From a1fd50ea9aaab1ae3a5d69446cf94ba6cc6117be Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sun, 14 Jan 2018 14:45:27 +0100 Subject: [PATCH 001/926] Simlified the extruder ticking code. --- Firmware/stepper.cpp | 30 ++++++++---------------------- Firmware/stepper.h | 14 -------------- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 38ece7eaf..5cf3d9080 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -634,34 +634,20 @@ void isr() { if ((out_bits & (1 << E_AXIS)) != 0) { // -direction //AKU + WRITE(E0_DIR_PIN, #ifdef SNMM - if (snmm_extruder == 0 || snmm_extruder == 2) - { - NORM_E_DIR(); - } - else - { - REV_E_DIR(); - } -#else - REV_E_DIR(); + (snmm_extruder == 0 || snmm_extruder == 2) ? !INVERT_E0_DIR : #endif // SNMM + INVERT_E0_DIR); count_direction[E_AXIS] = -1; } else { // +direction + WRITE(E0_DIR_PIN, #ifdef SNMM - if (snmm_extruder == 0 || snmm_extruder == 2) - { - REV_E_DIR(); - } - else - { - NORM_E_DIR(); - } -#else - NORM_E_DIR(); + (snmm_extruder == 0 || snmm_extruder == 2) ? INVERT_E0_DIR : #endif // SNMM + !INVERT_E0_DIR); count_direction[E_AXIS] = 1; } @@ -738,10 +724,10 @@ void isr() { #ifndef LIN_ADVANCE counter_e += current_block->steps_e; if (counter_e > 0) { - WRITE_E_STEP(!INVERT_E_STEP_PIN); + WRITE(E0_STEP_PIN, !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); + WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); #ifdef PAT9125 fsensor_counter++; #endif //PAT9125 diff --git a/Firmware/stepper.h b/Firmware/stepper.h index 9915de901..5ca68a391 100644 --- a/Firmware/stepper.h +++ b/Firmware/stepper.h @@ -23,20 +23,6 @@ #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 - #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 - #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 From 30b06488ca2d097366af4a1c7d3a47ac1743a58c Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sun, 14 Jan 2018 17:01:04 +0100 Subject: [PATCH 002/926] Redefined the DDA step and accumulator values to unions to support access to the low / high words of the 32bit values. This is a prerequisity for an optimized 16bit only DDA in case the number of step is lower than 32767. --- Firmware/planner.cpp | 108 +++++++++++++++++++++---------------------- Firmware/planner.h | 26 ++++++++++- Firmware/stepper.cpp | 83 +++++++++++++++++---------------- 3 files changed, 119 insertions(+), 98 deletions(-) diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index a5fa02610..5d0e703e0 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -227,8 +227,8 @@ void calculate_trapezoid_for_block(block_t *block, float entry_speed, float exit // 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 (accel_decel_steps < block->step_event_count) { - plateau_steps = block->step_event_count - accel_decel_steps; + if (accel_decel_steps < block->step_event_count.wide) { + plateau_steps = block->step_event_count.wide - accel_decel_steps; } else { uint32_t acceleration_x4 = acceleration << 2; // Avoid negative numbers @@ -240,26 +240,26 @@ void calculate_trapezoid_for_block(block_t *block, float entry_speed, float exit accelerate_steps = (block->step_event_count >> 1) + (final_rate_sqr - initial_rate_sqr + acceleration_x4 - 1 + (block->step_event_count & 1) * acceleration_x2) / acceleration_x4; #else accelerate_steps = final_rate_sqr - initial_rate_sqr + acceleration_x4 - 1; - if (block->step_event_count & 1) + if (block->step_event_count.wide & 1) accelerate_steps += acceleration_x2; accelerate_steps /= acceleration_x4; - accelerate_steps += (block->step_event_count >> 1); + accelerate_steps += (block->step_event_count.wide >> 1); #endif - if (accelerate_steps > block->step_event_count) - accelerate_steps = block->step_event_count; + if (accelerate_steps > block->step_event_count.wide) + accelerate_steps = block->step_event_count.wide; } else { #if 0 decelerate_steps = (block->step_event_count >> 1) + (initial_rate_sqr - final_rate_sqr + (block->step_event_count & 1) * acceleration_x2) / acceleration_x4; #else decelerate_steps = initial_rate_sqr - final_rate_sqr; - if (block->step_event_count & 1) + if (block->step_event_count.wide & 1) decelerate_steps += acceleration_x2; decelerate_steps /= acceleration_x4; - decelerate_steps += (block->step_event_count >> 1); + decelerate_steps += (block->step_event_count.wide >> 1); #endif - if (decelerate_steps > block->step_event_count) - decelerate_steps = block->step_event_count; - accelerate_steps = block->step_event_count - decelerate_steps; + if (decelerate_steps > block->step_event_count.wide) + decelerate_steps = block->step_event_count.wide; + accelerate_steps = block->step_event_count.wide - decelerate_steps; } } @@ -449,10 +449,10 @@ void getHighESpeed() 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; + if((block_buffer[block_index].steps_x.wide != 0) || + (block_buffer[block_index].steps_y.wide != 0) || + (block_buffer[block_index].steps_z.wide != 0)) { + float se=(float(block_buffer[block_index].steps_e.wide)/float(block_buffer[block_index].step_event_count.wide))*block_buffer[block_index].nominal_speed; //se; mm/sec; if(se>high) { @@ -493,10 +493,10 @@ void check_axes_activity() 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++; + if(block->steps_x.wide != 0) x_active++; + if(block->steps_y.wide != 0) y_active++; + if(block->steps_z.wide != 0) z_active++; + if(block->steps_e.wide != 0) e_active++; block_index = (block_index+1) & (BLOCK_BUFFER_SIZE - 1); } } @@ -769,26 +769,24 @@ void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate // 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]); +block->steps_x.wide = labs(target[X_AXIS]-position[X_AXIS]); +block->steps_y.wide = 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])); +block->steps_x.wide = labs((target[X_AXIS]-position[X_AXIS]) + (target[Y_AXIS]-position[Y_AXIS])); +block->steps_y.wide = 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_z.wide = labs(target[Z_AXIS]-position[Z_AXIS]); + block->steps_e.wide = labs(target[E_AXIS]-position[E_AXIS]); if (volumetric_multiplier[active_extruder] != 1.f) - block->steps_e *= volumetric_multiplier[active_extruder]; - if (extrudemultiply != 100) { - 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))); + block->steps_e.wide *= volumetric_multiplier[active_extruder]; + if (extrudemultiply != 100) + block->steps_e.wide *= extrudemultiply * 0.01; + block->step_event_count.wide = max(block->steps_x.wide, max(block->steps_y.wide, max(block->steps_z.wide, block->steps_e.wide))); // Bail if this is a zero-length block - if (block->step_event_count <= dropsegments) + if (block->step_event_count.wide <= dropsegments) { #ifdef PLANNER_DIAGNOSTICS planner_update_queue_min_counter(); @@ -832,21 +830,21 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi //enable active axes #ifdef COREXY - if((block->steps_x != 0) || (block->steps_y != 0)) + if((block->steps_x.wide != 0) || (block->steps_y.wide != 0)) { enable_x(); enable_y(); } #else - if(block->steps_x != 0) enable_x(); - if(block->steps_y != 0) enable_y(); + if(block->steps_x.wide != 0) enable_x(); + if(block->steps_y.wide != 0) enable_y(); #endif #ifndef Z_LATE_ENABLE - if(block->steps_z != 0) enable_z(); + if(block->steps_z.wide != 0) enable_z(); #endif // Enable extruder(s) - if(block->steps_e != 0) + if(block->steps_e.wide != 0) { if (DISABLE_INACTIVE_EXTRUDER) //enable only selected extruder { @@ -888,7 +886,7 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi } } - if (block->steps_e == 0) + if (block->steps_e.wide == 0) { if(feed_ratesteps_x <=dropsegments && block->steps_y <=dropsegments && block->steps_z <=dropsegments ) + if ( block->steps_x.wide <=dropsegments && block->steps_y.wide <=dropsegments && block->steps_z.wide <=dropsegments ) { block->millimeters = fabs(delta_mm[E_AXIS]); } @@ -950,7 +948,7 @@ Having the real displacement of the head, we can calculate the total movement le #endif // SLOWDOWN 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 + block->nominal_rate = ceil(block->step_event_count.wide * inverse_second); // (step/sec) Always > 0 #ifdef FILAMENT_SENSOR //FMM update ring buffer used for delay with filament measurements @@ -1027,8 +1025,8 @@ Having the real displacement of the head, we can calculate the total movement le // Compute and limit the acceleration rate for the trapezoid generator. // block->step_event_count ... event count of the fastest axis // block->millimeters ... Euclidian length of the XYZ movement or the E length, if no XYZ movement. - float steps_per_mm = block->step_event_count/block->millimeters; - if(block->steps_x == 0 && block->steps_y == 0 && block->steps_z == 0) + float steps_per_mm = block->step_event_count.wide/block->millimeters; + if(block->steps_x.wide == 0 && block->steps_y.wide == 0 && block->steps_z.wide == 0) { block->acceleration_st = ceil(retract_acceleration * steps_per_mm); // convert to: acceleration steps/sec^2 } @@ -1038,29 +1036,29 @@ Having the real displacement of the head, we can calculate the total movement le #ifdef TMC2130 if (tmc2130_mode == TMC2130_MODE_SILENT) { - if(((float)block->acceleration_st * (float)block->steps_x / (float)block->step_event_count) > SILENT_MAX_ACCEL_X_ST) + if(((float)block->acceleration_st * (float)block->steps_x.wide / (float)block->step_event_count.wide) > SILENT_MAX_ACCEL_X_ST) block->acceleration_st = SILENT_MAX_ACCEL_X_ST; - if(((float)block->acceleration_st * (float)block->steps_y / (float)block->step_event_count) > SILENT_MAX_ACCEL_Y_ST) + if(((float)block->acceleration_st * (float)block->steps_y.wide / (float)block->step_event_count.wide) > SILENT_MAX_ACCEL_Y_ST) block->acceleration_st = SILENT_MAX_ACCEL_Y_ST; } - if(((float)block->acceleration_st * (float)block->steps_x / (float)block->step_event_count) > axis_steps_per_sqr_second[X_AXIS]) + if(((float)block->acceleration_st * (float)block->steps_x.wide / (float)block->step_event_count.wide) > 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]) + if(((float)block->acceleration_st * (float)block->steps_y.wide / (float)block->step_event_count.wide) > 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]) + if(((float)block->acceleration_st * (float)block->steps_e.wide / (float)block->step_event_count.wide) > 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]) + if(((float)block->acceleration_st * (float)block->steps_z.wide / (float)block->step_event_count.wide ) > axis_steps_per_sqr_second[Z_AXIS]) block->acceleration_st = axis_steps_per_sqr_second[Z_AXIS]; #else //TMC2130 // Limit acceleration per axis //FIXME Vojtech: One shall rather limit a projection of the acceleration vector instead of using the limit. - if(((float)block->acceleration_st * (float)block->steps_x / (float)block->step_event_count) > axis_steps_per_sqr_second[X_AXIS]) + if(((float)block->acceleration_st * (float)block->steps_x.wide / (float)block->step_event_count.wide) > 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]) + if(((float)block->acceleration_st * (float)block->steps_y.wide / (float)block->step_event_count.wide) > 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]) + if(((float)block->acceleration_st * (float)block->steps_e.wide / (float)block->step_event_count.wide) > 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]) + if(((float)block->acceleration_st * (float)block->steps_z.wide / (float)block->step_event_count.wide ) > axis_steps_per_sqr_second[Z_AXIS]) block->acceleration_st = axis_steps_per_sqr_second[Z_AXIS]; #endif //TMC2130 } @@ -1218,10 +1216,10 @@ Having the real displacement of the head, we can calculate the total movement le // The math is good, but we must avoid retract moves with advance! // de_float > 0.0 : Extruder is running forward (e.g., for "Wipe while retracting" (Slic3r) or "Combing" (Cura) moves) // - block->use_advance_lead = block->steps_e - && (block->steps_x || block->steps_y) + block->use_advance_lead = block->steps_e.wide + && (block->steps_x.wide || block->steps_y.wide) && extruder_advance_k - && (uint32_t)block->steps_e != block->step_event_count + && (uint32_t)block->steps_e.wide != block->step_event_count.wide && de_float > 0.0; if (block->use_advance_lead) block->abs_adv_steps_multiplier8 = lround( diff --git a/Firmware/planner.h b/Firmware/planner.h index 3b9e65a1c..91c5c5fa2 100644 --- a/Firmware/planner.h +++ b/Firmware/planner.h @@ -40,6 +40,28 @@ enum BlockFlag { // If set, the machine will start from a halt at the start of this block, // respecting the maximum allowed jerk. BLOCK_FLAG_START_FROM_FULL_HALT = 4, + // If set, the stepper interrupt expects, that the number of steps to tick will be lower + // than 32767, therefore the DDA algorithm may run with 16bit resolution only. + // In addition, the stepper routine will not do any end stop checking for higher performance. + BLOCK_FLAG_DDA_LOWRES = 8, +}; + +union dda_isteps_t +{ + int32_t wide; + struct { + uint16_t lo; + int16_t hi; + }; +}; + +union dda_usteps_t +{ + uint32_t wide; + struct { + uint16_t lo; + uint16_t hi; + }; }; // This struct is used when buffering the setup for each linear movement "nominal" values are as specified in @@ -47,8 +69,8 @@ enum BlockFlag { typedef struct { // Fields used by the bresenham algorithm for tracing the line // steps_x.y,z, step_event_count, acceleration_rate, direction_bits and active_extruder are set by plan_buffer_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 + dda_isteps_t steps_x, steps_y, steps_z, steps_e; // Step count along each axis + dda_usteps_t step_event_count; // The number of step events required to complete this block 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 diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 5cf3d9080..4b53ee89e 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -62,11 +62,12 @@ bool z_max_endstop = false; // Variables used by The Stepper Driver Interrupt static unsigned char out_bits; // The next stepping-bits to be output -static int32_t counter_x, // Counter variables for the bresenham line tracer +static dda_isteps_t + counter_x, // Counter variables for the bresenham line tracer counter_y, counter_z, counter_e; -volatile uint32_t step_events_completed; // The number of step events executed in the current block +volatile dda_usteps_t step_events_completed; // The number of step events executed in the current block static int32_t acceleration_time, deceleration_time; //static unsigned long accelerate_until, decelerate_after, acceleration_rate, initial_rate, final_rate, nominal_rate; static uint16_t acc_step_rate; // needed for deccelaration start point @@ -404,14 +405,14 @@ void isr() { // The busy flag is set by the plan_get_current_block() call. // 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; + counter_x.wide = -(current_block->step_event_count.wide >> 1); + counter_y.wide = counter_x.wide; + counter_z.wide = counter_x.wide; + counter_e.wide = counter_x.wide; + step_events_completed.wide = 0; #ifdef Z_LATE_ENABLE - if(current_block->steps_z > 0) { + if(current_block->steps_z.wide > 0) { enable_z(); _NEXT_ISR(2000); //1ms wait return; @@ -476,10 +477,10 @@ void isr() { // Normal homing x_min_endstop = (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING); #endif - if(x_min_endstop && old_x_min_endstop && (current_block->steps_x > 0)) { + if(x_min_endstop && old_x_min_endstop && (current_block->steps_x.wide > 0)) { endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; endstop_x_hit=true; - step_events_completed = current_block->step_event_count; + step_events_completed.wide = current_block->step_event_count.wide; } old_x_min_endstop = x_min_endstop; #endif @@ -499,10 +500,10 @@ void isr() { // Normal homing x_max_endstop = (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING); #endif - if(x_max_endstop && old_x_max_endstop && (current_block->steps_x > 0)){ + if(x_max_endstop && old_x_max_endstop && (current_block->steps_x.wide > 0)){ endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; endstop_x_hit=true; - step_events_completed = current_block->step_event_count; + step_events_completed.wide = current_block->step_event_count.wide; } old_x_max_endstop = x_max_endstop; #endif @@ -527,10 +528,10 @@ void isr() { // Normal homing y_min_endstop = (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING); #endif - if(y_min_endstop && old_y_min_endstop && (current_block->steps_y > 0)) { + if(y_min_endstop && old_y_min_endstop && (current_block->steps_y.wide > 0)) { endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; endstop_y_hit=true; - step_events_completed = current_block->step_event_count; + step_events_completed.wide = current_block->step_event_count.wide; } old_y_min_endstop = y_min_endstop; #endif @@ -548,10 +549,10 @@ void isr() { // Normal homing y_max_endstop = (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING); #endif - if(y_max_endstop && old_y_max_endstop && (current_block->steps_y > 0)){ + if(y_max_endstop && old_y_max_endstop && (current_block->steps_y.wide > 0)){ endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; endstop_y_hit=true; - step_events_completed = current_block->step_event_count; + step_events_completed.wide = current_block->step_event_count.wide; } old_y_max_endstop = y_max_endstop; #endif @@ -575,10 +576,10 @@ void isr() { #else z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); #endif //TMC2130_SG_HOMING - if(z_min_endstop && old_z_min_endstop && (current_block->steps_z > 0)) { + if(z_min_endstop && old_z_min_endstop && (current_block->steps_z.wide > 0)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; endstop_z_hit=true; - step_events_completed = current_block->step_event_count; + step_events_completed.wide = current_block->step_event_count.wide; } old_z_min_endstop = z_min_endstop; #endif @@ -601,10 +602,10 @@ void isr() { #else z_max_endstop = (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING); #endif //TMC2130_SG_HOMING - if(z_max_endstop && old_z_max_endstop && (current_block->steps_z > 0)) { + if(z_max_endstop && old_z_max_endstop && (current_block->steps_z.wide > 0)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; endstop_z_hit=true; - step_events_completed = current_block->step_event_count; + step_events_completed.wide = current_block->step_event_count.wide; } old_z_max_endstop = z_max_endstop; #endif @@ -625,7 +626,7 @@ void isr() { if(z_min_endstop && old_z_min_endstop) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; endstop_z_hit=true; - step_events_completed = current_block->step_event_count; + step_events_completed.wide = current_block->step_event_count.wide; } old_z_min_endstop = z_min_endstop; } @@ -657,22 +658,22 @@ void isr() { #endif //RP - returned, because missing characters #ifdef LIN_ADVANCE - counter_e += current_block->steps_e; - if (counter_e > 0) { - counter_e -= current_block->step_event_count; + counter_e.wide += current_block->steps_e.wide; + if (counter_e.wide > 0) { + counter_e.wide -= current_block->step_event_count.wide; count_position[E_AXIS] += count_direction[E_AXIS]; ((out_bits&(1<steps_x; - if (counter_x > 0) { + counter_x.wide += current_block->steps_x.wide; + if (counter_x.wide > 0) { WRITE_NC(X_STEP_PIN, !INVERT_X_STEP_PIN); LastStepMask |= X_AXIS_MASK; #ifdef DEBUG_XSTEP_DUP_PIN WRITE_NC(DEBUG_XSTEP_DUP_PIN,!INVERT_X_STEP_PIN); #endif //DEBUG_XSTEP_DUP_PIN - counter_x -= current_block->step_event_count; + counter_x.wide -= current_block->step_event_count.wide; count_position[X_AXIS]+=count_direction[X_AXIS]; WRITE_NC(X_STEP_PIN, INVERT_X_STEP_PIN); #ifdef DEBUG_XSTEP_DUP_PIN @@ -680,8 +681,8 @@ void isr() { #endif //DEBUG_XSTEP_DUP_PIN } - counter_y += current_block->steps_y; - if (counter_y > 0) { + counter_y.wide += current_block->steps_y.wide; + if (counter_y.wide > 0) { WRITE_NC(Y_STEP_PIN, !INVERT_Y_STEP_PIN); LastStepMask |= Y_AXIS_MASK; #ifdef DEBUG_YSTEP_DUP_PIN @@ -692,7 +693,7 @@ void isr() { WRITE_NC(Y2_STEP_PIN, !INVERT_Y_STEP_PIN); #endif - counter_y -= current_block->step_event_count; + counter_y.wide -= current_block->step_event_count.wide; count_position[Y_AXIS]+=count_direction[Y_AXIS]; WRITE_NC(Y_STEP_PIN, INVERT_Y_STEP_PIN); #ifdef DEBUG_YSTEP_DUP_PIN @@ -704,15 +705,15 @@ void isr() { #endif } - counter_z += current_block->steps_z; - if (counter_z > 0) { + counter_z.wide += current_block->steps_z.wide; + if (counter_z.wide > 0) { WRITE_NC(Z_STEP_PIN, !INVERT_Z_STEP_PIN); LastStepMask |= Z_AXIS_MASK; #ifdef Z_DUAL_STEPPER_DRIVERS WRITE_NC(Z2_STEP_PIN, !INVERT_Z_STEP_PIN); #endif - counter_z -= current_block->step_event_count; + counter_z.wide -= current_block->step_event_count.wide; count_position[Z_AXIS]+=count_direction[Z_AXIS]; WRITE_NC(Z_STEP_PIN, INVERT_Z_STEP_PIN); @@ -722,10 +723,10 @@ void isr() { } #ifndef LIN_ADVANCE - counter_e += current_block->steps_e; - if (counter_e > 0) { + counter_e.wide += current_block->steps_e.wide; + if (counter_e.wide > 0) { WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN); - counter_e -= current_block->step_event_count; + counter_e.wide -= current_block->step_event_count.wide; count_position[E_AXIS]+=count_direction[E_AXIS]; WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); #ifdef PAT9125 @@ -734,8 +735,8 @@ void isr() { } #endif - step_events_completed += 1; - if(step_events_completed >= current_block->step_event_count) break; + ++ step_events_completed.wide; + if(step_events_completed.wide >= current_block->step_event_count.wide) break; } #ifdef LIN_ADVANCE if (current_block->use_advance_lead) { @@ -750,7 +751,7 @@ void isr() { // Calculare new timer value unsigned short timer; uint16_t step_rate; - if (step_events_completed <= (unsigned long int)current_block->accelerate_until) { + if (step_events_completed.wide <= (unsigned long int)current_block->accelerate_until) { // v = t * a -> acc_step_rate = acceleration_time * current_block->acceleration_rate MultiU24X24toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); acc_step_rate += current_block->initial_rate; @@ -771,7 +772,7 @@ void isr() { eISR_Rate = ADV_RATE(timer, step_loops); #endif } - else if (step_events_completed > (unsigned long int)current_block->decelerate_after) { + else if (step_events_completed.wide > (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 @@ -811,7 +812,7 @@ void isr() { } // If current block is finished, reset pointer - if (step_events_completed >= current_block->step_event_count) { + if (step_events_completed.wide >= current_block->step_event_count.wide) { #ifdef PAT9125 fsensor_st_block_chunk(current_block, fsensor_counter); From 7a972fd9b07f3a6885ba06f5f7cc8f282361b50c Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sun, 14 Jan 2018 22:37:07 +0100 Subject: [PATCH 003/926] Split the stepper ISR routine into multiple inline functions, added an optimized DDA routine for moves with less than 32767 ticks. --- Firmware/planner.cpp | 5 +- Firmware/planner.h | 4 +- Firmware/stepper.cpp | 635 ++++++++++++++++++++++--------------------- 3 files changed, 331 insertions(+), 313 deletions(-) diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index 5d0e703e0..41a4e8ea3 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -839,9 +839,7 @@ block->steps_y.wide = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-p if(block->steps_x.wide != 0) enable_x(); if(block->steps_y.wide != 0) enable_y(); #endif -#ifndef Z_LATE_ENABLE if(block->steps_z.wide != 0) enable_z(); -#endif // Enable extruder(s) if(block->steps_e.wide != 0) @@ -1234,6 +1232,9 @@ Having the real displacement of the head, we can calculate the total movement le block->speed_factor = block->nominal_rate / block->nominal_speed; calculate_trapezoid_for_block(block, block->entry_speed, safe_speed); + if (block->step_event_count.wide <= 32767) + block->flag |= BLOCK_FLAG_DDA_LOWRES; + // Move the buffer head. From now the block may be picked up by the stepper interrupt controller. block_buffer_head = next_buffer_head; diff --git a/Firmware/planner.h b/Firmware/planner.h index 91c5c5fa2..ecac73d18 100644 --- a/Firmware/planner.h +++ b/Firmware/planner.h @@ -50,7 +50,7 @@ union dda_isteps_t { int32_t wide; struct { - uint16_t lo; + int16_t lo; int16_t hi; }; }; @@ -94,7 +94,7 @@ typedef struct { float acceleration; // Bit flags defined by the BlockFlag enum. - bool flag; + uint8_t flag; // Settings for the trapezoid generator (runs inside an interrupt handler). // Changing the following values in the planner needs to be synchronized with the interrupt handler by disabling the interrupts. diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 4b53ee89e..bb020c44e 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -135,8 +135,6 @@ extern bool stepper_timer_overflow_state; //=============================functions ============================ //=========================================================================== -#define CHECK_ENDSTOPS if(check_endstops) - #ifndef _NO_ASM // intRes = intIn1 * intIn2 >> 16 @@ -320,7 +318,7 @@ void step_wait(){ } -FORCE_INLINE unsigned short calc_timer(unsigned short step_rate) { +FORCE_INLINE unsigned short calc_timer(uint16_t step_rate) { unsigned short timer; if(step_rate > MAX_STEP_FREQUENCY) step_rate = MAX_STEP_FREQUENCY; @@ -361,10 +359,10 @@ FORCE_INLINE unsigned short calc_timer(unsigned short step_rate) { FORCE_INLINE void trapezoid_generator_reset() { deceleration_time = 0; // step_rate to timer interval - OCR1A_nominal = calc_timer(current_block->nominal_rate); + OCR1A_nominal = calc_timer(uint16_t(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; + acc_step_rate = uint16_t(current_block->initial_rate); acceleration_time = calc_timer(acc_step_rate); _NEXT_ISR(acceleration_time); @@ -374,7 +372,6 @@ FORCE_INLINE void trapezoid_generator_reset() { final_estep_rate = (current_block->nominal_rate * current_block->abs_adv_steps_multiplier8) >> 17; } #endif - } // "The Stepper Driver Interrupt" - This timer interrupt is the workhorse. @@ -391,157 +388,144 @@ ISR(TIMER1_COMPA_vect) { #endif } -void isr() { - //if (UVLO) uvlo(); - // 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) { +FORCE_INLINE void stepper_next_block() +{ + // Anything in the buffer? + current_block = plan_get_current_block(); + if (current_block != NULL) { #ifdef PAT9125 - fsensor_counter = 0; - fsensor_st_block_begin(current_block); + fsensor_counter = 0; + fsensor_st_block_begin(current_block); #endif //PAT9125 - // The busy flag is set by the plan_get_current_block() call. - // current_block->busy = true; - trapezoid_generator_reset(); + // The busy flag is set by the plan_get_current_block() call. + // current_block->busy = true; + trapezoid_generator_reset(); + if (current_block->flag & BLOCK_FLAG_DDA_LOWRES) { + counter_x.lo = -(current_block->step_event_count.lo >> 1); + counter_y.lo = counter_x.lo; + counter_z.lo = counter_x.lo; + counter_e.lo = counter_x.lo; + } else { counter_x.wide = -(current_block->step_event_count.wide >> 1); counter_y.wide = counter_x.wide; counter_z.wide = counter_x.wide; counter_e.wide = counter_x.wide; - step_events_completed.wide = 0; - - #ifdef Z_LATE_ENABLE - if(current_block->steps_z.wide > 0) { - enable_z(); - _NEXT_ISR(2000); //1ms wait - return; - } - #endif } - else { - _NEXT_ISR(2000); // 1kHz. - } - } - - LastStepMask = 0; - - if (current_block != NULL) { - // Set directions TO DO This should be done once during init of trapezoid. Endstops -> interrupt + step_events_completed.wide = 0; + // Set directions. 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< -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMINLIMIT) - - #ifdef TMC2130_SG_HOMING - // Stall guard homing turned on - x_min_endstop = (READ(X_TMC2130_DIAG) != 0); - #else - // Normal homing - x_min_endstop = (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING); - #endif - if(x_min_endstop && old_x_min_endstop && (current_block->steps_x.wide > 0)) { - endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; - endstop_x_hit=true; - step_events_completed.wide = current_block->step_event_count.wide; - } - old_x_min_endstop = x_min_endstop; - #endif - } - } + if ((out_bits & (1< -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMAXLIMIT) - - #ifdef TMC2130_SG_HOMING - // Stall guard homing turned on - x_max_endstop = (READ(X_TMC2130_DIAG) != 0); - #else - // Normal homing - x_max_endstop = (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING); - #endif - if(x_max_endstop && old_x_max_endstop && (current_block->steps_x.wide > 0)){ - endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; - endstop_x_hit=true; - step_events_completed.wide = current_block->step_event_count.wide; - } - old_x_max_endstop = x_max_endstop; - #endif - } - } +#ifndef LIN_ADVANCE + if ((out_bits & (1 << E_AXIS)) != 0) { // -direction + WRITE(E0_DIR_PIN, + #ifdef SNMM + (snmm_extruder == 0 || snmm_extruder == 2) ? !INVERT_E0_DIR : + #endif // SNMM + INVERT_E0_DIR); + count_direction[E_AXIS] = -1; + } else { // +direction + WRITE(E0_DIR_PIN, + #ifdef SNMM + (snmm_extruder == 0 || snmm_extruder == 2) ? INVERT_E0_DIR : + #endif // SNMM + !INVERT_E0_DIR); + count_direction[E_AXIS] = 1; } +#endif /* LIN_ADVANCE */ + } + else { + _NEXT_ISR(2000); // 1kHz. + } +} +// Check limit switches. +FORCE_INLINE void stepper_check_endstops() +{ + if(check_endstops) + { #ifndef COREXY - if ((out_bits & (1< -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMINLIMIT) - + { + #if ( (defined(X_MIN_PIN) && (X_MIN_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMINLIMIT) + #ifdef TMC2130_SG_HOMING + // Stall guard homing turned on + x_min_endstop = (READ(X_TMC2130_DIAG) != 0); + #else + // Normal homing + x_min_endstop = (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING); + #endif + if(x_min_endstop && old_x_min_endstop && (current_block->steps_x.wide > 0)) { + endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; + endstop_x_hit=true; + step_events_completed.wide = current_block->step_event_count.wide; + } + old_x_min_endstop = x_min_endstop; + #endif + } else { // +direction + #if ( (defined(X_MAX_PIN) && (X_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - y_min_endstop = (READ(Y_TMC2130_DIAG) != 0); + x_max_endstop = (READ(X_TMC2130_DIAG) != 0); #else // Normal homing - y_min_endstop = (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING); + x_max_endstop = (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING); #endif - if(y_min_endstop && old_y_min_endstop && (current_block->steps_y.wide > 0)) { - endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; - endstop_y_hit=true; - step_events_completed.wide = current_block->step_event_count.wide; - } - old_y_min_endstop = y_min_endstop; - #endif - } + if(x_max_endstop && old_x_max_endstop && (current_block->steps_x.wide > 0)){ + endstops_trigsteps[X_AXIS] = count_position[X_AXIS]; + endstop_x_hit=true; + step_events_completed.wide = current_block->step_event_count.wide; + } + old_x_max_endstop = x_max_endstop; + #endif } - else { // +direction - CHECK_ENDSTOPS - { - #if ( (defined(Y_MAX_PIN) && (Y_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMAXLIMIT) - + + #ifndef COREXY + if ((out_bits & (1< -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMINLIMIT) + #ifdef TMC2130_SG_HOMING + // Stall guard homing turned on + y_min_endstop = (READ(Y_TMC2130_DIAG) != 0); + #else + // Normal homing + y_min_endstop = (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING); + #endif + if(y_min_endstop && old_y_min_endstop && (current_block->steps_y.wide > 0)) { + endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; + endstop_y_hit=true; + step_events_completed.wide = current_block->step_event_count.wide; + } + old_y_min_endstop = y_min_endstop; + #endif + } else { // +direction + #if ( (defined(Y_MAX_PIN) && (Y_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on y_max_endstop = (READ(Y_TMC2130_DIAG) != 0); @@ -549,195 +533,226 @@ void isr() { // Normal homing y_max_endstop = (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING); #endif - if(y_max_endstop && old_y_max_endstop && (current_block->steps_y.wide > 0)){ - endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; - endstop_y_hit=true; - step_events_completed.wide = current_block->step_event_count.wide; - } - old_y_max_endstop = y_max_endstop; - #endif - } - } - - if ((out_bits & (1<steps_y.wide > 0)){ + endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS]; + endstop_y_hit=true; + step_events_completed.wide = current_block->step_event_count.wide; + } + old_y_max_endstop = y_max_endstop; #endif - - count_direction[Z_AXIS]=-1; - if(check_endstops && ! check_z_endstop) - { - #if defined(Z_MIN_PIN) && (Z_MIN_PIN > -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) - #ifdef TMC2130_SG_HOMING - // Stall guard homing turned on - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); - #else - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); - #endif //TMC2130_SG_HOMING - if(z_min_endstop && old_z_min_endstop && (current_block->steps_z.wide > 0)) { - endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_z_hit=true; - step_events_completed.wide = current_block->step_event_count.wide; - } - old_z_min_endstop = z_min_endstop; - #endif - } - } - else { // +direction - WRITE_NC(Z_DIR_PIN,!INVERT_Z_DIR); - - #ifdef Z_DUAL_STEPPER_DRIVERS - WRITE_NC(Z2_DIR_PIN,!INVERT_Z_DIR); - #endif - - count_direction[Z_AXIS]=1; - CHECK_ENDSTOPS - { - #if defined(Z_MAX_PIN) && (Z_MAX_PIN > -1) && !defined(DEBUG_DISABLE_ZMAXLIMIT) - #ifdef TMC2130_SG_HOMING - // Stall guard homing turned on - z_max_endstop = (READ(Z_TMC2130_DIAG) != 0); - #else - z_max_endstop = (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING); - #endif //TMC2130_SG_HOMING - if(z_max_endstop && old_z_max_endstop && (current_block->steps_z.wide > 0)) { - endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; - endstop_z_hit=true; - step_events_completed.wide = current_block->step_event_count.wide; - } - old_z_max_endstop = z_max_endstop; - #endif - } } - // Supporting stopping on a trigger of the Z-stop induction sensor, not only for the Z-minus movements. - #if defined(Z_MIN_PIN) && (Z_MIN_PIN > -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) - if(check_z_endstop) { - // Check the Z min end-stop no matter what. - // Good for searching for the center of an induction target. - #ifdef TMC2130_SG_HOMING - // Stall guard homing turned on - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); - #else - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); - #endif //TMC2130_SG_HOMING - if(z_min_endstop && old_z_min_endstop) { + if ((out_bits & (1< -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) + if (check_z_endstop) { + #ifdef TMC2130_SG_HOMING + // Stall guard homing turned on + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); + #else + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + #endif //TMC2130_SG_HOMING + if(z_min_endstop && old_z_min_endstop && (current_block->steps_z.wide > 0)) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; endstop_z_hit=true; step_events_completed.wide = current_block->step_event_count.wide; } old_z_min_endstop = z_min_endstop; - } - #endif - - if ((out_bits & (1 << E_AXIS)) != 0) - { // -direction - //AKU - WRITE(E0_DIR_PIN, -#ifdef SNMM - (snmm_extruder == 0 || snmm_extruder == 2) ? !INVERT_E0_DIR : -#endif // SNMM - INVERT_E0_DIR); - count_direction[E_AXIS] = -1; - } - else - { // +direction - WRITE(E0_DIR_PIN, -#ifdef SNMM - (snmm_extruder == 0 || snmm_extruder == 2) ? INVERT_E0_DIR : -#endif // SNMM - !INVERT_E0_DIR); - count_direction[E_AXIS] = 1; - } - - for(uint8_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 //RP - returned, because missing characters - -#ifdef LIN_ADVANCE - counter_e.wide += current_block->steps_e.wide; - if (counter_e.wide > 0) { - counter_e.wide -= current_block->step_event_count.wide; - count_position[E_AXIS] += count_direction[E_AXIS]; - ((out_bits&(1<steps_x.wide; - if (counter_x.wide > 0) { - WRITE_NC(X_STEP_PIN, !INVERT_X_STEP_PIN); - LastStepMask |= X_AXIS_MASK; -#ifdef DEBUG_XSTEP_DUP_PIN - WRITE_NC(DEBUG_XSTEP_DUP_PIN,!INVERT_X_STEP_PIN); -#endif //DEBUG_XSTEP_DUP_PIN - counter_x.wide -= current_block->step_event_count.wide; - count_position[X_AXIS]+=count_direction[X_AXIS]; - WRITE_NC(X_STEP_PIN, INVERT_X_STEP_PIN); -#ifdef DEBUG_XSTEP_DUP_PIN - WRITE_NC(DEBUG_XSTEP_DUP_PIN,INVERT_X_STEP_PIN); -#endif //DEBUG_XSTEP_DUP_PIN - } - - counter_y.wide += current_block->steps_y.wide; - if (counter_y.wide > 0) { - WRITE_NC(Y_STEP_PIN, !INVERT_Y_STEP_PIN); - LastStepMask |= Y_AXIS_MASK; -#ifdef DEBUG_YSTEP_DUP_PIN - WRITE_NC(DEBUG_YSTEP_DUP_PIN,!INVERT_Y_STEP_PIN); -#endif //DEBUG_YSTEP_DUP_PIN - - #ifdef Y_DUAL_STEPPER_DRIVERS - WRITE_NC(Y2_STEP_PIN, !INVERT_Y_STEP_PIN); - #endif - - counter_y.wide -= current_block->step_event_count.wide; - count_position[Y_AXIS]+=count_direction[Y_AXIS]; - WRITE_NC(Y_STEP_PIN, INVERT_Y_STEP_PIN); -#ifdef DEBUG_YSTEP_DUP_PIN - WRITE_NC(DEBUG_YSTEP_DUP_PIN,INVERT_Y_STEP_PIN); -#endif //DEBUG_YSTEP_DUP_PIN - - #ifdef Y_DUAL_STEPPER_DRIVERS - WRITE_NC(Y2_STEP_PIN, INVERT_Y_STEP_PIN); - #endif - } - - counter_z.wide += current_block->steps_z.wide; - if (counter_z.wide > 0) { - WRITE_NC(Z_STEP_PIN, !INVERT_Z_STEP_PIN); - LastStepMask |= Z_AXIS_MASK; - #ifdef Z_DUAL_STEPPER_DRIVERS - WRITE_NC(Z2_STEP_PIN, !INVERT_Z_STEP_PIN); - #endif - - counter_z.wide -= current_block->step_event_count.wide; - count_position[Z_AXIS]+=count_direction[Z_AXIS]; - WRITE_NC(Z_STEP_PIN, INVERT_Z_STEP_PIN); - - #ifdef Z_DUAL_STEPPER_DRIVERS - WRITE_NC(Z2_STEP_PIN, INVERT_Z_STEP_PIN); - #endif } - -#ifndef LIN_ADVANCE - counter_e.wide += current_block->steps_e.wide; - if (counter_e.wide > 0) { - WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN); - counter_e.wide -= current_block->step_event_count.wide; - count_position[E_AXIS]+=count_direction[E_AXIS]; - WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); -#ifdef PAT9125 - fsensor_counter++; -#endif //PAT9125 + #endif + } else { // +direction + #if defined(Z_MAX_PIN) && (Z_MAX_PIN > -1) && !defined(DEBUG_DISABLE_ZMAXLIMIT) + #ifdef TMC2130_SG_HOMING + // Stall guard homing turned on + z_max_endstop = (READ(Z_TMC2130_DIAG) != 0); + #else + z_max_endstop = (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING); + #endif //TMC2130_SG_HOMING + if(z_max_endstop && old_z_max_endstop && (current_block->steps_z.wide > 0)) { + endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; + endstop_z_hit=true; + step_events_completed.wide = current_block->step_event_count.wide; } -#endif - - ++ step_events_completed.wide; - if(step_events_completed.wide >= current_block->step_event_count.wide) break; + old_z_max_endstop = z_max_endstop; + #endif } + } + + // Supporting stopping on a trigger of the Z-stop induction sensor, not only for the Z-minus movements. + #if defined(Z_MIN_PIN) && (Z_MIN_PIN > -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) + if (check_z_endstop) { + // Check the Z min end-stop no matter what. + // Good for searching for the center of an induction target. + #ifdef TMC2130_SG_HOMING + // Stall guard homing turned on + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); + #else + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + #endif //TMC2130_SG_HOMING + if(z_min_endstop && old_z_min_endstop) { + endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; + endstop_z_hit=true; + step_events_completed.wide = current_block->step_event_count.wide; + } + old_z_min_endstop = z_min_endstop; + } + #endif +} + +FORCE_INLINE void stepper_tick_lowres() +{ + for (uint8_t i=0; i < step_loops; ++ i) { // Take multiple steps per interrupt (For high speed moves) + MSerial.checkRx(); // Check for serial chars. +#ifdef LIN_ADVANCE + counter_e.lo += current_block->steps_e.lo; + if (counter_e.lo > 0) { + counter_e.lo -= current_block->step_event_count.lo; + count_position[E_AXIS] += count_direction[E_AXIS]; + ((out_bits&(1<steps_x.lo; + if (counter_x.lo > 0) { + WRITE_NC(X_STEP_PIN, !INVERT_X_STEP_PIN); + LastStepMask |= X_AXIS_MASK; +#ifdef DEBUG_XSTEP_DUP_PIN + WRITE_NC(DEBUG_XSTEP_DUP_PIN,!INVERT_X_STEP_PIN); +#endif //DEBUG_XSTEP_DUP_PIN + counter_x.lo -= current_block->step_event_count.lo; + count_position[X_AXIS]+=count_direction[X_AXIS]; + WRITE_NC(X_STEP_PIN, INVERT_X_STEP_PIN); +#ifdef DEBUG_XSTEP_DUP_PIN + WRITE_NC(DEBUG_XSTEP_DUP_PIN,INVERT_X_STEP_PIN); +#endif //DEBUG_XSTEP_DUP_PIN + } + // Step in Y axis + counter_y.lo += current_block->steps_y.lo; + if (counter_y.lo > 0) { + WRITE_NC(Y_STEP_PIN, !INVERT_Y_STEP_PIN); + LastStepMask |= Y_AXIS_MASK; +#ifdef DEBUG_YSTEP_DUP_PIN + WRITE_NC(DEBUG_YSTEP_DUP_PIN,!INVERT_Y_STEP_PIN); +#endif //DEBUG_YSTEP_DUP_PIN + counter_y.lo -= current_block->step_event_count.lo; + count_position[Y_AXIS]+=count_direction[Y_AXIS]; + WRITE_NC(Y_STEP_PIN, INVERT_Y_STEP_PIN); +#ifdef DEBUG_YSTEP_DUP_PIN + WRITE_NC(DEBUG_YSTEP_DUP_PIN,INVERT_Y_STEP_PIN); +#endif //DEBUG_YSTEP_DUP_PIN + } + // Step in Z axis + counter_z.lo += current_block->steps_z.lo; + if (counter_z.lo > 0) { + WRITE_NC(Z_STEP_PIN, !INVERT_Z_STEP_PIN); + LastStepMask |= Z_AXIS_MASK; + counter_z.lo -= current_block->step_event_count.lo; + count_position[Z_AXIS]+=count_direction[Z_AXIS]; + WRITE_NC(Z_STEP_PIN, INVERT_Z_STEP_PIN); + } +#ifndef LIN_ADVANCE + // Step in E axis + counter_e.lo += current_block->steps_e.lo; + if (counter_e.lo > 0) { + WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN); + counter_e.lo -= current_block->step_event_count.lo; + count_position[E_AXIS]+=count_direction[E_AXIS]; + WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); +#ifdef PAT9125 + ++ fsensor_counter; +#endif //PAT9125 + } +#endif + if(++ step_events_completed.lo >= current_block->step_event_count.lo) + break; + } +} + +FORCE_INLINE void stepper_tick_highres() +{ + for (uint8_t i=0; i < step_loops; ++ i) { // Take multiple steps per interrupt (For high speed moves) + MSerial.checkRx(); // Check for serial chars. +#ifdef LIN_ADVANCE + counter_e.wide += current_block->steps_e.wide; + if (counter_e.wide > 0) { + counter_e.wide -= current_block->step_event_count.wide; + count_position[E_AXIS] += count_direction[E_AXIS]; + ((out_bits&(1<steps_x.wide; + if (counter_x.wide > 0) { + WRITE_NC(X_STEP_PIN, !INVERT_X_STEP_PIN); + LastStepMask |= X_AXIS_MASK; +#ifdef DEBUG_XSTEP_DUP_PIN + WRITE_NC(DEBUG_XSTEP_DUP_PIN,!INVERT_X_STEP_PIN); +#endif //DEBUG_XSTEP_DUP_PIN + counter_x.wide -= current_block->step_event_count.wide; + count_position[X_AXIS]+=count_direction[X_AXIS]; + WRITE_NC(X_STEP_PIN, INVERT_X_STEP_PIN); +#ifdef DEBUG_XSTEP_DUP_PIN + WRITE_NC(DEBUG_XSTEP_DUP_PIN,INVERT_X_STEP_PIN); +#endif //DEBUG_XSTEP_DUP_PIN + } + // Step in Y axis + counter_y.wide += current_block->steps_y.wide; + if (counter_y.wide > 0) { + WRITE_NC(Y_STEP_PIN, !INVERT_Y_STEP_PIN); + LastStepMask |= Y_AXIS_MASK; +#ifdef DEBUG_YSTEP_DUP_PIN + WRITE_NC(DEBUG_YSTEP_DUP_PIN,!INVERT_Y_STEP_PIN); +#endif //DEBUG_YSTEP_DUP_PIN + counter_y.wide -= current_block->step_event_count.wide; + count_position[Y_AXIS]+=count_direction[Y_AXIS]; + WRITE_NC(Y_STEP_PIN, INVERT_Y_STEP_PIN); +#ifdef DEBUG_YSTEP_DUP_PIN + WRITE_NC(DEBUG_YSTEP_DUP_PIN,INVERT_Y_STEP_PIN); +#endif //DEBUG_YSTEP_DUP_PIN + } + // Step in Z axis + counter_z.wide += current_block->steps_z.wide; + if (counter_z.wide > 0) { + WRITE_NC(Z_STEP_PIN, !INVERT_Z_STEP_PIN); + LastStepMask |= Z_AXIS_MASK; + counter_z.wide -= current_block->step_event_count.wide; + count_position[Z_AXIS]+=count_direction[Z_AXIS]; + WRITE_NC(Z_STEP_PIN, INVERT_Z_STEP_PIN); + } +#ifndef LIN_ADVANCE + // Step in E axis + counter_e.wide += current_block->steps_e.wide; + if (counter_e.wide > 0) { + WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN); + counter_e.wide -= current_block->step_event_count.wide; + count_position[E_AXIS]+=count_direction[E_AXIS]; + WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); +#ifdef PAT9125 + ++ fsensor_counter; +#endif //PAT9125 + } +#endif + if(++ step_events_completed.wide >= current_block->step_event_count.wide) + break; + } +} + +void isr() { + //if (UVLO) uvlo(); + // If there is no current block, attempt to pop one from the buffer + if (current_block == NULL) + stepper_next_block(); + + LastStepMask = 0; + + if (current_block != NULL) + { + stepper_check_endstops(); + if (current_block->flag & BLOCK_FLAG_DDA_LOWRES) + stepper_tick_lowres(); + else + stepper_tick_highres(); + #ifdef LIN_ADVANCE if (current_block->use_advance_lead) { const int delta_adv_steps = current_estep_rate - current_adv_steps; @@ -754,10 +769,10 @@ void isr() { if (step_events_completed.wide <= (unsigned long int)current_block->accelerate_until) { // v = t * a -> acc_step_rate = acceleration_time * current_block->acceleration_rate MultiU24X24toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); - acc_step_rate += current_block->initial_rate; + acc_step_rate += uint16_t(current_block->initial_rate); // upper limit - if(acc_step_rate > current_block->nominal_rate) + if(acc_step_rate > uint16_t(current_block->nominal_rate)) acc_step_rate = current_block->nominal_rate; // step_rate to timer interval @@ -776,15 +791,15 @@ void isr() { 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; + step_rate = uint16_t(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; + if(step_rate < uint16_t(current_block->final_rate)) + step_rate = uint16_t(current_block->final_rate); // step_rate to timer interval timer = calc_timer(step_rate); @@ -830,9 +845,11 @@ void isr() { } #endif //PAT9125 } + #ifdef TMC2130 tmc2130_st_isr(LastStepMask); #endif //TMC2130 + #ifdef DEBUG_STEPPER_TIMER_MISSED // Verify whether the next planned timer interrupt has not been missed already. // This debugging test takes < 1.125us From 1eac2b4ccbfdd353a050670caa519e16ae396a27 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 15 Jan 2018 12:00:28 +0100 Subject: [PATCH 004/926] Fixed a regression error from the last commit regarding Z homing. Removed unused Z_LATE_ENABLE symbol. --- Firmware/Configuration_adv.h | 2 -- Firmware/stepper.cpp | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Firmware/Configuration_adv.h b/Firmware/Configuration_adv.h index 36b247cd5..90f72462b 100644 --- a/Firmware/Configuration_adv.h +++ b/Firmware/Configuration_adv.h @@ -127,8 +127,6 @@ //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 diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index bb020c44e..8ea867de4 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -545,7 +545,7 @@ FORCE_INLINE void stepper_check_endstops() if ((out_bits & (1< -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) - if (check_z_endstop) { + if (! check_z_endstop) { #ifdef TMC2130_SG_HOMING // Stall guard homing turned on z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); From f46d36a1d4659eddf49918da559902796dd58049 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 1 Feb 2018 16:39:56 +0100 Subject: [PATCH 005/926] removed unused files (pins, variants) --- Firmware/pins_Einy_0_3.h | 129 ----- Firmware/pins_Rambo.h | 162 ------ Firmware/pins_Rambo_1_0.h | 94 ---- Firmware/pins_Rambo_1_3.h | 102 ---- Firmware/variants/1_75mm-RAMBo10a-E3Dv6full.h | 245 --------- Firmware/variants/1_75mm-RAMBo10a-E3Dv6lite.h | 244 --------- Firmware/variants/1_75mm-RAMBo13a-E3Dv6full.h | 244 --------- Firmware/variants/1_75mm-RAMBo13a-E3Dv6lite.h | 244 --------- .../variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h | 316 ----------- .../variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 316 ----------- .../variants/1_75mm_MK3-EINY03-E3Dv6full.h | 484 ----------------- .../variants/1_75mm_MK3-EINY10a-E3Dv6full.h | 512 ------------------ Firmware/variants/3mm-RAMBo10a-PrusaNmk2.h | 247 --------- Firmware/variants/3mm-RAMBo13a-PrusaNmk2.h | 246 --------- 14 files changed, 3585 deletions(-) delete mode 100644 Firmware/pins_Einy_0_3.h delete mode 100644 Firmware/pins_Rambo.h delete mode 100644 Firmware/pins_Rambo_1_0.h delete mode 100644 Firmware/pins_Rambo_1_3.h delete mode 100644 Firmware/variants/1_75mm-RAMBo10a-E3Dv6full.h delete mode 100644 Firmware/variants/1_75mm-RAMBo10a-E3Dv6lite.h delete mode 100644 Firmware/variants/1_75mm-RAMBo13a-E3Dv6full.h delete mode 100644 Firmware/variants/1_75mm-RAMBo13a-E3Dv6lite.h delete mode 100644 Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h delete mode 100644 Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h delete mode 100644 Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h delete mode 100644 Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h delete mode 100644 Firmware/variants/3mm-RAMBo10a-PrusaNmk2.h delete mode 100644 Firmware/variants/3mm-RAMBo13a-PrusaNmk2.h diff --git a/Firmware/pins_Einy_0_3.h b/Firmware/pins_Einy_0_3.h deleted file mode 100644 index 936e8d0e6..000000000 --- a/Firmware/pins_Einy_0_3.h +++ /dev/null @@ -1,129 +0,0 @@ -/***************************************************************** -* EINY Rambo 0.3a Pin Assignments -******************************************************************/ - -#define ELECTRONICS "EINY_03a" - -#define KNOWN_BOARD -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega 2560 or Rambo' selected from the 'Tools -> Boards' menu. -#endif - -#define TMC2130 -#define PAT9125 - -#define SWI2C // enable software i2c -#define SWI2C_A8 // 8bit address functions - -#define PAT9125_SWI2C -#define PAT9125_SWI2C_SDA 20 //SDA on P3 -#define PAT9125_SWI2C_SCL 21 //SCL on P3 -#define PAT9125_SWI2C_CFG 0xb1 //2us clock delay, 2048 cycles timeout - -//#define SWSPI_MISO 16 //RX2 -//#define SWSPI_MOSI 16 //RX2 -//#define SWSPI_SCK 17 //TX2 -//#define SWSPI_CS 20 //SDA - -////#define SWI2C_SDA 20 //SDA -////#define SWI2C_SCL 21 //SCL -//#define SWI2C_SDA 16 //RX2 -//#define SWI2C_SCL 17 //TX2 - -#define X_TMC2130_CS 41 -#define X_TMC2130_DIAG 40 -#define X_STEP_PIN 37 -#define X_DIR_PIN 49 -//#define X_MIN_PIN 12 -//#define X_MAX_PIN 30 -#define X_MIN_PIN X_TMC2130_DIAG -#define X_MAX_PIN X_TMC2130_DIAG -#define X_ENABLE_PIN 29 -#define X_MS1_PIN -1 -#define X_MS2_PIN -1 - -#define Y_TMC2130_CS 39 -#define Y_TMC2130_DIAG 69 -#define Y_STEP_PIN 36 -#define Y_DIR_PIN 48 -//#define Y_MIN_PIN 11 -//#define Y_MAX_PIN 24 -#define Y_MIN_PIN Y_TMC2130_DIAG -#define Y_MAX_PIN Y_TMC2130_DIAG -#define Y_ENABLE_PIN 28 -#define Y_MS1_PIN -1 -#define Y_MS2_PIN -1 - -#define Z_TMC2130_CS 67 -#define Z_TMC2130_DIAG 68 -#define Z_STEP_PIN 35 -#define Z_DIR_PIN 47 -#define Z_MIN_PIN 10 -#define Z_MAX_PIN 23 -//#define Z_MAX_PIN Z_TMC2130_DIAG -#define Z_ENABLE_PIN 27 -#define Z_MS1_PIN -1 -#define Z_MS2_PIN -1 - -#define HEATER_BED_PIN 4 //PG5 -#define TEMP_BED_PIN 2 //A2 - -#define HEATER_0_PIN 3 //PE5 -#define TEMP_0_PIN 0 //A0 - -#define HEATER_1_PIN -1 -#define TEMP_1_PIN 1 //A1 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#define TEMP_AMBIENT_PIN 6 //A6 - -#define TEMP_PINDA_PIN 3 //A3 - -#define E0_TMC2130_CS 66 -#define E0_TMC2130_DIAG 65 -#define E0_STEP_PIN 34 -#define E0_DIR_PIN 43 -#define E0_ENABLE_PIN 26 -#define E0_MS1_PIN -1 -#define E0_MS2_PIN -1 - -#define MOTOR_CURRENT_PWM_XY_PIN 46 -#define MOTOR_CURRENT_PWM_Z_PIN 45 -#define MOTOR_CURRENT_PWM_E_PIN 44 -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 6 -#define FAN_1_PIN -1 -#define PS_ON_PIN -1 -#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. - -#ifdef ULTRA_LCD - -//#define KILL_PIN 32 - -#ifdef NEWPANEL - -#define BEEPER 84 // 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 72 -#define BTN_EN2 14 -#define BTN_ENC 9 // the click - -#define SDCARDDETECT 15 - -#define TACH_0 81 -#define TACH_1 80 - -#endif //NEWPANEL -#endif //ULTRA_LCD diff --git a/Firmware/pins_Rambo.h b/Firmware/pins_Rambo.h deleted file mode 100644 index 4ba00d1a5..000000000 --- a/Firmware/pins_Rambo.h +++ /dev/null @@ -1,162 +0,0 @@ -/***************************************************************** -* Rambo Pin Assignments -******************************************************************/ - -#define ELECTRONICS "RAMBoBig" - -#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 X_STEP_PIN 37 -#define X_DIR_PIN 48 -#define X_MIN_PIN 12 -#define X_MAX_PIN 30 -#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 24 -#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 23 -#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 - -#ifdef SNMM - #define E_MUX0_PIN 17 - #define E_MUX1_PIN 16 - #define E_MUX2_PIN 84 -#endif - -#ifdef DIS - #define D_REQUIRE 30 - #define D_DATA 20 - #define D_DATACLOCK 21 -#endif - -// 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 -#define HEATER_2_PIN -1 - -#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 84 // 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 84 //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 diff --git a/Firmware/pins_Rambo_1_0.h b/Firmware/pins_Rambo_1_0.h deleted file mode 100644 index fae9ddcc8..000000000 --- a/Firmware/pins_Rambo_1_0.h +++ /dev/null @@ -1,94 +0,0 @@ -/***************************************************************** -* Rambo mini 1.0 Pin Assignments -******************************************************************/ - -#define ELECTRONICS "RAMBo10a" - -#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 X_STEP_PIN 37 -#define X_DIR_PIN 48 -#define X_MIN_PIN 12 -#define X_MAX_PIN 30 -#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 24 -#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 23 -#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 - -#ifdef SNMM - #define E_MUX0_PIN 17 - #define E_MUX1_PIN 16 - #define E_MUX2_PIN 84 -#endif - -// 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 78 - -#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 -#define HEATER_2_PIN -1 - -#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 46 -#define MOTOR_CURRENT_PWM_Z_PIN 45 -#define MOTOR_CURRENT_PWM_E_PIN 44 diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h deleted file mode 100644 index 3e9c45dae..000000000 --- a/Firmware/pins_Rambo_1_3.h +++ /dev/null @@ -1,102 +0,0 @@ -/***************************************************************** -* Rambo mini 1.3 Pin Assignments -******************************************************************/ - -#define ELECTRONICS "RAMBo13a" - -#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 X_STEP_PIN 37 -#define X_DIR_PIN 48 -#define X_MIN_PIN 12 -#define X_MAX_PIN 30 -#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 24 -#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 23 -#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 - -#ifdef SNMM - #define E_MUX0_PIN 17 - #define E_MUX1_PIN 16 - #define E_MUX2_PIN 84 -#endif - -#ifdef DIS - #define D_REQUIRE 30 - #define D_DATA 20 - #define D_DATACLOCK 21 -#endif - -// 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 -#define HEATER_2_PIN -1 - -#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 46 -#define MOTOR_CURRENT_PWM_Z_PIN 45 -#define MOTOR_CURRENT_PWM_E_PIN 44 diff --git a/Firmware/variants/1_75mm-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm-RAMBo10a-E3Dv6full.h deleted file mode 100644 index ef288a6c5..000000000 --- a/Firmware/variants/1_75mm-RAMBo10a-E3Dv6full.h +++ /dev/null @@ -1,245 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm" -#define NOZZLE_TYPE "E3Dv6full" - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_0 - - -/*------------------------------------ - AXIS SETTINGS -*------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/0.8,161.3} - -// 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 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 180 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 240, 0} // set the homing speeds (mm/min) - -#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 - - -#define MANUAL_FEEDRATE {3000, 3000, 240, 60} // set the speeds for manual moves (mm/min) - - -/*------------------------------------ - 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 310 -#define HEATER_1_MAXTEMP 310 -#define HEATER_2_MAXTEMP 310 -#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 130 - -// 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 - #define FILAMENTCHANGE_RECFEED 5 - - #define FILAMENTCHANGE_XYFEED 70 - #define FILAMENTCHANGE_EFEED 20 - #define FILAMENTCHANGE_RFEED 400 - #define FILAMENTCHANGE_EXFEED 2 - #define FILAMENTCHANGE_ZFEED 300 - -#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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 450, 450} // {XY,Z,E} - #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 450, 500} // {XY,Z,E} -#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 - -// 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 - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - - -/*------------------------------------ - 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 diff --git a/Firmware/variants/1_75mm-RAMBo10a-E3Dv6lite.h b/Firmware/variants/1_75mm-RAMBo10a-E3Dv6lite.h deleted file mode 100644 index 42c7127c7..000000000 --- a/Firmware/variants/1_75mm-RAMBo10a-E3Dv6lite.h +++ /dev/null @@ -1,244 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm" -#define NOZZLE_TYPE "E3Dv6lite" - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_0 - - -/*------------------------------------ - AXIS SETTINGS -*------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/0.8,161.3} - -// 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 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 180 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 240, 0} // set the homing speeds (mm/min) - -#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 - - -#define MANUAL_FEEDRATE {3000, 3000, 240, 60} // set the speeds for manual moves (mm/min) - - -/*------------------------------------ - 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 265 -#define HEATER_1_MAXTEMP 265 -#define HEATER_2_MAXTEMP 265 -#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 130 - -// 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 - #define FILAMENTCHANGE_RECFEED 5 - - #define FILAMENTCHANGE_XYFEED 70 - #define FILAMENTCHANGE_EFEED 20 - #define FILAMENTCHANGE_RFEED 400 - #define FILAMENTCHANGE_EXFEED 2 - #define FILAMENTCHANGE_ZFEED 300 - -#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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 450, 450} // {XY,Z,E} - #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 450, 500} // {XY,Z,E} -#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 - -// 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 - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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 diff --git a/Firmware/variants/1_75mm-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm-RAMBo13a-E3Dv6full.h deleted file mode 100644 index 327373d0d..000000000 --- a/Firmware/variants/1_75mm-RAMBo13a-E3Dv6full.h +++ /dev/null @@ -1,244 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm" -#define NOZZLE_TYPE "E3Dv6full" - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 - - -/*------------------------------------ - AXIS SETTINGS -*------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/0.8,161.3} - -// 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 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 180 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 240, 0} // set the homing speeds (mm/min) - -#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 - - -#define MANUAL_FEEDRATE {3000, 3000, 240, 60} // set the speeds for manual moves (mm/min) - - -/*------------------------------------ - 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 310 -#define HEATER_1_MAXTEMP 310 -#define HEATER_2_MAXTEMP 310 -#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 130 - -// 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 - #define FILAMENTCHANGE_RECFEED 5 - - #define FILAMENTCHANGE_XYFEED 70 - #define FILAMENTCHANGE_EFEED 20 - #define FILAMENTCHANGE_RFEED 400 - #define FILAMENTCHANGE_EXFEED 2 - #define FILAMENTCHANGE_ZFEED 300 - -#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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 450, 450} // {XY,Z,E} - #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 450, 500} // {XY,Z,E} -#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 - -// 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 - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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 diff --git a/Firmware/variants/1_75mm-RAMBo13a-E3Dv6lite.h b/Firmware/variants/1_75mm-RAMBo13a-E3Dv6lite.h deleted file mode 100644 index e92999862..000000000 --- a/Firmware/variants/1_75mm-RAMBo13a-E3Dv6lite.h +++ /dev/null @@ -1,244 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm" -#define NOZZLE_TYPE "E3Dv6lite" - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 - - -/*------------------------------------ - AXIS SETTINGS -*------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/0.8,161.3} - -// 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 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 180 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 240, 0} // set the homing speeds (mm/min) - -#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 - - -#define MANUAL_FEEDRATE {3000, 3000, 240, 60} // set the speeds for manual moves (mm/min) - - -/*------------------------------------ - 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 265 -#define HEATER_1_MAXTEMP 265 -#define HEATER_2_MAXTEMP 265 -#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 130 - -// 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 - #define FILAMENTCHANGE_RECFEED 5 - - #define FILAMENTCHANGE_XYFEED 70 - #define FILAMENTCHANGE_EFEED 20 - #define FILAMENTCHANGE_RFEED 400 - #define FILAMENTCHANGE_EXFEED 2 - #define FILAMENTCHANGE_ZFEED 300 - -#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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 450, 450} // {XY,Z,E} - #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 450, 500} // {XY,Z,E} -#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 - -// 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 - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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 diff --git a/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h deleted file mode 100644 index d6e73ab77..000000000 --- a/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h +++ /dev/null @@ -1,316 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ -GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm_MK2" -#define NOZZLE_TYPE "E3Dv6full" - -// Developer flag -#define DEVELOPER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK2" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_0 - - -/*------------------------------------ -AXIS SETTINGS -*------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3} - -// 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 -2.2 -#define MANUAL_Z_HOME_POS 0.2 - -// Travel limits after homing -#define X_MAX_POS 255 -#define X_MIN_POS 0 -#define Y_MAX_POS 210 -#define Y_MIN_POS -4 -#define Z_MAX_POS 210 -#define Z_MIN_POS 0.2 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 190 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) - -#define DEFAULT_MAX_FEEDRATE {500, 500, 1000, 25} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {9000,9000,1000,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 - - -#define MANUAL_FEEDRATE {3000, 3000, 1000, 100} // set the speeds for manual moves (mm/min) - -#define Z_AXIS_ALWAYS_ON 1 - -/*------------------------------------ -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 305 -#define HEATER_1_MAXTEMP 305 -#define HEATER_2_MAXTEMP 305 -#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 130 - -// 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 -#define FILAMENTCHANGE_RECFEED 5 - -#define FILAMENTCHANGE_XYFEED 50 -#define FILAMENTCHANGE_EFEED 20 -#define FILAMENTCHANGE_RFEED 400 -#define FILAMENTCHANGE_EXFEED 2 -#define FILAMENTCHANGE_ZFEED 15 - -#endif - -/*------------------------------------ -ADDITIONAL FEATURES SETTINGS -*------------------------------------*/ - -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#endif - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ -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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 830, 450} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} -#endif - -/*------------------------------------ -BED SETTINGS -*------------------------------------*/ - -// Define Mesh Bed Leveling system to enable it -#define MESH_BED_LEVELING -#ifdef MESH_BED_LEVELING - -#define MBL_Z_STEP 0.01 - -// Mesh definitions -#define MESH_MIN_X 35 -#define MESH_MAX_X 238 -#define MESH_MIN_Y 6 -#define MESH_MAX_Y 202 - -// Mesh upsample definition -#define MESH_NUM_X_POINTS 7 -#define MESH_NUM_Y_POINTS 7 -// Mesh measure definition -#define MESH_MEAS_NUM_X_POINTS 3 -#define MESH_MEAS_NUM_Y_POINTS 3 - -#define MESH_HOME_Z_CALIB 0.2 -#define MESH_HOME_Z_SEARCH 5 - -#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif - -// 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 - -// Bed temperature compensation settings -#define BED_OFFSET 10 -#define BED_OFFSET_START 40 -#define BED_OFFSET_CENTER 50 - - -#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 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 - -//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 - - -/*----------------------------------- -PREHEAT SETTINGS -*------------------------------------*/ - -#define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 55 -#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 diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h deleted file mode 100644 index 84d58a12c..000000000 --- a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ /dev/null @@ -1,316 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ -GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm_MK2" -#define NOZZLE_TYPE "E3Dv6full" - -// Developer flag -#define DEVELOPER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK2" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 - - -/*------------------------------------ -AXIS SETTINGS -*------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3} - -// 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 -2.2 -#define MANUAL_Z_HOME_POS 0.2 - -// Travel limits after homing -#define X_MAX_POS 255 -#define X_MIN_POS 0 -#define Y_MAX_POS 210 -#define Y_MIN_POS -4 -#define Z_MAX_POS 210 -#define Z_MIN_POS 0.2 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 190 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) - -#define DEFAULT_MAX_FEEDRATE {500, 500, 1000, 25} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {9000,9000,1000,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 - - -#define MANUAL_FEEDRATE {3000, 3000, 1000, 100} // set the speeds for manual moves (mm/min) - -#define Z_AXIS_ALWAYS_ON 1 - -/*------------------------------------ -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 305 -#define HEATER_1_MAXTEMP 305 -#define HEATER_2_MAXTEMP 305 -#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 130 - -// 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 -#define FILAMENTCHANGE_RECFEED 5 - -#define FILAMENTCHANGE_XYFEED 50 -#define FILAMENTCHANGE_EFEED 20 -#define FILAMENTCHANGE_RFEED 400 -#define FILAMENTCHANGE_EXFEED 2 -#define FILAMENTCHANGE_ZFEED 15 - -#endif - -/*------------------------------------ -ADDITIONAL FEATURES SETTINGS -*------------------------------------*/ - -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#endif - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ -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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 830, 450} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} -#endif - -/*------------------------------------ -BED SETTINGS -*------------------------------------*/ - -// Define Mesh Bed Leveling system to enable it -#define MESH_BED_LEVELING -#ifdef MESH_BED_LEVELING - -#define MBL_Z_STEP 0.01 - -// Mesh definitions -#define MESH_MIN_X 35 -#define MESH_MAX_X 238 -#define MESH_MIN_Y 6 -#define MESH_MAX_Y 202 - -// Mesh upsample definition -#define MESH_NUM_X_POINTS 7 -#define MESH_NUM_Y_POINTS 7 -// Mesh measure definition -#define MESH_MEAS_NUM_X_POINTS 3 -#define MESH_MEAS_NUM_Y_POINTS 3 - -#define MESH_HOME_Z_CALIB 0.2 -#define MESH_HOME_Z_SEARCH 5 - -#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif - -// 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 - -// Bed temperature compensation settings -#define BED_OFFSET 10 -#define BED_OFFSET_START 40 -#define BED_OFFSET_CENTER 50 - - -#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 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 - -//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 - - -/*----------------------------------- -PREHEAT SETTINGS -*------------------------------------*/ - -#define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 55 -#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 diff --git a/Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h deleted file mode 100644 index 41afcb87c..000000000 --- a/Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h +++ /dev/null @@ -1,484 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS - *------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm_MK3" -#define NOZZLE_TYPE "E3Dv6full" - -// Developer flag -#define DEVELOPER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK3" - -// Electronics -#define MOTHERBOARD BOARD_EINY_0_3a - - -// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) -//#define E3D_PT100_EXTRUDER_WITH_AMP -//#define E3D_PT100_EXTRUDER_NO_AMP -//#define E3D_PT100_BED_WITH_AMP -//#define E3D_PT100_BED_NO_AMP - - -/*------------------------------------ - AXIS SETTINGS - *------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} //Extruder motor changed back to 200step type - -// 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 -2.2 -#define MANUAL_Z_HOME_POS 0.2 - -// Travel limits after homing -#define X_MAX_POS 255 -#define X_MIN_POS 0 -#define Y_MAX_POS 210 -#define Y_MIN_POS -12 //orig -4 -#define Z_MAX_POS 210 -#define Z_MIN_POS 0.15 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 190 - -//Pause print position -#define X_PAUSE_POS 50 -#define Y_PAUSE_POS 190 -#define Z_PAUSE_LIFT 20 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 - -//#define DEFAULT_MAX_FEEDRATE {400, 400, 12, 120} // (mm/sec) -#define DEFAULT_MAX_FEEDRATE {500, 500, 12, 120} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // 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 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves -#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts - -#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) -//#define MAX_SILENT_FEEDRATE 2700 // - -#define Z_AXIS_ALWAYS_ON 1 - -//DEBUG -#if 0 -#define DEBUG_DCODES //D codes -#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored -#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored -#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored -#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored -#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored -#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages -#define DEBUG_DISABLE_MINTEMP //mintemp error ignored -#define DEBUG_DISABLE_SWLIMITS //sw limits ignored -#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line -#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages -//#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) -//#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) -//#define DEBUG_BLINK_ACTIVE -#endif - -/*------------------------------------ - TMC2130 default settings - *------------------------------------*/ - -#define TMC2130_FCLK 12000000 // fclk = 12MHz - -#define TMC2130_USTEPS_XY 16 // microstep resolution for XY axes -#define TMC2130_USTEPS_Z 16 // microstep resolution for Z axis -#define TMC2130_USTEPS_E 32 // microstep resolution for E axis (increased from 16 to 32) -#define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes -#define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis -#define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis - -#define TMC2130_PWM_GRAD_X 4 // PWMCONF -#define TMC2130_PWM_AMPL_X 200 // PWMCONF -#define TMC2130_PWM_AUTO_X 1 // PWMCONF -#define TMC2130_PWM_FREQ_X 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Y 4 // PWMCONF -#define TMC2130_PWM_AMPL_Y 210 // PWMCONF -#define TMC2130_PWM_AUTO_Y 1 // PWMCONF -#define TMC2130_PWM_FREQ_Y 2 // PWMCONF - -/* //not used -#define TMC2130_PWM_GRAD_Z 4 // PWMCONF -#define TMC2130_PWM_AMPL_Z 200 // PWMCONF -#define TMC2130_PWM_AUTO_Z 1 // PWMCONF -#define TMC2130_PWM_FREQ_Z 2 // PWMCONF -#define TMC2130_PWM_GRAD_E 4 // PWMCONF -#define TMC2130_PWM_AMPL_E 200 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF -*/ - -//#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV) // PWM frequency (23.4kHz, 35.1kHz, 46.9kHz, 58.5kHz for 12MHz fclk) - -#define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode -#define TMC2130_THIGH 0 // THIGH - unused - -#define TMC2130_TCOOLTHRS 239 // TCOOLTHRS - coolstep treshold - -#define TMC2130_SG_HOMING 1 // stallguard homing -#define TMC2130_SG_HOMING_SW_Z 1 // stallguard "software" homing for Z axis -#define TMC2130_SG_THRS_X 0 // stallguard sensitivity for X axis -#define TMC2130_SG_THRS_Y 0 // stallguard sensitivity for Y axis -#define TMC2130_SG_THRS_Z 2 // stallguard sensitivity for Z axis -#define TMC2130_SG_DELTA 128 // stallguard delta [usteps] (minimum usteps before stallguard readed - SW homing) - -//new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {3, 3, 5, 8} // default holding currents for all axes -#define TMC2130_CURRENTS_R {13, 18, 20, 22} // default running currents for all axes - -//#define TMC2130_DEBUG -//#define TMC2130_DEBUG_WR -//#define TMC2130_DEBUG_RD - - -/*------------------------------------ - EXTRUDER SETTINGS - *------------------------------------*/ - -// Mintemps -#define HEATER_0_MINTEMP 15 -#define HEATER_1_MINTEMP 5 -#define HEATER_2_MINTEMP 5 -#define BED_MINTEMP 15 - -// Maxtemps -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -#define HEATER_0_MAXTEMP 410 -#else -#define HEATER_0_MAXTEMP 305 -#endif -#define HEATER_1_MAXTEMP 305 -#define HEATER_2_MAXTEMP 305 -#define BED_MAXTEMP 150 - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else -// Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif - -// Extrude mintemp -#define EXTRUDE_MINTEMP 130 - -// 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 F7000" - -/*------------------------------------ - 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 -#define FILAMENTCHANGE_RECFEED 5 - -#define FILAMENTCHANGE_XYFEED 50 -#define FILAMENTCHANGE_EFEED 20 -#define FILAMENTCHANGE_RFEED 400 -#define FILAMENTCHANGE_EXFEED 2 -#define FILAMENTCHANGE_ZFEED 15 - -#endif - -/*------------------------------------ - ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ - -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#endif - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 303 || MOTHERBOARD == 304 || MOTHERBOARD == 305 -#define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} -#endif - -/*------------------------------------ - BED SETTINGS - *------------------------------------*/ - -// Define Mesh Bed Leveling system to enable it -#define MESH_BED_LEVELING -#ifdef MESH_BED_LEVELING - -#define MBL_Z_STEP 0.01 - -// Mesh definitions -#define MESH_MIN_X 35 -#define MESH_MAX_X 238 -#define MESH_MIN_Y 6 -#define MESH_MAX_Y 202 - -// Mesh upsample definition -#define MESH_NUM_X_POINTS 7 -#define MESH_NUM_Y_POINTS 7 -// Mesh measure definition -#define MESH_MEAS_NUM_X_POINTS 3 -#define MESH_MEAS_NUM_Y_POINTS 3 - -#define MESH_HOME_Z_CALIB 0.2 -#define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. - -#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif - -// 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 - -// Bed temperature compensation settings -#define BED_OFFSET 10 -#define BED_OFFSET_START 40 -#define BED_OFFSET_CENTER 50 - - -#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) -#if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif - -//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 - - -/*----------------------------------- - PREHEAT SETTINGS - *------------------------------------*/ - -#define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 55 -#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 -// 148 is E3D Pt100 with 4k7 pullup and no PT100 Amplifier on a MiniRambo 1.3a -// 247 is Pt100 with 4k7 pullup and PT100 Amplifier -// 110 is Pt100 with 1k pullup (non standard) - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) -#define TEMP_SENSOR_0 247 -#elif defined(E3D_PT100_EXTRUDER_NO_AMP) -#define TEMP_SENSOR_0 148 -#else -#define TEMP_SENSOR_0 5 -#endif -#define TEMP_SENSOR_1 0 -#define TEMP_SENSOR_2 0 -#if defined(E3D_PT100_BED_WITH_AMP) -#define TEMP_SENSOR_BED 247 -#elif defined(E3D_PT100_BED_NO_AMP) -#define TEMP_SENSOR_BED 148 -#else -#define TEMP_SENSOR_BED 1 -#endif -#define TEMP_SENSOR_PINDA 1 -#define TEMP_SENSOR_AMBIENT 2000 - -#define STACK_GUARD_TEST_VALUE 0xA2A2 - -#define MAX_BED_TEMP_CALIBRATION 50 -#define MAX_HOTEND_TEMP_CALIBRATION 50 - -#define MAX_E_STEPS_PER_UNIT 250 -#define MIN_E_STEPS_PER_UNIT 100 - -#define Z_BABYSTEP_MIN -3999 -#define Z_BABYSTEP_MAX 0 - -#define PINDA_PREHEAT_X 70 -#define PINDA_PREHEAT_Y -3 -#define PINDA_PREHEAT_Z 1 -#define PINDA_HEAT_T 120 //time in s - -#define PINDA_MIN_T 50 -#define PINDA_STEP_T 10 -#define PINDA_MAX_T 100 - -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define LONG_PRESS_TIME 1000 //time in ms for button long press -#define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release - -#define DEFAULT_PID_TEMP 210 - -#define MIN_PRINT_FAN_SPEED 50 - -#ifdef SNMM -#define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print -#else -#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print -#endif - -#define UVLO_Z_AXIS_SHIFT 2 - -#endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h deleted file mode 100644 index dbc6cb756..000000000 --- a/Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h +++ /dev/null @@ -1,512 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS - *------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm_MK3" -#define NOZZLE_TYPE "E3Dv6full" - -// Developer flag -#define DEVELOPER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK3" - -// Electronics -#define MOTHERBOARD BOARD_EINY_0_4a - - -// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) -//#define E3D_PT100_EXTRUDER_WITH_AMP -//#define E3D_PT100_EXTRUDER_NO_AMP -//#define E3D_PT100_BED_WITH_AMP -//#define E3D_PT100_BED_NO_AMP - - -/*------------------------------------ - AXIS SETTINGS - *------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,560} - -// 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 -2.2 -#define MANUAL_Z_HOME_POS 0.2 - -// Travel limits after homing -#define X_MAX_POS 255 -#define X_MIN_POS 0 -#define Y_MAX_POS 210 -#define Y_MIN_POS -12 //orig -4 -#define Z_MAX_POS 210 -#define Z_MIN_POS 0.15 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 190 - -//Pause print position -#define X_PAUSE_POS 50 -#define Y_PAUSE_POS 190 -#define Z_PAUSE_LIFT 20 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {2500, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 - -//#define DEFAULT_MAX_FEEDRATE {400, 400, 12, 120} // (mm/sec) -#define DEFAULT_MAX_FEEDRATE {500, 500, 12, 120} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // 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 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves -#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts - -#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) -//#define MAX_SILENT_FEEDRATE 2700 // - -#define Z_AXIS_ALWAYS_ON 1 - -// Automatic recovery after crash is detected -#define AUTOMATIC_RECOVERY_AFTER_CRASH - -//DEBUG -#define DEBUG_DCODES //D codes -#if 1 -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial -//#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD -//#define DEBUG_RESUME_PRINT //Resume/save print debug enable -//#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output -//#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored -//#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored -//#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored -//#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored -//#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored -//#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages -//#define DEBUG_DISABLE_MINTEMP //mintemp error ignored -//#define DEBUG_DISABLE_SWLIMITS //sw limits ignored -//#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line -//#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages -//#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) -//#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) -//#define DEBUG_BLINK_ACTIVE -#endif - -/*------------------------------------ - TMC2130 default settings - *------------------------------------*/ - -#define TMC2130_FCLK 12000000 // fclk = 12MHz - -#define TMC2130_USTEPS_XY 16 // microstep resolution for XY axes -#define TMC2130_USTEPS_Z 16 // microstep resolution for Z axis -#define TMC2130_USTEPS_E 64 // microstep resolution for E axis -#define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes -#define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis -#define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis - -#define TMC2130_PWM_GRAD_X 2 // PWMCONF -#define TMC2130_PWM_AMPL_X 230 // PWMCONF -#define TMC2130_PWM_AUTO_X 1 // PWMCONF -#define TMC2130_PWM_FREQ_X 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Y 2 // PWMCONF -#define TMC2130_PWM_AMPL_Y 235 // PWMCONF -#define TMC2130_PWM_AUTO_Y 1 // PWMCONF -#define TMC2130_PWM_FREQ_Y 2 // PWMCONF - -/* //not used -#define TMC2130_PWM_GRAD_Z 4 // PWMCONF -#define TMC2130_PWM_AMPL_Z 200 // PWMCONF -#define TMC2130_PWM_AUTO_Z 1 // PWMCONF -#define TMC2130_PWM_FREQ_Z 2 // PWMCONF -#define TMC2130_PWM_GRAD_E 4 // PWMCONF -#define TMC2130_PWM_AMPL_E 200 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF -*/ - -//#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV) // PWM frequency (23.4kHz, 35.1kHz, 46.9kHz, 58.5kHz for 12MHz fclk) - -#define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode -#define TMC2130_THIGH 0 // THIGH - unused - -//#define TMC2130_TCOOLTHRS_X 450 // TCOOLTHRS - coolstep treshold -//#define TMC2130_TCOOLTHRS_Y 450 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_X 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Y 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Z 500 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_E 500 // TCOOLTHRS - coolstep treshold - -#define TMC2130_SG_HOMING 1 // stallguard homing -//#define TMC2130_SG_HOMING_SW_XY 1 // stallguard "software" homing for XY axes -#define TMC2130_SG_HOMING_SW_Z 1 // stallguard "software" homing for Z axis -#define TMC2130_SG_THRS_X 1 // stallguard sensitivity for X axis -#define TMC2130_SG_THRS_Y 3 // stallguard sensitivity for Y axis -#define TMC2130_SG_THRS_Z 3 // stallguard sensitivity for Z axis -#define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis -#define TMC2130_SG_DELTA 128 // stallguard delta [usteps] (minimum usteps before stallguard readed - SW homing) - -//new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {3, 3, 20, 28} // default holding currents for all axes -#define TMC2130_CURRENTS_R {13, 20, 20, 28} // default running currents for all axes - -//#define TMC2130_DEBUG -//#define TMC2130_DEBUG_WR -//#define TMC2130_DEBUG_RD - - -/*------------------------------------ - EXTRUDER SETTINGS - *------------------------------------*/ - -// Mintemps -#define HEATER_0_MINTEMP 15 -#define HEATER_1_MINTEMP 5 -#define HEATER_2_MINTEMP 5 -#define BED_MINTEMP 15 - -// Maxtemps -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -#define HEATER_0_MAXTEMP 410 -#else -#define HEATER_0_MAXTEMP 305 -#endif -#define HEATER_1_MAXTEMP 305 -#define HEATER_2_MAXTEMP 305 -#define BED_MAXTEMP 150 - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else -// Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif - -// Extrude mintemp -#define EXTRUDE_MINTEMP 130 - -// 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 F7000" - -/*------------------------------------ - 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 -#define FILAMENTCHANGE_RECFEED 5 - -#define FILAMENTCHANGE_XYFEED 50 -#define FILAMENTCHANGE_EFEED 20 -//#define FILAMENTCHANGE_RFEED 400 -#define FILAMENTCHANGE_RFEED 7000 / 60 -#define FILAMENTCHANGE_EXFEED 2 -#define FILAMENTCHANGE_ZFEED 15 - -#endif - -/*------------------------------------ - ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ - -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#endif - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 303 || MOTHERBOARD == 304 || MOTHERBOARD == 305 -#define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} -#endif - -/*------------------------------------ - BED SETTINGS - *------------------------------------*/ - -// Define Mesh Bed Leveling system to enable it -#define MESH_BED_LEVELING -#ifdef MESH_BED_LEVELING - -#define MBL_Z_STEP 0.01 - -// Mesh definitions -#define MESH_MIN_X 35 -#define MESH_MAX_X 238 -#define MESH_MIN_Y 6 -#define MESH_MAX_Y 202 - -// Mesh upsample definition -#define MESH_NUM_X_POINTS 7 -#define MESH_NUM_Y_POINTS 7 -// Mesh measure definition -#define MESH_MEAS_NUM_X_POINTS 3 -#define MESH_MEAS_NUM_Y_POINTS 3 - -#define MESH_HOME_Z_CALIB 0.2 -#define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. - -#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif - -// 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 - -// Bed temperature compensation settings -#define BED_OFFSET 10 -#define BED_OFFSET_START 40 -#define BED_OFFSET_CENTER 50 - - -#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) -#if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif - -//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 - - -/*----------------------------------- - PREHEAT SETTINGS - *------------------------------------*/ - -#define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 55 -#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 -// 148 is E3D Pt100 with 4k7 pullup and no PT100 Amplifier on a MiniRambo 1.3a -// 247 is Pt100 with 4k7 pullup and PT100 Amplifier -// 110 is Pt100 with 1k pullup (non standard) - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) -#define TEMP_SENSOR_0 247 -#elif defined(E3D_PT100_EXTRUDER_NO_AMP) -#define TEMP_SENSOR_0 148 -#else -#define TEMP_SENSOR_0 5 -#endif -#define TEMP_SENSOR_1 0 -#define TEMP_SENSOR_2 0 -#if defined(E3D_PT100_BED_WITH_AMP) -#define TEMP_SENSOR_BED 247 -#elif defined(E3D_PT100_BED_NO_AMP) -#define TEMP_SENSOR_BED 148 -#else -#define TEMP_SENSOR_BED 1 -#endif -#define TEMP_SENSOR_PINDA 1 -#define TEMP_SENSOR_AMBIENT 2000 - -#define STACK_GUARD_TEST_VALUE 0xA2A2 - -#define MAX_BED_TEMP_CALIBRATION 50 -#define MAX_HOTEND_TEMP_CALIBRATION 50 - -#define MAX_E_STEPS_PER_UNIT 250 -#define MIN_E_STEPS_PER_UNIT 100 - -#define Z_BABYSTEP_MIN -3999 -#define Z_BABYSTEP_MAX 0 - -#define PINDA_PREHEAT_X 70 -#define PINDA_PREHEAT_Y -3 -#define PINDA_PREHEAT_Z 1 -#define PINDA_HEAT_T 120 //time in s - -#define PINDA_MIN_T 50 -#define PINDA_STEP_T 10 -#define PINDA_MAX_T 100 - -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define LONG_PRESS_TIME 1000 //time in ms for button long press -#define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release - -#define DEFAULT_PID_TEMP 210 - -#define MIN_PRINT_FAN_SPEED 75 - -#ifdef SNMM -#define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print -#else -#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print -#endif - -// How much shall the print head be lifted on power panic? -// Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, -// UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. -// For example, the Prusa i3 MK2 with 16 microsteps per full step has Z stepping of 400 microsteps per mm. -// At 400 microsteps per mm, a full step lifts the Z axis by 0.04mm, and a stepper driver cycle is 0.16mm. -// The following example, 12 * (4 * 16 / 400) = 12 * 0.16mm = 1.92mm. -#define UVLO_Z_AXIS_SHIFT 1.92 -// If power panic occured, and the current temperature is higher then target temperature before interrupt minus this offset, print will be recovered automatically. -#define AUTOMATIC_UVLO_BED_TEMP_OFFSET 5 - -#define HEATBED_V2 - -//#define SUPPORT_VERBOSITY - -#endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/3mm-RAMBo10a-PrusaNmk2.h b/Firmware/variants/3mm-RAMBo10a-PrusaNmk2.h deleted file mode 100644 index de074c54d..000000000 --- a/Firmware/variants/3mm-RAMBo10a-PrusaNmk2.h +++ /dev/null @@ -1,247 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "3mm" -#define NOZZLE_TYPE "PrusaNmk2" -#define THREEMM_PRINTER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_0 - - - -/*------------------------------------ - 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 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 180 - - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 240, 0} // set the homing speeds (mm/min) - -#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 - - -#define MANUAL_FEEDRATE {3000, 3000, 240, 60} // set the speeds for manual moves (mm/min) - - -/*------------------------------------ - 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 130 - -// 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 - #define FILAMENTCHANGE_RECFEED 5 - - #define FILAMENTCHANGE_XYFEED 70 - #define FILAMENTCHANGE_EFEED 20 - #define FILAMENTCHANGE_RFEED 400 - #define FILAMENTCHANGE_EXFEED 2 - #define FILAMENTCHANGE_ZFEED 300 - -#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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 450, 850} // {XY,Z,E} - #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 450, 500} // {XY,Z,E} -#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 - -// 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 - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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 diff --git a/Firmware/variants/3mm-RAMBo13a-PrusaNmk2.h b/Firmware/variants/3mm-RAMBo13a-PrusaNmk2.h deleted file mode 100644 index ffb0af447..000000000 --- a/Firmware/variants/3mm-RAMBo13a-PrusaNmk2.h +++ /dev/null @@ -1,246 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS -*------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "3mm" -#define NOZZLE_TYPE "PrusaNmk2" -#define THREEMM_PRINTER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3" - -// Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 - - - -/*------------------------------------ - 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 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 180 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 240, 0} // set the homing speeds (mm/min) - -#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 - - -#define MANUAL_FEEDRATE {3000, 3000, 240, 60} // set the speeds for manual moves (mm/min) - - -/*------------------------------------ - 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 130 - -// 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 - #define FILAMENTCHANGE_RECFEED 5 - - #define FILAMENTCHANGE_XYFEED 70 - #define FILAMENTCHANGE_EFEED 20 - #define FILAMENTCHANGE_RFEED 400 - #define FILAMENTCHANGE_EXFEED 2 - #define FILAMENTCHANGE_ZFEED 300 - -#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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// 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 {270, 450, 850} // {XY,Z,E} - #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 450, 500} // {XY,Z,E} -#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 - -// 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 - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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 From f40b8a2186d3dae3e31ca9d6fc4d95b87f6bc15a Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 1 Feb 2018 17:10:41 +0100 Subject: [PATCH 006/926] MK3 configuration files, renamed EINY to EINSY --- Firmware/Configuration_prusa.h | 4 +- Firmware/boards.h | 6 +- Firmware/pins.h | 18 +- .../{pins_Einy_0_4.h => pins_Einsy_1_0.h} | 4 +- ...full.h => 1_75mm_MK3-EINSy10a-E3Dv6full.h} | 195 ++++++++++++------ 5 files changed, 145 insertions(+), 82 deletions(-) rename Firmware/{pins_Einy_0_4.h => pins_Einsy_1_0.h} (98%) rename Firmware/variants/{1_75mm_MK3-EINY04-E3Dv6full.h => 1_75mm_MK3-EINSy10a-E3Dv6full.h} (68%) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 0934eab57..3c43fd102 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -16,7 +16,7 @@ #define CUSTOM_MENDEL_NAME "Prusa i3 MK3" // Electronics -#define MOTHERBOARD BOARD_EINSY_0_4a +#define MOTHERBOARD BOARD_EINSY_1_0a // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -324,7 +324,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 303 || MOTHERBOARD == 304 || MOTHERBOARD == 305 +#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 310 #define MOTOR_CURRENT_PWM_RANGE 2000 #define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} diff --git a/Firmware/boards.h b/Firmware/boards.h index 41b905a05..3e0265354 100644 --- a/Firmware/boards.h +++ b/Firmware/boards.h @@ -3,14 +3,10 @@ #define BOARD_UNKNOWN -1 -#define BOARD_RAMBO 100 // Rambo - 100 (orig 301) - #define BOARD_RAMBO_MINI_1_0 200 // Rambo-mini 1.0 - 200 (orig 102) #define BOARD_RAMBO_MINI_1_3 203 // Rambo-mini 1.3 - 203 (orig 302) -#define BOARD_EISNY_0_3a 303 // EINY 0.3a - 303 (orig 300) -#define BOARD_EINSY_0_4a 304 // EINY 0.4a - 304 (orig 299) -#define BOARD_EINSY_0_5a 305 // EINY 0.5a - 305 (orig 298) +#define BOARD_EINSY_1_0a 310 // EINSy 1.0a - 310 (new) #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)) diff --git a/Firmware/pins.h b/Firmware/pins.h index 324f85ac4..1c2cee11e 100644 --- a/Firmware/pins.h +++ b/Firmware/pins.h @@ -23,10 +23,6 @@ * Rambo Pin Assignments 1.3 ******************************************************************/ -#if MOTHERBOARD == 100 //100 - orig 301 -#include "pins_Rambo.h" -#endif //MOTHERBOARD == 100 - #if MOTHERBOARD == 200 //200 - orig 102 #include "pins_Rambo_1_0.h" #endif //MOTHERBOARD == 200 @@ -35,17 +31,9 @@ #include "pins_Rambo_1_3.h" #endif //MOTHERBOARD == 203 -#if MOTHERBOARD == 303 //303 - orig 300 -#include "pins_Einy_0_3.h" -#endif //MOTHERBOARD == 303 - -#if MOTHERBOARD == 304 //304 - orig 299 -#include "pins_Einy_0_4.h" -#endif //MOTHERBOARD == 304 - -#if MOTHERBOARD == 305 //305 - orig 298 -#include "pins_Einy_0_4.h" -#endif //MOTHERBOARD == 305 +#if MOTHERBOARD == 310 //310 - new +#include "pins_Einsy_1_0.h" +#endif //MOTHERBOARD == 310 #ifndef KNOWN_BOARD #error Unknown MOTHERBOARD value in configuration.h diff --git a/Firmware/pins_Einy_0_4.h b/Firmware/pins_Einsy_1_0.h similarity index 98% rename from Firmware/pins_Einy_0_4.h rename to Firmware/pins_Einsy_1_0.h index 1c408d45c..784bff221 100644 --- a/Firmware/pins_Einy_0_4.h +++ b/Firmware/pins_Einsy_1_0.h @@ -1,8 +1,8 @@ /***************************************************************** -* EINY Rambo 0.4a Pin Assignments +* EINSY Rambo 1.0a Pin Assignments ******************************************************************/ -#define ELECTRONICS "EINY_04a" +#define ELECTRONICS "EINSy_10a" #define KNOWN_BOARD #ifndef __AVR_ATmega2560__ diff --git a/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h similarity index 68% rename from Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h rename to Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 251d01e7f..3c43fd102 100644 --- a/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -16,7 +16,7 @@ #define CUSTOM_MENDEL_NAME "Prusa i3 MK3" // Electronics -#define MOTHERBOARD BOARD_EINY_0_4a +#define MOTHERBOARD BOARD_EINSY_1_0a // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -33,6 +33,7 @@ // Steps per unit {X,Y,Z,E} //#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} +//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,560} // Endstop inverting const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. @@ -48,7 +49,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define X_MAX_POS 255 #define X_MIN_POS 0 #define Y_MAX_POS 210 -#define Y_MIN_POS -12 //orig -4 +#define Y_MIN_POS -4 //orig -4 #define Z_MAX_POS 210 #define Z_MIN_POS 0.15 @@ -62,39 +63,78 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define Z_PAUSE_LIFT 20 #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {2500, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 +#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 -//#define DEFAULT_MAX_FEEDRATE {400, 400, 12, 120} // (mm/sec) -#define DEFAULT_MAX_FEEDRATE {500, 500, 12, 120} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // 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_MAX_FEEDRATE {200, 200, 12, 120} // (mm/sec) max feedrate (M203) +#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) -#define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves -#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts + +#define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204S) +#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204T) #define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) -//#define MAX_SILENT_FEEDRATE 2700 // + +//Silent mode limits +#define SILENT_MAX_ACCEL 960 // max axxeleration in silent mode in mm/s^2 +#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2 +#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) + +//Normal mode limits +#define NORMAL_MAX_ACCEL 2500 // Y-axis max axxeleration in normal mode in mm/s^2 +#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2 +#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) + +//#define SIMPLE_ACCEL_LIMIT //new limitation method for normal/silent + +//number of bytes from end of the file to start check +#define END_FILE_SECTION 10000 #define Z_AXIS_ALWAYS_ON 1 -//DEBUG +// Automatic recovery after crash is detected +#define AUTOMATIC_RECOVERY_AFTER_CRASH + +// Disable some commands +#define _DISABLE_M42_M226 + +// Minimum ambient temperature limit to start triggering MINTEMP errors [C] +// this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, +// temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle +// the real limit is 15C (same as MINTEMP limit), this is because 15C is end of scale for both used thermistors (bed, heater) +#define MINTEMP_MINAMBIENT 25 +#define MINTEMP_MINAMBIENT_RAW 978 + +//#define DEBUG_BUILD +#ifdef DEBUG_BUILD +//#define _NO_ASM #define DEBUG_DCODES //D codes -#if 0 -#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored -#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored -#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored -#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored -#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored -#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages -#define DEBUG_DISABLE_MINTEMP //mintemp error ignored -#define DEBUG_DISABLE_SWLIMITS //sw limits ignored -#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line -#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages +#define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR +//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial +//#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD +//#define DEBUG_RESUME_PRINT //Resume/save print debug enable +//#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output +//#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored +//#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored +//#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored +//#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored +//#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored +//#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored +#define DEBUG_DISABLE_STARTMSGS //no startup messages +//#define DEBUG_DISABLE_MINTEMP //mintemp error ignored +//#define DEBUG_DISABLE_SWLIMITS //sw limits ignored +//#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line +//#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed +//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_BLINK_ACTIVE -#endif +//#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) +//#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) +#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line +#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. +#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. +#endif /* DEBUG_BUILD */ + /*------------------------------------ TMC2130 default settings @@ -109,26 +149,38 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis -#define TMC2130_PWM_GRAD_X 4 // PWMCONF -#define TMC2130_PWM_AMPL_X 200 // PWMCONF +#define TMC2130_PWM_GRAD_X 2 // PWMCONF +#define TMC2130_PWM_AMPL_X 230 // PWMCONF #define TMC2130_PWM_AUTO_X 1 // PWMCONF #define TMC2130_PWM_FREQ_X 2 // PWMCONF -#define TMC2130_PWM_GRAD_Y 4 // PWMCONF -#define TMC2130_PWM_AMPL_Y 215 // PWMCONF +#define TMC2130_PWM_GRAD_Y 2 // PWMCONF +#define TMC2130_PWM_AMPL_Y 235 // PWMCONF #define TMC2130_PWM_AUTO_Y 1 // PWMCONF #define TMC2130_PWM_FREQ_Y 2 // PWMCONF -/* //not used - #define TMC2130_PWM_GRAD_Z 4 // PWMCONF - #define TMC2130_PWM_AMPL_Z 200 // PWMCONF - #define TMC2130_PWM_AUTO_Z 1 // PWMCONF - #define TMC2130_PWM_FREQ_Z 2 // PWMCONF - #define TMC2130_PWM_GRAD_E 4 // PWMCONF - #define TMC2130_PWM_AMPL_E 200 // PWMCONF - #define TMC2130_PWM_AUTO_E 1 // PWMCONF - #define TMC2130_PWM_FREQ_E 2 // PWMCONF - */ +#define TMC2130_PWM_GRAD_E 2 // PWMCONF +#define TMC2130_PWM_AMPL_E 235 // PWMCONF +#define TMC2130_PWM_AUTO_E 1 // PWMCONF +#define TMC2130_PWM_FREQ_E 2 // PWMCONF + +#define TMC2130_PWM_GRAD_Z 4 // PWMCONF +#define TMC2130_PWM_AMPL_Z 200 // PWMCONF +#define TMC2130_PWM_AUTO_Z 1 // PWMCONF +#define TMC2130_PWM_FREQ_Z 2 // PWMCONF + +#define TMC2130_PWM_GRAD_E 4 // PWMCONF +#define TMC2130_PWM_AMPL_E 240 // PWMCONF +#define TMC2130_PWM_AUTO_E 1 // PWMCONF +#define TMC2130_PWM_FREQ_E 2 // PWMCONF + +#define TMC2130_TOFF_XYZ 3 // CHOPCONF // fchop = 27.778kHz +#define TMC2130_TOFF_E 3 // CHOPCONF // fchop = 27.778kHz +//#define TMC2130_TOFF_E 4 // CHOPCONF // fchop = 21.429kHz +//#define TMC2130_TOFF_E 5 // CHOPCONF // fchop = 17.442kHz + +//#define TMC2130_STEALTH_E // Extruder stealthChop mode +//#define TMC2130_CNSTOFF_E // Extruder constant-off-time mode (similar to MK2) //#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) #define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) @@ -137,18 +189,22 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode #define TMC2130_THIGH 0 // THIGH - unused -#define TMC2130_TCOOLTHRS 500 // TCOOLTHRS - coolstep treshold +//#define TMC2130_TCOOLTHRS_X 450 // TCOOLTHRS - coolstep treshold +//#define TMC2130_TCOOLTHRS_Y 450 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_X 430 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_Y 430 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_Z 500 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_E 500 // TCOOLTHRS - coolstep treshold #define TMC2130_SG_HOMING 1 // stallguard homing -#define TMC2130_SG_HOMING_SW_Z 1 // stallguard "software" homing for Z axis -#define TMC2130_SG_THRS_X 6 // stallguard sensitivity for X axis -#define TMC2130_SG_THRS_Y 6 // stallguard sensitivity for Y axis +#define TMC2130_SG_THRS_X 3 // stallguard sensitivity for X axis +#define TMC2130_SG_THRS_Y 3 // stallguard sensitivity for Y axis #define TMC2130_SG_THRS_Z 3 // stallguard sensitivity for Z axis -#define TMC2130_SG_DELTA 128 // stallguard delta [usteps] (minimum usteps before stallguard readed - SW homing) +#define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis //new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {3, 3, 5, 8} // default holding currents for all axes -#define TMC2130_CURRENTS_R {13, 31, 20, 22} // default running currents for all axes +#define TMC2130_CURRENTS_H {13, 20, 25, 35} // default holding currents for all axes +#define TMC2130_CURRENTS_R {13, 20, 25, 35} // default running currents for all axes //#define TMC2130_DEBUG //#define TMC2130_DEBUG_WR @@ -173,7 +229,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif #define HEATER_1_MAXTEMP 305 #define HEATER_2_MAXTEMP 305 -#define BED_MAXTEMP 150 +#define BED_MAXTEMP 125 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 @@ -191,7 +247,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif // Extrude mintemp -#define EXTRUDE_MINTEMP 130 +#define EXTRUDE_MINTEMP 190 // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 @@ -234,7 +290,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define FILAMENTCHANGE_XYFEED 50 #define FILAMENTCHANGE_EFEED 20 -#define FILAMENTCHANGE_RFEED 400 +//#define FILAMENTCHANGE_RFEED 400 +#define FILAMENTCHANGE_RFEED 7000 / 60 #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 @@ -252,8 +309,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif // temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 +#define TEMP_RUNAWAY_BED_HYSTERESIS 5 +#define TEMP_RUNAWAY_BED_TIMEOUT 360 #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 @@ -267,12 +324,19 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 303 || MOTHERBOARD == 304 || MOTHERBOARD == 305 +#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 310 #define MOTOR_CURRENT_PWM_RANGE 2000 #define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} #endif +/*------------------------------------ + PAT9125 SETTINGS + *------------------------------------*/ + +#define PAT9125_XRES 0 +#define PAT9125_YRES 255 + /*------------------------------------ BED SETTINGS *------------------------------------*/ @@ -300,7 +364,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif @@ -358,8 +422,12 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o PREHEAT SETTINGS *------------------------------------*/ +#define FARM_PREHEAT_HOTEND_TEMP 250 +#define FARM_PREHEAT_HPB_TEMP 40 +#define FARM_PREHEAT_FAN_SPEED 0 + #define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 55 +#define PLA_PREHEAT_HPB_TEMP 60 #define PLA_PREHEAT_FAN_SPEED 0 #define ABS_PREHEAT_HOTEND_TEMP 255 @@ -374,11 +442,11 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #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_HOTEND_TEMP 230 +#define PET_PREHEAT_HPB_TEMP 85 #define PET_PREHEAT_FAN_SPEED 0 -#define FLEX_PREHEAT_HOTEND_TEMP 230 +#define FLEX_PREHEAT_HOTEND_TEMP 240 #define FLEX_PREHEAT_HPB_TEMP 50 #define FLEX_PREHEAT_FAN_SPEED 0 @@ -453,9 +521,13 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define Z_BABYSTEP_MIN -3999 #define Z_BABYSTEP_MAX 0 +#define PINDA_PREHEAT_X 20 +#define PINDA_PREHEAT_Y 60 +#define PINDA_PREHEAT_Z 0.15 +/* #define PINDA_PREHEAT_X 70 #define PINDA_PREHEAT_Y -3 -#define PINDA_PREHEAT_Z 1 +#define PINDA_PREHEAT_Z 1*/ #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 @@ -485,8 +557,15 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o // For example, the Prusa i3 MK2 with 16 microsteps per full step has Z stepping of 400 microsteps per mm. // At 400 microsteps per mm, a full step lifts the Z axis by 0.04mm, and a stepper driver cycle is 0.16mm. // The following example, 12 * (4 * 16 / 400) = 12 * 0.16mm = 1.92mm. -#define UVLO_Z_AXIS_SHIFT 1.92 +//#define UVLO_Z_AXIS_SHIFT 1.92 +#define UVLO_Z_AXIS_SHIFT 0.64 +// If power panic occured, and the current temperature is higher then target temperature before interrupt minus this offset, print will be recovered automatically. +#define AUTOMATIC_UVLO_BED_TEMP_OFFSET 5 #define HEATBED_V2 +#define M600_TIMEOUT 600 //seconds + +//#define SUPPORT_VERBOSITY + #endif //__CONFIGURATION_PRUSA_H From 8562235440fedc4fbc8816d86d3ea36f3656d4da Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 1 Feb 2018 20:08:11 +0100 Subject: [PATCH 007/926] MK2.5 port - compilable version --- Firmware/Configuration.h | 9 - Firmware/Configuration_prusa.h | 8 + Firmware/Marlin_main.cpp | 51 +- Firmware/pins_Einsy_1_0.h | 6 + Firmware/pins_Rambo_1_3.h | 136 +++++ Firmware/temperature.cpp | 26 +- Firmware/temperature.h | 7 + Firmware/ultralcd.cpp | 31 +- .../variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 466 ++++++++++++++++++ .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 8 + 10 files changed, 724 insertions(+), 24 deletions(-) create mode 100644 Firmware/pins_Rambo_1_3.h create mode 100644 Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index a73d1a9a7..acc7d7664 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -380,12 +380,6 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #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 true // 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 true // for Mendel set to false, for Orca set to true -#define INVERT_E0_DIR false // 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 @@ -849,8 +843,5 @@ enum CalibrationStatus #include "Configuration_adv.h" #include "thermistortables.h" -#define PINDA_THERMISTOR - -#define AMBIENT_THERMISTOR #endif //__CONFIGURATION_H diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 3c43fd102..11ad3dc84 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -40,6 +40,14 @@ const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o 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. +// Direction inverting +#define INVERT_X_DIR true // 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 true // for Mendel set to false, for Orca set to true +#define INVERT_E0_DIR false // 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 + // Home position #define MANUAL_X_HOME_POS 0 #define MANUAL_Y_HOME_POS -2.2 diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b581210b9..55d51049a 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -589,6 +589,9 @@ void restore_print_from_ram_and_continue(float e_move); bool fans_check_enabled = true; bool filament_autoload_enabled = true; + +#ifdef TMC2130 + extern int8_t CrashDetectMenu; void crashdet_enable() @@ -698,6 +701,8 @@ void failstats_reset_print() eeprom_update_byte((uint8_t *)EEPROM_POWER_COUNT, 0); } +#endif //TMC2130 + #ifdef MESH_BED_LEVELING enum MeshLevelingState { MeshReport, MeshStart, MeshNext, MeshSet }; @@ -1063,6 +1068,8 @@ void setup() #endif setup_homepin(); +#ifdef TMC2130 + if (1) { /// SERIAL_ECHOPGM("initial zsteps on power up: "); MYSERIAL.println(tmc2130_rd_MSCNT(Z_TMC2130_CS)); // try to run to zero phase before powering the Z motor. @@ -1078,6 +1085,7 @@ void setup() } // SERIAL_ECHOPGM("initial zsteps after reset: "); MYSERIAL.println(tmc2130_rd_MSCNT(Z_TMC2130_CS)); } +#endif //TMC2130 #if defined(Z_AXIS_ALWAYS_ON) enable_z(); @@ -1093,7 +1101,7 @@ void setup() // Enable Toshiba FlashAir SD card / WiFi enahanced card. card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1); - + if (eeprom_read_dword((uint32_t*)(EEPROM_TOP - 4)) == 0x0ffffffff && eeprom_read_dword((uint32_t*)(EEPROM_TOP - 8)) == 0x0ffffffff) { // Maiden startup. The firmware has been loaded and first started on a virgin RAMBo board, @@ -1101,10 +1109,11 @@ void setup() // Once a firmware boots up, it forces at least a language selection, which changes // EEPROM_LANG to number lower than 0x0ff. // 1) Set a high power mode. +#ifdef TMC2130 eeprom_write_byte((uint8_t*)EEPROM_SILENT, 0); tmc2130_mode = TMC2130_MODE_NORMAL; +#endif //TMC2130 eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); //run wizard - } // Force SD card update. Otherwise the SD card update is done from loop() on card.checkautostart(false), @@ -1158,7 +1167,11 @@ void setup() } check_babystep(); //checking if Z babystep is in allowed range + +#ifdef UVLO_SUPPORT setup_uvlo_interrupt(); +#endif //UVLO_SUPPORT + #ifndef DEBUG_DISABLE_FANCHECK setup_fan_interrupt(); #endif //DEBUG_DISABLE_FANCHECK @@ -1207,7 +1220,8 @@ void setup() // Store the currently running firmware into an eeprom, // so the next time the firmware gets updated, it will know from which version it has been updated. update_current_firmware_version_to_eeprom(); - + +#ifdef UVLO_SUPPORT if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 1) { //previous print was terminated by UVLO /* if (lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_RECOVER_PRINT, false)) recover_print(); @@ -1247,6 +1261,8 @@ void setup() } } +#endif //UVLO_SUPPORT + KEEPALIVE_STATE(NOT_BUSY); wdt_enable(WDTO_4S); } @@ -2119,20 +2135,21 @@ bool gcode_M45(bool onlyZ) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; bool endstops_enabled = enable_endstops(true); +#ifdef TMC2130 tmc2130_home_enter(Z_AXIS_MASK); +#endif //TMC2130 + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); +#ifdef TMC2130 tmc2130_home_exit(); +#endif //TMC2130 enable_endstops(endstops_enabled); if (st_get_position_mm(Z_AXIS) == MESH_HOME_Z_SEARCH) { - //#ifdef TMC2130 - // tmc2130_home_enter(X_AXIS_MASK | Y_AXIS_MASK); - //#endif - int8_t verbosity_level = 0; if (code_seen('V')) { @@ -2304,6 +2321,7 @@ void process_commands() lcd_setstatus(strchr_pointer + 5); } +#ifdef TMC2130 else if(code_seen("CRASH_DETECTED")) { uint8_t mask = 0; @@ -2315,6 +2333,7 @@ void process_commands() crashdet_recover(); else if(code_seen("CRASH_CANCEL")) crashdet_cancel(); +#endif //TMC2130 else if(code_seen("PRUSA")){ if (code_seen("Ping")) { //PRUSA Ping @@ -3995,8 +4014,10 @@ void process_commands() card.openFile(strchr_pointer + 4,true); break; case 24: //M24 - Start SD print +#ifdef TMC2130 if (!card.paused) failstats_reset_print(); +#endif //TMC2130 card.startFileprint(); starttime=millis(); break; @@ -6025,6 +6046,8 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp } break; +#ifdef TMC2130 + case 910: // M910 TMC2130 init { tmc2130_init(); @@ -6104,6 +6127,8 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp } break; +#endif //TMC2130 + 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 @@ -7449,6 +7474,8 @@ void serialecho_temperatures() { extern uint32_t sdpos_atomic; +#ifdef UVLO_SUPPORT + void uvlo_() { unsigned long time_start = millis(); @@ -7458,10 +7485,12 @@ void uvlo_() disable_y(); disable_e0(); +#ifdef TMC2130 tmc2130_set_current_h(Z_AXIS, 20); tmc2130_set_current_r(Z_AXIS, 20); tmc2130_set_current_h(E_AXIS, 20); tmc2130_set_current_r(E_AXIS, 20); +#endif //TMC2130 // Indicate that the interrupt has been triggered. @@ -7469,7 +7498,10 @@ void uvlo_() // Read out the current Z motor microstep counter. This will be later used // for reaching the zero full step before powering off. - uint16_t z_microsteps = tmc2130_rd_MSCNT(Z_TMC2130_CS); + uint16_t z_microsteps = 0; +#ifdef TMC2130 + z_microsteps = tmc2130_rd_MSCNT(Z_TMC2130_CS); +#endif //TMC2130 // Calculate the file position, from which to resume this print. long sd_position = sdpos_atomic; //atomic sd position of last command added in queue @@ -7598,6 +7630,7 @@ void uvlo_() }; } +#endif //UVLO_SUPPORT void setup_fan_interrupt() { //INT7 @@ -7629,6 +7662,7 @@ ISR(INT7_vect) { EICRB ^= (1 << 6); //change edge } +#ifdef UVLO_SUPPORT void setup_uvlo_interrupt() { DDRE &= ~(1 << 4); //input pin PORTE &= ~(1 << 4); //no internal pull-up @@ -7838,6 +7872,7 @@ void restore_print_from_eeprom() { // Start SD print. enquecommand_P(PSTR("M24")); } +#endif //UVLO_SUPPORT //////////////////////////////////////////////////////////////////////////////// diff --git a/Firmware/pins_Einsy_1_0.h b/Firmware/pins_Einsy_1_0.h index 784bff221..c86c1e5e3 100644 --- a/Firmware/pins_Einsy_1_0.h +++ b/Firmware/pins_Einsy_1_0.h @@ -11,6 +11,12 @@ #define TMC2130 #define PAT9125 +#define UVLO_SUPPORT +#define UVLO_SUPPORT + +#define AMBIENT_THERMISTOR +#define PINDA_THERMISTOR + #define SWI2C // enable software i2c #define SWI2C_A8 // 8bit address functions diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h new file mode 100644 index 000000000..314114c20 --- /dev/null +++ b/Firmware/pins_Rambo_1_3.h @@ -0,0 +1,136 @@ +/***************************************************************** +* Rambo mini 1.3 Pin Assignments +******************************************************************/ + +#define ELECTRONICS "RAMBo13a" + +#define KNOWN_BOARD +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega 2560 or Rambo' selected from the 'Tools -> Boards' menu. +#endif + +#define PAT9125 + +#define PINDA_THERMISTOR + +#define SWI2C // enable software i2c +#define SWI2C_A8 // 8bit address functions + +#define PAT9125_SWI2C +#define PAT9125_SWI2C_SDA 20 //SDA on P3 +#define PAT9125_SWI2C_SCL 21 //SCL on P3 +#define PAT9125_SWI2C_CFG 0xb1 //2us clock delay, 2048 cycles timeout + +//#define PAT9125_HWI2C + +#define X_STEP_PIN 37 +#define X_DIR_PIN 48 +#define X_MIN_PIN 12 +#define X_MAX_PIN 30 +#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 24 +#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 23 +#define Z_ENABLE_PIN 27 +#define Z_MS1_PIN 68 +#define Z_MS2_PIN 67 + +#define HEATER_BED_PIN 4 //PG5 +#define TEMP_BED_PIN 2 //A2 + +#define HEATER_0_PIN 3 //PE5 +#define TEMP_0_PIN 0 //A0 + +#define HEATER_1_PIN -1 +#define TEMP_1_PIN 1 //A1 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#define TEMP_AMBIENT_PIN 6 //A6 + +#define TEMP_PINDA_PIN 3 //A3 + +#define VOLT_PWR_PIN 4 //A4 +#define VOLT_BED_PIN 9 //A9 + + +#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 MOTOR_CURRENT_PWM_XY_PIN 46 +#define MOTOR_CURRENT_PWM_Z_PIN 45 +#define MOTOR_CURRENT_PWM_E_PIN 44 +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 +#define FAN_PIN 6 +#define FAN_1_PIN -1 +#define PS_ON_PIN -1 +#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. + +#ifdef ULTRA_LCD + +//#define KILL_PIN 32 + +#ifdef NEWPANEL + +#define BEEPER 84 // 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 72 +#define BTN_EN2 14 +#define BTN_ENC 9 // the click + +#define SDCARDDETECT 15 + + +#endif //NEWPANEL +#endif //ULTRA_LCD + +// Support for an 8 bit logic analyzer, for example the Saleae. +// Channels 0-2 are fast, they could generate 2.667Mhz waveform with a software loop. +#define LOGIC_ANALYZER_CH0 X_MIN_PIN // PB6 +#define LOGIC_ANALYZER_CH1 Y_MIN_PIN // PB5 +#define LOGIC_ANALYZER_CH2 53 // PB0 (PROC_nCS) +// Channels 3-7 are slow, they could generate +// 0.889Mhz waveform with a software loop and interrupt locking, +// 1.333MHz waveform without interrupt locking. +#define LOGIC_ANALYZER_CH3 73 // PJ3 +// PK0 has no Arduino digital pin assigned, so we set it directly. +#define WRITE_LOGIC_ANALYZER_CH4(value) if (value) PORTK |= (1 << 0); else PORTK &= ~(1 << 0) // PK0 +#define LOGIC_ANALYZER_CH5 16 // PH0 (RXD2) +#define LOGIC_ANALYZER_CH6 17 // PH1 (TXD2) +#define LOGIC_ANALYZER_CH7 76 // PJ5 + +#define LOGIC_ANALYZER_CH0_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH0) +#define LOGIC_ANALYZER_CH1_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH1) +#define LOGIC_ANALYZER_CH2_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH2) +#define LOGIC_ANALYZER_CH3_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH3) +#define LOGIC_ANALYZER_CH4_ENABLE do { DDRK |= 1 << 0; } while (0) +#define LOGIC_ANALYZER_CH5_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH5); } while (0) +#define LOGIC_ANALYZER_CH6_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH6); } while (0) +#define LOGIC_ANALYZER_CH7_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH7) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index e2150d096..01f115053 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -454,6 +454,8 @@ void setExtruderAutoFanState(int pin, bool state) analogWrite(pin, newFanSpeed); } +#if (defined(TACH_0)) + void countFanSpeed() { //SERIAL_ECHOPGM("edge counter 1:"); MYSERIAL.println(fan_edge_counter[1]); @@ -526,6 +528,7 @@ void fanSpeedError(unsigned char _fan) { break; } } +#endif //(defined(TACH_0)) void checkExtruderAutoFans() @@ -660,11 +663,16 @@ void manage_heater() #endif // Check if temperature is within the correct range +#ifdef AMBIENT_THERMISTOR if(((current_temperature_ambient < MINTEMP_MINAMBIENT) || (current_temperature[e] > minttemp[e])) && (current_temperature[e] < maxttemp[e])) +#else //AMBIENT_THERMISTOR + if((current_temperature[e] > minttemp[e]) && (current_temperature[e] < maxttemp[e])) +#endif //AMBIENT_THERMISTOR { soft_pwm[e] = (int)pid_output >> 1; } - else { + else + { soft_pwm[e] = 0; } @@ -703,8 +711,10 @@ void manage_heater() (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1) if(millis() - extruder_autofan_last_check > 1000) // only need to check fan state very infrequently { +#if (defined(TACH_0)) countFanSpeed(); checkFanSpeed(); +#endif //(defined(TACH_0)) checkExtruderAutoFans(); extruder_autofan_last_check = millis(); } @@ -747,7 +757,11 @@ void manage_heater() pid_output = constrain(target_temperature_bed, 0, MAX_BED_POWER); #endif //PID_OPENLOOP +#ifdef AMBIENT_THERMISTOR if(((current_temperature_bed > BED_MINTEMP) || (current_temperature_ambient < MINTEMP_MINAMBIENT)) && (current_temperature_bed < BED_MAXTEMP)) +#else //AMBIENT_THERMISTOR + if((current_temperature_bed > BED_MINTEMP) && (current_temperature_bed < BED_MAXTEMP)) +#endif //AMBIENT_THERMISTOR { soft_pwm_bed = (int)pid_output >> 1; } @@ -924,6 +938,7 @@ static float analog2tempBed(int raw) { #endif } +#ifdef AMBIENT_THERMISTOR static float analog2tempAmbient(int raw) { float celsius = 0; @@ -944,6 +959,7 @@ static float analog2tempAmbient(int raw) if (i == AMBIENTTEMPTABLE_LEN) celsius = PGM_RD_W(AMBIENTTEMPTABLE[i-1][1]); return celsius; } +#endif //AMBIENT_THERMISTOR /* 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 */ @@ -1537,7 +1553,9 @@ void adc_ready(void) //callback from adc when sampling finished current_temperature_bed_raw = adc_values[2]; current_temperature_raw_pinda = adc_values[3]; current_voltage_raw_pwr = adc_values[4]; +#ifdef AMBIENT_THERMISTOR current_temperature_raw_ambient = adc_values[5]; +#endif //AMBIENT_THERMISTOR current_voltage_raw_bed = adc_values[6]; temp_meas_ready = true; } @@ -1895,7 +1913,9 @@ ISR(TIMER0_COMPB_vect) } #endif //BABYSTEPPING +#if (defined(TACH_0)) check_fans(); +#endif //(defined(TACH_0)) _lock = false; } @@ -1949,6 +1969,7 @@ void check_min_temp_bed() void check_min_temp() { +#ifdef AMBIENT_THERMISTOR static uint8_t heat_cycles = 0; if (current_temperature_raw_ambient > OVERSAMPLENR*MINTEMP_MINAMBIENT_RAW) { @@ -1965,10 +1986,12 @@ void check_min_temp() heat_cycles = 0; return; } +#endif //AMBIENT_THERMISTOR check_min_temp_heater0(); check_min_temp_bed(); } +#if (defined(TACH_0)) void check_fans() { if (READ(TACH_0) != fan_state[0]) { fan_edge_counter[0] ++; @@ -1979,6 +2002,7 @@ void check_fans() { // fan_state[1] = !fan_state[1]; //} } +#endif //TACH_0 #ifdef PIDTEMP // Apply the scale factors to the PID values diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 72f7c6878..cc07621f5 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -226,13 +226,20 @@ void PID_autotune(float temp, int extruder, int ncycles); void setExtruderAutoFanState(int pin, bool state); void checkExtruderAutoFans(); + +#if (defined(TACH_0)) + void countFanSpeed(); void checkFanSpeed(); void fanSpeedError(unsigned char _fan); void check_fans(); + +#endif //(defined(TACH_0)) + void check_min_temp(); void check_max_temp(); + #endif diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 29c0ed40c..977691540 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -121,8 +121,10 @@ extern void fsensor_unblock(); extern bool fsensor_enable(); extern void fsensor_disable(); +#ifdef TMC2130 extern void crashdet_enable(); extern void crashdet_disable(); +#endif //TMC2130 #ifdef SNMM @@ -186,7 +188,6 @@ static void lcd_main_menu(); static void lcd_tune_menu(); static void lcd_prepare_menu(); //static void lcd_move_menu(); -static void lcd_crash_menu(); static void lcd_settings_menu(); static void lcd_calibration_menu(); static void lcd_language_menu(); @@ -202,7 +203,9 @@ static void prusa_stat_temperatures(); static void prusa_stat_printinfo(); static void lcd_farm_no(); static void lcd_menu_extruder_info(); +#ifdef TMC2130 static void lcd_menu_fails_stats(); +#endif //TMC2130 void lcd_finishstatus(); @@ -1529,6 +1532,7 @@ static void lcd_menu_extruder_info() } } +#ifdef TMC2130 static void lcd_menu_fails_stats_total() { //01234567890123456789 @@ -1579,6 +1583,7 @@ static void lcd_menu_fails_stats() MENU_ITEM(submenu, PSTR("Total"), lcd_menu_fails_stats_total); END_MENU(); } +#endif //TMC2130 #ifdef DEBUG_BUILD @@ -1601,8 +1606,13 @@ static void lcd_menu_debug() static void lcd_menu_temperatures() { fprintf_P(lcdout, PSTR(ESC_H(1,0)"Nozzle: %d%c" ESC_H(1,1)"Bed: %d%c"), (int)current_temperature[0], '\x01', (int)current_temperature_bed, '\x01'); +#ifdef AMBIENT_THERMISTOR fprintf_P(lcdout, PSTR(ESC_H(1,2)"Ambient: %d%c" ESC_H(1,3)"PINDA: %d%c"), (int)current_temperature_ambient, '\x01', (int)current_temperature_pinda, '\x01'); - if (lcd_clicked()) +#else //AMBIENT_THERMISTOR + fprintf_P(lcdout, PSTR(ESC_H(1,2)"PINDA: %d%c"), (int)current_temperature_pinda, '\x01'); +#endif //AMBIENT_THERMISTOR + + if (lcd_clicked()) { lcd_quick_feedback(); lcd_return_to_status(); @@ -3339,6 +3349,7 @@ static void lcd_sort_type_set() { } #endif //SDCARD_SORT_ALPHA +#ifdef TMC2130 static void lcd_crash_mode_info() { lcd_update_enable(true); @@ -3370,6 +3381,7 @@ static void lcd_crash_mode_info2() else lcd_goto_menu(lcd_settings_menu, 14, true, true); } } +#endif //TMC2130 static void lcd_filament_autoload_info() { @@ -3401,10 +3413,13 @@ static void lcd_silent_mode_set() { sei(); #endif //TMC2130 digipot_init(); +#ifdef TMC2130 if (CrashDetectMenu && SilentModeMenu) lcd_goto_menu(lcd_crash_mode_info2); +#endif //TMC2130 } +#ifdef TMC2130 static void lcd_crash_mode_set() { CrashDetectMenu = !CrashDetectMenu; //set also from crashdet_enable() and crashdet_disable() @@ -3417,6 +3432,8 @@ static void lcd_crash_mode_set() else lcd_goto_menu(lcd_settings_menu, 9); } +#endif //TMC2130 + static void lcd_set_lang(unsigned char lang) { lang_selected = lang; @@ -3831,10 +3848,6 @@ void lcd_wizard(int state) { lcd_update(2); } -static void lcd_crash_menu() -{ -} - static void lcd_settings_menu() @@ -3886,6 +3899,7 @@ static void lcd_settings_menu() MENU_ITEM(function, MSG_FANS_CHECK_OFF, lcd_set_fan_check); } +#ifdef TMC2130 if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); if (SilentModeMenu == 0) @@ -3894,6 +3908,7 @@ static void lcd_settings_menu() else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); } else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); +#endif //TMC2130 if (temp_cal_active == false) { MENU_ITEM(function, MSG_TEMP_CALIBRATION_OFF, lcd_temp_calibration_set); @@ -5162,7 +5177,9 @@ static void lcd_main_menu() MENU_ITEM(submenu, MSG_STATISTICS, lcd_menu_statistics); } +#ifdef TMC2130 MENU_ITEM(submenu, PSTR("Fail stats"), lcd_menu_fails_stats); +#endif //TMC2130 MENU_ITEM(submenu, MSG_SUPPORT, lcd_support_menu); @@ -5242,6 +5259,7 @@ static void lcd_tune_menu() } #endif //DEBUG_DISABLE_FSENSORCHECK +#ifdef TMC2130 if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); @@ -5251,6 +5269,7 @@ static void lcd_tune_menu() else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); } else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); +#endif //TMC2130 END_MENU(); } diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h new file mode 100644 index 000000000..18edb0f15 --- /dev/null +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -0,0 +1,466 @@ +#ifndef CONFIGURATION_PRUSA_H +#define CONFIGURATION_PRUSA_H + +/*------------------------------------ + GENERAL SETTINGS + *------------------------------------*/ + +// Printer revision +#define FILAMENT_SIZE "1_75mm_MK25" +#define NOZZLE_TYPE "E3Dv6full" + +// Developer flag +#define DEVELOPER + +// Printer name +#define CUSTOM_MENDEL_NAME "Prusa i3 MK2.5" + +// Electronics +#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 + + +// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) +//#define E3D_PT100_EXTRUDER_WITH_AMP +//#define E3D_PT100_EXTRUDER_NO_AMP +//#define E3D_PT100_BED_WITH_AMP +//#define E3D_PT100_BED_NO_AMP + + +/*------------------------------------ + AXIS SETTINGS + *------------------------------------*/ + +// Steps per unit {X,Y,Z,E} +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} + +// 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. + +// Direction inverting +#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 true // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false + +// Home position +#define MANUAL_X_HOME_POS 0 +#define MANUAL_Y_HOME_POS -2.2 +#define MANUAL_Z_HOME_POS 0.2 + +// Travel limits after homing +#define X_MAX_POS 255 +#define X_MIN_POS 0 +#define Y_MAX_POS 210 +#define Y_MIN_POS -4 //orig -4 +#define Z_MAX_POS 210 +#define Z_MIN_POS 0.15 + +// Canceled home position +#define X_CANCEL_POS 50 +#define Y_CANCEL_POS 190 + +//Pause print position +#define X_PAUSE_POS 50 +#define Y_PAUSE_POS 190 +#define Z_PAUSE_LIFT 20 + +#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E +#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 + +#define DEFAULT_MAX_FEEDRATE {200, 200, 12, 120} // (mm/sec) max feedrate (M203) +#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) + + +#define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204S) +#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204T) + +#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) + +//number of bytes from end of the file to start check +#define END_FILE_SECTION 10000 + +#define Z_AXIS_ALWAYS_ON 1 + + +//#define DEBUG_BUILD +#ifdef DEBUG_BUILD +//#define _NO_ASM +#define DEBUG_DCODES //D codes +#define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR +//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial +//#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD +//#define DEBUG_RESUME_PRINT //Resume/save print debug enable +//#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output +//#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored +//#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored +//#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored +//#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored +//#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored +//#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored +#define DEBUG_DISABLE_STARTMSGS //no startup messages +//#define DEBUG_DISABLE_MINTEMP //mintemp error ignored +//#define DEBUG_DISABLE_SWLIMITS //sw limits ignored +//#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line +//#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed +//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages +//#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) +//#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) +//#define DEBUG_BLINK_ACTIVE +//#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) +//#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) +#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line +#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. +#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. +#endif /* DEBUG_BUILD */ + + +/*------------------------------------ + EXTRUDER SETTINGS + *------------------------------------*/ + +// Mintemps +#define HEATER_0_MINTEMP 15 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define BED_MINTEMP 15 + +// Maxtemps +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) +#define HEATER_0_MAXTEMP 410 +#else +#define HEATER_0_MAXTEMP 305 +#endif +#define HEATER_1_MAXTEMP 305 +#define HEATER_2_MAXTEMP 305 +#define BED_MAXTEMP 125 + +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) +// Define PID constants for extruder with PT100 +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else +// Define PID constants for extruder +//#define DEFAULT_Kp 40.925 +//#define DEFAULT_Ki 4.875 +//#define DEFAULT_Kd 86.085 +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 +#endif + +// 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 F7000" + +/*------------------------------------ + 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 +#define FILAMENTCHANGE_RECFEED 5 + +#define FILAMENTCHANGE_XYFEED 50 +#define FILAMENTCHANGE_EFEED 20 +//#define FILAMENTCHANGE_RFEED 400 +#define FILAMENTCHANGE_RFEED 7000 / 60 +#define FILAMENTCHANGE_EXFEED 2 +#define FILAMENTCHANGE_ZFEED 15 + +#endif + +/*------------------------------------ + ADDITIONAL FEATURES SETTINGS + *------------------------------------*/ + +// Define Prusa filament runout sensor +//#define FILAMENT_RUNOUT_SUPPORT + +#ifdef FILAMENT_RUNOUT_SUPPORT +#define FILAMENT_RUNOUT_SENSOR 1 +#endif + +// temperature runaway +#define TEMP_RUNAWAY_BED_HYSTERESIS 5 +#define TEMP_RUNAWAY_BED_TIMEOUT 360 + +#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 +#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 + +/*------------------------------------ + 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) +#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} + +// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range +#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 310 +#define MOTOR_CURRENT_PWM_RANGE 2000 +#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} +#endif + +/*------------------------------------ + PAT9125 SETTINGS + *------------------------------------*/ + +#define PAT9125_XRES 0 +#define PAT9125_YRES 255 + +/*------------------------------------ + BED SETTINGS + *------------------------------------*/ + +// Define Mesh Bed Leveling system to enable it +#define MESH_BED_LEVELING +#ifdef MESH_BED_LEVELING + +#define MBL_Z_STEP 0.01 + +// Mesh definitions +#define MESH_MIN_X 35 +#define MESH_MAX_X 238 +#define MESH_MIN_Y 6 +#define MESH_MAX_Y 202 + +// Mesh upsample definition +#define MESH_NUM_X_POINTS 7 +#define MESH_NUM_Y_POINTS 7 +// Mesh measure definition +#define MESH_MEAS_NUM_X_POINTS 3 +#define MESH_MEAS_NUM_Y_POINTS 3 + +#define MESH_HOME_Z_CALIB 0.2 +#define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. + +#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right +#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind +#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) +#endif + +// 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 + +// Bed temperature compensation settings +#define BED_OFFSET 10 +#define BED_OFFSET_START 40 +#define BED_OFFSET_CENTER 50 + + +#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) +#if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) +// Define PID constants for extruder with PT100 +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif + +//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 + + +/*----------------------------------- + PREHEAT SETTINGS + *------------------------------------*/ + +#define FARM_PREHEAT_HOTEND_TEMP 250 +#define FARM_PREHEAT_HPB_TEMP 40 +#define FARM_PREHEAT_FAN_SPEED 0 + +#define PLA_PREHEAT_HOTEND_TEMP 215 +#define PLA_PREHEAT_HPB_TEMP 60 +#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 230 +#define PET_PREHEAT_HPB_TEMP 85 +#define PET_PREHEAT_FAN_SPEED 0 + +#define FLEX_PREHEAT_HOTEND_TEMP 240 +#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 +// 148 is E3D Pt100 with 4k7 pullup and no PT100 Amplifier on a MiniRambo 1.3a +// 247 is Pt100 with 4k7 pullup and PT100 Amplifier +// 110 is Pt100 with 1k pullup (non standard) + +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) +#define TEMP_SENSOR_0 247 +#elif defined(E3D_PT100_EXTRUDER_NO_AMP) +#define TEMP_SENSOR_0 148 +#else +#define TEMP_SENSOR_0 5 +#endif +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#if defined(E3D_PT100_BED_WITH_AMP) +#define TEMP_SENSOR_BED 247 +#elif defined(E3D_PT100_BED_NO_AMP) +#define TEMP_SENSOR_BED 148 +#else +#define TEMP_SENSOR_BED 1 +#endif +#define TEMP_SENSOR_PINDA 1 + +#define STACK_GUARD_TEST_VALUE 0xA2A2 + +#define MAX_BED_TEMP_CALIBRATION 50 +#define MAX_HOTEND_TEMP_CALIBRATION 50 + +#define MAX_E_STEPS_PER_UNIT 250 +#define MIN_E_STEPS_PER_UNIT 100 + +#define Z_BABYSTEP_MIN -3999 +#define Z_BABYSTEP_MAX 0 + +#define PINDA_PREHEAT_X 20 +#define PINDA_PREHEAT_Y 60 +#define PINDA_PREHEAT_Z 0.15 +/* +#define PINDA_PREHEAT_X 70 +#define PINDA_PREHEAT_Y -3 +#define PINDA_PREHEAT_Z 1*/ +#define PINDA_HEAT_T 120 //time in s + +#define PINDA_MIN_T 50 +#define PINDA_STEP_T 10 +#define PINDA_MAX_T 100 + +#define PING_TIME 60 //time in s +#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes +#define PING_ALLERT_PERIOD 60 //time in s + +#define LONG_PRESS_TIME 1000 //time in ms for button long press +#define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release + +#define DEFAULT_PID_TEMP 210 + +#define MIN_PRINT_FAN_SPEED 75 + +#ifdef SNMM +#define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print +#else +#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print +#endif + +#define HEATBED_V2 + +#define M600_TIMEOUT 600 //seconds + +//#define SUPPORT_VERBOSITY + +#endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 3c43fd102..11ad3dc84 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -40,6 +40,14 @@ const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o 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. +// Direction inverting +#define INVERT_X_DIR true // 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 true // for Mendel set to false, for Orca set to true +#define INVERT_E0_DIR false // 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 + // Home position #define MANUAL_X_HOME_POS 0 #define MANUAL_Y_HOME_POS -2.2 From 586c1d2cdb55f2f88033ef1ef4cf69e2cb5ede19 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 1 Feb 2018 20:10:49 +0100 Subject: [PATCH 008/926] deleted hex files --- hex_files/1_75mm-RAMBo10a-E3Dv6full.hex | 8520 ------------------ hex_files/1_75mm-RAMBo10a-E3Dv6lite.hex | 8520 ------------------ hex_files/1_75mm-RAMBo13a-E3Dv6full.hex | 8531 ------------------ hex_files/1_75mm-RAMBo13a-E3Dv6lite.hex | 8531 ------------------ hex_files/1_75mm_MK2-RAMBo10a-E3Dv6full.hex | 8977 ------------------ hex_files/1_75mm_MK2-RAMBo13a-E3Dv6full.hex | 8989 ------------------- hex_files/3mm-RAMBo10a-PrusaNmk2.hex | 8512 ------------------ hex_files/3mm-RAMBo13a-PrusaNmk2.hex | 8523 ------------------ 8 files changed, 69103 deletions(-) delete mode 100644 hex_files/1_75mm-RAMBo10a-E3Dv6full.hex delete mode 100644 hex_files/1_75mm-RAMBo10a-E3Dv6lite.hex delete mode 100644 hex_files/1_75mm-RAMBo13a-E3Dv6full.hex delete mode 100644 hex_files/1_75mm-RAMBo13a-E3Dv6lite.hex delete mode 100644 hex_files/1_75mm_MK2-RAMBo10a-E3Dv6full.hex delete mode 100644 hex_files/1_75mm_MK2-RAMBo13a-E3Dv6full.hex delete mode 100644 hex_files/3mm-RAMBo10a-PrusaNmk2.hex delete mode 100644 hex_files/3mm-RAMBo13a-PrusaNmk2.hex diff --git a/hex_files/1_75mm-RAMBo10a-E3Dv6full.hex b/hex_files/1_75mm-RAMBo10a-E3Dv6full.hex deleted file mode 100644 index 51edee743..000000000 --- a/hex_files/1_75mm-RAMBo10a-E3Dv6full.hex +++ /dev/null @@ -1,8520 +0,0 @@ -:100000000C9468300C9499300C9499300C9499307D -:100010000C9499300C9499300C9499300C9499303C -:100020000C9499300C9499300C9499300C9499302C -:100030000C9499300C9422F40C9499300C949930CF -:100040000C9499300C944DD20C9499300C949930B6 -:100050000C9499300C9499300C9407490C94E2EF6D -:100060000C9499300C941BCF0C9499300C949930CB -:100070000C9499300C9499300C9499300C949930DC -:100080000C9499300C9499300C9499300C949930CC -:100090000C9499300C9499300C9499300C9414ED84 -:1000A0000C9499300C9499300C9499300C949930AC -:1000B0000C9499300C9499300C9499300C9499309C -:1000C0000C9499300C9499300C9499300C9499308C -:1000D0000C9499300C9499300C9499300C9499307C -:1000E0000C949930544962497E498C49A649B449D7 -:1000F000CE49D249D449D849E04966EE6BEE70EE5C -:100100007AEEF3EE84EE8CEE94EE9EEEA8EEB2EE76 -:10011000C1EECBEEF3EED5EEDFEEE9EE11EF14EF2C -:1001200007EF0BEF4BEF18EF1CEF22EF26EF2AEF54 -:1001300030EF34EF38EF4BEF3EEF42EF46EF084A37 -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8 -:100190003F2F5B5D3B2C2A225C004572723A204D5A -:1001A000415854454D50204245440054656D70659A -:1001B000726174757265206865617465642062653A -:1001C00064207377697463686564206F66662E20A7 -:1001D0004D415854454D502074726967676572658A -:1001E000642021004572723A204D494E54454D50CD -:1001F000003A20457874727564657220737769746B -:1002000063686564206F66662E204D494E54454DE7 -:1002100050207472696767657265642021004572B9 -:10022000723A204D415854454D50003A204578745B -:100230007275646572207377697463686564206F92 -:1002400066662E204D415854454D502074726967A2 -:100250006765726564202100544845524D414C2029 -:1002600052554E4157415900202D20496E76616C00 -:100270006964206578747275646572206E756D624C -:100280006572202100504944204175746F74756E69 -:10029000652066696E6973686564212050757420F5 -:1002A000746865206C617374204B702C204B69203E -:1002B000616E64204B6420636F6E7374616E74733F -:1002C0002066726F6D2061626F766520696E746F53 -:1002D00020436F6E66696775726174696F6E2E6810 -:1002E00000504944204175746F74756E65206661D5 -:1002F000696C6564212074696D656F7574002040B8 -:100300003A006F6B20543A006F6B20423A0050491C -:1003100044204175746F74756E65206661696C6503 -:1003200064212054656D7065726174757265207406 -:100330006F6F206869676800204B643A2000204B8B -:10034000693A2000204B703A200020436C6173739F -:1003500069632050494420002054753A2000204B06 -:10036000753A2000206D61783A2000206D696E3A60 -:10037000200020643A200020626961733A20001056 -:1003800000C90210012C014001220170011801B0C6 -:10039000010E01F00104015002FA00B002F0003039 -:1003A00003E600D003DC009004D2007005C800A072 -:1003B00006BE000008B400B009AA00D00BA000607F -:1003C0000E960060118C000015820020197800C084 -:1003D0001D6E00A0226400B0275A00902C5000002F -:1003E000314600E0343C0010383200903A2800607A -:1003F0003C1E00A03D1400803E0A00203F0000701B -:10040000012C0190012701B0012201C0011D01F062 -:100410000118011002130130020E0160020901905F -:10042000020401C002FF000003FA004003F500804F -:1004300003F000D003EB002004E6007004E100E0CC -:1004400004DC004005D700C005D2004006CD00D036 -:1004500006C8008007C3003008BE00F008B900C01D -:1004600009B400B00AAF00B00BAA00D00CA5000080 -:100470000EA000500F9B00C010960050129100007B -:10048000148C00C0158700B0178200B0197D00D011 -:100490001B7800001E730040206E0090226900F05F -:1004A00024640040275F0090295A00E02B5500107B -:1004B0002E500020304B0010324600E033410090B7 -:1004C000353C001037370070383200A0392D00B0AD -:1004D0003A2800A03B2300603C1E00103D1900900C -:1004E0003D1400103E0F00703E0A00C03E050000A3 -:1004F0003F00004472756B207A2055534220200043 -:10050000496D70726573696F6E2064652055534242 -:1005100020005374616D7061206461205553420066 -:100520005469736B207A2055534220200055534262 -:10053000207072696E74696E672020005374617454 -:10054000797374796B6120200045737461646973F9 -:100550007469636120200053746174697374696302 -:1005600068650053746174697374696B612020005D -:100570005374617469737469637320200053656CEC -:100580006674657374206E69657564616E79004187 -:1005900075746F746573742066616C6C61646F0050 -:1005A0004175746F746573742066616C6C69746FE7 -:1005B0000053656C66746573742073656C68616C58 -:1005C00020200053656C6674657374206661696CE5 -:1005D000656420200053656C667465737420202068 -:1005E000202020202020004175746F7465737400F2 -:1005F0004175746F746573740053656C66746573CC -:10060000742020202020202020200053656C667458 -:100610006573742020202020202020200057737A2A -:100620007973746B6F204F4B2020202020200054C2 -:100630006F646F2062696520004E657373756E206C -:100640006572726F726500567365204F4B202020D3 -:10065000202020202020202000416C6C20636F721D -:1006600072656374202020202020004B6F6E74720E -:100670006F6C6120626564202020202000436F6E33 -:1006800074726F6C2064652063616D6100566572E1 -:1006900069666963612070696173747261004B6F90 -:1006A0006E74726F6C6120626564202020202000CF -:1006B000436865636B696E67206265642020202053 -:1006C00020004B6F6E74726F6C61205A20617869E4 -:1006D00073202000436F6E74726F6C2064656C2011 -:1006E000656A65205A0056657269666963612061B2 -:1006F000737365205A004B6F6E74726F6C61205A71 -:100700002061786973202000436865636B696E67B8 -:10071000205A20617869732020004B6F6E74726FCD -:100720006C6120592061786973202000436F6E74DA -:10073000726F6C2064656C20656A6520590056658F -:1007400072696669636120617373652059004B6F3C -:100750006E74726F6C61205920617869732020007B -:10076000436865636B696E672059206178697320FF -:1007700020004B6F6E74726F6C6120582061786935 -:1007800073202000436F6E74726F6C2064656C2060 -:10079000656A652058005665726966696361206103 -:1007A0007373652058004B6F6E74726F6C612058C4 -:1007B0002061786973202000436865636B696E6708 -:1007C000205820617869732020004B6F6E74726F1F -:1007D0006C6120686F74656E64202000436F6E74D6 -:1007E000726F6C20686F74656E6420005665726964 -:1007F00066696361206C696D2074656D70004B6F74 -:100800006E74726F6C6120686F74656E6420200076 -:10081000436865636B696E6720686F74656E6420FA -:1008200020004B6F6E74726F6C6120656E64737420 -:100830006F707300436F6E742E20746F7065732039 -:1008400066696E616C005665726966696361206CE9 -:10085000696D697469004B6F6E74726F6C612065AD -:100860006E6473746F707300436865636B696E6761 -:1008700020656E6473746F70730053656C662074CA -:100880006573742073746172742020004175746FF5 -:10089000746573742073616C69646100496E697A70 -:1008A0006961206175746F746573740053656C665B -:1008B0002074657374207374617274202000536512 -:1008C0006C662074657374207374617274202000E8 -:1008D000437A6173206472756B75203A202000544E -:1008E00069656D706F20646520696D702E3A0054E3 -:1008F000656D706F207374616D70613A0043617350 -:10090000207469736B75203A2020005072696E74F0 -:100910002074696D653A20200046696C616D656ED2 -:1009200074203A20200046696C616D656E746F20FA -:100930003A20200046696C616D656E746F3A00461E -:10094000696C616D656E74203A20200046696C61A7 -:100950006D656E7420757365643A202000437A617A -:10096000732063616C6B6F77697479203A00546906 -:10097000656D706F20746F74616C203A0054656D02 -:10098000706F207374616D706120746F743A0043EE -:10099000656C6B6F767920636173203A00546F74D5 -:1009A000616C207072696E742074696D65203A0004 -:1009B00046696C616D656E74206C61637A6E696501 -:1009C000203A0046696C616D656E746F20746F74B7 -:1009D000616C3A0046696C616D656E746F20746F6E -:1009E000743A0046696C616D656E742063656C6B6A -:1009F000656D203A00546F74616C2066696C616D9E -:100A0000656E74203A0053656C66207465737420BB -:100A10004F4B0053656C662074657374204F4B0018 -:100A20004175746F74657374204F4B0053656C6629 -:100A30002074657374204F4B0053656C6620746599 -:100A40007374204F4B00456E6473746F70206E6F2B -:100A5000742068697400546F70652066696E2E207A -:100A60006E6F20746F632E004C696D2E2066756F5B -:100A70007269706F727461746100456E6473746F33 -:100A800070206E6F742068697400456E6473746FB3 -:100A900070206E6F742068697400456E6473746FA3 -:100AA0007000546F70652066696E616C004C696DF2 -:100AB00069746520636F72736100456E6473746F4F -:100AC0007000456E6473746F700053696C6E696B6F -:100AD000004D6F746F72004D6F746F7265004D6FD3 -:100AE000746F72004D6F746F7200456E6473746F33 -:100AF000707300546F7065732066696E616C004C92 -:100B0000696D69746920636F72736100456E647307 -:100B1000746F707300456E6473746F707300426C11 -:100B2000616420706F6C61637A656E696100457203 -:100B3000726F7220646520636F6E657869C383C6C7 -:100B400092C382C2B36E004572726F726520636198 -:100B5000626C616767696F004368796261207A61DE -:100B6000706F6A656E6900576972696E6720657299 -:100B7000726F7200426564202F204865617465724F -:100B80000043616D612F43616C656E7461646F72C7 -:100B900000506961737472612F52697363616C6490 -:100BA00061746F726500426564202F20486561742E -:100BB000657200426564202F20486561746572008B -:100BC0004865617465722F546865726D6973746FDE -:100BD000720043616C656E742E2F5465726D69737B -:100BE000746F720052697363616C642E2F54657266 -:100BF0006D6973746F7265004865617465722F5416 -:100C00006865726D6973746F7200486561746572AE -:100C10002F546865726D6973746F72004E69652038 -:100C2000706F646C61637A6F6E6F202020004E6F6E -:100C30002068617920636F6E6578696F6E2020008F -:100C40004E6F6E20636F6E6E6573736F004E657AC4 -:100C500061706F6A656E6F20202020004E6F7420D7 -:100C6000636F6E6E656374656400536B6F6E747250 -:100C70006F6C756A203A00436F6E74726F6C6120FE -:100C80003A0056657269666963613A005A6B6F6E25 -:100C900074726F6C756A7465203A00506C6561738C -:100CA0006520636865636B203A0053656C66746504 -:100CB0007374206572726F72202100C383E2809A80 -:100CC000C382C2A14175746F7465737420657272BA -:100CD0006F7221004175746F74657374206E65675F -:100CE000617469766F0053656C6674657374206512 -:100CF00072726F7220210053656C66746573742084 -:100D00006572726F72202100686F77746F2E707237 -:100D100075736133642E637A00686F77746F2E7019 -:100D20007275736133642E636F6D00686F77746FD3 -:100D30002E707275736133642E636F6D00686F7708 -:100D4000746F2E707275736133642E637A00686FEE -:100D500077746F2E707275736133642E636F6D00DC -:100D6000666F72756D2E707275736133642E637A5F -:100D700000666F72756D2E707275736133642E63C9 -:100D80006F6D00666F72756D2E707275736133646E -:100D90002E636F6D00666F72756D2E707275736164 -:100DA00033642E637A00666F72756D2E7072757380 -:100DB0006133642E636F6D00707275736133642EDE -:100DC000637A00707275736133642E636F6D0070A7 -:100DD0007275736133642E636F6D00707275736129 -:100DE00033642E637A00707275736133642E636F9F -:100DF0006D005779626F72206A657A796B61202085 -:100E00002020202020200043616D626961206C61F8 -:100E1000206C656E677561200053656C657A2E20C5 -:100E20006C61206C696E677561005679626572202D -:100E30006A617A796B6120202020202020200053D5 -:100E4000656C656374206C616E67756167652020F1 -:100E500020202000506F6C736B6900457370616EC9 -:100E60006F6C004974616C69616E6F0043657374E7 -:100E7000696E6100456E676C697368004572726FD8 -:100E80007220696E206D656E75207374727563745F -:100E9000757265004572726F7220696E206D656EA5 -:100EA0007520737472756374757265004572726F24 -:100EB0007220696E206D656E75207374727563742F -:100EC000757265004572726F7220696E206D656E75 -:100ED0007520737472756374757265004572726FF4 -:100EE0007220696E206D656E7520737472756374FF -:100EF00075726500446F737461766F76616E6920F8 -:100F00005A0041646A757374696E67205A004164BF -:100F10006A757374696E67205A00446F73746176E2 -:100F20006F76616E69205A0041646A757374696EE8 -:100F300067205A00426162797374657070696E67E8 -:100F4000205900426162797374657070696E672020 -:100F50005900426162797374657070696E672059D7 -:100F600000426162797374657070696E6720590020 -:100F7000426162797374657070696E6720590042CE -:100F80006162797374657070696E672058004261A0 -:100F900062797374657070696E672058004261628F -:100FA000797374657070696E672058004261627968 -:100FB0007374657070696E6720580042616279735E -:100FC00074657070696E6720580020746F6F206CB4 -:100FD0006F6E6720657874727573696F6E207072BA -:100FE0006576656E7465640020746F6F206C6F6E3B -:100FF0006720657874727573696F6E20707265769C -:10100000656E7465640020746F6F206C6F6E67206E -:10101000657874727573696F6E2070726576656E2F -:101020007465640020746F6F206C6F6E6720657844 -:1010300074727573696F6E2070726576656E746513 -:10104000640020746F6F206C6F6E67206578747217 -:101050007573696F6E2070726576656E7465640075 -:1010600020636F6C6420657874727573696F6E208D -:1010700070726576656E7465640020636F6C6420C1 -:10108000657874727573696F6E2070726576656EBF -:101090007465640020636F6C642065787472757386 -:1010A000696F6E2070726576656E7465640020638A -:1010B0006F6C6420657874727573696F6E207072DE -:1010C0006576656E7465640020636F6C6420657876 -:1010D00074727573696F6E2070726576656E746573 -:1010E0006400656E6473746F7073206869743A206D -:1010F00000656E6473746F7073206869743A2000C1 -:10110000656E6473746F7073206869743A2000654B -:101110006E6473746F7073206869743A2000656E32 -:101120006473746F7073206869743A200053746537 -:10113000707261746520746F6F20686967683A2007 -:1011400000537465707261746520746F6F206869F4 -:1011500067683A2000537465707261746520746F1B -:101160006F20686967683A20005374657072617413 -:101170006520746F6F20686967683A200053746552 -:10118000707261746520746F6F20686967683A20B7 -:101190000043616E6E6F7420656E746572207375A6 -:1011A000626469723A200043616E6E6F7420656EEE -:1011B000746572207375626469723A200043616ECF -:1011C0006E6F7420656E74657220737562646972E7 -:1011D0003A200043616E6E6F7420656E74657220F4 -:1011E0007375626469723A200043616E6E6F742099 -:1011F000656E746572207375626469723A20006569 -:1012000072726F722077726974696E6720746F20D2 -:1012100066696C65006572726F72207772697469B5 -:101220006E6720746F2066696C65006572726F72FC -:101230002077726974696E6720746F2066696C65C7 -:10124000006572726F722077726974696E672074BC -:101250006F2066696C65006572726F7220777269C3 -:1012600074696E6720746F2066696C65004E6F74D8 -:10127000205344207072696E74696E67004E6F74FB -:10128000205344207072696E74696E67004E6F74EB -:10129000205344207072696E74696E67004E6F74DB -:1012A000205344207072696E74696E67004E6F74CB -:1012B000205344207072696E74696E670053442035 -:1012C0007072696E74696E6720627974652000536C -:1012D00044207072696E74696E672062797465204B -:1012E000005344207072696E74696E67206279746D -:1012F0006520005344207072696E74696E672062C5 -:1013000079746520005344207072696E74696E6749 -:101310002062797465200057726974696E67207461 -:101320006F2066696C653A200057726974696E6750 -:1013300020746F2066696C653A2000577269746981 -:101340006E6720746F2066696C653A200057726979 -:1013500074696E6720746F2066696C653A20005767 -:10136000726974696E6720746F2066696C653A20D3 -:101370000046696C652073656C656374656400463E -:10138000696C652073656C65637465640046696C9F -:10139000652073656C65637465640046696C6520DF -:1013A00073656C65637465640046696C652073657C -:1013B0006C6563746564002053697A653A20002087 -:1013C00053697A653A20002053697A653A200020F3 -:1013D00053697A653A20002053697A653A200046BD -:1013E000696C65206F70656E65643A200046696CB3 -:1013F00065206F70656E65643A200046696C6520F3 -:101400006F70656E65643A200046696C65206F7088 -:10141000656E65643A200046696C65206F70656E84 -:1014200065643A20006F70656E206661696C656462 -:101430002C2046696C653A20006F70656E206661ED -:10144000696C65642C2046696C653A20006F706594 -:101450006E206661696C65642C2046696C653A2073 -:10146000006F70656E206661696C65642C2046694A -:101470006C653A20006F70656E206661696C65640A -:101480002C2046696C653A2000776F726B44697254 -:10149000206F70656E206661696C656400776F729D -:1014A0006B446972206F70656E206661696C65645B -:1014B00000776F726B446972206F70656E20666191 -:1014C000696C656400776F726B446972206F706538 -:1014D0006E206661696C656400776F726B44697237 -:1014E000206F70656E206661696C656400534420EE -:1014F00063617264206F6B005344206361726420E7 -:101500006F6B0053442063617264206F6B0053441F -:101510002063617264206F6B0053442063617264C6 -:10152000206F6B006F70656E526F6F74206661691B -:101530006C6564006F70656E526F6F7420666169D0 -:101540006C6564006F70656E526F6F7420666169C0 -:101550006C6564006F70656E526F6F7420666169B0 -:101560006C6564006F70656E526F6F7420666169A0 -:101570006C656400766F6C756D652E696E6974209C -:101580006661696C656400766F6C756D652E696E59 -:101590006974206661696C656400766F6C756D6551 -:1015A0002E696E6974206661696C656400766F6C83 -:1015B000756D652E696E6974206661696C6564007D -:1015C000766F6C756D652E696E6974206661696CE5 -:1015D000656400534420696E6974206661696C001B -:1015E000534420696E6974206661696C005344201D -:1015F000696E6974206661696C00534420696E6984 -:1016000074206661696C00534420696E69742066B9 -:1016100061696C0043616E6E6F74206F70656E203F -:101620007375626469720043616E6E6F74206F70CF -:10163000656E207375626469720043616E6E6F74CB -:10164000206F70656E207375626469720043616E0D -:101650006E6F74206F70656E2073756264697200BE -:1016600043616E6E6F74206F70656E207375626477 -:10167000697200486F74656E64206F666673657486 -:10168000733A00486F74656E64206F6666736574A4 -:10169000733A00486F74656E64206F666673657494 -:1016A000733A00486F74656E64206F666673657484 -:1016B000733A00486F74656E64206F666673657474 -:1016C000733A006F70656E006F70656E006F7065C5 -:1016D0006E006F70656E006F70656E005452494702 -:1016E00047455245440054524947474552454400F6 -:1016F000545249474745524544005452494747458B -:1017000052454400545249474745524544005265AA -:10171000706F7274696E6720656E6473746F702089 -:10172000737461747573005265706F7274696E675B -:1017300020656E6473746F702073746174757300C8 -:101740005265706F7274696E6720656E6473746F32 -:101750007020737461747573005265706F72746970 -:101760006E6720656E6473746F7020737461747536 -:1017700073005265706F7274696E6720656E647372 -:10178000746F7020737461747573007A5F6D617823 -:101790003A20007A5F6D61783A20007A5F6D617857 -:1017A0003A20007A5F6D61783A20007A5F6D617847 -:1017B0003A20007A5F6D696E3A20007A5F6D696E3B -:1017C0003A20007A5F6D696E3A20007A5F6D696E2B -:1017D0003A20007A5F6D696E3A2000795F6D61781A -:1017E0003A2000795F6D61783A2000795F6D617809 -:1017F0003A2000795F6D61783A2000795F6D6178F9 -:101800003A2000795F6D696E3A2000795F6D696EEC -:101810003A2000795F6D696E3A2000795F6D696EDC -:101820003A2000795F6D696E3A2000785F6D6178CB -:101830003A2000785F6D61783A2000785F6D6178BA -:101840003A2000785F6D61783A2000785F6D6178AA -:101850003A2000785F6D696E3A2000785F6D696E9E -:101860003A2000785F6D696E3A2000785F6D696E8E -:101870003A2000785F6D696E3A2000496E76616C9F -:10188000696420657874727564657200496E76616A -:101890006C696420657874727564657200496E764F -:1018A000616C696420657874727564657200496E54 -:1018B00076616C696420657874727564657200493C -:1018C0006E76616C69642065787472756465720007 -:1018D0004163746976652045787472756465723AFF -:1018E000200041637469766520457874727564657B -:1018F000723A200041637469766520457874727588 -:101900006465723A20004163746976652045787495 -:1019100072756465723A200041637469766520458A -:10192000787472756465723A2000556E6B6E6F77CD -:101930006E20636F6D6D616E643A202200556E6B90 -:101940006E6F776E20636F6D6D616E643A2022005A -:10195000556E6B6E6F776E20636F6D6D616E643A5E -:10196000202200556E6B6E6F776E20636F6D6D6118 -:101970006E643A202200556E6B6E6F776E20636F37 -:101980006D6D616E643A202200526573656E643A33 -:101990002000526573656E643A2000526573656E6F -:1019A000643A2000526573656E643A200052657394 -:1019B000656E643A20005072696E746572207374AB -:1019C0006F707065642064756520746F2065727235 -:1019D0006F72732E20466978207468652065727274 -:1019E0006F7220616E6420757365204D393939201E -:1019F000746F20726573746172742E202854656D43 -:101A000070657261747572652069732072657365A3 -:101A1000742E205365742069742061667465722089 -:101A200072657374617274696E6729005072696EB1 -:101A30007465722073746F707065642064756520BE -:101A4000746F206572726F72732E204669782074ED -:101A50006865206572726F7220616E6420757365AF -:101A6000204D39393920746F207265737461727436 -:101A70002E202854656D70657261747572652069D9 -:101A8000732072657365742E205365742069742009 -:101A900061667465722072657374617274696E67D1 -:101AA00029005072696E7465722073746F7070656E -:101AB000642064756520746F206572726F72732E76 -:101AC0002046697820746865206572726F722061A3 -:101AD0006E6420757365204D39393920746F20721A -:101AE0006573746172742E202854656D706572611F -:101AF000747572652069732072657365742E205346 -:101B000065742069742061667465722072657374EF -:101B1000617274696E6729005072696E7465722013 -:101B200073746F707065642064756520746F2065D0 -:101B300072726F72732E2046697820746865206512 -:101B400072726F7220616E6420757365204D393931 -:101B50003920746F20726573746172742E2028545A -:101B6000656D706572617475726520697320726548 -:101B70007365742E205365742069742061667465E2 -:101B8000722072657374617274696E672900507295 -:101B9000696E7465722073746F707065642064750B -:101BA0006520746F206572726F72732E204669789B -:101BB00020746865206572726F7220616E64207592 -:101BC0007365204D39393920746F207265737461E3 -:101BD00072742E202854656D70657261747572651B -:101BE0002069732072657365742E205365742069B3 -:101BF00074206166746572207265737461727469B1 -:101C00006E6729005072696E7465722068616C7429 -:101C100065642E206B696C6C28292063616C6C658F -:101C20006421005072696E7465722068616C74651D -:101C3000642E206B696C6C28292063616C6C656470 -:101C400021005072696E7465722068616C746564FD -:101C50002E206B696C6C28292063616C6C65642193 -:101C6000005072696E7465722068616C7465642ED0 -:101C7000206B696C6C28292063616C6C65642100A1 -:101C80005072696E7465722068616C7465642E2090 -:101C90006B696C6C28292063616C6C656421002081 -:101CA000436F756E7420583A200020436F756E7430 -:101CB00020583A200020436F756E7420583A200057 -:101CC00020436F756E7420583A200020436F756E64 -:101CD0007420583A20004649524D574152455F4EB4 -:101CE000414D453A4D61726C696E2056312E302E51 -:101CF000323B20537072696E7465722F6772626C2A -:101D0000206D617368757020666F722067656E362E -:101D1000204649524D574152455F55524C3A6874DE -:101D20007470733A2F2F6769746875622E636F6DD4 -:101D30002F707275736133642F50727573612D69E2 -:101D4000332D506C75732F2050524F544F434F4CCE -:101D50005F56455253494F4E3A312E30204D414344 -:101D600048494E455F545950453A50727573612049 -:101D700069332045585452554445525F434F554EA0 -:101D8000543A3120555549443A30303030303030B3 -:101D9000302D303030302D303030302D303030304C -:101DA0002D3030303030303030303030300A004676 -:101DB00049524D574152455F4E414D453A4D617232 -:101DC0006C696E2056312E302E323B205370726972 -:101DD0006E7465722F6772626C206D6173687570C6 -:101DE00020666F722067656E36204649524D574116 -:101DF00052455F55524C3A68747470733A2F2F678E -:101E000069746875622E636F6D2F707275736133BC -:101E1000642F50727573612D69332D506C75732F5B -:101E20002050524F544F434F4C5F56455253494FE9 -:101E30004E3A312E30204D414348494E455F54596A -:101E400050453A5072757361206933204558545299 -:101E5000554445525F434F554E543A3120555549EC -:101E6000443A30303030303030302D303030302D5A -:101E7000303030302D303030302D30303030303068 -:101E80003030303030300A004649524D57415245CB -:101E90005F4E414D453A4D61726C696E2056312E50 -:101EA000302E323B20537072696E7465722F6772E8 -:101EB000626C206D617368757020666F7220676553 -:101EC0006E36204649524D574152455F55524C3A65 -:101ED00068747470733A2F2F6769746875622E6323 -:101EE0006F6D2F707275736133642F5072757361EB -:101EF0002D69332D506C75732F2050524F544F4322 -:101F00004F4C5F56455253494F4E3A312E30204D7B -:101F1000414348494E455F545950453A5072757394 -:101F2000612069332045585452554445525F434F10 -:101F3000554E543A3120555549443A3030303030BE -:101F40003030302D303030302D303030302D30309A -:101F500030302D3030303030303030303030300AAA -:101F6000004649524D574152455F4E414D453A4D0D -:101F700061726C696E2056312E302E323B205370C8 -:101F800072696E7465722F6772626C206D6173681E -:101F9000757020666F722067656E36204649524D17 -:101FA000574152455F55524C3A68747470733A2FDA -:101FB0002F6769746875622E636F6D2F7072757309 -:101FC0006133642F50727573612D69332D506C75B8 -:101FD000732F2050524F544F434F4C5F564552532E -:101FE000494F4E3A312E30204D414348494E455FCE -:101FF000545950453A5072757361206933204558E1 -:102000005452554445525F434F554E543A31205532 -:102010005549443A30303030303030302D30303067 -:10202000302D303030302D303030302D30303030B9 -:1020300030303030303030300A004649524D574150 -:1020400052455F4E414D453A4D61726C696E205666 -:10205000312E302E323B20537072696E7465722FB0 -:102060006772626C206D617368757020666F722094 -:1020700067656E36204649524D574152455F55526D -:102080004C3A68747470733A2F2F6769746875627C -:102090002E636F6D2F707275736133642F5072757C -:1020A00073612D69332D506C75732F2050524F542E -:1020B0004F434F4C5F56455253494F4E3A312E30A5 -:1020C000204D414348494E455F545950453A50725E -:1020D0007573612069332045585452554445525F09 -:1020E000434F554E543A3120555549443A303030DB -:1020F00030303030302D303030302D303030302DE9 -:10210000303030302D3030303030303030303030D2 -:10211000300A0053746F6C696B204F4B2E00426184 -:102120007365206C6973746F2E0050696174746FED -:1021300020666174746F2E00426564204F4B2E0040 -:1021400042656420646F6E650047727A616E6965EE -:102150002073746F6C696B612E2E00426173652071 -:1021600043616C656E74616E646F00506961747474 -:102170006F2072697363616C64616D2E005A6168CF -:10218000726976616E692062656400426564204808 -:10219000656174696E670047727A616E6965204F88 -:1021A0004B2E0043616C656E74616E646F206C69C8 -:1021B00073746F2E0052697363616C64616D656E38 -:1021C000746F20666174746F2E005A61687269764C -:1021D000616E69204F4B2E0048656174696E6720FF -:1021E000646F6E652E0047727A616E69652E2E2EC1 -:1021F0000043616C656E74616E646F2E2E2E00520A -:10220000697363616C64616D656E746F2E2E2E0050 -:102210005A6168726976616E690048656174696EB9 -:1022200067004D31303920496E76616C69642065F4 -:102230007874727564657220004D31303920496EB2 -:1022400076616C69642065787472756465722000CB -:102250004D31303920496E76616C6964206578743F -:10226000727564657220004D31303920496E766197 -:102270006C696420657874727564657220004D31F4 -:10228000303920496E76616C6964206578747275A6 -:1022900064657220004E6F20746865726D69737496 -:1022A0006F7273202D206E6F2074656D7065726182 -:1022B00074757265004E6F20746865726D69737411 -:1022C0006F7273202D206E6F2074656D7065726162 -:1022D00074757265004E6F20746865726D697374F1 -:1022E0006F7273202D206E6F2074656D7065726142 -:1022F00074757265004E6F20746865726D697374D1 -:102300006F7273202D206E6F2074656D7065726121 -:1023100074757265004E6F20746865726D697374B0 -:102320006F7273202D206E6F2074656D7065726101 -:1023300074757265004D32323120496E76616C6978 -:102340006420657874727564657220004D32323194 -:1023500020496E76616C6964206578747275646575 -:102360007220004D32323120496E76616C696420F2 -:10237000657874727564657220004D32323120497F -:102380006E76616C6964206578747275646572201C -:10239000004D32323120496E76616C696420657877 -:1023A00074727564657220004D32313820496E7642 -:1023B000616C696420657874727564657220004D83 -:1023C00032313820496E76616C69642065787472A8 -:1023D0007564657220004D32313820496E76616C2B -:1023E000696420657874727564657220004D3231BD -:1023F0003820496E76616C69642065787472756402 -:10240000657220004D32313820496E76616C696406 -:1024100020657874727564657220004D323030200A -:10242000496E76616C696420657874727564657252 -:1024300020004D32303020496E76616C6964206531 -:102440007874727564657220004D32303020496EA8 -:1024500076616C69642065787472756465722000B9 -:102460004D32303020496E76616C69642065787435 -:10247000727564657220004D32303020496E76618D -:102480006C696420657874727564657220004D31E2 -:10249000303520496E76616C696420657874727598 -:1024A00064657220004D31303520496E76616C696B -:1024B0006420657874727564657220004D31303522 -:1024C00020496E76616C6964206578747275646504 -:1024D0007220004D31303520496E76616C69642080 -:1024E000657874727564657220004D31303520490D -:1024F0006E76616C696420657874727564657220AB -:10250000004D31303420496E76616C696420657805 -:1025100074727564657220004D31303420496E76D6 -:10252000616C696420657874727564657220004D11 -:1025300031303420496E76616C696420657874723C -:102540007564657220004D31303420496E76616CBF -:10255000696420657874727564657220004D31304D -:102560003420496E76616C69642065787472756494 -:1025700065722000456E642066696C65206C697325 -:102580007400456E642066696C65206C6973740024 -:10259000456E642066696C65206C69737400456ED5 -:1025A000642066696C65206C69737400456E6420F4 -:1025B00066696C65206C69737400426567696E209A -:1025C00066696C65206C69737400426567696E208A -:1025D00066696C65206C69737400426567696E207A -:1025E00066696C65206C69737400426567696E206A -:1025F00066696C65206C69737400426567696E205A -:1026000066696C65206C69737400446F6E65207038 -:1026100072696E74696E672066696C6500446F6EDE -:1026200065207072696E74696E672066696C6500FA -:10263000446F6E65207072696E74696E672066699A -:102640006C6500446F6E65207072696E74696E67A8 -:102650002066696C6500446F6E65207072696E74E7 -:10266000696E672066696C65004E6F204C696E6507 -:10267000204E756D626572207769746820636865A5 -:10268000636B73756D2C204C617374204C696E659F -:102690003A20004E6F204C696E65204E756D626564 -:1026A00072207769746820636865636B73756D2C3D -:1026B000204C617374204C696E653A20004E6F2087 -:1026C0004C696E65204E756D62657220776974681D -:1026D00020636865636B73756D2C204C6173742087 -:1026E0004C696E653A20004E6F204C696E65204E35 -:1026F000756D626572207769746820636865636BC5 -:1027000073756D2C204C617374204C696E653A2092 -:10271000004E6F204C696E65204E756D62657220AB -:102720007769746820636865636B73756D2C204CE2 -:10273000617374204C696E653A20004E6F204368C7 -:1027400065636B73756D2077697468206C696E655D -:10275000206E756D6265722C204C617374204C691B -:102760006E653A20004E6F20436865636B73756D2C -:102770002077697468206C696E65206E756D62657E -:10278000722C204C617374204C696E653A20004EA7 -:102790006F20436865636B73756D2077697468207B -:1027A0006C696E65206E756D6265722C204C61736C -:1027B00074204C696E653A20004E6F204368656353 -:1027C0006B73756D2077697468206C696E65206E17 -:1027D000756D6265722C204C617374204C696E6556 -:1027E0003A20004E6F20436865636B73756D2077E8 -:1027F000697468206C696E65206E756D6265722CF7 -:10280000204C617374204C696E653A2000636865E2 -:10281000636B73756D206D69736D617463682C20D3 -:102820004C617374204C696E653A2000636865637F -:102830006B73756D206D69736D617463682C204CCA -:10284000617374204C696E653A2000636865636B40 -:1028500073756D206D69736D617463682C204C61B4 -:102860007374204C696E653A2000636865636B730E -:10287000756D206D69736D617463682C204C617394 -:1028800074204C696E653A2000636865636B7375EC -:102890006D206D69736D617463682C204C61737475 -:1028A000204C696E653A20004C696E65204E756D4E -:1028B000626572206973206E6F74204C617374209E -:1028C0004C696E65204E756D6265722B312C204C03 -:1028D000617374204C696E653A20004C696E652006 -:1028E0004E756D626572206973206E6F74204C6145 -:1028F0007374204C696E65204E756D6265722B3164 -:102900002C204C617374204C696E653A20004C6930 -:102910006E65204E756D626572206973206E6F74EE -:10292000204C617374204C696E65204E756D626534 -:10293000722B312C204C617374204C696E653A20E7 -:10294000004C696E65204E756D626572206973205A -:102950006E6F74204C617374204C696E65204E75E7 -:102960006D6265722B312C204C617374204C696E42 -:10297000653A20004C696E65204E756D6265722067 -:102980006973206E6F74204C617374204C696E659E -:10299000204E756D6265722B312C204C6173742052 -:1029A0004C696E653A2000446F6E652073617669EC -:1029B0006E672066696C652E00446F6E65207361DA -:1029C00076696E672066696C652E00446F6E6520BF -:1029D000736176696E672066696C652E00446F6E60 -:1029E0006520736176696E672066696C652E0044A8 -:1029F0006F6E6520736176696E672066696C652EFF -:102A0000006F6B006F6B006F6B006F6B006F6B0084 -:102A10002020506C616E6E6572427566666572420A -:102A2000797465733A20002020506C616E6E657277 -:102A300042756666657242797465733A200020209B -:102A4000506C616E6E65724275666665724279742D -:102A500065733A20002020506C616E6E657242757D -:102A60006666657242797465733A20002020506C66 -:102A7000616E6E65724275666665724279746573E1 -:102A80003A20002046726565204D656D6F72793A77 -:102A900020002046726565204D656D6F72793A2081 -:102AA000002046726565204D656D6F72793A200091 -:102AB0002046726565204D656D6F72793A20002061 -:102AC00046726565204D656D6F72793A2000204C25 -:102AD00061737420557064617465643A2000204C01 -:102AE00061737420557064617465643A2000204CF1 -:102AF00061737420557064617465643A2000204CE1 -:102B000061737420557064617465643A2000204CD0 -:102B100061737420557064617465643A2000207C90 -:102B200020417574686F723A2000207C20417574D2 -:102B3000686F723A2000207C20417574686F723A89 -:102B40002000207C20417574686F723A2000207C40 -:102B500020417574686F723A200020536F66747755 -:102B60006172652052657365740020536F667477D7 -:102B70006172652052657365740020536F667477C7 -:102B80006172652052657365740020536F667477B7 -:102B90006172652052657365740020536F667477A7 -:102BA00061726520526573657400205761746368B3 -:102BB000646F6720526573657400205761746368A1 -:102BC000646F672052657365740020576174636891 -:102BD000646F672052657365740020576174636881 -:102BE000646F672052657365740020576174636871 -:102BF000646F67205265736574002042726F776E50 -:102C0000206F7574205265736574002042726F776F -:102C10006E206F7574205265736574002042726F68 -:102C2000776E206F75742052657365740020427250 -:102C30006F776E206F757420526573657400204243 -:102C4000726F776E206F7574205265736574002003 -:102C500045787465726E616C2052657365740020EE -:102C600045787465726E616C2052657365740020DE -:102C700045787465726E616C2052657365740020CE -:102C800045787465726E616C2052657365740020BE -:102C900045787465726E616C20526573657400507E -:102CA0006F776572557000506F7765725570005080 -:102CB0006F776572557000506F7765725570005070 -:102CC0006F776572557000656E717565696E672006 -:102CD0002200656E717565696E67202200656E71F0 -:102CE0007565696E67202200656E717565696E672E -:102CF000202200656E717565696E6720220077700D -:102D0000726F772E207A6D69616E0070617261203A -:102D1000746F6D61722065666563746F0020706505 -:102D200072206D6F73747261726520692063616DCA -:102D3000622E002070726F2070726F6A6576656E09 -:102D400069207A6D656E0020666F722074616B6514 -:102D500020656666656374005265737461727420E1 -:102D60006472756B61726B69005265696E69636943 -:102D70006172206C6120696D702E005269617676F7 -:102D8000696F206C61207374616D702E00526573E1 -:102D900074617274756A7465207469736B61726EA4 -:102DA00075005265626F6F74207468652070726977 -:102DB0006E746572004D6F64205B77207779646173 -:102DC0006A6E6F73635D004D6F646F205B6D61733E -:102DD00020667565727A615D004D6F646F205B706F -:102DE000697520666F727A615D004D6F6420205BAB -:102DF0007679732E2076796B6F6E5D004D6F64650A -:102E0000205B6869676820706F7765725D004D6F41 -:102E100064202020202020205B63696368795D00A6 -:102E20004D6F646F20202020205B73696C656E639A -:102E3000696F5D004D6F646F20202020205B7369F7 -:102E40006C656E7A696F736F5D004D6F6420202032 -:102E5000202020205B74696368795D004D6F646594 -:102E600020202020205B73696C656E745D005779AB -:102E70006D69616E612066696C616D656E74750067 -:102E800043616D6269616E646F2066696C2E21001A -:102E90004D757465766F6C652066696C2E210056E1 -:102EA000796D656E612066696C616D656E74752102 -:102EB000004368616E67696E672066696C616D6565 -:102EC0006E7421005770726F7761647A2066696C46 -:102ED000616D656E7400496E736572746120666918 -:102EE0006C616D656E746F00496E736572697265B1 -:102EF0002066696C616D656E746F00566C6F7A74D4 -:102F0000652066696C616D656E7400496E736572EB -:102F1000742066696C616D656E74004E61636973DF -:102F20006E696A2070727A796369736B00592070D8 -:102F3000756C736520656C206D616E646F0059203F -:102F400070756C736520656C206D616E646F0041F7 -:102F500020737469736B6E65746520746C6163694A -:102F6000746B6F00416E64207072657373207468B7 -:102F700065206B6E6F620057796D69616E61206FBD -:102F80006B210043616D62696172206269656E2127 -:102F90000043616D6269612E2072697573636974A3 -:102FA0006F21005A6D656E612075737065736E6177 -:102FB00021004368616E6765207375636365737391 -:102FC0002100437A79737A637A2E206B6F6C6F726B -:102FD000750043617267616E646F20636F6C6F721E -:102FE0000043617267616E646F20636F6C6F720083 -:102FF00043697374656E69206261727679004C6F03 -:103000006164696E6720636F6C6F720050726F73DA -:103010007A6520637A656B616300457370657261E0 -:1030200000417370657474610050726F73696D2034 -:1030300063656B656A746500506C656173652077C4 -:10304000616974005770726F772E2066696C616DCC -:10305000656E74750043617267616E646F206669A6 -:103060006C2E0043617267616E646F2066696C2E1E -:10307000005A61766164656E692066696C616D6590 -:103080006E7475004C6F6164696E672066696C616F -:103090006D656E74004B6F6C6F72207A616E69653E -:1030A000637A79737A2E00436F6C6F72206E6F2093 -:1030B000636C61726F00436F6C6F72206E6F206380 -:1030C0006C61726F004261727661206E656E69207C -:1030D000636973746100436F6C6F72206E6F74204C -:1030E000636C656172004272616B2066696C616D30 -:1030F000656E74750046696C2E206E6F2063617278 -:103100006761646F0046696C2E206E6F2063617288 -:103110006761646F0046696C616D656E74206E65F1 -:103120007A61766564656E0046696C616D656E7482 -:10313000206E6F74206C6F61646564004E69650079 -:103140004E6F004E6F004E65004E6F0054616B0075 -:10315000536900536900416E6F00596573005779D8 -:103160006D69616E61206F6B3F0043616D626961E3 -:10317000646F20636F727265632E3F0043616D62FE -:103180006961746F20636F72722E3F0056796D65AE -:103190006E61206F6B3F004368616E6765642063FA -:1031A0006F72726563746C793F00506F6D6F63006E -:1031B000537570706F727400537570706F72740015 -:1031C000506F64706F726100537570706F7274002D -:1031D0004E6167727A656A206479737A652100505E -:1031E000726563616C2E206578747275736F7221DD -:1031F000005072657269732E207567656C6C6F2163 -:103200000050726564656872656A746520747279CD -:10321000736B752100507265686561742074686510 -:10322000206E6F7A7A6C652100424C41443A004529 -:1032300052524F523A004552524F523A0043485967 -:1032400042413A004552524F523A005265637472FD -:1032500061637400526563747261637400526563E4 -:1032600074726163740052656374726163740052B6 -:1032700065637472616374005770726F7761647A0A -:103280002066696C616D656E7400496E74726F645E -:10329000756369722066696C616D656E746F004359 -:1032A000617269636172652066696C616D656E74D7 -:1032B0006F005A61766573742066696C616D656E26 -:1032C00074004C6F61642066696C616D656E74009A -:1032D00057796A61632066696C616D656E7400532D -:1032E000616361722066696C616D656E746F005315 -:1032F00063617269636172652066696C2E0056793C -:103300006A6D6F75742066696C616D656E740055C9 -:103310006E6C6F61642066696C616D656E740047E8 -:10332000727A616E69650050726563616C656E7476 -:1033300061720050726572697363616C6461005000 -:10334000726564656872657600507265686561745F -:1033500000557374617769656E696100416A7573C0 -:10336000746500496D706F7374617A696F6E69007E -:103370004E6173746176656E690053657474696E2D -:103380006773004B616C69627261636A61204F4BC5 -:103390000043616C696272616369C383C692C382D0 -:1033A000C2B36E204F4B0043616C696272617475E9 -:1033B0007261204F4B004B616C69627261636520E2 -:1033C0004F4B0043616C6962726174696F6E206477 -:1033D0006F6E65004B616C696272756A65205A0098 -:1033E00043616C696272616E646F205A0043616C64 -:1033F000696272616E646F205A004B616C6962721F -:10340000756A69205A0043616C6962726174696E01 -:1034100067205A004B616C696272756A205A0043DA -:10342000616C6962726172205A0043616C696272F8 -:1034300061205A004B616C6962726F766174205A28 -:103440000043616C696272617465205A005679624A -:10345000657274652076797469736B00567962655C -:103460007274652076797469736B0056796265723F -:1034700074652076797469736B005679626572742D -:10348000652076797469736B005069636B20707284 -:10349000696E74004175746F646F7374726F6963E1 -:1034A000205A3F004175746F204D6963726F7061DF -:1034B000736F205A3F004175746F207265676F6C9F -:1034C000617265205A203F004175746F20646F6CF3 -:1034D00061646974205A203F004175746F206164F3 -:1034E0006A757374205A203F00456E6473746F7060 -:1034F0002061626F727400456E6473746F70206136 -:10350000626F727400456E6473746F702061626FD5 -:10351000727400456E6473746F702061626F7274B0 -:1035200000456E6473746F702061626F7274004442 -:103530006F7374726F6A656E6965206F7379205A54 -:10354000004D6963726F7061736F205A004261624F -:103550007973746570205A00446F6C6164656E699C -:10356000206F7379205A004C6976652061646A7512 -:103570007374205A00426162797374657020590037 -:103580004261627973746570205900426162797397 -:1035900074657020590042616279737465702059B6 -:1035A00000426162797374657020590042616279EA -:1035B000737465702058004261627973746570207D -:1035C00058004261627973746570205800426162EC -:1035D0007973746570205800426162797374657004 -:1035E0002058005A204F6666736574005A204F6653 -:1035F00066736574005A204F6666736574005A20BE -:103600004F6666736574005A204F66667365740072 -:10361000486F6D6520582F59206265666F7265206E -:103620005A00486F6D6520582F59206265666F7289 -:1036300065205A00486F6D6520582F5920626566D5 -:103640006F7265205A00486F6D6520582F592062AF -:1036500065666F7265205A00486F6D6520582F5956 -:10366000206265666F7265205A005A2070726F6220 -:1036700065206F75742E20626564005A2070726F29 -:103680006265206F75742E20626564005A20707226 -:103690006F6265206F75742E20626564005A207019 -:1036A000726F6265206F75742E20626564005A2007 -:1036B00070726F6265206F75742E206265640056AB -:1036C000796D656E6974205344004368616E676567 -:1036D0002053442063617264004368616E67652013 -:1036E000534420636172640056796D656E6974207D -:1036F0005344004368616E676520534420636172E0 -:103700006400496E69632E20534400496E69742E2B -:10371000205344206361726400496E69742E205303 -:1037200044206361726400496E69632E2053440033 -:10373000496E69742E205344206361726400577986 -:103740006D69656E69632066696C616D656E740094 -:1037500043616D626961722066696C616D656E744A -:103760006F0043616D62696172652066696C616DAD -:10377000656E746F0056796D656E69742066696C4C -:10378000616D656E74004368616E67652066696C83 -:10379000616D656E74004175746F526574722E00B0 -:1037A0004175746F526574722E004175746F526565 -:1037B00074722E004175746F526574722E004175DB -:1037C000746F526574722E00556E526574202056C7 -:1037D00000556E52657420205600556E5265742057 -:1037E000205600556E52657420205600556E526565 -:1037F00074202056005320556E5265742B6D6D0059 -:103800005320556E5265742B6D6D005320556E52CA -:1038100065742B6D6D005320556E5265742B6D6D64 -:10382000005320556E5265742B6D6D00556E5265B8 -:1038300074202B6D6D00556E526574202B6D6D00DC -:10384000556E526574202B6D6D00556E5265742057 -:103850002B6D6D00556E526574202B6D6D00486F99 -:1038600070206D6D00486F70206D6D00486F702086 -:103870006D6D00486F70206D6D00486F70206D6D2C -:103880000052657472616374202056005265747230 -:103890006163742020560052657472616374202045 -:1038A000560052657472616374202056005265742C -:1038B0007261637420205600537761702052652E28 -:1038C0006D6D00537761702052652E6D6D005377DA -:1038D00061702052652E6D6D0053776170205265C6 -:1038E0002E6D6D00537761702052652E6D6D005204 -:1038F000657472616374206D6D00526574726163EA -:1039000074206D6D0052657472616374206D6D007A -:1039100052657472616374206D6D005265747261DA -:103920006374206D6D0053544F505045442E200059 -:103930005041524144410041525245535441544F29 -:10394000200053544F505045442E200053544F50A4 -:103950005045442E20004B494C4C45442E200050ED -:10396000415241444120444520454D4552472E0097 -:1039700055434349534F20004B494C4C45442E205E -:10398000004B494C4C45442E20004E6F206D6F7605 -:10399000652E0053696E206D6F76696D69656E7472 -:1039A0006F004E657373756E204D6F76696D656E31 -:1039B000746F004E6F206D6F76652E004E6F206D18 -:1039C0006F76652E004472756B2070727A6572771F -:1039D000616E79005072696E742061626F727465F5 -:1039E00064005374616D70612061626F72746974F8 -:1039F00061005469736B20707265727573656E0037 -:103A00005072696E742061626F7274656400577AD7 -:103A10006E6F7769656E6965206472756B750052AB -:103A20006573756D69656E646F20696D7072652E62 -:103A30000052697072656E6469205374616D7061C3 -:103A4000004F626E6F76656E69207469736B7500E6 -:103A5000526573756D696E67207072696E74005778 -:103A600061697420666F7220757365722E2E2E0048 -:103A70004573706572616E646F206F7264656E6508 -:103A80007300417474656E6469205574656E746565 -:103A90002E2E2E005761697420666F722075736533 -:103AA000722E2E2E005761697420666F7220757316 -:103AB00065722E2E2E00536C6565702E2E2E0052D0 -:103AC00065706F736F2E2E2E00536F7370656E735B -:103AD000696F6E652E2E2E00536C6565702E2E2E2E -:103AE00000536C6565702E2E2E004272616B206B48 -:103AF00061727479205344004E6F2068617920749C -:103B000061726A657461205344004E6F20534420F3 -:103B10004361727461005A61646E61205344206B8A -:103B200061727461004E6F205344206361726400BF -:103B30004472756B207A205344004D656E75206485 -:103B400065205344004D656E7520534420436172D7 -:103B50007461005469736B207A2053440050726979 -:103B60006E742066726F6D205344005A6174727ACD -:103B7000796D6163206472756B00446574656E6570 -:103B80007220696D70726573696F6E004172726543 -:103B9000737461207374616D7061005A6173746134 -:103BA000766974207469736B0053746F702070723F -:103BB000696E74004B6F6E74796E756F7761630018 -:103BC0005265616E7564617220696D707265732EE5 -:103BD0000052697072656E6469207374616D706102 -:103BE00000506F6B7261636F76617400526573751C -:103BF0006D65207072696E740050727A65727761BB -:103C000063206472756B0050617573617220696D19 -:103C100070726573696F6E00506175736100506FEB -:103C20007A61737461766974207469736B00506192 -:103C3000757365207072696E74004E617374726F73 -:103C4000696300416A7573746172004164617474E0 -:103C500061004C616469740054756E65005072694E -:103C600070726176610050726570617265005072A9 -:103C700065706172650050726970726176610050A2 -:103C800072657061726500496E666F726D61636A1C -:103C900065004D6F6E69746F72697A617200477565 -:103CA0006172646100496E666F726D61636500499F -:103CB0006E666F2073637265656E004F626E6F761D -:103CC0006974005265667265736800526566726554 -:103CD0007368004F626E6F76697400526566726534 -:103CE0007368004F626E6F76697420767963686FCF -:103CF0007A6900526573746F7265206661696C73CE -:103D000061666500526573746F7265206661696CE7 -:103D100073616665004F626E6F76697420767963B1 -:103D2000686F7A6900526573746F726520666169A5 -:103D30006C7361666500556C6F7A69742070616D93 -:103D40006574004C6F6164206D656D6F7279004C15 -:103D50006F6164206D656D6F727900556C6F7A6963 -:103D6000742070616D6574004C6F6164206D656DC9 -:103D70006F72790053746F7265206D656D6F727923 -:103D80000053746F7265206D656D6F7279005374A6 -:103D90006F7265206D656D6F72790053746F726517 -:103DA000206D656D6F72790053746F7265206D655B -:103DB0006D6F7279004C434420636F6E747261734F -:103DC00074004C434420636F6E7472617374004CD2 -:103DD000434420636F6E7472617374004C434420DB -:103DE000636F6E7472617374004C434420636F6E32 -:103DF00074726173740046696C2E204469612E20D0 -:103E0000330046696C2E204469612E2033004669D8 -:103E10006C2E204469612E20330046696C2E2044AC -:103E200069612E20330046696C2E204469612E2082 -:103E3000330046696C2E204469612E2032004669A9 -:103E40006C2E204469612E20320046696C2E20447D -:103E500069612E20320046696C2E204469612E2053 -:103E6000320046696C2E204469612E20320046697A -:103E70006C2E204469612E20310046696C2E20444E -:103E800069612E20310046696C2E204469612E2024 -:103E9000310046696C2E204469612E20310046694C -:103EA0006C2E204469612E2031004520696E206D02 -:103EB0006D33004520696E206D6D33004520696EBD -:103EC000206D6D33004520696E206D6D33004520F7 -:103ED000696E206D6D330046696C616D656E7400AE -:103EE00046696C616D656E740046696C616D656EE6 -:103EF000740046696C616D656E740046696C616D35 -:103F0000656E7400506F687962004D6F74696F6EF2 -:103F1000004D6F74696F6E00506F687962004D6F6D -:103F200074696F6E0054656D70657261747572614D -:103F30000054656D70657261747572610054656DD1 -:103F40007065726174757261005465706C6F746134 -:103F50000054656D706572617475726500457374A7 -:103F60006570732F6D6D004573746570732F6D6D83 -:103F7000004573746570732F6D6D004573746570C3 -:103F8000732F6D6D004573746570732F6D6D005ADE -:103F900073746570732F6D6D005A73746570732F31 -:103FA0006D6D005A73746570732F6D6D005A737464 -:103FB0006570732F6D6D005A73746570732F6D6D1E -:103FC000005973746570732F6D6D0059737465704B -:103FD000732F6D6D005973746570732F6D6D00597B -:103FE00073746570732F6D6D005973746570732FE2 -:103FF0006D6D005873746570732F6D6D0058737418 -:104000006570732F6D6D005873746570732F6D6DCF -:10401000005873746570732F6D6D005873746570FC -:10402000732F6D6D00412D72657472616374004170 -:104030002D7265747261637400412D7265747261D2 -:10404000637400412D7265747261637400412D7256 -:1040500065747261637400416D61782000416D6127 -:10406000782000416D61782000416D617820004129 -:104070006D617820005654726176206D696E00562D -:1040800054726176206D696E005654726176206DAF -:10409000696E005654726176206D696E00565472D6 -:1040A0006176206D696E00566D696E00566D696EA1 -:1040B00000566D696E00566D696E00566D696E0032 -:1040C000650065006500650065007A007A007A0089 -:1040D0007A007A0079007900790079007900780017 -:1040E0007800780078007800566D61782000566D71 -:1040F00061782000566D61782000566D617820004F -:10410000566D6178200056652D6A65726B005665A4 -:104110002D6A65726B0056652D6A65726B00566577 -:104120002D6A65726B0056652D6A65726B00567A52 -:104130002D6A65726B00567A2D6A65726B00567A2D -:104140002D6A65726B00567A2D6A65726B00567A1D -:104150002D6A65726B005678792D6A65726B005610 -:1041600078792D6A65726B005678792D6A65726B65 -:10417000005678792D6A65726B005678792D6A65DC -:10418000726B00416363656C00416363656C004161 -:104190006363656C00416363656C00416363656CD8 -:1041A000005049442D43005049442D430050494498 -:1041B0002D43005049442D43005049442D430050A5 -:1041C00049442D44005049442D44005049442D4455 -:1041D000005049442D44005049442D440050494466 -:1041E0002D49005049442D49005049442D49005063 -:1041F00049442D49005049442D49005049442D500F -:10420000005049442D50005049442D50005049441D -:104210002D50005049442D50004F6666004F666691 -:10422000004F6666004F6666004F6666004F6E2060 -:10423000004F6E20004F6E20004F6E20004F6E200A -:10424000004175746F74656D70004175746F7465AD -:104250006D70004175746F74656D70004175746F99 -:1042600074656D70004175746F74656D7000200227 -:1042700020466163740020022046616374002002BE -:1042800020466163740020022046616374002002AE -:104290002046616374002002204D617800200220D6 -:1042A0004D6178002002204D6178002002204D6190 -:1042B00078002002204D6178002002204D696E00B8 -:1042C0002002204D696E002002204D696E00200200 -:1042D000204D696E002002204D696E004B6F6E7498 -:1042E000726F6C6100436F6E74726F6C00436F6E1F -:1042F00074726F6C004B6F6E74726F6C6100436F01 -:104300006E74726F6C00507275746F6B2032004661 -:104310006C6F77203200466C6F77203200507275D8 -:10432000746F6B203200466C6F77203200507275CC -:10433000746F6B203100466C6F77203100466C6FD4 -:1043400077203100507275746F6B203100466C6FAE -:1043500077203100507275746F6B203000466C6F9F -:1043600077203000466C6F77203000507275746F84 -:104370006B203000466C6F7720300050727A657089 -:104380006C797700466C756A6F00466C7573736F55 -:1043900000507275746F6B00466C6F7700507265D9 -:1043A000646B6F73632077656E742E0056656E7450 -:1043B000696C61646F720056656E746F6C61005257 -:1043C0007963686C6F73742076656E742E00466135 -:1043D0006E2073706565640053746F6C696B004286 -:1043E0006173650050696174746F004265640042D6 -:1043F000656400547279736B6133004E6F7A7A6C26 -:104400006533004E6F7A7A6C653300547279736B42 -:104410006133004E6F7A7A6C653300547279736B36 -:104420006132004E6F7A7A6C6532004E6F7A7A6C28 -:10443000653200547279736B6132004E6F7A7A6C18 -:104440006532004479737A61004675736F72005566 -:1044500067656C6C6F00547279736B61004E6F7A94 -:104460007A6C6500507265646B6F73630056656C9F -:104470006F63696461640056656C636974C383C665 -:1044800092C386E28099C383E2809AC382C2A0006D -:10449000527963686C6F7374005370656564005083 -:1044A0006F73756E6F7574206F2031306D6D004DB8 -:1044B0006F76652031306D6D004D6F76652031303F -:1044C0006D6D00506F73756E6F7574206F20313095 -:1044D0006D6D004D6F76652031306D6D00506F73DE -:1044E000756E6F7574206F20316D6D004D6F766540 -:1044F00020316D6D004D6F766520316D6D00506F10 -:1045000073756E6F7574206F20316D6D004D6F7611 -:104510006520316D6D00506F73756E6F7574206F0F -:1045200020302E316D6D004D6F766520302E316D4F -:104530006D004D6F766520302E316D6D00506F73BC -:10454000756E6F7574206F20302E316D6D004D6F5C -:10455000766520302E316D6D004578747275646516 -:1045600072330045787472756465723300457874EF -:104570007275646572330045787472756465723360 -:10458000004578747275646572330045787472758D -:1045900064657232004578747275646572320045E4 -:1045A00078747275646572320045787472756465EA -:1045B00072320045787472756465723200457874A1 -:1045C0007275646572004578747275736F72004518 -:1045D00073747275736F7265004578747275646573 -:1045E000720045787472756465720050727A6573F2 -:1045F000756E6163205A004D6F766572205A004DCA -:10460000756F7669205A00506F73756E6F757420E0 -:104610005A004D6F7665205A0050727A6573756E38 -:1046200061632059004D6F7665722059004D756F9A -:104630007669205900506F73756E6F75742059003C -:104640004D6F766520590050727A6573756E61639F -:104650002058004D6F7665722058004D756F766951 -:10466000205800506F73756E6F75742058004D6F31 -:10467000766520580052756368206F7369004D6F2E -:1046800076657220656A6573004D756F76692041A5 -:1046900073736500506F73756E6F7574206F7375EB -:1046A000004D6F76652061786973005265747261A0 -:1046B0006374005265747261637400526574726150 -:1046C0006374005265747261637400526574726140 -:1046D0006374004578747275646F76617400457810 -:1046E0007472756465004578747275646500457808 -:1046F000747275646F766174004578747275646560 -:10470000005A61706E6F7574207A64726F6A00531C -:10471000776974636820706F776572206F666600D2 -:1047200053776974636820706F776572206F66666F -:10473000005A61706E6F7574207A64726F6A0053EC -:10474000776974636820706F776572206F666600A2 -:104750005679706E6F7574207A64726F6A00537741 -:104760006974636820706F776572206F6E0053778D -:104770006974636820706F776572206F6E00567978 -:10478000706E6F7574207A64726F6A005377697403 -:10479000636820706F776572206F6E005779636869 -:1047A0006C6F647A696300456E667269617200526B -:1047B0006166667265646461005A63686C6164690D -:1047C0007400436F6F6C646F776E00507265646540 -:1047D000687265762041425320636F6E66005072A6 -:1047E00065686561742041425320636F6E660050B6 -:1047F0007265686561742041425320636F6E660084 -:104800005072656465687265762041425320636F1B -:104810006E66005072656865617420414253206382 -:104820006F6E6600507265646568726576204142FD -:10483000532042656400507265686561742041428E -:10484000532042656400507265686561742041427E -:104850005320426564005072656465687265762015 -:10486000414253204265640050726568656174205E -:104870004142532042656400507265646568726508 -:10488000762041425320416C6C005072656865612E -:10489000742041425320416C6C0050726568656120 -:1048A000742041425320416C6C005072656465680D -:1048B0007265762041425320416C6C0050726568ED -:1048C0006561742041425320416C6C0050726564F4 -:1048D00065687265762041425320330050726568E6 -:1048E00065617420414253203300507265686561F0 -:1048F00074204142532033005072656465687265CC -:1049000076204142532033005072656865617420FF -:1049100041425320330050726564656872657620A9 -:1049200041425320320050726568656174204142F3 -:1049300053203200507265686561742041425320F3 -:10494000320050726564656872657620414253207A -:104950003200507265686561742041425320320014 -:10496000507265646568726576204142532031005B -:104970005072656865617420414253203100507265 -:10498000656865617420414253203100507265644E -:104990006568726576204142532031005072656827 -:1049A000656174204142532031005072656465682E -:1049B00072657620414253005072656865617420CB -:1049C0004142530050726568656174204142530052 -:1049D000507265646568726576204142530050727A -:1049E0006568656174204142530050726564656872 -:1049F00072657620504C4120636F6E660050726580 -:104A00006865617420504C4120636F6E660050727F -:104A1000656865617420504C4120636F6E6600507C -:104A2000726564656872657620504C4120636F6ED4 -:104A300066005072656865617420504C4120636F58 -:104A40006E660050726564656872657620504C41F0 -:104A500020426564005072656865617420504C4165 -:104A600020426564005072656865617420504C4155 -:104A700020426564005072656465687265762050F6 -:104A80004C41204265640050726568656174205035 -:104A90004C412042656400507265646568726576B9 -:104AA00020504C4120416C6C005072656865617407 -:104AB00020504C4120416C6C0050726568656174F7 -:104AC00020504C4120416C6C0050726564656872E6 -:104AD000657620504C4120416C6C005072656865D1 -:104AE000617420504C4120416C6C005072656465CB -:104AF0006872657620504C412033005072656865BD -:104B0000617420504C4120330050726568656174B7 -:104B100020504C41203300507265646568726576A0 -:104B200020504C41203300507265686561742050FC -:104B30004C41203300507265646568726576205080 -:104B40004C412032005072656865617420504C41C0 -:104B50002032005072656865617420504C412032EB -:104B60000050726564656872657620504C41203251 -:104B7000005072656865617420504C4120320050CD -:104B8000726564656872657620504C412031005032 -:104B900072656865617420504C4120310050726527 -:104BA0006865617420504C41203100507265646525 -:104BB0006872657620504C412031005072656865FE -:104BC000617420504C4120310050726564656872F8 -:104BD000657620504C4100507265686561742050C4 -:104BE0004C41005072656865617420504C41005022 -:104BF000726564656872657620504C41005072653C -:104C00006865617420504C41004E61737461762078 -:104C1000706F636174656B00536574206F726967B0 -:104C2000696E00536574206F726967696E004E612A -:104C30007374617620706F636174656B0053657483 -:104C4000206F726967696E004E61737461762070BF -:104C50006F636174656B20686F6D650053657420C8 -:104C6000686F6D65206F6666736574730053657455 -:104C700020686F6D65206F666673657473004E61A2 -:104C80007374617620706F636174656B20686F6DFB -:104C9000650053657420686F6D65206F6666736587 -:104CA0007473004175746F20686F6D65004C6C659E -:104CB00076617220616C206F726967656E00417564 -:104CC000746F20486F6D65004175746F20686F6D5B -:104CD00065004175746F20686F6D650057796C6170 -:104CE000637A79632073696C6E696B6900417061E6 -:104CF000676172206D6F746F7265730044697361D0 -:104D000062696C697461204D6F746F7269005679C5 -:104D1000706E6F7574206D6F746F72790044697373 -:104D200061626C65207374657070657273004175A3 -:104D3000746F7374617274004175746F737461720F -:104D400074004175746F7374617274004175746F8F -:104D50007374617274004175746F7374617274005E -:104D60004D656E7520676C6F776E65004D656E756D -:104D7000207072696E636970616C004D656E75209C -:104D80007072696E636970616C6500486C61766E03 -:104D900069206E616269646B61004D61696E004BF0 -:104DA000617274612077796A657461005461726A16 -:104DB0006574612072657469726164610053442096 -:104DC000436172642072696D6F737361004B61722D -:104DD00074612076796A6D75746100436172642034 -:104DE00072656D6F766564004B6172746120776CDB -:104DF0006F7A6F6E61005461726A65746120636FCF -:104E00006C6F636164610053442043617264206984 -:104E10006E736572697461004B6172746120766CA7 -:104E20006F7A656E61004361726420696E736572AA -:104E300074656400507275736120693320676F7404 -:104E40006F7761005072757361206933206C6973EC -:104E500074610050727573612069332070726F6ED7 -:104E6000746F2E005072757361206933206F6B0070 -:104E700050727573612069332072656164792E0008 -:104E80004D383420582059205A2045004D323400E6 -:104E90004D3233202573006175746F25692E6700CC -:104EA0000A002F000A002E0044656C6574696F6E5D -:104EB000206661696C65642C2046696C653A200047 -:104EC00046696C652064656C657465643A002E0003 -:104ED0002E002E002E004E6F7720667265736820BC -:104EE00066696C653A20004E6F7720646F696E6763 -:104EF0002066696C653A20002220706F73002220C2 -:104F0000706172656E743A2200535542524F555487 -:104F1000494E452043414C4C207461726765743A98 -:104F20002200747279696E6720746F2063616C6C03 -:104F3000207375622D67636F64652066696C6573A5 -:104F4000207769746820746F6F206D616E79206CB2 -:104F50006576656C732E204D4158206C6576656CC6 -:104F60002069733A0000002110422063308440A57C -:104F700050C660E770088129914AA16BB18CC1AD20 -:104F8000D1CEE1EFF13112100273325222B55294B8 -:104F900042F772D662399318837BB35AA3BDD39C70 -:104FA000C3FFF3DEE36224433420040114E664C744 -:104FB00074A44485546AA54BB528850995EEE5CFC0 -:104FC000F5ACC58DD55336722611163006D776F658 -:104FD000669556B4465BB77AA719973887DFF7FE10 -:104FE000E79DD7BCC7C448E5588668A778400861E4 -:104FF0001802282338CCC9EDD98EE9AFF948896960 -:10500000990AA92BB9F55AD44AB77A966A711A50F7 -:105010000A333A122AFDDBDCCBBFFB9EEB799B58AF -:105020008B3BBB1AABA66C877CE44CC55C222C0383 -:105030003C600C411CAEED8FFDECCDCDDD2AAD0BFF -:10504000BD688D499D977EB66ED55EF44E133E3297 -:105050002E511E700E9FFFBEEFDDDFFCCF1BBF3A4F -:10506000AF599F788F8891A981CAB1EBA10CD12D3E -:10507000C14EF16FE18010A100C230E32004502541 -:105080004046706760B9839893FBA3DAB33DC31CB5 -:10509000D37FE35EF3B1029012F322D23235421491 -:1050A0005277625672EAB5CBA5A89589856EF54F01 -:1050B000E52CD50DC5E234C324A0148104667447E1 -:1050C0006424540544DBA7FAB79987B8975FE77E55 -:1050D000F71DC73CD7D326F2369106B01657667631 -:1050E00076154634564CD96DC90EF92FE9C899E9A1 -:1050F000898AB9ABA94458654806782768C018E181 -:10510000088238A3287DCB5CDB3FEB1EFBF98BD8F4 -:105110009BBBAB9ABB754A545A376A167AF10AD0D0 -:105120001AB32A923A2EFD0FED6CDD4DCDAABD8B40 -:10513000ADE89DC98D267C076C645C454CA23C8320 -:105140002CE01CC10C1FEF3EFF5DCF7CDF9BAFBA94 -:10515000BFD98FF89F176E367E554E745E932EB270 -:105160003ED10EF01E22004D323230205325690010 -:10517000203A2000004C414E472053454C20464FDA -:1051800052434544002200205A3A0020593A002058 -:10519000453A00205A3A0020593A00583A00200077 -:1051A0002E0020423A0020453A00543A0020573A57 -:1051B0000020453A00543A002042403A0020403A4C -:1051C00000202F003A00205400202F0020423A00F7 -:1051D000202F006F6B20543A002569206D696E2CDA -:1051E0002025692073656300256920686F757273D7 -:1051F000202569206D696E75746573004D313130FD -:10520000004D3239004D6179203330203230313653 -:1052100000436F6D70696C65643A2000286E6F6E94 -:10522000652C2064656661756C7420636F6E6669B9 -:105230006729004D617920333020323031362031FA -:10524000363A32313A343500737461727400220098 -:105250002200FFFFFF0000A0400000A0400000006F -:105260004000005643000046431FC548430000006D -:1052700000000000001F856B3E0000564300004602 -:10528000430000494300000000000000001F856B40 -:105290003E6563686F3A004572726F723A0047313B -:1052A00020452D38302046343030004D383300470B -:1052B00031205A3135204631353030004739310000 -:1052C000473120583530205931383020453020467C -:1052D0003730303000473930004D3834004D3833E6 -:1052E00000473120453730204634303000473120E8 -:1052F0004534302046313030002E00202020202040 -:105300002020202020202020002D2D3A2D2D002D82 -:105310002D2D003E555342005344002D2D000120F9 -:10532000000120004D36303000464C4558202D20DD -:10533000203233302F35300050502020202D2020B7 -:105340003235342F3130300048495053202D202041 -:105350003232302F3130300050455420202D202063 -:105360003234302F393000504C4120202D20203253 -:1053700031302F35300041425320202D202032354E -:10538000352F313030004D3234004D32332025730B -:1053900000580059005A00457874727564657200AF -:1053A000473238004D383400473238205A004D61BA -:1053B00079203330203230313600446174653A2030 -:1053C000002D2D2D2D2D2D2D2D2D2D2D2D00453349 -:1053D00044763666756C6C0052414D426F313061D7 -:1053E00000315F37356D6D002D2D2D2D2D2D2D2D7F -:1053F0002D2D2D2D004669726D77617265202D204F -:10540000332E302E310048617264636F646564200E -:1054100044656661756C742053657474696E677356 -:10542000204C6F616465640046696C616D656E74E3 -:105430002073657474696E67733A2044697361629E -:105440006C6564002020204D3230302044004669D5 -:105450006C616D656E742073657474696E67733A00 -:10546000002020204D3230392053004175746F2DBB -:10547000526574726163743A20533D3020746F201A -:1054800064697361626C652C203120746F20696ED1 -:105490007465727072657420657874727564652DB8 -:1054A0006F6E6C79206D6F76657320617320726505 -:1054B000747261637473206F72207265636F7665B6 -:1054C00072696573002046002020204D323038205C -:1054D00053005265636F7665723A20533D45787488 -:1054E0007261206C656E67746820286D6D29204696 -:1054F0003A537065656420286D6D2F6D2900205A20 -:10550000002046002020204D3230372053005265C5 -:1055100074726163743A20533D4C656E6774682001 -:10552000286D6D2920463A537065656420286D6D9D -:105530002F6D29205A3A205A4C69667420286D6DC7 -:1055400029002044002049002020204D3330312004 -:1055500050005049442073657474696E67733A0053 -:10556000205A0020590020204D3230362058004863 -:105570006F6D65206F666673657420286D6D293ABE -:1055800000204500205A00205800204200205400EE -:1055900020204D323035205300416476616E6365C2 -:1055A00064207661726961626C65733A20533D4D87 -:1055B000696E20666565647261746520286D6D2F63 -:1055C00073292C20543D4D696E2074726176656C90 -:1055D00020666565647261746520286D6D2F73297E -:1055E0002C20423D6D696E696D756D207365676D28 -:1055F000656E742074696D6520286D73292C2058A0 -:105600003D6D6178696D756D205859206A65726BC2 -:1056100020286D6D2F73292C20205A3D6D617869EB -:105620006D756D205A206A65726B20286D6D2F7321 -:10563000292C2020453D6D6178696D756D204520D0 -:105640006A65726B20286D6D2F732900205400202D -:10565000204D323034205300416363656C657261C4 -:1056600074696F6E3A20533D616363656C65726166 -:1056700074696F6E2C20543D72657472616374207E -:10568000616363656C65726174696F6E00204500CB -:10569000205A0020590020204D3230312058004D32 -:1056A0006178696D756D20416363656C65726174C5 -:1056B000696F6E20286D6D2F7332293A00204500E6 -:1056C000205A0020590020204D3230332058004D00 -:1056D0006178696D756D2066656564726174657366 -:1056E00020286D6D2F73293A00204500205A002094 -:1056F000590020204D3932205800537465707320B2 -:1057000070657220756E69743A0045303A20005A0F -:105710003A2000593A2000583A20004D53312C4D80 -:1057200053322050696E730A005A00205A3A0059C9 -:105730000020593A00580020583A0024F4D4305040 -:10574000C38E20C2A24017828B7011127A910D81F4 -:105750006CD90AA861E108C7586607615143061E63 -:105760004B5D05C145A7041A411104093D98037119 -:105770003931034036DB0265339102D43054028064 -:105780002E1D02632CEE01752AC501B028A0011060 -:105790002781018F2564012B244B01E0223401ACC9 -:1057A000211F018D200D01801FFC00841EED00973C -:1057B0001DDF00B81CD200E61BC600201BBC006425 -:1057C0001AB200B219A8000A19A0006A189900D1EB -:1057D00017910040178B00B516840031167E00B378 -:1057E0001579003A157300C7146F0058146A00EE5B -:1057F0001366008813630025135E00C7125B006CFC -:1058000012570015125400C111510070114F0021A0 -:10581000114B00D61049008D10470046104400027D -:10582000104200C00F4000800F3E00420F3C0006B7 -:105830000F3B00CB0E3800930E37005C0E3500276F -:105840000E3400F30D3200C10D3100900D300060B8 -:105850000D2E00320D2D00050D2C00D90C2B00AEA5 -:105860000C2900850C29005C0C2700350C27000E44 -:105870000C2600E80B2400C40B2400A00B23007DA1 -:105880000B23005A0B2100390B2100180B2000F8C4 -:105890000A1F00D90A1E00BB0A1E009D0A1D0080B7 -:1058A0000A1D00630A1C00470A1B002C0A1B00117A -:1058B0000A1A00F7091A00DD091900C4091900AB1A -:1058C000091900920917007B091800630917004C99 -:1058D00009160036091600200916000A091500F5F8 -:1058E000081500E0081400CC081400B8081400A43F -:1058F000081400900813007D0812006B081300586C -:105900000812004608120034081100230811001282 -:1059100008110001081100F0071000E0071000D086 -:10592000071000C0071000B0070F00A1071000917A -:10593000070E0083070F0074070F0065070E00575E -:10594000070E0049070E003B070D002E070E002032 -:10595000070D0013070D0006070D00F9060C00EDFA -:10596000060D00E0060C00D4060C00C8060C00BCB6 -:10597000060C00B0060C00A4060B0099060C008D66 -:10598000060B0082060B0077060B006C060B00610D -:10599000060A0057060B004C060A0042060A0038A9 -:1059A000060A002E060A0024060A001A060A00103B -:1059B00006090007060A00FD050900F4050900EBC9 -:1059C000050900E2050900D9050900D0050900C74D -:1059D000050900BE050900B5050800AD050800A5CC -:1059E0000509009C050800940508008C0508008442 -:1059F0000508007C050800740508006C05070065B3 -:105A00000508005D050700560508004E050700471C -:105A10000507004005080038050700310507002A82 -:105A2000050700230507001C050600160507000FE3 -:105A30000507000805060002050700FB040600F53F -:105A4000040700EE040600E8040600E2040700DB99 -:105A5000040600D5040600CF040600C9040600C3EE -:105A6000040600BD040600B7040600B1040500AC3E -:105A7000040600A6040600A00405009B0406009589 -:105A8000040500900406008A0405008504050080D2 -:105A90000406007A04050075040500700405006B17 -:105AA00004050066040500610405005C0405005758 -:105AB000040500520405004D040500480405004398 -:105AC0000405003E0404003A0405003504050030D6 -:105AD0000404002C04050027040400230405001E10 -:105AE0000404001A04040016040500110404000D47 -:105AF000040400090405000404040000040400FC7C -:105B0000030400F8030400F4030400F0030400ECB1 -:105B1000030400E8030400E4030400E0030400DCE1 -:105B2000030400D8030400D4030400D0030400CC11 -:105B3000030400C8030300C503030024F404D920B0 -:105B40001BC40C5C0E9804C4095F0265077101F464 -:105B500005F900FB04B30048048700C1036900583D -:105B600003550003034500BE023A0084023100538E -:105B7000022A002902250004022000E4011C00C8BA -:105B8000011900AF0117009801140084011300717E -:105B90000110006101100051010E0043010D00369B -:105BA000010B002B010B0020010B00150109000C5B -:105BB00001090003010800FB000800F3000800EBE6 -:105BC000000700E4000600DE000600D8000600D250 -:105BD000000600CC000500C7000500C2000500BD9E -:105BE000000400B9000400B5000400B1000400ADD9 -:105BF000000400A9000400A5000300A20003009F08 -:105C00000004009B0003009800030095000200932D -:105C1000000300900003008D0002008B0003008849 -:105C20000002008600020084000300810002007F61 -:105C30000002007D0002007B000200790002007774 -:105C40000001007600020074000200720001007181 -:105C50000002006F0002006D0001006C0002006A8B -:105C60000001006900020067000100660001006594 -:105C70000001006400020062000100610001006098 -:105C80000001005F0002005D0001005C0001005B9C -:105C90000001005A0001005900010058000100579E -:105CA000000100560001005500010054000100539E -:105CB000000000530001005200010051000100509B -:105CC0000001004F0001004E0000004E0001004D99 -:105CD0000001004C0001004B0000004B0001004A95 -:105CE0000001004900010048000000480001004791 -:105CF000000100460000004600010045000000458C -:105D00000001004400010043000000430001004284 -:105D1000000000420001004100000041000100407D -:105D20000001003F0000003F0001003E0000003E77 -:105D30000001003D0000003D0001003C0000003C6F -:105D40000000003C0001003B0000003B0001003A65 -:105D50000000003A0001003900000039000100385D -:105D60000000003800000038000100370000003754 -:105D7000000100360000003600000036000100354A -:105D80000000003500000035000100340000003440 -:105D90000000003400010033000000330000003335 -:105DA000000100320000003200000032000100312A -:105DB0000000003100000031000100300000003020 -:105DC000000000300001002F0000002F0000002F15 -:105DD0000000002F0001002E0000002E0000002E09 -:105DE0000001002D0000002D0000002D0000002DFE -:105DF0000001002C0000002C0000002C0000002CF2 -:105E00000001002B0000002B0000002B0000002BE5 -:105E10000001002A0000002A0000002A0000002AD9 -:105E200000010029000000290000002900000029CD -:105E300000000029000100280000002800000028C0 -:105E400000000028000000280001002700000027B3 -:105E500000000027000000270000002700010026A6 -:105E6000000000260000002600000026000000269A -:105E7000000100250000002500000025000000258D -:105E8000000000250000002500010024000000247F -:105E90000000002400000024000000240001002372 -:105EA0000000002300000023000000230000002366 -:105EB0000000002300000023000100220000002257 -:105EC000000000220000002200000022000000224A -:105ED000000100210000002100000021000000213D -:105EE000000000210000002100000021000100202E -:105EF0000000002000000020000000200000002022 -:105F00000000002000000020000000200001001F11 -:105F10000000001F0000001F0000001F0000001F05 -:105F20000000001F0000001F0001001E0000001EF6 -:105F30000000001E0000001E0000000000090A0210 -:105F4000080B0C0D07060304010000000000000010 -:105F50000000000000000000000000000000000041 -:105F60000000000000000011100F00000000000001 -:105F70000000000000000000000000000000000021 -:105F80000000000000000000000000000000000011 -:105F9000000102102020080810204010204080023C -:105FA000010201080402010102040810204080805F -:105FB00040201008040201800402018040201008E3 -:105FC00004020108040201010204081020408001BB -:105FD00002040810204080100804088010204004AB -:105FE00040801020400480050505050705080808C5 -:105FF00008020202020A0A0808040404040101015A -:106000000101010101030303030303030304070761 -:10601000070C0C0C0C0C0C0C0C02020202060606FF -:1060200006060606060B0B0B0B0B0B0B0B07070AE2 -:106030000A0A0A0A0A0505050404040808000020E3 -:10604000002300260029002C002F00320000010050 -:106050000003010601090100002200250028002B91 -:10606000002E003100340002010000050108010B80 -:106070000100002100240027002A002D00300033F9 -:106080000001010000040107010A01024E414E49CE -:106090004E495459494E46CDCCCC3D0AD7233C17E6 -:1060A000B7D13877CC2B329595E6241FB14F0A0033 -:1060B0000020410000C84200401C4620BCBE4CCA23 -:1060C0001B0E5AAEC59D7400848DFEACE8EC888D25 -:1060D00011241FBECFEFD1E2DEBFCDBF00E00CBF69 -:1060E0001EE0A0E0B2E0E4E9F7E002E00BBF02C08E -:1060F00007900D92AA3AB107D9F72EE1AAEABEE0BD -:1061000001C01D92AD31B207E1F710E6CEECD0E64A -:1061100000E006C022970109FE010BBF0E9417FB99 -:10612000C83CD10780E00807A9F70E94ECF00D9465 -:10613000B8030C940000CF93DF93EC019C012C5F1B -:106140003F4F41E050E060E070E0898D9A8D0E9401 -:106150003D3B882399F04D895E896F89788D452B69 -:10616000462B472B59F44C815D816E817F814D8B8D -:106170005E8B6F8B788F998190689983DF91CF9137 -:106180000895CF92DF92EF92FF920F931F93CF93D8 -:10619000DF93EC0189899A89AB89BC89803E9F4F46 -:1061A000AF41B10510F080E06BC0CE01C4DF8823A1 -:1061B000D1F30E945139182F8823A9F3E98DFA8D64 -:1061C000CC80DD80EE80FF8032E0C31AD108E10888 -:1061D000F108058404C0CC0CDD1CEE1CFF1C0A94E5 -:1061E000D2F786859785A089B189C80ED91EEA1E87 -:1061F000FB1E81E08093B00EC092B310D092B41019 -:10620000E092B510F092B61080E092E0E3EBFEE091 -:10621000DF019C011D9221503040E1F701E0E98D42 -:10622000FA8D8481081790F423EB3EE0B701A601B4 -:10623000400F511D611D711D8091B10E9091B20EE4 -:106240000E9497608823E1F00F5FE9CFC12C82E0C4 -:10625000D82EE12CF12C058404C0CC0CDD1CEE1CE6 -:10626000FF1C0A94D2F749895A896B897C894C0DA5 -:106270005D1D6E1D7F1D498B5A8B6B8B7C8B812F17 -:10628000DF91CF911F910F91FF90EF90DF90CF9012 -:106290000895CF93DF93EC0141E0611101C040E02C -:1062A0006C857D858E859F850E949139882341F07C -:1062B000888920E2829FC00111248D54914F02C031 -:1062C00080E090E0DF91CF91089530E020E04EE251 -:1062D000DC015C91503271F0383029F4FB01E20F9F -:1062E000F11D40832F5FFB01E20FF11DDC015C918A -:1062F00050832F5F3F5F01963B3051F7FB01E20F68 -:10630000F11D10820895CF93DF93EB01FC012381EF -:10631000211102C080E00EC02250223020F48FE212 -:106320008883198206C060E0B4DF009799F3BE014C -:10633000CCDF81E0DF91CF910895FB012BE030E2CB -:1063400031932150E9F7DC0190E027E03A2FEB2F61 -:106350008D9181110AC0DA013C931196EC9381E092 -:10636000FB019081903239F525C08F32A1F38E3236 -:1063700019F0EAE8F1E008C02A30E1F098E02AE0FC -:10638000E5CF31963817B1F034913111FACF291792 -:1063900088F03FED380F3E3568F431E0390FFB01EE -:1063A000E90FF11D9FE9980F9A3108F4805280831C -:1063B000932FCCCF80E008950F931F93CF93DF935B -:1063C000EC018B018B81882311F080E042C0FB013E -:1063D0008789803139F18032C1F783E08B83F801FE -:1063E000428D538D648D758D4D8B5E8B6F8B788F49 -:1063F0009E012F5E3F4FC8010E94483A882329F32F -:106400001A8F098F81E089831C821D821E821F8260 -:10641000188619861A861B861C861D861E861F8670 -:10642000188A17C082E08B831D8A1E8A1F8A188EE5 -:10643000FB01408D518D60E070E095E0440F551FE9 -:10644000661F771F9A95D1F7498B5A8B6B8B7C8B84 -:10645000D7CFDF91CF911F910F9108952F923F9247 -:106460004F925F926F927F928F929F92AF92BF9264 -:10647000CF92DF92EF92FF920F931F93CF93DF9310 -:10648000EC015B016A018B81811103C08FEF9FEFEB -:10649000C7C0898180FFFACF49895A896B897C8975 -:1064A00088859985AA85BB852601612C712C8A0176 -:1064B0009B01081B190B2A0B3B0B40165106620669 -:1064C000730618F06A01C81AD90A76013E0124E061 -:1064D000620E711CE114F10409F476C048855985F7 -:1064E0006A857B854A0181E098222B811A012B0164 -:1064F000E9E05694479437942794EA95D1F7898D2B -:106500009A8DFC01223049F4628D738D848D958DB6 -:10651000620D731D841D951D3CC014811150122104 -:1065200081149104C1F4111116C0452B462B472B41 -:1065300049F48D899E89AF89B88D8C839D83AE8304 -:10654000BF8309C04C815D816E817F81930121D71A -:10655000882309F49BCFE98DFA8D6C817D818E8132 -:106560009F816250710981099109058404C0660FF9 -:10657000771F881F991F0A94D2F72685378540898F -:106580005189620F731F841F951F610F711D811D3B -:10659000911D20E032E02819390987012E153F05A9 -:1065A00008F489010115F2E01F0769F52091B31085 -:1065B0003091B4104091B5105091B6106217730726 -:1065C0008407950719F41FC0C6012AC09501AB01C5 -:1065D000BC018091B10E9091B20E0E94226088237E -:1065E00009F454CFA00EB11E88859985AA85BB8574 -:1065F000800F911FA11DB11D88879987AA87BB872E -:10660000E01AF10A67CF40E08CD6882309F43ECF28 -:10661000B4016D54714FA801C5010F944800E2CF39 -:10662000DF91CF911F910F91FF90EF90DF90CF906E -:10663000BF90AF909F908F907F906F905F904F90A2 -:106640003F902F900895CF93DF931F92CDB7DEB781 -:1066500041E050E0BE016F5F7F4F00DF019719F40A -:10666000898190E002C08FEF9FEF0F90DF91CF9173 -:106670000895CF92DF92EF92FF920F931F93CF93E3 -:10668000DF936C01EB017A01FC018381823060F0C1 -:1066900000851185228533850F7111272227332725 -:1066A000012B022B032B11F08FEF5CC0411551051C -:1066B00011F0F70110821DE040E250E0BE01C6017A -:1066C000CDDE8032910539F021E0892B09F420E0FC -:1066D000822F819547C028812223C1F0253E61F396 -:1066E0002E3251F33B853F733F3061F4E114F104E6 -:1066F00049F04A8D5B8D452B29F42F713FEF320F06 -:10670000343030F02B8523FDD7CF2CC080E02AC059 -:1067100030E021503109129FC001139F900D1124C8 -:10672000F701E80FF91F298120832B8121832D8117 -:1067300022832F812383298524832E8525832889FD -:1067400026832A8927832C8920872E892187288DD3 -:1067500022872C8D23872E8D2487288126FFD2CF58 -:106760001586D0CFDF91CF911F910F91FF90EF90C1 -:10677000DF90CF9008951F93CF93DF93EC018B812F -:10678000823018F480E090E023C0488559856A85FE -:106790007B85A5E07695679557954795AA95D1F79E -:1067A000142F1F70CE014FDF97FDECCF4885598520 -:1067B0006A857B85415E5F4F6F4F7F4F4887598762 -:1067C0006A877B8720E2129FC00111248D54914F6C -:1067D000DF91CF911F9108954F925F926F927F92B8 -:1067E000AF92BF92CF92DF92EF92FF920F931F93DF -:1067F000CF93DF93EC016A017B012B81222349F0C7 -:1068000089899A89AB89BC8984179507A607B70738 -:1068100010F480E06BC0223009F463C0C114D104CD -:10682000E104F10449F41C821D821E821F82188635 -:1068300019861A861B8659C088859985AA85BB85C5 -:10684000E98DFA8DE585F0E03996AC01BD01415046 -:106850005109610971090E2E04C076956795579507 -:1068600047950A94D2F79701860101501109210931 -:10687000310904C03695279517950795EA95D2F703 -:10688000041715072607370720F0892B8A2B8B2B37 -:1068900049F48D899E89AF89B88D8C839D83AE83A1 -:1068A000BF8304C0041B150B260B370B28013901CD -:1068B0005E0184E0A80EB11C41145104610471040E -:1068C00081F04C815D816E817F819501898D9A8DEA -:1068D00060D591E0491A5108610871088111ECCF27 -:1068E00005C0C886D986EA86FB8681E0DF91CF9114 -:1068F0001F910F91FF90EF90DF90CF90BF90AF90DE -:106900007F906F905F904F9008950F931F93CF9358 -:10691000DF93EC018B818823D1F1898187FF32C01D -:1069200061E0CE01B6DC8C01009789F1FC01808129 -:10693000853E69F18B81823040F449895A896B899F -:106940007C89448F558F668F778F4D895E896F89DB -:10695000788DF801538F428F758B648BE091AA0E6E -:10696000F091AB0E309759F0B8016A5E7F4FC801C5 -:1069700048961995F801808D918D938B828B898132 -:106980008F778983DF91CF911F910F918AC481E026 -:10699000888380E0DF91CF911F910F910895CF936D -:1069A000DF93EC01B2DF1B82DF91CF910895FC01F0 -:1069B00023812111F4CF08954F925F926F927F92BD -:1069C000AF92BF92CF92DF92EF92FF920F931F93FD -:1069D000CF93DF9300D01F92CDB7DEB75C016A0181 -:1069E0007B01FC0183818130E9F4818181FF1AC040 -:1069F000F50181899289A389B48984179507A6072F -:106A0000B70780F0892B8A2B8B2B09F472C0F50114 -:106A10004084518462847384B701A601C501DCDE21 -:106A2000811102C080E066C0F501818D928DC11494 -:106A3000D104E104F10469F4458956896789708DB0 -:106A400025D7882379F3F501158A168A178A108EBF -:106A500037C0F50144815581668177819E012F5FA2 -:106A60003F4F97D48823F1F249815A816B817C8111 -:106A7000F501818D928DFC012789203139F4483F41 -:106A8000FFEF5F0761057105D8F407C0483F2FEF9E -:106A9000520762072FE0720798F4F8D6882309F4AA -:106AA000C1CFF50144815581668177810FEF1FEFDA -:106AB0002FEF3FE0818D928D51D5882309F4B2CF1D -:106AC000F501C18AD28AE38AF48A81818068818350 -:106AD000C5011BDF882309F4A5CFB701A6014C141B -:106AE0005D046E047F0410F4B301A201C50174DEDD -:106AF00001C081E00F900F900F900F90DF91CF9128 -:106B00001F910F91FF90EF90DF90CF90BF90AF90CB -:106B10007F906F905F904F900895FF920F931F9317 -:106B2000CF93DF93EC01F42E80E2689FF0011124F3 -:106B3000ED54F14F8385817121F0842F827109F02A -:106B40004EC08091B3109091B410A091B510B09147 -:106B5000B6108C879D87AE87BF87688B448955891F -:106B600060E070E0BA0155274427028D138D20E0C4 -:106B700030E0402B512B622B732B4D8B5E8B6F8B38 -:106B8000788F8385887151F4048D158D268D378D0E -:106B9000098B1A8B2B8B3C8B81E00BC08031F9F475 -:106BA0009E012F5E3F4F898D9A8D72D48823B9F054 -:106BB00084E08B838F2D8F7089831C821D821E82BF -:106BC0001F82188619861A861B86F4FE0BC040E0C9 -:106BD00050E0BA01CE01F0DE811104C011C01B8269 -:106BE00080E00EC0F5FE0BC049895A896B897C890B -:106BF000CE01DF91CF911F910F91FF90EDCD81E0FC -:106C0000DF91CF911F910F91FF900895AF92BF92A6 -:106C1000CF92DF92EF92FF920F931F93CF93DF9368 -:106C20007C01EB016A01B22E898D9A8DF701928F5A -:106C3000818F40E050E0BA01CE01CEDDA12C088565 -:106C400019852A853B8589899A89AB89BC8908176A -:106C500019072A073B07A0F585E036952795179574 -:106C600007958A95D1F70F70CE0185DD009709F45D -:106C700081C0FC012081222311F0253EB9F4A1102E -:106C80000EC04091B3105091B4106091B510709146 -:106C9000B610F7014487558766877787008BFC011C -:106CA0008081AA24A3948111CACF0AC04BE050E08E -:106CB000BC01C6010F943B00892B09F0C0CF58C01E -:106CC0008B2D8274823409F055C0AA2049F0F70157 -:106CD000008961E0C701DDDAEC01009769F44AC080 -:106CE0008B81823009F446C0CE014BDA882309F447 -:106CF00041C0C3EBDEE000E080E2FE0111928A9524 -:106D0000E9F78BE0F601DE0101900D928A95E1F73B -:106D1000E091AA0EF091AB0E309739F0BE01625FA0 -:106D20007F4FCE014096199508C081E298E2998B79 -:106D3000888B80E098E09F878E87888999899B8BD4 -:106D40008A8B998F888F8E859F859F8B8E8BA9D2FA -:106D5000882381F04B2D602FC701DF91CF911F91C8 -:106D60000F91FF90EF90DF90CF90BF90AF90D5CE76 -:106D7000B7FEF0CF80E0DF91CF911F910F91FF9090 -:106D8000EF90DF90CF90BF90AF9008953F924F92D9 -:106D90005F926F927F928F929F92AF92BF92CF92AB -:106DA000DF92EF92FF920F931F93CF93DF93CDB7B4 -:106DB000DEB7C354D1090FB6F894DEBF0FBECDBF06 -:106DC0005C016B0124965FAF4EAF2497522E1C8E50 -:106DD0001F8E19821C826115710511F410E073C0B9 -:106DE000FC0183818111FACF2496EEADFFAD24978B -:106DF00080818F3211F076011DC02496EEADFFAD7B -:106E0000249780818F3231F431962496FFAFEEAF14 -:106E10002497F3CFF60183818250823060F3F6012C -:106E2000618D728DCE010196C7DA8823B9F2CE0149 -:106E300001967C018E01045E1F4F3801FE013196E0 -:106E40004F01402E312E19C08823A9F121E0AE0157 -:106E5000495C5F4FB701C801D9DE882309F4BECF72 -:106E6000EC14FD0411F0C7019ADD0615170501F1B8 -:106E7000942D832D7801092F182FAE014E5B5F4FA3 -:106E8000BE01695C7F4F24968EAD9FAD249755DA85 -:106E9000882309F4A3CF2496EEADFFAD249780811B -:106EA0008F3291F631962496FFAFEEAF2497F3CF51 -:106EB000982D892DDFCF252DAE01495C5F4FB7019D -:106EC000C501A4DE182FCE01019671DDCE014C96CE -:106ED0006EDD812FCD5BDF4F0FB6F894DEBF0FBEA6 -:106EE000CDBFDF91CF911F910F91FF90EF90DF9079 -:106EF000CF90BF90AF909F908F907F906F905F905A -:106F00004F903F900895CF93DF93EC0140E050E025 -:106F1000BA0152DD882361F061E0CE01BAD9009751 -:106F200039F025EEFC0120831B82DF91CF91B9C19E -:106F300080E0DF91CF9108951F93CF93DF93CDB77A -:106F4000DEB76B970FB6F894DEBF0FBECDBFAB01B7 -:106F500019821C8222E0BC01CE01019617DF182F96 -:106F6000882321F0CE010196CEDF182FCE010196A5 -:106F70001EDD812F6B960FB6F894DEBF0FBECDBF1E -:106F8000DF91CF911F9108952F923F924F925F9280 -:106F90006F927F928F929F92AF92BF92CF92DF9229 -:106FA000EF92FF920F931F93CF93DF9300D01F9226 -:106FB0001F92CDB7DEB78C015B013A01DC0113965D -:106FC0008C9113978130C1F411968C9181FF14C07C -:106FD00082FF18C0F80141895289638974898085CC -:106FE0009185A285B38584179507A607B70751F049 -:106FF000C801F2DB811106C081E0F80180838FEFC8 -:107000009FEF37C1630183C0D80159968D919C9140 -:107010005A97FC01F481F1501A012B0169E0569452 -:107020004794379427946A95D1F7F221FD834A015A -:1070300021E09222FF2309F476C080E092E08819D3 -:10704000990976018C159D0508F47C01D8015996A3 -:10705000ED91FC915A9714962D903D904D905C9037 -:107060001797B2E02B1A310841085108058404C073 -:10707000220C331C441C551C0A94D2F78685978534 -:10708000A089B189280E391E4A1E5B1EED812E0E85 -:10709000311C411C511CE114F2E0FF0609F089C0CB -:1070A0008091B3109091B410A091B510B091B6102A -:1070B00082159305A405B50569F41092B00E8FEF03 -:1070C0009FEFDC018093B3109093B410A093B510A0 -:1070D000B093B6109501B201A1018091B10E9091CB -:1070E000B20E0E949760882309F486CFF80180854C -:1070F0009185A285B3858E0D9F1DA11DB11D808731 -:107100009187A287B387AE0CBF1CCE18DF08D801C9 -:1071100018964D915D916D917C911B97C114D1048E -:1071200009F072CF7AC08114910409F086CF1496C9 -:107130004D915D916D917C911797411551056105B8 -:10714000710559F455968D919D910D90BC91A02D8E -:107150000097A105B10539F520C09E012F5F3F4F73 -:1071600018D1882309F448CF89819A81AB81BC81E9 -:10717000F801218D328DF9012789203139F4883FBA -:10718000FFEF9F07A105B10540F40DC0883F2FEF29 -:107190009207A2072FE0B20730F0C8010E949B308F -:1071A00081114BCF29CFF80184839583A683B783C0 -:1071B00044CF8114910411F5D80118964D915D9139 -:1071C0006D917C911B9751968D919D910D90BC91E5 -:1071D000A02D481759076A077B0780F062D08823E3 -:1071E00009F40ACF81E08093B00E2092B310309260 -:1071F000B4104092B5105092B61007C041E0C201E1 -:10720000B1018FD0882309F4F7CEA701B501C401DD -:107210008D54914F0F94480069CF51968D919D9157 -:107220000D90BC91A02DF801218184179507A60728 -:10723000B70738F4418B528B638B748B20682183A2 -:107240000CC08091AA0E9091AB0E892B31F0611485 -:10725000710419F02068F8012183D80111968C91EE -:1072600083FD02C0C30105C0C8014FDB8111FACF05 -:10727000C3CE0F900F900F900F900F90DF91CF9192 -:107280001F910F91FF90EF90DF90CF90BF90AF9044 -:107290009F908F907F906F905F904F903F902F9036 -:1072A0000895CF938091B00E8823B9F14091B31027 -:1072B0005091B4106091B5107091B61023EB3EE080 -:1072C0008091B10E9091B20E0E949760C82F8111EB -:1072D00002C0C0E023C04091AC0E5091AD0E609151 -:1072E000AE0E7091AF0E411551056105710591F01B -:1072F00023EB3EE08091B10E9091B20E0E94976018 -:10730000882339F31092AC0E1092AD0E1092AE0E8F -:107310001092AF0E1092B00E01C0C1E08C2FCF9131 -:107320000895CF92DF92EF92FF92CF936B017C0191 -:10733000C42F8091B3109091B410A091B510B0916A -:10734000B6108C159D05AE05BF05C9F0AADF8111E9 -:1073500002C080E018C023EB3EE0B701A601809197 -:10736000B10E9091B20E0E942260882391F3C092D8 -:10737000B310D092B410E092B510F092B61081E044 -:10738000C1118093B00ECF91FF90EF90DF90CF901E -:1073900008958F929F92AF92BF92CF92DF92EF9219 -:1073A000FF920F931F93CF93DF93EC016A017B0150 -:1073B000890189859A85AB85BC850196A11DB11D82 -:1073C00084179507A607B70710F480E054C08F898B -:1073D000803129F49927872F762F652F0BC08032B3 -:1073E000A1F7CB01BA0127E0969587957795679528 -:1073F0002A95D1F78B889C88AD88BE88680D791D49 -:107400008A1D9B1D8090B3109090B410A090B51071 -:10741000B090B610681579058A059B0581F48F89AF -:10742000803191F4DD24EE24FF24F601EE0FFF1FDE -:10743000ED54F14F80819181A0E0B0E016C040E0B2 -:1074400070DF8111ECCFC1CFE894C7F8DD24EE24C2 -:10745000FF24F601EE0FFF1FEE0FFF1FED54F14F5B -:1074600080819181A281B381BF70F8018083918373 -:10747000A283B38381E0DF91CF911F910F91FF90A1 -:10748000EF90DF90CF90BF90AF909F908F90089536 -:107490004F925F926F927F92AF92BF92CF92DF92A4 -:1074A000EF92FF920F931F93CF93DF9300D01F9221 -:1074B000CDB7DEB78C0149835A836B837C83590136 -:1074C000C12CD12C7601412C42E0542E612C712C20 -:1074D00049815A816B817C819E012F5F3F4FC8019A -:1074E00058DF882341F1D301C201F801058404C0AB -:1074F000880F991FAA1FBB1F0A94D2F7C80ED91E66 -:10750000EA1EFB1E49815A816B817C81878980310B -:1075100039F481E0483F5F4F6105710538F4D8CFF9 -:1075200081E0483F5F4F6F4F7F4090F2F501C0828E -:10753000D182E282F3820F900F900F900F90DF9133 -:10754000CF911F910F91FF90EF90DF90CF90BF9060 -:10755000AF907F906F905F904F9008954F925F92A1 -:107560006F927F928F929F92AF92BF92CF92DF9253 -:10757000EF92FF920F931F93CF93DF93EC014A0199 -:107580005B0128013901423051056105710508F49C -:1075900062C049855A856B857C854F5F5F4F6F4F11 -:1075A0007F4F481559056A057B0508F454C08F893B -:1075B000803129F4FF24EB2CDA2CC92C0CC080324A -:1075C00009F049C07501640177E0F694E794D79417 -:1075D000C7947A95D1F74B895C896D897E89C40EF1 -:1075E000D51EE61EF71E41E0C701B6019ADE8823CC -:1075F00091F19F89903159F49924AA24BB24F40174 -:10760000EE0FFF1FED54F14F5182408210C0E894FD -:1076100087F89924AA24BB24F401EE0FFF1FEE0F74 -:10762000FF1FED54F14F40825182628273829A892A -:10763000923090F04D815E816F8178854C0D5D1D9B -:107640006E1D7F1D4093AC0E5093AD0E6093AE0E39 -:107650007093AF0E01C080E0DF91CF911F910F9129 -:10766000FF90EF90DF90CF90BF90AF909F908F9062 -:107670007F906F905F904F9008952F923F924F921E -:107680005F926F927F928F929F92AF92BF92CF92B2 -:10769000DF92EF92FF920F931F93CF93DF93CDB7BB -:1076A000DEB72F970FB6F894DEBF0FBECDBF1C011B -:1076B0004C875D876E877F873B872A87DC01199619 -:1076C0000D911D912D913C911C970F5F1F4F2F4FD6 -:1076D0003F4F0D831E832F833887EA85FB8580808B -:1076E0009180A280B38081149104A104B10431F08F -:1076F000FFEF8F1A9F0AAF0ABF0A10C0DC018D90FE -:107700009D90AD90BC90B1E0B9870C851D852E850C -:107710003F85013011052105310509F019867501F4 -:107720006401412C512C3201F10181859285A385A0 -:10773000B485481659066A067B0608F04EC00D81CE -:107740001E812F8138850C151D052E053F0550F42F -:10775000F2E0CF2ED12CE12CF12CA2E08A2E912C3C -:10776000A12CB12C9E012F5F3F4FB701A601C10193 -:1077700010DE882391F149815A816B817C81D70188 -:10778000C6010196A11DB11D452B462B472B19F0B3 -:107790004C015D010FC0AC01BD01481959096A09CE -:1077A0007B090C851D852E853F8540175107620793 -:1077B000730741F01FEF411A510A610A710A6C0107 -:1077C0007D01B2CF0FEF1FEF2FEF3FE0B701A60112 -:1077D000C101C4DE8D83811113C01D823DC026010D -:1077E000370121E0421A51086108710897018601AA -:1077F000B301A201C101B2DE882379F373016201F2 -:107800008C149D04AE04BF0450F3AA85BB854D9132 -:107810005D916D917C914115510561057105A9F44A -:10782000EA85FB8580829182A282B382F985FF235B -:1078300099F00FEF801A900AA00AB00AD1018D9238 -:107840009D92AD92BC92139707C095018401C1012E -:1078500085DE8111E5CFC1CF8D812F960FB6F894CB -:10786000DEBF0FBECDBFDF91CF911F910F91FF9073 -:10787000EF90DF90CF90BF90AF909F908F907F90D0 -:107880006F905F904F903F902F900895AF92BF926E -:10789000CF92DF92EF92FF920F931F93CF93DF93DC -:1078A00000D01F92CDB7DEB75C016A017B0182E098 -:1078B00090E0A0E0B0E0F50180839183A283B383E0 -:1078C0009E012F5F3F4FB701A601C50162DD811107 -:1078D00002C080E023C000E010E09801B701A601DB -:1078E000C5013CDE8823A9F3C980DA80EB80FC80E7 -:1078F000F5018789803149F481E0F8EFCF16FFEF79 -:10790000DF06E104F10450F4DBCF81E098EFC91603 -:107910009FEFD906E9069FE0F90690F20F900F90CD -:107920000F900F90DF91CF911F910F91FF90EF90EB -:10793000DF90CF90BF90AF9008957F928F929F92EB -:10794000AF92BF92CF92DF92EF92FF920F931F936D -:10795000CF93DF93EC01142F7093B20E6093B10EAE -:107960001F8A82E090E0A0E0B0E088839983AA8338 -:10797000BB831092B00E1092AC0E1092AD0E10920E -:10798000AE0E1092AF0E8FEF9FEFDC018093B3101D -:107990009093B410A093B510B093B610442349F15E -:1079A000453008F0DEC040E060E070E0CB01B9DCBB -:1079B000882309F4D6C020E1129FF0011124EF5969 -:1079C000FF4E80818F7709F0CCC084859585A68590 -:1079D000B78584369105A105B10508F4C2C0C084FD -:1079E000D184E284F384C114D104E104F10421F4CC -:1079F000B8C0C12CD12C760140E0C701B60191DCA2 -:107A0000782E882309F4ADC08091BE0E9091BF0EF0 -:107A10008115924009F0A5C03091C30E332309F4BB -:107A2000A0C08091C10E9091C20E892B09F499C01B -:107A30002091C00E222309F494C03A8B2C831D861A -:107A400030E041E050E06D85062FCA01062E02C0ED -:107A5000880F991F0A94E2F72817390731F081E05F -:107A6000860F8D87683078F37CC02091C90E3091E5 -:107A7000CA0E2115310519F040E050E008C02091F0 -:107A8000D70E3091D80E4091D90E5091DA0E2D8339 -:107A90003E834F8358878091C10E9091C20E46015C -:107AA0005701880E991EA11CB11C8B8A9C8AAD8A35 -:107AB000BE8AE091C40EF091C50EF98FE88FA091B7 -:107AC000C30EB0E00E9407FB680D791D8A1D9B1D47 -:107AD0006A8F7B8F8C8F9D8FB5E0EE0FFF1FBA955D -:107AE000E1F7E150FE4FEF2FFF27E695DC01CB01D8 -:107AF0008E0F9F1FA11DB11D8E879F87A88BB98BED -:107B00008090C60E9090C70E8114910419F0A12C9C -:107B1000B12C08C08090D30E9090D40EA090D50EBA -:107B2000B090D60EA7019601281B390B4A0B5B0BB0 -:107B3000DA01C901880D991DAA1DBB1D04C0B695A7 -:107B4000A795979587950A95D2F789879A87AB87E6 -:107B5000BC87853F3FE09307A105B10520F48CE089 -:107B60008F8B712C15C0853F9F4FA105B10510F477 -:107B700080E10DC08091DF0E9091E00EA091E10EAA -:107B8000B091E20E8A8F9B8FAC8FBD8F80E28F8B7E -:107B9000872DDF91CF911F910F91FF90EF90DF9094 -:107BA000CF90BF90AF909F908F907F9008954F920D -:107BB0005F926F927F928F929F92AF92BF92CF927D -:107BC000DF92EF92FF920F931F93CF93DF932C01DD -:107BD00023E034E081E090E0F901459154914416AE -:107BE00055060CF062C0AC0141505109DA01AA0FF0 -:107BF000BB1FAA0FBB1FAF5FBB4FFD016591749107 -:107C0000440F551F440F551F41505C4FFA016590BA -:107C10007490FC01EE0FFF1FEE0FFF1FEF5FFB4F95 -:107C2000A590B490FD0105911491F901C591D491ED -:107C3000FA0185909490882777FD8095982F0E946F -:107C400081F76B017C01B20166197709882777FDFE -:107C50008095982F0E9481F72B013C01B501601B94 -:107C6000710B882777FD8095982F0E9481F79B01E3 -:107C7000AC01C301B2010E94B4F92B013C01BE0169 -:107C800068197909882777FD8095982F0E9481F7D8 -:107C90009B01AC01C301B2010E94E6F69B01AC015D -:107CA000C701B6010E9406F611C001962C5F3F4F36 -:107CB0008D33910509F090CFE1EFF4E06591749177 -:107CC000882777FD8095982F0E9481F7DF91CF91CB -:107CD0001F910F91FF90EF90DF90CF90BF90AF90EA -:107CE0009F908F907F906F905F904F9008954F92EC -:107CF0005F926F927F928F929F92AF92BF92CF923C -:107D0000DF92EF92FF920F931F93CF93DF932C019B -:107D1000662371F1E7E9F2E58491882341F09091BF -:107D2000C00095FFFCCF8093C6003196F5CF70E080 -:107D30004AE050E08BEF96E10E9470D0E8E6F2E076 -:107D40008491882341F09091C00095FFFCCF8093EF -:107D5000C6003196F5CF8091C00085FFFCCF8AE048 -:107D60008093C6000E94686A60E070E0CB017EC02C -:107D700023E833E081E090E0F90145915491441605 -:107D800055060CF062C0AC0141505109DA01AA0F4E -:107D9000BB1FAA0FBB1FAF57BC4FFD01659174916C -:107DA000440F551F440F551F41585C4FFA01659011 -:107DB0007490FC01EE0FFF1FEE0FFF1FEF57FC4FFB -:107DC000A590B490FD0105911491F901C591D4914C -:107DD000FA0185909490882777FD8095982F0E94CE -:107DE00081F76B017C01B20166197709882777FD5D -:107DF0008095982F0E9481F72B013C01B501601BF3 -:107E0000710B882777FD8095982F0E9481F79B0141 -:107E1000AC01C301B2010E94B4F92B013C01BE01C7 -:107E200068197909882777FD8095982F0E9481F736 -:107E30009B01AC01C301B2010E94E6F69B01AC01BB -:107E4000C701B6010E9406F611C001962C5F3F4F94 -:107E50008032910509F090CFEDEFF3E065917491D8 -:107E6000882777FD8095982F0E9481F7DF91CF9129 -:107E70001F910F91FF90EF90DF90CF90BF90AF9048 -:107E80009F908F907F906F905F904F90089560E0EB -:107E900080910C1190910D112ADF6093081170935D -:107EA000091180930A1190930B1180910611909102 -:107EB00007117DDE6093021170930311809304110A -:107EC000909305118FB7F8941092FA108FBF089510 -:107ED0002091140230911502409116025091170220 -:107EE00060E070E08FE793E40E94E6F66093DA10BA -:107EF0007093DB108093DC109093DD10089597FF52 -:107F000003C08091011104C0FC01EC52FF4E80813E -:107F100090E00895CF93DF93D82FC62FC19561E0ED -:107F20000E944CEF6C2F8D2F0E9485EF6C2F70E01C -:107F30008D2FDF91CF910C9442EECF93C1E020E0E2 -:107F400030E048E452E46091081170910911809189 -:107F50000A1190910B110E94E2F818160CF0C0E083 -:107F60006C2F88E090E0CF91D5CFCF93DF93109224 -:107F7000DE101092DF101092E0101092E1102091AC -:107F8000140230911502409116025091170260E0E0 -:107F900070E08FE793E40E94E6F66093DA10709346 -:107FA000DB108093DC109093DD106D9A80910101BD -:107FB0008061809301019D9A809101018860809386 -:107FC000010187ED80937A0010927E0010927D006F -:107FD00080917E00816080937E0080917E0082602F -:107FE00080937E0080917E00846080937E0080E894 -:107FF00088BD80916E00846080936E006AEF70E0AF -:1080000080E090E00E945BF08FE090E09093CD10D4 -:108010008093CC1060E080910A0290910B0267DEA1 -:1080200020E030E040E751E40E94DFF687FF0AC01D -:1080300080910A0290910B02409790930B028093DB -:108040000A02E8CF86E391E0909309028093080248 -:1080500060E08091CE109091CF1049DE20E030E0BA -:108060004BE953E40E94E2F8181654F48091CE10C4 -:108070009091CF1040969093CF108093CE10E8CF80 -:10808000C091CA10D091CB10CE0191DD20E030E03C -:1080900046E153E40E94E2F8181634F46096D09357 -:1080A000CB10C093CA10ECCFDF91CF910895089503 -:1080B000109211111092101110920F1110920E11B6 -:1080C0001092D410759810920F1110920E111092F8 -:1080D0000111A59808952F923F924F925F926F924F -:1080E0007F928F929F92AF92BF92CF92DF92EF9248 -:1080F000FF920F931F93CF93DF93CDB7DEB7AE9769 -:108100000FB6F894DEBF0FBECDBF6B8F7C8F8D8F07 -:10811000292E5A8749873CA72BA70E942CF06F8FE6 -:1081200078A389A39AA30E942CF06FA378A789A7AC -:108130009AA729853A85121613061CF0E0E1FDE0A6 -:1081400017C0E3E2FDE08191882339F09091C000EF -:1081500095FFFCCF8093C600F6CF8091C00085FFCD -:10816000FCCF1BC29091C00095FFFCCF8093C6004E -:1081700081918111F7CF8091C00085FFFCCF8AE00B -:108180008093C60095DF49855A858FE7452B99F185 -:10819000809301118F8D98A1A9A1BAA1898B9A8B87 -:1081A000AB8BBC8B8D879E87AF87B88B1D8290E48D -:1081B000988FACE1A98FB6E4BA8F1DA61D8A1E8ADE -:1081C0001F8A2FE730E040E050E029833A834B8359 -:1081D0005C83EFE74E2E512C612C712C1BA21CA24C -:1081E0001DA21EA231E03E8F1C861B86312C00E0B2 -:1081F00010E01EA605C08093D410CCCF0E94C4A36B -:108200008091FA10882309F4F6C041DE49855A8529 -:10821000452B51F03090021100910311109104117F -:10822000509105115EA709C0309008110091091105 -:1082300010910A1180910B118EA7232D302F412F01 -:108240005EA56DA57D898E899F890E94E2F818162A -:108250002CF03DA60D8B1E8B9EA59F8B232D302FC2 -:10826000412F5EA56D81788D898D9A8D0E94DFF6F4 -:1082700087FD05C03D82088F198FAEA5AA8F0E9489 -:108280002CF02FA138A549A55AA5621B730B840BAE -:10829000950B653C79408105910538F04EDE0E94D2 -:1082A0002CF06FA378A789A79AA74E8D442309F4D1 -:1082B0004FC02B8D3C8D4D8D522D632D702F812FF6 -:1082C0009EA50E94E2F818160CF095C00E942CF0B2 -:1082D00029893A894B895C89621B730B840B950B46 -:1082E000693873418105910508F485C0D301C20145 -:1082F00029813A814B815C81821B930BA40BB50BC6 -:1083000049855A85B595A79597958795452B19F079 -:108310008093011102C08093D4100E942CF06D87CD -:108320007E878F87988BDC01CB0129893A894B891D -:108330005C89821B930BA40BB50B8BA39CA3ADA3F1 -:10834000BEA33B8D3DA74C8D4D8B5D8D5E8B2F8AE3 -:108350002B8D3C8D4D8D522D632D702F812F9EA521 -:108360000E94DFF687FFEEC20E942CF02D853E852D -:108370004F855889621B730B840B950B69387341C9 -:108380008105910508F4DEC20E942CF0698B7A8B7E -:108390008B8B9C8BDC01CB012D853E854F855889CD -:1083A000821B930BA40BB50B4B855C85452B09F009 -:1083B00010C189819A81AB81BC81840D951DA61D58 -:1083C000B71D29853A85B595A79597958795232B50 -:1083D00009F4B5C2809301114B855C854F5F5F4FF7 -:1083E0005C874B875B8D5D838C8D888F9D8D998F8E -:1083F0002A8EA1E0AE8F20E030E040EA51E46B8DA0 -:108400007C8D8D8D922D0E9406F69B01AC01632D13 -:10841000702F812F9EA50E94E2F8181694F4EEE0CA -:10842000F3E08491882341F09091C00095FFFCCF48 -:108430008093C6003196F5CF8091C00085FFFCCFB8 -:10844000ACC00E942CF02F8D38A149A15AA1621B0B -:10845000730B840B950B613D77408105910508F402 -:108460004FC049855A85452B81F0E0900111F12CD0 -:10847000E8E0F3E084918823C1F09091C00095FF7B -:10848000FCCF8093C6003196F5CFE090D410F12C4C -:10849000E2E0F3E08491882341F09091C00095FFE1 -:1084A000FCCF8093C6003196F5CF22E030E0432D1B -:1084B000502F612F7EA58BEF96E10E9446D1EEEF03 -:1084C000F2E08491882341F09091C00095FFFCCFA9 -:1084D0008093C6003196F5CF4AE050E0B7018BEFAC -:1084E00096E10E9470D08091C00085FFFCCF8AE0A9 -:1084F0008093C6000E942CF06F8F78A389A39AA363 -:108500000E942CF06B017C010E942CF089889A88D3 -:10851000AB88BC882D853E854F855889820E931E79 -:10852000A41EB51EC818D908EA08FB08C60ED71E37 -:10853000E81EF91E31E8C3163FE4D30632E1E30634 -:10854000F10490F0E1EEF2E08491882341F0909103 -:10855000C00095FFFCCF8093C6003196F5CF809187 -:10856000C00085FFFCCF19C04B855C858BA59CA501 -:10857000841795070CF042CEE5E8F2E08491882359 -:1085800041F09091C00095FFFCCF8093C6003196DA -:10859000F5CF8091C00085FFFCCF8AE08093C600B4 -:1085A000AE960FB6F894DEBF0FBECDBFDF91CF9170 -:1085B0001F910F91FF90EF90DF90CF90BF90AF9001 -:1085C0009F908F907F906F905F904F903F902F90F3 -:1085D00008958BA09CA0ADA0BEA0880E991EAA1ED7 -:1085E000BB1E2BA13CA14DA15EA1281B390B4A0B40 -:1085F0005B0BCA01B90129813A814B815C810E94E0 -:108600007AFAA50194010E94DFFA240D351D461D5A -:10861000571D243131054105510504F129013A0165 -:108620003CEE43165104610471042CF06BEE462EAF -:10863000512C612C712C40E84416510461047104E2 -:10864000DCF08EEF90E0A0E0B0E084199509A60977 -:10865000B70989839A83AB83BC8312C054E1452E4A -:10866000512C612C712C24E130E040E050E0298352 -:108670003A834B835C8304C049825A826B827C823A -:10868000E7E7F3E08491882341F09091C00095FFE3 -:10869000FCCF8093C6003196F5CF2AE030E0B301DD -:1086A000A2018BEF96E10E9445D0E2E7F3E08491CE -:1086B000882341F09091C00095FFFCCF8093C600C5 -:1086C0003196F5CF2AE030E049815A816B817C8177 -:1086D0008BEF96E10E9445D0EBE6F3E0849188238E -:1086E00041F09091C00095FFFCCF8093C600319679 -:1086F000F5CF22E030E04D81588D698D7A8D8BEF7A -:1087000096E10E9446D1E4E6F3E08491882341F0AB -:108710009091C00095FFFCCF8093C6003196F5CFB5 -:1087200022E030E04DA55D896E897F898BEF96E16F -:108730000E9446D18091C00085FFFCCF8AE08093E3 -:10874000C6002B853C85233031050CF432CE69817F -:108750007A818B819C810E9481F720E030E040E8A3 -:1087600050E40E94B4F96B017C012D81388D498D54 -:108770005A8D6DA57D898E899F890E9405F620ED11 -:108780003FE049E450E40E94B4F920E030E040E0EA -:108790005FE30E94B4F99B01AC01C701B6010E94DE -:1087A000E6F66B017C01C501B4010E9481F720E06F -:1087B00030E04AE754E40E94E6F64B015C01EEE546 -:1087C000F3E08491882341F09091C00095FFFCCFA5 -:1087D0008093C6003196F5CF22E030E0B701A601C4 -:1087E0008BEF96E10E9446D1E8E5F3E0849188237F -:1087F00041F09091C00095FFFCCF8093C600319668 -:10880000F5CF22E030E0B501A4018BEF96E10E94A4 -:1088100046D18091C00085FFFCCF8AE08093C600DE -:108820002AE939E949E15FE3C701B6010E94B4F9D9 -:108830006B017C019B01AC010E9406F6A50194012D -:108840000E94E6F66D837E838F839887A50194014D -:10885000C701B6010E94B4F920E030E040E05EE3D9 -:108860000E94B4F94B015C01EAE4F3E084918823AF -:1088700041F09091C00095FFFCCF8093C6003196E7 -:10888000F5CF8091C00085FFFCCF8AE08093C600C1 -:10889000E4E4F3E08491882341F09091C00095FFD7 -:1088A000FCCF8093C6003196F5CF22E030E0B701CF -:1088B000A6018BEF96E10E9446D18091C00085FF12 -:1088C000FCCF8AE08093C600EEE3F3E08491882336 -:1088D00041F09091C00095FFFCCF8093C600319687 -:1088E000F5CF22E030E04D815E816F8178858BEF9E -:1088F00096E10E9446D18091C00085FFFCCF8AE0BE -:108900008093C600E8E3F3E08491882341F09091DE -:10891000C00095FFFCCF8093C6003196F5CF22E0D2 -:1089200030E0B501A4018BEF96E10E9446D1809121 -:10893000C00085FFFCCF8AE08093C6003ACD8093CB -:10894000D4104ACD1E8E57CD81E0809338130E94FB -:108950003ADA80919013882339F01092901360E0F6 -:108960008EE893E10E94C45888E592E00E9435A306 -:108970009FDB179A10924E13169A10924F13149A67 -:1089800048D10E94C4A3729A84EF91E00E947FF0C4 -:10899000729884E690E00C947FF02F923F924F9271 -:1089A0005F926F927F928F929F92AF92BF92CF927F -:1089B000DF92EF92FF920F931F93CF93DF93CDB788 -:1089C000DEB728970FB6F894DEBF0FBECDBF4C01BF -:1089D0002A013B010D831E832F833887AA2039F09B -:1089E000A12CB12C19821A821B821C820BC03DE281 -:1089F000A32EB12C80E090E0A0E7B1E489839A83B4 -:108A0000AB83BC830E942CF00E947FF78401000F8F -:108A1000111F000F111FD801A65EBE4E1D012D9122 -:108A20003D914D915C910E9405F620E030E04AEFC7 -:108A300054E40E94E2F818160CF0D2C00E942CF008 -:108A40000E947FF7F101608371838283938320E02A -:108A500030E0A901C701B6010E94DFF6811107C00D -:108A6000F401EE0FFF1FEE5EFE4E118210829801A0 -:108A7000265D3E4E1901A3019201D1016D917D91B8 -:108A80008D919C910E94DFF6882321F120E030E057 -:108A9000A901C301B2010E94E2F8F801E65CFE4EB2 -:108AA000181674F480E090E0A0E8BFE3808391831F -:108AB000A283B383F10140825182628273820AC031 -:108AC0001082118212821382D1014D925D926D92B9 -:108AD0007C921397A30192016D817E818F8198858D -:108AE0000E94E2F887FD19C0F801E65CFE4E1F0106 -:108AF00020E030E040E85FE3608171818281938112 -:108B00000E94DFF6811109C080E090E0A0E0B0E4AF -:108B1000F10180839183A283B38320E030E0A90137 -:108B2000C701B6010E94E2F818160CF059C029815D -:108B30003A814B815C81C301B2010E9405F62D810F -:108B40003E814F8158850E94DFF687FF12C0298140 -:108B50003A814B815C81C301B2010E9406F69B0100 -:108B6000AC016D817E818F8198850E94DFF687FD43 -:108B700037C0F801E65CFE4E20E030E040E85FE3FD -:108B800060817181828193810E94E2F8181644F518 -:108B9000F401EE0FFF1FEE5EFE4E80819181019683 -:108BA00091838083880F991FA816B906CCF4289664 -:108BB0000FB6F894DEBF0FBECDBFDF91CF911F91EE -:108BC0000F91FF90EF90DF90CF90BF90AF909F906C -:108BD0008F907F906F905F904F903F902F90B4CE8A -:108BE00028960FB6F894DEBF0FBECDBFDF91CF91B0 -:108BF0001F910F91FF90EF90DF90CF90BF90AF90BB -:108C00009F908F907F906F905F904F903F902F90AC -:108C100008952F923F924F925F926F927F928F9220 -:108C20009F92AF92BF92CF92DF92EF92FF920F93FB -:108C30001F93CF93DF93CDB7DEB728970FB6F89485 -:108C4000DEBF0FBECDBF8091FA10882309F41CC28D -:108C50001ED96091D41070E080E090E00E9481F70E -:108C60006B017C01409008115090091160900A112D -:108C700070900B116091101170911111882777FD80 -:108C80008095982F0E9481F7AB01BC01A12C930124 -:108C9000820181E090E081DE8090081190900911BE -:108CA000A0900A11B0900B110091101110911111A8 -:108CB000B801882777FD8095982F0E9481F7A5013C -:108CC00094010E9405F66B017C016093E2107093A1 -:108CD000E3108093E4109093E51020E030E040E250 -:108CE00051E40E94E2F8181624F481E08093D91030 -:108CF000F7C020E030E040E251ECC701B6010E942D -:108D0000DFF687FD02C0012B21F481E08093D910AA -:108D10000CC18091D910882351F01092F610109256 -:108D2000F7101092F8101092F9101092D9102091AB -:108D300018023091190240911A0250911B02C7018A -:108D4000B6010E94B4F969837A838B839C83609314 -:108D5000EE107093EF108093F0109093F11020912B -:108D6000F6103091F7104091F8105091F910C701AA -:108D7000B6010E9406F62B013C012090DE103090D7 -:108D8000DF101091E0100091E1109101412F502F60 -:108D90000E94DFF687FD14C02090DA103090DB10BF -:108DA0001091DC100091DD109101412F502FB20184 -:108DB000C3010E94E2F818161CF01201162D072DAF -:108DC000C101A12FB02F8093F6109093F710A093BC -:108DD000F810B093F91020911402309115024091CF -:108DE000160250911702B101812F902F0E94B4F901 -:108DF0006D837E838F8398876093EA107093EB1066 -:108E00008093EC109093ED102091F2103091F310BC -:108E10004091F4105091F510C501B4010E9405F67F -:108E200020911002309111024091120250911302D0 -:108E30000E94B4F920ED3CEC4CE45DE30E94B4F9EF -:108E40002B013C0123E333E343E75FE36091E6104A -:108E50007091E7108091E8109091E9100E94B4F9A8 -:108E60009B01AC01C301B2010E9406F62B013C013B -:108E70006093E6107093E7108093E8109093E910E8 -:108E80002D813E814F81588569817A818B819C81BA -:108E90000E9406F6A30192010E9405F62B013C01F7 -:108EA00020E030E04FE753E40E94E2F820E030E0B9 -:108EB000A9011816E4F4C701B6010E94E2F81816D9 -:108EC0007CF4A7019601B101812F902F0E9405F635 -:108ED0006093F6107093F7108093F8109093F91048 -:108EE000412C512C5FE7652E53E4752E21C0C30140 -:108EF000B2010E94DFF687FF1BC020E030E0A9012D -:108F0000C701B6010E94DFF687FF0FC0A7019601D7 -:108F1000B101812F902F0E9405F66093F610709397 -:108F2000F7108093F8109093F910412C512C3201D6 -:108F30008092F2109092F310A092F410B092F5107B -:108F40006091CC107091CD10882777FD8095982F77 -:108F50000E9481F79B01AC01C501B4010E94E2F8B7 -:108F60001816DCF46091080270910902882777FDD9 -:108F70008095982F0E9481F79B01AC01C501B40137 -:108F80000E94DFF687FF09C0C301B2010E944EF7BD -:108F9000759567956093D41002C01092D4100E940A -:108FA0002CF00091D0101091D1102091D21030915E -:108FB000D310601B710B820B930B653C79408105CC -:108FC000910560F00E949D3F0E942CF06093D010AC -:108FD0007093D1108093D2109093D3100E942CF0F4 -:108FE0000091D5101091D6102091D7103091D81043 -:108FF000601B710B820B930B6838734181059105DF -:1090000008F442C00E942CF06093D5107093D610E3 -:109010008093D7109093D810C0900211D090031174 -:10902000E0900411F090051120E030E040E751E4B9 -:10903000C701B6010E94E2F818161CF520E030E0E6 -:1090400046E153E4C701B6010E94DFF687FF19C06D -:1090500060910E1170910F11882777FD8095982FE0 -:109060000E9481F79B01AC01C701B6010E94E2F8A2 -:1090700087FD03C01092011107C08FE78093011193 -:1090800003C010920111A59828960FB6F894DEBF80 -:109090000FBECDBFDF91CF911F910F91FF90EF9049 -:1090A000DF90CF90BF90AF909F908F907F906F9008 -:1090B0005F904F903F902F900895CF93C82F0E94BC -:1090C00058400E94206B811134C0E7E9F2E5949189 -:1090D000992341F08091C00085FFFCCF9093C6009A -:1090E0003196F5CF6C2F70E04AE050E08BEF96E1BF -:1090F0000E9470D08091C00085FFFCCF8AE08093F1 -:10910000C600EBE2F2E08491882341F09091C00028 -:1091100095FFFCCF8093C6003196F5CF8091C000BB -:1091200085FFFCCF8AE08093C6008EE192E00E942A -:1091300035A3CF910C94C86ACF93C82F0E94584092 -:109140000E94206B811134C0E7E9F2E594919923E4 -:1091500041F08091C00085FFFCCF9093C60031960E -:10916000F5CF6C2F70E04AE050E08BEF96E10E9463 -:1091700070D08091C00085FFFCCF8AE08093C6004C -:10918000E1EFF1E08491882341F09091C00095FFD8 -:10919000FCCF8093C6003196F5CF8091C00085FF4B -:1091A000FCCF8AE08093C60084EE91E00E9435A354 -:1091B000CF910C94C86AA5980E94206B811125C09C -:1091C000E7E9F2E58491882341F09091C00095FF92 -:1091D000FCCF8093C6003196F5CFEBEAF1E08491A5 -:1091E000882341F09091C00095FFFCCF8093C6008A -:1091F0003196F5CF8091C00085FFFCCF8AE0809347 -:10920000C6008AE991E00E9435A30C94C86A1F92B7 -:109210000F920FB60F9211240BB60F920F931F935C -:109220002F933F934F935F936F937F938F939F936E -:10923000AF93BF93CF93DF93EF93FF938091070298 -:10924000811112C08091D4108093C910882311F02D -:10925000759A01C07598809101118093C810882378 -:1092600011F0A59A01C0A5989091C91080910702AC -:10927000981708F475989091C81080910702981774 -:1092800008F4A598809107028F5F8F77809307027B -:109290008091060290E08B30910508F093C0FC01AC -:1092A000EE58FF4F0C94FBFA10927B0080E4809301 -:1092B0007C0080917A00806480937A000E943EA3B3 -:1092C00081E019C020917800309179008091C4101C -:1092D0009091C510A091C610B091C710820F931F36 -:1092E000A11DB11D8093C4109093C510A093C6100A -:1092F000B093C71082E08093060264C010927B0096 -:1093000082E480937C0080917A00806480937A006C -:109310000E943EA383E0EFCF209178003091790046 -:109320008091C0109091C110A091C210B091C31053 -:10933000820F931FA11DB11D8093C0109093C11087 -:10934000A093C210B093C31084E0D5CF10927B00DD -:1093500081E480937C0080917A00806480937A001D -:109360000E943EA385E0C7CF20917800309179001C -:109370008091BC109091BD10A091BE10B091BF1013 -:10938000820F931FA11DB11D8093BC109093BD103F -:10939000A093BE10B093BF1086E0ADCF0E943EA355 -:1093A00087E0A9CF88E0A7CF0E943EA389E0A3CFA2 -:1093B000109206028091BB108F5F8093BB1002C099 -:1093C000109206028091BB10803108F463C0809136 -:1093D000FA10811110C08091C4109091C510909323 -:1093E0000D1180930C118091C0109091C110909339 -:1093F00007118093061181E08093FA101092BB1040 -:109400001092C4101092C5101092C6101092C7107E -:109410001092BC101092BD101092BE101092BF108E -:109420001092B7101092B8101092B9101092BA1092 -:109430001092C0101092C1101092C2101092C3105E -:1094400020910C1130910D118091CE109091CF1080 -:109450008217930714F080E030DE20910C113091D8 -:109460000D1180910A0290910B022817390714F010 -:1094700080E062DE20910611309107118091CA10C0 -:109480009091CB10821793072CF010920F1110922D -:109490000E1191DE00E010E0E801CC0FDD1FC55099 -:1094A000DF4E888199811816190644F461E0802FF7 -:1094B0000E945CDA88819981019709C0892B49F063 -:1094C00060E0802F0E945CDA8881998101969983FF -:1094D00088830F5F1F4F03301105F1F6FF91EF9165 -:1094E000DF91CF91BF91AF919F918F917F916F91BC -:1094F0005F914F913F912F911F910F910F900BBE54 -:109500000F900FBE0F901F9018952CEA35EC47E294 -:109510005EE30C94B4F92CEA35EC47E25EE30C947C -:10952000E6F62CEA35EC47E25EE30C94E6F62CEA2C -:1095300035EC47E25EE30C94B4F9CF93DF93EC0192 -:1095400060E08E810E9485EF81E090E00E947FF0D4 -:1095500061E08E810E9485EF81E090E00E947FF0C3 -:1095600060E08E810E9485EF84E690E0DF91CF91EC -:109570000C947FF0CF92DF92EF92FF920F931F93A4 -:10958000CF93DF937C01C0E0D0E0C62ED12C8701C1 -:109590000C0F1D1F61E0F80187810E944CEFB6019E -:1095A0000C2E02C0759567950A94E2F76170F80178 -:1095B00087810E9485EF2196C430D10541F7C7010C -:1095C000DF91CF911F910F91FF90EF90DF90CF909F -:1095D000B4CFCF92DF92EF92FF920F931F93CF936E -:1095E000DF937C01C0E0D0E0C62ED12C87010C0FA8 -:1095F0001D1F61E0F80187810E944CEFB6010C2E1F -:1096000002C0759567950A94E2F76170F801878149 -:109610000E9485EF2196C830D10541F7C701DF913F -:10962000CF911F910F91FF90EF90DF90CF9085CF5A -:109630001F93CF93DF93EC01162F642F8C810E9430 -:1096400085EF8D818F3F19F060E00E9485EF8F8557 -:10965000612F84FF05C0CE01DF91CF911F91B9CF5B -:1096600070E084E0759567958A95E1F7CE0182DF19 -:10967000612FCE01DF91CF911F917CCF40E0D8CFF9 -:1096800061E0FCDF80E496E00C947FF062E0F6DFBE -:1096900080E496E00C947FF0CF93DF93CDB7DEB7F4 -:1096A00028970FB6F894DEBF0FBECDBF28E0EBE8D9 -:1096B000FCE0DE01119601900D922A95E1F7FC0184 -:1096C0002389421710F04FEF420FFE013196E40F4D -:1096D000F11DE40FF11D2081260F2068622F2896CE -:1096E0000FB6F894DEBF0FBECDBFDF91CF91C6CFCE -:1096F000FC016089262F2460208B6C60BFCFCF9344 -:10970000DF93EC01423018F08F8588608F874B8B98 -:109710001C8A222329F0413019F48F8584608F87B9 -:1097200080E593EC0E947FF060E08C810E9485EFE1 -:1097300060E08E810E9485EF8D818F3F19F060E09F -:109740000E9485EF6F8564FD19C063E0CE0112DFD2 -:1097500084E991E10E947FF063E0CE010BDF84E9B0 -:1097600091E10E947FF063E0CE0104DF86E990E0A2 -:109770000E947FF062E0CE01FDDE13C06062CE0188 -:109780007DDF84E991E10E947FF06F856062CE0108 -:1097900075DF86E990E00E947FF06F856062CE0100 -:1097A0006DDF6F856062CE0169DF8CE390E00E941F -:1097B0007FF084E0888BCE019BDF8CE390E00E94F9 -:1097C0007FF0CE015DDF88EB9BE00E947FF082E0BE -:1097D000898B66E0CE0152DF8CE390E0DF91CF9180 -:1097E0000C947FF06F927F928F92AF92CF92EF9214 -:1097F0000F931F93CF93DF93CDB7DEB73C01162FA6 -:10980000842F5E854F8538899989F3018483258368 -:109810000683E782C086A186828653874487358780 -:10982000968761E00E944CEFF30185818F3F19F02C -:1098300061E00E944CEF61E0F30186810E944CEFF1 -:10984000112319F0F301178603C080E1F301878724 -:1098500020E041E060E1C301DF91CF911F910F91C2 -:10986000EF90CF90AF908F907F906F9048CF8F9276 -:10987000AF92CF92EF920F93DC0113961C921E923F -:109880001297E1E5FDE0ED93FC931F921F921F926A -:109890001F928C2CAE2CC02EE22E042F2FEF462FC1 -:1098A00061E0A0DF0F900F900F900F900F91EF905D -:1098B000CF90AF908F900895CF93DF93EC0142301B -:1098C00018F08F8588608F874B8B1C8A222329F0A4 -:1098D000413019F48F8584608F8780E593EC0E9476 -:1098E0007FF060E08C810E9485EF60E08E810E94B5 -:1098F00085EF8D818F3F19F060E00E9485EF6F85C5 -:1099000064FD19C063E0CE0135DE84E991E10E9477 -:109910007FF063E0CE012EDE84E991E10E947FF0CA -:1099200063E0CE0127DE86E990E00E947FF062E0EE -:10993000CE0120DE13C06062CE01A0DE84E991E199 -:109940000E947FF06F856062CE0198DE86E990E02C -:109950000E947FF06F856062CE0190DE6F8560624D -:10996000CE018CDE8CE390E00E947FF084E0888B57 -:10997000CE01BEDE8CE390E00E947FF0CE0186DE59 -:1099800080E496E00E947FF082E0898B66E0CE0161 -:1099900075DE8CE390E00E947FF040E068E0CE014D -:1099A0007BDE61E77EE0CE010E9495F541E068E054 -:1099B000CE0172DE61E77EE0CE010E9495F542E0C5 -:1099C00066E0CE0169DE6FE67EE0CE01DF91CF91E9 -:1099D0000C9495F5CF92DF92EF92FF920F931F9325 -:1099E000CF93DF931F921F92CDB7DEB78C016770C4 -:1099F00088E0689FB00111246064C80149835A83DC -:109A00003DDE4981C42E5A81D52EE12CF12CD601A0 -:109A10006D916D01D801ED91FC910190F081E02DE7 -:109A2000C8011995BFEFEB1AFB0AE8E0EE16F10446 -:109A300071F70F900F90DF91CF911F910F91FF90D1 -:109A4000EF90DF90CF90089541E0F2DD81E090E06B -:109A500008950F931F93CF93DF93EC018B0144E1A3 -:109A600050E0BC018AE491E10F941200CE010E9403 -:109A7000F1FF992744E150E0481B590BB801865B80 -:109A80009E4E0F9412008AE491E1DF91CF911F91D5 -:109A90000F910895AF92BF92CF92DF92EF92FF9213 -:109AA0000F931F93CF93DF93EC015B017A01690160 -:109AB00044E150E0BC018AE491E10F941200CE0130 -:109AC0000E94F1FFEC01DD2704E110E0A8014C1B2E -:109AD0005D0BB501CE01865B9E4E0F941200C50151 -:109AE0000E94F1FFC80FD91FDD27A8014C1B5D0B99 -:109AF000B701CE01865B9E4E0F941200C7010E94F3 -:109B0000F1FF8C0F9D1F9927A801481B590BB60127 -:109B1000865B9E4E0F9412008AE491E1DF91CF9113 -:109B20001F910F91FF90EF90DF90CF90BF90AF907B -:109B300008952F923F924F925F926F927F928F92F1 -:109B40009F92AF92BF92CF92DF92EF92FF920F93CC -:109B50001F93CF93DF93CDB7DEB7CF54D1090FB6A4 -:109B6000F894DEBF0FBECDBF1C017E8F6D8F4A0102 -:109B70002FAB09AF2896EFAE28972C96ACAEBDAEB2 -:109B8000CEAEDFAE2C9734E0239F50011124FC01B0 -:109B9000EA0DFB1D80819181A281B381898F9A8F0B -:109BA000AB8FBC8FDA01AA0DBB1DBCAFABAF4D9024 -:109BB0005D906D907C90A3019201698D7A8D8B8D63 -:109BC0009C8D0E9406F621966CAF7DAF8EAF9FAF45 -:109BD0002197B4E00B9F80011124F101E00FF11FE8 -:109BE00020813181428153812F8F38A349A35AA309 -:109BF000A401400F511F23965FAF4EAF2397DA01A8 -:109C0000CD90DD90ED90FC90A70196016F8D78A12D -:109C100089A19AA10E9406F627966CAF7DAF8EAF00 -:109C20009FAF27972896EFAD2897B4E0EB9FC00130 -:109C30001124F101E80FF91F208131814281538104 -:109C40002BA33CA34DA35EA3ED8DFE8DE80FF91F62 -:109C500060817181828193810E9405F66FA378A74C -:109C600089A79AA7AD8DBE8D1C968D919D910D9063 -:109C7000BC91A02D60968CAF9DAFAEAFBFAF60978B -:109C8000D1011C962D913D914D915C911F972BA771 -:109C90003CA74DA75EA7A301920150582D8B3E8B88 -:109CA0004F8B588FD701C601B058898B9A8BAB8BDD -:109CB000BC8BED8DFE8DEA0DFB1D20813181428133 -:109CC00053812FA738AB49AB5AAB21962CAD3DAD94 -:109CD0004EAD5FAD21976FA578A989A99AA90E9479 -:109CE00005F66B017C01ED8DFE8DE00FF11F80818B -:109CF0009181A281B3818BAB9CABADABBEAB279600 -:109D00002CAD3DAD4EAD5FAD2797BC01CD010E949E -:109D100005F64B015C01A70196016D897E898F894B -:109D2000988D0E94B4F92B013C01A5019401698929 -:109D30007A898B899C890E94B4F99B01AC01C3018B -:109D4000B2010E9406F62B013C01A50194016D8928 -:109D50007E898F89988D0E94B4F94B015C01A7011F -:109D6000960169897A898B899C890E94B4F99B0143 -:109D7000AC01C501B4010E9405F6A30192010E9445 -:109D800079F66B017C0120E030E0A9010E94DFF64A -:109D900087FF0AC02BED3FE049EC50E4C701B60154 -:109DA0000E9406F66B017C01AA968FADAA978823C4 -:109DB00051F02BED3FE049EC50E4C701B6010E94A1 -:109DC00005F66B017C012FA538A949A95AA9698D0F -:109DD0007A8D8B8D9C8D0E94DFF681111FC02BA97F -:109DE0003CA94DA95EA96F8D78A189A19AA10E9475 -:109DF000DFF6811113C020E030E0A901C701B601F0 -:109E00000E94DFF681110AC02BED3FE049EC50E4DF -:109E1000C701B6010E9406F66B017C01A9962CAD24 -:109E20003DAD4EAD5FADA997C701B6010E94B4F933 -:109E30002FA138A549A55AA55F770E94EFF84B01DD -:109E40005C012FE632E143E85AE30E94DFF687FD2A -:109E5000C8C1C501B4010E94BCF70E9453F77A8FB4 -:109E6000698FDB01AB2B21F4E1E0F0E0FA8FE98FA1 -:109E7000298D3A8DB90180E090E00E947FF74B0177 -:109E80005C019B01AC01C701B6010E94E6F62B0103 -:109E90003C01A50194016FA178A589A59AA50E940E -:109EA000E6F66FA778AB89AB9AAB2BA53CA54DA581 -:109EB0005EA560966CAD7DAD8EAD9FAD60970E9446 -:109EC00005F6A50194010E94E6F66BAB7CAB8DAB69 -:109ED0009EAB20E030E040E05FE3C301B2010E94AE -:109EE000B4F9A30192010E94B4F99B01AC0160E0B6 -:109EF00070E080E89FE30E9405F66FA378A789A72A -:109F00009AA7CE010196FC0128964FAD289734E020 -:109F1000439FE00DF11D11242BA13CA14DA15EA199 -:109F200020833183428353832BA53CA54DA55EA599 -:109F30002D873E874F87588BB12C41E050E058A3C6 -:109F40004F8F1C01BFA9A4E0BA9F800D911D112461 -:109F500098AF8FAB910159AD44E0549F200D311D56 -:109F600011243AAF29AFFCA7EBA74F8D58A1898DDB -:109F70009A8D4817590708F01AC188E18B150CF41F -:109F800044C02FA138A549A55AA569897A898B892A -:109F90009C890E94B4F96B017C01A30192016D8937 -:109FA0007E898F89988D0E94B4F9A70196010E943D -:109FB00006F6A62E172F982E892E2FA138A549A573 -:109FC0005AA56D897E898F89988D0E94B4F96B019D -:109FD0007C01A301920169897A898B899C890E94FD -:109FE000B4F99B01AC01C701B6010E9405F66D8B67 -:109FF0007E8B8F8B988FB3948A2D912FA92DB82D9E -:10A00000898B9A8BAB8BBC8B6CC0AF8DB8A1BD011B -:10A0100080E090E00E947FF7A30192010E94B4F9D2 -:10A020006B017C010E94E3F6698B7A8B8B8B9C8B96 -:10A03000C701B6010E9417FA4B015C01EBADFCAD04 -:10A04000C080D180E280F380F7FAF094F7F8F094C2 -:10A050002396AEADBFAD23972D913D914D915C916F -:10A060002BA33CA34DA35EA329893A894B895C8924 -:10A07000C701B6010E94B4F96D8B7E8B8F8B988FD0 -:10A08000A50194016BA17CA18DA19EA10E94B4F9B0 -:10A090009B01AC016D897E898F89988D0E9406F69F -:10A0A0006D8B7E8B8F8B988FA5019401C701B601B4 -:10A0B0000E94B4F96B017C0129893A894B895C893A -:10A0C0006BA17CA18DA19EA10E94B4F99B01AC0162 -:10A0D000C701B6010E9405F6698B7A8B8B8B9C8B2E -:10A0E000B12C2D893E894F89588D21966CAD7DAD5F -:10A0F0008EAD9FAD21970E9406F6EFA9F8AD608363 -:10A1000071838283938329893A894B895C89279655 -:10A110006CAD7DAD8EAD9FAD27970E9406F6A9ADC3 -:10A12000BAAD6D937D938D939C9313972FA538A90A -:10A1300049A95AA9EBA5FCA560817181828193810F -:10A140000E9406F6ABA5BCA56D937D938D939C9361 -:10A1500013972BA93CA94DA95EA96D857E858F8596 -:10A1600098890E9406F66D877E878F87988BC1013C -:10A170000E94B066FE01E659FF4F6F012C96ECACD1 -:10A18000FDAC0EAD1FAD2C979E01235F3F4FAE017E -:10A19000475F5F4FBE016B5F7F4FC1010E9457E178 -:10A1A0002F8D38A12F5F3F4F38A32F8FDECE2D8DFF -:10A1B0003E8D245F3F4F4D8D5E8D485F5F4F6D8DAF -:10A1C0007E8D6C5F7F4FDE01A659BF4F6D012C96CF -:10A1D000ECACFDAC0EAD1FAD2C978D8D9E8D0E940D -:10A1E00057E1C15BDF4F0FB6F894DEBF0FBECDBFA6 -:10A1F000DF91CF911F910F91FF90EF90DF90CF9063 -:10A20000BF90AF909F908F907F906F905F904F9096 -:10A210003F902F900895FC011482178213821282BE -:10A2200086E99EE091838083089526E93EE0FC0163 -:10A23000318320832781222319F004960C94CF3494 -:10A240000895CF92DF92EF92FF920F931F93CF93D7 -:10A25000DF93EC01875B9F4FDEDFCE0186599F4F76 -:10A26000DADF7E0129E8E20EF11C87016E0131E49C -:10A27000C31A3EEFD30AC801CEDF015E1F4F0C1593 -:10A280001D05C9F7FE01EF53FE4F89E1818314825A -:10A290003596178ACE018C519E4FBDDFFE01EB56DD -:10A2A000FD4F108211821282138238961082118221 -:10A2B000128213821A821B82188219826E0187E62B -:10A2C000C81A8DEFD80AF601108211821282138209 -:10A2D000F80111821082FE01ED5FFD4F108286E3CE -:10A2E00091E0F7019C01119221503040E1F7FE010D -:10A2F000EF55FD4F81E08083C95BDF4F19821882E3 -:10A300000E942CF068577C4E8F4F9F4FF601608360 -:10A31000718382839383DF91CF911F910F91FF907F -:10A32000EF90DF90CF900895FC0120E03EE2DB014A -:10A330004C91403241F0283011F430833196DB01EA -:10A340004C91408331962F5F6F5F7F4F2B3079F7B1 -:10A35000108208952F923F924F925F926F927F9258 -:10A360008F929F92AF92BF92CF92DF92EF92FF9225 -:10A370000F931F93CF93DF93CDB7DEB7CA58D109A0 -:10A380000FB6F894DEBF0FBECDBF8C016B017A0112 -:10A390004901CA57DF4F1882C658D04084E0E80E02 -:10A3A000F11C180191E1290E311CF801EA5BFF4F05 -:10A3B000C957DF4FF983E883C758D0403801FEE51D -:10A3C0006F1AFDEF7F0A58018CE5A81A8DEFB80AC5 -:10A3D00090E4492E512C4C0E5D1E94E0490E511C08 -:10A3E000A101BE016F5F7F4FC7010E94393318166C -:10A3F0000CF04AC12C85322F3871303109F0ACC0D5 -:10A40000F301808191810197029708F4A5C0BE01F4 -:10A410006F5F7F4FCE0187589F4F86DFA0961FAE9C -:10A42000A097F6018081811107C065E57DE0CE012E -:10A43000815A9F4F0F946B00B601CE01815A9F4FF6 -:10A440000F946B00BE0167587F4FCE01815A9F4F1A -:10A450000F946B0065E57DE0CE01815A9F4F0F940C -:10A460006B00CE01805C9F4FD6DE21E0AE014758E5 -:10A470005F4FB701C2010E94C636811147C0F30188 -:10A4800080819181892B09F041C0E1E9F2E5849155 -:10A49000882341F09091C00095FFFCCF8093C600C7 -:10A4A0003196F5CFE0917B13F0E0EE0FFF1FE45EF5 -:10A4B000FD4F0190F081E02DE457FE4F0190F081B7 -:10A4C000E02D8191882339F09091C00095FFFCCF59 -:10A4D0008093C600F6CF8091C00085FFFCCF8AE054 -:10A4E0008093C600FE01E758FF4F8191882339F021 -:10A4F0009091C00095FFFCCF8093C600F6CF80916D -:10A50000C00085FFFCCF8AE08093C6008BE1FE018E -:10A51000EC5BFF4FDE01959601900D928A95E1F775 -:10A5200024968EAD9FAD24979CA38BA386E99EE0D5 -:10A530009AA389A320E030E0AE014F5D5F4FBE01DA -:10A54000615A7F4FC80106DFCE0181966EDECE01D3 -:10A55000805C9F4F6ADE44CF8981882309F494C0D0 -:10A560008E3209F43DCF8F3509F43ACFF801818955 -:10A570008E3209F435CF8F3509F432CF23FD30CF39 -:10A5800081E0303109F080E0C957DF4FE881F9817F -:10A59000C758D0408083811108C08985873409F06D -:10A5A0001FCF8A858E3709F41BCF98012C5F3F4F50 -:10A5B000BE016F5F7F4FC901C757DF4F2883C9585E -:10A5C000D040C657DF4F3883CA58D040ADDEF301C4 -:10A5D00080819181C757DF4F2881C958D040C65725 -:10A5E000DF4F3881CA58D0400097F1F4F6018191CD -:10A5F000882339F09091C00095FFFCCF8093C6006E -:10A60000F6CFF9018191882339F09091C00095FF30 -:10A61000FCCF8093C600F6CF8091C00085FFFCCFB1 -:10A620008AE08093C600DCCE8130910539F4F501D3 -:10A6300080819181019691838083D2CE029709F027 -:10A64000CFCE8114910439F0B901C4010F945800A0 -:10A65000892B71F419C0CA57DF4FF881C658D04012 -:10A660002F2F30E0F501808191812817390761F0A3 -:10A67000CA57DF4FF881C658D040FF5FCA57DF4F37 -:10A68000F883C658D040ACCEC657DF4F0FB6F8940B -:10A69000DEBF0FBECDBFDF91CF911F910F91FF9015 -:10A6A000EF90DF90CF90BF90AF909F908F907F9072 -:10A6B0006F905F904F903F902F9008950F931F934E -:10A6C000CF93DF93CDB7DEB76F970FB6F894DEBFA9 -:10A6D0000FBECDBF8C01FC01EE55FD4F11821082E3 -:10A6E00040E050E0BA01835B9F4F0E94EC33C80109 -:10A6F000875B9F4F2BE1FC013496DE01159601909C -:10A700000D922A95E1F7FC01828193819C838B83D2 -:10A7100086E99EE09A83898320E030E0AE014F5FB6 -:10A720005F4F67E77EE0C80115DECE0101967DDD53 -:10A730006F960FB6F894DEBF0FBECDBFDF91CF91FD -:10A740001F910F9108952BE1FB013496DC011496C3 -:10A7500001900D922A95E1F7FB0122813381FC01E2 -:10A76000338322830895EF92FF920F931F93CF9329 -:10A77000DF93EC011B82FC01E05BFF4F80818823AB -:10A7800029F0CE01835B9F4F0E94CF347E018FE37F -:10A79000E81A8EEFF80A45E360E0C7010E946F5F98 -:10A7A00081112CC0E1E9F2E58491882341F0909178 -:10A7B000C00095FFFCCF8093C6003196F5CFE091A5 -:10A7C0007B13F0E0EE0FFF1FE45EFD4F0190F08180 -:10A7D000E02DE257FE4F0190F081E02D8491882317 -:10A7E00041F09091C00095FFFCCF8093C600319658 -:10A7F000F5CF8091C00085FFFCCF9EC08E010A532B -:10A800001E4F41E0B701C8010E949D3C811133C039 -:10A8100040E0B701C8010E949D3C81112CC0E7E9CE -:10A82000F2E58491882341F09091C00095FFFCCF20 -:10A830008093C6003196F5CFE0917B13F0E0EE0FE8 -:10A84000FF1FE45EFD4F0190F081E02DE057FE4FC9 -:10A850000190F081E02D8491882341F09091C00017 -:10A8600095FFFCCF8093C6003196F5CF8091C00054 -:10A8700085FFFCCF61C0B801CE01835B9F4F0E9472 -:10A88000DC3181112CC0E7E9F2E58491882341F0A5 -:10A890009091C00095FFFCCF8093C6003196F5CF14 -:10A8A000E0917B13F0E0EE0FFF1FE45EFD4F01909F -:10A8B000F081E02DEE56FE4F0190F081E02D849165 -:10A8C000882341F09091C00095FFFCCF8093C60093 -:10A8D0003196F5CF8091C00085FFFCCF2DC081E07F -:10A8E0008B83E1E9F2E58491882341F09091C000E7 -:10A8F00095FFFCCF8093C6003196F5CFE0917B1396 -:10A90000F0E0EE0FFF1FE45EFD4F0190F081E02DBF -:10A91000EC56FE4F0190F081E02D8491882341F0A8 -:10A920009091C00095FFFCCF8093C6003196F5CF83 -:10A930008091C00085FFFCCF8AE08093C6008E0125 -:10A94000075B1F4FB801CE0186599F4FFCDEC859E7 -:10A95000DF4F19830883DF91CF911F910F91FF90F3 -:10A96000EF900895FC01128213820895FC01238167 -:10A97000222311F021E022830895FC01228121117C -:10A9800012820895AF92BF92CF92DF92EF92FF9220 -:10A990000F931F93CF93DF931F92CDB7DEB78C0138 -:10A9A0008FE2FB0181935F01D12C41E07801F1E45A -:10A9B000EF1AFEEFFF0A6FE1C62E2D2D30E0F701F2 -:10A9C0008081918128173907D8F4C29EC001C39EA7 -:10A9D000900D112483579F4FB501800F911F49831C -:10A9E0000E948331C50149815C010196F5012081F6 -:10A9F000222321F04D3810F44F5FF6CFD394DDCFF2 -:10AA000047FD11C0B501C80188519E4F0F90DF91DD -:10AA1000CF911F910F91FF90EF90DF90CF90BF905B -:10AA2000AF900C948331F50110820F90DF91CF919C -:10AA30001F910F91FF90EF90DF90CF90BF90AF905C -:10AA400008953F924F925F926F927F928F929F9262 -:10AA5000AF92BF92CF92DF92EF92FF920F931F932C -:10AA6000CF93DF93CDB7DEB7AC970FB6F894DEBFC8 -:10AA70000FBECDBF7C015B01FC018381882309F4FB -:10AA800008C1C70188519E4F0E94CF34F70112823E -:10AA9000CE0101966C01BFDB270198E6490E511CDF -:10AAA000C701875B9F4FF20191838083F50180810D -:10AAB0008F3209F084C06FE270E0C5010F94760018 -:10AAC0008C010F5F1F4F7AE0372E0115110509F435 -:10AAD0007CC06FE270E0C8010F9476004C010097D3 -:10AAE00009F474C00817190708F070C03C01601A17 -:10AAF000710AA301B801CE0180960F949F00E0E295 -:10AB0000F0E0EC0FFD1FE60DF71D1082FE01B09680 -:10AB10008191882339F09091C00095FFFCCF8093FC -:10AB2000C600F6CF8091C00085FFFCCF3092C600F2 -:10AB3000F201608171816115710519F06C5F7F4FC1 -:10AB400002C060E070E021E0AE01405E5F4FCE01E8 -:10AB500005960E94C63681112BC0E7E5FDE0849181 -:10AB6000882341F09091C00095FFFCCF8093C600F0 -:10AB70003196F5CFFE01B0968191882339F09091FE -:10AB8000C00095FFFCCF8093C600F6CFEEECFEE44C -:10AB90008491882341F09091C00095FFFCCF809371 -:10ABA000C6003196F5CF8091C00085FFFCCF6CC008 -:10ABB000F201D182C08284010F5F1F4F86CFC7018F -:10ABC00086599F4FF201918380838501F201808134 -:10ABD0009181009711F0049602C080E090E0B801E6 -:10ABE0000E949C37882339F1E0ECFEE484918823AD -:10ABF00041F09091C00095FFFCCF8093C600319644 -:10AC0000F5CFF8018191882339F09091C00095FF2C -:10AC1000FCCF8093C600F6CF8091C00085FFFCCFAB -:10AC20008AE08093C600F701E356FD4F108211823F -:10AC3000128213822CC0E8EAFEE48491882341F05A -:10AC40009091C00095FFFCCF8093C6003196F5CF60 -:10AC5000F8018191882339F09091C00095FFFCCFD5 -:10AC60008093C600F6CFE6EAFEE48491882341F0A3 -:10AC70009091C00095FFFCCF8093C6003196F5CF30 -:10AC80008091C00085FFFCCF8AE08093C600C6019A -:10AC9000CCDAAC960FB6F894DEBF0FBECDBFDF9115 -:10ACA000CF911F910F91FF90EF90DF90CF90BF90C9 -:10ACB000AF909F908F907F906F905F904F903F905C -:10ACC00008958F929F92AF92BF92CF92DF92EF92B0 -:10ACD000FF92CF93DF931F92CDB7DEB77C01FC01CB -:10ACE0008281882309F4BCC071968191882339F050 -:10ACF0009091C00095FFFCCF8093C600F6CFE4EAA8 -:10AD0000FEE48491882341F09091C00095FFFCCF30 -:10AD10008093C6003196F5CFE0917B13F0E0EE0F03 -:10AD2000FF1FE45EFD4F0190F081E02DEE55FE4FD8 -:10AD30000190F081E02D8491882341F09091C00032 -:10AD400095FFFCCF8093C6003196F5CFF701E3560F -:10AD5000FD4F40815181628173812AE030E08BEFA9 -:10AD600096E10E949CD0E2EAFEE48491882341F0BF -:10AD70009091C00095FFFCCF8093C6003196F5CF2F -:10AD8000F701EB56FD4F40815181628173812AE0CA -:10AD900030E08BEF96E10E949CD08091C00085FF4F -:10ADA000FCCF8AE08093C6000E942CF0E0E6CE2E15 -:10ADB000EAEEDE2EE12CF12CA70196010E94BDFAED -:10ADC00049015A0160916B1170916C1180916D1164 -:10ADD00090916E11A70196010E94BDFA821A930A02 -:10ADE000C4016CE370E00E9496FA6983CE0101967B -:10ADF0000E94B2A4FC012191CF01222339F03091AD -:10AE0000C00035FFFCCF2093C600F4CF40E050E0F7 -:10AE10006AE38BEF96E10E9454D0C4016CE370E0CA -:10AE20000E9496FA8983CE0101960E94B2A4FC0189 -:10AE30002191CF01222339F03091C00035FFFCCFA2 -:10AE40002093C600F4CFE0EAFEE484918823E1F089 -:10AE50009091C00095FFFCCF8093C6003196F5CF4E -:10AE6000EBE6FDE08491882341F09091C00095FFCE -:10AE7000FCCF8093C6003196F5CF8091C00085FF4E -:10AE8000FCCF8AE08093C6000F90DF91CF91FF90B6 -:10AE9000EF90DF90CF90BF90AF909F908F900895EC -:10AEA000AF92BF92CF92DF92EF92FF920F931F93D8 -:10AEB000CF93DF935C01EB01FB0101900020E9F7E8 -:10AEC0008F0101501109061B170B6C01F8E1CF1A15 -:10AED000FEEFDF0AF60110826EE470E0CE010F94FF -:10AEE00076007C01009729F4F8013197EC0FFD1FE3 -:10AEF0000DC060E270E00F947600EC0121966AE2EA -:10AF000070E0C7010F947600FC0131978DE08183DA -:10AF10008AE082831382BE01C5018C519E4F0E943C -:10AF200059D1F6018081882371F1E7E9F2E5849136 -:10AF3000882341F09091C00095FFFCCF8093C6001C -:10AF40003196F5CFE0917B13F0E0EE0FFF1FE45E4A -:10AF5000FD4F0190F081E02DEA55FE4F0190F08108 -:10AF6000E02D8491882341F09091C00095FFFCCFA3 -:10AF70008093C6003196F5CF8091C00085FFFCCF4D -:10AF80008AE08093C600DF91CF911F910F91FF90CF -:10AF9000EF90DF90CF90BF90AF9008952F923F92A7 -:10AFA0004F925F926F927F928F929F92AF92BF92D9 -:10AFB000CF92DF92EF92FF920F931F93CF93DF9385 -:10AFC000CDB7DEB7CC55D1090FB6F894DEBF0FBEB2 -:10AFD000CDBF4C018C010F551D4F662339F0F80190 -:10AFE0001082F401838181111DC015C0F801808198 -:10AFF000882309F4AFC0F401E756FD4FC080D1802B -:10B00000E280F3800E942CF0C616D706E806F90607 -:10B0100008F4A0C0E4CFC401A6DBF4018381882337 -:10B0200009F498C07401F7E4EF0EF11CF701818177 -:10B030008F9380818F9387E99EE49F938F938E01F6 -:10B04000015C1F4F1F930F930F94AE000F900F9052 -:10B050000F900F900F900F90B12CF80101900020ED -:10B06000E9F73197E01BF10BBE1684F46801CB0CB5 -:10B07000D11CB7FCDA94F6018081992787FD909561 -:10B080000E94E2FFF6018083B394E7CFFDE48F0EC8 -:10B09000911C40E050E0BA01C4010E94EC33512CF5 -:10B0A000CE0101966C0180E9682E8EE4782E5E0157 -:10B0B00091E2A90EB11C40E050E0B601C4010E942B -:10B0C00039331816DCF5412CF60101900020E9F720 -:10B0D0003197EC19FD094E1674F41601240C311C3D -:10B0E00047FC3A94F101808190E00E94E2FFF10177 -:10B0F00080834394E9CF8A858E37E9F245E050E0BA -:10B10000B801C6010F949100892BA9F61F930F93E4 -:10B110007F926F92BF92AF920F94AE00C5010E94D2 -:10B1200070628CE89EE40E94F0620F900F900F9086 -:10B130000F900F900F9055245394BDCF511004C021 -:10B140008FEF9FEFF70104C0F70180819181019695 -:10B1500091838083C45ADF4F0FB6F894DEBF0FBED1 -:10B16000CDBFDF91CF911F910F91FF90EF90DF90B6 -:10B17000CF90BF90AF909F908F907F906F905F9097 -:10B180004F903F902F9008950F931F93CF93DF938D -:10B19000EC018C0108511E4FC8010E948534C80182 -:10B1A0000E94CF3418821982DF91CF911F910F91A5 -:10B1B0000895CF92DF92EF92FF920F931F93CF9358 -:10B1C000DF93CDB7DEB76F970FB6F894DEBF0FBE33 -:10B1D000CDBF8C016A017C0188E6E80EF11CC80134 -:10B1E00086599F4FF70191838083E65CFD4F22E0F3 -:10B1F00030E03183208332967183608340E050E0F9 -:10B20000BA0104960E94EC33F701808191812BE111 -:10B21000FC013496DE01159601900D922A95E1F716 -:10B22000FC01828193819C838B8386E99EE09A83D3 -:10B2300089839601AE014F5F5F4F67E77EE0C801EB -:10B2400089D8CE0101960E9415516F960FB6F894D9 -:10B25000DEBF0FBECDBFDF91CF911F910F91FF9049 -:10B26000EF90DF90CF9008952F923F924F925F9290 -:10B270006F927F928F929F92AF92BF92CF92DF9206 -:10B28000EF92FF920F931F93CF93DF93CDB7DEB76B -:10B29000AC970FB6F894DEBF0FBECDBF8C016B012B -:10B2A000342EDC0113968C91882309F449C3F801EC -:10B2B000E551FE4F8081882309F4F5C02111C1C0FA -:10B2C0007801BDEFEB1AFB0AF7018081882361F159 -:10B2D000E7E9F2E58491882341F09091C00095FF61 -:10B2E000FCCF8093C6003196F5CFE2E2FFE4849173 -:10B2F000882341F09091C00095FFFCCF8093C60059 -:10B300003196F5CF4AE050E061E070E08BEF96E1D6 -:10B310000E9470D08091C00085FFFCCF8AE08093AE -:10B32000C6000E94686A0CC3E1E9F2E584918823B3 -:10B3300041F09091C00095FFFCCF8093C6003196FC -:10B34000F5CFE9E0FFE48491882341F09091C000BB -:10B3500095FFFCCF8093C6003196F5CFF601819121 -:10B36000882339F09091C00095FFFCCF8093C600F0 -:10B37000F6CFEEEFFEE48491882341F09091C00077 -:10B3800095FFFCCF8093C6003196F5CFD7018C9105 -:10B39000FDE8BF2EB801B89E600D711D1124685FD5 -:10B3A0007D4FC801EFDAF7018081F801B89EE00D0A -:10B3B000F11D1124E85FFD4F8191882339F09091B0 -:10B3C000C00095FFFCCF8093C600F6CFE8EFFEE407 -:10B3D0008491882341F09091C00095FFFCCF809329 -:10B3E000C6003196F5CF5801F3E6AF1AFDEFBF0A5C -:10B3F000D5014D915D916D917C912AE030E08BEF0C -:10B4000096E10E949CD08091C00085FFFCCF8AE02D -:10B410008093C600F7012081F80184E0289FE00DA9 -:10B42000F11D1124EC5FFD4FD5014D915D916D91A2 -:10B430007C9140835183628373832F5FF701208364 -:10B440002CC0E1E9F2E58491882341F09091C0009D -:10B4500095FFFCCF8093C6003196F5CFE7EEFEE472 -:10B460008491882341F09091C00095FFFCCF809398 -:10B47000C6003196F5CFF6018191882339F090917D -:10B48000C00095FFFCCF8093C600F6CF8091C0002E -:10B4900085FFFCCF8AE08093C600C80188519E4F8B -:10B4A0000E94CF3430C0F801ED5FFD4F1082E1E91A -:10B4B000F2E58491882341F09091C00095FFFCCF84 -:10B4C0008093C6003196F5CFE6EDFEE484918823A3 -:10B4D00041F09091C00095FFFCCF8093C60031965B -:10B4E000F5CFF6018191882339F09091C00095FF46 -:10B4F000FCCF8093C600F6CF8091C00085FFFCCFC3 -:10B500008AE08093C600D80112961C92FE01319603 -:10B510005F01CF010E940B512801F8E64F0E511C2C -:10B52000C801875B9F4FD2018D939C93F601808168 -:10B530008F3209F091C06FE270E0C6010F9476007F -:10B5400001967C01EAE02E2EE114F10409F48AC090 -:10B550006FE270E0C7010F9476004C01009709F488 -:10B5600082C0E816F90608F07EC03C016E187F081C -:10B57000A301B701CE0180960F949F00E0E2F0E0B6 -:10B58000EC0FFD1FE60DF71D1082FE01B0968191B4 -:10B59000882339F09091C00095FFFCCF8093C600BE -:10B5A000F6CF8091C00085FFFCCF2092C600D2016B -:10B5B0006D917C916115710519F06C5F7F4F02C030 -:10B5C00060E070E021E0AE01405E5F4FCE01059685 -:10B5D0000E94C636811138C0E0917B13F0E0EE0F77 -:10B5E000FF1FE45EFD4F0190F081E02DE856FE4F15 -:10B5F0000190F081E02D8491882341F09091C0006A -:10B6000095FFFCCF8093C6003196F5CFFE01B09632 -:10B610008191882339F09091C00095FFFCCF8093F1 -:10B62000C600F6CFE4EDFEE48491882341F09091CA -:10B63000C00095FFFCCF8093C6003196F5CF809176 -:10B64000C00085FFFCCF43C1F201B182A08274012A -:10B65000FFEFEF1AFF0A78CFC80186599F4FD2013A -:10B660008D939C937601F801E851FE4F4F013320F2 -:10B6700009F4E5C0D2016D917C916115710519F055 -:10B680006C5F7F4F02C060E070E021E0A701C40161 -:10B690000E94C63620917B13882309F49AC0F401D6 -:10B6A00081899289A389B489F801EB56FD4F808383 -:10B6B0009183A283B383E22FF0E0EE0FFF1FE45EDD -:10B6C000FD4F0190F081E02DE656FE4F0190F08194 -:10B6D000E02D8491D801AB56BD4F882349F090915D -:10B6E000C00095FFFCCF8093C60031968491F5CFC2 -:10B6F000F7018191882339F09091C00095FFFCCF2C -:10B700008093C600F6CFE0917B13F0E0EE0FFF1FB1 -:10B71000E45EFD4F0190F081E02DE456FE4F019074 -:10B72000F081E02D8491882341F09091C00095FF35 -:10B73000FCCF8093C6003196F5CF4D915D916D9110 -:10B740007C912AE030E08BEF96E10E949CD08091C2 -:10B75000C00085FFFCCF8AE08093C600F801E35665 -:10B76000FD4F1082118212821382E0917B13F0E070 -:10B77000EE0FFF1FE45EFD4F0190F081E02DE256D9 -:10B78000FE4F0190F081E02D8491882341F090914B -:10B79000C00095FFFCCF8093C6003196F5CF809115 -:10B7A000C00085FFFCCF8AE08093C600A70160E05F -:10B7B00070E0C801FEDCD80151968C91882319F005 -:10B7C000C801419601C0C7010E942EA188E79DE0F3 -:10B7D000B2C0E22FF0E0EE0FFF1FE45EFD4F0190DC -:10B7E000F081E02DE856FE4F0190F081E02D84912C -:10B7F000882341F09091C00095FFFCCF8093C60054 -:10B800003196F5CFF7018191882339F09091C000EE -:10B8100095FFFCCF8093C600F6CFE2EDFEE4849165 -:10B82000882341F09091C00095FFFCCF8093C60023 -:10B830003196F5CF8091C00085FFFCCF48C0F20162 -:10B84000608171816115710519F06C5F7F4F02C0D5 -:10B8500060E070E026E5A701C4010E94C6368111B0 -:10B860003AC0E0917B13F0E0EE0FFF1FE45EFD4F66 -:10B870000190F081E02DE856FE4F0190F081E02D1F -:10B880008491882341F09091C00095FFFCCF809374 -:10B89000C6003196F5CFF7018191882339F0909158 -:10B8A000C00095FFFCCF8093C600F6CFE0EDFEE42C -:10B8B0008491882341F09091C00095FFFCCF809344 -:10B8C000C6003196F5CF8091C00085FFFCCF8AE09D -:10B8D0008093C60032C081E0D8018C93E0917B1345 -:10B8E000F0E0EE0FFF1FE45EFD4F0190F081E02DD0 -:10B8F000E056FE4F0190F081E02D8491882341F0C5 -:10B900009091C00095FFFCCF8093C6003196F5CF93 -:10B91000F6018191882339F09091C00095FFFCCF0A -:10B920008093C600F6CF8091C00085FFFCCF8AE0EF -:10B930008093C600C7010E942EA1C5010E94155127 -:10B94000AC960FB6F894DEBF0FBECDBFDF91CF919E -:10B950001F910F91FF90EF90DF90CF90BF90AF902D -:10B960009F908F907F906F905F904F903F902F901F -:10B97000089521E0FC01218340E076CCCF92DF9254 -:10B98000EF92FF920F931F93CF93DF93CDB7DEB764 -:10B990006F970FB6F894DEBF0FBECDBF8C016C0160 -:10B9A00028E6C20ED11C86599F4FF60191838083F1 -:10B9B000E65CFD4F21E030E0318320837801FCE537 -:10B9C000EF1AFDEFFF0AF7011182108240E050E00C -:10B9D000BA0104960E94EC33F601808191812BE13B -:10B9E000FC013496DE01159601900D922A95E1F73F -:10B9F000FC01828193819C838B8386E99EE09A83FC -:10BA0000898320E030E0AE014F5F5F4F67E77EE063 -:10BA1000C8010E94AA51CE0101960E941551F7015A -:10BA2000808191816F960FB6F894DEBF0FBECDBFB7 -:10BA3000DF91CF911F910F91FF90EF90DF90CF900A -:10BA40000895AF92BF92CF92DF92EF92FF920F9341 -:10BA50001F93CF93DF93CDB7DEB76F970FB6F894F0 -:10BA6000DEBF0FBECDBF8C017B01CE0101960E94CF -:10BA70000B51F801EF58FF4F80816801811104C01C -:10BA800029E4C20ED11C03C08AE6C80ED11C21E0F5 -:10BA9000A701B6016C5F7F4FCE0105960E94C636A6 -:10BAA00081113AC0E1E9F2E58491882341F0909157 -:10BAB000C00095FFFCCF8093C6003196F5CFE09192 -:10BAC0007B13F0E0EE0FFF1FE45EFD4F0190F0816D -:10BAD000E02DE855FE4F0190F081E02D8491882300 -:10BAE00041F09091C00095FFFCCF8093C600319645 -:10BAF000F5CFF7018191882339F09091C00095FF2F -:10BB0000FCCF8093C600F6CF8091C00085FFFCCFAC -:10BB10008AE08093C60036C0F801E154FE4F808170 -:10BB200091818A30910530F59C012F5F3F4F318321 -:10BB300020832FE1289F7001299FF00C112429E810 -:10BB4000E20EF11CE00EF11E5C01B701C7014F9639 -:10BB50000E94A35381E0A81AB1082FE1E21AF1086C -:10BB60008FEFA816B80689F7B601C80187579F4F0F -:10BB70000E94A353BE016F5F7F4FC80186599F4F3C -:10BB80000E94A353CE0101960E9415516F960FB6E5 -:10BB9000F894DEBF0FBECDBFDF91CF911F910F9103 -:10BBA000FF90EF90DF90CF90BF90AF900895EF920D -:10BBB000FF920F931F93CF93DF93EC01C154DE4F9D -:10BBC0002881398121153105F9F021503109398356 -:10BBD00028838C0107571F4FB80186599F4F0E9439 -:10BBE000A353C80100E010E07C012FE1E20EF11C3C -:10BBF000288139810217130738F40F5F1F4FB701EF -:10BC00000E94A353C701F0CFDF91CF911F910F91F5 -:10BC1000FF90EF900895EF92FF920F931F93CF93B1 -:10BC2000DF93EC010E94C4D98E010D5F1D4FF80116 -:10BC300080819E0128513E4F79018823A1F1C901DD -:10BC40000E94CF34F801808181508083BE01FDE8DD -:10BC50008F9F600D711D1124685F7D4F21E041E0D1 -:10BC6000CE0102DBF8018081FE0124E0829FE00D1D -:10BC7000F11D1124EC5FFD4F408151816281738180 -:10BC8000FE01E356FD4F4083518362837383C701F6 -:10BC90000E94EC33CE01DF91CF911F910F91FF9065 -:10BCA000EF900C94B6540E943ADAC7010E94CF3448 -:10BCB0001A8280E89EE4DF91CF911F910F91FF904F -:10BCC000EF908EC48FEF8EBD0DB407FEFDCF8EB505 -:10BCD00008958EBD0DB407FEFDCF089561E0FC010F -:10BCE00080810C9485EFFC012281322F306A3695D9 -:10BCF0003CBD20FD06C031E0263009F430E0232FA2 -:10BD000001C020E02DBD60E0FC0180810C9485EF36 -:10BD1000CF92DF92EF92FF920F931F93CF93DF9317 -:10BD2000EC018B017A010E942CF06B01CBDF8B833D -:10BD30008F3F49F40E942CF06C197D096D327140DF -:10BD4000A8F381E144C08E3F11F08FE040C0E114C0 -:10BD5000F104D9F0C70101972FEF2EBDF8014FEF85 -:10BD60009F01201B310B2817390738F40DB407FE4B -:10BD7000FDCF2EB521934EBDF3CF0DB407FEFDCF01 -:10BD80002EB5F801E80FF91F2083D801E00EF11E4F -:10BD9000C12CD12CAE15BF0579F08D91ED2DFF276B -:10BDA000E827EE0FFF1FEB59F04B85919491DC2CA7 -:10BDB000CC24C826D926EECF85DF082F10E0102F1F -:10BDC000002780DF082BC016D10631F080E289837E -:10BDD000CE0184DF80E003C0CE0180DF81E0DF910F -:10BDE000CF911F910F91FF90EF90DF90CF9008952A -:10BDF0000F931F93CF93DF93EB010E942CF08B01E5 -:10BE000061DF8F3F49F00E942CF0601B710B6C17B3 -:10BE10007D07B0F380E001C081E0DF91CF911F91F9 -:10BE20000F910895CF92DF92FF920F931F93CF93BC -:10BE3000DF9300D01F92CDB7DEB76C01F62E2983B9 -:10BE40003A834B835C834FDF6CE271E0C601D0DF45 -:10BE50008F2D80643EDF08E110E05C814B813A81E8 -:10BE60002981DA01C901002E04C0B695A7959795DE -:10BE700087950A94D2F729833A834B835C8329DF21 -:10BE80000850110929813A814B815C81083F8FEF6D -:10BE9000180739F7FF2029F0E8E0FE1621F08FEFB0 -:10BEA00003C085E901C087E814DFFCE0FF1201C090 -:10BEB00009DF10E007DFF601838387FF04C01F3F1F -:10BEC00011F01F5FF7CF0F900F900F900F90DF9141 -:10BED000CF911F910F91FF90DF90CF900895BF9267 -:10BEE000CF92DF92EF92FF920F931F93CF93DF9346 -:10BEF000EC01B62E1C82198248830E942CF08B0123 -:10BF000061E088810E944CEFCE01E8DE60E082E3D0 -:10BF10000E944CEF61E083E30E944CEF61E084E318 -:10BF20000E944CEF61E085E30E944CEF61E085E305 -:10BF30000E9485EF85E08A8382E58CBD1DBC6AE0A6 -:10BF4000F62E8FEFC6DEFA94E1F720E030E0A9018B -:10BF500060E0CE0167DFF82E8B8381E0F81649F0B0 -:10BF60000E942CF0601B710B613D774070F381E003 -:10BF700046C02AEA31E040E050E068E0CE0152DFFE -:10BF800082FF02C0FC820CC054E0F52E9BDE8B8346 -:10BF9000FA94E1F78A3A11F082E031C082E08C83B2 -:10BFA0008C81823031F4C12CD12CE12C40E4F42E70 -:10BFB00003C0C12CD12C760120E030E0A90167E359 -:10BFC000CE0130DFA701960169E2CE012BDF8B8322 -:10BFD000882349F00E942CF0601B710B613D774073 -:10BFE00058F38AE00CC08C818230B1F420E030E05C -:10BFF000A9016AE3CE0116DF882329F088E089834E -:10C00000CE016CDE14C05EDE807C803C11F483E0E7 -:10C010008C8358DE57DE56DECE0160DE86E08B155F -:10C0200018F488E1898303C0BA8281E001C080E00E -:10C03000DF91CF911F910F91FF90EF90DF90CF9004 -:10C04000BF900895AF92BF92CF92DF92EF92FF928E -:10C050000F931F93CF93DF93EC016A017B0189015A -:10C060008C81833039F0F9E0CC0CDD1CEE1CFF1C18 -:10C07000FA95D1F773E0B72EE4E0AE2EBA94A7019B -:10C08000960161E1CE01CEDE882311F0A98207C0BE -:10C0900040E052E0B801CE013BDE81110EC0CE017E -:10C0A000BB2049F01BDE20E030E0A9016CE0CE01AE -:10C0B000B9DE1982E3CF12DE80E0DF91CF911F91CC -:10C0C0000F91FF90EF90DF90CF90BF90AF900895C9 -:10C0D000CF93DF93EC016EBD20E030E00DB407FE9E -:10C0E000FDCFFA01E20FF31F80818EBD0DB407FE74 -:10C0F000FDCF81818EBD2E5F3F4F211582E0380735 -:10C1000069F70DB407FEFDCF8FEFE3DD8FEFE1DDC3 -:10C11000D9DD8B838F71853031F083E18983CE0146 -:10C12000DDDD80E001C081E0DF91CF9108950F93C4 -:10C130001F93CF93DF93EC0189018C81833039F019 -:10C14000B9E0440F551F661F771FBA95D1F79A01C2 -:10C15000AB0168E1CE0166DE882311F086E01EC0E7 -:10C16000A8016EEFCE01B4DF8823C9F068E572E064 -:10C17000CE013EDE182F811102C087E10FC020E002 -:10C1800030E0A9016DE0CE014DDE811106C09ADDDF -:10C19000811103C0CE01A2DD05C086E18983CE01F5 -:10C1A0009DDD10E0812FDF91CF911F910F910895B8 -:10C1B000FC01659175918591949108952F923F921C -:10C1C0004F925F926F927F928F929F92AF92BF92A7 -:10C1D000CF92DF92EF92FF920F931F93CF93DF9353 -:10C1E00000D000D0CDB7DEB71C01FC01EE5AFD4AED -:10C1F00014919C01220F331F220F331F3E832D8386 -:10C20000235A3C4E4901F901108211821282138295 -:10C2100029E633E145E653E161E673E18DE593E11B -:10C220000E9439EB8D819E818F599D4AC1DF6B0140 -:10C230007C01612F772767FD7095872F972F0E94CC -:10C2400081F72B013C012D813E81285D3C4E590137 -:10C2500020E030E040EC5FE3C701B6010E94B4F992 -:10C26000A30192010E94B4F9F50160837183828376 -:10C2700093832D813E81255B334F3C832B83F901D2 -:10C28000608171818281938160930D0C70930E0C9B -:10C2900080930F0C9093100C20E030E040E752E4C4 -:10C2A0000E94E6F629E4C22E23E1D22E7B018C0106 -:10C2B00024E333E140E353E16CE273E188E293E18C -:10C2C0000E9457E10E94C4D9F401108211821282A7 -:10C2D000138229E633E145E653E161E673E18DE53A -:10C2E00093E10E9439EB2D813E812B5A3D4A3A83DE -:10C2F0002983C9015DDF9058A30192010E94B4F91E -:10C30000F501608371838283938320E030E040E70E -:10C3100052E460910D0C70910E0C80910F0C909175 -:10C32000100C0E94E6F67B018C0124E333E140E32C -:10C3300053E16CE273E188E293E10E9457E10E94CD -:10C34000C4D989819A8134DF9B01AC010E9406F631 -:10C35000A30192010E94B4F9F50160837183828385 -:10C36000938320E030E040E05FE3EB81FC8160817B -:10C370007181828193810E94B4F960930D0C709356 -:10C380000E0C80930F0C9093100C20E030E040E7EF -:10C3900052E40E94E6F67B018C0124E333E140E3A2 -:10C3A00053E16CE273E188E293E10E9457E10E945D -:10C3B000C4D98D819E8183599D4AFADE0D811E81EB -:10C3C0000F5A1C4EF80120813181428153810E9415 -:10C3D00006F6F40160837183828393838D819E814D -:10C3E0008B579D4AE5DE2D813E81215D334F7901DA -:10C3F000F80120813181428153810E9406F6F701C4 -:10C4000060837183828393838D819E8187589D4A47 -:10C41000CFDE2D813E812D5D334F7901F8012081E2 -:10C420003181428153810E9406F6F7016083718356 -:10C4300082839383F40180819181A281B381F5018C -:10C4400080839183A283B38310920D0C10920E0C03 -:10C4500010920F0C1092100C0E943DD2F101E25B81 -:10C46000FC4E81E0808326960FB6F894DEBF0FBEA7 -:10C47000CDBFDF91CF911F910F91FF90EF90DF9093 -:10C48000CF90BF90AF909F908F907F906F905F9074 -:10C490004F903F902F900895FC012491222341F06A -:10C4A0003091C00035FFFCCF2093C6000196F4CF39 -:10C4B00022E030E08BEF96E10C9446D1FC01249110 -:10C4C000222341F03091C00035FFFCCF2093C600FD -:10C4D0000196F4CF2AE030E08BEF96E10C949CD0EB -:10C4E00020917D1130917E11243031050CF077C000 -:10C4F00040917F115091801160E6649F9001659F8B -:10C50000300D1124BC01C90189579E4E0F948A0039 -:10C51000E1E9F2E58491882341F09091C00095FF14 -:10C52000FCCF8093C6003196F5CFE0917B13F0E00D -:10C53000EE0FFF1FE45EFD4F0190F081E02DE45D02 -:10C54000FE4F0190F081E02D8491882341F090917D -:10C55000C00095FFFCCF8093C6003196F5CF809147 -:10C560007F119091801120E6289FF001299FF00D06 -:10C570001124E957FE4E8191882339F09091C00033 -:10C5800095FFFCCF8093C600F6CFE0E5F2E58491FD -:10C59000882341F09091C00095FFFCCF8093C600A6 -:10C5A0003196F5CF8091C00085FFFCCF8AE0809363 -:10C5B000C60080917F1190918011019664E070E037 -:10C5C0000E94AAFA9093801180937F1180917D112F -:10C5D00090917E11019690937E1180937D11089524 -:10C5E00020917D1130917E11243031050CF077C0FF -:10C5F00040917F115091801160E6649F9001659F8A -:10C60000300D1124BC01C90189579E4E0E94EAFFDA -:10C61000E1E9F2E58491882341F09091C00095FF13 -:10C62000FCCF8093C6003196F5CFE0917B13F0E00C -:10C63000EE0FFF1FE45EFD4F0190F081E02DE45D01 -:10C64000FE4F0190F081E02D8491882341F090917C -:10C65000C00095FFFCCF8093C6003196F5CF809146 -:10C660007F119091801120E6289FF001299FF00D05 -:10C670001124E957FE4E8191882339F09091C00032 -:10C6800095FFFCCF8093C600F6CFEEE4F2E58491EF -:10C69000882341F09091C00095FFFCCF8093C600A5 -:10C6A0003196F5CF8091C00085FFFCCF8AE0809362 -:10C6B000C60080917F1190918011019664E070E036 -:10C6C0000E94AAFA9093801180937F1180917D112E -:10C6D00090917E11019690937E1180937D11089523 -:10C6E0009B9AA3980895FCDF40E052EC61E070E073 -:10C6F0008BEF96E10E9454CFE8E4F2E58491882321 -:10C7000041F09091C00095FFFCCF8093C600319618 -:10C71000F5CF8091C00085FFFCCF8AE08093C600F2 -:10C7200021E932E5F9018491882341F09091C0001C -:10C7300095FFFCCF8093C6003196F5CF84B780FF7C -:10C7400020C0A0917B13B0E0AA0FBB1FA45EBD4F19 -:10C75000ED91FC91E25DFE4F0190F081E02D94910E -:10C76000992341F04091C00045FFFCCF9093C60053 -:10C770003196F5CF9091C00095FFFCCF9AE0909351 -:10C78000C60081FF20C0A0917B13B0E0AA0FBB1FA1 -:10C79000A45EBD4FED91FC91E05DFE4F0190F081F4 -:10C7A000E02D9491992341F04091C00045FFFCCFCA -:10C7B0009093C6003196F5CF9091C00095FFFCCFC5 -:10C7C0009AE09093C60082FF20C0A0917B13B0E056 -:10C7D000AA0FBB1FA45EBD4FED91FC91EE5CFE4F16 -:10C7E0000190F081E02D9491992341F04091C00097 -:10C7F00045FFFCCF9093C6003196F5CF9091C000D5 -:10C8000095FFFCCF9AE09093C60083FF20C0A091D3 -:10C810007B13B0E0AA0FBB1FA45EBD4FED91FC914E -:10C82000EC5CFE4F0190F081E02D9491992341F052 -:10C830004091C00045FFFCCF9093C6003196F5CFE4 -:10C840009091C00095FFFCCF9AE09093C60085FFC1 -:10C8500020C0A0917B13B0E0AA0FBB1FA45EBD4F08 -:10C86000ED91FC91EA5CFE4F0190F081E02D849106 -:10C87000882341F09091C00095FFFCCF8093C600C3 -:10C880003196F5CF8091C00085FFFCCF8AE0809380 -:10C89000C60014BEF9018491E1E9F2E5882349F06C -:10C8A0009091C00095FFFCCF8093C6003196849193 -:10C8B000F5CFA0917B13B0E0AA0FBB1FA45EBD4FC4 -:10C8C000ED91FC91E65CFE4F0190F081E02D8491AA -:10C8D000882341F09091C00095FFFCCF8093C60063 -:10C8E0003196F5CFE3E3F2E58491882341F090910E -:10C8F000C00095FFFCCF8093C6003196F5CFA09184 -:10C900007B13B0E0AA0FBB1FA45EBD4FED91FC915D -:10C91000E85CFE4F0190F081E02D4491442341F00A -:10C920005091C00055FFFCCF4093C6003196F5CF23 -:10C93000ECE1F2E58491882341F09091C00095FFED -:10C94000FCCF8093C6003196F5CF8091C00085FF63 -:10C95000FCCF8AE08093C600E1E1F2E58491882370 -:10C9600041F09091C00095FFFCCF8093C6003196B6 -:10C97000F5CFE5E0F2E58491882341F09091C00085 -:10C9800095FFFCCF8093C6003196F5CF8091C00013 -:10C9900085FFFCCF8AE08093C600F9012491E1E98C -:10C9A000F2E5222349F08091C00085FFFCCF20935F -:10C9B000C60031962491F5CFE0917B13F0E0EE0FA5 -:10C9C000FF1FE45EFD4F0190F081E02DE45CFE4F1F -:10C9D0000190F081E02D8491882341F09091C00076 -:10C9E00095FFFCCF8093C6003196F5CF0E9438DDCD -:10C9F0004AE050E0BC018BEF96E10E9470D0E091DC -:10CA00007B13F0E0EE0FFF1FE45EFD4F0190F0811D -:10CA1000E02DE25CFE4F0190F081E02D84918823AF -:10CA200041F09091C00095FFFCCF8093C6003196F5 -:10CA3000F5CF4AE050E060ED74E08BEF96E10E94A4 -:10CA400070D08091C00085FFFCCF8AE08093C60043 -:10CA500010928311109284111092851110928611F8 -:10CA60000E9477CD0E9449C90E94B53F0E9407E10C -:10CA70000E9426DC0E9498A3489913C0FFEF23ED83 -:10CA800080E3F15020408040E1F700C00000489969 -:10CA900011C06A9A729A0E9409A1489BFECF7298AF -:10CAA00008959FEFE3EDF0E39150E040F040E1F7AF -:10CAB00000C000000895809177119091781160E096 -:10CAC00070E001960C9441FD80917711909178115E -:10CAD0004AE050E060E070E001960C94A9FE682FF7 -:10CAE000772767FD7095209181113091821140E682 -:10CAF000429FC001439F900D112489579E4E0F9471 -:10CB00007600909378118093771121E0892B09F4B6 -:10CB100020E0822F08950E942CF06093731170938F -:10CB20007411809375119093761108950E942CF0E2 -:10CB300060937311709374118093751190937611B3 -:10CB4000E0918111F0918211ED57FE4E80818111AB -:10CB500021C0E0917B13F0E0EE0FFF1FE45EFD4F7C -:10CB60000190F081E02DE05CFE4F0190F081E02D1E -:10CB70008491882341F09091C00095FFFCCF809371 -:10CB8000C6003196F5CF8091C00085FFFCCF8AE0CA -:10CB90008093C60008958BEF96E10E94A6CFE091A6 -:10CBA0007B13F0E0EE0FFF1FE45EFD4F0190F0817C -:10CBB000E02DE059FE4F0190F081E02D8491882313 -:10CBC00041F09091C00095FFFCCF8093C600319654 -:10CBD000F5CF40910C1350910D1360910E1370918D -:10CBE0000F134F5F5F4F6F4F7F4F2AE030E08BEFA7 -:10CBF00096E10E9445D08091C00085FFFCCF8AE07D -:10CC00008093C60093CF8F929F92AF92BF92CF92A4 -:10CC1000DF92EF92FF920F931F93CF93DF93B7E0D2 -:10CC2000EB2EBEE0FB2E0DE513E1C8E2D3E184E874 -:10CC3000C82E83E1D82EF70181917F0150DF882330 -:10CC400011F139DF4B015C01F6018081811103C0D4 -:10CC50006091071301C061E070E080E090E00E9405 -:10CC600081F7F80120813181428153810E94B4F91A -:10CC70009B01AC01C501B4010E9406F6688379836B -:10CC80008A839B8309C0F80180819181A281B3814D -:10CC900088839983AA83BB830C5F1F4F2496FFEF81 -:10CCA000CF1ADF0A8BE0E8168EE0F80621F686E45C -:10CCB00016DF8823D1F0FFDE6B017C01609318132F -:10CCC0007093191380931A1390931B1320E030E094 -:10CCD000A9010E94E2F8181644F4C0920D0CD092FB -:10CCE0000E0CE0920F0CF092100CDF91CF911F917F -:10CCF0000F91FF90EF90DF90CF90BF90AF909F90FB -:10CD00008F90089580DF89E4EADE882351F0D3DE36 -:10CD100060931C1370931D1380931E1390931F1325 -:10CD200008C010921C1310921D1310921E13109223 -:10CD30001F138AE4D4DE882351F0BDDE60932013F4 -:10CD400070932113809322139093231308951092CC -:10CD5000201310922113109222131092231308957E -:10CD6000CF92DF92EF92FF92CF93DF93EC01C090CE -:10CD70002F0CD090300CE090310CF090320CA701C9 -:10CD80009601688179818A819B810E94DFF687FF05 -:10CD900004C0C882D982EA82FB82C090330CD09052 -:10CDA000340CE090350CF090360CA70196016C81A4 -:10CDB0007D818E819F810E94DFF687FF04C0CC8237 -:10CDC000DD82EE82FF8220E030E0A9016091370C25 -:10CDD0007091380C8091390C90913A0C0E9406F6B3 -:10CDE0006B017C019B01AC01688579858A859B85F7 -:10CDF0000E94DFF687FF04C0C886D986EA86FB86D4 -:10CE0000C090230CD090240CE090250CF090260CC0 -:10CE1000A7019601688179818A819B810E94E2F84D -:10CE2000181624F4C882D982EA82FB82C090270CAB -:10CE3000D090280CE090290CF0902A0CA7019601C4 -:10CE40006C817D818E819F810E94E2F8181624F406 -:10CE5000CC82DD82EE82FF82C0902B0CD0902C0C15 -:10CE6000E0902D0CF0902E0CA70196016885798535 -:10CE70008A859B850E94E2F8181624F4C886D98614 -:10CE8000EA86FB86DF91CF91FF90EF90DF90CF9005 -:10CE90000895CF92DF92EF92FF920F931F9388E253 -:10CEA00093E15EDF0E942CF0609373117093741114 -:10CEB0008093751190937611209128133091291346 -:10CEC00040912A1350912B1360915D1370915E1362 -:10CED00080915F13909160130E94DFF6811179C0F9 -:10CEE00020912C1330912D1340912E1350912F131C -:10CEF0006091611370916213809163139091641338 -:10CF00000E94DFF6811165C020E030E040E752E486 -:10CF100060910D0C70910E0C80910F0C9091100C83 -:10CF20000E94E6F629E4C22E23E1D22E7B018C0179 -:10CF300024E333E140E353E16CE273E188E293E1FF -:10CF40000E9457E18091281390912913A0912A13F0 -:10CF5000B0912B1380935D1390935E13A0935F1396 -:10CF6000B093601380912C1390912D13A0912E13E8 -:10CF7000B0912F138093611390936213A093631366 -:10CF8000B09364138091301390913113A0913213B8 -:10CF9000B09133138093651390936613A093671336 -:10CFA000B09368138091341390913513A091361388 -:10CFB000B09137138093691390936A13A0936B1306 -:10CFC000B0936C131F910F91FF90EF90DF90CF9073 -:10CFD00008956091490C70914A0C882777FD8095DF -:10CFE000982F0E9481F720910D0C30910E0C4091EA -:10CFF0000F0C5091100C0E94B4F920E030E040E793 -:10D0000052E40E94E6F620E030E048EC52E488CF9B -:10D01000CF92DF92EF92FF92CF93C62FE091491308 -:10D02000F0E0882309F4C2C0DF01AB5BBC4E8C91F9 -:10D03000811196C180915D1390915E13A0915F1351 -:10D04000B09160138093281390932913A0932A130F -:10D05000B0932B138091611390916213A09163138D -:10D06000B091641380932C1390932D13A0932E13DF -:10D07000B0932F138091651390916613A09167135D -:10D08000B09168138093301390933113A0933213AF -:10D09000B0933313C0906913D0906A13E0906B1370 -:10D0A000F0906C13C0923413D0923513E092361383 -:10D0B000F0923713EE0FFF1FEE0FFF1FE55CF34FEB -:10D0C0002081318142815381662349F060911B0C9C -:10D0D00070911C0C80911D0C90911E0C08C06091E9 -:10D0E0001F0C7091200C8091210C9091220C0E94B9 -:10D0F000E6F69B01AC01C701B6010E9406F66093FB -:10D10000691370936A1380936B1390936C1389E681 -:10D1100093E10E94DEEBC0900D0CD0900E0CE090DD -:10D120000F0CF090100C20E030E040E752E46091EA -:10D13000170C7091180C8091190C90911A0C0E9488 -:10D14000B4F960930D0C70930E0C80930F0C9093B8 -:10D15000100CE0914913F0E0EB5BFC4E81E0808322 -:10D1600098DE209141133091421340914313509126 -:10D1700044136091651370916613809167139091C9 -:10D1800068130E9405F6609365137093661380938D -:10D1900067139093681329E633E145E653E161E6AE -:10D1A00073E18DE593E10E9439EBD1C0EB5BFC4E5E -:10D1B0008081882309F4D4C080915D1390915E131F -:10D1C000A0915F13B091601380932813909329135B -:10D1D000A0932A13B0932B13809161139091621343 -:10D1E000A0916313B091641380932C1390932D132B -:10D1F000A0932E13B0932F13609165137091661353 -:10D20000809167139091681360933013709331137A -:10D210008093321390933313C0906913D0906A13A4 -:10D22000E0906B13F0906C13C0923413D0923513CE -:10D23000E0923613F092371320914113309142134C -:10D2400040914313509144130E9406F66093651376 -:10D2500070936613809367139093681329E633E104 -:10D2600045E653E161E673E18DE593E10E9439EB18 -:10D27000F0904913CC2389F02091391330913A135F -:10D2800040913B1350913C1360911B0C70911C0C0E -:10D2900080911D0C90911E0C10C020913D13309177 -:10D2A0003E1340913F135091401360911F0C7091B9 -:10D2B000200C8091210C9091220C0E9406F624E013 -:10D2C000F29EF0011124E55CF34F2081318142810F -:10D2D00053810E94E6F69B01AC0160916913709145 -:10D2E0006A1380916B1390916C130E9405F6609302 -:10D2F000691370936A1380936B1390936C1389E690 -:10D3000093E10E94DEEBC0900D0CD0900E0CE090EB -:10D310000F0CF090100C20E030E040E752E46091F8 -:10D32000130C7091140C8091150C9091160C0E94A6 -:10D33000B4F960930D0C70930E0C80930F0C9093C6 -:10D34000100CE0914913F0E0EB5BFC4E1082A1DD84 -:10D35000C0920D0CD0920E0CE0920F0CF092100CBB -:10D36000CF91FF90EF90DF90CF900895AF92BF9252 -:10D37000CF92DF92EF92FF920F931F93CF93DF93A1 -:10D38000D82F2091201330912113409122135091D6 -:10D39000231360911C1370911D1380911E139091A3 -:10D3A0001F130E94EFF8C62F172F082FF92E609138 -:10D3B000490C70914A0C882777FD8095982F0E9420 -:10D3C00081F720910D0C30910E0C40910F0C509173 -:10D3D000100C0E94B4F920E030E040E752E40E94D3 -:10D3E000E6F620E030E048EC52E40E94E6F62091B8 -:10D3F00049132F93DF93FF920F931F93CF935B01FA -:10D400006C0142E0E42E01E020E04CE153E168E2EF -:10D4100073E18DE593E10E94994D809128139091DD -:10D420002913A0912A13B0912B1380935D1390932D -:10D430005E13A0935F13B093601380912C139091AF -:10D440002D13A0912E13B0912F13809361139093FD -:10D450006213A0936313B09364138091301390917F -:10D460003113A0913213B0913313809365139093CD -:10D470006613A0936713B09368138091341390914F -:10D480003513A0913613B09137138093691390939D -:10D490006A13A0936B13B0936C130E942CF06093EB -:10D4A00073117093741180937511909376110F908E -:10D4B0000F900F900F900F900F90DF91CF911F91D1 -:10D4C0000F91FF90EF90DF90CF90BF90AF900895B5 -:10D4D000F8940E945840179A10924E13169A109280 -:10D4E0004F13159A10925013149A60E087E40E942B -:10D4F0004CEFE7E9F2E58491882341F09091C00078 -:10D5000095FFFCCF8093C6003196F5CFE0917B1359 -:10D51000F0E0EE0FFF1FE45EFD4F0190F081E02D83 -:10D52000E459FE4F0190F081E02D8491882341F071 -:10D530009091C00095FFFCCF8093C6003196F5CF47 -:10D540008091C00085FFFCCF8AE08093C600E09107 -:10D550007B13F0E0EE0FFF1FE45EFD4F0190F081C2 -:10D56000E02DE653FF4F808191810E9435A378948E -:10D57000C6E0D0E02197209749F068EC70E080E0A9 -:10D5800090E00E945BF00E94C4A3F4CFF894FFCF18 -:10D590000E94584080916111811151C081E08093B7 -:10D5A000611180910C1390910D13A0910E13B09105 -:10D5B0000F138093081390930913A0930A13B09349 -:10D5C0000B13E7E9F2E58491882341F09091C000C4 -:10D5D00095FFFCCF8093C6003196F5CFE0917B1389 -:10D5E000F0E0EE0FFF1FE45EFD4F0190F081E02DB3 -:10D5F000E259FE4F0190F081E02D8491882341F0A3 -:10D600009091C00095FFFCCF8093C6003196F5CF76 -:10D610008091C00085FFFCCF8AE08093C600E09136 -:10D620007B13F0E0EE0FFF1FE45EFD4F0190F081F1 -:10D63000E02DE453FF4F808191810C943BA108952C -:10D64000809161110895CF93DF93EC01809149138C -:10D650008093621184E543DA811102C080E0B7C093 -:10D660002ADA0E9453F7609362116623B9F3E1E965 -:10D67000F2E58491882341F09091C00095FFFCCFA2 -:10D680008093C6003196F5CFCD36D10509F454C04C -:10D69000BCF4C836D10561F1C936D10509F087C09F -:10D6A000E0917B13F0E0EE0FFF1FE45EFD4F019071 -:10D6B000F081E02DEC5AFE4F0190F081E02D38C052 -:10D6C000CA3DD10509F451C0CD3DD10509F06FC067 -:10D6D000E0917B13F0E0EE0FFF1FE45EFD4F019041 -:10D6E000F081E02DE65AFE4F0190F081E02D5CC004 -:10D6F000E0917B13F0E0EE0FFF1FE45EFD4F019021 -:10D70000F081E02DEE5AFE4F0190F081E02D8191E5 -:10D71000882309F44CC09091C00095FFFCCF809302 -:10D72000C600F5CF9091C00095FFFCCF8093C60056 -:10D7300081918111F7CF3BC0E0917B13F0E0EE0FB8 -:10D74000FF1FE45EFD4F0190F081E02DE25AFE4F95 -:10D750000190F081E02D8191882349F19091C000E2 -:10D7600095FFFCCF8093C600F6CFE0917B13F0E0ED -:10D77000EE0FFF1FE45EFD4F0190F081E02DE85AAF -:10D78000FE4F0190F081E02D8191882381F09091EE -:10D79000C00095FFFCCF8093C600F6CF9091C000EB -:10D7A00095FFFCCF8093C60081918111F7CF40E0B7 -:10D7B00050E0609162118BEF96E10E94A7D08091BA -:10D7C000C00085FFFCCF8AE08093C60081E0DF9136 -:10D7D000CF9108954F925F926F927F928F929F9216 -:10D7E000AF92BF92CF92DF92EF92FF92CF93DF93EF -:10D7F00000D01F92CDB7DEB72B013C0129833A83BD -:10D800004B835C838DEE9FE00F94CA028F3F01F53E -:10D810008EEE9FE00F94CA028F3FD1F48FEE9FE00F -:10D820000F94CA028F3FA1F480EF9FE00F94CA02C9 -:10D830008F3F71F440E050E0BA018DEE9FE00F940D -:10D84000D70240E050E0BA0181EF9FE00F94D70289 -:10D8500081EF9FE00F94D2024B015C018DEE9FE0BF -:10D860000F94D2026B017C0169817A818B819C814A -:10D870002CE330E040E050E00E94BDFAC20ED31E1F -:10D88000E41EF51EB701A6018DEE9FE00F94D702AE -:10D89000C301B20128EE33E040E050E00E94BDFA3F -:10D8A000BA01A901480D591D6A1D7B1D81EF9FE03A -:10D8B0000F94D70210927713109278131092791365 -:10D8C00010927A130F900F900F900F90DF91CF91DD -:10D8D000FF90EF90DF90CF90BF90AF909F908F9090 -:10D8E0007F906F905F904F9008952F923F924F924C -:10D8F0005F926F927F928F929F92AF92BF92CF92E0 -:10D90000DF92EF92FF920F931F93CF93DF93CDB7E8 -:10D91000DEB76E970FB6F894DEBF0FBECDBF80E6C0 -:10D92000B82E94E0E92EF12C2AE0922E3AE0C32E94 -:10D93000D12CAA24A39480917C1790917D172091DB -:10D940007E1730917F17821B930B8F779927892B36 -:10D9500039F080917D1190917E1104970CF448C0AC -:10D9600080919013882309F4E7C380917A119091F4 -:10D970007B11892B09F0E0C380917D1190917E117C -:10D98000892B11F410925F1148EE242E43E0342EBF -:10D99000412C512C5CE3852E912CA12CB12C8E01B5 -:10D9A0000F5F1F4F30E6632E7724739440912B1640 -:10D9B00050912C1660912D1670912E168091231681 -:10D9C00090912416A0912516B09126164817590754 -:10D9D0006A077B0708F0B0C380917D1190917E119A -:10D9E00004970CF0A9C380915F118111A5C36FC288 -:10D9F0008BEF96E10E948ACF80937C1120917A115F -:10DA000030917B118A3061F08D3051F08A3321F4EE -:10DA100090917911992321F02F3531050CF450C1E3 -:10DA20002115310509F46AC180917F11909180110F -:10DA3000B89E3001B99E700C1124F301E20FF31F60 -:10DA4000E957FE4E108220917911211134C11092B4 -:10DA50007911FC01ED57FE4E1082830109571E4ECD -:10DA60006EE470E0C8010F9476000097F1F1909396 -:10DA7000781180937711801B910B860D971D4AE0DA -:10DA800050E060E070E088579E4E0E94A9FE6093CF -:10DA900010137093111380931213909313134090EB -:10DAA0000C1350900D1360900E1370900F132FEF06 -:10DAB000421A520A620A720A00917F111091801173 -:10DAC000641575058605970509F41BC1B09EC00154 -:10DAD000B19E900D11246CEF71E589579E4E0F9405 -:10DAE0002100892B09F00DC1B8C16AE270E0C801BC -:10DAF0000F947600892B09F451C0E7E9F2E584918F -:10DB0000882341F09091C00095FFFCCF8093C60020 -:10DB10003196F5CFE0917B13F0E0EE0FFF1FE45E4E -:10DB2000FD4F0190F081E02DE65BFE4F0190F0810A -:10DB3000E02D8491882341F09091C00095FFFCCFA7 -:10DB40008093C6003196F5CF40910C1350910D1380 -:10DB500060910E1370910F132AE030E08BEF96E185 -:10DB60000E9445D08091C00085FFFCCF8AE0809361 -:10DB7000C60010927B1110927A11DEC280911013B0 -:10DB800090911113A0911213B091131380930C1361 -:10DB900090930D13A0930E13B0930F1360907F1109 -:10DBA00070908011B69C8001B79C100D112409570C -:10DBB0001E4E67E470E0C8010F947600009709F4E8 -:10DBC00056C0909378118093771120919013211172 -:10DBD00006C0D0927F13C0927E13A0928113801B47 -:10DBE000910BB69C9001B79C300D1124820F931FAE -:10DBF00060E070E088579E4E0E9441FD0E944EF703 -:10DC000064307105A0F580916111882381F1E09164 -:10DC10007B13F0E0EE0FFF1FE45EFD4F0190F081FB -:10DC2000E02DE259FE4F0190F081E02D8491882390 -:10DC300041F09091C00095FFFCCF8093C6003196D3 -:10DC4000F5CF8091C00085FFFCCF9092C600E09197 -:10DC50007B13F0E0EE0FFF1FE45EFD4F0190F081BB -:10DC6000E02DE453FF4F808191810E943BA1009100 -:10DC70007F1110918011B09EC001B19E900D1124B2 -:10DC80006DE87DE089579E4E0F948100892B09F441 -:10DC90001FDCC8010196B7010E94AAFA9093801177 -:10DCA00080937F1180917D1190917E1101969093C8 -:10DCB0007E1180937D1110927B1110927A113BCED0 -:10DCC0008B3311F4A092791190917911911133CE87 -:10DCD00040917F1150918011B9016F5F7F4F709318 -:10DCE0007B1160937A11B49EF001B59EF00D112462 -:10DCF000E20FF31FE957FE4E80831DCE109279117B -:10DD00001BC2B09E3001B19E700C1124C301895713 -:10DD10009E4E1C016AE270E00F947600009709F0B5 -:10DD20003FC0E7E9F2E58491882341F09091C0007B -:10DD300095FFFCCF8093C6003196F5CFE0917B1321 -:10DD4000F0E0EE0FFF1FE45EFD4F0190F081E02D4B -:10DD5000E85BFE4F0190F081E02D8491882341F033 -:10DD60009091C00095FFFCCF8093C6003196F5CF0F -:10DD700040910C1350910D1360910E1370910F137D -:10DD80002AE030E08BEF96E10E9445D08091C00000 -:10DD900085FFFCCF8AE08093C6000E94CB65E9CE68 -:10DDA00020E010E0F301E20FF11DE957FE4E308153 -:10DDB0003A3219F02F5F1327F5CF909378118093A3 -:10DDC000771182199309860D971D60E070E08857DE -:10DDD0009E4E0E9441FD0E944EF7212F30E02617F3 -:10DDE000370709F4CBCEE7E9F2E58491882341F0C7 -:10DDF0009091C00095FFFCCF8093C6003196F5CF7F -:10DE0000E0917B13F0E0EE0FFF1FE45EFD4F019009 -:10DE1000F081E02DEA5BFE4F0190F081E02D8491CE -:10DE2000882341F09091C00095FFFCCF8093C600FD -:10DE30003196F5CF40910C1350910D1360910E1354 -:10DE400070910F132AE030E08BEF96E10E9445D0ED -:10DE50008091C00085FFFCCF9DCFE7E9F2E584917A -:10DE6000882341F09091C00095FFFCCF8093C600BD -:10DE70003196F5CFE0917B13F0E0EE0FFF1FE45EEB -:10DE8000FD4F0190F081E02DEC5BFE4F0190F081A1 -:10DE9000E02D8491882341F09091C00095FFFCCF44 -:10DEA0008093C6003196F5CF40910C1350910D131D -:10DEB00060910E1370910F132AE030E08BEF96E122 -:10DEC0000E9445D08091C00085FFFCCF63CF809138 -:10DED0007E1590917F15A0918015B091811580934A -:10DEE0002B1690932C16A0932D16B0932E1686E722 -:10DEF00095E10E942333482F80937C118A30B9F03A -:10DF00004D30A9F0433229F420917911222379F080 -:10DF100002C04A33C9F320917A1130917B112F3519 -:10DF200031052CF48F3F5FEF950709F0E7C0409172 -:10DF30002B1650912C1660912D1670912E168091F3 -:10DF4000231690912416A0912516B09126164817F5 -:10DF500059076A077B0708F497C0E0917B13F0E04C -:10DF6000EE0FFF1FE45EFD4F0190F081E02DE45BBA -:10DF7000FE4F0190F081E02D8491882341F0909133 -:10DF8000C00095FFFCCF8093C6003196F5CF8091FD -:10DF9000C00085FFFCCF8AE08093C6000E942CF071 -:10DFA00060936711709368118093691190936A115F -:10DFB000C0906B11D0906C11E0906D11F0906E11CB -:10DFC0006C197D098E099F09A20191010E94BDFA79 -:10DFD00069017A01609177137091781380917913B8 -:10DFE00090917A13F7DBC701B601A50194010E9455 -:10DFF000BDFACA01B901A50194010E94BDFA7F933F -:10E000006F93C701B60120E13EE040E050E00E947E -:10E01000BDFA3F932F93A8EEB1E5BF93AF931F9343 -:10E020000F930F94AE00E1E9F2E584910FB6F894F6 -:10E03000DEBF0FBECDBF882349F09091C00095FF91 -:10E04000FCCF8093C60031968491F5CFF801819181 -:10E05000882339F09091C00095FFFCCF8093C600D3 -:10E06000F6CF8091C00085FFFCCF3AE03093C60028 -:10E07000C8010E942EA18EE893E10E940B5E61E030 -:10E080008EE893E10E94CE5780917C11833211F487 -:10E0900070925F1120917A1130917B112115310519 -:10E0A00009F42CCE80917F1190918011689EF0012F -:10E0B000699EF00D1124E20FF31FE957FE4E108206 -:10E0C000FC01ED57FE4E708220917D1130917E1142 -:10E0D0002F5F3F4F30937E1120937D11019664E0B6 -:10E0E00070E00E94AAFA9093801180937F111092A1 -:10E0F000791110927B1110927A1158CC4B3311F494 -:10E10000709279114091791141114CCC40917F115D -:10E1100050918011B9016F5F7F4F70937B116093B5 -:10E120007A11649EF001659EF00D1124E20FF31F39 -:10E13000E957FE4E80833ACC6E960FB6F894DEBF58 -:10E140000FBECDBFDF91CF911F910F91FF90EF9048 -:10E15000DF90CF90BF90AF909F908F907F906F9007 -:10E160005F904F903F902F900895CF92DF92EF9263 -:10E17000FF920F931F93CF93C82F80917D119091A1 -:10E180007E1103970CF4B1DB0E942CF000916F110B -:10E19000109170112091711130917211C090731112 -:10E1A000D0907411E0907511F09076116C197D0982 -:10E1B0008E099F09061717072807390728F4012B2E -:10E1C000022B032B09F084D94091090C50910A0CC1 -:10E1D00060910B0C70910C0C452B462B472B19F1C1 -:10E1E0000E942CF0009173111091741120917511FF -:10E1F00030917611601B710B820B930B0091090C0F -:10E2000010910A0C20910B0C30910C0C061717077B -:10E210002807390740F49091CD178091CC179813B7 -:10E2200002C0CC2349F0CF911F910F91FF90EF9046 -:10E23000DF90CF900C943BE1179A10924E13169AF0 -:10E2400010924F13159A10925013149AECCFCF924C -:10E25000DF92EF92FF9220916D132223F1F020E0E4 -:10E2600030E040E05FE30E94B4F96B017C0120E004 -:10E2700030E0A9010E94DFF6882379F0A70196011A -:10E28000C701B6010E94B4F92BED3FE049E450E428 -:10E290000E94B4F99B01AC0104C020E030E040E8EA -:10E2A0005FE360E070E080E89FE30E94E6F6FF90A5 -:10E2B000EF90DF90CF90089560913F0C7091400CEB -:10E2C0008091410C9091420CC2DF60933B0C7093A3 -:10E2D0003C0C80933D0C90933E0C08953F924F92DE -:10E2E0005F926F927F928F929F92AF92BF92CF92E6 -:10E2F000DF92EF92FF920F931F93CF93DF93CDB7EF -:10E30000DEB7E9970FB6F894DEBF0FBECDBF81E44C -:10E310000E946F65882309F455C082E70E946F65EB -:10E320008823A9F0E2E9FDE08191882339F09091FA -:10E33000C00095FFFCCF8093C600F6CF8091C0004F -:10E3400085FFFCCF8AE08093C6000C94C18986E7E4 -:10E350000E946F658823A9F0E8E9FDE08191882398 -:10E3600039F09091C00095FFFCCF8093C600F6CFA6 -:10E370008091C00085FFFCCF8AE08093C6000C949A -:10E38000C18987E60E946F65882321F00E9409A158 -:10E390000C94C1898AE70E946F65882341F060E090 -:10E3A00070E088EF9FE00E94799C0C94C1898CE614 -:10E3B0000E946F65882311F40C94C1890E94A09C6F -:10E3C0000C94C18987E40E946F65882309F4EAC12F -:10E3D0000E945B650E944EF76A30710509F4F1C036 -:10E3E0009CF46230710509F480C024F477FF25C0E5 -:10E3F0000C94C1896330710509F483C064307105E0 -:10E4000009F48BC00C94C1896A35710509F476C191 -:10E4100054F46B30710509F4DAC06C31710509F4FC -:10E42000DCC00C94C1896B35710509F46BC16C3586 -:10E43000710509F46CC10C94C1898091611181113D -:10E440000C94C1890E9403666091771370917813D0 -:10E450008091791390917A130E947FF76B017C0170 -:10E460002091691330916A1340916B1350916C1392 -:10E470006091341370913513809136139091371356 -:10E480000E9405F620E030E048EC52E40E94B4F926 -:10E490009B01AC01C701B6010E9406F60E9453F72A -:10E4A00060937713709378138093791390937A1312 -:10E4B000809146138823A9F088E50E946F65811139 -:10E4C00010C089E50E946F6581110BC08AE50E942A -:10E4D0006F65811106C085E40E946F6581110C94FF -:10E4E000C4890E9449670C94C1898091611181118E -:10E4F0000C94C1890E94826681E00E94B6690C94E6 -:10E50000C1898091611181110C94C1890E94826638 -:10E5100080E00E94B6690C94C189E0917B13F0E021 -:10E52000EE0FFF1FE45EFD4F0190F081E02DE054FF -:10E53000FF4F808191810E943BA180E50E946F6521 -:10E54000882339F00E945B650E9453F74B015C0100 -:10E5500003C0812C912C540183E50E946F658823B0 -:10E5600061F00E945B6520E030E04AE754E40E94DD -:10E57000B4F90E9453F74B015C010E94C4D90E9478 -:10E580002CF06B017C01C80CD91CEA1CFB1C0E94FE -:10E590002CF06093731170937411809375119093A4 -:10E5A00076110E942CF06C157D058E059F0510F0EC -:10E5B0000C94C1890E94094680E0D7DD0E94C4A363 -:10E5C000F0CF60E081E00E9408680C94C18960E0AF -:10E5D00080E00E9408680C94C18910928013809199 -:10E5E0000D0C90910E0CA0910F0CB091100C80931B -:10E5F000141390931513A0931613B09317138091CF -:10E60000490C90914A0C909383138093821384E673 -:10E6100090E090934A0C8093490C0E942CF06093F8 -:10E62000731170937411809375119093761181E03A -:10E630000E9444D280915D1390915E13A0915F136C -:10E64000B09160138093281390932913A0932A13F9 -:10E65000B0932B138091611390916213A091631377 -:10E66000B091641380932C1390932D13A0932E13C9 -:10E67000B0932F138091651390916613A091671347 -:10E68000B09168138093301390933113A093321399 -:10E69000B09333138091691390916A13A0916B1317 -:10E6A000B0916C138093341390933513A093361369 -:10E6B000B093371310920D0C10920E0C10920F0C99 -:10E6C0001092100C88E50E946F65882311F090E08D -:10E6D0000AC089E50E946F658111F9CF8AE50E9421 -:10E6E0006F6591E098279093110C992311F40C9485 -:10E6F000F38981E0809380130C94AD8A1092071304 -:10E700000C94C18981E0809307130C94C18985E43E -:10E710000E946F65811102C00E94C4D907E0C02E1B -:10E720000EE0D02E81E5E82E83E1F82E0DE513E111 -:10E73000B12CF60181916F010E946F65882339F138 -:10E74000F3E0BF120CC00E945B65F8016083718327 -:10E750008283938389E693E10E94DEEB18C00E94D6 -:10E760005B65F70120813181428153810E9406F669 -:10E77000F801608371838283938329E633E145E660 -:10E7800053E161E673E18DE593E10E9439EBB394C7 -:10E79000F4E0EF0EF11C0C5F1F4F24E0B212C9CF62 -:10E7A0000C94C1898DE40E946F65882311F40C9448 -:10E7B000C8880E945B650E944EF76537710511F4A9 -:10E7C0000C94E37C0CF0D0C06032710509F44EC3A8 -:10E7D0000CF071C06731710509F4A3C20CF044C09C -:10E7E0006231710511F40C94077C1CF577FF02C0AF -:10E7F0000C94C189623071050CF498C161317105C6 -:10E8000011F00C94C189E0917B13F0E0EE0FFF1F33 -:10E81000E45EFD4F0190F081E02DE853FF4F8081D1 -:10E8200091810E943BA117981698159814980C9402 -:10E83000C1896531710509F468C20CF06CC264319C -:10E84000710511F00C94C189E0917B13F0E0EE0F9B -:10E85000FF1FE45EFD4F0190F081E02DE25BFE4F73 -:10E860000190F081E02D20C26B31710509F485C261 -:10E87000B4F46931710509F46CC20CF070C28EE811 -:10E8800093E10E94B6540E942CF060936B11709338 -:10E890006C1180936D1190936E110C94C1896E313F -:10E8A000710509F4A5C20CF07DC36C31710509F442 -:10E8B0006AC20C94C1896C35710509F4F6C7ECF491 -:10E8C0006235710509F49AC764F46035710509F47D -:10E8D0004DC70CF062C76A32710509F4C1C30C94CC -:10E8E000C1896435710509F492C70CF48BC765358D -:10E8F000710509F4BFC70C94C1896B36710509F421 -:10E900002FC764F46936710509F422C40CF0F8C607 -:10E910006836710509F4EBC30C94C1896037710541 -:10E9200009F403C434F46D36710509F41EC50C9462 -:10E93000C1896237710511F40C94F77C6337710556 -:10E9400011F00C94C189E0917B13F0E0EE0FFF1FF2 -:10E95000E45EFD4F0190F081E02DE859FE4F0190FB -:10E96000F081E02D0C94DE7C623E710511F40C9474 -:10E9700045820CF05FC06B3C710511F40C948480EF -:10E98000ACF56C38710509F4D2C304F5683771052C -:10E9900011F40C94E47D6937710511F40C94E97D50 -:10E9A0006737710511F00C94C189E0917B13F0E099 -:10E9B000EE0FFF1FE45EFD4F0190F081E02DEC575C -:10E9C000FE4F0190F081E02D0C94F57D683C7105BF -:10E9D00011F40C94E17F693C710511F40C9463808F -:10E9E0006E3B710511F00C94C1895BC56F3C7105DC -:10E9F00011F40C94418154F46D3C710511F40C94A4 -:10EA0000C38014F40C94A1800C942381613D7105A2 -:10EA100011F40C94A08114F40C9478816C3D710570 -:10EA200011F40C9410826D3D710511F40C941F8249 -:10EA30000C94C189653F31E0730711F40C94F283A3 -:10EA400054F56F3291E0790711F40C94B78384F494 -:10EA50006D32F1E07F0711F40C94D68214F00C941F -:10EA6000A9836C32714011F40C94A0820C94C1897A -:10EA70006F3581E0780711F40C946C88603991E06F -:10EA8000790711F40C94EF836E35714011F00C94FA -:10EA9000C1890C9435886835F2E07F0711F40C9435 -:10EAA0003A85A4F4673F31E0730711F40C94FA83BC -:10EAB00014F40C94F7836D3F714011F00C94C189EC -:10EAC0000E9409A1E1E9F2E50C9404846B38E3E0CB -:10EAD0007E0711F40C940F883CF46335734011F4F5 -:10EAE0000C9415840C94C189603A33E0730709F4DF -:10EAF00026C2673E734011F00C94C18910926111D7 -:10EB00000E943BA38091081390910913A0910A13CE -:10EB1000B0910B1380930C1390930D13A0930E13CD -:10EB2000B0930F130E94CB650C94C18900917711AB -:10EB3000109178110E5F1F4F80E50E946F6588234A -:10EB400079F00E945B650E9453F76B017C01BB2446 -:10EB5000B394611571058105910531F4B12C04C0A0 -:10EB6000B12CC12CD12C760183E50E946F658823DE -:10EB700099F00E945B6520E030E04AE754E40E948F -:10EB8000B4F90E9453F76B017C01AA24A394611588 -:10EB900071058105910509F4A12C6AE270E0C801B4 -:10EBA0000F947600009711F0FC011082F801CF015C -:10EBB00021912032E1F3B11007C0A11005C022233A -:10EBC00019F00E942EA110C0E0917B13F0E0EE0F2F -:10EBD000FF1FE45EFD4F0190F081E02DEE53FF4FEB -:10EBE000808191810E943BA181E00E940EA10E9440 -:10EBF000C4D90E942CF060937311709374118093A8 -:10EC0000751190937611C114D104E104F104A9F0B7 -:10EC10000E942CF04B015C018C0C9D1CAE1CBF1C97 -:10EC20000E942CF0681579058A059B05B8F40E94AE -:10EC3000ACA4811113C00C94BC8A0E94AAA488239E -:10EC400011F40C94C1890E94ACA481110AC00E94E5 -:10EC5000094680E08ADA0E94C4A3F5CF80E00E94D2 -:10EC60000EA180919013E0917B13F0E0EE0FFF1F57 -:10EC7000E45EFD4F0190F081E02D882341F0EC53DC -:10EC8000FF4F808191810E943BA10C94C1898081BA -:10EC900091810E943BA10C94C1899091C00095FF85 -:10ECA000FCCF8093C600319684918111F6CF80917C -:10ECB000C00085FFFCCF8AE08093C6008EE893E118 -:10ECC0000E945E53E0917B13F0E0EE0FFF1FE45EC5 -:10ECD000FD4F0190F081E02DE05BFE4F0190F0814F -:10ECE000E02D8491882341F09091C00095FFFCCFE6 -:10ECF0008093C6003196F5CF8091C00085FFFCCF90 -:10ED00008AE08093C6000C94C1898EE893E10E944A -:10ED1000B3530C94C1898EE893E10E94B2540C94D1 -:10ED2000C18900917711109178110C5F1F4F6AE231 -:10ED300070E0C8010F947600009711F0FC0110827A -:10ED400021E041E0B8018EE893E10E9434590C942F -:10ED5000C1898EE893E10E94BD540C94C1898091D1 -:10ED60009113882311F40C94C18983E50E946F6587 -:10ED700081110C94C58A0C94C1898EE893E10E949C -:10ED800061560C94C18980917711909178116AE253 -:10ED900070E004960F9476008C010097D9F02091D2 -:10EDA00081113091821140E6429FC001439F900D36 -:10EDB00011246EE470E089579E4E0F94760060E255 -:10EDC00070E00F94760001969093781180937711FC -:10EDD000F801108260917711709178116C5F7F4F0C -:10EDE00021E040E08EE893E10E9434590C94C189FF -:10EDF00080919113882311F40C94C18960E08EE80E -:10EE000093E10E94C45880917711909178116AE241 -:10EE100070E004960F9476008C010097D9F0209151 -:10EE200081113091821140E6429FC001439F900DB5 -:10EE300011246EE470E089579E4E0F94760060E2D4 -:10EE400070E00F947600019690937811809377117B -:10EE5000F801108260917711709178116C5F7F4F8B -:10EE60008EE893E10E9421550C94C1898091901302 -:10EE700081110E94C4D900917711109178110C5F13 -:10EE80001F4F6AE270E0C8010F9476007C0161E2D6 -:10EE900070E0C8010F947600009719F08C010F5FA5 -:10EEA0001F4FE114F10411F0F701108280E50E9478 -:10EEB0006F65F82E209177113091781102171307A2 -:10EEC00008F4F12C80919113882311F40C94C189DA -:10EED00021E02F2541E0B8018EE893E10E943459EA -:10EEE00083E50E946F658823B9F0209177113091F6 -:10EEF00078112017310780F40E946465AB01BC01D2 -:10EF000040932B1650932C1660932D1670932E164B -:10EF100086E795E10E94EC338EE893E10E94B654B7 -:10EF2000F1100C94C1890E942CF060936B117093C6 -:10EF30006C1180936D1190936E110C94C189809126 -:10EF40007711909178116AE270E005960F9476003F -:10EF50008C010097D9F0209181113091821140E607 -:10EF6000429FC001439F900D11246EE470E08957C9 -:10EF70009E4E0F94760060E270E00F94760001964A -:10EF80009093781180937711F80110826091771136 -:10EF9000709178116B5F7F4F8EE893E10E94B95CAE -:10EFA0000C94C1890E942CF06093671170936811D2 -:10EFB0008093691190936A1100916B1110916C11FB -:10EFC00020916D1130916E11601B710B820B930BB0 -:10EFD00028EE33E040E050E00E94BDFACA01B901DA -:10EFE0002CE330E040E050E00E94BDFA7F936F9345 -:10EFF0003F932F9389ED91E59F938F93CE010196D7 -:10F000009F938F930F94AE00E1E9F2E584910FB6E0 -:10F01000F894DEBF0FBECDBF882349F09091C000A9 -:10F0200095FFFCCF8093C60031968491F5CFFE0109 -:10F0300031968191882339F09091C00095FFFCCFE3 -:10F040008093C600F6CF8091C00085FFFCCF8AE098 -:10F050008093C600CE0101960E942EA10C94C18916 -:10F0600083E50E946F65882311F40C94C1890E9486 -:10F070005B650E944EF7F62EE72E862F9E2D8C01A3 -:10F0800080E50E946F65882331F00F3F110509F07C -:10F0900010F40C94D68A0DE010E0EFECFDE08191C5 -:10F0A00091918017910711F40C94C1893EE0E730EB -:10F0B000F307A9F70630110539F48F2D9E2D909393 -:10F0C00048138093471304C017FF02C00C94C189F2 -:10F0D00061E0802F0E944CEF6F2D802F0E9485EF02 -:10F0E0006F2D7E2D802F0E9442EE0C94C18988E600 -:10F0F00090E00E94236B81110C94C18983E50E94EA -:10F100006F65882371F0009162110E945B6510E0C9 -:10F11000000F111F005F1E4E0E944EF7F801718311 -:10F1200060830E9457400C94C1890E94686A83E5FD -:10F130000E946F65882311F40C94C1890E945B655D -:10F140000E944EF770930F1160930E110C94C189B9 -:10F1500089E690E00E94236B81110C94C189E3ED54 -:10F16000F1E58491882341F09091C00095FFFCCF98 -:10F170008093C6003196F5CFE091621124E0E29FC2 -:10F18000F0011124E85FFE4E40815181628173815C -:10F1900021E030E08BEF96E10E9446D1E0EDF1E511 -:10F1A0008491882341F09091C00095FFFCCF80931B -:10F1B000C6003196F5CFE0916211F0E0EE0FFF1F2F -:10F1C000E05FFE4E60817181882777FD8095982FE2 -:10F1D0000E9481F7AB01BC0121E030E08BEF96E1AA -:10F1E0000E9446D1ECECF1E58491882341F09091A6 -:10F1F000C00095FFFCCF8093C6003196F5CF4091BB -:10F20000021150910311609104117091051121E0D8 -:10F2100030E08BEF96E10E9446D1E9ECF1E5849174 -:10F22000882341F09091C00095FFFCCF8093C600E9 -:10F230003196F5CF60910E1170910F11882777FDEF -:10F240008095982F0E9481F7AB01BC0121E030E04E -:10F250008BEF96E10E9446D1E6ECF1E5849188239C -:10F2600041F09091C00095FFFCCF8093C60031968D -:10F27000F5CF4AE050E060E070E08BEF96E10E944D -:10F2800070D0E4ECF1E58491882341F09091C000C6 -:10F2900095FFFCCF8093C6003196F5CF40910811C1 -:10F2A0005091091160910A1170910B1121E030E029 -:10F2B0008BEF96E10E9446D1E1ECF1E58491882341 -:10F2C00041F09091C00095FFFCCF8093C60031962D -:10F2D000F5CF6091101170911111882777FD8095FD -:10F2E000982F0E9481F7AB01BC0121E030E08BEF49 -:10F2F00096E10E9446D1EDEBF1E58491882341F03F -:10F300009091C00095FFFCCF8093C6003196F5CF59 -:10F310008091621190E00E947F3F4AE050E0BC0182 -:10F320008BEF96E10E9470D0E8EBF1E584918823A1 -:10F3300041F09091C00095FFFCCF8093C6003196BC -:10F34000F5CF8FEF9FEF0E947F3F4AE050E0BC0176 -:10F350008BEF96E10E9470D08091C00085FFFCCFBA -:10F360008AE08093C6000C94448C8DE690E00E9465 -:10F37000236B81110C94C189E0917B13F0E0EE0FB7 -:10F38000FF1FE45EFD4F0190F081E02DE05AFE4F3B -:10F39000808191810E943BA181E090E0909376135F -:10F3A0008093751383E50E946F65882391F0009127 -:10F3B00062110E945B6510E0000F111F005F1E4E7E -:10F3C0000E944EF7F8017183608381E08093080CFE -:10F3D00015C082E50E946F65882381F0009162115B -:10F3E0000E945B6510E0000F111F005F1E4E0E941F -:10F3F0004EF7F801718360831092080C0E94574009 -:10F400000E942CF04B015C010091621110E0F801A8 -:10F41000EE0FFF1FE05FFE4E60817181882777FD50 -:10F420008095982F0E9481F7F801EE0FFF1FEE0FD5 -:10F43000FF1FE85FFE4E11E0208131814281538140 -:10F440000E94E2F818160CF010E010936011109270 -:10F450003813CC24CA94DC2C760148EE442E43E0C9 -:10F46000542E612C712C5AE0352E80913813811165 -:10F470000C94DD8AFFEFCF16DF06EF06FF0611F4CE -:10F480000C94088BF7FE02C00C94DD8A0E942CF0CD -:10F490006C197D09683B7B4010F40C94088B0C942C -:10F4A000DD8AE0917B13F0E0EE0FFF1FE45EFD4F7D -:10F4B0000190F081E02DEC59FE4F808191810E94F6 -:10F4C0003BA183E090E0909376138093751383E5DE -:10F4D0000E946F65882361F00E945B650E944EF771 -:10F4E00070930F1160930E1181E08093080C0FC090 -:10F4F00082E50E946F65882351F00E945B650E943F -:10F500004EF770930F1160930E111092080C0E9429 -:10F510002CF04B015C011092381360910E11709128 -:10F520000F11882777FD8095982F0E9481F711E0B1 -:10F530002091021130910311409104115091051155 -:10F540000E94E2F818160CF010E0109360110AEA1D -:10F5500011E566EAE62E61E5F62E72EAC72E71E540 -:10F56000D72EEAE07E2E8091601160910E1170918D -:10F570000F11882309F48BC080913813811187C043 -:10F58000882777FD8095982F0E9481F7209102119E -:10F590003091031140910411509105110E94E2F83D -:10F5A00018160CF08BC00E942CF0681979098A0992 -:10F5B0009B09693E73408105910508F460C0E091A4 -:10F5C000491384E0E89FF0011124E85FFE4E40817A -:10F5D000518162817381F8018491EAEAF1E588231F -:10F5E00049F09091C00095FFFCCF8093C600319602 -:10F5F0008491F5CF22E030E08BEF96E10E9446D176 -:10F60000F7018491E6EAF1E5882349F09091C00082 -:10F6100095FFFCCF8093C60031968491F5CF609121 -:10F62000491370E04AE050E08BEF96E10E9470D001 -:10F63000F6018491E2EAF1E5882349F09091C00057 -:10F6400095FFFCCF8093C60031968491F5CF409111 -:10F65000021150910311609104117091051121E084 -:10F6600030E08BEF96E10E9446D18091C00085FF8B -:10F67000FCCF7092C6000E942CF04B015C010E94EE -:10F68000094680E00E94B5700E94C4A36CCF882711 -:10F6900077FD8095982F0E9481F72091021130917B -:10F6A000031140910411509105110E94DFF687FF6C -:10F6B00005C08091080C882309F475CFE0917B1375 -:10F6C000F0E0EE0FFF1FE45EFD4F0190F081E02DB2 -:10F6D000EA59FE4F808191810E943BA184E090E035 -:10F6E00090937613809375130E942CF0609373119E -:10F6F0007093741180937511909376110C94C18955 -:10F7000083E50E946F65882319F10E945B6520E004 -:10F7100030E0A9010E94DFF687FD0FC00E945B6503 -:10F7200020E030E04FE753E40E94E2F8181644F07E -:10F730000E945B650E944EF705C060E070E002C069 -:10F740006FEF70E070934813609347130C94C18976 -:10F750008FEF90E090934813809347130C94C189E6 -:10F7600010924813109247130C94C1899B9AA39846 -:10F7700081E08093120CE0917B13F0E0EE0FFF1F0D -:10F78000E45EFD4F0190F081E02D808191810E9427 -:10F790003BA10E94C4A30C94C1890E9458400E94BE -:10F7A000C4D9149A0E942EDA10924813109247136B -:10F7B00068EE73E080E090E00E945BF09B9AA39A71 -:10F7C0001092120CE0917B13F0E0EE0FFF1FE45E4D -:10F7D000FD4F0190F081E02DE459FF4F40815181B0 -:10F7E00020EA31E56EE971E584EB9DE00E944A4D27 -:10F7F0000E943BA10E94C4A30C94C189109287135C -:10F800000C94C18981E0809387130C94C18983E5AE -:10F810000E946F658823A1F00E945B6520E030E0C4 -:10F820004AE754E40E94B4F90E9453F76093090C2C -:10F8300070930A0C80930B0C90930C0C0C94C18960 -:10F8400088E50E946F6581110C941C8C89E50E94EB -:10F850006F6581110C941C8C8AE50E946F65811183 -:10F860000C941C8C85E40E946F6581110C941C8C97 -:10F870000C943E8C83E50E946F65882311F40C94F0 -:10F88000C1890E945B6520E030E04AE754E40E94B1 -:10F89000B4F90E9453F760936F11709370118093C5 -:10F8A0007111909372110C94C18927E03EE039AF39 -:10F8B00028AF01E01DE191E1892E9DE1992E25EC13 -:10F8C000A22E2CE1B22E312CE8ADF9AD8191F9AF29 -:10F8D000E8AF0E946F65882309F45BC0F3E03F1234 -:10F8E00051C00E945B656B017C0120E030E040EA82 -:10F8F00051E40E94DFF687FF3FC0A7019601F8019F -:10F9000060817181828193810E94E6F62B013C0126 -:10F910009B01AC016091D91C7091DA1C8091DB1CB9 -:10F920009091DC1C0E94B4F96093D91C7093DA1C8E -:10F930008093DB1C9093DC1CA3019201F401608195 -:10F940007181828193810E94B4F9F4016083718393 -:10F9500082839383F50160817181828193810E940A -:10F960007FF7A30192010E94B4F90E9453F7F501B9 -:10F970006083718382839383F801C082D182E282A3 -:10F98000F38207C00E945B65F80160837183828304 -:10F99000938333940C5F1F4FF4E08F0E911C24E08F -:10F9A000A20EB11C34E033128FCF0C94C189909118 -:10F9B000C00095FFFCCF8093C600319684918111E1 -:10F9C000F6CF0C94C18900917711109178110B5FDB -:10F9D0001F4F6AE270E0C8010F947600009711F0A3 -:10F9E000FC011082C8010E942EA10C94C189EBE990 -:10F9F000F1E58491882341F09091C00095FFFCCF00 -:10FA00008093C6003196F5CF40915D1350915E13FF -:10FA100060915F137091601322E030E08BEF96E10C -:10FA20000E9446D1E7E9F1E58491882341F0909165 -:10FA3000C00095FFFCCF8093C6003196F5CF409172 -:10FA4000611350916213609163137091641322E00B -:10FA500030E08BEF96E10E9446D1E3E9F1E5849135 -:10FA6000882341F09091C00095FFFCCF8093C600A1 -:10FA70003196F5CF409165135091661360916713ED -:10FA80007091681322E030E08BEF96E10E9446D13E -:10FA9000EFE8F1E58491882341F09091C00095FF53 -:10FAA000FCCF8093C6003196F5CF409169135091F9 -:10FAB0006A1360916B1370916C1322E030E08BEF4E -:10FAC00096E10E9446D1E0917B13F0E0EE0FFF1F1C -:10FAD000E45EFD4F0190F081E02DE659FE4F01906C -:10FAE000F081E02D8491882341F09091C00095FF32 -:10FAF000FCCF8093C6003196F5CF0E9420DA0E9499 -:10FB000081F72091011D3091021D4091031D5091FC -:10FB1000041D0E94E6F6AB01BC0122E030E08BEF51 -:10FB200096E10E9446D1EBE8F1E58491882341F00B -:10FB30009091C00095FFFCCF8093C6003196F5CF21 -:10FB400081E00E9420DA0E9481F72091051D30910A -:10FB5000061D4091071D5091081D0E94E6F6AB015D -:10FB6000BC0122E030E08BEF96E10E9446D1E7E84D -:10FB7000F1E58491882341F09091C00095FFFCCF7E -:10FB80008093C6003196F5CF82E00E9420DA0E9471 -:10FB900081F72091091D30910A1D40910B1D509154 -:10FBA0000C1D0E94E6F6AB01BC0122E030E08BEFB9 -:10FBB00096E10E9446D18091C00085FFFCCF8AE08B -:10FBC0008093C6000C94C18980E00E9444D20C94BA -:10FBD000C18981E00E9444D20C94C1899091C000F7 -:10FBE00095FFFCCF8093C600319684918111F6CFAA -:10FBF0008091C00085FFFCCF8AE08093C600E09131 -:10FC00007B13F0E0EE0FFF1FE45EFD4F0190F081EB -:10FC1000E02DE858FE4F0190F081E02D849188237B -:10FC200041F09091C00095FFFCCF8093C6003196C3 -:10FC3000F5CFE0917B13F0E0EE0FFF1FE45EFD4F88 -:10FC40001E9B13C00190F081E02DEA57FE4F0190FA -:10FC5000F081E02D84918823D9F09091C00095FF28 -:10FC6000FCCF8093C6003196F5CF0190F081E02D56 -:10FC7000E857FE4F0190F081E02D8491882341F0F8 -:10FC80009091C00095FFFCCF8093C6003196F5CFD0 -:10FC90008091C00085FFFCCF8AE08093C600E09190 -:10FCA0007B13F0E0EE0FFF1FE45EFD4F0190F0814B -:10FCB000E02DE658FE4F0190F081E02D84918823DD -:10FCC00041F09091C00095FFFCCF8093C600319623 -:10FCD000F5CFE0917B13F0E0EE0FFF1FE45EFD4FE8 -:10FCE000029913C00190F081E02DEA57FE4F019078 -:10FCF000F081E02D84918823D9F09091C00095FF88 -:10FD0000FCCF8093C6003196F5CF0190F081E02DB5 -:10FD1000E857FE4F0190F081E02D8491882341F057 -:10FD20009091C00095FFFCCF8093C6003196F5CF2F -:10FD30008091C00085FFFCCF8AE08093C600E091EF -:10FD40007B13F0E0EE0FFF1FE45EFD4F0190F081AA -:10FD5000E02DE458FE4F0190F081E02D849188233E -:10FD600041F09091C00095FFFCCF8093C600319682 -:10FD7000F5CFE0917B13F0E0EE0FFF1FE45EFD4F47 -:10FD80001D9B13C00190F081E02DEA57FE4F0190BA -:10FD9000F081E02D84918823D9F09091C00095FFE7 -:10FDA000FCCF8093C6003196F5CF0190F081E02D15 -:10FDB000E857FE4F0190F081E02D8491882341F0B7 -:10FDC0009091C00095FFFCCF8093C6003196F5CF8F -:10FDD0008091C00085FFFCCF8AE08093C600E0914F -:10FDE0007B13F0E0EE0FFF1FE45EFD4F0190F0810A -:10FDF000E02DE258FE4F0190F081E02D84918823A0 -:10FE000041F09091C00095FFFCCF8093C6003196E1 -:10FE1000F5CFE0917B13F0E0EE0FFF1FE45EFD4FA6 -:10FE2000019913C00190F081E02DEA57FE4F019037 -:10FE3000F081E02D84918823D9F09091C00095FF46 -:10FE4000FCCF8093C6003196F5CF0190F081E02D74 -:10FE5000E857FE4F0190F081E02D8491882341F016 -:10FE60009091C00095FFFCCF8093C6003196F5CFEE -:10FE70008091C00085FFFCCF8AE08093C600E091AE -:10FE80007B13F0E0EE0FFF1FE45EFD4F0190F08169 -:10FE9000E02DE058FE4F0190F081E02D8491882301 -:10FEA00041F09091C00095FFFCCF8093C600319641 -:10FEB000F5CFE0917B13F0E0EE0FFF1FE45EFD4F06 -:10FEC0001C9B13C00190F081E02DEA57FE4F01907A -:10FED000F081E02D84918823D9F09091C00095FFA6 -:10FEE000FCCF8093C6003196F5CF0190F081E02DD4 -:10FEF000E857FE4F0190F081E02D8491882341F076 -:10FF00009091C00095FFFCCF8093C6003196F5CF4D -:10FF10008091C00085FFFCCF8AE08093C600E0910D -:10FF20007B13F0E0EE0FFF1FE45EFD4F0190F081C8 -:10FF3000E02DEE57FE4F0190F081E02D8491882353 -:10FF400041F09091C00095FFFCCF8093C6003196A0 -:10FF5000F5CFE0917B13F0E0EE0FFF1FE45EFD4F65 -:10FF6000379913C00190F081E02DEA57FE4F0190C0 -:10FF7000F081E02D84918823D9F09091C00095FF05 -:10FF8000FCCF8093C6003196F5CF0190F081E02D33 -:10FF9000E857FE4F0190F081E02D8491882341F0D5 -:10FFA0009091C00095FFFCCF8093C6003196F5CFAD -:10FFB0008091C00085FFFCCF8AE08093C6000C943E -:10FFC000C189809149138093621184E50E946F6515 -:10FFD000882381F10E945B650E9453F76093621150 -:10FFE000662341F1E1E9F2E58491882341F09091A3 -:10FFF000C00095FFFCCF8093C6003196F5CFE0910D -:020000021000EC -:100000007B13F0E0EE0FFF1FE45EFD4F0190F081E7 -:10001000E02DEA5AFE4F0190F081E02D8191882376 -:1000200011F40C94C1899091C00095FFFCCF80938E -:10003000C600F4CF84E40E946F65882311F40C9409 -:10004000C1890E945B6520E030E0A9010E94DFF6D3 -:10005000811103C010926D1332C00091621110E043 -:100060000E945B65F801EE0FFF1FEE0FFF1FE15CC2 -:10007000F34F6083718382839383E0903F0CF09011 -:10008000400C0091410C1091420C20E030E0A9019D -:10009000B701C8010E94DFF6811104C0E12CF12CE8 -:1000A00000E410E4C701D80180933F0C9093400C0A -:1000B000A093410CB093420C81E080936D130E9499 -:1000C0005C710C94C18907E01EE0E1EFEE2EECE1DB -:1000D000FE2EF80181918F010E946F65882349F0FF -:1000E0000E945B650E9453F7F701608371838283EE -:1000F0009383F4E0EF0EF11C2EE00B30120749F76A -:100100000E940BEC0C94C18907E01EE071E1E72E20 -:100110007DE1F72EF80181918F010E946F658823A0 -:1001200039F00E945B65F70160837183828393835A -:10013000F4E0EF0EF11C2EE00B30120759F70C948F -:10014000C18983E50E946F65882351F00E945B6539 -:100150006093E91C7093EA1C8093EB1C9093EC1C59 -:1001600084E50E946F65882311F40C94C1890E9474 -:100170005B656093E51C7093E61C8093E71C90938D -:10018000E81C0C94C18983E50E946F65882351F0B7 -:100190000E945B656093ED1C7093EE1C8093EF1CD6 -:1001A0009093F01C84E50E946F65882351F00E94B3 -:1001B0005B656093D51C7093D61C8093D71C90937D -:1001C000D81C82E40E946F65882361F00E945B6501 -:1001D0000E9453F76093211D7093221D8093231D6D -:1001E0009093241D88E50E946F65882351F00E943A -:1001F0005B656093E11C7093E21C8093E31C909319 -:10020000E41C8AE50E946F65882351F00E945B65BB -:100210006093DD1C7093DE1C8093DF1C9093E01CC8 -:1002200085E40E946F65882311F40C94C1890E94B3 -:100230005B656093D91C7093DA1C8093DB1C9093F0 -:10024000DC1C0C94C18907E01EE061E5E62E63E149 -:10025000F62EF80181918F010E946F65882339F095 -:100260000E945B65F7016083718382839383F4E06E -:10027000EF0EF11C2EE00A30120711F40C94C18924 -:10028000E8CF83E50E946F65882351F00E945B658B -:1002900060931F0C7093200C8093210C9093220C80 -:1002A00086E40E946F65882381F00E945B6520E0F0 -:1002B00030E040E752E40E94E6F66093170C70933A -:1002C000180C8093190C90931A0C8AE50E946F65A4 -:1002D000882311F40C94C1890E945B6560934113DB -:1002E0007093421380934313909344130C94C189E9 -:1002F00083E50E946F65882351F00E945B656093DF -:100300003D1370933E1380933F139093401386E404 -:100310000E946F65882311F40C94C1890E945B656B -:1003200020E030E040E752E40E94E6F66093130CD0 -:100330007093140C8093150C9093160C0C94C18937 -:1003400083E50E946F65882311F40C94C1890E9493 -:100350005B650E944EF76115710551F061307105C2 -:1003600069F481E080934613109245130C94C1897F -:1003700010924613109245130C94C189E1E9F2E5FD -:100380008491882341F09091C00095FFFCCF809329 -:10039000C6003196F5CFE0917B13F0E0EE0FFF1F22 -:1003A000E45EFD4F0190F081E02DEE58FE4F01908C -:1003B000F081E02D8491882341F09091C00095FF59 -:1003C000FCCF8093C6003196F5CF8091811190913A -:1003D000821120E6289FF001299FF00D1124E95792 -:1003E000FE4E8191882339F09091C00095FFFCCF9B -:1003F0008093C600F6CFE5E8F1E58491882341F0CB -:100400009091C00095FFFCCF8093C6003196F5CF48 -:100410008091C00085FFFCCF8AE08093C600B1C701 -:1004200083E50E946F65882309F4ABC70E945B6572 -:100430000E944EF770934A0C6093490CA2C783E563 -:100440000E946F65882309F49CC70E945B650E9427 -:100450004EF76B017C0184E50E946F65882381F073 -:100460008DED90E00E94236B81118BC7E0916211AA -:10047000F0E0EE0FFF1FEB5BF34FD182C08281C72C -:10048000D092480CC092470C7CC780E50E946F65F3 -:10049000882309F476C70E945B650E944EF7D62E2A -:1004A000062F172F83E50E946F65882331F00E9485 -:1004B0005B650E944EF77B0103C0EE24EA94FE2C9C -:1004C000C7010196039708F05CC7EFECFDE081914E -:1004D00091918017910709F454C73EE0E730F30784 -:1004E000B1F717FD4EC70E94C4D9CD2C60E08D2D09 -:1004F0000E944CEF8FEFE816F80631F0EA94EF28EF -:1005000071F000E010E00DC08D2D0E94BAEF31E0D7 -:1005100020E0892B09F030E0032F122F02C001E008 -:1005200010E08C2D0E94BAEF8017910709F429C7BB -:100530000E94094680E00E94B5700E94C4A3F1CFDA -:1005400083E50E946F65882331F00E945B650E94FD -:100550004EF78B0102C00EE610E080E50E946F6549 -:10056000882331F00E945B650E944EF7CB0102C0E8 -:1005700088EE93E06C01EE24D7FCE094FE2C10167C -:1005800011067CF420E030E0A901B8018EE40E945D -:10059000F8F0C701B6010E945BF08EE40E940FF4F0 -:1005A000F0C6C701B6010E945BF0EBC680E50E9471 -:1005B0006F65882351F00E945B6560931802709309 -:1005C000190280931A0290931B0289E40E946F65BE -:1005D000882361F00E945B650E94854A6093140243 -:1005E00070931502809316029093170284E40E9480 -:1005F0006F65882361F00E945B650E94914A609359 -:10060000100270931102809312029093130283E4FC -:100610000E946F65882351F00E945B6560930C0215 -:1006200070930D0280930E0290930F020E94683F18 -:10063000E0917B13F0E0EE0FFF1FE45EFD4F0190B1 -:10064000F081E02DE05CFE4F0190F081E02D819182 -:10065000882339F09091C00095FFFCCF8093C600AD -:10066000F6CFEDEBFDE08191882339F09091C00049 -:1006700095FFFCCF8093C600F6CF409118025091B1 -:10068000190260911A0270911B0222E030E08BEF98 -:1006900096E10E9446D1E1ECFDE08191882339F09A -:1006A0009091C00095FFFCCF8093C600F6CF60917B -:1006B00014027091150280911602909117020E9407 -:1006C0008B4AAB01BC0122E030E08BEF96E10E9447 -:1006D00046D1E5ECFDE08191882339F09091C0008E -:1006E00095FFFCCF8093C600F6CF60911002709109 -:1006F000110280911202909113020E94974AAB015D -:10070000BC0122E030E08BEF96E10E9446D1E9EC9B -:10071000FDE08191882339F09091C00095FFFCCFD6 -:100720008093C600F6CF40910C0250910D0260916B -:100730000E0270910F0222E030E08BEF96E10E94F2 -:1007400046D18091C00085FFFCCF8AE08093C6002F -:1007500018C683E50E946F65882319F00E945B65C7 -:1007600003C060E070E0CB010E9402EC0AC685E4A1 -:100770000E946F65882341F00E945B650E944EF7DE -:100780008B0177FF03C009C000E010E0C12CD12C21 -:1007900096E1E92E93E4F92E06C0C12CD12C8CE809 -:1007A000E82E82E4F82E83E50E946F65882321F00D -:1007B0000E945B656B017C0183E40E946F65882366 -:1007C00031F00E945B650E944EF79B0102C025E05C -:1007D00030E0A801C701B6010E946B40D2C50E945B -:1007E000C4D9CFC50E9477CD0E9449C9CAC50E940D -:1007F00077CDC7C50E9449C9C4C59091C00095FF77 -:10080000FCCF8093C600319684918111F6CFE5E745 -:10081000F1E58491882309F4B4C59091C00095FF57 -:10082000FCCF8093C6003196F4CF8AE50E946F65B5 -:10083000882309F4D6C00E945B656B017C0120E02F -:1008400030E040E751EC0E94E2F887FD57C020E01D -:1008500030E040EA50ECC701B6010E94DFF61816FE -:100860000CF44CC0F7FAF094F7F8F094C0924A13E5 -:10087000D0924B13E0924C13F0924D13E1E9F2E564 -:100880008491882341F09091C00095FFFCCF809324 -:10089000C6003196F5CFE0917B13F0E0EE0FFF1F1D -:1008A000E45EFD4F80819181FC01E05CFE4F408160 -:1008B0005181E855F10924E731E564E77EE0808164 -:1008C00091810E944A4DFC012491222341F03091F4 -:1008D000C00035FFFCCF2093C6000196F4CF809175 -:1008E000C00085FFFCCF8AE08093C6008091C000E5 -:1008F00085FFFCCF8AE08093C60043C5E1E9F2E5BD -:100900008491882341F09091C00095FFFCCF8093A3 -:10091000C6003196F5CFE0917B13F0E0EE0FFF1F9C -:10092000E45EFD4F0190F081E02DE851FF4F019012 -:10093000F081E02D8491882341F09091C00095FFD3 -:10094000FCCF8093C6003196F5CFE0917B13F0E0A9 -:10095000EE0FFF1FE45EFD4F0190F081E02DE058A7 -:10096000FE4F0190F081E02D8491882341F0909119 -:10097000C00095FFFCCF8093C6003196F5CF4AE0CA -:1009800050E061EF7FEF8BEF96E10E9470D0E09135 -:100990007B13F0E0EE0FFF1FE45EFD4F0190F0814E -:1009A000E02DEE57FE4F0190F081E02D84918823D9 -:1009B00041F09091C00095FFFCCF8093C600319626 -:1009C000F5CF4AE050E06BEF7FEF8BEF96E10E94AE -:1009D00070D08091C00085FFFCCF8AE08093C60074 -:1009E000D0C4E1E9F2E58491882341F09091C00000 -:1009F00095FFFCCF8093C6003196F5CFE0917B1335 -:100A0000F0E0EE0FFF1FE45EFD4F0190F081E02D5E -:100A1000E851FF4F60E771E5808191810E94294D87 -:100A2000FC012491222341F03091C00035FFFCCF1E -:100A30002093C6000196F4CF8091C00085FFFCCFC3 -:100A40008AE08093C60040914A1350914B13609105 -:100A50004C1370914D13705822E030E08BEF96E10B -:100A60000E9446D18091C00085FFFCCF8AE0809330 -:100A7000C60087C40E94C4D98091490C90914A0C49 -:100A80009093440C8093430CC0905D13D0905E1300 -:100A9000E0905F13F0906013CF8ED8A2E9A2FAA283 -:100AA00000916113109162132091631330916413CC -:100AB0000BA31CA32DA33EA3409165135091661375 -:100AC00060916713709168134FA358A769A77AA71D -:100AD0008091691390916A13A0916B13B0916C137C -:100AE0008BA79CA7ADA7BEA7C982DA82EB82FC8246 -:100AF0000D831E832F83388749875A876B877C87AE -:100B00008D879E87AF87B88B85E40E946F658823A9 -:100B100059F00E945B659B01AC016BA57CA58DA57E -:100B20009EA50E9406F60AC020E030E040E050E4B6 -:100B30006BA57CA58DA59EA50E9405F66BA77CA73D -:100B40008DA79EA739E4C32E33E1D32EE12CF12CDF -:100B500008EC13E49E01255D3F4FAE01495D5F4FF8 -:100B6000BE016D5D7F4FCE014F960E9457E18AE531 -:100B70000E946F65882349F00E945B659B01AC0170 -:100B80006FA178A589A59AA51EC020E030E040E0BD -:100B900050E46FA178A589A59AA50E9406F66B017D -:100BA0007C016FA378A789A79AA720E030E040E2F4 -:100BB00051E40E94DFF687FF0CC020E030E040E205 -:100BC00051E4C701B6010E9406F66FA378A789A772 -:100BD0009AA799E4C92E93E1D92EE12CF12C06E9CC -:100BE00013E49E01255D3F4FAE01495D5F4FBE019D -:100BF0006D5D7F4FCE014F960E9457E188E50E94C0 -:100C00006F65882379F00E945B659B01AC016F8D55 -:100C100078A189A19AA10E9406F66F8F78A389A373 -:100C20009AA308C080E090E0A3E5B3E48F8F98A377 -:100C3000A9A3BAA389E50E946F65882339F00E94B1 -:100C40005B656BA37CA38DA39EA304C01BA21CA207 -:100C50001DA21EA219E4C12E13E1D12EE12CF12C0C -:100C60000CE812E49E01255D3F4FAE01495D5F4FE8 -:100C7000BE016D5D7F4FCE014F960E9457E18CE41F -:100C80000E946F65882359F00E945B659B01AC014F -:100C90006BA57CA58DA59EA50E9406F60AC020E046 -:100CA00030E040EA52E46BA57CA58DA59EA50E948C -:100CB00005F66BA77CA78DA79EA7A9E4CA2EA3E182 -:100CC000DA2EE12CF12C08EC13E49E01255D3F4F58 -:100CD000AE01495D5F4FBE016D5D7F4FCE014F9606 -:100CE0000E9457E10E94C4D9149A64E670E080E043 -:100CF00090E00E945BF00E9477B900E010E0F12CD8 -:100D00000E94ACA481111BC0F3940E94094681E0AB -:100D10000E94B570F110F4CF043FF1E01F0711F409 -:100D200000E010E06A9A0115110511F4729A04C0EE -:100D30000431110509F472980F5F1F4FE1CF7298CB -:100D400020E030E04CE852E46BA57CA58DA59EA583 -:100D50000E9406F66BA77CA78DA79EA779E4C72EF5 -:100D600073E1D72EE12CF12C00EA11E49E01255D00 -:100D70003F4FAE01495D5F4FBE016D5D7F4FCE01BC -:100D80004F960E9457E120E030E048E452E46BA522 -:100D90007CA58DA59EA50E9406F66BA77CA78DA7B6 -:100DA0009EA7E12CF12C00E010E49E01255D3F4F51 -:100DB000AE01495D5F4FBE016D5D7F4FCE014F9625 -:100DC0000E9457E110927D1310927C130E9412BA78 -:100DD00080917C1390917D13019709F47CC010924F -:100DE0007D1310927C130E9467BA80917C139091BE -:100DF0007D138230910549F1039709F069C020E025 -:100E000030E048E452E46BA57CA58DA59EA50E9428 -:100E100006F66BA77CA78DA79EA729E4C22E23E127 -:100E2000D22EE12CF12C00E010E49E01255D3F4F15 -:100E3000AE01495D5F4FBE016D5D7F4FCE014F96A4 -:100E40000E9457E10E94BDB9C3CF20E030E04CE8DA -:100E500052E46BA57CA58DA59EA50E9406F66BA706 -:100E60007CA78DA79EA749E4C42E43E1D42EE12C94 -:100E7000F12C00EA11E49E01255D3F4FAE01495D72 -:100E80005F4FBE016D5D7F4FCE014F960E9457E1CF -:100E900020E030E048E452E46BA57CA58DA59EA53A -:100EA0000E9406F66BA77CA78DA79EA7E12CF12CCC -:100EB00000E010E49E01255D3F4FAE01495D5F4FAC -:100EC000BE016D5D7F4FCE014F960E9457E17ECFF0 -:100ED0000E94A5B97DCF20E030E040EA50E46BA548 -:100EE0007CA58DA59EA50E9406F66BA77CA78DA765 -:100EF0009EA7E9E4CE2EE3E1DE2EE12CF12C00E00A -:100F000010E49E01255D3F4FAE01495D5F4FBE017C -:100F10006D5D7F4FCE014F960E9457E1A80197016A -:100F20006BA57CA58DA59EA50E9405F66BA77CA749 -:100F30008DA79EA7E12CF12C08EC13E49E01255D02 -:100F40003F4FAE01495D5F4FBE016D5D7F4FCE01EA -:100F50004F960E9457E1E12CF12C0CE812E49E011F -:100F6000255D3F4FAE01495D5F4FBE016B5F7F4F17 -:100F7000CE0101960E9457E1E12CF12C06E913E421 -:100F80009E01255D3F4FAE01475F5F4FBE016B5F26 -:100F90007F4FCE0101960E9457E120E030E040E013 -:100FA00050E46BA57CA58DA59EA50E9406F66BA7B7 -:100FB0007CA78DA79EA7E12CF12C08EC13E49E01E1 -:100FC000255D3F4FAE01475F5F4FBE016B5F7F4FB7 -:100FD000CE0101960E9457E1CE010D960E94DEEBF4 -:100FE0008091430C9091440C8093490C90934A0C4F -:100FF0009F938F9387E691E59F938F938E01015D79 -:101000001F4F1F930F930F94AE00C8010E94706290 -:101010000F900F900F900F900F900F90B2C188E536 -:101020000E946F65882339F00E945B650E944EF72D -:1010300080E00E94EEDA8AE50E946F65882339F02D -:101040000E945B650E944EF781E00E94EEDA85E423 -:101050000E946F65882309F494C10E945B650E9419 -:101060004EF782E00E94EEDA8CC183E50E946F6544 -:10107000811104C007E01EE0F12C10C010E00E94B6 -:101080005B650E9453F7812F0E94C4DB1F5F153000 -:10109000B1F7F0CFF394F4E0FF1679F0F801819105 -:1010A0008F010E946F658823A9F30E945B650E94EF -:1010B00053F78F2D0E94C4DBEDCF82E40E946F6551 -:1010C000882339F00E945B650E9453F784E00E94F8 -:1010D000C4DB0E948ADC55C183E50E946F658823CA -:1010E00009F453C00E945B650E944EF761307105A0 -:1010F00041F06230710509F048C007E01EE0F12CB4 -:1011000025C007E01EE0F12CF80181918F010E94BB -:101110006F65882341F00E945B650E944EF74FEF98 -:101120008F2D0E9486DBF394F4E0FF12EDCF82E472 -:101130000E946F65882349F10E945B650E944EF70B -:101140004FEF20C0F394F4E0FF1689F0F80181918D -:101150008F010E946F658823A9F30E945B650E943E -:101160004EF7462F6FEF8F2D0E9486DBEBCF82E488 -:101170000E946F65882349F00E945B650E944EF7CC -:10118000462F6FEF84E00E9486DB0E948ADCF9C064 -:1011900084E50E946F65882309F4A2C00E945B6504 -:1011A0000E9453F760936211662309F442C0E1E99B -:1011B000F2E58491882341F09091C00095FFFCCF27 -:1011C0008093C6003196F5CFEDECFDE08191882348 -:1011D00039F09091C00095FFFCCF8093C600F6CF08 -:1011E00040E050E0609162118BEF96E10E94A7D041 -:1011F000E0917B13F0E0EE0FFF1FE45EFD4F0190E6 -:10120000F081E02DEA58FE4F0190F081E02D8191B0 -:10121000882339F09091C00095FFFCCF8093C600E1 -:10122000F6CF8091C00085FFFCCF8AE08093C60096 -:10123000A8C086E40E946F658823D9F00E945B6590 -:101240006B017C01609318137093191380931A1328 -:1012500090931B1320E030E0A9010E94E2F81816D9 -:1012600044F4C0920D0CD0920E0CE0920F0CF09250 -:10127000100CE1E9F2E58491882341F09091C000DF -:1012800095FFFCCF8093C6003196F5CFE0917B139C -:10129000F0E0EE0FFF1FE45EFD4F0190F081E02DC6 -:1012A000EC58FE4F0190F081E02D8191882339F0B8 -:1012B0009091C00095FFFCCF8093C600F6CF60915F -:1012C000491370E04AE050E08BEF96E10E9470D045 -:1012D0008091C00085FFFCCF8AE08093C60051C09A -:1012E000E1E9F2E58491882341F09091C00095FFF7 -:1012F000FCCF8093C6003196F5CFE0917B13F0E0F0 -:10130000EE0FFF1FE45EFD4F0190F081E02DEE58DF -:10131000FE4F0190F081E02D8491882341F090915F -:10132000C00095FFFCCF8093C6003196F5CF809129 -:1013300081119091821120E6289FF001299FF00DE4 -:101340001124E957FE4E8191882339F09091C00015 -:1013500095FFFCCF8093C600F6CFE5E6F1E58491DA -:10136000882341F09091C00095FFFCCF8093C60088 -:101370003196F5CF8091C00085FFFCCF8AE0809345 -:10138000C6000E94966580C2C0903413D090351379 -:10139000E0903613F09037132091691330916A135F -:1013A00040916B1350916C13C701B6010E9405F672 -:1013B0002DEC3CEC4CEC5DE30E94E2F8181614F0C6 -:1013C0000C947172C0926913D0926A13E0926B13FD -:1013D000F0926C1389E693E10E94DEEB60E080E01E -:1013E0000E94086851C288E50E946F658111B5C0EE -:1013F0008091110C8111B6C089E50E946F65811141 -:10140000B1C088E50E946F658823D1F00E946465B1 -:10141000672B682B692BA1F00E945B65209151130B -:101420003091521340915313509154130E9406F679 -:1014300060935D1370935E1380935F1390936013BA -:1014400089E50E946F658823D1F00E946465672B4F -:10145000682B692BA1F00E945B6520915513309198 -:10146000561340915713509158130E9406F66093FB -:10147000611370936213809363139093641380914C -:10148000110C811174C08AE50E946F6581116FC0D3 -:101490008AE50E946F658823D1F00E946465672BFE -:1014A000682B692BA1F00E945B6520915913309144 -:1014B0005A1340915B1350915C130E9406F660939F -:1014C000651370936613809367139093681329E6EE -:1014D00033E145E653E161E673E18DE593E10E9476 -:1014E00039EB80E00E9444D280911413909115133F -:1014F000A0911613B091171380930D0C90930E0CBE -:10150000A0930F0CB093100C8091821390918313D1 -:1015100090934A0C8093490C0E942CF060937311B5 -:101520007093741180937511909376110E943DD23F -:1015300080919013882309F424CF6CE873E188EF3D -:101540009FE00E948A9C80918C1390918D13892B2F -:1015500009F417CF0E94D5C014CF80E090E00E941C -:10156000DE6046CF81E090E00E94DE604ACF82E0FC -:1015700090E00E94DE608CCF0E94094680E00E94CD -:10158000B5700E94C4A30C9410760E946465AB01F0 -:10159000BC0140932B1650932C1660932D1670931C -:1015A0002E1686E795E10E94EC33EBCE0E945B6538 -:1015B0000E944EF78B010C944D78E0917B13F0E084 -:1015C000EE0FFF1FE45EFD4F0190F081E02DEE591C -:1015D000FE4F808191810E943BA182E090E0909338 -:1015E0007613809375130E942CF060936B117093A7 -:1015F0006C1180936D1190936E110E942CF060938A -:101600007311709374118093751190937611B9CE04 -:101610000E942CF0681979098A099B09693E734078 -:101620008105910508F479C0E5EBF1E58491882303 -:1016300041F09091C00095FFFCCF8093C600319699 -:10164000F5CFE091621124E0E29FF0011124E85F00 -:10165000FE4E408151816281738121E030E08BEF49 -:1016600096E10E9446D1E1EBF1E58491882341F0B7 -:101670009091C00095FFFCCF8093C6003196F5CFC6 -:101680006091621170E04AE050E08BEF96E10E94B9 -:1016900070D0EDEAF1E58491882341F09091C0008B -:1016A00095FFFCCF8093C6003196F5CFF7FE03C0BF -:1016B000E2EBFDE025C00E942CF08B019C01C701EC -:1016C000B6016854744F8F4F9F4F601B710B820B94 -:1016D000930BA30192010E94BDFABA01A9012AE06D -:1016E00030E08BEF96E10E949CD08091C00085FF96 -:1016F000FCCF0DC09091C00095FFFCCF8093C60039 -:1017000081918111F7CF8091C00085FFFCCF30928D -:10171000C6000E942CF04B015C010E94094680E04B -:101720000E94B5700E94C4A3FFEFCF16DF06EF063C -:10173000FF0609F046C080916011E0916211F0E06F -:101740008F01000F111F000F111F085F1E4EEE0FBB -:10175000FF1FE05FFE4E608171818823C9F08827FA -:1017600077FD8095982F0E9481F720E030E040E8D7 -:101770005FE30E9405F69B01AC01F8016081718175 -:10178000828193810E94E2F887FF50C00C94357AE1 -:10179000882777FD8095982F0E9481F720E030E020 -:1017A00040E85FE30E9406F69B01AC01F80160810E -:1017B0007181828193810E94DFF61816BCF50C942A -:1017C000357AF7FE02C00C94357AE0916211F0E0B0 -:1017D0008F01000F111F000F111F085F1E4EEE0F2B -:1017E000FF1FE05FFE4E60817181882777FD809545 -:1017F000982F0E9481F79B01AC01F80160817181F3 -:10180000828193810E9405F60E944EF797FF07C0E0 -:1018100090958095709561957F4F8F4F9F4F663063 -:1018200071058105910514F40C94357A0E942CF011 -:101830006B017C010C94357A0E94C4D988E50E9422 -:101840006F65882319F0179A10924E1389E50E944C -:101850006F65882319F0169A10924F138AE50E943B -:101860006F65882319F0159A1092501385E40E9431 -:101870006F65882309F485CD149A83CD0E94C4D95D -:10188000149A0E942EDA7DCDE9960FB6F894DEBF49 -:101890000FBECDBFDF91CF911F910F91FF90EF90C1 -:1018A000DF90CF90BF90AF909F908F907F906F9080 -:1018B0005F904F903F9008950F931F9380917E13F8 -:1018C00090917F13892BA1F00E942CF0009163115D -:1018D000109164112091651130916611601B710B9C -:1018E000820B930B693E73408105910508F0A5C0FA -:1018F00080917E1390917F13892B11F410928113A4 -:1019000080917D1190917E11039714F40E94756C63 -:1019100060E08EE893E10E94CE5780917D11909116 -:101920007E11892B09F47EC080918E138823E1F00B -:10193000809181119091821120E6289F8001299F3A -:10194000100D112409571E4E61E072E5C8010F9475 -:101950002100892B59F5B8018EE893E10E94505778 -:1019600080918F13882319F00E946E7145C0E09119 -:101970007B13F0E0EE0FFF1FE45EFD4F0190F0815E -:10198000E02DE05CFE4F0190F081E02D84918823F2 -:1019900041F09091C00095FFFCCF8093C600319636 -:1019A000F5CF8091C00085FFFCCF23C060E08EE8BA -:1019B00093E10E94C458E0917B13F0E0EE0FFF1F0B -:1019C000E45EFD4F0190F081E02DEE5BFE4F019053 -:1019D000F081E02D8491882341F09091C00095FF23 -:1019E000FCCF8093C6003196F5CF8091C00085FF73 -:1019F000FCCF8AE08093C60080917D1190917E118A -:101A0000019790937E1180937D1180918111909127 -:101A10008211019664E070E00E94AAFA909382110C -:101A2000809381110E94094680E00E94B5700E9457 -:101A300065D11F910F910C94C4A381E08093811311 -:101A400080917E1390917F13019790937F138093E1 -:101A50007E130E942CF06093631170936411809345 -:101A600065119093661144CF8F929F92AF92BF926F -:101A7000CF92DF92EF92FF920F931F93CF93DF935A -:101A80008C018C519E4F0E941551680189E8C80E47 -:101A9000D11C21F1780181E4E81A8EEFF80AE70100 -:101AA00057018FE1A81AB10846E9842E4EE0942E22 -:101AB000CC15DD0599F0FE01EE19FF09EA0DFB1DBD -:101AC00091828082FE0178978081811102C06F9798 -:101AD000EFCFCE014B970E94CF34F9CFC801865982 -:101AE0009F4F0E941551C801875B9F4FDF91CF9197 -:101AF0001F910F91FF90EF90DF90CF90BF90AF902C -:101B00009F908F900C9415518EE893E10C94215185 -:101B10008EE893E1A9CFFB0160915C0C70915D0CA4 -:101B200070935E1660935D166091671670916816EB -:101B300070935C1660935B1662E060935B0C64ECE0 -:101B40007DEA70935D0C60935C0C90935A168093C1 -:101B50005916F0935816E0935716662757FD60956F -:101B6000762F4093531650935416609355167093E6 -:101B70005616C901AA2797FDA095BA2F841B950B6D -:101B8000A60BB70B80934F1690935016A093511647 -:101B9000B093521680819181AA2797FDA095BA2F04 -:101BA000841B950BA60BB70B809367169093681652 -:101BB000A0936916B0936A160895CF93DF93CDB7BB -:101BC000DEB7C054D1090FB6F894DEBF0FBECDBF4B -:101BD00088E0E3E9FCE0DE01D99601900D928A9558 -:101BE000E1F788E0EBE9FCE0DE01D19601900D928F -:101BF0008A95E1F788E0E3EAFCE0DE01999601903E -:101C00000D928A95E1F788E0EBEAFCE0DE0191961F -:101C100001900D928A95E1F788E0E3EBFCE0DE01AC -:101C2000599601900D928A95E1F788E0EBEBFCE084 -:101C3000DE01519601900D928A95E1F788E0E3EC80 -:101C4000FCE0DE01199601900D928A95E1F788E09B -:101C5000EBECFCE0DE01119601900D928A95E1F724 -:101C6000AE01475C5F4F60E082E796E10E94EA4C7C -:101C7000AE014F5C5F4F61E082E796E10E94EA4C63 -:101C8000AE01475D5F4F62E082E796E10E94EA4C59 -:101C9000AE014F5D5F4F63E082E796E10E94EA4C40 -:101CA000AE01475E5F4F64E082E796E10E94EA4C36 -:101CB000AE014F5E5F4F65E082E796E10E94EA4C1D -:101CC000AE01475F5F4F66E082E796E10E94EA4C13 -:101CD000AE014F5F5F4F67E082E796E10E94EA4CFA -:101CE000C05CDF4F0FB6F894DEBF0FBECDBFDF91F3 -:101CF000CF9108950F931F93CF93DF93EB01142F90 -:101D0000022F482F60E082E796E10E944C4B612F42 -:101D100082E796E10E9496F511E1FE016491662347 -:101D200011F0111117C0112339F060E282E796E13A -:101D30000E9496F51150F7CF602F82E796E10E943E -:101D400096F560E282E796E1DF91CF911F910F91C6 -:101D50000C9496F582E796E10E9496F52196115033 -:101D6000DCCFCF92DF92EF92FF920F931F93CF932E -:101D7000DF93D82EC62E7A01E901482F82E796E13B -:101D80000E944C4B81E0E816F10469F182E0E8160C -:101D9000F10409F04FC0BE0182E796E10E9495F57B -:101DA000FE0101900020E9F73197EC1BFD0B6C2D33 -:101DB0006E0F4D2D82E796E10E944C4B6BEC7DE05F -:101DC00082E796E10E9495F5FE0101900020E9F777 -:101DD0006C2D6C1B6E0F4D2D82E796E10E944C4BD3 -:101DE0006BE07EE028C0BE0182E796E10E9495F597 -:101DF000FE0101900020E9F73197EC1BFD0B6C2DE3 -:101E00006E0F4D2D82E796E10E944C4B6BEC7DE00E -:101E100082E796E10E9495F5FE0101900020E9F726 -:101E20006C2D6C1B6E0F4D2D82E796E10E944C4B82 -:101E3000B80101C0BE0182E796E1DF91CF911F9109 -:101E40000F91FF90EF90DF90CF900C9495F5EF926B -:101E5000FF920F931F93CF93DF93EB01E42E890141 -:101E6000F90101900020E9F7F22EFE1A92E1F90E35 -:101E7000482F60E082E796E10E944C4B6E2D82E78E -:101E800096E10E9496F5FE016491662311F0F1102F -:101E900019C06AE382E796E10E9496F5FF2039F0C7 -:101EA00060E282E796E10E9496F5FA94F7CFB801D6 -:101EB00082E796E1DF91CF911F910F91FF90EF9014 -:101EC0000C9495F582E796E10E9496F52196FA9496 -:101ED000DACF82E796E10C94404BCF936A9ACAE03E -:101EE000729A84E690E00E947FF0729884E690E017 -:101EF0000E947FF0C150A1F7CF91089582E08093B6 -:101F00005B0C0E942CF06C507E4F8F4F9F4F609364 -:101F10006C1670936D1680936E1690936F16DDCFCE -:101F2000E0915C0CF0915D0CE817F90771F090936B -:101F30005D0C80935C0C4093671650936816609319 -:101F4000691670936A162111D9CF089521E040E0F7 -:101F500050E0BA01E5CF21E040E050E0BA01E0CF27 -:101F6000CF92DF92EF92FF920F931F93CF93DF9365 -:101F70008091671690916816A0916916B0916A16C3 -:101F800081309048A105B10540F01092671610927B -:101F900068161092691610926A16809167169091D1 -:101FA0006816A0916916B0916A16B695A79597958F -:101FB00087954091701650E060E070E084179507B7 -:101FC000A607B70710F480937016D0917016109181 -:101FD000711612FB112710F9C0E0B7E1CB2ED12CFE -:101FE000E12CF12C01E04091671650916816609148 -:101FF000691670916A16D11138C080915B0C8823E4 -:10200000C1F0E0917B13F0E0EE0FFF1FE45EFD4FA7 -:102010000190F081E02D8681978123E042305105C7 -:102020006105710510F443E001C040E2BC018C2F52 -:1020300061DE112309F420C2809167169091681621 -:10204000A0916916B0916A160297A105B10508F032 -:1020500013C254DF8EEB9BEBDF91CF911F910F9159 -:10206000FF90EF90DF90CF9071CFD13051F58091FC -:102070005B0C882389F0769567955795479523E003 -:10208000413051056105710511F443E001C040E2A2 -:1020900065EF73E58C2F2EDE112309F4EDC18091DD -:1020A000671690916816A0916916B0916A16B69558 -:1020B000A795979587950197A105B10509F0DCC112 -:1020C000C8CFD230B9F580915B0C8823F1F0E09154 -:1020D0007B13F0E0EE0FFF1FE45EFD4F0190F081F7 -:1020E000E02DE254FE4F808191817695679557955A -:1020F000479523E0423051056105710511F443E035 -:1021000001C040E2BC018C2FF5DD112309F4B4C1FC -:102110008091671690916816A0916916B0916A1621 -:10212000B695A795979587950297A105B10509F0F2 -:10213000A3C18FCFD330B9F580915B0C8823F1F028 -:10214000E0917B13F0E0EE0FFF1FE45EFD4F019086 -:10215000F081E02DE054FE4F808191817695679566 -:102160005795479523E0433051056105710511F4FA -:1021700043E001C040E2BC018C2FBCDD112309F417 -:102180007BC18091671690916816A0916916B091F5 -:102190006A16B695A795979587950397A105B105FA -:1021A00009F06AC156CFD430B9F580915B0C882311 -:1021B000F1F0E0917B13F0E0EE0FFF1FE45EFD4FC6 -:1021C0000190F081E02DEE53FE4F80819181769554 -:1021D00067955795479523E0443051056105710592 -:1021E00011F443E001C040E2BC018C2F83DD1123D8 -:1021F00009F442C18091671690916816A091691602 -:10220000B0916A16B695A795979587950497A105FD -:10221000B10509F031C11DCFD53051F580915B0C6E -:10222000882389F0769567955795479523E0453043 -:1022300051056105710511F443E001C040E268EE0B -:1022400073E58C2F57DD112309F416C180916716B1 -:1022500090916816A0916916B0916A16B695A795E7 -:10226000979587950597A105B10509F005C1F1CEB0 -:10227000D63051F580915B0C882389F0769567956F -:102280005795479523E0463051056105710511F4D6 -:1022900043E001C040E261EE73E58C2F2BDD11239A -:1022A00009F4EAC08091671690916816A0916916AA -:1022B000B0916A16B695A795979587950697A1054B -:1022C000B10509F0D9C0C5CED73051F580915B0C6E -:1022D000882389F0769567955795479523E0473091 -:1022E00051056105710511F443E001C040E268ED5C -:1022F00073E58C2FFFDC112309F4BEC080916716B3 -:1023000090916816A0916916B0916A16B695A79536 -:10231000979587950797A105B10509F0ADC099CEAE -:10232000D83051F580915B0C882389F076956795BC -:102330005795479523E0483051056105710511F423 -:1023400043E001C040E26EEC73E58C2FD3DC112337 -:1023500009F492C08091671690916816A091691651 -:10236000B0916A16B695A795979587950897A10598 -:10237000B10509F081C06DCED93051F580915B0C6B -:10238000882389F0769567955795479523E04930DE -:1023900051056105710511F443E001C040E261ECB3 -:1023A00073E58C2FA7DC112309F466C080916716B2 -:1023B00090916816A0916916B0916A16B695A79586 -:1023C000979587950997A105B10509F055C041CEAC -:1023D000DA3041F580915B0C882389F0769567951A -:1023E0005795479523E04A3051056105710511F471 -:1023F00043E001C040E26AEB73E58C2F7BDC1123E4 -:10240000D9F18091671690916816A0916916B091E4 -:102410006A16B695A795979587950A97A105B10570 -:1024200059F517CEDB3041F580915B0C882389F09C -:10243000769567955795479523E04B305105610593 -:10244000710511F443E001C040E26EEA73E58C2FA0 -:1024500051DC112389F08091671690916816A09144 -:102460006916B0916A16B695A795979587950B97BB -:10247000A105B10509F4EDCD80916716909168161C -:10248000A0916916B0916A164897A105B10540F070 -:10249000C0926716D0926816E0926916F0926A169A -:1024A00040916716509168166091691670916A168E -:1024B00076956795579547958091701690E00396AD -:1024C000242F30E0821793074CF48DEF840F809314 -:1024D000701600935B0CDCEFD40FCFEFCF5FDF5FA4 -:1024E000C43008F480CDDF91CF911F910F91FF9000 -:1024F000EF90DF90CF900895FF920F931F93CF93AB -:10250000DF938091671690916816A0916916B0913B -:102510006A1681309048A105B10540F01092671607 -:10252000109268161092691610926A1680916716BA -:1025300090916816A0916916B0916A16B695A79504 -:10254000979587954091701650E060E070E0841791 -:102550009507A607B70710F480937016D0917016F0 -:102560001091711612FB112710F9C0E0FF24F394AB -:102570008091671690916816A0916916B0916A16BD -:10258000D11135C020915B0C2223C1F0E0917B1367 -:10259000F0E0EE0FFF1FE45EFD4F0190F081E02DB3 -:1025A000E450FF4F6081718123E00297A105B105DE -:1025B00010F443E001C040E28C2F9CDB112309F4AE -:1025C00083C08091671690916816A0916916B091AA -:1025D0006A160297A105B10508F076C08FDC85E187 -:1025E0009DE9DF91CF911F910F91FF90AFCCD1303A -:1025F000A9F520915B0C2223D1F0E0917B13F0E050 -:10260000EE0FFF1FE45EFD4F0190F081E02D62AD03 -:1026100073ADB695A795979587952EE70197A10578 -:10262000B10511F44EE301C040E28C2F63DB1123AE -:1026300009F44AC08091671690916816A0916916B6 -:10264000B0916A16B695A795979587950197A105BC -:10265000B105D1F553DC80E19FEAD0C0D230A1F5BD -:1026600020915B0C2223D1F0E0917B13F0E0EE0F80 -:10267000FF1FE45EFD4F0190F081E02D64AD75AD6C -:10268000B695A795979587952EE70297A105B10571 -:1026900011F44EE301C040E28C2F2CDB1123A1F09A -:1026A0008091671690916816A0916916B0916A168C -:1026B000B695A795979587950297A105B10521F441 -:1026C0001DDC87E19FEA9AC020E030E040E251E45F -:1026D0006091421670914316809144169091451670 -:1026E0000E94DFF687FF94C02091E0168091671664 -:1026F00090916816A0916916B0916A16211138C0A0 -:10270000D330C1F520915B0C2223D1F0E0917B13F3 -:10271000F0E0EE0FFF1FE45EFD4F0190F081E02D31 -:1027200066AD77ADB695A795979587952EE70397F4 -:10273000A105B10511F44EE301C040E28C2FDADAB5 -:10274000112309F461C08091671690916816A091D9 -:102750006916B0916A16B695A795979587950397D0 -:10276000A105B10509F050C0C9DB8EE19FEA46C062 -:1027700003E001C004E00D1348C020915B0C22234C -:1027800019F1E0917B13F0E0EE0FFF1FE45EFD4FC7 -:102790000190F081E02DE05CFF4F0190F081E02D91 -:1027A000B695A79597958795402F50E060E070E02B -:1027B0002EE784179507A607B70711F44EE301C06B -:1027C00040E2BF018C2F96DA1123F9F04091671691 -:1027D000509168166091691670916A1676956795A2 -:1027E00057954795802F90E0A0E0B0E04817590733 -:1027F0006A077B0751F482DB8AE49DEADF91CF917F -:102800001F910F91FF90A7CB04E031E0300F01C082 -:1028100033E0409167165091681660916916709187 -:102820006A167695679557954795832F90E0A0E0B7 -:10283000B0E0481759076A077B0788F0832F90E0BC -:10284000880F991F0197AA2797FDA095BA2F80930B -:10285000671690936816A0936916B0936A16409114 -:102860006716509168166091691670916A16769590 -:102870006795579547958091701690E00396242FA1 -:1028800030E0821793074CF48DEF840F809370161D -:10289000F0925B0CDCEFD40FCFEFCF5FDF5FC43083 -:1028A00008F466CEDF91CF911F910F91FF900895AC -:1028B00080E090E0A0E8BFE3809342169093431637 -:1028C000A0934416B093451617CE80937B1391E0E6 -:1028D00090935E0C682F8EEF9FE00F94DF02809143 -:1028E0004616813019F482E08093461608957F924F -:1028F0008F929F92AF92BF92CF92DF92EF92FF9210 -:102900000F931F93CF93DF93809167169091681672 -:10291000A0916916B0916A1681309048A105B10561 -:1029200040F0109267161092681610926916109275 -:102930006A168091671690916816A0916916B091F9 -:102940006A16B695A795979587954091701650E0B1 -:1029500060E070E084179507A607B70710F480932E -:102960007016E0907016D0907116D2FADD24D0F86F -:10297000F12CCC24C3948091461681113BC0EE20EB -:1029800019F07724739437C080915B0C882301F190 -:10299000E0917B13F0E0EE0FFF1FE45EFD4F01902E -:1029A000F081E02DE450FF4F6081718180916716C6 -:1029B00090916816A0916916B0916A1623E002976B -:1029C000A105B10510F443E001C040E28F2D92D97A -:1029D000DD20B9F28091671690916816A091691672 -:1029E000B0916A160297A105B10558F687DA85E11C -:1029F0009DE951C0712C80914616823009F05AC071 -:102A00007E1057C080915B0C882359F1E0917B13B5 -:102A1000F0E0EE0FFF1FE45EFD4F0190F081E02D2E -:102A2000E055FF4F0190F081E02D80916716909165 -:102A30006816A0916916B0916A16B695A7959795F4 -:102A40008795472D50E060E070E023E084179507FC -:102A5000A607B70711F443E001C040E2BF018F2D84 -:102A600049D9DD2031F18091671690916816A091C7 -:102A70006916B0916A16B695A79597958795472DD3 -:102A800050E060E070E084179507A607B70789F467 -:102A900035DA8AE293ECDF91CF911F910F91FF908D -:102AA000EF90DF90CF90BF90AF909F908F907F90EE -:102AB0004DCA73940CE112E0C0E0D0E08E2C912C52 -:102AC000A12CB12C7E104AC080915B0C882319F197 -:102AD000D801ED91FC91E654FE4F608171818091A7 -:102AE000671690916816A0916916B0916A16B6950E -:102AF000A79597958795272D30E040E050E0821705 -:102B00009307A407B50719F420E24EE302C020E2C0 -:102B100040E28F2DEFD8DD2009F18091671690916A -:102B20006816A0916916B0916A16B695A795979503 -:102B3000879588159905AA05BB0581F4DFD98C2FE7 -:102B4000DF91CF911F910F91FF90EF90DF90CF9089 -:102B5000BF90AF909F908F907F90B7CE7394219647 -:102B60000E5F1F4FC530D10509F0ACCF40916716FD -:102B7000509168166091691670916A1676956795FE -:102B800057954795872D90E0A0E0B0E0481759078A -:102B90006A077B0788F0872D90E0880F991F0197BF -:102BA000AA2797FDA095BA2F809367169093681671 -:102BB000A0936916B0936A164091671650916816F3 -:102BC0006091691670916A16769567955795479545 -:102BD0008091701690E00396242F30E082179307BF -:102BE0005CF48DEF840F80937016C0925B0CECEF59 -:102BF000EE2EE40EFF24FA94F394E394B3E0BF15B1 -:102C000008F0B9CEDF91CF911F910F91FF90EF9017 -:102C1000DF90CF90BF90AF909F908F907F9008955E -:102C20001092E6168EE893E10E94D75D109270161E -:102C300008958EE893E10E94B6541092E01683E066 -:102C400080935B0C08958EE893E10E94BD5481E06F -:102C50008093E01683E080935B0C089520E044E0CD -:102C600064E182E796E10E947F4B0E94DD8D82E75E -:102C700096E10C94404BF2DF20E040E050E0BA01D6 -:102C80008AE293EC4DC9109211111092101110921A -:102C90000F1110920E111092481310924713EBCFA0 -:102CA0008091DE169091DF16909311118093101190 -:102CB0008091DC169091DD1690930F1180930E1188 -:102CC0001092481310924713D6DF0C94574080910E -:102CD000D8169091D916909311118093101180916C -:102CE000D6169091D71690930F1180930E111092D3 -:102CF000481310924713BFDF0C94574080916D0C1E -:102D000090916E0C909311118093101180916B0C27 -:102D100090916C0C90930F1180930E1110924813A8 -:102D200010924713A8DF0C9457408091690C909142 -:102D30006A0C90931111809310118091670C9091FF -:102D4000680C90930F1180930E11109248131092FB -:102D5000471391DF0C9457408091650C9091660C5D -:102D600090931111809310118091630C9091640CD9 -:102D700090930F1180930E111092481310924713E5 -:102D80007ADF0C9457408091610C9091620C909383 -:102D900011118093101180915F0C9091600C9093B1 -:102DA0000F1180930E11109248131092471363DF96 -:102DB0000C945740CF92DF92EF92FF920F931F93A4 -:102DC000CF93DF938091671690916816A091691652 -:102DD000B0916A1681309048A105B10540F010927B -:102DE0006716109268161092691610926A168091F2 -:102DF000671690916816A0916916B0916A16B695FB -:102E0000A795979587954091701650E060E070E027 -:102E100084179507A607B70710F480937016D09112 -:102E200070161091711612FB112710F9C0E0BFE067 -:102E3000CB2ED12CE12CF12C01E040916716509162 -:102E400068166091691670916A16D11139C0809127 -:102E50005B0C8823C9F0E0917B13F0E0EE0FFF1FBD -:102E6000E45EFD4F0190F081E02D8681978123E0A3 -:102E7000423051056105710510F443E001C040E2A4 -:102E8000BC018C2F0E947A8E112309F4A4C1809179 -:102E9000671690916816A0916916B0916A1602970C -:102EA000A105B10508F097C129D88EEB9BEBDF9106 -:102EB000CF911F910F91FF90EF90DF90CF9046C878 -:102EC000D130A9F580915B0C882391F076956795B8 -:102ED0005795479520E2413051056105710511F480 -:102EE0004EE301C040E266E773E58C2F0E947A8EC4 -:102EF000112309F470C18091671690916816A09112 -:102F00006916B0916A16B695A7959795879501971A -:102F1000A105B10509F05FC10E947E8FDF91CF91BD -:102F20001F910F91FF90EF90DF90CF90D0CED230D5 -:102F3000A9F580915B0C882391F07695679557955C -:102F4000479520E2423051056105710511F44EE3C9 -:102F500001C040E267E673E58C2F0E947A8E112350 -:102F600009F439C18091671690916816A09169168D -:102F7000B0916A16B695A795979587950297A10582 -:102F8000B10509F028C10E947E8FDF91CF911F917A -:102F90000F91FF90EF90DF90CF9082CED330A9F5C4 -:102FA00080915B0C882391F07695679557954795AE -:102FB00020E2433051056105710511F44EE301C073 -:102FC00040E268E573E58C2F0E947A8E112309F4A4 -:102FD00002C18091671690916816A0916916B09110 -:102FE0006A16B695A795979587950397A105B1059C -:102FF00009F0F1C00E947E8FDF91CF911F910F9158 -:10300000FF90EF90DF90CF9090CED430A9F58091D3 -:103010005B0C882391F0769567955795479520E24C -:10302000443051056105710511F44EE301C040E2E1 -:1030300068E473E58C2F0E947A8E112309F4CBC0CB -:103040008091671690916816A0916916B0916A16E2 -:10305000B695A795979587950497A105B10509F0B1 -:10306000BAC00E947E8FDF91CF911F910F91FF9088 -:10307000EF90DF90CF9070CED530A9F580915B0CAA -:10308000882391F0769567955795479520E24530CE -:1030900051056105710511F44EE301C040E268E39A -:1030A00073E58C2F0E947A8E112309F494C08091CD -:1030B000671690916816A0916916B0916A16B69538 -:1030C000A795979587950597A105B10509F083C048 -:1030D0000E947E8FDF91CF911F910F91FF90EF9013 -:1030E000DF90CF900BCED630A9F580915B0C882372 -:1030F00091F0769567955795479520E246305105B2 -:103100006105710511F44EE301C040E269E273E527 -:103110008C2F0E947A8E112309F45DC0809167166E -:1031200090916816A0916916B0916A16B695A79508 -:10313000979587950697A105B10509F04CC00E94A7 -:103140007E8FDF91CF911F910F91FF90EF90DF90D5 -:10315000CF9019CED73009F03EC080915B0C882308 -:10316000E9F0E0917B13F0E0EE0FFF1FE45EFD4F0E -:103170000190F081E02D86A597A5769567955795E6 -:10318000479520E2473051056105710511F44EE382 -:1031900001C040E2BC018C2F0E947A8E1123D9F02D -:1031A0008091671690916816A0916916B0916A1681 -:1031B000B695A795979587950797A105B10559F4F9 -:1031C0000E947E8FDF91CF911F910F91FF90EF9022 -:1031D000DF90CF9058CD8091671690916816A0919E -:1031E0006916B0916A164097A105B10540F0C092EA -:1031F0006716D0926816E0926916F0926A164091AE -:103200006716509168166091691670916A167695E6 -:103210006795579547958091701690E00396242FF7 -:1032200030E0821793074CF48DEF840F8093701673 -:1032300000935B0CDCEFD40FCFEFCF5FDF5FC430C8 -:1032400008F4FBCDDF91CF911F910F91FF90EF908C -:10325000DF90CF9008952F923F924F925F926F929E -:103260007F928F929F92AF92BF92CF92DF92EF9216 -:10327000FF920F931F93CF93DF93CDB7DEB7A29743 -:103280000FB6F894DEBF0FBECDBF80915B0C8111ED -:1032900004C08091711682FFBAC28EE893E10E9449 -:1032A000BE5C4091671650916816609169167091E6 -:1032B0006A16413050486105710540F0109267165A -:1032C000109268161092691610926A16409167164D -:1032D000509168166091691670916A167695679597 -:1032E000579547950091701610E020E030E04017A8 -:1032F00051076207730710F44093701640907016E0 -:103300003090711632FA332430F8512C9C01215040 -:10331000310939A328A3411038C080915B0C882360 -:10332000F9F0E0917B13F0E0EE0FFF1FE45EFD4F3C -:103330000190F081E02D66817781809167169091F0 -:103340006816A0916916B0916A1623E00297A1054C -:10335000B10510F443E001C040E2852D0E947A8E51 -:10336000332099F08091671690916816A0916916A4 -:10337000B0916A160297A105B10538F40E947E8FBC -:103380008EEB9BEB0E94A68F42C262E973E18CEF49 -:1033900093E10E948331809192138F3229F031E0C2 -:1033A000431669F022E001C021E0A8A0B9A0C42C16 -:1033B000D12CE12CF12C22242394240C4BC080919D -:1033C0005B0C8823C9F08091671690916816A091D4 -:1033D0006916B0916A16B695A7959795879520E2DC -:1033E0000197A105B10511F44EE301C040E26EE082 -:1033F0007EE0852D0E947A8E3320A1F2809167169F -:1034000090916816A0916916B0916A16B695A79525 -:10341000979587950197A105B10521F60E947E8FAA -:10342000FFDBF5C1241161C140E050E0B5018EE839 -:1034300093E10E94D9589091D41380915B0C992309 -:1034400009F49BC081110BC0311074C0222DF1E032 -:10345000AF1AB1083FEFA316B30621F748C1809118 -:10346000671690916816A0916916B0916A16B69584 -:10347000A79597958795452D60E08C159D05AE0520 -:10348000BF0561F582E796E10E944C4B6EE382E74F -:1034900096E10E9496F565E082E796E10E9496F536 -:1034A00080919F13882329F01092B1130FE913E143 -:1034B00002C002E913E1B2E19B2EF80161918F0194 -:1034C000662311F0911062C1992009F4BDCF60E22A -:1034D00082E796E10E9496F59A94F6CF82E796E10C -:1034E0000E944C4B60E282E796E10E9496F565E00F -:1034F00082E796E10E9496F580919F13882329F038 -:103500001092B1130FE913E102C002E913E1A2E145 -:103510009A2EF80161918F01662311F091103CC140 -:10352000992009F491CF60E282E796E10E9496F536 -:103530009A94F6CF8091671690916816A0916916BB -:10354000B0916A16B695A795979587958C159D05A8 -:10355000AE05BF0509F07ACF0E947E8F62E973E164 -:103560008EE893E10E94215D109267161092681612 -:103570001092691610926A164AC1811103C0311067 -:1035800071C064CF8091671690916816A0916916FA -:10359000B0916A16B695A795979587958C159D0558 -:1035A000AE05BF05B1F52091FA162F8F10E0412F1F -:1035B00060E082E796E10E944C4B60E282E796E190 -:1035C0000E9496F51F5F143091F7452D60E082E769 -:1035D00096E10E944C4B6EE382E796E10E9496F5DD -:1035E00060EA862E63E1962E7FE9672E73E1772EDF -:1035F00001E010E0F30121913F012111D3C014E15A -:10360000101B60E282E796E10E9496F51150C9F71F -:10361000B6CF452D60E082E796E10E944C4B60E218 -:1036200082E796E10E9496F580919F13882329F006 -:103630001092B2130FE913E102C002E913E153E162 -:10364000952EF80161918F01662311F09110D9C078 -:10365000992009F494CF60E282E796E10E9496F502 -:103660009A94F6CF8091671690916816A09169168A -:10367000B0916A16B695A795979587958C159D0577 -:10368000AE05BF0509F0E2CE0E947E8F82E993E18C -:103690009F938F938AE893E59F938F938E010F5F9B -:1036A0001F4F1F930F930F94AE000F900F900F902A -:1036B0000F900F900F907E01F5E0EF0EF11CF701D7 -:1036C0008081882349F0992787FD90950E94E2FF29 -:1036D000F70181937F01F3CFC8010E94706286E8F1 -:1036E00093E50E94F062C7DA92C02F5FB0CE80915E -:1036F000671690916816A0916916B0916A16B695F2 -:10370000A79597958795422F50E060E070E0841769 -:103710009507A607B70788F0822F90E0880F991FBA -:103720000197AA2797FDA095BA2F809367169093CB -:103730006816A0936916B0936A16809167169091E7 -:103740006816A0916916B0916A16B695A7959795D7 -:1037500087952091701630E02D5F3F4F482F50E045 -:103760002417350764F42DEF280F2093701621E0FD -:1037700020935B0C1CEF412E480E55245A94539411 -:10378000439483E0851508F0C6CD41C082E796E1F9 -:103790000E9496F59A9491CE82E796E10E9496F562 -:1037A0009A94B7CE452D602F82E796E12AA30E9416 -:1037B0004C4B2AA1622F82E796E10E9496F50F5F9B -:1037C0001F4F0431110509F015CF34010CE211E04F -:1037D0008091711682FD05C08091FA163F8D3817D1 -:1037E00049F0015011090115110591F78FEF881A61 -:1037F000980AFECE61E070E080E090E00E945BF00D -:10380000F0CF82E796E10E9496F59A941ACFA2969D -:103810000FB6F894DEBF0FBECDBFDF91CF911F91E1 -:103820000F91FF90EF90DF90CF90BF90AF909F905F -:103830008F907F906F905F904F903F902F90089562 -:10384000CF93DF93CDB7DEB728970FB6F894DEBFDE -:103850000FBECDBF88E0E3EDFCE0DE0111960190E4 -:103860000D928A95E1F7AE014F5F5F4F61E082E70D -:1038700096E10E94EA4C28960FB6F894DEBF0FBE80 -:10388000CDBFDF91CF910895CF93DF93CDB7DEB752 -:1038900028970FB6F894DEBF0FBECDBF88E0EBE9E6 -:1038A000FCE0DE01119601900D928A95E1F7AE01E0 -:1038B0004F5F5F4F61E082E796E10E94EA4C2896F5 -:1038C0000FB6F894DEBF0FBECDBFDF91CF91089544 -:1038D0008EEF9FE00F94CA02853028F480937B130B -:1038E00010924616089581E080937B1380934616CC -:1038F00008951F93CF93DF93EC01FB016081118149 -:103900000F94DF02612FCE010196DF91CF911F91BD -:103910000D94DF02FF920F931F93CF93DF938C01DF -:10392000EB010F94CA02F82EC80101960F94CA0247 -:10393000F8828983DF91CF911F910F91FF900895B5 -:103940000895EF92FF920F931F93CF93DF931F92EF -:10395000CDB7DEB77B018C01061B170B460FC701E5 -:10396000800F911FF70161917F0149830F94DF025E -:1039700049814E11F4CF0F90DF91CF911F910F919C -:10398000FF90EF90089581E09091E516911180E00D -:103990008093E51641E065EE76E18FEF9FE0D1DFA1 -:1039A0000E941EDB21E047E050E060E070E085E12E -:1039B0009DE90C94908F81E09091E516911180E043 -:1039C0008093E51641E065EE76E18FEF9FE0B9DF89 -:1039D0000E941EDB21E049E050E060E070E080E3FF -:1039E00099EA0C94908FEF92FF920F931F93CF93CD -:1039F000DF931F92CDB7DEB77B018C01061B170B3F -:103A0000460FC701800F911F49830F94CA02F70127 -:103A100081937F0149814E13F4CF0F90DF91CF91B5 -:103A20001F910F91FF90EF9008958F929F92AF9208 -:103A3000BF92EF92FF920F931F93CF93DF9341E0DA -:103A400065EE76E18FEF9FE0CEDF80916716909173 -:103A50006816A0916916B0916A1681309048A10548 -:103A6000B10540F010926716109268161092691610 -:103A700010926A168091671690916816A091691647 -:103A8000B0916A16B695A79597958795409170164F -:103A900050E060E070E084179507A607B70710F4C0 -:103AA00080937016D09170161091711612FB112729 -:103AB00010F9C0E001E0D11143C080915B0C882374 -:103AC000F9F0E0917B13F0E0EE0FFF1FE45EFD4F95 -:103AD0000190F081E02D6681778180916716909149 -:103AE0006816A0916916B0916A1623E00297A105A5 -:103AF000B10510F443E001C040E28C2F0E947A8EA1 -:103B0000112309F4A2C08091671690916816A091C4 -:103B10006916B0916A160297A105B10508F095C023 -:103B20000E947E8F8EEB9BEBDF91CF911F910F91C7 -:103B3000FF90EF90BF90AF909F908F900C94A68FC6 -:103B4000D13009F042C080915B0C882329F1E091CB -:103B50007B13F0E0EE0FFF1FE45EFD4F0190F0815C -:103B6000E02DE856FF4F608171818091671690913A -:103B70006816A0916916B0916A16B695A7959795A3 -:103B800087952EE70197A105B10511F44EE301C019 -:103B900040E28C2F0E947A8E112309F456C0809146 -:103BA000671690916816A0916916B0916A16B6953D -:103BB000A795979587950197A105B10509F045C08F -:103BC0000E947E8F83E397EAC1C2D230F1F58091E3 -:103BD0005B0C882319F1E0917B13F0E0EE0FFF1FDF -:103BE000E45EFD4F0190F081E02D60AD71AD8091FC -:103BF000671690916816A0916916B0916A16B695ED -:103C0000A795979587952EE70297A105B10511F421 -:103C10004EE301C040E28C2F0E947A8E1123A9F05E -:103C20008091671690916816A0916916B0916A16F6 -:103C3000B695A795979587950297A105B10529F4A3 -:103C40000E947E8F88E594E981C28091E0168111FF -:103C500045C0D33019F034E0F32E42C080915B0CA4 -:103C6000882329F1E0917B13F0E0EE0FFF1FE45E63 -:103C7000FD4F0190F081E02DEA50FF4F608171818E -:103C80008091671690916816A0916916B0916A1696 -:103C9000B695A7959795879520E20397A105B1055D -:103CA00011F44EE301C040E28C2F0E947A8E112362 -:103CB00091F28091671690916816A0916916B09163 -:103CC0006A16B695A795979587950397A105B105AF -:103CD00011F60E947E8F88EA93E551C063E0F62ECC -:103CE0008091E0168111A6C0FD1255C080915B0C39 -:103CF000882351F1E0917B13F0E0EE0FFF1FE45EAB -:103D0000FD4F0190F081E02D0284F385E02D80913C -:103D1000671690916816A0916916B0916A16B695CB -:103D2000A795979587954F2D50E060E070E020E2D1 -:103D300084179507A607B70711F44EE301C040E2C8 -:103D4000BF018C2F0E947A8E112329F18091671672 -:103D500090916816A0916916B0916A16B695A795CC -:103D6000979587954F2D50E060E070E08417950798 -:103D7000A607B70781F40E947E8F84EA93E5DF915E -:103D8000CF911F910F91FF90EF90BF90AF909F90B8 -:103D90008F900C94F062EE24E394EF0CED1248C087 -:103DA00080915B0C882341F1E0917B13F0E0EE0FF2 -:103DB000FF1FE45EFD4F0190F081E02D6485758565 -:103DC0008091671690916816A0916916B0916A1655 -:103DD000B695A795979587958D2E912CA12CB12CF2 -:103DE00020E288159905AA05BB0511F44EE301C030 -:103DF00040E28C2F0E947A8E1123D1F080916716B9 -:103E000090916816A0916916B0916A16B695A7951B -:103E1000979587954E2D50E060E070E084179507E8 -:103E2000A607B70729F40E947E8F80EA93E5A7CF03 -:103E3000F394F3948091E516811113C0FD1267C0CD -:103E400080915B0C8823E9F1E0917B13F0E0EE0FA9 -:103E5000FF1FE45EFD4F0190F081E02DEA5DFE4F13 -:103E600012C0FD1254C080915B0C882351F1E09187 -:103E70007B13F0E0EE0FFF1FE45EFD4F0190F08139 -:103E8000E02DEC5DFE4F0190F081E02D80916716F2 -:103E900090916816A0916916B0916A16B695A7958B -:103EA000979587954F2D50E060E070E020E28417F1 -:103EB0009507A607B70749F140E2BF018C2F0E9482 -:103EC0007A8E112321F18091671690916816A09146 -:103ED0006916B0916A16B695A795979587954F2D57 -:103EE00050E060E070E084179507A607B70779F403 -:103EF0000E947E8FDF91CF911F910F91FF90EF90E5 -:103F0000BF90AF909F908F903ECD4EE3D6CFF3946D -:103F100064EF76E18CEF9FE0FDDC66EF76E18AEFFF -:103F20009FE0F8DC68EF76E188EF9FE0F3DC6091DA -:103F3000F8167091F916882777FD8095982F0E94C2 -:103F400081F72091091D30910A1D40910B1D509160 -:103F50000C1D0E94E6F66093F0167093F1168093A4 -:103F6000F2169093F3168091E01681114FC0FD1266 -:103F70004CC080915B0C882361F1E0917B13F0E0F1 -:103F8000EE0FFF1FE45EFD4F0190F081E02DE25146 -:103F9000FF4F0190F081E02D809167169091681697 -:103FA000A0916916B0916A16B695A79597958795D1 -:103FB0004F2D50E060E070E02EE784179507A607CC -:103FC000B70711F44EE301C040E2BF018C2F0E94FD -:103FD0007A8E1123D1F08091671690916816A09186 -:103FE0006916B0916A16B695A795979587954F2D46 -:103FF00050E060E070E084179507A607B70729F442 -:104000000E947E8F87E59FEAA1C0F394FD124CC009 -:1040100080915B0C882361F1E0917B13F0E0EE0F5F -:10402000FF1FE45EFD4F0190F081E02DE454FE4F50 -:104030000190F081E02D8091671690916816A09113 -:104040006916B0916A16B695A795979587954F2DE5 -:1040500050E060E070E02EE784179507A607B707E9 -:1040600011F44EE301C040E2BF018C2F0E947A8E12 -:104070001123D1F08091671690916816A09169166E -:10408000B0916A16B695A795979587954F2D50E0F4 -:1040900060E070E084179507A607B70729F40E942F -:1040A0007E8F87E794E952C0EE24E394EF0C809171 -:1040B000E01681115AC0ED1255C080915B0C882327 -:1040C00051F1E0917B13F0E0EE0FFF1FE45EFD4F36 -:1040D0000190F081E02DEE50FE4F60817181809162 -:1040E000671690916816A0916916B0916A16B695F8 -:1040F000A795979587958D2E912CA12CB12C2EE705 -:1041000088159905AA05BB0511F44EE301C040E2EC -:104110008C2F0E947A8E112329F1409167165091BD -:1041200068166091691670916A167695679557952D -:1041300047958E2D90E0A0E0B0E0481759076A0738 -:104140007B0781F40E947E8F85E597EBDF91CF910D -:104150001F910F91FF90EF90BF90AF909F908F9025 -:104160000C94AB8F82E0E82EEF0C409167165091D3 -:1041700068166091691670916A16769567955795DD -:1041800047958E2D90E0A0E0B0E0481759076A07E8 -:104190007B0788F08E2D90E0880F991F0197AA2742 -:1041A00097FDA095BA2F8093671690936816A093F9 -:1041B0006916B0936A16409167165091681660911F -:1041C000691670916A16769567955795479580910F -:1041D000701690E00396242F30E0821793074CF47A -:1041E0008DEF840F8093701600935B0CDCEFD40F7F -:1041F000CFEFCF5FDF5FC43008F45DCCDF91CF91AC -:104200001F910F91FF90EF90BF90AF909F908F9074 -:1042100008956FEF8EEF9FE00D94DF02809360169C -:1042200010925F160895EEEBF6E101900020E9F799 -:104230003197EE5BF6411E161F0634F01092D2162F -:1042400082E080935B0C089580E2E431F105B4F7DD -:10425000DF01A254B94E8C933196F7CF2091D3163B -:10426000211108C044E150E0BC018EEB96E10F94AF -:104270009F00D9CF08952091D316211108C044E1A1 -:1042800050E0BC018EEB96E10F941200CCCF089564 -:104290008091E3169091E416019709F050C0809147 -:1042A000E1169091E216892B49F485E090E0909315 -:1042B000E2168093E11681E0809372138091E116FB -:1042C0009091E216019739F49091CD178091CC1717 -:1042D000981709F4A4C08091E1169091E216029714 -:1042E00039F49091CD178091CC17981709F4B6C086 -:1042F0008091E1169091E216039739F49091CD17D1 -:104300008091CC17981709F4C3C08091E116909161 -:10431000E216049739F49091CD178091CC17981735 -:1043200009F4C1C08091E1169091E216059739F425 -:104330009091CD178091CC17981709F4CEC0809139 -:10434000E3169091E416029709F05DC08091E116A2 -:104350009091E216892B49F486E090E09093E21662 -:104360008093E11681E0809372138091E116909121 -:10437000E216019739F49091CD178091CC179817D8 -:1043800009F4CBC08091E1169091E216029739F4BE -:104390009091CD178091CC17981709F4D6C08091D1 -:1043A000E1169091E216039739F49091CD17809120 -:1043B000CC17981709F4F1C08091E1169091E2169C -:1043C000049739F49091CD178091CC17981709F480 -:1043D000EFC08091E1169091E216059739F4909123 -:1043E000CD178091CC17981709F4F5C08091E1168C -:1043F0009091E216069739F49091CD178091CC17E1 -:10440000981709F406C18091E3169091E41603977A -:1044100009F02AC11092E4161092E3160895109242 -:10442000E2161092E1161092E4161092E316E09153 -:104430007B13F0E0EE0FFF1FE45EFD4F0190F08173 -:10444000E02D8081918117DF159A10925013109200 -:10445000721310927113109270133DCFE0917B1381 -:10446000F0E0EE0FFF1FE45EFD4F0190F081E02DC4 -:10447000EA5EFE4F80819181FEDE8DEE92E50E9424 -:10448000F06281E090E09093E2168093E11630CFE5 -:1044900081EE92E50E94F06282E090E09093E21655 -:1044A0008093E11632CFE0917B13F0E0EE0FFF1F17 -:1044B000E45EFD4F0190F081E02DE05EFE4F8081D3 -:1044C0009181D9DE8DED92E50E94F06283E090E06B -:1044D0009093E2168093E11625CFE0917B13F0E0F4 -:1044E000EE0FFF1FE45EFD4F0190F081E02DE85ECE -:1044F000FE4F80819181BFDE159881E08093721319 -:1045000082E090E0909371138093701384E090E0C8 -:104510009093E2168093E11612CF1092E216109259 -:10452000E1161092E4161092E316E0917B13F0E08E -:10453000EE0FFF1FE45EFD4F0190F081E02D8081C2 -:10454000918199DE109272131DCF10920F1110926B -:104550000E1110921111109210111092131110924D -:10456000121110921511109214110E940946E09137 -:104570007B13F0E0EE0FFF1FE45EFD4F0190F08132 -:10458000E02D8081918177DE1092381381E090E0F8 -:104590009093E2168093E11602CF89ED92E50E9496 -:1045A000F06282E090E09093E2168093E11604CFEF -:1045B00085ED92E50E94F06280EC92E50E94F06247 -:1045C0001092601610925F1683E090E09093E216CE -:1045D0008093E116FECEE0917B13F0E0EE0FFF1F1B -:1045E000E45EFD4F0190F081E02DEA53FF4F8081A2 -:1045F000918141DE8CEB92E50E94F0628FEA92E5B8 -:104600000E94F06284E090E09093E2168093E116BD -:10461000EDCEE0917B13F0E0EE0FFF1FE45EFD4F67 -:104620000190F081E02DEA53FF4F8081918123DEDC -:1046300081E08093381310920F1110920E11109296 -:104640001111109210111092131110921211109258 -:104650001511109214110E94094685E090E0909384 -:10466000E2168093E116CFCE089505DE81E08093B7 -:10467000D3160C943B961092D3160895CF92DF92E6 -:10468000EF92FF92CF93CCB1C095CC1FCC27CC1F1B -:104690008091030183FFC260C0906C16D0906D16AC -:1046A000E0906E16F0906F160E942CF0C616D7069A -:1046B000E806F90610F4489B39C0C0937116809142 -:1046C000711681709091711691FD826090916B16B8 -:1046D000891721F18130F1F028F0823089F08330A0 -:1046E000A1F01CC0913021F49091FA169F5F05C093 -:1046F0009230A1F49091FA1691509093FA160EC050 -:10470000992391F3933051F4F5CF923069F39130BE -:1047100029F4F0CF933041F3992361F380936B1622 -:10472000CF91FF90EF90DF90CF900895C460C5CFF8 -:104730000E942E966F98E4E0F1E08081877F80836D -:10474000779A9FB7F894E5E0F1E0808188608083F4 -:104750009FBF5098589A60E088E40E944CEF9FB742 -:10476000F894E5E0F1E08081846080839FBF8091D0 -:10477000030182FB882780F991E0892780936616E0 -:104780007DDF1092FA160895CF92DF92EF92FF929A -:1047900075DF8091030191E082FB882780F98927EA -:1047A00020916616821719F182E080935B0C80914C -:1047B000030182FB882780F98927809366160E946F -:1047C0002E9680916616882309F4A8C08EE893E19E -:1047D0000E94B353E0917B13F0E0EE0FFF1FE45E05 -:1047E000FD4F0190F081E02D8281938144DDC090E6 -:1047F0006216D0906316E0906416F09065160E94E1 -:104800002CF0C616D706E806F90608F09EC080917F -:10481000FA16482F552747FD509557FF03C051956D -:10482000419551094230510584F191E090935B0C20 -:1048300087FD8F5F482F4595552747FD5095652F7C -:10484000752F8091671690916816A0916916B091A6 -:104850006A16840F951FA61FB71F80936716909343 -:104860006816A0936916B0936A161092FA160E9401 -:104870002CF06856754C8F4F9F4F6093361670938F -:10488000371680933816909339168091711682FFEF -:104890000EC00E942CF06856754C8F4F9F4F60934E -:1048A0003616709337168093381690933916E09128 -:1048B0005C0CF0915D0C1995C0903616D0903716AF -:1048C000E0903816F09039160E942CF0C616D706E4 -:1048D000E806F90638F480915C0C90915D0C8A52E0 -:1048E000934C69F580915B0C823011F40E94698FC2 -:1048F00080915B0C882319F0815080935B0C0E949F -:104900002CF06C597F4F8F4F9F4F609362167093BE -:104910006316809364169093651617C08EE893E132 -:104920000E94B254E0917B13F0E0EE0FFF1FE45EB3 -:10493000FD4F0190F081E02D8481958157CF0E9439 -:104940003B9682E080935B0CCDCFFF90EF90DF90A1 -:10495000CF90089581E008958091711682FB882799 -:1049600080F90895FC01808190E02AE030E0B901EF -:104970000E94AAFA482FCB01B9010E94AAFA805DD1 -:1049800080933A16405D40933B1610923C168AE3A2 -:1049900096E1089520E030E040E251E4FC016081BE -:1049A0007181828193810E94B4F90E944EF777FD54 -:1049B00002C02BE201C02DE220933A169B0177FF43 -:1049C00004C022273327261B370BC90168EE73E08A -:1049D0000E94AAFACB01EAE0F0E0BF010E94AAFA25 -:1049E000805D80933B16C90164E670E00E94AAFADC -:1049F000CB01BF010E94AAFA805D80933C16C901D9 -:104A0000BF010E94AAFA282FCB01BF010E94AAFA77 -:104A1000805D80933D168EE280933E16205D20934C -:104A20003F16109240168AE396E108958F929F9266 -:104A3000AF92BF92CF92DF92EF92FF92CF93FC01A1 -:104A4000C080D180E280F38020E030E0A901C7017E -:104A5000B6010E94E2F818161CF4C701B60103C0A3 -:104A6000C701B60190580E944EF76B017C0160317E -:104A7000F7E27F078105910584F020E137E240E00D -:104A800050E00E94DFFACA01B9012AE030E040E0BC -:104A900050E00E94DFFA605D01C060E260933A1668 -:104AA00088EEC81683E0D806E104F10494F0C7014B -:104AB000B60128EE33E040E050E00E94DFFACA0180 -:104AC000B9012AE030E040E050E00E94DFFA605D8A -:104AD00001C060E260933B16E4E6CE16D104E10427 -:104AE000F10494F0C701B60124E630E040E050E064 -:104AF0000E94DFFACA01B9012AE030E040E050E04C -:104B00000E94DFFA605D01C060E360933C168EE2B4 -:104B100080933D167AE0872E912CA12CB12CC701F1 -:104B2000B601A50194010E94DFFAC62FCA01B9019E -:104B3000A50194010E94DFFA605D60933E16C05D9E -:104B4000C0933F168AE396E1CF91FF90EF90DF90FC -:104B5000CF90BF90AF909F908F9008958F929F922B -:104B6000AF92BF92CF92DF92EF92FF92CF9320E06D -:104B700030E04AE754E4FC016081718182819381D5 -:104B80000E94B4F90E944EF797FD02C020E201C0D6 -:104B90002DE220933A166B017C0197FF08C0F09438 -:104BA000E094D094C094C11CD11CE11CF11CC7013D -:104BB000B60128EE33E040E050E00E94DFFAAAE0C0 -:104BC0008A2E912CA12CB12CCA01B901A501940106 -:104BD0000E94DFFA605D60933B168EE280933C1684 -:104BE000C701B60124E630E040E050E00E94DFFA61 -:104BF000CA01B901A50194010E94DFFA605D6093CA -:104C00003D16C701B601A50194010E94DFFAC62F27 -:104C1000CA01B901A50194010E94DFFA605D6093A9 -:104C20003E16C05DC0933F16109240168AE396E18F -:104C3000CF91FF90EF90DF90CF90BF90AF909F907B -:104C40008F9008958F929F92AF92BF92CF92DF92F2 -:104C5000EF92FF92FC0180809180A280B38020E0DF -:104C600030E048EC52E4C501B4010E94B4F96B0194 -:104C70007C0120E030E0A9010E94E2F818161CF443 -:104C8000C701B60103C0C701B60190580E944EF794 -:104C90006B017C0120E030E0A901C501B4010E9454 -:104CA000DFF687FF12C08DE280933A16C701B60186 -:104CB00028EE33E040E050E00E94DFFACA01B9017B -:104CC0002AE030E040E050E036C0C701B60120E104 -:104CD00037E240E050E00E94DFFA8AE0882E912C13 -:104CE000A12CB12CCA01B901A50194010E94DFFADF -:104CF000662391F0605D60933A16C701B60128EE15 -:104D000033E040E050E00E94DFFACA01B901A5019A -:104D100094010E94DFFA13C080E280933A16C70123 -:104D2000B60128EE33E040E050E00E94DFFACA010D -:104D3000B901A50194010E94DFFA662311F0605DBC -:104D400001C060E260933B16C701B60124E630E083 -:104D500040E050E00E94DFFABAE08B2E912CA12CAB -:104D6000B12CCA01B901A50194010E94DFFA605D6E -:104D700060933C16C701B601A50194010E94DFFAB9 -:104D8000662381F0605D60933F16CA01B901A501F9 -:104D900094010E94DFFA605D60933E168EE280937C -:104DA0003D1615C0CA01B901A50194010E94DFFAA0 -:104DB000662329F0605D60933E168EE203C080E2B8 -:104DC00080933E1680933D1680E280933F161092AA -:104DD00040168AE396E1FF90EF90DF90CF90BF906E -:104DE000AF909F908F900895FC012081318137FF13 -:104DF00007C08DE280933A1631952195310914C090 -:104E00002436310574F0C90164E670E00E94AAFA04 -:104E1000CB016AE070E00E94AAFA805D80933A16A6 -:104E200006C080E280933A162A30310564F0EAE049 -:104E3000F0E0C901BF010E94AAFACB01BF010E94A4 -:104E4000AAFA805D01C080E280933B16C9016AE046 -:104E500070E00E94AAFA805D80933C1610923D1685 -:104E60008AE396E10895AF92BF92CF92DF92EF92DC -:104E7000FF920F931F93CF93DF9360911402709171 -:104E8000150280911602909117020E948B4A60933E -:104E90004B1670934C1680934D1690934E1660915E -:104EA00010027091110280911202909113020E94DF -:104EB000974A6093471670934816809349169093CB -:104EC0004A168091671690916816A0916916B09164 -:104ED0006A1681309048A105B10540F0109267161E -:104EE000109268161092691610926A1680916716D1 -:104EF00090916816A0916916B0916A16B695A7951B -:104F0000979587954091701650E060E070E08417A7 -:104F10009507A607B70710F48093701600917016D6 -:104F2000B0907116B2FABB24B0F810E0E7E0CE2ED4 -:104F3000D12CE12CF12CAA24A39480916716909196 -:104F40006816A0916916B0916A1601113DC02091B2 -:104F50005B0C2223C9F0E0917B13F0E0EE0FFF1F02 -:104F6000E45EFD4F0190F081E02DE450FF4F608141 -:104F7000718123E00297A105B10510F443E001C05F -:104F800040E2812F0E947A8EBB2009F427C18091D4 -:104F9000671690916816A0916916B0916A160297EB -:104FA000A105B10508F01AC10E947E8F85E19DE937 -:104FB000DF91CF911F910F91FF90EF90DF90CF90F5 -:104FC000BF90AF900C94A68F013009F052C0209191 -:104FD0005B0C222329F1E0917B13F0E0EE0FFF1F21 -:104FE000E45EFD4F0190F081E02DE25BFF4FC08158 -:104FF000D181B695A795979587950197A105B1059C -:1050000031F480E191E1F0DE9C014EE305C080E1E6 -:1050100091E1EADE9C0140E2BE01812F0E94278FD0 -:10502000BB2009F4DBC08091671690916816A091AF -:105030006916B0916A16B695A795979587950197C9 -:10504000A105B10509F0CAC00E947E8FE0917B13D3 -:10505000F0E0EE0FFF1FE45EFD4F0190F081E02DC8 -:10506000E25BFF4F2CE231E040E050E060E171E1B3 -:10507000A7C0023009F052C020915B0C222329F115 -:10508000E0917B13F0E0EE0FFF1FE45EFD4F019017 -:10509000F081E02DEC5AFF4FC081D181B695A795E4 -:1050A000979587950297A105B10531F48EE091E1BE -:1050B0009BDE9C014EE305C08EE091E195DE9C01F4 -:1050C00040E2BE01812F0E94278FBB2009F486C0D9 -:1050D0008091671690916816A0916916B0916A1632 -:1050E000B695A795979587950297A105B10509F003 -:1050F00075C00E947E8FE0917B13F0E0EE0FFF1FE2 -:10510000E45EFD4F0190F081E02DEC5AFF4F23E962 -:1051100030E040E050E06EE071E152C0033009F051 -:105120005DC020915B0C222329F1E0917B13F0E01C -:10513000EE0FFF1FE45EFD4F0190F081E02DEA5A73 -:10514000FF4FC081D181B695A79597958795039715 -:10515000A105B10531F487E493E146DE9C014EE3FD -:1051600005C087E493E140DE9C0140E2BE01812F4F -:105170000E94278FBB2091F180916716909168164D -:10518000A0916916B0916A16B695A79597958795DF -:105190000397A105B10511F50E947E8FE0917B1365 -:1051A000F0E0EE0FFF1FE45EFD4F0190F081E02D77 -:1051B000EA5AFF4F2FEF30E040E050E067E473E140 -:1051C00080819181DF91CF911F910F91FF90EF909E -:1051D000DF90CF90BF90AF900C948B8D809167162D -:1051E00090916816A0916916B0916A160897A1056A -:1051F000B10540F0C0926716D0926816E092691629 -:10520000F0926A164091671650916816609169167F -:1052100070916A16769567955795479580917016A7 -:1052200090E00396242F30E0821793074CF48DEF23 -:10523000840F80937016A0925B0C0CEF040F1FEF8D -:105240001F5F0F5F143008F478CEDF91CF911F916C -:105250000F91FF90EF90DF90CF90BF90AF900895A7 -:10526000AF92BF92CF92DF92EF92FF920F931F9374 -:10527000CF93DF9341E065EE76E18FEF9FE00E94F0 -:10528000F39C8091671690916816A0916916B09171 -:105290006A1681309048A105B10540F0109267165A -:1052A000109268161092691610926A16809167160D -:1052B00090916816A0916916B0916A16B695A79557 -:1052C000979587954091701650E060E070E08417E4 -:1052D0009507A607B70710F4809370160091701613 -:1052E000B0907116B2FABB24B0F810E04FE0C42EB3 -:1052F000D12CE12CF12CAA24A394809167169091D3 -:105300006816A0916916B0916A1601113BC02091F0 -:105310005B0C2223B9F0E0917B13F0E0EE0FFF1F4E -:10532000E45EFD4F0190F081E02D6681778123E0FE -:105330000297A105B10510F443E001C040E2812FBE -:105340000E947A8EBB2009F419C280916716909151 -:105350006816A0916916B0916A160297A105B10569 -:1053600008F00CC20E947E8F8EEB9BEBDF91CF91F9 -:105370001F910F91FF90EF90DF90CF90BF90AF9073 -:105380000C94A68F013009F052C020915B0C2223AF -:1053900029F1E0917B13F0E0EE0FFF1FE45EFD4F7B -:1053A0000190F081E02DE45BFF4FC081D181B69583 -:1053B000A795979587950197A105B10531F489E4E3 -:1053C0009CE012DD9C014EE305C089E49CE00CDD0D -:1053D0009C0140E2BE01812F0E94278FBB2009F46F -:1053E000CDC18091671690916816A0916916B09111 -:1053F0006A16B695A795979587950197A105B1056A -:1054000009F0BCC10E947E8FE0917B13F0E0EE0FAB -:10541000FF1FE45EFD4F0190F081E02DE45BFF4F44 -:1054200027EE33E04AE050E069E47CE054C002300B -:1054300009F05FC020915B0C222329F1E0917B13DE -:10544000F0E0EE0FFF1FE45EFD4F0190F081E02DD4 -:10545000E25BFF4FC081D181B695A795979587955F -:105460000297A105B10531F480E191E1BDDC9C0119 -:105470004EE305C080E191E1B7DC9C0140E2BE0152 -:10548000812F0E94278FBB2009F478C18091671675 -:1054900090916816A0916916B0916A16B695A79575 -:1054A000979587950297A105B10509F067C10E94FC -:1054B0007E8FE0917B13F0E0EE0FFF1FE45EFD4F67 -:1054C0000190F081E02DE25BFF4F2CE231E040E003 -:1054D00050E060E171E180819181DF91CF911F9176 -:1054E0000F91FF90EF90DF90CF90BF90AF900C9412 -:1054F0008B8D033009F052C020915B0C222329F1DF -:10550000E0917B13F0E0EE0FFF1FE45EFD4F019092 -:10551000F081E02DEC5AFF4FC081D181B695A7955F -:10552000979587950397A105B10531F48EE091E138 -:105530005BDC9C014EE305C08EE091E155DC9C01F3 -:1055400040E2BE01812F0E94278FBB2009F416C1C3 -:105550008091671690916816A0916916B0916A16AD -:10556000B695A795979587950397A105B10509F07D -:1055700005C10E947E8FE0917B13F0E0EE0FFF1FCC -:10558000E45EFD4F0190F081E02DEC5AFF4F2CE8D6 -:1055900030E040E050E06EE071E19DCF043009F072 -:1055A00052C020915B0C222329F1E0917B13F0E0A3 -:1055B000EE0FFF1FE45EFD4F0190F081E02DEA5AEF -:1055C000FF4FC081D181B695A79597958795049790 -:1055D000A105B10531F487E493E106DC9C014EE3BB -:1055E00005C087E493E100DC9C0140E2BE01812F0D -:1055F0000E94278FBB2009F4C1C08091671690914B -:105600006816A0916916B0916A16B695A7959795F8 -:1056100087950497A105B10509F0B0C00E947E8F5F -:10562000E0917B13F0E0EE0FFF1FE45EFD4F019071 -:10563000F081E02DEA5AFF4F2FEF30E040E050E0DC -:1056400067E473E148CF053009F052C020915B0C4C -:10565000222329F1E0917B13F0E0EE0FFF1FE45EBF -:10566000FD4F0190F081E02DE85AFF4FC081D181BC -:10567000B695A795979587950597A105B10531F43E -:1056800087E49CE0B1DB9C014EE305C087E49CE02D -:10569000ABDB9C0140E2BE01812F0E94278FBB2023 -:1056A00009F46CC08091671690916816A0916916F4 -:1056B000B0916A16B695A795979587950597A10518 -:1056C000B10509F05BC00E947E8FE0917B13F0E092 -:1056D000EE0FFF1FE45EFD4F0190F081E02DE85AD0 -:1056E000FF4F27EE33E04AE050E067E47CE0F3CE82 -:1056F000063009F043C020915B0C2223E9F0E091D1 -:105700007B13F0E0EE0FFF1FE45EFD4F0190F08190 -:10571000E02DE252FF4F60817181B695A795979574 -:10572000879520E20697A105B10511F44EE301C06B -:1057300040E2812F0E947A8EBB2001F18091671692 -:1057400090916816A0916916B0916A16B695A795C2 -:10575000979587950697A105B10581F40E947E8FE4 -:1057600084E293E5DF91CF911F910F91FF90EF902D -:10577000DF90CF90BF90AF900C94F0622091E5162F -:105780008091671690916816A0916916B0916A167B -:10579000211114C0073009F055C020915B0C222361 -:1057A00079F1E0917B13F0E0EE0FFF1FE45EFD4F17 -:1057B0000190F081E02DEA5DFE4F13C0073009F043 -:1057C00041C020915B0C2223D9F0E0917B13F0E0E3 -:1057D000EE0FFF1FE45EFD4F0190F081E02DEC5DC8 -:1057E000FE4F60817181B695A7959795879520E2C8 -:1057F0000797A105B10521F140E2812F0E947A8E21 -:10580000BB2001F18091671690916816A0916916EE -:10581000B0916A16B695A795979587950797A105B4 -:10582000B10581F40E947E8FDF91CF911F910F917E -:10583000FF90EF90DF90CF90BF90AF900C94DB9CE7 -:105840004EE3DBCF8091671690916816A0916916A0 -:10585000B0916A164097A105B10540F0C092671655 -:10586000D0926816E0926916F0926A1680916716D7 -:1058700090916816A0916916B0916A16B695A79591 -:10588000979587952091701630E02D5F3F4F482FF8 -:1058900050E0241735074CF42DEF280F2093701695 -:1058A000A0925B0C0CEF080F1FEF1F5F0F5F14300F -:1058B00008F423CDDF91CF911F910F91FF90EF90CE -:1058C000DF90CF90BF90AF900895FC0180819181CF -:1058D0008436910524F164E670E00E94AAFACB01B7 -:1058E0002AE030E0B9010E94AAFA805D80933A165E -:1058F00080819181B9010E94AAFACB01B9010E946D -:10590000AAFA805D80933B1680819181B9010E9443 -:10591000AAFA805D80933C1610923D1623C08A300F -:105920009105BCF02AE030E0B9010E94AAFACB014F -:10593000B9010E94AAFA805D80933A168081918114 -:10594000B9010E94AAFA805D80933B1610923C1622 -:1059500009C06AE070E00E94AAFA805D80933A165E -:1059600010923B168AE396E10895FC0180819181B3 -:10597000883E23E092075CF068EE73E00E94AAFA8A -:10598000CB016AE070E00E94AAFA805D01C080E26B -:1059900080933A1680819181843691055CF064E6AB -:1059A00070E00E94AAFACB016AE070E00E94AAFAB5 -:1059B000805D01C080E280933B16808191818A30B6 -:1059C00091055CF02AE030E0B9010E94AAFACB010F -:1059D000B9010E94AAFA805D01C080E280933C1662 -:1059E000808191816AE070E00E94AAFA805D8093D4 -:1059F0003D1610923E168AE396E10895CF92EF92FB -:105A00000F93FFE1CF2EA0E2EA2E0FE02EE045E05B -:105A100066E282E796E10E94374C0F91EF90CF90BB -:105A20000895CF93DF93FC016491EC0121966623E6 -:105A300031F082E796E10E94244DCE01F4CFDF9150 -:105A4000CF9108950F931F93CF93DF938C01EB01B8 -:105A500041E061E082E796E10E944C4BC801E1DF42 -:105A60006AE382E796E10E9496F5FE01019000202C -:105A7000E9F76C2F6E1B6C5E41E082E796E10E94B5 -:105A80004C4BBE0182E796E1DF91CF911F910F91C0 -:105A90000C9495F5CF92DF92EF92FF920F931F93A4 -:105AA0008091671690916816A0916916B0916A1658 -:105AB0000097A105B10509F442C0BC01882777FD14 -:105AC0008095982F0E9481F72091421630914316BD -:105AD00040914416509145160E94B4F99B01AC01C7 -:105AE0006091691370916A1380916B1390916C139C -:105AF0000E9406F66093691370936A1380936B1388 -:105B000090936C1310926716109268161092691693 -:105B100010926A16B9E4CB2EB3E1DB2EE12CF12C06 -:105B200000E81FE329E633E145E653E161E673E16E -:105B30008DE593E10E9457E181E080935B0C8091B9 -:105B40005B0C882341F089E693E10E94CAA4BC0162 -:105B500087E993E577DF8091711682FF0EC021E01F -:105B600040E050E0BA018CE792E91F910F91FF905D -:105B7000EF90DF90CF900C94908F1F910F91FF903A -:105B8000EF90DF90CF900895CF93DF931F921F92F5 -:105B9000CDB7DEB78091671690916816A09169160F -:105BA000B0916A16B7FF08C0109267161092681677 -:105BB0001092691610926A1680914F1690915016A5 -:105BC000A0915116B09152164091671650916816E7 -:105BD0006091691670916A1684179507A607B70732 -:105BE00044F48093671690936816A0936916B09357 -:105BF0006A1680915B0C8823A9F0809153169091CE -:105C000054162091671630916816820F931F9A835D -:105C10008983CE010196E8D8BC01809159169091F4 -:105C20005A1610DF8091711682FF1DC0E091571641 -:105C3000F091581680915316909154162091671642 -:105C400030916816820F931F9183808340915B1679 -:105C500050915C1660E070E021E080915D169091BB -:105C60005E160E94908F0F900F90DF91CF91089554 -:105C70004F925F926F927F928F929F92AF92BF925C -:105C8000CF92DF92EF92FF920F931F93CF93DF9308 -:105C90004C015B017A018091671690916816A09182 -:105CA0006916B0916A16892B8A2B8B2B09F47BC05D -:105CB0000E948B65E501CC0FDD1FCC0FDD1F8E012F -:105CC000035A1C4E6091671670916816882777FDFD -:105CD0008095982F0E9481F72091421630914316AB -:105CE00040914416509145160E94B4F9F801208164 -:105CF0003181428153810E9406F62B013C0120E054 -:105D000030E0A9010E94DFF6F80187FD05C040825E -:105D100051826282738204C01082118212821382C5 -:105D2000B701882777FD8095982F0E9481F76B0136 -:105D30007C018E01035A1C4E9B01AC01F80160816D -:105D40007181828193810E94E2F818162CF4F80187 -:105D5000C082D182E282F382109267161092681696 -:105D60001092691610926A16CE57D14F20E030E09B -:105D700040E752E4688179818A819B810E94E6F63E -:105D800039E4C32E33E1D32E7B018C0129E633E1C4 -:105D900045E653E161E673E18DE593E10E9457E149 -:105DA00081E080935B0C80915B0C882361F0C501DE -:105DB000880F991F880F991F835A9C4E0E94CAA46E -:105DC000BC01C4013FDE8091711682FF18C021E042 -:105DD00040E050E0BA018CE792E9DF91CF911F914A -:105DE0000F91FF90EF90DF90CF90BF90AF909F907A -:105DF0008F907F906F905F904F900C94908FDF9179 -:105E0000CF911F910F91FF90EF90DF90CF90BF90B7 -:105E1000AF909F908F907F906F905F904F9008957C -:105E200046ED50E060E070E081E993E521CF46EC7B -:105E300050E061E070E083E993E51ACF49EC50E06F -:105E400062E070E085E993E513CF0F931F93CF9342 -:105E5000DF938C01EB0141E060E082E796E10E9474 -:105E60004C4BC801DEDD6AE382E796E10E9496F5BD -:105E7000FE0101900020E9F7BE016E1B7F0B6B5EF7 -:105E80007F4F7695679543E082E796E10E944C4B01 -:105E9000BE0182E796E10E9495F564E17EE082E72B -:105EA00096E1DF91CF911F910F910C9495F5CF93CF -:105EB000DF93E0917B13F0E0EE0FFF1FE45EFD4FF8 -:105EC0000190F081E02DEA54FE4FC081D181809194 -:105ED000671690916816A0916916B0916A1600979E -:105EE000A105B105F1F12091FF1030910011280FAB -:105EF000391F309300112093FF102091F816309134 -:105F0000F916280F391F3093F9162093F816B901A6 -:105F1000882777FD8095982F0E9481F72091091D91 -:105F200030910A1D40910B1D50910C1D0E94E6F608 -:105F30006093F0167093F1168093F2169093F31617 -:105F400062E370E080E090E00E945BF010926716E0 -:105F5000109268161092691610926A1681E080936A -:105F60005B0C80915B0C882339F080EF96E10E94F6 -:105F7000AEA5BC01CE0169DF8091711682FF08C019 -:105F800021E040E050E0BA018EEB9BEB0E94908F45 -:105F900064EF76E18CEF9FE00E94799C66EF76E1FA -:105FA0008AEF9FE00E94799C68EF76E188EF9FE09E -:105FB000DF91CF910C94799C4F925F926F927F9278 -:105FC0008F929F92AF92BF92CF92DF92EF92FF9209 -:105FD0000F931F93CF93DF93CDB7DEB72C970FB6F8 -:105FE000F894DEBF0FBECDBF80919013882309F4D3 -:105FF000F8C0C0907713D0907813E0907913F090A8 -:106000007A13C701B60120EA36E841E050E00E9469 -:10601000BDFA29873A874B875C873E832D830E9490 -:106020002CF000916B1110916C1120916D11309139 -:106030006E11601B710B820B930B28EE33E040E076 -:1060400050E00E94BDFA29013A01C90160E17EE0F9 -:106050000E94AAFA8B0124EC2603C001279F900D11 -:106060001124840D951D6CE370E00E94AAFA4B0187 -:1060700026035001279FB00C112420EF31EF029F1F -:10608000C001039F900D129F900D1124A80EB91E00 -:10609000A40CB51C40E060E082E796E10E944C4B06 -:1060A000E0917B13F0E0EE0FFF1FE45EFD4F0190E7 -:1060B000F081E02DE252FE4F80819181B2DC41E01F -:1060C00066E082E796E10E944C4BCE0105960E9465 -:1060D000F4A6BC0182E796E10E9495F568E17EE0B6 -:1060E00082E796E10E9495F5A985BA8520E639E711 -:1060F0004EEF5FEF0E9411FB6C0D7D1D8E1D9F1DED -:106100002AE030E040E050E00E94BDFAB901882763 -:1061100077FD8095982F0E9481F769837A838B831E -:106120009C83CE0101960E9416A5BC0182E796E1F0 -:106130000E9495F56BE17EE082E796E10E9495F57D -:1061400042E060E082E796E10E944C4BE0917B13D5 -:10615000F0E0EE0FFF1FE45EFD4F0190F081E02DB7 -:10616000E052FE4F808191815CDC43E068E082E791 -:1061700096E10E944C4B0983CE0101960E94B2A485 -:10618000BC0182E796E10E9495F56EE17EE082E730 -:1061900096E10E9495F58982CE0101960E94B2A4F3 -:1061A000BC0182E796E10E9495F568E17EE082E716 -:1061B00096E10E9495F5A982CE0101960E94B2A4B3 -:1061C000BC0182E796E10E9495F561E27EE082E7FC -:1061D00096E10E9495F50E94ACA4882309F478C149 -:1061E00073C181EF9FE00F94D2026B017C018DEEB1 -:1061F0009FE00F94D2024B015C01C701B6010E94DF -:106200007FF769837A838B839C8320EAC21626E812 -:10621000D20621E0E206F10450F0C701B60120EAFF -:1062200036E841E050E00E94BDFAD90102C0A0E08A -:10623000B0E0B887AF831A161B0684F420E639E76E -:106240004EEF5FEF0E9411FB6C0D7D1D8E1D9F1D9B -:106250000E947FF769837A838B839C83C501B40195 -:1062600020EA35E040E050E00E94BDFAE22E022F25 -:1062700010E020EA35E0029FC001039F900D129FBD -:10628000900D1124AA2797FDA095BA2FA50194017E -:10629000281B390B4A0B5B0BCA01B9012CE330E018 -:1062A00040E050E00E94BDFAF22E30E6E39E800C02 -:1062B00011244CE3F49E801811240E94698F40E061 -:1062C00060E082E796E10E944C4BE0917B13F0E0A6 -:1062D000EE0FFF1FE45EFD4F0190F081E02DE652CE -:1062E000FE4F808191819DDBCE0101960E9416A513 -:1062F000FC0101900020E9F7682F6E1B6E5E41E003 -:1063000082E796E10E944C4BCE0101960E9416A5B1 -:10631000BC0182E796E10E9495F58F819885181659 -:10632000190674F5CE0101960E9416A5FC01019094 -:106330000020E9F7682F6E1B615F41E082E796E17C -:106340000E944C4B63E27EE082E796E10E9495F565 -:10635000CE0101960E9416A5FC0101900020E9F7EC -:10636000682F6E1B665F41E082E796E10E944C4B0E -:10637000CE010796FADABC0182E796E10E9495F514 -:1063800041E062E182E796E10E944C4B6CE17EE0E5 -:1063900082E796E10E9495F542E060E082E796E1AF -:1063A0000E944C4BE0917B13F0E0EE0FFF1FE45E88 -:1063B000FD4F0190F081E02DE452FE4F80819181EC -:1063C00030DB43E062E182E796E10E944C4B6CE1F6 -:1063D0007EE082E796E10E9495F543E06EE082E779 -:1063E00096E10E944C4B882D90E09E838D83CE01D8 -:1063F00005960E94F4A6BC0182E796E10E9495F5FD -:1064000043E06EE082E796E10E944C4B6BEC7DE04E -:1064100082E796E10E9495F543E06CE082E796E121 -:106420000E944C4B66E27EE082E796E10E9495F581 -:1064300043E069E082E796E10E944C4B8F2D90E0AB -:106440009E838D83CE0105960E94F4A6BC0182E74F -:1064500096E10E9495F543E069E082E796E10E94AB -:106460004C4B6BEC7DE082E796E10E9495F543E0B2 -:1064700067E082E796E10E944C4B6CE47EE082E7A5 -:1064800096E10E9495F543E064E082E796E10E9480 -:106490004C4B1E830D83CE0105960E94F4A6BC01D1 -:1064A00082E796E10E9495F50E94ACA481110CC090 -:1064B0000E94094681E00E94B57064E670E080E0C9 -:1064C00090E00E945BF0F0CF0E947E8F0E943B968E -:1064D0002C960FB6F894DEBF0FBECDBFDF91CF91E3 -:1064E0001F910F91FF90EF90DF90CF90BF90AF90F2 -:1064F0009F908F907F906F905F904F900895EF9254 -:10650000FF920F931F93CF93DF93EC018B017A01DE -:106510000E946D8F109211111092101110920F1194 -:1065200010920E110E94094680E00E94B5700E94F0 -:10653000698F40E060E082E796E10E944C4BE09179 -:106540007B13F0E0EE0FFF1FE45EFD4F0190F08142 -:10655000E02DEC53FE4F8081918163DA41E060E0F1 -:1065600082E796E10E944C4BE0917B13F0E0EE0F46 -:10657000FF1FE45EFD4F0190F081E02DEA53FE4FD6 -:10658000808191814EDAC330D10509F48FC07CF54A -:10659000C130D10509F45FC0229709F0FAC042E08A -:1065A00060E082E796E10E944C4BE0917B13F0E0C3 -:1065B000EE0FFF1FE45EFD4F0190F081E02DE453EC -:1065C000FE4F808191812DDA43E060E082E796E121 -:1065D0000E944C4BE0917B13F0E0EE0FFF1FE45E56 -:1065E000FD4F0190F081E02DE253FE4F5BC0C430BF -:1065F000D10509F488C0259709F0CBC042E060E0DE -:1066000082E796E10E944C4BE0917B13F0E0EE0FA5 -:10661000FF1FE45EFD4F0190F081E02DEA52FE4F36 -:1066200080819181FED943E060E082E796E10E949B -:106630004C4BE0917B13F0E0EE0FFF1FE45EFD4F4B -:106640000190F081E02DEE52FE4F80819181E9D9D9 -:1066500043E062E195C042E060E082E796E10E949B -:106660004C4BE0917B13F0E0EE0FFF1FE45EFD4F1B -:106670000190F081E02DE653FE4F80819181D1D9C8 -:1066800043E060E082E796E10E944C4BE0917B138F -:10669000F0E0EE0FFF1FE45EFD4F0190F081E02D72 -:1066A000E853FE4F80819181BCD973C042E060E025 -:1066B00082E796E10E944C4BE0917B13F0E0EE0FF5 -:1066C000FF1FE45EFD4F0190F081E02DE053FE4F8F -:1066D00080819181A6D943E060E082E796E10E9443 -:1066E0004C4BE0917B13F0E0EE0FFF1FE45EFD4F9B -:1066F0000190F081E02DE253FE4F8081918191D98C -:1067000043E061E13DC042E060E082E796E10E9443 -:106710004C4BE0917B13F0E0EE0FFF1FE45EFD4F6A -:106720000190F081E02DEE52FE4F8081918179D968 -:1067300042E062E182E796E10E944C4BB80182E7B9 -:1067400096E10E9495F543E060E082E796E10E94C1 -:106750004C4BE0917B13F0E0EE0FFF1FE45EFD4F2A -:106760000190F081E02DEC52FE4F8081918159D94A -:1067700043E062E182E796E10E944C4BB70105C01D -:1067800082E796E10E944C4BB80182E796E10E94B5 -:1067900095F568EE73E080E090E00E945BF00E9467 -:1067A0006D8F64E670E080E090E00E945BF00E94F4 -:1067B000094680E00E94B5700E94ACA4882389F34A -:1067C000E0917B13F0E0EE0FFF1FE45EFD4F0190C0 -:1067D000F081E02DEC50FE4F808191810E9435A325 -:1067E000DF91CF911F910F91FF90EF900C943B960A -:1067F0006F927F928F929F92AF92BF92CF92DF92D1 -:10680000EF92FF920F931F93CF93DF931F92CDB719 -:10681000DEB73C016B017A01580129830E942CF0FC -:10682000605C7D4B8F4F9F4F609362167093631631 -:1068300080936416909365162981EC14FD042CF462 -:106840009DE3892E9EE0992E04C088E2882E8EE07A -:10685000982E21110E94698F40E060E082E796E166 -:106860000E944C4B8FEF6816780669F4E0917B1319 -:10687000F0E0EE0FFF1FE45EFD4F0190F081E02D90 -:10688000EE51FE4F0FC06114710481F4E0917B134F -:10689000F0E0EE0FFF1FE45EFD4F0190F081E02D70 -:1068A000EC51FE4F80819181BCD839C0E1E06E1679 -:1068B000710481F4E0917B13F0E0EE0FFF1FE45EC2 -:1068C000FD4F0190F081E02DEA51FE4F80819181D2 -:1068D000A8D836C0F2E06F16710481F4E0917B1302 -:1068E000F0E0EE0FFF1FE45EFD4F0190F081E02D20 -:1068F000E851FE4F8081918194D844C083E06816AE -:10690000710469F4E0917B13F0E0EE0FFF1FE45E89 -:10691000FD4F0190F081E02DE651FE4F43C0E4E0D1 -:106920006E16710469F4E0917B13F0E0EE0FFF1F27 -:10693000E45EFD4F0190F081E02DE451FE4F32C046 -:10694000F5E06F16710469F4E0917B13F0E0EE0F4F -:10695000FF1FE45EFD4F0190F081E02DE251FE4FFC -:1069600021C086E06816710469F4E0917B13F0E0C1 -:10697000EE0FFF1FE45EFD4F0190F081E02DE0512E -:10698000FE4F10C0E7E06E16710479F4E0917B13BE -:10699000F0E0EE0FFF1FE45EFD4F0190F081E02D6F -:1069A000EC50FE4F808191813CD841E060E082E76D -:1069B00096E10E944C4B6AE27EE082E796E10E94FB -:1069C00095F5F1E06F16710431F01614170434F0E8 -:1069D00040E050E005C041E050E002C042E050E03D -:1069E00084012FE33EE069E070E083E090E00E94E4 -:1069F000B18E82E06816710439F0E2E06E1671041F -:106A000034F440E050E005C041E050E002C042E014 -:106A100050E0840126E43EE062E070E082E090E035 -:106A20000E94B18EF3E06F16710439F083E06816AE -:106A3000710434F440E050E005C041E050E002C091 -:106A400042E050E0840128E43EE068E070E082E04B -:106A500090E00E94B18EE4E06E16710439F0F4E02B -:106A60006F16710434F440E050E005C041E050E09E -:106A700002C042E050E084012CE73EE06EE070E0AE -:106A800082E090E00E94B18E85E06816710439F0D2 -:106A9000E5E06E16710434F440E050E005C041E0DA -:106AA00050E002C042E050E084012AE43EE060E0B1 -:106AB00070E083E090E00E94B18E1A141B043CF455 -:106AC000B501882777FD8095982F0E945BF0FFEF36 -:106AD000CF1ADF0AEE0CFF1CEC14FD041CF480E05E -:106AE00090E001C0C6010F90DF91CF911F910F91EF -:106AF000FF90EF90DF90CF90BF90AF909F908F90DE -:106B00007F906F9008952F923F924F925F926F9275 -:106B10007F928F929F92AF92BF92CF92DF92EF922D -:106B2000FF920F931F93CF93DF93CDB7DEB72997D3 -:106B30000FB6F894DEBF0FBECDBF998788879B0143 -:106B4000CB016AE070E00E94AAFA4B01820E931E0C -:106B5000412C512CA12CB12C612C712C1C821B823C -:106B6000312C88859985880F991F880F991F835A22 -:106B70009C4E9A83898322242394E885F985329652 -:106B8000FE83ED83888599850297B9F420E030E093 -:106B900040E85FE36091651370916613809167131D -:106BA000909168130E9405F66093651370936613C5 -:106BB000809367139093681312C020E030E040E4A4 -:106BC00050E4E981FA8160817181828193810E9420 -:106BD00005F6E981FA816083718382839383E9E416 -:106BE000CE2EE3E1DE2EE12CF12C08E412E429E6BE -:106BF00033E145E653E161E673E18DE593E10E94FF -:106C000057E10E94C4D91E9906C01D9904C01C9961 -:106C100002C030E012C088859985892B09F094C0A4 -:106C200033B036FA332430F81D9B8AC0AA24A394CB -:106C3000B12C179A10924E1331E0F6E04F16510422 -:106C400024F48FEF481A580A10C000E010E020E04A -:106C500043E050E06B817C818D819E813F83C8DD64 -:106C60009C838B83412C512C3F813F830E9409469A -:106C700080E00E94B57064E670E080E090E00E94E1 -:106C80005BF03F818614970434F09FEF691A790A0C -:106C9000332309F477CF08851985000F111F000FE2 -:106CA000111F035A1C4E20E030E040E751E4F80188 -:106CB00060817181828193810E9406F6F801608370 -:106CC00071838283938339E4C32E33E1D32EE12C85 -:106CD000F12C08E412E429E633E145E653E161E6EC -:106CE00073E18DE593E10E9457E1311058C088852A -:106CF00099858130910529F0029731F066E47EE0B4 -:106D000005C068E47EE002C06CE77EE091E0A91671 -:106D1000B10439F0E2E0AE16B10431F046E45EE0D1 -:106D200005C048E45EE002C04CE75EE06814790408 -:106D30001CF085E090E002C084E090E0E0DB2FC032 -:106D400062E0A62EB12C75CF88859985019781F4D4 -:106D500033B035FA332430F81E9B03C0A12CB12C7C -:106D600003C052E0A52EB12C169A10924F1364CF97 -:106D7000E885F985329709F05FCF33B034FA3324D0 -:106D800030F883B18295869586958370822580FB45 -:106D9000AA24A0F8B12C159A109250134DCF832D30 -:106DA00029960FB6F894DEBF0FBECDBFDF91CF910D -:106DB0001F910F91FF90EF90DF90CF90BF90AF9019 -:106DC0009F908F907F906F905F904F903F902F900B -:106DD0000895AF92BF92DF92EF92FF920F931F93AD -:106DE000CF93DF931F921F92CDB7DEB7D82E8111BC -:106DF00006C01EE1E12EF12C24E630E005C0B8E724 -:106E0000EB2EF12C20E030E0309311112093101183 -:106E1000DD2019F024E630E002C020E030E03093BD -:106E20000F1120930E110E94094680E00E94B57058 -:106E300060E070E0A12CB12C8FEFA81AB80A69832A -:106E40007A830E94094680E00E94B57069817A8148 -:106E500000E911E020E042E050E0DD2019F085E09B -:106E600090E002C081E090E0C3DCBC01AE14BF043E -:106E70001CF3109211111092101110920F11109218 -:106E80000E110E9409460E94094680E00E94B570DA -:106E900081E00F900F90DF91CF911F910F91FF90A4 -:106EA000EF90DF90BF90AF900895AF92BF92CF92D6 -:106EB000DF92EF92FF920F931F93CF93DF93CDB7A3 -:106EC000DEB76E970FB6F894DEBF0FBECDBF00EDF4 -:106ED00017E021E044E050E060E070E08FEF9FEFCA -:106EE00087DC21E043E050E0BC0180E090E080DC02 -:106EF0005C011E9904C01D9902C01C9B48C01E9BCA -:106F000081C120E030E040E251E460915D13709176 -:106F10005E1380915F13909160130E9406F6609358 -:106F20005D1370935E1380935F13909360131D9BAA -:106F300072C120E030E040E251E460916113709151 -:106F4000621380916313909164130E9406F660931C -:106F500061137093621380936313909364131C9B6B -:106F600063C120E030E040E251E46091651370912C -:106F7000661380916713909168130E9406F66093E0 -:106F8000651370936613809367139093681389E475 -:106F9000C82E83E1D82EE12CF12C08E412E429E676 -:106FA00033E145E653E161E673E18DE593E10E944B -:106FB00057E164EF71E080E090E00E945BF01E9981 -:106FC00006C01D9904C01C9902C011E04CC01C9958 -:106FD0003AC167E77EE0CE0101960E94E9F41D9B6D -:106FE0002CC168E47EE0CE0107960E94E9F41E9B66 -:106FF00027C166E47EE0CE0143960E94E9F4BE011B -:107000006D5E7F4FCE010D960E9413F5BE01695F44 -:107010007F4FCE010D960E9446F5BE016F5F7F4FF8 -:107020000E9446F5BC01CE0149960E9413F5CE019F -:107030000D960E9481F4CE0143960E9481F4CE0108 -:1070400007960E9481F4CE0101960E9481F4698D19 -:107050007A8D47E75EE083E090E051DACE01499611 -:107060000E9481F410E00E94094680E00E94B57001 -:10707000112309F487C008EE13E021E043E050E05B -:10708000B50181E090E0B4DB5C0180E0A2DE882302 -:1070900009F478C000ED17E021E043E050E0B501CD -:1070A00082E090E0A5DB5C0166ED70E080E090E0BE -:1070B0002ADD882309F466C00CED15E021E043E0E9 -:1070C00050E0B50183E090E093DB5C0166EC70E09A -:1070D00081E090E018DD882309F454C020E030E01E -:1070E00040E450E460915D1370915E1380915F13F2 -:1070F000909160130E9405F660935D1370935E1388 -:1071000080935F139093601320E030E040E651E4F9 -:107110006091611370916213809163139091641375 -:107120000E9405F66093611370936213809363135A -:107130009093641321E043E050E0B50184E090E0D7 -:1071400057DB5C0169EC70E082E090E0DCDC8823D6 -:10715000C9F000ED17E021E043E050E0B50185E023 -:1071600090E046DB5C0181E034DEF82E882351F0AC -:1071700008E813E121E043E050E0B50186E090E04B -:1071800037DB0AC008E813E121E043E050E0B50135 -:1071900087E090E02DDBF12C0E94698F0E942CF09B -:1071A0006C597F4F8F4F9F4F609362167093631699 -:1071B0008093641690936516E0917B13F0E0EE0FD8 -:1071C000FF1FE45EFD4F0190F081E02DFF2019F0DC -:1071D000E852FE4F02C0EC50FE4F808191810E9428 -:1071E00035A36E960FB6F894DEBF0FBECDBFDF910C -:1071F000CF911F910F91FF90EF90DF90CF90BF90B4 -:10720000AF90089560915D1370915E1380915F134C -:107210009091601384CE609161137091621380919C -:1072200063139091641393CE60916513709166130C -:107230008091671390916813A2CE67E77EE0D3CE6A -:1072400067E77EE0D8CE6CE77EE0C5CE20E030E098 -:1072500042E053E4609108117091091180910A1184 -:1072600090910B110E94E2F818164CF48BEA92E50B -:107270000E94F0628EE992E50E94F06236C00E94A0 -:10728000698F40E060E082E796E10E944C4BE0911C -:107290007B13F0E0EE0FFF1FE45EFD4F0190F081E5 -:1072A000E02DEA5FFE4F808191810E9411AD42E0A6 -:1072B00060E082E796E10E944C4BE0917B13F0E0A6 -:1072C000EE0FFF1FE45EFD4F0190F081E02DE85FBF -:1072D000FE4F808191810E9411AD60ED77E080E0EA -:1072E00090E00E945BF00E94698F0C943B960E9494 -:1072F000698F41E060E082E796E10E944C4BE091AB -:107300007B13F0E0EE0FFF1FE45EFD4F0190F08174 -:10731000E02DE05EFE4F808191810E9411AD42E040 -:1073200060E082E796E10E944C4BE0917B13F0E035 -:10733000EE0FFF1FE45EFD4F0190F081E02DE25E55 -:10734000FE4F808191810C9411AD0E94698F42E0C3 -:1073500060E082E796E10E944C4BE0917B13F0E005 -:10736000EE0FFF1FE45EFD4F0190F081E02DE45E23 -:10737000FE4F808191810C9411AD1F93CF93DF93C9 -:107380000E94698F40E060E082E796E10E944C4BEA -:10739000E0917B13F0E0EE0FFF1FE45EFD4F0190E4 -:1073A000F081E02DE65EFE4F808191810E9411AD5B -:1073B00042E060E082E796E10E944C4BE0917B1353 -:1073C000F0E0EE0FFF1FE45EFD4F0190F081E02D35 -:1073D000E85EFE4F808191810E9411AD10E043E094 -:1073E000612F82E796E10E944C4B60E17EE082E7EC -:1073F00096E10E9495F5CAE0D0E00E94094681E03E -:107400000E94B57065E570E080E090E00E945BF05E -:107410002197209791F71F5F143109F7DF91CF91E2 -:107420001F9108951F93CF93DF930E94698F40E0CF -:1074300060E082E796E10E944C4BE0917B13F0E024 -:10744000EE0FFF1FE45EFD4F0190F081E02DEA5E3C -:10745000FE4F808191810E9411AD42E060E082E7A1 -:1074600096E10E944C4BE0917B13F0E0EE0FFF1F82 -:10747000E45EFD4F0190F081E02DE85EFE4F8081DB -:1074800091810E9411AD10E043E0612F82E796E107 -:107490000E944C4B60E17EE082E796E10E9495F508 -:1074A000CAE0D0E00E94094681E00E94B5706EE615 -:1074B00070E080E090E00E945BF02197209791F7C8 -:1074C0001F5F143109F7DF91CF911F9108950F933A -:1074D0001F93CF93DF930E94698F40E060E082E7C3 -:1074E00096E10E944C4BE0917B13F0E0EE0FFF1F02 -:1074F000E45EFD4F0190F081E02DE45FFE4F80815E -:1075000091810E9411AD41E061E082E796E10E9425 -:107510004C4BE0917B13F0E0EE0FFF1FE45EFD4F5C -:107520000190F081E02DE25FFE4F808191810E9409 -:1075300011AD42E061E082E796E10E944C4BE091A0 -:107540007B13F0E0EE0FFF1FE45EFD4F0190F08132 -:10755000E02DEE5EFE4F808191810E9411AD43E0EF -:1075600061E082E796E10E944C4BE0917B13F0E0F2 -:10757000EE0FFF1FE45EFD4F0190F081E02DEC5E09 -:10758000FE4F808191810E9411AD41E060E082E771 -:1075900096E10E944C4B62E17EE082E796E10E9418 -:1075A00095F50091FA16112707FD1095C1E0D0E07E -:1075B00080917C1390917D13892B09F072C00E94F9 -:1075C000094681E00E94B5702091FA16332727FD05 -:1075D0003095C801821B930B97FF03C0919581954D -:1075E000910905970CF44DC0201731070CF4219731 -:1075F000021713070CF42196C430D1052CF4209700 -:1076000029F4C1E0D0E002C0C3E0D0E041E060E096 -:1076100082E796E10E944C4B64E77EE082E796E1C8 -:107620000E9495F542E060E082E796E10E944C4BB3 -:1076300064E77EE082E796E10E9495F543E060E032 -:1076400082E796E10E944C4B64E77EE082E796E198 -:107650000E9495F54C2F60E082E796E10E944C4B2A -:1076600062E17EE082E796E10E9495F50091FA16CC -:10767000112707FD109564E670E080E090E00E941D -:107680005BF00E94ACA4882309F492CFD0937D13C1 -:10769000C0937C1364EF71E080E090E00E945BF0A7 -:1076A00087CF0E94698FDF91CF911F910F910C942A -:1076B0003B9620E030E042E053E460910811709185 -:1076C000091180910A1190910B110E94E2F818168D -:1076D000ECF481E08093721381E090E09093E416E3 -:1076E0008093E316EEE4FEE08191882339F09091D7 -:1076F000C00095FFFCCF8093C600F6CF8091C000FC -:1077000085FFFCCF8AE08093C60036C00E94698F57 -:1077100040E060E082E796E10E944C4BE0917B13F1 -:10772000F0E0EE0FFF1FE45EFD4F0190F081E02DD1 -:10773000EA5FFE4F808191810E9411AD42E060E0DE -:1077400082E796E10E944C4BE0917B13F0E0EE0F54 -:10775000FF1FE45EFD4F0190F081E02DE85FFE4FDA -:10776000808191810E9411AD60ED77E080E090E032 -:107770000E945BF00E94698F0C943B968F929F92BF -:10778000AF92BF92DF92EF92FF920F931F93CF932E -:10779000DF931092E6168091671690916816A0917B -:1077A0006916B0916A1681309048A105B10540F084 -:1077B00010926716109268161092691610926A1647 -:1077C0008091671690916816A0916916B0916A161B -:1077D000B695A795979587954091701650E060E013 -:1077E00070E084179507A607B70710F4809370160A -:1077F000D09170161091711612FB112710F9C0E08C -:10780000DD24D394D11144C080915B0C882309F10D -:10781000E0917B13F0E0EE0FFF1FE45EFD4F01905F -:10782000F081E02DE055FF4F6081718180916716F6 -:1078300090916816A0916916B0916A1623E002979C -:10784000A105B10510F443E001C040E28C2F0E9475 -:107850007A8E1123E9F08091671690916816A091B5 -:107860006916B0916A160297A105B10588F40E94C5 -:107870007E8F8AE293ECDF91CF911F910F91FF9061 -:10788000EF90DF90BF90AF909F908F900C94A68F59 -:1078900080919013811105C080918113882309F490 -:1078A00066C020E030E040E05FE3609165137091D6 -:1078B000661380916713909168130E94DFF687FF2B -:1078C00056C064EF76E18CEF9FE00E948A9C66EFE1 -:1078D00076E18AEF9FE00E948A9C68EF76E188EF6C -:1078E0009FE00E948A9CD13011F002E041C080915B -:1078F0005B0C882329F1E0917B13F0E0EE0FFF1F72 -:10790000E45EFD4F0190F081E02DE251FF4F608178 -:1079100071818091671690916816A0916916B09157 -:107920006A16B695A795979587952EE70197A105B5 -:10793000B10511F44EE301C040E28C2F0E947A8E13 -:10794000112399F28091671690916816A09169169B -:10795000B0916A16B695A795979587950197A10559 -:10796000B10519F60E947E8F87E59FEA39C001E0D4 -:107970000E94FBEB40916716509168166091691662 -:1079800070916A16811109C080919013811105C010 -:1079900080918113882309F455C00D135BC0809139 -:1079A0005B0C81112AC0112309F454C08091671621 -:1079B00090916816A0916916B0916A16B695A79530 -:1079C00097958795402F50E060E070E08417950709 -:1079D000A607B70709F03EC00E947E8F80E399EAB0 -:1079E000DF91CF911F910F91FF90EF90DF90BF90AB -:1079F000AF909F908F900C94AB8FE0917B13F0E051 -:107A0000EE0FFF1FE45EFD4F0190F081E02DEC547E -:107A1000FF4F0190F081E02D76956795579547953A -:107A2000802F90E0A0E0B0E02EE7481759076A07E2 -:107A30007B0711F44EE301C040E2BF018C2F0E948E -:107A40007A8EB1CF0D1306C080915B0C81116DC38E -:107A5000111190C30F5F809191134091671650915F -:107A600068166091691670916A16882309F417C127 -:107A700080917915882309F4FBC0809190138823A5 -:107A800009F452C00D13A0C080915B0C882321F132 -:107A9000E0917B13F0E0EE0FFF1FE45EFD4F0190DD -:107AA000F081E02DEA54FF4F0190F081E02D7695B2 -:107AB000679557954795802F90E0A0E0B0E020E2D1 -:107AC000481759076A077B0711F44EE301C040E2EB -:107AD000BF018C2F0E947A8E112309F475C080910A -:107AE000671690916816A0916916B0916A16B695BE -:107AF000A79597958795402F50E060E070E0841738 -:107B00009507A607B70709F05FC00E947E8FDF9137 -:107B1000CF911F910F91FF90EF90DF90BF90AF90AA -:107B20009F908F900C9423960D134EC080915B0C08 -:107B3000882321F1E0917B13F0E0EE0FFF1FE45E5C -:107B4000FD4F0190F081E02DE854FF4F0190F0814E -:107B5000E02D7695679557954795802F90E0A0E0AA -:107B6000B0E020E2481759076A077B0711F44EE39B -:107B700001C040E2BF018C2F0E947A8E112321F1B7 -:107B80008091671690916816A0916916B0916A1657 -:107B9000B695A79597958795402F50E060E070E0E7 -:107BA00084179507A607B70779F40E947E8FDF91A7 -:107BB000CF911F910F91FF90EF90DF90BF90AF900A -:107BC0009F908F900C941996FF24F394F00EFD1261 -:107BD0004CC080915B0C882361F1E0917B13F0E055 -:107BE000EE0FFF1FE45EFD4F0190F081E02DE654A3 -:107BF000FF4F0190F081E02D8091671690916816FB -:107C0000A0916916B0916A16B695A7959795879534 -:107C10004F2D50E060E070E02EE784179507A6072F -:107C2000B70711F44EE301C040E2BF018C2F0E9460 -:107C30007A8E1123D1F08091671690916816A091E9 -:107C40006916B0916A16B695A795979587954F2DA9 -:107C500050E060E070E084179507A607B70729F4A5 -:107C60000E947E8F8BE398ECBBCE01E00F0D5EC0CF -:107C70008091811381115AC00D1357C080915B0C04 -:107C80008823A9F1E0917B13F0E0EE0FFF1FE45E83 -:107C9000FD4F0190F081E02DE454FF4F12C00D1311 -:107CA00044C080915B0C882311F1E0917B13F0E0DC -:107CB000EE0FFF1FE45EFD4F0190F081E02DE254D6 -:107CC000FF4F0190F081E02D769567955795479588 -:107CD000802F90E0A0E0B0E02EE7481759076A0730 -:107CE0007B0709F140E2BF018C2F0E947A8E11239D -:107CF000E1F08091671690916816A0916916B09195 -:107D00006A16B695A79597958795402F50E060E045 -:107D100070E084179507A607B70739F40E947E8F95 -:107D20008BE299E95DCE4EE3DECF0F5F8091901339 -:107D3000811102C1809181138111FEC00D1355C0C4 -:107D400080915B0C882361F1E0917B13F0E0EE0FF2 -:107D5000FF1FE45EFD4F0190F081E02DEE5FFE4FCE -:107D60000190F081E02D8091671690916816A091A6 -:107D70006916B0916A16B695A79597958795402F85 -:107D800050E060E070E020E284179507A607B7078F -:107D900011F44EE301C040E2BF018C2F0E947A8EA5 -:107DA000112319F18091671690916816A0916916B8 -:107DB000B0916A16B695A79597958795402F50E094 -:107DC00060E070E084179507A607B70771F40E947A -:107DD0007E8FDF91CF911F910F91FF90EF90DF90F9 -:107DE000BF90AF909F908F9064CCEE24E394E00E10 -:107DF000ED1252C080915B0C882349F1E0917B1316 -:107E0000F0E0EE0FFF1FE45EFD4F0190F081E02DEA -:107E1000F395608171818091671690916816A091A9 -:107E20006916B0916A16B695A795979587958D2E88 -:107E3000912CA12CB12C20E288159905AA05BB052F -:107E400011F44EE301C040E28C2F0E947A8E112380 -:107E500019F18091671690916816A0916916B091FA -:107E60006A16B695A795979587954E2D50E060E0D8 -:107E700070E084179507A607B70771F40E947E8FFC -:107E8000DF91CF911F910F91FF90EF90DF90BF9006 -:107E9000AF909F908F90DAC932E0E32EE00EED12A2 -:107EA0004AC080915B0C882351F1E0917B13F0E094 -:107EB000EE0FFF1FE45EFD4F0190F081E02DE450D6 -:107EC000FF4F608171818091671690916816A09133 -:107ED0006916B0916A16B695A795979587958D2ED8 -:107EE000912CA12CB12C2EE788159905AA05BB056C -:107EF00011F44EE301C040E28C2F0E947A8E1123D0 -:107F0000D1F08091671690916816A0916916B09192 -:107F10006A16B695A795979587954E2D50E060E027 -:107F200070E084179507A607B70729F40E947E8F93 -:107F300085E19DE955CD0D5F8091811381114FC081 -:107F40000D134CC080915B0C882361F1E0917B1391 -:107F5000F0E0EE0FFF1FE45EFD4F0190F081E02D99 -:107F6000EA50FE4F0190F081E02D809167169091CC -:107F70006816A0916916B0916A16B695A79597955F -:107F80008795402F50E060E070E02EE7841795075A -:107F9000A607B70711F44EE301C040E2BF018C2FE2 -:107FA0000E947A8E1123D1F0809167169091681605 -:107FB000A0916916B0916A16B695A7959795879581 -:107FC000402F50E060E070E084179507A607B707E0 -:107FD00029F40E947E8F8CED9FEA02CD0F5F0D1376 -:107FE0004CC080915B0C882361F1E0917B13F0E041 -:107FF000EE0FFF1FE45EFD4F0190F081E02DE65F84 -:10800000FE4F0190F081E02D8091671690916816E7 -:10801000A0916916B0916A16B695A7959795879520 -:10802000402F50E060E070E02EE784179507A60728 -:10803000B70711F44EE301C040E2BF018C2F0E944C -:108040007A8E1123D1F08091671690916816A091D5 -:108050006916B0916A16B695A79597958795402FA2 -:1080600050E060E070E084179507A607B70729F491 -:108070000E947E8F80EB9FE8B3CCFF24F394F00E38 -:1080800040916716509168166091691670916A1652 -:1080900076956795579547958F2D90E0A0E0B0E0D5 -:1080A000481759076A077B0788F08F2D90E0880FE3 -:1080B000991F0197AA2797FDA095BA2F809367165D -:1080C00090936816A0936916B0936A16409167164C -:1080D000509168166091691670916A167695679549 -:1080E000579547958091701690E00396242F30E0C5 -:1080F000821793074CF48DEF840F80937016D09203 -:108100005B0CDCEFD40FCFEFCF5FDF5FC43008F440 -:1081100079CBDF91CF911F910F91FF90EF90DF907E -:10812000BF90AF909F908F900895E0917B13F0E007 -:10813000EE0FFF1FE45EFD4F0190F081E02DE25055 -:10814000FF4F0190F081E02D769567955795479503 -:10815000802F90E0A0E0B0E02EE7481759076A07AB -:108160007B0711F44EE301C040E2BF018C2F0E9457 -:108170007A8E6ECC8091671690916816A0916916E0 -:10818000B0916A16B695A79597958795402F50E0C0 -:1081900060E070E084179507A607B70709F05ACC8E -:1081A0000E947E8F8AED96E91BCC0F931F93CF938D -:1081B000DF930E94698F40E060E082E796E10E94D1 -:1081C0004C4BE0917B13F0E0EE0FFF1FE45EFD4FA0 -:1081D0000190F081E02DEE50FF4F808191810E944F -:1081E00011AD41E061E082E796E10E944C4BE091E5 -:1081F0007B13F0E0EE0FFF1FE45EFD4F0190F08176 -:10820000E02DE25FFE4F808191810E9411AD42E03E -:1082100061E082E796E10E944C4BE0917B13F0E035 -:10822000EE0FFF1FE45EFD4F0190F081E02DE05F57 -:10823000FE4F808191810E9411AD41E060E082E7B4 -:1082400096E10E944C4B62E17EE082E796E10E945B -:1082500095F50091FA16112707FD1095C1E0D0E0C1 -:108260000E94094681E00E94B5702091FA163327DA -:1082700027FD3095C801821B930B97FF03C0919592 -:108280008195910905970CF441C0201731070CF432 -:108290002197021713070CF42196C330D1052CF453 -:1082A000209729F4C1E0D0E002C0C2E0D0E041E074 -:1082B00060E082E796E10E944C4B64E77EE082E753 -:1082C00096E10E9495F542E060E082E796E10E9427 -:1082D0004C4B64E77EE082E796E10E9495F54C2FD7 -:1082E00060E082E796E10E944C4B62E17EE082E72B -:1082F00096E10E9495F50091FA16112707FD109559 -:1083000064E670E080E090E00E945BF00E94ACA424 -:10831000882309F4A5CF2197D9F464EF76E18CEF97 -:108320009FE00E948A9C66EF76E18AEF9FE00E94C0 -:108330008A9C68EF76E188EF9FE00E948A9C80919A -:10834000F8169091F916909300118093FF101EC0BB -:108350001092F5161092F4161092F7161092F61667 -:108360001092F9161092F81664EF76E18CEF9FE008 -:108370000E94799C66EF76E18AEF9FE00E94799CEB -:1083800068EF76E188EF9FE00E94799C64EF71E0EE -:1083900080E090E00E945BF00E94698FDF91CF91B6 -:1083A0001F910F910C943B960F931F93CF93DF93E4 -:1083B000EC01843091053CF08530910539F08C0159 -:1083C0000350110905C000E010E002C001E010E018 -:1083D00040E060E082E796E10E944C4B61E67EE07F -:1083E00082E796E10E9495F540E061E082E796E140 -:1083F0000E944C4BF801EE0FFF1FE45EFD4F019011 -:10840000F081E02DE654FE4F808191810E9411ADF4 -:1084100041E060E082E796E10E944C4B61E67EE03D -:1084200082E796E10E9495F541E061E082E796E1FE -:108430000E944C4BF801EE0FFF1FE25EFD4F0190D2 -:10844000F081E02DE654FE4F808191810E9411ADB4 -:1084500042E060E082E796E10E944C4B61E67EE0FC -:1084600082E796E10E9495F542E061E082E796E1BD -:108470000E944C4BF801EE0FFF1FE05EFD4F019094 -:10848000F081E02DE654FE4F808191810E9411AD74 -:1084900043E060E082E796E10E944C4B61E67EE0BB -:1084A00082E796E10E9495F543E061E082E796E17C -:1084B0000E944C4BF801EE0FFF1FEE5DFD4F019047 -:1084C000F081E02DE654FE4F808191810E9411AD34 -:1084D000C130D10511F440E012C0C230D10511F411 -:1084E00041E00DC0C330D1057CF042E060E082E79E -:1084F00096E10E944C4BC530D10531F443E060E079 -:1085000082E796E10E944C4B62E17EE082E796E1D1 -:108510000E9495F524974CF443E063E182E796E1ED -:108520000E944C4B66E77EE008C040E063E182E7D2 -:1085300096E10E944C4B68E77EE082E796E1DF918E -:10854000CF911F910F910C9495F50F931F93CF939B -:10855000DF938FEF80937B130E94209C0E94698F92 -:1085600081E090E021DF0091FA16112707FD1095B8 -:10857000C1E0D0E020917B1380917C1790917D1712 -:1085800040917E1750917F172F3F41F49C01241B8F -:10859000350B2F77332722303105A4F0841B950B40 -:1085A0008F779927029724F010927B1310925E0C1C -:1085B0000E94449C0E94698FDF91CF911F910F917F -:1085C0000C943B960E94094681E00E94B570209170 -:1085D000FA16332727FD3095C801821B930B97FFAE -:1085E00003C09195819591090597F4F02017310703 -:1085F0000CF42197021713070CF42196C630D1050D -:108600002CF4209729F4C1E0D0E002C0C5E0D0E00E -:10861000CE01CADE0091FA16112707FD109564E617 -:1086200070E080E090E004C064E170E080E090E001 -:108630000E945BF00E94ACA4882309F49BCF8C2F8E -:1086400081500E94659464EF71E080E090E00E94A8 -:108650005BF090CF8F929F92AF92BF92CF92DF92BA -:10866000EF92FF920F931F93CF93DF93CDB7DEB7B7 -:1086700028970FB6F894DEBF0FBECDBF80915E0C79 -:10868000813009F040C010925E0C0E94689CE0911D -:108690007B13F0E0EE0FFF1FE45EFD4F0190F081D1 -:1086A000E02D6081718144E150E08EEB96E10F9402 -:1086B00012008DEE9FE00F94CA028F3F01F58EEEFF -:1086C0009FE00F94CA028F3FD1F48FEE9FE00F948A -:1086D000CA028F3FA1F480EF9FE00F94CA028F3F40 -:1086E00071F440E050E0BA018DEE9FE00F94D702A4 -:1086F00040E050E0BA0181EF9FE00F94D7028091F3 -:108700004616811122DF80916116882321F0815065 -:108710008093611603C081E080935B0C80915B0CB9 -:10872000882309F40DC48091E7168F5F8093E716C4 -:108730008E3129F40E942E961092E7160EC06AE040 -:108740000E9489FA911109C020E044E064E182E7C7 -:1087500096E10E945C4C0E94DD8D20E030E040E01C -:108760005FE3609108117091091180910A11909155 -:108770000B110E9406F60E944EF778876F83609176 -:10878000101170911111882777FD8095982F0E9404 -:1087900081F720E030E040E05FE30E9406F60E94AF -:1087A0004EF77E836D8340E060E082E796E10E94B1 -:1087B0004C4B62E082E796E10E9496F5CE01079667 -:1087C0000E94F4A6BC0182E796E10E9495F56FE253 -:1087D00082E796E10E9496F5CE0105960E9465AC6F -:1087E000BC0182E796E10E9495F581E293E50E9443 -:1087F00011AD63E77EE082E796E10E9495F540E0E7 -:108800006AE082E796E10E944C4B6AE77EE082E7ED -:1088100096E10E9495F52CEA35EC47E257E360912A -:1088200065137091661380916713909168130E948D -:1088300006F669837A838B839C83CE0101960E941E -:1088400022A6BC0182E796E10E9495F560E282E7EC -:1088500096E10E9496F541E060E082E796E10E9491 -:108860004C4B20E030E040E05FE3609102117091FA -:10887000031180910411909105110E9406F60E9447 -:108880004EF778876F8360910E1170910F118827D2 -:1088900077FD8095982F0E9481F720E030E040E03E -:1088A0005FE30E9406F60E944EF77E836D8360E0D0 -:1088B00082E796E10E9496F5CE0107960E94F4A603 -:1088C000BC0182E796E10E9495F56FE282E796E1AE -:1088D0000E9496F5CE0105960E9465ACBC0182E728 -:1088E00096E10E9495F58EE193E50E9411AD63E754 -:1088F0007EE082E796E10E9495F541E06AE082E73A -:1089000096E10E944C4B63E77EE082E796E10E948D -:1089100095F566E082E796E10E9496F589E49CE091 -:108920000E94F4A6BC0182E796E10E9495F565E2FB -:1089300082E796E10E9496F560E77EE082E796E1A5 -:108940000E9495F542E060E082E796E10E944C4B80 -:1089500080918113882319F08BE193E502C088E1AF -:1089600093E50E9411AD809190138823A9F1809125 -:108970007915882319F18091231690912416A091DE -:108980002516B09126160097A105B105B9F0BC01D6 -:10899000CD016D597F4F8F4F9F4F24E630E040E06F -:1089A00050E00E94BDFA60912B1670912C168091B8 -:1089B0002D1690912E160E94BDFA01C020E030E0E5 -:1089C0003A832983CE0101960E94F4A6BC0182E776 -:1089D00096E10E9495F50DC080918113882329F0BE -:1089E00083E193E50E9411AD09C08FE093E50E94F9 -:1089F00011AD65E282E796E10E9496F56FE67EE0B2 -:108A000082E796E10E9495F542E06AE082E796E10E -:108A10000E944C4B63E77EE082E796E10E9495F569 -:108A200067E082E796E10E9496F580916B11909144 -:108A30006C11A0916D11B0916E11892B8A2B8B2B2B -:108A4000E1F10E942CF020E6C22E2AEED22EE12C7B -:108A5000F12CA70196010E94BDFA49015A016091CB -:108A60006B1170916C1180916D1190916E11A70135 -:108A700096010E94BDFAC401821B930B6CE370E067 -:108A80000E9496FA182F6983CE0101960E94B2A423 -:108A9000BC0182E796E10E9495F56AE382E796E1E0 -:108AA0000E9496F51983CE0101960E94B2A4BC01E2 -:108AB00082E796E10E9495F504C089E093E50E9463 -:108AC00011AD63E77EE082E796E10E9495F543E011 -:108AD00060E082E796E10E944C4B80917513909183 -:108AE0007613009719F021E02093721330919013C0 -:108AF00020917213332309F476C0211174C06FE9F9 -:108B000073E187E896E10F948100892BD1F0E7E8C3 -:108B1000F6E1DF010D900020E9F7AD014150510968 -:108B20004758564160E070E0CF010F9451006FE963 -:108B300073E187E896E10F948A001092BD161092B7 -:108B4000BC16EFE9F3E101900020E9F7E05AF341A8 -:108B5000759708F445C00091BC161091BD16C12C44 -:108B6000D12C8091BC169091BD169801281B390B11 -:108B70002431310534F001969093BD168093BC16D4 -:108B80009AC1C114D104B9F7F801E257FC4E7F0134 -:108B90009189602F681B43E0911115C082E796E12F -:108BA0000E944C4BD70150966C9182E796E10E944F -:108BB00096F51092BD161092BC1600E010E0CC2481 -:108BC000C394D12CCECF82E796E10E944C4BF701A3 -:108BD000608982E796E10E9496F50F5F1F4FC1CF33 -:108BE00067E876E164C1222309F45FC1892B09F4A7 -:108BF000A1C0809173139091741301968E309105EA -:108C000028F4909374138093731304C01092741318 -:108C10001092731343E067E082E796E10E944C4BA9 -:108C20008BEF92E50E9411AD00E010E0809173138C -:108C3000909174130817190770F467E0600F43E010 -:108C400082E796E10E944C4B89EF92E50E9411ADBC -:108C50000F5F1F4FEBCF8091751390917613823089 -:108C6000910581F1B0F4019709F064C043E060E040 -:108C700082E796E10E944C4BE0917B13F0E0EE0F0F -:108C8000FF1FE45EFD4F0190F081E02DE05AFE4FA2 -:108C90003EC08330910549F1049709F04BC043E091 -:108CA00060E082E796E10E944C4BE0917B13F0E09C -:108CB000EE0FFF1FE45EFD4F0190F081E02DEA59B9 -:108CC000FE4F2AC043E060E082E796E10E944C4BF1 -:108CD000E0917B13F0E0EE0FFF1FE45EFD4F01908B -:108CE000F081E02DEE59FE4F17C043E060E082E7CF -:108CF00096E10E944C4BE0917B13F0E0EE0FFF1FDA -:108D0000E45EFD4F0190F081E02DEC59FE4F808133 -:108D100091810E9411AD0EC0808191810E9411ADA0 -:108D2000109276131092751310927413109273139D -:108D3000109272138091701390917113019709F042 -:108D4000AEC080916E1390916F138B309105A8F196 -:108D500043E060E082E796E10E944C4B61E67EE0F2 -:108D600082E796E10E9495F543E060E082E796E1B4 -:108D70000E944C4BE0917B13F0E0EE0FFF1FE45E8E -:108D8000FD4F0190F081E02DE850FF4F80819181EF -:108D90000E9411AD6EE77EE082E796E10E9495F5B4 -:108DA00060916E1370916F136A5071094AE050E040 -:108DB00082E796E10E9400F672C0039711F5E091F8 -:108DC0007B13F0E0EE0FFF1FE45EFD4F0190F0819A -:108DD000E02D808191810E9411ADE0917B13F0E044 -:108DE000EE0FFF1FE45EFD4F0190F081E02D8081CA -:108DF00091810E943BA110927213109271131092F4 -:108E0000701380916E1390916F130497069758F525 -:108E100043E060E082E796E10E944C4B62E67EE030 -:108E200082E796E10E9495F543E060E082E796E1F3 -:108E30000E944C4BE0917B13F0E0EE0FFF1FE45ECD -:108E4000FD4F0190F081E02DE650FF4F8081918130 -:108E50000E9411AD80916E1390916F1301979093C2 -:108E60006F1380936E1380916E1390916F130A9716 -:108E7000B1F4E0917B13F0E0EE0FFF1FE45EFD4FD5 -:108E80000190F081E02DE650FF4F808191810E949A -:108E900011AD89E090E090936F1380936E138091F1 -:108EA000701390917113029731F46EEB76E182E7C3 -:108EB00096E10E9495F50EEB16E1D8018D918D019A -:108EC00080322CF460E282E796E10E9496F5B6E1EA -:108ED000023D1B0791F780918113882331F1809126 -:108EE0007213811122C043E060E082E796E10E94A4 -:108EF0004C4B61E67EE082E796E10E9495F543E007 -:108F000060E082E796E10E944C4BE0917B13F0E039 -:108F1000EE0FFF1FE45EFD4F0190F081E02DE85061 -:108F2000FE4F808191810E9411AD8AE0809361168D -:108F30008091E3169091E416892B11F00E9448A1CC -:108F40008091711682FB882780F990916016992391 -:108F500099F090915F16992339F0811119C0109200 -:108F60005F161092601614C0882391F00E947E8FC5 -:108F700081E080935F160CC0882351F021E040E02F -:108F800050E0BA018EEB9BEB0E94908F0E942E96D0 -:108F90008091490C90914A0C209167163091681687 -:108FA0008436910534F4820F931F853691054CF475 -:108FB00016C08436910599F0820F931F843691056F -:108FC00074F4109267161092681610926916109237 -:108FD0006A1684E690E090934A0C8093490C2091A5 -:108FE000490C30914A0C809167169091681624368E -:108FF000310569F48B3091051CF0865A9F4F09C0EA -:10900000863FEFEF9E078CF482599F4F02C0820F7C -:10901000931F90934A0C8093490C109267161092FC -:1090200068161092691610926A168091490C9091F8 -:109030004A0C8A3091051CF48AE090E005C0883E15 -:10904000934034F087EE93E090934A0C8093490C60 -:1090500028960FB6F894DEBF0FBECDBFDF91CF913B -:109060001F910F91FF90EF90DF90CF90BF90AF9046 -:109070009F908F9008950F931F93CF9340E060E0EF -:1090800082E796E10E944C4BE0917B13F0E0EE0FFB -:10909000FF1FE45EFD4F0190F081E02DE654FF4F8D -:1090A000808191810E9411AD42E062E082E796E109 -:1090B0000E944C4BE0917B13F0E0EE0FFF1FE45E4B -:1090C000FD4F0190F081E02DE05FFE4F80819181A6 -:1090D0000E9411AD43E062E082E796E10E944C4BB2 -:1090E000E0917B13F0E0EE0FFF1FE45EFD4F019077 -:1090F000F081E02DE25FFE4F808191810E9411ADF1 -:1091000042E060E082E796E10E944C4B64E77EE03B -:1091100082E796E10E9495F543E060E082E796E100 -:109120000E944C4B64E77EE082E796E10E9495F551 -:109130008091671690916816A0916916B0916A1691 -:109140000397A105B10564F082E090E0A0E0B0E0F3 -:109150008093671690936816A0936916B0936A1669 -:109160008091671690916816A0916916B0916A1661 -:10917000181619061A061B0664F081E090E0A0E0BC -:10918000B0E08093671690936816A0936916B09329 -:109190006A16409167164F5F60E082E796E10E9491 -:1091A0004C4B62E17EE082E796E10E9495F50E94D9 -:1091B000ACA4882309F469C0809167169091681661 -:1091C000A0916916B0916A160197A105B10511F435 -:1091D0000E943B968091671690916816A09169163F -:1091E000B0916A160297A105B10509F04EC0C1E021 -:1091F000C09338130E943ADAE0917B13F0E0EE0F4F -:10920000FF1FE45EFD4F0190F081E02DEA53FF4F18 -:10921000808191810E943BA11092901360E08EE8C2 -:1092200093E10E94C4580E942CF0609367117093E0 -:1092300068118093691190936A1100916B111091DC -:109240006C1120916D1130916E11601B710B820BAE -:10925000930B28EE33E040E050E00E94BDFA6091AD -:109260007713709178138091791390917A130E94FB -:10927000EA6B0E943B96C093601610925F1682E0E4 -:1092800090E09093E4168093E316CF911F910F9195 -:109290000895CF93DF93C1E9D2E5FE01849188233D -:1092A00041F09091C00095FFFCCF8093C6003196AD -:1092B000F5CFEAEFF6E58491882341F09091C00064 -:1092C00095FFFCCF8093C6003196F5CF8091C0000A -:1092D00085FFFCCF8AE08093C600FE018491E1E91E -:1092E000F2E5882349F09091C00095FFFCCF809370 -:1092F000C60031968491F5CF4091011D5091021D19 -:109300006091031D7091041D82EF96E50E944C62EE -:109310004091051D5091061D6091071D7091081D1B -:109320008FEE96E50E944C624091091D50910A1DF6 -:1093300060910B1D70910C1D8CEE96E50E944C62A5 -:1093400040910D1D50910E1D60910F1D7091101DCB -:1093500089EE96E50E944C628091C00085FFFCCFAB -:109360008AE08093C600FE018491E1E9F2E588235A -:1093700049F09091C00095FFFCCF8093C6003196D4 -:109380008491F5CFEFECF6E58491882341F090913C -:10939000C00095FFFCCF8093C6003196F5CF809139 -:1093A000C00085FFFCCF8AE08093C600FE01849157 -:1093B000E1E9F2E5882349F09091C00095FFFCCFE8 -:1093C0008093C60031968491F5CF4091111D509144 -:1093D000121D6091131D7091141D86EC96E50E947C -:1093E0004C624091151D5091161D6091171D709192 -:1093F000181D83EC96E50E944C624091191D509116 -:109400001A1D60911B1D70911C1D80EC96E50E9439 -:109410004C6240911D1D50911E1D60911F1D709149 -:10942000201D8DEB96E50E944C628091C00085FF67 -:10943000FCCF8AE08093C600FE018491E1E9F2E569 -:10944000882349F09091C00095FFFCCF8093C6001F -:1094500031968491F5CFEFE9F6E58491882341F0C8 -:109460009091C00095FFFCCF8093C6003196F5CF58 -:109470008091C00085FFFCCF8AE08093C600FE018A -:109480008491E1E9F2E5882349F09091C00095FFCD -:10949000FCCF8093C60031968491F5CF4091F11CAA -:1094A0005091F21C6091F31C7091F41C86E996E5D2 -:1094B0000E945E624091F51C5091F61C6091F71C71 -:1094C0007091F81C83E996E50E945E624091F91C58 -:1094D0005091FA1C6091FB1C7091FC1C80E996E590 -:1094E0000E945E624091FD1C5091FE1C6091FF1C29 -:1094F0007091001D8DE896E50E945E628091C0002B -:1095000085FFFCCF8AE08093C600FE018491E1E9EB -:10951000F2E5882349F09091C00095FFFCCF80933D -:10952000C60031968491F5CFE8E5F6E5849188236D -:1095300041F09091C00095FFFCCF8093C60031961A -:10954000F5CF8091C00085FFFCCF8AE08093C600F4 -:10955000FE018491E1E9F2E5882349F09091C00091 -:1095600095FFFCCF8093C60031968491F5CF409152 -:10957000E91C5091EA1C6091EB1C7091EC1C8FE48B -:1095800096E50E944C624091E51C5091E61C60916A -:10959000E71C7091E81C8CE496E50E944C62809177 -:1095A000C00085FFFCCF8AE08093C600FE01849155 -:1095B000E1E9F2E5882349F09091C00095FFFCCFE6 -:1095C0008093C60031968491F5CFE9E9F5E5849161 -:1095D000882341F09091C00095FFFCCF8093C60096 -:1095E0003196F5CF8091C00085FFFCCF8AE0809353 -:1095F000C600FE018491E1E9F2E5882349F09091EB -:10960000C00095FFFCCF8093C60031968491F5CFC2 -:109610004091ED1C5091EE1C6091EF1C7091F01C7C -:1096200080E995E50E944C624091D51C5091D61C72 -:109630006091D71C7091D81C8DE895E50E944C6212 -:109640004091211D5091221D6091231D7091241D78 -:109650008AE895E50E945E624091E11C5091E21C0F -:109660006091E31C7091E41C87E895E50E944C62D0 -:109670004091DD1C5091DE1C6091DF1C7091E01C5C -:1096800084E895E50E944C624091D91C5091DA1C07 -:109690006091DB1C7091DC1C81E895E50E944C62B6 -:1096A0008091C00085FFFCCF8AE08093C600FE0158 -:1096B0008491E1E9F2E5882349F09091C00095FF9B -:1096C000FCCF8093C60031968491F5CFEFE6F5E5A7 -:1096D0008491882341F09091C00095FFFCCF809346 -:1096E000C6003196F5CF8091C00085FFFCCF8AE09F -:1096F0008093C600FE018491E1E9F2E5882349F0F8 -:109700009091C00095FFFCCF8093C6003196849164 -:10971000F5CF4091511350915213609153137091B2 -:10972000541386E695E50E944C6240915513509182 -:109730005613609157137091581383E695E50E9474 -:109740004C624091591350915A1360915B13709180 -:109750005C1380E695E50E944C628091C00085FF15 -:10976000FCCF8AE08093C600FE018491E1E9F2E536 -:10977000882349F09091C00095FFFCCF8093C600EC -:1097800031968491F5CFE2E5F5E58491882341F0A7 -:109790009091C00095FFFCCF8093C6003196F5CF25 -:1097A0008091C00085FFFCCF8AE08093C600FE0157 -:1097B0008491E1E9F2E5882349F09091C00095FF9A -:1097C000FCCF8093C60031968491F5CF409118026A -:1097D0005091190260911A0270911B0288E495E57C -:1097E0000E944C62609114027091150280911602E1 -:1097F000909117020E948B4AAB01BC0185E495E56C -:109800000E944C62609110027091110280911202CC -:10981000909113020E94974AAB01BC0182E495E546 -:109820000E944C628091C00085FFFCCF8AE080934B -:10983000C600FE018491E1E9F2E5882349F09091A8 -:10984000C00095FFFCCF8093C60031968491F5CF80 -:10985000EEE0F5E58491882341F09091C00095FFFA -:10986000FCCF8093C6003196F5CF8091C00085FF74 -:10987000FCCF8AE08093C600FE018491E1E9F2E525 -:10988000882349F09091C00095FFFCCF8093C600DB -:1098900031968491F5CF40911F0C5091200C60912E -:1098A000210C7091220C84E095E50E944C6220E02E -:1098B00030E040E752E46091170C7091180C8091F1 -:1098C000190C90911A0C0E94B4F9AB01BC0181E013 -:1098D00095E50E944C624091411350914213609172 -:1098E0004313709144138EEF94E50E944C62809173 -:1098F000C00085FFFCCF8AE08093C600FE01849102 -:10990000E1E9F2E5882349F09091C00095FFFCCF92 -:109910008093C60031968491F5CFE2EDF4E5849111 -:10992000882341F09091C00095FFFCCF8093C60042 -:109930003196F5CF8091C00085FFFCCF8AE08093FF -:10994000C600FE018491E1E9F2E5882349F0909197 -:10995000C00095FFFCCF8093C60031968491F5CF6F -:1099600040913D1350913E1360913F13709140130D -:1099700088EC94E50E944C6220E030E040E752E43D -:109980006091130C7091140C8091150C9091160C31 -:109990000E94B4F9AB01BC0185EC94E50E944C62D5 -:1099A0008091C00085FFFCCF8AE08093C600FE0155 -:1099B0008491E1E9F2E5882349F09091C00095FF98 -:1099C000FCCF8093C60031968491F5CFEBE6F4E5A9 -:1099D0008491882341F09091C00095FFFCCF809343 -:1099E000C6003196F5CF8091C00085FFFCCF8AE09C -:1099F0008093C600FE018491E1E9F2E5882349F0F5 -:109A00009091C00095FFFCCF8093C6003196849161 -:109A1000F5CF4091461350E060E070E081E694E5B8 -:109A20000E945E628091C00085FFFCCF8AE0809337 -:109A3000C600FE018491E1E9F2E5882349F09091A6 -:109A4000C00095FFFCCF8093C60031968491F5CF7E -:109A500080916D138823A1F1EEE4F4E584918823CD -:109A600041F09091C00095FFFCCF8093C6003196E5 -:109A7000F5CF8091C00085FFFCCF8AE08093C600BF -:109A8000FE01C491E1E9F2E5CC2349F08091C000E8 -:109A900085FFFCCFC093C6003196C491F5CF4091AD -:109AA0003F0C5091400C6091410C7091420C84E449 -:109AB00094E50E944C628091C00085FFFCCF11C0EC -:109AC000E8E2F4E58491882341F09091C00095FF8D -:109AD000FCCF8093C6003196F5CF8091C00085FF02 -:109AE000FCCF8AE08093C600DF91CF910895AF92BA -:109AF000BF92CF92DF92EF92FF920F931F93CF937B -:109B0000DF93CDB7DEB7E0970FB6F894DEBF0FBE98 -:109B1000CDBF80E1EBEDFCE0DE01919601900D926E -:109B20008A95E1F780E1EBEEFCE0DE0151960190D1 -:109B30000D928A95E1F780E1EBEFFCE0DE011196F2 -:109B400001900D928A95E1F76E0181E2C80ED11C59 -:109B500081E0E82E8DE1F82E8E010F5E1F4F61E14E -:109B60007DE1AE014F5F5F4F91EFA92E9CE1B92ED1 -:109B700020E030E0F60181919191A191B1916F01C6 -:109B8000F70181939193A193B1937F01F8018191A2 -:109B90009191A191B1918F01FB0181939193A19337 -:109BA000B193BF01FA0181919191A191B191AF015E -:109BB000F50181939193A193B1935F012F5F3F4F83 -:109BC00024303105B9F60E940BEC80E090E8ABE35D -:109BD000B5E48093E91C9093EA1CA093EB1CB0932E -:109BE000EC1C8093E51C9093E61CA093E71CB093BB -:109BF000E81C1092ED1C1092EE1C1092EF1C1092BB -:109C0000F01C80E29EE4A0E0B0E08093211D9093E0 -:109C1000221DA093231DB093241D1092D51C1092D9 -:109C2000D61C1092D71C1092D81C80E090E0A0EABD -:109C3000B1E48093E11C9093E21CA093E31CB093E9 -:109C4000E41C8DEC9CECACECBEE38093DD1C9093AB -:109C5000DE1CA093DF1CB093E01C80E090E0A0EA43 -:109C6000B0E48093D91C9093DA1CA093DB1CB093D2 -:109C7000DC1C1092591310925A1310925B1310921D -:109C80005C131092551310925613109257131092A2 -:109C900058131092511310925213109253131092A2 -:109CA000541382ED90E09093DF168093DE1682E3EA -:109CB00090E09093DD168093DC161092DB161092E4 -:109CC000DA168FEF90E09093D9168093D81684E639 -:109CD00090E09093D7168093D6161092D5161092D6 -:109CE000D41683E393EBA3E2B2E48093180290933B -:109CF0001902A0931A02B0931B0260E070E08CE995 -:109D000090E40E94854A6093140270931502809338 -:109D100016029093170265E87BE28CEA92E40E94B7 -:109D2000914A6093100270931102809312029093F3 -:109D300013020E94683F80E090E0A0E8BFE38093B8 -:109D40000C0290930D02A0930E02B0930F0210929A -:109D5000461380E090E0A0E4B0E480931F0C909361 -:109D6000200CA093210CB093220C40E050E064E35F -:109D700072E44093170C5093180C6093190C709375 -:109D80001A0C109241131092421310924313109226 -:109D9000441310923D1310923E1310923F131092F1 -:109DA000401340E050E060E071E44093130C5093A6 -:109DB000140C6093150C7093160C10926D13809315 -:109DC0003F0C9093400CA093410CB093420C0E9426 -:109DD0005C71E1E9F2E58491882341F09091C00043 -:109DE00095FFFCCF8093C6003196F5CFE6E0F4E511 -:109DF0008491882341F09091C00095FFFCCF80931F -:109E0000C6003196F5CF8091C00085FFFCCF8AE077 -:109E10008093C600E0960FB6F894DEBF0FBECDBFAC -:109E2000DF91CF911F910F91FF90EF90DF90CF9036 -:109E3000BF90AF9008951F920F920FB60F9211240A -:109E40000BB60F922F933F934F935F936F938F9324 -:109E50009F93EF93FF936091C60020917C17309100 -:109E60007D17C90101968F77992740917E175091F0 -:109E70007F178417950741F0F901E450F94E60838C -:109E800090937D1780937C17FF91EF919F918F9115 -:109E90006F915F914F913F912F910F900BBE0F905B -:109EA0000FBE0F901F9018959A01AB01211581EEFE -:109EB00038074105510549F182E08093C00060E018 -:109EC00079E08DE390E00E94DFFA215031094109E9 -:109ED0005109CA01B90122E030E040E050E00E949F -:109EE000DFFA3093C5002093C4008091C1008061E7 -:109EF0008093C1008091C10088608093C1008091EF -:109F0000C10080688093C10008951092C00020E1D4 -:109F100030E0E7CF20917E1730917F1780917C173A -:109F200090917D178217930771F0F901E450F94E73 -:109F300080812F5F3F4F2F77332730937F172093F8 -:109F40007E1790E008958FEF9FEF089580917E1720 -:109F500090917F1790937D1780937C1708954F926F -:109F60005F926F927F928F929F92AF92BF92CF92A9 -:109F7000DF92EF92FF920F931F93CF93DF93CDB7B2 -:109F8000DEB7A0970FB6F894DEBF0FBECDBF5C0161 -:109F90004115510561057105E9F420E030E040E329 -:109FA00050E060E070E0A0960FB6F894DEBF0FBE00 -:109FB000CDBFDF91CF911F910F91FF90EF90DF9078 -:109FC000CF90BF90AF909F908F907F906F905F9059 -:109FD0004F905BC08E010F5F1F4FC12CD12C7601BB -:109FE0004801422E512C612C712C8FEFC81AD80ACF -:109FF000E80AF80ACB01BA01A30192010E94BDFA56 -:10A00000CA01F80161938F01A901BC0141155105F5 -:10A010006105710551F7F1E0CF1AD108E108F108A7 -:10A02000F401EC0DFD1D80818A3010F440E301C085 -:10A0300047E3480F552747FD5095652F752F20E0C2 -:10A0400030E0C50122D081E0C81AD108E108F1084A -:10A05000EFEFCE16DE06EE06FE0611F7A0960FB65F -:10A06000F894DEBF0FBECDBFDF91CF911F910F914E -:10A07000FF90EF90DF90CF90BF90AF909F908F9028 -:10A080007F906F905F904F9008952115310539F4BE -:10A090008091C00085FFFCCF4093C60008952A3010 -:10A0A000310509F424C05BCF9A01462F552747FD9F -:10A0B0005095652F752FE9CFCF93DF93EC0120E00A -:10A0C00030E04DE050E060E070E0DFDF20E030E0C5 -:10A0D0004AE050E060E070E0CE01DF91CF91D5CF53 -:10A0E0009A01AB01662757FD6095762FCECFCF92B0 -:10A0F000DF92EF92FF92CF93DF93EC016A017B0135 -:10A1000077FF0FC020E030E04DE250E060E070E00B -:10A11000BCDFF094E094D094C094C11CD11CE11C2D -:10A12000F11C2AE0B701A601CE01DF91CF91FF908B -:10A13000EF90DF90CF9013CF2115310539F4809146 -:10A14000C00085FFFCCF4093C600089508CF9A0158 -:10A15000462F50E060E070E0EFCFCF93DF93EC014B -:10A160009A01AB0160E070E0E7DFCE01DF91CF91B3 -:10A17000A3CF8F929F92AF92BF92CF92DF92EF9236 -:10A18000FF921F93CF93DF93EC016A017B01122FA3 -:10A1900020E030E0A901C701B6010E94DFF687FF89 -:10A1A0000CC020E030E04DE250E060E070E0CE0115 -:10A1B0006CDFF7FAF094F7F8F094B12C60E070E0FF -:10A1C00080E09FE3B11641F020E030E040E251E44E -:10A1D0000E94E6F6B394F6CF9B01AC01C701B6012D -:10A1E0000E9406F66B017C010E9453F74B015C0153 -:10A1F0000E947FF79B01AC01C701B6010E9405F6E2 -:10A200006B017C012AE0B501A401CE01A8DE112377 -:10A2100061F0E0E1FEE08191882339F09091C00087 -:10A2200095FFFCCF8093C600F6CF112319F120E0F3 -:10A2300030E040E251E4C701B6010E94B4F96B017D -:10A240007C010E944EF74B01AA2497FCA094BA2CE3 -:10A25000B501A401CE014BDFC501B4010E9481F715 -:10A260009B01AC01C701B6010E9405F66B017C01A0 -:10A270001150DBCFDF91CF911F91FF90EF90DF90D6 -:10A28000CF90BF90AF909F908F90089572CFCF9353 -:10A29000DF931F92CDB7DEB7698341E050E0BE0186 -:10A2A0006F5F7F4F04960E94C4370F90DF91CF916C -:10A2B0000895FB0101900020E9F7AF0141505109D9 -:10A2C000461B570B04960C94C43780919917811143 -:10A2D00009C080919817811105C08091971781114D -:10A2E00001C00895E1E9F2E58491882341F090915D -:10A2F000C00095FFFCCF8093C6003196F5CFE0916A -:10A300007B13F0E0EE0FFF1FE45EFD4F0190F08144 -:10A31000E02DE455FE4F0190F081E02D84918823DB -:10A3200041F09091C00095FFFCCF8093C60031961C -:10A33000F5CF80919917882371F160919A177091E8 -:10A340009B1780919C1790919D170E9481F72091F7 -:10A35000011D3091021D4091031D5091041D0E946A -:10A36000E6F6AB01BC0187E397E50E944C62E09101 -:10A370007B13F0E0EE0FFF1FE45EFD4F0190F081D4 -:10A38000E02DE455FE4F65E377E5808191810E94E1 -:10A39000294D0E943BA180919817882371F160910B -:10A3A0009E1770919F178091A0179091A1170E94FE -:10A3B00081F72091051D3091061D4091071D509198 -:10A3C000081D0E94E6F6AB01BC0181E397E50E94FF -:10A3D0004C62E0917B13F0E0EE0FFF1FE45EFD4F57 -:10A3E0000190F081E02DE455FE4F6FE277E580812A -:10A3F00091810E94294D0E943BA18091971788234B -:10A4000071F16091A2177091A3178091A417909198 -:10A41000A5170E9481F72091091D30910A1D4091D6 -:10A420000B1D50910C1D0E94E6F6AB01BC018BE2A6 -:10A4300097E50E944C62E0917B13F0E0EE0FFF1F66 -:10A44000E45EFD4F0190F081E02DE455FE4F69E29E -:10A4500077E5808191810E94294D0E943BA18091E6 -:10A46000C00085FFFCCF8AE08093C6001092991748 -:10A4700010929817109297170895109299171092AA -:10A4800098171092971708958093730C0895EFE62C -:10A49000F0E080818260808308951F920F920FB652 -:10A4A0000F9211240BB60F920F931F932F933F938C -:10A4B0004F935F936F937F938F939F93AF93BF93CC -:10A4C000EF93FF938091CA179091CB17892B09F0D6 -:10A4D0009EC19091CD178091CC17981771F0E091A3 -:10A4E000CC178DE4E89FF0011124E253F84EDF0110 -:10A4F000A45BBF4F81E08C9302C0E0E0F0E0F093FA -:10A50000CB17E093CA17309709F47BC1DF01A45B36 -:10A51000BF4F81E08C931092AD171092AE1710923E -:10A52000AF171092B01760AD71AD61349CE9790737 -:10A5300028F461329EE4790748F002C060E47CE9C7 -:10A54000769567957695679584E007C0613197E2C7 -:10A55000790730F07695679582E08093AA1707C057 -:10A560008093AA176032710510F460E270E06052C7 -:10A570007109611588E07807D0F0872F9927880F37 -:10A58000991F880F991F855C944AFC01329645916A -:10A590005491AA27659F9001649F210D3A1F06944C -:10A5A0002A1F3A1F1124FC01859194911DC0CB01F3 -:10A5B000969587958C7F855C984AFC0145915491CE -:10A5C0000296FC0185919491FB01E770FF278E9F15 -:10A5D00090018F9F300D9E9F300D112403E0369522 -:10A5E00027950A95E1F7CA01821B930B84369105E2 -:10A5F00000F5E0917B13F0E0EE0FFF1FE45EFD4FEE -:10A600000190F081E02DE655FE4F0190F081E02DA4 -:10A610008191882339F09091C00095FFFCCF809301 -:10A62000C600F6CF4AE050E08BEF96E196DD84E677 -:10A6300090E09093A9178093A8178091AA17992763 -:10A6400087FD90959093A7178093A617E091CA175E -:10A65000F091CB1764AD75AD7093AC176093AB17E9 -:10A6600061349CE9790728F461328EE4780748F078 -:10A6700002C060E47CE9769567957695679584E0FD -:10A6800007C0613197E2790730F07695679582E0EF -:10A690008093AA1708C081E08093AA1760327105E1 -:10A6A00010F460E270E060527109611588E078078B -:10A6B000E0F0872F9927880F991F880F991F855CD5 -:10A6C000944AFC01329625913491AA27639FA001F8 -:10A6D000629F410D5A1F06944A1F5A1F1124FC0104 -:10A6E00025913491241B350B1EC0CB01969587957F -:10A6F0008C7F855C984AFC01259134910296FC017F -:10A7000045915491FB01E770FF274E9FC0014F9F79 -:10A71000900D5E9F900D112443E0969587954A9584 -:10A72000E1F7281B390B2436310500F5E0917B1346 -:10A73000F0E0EE0FFF1FE45EFD4F0190F081E02D91 -:10A74000E655FE4F0190F081E02D8191882339F08C -:10A750009091C00095FFFCCF8093C600F6CF4AE0F1 -:10A7600050E08BEF96E1F9DC24E630E0C901A0E08F -:10A77000B0E08093B1179093B217A093B317B09342 -:10A78000B4173093890020938800E091CA17F091A4 -:10A79000CB1780899189A289B389B695A79597959A -:10A7A0008795B095A095909581959F4FAF4FBF4FDE -:10A7B0008093C5179093C617A093C717B093C81777 -:10A7C0008093C1179093C217A093C317B093C41777 -:10A7D0008093BD179093BE17A093BF17B093C01777 -:10A7E0008093B9179093BA17A093BB17B093BC1777 -:10A7F0001092B5171092B6171092B7171092B8179B -:10A8000006C080ED97E09093890080938800E091E6 -:10A81000CA17F091CB17309709F4A1C580A1809396 -:10A82000C9179FB780FF09C0F89480910B018D7FF5 -:10A8300080930B019FBF8FEF08C0F89480910B01AC -:10A84000826080930B019FBF81E080936F0C8091A9 -:10A85000C9179FB781FF09C0F89480910B018E7FC3 -:10A8600080930B019FBF8FEF08C0F89480910B017C -:10A87000816080930B019FBF81E08093700C2091D9 -:10A88000C9173091730C20FF3BC0332309F472C009 -:10A890001E9902C080E031C080919617882361F133 -:10A8A000E091CA17F091CB1780819181A281B38189 -:10A8B000181619061A061B06FCF480918017909151 -:10A8C0008117A0918217B091831780939A17909364 -:10A8D0009B17A0939C17B0939D1781E080939917C5 -:10A8E00080899189A289B3898093B5179093B6170F -:10A8F000A093B717B093B81781E0809396173AC02A -:10A900003323C1F140B151E042FB442740F94527D0 -:10A9100079F180919517882359F1E091CA17F09148 -:10A92000CB1780819181A281B381181619061A066E -:10A930001B06F4F48091801790918117A0918217E3 -:10A94000B091831780939A1790939B17A0939C17AD -:10A95000B0939D175093991780899189A289B389E3 -:10A960008093B5179093B617A093B717B093B81705 -:10A970004093951721FF3BC0332309F471C01D9903 -:10A9800002C080E031C080919417882361F1E0918A -:10A99000CA17F091CB1784819581A681B7811816CB -:10A9A00019061A061B06FCF48091841790918517EE -:10A9B000A0918617B091871780939E1790939F1749 -:10A9C000A093A017B093A11781E080939817808976 -:10A9D0009189A289B3898093B5179093B617A093F4 -:10A9E000B717B093B81781E08093941739C0332319 -:10A9F000B9F130B141E036953170342779F1809169 -:10AA00009317882359F1E091CA17F091CB178481ED -:10AA10009581A681B781181619061A061B06F4F44B -:10AA20008091841790918517A0918617B091871710 -:10AA300080939E1790939F17A093A017B093A11790 -:10AA40004093981780899189A289B3898093B5171B -:10AA50009093B617A093B717B093B8173093931786 -:10AA60009FB722FF47C0F89480910B018B7F8093A2 -:10AA70000B019FBF8FEF8093710C8091730C882323 -:10AA800009F47DC01C9902C080E031C0809192170A -:10AA9000882361F1E091CA17F091CB1780859185E9 -:10AAA000A285B385181619061A061B06FCF48091B8 -:10AAB000881790918917A0918A17B0918B1780936E -:10AAC000A2179093A317A093A417B093A51781E0A2 -:10AAD0008093971780899189A289B3898093B5174C -:10AAE0009093B617A093B717B093B81781E08093EF -:10AAF000921745C0F89480910B01846080930B01FC -:10AB00009FBF31E03093710C8091730C8823B9F1B1 -:10AB100026B12095221F2227221F79F180919117BB -:10AB2000882359F1E091CA17F091CB178085918560 -:10AB3000A285B385181619061A061B06F4F480912F -:10AB4000881790918917A0918A17B0918B178093DD -:10AB5000A2179093A317A093A417B093A5173093AF -:10AB6000971780899189A289B3898093B5179093AB -:10AB7000B617A093B717B093B81720939117809189 -:10AB8000C9179FB783FF09C0F89480910B018064B7 -:10AB900080930B019FBF8FEF08C0F89480910B0149 -:10ABA0008F7B80930B019FBF81E08093720C20E02C -:10ABB0008091AA1728170CF0ADC18091C00087FFC3 -:10ABC00019C03091C60040917C1750917D17CA0181 -:10ABD00001968F77992760917E1770917F1786175E -:10ABE000970741F0FA01E450F94E308390937D17B6 -:10ABF00080937C17E091CA17F091CB178091C5170D -:10AC00009091C617A091C717B091C8174081518184 -:10AC100062817381840F951FA61FB71F8093C5178C -:10AC20009093C617A093C717B093C81718161906A4 -:10AC30001A061B06CCF5409AE091CA17F091CB1783 -:10AC40008091C5179091C617A091C717B091C817EA -:10AC50004089518962897389841B950BA60BB70BB8 -:10AC60008093C5179093C617A093C717B093C817C2 -:10AC700040916F0C8091801790918117A09182175D -:10AC8000B0918317552747FD5095652F752F840F79 -:10AC9000951FA61FB71F8093801790938117A093CD -:10ACA0008217B09383174098E091CA17F091CB17A1 -:10ACB0008091C1179091C217A091C317B091C4178A -:10ACC0004481558166817781840F951FA61FB71F28 -:10ACD0008093C1179093C217A093C317B093C41762 -:10ACE000181619061A061B06CCF5419AE091CA17E8 -:10ACF000F091CB178091C1179091C217A091C31703 -:10AD0000B091C4174089518962897389841B950B5E -:10AD1000A60BB70B8093C1179093C217A093C317CC -:10AD2000B093C4174091700C80918417909185174F -:10AD3000A0918617B0918717552747FD5095652F2D -:10AD4000752F840F951FA61FB71F809384179093AC -:10AD50008517A0938617B09387174198E091CA177B -:10AD6000F091CB178091BD179091BE17A091BF179E -:10AD7000B091C0174085518562857385840F951FFA -:10AD8000A61FB71F8093BD179093BE17A093BF1740 -:10AD9000B093C017181619061A061B06CCF5429A6E -:10ADA000E091CA17F091CB178091BD179091BE1713 -:10ADB000A091BF17B091C0174089518962897389EA -:10ADC000841B950BA60BB70B8093BD179093BE17F2 -:10ADD000A093BF17B093C0174091710C8091881752 -:10ADE00090918917A0918A17B0918B17552747FD2D -:10ADF0005095652F752F840F951FA61FB71F809341 -:10AE0000881790938917A0938A17B0938B1742984D -:10AE1000E091CA17F091CB178091B9179091BA17AA -:10AE2000A091BB17B091BC17448555856685778581 -:10AE3000840F951FA61FB71F8093B9179093BA1759 -:10AE4000A093BB17B093BC17181619061A061B0659 -:10AE5000CCF5439AE091CA17F091CB178091B917BE -:10AE60009091BA17A091BB17B091BC174089518936 -:10AE700062897389841B950BA60BB70B8093B91756 -:10AE80009093BA17A093BB17B093BC174091720C64 -:10AE900080918C1790918D17A0918E17B0918F177C -:10AEA000552747FD5095652F752F840F951FA61FB9 -:10AEB000B71F80938C1790938D17A0938E17B09324 -:10AEC0008F1743988091B5179091B617A091B71737 -:10AED000B091B8170196A11DB11D8093B51790933D -:10AEE000B617A093B717B093B8174091B517509104 -:10AEF000B6176091B7177091B817E091CA17F09123 -:10AF0000CB1780899189A289B389481759076A07A5 -:10AF10007B07B0F04091B5175091B6176091B71705 -:10AF20007091B817E091CA17F091CB178489958971 -:10AF3000A689B78984179507A607B70718F4E6C04E -:10AF40002F5F36CE4091B1175091B2176091B31771 -:10AF50007091B417048D158D268D378DAA27419FCA -:10AF6000B12D529FC001629F900D619F800D911D78 -:10AF7000429FB00D811D9A1F519FB00D811D9A1FD8 -:10AF8000609FB00D811D9A1F509FB10D8A1F9A1F9F -:10AF9000B6958A1F9A1F112444AD55AD480F591F0D -:10AFA0005093AC174093AB1780AD91ADA2ADB3AD4C -:10AFB00060E070E084179507A607B70720F4909328 -:10AFC000AC178093AB176091AB177091AC176134DD -:10AFD0009CE9790728F461328EE4780748F002C0D2 -:10AFE00060E47CE9769567957695679584E007C07F -:10AFF000613197E2790730F07695679582E080932A -:10B00000AA1708C081E08093AA176032710510F476 -:10B0100060E270E060527109611588E07807E0F045 -:10B02000872F9927880F991F880F991F855C944A4D -:10B03000FC01329625913491AA27639FA001629F5B -:10B04000410D5A1F06944A1F5A1F1124FC012591D5 -:10B050003491241B350B1EC0CB01969587958C7FB0 -:10B06000855C984AFC01259134910296FC0145913A -:10B070005491FB01E770FF274E9FC0014F9F900D39 -:10B080005E9F900D112443E0969587954A95E1F7D0 -:10B09000281B390B2436310500F5E0917B13F0E0D5 -:10B0A000EE0FFF1FE45EFD4F0190F081E02DE655AD -:10B0B000FE4F0190F081E02D8191882339F090912D -:10B0C000C00095FFFCCF8093C600F6CF4AE050E069 -:10B0D0008BEF96E142D824E630E03093890020934C -:10B0E00088008091B1179091B217A091B317B091D9 -:10B0F000B417820F931FA11DB11D8093B1179093B8 -:10B10000B217A093B317B093B41704C14091B51709 -:10B110005091B6176091B7177091B817808D918DC7 -:10B12000A28DB38D84179507A607B70708F0E6C070 -:10B130004091AD175091AE176091AF177091B01755 -:10B14000048D158D268D378DAA27419FB12D529FD5 -:10B15000C001629F900D619F800D911D429FB00DB7 -:10B16000811D9A1F519FB00D811D9A1F609FB00DC8 -:10B17000811D9A1F509FB10D8A1F9A1FB6958A1F75 -:10B180009A1F11242091AB173091AC17E05CFF4F50 -:10B190002817390718F42081318102C0281B390B88 -:10B1A00080819181A281B381A90160E070E048179C -:10B1B00059076A077B0708F49C0121349CE9390789 -:10B1C00028F421328EE4380748F002C020E43CE93C -:10B1D000369527953695279584E007C0213197E26B -:10B1E000390730F03695279582E08093AA1708C07A -:10B1F00081E08093AA172032310510F420E230E07C -:10B20000B90160527109611588E07807E0F0872F75 -:10B210009927880F991F880F991F855C944AFC0114 -:10B22000329625913491AA27639FA001629F410D18 -:10B230005A1F06944A1F5A1F1124FC01259134916C -:10B24000241B350B1EC0CB01969587958C7F855CA2 -:10B25000984AFC01259134910296FC014591549144 -:10B26000FB01E770FF274E9FC0014F9F900D5E9F2F -:10B27000900D1124E3E096958795EA95E1F7281B58 -:10B28000390B2436310508F5E0917B13F0E0EE0F21 -:10B29000FF1FE45EFD4F0190F081E02DE655FE4F6B -:10B2A0000190F081E02D8191882339F09091C000C8 -:10B2B00095FFFCCF8093C600F6CF4AE050E08BEFBD -:10B2C00096E10E94ADD024E630E0309389002093CF -:10B2D00088008091AD179091AE17A091AF17B091F3 -:10B2E000B017820F931FA11DB11D8093AD179093CE -:10B2F000AE17A093AF17B093B0170CC08091A817EA -:10B300009091A91790938900809388008091A61747 -:10B310008093AA174091B5175091B6176091B7174F -:10B320007091B817E091CA17F091CB178089918975 -:10B33000A289B389481759076A077B0780F01092E2 -:10B34000CB171092CA179091CD178091CC179817F0 -:10B3500031F08091CC178F5F8F708093CC17FF9165 -:10B36000EF91BF91AF919F918F917F916F915F917D -:10B370004F913F912F911F910F910F900BBE0F9006 -:10B380000FBE0F901F9018959091CD178091CC17FC -:10B39000981741F00E94094680E00E94B5700E9413 -:10B3A000C4A3F2CF0895CF93DF93EFB7F894EC01E5 -:10B3B00088819981AA81BB8180938017909381179E -:10B3C000A0938217B0938317EB0188819981AA819A -:10B3D000BB818093841790938517A0938617B093B1 -:10B3E0008717EA0188819981AA81BB818093881798 -:10B3F00090938917A0938A17B0938B17E9018881DE -:10B400009981AA81BB8180938C1790938D17A0930B -:10B410008E17B0938F17EFBFDF91CF9108952FB79D -:10B42000F894FC0180819181A281B38180938C1773 -:10B4300090938D17A0938E17B0938F172FBF0895F9 -:10B440002FB7F89494E0899FF0011124E058F84E4A -:10B4500060817181828193812FBF089595DF179A52 -:10B4600010924E13169A10924F13159A1092501371 -:10B47000149A089580916F008D7F80936F00909152 -:10B48000CD178091CC17981769F09091CD178091C6 -:10B49000CC179817A1F38091CC178F5F8F70809392 -:10B4A000CC17EDCF1092CB171092CA1780916F0076 -:10B4B000826080936F000895813039F120F08230EE -:10B4C00009F445C0089517988091090182702FB73B -:10B4D000662329F0F89490910B01926004C0F894CF -:10B4E00090910B019D7F90930B012FBF409A409844 -:10B4F0009FB7882329F0F89480910B01826048C09F -:10B50000F89480910B018D7F43C0169880910901BA -:10B5100081702FB7662329F0F89490910B01916008 -:10B5200004C0F89490910B019E7F90930B012FBF64 -:10B53000419A41989FB7882329F0F89480910B0194 -:10B54000816026C0F89480910B018E7F21C01598F0 -:10B550008091090184702FB7662329F0F8949091A7 -:10B560000B01946004C0F89490910B019B7F909321 -:10B570000B012FBF429A42989FB7882329F0F89475 -:10B5800080910B01846004C0F89480910B018B7F43 -:10B5900080930B019FBF0895EF92FF920F931F932B -:10B5A000CF93DF931F92CDB7DEB77B018C01061BD3 -:10B5B000170B460FC701800F911F49830F94CA02D2 -:10B5C000F70181937F0149814E13F4CF0F90DF91F2 -:10B5D000CF911F910F91FF90EF900895DB018111A2 -:10B5E0000DC02FEF30E00E9401FB20ED37E040E07E -:10B5F00050E00E94DFFAB9018EE21DC0813069F48B -:10B600002FEF30E00E9401FB20ED37E040E050E0FA -:10B610000E94DFFAB9018DE20EC0823071F42FEF83 -:10B6200030E00E9401FB20ED37E040E050E00E9456 -:10B63000DFFAB9018CE20C9442EE089541E060E932 -:10B6400077E18FEF9FE0A8DF61E08EE20E944CEF90 -:10B6500061E08DE20E944CEF61E08CE20E944CEFD1 -:10B6600080919017811115C08091740C9091750C88 -:10B670009093810C8093800C8091760C9091770C44 -:10B680009093830C8093820C8091780C9091790C2C -:10B6900014C080917A0C90917B0C9093810C8093D4 -:10B6A000800C80917C0C90917D0C9093830C809306 -:10B6B000820C80917E0C90917F0C9093850C8093EE -:10B6C000840C6091800C7091810C80E087DF609128 -:10B6D000820C7091830C81E081DFA091840CB09189 -:10B6E000850C2FEF30E00E9401FB20ED37E040E0B9 -:10B6F00050E00E94DFFAB9018CE20E9442EE809194 -:10B700002101887F8160809321010895CF93C42F08 -:10B7100067FD20C0813061F028F0823079F08330FD -:10B7200099F018C088E20E9485EFC7FF1DC02AC0AB -:10B7300085E40E9485EFC7FF1AC024C084E40E94FC -:10B7400085EFC7FF17C01EC081E40E9485EFC7FFC9 -:10B7500014C018C0C7FD16C0813049F028F08230EF -:10B7600049F0833051F00EC06C2F89E208C06C2F75 -:10B7700087E205C06C2F83E402C06C2F82E4CF9176 -:10B780000C9485EFCF910895643079F028F46130FE -:10B7900041F0623041F00895683051F0603141F07D -:10B7A000089540E003C040E004C041E060E002C012 -:10B7B00041E061E0ABCFFF920F931F93CF93DF93F4 -:10B7C00000D01F921F92CDB7DEB785E0EBE0FDE021 -:10B7D000DE01119601900D928A95E1F761E088E211 -:10B7E0000E944CEF61E089E20E944CEF61E085E449 -:10B7F0000E944CEF61E087E20E944CEF61E084E43C -:10B800000E944CEF61E083E40E944CEF61E081E430 -:10B810000E944CEF61E082E40E944CEF8E010F5FCA -:10B820001F4FF12CF80161918F018F2DADDFF39443 -:10B83000F5E0FF12F7CF0F900F900F900F900F9041 -:10B84000DF91CF911F910F91FF900895F7DEB3DF45 -:10B85000EAE0F1E080818260808380818160808382 -:10B860008081846080838081806480830F9A179AAE -:10B870000E9A169A0D9A159A0C9A149A26982E9A40 -:10B8800025982D9A24982C9A0A98129A0998119A18 -:10B890003F98479A389A4098179A10924E13399ABF -:10B8A0004198169A10924F133A9A4298159A10920C -:10B8B00050133B9A4398149AA1E8B0E08C918F7E84 -:10B8C0008C938C9188608C93E0E8F0E080818D7F90 -:10B8D000808380818E7F808380818F73808380814D -:10B8E0008F7C80838C91887F82608C9380E090E451 -:10B8F00090938900809388001092850010928400B4 -:10B90000EFE6F0E080818260808381E08093730CB9 -:10B9100078940895EBE1F7E58491882341F09091C4 -:10B92000C00095FFFCCF8093C6003196F5CFE7E1CC -:10B93000F7E58491882341F09091C00095FFFCCFFA -:10B940008093C6003196F5CF88E20E94BAEF4AE0B4 -:10B9500050E0BC018BEF96E10E9470D089E20E941A -:10B96000BAEF4AE050E0BC018BEF96E10E9470D044 -:10B970008091C00085FFFCCF8AE08093C600E3E1A0 -:10B98000F7E58491882341F09091C00095FFFCCFAA -:10B990008093C6003196F5CF85E40E94BAEF4AE065 -:10B9A00050E0BC018BEF96E10E9470D087E20E94CC -:10B9B000BAEF4AE050E0BC018BEF96E10E9470D0F4 -:10B9C0008091C00085FFFCCF8AE08093C600EFE045 -:10B9D000F7E58491882341F09091C00095FFFCCF5A -:10B9E0008093C6003196F5CF84E40E94BAEF4AE016 -:10B9F00050E0BC018BEF96E10E9470D083E40E947E -:10BA0000BAEF4AE050E0BC018BEF96E10E9470D0A3 -:10BA10008091C00085FFFCCF8AE08093C600EAE0F9 -:10BA2000F7E58491882341F09091C00095FFFCCF09 -:10BA30008093C6003196F5CF81E40E94BAEF4AE0C8 -:10BA400050E0BC018BEF96E10E9470D082E40E942E -:10BA5000BAEF4AE050E0BC018BEF96E10E9470D053 -:10BA60008091C00085FFFCCF8AE08093C6000895D6 -:10BA7000CF93DF931F92CDB7DEB72091171E309181 -:10BA8000181ECE0101962115310519F0821B930B6A -:10BA900002C08D519E410F90DF91CF9108952F925A -:10BAA0003F924F925F926F927F928F929F92AF924E -:10BAB000BF92CF92DF92EF92FF920F931F93CF939B -:10BAC000DF93CDB7DEB768970FB6F894DEBF0FBE31 -:10BAD000CDBF1C012A013B0148015901DC01D89668 -:10BAE0006D917D918D919C91DB970E947FF76B0109 -:10BAF0007C01A30192010E94B4F90E94CCF60E943D -:10BB000053F769877A878B879C87A5019401C701C2 -:10BB1000B6010E94B4F90E94CCF60E9453F76D87DB -:10BB20007E878F87988B29853A854B855C8528375A -:10BB300031054105510540F488E790E0A0E0B0E010 -:10BB400089879A87AB87BC872D853E854F85588925 -:10BB5000283731054105510540F488E790E0A0E021 -:10BB6000B0E08D879E87AF87B88B91012C5B3F4FEC -:10BB7000D9018D919D910D90BC91A02D8D839E83B7 -:10BB8000AF83B887BC01CD010E9481F769837A83B6 -:10BB90008B839C8369857A858B859C850E947FF742 -:10BBA000698B7A8B8B8B9C8B20E030E0A9016981BB -:10BBB0007A818B819C810E94DFF6882339F1A7016D -:10BBC0009601C701B6010E94B4F94B015C012989B5 -:10BBD0003A894B895C89CA01B9010E94B4F99B0179 -:10BBE000AC01C501B4010E9405F64B015C0129813D -:10BBF0003A814B815C81CA01B9010E9406F69B0122 -:10BC0000AC01C501B4010E94E6F603C060E070E03B -:10BC1000CB010E94CCF60E944EF72B013C016D81B6 -:10BC20007E818F81988590958095709561957F4FE5 -:10BC30008F4F9F4F0E9481F74B015C016D857E8580 -:10BC40008F8598890E947FF76D837E838F83988785 -:10BC500020E030E0A901C501B4010E94DFF688238D -:10BC600049F12D813E814F815885CA01B9010E9459 -:10BC7000B4F96D8B7E8B8F8B988FA7019601C701CE -:10BC8000B6010E94B4F99B01AC016D897E898F8950 -:10BC9000988D0E9405F66B017C01A5019401C501F8 -:10BCA000B4010E9406F69B01AC01C701B6010E94D7 -:10BCB000E6F603C060E070E0CB010E94BCF7F10142 -:10BCC00080889188A288B38875016401C418D5085A -:10BCD000E608F7080E944EF7C61AD70AE80AF90ADA -:10BCE000F7FE6BC020E030E0A90169817A818B8189 -:10BCF0009C810E94DFF6882309F447C029813A819C -:10BD00004B815C81CA01B9010E9406F66B017C017E -:10BD1000C501B4010E947FF79B01AC01C701B601C8 -:10BD20000E94B4F96B017C0129893A894B895C89AD -:10BD3000CA01B9010E94B4F99B01AC01C701B60167 -:10BD40000E9405F66B017C012D813E814F81588553 -:10BD5000CA01B9010E94B4F99B01AC01C701B60147 -:10BD60000E9406F66B017C0120E030E040E850E4E0 -:10BD700069817A818B819C810E94B4F99B01AC011D -:10BD8000C701B6010E94E6F603C060E070E0CB0197 -:10BD90000E94CCF60E944EF72B013C0197FF03C096 -:10BDA000412C512C3201481459046A047B0410F0D0 -:10BDB00024013501C12CD12C76018FB7F894F10103 -:10BDC000E45BFF4F9081911125C0D10154964D92B3 -:10BDD0005D926D927C925797C40CD51CE61CF71CA3 -:10BDE000F101C08ED18EE28EF38E29853A854B8586 -:10BDF0005C85DC962D933D934D935C93DF97A05C1F -:10BE0000BF4F2D853E854F8558892D933D934D938A -:10BE10005C9313978FBF68960FB6F894DEBF0FBE82 -:10BE2000CDBFDF91CF911F910F91FF90EF90DF90E9 -:10BE3000CF90BF90AF909F908F907F906F905F90CA -:10BE40004F903F902F9008954F925F926F927F9204 -:10BE5000AF92BF92CF92DF92EF92FF920F931F9318 -:10BE6000CF93DF93EB017A01209709F458C0411575 -:10BE7000510509F454C0AAA4BBA40CA51DA59501A5 -:10BE8000A8016EA17FA188A599A50E94DFF688234D -:10BE900009F445C08FA981113AC0F70146A057A007 -:10BEA00060A471A4A3019201B501C8010E94E2F847 -:10BEB00018166CF5A3019201C301B2010E94B4F9F6 -:10BEC0006B017C018AA99BA9ACA9BDA9BC01CD01CC -:10BED00090589B01AC010E9406F62EA53FA548A9EB -:10BEE00059A90E94B4F99B01AC01C701B6010E9497 -:10BEF00005F60E9421FA6B017C019B01AC01B501A2 -:10BF0000C8010E94DFF687FD02C056018701A50126 -:10BF1000B8014EA35FA368A779A781E08EABDF913C -:10BF2000CF911F910F91FF90EF90DF90CF90BF9036 -:10BF3000AF907F906F905F904F900895DF92EF9257 -:10BF4000FF920F931F93CF93DF938091CD178FB7FD -:10BF5000F894E090CC178FBF8091CD1790E08E19A8 -:10BF600091098F7099270497F4F01091CD17135011 -:10BF70001F7040E050E000E0F12C8DE4D82E1E153B -:10BF800091F0111101C010E11150D19EE001112476 -:10BF9000C253D84E602F7F2DCE0156DF402F5F2D2C -:10BFA0000C2FFD2EECCFDF91CF911F910F91FF90C1 -:10BFB000EF90DF9008954F925F926F927F92AF92D1 -:10BFC000BF92CF92DF92EF92FF920F931F93CF9386 -:10BFD000DF938C01EB01009709F453C0FC0187A9A2 -:10BFE00081114FC046A057A060A471A4AEA0BFA00D -:10BFF000C8A4D9A49501A601C301B2010E94DFF62D -:10C0000087FF3FC0A3019201C301B2010E94B4F9AE -:10C010002B013C01F80182A993A9A4A9B5A9BC01EF -:10C02000CD0190589B01AC010E9406F6F80126A5AF -:10C0300037A540A951A90E94B4F99B01AC01C301E5 -:10C04000B2010E9405F60E9421FA7B018C019B013E -:10C05000AC01B501C6010E94DFF687FF02C0750181 -:10C0600086019701A801B501C6010E94DFF6882369 -:10C0700041F0A701B8014EA35FA368A779A781E0AB -:10C080008EABDF91CF911F910F91FF90EF90DF90DA -:10C09000CF90BF90AF907F906F905F904F9008953A -:10C0A000EF92FF920F931F93CF93DF93F090CC17F3 -:10C0B00000E010E080E090E02DE4E22E2091CD172A -:10C0C000F21689F0EF9CE0011124C253D84EAE0164 -:10C0D000B80171DF81E08F0D803109F480E0F82E26 -:10C0E000C8018E01EBCF40E050E0B801DF91CF9165 -:10C0F0001F910F91FF90EF905ECF4F925F926F92E2 -:10C100007F928F929F92AF92BF92CF92DF92EF92E7 -:10C11000FF920F931F93CF93DF939090CC17C0E0C3 -:10C12000D0E03DE4832E892D992787FD90952091BD -:10C13000CD1730E082179307B9F1889E5001899E90 -:10C14000B00C1124C5018253984E5C01209729F14F -:10C150008EA9811104C0F50186A98823F1F0CAA037 -:10C16000DBA0ECA0FDA0A7019601F50166A177A1D7 -:10C1700080A591A50E94E6F62B013C01A70196013E -:10C180006EA17FA188A599A50E94E6F6AB01BC012E -:10C1900093018201CE0183DC1EAA9394F0E19F12E9 -:10C1A00001C0912CE501BFCF2097E9F0CAA0DBA028 -:10C1B000ECA0FDA0A70196016DEC7CEC8CE49DE366 -:10C1C0000E94E6F64B015C01A70196016EA17FA1DA -:10C1D00088A599A50E94E6F6AB01BC0195018401F2 -:10C1E000CE015DDC1EAADF91CF911F910F91FF90D0 -:10C1F000EF90DF90CF90BF90AF909F908F907F9007 -:10C200006F905F904F90089599DE4ADF76CF10923D -:10C21000CD171092CC1780E1E5EBFCE1DF011D9218 -:10C220008A95E9F71092A51C1092A61C1092A71CE3 -:10C230001092A81C1092A91C1092AA1C1092AB1C60 -:10C240001092AC1C1092AD1C1092AE1C1092AF1C40 -:10C250001092B01C1092B11C1092B21C1092B31C20 -:10C260001092B41C1092A11C1092A21C1092A31C3C -:10C270001092A41C0895609147139091CC1780915F -:10C28000CD17981781F08091CC179DE4899FF0011C -:10C290001124EA5EF74E60819091CD17891719F04D -:10C2A0008F5F8F70F9CF70E086E00C9442EE2F9292 -:10C2B0003F924F925F926F927F928F929F92AF9236 -:10C2C000BF92CF92DF92EF92FF920F931F93CF9383 -:10C2D000DF93CDB7DEB7CC56D1090FB6F894DEBFE9 -:10C2E0000FBECDBF3C015B014A012901E8A6F8AEB3 -:10C2F00025960FAF25971CAF86012091CD172F5F94 -:10C3000029962FAF2997203119F429961FAE299726 -:10C3100029963FAD2997E32EFF24E7FCF094809106 -:10C32000CC1790E08E159F0541F40E94094680E0ED -:10C330000E94B5700E94C4A3F2CF2091011D3091DC -:10C34000021D4091031D5091041DD3016D917D91FB -:10C350008D919C910E94B4F90E9484F969966CAF0A -:10C360007DAF8EAF9FAF69972091051D3091061D5F -:10C370004091071D5091081DF501608171818281F6 -:10C3800093810E94B4F90E9484F96D966CAF7DAFE1 -:10C390008EAF9FAF6D972091091D30910A1D40917E -:10C3A0000B1D50910C1DD4016D917D918D919C912F -:10C3B0000E94B4F90E9484F9A1966CAF7DAF8EAF54 -:10C3C0009FAFA19720910D1D30910E1D40910F1D23 -:10C3D0005091101DF20160817181828193810E94D0 -:10C3E000B4F90E9484F924966CAF7DAF8EAF9FAFF5 -:10C3F00024978091C11C9091C21CA091C31CB09144 -:10C40000C41C24962CAD3DAD4EAD5FAD24972817CE -:10C4100039074A075B0709F4C8C0E091491334E0C3 -:10C42000E39FF0011124E85FFE4E2091860C3091CD -:10C43000870C4091880C5091890C608171818281B8 -:10C4400093810E94DFF687FF3CC024968CAD9DADA2 -:10C45000AEADBFAD24978093C11C9093C21CA09336 -:10C46000C31CB093C41CE1E9F2E58491882341F038 -:10C470009091C00095FFFCCF8093C6003196F5CF18 -:10C48000E0917B13F0E0EE0FFF1FE45EFD4F0190A3 -:10C49000F081E02DE255FE4F0190F081E02D849176 -:10C4A000882341F09091C00095FFFCCF8093C60097 -:10C4B0003196F5CF8091C00085FFFCCF8AE0809354 -:10C4C000C6008091C11C9091C21CA091C31CB09168 -:10C4D000C41C24962CAD3DAD4EAD5FAD2497281BFA -:10C4E000390B4A0B5B0BCA01B90157FF07C0909586 -:10C4F0008095709561957F4F8F4F9F4F0E9481F778 -:10C500006B017C0120E030E04EEC53E460910D1DA6 -:10C5100070910E1D80910F1D9091101D0E94B4F915 -:10C520009B01AC01C701B6010E94E2F818160CF09D -:10C530003CC024968CAD9DADAEADBFAD249780932D -:10C54000C11C9093C21CA093C31CB093C41CE1E90E -:10C55000F2E58491882341F09091C00095FFFCCFD3 -:10C560008093C6003196F5CFE0917B13F0E0EE0F9B -:10C57000FF1FE45EFD4F0190F081E02DE055FE4F7E -:10C580000190F081E02D8491882341F09091C000CA -:10C5900095FFFCCF8093C6003196F5CF8091C00007 -:10C5A00085FFFCCF8AE08093C6008091CD179DE483 -:10C5B000899F10011124D101A253B84E1D01FD0124 -:10C5C000E45BFF4F10822091B51C3091B61C409166 -:10C5D000B71C5091B81C2BA33CA34DA35EA3699636 -:10C5E0004CAC5DAC6EAC7FAC6997421A530A640ADE -:10C5F000750A77FE08C07094609450944094411C72 -:10C60000511C611C711CD1014D925D926D927C9206 -:10C6100013972091B91C3091BA1C4091BB1C5091CA -:10C62000BC1C2CAB3DAB4EAB5FAB6D968CAC9DACEC -:10C63000AEACBFAC6D97821A930AA40AB50AB7FED6 -:10C6400008C0B094A09490948094811C911CA11C6B -:10C65000B11CD10114968D929D92AD92BC92179708 -:10C660002091BD1C3091BE1C4091BF1C5091C01C3C -:10C670002CA73DA74EA75FA7A196CCACDDACEEAC36 -:10C68000FFACA197C21AD30AE40AF50AF7FE08C064 -:10C69000F094E094D094C094C11CD11CE11CF11C16 -:10C6A000D1011896CD92DD92ED92FC921B972091CC -:10C6B000C11C3091C21C4091C31C5091C41C28ABBA -:10C6C00039AB4AAB5BAB24966CAD7DAD8EAD9FAD07 -:10C6D0002497621B730B840B950B97FF07C09095F3 -:10C6E0008095709561957F4F8F4F9F4F0E9481F786 -:10C6F000E091491334E0E39FF0011124E55CF34F2E -:10C7000020813181428153810E94B4F90E944EF709 -:10C710009B01AC01A091470CB091480C0E9411FB09 -:10C7200024E630E040E050E00E94DFFAD1011C96A0 -:10C730002D933D934D935C931F97C814D904EA043D -:10C74000FB0414F475016401C216D306E406F50671 -:10C7500014F469017A01D301C2014C145D046E0422 -:10C760007F0414F4D701C601F101808B918BA28B59 -:10C77000B38B0697A105B10508F461C7E85BFF4FCD -:10C780008091471390914813AA2797FDA095BA2F3F -:10C7900080839183A283B38369962CAD3DAD4EAD6A -:10C7A0005FAD69978BA19CA1ADA1BEA128173907E8 -:10C7B0004A075B0724F0D10190961C9203C081E0E8 -:10C7C000F10180A36D962CAD3DAD4EAD5FAD6D9783 -:10C7D0008CA99DA9AEA9BFA9281739074A075B07ED -:10C7E0003CF4D10190968C919097826090968C93B6 -:10C7F000A1962CAD3DAD4EAD5FADA1978CA59DA58D -:10C80000AEA5BFA5281739074A075B073CF4D1013D -:10C8100090968C919097846090968C9324962CADF2 -:10C820003DAD4EAD5FAD249788A999A9AAA9BBA932 -:10C83000281739074A075B073CF4D10190968C9181 -:10C840009097886090968C93F8018081D1019196A1 -:10C850008C9345284628472809F01798F1018481D0 -:10C860009581A681B781892B8A2B8B2B09F016988D -:10C87000F10180859185A285B385892B8A2B8B2B2D -:10C8800009F01598F10184859585A685B785892BD2 -:10C890008A2B8B2B69F180919E1C882319F0815083 -:10C8A00080939E1C80919F1C882319F08150809357 -:10C8B0009F1C8091A01C882319F081508093A01C9C -:10C8C000D8018C91813061F030F0823089F480E2BF -:10C8D0008093A01C08C0149880E280939E1C08C01E -:10C8E00080E280939F1C80919E1C811101C0149A4C -:10C8F000D1011C962D913D914D915C911F972D96E4 -:10C900002CAF3DAF4EAF5FAF2D97232B242B252BA4 -:10C9100009F5B091D51CBBA3E091D61CEFA31091F3 -:10C92000D71C0091D81C2B2F3E2F412F502F68A5CC -:10C9300078AD25968FAD25979CAD0E94DFF687FDDB -:10C9400016C0F8A5FBA328AD2FA325961FAD2597EC -:10C950000CAD0DC03091ED1C3BA34091EE1C4FA3DC -:10C960001091EF1C0091F01C232F342FDECF80910B -:10C97000B51C9091B61CA091B71CB091B81C6996DB -:10C980002CAD3DAD4EAD5FAD6997281B390B4A0B01 -:10C990005B0BCA01B9010E9481F72091011D309102 -:10C9A000021D4091031D5091041D0E94E6F668A7E8 -:10C9B00079A78AA79BA7698B7A8B8B8B9C8B6D96AB -:10C9C0006CAD7DAD8EAD9FAD6D972CA93DA94EA9E7 -:10C9D0005FA9621B730B840B950B0E9481F720915A -:10C9E000051D3091061D4091071D5091081D0E94A4 -:10C9F000E6F64B015C016D8B7E8B8F8B988FA19639 -:10CA00006CAD7DAD8EAD9FADA1972CA53DA54EA57E -:10CA10005FA5621B730B840B950B0E9481F720911D -:10CA2000091D30910A1D40910B1D50910C1D0E9453 -:10CA3000E6F66B017C01698F7A8F8B8F9C8F249631 -:10CA40006CAD7DAD8EAD9FAD249728A939A94AA9BB -:10CA50005BA9621B730B840B950B0E9481F72091DD -:10CA60000D1D30910E1D40910F1D5091101D0E9403 -:10CA7000E6F6E091491334E0E39FF0011124E55C10 -:10CA8000F34F20813181428153810E94B4F92B01FF -:10CA90003C016091470C7091480C882777FD809588 -:10CAA000982F0E9481F79B01AC01C301B2010E9443 -:10CAB000B4F920E030E048EC52E40E94E6F66D8FD5 -:10CAC0007E8F8F8F98A3D1012D913D914D915C91D7 -:10CAD000139728AF39AF4AAF5BAF26303105410518 -:10CAE000510504F514964D905D906D907C901797CC -:10CAF000B6E04B16510461047104A4F4F1014084C2 -:10CB0000518462847384F6E04F1651046104710409 -:10CB10004CF4DC01CB01BF77F10186A797A7A0AB4E -:10CB2000B1AB27C068A579A58AA59BA50E945FFA2D -:10CB30002B013C01C501B4010E945FFA9B01AC01CD -:10CB4000C301B2010E9406F64B015C01C701B601A8 -:10CB50000E945FFA9B01AC01C501B4010E9406F678 -:10CB60000E9421FAD1019E966D937D938D939C93A3 -:10CB7000D197D1019E962D913D914D915C91D19788 -:10CB800028962CAF3DAF4EAF5FAF289760E070E0C6 -:10CB900080E89FE30E94E6F69B01AC016BA17FA1B8 -:10CBA000812F902F0E94B4F92B013C019091CD1759 -:10CBB0008091CC17E92FF0E0E81BF109EF70FF2717 -:10CBC000FDABECABA301920160E074E284E799E471 -:10CBD0000E94E6F60E9484F96B017C012CA93DA914 -:10CBE000223031050CF442C04901AA2497FCA094DC -:10CBF000BA2CC501B4010E9481F720E030E040E08A -:10CC000051E40E94DFF687FF31C08091211D909191 -:10CC1000221DA091231DB091241DC816D906EA0635 -:10CC2000FB0620F5BC01CD016C197D098E099F0919 -:10CC3000660F771F881F991FA50194010E94BDFAF6 -:10CC4000CA01B9010E947FF70E9484F96C0D7D1D15 -:10CC50008E1D9F1D0E947FF79B01AC0160E074E276 -:10CC600084E799E40E94E6F62B013C01A3019201BE -:10CC700028966CAD7DAD8EAD9FAD28970E94B4F91E -:10CC80006CAF7DAF8EAF9FAFD10192966D937D93C8 -:10CC90008D939C93959750966D917D918D919C91DC -:10CCA00053970E947FF76BA37CA38DA39EA3A30140 -:10CCB00092010E94B4F90E94CCF60E9453F76B01D6 -:10CCC0007C01F10160AF71AF82AF93AF8E010F5E57 -:10CCD0001F4F21E13DE165963FAF2EAF6597AE0155 -:10CCE0004F5D5F4F5AA349A3CE01019663969FAF54 -:10CCF0008EAF63971FA21CA690E898ABAFE3A8A7DE -:10CD0000F80161917191819191918F01A30192013B -:10CD10000E94B4F96396AEADBFAD63976D937D93FA -:10CD20008D939D936396BFAFAEAF63979B01AC01AC -:10CD30005F7761962CAF3DAF4EAF5FAF6197659661 -:10CD4000AEADBFAD65978D909D90AD90BD90659651 -:10CD5000BFAFAEAF6597A501940161966CAD7DAD97 -:10CD60008EAD9FAD61970E94E2F81816F4F46196BB -:10CD70002CAD3DAD4EAD5FAD6197C501B4010E94D4 -:10CD8000E6F6B62EA72E982E892E262F372F482F5F -:10CD9000592F6FA17CA588A998A50E94DFF687FD71 -:10CDA00004C0BFA2ACA698AA88A6E9A1FAA10E1752 -:10CDB0001F0709F0A5CF20E030E040E85FE36FA156 -:10CDC0007CA588A998A50E94DFF687FF3DC05E017B -:10CDD000F1E1AF0EB11C8E010F5F1F4F2FA13CA5DB -:10CDE00048A958A5D8016D917D918D919C910E9483 -:10CDF000B4F9F80161937193819391938F01EA15CE -:10CE0000FB0561F72FA13CA548A958A56CAD7DADE8 -:10CE10008EAD9FAD0E94B4F9D10192966D937D9332 -:10CE20008D939C939597C701B6010E947FF72FA120 -:10CE30003CA548A958A50E94B4F90E9453F7F101F6 -:10CE400060AF71AF82AF93AF28962CAD3DAD4EADC4 -:10CE50005FAD28976BA17CA18DA19EA10E94E6F6F3 -:10CE60006B017C0128AD39AD4AAD5BAD232B242B82 -:10CE7000252B59F5F10184819581A681B781892BF4 -:10CE80008A2B8B2B11F580859185A285B385892B03 -:10CE90008A2B8B2BD1F42091E51C3091E61C40911C -:10CEA000E71C5091E81CC701B6010E94B4F90E942A -:10CEB000CCF681010C5B1F4F0E9453F7D8016D9394 -:10CEC0007D938D939C931397F6C02091E91C30912C -:10CED000EA1C4091EB1C5091EC1CC701B6010E946A -:10CEE000B4F90E94CCF60E9453F781010C5B1F4FEE -:10CEF000F80160837183828393834090C51C5090B6 -:10CF0000C61C6090C71C7090C81C0E947FF74B0124 -:10CF10005C0168AD79AD8AAD9BAD0E9481F79B0144 -:10CF2000AC01C501B4010E94B4F92BA13CA14DA1F3 -:10CF30005EA10E94E6F64B015C01C301B2010E94B2 -:10CF40007FF79B01AC01C501B4010E94E2F81816FD -:10CF500034F4D8014D925D926D927C92139740907B -:10CF6000C91C5090CA1C6090CB1C7090CC1CF8015E -:10CF700060817181828193810E947FF74B015C0106 -:10CF8000D10114966D917D918D919C9117970E947E -:10CF900081F79B01AC01C501B4010E94B4F92BA13A -:10CFA0003CA14DA15EA10E94E6F64B015C01C301CC -:10CFB000B2010E947FF79B01AC01C501B4010E9440 -:10CFC000E2F818162CF4F8014082518262827382D2 -:10CFD0004090D11C5090D21C6090D31C7090D41CF7 -:10CFE00081010C5B1F4FD8016D917D918D919C91BA -:10CFF0000E947FF74B015C012D966CAD7DAD8EAD2F -:10D000009FAD2D970E9481F79B01AC01C501B40132 -:10D010000E94B4F92BA13CA14DA15EA10E94E6F6AD -:10D020004B015C01C301B2010E947FF79B01AC017F -:10D03000C501B4010E94E2F818162CF4F8014082F0 -:10D040005182628273824090CD1C5090CE1C6090C1 -:10D05000CF1C7090D01CD8016D917D918D919C91C9 -:10D060000E947FF74B015C01F1016085718582852B -:10D0700093850E9481F79B01AC01C501B4010E9418 -:10D08000B4F92BA13CA14DA15EA10E94E6F64B0193 -:10D090005C01C301B2010E947FF79B01AC01C50195 -:10D0A000B4010E94E2F8181634F4D8014D925D9252 -:10D0B0006D927C921397F101EC5BFF4F608171815F -:10D0C000828193810E947FF74B015C01A701960149 -:10D0D0000E94E6F6A5966CAF7DAF8EAF9FAFA59789 -:10D0E000F10162AB73AB84AB95AB2DEB37E346E05C -:10D0F00051E4C501B4010E94B4F90E944EF7D10178 -:10D100005C966D937D938D939C935F97C090E11C8B -:10D11000D090E21CE090E31CF090E41C20E030E0B2 -:10D1200040E05FE3C701B6010E94B4F96BA37FA39F -:10D130008C0129853A854B855C85A9962CAF3DAF3E -:10D140004EAF5FAFA9978091DD1C9091DE1CA0913E -:10D15000DF1CB091E01C8CAF9DAFAEAFBFAF20E045 -:10D1600030E040E05FE3BC01CD010E94B4F9B62E8F -:10D17000A72E982E892EA9966CAD7DAD8EAD9FAD54 -:10D18000A9979F772B2D3A2D492D582D0E94E2F813 -:10D1900018167CF42B2D3A2D492D582D6BA17FA10B -:10D1A000C8010E94DFF687FD04C0BBA2AFA2092D13 -:10D1B000182D2D853E854F855889AD962CAF3DAFF6 -:10D1C0004EAF5FAFAD978091D91C9091DA1CA091C2 -:10D1D000DB1CB091DC1C2D968CAF9DAFAEAFBFAF0A -:10D1E0002D9720E030E040E05FE3BC01CD010E94DC -:10D1F000B4F9B62EA72E982E892EAD966CAD7DADC6 -:10D200008EAD9FADAD979F772B2D3A2D492D582D83 -:10D210000E94E2F818167CF42B2D3A2D492D582D3A -:10D220006BA17FA1C8010E94DFF687FD04C0BBA2ED -:10D23000AFA2092D182DD1019296BC91BCA7F10186 -:10D24000F3A1F8ABD1019496BC91B8A7F101F5A177 -:10D25000F8AF2CA538A94B2F5F2F6BA17FA1C80178 -:10D260000E94DFF687FD06C02CA52BA338A93FA39B -:10D2700008A518AD4CA95DA9423051050CF405C1B3 -:10D280005091A11C5CAB8091A21C2E968FAF2E9763 -:10D290009091A31C62969FAF6297A091A41C649684 -:10D2A000AFAF649727E137EB41ED58E36CA9782FD6 -:10D2B000892F9A2F0E94E2F818160CF0E6C02091F0 -:10D2C000A51C3091A61C4091A71C5091A81C6981F7 -:10D2D0007A818B819C810E9405F62B013C01209173 -:10D2E000A91C3091AA1C4091AB1C5091AC1C6D81C3 -:10D2F0007E818F8198850E9405F64B015C01A30118 -:10D300009201C301B2010E94B4F92B013C01A501B5 -:10D310009401C501B4010E94B4F99B01AC01C301A1 -:10D32000B2010E9406F60E9421FA4B015C01A7019E -:10D3300096010E94E2F818164CF4A5019401C70169 -:10D34000B6010E94E6F65B014C0106C0A12CB12C8F -:10D3500040E8842E5FE3952E2091AD1C3091AE1CE9 -:10D360004091AF1C5091B01CA9966CAD7DAD8EADB7 -:10D370009FADA9970E9405F66B017C01E894F7F830 -:10D380002CAD3DAD4EAD5FADC701B6010E94E2F8D8 -:10D390001816D4F4A70196016CAD7DAD8EAD9FAD8E -:10D3A0000E94E6F6F62EE72ED82EC92E262F372F0E -:10D3B000482F592FB501C4010E94DFF687FD04C034 -:10D3C000AF2CBE2C8D2C9C2C2091B11C3091B21C0A -:10D3D0004091B31C5091B41CAD966CAD7DAD8EAD3B -:10D3E0009FADAD970E9405F66B017C01E894F7F8BC -:10D3F0002D962CAD3DAD4EAD5FAD2D97C701B6015D -:10D400000E94E2F81816E4F4A70196012D966CAD7F -:10D410007DAD8EAD9FAD2D970E94E6F6F62EE72EE0 -:10D42000D82EC92E262F372F482F592FB501C401CA -:10D430000E94DFF687FD04C0AF2CBE2C8D2C9C2CE7 -:10D440009501A4016CA578A988A598AD0E94B4F9AE -:10D450004B015C019B01AC016CA92E967FAD2E9710 -:10D4600062968FAD629764969FAD64970E94DFF6D7 -:10D4700087FF0EC08CA82E969FAC2E976296AFACFD -:10D4800062976496BFAC649703C08BA09FA05801BD -:10D49000C401D501F10182A793A7A4A7B5A7A596BA -:10D4A0006CAD7DAD8EAD9FADA59790589B01AC0145 -:10D4B0000E9406F628962CAD3DAD4EAD5FAD289787 -:10D4C0000E94B4F99B01AC016BE077ED83E29BE332 -:10D4D0000E9405F60E9421FA7B01D82EC92E9B01DD -:10D4E000482F592FB401C5010E94DFF687FD03C004 -:10D4F0004701AD2CBC2CC401D501F10186A397A333 -:10D50000A0A7B1A797014D2D5C2D6CA578A988A582 -:10D5100098AD0E94DFF618162CF081E0D101D79665 -:10D520008C9302C0F10117AA81E0D101D6968C93A9 -:10D5300080E1FE013196A5EABCE101900D928A9549 -:10D54000E1F78CA598A9A8A5B8AD8093A11C9093EC -:10D55000A21CA093A31CB093A41C9C01AD016BA1C1 -:10D560007FA1C8010E94E6F66B017C012CA538A9B9 -:10D5700048A558ADB401C5010E94E6F6AB01BC0157 -:10D5800097018601C1010E944FDD2996BFAD299701 -:10D59000B093CD1769962CAD3DAD4EAD5FAD69979B -:10D5A0002093B51C3093B61C4093B71C5093B81C05 -:10D5B0006D968CAD9DADAEADBFAD6D978093B91C32 -:10D5C0009093BA1CA093BB1CB093BC1CA1962CAD2D -:10D5D0003DAD4EAD5FADA1972093BD1C3093BE1CF9 -:10D5E0004093BF1C5093C01C24968CAD9DADAEAD36 -:10D5F000BFAD24978093C11C9093C21CA093C31C01 -:10D60000B093C41C0E9404E1C459DF4F0FB6F894D4 -:10D61000DEBF0FBECDBFDF91CF911F910F91FF9065 -:10D62000EF90DF90CF90BF90AF909F908F907F90C2 -:10D630006F905F904F903F902F900C9447D2C459B9 -:10D64000DF4F0FB6F894DEBF0FBECDBFDF91CF9195 -:10D650001F910F91FF90EF90DF90CF90BF90AF9010 -:10D660009F908F907F906F905F904F903F902F9002 -:10D670000895EF92FF920F931F93CF93DF937B0157 -:10D680008A01E9012091011D3091021D4091031D85 -:10D690005091041DFC0160817181828193810E94FF -:10D6A000B4F90E9484F96093B51C7093B61C809302 -:10D6B000B71C9093B81C2091051D3091061D409118 -:10D6C000071D5091081DF70160817181828193814E -:10D6D0000E94B4F90E9484F96093B91C7093BA1C3B -:10D6E0008093BB1C9093BC1C2091091D30910A1D96 -:10D6F00040910B1D50910C1DF80160817181828158 -:10D7000093810E94B4F90E9484F96093BD1C7093C8 -:10D71000BE1C8093BF1C9093C01C20910D1D3091A6 -:10D720000E1D40910F1D5091101D688179818A81D5 -:10D730009B810E94B4F90E9484F96093C11C70938C -:10D74000C21C8093C31C9093C41C21EC3CE14DEBA4 -:10D750005CE169EB7CE185EB9CE10E94D3D91092FE -:10D76000A11C1092A21C1092A31C1092A41C109237 -:10D77000A51C1092A61C1092A71C1092A81C109217 -:10D78000A91C1092AA1C1092AB1C1092AC1C1092F7 -:10D79000AD1C1092AE1C1092AF1C1092B01C1092D7 -:10D7A000B11C1092B21C1092B31C1092B41CDF91E9 -:10D7B000CF911F910F91FF90EF90089520910D1D33 -:10D7C00030910E1D40910F1D5091101DFC01608184 -:10D7D0007181828193810E94B4F90E9484F96093DF -:10D7E000C11C7093C21C8093C31C9093C41C81EC19 -:10D7F0009CE10C940FDA8091CD179091CC17891B86 -:10D800008F7008956093860C7093870C8093880CBA -:10D810009093890C0895CF92DF92EF92FF920F932D -:10D820001F93CF93DF9300D01F92CDB7DEB711EFD8 -:10D83000C12E1CE1D12E01E0E02E0DE1F02E05EC11 -:10D840001CE1F60161917191819191916F01F70154 -:10D8500021913191419151917F0129833A834B83E9 -:10D860005C830E947FF729813A814B815C810E9411 -:10D87000B4F90E9453F7F8016193719381939193E6 -:10D880008F01F1E0CF16FDE1DF06D9F60F900F9082 -:10D890000F900F90DF91CF911F910F91FF90EF901C -:10D8A000DF90CF9008958091541D90E02091551DF8 -:10D8B000821B910908952091551D8091541D2817B0 -:10D8C00050F4E22FF0E0EA5AF24E808190E02F5FB0 -:10D8D0002093551D08958FEF9FEF0895E091551DFA -:10D8E0008091541DE81730F4F0E0EA5AF24E80813E -:10D8F00090E008958FEF9FEF08950895CF92DF9203 -:10D90000EF92FF920F931F93CF93DF937C01CB0194 -:10D910008A012091311D222389F0EB016B01C40E95 -:10D92000D51ECC15DD0561F06991D701ED91FC9113 -:10D930000190F081E02DC7011995F3CF642F4BD0F2 -:10D94000C801DF91CF911F910F91FF90EF90DF9071 -:10D95000CF900895CF93DF931F92CDB7DEB7698341 -:10D960002091311D2223D1F02091321D203240F030 -:10D9700021E030E0FC013383228380E090E014C09A -:10D980008091331DE82FF0E0EC5CF24E998190839A -:10D990008F5F8093331D8093321D04C061E0CE0100 -:10D9A000019619D081E090E00F90DF91CF9108951A -:10D9B000FC011382128248EE53E060E070E0448381 -:10D9C0005583668377838EE99EE0918380830895F3 -:10D9D00085E29DE1EDCF613298F42091E31D243082 -:10D9E00089F46093981DFC018AE99DE1DC012A2FEE -:10D9F000281B261718F421912D93F9CF80E0089564 -:10DA000081E0089582E0089585ED8093BC008091C7 -:10DA1000BC0084FDFCCF1092E31D089585EC80933B -:10DA2000BC001092E31D08951F920F920FB60F9243 -:10DA300011240BB60F922F933F934F935F936F93E5 -:10DA40007F938F939F93AF93BF93EF93FF938091B7 -:10DA5000B900887F803609F49CC068F5883209F4E3 -:10DA60005BC090F4803109F454C038F4882309F481 -:10DA7000F3C0883009F44DC0F2C0883109F44CC0BD -:10DA8000803209F45DC0EBC0803409F468C048F40A -:10DA9000803309F455C0883309F0E1C08093761DC6 -:10DAA000A7C0803509F44FC0883509F45DC08834BB -:10DAB00009F0D5C0D3C0883909F4C4C0A8F48837A8 -:10DAC00009F467C038F4883609F463C0803709F474 -:10DAD00060C0C5C0883809F4B5C0803909F45FC09A -:10DAE000803809F0BCC05BC0803B09F483C038F4C7 -:10DAF000803A09F466C0883A09F47CC0B0C0803C22 -:10DB000009F4A4C0883C09F4A1C0883B09F487C08B -:10DB1000A6C08091E21D10C09091BB1D8091BA1DDE -:10DB2000981770F5E091BB1D81E08E0F8093BB1DAF -:10DB3000F0E0E454F24E80818093BB0085EC83C01A -:10DB40008093761D8BC0E091BB1D81E08E0F80938A -:10DB5000BB1D8091BB00F0E0E454F24E80839091B5 -:10DB6000BB1D8091BA1D6BC0E091BB1D81E08E0F83 -:10DB70008093BB1D8091BB00F0E0E454F24E8083A3 -:10DB80008091E11D81116AC081E08093E01D84EAEB -:10DB90005EC083E08093E31D1092771DCFCF80910C -:10DBA000771D803208F04EC0E091771D81E08E0F26 -:10DBB0008093771D8091BB00F0E0E858F24E80839F -:10DBC000BDCF8091771D803230F4E091771DF0E079 -:10DBD000E858F24E108218DF6091771D70E0E091F6 -:10DBE000DC1DF091DD1D88E79DE119951092771DF0 -:10DBF00015DF35C084E08093E31D1092991D1092CB -:10DC0000981DE091DE1DF091DF1D19958091981D02 -:10DC1000811105C081E08093981D10929A1DE091BA -:10DC2000991D81E08E0F8093991DF0E0E656F24E2B -:10DC300080818093BB009091991D8091981D9817C9 -:10DC400008F47CCF85E88093BC0009C085EC809304 -:10DC5000BC001092E31D03C01092761DD5DEFF912B -:10DC6000EF91BF91AF919F918F917F916F915F9154 -:10DC70004F913F912F910F900BBE0F900FBE0F90C1 -:10DC80001F9018951F93CF93DF93182FEB0161E03E -:10DC900003D1209711F460E004C0CF3FD10531F4E7 -:10DCA00061E0812FDF91CF911F912FC1E12FF0E033 -:10DCB000E55CF04A449150E0FA013197E131F10519 -:10DCC00008F091C0E358FF4F0C94FBFA84B58068CC -:10DCD00084BDC7BD8DC084B5806284BDC8BD88C009 -:10DCE00080918000806880938000D0938900C093E9 -:10DCF00088007EC080918000806280938000D093F5 -:10DD00008B00C0938A0074C08091B00080688093BB -:10DD1000B000C093B3006CC08091B000806280936B -:10DD2000B000C093B40064C080919000806880937C -:10DD30009000D0939900C09398005AC080919000B1 -:10DD4000806280939000D0939B00C0939A0050C053 -:10DD500080919000886080939000D0939D00C09344 -:10DD60009C0046C08091A00080688093A0008091B4 -:10DD7000A0008F7B8093A000D093A900C093A8003F -:10DD800037C08091A00080628093A000D093AB0048 -:10DD9000C093AA002DC08091A00088608093A0004D -:10DDA000D093AD00C093AC0023C080912001806867 -:10DDB00080932001D0932901C093280119C080913C -:10DDC0002001806280932001D0932B01C0932A010F -:10DDD0000FC080912001886080932001D0932D0195 -:10DDE000C0932C0105C0C038D1050CF059CF53CFDA -:10DDF000DF91CF911F91089590E0FC013197E131BF -:10DE0000F10508F048C0E257FF4F0C94FBFA8091EF -:10DE100080008F7703C0809180008F7D8093800089 -:10DE2000089584B58F7702C084B58F7D84BD089531 -:10DE30008091B0008F7703C08091B0008F7D809378 -:10DE4000B0000895809190008F7707C08091900076 -:10DE50008F7D03C080919000877F8093900008950C -:10DE60008091A0008F7707C08091A0008F7D03C0B4 -:10DE70008091A000877F8093A00008958091200169 -:10DE80008F7707C0809120018F7D03C08091200192 -:10DE9000877F809320010895CF93DF9390E0FC016A -:10DEA000EF56F04A2491FC01E951F04A849188230D -:10DEB00049F190E0880F991FFC01EF58FF49A591A7 -:10DEC000B491895A9F49FC01C591D4919FB76111C2 -:10DED00008C0F8948C91209582238C9388818223AA -:10DEE0000AC0623051F4F8948C91322F309583231C -:10DEF0008C938881822B888304C0F8948C91822B28 -:10DF00008C939FBFDF91CF9108950F931F93CF9371 -:10DF1000DF931F92CDB7DEB7282F30E0F901E55C23 -:10DF2000F04A8491F901EF56F04A1491F901E95150 -:10DF3000F04A04910023C1F0882319F069835CDF63 -:10DF40006981E02FF0E0EE0FFF1FE95AFF49A5912C -:10DF5000B4919FB7F8948C91611103C010958123FF -:10DF600001C0812B8C939FBF0F90DF91CF911F91A8 -:10DF70000F910895CF93DF93282F30E0F901E55CEE -:10DF8000F04A8491F901EF56F04AD491F901E95130 -:10DF9000F04AC491CC2389F081112EDFEC2FF0E000 -:10DFA000EE0FFF1FE35CFF49A591B4912C912D2347 -:10DFB00081E090E021F480E002C080E090E0DF9119 -:10DFC000CF9108951F920F920FB60F9211242F93A5 -:10DFD0003F938F939F93AF93BF938091E51D909153 -:10DFE000E61DA091E71DB091E81D3091E41D23E0EE -:10DFF000230F2D3720F40196A11DB11D05C026E881 -:10E00000230F0296A11DB11D2093E41D8093E51DF1 -:10E010009093E61DA093E71DB093E81D8091E91D44 -:10E020009091EA1DA091EB1DB091EC1D0196A11DF0 -:10E03000B11D8093E91D9093EA1DA093EB1DB09351 -:10E04000EC1DBF91AF919F918F913F912F910F90B8 -:10E050000FBE0F901F9018952FB7F8946091E51D93 -:10E060007091E61D8091E71D9091E81D2FBF0895E6 -:10E070003FB7F8948091E91D9091EA1DA091EB1DA6 -:10E08000B091EC1D26B5A89B05C02F3F19F0019655 -:10E09000A11DB11D3FBF6627782F892F9A2F620FD0 -:10E0A000711D811D911D42E0660F771F881F991F0A -:10E0B0004A95D1F70895CF92DF92EF92FF92CF93D6 -:10E0C000DF936B017C01D4DFEB01C114D104E104C7 -:10E0D000F10471F0CDDF6C1B7D0B683E7340A8F33B -:10E0E00081E0C81AD108E108F108C851DC4FEDCF32 -:10E0F000DF91CF91FF90EF90DF90CF90089501973F -:10E10000009739F0880F991F880F991F0297019780 -:10E11000F1F70895789484B5826084BD84B58160F8 -:10E1200084BD85B5826085BD85B5816085BDEEE61F -:10E13000F0E0808181608083E1E8F0E010828081FE -:10E1400082608083808181608083E0E8F0E080816C -:10E1500081608083E1EBF0E0808184608083E0EB8C -:10E16000F0E0808181608083E1E9F0E0808182607D -:10E170008083808181608083E0E9F0E0808181603C -:10E180008083E1EAF0E08081826080838081816029 -:10E190008083E0EAF0E0808181608083E1E2F1E069 -:10E1A000808182608083808181608083E0E2F1E011 -:10E1B000808181608083EAE7F0E0808184608083F1 -:10E1C000808182608083808181608083808180689B -:10E1D00080831092C10008959DDF0E947363C0E0A8 -:10E1E000D0E00E945C8C2097E1F30E940000F9CF00 -:10E1F0003F924F925F926F927F928F929F92AF92D7 -:10E20000BF92CF92DF92EF92FF920F931F93CF9323 -:10E21000DF9300D01F92CDB7DEB78B0129013A0101 -:10E2200090918A0C981721F09F3F09F0B1C204C069 -:10E23000EBE8F0E6349004C180938A0CEBE8F0E65A -:10E24000E491EF3F09F4A4C2E23009F480C074F510 -:10E25000EE2309F45BC0E13009F0F1C010928000B8 -:10E26000109281009091810098609093810090912C -:10E270008100916090938100282F30E0F901E951ED -:10E28000F04AE491F0E0EE0FFF1FE95AFF49459193 -:10E29000549150930B1E40930A1EF901EF56F04A19 -:10E2A00024912093091E33243394CCC0E43009F424 -:10E2B0009EC00CF474C0E53009F0C1C0109220017A -:10E2C00010922101909121019860909321019091E9 -:10E2D0002101916090932101282F30E0F901E9514B -:10E2E000F04AE491F0E0EE0FFF1FE95AFF49459133 -:10E2F00054915093EF1D4093EE1DF901EF56F04AF3 -:10E3000024912093ED1D55E0352E9CC014BC15BC06 -:10E3100094B5926094BD95B5916095BD282F30E07D -:10E32000F901E951F04AE491F0E0EE0FFF1FE95ADC -:10E33000FF49459154915093121E4093111EF901CB -:10E34000EF56F04A24912093101E312C7BC010927E -:10E35000B0001092B1009091B00092609093B00024 -:10E360009091B10091609093B100282F30E0F901B5 -:10E37000E951F04AE491F0E0EE0FFF1FE95AFF493E -:10E38000459154915093041E4093031EF901EF569A -:10E39000F04A24912093021E22E0322E53C01092A4 -:10E3A000900010929100909191009860909391004C -:10E3B00090919100916090939100282F30E0F901A5 -:10E3C000E951F04AE491F0E0EE0FFF1FE95AFF49EE -:10E3D000459154915093FD1D4093FC1DF901EF565A -:10E3E000F04A24912093FB1DB3E03B2E2BC01092EA -:10E3F000A0001092A1009091A10098609093A100BC -:10E400009091A10091609093A100282F30E0F90134 -:10E41000E951F04AE491F0E0EE0FFF1FE95AFF499D -:10E42000459154915093F61D4093F51DF901EF5617 -:10E43000F04A24912093F41D74E0372E03C03E2E41 -:10E4400037FCA6C161E028DD4801A12CB12C832D49 -:10E450008D7F09F0C0C060E072E18AE790E0A5011D -:10E4600094010E94DFFA29833A834B835C8369011C -:10E470007A0181E0C81AD108E108F1089FEFC916B6 -:10E48000D104E104F10409F008F49AC060E472E4F4 -:10E490008FE090E0A50194010E94DFFA69017A0102 -:10E4A000E1E0CE1AD108E108F108F2E03F1219C00C -:10E4B0008FEFC816D104E104F10409F008F487C015 -:10E4C00060E970ED83E090E0A50194010E94DFFA1D -:10E4D00069017A0191E0C91AD108E108F10883E0E5 -:10E4E00001C082E0EFEFCE16D104E104F10409F09F -:10E4F00008F467C068E478EE81E090E0A50194013B -:10E500000E94DFFA69017A01F1E0CF1AD108E1082F -:10E51000F1083320E1F082E038121BC09FEFC916EA -:10E52000D104E104F10409F008F430C164E274EFAD -:10E5300080E090E0A50194010E94DFFA69017A0170 -:10E54000E1E0CE1AD108E108F10885E003C083E0DC -:10E5500001C084E0FFEFCF16D104E104F10489F19A -:10E5600080F162E17AE780E090E0A50194010E94E9 -:10E57000DFFA69017A0181E0C81AD108E108F108DF -:10E58000311002C084E001C086E09FEFC916D104BB -:10E59000E104F104B1F0A8F0C980DA80EB80FC80DE -:10E5A0009AE0F594E794D794C7949A95D1F7E1E06F -:10E5B000CE1AD108E108F108332031F087E008C015 -:10E5C00081E0332011F004C085E085BD50C082E0B9 -:10E5D0008093B1004CC060E072E18AE790E0A50151 -:10E5E0009401EDD769017A01F1E0CF1AD108E10871 -:10E5F000F108C114D10481E0E806F10480F068E478 -:10E6000078EE81E090E0A5019401D9D769017A0103 -:10E6100091E0C91AD108E108F10893E001C091E046 -:10E62000E1E03E1207C080918100887F892B8093B2 -:10E6300081001DC0F3E03F1207C080919100887FE8 -:10E64000892B8093910013C084E0381207C0809119 -:10E65000A100887F892B8093A10009C0E5E03E12CC -:10E6600006C080912101887F892B8093210141146C -:10E6700051046104710461F0D801AA0FBB1FA3010A -:10E680009201C5D728EE33E040E050E076D703C0D2 -:10E690002FEF3FEFA901F2E03F1609F443C0F31555 -:10E6A000BCF0332081F181E0381272C0D092890031 -:10E6B000C092880020930C1E30930D1E40930E1EB6 -:10E6C00050930F1E80916F00826080936F0060C036 -:10E6D00094E0391609F448C03916A4F1E5E03E1279 -:10E6E00057C0D0922901C09228012093F01D309389 -:10E6F000F11D4093F21D5093F31D809173008260D1 -:10E700008093730045C0C7BC2093131E3093141E22 -:10E710004093151E5093161E80916E008260809368 -:10E720006E0036C0C092B3002093051E3093061EC3 -:10E730004093071E5093081E809170008260809362 -:10E74000700026C0D0929900C09298002093FE1DC0 -:10E750003093FF1D4093001E5093011E8091710065 -:10E7600082608093710014C0D092A900C092A8006A -:10E770002093F71D3093F81D4093F91D5093FA1D17 -:10E780008091720082608093720002C084E020CF8A -:10E790000F900F900F900F90DF91CF911F910F91DD -:10E7A000FF90EF90DF90CF90BF90AF909F908F90B1 -:10E7B0007F906F905F904F903F9008958230A9F0C6 -:10E7C00028F4882349F0813051F00895843009F10C -:10E7D000E8F0853009F1089510926E000895809157 -:10E7E0006F008D7F80936F000895809170008D7F02 -:10E7F0008093700081E08093B0008091B100887FA9 -:10E8000084608093B1001092B3000895109271005B -:10E810000895109272000895109273000895CF9396 -:10E82000C82F80918A0C8C1307C0EBE8F0E6849126 -:10E830009FEF90938A0C01C08FEFC0DF60E08C2FB8 -:10E84000CF9163CB1F920F920FB60F9211240BB68C -:10E850000F922F933F934F935F936F937F938F9379 -:10E860009F93AF93BF93EF93FF938091051E909179 -:10E87000061EA091071EB091081E892B8A2B8B2B98 -:10E8800051F19091021EE091031EF091041E8081CF -:10E89000892780838091051E9091061EA091071EF6 -:10E8A000B091081E181619061A061B06BCF48091B2 -:10E8B000051E9091061EA091071EB091081E01979B -:10E8C000A109B1098093051E9093061EA093071E0F -:10E8D000B093081E03C080918A0CA1DFFF91EF91D5 -:10E8E000BF91AF919F918F917F916F915F914F9168 -:10E8F0003F912F910F900BBE0F900FBE0F901F9066 -:10E900001895FC018081918149C7CF93DF93EC0179 -:10E9100088819981009709F041D7198218821D8258 -:10E920001C821B821A82DF91CF9108950F931F934F -:10E93000CF93DF93EC018B016F5F7F4F88819981CB -:10E94000BCD7009731F0998388831B830A8381E0C9 -:10E9500001C080E0DF91CF911F910F910895CF9377 -:10E96000DF93EC0188819981892B29F08A819B8131 -:10E970008617970758F4CE01D9DF882341F08C81A0 -:10E980009D81892B19F4E881F981108281E0DF9162 -:10E99000CF910895EF92FF920F931F93CF93DF9340 -:10E9A000EC017B018A01BA01DADF811103C0CE01DB -:10E9B000ACDF07C01D830C83B701888199810F9458 -:10E9C0008A00CE01DF91CF911F910F91FF90EF90C0 -:10E9D0000895FC0111821082138212821582148222 -:10E9E0006115710551F0FB0101900020E9F7AF01BD -:10E9F00041505109461B570BCDCF0895CF93DF935C -:10EA0000EC01FB018617970751F060817181611558 -:10EA1000710521F044815581BDDF01C076DFCE0153 -:10EA2000DF91CF910895FC0111821082138212822E -:10EA300015821482E3CFEF92FF920F931F93CF932F -:10EA4000DF93EC017B010C811D816115710511F4CF -:10EA500080E015C04115510589F0040F151FB8015C -:10EA60007EDF8823A9F3288139818C819D81B701BC -:10EA7000820F931F0F948A001D830C8381E0DF9126 -:10EA8000CF911F910F91FF90EF900895CF93DF9357 -:10EA9000EC01FB014481558160817181CCDF8111E2 -:10EAA00002C0CE0132DFCE01DF91CF910895CF9227 -:10EAB000DF92EF92FF920F931F93CF93DF936C013E -:10EAC0007A01EB01E60EF71E00E010E0CE15DF053F -:10EAD00061F06991D601ED91FC910190F081E02DFA -:10EAE000C6011995080F191FF1CFC801DF91CF9109 -:10EAF0001F910F91FF90EF90DF90CF9008956115D7 -:10EB0000710581F0DB010D900020E9F7AD01415066 -:10EB10005109461B570BDC01ED91FC910280F381FA -:10EB2000E02D199480E090E00895E9CFDC01ED91AB -:10EB3000FC910190F081E02D19948F929F92AF92F9 -:10EB4000BF92CF92DF92EF92FF920F931F93CF93DA -:10EB5000DF93CDB7DEB7A1970FB6F894DEBF0FBE37 -:10EB6000CDBF7C01C42EE52FCB01D22E19A221E00E -:10EB70002D1510F02AE0D22E8E010F5D1F4F8D2C27 -:10EB8000912CA12CB12C6C2D7E2FA5019401F5D4D4 -:10EB90008C2DD29E80191124015011098A3014F451 -:10EBA000805D01C0895CF801808321153105410534 -:10EBB000510521F0C22EE32FCA01E5CFB801C701EC -:10EBC0009EDFA1960FB6F894DEBF0FBECDBFDF91DA -:10EBD000CF911F910F91FF90EF90DF90CF90BF905A -:10EBE000AF909F908F9008952115310541F4DC017D -:10EBF000ED91FC910190F081E02D642F19949DCF4F -:10EC00009A01AB0160E070E0EFCF5058BB27AA2714 -:10EC10000ED076C23FD230F044D220F031F49F3F84 -:10EC200011F41EF40FC20EF4E095E7FBDCC1E92FEE -:10EC300089D280F3BA17620773078407950718F023 -:10EC400071F49EF5B8C20EF4E0950B2EBA2FA02DEC -:10EC50000B01B90190010C01CA01A0011124FF2789 -:10EC6000591B99F0593F50F4503E68F11A16F04084 -:10EC7000A22F232F342F4427585FF3CF4695379583 -:10EC80002795A795F0405395C9F77EF41F16BA0B48 -:10EC9000620B730B840BBAF09150A1F0FF0FBB1FF6 -:10ECA000661F771F881FC2F70EC0BA0F621F731F3F -:10ECB000841F48F4879577956795B795F7959E3F9C -:10ECC00008F0B3CF9395880F08F09927EE0F97952A -:10ECD00087950895DFD158F080E891E009F49EEF20 -:10ECE000E0D128F040E851E059F45EEF09C0AAC134 -:10ECF00062C2E92FE07826D268F3092E052AC1F313 -:10ED0000261737074807590738F00E2E07F8E02571 -:10ED100069F0E025E0640AC0EF6307F8009407FAA1 -:10ED2000DB01B9019D01DC01CA01AD01EF935DD0AA -:10ED3000E7D10AD05F91552331F02BED3FE049E454 -:10ED400050FD49EC63CF0895DF93DD27B92FBF77DE -:10ED500040E85FE31616170648075B0710F4D92F43 -:10ED600096D29F938F937F936F93A9D3EEE3F1E0B5 -:10ED70006CD1C6D12F913F914F915F9101D3DD238B -:10ED800049F09058A2EA2AED3FE049EC5FE3D078E1 -:10ED90005D274DDFDF91B4C1F7D180F09F3740F49C -:10EDA00091110EF409C260E070E080E89FE30895DD -:10EDB00026F01B16611D711D811D1BC135C1EFD0D1 -:10EDC00008F481E0089575D1E395ABC10CD098C1EA -:10EDD00068D140F05FD130F021F45F3F19F003C1FA -:10EDE0005111EAC12FC1AED198F39923C9F355232C -:10EDF000B1F3951B550BBB27AA276217730784072E -:10EE000038F09F5F5F4F220F331F441FAA1FA9F3E3 -:10EE100033D00E2E3AF0E0E830D091505040E695D5 -:10EE2000001CCAF729D0FE2F27D0660F771F881F36 -:10EE3000BB1F261737074807AB07B0E809F0BB0B25 -:10EE4000802DBF01FF2793585F4F2AF09E3F510549 -:10EE500068F0C9C0B1C15F3FECF3983EDCF3869522 -:10EE600077956795B795F7959F5FC9F7880F911DBF -:10EE70009695879597F90895E1E0660F771F881FAB -:10EE8000BB1F621773078407BA0720F0621B730B5E -:10EE9000840BBA0BEE1F88F7E095089504D06894B0 -:10EEA000B1118AC1089556D188F09F5790F0B92FBB -:10EEB0009927B751A0F0D1F0660F771F881F991FCF -:10EEC0001AF0BA95C9F712C0B13081F074D1B1E02F -:10EED000089571C1672F782F8827B85F39F0B93F3F -:10EEE000CCF3869577956795B395D9F73EF49095D1 -:10EEF0008095709561957F4F8F4F9F4F0895E8944F -:10EF000009C097FB3EF490958095709561957F4F71 -:10EF10008F4F9F4F9923A9F0F92F96E9BB2793951F -:10EF2000F695879577956795B795F111F8CFFAF42F -:10EF3000BB0F11F460FF1BC06F5F7F4F8F4F9F4F60 -:10EF400016C0882311F096E911C0772321F09EE8BE -:10EF5000872F762F05C0662371F096E8862F70E024 -:10EF600060E02AF09A95660F771F881FDAF7880FFE -:10EF70009695879597F9089507D180F09F3740F4CB -:10EF800091110EF019C160E070E080E89FEB0895E8 -:10EF900026F41B16611D711D811D2BC045C0990FE4 -:10EFA0000008550FAA0BE0E8FEEF16161706E80753 -:10EFB000F907C0F012161306E407F50798F0621B74 -:10EFC000730B840B950B39F40A2661F0232B242B49 -:10EFD000252B21F408950A2609F4A140A6958FEF68 -:10EFE000811D811D089597F99F6780E870E060E0BA -:10EFF0000895882371F4772321F09850872B762F7A -:10F0000007C0662311F499270DC09051862B70E03C -:10F0100060E02AF09A95660F771F881FDAF7880F4D -:10F020009695879597F908959F3F31F0915020F478 -:10F03000879577956795B795880F911D96958795D4 -:10F0400097F908959FEF80EC0895DF93CF931F9376 -:10F050000F93FF92EF92DF927B018C01689405C0C1 -:10F06000DA2EEF018DD1FE01E894A591259135911D -:10F0700045915591AEF3EF01DADDFE019701A8014C -:10F08000DA9479F7DF90EF90FF900F911F91CF9175 -:10F09000DF91089500240A9416161706180609062B -:10F0A000089500240A9412161306140605060895FE -:10F0B000C9CF50D0E8F3E894E0E0BB279F57F0F0C9 -:10F0C0002AED3FE049EC06C0EE0FBB0F661F771F2D -:10F0D000881F28F0B23A62077307840728F0B25AF3 -:10F0E000620B730B840BE3959A9572F7803830F4BA -:10F0F0009A95BB0F661F771F881FD2F7904896CF4F -:10F10000092E0394000C11F4882352F0BB0F40F435 -:10F11000BF2B11F460FF04C06F5F7F4F8F4F9F4F75 -:10F120000895EF93E0FF06C0A2EA2AED3FE049EC24 -:10F130005FEB7DDDE5DF0F90039401FC9058EBE67B -:10F14000F1E0C7C157FD9058440F551F59F05F3F7C -:10F1500071F04795880F97FB991F61F09F3F79F0F9 -:10F1600087950895121613061406551FF2CF46957B -:10F17000F1DF08C0161617061806991FF1CF8695FD -:10F180007105610508940895E5DFA0F0BEE7B917A1 -:10F1900088F4BB279F3860F41616B11D672F782FAF -:10F1A0008827985FF7CF869577956795B11D9395DA -:10F1B0009639C8F30895E894BB2766277727CB01D3 -:10F1C00097F90895ECDE08F48FEF089563DF19F0E6 -:10F1D00068DF09F037CF07CFB901CA0125CF9F7784 -:10F1E0005F77B0DF98F39923B9F35523B9F3FF277D -:10F1F000951758F4E52FE91BED3070F75E3B10F0E2 -:10F20000F1E41CC09034E0F40AC0E92FE51BED30B6 -:10F2100028F79E3B10F0F1E411C0503488F4F9EA6D -:10F2200088232AF09A95660F771F881FDAF7442300 -:10F230002AF05A95220F331F441FDAF79F1B5F1BDA -:10F24000FF931F930F93FF92EF9279018A01BB27DF -:10F25000AB2F9B01AC0196D09701A801BF937B0116 -:10F260008C01AA27BA2FB901CA018CD0AF9197019E -:10F27000A801EF90FF900F911F91D9DC41DFE1D001 -:10F280004F9140FF0895552747FD509509C09B01B8 -:10F29000AC0160E070E080E89FE398CDA4CEC4CEDE -:10F2A00059DFE8F39923D9F3940F511DBBF3915023 -:10F2B000504094F059F0882332F0660F771F881F72 -:10F2C00091505040C1F79E3F510544F7880F911D62 -:10F2D0009695879597F908955F3FACF0983E9CF01E -:10F2E000BB27869577956795B79508F4B160939598 -:10F2F000C1F7BB0F58F711F460FFE8CF6F5F7F4F86 -:10F300008F4F9F4FE3CF58CF25DF58F19E5758F1CD -:10F310009851A0F0E9F0983020F5092E9927660F52 -:10F32000771F881F991F0A94D1F712C0062E672FE6 -:10F33000782F8827985F11F4000C07C0993FB4F329 -:10F340008695779567959395D9F7611D711D811DF8 -:10F350003EF490958095709561957F4F8F4F9F4FAC -:10F360000895689429CF27CF0BD0CACE93DE28F01A -:10F3700098DE18F0952309F036CE64CE11241CCF08 -:10F38000E1DEA0F3959FD1F3950F50E0551F629FEA -:10F39000F001729FBB27F00DB11D639FAA27F00DEE -:10F3A000B11DAA1F649F6627B00DA11D661F829F15 -:10F3B0002227B00DA11D621F739FB00DA11D621FFA -:10F3C000839FA00D611D221F749F3327A00D611D17 -:10F3D000231F849F600D211D822F762F6A2F1124F9 -:10F3E0009F5750408AF0E1F088234AF0EE0FFF1F4C -:10F3F000BB1F661F771F881F91505040A9F79E3F83 -:10F40000510570F0F0CDD8CE5F3FECF3983EDCF3C1 -:10F41000869577956795B795F795E7959F5FC1F7BF -:10F42000FE2B880F911D9695879597F908959F93C8 -:10F4300040DE0F9007FCEE5F74CE11F40EF402CEA6 -:10F44000F3CD88DED0F39923D9F3CEF39F57550B34 -:10F4500087FF38D00024A0E640EA900180585695F6 -:10F46000979528F4805C660F771F881F20F0261779 -:10F470003707480730F4621B730B840B20293129AE -:10F480004A2BA69517940794202531254A2758F72B -:10F49000660F771F881F20F026173707480730F4BC -:10F4A000620B730B840B200D311D411DA09581F75C -:10F4B000B901842F9158880F9695879508959B01DF -:10F4C000AC0152CF91505040660F771F881FD2F782 -:10F4D00008959F938F937F936F93FF93EF939B0177 -:10F4E000AC0142DFEF91FF91B0DD2F913F914F9141 -:10F4F0005F913ACFDB018F939F9389D0BF91AF91FA -:10F50000A29F800D911DA39F900DB29F900D11247D -:10F51000089587FB082E062687FD819567FD619576 -:10F520008AD00EF4919507FC81950895AA1BBB1B08 -:10F5300051E107C0AA1FBB1FA617B70710F0A61BF3 -:10F54000B70B881F991F5A95A9F780959095BC0114 -:10F55000CD01089597FB072E16F4009406D077FD91 -:10F5600008D0E4DF07FC05D03EF4909581959F4FCD -:10F570000895709561957F4F0895A1E21A2EAA1BF8 -:10F58000BB1BFD010DC0AA1FBB1FEE1FFF1FA21753 -:10F59000B307E407F50720F0A21BB30BE40BF50B50 -:10F5A000661F771F881F991F1A9469F760957095D9 -:10F5B000809590959B01AC01BD01CF010895052E6A -:10F5C00097FB16F400940FD057FD05D0D6DF07FC4B -:10F5D00002D046F408C050954095309521953F4F94 -:10F5E0004F4F5F4F089590958095709561957F4F2F -:10F5F0008F4F9F4F0895EE0FFF1F0590F491E02D60 -:10F60000199425D0B7FF0895821B930B08951FD03E -:10F61000A59F900DB49F900DA49F800D911D112466 -:10F620000895B7FFF4CFF3DF821B930B0895079083 -:10F63000F691E02D1994991B79E004C0991F961753 -:10F6400008F0961B881F7A95C9F780950895A29FA8 -:10F65000B001B39FC001A39F700D811D1124911DA6 -:10F66000B29F700D811D1124911D0895CF93DF93DA -:10F670008230910510F482E090E0E091191EF09143 -:10F680001A1E20E030E0A0E0B0E0309739F1408170 -:10F69000518148175907B8F04817590771F482810A -:10F6A0009381109729F013969C938E9312972CC0F8 -:10F6B00090931A1E8093191E27C02115310531F031 -:10F6C0004217530718F0A901DB0101C0EF019A01AD -:10F6D000BD01DF010280F381E02DD7CF2115310577 -:10F6E000F9F0281B390B2430310580F48A819B8185 -:10F6F0006115710521F0FB019383828304C090930F -:10F700001A1E8093191EFE01329644C0FE01E20FBC -:10F71000F31F8193919322503109398328833AC092 -:10F720002091171E3091181E232B41F420910202C4 -:10F73000309103023093181E2093171E209100026F -:10F74000309101022115310541F42DB73EB74091AA -:10F75000040250910502241B350BE091171EF09115 -:10F76000181EE217F307A0F42E1B3F0B28173907CA -:10F7700078F0AC014E5F5F4F2417350748F04E0F0D -:10F780005F1F5093181E4093171E8193919302C0E0 -:10F79000E0E0F0E0CF01DF91CF910895CF93DF93C8 -:10F7A000009709F487C0FC01329713821282C0913E -:10F7B000191ED0911A1E209781F420813181280FC3 -:10F7C000391F8091171E9091181E8217930779F5A3 -:10F7D000F093181EE093171E6DC0DE0120E030E0AC -:10F7E000AE17BF0750F412964D915C9113979D018F -:10F7F0004115510509F1DA01F3CFB383A2834081AA -:10F800005181840F951F8A179B0771F48D919C91EC -:10F810001197840F951F02969183808312968D9184 -:10F820009C911397938382832115310529F4F093DA -:10F830001A1EE093191E3EC0D9011396FC93EE9355 -:10F8400012974D915D91A40FB51FEA17FB0779F44C -:10F8500080819181840F951F0296D90111969C9306 -:10F860008E938281938113969C938E931297E0E0FE -:10F87000F0E08A819B81009719F0FE01EC01F9CF3D -:10F88000CE01029628813981820F931F2091171E85 -:10F890003091181E2817390769F4309729F410920F -:10F8A0001A1E1092191E02C013821282D093181EC3 -:10F8B000C093171EDF91CF9108956F927F928F9220 -:10F8C0009F92AF92BF92CF92DF92EF92FF920F93EF -:10F8D0001F93CF93DF93EC01CB01209779F4DF9155 -:10F8E000CF911F910F91FF90EF90DF90CF90BF903D -:10F8F000AF909F908F907F906F90B8CEFE01E60FF3 -:10F90000F71F9E0122503109E217F30708F4A8C03F -:10F91000D9010D911C91119706171707B0F005300A -:10F92000110508F49BC0A801445051094617570718 -:10F9300008F494C002501109061B170B0193119390 -:10F940006D937C93CF012ADF89C05B01A01AB10AB5 -:10F950004E01800E911EA091191EB0911A1E612CAD -:10F96000712C60E070E0109709F449C0A815B90542 -:10F97000C9F5ED90FC901197670142E0C40ED11CCF -:10F98000CA14DB0478F147018A189B08640142E03D -:10F99000C40ED11C1296BC9012971396AC91B5E090 -:10F9A000CB16D10440F0B282A38391828082D90128 -:10F9B0008D939C9309C00E5F1F4F0E0D1F1DF90103 -:10F9C00011830083EB2DFA2F6115710531F0DB01F6 -:10F9D0001396FC93EE93129741C0F0931A1EE09396 -:10F9E000191E3CC06D917C9111976616770608F43C -:10F9F0003B01BD0112960D90BC91A02DB4CF60913A -:10FA0000171E7091181E68157905E9F468167906B5 -:10FA1000D0F440910002509101024115510541F48A -:10FA20004DB75EB76091040270910502461B570BFB -:10FA3000E417F507A8F4F093181EE093171EF901D8 -:10FA4000918380830BC012DE7C01009749F0A801EE -:10FA5000BE011ED3CE01A2DEC70104C0CE0102C08A -:10FA600080E090E0DF91CF911F910F91FF90EF9098 -:10FA7000DF90CF90BF90AF909F908F907F906F90CE -:10FA800008958F929F92AF92BF92CF92DF92EF92A2 -:10FA9000FF920F931F93CF93DF938B016115710535 -:10FAA00021F0DB018C9311969C93EC015E01BFEF7A -:10FAB000AB1ABB0A7501C8808C2D90E07BD2892BD4 -:10FAC00011F0E501F3CFEDE2CE1208C07E01F2E0C5 -:10FAD000EF0EF11CC980DD24D39409C02BE2C212C1 -:10FAE00005C07E0142E0E40EF11CC980D12CE70183 -:10FAF000219743E050E064E970E6CE017BD2892B88 -:10FB0000B9F4239645E050E06FE870E6CE0172D27A -:10FB1000892B09F425960115110519F0D801CD930B -:10FB2000DC93D11000C160E070E080E89FE704C181 -:10FB300043E050E06CE870E6CE015CD2892B59F4CA -:10FB40000115110509F4F4C0B2E0EB0EF11CF80147 -:10FB5000F182E082EDC0F70160E070E0CB01C0E02F -:10FB6000D0E07F01A0EDAA2EAC0C29E02A1528F1E7 -:10FB70004D2D4260B42E2D2D2870D2FE04C02111CF -:10FB800024C0219622C021112197A5E0B0E09B015D -:10FB9000AC013DDD660F771F881F991F6A0D711D2F -:10FBA000811D911D6839A9E97A078A07A9E19A0799 -:10FBB00060F0BD2DB660BB2E08C02EEFA2120AC0A9 -:10FBC000D3FC50C04D2D4860B42E3196D701CC9057 -:10FBD000DB2CC7CF2C2D2F7D253409F043C0A0810D -:10FBE000AD3241F4BD2DB061DB2E7F0122E0E20E8B -:10FBF000F11C0CC07F01AB3231F04FEFE41AF40A74 -:10FC000021E030E006C0A2E0EA0EF11CA18122E072 -:10FC100030E0A053AA3018F0E21AF30A23C0F7012B -:10FC200020E030E02038BCE03B075CF4A901440F41 -:10FC3000551F440F551F240F351F220F331F2A0F46 -:10FC4000311DAF014F5F5F4F7A01A081A053AA30F1 -:10FC500010F4FA01E7CFD4FE03C0319521953109A4 -:10FC6000C20FD31FD1FE09C00115110531F0E1E02B -:10FC7000EE1AF108D801ED92FC9241D92D2D237096 -:10FC8000233019F04B015C0106C04B015C01B7FA4F -:10FC9000B094B7F8B09420E030E0A901C501B401F8 -:10FCA0008ED8882309F43CC0D7FF06C0D195C195F2 -:10FCB000D1090BEA10E602C003EC10E66801B8E1D6 -:10FCC000CB1AD10890E2E92EF12CCE15DF056CF0AD -:10FCD000F8012591359145915491C501B40144DB5A -:10FCE0004B015C01CE19DF09F0CF04501109F594E6 -:10FCF000E7940C151D0549F78A2D880F8B2D881F59 -:10FD00008F3F41F020E030E0A901C501B40157D890 -:10FD1000811106C082E290E090931C1E80931B1E0E -:10FD2000C501B40109C060E070E080E89FEF04C045 -:10FD300060E070E080EC9FE7DF91CF911F910F9121 -:10FD4000FF90EF90DF90CF90BF90AF909F908F90FB -:10FD500008952F923F925F926F927F928F929F921F -:10FD6000AF92BF92CF92DF92EF92FF920F931F93C9 -:10FD7000CF93DF938B01EA016115710521F0DB015F -:10FD80008C9311969C93209739F09E012250310953 -:10FD90002332310508F0F8C07C016701BFEFCB1AB0 -:10FDA000DB0A5601F7016080862D90E003D1892B94 -:10FDB00011F07601F2CFFDE26F120AC0570182E026 -:10FDC000A80EB11CD70111966C90772473940BC0C8 -:10FDD000BBE26B1207C05701E2E0AE0EB11CD701C7 -:10FDE00011966C90712CCE018F7E892B89F4B0E333 -:10FDF0006B1222C0F50180818F7D883541F56180CD -:10FE0000F2E0AF0EB11C872D8260782EC0E1D0E009 -:10FE1000C830D105F1F04CF4C230D10511F5C12C38 -:10FE2000D12CE12CB0E4FB2E2EC0CA30D10531F02C -:10FE3000C031D10519F115C0209751F7CAE0D0E0C3 -:10FE4000ACECCA2EDC2CEC2CACE0FA2E1CC02097BB -:10FE5000F9F6C8E0D0E0C12CD12CE12CF0E1FF2E66 -:10FE600012C060E070E080E090E89E01442737FD1A -:10FE70004095542F82DB69017A0105C0C12CD12C39 -:10FE8000E12CE8E0FE2EF50160E020E030E0A90181 -:10FE90004E01AA2497FCA094BA2C1F0170ED572E96 -:10FEA000560CA9E0A51570F48FEB860D8A3118F475 -:10FEB00099EC592E06C08FE9860D8A3128F589EA1A -:10FEC000582E560C852D90E08C179D07ECF467FD9D -:10FED00017C0C216D306E406F50678F0C501B401D2 -:10FEE00009DB9B01AC01250D311D411D511D213048 -:10FEF00031054105B0E85B0710F06FEF01C061E02C -:10FF00003196D1016C90C9CF872D817001151105F3 -:10FF100071F0662329F03197D801ED93FC9307C067 -:10FF200071FE19C03297D801ED93FC9314C067FF9E -:10FF300012C0882329F020E030E040E050E804C0FF -:10FF40002FEF3FEF4FEF5FE782E290E090931C1EB0 -:10FF500080931B1E16C0882341F050954095309524 -:10FF600021953F4F4F4F5F4F0CC057FF0AC082E2B1 -:10FF700090E090931C1E80931B1E2FEF3FEF4FEFDE -:10FF80005FE7B901CA0104C060E070E080E090E082 -:10FF9000DF91CF911F910F91FF90EF90DF90CF9065 -:10FFA000BF90AF909F908F907F906F905F903F90A9 -:10FFB0002F900895911111C3803219F08950855006 -:10FFC000D0F708959111089581548A5108F4805E04 -:10FFD000855A0895FB01DC0105900D920020E1F7A0 -:10FFE0000895FC0105900020E9F7809590958E0F0B -:10FFF0009F1F0895FB01DC014150504088F08D9116 -:020000022000DC -:1000000081341CF08B350CF4805E659161341CF0FA -:100010006B350CF4605E861B611171F3990B0895CA -:10002000881BFCCFFB01DC014150504048F005909B -:100030000D920020C9F701C01D9241505040E0F7D9 -:100040000895FB0155915523A9F0BF01DC014D91A5 -:1000500045174111E1F759F4CD010590002049F011 -:100060004D9140154111C9F3FB014111EFCF81E0E2 -:1000700090E001970895FB01DC0104C08D9101908F -:10008000801921F441505040C8F7881B990B0895FE -:10009000FB01DC0102C001900D9241505040D8F7A5 -:1000A0000895DC0101C06D9341505040E0F7089580 -:1000B000FB01DC018D9181341CF08B350CF4805EEA -:1000C000619161341CF06B350CF4605E861B61112C -:1000D00089F3990B0895FB01DC010D900020E9F7ED -:1000E000119701900D920020E1F70895FC01819194 -:1000F000861721F08823D9F7992708953197CF01E2 -:100100000895FB01DC018D91019080190110D9F354 -:10011000990B0895FB01DC0101900D920020E1F79D -:100120000895FB01DC014150504030F08D91019069 -:10013000801919F40020B9F7881B990B0895FB0169 -:10014000DC014150504048F001900D920020C9F769 -:1001500001C01D9241505040E0F708950F931F9346 -:10016000CF93DF93CDB7DEB72E970FB6F894DEBFEF -:100170000FBECDBF0E891F898EE08C831A83098341 -:100180008FEF9FE79E838D83AE01465E5F4F688D44 -:10019000798DCE01019610D0EF81F885E00FF11F27 -:1001A00010822E960FB6F894DEBF0FBECDBFDF9142 -:1001B000CF911F910F9108952F923F924F925F928E -:1001C0006F927F928F929F92AF92BF92CF92DF9267 -:1001D000EF92FF920F931F93CF93DF93CDB7DEB7CC -:1001E0002C970FB6F894DEBF0FBECDBF7C016B011C -:1001F0008A01FC0117821682838181FFB0C1CE0182 -:1002000001964C01F7019381F60193FD859193FFCF -:1002100081916F01882309F49EC1853239F493FDE1 -:10022000859193FF81916F01853221F4B70190E0B0 -:10023000EDD1E8CF512C312C20E02032A0F48B32CC -:1002400069F030F4803259F0833269F420612CC0B7 -:100250008D3239F0803339F4216026C02260246069 -:1002600023C0286021C027FD27C030ED380F3A3069 -:1002700078F426FF06C0FAE05F9E300D1124532E5D -:1002800013C08AE0389E300D1124332E20620CC03A -:100290008E3221F426FD5FC1206406C08C3611F435 -:1002A000206802C0883641F4F60193FD859193FFE2 -:1002B00081916F018111C1CF982F9F7D955493300B -:1002C00028F40C5F1F4FFFE3F9830DC0833631F034 -:1002D000833771F0833509F057C021C0F801808160 -:1002E00089830E5F1F4F44244394512C540114C042 -:1002F0003801F2E06F0E711CF801A080B18026FF7A -:1003000003C0652D70E002C06FEF7FEFC5012C8741 -:1003100072D12C0183012C852F77222E16C0380133 -:10032000F2E06F0E711CF801A080B18026FF03C0BF -:10033000652D70E002C06FEF7FEFC5012C8750D1B3 -:100340002C012C852068222E830123FC19C0832DCB -:1003500090E048165906A0F4B70180E290E056D12B -:100360003A94F5CFF50127FC859127FE81915F0135 -:10037000B70190E04BD131103A94F1E04F1A510897 -:100380004114510479F7DEC0843611F0893631F515 -:10039000F80127FF07C060817181828193810C5F22 -:1003A0001F4F08C060817181882777FD8095982F45 -:1003B0000E5F1F4F2F76B22E97FF09C09095809544 -:1003C000709561957F4F8F4F9F4F2068B22E2AE026 -:1003D00030E0A4014DD1A82EA81843C0853729F4D8 -:1003E0002F7EB22E2AE030E025C0F22FF97FBF2EFB -:1003F0008F36C1F018F4883579F0ADC0803719F028 -:10040000883721F0A8C02F2F2061B22EB4FE0DC076 -:100410008B2D8460B82E09C024FF0AC09F2F9660E0 -:10042000B92E06C028E030E005C020E130E002C06F -:1004300020E132E0F801B7FE07C06081718182815E -:1004400093810C5F1F4F06C06081718180E090E056 -:100450000E5F1F4FA4010CD1A82EA818FB2DFF770B -:10046000BF2EB6FE0BC02B2D2E7FA51450F4B4FE6C -:100470000AC0B2FC08C02B2D2E7E05C07A2C2B2D75 -:1004800003C07A2C01C0752C24FF0DC0FE01EA0DBB -:10049000F11D8081803311F4297E09C022FF06C03E -:1004A0007394739404C0822F867809F0739423FDAB -:1004B00012C020FF06C05A2C731418F4530C57189E -:1004C000732C731460F4B70180E290E02C879ED007 -:1004D00073942C85F6CF731410F4371801C0312CA7 -:1004E00024FF11C0B70180E390E02C878FD02C85CA -:1004F00022FF16C021FF03C088E590E002C088E714 -:1005000090E0B7010CC0822F867851F021FD02C027 -:1005100080E201C08BE227FD8DE2B70190E076D04A -:10052000A51430F4B70180E390E070D05A94F8CF6E -:10053000AA94F401EA0DF11D8081B70190E066D024 -:10054000A110F6CF332009F45DCEB70180E290E030 -:100550005DD03A94F7CFF7018681978102C08FEF83 -:100560009FEF2C960FB6F894DEBF0FBECDBFDF9184 -:10057000CF911F910F91FF90EF90DF90CF90BF90A0 -:10058000AF909F908F907F906F905F904F903F9033 -:100590002F900895F999FECF92BD81BDF89A9927C1 -:1005A00080B50895A6E1B0E044E050E0C1C00396F4 -:1005B000272FCDD0CBD0252FCAD0242FC8C0262F8F -:1005C000F999FECF1FBA92BD81BD20BD0FB6F89438 -:1005D000FA9AF99A0FBE01960895992788270895E7 -:1005E000FC010590615070400110D8F780959095FE -:1005F0008E0F9F1F0895FC01615070400190011003 -:10060000D8F7809590958E0F9F1F08950F931F9395 -:10061000CF93DF93182F092FEB018B8181FD03C04E -:100620008FEF9FEF20C082FF10C04E815F812C8131 -:100630003D81421753077CF4E881F9819F012F5FC8 -:100640003F4F39832883108306C0E885F985812FC1 -:100650001995892B29F72E813F812F5F3F4F3F83CB -:100660002E83812F902FDF91CF911F910F910895AD -:10067000FA01AA27283051F1203181F1E8946F93D3 -:100680006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED079 -:10069000B4E03CD0670F781F891F9A1FA11D680F17 -:1006A000791F8A1F911DA11D6A0F711D811D911D4A -:1006B000A11D20D009F468943F912AE0269F1124BF -:1006C0003019305D3193DEF6CF010895462F477023 -:1006D000405D4193B3E00FD0C9F7F6CF462F4F707E -:1006E000405D4A3318F0495D31FD4052419302D0DC -:1006F000A9F7EACFB4E0A695979587957795679582 -:10070000BA95C9F700976105710508959B01AC0181 -:100710000A2E06945795479537952795BA95C9F7A8 -:10072000620F731F841F951FA01D0895DC01CB016C -:10073000FC01F999FECF06C0F2BDE1BDF89A3196F1 -:1007400000B40D9241505040B8F70895262FF99902 -:10075000FECF92BD81BDF89A019700B4021639F020 -:100760001FBA20BD0FB6F894FA9AF99A0FBE0895F1 -:1007700010E6CEECD0E600E006C022970109FE01AB -:100780000BBF0E9417FBC03DD10780E00807A9F707 -:04079000F894FFCF0B -:1007940000001D1E20000A01FF3FFF3F0000803FB4 -:1007A400F45A0344EA784C3F33B323420E0A140844 -:1007B4001A0620042602344EE84D9F4D604D2E4DFE -:1007C400DC4CA34C484C094CC94B7F4B354BEB4A92 -:1007D400974A434AEA49AA4960491649CC487848A5 -:1007E4002448CB479C4750470147D346AB46754600 -:1007F40047461946EB45BD458B4559451645DD44ED -:100804009F44644443441B44F343D8439D437B4384 -:1008140054432D430643DC42B94296426E42414260 -:100824002D421942FB41DD41BF41A1418341564163 -:100834002E410641E840DE40D440CA40C040A740B3 -:10084400754057402540F33FC13F8F3F5D3F253FF3 -:10085400043FD73EAA3E6E3E323EF63DB53D743D62 -:10086400363DE33CBB3C873C5D3C3A3CF93BB43B06 -:100874006B3B303BEA3AB63A5F3A0E3AC5398A39AD -:1008840056392639EF38B83881385E382C38F53780 -:10089400C83796373E370237BF366A361036E335E7 -:1008A400AC3575352F35E93494344D341434D433A0 -:1008B400833351331F33D03278324B322932D03123 -:1008C400AA315E314C313C31E630953044300C3045 -:1008D400C22F772F1B2FC42E6E2E0E2EB52D582D02 -:1008E400FE2CC72C9F2C4F2CFA2BAA2B5A2B1E2BD9 -:1008F400CE2A832A102A012AA729A8280D283B27B3 -:1009040069260A26BA25742501258E241B24A823CA -:10091400352395222222E621972149211321D61C31 -:100924009F1C041CB61989192A19D0187B1853184E -:100934002B180318DB17B3178B170E17DC16C31607 -:1009440073161416D31574152415ED14891425146F -:10095400DF13B71371131713BD126D12FF11911129 -:100964002D11E2106010CA0F7F0F340FF40E7C0EAD -:10097400540EF20DB80D600D080DAA0C6A0C1C0C77 -:10098400C00B740B1E0BEA0ACA0A9A0A460A060A24 -:10099400B0095D091909D0087A082208CA07720744 -:1009A4001A07C2066B061D06D5057D053C05F30432 -:1009B400444EF64DAC4D6C4D384DED4CAD4C5C4C4D -:1009C400184CD74B8F4B454BFB4AA94A554AFD4916 -:1009D400B84970492649DC488A483648DE47A74763 -:1009E4005E470F47DE46B3467E4653462546F745E7 -:1009F400C645954563452745EC44AF446D44494499 -:100A04002344FB43DF43AC4384435D4336430F43FA -:100A1400E542C0429D4276424A4231421D42014271 -:100A2400E341C541A74189415F4136410E41EE4052 -:100A3400E040D640CC40C240AC407F405D402F40B7 -:100A4400FD3FCB3F993F673F313F0A3FE03EB33E16 -:100A54007A3E3E3E023EC23D813D433DF33CC33CB3 -:100A6400923C663C433C073CC03B7A3B3A3BF83AF9 -:100A7400BF3A703A1F3AD43993395F393039FA386A -:100A8400C3388C38653836380038D137A0375037FA -:100A94000B37CA367B362236EC35B73580354135CF -:100AA400F734A4345C341F34E03391335C3327339C -:100AB400DF328A3254322F32DF31B0316A31503171 -:100AC4004031F530A73055301A30D22F832F2D2FD7 -:100AD400D62E802E202EC72D692D0B2DD22CA72C7F -:100AE4005F2C0B2CBA2B6A2B2A2BDE2A922A272A5C -:100AF400042AB929DB282C28652793261D26CA2514 -:100B040082251825A5243224BF234C23B52239225B -:100B1400F121A3215B211E21AF1DAA1C231C2C1A29 -:100B240092193D19E2188C185B1833180B18E31747 -:100B3400BB1793172717E616C81683162716E01552 -:100B440087153415F8149D143914ED13BF137F134E -:100B54002913CF127D121512A7114111F1107A1029 -:100B6400E80F8E0F430F020F940E5B0E070EC30D9A -:100B7400710D190DBB0C770C2E0CD20B810B2E0BA7 -:100B8400F30AD10AA20A560A130AC3096E092609EE -:100B9400DF088C083408DC0784072C07D4067D069C -:100BA4002F06E7058F0549050005534E074EBD4D39 -:100BB4007B4D424DFC4CBE4C6D4C234CE34B9D4B4A -:100BC400534B094BB94A654A0E4AC4497E493449D4 -:100BD400EA489A484648EF47AF476E472047E646FB -:100BE400BB4689465B462D46FF45CF459F456D452F -:100BF4003245F544B94477444F442B440344E44319 -:100C0400B7438A4364433D431643ED42C742A4427B -:100C14007E425342354221420742E941CB41AD4134 -:100C24008F4168413E411641F440E240D840CE40F5 -:100C3400C440B1408940634039400740D53FA33F99 -:100C4400713F3D3F113FE93EBC3E863E4A3E0E3E6B -:100C5400CF3D8E3D4F3D043DCB3C9E3C6E3C4B3CDA -:100C6400183CD13B8C3B453B0A3BC93A823A313A6A -:100C7400E239A239703937390539CE3897386C38AA -:100C840040380B38DA37AA3762371937D9368C36F9 -:100C94003436F535C2358B354D350535B6346B34C0 -:100CA4002A34ED33A73363333333EF329F325D326B -:100CB4003632F131B8317C31533143310531B630FC -:100CC40063302130E12F912F3E2FE82E902E342EC9 -:100CD400D92D7B2D1D2DDD2CAF2C6F2C1C2CCA2B5C -:100CE4007A2B362BEE2AA12A3E2A072ACB290E2953 -:100CF4004B288F27BD263026DA2590252F25BC24A6 -:100D04004924D6236323D5225022FF21B5216B2108 -:100D14002A21881EB51C421CA21A9B195019F418CA -:100D24009D1863183B181318EB17C3179B1740172C -:100D3400F016CD1693163A16ED159A1544150315AB -:100D4400B1144D14FB13C7138D133B13E1128D1211 -:100D54002B12BD1155110011941006109D0F520F46 -:100D64000E0FAC0E630E190ECF0D830D2B0DD40C8C -:100D7400820C400CE40B910B470BFF0AD70AAD0A17 -:100D8400680A200AD4097D093409EF089C0846083A -:100D9400EC0796073E07E6068D063906F005A00522 -:100DA40057051205644E184ECD4D8B4D4C4D0E4DCE -:100DB400C84C7E4C2E4CEF4BAB4B614B174BC94A86 -:100DC400754A1F4AD0498C494249F848AA485648AE -:100DD4000048B9477E473147EE46C34694466346CA -:100DE40035460746D945A94577453D45FE44C344A4 -:100DF4009044564433440B44EB43BF4391436B4309 -:100E040044431D43F542CE42AB4286425C423942E2 -:100E140025420D42EF41D141B341954171414641D3 -:100E24001E41FA40E440DA40D040C640B640934008 -:100E3400694043401140DF3FAD3F7B3F493F183F8E -:100E4400F23EC53E923E563E1A3EDC3D9B3D5B3D26 -:100E5400153DD33CA53C763C523C1E3CE13B9B3BC0 -:100E6400533B163BD83A943A413AF239B33978397C -:100E740042391039D938A23873384A381638E3372A -:100E8400B43775372737E8369D364636FE35CD35C7 -:100E9400963558351335C8347A343434FA33B63386 -:100EA40070333F33FE32B23266323D320132C031EA -:100EB4008C31563146311531C53071302930F02F1F -:100EC400A32F4F2FFB2E9F2E4A2EEA2D8D2D332D2F -:100ED400E82CB72C7F2C2D2CDA2B8A2B422BFE2AC4 -:100EE400B02A552A0A2ADD2941296A28B927E72682 -:100EF4004326EA259E254625D3246024ED237A2320 -:100F0400F52267221022CA217D213821611FC01CCD -:100F1400611C181BA41963190619AE186B18431821 -:100F24001B18F317CB17A3175917FA16D216A316C3 -:100F34004D16FA15AD1554150E15C5146114091482 -:100F4400CF139B134D13F3129D124112D311691148 -:100F54000F11AE102410AC0F610F1A0FC40E6C0EDB -:100F64002A0EDB0D950D3D0DE60C8C0C4D0CF80B8B -:100F7400A60B580B0C0BDE0ABA0A7A0A2C0AE309F0 -:100F84008F093F09FD08AC085608FE07A6074E075F -:100F9400F6069E064706F905B10563052005704E61 -:100FA400264EDB4D9A4D564D1D4DD24C924C3D4C28 -:100FB400FD4BBB4B714B274BDB4A874A324ADE4918 -:100FC4009C4952490849BC4868481348C2478C4761 -:100FD4003F47F946CB46A1466E4640461246E24597 -:100FE400B34581454E450D45D34499445D443B4446 -:100FF4001344EF43CE43984374434D432643FE4288 -:10100400D542B2428E4265423D4229421342F541E5 -:10101400D741B9419B417A414E4126410041E640C6 -:10102400DC40D240C840BB409D406F404D401B4017 -:10103400E93FB73F853F513F1E3FFB3ECE3E9E3EBC -:10104400623E263EE93DA83D683D253DDB3CAF3C84 -:101054007F3C583C2E3CEC3BA93B5D3B253BE13AB5 -:10106400A53A503A003ABC3981394C391B39E43835 -:10107400AD387A3854382138EC37BE3786373037B4 -:10108400F336AE3658360736D835A13567352135AF -:10109400D934893441340634C3337A3349330F3372 -:1010A400C2326F3244321532C83197315A31493124 -:1010B4002831D63084303830FE2FB22F642F0B2FD6 -:1010C400B12E5C2EFC2DA22D472DF32CBF2C8F2C82 -:1010D4003E2CEA2B9A2B4E2B0E2BBF2A6C2A0D2A60 -:1010E400EF2974298928E32711275626FA25AC25E8 -:1010F4005D25EA2477240424912315237E221A22D1 -:10110400D8218B2140213A20CB1C801C8E1BAD1989 -:1011140076191819BF1873184B182318FB17D3170F -:10112400AB1772170417D716B31660160716C01537 -:1011340064151915D91475141714D713A9135F134B -:101144000513AD125712E9117D111E11C81042107A -:10115400BB0F700F280FDC0E740E3F0EE60DA60DAC -:101164004E0DF70C9B0C5C0C0A0CB30B670B150BA8 -:10117400E40AC20A8A0A390AF5099D094C090B09CD -:10118400BE0868081008B80760070807B0065906C3 -:101194000B06C30570052D050160EA00000080BB45 -:1011A40044010100000041000034420000504100AD -:1011B40000404000005643000046430000494300FD -:1011C400000000000000001F856B3E0000803F000F -:1011D400004040640064006400640000803B4500FB -:1011E400803B450000704300000000022AC3013226 -:1011F40000E6006400DC005A00F0006400FE000118 -:10120400010101011C02C201F4010E01C201C2016B -:101214000E01C201C20100000243FF00004000149D -:10122400005400001F1511151F00000C12120C00B1 -:10123400000000040A0A0A0A11110E040E1F041CFD -:101244000000000006191803130C00001C1F1111E4 -:101254001F00000004120912040000000E131511EF -:101264000E00000000000000110A040000C8420043 -:1012740000C84200007A45CD4C21430000FA4300E7 -:1012840000FA43000040400000C841282300002821 -:101294002300001E00000010270000101010101082 -:1012A400504944204175746F74756E652073746180 -:1012B400727400504944204175746F74756E6520D2 -:1012C4006661696C65642E2042616420657874727D -:1012D40075646572206E756D6265722E0000000083 -:1012E40000244D57F52F006F70656E206661696CA0 -:1012F40065642C2046696C653A20004E6F7420703A -:1013040072696E74696E670053442D5052494E548D -:10131400494E47202020202020202020004D31311C -:101324003200332E302E3100315F37356D6D2D5242 -:10133400414D426F3130612D453344763666756CCC -:101344006C003F0050727573612069330020703A5D -:101354000020693A0020643A0020633A00540000F7 -:10136400000100250030001D000C0018002400318D -:10137400001C000B00170023002F001B000A001E96 -:101384000047000400060022002B001A0003003668 -:101394000037003500380058595A454F4B00052E88 -:1013A4002E003E00206D6D006D2000636D006820EE -:1013B4000073006B6D0068007C002D2D2D2D2D2DEC -:1013C4002D2D2D2D2D2D2D2D2D2D2D2D2D2D00485B -:1013D4006F74656E640058005900426564004C6F78 -:1013E4006164696E672066696C616D656E74003452 -:1013F4000020202020202020202020202020202009 -:1014040020202020200001005E0020205A00203AE5 -:10141400200000803B4500803B45000070430000F5 -:1014240070420000000047D157F500000000AAEC0C -:0A1434007EEC53EC5BEC6EEC7DECFB -:00000001FF diff --git a/hex_files/1_75mm-RAMBo10a-E3Dv6lite.hex b/hex_files/1_75mm-RAMBo10a-E3Dv6lite.hex deleted file mode 100644 index 2d05b658f..000000000 --- a/hex_files/1_75mm-RAMBo10a-E3Dv6lite.hex +++ /dev/null @@ -1,8520 +0,0 @@ -:100000000C9468300C9499300C9499300C9499307D -:100010000C9499300C9499300C9499300C9499303C -:100020000C9499300C9499300C9499300C9499302C -:100030000C9499300C9422F40C9499300C949930CF -:100040000C9499300C944DD20C9499300C949930B6 -:100050000C9499300C9499300C9407490C94E2EF6D -:100060000C9499300C941BCF0C9499300C949930CB -:100070000C9499300C9499300C9499300C949930DC -:100080000C9499300C9499300C9499300C949930CC -:100090000C9499300C9499300C9499300C9414ED84 -:1000A0000C9499300C9499300C9499300C949930AC -:1000B0000C9499300C9499300C9499300C9499309C -:1000C0000C9499300C9499300C9499300C9499308C -:1000D0000C9499300C9499300C9499300C9499307C -:1000E0000C949930544962497E498C49A649B449D7 -:1000F000CE49D249D449D849E04966EE6BEE70EE5C -:100100007AEEF3EE84EE8CEE94EE9EEEA8EEB2EE76 -:10011000C1EECBEEF3EED5EEDFEEE9EE11EF14EF2C -:1001200007EF0BEF4BEF18EF1CEF22EF26EF2AEF54 -:1001300030EF34EF38EF4BEF3EEF42EF46EF084A37 -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8 -:100190003F2F5B5D3B2C2A225C004572723A204D5A -:1001A000415854454D50204245440054656D70659A -:1001B000726174757265206865617465642062653A -:1001C00064207377697463686564206F66662E20A7 -:1001D0004D415854454D502074726967676572658A -:1001E000642021004572723A204D494E54454D50CD -:1001F000003A20457874727564657220737769746B -:1002000063686564206F66662E204D494E54454DE7 -:1002100050207472696767657265642021004572B9 -:10022000723A204D415854454D50003A204578745B -:100230007275646572207377697463686564206F92 -:1002400066662E204D415854454D502074726967A2 -:100250006765726564202100544845524D414C2029 -:1002600052554E4157415900202D20496E76616C00 -:100270006964206578747275646572206E756D624C -:100280006572202100504944204175746F74756E69 -:10029000652066696E6973686564212050757420F5 -:1002A000746865206C617374204B702C204B69203E -:1002B000616E64204B6420636F6E7374616E74733F -:1002C0002066726F6D2061626F766520696E746F53 -:1002D00020436F6E66696775726174696F6E2E6810 -:1002E00000504944204175746F74756E65206661D5 -:1002F000696C6564212074696D656F7574002040B8 -:100300003A006F6B20543A006F6B20423A0050491C -:1003100044204175746F74756E65206661696C6503 -:1003200064212054656D7065726174757265207406 -:100330006F6F206869676800204B643A2000204B8B -:10034000693A2000204B703A200020436C6173739F -:1003500069632050494420002054753A2000204B06 -:10036000753A2000206D61783A2000206D696E3A60 -:10037000200020643A200020626961733A20001056 -:1003800000C90210012C014001220170011801B0C6 -:10039000010E01F00104015002FA00B002F0003039 -:1003A00003E600D003DC009004D2007005C800A072 -:1003B00006BE000008B400B009AA00D00BA000607F -:1003C0000E960060118C000015820020197800C084 -:1003D0001D6E00A0226400B0275A00902C5000002F -:1003E000314600E0343C0010383200903A2800607A -:1003F0003C1E00A03D1400803E0A00203F0000701B -:10040000012C0190012701B0012201C0011D01F062 -:100410000118011002130130020E0160020901905F -:10042000020401C002FF000003FA004003F500804F -:1004300003F000D003EB002004E6007004E100E0CC -:1004400004DC004005D700C005D2004006CD00D036 -:1004500006C8008007C3003008BE00F008B900C01D -:1004600009B400B00AAF00B00BAA00D00CA5000080 -:100470000EA000500F9B00C010960050129100007B -:10048000148C00C0158700B0178200B0197D00D011 -:100490001B7800001E730040206E0090226900F05F -:1004A00024640040275F0090295A00E02B5500107B -:1004B0002E500020304B0010324600E033410090B7 -:1004C000353C001037370070383200A0392D00B0AD -:1004D0003A2800A03B2300603C1E00103D1900900C -:1004E0003D1400103E0F00703E0A00C03E050000A3 -:1004F0003F00004472756B207A2055534220200043 -:10050000496D70726573696F6E2064652055534242 -:1005100020005374616D7061206461205553420066 -:100520005469736B207A2055534220200055534262 -:10053000207072696E74696E672020005374617454 -:10054000797374796B6120200045737461646973F9 -:100550007469636120200053746174697374696302 -:1005600068650053746174697374696B612020005D -:100570005374617469737469637320200053656CEC -:100580006674657374206E69657564616E79004187 -:1005900075746F746573742066616C6C61646F0050 -:1005A0004175746F746573742066616C6C69746FE7 -:1005B0000053656C66746573742073656C68616C58 -:1005C00020200053656C6674657374206661696CE5 -:1005D000656420200053656C667465737420202068 -:1005E000202020202020004175746F7465737400F2 -:1005F0004175746F746573740053656C66746573CC -:10060000742020202020202020200053656C667458 -:100610006573742020202020202020200057737A2A -:100620007973746B6F204F4B2020202020200054C2 -:100630006F646F2062696520004E657373756E206C -:100640006572726F726500567365204F4B202020D3 -:10065000202020202020202000416C6C20636F721D -:1006600072656374202020202020004B6F6E74720E -:100670006F6C6120626564202020202000436F6E33 -:1006800074726F6C2064652063616D6100566572E1 -:1006900069666963612070696173747261004B6F90 -:1006A0006E74726F6C6120626564202020202000CF -:1006B000436865636B696E67206265642020202053 -:1006C00020004B6F6E74726F6C61205A20617869E4 -:1006D00073202000436F6E74726F6C2064656C2011 -:1006E000656A65205A0056657269666963612061B2 -:1006F000737365205A004B6F6E74726F6C61205A71 -:100700002061786973202000436865636B696E67B8 -:10071000205A20617869732020004B6F6E74726FCD -:100720006C6120592061786973202000436F6E74DA -:10073000726F6C2064656C20656A6520590056658F -:1007400072696669636120617373652059004B6F3C -:100750006E74726F6C61205920617869732020007B -:10076000436865636B696E672059206178697320FF -:1007700020004B6F6E74726F6C6120582061786935 -:1007800073202000436F6E74726F6C2064656C2060 -:10079000656A652058005665726966696361206103 -:1007A0007373652058004B6F6E74726F6C612058C4 -:1007B0002061786973202000436865636B696E6708 -:1007C000205820617869732020004B6F6E74726F1F -:1007D0006C6120686F74656E64202000436F6E74D6 -:1007E000726F6C20686F74656E6420005665726964 -:1007F00066696361206C696D2074656D70004B6F74 -:100800006E74726F6C6120686F74656E6420200076 -:10081000436865636B696E6720686F74656E6420FA -:1008200020004B6F6E74726F6C6120656E64737420 -:100830006F707300436F6E742E20746F7065732039 -:1008400066696E616C005665726966696361206CE9 -:10085000696D697469004B6F6E74726F6C612065AD -:100860006E6473746F707300436865636B696E6761 -:1008700020656E6473746F70730053656C662074CA -:100880006573742073746172742020004175746FF5 -:10089000746573742073616C69646100496E697A70 -:1008A0006961206175746F746573740053656C665B -:1008B0002074657374207374617274202000536512 -:1008C0006C662074657374207374617274202000E8 -:1008D000437A6173206472756B75203A202000544E -:1008E00069656D706F20646520696D702E3A0054E3 -:1008F000656D706F207374616D70613A0043617350 -:10090000207469736B75203A2020005072696E74F0 -:100910002074696D653A20200046696C616D656ED2 -:1009200074203A20200046696C616D656E746F20FA -:100930003A20200046696C616D656E746F3A00461E -:10094000696C616D656E74203A20200046696C61A7 -:100950006D656E7420757365643A202000437A617A -:10096000732063616C6B6F77697479203A00546906 -:10097000656D706F20746F74616C203A0054656D02 -:10098000706F207374616D706120746F743A0043EE -:10099000656C6B6F767920636173203A00546F74D5 -:1009A000616C207072696E742074696D65203A0004 -:1009B00046696C616D656E74206C61637A6E696501 -:1009C000203A0046696C616D656E746F20746F74B7 -:1009D000616C3A0046696C616D656E746F20746F6E -:1009E000743A0046696C616D656E742063656C6B6A -:1009F000656D203A00546F74616C2066696C616D9E -:100A0000656E74203A0053656C66207465737420BB -:100A10004F4B0053656C662074657374204F4B0018 -:100A20004175746F74657374204F4B0053656C6629 -:100A30002074657374204F4B0053656C6620746599 -:100A40007374204F4B00456E6473746F70206E6F2B -:100A5000742068697400546F70652066696E2E207A -:100A60006E6F20746F632E004C696D2E2066756F5B -:100A70007269706F727461746100456E6473746F33 -:100A800070206E6F742068697400456E6473746FB3 -:100A900070206E6F742068697400456E6473746FA3 -:100AA0007000546F70652066696E616C004C696DF2 -:100AB00069746520636F72736100456E6473746F4F -:100AC0007000456E6473746F700053696C6E696B6F -:100AD000004D6F746F72004D6F746F7265004D6FD3 -:100AE000746F72004D6F746F7200456E6473746F33 -:100AF000707300546F7065732066696E616C004C92 -:100B0000696D69746920636F72736100456E647307 -:100B1000746F707300456E6473746F707300426C11 -:100B2000616420706F6C61637A656E696100457203 -:100B3000726F7220646520636F6E657869C383C6C7 -:100B400092C382C2B36E004572726F726520636198 -:100B5000626C616767696F004368796261207A61DE -:100B6000706F6A656E6900576972696E6720657299 -:100B7000726F7200426564202F204865617465724F -:100B80000043616D612F43616C656E7461646F72C7 -:100B900000506961737472612F52697363616C6490 -:100BA00061746F726500426564202F20486561742E -:100BB000657200426564202F20486561746572008B -:100BC0004865617465722F546865726D6973746FDE -:100BD000720043616C656E742E2F5465726D69737B -:100BE000746F720052697363616C642E2F54657266 -:100BF0006D6973746F7265004865617465722F5416 -:100C00006865726D6973746F7200486561746572AE -:100C10002F546865726D6973746F72004E69652038 -:100C2000706F646C61637A6F6E6F202020004E6F6E -:100C30002068617920636F6E6578696F6E2020008F -:100C40004E6F6E20636F6E6E6573736F004E657AC4 -:100C500061706F6A656E6F20202020004E6F7420D7 -:100C6000636F6E6E656374656400536B6F6E747250 -:100C70006F6C756A203A00436F6E74726F6C6120FE -:100C80003A0056657269666963613A005A6B6F6E25 -:100C900074726F6C756A7465203A00506C6561738C -:100CA0006520636865636B203A0053656C66746504 -:100CB0007374206572726F72202100C383E2809A80 -:100CC000C382C2A14175746F7465737420657272BA -:100CD0006F7221004175746F74657374206E65675F -:100CE000617469766F0053656C6674657374206512 -:100CF00072726F7220210053656C66746573742084 -:100D00006572726F72202100686F77746F2E707237 -:100D100075736133642E637A00686F77746F2E7019 -:100D20007275736133642E636F6D00686F77746FD3 -:100D30002E707275736133642E636F6D00686F7708 -:100D4000746F2E707275736133642E637A00686FEE -:100D500077746F2E707275736133642E636F6D00DC -:100D6000666F72756D2E707275736133642E637A5F -:100D700000666F72756D2E707275736133642E63C9 -:100D80006F6D00666F72756D2E707275736133646E -:100D90002E636F6D00666F72756D2E707275736164 -:100DA00033642E637A00666F72756D2E7072757380 -:100DB0006133642E636F6D00707275736133642EDE -:100DC000637A00707275736133642E636F6D0070A7 -:100DD0007275736133642E636F6D00707275736129 -:100DE00033642E637A00707275736133642E636F9F -:100DF0006D005779626F72206A657A796B61202085 -:100E00002020202020200043616D626961206C61F8 -:100E1000206C656E677561200053656C657A2E20C5 -:100E20006C61206C696E677561005679626572202D -:100E30006A617A796B6120202020202020200053D5 -:100E4000656C656374206C616E67756167652020F1 -:100E500020202000506F6C736B6900457370616EC9 -:100E60006F6C004974616C69616E6F0043657374E7 -:100E7000696E6100456E676C697368004572726FD8 -:100E80007220696E206D656E75207374727563745F -:100E9000757265004572726F7220696E206D656EA5 -:100EA0007520737472756374757265004572726F24 -:100EB0007220696E206D656E75207374727563742F -:100EC000757265004572726F7220696E206D656E75 -:100ED0007520737472756374757265004572726FF4 -:100EE0007220696E206D656E7520737472756374FF -:100EF00075726500446F737461766F76616E6920F8 -:100F00005A0041646A757374696E67205A004164BF -:100F10006A757374696E67205A00446F73746176E2 -:100F20006F76616E69205A0041646A757374696EE8 -:100F300067205A00426162797374657070696E67E8 -:100F4000205900426162797374657070696E672020 -:100F50005900426162797374657070696E672059D7 -:100F600000426162797374657070696E6720590020 -:100F7000426162797374657070696E6720590042CE -:100F80006162797374657070696E672058004261A0 -:100F900062797374657070696E672058004261628F -:100FA000797374657070696E672058004261627968 -:100FB0007374657070696E6720580042616279735E -:100FC00074657070696E6720580020746F6F206CB4 -:100FD0006F6E6720657874727573696F6E207072BA -:100FE0006576656E7465640020746F6F206C6F6E3B -:100FF0006720657874727573696F6E20707265769C -:10100000656E7465640020746F6F206C6F6E67206E -:10101000657874727573696F6E2070726576656E2F -:101020007465640020746F6F206C6F6E6720657844 -:1010300074727573696F6E2070726576656E746513 -:10104000640020746F6F206C6F6E67206578747217 -:101050007573696F6E2070726576656E7465640075 -:1010600020636F6C6420657874727573696F6E208D -:1010700070726576656E7465640020636F6C6420C1 -:10108000657874727573696F6E2070726576656EBF -:101090007465640020636F6C642065787472757386 -:1010A000696F6E2070726576656E7465640020638A -:1010B0006F6C6420657874727573696F6E207072DE -:1010C0006576656E7465640020636F6C6420657876 -:1010D00074727573696F6E2070726576656E746573 -:1010E0006400656E6473746F7073206869743A206D -:1010F00000656E6473746F7073206869743A2000C1 -:10110000656E6473746F7073206869743A2000654B -:101110006E6473746F7073206869743A2000656E32 -:101120006473746F7073206869743A200053746537 -:10113000707261746520746F6F20686967683A2007 -:1011400000537465707261746520746F6F206869F4 -:1011500067683A2000537465707261746520746F1B -:101160006F20686967683A20005374657072617413 -:101170006520746F6F20686967683A200053746552 -:10118000707261746520746F6F20686967683A20B7 -:101190000043616E6E6F7420656E746572207375A6 -:1011A000626469723A200043616E6E6F7420656EEE -:1011B000746572207375626469723A200043616ECF -:1011C0006E6F7420656E74657220737562646972E7 -:1011D0003A200043616E6E6F7420656E74657220F4 -:1011E0007375626469723A200043616E6E6F742099 -:1011F000656E746572207375626469723A20006569 -:1012000072726F722077726974696E6720746F20D2 -:1012100066696C65006572726F72207772697469B5 -:101220006E6720746F2066696C65006572726F72FC -:101230002077726974696E6720746F2066696C65C7 -:10124000006572726F722077726974696E672074BC -:101250006F2066696C65006572726F7220777269C3 -:1012600074696E6720746F2066696C65004E6F74D8 -:10127000205344207072696E74696E67004E6F74FB -:10128000205344207072696E74696E67004E6F74EB -:10129000205344207072696E74696E67004E6F74DB -:1012A000205344207072696E74696E67004E6F74CB -:1012B000205344207072696E74696E670053442035 -:1012C0007072696E74696E6720627974652000536C -:1012D00044207072696E74696E672062797465204B -:1012E000005344207072696E74696E67206279746D -:1012F0006520005344207072696E74696E672062C5 -:1013000079746520005344207072696E74696E6749 -:101310002062797465200057726974696E67207461 -:101320006F2066696C653A200057726974696E6750 -:1013300020746F2066696C653A2000577269746981 -:101340006E6720746F2066696C653A200057726979 -:1013500074696E6720746F2066696C653A20005767 -:10136000726974696E6720746F2066696C653A20D3 -:101370000046696C652073656C656374656400463E -:10138000696C652073656C65637465640046696C9F -:10139000652073656C65637465640046696C6520DF -:1013A00073656C65637465640046696C652073657C -:1013B0006C6563746564002053697A653A20002087 -:1013C00053697A653A20002053697A653A200020F3 -:1013D00053697A653A20002053697A653A200046BD -:1013E000696C65206F70656E65643A200046696CB3 -:1013F00065206F70656E65643A200046696C6520F3 -:101400006F70656E65643A200046696C65206F7088 -:10141000656E65643A200046696C65206F70656E84 -:1014200065643A20006F70656E206661696C656462 -:101430002C2046696C653A20006F70656E206661ED -:10144000696C65642C2046696C653A20006F706594 -:101450006E206661696C65642C2046696C653A2073 -:10146000006F70656E206661696C65642C2046694A -:101470006C653A20006F70656E206661696C65640A -:101480002C2046696C653A2000776F726B44697254 -:10149000206F70656E206661696C656400776F729D -:1014A0006B446972206F70656E206661696C65645B -:1014B00000776F726B446972206F70656E20666191 -:1014C000696C656400776F726B446972206F706538 -:1014D0006E206661696C656400776F726B44697237 -:1014E000206F70656E206661696C656400534420EE -:1014F00063617264206F6B005344206361726420E7 -:101500006F6B0053442063617264206F6B0053441F -:101510002063617264206F6B0053442063617264C6 -:10152000206F6B006F70656E526F6F74206661691B -:101530006C6564006F70656E526F6F7420666169D0 -:101540006C6564006F70656E526F6F7420666169C0 -:101550006C6564006F70656E526F6F7420666169B0 -:101560006C6564006F70656E526F6F7420666169A0 -:101570006C656400766F6C756D652E696E6974209C -:101580006661696C656400766F6C756D652E696E59 -:101590006974206661696C656400766F6C756D6551 -:1015A0002E696E6974206661696C656400766F6C83 -:1015B000756D652E696E6974206661696C6564007D -:1015C000766F6C756D652E696E6974206661696CE5 -:1015D000656400534420696E6974206661696C001B -:1015E000534420696E6974206661696C005344201D -:1015F000696E6974206661696C00534420696E6984 -:1016000074206661696C00534420696E69742066B9 -:1016100061696C0043616E6E6F74206F70656E203F -:101620007375626469720043616E6E6F74206F70CF -:10163000656E207375626469720043616E6E6F74CB -:10164000206F70656E207375626469720043616E0D -:101650006E6F74206F70656E2073756264697200BE -:1016600043616E6E6F74206F70656E207375626477 -:10167000697200486F74656E64206F666673657486 -:10168000733A00486F74656E64206F6666736574A4 -:10169000733A00486F74656E64206F666673657494 -:1016A000733A00486F74656E64206F666673657484 -:1016B000733A00486F74656E64206F666673657474 -:1016C000733A006F70656E006F70656E006F7065C5 -:1016D0006E006F70656E006F70656E005452494702 -:1016E00047455245440054524947474552454400F6 -:1016F000545249474745524544005452494747458B -:1017000052454400545249474745524544005265AA -:10171000706F7274696E6720656E6473746F702089 -:10172000737461747573005265706F7274696E675B -:1017300020656E6473746F702073746174757300C8 -:101740005265706F7274696E6720656E6473746F32 -:101750007020737461747573005265706F72746970 -:101760006E6720656E6473746F7020737461747536 -:1017700073005265706F7274696E6720656E647372 -:10178000746F7020737461747573007A5F6D617823 -:101790003A20007A5F6D61783A20007A5F6D617857 -:1017A0003A20007A5F6D61783A20007A5F6D617847 -:1017B0003A20007A5F6D696E3A20007A5F6D696E3B -:1017C0003A20007A5F6D696E3A20007A5F6D696E2B -:1017D0003A20007A5F6D696E3A2000795F6D61781A -:1017E0003A2000795F6D61783A2000795F6D617809 -:1017F0003A2000795F6D61783A2000795F6D6178F9 -:101800003A2000795F6D696E3A2000795F6D696EEC -:101810003A2000795F6D696E3A2000795F6D696EDC -:101820003A2000795F6D696E3A2000785F6D6178CB -:101830003A2000785F6D61783A2000785F6D6178BA -:101840003A2000785F6D61783A2000785F6D6178AA -:101850003A2000785F6D696E3A2000785F6D696E9E -:101860003A2000785F6D696E3A2000785F6D696E8E -:101870003A2000785F6D696E3A2000496E76616C9F -:10188000696420657874727564657200496E76616A -:101890006C696420657874727564657200496E764F -:1018A000616C696420657874727564657200496E54 -:1018B00076616C696420657874727564657200493C -:1018C0006E76616C69642065787472756465720007 -:1018D0004163746976652045787472756465723AFF -:1018E000200041637469766520457874727564657B -:1018F000723A200041637469766520457874727588 -:101900006465723A20004163746976652045787495 -:1019100072756465723A200041637469766520458A -:10192000787472756465723A2000556E6B6E6F77CD -:101930006E20636F6D6D616E643A202200556E6B90 -:101940006E6F776E20636F6D6D616E643A2022005A -:10195000556E6B6E6F776E20636F6D6D616E643A5E -:10196000202200556E6B6E6F776E20636F6D6D6118 -:101970006E643A202200556E6B6E6F776E20636F37 -:101980006D6D616E643A202200526573656E643A33 -:101990002000526573656E643A2000526573656E6F -:1019A000643A2000526573656E643A200052657394 -:1019B000656E643A20005072696E746572207374AB -:1019C0006F707065642064756520746F2065727235 -:1019D0006F72732E20466978207468652065727274 -:1019E0006F7220616E6420757365204D393939201E -:1019F000746F20726573746172742E202854656D43 -:101A000070657261747572652069732072657365A3 -:101A1000742E205365742069742061667465722089 -:101A200072657374617274696E6729005072696EB1 -:101A30007465722073746F707065642064756520BE -:101A4000746F206572726F72732E204669782074ED -:101A50006865206572726F7220616E6420757365AF -:101A6000204D39393920746F207265737461727436 -:101A70002E202854656D70657261747572652069D9 -:101A8000732072657365742E205365742069742009 -:101A900061667465722072657374617274696E67D1 -:101AA00029005072696E7465722073746F7070656E -:101AB000642064756520746F206572726F72732E76 -:101AC0002046697820746865206572726F722061A3 -:101AD0006E6420757365204D39393920746F20721A -:101AE0006573746172742E202854656D706572611F -:101AF000747572652069732072657365742E205346 -:101B000065742069742061667465722072657374EF -:101B1000617274696E6729005072696E7465722013 -:101B200073746F707065642064756520746F2065D0 -:101B300072726F72732E2046697820746865206512 -:101B400072726F7220616E6420757365204D393931 -:101B50003920746F20726573746172742E2028545A -:101B6000656D706572617475726520697320726548 -:101B70007365742E205365742069742061667465E2 -:101B8000722072657374617274696E672900507295 -:101B9000696E7465722073746F707065642064750B -:101BA0006520746F206572726F72732E204669789B -:101BB00020746865206572726F7220616E64207592 -:101BC0007365204D39393920746F207265737461E3 -:101BD00072742E202854656D70657261747572651B -:101BE0002069732072657365742E205365742069B3 -:101BF00074206166746572207265737461727469B1 -:101C00006E6729005072696E7465722068616C7429 -:101C100065642E206B696C6C28292063616C6C658F -:101C20006421005072696E7465722068616C74651D -:101C3000642E206B696C6C28292063616C6C656470 -:101C400021005072696E7465722068616C746564FD -:101C50002E206B696C6C28292063616C6C65642193 -:101C6000005072696E7465722068616C7465642ED0 -:101C7000206B696C6C28292063616C6C65642100A1 -:101C80005072696E7465722068616C7465642E2090 -:101C90006B696C6C28292063616C6C656421002081 -:101CA000436F756E7420583A200020436F756E7430 -:101CB00020583A200020436F756E7420583A200057 -:101CC00020436F756E7420583A200020436F756E64 -:101CD0007420583A20004649524D574152455F4EB4 -:101CE000414D453A4D61726C696E2056312E302E51 -:101CF000323B20537072696E7465722F6772626C2A -:101D0000206D617368757020666F722067656E362E -:101D1000204649524D574152455F55524C3A6874DE -:101D20007470733A2F2F6769746875622E636F6DD4 -:101D30002F707275736133642F50727573612D69E2 -:101D4000332D506C75732F2050524F544F434F4CCE -:101D50005F56455253494F4E3A312E30204D414344 -:101D600048494E455F545950453A50727573612049 -:101D700069332045585452554445525F434F554EA0 -:101D8000543A3120555549443A30303030303030B3 -:101D9000302D303030302D303030302D303030304C -:101DA0002D3030303030303030303030300A004676 -:101DB00049524D574152455F4E414D453A4D617232 -:101DC0006C696E2056312E302E323B205370726972 -:101DD0006E7465722F6772626C206D6173687570C6 -:101DE00020666F722067656E36204649524D574116 -:101DF00052455F55524C3A68747470733A2F2F678E -:101E000069746875622E636F6D2F707275736133BC -:101E1000642F50727573612D69332D506C75732F5B -:101E20002050524F544F434F4C5F56455253494FE9 -:101E30004E3A312E30204D414348494E455F54596A -:101E400050453A5072757361206933204558545299 -:101E5000554445525F434F554E543A3120555549EC -:101E6000443A30303030303030302D303030302D5A -:101E7000303030302D303030302D30303030303068 -:101E80003030303030300A004649524D57415245CB -:101E90005F4E414D453A4D61726C696E2056312E50 -:101EA000302E323B20537072696E7465722F6772E8 -:101EB000626C206D617368757020666F7220676553 -:101EC0006E36204649524D574152455F55524C3A65 -:101ED00068747470733A2F2F6769746875622E6323 -:101EE0006F6D2F707275736133642F5072757361EB -:101EF0002D69332D506C75732F2050524F544F4322 -:101F00004F4C5F56455253494F4E3A312E30204D7B -:101F1000414348494E455F545950453A5072757394 -:101F2000612069332045585452554445525F434F10 -:101F3000554E543A3120555549443A3030303030BE -:101F40003030302D303030302D303030302D30309A -:101F500030302D3030303030303030303030300AAA -:101F6000004649524D574152455F4E414D453A4D0D -:101F700061726C696E2056312E302E323B205370C8 -:101F800072696E7465722F6772626C206D6173681E -:101F9000757020666F722067656E36204649524D17 -:101FA000574152455F55524C3A68747470733A2FDA -:101FB0002F6769746875622E636F6D2F7072757309 -:101FC0006133642F50727573612D69332D506C75B8 -:101FD000732F2050524F544F434F4C5F564552532E -:101FE000494F4E3A312E30204D414348494E455FCE -:101FF000545950453A5072757361206933204558E1 -:102000005452554445525F434F554E543A31205532 -:102010005549443A30303030303030302D30303067 -:10202000302D303030302D303030302D30303030B9 -:1020300030303030303030300A004649524D574150 -:1020400052455F4E414D453A4D61726C696E205666 -:10205000312E302E323B20537072696E7465722FB0 -:102060006772626C206D617368757020666F722094 -:1020700067656E36204649524D574152455F55526D -:102080004C3A68747470733A2F2F6769746875627C -:102090002E636F6D2F707275736133642F5072757C -:1020A00073612D69332D506C75732F2050524F542E -:1020B0004F434F4C5F56455253494F4E3A312E30A5 -:1020C000204D414348494E455F545950453A50725E -:1020D0007573612069332045585452554445525F09 -:1020E000434F554E543A3120555549443A303030DB -:1020F00030303030302D303030302D303030302DE9 -:10210000303030302D3030303030303030303030D2 -:10211000300A0053746F6C696B204F4B2E00426184 -:102120007365206C6973746F2E0050696174746FED -:1021300020666174746F2E00426564204F4B2E0040 -:1021400042656420646F6E650047727A616E6965EE -:102150002073746F6C696B612E2E00426173652071 -:1021600043616C656E74616E646F00506961747474 -:102170006F2072697363616C64616D2E005A6168CF -:10218000726976616E692062656400426564204808 -:10219000656174696E670047727A616E6965204F88 -:1021A0004B2E0043616C656E74616E646F206C69C8 -:1021B00073746F2E0052697363616C64616D656E38 -:1021C000746F20666174746F2E005A61687269764C -:1021D000616E69204F4B2E0048656174696E6720FF -:1021E000646F6E652E0047727A616E69652E2E2EC1 -:1021F0000043616C656E74616E646F2E2E2E00520A -:10220000697363616C64616D656E746F2E2E2E0050 -:102210005A6168726976616E690048656174696EB9 -:1022200067004D31303920496E76616C69642065F4 -:102230007874727564657220004D31303920496EB2 -:1022400076616C69642065787472756465722000CB -:102250004D31303920496E76616C6964206578743F -:10226000727564657220004D31303920496E766197 -:102270006C696420657874727564657220004D31F4 -:10228000303920496E76616C6964206578747275A6 -:1022900064657220004E6F20746865726D69737496 -:1022A0006F7273202D206E6F2074656D7065726182 -:1022B00074757265004E6F20746865726D69737411 -:1022C0006F7273202D206E6F2074656D7065726162 -:1022D00074757265004E6F20746865726D697374F1 -:1022E0006F7273202D206E6F2074656D7065726142 -:1022F00074757265004E6F20746865726D697374D1 -:102300006F7273202D206E6F2074656D7065726121 -:1023100074757265004E6F20746865726D697374B0 -:102320006F7273202D206E6F2074656D7065726101 -:1023300074757265004D32323120496E76616C6978 -:102340006420657874727564657220004D32323194 -:1023500020496E76616C6964206578747275646575 -:102360007220004D32323120496E76616C696420F2 -:10237000657874727564657220004D32323120497F -:102380006E76616C6964206578747275646572201C -:10239000004D32323120496E76616C696420657877 -:1023A00074727564657220004D32313820496E7642 -:1023B000616C696420657874727564657220004D83 -:1023C00032313820496E76616C69642065787472A8 -:1023D0007564657220004D32313820496E76616C2B -:1023E000696420657874727564657220004D3231BD -:1023F0003820496E76616C69642065787472756402 -:10240000657220004D32313820496E76616C696406 -:1024100020657874727564657220004D323030200A -:10242000496E76616C696420657874727564657252 -:1024300020004D32303020496E76616C6964206531 -:102440007874727564657220004D32303020496EA8 -:1024500076616C69642065787472756465722000B9 -:102460004D32303020496E76616C69642065787435 -:10247000727564657220004D32303020496E76618D -:102480006C696420657874727564657220004D31E2 -:10249000303520496E76616C696420657874727598 -:1024A00064657220004D31303520496E76616C696B -:1024B0006420657874727564657220004D31303522 -:1024C00020496E76616C6964206578747275646504 -:1024D0007220004D31303520496E76616C69642080 -:1024E000657874727564657220004D31303520490D -:1024F0006E76616C696420657874727564657220AB -:10250000004D31303420496E76616C696420657805 -:1025100074727564657220004D31303420496E76D6 -:10252000616C696420657874727564657220004D11 -:1025300031303420496E76616C696420657874723C -:102540007564657220004D31303420496E76616CBF -:10255000696420657874727564657220004D31304D -:102560003420496E76616C69642065787472756494 -:1025700065722000456E642066696C65206C697325 -:102580007400456E642066696C65206C6973740024 -:10259000456E642066696C65206C69737400456ED5 -:1025A000642066696C65206C69737400456E6420F4 -:1025B00066696C65206C69737400426567696E209A -:1025C00066696C65206C69737400426567696E208A -:1025D00066696C65206C69737400426567696E207A -:1025E00066696C65206C69737400426567696E206A -:1025F00066696C65206C69737400426567696E205A -:1026000066696C65206C69737400446F6E65207038 -:1026100072696E74696E672066696C6500446F6EDE -:1026200065207072696E74696E672066696C6500FA -:10263000446F6E65207072696E74696E672066699A -:102640006C6500446F6E65207072696E74696E67A8 -:102650002066696C6500446F6E65207072696E74E7 -:10266000696E672066696C65004E6F204C696E6507 -:10267000204E756D626572207769746820636865A5 -:10268000636B73756D2C204C617374204C696E659F -:102690003A20004E6F204C696E65204E756D626564 -:1026A00072207769746820636865636B73756D2C3D -:1026B000204C617374204C696E653A20004E6F2087 -:1026C0004C696E65204E756D62657220776974681D -:1026D00020636865636B73756D2C204C6173742087 -:1026E0004C696E653A20004E6F204C696E65204E35 -:1026F000756D626572207769746820636865636BC5 -:1027000073756D2C204C617374204C696E653A2092 -:10271000004E6F204C696E65204E756D62657220AB -:102720007769746820636865636B73756D2C204CE2 -:10273000617374204C696E653A20004E6F204368C7 -:1027400065636B73756D2077697468206C696E655D -:10275000206E756D6265722C204C617374204C691B -:102760006E653A20004E6F20436865636B73756D2C -:102770002077697468206C696E65206E756D62657E -:10278000722C204C617374204C696E653A20004EA7 -:102790006F20436865636B73756D2077697468207B -:1027A0006C696E65206E756D6265722C204C61736C -:1027B00074204C696E653A20004E6F204368656353 -:1027C0006B73756D2077697468206C696E65206E17 -:1027D000756D6265722C204C617374204C696E6556 -:1027E0003A20004E6F20436865636B73756D2077E8 -:1027F000697468206C696E65206E756D6265722CF7 -:10280000204C617374204C696E653A2000636865E2 -:10281000636B73756D206D69736D617463682C20D3 -:102820004C617374204C696E653A2000636865637F -:102830006B73756D206D69736D617463682C204CCA -:10284000617374204C696E653A2000636865636B40 -:1028500073756D206D69736D617463682C204C61B4 -:102860007374204C696E653A2000636865636B730E -:10287000756D206D69736D617463682C204C617394 -:1028800074204C696E653A2000636865636B7375EC -:102890006D206D69736D617463682C204C61737475 -:1028A000204C696E653A20004C696E65204E756D4E -:1028B000626572206973206E6F74204C617374209E -:1028C0004C696E65204E756D6265722B312C204C03 -:1028D000617374204C696E653A20004C696E652006 -:1028E0004E756D626572206973206E6F74204C6145 -:1028F0007374204C696E65204E756D6265722B3164 -:102900002C204C617374204C696E653A20004C6930 -:102910006E65204E756D626572206973206E6F74EE -:10292000204C617374204C696E65204E756D626534 -:10293000722B312C204C617374204C696E653A20E7 -:10294000004C696E65204E756D626572206973205A -:102950006E6F74204C617374204C696E65204E75E7 -:102960006D6265722B312C204C617374204C696E42 -:10297000653A20004C696E65204E756D6265722067 -:102980006973206E6F74204C617374204C696E659E -:10299000204E756D6265722B312C204C6173742052 -:1029A0004C696E653A2000446F6E652073617669EC -:1029B0006E672066696C652E00446F6E65207361DA -:1029C00076696E672066696C652E00446F6E6520BF -:1029D000736176696E672066696C652E00446F6E60 -:1029E0006520736176696E672066696C652E0044A8 -:1029F0006F6E6520736176696E672066696C652EFF -:102A0000006F6B006F6B006F6B006F6B006F6B0084 -:102A10002020506C616E6E6572427566666572420A -:102A2000797465733A20002020506C616E6E657277 -:102A300042756666657242797465733A200020209B -:102A4000506C616E6E65724275666665724279742D -:102A500065733A20002020506C616E6E657242757D -:102A60006666657242797465733A20002020506C66 -:102A7000616E6E65724275666665724279746573E1 -:102A80003A20002046726565204D656D6F72793A77 -:102A900020002046726565204D656D6F72793A2081 -:102AA000002046726565204D656D6F72793A200091 -:102AB0002046726565204D656D6F72793A20002061 -:102AC00046726565204D656D6F72793A2000204C25 -:102AD00061737420557064617465643A2000204C01 -:102AE00061737420557064617465643A2000204CF1 -:102AF00061737420557064617465643A2000204CE1 -:102B000061737420557064617465643A2000204CD0 -:102B100061737420557064617465643A2000207C90 -:102B200020417574686F723A2000207C20417574D2 -:102B3000686F723A2000207C20417574686F723A89 -:102B40002000207C20417574686F723A2000207C40 -:102B500020417574686F723A200020536F66747755 -:102B60006172652052657365740020536F667477D7 -:102B70006172652052657365740020536F667477C7 -:102B80006172652052657365740020536F667477B7 -:102B90006172652052657365740020536F667477A7 -:102BA00061726520526573657400205761746368B3 -:102BB000646F6720526573657400205761746368A1 -:102BC000646F672052657365740020576174636891 -:102BD000646F672052657365740020576174636881 -:102BE000646F672052657365740020576174636871 -:102BF000646F67205265736574002042726F776E50 -:102C0000206F7574205265736574002042726F776F -:102C10006E206F7574205265736574002042726F68 -:102C2000776E206F75742052657365740020427250 -:102C30006F776E206F757420526573657400204243 -:102C4000726F776E206F7574205265736574002003 -:102C500045787465726E616C2052657365740020EE -:102C600045787465726E616C2052657365740020DE -:102C700045787465726E616C2052657365740020CE -:102C800045787465726E616C2052657365740020BE -:102C900045787465726E616C20526573657400507E -:102CA0006F776572557000506F7765725570005080 -:102CB0006F776572557000506F7765725570005070 -:102CC0006F776572557000656E717565696E672006 -:102CD0002200656E717565696E67202200656E71F0 -:102CE0007565696E67202200656E717565696E672E -:102CF000202200656E717565696E6720220077700D -:102D0000726F772E207A6D69616E0070617261203A -:102D1000746F6D61722065666563746F0020706505 -:102D200072206D6F73747261726520692063616DCA -:102D3000622E002070726F2070726F6A6576656E09 -:102D400069207A6D656E0020666F722074616B6514 -:102D500020656666656374005265737461727420E1 -:102D60006472756B61726B69005265696E69636943 -:102D70006172206C6120696D702E005269617676F7 -:102D8000696F206C61207374616D702E00526573E1 -:102D900074617274756A7465207469736B61726EA4 -:102DA00075005265626F6F74207468652070726977 -:102DB0006E746572004D6F64205B77207779646173 -:102DC0006A6E6F73635D004D6F646F205B6D61733E -:102DD00020667565727A615D004D6F646F205B706F -:102DE000697520666F727A615D004D6F6420205BAB -:102DF0007679732E2076796B6F6E5D004D6F64650A -:102E0000205B6869676820706F7765725D004D6F41 -:102E100064202020202020205B63696368795D00A6 -:102E20004D6F646F20202020205B73696C656E639A -:102E3000696F5D004D6F646F20202020205B7369F7 -:102E40006C656E7A696F736F5D004D6F6420202032 -:102E5000202020205B74696368795D004D6F646594 -:102E600020202020205B73696C656E745D005779AB -:102E70006D69616E612066696C616D656E74750067 -:102E800043616D6269616E646F2066696C2E21001A -:102E90004D757465766F6C652066696C2E210056E1 -:102EA000796D656E612066696C616D656E74752102 -:102EB000004368616E67696E672066696C616D6565 -:102EC0006E7421005770726F7761647A2066696C46 -:102ED000616D656E7400496E736572746120666918 -:102EE0006C616D656E746F00496E736572697265B1 -:102EF0002066696C616D656E746F00566C6F7A74D4 -:102F0000652066696C616D656E7400496E736572EB -:102F1000742066696C616D656E74004E61636973DF -:102F20006E696A2070727A796369736B00592070D8 -:102F3000756C736520656C206D616E646F0059203F -:102F400070756C736520656C206D616E646F0041F7 -:102F500020737469736B6E65746520746C6163694A -:102F6000746B6F00416E64207072657373207468B7 -:102F700065206B6E6F620057796D69616E61206FBD -:102F80006B210043616D62696172206269656E2127 -:102F90000043616D6269612E2072697573636974A3 -:102FA0006F21005A6D656E612075737065736E6177 -:102FB00021004368616E6765207375636365737391 -:102FC0002100437A79737A637A2E206B6F6C6F726B -:102FD000750043617267616E646F20636F6C6F721E -:102FE0000043617267616E646F20636F6C6F720083 -:102FF00043697374656E69206261727679004C6F03 -:103000006164696E6720636F6C6F720050726F73DA -:103010007A6520637A656B616300457370657261E0 -:1030200000417370657474610050726F73696D2034 -:1030300063656B656A746500506C656173652077C4 -:10304000616974005770726F772E2066696C616DCC -:10305000656E74750043617267616E646F206669A6 -:103060006C2E0043617267616E646F2066696C2E1E -:10307000005A61766164656E692066696C616D6590 -:103080006E7475004C6F6164696E672066696C616F -:103090006D656E74004B6F6C6F72207A616E69653E -:1030A000637A79737A2E00436F6C6F72206E6F2093 -:1030B000636C61726F00436F6C6F72206E6F206380 -:1030C0006C61726F004261727661206E656E69207C -:1030D000636973746100436F6C6F72206E6F74204C -:1030E000636C656172004272616B2066696C616D30 -:1030F000656E74750046696C2E206E6F2063617278 -:103100006761646F0046696C2E206E6F2063617288 -:103110006761646F0046696C616D656E74206E65F1 -:103120007A61766564656E0046696C616D656E7482 -:10313000206E6F74206C6F61646564004E69650079 -:103140004E6F004E6F004E65004E6F0054616B0075 -:10315000536900536900416E6F00596573005779D8 -:103160006D69616E61206F6B3F0043616D626961E3 -:10317000646F20636F727265632E3F0043616D62FE -:103180006961746F20636F72722E3F0056796D65AE -:103190006E61206F6B3F004368616E6765642063FA -:1031A0006F72726563746C793F00506F6D6F63006E -:1031B000537570706F727400537570706F72740015 -:1031C000506F64706F726100537570706F7274002D -:1031D0004E6167727A656A206479737A652100505E -:1031E000726563616C2E206578747275736F7221DD -:1031F000005072657269732E207567656C6C6F2163 -:103200000050726564656872656A746520747279CD -:10321000736B752100507265686561742074686510 -:10322000206E6F7A7A6C652100424C41443A004529 -:1032300052524F523A004552524F523A0043485967 -:1032400042413A004552524F523A005265637472FD -:1032500061637400526563747261637400526563E4 -:1032600074726163740052656374726163740052B6 -:1032700065637472616374005770726F7761647A0A -:103280002066696C616D656E7400496E74726F645E -:10329000756369722066696C616D656E746F004359 -:1032A000617269636172652066696C616D656E74D7 -:1032B0006F005A61766573742066696C616D656E26 -:1032C00074004C6F61642066696C616D656E74009A -:1032D00057796A61632066696C616D656E7400532D -:1032E000616361722066696C616D656E746F005315 -:1032F00063617269636172652066696C2E0056793C -:103300006A6D6F75742066696C616D656E740055C9 -:103310006E6C6F61642066696C616D656E740047E8 -:10332000727A616E69650050726563616C656E7476 -:1033300061720050726572697363616C6461005000 -:10334000726564656872657600507265686561745F -:1033500000557374617769656E696100416A7573C0 -:10336000746500496D706F7374617A696F6E69007E -:103370004E6173746176656E690053657474696E2D -:103380006773004B616C69627261636A61204F4BC5 -:103390000043616C696272616369C383C692C382D0 -:1033A000C2B36E204F4B0043616C696272617475E9 -:1033B0007261204F4B004B616C69627261636520E2 -:1033C0004F4B0043616C6962726174696F6E206477 -:1033D0006F6E65004B616C696272756A65205A0098 -:1033E00043616C696272616E646F205A0043616C64 -:1033F000696272616E646F205A004B616C6962721F -:10340000756A69205A0043616C6962726174696E01 -:1034100067205A004B616C696272756A205A0043DA -:10342000616C6962726172205A0043616C696272F8 -:1034300061205A004B616C6962726F766174205A28 -:103440000043616C696272617465205A005679624A -:10345000657274652076797469736B00567962655C -:103460007274652076797469736B0056796265723F -:1034700074652076797469736B005679626572742D -:10348000652076797469736B005069636B20707284 -:10349000696E74004175746F646F7374726F6963E1 -:1034A000205A3F004175746F204D6963726F7061DF -:1034B000736F205A3F004175746F207265676F6C9F -:1034C000617265205A203F004175746F20646F6CF3 -:1034D00061646974205A203F004175746F206164F3 -:1034E0006A757374205A203F00456E6473746F7060 -:1034F0002061626F727400456E6473746F70206136 -:10350000626F727400456E6473746F702061626FD5 -:10351000727400456E6473746F702061626F7274B0 -:1035200000456E6473746F702061626F7274004442 -:103530006F7374726F6A656E6965206F7379205A54 -:10354000004D6963726F7061736F205A004261624F -:103550007973746570205A00446F6C6164656E699C -:10356000206F7379205A004C6976652061646A7512 -:103570007374205A00426162797374657020590037 -:103580004261627973746570205900426162797397 -:1035900074657020590042616279737465702059B6 -:1035A00000426162797374657020590042616279EA -:1035B000737465702058004261627973746570207D -:1035C00058004261627973746570205800426162EC -:1035D0007973746570205800426162797374657004 -:1035E0002058005A204F6666736574005A204F6653 -:1035F00066736574005A204F6666736574005A20BE -:103600004F6666736574005A204F66667365740072 -:10361000486F6D6520582F59206265666F7265206E -:103620005A00486F6D6520582F59206265666F7289 -:1036300065205A00486F6D6520582F5920626566D5 -:103640006F7265205A00486F6D6520582F592062AF -:1036500065666F7265205A00486F6D6520582F5956 -:10366000206265666F7265205A005A2070726F6220 -:1036700065206F75742E20626564005A2070726F29 -:103680006265206F75742E20626564005A20707226 -:103690006F6265206F75742E20626564005A207019 -:1036A000726F6265206F75742E20626564005A2007 -:1036B00070726F6265206F75742E206265640056AB -:1036C000796D656E6974205344004368616E676567 -:1036D0002053442063617264004368616E67652013 -:1036E000534420636172640056796D656E6974207D -:1036F0005344004368616E676520534420636172E0 -:103700006400496E69632E20534400496E69742E2B -:10371000205344206361726400496E69742E205303 -:1037200044206361726400496E69632E2053440033 -:10373000496E69742E205344206361726400577986 -:103740006D69656E69632066696C616D656E740094 -:1037500043616D626961722066696C616D656E744A -:103760006F0043616D62696172652066696C616DAD -:10377000656E746F0056796D656E69742066696C4C -:10378000616D656E74004368616E67652066696C83 -:10379000616D656E74004175746F526574722E00B0 -:1037A0004175746F526574722E004175746F526565 -:1037B00074722E004175746F526574722E004175DB -:1037C000746F526574722E00556E526574202056C7 -:1037D00000556E52657420205600556E5265742057 -:1037E000205600556E52657420205600556E526565 -:1037F00074202056005320556E5265742B6D6D0059 -:103800005320556E5265742B6D6D005320556E52CA -:1038100065742B6D6D005320556E5265742B6D6D64 -:10382000005320556E5265742B6D6D00556E5265B8 -:1038300074202B6D6D00556E526574202B6D6D00DC -:10384000556E526574202B6D6D00556E5265742057 -:103850002B6D6D00556E526574202B6D6D00486F99 -:1038600070206D6D00486F70206D6D00486F702086 -:103870006D6D00486F70206D6D00486F70206D6D2C -:103880000052657472616374202056005265747230 -:103890006163742020560052657472616374202045 -:1038A000560052657472616374202056005265742C -:1038B0007261637420205600537761702052652E28 -:1038C0006D6D00537761702052652E6D6D005377DA -:1038D00061702052652E6D6D0053776170205265C6 -:1038E0002E6D6D00537761702052652E6D6D005204 -:1038F000657472616374206D6D00526574726163EA -:1039000074206D6D0052657472616374206D6D007A -:1039100052657472616374206D6D005265747261DA -:103920006374206D6D0053544F505045442E200059 -:103930005041524144410041525245535441544F29 -:10394000200053544F505045442E200053544F50A4 -:103950005045442E20004B494C4C45442E200050ED -:10396000415241444120444520454D4552472E0097 -:1039700055434349534F20004B494C4C45442E205E -:10398000004B494C4C45442E20004E6F206D6F7605 -:10399000652E0053696E206D6F76696D69656E7472 -:1039A0006F004E657373756E204D6F76696D656E31 -:1039B000746F004E6F206D6F76652E004E6F206D18 -:1039C0006F76652E004472756B2070727A6572771F -:1039D000616E79005072696E742061626F727465F5 -:1039E00064005374616D70612061626F72746974F8 -:1039F00061005469736B20707265727573656E0037 -:103A00005072696E742061626F7274656400577AD7 -:103A10006E6F7769656E6965206472756B750052AB -:103A20006573756D69656E646F20696D7072652E62 -:103A30000052697072656E6469205374616D7061C3 -:103A4000004F626E6F76656E69207469736B7500E6 -:103A5000526573756D696E67207072696E74005778 -:103A600061697420666F7220757365722E2E2E0048 -:103A70004573706572616E646F206F7264656E6508 -:103A80007300417474656E6469205574656E746565 -:103A90002E2E2E005761697420666F722075736533 -:103AA000722E2E2E005761697420666F7220757316 -:103AB00065722E2E2E00536C6565702E2E2E0052D0 -:103AC00065706F736F2E2E2E00536F7370656E735B -:103AD000696F6E652E2E2E00536C6565702E2E2E2E -:103AE00000536C6565702E2E2E004272616B206B48 -:103AF00061727479205344004E6F2068617920749C -:103B000061726A657461205344004E6F20534420F3 -:103B10004361727461005A61646E61205344206B8A -:103B200061727461004E6F205344206361726400BF -:103B30004472756B207A205344004D656E75206485 -:103B400065205344004D656E7520534420436172D7 -:103B50007461005469736B207A2053440050726979 -:103B60006E742066726F6D205344005A6174727ACD -:103B7000796D6163206472756B00446574656E6570 -:103B80007220696D70726573696F6E004172726543 -:103B9000737461207374616D7061005A6173746134 -:103BA000766974207469736B0053746F702070723F -:103BB000696E74004B6F6E74796E756F7761630018 -:103BC0005265616E7564617220696D707265732EE5 -:103BD0000052697072656E6469207374616D706102 -:103BE00000506F6B7261636F76617400526573751C -:103BF0006D65207072696E740050727A65727761BB -:103C000063206472756B0050617573617220696D19 -:103C100070726573696F6E00506175736100506FEB -:103C20007A61737461766974207469736B00506192 -:103C3000757365207072696E74004E617374726F73 -:103C4000696300416A7573746172004164617474E0 -:103C500061004C616469740054756E65005072694E -:103C600070726176610050726570617265005072A9 -:103C700065706172650050726970726176610050A2 -:103C800072657061726500496E666F726D61636A1C -:103C900065004D6F6E69746F72697A617200477565 -:103CA0006172646100496E666F726D61636500499F -:103CB0006E666F2073637265656E004F626E6F761D -:103CC0006974005265667265736800526566726554 -:103CD0007368004F626E6F76697400526566726534 -:103CE0007368004F626E6F76697420767963686FCF -:103CF0007A6900526573746F7265206661696C73CE -:103D000061666500526573746F7265206661696CE7 -:103D100073616665004F626E6F76697420767963B1 -:103D2000686F7A6900526573746F726520666169A5 -:103D30006C7361666500556C6F7A69742070616D93 -:103D40006574004C6F6164206D656D6F7279004C15 -:103D50006F6164206D656D6F727900556C6F7A6963 -:103D6000742070616D6574004C6F6164206D656DC9 -:103D70006F72790053746F7265206D656D6F727923 -:103D80000053746F7265206D656D6F7279005374A6 -:103D90006F7265206D656D6F72790053746F726517 -:103DA000206D656D6F72790053746F7265206D655B -:103DB0006D6F7279004C434420636F6E747261734F -:103DC00074004C434420636F6E7472617374004CD2 -:103DD000434420636F6E7472617374004C434420DB -:103DE000636F6E7472617374004C434420636F6E32 -:103DF00074726173740046696C2E204469612E20D0 -:103E0000330046696C2E204469612E2033004669D8 -:103E10006C2E204469612E20330046696C2E2044AC -:103E200069612E20330046696C2E204469612E2082 -:103E3000330046696C2E204469612E2032004669A9 -:103E40006C2E204469612E20320046696C2E20447D -:103E500069612E20320046696C2E204469612E2053 -:103E6000320046696C2E204469612E20320046697A -:103E70006C2E204469612E20310046696C2E20444E -:103E800069612E20310046696C2E204469612E2024 -:103E9000310046696C2E204469612E20310046694C -:103EA0006C2E204469612E2031004520696E206D02 -:103EB0006D33004520696E206D6D33004520696EBD -:103EC000206D6D33004520696E206D6D33004520F7 -:103ED000696E206D6D330046696C616D656E7400AE -:103EE00046696C616D656E740046696C616D656EE6 -:103EF000740046696C616D656E740046696C616D35 -:103F0000656E7400506F687962004D6F74696F6EF2 -:103F1000004D6F74696F6E00506F687962004D6F6D -:103F200074696F6E0054656D70657261747572614D -:103F30000054656D70657261747572610054656DD1 -:103F40007065726174757261005465706C6F746134 -:103F50000054656D706572617475726500457374A7 -:103F60006570732F6D6D004573746570732F6D6D83 -:103F7000004573746570732F6D6D004573746570C3 -:103F8000732F6D6D004573746570732F6D6D005ADE -:103F900073746570732F6D6D005A73746570732F31 -:103FA0006D6D005A73746570732F6D6D005A737464 -:103FB0006570732F6D6D005A73746570732F6D6D1E -:103FC000005973746570732F6D6D0059737465704B -:103FD000732F6D6D005973746570732F6D6D00597B -:103FE00073746570732F6D6D005973746570732FE2 -:103FF0006D6D005873746570732F6D6D0058737418 -:104000006570732F6D6D005873746570732F6D6DCF -:10401000005873746570732F6D6D005873746570FC -:10402000732F6D6D00412D72657472616374004170 -:104030002D7265747261637400412D7265747261D2 -:10404000637400412D7265747261637400412D7256 -:1040500065747261637400416D61782000416D6127 -:10406000782000416D61782000416D617820004129 -:104070006D617820005654726176206D696E00562D -:1040800054726176206D696E005654726176206DAF -:10409000696E005654726176206D696E00565472D6 -:1040A0006176206D696E00566D696E00566D696EA1 -:1040B00000566D696E00566D696E00566D696E0032 -:1040C000650065006500650065007A007A007A0089 -:1040D0007A007A0079007900790079007900780017 -:1040E0007800780078007800566D61782000566D71 -:1040F00061782000566D61782000566D617820004F -:10410000566D6178200056652D6A65726B005665A4 -:104110002D6A65726B0056652D6A65726B00566577 -:104120002D6A65726B0056652D6A65726B00567A52 -:104130002D6A65726B00567A2D6A65726B00567A2D -:104140002D6A65726B00567A2D6A65726B00567A1D -:104150002D6A65726B005678792D6A65726B005610 -:1041600078792D6A65726B005678792D6A65726B65 -:10417000005678792D6A65726B005678792D6A65DC -:10418000726B00416363656C00416363656C004161 -:104190006363656C00416363656C00416363656CD8 -:1041A000005049442D43005049442D430050494498 -:1041B0002D43005049442D43005049442D430050A5 -:1041C00049442D44005049442D44005049442D4455 -:1041D000005049442D44005049442D440050494466 -:1041E0002D49005049442D49005049442D49005063 -:1041F00049442D49005049442D49005049442D500F -:10420000005049442D50005049442D50005049441D -:104210002D50005049442D50004F6666004F666691 -:10422000004F6666004F6666004F6666004F6E2060 -:10423000004F6E20004F6E20004F6E20004F6E200A -:10424000004175746F74656D70004175746F7465AD -:104250006D70004175746F74656D70004175746F99 -:1042600074656D70004175746F74656D7000200227 -:1042700020466163740020022046616374002002BE -:1042800020466163740020022046616374002002AE -:104290002046616374002002204D617800200220D6 -:1042A0004D6178002002204D6178002002204D6190 -:1042B00078002002204D6178002002204D696E00B8 -:1042C0002002204D696E002002204D696E00200200 -:1042D000204D696E002002204D696E004B6F6E7498 -:1042E000726F6C6100436F6E74726F6C00436F6E1F -:1042F00074726F6C004B6F6E74726F6C6100436F01 -:104300006E74726F6C00507275746F6B2032004661 -:104310006C6F77203200466C6F77203200507275D8 -:10432000746F6B203200466C6F77203200507275CC -:10433000746F6B203100466C6F77203100466C6FD4 -:1043400077203100507275746F6B203100466C6FAE -:1043500077203100507275746F6B203000466C6F9F -:1043600077203000466C6F77203000507275746F84 -:104370006B203000466C6F7720300050727A657089 -:104380006C797700466C756A6F00466C7573736F55 -:1043900000507275746F6B00466C6F7700507265D9 -:1043A000646B6F73632077656E742E0056656E7450 -:1043B000696C61646F720056656E746F6C61005257 -:1043C0007963686C6F73742076656E742E00466135 -:1043D0006E2073706565640053746F6C696B004286 -:1043E0006173650050696174746F004265640042D6 -:1043F000656400547279736B6133004E6F7A7A6C26 -:104400006533004E6F7A7A6C653300547279736B42 -:104410006133004E6F7A7A6C653300547279736B36 -:104420006132004E6F7A7A6C6532004E6F7A7A6C28 -:10443000653200547279736B6132004E6F7A7A6C18 -:104440006532004479737A61004675736F72005566 -:1044500067656C6C6F00547279736B61004E6F7A94 -:104460007A6C6500507265646B6F73630056656C9F -:104470006F63696461640056656C636974C383C665 -:1044800092C386E28099C383E2809AC382C2A0006D -:10449000527963686C6F7374005370656564005083 -:1044A0006F73756E6F7574206F2031306D6D004DB8 -:1044B0006F76652031306D6D004D6F76652031303F -:1044C0006D6D00506F73756E6F7574206F20313095 -:1044D0006D6D004D6F76652031306D6D00506F73DE -:1044E000756E6F7574206F20316D6D004D6F766540 -:1044F00020316D6D004D6F766520316D6D00506F10 -:1045000073756E6F7574206F20316D6D004D6F7611 -:104510006520316D6D00506F73756E6F7574206F0F -:1045200020302E316D6D004D6F766520302E316D4F -:104530006D004D6F766520302E316D6D00506F73BC -:10454000756E6F7574206F20302E316D6D004D6F5C -:10455000766520302E316D6D004578747275646516 -:1045600072330045787472756465723300457874EF -:104570007275646572330045787472756465723360 -:10458000004578747275646572330045787472758D -:1045900064657232004578747275646572320045E4 -:1045A00078747275646572320045787472756465EA -:1045B00072320045787472756465723200457874A1 -:1045C0007275646572004578747275736F72004518 -:1045D00073747275736F7265004578747275646573 -:1045E000720045787472756465720050727A6573F2 -:1045F000756E6163205A004D6F766572205A004DCA -:10460000756F7669205A00506F73756E6F757420E0 -:104610005A004D6F7665205A0050727A6573756E38 -:1046200061632059004D6F7665722059004D756F9A -:104630007669205900506F73756E6F75742059003C -:104640004D6F766520590050727A6573756E61639F -:104650002058004D6F7665722058004D756F766951 -:10466000205800506F73756E6F75742058004D6F31 -:10467000766520580052756368206F7369004D6F2E -:1046800076657220656A6573004D756F76692041A5 -:1046900073736500506F73756E6F7574206F7375EB -:1046A000004D6F76652061786973005265747261A0 -:1046B0006374005265747261637400526574726150 -:1046C0006374005265747261637400526574726140 -:1046D0006374004578747275646F76617400457810 -:1046E0007472756465004578747275646500457808 -:1046F000747275646F766174004578747275646560 -:10470000005A61706E6F7574207A64726F6A00531C -:10471000776974636820706F776572206F666600D2 -:1047200053776974636820706F776572206F66666F -:10473000005A61706E6F7574207A64726F6A0053EC -:10474000776974636820706F776572206F666600A2 -:104750005679706E6F7574207A64726F6A00537741 -:104760006974636820706F776572206F6E0053778D -:104770006974636820706F776572206F6E00567978 -:10478000706E6F7574207A64726F6A005377697403 -:10479000636820706F776572206F6E005779636869 -:1047A0006C6F647A696300456E667269617200526B -:1047B0006166667265646461005A63686C6164690D -:1047C0007400436F6F6C646F776E00507265646540 -:1047D000687265762041425320636F6E66005072A6 -:1047E00065686561742041425320636F6E660050B6 -:1047F0007265686561742041425320636F6E660084 -:104800005072656465687265762041425320636F1B -:104810006E66005072656865617420414253206382 -:104820006F6E6600507265646568726576204142FD -:10483000532042656400507265686561742041428E -:10484000532042656400507265686561742041427E -:104850005320426564005072656465687265762015 -:10486000414253204265640050726568656174205E -:104870004142532042656400507265646568726508 -:10488000762041425320416C6C005072656865612E -:10489000742041425320416C6C0050726568656120 -:1048A000742041425320416C6C005072656465680D -:1048B0007265762041425320416C6C0050726568ED -:1048C0006561742041425320416C6C0050726564F4 -:1048D00065687265762041425320330050726568E6 -:1048E00065617420414253203300507265686561F0 -:1048F00074204142532033005072656465687265CC -:1049000076204142532033005072656865617420FF -:1049100041425320330050726564656872657620A9 -:1049200041425320320050726568656174204142F3 -:1049300053203200507265686561742041425320F3 -:10494000320050726564656872657620414253207A -:104950003200507265686561742041425320320014 -:10496000507265646568726576204142532031005B -:104970005072656865617420414253203100507265 -:10498000656865617420414253203100507265644E -:104990006568726576204142532031005072656827 -:1049A000656174204142532031005072656465682E -:1049B00072657620414253005072656865617420CB -:1049C0004142530050726568656174204142530052 -:1049D000507265646568726576204142530050727A -:1049E0006568656174204142530050726564656872 -:1049F00072657620504C4120636F6E660050726580 -:104A00006865617420504C4120636F6E660050727F -:104A1000656865617420504C4120636F6E6600507C -:104A2000726564656872657620504C4120636F6ED4 -:104A300066005072656865617420504C4120636F58 -:104A40006E660050726564656872657620504C41F0 -:104A500020426564005072656865617420504C4165 -:104A600020426564005072656865617420504C4155 -:104A700020426564005072656465687265762050F6 -:104A80004C41204265640050726568656174205035 -:104A90004C412042656400507265646568726576B9 -:104AA00020504C4120416C6C005072656865617407 -:104AB00020504C4120416C6C0050726568656174F7 -:104AC00020504C4120416C6C0050726564656872E6 -:104AD000657620504C4120416C6C005072656865D1 -:104AE000617420504C4120416C6C005072656465CB -:104AF0006872657620504C412033005072656865BD -:104B0000617420504C4120330050726568656174B7 -:104B100020504C41203300507265646568726576A0 -:104B200020504C41203300507265686561742050FC -:104B30004C41203300507265646568726576205080 -:104B40004C412032005072656865617420504C41C0 -:104B50002032005072656865617420504C412032EB -:104B60000050726564656872657620504C41203251 -:104B7000005072656865617420504C4120320050CD -:104B8000726564656872657620504C412031005032 -:104B900072656865617420504C4120310050726527 -:104BA0006865617420504C41203100507265646525 -:104BB0006872657620504C412031005072656865FE -:104BC000617420504C4120310050726564656872F8 -:104BD000657620504C4100507265686561742050C4 -:104BE0004C41005072656865617420504C41005022 -:104BF000726564656872657620504C41005072653C -:104C00006865617420504C41004E61737461762078 -:104C1000706F636174656B00536574206F726967B0 -:104C2000696E00536574206F726967696E004E612A -:104C30007374617620706F636174656B0053657483 -:104C4000206F726967696E004E61737461762070BF -:104C50006F636174656B20686F6D650053657420C8 -:104C6000686F6D65206F6666736574730053657455 -:104C700020686F6D65206F666673657473004E61A2 -:104C80007374617620706F636174656B20686F6DFB -:104C9000650053657420686F6D65206F6666736587 -:104CA0007473004175746F20686F6D65004C6C659E -:104CB00076617220616C206F726967656E00417564 -:104CC000746F20486F6D65004175746F20686F6D5B -:104CD00065004175746F20686F6D650057796C6170 -:104CE000637A79632073696C6E696B6900417061E6 -:104CF000676172206D6F746F7265730044697361D0 -:104D000062696C697461204D6F746F7269005679C5 -:104D1000706E6F7574206D6F746F72790044697373 -:104D200061626C65207374657070657273004175A3 -:104D3000746F7374617274004175746F737461720F -:104D400074004175746F7374617274004175746F8F -:104D50007374617274004175746F7374617274005E -:104D60004D656E7520676C6F776E65004D656E756D -:104D7000207072696E636970616C004D656E75209C -:104D80007072696E636970616C6500486C61766E03 -:104D900069206E616269646B61004D61696E004BF0 -:104DA000617274612077796A657461005461726A16 -:104DB0006574612072657469726164610053442096 -:104DC000436172642072696D6F737361004B61722D -:104DD00074612076796A6D75746100436172642034 -:104DE00072656D6F766564004B6172746120776CDB -:104DF0006F7A6F6E61005461726A65746120636FCF -:104E00006C6F636164610053442043617264206984 -:104E10006E736572697461004B6172746120766CA7 -:104E20006F7A656E61004361726420696E736572AA -:104E300074656400507275736120693320676F7404 -:104E40006F7761005072757361206933206C6973EC -:104E500074610050727573612069332070726F6ED7 -:104E6000746F2E005072757361206933206F6B0070 -:104E700050727573612069332072656164792E0008 -:104E80004D383420582059205A2045004D323400E6 -:104E90004D3233202573006175746F25692E6700CC -:104EA0000A002F000A002E0044656C6574696F6E5D -:104EB000206661696C65642C2046696C653A200047 -:104EC00046696C652064656C657465643A002E0003 -:104ED0002E002E002E004E6F7720667265736820BC -:104EE00066696C653A20004E6F7720646F696E6763 -:104EF0002066696C653A20002220706F73002220C2 -:104F0000706172656E743A2200535542524F555487 -:104F1000494E452043414C4C207461726765743A98 -:104F20002200747279696E6720746F2063616C6C03 -:104F3000207375622D67636F64652066696C6573A5 -:104F4000207769746820746F6F206D616E79206CB2 -:104F50006576656C732E204D4158206C6576656CC6 -:104F60002069733A0000002110422063308440A57C -:104F700050C660E770088129914AA16BB18CC1AD20 -:104F8000D1CEE1EFF13112100273325222B55294B8 -:104F900042F772D662399318837BB35AA3BDD39C70 -:104FA000C3FFF3DEE36224433420040114E664C744 -:104FB00074A44485546AA54BB528850995EEE5CFC0 -:104FC000F5ACC58DD55336722611163006D776F658 -:104FD000669556B4465BB77AA719973887DFF7FE10 -:104FE000E79DD7BCC7C448E5588668A778400861E4 -:104FF0001802282338CCC9EDD98EE9AFF948896960 -:10500000990AA92BB9F55AD44AB77A966A711A50F7 -:105010000A333A122AFDDBDCCBBFFB9EEB799B58AF -:105020008B3BBB1AABA66C877CE44CC55C222C0383 -:105030003C600C411CAEED8FFDECCDCDDD2AAD0BFF -:10504000BD688D499D977EB66ED55EF44E133E3297 -:105050002E511E700E9FFFBEEFDDDFFCCF1BBF3A4F -:10506000AF599F788F8891A981CAB1EBA10CD12D3E -:10507000C14EF16FE18010A100C230E32004502541 -:105080004046706760B9839893FBA3DAB33DC31CB5 -:10509000D37FE35EF3B1029012F322D23235421491 -:1050A0005277625672EAB5CBA5A89589856EF54F01 -:1050B000E52CD50DC5E234C324A0148104667447E1 -:1050C0006424540544DBA7FAB79987B8975FE77E55 -:1050D000F71DC73CD7D326F2369106B01657667631 -:1050E00076154634564CD96DC90EF92FE9C899E9A1 -:1050F000898AB9ABA94458654806782768C018E181 -:10510000088238A3287DCB5CDB3FEB1EFBF98BD8F4 -:105110009BBBAB9ABB754A545A376A167AF10AD0D0 -:105120001AB32A923A2EFD0FED6CDD4DCDAABD8B40 -:10513000ADE89DC98D267C076C645C454CA23C8320 -:105140002CE01CC10C1FEF3EFF5DCF7CDF9BAFBA94 -:10515000BFD98FF89F176E367E554E745E932EB270 -:105160003ED10EF01E22004D323230205325690010 -:10517000203A2000004C414E472053454C20464FDA -:1051800052434544002200205A3A0020593A002058 -:10519000453A00205A3A0020593A00583A00200077 -:1051A0002E0020423A0020453A00543A0020573A57 -:1051B0000020453A00543A002042403A0020403A4C -:1051C00000202F003A00205400202F0020423A00F7 -:1051D000202F006F6B20543A002569206D696E2CDA -:1051E0002025692073656300256920686F757273D7 -:1051F000202569206D696E75746573004D313130FD -:10520000004D3239004D6179203330203230313653 -:1052100000436F6D70696C65643A2000286E6F6E94 -:10522000652C2064656661756C7420636F6E6669B9 -:105230006729004D617920333020323031362031FA -:10524000363A32323A30320073746172740022009E -:105250002200FFFFFF0000A0400000A0400000006F -:105260004000005643000046431FC548430000006D -:1052700000000000001F856B3E0000564300004602 -:10528000430000494300000000000000001F856B40 -:105290003E6563686F3A004572726F723A0047313B -:1052A00020452D38302046343030004D383300470B -:1052B00031205A3135204631353030004739310000 -:1052C000473120583530205931383020453020467C -:1052D0003730303000473930004D3834004D3833E6 -:1052E00000473120453730204634303000473120E8 -:1052F0004534302046313030002E00202020202040 -:105300002020202020202020002D2D3A2D2D002D82 -:105310002D2D003E555342005344002D2D000120F9 -:10532000000120004D36303000464C4558202D20DD -:10533000203233302F35300050502020202D2020B7 -:105340003235342F3130300048495053202D202041 -:105350003232302F3130300050455420202D202063 -:105360003234302F393000504C4120202D20203253 -:1053700031302F35300041425320202D202032354E -:10538000352F313030004D3234004D32332025730B -:1053900000580059005A00457874727564657200AF -:1053A000473238004D383400473238205A004D61BA -:1053B00079203330203230313600446174653A2030 -:1053C000002D2D2D2D2D2D2D2D2D2D2D2D00453349 -:1053D0004476366C6974650052414D426F313061DC -:1053E00000315F37356D6D002D2D2D2D2D2D2D2D7F -:1053F0002D2D2D2D004669726D77617265202D204F -:10540000332E302E310048617264636F646564200E -:1054100044656661756C742053657474696E677356 -:10542000204C6F616465640046696C616D656E74E3 -:105430002073657474696E67733A2044697361629E -:105440006C6564002020204D3230302044004669D5 -:105450006C616D656E742073657474696E67733A00 -:10546000002020204D3230392053004175746F2DBB -:10547000526574726163743A20533D3020746F201A -:1054800064697361626C652C203120746F20696ED1 -:105490007465727072657420657874727564652DB8 -:1054A0006F6E6C79206D6F76657320617320726505 -:1054B000747261637473206F72207265636F7665B6 -:1054C00072696573002046002020204D323038205C -:1054D00053005265636F7665723A20533D45787488 -:1054E0007261206C656E67746820286D6D29204696 -:1054F0003A537065656420286D6D2F6D2900205A20 -:10550000002046002020204D3230372053005265C5 -:1055100074726163743A20533D4C656E6774682001 -:10552000286D6D2920463A537065656420286D6D9D -:105530002F6D29205A3A205A4C69667420286D6DC7 -:1055400029002044002049002020204D3330312004 -:1055500050005049442073657474696E67733A0053 -:10556000205A0020590020204D3230362058004863 -:105570006F6D65206F666673657420286D6D293ABE -:1055800000204500205A00205800204200205400EE -:1055900020204D323035205300416476616E6365C2 -:1055A00064207661726961626C65733A20533D4D87 -:1055B000696E20666565647261746520286D6D2F63 -:1055C00073292C20543D4D696E2074726176656C90 -:1055D00020666565647261746520286D6D2F73297E -:1055E0002C20423D6D696E696D756D207365676D28 -:1055F000656E742074696D6520286D73292C2058A0 -:105600003D6D6178696D756D205859206A65726BC2 -:1056100020286D6D2F73292C20205A3D6D617869EB -:105620006D756D205A206A65726B20286D6D2F7321 -:10563000292C2020453D6D6178696D756D204520D0 -:105640006A65726B20286D6D2F732900205400202D -:10565000204D323034205300416363656C657261C4 -:1056600074696F6E3A20533D616363656C65726166 -:1056700074696F6E2C20543D72657472616374207E -:10568000616363656C65726174696F6E00204500CB -:10569000205A0020590020204D3230312058004D32 -:1056A0006178696D756D20416363656C65726174C5 -:1056B000696F6E20286D6D2F7332293A00204500E6 -:1056C000205A0020590020204D3230332058004D00 -:1056D0006178696D756D2066656564726174657366 -:1056E00020286D6D2F73293A00204500205A002094 -:1056F000590020204D3932205800537465707320B2 -:1057000070657220756E69743A0045303A20005A0F -:105710003A2000593A2000583A20004D53312C4D80 -:1057200053322050696E730A005A00205A3A0059C9 -:105730000020593A00580020583A0024F4D4305040 -:10574000C38E20C2A24017828B7011127A910D81F4 -:105750006CD90AA861E108C7586607615143061E63 -:105760004B5D05C145A7041A411104093D98037119 -:105770003931034036DB0265339102D43054028064 -:105780002E1D02632CEE01752AC501B028A0011060 -:105790002781018F2564012B244B01E0223401ACC9 -:1057A000211F018D200D01801FFC00841EED00973C -:1057B0001DDF00B81CD200E61BC600201BBC006425 -:1057C0001AB200B219A8000A19A0006A189900D1EB -:1057D00017910040178B00B516840031167E00B378 -:1057E0001579003A157300C7146F0058146A00EE5B -:1057F0001366008813630025135E00C7125B006CFC -:1058000012570015125400C111510070114F0021A0 -:10581000114B00D61049008D10470046104400027D -:10582000104200C00F4000800F3E00420F3C0006B7 -:105830000F3B00CB0E3800930E37005C0E3500276F -:105840000E3400F30D3200C10D3100900D300060B8 -:105850000D2E00320D2D00050D2C00D90C2B00AEA5 -:105860000C2900850C29005C0C2700350C27000E44 -:105870000C2600E80B2400C40B2400A00B23007DA1 -:105880000B23005A0B2100390B2100180B2000F8C4 -:105890000A1F00D90A1E00BB0A1E009D0A1D0080B7 -:1058A0000A1D00630A1C00470A1B002C0A1B00117A -:1058B0000A1A00F7091A00DD091900C4091900AB1A -:1058C000091900920917007B091800630917004C99 -:1058D00009160036091600200916000A091500F5F8 -:1058E000081500E0081400CC081400B8081400A43F -:1058F000081400900813007D0812006B081300586C -:105900000812004608120034081100230811001282 -:1059100008110001081100F0071000E0071000D086 -:10592000071000C0071000B0070F00A1071000917A -:10593000070E0083070F0074070F0065070E00575E -:10594000070E0049070E003B070D002E070E002032 -:10595000070D0013070D0006070D00F9060C00EDFA -:10596000060D00E0060C00D4060C00C8060C00BCB6 -:10597000060C00B0060C00A4060B0099060C008D66 -:10598000060B0082060B0077060B006C060B00610D -:10599000060A0057060B004C060A0042060A0038A9 -:1059A000060A002E060A0024060A001A060A00103B -:1059B00006090007060A00FD050900F4050900EBC9 -:1059C000050900E2050900D9050900D0050900C74D -:1059D000050900BE050900B5050800AD050800A5CC -:1059E0000509009C050800940508008C0508008442 -:1059F0000508007C050800740508006C05070065B3 -:105A00000508005D050700560508004E050700471C -:105A10000507004005080038050700310507002A82 -:105A2000050700230507001C050600160507000FE3 -:105A30000507000805060002050700FB040600F53F -:105A4000040700EE040600E8040600E2040700DB99 -:105A5000040600D5040600CF040600C9040600C3EE -:105A6000040600BD040600B7040600B1040500AC3E -:105A7000040600A6040600A00405009B0406009589 -:105A8000040500900406008A0405008504050080D2 -:105A90000406007A04050075040500700405006B17 -:105AA00004050066040500610405005C0405005758 -:105AB000040500520405004D040500480405004398 -:105AC0000405003E0404003A0405003504050030D6 -:105AD0000404002C04050027040400230405001E10 -:105AE0000404001A04040016040500110404000D47 -:105AF000040400090405000404040000040400FC7C -:105B0000030400F8030400F4030400F0030400ECB1 -:105B1000030400E8030400E4030400E0030400DCE1 -:105B2000030400D8030400D4030400D0030400CC11 -:105B3000030400C8030300C503030024F404D920B0 -:105B40001BC40C5C0E9804C4095F0265077101F464 -:105B500005F900FB04B30048048700C1036900583D -:105B600003550003034500BE023A0084023100538E -:105B7000022A002902250004022000E4011C00C8BA -:105B8000011900AF0117009801140084011300717E -:105B90000110006101100051010E0043010D00369B -:105BA000010B002B010B0020010B00150109000C5B -:105BB00001090003010800FB000800F3000800EBE6 -:105BC000000700E4000600DE000600D8000600D250 -:105BD000000600CC000500C7000500C2000500BD9E -:105BE000000400B9000400B5000400B1000400ADD9 -:105BF000000400A9000400A5000300A20003009F08 -:105C00000004009B0003009800030095000200932D -:105C1000000300900003008D0002008B0003008849 -:105C20000002008600020084000300810002007F61 -:105C30000002007D0002007B000200790002007774 -:105C40000001007600020074000200720001007181 -:105C50000002006F0002006D0001006C0002006A8B -:105C60000001006900020067000100660001006594 -:105C70000001006400020062000100610001006098 -:105C80000001005F0002005D0001005C0001005B9C -:105C90000001005A0001005900010058000100579E -:105CA000000100560001005500010054000100539E -:105CB000000000530001005200010051000100509B -:105CC0000001004F0001004E0000004E0001004D99 -:105CD0000001004C0001004B0000004B0001004A95 -:105CE0000001004900010048000000480001004791 -:105CF000000100460000004600010045000000458C -:105D00000001004400010043000000430001004284 -:105D1000000000420001004100000041000100407D -:105D20000001003F0000003F0001003E0000003E77 -:105D30000001003D0000003D0001003C0000003C6F -:105D40000000003C0001003B0000003B0001003A65 -:105D50000000003A0001003900000039000100385D -:105D60000000003800000038000100370000003754 -:105D7000000100360000003600000036000100354A -:105D80000000003500000035000100340000003440 -:105D90000000003400010033000000330000003335 -:105DA000000100320000003200000032000100312A -:105DB0000000003100000031000100300000003020 -:105DC000000000300001002F0000002F0000002F15 -:105DD0000000002F0001002E0000002E0000002E09 -:105DE0000001002D0000002D0000002D0000002DFE -:105DF0000001002C0000002C0000002C0000002CF2 -:105E00000001002B0000002B0000002B0000002BE5 -:105E10000001002A0000002A0000002A0000002AD9 -:105E200000010029000000290000002900000029CD -:105E300000000029000100280000002800000028C0 -:105E400000000028000000280001002700000027B3 -:105E500000000027000000270000002700010026A6 -:105E6000000000260000002600000026000000269A -:105E7000000100250000002500000025000000258D -:105E8000000000250000002500010024000000247F -:105E90000000002400000024000000240001002372 -:105EA0000000002300000023000000230000002366 -:105EB0000000002300000023000100220000002257 -:105EC000000000220000002200000022000000224A -:105ED000000100210000002100000021000000213D -:105EE000000000210000002100000021000100202E -:105EF0000000002000000020000000200000002022 -:105F00000000002000000020000000200001001F11 -:105F10000000001F0000001F0000001F0000001F05 -:105F20000000001F0000001F0001001E0000001EF6 -:105F30000000001E0000001E0000000000090A0210 -:105F4000080B0C0D07060304010000000000000010 -:105F50000000000000000000000000000000000041 -:105F60000000000000000011100F00000000000001 -:105F70000000000000000000000000000000000021 -:105F80000000000000000000000000000000000011 -:105F9000000102102020080810204010204080023C -:105FA000010201080402010102040810204080805F -:105FB00040201008040201800402018040201008E3 -:105FC00004020108040201010204081020408001BB -:105FD00002040810204080100804088010204004AB -:105FE00040801020400480050505050705080808C5 -:105FF00008020202020A0A0808040404040101015A -:106000000101010101030303030303030304070761 -:10601000070C0C0C0C0C0C0C0C02020202060606FF -:1060200006060606060B0B0B0B0B0B0B0B07070AE2 -:106030000A0A0A0A0A0505050404040808000020E3 -:10604000002300260029002C002F00320000010050 -:106050000003010601090100002200250028002B91 -:10606000002E003100340002010000050108010B80 -:106070000100002100240027002A002D00300033F9 -:106080000001010000040107010A01024E414E49CE -:106090004E495459494E46CDCCCC3D0AD7233C17E6 -:1060A000B7D13877CC2B329595E6241FB14F0A0033 -:1060B0000020410000C84200401C4620BCBE4CCA23 -:1060C0001B0E5AAEC59D7400848DFEACE8EC888D25 -:1060D00011241FBECFEFD1E2DEBFCDBF00E00CBF69 -:1060E0001EE0A0E0B2E0E4E9F7E002E00BBF02C08E -:1060F00007900D92AA3AB107D9F72EE1AAEABEE0BD -:1061000001C01D92AD31B207E1F710E6CEECD0E64A -:1061100000E006C022970109FE010BBF0E9417FB99 -:10612000C83CD10780E00807A9F70E94ECF00D9465 -:10613000B8030C940000CF93DF93EC019C012C5F1B -:106140003F4F41E050E060E070E0898D9A8D0E9401 -:106150003D3B882399F04D895E896F89788D452B69 -:10616000462B472B59F44C815D816E817F814D8B8D -:106170005E8B6F8B788F998190689983DF91CF9137 -:106180000895CF92DF92EF92FF920F931F93CF93D8 -:10619000DF93EC0189899A89AB89BC89803E9F4F46 -:1061A000AF41B10510F080E06BC0CE01C4DF8823A1 -:1061B000D1F30E945139182F8823A9F3E98DFA8D64 -:1061C000CC80DD80EE80FF8032E0C31AD108E10888 -:1061D000F108058404C0CC0CDD1CEE1CFF1C0A94E5 -:1061E000D2F786859785A089B189C80ED91EEA1E87 -:1061F000FB1E81E08093B00EC092B310D092B41019 -:10620000E092B510F092B61080E092E0E3EBFEE091 -:10621000DF019C011D9221503040E1F701E0E98D42 -:10622000FA8D8481081790F423EB3EE0B701A601B4 -:10623000400F511D611D711D8091B10E9091B20EE4 -:106240000E9497608823E1F00F5FE9CFC12C82E0C4 -:10625000D82EE12CF12C058404C0CC0CDD1CEE1CE6 -:10626000FF1C0A94D2F749895A896B897C894C0DA5 -:106270005D1D6E1D7F1D498B5A8B6B8B7C8B812F17 -:10628000DF91CF911F910F91FF90EF90DF90CF9012 -:106290000895CF93DF93EC0141E0611101C040E02C -:1062A0006C857D858E859F850E949139882341F07C -:1062B000888920E2829FC00111248D54914F02C031 -:1062C00080E090E0DF91CF91089530E020E04EE251 -:1062D000DC015C91503271F0383029F4FB01E20F9F -:1062E000F11D40832F5FFB01E20FF11DDC015C918A -:1062F00050832F5F3F5F01963B3051F7FB01E20F68 -:10630000F11D10820895CF93DF93EB01FC012381EF -:10631000211102C080E00EC02250223020F48FE212 -:106320008883198206C060E0B4DF009799F3BE014C -:10633000CCDF81E0DF91CF910895FB012BE030E2CB -:1063400031932150E9F7DC0190E027E03A2FEB2F61 -:106350008D9181110AC0DA013C931196EC9381E092 -:10636000FB019081903239F525C08F32A1F38E3236 -:1063700019F0EAE8F1E008C02A30E1F098E02AE0FC -:10638000E5CF31963817B1F034913111FACF291792 -:1063900088F03FED380F3E3568F431E0390FFB01EE -:1063A000E90FF11D9FE9980F9A3108F4805280831C -:1063B000932FCCCF80E008950F931F93CF93DF935B -:1063C000EC018B018B81882311F080E042C0FB013E -:1063D0008789803139F18032C1F783E08B83F801FE -:1063E000428D538D648D758D4D8B5E8B6F8B788F49 -:1063F0009E012F5E3F4FC8010E94483A882329F32F -:106400001A8F098F81E089831C821D821E821F8260 -:10641000188619861A861B861C861D861E861F8670 -:10642000188A17C082E08B831D8A1E8A1F8A188EE5 -:10643000FB01408D518D60E070E095E0440F551FE9 -:10644000661F771F9A95D1F7498B5A8B6B8B7C8B84 -:10645000D7CFDF91CF911F910F9108952F923F9247 -:106460004F925F926F927F928F929F92AF92BF9264 -:10647000CF92DF92EF92FF920F931F93CF93DF9310 -:10648000EC015B016A018B81811103C08FEF9FEFEB -:10649000C7C0898180FFFACF49895A896B897C8975 -:1064A00088859985AA85BB852601612C712C8A0176 -:1064B0009B01081B190B2A0B3B0B40165106620669 -:1064C000730618F06A01C81AD90A76013E0124E061 -:1064D000620E711CE114F10409F476C048855985F7 -:1064E0006A857B854A0181E098222B811A012B0164 -:1064F000E9E05694479437942794EA95D1F7898D2B -:106500009A8DFC01223049F4628D738D848D958DB6 -:10651000620D731D841D951D3CC014811150122104 -:1065200081149104C1F4111116C0452B462B472B41 -:1065300049F48D899E89AF89B88D8C839D83AE8304 -:10654000BF8309C04C815D816E817F81930121D71A -:10655000882309F49BCFE98DFA8D6C817D818E8132 -:106560009F816250710981099109058404C0660FF9 -:10657000771F881F991F0A94D2F72685378540898F -:106580005189620F731F841F951F610F711D811D3B -:10659000911D20E032E02819390987012E153F05A9 -:1065A00008F489010115F2E01F0769F52091B31085 -:1065B0003091B4104091B5105091B6106217730726 -:1065C0008407950719F41FC0C6012AC09501AB01C5 -:1065D000BC018091B10E9091B20E0E94226088237E -:1065E00009F454CFA00EB11E88859985AA85BB8574 -:1065F000800F911FA11DB11D88879987AA87BB872E -:10660000E01AF10A67CF40E08CD6882309F43ECF28 -:10661000B4016D54714FA801C5010F944800E2CF39 -:10662000DF91CF911F910F91FF90EF90DF90CF906E -:10663000BF90AF909F908F907F906F905F904F90A2 -:106640003F902F900895CF93DF931F92CDB7DEB781 -:1066500041E050E0BE016F5F7F4F00DF019719F40A -:10666000898190E002C08FEF9FEF0F90DF91CF9173 -:106670000895CF92DF92EF92FF920F931F93CF93E3 -:10668000DF936C01EB017A01FC018381823060F0C1 -:1066900000851185228533850F7111272227332725 -:1066A000012B022B032B11F08FEF5CC0411551051C -:1066B00011F0F70110821DE040E250E0BE01C6017A -:1066C000CDDE8032910539F021E0892B09F420E0FC -:1066D000822F819547C028812223C1F0253E61F396 -:1066E0002E3251F33B853F733F3061F4E114F104E6 -:1066F00049F04A8D5B8D452B29F42F713FEF320F06 -:10670000343030F02B8523FDD7CF2CC080E02AC059 -:1067100030E021503109129FC001139F900D1124C8 -:10672000F701E80FF91F298120832B8121832D8117 -:1067300022832F812383298524832E8525832889FD -:1067400026832A8927832C8920872E892187288DD3 -:1067500022872C8D23872E8D2487288126FFD2CF58 -:106760001586D0CFDF91CF911F910F91FF90EF90C1 -:10677000DF90CF9008951F93CF93DF93EC018B812F -:10678000823018F480E090E023C0488559856A85FE -:106790007B85A5E07695679557954795AA95D1F79E -:1067A000142F1F70CE014FDF97FDECCF4885598520 -:1067B0006A857B85415E5F4F6F4F7F4F4887598762 -:1067C0006A877B8720E2129FC00111248D54914F6C -:1067D000DF91CF911F9108954F925F926F927F92B8 -:1067E000AF92BF92CF92DF92EF92FF920F931F93DF -:1067F000CF93DF93EC016A017B012B81222349F0C7 -:1068000089899A89AB89BC8984179507A607B70738 -:1068100010F480E06BC0223009F463C0C114D104CD -:10682000E104F10449F41C821D821E821F82188635 -:1068300019861A861B8659C088859985AA85BB85C5 -:10684000E98DFA8DE585F0E03996AC01BD01415046 -:106850005109610971090E2E04C076956795579507 -:1068600047950A94D2F79701860101501109210931 -:10687000310904C03695279517950795EA95D2F703 -:10688000041715072607370720F0892B8A2B8B2B37 -:1068900049F48D899E89AF89B88D8C839D83AE83A1 -:1068A000BF8304C0041B150B260B370B28013901CD -:1068B0005E0184E0A80EB11C41145104610471040E -:1068C00081F04C815D816E817F819501898D9A8DEA -:1068D00060D591E0491A5108610871088111ECCF27 -:1068E00005C0C886D986EA86FB8681E0DF91CF9114 -:1068F0001F910F91FF90EF90DF90CF90BF90AF90DE -:106900007F906F905F904F9008950F931F93CF9358 -:10691000DF93EC018B818823D1F1898187FF32C01D -:1069200061E0CE01B6DC8C01009789F1FC01808129 -:10693000853E69F18B81823040F449895A896B899F -:106940007C89448F558F668F778F4D895E896F89DB -:10695000788DF801538F428F758B648BE091AA0E6E -:10696000F091AB0E309759F0B8016A5E7F4FC801C5 -:1069700048961995F801808D918D938B828B898132 -:106980008F778983DF91CF911F910F918AC481E026 -:10699000888380E0DF91CF911F910F910895CF936D -:1069A000DF93EC01B2DF1B82DF91CF910895FC01F0 -:1069B00023812111F4CF08954F925F926F927F92BD -:1069C000AF92BF92CF92DF92EF92FF920F931F93FD -:1069D000CF93DF9300D01F92CDB7DEB75C016A0181 -:1069E0007B01FC0183818130E9F4818181FF1AC040 -:1069F000F50181899289A389B48984179507A6072F -:106A0000B70780F0892B8A2B8B2B09F472C0F50114 -:106A10004084518462847384B701A601C501DCDE21 -:106A2000811102C080E066C0F501818D928DC11494 -:106A3000D104E104F10469F4458956896789708DB0 -:106A400025D7882379F3F501158A168A178A108EBF -:106A500037C0F50144815581668177819E012F5FA2 -:106A60003F4F97D48823F1F249815A816B817C8111 -:106A7000F501818D928DFC012789203139F4483F41 -:106A8000FFEF5F0761057105D8F407C0483F2FEF9E -:106A9000520762072FE0720798F4F8D6882309F4AA -:106AA000C1CFF50144815581668177810FEF1FEFDA -:106AB0002FEF3FE0818D928D51D5882309F4B2CF1D -:106AC000F501C18AD28AE38AF48A81818068818350 -:106AD000C5011BDF882309F4A5CFB701A6014C141B -:106AE0005D046E047F0410F4B301A201C50174DEDD -:106AF00001C081E00F900F900F900F90DF91CF9128 -:106B00001F910F91FF90EF90DF90CF90BF90AF90CB -:106B10007F906F905F904F900895FF920F931F9317 -:106B2000CF93DF93EC01F42E80E2689FF0011124F3 -:106B3000ED54F14F8385817121F0842F827109F02A -:106B40004EC08091B3109091B410A091B510B09147 -:106B5000B6108C879D87AE87BF87688B448955891F -:106B600060E070E0BA0155274427028D138D20E0C4 -:106B700030E0402B512B622B732B4D8B5E8B6F8B38 -:106B8000788F8385887151F4048D158D268D378D0E -:106B9000098B1A8B2B8B3C8B81E00BC08031F9F475 -:106BA0009E012F5E3F4F898D9A8D72D48823B9F054 -:106BB00084E08B838F2D8F7089831C821D821E82BF -:106BC0001F82188619861A861B86F4FE0BC040E0C9 -:106BD00050E0BA01CE01F0DE811104C011C01B8269 -:106BE00080E00EC0F5FE0BC049895A896B897C890B -:106BF000CE01DF91CF911F910F91FF90EDCD81E0FC -:106C0000DF91CF911F910F91FF900895AF92BF92A6 -:106C1000CF92DF92EF92FF920F931F93CF93DF9368 -:106C20007C01EB016A01B22E898D9A8DF701928F5A -:106C3000818F40E050E0BA01CE01CEDDA12C088565 -:106C400019852A853B8589899A89AB89BC8908176A -:106C500019072A073B07A0F585E036952795179574 -:106C600007958A95D1F70F70CE0185DD009709F45D -:106C700081C0FC012081222311F0253EB9F4A1102E -:106C80000EC04091B3105091B4106091B510709146 -:106C9000B610F7014487558766877787008BFC011C -:106CA0008081AA24A3948111CACF0AC04BE050E08E -:106CB000BC01C6010F943B00892B09F0C0CF58C01E -:106CC0008B2D8274823409F055C0AA2049F0F70157 -:106CD000008961E0C701DDDAEC01009769F44AC080 -:106CE0008B81823009F446C0CE014BDA882309F447 -:106CF00041C0C3EBDEE000E080E2FE0111928A9524 -:106D0000E9F78BE0F601DE0101900D928A95E1F73B -:106D1000E091AA0EF091AB0E309739F0BE01625FA0 -:106D20007F4FCE014096199508C081E298E2998B79 -:106D3000888B80E098E09F878E87888999899B8BD4 -:106D40008A8B998F888F8E859F859F8B8E8BA9D2FA -:106D5000882381F04B2D602FC701DF91CF911F91C8 -:106D60000F91FF90EF90DF90CF90BF90AF90D5CE76 -:106D7000B7FEF0CF80E0DF91CF911F910F91FF9090 -:106D8000EF90DF90CF90BF90AF9008953F924F92D9 -:106D90005F926F927F928F929F92AF92BF92CF92AB -:106DA000DF92EF92FF920F931F93CF93DF93CDB7B4 -:106DB000DEB7C354D1090FB6F894DEBF0FBECDBF06 -:106DC0005C016B0124965FAF4EAF2497522E1C8E50 -:106DD0001F8E19821C826115710511F410E073C0B9 -:106DE000FC0183818111FACF2496EEADFFAD24978B -:106DF00080818F3211F076011DC02496EEADFFAD7B -:106E0000249780818F3231F431962496FFAFEEAF14 -:106E10002497F3CFF60183818250823060F3F6012C -:106E2000618D728DCE010196C7DA8823B9F2CE0149 -:106E300001967C018E01045E1F4F3801FE013196E0 -:106E40004F01402E312E19C08823A9F121E0AE0157 -:106E5000495C5F4FB701C801D9DE882309F4BECF72 -:106E6000EC14FD0411F0C7019ADD0615170501F1B8 -:106E7000942D832D7801092F182FAE014E5B5F4FA3 -:106E8000BE01695C7F4F24968EAD9FAD249755DA85 -:106E9000882309F4A3CF2496EEADFFAD249780811B -:106EA0008F3291F631962496FFAFEEAF2497F3CF51 -:106EB000982D892DDFCF252DAE01495C5F4FB7019D -:106EC000C501A4DE182FCE01019671DDCE014C96CE -:106ED0006EDD812FCD5BDF4F0FB6F894DEBF0FBEA6 -:106EE000CDBFDF91CF911F910F91FF90EF90DF9079 -:106EF000CF90BF90AF909F908F907F906F905F905A -:106F00004F903F900895CF93DF93EC0140E050E025 -:106F1000BA0152DD882361F061E0CE01BAD9009751 -:106F200039F025EEFC0120831B82DF91CF91B9C19E -:106F300080E0DF91CF9108951F93CF93DF93CDB77A -:106F4000DEB76B970FB6F894DEBF0FBECDBFAB01B7 -:106F500019821C8222E0BC01CE01019617DF182F96 -:106F6000882321F0CE010196CEDF182FCE010196A5 -:106F70001EDD812F6B960FB6F894DEBF0FBECDBF1E -:106F8000DF91CF911F9108952F923F924F925F9280 -:106F90006F927F928F929F92AF92BF92CF92DF9229 -:106FA000EF92FF920F931F93CF93DF9300D01F9226 -:106FB0001F92CDB7DEB78C015B013A01DC0113965D -:106FC0008C9113978130C1F411968C9181FF14C07C -:106FD00082FF18C0F80141895289638974898085CC -:106FE0009185A285B38584179507A607B70751F049 -:106FF000C801F2DB811106C081E0F80180838FEFC8 -:107000009FEF37C1630183C0D80159968D919C9140 -:107010005A97FC01F481F1501A012B0169E0569452 -:107020004794379427946A95D1F7F221FD834A015A -:1070300021E09222FF2309F476C080E092E08819D3 -:10704000990976018C159D0508F47C01D8015996A3 -:10705000ED91FC915A9714962D903D904D905C9037 -:107060001797B2E02B1A310841085108058404C073 -:10707000220C331C441C551C0A94D2F78685978534 -:10708000A089B189280E391E4A1E5B1EED812E0E85 -:10709000311C411C511CE114F2E0FF0609F089C0CB -:1070A0008091B3109091B410A091B510B091B6102A -:1070B00082159305A405B50569F41092B00E8FEF03 -:1070C0009FEFDC018093B3109093B410A093B510A0 -:1070D000B093B6109501B201A1018091B10E9091CB -:1070E000B20E0E949760882309F486CFF80180854C -:1070F0009185A285B3858E0D9F1DA11DB11D808731 -:107100009187A287B387AE0CBF1CCE18DF08D801C9 -:1071100018964D915D916D917C911B97C114D1048E -:1071200009F072CF7AC08114910409F086CF1496C9 -:107130004D915D916D917C911797411551056105B8 -:10714000710559F455968D919D910D90BC91A02D8E -:107150000097A105B10539F520C09E012F5F3F4F73 -:1071600018D1882309F448CF89819A81AB81BC81E9 -:10717000F801218D328DF9012789203139F4883FBA -:10718000FFEF9F07A105B10540F40DC0883F2FEF29 -:107190009207A2072FE0B20730F0C8010E949B308F -:1071A00081114BCF29CFF80184839583A683B783C0 -:1071B00044CF8114910411F5D80118964D915D9139 -:1071C0006D917C911B9751968D919D910D90BC91E5 -:1071D000A02D481759076A077B0780F062D08823E3 -:1071E00009F40ACF81E08093B00E2092B310309260 -:1071F000B4104092B5105092B61007C041E0C201E1 -:10720000B1018FD0882309F4F7CEA701B501C401DD -:107210008D54914F0F94480069CF51968D919D9157 -:107220000D90BC91A02DF801218184179507A60728 -:10723000B70738F4418B528B638B748B20682183A2 -:107240000CC08091AA0E9091AB0E892B31F0611485 -:10725000710419F02068F8012183D80111968C91EE -:1072600083FD02C0C30105C0C8014FDB8111FACF05 -:10727000C3CE0F900F900F900F900F90DF91CF9192 -:107280001F910F91FF90EF90DF90CF90BF90AF9044 -:107290009F908F907F906F905F904F903F902F9036 -:1072A0000895CF938091B00E8823B9F14091B31027 -:1072B0005091B4106091B5107091B61023EB3EE080 -:1072C0008091B10E9091B20E0E949760C82F8111EB -:1072D00002C0C0E023C04091AC0E5091AD0E609151 -:1072E000AE0E7091AF0E411551056105710591F01B -:1072F00023EB3EE08091B10E9091B20E0E94976018 -:10730000882339F31092AC0E1092AD0E1092AE0E8F -:107310001092AF0E1092B00E01C0C1E08C2FCF9131 -:107320000895CF92DF92EF92FF92CF936B017C0191 -:10733000C42F8091B3109091B410A091B510B0916A -:10734000B6108C159D05AE05BF05C9F0AADF8111E9 -:1073500002C080E018C023EB3EE0B701A601809197 -:10736000B10E9091B20E0E942260882391F3C092D8 -:10737000B310D092B410E092B510F092B61081E044 -:10738000C1118093B00ECF91FF90EF90DF90CF901E -:1073900008958F929F92AF92BF92CF92DF92EF9219 -:1073A000FF920F931F93CF93DF93EC016A017B0150 -:1073B000890189859A85AB85BC850196A11DB11D82 -:1073C00084179507A607B70710F480E054C08F898B -:1073D000803129F49927872F762F652F0BC08032B3 -:1073E000A1F7CB01BA0127E0969587957795679528 -:1073F0002A95D1F78B889C88AD88BE88680D791D49 -:107400008A1D9B1D8090B3109090B410A090B51071 -:10741000B090B610681579058A059B0581F48F89AF -:10742000803191F4DD24EE24FF24F601EE0FFF1FDE -:10743000ED54F14F80819181A0E0B0E016C040E0B2 -:1074400070DF8111ECCFC1CFE894C7F8DD24EE24C2 -:10745000FF24F601EE0FFF1FEE0FFF1FED54F14F5B -:1074600080819181A281B381BF70F8018083918373 -:10747000A283B38381E0DF91CF911F910F91FF90A1 -:10748000EF90DF90CF90BF90AF909F908F90089536 -:107490004F925F926F927F92AF92BF92CF92DF92A4 -:1074A000EF92FF920F931F93CF93DF9300D01F9221 -:1074B000CDB7DEB78C0149835A836B837C83590136 -:1074C000C12CD12C7601412C42E0542E612C712C20 -:1074D00049815A816B817C819E012F5F3F4FC8019A -:1074E00058DF882341F1D301C201F801058404C0AB -:1074F000880F991FAA1FBB1F0A94D2F7C80ED91E66 -:10750000EA1EFB1E49815A816B817C81878980310B -:1075100039F481E0483F5F4F6105710538F4D8CFF9 -:1075200081E0483F5F4F6F4F7F4090F2F501C0828E -:10753000D182E282F3820F900F900F900F90DF9133 -:10754000CF911F910F91FF90EF90DF90CF90BF9060 -:10755000AF907F906F905F904F9008954F925F92A1 -:107560006F927F928F929F92AF92BF92CF92DF9253 -:10757000EF92FF920F931F93CF93DF93EC014A0199 -:107580005B0128013901423051056105710508F49C -:1075900062C049855A856B857C854F5F5F4F6F4F11 -:1075A0007F4F481559056A057B0508F454C08F893B -:1075B000803129F4FF24EB2CDA2CC92C0CC080324A -:1075C00009F049C07501640177E0F694E794D79417 -:1075D000C7947A95D1F74B895C896D897E89C40EF1 -:1075E000D51EE61EF71E41E0C701B6019ADE8823CC -:1075F00091F19F89903159F49924AA24BB24F40174 -:10760000EE0FFF1FED54F14F5182408210C0E894FD -:1076100087F89924AA24BB24F401EE0FFF1FEE0F74 -:10762000FF1FED54F14F40825182628273829A892A -:10763000923090F04D815E816F8178854C0D5D1D9B -:107640006E1D7F1D4093AC0E5093AD0E6093AE0E39 -:107650007093AF0E01C080E0DF91CF911F910F9129 -:10766000FF90EF90DF90CF90BF90AF909F908F9062 -:107670007F906F905F904F9008952F923F924F921E -:107680005F926F927F928F929F92AF92BF92CF92B2 -:10769000DF92EF92FF920F931F93CF93DF93CDB7BB -:1076A000DEB72F970FB6F894DEBF0FBECDBF1C011B -:1076B0004C875D876E877F873B872A87DC01199619 -:1076C0000D911D912D913C911C970F5F1F4F2F4FD6 -:1076D0003F4F0D831E832F833887EA85FB8580808B -:1076E0009180A280B38081149104A104B10431F08F -:1076F000FFEF8F1A9F0AAF0ABF0A10C0DC018D90FE -:107700009D90AD90BC90B1E0B9870C851D852E850C -:107710003F85013011052105310509F019867501F4 -:107720006401412C512C3201F10181859285A385A0 -:10773000B485481659066A067B0608F04EC00D81CE -:107740001E812F8138850C151D052E053F0550F42F -:10775000F2E0CF2ED12CE12CF12CA2E08A2E912C3C -:10776000A12CB12C9E012F5F3F4FB701A601C10193 -:1077700010DE882391F149815A816B817C81D70188 -:10778000C6010196A11DB11D452B462B472B19F0B3 -:107790004C015D010FC0AC01BD01481959096A09CE -:1077A0007B090C851D852E853F8540175107620793 -:1077B000730741F01FEF411A510A610A710A6C0107 -:1077C0007D01B2CF0FEF1FEF2FEF3FE0B701A60112 -:1077D000C101C4DE8D83811113C01D823DC026010D -:1077E000370121E0421A51086108710897018601AA -:1077F000B301A201C101B2DE882379F373016201F2 -:107800008C149D04AE04BF0450F3AA85BB854D9132 -:107810005D916D917C914115510561057105A9F44A -:10782000EA85FB8580829182A282B382F985FF235B -:1078300099F00FEF801A900AA00AB00AD1018D9238 -:107840009D92AD92BC92139707C095018401C1012E -:1078500085DE8111E5CFC1CF8D812F960FB6F894CB -:10786000DEBF0FBECDBFDF91CF911F910F91FF9073 -:10787000EF90DF90CF90BF90AF909F908F907F90D0 -:107880006F905F904F903F902F900895AF92BF926E -:10789000CF92DF92EF92FF920F931F93CF93DF93DC -:1078A00000D01F92CDB7DEB75C016A017B0182E098 -:1078B00090E0A0E0B0E0F50180839183A283B383E0 -:1078C0009E012F5F3F4FB701A601C50162DD811107 -:1078D00002C080E023C000E010E09801B701A601DB -:1078E000C5013CDE8823A9F3C980DA80EB80FC80E7 -:1078F000F5018789803149F481E0F8EFCF16FFEF79 -:10790000DF06E104F10450F4DBCF81E098EFC91603 -:107910009FEFD906E9069FE0F90690F20F900F90CD -:107920000F900F90DF91CF911F910F91FF90EF90EB -:10793000DF90CF90BF90AF9008957F928F929F92EB -:10794000AF92BF92CF92DF92EF92FF920F931F936D -:10795000CF93DF93EC01142F7093B20E6093B10EAE -:107960001F8A82E090E0A0E0B0E088839983AA8338 -:10797000BB831092B00E1092AC0E1092AD0E10920E -:10798000AE0E1092AF0E8FEF9FEFDC018093B3101D -:107990009093B410A093B510B093B610442349F15E -:1079A000453008F0DEC040E060E070E0CB01B9DCBB -:1079B000882309F4D6C020E1129FF0011124EF5969 -:1079C000FF4E80818F7709F0CCC084859585A68590 -:1079D000B78584369105A105B10508F4C2C0C084FD -:1079E000D184E284F384C114D104E104F10421F4CC -:1079F000B8C0C12CD12C760140E0C701B60191DCA2 -:107A0000782E882309F4ADC08091BE0E9091BF0EF0 -:107A10008115924009F0A5C03091C30E332309F4BB -:107A2000A0C08091C10E9091C20E892B09F499C01B -:107A30002091C00E222309F494C03A8B2C831D861A -:107A400030E041E050E06D85062FCA01062E02C0ED -:107A5000880F991F0A94E2F72817390731F081E05F -:107A6000860F8D87683078F37CC02091C90E3091E5 -:107A7000CA0E2115310519F040E050E008C02091F0 -:107A8000D70E3091D80E4091D90E5091DA0E2D8339 -:107A90003E834F8358878091C10E9091C20E46015C -:107AA0005701880E991EA11CB11C8B8A9C8AAD8A35 -:107AB000BE8AE091C40EF091C50EF98FE88FA091B7 -:107AC000C30EB0E00E9407FB680D791D8A1D9B1D47 -:107AD0006A8F7B8F8C8F9D8FB5E0EE0FFF1FBA955D -:107AE000E1F7E150FE4FEF2FFF27E695DC01CB01D8 -:107AF0008E0F9F1FA11DB11D8E879F87A88BB98BED -:107B00008090C60E9090C70E8114910419F0A12C9C -:107B1000B12C08C08090D30E9090D40EA090D50EBA -:107B2000B090D60EA7019601281B390B4A0B5B0BB0 -:107B3000DA01C901880D991DAA1DBB1D04C0B695A7 -:107B4000A795979587950A95D2F789879A87AB87E6 -:107B5000BC87853F3FE09307A105B10520F48CE089 -:107B60008F8B712C15C0853F9F4FA105B10510F477 -:107B700080E10DC08091DF0E9091E00EA091E10EAA -:107B8000B091E20E8A8F9B8FAC8FBD8F80E28F8B7E -:107B9000872DDF91CF911F910F91FF90EF90DF9094 -:107BA000CF90BF90AF909F908F907F9008954F920D -:107BB0005F926F927F928F929F92AF92BF92CF927D -:107BC000DF92EF92FF920F931F93CF93DF932C01DD -:107BD00023E034E081E090E0F901459154914416AE -:107BE00055060CF062C0AC0141505109DA01AA0FF0 -:107BF000BB1FAA0FBB1FAF5FBB4FFD016591749107 -:107C0000440F551F440F551F41505C4FFA016590BA -:107C10007490FC01EE0FFF1FEE0FFF1FEF5FFB4F95 -:107C2000A590B490FD0105911491F901C591D491ED -:107C3000FA0185909490882777FD8095982F0E946F -:107C400081F76B017C01B20166197709882777FDFE -:107C50008095982F0E9481F72B013C01B501601B94 -:107C6000710B882777FD8095982F0E9481F79B01E3 -:107C7000AC01C301B2010E94B4F92B013C01BE0169 -:107C800068197909882777FD8095982F0E9481F7D8 -:107C90009B01AC01C301B2010E94E6F69B01AC015D -:107CA000C701B6010E9406F611C001962C5F3F4F36 -:107CB0008D33910509F090CFE1EFF4E06591749177 -:107CC000882777FD8095982F0E9481F7DF91CF91CB -:107CD0001F910F91FF90EF90DF90CF90BF90AF90EA -:107CE0009F908F907F906F905F904F9008954F92EC -:107CF0005F926F927F928F929F92AF92BF92CF923C -:107D0000DF92EF92FF920F931F93CF93DF932C019B -:107D1000662371F1E7E9F2E58491882341F09091BF -:107D2000C00095FFFCCF8093C6003196F5CF70E080 -:107D30004AE050E08BEF96E10E9470D0E8E6F2E076 -:107D40008491882341F09091C00095FFFCCF8093EF -:107D5000C6003196F5CF8091C00085FFFCCF8AE048 -:107D60008093C6000E94686A60E070E0CB017EC02C -:107D700023E833E081E090E0F90145915491441605 -:107D800055060CF062C0AC0141505109DA01AA0F4E -:107D9000BB1FAA0FBB1FAF57BC4FFD01659174916C -:107DA000440F551F440F551F41585C4FFA01659011 -:107DB0007490FC01EE0FFF1FEE0FFF1FEF57FC4FFB -:107DC000A590B490FD0105911491F901C591D4914C -:107DD000FA0185909490882777FD8095982F0E94CE -:107DE00081F76B017C01B20166197709882777FD5D -:107DF0008095982F0E9481F72B013C01B501601BF3 -:107E0000710B882777FD8095982F0E9481F79B0141 -:107E1000AC01C301B2010E94B4F92B013C01BE01C7 -:107E200068197909882777FD8095982F0E9481F736 -:107E30009B01AC01C301B2010E94E6F69B01AC01BB -:107E4000C701B6010E9406F611C001962C5F3F4F94 -:107E50008032910509F090CFEDEFF3E065917491D8 -:107E6000882777FD8095982F0E9481F7DF91CF9129 -:107E70001F910F91FF90EF90DF90CF90BF90AF9048 -:107E80009F908F907F906F905F904F90089560E0EB -:107E900080910C1190910D112ADF6093081170935D -:107EA000091180930A1190930B1180910611909102 -:107EB00007117DDE6093021170930311809304110A -:107EC000909305118FB7F8941092FA108FBF089510 -:107ED0002091140230911502409116025091170220 -:107EE00060E070E08FE793E40E94E6F66093DA10BA -:107EF0007093DB108093DC109093DD10089597FF52 -:107F000003C08091011104C0FC01EC52FF4E80813E -:107F100090E00895CF93DF93D82FC62FC19561E0ED -:107F20000E944CEF6C2F8D2F0E9485EF6C2F70E01C -:107F30008D2FDF91CF910C9442EECF93C1E020E0E2 -:107F400030E048E452E46091081170910911809189 -:107F50000A1190910B110E94E2F818160CF0C0E083 -:107F60006C2F88E090E0CF91D5CFCF93DF93109224 -:107F7000DE101092DF101092E0101092E1102091AC -:107F8000140230911502409116025091170260E0E0 -:107F900070E08FE793E40E94E6F66093DA10709346 -:107FA000DB108093DC109093DD106D9A80910101BD -:107FB0008061809301019D9A809101018860809386 -:107FC000010187ED80937A0010927E0010927D006F -:107FD00080917E00816080937E0080917E0082602F -:107FE00080937E0080917E00846080937E0080E894 -:107FF00088BD80916E00846080936E006AEF70E0AF -:1080000080E090E00E945BF08FE090E09093CD10D4 -:108010008093CC1060E080910A0290910B0267DEA1 -:1080200020E030E040E751E40E94DFF687FF0AC01D -:1080300080910A0290910B02409790930B028093DB -:108040000A02E8CF89E091E0909309028093080248 -:1080500060E08091CE109091CF1049DE20E030E8B2 -:1080600044E853E40E94E2F8181654F48091CE10CC -:108070009091CF1040969093CF108093CE10E8CF80 -:10808000C091CA10D091CB10CE0191DD20E030E03C -:1080900046E153E40E94E2F8181634F46096D09357 -:1080A000CB10C093CA10ECCFDF91CF910895089503 -:1080B000109211111092101110920F1110920E11B6 -:1080C0001092D410759810920F1110920E111092F8 -:1080D0000111A59808952F923F924F925F926F924F -:1080E0007F928F929F92AF92BF92CF92DF92EF9248 -:1080F000FF920F931F93CF93DF93CDB7DEB7AE9769 -:108100000FB6F894DEBF0FBECDBF6B8F7C8F8D8F07 -:10811000292E5A8749873CA72BA70E942CF06F8FE6 -:1081200078A389A39AA30E942CF06FA378A789A7AC -:108130009AA729853A85121613061CF0E0E1FDE0A6 -:1081400017C0E3E2FDE08191882339F09091C000EF -:1081500095FFFCCF8093C600F6CF8091C00085FFCD -:10816000FCCF1BC29091C00095FFFCCF8093C6004E -:1081700081918111F7CF8091C00085FFFCCF8AE00B -:108180008093C60095DF49855A858FE7452B99F185 -:10819000809301118F8D98A1A9A1BAA1898B9A8B87 -:1081A000AB8BBC8B8D879E87AF87B88B1D8290E48D -:1081B000988FACE1A98FB6E4BA8F1DA61D8A1E8ADE -:1081C0001F8A2FE730E040E050E029833A834B8359 -:1081D0005C83EFE74E2E512C612C712C1BA21CA24C -:1081E0001DA21EA231E03E8F1C861B86312C00E0B2 -:1081F00010E01EA605C08093D410CCCF0E94C4A36B -:108200008091FA10882309F4F6C041DE49855A8529 -:10821000452B51F03090021100910311109104117F -:10822000509105115EA709C0309008110091091105 -:1082300010910A1180910B118EA7232D302F412F01 -:108240005EA56DA57D898E899F890E94E2F818162A -:108250002CF03DA60D8B1E8B9EA59F8B232D302FC2 -:10826000412F5EA56D81788D898D9A8D0E94DFF6F4 -:1082700087FD05C03D82088F198FAEA5AA8F0E9489 -:108280002CF02FA138A549A55AA5621B730B840BAE -:10829000950B653C79408105910538F04EDE0E94D2 -:1082A0002CF06FA378A789A79AA74E8D442309F4D1 -:1082B0004FC02B8D3C8D4D8D522D632D702F812FF6 -:1082C0009EA50E94E2F818160CF095C00E942CF0B2 -:1082D00029893A894B895C89621B730B840B950B46 -:1082E000693873418105910508F485C0D301C20145 -:1082F00029813A814B815C81821B930BA40BB50BC6 -:1083000049855A85B595A79597958795452B19F079 -:108310008093011102C08093D4100E942CF06D87CD -:108320007E878F87988BDC01CB0129893A894B891D -:108330005C89821B930BA40BB50B8BA39CA3ADA3F1 -:10834000BEA33B8D3DA74C8D4D8B5D8D5E8B2F8AE3 -:108350002B8D3C8D4D8D522D632D702F812F9EA521 -:108360000E94DFF687FFEEC20E942CF02D853E852D -:108370004F855889621B730B840B950B69387341C9 -:108380008105910508F4DEC20E942CF0698B7A8B7E -:108390008B8B9C8BDC01CB012D853E854F855889CD -:1083A000821B930BA40BB50B4B855C85452B09F009 -:1083B00010C189819A81AB81BC81840D951DA61D58 -:1083C000B71D29853A85B595A79597958795232B50 -:1083D00009F4B5C2809301114B855C854F5F5F4FF7 -:1083E0005C874B875B8D5D838C8D888F9D8D998F8E -:1083F0002A8EA1E0AE8F20E030E040EA51E46B8DA0 -:108400007C8D8D8D922D0E9406F69B01AC01632D13 -:10841000702F812F9EA50E94E2F8181694F4EEE0CA -:10842000F3E08491882341F09091C00095FFFCCF48 -:108430008093C6003196F5CF8091C00085FFFCCFB8 -:10844000ACC00E942CF02F8D38A149A15AA1621B0B -:10845000730B840B950B613D77408105910508F402 -:108460004FC049855A85452B81F0E0900111F12CD0 -:10847000E8E0F3E084918823C1F09091C00095FF7B -:10848000FCCF8093C6003196F5CFE090D410F12C4C -:10849000E2E0F3E08491882341F09091C00095FFE1 -:1084A000FCCF8093C6003196F5CF22E030E0432D1B -:1084B000502F612F7EA58BEF96E10E9446D1EEEF03 -:1084C000F2E08491882341F09091C00095FFFCCFA9 -:1084D0008093C6003196F5CF4AE050E0B7018BEFAC -:1084E00096E10E9470D08091C00085FFFCCF8AE0A9 -:1084F0008093C6000E942CF06F8F78A389A39AA363 -:108500000E942CF06B017C010E942CF089889A88D3 -:10851000AB88BC882D853E854F855889820E931E79 -:10852000A41EB51EC818D908EA08FB08C60ED71E37 -:10853000E81EF91E31E8C3163FE4D30632E1E30634 -:10854000F10490F0E1EEF2E08491882341F0909103 -:10855000C00095FFFCCF8093C6003196F5CF809187 -:10856000C00085FFFCCF19C04B855C858BA59CA501 -:10857000841795070CF042CEE5E8F2E08491882359 -:1085800041F09091C00095FFFCCF8093C6003196DA -:10859000F5CF8091C00085FFFCCF8AE08093C600B4 -:1085A000AE960FB6F894DEBF0FBECDBFDF91CF9170 -:1085B0001F910F91FF90EF90DF90CF90BF90AF9001 -:1085C0009F908F907F906F905F904F903F902F90F3 -:1085D00008958BA09CA0ADA0BEA0880E991EAA1ED7 -:1085E000BB1E2BA13CA14DA15EA1281B390B4A0B40 -:1085F0005B0BCA01B90129813A814B815C810E94E0 -:108600007AFAA50194010E94DFFA240D351D461D5A -:10861000571D243131054105510504F129013A0165 -:108620003CEE43165104610471042CF06BEE462EAF -:10863000512C612C712C40E84416510461047104E2 -:10864000DCF08EEF90E0A0E0B0E084199509A60977 -:10865000B70989839A83AB83BC8312C054E1452E4A -:10866000512C612C712C24E130E040E050E0298352 -:108670003A834B835C8304C049825A826B827C823A -:10868000E7E7F3E08491882341F09091C00095FFE3 -:10869000FCCF8093C6003196F5CF2AE030E0B301DD -:1086A000A2018BEF96E10E9445D0E2E7F3E08491CE -:1086B000882341F09091C00095FFFCCF8093C600C5 -:1086C0003196F5CF2AE030E049815A816B817C8177 -:1086D0008BEF96E10E9445D0EBE6F3E0849188238E -:1086E00041F09091C00095FFFCCF8093C600319679 -:1086F000F5CF22E030E04D81588D698D7A8D8BEF7A -:1087000096E10E9446D1E4E6F3E08491882341F0AB -:108710009091C00095FFFCCF8093C6003196F5CFB5 -:1087200022E030E04DA55D896E897F898BEF96E16F -:108730000E9446D18091C00085FFFCCF8AE08093E3 -:10874000C6002B853C85233031050CF432CE69817F -:108750007A818B819C810E9481F720E030E040E8A3 -:1087600050E40E94B4F96B017C012D81388D498D54 -:108770005A8D6DA57D898E899F890E9405F620ED11 -:108780003FE049E450E40E94B4F920E030E040E0EA -:108790005FE30E94B4F99B01AC01C701B6010E94DE -:1087A000E6F66B017C01C501B4010E9481F720E06F -:1087B00030E04AE754E40E94E6F64B015C01EEE546 -:1087C000F3E08491882341F09091C00095FFFCCFA5 -:1087D0008093C6003196F5CF22E030E0B701A601C4 -:1087E0008BEF96E10E9446D1E8E5F3E0849188237F -:1087F00041F09091C00095FFFCCF8093C600319668 -:10880000F5CF22E030E0B501A4018BEF96E10E94A4 -:1088100046D18091C00085FFFCCF8AE08093C600DE -:108820002AE939E949E15FE3C701B6010E94B4F9D9 -:108830006B017C019B01AC010E9406F6A50194012D -:108840000E94E6F66D837E838F839887A50194014D -:10885000C701B6010E94B4F920E030E040E05EE3D9 -:108860000E94B4F94B015C01EAE4F3E084918823AF -:1088700041F09091C00095FFFCCF8093C6003196E7 -:10888000F5CF8091C00085FFFCCF8AE08093C600C1 -:10889000E4E4F3E08491882341F09091C00095FFD7 -:1088A000FCCF8093C6003196F5CF22E030E0B701CF -:1088B000A6018BEF96E10E9446D18091C00085FF12 -:1088C000FCCF8AE08093C600EEE3F3E08491882336 -:1088D00041F09091C00095FFFCCF8093C600319687 -:1088E000F5CF22E030E04D815E816F8178858BEF9E -:1088F00096E10E9446D18091C00085FFFCCF8AE0BE -:108900008093C600E8E3F3E08491882341F09091DE -:10891000C00095FFFCCF8093C6003196F5CF22E0D2 -:1089200030E0B501A4018BEF96E10E9446D1809121 -:10893000C00085FFFCCF8AE08093C6003ACD8093CB -:10894000D4104ACD1E8E57CD81E0809338130E94FB -:108950003ADA80919013882339F01092901360E0F6 -:108960008EE893E10E94C45888E592E00E9435A306 -:108970009FDB179A10924E13169A10924F13149A67 -:1089800048D10E94C4A3729A84EF91E00E947FF0C4 -:10899000729884E690E00C947FF02F923F924F9271 -:1089A0005F926F927F928F929F92AF92BF92CF927F -:1089B000DF92EF92FF920F931F93CF93DF93CDB788 -:1089C000DEB728970FB6F894DEBF0FBECDBF4C01BF -:1089D0002A013B010D831E832F833887AA2039F09B -:1089E000A12CB12C19821A821B821C820BC03DE281 -:1089F000A32EB12C80E090E0A0E7B1E489839A83B4 -:108A0000AB83BC830E942CF00E947FF78401000F8F -:108A1000111F000F111FD801A65EBE4E1D012D9122 -:108A20003D914D915C910E9405F620E030E04AEFC7 -:108A300054E40E94E2F818160CF0D2C00E942CF008 -:108A40000E947FF7F101608371838283938320E02A -:108A500030E0A901C701B6010E94DFF6811107C00D -:108A6000F401EE0FFF1FEE5EFE4E118210829801A0 -:108A7000265D3E4E1901A3019201D1016D917D91B8 -:108A80008D919C910E94DFF6882321F120E030E057 -:108A9000A901C301B2010E94E2F8F801E65CFE4EB2 -:108AA000181674F480E090E0A0E8BFE3808391831F -:108AB000A283B383F10140825182628273820AC031 -:108AC0001082118212821382D1014D925D926D92B9 -:108AD0007C921397A30192016D817E818F8198858D -:108AE0000E94E2F887FD19C0F801E65CFE4E1F0106 -:108AF00020E030E040E85FE3608171818281938112 -:108B00000E94DFF6811109C080E090E0A0E0B0E4AF -:108B1000F10180839183A283B38320E030E0A90137 -:108B2000C701B6010E94E2F818160CF059C029815D -:108B30003A814B815C81C301B2010E9405F62D810F -:108B40003E814F8158850E94DFF687FF12C0298140 -:108B50003A814B815C81C301B2010E9406F69B0100 -:108B6000AC016D817E818F8198850E94DFF687FD43 -:108B700037C0F801E65CFE4E20E030E040E85FE3FD -:108B800060817181828193810E94E2F8181644F518 -:108B9000F401EE0FFF1FEE5EFE4E80819181019683 -:108BA00091838083880F991FA816B906CCF4289664 -:108BB0000FB6F894DEBF0FBECDBFDF91CF911F91EE -:108BC0000F91FF90EF90DF90CF90BF90AF909F906C -:108BD0008F907F906F905F904F903F902F90B4CE8A -:108BE00028960FB6F894DEBF0FBECDBFDF91CF91B0 -:108BF0001F910F91FF90EF90DF90CF90BF90AF90BB -:108C00009F908F907F906F905F904F903F902F90AC -:108C100008952F923F924F925F926F927F928F9220 -:108C20009F92AF92BF92CF92DF92EF92FF920F93FB -:108C30001F93CF93DF93CDB7DEB728970FB6F89485 -:108C4000DEBF0FBECDBF8091FA10882309F41CC28D -:108C50001ED96091D41070E080E090E00E9481F70E -:108C60006B017C01409008115090091160900A112D -:108C700070900B116091101170911111882777FD80 -:108C80008095982F0E9481F7AB01BC01A12C930124 -:108C9000820181E090E081DE8090081190900911BE -:108CA000A0900A11B0900B110091101110911111A8 -:108CB000B801882777FD8095982F0E9481F7A5013C -:108CC00094010E9405F66B017C016093E2107093A1 -:108CD000E3108093E4109093E51020E030E040E250 -:108CE00051E40E94E2F8181624F481E08093D91030 -:108CF000F7C020E030E040E251ECC701B6010E942D -:108D0000DFF687FD02C0012B21F481E08093D910AA -:108D10000CC18091D910882351F01092F610109256 -:108D2000F7101092F8101092F9101092D9102091AB -:108D300018023091190240911A0250911B02C7018A -:108D4000B6010E94B4F969837A838B839C83609314 -:108D5000EE107093EF108093F0109093F11020912B -:108D6000F6103091F7104091F8105091F910C701AA -:108D7000B6010E9406F62B013C012090DE103090D7 -:108D8000DF101091E0100091E1109101412F502F60 -:108D90000E94DFF687FD14C02090DA103090DB10BF -:108DA0001091DC100091DD109101412F502FB20184 -:108DB000C3010E94E2F818161CF01201162D072DAF -:108DC000C101A12FB02F8093F6109093F710A093BC -:108DD000F810B093F91020911402309115024091CF -:108DE000160250911702B101812F902F0E94B4F901 -:108DF0006D837E838F8398876093EA107093EB1066 -:108E00008093EC109093ED102091F2103091F310BC -:108E10004091F4105091F510C501B4010E9405F67F -:108E200020911002309111024091120250911302D0 -:108E30000E94B4F920ED3CEC4CE45DE30E94B4F9EF -:108E40002B013C0123E333E343E75FE36091E6104A -:108E50007091E7108091E8109091E9100E94B4F9A8 -:108E60009B01AC01C301B2010E9406F62B013C013B -:108E70006093E6107093E7108093E8109093E910E8 -:108E80002D813E814F81588569817A818B819C81BA -:108E90000E9406F6A30192010E9405F62B013C01F7 -:108EA00020E030E04FE753E40E94E2F820E030E0B9 -:108EB000A9011816E4F4C701B6010E94E2F81816D9 -:108EC0007CF4A7019601B101812F902F0E9405F635 -:108ED0006093F6107093F7108093F8109093F91048 -:108EE000412C512C5FE7652E53E4752E21C0C30140 -:108EF000B2010E94DFF687FF1BC020E030E0A9012D -:108F0000C701B6010E94DFF687FF0FC0A7019601D7 -:108F1000B101812F902F0E9405F66093F610709397 -:108F2000F7108093F8109093F910412C512C3201D6 -:108F30008092F2109092F310A092F410B092F5107B -:108F40006091CC107091CD10882777FD8095982F77 -:108F50000E9481F79B01AC01C501B4010E94E2F8B7 -:108F60001816DCF46091080270910902882777FDD9 -:108F70008095982F0E9481F79B01AC01C501B40137 -:108F80000E94DFF687FF09C0C301B2010E944EF7BD -:108F9000759567956093D41002C01092D4100E940A -:108FA0002CF00091D0101091D1102091D21030915E -:108FB000D310601B710B820B930B653C79408105CC -:108FC000910560F00E949D3F0E942CF06093D010AC -:108FD0007093D1108093D2109093D3100E942CF0F4 -:108FE0000091D5101091D6102091D7103091D81043 -:108FF000601B710B820B930B6838734181059105DF -:1090000008F442C00E942CF06093D5107093D610E3 -:109010008093D7109093D810C0900211D090031174 -:10902000E0900411F090051120E030E040E751E4B9 -:10903000C701B6010E94E2F818161CF520E030E0E6 -:1090400046E153E4C701B6010E94DFF687FF19C06D -:1090500060910E1170910F11882777FD8095982FE0 -:109060000E9481F79B01AC01C701B6010E94E2F8A2 -:1090700087FD03C01092011107C08FE78093011193 -:1090800003C010920111A59828960FB6F894DEBF80 -:109090000FBECDBFDF91CF911F910F91FF90EF9049 -:1090A000DF90CF90BF90AF909F908F907F906F9008 -:1090B0005F904F903F902F900895CF93C82F0E94BC -:1090C00058400E94206B811134C0E7E9F2E5949189 -:1090D000992341F08091C00085FFFCCF9093C6009A -:1090E0003196F5CF6C2F70E04AE050E08BEF96E1BF -:1090F0000E9470D08091C00085FFFCCF8AE08093F1 -:10910000C600EBE2F2E08491882341F09091C00028 -:1091100095FFFCCF8093C6003196F5CF8091C000BB -:1091200085FFFCCF8AE08093C6008EE192E00E942A -:1091300035A3CF910C94C86ACF93C82F0E94584092 -:109140000E94206B811134C0E7E9F2E594919923E4 -:1091500041F08091C00085FFFCCF9093C60031960E -:10916000F5CF6C2F70E04AE050E08BEF96E10E9463 -:1091700070D08091C00085FFFCCF8AE08093C6004C -:10918000E1EFF1E08491882341F09091C00095FFD8 -:10919000FCCF8093C6003196F5CF8091C00085FF4B -:1091A000FCCF8AE08093C60084EE91E00E9435A354 -:1091B000CF910C94C86AA5980E94206B811125C09C -:1091C000E7E9F2E58491882341F09091C00095FF92 -:1091D000FCCF8093C6003196F5CFEBEAF1E08491A5 -:1091E000882341F09091C00095FFFCCF8093C6008A -:1091F0003196F5CF8091C00085FFFCCF8AE0809347 -:10920000C6008AE991E00E9435A30C94C86A1F92B7 -:109210000F920FB60F9211240BB60F920F931F935C -:109220002F933F934F935F936F937F938F939F936E -:10923000AF93BF93CF93DF93EF93FF938091070298 -:10924000811112C08091D4108093C910882311F02D -:10925000759A01C07598809101118093C810882378 -:1092600011F0A59A01C0A5989091C91080910702AC -:10927000981708F475989091C81080910702981774 -:1092800008F4A598809107028F5F8F77809307027B -:109290008091060290E08B30910508F093C0FC01AC -:1092A000EE58FF4F0C94FBFA10927B0080E4809301 -:1092B0007C0080917A00806480937A000E943EA3B3 -:1092C00081E019C020917800309179008091C4101C -:1092D0009091C510A091C610B091C710820F931F36 -:1092E000A11DB11D8093C4109093C510A093C6100A -:1092F000B093C71082E08093060264C010927B0096 -:1093000082E480937C0080917A00806480937A006C -:109310000E943EA383E0EFCF209178003091790046 -:109320008091C0109091C110A091C210B091C31053 -:10933000820F931FA11DB11D8093C0109093C11087 -:10934000A093C210B093C31084E0D5CF10927B00DD -:1093500081E480937C0080917A00806480937A001D -:109360000E943EA385E0C7CF20917800309179001C -:109370008091BC109091BD10A091BE10B091BF1013 -:10938000820F931FA11DB11D8093BC109093BD103F -:10939000A093BE10B093BF1086E0ADCF0E943EA355 -:1093A00087E0A9CF88E0A7CF0E943EA389E0A3CFA2 -:1093B000109206028091BB108F5F8093BB1002C099 -:1093C000109206028091BB10803108F463C0809136 -:1093D000FA10811110C08091C4109091C510909323 -:1093E0000D1180930C118091C0109091C110909339 -:1093F00007118093061181E08093FA101092BB1040 -:109400001092C4101092C5101092C6101092C7107E -:109410001092BC101092BD101092BE101092BF108E -:109420001092B7101092B8101092B9101092BA1092 -:109430001092C0101092C1101092C2101092C3105E -:1094400020910C1130910D118091CE109091CF1080 -:109450008217930714F080E030DE20910C113091D8 -:109460000D1180910A0290910B022817390714F010 -:1094700080E062DE20910611309107118091CA10C0 -:109480009091CB10821793072CF010920F1110922D -:109490000E1191DE00E010E0E801CC0FDD1FC55099 -:1094A000DF4E888199811816190644F461E0802FF7 -:1094B0000E945CDA88819981019709C0892B49F063 -:1094C00060E0802F0E945CDA8881998101969983FF -:1094D00088830F5F1F4F03301105F1F6FF91EF9165 -:1094E000DF91CF91BF91AF919F918F917F916F91BC -:1094F0005F914F913F912F911F910F910F900BBE54 -:109500000F900FBE0F901F9018952CEA35EC47E294 -:109510005EE30C94B4F92CEA35EC47E25EE30C947C -:10952000E6F62CEA35EC47E25EE30C94E6F62CEA2C -:1095300035EC47E25EE30C94B4F9CF93DF93EC0192 -:1095400060E08E810E9485EF81E090E00E947FF0D4 -:1095500061E08E810E9485EF81E090E00E947FF0C3 -:1095600060E08E810E9485EF84E690E0DF91CF91EC -:109570000C947FF0CF92DF92EF92FF920F931F93A4 -:10958000CF93DF937C01C0E0D0E0C62ED12C8701C1 -:109590000C0F1D1F61E0F80187810E944CEFB6019E -:1095A0000C2E02C0759567950A94E2F76170F80178 -:1095B00087810E9485EF2196C430D10541F7C7010C -:1095C000DF91CF911F910F91FF90EF90DF90CF909F -:1095D000B4CFCF92DF92EF92FF920F931F93CF936E -:1095E000DF937C01C0E0D0E0C62ED12C87010C0FA8 -:1095F0001D1F61E0F80187810E944CEFB6010C2E1F -:1096000002C0759567950A94E2F76170F801878149 -:109610000E9485EF2196C830D10541F7C701DF913F -:10962000CF911F910F91FF90EF90DF90CF9085CF5A -:109630001F93CF93DF93EC01162F642F8C810E9430 -:1096400085EF8D818F3F19F060E00E9485EF8F8557 -:10965000612F84FF05C0CE01DF91CF911F91B9CF5B -:1096600070E084E0759567958A95E1F7CE0182DF19 -:10967000612FCE01DF91CF911F917CCF40E0D8CFF9 -:1096800061E0FCDF80E496E00C947FF062E0F6DFBE -:1096900080E496E00C947FF0CF93DF93CDB7DEB7F4 -:1096A00028970FB6F894DEBF0FBECDBF28E0EBE8D9 -:1096B000FCE0DE01119601900D922A95E1F7FC0184 -:1096C0002389421710F04FEF420FFE013196E40F4D -:1096D000F11DE40FF11D2081260F2068622F2896CE -:1096E0000FB6F894DEBF0FBECDBFDF91CF91C6CFCE -:1096F000FC016089262F2460208B6C60BFCFCF9344 -:10970000DF93EC01423018F08F8588608F874B8B98 -:109710001C8A222329F0413019F48F8584608F87B9 -:1097200080E593EC0E947FF060E08C810E9485EFE1 -:1097300060E08E810E9485EF8D818F3F19F060E09F -:109740000E9485EF6F8564FD19C063E0CE0112DFD2 -:1097500084E991E10E947FF063E0CE010BDF84E9B0 -:1097600091E10E947FF063E0CE0104DF86E990E0A2 -:109770000E947FF062E0CE01FDDE13C06062CE0188 -:109780007DDF84E991E10E947FF06F856062CE0108 -:1097900075DF86E990E00E947FF06F856062CE0100 -:1097A0006DDF6F856062CE0169DF8CE390E00E941F -:1097B0007FF084E0888BCE019BDF8CE390E00E94F9 -:1097C0007FF0CE015DDF88EB9BE00E947FF082E0BE -:1097D000898B66E0CE0152DF8CE390E0DF91CF9180 -:1097E0000C947FF06F927F928F92AF92CF92EF9214 -:1097F0000F931F93CF93DF93CDB7DEB73C01162FA6 -:10980000842F5E854F8538899989F3018483258368 -:109810000683E782C086A186828653874487358780 -:10982000968761E00E944CEFF30185818F3F19F02C -:1098300061E00E944CEF61E0F30186810E944CEFF1 -:10984000112319F0F301178603C080E1F301878724 -:1098500020E041E060E1C301DF91CF911F910F91C2 -:10986000EF90CF90AF908F907F906F9048CF8F9276 -:10987000AF92CF92EF920F93DC0113961C921E923F -:109880001297E1E5FDE0ED93FC931F921F921F926A -:109890001F928C2CAE2CC02EE22E042F2FEF462FC1 -:1098A00061E0A0DF0F900F900F900F900F91EF905D -:1098B000CF90AF908F900895CF93DF93EC0142301B -:1098C00018F08F8588608F874B8B1C8A222329F0A4 -:1098D000413019F48F8584608F8780E593EC0E9476 -:1098E0007FF060E08C810E9485EF60E08E810E94B5 -:1098F00085EF8D818F3F19F060E00E9485EF6F85C5 -:1099000064FD19C063E0CE0135DE84E991E10E9477 -:109910007FF063E0CE012EDE84E991E10E947FF0CA -:1099200063E0CE0127DE86E990E00E947FF062E0EE -:10993000CE0120DE13C06062CE01A0DE84E991E199 -:109940000E947FF06F856062CE0198DE86E990E02C -:109950000E947FF06F856062CE0190DE6F8560624D -:10996000CE018CDE8CE390E00E947FF084E0888B57 -:10997000CE01BEDE8CE390E00E947FF0CE0186DE59 -:1099800080E496E00E947FF082E0898B66E0CE0161 -:1099900075DE8CE390E00E947FF040E068E0CE014D -:1099A0007BDE61E77EE0CE010E9495F541E068E054 -:1099B000CE0172DE61E77EE0CE010E9495F542E0C5 -:1099C00066E0CE0169DE6FE67EE0CE01DF91CF91E9 -:1099D0000C9495F5CF92DF92EF92FF920F931F9325 -:1099E000CF93DF931F921F92CDB7DEB78C016770C4 -:1099F00088E0689FB00111246064C80149835A83DC -:109A00003DDE4981C42E5A81D52EE12CF12CD601A0 -:109A10006D916D01D801ED91FC910190F081E02DE7 -:109A2000C8011995BFEFEB1AFB0AE8E0EE16F10446 -:109A300071F70F900F90DF91CF911F910F91FF90D1 -:109A4000EF90DF90CF90089541E0F2DD81E090E06B -:109A500008950F931F93CF93DF93EC018B0144E1A3 -:109A600050E0BC018AE491E10F941200CE010E9403 -:109A7000F1FF992744E150E0481B590BB801865B80 -:109A80009E4E0F9412008AE491E1DF91CF911F91D5 -:109A90000F910895AF92BF92CF92DF92EF92FF9213 -:109AA0000F931F93CF93DF93EC015B017A01690160 -:109AB00044E150E0BC018AE491E10F941200CE0130 -:109AC0000E94F1FFEC01DD2704E110E0A8014C1B2E -:109AD0005D0BB501CE01865B9E4E0F941200C50151 -:109AE0000E94F1FFC80FD91FDD27A8014C1B5D0B99 -:109AF000B701CE01865B9E4E0F941200C7010E94F3 -:109B0000F1FF8C0F9D1F9927A801481B590BB60127 -:109B1000865B9E4E0F9412008AE491E1DF91CF9113 -:109B20001F910F91FF90EF90DF90CF90BF90AF907B -:109B300008952F923F924F925F926F927F928F92F1 -:109B40009F92AF92BF92CF92DF92EF92FF920F93CC -:109B50001F93CF93DF93CDB7DEB7CF54D1090FB6A4 -:109B6000F894DEBF0FBECDBF1C017E8F6D8F4A0102 -:109B70002FAB09AF2896EFAE28972C96ACAEBDAEB2 -:109B8000CEAEDFAE2C9734E0239F50011124FC01B0 -:109B9000EA0DFB1D80819181A281B381898F9A8F0B -:109BA000AB8FBC8FDA01AA0DBB1DBCAFABAF4D9024 -:109BB0005D906D907C90A3019201698D7A8D8B8D63 -:109BC0009C8D0E9406F621966CAF7DAF8EAF9FAF45 -:109BD0002197B4E00B9F80011124F101E00FF11FE8 -:109BE00020813181428153812F8F38A349A35AA309 -:109BF000A401400F511F23965FAF4EAF2397DA01A8 -:109C0000CD90DD90ED90FC90A70196016F8D78A12D -:109C100089A19AA10E9406F627966CAF7DAF8EAF00 -:109C20009FAF27972896EFAD2897B4E0EB9FC00130 -:109C30001124F101E80FF91F208131814281538104 -:109C40002BA33CA34DA35EA3ED8DFE8DE80FF91F62 -:109C500060817181828193810E9405F66FA378A74C -:109C600089A79AA7AD8DBE8D1C968D919D910D9063 -:109C7000BC91A02D60968CAF9DAFAEAFBFAF60978B -:109C8000D1011C962D913D914D915C911F972BA771 -:109C90003CA74DA75EA7A301920150582D8B3E8B88 -:109CA0004F8B588FD701C601B058898B9A8BAB8BDD -:109CB000BC8BED8DFE8DEA0DFB1D20813181428133 -:109CC00053812FA738AB49AB5AAB21962CAD3DAD94 -:109CD0004EAD5FAD21976FA578A989A99AA90E9479 -:109CE00005F66B017C01ED8DFE8DE00FF11F80818B -:109CF0009181A281B3818BAB9CABADABBEAB279600 -:109D00002CAD3DAD4EAD5FAD2797BC01CD010E949E -:109D100005F64B015C01A70196016D897E898F894B -:109D2000988D0E94B4F92B013C01A5019401698929 -:109D30007A898B899C890E94B4F99B01AC01C3018B -:109D4000B2010E9406F62B013C01A50194016D8928 -:109D50007E898F89988D0E94B4F94B015C01A7011F -:109D6000960169897A898B899C890E94B4F99B0143 -:109D7000AC01C501B4010E9405F6A30192010E9445 -:109D800079F66B017C0120E030E0A9010E94DFF64A -:109D900087FF0AC02BED3FE049EC50E4C701B60154 -:109DA0000E9406F66B017C01AA968FADAA978823C4 -:109DB00051F02BED3FE049EC50E4C701B6010E94A1 -:109DC00005F66B017C012FA538A949A95AA9698D0F -:109DD0007A8D8B8D9C8D0E94DFF681111FC02BA97F -:109DE0003CA94DA95EA96F8D78A189A19AA10E9475 -:109DF000DFF6811113C020E030E0A901C701B601F0 -:109E00000E94DFF681110AC02BED3FE049EC50E4DF -:109E1000C701B6010E9406F66B017C01A9962CAD24 -:109E20003DAD4EAD5FADA997C701B6010E94B4F933 -:109E30002FA138A549A55AA55F770E94EFF84B01DD -:109E40005C012FE632E143E85AE30E94DFF687FD2A -:109E5000C8C1C501B4010E94BCF70E9453F77A8FB4 -:109E6000698FDB01AB2B21F4E1E0F0E0FA8FE98FA1 -:109E7000298D3A8DB90180E090E00E947FF74B0177 -:109E80005C019B01AC01C701B6010E94E6F62B0103 -:109E90003C01A50194016FA178A589A59AA50E940E -:109EA000E6F66FA778AB89AB9AAB2BA53CA54DA581 -:109EB0005EA560966CAD7DAD8EAD9FAD60970E9446 -:109EC00005F6A50194010E94E6F66BAB7CAB8DAB69 -:109ED0009EAB20E030E040E05FE3C301B2010E94AE -:109EE000B4F9A30192010E94B4F99B01AC0160E0B6 -:109EF00070E080E89FE30E9405F66FA378A789A72A -:109F00009AA7CE010196FC0128964FAD289734E020 -:109F1000439FE00DF11D11242BA13CA14DA15EA199 -:109F200020833183428353832BA53CA54DA55EA599 -:109F30002D873E874F87588BB12C41E050E058A3C6 -:109F40004F8F1C01BFA9A4E0BA9F800D911D112461 -:109F500098AF8FAB910159AD44E0549F200D311D56 -:109F600011243AAF29AFFCA7EBA74F8D58A1898DDB -:109F70009A8D4817590708F01AC188E18B150CF41F -:109F800044C02FA138A549A55AA569897A898B892A -:109F90009C890E94B4F96B017C01A30192016D8937 -:109FA0007E898F89988D0E94B4F9A70196010E943D -:109FB00006F6A62E172F982E892E2FA138A549A573 -:109FC0005AA56D897E898F89988D0E94B4F96B019D -:109FD0007C01A301920169897A898B899C890E94FD -:109FE000B4F99B01AC01C701B6010E9405F66D8B67 -:109FF0007E8B8F8B988FB3948A2D912FA92DB82D9E -:10A00000898B9A8BAB8BBC8B6CC0AF8DB8A1BD011B -:10A0100080E090E00E947FF7A30192010E94B4F9D2 -:10A020006B017C010E94E3F6698B7A8B8B8B9C8B96 -:10A03000C701B6010E9417FA4B015C01EBADFCAD04 -:10A04000C080D180E280F380F7FAF094F7F8F094C2 -:10A050002396AEADBFAD23972D913D914D915C916F -:10A060002BA33CA34DA35EA329893A894B895C8924 -:10A07000C701B6010E94B4F96D8B7E8B8F8B988FD0 -:10A08000A50194016BA17CA18DA19EA10E94B4F9B0 -:10A090009B01AC016D897E898F89988D0E9406F69F -:10A0A0006D8B7E8B8F8B988FA5019401C701B601B4 -:10A0B0000E94B4F96B017C0129893A894B895C893A -:10A0C0006BA17CA18DA19EA10E94B4F99B01AC0162 -:10A0D000C701B6010E9405F6698B7A8B8B8B9C8B2E -:10A0E000B12C2D893E894F89588D21966CAD7DAD5F -:10A0F0008EAD9FAD21970E9406F6EFA9F8AD608363 -:10A1000071838283938329893A894B895C89279655 -:10A110006CAD7DAD8EAD9FAD27970E9406F6A9ADC3 -:10A12000BAAD6D937D938D939C9313972FA538A90A -:10A1300049A95AA9EBA5FCA560817181828193810F -:10A140000E9406F6ABA5BCA56D937D938D939C9361 -:10A1500013972BA93CA94DA95EA96D857E858F8596 -:10A1600098890E9406F66D877E878F87988BC1013C -:10A170000E94B066FE01E659FF4F6F012C96ECACD1 -:10A18000FDAC0EAD1FAD2C979E01235F3F4FAE017E -:10A19000475F5F4FBE016B5F7F4FC1010E9457E178 -:10A1A0002F8D38A12F5F3F4F38A32F8FDECE2D8DFF -:10A1B0003E8D245F3F4F4D8D5E8D485F5F4F6D8DAF -:10A1C0007E8D6C5F7F4FDE01A659BF4F6D012C96CF -:10A1D000ECACFDAC0EAD1FAD2C978D8D9E8D0E940D -:10A1E00057E1C15BDF4F0FB6F894DEBF0FBECDBFA6 -:10A1F000DF91CF911F910F91FF90EF90DF90CF9063 -:10A20000BF90AF909F908F907F906F905F904F9096 -:10A210003F902F900895FC011482178213821282BE -:10A2200086E99EE091838083089526E93EE0FC0163 -:10A23000318320832781222319F004960C94CF3494 -:10A240000895CF92DF92EF92FF920F931F93CF93D7 -:10A25000DF93EC01875B9F4FDEDFCE0186599F4F76 -:10A26000DADF7E0129E8E20EF11C87016E0131E49C -:10A27000C31A3EEFD30AC801CEDF015E1F4F0C1593 -:10A280001D05C9F7FE01EF53FE4F89E1818314825A -:10A290003596178ACE018C519E4FBDDFFE01EB56DD -:10A2A000FD4F108211821282138238961082118221 -:10A2B000128213821A821B82188219826E0187E62B -:10A2C000C81A8DEFD80AF601108211821282138209 -:10A2D000F80111821082FE01ED5FFD4F108286E3CE -:10A2E00091E0F7019C01119221503040E1F7FE010D -:10A2F000EF55FD4F81E08083C95BDF4F19821882E3 -:10A300000E942CF068577C4E8F4F9F4FF601608360 -:10A31000718382839383DF91CF911F910F91FF907F -:10A32000EF90DF90CF900895FC0120E03EE2DB014A -:10A330004C91403241F0283011F430833196DB01EA -:10A340004C91408331962F5F6F5F7F4F2B3079F7B1 -:10A35000108208952F923F924F925F926F927F9258 -:10A360008F929F92AF92BF92CF92DF92EF92FF9225 -:10A370000F931F93CF93DF93CDB7DEB7CA58D109A0 -:10A380000FB6F894DEBF0FBECDBF8C016B017A0112 -:10A390004901CA57DF4F1882C658D04084E0E80E02 -:10A3A000F11C180191E1290E311CF801EA5BFF4F05 -:10A3B000C957DF4FF983E883C758D0403801FEE51D -:10A3C0006F1AFDEF7F0A58018CE5A81A8DEFB80AC5 -:10A3D00090E4492E512C4C0E5D1E94E0490E511C08 -:10A3E000A101BE016F5F7F4FC7010E94393318166C -:10A3F0000CF04AC12C85322F3871303109F0ACC0D5 -:10A40000F301808191810197029708F4A5C0BE01F4 -:10A410006F5F7F4FCE0187589F4F86DFA0961FAE9C -:10A42000A097F6018081811107C065E57DE0CE012E -:10A43000815A9F4F0F946B00B601CE01815A9F4FF6 -:10A440000F946B00BE0167587F4FCE01815A9F4F1A -:10A450000F946B0065E57DE0CE01815A9F4F0F940C -:10A460006B00CE01805C9F4FD6DE21E0AE014758E5 -:10A470005F4FB701C2010E94C636811147C0F30188 -:10A4800080819181892B09F041C0E1E9F2E5849155 -:10A49000882341F09091C00095FFFCCF8093C600C7 -:10A4A0003196F5CFE0917B13F0E0EE0FFF1FE45EF5 -:10A4B000FD4F0190F081E02DE457FE4F0190F081B7 -:10A4C000E02D8191882339F09091C00095FFFCCF59 -:10A4D0008093C600F6CF8091C00085FFFCCF8AE054 -:10A4E0008093C600FE01E758FF4F8191882339F021 -:10A4F0009091C00095FFFCCF8093C600F6CF80916D -:10A50000C00085FFFCCF8AE08093C6008BE1FE018E -:10A51000EC5BFF4FDE01959601900D928A95E1F775 -:10A5200024968EAD9FAD24979CA38BA386E99EE0D5 -:10A530009AA389A320E030E0AE014F5D5F4FBE01DA -:10A54000615A7F4FC80106DFCE0181966EDECE01D3 -:10A55000805C9F4F6ADE44CF8981882309F494C0D0 -:10A560008E3209F43DCF8F3509F43ACFF801818955 -:10A570008E3209F435CF8F3509F432CF23FD30CF39 -:10A5800081E0303109F080E0C957DF4FE881F9817F -:10A59000C758D0408083811108C08985873409F06D -:10A5A0001FCF8A858E3709F41BCF98012C5F3F4F50 -:10A5B000BE016F5F7F4FC901C757DF4F2883C9585E -:10A5C000D040C657DF4F3883CA58D040ADDEF301C4 -:10A5D00080819181C757DF4F2881C958D040C65725 -:10A5E000DF4F3881CA58D0400097F1F4F6018191CD -:10A5F000882339F09091C00095FFFCCF8093C6006E -:10A60000F6CFF9018191882339F09091C00095FF30 -:10A61000FCCF8093C600F6CF8091C00085FFFCCFB1 -:10A620008AE08093C600DCCE8130910539F4F501D3 -:10A6300080819181019691838083D2CE029709F027 -:10A64000CFCE8114910439F0B901C4010F945800A0 -:10A65000892B71F419C0CA57DF4FF881C658D04012 -:10A660002F2F30E0F501808191812817390761F0A3 -:10A67000CA57DF4FF881C658D040FF5FCA57DF4F37 -:10A68000F883C658D040ACCEC657DF4F0FB6F8940B -:10A69000DEBF0FBECDBFDF91CF911F910F91FF9015 -:10A6A000EF90DF90CF90BF90AF909F908F907F9072 -:10A6B0006F905F904F903F902F9008950F931F934E -:10A6C000CF93DF93CDB7DEB76F970FB6F894DEBFA9 -:10A6D0000FBECDBF8C01FC01EE55FD4F11821082E3 -:10A6E00040E050E0BA01835B9F4F0E94EC33C80109 -:10A6F000875B9F4F2BE1FC013496DE01159601909C -:10A700000D922A95E1F7FC01828193819C838B83D2 -:10A7100086E99EE09A83898320E030E0AE014F5FB6 -:10A720005F4F67E77EE0C80115DECE0101967DDD53 -:10A730006F960FB6F894DEBF0FBECDBFDF91CF91FD -:10A740001F910F9108952BE1FB013496DC011496C3 -:10A7500001900D922A95E1F7FB0122813381FC01E2 -:10A76000338322830895EF92FF920F931F93CF9329 -:10A77000DF93EC011B82FC01E05BFF4F80818823AB -:10A7800029F0CE01835B9F4F0E94CF347E018FE37F -:10A79000E81A8EEFF80A45E360E0C7010E946F5F98 -:10A7A00081112CC0E1E9F2E58491882341F0909178 -:10A7B000C00095FFFCCF8093C6003196F5CFE091A5 -:10A7C0007B13F0E0EE0FFF1FE45EFD4F0190F08180 -:10A7D000E02DE257FE4F0190F081E02D8491882317 -:10A7E00041F09091C00095FFFCCF8093C600319658 -:10A7F000F5CF8091C00085FFFCCF9EC08E010A532B -:10A800001E4F41E0B701C8010E949D3C811133C039 -:10A8100040E0B701C8010E949D3C81112CC0E7E9CE -:10A82000F2E58491882341F09091C00095FFFCCF20 -:10A830008093C6003196F5CFE0917B13F0E0EE0FE8 -:10A84000FF1FE45EFD4F0190F081E02DE057FE4FC9 -:10A850000190F081E02D8491882341F09091C00017 -:10A8600095FFFCCF8093C6003196F5CF8091C00054 -:10A8700085FFFCCF61C0B801CE01835B9F4F0E9472 -:10A88000DC3181112CC0E7E9F2E58491882341F0A5 -:10A890009091C00095FFFCCF8093C6003196F5CF14 -:10A8A000E0917B13F0E0EE0FFF1FE45EFD4F01909F -:10A8B000F081E02DEE56FE4F0190F081E02D849165 -:10A8C000882341F09091C00095FFFCCF8093C60093 -:10A8D0003196F5CF8091C00085FFFCCF2DC081E07F -:10A8E0008B83E1E9F2E58491882341F09091C000E7 -:10A8F00095FFFCCF8093C6003196F5CFE0917B1396 -:10A90000F0E0EE0FFF1FE45EFD4F0190F081E02DBF -:10A91000EC56FE4F0190F081E02D8491882341F0A8 -:10A920009091C00095FFFCCF8093C6003196F5CF83 -:10A930008091C00085FFFCCF8AE08093C6008E0125 -:10A94000075B1F4FB801CE0186599F4FFCDEC859E7 -:10A95000DF4F19830883DF91CF911F910F91FF90F3 -:10A96000EF900895FC01128213820895FC01238167 -:10A97000222311F021E022830895FC01228121117C -:10A9800012820895AF92BF92CF92DF92EF92FF9220 -:10A990000F931F93CF93DF931F92CDB7DEB78C0138 -:10A9A0008FE2FB0181935F01D12C41E07801F1E45A -:10A9B000EF1AFEEFFF0A6FE1C62E2D2D30E0F701F2 -:10A9C0008081918128173907D8F4C29EC001C39EA7 -:10A9D000900D112483579F4FB501800F911F49831C -:10A9E0000E948331C50149815C010196F5012081F6 -:10A9F000222321F04D3810F44F5FF6CFD394DDCFF2 -:10AA000047FD11C0B501C80188519E4F0F90DF91DD -:10AA1000CF911F910F91FF90EF90DF90CF90BF905B -:10AA2000AF900C948331F50110820F90DF91CF919C -:10AA30001F910F91FF90EF90DF90CF90BF90AF905C -:10AA400008953F924F925F926F927F928F929F9262 -:10AA5000AF92BF92CF92DF92EF92FF920F931F932C -:10AA6000CF93DF93CDB7DEB7AC970FB6F894DEBFC8 -:10AA70000FBECDBF7C015B01FC018381882309F4FB -:10AA800008C1C70188519E4F0E94CF34F70112823E -:10AA9000CE0101966C01BFDB270198E6490E511CDF -:10AAA000C701875B9F4FF20191838083F50180810D -:10AAB0008F3209F084C06FE270E0C5010F94760018 -:10AAC0008C010F5F1F4F7AE0372E0115110509F435 -:10AAD0007CC06FE270E0C8010F9476004C010097D3 -:10AAE00009F474C00817190708F070C03C01601A17 -:10AAF000710AA301B801CE0180960F949F00E0E295 -:10AB0000F0E0EC0FFD1FE60DF71D1082FE01B09680 -:10AB10008191882339F09091C00095FFFCCF8093FC -:10AB2000C600F6CF8091C00085FFFCCF3092C600F2 -:10AB3000F201608171816115710519F06C5F7F4FC1 -:10AB400002C060E070E021E0AE01405E5F4FCE01E8 -:10AB500005960E94C63681112BC0E7E5FDE0849181 -:10AB6000882341F09091C00095FFFCCF8093C600F0 -:10AB70003196F5CFFE01B0968191882339F09091FE -:10AB8000C00095FFFCCF8093C600F6CFEEECFEE44C -:10AB90008491882341F09091C00095FFFCCF809371 -:10ABA000C6003196F5CF8091C00085FFFCCF6CC008 -:10ABB000F201D182C08284010F5F1F4F86CFC7018F -:10ABC00086599F4FF201918380838501F201808134 -:10ABD0009181009711F0049602C080E090E0B801E6 -:10ABE0000E949C37882339F1E0ECFEE484918823AD -:10ABF00041F09091C00095FFFCCF8093C600319644 -:10AC0000F5CFF8018191882339F09091C00095FF2C -:10AC1000FCCF8093C600F6CF8091C00085FFFCCFAB -:10AC20008AE08093C600F701E356FD4F108211823F -:10AC3000128213822CC0E8EAFEE48491882341F05A -:10AC40009091C00095FFFCCF8093C6003196F5CF60 -:10AC5000F8018191882339F09091C00095FFFCCFD5 -:10AC60008093C600F6CFE6EAFEE48491882341F0A3 -:10AC70009091C00095FFFCCF8093C6003196F5CF30 -:10AC80008091C00085FFFCCF8AE08093C600C6019A -:10AC9000CCDAAC960FB6F894DEBF0FBECDBFDF9115 -:10ACA000CF911F910F91FF90EF90DF90CF90BF90C9 -:10ACB000AF909F908F907F906F905F904F903F905C -:10ACC00008958F929F92AF92BF92CF92DF92EF92B0 -:10ACD000FF92CF93DF931F92CDB7DEB77C01FC01CB -:10ACE0008281882309F4BCC071968191882339F050 -:10ACF0009091C00095FFFCCF8093C600F6CFE4EAA8 -:10AD0000FEE48491882341F09091C00095FFFCCF30 -:10AD10008093C6003196F5CFE0917B13F0E0EE0F03 -:10AD2000FF1FE45EFD4F0190F081E02DEE55FE4FD8 -:10AD30000190F081E02D8491882341F09091C00032 -:10AD400095FFFCCF8093C6003196F5CFF701E3560F -:10AD5000FD4F40815181628173812AE030E08BEFA9 -:10AD600096E10E949CD0E2EAFEE48491882341F0BF -:10AD70009091C00095FFFCCF8093C6003196F5CF2F -:10AD8000F701EB56FD4F40815181628173812AE0CA -:10AD900030E08BEF96E10E949CD08091C00085FF4F -:10ADA000FCCF8AE08093C6000E942CF0E0E6CE2E15 -:10ADB000EAEEDE2EE12CF12CA70196010E94BDFAED -:10ADC00049015A0160916B1170916C1180916D1164 -:10ADD00090916E11A70196010E94BDFA821A930A02 -:10ADE000C4016CE370E00E9496FA6983CE0101967B -:10ADF0000E94B2A4FC012191CF01222339F03091AD -:10AE0000C00035FFFCCF2093C600F4CF40E050E0F7 -:10AE10006AE38BEF96E10E9454D0C4016CE370E0CA -:10AE20000E9496FA8983CE0101960E94B2A4FC0189 -:10AE30002191CF01222339F03091C00035FFFCCFA2 -:10AE40002093C600F4CFE0EAFEE484918823E1F089 -:10AE50009091C00095FFFCCF8093C6003196F5CF4E -:10AE6000EBE6FDE08491882341F09091C00095FFCE -:10AE7000FCCF8093C6003196F5CF8091C00085FF4E -:10AE8000FCCF8AE08093C6000F90DF91CF91FF90B6 -:10AE9000EF90DF90CF90BF90AF909F908F900895EC -:10AEA000AF92BF92CF92DF92EF92FF920F931F93D8 -:10AEB000CF93DF935C01EB01FB0101900020E9F7E8 -:10AEC0008F0101501109061B170B6C01F8E1CF1A15 -:10AED000FEEFDF0AF60110826EE470E0CE010F94FF -:10AEE00076007C01009729F4F8013197EC0FFD1FE3 -:10AEF0000DC060E270E00F947600EC0121966AE2EA -:10AF000070E0C7010F947600FC0131978DE08183DA -:10AF10008AE082831382BE01C5018C519E4F0E943C -:10AF200059D1F6018081882371F1E7E9F2E5849136 -:10AF3000882341F09091C00095FFFCCF8093C6001C -:10AF40003196F5CFE0917B13F0E0EE0FFF1FE45E4A -:10AF5000FD4F0190F081E02DEA55FE4F0190F08108 -:10AF6000E02D8491882341F09091C00095FFFCCFA3 -:10AF70008093C6003196F5CF8091C00085FFFCCF4D -:10AF80008AE08093C600DF91CF911F910F91FF90CF -:10AF9000EF90DF90CF90BF90AF9008952F923F92A7 -:10AFA0004F925F926F927F928F929F92AF92BF92D9 -:10AFB000CF92DF92EF92FF920F931F93CF93DF9385 -:10AFC000CDB7DEB7CC55D1090FB6F894DEBF0FBEB2 -:10AFD000CDBF4C018C010F551D4F662339F0F80190 -:10AFE0001082F401838181111DC015C0F801808198 -:10AFF000882309F4AFC0F401E756FD4FC080D1802B -:10B00000E280F3800E942CF0C616D706E806F90607 -:10B0100008F4A0C0E4CFC401A6DBF4018381882337 -:10B0200009F498C07401F7E4EF0EF11CF701818177 -:10B030008F9380818F9387E99EE49F938F938E01F6 -:10B04000015C1F4F1F930F930F94AE000F900F9052 -:10B050000F900F900F900F90B12CF80101900020ED -:10B06000E9F73197E01BF10BBE1684F46801CB0CB5 -:10B07000D11CB7FCDA94F6018081992787FD909561 -:10B080000E94E2FFF6018083B394E7CFFDE48F0EC8 -:10B09000911C40E050E0BA01C4010E94EC33512CF5 -:10B0A000CE0101966C0180E9682E8EE4782E5E0157 -:10B0B00091E2A90EB11C40E050E0B601C4010E942B -:10B0C00039331816DCF5412CF60101900020E9F720 -:10B0D0003197EC19FD094E1674F41601240C311C3D -:10B0E00047FC3A94F101808190E00E94E2FFF10177 -:10B0F00080834394E9CF8A858E37E9F245E050E0BA -:10B10000B801C6010F949100892BA9F61F930F93E4 -:10B110007F926F92BF92AF920F94AE00C5010E94D2 -:10B1200070628CE89EE40E94F0620F900F900F9086 -:10B130000F900F900F9055245394BDCF511004C021 -:10B140008FEF9FEFF70104C0F70180819181019695 -:10B1500091838083C45ADF4F0FB6F894DEBF0FBED1 -:10B16000CDBFDF91CF911F910F91FF90EF90DF90B6 -:10B17000CF90BF90AF909F908F907F906F905F9097 -:10B180004F903F902F9008950F931F93CF93DF938D -:10B19000EC018C0108511E4FC8010E948534C80182 -:10B1A0000E94CF3418821982DF91CF911F910F91A5 -:10B1B0000895CF92DF92EF92FF920F931F93CF9358 -:10B1C000DF93CDB7DEB76F970FB6F894DEBF0FBE33 -:10B1D000CDBF8C016A017C0188E6E80EF11CC80134 -:10B1E00086599F4FF70191838083E65CFD4F22E0F3 -:10B1F00030E03183208332967183608340E050E0F9 -:10B20000BA0104960E94EC33F701808191812BE111 -:10B21000FC013496DE01159601900D922A95E1F716 -:10B22000FC01828193819C838B8386E99EE09A83D3 -:10B2300089839601AE014F5F5F4F67E77EE0C801EB -:10B2400089D8CE0101960E9415516F960FB6F894D9 -:10B25000DEBF0FBECDBFDF91CF911F910F91FF9049 -:10B26000EF90DF90CF9008952F923F924F925F9290 -:10B270006F927F928F929F92AF92BF92CF92DF9206 -:10B28000EF92FF920F931F93CF93DF93CDB7DEB76B -:10B29000AC970FB6F894DEBF0FBECDBF8C016B012B -:10B2A000342EDC0113968C91882309F449C3F801EC -:10B2B000E551FE4F8081882309F4F5C02111C1C0FA -:10B2C0007801BDEFEB1AFB0AF7018081882361F159 -:10B2D000E7E9F2E58491882341F09091C00095FF61 -:10B2E000FCCF8093C6003196F5CFE2E2FFE4849173 -:10B2F000882341F09091C00095FFFCCF8093C60059 -:10B300003196F5CF4AE050E061E070E08BEF96E1D6 -:10B310000E9470D08091C00085FFFCCF8AE08093AE -:10B32000C6000E94686A0CC3E1E9F2E584918823B3 -:10B3300041F09091C00095FFFCCF8093C6003196FC -:10B34000F5CFE9E0FFE48491882341F09091C000BB -:10B3500095FFFCCF8093C6003196F5CFF601819121 -:10B36000882339F09091C00095FFFCCF8093C600F0 -:10B37000F6CFEEEFFEE48491882341F09091C00077 -:10B3800095FFFCCF8093C6003196F5CFD7018C9105 -:10B39000FDE8BF2EB801B89E600D711D1124685FD5 -:10B3A0007D4FC801EFDAF7018081F801B89EE00D0A -:10B3B000F11D1124E85FFD4F8191882339F09091B0 -:10B3C000C00095FFFCCF8093C600F6CFE8EFFEE407 -:10B3D0008491882341F09091C00095FFFCCF809329 -:10B3E000C6003196F5CF5801F3E6AF1AFDEFBF0A5C -:10B3F000D5014D915D916D917C912AE030E08BEF0C -:10B4000096E10E949CD08091C00085FFFCCF8AE02D -:10B410008093C600F7012081F80184E0289FE00DA9 -:10B42000F11D1124EC5FFD4FD5014D915D916D91A2 -:10B430007C9140835183628373832F5FF701208364 -:10B440002CC0E1E9F2E58491882341F09091C0009D -:10B4500095FFFCCF8093C6003196F5CFE7EEFEE472 -:10B460008491882341F09091C00095FFFCCF809398 -:10B47000C6003196F5CFF6018191882339F090917D -:10B48000C00095FFFCCF8093C600F6CF8091C0002E -:10B4900085FFFCCF8AE08093C600C80188519E4F8B -:10B4A0000E94CF3430C0F801ED5FFD4F1082E1E91A -:10B4B000F2E58491882341F09091C00095FFFCCF84 -:10B4C0008093C6003196F5CFE6EDFEE484918823A3 -:10B4D00041F09091C00095FFFCCF8093C60031965B -:10B4E000F5CFF6018191882339F09091C00095FF46 -:10B4F000FCCF8093C600F6CF8091C00085FFFCCFC3 -:10B500008AE08093C600D80112961C92FE01319603 -:10B510005F01CF010E940B512801F8E64F0E511C2C -:10B52000C801875B9F4FD2018D939C93F601808168 -:10B530008F3209F091C06FE270E0C6010F9476007F -:10B5400001967C01EAE02E2EE114F10409F48AC090 -:10B550006FE270E0C7010F9476004C01009709F488 -:10B5600082C0E816F90608F07EC03C016E187F081C -:10B57000A301B701CE0180960F949F00E0E2F0E0B6 -:10B58000EC0FFD1FE60DF71D1082FE01B0968191B4 -:10B59000882339F09091C00095FFFCCF8093C600BE -:10B5A000F6CF8091C00085FFFCCF2092C600D2016B -:10B5B0006D917C916115710519F06C5F7F4F02C030 -:10B5C00060E070E021E0AE01405E5F4FCE01059685 -:10B5D0000E94C636811138C0E0917B13F0E0EE0F77 -:10B5E000FF1FE45EFD4F0190F081E02DE856FE4F15 -:10B5F0000190F081E02D8491882341F09091C0006A -:10B6000095FFFCCF8093C6003196F5CFFE01B09632 -:10B610008191882339F09091C00095FFFCCF8093F1 -:10B62000C600F6CFE4EDFEE48491882341F09091CA -:10B63000C00095FFFCCF8093C6003196F5CF809176 -:10B64000C00085FFFCCF43C1F201B182A08274012A -:10B65000FFEFEF1AFF0A78CFC80186599F4FD2013A -:10B660008D939C937601F801E851FE4F4F013320F2 -:10B6700009F4E5C0D2016D917C916115710519F055 -:10B680006C5F7F4F02C060E070E021E0A701C40161 -:10B690000E94C63620917B13882309F49AC0F401D6 -:10B6A00081899289A389B489F801EB56FD4F808383 -:10B6B0009183A283B383E22FF0E0EE0FFF1FE45EDD -:10B6C000FD4F0190F081E02DE656FE4F0190F08194 -:10B6D000E02D8491D801AB56BD4F882349F090915D -:10B6E000C00095FFFCCF8093C60031968491F5CFC2 -:10B6F000F7018191882339F09091C00095FFFCCF2C -:10B700008093C600F6CFE0917B13F0E0EE0FFF1FB1 -:10B71000E45EFD4F0190F081E02DE456FE4F019074 -:10B72000F081E02D8491882341F09091C00095FF35 -:10B73000FCCF8093C6003196F5CF4D915D916D9110 -:10B740007C912AE030E08BEF96E10E949CD08091C2 -:10B75000C00085FFFCCF8AE08093C600F801E35665 -:10B76000FD4F1082118212821382E0917B13F0E070 -:10B77000EE0FFF1FE45EFD4F0190F081E02DE256D9 -:10B78000FE4F0190F081E02D8491882341F090914B -:10B79000C00095FFFCCF8093C6003196F5CF809115 -:10B7A000C00085FFFCCF8AE08093C600A70160E05F -:10B7B00070E0C801FEDCD80151968C91882319F005 -:10B7C000C801419601C0C7010E942EA188E79DE0F3 -:10B7D000B2C0E22FF0E0EE0FFF1FE45EFD4F0190DC -:10B7E000F081E02DE856FE4F0190F081E02D84912C -:10B7F000882341F09091C00095FFFCCF8093C60054 -:10B800003196F5CFF7018191882339F09091C000EE -:10B8100095FFFCCF8093C600F6CFE2EDFEE4849165 -:10B82000882341F09091C00095FFFCCF8093C60023 -:10B830003196F5CF8091C00085FFFCCF48C0F20162 -:10B84000608171816115710519F06C5F7F4F02C0D5 -:10B8500060E070E026E5A701C4010E94C6368111B0 -:10B860003AC0E0917B13F0E0EE0FFF1FE45EFD4F66 -:10B870000190F081E02DE856FE4F0190F081E02D1F -:10B880008491882341F09091C00095FFFCCF809374 -:10B89000C6003196F5CFF7018191882339F0909158 -:10B8A000C00095FFFCCF8093C600F6CFE0EDFEE42C -:10B8B0008491882341F09091C00095FFFCCF809344 -:10B8C000C6003196F5CF8091C00085FFFCCF8AE09D -:10B8D0008093C60032C081E0D8018C93E0917B1345 -:10B8E000F0E0EE0FFF1FE45EFD4F0190F081E02DD0 -:10B8F000E056FE4F0190F081E02D8491882341F0C5 -:10B900009091C00095FFFCCF8093C6003196F5CF93 -:10B91000F6018191882339F09091C00095FFFCCF0A -:10B920008093C600F6CF8091C00085FFFCCF8AE0EF -:10B930008093C600C7010E942EA1C5010E94155127 -:10B94000AC960FB6F894DEBF0FBECDBFDF91CF919E -:10B950001F910F91FF90EF90DF90CF90BF90AF902D -:10B960009F908F907F906F905F904F903F902F901F -:10B97000089521E0FC01218340E076CCCF92DF9254 -:10B98000EF92FF920F931F93CF93DF93CDB7DEB764 -:10B990006F970FB6F894DEBF0FBECDBF8C016C0160 -:10B9A00028E6C20ED11C86599F4FF60191838083F1 -:10B9B000E65CFD4F21E030E0318320837801FCE537 -:10B9C000EF1AFDEFFF0AF7011182108240E050E00C -:10B9D000BA0104960E94EC33F601808191812BE13B -:10B9E000FC013496DE01159601900D922A95E1F73F -:10B9F000FC01828193819C838B8386E99EE09A83FC -:10BA0000898320E030E0AE014F5F5F4F67E77EE063 -:10BA1000C8010E94AA51CE0101960E941551F7015A -:10BA2000808191816F960FB6F894DEBF0FBECDBFB7 -:10BA3000DF91CF911F910F91FF90EF90DF90CF900A -:10BA40000895AF92BF92CF92DF92EF92FF920F9341 -:10BA50001F93CF93DF93CDB7DEB76F970FB6F894F0 -:10BA6000DEBF0FBECDBF8C017B01CE0101960E94CF -:10BA70000B51F801EF58FF4F80816801811104C01C -:10BA800029E4C20ED11C03C08AE6C80ED11C21E0F5 -:10BA9000A701B6016C5F7F4FCE0105960E94C636A6 -:10BAA00081113AC0E1E9F2E58491882341F0909157 -:10BAB000C00095FFFCCF8093C6003196F5CFE09192 -:10BAC0007B13F0E0EE0FFF1FE45EFD4F0190F0816D -:10BAD000E02DE855FE4F0190F081E02D8491882300 -:10BAE00041F09091C00095FFFCCF8093C600319645 -:10BAF000F5CFF7018191882339F09091C00095FF2F -:10BB0000FCCF8093C600F6CF8091C00085FFFCCFAC -:10BB10008AE08093C60036C0F801E154FE4F808170 -:10BB200091818A30910530F59C012F5F3F4F318321 -:10BB300020832FE1289F7001299FF00C112429E810 -:10BB4000E20EF11CE00EF11E5C01B701C7014F9639 -:10BB50000E94A35381E0A81AB1082FE1E21AF1086C -:10BB60008FEFA816B80689F7B601C80187579F4F0F -:10BB70000E94A353BE016F5F7F4FC80186599F4F3C -:10BB80000E94A353CE0101960E9415516F960FB6E5 -:10BB9000F894DEBF0FBECDBFDF91CF911F910F9103 -:10BBA000FF90EF90DF90CF90BF90AF900895EF920D -:10BBB000FF920F931F93CF93DF93EC01C154DE4F9D -:10BBC0002881398121153105F9F021503109398356 -:10BBD00028838C0107571F4FB80186599F4F0E9439 -:10BBE000A353C80100E010E07C012FE1E20EF11C3C -:10BBF000288139810217130738F40F5F1F4FB701EF -:10BC00000E94A353C701F0CFDF91CF911F910F91F5 -:10BC1000FF90EF900895EF92FF920F931F93CF93B1 -:10BC2000DF93EC010E94C4D98E010D5F1D4FF80116 -:10BC300080819E0128513E4F79018823A1F1C901DD -:10BC40000E94CF34F801808181508083BE01FDE8DD -:10BC50008F9F600D711D1124685F7D4F21E041E0D1 -:10BC6000CE0102DBF8018081FE0124E0829FE00D1D -:10BC7000F11D1124EC5FFD4F408151816281738180 -:10BC8000FE01E356FD4F4083518362837383C701F6 -:10BC90000E94EC33CE01DF91CF911F910F91FF9065 -:10BCA000EF900C94B6540E943ADAC7010E94CF3448 -:10BCB0001A8280E89EE4DF91CF911F910F91FF904F -:10BCC000EF908EC48FEF8EBD0DB407FEFDCF8EB505 -:10BCD00008958EBD0DB407FEFDCF089561E0FC010F -:10BCE00080810C9485EFFC012281322F306A3695D9 -:10BCF0003CBD20FD06C031E0263009F430E0232FA2 -:10BD000001C020E02DBD60E0FC0180810C9485EF36 -:10BD1000CF92DF92EF92FF920F931F93CF93DF9317 -:10BD2000EC018B017A010E942CF06B01CBDF8B833D -:10BD30008F3F49F40E942CF06C197D096D327140DF -:10BD4000A8F381E144C08E3F11F08FE040C0E114C0 -:10BD5000F104D9F0C70101972FEF2EBDF8014FEF85 -:10BD60009F01201B310B2817390738F40DB407FE4B -:10BD7000FDCF2EB521934EBDF3CF0DB407FEFDCF01 -:10BD80002EB5F801E80FF91F2083D801E00EF11E4F -:10BD9000C12CD12CAE15BF0579F08D91ED2DFF276B -:10BDA000E827EE0FFF1FEB59F04B85919491DC2CA7 -:10BDB000CC24C826D926EECF85DF082F10E0102F1F -:10BDC000002780DF082BC016D10631F080E289837E -:10BDD000CE0184DF80E003C0CE0180DF81E0DF910F -:10BDE000CF911F910F91FF90EF90DF90CF9008952A -:10BDF0000F931F93CF93DF93EB010E942CF08B01E5 -:10BE000061DF8F3F49F00E942CF0601B710B6C17B3 -:10BE10007D07B0F380E001C081E0DF91CF911F91F9 -:10BE20000F910895CF92DF92FF920F931F93CF93BC -:10BE3000DF9300D01F92CDB7DEB76C01F62E2983B9 -:10BE40003A834B835C834FDF6CE271E0C601D0DF45 -:10BE50008F2D80643EDF08E110E05C814B813A81E8 -:10BE60002981DA01C901002E04C0B695A7959795DE -:10BE700087950A94D2F729833A834B835C8329DF21 -:10BE80000850110929813A814B815C81083F8FEF6D -:10BE9000180739F7FF2029F0E8E0FE1621F08FEFB0 -:10BEA00003C085E901C087E814DFFCE0FF1201C090 -:10BEB00009DF10E007DFF601838387FF04C01F3F1F -:10BEC00011F01F5FF7CF0F900F900F900F90DF9141 -:10BED000CF911F910F91FF90DF90CF900895BF9267 -:10BEE000CF92DF92EF92FF920F931F93CF93DF9346 -:10BEF000EC01B62E1C82198248830E942CF08B0123 -:10BF000061E088810E944CEFCE01E8DE60E082E3D0 -:10BF10000E944CEF61E083E30E944CEF61E084E318 -:10BF20000E944CEF61E085E30E944CEF61E085E305 -:10BF30000E9485EF85E08A8382E58CBD1DBC6AE0A6 -:10BF4000F62E8FEFC6DEFA94E1F720E030E0A9018B -:10BF500060E0CE0167DFF82E8B8381E0F81649F0B0 -:10BF60000E942CF0601B710B613D774070F381E003 -:10BF700046C02AEA31E040E050E068E0CE0152DFFE -:10BF800082FF02C0FC820CC054E0F52E9BDE8B8346 -:10BF9000FA94E1F78A3A11F082E031C082E08C83B2 -:10BFA0008C81823031F4C12CD12CE12C40E4F42E70 -:10BFB00003C0C12CD12C760120E030E0A90167E359 -:10BFC000CE0130DFA701960169E2CE012BDF8B8322 -:10BFD000882349F00E942CF0601B710B613D774073 -:10BFE00058F38AE00CC08C818230B1F420E030E05C -:10BFF000A9016AE3CE0116DF882329F088E089834E -:10C00000CE016CDE14C05EDE807C803C11F483E0E7 -:10C010008C8358DE57DE56DECE0160DE86E08B155F -:10C0200018F488E1898303C0BA8281E001C080E00E -:10C03000DF91CF911F910F91FF90EF90DF90CF9004 -:10C04000BF900895AF92BF92CF92DF92EF92FF928E -:10C050000F931F93CF93DF93EC016A017B0189015A -:10C060008C81833039F0F9E0CC0CDD1CEE1CFF1C18 -:10C07000FA95D1F773E0B72EE4E0AE2EBA94A7019B -:10C08000960161E1CE01CEDE882311F0A98207C0BE -:10C0900040E052E0B801CE013BDE81110EC0CE017E -:10C0A000BB2049F01BDE20E030E0A9016CE0CE01AE -:10C0B000B9DE1982E3CF12DE80E0DF91CF911F91CC -:10C0C0000F91FF90EF90DF90CF90BF90AF900895C9 -:10C0D000CF93DF93EC016EBD20E030E00DB407FE9E -:10C0E000FDCFFA01E20FF31F80818EBD0DB407FE74 -:10C0F000FDCF81818EBD2E5F3F4F211582E0380735 -:10C1000069F70DB407FEFDCF8FEFE3DD8FEFE1DDC3 -:10C11000D9DD8B838F71853031F083E18983CE0146 -:10C12000DDDD80E001C081E0DF91CF9108950F93C4 -:10C130001F93CF93DF93EC0189018C81833039F019 -:10C14000B9E0440F551F661F771FBA95D1F79A01C2 -:10C15000AB0168E1CE0166DE882311F086E01EC0E7 -:10C16000A8016EEFCE01B4DF8823C9F068E572E064 -:10C17000CE013EDE182F811102C087E10FC020E002 -:10C1800030E0A9016DE0CE014DDE811106C09ADDDF -:10C19000811103C0CE01A2DD05C086E18983CE01F5 -:10C1A0009DDD10E0812FDF91CF911F910F910895B8 -:10C1B000FC01659175918591949108952F923F921C -:10C1C0004F925F926F927F928F929F92AF92BF92A7 -:10C1D000CF92DF92EF92FF920F931F93CF93DF9353 -:10C1E00000D000D0CDB7DEB71C01FC01EE5AFD4AED -:10C1F00014919C01220F331F220F331F3E832D8386 -:10C20000235A3C4E4901F901108211821282138295 -:10C2100029E633E145E653E161E673E18DE593E11B -:10C220000E9439EB8D819E818F599D4AC1DF6B0140 -:10C230007C01612F772767FD7095872F972F0E94CC -:10C2400081F72B013C012D813E81285D3C4E590137 -:10C2500020E030E040EC5FE3C701B6010E94B4F992 -:10C26000A30192010E94B4F9F50160837183828376 -:10C2700093832D813E81255B334F3C832B83F901D2 -:10C28000608171818281938160930D0C70930E0C9B -:10C2900080930F0C9093100C20E030E040E752E4C4 -:10C2A0000E94E6F629E4C22E23E1D22E7B018C0106 -:10C2B00024E333E140E353E16CE273E188E293E18C -:10C2C0000E9457E10E94C4D9F401108211821282A7 -:10C2D000138229E633E145E653E161E673E18DE53A -:10C2E00093E10E9439EB2D813E812B5A3D4A3A83DE -:10C2F0002983C9015DDF9058A30192010E94B4F91E -:10C30000F501608371838283938320E030E040E70E -:10C3100052E460910D0C70910E0C80910F0C909175 -:10C32000100C0E94E6F67B018C0124E333E140E32C -:10C3300053E16CE273E188E293E10E9457E10E94CD -:10C34000C4D989819A8134DF9B01AC010E9406F631 -:10C35000A30192010E94B4F9F50160837183828385 -:10C36000938320E030E040E05FE3EB81FC8160817B -:10C370007181828193810E94B4F960930D0C709356 -:10C380000E0C80930F0C9093100C20E030E040E7EF -:10C3900052E40E94E6F67B018C0124E333E140E3A2 -:10C3A00053E16CE273E188E293E10E9457E10E945D -:10C3B000C4D98D819E8183599D4AFADE0D811E81EB -:10C3C0000F5A1C4EF80120813181428153810E9415 -:10C3D00006F6F40160837183828393838D819E814D -:10C3E0008B579D4AE5DE2D813E81215D334F7901DA -:10C3F000F80120813181428153810E9406F6F701C4 -:10C4000060837183828393838D819E8187589D4A47 -:10C41000CFDE2D813E812D5D334F7901F8012081E2 -:10C420003181428153810E9406F6F7016083718356 -:10C4300082839383F40180819181A281B381F5018C -:10C4400080839183A283B38310920D0C10920E0C03 -:10C4500010920F0C1092100C0E943DD2F101E25B81 -:10C46000FC4E81E0808326960FB6F894DEBF0FBEA7 -:10C47000CDBFDF91CF911F910F91FF90EF90DF9093 -:10C48000CF90BF90AF909F908F907F906F905F9074 -:10C490004F903F902F900895FC012491222341F06A -:10C4A0003091C00035FFFCCF2093C6000196F4CF39 -:10C4B00022E030E08BEF96E10C9446D1FC01249110 -:10C4C000222341F03091C00035FFFCCF2093C600FD -:10C4D0000196F4CF2AE030E08BEF96E10C949CD0EB -:10C4E00020917D1130917E11243031050CF077C000 -:10C4F00040917F115091801160E6649F9001659F8B -:10C50000300D1124BC01C90189579E4E0F948A0039 -:10C51000E1E9F2E58491882341F09091C00095FF14 -:10C52000FCCF8093C6003196F5CFE0917B13F0E00D -:10C53000EE0FFF1FE45EFD4F0190F081E02DE45D02 -:10C54000FE4F0190F081E02D8491882341F090917D -:10C55000C00095FFFCCF8093C6003196F5CF809147 -:10C560007F119091801120E6289FF001299FF00D06 -:10C570001124E957FE4E8191882339F09091C00033 -:10C5800095FFFCCF8093C600F6CFE0E5F2E58491FD -:10C59000882341F09091C00095FFFCCF8093C600A6 -:10C5A0003196F5CF8091C00085FFFCCF8AE0809363 -:10C5B000C60080917F1190918011019664E070E037 -:10C5C0000E94AAFA9093801180937F1180917D112F -:10C5D00090917E11019690937E1180937D11089524 -:10C5E00020917D1130917E11243031050CF077C0FF -:10C5F00040917F115091801160E6649F9001659F8A -:10C60000300D1124BC01C90189579E4E0E94EAFFDA -:10C61000E1E9F2E58491882341F09091C00095FF13 -:10C62000FCCF8093C6003196F5CFE0917B13F0E00C -:10C63000EE0FFF1FE45EFD4F0190F081E02DE45D01 -:10C64000FE4F0190F081E02D8491882341F090917C -:10C65000C00095FFFCCF8093C6003196F5CF809146 -:10C660007F119091801120E6289FF001299FF00D05 -:10C670001124E957FE4E8191882339F09091C00032 -:10C6800095FFFCCF8093C600F6CFEEE4F2E58491EF -:10C69000882341F09091C00095FFFCCF8093C600A5 -:10C6A0003196F5CF8091C00085FFFCCF8AE0809362 -:10C6B000C60080917F1190918011019664E070E036 -:10C6C0000E94AAFA9093801180937F1180917D112E -:10C6D00090917E11019690937E1180937D11089523 -:10C6E0009B9AA3980895FCDF40E052EC61E070E073 -:10C6F0008BEF96E10E9454CFE8E4F2E58491882321 -:10C7000041F09091C00095FFFCCF8093C600319618 -:10C71000F5CF8091C00085FFFCCF8AE08093C600F2 -:10C7200021E932E5F9018491882341F09091C0001C -:10C7300095FFFCCF8093C6003196F5CF84B780FF7C -:10C7400020C0A0917B13B0E0AA0FBB1FA45EBD4F19 -:10C75000ED91FC91E25DFE4F0190F081E02D94910E -:10C76000992341F04091C00045FFFCCF9093C60053 -:10C770003196F5CF9091C00095FFFCCF9AE0909351 -:10C78000C60081FF20C0A0917B13B0E0AA0FBB1FA1 -:10C79000A45EBD4FED91FC91E05DFE4F0190F081F4 -:10C7A000E02D9491992341F04091C00045FFFCCFCA -:10C7B0009093C6003196F5CF9091C00095FFFCCFC5 -:10C7C0009AE09093C60082FF20C0A0917B13B0E056 -:10C7D000AA0FBB1FA45EBD4FED91FC91EE5CFE4F16 -:10C7E0000190F081E02D9491992341F04091C00097 -:10C7F00045FFFCCF9093C6003196F5CF9091C000D5 -:10C8000095FFFCCF9AE09093C60083FF20C0A091D3 -:10C810007B13B0E0AA0FBB1FA45EBD4FED91FC914E -:10C82000EC5CFE4F0190F081E02D9491992341F052 -:10C830004091C00045FFFCCF9093C6003196F5CFE4 -:10C840009091C00095FFFCCF9AE09093C60085FFC1 -:10C8500020C0A0917B13B0E0AA0FBB1FA45EBD4F08 -:10C86000ED91FC91EA5CFE4F0190F081E02D849106 -:10C87000882341F09091C00095FFFCCF8093C600C3 -:10C880003196F5CF8091C00085FFFCCF8AE0809380 -:10C89000C60014BEF9018491E1E9F2E5882349F06C -:10C8A0009091C00095FFFCCF8093C6003196849193 -:10C8B000F5CFA0917B13B0E0AA0FBB1FA45EBD4FC4 -:10C8C000ED91FC91E65CFE4F0190F081E02D8491AA -:10C8D000882341F09091C00095FFFCCF8093C60063 -:10C8E0003196F5CFE3E3F2E58491882341F090910E -:10C8F000C00095FFFCCF8093C6003196F5CFA09184 -:10C900007B13B0E0AA0FBB1FA45EBD4FED91FC915D -:10C91000E85CFE4F0190F081E02D4491442341F00A -:10C920005091C00055FFFCCF4093C6003196F5CF23 -:10C93000ECE1F2E58491882341F09091C00095FFED -:10C94000FCCF8093C6003196F5CF8091C00085FF63 -:10C95000FCCF8AE08093C600E1E1F2E58491882370 -:10C9600041F09091C00095FFFCCF8093C6003196B6 -:10C97000F5CFE5E0F2E58491882341F09091C00085 -:10C9800095FFFCCF8093C6003196F5CF8091C00013 -:10C9900085FFFCCF8AE08093C600F9012491E1E98C -:10C9A000F2E5222349F08091C00085FFFCCF20935F -:10C9B000C60031962491F5CFE0917B13F0E0EE0FA5 -:10C9C000FF1FE45EFD4F0190F081E02DE45CFE4F1F -:10C9D0000190F081E02D8491882341F09091C00076 -:10C9E00095FFFCCF8093C6003196F5CF0E9438DDCD -:10C9F0004AE050E0BC018BEF96E10E9470D0E091DC -:10CA00007B13F0E0EE0FFF1FE45EFD4F0190F0811D -:10CA1000E02DE25CFE4F0190F081E02D84918823AF -:10CA200041F09091C00095FFFCCF8093C6003196F5 -:10CA3000F5CF4AE050E060ED74E08BEF96E10E94A4 -:10CA400070D08091C00085FFFCCF8AE08093C60043 -:10CA500010928311109284111092851110928611F8 -:10CA60000E9477CD0E9449C90E94B53F0E9407E10C -:10CA70000E9426DC0E9498A3489913C0FFEF23ED83 -:10CA800080E3F15020408040E1F700C00000489969 -:10CA900011C06A9A729A0E9409A1489BFECF7298AF -:10CAA00008959FEFE3EDF0E39150E040F040E1F7AF -:10CAB00000C000000895809177119091781160E096 -:10CAC00070E001960C9441FD80917711909178115E -:10CAD0004AE050E060E070E001960C94A9FE682FF7 -:10CAE000772767FD7095209181113091821140E682 -:10CAF000429FC001439F900D112489579E4E0F9471 -:10CB00007600909378118093771121E0892B09F4B6 -:10CB100020E0822F08950E942CF06093731170938F -:10CB20007411809375119093761108950E942CF0E2 -:10CB300060937311709374118093751190937611B3 -:10CB4000E0918111F0918211ED57FE4E80818111AB -:10CB500021C0E0917B13F0E0EE0FFF1FE45EFD4F7C -:10CB60000190F081E02DE05CFE4F0190F081E02D1E -:10CB70008491882341F09091C00095FFFCCF809371 -:10CB8000C6003196F5CF8091C00085FFFCCF8AE0CA -:10CB90008093C60008958BEF96E10E94A6CFE091A6 -:10CBA0007B13F0E0EE0FFF1FE45EFD4F0190F0817C -:10CBB000E02DE059FE4F0190F081E02D8491882313 -:10CBC00041F09091C00095FFFCCF8093C600319654 -:10CBD000F5CF40910C1350910D1360910E1370918D -:10CBE0000F134F5F5F4F6F4F7F4F2AE030E08BEFA7 -:10CBF00096E10E9445D08091C00085FFFCCF8AE07D -:10CC00008093C60093CF8F929F92AF92BF92CF92A4 -:10CC1000DF92EF92FF920F931F93CF93DF93B7E0D2 -:10CC2000EB2EBEE0FB2E0DE513E1C8E2D3E184E874 -:10CC3000C82E83E1D82EF70181917F0150DF882330 -:10CC400011F139DF4B015C01F6018081811103C0D4 -:10CC50006091071301C061E070E080E090E00E9405 -:10CC600081F7F80120813181428153810E94B4F91A -:10CC70009B01AC01C501B4010E9406F6688379836B -:10CC80008A839B8309C0F80180819181A281B3814D -:10CC900088839983AA83BB830C5F1F4F2496FFEF81 -:10CCA000CF1ADF0A8BE0E8168EE0F80621F686E45C -:10CCB00016DF8823D1F0FFDE6B017C01609318132F -:10CCC0007093191380931A1390931B1320E030E094 -:10CCD000A9010E94E2F8181644F4C0920D0CD092FB -:10CCE0000E0CE0920F0CF092100CDF91CF911F917F -:10CCF0000F91FF90EF90DF90CF90BF90AF909F90FB -:10CD00008F90089580DF89E4EADE882351F0D3DE36 -:10CD100060931C1370931D1380931E1390931F1325 -:10CD200008C010921C1310921D1310921E13109223 -:10CD30001F138AE4D4DE882351F0BDDE60932013F4 -:10CD400070932113809322139093231308951092CC -:10CD5000201310922113109222131092231308957E -:10CD6000CF92DF92EF92FF92CF93DF93EC01C090CE -:10CD70002F0CD090300CE090310CF090320CA701C9 -:10CD80009601688179818A819B810E94DFF687FF05 -:10CD900004C0C882D982EA82FB82C090330CD09052 -:10CDA000340CE090350CF090360CA70196016C81A4 -:10CDB0007D818E819F810E94DFF687FF04C0CC8237 -:10CDC000DD82EE82FF8220E030E0A9016091370C25 -:10CDD0007091380C8091390C90913A0C0E9406F6B3 -:10CDE0006B017C019B01AC01688579858A859B85F7 -:10CDF0000E94DFF687FF04C0C886D986EA86FB86D4 -:10CE0000C090230CD090240CE090250CF090260CC0 -:10CE1000A7019601688179818A819B810E94E2F84D -:10CE2000181624F4C882D982EA82FB82C090270CAB -:10CE3000D090280CE090290CF0902A0CA7019601C4 -:10CE40006C817D818E819F810E94E2F8181624F406 -:10CE5000CC82DD82EE82FF82C0902B0CD0902C0C15 -:10CE6000E0902D0CF0902E0CA70196016885798535 -:10CE70008A859B850E94E2F8181624F4C886D98614 -:10CE8000EA86FB86DF91CF91FF90EF90DF90CF9005 -:10CE90000895CF92DF92EF92FF920F931F9388E253 -:10CEA00093E15EDF0E942CF0609373117093741114 -:10CEB0008093751190937611209128133091291346 -:10CEC00040912A1350912B1360915D1370915E1362 -:10CED00080915F13909160130E94DFF6811179C0F9 -:10CEE00020912C1330912D1340912E1350912F131C -:10CEF0006091611370916213809163139091641338 -:10CF00000E94DFF6811165C020E030E040E752E486 -:10CF100060910D0C70910E0C80910F0C9091100C83 -:10CF20000E94E6F629E4C22E23E1D22E7B018C0179 -:10CF300024E333E140E353E16CE273E188E293E1FF -:10CF40000E9457E18091281390912913A0912A13F0 -:10CF5000B0912B1380935D1390935E13A0935F1396 -:10CF6000B093601380912C1390912D13A0912E13E8 -:10CF7000B0912F138093611390936213A093631366 -:10CF8000B09364138091301390913113A0913213B8 -:10CF9000B09133138093651390936613A093671336 -:10CFA000B09368138091341390913513A091361388 -:10CFB000B09137138093691390936A13A0936B1306 -:10CFC000B0936C131F910F91FF90EF90DF90CF9073 -:10CFD00008956091490C70914A0C882777FD8095DF -:10CFE000982F0E9481F720910D0C30910E0C4091EA -:10CFF0000F0C5091100C0E94B4F920E030E040E793 -:10D0000052E40E94E6F620E030E048EC52E488CF9B -:10D01000CF92DF92EF92FF92CF93C62FE091491308 -:10D02000F0E0882309F4C2C0DF01AB5BBC4E8C91F9 -:10D03000811196C180915D1390915E13A0915F1351 -:10D04000B09160138093281390932913A0932A130F -:10D05000B0932B138091611390916213A09163138D -:10D06000B091641380932C1390932D13A0932E13DF -:10D07000B0932F138091651390916613A09167135D -:10D08000B09168138093301390933113A0933213AF -:10D09000B0933313C0906913D0906A13E0906B1370 -:10D0A000F0906C13C0923413D0923513E092361383 -:10D0B000F0923713EE0FFF1FEE0FFF1FE55CF34FEB -:10D0C0002081318142815381662349F060911B0C9C -:10D0D00070911C0C80911D0C90911E0C08C06091E9 -:10D0E0001F0C7091200C8091210C9091220C0E94B9 -:10D0F000E6F69B01AC01C701B6010E9406F66093FB -:10D10000691370936A1380936B1390936C1389E681 -:10D1100093E10E94DEEBC0900D0CD0900E0CE090DD -:10D120000F0CF090100C20E030E040E752E46091EA -:10D13000170C7091180C8091190C90911A0C0E9488 -:10D14000B4F960930D0C70930E0C80930F0C9093B8 -:10D15000100CE0914913F0E0EB5BFC4E81E0808322 -:10D1600098DE209141133091421340914313509126 -:10D1700044136091651370916613809167139091C9 -:10D1800068130E9405F6609365137093661380938D -:10D1900067139093681329E633E145E653E161E6AE -:10D1A00073E18DE593E10E9439EBD1C0EB5BFC4E5E -:10D1B0008081882309F4D4C080915D1390915E131F -:10D1C000A0915F13B091601380932813909329135B -:10D1D000A0932A13B0932B13809161139091621343 -:10D1E000A0916313B091641380932C1390932D132B -:10D1F000A0932E13B0932F13609165137091661353 -:10D20000809167139091681360933013709331137A -:10D210008093321390933313C0906913D0906A13A4 -:10D22000E0906B13F0906C13C0923413D0923513CE -:10D23000E0923613F092371320914113309142134C -:10D2400040914313509144130E9406F66093651376 -:10D2500070936613809367139093681329E633E104 -:10D2600045E653E161E673E18DE593E10E9439EB18 -:10D27000F0904913CC2389F02091391330913A135F -:10D2800040913B1350913C1360911B0C70911C0C0E -:10D2900080911D0C90911E0C10C020913D13309177 -:10D2A0003E1340913F135091401360911F0C7091B9 -:10D2B000200C8091210C9091220C0E9406F624E013 -:10D2C000F29EF0011124E55CF34F2081318142810F -:10D2D00053810E94E6F69B01AC0160916913709145 -:10D2E0006A1380916B1390916C130E9405F6609302 -:10D2F000691370936A1380936B1390936C1389E690 -:10D3000093E10E94DEEBC0900D0CD0900E0CE090EB -:10D310000F0CF090100C20E030E040E752E46091F8 -:10D32000130C7091140C8091150C9091160C0E94A6 -:10D33000B4F960930D0C70930E0C80930F0C9093C6 -:10D34000100CE0914913F0E0EB5BFC4E1082A1DD84 -:10D35000C0920D0CD0920E0CE0920F0CF092100CBB -:10D36000CF91FF90EF90DF90CF900895AF92BF9252 -:10D37000CF92DF92EF92FF920F931F93CF93DF93A1 -:10D38000D82F2091201330912113409122135091D6 -:10D39000231360911C1370911D1380911E139091A3 -:10D3A0001F130E94EFF8C62F172F082FF92E609138 -:10D3B000490C70914A0C882777FD8095982F0E9420 -:10D3C00081F720910D0C30910E0C40910F0C509173 -:10D3D000100C0E94B4F920E030E040E752E40E94D3 -:10D3E000E6F620E030E048EC52E40E94E6F62091B8 -:10D3F00049132F93DF93FF920F931F93CF935B01FA -:10D400006C0142E0E42E01E020E04CE153E168E2EF -:10D4100073E18DE593E10E94994D809128139091DD -:10D420002913A0912A13B0912B1380935D1390932D -:10D430005E13A0935F13B093601380912C139091AF -:10D440002D13A0912E13B0912F13809361139093FD -:10D450006213A0936313B09364138091301390917F -:10D460003113A0913213B0913313809365139093CD -:10D470006613A0936713B09368138091341390914F -:10D480003513A0913613B09137138093691390939D -:10D490006A13A0936B13B0936C130E942CF06093EB -:10D4A00073117093741180937511909376110F908E -:10D4B0000F900F900F900F900F90DF91CF911F91D1 -:10D4C0000F91FF90EF90DF90CF90BF90AF900895B5 -:10D4D000F8940E945840179A10924E13169A109280 -:10D4E0004F13159A10925013149A60E087E40E942B -:10D4F0004CEFE7E9F2E58491882341F09091C00078 -:10D5000095FFFCCF8093C6003196F5CFE0917B1359 -:10D51000F0E0EE0FFF1FE45EFD4F0190F081E02D83 -:10D52000E459FE4F0190F081E02D8491882341F071 -:10D530009091C00095FFFCCF8093C6003196F5CF47 -:10D540008091C00085FFFCCF8AE08093C600E09107 -:10D550007B13F0E0EE0FFF1FE45EFD4F0190F081C2 -:10D56000E02DE653FF4F808191810E9435A378948E -:10D57000C6E0D0E02197209749F068EC70E080E0A9 -:10D5800090E00E945BF00E94C4A3F4CFF894FFCF18 -:10D590000E94584080916111811151C081E08093B7 -:10D5A000611180910C1390910D13A0910E13B09105 -:10D5B0000F138093081390930913A0930A13B09349 -:10D5C0000B13E7E9F2E58491882341F09091C000C4 -:10D5D00095FFFCCF8093C6003196F5CFE0917B1389 -:10D5E000F0E0EE0FFF1FE45EFD4F0190F081E02DB3 -:10D5F000E259FE4F0190F081E02D8491882341F0A3 -:10D600009091C00095FFFCCF8093C6003196F5CF76 -:10D610008091C00085FFFCCF8AE08093C600E09136 -:10D620007B13F0E0EE0FFF1FE45EFD4F0190F081F1 -:10D63000E02DE453FF4F808191810C943BA108952C -:10D64000809161110895CF93DF93EC01809149138C -:10D650008093621184E543DA811102C080E0B7C093 -:10D660002ADA0E9453F7609362116623B9F3E1E965 -:10D67000F2E58491882341F09091C00095FFFCCFA2 -:10D680008093C6003196F5CFCD36D10509F454C04C -:10D69000BCF4C836D10561F1C936D10509F087C09F -:10D6A000E0917B13F0E0EE0FFF1FE45EFD4F019071 -:10D6B000F081E02DEC5AFE4F0190F081E02D38C052 -:10D6C000CA3DD10509F451C0CD3DD10509F06FC067 -:10D6D000E0917B13F0E0EE0FFF1FE45EFD4F019041 -:10D6E000F081E02DE65AFE4F0190F081E02D5CC004 -:10D6F000E0917B13F0E0EE0FFF1FE45EFD4F019021 -:10D70000F081E02DEE5AFE4F0190F081E02D8191E5 -:10D71000882309F44CC09091C00095FFFCCF809302 -:10D72000C600F5CF9091C00095FFFCCF8093C60056 -:10D7300081918111F7CF3BC0E0917B13F0E0EE0FB8 -:10D74000FF1FE45EFD4F0190F081E02DE25AFE4F95 -:10D750000190F081E02D8191882349F19091C000E2 -:10D7600095FFFCCF8093C600F6CFE0917B13F0E0ED -:10D77000EE0FFF1FE45EFD4F0190F081E02DE85AAF -:10D78000FE4F0190F081E02D8191882381F09091EE -:10D79000C00095FFFCCF8093C600F6CF9091C000EB -:10D7A00095FFFCCF8093C60081918111F7CF40E0B7 -:10D7B00050E0609162118BEF96E10E94A7D08091BA -:10D7C000C00085FFFCCF8AE08093C60081E0DF9136 -:10D7D000CF9108954F925F926F927F928F929F9216 -:10D7E000AF92BF92CF92DF92EF92FF92CF93DF93EF -:10D7F00000D01F92CDB7DEB72B013C0129833A83BD -:10D800004B835C838DEE9FE00F94CA028F3F01F53E -:10D810008EEE9FE00F94CA028F3FD1F48FEE9FE00F -:10D820000F94CA028F3FA1F480EF9FE00F94CA02C9 -:10D830008F3F71F440E050E0BA018DEE9FE00F940D -:10D84000D70240E050E0BA0181EF9FE00F94D70289 -:10D8500081EF9FE00F94D2024B015C018DEE9FE0BF -:10D860000F94D2026B017C0169817A818B819C814A -:10D870002CE330E040E050E00E94BDFAC20ED31E1F -:10D88000E41EF51EB701A6018DEE9FE00F94D702AE -:10D89000C301B20128EE33E040E050E00E94BDFA3F -:10D8A000BA01A901480D591D6A1D7B1D81EF9FE03A -:10D8B0000F94D70210927713109278131092791365 -:10D8C00010927A130F900F900F900F90DF91CF91DD -:10D8D000FF90EF90DF90CF90BF90AF909F908F9090 -:10D8E0007F906F905F904F9008952F923F924F924C -:10D8F0005F926F927F928F929F92AF92BF92CF92E0 -:10D90000DF92EF92FF920F931F93CF93DF93CDB7E8 -:10D91000DEB76E970FB6F894DEBF0FBECDBF80E6C0 -:10D92000B82E94E0E92EF12C2AE0922E3AE0C32E94 -:10D93000D12CAA24A39480917C1790917D172091DB -:10D940007E1730917F17821B930B8F779927892B36 -:10D9500039F080917D1190917E1104970CF448C0AC -:10D9600080919013882309F4E7C380917A119091F4 -:10D970007B11892B09F0E0C380917D1190917E117C -:10D98000892B11F410925F1148EE242E43E0342EBF -:10D99000412C512C5CE3852E912CA12CB12C8E01B5 -:10D9A0000F5F1F4F30E6632E7724739440912B1640 -:10D9B00050912C1660912D1670912E168091231681 -:10D9C00090912416A0912516B09126164817590754 -:10D9D0006A077B0708F0B0C380917D1190917E119A -:10D9E00004970CF0A9C380915F118111A5C36FC288 -:10D9F0008BEF96E10E948ACF80937C1120917A115F -:10DA000030917B118A3061F08D3051F08A3321F4EE -:10DA100090917911992321F02F3531050CF450C1E3 -:10DA20002115310509F46AC180917F11909180110F -:10DA3000B89E3001B99E700C1124F301E20FF31F60 -:10DA4000E957FE4E108220917911211134C11092B4 -:10DA50007911FC01ED57FE4E1082830109571E4ECD -:10DA60006EE470E0C8010F9476000097F1F1909396 -:10DA7000781180937711801B910B860D971D4AE0DA -:10DA800050E060E070E088579E4E0E94A9FE6093CF -:10DA900010137093111380931213909313134090EB -:10DAA0000C1350900D1360900E1370900F132FEF06 -:10DAB000421A520A620A720A00917F111091801173 -:10DAC000641575058605970509F41BC1B09EC00154 -:10DAD000B19E900D11246CEF71E589579E4E0F9405 -:10DAE0002100892B09F00DC1B8C16AE270E0C801BC -:10DAF0000F947600892B09F451C0E7E9F2E584918F -:10DB0000882341F09091C00095FFFCCF8093C60020 -:10DB10003196F5CFE0917B13F0E0EE0FFF1FE45E4E -:10DB2000FD4F0190F081E02DE65BFE4F0190F0810A -:10DB3000E02D8491882341F09091C00095FFFCCFA7 -:10DB40008093C6003196F5CF40910C1350910D1380 -:10DB500060910E1370910F132AE030E08BEF96E185 -:10DB60000E9445D08091C00085FFFCCF8AE0809361 -:10DB7000C60010927B1110927A11DEC280911013B0 -:10DB800090911113A0911213B091131380930C1361 -:10DB900090930D13A0930E13B0930F1360907F1109 -:10DBA00070908011B69C8001B79C100D112409570C -:10DBB0001E4E67E470E0C8010F947600009709F4E8 -:10DBC00056C0909378118093771120919013211172 -:10DBD00006C0D0927F13C0927E13A0928113801B47 -:10DBE000910BB69C9001B79C300D1124820F931FAE -:10DBF00060E070E088579E4E0E9441FD0E944EF703 -:10DC000064307105A0F580916111882381F1E09164 -:10DC10007B13F0E0EE0FFF1FE45EFD4F0190F081FB -:10DC2000E02DE259FE4F0190F081E02D8491882390 -:10DC300041F09091C00095FFFCCF8093C6003196D3 -:10DC4000F5CF8091C00085FFFCCF9092C600E09197 -:10DC50007B13F0E0EE0FFF1FE45EFD4F0190F081BB -:10DC6000E02DE453FF4F808191810E943BA1009100 -:10DC70007F1110918011B09EC001B19E900D1124B2 -:10DC80006DE87DE089579E4E0F948100892B09F441 -:10DC90001FDCC8010196B7010E94AAFA9093801177 -:10DCA00080937F1180917D1190917E1101969093C8 -:10DCB0007E1180937D1110927B1110927A113BCED0 -:10DCC0008B3311F4A092791190917911911133CE87 -:10DCD00040917F1150918011B9016F5F7F4F709318 -:10DCE0007B1160937A11B49EF001B59EF00D112462 -:10DCF000E20FF31FE957FE4E80831DCE109279117B -:10DD00001BC2B09E3001B19E700C1124C301895713 -:10DD10009E4E1C016AE270E00F947600009709F0B5 -:10DD20003FC0E7E9F2E58491882341F09091C0007B -:10DD300095FFFCCF8093C6003196F5CFE0917B1321 -:10DD4000F0E0EE0FFF1FE45EFD4F0190F081E02D4B -:10DD5000E85BFE4F0190F081E02D8491882341F033 -:10DD60009091C00095FFFCCF8093C6003196F5CF0F -:10DD700040910C1350910D1360910E1370910F137D -:10DD80002AE030E08BEF96E10E9445D08091C00000 -:10DD900085FFFCCF8AE08093C6000E94CB65E9CE68 -:10DDA00020E010E0F301E20FF11DE957FE4E308153 -:10DDB0003A3219F02F5F1327F5CF909378118093A3 -:10DDC000771182199309860D971D60E070E08857DE -:10DDD0009E4E0E9441FD0E944EF7212F30E02617F3 -:10DDE000370709F4CBCEE7E9F2E58491882341F0C7 -:10DDF0009091C00095FFFCCF8093C6003196F5CF7F -:10DE0000E0917B13F0E0EE0FFF1FE45EFD4F019009 -:10DE1000F081E02DEA5BFE4F0190F081E02D8491CE -:10DE2000882341F09091C00095FFFCCF8093C600FD -:10DE30003196F5CF40910C1350910D1360910E1354 -:10DE400070910F132AE030E08BEF96E10E9445D0ED -:10DE50008091C00085FFFCCF9DCFE7E9F2E584917A -:10DE6000882341F09091C00095FFFCCF8093C600BD -:10DE70003196F5CFE0917B13F0E0EE0FFF1FE45EEB -:10DE8000FD4F0190F081E02DEC5BFE4F0190F081A1 -:10DE9000E02D8491882341F09091C00095FFFCCF44 -:10DEA0008093C6003196F5CF40910C1350910D131D -:10DEB00060910E1370910F132AE030E08BEF96E122 -:10DEC0000E9445D08091C00085FFFCCF63CF809138 -:10DED0007E1590917F15A0918015B091811580934A -:10DEE0002B1690932C16A0932D16B0932E1686E722 -:10DEF00095E10E942333482F80937C118A30B9F03A -:10DF00004D30A9F0433229F420917911222379F080 -:10DF100002C04A33C9F320917A1130917B112F3519 -:10DF200031052CF48F3F5FEF950709F0E7C0409172 -:10DF30002B1650912C1660912D1670912E168091F3 -:10DF4000231690912416A0912516B09126164817F5 -:10DF500059076A077B0708F497C0E0917B13F0E04C -:10DF6000EE0FFF1FE45EFD4F0190F081E02DE45BBA -:10DF7000FE4F0190F081E02D8491882341F0909133 -:10DF8000C00095FFFCCF8093C6003196F5CF8091FD -:10DF9000C00085FFFCCF8AE08093C6000E942CF071 -:10DFA00060936711709368118093691190936A115F -:10DFB000C0906B11D0906C11E0906D11F0906E11CB -:10DFC0006C197D098E099F09A20191010E94BDFA79 -:10DFD00069017A01609177137091781380917913B8 -:10DFE00090917A13F7DBC701B601A50194010E9455 -:10DFF000BDFACA01B901A50194010E94BDFA7F933F -:10E000006F93C701B60120E13EE040E050E00E947E -:10E01000BDFA3F932F93A8EEB1E5BF93AF931F9343 -:10E020000F930F94AE00E1E9F2E584910FB6F894F6 -:10E03000DEBF0FBECDBF882349F09091C00095FF91 -:10E04000FCCF8093C60031968491F5CFF801819181 -:10E05000882339F09091C00095FFFCCF8093C600D3 -:10E06000F6CF8091C00085FFFCCF3AE03093C60028 -:10E07000C8010E942EA18EE893E10E940B5E61E030 -:10E080008EE893E10E94CE5780917C11833211F487 -:10E0900070925F1120917A1130917B112115310519 -:10E0A00009F42CCE80917F1190918011689EF0012F -:10E0B000699EF00D1124E20FF31FE957FE4E108206 -:10E0C000FC01ED57FE4E708220917D1130917E1142 -:10E0D0002F5F3F4F30937E1120937D11019664E0B6 -:10E0E00070E00E94AAFA9093801180937F111092A1 -:10E0F000791110927B1110927A1158CC4B3311F494 -:10E10000709279114091791141114CCC40917F115D -:10E1100050918011B9016F5F7F4F70937B116093B5 -:10E120007A11649EF001659EF00D1124E20FF31F39 -:10E13000E957FE4E80833ACC6E960FB6F894DEBF58 -:10E140000FBECDBFDF91CF911F910F91FF90EF9048 -:10E15000DF90CF90BF90AF909F908F907F906F9007 -:10E160005F904F903F902F900895CF92DF92EF9263 -:10E17000FF920F931F93CF93C82F80917D119091A1 -:10E180007E1103970CF4B1DB0E942CF000916F110B -:10E19000109170112091711130917211C090731112 -:10E1A000D0907411E0907511F09076116C197D0982 -:10E1B0008E099F09061717072807390728F4012B2E -:10E1C000022B032B09F084D94091090C50910A0CC1 -:10E1D00060910B0C70910C0C452B462B472B19F1C1 -:10E1E0000E942CF0009173111091741120917511FF -:10E1F00030917611601B710B820B930B0091090C0F -:10E2000010910A0C20910B0C30910C0C061717077B -:10E210002807390740F49091CD178091CC179813B7 -:10E2200002C0CC2349F0CF911F910F91FF90EF9046 -:10E23000DF90CF900C943BE1179A10924E13169AF0 -:10E2400010924F13159A10925013149AECCFCF924C -:10E25000DF92EF92FF9220916D132223F1F020E0E4 -:10E2600030E040E05FE30E94B4F96B017C0120E004 -:10E2700030E0A9010E94DFF6882379F0A70196011A -:10E28000C701B6010E94B4F92BED3FE049E450E428 -:10E290000E94B4F99B01AC0104C020E030E040E8EA -:10E2A0005FE360E070E080E89FE30E94E6F6FF90A5 -:10E2B000EF90DF90CF90089560913F0C7091400CEB -:10E2C0008091410C9091420CC2DF60933B0C7093A3 -:10E2D0003C0C80933D0C90933E0C08953F924F92DE -:10E2E0005F926F927F928F929F92AF92BF92CF92E6 -:10E2F000DF92EF92FF920F931F93CF93DF93CDB7EF -:10E30000DEB7E9970FB6F894DEBF0FBECDBF81E44C -:10E310000E946F65882309F455C082E70E946F65EB -:10E320008823A9F0E2E9FDE08191882339F09091FA -:10E33000C00095FFFCCF8093C600F6CF8091C0004F -:10E3400085FFFCCF8AE08093C6000C94C18986E7E4 -:10E350000E946F658823A9F0E8E9FDE08191882398 -:10E3600039F09091C00095FFFCCF8093C600F6CFA6 -:10E370008091C00085FFFCCF8AE08093C6000C949A -:10E38000C18987E60E946F65882321F00E9409A158 -:10E390000C94C1898AE70E946F65882341F060E090 -:10E3A00070E088EF9FE00E94799C0C94C1898CE614 -:10E3B0000E946F65882311F40C94C1890E94A09C6F -:10E3C0000C94C18987E40E946F65882309F4EAC12F -:10E3D0000E945B650E944EF76A30710509F4F1C036 -:10E3E0009CF46230710509F480C024F477FF25C0E5 -:10E3F0000C94C1896330710509F483C064307105E0 -:10E4000009F48BC00C94C1896A35710509F476C191 -:10E4100054F46B30710509F4DAC06C31710509F4FC -:10E42000DCC00C94C1896B35710509F46BC16C3586 -:10E43000710509F46CC10C94C1898091611181113D -:10E440000C94C1890E9403666091771370917813D0 -:10E450008091791390917A130E947FF76B017C0170 -:10E460002091691330916A1340916B1350916C1392 -:10E470006091341370913513809136139091371356 -:10E480000E9405F620E030E048EC52E40E94B4F926 -:10E490009B01AC01C701B6010E9406F60E9453F72A -:10E4A00060937713709378138093791390937A1312 -:10E4B000809146138823A9F088E50E946F65811139 -:10E4C00010C089E50E946F6581110BC08AE50E942A -:10E4D0006F65811106C085E40E946F6581110C94FF -:10E4E000C4890E9449670C94C1898091611181118E -:10E4F0000C94C1890E94826681E00E94B6690C94E6 -:10E50000C1898091611181110C94C1890E94826638 -:10E5100080E00E94B6690C94C189E0917B13F0E021 -:10E52000EE0FFF1FE45EFD4F0190F081E02DE054FF -:10E53000FF4F808191810E943BA180E50E946F6521 -:10E54000882339F00E945B650E9453F74B015C0100 -:10E5500003C0812C912C540183E50E946F658823B0 -:10E5600061F00E945B6520E030E04AE754E40E94DD -:10E57000B4F90E9453F74B015C010E94C4D90E9478 -:10E580002CF06B017C01C80CD91CEA1CFB1C0E94FE -:10E590002CF06093731170937411809375119093A4 -:10E5A00076110E942CF06C157D058E059F0510F0EC -:10E5B0000C94C1890E94094680E0D7DD0E94C4A363 -:10E5C000F0CF60E081E00E9408680C94C18960E0AF -:10E5D00080E00E9408680C94C18910928013809199 -:10E5E0000D0C90910E0CA0910F0CB091100C80931B -:10E5F000141390931513A0931613B09317138091CF -:10E60000490C90914A0C909383138093821384E673 -:10E6100090E090934A0C8093490C0E942CF06093F8 -:10E62000731170937411809375119093761181E03A -:10E630000E9444D280915D1390915E13A0915F136C -:10E64000B09160138093281390932913A0932A13F9 -:10E65000B0932B138091611390916213A091631377 -:10E66000B091641380932C1390932D13A0932E13C9 -:10E67000B0932F138091651390916613A091671347 -:10E68000B09168138093301390933113A093321399 -:10E69000B09333138091691390916A13A0916B1317 -:10E6A000B0916C138093341390933513A093361369 -:10E6B000B093371310920D0C10920E0C10920F0C99 -:10E6C0001092100C88E50E946F65882311F090E08D -:10E6D0000AC089E50E946F658111F9CF8AE50E9421 -:10E6E0006F6591E098279093110C992311F40C9485 -:10E6F000F38981E0809380130C94AD8A1092071304 -:10E700000C94C18981E0809307130C94C18985E43E -:10E710000E946F65811102C00E94C4D907E0C02E1B -:10E720000EE0D02E81E5E82E83E1F82E0DE513E111 -:10E73000B12CF60181916F010E946F65882339F138 -:10E74000F3E0BF120CC00E945B65F8016083718327 -:10E750008283938389E693E10E94DEEB18C00E94D6 -:10E760005B65F70120813181428153810E9406F669 -:10E77000F801608371838283938329E633E145E660 -:10E7800053E161E673E18DE593E10E9439EBB394C7 -:10E79000F4E0EF0EF11C0C5F1F4F24E0B212C9CF62 -:10E7A0000C94C1898DE40E946F65882311F40C9448 -:10E7B000C8880E945B650E944EF76537710511F4A9 -:10E7C0000C94E37C0CF0D0C06032710509F44EC3A8 -:10E7D0000CF071C06731710509F4A3C20CF044C09C -:10E7E0006231710511F40C94077C1CF577FF02C0AF -:10E7F0000C94C189623071050CF498C161317105C6 -:10E8000011F00C94C189E0917B13F0E0EE0FFF1F33 -:10E81000E45EFD4F0190F081E02DE853FF4F8081D1 -:10E8200091810E943BA117981698159814980C9402 -:10E83000C1896531710509F468C20CF06CC264319C -:10E84000710511F00C94C189E0917B13F0E0EE0F9B -:10E85000FF1FE45EFD4F0190F081E02DE25BFE4F73 -:10E860000190F081E02D20C26B31710509F485C261 -:10E87000B4F46931710509F46CC20CF070C28EE811 -:10E8800093E10E94B6540E942CF060936B11709338 -:10E890006C1180936D1190936E110C94C1896E313F -:10E8A000710509F4A5C20CF07DC36C31710509F442 -:10E8B0006AC20C94C1896C35710509F4F6C7ECF491 -:10E8C0006235710509F49AC764F46035710509F47D -:10E8D0004DC70CF062C76A32710509F4C1C30C94CC -:10E8E000C1896435710509F492C70CF48BC765358D -:10E8F000710509F4BFC70C94C1896B36710509F421 -:10E900002FC764F46936710509F422C40CF0F8C607 -:10E910006836710509F4EBC30C94C1896037710541 -:10E9200009F403C434F46D36710509F41EC50C9462 -:10E93000C1896237710511F40C94F77C6337710556 -:10E9400011F00C94C189E0917B13F0E0EE0FFF1FF2 -:10E95000E45EFD4F0190F081E02DE859FE4F0190FB -:10E96000F081E02D0C94DE7C623E710511F40C9474 -:10E9700045820CF05FC06B3C710511F40C948480EF -:10E98000ACF56C38710509F4D2C304F5683771052C -:10E9900011F40C94E47D6937710511F40C94E97D50 -:10E9A0006737710511F00C94C189E0917B13F0E099 -:10E9B000EE0FFF1FE45EFD4F0190F081E02DEC575C -:10E9C000FE4F0190F081E02D0C94F57D683C7105BF -:10E9D00011F40C94E17F693C710511F40C9463808F -:10E9E0006E3B710511F00C94C1895BC56F3C7105DC -:10E9F00011F40C94418154F46D3C710511F40C94A4 -:10EA0000C38014F40C94A1800C942381613D7105A2 -:10EA100011F40C94A08114F40C9478816C3D710570 -:10EA200011F40C9410826D3D710511F40C941F8249 -:10EA30000C94C189653F31E0730711F40C94F283A3 -:10EA400054F56F3291E0790711F40C94B78384F494 -:10EA50006D32F1E07F0711F40C94D68214F00C941F -:10EA6000A9836C32714011F40C94A0820C94C1897A -:10EA70006F3581E0780711F40C946C88603991E06F -:10EA8000790711F40C94EF836E35714011F00C94FA -:10EA9000C1890C9435886835F2E07F0711F40C9435 -:10EAA0003A85A4F4673F31E0730711F40C94FA83BC -:10EAB00014F40C94F7836D3F714011F00C94C189EC -:10EAC0000E9409A1E1E9F2E50C9404846B38E3E0CB -:10EAD0007E0711F40C940F883CF46335734011F4F5 -:10EAE0000C9415840C94C189603A33E0730709F4DF -:10EAF00026C2673E734011F00C94C18910926111D7 -:10EB00000E943BA38091081390910913A0910A13CE -:10EB1000B0910B1380930C1390930D13A0930E13CD -:10EB2000B0930F130E94CB650C94C18900917711AB -:10EB3000109178110E5F1F4F80E50E946F6588234A -:10EB400079F00E945B650E9453F76B017C01BB2446 -:10EB5000B394611571058105910531F4B12C04C0A0 -:10EB6000B12CC12CD12C760183E50E946F658823DE -:10EB700099F00E945B6520E030E04AE754E40E948F -:10EB8000B4F90E9453F76B017C01AA24A394611588 -:10EB900071058105910509F4A12C6AE270E0C801B4 -:10EBA0000F947600009711F0FC011082F801CF015C -:10EBB00021912032E1F3B11007C0A11005C022233A -:10EBC00019F00E942EA110C0E0917B13F0E0EE0F2F -:10EBD000FF1FE45EFD4F0190F081E02DEE53FF4FEB -:10EBE000808191810E943BA181E00E940EA10E9440 -:10EBF000C4D90E942CF060937311709374118093A8 -:10EC0000751190937611C114D104E104F104A9F0B7 -:10EC10000E942CF04B015C018C0C9D1CAE1CBF1C97 -:10EC20000E942CF0681579058A059B05B8F40E94AE -:10EC3000ACA4811113C00C94BC8A0E94AAA488239E -:10EC400011F40C94C1890E94ACA481110AC00E94E5 -:10EC5000094680E08ADA0E94C4A3F5CF80E00E94D2 -:10EC60000EA180919013E0917B13F0E0EE0FFF1F57 -:10EC7000E45EFD4F0190F081E02D882341F0EC53DC -:10EC8000FF4F808191810E943BA10C94C1898081BA -:10EC900091810E943BA10C94C1899091C00095FF85 -:10ECA000FCCF8093C600319684918111F6CF80917C -:10ECB000C00085FFFCCF8AE08093C6008EE893E118 -:10ECC0000E945E53E0917B13F0E0EE0FFF1FE45EC5 -:10ECD000FD4F0190F081E02DE05BFE4F0190F0814F -:10ECE000E02D8491882341F09091C00095FFFCCFE6 -:10ECF0008093C6003196F5CF8091C00085FFFCCF90 -:10ED00008AE08093C6000C94C1898EE893E10E944A -:10ED1000B3530C94C1898EE893E10E94B2540C94D1 -:10ED2000C18900917711109178110C5F1F4F6AE231 -:10ED300070E0C8010F947600009711F0FC0110827A -:10ED400021E041E0B8018EE893E10E9434590C942F -:10ED5000C1898EE893E10E94BD540C94C1898091D1 -:10ED60009113882311F40C94C18983E50E946F6587 -:10ED700081110C94C58A0C94C1898EE893E10E949C -:10ED800061560C94C18980917711909178116AE253 -:10ED900070E004960F9476008C010097D9F02091D2 -:10EDA00081113091821140E6429FC001439F900D36 -:10EDB00011246EE470E089579E4E0F94760060E255 -:10EDC00070E00F94760001969093781180937711FC -:10EDD000F801108260917711709178116C5F7F4F0C -:10EDE00021E040E08EE893E10E9434590C94C189FF -:10EDF00080919113882311F40C94C18960E08EE80E -:10EE000093E10E94C45880917711909178116AE241 -:10EE100070E004960F9476008C010097D9F0209151 -:10EE200081113091821140E6429FC001439F900DB5 -:10EE300011246EE470E089579E4E0F94760060E2D4 -:10EE400070E00F947600019690937811809377117B -:10EE5000F801108260917711709178116C5F7F4F8B -:10EE60008EE893E10E9421550C94C1898091901302 -:10EE700081110E94C4D900917711109178110C5F13 -:10EE80001F4F6AE270E0C8010F9476007C0161E2D6 -:10EE900070E0C8010F947600009719F08C010F5FA5 -:10EEA0001F4FE114F10411F0F701108280E50E9478 -:10EEB0006F65F82E209177113091781102171307A2 -:10EEC00008F4F12C80919113882311F40C94C189DA -:10EED00021E02F2541E0B8018EE893E10E943459EA -:10EEE00083E50E946F658823B9F0209177113091F6 -:10EEF00078112017310780F40E946465AB01BC01D2 -:10EF000040932B1650932C1660932D1670932E164B -:10EF100086E795E10E94EC338EE893E10E94B654B7 -:10EF2000F1100C94C1890E942CF060936B117093C6 -:10EF30006C1180936D1190936E110C94C189809126 -:10EF40007711909178116AE270E005960F9476003F -:10EF50008C010097D9F0209181113091821140E607 -:10EF6000429FC001439F900D11246EE470E08957C9 -:10EF70009E4E0F94760060E270E00F94760001964A -:10EF80009093781180937711F80110826091771136 -:10EF9000709178116B5F7F4F8EE893E10E94B95CAE -:10EFA0000C94C1890E942CF06093671170936811D2 -:10EFB0008093691190936A1100916B1110916C11FB -:10EFC00020916D1130916E11601B710B820B930BB0 -:10EFD00028EE33E040E050E00E94BDFACA01B901DA -:10EFE0002CE330E040E050E00E94BDFA7F936F9345 -:10EFF0003F932F9389ED91E59F938F93CE010196D7 -:10F000009F938F930F94AE00E1E9F2E584910FB6E0 -:10F01000F894DEBF0FBECDBF882349F09091C000A9 -:10F0200095FFFCCF8093C60031968491F5CFFE0109 -:10F0300031968191882339F09091C00095FFFCCFE3 -:10F040008093C600F6CF8091C00085FFFCCF8AE098 -:10F050008093C600CE0101960E942EA10C94C18916 -:10F0600083E50E946F65882311F40C94C1890E9486 -:10F070005B650E944EF7F62EE72E862F9E2D8C01A3 -:10F0800080E50E946F65882331F00F3F110509F07C -:10F0900010F40C94D68A0DE010E0EFECFDE08191C5 -:10F0A00091918017910711F40C94C1893EE0E730EB -:10F0B000F307A9F70630110539F48F2D9E2D909393 -:10F0C00048138093471304C017FF02C00C94C189F2 -:10F0D00061E0802F0E944CEF6F2D802F0E9485EF02 -:10F0E0006F2D7E2D802F0E9442EE0C94C18988E600 -:10F0F00090E00E94236B81110C94C18983E50E94EA -:10F100006F65882371F0009162110E945B6510E0C9 -:10F11000000F111F005F1E4E0E944EF7F801718311 -:10F1200060830E9457400C94C1890E94686A83E5FD -:10F130000E946F65882311F40C94C1890E945B655D -:10F140000E944EF770930F1160930E110C94C189B9 -:10F1500089E690E00E94236B81110C94C189E3ED54 -:10F16000F1E58491882341F09091C00095FFFCCF98 -:10F170008093C6003196F5CFE091621124E0E29FC2 -:10F18000F0011124E85FFE4E40815181628173815C -:10F1900021E030E08BEF96E10E9446D1E0EDF1E511 -:10F1A0008491882341F09091C00095FFFCCF80931B -:10F1B000C6003196F5CFE0916211F0E0EE0FFF1F2F -:10F1C000E05FFE4E60817181882777FD8095982FE2 -:10F1D0000E9481F7AB01BC0121E030E08BEF96E1AA -:10F1E0000E9446D1ECECF1E58491882341F09091A6 -:10F1F000C00095FFFCCF8093C6003196F5CF4091BB -:10F20000021150910311609104117091051121E0D8 -:10F2100030E08BEF96E10E9446D1E9ECF1E5849174 -:10F22000882341F09091C00095FFFCCF8093C600E9 -:10F230003196F5CF60910E1170910F11882777FDEF -:10F240008095982F0E9481F7AB01BC0121E030E04E -:10F250008BEF96E10E9446D1E6ECF1E5849188239C -:10F2600041F09091C00095FFFCCF8093C60031968D -:10F27000F5CF4AE050E060E070E08BEF96E10E944D -:10F2800070D0E4ECF1E58491882341F09091C000C6 -:10F2900095FFFCCF8093C6003196F5CF40910811C1 -:10F2A0005091091160910A1170910B1121E030E029 -:10F2B0008BEF96E10E9446D1E1ECF1E58491882341 -:10F2C00041F09091C00095FFFCCF8093C60031962D -:10F2D000F5CF6091101170911111882777FD8095FD -:10F2E000982F0E9481F7AB01BC0121E030E08BEF49 -:10F2F00096E10E9446D1EDEBF1E58491882341F03F -:10F300009091C00095FFFCCF8093C6003196F5CF59 -:10F310008091621190E00E947F3F4AE050E0BC0182 -:10F320008BEF96E10E9470D0E8EBF1E584918823A1 -:10F3300041F09091C00095FFFCCF8093C6003196BC -:10F34000F5CF8FEF9FEF0E947F3F4AE050E0BC0176 -:10F350008BEF96E10E9470D08091C00085FFFCCFBA -:10F360008AE08093C6000C94448C8DE690E00E9465 -:10F37000236B81110C94C189E0917B13F0E0EE0FB7 -:10F38000FF1FE45EFD4F0190F081E02DE05AFE4F3B -:10F39000808191810E943BA181E090E0909376135F -:10F3A0008093751383E50E946F65882391F0009127 -:10F3B00062110E945B6510E0000F111F005F1E4E7E -:10F3C0000E944EF7F8017183608381E08093080CFE -:10F3D00015C082E50E946F65882381F0009162115B -:10F3E0000E945B6510E0000F111F005F1E4E0E941F -:10F3F0004EF7F801718360831092080C0E94574009 -:10F400000E942CF04B015C010091621110E0F801A8 -:10F41000EE0FFF1FE05FFE4E60817181882777FD50 -:10F420008095982F0E9481F7F801EE0FFF1FEE0FD5 -:10F43000FF1FE85FFE4E11E0208131814281538140 -:10F440000E94E2F818160CF010E010936011109270 -:10F450003813CC24CA94DC2C760148EE442E43E0C9 -:10F46000542E612C712C5AE0352E80913813811165 -:10F470000C94DD8AFFEFCF16DF06EF06FF0611F4CE -:10F480000C94088BF7FE02C00C94DD8A0E942CF0CD -:10F490006C197D09683B7B4010F40C94088B0C942C -:10F4A000DD8AE0917B13F0E0EE0FFF1FE45EFD4F7D -:10F4B0000190F081E02DEC59FE4F808191810E94F6 -:10F4C0003BA183E090E0909376138093751383E5DE -:10F4D0000E946F65882361F00E945B650E944EF771 -:10F4E00070930F1160930E1181E08093080C0FC090 -:10F4F00082E50E946F65882351F00E945B650E943F -:10F500004EF770930F1160930E111092080C0E9429 -:10F510002CF04B015C011092381360910E11709128 -:10F520000F11882777FD8095982F0E9481F711E0B1 -:10F530002091021130910311409104115091051155 -:10F540000E94E2F818160CF010E0109360110AEA1D -:10F5500011E566EAE62E61E5F62E72EAC72E71E540 -:10F56000D72EEAE07E2E8091601160910E1170918D -:10F570000F11882309F48BC080913813811187C043 -:10F58000882777FD8095982F0E9481F7209102119E -:10F590003091031140910411509105110E94E2F83D -:10F5A00018160CF08BC00E942CF0681979098A0992 -:10F5B0009B09693E73408105910508F460C0E091A4 -:10F5C000491384E0E89FF0011124E85FFE4E40817A -:10F5D000518162817381F8018491EAEAF1E588231F -:10F5E00049F09091C00095FFFCCF8093C600319602 -:10F5F0008491F5CF22E030E08BEF96E10E9446D176 -:10F60000F7018491E6EAF1E5882349F09091C00082 -:10F6100095FFFCCF8093C60031968491F5CF609121 -:10F62000491370E04AE050E08BEF96E10E9470D001 -:10F63000F6018491E2EAF1E5882349F09091C00057 -:10F6400095FFFCCF8093C60031968491F5CF409111 -:10F65000021150910311609104117091051121E084 -:10F6600030E08BEF96E10E9446D18091C00085FF8B -:10F67000FCCF7092C6000E942CF04B015C010E94EE -:10F68000094680E00E94B5700E94C4A36CCF882711 -:10F6900077FD8095982F0E9481F72091021130917B -:10F6A000031140910411509105110E94DFF687FF6C -:10F6B00005C08091080C882309F475CFE0917B1375 -:10F6C000F0E0EE0FFF1FE45EFD4F0190F081E02DB2 -:10F6D000EA59FE4F808191810E943BA184E090E035 -:10F6E00090937613809375130E942CF0609373119E -:10F6F0007093741180937511909376110C94C18955 -:10F7000083E50E946F65882319F10E945B6520E004 -:10F7100030E0A9010E94DFF687FD0FC00E945B6503 -:10F7200020E030E04FE753E40E94E2F8181644F07E -:10F730000E945B650E944EF705C060E070E002C069 -:10F740006FEF70E070934813609347130C94C18976 -:10F750008FEF90E090934813809347130C94C189E6 -:10F7600010924813109247130C94C1899B9AA39846 -:10F7700081E08093120CE0917B13F0E0EE0FFF1F0D -:10F78000E45EFD4F0190F081E02D808191810E9427 -:10F790003BA10E94C4A30C94C1890E9458400E94BE -:10F7A000C4D9149A0E942EDA10924813109247136B -:10F7B00068EE73E080E090E00E945BF09B9AA39A71 -:10F7C0001092120CE0917B13F0E0EE0FFF1FE45E4D -:10F7D000FD4F0190F081E02DE459FF4F40815181B0 -:10F7E00020EA31E56EE971E584EB9DE00E944A4D27 -:10F7F0000E943BA10E94C4A30C94C189109287135C -:10F800000C94C18981E0809387130C94C18983E5AE -:10F810000E946F658823A1F00E945B6520E030E0C4 -:10F820004AE754E40E94B4F90E9453F76093090C2C -:10F8300070930A0C80930B0C90930C0C0C94C18960 -:10F8400088E50E946F6581110C941C8C89E50E94EB -:10F850006F6581110C941C8C8AE50E946F65811183 -:10F860000C941C8C85E40E946F6581110C941C8C97 -:10F870000C943E8C83E50E946F65882311F40C94F0 -:10F88000C1890E945B6520E030E04AE754E40E94B1 -:10F89000B4F90E9453F760936F11709370118093C5 -:10F8A0007111909372110C94C18927E03EE039AF39 -:10F8B00028AF01E01DE191E1892E9DE1992E25EC13 -:10F8C000A22E2CE1B22E312CE8ADF9AD8191F9AF29 -:10F8D000E8AF0E946F65882309F45BC0F3E03F1234 -:10F8E00051C00E945B656B017C0120E030E040EA82 -:10F8F00051E40E94DFF687FF3FC0A7019601F8019F -:10F9000060817181828193810E94E6F62B013C0126 -:10F910009B01AC016091D91C7091DA1C8091DB1CB9 -:10F920009091DC1C0E94B4F96093D91C7093DA1C8E -:10F930008093DB1C9093DC1CA3019201F401608195 -:10F940007181828193810E94B4F9F4016083718393 -:10F9500082839383F50160817181828193810E940A -:10F960007FF7A30192010E94B4F90E9453F7F501B9 -:10F970006083718382839383F801C082D182E282A3 -:10F98000F38207C00E945B65F80160837183828304 -:10F99000938333940C5F1F4FF4E08F0E911C24E08F -:10F9A000A20EB11C34E033128FCF0C94C189909118 -:10F9B000C00095FFFCCF8093C600319684918111E1 -:10F9C000F6CF0C94C18900917711109178110B5FDB -:10F9D0001F4F6AE270E0C8010F947600009711F0A3 -:10F9E000FC011082C8010E942EA10C94C189EBE990 -:10F9F000F1E58491882341F09091C00095FFFCCF00 -:10FA00008093C6003196F5CF40915D1350915E13FF -:10FA100060915F137091601322E030E08BEF96E10C -:10FA20000E9446D1E7E9F1E58491882341F0909165 -:10FA3000C00095FFFCCF8093C6003196F5CF409172 -:10FA4000611350916213609163137091641322E00B -:10FA500030E08BEF96E10E9446D1E3E9F1E5849135 -:10FA6000882341F09091C00095FFFCCF8093C600A1 -:10FA70003196F5CF409165135091661360916713ED -:10FA80007091681322E030E08BEF96E10E9446D13E -:10FA9000EFE8F1E58491882341F09091C00095FF53 -:10FAA000FCCF8093C6003196F5CF409169135091F9 -:10FAB0006A1360916B1370916C1322E030E08BEF4E -:10FAC00096E10E9446D1E0917B13F0E0EE0FFF1F1C -:10FAD000E45EFD4F0190F081E02DE659FE4F01906C -:10FAE000F081E02D8491882341F09091C00095FF32 -:10FAF000FCCF8093C6003196F5CF0E9420DA0E9499 -:10FB000081F72091011D3091021D4091031D5091FC -:10FB1000041D0E94E6F6AB01BC0122E030E08BEF51 -:10FB200096E10E9446D1EBE8F1E58491882341F00B -:10FB30009091C00095FFFCCF8093C6003196F5CF21 -:10FB400081E00E9420DA0E9481F72091051D30910A -:10FB5000061D4091071D5091081D0E94E6F6AB015D -:10FB6000BC0122E030E08BEF96E10E9446D1E7E84D -:10FB7000F1E58491882341F09091C00095FFFCCF7E -:10FB80008093C6003196F5CF82E00E9420DA0E9471 -:10FB900081F72091091D30910A1D40910B1D509154 -:10FBA0000C1D0E94E6F6AB01BC0122E030E08BEFB9 -:10FBB00096E10E9446D18091C00085FFFCCF8AE08B -:10FBC0008093C6000C94C18980E00E9444D20C94BA -:10FBD000C18981E00E9444D20C94C1899091C000F7 -:10FBE00095FFFCCF8093C600319684918111F6CFAA -:10FBF0008091C00085FFFCCF8AE08093C600E09131 -:10FC00007B13F0E0EE0FFF1FE45EFD4F0190F081EB -:10FC1000E02DE858FE4F0190F081E02D849188237B -:10FC200041F09091C00095FFFCCF8093C6003196C3 -:10FC3000F5CFE0917B13F0E0EE0FFF1FE45EFD4F88 -:10FC40001E9B13C00190F081E02DEA57FE4F0190FA -:10FC5000F081E02D84918823D9F09091C00095FF28 -:10FC6000FCCF8093C6003196F5CF0190F081E02D56 -:10FC7000E857FE4F0190F081E02D8491882341F0F8 -:10FC80009091C00095FFFCCF8093C6003196F5CFD0 -:10FC90008091C00085FFFCCF8AE08093C600E09190 -:10FCA0007B13F0E0EE0FFF1FE45EFD4F0190F0814B -:10FCB000E02DE658FE4F0190F081E02D84918823DD -:10FCC00041F09091C00095FFFCCF8093C600319623 -:10FCD000F5CFE0917B13F0E0EE0FFF1FE45EFD4FE8 -:10FCE000029913C00190F081E02DEA57FE4F019078 -:10FCF000F081E02D84918823D9F09091C00095FF88 -:10FD0000FCCF8093C6003196F5CF0190F081E02DB5 -:10FD1000E857FE4F0190F081E02D8491882341F057 -:10FD20009091C00095FFFCCF8093C6003196F5CF2F -:10FD30008091C00085FFFCCF8AE08093C600E091EF -:10FD40007B13F0E0EE0FFF1FE45EFD4F0190F081AA -:10FD5000E02DE458FE4F0190F081E02D849188233E -:10FD600041F09091C00095FFFCCF8093C600319682 -:10FD7000F5CFE0917B13F0E0EE0FFF1FE45EFD4F47 -:10FD80001D9B13C00190F081E02DEA57FE4F0190BA -:10FD9000F081E02D84918823D9F09091C00095FFE7 -:10FDA000FCCF8093C6003196F5CF0190F081E02D15 -:10FDB000E857FE4F0190F081E02D8491882341F0B7 -:10FDC0009091C00095FFFCCF8093C6003196F5CF8F -:10FDD0008091C00085FFFCCF8AE08093C600E0914F -:10FDE0007B13F0E0EE0FFF1FE45EFD4F0190F0810A -:10FDF000E02DE258FE4F0190F081E02D84918823A0 -:10FE000041F09091C00095FFFCCF8093C6003196E1 -:10FE1000F5CFE0917B13F0E0EE0FFF1FE45EFD4FA6 -:10FE2000019913C00190F081E02DEA57FE4F019037 -:10FE3000F081E02D84918823D9F09091C00095FF46 -:10FE4000FCCF8093C6003196F5CF0190F081E02D74 -:10FE5000E857FE4F0190F081E02D8491882341F016 -:10FE60009091C00095FFFCCF8093C6003196F5CFEE -:10FE70008091C00085FFFCCF8AE08093C600E091AE -:10FE80007B13F0E0EE0FFF1FE45EFD4F0190F08169 -:10FE9000E02DE058FE4F0190F081E02D8491882301 -:10FEA00041F09091C00095FFFCCF8093C600319641 -:10FEB000F5CFE0917B13F0E0EE0FFF1FE45EFD4F06 -:10FEC0001C9B13C00190F081E02DEA57FE4F01907A -:10FED000F081E02D84918823D9F09091C00095FFA6 -:10FEE000FCCF8093C6003196F5CF0190F081E02DD4 -:10FEF000E857FE4F0190F081E02D8491882341F076 -:10FF00009091C00095FFFCCF8093C6003196F5CF4D -:10FF10008091C00085FFFCCF8AE08093C600E0910D -:10FF20007B13F0E0EE0FFF1FE45EFD4F0190F081C8 -:10FF3000E02DEE57FE4F0190F081E02D8491882353 -:10FF400041F09091C00095FFFCCF8093C6003196A0 -:10FF5000F5CFE0917B13F0E0EE0FFF1FE45EFD4F65 -:10FF6000379913C00190F081E02DEA57FE4F0190C0 -:10FF7000F081E02D84918823D9F09091C00095FF05 -:10FF8000FCCF8093C6003196F5CF0190F081E02D33 -:10FF9000E857FE4F0190F081E02D8491882341F0D5 -:10FFA0009091C00095FFFCCF8093C6003196F5CFAD -:10FFB0008091C00085FFFCCF8AE08093C6000C943E -:10FFC000C189809149138093621184E50E946F6515 -:10FFD000882381F10E945B650E9453F76093621150 -:10FFE000662341F1E1E9F2E58491882341F09091A3 -:10FFF000C00095FFFCCF8093C6003196F5CFE0910D -:020000021000EC -:100000007B13F0E0EE0FFF1FE45EFD4F0190F081E7 -:10001000E02DEA5AFE4F0190F081E02D8191882376 -:1000200011F40C94C1899091C00095FFFCCF80938E -:10003000C600F4CF84E40E946F65882311F40C9409 -:10004000C1890E945B6520E030E0A9010E94DFF6D3 -:10005000811103C010926D1332C00091621110E043 -:100060000E945B65F801EE0FFF1FEE0FFF1FE15CC2 -:10007000F34F6083718382839383E0903F0CF09011 -:10008000400C0091410C1091420C20E030E0A9019D -:10009000B701C8010E94DFF6811104C0E12CF12CE8 -:1000A00000E410E4C701D80180933F0C9093400C0A -:1000B000A093410CB093420C81E080936D130E9499 -:1000C0005C710C94C18907E01EE0E1EFEE2EECE1DB -:1000D000FE2EF80181918F010E946F65882349F0FF -:1000E0000E945B650E9453F7F701608371838283EE -:1000F0009383F4E0EF0EF11C2EE00B30120749F76A -:100100000E940BEC0C94C18907E01EE071E1E72E20 -:100110007DE1F72EF80181918F010E946F658823A0 -:1001200039F00E945B65F70160837183828393835A -:10013000F4E0EF0EF11C2EE00B30120759F70C948F -:10014000C18983E50E946F65882351F00E945B6539 -:100150006093E91C7093EA1C8093EB1C9093EC1C59 -:1001600084E50E946F65882311F40C94C1890E9474 -:100170005B656093E51C7093E61C8093E71C90938D -:10018000E81C0C94C18983E50E946F65882351F0B7 -:100190000E945B656093ED1C7093EE1C8093EF1CD6 -:1001A0009093F01C84E50E946F65882351F00E94B3 -:1001B0005B656093D51C7093D61C8093D71C90937D -:1001C000D81C82E40E946F65882361F00E945B6501 -:1001D0000E9453F76093211D7093221D8093231D6D -:1001E0009093241D88E50E946F65882351F00E943A -:1001F0005B656093E11C7093E21C8093E31C909319 -:10020000E41C8AE50E946F65882351F00E945B65BB -:100210006093DD1C7093DE1C8093DF1C9093E01CC8 -:1002200085E40E946F65882311F40C94C1890E94B3 -:100230005B656093D91C7093DA1C8093DB1C9093F0 -:10024000DC1C0C94C18907E01EE061E5E62E63E149 -:10025000F62EF80181918F010E946F65882339F095 -:100260000E945B65F7016083718382839383F4E06E -:10027000EF0EF11C2EE00A30120711F40C94C18924 -:10028000E8CF83E50E946F65882351F00E945B658B -:1002900060931F0C7093200C8093210C9093220C80 -:1002A00086E40E946F65882381F00E945B6520E0F0 -:1002B00030E040E752E40E94E6F66093170C70933A -:1002C000180C8093190C90931A0C8AE50E946F65A4 -:1002D000882311F40C94C1890E945B6560934113DB -:1002E0007093421380934313909344130C94C189E9 -:1002F00083E50E946F65882351F00E945B656093DF -:100300003D1370933E1380933F139093401386E404 -:100310000E946F65882311F40C94C1890E945B656B -:1003200020E030E040E752E40E94E6F66093130CD0 -:100330007093140C8093150C9093160C0C94C18937 -:1003400083E50E946F65882311F40C94C1890E9493 -:100350005B650E944EF76115710551F061307105C2 -:1003600069F481E080934613109245130C94C1897F -:1003700010924613109245130C94C189E1E9F2E5FD -:100380008491882341F09091C00095FFFCCF809329 -:10039000C6003196F5CFE0917B13F0E0EE0FFF1F22 -:1003A000E45EFD4F0190F081E02DEE58FE4F01908C -:1003B000F081E02D8491882341F09091C00095FF59 -:1003C000FCCF8093C6003196F5CF8091811190913A -:1003D000821120E6289FF001299FF00D1124E95792 -:1003E000FE4E8191882339F09091C00095FFFCCF9B -:1003F0008093C600F6CFE5E8F1E58491882341F0CB -:100400009091C00095FFFCCF8093C6003196F5CF48 -:100410008091C00085FFFCCF8AE08093C600B1C701 -:1004200083E50E946F65882309F4ABC70E945B6572 -:100430000E944EF770934A0C6093490CA2C783E563 -:100440000E946F65882309F49CC70E945B650E9427 -:100450004EF76B017C0184E50E946F65882381F073 -:100460008DED90E00E94236B81118BC7E0916211AA -:10047000F0E0EE0FFF1FEB5BF34FD182C08281C72C -:10048000D092480CC092470C7CC780E50E946F65F3 -:10049000882309F476C70E945B650E944EF7D62E2A -:1004A000062F172F83E50E946F65882331F00E9485 -:1004B0005B650E944EF77B0103C0EE24EA94FE2C9C -:1004C000C7010196039708F05CC7EFECFDE081914E -:1004D00091918017910709F454C73EE0E730F30784 -:1004E000B1F717FD4EC70E94C4D9CD2C60E08D2D09 -:1004F0000E944CEF8FEFE816F80631F0EA94EF28EF -:1005000071F000E010E00DC08D2D0E94BAEF31E0D7 -:1005100020E0892B09F030E0032F122F02C001E008 -:1005200010E08C2D0E94BAEF8017910709F429C7BB -:100530000E94094680E00E94B5700E94C4A3F1CFDA -:1005400083E50E946F65882331F00E945B650E94FD -:100550004EF78B0102C00EE610E080E50E946F6549 -:10056000882331F00E945B650E944EF7CB0102C0E8 -:1005700088EE93E06C01EE24D7FCE094FE2C10167C -:1005800011067CF420E030E0A901B8018EE40E945D -:10059000F8F0C701B6010E945BF08EE40E940FF4F0 -:1005A000F0C6C701B6010E945BF0EBC680E50E9471 -:1005B0006F65882351F00E945B6560931802709309 -:1005C000190280931A0290931B0289E40E946F65BE -:1005D000882361F00E945B650E94854A6093140243 -:1005E00070931502809316029093170284E40E9480 -:1005F0006F65882361F00E945B650E94914A609359 -:10060000100270931102809312029093130283E4FC -:100610000E946F65882351F00E945B6560930C0215 -:1006200070930D0280930E0290930F020E94683F18 -:10063000E0917B13F0E0EE0FFF1FE45EFD4F0190B1 -:10064000F081E02DE05CFE4F0190F081E02D819182 -:10065000882339F09091C00095FFFCCF8093C600AD -:10066000F6CFEDEBFDE08191882339F09091C00049 -:1006700095FFFCCF8093C600F6CF409118025091B1 -:10068000190260911A0270911B0222E030E08BEF98 -:1006900096E10E9446D1E1ECFDE08191882339F09A -:1006A0009091C00095FFFCCF8093C600F6CF60917B -:1006B00014027091150280911602909117020E9407 -:1006C0008B4AAB01BC0122E030E08BEF96E10E9447 -:1006D00046D1E5ECFDE08191882339F09091C0008E -:1006E00095FFFCCF8093C600F6CF60911002709109 -:1006F000110280911202909113020E94974AAB015D -:10070000BC0122E030E08BEF96E10E9446D1E9EC9B -:10071000FDE08191882339F09091C00095FFFCCFD6 -:100720008093C600F6CF40910C0250910D0260916B -:100730000E0270910F0222E030E08BEF96E10E94F2 -:1007400046D18091C00085FFFCCF8AE08093C6002F -:1007500018C683E50E946F65882319F00E945B65C7 -:1007600003C060E070E0CB010E9402EC0AC685E4A1 -:100770000E946F65882341F00E945B650E944EF7DE -:100780008B0177FF03C009C000E010E0C12CD12C21 -:1007900096E1E92E93E4F92E06C0C12CD12C8CE809 -:1007A000E82E82E4F82E83E50E946F65882321F00D -:1007B0000E945B656B017C0183E40E946F65882366 -:1007C00031F00E945B650E944EF79B0102C025E05C -:1007D00030E0A801C701B6010E946B40D2C50E945B -:1007E000C4D9CFC50E9477CD0E9449C9CAC50E940D -:1007F00077CDC7C50E9449C9C4C59091C00095FF77 -:10080000FCCF8093C600319684918111F6CFE5E745 -:10081000F1E58491882309F4B4C59091C00095FF57 -:10082000FCCF8093C6003196F4CF8AE50E946F65B5 -:10083000882309F4D6C00E945B656B017C0120E02F -:1008400030E040E751EC0E94E2F887FD57C020E01D -:1008500030E040EA50ECC701B6010E94DFF61816FE -:100860000CF44CC0F7FAF094F7F8F094C0924A13E5 -:10087000D0924B13E0924C13F0924D13E1E9F2E564 -:100880008491882341F09091C00095FFFCCF809324 -:10089000C6003196F5CFE0917B13F0E0EE0FFF1F1D -:1008A000E45EFD4F80819181FC01E05CFE4F408160 -:1008B0005181E855F10924E731E564E77EE0808164 -:1008C00091810E944A4DFC012491222341F03091F4 -:1008D000C00035FFFCCF2093C6000196F4CF809175 -:1008E000C00085FFFCCF8AE08093C6008091C000E5 -:1008F00085FFFCCF8AE08093C60043C5E1E9F2E5BD -:100900008491882341F09091C00095FFFCCF8093A3 -:10091000C6003196F5CFE0917B13F0E0EE0FFF1F9C -:10092000E45EFD4F0190F081E02DE851FF4F019012 -:10093000F081E02D8491882341F09091C00095FFD3 -:10094000FCCF8093C6003196F5CFE0917B13F0E0A9 -:10095000EE0FFF1FE45EFD4F0190F081E02DE058A7 -:10096000FE4F0190F081E02D8491882341F0909119 -:10097000C00095FFFCCF8093C6003196F5CF4AE0CA -:1009800050E061EF7FEF8BEF96E10E9470D0E09135 -:100990007B13F0E0EE0FFF1FE45EFD4F0190F0814E -:1009A000E02DEE57FE4F0190F081E02D84918823D9 -:1009B00041F09091C00095FFFCCF8093C600319626 -:1009C000F5CF4AE050E06BEF7FEF8BEF96E10E94AE -:1009D00070D08091C00085FFFCCF8AE08093C60074 -:1009E000D0C4E1E9F2E58491882341F09091C00000 -:1009F00095FFFCCF8093C6003196F5CFE0917B1335 -:100A0000F0E0EE0FFF1FE45EFD4F0190F081E02D5E -:100A1000E851FF4F60E771E5808191810E94294D87 -:100A2000FC012491222341F03091C00035FFFCCF1E -:100A30002093C6000196F4CF8091C00085FFFCCFC3 -:100A40008AE08093C60040914A1350914B13609105 -:100A50004C1370914D13705822E030E08BEF96E10B -:100A60000E9446D18091C00085FFFCCF8AE0809330 -:100A7000C60087C40E94C4D98091490C90914A0C49 -:100A80009093440C8093430CC0905D13D0905E1300 -:100A9000E0905F13F0906013CF8ED8A2E9A2FAA283 -:100AA00000916113109162132091631330916413CC -:100AB0000BA31CA32DA33EA3409165135091661375 -:100AC00060916713709168134FA358A769A77AA71D -:100AD0008091691390916A13A0916B13B0916C137C -:100AE0008BA79CA7ADA7BEA7C982DA82EB82FC8246 -:100AF0000D831E832F83388749875A876B877C87AE -:100B00008D879E87AF87B88B85E40E946F658823A9 -:100B100059F00E945B659B01AC016BA57CA58DA57E -:100B20009EA50E9406F60AC020E030E040E050E4B6 -:100B30006BA57CA58DA59EA50E9405F66BA77CA73D -:100B40008DA79EA739E4C32E33E1D32EE12CF12CDF -:100B500008EC13E49E01255D3F4FAE01495D5F4FF8 -:100B6000BE016D5D7F4FCE014F960E9457E18AE531 -:100B70000E946F65882349F00E945B659B01AC0170 -:100B80006FA178A589A59AA51EC020E030E040E0BD -:100B900050E46FA178A589A59AA50E9406F66B017D -:100BA0007C016FA378A789A79AA720E030E040E2F4 -:100BB00051E40E94DFF687FF0CC020E030E040E205 -:100BC00051E4C701B6010E9406F66FA378A789A772 -:100BD0009AA799E4C92E93E1D92EE12CF12C06E9CC -:100BE00013E49E01255D3F4FAE01495D5F4FBE019D -:100BF0006D5D7F4FCE014F960E9457E188E50E94C0 -:100C00006F65882379F00E945B659B01AC016F8D55 -:100C100078A189A19AA10E9406F66F8F78A389A373 -:100C20009AA308C080E090E0A3E5B3E48F8F98A377 -:100C3000A9A3BAA389E50E946F65882339F00E94B1 -:100C40005B656BA37CA38DA39EA304C01BA21CA207 -:100C50001DA21EA219E4C12E13E1D12EE12CF12C0C -:100C60000CE812E49E01255D3F4FAE01495D5F4FE8 -:100C7000BE016D5D7F4FCE014F960E9457E18CE41F -:100C80000E946F65882359F00E945B659B01AC014F -:100C90006BA57CA58DA59EA50E9406F60AC020E046 -:100CA00030E040EA52E46BA57CA58DA59EA50E948C -:100CB00005F66BA77CA78DA79EA7A9E4CA2EA3E182 -:100CC000DA2EE12CF12C08EC13E49E01255D3F4F58 -:100CD000AE01495D5F4FBE016D5D7F4FCE014F9606 -:100CE0000E9457E10E94C4D9149A64E670E080E043 -:100CF00090E00E945BF00E9477B900E010E0F12CD8 -:100D00000E94ACA481111BC0F3940E94094681E0AB -:100D10000E94B570F110F4CF043FF1E01F0711F409 -:100D200000E010E06A9A0115110511F4729A04C0EE -:100D30000431110509F472980F5F1F4FE1CF7298CB -:100D400020E030E04CE852E46BA57CA58DA59EA583 -:100D50000E9406F66BA77CA78DA79EA779E4C72EF5 -:100D600073E1D72EE12CF12C00EA11E49E01255D00 -:100D70003F4FAE01495D5F4FBE016D5D7F4FCE01BC -:100D80004F960E9457E120E030E048E452E46BA522 -:100D90007CA58DA59EA50E9406F66BA77CA78DA7B6 -:100DA0009EA7E12CF12C00E010E49E01255D3F4F51 -:100DB000AE01495D5F4FBE016D5D7F4FCE014F9625 -:100DC0000E9457E110927D1310927C130E9412BA78 -:100DD00080917C1390917D13019709F47CC010924F -:100DE0007D1310927C130E9467BA80917C139091BE -:100DF0007D138230910549F1039709F069C020E025 -:100E000030E048E452E46BA57CA58DA59EA50E9428 -:100E100006F66BA77CA78DA79EA729E4C22E23E127 -:100E2000D22EE12CF12C00E010E49E01255D3F4F15 -:100E3000AE01495D5F4FBE016D5D7F4FCE014F96A4 -:100E40000E9457E10E94BDB9C3CF20E030E04CE8DA -:100E500052E46BA57CA58DA59EA50E9406F66BA706 -:100E60007CA78DA79EA749E4C42E43E1D42EE12C94 -:100E7000F12C00EA11E49E01255D3F4FAE01495D72 -:100E80005F4FBE016D5D7F4FCE014F960E9457E1CF -:100E900020E030E048E452E46BA57CA58DA59EA53A -:100EA0000E9406F66BA77CA78DA79EA7E12CF12CCC -:100EB00000E010E49E01255D3F4FAE01495D5F4FAC -:100EC000BE016D5D7F4FCE014F960E9457E17ECFF0 -:100ED0000E94A5B97DCF20E030E040EA50E46BA548 -:100EE0007CA58DA59EA50E9406F66BA77CA78DA765 -:100EF0009EA7E9E4CE2EE3E1DE2EE12CF12C00E00A -:100F000010E49E01255D3F4FAE01495D5F4FBE017C -:100F10006D5D7F4FCE014F960E9457E1A80197016A -:100F20006BA57CA58DA59EA50E9405F66BA77CA749 -:100F30008DA79EA7E12CF12C08EC13E49E01255D02 -:100F40003F4FAE01495D5F4FBE016D5D7F4FCE01EA -:100F50004F960E9457E1E12CF12C0CE812E49E011F -:100F6000255D3F4FAE01495D5F4FBE016B5F7F4F17 -:100F7000CE0101960E9457E1E12CF12C06E913E421 -:100F80009E01255D3F4FAE01475F5F4FBE016B5F26 -:100F90007F4FCE0101960E9457E120E030E040E013 -:100FA00050E46BA57CA58DA59EA50E9406F66BA7B7 -:100FB0007CA78DA79EA7E12CF12C08EC13E49E01E1 -:100FC000255D3F4FAE01475F5F4FBE016B5F7F4FB7 -:100FD000CE0101960E9457E1CE010D960E94DEEBF4 -:100FE0008091430C9091440C8093490C90934A0C4F -:100FF0009F938F9387E691E59F938F938E01015D79 -:101000001F4F1F930F930F94AE00C8010E94706290 -:101010000F900F900F900F900F900F90B2C188E536 -:101020000E946F65882339F00E945B650E944EF72D -:1010300080E00E94EEDA8AE50E946F65882339F02D -:101040000E945B650E944EF781E00E94EEDA85E423 -:101050000E946F65882309F494C10E945B650E9419 -:101060004EF782E00E94EEDA8CC183E50E946F6544 -:10107000811104C007E01EE0F12C10C010E00E94B6 -:101080005B650E9453F7812F0E94C4DB1F5F153000 -:10109000B1F7F0CFF394F4E0FF1679F0F801819105 -:1010A0008F010E946F658823A9F30E945B650E94EF -:1010B00053F78F2D0E94C4DBEDCF82E40E946F6551 -:1010C000882339F00E945B650E9453F784E00E94F8 -:1010D000C4DB0E948ADC55C183E50E946F658823CA -:1010E00009F453C00E945B650E944EF761307105A0 -:1010F00041F06230710509F048C007E01EE0F12CB4 -:1011000025C007E01EE0F12CF80181918F010E94BB -:101110006F65882341F00E945B650E944EF74FEF98 -:101120008F2D0E9486DBF394F4E0FF12EDCF82E472 -:101130000E946F65882349F10E945B650E944EF70B -:101140004FEF20C0F394F4E0FF1689F0F80181918D -:101150008F010E946F658823A9F30E945B650E943E -:101160004EF7462F6FEF8F2D0E9486DBEBCF82E488 -:101170000E946F65882349F00E945B650E944EF7CC -:10118000462F6FEF84E00E9486DB0E948ADCF9C064 -:1011900084E50E946F65882309F4A2C00E945B6504 -:1011A0000E9453F760936211662309F442C0E1E99B -:1011B000F2E58491882341F09091C00095FFFCCF27 -:1011C0008093C6003196F5CFEDECFDE08191882348 -:1011D00039F09091C00095FFFCCF8093C600F6CF08 -:1011E00040E050E0609162118BEF96E10E94A7D041 -:1011F000E0917B13F0E0EE0FFF1FE45EFD4F0190E6 -:10120000F081E02DEA58FE4F0190F081E02D8191B0 -:10121000882339F09091C00095FFFCCF8093C600E1 -:10122000F6CF8091C00085FFFCCF8AE08093C60096 -:10123000A8C086E40E946F658823D9F00E945B6590 -:101240006B017C01609318137093191380931A1328 -:1012500090931B1320E030E0A9010E94E2F81816D9 -:1012600044F4C0920D0CD0920E0CE0920F0CF09250 -:10127000100CE1E9F2E58491882341F09091C000DF -:1012800095FFFCCF8093C6003196F5CFE0917B139C -:10129000F0E0EE0FFF1FE45EFD4F0190F081E02DC6 -:1012A000EC58FE4F0190F081E02D8191882339F0B8 -:1012B0009091C00095FFFCCF8093C600F6CF60915F -:1012C000491370E04AE050E08BEF96E10E9470D045 -:1012D0008091C00085FFFCCF8AE08093C60051C09A -:1012E000E1E9F2E58491882341F09091C00095FFF7 -:1012F000FCCF8093C6003196F5CFE0917B13F0E0F0 -:10130000EE0FFF1FE45EFD4F0190F081E02DEE58DF -:10131000FE4F0190F081E02D8491882341F090915F -:10132000C00095FFFCCF8093C6003196F5CF809129 -:1013300081119091821120E6289FF001299FF00DE4 -:101340001124E957FE4E8191882339F09091C00015 -:1013500095FFFCCF8093C600F6CFE5E6F1E58491DA -:10136000882341F09091C00095FFFCCF8093C60088 -:101370003196F5CF8091C00085FFFCCF8AE0809345 -:10138000C6000E94966580C2C0903413D090351379 -:10139000E0903613F09037132091691330916A135F -:1013A00040916B1350916C13C701B6010E9405F672 -:1013B0002DEC3CEC4CEC5DE30E94E2F8181614F0C6 -:1013C0000C947172C0926913D0926A13E0926B13FD -:1013D000F0926C1389E693E10E94DEEB60E080E01E -:1013E0000E94086851C288E50E946F658111B5C0EE -:1013F0008091110C8111B6C089E50E946F65811141 -:10140000B1C088E50E946F658823D1F00E946465B1 -:10141000672B682B692BA1F00E945B65209151130B -:101420003091521340915313509154130E9406F679 -:1014300060935D1370935E1380935F1390936013BA -:1014400089E50E946F658823D1F00E946465672B4F -:10145000682B692BA1F00E945B6520915513309198 -:10146000561340915713509158130E9406F66093FB -:10147000611370936213809363139093641380914C -:10148000110C811174C08AE50E946F6581116FC0D3 -:101490008AE50E946F658823D1F00E946465672BFE -:1014A000682B692BA1F00E945B6520915913309144 -:1014B0005A1340915B1350915C130E9406F660939F -:1014C000651370936613809367139093681329E6EE -:1014D00033E145E653E161E673E18DE593E10E9476 -:1014E00039EB80E00E9444D280911413909115133F -:1014F000A0911613B091171380930D0C90930E0CBE -:10150000A0930F0CB093100C8091821390918313D1 -:1015100090934A0C8093490C0E942CF060937311B5 -:101520007093741180937511909376110E943DD23F -:1015300080919013882309F424CF6CE873E188EF3D -:101540009FE00E948A9C80918C1390918D13892B2F -:1015500009F417CF0E94D5C014CF80E090E00E941C -:10156000DE6046CF81E090E00E94DE604ACF82E0FC -:1015700090E00E94DE608CCF0E94094680E00E94CD -:10158000B5700E94C4A30C9410760E946465AB01F0 -:10159000BC0140932B1650932C1660932D1670931C -:1015A0002E1686E795E10E94EC33EBCE0E945B6538 -:1015B0000E944EF78B010C944D78E0917B13F0E084 -:1015C000EE0FFF1FE45EFD4F0190F081E02DEE591C -:1015D000FE4F808191810E943BA182E090E0909338 -:1015E0007613809375130E942CF060936B117093A7 -:1015F0006C1180936D1190936E110E942CF060938A -:101600007311709374118093751190937611B9CE04 -:101610000E942CF0681979098A099B09693E734078 -:101620008105910508F479C0E5EBF1E58491882303 -:1016300041F09091C00095FFFCCF8093C600319699 -:10164000F5CFE091621124E0E29FF0011124E85F00 -:10165000FE4E408151816281738121E030E08BEF49 -:1016600096E10E9446D1E1EBF1E58491882341F0B7 -:101670009091C00095FFFCCF8093C6003196F5CFC6 -:101680006091621170E04AE050E08BEF96E10E94B9 -:1016900070D0EDEAF1E58491882341F09091C0008B -:1016A00095FFFCCF8093C6003196F5CFF7FE03C0BF -:1016B000E2EBFDE025C00E942CF08B019C01C701EC -:1016C000B6016854744F8F4F9F4F601B710B820B94 -:1016D000930BA30192010E94BDFABA01A9012AE06D -:1016E00030E08BEF96E10E949CD08091C00085FF96 -:1016F000FCCF0DC09091C00095FFFCCF8093C60039 -:1017000081918111F7CF8091C00085FFFCCF30928D -:10171000C6000E942CF04B015C010E94094680E04B -:101720000E94B5700E94C4A3FFEFCF16DF06EF063C -:10173000FF0609F046C080916011E0916211F0E06F -:101740008F01000F111F000F111F085F1E4EEE0FBB -:10175000FF1FE05FFE4E608171818823C9F08827FA -:1017600077FD8095982F0E9481F720E030E040E8D7 -:101770005FE30E9405F69B01AC01F8016081718175 -:10178000828193810E94E2F887FF50C00C94357AE1 -:10179000882777FD8095982F0E9481F720E030E020 -:1017A00040E85FE30E9406F69B01AC01F80160810E -:1017B0007181828193810E94DFF61816BCF50C942A -:1017C000357AF7FE02C00C94357AE0916211F0E0B0 -:1017D0008F01000F111F000F111F085F1E4EEE0F2B -:1017E000FF1FE05FFE4E60817181882777FD809545 -:1017F000982F0E9481F79B01AC01F80160817181F3 -:10180000828193810E9405F60E944EF797FF07C0E0 -:1018100090958095709561957F4F8F4F9F4F663063 -:1018200071058105910514F40C94357A0E942CF011 -:101830006B017C010C94357A0E94C4D988E50E9422 -:101840006F65882319F0179A10924E1389E50E944C -:101850006F65882319F0169A10924F138AE50E943B -:101860006F65882319F0159A1092501385E40E9431 -:101870006F65882309F485CD149A83CD0E94C4D95D -:10188000149A0E942EDA7DCDE9960FB6F894DEBF49 -:101890000FBECDBFDF91CF911F910F91FF90EF90C1 -:1018A000DF90CF90BF90AF909F908F907F906F9080 -:1018B0005F904F903F9008950F931F9380917E13F8 -:1018C00090917F13892BA1F00E942CF0009163115D -:1018D000109164112091651130916611601B710B9C -:1018E000820B930B693E73408105910508F0A5C0FA -:1018F00080917E1390917F13892B11F410928113A4 -:1019000080917D1190917E11039714F40E94756C63 -:1019100060E08EE893E10E94CE5780917D11909116 -:101920007E11892B09F47EC080918E138823E1F00B -:10193000809181119091821120E6289F8001299F3A -:10194000100D112409571E4E61E072E5C8010F9475 -:101950002100892B59F5B8018EE893E10E94505778 -:1019600080918F13882319F00E946E7145C0E09119 -:101970007B13F0E0EE0FFF1FE45EFD4F0190F0815E -:10198000E02DE05CFE4F0190F081E02D84918823F2 -:1019900041F09091C00095FFFCCF8093C600319636 -:1019A000F5CF8091C00085FFFCCF23C060E08EE8BA -:1019B00093E10E94C458E0917B13F0E0EE0FFF1F0B -:1019C000E45EFD4F0190F081E02DEE5BFE4F019053 -:1019D000F081E02D8491882341F09091C00095FF23 -:1019E000FCCF8093C6003196F5CF8091C00085FF73 -:1019F000FCCF8AE08093C60080917D1190917E118A -:101A0000019790937E1180937D1180918111909127 -:101A10008211019664E070E00E94AAFA909382110C -:101A2000809381110E94094680E00E94B5700E9457 -:101A300065D11F910F910C94C4A381E08093811311 -:101A400080917E1390917F13019790937F138093E1 -:101A50007E130E942CF06093631170936411809345 -:101A600065119093661144CF8F929F92AF92BF926F -:101A7000CF92DF92EF92FF920F931F93CF93DF935A -:101A80008C018C519E4F0E941551680189E8C80E47 -:101A9000D11C21F1780181E4E81A8EEFF80AE70100 -:101AA00057018FE1A81AB10846E9842E4EE0942E22 -:101AB000CC15DD0599F0FE01EE19FF09EA0DFB1DBD -:101AC00091828082FE0178978081811102C06F9798 -:101AD000EFCFCE014B970E94CF34F9CFC801865982 -:101AE0009F4F0E941551C801875B9F4FDF91CF9197 -:101AF0001F910F91FF90EF90DF90CF90BF90AF902C -:101B00009F908F900C9415518EE893E10C94215185 -:101B10008EE893E1A9CFFB0160915C0C70915D0CA4 -:101B200070935E1660935D166091671670916816EB -:101B300070935C1660935B1662E060935B0C64ECE0 -:101B40007DEA70935D0C60935C0C90935A168093C1 -:101B50005916F0935816E0935716662757FD60956F -:101B6000762F4093531650935416609355167093E6 -:101B70005616C901AA2797FDA095BA2F841B950B6D -:101B8000A60BB70B80934F1690935016A093511647 -:101B9000B093521680819181AA2797FDA095BA2F04 -:101BA000841B950BA60BB70B809367169093681652 -:101BB000A0936916B0936A160895CF93DF93CDB7BB -:101BC000DEB7C054D1090FB6F894DEBF0FBECDBF4B -:101BD00088E0E3E9FCE0DE01D99601900D928A9558 -:101BE000E1F788E0EBE9FCE0DE01D19601900D928F -:101BF0008A95E1F788E0E3EAFCE0DE01999601903E -:101C00000D928A95E1F788E0EBEAFCE0DE0191961F -:101C100001900D928A95E1F788E0E3EBFCE0DE01AC -:101C2000599601900D928A95E1F788E0EBEBFCE084 -:101C3000DE01519601900D928A95E1F788E0E3EC80 -:101C4000FCE0DE01199601900D928A95E1F788E09B -:101C5000EBECFCE0DE01119601900D928A95E1F724 -:101C6000AE01475C5F4F60E082E796E10E94EA4C7C -:101C7000AE014F5C5F4F61E082E796E10E94EA4C63 -:101C8000AE01475D5F4F62E082E796E10E94EA4C59 -:101C9000AE014F5D5F4F63E082E796E10E94EA4C40 -:101CA000AE01475E5F4F64E082E796E10E94EA4C36 -:101CB000AE014F5E5F4F65E082E796E10E94EA4C1D -:101CC000AE01475F5F4F66E082E796E10E94EA4C13 -:101CD000AE014F5F5F4F67E082E796E10E94EA4CFA -:101CE000C05CDF4F0FB6F894DEBF0FBECDBFDF91F3 -:101CF000CF9108950F931F93CF93DF93EB01142F90 -:101D0000022F482F60E082E796E10E944C4B612F42 -:101D100082E796E10E9496F511E1FE016491662347 -:101D200011F0111117C0112339F060E282E796E13A -:101D30000E9496F51150F7CF602F82E796E10E943E -:101D400096F560E282E796E1DF91CF911F910F91C6 -:101D50000C9496F582E796E10E9496F52196115033 -:101D6000DCCFCF92DF92EF92FF920F931F93CF932E -:101D7000DF93D82EC62E7A01E901482F82E796E13B -:101D80000E944C4B81E0E816F10469F182E0E8160C -:101D9000F10409F04FC0BE0182E796E10E9495F57B -:101DA000FE0101900020E9F73197EC1BFD0B6C2D33 -:101DB0006E0F4D2D82E796E10E944C4B6BEC7DE05F -:101DC00082E796E10E9495F5FE0101900020E9F777 -:101DD0006C2D6C1B6E0F4D2D82E796E10E944C4BD3 -:101DE0006BE07EE028C0BE0182E796E10E9495F597 -:101DF000FE0101900020E9F73197EC1BFD0B6C2DE3 -:101E00006E0F4D2D82E796E10E944C4B6BEC7DE00E -:101E100082E796E10E9495F5FE0101900020E9F726 -:101E20006C2D6C1B6E0F4D2D82E796E10E944C4B82 -:101E3000B80101C0BE0182E796E1DF91CF911F9109 -:101E40000F91FF90EF90DF90CF900C9495F5EF926B -:101E5000FF920F931F93CF93DF93EB01E42E890141 -:101E6000F90101900020E9F7F22EFE1A92E1F90E35 -:101E7000482F60E082E796E10E944C4B6E2D82E78E -:101E800096E10E9496F5FE016491662311F0F1102F -:101E900019C06AE382E796E10E9496F5FF2039F0C7 -:101EA00060E282E796E10E9496F5FA94F7CFB801D6 -:101EB00082E796E1DF91CF911F910F91FF90EF9014 -:101EC0000C9495F582E796E10E9496F52196FA9496 -:101ED000DACF82E796E10C94404BCF936A9ACAE03E -:101EE000729A84E690E00E947FF0729884E690E017 -:101EF0000E947FF0C150A1F7CF91089582E08093B6 -:101F00005B0C0E942CF06C507E4F8F4F9F4F609364 -:101F10006C1670936D1680936E1690936F16DDCFCE -:101F2000E0915C0CF0915D0CE817F90771F090936B -:101F30005D0C80935C0C4093671650936816609319 -:101F4000691670936A162111D9CF089521E040E0F7 -:101F500050E0BA01E5CF21E040E050E0BA01E0CF27 -:101F6000CF92DF92EF92FF920F931F93CF93DF9365 -:101F70008091671690916816A0916916B0916A16C3 -:101F800081309048A105B10540F01092671610927B -:101F900068161092691610926A16809167169091D1 -:101FA0006816A0916916B0916A16B695A79597958F -:101FB00087954091701650E060E070E084179507B7 -:101FC000A607B70710F480937016D0917016109181 -:101FD000711612FB112710F9C0E0B7E1CB2ED12CFE -:101FE000E12CF12C01E04091671650916816609148 -:101FF000691670916A16D11138C080915B0C8823E4 -:10200000C1F0E0917B13F0E0EE0FFF1FE45EFD4FA7 -:102010000190F081E02D8681978123E042305105C7 -:102020006105710510F443E001C040E2BC018C2F52 -:1020300061DE112309F420C2809167169091681621 -:10204000A0916916B0916A160297A105B10508F032 -:1020500013C254DF8EEB9BEBDF91CF911F910F9159 -:10206000FF90EF90DF90CF9071CFD13051F58091FC -:102070005B0C882389F0769567955795479523E003 -:10208000413051056105710511F443E001C040E2A2 -:1020900065EF73E58C2F2EDE112309F4EDC18091DD -:1020A000671690916816A0916916B0916A16B69558 -:1020B000A795979587950197A105B10509F0DCC112 -:1020C000C8CFD230B9F580915B0C8823F1F0E09154 -:1020D0007B13F0E0EE0FFF1FE45EFD4F0190F081F7 -:1020E000E02DE254FE4F808191817695679557955A -:1020F000479523E0423051056105710511F443E035 -:1021000001C040E2BC018C2FF5DD112309F4B4C1FC -:102110008091671690916816A0916916B0916A1621 -:10212000B695A795979587950297A105B10509F0F2 -:10213000A3C18FCFD330B9F580915B0C8823F1F028 -:10214000E0917B13F0E0EE0FFF1FE45EFD4F019086 -:10215000F081E02DE054FE4F808191817695679566 -:102160005795479523E0433051056105710511F4FA -:1021700043E001C040E2BC018C2FBCDD112309F417 -:102180007BC18091671690916816A0916916B091F5 -:102190006A16B695A795979587950397A105B105FA -:1021A00009F06AC156CFD430B9F580915B0C882311 -:1021B000F1F0E0917B13F0E0EE0FFF1FE45EFD4FC6 -:1021C0000190F081E02DEE53FE4F80819181769554 -:1021D00067955795479523E0443051056105710592 -:1021E00011F443E001C040E2BC018C2F83DD1123D8 -:1021F00009F442C18091671690916816A091691602 -:10220000B0916A16B695A795979587950497A105FD -:10221000B10509F031C11DCFD53051F580915B0C6E -:10222000882389F0769567955795479523E0453043 -:1022300051056105710511F443E001C040E268EE0B -:1022400073E58C2F57DD112309F416C180916716B1 -:1022500090916816A0916916B0916A16B695A795E7 -:10226000979587950597A105B10509F005C1F1CEB0 -:10227000D63051F580915B0C882389F0769567956F -:102280005795479523E0463051056105710511F4D6 -:1022900043E001C040E261EE73E58C2F2BDD11239A -:1022A00009F4EAC08091671690916816A0916916AA -:1022B000B0916A16B695A795979587950697A1054B -:1022C000B10509F0D9C0C5CED73051F580915B0C6E -:1022D000882389F0769567955795479523E0473091 -:1022E00051056105710511F443E001C040E268ED5C -:1022F00073E58C2FFFDC112309F4BEC080916716B3 -:1023000090916816A0916916B0916A16B695A79536 -:10231000979587950797A105B10509F0ADC099CEAE -:10232000D83051F580915B0C882389F076956795BC -:102330005795479523E0483051056105710511F423 -:1023400043E001C040E26EEC73E58C2FD3DC112337 -:1023500009F492C08091671690916816A091691651 -:10236000B0916A16B695A795979587950897A10598 -:10237000B10509F081C06DCED93051F580915B0C6B -:10238000882389F0769567955795479523E04930DE -:1023900051056105710511F443E001C040E261ECB3 -:1023A00073E58C2FA7DC112309F466C080916716B2 -:1023B00090916816A0916916B0916A16B695A79586 -:1023C000979587950997A105B10509F055C041CEAC -:1023D000DA3041F580915B0C882389F0769567951A -:1023E0005795479523E04A3051056105710511F471 -:1023F00043E001C040E26AEB73E58C2F7BDC1123E4 -:10240000D9F18091671690916816A0916916B091E4 -:102410006A16B695A795979587950A97A105B10570 -:1024200059F517CEDB3041F580915B0C882389F09C -:10243000769567955795479523E04B305105610593 -:10244000710511F443E001C040E26EEA73E58C2FA0 -:1024500051DC112389F08091671690916816A09144 -:102460006916B0916A16B695A795979587950B97BB -:10247000A105B10509F4EDCD80916716909168161C -:10248000A0916916B0916A164897A105B10540F070 -:10249000C0926716D0926816E0926916F0926A169A -:1024A00040916716509168166091691670916A168E -:1024B00076956795579547958091701690E00396AD -:1024C000242F30E0821793074CF48DEF840F809314 -:1024D000701600935B0CDCEFD40FCFEFCF5FDF5FA4 -:1024E000C43008F480CDDF91CF911F910F91FF9000 -:1024F000EF90DF90CF900895FF920F931F93CF93AB -:10250000DF938091671690916816A0916916B0913B -:102510006A1681309048A105B10540F01092671607 -:10252000109268161092691610926A1680916716BA -:1025300090916816A0916916B0916A16B695A79504 -:10254000979587954091701650E060E070E0841791 -:102550009507A607B70710F480937016D0917016F0 -:102560001091711612FB112710F9C0E0FF24F394AB -:102570008091671690916816A0916916B0916A16BD -:10258000D11135C020915B0C2223C1F0E0917B1367 -:10259000F0E0EE0FFF1FE45EFD4F0190F081E02DB3 -:1025A000E450FF4F6081718123E00297A105B105DE -:1025B00010F443E001C040E28C2F9CDB112309F4AE -:1025C00083C08091671690916816A0916916B091AA -:1025D0006A160297A105B10508F076C08FDC85E187 -:1025E0009DE9DF91CF911F910F91FF90AFCCD1303A -:1025F000A9F520915B0C2223D1F0E0917B13F0E050 -:10260000EE0FFF1FE45EFD4F0190F081E02D62AD03 -:1026100073ADB695A795979587952EE70197A10578 -:10262000B10511F44EE301C040E28C2F63DB1123AE -:1026300009F44AC08091671690916816A0916916B6 -:10264000B0916A16B695A795979587950197A105BC -:10265000B105D1F553DC80E19FEAD0C0D230A1F5BD -:1026600020915B0C2223D1F0E0917B13F0E0EE0F80 -:10267000FF1FE45EFD4F0190F081E02D64AD75AD6C -:10268000B695A795979587952EE70297A105B10571 -:1026900011F44EE301C040E28C2F2CDB1123A1F09A -:1026A0008091671690916816A0916916B0916A168C -:1026B000B695A795979587950297A105B10521F441 -:1026C0001DDC87E19FEA9AC020E030E040E251E45F -:1026D0006091421670914316809144169091451670 -:1026E0000E94DFF687FF94C02091E0168091671664 -:1026F00090916816A0916916B0916A16211138C0A0 -:10270000D330C1F520915B0C2223D1F0E0917B13F3 -:10271000F0E0EE0FFF1FE45EFD4F0190F081E02D31 -:1027200066AD77ADB695A795979587952EE70397F4 -:10273000A105B10511F44EE301C040E28C2FDADAB5 -:10274000112309F461C08091671690916816A091D9 -:102750006916B0916A16B695A795979587950397D0 -:10276000A105B10509F050C0C9DB8EE19FEA46C062 -:1027700003E001C004E00D1348C020915B0C22234C -:1027800019F1E0917B13F0E0EE0FFF1FE45EFD4FC7 -:102790000190F081E02DE05CFF4F0190F081E02D91 -:1027A000B695A79597958795402F50E060E070E02B -:1027B0002EE784179507A607B70711F44EE301C06B -:1027C00040E2BF018C2F96DA1123F9F04091671691 -:1027D000509168166091691670916A1676956795A2 -:1027E00057954795802F90E0A0E0B0E04817590733 -:1027F0006A077B0751F482DB8AE49DEADF91CF917F -:102800001F910F91FF90A7CB04E031E0300F01C082 -:1028100033E0409167165091681660916916709187 -:102820006A167695679557954795832F90E0A0E0B7 -:10283000B0E0481759076A077B0788F0832F90E0BC -:10284000880F991F0197AA2797FDA095BA2F80930B -:10285000671690936816A0936916B0936A16409114 -:102860006716509168166091691670916A16769590 -:102870006795579547958091701690E00396242FA1 -:1028800030E0821793074CF48DEF840F809370161D -:10289000F0925B0CDCEFD40FCFEFCF5FDF5FC43083 -:1028A00008F466CEDF91CF911F910F91FF900895AC -:1028B00080E090E0A0E8BFE3809342169093431637 -:1028C000A0934416B093451617CE80937B1391E0E6 -:1028D00090935E0C682F8EEF9FE00F94DF02809143 -:1028E0004616813019F482E08093461608957F924F -:1028F0008F929F92AF92BF92CF92DF92EF92FF9210 -:102900000F931F93CF93DF93809167169091681672 -:10291000A0916916B0916A1681309048A105B10561 -:1029200040F0109267161092681610926916109275 -:102930006A168091671690916816A0916916B091F9 -:102940006A16B695A795979587954091701650E0B1 -:1029500060E070E084179507A607B70710F480932E -:102960007016E0907016D0907116D2FADD24D0F86F -:10297000F12CCC24C3948091461681113BC0EE20EB -:1029800019F07724739437C080915B0C882301F190 -:10299000E0917B13F0E0EE0FFF1FE45EFD4F01902E -:1029A000F081E02DE450FF4F6081718180916716C6 -:1029B00090916816A0916916B0916A1623E002976B -:1029C000A105B10510F443E001C040E28F2D92D97A -:1029D000DD20B9F28091671690916816A091691672 -:1029E000B0916A160297A105B10558F687DA85E11C -:1029F0009DE951C0712C80914616823009F05AC071 -:102A00007E1057C080915B0C882359F1E0917B13B5 -:102A1000F0E0EE0FFF1FE45EFD4F0190F081E02D2E -:102A2000E055FF4F0190F081E02D80916716909165 -:102A30006816A0916916B0916A16B695A7959795F4 -:102A40008795472D50E060E070E023E084179507FC -:102A5000A607B70711F443E001C040E2BF018F2D84 -:102A600049D9DD2031F18091671690916816A091C7 -:102A70006916B0916A16B695A79597958795472DD3 -:102A800050E060E070E084179507A607B70789F467 -:102A900035DA8AE293ECDF91CF911F910F91FF908D -:102AA000EF90DF90CF90BF90AF909F908F907F90EE -:102AB0004DCA73940CE112E0C0E0D0E08E2C912C52 -:102AC000A12CB12C7E104AC080915B0C882319F197 -:102AD000D801ED91FC91E654FE4F608171818091A7 -:102AE000671690916816A0916916B0916A16B6950E -:102AF000A79597958795272D30E040E050E0821705 -:102B00009307A407B50719F420E24EE302C020E2C0 -:102B100040E28F2DEFD8DD2009F18091671690916A -:102B20006816A0916916B0916A16B695A795979503 -:102B3000879588159905AA05BB0581F4DFD98C2FE7 -:102B4000DF91CF911F910F91FF90EF90DF90CF9089 -:102B5000BF90AF909F908F907F90B7CE7394219647 -:102B60000E5F1F4FC530D10509F0ACCF40916716FD -:102B7000509168166091691670916A1676956795FE -:102B800057954795872D90E0A0E0B0E0481759078A -:102B90006A077B0788F0872D90E0880F991F0197BF -:102BA000AA2797FDA095BA2F809367169093681671 -:102BB000A0936916B0936A164091671650916816F3 -:102BC0006091691670916A16769567955795479545 -:102BD0008091701690E00396242F30E082179307BF -:102BE0005CF48DEF840F80937016C0925B0CECEF59 -:102BF000EE2EE40EFF24FA94F394E394B3E0BF15B1 -:102C000008F0B9CEDF91CF911F910F91FF90EF9017 -:102C1000DF90CF90BF90AF909F908F907F9008955E -:102C20001092E6168EE893E10E94D75D109270161E -:102C300008958EE893E10E94B6541092E01683E066 -:102C400080935B0C08958EE893E10E94BD5481E06F -:102C50008093E01683E080935B0C089520E044E0CD -:102C600064E182E796E10E947F4B0E94DD8D82E75E -:102C700096E10C94404BF2DF20E040E050E0BA01D6 -:102C80008AE293EC4DC9109211111092101110921A -:102C90000F1110920E111092481310924713EBCFA0 -:102CA0008091DE169091DF16909311118093101190 -:102CB0008091DC169091DD1690930F1180930E1188 -:102CC0001092481310924713D6DF0C94574080910E -:102CD000D8169091D916909311118093101180916C -:102CE000D6169091D71690930F1180930E111092D3 -:102CF000481310924713BFDF0C94574080916D0C1E -:102D000090916E0C909311118093101180916B0C27 -:102D100090916C0C90930F1180930E1110924813A8 -:102D200010924713A8DF0C9457408091690C909142 -:102D30006A0C90931111809310118091670C9091FF -:102D4000680C90930F1180930E11109248131092FB -:102D5000471391DF0C9457408091650C9091660C5D -:102D600090931111809310118091630C9091640CD9 -:102D700090930F1180930E111092481310924713E5 -:102D80007ADF0C9457408091610C9091620C909383 -:102D900011118093101180915F0C9091600C9093B1 -:102DA0000F1180930E11109248131092471363DF96 -:102DB0000C945740CF92DF92EF92FF920F931F93A4 -:102DC000CF93DF938091671690916816A091691652 -:102DD000B0916A1681309048A105B10540F010927B -:102DE0006716109268161092691610926A168091F2 -:102DF000671690916816A0916916B0916A16B695FB -:102E0000A795979587954091701650E060E070E027 -:102E100084179507A607B70710F480937016D09112 -:102E200070161091711612FB112710F9C0E0BFE067 -:102E3000CB2ED12CE12CF12C01E040916716509162 -:102E400068166091691670916A16D11139C0809127 -:102E50005B0C8823C9F0E0917B13F0E0EE0FFF1FBD -:102E6000E45EFD4F0190F081E02D8681978123E0A3 -:102E7000423051056105710510F443E001C040E2A4 -:102E8000BC018C2F0E947A8E112309F4A4C1809179 -:102E9000671690916816A0916916B0916A1602970C -:102EA000A105B10508F097C129D88EEB9BEBDF9106 -:102EB000CF911F910F91FF90EF90DF90CF9046C878 -:102EC000D130A9F580915B0C882391F076956795B8 -:102ED0005795479520E2413051056105710511F480 -:102EE0004EE301C040E266E773E58C2F0E947A8EC4 -:102EF000112309F470C18091671690916816A09112 -:102F00006916B0916A16B695A7959795879501971A -:102F1000A105B10509F05FC10E947E8FDF91CF91BD -:102F20001F910F91FF90EF90DF90CF90D0CED230D5 -:102F3000A9F580915B0C882391F07695679557955C -:102F4000479520E2423051056105710511F44EE3C9 -:102F500001C040E267E673E58C2F0E947A8E112350 -:102F600009F439C18091671690916816A09169168D -:102F7000B0916A16B695A795979587950297A10582 -:102F8000B10509F028C10E947E8FDF91CF911F917A -:102F90000F91FF90EF90DF90CF9082CED330A9F5C4 -:102FA00080915B0C882391F07695679557954795AE -:102FB00020E2433051056105710511F44EE301C073 -:102FC00040E268E573E58C2F0E947A8E112309F4A4 -:102FD00002C18091671690916816A0916916B09110 -:102FE0006A16B695A795979587950397A105B1059C -:102FF00009F0F1C00E947E8FDF91CF911F910F9158 -:10300000FF90EF90DF90CF9090CED430A9F58091D3 -:103010005B0C882391F0769567955795479520E24C -:10302000443051056105710511F44EE301C040E2E1 -:1030300068E473E58C2F0E947A8E112309F4CBC0CB -:103040008091671690916816A0916916B0916A16E2 -:10305000B695A795979587950497A105B10509F0B1 -:10306000BAC00E947E8FDF91CF911F910F91FF9088 -:10307000EF90DF90CF9070CED530A9F580915B0CAA -:10308000882391F0769567955795479520E24530CE -:1030900051056105710511F44EE301C040E268E39A -:1030A00073E58C2F0E947A8E112309F494C08091CD -:1030B000671690916816A0916916B0916A16B69538 -:1030C000A795979587950597A105B10509F083C048 -:1030D0000E947E8FDF91CF911F910F91FF90EF9013 -:1030E000DF90CF900BCED630A9F580915B0C882372 -:1030F00091F0769567955795479520E246305105B2 -:103100006105710511F44EE301C040E269E273E527 -:103110008C2F0E947A8E112309F45DC0809167166E -:1031200090916816A0916916B0916A16B695A79508 -:10313000979587950697A105B10509F04CC00E94A7 -:103140007E8FDF91CF911F910F91FF90EF90DF90D5 -:10315000CF9019CED73009F03EC080915B0C882308 -:10316000E9F0E0917B13F0E0EE0FFF1FE45EFD4F0E -:103170000190F081E02D86A597A5769567955795E6 -:10318000479520E2473051056105710511F44EE382 -:1031900001C040E2BC018C2F0E947A8E1123D9F02D -:1031A0008091671690916816A0916916B0916A1681 -:1031B000B695A795979587950797A105B10559F4F9 -:1031C0000E947E8FDF91CF911F910F91FF90EF9022 -:1031D000DF90CF9058CD8091671690916816A0919E -:1031E0006916B0916A164097A105B10540F0C092EA -:1031F0006716D0926816E0926916F0926A164091AE -:103200006716509168166091691670916A167695E6 -:103210006795579547958091701690E00396242FF7 -:1032200030E0821793074CF48DEF840F8093701673 -:1032300000935B0CDCEFD40FCFEFCF5FDF5FC430C8 -:1032400008F4FBCDDF91CF911F910F91FF90EF908C -:10325000DF90CF9008952F923F924F925F926F929E -:103260007F928F929F92AF92BF92CF92DF92EF9216 -:10327000FF920F931F93CF93DF93CDB7DEB7A29743 -:103280000FB6F894DEBF0FBECDBF80915B0C8111ED -:1032900004C08091711682FFBAC28EE893E10E9449 -:1032A000BE5C4091671650916816609169167091E6 -:1032B0006A16413050486105710540F0109267165A -:1032C000109268161092691610926A16409167164D -:1032D000509168166091691670916A167695679597 -:1032E000579547950091701610E020E030E04017A8 -:1032F00051076207730710F44093701640907016E0 -:103300003090711632FA332430F8512C9C01215040 -:10331000310939A328A3411038C080915B0C882360 -:10332000F9F0E0917B13F0E0EE0FFF1FE45EFD4F3C -:103330000190F081E02D66817781809167169091F0 -:103340006816A0916916B0916A1623E00297A1054C -:10335000B10510F443E001C040E2852D0E947A8E51 -:10336000332099F08091671690916816A0916916A4 -:10337000B0916A160297A105B10538F40E947E8FBC -:103380008EEB9BEB0E94A68F42C262E973E18CEF49 -:1033900093E10E948331809192138F3229F031E0C2 -:1033A000431669F022E001C021E0A8A0B9A0C42C16 -:1033B000D12CE12CF12C22242394240C4BC080919D -:1033C0005B0C8823C9F08091671690916816A091D4 -:1033D0006916B0916A16B695A7959795879520E2DC -:1033E0000197A105B10511F44EE301C040E26EE082 -:1033F0007EE0852D0E947A8E3320A1F2809167169F -:1034000090916816A0916916B0916A16B695A79525 -:10341000979587950197A105B10521F60E947E8FAA -:10342000FFDBF5C1241161C140E050E0B5018EE839 -:1034300093E10E94D9589091D41380915B0C992309 -:1034400009F49BC081110BC0311074C0222DF1E032 -:10345000AF1AB1083FEFA316B30621F748C1809118 -:10346000671690916816A0916916B0916A16B69584 -:10347000A79597958795452D60E08C159D05AE0520 -:10348000BF0561F582E796E10E944C4B6EE382E74F -:1034900096E10E9496F565E082E796E10E9496F536 -:1034A00080919F13882329F01092B1130FE913E143 -:1034B00002C002E913E1B2E19B2EF80161918F0194 -:1034C000662311F0911062C1992009F4BDCF60E22A -:1034D00082E796E10E9496F59A94F6CF82E796E10C -:1034E0000E944C4B60E282E796E10E9496F565E00F -:1034F00082E796E10E9496F580919F13882329F038 -:103500001092B1130FE913E102C002E913E1A2E145 -:103510009A2EF80161918F01662311F091103CC140 -:10352000992009F491CF60E282E796E10E9496F536 -:103530009A94F6CF8091671690916816A0916916BB -:10354000B0916A16B695A795979587958C159D05A8 -:10355000AE05BF0509F07ACF0E947E8F62E973E164 -:103560008EE893E10E94215D109267161092681612 -:103570001092691610926A164AC1811103C0311067 -:1035800071C064CF8091671690916816A0916916FA -:10359000B0916A16B695A795979587958C159D0558 -:1035A000AE05BF05B1F52091FA162F8F10E0412F1F -:1035B00060E082E796E10E944C4B60E282E796E190 -:1035C0000E9496F51F5F143091F7452D60E082E769 -:1035D00096E10E944C4B6EE382E796E10E9496F5DD -:1035E00060EA862E63E1962E7FE9672E73E1772EDF -:1035F00001E010E0F30121913F012111D3C014E15A -:10360000101B60E282E796E10E9496F51150C9F71F -:10361000B6CF452D60E082E796E10E944C4B60E218 -:1036200082E796E10E9496F580919F13882329F006 -:103630001092B2130FE913E102C002E913E153E162 -:10364000952EF80161918F01662311F09110D9C078 -:10365000992009F494CF60E282E796E10E9496F502 -:103660009A94F6CF8091671690916816A09169168A -:10367000B0916A16B695A795979587958C159D0577 -:10368000AE05BF0509F0E2CE0E947E8F82E993E18C -:103690009F938F938AE893E59F938F938E010F5F9B -:1036A0001F4F1F930F930F94AE000F900F900F902A -:1036B0000F900F900F907E01F5E0EF0EF11CF701D7 -:1036C0008081882349F0992787FD90950E94E2FF29 -:1036D000F70181937F01F3CFC8010E94706286E8F1 -:1036E00093E50E94F062C7DA92C02F5FB0CE80915E -:1036F000671690916816A0916916B0916A16B695F2 -:10370000A79597958795422F50E060E070E0841769 -:103710009507A607B70788F0822F90E0880F991FBA -:103720000197AA2797FDA095BA2F809367169093CB -:103730006816A0936916B0936A16809167169091E7 -:103740006816A0916916B0916A16B695A7959795D7 -:1037500087952091701630E02D5F3F4F482F50E045 -:103760002417350764F42DEF280F2093701621E0FD -:1037700020935B0C1CEF412E480E55245A94539411 -:10378000439483E0851508F0C6CD41C082E796E1F9 -:103790000E9496F59A9491CE82E796E10E9496F562 -:1037A0009A94B7CE452D602F82E796E12AA30E9416 -:1037B0004C4B2AA1622F82E796E10E9496F50F5F9B -:1037C0001F4F0431110509F015CF34010CE211E04F -:1037D0008091711682FD05C08091FA163F8D3817D1 -:1037E00049F0015011090115110591F78FEF881A61 -:1037F000980AFECE61E070E080E090E00E945BF00D -:10380000F0CF82E796E10E9496F59A941ACFA2969D -:103810000FB6F894DEBF0FBECDBFDF91CF911F91E1 -:103820000F91FF90EF90DF90CF90BF90AF909F905F -:103830008F907F906F905F904F903F902F90089562 -:10384000CF93DF93CDB7DEB728970FB6F894DEBFDE -:103850000FBECDBF88E0E3EDFCE0DE0111960190E4 -:103860000D928A95E1F7AE014F5F5F4F61E082E70D -:1038700096E10E94EA4C28960FB6F894DEBF0FBE80 -:10388000CDBFDF91CF910895CF93DF93CDB7DEB752 -:1038900028970FB6F894DEBF0FBECDBF88E0EBE9E6 -:1038A000FCE0DE01119601900D928A95E1F7AE01E0 -:1038B0004F5F5F4F61E082E796E10E94EA4C2896F5 -:1038C0000FB6F894DEBF0FBECDBFDF91CF91089544 -:1038D0008EEF9FE00F94CA02853028F480937B130B -:1038E00010924616089581E080937B1380934616CC -:1038F00008951F93CF93DF93EC01FB016081118149 -:103900000F94DF02612FCE010196DF91CF911F91BD -:103910000D94DF02FF920F931F93CF93DF938C01DF -:10392000EB010F94CA02F82EC80101960F94CA0247 -:10393000F8828983DF91CF911F910F91FF900895B5 -:103940000895EF92FF920F931F93CF93DF931F92EF -:10395000CDB7DEB77B018C01061B170B460FC701E5 -:10396000800F911FF70161917F0149830F94DF025E -:1039700049814E11F4CF0F90DF91CF911F910F919C -:10398000FF90EF90089581E09091E516911180E00D -:103990008093E51641E065EE76E18FEF9FE0D1DFA1 -:1039A0000E941EDB21E047E050E060E070E085E12E -:1039B0009DE90C94908F81E09091E516911180E043 -:1039C0008093E51641E065EE76E18FEF9FE0B9DF89 -:1039D0000E941EDB21E049E050E060E070E080E3FF -:1039E00099EA0C94908FEF92FF920F931F93CF93CD -:1039F000DF931F92CDB7DEB77B018C01061B170B3F -:103A0000460FC701800F911F49830F94CA02F70127 -:103A100081937F0149814E13F4CF0F90DF91CF91B5 -:103A20001F910F91FF90EF9008958F929F92AF9208 -:103A3000BF92EF92FF920F931F93CF93DF9341E0DA -:103A400065EE76E18FEF9FE0CEDF80916716909173 -:103A50006816A0916916B0916A1681309048A10548 -:103A6000B10540F010926716109268161092691610 -:103A700010926A168091671690916816A091691647 -:103A8000B0916A16B695A79597958795409170164F -:103A900050E060E070E084179507A607B70710F4C0 -:103AA00080937016D09170161091711612FB112729 -:103AB00010F9C0E001E0D11143C080915B0C882374 -:103AC000F9F0E0917B13F0E0EE0FFF1FE45EFD4F95 -:103AD0000190F081E02D6681778180916716909149 -:103AE0006816A0916916B0916A1623E00297A105A5 -:103AF000B10510F443E001C040E28C2F0E947A8EA1 -:103B0000112309F4A2C08091671690916816A091C4 -:103B10006916B0916A160297A105B10508F095C023 -:103B20000E947E8F8EEB9BEBDF91CF911F910F91C7 -:103B3000FF90EF90BF90AF909F908F900C94A68FC6 -:103B4000D13009F042C080915B0C882329F1E091CB -:103B50007B13F0E0EE0FFF1FE45EFD4F0190F0815C -:103B6000E02DE856FF4F608171818091671690913A -:103B70006816A0916916B0916A16B695A7959795A3 -:103B800087952EE70197A105B10511F44EE301C019 -:103B900040E28C2F0E947A8E112309F456C0809146 -:103BA000671690916816A0916916B0916A16B6953D -:103BB000A795979587950197A105B10509F045C08F -:103BC0000E947E8F83E397EAC1C2D230F1F58091E3 -:103BD0005B0C882319F1E0917B13F0E0EE0FFF1FDF -:103BE000E45EFD4F0190F081E02D60AD71AD8091FC -:103BF000671690916816A0916916B0916A16B695ED -:103C0000A795979587952EE70297A105B10511F421 -:103C10004EE301C040E28C2F0E947A8E1123A9F05E -:103C20008091671690916816A0916916B0916A16F6 -:103C3000B695A795979587950297A105B10529F4A3 -:103C40000E947E8F88E594E981C28091E0168111FF -:103C500045C0D33019F034E0F32E42C080915B0CA4 -:103C6000882329F1E0917B13F0E0EE0FFF1FE45E63 -:103C7000FD4F0190F081E02DEA50FF4F608171818E -:103C80008091671690916816A0916916B0916A1696 -:103C9000B695A7959795879520E20397A105B1055D -:103CA00011F44EE301C040E28C2F0E947A8E112362 -:103CB00091F28091671690916816A0916916B09163 -:103CC0006A16B695A795979587950397A105B105AF -:103CD00011F60E947E8F88EA93E551C063E0F62ECC -:103CE0008091E0168111A6C0FD1255C080915B0C39 -:103CF000882351F1E0917B13F0E0EE0FFF1FE45EAB -:103D0000FD4F0190F081E02D0284F385E02D80913C -:103D1000671690916816A0916916B0916A16B695CB -:103D2000A795979587954F2D50E060E070E020E2D1 -:103D300084179507A607B70711F44EE301C040E2C8 -:103D4000BF018C2F0E947A8E112329F18091671672 -:103D500090916816A0916916B0916A16B695A795CC -:103D6000979587954F2D50E060E070E08417950798 -:103D7000A607B70781F40E947E8F84EA93E5DF915E -:103D8000CF911F910F91FF90EF90BF90AF909F90B8 -:103D90008F900C94F062EE24E394EF0CED1248C087 -:103DA00080915B0C882341F1E0917B13F0E0EE0FF2 -:103DB000FF1FE45EFD4F0190F081E02D6485758565 -:103DC0008091671690916816A0916916B0916A1655 -:103DD000B695A795979587958D2E912CA12CB12CF2 -:103DE00020E288159905AA05BB0511F44EE301C030 -:103DF00040E28C2F0E947A8E1123D1F080916716B9 -:103E000090916816A0916916B0916A16B695A7951B -:103E1000979587954E2D50E060E070E084179507E8 -:103E2000A607B70729F40E947E8F80EA93E5A7CF03 -:103E3000F394F3948091E516811113C0FD1267C0CD -:103E400080915B0C8823E9F1E0917B13F0E0EE0FA9 -:103E5000FF1FE45EFD4F0190F081E02DEA5DFE4F13 -:103E600012C0FD1254C080915B0C882351F1E09187 -:103E70007B13F0E0EE0FFF1FE45EFD4F0190F08139 -:103E8000E02DEC5DFE4F0190F081E02D80916716F2 -:103E900090916816A0916916B0916A16B695A7958B -:103EA000979587954F2D50E060E070E020E28417F1 -:103EB0009507A607B70749F140E2BF018C2F0E9482 -:103EC0007A8E112321F18091671690916816A09146 -:103ED0006916B0916A16B695A795979587954F2D57 -:103EE00050E060E070E084179507A607B70779F403 -:103EF0000E947E8FDF91CF911F910F91FF90EF90E5 -:103F0000BF90AF909F908F903ECD4EE3D6CFF3946D -:103F100064EF76E18CEF9FE0FDDC66EF76E18AEFFF -:103F20009FE0F8DC68EF76E188EF9FE0F3DC6091DA -:103F3000F8167091F916882777FD8095982F0E94C2 -:103F400081F72091091D30910A1D40910B1D509160 -:103F50000C1D0E94E6F66093F0167093F1168093A4 -:103F6000F2169093F3168091E01681114FC0FD1266 -:103F70004CC080915B0C882361F1E0917B13F0E0F1 -:103F8000EE0FFF1FE45EFD4F0190F081E02DE25146 -:103F9000FF4F0190F081E02D809167169091681697 -:103FA000A0916916B0916A16B695A79597958795D1 -:103FB0004F2D50E060E070E02EE784179507A607CC -:103FC000B70711F44EE301C040E2BF018C2F0E94FD -:103FD0007A8E1123D1F08091671690916816A09186 -:103FE0006916B0916A16B695A795979587954F2D46 -:103FF00050E060E070E084179507A607B70729F442 -:104000000E947E8F87E59FEAA1C0F394FD124CC009 -:1040100080915B0C882361F1E0917B13F0E0EE0F5F -:10402000FF1FE45EFD4F0190F081E02DE454FE4F50 -:104030000190F081E02D8091671690916816A09113 -:104040006916B0916A16B695A795979587954F2DE5 -:1040500050E060E070E02EE784179507A607B707E9 -:1040600011F44EE301C040E2BF018C2F0E947A8E12 -:104070001123D1F08091671690916816A09169166E -:10408000B0916A16B695A795979587954F2D50E0F4 -:1040900060E070E084179507A607B70729F40E942F -:1040A0007E8F87E794E952C0EE24E394EF0C809171 -:1040B000E01681115AC0ED1255C080915B0C882327 -:1040C00051F1E0917B13F0E0EE0FFF1FE45EFD4F36 -:1040D0000190F081E02DEE50FE4F60817181809162 -:1040E000671690916816A0916916B0916A16B695F8 -:1040F000A795979587958D2E912CA12CB12C2EE705 -:1041000088159905AA05BB0511F44EE301C040E2EC -:104110008C2F0E947A8E112329F1409167165091BD -:1041200068166091691670916A167695679557952D -:1041300047958E2D90E0A0E0B0E0481759076A0738 -:104140007B0781F40E947E8F85E597EBDF91CF910D -:104150001F910F91FF90EF90BF90AF909F908F9025 -:104160000C94AB8F82E0E82EEF0C409167165091D3 -:1041700068166091691670916A16769567955795DD -:1041800047958E2D90E0A0E0B0E0481759076A07E8 -:104190007B0788F08E2D90E0880F991F0197AA2742 -:1041A00097FDA095BA2F8093671690936816A093F9 -:1041B0006916B0936A16409167165091681660911F -:1041C000691670916A16769567955795479580910F -:1041D000701690E00396242F30E0821793074CF47A -:1041E0008DEF840F8093701600935B0CDCEFD40F7F -:1041F000CFEFCF5FDF5FC43008F45DCCDF91CF91AC -:104200001F910F91FF90EF90BF90AF909F908F9074 -:1042100008956FEF8EEF9FE00D94DF02809360169C -:1042200010925F160895EEEBF6E101900020E9F799 -:104230003197EE5BF6411E161F0634F01092D2162F -:1042400082E080935B0C089580E2E431F105B4F7DD -:10425000DF01A254B94E8C933196F7CF2091D3163B -:10426000211108C044E150E0BC018EEB96E10F94AF -:104270009F00D9CF08952091D316211108C044E1A1 -:1042800050E0BC018EEB96E10F941200CCCF089564 -:104290008091E3169091E416019709F050C0809147 -:1042A000E1169091E216892B49F485E090E0909315 -:1042B000E2168093E11681E0809372138091E116FB -:1042C0009091E216019739F49091CD178091CC1717 -:1042D000981709F4A4C08091E1169091E216029714 -:1042E00039F49091CD178091CC17981709F4B6C086 -:1042F0008091E1169091E216039739F49091CD17D1 -:104300008091CC17981709F4C3C08091E116909161 -:10431000E216049739F49091CD178091CC17981735 -:1043200009F4C1C08091E1169091E216059739F425 -:104330009091CD178091CC17981709F4CEC0809139 -:10434000E3169091E416029709F05DC08091E116A2 -:104350009091E216892B49F486E090E09093E21662 -:104360008093E11681E0809372138091E116909121 -:10437000E216019739F49091CD178091CC179817D8 -:1043800009F4CBC08091E1169091E216029739F4BE -:104390009091CD178091CC17981709F4D6C08091D1 -:1043A000E1169091E216039739F49091CD17809120 -:1043B000CC17981709F4F1C08091E1169091E2169C -:1043C000049739F49091CD178091CC17981709F480 -:1043D000EFC08091E1169091E216059739F4909123 -:1043E000CD178091CC17981709F4F5C08091E1168C -:1043F0009091E216069739F49091CD178091CC17E1 -:10440000981709F406C18091E3169091E41603977A -:1044100009F02AC11092E4161092E3160895109242 -:10442000E2161092E1161092E4161092E316E09153 -:104430007B13F0E0EE0FFF1FE45EFD4F0190F08173 -:10444000E02D8081918117DF159A10925013109200 -:10445000721310927113109270133DCFE0917B1381 -:10446000F0E0EE0FFF1FE45EFD4F0190F081E02DC4 -:10447000EA5EFE4F80819181FEDE8DEE92E50E9424 -:10448000F06281E090E09093E2168093E11630CFE5 -:1044900081EE92E50E94F06282E090E09093E21655 -:1044A0008093E11632CFE0917B13F0E0EE0FFF1F17 -:1044B000E45EFD4F0190F081E02DE05EFE4F8081D3 -:1044C0009181D9DE8DED92E50E94F06283E090E06B -:1044D0009093E2168093E11625CFE0917B13F0E0F4 -:1044E000EE0FFF1FE45EFD4F0190F081E02DE85ECE -:1044F000FE4F80819181BFDE159881E08093721319 -:1045000082E090E0909371138093701384E090E0C8 -:104510009093E2168093E11612CF1092E216109259 -:10452000E1161092E4161092E316E0917B13F0E08E -:10453000EE0FFF1FE45EFD4F0190F081E02D8081C2 -:10454000918199DE109272131DCF10920F1110926B -:104550000E1110921111109210111092131110924D -:10456000121110921511109214110E940946E09137 -:104570007B13F0E0EE0FFF1FE45EFD4F0190F08132 -:10458000E02D8081918177DE1092381381E090E0F8 -:104590009093E2168093E11602CF89ED92E50E9496 -:1045A000F06282E090E09093E2168093E11604CFEF -:1045B00085ED92E50E94F06280EC92E50E94F06247 -:1045C0001092601610925F1683E090E09093E216CE -:1045D0008093E116FECEE0917B13F0E0EE0FFF1F1B -:1045E000E45EFD4F0190F081E02DEA53FF4F8081A2 -:1045F000918141DE8CEB92E50E94F0628FEA92E5B8 -:104600000E94F06284E090E09093E2168093E116BD -:10461000EDCEE0917B13F0E0EE0FFF1FE45EFD4F67 -:104620000190F081E02DEA53FF4F8081918123DEDC -:1046300081E08093381310920F1110920E11109296 -:104640001111109210111092131110921211109258 -:104650001511109214110E94094685E090E0909384 -:10466000E2168093E116CFCE089505DE81E08093B7 -:10467000D3160C943B961092D3160895CF92DF92E6 -:10468000EF92FF92CF93CCB1C095CC1FCC27CC1F1B -:104690008091030183FFC260C0906C16D0906D16AC -:1046A000E0906E16F0906F160E942CF0C616D7069A -:1046B000E806F90610F4489B39C0C0937116809142 -:1046C000711681709091711691FD826090916B16B8 -:1046D000891721F18130F1F028F0823089F08330A0 -:1046E000A1F01CC0913021F49091FA169F5F05C093 -:1046F0009230A1F49091FA1691509093FA160EC050 -:10470000992391F3933051F4F5CF923069F39130BE -:1047100029F4F0CF933041F3992361F380936B1622 -:10472000CF91FF90EF90DF90CF900895C460C5CFF8 -:104730000E942E966F98E4E0F1E08081877F80836D -:10474000779A9FB7F894E5E0F1E0808188608083F4 -:104750009FBF5098589A60E088E40E944CEF9FB742 -:10476000F894E5E0F1E08081846080839FBF8091D0 -:10477000030182FB882780F991E0892780936616E0 -:104780007DDF1092FA160895CF92DF92EF92FF929A -:1047900075DF8091030191E082FB882780F98927EA -:1047A00020916616821719F182E080935B0C80914C -:1047B000030182FB882780F98927809366160E946F -:1047C0002E9680916616882309F4A8C08EE893E19E -:1047D0000E94B353E0917B13F0E0EE0FFF1FE45E05 -:1047E000FD4F0190F081E02D8281938144DDC090E6 -:1047F0006216D0906316E0906416F09065160E94E1 -:104800002CF0C616D706E806F90608F09EC080917F -:10481000FA16482F552747FD509557FF03C051956D -:10482000419551094230510584F191E090935B0C20 -:1048300087FD8F5F482F4595552747FD5095652F7C -:10484000752F8091671690916816A0916916B091A6 -:104850006A16840F951FA61FB71F80936716909343 -:104860006816A0936916B0936A161092FA160E9401 -:104870002CF06856754C8F4F9F4F6093361670938F -:10488000371680933816909339168091711682FFEF -:104890000EC00E942CF06856754C8F4F9F4F60934E -:1048A0003616709337168093381690933916E09128 -:1048B0005C0CF0915D0C1995C0903616D0903716AF -:1048C000E0903816F09039160E942CF0C616D706E4 -:1048D000E806F90638F480915C0C90915D0C8A52E0 -:1048E000934C69F580915B0C823011F40E94698FC2 -:1048F00080915B0C882319F0815080935B0C0E949F -:104900002CF06C597F4F8F4F9F4F609362167093BE -:104910006316809364169093651617C08EE893E132 -:104920000E94B254E0917B13F0E0EE0FFF1FE45EB3 -:10493000FD4F0190F081E02D8481958157CF0E9439 -:104940003B9682E080935B0CCDCFFF90EF90DF90A1 -:10495000CF90089581E008958091711682FB882799 -:1049600080F90895FC01808190E02AE030E0B901EF -:104970000E94AAFA482FCB01B9010E94AAFA805DD1 -:1049800080933A16405D40933B1610923C168AE3A2 -:1049900096E1089520E030E040E251E4FC016081BE -:1049A0007181828193810E94B4F90E944EF777FD54 -:1049B00002C02BE201C02DE220933A169B0177FF43 -:1049C00004C022273327261B370BC90168EE73E08A -:1049D0000E94AAFACB01EAE0F0E0BF010E94AAFA25 -:1049E000805D80933B16C90164E670E00E94AAFADC -:1049F000CB01BF010E94AAFA805D80933C16C901D9 -:104A0000BF010E94AAFA282FCB01BF010E94AAFA77 -:104A1000805D80933D168EE280933E16205D20934C -:104A20003F16109240168AE396E108958F929F9266 -:104A3000AF92BF92CF92DF92EF92FF92CF93FC01A1 -:104A4000C080D180E280F38020E030E0A901C7017E -:104A5000B6010E94E2F818161CF4C701B60103C0A3 -:104A6000C701B60190580E944EF76B017C0160317E -:104A7000F7E27F078105910584F020E137E240E00D -:104A800050E00E94DFFACA01B9012AE030E040E0BC -:104A900050E00E94DFFA605D01C060E260933A1668 -:104AA00088EEC81683E0D806E104F10494F0C7014B -:104AB000B60128EE33E040E050E00E94DFFACA0180 -:104AC000B9012AE030E040E050E00E94DFFA605D8A -:104AD00001C060E260933B16E4E6CE16D104E10427 -:104AE000F10494F0C701B60124E630E040E050E064 -:104AF0000E94DFFACA01B9012AE030E040E050E04C -:104B00000E94DFFA605D01C060E360933C168EE2B4 -:104B100080933D167AE0872E912CA12CB12CC701F1 -:104B2000B601A50194010E94DFFAC62FCA01B9019E -:104B3000A50194010E94DFFA605D60933E16C05D9E -:104B4000C0933F168AE396E1CF91FF90EF90DF90FC -:104B5000CF90BF90AF909F908F9008958F929F922B -:104B6000AF92BF92CF92DF92EF92FF92CF9320E06D -:104B700030E04AE754E4FC016081718182819381D5 -:104B80000E94B4F90E944EF797FD02C020E201C0D6 -:104B90002DE220933A166B017C0197FF08C0F09438 -:104BA000E094D094C094C11CD11CE11CF11CC7013D -:104BB000B60128EE33E040E050E00E94DFFAAAE0C0 -:104BC0008A2E912CA12CB12CCA01B901A501940106 -:104BD0000E94DFFA605D60933B168EE280933C1684 -:104BE000C701B60124E630E040E050E00E94DFFA61 -:104BF000CA01B901A50194010E94DFFA605D6093CA -:104C00003D16C701B601A50194010E94DFFAC62F27 -:104C1000CA01B901A50194010E94DFFA605D6093A9 -:104C20003E16C05DC0933F16109240168AE396E18F -:104C3000CF91FF90EF90DF90CF90BF90AF909F907B -:104C40008F9008958F929F92AF92BF92CF92DF92F2 -:104C5000EF92FF92FC0180809180A280B38020E0DF -:104C600030E048EC52E4C501B4010E94B4F96B0194 -:104C70007C0120E030E0A9010E94E2F818161CF443 -:104C8000C701B60103C0C701B60190580E944EF794 -:104C90006B017C0120E030E0A901C501B4010E9454 -:104CA000DFF687FF12C08DE280933A16C701B60186 -:104CB00028EE33E040E050E00E94DFFACA01B9017B -:104CC0002AE030E040E050E036C0C701B60120E104 -:104CD00037E240E050E00E94DFFA8AE0882E912C13 -:104CE000A12CB12CCA01B901A50194010E94DFFADF -:104CF000662391F0605D60933A16C701B60128EE15 -:104D000033E040E050E00E94DFFACA01B901A5019A -:104D100094010E94DFFA13C080E280933A16C70123 -:104D2000B60128EE33E040E050E00E94DFFACA010D -:104D3000B901A50194010E94DFFA662311F0605DBC -:104D400001C060E260933B16C701B60124E630E083 -:104D500040E050E00E94DFFABAE08B2E912CA12CAB -:104D6000B12CCA01B901A50194010E94DFFA605D6E -:104D700060933C16C701B601A50194010E94DFFAB9 -:104D8000662381F0605D60933F16CA01B901A501F9 -:104D900094010E94DFFA605D60933E168EE280937C -:104DA0003D1615C0CA01B901A50194010E94DFFAA0 -:104DB000662329F0605D60933E168EE203C080E2B8 -:104DC00080933E1680933D1680E280933F161092AA -:104DD00040168AE396E1FF90EF90DF90CF90BF906E -:104DE000AF909F908F900895FC012081318137FF13 -:104DF00007C08DE280933A1631952195310914C090 -:104E00002436310574F0C90164E670E00E94AAFA04 -:104E1000CB016AE070E00E94AAFA805D80933A16A6 -:104E200006C080E280933A162A30310564F0EAE049 -:104E3000F0E0C901BF010E94AAFACB01BF010E94A4 -:104E4000AAFA805D01C080E280933B16C9016AE046 -:104E500070E00E94AAFA805D80933C1610923D1685 -:104E60008AE396E10895AF92BF92CF92DF92EF92DC -:104E7000FF920F931F93CF93DF9360911402709171 -:104E8000150280911602909117020E948B4A60933E -:104E90004B1670934C1680934D1690934E1660915E -:104EA00010027091110280911202909113020E94DF -:104EB000974A6093471670934816809349169093CB -:104EC0004A168091671690916816A0916916B09164 -:104ED0006A1681309048A105B10540F0109267161E -:104EE000109268161092691610926A1680916716D1 -:104EF00090916816A0916916B0916A16B695A7951B -:104F0000979587954091701650E060E070E08417A7 -:104F10009507A607B70710F48093701600917016D6 -:104F2000B0907116B2FABB24B0F810E0E7E0CE2ED4 -:104F3000D12CE12CF12CAA24A39480916716909196 -:104F40006816A0916916B0916A1601113DC02091B2 -:104F50005B0C2223C9F0E0917B13F0E0EE0FFF1F02 -:104F6000E45EFD4F0190F081E02DE450FF4F608141 -:104F7000718123E00297A105B10510F443E001C05F -:104F800040E2812F0E947A8EBB2009F427C18091D4 -:104F9000671690916816A0916916B0916A160297EB -:104FA000A105B10508F01AC10E947E8F85E19DE937 -:104FB000DF91CF911F910F91FF90EF90DF90CF90F5 -:104FC000BF90AF900C94A68F013009F052C0209191 -:104FD0005B0C222329F1E0917B13F0E0EE0FFF1F21 -:104FE000E45EFD4F0190F081E02DE25BFF4FC08158 -:104FF000D181B695A795979587950197A105B1059C -:1050000031F480E191E1F0DE9C014EE305C080E1E6 -:1050100091E1EADE9C0140E2BE01812F0E94278FD0 -:10502000BB2009F4DBC08091671690916816A091AF -:105030006916B0916A16B695A795979587950197C9 -:10504000A105B10509F0CAC00E947E8FE0917B13D3 -:10505000F0E0EE0FFF1FE45EFD4F0190F081E02DC8 -:10506000E25BFF4F2FEF30E040E050E060E171E1A4 -:10507000A7C0023009F052C020915B0C222329F115 -:10508000E0917B13F0E0EE0FFF1FE45EFD4F019017 -:10509000F081E02DEC5AFF4FC081D181B695A795E4 -:1050A000979587950297A105B10531F48EE091E1BE -:1050B0009BDE9C014EE305C08EE091E195DE9C01F4 -:1050C00040E2BE01812F0E94278FBB2009F486C0D9 -:1050D0008091671690916816A0916916B0916A1632 -:1050E000B695A795979587950297A105B10509F003 -:1050F00075C00E947E8FE0917B13F0E0EE0FFF1FE2 -:10510000E45EFD4F0190F081E02DEC5AFF4F23E962 -:1051100030E040E050E06EE071E152C0033009F051 -:105120005DC020915B0C222329F1E0917B13F0E01C -:10513000EE0FFF1FE45EFD4F0190F081E02DEA5A73 -:10514000FF4FC081D181B695A79597958795039715 -:10515000A105B10531F487E493E146DE9C014EE3FD -:1051600005C087E493E140DE9C0140E2BE01812F4F -:105170000E94278FBB2091F180916716909168164D -:10518000A0916916B0916A16B695A79597958795DF -:105190000397A105B10511F50E947E8FE0917B1365 -:1051A000F0E0EE0FFF1FE45EFD4F0190F081E02D77 -:1051B000EA5AFF4F2FEF30E040E050E067E473E140 -:1051C00080819181DF91CF911F910F91FF90EF909E -:1051D000DF90CF90BF90AF900C948B8D809167162D -:1051E00090916816A0916916B0916A160897A1056A -:1051F000B10540F0C0926716D0926816E092691629 -:10520000F0926A164091671650916816609169167F -:1052100070916A16769567955795479580917016A7 -:1052200090E00396242F30E0821793074CF48DEF23 -:10523000840F80937016A0925B0C0CEF040F1FEF8D -:105240001F5F0F5F143008F478CEDF91CF911F916C -:105250000F91FF90EF90DF90CF90BF90AF900895A7 -:10526000AF92BF92CF92DF92EF92FF920F931F9374 -:10527000CF93DF9341E065EE76E18FEF9FE00E94F0 -:10528000F39C8091671690916816A0916916B09171 -:105290006A1681309048A105B10540F0109267165A -:1052A000109268161092691610926A16809167160D -:1052B00090916816A0916916B0916A16B695A79557 -:1052C000979587954091701650E060E070E08417E4 -:1052D0009507A607B70710F4809370160091701613 -:1052E000B0907116B2FABB24B0F810E04FE0C42EB3 -:1052F000D12CE12CF12CAA24A394809167169091D3 -:105300006816A0916916B0916A1601113BC02091F0 -:105310005B0C2223B9F0E0917B13F0E0EE0FFF1F4E -:10532000E45EFD4F0190F081E02D6681778123E0FE -:105330000297A105B10510F443E001C040E2812FBE -:105340000E947A8EBB2009F419C280916716909151 -:105350006816A0916916B0916A160297A105B10569 -:1053600008F00CC20E947E8F8EEB9BEBDF91CF91F9 -:105370001F910F91FF90EF90DF90CF90BF90AF9073 -:105380000C94A68F013009F052C020915B0C2223AF -:1053900029F1E0917B13F0E0EE0FFF1FE45EFD4F7B -:1053A0000190F081E02DE45BFF4FC081D181B69583 -:1053B000A795979587950197A105B10531F489E4E3 -:1053C0009CE012DD9C014EE305C089E49CE00CDD0D -:1053D0009C0140E2BE01812F0E94278FBB2009F46F -:1053E000CDC18091671690916816A0916916B09111 -:1053F0006A16B695A795979587950197A105B1056A -:1054000009F0BCC10E947E8FE0917B13F0E0EE0FAB -:10541000FF1FE45EFD4F0190F081E02DE45BFF4F44 -:1054200027EE33E04AE050E069E47CE054C002300B -:1054300009F05FC020915B0C222329F1E0917B13DE -:10544000F0E0EE0FFF1FE45EFD4F0190F081E02DD4 -:10545000E25BFF4FC081D181B695A795979587955F -:105460000297A105B10531F480E191E1BDDC9C0119 -:105470004EE305C080E191E1B7DC9C0140E2BE0152 -:10548000812F0E94278FBB2009F478C18091671675 -:1054900090916816A0916916B0916A16B695A79575 -:1054A000979587950297A105B10509F067C10E94FC -:1054B0007E8FE0917B13F0E0EE0FFF1FE45EFD4F67 -:1054C0000190F081E02DE25BFF4F2FEF30E040E0F4 -:1054D00050E060E171E180819181DF91CF911F9176 -:1054E0000F91FF90EF90DF90CF90BF90AF900C9412 -:1054F0008B8D033009F052C020915B0C222329F1DF -:10550000E0917B13F0E0EE0FFF1FE45EFD4F019092 -:10551000F081E02DEC5AFF4FC081D181B695A7955F -:10552000979587950397A105B10531F48EE091E138 -:105530005BDC9C014EE305C08EE091E155DC9C01F3 -:1055400040E2BE01812F0E94278FBB2009F416C1C3 -:105550008091671690916816A0916916B0916A16AD -:10556000B695A795979587950397A105B10509F07D -:1055700005C10E947E8FE0917B13F0E0EE0FFF1FCC -:10558000E45EFD4F0190F081E02DEC5AFF4F2CE8D6 -:1055900030E040E050E06EE071E19DCF043009F072 -:1055A00052C020915B0C222329F1E0917B13F0E0A3 -:1055B000EE0FFF1FE45EFD4F0190F081E02DEA5AEF -:1055C000FF4FC081D181B695A79597958795049790 -:1055D000A105B10531F487E493E106DC9C014EE3BB -:1055E00005C087E493E100DC9C0140E2BE01812F0D -:1055F0000E94278FBB2009F4C1C08091671690914B -:105600006816A0916916B0916A16B695A7959795F8 -:1056100087950497A105B10509F0B0C00E947E8F5F -:10562000E0917B13F0E0EE0FFF1FE45EFD4F019071 -:10563000F081E02DEA5AFF4F2FEF30E040E050E0DC -:1056400067E473E148CF053009F052C020915B0C4C -:10565000222329F1E0917B13F0E0EE0FFF1FE45EBF -:10566000FD4F0190F081E02DE85AFF4FC081D181BC -:10567000B695A795979587950597A105B10531F43E -:1056800087E49CE0B1DB9C014EE305C087E49CE02D -:10569000ABDB9C0140E2BE01812F0E94278FBB2023 -:1056A00009F46CC08091671690916816A0916916F4 -:1056B000B0916A16B695A795979587950597A10518 -:1056C000B10509F05BC00E947E8FE0917B13F0E092 -:1056D000EE0FFF1FE45EFD4F0190F081E02DE85AD0 -:1056E000FF4F27EE33E04AE050E067E47CE0F3CE82 -:1056F000063009F043C020915B0C2223E9F0E091D1 -:105700007B13F0E0EE0FFF1FE45EFD4F0190F08190 -:10571000E02DE252FF4F60817181B695A795979574 -:10572000879520E20697A105B10511F44EE301C06B -:1057300040E2812F0E947A8EBB2001F18091671692 -:1057400090916816A0916916B0916A16B695A795C2 -:10575000979587950697A105B10581F40E947E8FE4 -:1057600084E293E5DF91CF911F910F91FF90EF902D -:10577000DF90CF90BF90AF900C94F0622091E5162F -:105780008091671690916816A0916916B0916A167B -:10579000211114C0073009F055C020915B0C222361 -:1057A00079F1E0917B13F0E0EE0FFF1FE45EFD4F17 -:1057B0000190F081E02DEA5DFE4F13C0073009F043 -:1057C00041C020915B0C2223D9F0E0917B13F0E0E3 -:1057D000EE0FFF1FE45EFD4F0190F081E02DEC5DC8 -:1057E000FE4F60817181B695A7959795879520E2C8 -:1057F0000797A105B10521F140E2812F0E947A8E21 -:10580000BB2001F18091671690916816A0916916EE -:10581000B0916A16B695A795979587950797A105B4 -:10582000B10581F40E947E8FDF91CF911F910F917E -:10583000FF90EF90DF90CF90BF90AF900C94DB9CE7 -:105840004EE3DBCF8091671690916816A0916916A0 -:10585000B0916A164097A105B10540F0C092671655 -:10586000D0926816E0926916F0926A1680916716D7 -:1058700090916816A0916916B0916A16B695A79591 -:10588000979587952091701630E02D5F3F4F482FF8 -:1058900050E0241735074CF42DEF280F2093701695 -:1058A000A0925B0C0CEF080F1FEF1F5F0F5F14300F -:1058B00008F423CDDF91CF911F910F91FF90EF90CE -:1058C000DF90CF90BF90AF900895FC0180819181CF -:1058D0008436910524F164E670E00E94AAFACB01B7 -:1058E0002AE030E0B9010E94AAFA805D80933A165E -:1058F00080819181B9010E94AAFACB01B9010E946D -:10590000AAFA805D80933B1680819181B9010E9443 -:10591000AAFA805D80933C1610923D1623C08A300F -:105920009105BCF02AE030E0B9010E94AAFACB014F -:10593000B9010E94AAFA805D80933A168081918114 -:10594000B9010E94AAFA805D80933B1610923C1622 -:1059500009C06AE070E00E94AAFA805D80933A165E -:1059600010923B168AE396E10895FC0180819181B3 -:10597000883E23E092075CF068EE73E00E94AAFA8A -:10598000CB016AE070E00E94AAFA805D01C080E26B -:1059900080933A1680819181843691055CF064E6AB -:1059A00070E00E94AAFACB016AE070E00E94AAFAB5 -:1059B000805D01C080E280933B16808191818A30B6 -:1059C00091055CF02AE030E0B9010E94AAFACB010F -:1059D000B9010E94AAFA805D01C080E280933C1662 -:1059E000808191816AE070E00E94AAFA805D8093D4 -:1059F0003D1610923E168AE396E10895CF92EF92FB -:105A00000F93FFE1CF2EA0E2EA2E0FE02EE045E05B -:105A100066E282E796E10E94374C0F91EF90CF90BB -:105A20000895CF93DF93FC016491EC0121966623E6 -:105A300031F082E796E10E94244DCE01F4CFDF9150 -:105A4000CF9108950F931F93CF93DF938C01EB01B8 -:105A500041E061E082E796E10E944C4BC801E1DF42 -:105A60006AE382E796E10E9496F5FE01019000202C -:105A7000E9F76C2F6E1B6C5E41E082E796E10E94B5 -:105A80004C4BBE0182E796E1DF91CF911F910F91C0 -:105A90000C9495F5CF92DF92EF92FF920F931F93A4 -:105AA0008091671690916816A0916916B0916A1658 -:105AB0000097A105B10509F442C0BC01882777FD14 -:105AC0008095982F0E9481F72091421630914316BD -:105AD00040914416509145160E94B4F99B01AC01C7 -:105AE0006091691370916A1380916B1390916C139C -:105AF0000E9406F66093691370936A1380936B1388 -:105B000090936C1310926716109268161092691693 -:105B100010926A16B9E4CB2EB3E1DB2EE12CF12C06 -:105B200000E81FE329E633E145E653E161E673E16E -:105B30008DE593E10E9457E181E080935B0C8091B9 -:105B40005B0C882341F089E693E10E94CAA4BC0162 -:105B500087E993E577DF8091711682FF0EC021E01F -:105B600040E050E0BA018CE792E91F910F91FF905D -:105B7000EF90DF90CF900C94908F1F910F91FF903A -:105B8000EF90DF90CF900895CF93DF931F921F92F5 -:105B9000CDB7DEB78091671690916816A09169160F -:105BA000B0916A16B7FF08C0109267161092681677 -:105BB0001092691610926A1680914F1690915016A5 -:105BC000A0915116B09152164091671650916816E7 -:105BD0006091691670916A1684179507A607B70732 -:105BE00044F48093671690936816A0936916B09357 -:105BF0006A1680915B0C8823A9F0809153169091CE -:105C000054162091671630916816820F931F9A835D -:105C10008983CE010196E8D8BC01809159169091F4 -:105C20005A1610DF8091711682FF1DC0E091571641 -:105C3000F091581680915316909154162091671642 -:105C400030916816820F931F9183808340915B1679 -:105C500050915C1660E070E021E080915D169091BB -:105C60005E160E94908F0F900F90DF91CF91089554 -:105C70004F925F926F927F928F929F92AF92BF925C -:105C8000CF92DF92EF92FF920F931F93CF93DF9308 -:105C90004C015B017A018091671690916816A09182 -:105CA0006916B0916A16892B8A2B8B2B09F47BC05D -:105CB0000E948B65E501CC0FDD1FCC0FDD1F8E012F -:105CC000035A1C4E6091671670916816882777FDFD -:105CD0008095982F0E9481F72091421630914316AB -:105CE00040914416509145160E94B4F9F801208164 -:105CF0003181428153810E9406F62B013C0120E054 -:105D000030E0A9010E94DFF6F80187FD05C040825E -:105D100051826282738204C01082118212821382C5 -:105D2000B701882777FD8095982F0E9481F76B0136 -:105D30007C018E01035A1C4E9B01AC01F80160816D -:105D40007181828193810E94E2F818162CF4F80187 -:105D5000C082D182E282F382109267161092681696 -:105D60001092691610926A16CE57D14F20E030E09B -:105D700040E752E4688179818A819B810E94E6F63E -:105D800039E4C32E33E1D32E7B018C0129E633E1C4 -:105D900045E653E161E673E18DE593E10E9457E149 -:105DA00081E080935B0C80915B0C882361F0C501DE -:105DB000880F991F880F991F835A9C4E0E94CAA46E -:105DC000BC01C4013FDE8091711682FF18C021E042 -:105DD00040E050E0BA018CE792E9DF91CF911F914A -:105DE0000F91FF90EF90DF90CF90BF90AF909F907A -:105DF0008F907F906F905F904F900C94908FDF9179 -:105E0000CF911F910F91FF90EF90DF90CF90BF90B7 -:105E1000AF909F908F907F906F905F904F9008957C -:105E200046ED50E060E070E081E993E521CF46EC7B -:105E300050E061E070E083E993E51ACF49EC50E06F -:105E400062E070E085E993E513CF0F931F93CF9342 -:105E5000DF938C01EB0141E060E082E796E10E9474 -:105E60004C4BC801DEDD6AE382E796E10E9496F5BD -:105E7000FE0101900020E9F7BE016E1B7F0B6B5EF7 -:105E80007F4F7695679543E082E796E10E944C4B01 -:105E9000BE0182E796E10E9495F564E17EE082E72B -:105EA00096E1DF91CF911F910F910C9495F5CF93CF -:105EB000DF93E0917B13F0E0EE0FFF1FE45EFD4FF8 -:105EC0000190F081E02DEA54FE4FC081D181809194 -:105ED000671690916816A0916916B0916A1600979E -:105EE000A105B105F1F12091FF1030910011280FAB -:105EF000391F309300112093FF102091F816309134 -:105F0000F916280F391F3093F9162093F816B901A6 -:105F1000882777FD8095982F0E9481F72091091D91 -:105F200030910A1D40910B1D50910C1D0E94E6F608 -:105F30006093F0167093F1168093F2169093F31617 -:105F400062E370E080E090E00E945BF010926716E0 -:105F5000109268161092691610926A1681E080936A -:105F60005B0C80915B0C882339F080EF96E10E94F6 -:105F7000AEA5BC01CE0169DF8091711682FF08C019 -:105F800021E040E050E0BA018EEB9BEB0E94908F45 -:105F900064EF76E18CEF9FE00E94799C66EF76E1FA -:105FA0008AEF9FE00E94799C68EF76E188EF9FE09E -:105FB000DF91CF910C94799C4F925F926F927F9278 -:105FC0008F929F92AF92BF92CF92DF92EF92FF9209 -:105FD0000F931F93CF93DF93CDB7DEB72C970FB6F8 -:105FE000F894DEBF0FBECDBF80919013882309F4D3 -:105FF000F8C0C0907713D0907813E0907913F090A8 -:106000007A13C701B60120EA36E841E050E00E9469 -:10601000BDFA29873A874B875C873E832D830E9490 -:106020002CF000916B1110916C1120916D11309139 -:106030006E11601B710B820B930B28EE33E040E076 -:1060400050E00E94BDFA29013A01C90160E17EE0F9 -:106050000E94AAFA8B0124EC2603C001279F900D11 -:106060001124840D951D6CE370E00E94AAFA4B0187 -:1060700026035001279FB00C112420EF31EF029F1F -:10608000C001039F900D129F900D1124A80EB91E00 -:10609000A40CB51C40E060E082E796E10E944C4B06 -:1060A000E0917B13F0E0EE0FFF1FE45EFD4F0190E7 -:1060B000F081E02DE252FE4F80819181B2DC41E01F -:1060C00066E082E796E10E944C4BCE0105960E9465 -:1060D000F4A6BC0182E796E10E9495F568E17EE0B6 -:1060E00082E796E10E9495F5A985BA8520E639E711 -:1060F0004EEF5FEF0E9411FB6C0D7D1D8E1D9F1DED -:106100002AE030E040E050E00E94BDFAB901882763 -:1061100077FD8095982F0E9481F769837A838B831E -:106120009C83CE0101960E9416A5BC0182E796E1F0 -:106130000E9495F56BE17EE082E796E10E9495F57D -:1061400042E060E082E796E10E944C4BE0917B13D5 -:10615000F0E0EE0FFF1FE45EFD4F0190F081E02DB7 -:10616000E052FE4F808191815CDC43E068E082E791 -:1061700096E10E944C4B0983CE0101960E94B2A485 -:10618000BC0182E796E10E9495F56EE17EE082E730 -:1061900096E10E9495F58982CE0101960E94B2A4F3 -:1061A000BC0182E796E10E9495F568E17EE082E716 -:1061B00096E10E9495F5A982CE0101960E94B2A4B3 -:1061C000BC0182E796E10E9495F561E27EE082E7FC -:1061D00096E10E9495F50E94ACA4882309F478C149 -:1061E00073C181EF9FE00F94D2026B017C018DEEB1 -:1061F0009FE00F94D2024B015C01C701B6010E94DF -:106200007FF769837A838B839C8320EAC21626E812 -:10621000D20621E0E206F10450F0C701B60120EAFF -:1062200036E841E050E00E94BDFAD90102C0A0E08A -:10623000B0E0B887AF831A161B0684F420E639E76E -:106240004EEF5FEF0E9411FB6C0D7D1D8E1D9F1D9B -:106250000E947FF769837A838B839C83C501B40195 -:1062600020EA35E040E050E00E94BDFAE22E022F25 -:1062700010E020EA35E0029FC001039F900D129FBD -:10628000900D1124AA2797FDA095BA2FA50194017E -:10629000281B390B4A0B5B0BCA01B9012CE330E018 -:1062A00040E050E00E94BDFAF22E30E6E39E800C02 -:1062B00011244CE3F49E801811240E94698F40E061 -:1062C00060E082E796E10E944C4BE0917B13F0E0A6 -:1062D000EE0FFF1FE45EFD4F0190F081E02DE652CE -:1062E000FE4F808191819DDBCE0101960E9416A513 -:1062F000FC0101900020E9F7682F6E1B6E5E41E003 -:1063000082E796E10E944C4BCE0101960E9416A5B1 -:10631000BC0182E796E10E9495F58F819885181659 -:10632000190674F5CE0101960E9416A5FC01019094 -:106330000020E9F7682F6E1B615F41E082E796E17C -:106340000E944C4B63E27EE082E796E10E9495F565 -:10635000CE0101960E9416A5FC0101900020E9F7EC -:10636000682F6E1B665F41E082E796E10E944C4B0E -:10637000CE010796FADABC0182E796E10E9495F514 -:1063800041E062E182E796E10E944C4B6CE17EE0E5 -:1063900082E796E10E9495F542E060E082E796E1AF -:1063A0000E944C4BE0917B13F0E0EE0FFF1FE45E88 -:1063B000FD4F0190F081E02DE452FE4F80819181EC -:1063C00030DB43E062E182E796E10E944C4B6CE1F6 -:1063D0007EE082E796E10E9495F543E06EE082E779 -:1063E00096E10E944C4B882D90E09E838D83CE01D8 -:1063F00005960E94F4A6BC0182E796E10E9495F5FD -:1064000043E06EE082E796E10E944C4B6BEC7DE04E -:1064100082E796E10E9495F543E06CE082E796E121 -:106420000E944C4B66E27EE082E796E10E9495F581 -:1064300043E069E082E796E10E944C4B8F2D90E0AB -:106440009E838D83CE0105960E94F4A6BC0182E74F -:1064500096E10E9495F543E069E082E796E10E94AB -:106460004C4B6BEC7DE082E796E10E9495F543E0B2 -:1064700067E082E796E10E944C4B6CE47EE082E7A5 -:1064800096E10E9495F543E064E082E796E10E9480 -:106490004C4B1E830D83CE0105960E94F4A6BC01D1 -:1064A00082E796E10E9495F50E94ACA481110CC090 -:1064B0000E94094681E00E94B57064E670E080E0C9 -:1064C00090E00E945BF0F0CF0E947E8F0E943B968E -:1064D0002C960FB6F894DEBF0FBECDBFDF91CF91E3 -:1064E0001F910F91FF90EF90DF90CF90BF90AF90F2 -:1064F0009F908F907F906F905F904F900895EF9254 -:10650000FF920F931F93CF93DF93EC018B017A01DE -:106510000E946D8F109211111092101110920F1194 -:1065200010920E110E94094680E00E94B5700E94F0 -:10653000698F40E060E082E796E10E944C4BE09179 -:106540007B13F0E0EE0FFF1FE45EFD4F0190F08142 -:10655000E02DEC53FE4F8081918163DA41E060E0F1 -:1065600082E796E10E944C4BE0917B13F0E0EE0F46 -:10657000FF1FE45EFD4F0190F081E02DEA53FE4FD6 -:10658000808191814EDAC330D10509F48FC07CF54A -:10659000C130D10509F45FC0229709F0FAC042E08A -:1065A00060E082E796E10E944C4BE0917B13F0E0C3 -:1065B000EE0FFF1FE45EFD4F0190F081E02DE453EC -:1065C000FE4F808191812DDA43E060E082E796E121 -:1065D0000E944C4BE0917B13F0E0EE0FFF1FE45E56 -:1065E000FD4F0190F081E02DE253FE4F5BC0C430BF -:1065F000D10509F488C0259709F0CBC042E060E0DE -:1066000082E796E10E944C4BE0917B13F0E0EE0FA5 -:10661000FF1FE45EFD4F0190F081E02DEA52FE4F36 -:1066200080819181FED943E060E082E796E10E949B -:106630004C4BE0917B13F0E0EE0FFF1FE45EFD4F4B -:106640000190F081E02DEE52FE4F80819181E9D9D9 -:1066500043E062E195C042E060E082E796E10E949B -:106660004C4BE0917B13F0E0EE0FFF1FE45EFD4F1B -:106670000190F081E02DE653FE4F80819181D1D9C8 -:1066800043E060E082E796E10E944C4BE0917B138F -:10669000F0E0EE0FFF1FE45EFD4F0190F081E02D72 -:1066A000E853FE4F80819181BCD973C042E060E025 -:1066B00082E796E10E944C4BE0917B13F0E0EE0FF5 -:1066C000FF1FE45EFD4F0190F081E02DE053FE4F8F -:1066D00080819181A6D943E060E082E796E10E9443 -:1066E0004C4BE0917B13F0E0EE0FFF1FE45EFD4F9B -:1066F0000190F081E02DE253FE4F8081918191D98C -:1067000043E061E13DC042E060E082E796E10E9443 -:106710004C4BE0917B13F0E0EE0FFF1FE45EFD4F6A -:106720000190F081E02DEE52FE4F8081918179D968 -:1067300042E062E182E796E10E944C4BB80182E7B9 -:1067400096E10E9495F543E060E082E796E10E94C1 -:106750004C4BE0917B13F0E0EE0FFF1FE45EFD4F2A -:106760000190F081E02DEC52FE4F8081918159D94A -:1067700043E062E182E796E10E944C4BB70105C01D -:1067800082E796E10E944C4BB80182E796E10E94B5 -:1067900095F568EE73E080E090E00E945BF00E9467 -:1067A0006D8F64E670E080E090E00E945BF00E94F4 -:1067B000094680E00E94B5700E94ACA4882389F34A -:1067C000E0917B13F0E0EE0FFF1FE45EFD4F0190C0 -:1067D000F081E02DEC50FE4F808191810E9435A325 -:1067E000DF91CF911F910F91FF90EF900C943B960A -:1067F0006F927F928F929F92AF92BF92CF92DF92D1 -:10680000EF92FF920F931F93CF93DF931F92CDB719 -:10681000DEB73C016B017A01580129830E942CF0FC -:10682000605C7D4B8F4F9F4F609362167093631631 -:1068300080936416909365162981EC14FD042CF462 -:106840009DE3892E9EE0992E04C088E2882E8EE07A -:10685000982E21110E94698F40E060E082E796E166 -:106860000E944C4B8FEF6816780669F4E0917B1319 -:10687000F0E0EE0FFF1FE45EFD4F0190F081E02D90 -:10688000EE51FE4F0FC06114710481F4E0917B134F -:10689000F0E0EE0FFF1FE45EFD4F0190F081E02D70 -:1068A000EC51FE4F80819181BCD839C0E1E06E1679 -:1068B000710481F4E0917B13F0E0EE0FFF1FE45EC2 -:1068C000FD4F0190F081E02DEA51FE4F80819181D2 -:1068D000A8D836C0F2E06F16710481F4E0917B1302 -:1068E000F0E0EE0FFF1FE45EFD4F0190F081E02D20 -:1068F000E851FE4F8081918194D844C083E06816AE -:10690000710469F4E0917B13F0E0EE0FFF1FE45E89 -:10691000FD4F0190F081E02DE651FE4F43C0E4E0D1 -:106920006E16710469F4E0917B13F0E0EE0FFF1F27 -:10693000E45EFD4F0190F081E02DE451FE4F32C046 -:10694000F5E06F16710469F4E0917B13F0E0EE0F4F -:10695000FF1FE45EFD4F0190F081E02DE251FE4FFC -:1069600021C086E06816710469F4E0917B13F0E0C1 -:10697000EE0FFF1FE45EFD4F0190F081E02DE0512E -:10698000FE4F10C0E7E06E16710479F4E0917B13BE -:10699000F0E0EE0FFF1FE45EFD4F0190F081E02D6F -:1069A000EC50FE4F808191813CD841E060E082E76D -:1069B00096E10E944C4B6AE27EE082E796E10E94FB -:1069C00095F5F1E06F16710431F01614170434F0E8 -:1069D00040E050E005C041E050E002C042E050E03D -:1069E00084012FE33EE069E070E083E090E00E94E4 -:1069F000B18E82E06816710439F0E2E06E1671041F -:106A000034F440E050E005C041E050E002C042E014 -:106A100050E0840126E43EE062E070E082E090E035 -:106A20000E94B18EF3E06F16710439F083E06816AE -:106A3000710434F440E050E005C041E050E002C091 -:106A400042E050E0840128E43EE068E070E082E04B -:106A500090E00E94B18EE4E06E16710439F0F4E02B -:106A60006F16710434F440E050E005C041E050E09E -:106A700002C042E050E084012CE73EE06EE070E0AE -:106A800082E090E00E94B18E85E06816710439F0D2 -:106A9000E5E06E16710434F440E050E005C041E0DA -:106AA00050E002C042E050E084012AE43EE060E0B1 -:106AB00070E083E090E00E94B18E1A141B043CF455 -:106AC000B501882777FD8095982F0E945BF0FFEF36 -:106AD000CF1ADF0AEE0CFF1CEC14FD041CF480E05E -:106AE00090E001C0C6010F90DF91CF911F910F91EF -:106AF000FF90EF90DF90CF90BF90AF909F908F90DE -:106B00007F906F9008952F923F924F925F926F9275 -:106B10007F928F929F92AF92BF92CF92DF92EF922D -:106B2000FF920F931F93CF93DF93CDB7DEB72997D3 -:106B30000FB6F894DEBF0FBECDBF998788879B0143 -:106B4000CB016AE070E00E94AAFA4B01820E931E0C -:106B5000412C512CA12CB12C612C712C1C821B823C -:106B6000312C88859985880F991F880F991F835A22 -:106B70009C4E9A83898322242394E885F985329652 -:106B8000FE83ED83888599850297B9F420E030E093 -:106B900040E85FE36091651370916613809167131D -:106BA000909168130E9405F66093651370936613C5 -:106BB000809367139093681312C020E030E040E4A4 -:106BC00050E4E981FA8160817181828193810E9420 -:106BD00005F6E981FA816083718382839383E9E416 -:106BE000CE2EE3E1DE2EE12CF12C08E412E429E6BE -:106BF00033E145E653E161E673E18DE593E10E94FF -:106C000057E10E94C4D91E9906C01D9904C01C9961 -:106C100002C030E012C088859985892B09F094C0A4 -:106C200033B036FA332430F81D9B8AC0AA24A394CB -:106C3000B12C179A10924E1331E0F6E04F16510422 -:106C400024F48FEF481A580A10C000E010E020E04A -:106C500043E050E06B817C818D819E813F83C8DD64 -:106C60009C838B83412C512C3F813F830E9409469A -:106C700080E00E94B57064E670E080E090E00E94E1 -:106C80005BF03F818614970434F09FEF691A790A0C -:106C9000332309F477CF08851985000F111F000FE2 -:106CA000111F035A1C4E20E030E040E751E4F80188 -:106CB00060817181828193810E9406F6F801608370 -:106CC00071838283938339E4C32E33E1D32EE12C85 -:106CD000F12C08E412E429E633E145E653E161E6EC -:106CE00073E18DE593E10E9457E1311058C088852A -:106CF00099858130910529F0029731F066E47EE0B4 -:106D000005C068E47EE002C06CE77EE091E0A91671 -:106D1000B10439F0E2E0AE16B10431F046E45EE0D1 -:106D200005C048E45EE002C04CE75EE06814790408 -:106D30001CF085E090E002C084E090E0E0DB2FC032 -:106D400062E0A62EB12C75CF88859985019781F4D4 -:106D500033B035FA332430F81E9B03C0A12CB12C7C -:106D600003C052E0A52EB12C169A10924F1364CF97 -:106D7000E885F985329709F05FCF33B034FA3324D0 -:106D800030F883B18295869586958370822580FB45 -:106D9000AA24A0F8B12C159A109250134DCF832D30 -:106DA00029960FB6F894DEBF0FBECDBFDF91CF910D -:106DB0001F910F91FF90EF90DF90CF90BF90AF9019 -:106DC0009F908F907F906F905F904F903F902F900B -:106DD0000895AF92BF92DF92EF92FF920F931F93AD -:106DE000CF93DF931F921F92CDB7DEB7D82E8111BC -:106DF00006C01EE1E12EF12C24E630E005C0B8E724 -:106E0000EB2EF12C20E030E0309311112093101183 -:106E1000DD2019F024E630E002C020E030E03093BD -:106E20000F1120930E110E94094680E00E94B57058 -:106E300060E070E0A12CB12C8FEFA81AB80A69832A -:106E40007A830E94094680E00E94B57069817A8148 -:106E500000E911E020E042E050E0DD2019F085E09B -:106E600090E002C081E090E0C3DCBC01AE14BF043E -:106E70001CF3109211111092101110920F11109218 -:106E80000E110E9409460E94094680E00E94B570DA -:106E900081E00F900F90DF91CF911F910F91FF90A4 -:106EA000EF90DF90BF90AF900895AF92BF92CF92D6 -:106EB000DF92EF92FF920F931F93CF93DF93CDB7A3 -:106EC000DEB76E970FB6F894DEBF0FBECDBF00EDF4 -:106ED00017E021E044E050E060E070E08FEF9FEFCA -:106EE00087DC21E043E050E0BC0180E090E080DC02 -:106EF0005C011E9904C01D9902C01C9B48C01E9BCA -:106F000081C120E030E040E251E460915D13709176 -:106F10005E1380915F13909160130E9406F6609358 -:106F20005D1370935E1380935F13909360131D9BAA -:106F300072C120E030E040E251E460916113709151 -:106F4000621380916313909164130E9406F660931C -:106F500061137093621380936313909364131C9B6B -:106F600063C120E030E040E251E46091651370912C -:106F7000661380916713909168130E9406F66093E0 -:106F8000651370936613809367139093681389E475 -:106F9000C82E83E1D82EE12CF12C08E412E429E676 -:106FA00033E145E653E161E673E18DE593E10E944B -:106FB00057E164EF71E080E090E00E945BF01E9981 -:106FC00006C01D9904C01C9902C011E04CC01C9958 -:106FD0003AC167E77EE0CE0101960E94E9F41D9B6D -:106FE0002CC168E47EE0CE0107960E94E9F41E9B66 -:106FF00027C166E47EE0CE0143960E94E9F4BE011B -:107000006D5E7F4FCE010D960E9413F5BE01695F44 -:107010007F4FCE010D960E9446F5BE016F5F7F4FF8 -:107020000E9446F5BC01CE0149960E9413F5CE019F -:107030000D960E9481F4CE0143960E9481F4CE0108 -:1070400007960E9481F4CE0101960E9481F4698D19 -:107050007A8D47E75EE083E090E051DACE01499611 -:107060000E9481F410E00E94094680E00E94B57001 -:10707000112309F487C008EE13E021E043E050E05B -:10708000B50181E090E0B4DB5C0180E0A2DE882302 -:1070900009F478C000ED17E021E043E050E0B501CD -:1070A00082E090E0A5DB5C0166ED70E080E090E0BE -:1070B0002ADD882309F466C00CED15E021E043E0E9 -:1070C00050E0B50183E090E093DB5C0166EC70E09A -:1070D00081E090E018DD882309F454C020E030E01E -:1070E00040E450E460915D1370915E1380915F13F2 -:1070F000909160130E9405F660935D1370935E1388 -:1071000080935F139093601320E030E040E651E4F9 -:107110006091611370916213809163139091641375 -:107120000E9405F66093611370936213809363135A -:107130009093641321E043E050E0B50184E090E0D7 -:1071400057DB5C0169EC70E082E090E0DCDC8823D6 -:10715000C9F000ED17E021E043E050E0B50185E023 -:1071600090E046DB5C0181E034DEF82E882351F0AC -:1071700008E813E121E043E050E0B50186E090E04B -:1071800037DB0AC008E813E121E043E050E0B50135 -:1071900087E090E02DDBF12C0E94698F0E942CF09B -:1071A0006C597F4F8F4F9F4F609362167093631699 -:1071B0008093641690936516E0917B13F0E0EE0FD8 -:1071C000FF1FE45EFD4F0190F081E02DFF2019F0DC -:1071D000E852FE4F02C0EC50FE4F808191810E9428 -:1071E00035A36E960FB6F894DEBF0FBECDBFDF910C -:1071F000CF911F910F91FF90EF90DF90CF90BF90B4 -:10720000AF90089560915D1370915E1380915F134C -:107210009091601384CE609161137091621380919C -:1072200063139091641393CE60916513709166130C -:107230008091671390916813A2CE67E77EE0D3CE6A -:1072400067E77EE0D8CE6CE77EE0C5CE20E030E098 -:1072500042E053E4609108117091091180910A1184 -:1072600090910B110E94E2F818164CF48BEA92E50B -:107270000E94F0628EE992E50E94F06236C00E94A0 -:10728000698F40E060E082E796E10E944C4BE0911C -:107290007B13F0E0EE0FFF1FE45EFD4F0190F081E5 -:1072A000E02DEA5FFE4F808191810E9411AD42E0A6 -:1072B00060E082E796E10E944C4BE0917B13F0E0A6 -:1072C000EE0FFF1FE45EFD4F0190F081E02DE85FBF -:1072D000FE4F808191810E9411AD60ED77E080E0EA -:1072E00090E00E945BF00E94698F0C943B960E9494 -:1072F000698F41E060E082E796E10E944C4BE091AB -:107300007B13F0E0EE0FFF1FE45EFD4F0190F08174 -:10731000E02DE05EFE4F808191810E9411AD42E040 -:1073200060E082E796E10E944C4BE0917B13F0E035 -:10733000EE0FFF1FE45EFD4F0190F081E02DE25E55 -:10734000FE4F808191810C9411AD0E94698F42E0C3 -:1073500060E082E796E10E944C4BE0917B13F0E005 -:10736000EE0FFF1FE45EFD4F0190F081E02DE45E23 -:10737000FE4F808191810C9411AD1F93CF93DF93C9 -:107380000E94698F40E060E082E796E10E944C4BEA -:10739000E0917B13F0E0EE0FFF1FE45EFD4F0190E4 -:1073A000F081E02DE65EFE4F808191810E9411AD5B -:1073B00042E060E082E796E10E944C4BE0917B1353 -:1073C000F0E0EE0FFF1FE45EFD4F0190F081E02D35 -:1073D000E85EFE4F808191810E9411AD10E043E094 -:1073E000612F82E796E10E944C4B60E17EE082E7EC -:1073F00096E10E9495F5CAE0D0E00E94094681E03E -:107400000E94B57065E570E080E090E00E945BF05E -:107410002197209791F71F5F143109F7DF91CF91E2 -:107420001F9108951F93CF93DF930E94698F40E0CF -:1074300060E082E796E10E944C4BE0917B13F0E024 -:10744000EE0FFF1FE45EFD4F0190F081E02DEA5E3C -:10745000FE4F808191810E9411AD42E060E082E7A1 -:1074600096E10E944C4BE0917B13F0E0EE0FFF1F82 -:10747000E45EFD4F0190F081E02DE85EFE4F8081DB -:1074800091810E9411AD10E043E0612F82E796E107 -:107490000E944C4B60E17EE082E796E10E9495F508 -:1074A000CAE0D0E00E94094681E00E94B5706EE615 -:1074B00070E080E090E00E945BF02197209791F7C8 -:1074C0001F5F143109F7DF91CF911F9108950F933A -:1074D0001F93CF93DF930E94698F40E060E082E7C3 -:1074E00096E10E944C4BE0917B13F0E0EE0FFF1F02 -:1074F000E45EFD4F0190F081E02DE45FFE4F80815E -:1075000091810E9411AD41E061E082E796E10E9425 -:107510004C4BE0917B13F0E0EE0FFF1FE45EFD4F5C -:107520000190F081E02DE25FFE4F808191810E9409 -:1075300011AD42E061E082E796E10E944C4BE091A0 -:107540007B13F0E0EE0FFF1FE45EFD4F0190F08132 -:10755000E02DEE5EFE4F808191810E9411AD43E0EF -:1075600061E082E796E10E944C4BE0917B13F0E0F2 -:10757000EE0FFF1FE45EFD4F0190F081E02DEC5E09 -:10758000FE4F808191810E9411AD41E060E082E771 -:1075900096E10E944C4B62E17EE082E796E10E9418 -:1075A00095F50091FA16112707FD1095C1E0D0E07E -:1075B00080917C1390917D13892B09F072C00E94F9 -:1075C000094681E00E94B5702091FA16332727FD05 -:1075D0003095C801821B930B97FF03C0919581954D -:1075E000910905970CF44DC0201731070CF4219731 -:1075F000021713070CF42196C430D1052CF4209700 -:1076000029F4C1E0D0E002C0C3E0D0E041E060E096 -:1076100082E796E10E944C4B64E77EE082E796E1C8 -:107620000E9495F542E060E082E796E10E944C4BB3 -:1076300064E77EE082E796E10E9495F543E060E032 -:1076400082E796E10E944C4B64E77EE082E796E198 -:107650000E9495F54C2F60E082E796E10E944C4B2A -:1076600062E17EE082E796E10E9495F50091FA16CC -:10767000112707FD109564E670E080E090E00E941D -:107680005BF00E94ACA4882309F492CFD0937D13C1 -:10769000C0937C1364EF71E080E090E00E945BF0A7 -:1076A00087CF0E94698FDF91CF911F910F910C942A -:1076B0003B9620E030E042E053E460910811709185 -:1076C000091180910A1190910B110E94E2F818168D -:1076D000ECF481E08093721381E090E09093E416E3 -:1076E0008093E316EEE4FEE08191882339F09091D7 -:1076F000C00095FFFCCF8093C600F6CF8091C000FC -:1077000085FFFCCF8AE08093C60036C00E94698F57 -:1077100040E060E082E796E10E944C4BE0917B13F1 -:10772000F0E0EE0FFF1FE45EFD4F0190F081E02DD1 -:10773000EA5FFE4F808191810E9411AD42E060E0DE -:1077400082E796E10E944C4BE0917B13F0E0EE0F54 -:10775000FF1FE45EFD4F0190F081E02DE85FFE4FDA -:10776000808191810E9411AD60ED77E080E090E032 -:107770000E945BF00E94698F0C943B968F929F92BF -:10778000AF92BF92DF92EF92FF920F931F93CF932E -:10779000DF931092E6168091671690916816A0917B -:1077A0006916B0916A1681309048A105B10540F084 -:1077B00010926716109268161092691610926A1647 -:1077C0008091671690916816A0916916B0916A161B -:1077D000B695A795979587954091701650E060E013 -:1077E00070E084179507A607B70710F4809370160A -:1077F000D09170161091711612FB112710F9C0E08C -:10780000DD24D394D11144C080915B0C882309F10D -:10781000E0917B13F0E0EE0FFF1FE45EFD4F01905F -:10782000F081E02DE055FF4F6081718180916716F6 -:1078300090916816A0916916B0916A1623E002979C -:10784000A105B10510F443E001C040E28C2F0E9475 -:107850007A8E1123E9F08091671690916816A091B5 -:107860006916B0916A160297A105B10588F40E94C5 -:107870007E8F8AE293ECDF91CF911F910F91FF9061 -:10788000EF90DF90BF90AF909F908F900C94A68F59 -:1078900080919013811105C080918113882309F490 -:1078A00066C020E030E040E05FE3609165137091D6 -:1078B000661380916713909168130E94DFF687FF2B -:1078C00056C064EF76E18CEF9FE00E948A9C66EFE1 -:1078D00076E18AEF9FE00E948A9C68EF76E188EF6C -:1078E0009FE00E948A9CD13011F002E041C080915B -:1078F0005B0C882329F1E0917B13F0E0EE0FFF1F72 -:10790000E45EFD4F0190F081E02DE251FF4F608178 -:1079100071818091671690916816A0916916B09157 -:107920006A16B695A795979587952EE70197A105B5 -:10793000B10511F44EE301C040E28C2F0E947A8E13 -:10794000112399F28091671690916816A09169169B -:10795000B0916A16B695A795979587950197A10559 -:10796000B10519F60E947E8F87E59FEA39C001E0D4 -:107970000E94FBEB40916716509168166091691662 -:1079800070916A16811109C080919013811105C010 -:1079900080918113882309F455C00D135BC0809139 -:1079A0005B0C81112AC0112309F454C08091671621 -:1079B00090916816A0916916B0916A16B695A79530 -:1079C00097958795402F50E060E070E08417950709 -:1079D000A607B70709F03EC00E947E8F80E399EAB0 -:1079E000DF91CF911F910F91FF90EF90DF90BF90AB -:1079F000AF909F908F900C94AB8FE0917B13F0E051 -:107A0000EE0FFF1FE45EFD4F0190F081E02DEC547E -:107A1000FF4F0190F081E02D76956795579547953A -:107A2000802F90E0A0E0B0E02EE7481759076A07E2 -:107A30007B0711F44EE301C040E2BF018C2F0E948E -:107A40007A8EB1CF0D1306C080915B0C81116DC38E -:107A5000111190C30F5F809191134091671650915F -:107A600068166091691670916A16882309F417C127 -:107A700080917915882309F4FBC0809190138823A5 -:107A800009F452C00D13A0C080915B0C882321F132 -:107A9000E0917B13F0E0EE0FFF1FE45EFD4F0190DD -:107AA000F081E02DEA54FF4F0190F081E02D7695B2 -:107AB000679557954795802F90E0A0E0B0E020E2D1 -:107AC000481759076A077B0711F44EE301C040E2EB -:107AD000BF018C2F0E947A8E112309F475C080910A -:107AE000671690916816A0916916B0916A16B695BE -:107AF000A79597958795402F50E060E070E0841738 -:107B00009507A607B70709F05FC00E947E8FDF9137 -:107B1000CF911F910F91FF90EF90DF90BF90AF90AA -:107B20009F908F900C9423960D134EC080915B0C08 -:107B3000882321F1E0917B13F0E0EE0FFF1FE45E5C -:107B4000FD4F0190F081E02DE854FF4F0190F0814E -:107B5000E02D7695679557954795802F90E0A0E0AA -:107B6000B0E020E2481759076A077B0711F44EE39B -:107B700001C040E2BF018C2F0E947A8E112321F1B7 -:107B80008091671690916816A0916916B0916A1657 -:107B9000B695A79597958795402F50E060E070E0E7 -:107BA00084179507A607B70779F40E947E8FDF91A7 -:107BB000CF911F910F91FF90EF90DF90BF90AF900A -:107BC0009F908F900C941996FF24F394F00EFD1261 -:107BD0004CC080915B0C882361F1E0917B13F0E055 -:107BE000EE0FFF1FE45EFD4F0190F081E02DE654A3 -:107BF000FF4F0190F081E02D8091671690916816FB -:107C0000A0916916B0916A16B695A7959795879534 -:107C10004F2D50E060E070E02EE784179507A6072F -:107C2000B70711F44EE301C040E2BF018C2F0E9460 -:107C30007A8E1123D1F08091671690916816A091E9 -:107C40006916B0916A16B695A795979587954F2DA9 -:107C500050E060E070E084179507A607B70729F4A5 -:107C60000E947E8F8BE398ECBBCE01E00F0D5EC0CF -:107C70008091811381115AC00D1357C080915B0C04 -:107C80008823A9F1E0917B13F0E0EE0FFF1FE45E83 -:107C9000FD4F0190F081E02DE454FF4F12C00D1311 -:107CA00044C080915B0C882311F1E0917B13F0E0DC -:107CB000EE0FFF1FE45EFD4F0190F081E02DE254D6 -:107CC000FF4F0190F081E02D769567955795479588 -:107CD000802F90E0A0E0B0E02EE7481759076A0730 -:107CE0007B0709F140E2BF018C2F0E947A8E11239D -:107CF000E1F08091671690916816A0916916B09195 -:107D00006A16B695A79597958795402F50E060E045 -:107D100070E084179507A607B70739F40E947E8F95 -:107D20008BE299E95DCE4EE3DECF0F5F8091901339 -:107D3000811102C1809181138111FEC00D1355C0C4 -:107D400080915B0C882361F1E0917B13F0E0EE0FF2 -:107D5000FF1FE45EFD4F0190F081E02DEE5FFE4FCE -:107D60000190F081E02D8091671690916816A091A6 -:107D70006916B0916A16B695A79597958795402F85 -:107D800050E060E070E020E284179507A607B7078F -:107D900011F44EE301C040E2BF018C2F0E947A8EA5 -:107DA000112319F18091671690916816A0916916B8 -:107DB000B0916A16B695A79597958795402F50E094 -:107DC00060E070E084179507A607B70771F40E947A -:107DD0007E8FDF91CF911F910F91FF90EF90DF90F9 -:107DE000BF90AF909F908F9064CCEE24E394E00E10 -:107DF000ED1252C080915B0C882349F1E0917B1316 -:107E0000F0E0EE0FFF1FE45EFD4F0190F081E02DEA -:107E1000F395608171818091671690916816A091A9 -:107E20006916B0916A16B695A795979587958D2E88 -:107E3000912CA12CB12C20E288159905AA05BB052F -:107E400011F44EE301C040E28C2F0E947A8E112380 -:107E500019F18091671690916816A0916916B091FA -:107E60006A16B695A795979587954E2D50E060E0D8 -:107E700070E084179507A607B70771F40E947E8FFC -:107E8000DF91CF911F910F91FF90EF90DF90BF9006 -:107E9000AF909F908F90DAC932E0E32EE00EED12A2 -:107EA0004AC080915B0C882351F1E0917B13F0E094 -:107EB000EE0FFF1FE45EFD4F0190F081E02DE450D6 -:107EC000FF4F608171818091671690916816A09133 -:107ED0006916B0916A16B695A795979587958D2ED8 -:107EE000912CA12CB12C2EE788159905AA05BB056C -:107EF00011F44EE301C040E28C2F0E947A8E1123D0 -:107F0000D1F08091671690916816A0916916B09192 -:107F10006A16B695A795979587954E2D50E060E027 -:107F200070E084179507A607B70729F40E947E8F93 -:107F300085E19DE955CD0D5F8091811381114FC081 -:107F40000D134CC080915B0C882361F1E0917B1391 -:107F5000F0E0EE0FFF1FE45EFD4F0190F081E02D99 -:107F6000EA50FE4F0190F081E02D809167169091CC -:107F70006816A0916916B0916A16B695A79597955F -:107F80008795402F50E060E070E02EE7841795075A -:107F9000A607B70711F44EE301C040E2BF018C2FE2 -:107FA0000E947A8E1123D1F0809167169091681605 -:107FB000A0916916B0916A16B695A7959795879581 -:107FC000402F50E060E070E084179507A607B707E0 -:107FD00029F40E947E8F8CED9FEA02CD0F5F0D1376 -:107FE0004CC080915B0C882361F1E0917B13F0E041 -:107FF000EE0FFF1FE45EFD4F0190F081E02DE65F84 -:10800000FE4F0190F081E02D8091671690916816E7 -:10801000A0916916B0916A16B695A7959795879520 -:10802000402F50E060E070E02EE784179507A60728 -:10803000B70711F44EE301C040E2BF018C2F0E944C -:108040007A8E1123D1F08091671690916816A091D5 -:108050006916B0916A16B695A79597958795402FA2 -:1080600050E060E070E084179507A607B70729F491 -:108070000E947E8F80EB9FE8B3CCFF24F394F00E38 -:1080800040916716509168166091691670916A1652 -:1080900076956795579547958F2D90E0A0E0B0E0D5 -:1080A000481759076A077B0788F08F2D90E0880FE3 -:1080B000991F0197AA2797FDA095BA2F809367165D -:1080C00090936816A0936916B0936A16409167164C -:1080D000509168166091691670916A167695679549 -:1080E000579547958091701690E00396242F30E0C5 -:1080F000821793074CF48DEF840F80937016D09203 -:108100005B0CDCEFD40FCFEFCF5FDF5FC43008F440 -:1081100079CBDF91CF911F910F91FF90EF90DF907E -:10812000BF90AF909F908F900895E0917B13F0E007 -:10813000EE0FFF1FE45EFD4F0190F081E02DE25055 -:10814000FF4F0190F081E02D769567955795479503 -:10815000802F90E0A0E0B0E02EE7481759076A07AB -:108160007B0711F44EE301C040E2BF018C2F0E9457 -:108170007A8E6ECC8091671690916816A0916916E0 -:10818000B0916A16B695A79597958795402F50E0C0 -:1081900060E070E084179507A607B70709F05ACC8E -:1081A0000E947E8F8AED96E91BCC0F931F93CF938D -:1081B000DF930E94698F40E060E082E796E10E94D1 -:1081C0004C4BE0917B13F0E0EE0FFF1FE45EFD4FA0 -:1081D0000190F081E02DEE50FF4F808191810E944F -:1081E00011AD41E061E082E796E10E944C4BE091E5 -:1081F0007B13F0E0EE0FFF1FE45EFD4F0190F08176 -:10820000E02DE25FFE4F808191810E9411AD42E03E -:1082100061E082E796E10E944C4BE0917B13F0E035 -:10822000EE0FFF1FE45EFD4F0190F081E02DE05F57 -:10823000FE4F808191810E9411AD41E060E082E7B4 -:1082400096E10E944C4B62E17EE082E796E10E945B -:1082500095F50091FA16112707FD1095C1E0D0E0C1 -:108260000E94094681E00E94B5702091FA163327DA -:1082700027FD3095C801821B930B97FF03C0919592 -:108280008195910905970CF441C0201731070CF432 -:108290002197021713070CF42196C330D1052CF453 -:1082A000209729F4C1E0D0E002C0C2E0D0E041E074 -:1082B00060E082E796E10E944C4B64E77EE082E753 -:1082C00096E10E9495F542E060E082E796E10E9427 -:1082D0004C4B64E77EE082E796E10E9495F54C2FD7 -:1082E00060E082E796E10E944C4B62E17EE082E72B -:1082F00096E10E9495F50091FA16112707FD109559 -:1083000064E670E080E090E00E945BF00E94ACA424 -:10831000882309F4A5CF2197D9F464EF76E18CEF97 -:108320009FE00E948A9C66EF76E18AEF9FE00E94C0 -:108330008A9C68EF76E188EF9FE00E948A9C80919A -:10834000F8169091F916909300118093FF101EC0BB -:108350001092F5161092F4161092F7161092F61667 -:108360001092F9161092F81664EF76E18CEF9FE008 -:108370000E94799C66EF76E18AEF9FE00E94799CEB -:1083800068EF76E188EF9FE00E94799C64EF71E0EE -:1083900080E090E00E945BF00E94698FDF91CF91B6 -:1083A0001F910F910C943B960F931F93CF93DF93E4 -:1083B000EC01843091053CF08530910539F08C0159 -:1083C0000350110905C000E010E002C001E010E018 -:1083D00040E060E082E796E10E944C4B61E67EE07F -:1083E00082E796E10E9495F540E061E082E796E140 -:1083F0000E944C4BF801EE0FFF1FE45EFD4F019011 -:10840000F081E02DE654FE4F808191810E9411ADF4 -:1084100041E060E082E796E10E944C4B61E67EE03D -:1084200082E796E10E9495F541E061E082E796E1FE -:108430000E944C4BF801EE0FFF1FE25EFD4F0190D2 -:10844000F081E02DE654FE4F808191810E9411ADB4 -:1084500042E060E082E796E10E944C4B61E67EE0FC -:1084600082E796E10E9495F542E061E082E796E1BD -:108470000E944C4BF801EE0FFF1FE05EFD4F019094 -:10848000F081E02DE654FE4F808191810E9411AD74 -:1084900043E060E082E796E10E944C4B61E67EE0BB -:1084A00082E796E10E9495F543E061E082E796E17C -:1084B0000E944C4BF801EE0FFF1FEE5DFD4F019047 -:1084C000F081E02DE654FE4F808191810E9411AD34 -:1084D000C130D10511F440E012C0C230D10511F411 -:1084E00041E00DC0C330D1057CF042E060E082E79E -:1084F00096E10E944C4BC530D10531F443E060E079 -:1085000082E796E10E944C4B62E17EE082E796E1D1 -:108510000E9495F524974CF443E063E182E796E1ED -:108520000E944C4B66E77EE008C040E063E182E7D2 -:1085300096E10E944C4B68E77EE082E796E1DF918E -:10854000CF911F910F910C9495F50F931F93CF939B -:10855000DF938FEF80937B130E94209C0E94698F92 -:1085600081E090E021DF0091FA16112707FD1095B8 -:10857000C1E0D0E020917B1380917C1790917D1712 -:1085800040917E1750917F172F3F41F49C01241B8F -:10859000350B2F77332722303105A4F0841B950B40 -:1085A0008F779927029724F010927B1310925E0C1C -:1085B0000E94449C0E94698FDF91CF911F910F917F -:1085C0000C943B960E94094681E00E94B570209170 -:1085D000FA16332727FD3095C801821B930B97FFAE -:1085E00003C09195819591090597F4F02017310703 -:1085F0000CF42197021713070CF42196C630D1050D -:108600002CF4209729F4C1E0D0E002C0C5E0D0E00E -:10861000CE01CADE0091FA16112707FD109564E617 -:1086200070E080E090E004C064E170E080E090E001 -:108630000E945BF00E94ACA4882309F49BCF8C2F8E -:1086400081500E94659464EF71E080E090E00E94A8 -:108650005BF090CF8F929F92AF92BF92CF92DF92BA -:10866000EF92FF920F931F93CF93DF93CDB7DEB7B7 -:1086700028970FB6F894DEBF0FBECDBF80915E0C79 -:10868000813009F040C010925E0C0E94689CE0911D -:108690007B13F0E0EE0FFF1FE45EFD4F0190F081D1 -:1086A000E02D6081718144E150E08EEB96E10F9402 -:1086B00012008DEE9FE00F94CA028F3F01F58EEEFF -:1086C0009FE00F94CA028F3FD1F48FEE9FE00F948A -:1086D000CA028F3FA1F480EF9FE00F94CA028F3F40 -:1086E00071F440E050E0BA018DEE9FE00F94D702A4 -:1086F00040E050E0BA0181EF9FE00F94D7028091F3 -:108700004616811122DF80916116882321F0815065 -:108710008093611603C081E080935B0C80915B0CB9 -:10872000882309F40DC48091E7168F5F8093E716C4 -:108730008E3129F40E942E961092E7160EC06AE040 -:108740000E9489FA911109C020E044E064E182E7C7 -:1087500096E10E945C4C0E94DD8D20E030E040E01C -:108760005FE3609108117091091180910A11909155 -:108770000B110E9406F60E944EF778876F83609176 -:10878000101170911111882777FD8095982F0E9404 -:1087900081F720E030E040E05FE30E9406F60E94AF -:1087A0004EF77E836D8340E060E082E796E10E94B1 -:1087B0004C4B62E082E796E10E9496F5CE01079667 -:1087C0000E94F4A6BC0182E796E10E9495F56FE253 -:1087D00082E796E10E9496F5CE0105960E9465AC6F -:1087E000BC0182E796E10E9495F581E293E50E9443 -:1087F00011AD63E77EE082E796E10E9495F540E0E7 -:108800006AE082E796E10E944C4B6AE77EE082E7ED -:1088100096E10E9495F52CEA35EC47E257E360912A -:1088200065137091661380916713909168130E948D -:1088300006F669837A838B839C83CE0101960E941E -:1088400022A6BC0182E796E10E9495F560E282E7EC -:1088500096E10E9496F541E060E082E796E10E9491 -:108860004C4B20E030E040E05FE3609102117091FA -:10887000031180910411909105110E9406F60E9447 -:108880004EF778876F8360910E1170910F118827D2 -:1088900077FD8095982F0E9481F720E030E040E03E -:1088A0005FE30E9406F60E944EF77E836D8360E0D0 -:1088B00082E796E10E9496F5CE0107960E94F4A603 -:1088C000BC0182E796E10E9495F56FE282E796E1AE -:1088D0000E9496F5CE0105960E9465ACBC0182E728 -:1088E00096E10E9495F58EE193E50E9411AD63E754 -:1088F0007EE082E796E10E9495F541E06AE082E73A -:1089000096E10E944C4B63E77EE082E796E10E948D -:1089100095F566E082E796E10E9496F589E49CE091 -:108920000E94F4A6BC0182E796E10E9495F565E2FB -:1089300082E796E10E9496F560E77EE082E796E1A5 -:108940000E9495F542E060E082E796E10E944C4B80 -:1089500080918113882319F08BE193E502C088E1AF -:1089600093E50E9411AD809190138823A9F1809125 -:108970007915882319F18091231690912416A091DE -:108980002516B09126160097A105B105B9F0BC01D6 -:10899000CD016D597F4F8F4F9F4F24E630E040E06F -:1089A00050E00E94BDFA60912B1670912C168091B8 -:1089B0002D1690912E160E94BDFA01C020E030E0E5 -:1089C0003A832983CE0101960E94F4A6BC0182E776 -:1089D00096E10E9495F50DC080918113882329F0BE -:1089E00083E193E50E9411AD09C08FE093E50E94F9 -:1089F00011AD65E282E796E10E9496F56FE67EE0B2 -:108A000082E796E10E9495F542E06AE082E796E10E -:108A10000E944C4B63E77EE082E796E10E9495F569 -:108A200067E082E796E10E9496F580916B11909144 -:108A30006C11A0916D11B0916E11892B8A2B8B2B2B -:108A4000E1F10E942CF020E6C22E2AEED22EE12C7B -:108A5000F12CA70196010E94BDFA49015A016091CB -:108A60006B1170916C1180916D1190916E11A70135 -:108A700096010E94BDFAC401821B930B6CE370E067 -:108A80000E9496FA182F6983CE0101960E94B2A423 -:108A9000BC0182E796E10E9495F56AE382E796E1E0 -:108AA0000E9496F51983CE0101960E94B2A4BC01E2 -:108AB00082E796E10E9495F504C089E093E50E9463 -:108AC00011AD63E77EE082E796E10E9495F543E011 -:108AD00060E082E796E10E944C4B80917513909183 -:108AE0007613009719F021E02093721330919013C0 -:108AF00020917213332309F476C0211174C06FE9F9 -:108B000073E187E896E10F948100892BD1F0E7E8C3 -:108B1000F6E1DF010D900020E9F7AD014150510968 -:108B20004758564160E070E0CF010F9451006FE963 -:108B300073E187E896E10F948A001092BD161092B7 -:108B4000BC16EFE9F3E101900020E9F7E05AF341A8 -:108B5000759708F445C00091BC161091BD16C12C44 -:108B6000D12C8091BC169091BD169801281B390B11 -:108B70002431310534F001969093BD168093BC16D4 -:108B80009AC1C114D104B9F7F801E257FC4E7F0134 -:108B90009189602F681B43E0911115C082E796E12F -:108BA0000E944C4BD70150966C9182E796E10E944F -:108BB00096F51092BD161092BC1600E010E0CC2481 -:108BC000C394D12CCECF82E796E10E944C4BF701A3 -:108BD000608982E796E10E9496F50F5F1F4FC1CF33 -:108BE00067E876E164C1222309F45FC1892B09F4A7 -:108BF000A1C0809173139091741301968E309105EA -:108C000028F4909374138093731304C01092741318 -:108C10001092731343E067E082E796E10E944C4BA9 -:108C20008BEF92E50E9411AD00E010E0809173138C -:108C3000909174130817190770F467E0600F43E010 -:108C400082E796E10E944C4B89EF92E50E9411ADBC -:108C50000F5F1F4FEBCF8091751390917613823089 -:108C6000910581F1B0F4019709F064C043E060E040 -:108C700082E796E10E944C4BE0917B13F0E0EE0F0F -:108C8000FF1FE45EFD4F0190F081E02DE05AFE4FA2 -:108C90003EC08330910549F1049709F04BC043E091 -:108CA00060E082E796E10E944C4BE0917B13F0E09C -:108CB000EE0FFF1FE45EFD4F0190F081E02DEA59B9 -:108CC000FE4F2AC043E060E082E796E10E944C4BF1 -:108CD000E0917B13F0E0EE0FFF1FE45EFD4F01908B -:108CE000F081E02DEE59FE4F17C043E060E082E7CF -:108CF00096E10E944C4BE0917B13F0E0EE0FFF1FDA -:108D0000E45EFD4F0190F081E02DEC59FE4F808133 -:108D100091810E9411AD0EC0808191810E9411ADA0 -:108D2000109276131092751310927413109273139D -:108D3000109272138091701390917113019709F042 -:108D4000AEC080916E1390916F138B309105A8F196 -:108D500043E060E082E796E10E944C4B61E67EE0F2 -:108D600082E796E10E9495F543E060E082E796E1B4 -:108D70000E944C4BE0917B13F0E0EE0FFF1FE45E8E -:108D8000FD4F0190F081E02DE850FF4F80819181EF -:108D90000E9411AD6EE77EE082E796E10E9495F5B4 -:108DA00060916E1370916F136A5071094AE050E040 -:108DB00082E796E10E9400F672C0039711F5E091F8 -:108DC0007B13F0E0EE0FFF1FE45EFD4F0190F0819A -:108DD000E02D808191810E9411ADE0917B13F0E044 -:108DE000EE0FFF1FE45EFD4F0190F081E02D8081CA -:108DF00091810E943BA110927213109271131092F4 -:108E0000701380916E1390916F130497069758F525 -:108E100043E060E082E796E10E944C4B62E67EE030 -:108E200082E796E10E9495F543E060E082E796E1F3 -:108E30000E944C4BE0917B13F0E0EE0FFF1FE45ECD -:108E4000FD4F0190F081E02DE650FF4F8081918130 -:108E50000E9411AD80916E1390916F1301979093C2 -:108E60006F1380936E1380916E1390916F130A9716 -:108E7000B1F4E0917B13F0E0EE0FFF1FE45EFD4FD5 -:108E80000190F081E02DE650FF4F808191810E949A -:108E900011AD89E090E090936F1380936E138091F1 -:108EA000701390917113029731F46EEB76E182E7C3 -:108EB00096E10E9495F50EEB16E1D8018D918D019A -:108EC00080322CF460E282E796E10E9496F5B6E1EA -:108ED000023D1B0791F780918113882331F1809126 -:108EE0007213811122C043E060E082E796E10E94A4 -:108EF0004C4B61E67EE082E796E10E9495F543E007 -:108F000060E082E796E10E944C4BE0917B13F0E039 -:108F1000EE0FFF1FE45EFD4F0190F081E02DE85061 -:108F2000FE4F808191810E9411AD8AE0809361168D -:108F30008091E3169091E416892B11F00E9448A1CC -:108F40008091711682FB882780F990916016992391 -:108F500099F090915F16992339F0811119C0109200 -:108F60005F161092601614C0882391F00E947E8FC5 -:108F700081E080935F160CC0882351F021E040E02F -:108F800050E0BA018EEB9BEB0E94908F0E942E96D0 -:108F90008091490C90914A0C209167163091681687 -:108FA0008436910534F4820F931F853691054CF475 -:108FB00016C08436910599F0820F931F843691056F -:108FC00074F4109267161092681610926916109237 -:108FD0006A1684E690E090934A0C8093490C2091A5 -:108FE000490C30914A0C809167169091681624368E -:108FF000310569F48B3091051CF0865A9F4F09C0EA -:10900000863FEFEF9E078CF482599F4F02C0820F7C -:10901000931F90934A0C8093490C109267161092FC -:1090200068161092691610926A168091490C9091F8 -:109030004A0C8A3091051CF48AE090E005C0883E15 -:10904000934034F087EE93E090934A0C8093490C60 -:1090500028960FB6F894DEBF0FBECDBFDF91CF913B -:109060001F910F91FF90EF90DF90CF90BF90AF9046 -:109070009F908F9008950F931F93CF9340E060E0EF -:1090800082E796E10E944C4BE0917B13F0E0EE0FFB -:10909000FF1FE45EFD4F0190F081E02DE654FF4F8D -:1090A000808191810E9411AD42E062E082E796E109 -:1090B0000E944C4BE0917B13F0E0EE0FFF1FE45E4B -:1090C000FD4F0190F081E02DE05FFE4F80819181A6 -:1090D0000E9411AD43E062E082E796E10E944C4BB2 -:1090E000E0917B13F0E0EE0FFF1FE45EFD4F019077 -:1090F000F081E02DE25FFE4F808191810E9411ADF1 -:1091000042E060E082E796E10E944C4B64E77EE03B -:1091100082E796E10E9495F543E060E082E796E100 -:109120000E944C4B64E77EE082E796E10E9495F551 -:109130008091671690916816A0916916B0916A1691 -:109140000397A105B10564F082E090E0A0E0B0E0F3 -:109150008093671690936816A0936916B0936A1669 -:109160008091671690916816A0916916B0916A1661 -:10917000181619061A061B0664F081E090E0A0E0BC -:10918000B0E08093671690936816A0936916B09329 -:109190006A16409167164F5F60E082E796E10E9491 -:1091A0004C4B62E17EE082E796E10E9495F50E94D9 -:1091B000ACA4882309F469C0809167169091681661 -:1091C000A0916916B0916A160197A105B10511F435 -:1091D0000E943B968091671690916816A09169163F -:1091E000B0916A160297A105B10509F04EC0C1E021 -:1091F000C09338130E943ADAE0917B13F0E0EE0F4F -:10920000FF1FE45EFD4F0190F081E02DEA53FF4F18 -:10921000808191810E943BA11092901360E08EE8C2 -:1092200093E10E94C4580E942CF0609367117093E0 -:1092300068118093691190936A1100916B111091DC -:109240006C1120916D1130916E11601B710B820BAE -:10925000930B28EE33E040E050E00E94BDFA6091AD -:109260007713709178138091791390917A130E94FB -:10927000EA6B0E943B96C093601610925F1682E0E4 -:1092800090E09093E4168093E316CF911F910F9195 -:109290000895CF93DF93C1E9D2E5FE01849188233D -:1092A00041F09091C00095FFFCCF8093C6003196AD -:1092B000F5CFEAEFF6E58491882341F09091C00064 -:1092C00095FFFCCF8093C6003196F5CF8091C0000A -:1092D00085FFFCCF8AE08093C600FE018491E1E91E -:1092E000F2E5882349F09091C00095FFFCCF809370 -:1092F000C60031968491F5CF4091011D5091021D19 -:109300006091031D7091041D82EF96E50E944C62EE -:109310004091051D5091061D6091071D7091081D1B -:109320008FEE96E50E944C624091091D50910A1DF6 -:1093300060910B1D70910C1D8CEE96E50E944C62A5 -:1093400040910D1D50910E1D60910F1D7091101DCB -:1093500089EE96E50E944C628091C00085FFFCCFAB -:109360008AE08093C600FE018491E1E9F2E588235A -:1093700049F09091C00095FFFCCF8093C6003196D4 -:109380008491F5CFEFECF6E58491882341F090913C -:10939000C00095FFFCCF8093C6003196F5CF809139 -:1093A000C00085FFFCCF8AE08093C600FE01849157 -:1093B000E1E9F2E5882349F09091C00095FFFCCFE8 -:1093C0008093C60031968491F5CF4091111D509144 -:1093D000121D6091131D7091141D86EC96E50E947C -:1093E0004C624091151D5091161D6091171D709192 -:1093F000181D83EC96E50E944C624091191D509116 -:109400001A1D60911B1D70911C1D80EC96E50E9439 -:109410004C6240911D1D50911E1D60911F1D709149 -:10942000201D8DEB96E50E944C628091C00085FF67 -:10943000FCCF8AE08093C600FE018491E1E9F2E569 -:10944000882349F09091C00095FFFCCF8093C6001F -:1094500031968491F5CFEFE9F6E58491882341F0C8 -:109460009091C00095FFFCCF8093C6003196F5CF58 -:109470008091C00085FFFCCF8AE08093C600FE018A -:109480008491E1E9F2E5882349F09091C00095FFCD -:10949000FCCF8093C60031968491F5CF4091F11CAA -:1094A0005091F21C6091F31C7091F41C86E996E5D2 -:1094B0000E945E624091F51C5091F61C6091F71C71 -:1094C0007091F81C83E996E50E945E624091F91C58 -:1094D0005091FA1C6091FB1C7091FC1C80E996E590 -:1094E0000E945E624091FD1C5091FE1C6091FF1C29 -:1094F0007091001D8DE896E50E945E628091C0002B -:1095000085FFFCCF8AE08093C600FE018491E1E9EB -:10951000F2E5882349F09091C00095FFFCCF80933D -:10952000C60031968491F5CFE8E5F6E5849188236D -:1095300041F09091C00095FFFCCF8093C60031961A -:10954000F5CF8091C00085FFFCCF8AE08093C600F4 -:10955000FE018491E1E9F2E5882349F09091C00091 -:1095600095FFFCCF8093C60031968491F5CF409152 -:10957000E91C5091EA1C6091EB1C7091EC1C8FE48B -:1095800096E50E944C624091E51C5091E61C60916A -:10959000E71C7091E81C8CE496E50E944C62809177 -:1095A000C00085FFFCCF8AE08093C600FE01849155 -:1095B000E1E9F2E5882349F09091C00095FFFCCFE6 -:1095C0008093C60031968491F5CFE9E9F5E5849161 -:1095D000882341F09091C00095FFFCCF8093C60096 -:1095E0003196F5CF8091C00085FFFCCF8AE0809353 -:1095F000C600FE018491E1E9F2E5882349F09091EB -:10960000C00095FFFCCF8093C60031968491F5CFC2 -:109610004091ED1C5091EE1C6091EF1C7091F01C7C -:1096200080E995E50E944C624091D51C5091D61C72 -:109630006091D71C7091D81C8DE895E50E944C6212 -:109640004091211D5091221D6091231D7091241D78 -:109650008AE895E50E945E624091E11C5091E21C0F -:109660006091E31C7091E41C87E895E50E944C62D0 -:109670004091DD1C5091DE1C6091DF1C7091E01C5C -:1096800084E895E50E944C624091D91C5091DA1C07 -:109690006091DB1C7091DC1C81E895E50E944C62B6 -:1096A0008091C00085FFFCCF8AE08093C600FE0158 -:1096B0008491E1E9F2E5882349F09091C00095FF9B -:1096C000FCCF8093C60031968491F5CFEFE6F5E5A7 -:1096D0008491882341F09091C00095FFFCCF809346 -:1096E000C6003196F5CF8091C00085FFFCCF8AE09F -:1096F0008093C600FE018491E1E9F2E5882349F0F8 -:109700009091C00095FFFCCF8093C6003196849164 -:10971000F5CF4091511350915213609153137091B2 -:10972000541386E695E50E944C6240915513509182 -:109730005613609157137091581383E695E50E9474 -:109740004C624091591350915A1360915B13709180 -:109750005C1380E695E50E944C628091C00085FF15 -:10976000FCCF8AE08093C600FE018491E1E9F2E536 -:10977000882349F09091C00095FFFCCF8093C600EC -:1097800031968491F5CFE2E5F5E58491882341F0A7 -:109790009091C00095FFFCCF8093C6003196F5CF25 -:1097A0008091C00085FFFCCF8AE08093C600FE0157 -:1097B0008491E1E9F2E5882349F09091C00095FF9A -:1097C000FCCF8093C60031968491F5CF409118026A -:1097D0005091190260911A0270911B0288E495E57C -:1097E0000E944C62609114027091150280911602E1 -:1097F000909117020E948B4AAB01BC0185E495E56C -:109800000E944C62609110027091110280911202CC -:10981000909113020E94974AAB01BC0182E495E546 -:109820000E944C628091C00085FFFCCF8AE080934B -:10983000C600FE018491E1E9F2E5882349F09091A8 -:10984000C00095FFFCCF8093C60031968491F5CF80 -:10985000EEE0F5E58491882341F09091C00095FFFA -:10986000FCCF8093C6003196F5CF8091C00085FF74 -:10987000FCCF8AE08093C600FE018491E1E9F2E525 -:10988000882349F09091C00095FFFCCF8093C600DB -:1098900031968491F5CF40911F0C5091200C60912E -:1098A000210C7091220C84E095E50E944C6220E02E -:1098B00030E040E752E46091170C7091180C8091F1 -:1098C000190C90911A0C0E94B4F9AB01BC0181E013 -:1098D00095E50E944C624091411350914213609172 -:1098E0004313709144138EEF94E50E944C62809173 -:1098F000C00085FFFCCF8AE08093C600FE01849102 -:10990000E1E9F2E5882349F09091C00095FFFCCF92 -:109910008093C60031968491F5CFE2EDF4E5849111 -:10992000882341F09091C00095FFFCCF8093C60042 -:109930003196F5CF8091C00085FFFCCF8AE08093FF -:10994000C600FE018491E1E9F2E5882349F0909197 -:10995000C00095FFFCCF8093C60031968491F5CF6F -:1099600040913D1350913E1360913F13709140130D -:1099700088EC94E50E944C6220E030E040E752E43D -:109980006091130C7091140C8091150C9091160C31 -:109990000E94B4F9AB01BC0185EC94E50E944C62D5 -:1099A0008091C00085FFFCCF8AE08093C600FE0155 -:1099B0008491E1E9F2E5882349F09091C00095FF98 -:1099C000FCCF8093C60031968491F5CFEBE6F4E5A9 -:1099D0008491882341F09091C00095FFFCCF809343 -:1099E000C6003196F5CF8091C00085FFFCCF8AE09C -:1099F0008093C600FE018491E1E9F2E5882349F0F5 -:109A00009091C00095FFFCCF8093C6003196849161 -:109A1000F5CF4091461350E060E070E081E694E5B8 -:109A20000E945E628091C00085FFFCCF8AE0809337 -:109A3000C600FE018491E1E9F2E5882349F09091A6 -:109A4000C00095FFFCCF8093C60031968491F5CF7E -:109A500080916D138823A1F1EEE4F4E584918823CD -:109A600041F09091C00095FFFCCF8093C6003196E5 -:109A7000F5CF8091C00085FFFCCF8AE08093C600BF -:109A8000FE01C491E1E9F2E5CC2349F08091C000E8 -:109A900085FFFCCFC093C6003196C491F5CF4091AD -:109AA0003F0C5091400C6091410C7091420C84E449 -:109AB00094E50E944C628091C00085FFFCCF11C0EC -:109AC000E8E2F4E58491882341F09091C00095FF8D -:109AD000FCCF8093C6003196F5CF8091C00085FF02 -:109AE000FCCF8AE08093C600DF91CF910895AF92BA -:109AF000BF92CF92DF92EF92FF920F931F93CF937B -:109B0000DF93CDB7DEB7E0970FB6F894DEBF0FBE98 -:109B1000CDBF80E1EBEDFCE0DE01919601900D926E -:109B20008A95E1F780E1EBEEFCE0DE0151960190D1 -:109B30000D928A95E1F780E1EBEFFCE0DE011196F2 -:109B400001900D928A95E1F76E0181E2C80ED11C59 -:109B500081E0E82E8DE1F82E8E010F5E1F4F61E14E -:109B60007DE1AE014F5F5F4F91EFA92E9CE1B92ED1 -:109B700020E030E0F60181919191A191B1916F01C6 -:109B8000F70181939193A193B1937F01F8018191A2 -:109B90009191A191B1918F01FB0181939193A19337 -:109BA000B193BF01FA0181919191A191B191AF015E -:109BB000F50181939193A193B1935F012F5F3F4F83 -:109BC00024303105B9F60E940BEC80E090E8ABE35D -:109BD000B5E48093E91C9093EA1CA093EB1CB0932E -:109BE000EC1C8093E51C9093E61CA093E71CB093BB -:109BF000E81C1092ED1C1092EE1C1092EF1C1092BB -:109C0000F01C80E29EE4A0E0B0E08093211D9093E0 -:109C1000221DA093231DB093241D1092D51C1092D9 -:109C2000D61C1092D71C1092D81C80E090E0A0EABD -:109C3000B1E48093E11C9093E21CA093E31CB093E9 -:109C4000E41C8DEC9CECACECBEE38093DD1C9093AB -:109C5000DE1CA093DF1CB093E01C80E090E0A0EA43 -:109C6000B0E48093D91C9093DA1CA093DB1CB093D2 -:109C7000DC1C1092591310925A1310925B1310921D -:109C80005C131092551310925613109257131092A2 -:109C900058131092511310925213109253131092A2 -:109CA000541382ED90E09093DF168093DE1682E3EA -:109CB00090E09093DD168093DC161092DB161092E4 -:109CC000DA168FEF90E09093D9168093D81684E639 -:109CD00090E09093D7168093D6161092D5161092D6 -:109CE000D41683E393EBA3E2B2E48093180290933B -:109CF0001902A0931A02B0931B0260E070E08CE995 -:109D000090E40E94854A6093140270931502809338 -:109D100016029093170265E87BE28CEA92E40E94B7 -:109D2000914A6093100270931102809312029093F3 -:109D300013020E94683F80E090E0A0E8BFE38093B8 -:109D40000C0290930D02A0930E02B0930F0210929A -:109D5000461380E090E0A0E4B0E480931F0C909361 -:109D6000200CA093210CB093220C40E050E064E35F -:109D700072E44093170C5093180C6093190C709375 -:109D80001A0C109241131092421310924313109226 -:109D9000441310923D1310923E1310923F131092F1 -:109DA000401340E050E060E071E44093130C5093A6 -:109DB000140C6093150C7093160C10926D13809315 -:109DC0003F0C9093400CA093410CB093420C0E9426 -:109DD0005C71E1E9F2E58491882341F09091C00043 -:109DE00095FFFCCF8093C6003196F5CFE6E0F4E511 -:109DF0008491882341F09091C00095FFFCCF80931F -:109E0000C6003196F5CF8091C00085FFFCCF8AE077 -:109E10008093C600E0960FB6F894DEBF0FBECDBFAC -:109E2000DF91CF911F910F91FF90EF90DF90CF9036 -:109E3000BF90AF9008951F920F920FB60F9211240A -:109E40000BB60F922F933F934F935F936F938F9324 -:109E50009F93EF93FF936091C60020917C17309100 -:109E60007D17C90101968F77992740917E175091F0 -:109E70007F178417950741F0F901E450F94E60838C -:109E800090937D1780937C17FF91EF919F918F9115 -:109E90006F915F914F913F912F910F900BBE0F905B -:109EA0000FBE0F901F9018959A01AB01211581EEFE -:109EB00038074105510549F182E08093C00060E018 -:109EC00079E08DE390E00E94DFFA215031094109E9 -:109ED0005109CA01B90122E030E040E050E00E949F -:109EE000DFFA3093C5002093C4008091C1008061E7 -:109EF0008093C1008091C10088608093C1008091EF -:109F0000C10080688093C10008951092C00020E1D4 -:109F100030E0E7CF20917E1730917F1780917C173A -:109F200090917D178217930771F0F901E450F94E73 -:109F300080812F5F3F4F2F77332730937F172093F8 -:109F40007E1790E008958FEF9FEF089580917E1720 -:109F500090917F1790937D1780937C1708954F926F -:109F60005F926F927F928F929F92AF92BF92CF92A9 -:109F7000DF92EF92FF920F931F93CF93DF93CDB7B2 -:109F8000DEB7A0970FB6F894DEBF0FBECDBF5C0161 -:109F90004115510561057105E9F420E030E040E329 -:109FA00050E060E070E0A0960FB6F894DEBF0FBE00 -:109FB000CDBFDF91CF911F910F91FF90EF90DF9078 -:109FC000CF90BF90AF909F908F907F906F905F9059 -:109FD0004F905BC08E010F5F1F4FC12CD12C7601BB -:109FE0004801422E512C612C712C8FEFC81AD80ACF -:109FF000E80AF80ACB01BA01A30192010E94BDFA56 -:10A00000CA01F80161938F01A901BC0141155105F5 -:10A010006105710551F7F1E0CF1AD108E108F108A7 -:10A02000F401EC0DFD1D80818A3010F440E301C085 -:10A0300047E3480F552747FD5095652F752F20E0C2 -:10A0400030E0C50122D081E0C81AD108E108F1084A -:10A05000EFEFCE16DE06EE06FE0611F7A0960FB65F -:10A06000F894DEBF0FBECDBFDF91CF911F910F914E -:10A07000FF90EF90DF90CF90BF90AF909F908F9028 -:10A080007F906F905F904F9008952115310539F4BE -:10A090008091C00085FFFCCF4093C60008952A3010 -:10A0A000310509F424C05BCF9A01462F552747FD9F -:10A0B0005095652F752FE9CFCF93DF93EC0120E00A -:10A0C00030E04DE050E060E070E0DFDF20E030E0C5 -:10A0D0004AE050E060E070E0CE01DF91CF91D5CF53 -:10A0E0009A01AB01662757FD6095762FCECFCF92B0 -:10A0F000DF92EF92FF92CF93DF93EC016A017B0135 -:10A1000077FF0FC020E030E04DE250E060E070E00B -:10A11000BCDFF094E094D094C094C11CD11CE11C2D -:10A12000F11C2AE0B701A601CE01DF91CF91FF908B -:10A13000EF90DF90CF9013CF2115310539F4809146 -:10A14000C00085FFFCCF4093C600089508CF9A0158 -:10A15000462F50E060E070E0EFCFCF93DF93EC014B -:10A160009A01AB0160E070E0E7DFCE01DF91CF91B3 -:10A17000A3CF8F929F92AF92BF92CF92DF92EF9236 -:10A18000FF921F93CF93DF93EC016A017B01122FA3 -:10A1900020E030E0A901C701B6010E94DFF687FF89 -:10A1A0000CC020E030E04DE250E060E070E0CE0115 -:10A1B0006CDFF7FAF094F7F8F094B12C60E070E0FF -:10A1C00080E09FE3B11641F020E030E040E251E44E -:10A1D0000E94E6F6B394F6CF9B01AC01C701B6012D -:10A1E0000E9406F66B017C010E9453F74B015C0153 -:10A1F0000E947FF79B01AC01C701B6010E9405F6E2 -:10A200006B017C012AE0B501A401CE01A8DE112377 -:10A2100061F0E0E1FEE08191882339F09091C00087 -:10A2200095FFFCCF8093C600F6CF112319F120E0F3 -:10A2300030E040E251E4C701B6010E94B4F96B017D -:10A240007C010E944EF74B01AA2497FCA094BA2CE3 -:10A25000B501A401CE014BDFC501B4010E9481F715 -:10A260009B01AC01C701B6010E9405F66B017C01A0 -:10A270001150DBCFDF91CF911F91FF90EF90DF90D6 -:10A28000CF90BF90AF909F908F90089572CFCF9353 -:10A29000DF931F92CDB7DEB7698341E050E0BE0186 -:10A2A0006F5F7F4F04960E94C4370F90DF91CF916C -:10A2B0000895FB0101900020E9F7AF0141505109D9 -:10A2C000461B570B04960C94C43780919917811143 -:10A2D00009C080919817811105C08091971781114D -:10A2E00001C00895E1E9F2E58491882341F090915D -:10A2F000C00095FFFCCF8093C6003196F5CFE0916A -:10A300007B13F0E0EE0FFF1FE45EFD4F0190F08144 -:10A31000E02DE455FE4F0190F081E02D84918823DB -:10A3200041F09091C00095FFFCCF8093C60031961C -:10A33000F5CF80919917882371F160919A177091E8 -:10A340009B1780919C1790919D170E9481F72091F7 -:10A35000011D3091021D4091031D5091041D0E946A -:10A36000E6F6AB01BC0187E397E50E944C62E09101 -:10A370007B13F0E0EE0FFF1FE45EFD4F0190F081D4 -:10A38000E02DE455FE4F65E377E5808191810E94E1 -:10A39000294D0E943BA180919817882371F160910B -:10A3A0009E1770919F178091A0179091A1170E94FE -:10A3B00081F72091051D3091061D4091071D509198 -:10A3C000081D0E94E6F6AB01BC0181E397E50E94FF -:10A3D0004C62E0917B13F0E0EE0FFF1FE45EFD4F57 -:10A3E0000190F081E02DE455FE4F6FE277E580812A -:10A3F00091810E94294D0E943BA18091971788234B -:10A4000071F16091A2177091A3178091A417909198 -:10A41000A5170E9481F72091091D30910A1D4091D6 -:10A420000B1D50910C1D0E94E6F6AB01BC018BE2A6 -:10A4300097E50E944C62E0917B13F0E0EE0FFF1F66 -:10A44000E45EFD4F0190F081E02DE455FE4F69E29E -:10A4500077E5808191810E94294D0E943BA18091E6 -:10A46000C00085FFFCCF8AE08093C6001092991748 -:10A4700010929817109297170895109299171092AA -:10A4800098171092971708958093730C0895EFE62C -:10A49000F0E080818260808308951F920F920FB652 -:10A4A0000F9211240BB60F920F931F932F933F938C -:10A4B0004F935F936F937F938F939F93AF93BF93CC -:10A4C000EF93FF938091CA179091CB17892B09F0D6 -:10A4D0009EC19091CD178091CC17981771F0E091A3 -:10A4E000CC178DE4E89FF0011124E253F84EDF0110 -:10A4F000A45BBF4F81E08C9302C0E0E0F0E0F093FA -:10A50000CB17E093CA17309709F47BC1DF01A45B36 -:10A51000BF4F81E08C931092AD171092AE1710923E -:10A52000AF171092B01760AD71AD61349CE9790737 -:10A5300028F461329EE4790748F002C060E47CE9C7 -:10A54000769567957695679584E007C0613197E2C7 -:10A55000790730F07695679582E08093AA1707C057 -:10A560008093AA176032710510F460E270E06052C7 -:10A570007109611588E07807D0F0872F9927880F37 -:10A58000991F880F991F855C944AFC01329645916A -:10A590005491AA27659F9001649F210D3A1F06944C -:10A5A0002A1F3A1F1124FC01859194911DC0CB01F3 -:10A5B000969587958C7F855C984AFC0145915491CE -:10A5C0000296FC0185919491FB01E770FF278E9F15 -:10A5D00090018F9F300D9E9F300D112403E0369522 -:10A5E00027950A95E1F7CA01821B930B84369105E2 -:10A5F00000F5E0917B13F0E0EE0FFF1FE45EFD4FEE -:10A600000190F081E02DE655FE4F0190F081E02DA4 -:10A610008191882339F09091C00095FFFCCF809301 -:10A62000C600F6CF4AE050E08BEF96E196DD84E677 -:10A6300090E09093A9178093A8178091AA17992763 -:10A6400087FD90959093A7178093A617E091CA175E -:10A65000F091CB1764AD75AD7093AC176093AB17E9 -:10A6600061349CE9790728F461328EE4780748F078 -:10A6700002C060E47CE9769567957695679584E0FD -:10A6800007C0613197E2790730F07695679582E0EF -:10A690008093AA1708C081E08093AA1760327105E1 -:10A6A00010F460E270E060527109611588E078078B -:10A6B000E0F0872F9927880F991F880F991F855CD5 -:10A6C000944AFC01329625913491AA27639FA001F8 -:10A6D000629F410D5A1F06944A1F5A1F1124FC0104 -:10A6E00025913491241B350B1EC0CB01969587957F -:10A6F0008C7F855C984AFC01259134910296FC017F -:10A7000045915491FB01E770FF274E9FC0014F9F79 -:10A71000900D5E9F900D112443E0969587954A9584 -:10A72000E1F7281B390B2436310500F5E0917B1346 -:10A73000F0E0EE0FFF1FE45EFD4F0190F081E02D91 -:10A74000E655FE4F0190F081E02D8191882339F08C -:10A750009091C00095FFFCCF8093C600F6CF4AE0F1 -:10A7600050E08BEF96E1F9DC24E630E0C901A0E08F -:10A77000B0E08093B1179093B217A093B317B09342 -:10A78000B4173093890020938800E091CA17F091A4 -:10A79000CB1780899189A289B389B695A79597959A -:10A7A0008795B095A095909581959F4FAF4FBF4FDE -:10A7B0008093C5179093C617A093C717B093C81777 -:10A7C0008093C1179093C217A093C317B093C41777 -:10A7D0008093BD179093BE17A093BF17B093C01777 -:10A7E0008093B9179093BA17A093BB17B093BC1777 -:10A7F0001092B5171092B6171092B7171092B8179B -:10A8000006C080ED97E09093890080938800E091E6 -:10A81000CA17F091CB17309709F4A1C580A1809396 -:10A82000C9179FB780FF09C0F89480910B018D7FF5 -:10A8300080930B019FBF8FEF08C0F89480910B01AC -:10A84000826080930B019FBF81E080936F0C8091A9 -:10A85000C9179FB781FF09C0F89480910B018E7FC3 -:10A8600080930B019FBF8FEF08C0F89480910B017C -:10A87000816080930B019FBF81E08093700C2091D9 -:10A88000C9173091730C20FF3BC0332309F472C009 -:10A890001E9902C080E031C080919617882361F133 -:10A8A000E091CA17F091CB1780819181A281B38189 -:10A8B000181619061A061B06FCF480918017909151 -:10A8C0008117A0918217B091831780939A17909364 -:10A8D0009B17A0939C17B0939D1781E080939917C5 -:10A8E00080899189A289B3898093B5179093B6170F -:10A8F000A093B717B093B81781E0809396173AC02A -:10A900003323C1F140B151E042FB442740F94527D0 -:10A9100079F180919517882359F1E091CA17F09148 -:10A92000CB1780819181A281B381181619061A066E -:10A930001B06F4F48091801790918117A0918217E3 -:10A94000B091831780939A1790939B17A0939C17AD -:10A95000B0939D175093991780899189A289B389E3 -:10A960008093B5179093B617A093B717B093B81705 -:10A970004093951721FF3BC0332309F471C01D9903 -:10A9800002C080E031C080919417882361F1E0918A -:10A99000CA17F091CB1784819581A681B7811816CB -:10A9A00019061A061B06FCF48091841790918517EE -:10A9B000A0918617B091871780939E1790939F1749 -:10A9C000A093A017B093A11781E080939817808976 -:10A9D0009189A289B3898093B5179093B617A093F4 -:10A9E000B717B093B81781E08093941739C0332319 -:10A9F000B9F130B141E036953170342779F1809169 -:10AA00009317882359F1E091CA17F091CB178481ED -:10AA10009581A681B781181619061A061B06F4F44B -:10AA20008091841790918517A0918617B091871710 -:10AA300080939E1790939F17A093A017B093A11790 -:10AA40004093981780899189A289B3898093B5171B -:10AA50009093B617A093B717B093B8173093931786 -:10AA60009FB722FF47C0F89480910B018B7F8093A2 -:10AA70000B019FBF8FEF8093710C8091730C882323 -:10AA800009F47DC01C9902C080E031C0809192170A -:10AA9000882361F1E091CA17F091CB1780859185E9 -:10AAA000A285B385181619061A061B06FCF48091B8 -:10AAB000881790918917A0918A17B0918B1780936E -:10AAC000A2179093A317A093A417B093A51781E0A2 -:10AAD0008093971780899189A289B3898093B5174C -:10AAE0009093B617A093B717B093B81781E08093EF -:10AAF000921745C0F89480910B01846080930B01FC -:10AB00009FBF31E03093710C8091730C8823B9F1B1 -:10AB100026B12095221F2227221F79F180919117BB -:10AB2000882359F1E091CA17F091CB178085918560 -:10AB3000A285B385181619061A061B06F4F480912F -:10AB4000881790918917A0918A17B0918B178093DD -:10AB5000A2179093A317A093A417B093A5173093AF -:10AB6000971780899189A289B3898093B5179093AB -:10AB7000B617A093B717B093B81720939117809189 -:10AB8000C9179FB783FF09C0F89480910B018064B7 -:10AB900080930B019FBF8FEF08C0F89480910B0149 -:10ABA0008F7B80930B019FBF81E08093720C20E02C -:10ABB0008091AA1728170CF0ADC18091C00087FFC3 -:10ABC00019C03091C60040917C1750917D17CA0181 -:10ABD00001968F77992760917E1770917F1786175E -:10ABE000970741F0FA01E450F94E308390937D17B6 -:10ABF00080937C17E091CA17F091CB178091C5170D -:10AC00009091C617A091C717B091C8174081518184 -:10AC100062817381840F951FA61FB71F8093C5178C -:10AC20009093C617A093C717B093C81718161906A4 -:10AC30001A061B06CCF5409AE091CA17F091CB1783 -:10AC40008091C5179091C617A091C717B091C817EA -:10AC50004089518962897389841B950BA60BB70BB8 -:10AC60008093C5179093C617A093C717B093C817C2 -:10AC700040916F0C8091801790918117A09182175D -:10AC8000B0918317552747FD5095652F752F840F79 -:10AC9000951FA61FB71F8093801790938117A093CD -:10ACA0008217B09383174098E091CA17F091CB17A1 -:10ACB0008091C1179091C217A091C317B091C4178A -:10ACC0004481558166817781840F951FA61FB71F28 -:10ACD0008093C1179093C217A093C317B093C41762 -:10ACE000181619061A061B06CCF5419AE091CA17E8 -:10ACF000F091CB178091C1179091C217A091C31703 -:10AD0000B091C4174089518962897389841B950B5E -:10AD1000A60BB70B8093C1179093C217A093C317CC -:10AD2000B093C4174091700C80918417909185174F -:10AD3000A0918617B0918717552747FD5095652F2D -:10AD4000752F840F951FA61FB71F809384179093AC -:10AD50008517A0938617B09387174198E091CA177B -:10AD6000F091CB178091BD179091BE17A091BF179E -:10AD7000B091C0174085518562857385840F951FFA -:10AD8000A61FB71F8093BD179093BE17A093BF1740 -:10AD9000B093C017181619061A061B06CCF5429A6E -:10ADA000E091CA17F091CB178091BD179091BE1713 -:10ADB000A091BF17B091C0174089518962897389EA -:10ADC000841B950BA60BB70B8093BD179093BE17F2 -:10ADD000A093BF17B093C0174091710C8091881752 -:10ADE00090918917A0918A17B0918B17552747FD2D -:10ADF0005095652F752F840F951FA61FB71F809341 -:10AE0000881790938917A0938A17B0938B1742984D -:10AE1000E091CA17F091CB178091B9179091BA17AA -:10AE2000A091BB17B091BC17448555856685778581 -:10AE3000840F951FA61FB71F8093B9179093BA1759 -:10AE4000A093BB17B093BC17181619061A061B0659 -:10AE5000CCF5439AE091CA17F091CB178091B917BE -:10AE60009091BA17A091BB17B091BC174089518936 -:10AE700062897389841B950BA60BB70B8093B91756 -:10AE80009093BA17A093BB17B093BC174091720C64 -:10AE900080918C1790918D17A0918E17B0918F177C -:10AEA000552747FD5095652F752F840F951FA61FB9 -:10AEB000B71F80938C1790938D17A0938E17B09324 -:10AEC0008F1743988091B5179091B617A091B71737 -:10AED000B091B8170196A11DB11D8093B51790933D -:10AEE000B617A093B717B093B8174091B517509104 -:10AEF000B6176091B7177091B817E091CA17F09123 -:10AF0000CB1780899189A289B389481759076A07A5 -:10AF10007B07B0F04091B5175091B6176091B71705 -:10AF20007091B817E091CA17F091CB178489958971 -:10AF3000A689B78984179507A607B70718F4E6C04E -:10AF40002F5F36CE4091B1175091B2176091B31771 -:10AF50007091B417048D158D268D378DAA27419FCA -:10AF6000B12D529FC001629F900D619F800D911D78 -:10AF7000429FB00D811D9A1F519FB00D811D9A1FD8 -:10AF8000609FB00D811D9A1F509FB10D8A1F9A1F9F -:10AF9000B6958A1F9A1F112444AD55AD480F591F0D -:10AFA0005093AC174093AB1780AD91ADA2ADB3AD4C -:10AFB00060E070E084179507A607B70720F4909328 -:10AFC000AC178093AB176091AB177091AC176134DD -:10AFD0009CE9790728F461328EE4780748F002C0D2 -:10AFE00060E47CE9769567957695679584E007C07F -:10AFF000613197E2790730F07695679582E080932A -:10B00000AA1708C081E08093AA176032710510F476 -:10B0100060E270E060527109611588E07807E0F045 -:10B02000872F9927880F991F880F991F855C944A4D -:10B03000FC01329625913491AA27639FA001629F5B -:10B04000410D5A1F06944A1F5A1F1124FC012591D5 -:10B050003491241B350B1EC0CB01969587958C7FB0 -:10B06000855C984AFC01259134910296FC0145913A -:10B070005491FB01E770FF274E9FC0014F9F900D39 -:10B080005E9F900D112443E0969587954A95E1F7D0 -:10B09000281B390B2436310500F5E0917B13F0E0D5 -:10B0A000EE0FFF1FE45EFD4F0190F081E02DE655AD -:10B0B000FE4F0190F081E02D8191882339F090912D -:10B0C000C00095FFFCCF8093C600F6CF4AE050E069 -:10B0D0008BEF96E142D824E630E03093890020934C -:10B0E00088008091B1179091B217A091B317B091D9 -:10B0F000B417820F931FA11DB11D8093B1179093B8 -:10B10000B217A093B317B093B41704C14091B51709 -:10B110005091B6176091B7177091B817808D918DC7 -:10B12000A28DB38D84179507A607B70708F0E6C070 -:10B130004091AD175091AE176091AF177091B01755 -:10B14000048D158D268D378DAA27419FB12D529FD5 -:10B15000C001629F900D619F800D911D429FB00DB7 -:10B16000811D9A1F519FB00D811D9A1F609FB00DC8 -:10B17000811D9A1F509FB10D8A1F9A1FB6958A1F75 -:10B180009A1F11242091AB173091AC17E05CFF4F50 -:10B190002817390718F42081318102C0281B390B88 -:10B1A00080819181A281B381A90160E070E048179C -:10B1B00059076A077B0708F49C0121349CE9390789 -:10B1C00028F421328EE4380748F002C020E43CE93C -:10B1D000369527953695279584E007C0213197E26B -:10B1E000390730F03695279582E08093AA1708C07A -:10B1F00081E08093AA172032310510F420E230E07C -:10B20000B90160527109611588E07807E0F0872F75 -:10B210009927880F991F880F991F855C944AFC0114 -:10B22000329625913491AA27639FA001629F410D18 -:10B230005A1F06944A1F5A1F1124FC01259134916C -:10B24000241B350B1EC0CB01969587958C7F855CA2 -:10B25000984AFC01259134910296FC014591549144 -:10B26000FB01E770FF274E9FC0014F9F900D5E9F2F -:10B27000900D1124E3E096958795EA95E1F7281B58 -:10B28000390B2436310508F5E0917B13F0E0EE0F21 -:10B29000FF1FE45EFD4F0190F081E02DE655FE4F6B -:10B2A0000190F081E02D8191882339F09091C000C8 -:10B2B00095FFFCCF8093C600F6CF4AE050E08BEFBD -:10B2C00096E10E94ADD024E630E0309389002093CF -:10B2D00088008091AD179091AE17A091AF17B091F3 -:10B2E000B017820F931FA11DB11D8093AD179093CE -:10B2F000AE17A093AF17B093B0170CC08091A817EA -:10B300009091A91790938900809388008091A61747 -:10B310008093AA174091B5175091B6176091B7174F -:10B320007091B817E091CA17F091CB178089918975 -:10B33000A289B389481759076A077B0780F01092E2 -:10B34000CB171092CA179091CD178091CC179817F0 -:10B3500031F08091CC178F5F8F708093CC17FF9165 -:10B36000EF91BF91AF919F918F917F916F915F917D -:10B370004F913F912F911F910F910F900BBE0F9006 -:10B380000FBE0F901F9018959091CD178091CC17FC -:10B39000981741F00E94094680E00E94B5700E9413 -:10B3A000C4A3F2CF0895CF93DF93EFB7F894EC01E5 -:10B3B00088819981AA81BB8180938017909381179E -:10B3C000A0938217B0938317EB0188819981AA819A -:10B3D000BB818093841790938517A0938617B093B1 -:10B3E0008717EA0188819981AA81BB818093881798 -:10B3F00090938917A0938A17B0938B17E9018881DE -:10B400009981AA81BB8180938C1790938D17A0930B -:10B410008E17B0938F17EFBFDF91CF9108952FB79D -:10B42000F894FC0180819181A281B38180938C1773 -:10B4300090938D17A0938E17B0938F172FBF0895F9 -:10B440002FB7F89494E0899FF0011124E058F84E4A -:10B4500060817181828193812FBF089595DF179A52 -:10B4600010924E13169A10924F13159A1092501371 -:10B47000149A089580916F008D7F80936F00909152 -:10B48000CD178091CC17981769F09091CD178091C6 -:10B49000CC179817A1F38091CC178F5F8F70809392 -:10B4A000CC17EDCF1092CB171092CA1780916F0076 -:10B4B000826080936F000895813039F120F08230EE -:10B4C00009F445C0089517988091090182702FB73B -:10B4D000662329F0F89490910B01926004C0F894CF -:10B4E00090910B019D7F90930B012FBF409A409844 -:10B4F0009FB7882329F0F89480910B01826048C09F -:10B50000F89480910B018D7F43C0169880910901BA -:10B5100081702FB7662329F0F89490910B01916008 -:10B5200004C0F89490910B019E7F90930B012FBF64 -:10B53000419A41989FB7882329F0F89480910B0194 -:10B54000816026C0F89480910B018E7F21C01598F0 -:10B550008091090184702FB7662329F0F8949091A7 -:10B560000B01946004C0F89490910B019B7F909321 -:10B570000B012FBF429A42989FB7882329F0F89475 -:10B5800080910B01846004C0F89480910B018B7F43 -:10B5900080930B019FBF0895EF92FF920F931F932B -:10B5A000CF93DF931F92CDB7DEB77B018C01061BD3 -:10B5B000170B460FC701800F911F49830F94CA02D2 -:10B5C000F70181937F0149814E13F4CF0F90DF91F2 -:10B5D000CF911F910F91FF90EF900895DB018111A2 -:10B5E0000DC02FEF30E00E9401FB20ED37E040E07E -:10B5F00050E00E94DFFAB9018EE21DC0813069F48B -:10B600002FEF30E00E9401FB20ED37E040E050E0FA -:10B610000E94DFFAB9018DE20EC0823071F42FEF83 -:10B6200030E00E9401FB20ED37E040E050E00E9456 -:10B63000DFFAB9018CE20C9442EE089541E060E932 -:10B6400077E18FEF9FE0A8DF61E08EE20E944CEF90 -:10B6500061E08DE20E944CEF61E08CE20E944CEFD1 -:10B6600080919017811115C08091740C9091750C88 -:10B670009093810C8093800C8091760C9091770C44 -:10B680009093830C8093820C8091780C9091790C2C -:10B6900014C080917A0C90917B0C9093810C8093D4 -:10B6A000800C80917C0C90917D0C9093830C809306 -:10B6B000820C80917E0C90917F0C9093850C8093EE -:10B6C000840C6091800C7091810C80E087DF609128 -:10B6D000820C7091830C81E081DFA091840CB09189 -:10B6E000850C2FEF30E00E9401FB20ED37E040E0B9 -:10B6F00050E00E94DFFAB9018CE20E9442EE809194 -:10B700002101887F8160809321010895CF93C42F08 -:10B7100067FD20C0813061F028F0823079F08330FD -:10B7200099F018C088E20E9485EFC7FF1DC02AC0AB -:10B7300085E40E9485EFC7FF1AC024C084E40E94FC -:10B7400085EFC7FF17C01EC081E40E9485EFC7FFC9 -:10B7500014C018C0C7FD16C0813049F028F08230EF -:10B7600049F0833051F00EC06C2F89E208C06C2F75 -:10B7700087E205C06C2F83E402C06C2F82E4CF9176 -:10B780000C9485EFCF910895643079F028F46130FE -:10B7900041F0623041F00895683051F0603141F07D -:10B7A000089540E003C040E004C041E060E002C012 -:10B7B00041E061E0ABCFFF920F931F93CF93DF93F4 -:10B7C00000D01F921F92CDB7DEB785E0EBE0FDE021 -:10B7D000DE01119601900D928A95E1F761E088E211 -:10B7E0000E944CEF61E089E20E944CEF61E085E449 -:10B7F0000E944CEF61E087E20E944CEF61E084E43C -:10B800000E944CEF61E083E40E944CEF61E081E430 -:10B810000E944CEF61E082E40E944CEF8E010F5FCA -:10B820001F4FF12CF80161918F018F2DADDFF39443 -:10B83000F5E0FF12F7CF0F900F900F900F900F9041 -:10B84000DF91CF911F910F91FF900895F7DEB3DF45 -:10B85000EAE0F1E080818260808380818160808382 -:10B860008081846080838081806480830F9A179AAE -:10B870000E9A169A0D9A159A0C9A149A26982E9A40 -:10B8800025982D9A24982C9A0A98129A0998119A18 -:10B890003F98479A389A4098179A10924E13399ABF -:10B8A0004198169A10924F133A9A4298159A10920C -:10B8B00050133B9A4398149AA1E8B0E08C918F7E84 -:10B8C0008C938C9188608C93E0E8F0E080818D7F90 -:10B8D000808380818E7F808380818F73808380814D -:10B8E0008F7C80838C91887F82608C9380E090E451 -:10B8F00090938900809388001092850010928400B4 -:10B90000EFE6F0E080818260808381E08093730CB9 -:10B9100078940895EBE1F7E58491882341F09091C4 -:10B92000C00095FFFCCF8093C6003196F5CFE7E1CC -:10B93000F7E58491882341F09091C00095FFFCCFFA -:10B940008093C6003196F5CF88E20E94BAEF4AE0B4 -:10B9500050E0BC018BEF96E10E9470D089E20E941A -:10B96000BAEF4AE050E0BC018BEF96E10E9470D044 -:10B970008091C00085FFFCCF8AE08093C600E3E1A0 -:10B98000F7E58491882341F09091C00095FFFCCFAA -:10B990008093C6003196F5CF85E40E94BAEF4AE065 -:10B9A00050E0BC018BEF96E10E9470D087E20E94CC -:10B9B000BAEF4AE050E0BC018BEF96E10E9470D0F4 -:10B9C0008091C00085FFFCCF8AE08093C600EFE045 -:10B9D000F7E58491882341F09091C00095FFFCCF5A -:10B9E0008093C6003196F5CF84E40E94BAEF4AE016 -:10B9F00050E0BC018BEF96E10E9470D083E40E947E -:10BA0000BAEF4AE050E0BC018BEF96E10E9470D0A3 -:10BA10008091C00085FFFCCF8AE08093C600EAE0F9 -:10BA2000F7E58491882341F09091C00095FFFCCF09 -:10BA30008093C6003196F5CF81E40E94BAEF4AE0C8 -:10BA400050E0BC018BEF96E10E9470D082E40E942E -:10BA5000BAEF4AE050E0BC018BEF96E10E9470D053 -:10BA60008091C00085FFFCCF8AE08093C6000895D6 -:10BA7000CF93DF931F92CDB7DEB72091171E309181 -:10BA8000181ECE0101962115310519F0821B930B6A -:10BA900002C08D519E410F90DF91CF9108952F925A -:10BAA0003F924F925F926F927F928F929F92AF924E -:10BAB000BF92CF92DF92EF92FF920F931F93CF939B -:10BAC000DF93CDB7DEB768970FB6F894DEBF0FBE31 -:10BAD000CDBF1C012A013B0148015901DC01D89668 -:10BAE0006D917D918D919C91DB970E947FF76B0109 -:10BAF0007C01A30192010E94B4F90E94CCF60E943D -:10BB000053F769877A878B879C87A5019401C701C2 -:10BB1000B6010E94B4F90E94CCF60E9453F76D87DB -:10BB20007E878F87988B29853A854B855C8528375A -:10BB300031054105510540F488E790E0A0E0B0E010 -:10BB400089879A87AB87BC872D853E854F85588925 -:10BB5000283731054105510540F488E790E0A0E021 -:10BB6000B0E08D879E87AF87B88B91012C5B3F4FEC -:10BB7000D9018D919D910D90BC91A02D8D839E83B7 -:10BB8000AF83B887BC01CD010E9481F769837A83B6 -:10BB90008B839C8369857A858B859C850E947FF742 -:10BBA000698B7A8B8B8B9C8B20E030E0A9016981BB -:10BBB0007A818B819C810E94DFF6882339F1A7016D -:10BBC0009601C701B6010E94B4F94B015C012989B5 -:10BBD0003A894B895C89CA01B9010E94B4F99B0179 -:10BBE000AC01C501B4010E9405F64B015C0129813D -:10BBF0003A814B815C81CA01B9010E9406F69B0122 -:10BC0000AC01C501B4010E94E6F603C060E070E03B -:10BC1000CB010E94CCF60E944EF72B013C016D81B6 -:10BC20007E818F81988590958095709561957F4FE5 -:10BC30008F4F9F4F0E9481F74B015C016D857E8580 -:10BC40008F8598890E947FF76D837E838F83988785 -:10BC500020E030E0A901C501B4010E94DFF688238D -:10BC600049F12D813E814F815885CA01B9010E9459 -:10BC7000B4F96D8B7E8B8F8B988FA7019601C701CE -:10BC8000B6010E94B4F99B01AC016D897E898F8950 -:10BC9000988D0E9405F66B017C01A5019401C501F8 -:10BCA000B4010E9406F69B01AC01C701B6010E94D7 -:10BCB000E6F603C060E070E0CB010E94BCF7F10142 -:10BCC00080889188A288B38875016401C418D5085A -:10BCD000E608F7080E944EF7C61AD70AE80AF90ADA -:10BCE000F7FE6BC020E030E0A90169817A818B8189 -:10BCF0009C810E94DFF6882309F447C029813A819C -:10BD00004B815C81CA01B9010E9406F66B017C017E -:10BD1000C501B4010E947FF79B01AC01C701B601C8 -:10BD20000E94B4F96B017C0129893A894B895C89AD -:10BD3000CA01B9010E94B4F99B01AC01C701B60167 -:10BD40000E9405F66B017C012D813E814F81588553 -:10BD5000CA01B9010E94B4F99B01AC01C701B60147 -:10BD60000E9406F66B017C0120E030E040E850E4E0 -:10BD700069817A818B819C810E94B4F99B01AC011D -:10BD8000C701B6010E94E6F603C060E070E0CB0197 -:10BD90000E94CCF60E944EF72B013C0197FF03C096 -:10BDA000412C512C3201481459046A047B0410F0D0 -:10BDB00024013501C12CD12C76018FB7F894F10103 -:10BDC000E45BFF4F9081911125C0D10154964D92B3 -:10BDD0005D926D927C925797C40CD51CE61CF71CA3 -:10BDE000F101C08ED18EE28EF38E29853A854B8586 -:10BDF0005C85DC962D933D934D935C93DF97A05C1F -:10BE0000BF4F2D853E854F8558892D933D934D938A -:10BE10005C9313978FBF68960FB6F894DEBF0FBE82 -:10BE2000CDBFDF91CF911F910F91FF90EF90DF90E9 -:10BE3000CF90BF90AF909F908F907F906F905F90CA -:10BE40004F903F902F9008954F925F926F927F9204 -:10BE5000AF92BF92CF92DF92EF92FF920F931F9318 -:10BE6000CF93DF93EB017A01209709F458C0411575 -:10BE7000510509F454C0AAA4BBA40CA51DA59501A5 -:10BE8000A8016EA17FA188A599A50E94DFF688234D -:10BE900009F445C08FA981113AC0F70146A057A007 -:10BEA00060A471A4A3019201B501C8010E94E2F847 -:10BEB00018166CF5A3019201C301B2010E94B4F9F6 -:10BEC0006B017C018AA99BA9ACA9BDA9BC01CD01CC -:10BED00090589B01AC010E9406F62EA53FA548A9EB -:10BEE00059A90E94B4F99B01AC01C701B6010E9497 -:10BEF00005F60E9421FA6B017C019B01AC01B501A2 -:10BF0000C8010E94DFF687FD02C056018701A50126 -:10BF1000B8014EA35FA368A779A781E08EABDF913C -:10BF2000CF911F910F91FF90EF90DF90CF90BF9036 -:10BF3000AF907F906F905F904F900895DF92EF9257 -:10BF4000FF920F931F93CF93DF938091CD178FB7FD -:10BF5000F894E090CC178FBF8091CD1790E08E19A8 -:10BF600091098F7099270497F4F01091CD17135011 -:10BF70001F7040E050E000E0F12C8DE4D82E1E153B -:10BF800091F0111101C010E11150D19EE001112476 -:10BF9000C253D84E602F7F2DCE0156DF402F5F2D2C -:10BFA0000C2FFD2EECCFDF91CF911F910F91FF90C1 -:10BFB000EF90DF9008954F925F926F927F92AF92D1 -:10BFC000BF92CF92DF92EF92FF920F931F93CF9386 -:10BFD000DF938C01EB01009709F453C0FC0187A9A2 -:10BFE00081114FC046A057A060A471A4AEA0BFA00D -:10BFF000C8A4D9A49501A601C301B2010E94DFF62D -:10C0000087FF3FC0A3019201C301B2010E94B4F9AE -:10C010002B013C01F80182A993A9A4A9B5A9BC01EF -:10C02000CD0190589B01AC010E9406F6F80126A5AF -:10C0300037A540A951A90E94B4F99B01AC01C301E5 -:10C04000B2010E9405F60E9421FA7B018C019B013E -:10C05000AC01B501C6010E94DFF687FF02C0750181 -:10C0600086019701A801B501C6010E94DFF6882369 -:10C0700041F0A701B8014EA35FA368A779A781E0AB -:10C080008EABDF91CF911F910F91FF90EF90DF90DA -:10C09000CF90BF90AF907F906F905F904F9008953A -:10C0A000EF92FF920F931F93CF93DF93F090CC17F3 -:10C0B00000E010E080E090E02DE4E22E2091CD172A -:10C0C000F21689F0EF9CE0011124C253D84EAE0164 -:10C0D000B80171DF81E08F0D803109F480E0F82E26 -:10C0E000C8018E01EBCF40E050E0B801DF91CF9165 -:10C0F0001F910F91FF90EF905ECF4F925F926F92E2 -:10C100007F928F929F92AF92BF92CF92DF92EF92E7 -:10C11000FF920F931F93CF93DF939090CC17C0E0C3 -:10C12000D0E03DE4832E892D992787FD90952091BD -:10C13000CD1730E082179307B9F1889E5001899E90 -:10C14000B00C1124C5018253984E5C01209729F14F -:10C150008EA9811104C0F50186A98823F1F0CAA037 -:10C16000DBA0ECA0FDA0A7019601F50166A177A1D7 -:10C1700080A591A50E94E6F62B013C01A70196013E -:10C180006EA17FA188A599A50E94E6F6AB01BC012E -:10C1900093018201CE0183DC1EAA9394F0E19F12E9 -:10C1A00001C0912CE501BFCF2097E9F0CAA0DBA028 -:10C1B000ECA0FDA0A70196016DEC7CEC8CE49DE366 -:10C1C0000E94E6F64B015C01A70196016EA17FA1DA -:10C1D00088A599A50E94E6F6AB01BC0195018401F2 -:10C1E000CE015DDC1EAADF91CF911F910F91FF90D0 -:10C1F000EF90DF90CF90BF90AF909F908F907F9007 -:10C200006F905F904F90089599DE4ADF76CF10923D -:10C21000CD171092CC1780E1E5EBFCE1DF011D9218 -:10C220008A95E9F71092A51C1092A61C1092A71CE3 -:10C230001092A81C1092A91C1092AA1C1092AB1C60 -:10C240001092AC1C1092AD1C1092AE1C1092AF1C40 -:10C250001092B01C1092B11C1092B21C1092B31C20 -:10C260001092B41C1092A11C1092A21C1092A31C3C -:10C270001092A41C0895609147139091CC1780915F -:10C28000CD17981781F08091CC179DE4899FF0011C -:10C290001124EA5EF74E60819091CD17891719F04D -:10C2A0008F5F8F70F9CF70E086E00C9442EE2F9292 -:10C2B0003F924F925F926F927F928F929F92AF9236 -:10C2C000BF92CF92DF92EF92FF920F931F93CF9383 -:10C2D000DF93CDB7DEB7CC56D1090FB6F894DEBFE9 -:10C2E0000FBECDBF3C015B014A012901E8A6F8AEB3 -:10C2F00025960FAF25971CAF86012091CD172F5F94 -:10C3000029962FAF2997203119F429961FAE299726 -:10C3100029963FAD2997E32EFF24E7FCF094809106 -:10C32000CC1790E08E159F0541F40E94094680E0ED -:10C330000E94B5700E94C4A3F2CF2091011D3091DC -:10C34000021D4091031D5091041DD3016D917D91FB -:10C350008D919C910E94B4F90E9484F969966CAF0A -:10C360007DAF8EAF9FAF69972091051D3091061D5F -:10C370004091071D5091081DF501608171818281F6 -:10C3800093810E94B4F90E9484F96D966CAF7DAFE1 -:10C390008EAF9FAF6D972091091D30910A1D40917E -:10C3A0000B1D50910C1DD4016D917D918D919C912F -:10C3B0000E94B4F90E9484F9A1966CAF7DAF8EAF54 -:10C3C0009FAFA19720910D1D30910E1D40910F1D23 -:10C3D0005091101DF20160817181828193810E94D0 -:10C3E000B4F90E9484F924966CAF7DAF8EAF9FAFF5 -:10C3F00024978091C11C9091C21CA091C31CB09144 -:10C40000C41C24962CAD3DAD4EAD5FAD24972817CE -:10C4100039074A075B0709F4C8C0E091491334E0C3 -:10C42000E39FF0011124E85FFE4E2091860C3091CD -:10C43000870C4091880C5091890C608171818281B8 -:10C4400093810E94DFF687FF3CC024968CAD9DADA2 -:10C45000AEADBFAD24978093C11C9093C21CA09336 -:10C46000C31CB093C41CE1E9F2E58491882341F038 -:10C470009091C00095FFFCCF8093C6003196F5CF18 -:10C48000E0917B13F0E0EE0FFF1FE45EFD4F0190A3 -:10C49000F081E02DE255FE4F0190F081E02D849176 -:10C4A000882341F09091C00095FFFCCF8093C60097 -:10C4B0003196F5CF8091C00085FFFCCF8AE0809354 -:10C4C000C6008091C11C9091C21CA091C31CB09168 -:10C4D000C41C24962CAD3DAD4EAD5FAD2497281BFA -:10C4E000390B4A0B5B0BCA01B90157FF07C0909586 -:10C4F0008095709561957F4F8F4F9F4F0E9481F778 -:10C500006B017C0120E030E04EEC53E460910D1DA6 -:10C5100070910E1D80910F1D9091101D0E94B4F915 -:10C520009B01AC01C701B6010E94E2F818160CF09D -:10C530003CC024968CAD9DADAEADBFAD249780932D -:10C54000C11C9093C21CA093C31CB093C41CE1E90E -:10C55000F2E58491882341F09091C00095FFFCCFD3 -:10C560008093C6003196F5CFE0917B13F0E0EE0F9B -:10C57000FF1FE45EFD4F0190F081E02DE055FE4F7E -:10C580000190F081E02D8491882341F09091C000CA -:10C5900095FFFCCF8093C6003196F5CF8091C00007 -:10C5A00085FFFCCF8AE08093C6008091CD179DE483 -:10C5B000899F10011124D101A253B84E1D01FD0124 -:10C5C000E45BFF4F10822091B51C3091B61C409166 -:10C5D000B71C5091B81C2BA33CA34DA35EA3699636 -:10C5E0004CAC5DAC6EAC7FAC6997421A530A640ADE -:10C5F000750A77FE08C07094609450944094411C72 -:10C60000511C611C711CD1014D925D926D927C9206 -:10C6100013972091B91C3091BA1C4091BB1C5091CA -:10C62000BC1C2CAB3DAB4EAB5FAB6D968CAC9DACEC -:10C63000AEACBFAC6D97821A930AA40AB50AB7FED6 -:10C6400008C0B094A09490948094811C911CA11C6B -:10C65000B11CD10114968D929D92AD92BC92179708 -:10C660002091BD1C3091BE1C4091BF1C5091C01C3C -:10C670002CA73DA74EA75FA7A196CCACDDACEEAC36 -:10C68000FFACA197C21AD30AE40AF50AF7FE08C064 -:10C69000F094E094D094C094C11CD11CE11CF11C16 -:10C6A000D1011896CD92DD92ED92FC921B972091CC -:10C6B000C11C3091C21C4091C31C5091C41C28ABBA -:10C6C00039AB4AAB5BAB24966CAD7DAD8EAD9FAD07 -:10C6D0002497621B730B840B950B97FF07C09095F3 -:10C6E0008095709561957F4F8F4F9F4F0E9481F786 -:10C6F000E091491334E0E39FF0011124E55CF34F2E -:10C7000020813181428153810E94B4F90E944EF709 -:10C710009B01AC01A091470CB091480C0E9411FB09 -:10C7200024E630E040E050E00E94DFFAD1011C96A0 -:10C730002D933D934D935C931F97C814D904EA043D -:10C74000FB0414F475016401C216D306E406F50671 -:10C7500014F469017A01D301C2014C145D046E0422 -:10C760007F0414F4D701C601F101808B918BA28B59 -:10C77000B38B0697A105B10508F461C7E85BFF4FCD -:10C780008091471390914813AA2797FDA095BA2F3F -:10C7900080839183A283B38369962CAD3DAD4EAD6A -:10C7A0005FAD69978BA19CA1ADA1BEA128173907E8 -:10C7B0004A075B0724F0D10190961C9203C081E0E8 -:10C7C000F10180A36D962CAD3DAD4EAD5FAD6D9783 -:10C7D0008CA99DA9AEA9BFA9281739074A075B07ED -:10C7E0003CF4D10190968C919097826090968C93B6 -:10C7F000A1962CAD3DAD4EAD5FADA1978CA59DA58D -:10C80000AEA5BFA5281739074A075B073CF4D1013D -:10C8100090968C919097846090968C9324962CADF2 -:10C820003DAD4EAD5FAD249788A999A9AAA9BBA932 -:10C83000281739074A075B073CF4D10190968C9181 -:10C840009097886090968C93F8018081D1019196A1 -:10C850008C9345284628472809F01798F1018481D0 -:10C860009581A681B781892B8A2B8B2B09F016988D -:10C87000F10180859185A285B385892B8A2B8B2B2D -:10C8800009F01598F10184859585A685B785892BD2 -:10C890008A2B8B2B69F180919E1C882319F0815083 -:10C8A00080939E1C80919F1C882319F08150809357 -:10C8B0009F1C8091A01C882319F081508093A01C9C -:10C8C000D8018C91813061F030F0823089F480E2BF -:10C8D0008093A01C08C0149880E280939E1C08C01E -:10C8E00080E280939F1C80919E1C811101C0149A4C -:10C8F000D1011C962D913D914D915C911F972D96E4 -:10C900002CAF3DAF4EAF5FAF2D97232B242B252BA4 -:10C9100009F5B091D51CBBA3E091D61CEFA31091F3 -:10C92000D71C0091D81C2B2F3E2F412F502F68A5CC -:10C9300078AD25968FAD25979CAD0E94DFF687FDDB -:10C9400016C0F8A5FBA328AD2FA325961FAD2597EC -:10C950000CAD0DC03091ED1C3BA34091EE1C4FA3DC -:10C960001091EF1C0091F01C232F342FDECF80910B -:10C97000B51C9091B61CA091B71CB091B81C6996DB -:10C980002CAD3DAD4EAD5FAD6997281B390B4A0B01 -:10C990005B0BCA01B9010E9481F72091011D309102 -:10C9A000021D4091031D5091041D0E94E6F668A7E8 -:10C9B00079A78AA79BA7698B7A8B8B8B9C8B6D96AB -:10C9C0006CAD7DAD8EAD9FAD6D972CA93DA94EA9E7 -:10C9D0005FA9621B730B840B950B0E9481F720915A -:10C9E000051D3091061D4091071D5091081D0E94A4 -:10C9F000E6F64B015C016D8B7E8B8F8B988FA19639 -:10CA00006CAD7DAD8EAD9FADA1972CA53DA54EA57E -:10CA10005FA5621B730B840B950B0E9481F720911D -:10CA2000091D30910A1D40910B1D50910C1D0E9453 -:10CA3000E6F66B017C01698F7A8F8B8F9C8F249631 -:10CA40006CAD7DAD8EAD9FAD249728A939A94AA9BB -:10CA50005BA9621B730B840B950B0E9481F72091DD -:10CA60000D1D30910E1D40910F1D5091101D0E9403 -:10CA7000E6F6E091491334E0E39FF0011124E55C10 -:10CA8000F34F20813181428153810E94B4F92B01FF -:10CA90003C016091470C7091480C882777FD809588 -:10CAA000982F0E9481F79B01AC01C301B2010E9443 -:10CAB000B4F920E030E048EC52E40E94E6F66D8FD5 -:10CAC0007E8F8F8F98A3D1012D913D914D915C91D7 -:10CAD000139728AF39AF4AAF5BAF26303105410518 -:10CAE000510504F514964D905D906D907C901797CC -:10CAF000B6E04B16510461047104A4F4F1014084C2 -:10CB0000518462847384F6E04F1651046104710409 -:10CB10004CF4DC01CB01BF77F10186A797A7A0AB4E -:10CB2000B1AB27C068A579A58AA59BA50E945FFA2D -:10CB30002B013C01C501B4010E945FFA9B01AC01CD -:10CB4000C301B2010E9406F64B015C01C701B601A8 -:10CB50000E945FFA9B01AC01C501B4010E9406F678 -:10CB60000E9421FAD1019E966D937D938D939C93A3 -:10CB7000D197D1019E962D913D914D915C91D19788 -:10CB800028962CAF3DAF4EAF5FAF289760E070E0C6 -:10CB900080E89FE30E94E6F69B01AC016BA17FA1B8 -:10CBA000812F902F0E94B4F92B013C019091CD1759 -:10CBB0008091CC17E92FF0E0E81BF109EF70FF2717 -:10CBC000FDABECABA301920160E074E284E799E471 -:10CBD0000E94E6F60E9484F96B017C012CA93DA914 -:10CBE000223031050CF442C04901AA2497FCA094DC -:10CBF000BA2CC501B4010E9481F720E030E040E08A -:10CC000051E40E94DFF687FF31C08091211D909191 -:10CC1000221DA091231DB091241DC816D906EA0635 -:10CC2000FB0620F5BC01CD016C197D098E099F0919 -:10CC3000660F771F881F991FA50194010E94BDFAF6 -:10CC4000CA01B9010E947FF70E9484F96C0D7D1D15 -:10CC50008E1D9F1D0E947FF79B01AC0160E074E276 -:10CC600084E799E40E94E6F62B013C01A3019201BE -:10CC700028966CAD7DAD8EAD9FAD28970E94B4F91E -:10CC80006CAF7DAF8EAF9FAFD10192966D937D93C8 -:10CC90008D939C93959750966D917D918D919C91DC -:10CCA00053970E947FF76BA37CA38DA39EA3A30140 -:10CCB00092010E94B4F90E94CCF60E9453F76B01D6 -:10CCC0007C01F10160AF71AF82AF93AF8E010F5E57 -:10CCD0001F4F21E13DE165963FAF2EAF6597AE0155 -:10CCE0004F5D5F4F5AA349A3CE01019663969FAF54 -:10CCF0008EAF63971FA21CA690E898ABAFE3A8A7DE -:10CD0000F80161917191819191918F01A30192013B -:10CD10000E94B4F96396AEADBFAD63976D937D93FA -:10CD20008D939D936396BFAFAEAF63979B01AC01AC -:10CD30005F7761962CAF3DAF4EAF5FAF6197659661 -:10CD4000AEADBFAD65978D909D90AD90BD90659651 -:10CD5000BFAFAEAF6597A501940161966CAD7DAD97 -:10CD60008EAD9FAD61970E94E2F81816F4F46196BB -:10CD70002CAD3DAD4EAD5FAD6197C501B4010E94D4 -:10CD8000E6F6B62EA72E982E892E262F372F482F5F -:10CD9000592F6FA17CA588A998A50E94DFF687FD71 -:10CDA00004C0BFA2ACA698AA88A6E9A1FAA10E1752 -:10CDB0001F0709F0A5CF20E030E040E85FE36FA156 -:10CDC0007CA588A998A50E94DFF687FF3DC05E017B -:10CDD000F1E1AF0EB11C8E010F5F1F4F2FA13CA5DB -:10CDE00048A958A5D8016D917D918D919C910E9483 -:10CDF000B4F9F80161937193819391938F01EA15CE -:10CE0000FB0561F72FA13CA548A958A56CAD7DADE8 -:10CE10008EAD9FAD0E94B4F9D10192966D937D9332 -:10CE20008D939C939597C701B6010E947FF72FA120 -:10CE30003CA548A958A50E94B4F90E9453F7F101F6 -:10CE400060AF71AF82AF93AF28962CAD3DAD4EADC4 -:10CE50005FAD28976BA17CA18DA19EA10E94E6F6F3 -:10CE60006B017C0128AD39AD4AAD5BAD232B242B82 -:10CE7000252B59F5F10184819581A681B781892BF4 -:10CE80008A2B8B2B11F580859185A285B385892B03 -:10CE90008A2B8B2BD1F42091E51C3091E61C40911C -:10CEA000E71C5091E81CC701B6010E94B4F90E942A -:10CEB000CCF681010C5B1F4F0E9453F7D8016D9394 -:10CEC0007D938D939C931397F6C02091E91C30912C -:10CED000EA1C4091EB1C5091EC1CC701B6010E946A -:10CEE000B4F90E94CCF60E9453F781010C5B1F4FEE -:10CEF000F80160837183828393834090C51C5090B6 -:10CF0000C61C6090C71C7090C81C0E947FF74B0124 -:10CF10005C0168AD79AD8AAD9BAD0E9481F79B0144 -:10CF2000AC01C501B4010E94B4F92BA13CA14DA1F3 -:10CF30005EA10E94E6F64B015C01C301B2010E94B2 -:10CF40007FF79B01AC01C501B4010E94E2F81816FD -:10CF500034F4D8014D925D926D927C92139740907B -:10CF6000C91C5090CA1C6090CB1C7090CC1CF8015E -:10CF700060817181828193810E947FF74B015C0106 -:10CF8000D10114966D917D918D919C9117970E947E -:10CF900081F79B01AC01C501B4010E94B4F92BA13A -:10CFA0003CA14DA15EA10E94E6F64B015C01C301CC -:10CFB000B2010E947FF79B01AC01C501B4010E9440 -:10CFC000E2F818162CF4F8014082518262827382D2 -:10CFD0004090D11C5090D21C6090D31C7090D41CF7 -:10CFE00081010C5B1F4FD8016D917D918D919C91BA -:10CFF0000E947FF74B015C012D966CAD7DAD8EAD2F -:10D000009FAD2D970E9481F79B01AC01C501B40132 -:10D010000E94B4F92BA13CA14DA15EA10E94E6F6AD -:10D020004B015C01C301B2010E947FF79B01AC017F -:10D03000C501B4010E94E2F818162CF4F8014082F0 -:10D040005182628273824090CD1C5090CE1C6090C1 -:10D05000CF1C7090D01CD8016D917D918D919C91C9 -:10D060000E947FF74B015C01F1016085718582852B -:10D0700093850E9481F79B01AC01C501B4010E9418 -:10D08000B4F92BA13CA14DA15EA10E94E6F64B0193 -:10D090005C01C301B2010E947FF79B01AC01C50195 -:10D0A000B4010E94E2F8181634F4D8014D925D9252 -:10D0B0006D927C921397F101EC5BFF4F608171815F -:10D0C000828193810E947FF74B015C01A701960149 -:10D0D0000E94E6F6A5966CAF7DAF8EAF9FAFA59789 -:10D0E000F10162AB73AB84AB95AB2DEB37E346E05C -:10D0F00051E4C501B4010E94B4F90E944EF7D10178 -:10D100005C966D937D938D939C935F97C090E11C8B -:10D11000D090E21CE090E31CF090E41C20E030E0B2 -:10D1200040E05FE3C701B6010E94B4F96BA37FA39F -:10D130008C0129853A854B855C85A9962CAF3DAF3E -:10D140004EAF5FAFA9978091DD1C9091DE1CA0913E -:10D15000DF1CB091E01C8CAF9DAFAEAFBFAF20E045 -:10D1600030E040E05FE3BC01CD010E94B4F9B62E8F -:10D17000A72E982E892EA9966CAD7DAD8EAD9FAD54 -:10D18000A9979F772B2D3A2D492D582D0E94E2F813 -:10D1900018167CF42B2D3A2D492D582D6BA17FA10B -:10D1A000C8010E94DFF687FD04C0BBA2AFA2092D13 -:10D1B000182D2D853E854F855889AD962CAF3DAFF6 -:10D1C0004EAF5FAFAD978091D91C9091DA1CA091C2 -:10D1D000DB1CB091DC1C2D968CAF9DAFAEAFBFAF0A -:10D1E0002D9720E030E040E05FE3BC01CD010E94DC -:10D1F000B4F9B62EA72E982E892EAD966CAD7DADC6 -:10D200008EAD9FADAD979F772B2D3A2D492D582D83 -:10D210000E94E2F818167CF42B2D3A2D492D582D3A -:10D220006BA17FA1C8010E94DFF687FD04C0BBA2ED -:10D23000AFA2092D182DD1019296BC91BCA7F10186 -:10D24000F3A1F8ABD1019496BC91B8A7F101F5A177 -:10D25000F8AF2CA538A94B2F5F2F6BA17FA1C80178 -:10D260000E94DFF687FD06C02CA52BA338A93FA39B -:10D2700008A518AD4CA95DA9423051050CF405C1B3 -:10D280005091A11C5CAB8091A21C2E968FAF2E9763 -:10D290009091A31C62969FAF6297A091A41C649684 -:10D2A000AFAF649727E137EB41ED58E36CA9782FD6 -:10D2B000892F9A2F0E94E2F818160CF0E6C02091F0 -:10D2C000A51C3091A61C4091A71C5091A81C6981F7 -:10D2D0007A818B819C810E9405F62B013C01209173 -:10D2E000A91C3091AA1C4091AB1C5091AC1C6D81C3 -:10D2F0007E818F8198850E9405F64B015C01A30118 -:10D300009201C301B2010E94B4F92B013C01A501B5 -:10D310009401C501B4010E94B4F99B01AC01C301A1 -:10D32000B2010E9406F60E9421FA4B015C01A7019E -:10D3300096010E94E2F818164CF4A5019401C70169 -:10D34000B6010E94E6F65B014C0106C0A12CB12C8F -:10D3500040E8842E5FE3952E2091AD1C3091AE1CE9 -:10D360004091AF1C5091B01CA9966CAD7DAD8EADB7 -:10D370009FADA9970E9405F66B017C01E894F7F830 -:10D380002CAD3DAD4EAD5FADC701B6010E94E2F8D8 -:10D390001816D4F4A70196016CAD7DAD8EAD9FAD8E -:10D3A0000E94E6F6F62EE72ED82EC92E262F372F0E -:10D3B000482F592FB501C4010E94DFF687FD04C034 -:10D3C000AF2CBE2C8D2C9C2C2091B11C3091B21C0A -:10D3D0004091B31C5091B41CAD966CAD7DAD8EAD3B -:10D3E0009FADAD970E9405F66B017C01E894F7F8BC -:10D3F0002D962CAD3DAD4EAD5FAD2D97C701B6015D -:10D400000E94E2F81816E4F4A70196012D966CAD7F -:10D410007DAD8EAD9FAD2D970E94E6F6F62EE72EE0 -:10D42000D82EC92E262F372F482F592FB501C401CA -:10D430000E94DFF687FD04C0AF2CBE2C8D2C9C2CE7 -:10D440009501A4016CA578A988A598AD0E94B4F9AE -:10D450004B015C019B01AC016CA92E967FAD2E9710 -:10D4600062968FAD629764969FAD64970E94DFF6D7 -:10D4700087FF0EC08CA82E969FAC2E976296AFACFD -:10D4800062976496BFAC649703C08BA09FA05801BD -:10D49000C401D501F10182A793A7A4A7B5A7A596BA -:10D4A0006CAD7DAD8EAD9FADA59790589B01AC0145 -:10D4B0000E9406F628962CAD3DAD4EAD5FAD289787 -:10D4C0000E94B4F99B01AC016BE077ED83E29BE332 -:10D4D0000E9405F60E9421FA7B01D82EC92E9B01DD -:10D4E000482F592FB401C5010E94DFF687FD03C004 -:10D4F0004701AD2CBC2CC401D501F10186A397A333 -:10D50000A0A7B1A797014D2D5C2D6CA578A988A582 -:10D5100098AD0E94DFF618162CF081E0D101D79665 -:10D520008C9302C0F10117AA81E0D101D6968C93A9 -:10D5300080E1FE013196A5EABCE101900D928A9549 -:10D54000E1F78CA598A9A8A5B8AD8093A11C9093EC -:10D55000A21CA093A31CB093A41C9C01AD016BA1C1 -:10D560007FA1C8010E94E6F66B017C012CA538A9B9 -:10D5700048A558ADB401C5010E94E6F6AB01BC0157 -:10D5800097018601C1010E944FDD2996BFAD299701 -:10D59000B093CD1769962CAD3DAD4EAD5FAD69979B -:10D5A0002093B51C3093B61C4093B71C5093B81C05 -:10D5B0006D968CAD9DADAEADBFAD6D978093B91C32 -:10D5C0009093BA1CA093BB1CB093BC1CA1962CAD2D -:10D5D0003DAD4EAD5FADA1972093BD1C3093BE1CF9 -:10D5E0004093BF1C5093C01C24968CAD9DADAEAD36 -:10D5F000BFAD24978093C11C9093C21CA093C31C01 -:10D60000B093C41C0E9404E1C459DF4F0FB6F894D4 -:10D61000DEBF0FBECDBFDF91CF911F910F91FF9065 -:10D62000EF90DF90CF90BF90AF909F908F907F90C2 -:10D630006F905F904F903F902F900C9447D2C459B9 -:10D64000DF4F0FB6F894DEBF0FBECDBFDF91CF9195 -:10D650001F910F91FF90EF90DF90CF90BF90AF9010 -:10D660009F908F907F906F905F904F903F902F9002 -:10D670000895EF92FF920F931F93CF93DF937B0157 -:10D680008A01E9012091011D3091021D4091031D85 -:10D690005091041DFC0160817181828193810E94FF -:10D6A000B4F90E9484F96093B51C7093B61C809302 -:10D6B000B71C9093B81C2091051D3091061D409118 -:10D6C000071D5091081DF70160817181828193814E -:10D6D0000E94B4F90E9484F96093B91C7093BA1C3B -:10D6E0008093BB1C9093BC1C2091091D30910A1D96 -:10D6F00040910B1D50910C1DF80160817181828158 -:10D7000093810E94B4F90E9484F96093BD1C7093C8 -:10D71000BE1C8093BF1C9093C01C20910D1D3091A6 -:10D720000E1D40910F1D5091101D688179818A81D5 -:10D730009B810E94B4F90E9484F96093C11C70938C -:10D74000C21C8093C31C9093C41C21EC3CE14DEBA4 -:10D750005CE169EB7CE185EB9CE10E94D3D91092FE -:10D76000A11C1092A21C1092A31C1092A41C109237 -:10D77000A51C1092A61C1092A71C1092A81C109217 -:10D78000A91C1092AA1C1092AB1C1092AC1C1092F7 -:10D79000AD1C1092AE1C1092AF1C1092B01C1092D7 -:10D7A000B11C1092B21C1092B31C1092B41CDF91E9 -:10D7B000CF911F910F91FF90EF90089520910D1D33 -:10D7C00030910E1D40910F1D5091101DFC01608184 -:10D7D0007181828193810E94B4F90E9484F96093DF -:10D7E000C11C7093C21C8093C31C9093C41C81EC19 -:10D7F0009CE10C940FDA8091CD179091CC17891B86 -:10D800008F7008956093860C7093870C8093880CBA -:10D810009093890C0895CF92DF92EF92FF920F932D -:10D820001F93CF93DF9300D01F92CDB7DEB711EFD8 -:10D83000C12E1CE1D12E01E0E02E0DE1F02E05EC11 -:10D840001CE1F60161917191819191916F01F70154 -:10D8500021913191419151917F0129833A834B83E9 -:10D860005C830E947FF729813A814B815C810E9411 -:10D87000B4F90E9453F7F8016193719381939193E6 -:10D880008F01F1E0CF16FDE1DF06D9F60F900F9082 -:10D890000F900F90DF91CF911F910F91FF90EF901C -:10D8A000DF90CF9008958091541D90E02091551DF8 -:10D8B000821B910908952091551D8091541D2817B0 -:10D8C00050F4E22FF0E0EA5AF24E808190E02F5FB0 -:10D8D0002093551D08958FEF9FEF0895E091551DFA -:10D8E0008091541DE81730F4F0E0EA5AF24E80813E -:10D8F00090E008958FEF9FEF08950895CF92DF9203 -:10D90000EF92FF920F931F93CF93DF937C01CB0194 -:10D910008A012091311D222389F0EB016B01C40E95 -:10D92000D51ECC15DD0561F06991D701ED91FC9113 -:10D930000190F081E02DC7011995F3CF642F4BD0F2 -:10D94000C801DF91CF911F910F91FF90EF90DF9071 -:10D95000CF900895CF93DF931F92CDB7DEB7698341 -:10D960002091311D2223D1F02091321D203240F030 -:10D9700021E030E0FC013383228380E090E014C09A -:10D980008091331DE82FF0E0EC5CF24E998190839A -:10D990008F5F8093331D8093321D04C061E0CE0100 -:10D9A000019619D081E090E00F90DF91CF9108951A -:10D9B000FC011382128248EE53E060E070E0448381 -:10D9C0005583668377838EE99EE0918380830895F3 -:10D9D00085E29DE1EDCF613298F42091E31D243082 -:10D9E00089F46093981DFC018AE99DE1DC012A2FEE -:10D9F000281B261718F421912D93F9CF80E0089564 -:10DA000081E0089582E0089585ED8093BC008091C7 -:10DA1000BC0084FDFCCF1092E31D089585EC80933B -:10DA2000BC001092E31D08951F920F920FB60F9243 -:10DA300011240BB60F922F933F934F935F936F93E5 -:10DA40007F938F939F93AF93BF93EF93FF938091B7 -:10DA5000B900887F803609F49CC068F5883209F4E3 -:10DA60005BC090F4803109F454C038F4882309F481 -:10DA7000F3C0883009F44DC0F2C0883109F44CC0BD -:10DA8000803209F45DC0EBC0803409F468C048F40A -:10DA9000803309F455C0883309F0E1C08093761DC6 -:10DAA000A7C0803509F44FC0883509F45DC08834BB -:10DAB00009F0D5C0D3C0883909F4C4C0A8F48837A8 -:10DAC00009F467C038F4883609F463C0803709F474 -:10DAD00060C0C5C0883809F4B5C0803909F45FC09A -:10DAE000803809F0BCC05BC0803B09F483C038F4C7 -:10DAF000803A09F466C0883A09F47CC0B0C0803C22 -:10DB000009F4A4C0883C09F4A1C0883B09F487C08B -:10DB1000A6C08091E21D10C09091BB1D8091BA1DDE -:10DB2000981770F5E091BB1D81E08E0F8093BB1DAF -:10DB3000F0E0E454F24E80818093BB0085EC83C01A -:10DB40008093761D8BC0E091BB1D81E08E0F80938A -:10DB5000BB1D8091BB00F0E0E454F24E80839091B5 -:10DB6000BB1D8091BA1D6BC0E091BB1D81E08E0F83 -:10DB70008093BB1D8091BB00F0E0E454F24E8083A3 -:10DB80008091E11D81116AC081E08093E01D84EAEB -:10DB90005EC083E08093E31D1092771DCFCF80910C -:10DBA000771D803208F04EC0E091771D81E08E0F26 -:10DBB0008093771D8091BB00F0E0E858F24E80839F -:10DBC000BDCF8091771D803230F4E091771DF0E079 -:10DBD000E858F24E108218DF6091771D70E0E091F6 -:10DBE000DC1DF091DD1D88E79DE119951092771DF0 -:10DBF00015DF35C084E08093E31D1092991D1092CB -:10DC0000981DE091DE1DF091DF1D19958091981D02 -:10DC1000811105C081E08093981D10929A1DE091BA -:10DC2000991D81E08E0F8093991DF0E0E656F24E2B -:10DC300080818093BB009091991D8091981D9817C9 -:10DC400008F47CCF85E88093BC0009C085EC809304 -:10DC5000BC001092E31D03C01092761DD5DEFF912B -:10DC6000EF91BF91AF919F918F917F916F915F9154 -:10DC70004F913F912F910F900BBE0F900FBE0F90C1 -:10DC80001F9018951F93CF93DF93182FEB0161E03E -:10DC900003D1209711F460E004C0CF3FD10531F4E7 -:10DCA00061E0812FDF91CF911F912FC1E12FF0E033 -:10DCB000E55CF04A449150E0FA013197E131F10519 -:10DCC00008F091C0E358FF4F0C94FBFA84B58068CC -:10DCD00084BDC7BD8DC084B5806284BDC8BD88C009 -:10DCE00080918000806880938000D0938900C093E9 -:10DCF00088007EC080918000806280938000D093F5 -:10DD00008B00C0938A0074C08091B00080688093BB -:10DD1000B000C093B3006CC08091B000806280936B -:10DD2000B000C093B40064C080919000806880937C -:10DD30009000D0939900C09398005AC080919000B1 -:10DD4000806280939000D0939B00C0939A0050C053 -:10DD500080919000886080939000D0939D00C09344 -:10DD60009C0046C08091A00080688093A0008091B4 -:10DD7000A0008F7B8093A000D093A900C093A8003F -:10DD800037C08091A00080628093A000D093AB0048 -:10DD9000C093AA002DC08091A00088608093A0004D -:10DDA000D093AD00C093AC0023C080912001806867 -:10DDB00080932001D0932901C093280119C080913C -:10DDC0002001806280932001D0932B01C0932A010F -:10DDD0000FC080912001886080932001D0932D0195 -:10DDE000C0932C0105C0C038D1050CF059CF53CFDA -:10DDF000DF91CF911F91089590E0FC013197E131BF -:10DE0000F10508F048C0E257FF4F0C94FBFA8091EF -:10DE100080008F7703C0809180008F7D8093800089 -:10DE2000089584B58F7702C084B58F7D84BD089531 -:10DE30008091B0008F7703C08091B0008F7D809378 -:10DE4000B0000895809190008F7707C08091900076 -:10DE50008F7D03C080919000877F8093900008950C -:10DE60008091A0008F7707C08091A0008F7D03C0B4 -:10DE70008091A000877F8093A00008958091200169 -:10DE80008F7707C0809120018F7D03C08091200192 -:10DE9000877F809320010895CF93DF9390E0FC016A -:10DEA000EF56F04A2491FC01E951F04A849188230D -:10DEB00049F190E0880F991FFC01EF58FF49A591A7 -:10DEC000B491895A9F49FC01C591D4919FB76111C2 -:10DED00008C0F8948C91209582238C9388818223AA -:10DEE0000AC0623051F4F8948C91322F309583231C -:10DEF0008C938881822B888304C0F8948C91822B28 -:10DF00008C939FBFDF91CF9108950F931F93CF9371 -:10DF1000DF931F92CDB7DEB7282F30E0F901E55C23 -:10DF2000F04A8491F901EF56F04A1491F901E95150 -:10DF3000F04A04910023C1F0882319F069835CDF63 -:10DF40006981E02FF0E0EE0FFF1FE95AFF49A5912C -:10DF5000B4919FB7F8948C91611103C010958123FF -:10DF600001C0812B8C939FBF0F90DF91CF911F91A8 -:10DF70000F910895CF93DF93282F30E0F901E55CEE -:10DF8000F04A8491F901EF56F04AD491F901E95130 -:10DF9000F04AC491CC2389F081112EDFEC2FF0E000 -:10DFA000EE0FFF1FE35CFF49A591B4912C912D2347 -:10DFB00081E090E021F480E002C080E090E0DF9119 -:10DFC000CF9108951F920F920FB60F9211242F93A5 -:10DFD0003F938F939F93AF93BF938091E51D909153 -:10DFE000E61DA091E71DB091E81D3091E41D23E0EE -:10DFF000230F2D3720F40196A11DB11D05C026E881 -:10E00000230F0296A11DB11D2093E41D8093E51DF1 -:10E010009093E61DA093E71DB093E81D8091E91D44 -:10E020009091EA1DA091EB1DB091EC1D0196A11DF0 -:10E03000B11D8093E91D9093EA1DA093EB1DB09351 -:10E04000EC1DBF91AF919F918F913F912F910F90B8 -:10E050000FBE0F901F9018952FB7F8946091E51D93 -:10E060007091E61D8091E71D9091E81D2FBF0895E6 -:10E070003FB7F8948091E91D9091EA1DA091EB1DA6 -:10E08000B091EC1D26B5A89B05C02F3F19F0019655 -:10E09000A11DB11D3FBF6627782F892F9A2F620FD0 -:10E0A000711D811D911D42E0660F771F881F991F0A -:10E0B0004A95D1F70895CF92DF92EF92FF92CF93D6 -:10E0C000DF936B017C01D4DFEB01C114D104E104C7 -:10E0D000F10471F0CDDF6C1B7D0B683E7340A8F33B -:10E0E00081E0C81AD108E108F108C851DC4FEDCF32 -:10E0F000DF91CF91FF90EF90DF90CF90089501973F -:10E10000009739F0880F991F880F991F0297019780 -:10E11000F1F70895789484B5826084BD84B58160F8 -:10E1200084BD85B5826085BD85B5816085BDEEE61F -:10E13000F0E0808181608083E1E8F0E010828081FE -:10E1400082608083808181608083E0E8F0E080816C -:10E1500081608083E1EBF0E0808184608083E0EB8C -:10E16000F0E0808181608083E1E9F0E0808182607D -:10E170008083808181608083E0E9F0E0808181603C -:10E180008083E1EAF0E08081826080838081816029 -:10E190008083E0EAF0E0808181608083E1E2F1E069 -:10E1A000808182608083808181608083E0E2F1E011 -:10E1B000808181608083EAE7F0E0808184608083F1 -:10E1C000808182608083808181608083808180689B -:10E1D00080831092C10008959DDF0E947363C0E0A8 -:10E1E000D0E00E945C8C2097E1F30E940000F9CF00 -:10E1F0003F924F925F926F927F928F929F92AF92D7 -:10E20000BF92CF92DF92EF92FF920F931F93CF9323 -:10E21000DF9300D01F92CDB7DEB78B0129013A0101 -:10E2200090918A0C981721F09F3F09F0B1C204C069 -:10E23000EBE8F0E6349004C180938A0CEBE8F0E65A -:10E24000E491EF3F09F4A4C2E23009F480C074F510 -:10E25000EE2309F45BC0E13009F0F1C010928000B8 -:10E26000109281009091810098609093810090912C -:10E270008100916090938100282F30E0F901E951ED -:10E28000F04AE491F0E0EE0FFF1FE95AFF49459193 -:10E29000549150930B1E40930A1EF901EF56F04A19 -:10E2A00024912093091E33243394CCC0E43009F424 -:10E2B0009EC00CF474C0E53009F0C1C0109220017A -:10E2C00010922101909121019860909321019091E9 -:10E2D0002101916090932101282F30E0F901E9514B -:10E2E000F04AE491F0E0EE0FFF1FE95AFF49459133 -:10E2F00054915093EF1D4093EE1DF901EF56F04AF3 -:10E3000024912093ED1D55E0352E9CC014BC15BC06 -:10E3100094B5926094BD95B5916095BD282F30E07D -:10E32000F901E951F04AE491F0E0EE0FFF1FE95ADC -:10E33000FF49459154915093121E4093111EF901CB -:10E34000EF56F04A24912093101E312C7BC010927E -:10E35000B0001092B1009091B00092609093B00024 -:10E360009091B10091609093B100282F30E0F901B5 -:10E37000E951F04AE491F0E0EE0FFF1FE95AFF493E -:10E38000459154915093041E4093031EF901EF569A -:10E39000F04A24912093021E22E0322E53C01092A4 -:10E3A000900010929100909191009860909391004C -:10E3B00090919100916090939100282F30E0F901A5 -:10E3C000E951F04AE491F0E0EE0FFF1FE95AFF49EE -:10E3D000459154915093FD1D4093FC1DF901EF565A -:10E3E000F04A24912093FB1DB3E03B2E2BC01092EA -:10E3F000A0001092A1009091A10098609093A100BC -:10E400009091A10091609093A100282F30E0F90134 -:10E41000E951F04AE491F0E0EE0FFF1FE95AFF499D -:10E42000459154915093F61D4093F51DF901EF5617 -:10E43000F04A24912093F41D74E0372E03C03E2E41 -:10E4400037FCA6C161E028DD4801A12CB12C832D49 -:10E450008D7F09F0C0C060E072E18AE790E0A5011D -:10E4600094010E94DFFA29833A834B835C8369011C -:10E470007A0181E0C81AD108E108F1089FEFC916B6 -:10E48000D104E104F10409F008F49AC060E472E4F4 -:10E490008FE090E0A50194010E94DFFA69017A0102 -:10E4A000E1E0CE1AD108E108F108F2E03F1219C00C -:10E4B0008FEFC816D104E104F10409F008F487C015 -:10E4C00060E970ED83E090E0A50194010E94DFFA1D -:10E4D00069017A0191E0C91AD108E108F10883E0E5 -:10E4E00001C082E0EFEFCE16D104E104F10409F09F -:10E4F00008F467C068E478EE81E090E0A50194013B -:10E500000E94DFFA69017A01F1E0CF1AD108E1082F -:10E51000F1083320E1F082E038121BC09FEFC916EA -:10E52000D104E104F10409F008F430C164E274EFAD -:10E5300080E090E0A50194010E94DFFA69017A0170 -:10E54000E1E0CE1AD108E108F10885E003C083E0DC -:10E5500001C084E0FFEFCF16D104E104F10489F19A -:10E5600080F162E17AE780E090E0A50194010E94E9 -:10E57000DFFA69017A0181E0C81AD108E108F108DF -:10E58000311002C084E001C086E09FEFC916D104BB -:10E59000E104F104B1F0A8F0C980DA80EB80FC80DE -:10E5A0009AE0F594E794D794C7949A95D1F7E1E06F -:10E5B000CE1AD108E108F108332031F087E008C015 -:10E5C00081E0332011F004C085E085BD50C082E0B9 -:10E5D0008093B1004CC060E072E18AE790E0A50151 -:10E5E0009401EDD769017A01F1E0CF1AD108E10871 -:10E5F000F108C114D10481E0E806F10480F068E478 -:10E6000078EE81E090E0A5019401D9D769017A0103 -:10E6100091E0C91AD108E108F10893E001C091E046 -:10E62000E1E03E1207C080918100887F892B8093B2 -:10E6300081001DC0F3E03F1207C080919100887FE8 -:10E64000892B8093910013C084E0381207C0809119 -:10E65000A100887F892B8093A10009C0E5E03E12CC -:10E6600006C080912101887F892B8093210141146C -:10E6700051046104710461F0D801AA0FBB1FA3010A -:10E680009201C5D728EE33E040E050E076D703C0D2 -:10E690002FEF3FEFA901F2E03F1609F443C0F31555 -:10E6A000BCF0332081F181E0381272C0D092890031 -:10E6B000C092880020930C1E30930D1E40930E1EB6 -:10E6C00050930F1E80916F00826080936F0060C036 -:10E6D00094E0391609F448C03916A4F1E5E03E1279 -:10E6E00057C0D0922901C09228012093F01D309389 -:10E6F000F11D4093F21D5093F31D809173008260D1 -:10E700008093730045C0C7BC2093131E3093141E22 -:10E710004093151E5093161E80916E008260809368 -:10E720006E0036C0C092B3002093051E3093061EC3 -:10E730004093071E5093081E809170008260809362 -:10E74000700026C0D0929900C09298002093FE1DC0 -:10E750003093FF1D4093001E5093011E8091710065 -:10E7600082608093710014C0D092A900C092A8006A -:10E770002093F71D3093F81D4093F91D5093FA1D17 -:10E780008091720082608093720002C084E020CF8A -:10E790000F900F900F900F90DF91CF911F910F91DD -:10E7A000FF90EF90DF90CF90BF90AF909F908F90B1 -:10E7B0007F906F905F904F903F9008958230A9F0C6 -:10E7C00028F4882349F0813051F00895843009F10C -:10E7D000E8F0853009F1089510926E000895809157 -:10E7E0006F008D7F80936F000895809170008D7F02 -:10E7F0008093700081E08093B0008091B100887FA9 -:10E8000084608093B1001092B3000895109271005B -:10E810000895109272000895109273000895CF9396 -:10E82000C82F80918A0C8C1307C0EBE8F0E6849126 -:10E830009FEF90938A0C01C08FEFC0DF60E08C2FB8 -:10E84000CF9163CB1F920F920FB60F9211240BB68C -:10E850000F922F933F934F935F936F937F938F9379 -:10E860009F93AF93BF93EF93FF938091051E909179 -:10E87000061EA091071EB091081E892B8A2B8B2B98 -:10E8800051F19091021EE091031EF091041E8081CF -:10E89000892780838091051E9091061EA091071EF6 -:10E8A000B091081E181619061A061B06BCF48091B2 -:10E8B000051E9091061EA091071EB091081E01979B -:10E8C000A109B1098093051E9093061EA093071E0F -:10E8D000B093081E03C080918A0CA1DFFF91EF91D5 -:10E8E000BF91AF919F918F917F916F915F914F9168 -:10E8F0003F912F910F900BBE0F900FBE0F901F9066 -:10E900001895FC018081918149C7CF93DF93EC0179 -:10E9100088819981009709F041D7198218821D8258 -:10E920001C821B821A82DF91CF9108950F931F934F -:10E93000CF93DF93EC018B016F5F7F4F88819981CB -:10E94000BCD7009731F0998388831B830A8381E0C9 -:10E9500001C080E0DF91CF911F910F910895CF9377 -:10E96000DF93EC0188819981892B29F08A819B8131 -:10E970008617970758F4CE01D9DF882341F08C81A0 -:10E980009D81892B19F4E881F981108281E0DF9162 -:10E99000CF910895EF92FF920F931F93CF93DF9340 -:10E9A000EC017B018A01BA01DADF811103C0CE01DB -:10E9B000ACDF07C01D830C83B701888199810F9458 -:10E9C0008A00CE01DF91CF911F910F91FF90EF90C0 -:10E9D0000895FC0111821082138212821582148222 -:10E9E0006115710551F0FB0101900020E9F7AF01BD -:10E9F00041505109461B570BCDCF0895CF93DF935C -:10EA0000EC01FB018617970751F060817181611558 -:10EA1000710521F044815581BDDF01C076DFCE0153 -:10EA2000DF91CF910895FC0111821082138212822E -:10EA300015821482E3CFEF92FF920F931F93CF932F -:10EA4000DF93EC017B010C811D816115710511F4CF -:10EA500080E015C04115510589F0040F151FB8015C -:10EA60007EDF8823A9F3288139818C819D81B701BC -:10EA7000820F931F0F948A001D830C8381E0DF9126 -:10EA8000CF911F910F91FF90EF900895CF93DF9357 -:10EA9000EC01FB014481558160817181CCDF8111E2 -:10EAA00002C0CE0132DFCE01DF91CF910895CF9227 -:10EAB000DF92EF92FF920F931F93CF93DF936C013E -:10EAC0007A01EB01E60EF71E00E010E0CE15DF053F -:10EAD00061F06991D601ED91FC910190F081E02DFA -:10EAE000C6011995080F191FF1CFC801DF91CF9109 -:10EAF0001F910F91FF90EF90DF90CF9008956115D7 -:10EB0000710581F0DB010D900020E9F7AD01415066 -:10EB10005109461B570BDC01ED91FC910280F381FA -:10EB2000E02D199480E090E00895E9CFDC01ED91AB -:10EB3000FC910190F081E02D19948F929F92AF92F9 -:10EB4000BF92CF92DF92EF92FF920F931F93CF93DA -:10EB5000DF93CDB7DEB7A1970FB6F894DEBF0FBE37 -:10EB6000CDBF7C01C42EE52FCB01D22E19A221E00E -:10EB70002D1510F02AE0D22E8E010F5D1F4F8D2C27 -:10EB8000912CA12CB12C6C2D7E2FA5019401F5D4D4 -:10EB90008C2DD29E80191124015011098A3014F451 -:10EBA000805D01C0895CF801808321153105410534 -:10EBB000510521F0C22EE32FCA01E5CFB801C701EC -:10EBC0009EDFA1960FB6F894DEBF0FBECDBFDF91DA -:10EBD000CF911F910F91FF90EF90DF90CF90BF905A -:10EBE000AF909F908F9008952115310541F4DC017D -:10EBF000ED91FC910190F081E02D642F19949DCF4F -:10EC00009A01AB0160E070E0EFCF5058BB27AA2714 -:10EC10000ED076C23FD230F044D220F031F49F3F84 -:10EC200011F41EF40FC20EF4E095E7FBDCC1E92FEE -:10EC300089D280F3BA17620773078407950718F023 -:10EC400071F49EF5B8C20EF4E0950B2EBA2FA02DEC -:10EC50000B01B90190010C01CA01A0011124FF2789 -:10EC6000591B99F0593F50F4503E68F11A16F04084 -:10EC7000A22F232F342F4427585FF3CF4695379583 -:10EC80002795A795F0405395C9F77EF41F16BA0B48 -:10EC9000620B730B840BBAF09150A1F0FF0FBB1FF6 -:10ECA000661F771F881FC2F70EC0BA0F621F731F3F -:10ECB000841F48F4879577956795B795F7959E3F9C -:10ECC00008F0B3CF9395880F08F09927EE0F97952A -:10ECD00087950895DFD158F080E891E009F49EEF20 -:10ECE000E0D128F040E851E059F45EEF09C0AAC134 -:10ECF00062C2E92FE07826D268F3092E052AC1F313 -:10ED0000261737074807590738F00E2E07F8E02571 -:10ED100069F0E025E0640AC0EF6307F8009407FAA1 -:10ED2000DB01B9019D01DC01CA01AD01EF935DD0AA -:10ED3000E7D10AD05F91552331F02BED3FE049E454 -:10ED400050FD49EC63CF0895DF93DD27B92FBF77DE -:10ED500040E85FE31616170648075B0710F4D92F43 -:10ED600096D29F938F937F936F93A9D3EEE3F1E0B5 -:10ED70006CD1C6D12F913F914F915F9101D3DD238B -:10ED800049F09058A2EA2AED3FE049EC5FE3D078E1 -:10ED90005D274DDFDF91B4C1F7D180F09F3740F49C -:10EDA00091110EF409C260E070E080E89FE30895DD -:10EDB00026F01B16611D711D811D1BC135C1EFD0D1 -:10EDC00008F481E0089575D1E395ABC10CD098C1EA -:10EDD00068D140F05FD130F021F45F3F19F003C1FA -:10EDE0005111EAC12FC1AED198F39923C9F355232C -:10EDF000B1F3951B550BBB27AA276217730784072E -:10EE000038F09F5F5F4F220F331F441FAA1FA9F3E3 -:10EE100033D00E2E3AF0E0E830D091505040E695D5 -:10EE2000001CCAF729D0FE2F27D0660F771F881F36 -:10EE3000BB1F261737074807AB07B0E809F0BB0B25 -:10EE4000802DBF01FF2793585F4F2AF09E3F510549 -:10EE500068F0C9C0B1C15F3FECF3983EDCF3869522 -:10EE600077956795B795F7959F5FC9F7880F911DBF -:10EE70009695879597F90895E1E0660F771F881FAB -:10EE8000BB1F621773078407BA0720F0621B730B5E -:10EE9000840BBA0BEE1F88F7E095089504D06894B0 -:10EEA000B1118AC1089556D188F09F5790F0B92FBB -:10EEB0009927B751A0F0D1F0660F771F881F991FCF -:10EEC0001AF0BA95C9F712C0B13081F074D1B1E02F -:10EED000089571C1672F782F8827B85F39F0B93F3F -:10EEE000CCF3869577956795B395D9F73EF49095D1 -:10EEF0008095709561957F4F8F4F9F4F0895E8944F -:10EF000009C097FB3EF490958095709561957F4F71 -:10EF10008F4F9F4F9923A9F0F92F96E9BB2793951F -:10EF2000F695879577956795B795F111F8CFFAF42F -:10EF3000BB0F11F460FF1BC06F5F7F4F8F4F9F4F60 -:10EF400016C0882311F096E911C0772321F09EE8BE -:10EF5000872F762F05C0662371F096E8862F70E024 -:10EF600060E02AF09A95660F771F881FDAF7880FFE -:10EF70009695879597F9089507D180F09F3740F4CB -:10EF800091110EF019C160E070E080E89FEB0895E8 -:10EF900026F41B16611D711D811D2BC045C0990FE4 -:10EFA0000008550FAA0BE0E8FEEF16161706E80753 -:10EFB000F907C0F012161306E407F50798F0621B74 -:10EFC000730B840B950B39F40A2661F0232B242B49 -:10EFD000252B21F408950A2609F4A140A6958FEF68 -:10EFE000811D811D089597F99F6780E870E060E0BA -:10EFF0000895882371F4772321F09850872B762F7A -:10F0000007C0662311F499270DC09051862B70E03C -:10F0100060E02AF09A95660F771F881FDAF7880F4D -:10F020009695879597F908959F3F31F0915020F478 -:10F03000879577956795B795880F911D96958795D4 -:10F0400097F908959FEF80EC0895DF93CF931F9376 -:10F050000F93FF92EF92DF927B018C01689405C0C1 -:10F06000DA2EEF018DD1FE01E894A591259135911D -:10F0700045915591AEF3EF01DADDFE019701A8014C -:10F08000DA9479F7DF90EF90FF900F911F91CF9175 -:10F09000DF91089500240A9416161706180609062B -:10F0A000089500240A9412161306140605060895FE -:10F0B000C9CF50D0E8F3E894E0E0BB279F57F0F0C9 -:10F0C0002AED3FE049EC06C0EE0FBB0F661F771F2D -:10F0D000881F28F0B23A62077307840728F0B25AF3 -:10F0E000620B730B840BE3959A9572F7803830F4BA -:10F0F0009A95BB0F661F771F881FD2F7904896CF4F -:10F10000092E0394000C11F4882352F0BB0F40F435 -:10F11000BF2B11F460FF04C06F5F7F4F8F4F9F4F75 -:10F120000895EF93E0FF06C0A2EA2AED3FE049EC24 -:10F130005FEB7DDDE5DF0F90039401FC9058EBE67B -:10F14000F1E0C7C157FD9058440F551F59F05F3F7C -:10F1500071F04795880F97FB991F61F09F3F79F0F9 -:10F1600087950895121613061406551FF2CF46957B -:10F17000F1DF08C0161617061806991FF1CF8695FD -:10F180007105610508940895E5DFA0F0BEE7B917A1 -:10F1900088F4BB279F3860F41616B11D672F782FAF -:10F1A0008827985FF7CF869577956795B11D9395DA -:10F1B0009639C8F30895E894BB2766277727CB01D3 -:10F1C00097F90895ECDE08F48FEF089563DF19F0E6 -:10F1D00068DF09F037CF07CFB901CA0125CF9F7784 -:10F1E0005F77B0DF98F39923B9F35523B9F3FF277D -:10F1F000951758F4E52FE91BED3070F75E3B10F0E2 -:10F20000F1E41CC09034E0F40AC0E92FE51BED30B6 -:10F2100028F79E3B10F0F1E411C0503488F4F9EA6D -:10F2200088232AF09A95660F771F881FDAF7442300 -:10F230002AF05A95220F331F441FDAF79F1B5F1BDA -:10F24000FF931F930F93FF92EF9279018A01BB27DF -:10F25000AB2F9B01AC0196D09701A801BF937B0116 -:10F260008C01AA27BA2FB901CA018CD0AF9197019E -:10F27000A801EF90FF900F911F91D9DC41DFE1D001 -:10F280004F9140FF0895552747FD509509C09B01B8 -:10F29000AC0160E070E080E89FE398CDA4CEC4CEDE -:10F2A00059DFE8F39923D9F3940F511DBBF3915023 -:10F2B000504094F059F0882332F0660F771F881F72 -:10F2C00091505040C1F79E3F510544F7880F911D62 -:10F2D0009695879597F908955F3FACF0983E9CF01E -:10F2E000BB27869577956795B79508F4B160939598 -:10F2F000C1F7BB0F58F711F460FFE8CF6F5F7F4F86 -:10F300008F4F9F4FE3CF58CF25DF58F19E5758F1CD -:10F310009851A0F0E9F0983020F5092E9927660F52 -:10F32000771F881F991F0A94D1F712C0062E672FE6 -:10F33000782F8827985F11F4000C07C0993FB4F329 -:10F340008695779567959395D9F7611D711D811DF8 -:10F350003EF490958095709561957F4F8F4F9F4FAC -:10F360000895689429CF27CF0BD0CACE93DE28F01A -:10F3700098DE18F0952309F036CE64CE11241CCF08 -:10F38000E1DEA0F3959FD1F3950F50E0551F629FEA -:10F39000F001729FBB27F00DB11D639FAA27F00DEE -:10F3A000B11DAA1F649F6627B00DA11D661F829F15 -:10F3B0002227B00DA11D621F739FB00DA11D621FFA -:10F3C000839FA00D611D221F749F3327A00D611D17 -:10F3D000231F849F600D211D822F762F6A2F1124F9 -:10F3E0009F5750408AF0E1F088234AF0EE0FFF1F4C -:10F3F000BB1F661F771F881F91505040A9F79E3F83 -:10F40000510570F0F0CDD8CE5F3FECF3983EDCF3C1 -:10F41000869577956795B795F795E7959F5FC1F7BF -:10F42000FE2B880F911D9695879597F908959F93C8 -:10F4300040DE0F9007FCEE5F74CE11F40EF402CEA6 -:10F44000F3CD88DED0F39923D9F3CEF39F57550B34 -:10F4500087FF38D00024A0E640EA900180585695F6 -:10F46000979528F4805C660F771F881F20F0261779 -:10F470003707480730F4621B730B840B20293129AE -:10F480004A2BA69517940794202531254A2758F72B -:10F49000660F771F881F20F026173707480730F4BC -:10F4A000620B730B840B200D311D411DA09581F75C -:10F4B000B901842F9158880F9695879508959B01DF -:10F4C000AC0152CF91505040660F771F881FD2F782 -:10F4D00008959F938F937F936F93FF93EF939B0177 -:10F4E000AC0142DFEF91FF91B0DD2F913F914F9141 -:10F4F0005F913ACFDB018F939F9389D0BF91AF91FA -:10F50000A29F800D911DA39F900DB29F900D11247D -:10F51000089587FB082E062687FD819567FD619576 -:10F520008AD00EF4919507FC81950895AA1BBB1B08 -:10F5300051E107C0AA1FBB1FA617B70710F0A61BF3 -:10F54000B70B881F991F5A95A9F780959095BC0114 -:10F55000CD01089597FB072E16F4009406D077FD91 -:10F5600008D0E4DF07FC05D03EF4909581959F4FCD -:10F570000895709561957F4F0895A1E21A2EAA1BF8 -:10F58000BB1BFD010DC0AA1FBB1FEE1FFF1FA21753 -:10F59000B307E407F50720F0A21BB30BE40BF50B50 -:10F5A000661F771F881F991F1A9469F760957095D9 -:10F5B000809590959B01AC01BD01CF010895052E6A -:10F5C00097FB16F400940FD057FD05D0D6DF07FC4B -:10F5D00002D046F408C050954095309521953F4F94 -:10F5E0004F4F5F4F089590958095709561957F4F2F -:10F5F0008F4F9F4F0895EE0FFF1F0590F491E02D60 -:10F60000199425D0B7FF0895821B930B08951FD03E -:10F61000A59F900DB49F900DA49F800D911D112466 -:10F620000895B7FFF4CFF3DF821B930B0895079083 -:10F63000F691E02D1994991B79E004C0991F961753 -:10F6400008F0961B881F7A95C9F780950895A29FA8 -:10F65000B001B39FC001A39F700D811D1124911DA6 -:10F66000B29F700D811D1124911D0895CF93DF93DA -:10F670008230910510F482E090E0E091191EF09143 -:10F680001A1E20E030E0A0E0B0E0309739F1408170 -:10F69000518148175907B8F04817590771F482810A -:10F6A0009381109729F013969C938E9312972CC0F8 -:10F6B00090931A1E8093191E27C02115310531F031 -:10F6C0004217530718F0A901DB0101C0EF019A01AD -:10F6D000BD01DF010280F381E02DD7CF2115310577 -:10F6E000F9F0281B390B2430310580F48A819B8185 -:10F6F0006115710521F0FB019383828304C090930F -:10F700001A1E8093191EFE01329644C0FE01E20FBC -:10F71000F31F8193919322503109398328833AC092 -:10F720002091171E3091181E232B41F420910202C4 -:10F73000309103023093181E2093171E209100026F -:10F74000309101022115310541F42DB73EB74091AA -:10F75000040250910502241B350BE091171EF09115 -:10F76000181EE217F307A0F42E1B3F0B28173907CA -:10F7700078F0AC014E5F5F4F2417350748F04E0F0D -:10F780005F1F5093181E4093171E8193919302C0E0 -:10F79000E0E0F0E0CF01DF91CF910895CF93DF93C8 -:10F7A000009709F487C0FC01329713821282C0913E -:10F7B000191ED0911A1E209781F420813181280FC3 -:10F7C000391F8091171E9091181E8217930779F5A3 -:10F7D000F093181EE093171E6DC0DE0120E030E0AC -:10F7E000AE17BF0750F412964D915C9113979D018F -:10F7F0004115510509F1DA01F3CFB383A2834081AA -:10F800005181840F951F8A179B0771F48D919C91EC -:10F810001197840F951F02969183808312968D9184 -:10F820009C911397938382832115310529F4F093DA -:10F830001A1EE093191E3EC0D9011396FC93EE9355 -:10F8400012974D915D91A40FB51FEA17FB0779F44C -:10F8500080819181840F951F0296D90111969C9306 -:10F860008E938281938113969C938E931297E0E0FE -:10F87000F0E08A819B81009719F0FE01EC01F9CF3D -:10F88000CE01029628813981820F931F2091171E85 -:10F890003091181E2817390769F4309729F410920F -:10F8A0001A1E1092191E02C013821282D093181EC3 -:10F8B000C093171EDF91CF9108956F927F928F9220 -:10F8C0009F92AF92BF92CF92DF92EF92FF920F93EF -:10F8D0001F93CF93DF93EC01CB01209779F4DF9155 -:10F8E000CF911F910F91FF90EF90DF90CF90BF903D -:10F8F000AF909F908F907F906F90B8CEFE01E60FF3 -:10F90000F71F9E0122503109E217F30708F4A8C03F -:10F91000D9010D911C91119706171707B0F005300A -:10F92000110508F49BC0A801445051094617570718 -:10F9300008F494C002501109061B170B0193119390 -:10F940006D937C93CF012ADF89C05B01A01AB10AB5 -:10F950004E01800E911EA091191EB0911A1E612CAD -:10F96000712C60E070E0109709F449C0A815B90542 -:10F97000C9F5ED90FC901197670142E0C40ED11CCF -:10F98000CA14DB0478F147018A189B08640142E03D -:10F99000C40ED11C1296BC9012971396AC91B5E090 -:10F9A000CB16D10440F0B282A38391828082D90128 -:10F9B0008D939C9309C00E5F1F4F0E0D1F1DF90103 -:10F9C00011830083EB2DFA2F6115710531F0DB01F6 -:10F9D0001396FC93EE93129741C0F0931A1EE09396 -:10F9E000191E3CC06D917C9111976616770608F43C -:10F9F0003B01BD0112960D90BC91A02DB4CF60913A -:10FA0000171E7091181E68157905E9F468167906B5 -:10FA1000D0F440910002509101024115510541F48A -:10FA20004DB75EB76091040270910502461B570BFB -:10FA3000E417F507A8F4F093181EE093171EF901D8 -:10FA4000918380830BC012DE7C01009749F0A801EE -:10FA5000BE011ED3CE01A2DEC70104C0CE0102C08A -:10FA600080E090E0DF91CF911F910F91FF90EF9098 -:10FA7000DF90CF90BF90AF909F908F907F906F90CE -:10FA800008958F929F92AF92BF92CF92DF92EF92A2 -:10FA9000FF920F931F93CF93DF938B016115710535 -:10FAA00021F0DB018C9311969C93EC015E01BFEF7A -:10FAB000AB1ABB0A7501C8808C2D90E07BD2892BD4 -:10FAC00011F0E501F3CFEDE2CE1208C07E01F2E0C5 -:10FAD000EF0EF11CC980DD24D39409C02BE2C212C1 -:10FAE00005C07E0142E0E40EF11CC980D12CE70183 -:10FAF000219743E050E064E970E6CE017BD2892B88 -:10FB0000B9F4239645E050E06FE870E6CE0172D27A -:10FB1000892B09F425960115110519F0D801CD930B -:10FB2000DC93D11000C160E070E080E89FE704C181 -:10FB300043E050E06CE870E6CE015CD2892B59F4CA -:10FB40000115110509F4F4C0B2E0EB0EF11CF80147 -:10FB5000F182E082EDC0F70160E070E0CB01C0E02F -:10FB6000D0E07F01A0EDAA2EAC0C29E02A1528F1E7 -:10FB70004D2D4260B42E2D2D2870D2FE04C02111CF -:10FB800024C0219622C021112197A5E0B0E09B015D -:10FB9000AC013DDD660F771F881F991F6A0D711D2F -:10FBA000811D911D6839A9E97A078A07A9E19A0799 -:10FBB00060F0BD2DB660BB2E08C02EEFA2120AC0A9 -:10FBC000D3FC50C04D2D4860B42E3196D701CC9057 -:10FBD000DB2CC7CF2C2D2F7D253409F043C0A0810D -:10FBE000AD3241F4BD2DB061DB2E7F0122E0E20E8B -:10FBF000F11C0CC07F01AB3231F04FEFE41AF40A74 -:10FC000021E030E006C0A2E0EA0EF11CA18122E072 -:10FC100030E0A053AA3018F0E21AF30A23C0F7012B -:10FC200020E030E02038BCE03B075CF4A901440F41 -:10FC3000551F440F551F240F351F220F331F2A0F46 -:10FC4000311DAF014F5F5F4F7A01A081A053AA30F1 -:10FC500010F4FA01E7CFD4FE03C0319521953109A4 -:10FC6000C20FD31FD1FE09C00115110531F0E1E02B -:10FC7000EE1AF108D801ED92FC9241D92D2D237096 -:10FC8000233019F04B015C0106C04B015C01B7FA4F -:10FC9000B094B7F8B09420E030E0A901C501B401F8 -:10FCA0008ED8882309F43CC0D7FF06C0D195C195F2 -:10FCB000D1090BEA10E602C003EC10E66801B8E1D6 -:10FCC000CB1AD10890E2E92EF12CCE15DF056CF0AD -:10FCD000F8012591359145915491C501B40144DB5A -:10FCE0004B015C01CE19DF09F0CF04501109F594E6 -:10FCF000E7940C151D0549F78A2D880F8B2D881F59 -:10FD00008F3F41F020E030E0A901C501B40157D890 -:10FD1000811106C082E290E090931C1E80931B1E0E -:10FD2000C501B40109C060E070E080E89FEF04C045 -:10FD300060E070E080EC9FE7DF91CF911F910F9121 -:10FD4000FF90EF90DF90CF90BF90AF909F908F90FB -:10FD500008952F923F925F926F927F928F929F921F -:10FD6000AF92BF92CF92DF92EF92FF920F931F93C9 -:10FD7000CF93DF938B01EA016115710521F0DB015F -:10FD80008C9311969C93209739F09E012250310953 -:10FD90002332310508F0F8C07C016701BFEFCB1AB0 -:10FDA000DB0A5601F7016080862D90E003D1892B94 -:10FDB00011F07601F2CFFDE26F120AC0570182E026 -:10FDC000A80EB11CD70111966C90772473940BC0C8 -:10FDD000BBE26B1207C05701E2E0AE0EB11CD701C7 -:10FDE00011966C90712CCE018F7E892B89F4B0E333 -:10FDF0006B1222C0F50180818F7D883541F56180CD -:10FE0000F2E0AF0EB11C872D8260782EC0E1D0E009 -:10FE1000C830D105F1F04CF4C230D10511F5C12C38 -:10FE2000D12CE12CB0E4FB2E2EC0CA30D10531F02C -:10FE3000C031D10519F115C0209751F7CAE0D0E0C3 -:10FE4000ACECCA2EDC2CEC2CACE0FA2E1CC02097BB -:10FE5000F9F6C8E0D0E0C12CD12CE12CF0E1FF2E66 -:10FE600012C060E070E080E090E89E01442737FD1A -:10FE70004095542F82DB69017A0105C0C12CD12C39 -:10FE8000E12CE8E0FE2EF50160E020E030E0A90181 -:10FE90004E01AA2497FCA094BA2C1F0170ED572E96 -:10FEA000560CA9E0A51570F48FEB860D8A3118F475 -:10FEB00099EC592E06C08FE9860D8A3128F589EA1A -:10FEC000582E560C852D90E08C179D07ECF467FD9D -:10FED00017C0C216D306E406F50678F0C501B401D2 -:10FEE00009DB9B01AC01250D311D411D511D213048 -:10FEF00031054105B0E85B0710F06FEF01C061E02C -:10FF00003196D1016C90C9CF872D817001151105F3 -:10FF100071F0662329F03197D801ED93FC9307C067 -:10FF200071FE19C03297D801ED93FC9314C067FF9E -:10FF300012C0882329F020E030E040E050E804C0FF -:10FF40002FEF3FEF4FEF5FE782E290E090931C1EB0 -:10FF500080931B1E16C0882341F050954095309524 -:10FF600021953F4F4F4F5F4F0CC057FF0AC082E2B1 -:10FF700090E090931C1E80931B1E2FEF3FEF4FEFDE -:10FF80005FE7B901CA0104C060E070E080E090E082 -:10FF9000DF91CF911F910F91FF90EF90DF90CF9065 -:10FFA000BF90AF909F908F907F906F905F903F90A9 -:10FFB0002F900895911111C3803219F08950855006 -:10FFC000D0F708959111089581548A5108F4805E04 -:10FFD000855A0895FB01DC0105900D920020E1F7A0 -:10FFE0000895FC0105900020E9F7809590958E0F0B -:10FFF0009F1F0895FB01DC014150504088F08D9116 -:020000022000DC -:1000000081341CF08B350CF4805E659161341CF0FA -:100010006B350CF4605E861B611171F3990B0895CA -:10002000881BFCCFFB01DC014150504048F005909B -:100030000D920020C9F701C01D9241505040E0F7D9 -:100040000895FB0155915523A9F0BF01DC014D91A5 -:1000500045174111E1F759F4CD010590002049F011 -:100060004D9140154111C9F3FB014111EFCF81E0E2 -:1000700090E001970895FB01DC0104C08D9101908F -:10008000801921F441505040C8F7881B990B0895FE -:10009000FB01DC0102C001900D9241505040D8F7A5 -:1000A0000895DC0101C06D9341505040E0F7089580 -:1000B000FB01DC018D9181341CF08B350CF4805EEA -:1000C000619161341CF06B350CF4605E861B61112C -:1000D00089F3990B0895FB01DC010D900020E9F7ED -:1000E000119701900D920020E1F70895FC01819194 -:1000F000861721F08823D9F7992708953197CF01E2 -:100100000895FB01DC018D91019080190110D9F354 -:10011000990B0895FB01DC0101900D920020E1F79D -:100120000895FB01DC014150504030F08D91019069 -:10013000801919F40020B9F7881B990B0895FB0169 -:10014000DC014150504048F001900D920020C9F769 -:1001500001C01D9241505040E0F708950F931F9346 -:10016000CF93DF93CDB7DEB72E970FB6F894DEBFEF -:100170000FBECDBF0E891F898EE08C831A83098341 -:100180008FEF9FE79E838D83AE01465E5F4F688D44 -:10019000798DCE01019610D0EF81F885E00FF11F27 -:1001A00010822E960FB6F894DEBF0FBECDBFDF9142 -:1001B000CF911F910F9108952F923F924F925F928E -:1001C0006F927F928F929F92AF92BF92CF92DF9267 -:1001D000EF92FF920F931F93CF93DF93CDB7DEB7CC -:1001E0002C970FB6F894DEBF0FBECDBF7C016B011C -:1001F0008A01FC0117821682838181FFB0C1CE0182 -:1002000001964C01F7019381F60193FD859193FFCF -:1002100081916F01882309F49EC1853239F493FDE1 -:10022000859193FF81916F01853221F4B70190E0B0 -:10023000EDD1E8CF512C312C20E02032A0F48B32CC -:1002400069F030F4803259F0833269F420612CC0B7 -:100250008D3239F0803339F4216026C02260246069 -:1002600023C0286021C027FD27C030ED380F3A3069 -:1002700078F426FF06C0FAE05F9E300D1124532E5D -:1002800013C08AE0389E300D1124332E20620CC03A -:100290008E3221F426FD5FC1206406C08C3611F435 -:1002A000206802C0883641F4F60193FD859193FFE2 -:1002B00081916F018111C1CF982F9F7D955493300B -:1002C00028F40C5F1F4FFFE3F9830DC0833631F034 -:1002D000833771F0833509F057C021C0F801808160 -:1002E00089830E5F1F4F44244394512C540114C042 -:1002F0003801F2E06F0E711CF801A080B18026FF7A -:1003000003C0652D70E002C06FEF7FEFC5012C8741 -:1003100072D12C0183012C852F77222E16C0380133 -:10032000F2E06F0E711CF801A080B18026FF03C0BF -:10033000652D70E002C06FEF7FEFC5012C8750D1B3 -:100340002C012C852068222E830123FC19C0832DCB -:1003500090E048165906A0F4B70180E290E056D12B -:100360003A94F5CFF50127FC859127FE81915F0135 -:10037000B70190E04BD131103A94F1E04F1A510897 -:100380004114510479F7DEC0843611F0893631F515 -:10039000F80127FF07C060817181828193810C5F22 -:1003A0001F4F08C060817181882777FD8095982F45 -:1003B0000E5F1F4F2F76B22E97FF09C09095809544 -:1003C000709561957F4F8F4F9F4F2068B22E2AE026 -:1003D00030E0A4014DD1A82EA81843C0853729F4D8 -:1003E0002F7EB22E2AE030E025C0F22FF97FBF2EFB -:1003F0008F36C1F018F4883579F0ADC0803719F028 -:10040000883721F0A8C02F2F2061B22EB4FE0DC076 -:100410008B2D8460B82E09C024FF0AC09F2F9660E0 -:10042000B92E06C028E030E005C020E130E002C06F -:1004300020E132E0F801B7FE07C06081718182815E -:1004400093810C5F1F4F06C06081718180E090E056 -:100450000E5F1F4FA4010CD1A82EA818FB2DFF770B -:10046000BF2EB6FE0BC02B2D2E7FA51450F4B4FE6C -:100470000AC0B2FC08C02B2D2E7E05C07A2C2B2D75 -:1004800003C07A2C01C0752C24FF0DC0FE01EA0DBB -:10049000F11D8081803311F4297E09C022FF06C03E -:1004A0007394739404C0822F867809F0739423FDAB -:1004B00012C020FF06C05A2C731418F4530C57189E -:1004C000732C731460F4B70180E290E02C879ED007 -:1004D00073942C85F6CF731410F4371801C0312CA7 -:1004E00024FF11C0B70180E390E02C878FD02C85CA -:1004F00022FF16C021FF03C088E590E002C088E714 -:1005000090E0B7010CC0822F867851F021FD02C027 -:1005100080E201C08BE227FD8DE2B70190E076D04A -:10052000A51430F4B70180E390E070D05A94F8CF6E -:10053000AA94F401EA0DF11D8081B70190E066D024 -:10054000A110F6CF332009F45DCEB70180E290E030 -:100550005DD03A94F7CFF7018681978102C08FEF83 -:100560009FEF2C960FB6F894DEBF0FBECDBFDF9184 -:10057000CF911F910F91FF90EF90DF90CF90BF90A0 -:10058000AF909F908F907F906F905F904F903F9033 -:100590002F900895F999FECF92BD81BDF89A9927C1 -:1005A00080B50895A6E1B0E044E050E0C1C00396F4 -:1005B000272FCDD0CBD0252FCAD0242FC8C0262F8F -:1005C000F999FECF1FBA92BD81BD20BD0FB6F89438 -:1005D000FA9AF99A0FBE01960895992788270895E7 -:1005E000FC010590615070400110D8F780959095FE -:1005F0008E0F9F1F0895FC01615070400190011003 -:10060000D8F7809590958E0F9F1F08950F931F9395 -:10061000CF93DF93182F092FEB018B8181FD03C04E -:100620008FEF9FEF20C082FF10C04E815F812C8131 -:100630003D81421753077CF4E881F9819F012F5FC8 -:100640003F4F39832883108306C0E885F985812FC1 -:100650001995892B29F72E813F812F5F3F4F3F83CB -:100660002E83812F902FDF91CF911F910F910895AD -:10067000FA01AA27283051F1203181F1E8946F93D3 -:100680006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED079 -:10069000B4E03CD0670F781F891F9A1FA11D680F17 -:1006A000791F8A1F911DA11D6A0F711D811D911D4A -:1006B000A11D20D009F468943F912AE0269F1124BF -:1006C0003019305D3193DEF6CF010895462F477023 -:1006D000405D4193B3E00FD0C9F7F6CF462F4F707E -:1006E000405D4A3318F0495D31FD4052419302D0DC -:1006F000A9F7EACFB4E0A695979587957795679582 -:10070000BA95C9F700976105710508959B01AC0181 -:100710000A2E06945795479537952795BA95C9F7A8 -:10072000620F731F841F951FA01D0895DC01CB016C -:10073000FC01F999FECF06C0F2BDE1BDF89A3196F1 -:1007400000B40D9241505040B8F70895262FF99902 -:10075000FECF92BD81BDF89A019700B4021639F020 -:100760001FBA20BD0FB6F894FA9AF99A0FBE0895F1 -:1007700010E6CEECD0E600E006C022970109FE01AB -:100780000BBF0E9417FBC03DD10780E00807A9F707 -:04079000F894FFCF0B -:1007940000001D1E20000A01FF3FFF3F0000803FB4 -:1007A400F45A0344EA784C3F33B323420E0A140844 -:1007B4001A0620042602344EE84D9F4D604D2E4DFE -:1007C400DC4CA34C484C094CC94B7F4B354BEB4A92 -:1007D400974A434AEA49AA4960491649CC487848A5 -:1007E4002448CB479C4750470147D346AB46754600 -:1007F40047461946EB45BD458B4559451645DD44ED -:100804009F44644443441B44F343D8439D437B4384 -:1008140054432D430643DC42B94296426E42414260 -:100824002D421942FB41DD41BF41A1418341564163 -:100834002E410641E840DE40D440CA40C040A740B3 -:10084400754057402540F33FC13F8F3F5D3F253FF3 -:10085400043FD73EAA3E6E3E323EF63DB53D743D62 -:10086400363DE33CBB3C873C5D3C3A3CF93BB43B06 -:100874006B3B303BEA3AB63A5F3A0E3AC5398A39AD -:1008840056392639EF38B83881385E382C38F53780 -:10089400C83796373E370237BF366A361036E335E7 -:1008A400AC3575352F35E93494344D341434D433A0 -:1008B400833351331F33D03278324B322932D03123 -:1008C400AA315E314C313C31E630953044300C3045 -:1008D400C22F772F1B2FC42E6E2E0E2EB52D582D02 -:1008E400FE2CC72C9F2C4F2CFA2BAA2B5A2B1E2BD9 -:1008F400CE2A832A102A012AA729A8280D283B27B3 -:1009040069260A26BA25742501258E241B24A823CA -:10091400352395222222E621972149211321D61C31 -:100924009F1C041CB61989192A19D0187B1853184E -:100934002B180318DB17B3178B170E17DC16C31607 -:1009440073161416D31574152415ED14891425146F -:10095400DF13B71371131713BD126D12FF11911129 -:100964002D11E2106010CA0F7F0F340FF40E7C0EAD -:10097400540EF20DB80D600D080DAA0C6A0C1C0C77 -:10098400C00B740B1E0BEA0ACA0A9A0A460A060A24 -:10099400B0095D091909D0087A082208CA07720744 -:1009A4001A07C2066B061D06D5057D053C05F30432 -:1009B400444EF64DAC4D6C4D384DED4CAD4C5C4C4D -:1009C400184CD74B8F4B454BFB4AA94A554AFD4916 -:1009D400B84970492649DC488A483648DE47A74763 -:1009E4005E470F47DE46B3467E4653462546F745E7 -:1009F400C645954563452745EC44AF446D44494499 -:100A04002344FB43DF43AC4384435D4336430F43FA -:100A1400E542C0429D4276424A4231421D42014271 -:100A2400E341C541A74189415F4136410E41EE4052 -:100A3400E040D640CC40C240AC407F405D402F40B7 -:100A4400FD3FCB3F993F673F313F0A3FE03EB33E16 -:100A54007A3E3E3E023EC23D813D433DF33CC33CB3 -:100A6400923C663C433C073CC03B7A3B3A3BF83AF9 -:100A7400BF3A703A1F3AD43993395F393039FA386A -:100A8400C3388C38653836380038D137A0375037FA -:100A94000B37CA367B362236EC35B73580354135CF -:100AA400F734A4345C341F34E03391335C3327339C -:100AB400DF328A3254322F32DF31B0316A31503171 -:100AC4004031F530A73055301A30D22F832F2D2FD7 -:100AD400D62E802E202EC72D692D0B2DD22CA72C7F -:100AE4005F2C0B2CBA2B6A2B2A2BDE2A922A272A5C -:100AF400042AB929DB282C28652793261D26CA2514 -:100B040082251825A5243224BF234C23B52239225B -:100B1400F121A3215B211E21AF1DAA1C231C2C1A29 -:100B240092193D19E2188C185B1833180B18E31747 -:100B3400BB1793172717E616C81683162716E01552 -:100B440087153415F8149D143914ED13BF137F134E -:100B54002913CF127D121512A7114111F1107A1029 -:100B6400E80F8E0F430F020F940E5B0E070EC30D9A -:100B7400710D190DBB0C770C2E0CD20B810B2E0BA7 -:100B8400F30AD10AA20A560A130AC3096E092609EE -:100B9400DF088C083408DC0784072C07D4067D069C -:100BA4002F06E7058F0549050005534E074EBD4D39 -:100BB4007B4D424DFC4CBE4C6D4C234CE34B9D4B4A -:100BC400534B094BB94A654A0E4AC4497E493449D4 -:100BD400EA489A484648EF47AF476E472047E646FB -:100BE400BB4689465B462D46FF45CF459F456D452F -:100BF4003245F544B94477444F442B440344E44319 -:100C0400B7438A4364433D431643ED42C742A4427B -:100C14007E425342354221420742E941CB41AD4134 -:100C24008F4168413E411641F440E240D840CE40F5 -:100C3400C440B1408940634039400740D53FA33F99 -:100C4400713F3D3F113FE93EBC3E863E4A3E0E3E6B -:100C5400CF3D8E3D4F3D043DCB3C9E3C6E3C4B3CDA -:100C6400183CD13B8C3B453B0A3BC93A823A313A6A -:100C7400E239A239703937390539CE3897386C38AA -:100C840040380B38DA37AA3762371937D9368C36F9 -:100C94003436F535C2358B354D350535B6346B34C0 -:100CA4002A34ED33A73363333333EF329F325D326B -:100CB4003632F131B8317C31533143310531B630FC -:100CC40063302130E12F912F3E2FE82E902E342EC9 -:100CD400D92D7B2D1D2DDD2CAF2C6F2C1C2CCA2B5C -:100CE4007A2B362BEE2AA12A3E2A072ACB290E2953 -:100CF4004B288F27BD263026DA2590252F25BC24A6 -:100D04004924D6236323D5225022FF21B5216B2108 -:100D14002A21881EB51C421CA21A9B195019F418CA -:100D24009D1863183B181318EB17C3179B1740172C -:100D3400F016CD1693163A16ED159A1544150315AB -:100D4400B1144D14FB13C7138D133B13E1128D1211 -:100D54002B12BD1155110011941006109D0F520F46 -:100D64000E0FAC0E630E190ECF0D830D2B0DD40C8C -:100D7400820C400CE40B910B470BFF0AD70AAD0A17 -:100D8400680A200AD4097D093409EF089C0846083A -:100D9400EC0796073E07E6068D063906F005A00522 -:100DA40057051205644E184ECD4D8B4D4C4D0E4DCE -:100DB400C84C7E4C2E4CEF4BAB4B614B174BC94A86 -:100DC400754A1F4AD0498C494249F848AA485648AE -:100DD4000048B9477E473147EE46C34694466346CA -:100DE40035460746D945A94577453D45FE44C344A4 -:100DF4009044564433440B44EB43BF4391436B4309 -:100E040044431D43F542CE42AB4286425C423942E2 -:100E140025420D42EF41D141B341954171414641D3 -:100E24001E41FA40E440DA40D040C640B640934008 -:100E3400694043401140DF3FAD3F7B3F493F183F8E -:100E4400F23EC53E923E563E1A3EDC3D9B3D5B3D26 -:100E5400153DD33CA53C763C523C1E3CE13B9B3BC0 -:100E6400533B163BD83A943A413AF239B33978397C -:100E740042391039D938A23873384A381638E3372A -:100E8400B43775372737E8369D364636FE35CD35C7 -:100E9400963558351335C8347A343434FA33B63386 -:100EA40070333F33FE32B23266323D320132C031EA -:100EB4008C31563146311531C53071302930F02F1F -:100EC400A32F4F2FFB2E9F2E4A2EEA2D8D2D332D2F -:100ED400E82CB72C7F2C2D2CDA2B8A2B422BFE2AC4 -:100EE400B02A552A0A2ADD2941296A28B927E72682 -:100EF4004326EA259E254625D3246024ED237A2320 -:100F0400F52267221022CA217D213821611FC01CCD -:100F1400611C181BA41963190619AE186B18431821 -:100F24001B18F317CB17A3175917FA16D216A316C3 -:100F34004D16FA15AD1554150E15C5146114091482 -:100F4400CF139B134D13F3129D124112D311691148 -:100F54000F11AE102410AC0F610F1A0FC40E6C0EDB -:100F64002A0EDB0D950D3D0DE60C8C0C4D0CF80B8B -:100F7400A60B580B0C0BDE0ABA0A7A0A2C0AE309F0 -:100F84008F093F09FD08AC085608FE07A6074E075F -:100F9400F6069E064706F905B10563052005704E61 -:100FA400264EDB4D9A4D564D1D4DD24C924C3D4C28 -:100FB400FD4BBB4B714B274BDB4A874A324ADE4918 -:100FC4009C4952490849BC4868481348C2478C4761 -:100FD4003F47F946CB46A1466E4640461246E24597 -:100FE400B34581454E450D45D34499445D443B4446 -:100FF4001344EF43CE43984374434D432643FE4288 -:10100400D542B2428E4265423D4229421342F541E5 -:10101400D741B9419B417A414E4126410041E640C6 -:10102400DC40D240C840BB409D406F404D401B4017 -:10103400E93FB73F853F513F1E3FFB3ECE3E9E3EBC -:10104400623E263EE93DA83D683D253DDB3CAF3C84 -:101054007F3C583C2E3CEC3BA93B5D3B253BE13AB5 -:10106400A53A503A003ABC3981394C391B39E43835 -:10107400AD387A3854382138EC37BE3786373037B4 -:10108400F336AE3658360736D835A13567352135AF -:10109400D934893441340634C3337A3349330F3372 -:1010A400C2326F3244321532C83197315A31493124 -:1010B4002831D63084303830FE2FB22F642F0B2FD6 -:1010C400B12E5C2EFC2DA22D472DF32CBF2C8F2C82 -:1010D4003E2CEA2B9A2B4E2B0E2BBF2A6C2A0D2A60 -:1010E400EF2974298928E32711275626FA25AC25E8 -:1010F4005D25EA2477240424912315237E221A22D1 -:10110400D8218B2140213A20CB1C801C8E1BAD1989 -:1011140076191819BF1873184B182318FB17D3170F -:10112400AB1772170417D716B31660160716C01537 -:1011340064151915D91475141714D713A9135F134B -:101144000513AD125712E9117D111E11C81042107A -:10115400BB0F700F280FDC0E740E3F0EE60DA60DAC -:101164004E0DF70C9B0C5C0C0A0CB30B670B150BA8 -:10117400E40AC20A8A0A390AF5099D094C090B09CD -:10118400BE0868081008B80760070807B0065906C3 -:101194000B06C30570052D050160EA00000080BB45 -:1011A40044010100000041000034420000504100AD -:1011B40000404000005643000046430000494300FD -:1011C400000000000000001F856B3E0000803F000F -:1011D400004040640064006400640000803B4500FB -:1011E400803B450000704300000000022AC3013226 -:1011F40000E6006400DC005A00F0006400FE000118 -:10120400010101011C02C201F4010E01C201C2016B -:101214000E01C201C20100000243FF00004000149D -:10122400005400001F1511151F00000C12120C00B1 -:10123400000000040A0A0A0A11110E040E1F041CFD -:101244000000000006191803130C00001C1F1111E4 -:101254001F00000004120912040000000E131511EF -:101264000E00000000000000110A040000C8420043 -:1012740000C84200007A45CD4C21430000FA4300E7 -:1012840000FA43000040400000C841282300002821 -:101294002300001E00000010270000101010101082 -:1012A400504944204175746F74756E652073746180 -:1012B400727400504944204175746F74756E6520D2 -:1012C4006661696C65642E2042616420657874727D -:1012D40075646572206E756D6265722E0000000083 -:1012E40000244D57F52F006F70656E206661696CA0 -:1012F40065642C2046696C653A20004E6F7420703A -:1013040072696E74696E670053442D5052494E548D -:10131400494E47202020202020202020004D31311C -:101324003200332E302E3100315F37356D6D2D5242 -:10133400414D426F3130612D45334476366C6974CA -:1013440065003F0050727573612069330020703A64 -:101354000020693A0020643A0020633A00540000F7 -:10136400000100250030001D000C0018002400318D -:10137400001C000B00170023002F001B000A001E96 -:101384000047000400060022002B001A0003003668 -:101394000037003500380058595A454F4B00052E88 -:1013A4002E003E00206D6D006D2000636D006820EE -:1013B4000073006B6D0068007C002D2D2D2D2D2DEC -:1013C4002D2D2D2D2D2D2D2D2D2D2D2D2D2D00485B -:1013D4006F74656E640058005900426564004C6F78 -:1013E4006164696E672066696C616D656E74003452 -:1013F4000020202020202020202020202020202009 -:1014040020202020200001005E0020205A00203AE5 -:10141400200000803B4500803B45000070430000F5 -:1014240070420000000047D157F500000000AAEC0C -:0A1434007EEC53EC5BEC6EEC7DECFB -:00000001FF diff --git a/hex_files/1_75mm-RAMBo13a-E3Dv6full.hex b/hex_files/1_75mm-RAMBo13a-E3Dv6full.hex deleted file mode 100644 index 9854be70e..000000000 --- a/hex_files/1_75mm-RAMBo13a-E3Dv6full.hex +++ /dev/null @@ -1,8531 +0,0 @@ -:100000000C9468300C9499300C9499300C9499307D -:100010000C9499300C9499300C9499300C9499303C -:100020000C9499300C9499300C9499300C9499302C -:100030000C9499300C947FF40C9499300C94993072 -:100040000C9499300C94AAD20C9499300C94993059 -:100050000C9499300C9499300C9415490C943FF001 -:100060000C9499300C9478CF0C9499300C9499306E -:100070000C9499300C9499300C9499300C949930DC -:100080000C9499300C9499300C9499300C949930CC -:100090000C9499300C9499300C9499300C9471ED27 -:1000A0000C9499300C9499300C9499300C949930AC -:1000B0000C9499300C9499300C9499300C9499309C -:1000C0000C9499300C9499300C9499300C9499308C -:1000D0000C9499300C9499300C9499300C9499307C -:1000E0000C949930624970498C499A49B449C24983 -:1000F000DC49E049E249E649EE49C3EEC8EECDEEFF -:10010000D7EE50EFE1EEE9EEF1EEFBEE05EF0FEF8B -:100110001EEF28EF50EF32EF3CEF46EF6EEF71EF3E -:1001200064EF68EFA8EF75EF79EF7FEF83EF87EF6C -:100130008DEF91EF95EFA8EF9BEF9FEFA3EF084AAC -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8 -:100190003F2F5B5D3B2C2A225C004572723A204D5A -:1001A000415854454D50204245440054656D70659A -:1001B000726174757265206865617465642062653A -:1001C00064207377697463686564206F66662E20A7 -:1001D0004D415854454D502074726967676572658A -:1001E000642021004572723A204D494E54454D50CD -:1001F000003A20457874727564657220737769746B -:1002000063686564206F66662E204D494E54454DE7 -:1002100050207472696767657265642021004572B9 -:10022000723A204D415854454D50003A204578745B -:100230007275646572207377697463686564206F92 -:1002400066662E204D415854454D502074726967A2 -:100250006765726564202100544845524D414C2029 -:1002600052554E4157415900202D20496E76616C00 -:100270006964206578747275646572206E756D624C -:100280006572202100504944204175746F74756E69 -:10029000652066696E6973686564212050757420F5 -:1002A000746865206C617374204B702C204B69203E -:1002B000616E64204B6420636F6E7374616E74733F -:1002C0002066726F6D2061626F766520696E746F53 -:1002D00020436F6E66696775726174696F6E2E6810 -:1002E00000504944204175746F74756E65206661D5 -:1002F000696C6564212074696D656F7574002040B8 -:100300003A006F6B20543A006F6B20423A0050491C -:1003100044204175746F74756E65206661696C6503 -:1003200064212054656D7065726174757265207406 -:100330006F6F206869676800204B643A2000204B8B -:10034000693A2000204B703A200020436C6173739F -:1003500069632050494420002054753A2000204B06 -:10036000753A2000206D61783A2000206D696E3A60 -:10037000200020643A200020626961733A20001056 -:1003800000C90210012C014001220170011801B0C6 -:10039000010E01F00104015002FA00B002F0003039 -:1003A00003E600D003DC009004D2007005C800A072 -:1003B00006BE000008B400B009AA00D00BA000607F -:1003C0000E960060118C000015820020197800C084 -:1003D0001D6E00A0226400B0275A00902C5000002F -:1003E000314600E0343C0010383200903A2800607A -:1003F0003C1E00A03D1400803E0A00203F0000701B -:10040000012C0190012701B0012201C0011D01F062 -:100410000118011002130130020E0160020901905F -:10042000020401C002FF000003FA004003F500804F -:1004300003F000D003EB002004E6007004E100E0CC -:1004400004DC004005D700C005D2004006CD00D036 -:1004500006C8008007C3003008BE00F008B900C01D -:1004600009B400B00AAF00B00BAA00D00CA5000080 -:100470000EA000500F9B00C010960050129100007B -:10048000148C00C0158700B0178200B0197D00D011 -:100490001B7800001E730040206E0090226900F05F -:1004A00024640040275F0090295A00E02B5500107B -:1004B0002E500020304B0010324600E033410090B7 -:1004C000353C001037370070383200A0392D00B0AD -:1004D0003A2800A03B2300603C1E00103D1900900C -:1004E0003D1400103E0F00703E0A00C03E050000A3 -:1004F0003F00004472756B207A2055534220200043 -:10050000496D70726573696F6E2064652055534242 -:1005100020005374616D7061206461205553420066 -:100520005469736B207A2055534220200055534262 -:10053000207072696E74696E672020005374617454 -:10054000797374796B6120200045737461646973F9 -:100550007469636120200053746174697374696302 -:1005600068650053746174697374696B612020005D -:100570005374617469737469637320200053656CEC -:100580006674657374206E69657564616E79004187 -:1005900075746F746573742066616C6C61646F0050 -:1005A0004175746F746573742066616C6C69746FE7 -:1005B0000053656C66746573742073656C68616C58 -:1005C00020200053656C6674657374206661696CE5 -:1005D000656420200053656C667465737420202068 -:1005E000202020202020004175746F7465737400F2 -:1005F0004175746F746573740053656C66746573CC -:10060000742020202020202020200053656C667458 -:100610006573742020202020202020200057737A2A -:100620007973746B6F204F4B2020202020200054C2 -:100630006F646F2062696520004E657373756E206C -:100640006572726F726500567365204F4B202020D3 -:10065000202020202020202000416C6C20636F721D -:1006600072656374202020202020004B6F6E74720E -:100670006F6C6120626564202020202000436F6E33 -:1006800074726F6C2064652063616D6100566572E1 -:1006900069666963612070696173747261004B6F90 -:1006A0006E74726F6C6120626564202020202000CF -:1006B000436865636B696E67206265642020202053 -:1006C00020004B6F6E74726F6C61205A20617869E4 -:1006D00073202000436F6E74726F6C2064656C2011 -:1006E000656A65205A0056657269666963612061B2 -:1006F000737365205A004B6F6E74726F6C61205A71 -:100700002061786973202000436865636B696E67B8 -:10071000205A20617869732020004B6F6E74726FCD -:100720006C6120592061786973202000436F6E74DA -:10073000726F6C2064656C20656A6520590056658F -:1007400072696669636120617373652059004B6F3C -:100750006E74726F6C61205920617869732020007B -:10076000436865636B696E672059206178697320FF -:1007700020004B6F6E74726F6C6120582061786935 -:1007800073202000436F6E74726F6C2064656C2060 -:10079000656A652058005665726966696361206103 -:1007A0007373652058004B6F6E74726F6C612058C4 -:1007B0002061786973202000436865636B696E6708 -:1007C000205820617869732020004B6F6E74726F1F -:1007D0006C6120686F74656E64202000436F6E74D6 -:1007E000726F6C20686F74656E6420005665726964 -:1007F00066696361206C696D2074656D70004B6F74 -:100800006E74726F6C6120686F74656E6420200076 -:10081000436865636B696E6720686F74656E6420FA -:1008200020004B6F6E74726F6C6120656E64737420 -:100830006F707300436F6E742E20746F7065732039 -:1008400066696E616C005665726966696361206CE9 -:10085000696D697469004B6F6E74726F6C612065AD -:100860006E6473746F707300436865636B696E6761 -:1008700020656E6473746F70730053656C662074CA -:100880006573742073746172742020004175746FF5 -:10089000746573742073616C69646100496E697A70 -:1008A0006961206175746F746573740053656C665B -:1008B0002074657374207374617274202000536512 -:1008C0006C662074657374207374617274202000E8 -:1008D000437A6173206472756B75203A202000544E -:1008E00069656D706F20646520696D702E3A0054E3 -:1008F000656D706F207374616D70613A0043617350 -:10090000207469736B75203A2020005072696E74F0 -:100910002074696D653A20200046696C616D656ED2 -:1009200074203A20200046696C616D656E746F20FA -:100930003A20200046696C616D656E746F3A00461E -:10094000696C616D656E74203A20200046696C61A7 -:100950006D656E7420757365643A202000437A617A -:10096000732063616C6B6F77697479203A00546906 -:10097000656D706F20746F74616C203A0054656D02 -:10098000706F207374616D706120746F743A0043EE -:10099000656C6B6F767920636173203A00546F74D5 -:1009A000616C207072696E742074696D65203A0004 -:1009B00046696C616D656E74206C61637A6E696501 -:1009C000203A0046696C616D656E746F20746F74B7 -:1009D000616C3A0046696C616D656E746F20746F6E -:1009E000743A0046696C616D656E742063656C6B6A -:1009F000656D203A00546F74616C2066696C616D9E -:100A0000656E74203A0053656C66207465737420BB -:100A10004F4B0053656C662074657374204F4B0018 -:100A20004175746F74657374204F4B0053656C6629 -:100A30002074657374204F4B0053656C6620746599 -:100A40007374204F4B00456E6473746F70206E6F2B -:100A5000742068697400546F70652066696E2E207A -:100A60006E6F20746F632E004C696D2E2066756F5B -:100A70007269706F727461746100456E6473746F33 -:100A800070206E6F742068697400456E6473746FB3 -:100A900070206E6F742068697400456E6473746FA3 -:100AA0007000546F70652066696E616C004C696DF2 -:100AB00069746520636F72736100456E6473746F4F -:100AC0007000456E6473746F700053696C6E696B6F -:100AD000004D6F746F72004D6F746F7265004D6FD3 -:100AE000746F72004D6F746F7200456E6473746F33 -:100AF000707300546F7065732066696E616C004C92 -:100B0000696D69746920636F72736100456E647307 -:100B1000746F707300456E6473746F707300426C11 -:100B2000616420706F6C61637A656E696100457203 -:100B3000726F7220646520636F6E657869C383C6C7 -:100B400092C382C2B36E004572726F726520636198 -:100B5000626C616767696F004368796261207A61DE -:100B6000706F6A656E6900576972696E6720657299 -:100B7000726F7200426564202F204865617465724F -:100B80000043616D612F43616C656E7461646F72C7 -:100B900000506961737472612F52697363616C6490 -:100BA00061746F726500426564202F20486561742E -:100BB000657200426564202F20486561746572008B -:100BC0004865617465722F546865726D6973746FDE -:100BD000720043616C656E742E2F5465726D69737B -:100BE000746F720052697363616C642E2F54657266 -:100BF0006D6973746F7265004865617465722F5416 -:100C00006865726D6973746F7200486561746572AE -:100C10002F546865726D6973746F72004E69652038 -:100C2000706F646C61637A6F6E6F202020004E6F6E -:100C30002068617920636F6E6578696F6E2020008F -:100C40004E6F6E20636F6E6E6573736F004E657AC4 -:100C500061706F6A656E6F20202020004E6F7420D7 -:100C6000636F6E6E656374656400536B6F6E747250 -:100C70006F6C756A203A00436F6E74726F6C6120FE -:100C80003A0056657269666963613A005A6B6F6E25 -:100C900074726F6C756A7465203A00506C6561738C -:100CA0006520636865636B203A0053656C66746504 -:100CB0007374206572726F72202100C383E2809A80 -:100CC000C382C2A14175746F7465737420657272BA -:100CD0006F7221004175746F74657374206E65675F -:100CE000617469766F0053656C6674657374206512 -:100CF00072726F7220210053656C66746573742084 -:100D00006572726F72202100686F77746F2E707237 -:100D100075736133642E637A00686F77746F2E7019 -:100D20007275736133642E636F6D00686F77746FD3 -:100D30002E707275736133642E636F6D00686F7708 -:100D4000746F2E707275736133642E637A00686FEE -:100D500077746F2E707275736133642E636F6D00DC -:100D6000666F72756D2E707275736133642E637A5F -:100D700000666F72756D2E707275736133642E63C9 -:100D80006F6D00666F72756D2E707275736133646E -:100D90002E636F6D00666F72756D2E707275736164 -:100DA00033642E637A00666F72756D2E7072757380 -:100DB0006133642E636F6D00707275736133642EDE -:100DC000637A00707275736133642E636F6D0070A7 -:100DD0007275736133642E636F6D00707275736129 -:100DE00033642E637A00707275736133642E636F9F -:100DF0006D005779626F72206A657A796B61202085 -:100E00002020202020200043616D626961206C61F8 -:100E1000206C656E677561200053656C657A2E20C5 -:100E20006C61206C696E677561005679626572202D -:100E30006A617A796B6120202020202020200053D5 -:100E4000656C656374206C616E67756167652020F1 -:100E500020202000506F6C736B6900457370616EC9 -:100E60006F6C004974616C69616E6F0043657374E7 -:100E7000696E6100456E676C697368004572726FD8 -:100E80007220696E206D656E75207374727563745F -:100E9000757265004572726F7220696E206D656EA5 -:100EA0007520737472756374757265004572726F24 -:100EB0007220696E206D656E75207374727563742F -:100EC000757265004572726F7220696E206D656E75 -:100ED0007520737472756374757265004572726FF4 -:100EE0007220696E206D656E7520737472756374FF -:100EF00075726500446F737461766F76616E6920F8 -:100F00005A0041646A757374696E67205A004164BF -:100F10006A757374696E67205A00446F73746176E2 -:100F20006F76616E69205A0041646A757374696EE8 -:100F300067205A00426162797374657070696E67E8 -:100F4000205900426162797374657070696E672020 -:100F50005900426162797374657070696E672059D7 -:100F600000426162797374657070696E6720590020 -:100F7000426162797374657070696E6720590042CE -:100F80006162797374657070696E672058004261A0 -:100F900062797374657070696E672058004261628F -:100FA000797374657070696E672058004261627968 -:100FB0007374657070696E6720580042616279735E -:100FC00074657070696E6720580020746F6F206CB4 -:100FD0006F6E6720657874727573696F6E207072BA -:100FE0006576656E7465640020746F6F206C6F6E3B -:100FF0006720657874727573696F6E20707265769C -:10100000656E7465640020746F6F206C6F6E67206E -:10101000657874727573696F6E2070726576656E2F -:101020007465640020746F6F206C6F6E6720657844 -:1010300074727573696F6E2070726576656E746513 -:10104000640020746F6F206C6F6E67206578747217 -:101050007573696F6E2070726576656E7465640075 -:1010600020636F6C6420657874727573696F6E208D -:1010700070726576656E7465640020636F6C6420C1 -:10108000657874727573696F6E2070726576656EBF -:101090007465640020636F6C642065787472757386 -:1010A000696F6E2070726576656E7465640020638A -:1010B0006F6C6420657874727573696F6E207072DE -:1010C0006576656E7465640020636F6C6420657876 -:1010D00074727573696F6E2070726576656E746573 -:1010E0006400656E6473746F7073206869743A206D -:1010F00000656E6473746F7073206869743A2000C1 -:10110000656E6473746F7073206869743A2000654B -:101110006E6473746F7073206869743A2000656E32 -:101120006473746F7073206869743A200053746537 -:10113000707261746520746F6F20686967683A2007 -:1011400000537465707261746520746F6F206869F4 -:1011500067683A2000537465707261746520746F1B -:101160006F20686967683A20005374657072617413 -:101170006520746F6F20686967683A200053746552 -:10118000707261746520746F6F20686967683A20B7 -:101190000043616E6E6F7420656E746572207375A6 -:1011A000626469723A200043616E6E6F7420656EEE -:1011B000746572207375626469723A200043616ECF -:1011C0006E6F7420656E74657220737562646972E7 -:1011D0003A200043616E6E6F7420656E74657220F4 -:1011E0007375626469723A200043616E6E6F742099 -:1011F000656E746572207375626469723A20006569 -:1012000072726F722077726974696E6720746F20D2 -:1012100066696C65006572726F72207772697469B5 -:101220006E6720746F2066696C65006572726F72FC -:101230002077726974696E6720746F2066696C65C7 -:10124000006572726F722077726974696E672074BC -:101250006F2066696C65006572726F7220777269C3 -:1012600074696E6720746F2066696C65004E6F74D8 -:10127000205344207072696E74696E67004E6F74FB -:10128000205344207072696E74696E67004E6F74EB -:10129000205344207072696E74696E67004E6F74DB -:1012A000205344207072696E74696E67004E6F74CB -:1012B000205344207072696E74696E670053442035 -:1012C0007072696E74696E6720627974652000536C -:1012D00044207072696E74696E672062797465204B -:1012E000005344207072696E74696E67206279746D -:1012F0006520005344207072696E74696E672062C5 -:1013000079746520005344207072696E74696E6749 -:101310002062797465200057726974696E67207461 -:101320006F2066696C653A200057726974696E6750 -:1013300020746F2066696C653A2000577269746981 -:101340006E6720746F2066696C653A200057726979 -:1013500074696E6720746F2066696C653A20005767 -:10136000726974696E6720746F2066696C653A20D3 -:101370000046696C652073656C656374656400463E -:10138000696C652073656C65637465640046696C9F -:10139000652073656C65637465640046696C6520DF -:1013A00073656C65637465640046696C652073657C -:1013B0006C6563746564002053697A653A20002087 -:1013C00053697A653A20002053697A653A200020F3 -:1013D00053697A653A20002053697A653A200046BD -:1013E000696C65206F70656E65643A200046696CB3 -:1013F00065206F70656E65643A200046696C6520F3 -:101400006F70656E65643A200046696C65206F7088 -:10141000656E65643A200046696C65206F70656E84 -:1014200065643A20006F70656E206661696C656462 -:101430002C2046696C653A20006F70656E206661ED -:10144000696C65642C2046696C653A20006F706594 -:101450006E206661696C65642C2046696C653A2073 -:10146000006F70656E206661696C65642C2046694A -:101470006C653A20006F70656E206661696C65640A -:101480002C2046696C653A2000776F726B44697254 -:10149000206F70656E206661696C656400776F729D -:1014A0006B446972206F70656E206661696C65645B -:1014B00000776F726B446972206F70656E20666191 -:1014C000696C656400776F726B446972206F706538 -:1014D0006E206661696C656400776F726B44697237 -:1014E000206F70656E206661696C656400534420EE -:1014F00063617264206F6B005344206361726420E7 -:101500006F6B0053442063617264206F6B0053441F -:101510002063617264206F6B0053442063617264C6 -:10152000206F6B006F70656E526F6F74206661691B -:101530006C6564006F70656E526F6F7420666169D0 -:101540006C6564006F70656E526F6F7420666169C0 -:101550006C6564006F70656E526F6F7420666169B0 -:101560006C6564006F70656E526F6F7420666169A0 -:101570006C656400766F6C756D652E696E6974209C -:101580006661696C656400766F6C756D652E696E59 -:101590006974206661696C656400766F6C756D6551 -:1015A0002E696E6974206661696C656400766F6C83 -:1015B000756D652E696E6974206661696C6564007D -:1015C000766F6C756D652E696E6974206661696CE5 -:1015D000656400534420696E6974206661696C001B -:1015E000534420696E6974206661696C005344201D -:1015F000696E6974206661696C00534420696E6984 -:1016000074206661696C00534420696E69742066B9 -:1016100061696C0043616E6E6F74206F70656E203F -:101620007375626469720043616E6E6F74206F70CF -:10163000656E207375626469720043616E6E6F74CB -:10164000206F70656E207375626469720043616E0D -:101650006E6F74206F70656E2073756264697200BE -:1016600043616E6E6F74206F70656E207375626477 -:10167000697200486F74656E64206F666673657486 -:10168000733A00486F74656E64206F6666736574A4 -:10169000733A00486F74656E64206F666673657494 -:1016A000733A00486F74656E64206F666673657484 -:1016B000733A00486F74656E64206F666673657474 -:1016C000733A006F70656E006F70656E006F7065C5 -:1016D0006E006F70656E006F70656E005452494702 -:1016E00047455245440054524947474552454400F6 -:1016F000545249474745524544005452494747458B -:1017000052454400545249474745524544005265AA -:10171000706F7274696E6720656E6473746F702089 -:10172000737461747573005265706F7274696E675B -:1017300020656E6473746F702073746174757300C8 -:101740005265706F7274696E6720656E6473746F32 -:101750007020737461747573005265706F72746970 -:101760006E6720656E6473746F7020737461747536 -:1017700073005265706F7274696E6720656E647372 -:10178000746F7020737461747573007A5F6D617823 -:101790003A20007A5F6D61783A20007A5F6D617857 -:1017A0003A20007A5F6D61783A20007A5F6D617847 -:1017B0003A20007A5F6D696E3A20007A5F6D696E3B -:1017C0003A20007A5F6D696E3A20007A5F6D696E2B -:1017D0003A20007A5F6D696E3A2000795F6D61781A -:1017E0003A2000795F6D61783A2000795F6D617809 -:1017F0003A2000795F6D61783A2000795F6D6178F9 -:101800003A2000795F6D696E3A2000795F6D696EEC -:101810003A2000795F6D696E3A2000795F6D696EDC -:101820003A2000795F6D696E3A2000785F6D6178CB -:101830003A2000785F6D61783A2000785F6D6178BA -:101840003A2000785F6D61783A2000785F6D6178AA -:101850003A2000785F6D696E3A2000785F6D696E9E -:101860003A2000785F6D696E3A2000785F6D696E8E -:101870003A2000785F6D696E3A2000496E76616C9F -:10188000696420657874727564657200496E76616A -:101890006C696420657874727564657200496E764F -:1018A000616C696420657874727564657200496E54 -:1018B00076616C696420657874727564657200493C -:1018C0006E76616C69642065787472756465720007 -:1018D0004163746976652045787472756465723AFF -:1018E000200041637469766520457874727564657B -:1018F000723A200041637469766520457874727588 -:101900006465723A20004163746976652045787495 -:1019100072756465723A200041637469766520458A -:10192000787472756465723A2000556E6B6E6F77CD -:101930006E20636F6D6D616E643A202200556E6B90 -:101940006E6F776E20636F6D6D616E643A2022005A -:10195000556E6B6E6F776E20636F6D6D616E643A5E -:10196000202200556E6B6E6F776E20636F6D6D6118 -:101970006E643A202200556E6B6E6F776E20636F37 -:101980006D6D616E643A202200526573656E643A33 -:101990002000526573656E643A2000526573656E6F -:1019A000643A2000526573656E643A200052657394 -:1019B000656E643A20005072696E746572207374AB -:1019C0006F707065642064756520746F2065727235 -:1019D0006F72732E20466978207468652065727274 -:1019E0006F7220616E6420757365204D393939201E -:1019F000746F20726573746172742E202854656D43 -:101A000070657261747572652069732072657365A3 -:101A1000742E205365742069742061667465722089 -:101A200072657374617274696E6729005072696EB1 -:101A30007465722073746F707065642064756520BE -:101A4000746F206572726F72732E204669782074ED -:101A50006865206572726F7220616E6420757365AF -:101A6000204D39393920746F207265737461727436 -:101A70002E202854656D70657261747572652069D9 -:101A8000732072657365742E205365742069742009 -:101A900061667465722072657374617274696E67D1 -:101AA00029005072696E7465722073746F7070656E -:101AB000642064756520746F206572726F72732E76 -:101AC0002046697820746865206572726F722061A3 -:101AD0006E6420757365204D39393920746F20721A -:101AE0006573746172742E202854656D706572611F -:101AF000747572652069732072657365742E205346 -:101B000065742069742061667465722072657374EF -:101B1000617274696E6729005072696E7465722013 -:101B200073746F707065642064756520746F2065D0 -:101B300072726F72732E2046697820746865206512 -:101B400072726F7220616E6420757365204D393931 -:101B50003920746F20726573746172742E2028545A -:101B6000656D706572617475726520697320726548 -:101B70007365742E205365742069742061667465E2 -:101B8000722072657374617274696E672900507295 -:101B9000696E7465722073746F707065642064750B -:101BA0006520746F206572726F72732E204669789B -:101BB00020746865206572726F7220616E64207592 -:101BC0007365204D39393920746F207265737461E3 -:101BD00072742E202854656D70657261747572651B -:101BE0002069732072657365742E205365742069B3 -:101BF00074206166746572207265737461727469B1 -:101C00006E6729005072696E7465722068616C7429 -:101C100065642E206B696C6C28292063616C6C658F -:101C20006421005072696E7465722068616C74651D -:101C3000642E206B696C6C28292063616C6C656470 -:101C400021005072696E7465722068616C746564FD -:101C50002E206B696C6C28292063616C6C65642193 -:101C6000005072696E7465722068616C7465642ED0 -:101C7000206B696C6C28292063616C6C65642100A1 -:101C80005072696E7465722068616C7465642E2090 -:101C90006B696C6C28292063616C6C656421002081 -:101CA000436F756E7420583A200020436F756E7430 -:101CB00020583A200020436F756E7420583A200057 -:101CC00020436F756E7420583A200020436F756E64 -:101CD0007420583A20004649524D574152455F4EB4 -:101CE000414D453A4D61726C696E2056312E302E51 -:101CF000323B20537072696E7465722F6772626C2A -:101D0000206D617368757020666F722067656E362E -:101D1000204649524D574152455F55524C3A6874DE -:101D20007470733A2F2F6769746875622E636F6DD4 -:101D30002F707275736133642F50727573612D69E2 -:101D4000332D506C75732F2050524F544F434F4CCE -:101D50005F56455253494F4E3A312E30204D414344 -:101D600048494E455F545950453A50727573612049 -:101D700069332045585452554445525F434F554EA0 -:101D8000543A3120555549443A30303030303030B3 -:101D9000302D303030302D303030302D303030304C -:101DA0002D3030303030303030303030300A004676 -:101DB00049524D574152455F4E414D453A4D617232 -:101DC0006C696E2056312E302E323B205370726972 -:101DD0006E7465722F6772626C206D6173687570C6 -:101DE00020666F722067656E36204649524D574116 -:101DF00052455F55524C3A68747470733A2F2F678E -:101E000069746875622E636F6D2F707275736133BC -:101E1000642F50727573612D69332D506C75732F5B -:101E20002050524F544F434F4C5F56455253494FE9 -:101E30004E3A312E30204D414348494E455F54596A -:101E400050453A5072757361206933204558545299 -:101E5000554445525F434F554E543A3120555549EC -:101E6000443A30303030303030302D303030302D5A -:101E7000303030302D303030302D30303030303068 -:101E80003030303030300A004649524D57415245CB -:101E90005F4E414D453A4D61726C696E2056312E50 -:101EA000302E323B20537072696E7465722F6772E8 -:101EB000626C206D617368757020666F7220676553 -:101EC0006E36204649524D574152455F55524C3A65 -:101ED00068747470733A2F2F6769746875622E6323 -:101EE0006F6D2F707275736133642F5072757361EB -:101EF0002D69332D506C75732F2050524F544F4322 -:101F00004F4C5F56455253494F4E3A312E30204D7B -:101F1000414348494E455F545950453A5072757394 -:101F2000612069332045585452554445525F434F10 -:101F3000554E543A3120555549443A3030303030BE -:101F40003030302D303030302D303030302D30309A -:101F500030302D3030303030303030303030300AAA -:101F6000004649524D574152455F4E414D453A4D0D -:101F700061726C696E2056312E302E323B205370C8 -:101F800072696E7465722F6772626C206D6173681E -:101F9000757020666F722067656E36204649524D17 -:101FA000574152455F55524C3A68747470733A2FDA -:101FB0002F6769746875622E636F6D2F7072757309 -:101FC0006133642F50727573612D69332D506C75B8 -:101FD000732F2050524F544F434F4C5F564552532E -:101FE000494F4E3A312E30204D414348494E455FCE -:101FF000545950453A5072757361206933204558E1 -:102000005452554445525F434F554E543A31205532 -:102010005549443A30303030303030302D30303067 -:10202000302D303030302D303030302D30303030B9 -:1020300030303030303030300A004649524D574150 -:1020400052455F4E414D453A4D61726C696E205666 -:10205000312E302E323B20537072696E7465722FB0 -:102060006772626C206D617368757020666F722094 -:1020700067656E36204649524D574152455F55526D -:102080004C3A68747470733A2F2F6769746875627C -:102090002E636F6D2F707275736133642F5072757C -:1020A00073612D69332D506C75732F2050524F542E -:1020B0004F434F4C5F56455253494F4E3A312E30A5 -:1020C000204D414348494E455F545950453A50725E -:1020D0007573612069332045585452554445525F09 -:1020E000434F554E543A3120555549443A303030DB -:1020F00030303030302D303030302D303030302DE9 -:10210000303030302D3030303030303030303030D2 -:10211000300A0053746F6C696B204F4B2E00426184 -:102120007365206C6973746F2E0050696174746FED -:1021300020666174746F2E00426564204F4B2E0040 -:1021400042656420646F6E650047727A616E6965EE -:102150002073746F6C696B612E2E00426173652071 -:1021600043616C656E74616E646F00506961747474 -:102170006F2072697363616C64616D2E005A6168CF -:10218000726976616E692062656400426564204808 -:10219000656174696E670047727A616E6965204F88 -:1021A0004B2E0043616C656E74616E646F206C69C8 -:1021B00073746F2E0052697363616C64616D656E38 -:1021C000746F20666174746F2E005A61687269764C -:1021D000616E69204F4B2E0048656174696E6720FF -:1021E000646F6E652E0047727A616E69652E2E2EC1 -:1021F0000043616C656E74616E646F2E2E2E00520A -:10220000697363616C64616D656E746F2E2E2E0050 -:102210005A6168726976616E690048656174696EB9 -:1022200067004D31303920496E76616C69642065F4 -:102230007874727564657220004D31303920496EB2 -:1022400076616C69642065787472756465722000CB -:102250004D31303920496E76616C6964206578743F -:10226000727564657220004D31303920496E766197 -:102270006C696420657874727564657220004D31F4 -:10228000303920496E76616C6964206578747275A6 -:1022900064657220004E6F20746865726D69737496 -:1022A0006F7273202D206E6F2074656D7065726182 -:1022B00074757265004E6F20746865726D69737411 -:1022C0006F7273202D206E6F2074656D7065726162 -:1022D00074757265004E6F20746865726D697374F1 -:1022E0006F7273202D206E6F2074656D7065726142 -:1022F00074757265004E6F20746865726D697374D1 -:102300006F7273202D206E6F2074656D7065726121 -:1023100074757265004E6F20746865726D697374B0 -:102320006F7273202D206E6F2074656D7065726101 -:1023300074757265004D32323120496E76616C6978 -:102340006420657874727564657220004D32323194 -:1023500020496E76616C6964206578747275646575 -:102360007220004D32323120496E76616C696420F2 -:10237000657874727564657220004D32323120497F -:102380006E76616C6964206578747275646572201C -:10239000004D32323120496E76616C696420657877 -:1023A00074727564657220004D32313820496E7642 -:1023B000616C696420657874727564657220004D83 -:1023C00032313820496E76616C69642065787472A8 -:1023D0007564657220004D32313820496E76616C2B -:1023E000696420657874727564657220004D3231BD -:1023F0003820496E76616C69642065787472756402 -:10240000657220004D32313820496E76616C696406 -:1024100020657874727564657220004D323030200A -:10242000496E76616C696420657874727564657252 -:1024300020004D32303020496E76616C6964206531 -:102440007874727564657220004D32303020496EA8 -:1024500076616C69642065787472756465722000B9 -:102460004D32303020496E76616C69642065787435 -:10247000727564657220004D32303020496E76618D -:102480006C696420657874727564657220004D31E2 -:10249000303520496E76616C696420657874727598 -:1024A00064657220004D31303520496E76616C696B -:1024B0006420657874727564657220004D31303522 -:1024C00020496E76616C6964206578747275646504 -:1024D0007220004D31303520496E76616C69642080 -:1024E000657874727564657220004D31303520490D -:1024F0006E76616C696420657874727564657220AB -:10250000004D31303420496E76616C696420657805 -:1025100074727564657220004D31303420496E76D6 -:10252000616C696420657874727564657220004D11 -:1025300031303420496E76616C696420657874723C -:102540007564657220004D31303420496E76616CBF -:10255000696420657874727564657220004D31304D -:102560003420496E76616C69642065787472756494 -:1025700065722000456E642066696C65206C697325 -:102580007400456E642066696C65206C6973740024 -:10259000456E642066696C65206C69737400456ED5 -:1025A000642066696C65206C69737400456E6420F4 -:1025B00066696C65206C69737400426567696E209A -:1025C00066696C65206C69737400426567696E208A -:1025D00066696C65206C69737400426567696E207A -:1025E00066696C65206C69737400426567696E206A -:1025F00066696C65206C69737400426567696E205A -:1026000066696C65206C69737400446F6E65207038 -:1026100072696E74696E672066696C6500446F6EDE -:1026200065207072696E74696E672066696C6500FA -:10263000446F6E65207072696E74696E672066699A -:102640006C6500446F6E65207072696E74696E67A8 -:102650002066696C6500446F6E65207072696E74E7 -:10266000696E672066696C65004E6F204C696E6507 -:10267000204E756D626572207769746820636865A5 -:10268000636B73756D2C204C617374204C696E659F -:102690003A20004E6F204C696E65204E756D626564 -:1026A00072207769746820636865636B73756D2C3D -:1026B000204C617374204C696E653A20004E6F2087 -:1026C0004C696E65204E756D62657220776974681D -:1026D00020636865636B73756D2C204C6173742087 -:1026E0004C696E653A20004E6F204C696E65204E35 -:1026F000756D626572207769746820636865636BC5 -:1027000073756D2C204C617374204C696E653A2092 -:10271000004E6F204C696E65204E756D62657220AB -:102720007769746820636865636B73756D2C204CE2 -:10273000617374204C696E653A20004E6F204368C7 -:1027400065636B73756D2077697468206C696E655D -:10275000206E756D6265722C204C617374204C691B -:102760006E653A20004E6F20436865636B73756D2C -:102770002077697468206C696E65206E756D62657E -:10278000722C204C617374204C696E653A20004EA7 -:102790006F20436865636B73756D2077697468207B -:1027A0006C696E65206E756D6265722C204C61736C -:1027B00074204C696E653A20004E6F204368656353 -:1027C0006B73756D2077697468206C696E65206E17 -:1027D000756D6265722C204C617374204C696E6556 -:1027E0003A20004E6F20436865636B73756D2077E8 -:1027F000697468206C696E65206E756D6265722CF7 -:10280000204C617374204C696E653A2000636865E2 -:10281000636B73756D206D69736D617463682C20D3 -:102820004C617374204C696E653A2000636865637F -:102830006B73756D206D69736D617463682C204CCA -:10284000617374204C696E653A2000636865636B40 -:1028500073756D206D69736D617463682C204C61B4 -:102860007374204C696E653A2000636865636B730E -:10287000756D206D69736D617463682C204C617394 -:1028800074204C696E653A2000636865636B7375EC -:102890006D206D69736D617463682C204C61737475 -:1028A000204C696E653A20004C696E65204E756D4E -:1028B000626572206973206E6F74204C617374209E -:1028C0004C696E65204E756D6265722B312C204C03 -:1028D000617374204C696E653A20004C696E652006 -:1028E0004E756D626572206973206E6F74204C6145 -:1028F0007374204C696E65204E756D6265722B3164 -:102900002C204C617374204C696E653A20004C6930 -:102910006E65204E756D626572206973206E6F74EE -:10292000204C617374204C696E65204E756D626534 -:10293000722B312C204C617374204C696E653A20E7 -:10294000004C696E65204E756D626572206973205A -:102950006E6F74204C617374204C696E65204E75E7 -:102960006D6265722B312C204C617374204C696E42 -:10297000653A20004C696E65204E756D6265722067 -:102980006973206E6F74204C617374204C696E659E -:10299000204E756D6265722B312C204C6173742052 -:1029A0004C696E653A2000446F6E652073617669EC -:1029B0006E672066696C652E00446F6E65207361DA -:1029C00076696E672066696C652E00446F6E6520BF -:1029D000736176696E672066696C652E00446F6E60 -:1029E0006520736176696E672066696C652E0044A8 -:1029F0006F6E6520736176696E672066696C652EFF -:102A0000006F6B006F6B006F6B006F6B006F6B0084 -:102A10002020506C616E6E6572427566666572420A -:102A2000797465733A20002020506C616E6E657277 -:102A300042756666657242797465733A200020209B -:102A4000506C616E6E65724275666665724279742D -:102A500065733A20002020506C616E6E657242757D -:102A60006666657242797465733A20002020506C66 -:102A7000616E6E65724275666665724279746573E1 -:102A80003A20002046726565204D656D6F72793A77 -:102A900020002046726565204D656D6F72793A2081 -:102AA000002046726565204D656D6F72793A200091 -:102AB0002046726565204D656D6F72793A20002061 -:102AC00046726565204D656D6F72793A2000204C25 -:102AD00061737420557064617465643A2000204C01 -:102AE00061737420557064617465643A2000204CF1 -:102AF00061737420557064617465643A2000204CE1 -:102B000061737420557064617465643A2000204CD0 -:102B100061737420557064617465643A2000207C90 -:102B200020417574686F723A2000207C20417574D2 -:102B3000686F723A2000207C20417574686F723A89 -:102B40002000207C20417574686F723A2000207C40 -:102B500020417574686F723A200020536F66747755 -:102B60006172652052657365740020536F667477D7 -:102B70006172652052657365740020536F667477C7 -:102B80006172652052657365740020536F667477B7 -:102B90006172652052657365740020536F667477A7 -:102BA00061726520526573657400205761746368B3 -:102BB000646F6720526573657400205761746368A1 -:102BC000646F672052657365740020576174636891 -:102BD000646F672052657365740020576174636881 -:102BE000646F672052657365740020576174636871 -:102BF000646F67205265736574002042726F776E50 -:102C0000206F7574205265736574002042726F776F -:102C10006E206F7574205265736574002042726F68 -:102C2000776E206F75742052657365740020427250 -:102C30006F776E206F757420526573657400204243 -:102C4000726F776E206F7574205265736574002003 -:102C500045787465726E616C2052657365740020EE -:102C600045787465726E616C2052657365740020DE -:102C700045787465726E616C2052657365740020CE -:102C800045787465726E616C2052657365740020BE -:102C900045787465726E616C20526573657400507E -:102CA0006F776572557000506F7765725570005080 -:102CB0006F776572557000506F7765725570005070 -:102CC0006F776572557000656E717565696E672006 -:102CD0002200656E717565696E67202200656E71F0 -:102CE0007565696E67202200656E717565696E672E -:102CF000202200656E717565696E6720220077700D -:102D0000726F772E207A6D69616E0070617261203A -:102D1000746F6D61722065666563746F0020706505 -:102D200072206D6F73747261726520692063616DCA -:102D3000622E002070726F2070726F6A6576656E09 -:102D400069207A6D656E0020666F722074616B6514 -:102D500020656666656374005265737461727420E1 -:102D60006472756B61726B69005265696E69636943 -:102D70006172206C6120696D702E005269617676F7 -:102D8000696F206C61207374616D702E00526573E1 -:102D900074617274756A7465207469736B61726EA4 -:102DA00075005265626F6F74207468652070726977 -:102DB0006E746572004D6F64205B77207779646173 -:102DC0006A6E6F73635D004D6F646F205B6D61733E -:102DD00020667565727A615D004D6F646F205B706F -:102DE000697520666F727A615D004D6F6420205BAB -:102DF0007679732E2076796B6F6E5D004D6F64650A -:102E0000205B6869676820706F7765725D004D6F41 -:102E100064202020202020205B63696368795D00A6 -:102E20004D6F646F20202020205B73696C656E639A -:102E3000696F5D004D6F646F20202020205B7369F7 -:102E40006C656E7A696F736F5D004D6F6420202032 -:102E5000202020205B74696368795D004D6F646594 -:102E600020202020205B73696C656E745D005779AB -:102E70006D69616E612066696C616D656E74750067 -:102E800043616D6269616E646F2066696C2E21001A -:102E90004D757465766F6C652066696C2E210056E1 -:102EA000796D656E612066696C616D656E74752102 -:102EB000004368616E67696E672066696C616D6565 -:102EC0006E7421005770726F7761647A2066696C46 -:102ED000616D656E7400496E736572746120666918 -:102EE0006C616D656E746F00496E736572697265B1 -:102EF0002066696C616D656E746F00566C6F7A74D4 -:102F0000652066696C616D656E7400496E736572EB -:102F1000742066696C616D656E74004E61636973DF -:102F20006E696A2070727A796369736B00592070D8 -:102F3000756C736520656C206D616E646F0059203F -:102F400070756C736520656C206D616E646F0041F7 -:102F500020737469736B6E65746520746C6163694A -:102F6000746B6F00416E64207072657373207468B7 -:102F700065206B6E6F620057796D69616E61206FBD -:102F80006B210043616D62696172206269656E2127 -:102F90000043616D6269612E2072697573636974A3 -:102FA0006F21005A6D656E612075737065736E6177 -:102FB00021004368616E6765207375636365737391 -:102FC0002100437A79737A637A2E206B6F6C6F726B -:102FD000750043617267616E646F20636F6C6F721E -:102FE0000043617267616E646F20636F6C6F720083 -:102FF00043697374656E69206261727679004C6F03 -:103000006164696E6720636F6C6F720050726F73DA -:103010007A6520637A656B616300457370657261E0 -:1030200000417370657474610050726F73696D2034 -:1030300063656B656A746500506C656173652077C4 -:10304000616974005770726F772E2066696C616DCC -:10305000656E74750043617267616E646F206669A6 -:103060006C2E0043617267616E646F2066696C2E1E -:10307000005A61766164656E692066696C616D6590 -:103080006E7475004C6F6164696E672066696C616F -:103090006D656E74004B6F6C6F72207A616E69653E -:1030A000637A79737A2E00436F6C6F72206E6F2093 -:1030B000636C61726F00436F6C6F72206E6F206380 -:1030C0006C61726F004261727661206E656E69207C -:1030D000636973746100436F6C6F72206E6F74204C -:1030E000636C656172004272616B2066696C616D30 -:1030F000656E74750046696C2E206E6F2063617278 -:103100006761646F0046696C2E206E6F2063617288 -:103110006761646F0046696C616D656E74206E65F1 -:103120007A61766564656E0046696C616D656E7482 -:10313000206E6F74206C6F61646564004E69650079 -:103140004E6F004E6F004E65004E6F0054616B0075 -:10315000536900536900416E6F00596573005779D8 -:103160006D69616E61206F6B3F0043616D626961E3 -:10317000646F20636F727265632E3F0043616D62FE -:103180006961746F20636F72722E3F0056796D65AE -:103190006E61206F6B3F004368616E6765642063FA -:1031A0006F72726563746C793F00506F6D6F63006E -:1031B000537570706F727400537570706F72740015 -:1031C000506F64706F726100537570706F7274002D -:1031D0004E6167727A656A206479737A652100505E -:1031E000726563616C2E206578747275736F7221DD -:1031F000005072657269732E207567656C6C6F2163 -:103200000050726564656872656A746520747279CD -:10321000736B752100507265686561742074686510 -:10322000206E6F7A7A6C652100424C41443A004529 -:1032300052524F523A004552524F523A0043485967 -:1032400042413A004552524F523A005265637472FD -:1032500061637400526563747261637400526563E4 -:1032600074726163740052656374726163740052B6 -:1032700065637472616374005770726F7761647A0A -:103280002066696C616D656E7400496E74726F645E -:10329000756369722066696C616D656E746F004359 -:1032A000617269636172652066696C616D656E74D7 -:1032B0006F005A61766573742066696C616D656E26 -:1032C00074004C6F61642066696C616D656E74009A -:1032D00057796A61632066696C616D656E7400532D -:1032E000616361722066696C616D656E746F005315 -:1032F00063617269636172652066696C2E0056793C -:103300006A6D6F75742066696C616D656E740055C9 -:103310006E6C6F61642066696C616D656E740047E8 -:10332000727A616E69650050726563616C656E7476 -:1033300061720050726572697363616C6461005000 -:10334000726564656872657600507265686561745F -:1033500000557374617769656E696100416A7573C0 -:10336000746500496D706F7374617A696F6E69007E -:103370004E6173746176656E690053657474696E2D -:103380006773004B616C69627261636A61204F4BC5 -:103390000043616C696272616369C383C692C382D0 -:1033A000C2B36E204F4B0043616C696272617475E9 -:1033B0007261204F4B004B616C69627261636520E2 -:1033C0004F4B0043616C6962726174696F6E206477 -:1033D0006F6E65004B616C696272756A65205A0098 -:1033E00043616C696272616E646F205A0043616C64 -:1033F000696272616E646F205A004B616C6962721F -:10340000756A69205A0043616C6962726174696E01 -:1034100067205A004B616C696272756A205A0043DA -:10342000616C6962726172205A0043616C696272F8 -:1034300061205A004B616C6962726F766174205A28 -:103440000043616C696272617465205A005679624A -:10345000657274652076797469736B00567962655C -:103460007274652076797469736B0056796265723F -:1034700074652076797469736B005679626572742D -:10348000652076797469736B005069636B20707284 -:10349000696E74004175746F646F7374726F6963E1 -:1034A000205A3F004175746F204D6963726F7061DF -:1034B000736F205A3F004175746F207265676F6C9F -:1034C000617265205A203F004175746F20646F6CF3 -:1034D00061646974205A203F004175746F206164F3 -:1034E0006A757374205A203F00456E6473746F7060 -:1034F0002061626F727400456E6473746F70206136 -:10350000626F727400456E6473746F702061626FD5 -:10351000727400456E6473746F702061626F7274B0 -:1035200000456E6473746F702061626F7274004442 -:103530006F7374726F6A656E6965206F7379205A54 -:10354000004D6963726F7061736F205A004261624F -:103550007973746570205A00446F6C6164656E699C -:10356000206F7379205A004C6976652061646A7512 -:103570007374205A00426162797374657020590037 -:103580004261627973746570205900426162797397 -:1035900074657020590042616279737465702059B6 -:1035A00000426162797374657020590042616279EA -:1035B000737465702058004261627973746570207D -:1035C00058004261627973746570205800426162EC -:1035D0007973746570205800426162797374657004 -:1035E0002058005A204F6666736574005A204F6653 -:1035F00066736574005A204F6666736574005A20BE -:103600004F6666736574005A204F66667365740072 -:10361000486F6D6520582F59206265666F7265206E -:103620005A00486F6D6520582F59206265666F7289 -:1036300065205A00486F6D6520582F5920626566D5 -:103640006F7265205A00486F6D6520582F592062AF -:1036500065666F7265205A00486F6D6520582F5956 -:10366000206265666F7265205A005A2070726F6220 -:1036700065206F75742E20626564005A2070726F29 -:103680006265206F75742E20626564005A20707226 -:103690006F6265206F75742E20626564005A207019 -:1036A000726F6265206F75742E20626564005A2007 -:1036B00070726F6265206F75742E206265640056AB -:1036C000796D656E6974205344004368616E676567 -:1036D0002053442063617264004368616E67652013 -:1036E000534420636172640056796D656E6974207D -:1036F0005344004368616E676520534420636172E0 -:103700006400496E69632E20534400496E69742E2B -:10371000205344206361726400496E69742E205303 -:1037200044206361726400496E69632E2053440033 -:10373000496E69742E205344206361726400577986 -:103740006D69656E69632066696C616D656E740094 -:1037500043616D626961722066696C616D656E744A -:103760006F0043616D62696172652066696C616DAD -:10377000656E746F0056796D656E69742066696C4C -:10378000616D656E74004368616E67652066696C83 -:10379000616D656E74004175746F526574722E00B0 -:1037A0004175746F526574722E004175746F526565 -:1037B00074722E004175746F526574722E004175DB -:1037C000746F526574722E00556E526574202056C7 -:1037D00000556E52657420205600556E5265742057 -:1037E000205600556E52657420205600556E526565 -:1037F00074202056005320556E5265742B6D6D0059 -:103800005320556E5265742B6D6D005320556E52CA -:1038100065742B6D6D005320556E5265742B6D6D64 -:10382000005320556E5265742B6D6D00556E5265B8 -:1038300074202B6D6D00556E526574202B6D6D00DC -:10384000556E526574202B6D6D00556E5265742057 -:103850002B6D6D00556E526574202B6D6D00486F99 -:1038600070206D6D00486F70206D6D00486F702086 -:103870006D6D00486F70206D6D00486F70206D6D2C -:103880000052657472616374202056005265747230 -:103890006163742020560052657472616374202045 -:1038A000560052657472616374202056005265742C -:1038B0007261637420205600537761702052652E28 -:1038C0006D6D00537761702052652E6D6D005377DA -:1038D00061702052652E6D6D0053776170205265C6 -:1038E0002E6D6D00537761702052652E6D6D005204 -:1038F000657472616374206D6D00526574726163EA -:1039000074206D6D0052657472616374206D6D007A -:1039100052657472616374206D6D005265747261DA -:103920006374206D6D0053544F505045442E200059 -:103930005041524144410041525245535441544F29 -:10394000200053544F505045442E200053544F50A4 -:103950005045442E20004B494C4C45442E200050ED -:10396000415241444120444520454D4552472E0097 -:1039700055434349534F20004B494C4C45442E205E -:10398000004B494C4C45442E20004E6F206D6F7605 -:10399000652E0053696E206D6F76696D69656E7472 -:1039A0006F004E657373756E204D6F76696D656E31 -:1039B000746F004E6F206D6F76652E004E6F206D18 -:1039C0006F76652E004472756B2070727A6572771F -:1039D000616E79005072696E742061626F727465F5 -:1039E00064005374616D70612061626F72746974F8 -:1039F00061005469736B20707265727573656E0037 -:103A00005072696E742061626F7274656400577AD7 -:103A10006E6F7769656E6965206472756B750052AB -:103A20006573756D69656E646F20696D7072652E62 -:103A30000052697072656E6469205374616D7061C3 -:103A4000004F626E6F76656E69207469736B7500E6 -:103A5000526573756D696E67207072696E74005778 -:103A600061697420666F7220757365722E2E2E0048 -:103A70004573706572616E646F206F7264656E6508 -:103A80007300417474656E6469205574656E746565 -:103A90002E2E2E005761697420666F722075736533 -:103AA000722E2E2E005761697420666F7220757316 -:103AB00065722E2E2E00536C6565702E2E2E0052D0 -:103AC00065706F736F2E2E2E00536F7370656E735B -:103AD000696F6E652E2E2E00536C6565702E2E2E2E -:103AE00000536C6565702E2E2E004272616B206B48 -:103AF00061727479205344004E6F2068617920749C -:103B000061726A657461205344004E6F20534420F3 -:103B10004361727461005A61646E61205344206B8A -:103B200061727461004E6F205344206361726400BF -:103B30004472756B207A205344004D656E75206485 -:103B400065205344004D656E7520534420436172D7 -:103B50007461005469736B207A2053440050726979 -:103B60006E742066726F6D205344005A6174727ACD -:103B7000796D6163206472756B00446574656E6570 -:103B80007220696D70726573696F6E004172726543 -:103B9000737461207374616D7061005A6173746134 -:103BA000766974207469736B0053746F702070723F -:103BB000696E74004B6F6E74796E756F7761630018 -:103BC0005265616E7564617220696D707265732EE5 -:103BD0000052697072656E6469207374616D706102 -:103BE00000506F6B7261636F76617400526573751C -:103BF0006D65207072696E740050727A65727761BB -:103C000063206472756B0050617573617220696D19 -:103C100070726573696F6E00506175736100506FEB -:103C20007A61737461766974207469736B00506192 -:103C3000757365207072696E74004E617374726F73 -:103C4000696300416A7573746172004164617474E0 -:103C500061004C616469740054756E65005072694E -:103C600070726176610050726570617265005072A9 -:103C700065706172650050726970726176610050A2 -:103C800072657061726500496E666F726D61636A1C -:103C900065004D6F6E69746F72697A617200477565 -:103CA0006172646100496E666F726D61636500499F -:103CB0006E666F2073637265656E004F626E6F761D -:103CC0006974005265667265736800526566726554 -:103CD0007368004F626E6F76697400526566726534 -:103CE0007368004F626E6F76697420767963686FCF -:103CF0007A6900526573746F7265206661696C73CE -:103D000061666500526573746F7265206661696CE7 -:103D100073616665004F626E6F76697420767963B1 -:103D2000686F7A6900526573746F726520666169A5 -:103D30006C7361666500556C6F7A69742070616D93 -:103D40006574004C6F6164206D656D6F7279004C15 -:103D50006F6164206D656D6F727900556C6F7A6963 -:103D6000742070616D6574004C6F6164206D656DC9 -:103D70006F72790053746F7265206D656D6F727923 -:103D80000053746F7265206D656D6F7279005374A6 -:103D90006F7265206D656D6F72790053746F726517 -:103DA000206D656D6F72790053746F7265206D655B -:103DB0006D6F7279004C434420636F6E747261734F -:103DC00074004C434420636F6E7472617374004CD2 -:103DD000434420636F6E7472617374004C434420DB -:103DE000636F6E7472617374004C434420636F6E32 -:103DF00074726173740046696C2E204469612E20D0 -:103E0000330046696C2E204469612E2033004669D8 -:103E10006C2E204469612E20330046696C2E2044AC -:103E200069612E20330046696C2E204469612E2082 -:103E3000330046696C2E204469612E2032004669A9 -:103E40006C2E204469612E20320046696C2E20447D -:103E500069612E20320046696C2E204469612E2053 -:103E6000320046696C2E204469612E20320046697A -:103E70006C2E204469612E20310046696C2E20444E -:103E800069612E20310046696C2E204469612E2024 -:103E9000310046696C2E204469612E20310046694C -:103EA0006C2E204469612E2031004520696E206D02 -:103EB0006D33004520696E206D6D33004520696EBD -:103EC000206D6D33004520696E206D6D33004520F7 -:103ED000696E206D6D330046696C616D656E7400AE -:103EE00046696C616D656E740046696C616D656EE6 -:103EF000740046696C616D656E740046696C616D35 -:103F0000656E7400506F687962004D6F74696F6EF2 -:103F1000004D6F74696F6E00506F687962004D6F6D -:103F200074696F6E0054656D70657261747572614D -:103F30000054656D70657261747572610054656DD1 -:103F40007065726174757261005465706C6F746134 -:103F50000054656D706572617475726500457374A7 -:103F60006570732F6D6D004573746570732F6D6D83 -:103F7000004573746570732F6D6D004573746570C3 -:103F8000732F6D6D004573746570732F6D6D005ADE -:103F900073746570732F6D6D005A73746570732F31 -:103FA0006D6D005A73746570732F6D6D005A737464 -:103FB0006570732F6D6D005A73746570732F6D6D1E -:103FC000005973746570732F6D6D0059737465704B -:103FD000732F6D6D005973746570732F6D6D00597B -:103FE00073746570732F6D6D005973746570732FE2 -:103FF0006D6D005873746570732F6D6D0058737418 -:104000006570732F6D6D005873746570732F6D6DCF -:10401000005873746570732F6D6D005873746570FC -:10402000732F6D6D00412D72657472616374004170 -:104030002D7265747261637400412D7265747261D2 -:10404000637400412D7265747261637400412D7256 -:1040500065747261637400416D61782000416D6127 -:10406000782000416D61782000416D617820004129 -:104070006D617820005654726176206D696E00562D -:1040800054726176206D696E005654726176206DAF -:10409000696E005654726176206D696E00565472D6 -:1040A0006176206D696E00566D696E00566D696EA1 -:1040B00000566D696E00566D696E00566D696E0032 -:1040C000650065006500650065007A007A007A0089 -:1040D0007A007A0079007900790079007900780017 -:1040E0007800780078007800566D61782000566D71 -:1040F00061782000566D61782000566D617820004F -:10410000566D6178200056652D6A65726B005665A4 -:104110002D6A65726B0056652D6A65726B00566577 -:104120002D6A65726B0056652D6A65726B00567A52 -:104130002D6A65726B00567A2D6A65726B00567A2D -:104140002D6A65726B00567A2D6A65726B00567A1D -:104150002D6A65726B005678792D6A65726B005610 -:1041600078792D6A65726B005678792D6A65726B65 -:10417000005678792D6A65726B005678792D6A65DC -:10418000726B00416363656C00416363656C004161 -:104190006363656C00416363656C00416363656CD8 -:1041A000005049442D43005049442D430050494498 -:1041B0002D43005049442D43005049442D430050A5 -:1041C00049442D44005049442D44005049442D4455 -:1041D000005049442D44005049442D440050494466 -:1041E0002D49005049442D49005049442D49005063 -:1041F00049442D49005049442D49005049442D500F -:10420000005049442D50005049442D50005049441D -:104210002D50005049442D50004F6666004F666691 -:10422000004F6666004F6666004F6666004F6E2060 -:10423000004F6E20004F6E20004F6E20004F6E200A -:10424000004175746F74656D70004175746F7465AD -:104250006D70004175746F74656D70004175746F99 -:1042600074656D70004175746F74656D7000200227 -:1042700020466163740020022046616374002002BE -:1042800020466163740020022046616374002002AE -:104290002046616374002002204D617800200220D6 -:1042A0004D6178002002204D6178002002204D6190 -:1042B00078002002204D6178002002204D696E00B8 -:1042C0002002204D696E002002204D696E00200200 -:1042D000204D696E002002204D696E004B6F6E7498 -:1042E000726F6C6100436F6E74726F6C00436F6E1F -:1042F00074726F6C004B6F6E74726F6C6100436F01 -:104300006E74726F6C00507275746F6B2032004661 -:104310006C6F77203200466C6F77203200507275D8 -:10432000746F6B203200466C6F77203200507275CC -:10433000746F6B203100466C6F77203100466C6FD4 -:1043400077203100507275746F6B203100466C6FAE -:1043500077203100507275746F6B203000466C6F9F -:1043600077203000466C6F77203000507275746F84 -:104370006B203000466C6F7720300050727A657089 -:104380006C797700466C756A6F00466C7573736F55 -:1043900000507275746F6B00466C6F7700507265D9 -:1043A000646B6F73632077656E742E0056656E7450 -:1043B000696C61646F720056656E746F6C61005257 -:1043C0007963686C6F73742076656E742E00466135 -:1043D0006E2073706565640053746F6C696B004286 -:1043E0006173650050696174746F004265640042D6 -:1043F000656400547279736B6133004E6F7A7A6C26 -:104400006533004E6F7A7A6C653300547279736B42 -:104410006133004E6F7A7A6C653300547279736B36 -:104420006132004E6F7A7A6C6532004E6F7A7A6C28 -:10443000653200547279736B6132004E6F7A7A6C18 -:104440006532004479737A61004675736F72005566 -:1044500067656C6C6F00547279736B61004E6F7A94 -:104460007A6C6500507265646B6F73630056656C9F -:104470006F63696461640056656C636974C383C665 -:1044800092C386E28099C383E2809AC382C2A0006D -:10449000527963686C6F7374005370656564005083 -:1044A0006F73756E6F7574206F2031306D6D004DB8 -:1044B0006F76652031306D6D004D6F76652031303F -:1044C0006D6D00506F73756E6F7574206F20313095 -:1044D0006D6D004D6F76652031306D6D00506F73DE -:1044E000756E6F7574206F20316D6D004D6F766540 -:1044F00020316D6D004D6F766520316D6D00506F10 -:1045000073756E6F7574206F20316D6D004D6F7611 -:104510006520316D6D00506F73756E6F7574206F0F -:1045200020302E316D6D004D6F766520302E316D4F -:104530006D004D6F766520302E316D6D00506F73BC -:10454000756E6F7574206F20302E316D6D004D6F5C -:10455000766520302E316D6D004578747275646516 -:1045600072330045787472756465723300457874EF -:104570007275646572330045787472756465723360 -:10458000004578747275646572330045787472758D -:1045900064657232004578747275646572320045E4 -:1045A00078747275646572320045787472756465EA -:1045B00072320045787472756465723200457874A1 -:1045C0007275646572004578747275736F72004518 -:1045D00073747275736F7265004578747275646573 -:1045E000720045787472756465720050727A6573F2 -:1045F000756E6163205A004D6F766572205A004DCA -:10460000756F7669205A00506F73756E6F757420E0 -:104610005A004D6F7665205A0050727A6573756E38 -:1046200061632059004D6F7665722059004D756F9A -:104630007669205900506F73756E6F75742059003C -:104640004D6F766520590050727A6573756E61639F -:104650002058004D6F7665722058004D756F766951 -:10466000205800506F73756E6F75742058004D6F31 -:10467000766520580052756368206F7369004D6F2E -:1046800076657220656A6573004D756F76692041A5 -:1046900073736500506F73756E6F7574206F7375EB -:1046A000004D6F76652061786973005265747261A0 -:1046B0006374005265747261637400526574726150 -:1046C0006374005265747261637400526574726140 -:1046D0006374004578747275646F76617400457810 -:1046E0007472756465004578747275646500457808 -:1046F000747275646F766174004578747275646560 -:10470000005A61706E6F7574207A64726F6A00531C -:10471000776974636820706F776572206F666600D2 -:1047200053776974636820706F776572206F66666F -:10473000005A61706E6F7574207A64726F6A0053EC -:10474000776974636820706F776572206F666600A2 -:104750005679706E6F7574207A64726F6A00537741 -:104760006974636820706F776572206F6E0053778D -:104770006974636820706F776572206F6E00567978 -:10478000706E6F7574207A64726F6A005377697403 -:10479000636820706F776572206F6E005779636869 -:1047A0006C6F647A696300456E667269617200526B -:1047B0006166667265646461005A63686C6164690D -:1047C0007400436F6F6C646F776E00507265646540 -:1047D000687265762041425320636F6E66005072A6 -:1047E00065686561742041425320636F6E660050B6 -:1047F0007265686561742041425320636F6E660084 -:104800005072656465687265762041425320636F1B -:104810006E66005072656865617420414253206382 -:104820006F6E6600507265646568726576204142FD -:10483000532042656400507265686561742041428E -:10484000532042656400507265686561742041427E -:104850005320426564005072656465687265762015 -:10486000414253204265640050726568656174205E -:104870004142532042656400507265646568726508 -:10488000762041425320416C6C005072656865612E -:10489000742041425320416C6C0050726568656120 -:1048A000742041425320416C6C005072656465680D -:1048B0007265762041425320416C6C0050726568ED -:1048C0006561742041425320416C6C0050726564F4 -:1048D00065687265762041425320330050726568E6 -:1048E00065617420414253203300507265686561F0 -:1048F00074204142532033005072656465687265CC -:1049000076204142532033005072656865617420FF -:1049100041425320330050726564656872657620A9 -:1049200041425320320050726568656174204142F3 -:1049300053203200507265686561742041425320F3 -:10494000320050726564656872657620414253207A -:104950003200507265686561742041425320320014 -:10496000507265646568726576204142532031005B -:104970005072656865617420414253203100507265 -:10498000656865617420414253203100507265644E -:104990006568726576204142532031005072656827 -:1049A000656174204142532031005072656465682E -:1049B00072657620414253005072656865617420CB -:1049C0004142530050726568656174204142530052 -:1049D000507265646568726576204142530050727A -:1049E0006568656174204142530050726564656872 -:1049F00072657620504C4120636F6E660050726580 -:104A00006865617420504C4120636F6E660050727F -:104A1000656865617420504C4120636F6E6600507C -:104A2000726564656872657620504C4120636F6ED4 -:104A300066005072656865617420504C4120636F58 -:104A40006E660050726564656872657620504C41F0 -:104A500020426564005072656865617420504C4165 -:104A600020426564005072656865617420504C4155 -:104A700020426564005072656465687265762050F6 -:104A80004C41204265640050726568656174205035 -:104A90004C412042656400507265646568726576B9 -:104AA00020504C4120416C6C005072656865617407 -:104AB00020504C4120416C6C0050726568656174F7 -:104AC00020504C4120416C6C0050726564656872E6 -:104AD000657620504C4120416C6C005072656865D1 -:104AE000617420504C4120416C6C005072656465CB -:104AF0006872657620504C412033005072656865BD -:104B0000617420504C4120330050726568656174B7 -:104B100020504C41203300507265646568726576A0 -:104B200020504C41203300507265686561742050FC -:104B30004C41203300507265646568726576205080 -:104B40004C412032005072656865617420504C41C0 -:104B50002032005072656865617420504C412032EB -:104B60000050726564656872657620504C41203251 -:104B7000005072656865617420504C4120320050CD -:104B8000726564656872657620504C412031005032 -:104B900072656865617420504C4120310050726527 -:104BA0006865617420504C41203100507265646525 -:104BB0006872657620504C412031005072656865FE -:104BC000617420504C4120310050726564656872F8 -:104BD000657620504C4100507265686561742050C4 -:104BE0004C41005072656865617420504C41005022 -:104BF000726564656872657620504C41005072653C -:104C00006865617420504C41004E61737461762078 -:104C1000706F636174656B00536574206F726967B0 -:104C2000696E00536574206F726967696E004E612A -:104C30007374617620706F636174656B0053657483 -:104C4000206F726967696E004E61737461762070BF -:104C50006F636174656B20686F6D650053657420C8 -:104C6000686F6D65206F6666736574730053657455 -:104C700020686F6D65206F666673657473004E61A2 -:104C80007374617620706F636174656B20686F6DFB -:104C9000650053657420686F6D65206F6666736587 -:104CA0007473004175746F20686F6D65004C6C659E -:104CB00076617220616C206F726967656E00417564 -:104CC000746F20486F6D65004175746F20686F6D5B -:104CD00065004175746F20686F6D650057796C6170 -:104CE000637A79632073696C6E696B6900417061E6 -:104CF000676172206D6F746F7265730044697361D0 -:104D000062696C697461204D6F746F7269005679C5 -:104D1000706E6F7574206D6F746F72790044697373 -:104D200061626C65207374657070657273004175A3 -:104D3000746F7374617274004175746F737461720F -:104D400074004175746F7374617274004175746F8F -:104D50007374617274004175746F7374617274005E -:104D60004D656E7520676C6F776E65004D656E756D -:104D7000207072696E636970616C004D656E75209C -:104D80007072696E636970616C6500486C61766E03 -:104D900069206E616269646B61004D61696E004BF0 -:104DA000617274612077796A657461005461726A16 -:104DB0006574612072657469726164610053442096 -:104DC000436172642072696D6F737361004B61722D -:104DD00074612076796A6D75746100436172642034 -:104DE00072656D6F766564004B6172746120776CDB -:104DF0006F7A6F6E61005461726A65746120636FCF -:104E00006C6F636164610053442043617264206984 -:104E10006E736572697461004B6172746120766CA7 -:104E20006F7A656E61004361726420696E736572AA -:104E300074656400507275736120693320676F7404 -:104E40006F7761005072757361206933206C6973EC -:104E500074610050727573612069332070726F6ED7 -:104E6000746F2E005072757361206933206F6B0070 -:104E700050727573612069332072656164792E0008 -:104E80004D383420582059205A2045004D323400E6 -:104E90004D3233202573006175746F25692E6700CC -:104EA0000A002F000A002E0044656C6574696F6E5D -:104EB000206661696C65642C2046696C653A200047 -:104EC00046696C652064656C657465643A002E0003 -:104ED0002E002E002E004E6F7720667265736820BC -:104EE00066696C653A20004E6F7720646F696E6763 -:104EF0002066696C653A20002220706F73002220C2 -:104F0000706172656E743A2200535542524F555487 -:104F1000494E452043414C4C207461726765743A98 -:104F20002200747279696E6720746F2063616C6C03 -:104F3000207375622D67636F64652066696C6573A5 -:104F4000207769746820746F6F206D616E79206CB2 -:104F50006576656C732E204D4158206C6576656CC6 -:104F60002069733A0000002110422063308440A57C -:104F700050C660E770088129914AA16BB18CC1AD20 -:104F8000D1CEE1EFF13112100273325222B55294B8 -:104F900042F772D662399318837BB35AA3BDD39C70 -:104FA000C3FFF3DEE36224433420040114E664C744 -:104FB00074A44485546AA54BB528850995EEE5CFC0 -:104FC000F5ACC58DD55336722611163006D776F658 -:104FD000669556B4465BB77AA719973887DFF7FE10 -:104FE000E79DD7BCC7C448E5588668A778400861E4 -:104FF0001802282338CCC9EDD98EE9AFF948896960 -:10500000990AA92BB9F55AD44AB77A966A711A50F7 -:105010000A333A122AFDDBDCCBBFFB9EEB799B58AF -:105020008B3BBB1AABA66C877CE44CC55C222C0383 -:105030003C600C411CAEED8FFDECCDCDDD2AAD0BFF -:10504000BD688D499D977EB66ED55EF44E133E3297 -:105050002E511E700E9FFFBEEFDDDFFCCF1BBF3A4F -:10506000AF599F788F8891A981CAB1EBA10CD12D3E -:10507000C14EF16FE18010A100C230E32004502541 -:105080004046706760B9839893FBA3DAB33DC31CB5 -:10509000D37FE35EF3B1029012F322D23235421491 -:1050A0005277625672EAB5CBA5A89589856EF54F01 -:1050B000E52CD50DC5E234C324A0148104667447E1 -:1050C0006424540544DBA7FAB79987B8975FE77E55 -:1050D000F71DC73CD7D326F2369106B01657667631 -:1050E00076154634564CD96DC90EF92FE9C899E9A1 -:1050F000898AB9ABA94458654806782768C018E181 -:10510000088238A3287DCB5CDB3FEB1EFBF98BD8F4 -:105110009BBBAB9ABB754A545A376A167AF10AD0D0 -:105120001AB32A923A2EFD0FED6CDD4DCDAABD8B40 -:10513000ADE89DC98D267C076C645C454CA23C8320 -:105140002CE01CC10C1FEF3EFF5DCF7CDF9BAFBA94 -:10515000BFD98FF89F176E367E554E745E932EB270 -:105160003ED10EF01E22004D323230205325690010 -:10517000203A2000004C414E472053454C20464FDA -:1051800052434544002200205A3A0020593A002058 -:10519000453A00205A3A0020593A00583A00200077 -:1051A0002E0020423A0020453A00543A0020573A57 -:1051B0000020453A00543A002042403A0020403A4C -:1051C00000202F003A00205400202F0020423A00F7 -:1051D000202F006F6B20543A002569206D696E2CDA -:1051E0002025692073656300256920686F757273D7 -:1051F000202569206D696E75746573004D313130FD -:10520000004D3239004D6179203330203230313653 -:1052100000436F6D70696C65643A2000286E6F6E94 -:10522000652C2064656661756C7420636F6E6669B9 -:105230006729004D617920333020323031362031FA -:10524000363A32323A313800737461727400220097 -:105250002200FFFFFF0000A0400000A0400000006F -:105260004000005643000046431FC548430000006D -:1052700000000000001F856B3E0000564300004602 -:10528000430000494300000000000000001F856B40 -:105290003E6563686F3A004572726F723A0047313B -:1052A00020452D38302046343030004D383300470B -:1052B00031205A3135204631353030004739310000 -:1052C000473120583530205931383020453020467C -:1052D0003730303000473930004D3834004D3833E6 -:1052E00000473120453730204634303000473120E8 -:1052F0004534302046313030002E00202020202040 -:105300002020202020202020002D2D3A2D2D002D82 -:105310002D2D003E555342005344002D2D000120F9 -:10532000000120004D36303000464C4558202D20DD -:10533000203233302F35300050502020202D2020B7 -:105340003235342F3130300048495053202D202041 -:105350003232302F3130300050455420202D202063 -:105360003234302F393000504C4120202D20203253 -:1053700031302F35300041425320202D202032354E -:10538000352F313030004D3234004D32332025730B -:1053900000580059005A00457874727564657200AF -:1053A000473238004D383400473238205A004D61BA -:1053B00079203330203230313600446174653A2030 -:1053C000002D2D2D2D2D2D2D2D2D2D2D2D00453349 -:1053D00044763666756C6C0052414D426F313361D4 -:1053E00000315F37356D6D002D2D2D2D2D2D2D2D7F -:1053F0002D2D2D2D004669726D77617265202D204F -:10540000332E302E310048617264636F646564200E -:1054100044656661756C742053657474696E677356 -:10542000204C6F616465640046696C616D656E74E3 -:105430002073657474696E67733A2044697361629E -:105440006C6564002020204D3230302044004669D5 -:105450006C616D656E742073657474696E67733A00 -:10546000002020204D3230392053004175746F2DBB -:10547000526574726163743A20533D3020746F201A -:1054800064697361626C652C203120746F20696ED1 -:105490007465727072657420657874727564652DB8 -:1054A0006F6E6C79206D6F76657320617320726505 -:1054B000747261637473206F72207265636F7665B6 -:1054C00072696573002046002020204D323038205C -:1054D00053005265636F7665723A20533D45787488 -:1054E0007261206C656E67746820286D6D29204696 -:1054F0003A537065656420286D6D2F6D2900205A20 -:10550000002046002020204D3230372053005265C5 -:1055100074726163743A20533D4C656E6774682001 -:10552000286D6D2920463A537065656420286D6D9D -:105530002F6D29205A3A205A4C69667420286D6DC7 -:1055400029002044002049002020204D3330312004 -:1055500050005049442073657474696E67733A0053 -:10556000205A0020590020204D3230362058004863 -:105570006F6D65206F666673657420286D6D293ABE -:1055800000204500205A00205800204200205400EE -:1055900020204D323035205300416476616E6365C2 -:1055A00064207661726961626C65733A20533D4D87 -:1055B000696E20666565647261746520286D6D2F63 -:1055C00073292C20543D4D696E2074726176656C90 -:1055D00020666565647261746520286D6D2F73297E -:1055E0002C20423D6D696E696D756D207365676D28 -:1055F000656E742074696D6520286D73292C2058A0 -:105600003D6D6178696D756D205859206A65726BC2 -:1056100020286D6D2F73292C20205A3D6D617869EB -:105620006D756D205A206A65726B20286D6D2F7321 -:10563000292C2020453D6D6178696D756D204520D0 -:105640006A65726B20286D6D2F732900205400202D -:10565000204D323034205300416363656C657261C4 -:1056600074696F6E3A20533D616363656C65726166 -:1056700074696F6E2C20543D72657472616374207E -:10568000616363656C65726174696F6E00204500CB -:10569000205A0020590020204D3230312058004D32 -:1056A0006178696D756D20416363656C65726174C5 -:1056B000696F6E20286D6D2F7332293A00204500E6 -:1056C000205A0020590020204D3230332058004D00 -:1056D0006178696D756D2066656564726174657366 -:1056E00020286D6D2F73293A00204500205A002094 -:1056F000590020204D3932205800537465707320B2 -:1057000070657220756E69743A0045303A20005A0F -:105710003A2000593A2000583A20004D53312C4D80 -:1057200053322050696E730A005A00205A3A0059C9 -:105730000020593A00580020583A0024F4D4305040 -:10574000C38E20C2A24017828B7011127A910D81F4 -:105750006CD90AA861E108C7586607615143061E63 -:105760004B5D05C145A7041A411104093D98037119 -:105770003931034036DB0265339102D43054028064 -:105780002E1D02632CEE01752AC501B028A0011060 -:105790002781018F2564012B244B01E0223401ACC9 -:1057A000211F018D200D01801FFC00841EED00973C -:1057B0001DDF00B81CD200E61BC600201BBC006425 -:1057C0001AB200B219A8000A19A0006A189900D1EB -:1057D00017910040178B00B516840031167E00B378 -:1057E0001579003A157300C7146F0058146A00EE5B -:1057F0001366008813630025135E00C7125B006CFC -:1058000012570015125400C111510070114F0021A0 -:10581000114B00D61049008D10470046104400027D -:10582000104200C00F4000800F3E00420F3C0006B7 -:105830000F3B00CB0E3800930E37005C0E3500276F -:105840000E3400F30D3200C10D3100900D300060B8 -:105850000D2E00320D2D00050D2C00D90C2B00AEA5 -:105860000C2900850C29005C0C2700350C27000E44 -:105870000C2600E80B2400C40B2400A00B23007DA1 -:105880000B23005A0B2100390B2100180B2000F8C4 -:105890000A1F00D90A1E00BB0A1E009D0A1D0080B7 -:1058A0000A1D00630A1C00470A1B002C0A1B00117A -:1058B0000A1A00F7091A00DD091900C4091900AB1A -:1058C000091900920917007B091800630917004C99 -:1058D00009160036091600200916000A091500F5F8 -:1058E000081500E0081400CC081400B8081400A43F -:1058F000081400900813007D0812006B081300586C -:105900000812004608120034081100230811001282 -:1059100008110001081100F0071000E0071000D086 -:10592000071000C0071000B0070F00A1071000917A -:10593000070E0083070F0074070F0065070E00575E -:10594000070E0049070E003B070D002E070E002032 -:10595000070D0013070D0006070D00F9060C00EDFA -:10596000060D00E0060C00D4060C00C8060C00BCB6 -:10597000060C00B0060C00A4060B0099060C008D66 -:10598000060B0082060B0077060B006C060B00610D -:10599000060A0057060B004C060A0042060A0038A9 -:1059A000060A002E060A0024060A001A060A00103B -:1059B00006090007060A00FD050900F4050900EBC9 -:1059C000050900E2050900D9050900D0050900C74D -:1059D000050900BE050900B5050800AD050800A5CC -:1059E0000509009C050800940508008C0508008442 -:1059F0000508007C050800740508006C05070065B3 -:105A00000508005D050700560508004E050700471C -:105A10000507004005080038050700310507002A82 -:105A2000050700230507001C050600160507000FE3 -:105A30000507000805060002050700FB040600F53F -:105A4000040700EE040600E8040600E2040700DB99 -:105A5000040600D5040600CF040600C9040600C3EE -:105A6000040600BD040600B7040600B1040500AC3E -:105A7000040600A6040600A00405009B0406009589 -:105A8000040500900406008A0405008504050080D2 -:105A90000406007A04050075040500700405006B17 -:105AA00004050066040500610405005C0405005758 -:105AB000040500520405004D040500480405004398 -:105AC0000405003E0404003A0405003504050030D6 -:105AD0000404002C04050027040400230405001E10 -:105AE0000404001A04040016040500110404000D47 -:105AF000040400090405000404040000040400FC7C -:105B0000030400F8030400F4030400F0030400ECB1 -:105B1000030400E8030400E4030400E0030400DCE1 -:105B2000030400D8030400D4030400D0030400CC11 -:105B3000030400C8030300C503030024F404D920B0 -:105B40001BC40C5C0E9804C4095F0265077101F464 -:105B500005F900FB04B30048048700C1036900583D -:105B600003550003034500BE023A0084023100538E -:105B7000022A002902250004022000E4011C00C8BA -:105B8000011900AF0117009801140084011300717E -:105B90000110006101100051010E0043010D00369B -:105BA000010B002B010B0020010B00150109000C5B -:105BB00001090003010800FB000800F3000800EBE6 -:105BC000000700E4000600DE000600D8000600D250 -:105BD000000600CC000500C7000500C2000500BD9E -:105BE000000400B9000400B5000400B1000400ADD9 -:105BF000000400A9000400A5000300A20003009F08 -:105C00000004009B0003009800030095000200932D -:105C1000000300900003008D0002008B0003008849 -:105C20000002008600020084000300810002007F61 -:105C30000002007D0002007B000200790002007774 -:105C40000001007600020074000200720001007181 -:105C50000002006F0002006D0001006C0002006A8B -:105C60000001006900020067000100660001006594 -:105C70000001006400020062000100610001006098 -:105C80000001005F0002005D0001005C0001005B9C -:105C90000001005A0001005900010058000100579E -:105CA000000100560001005500010054000100539E -:105CB000000000530001005200010051000100509B -:105CC0000001004F0001004E0000004E0001004D99 -:105CD0000001004C0001004B0000004B0001004A95 -:105CE0000001004900010048000000480001004791 -:105CF000000100460000004600010045000000458C -:105D00000001004400010043000000430001004284 -:105D1000000000420001004100000041000100407D -:105D20000001003F0000003F0001003E0000003E77 -:105D30000001003D0000003D0001003C0000003C6F -:105D40000000003C0001003B0000003B0001003A65 -:105D50000000003A0001003900000039000100385D -:105D60000000003800000038000100370000003754 -:105D7000000100360000003600000036000100354A -:105D80000000003500000035000100340000003440 -:105D90000000003400010033000000330000003335 -:105DA000000100320000003200000032000100312A -:105DB0000000003100000031000100300000003020 -:105DC000000000300001002F0000002F0000002F15 -:105DD0000000002F0001002E0000002E0000002E09 -:105DE0000001002D0000002D0000002D0000002DFE -:105DF0000001002C0000002C0000002C0000002CF2 -:105E00000001002B0000002B0000002B0000002BE5 -:105E10000001002A0000002A0000002A0000002AD9 -:105E200000010029000000290000002900000029CD -:105E300000000029000100280000002800000028C0 -:105E400000000028000000280001002700000027B3 -:105E500000000027000000270000002700010026A6 -:105E6000000000260000002600000026000000269A -:105E7000000100250000002500000025000000258D -:105E8000000000250000002500010024000000247F -:105E90000000002400000024000000240001002372 -:105EA0000000002300000023000000230000002366 -:105EB0000000002300000023000100220000002257 -:105EC000000000220000002200000022000000224A -:105ED000000100210000002100000021000000213D -:105EE000000000210000002100000021000100202E -:105EF0000000002000000020000000200000002022 -:105F00000000002000000020000000200001001F11 -:105F10000000001F0000001F0000001F0000001F05 -:105F20000000001F0000001F0001001E0000001EF6 -:105F30000000001E0000001E0000000000090A0210 -:105F4000080B0C0D07060304010000000000000010 -:105F50000000000000000000000000000000000041 -:105F60000000000000000011100F00000000000001 -:105F70000000000000000000000000000000000021 -:105F80000000000000000000000000000000000011 -:105F9000000102102020080810204010204080023C -:105FA000010201080402010102040810204080805F -:105FB00040201008040201800402018040201008E3 -:105FC00004020108040201010204081020408001BB -:105FD00002040810204080100804088010204004AB -:105FE00040801020400480050505050705080808C5 -:105FF00008020202020A0A0808040404040101015A -:106000000101010101030303030303030304070761 -:10601000070C0C0C0C0C0C0C0C02020202060606FF -:1060200006060606060B0B0B0B0B0B0B0B07070AE2 -:106030000A0A0A0A0A0505050404040808000020E3 -:10604000002300260029002C002F00320000010050 -:106050000003010601090100002200250028002B91 -:10606000002E003100340002010000050108010B80 -:106070000100002100240027002A002D00300033F9 -:106080000001010000040107010A01024E414E49CE -:106090004E495459494E46CDCCCC3D0AD7233C17E6 -:1060A000B7D13877CC2B329595E6241FB14F0A0033 -:1060B0000020410000C84200401C4620BCBE4CCA23 -:1060C0001B0E5AAEC59D7400C08D5BAD45EDC48DF1 -:1060D00011241FBECFEFD1E2DEBFCDBF00E00CBF69 -:1060E0001EE0A0E0B2E0EEE4F8E002E00BBF02C088 -:1060F00007900D92AA3AB107D9F72EE1AAEABEE0BD -:1061000001C01D92AD31B207E1F710E6CEECD0E64A -:1061100000E006C022970109FE010BBF0E9474FB3C -:10612000C83CD10780E00807A9F70E9449F10D9407 -:1061300015040C940000CF93DF93EC019C012C5FBD -:106140003F4F41E050E060E070E0898D9A8D0E9401 -:106150003D3B882399F04D895E896F89788D452B69 -:10616000462B472B59F44C815D816E817F814D8B8D -:106170005E8B6F8B788F998190689983DF91CF9137 -:106180000895CF92DF92EF92FF920F931F93CF93D8 -:10619000DF93EC0189899A89AB89BC89803E9F4F46 -:1061A000AF41B10510F080E06BC0CE01C4DF8823A1 -:1061B000D1F30E945139182F8823A9F3E98DFA8D64 -:1061C000CC80DD80EE80FF8032E0C31AD108E10888 -:1061D000F108058404C0CC0CDD1CEE1CFF1C0A94E5 -:1061E000D2F786859785A089B189C80ED91EEA1E87 -:1061F000FB1E81E08093B00EC092B310D092B41019 -:10620000E092B510F092B61080E092E0E3EBFEE091 -:10621000DF019C011D9221503040E1F701E0E98D42 -:10622000FA8D8481081790F423EB3EE0B701A601B4 -:10623000400F511D611D711D8091B10E9091B20EE4 -:106240000E94A5608823E1F00F5FE9CFC12C82E0B6 -:10625000D82EE12CF12C058404C0CC0CDD1CEE1CE6 -:10626000FF1C0A94D2F749895A896B897C894C0DA5 -:106270005D1D6E1D7F1D498B5A8B6B8B7C8B812F17 -:10628000DF91CF911F910F91FF90EF90DF90CF9012 -:106290000895CF93DF93EC0141E0611101C040E02C -:1062A0006C857D858E859F850E949139882341F07C -:1062B000888920E2829FC00111248D54914F02C031 -:1062C00080E090E0DF91CF91089530E020E04EE251 -:1062D000DC015C91503271F0383029F4FB01E20F9F -:1062E000F11D40832F5FFB01E20FF11DDC015C918A -:1062F00050832F5F3F5F01963B3051F7FB01E20F68 -:10630000F11D10820895CF93DF93EB01FC012381EF -:10631000211102C080E00EC02250223020F48FE212 -:106320008883198206C060E0B4DF009799F3BE014C -:10633000CCDF81E0DF91CF910895FB012BE030E2CB -:1063400031932150E9F7DC0190E027E03A2FEB2F61 -:106350008D9181110AC0DA013C931196EC9381E092 -:10636000FB019081903239F525C08F32A1F38E3236 -:1063700019F0EAE8F1E008C02A30E1F098E02AE0FC -:10638000E5CF31963817B1F034913111FACF291792 -:1063900088F03FED380F3E3568F431E0390FFB01EE -:1063A000E90FF11D9FE9980F9A3108F4805280831C -:1063B000932FCCCF80E008950F931F93CF93DF935B -:1063C000EC018B018B81882311F080E042C0FB013E -:1063D0008789803139F18032C1F783E08B83F801FE -:1063E000428D538D648D758D4D8B5E8B6F8B788F49 -:1063F0009E012F5E3F4FC8010E94483A882329F32F -:106400001A8F098F81E089831C821D821E821F8260 -:10641000188619861A861B861C861D861E861F8670 -:10642000188A17C082E08B831D8A1E8A1F8A188EE5 -:10643000FB01408D518D60E070E095E0440F551FE9 -:10644000661F771F9A95D1F7498B5A8B6B8B7C8B84 -:10645000D7CFDF91CF911F910F9108952F923F9247 -:106460004F925F926F927F928F929F92AF92BF9264 -:10647000CF92DF92EF92FF920F931F93CF93DF9310 -:10648000EC015B016A018B81811103C08FEF9FEFEB -:10649000C7C0898180FFFACF49895A896B897C8975 -:1064A00088859985AA85BB852601612C712C8A0176 -:1064B0009B01081B190B2A0B3B0B40165106620669 -:1064C000730618F06A01C81AD90A76013E0124E061 -:1064D000620E711CE114F10409F476C048855985F7 -:1064E0006A857B854A0181E098222B811A012B0164 -:1064F000E9E05694479437942794EA95D1F7898D2B -:106500009A8DFC01223049F4628D738D848D958DB6 -:10651000620D731D841D951D3CC014811150122104 -:1065200081149104C1F4111116C0452B462B472B41 -:1065300049F48D899E89AF89B88D8C839D83AE8304 -:10654000BF8309C04C815D816E817F81930121D71A -:10655000882309F49BCFE98DFA8D6C817D818E8132 -:106560009F816250710981099109058404C0660FF9 -:10657000771F881F991F0A94D2F72685378540898F -:106580005189620F731F841F951F610F711D811D3B -:10659000911D20E032E02819390987012E153F05A9 -:1065A00008F489010115F2E01F0769F52091B31085 -:1065B0003091B4104091B5105091B6106217730726 -:1065C0008407950719F41FC0C6012AC09501AB01C5 -:1065D000BC018091B10E9091B20E0E943060882370 -:1065E00009F454CFA00EB11E88859985AA85BB8574 -:1065F000800F911FA11DB11D88879987AA87BB872E -:10660000E01AF10A67CF40E08CD6882309F43ECF28 -:10661000B4016D54714FA801C5010F94A500E2CFDC -:10662000DF91CF911F910F91FF90EF90DF90CF906E -:10663000BF90AF909F908F907F906F905F904F90A2 -:106640003F902F900895CF93DF931F92CDB7DEB781 -:1066500041E050E0BE016F5F7F4F00DF019719F40A -:10666000898190E002C08FEF9FEF0F90DF91CF9173 -:106670000895CF92DF92EF92FF920F931F93CF93E3 -:10668000DF936C01EB017A01FC018381823060F0C1 -:1066900000851185228533850F7111272227332725 -:1066A000012B022B032B11F08FEF5CC0411551051C -:1066B00011F0F70110821DE040E250E0BE01C6017A -:1066C000CDDE8032910539F021E0892B09F420E0FC -:1066D000822F819547C028812223C1F0253E61F396 -:1066E0002E3251F33B853F733F3061F4E114F104E6 -:1066F00049F04A8D5B8D452B29F42F713FEF320F06 -:10670000343030F02B8523FDD7CF2CC080E02AC059 -:1067100030E021503109129FC001139F900D1124C8 -:10672000F701E80FF91F298120832B8121832D8117 -:1067300022832F812383298524832E8525832889FD -:1067400026832A8927832C8920872E892187288DD3 -:1067500022872C8D23872E8D2487288126FFD2CF58 -:106760001586D0CFDF91CF911F910F91FF90EF90C1 -:10677000DF90CF9008951F93CF93DF93EC018B812F -:10678000823018F480E090E023C0488559856A85FE -:106790007B85A5E07695679557954795AA95D1F79E -:1067A000142F1F70CE014FDF97FDECCF4885598520 -:1067B0006A857B85415E5F4F6F4F7F4F4887598762 -:1067C0006A877B8720E2129FC00111248D54914F6C -:1067D000DF91CF911F9108954F925F926F927F92B8 -:1067E000AF92BF92CF92DF92EF92FF920F931F93DF -:1067F000CF93DF93EC016A017B012B81222349F0C7 -:1068000089899A89AB89BC8984179507A607B70738 -:1068100010F480E06BC0223009F463C0C114D104CD -:10682000E104F10449F41C821D821E821F82188635 -:1068300019861A861B8659C088859985AA85BB85C5 -:10684000E98DFA8DE585F0E03996AC01BD01415046 -:106850005109610971090E2E04C076956795579507 -:1068600047950A94D2F79701860101501109210931 -:10687000310904C03695279517950795EA95D2F703 -:10688000041715072607370720F0892B8A2B8B2B37 -:1068900049F48D899E89AF89B88D8C839D83AE83A1 -:1068A000BF8304C0041B150B260B370B28013901CD -:1068B0005E0184E0A80EB11C41145104610471040E -:1068C00081F04C815D816E817F819501898D9A8DEA -:1068D00060D591E0491A5108610871088111ECCF27 -:1068E00005C0C886D986EA86FB8681E0DF91CF9114 -:1068F0001F910F91FF90EF90DF90CF90BF90AF90DE -:106900007F906F905F904F9008950F931F93CF9358 -:10691000DF93EC018B818823D1F1898187FF32C01D -:1069200061E0CE01B6DC8C01009789F1FC01808129 -:10693000853E69F18B81823040F449895A896B899F -:106940007C89448F558F668F778F4D895E896F89DB -:10695000788DF801538F428F758B648BE091AA0E6E -:10696000F091AB0E309759F0B8016A5E7F4FC801C5 -:1069700048961995F801808D918D938B828B898132 -:106980008F778983DF91CF911F910F918AC481E026 -:10699000888380E0DF91CF911F910F910895CF936D -:1069A000DF93EC01B2DF1B82DF91CF910895FC01F0 -:1069B00023812111F4CF08954F925F926F927F92BD -:1069C000AF92BF92CF92DF92EF92FF920F931F93FD -:1069D000CF93DF9300D01F92CDB7DEB75C016A0181 -:1069E0007B01FC0183818130E9F4818181FF1AC040 -:1069F000F50181899289A389B48984179507A6072F -:106A0000B70780F0892B8A2B8B2B09F472C0F50114 -:106A10004084518462847384B701A601C501DCDE21 -:106A2000811102C080E066C0F501818D928DC11494 -:106A3000D104E104F10469F4458956896789708DB0 -:106A400025D7882379F3F501158A168A178A108EBF -:106A500037C0F50144815581668177819E012F5FA2 -:106A60003F4F97D48823F1F249815A816B817C8111 -:106A7000F501818D928DFC012789203139F4483F41 -:106A8000FFEF5F0761057105D8F407C0483F2FEF9E -:106A9000520762072FE0720798F4F8D6882309F4AA -:106AA000C1CFF50144815581668177810FEF1FEFDA -:106AB0002FEF3FE0818D928D51D5882309F4B2CF1D -:106AC000F501C18AD28AE38AF48A81818068818350 -:106AD000C5011BDF882309F4A5CFB701A6014C141B -:106AE0005D046E047F0410F4B301A201C50174DEDD -:106AF00001C081E00F900F900F900F90DF91CF9128 -:106B00001F910F91FF90EF90DF90CF90BF90AF90CB -:106B10007F906F905F904F900895FF920F931F9317 -:106B2000CF93DF93EC01F42E80E2689FF0011124F3 -:106B3000ED54F14F8385817121F0842F827109F02A -:106B40004EC08091B3109091B410A091B510B09147 -:106B5000B6108C879D87AE87BF87688B448955891F -:106B600060E070E0BA0155274427028D138D20E0C4 -:106B700030E0402B512B622B732B4D8B5E8B6F8B38 -:106B8000788F8385887151F4048D158D268D378D0E -:106B9000098B1A8B2B8B3C8B81E00BC08031F9F475 -:106BA0009E012F5E3F4F898D9A8D72D48823B9F054 -:106BB00084E08B838F2D8F7089831C821D821E82BF -:106BC0001F82188619861A861B86F4FE0BC040E0C9 -:106BD00050E0BA01CE01F0DE811104C011C01B8269 -:106BE00080E00EC0F5FE0BC049895A896B897C890B -:106BF000CE01DF91CF911F910F91FF90EDCD81E0FC -:106C0000DF91CF911F910F91FF900895AF92BF92A6 -:106C1000CF92DF92EF92FF920F931F93CF93DF9368 -:106C20007C01EB016A01B22E898D9A8DF701928F5A -:106C3000818F40E050E0BA01CE01CEDDA12C088565 -:106C400019852A853B8589899A89AB89BC8908176A -:106C500019072A073B07A0F585E036952795179574 -:106C600007958A95D1F70F70CE0185DD009709F45D -:106C700081C0FC012081222311F0253EB9F4A1102E -:106C80000EC04091B3105091B4106091B510709146 -:106C9000B610F7014487558766877787008BFC011C -:106CA0008081AA24A3948111CACF0AC04BE050E08E -:106CB000BC01C6010F949800892B09F0C0CF58C0C1 -:106CC0008B2D8274823409F055C0AA2049F0F70157 -:106CD000008961E0C701DDDAEC01009769F44AC080 -:106CE0008B81823009F446C0CE014BDA882309F447 -:106CF00041C0C3EBDEE000E080E2FE0111928A9524 -:106D0000E9F78BE0F601DE0101900D928A95E1F73B -:106D1000E091AA0EF091AB0E309739F0BE01625FA0 -:106D20007F4FCE014096199508C081E298E2998B79 -:106D3000888B80E098E09F878E87888999899B8BD4 -:106D40008A8B998F888F8E859F859F8B8E8BA9D2FA -:106D5000882381F04B2D602FC701DF91CF911F91C8 -:106D60000F91FF90EF90DF90CF90BF90AF90D5CE76 -:106D7000B7FEF0CF80E0DF91CF911F910F91FF9090 -:106D8000EF90DF90CF90BF90AF9008953F924F92D9 -:106D90005F926F927F928F929F92AF92BF92CF92AB -:106DA000DF92EF92FF920F931F93CF93DF93CDB7B4 -:106DB000DEB7C354D1090FB6F894DEBF0FBECDBF06 -:106DC0005C016B0124965FAF4EAF2497522E1C8E50 -:106DD0001F8E19821C826115710511F410E073C0B9 -:106DE000FC0183818111FACF2496EEADFFAD24978B -:106DF00080818F3211F076011DC02496EEADFFAD7B -:106E0000249780818F3231F431962496FFAFEEAF14 -:106E10002497F3CFF60183818250823060F3F6012C -:106E2000618D728DCE010196C7DA8823B9F2CE0149 -:106E300001967C018E01045E1F4F3801FE013196E0 -:106E40004F01402E312E19C08823A9F121E0AE0157 -:106E5000495C5F4FB701C801D9DE882309F4BECF72 -:106E6000EC14FD0411F0C7019ADD0615170501F1B8 -:106E7000942D832D7801092F182FAE014E5B5F4FA3 -:106E8000BE01695C7F4F24968EAD9FAD249755DA85 -:106E9000882309F4A3CF2496EEADFFAD249780811B -:106EA0008F3291F631962496FFAFEEAF2497F3CF51 -:106EB000982D892DDFCF252DAE01495C5F4FB7019D -:106EC000C501A4DE182FCE01019671DDCE014C96CE -:106ED0006EDD812FCD5BDF4F0FB6F894DEBF0FBEA6 -:106EE000CDBFDF91CF911F910F91FF90EF90DF9079 -:106EF000CF90BF90AF909F908F907F906F905F905A -:106F00004F903F900895CF93DF93EC0140E050E025 -:106F1000BA0152DD882361F061E0CE01BAD9009751 -:106F200039F025EEFC0120831B82DF91CF91B9C19E -:106F300080E0DF91CF9108951F93CF93DF93CDB77A -:106F4000DEB76B970FB6F894DEBF0FBECDBFAB01B7 -:106F500019821C8222E0BC01CE01019617DF182F96 -:106F6000882321F0CE010196CEDF182FCE010196A5 -:106F70001EDD812F6B960FB6F894DEBF0FBECDBF1E -:106F8000DF91CF911F9108952F923F924F925F9280 -:106F90006F927F928F929F92AF92BF92CF92DF9229 -:106FA000EF92FF920F931F93CF93DF9300D01F9226 -:106FB0001F92CDB7DEB78C015B013A01DC0113965D -:106FC0008C9113978130C1F411968C9181FF14C07C -:106FD00082FF18C0F80141895289638974898085CC -:106FE0009185A285B38584179507A607B70751F049 -:106FF000C801F2DB811106C081E0F80180838FEFC8 -:107000009FEF37C1630183C0D80159968D919C9140 -:107010005A97FC01F481F1501A012B0169E0569452 -:107020004794379427946A95D1F7F221FD834A015A -:1070300021E09222FF2309F476C080E092E08819D3 -:10704000990976018C159D0508F47C01D8015996A3 -:10705000ED91FC915A9714962D903D904D905C9037 -:107060001797B2E02B1A310841085108058404C073 -:10707000220C331C441C551C0A94D2F78685978534 -:10708000A089B189280E391E4A1E5B1EED812E0E85 -:10709000311C411C511CE114F2E0FF0609F089C0CB -:1070A0008091B3109091B410A091B510B091B6102A -:1070B00082159305A405B50569F41092B00E8FEF03 -:1070C0009FEFDC018093B3109093B410A093B510A0 -:1070D000B093B6109501B201A1018091B10E9091CB -:1070E000B20E0E94A560882309F486CFF80180853E -:1070F0009185A285B3858E0D9F1DA11DB11D808731 -:107100009187A287B387AE0CBF1CCE18DF08D801C9 -:1071100018964D915D916D917C911B97C114D1048E -:1071200009F072CF7AC08114910409F086CF1496C9 -:107130004D915D916D917C911797411551056105B8 -:10714000710559F455968D919D910D90BC91A02D8E -:107150000097A105B10539F520C09E012F5F3F4F73 -:1071600018D1882309F448CF89819A81AB81BC81E9 -:10717000F801218D328DF9012789203139F4883FBA -:10718000FFEF9F07A105B10540F40DC0883F2FEF29 -:107190009207A2072FE0B20730F0C8010E949B308F -:1071A00081114BCF29CFF80184839583A683B783C0 -:1071B00044CF8114910411F5D80118964D915D9139 -:1071C0006D917C911B9751968D919D910D90BC91E5 -:1071D000A02D481759076A077B0780F062D08823E3 -:1071E00009F40ACF81E08093B00E2092B310309260 -:1071F000B4104092B5105092B61007C041E0C201E1 -:10720000B1018FD0882309F4F7CEA701B501C401DD -:107210008D54914F0F94A50069CF51968D919D91FA -:107220000D90BC91A02DF801218184179507A60728 -:10723000B70738F4418B528B638B748B20682183A2 -:107240000CC08091AA0E9091AB0E892B31F0611485 -:10725000710419F02068F8012183D80111968C91EE -:1072600083FD02C0C30105C0C8014FDB8111FACF05 -:10727000C3CE0F900F900F900F900F90DF91CF9192 -:107280001F910F91FF90EF90DF90CF90BF90AF9044 -:107290009F908F907F906F905F904F903F902F9036 -:1072A0000895CF938091B00E8823B9F14091B31027 -:1072B0005091B4106091B5107091B61023EB3EE080 -:1072C0008091B10E9091B20E0E94A560C82F8111DD -:1072D00002C0C0E023C04091AC0E5091AD0E609151 -:1072E000AE0E7091AF0E411551056105710591F01B -:1072F00023EB3EE08091B10E9091B20E0E94A5600A -:10730000882339F31092AC0E1092AD0E1092AE0E8F -:107310001092AF0E1092B00E01C0C1E08C2FCF9131 -:107320000895CF92DF92EF92FF92CF936B017C0191 -:10733000C42F8091B3109091B410A091B510B0916A -:10734000B6108C159D05AE05BF05C9F0AADF8111E9 -:1073500002C080E018C023EB3EE0B701A601809197 -:10736000B10E9091B20E0E943060882391F3C092CA -:10737000B310D092B410E092B510F092B61081E044 -:10738000C1118093B00ECF91FF90EF90DF90CF901E -:1073900008958F929F92AF92BF92CF92DF92EF9219 -:1073A000FF920F931F93CF93DF93EC016A017B0150 -:1073B000890189859A85AB85BC850196A11DB11D82 -:1073C00084179507A607B70710F480E054C08F898B -:1073D000803129F49927872F762F652F0BC08032B3 -:1073E000A1F7CB01BA0127E0969587957795679528 -:1073F0002A95D1F78B889C88AD88BE88680D791D49 -:107400008A1D9B1D8090B3109090B410A090B51071 -:10741000B090B610681579058A059B0581F48F89AF -:10742000803191F4DD24EE24FF24F601EE0FFF1FDE -:10743000ED54F14F80819181A0E0B0E016C040E0B2 -:1074400070DF8111ECCFC1CFE894C7F8DD24EE24C2 -:10745000FF24F601EE0FFF1FEE0FFF1FED54F14F5B -:1074600080819181A281B381BF70F8018083918373 -:10747000A283B38381E0DF91CF911F910F91FF90A1 -:10748000EF90DF90CF90BF90AF909F908F90089536 -:107490004F925F926F927F92AF92BF92CF92DF92A4 -:1074A000EF92FF920F931F93CF93DF9300D01F9221 -:1074B000CDB7DEB78C0149835A836B837C83590136 -:1074C000C12CD12C7601412C42E0542E612C712C20 -:1074D00049815A816B817C819E012F5F3F4FC8019A -:1074E00058DF882341F1D301C201F801058404C0AB -:1074F000880F991FAA1FBB1F0A94D2F7C80ED91E66 -:10750000EA1EFB1E49815A816B817C81878980310B -:1075100039F481E0483F5F4F6105710538F4D8CFF9 -:1075200081E0483F5F4F6F4F7F4090F2F501C0828E -:10753000D182E282F3820F900F900F900F90DF9133 -:10754000CF911F910F91FF90EF90DF90CF90BF9060 -:10755000AF907F906F905F904F9008954F925F92A1 -:107560006F927F928F929F92AF92BF92CF92DF9253 -:10757000EF92FF920F931F93CF93DF93EC014A0199 -:107580005B0128013901423051056105710508F49C -:1075900062C049855A856B857C854F5F5F4F6F4F11 -:1075A0007F4F481559056A057B0508F454C08F893B -:1075B000803129F4FF24EB2CDA2CC92C0CC080324A -:1075C00009F049C07501640177E0F694E794D79417 -:1075D000C7947A95D1F74B895C896D897E89C40EF1 -:1075E000D51EE61EF71E41E0C701B6019ADE8823CC -:1075F00091F19F89903159F49924AA24BB24F40174 -:10760000EE0FFF1FED54F14F5182408210C0E894FD -:1076100087F89924AA24BB24F401EE0FFF1FEE0F74 -:10762000FF1FED54F14F40825182628273829A892A -:10763000923090F04D815E816F8178854C0D5D1D9B -:107640006E1D7F1D4093AC0E5093AD0E6093AE0E39 -:107650007093AF0E01C080E0DF91CF911F910F9129 -:10766000FF90EF90DF90CF90BF90AF909F908F9062 -:107670007F906F905F904F9008952F923F924F921E -:107680005F926F927F928F929F92AF92BF92CF92B2 -:10769000DF92EF92FF920F931F93CF93DF93CDB7BB -:1076A000DEB72F970FB6F894DEBF0FBECDBF1C011B -:1076B0004C875D876E877F873B872A87DC01199619 -:1076C0000D911D912D913C911C970F5F1F4F2F4FD6 -:1076D0003F4F0D831E832F833887EA85FB8580808B -:1076E0009180A280B38081149104A104B10431F08F -:1076F000FFEF8F1A9F0AAF0ABF0A10C0DC018D90FE -:107700009D90AD90BC90B1E0B9870C851D852E850C -:107710003F85013011052105310509F019867501F4 -:107720006401412C512C3201F10181859285A385A0 -:10773000B485481659066A067B0608F04EC00D81CE -:107740001E812F8138850C151D052E053F0550F42F -:10775000F2E0CF2ED12CE12CF12CA2E08A2E912C3C -:10776000A12CB12C9E012F5F3F4FB701A601C10193 -:1077700010DE882391F149815A816B817C81D70188 -:10778000C6010196A11DB11D452B462B472B19F0B3 -:107790004C015D010FC0AC01BD01481959096A09CE -:1077A0007B090C851D852E853F8540175107620793 -:1077B000730741F01FEF411A510A610A710A6C0107 -:1077C0007D01B2CF0FEF1FEF2FEF3FE0B701A60112 -:1077D000C101C4DE8D83811113C01D823DC026010D -:1077E000370121E0421A51086108710897018601AA -:1077F000B301A201C101B2DE882379F373016201F2 -:107800008C149D04AE04BF0450F3AA85BB854D9132 -:107810005D916D917C914115510561057105A9F44A -:10782000EA85FB8580829182A282B382F985FF235B -:1078300099F00FEF801A900AA00AB00AD1018D9238 -:107840009D92AD92BC92139707C095018401C1012E -:1078500085DE8111E5CFC1CF8D812F960FB6F894CB -:10786000DEBF0FBECDBFDF91CF911F910F91FF9073 -:10787000EF90DF90CF90BF90AF909F908F907F90D0 -:107880006F905F904F903F902F900895AF92BF926E -:10789000CF92DF92EF92FF920F931F93CF93DF93DC -:1078A00000D01F92CDB7DEB75C016A017B0182E098 -:1078B00090E0A0E0B0E0F50180839183A283B383E0 -:1078C0009E012F5F3F4FB701A601C50162DD811107 -:1078D00002C080E023C000E010E09801B701A601DB -:1078E000C5013CDE8823A9F3C980DA80EB80FC80E7 -:1078F000F5018789803149F481E0F8EFCF16FFEF79 -:10790000DF06E104F10450F4DBCF81E098EFC91603 -:107910009FEFD906E9069FE0F90690F20F900F90CD -:107920000F900F90DF91CF911F910F91FF90EF90EB -:10793000DF90CF90BF90AF9008957F928F929F92EB -:10794000AF92BF92CF92DF92EF92FF920F931F936D -:10795000CF93DF93EC01142F7093B20E6093B10EAE -:107960001F8A82E090E0A0E0B0E088839983AA8338 -:10797000BB831092B00E1092AC0E1092AD0E10920E -:10798000AE0E1092AF0E8FEF9FEFDC018093B3101D -:107990009093B410A093B510B093B610442349F15E -:1079A000453008F0DEC040E060E070E0CB01B9DCBB -:1079B000882309F4D6C020E1129FF0011124EF5969 -:1079C000FF4E80818F7709F0CCC084859585A68590 -:1079D000B78584369105A105B10508F4C2C0C084FD -:1079E000D184E284F384C114D104E104F10421F4CC -:1079F000B8C0C12CD12C760140E0C701B60191DCA2 -:107A0000782E882309F4ADC08091BE0E9091BF0EF0 -:107A10008115924009F0A5C03091C30E332309F4BB -:107A2000A0C08091C10E9091C20E892B09F499C01B -:107A30002091C00E222309F494C03A8B2C831D861A -:107A400030E041E050E06D85062FCA01062E02C0ED -:107A5000880F991F0A94E2F72817390731F081E05F -:107A6000860F8D87683078F37CC02091C90E3091E5 -:107A7000CA0E2115310519F040E050E008C02091F0 -:107A8000D70E3091D80E4091D90E5091DA0E2D8339 -:107A90003E834F8358878091C10E9091C20E46015C -:107AA0005701880E991EA11CB11C8B8A9C8AAD8A35 -:107AB000BE8AE091C40EF091C50EF98FE88FA091B7 -:107AC000C30EB0E00E9464FB680D791D8A1D9B1DEA -:107AD0006A8F7B8F8C8F9D8FB5E0EE0FFF1FBA955D -:107AE000E1F7E150FE4FEF2FFF27E695DC01CB01D8 -:107AF0008E0F9F1FA11DB11D8E879F87A88BB98BED -:107B00008090C60E9090C70E8114910419F0A12C9C -:107B1000B12C08C08090D30E9090D40EA090D50EBA -:107B2000B090D60EA7019601281B390B4A0B5B0BB0 -:107B3000DA01C901880D991DAA1DBB1D04C0B695A7 -:107B4000A795979587950A95D2F789879A87AB87E6 -:107B5000BC87853F3FE09307A105B10520F48CE089 -:107B60008F8B712C15C0853F9F4FA105B10510F477 -:107B700080E10DC08091DF0E9091E00EA091E10EAA -:107B8000B091E20E8A8F9B8FAC8FBD8F80E28F8B7E -:107B9000872DDF91CF911F910F91FF90EF90DF9094 -:107BA000CF90BF90AF909F908F907F9008954F920D -:107BB0005F926F927F928F929F92AF92BF92CF927D -:107BC000DF92EF92FF920F931F93CF93DF932C01DD -:107BD00023E034E081E090E0F901459154914416AE -:107BE00055060CF062C0AC0141505109DA01AA0FF0 -:107BF000BB1FAA0FBB1FAF5FBB4FFD016591749107 -:107C0000440F551F440F551F41505C4FFA016590BA -:107C10007490FC01EE0FFF1FEE0FFF1FEF5FFB4F95 -:107C2000A590B490FD0105911491F901C591D491ED -:107C3000FA0185909490882777FD8095982F0E946F -:107C4000DEF76B017C01B20166197709882777FDA1 -:107C50008095982F0E94DEF72B013C01B501601B37 -:107C6000710B882777FD8095982F0E94DEF79B0186 -:107C7000AC01C301B2010E9411FA2B013C01BE010B -:107C800068197909882777FD8095982F0E94DEF77B -:107C90009B01AC01C301B2010E9443F79B01AC01FF -:107CA000C701B6010E9463F611C001962C5F3F4FD9 -:107CB0008D33910509F090CFE1EFF4E06591749177 -:107CC000882777FD8095982F0E94DEF7DF91CF916E -:107CD0001F910F91FF90EF90DF90CF90BF90AF90EA -:107CE0009F908F907F906F905F904F9008954F92EC -:107CF0005F926F927F928F929F92AF92BF92CF923C -:107D0000DF92EF92FF920F931F93CF93DF932C019B -:107D1000662371F1E7E9F2E58491882341F09091BF -:107D2000C00095FFFCCF8093C6003196F5CF70E080 -:107D30004AE050E08BEF96E10E94CDD0E8E6F2E019 -:107D40008491882341F09091C00095FFFCCF8093EF -:107D5000C6003196F5CF8091C00085FFFCCF8AE048 -:107D60008093C6000E948E6A60E070E0CB017EC006 -:107D700023E833E081E090E0F90145915491441605 -:107D800055060CF062C0AC0141505109DA01AA0F4E -:107D9000BB1FAA0FBB1FAF57BC4FFD01659174916C -:107DA000440F551F440F551F41585C4FFA01659011 -:107DB0007490FC01EE0FFF1FEE0FFF1FEF57FC4FFB -:107DC000A590B490FD0105911491F901C591D4914C -:107DD000FA0185909490882777FD8095982F0E94CE -:107DE000DEF76B017C01B20166197709882777FD00 -:107DF0008095982F0E94DEF72B013C01B501601B96 -:107E0000710B882777FD8095982F0E94DEF79B01E4 -:107E1000AC01C301B2010E9411FA2B013C01BE0169 -:107E200068197909882777FD8095982F0E94DEF7D9 -:107E30009B01AC01C301B2010E9443F79B01AC015D -:107E4000C701B6010E9463F611C001962C5F3F4F37 -:107E50008032910509F090CFEDEFF3E065917491D8 -:107E6000882777FD8095982F0E94DEF7DF91CF91CC -:107E70001F910F91FF90EF90DF90CF90BF90AF9048 -:107E80009F908F907F906F905F904F90089560E0EB -:107E900080910C1190910D112ADF6093081170935D -:107EA000091180930A1190930B1180910611909102 -:107EB00007117DDE6093021170930311809304110A -:107EC000909305118FB7F8941092FA108FBF089510 -:107ED0002091140230911502409116025091170220 -:107EE00060E070E08FE793E40E9443F76093DA105C -:107EF0007093DB108093DC109093DD10089597FF52 -:107F000003C08091011104C0FC01EC52FF4E80813E -:107F100090E00895CF93DF93D82FC62FC19561E0ED -:107F20000E94A9EF6C2F8D2F0E94E2EF6C2F70E062 -:107F30008D2FDF91CF910C949FEECF93C1E020E085 -:107F400030E048E452E46091081170910911809189 -:107F50000A1190910B110E943FF918160CF0C0E025 -:107F60006C2F88E090E0CF91D5CFCF93DF93109224 -:107F7000DE101092DF101092E0101092E1102091AC -:107F8000140230911502409116025091170260E0E0 -:107F900070E08FE793E40E9443F76093DA107093E8 -:107FA000DB108093DC109093DD106D9A80910101BD -:107FB0008061809301019D9A809101018860809386 -:107FC000010187ED80937A0010927E0010927D006F -:107FD00080917E00816080937E0080917E0082602F -:107FE00080937E0080917E00846080937E0080E894 -:107FF00088BD80916E00846080936E006AEF70E0AF -:1080000080E090E00E94B8F08FE090E09093CD1077 -:108010008093CC1060E080910A0290910B0267DEA1 -:1080200020E030E040E751E40E943CF787FF0AC0BF -:1080300080910A0290910B02409790930B028093DB -:108040000A02E8CF86E391E0909309028093080248 -:1080500060E08091CE109091CF1049DE20E030E0BA -:108060004BE953E40E943FF9181654F48091CE1066 -:108070009091CF1040969093CF108093CE10E8CF80 -:10808000C091CA10D091CB10CE0191DD20E030E03C -:1080900046E153E40E943FF9181634F46096D093F9 -:1080A000CB10C093CA10ECCFDF91CF910895089503 -:1080B000109211111092101110920F1110920E11B6 -:1080C0001092D410759810920F1110920E111092F8 -:1080D0000111A59808952F923F924F925F926F924F -:1080E0007F928F929F92AF92BF92CF92DF92EF9248 -:1080F000FF920F931F93CF93DF93CDB7DEB7AE9769 -:108100000FB6F894DEBF0FBECDBF6B8F7C8F8D8F07 -:10811000292E5A8749873CA72BA70E9489F06F8F89 -:1081200078A389A39AA30E9489F06FA378A789A74F -:108130009AA729853A85121613061CF0E0E1FDE0A6 -:1081400017C0E3E2FDE08191882339F09091C000EF -:1081500095FFFCCF8093C600F6CF8091C00085FFCD -:10816000FCCF1BC29091C00095FFFCCF8093C6004E -:1081700081918111F7CF8091C00085FFFCCF8AE00B -:108180008093C60095DF49855A858FE7452B99F185 -:10819000809301118F8D98A1A9A1BAA1898B9A8B87 -:1081A000AB8BBC8B8D879E87AF87B88B1D8290E48D -:1081B000988FACE1A98FB6E4BA8F1DA61D8A1E8ADE -:1081C0001F8A2FE730E040E050E029833A834B8359 -:1081D0005C83EFE74E2E512C612C712C1BA21CA24C -:1081E0001DA21EA231E03E8F1C861B86312C00E0B2 -:1081F00010E01EA605C08093D410CCCF0E9425A409 -:108200008091FA10882309F4F6C041DE49855A8529 -:10821000452B51F03090021100910311109104117F -:10822000509105115EA709C0309008110091091105 -:1082300010910A1180910B118EA7232D302F412F01 -:108240005EA56DA57D898E899F890E943FF91816CC -:108250002CF03DA60D8B1E8B9EA59F8B232D302FC2 -:10826000412F5EA56D81788D898D9A8D0E943CF796 -:1082700087FD05C03D82088F198FAEA5AA8F0E9489 -:1082800089F02FA138A549A55AA5621B730B840B51 -:10829000950B653C79408105910538F04EDE0E94D2 -:1082A00089F06FA378A789A79AA74E8D442309F474 -:1082B0004FC02B8D3C8D4D8D522D632D702F812FF6 -:1082C0009EA50E943FF918160CF095C00E9489F0F7 -:1082D00029893A894B895C89621B730B840B950B46 -:1082E000693873418105910508F485C0D301C20145 -:1082F00029813A814B815C81821B930BA40BB50BC6 -:1083000049855A85B595A79597958795452B19F079 -:108310008093011102C08093D4100E9489F06D8770 -:108320007E878F87988BDC01CB0129893A894B891D -:108330005C89821B930BA40BB50B8BA39CA3ADA3F1 -:10834000BEA33B8D3DA74C8D4D8B5D8D5E8B2F8AE3 -:108350002B8D3C8D4D8D522D632D702F812F9EA521 -:108360000E943CF787FFEEC20E9489F02D853E8572 -:108370004F855889621B730B840B950B69387341C9 -:108380008105910508F4DEC20E9489F0698B7A8B21 -:108390008B8B9C8BDC01CB012D853E854F855889CD -:1083A000821B930BA40BB50B4B855C85452B09F009 -:1083B00010C189819A81AB81BC81840D951DA61D58 -:1083C000B71D29853A85B595A79597958795232B50 -:1083D00009F4B5C2809301114B855C854F5F5F4FF7 -:1083E0005C874B875B8D5D838C8D888F9D8D998F8E -:1083F0002A8EA1E0AE8F20E030E040EA51E46B8DA0 -:108400007C8D8D8D922D0E9463F69B01AC01632DB6 -:10841000702F812F9EA50E943FF9181694F4EEE06C -:10842000F3E08491882341F09091C00095FFFCCF48 -:108430008093C6003196F5CF8091C00085FFFCCFB8 -:10844000ACC00E9489F02F8D38A149A15AA1621BAE -:10845000730B840B950B613D77408105910508F402 -:108460004FC049855A85452B81F0E0900111F12CD0 -:10847000E8E0F3E084918823C1F09091C00095FF7B -:10848000FCCF8093C6003196F5CFE090D410F12C4C -:10849000E2E0F3E08491882341F09091C00095FFE1 -:1084A000FCCF8093C6003196F5CF22E030E0432D1B -:1084B000502F612F7EA58BEF96E10E94A3D1EEEFA6 -:1084C000F2E08491882341F09091C00095FFFCCFA9 -:1084D0008093C6003196F5CF4AE050E0B7018BEFAC -:1084E00096E10E94CDD08091C00085FFFCCF8AE04C -:1084F0008093C6000E9489F06F8F78A389A39AA306 -:108500000E9489F06B017C010E9489F089889A8819 -:10851000AB88BC882D853E854F855889820E931E79 -:10852000A41EB51EC818D908EA08FB08C60ED71E37 -:10853000E81EF91E31E8C3163FE4D30632E1E30634 -:10854000F10490F0E1EEF2E08491882341F0909103 -:10855000C00095FFFCCF8093C6003196F5CF809187 -:10856000C00085FFFCCF19C04B855C858BA59CA501 -:10857000841795070CF042CEE5E8F2E08491882359 -:1085800041F09091C00095FFFCCF8093C6003196DA -:10859000F5CF8091C00085FFFCCF8AE08093C600B4 -:1085A000AE960FB6F894DEBF0FBECDBFDF91CF9170 -:1085B0001F910F91FF90EF90DF90CF90BF90AF9001 -:1085C0009F908F907F906F905F904F903F902F90F3 -:1085D00008958BA09CA0ADA0BEA0880E991EAA1ED7 -:1085E000BB1E2BA13CA14DA15EA1281B390B4A0B40 -:1085F0005B0BCA01B90129813A814B815C810E94E0 -:10860000D7FAA50194010E943CFB240D351D461D9F -:10861000571D243131054105510504F129013A0165 -:108620003CEE43165104610471042CF06BEE462EAF -:10863000512C612C712C40E84416510461047104E2 -:10864000DCF08EEF90E0A0E0B0E084199509A60977 -:10865000B70989839A83AB83BC8312C054E1452E4A -:10866000512C612C712C24E130E040E050E0298352 -:108670003A834B835C8304C049825A826B827C823A -:10868000E7E7F3E08491882341F09091C00095FFE3 -:10869000FCCF8093C6003196F5CF2AE030E0B301DD -:1086A000A2018BEF96E10E94A2D0E2E7F3E0849171 -:1086B000882341F09091C00095FFFCCF8093C600C5 -:1086C0003196F5CF2AE030E049815A816B817C8177 -:1086D0008BEF96E10E94A2D0EBE6F3E08491882331 -:1086E00041F09091C00095FFFCCF8093C600319679 -:1086F000F5CF22E030E04D81588D698D7A8D8BEF7A -:1087000096E10E94A3D1E4E6F3E08491882341F04E -:108710009091C00095FFFCCF8093C6003196F5CFB5 -:1087200022E030E04DA55D896E897F898BEF96E16F -:108730000E94A3D18091C00085FFFCCF8AE0809386 -:10874000C6002B853C85233031050CF432CE69817F -:108750007A818B819C810E94DEF720E030E040E846 -:1087600050E40E9411FA6B017C012D81388D498DF6 -:108770005A8D6DA57D898E899F890E9462F620EDB4 -:108780003FE049E450E40E9411FA20E030E040E08C -:108790005FE30E9411FA9B01AC01C701B6010E9480 -:1087A00043F76B017C01C501B4010E94DEF720E0B4 -:1087B00030E04AE754E40E9443F74B015C01EEE5E8 -:1087C000F3E08491882341F09091C00095FFFCCFA5 -:1087D0008093C6003196F5CF22E030E0B701A601C4 -:1087E0008BEF96E10E94A3D1E8E5F3E08491882322 -:1087F00041F09091C00095FFFCCF8093C600319668 -:10880000F5CF22E030E0B501A4018BEF96E10E94A4 -:10881000A3D18091C00085FFFCCF8AE08093C60081 -:108820002AE939E949E15FE3C701B6010E9411FA7B -:108830006B017C019B01AC010E9463F6A5019401D0 -:108840000E9443F76D837E838F839887A5019401EF -:10885000C701B6010E9411FA20E030E040E05EE37B -:108860000E9411FA4B015C01EAE4F3E08491882351 -:1088700041F09091C00095FFFCCF8093C6003196E7 -:10888000F5CF8091C00085FFFCCF8AE08093C600C1 -:10889000E4E4F3E08491882341F09091C00095FFD7 -:1088A000FCCF8093C6003196F5CF22E030E0B701CF -:1088B000A6018BEF96E10E94A3D18091C00085FFB5 -:1088C000FCCF8AE08093C600EEE3F3E08491882336 -:1088D00041F09091C00095FFFCCF8093C600319687 -:1088E000F5CF22E030E04D815E816F8178858BEF9E -:1088F00096E10E94A3D18091C00085FFFCCF8AE061 -:108900008093C600E8E3F3E08491882341F09091DE -:10891000C00095FFFCCF8093C6003196F5CF22E0D2 -:1089200030E0B501A4018BEF96E10E94A3D18091C4 -:10893000C00085FFFCCF8AE08093C6003ACD8093CB -:10894000D4104ACD1E8E57CD81E0809338130E94FB -:1089500097DA80919013882339F01092901360E099 -:108960008EE893E10E94D25888E592E00E9483A3AA -:108970009FDB179A10924E13169A10924F13149A67 -:1089800056D10E9425A49FB7F8948091020184607B -:10899000809302019FBF84EF91E00E94DCF09FB7BB -:1089A000F894809102018B7F809302019FBF84E63F -:1089B00090E00C94DCF02F923F924F925F926F9276 -:1089C0007F928F929F92AF92BF92CF92DF92EF925F -:1089D000FF920F931F93CF93DF93CDB7DEB7289706 -:1089E0000FB6F894DEBF0FBECDBF4C012A013B018C -:1089F0000D831E832F833887AA2039F0A12CB12C38 -:108A000019821A821B821C820BC03DE2A32EB12C5C -:108A100080E090E0A0E7B1E489839A83AB83BC83D4 -:108A20000E9489F00E94DCF78401000F111F000FE3 -:108A3000111FD801A65EBE4E1D012D913D914D9195 -:108A40005C910E9462F620E030E04AEF54E40E941C -:108A50003FF918160CF0D2C00E9489F00E94DCF792 -:108A6000F101608371838283938320E030E0A90168 -:108A7000C701B6010E943CF7811107C0F401EE0F57 -:108A8000FF1FEE5EFE4E118210829801265D3E4E63 -:108A90001901A3019201D1016D917D918D919C915C -:108AA0000E943CF7882321F120E030E0A901C301B6 -:108AB000B2010E943FF9F801E65CFE4E181674F40C -:108AC00080E090E0A0E8BFE380839183A283B3833A -:108AD000F10140825182628273820AC01082118247 -:108AE00012821382D1014D925D926D927C92139706 -:108AF000A30192016D817E818F8198850E943FF94B -:108B000087FD19C0F801E65CFE4E1F0120E030E051 -:108B100040E85FE360817181828193810E943CF72C -:108B2000811109C080E090E0A0E0B0E4F101808311 -:108B30009183A283B38320E030E0A901C701B6018D -:108B40000E943FF918160CF059C029813A814B81D7 -:108B50005C81C301B2010E9462F62D813E814F818A -:108B600058850E943CF787FF12C029813A814B81CA -:108B70005C81C301B2010E9463F69B01AC016D816F -:108B80007E818F8198850E943CF787FD37C0F80170 -:108B9000E65CFE4E20E030E040E85FE360817181FA -:108BA000828193810E943FF9181644F5F401EE0F7B -:108BB000FF1FEE5EFE4E808191810196918380833E -:108BC000880F991FA816B906CCF428960FB6F8940A -:108BD000DEBF0FBECDBFDF91CF911F910F91FF90F0 -:108BE000EF90DF90CF90BF90AF909F908F907F904D -:108BF0006F905F904F903F902F90A6CE28960FB623 -:108C0000F894DEBF0FBECDBFDF91CF911F910F91C2 -:108C1000FF90EF90DF90CF90BF90AF909F908F909C -:108C20007F906F905F904F903F902F9008952F927C -:108C30003F924F925F926F927F928F929F92AF92EC -:108C4000BF92CF92DF92EF92FF920F931F93CF9339 -:108C5000DF93CDB7DEB728970FB6F894DEBF0FBE0F -:108C6000CDBF8091FA10882309F41CC210D96091FD -:108C7000D41070E080E090E00E94DEF76B017C0190 -:108C8000409008115090091160900A1170900B11DA -:108C90006091101170911111882777FD8095982FA0 -:108CA0000E94DEF7AB01BC01A12C9301820181E09F -:108CB00090E081DE8090081190900911A0900A1137 -:108CC000B0900B110091101110911111B80188276B -:108CD00077FD8095982F0E94DEF7A50194010E94F0 -:108CE00062F66B017C016093E2107093E310809355 -:108CF000E4109093E51020E030E040E251E40E945F -:108D00003FF9181624F481E08093D910F7C020E0D1 -:108D100030E040E251ECC701B6010E943CF787FD0C -:108D200002C0012B21F481E08093D9100CC1809105 -:108D3000D910882351F01092F6101092F71010926B -:108D4000F8101092F9101092D91020911802309159 -:108D5000190240911A0250911B02C701B6010E94EC -:108D600011FA69837A838B839C836093EE107093EE -:108D7000EF108093F0109093F1102091F610309145 -:108D8000F7104091F8105091F910C701B6010E94F8 -:108D900063F62B013C012090DE103090DF10109123 -:108DA000E0100091E1109101412F502F0E943CF7FB -:108DB00087FD14C02090DA103090DB101091DC1089 -:108DC0000091DD109101412F502FB201C3010E948B -:108DD0003FF918161CF01201162D072DC101A12F05 -:108DE000B02F8093F6109093F710A093F810B093E3 -:108DF000F910209114023091150240911602509101 -:108E00001702B101812F902F0E9411FA6D837E838A -:108E10008F8398876093EA107093EB108093EC1027 -:108E20009093ED102091F2103091F3104091F410D6 -:108E30005091F510C501B4010E9462F62091100214 -:108E40003091110240911202509113020E9411FAC6 -:108E500020ED3CEC4CE45DE30E9411FA2B013C0157 -:108E600023E333E343E75FE36091E6107091E7109B -:108E70008091E8109091E9100E9411FA9B01AC01D9 -:108E8000C301B2010E9463F62B013C016093E6101E -:108E90007093E7108093E8109093E9102D813E8144 -:108EA0004F81588569817A818B819C810E9463F60C -:108EB000A30192010E9462F62B013C0120E030E008 -:108EC0004FE753E40E943FF920E030E0A901181673 -:108ED000E4F4C701B6010E943FF918167CF4A7011B -:108EE0009601B101812F902F0E9462F66093F610D7 -:108EF0007093F7108093F8109093F910412C512C37 -:108F00005FE7652E53E4752E21C0C301B2010E94B4 -:108F10003CF787FF1BC020E030E0A901C701B60184 -:108F20000E943CF787FF0FC0A7019601B101812F76 -:108F3000902F0E9462F66093F6107093F710809362 -:108F4000F8109093F910412C512C32018092F210BC -:108F50009092F310A092F410B092F5106091CC10A2 -:108F60007091CD10882777FD8095982F0E94DEF7AD -:108F70009B01AC01C501B4010E943FF91816DCF455 -:108F80006091080270910902882777FD8095982FDB -:108F90000E94DEF79B01AC01C501B4010E943CF7C1 -:108FA00087FF09C0C301B2010E94ABF775956795B1 -:108FB0006093D41002C01092D4100E9489F00091E6 -:108FC000D0101091D1102091D2103091D310601B8D -:108FD000710B820B930B653C79408105910560F024 -:108FE0000E949D3F0E9489F06093D0107093D11031 -:108FF0008093D2109093D3100E9489F00091D510E5 -:109000001091D6102091D7103091D810601B710BA1 -:10901000820B930B683873418105910508F442C0B7 -:109020000E9489F06093D5107093D6108093D7106A -:109030009093D810C0900211D0900311E0900411C9 -:10904000F090051120E030E040E751E4C701B6019F -:109050000E943FF918161CF520E030E046E153E489 -:10906000C701B6010E943CF787FF19C060910E113D -:1090700070910F11882777FD8095982F0E94DEF759 -:109080009B01AC01C701B6010E943FF987FD03C0F7 -:109090001092011107C08FE78093011103C0109255 -:1090A0000111A59828960FB6F894DEBF0FBECDBF6C -:1090B000DF91CF911F910F91FF90EF90DF90CF90B4 -:1090C000BF90AF909F908F907F906F905F904F90E8 -:1090D0003F902F900895CF93C82F0E9458400E9430 -:1090E000466B811134C0E7E9F2E59491992341F090 -:1090F0008091C00085FFFCCF9093C6003196F5CFDC -:109100006C2F70E04AE050E08BEF96E10E94CDD0EA -:109110008091C00085FFFCCF8AE08093C600EBE21F -:10912000F2E08491882341F09091C00095FFFCCF3C -:109130008093C6003196F5CF8091C00085FFFCCFAB -:109140008AE08093C6008EE192E00E9483A3CF91D3 -:109150000C94EE6ACF93C82F0E9458400E94466B31 -:10916000811134C0E7E9F2E59491992341F08091AF -:10917000C00085FFFCCF9093C6003196F5CF6C2FD1 -:1091800070E04AE050E08BEF96E10E94CDD08091F4 -:10919000C00085FFFCCF8AE08093C600E1EFF1E0DC -:1091A0008491882341F09091C00095FFFCCF80937B -:1091B000C6003196F5CF8091C00085FFFCCF8AE0D4 -:1091C0008093C60084EE91E00E9483A3CF910C941B -:1091D000EE6AA5980E94466B811125C0E7E9F2E589 -:1091E0008491882341F09091C00095FFFCCF80933B -:1091F000C6003196F5CFEBEAF1E08491882341F087 -:109200009091C00095FFFCCF8093C6003196F5CFBA -:109210008091C00085FFFCCF8AE08093C6008AE978 -:1092200091E00E9483A30C94EE6A1F920F920FB6F6 -:109230000F9211240BB60F920F931F932F933F930E -:109240004F935F936F937F938F939F93AF93BF934E -:10925000CF93DF93EF93FF9380910702811112C0A8 -:109260008091D4108093C910882311F0759A01C0A1 -:109270007598809101118093C810882311F0A59AE8 -:1092800001C0A5989091C91080910702981708F421 -:1092900075989091C81080910702981708F4A598C6 -:1092A000809107028F5F8F7780930702809106027B -:1092B00090E08B30910508F093C0FC01EE58FF4F11 -:1092C0000C9458FB10927B0080E480937C0080918A -:1092D0007A00806480937A000E948CA381E019C098 -:1092E00020917800309179008091C4109091C51040 -:1092F000A091C610B091C710820F931FA11DB11D80 -:109300008093C4109093C510A093C610B093C7105B -:1093100082E08093060264C010927B0082E4809316 -:109320007C0080917A00806480937A000E948CA3F4 -:1093300083E0EFCF20917800309179008091C010C8 -:109340009091C110A091C210B091C310820F931FD1 -:10935000A11DB11D8093C0109093C110A093C210A5 -:10936000B093C31084E0D5CF10927B0081E480934A -:109370007C0080917A00806480937A000E948CA3A4 -:1093800085E0C7CF20917800309179008091BC10A2 -:109390009091BD10A091BE10B091BF10820F931F8D -:1093A000A11DB11D8093BC109093BD10A093BE1061 -:1093B000B093BF1086E0ADCF0E948CA387E0A9CF09 -:1093C00088E0A7CF0E948CA389E0A3CF1092060269 -:1093D0008091BB108F5F8093BB1002C01092060279 -:1093E0008091BB10803108F463C08091FA10811124 -:1093F00010C08091C4109091C51090930D1180936E -:109400000C118091C0109091C1109093071180931E -:10941000061181E08093FA101092BB101092C410D4 -:109420001092C5101092C6101092C7101092BC1066 -:109430001092BD101092BE101092BF101092B71073 -:109440001092B8101092B9101092BA101092C01069 -:109450001092C1101092C2101092C31020910C11E2 -:1094600030910D118091CE109091CF1082179307FB -:1094700014F080E030DE20910C1130910D118091BC -:109480000A0290910B022817390714F080E062DE7F -:1094900020910611309107118091CA109091CB1044 -:1094A000821793072CF010920F1110920E1191DE7B -:1094B00000E010E0E801CC0FDD1FC550DF4E8881D1 -:1094C00099811816190644F461E0802F0E94B9DAD8 -:1094D00088819981019709C0892B49F060E0802F2C -:1094E0000E94B9DA888199810196998388830F5FF8 -:1094F0001F4F03301105F1F6FF91EF91DF91CF91EE -:10950000BF91AF919F918F917F916F915F914F919B -:109510003F912F911F910F910F900BBE0F900FBE97 -:109520000F901F9018952CEA35EC47E25EE30C94FF -:1095300011FA2CEA35EC47E25EE30C9443F72CEA8F -:1095400035EC47E25EE30C9443F72CEA35EC47E256 -:109550005EE30C9411FACF93DF93EC0160E08E810F -:109560000E94E2EF81E090E00E94DCF061E08E81F9 -:109570000E94E2EF81E090E00E94DCF060E08E81EA -:109580000E94E2EF84E690E0DF91CF910C94DCF052 -:10959000CF92DF92EF92FF920F931F93CF93DF93BF -:1095A0007C01C0E0D0E0C62ED12C87010C0F1D1F1E -:1095B00061E0F80187810E94A9EFB6010C2E02C07C -:1095C000759567950A94E2F76170F80187810E94AA -:1095D000E2EF2196C430D10541F7C701DF91CF9169 -:1095E0001F910F91FF90EF90DF90CF90B4CFCF926B -:1095F000DF92EF92FF920F931F93CF93DF937C0143 -:10960000C0E0D0E0C62ED12C87010C0F1D1F61E0F9 -:10961000F80187810E94A9EFB6010C2E02C0759552 -:1096200067950A94E2F76170F80187810E94E2EF82 -:109630002196C830D10541F7C701DF91CF911F9125 -:109640000F91FF90EF90DF90CF9085CF1F93CF9336 -:10965000DF93EC01162F642F8C810E94E2EF8D8145 -:109660008F3F19F060E00E94E2EF8F85612F84FF49 -:1096700005C0CE01DF91CF911F91B9CF70E084E09A -:10968000759567958A95E1F7CE0182DF612FCE014E -:10969000DF91CF911F917CCF40E0D8CF61E0FCDF1C -:1096A00080E496E00C94DCF062E0F6DF80E496E083 -:1096B0000C94DCF0CF93DF93CDB7DEB728970FB6CD -:1096C000F894DEBF0FBECDBF28E0EBE8FCE0DE0182 -:1096D000119601900D922A95E1F7FC01238942171A -:1096E00010F04FEF420FFE013196E40FF11DE40F31 -:1096F000F11D2081260F2068622F28960FB6F8945E -:10970000DEBF0FBECDBFDF91CF91C6CFFC01608918 -:10971000262F2460208B6C60BFCFCF93DF93EC01AA -:10972000423018F08F8588608F874B8B1C8A2223EC -:1097300029F0413019F48F8584608F8780E593ECA0 -:109740000E94DCF060E08C810E94E2EF60E08E819C -:109750000E94E2EF8D818F3F19F060E00E94E2EFFE -:109760006F8564FD19C063E0CE0112DF84E991E1E9 -:109770000E94DCF063E0CE010BDF84E991E10E94FE -:10978000DCF063E0CE0104DF86E990E00E94DCF0CB -:1097900062E0CE01FDDE13C06062CE017DDF84E9B0 -:1097A00091E10E94DCF06F856062CE0175DF86E991 -:1097B00090E00E94DCF06F856062CE016DDF6F8506 -:1097C0006062CE0169DF8CE390E00E94DCF084E00F -:1097D000888BCE019BDF8CE390E00E94DCF0CE0111 -:1097E0005DDF88EB9BE00E94DCF082E0898B66E025 -:1097F000CE0152DF8CE390E0DF91CF910C94DCF04E -:109800006F927F928F92AF92CF92EF920F931F93AE -:10981000CF93DF93CDB7DEB73C01162F842F5E8543 -:109820004F8538899989F301848325830683E782EC -:10983000C086A1868286538744873587968761E0F4 -:109840000E94A9EFF30185818F3F19F061E00E942A -:10985000A9EF61E0F30186810E94A9EF112319F0BD -:10986000F301178603C080E1F301878720E041E020 -:1098700060E1C301DF91CF911F910F91EF90CF90E5 -:10988000AF908F907F906F9048CF8F92AF92CF9292 -:10989000EF920F93DC0113961C921E921297E1E552 -:1098A000FDE0ED93FC931F921F921F921F928C2C50 -:1098B000AE2CC02EE22E042F2FEF462F61E0A0DF4A -:1098C0000F900F900F900F900F91EF90CF90AF905F -:1098D0008F900895CF93DF93EC01423018F08F857D -:1098E00088608F874B8B1C8A222329F0413019F422 -:1098F0008F8584608F8780E593EC0E94DCF060E0C8 -:109900008C810E94E2EF60E08E810E94E2EF8D8107 -:109910008F3F19F060E00E94E2EF6F8564FD19C08F -:1099200063E0CE0135DE84E991E10E94DCF063E082 -:10993000CE012EDE84E991E10E94DCF063E0CE01ED -:1099400027DE86E990E00E94DCF062E0CE0120DEB6 -:1099500013C06062CE01A0DE84E991E10E94DCF0D8 -:109960006F856062CE0198DE86E990E00E94DCF0AF -:109970006F856062CE0190DE6F856062CE018CDE05 -:109980008CE390E00E94DCF084E0888BCE01BEDEA8 -:109990008CE390E00E94DCF0CE0186DE80E496E06D -:1099A0000E94DCF082E0898B66E0CE0175DE8CE3FC -:1099B00090E00E94DCF040E068E0CE017BDE61E7F1 -:1099C0007EE0CE010E94F2F541E068E0CE0172DE59 -:1099D00061E77EE0CE010E94F2F542E066E0CE0152 -:1099E00069DE6FE67EE0CE01DF91CF910C94F2F557 -:1099F000CF92DF92EF92FF920F931F93CF93DF935B -:109A00001F921F92CDB7DEB78C01677088E0689F08 -:109A1000B00111246064C80149835A833DDE498145 -:109A2000C42E5A81D52EE12CF12CD6016D916D01F9 -:109A3000D801ED91FC910190F081E02DC8011995BC -:109A4000BFEFEB1AFB0AE8E0EE16F10471F70F9096 -:109A50000F90DF91CF911F910F91FF90EF90DF90CA -:109A6000CF90089541E0F2DD81E090E008950F93FA -:109A70001F93CF93DF93EC018B0144E150E0BC01D5 -:109A80008AE491E10F946F00CE010F944E00992764 -:109A900044E150E0481B590BB801865B9E4E0F9481 -:109AA0006F008AE491E1DF91CF911F910F910895AA -:109AB000AF92BF92CF92DF92EF92FF920F931F93DC -:109AC000CF93DF93EC015B017A01690144E150E03F -:109AD000BC018AE491E10F946F00CE010F944E0017 -:109AE000EC01DD2704E110E0A8014C1B5D0BB50182 -:109AF000CE01865B9E4E0F946F00C5010F944E0001 -:109B0000C80FD91FDD27A8014C1B5D0BB701CE0183 -:109B1000865B9E4E0F946F00C7010F944E008C0F12 -:109B20009D1F9927A801481B590BB601865B9E4EC5 -:109B30000F946F008AE491E1DF91CF911F910F9113 -:109B4000FF90EF90DF90CF90BF90AF9008952F924D -:109B50003F924F925F926F927F928F929F92AF92BD -:109B6000BF92CF92DF92EF92FF920F931F93CF930A -:109B7000DF93CDB7DEB7CF54D1090FB6F894DEBF6F -:109B80000FBECDBF1C017E8F6D8F4A012FAB09AF79 -:109B90002896EFAE28972C96ACAEBDAECEAEDFAE1B -:109BA0002C9734E0239F50011124FC01EA0DFB1D8A -:109BB00080819181A281B381898F9A8FAB8FBC8F75 -:109BC000DA01AA0DBB1DBCAFABAF4D905D906D909F -:109BD0007C90A3019201698D7A8D8B8D9C8D0E9462 -:109BE00063F621966CAF7DAF8EAF9FAF2197B4E047 -:109BF0000B9F80011124F101E00FF11F20813181C1 -:109C0000428153812F8F38A349A35AA3A401400F47 -:109C1000511F23965FAF4EAF2397DA01CD90DD90B1 -:109C2000ED90FC90A70196016F8D78A189A19AA172 -:109C30000E9463F627966CAF7DAF8EAF9FAF2797DC -:109C40002896EFAD2897B4E0EB9FC0011124F101F5 -:109C5000E80FF91F20813181428153812BA33CA35E -:109C60004DA35EA3ED8DFE8DE80FF91F608171811C -:109C7000828193810E9462F66FA378A789A79AA731 -:109C8000AD8DBE8D1C968D919D910D90BC91A02D9A -:109C900060968CAF9DAFAEAFBFAF6097D1011C9601 -:109CA0002D913D914D915C911F972BA73CA74DA7FE -:109CB0005EA7A301920150582D8B3E8B4F8B588F7E -:109CC000D701C601B058898B9A8BAB8BBC8BED8DBD -:109CD000FE8DEA0DFB1D20813181428153812FA72A -:109CE00038AB49AB5AAB21962CAD3DAD4EAD5FAD17 -:109CF00021976FA578A989A99AA90E9462F66B019C -:109D00007C01ED8DFE8DE00FF11F80819181A2819C -:109D1000B3818BAB9CABADABBEAB27962CAD3DAD51 -:109D20004EAD5FAD2797BC01CD010E9462F64B019D -:109D30005C01A70196016D897E898F89988D0E94AB -:109D400011FA2B013C01A501940169897A898B895B -:109D50009C890E9411FA9B01AC01C301B2010E94CF -:109D600063F62B013C01A50194016D897E898F89E1 -:109D7000988D0E9411FA4B015C01A7019601698937 -:109D80007A898B899C890E9411FA9B01AC01C501DB -:109D9000B4010E9462F6A30192010E94D6F66B0103 -:109DA0007C0120E030E0A9010E943CF787FF0AC057 -:109DB0002BED3FE049EC50E4C701B6010E9463F689 -:109DC0006B017C01AA968FADAA97882351F02BEDE9 -:109DD0003FE049EC50E4C701B6010E9462F66B0116 -:109DE0007C012FA538A949A95AA9698D7A8D8B8D37 -:109DF0009C8D0E943CF781111FC02BA93CA94DA945 -:109E00005EA96F8D78A189A19AA10E943CF781116A -:109E100013C020E030E0A901C701B6010E943CF761 -:109E200081110AC02BED3FE049EC50E4C701B601B7 -:109E30000E9463F66B017C01A9962CAD3DAD4EAD41 -:109E40005FADA997C701B6010E9411FA2FA138A5ED -:109E500049A55AA55F770E944CF94B015C012FE69A -:109E600032E143E85AE30E943CF787FDC8C1C501CF -:109E7000B4010E9419F80E94B0F77A8F698FDB0154 -:109E8000AB2B21F4E1E0F0E0FA8FE98F298D3A8DD8 -:109E9000B90180E090E00E94DCF74B015C019B017E -:109EA000AC01C701B6010E9443F72B013C01A5019B -:109EB00094016FA178A589A59AA50E9443F76FA781 -:109EC00078AB89AB9AAB2BA53CA54DA55EA560965A -:109ED0006CAD7DAD8EAD9FAD60970E9462F6A50121 -:109EE00094010E9443F76BAB7CAB8DAB9EAB20E043 -:109EF00030E040E05FE3C301B2010E9411FAA30128 -:109F000092010E9411FA9B01AC0160E070E080E8D0 -:109F10009FE30E9462F66FA378A789A79AA7CE0154 -:109F20000196FC0128964FAD289734E0439FE00D41 -:109F3000F11D11242BA13CA14DA15EA120833183F1 -:109F4000428353832BA53CA54DA55EA52D873E8757 -:109F50004F87588BB12C41E050E058A34F8F1C0124 -:109F6000BFA9A4E0BA9F800D911D112498AF8FABBB -:109F7000910159AD44E0549F200D311D11243AAF99 -:109F800029AFFCA7EBA74F8D58A1898D9A8D481753 -:109F9000590708F01AC188E18B150CF444C02FA1B1 -:109FA00038A549A55AA569897A898B899C890E9417 -:109FB00011FA6B017C01A30192016D897E898F8961 -:109FC000988D0E9411FAA70196010E9463F6A62EB1 -:109FD000172F982E892E2FA138A549A55AA56D892E -:109FE0007E898F89988D0E9411FA6B017C01A301F3 -:109FF000920169897A898B899C890E9411FA9B0157 -:10A00000AC01C701B6010E9462F66D8B7E8B8F8B0F -:10A01000988FB3948A2D912FA92DB82D898B9A8B67 -:10A02000AB8BBC8B6CC0AF8DB8A1BD0180E090E064 -:10A030000E94DCF7A30192010E9411FA6B017C01DE -:10A040000E9440F7698B7A8B8B8B9C8BC701B60182 -:10A050000E9474FA4B015C01EBADFCADC080D18075 -:10A06000E280F380F7FAF094F7F8F0942396AEAD1F -:10A07000BFAD23972D913D914D915C912BA33CA3B6 -:10A080004DA35EA329893A894B895C89C701B60132 -:10A090000E9411FA6D8B7E8B8F8B988FA501940196 -:10A0A0006BA17CA18DA19EA10E9411FA9B01AC0124 -:10A0B0006D897E898F89988D0E9463F66D8B7E8B6A -:10A0C0008F8B988FA5019401C701B6010E9411FAE8 -:10A0D0006B017C0129893A894B895C896BA17CA140 -:10A0E0008DA19EA10E9411FA9B01AC01C701B6018E -:10A0F0000E9462F6698B7A8B8B8B9C8BB12C2D899D -:10A100003E894F89588D21966CAD7DAD8EAD9FAD4A -:10A1100021970E9463F6EFA9F8AD60837183828373 -:10A12000938329893A894B895C8927966CAD7DADEB -:10A130008EAD9FAD27970E9463F6A9ADBAAD6D9322 -:10A140007D938D939C9313972FA538A949A95AA95C -:10A15000EBA5FCA560817181828193810E9463F6E9 -:10A16000ABA5BCA56D937D938D939C9313972BA961 -:10A170003CA94DA95EA96D857E858F8598890E9431 -:10A1800063F66D877E878F87988BC1010E94D666A4 -:10A19000FE01E659FF4F6F012C96ECACFDAC0EAD05 -:10A1A0001FAD2C979E01235F3F4FAE01475F5F4F6E -:10A1B000BE016B5F7F4FC1010E94B4E12F8D38A1BA -:10A1C0002F5F3F4F38A32F8FDECE2D8D3E8D245F26 -:10A1D0003F4F4D8D5E8D485F5F4F6D8D7E8D6C5F07 -:10A1E0007F4FDE01A659BF4F6D012C96ECACFDAC44 -:10A1F0000EAD1FAD2C978D8D9E8D0E94B4E1C15B7D -:10A20000DF4F0FB6F894DEBF0FBECDBFDF91CF9109 -:10A210001F910F91FF90EF90DF90CF90BF90AF9084 -:10A220009F908F907F906F905F904F903F902F9076 -:10A230000895FC01148217821382128286E99EE03F -:10A2400091838083089526E93EE0FC0131832083D9 -:10A250002781222319F004960C94CF340895CF92CD -:10A26000DF92EF92FF920F931F93CF93DF93EC0156 -:10A27000875B9F4FDEDFCE0186599F4FDADF7E017D -:10A2800029E8E20EF11C87016E0131E4C31A3EEFAA -:10A29000D30AC801CEDF015E1F4F0C151D05C9F79B -:10A2A000FE01EF53FE4F89E1818314823596178AB0 -:10A2B000CE018C519E4FBDDFFE01EB56FD4F10824B -:10A2C00011821282138238961082118212821382B6 -:10A2D0001A821B82188219826E0187E6C81A8DEFD6 -:10A2E000D80AF6011082118212821382F8011182BB -:10A2F0001082FE01ED5FFD4F108286E391E0F701D1 -:10A300009C01119221503040E1F7FE01EF55FD4FC5 -:10A3100081E08083C95BDF4F198218820E9489F037 -:10A3200068577C4E8F4F9F4FF60160837183828305 -:10A330009383DF91CF911F910F91FF90EF90DF906A -:10A34000CF900895FC0120E03EE2DB014C914032C9 -:10A3500041F0283011F430833196DB014C91408379 -:10A3600031962F5F6F5F7F4F2B3079F71082089502 -:10A370002F923F924F925F926F927F928F929F9215 -:10A38000AF92BF92CF92DF92EF92FF920F931F9303 -:10A39000CF93DF93CDB7DEB7CA58D1090FB6F89483 -:10A3A000DEBF0FBECDBF8C016B017A014901CA57D8 -:10A3B000DF4F1882C658D04084E0E80EF11C180127 -:10A3C00091E1290E311CF801EA5BFF4FC957DF4FBD -:10A3D000F983E883C758D0403801FEE56F1AFDEFD6 -:10A3E0007F0A58018CE5A81A8DEFB80A90E4492E2F -:10A3F000512C4C0E5D1E94E0490E511CA101BE0172 -:10A400006F5F7F4FC7010E94393318160CF04AC1A5 -:10A410002C85322F3871303109F0ACC0F3018081C6 -:10A4200091810197029708F4A5C0BE016F5F7F4F2D -:10A43000CE0187589F4F86DFA0961FAEA097F601EA -:10A440008081811107C065E57DE0CE01815A9F4F73 -:10A450000F94C800B601CE01815A9F4F0F94C800D7 -:10A46000BE0167587F4FCE01815A9F4F0F94C8009D -:10A4700065E57DE0CE01815A9F4F0F94C800CE0163 -:10A48000805C9F4FD6DE21E0AE0147585F4FB70199 -:10A49000C2010E94C636811147C0F30180819181BB -:10A4A000892B09F041C0E1E9F2E58491882341F06C -:10A4B0009091C00095FFFCCF8093C6003196F5CFF8 -:10A4C000E0917B13F0E0EE0FFF1FE45EFD4F019083 -:10A4D000F081E02DE457FE4F0190F081E02D819155 -:10A4E000882339F09091C00095FFFCCF8093C6007F -:10A4F000F6CF8091C00085FFFCCF8AE08093C60034 -:10A50000FE01E758FF4F8191882339F09091C000F8 -:10A5100095FFFCCF8093C600F6CF8091C00085FFE9 -:10A52000FCCF8AE08093C6008BE1FE01EC5BFF4F1D -:10A53000DE01959601900D928A95E1F724968EADF5 -:10A540009FAD24979CA38BA386E99EE09AA389A341 -:10A5500020E030E0AE014F5D5F4FBE01615A7F4F9A -:10A56000C80106DFCE0181966EDECE01805C9F4F72 -:10A570006ADE44CF8981882309F494C08E3209F4BD -:10A580003DCF8F3509F43ACFF80181898E3209F435 -:10A5900035CF8F3509F432CF23FD30CF81E0303114 -:10A5A00009F080E0C957DF4FE881F981C758D040F2 -:10A5B0008083811108C08985873409F01FCF8A857F -:10A5C0008E3709F41BCF98012C5F3F4FBE016F5FA0 -:10A5D0007F4FC901C757DF4F2883C958D040C6579E -:10A5E000DF4F3883CA58D040ADDEF30180819181BE -:10A5F000C757DF4F2881C958D040C657DF4F388131 -:10A60000CA58D0400097F1F4F6018191882339F0BF -:10A610009091C00095FFFCCF8093C600F6CFF90162 -:10A620008191882339F09091C00095FFFCCF8093F1 -:10A63000C600F6CF8091C00085FFFCCF8AE08093F2 -:10A64000C600DCCE8130910539F4F501808191811D -:10A65000019691838083D2CE029709F0CFCE8114E8 -:10A66000910439F0B901C4010F94B500892B71F43C -:10A6700019C0CA57DF4FF881C658D0402F2F30E09D -:10A68000F501808191812817390761F0CA57DF4FA2 -:10A69000F881C658D040FF5FCA57DF4FF883C658CD -:10A6A000D040ACCEC657DF4F0FB6F894DEBF0FBE1A -:10A6B000CDBFDF91CF911F910F91FF90EF90DF9071 -:10A6C000CF90BF90AF909F908F907F906F905F9052 -:10A6D0004F903F902F9008950F931F93CF93DF9348 -:10A6E000CDB7DEB76F970FB6F894DEBF0FBECDBF04 -:10A6F0008C01FC01EE55FD4F1182108240E050E0CC -:10A70000BA01835B9F4F0E94EC33C801875B9F4F68 -:10A710002BE1FC013496DE01159601900D922A95ED -:10A72000E1F7FC01828193819C838B8386E99EE023 -:10A730009A83898320E030E0AE014F5F5F4F67E787 -:10A740007EE0C80115DECE0101967DDD6F960FB665 -:10A75000F894DEBF0FBECDBFDF91CF911F910F9157 -:10A7600008952BE1FB013496DC01149601900D92C3 -:10A770002A95E1F7FB0122813381FC013383228397 -:10A780000895EF92FF920F931F93CF93DF93EC0105 -:10A790001B82FC01E05BFF4F8081882329F0CE0102 -:10A7A000835B9F4F0E94CF347E018FE3E81A8EEFC8 -:10A7B000F80A45E360E0C7010E947D5F81112CC06B -:10A7C000E1E9F2E58491882341F09091C00095FF82 -:10A7D000FCCF8093C6003196F5CFE0917B13F0E07B -:10A7E000EE0FFF1FE45EFD4F0190F081E02DE25778 -:10A7F000FE4F0190F081E02D8491882341F09091EB -:10A80000C00095FFFCCF8093C6003196F5CF8091B4 -:10A81000C00085FFFCCF9EC08E010A531E4F41E051 -:10A82000B701C8010E949D3C811133C040E0B701CF -:10A83000C8010E949D3C81112CC0E7E9F2E584919A -:10A84000882341F09091C00095FFFCCF8093C60013 -:10A850003196F5CFE0917B13F0E0EE0FFF1FE45E41 -:10A86000FD4F0190F081E02DE057FE4F0190F08107 -:10A87000E02D8491882341F09091C00095FFFCCF9A -:10A880008093C6003196F5CF8091C00085FFFCCF44 -:10A8900061C0B801CE01835B9F4F0E94DC31811102 -:10A8A0002CC0E7E9F2E58491882341F09091C00043 -:10A8B00095FFFCCF8093C6003196F5CFE0917B13D6 -:10A8C000F0E0EE0FFF1FE45EFD4F0190F081E02D00 -:10A8D000EE56FE4F0190F081E02D8491882341F0E7 -:10A8E0009091C00095FFFCCF8093C6003196F5CFC4 -:10A8F0008091C00085FFFCCF2DC081E08B83E1E912 -:10A90000F2E58491882341F09091C00095FFFCCF3F -:10A910008093C6003196F5CFE0917B13F0E0EE0F07 -:10A92000FF1FE45EFD4F0190F081E02DEC56FE4FDD -:10A930000190F081E02D8491882341F09091C00036 -:10A9400095FFFCCF8093C6003196F5CF8091C00073 -:10A9500085FFFCCF8AE08093C6008E01075B1F4F06 -:10A96000B801CE0186599F4FFCDEC859DF4F1983CD -:10A970000883DF91CF911F910F91FF90EF90089581 -:10A98000FC01128213820895FC012381222311F01D -:10A9900021E022830895FC01228121111282089571 -:10A9A000AF92BF92CF92DF92EF92FF920F931F93DD -:10A9B000CF93DF931F92CDB7DEB78C018FE2FB01FF -:10A9C00081935F01D12C41E07801F1E4EF1AFEEFB1 -:10A9D000FF0A6FE1C62E2D2D30E0F70180819181B5 -:10A9E00028173907D8F4C29EC001C39E900D1124C8 -:10A9F00083579F4FB501800F911F49830E94833178 -:10AA0000C50149815C010196F5012081222321F0D5 -:10AA10004D3810F44F5FF6CFD394DDCF47FD11C012 -:10AA2000B501C80188519E4F0F90DF91CF911F91C2 -:10AA30000F91FF90EF90DF90CF90BF90AF900C946C -:10AA40008331F50110820F90DF91CF911F910F910B -:10AA5000FF90EF90DF90CF90BF90AF9008953F921E -:10AA60004F925F926F927F928F929F92AF92BF921E -:10AA7000CF92DF92EF92FF920F931F93CF93DF93CA -:10AA8000CDB7DEB7AC970FB6F894DEBF0FBECDBF23 -:10AA90007C015B01FC018381882309F408C1C701A3 -:10AAA00088519E4F0E94CF34F7011282CE01019649 -:10AAB0006C01BFDB270198E6490E511CC701875B7B -:10AAC0009F4FF20191838083F50180818F3209F0DD -:10AAD00084C06FE270E0C5010F94D3008C010F5F5A -:10AAE0001F4F7AE0372E0115110509F47CC06FE283 -:10AAF00070E0C8010F94D3004C01009709F474C0B2 -:10AB00000817190708F070C03C01601A710AA30108 -:10AB1000B801CE0180960F94FC00E0E2F0E0EC0F6B -:10AB2000FD1FE60DF71D1082FE01B096819188236E -:10AB300039F09091C00095FFFCCF8093C600F6CF0E -:10AB40008091C00085FFFCCF3092C600F201608189 -:10AB500071816115710519F06C5F7F4F02C060E073 -:10AB600070E021E0AE01405E5F4FCE0105960E948D -:10AB7000C63681112BC0E7E5FDE08491882341F0C2 -:10AB80009091C00095FFFCCF8093C6003196F5CF21 -:10AB9000FE01B0968191882339F09091C00095FF15 -:10ABA000FCCF8093C600F6CFEEECFEE484918823C0 -:10ABB00041F09091C00095FFFCCF8093C600319684 -:10ABC000F5CF8091C00085FFFCCF6CC0F201D1822F -:10ABD000C08284010F5F1F4F86CFC70186599F4FE8 -:10ABE000F201918380838501F20180819181009738 -:10ABF00011F0049602C080E090E0B8010E949C37FA -:10AC0000882339F1E0ECFEE48491882341F09091AF -:10AC1000C00095FFFCCF8093C6003196F5CFF801B8 -:10AC20008191882339F09091C00095FFFCCF8093EB -:10AC3000C600F6CF8091C00085FFFCCF8AE08093EC -:10AC4000C600F701E356FD4F108211821282138273 -:10AC50002CC0E8EAFEE48491882341F09091C00082 -:10AC600095FFFCCF8093C6003196F5CFF801819116 -:10AC7000882339F09091C00095FFFCCF8093C600E7 -:10AC8000F6CFE6EAFEE48491882341F09091C0007B -:10AC900095FFFCCF8093C6003196F5CF8091C00020 -:10ACA00085FFFCCF8AE08093C600C601CCDAAC9663 -:10ACB0000FB6F894DEBF0FBECDBFDF91CF911F91CD -:10ACC0000F91FF90EF90DF90CF90BF90AF909F904B -:10ACD0008F907F906F905F904F903F9008958F92EC -:10ACE0009F92AF92BF92CF92DF92EF92FF92CF935B -:10ACF000DF931F92CDB7DEB77C01FC0182818823F0 -:10AD000009F4BCC071968191882339F09091C000FC -:10AD100095FFFCCF8093C600F6CFE4EAFEE4849171 -:10AD2000882341F09091C00095FFFCCF8093C6002E -:10AD30003196F5CFE0917B13F0E0EE0FFF1FE45E5C -:10AD4000FD4F0190F081E02DEE55FE4F0190F08116 -:10AD5000E02D8491882341F09091C00095FFFCCFB5 -:10AD60008093C6003196F5CFF701E356FD4F408141 -:10AD70005181628173812AE030E08BEF96E10E947D -:10AD8000F9D0E2EAFEE48491882341F09091C0007A -:10AD900095FFFCCF8093C6003196F5CFF701EB56B7 -:10ADA000FD4F40815181628173812AE030E08BEF59 -:10ADB00096E10E94F9D08091C00085FFFCCF8AE027 -:10ADC0008093C6000E9489F0E0E6CE2EEAEEDE2EE9 -:10ADD000E12CF12CA70196010E941AFB49015A01AE -:10ADE00060916B1170916C1180916D1190916E1149 -:10ADF000A70196010E941AFB821A930AC4016CE310 -:10AE000070E00E94F3FA6983CE0101960E940FA5BB -:10AE1000FC012191CF01222339F03091C00035FF90 -:10AE2000FCCF2093C600F4CF40E050E06AE38BEF04 -:10AE300096E10E94B1D0C4016CE370E00E94F3FA85 -:10AE40008983CE0101960E940FA5FC012191CF01BB -:10AE5000222339F03091C00035FFFCCF2093C6008B -:10AE6000F4CFE0EAFEE484918823E1F09091C00001 -:10AE700095FFFCCF8093C6003196F5CFEBE6FDE061 -:10AE80008491882341F09091C00095FFFCCF80937E -:10AE9000C6003196F5CF8091C00085FFFCCF8AE0D7 -:10AEA0008093C6000F90DF91CF91FF90EF90DF90DD -:10AEB000CF90BF90AF909F908F900895AF92BF9228 -:10AEC000CF92DF92EF92FF920F931F93CF93DF9376 -:10AED0005C01EB01FB0101900020E9F78F010150BB -:10AEE0001109061B170B6C01F8E1CF1AFEEFDF0A00 -:10AEF000F60110826EE470E0CE010F94D3007C0165 -:10AF0000009729F4F8013197EC0FFD1F0DC060E2A6 -:10AF100070E00F94D300EC0121966AE270E0C70163 -:10AF20000F94D300FC0131978DE081838AE0828306 -:10AF30001382BE01C5018C519E4F0E94B6D1F6010D -:10AF40008081882371F1E7E9F2E58491882341F05B -:10AF50009091C00095FFFCCF8093C6003196F5CF4D -:10AF6000E0917B13F0E0EE0FFF1FE45EFD4F0190D8 -:10AF7000F081E02DEA55FE4F0190F081E02D8491A3 -:10AF8000882341F09091C00095FFFCCF8093C600CC -:10AF90003196F5CF8091C00085FFFCCF8AE0809389 -:10AFA000C600DF91CF911F910F91FF90EF90DF903E -:10AFB000CF90BF90AF9008952F923F924F925F92A3 -:10AFC0006F927F928F929F92AF92BF92CF92DF92B9 -:10AFD000EF92FF920F931F93CF93DF93CDB7DEB71E -:10AFE000CC55D1090FB6F894DEBF0FBECDBF4C01D2 -:10AFF0008C010F551D4F662339F0F8011082F401C2 -:10B00000838181111DC015C0F8018081882309F456 -:10B01000AFC0F401E756FD4FC080D180E280F380DD -:10B020000E9489F0C616D706E806F90608F4A0C003 -:10B03000E4CFC401A6DBF4018381882309F498C01E -:10B040007401F7E4EF0EF11CF70181818F93808189 -:10B050008F9387E99EE49F938F938E01015C1F4F2E -:10B060001F930F930F940B010F900F900F900F9061 -:10B070000F900F90B12CF80101900020E9F7319763 -:10B08000E01BF10BBE1684F46801CB0CD11CB7FC9D -:10B09000DA94F6018081992787FD90950F943F00FF -:10B0A000F6018083B394E7CFFDE48F0E911C40E05E -:10B0B00050E0BA01C4010E94EC33512CCE0101963C -:10B0C0006C0180E9682E8EE4782E5E0191E2A90E73 -:10B0D000B11C40E050E0B601C4010E94393318169B -:10B0E000DCF5412CF60101900020E9F73197EC19CD -:10B0F000FD094E1674F41601240C311C47FC3A94D9 -:10B10000F101808190E00F943F00F101808343942E -:10B11000E9CF8A858E37E9F245E050E0B801C601F3 -:10B120000F94EE00892BA9F61F930F937F926F92D5 -:10B13000BF92AF920F940B01C5010E947E628CE812 -:10B140009EE40E94FE620F900F900F900F900F9060 -:10B150000F9055245394BDCF511004C08FEF9FEF33 -:10B16000F70104C0F701808191810196918380836A -:10B17000C45ADF4F0FB6F894DEBF0FBECDBFDF91CC -:10B18000CF911F910F91FF90EF90DF90CF90BF90E4 -:10B19000AF909F908F907F906F905F904F903F9077 -:10B1A0002F9008950F931F93CF93DF93EC018C01A1 -:10B1B00008511E4FC8010E948534C8010E94CF3437 -:10B1C00018821982DF91CF911F910F910895CF922C -:10B1D000DF92EF92FF920F931F93CF93DF93CDB740 -:10B1E000DEB76F970FB6F894DEBF0FBECDBF8C01F0 -:10B1F0006A017C0188E6E80EF11CC80186599F4F60 -:10B20000F70191838083E65CFD4F22E030E03183DB -:10B21000208332967183608340E050E0BA01049647 -:10B220000E94EC33F701808191812BE1FC0134967F -:10B23000DE01159601900D922A95E1F7FC018281BD -:10B2400093819C838B8386E99EE09A838983960110 -:10B25000AE014F5F5F4F67E77EE0C80189D8CE013E -:10B2600001960E9423516F960FB6F894DEBF0FBE71 -:10B27000CDBFDF91CF911F910F91FF90EF90DF90A5 -:10B28000CF9008952F923F924F925F926F927F924C -:10B290008F929F92AF92BF92CF92DF92EF92FF92E6 -:10B2A0000F931F93CF93DF93CDB7DEB7AC970FB655 -:10B2B000F894DEBF0FBECDBF8C016B01342EDC01D4 -:10B2C00013968C91882309F449C3F801E551FE4F88 -:10B2D0008081882309F4F5C02111C1C07801BDEF38 -:10B2E000EB1AFB0AF7018081882361F1E7E9F2E5B7 -:10B2F0008491882341F09091C00095FFFCCF80930A -:10B30000C6003196F5CFE2E2FFE48491882341F054 -:10B310009091C00095FFFCCF8093C6003196F5CF89 -:10B320004AE050E061E070E08BEF96E10E94CDD002 -:10B330008091C00085FFFCCF8AE08093C6000E9408 -:10B340008E6A0CC3E1E9F2E58491882341F0909183 -:10B35000C00095FFFCCF8093C6003196F5CFE9E0A1 -:10B36000FFE48491882341F09091C00095FFFCCFC9 -:10B370008093C6003196F5CFF6018191882339F08C -:10B380009091C00095FFFCCF8093C600F6CFEEEF02 -:10B39000FEE48491882341F09091C00095FFFCCF9A -:10B3A0008093C6003196F5CFD7018C91FDE8BF2E72 -:10B3B000B801B89E600D711D1124685F7D4FC801F2 -:10B3C000EFDAF7018081F801B89EE00DF11D11243C -:10B3D000E85FFD4F8191882339F09091C00095FF7F -:10B3E000FCCF8093C600F6CFE8EFFEE4849188237B -:10B3F00041F09091C00095FFFCCF8093C60031963C -:10B40000F5CF5801F3E6AF1AFDEFBF0AD5014D9114 -:10B410005D916D917C912AE030E08BEF96E10E9486 -:10B42000F9D08091C00085FFFCCF8AE08093C600F0 -:10B43000F7012081F80184E0289FE00DF11D11241F -:10B44000EC5FFD4FD5014D915D916D917C914083F5 -:10B450005183628373832F5FF70120832CC0E1E95E -:10B46000F2E58491882341F09091C00095FFFCCFD4 -:10B470008093C6003196F5CFE7EEFEE484918823F1 -:10B4800041F09091C00095FFFCCF8093C6003196AB -:10B49000F5CFF6018191882339F09091C00095FF96 -:10B4A000FCCF8093C600F6CF8091C00085FFFCCF13 -:10B4B0008AE08093C600C80188519E4F0E94CF3415 -:10B4C00030C0F801ED5FFD4F1082E1E9F2E58491B3 -:10B4D000882341F09091C00095FFFCCF8093C60077 -:10B4E0003196F5CFE6EDFEE48491882341F090910A -:10B4F000C00095FFFCCF8093C6003196F5CFF601D2 -:10B500008191882339F09091C00095FFFCCF809302 -:10B51000C600F6CF8091C00085FFFCCF8AE0809303 -:10B52000C600D80112961C92FE0131965F01CF0130 -:10B530000E9419512801F8E64F0E511CC801875B83 -:10B540009F4FD2018D939C93F60180818F3209F039 -:10B5500091C06FE270E0C6010F94D30001967C01A8 -:10B56000EAE02E2EE114F10409F48AC06FE270E0E3 -:10B57000C7010F94D3004C01009709F482C0E8166C -:10B58000F90608F07EC03C016E187F08A301B701E0 -:10B59000CE0180960F94FC00E0E2F0E0EC0FFD1F7E -:10B5A000E60DF71D1082FE01B0968191882339F0D7 -:10B5B0009091C00095FFFCCF8093C600F6CF80919C -:10B5C000C00085FFFCCF2092C600D2016D917C9116 -:10B5D0006115710519F06C5F7F4F02C060E070E08B -:10B5E00021E0AE01405E5F4FCE0105960E94C63657 -:10B5F000811138C0E0917B13F0E0EE0FFF1FE45E95 -:10B60000FD4F0190F081E02DE856FE4F0190F08152 -:10B61000E02D8491882341F09091C00095FFFCCFEC -:10B620008093C6003196F5CFFE01B09681918823B4 -:10B6300039F09091C00095FFFCCF8093C600F6CF03 -:10B64000E4EDFEE48491882341F09091C00095FFE1 -:10B65000FCCF8093C6003196F5CF8091C00085FF66 -:10B66000FCCF43C1F201B182A0827401FFEFEF1A57 -:10B67000FF0A78CFC80186599F4FD2018D939C93C2 -:10B680007601F801E851FE4F4F01332009F4E5C07F -:10B69000D2016D917C916115710519F06C5F7F4F3E -:10B6A00002C060E070E021E0A701C4010E94C6363C -:10B6B00020917B13882309F49AC0F401818992892F -:10B6C000A389B489F801EB56FD4F80839183A2834F -:10B6D000B383E22FF0E0EE0FFF1FE45EFD4F019019 -:10B6E000F081E02DE656FE4F0190F081E02D84912F -:10B6F000D801AB56BD4F882349F09091C00095FF0B -:10B70000FCCF8093C60031968491F5CFF7018191EB -:10B71000882339F09091C00095FFFCCF8093C6003C -:10B72000F6CFE0917B13F0E0EE0FFF1FE45EFD4FDC -:10B730000190F081E02DE456FE4F0190F081E02D64 -:10B740008491882341F09091C00095FFFCCF8093B5 -:10B75000C6003196F5CF4D915D916D917C912AE0B7 -:10B7600030E08BEF96E10E94F9D08091C00085FF18 -:10B77000FCCF8AE08093C600F801E356FD4F1082AB -:10B78000118212821382E0917B13F0E0EE0FFF1F13 -:10B79000E45EFD4F0190F081E02DE256FE4F0190F6 -:10B7A000F081E02D8491882341F09091C00095FFB5 -:10B7B000FCCF8093C6003196F5CF8091C00085FF05 -:10B7C000FCCF8AE08093C600A70160E070E0C8016A -:10B7D000FEDCD80151968C91882319F0C80141965E -:10B7E00001C0C7010E947CA188E79DE0B2C0E22FA2 -:10B7F000F0E0EE0FFF1FE45EFD4F0190F081E02DC1 -:10B80000E856FE4F0190F081E02D8491882341F0AD -:10B810009091C00095FFFCCF8093C6003196F5CF84 -:10B82000F7018191882339F09091C00095FFFCCFFA -:10B830008093C600F6CFE2EDFEE48491882341F0C8 -:10B840009091C00095FFFCCF8093C6003196F5CF54 -:10B850008091C00085FFFCCF48C0F20160817181FA -:10B860006115710519F06C5F7F4F02C060E070E0F8 -:10B8700026E5A701C4010E94C63681113AC0E091B5 -:10B880007B13F0E0EE0FFF1FE45EFD4F0190F081AF -:10B89000E02DE856FE4F0190F081E02D8491882341 -:10B8A00041F09091C00095FFFCCF8093C600319687 -:10B8B000F5CFF7018191882339F09091C00095FF71 -:10B8C000FCCF8093C600F6CFE0EDFEE484918823A0 -:10B8D00041F09091C00095FFFCCF8093C600319657 -:10B8E000F5CF8091C00085FFFCCF8AE08093C60031 -:10B8F00032C081E0D8018C93E0917B13F0E0EE0F31 -:10B90000FF1FE45EFD4F0190F081E02DE056FE4FF9 -:10B910000190F081E02D8491882341F09091C00046 -:10B9200095FFFCCF8093C6003196F5CFF60181914B -:10B93000882339F09091C00095FFFCCF8093C6001A -:10B94000F6CF8091C00085FFFCCF8AE08093C600CF -:10B95000C7010E947CA1C5010E942351AC960FB67D -:10B96000F894DEBF0FBECDBFDF91CF911F910F9135 -:10B97000FF90EF90DF90CF90BF90AF909F908F900F -:10B980007F906F905F904F903F902F90089521E0AF -:10B99000FC01218340E076CCCF92DF92EF92FF92C0 -:10B9A0000F931F93CF93DF93CDB7DEB76F970FB68B -:10B9B000F894DEBF0FBECDBF8C016C0128E6C20E2D -:10B9C000D11C86599F4FF60191838083E65CFD4F21 -:10B9D00021E030E0318320837801FCE5EF1AFDEFB0 -:10B9E000FF0AF7011182108240E050E0BA0104968C -:10B9F0000E94EC33F601808191812BE1FC013496A9 -:10BA0000DE01159601900D922A95E1F7FC018281E5 -:10BA100093819C838B8386E99EE09A83898320E0CF -:10BA200030E0AE014F5F5F4F67E77EE0C8010E94E4 -:10BA3000B851CE0101960E942351F7018081918176 -:10BA40006F960FB6F894DEBF0FBECDBFDF91CF91DA -:10BA50001F910F91FF90EF90DF90CF900895AF92DC -:10BA6000BF92CF92DF92EF92FF920F931F93CF93EB -:10BA7000DF93CDB7DEB76F970FB6F894DEBF0FBE7A -:10BA8000CDBF8C017B01CE0101960E941951F801B6 -:10BA9000EF58FF4F80816801811104C029E4C20E74 -:10BAA000D11C03C08AE6C80ED11C21E0A701B60153 -:10BAB0006C5F7F4FCE0105960E94C63681113AC059 -:10BAC000E1E9F2E58491882341F09091C00095FF6F -:10BAD000FCCF8093C6003196F5CFE0917B13F0E068 -:10BAE000EE0FFF1FE45EFD4F0190F081E02DE85561 -:10BAF000FE4F0190F081E02D8491882341F09091D8 -:10BB0000C00095FFFCCF8093C6003196F5CFF701BA -:10BB10008191882339F09091C00095FFFCCF8093EC -:10BB2000C600F6CF8091C00085FFFCCF8AE08093ED -:10BB3000C60036C0F801E154FE4F808191818A3001 -:10BB4000910530F59C012F5F3F4F318320832FE11A -:10BB5000289F7001299FF00C112429E8E20EF11CA6 -:10BB6000E00EF11E5C01B701C7014F960E94B15370 -:10BB700081E0A81AB1082FE1E21AF1088FEFA816A8 -:10BB8000B80689F7B601C80187579F4F0E94B15385 -:10BB9000BE016F5F7F4FC80186599F4F0E94B1530E -:10BBA000CE0101960E9423516F960FB6F894DEBF26 -:10BBB0000FBECDBFDF91CF911F910F91FF90EF90FE -:10BBC000DF90CF90BF90AF900895EF92FF920F93C8 -:10BBD0001F93CF93DF93EC01C154DE4F288139814D -:10BBE00021153105F9F021503109398328838C0161 -:10BBF00007571F4FB80186599F4F0E94B153C80184 -:10BC000000E010E07C012FE1E20EF11C2881398177 -:10BC10000217130738F40F5F1F4FB7010E94B1538B -:10BC2000C701F0CFDF91CF911F910F91FF90EF905F -:10BC30000895EF92FF920F931F93CF93DF93EC0140 -:10BC40000E9421DA8E010D5F1D4FF80180819E0157 -:10BC500028513E4F79018823A1F1C9010E94CF34B8 -:10BC6000F801808181508083BE01FDE88F9F600DC7 -:10BC7000711D1124685F7D4F21E041E0CE0102DBA0 -:10BC8000F8018081FE0124E0829FE00DF11D112466 -:10BC9000EC5FFD4F4081518162817381FE01E3566B -:10BCA000FD4F4083518362837383C7010E94EC334D -:10BCB000CE01DF91CF911F910F91FF90EF900C94E7 -:10BCC000C4540E9497DAC7010E94CF341A8280E8D8 -:10BCD0009EE4DF91CF911F910F91FF90EF908EC462 -:10BCE0008FEF8EBD0DB407FEFDCF8EB508958EBDCE -:10BCF0000DB407FEFDCF089561E0FC0180810C9436 -:10BD0000E2EFFC012281322F306A36953CBD20FDE6 -:10BD100006C031E0263009F430E0232F01C020E0D6 -:10BD20002DBD60E0FC0180810C94E2EFCF92DF92A8 -:10BD3000EF92FF920F931F93CF93DF93EC018B0150 -:10BD40007A010E9489F06B01CBDF8B838F3F49F42E -:10BD50000E9489F06C197D096D327140A8F381E170 -:10BD600044C08E3F11F08FE040C0E114F104D9F0DF -:10BD7000C70101972FEF2EBDF8014FEF9F01201B48 -:10BD8000310B2817390738F40DB407FEFDCF2EB557 -:10BD900021934EBDF3CF0DB407FEFDCF2EB5F801B4 -:10BDA000E80FF91F2083D801E00EF11EC12CD12C21 -:10BDB000AE15BF0579F08D91ED2DFF27E827EE0F29 -:10BDC000FF1FEB59F04B85919491DC2CCC24C826B5 -:10BDD000D926EECF85DF082F10E0102F002780DF57 -:10BDE000082BC016D10631F080E28983CE0184DFB2 -:10BDF00080E003C0CE0180DF81E0DF91CF911F9111 -:10BE00000F91FF90EF90DF90CF9008950F931F93C5 -:10BE1000CF93DF93EB010E9489F08B0161DF8F3FAD -:10BE200049F00E9489F0601B710B6C177D07B0F31D -:10BE300080E001C081E0DF91CF911F910F910895C3 -:10BE4000CF92DF92FF920F931F93CF93DF9300D097 -:10BE50001F92CDB7DEB76C01F62E29833A834B8350 -:10BE60005C834FDF6CE271E0C601D0DF8F2D806410 -:10BE70003EDF08E110E05C814B813A812981DA01E3 -:10BE8000C901002E04C0B695A795979587950A9489 -:10BE9000D2F729833A834B835C8329DF0850110949 -:10BEA00029813A814B815C81083F8FEF180739F770 -:10BEB000FF2029F0E8E0FE1621F08FEF03C085E9AE -:10BEC00001C087E814DFFCE0FF1201C009DF10E0C9 -:10BED00007DFF601838387FF04C01F3F11F01F5F58 -:10BEE000F7CF0F900F900F900F90DF91CF911F9190 -:10BEF0000F91FF90DF90CF900895BF92CF92DF9285 -:10BF0000EF92FF920F931F93CF93DF93EC01B62E26 -:10BF10001C82198248830E9489F08B0161E088812C -:10BF20000E94A9EFCE01E8DE60E082E30E94A9EF63 -:10BF300061E083E30E94A9EF61E084E30E94A9EF3E -:10BF400061E085E30E94A9EF61E085E30E94E2EFF2 -:10BF500085E08A8382E58CBD1DBC6AE0F62E8FEFFA -:10BF6000C6DEFA94E1F720E030E0A90160E0CE01FE -:10BF700067DFF82E8B8381E0F81649F00E9489F084 -:10BF8000601B710B613D774070F381E046C02AEA87 -:10BF900031E040E050E068E0CE0152DF82FF02C0B5 -:10BFA000FC820CC054E0F52E9BDE8B83FA94E1F703 -:10BFB0008A3A11F082E031C082E08C838C81823039 -:10BFC00031F4C12CD12CE12C40E4F42E03C0C12C5F -:10BFD000D12C760120E030E0A90167E3CE0130DF0B -:10BFE000A701960169E2CE012BDF8B83882349F0FC -:10BFF0000E9489F0601B710B613D774058F38AE025 -:10C000000CC08C818230B1F420E030E0A9016AE3F9 -:10C01000CE0116DF882329F088E08983CE016CDE0B -:10C0200014C05EDE807C803C11F483E08C8358DE9B -:10C0300057DE56DECE0160DE86E08B1518F488E10F -:10C04000898303C0BA8281E001C080E0DF91CF9193 -:10C050001F910F91FF90EF90DF90CF90BF900895C8 -:10C06000AF92BF92CF92DF92EF92FF920F931F9306 -:10C07000CF93DF93EC016A017B0189018C818330CE -:10C0800039F0F9E0CC0CDD1CEE1CFF1CFA95D1F761 -:10C0900073E0B72EE4E0AE2EBA94A701960161E1F9 -:10C0A000CE01CEDE882311F0A98207C040E052E025 -:10C0B000B801CE013BDE81110EC0CE01BB2049F09C -:10C0C0001BDE20E030E0A9016CE0CE01B9DE198270 -:10C0D000E3CF12DE80E0DF91CF911F910F91FF90AF -:10C0E000EF90DF90CF90BF90AF900895CF93DF9304 -:10C0F000EC016EBD20E030E00DB407FEFDCFFA018B -:10C10000E20FF31F80818EBD0DB407FEFDCF81814C -:10C110008EBD2E5F3F4F211582E0380769F70DB4C1 -:10C1200007FEFDCF8FEFE3DD8FEFE1DDD9DD8B8300 -:10C130008F71853031F083E18983CE01DDDD80E0D0 -:10C1400001C081E0DF91CF9108950F931F93CF93AA -:10C15000DF93EC0189018C81833039F0B9E0440F21 -:10C16000551F661F771FBA95D1F79A01AB0168E199 -:10C17000CE0166DE882311F086E01EC0A8016EEFB6 -:10C18000CE01B4DF8823C9F068E572E0CE013EDE5F -:10C19000182F811102C087E10FC020E030E0A90113 -:10C1A0006DE0CE014DDE811106C09ADD811103C024 -:10C1B000CE01A2DD05C086E18983CE019DDD10E0C0 -:10C1C000812FDF91CF911F910F910895FC0165910F -:10C1D00075918591949108952F923F924F925F921D -:10C1E0006F927F928F929F92AF92BF92CF92DF9287 -:10C1F000EF92FF920F931F93CF93DF9300D000D065 -:10C20000CDB7DEB71C01FC01EE5AFD4A14919C012A -:10C21000220F331F220F331F3E832D83235A3C4EA0 -:10C220004901F901108211821282138229E633E159 -:10C2300045E653E161E673E18DE593E10E9496EBFB -:10C240008D819E818F599D4AC1DF6B017C01612FD9 -:10C25000772767FD7095872F972F0E94DEF72B01B8 -:10C260003C012D813E81285D3C4E590120E030E0AB -:10C2700040EC5FE3C701B6010E9411FAA3019201ED -:10C280000E9411FAF50160837183828393832D816B -:10C290003E81255B334F3C832B83F90160817181A3 -:10C2A0008281938160930D0C70930E0C80930F0C20 -:10C2B0009093100C20E030E040E752E40E9443F7F6 -:10C2C00029E4C22E23E1D22E7B018C0124E333E149 -:10C2D00040E353E16CE273E188E293E10E94B4E150 -:10C2E0000E9421DAF401108211821282138229E65F -:10C2F00033E145E653E161E673E18DE593E10E94A8 -:10C3000096EB2D813E812B5A3D4A3A832983C90100 -:10C310005DDF9058A30192010E9411FAF50160833C -:10C3200071838283938320E030E040E752E46091A0 -:10C330000D0C70910E0C80910F0C9091100C0E94BE -:10C3400043F77B018C0124E333E140E353E16CE2EA -:10C3500073E188E293E10E94B4E10E9421DA8981CD -:10C360009A8134DF9B01AC010E9463F6A301920124 -:10C370000E9411FAF501608371838283938320E028 -:10C3800030E040E05FE3EB81FC816081718182817C -:10C3900093810E9411FA60930D0C70930E0C8093A0 -:10C3A0000F0C9093100C20E030E040E752E40E9424 -:10C3B00043F77B018C0124E333E140E353E16CE27A -:10C3C00073E188E293E10E94B4E10E9421DA8D8159 -:10C3D0009E8183599D4AFADE0D811E810F5A1C4EA3 -:10C3E000F80120813181428153810E9463F6F4017A -:10C3F00060837183828393838D819E818B579D4A55 -:10C40000E5DE2D813E81215D334F7901F8012081E8 -:10C410003181428153810E9463F6F7016083718309 -:10C42000828393838D819E8187589D4ACFDE2D81A3 -:10C430003E812D5D334F7901F801208131814281A8 -:10C4400053810E9463F6F701608371838283938333 -:10C45000F40180819181A281B381F5018083918370 -:10C46000A283B38310920D0C10920E0C10920F0C3D -:10C470001092100C0E949AD2F101E25BFC4E81E016 -:10C48000808326960FB6F894DEBF0FBECDBFDF9136 -:10C49000CF911F910F91FF90EF90DF90CF90BF90C1 -:10C4A000AF909F908F907F906F905F904F903F9054 -:10C4B0002F900895FC012491222341F03091C00077 -:10C4C00035FFFCCF2093C6000196F4CF22E030E088 -:10C4D0008BEF96E10C94A3D1FC012491222341F02F -:10C4E0003091C00035FFFCCF2093C6000196F4CFF9 -:10C4F0002AE030E08BEF96E10C94F9D020917D1189 -:10C5000030917E11243031050CF077C040917F11BD -:10C510005091801160E6649F9001659F300D112459 -:10C52000BC01C90189579E4E0F94E700E1E9F2E58D -:10C530008491882341F09091C00095FFFCCF8093B7 -:10C54000C6003196F5CFE0917B13F0E0EE0FFF1FB0 -:10C55000E45EFD4F0190F081E02DE45DFE4F01901F -:10C56000F081E02D8491882341F09091C00095FFE7 -:10C57000FCCF8093C6003196F5CF80917F119091CA -:10C58000801120E6289FF001299FF00D1124E95722 -:10C59000FE4E8191882339F09091C00095FFFCCF29 -:10C5A0008093C600F6CFE0E5F2E58491882341F060 -:10C5B0009091C00095FFFCCF8093C6003196F5CFD7 -:10C5C0008091C00085FFFCCF8AE08093C6008091F7 -:10C5D0007F1190918011019664E070E00E9407FB4A -:10C5E0009093801180937F1180917D1190917E11A5 -:10C5F000019690937E1180937D11089520917D1175 -:10C6000030917E11243031050CF077C040917F11BC -:10C610005091801160E6649F9001659F300D112458 -:10C62000BC01C90189579E4E0F944700E1E9F2E52C -:10C630008491882341F09091C00095FFFCCF8093B6 -:10C64000C6003196F5CFE0917B13F0E0EE0FFF1FAF -:10C65000E45EFD4F0190F081E02DE45DFE4F01901E -:10C66000F081E02D8491882341F09091C00095FFE6 -:10C67000FCCF8093C6003196F5CF80917F119091C9 -:10C68000801120E6289FF001299FF00D1124E95721 -:10C69000FE4E8191882339F09091C00095FFFCCF28 -:10C6A0008093C600F6CFEEE4F2E58491882341F052 -:10C6B0009091C00095FFFCCF8093C6003196F5CFD6 -:10C6C0008091C00085FFFCCF8AE08093C6008091F6 -:10C6D0007F1190918011019664E070E00E9407FB49 -:10C6E0009093801180937F1180917D1190917E11A4 -:10C6F000019690937E1180937D1108959B9AA39843 -:10C700000895FCDF40E052EC61E070E08BEF96E1D1 -:10C710000E94B1CFE8E4F2E58491882341F0909142 -:10C72000C00095FFFCCF8093C6003196F5CF809175 -:10C73000C00085FFFCCF8AE08093C60021E932E586 -:10C74000F9018491882341F09091C00095FFFCCFBE -:10C750008093C6003196F5CF84B780FF20C0A091AA -:10C760007B13B0E0AA0FBB1FA45EBD4FED91FC91FF -:10C77000E25DFE4F0190F081E02D9491992341F00C -:10C780004091C00045FFFCCF9093C6003196F5CF95 -:10C790009091C00095FFFCCF9AE09093C60081FF76 -:10C7A00020C0A0917B13B0E0AA0FBB1FA45EBD4FB9 -:10C7B000ED91FC91E05DFE4F0190F081E02D9491B0 -:10C7C000992341F04091C00045FFFCCF9093C600F3 -:10C7D0003196F5CF9091C00095FFFCCF9AE09093F1 -:10C7E000C60082FF20C0A0917B13B0E0AA0FBB1F40 -:10C7F000A45EBD4FED91FC91EE5CFE4F0190F08187 -:10C80000E02D9491992341F04091C00045FFFCCF69 -:10C810009093C6003196F5CF9091C00095FFFCCF64 -:10C820009AE09093C60083FF20C0A0917B13B0E0F4 -:10C83000AA0FBB1FA45EBD4FED91FC91EC5CFE4FB7 -:10C840000190F081E02D9491992341F04091C00036 -:10C8500045FFFCCF9093C6003196F5CF9091C00074 -:10C8600095FFFCCF9AE09093C60085FF20C0A09171 -:10C870007B13B0E0AA0FBB1FA45EBD4FED91FC91EE -:10C88000EA5CFE4F0190F081E02D8491882341F015 -:10C890009091C00095FFFCCF8093C6003196F5CFF4 -:10C8A0008091C00085FFFCCF8AE08093C60014BE53 -:10C8B000F9018491E1E9F2E5882349F09091C00003 -:10C8C00095FFFCCF8093C60031968491F5CFA0915F -:10C8D0007B13B0E0AA0FBB1FA45EBD4FED91FC918E -:10C8E000E65CFE4F0190F081E02D8491882341F0B9 -:10C8F0009091C00095FFFCCF8093C6003196F5CF94 -:10C90000E3E3F2E58491882341F09091C00095FF24 -:10C91000FCCF8093C6003196F5CFA0917B13B0E099 -:10C92000AA0FBB1FA45EBD4FED91FC91E85CFE4FCA -:10C930000190F081E02D4491442341F05091C000DA -:10C9400055FFFCCF4093C6003196F5CFECE1F2E500 -:10C950008491882341F09091C00095FFFCCF809393 -:10C96000C6003196F5CF8091C00085FFFCCF8AE0EC -:10C970008093C600E1E1F2E58491882341F0909133 -:10C98000C00095FFFCCF8093C6003196F5CFE5E05F -:10C99000F2E58491882341F09091C00095FFFCCF8F -:10C9A0008093C6003196F5CF8091C00085FFFCCF03 -:10C9B0008AE08093C600F9012491E1E9F2E522239F -:10C9C00049F08091C00085FFFCCF2093C6003196CE -:10C9D0002491F5CFE0917B13F0E0EE0FFF1FE45EB2 -:10C9E000FD4F0190F081E02DE45CFE4F0190F0815D -:10C9F000E02D8491882341F09091C00095FFFCCFF9 -:10CA00008093C6003196F5CF0E9495DD4AE050E054 -:10CA1000BC018BEF96E10E94CDD0E0917B13F0E05A -:10CA2000EE0FFF1FE45EFD4F0190F081E02DE25C10 -:10CA3000FE4F0190F081E02D8491882341F0909188 -:10CA4000C00095FFFCCF8093C6003196F5CF4AE039 -:10CA500050E060ED74E08BEF96E10E94CDD08091C4 -:10CA6000C00085FFFCCF8AE08093C600109283113E -:10CA70001092841110928511109286110E94D4CDCB -:10CA80000E94A6C90E94B53F0E9464E10E9483DC17 -:10CA90000E94EAA38091000186FD29C0FFEF23EDEB -:10CAA00080E3F15020408040E1F700C00000809119 -:10CAB000000186FD25C08091010184608093010101 -:10CAC0009FB7F894809102018460809302019FBF18 -:10CAD0000E9457A18091000186FFFCCF9FB7F89478 -:10CAE000809102018B7F809302019FBF08959FEF89 -:10CAF000E3EDF0E39150E040F040E1F700C00000CA -:10CB00000895809177119091781160E070E001961E -:10CB10000C949EFD80917711909178114AE050E03D -:10CB200060E070E001960C9406FF682F772767FDA0 -:10CB30007095209181113091821140E6429FC00191 -:10CB4000439F900D112489579E4E0F94D3009093CC -:10CB500078118093771121E0892B09F420E0822F4E -:10CB600008950E9489F060937311709374118093FB -:10CB700075119093761108950E9489F06093731156 -:10CB8000709374118093751190937611E0918111D7 -:10CB9000F0918211ED57FE4E8081811121C0E0910C -:10CBA0007B13F0E0EE0FFF1FE45EFD4F0190F0817C -:10CBB000E02DE05CFE4F0190F081E02D8491882310 -:10CBC00041F09091C00095FFFCCF8093C600319654 -:10CBD000F5CF8091C00085FFFCCF8AE08093C6002E -:10CBE00008958BEF96E10E9403D0E0917B13F0E073 -:10CBF000EE0FFF1FE45EFD4F0190F081E02DE05944 -:10CC0000FE4F0190F081E02D8491882341F09091B6 -:10CC1000C00095FFFCCF8093C6003196F5CF4091C0 -:10CC20000C1350910D1360910E1370910F134F5F01 -:10CC30005F4F6F4F7F4F2AE030E08BEF96E10E940D -:10CC4000A2D08091C00085FFFCCF8AE08093C6000F -:10CC500093CF8F929F92AF92BF92CF92DF92EF923B -:10CC6000FF920F931F93CF93DF93B7E0EB2EBEE0BD -:10CC7000FB2E0DE513E1C8E2D3E184E8C82E83E181 -:10CC8000D82EF70181917F0150DF882311F139DF20 -:10CC90004B015C01F6018081811103C06091071393 -:10CCA00001C061E070E080E090E00E94DEF7F801F2 -:10CCB00020813181428153810E9411FA9B01AC0194 -:10CCC000C501B4010E9463F6688379838A839B83DC -:10CCD00009C0F80180819181A281B3818883998301 -:10CCE000AA83BB830C5F1F4F2496FFEFCF1ADF0A86 -:10CCF0008BE0E8168EE0F80621F686E416DF88233E -:10CD0000D1F0FFDE6B017C0160931813709319134F -:10CD100080931A1390931B1320E030E0A9010E9426 -:10CD20003FF9181644F4C0920D0CD0920E0CE0920C -:10CD30000F0CF092100CDF91CF911F910F91FF908B -:10CD4000EF90DF90CF90BF90AF909F908F9008951D -:10CD500080DF89E4EADE882351F0D3DE60931C1380 -:10CD600070931D1380931E1390931F1308C010928D -:10CD70001C1310921D1310921E1310921F138AE49D -:10CD8000D4DE882351F0BDDE60932013709321130D -:10CD900080932213909323130895109220131092DE -:10CDA000211310922213109223130895CF92DF9231 -:10CDB000EF92FF92CF93DF93EC01C0902F0CD090B5 -:10CDC000300CE090310CF090320CA7019601688194 -:10CDD00079818A819B810E943CF787FF04C0C882C9 -:10CDE000D982EA82FB82C090330CD090340CE09060 -:10CDF000350CF090360CA70196016C817D818E81F7 -:10CE00009F810E943CF787FF04C0CC82DD82EE82C6 -:10CE1000FF8220E030E0A9016091370C7091380C5E -:10CE20008091390C90913A0C0E9463F66B017C0161 -:10CE30009B01AC01688579858A859B850E943CF7BA -:10CE400087FF04C0C886D986EA86FB86C090230C7B -:10CE5000D090240CE090250CF090260CA7019601B0 -:10CE6000688179818A819B810E943FF9181624F498 -:10CE7000C882D982EA82FB82C090270CD090280C0D -:10CE8000E090290CF0902A0CA70196016C817D811D -:10CE90008E819F810E943FF9181624F4CC82DD8296 -:10CEA000EE82FF82C0902B0CD0902C0CE0902D0CC9 -:10CEB000F0902E0CA7019601688579858A859B855F -:10CEC0000E943FF9181624F4C886D986EA86FB86A4 -:10CED000DF91CF91FF90EF90DF90CF900895CF92A8 -:10CEE000DF92EF92FF920F931F9388E293E15EDF50 -:10CEF0000E9489F06093731170937411809375117F -:10CF000090937611209128133091291340912A1380 -:10CF100050912B1360915D1370915E1380915F139C -:10CF2000909160130E943CF7811179C020912C13DD -:10CF300030912D1340912E1350912F136091611356 -:10CF40007091621380916313909164130E943CF777 -:10CF5000811165C020E030E040E752E460910D0CA3 -:10CF600070910E0C80910F0C9091100C0E9443F761 -:10CF700029E4C22E23E1D22E7B018C0124E333E18C -:10CF800040E353E16CE273E188E293E10E94B4E193 -:10CF90008091281390912913A0912A13B0912B13FB -:10CFA00080935D1390935E13A0935F13B09360130F -:10CFB00080912C1390912D13A0912E13B0912F13CB -:10CFC0008093611390936213A0936313B0936413DF -:10CFD0008091301390913113A0913213B09133139B -:10CFE0008093651390936613A0936713B0936813AF -:10CFF0008091341390913513A0913613B09137136B -:10D000008093691390936A13A0936B13B0936C137E -:10D010001F910F91FF90EF90DF90CF900895609156 -:10D02000490C70914A0C882777FD8095982F0E94B3 -:10D03000DEF720910D0C30910E0C40910F0C5091A9 -:10D04000100C0E9411FA20E030E040E752E40E9408 -:10D0500043F720E030E048EC52E488CFCF92DF92F3 -:10D06000EF92FF92CF93C62FE0914913F0E088230F -:10D0700009F4C2C0DF01AB5BBC4E8C91811196C13B -:10D0800080915D1390915E13A0915F13B091601336 -:10D090008093281390932913A0932A13B0932B13F2 -:10D0A0008091611390916213A0916313B091641306 -:10D0B00080932C1390932D13A0932E13B0932F13C2 -:10D0C0008091651390916613A0916713B0916813D6 -:10D0D0008093301390933113A0933213B093331392 -:10D0E000C0906913D0906A13E0906B13F0906C13AA -:10D0F000C0923413D0923513E0923613F092371366 -:10D10000EE0FFF1FEE0FFF1FE55CF34F2081318113 -:10D1100042815381662349F060911B0C70911C0C75 -:10D1200080911D0C90911E0C08C060911F0C709195 -:10D13000200C8091210C9091220C0E9443F79B01BE -:10D14000AC01C701B6010E9463F660936913709346 -:10D150006A1380936B1390936C1389E693E10E949A -:10D160003BECC0900D0CD0900E0CE0900F0CF090AA -:10D17000100C20E030E040E752E46091170C709111 -:10D18000180C8091190C90911A0C0E9411FA60935E -:10D190000D0C70930E0C80930F0C9093100CE0917B -:10D1A0004913F0E0EB5BFC4E81E0808398DE209138 -:10D1B00041133091421340914313509144136091B5 -:10D1C00065137091661380916713909168130E94A4 -:10D1D00062F6609365137093661380936713909360 -:10D1E000681329E633E145E653E161E673E18DE535 -:10D1F00093E10E9496EBD1C0EB5BFC4E80818823CB -:10D2000009F4D4C080915D1390915E13A0915F13D7 -:10D21000B09160138093281390932913A0932A133D -:10D22000B0932B138091611390916213A0916313BB -:10D23000B091641380932C1390932D13A0932E130D -:10D24000B0932F13609165137091661380916713EB -:10D25000909168136093301370933113809332135D -:10D2600090933313C0906913D0906A13E0906B13BE -:10D27000F0906C13C0923413D0923513E0923613B1 -:10D28000F092371320914113309142134091431390 -:10D29000509144130E9463F6609365137093661374 -:10D2A000809367139093681329E633E145E653E1D1 -:10D2B00061E673E18DE593E10E9496EBF0904913EE -:10D2C000CC2389F02091391330913A1340913B13CC -:10D2D00050913C1360911B0C70911C0C80911D0CA3 -:10D2E00090911E0C10C020913D1330913E1340913F -:10D2F0003F135091401360911F0C7091200C80914E -:10D30000210C9091220C0E9463F624E0F29EF00121 -:10D310001124E55CF34F20813181428153810E94C9 -:10D3200043F79B01AC016091691370916A1380917E -:10D330006B1390916C130E9462F660936913709363 -:10D340006A1380936B1390936C1389E693E10E94A8 -:10D350003BECC0900D0CD0900E0CE0900F0CF090B8 -:10D36000100C20E030E040E752E46091130C709123 -:10D37000140C8091150C9091160C0E9411FA609378 -:10D380000D0C70930E0C80930F0C9093100CE09189 -:10D390004913F0E0EB5BFC4E1082A1DDC0920D0C56 -:10D3A000D0920E0CE0920F0CF092100CCF91FF90E7 -:10D3B000EF90DF90CF900895AF92BF92CF92DF921F -:10D3C000EF92FF920F931F93CF93DF93D82F20916B -:10D3D0002013309121134091221350912313609117 -:10D3E0001C1370911D1380911E1390911F130E94A6 -:10D3F0004CF9C62F172F082FF92E6091490C709108 -:10D400004A0C882777FD8095982F0E94DEF720919F -:10D410000D0C30910E0C40910F0C5091100C0E948D -:10D4200011FA20E030E040E752E40E9443F720E0A8 -:10D4300030E048EC52E40E9443F7209149132F93C7 -:10D44000DF93FF920F931F93CF935B016C0142E038 -:10D45000E42E01E020E04CE153E168E273E18DE568 -:10D4600093E10E94A74D8091281390912913A091D8 -:10D470002A13B0912B1380935D1390935E13A093A6 -:10D480005F13B093601380912C1390912D13A09192 -:10D490002E13B0912F138093611390936213A09376 -:10D4A0006313B09364138091301390913113A09162 -:10D4B0003213B09133138093651390936613A09346 -:10D4C0006713B09368138091341390913513A09132 -:10D4D0003613B09137138093691390936A13A09316 -:10D4E0006B13B0936C130E9489F060937311709367 -:10D4F000741180937511909376110F900F900F9087 -:10D500000F900F900F90DF91CF911F910F91FF908F -:10D51000EF90DF90CF90BF90AF900895F8940E9465 -:10D520005840179A10924E13169A10924F13159A4C -:10D5300010925013149A60E087E40E94A9EFE7E983 -:10D54000F2E58491882341F09091C00095FFFCCFD3 -:10D550008093C6003196F5CFE0917B13F0E0EE0F9B -:10D56000FF1FE45EFD4F0190F081E02DE459FE4F76 -:10D570000190F081E02D8491882341F09091C000CA -:10D5800095FFFCCF8093C6003196F5CF8091C00007 -:10D5900085FFFCCF8AE08093C600E0917B13F0E02A -:10D5A000EE0FFF1FE45EFD4F0190F081E02DE6538A -:10D5B000FF4F808191810E9483A37894C6E0D0E0E0 -:10D5C0002197209749F068EC70E080E090E00E949D -:10D5D000B8F00E9425A4F4CFF894FFCF0E945840E1 -:10D5E00080916111811151C081E08093611180911E -:10D5F0000C1390910D13A0910E13B0910F13809303 -:10D60000081390930913A0930A13B0930B13E7E93F -:10D61000F2E58491882341F09091C00095FFFCCF02 -:10D620008093C6003196F5CFE0917B13F0E0EE0FCA -:10D63000FF1FE45EFD4F0190F081E02DE259FE4FA7 -:10D640000190F081E02D8491882341F09091C000F9 -:10D6500095FFFCCF8093C6003196F5CF8091C00036 -:10D6600085FFFCCF8AE08093C600E0917B13F0E059 -:10D67000EE0FFF1FE45EFD4F0190F081E02DE453BB -:10D68000FF4F808191810C9489A10895809161114F -:10D690000895CF93DF93EC01809149138093621139 -:10D6A00084E543DA811102C080E0B7C02ADA0E9423 -:10D6B000B0F7609362116623B9F3E1E9F2E5849172 -:10D6C000882341F09091C00095FFFCCF8093C60065 -:10D6D0003196F5CFCD36D10509F454C0BCF4C83627 -:10D6E000D10561F1C936D10509F087C0E0917B13FE -:10D6F000F0E0EE0FFF1FE45EFD4F0190F081E02DA2 -:10D70000EC5AFE4F0190F081E02D38C0CA3DD105A2 -:10D7100009F451C0CD3DD10509F06FC0E0917B13F4 -:10D72000F0E0EE0FFF1FE45EFD4F0190F081E02D71 -:10D73000E65AFE4F0190F081E02D5CC0E0917B1332 -:10D74000F0E0EE0FFF1FE45EFD4F0190F081E02D51 -:10D75000EE5AFE4F0190F081E02D8191882309F46B -:10D760004CC09091C00095FFFCCF8093C600F5CFD0 -:10D770009091C00095FFFCCF8093C60081918111EC -:10D78000F7CF3BC0E0917B13F0E0EE0FFF1FE45EAC -:10D79000FD4F0190F081E02DE25AFE4F0190F081A3 -:10D7A000E02D8191882349F19091C00095FFFCCF35 -:10D7B0008093C600F6CFE0917B13F0E0EE0FFF1FE1 -:10D7C000E45EFD4F0190F081E02DE85AFE4F01909C -:10D7D000F081E02D8191882381F09091C00095FF28 -:10D7E000FCCF8093C600F6CF9091C00095FFFCCF90 -:10D7F0008093C60081918111F7CF40E050E06091A5 -:10D8000062118BEF96E10E9404D18091C00085FFE8 -:10D81000FCCF8AE08093C60081E0DF91CF9108952C -:10D820004F925F926F927F928F929F92AF92BF9230 -:10D83000CF92DF92EF92FF92CF93DF9300D01F92AF -:10D84000CDB7DEB72B013C0129833A834B835C8340 -:10D850008DEE9FE00F9427038F3F01F58EEE9FE042 -:10D860000F9427038F3FD1F48FEE9FE00F9427038F -:10D870008F3FA1F480EF9FE00F9427038F3F71F457 -:10D8800040E050E0BA018DEE9FE00F94340340E099 -:10D8900050E0BA0181EF9FE00F94340381EF9FE0E5 -:10D8A0000F942F034B015C018DEE9FE00F942F032B -:10D8B0006B017C0169817A818B819C812CE330E052 -:10D8C00040E050E00E941AFBC20ED31EE41EF51E7B -:10D8D000B701A6018DEE9FE00F943403C301B2019E -:10D8E00028EE33E040E050E00E941AFBBA01A901A3 -:10D8F000480D591D6A1D7B1D81EF9FE00F94340375 -:10D9000010927713109278131092791310927A1361 -:10D910000F900F900F900F90DF91CF91FF90EF90AD -:10D92000DF90CF90BF90AF909F908F907F906F903F -:10D930005F904F9008952F923F924F925F926F9217 -:10D940007F928F929F92AF92BF92CF92DF92EF928F -:10D95000FF920F931F93CF93DF93CDB7DEB76E97F0 -:10D960000FB6F894DEBF0FBECDBF80E6B82E94E0B0 -:10D97000E92EF12C2AE0922E3AE0C32ED12CAA24D3 -:10D98000A39480917C1790917D1720917E17309100 -:10D990007F17821B930B8F779927892B39F0809102 -:10D9A0007D1190917E1104970CF448C080919013E2 -:10D9B000882309F4E7C380917A1190917B11892B18 -:10D9C00009F0E0C380917D1190917E11892B11F4B3 -:10D9D00010925F1148EE242E43E0342E412C512C3E -:10D9E0005CE3852E912CA12CB12C8E010F5F1F4F73 -:10D9F00030E6632E7724739440912B1650912C16A9 -:10DA000060912D1670912E168091231690912416F8 -:10DA1000A0912516B0912616481759076A077B076B -:10DA200008F0B0C380917D1190917E1104970CF0A5 -:10DA3000A9C380915F118111A5C36FC28BEF96E1DD -:10DA40000E94E7CF80937C1120917A1130917B1155 -:10DA50008A3061F08D3051F08A3321F49091791140 -:10DA6000992321F02F3531050CF450C121153105D2 -:10DA700009F46AC180917F1190918011B89E3001A4 -:10DA8000B99E700C1124F301E20FF31FE957FE4E0B -:10DA9000108220917911211134C110927911FC0169 -:10DAA000ED57FE4E1082830109571E4E6EE470E062 -:10DAB000C8010F94D3000097F1F1909378118093EF -:10DAC0007711801B910B860D971D4AE050E060E0B6 -:10DAD00070E088579E4E0E9406FF6093101370936B -:10DAE0001113809312139093131340900C135090C2 -:10DAF0000D1360900E1370900F132FEF421A520AFD -:10DB0000620A720A00917F111091801164157505E7 -:10DB10008605970509F41BC1B09EC001B19E900D0A -:10DB200011246CEF71E589579E4E0F947E00892B6E -:10DB300009F00DC1B8C16AE270E0C8010F94D300CA -:10DB4000892B09F451C0E7E9F2E58491882341F07B -:10DB50009091C00095FFFCCF8093C6003196F5CF21 -:10DB6000E0917B13F0E0EE0FFF1FE45EFD4F0190AC -:10DB7000F081E02DE65BFE4F0190F081E02D849175 -:10DB8000882341F09091C00095FFFCCF8093C600A0 -:10DB90003196F5CF40910C1350910D1360910E13F7 -:10DBA00070910F132AE030E08BEF96E10E94A2D033 -:10DBB0008091C00085FFFCCF8AE08093C600109260 -:10DBC0007B1110927A11DEC2809110139091111383 -:10DBD000A0911213B091131380930C1390930D1313 -:10DBE000A0930E13B0930F1360907F11709080116B -:10DBF000B69C8001B79C100D112409571E4E67E496 -:10DC000070E0C8010F94D300009709F456C09093B8 -:10DC100078118093771120919013211106C0D09232 -:10DC20007F13C0927E13A0928113801B910BB69C30 -:10DC30009001B79C300D1124820F931F60E070E0BB -:10DC400088579E4E0E949EFD0E94ABF7643071057E -:10DC5000A0F580916111882381F1E0917B13F0E0C0 -:10DC6000EE0FFF1FE45EFD4F0190F081E02DE259C1 -:10DC7000FE4F0190F081E02D8491882341F0909136 -:10DC8000C00095FFFCCF8093C6003196F5CF809100 -:10DC9000C00085FFFCCF9092C600E0917B13F0E0BE -:10DCA000EE0FFF1FE45EFD4F0190F081E02DE45385 -:10DCB000FF4F808191810E9489A100917F11109175 -:10DCC0008011B09EC001B19E900D11246DE87DE0E1 -:10DCD00089579E4E0F94DE00892B09F41FDCC80182 -:10DCE0000196B7010E9407FB9093801180937F11EA -:10DCF00080917D1190917E11019690937E11809379 -:10DD00007D1110927B1110927A113BCE8B3311F45E -:10DD1000A092791190917911911133CE40917F1198 -:10DD200050918011B9016F5F7F4F70937B116093A9 -:10DD30007A11B49EF001B59EF00D1124E20FF31F8D -:10DD4000E957FE4E80831DCE109279111BC2B09E02 -:10DD50003001B19E700C1124C30189579E4E1C01E5 -:10DD60006AE270E00F94D300009709F03FC0E7E942 -:10DD7000F2E58491882341F09091C00095FFFCCF9B -:10DD80008093C6003196F5CFE0917B13F0E0EE0F63 -:10DD9000FF1FE45EFD4F0190F081E02DE85BFE4F38 -:10DDA0000190F081E02D8491882341F09091C00092 -:10DDB00095FFFCCF8093C6003196F5CF40910C13B0 -:10DDC00050910D1360910E1370910F132AE030E003 -:10DDD0008BEF96E10E94A2D08091C00085FFFCCF1E -:10DDE0008AE08093C6000E94F165E9CE20E010E051 -:10DDF000F301E20FF11DE957FE4E30813A3219F07E -:10DE00002F5F1327F5CF90937811809377118219A4 -:10DE10009309860D971D60E070E088579E4E0E9422 -:10DE20009EFD0E94ABF7212F30E02617370709F43B -:10DE3000CBCEE7E9F2E58491882341F09091C000D0 -:10DE400095FFFCCF8093C6003196F5CFE0917B1310 -:10DE5000F0E0EE0FFF1FE45EFD4F0190F081E02D3A -:10DE6000EA5BFE4F0190F081E02D8491882341F020 -:10DE70009091C00095FFFCCF8093C6003196F5CFFE -:10DE800040910C1350910D1360910E1370910F136C -:10DE90002AE030E08BEF96E10E94A2D08091C00092 -:10DEA00085FFFCCF9DCFE7E9F2E58491882341F01F -:10DEB0009091C00095FFFCCF8093C6003196F5CFBE -:10DEC000E0917B13F0E0EE0FFF1FE45EFD4F019049 -:10DED000F081E02DEC5BFE4F0190F081E02D84910C -:10DEE000882341F09091C00095FFFCCF8093C6003D -:10DEF0003196F5CF40910C1350910D1360910E1394 -:10DF000070910F132AE030E08BEF96E10E94A2D0CF -:10DF10008091C00085FFFCCF63CF80917E159091EA -:10DF20007F15A0918015B091811580932B16909349 -:10DF30002C16A0932D16B0932E1686E795E10E941D -:10DF40002333482F80937C118A30B9F04D30A9F0EB -:10DF5000433229F420917911222379F002C04A3307 -:10DF6000C9F320917A1130917B112F3531052CF4B2 -:10DF70008F3F5FEF950709F0E7C040912B16509156 -:10DF80002C1660912D1670912E168091231690916B -:10DF90002416A0912516B0912616481759076A072E -:10DFA0007B0708F497C0E0917B13F0E0EE0FFF1FB2 -:10DFB000E45EFD4F0190F081E02DE45BFE4F0190A7 -:10DFC000F081E02D8491882341F09091C00095FF6D -:10DFD000FCCF8093C6003196F5CF8091C00085FFBD -:10DFE000FCCF8AE08093C6000E9489F0609367119D -:10DFF000709368118093691190936A11C0906B11AE -:10E00000D0906C11E0906D11F0906E116C197D093B -:10E010008E099F09A20191010E941AFB69017A01F0 -:10E0200060917713709178138091791390917A139E -:10E03000F7DBC701B601A50194010E941AFBCA01D2 -:10E04000B901A50194010E941AFB7F936F93C70148 -:10E05000B60120E13EE040E050E00E941AFB3F9311 -:10E060002F93A8EEB1E5BF93AF931F930F930F9437 -:10E070000B01E1E9F2E584910FB6F894DEBF0FBE23 -:10E08000CDBF882349F09091C00095FFFCCF8093CD -:10E09000C60031968491F5CFF8018191882339F03B -:10E0A0009091C00095FFFCCF8093C600F6CF809181 -:10E0B000C00085FFFCCF3AE03093C600C8010E9443 -:10E0C0007CA18EE893E10E94195E61E08EE893E105 -:10E0D0000E94DC5780917C11833211F470925F11A1 -:10E0E00020917A1130917B112115310509F42CCE44 -:10E0F00080917F1190918011689EF001699EF00DD2 -:10E100001124E20FF31FE957FE4E1082FC01ED5778 -:10E11000FE4E708220917D1130917E112F5F3F4F16 -:10E1200030937E1120937D11019664E070E00E948F -:10E1300007FB9093801180937F11109279111092B8 -:10E140007B1110927A1158CC4B3311F470927911E3 -:10E150004091791141114CCC40917F115091801127 -:10E16000B9016F5F7F4F70937B1160937A11649E4A -:10E17000F001659EF00D1124E20FF31FE957FE4EEA -:10E1800080833ACC6E960FB6F894DEBF0FBECDBF3B -:10E19000DF91CF911F910F91FF90EF90DF90CF9083 -:10E1A000BF90AF909F908F907F906F905F904F90B7 -:10E1B0003F902F900895CF92DF92EF92FF920F93AE -:10E1C0001F93CF93C82F80917D1190917E1103975B -:10E1D0000CF4B1DB0E9489F000916F111091701165 -:10E1E0002091711130917211C0907311D0907411FF -:10E1F000E0907511F09076116C197D098E099F09D8 -:10E20000061717072807390728F4012B022B032BC1 -:10E2100009F084D94091090C50910A0C60910B0CC3 -:10E2200070910C0C452B462B472B19F10E9489F05D -:10E230000091731110917411209175113091761124 -:10E24000601B710B820B930B0091090C10910A0C4F -:10E2500020910B0C30910C0C061717072807390773 -:10E2600040F49091CD178091CC17981302C0CC2325 -:10E2700049F0CF911F910F91FF90EF90DF90CF90D9 -:10E280000C9498E1179A10924E13169A10924F130D -:10E29000159A10925013149AECCFCF92DF92EF920E -:10E2A000FF9220916D132223F1F020E030E040E056 -:10E2B0005FE30E9411FA6B017C0120E030E0A901CC -:10E2C0000E943CF7882379F0A7019601C701B601A7 -:10E2D0000E9411FA2BED3FE049E450E40E9411FA4C -:10E2E0009B01AC0104C020E030E040E85FE360E067 -:10E2F00070E080E89FE30E9443F7FF90EF90DF908B -:10E30000CF90089560913F0C7091400C8091410C2A -:10E310009091420CC2DF60933B0C70933C0C809355 -:10E320003D0C90933E0C08953F924F925F926F92F6 -:10E330007F928F929F92AF92BF92CF92DF92EF9295 -:10E34000FF920F931F93CF93DF93CDB7DEB7E9977B -:10E350000FB6F894DEBF0FBECDBF81E40E94956575 -:10E36000882309F455C082E70E9495658823A9F0A7 -:10E37000E2E9FDE08191882339F09091C00095FF9A -:10E38000FCCF8093C600F6CF8091C00085FFFCCF04 -:10E390008AE08093C6000C94FD8986E70E9495650B -:10E3A0008823A9F0E8E9FDE08191882339F0909174 -:10E3B000C00095FFFCCF8093C600F6CF8091C000CF -:10E3C00085FFFCCF8AE08093C6000C94FD8987E628 -:10E3D0000E949565882321F00E9457A10C94FD8925 -:10E3E0008AE70E949565882341F060E070E088EF3D -:10E3F0009FE00E94C79C0C94FD898CE60E94956565 -:10E40000882311F40C94FD890E94EE9C0C94FD89E4 -:10E4100087E40E949565882309F4EAC10E9481651A -:10E420000E94ABF76A30710509F4F1C09CF46230C8 -:10E43000710509F480C024F477FF25C00C94FD8990 -:10E440006330710509F483C06430710509F48BC031 -:10E450000C94FD896A35710509F476C154F46B306A -:10E46000710509F4DAC06C31710509F4DCC00C9453 -:10E47000FD896B35710509F46BC16C35710509F4C3 -:10E480006CC10C94FD898091611181110C94FD89FE -:10E490000E942966609177137091781380917913A7 -:10E4A00090917A130E94DCF76B017C012091691333 -:10E4B00030916A1340916B1350916C136091341337 -:10E4C0007091351380913613909137130E9462F644 -:10E4D00020E030E048EC52E40E9411FA9B01AC01CC -:10E4E000C701B6010E9463F60E94B0F760937713EC -:10E4F000709378138093791390937A1380914613D5 -:10E500008823A9F088E50E949565811110C089E5EE -:10E510000E94956581110BC08AE50E949565811165 -:10E5200006C085E40E94956581110C94008A0E94C2 -:10E530006F670C94FD898091611181110C94FD89A4 -:10E540000E94A86681E00E94DC690C94FD8980919C -:10E55000611181110C94FD890E94A86680E00E94DF -:10E56000DC690C94FD89E0917B13F0E0EE0FFF1F56 -:10E57000E45EFD4F0190F081E02DE054FF4F80817B -:10E5800091810E9489A180E50E949565882339F0D8 -:10E590000E9481650E94B0F74B015C0103C0812C91 -:10E5A000912C540183E50E949565882361F00E94B7 -:10E5B000816520E030E04AE754E40E9411FA0E94AD -:10E5C000B0F74B015C010E9421DA0E9489F06B01D7 -:10E5D0007C01C80CD91CEA1CFB1C0E9489F06093CA -:10E5E00073117093741180937511909376110E943A -:10E5F00089F06C157D058E059F0510F00C94FD8942 -:10E600000E94174680E0D7DD0E9425A4F0CF60E08D -:10E6100081E00E942E680C94FD8960E080E00E94F9 -:10E620002E680C94FD891092801380910D0C9091AE -:10E630000E0CA0910F0CB091100C809314139093BA -:10E640001513A0931613B09317138091490C909152 -:10E650004A0C909383138093821384E690E0909306 -:10E660004A0C8093490C0E9489F060937311709357 -:10E670007411809375119093761181E00E94A1D25C -:10E6800080915D1390915E13A0915F13B091601320 -:10E690008093281390932913A0932A13B0932B13DC -:10E6A0008091611390916213A0916313B0916413F0 -:10E6B00080932C1390932D13A0932E13B0932F13AC -:10E6C0008091651390916613A0916713B0916813C0 -:10E6D0008093301390933113A0933213B09333137C -:10E6E0008091691390916A13A0916B13B0916C1390 -:10E6F0008093341390933513A0933613B09337134C -:10E7000010920D0C10920E0C10920F0C1092100C17 -:10E7100088E50E949565882311F090E00AC089E59C -:10E720000E9495658111F9CF8AE50E94956591E077 -:10E7300098279093110C992311F40C942F8A81E05F -:10E74000809380130C94E98A109207130C94FD892E -:10E7500081E0809307130C94FD8985E40E94956500 -:10E76000811102C00E9421DA07E0C02E0EE0D02EF7 -:10E7700081E5E82E83E1F82E0DE513E1B12CF601D9 -:10E7800081916F010E949565882339F1F3E0BF12F2 -:10E790000CC00E948165F80160837183828393833A -:10E7A00089E693E10E943BEC18C00E948165F70165 -:10E7B00020813181428153810E9463F6F801608398 -:10E7C00071838283938329E633E145E653E161E671 -:10E7D00073E18DE593E10E9496EBB394F4E0EF0EC4 -:10E7E000F11C0C5F1F4F24E0B212C9CF0C94FD89BD -:10E7F0008DE40E949565882311F40C9404890E948D -:10E8000081650E94ABF76537710511F40C94097DA1 -:10E810000CF0D0C06032710509F44EC30CF071C029 -:10E820006731710509F4A3C20CF044C0623171056F -:10E8300011F40C942D7C1CF577FF02C00C94FD891B -:10E84000623071050CF498C16131710511F00C94BE -:10E85000FD89E0917B13F0E0EE0FFF1FE45EFD4FBA -:10E860000190F081E02DE853FF4F808191810E945B -:10E8700089A117981698159814980C94FD896531FC -:10E88000710509F468C20CF06CC26431710511F0B5 -:10E890000C94FD89E0917B13F0E0EE0FFF1FE45E26 -:10E8A000FD4F0190F081E02DE25BFE4F0190F08181 -:10E8B000E02D20C26B31710509F485C2B4F46931D1 -:10E8C000710509F46CC20CF070C28EE893E10E94ED -:10E8D000C4540E9489F060936B1170936C11809303 -:10E8E0006D1190936E110C94FD896E31710509F4D0 -:10E8F000A5C20CF07DC36C31710509F46AC20C9499 -:10E90000FD896C35710509F4F6C7ECF462357105C3 -:10E9100009F49AC764F46035710509F44DC70CF029 -:10E9200062C76A32710509F4C1C30C94FD8964356C -:10E93000710509F492C70CF48BC76535710509F4AC -:10E94000BFC70C94FD896B36710509F42FC764F4B9 -:10E950006936710509F422C40CF0F8C668367105F1 -:10E9600009F4EBC30C94FD896037710509F403C405 -:10E9700034F46D36710509F41EC50C94FD896237B7 -:10E98000710511F40C941D7D6337710511F00C9421 -:10E99000FD89E0917B13F0E0EE0FFF1FE45EFD4F79 -:10E9A0000190F081E02DE859FE4F0190F081E02DBB -:10E9B0000C94047D623E710511F40C946B820CF092 -:10E9C0005FC06B3C710511F40C94AA80ACF56C38F7 -:10E9D000710509F4D2C304F56837710511F40C947C -:10E9E0000A7E6937710511F40C940F7E6737710543 -:10E9F00011F00C94FD89E0917B13F0E0EE0FFF1F06 -:10EA0000E45EFD4F0190F081E02DEC57FE4F019048 -:10EA1000F081E02D0C941B7E683C710511F40C9480 -:10EA20000780693C710511F40C9489806E3B710577 -:10EA300011F00C94FD895BC56F3C710511F40C94C9 -:10EA4000678154F46D3C710511F40C94E98014F461 -:10EA50000C94C7800C944981613D710511F40C94AC -:10EA6000C68114F40C949E816C3D710511F40C94D4 -:10EA700036826D3D710511F40C9445820C94FD892C -:10EA8000653F31E0730711F40C94188454F56F322C -:10EA900091E0790711F40C94DD8384F46D32F1E098 -:10EAA0007F0711F40C94FC8214F00C94CF836C3229 -:10EAB000714011F40C94C6820C94FD896F3581E08D -:10EAC000780711F40C94A888603991E0790711F463 -:10EAD0000C9415846E35714011F00C94FD890C94E2 -:10EAE00071886835F2E07F0711F40C946085A4F416 -:10EAF000673F31E0730711F40C94208414F40C94F4 -:10EB00001D846D3F714011F00C94FD890E9457A146 -:10EB1000E1E9F2E50C942A846B38E3E07E0711F416 -:10EB20000C944B883CF46335734011F40C943B8493 -:10EB30000C94FD89603A33E0730709F426C2673EFE -:10EB4000734011F00C94FD89109261110E9489A309 -:10EB50008091081390910913A0910A13B0910B139F -:10EB600080930C1390930D13A0930E13B0930F1377 -:10EB70000E94F1650C94FD89009177111091781134 -:10EB80000E5F1F4F80E50E949565882379F00E94F3 -:10EB900081650E94B0F76B017C01BB24B3946115C1 -:10EBA00071058105910531F4B12C04C0B12CC12C43 -:10EBB000D12C760183E50E949565882399F00E9407 -:10EBC000816520E030E04AE754E40E9411FA0E9497 -:10EBD000B0F76B017C01AA24A3946115710581052E -:10EBE000910509F4A12C6AE270E0C8010F94D300EA -:10EBF000009711F0FC011082F801CF012191203221 -:10EC0000E1F3B11007C0A11005C0222319F00E9442 -:10EC10007CA110C0E0917B13F0E0EE0FFF1FE45EDB -:10EC2000FD4F0190F081E02DEE53FF4F80819181E7 -:10EC30000E9489A181E00E945CA10E9421DA0E94C9 -:10EC400089F0609373117093741180937511909390 -:10EC50007611C114D104E104F104A9F00E9489F0F5 -:10EC60004B015C018C0C9D1CAE1CBF1C0E9489F0EA -:10EC7000681579058A059B05B8F40E9409A58111DC -:10EC800013C00C94F88A0E9407A5882311F40C94F1 -:10EC9000FD890E9409A581110AC00E94174680E0E3 -:10ECA0008ADA0E9425A4F5CF80E00E945CA18091C1 -:10ECB0009013E0917B13F0E0EE0FFF1FE45EFD4F39 -:10ECC0000190F081E02D882341F0EC53FF4F8081CB -:10ECD00091810E9489A10C94FD89808191810E947B -:10ECE00089A10C94FD899091C00095FFFCCF809381 -:10ECF000C600319684918111F6CF8091C00085FFC6 -:10ED0000FCCF8AE08093C6008EE893E10E946C53AA -:10ED1000E0917B13F0E0EE0FFF1FE45EFD4F0190EA -:10ED2000F081E02DE05BFE4F0190F081E02D8491B9 -:10ED3000882341F09091C00095FFFCCF8093C600DE -:10ED40003196F5CF8091C00085FFFCCF8AE080939B -:10ED5000C6000C94FD898EE893E10E94C1530C9487 -:10ED6000FD898EE893E10E94C0540C94FD890091C6 -:10ED70007711109178110C5F1F4F6AE270E0C801A3 -:10ED80000F94D300009711F0FC01108221E041E0C4 -:10ED9000B8018EE893E10E9442590C94FD898EE8F7 -:10EDA00093E10E94CB540C94FD89809191138823A8 -:10EDB00011F40C94FD8983E50E94956581110C94F2 -:10EDC000018B0C94FD898EE893E10E946F560C94A0 -:10EDD000FD8980917711909178116AE270E0049634 -:10EDE0000F94D3008C010097D9F0209181113091BC -:10EDF000821140E6429FC001439F900D11246EE4B2 -:10EE000070E089579E4E0F94D30060E270E00F943B -:10EE1000D30001969093781180937711F8011082B6 -:10EE200060917711709178116C5F7F4F21E040E025 -:10EE30008EE893E10E9442590C94FD8980919113D0 -:10EE4000882311F40C94FD8960E08EE893E10E9420 -:10EE5000D25880917711909178116AE270E004960F -:10EE60000F94D3008C010097D9F02091811130913B -:10EE7000821140E6429FC001439F900D11246EE431 -:10EE800070E089579E4E0F94D30060E270E00F94BB -:10EE9000D30001969093781180937711F801108236 -:10EEA00060917711709178116C5F7F4F8EE893E1DC -:10EEB0000E942F550C94FD898091901381110E941E -:10EEC00021DA00917711109178110C5F1F4F6AE2DF -:10EED00070E0C8010F94D3007C0161E270E0C801CA -:10EEE0000F94D300009719F08C010F5F1F4FE114AE -:10EEF000F10411F0F701108280E50E949565F82E6B -:10EF000020917711309178110217130708F4F12C32 -:10EF100080919113882311F40C94FD8921E02F2511 -:10EF200041E0B8018EE893E10E94425983E50E94D6 -:10EF300095658823B9F020917711309178112017C9 -:10EF4000310780F40E948A65AB01BC0140932B1607 -:10EF500050932C1660932D1670932E1686E795E12C -:10EF60000E94EC338EE893E10E94C454F1100C949B -:10EF7000FD890E9489F060936B1170936C118093EE -:10EF80006D1190936E110C94FD8980917711909181 -:10EF900078116AE270E005960F94D3008C01009717 -:10EFA000D9F0209181113091821140E6429FC00139 -:10EFB000439F900D11246EE470E089579E4E0F948C -:10EFC000D30060E270E00F94D30001969093781123 -:10EFD00080937711F8011082609177117091781108 -:10EFE0006B5F7F4F8EE893E10E94C75C0C94FD89B4 -:10EFF0000E9489F060936711709368118093691182 -:10F0000090936A1100916B1110916C1120916D1108 -:10F0100030916E11601B710B820B930B28EE33E065 -:10F0200040E050E00E941AFBCA01B9012CE330E035 -:10F0300040E050E00E941AFB7F936F933F932F9321 -:10F0400089ED91E59F938F93CE0101969F938F93C6 -:10F050000F940B01E1E9F2E584910FB6F894DEBF5D -:10F060000FBECDBF882349F09091C00095FFFCCF23 -:10F070008093C60031968491F5CFFE01319681913F -:10F08000882339F09091C00095FFFCCF8093C60093 -:10F09000F6CF8091C00085FFFCCF8AE08093C60048 -:10F0A000CE0101960E947CA10C94FD8983E50E940B -:10F0B0009565882311F40C94FD890E9481650E9456 -:10F0C000ABF7F62EE72E862F9E2D8C0180E50E9451 -:10F0D0009565882331F00F3F110509F010F40C9469 -:10F0E000128B0DE010E0EFECFDE081919191801723 -:10F0F000910711F40C94FD893EE0E730F307A9F77E -:10F100000630110539F48F2D9E2D9093481380936E -:10F11000471304C017FF02C00C94FD8961E0802FE3 -:10F120000E94A9EF6F2D802F0E94E2EF6F2D7E2DA0 -:10F13000802F0E949FEE0C94FD8988E690E00E944B -:10F14000496B81110C94FD8983E50E9495658823A4 -:10F1500071F0009162110E94816510E0000F111F93 -:10F16000005F1E4E0E94ABF7F801718360830E941E -:10F1700057400C94FD890E948E6A83E50E94956534 -:10F18000882311F40C94FD890E9481650E94ABF7DD -:10F1900070930F1160930E110C94FD8989E690E035 -:10F1A0000E94496B81110C94FD89E3EDF1E5849196 -:10F1B000882341F09091C00095FFFCCF8093C6005A -:10F1C0003196F5CFE091621124E0E29FF001112425 -:10F1D000E85FFE4E408151816281738121E030E021 -:10F1E0008BEF96E10E94A3D1E0EDF1E584918823B5 -:10F1F00041F09091C00095FFFCCF8093C6003196FE -:10F20000F5CFE0916211F0E0EE0FFF1FE05FFE4EE0 -:10F2100060817181882777FD8095982F0E94DEF7A5 -:10F22000AB01BC0121E030E08BEF96E10E94A3D15D -:10F23000ECECF1E58491882341F09091C00095FFBA -:10F24000FCCF8093C6003196F5CF409102115091CA -:10F250000311609104117091051121E030E08BEFF2 -:10F2600096E10E94A3D1E9ECF1E58491882341F075 -:10F270009091C00095FFFCCF8093C6003196F5CFEA -:10F2800060910E1170910F11882777FD8095982F4E -:10F290000E94DEF7AB01BC0121E030E08BEF96E18C -:10F2A0000E94A3D1E6ECF1E58491882341F090918E -:10F2B000C00095FFFCCF8093C6003196F5CF4AE0A1 -:10F2C00050E060E070E08BEF96E10E94CDD0E4EC7E -:10F2D000F1E58491882341F09091C00095FFFCCF27 -:10F2E0008093C6003196F5CF4091081150910911D5 -:10F2F00060910A1170910B1121E030E08BEF96E1E3 -:10F300000E94A3D1E1ECF1E58491882341F0909132 -:10F31000C00095FFFCCF8093C6003196F5CF609179 -:10F32000101170911111882777FD8095982F0E94F8 -:10F33000DEF7AB01BC0121E030E08BEF96E10E94EB -:10F34000A3D1EDEBF1E58491882341F09091C000C9 -:10F3500095FFFCCF8093C6003196F5CF8091621166 -:10F3600090E00E947F3F4AE050E0BC018BEF96E1C5 -:10F370000E94CDD0E8EBF1E58491882341F0909193 -:10F38000C00095FFFCCF8093C6003196F5CF8FEF7C -:10F390009FEF0E947F3F4AE050E0BC018BEF96E177 -:10F3A0000E94CDD08091C00085FFFCCF8AE0809381 -:10F3B000C6000C94808C8DE690E00E94496B811110 -:10F3C0000C94FD89E0917B13F0E0EE0FFF1FE45EEB -:10F3D000FD4F0190F081E02DE05AFE4F8081918138 -:10F3E0000E9489A181E090E0909376138093751339 -:10F3F00083E50E949565882391F0009162110E9437 -:10F40000816510E0000F111F005F1E4E0E94ABF7D8 -:10F41000F8017183608381E08093080C15C082E558 -:10F420000E949565882381F0009162110E94816598 -:10F4300010E0000F111F005F1E4E0E94ABF7F80195 -:10F44000718360831092080C0E9457400E9489F0DB -:10F450004B015C010091621110E0F801EE0FFF1FFB -:10F46000E05FFE4E60817181882777FD8095982F3F -:10F470000E94DEF7F801EE0FFF1FEE0FFF1FE85F9F -:10F48000FE4E11E020813181428153810E943FF97B -:10F4900018160CF010E01093601110923813CC2461 -:10F4A000CA94DC2C760148EE442E43E0542E612CA5 -:10F4B000712C5AE0352E8091381381110C94198BE0 -:10F4C000FFEFCF16DF06EF06FF0611F40C94448B16 -:10F4D000F7FE02C00C94198B0E9489F06C197D090B -:10F4E000683B7B4010F40C94448B0C94198BE09196 -:10F4F0007B13F0E0EE0FFF1FE45EFD4F0190F08103 -:10F50000E02DEC59FE4F808191810E9489A183E01A -:10F5100090E0909376138093751383E50E94956530 -:10F52000882361F00E9481650E94ABF770930F11F0 -:10F5300060930E1181E08093080C0FC082E50E9459 -:10F540009565882351F00E9481650E94ABF7709306 -:10F550000F1160930E111092080C0E9489F04B015C -:10F560005C011092381360910E1170910F11882771 -:10F5700077FD8095982F0E94DEF711E0209102110F -:10F580003091031140910411509105110E943FF9EF -:10F5900018160CF010E0109360110AEA11E566EA03 -:10F5A000E62E61E5F62E72EAC72E71E5D72EEAE067 -:10F5B0007E2E8091601160910E1170910F11882341 -:10F5C00009F48BC080913813811187C0882777FD9B -:10F5D0008095982F0E94DEF720910211309103113F -:10F5E00040910411509105110E943FF918160CF03A -:10F5F0008BC00E9489F0681979098A099B09693EC4 -:10F6000073408105910508F460C0E091491384E0DE -:10F61000E89FF0011124E85FFE4E40815181628134 -:10F620007381F8018491EAEAF1E5882349F0909129 -:10F63000C00095FFFCCF8093C60031968491F5CF32 -:10F6400022E030E08BEF96E10E94A3D1F701849194 -:10F65000E6EAF1E5882349F09091C00095FFFCCFE0 -:10F660008093C60031968491F5CF6091491370E084 -:10F670004AE050E08BEF96E10E94CDD0F6018491F4 -:10F68000E2EAF1E5882349F09091C00095FFFCCFB4 -:10F690008093C60031968491F5CF4091021150912C -:10F6A0000311609104117091051121E030E08BEF9E -:10F6B00096E10E94A3D18091C00085FFFCCF70929B -:10F6C000C6000E9489F04B015C010E94174680E051 -:10F6D0000E94DB700E9425A46CCF882777FD80955F -:10F6E000982F0E94DEF72091021130910311409172 -:10F6F0000411509105110E943CF787FF05C08091CD -:10F70000080C882309F475CFE0917B13F0E0EE0F2D -:10F71000FF1FE45EFD4F0190F081E02DEA59FE4F9E -:10F72000808191810E9489A184E090E0909376137A -:10F73000809375130E9489F0609373117093741114 -:10F7400080937511909376110C94FD8983E50E9446 -:10F750009565882319F10E94816520E030E0A901B8 -:10F760000E943CF787FD0FC00E94816520E030E0D9 -:10F770004FE753E40E943FF9181644F00E94816558 -:10F780000E94ABF705C060E070E002C06FEF70E070 -:10F7900070934813609347130C94FD898FEF90E0AA -:10F7A00090934813809347130C94FD89109248134B -:10F7B000109247130C94FD899B9AA39881E0809343 -:10F7C000120CE0917B13F0E0EE0FFF1FE45EFD4FA3 -:10F7D0000190F081E02D808191810E9489A10E9499 -:10F7E00025A40C94FD890E9458400E9421DA149AA5 -:10F7F0000E948BDA109248131092471368EE73E060 -:10F8000080E090E00E94B8F09B9AA39A1092120CAC -:10F81000E0917B13F0E0EE0FFF1FE45EFD4F0190DF -:10F82000F081E02DE459FF4F4081518120EA31E51C -:10F830006EE971E584EB9DE00E94584D0E9489A11C -:10F840000E9425A40C94FD89109287130C94FD89C5 -:10F8500081E0809387130C94FD8983E50E94956570 -:10F860008823A1F00E94816520E030E04AE754E45B -:10F870000E9411FA0E94B0F76093090C70930A0C71 -:10F8800080930B0C90930C0C0C94FD8988E50E94DE -:10F89000956581110C94588C89E50E9495658111BC -:10F8A0000C94588C8AE50E94956581110C94588CB3 -:10F8B00085E40E94956581110C94588C0C947A8C87 -:10F8C00083E50E949565882311F40C94FD890E94BC -:10F8D000816520E030E04AE754E40E9411FA0E947A -:10F8E000B0F760936F1170937011809371119093C2 -:10F8F00072110C94FD8927E03EE039AF28AF01E09A -:10F900001DE191E1892E9DE1992E25ECA22E2CE19D -:10F91000B22E312CE8ADF9AD8191F9AFE8AF0E947C -:10F920009565882309F45BC0F3E03F1251C00E9443 -:10F9300081656B017C0120E030E040EA51E40E94E7 -:10F940003CF787FF3FC0A7019601F80160817181F4 -:10F95000828193810E9443F72B013C019B01AC0102 -:10F960006091D91C7091DA1C8091DB1C9091DC1C99 -:10F970000E9411FA6093D91C7093DA1C8093DB1CEF -:10F980009093DC1CA3019201F4016081718182815A -:10F9900093810E9411FAF4016083718382839383BF -:10F9A000F50160817181828193810E94DCF7A3015E -:10F9B00092010E9411FA0E94B0F7F50160837183F1 -:10F9C00082839383F801C082D182E282F38207C0EE -:10F9D0000E948165F80160837183828393833394ED -:10F9E0000C5F1F4FF4E08F0E911C24E0A20EB11C9F -:10F9F00034E033128FCF0C94FD899091C00095FFB5 -:10FA0000FCCF8093C600319684918111F6CF0C947F -:10FA1000FD8900917711109178110B5F1F4F6AE2F9 -:10FA200070E0C8010F94D300009711F0FC01108220 -:10FA3000C8010E947CA10C94FD89EBE9F1E5849159 -:10FA4000882341F09091C00095FFFCCF8093C600C1 -:10FA50003196F5CF40915D1350915E1360915F1325 -:10FA60007091601322E030E08BEF96E10E94A3D109 -:10FA7000E7E9F1E58491882341F09091C00095FF7A -:10FA8000FCCF8093C6003196F5CF40916113509121 -:10FA90006213609163137091641322E030E08BEF86 -:10FAA00096E10E94A3D1E3E9F1E58491882341F036 -:10FAB0009091C00095FFFCCF8093C6003196F5CFA2 -:10FAC00040916513509166136091671370916813AC -:10FAD00022E030E08BEF96E10E94A3D1EFE8F1E560 -:10FAE0008491882341F09091C00095FFFCCF8093D2 -:10FAF000C6003196F5CF4091691350916A13609119 -:10FB00006B1370916C1322E030E08BEF96E10E9452 -:10FB1000A3D1E0917B13F0E0EE0FFF1FE45EFD4FF9 -:10FB20000190F081E02DE659FE4F0190F081E02D2B -:10FB30008491882341F09091C00095FFFCCF809381 -:10FB4000C6003196F5CF0E947DDA0E94DEF7209143 -:10FB5000011D3091021D4091031D5091041D0E9412 -:10FB600043F7AB01BC0122E030E08BEF96E10E944D -:10FB7000A3D1EBE8F1E58491882341F09091C00096 -:10FB800095FFFCCF8093C6003196F5CF81E00E94AF -:10FB90007DDA0E94DEF72091051D3091061D40910F -:10FBA000071D5091081D0E9443F7AB01BC0122E0E4 -:10FBB00030E08BEF96E10E94A3D1E7E8F1E5849174 -:10FBC000882341F09091C00095FFFCCF8093C60040 -:10FBD0003196F5CF82E00E947DDA0E94DEF7209117 -:10FBE000091D30910A1D40910B1D50910C1D0E9462 -:10FBF00043F7AB01BC0122E030E08BEF96E10E94BD -:10FC0000A3D18091C00085FFFCCF8AE08093C6001D -:10FC10000C94FD8980E00E94A1D20C94FD8981E0C2 -:10FC20000E94A1D20C94FD899091C00095FFFCCF59 -:10FC30008093C600319684918111F6CF8091C000E7 -:10FC400085FFFCCF8AE08093C600E0917B13F0E053 -:10FC5000EE0FFF1FE45EFD4F0190F081E02DE858AC -:10FC6000FE4F0190F081E02D8491882341F0909126 -:10FC7000C00095FFFCCF8093C6003196F5CFE09190 -:10FC80007B13F0E0EE0FFF1FE45EFD4F1E9B13C0E1 -:10FC90000190F081E02DEA57FE4F0190F081E02DB8 -:10FCA00084918823D9F09091C00095FFFCCF809378 -:10FCB000C6003196F5CF0190F081E02DE857FE4F58 -:10FCC0000190F081E02D8491882341F09091C00053 -:10FCD00095FFFCCF8093C6003196F5CF8091C00090 -:10FCE00085FFFCCF8AE08093C600E0917B13F0E0B3 -:10FCF000EE0FFF1FE45EFD4F0190F081E02DE6580E -:10FD0000FE4F0190F081E02D8491882341F0909185 -:10FD1000C00095FFFCCF8093C6003196F5CFE091EF -:10FD20007B13F0E0EE0FFF1FE45EFD4F029913C05E -:10FD30000190F081E02DEA57FE4F0190F081E02D17 -:10FD400084918823D9F09091C00095FFFCCF8093D7 -:10FD5000C6003196F5CF0190F081E02DE857FE4FB7 -:10FD60000190F081E02D8491882341F09091C000B2 -:10FD700095FFFCCF8093C6003196F5CF8091C000EF -:10FD800085FFFCCF8AE08093C600E0917B13F0E012 -:10FD9000EE0FFF1FE45EFD4F0190F081E02DE4586F -:10FDA000FE4F0190F081E02D8491882341F09091E5 -:10FDB000C00095FFFCCF8093C6003196F5CFE0914F -:10FDC0007B13F0E0EE0FFF1FE45EFD4F1D9B13C0A1 -:10FDD0000190F081E02DEA57FE4F0190F081E02D77 -:10FDE00084918823D9F09091C00095FFFCCF809337 -:10FDF000C6003196F5CF0190F081E02DE857FE4F17 -:10FE00000190F081E02D8491882341F09091C00011 -:10FE100095FFFCCF8093C6003196F5CF8091C0004E -:10FE200085FFFCCF8AE08093C600E0917B13F0E071 -:10FE3000EE0FFF1FE45EFD4F0190F081E02DE258D0 -:10FE4000FE4F0190F081E02D8491882341F0909144 -:10FE5000C00095FFFCCF8093C6003196F5CFE091AE -:10FE60007B13F0E0EE0FFF1FE45EFD4F019913C01E -:10FE70000190F081E02DEA57FE4F0190F081E02DD6 -:10FE800084918823D9F09091C00095FFFCCF809396 -:10FE9000C6003196F5CF0190F081E02DE857FE4F76 -:10FEA0000190F081E02D8491882341F09091C00071 -:10FEB00095FFFCCF8093C6003196F5CF8091C000AE -:10FEC00085FFFCCF8AE08093C600E0917B13F0E0D1 -:10FED000EE0FFF1FE45EFD4F0190F081E02DE05832 -:10FEE000FE4F0190F081E02D8491882341F09091A4 -:10FEF000C00095FFFCCF8093C6003196F5CFE0910E -:10FF00007B13F0E0EE0FFF1FE45EFD4F1C9B13C060 -:10FF10000190F081E02DEA57FE4F0190F081E02D35 -:10FF200084918823D9F09091C00095FFFCCF8093F5 -:10FF3000C6003196F5CF0190F081E02DE857FE4FD5 -:10FF40000190F081E02D8491882341F09091C000D0 -:10FF500095FFFCCF8093C6003196F5CF8091C0000D -:10FF600085FFFCCF8AE08093C600E0917B13F0E030 -:10FF7000EE0FFF1FE45EFD4F0190F081E02DEE5784 -:10FF8000FE4F0190F081E02D8491882341F0909103 -:10FF9000C00095FFFCCF8093C6003196F5CFE0916D -:10FFA0007B13F0E0EE0FFF1FE45EFD4F379913C0A7 -:10FFB0000190F081E02DEA57FE4F0190F081E02D95 -:10FFC00084918823D9F09091C00095FFFCCF809355 -:10FFD000C6003196F5CF0190F081E02DE857FE4F35 -:10FFE0000190F081E02D8491882341F09091C00030 -:10FFF00095FFFCCF8093C6003196F5CF8091C0006D -:020000021000EC -:1000000085FFFCCF8AE08093C6000C94FD89809127 -:1000100049138093621184E50E949565882381F1DC -:100020000E9481650E94B0F760936211662341F1DE -:10003000E1E9F2E58491882341F09091C00095FFB9 -:10004000FCCF8093C6003196F5CFE0917B13F0E0B2 -:10005000EE0FFF1FE45EFD4F0190F081E02DEA5AA4 -:10006000FE4F0190F081E02D8191882311F40C94D2 -:10007000FD899091C00095FFFCCF8093C600F4CF1E -:1000800084E40E949565882311F40C94FD890E94F4 -:10009000816520E030E0A9010E943CF7811103C096 -:1000A00010926D1332C00091621110E00E948165C0 -:1000B000F801EE0FFF1FEE0FFF1FE15CF34F6083AF -:1000C000718382839383E0903F0CF090400C009109 -:1000D000410C1091420C20E030E0A901B701C801A9 -:1000E0000E943CF7811104C0E12CF12C00E410E4E3 -:1000F000C701D80180933F0C9093400CA093410C12 -:10010000B093420C81E080936D130E9482710C9435 -:10011000FD8907E01EE0E1EFEE2EECE1FE2EF80196 -:1001200081918F010E949565882349F00E94816525 -:100130000E94B0F7F7016083718382839383F4E0B8 -:10014000EF0EF11C2EE00B30120749F70E9468EC0D -:100150000C94FD8907E01EE071E1E72E7DE1F72EAA -:10016000F80181918F010E949565882339F00E94E2 -:100170008165F7016083718382839383F4E0EF0EDE -:10018000F11C2EE00B30120759F70C94FD8983E522 -:100190000E949565882351F00E9481656093E91C57 -:1001A0007093EA1C8093EB1C9093EC1C84E50E94F6 -:1001B0009565882311F40C94FD890E9481656093F4 -:1001C000E51C7093E61C8093E71C9093E81C0C944C -:1001D000FD8983E50E949565882351F00E94816521 -:1001E0006093ED1C7093EE1C8093EF1C9093F01CB9 -:1001F00084E50E949565882351F00E948165609393 -:10020000D51C7093D61C8093D71C9093D81C82E485 -:100210000E949565882361F00E9481650E94B0F775 -:100220006093211D7093221D8093231D9093241DA4 -:1002300088E50E949565882351F00E94816560934E -:10024000E11C7093E21C8093E31C9093E41C8AE50C -:100250000E949565882351F00E9481656093DD1CA2 -:100260007093DE1C8093DF1C9093E01C85E40E9459 -:100270009565882311F40C94FD890E948165609333 -:10028000D91C7093DA1C8093DB1C9093DC1C0C94BB -:10029000FD8907E01EE061E5E62E63E1F62EF80138 -:1002A00081918F010E949565882339F00E948165B4 -:1002B000F7016083718382839383F4E0EF0EF11C76 -:1002C0002EE00A30120711F40C94FD89E8CF83E583 -:1002D0000E949565882351F00E94816560931F0CF0 -:1002E0007093200C8093210C9093220C86E40E9442 -:1002F0009565882381F00E94816520E030E040E729 -:1003000052E40E9443F76093170C7093180C80938B -:10031000190C90931A0C8AE50E949565882311F4B4 -:100320000C94FD890E948165609341137093421380 -:1003300080934313909344130C94FD8983E50E94AA -:100340009565882351F00E94816560933D137093F9 -:100350003E1380933F139093401386E40E9495656B -:10036000882311F40C94FD890E94816520E030E01F -:1003700040E752E40E9443F76093130C7093140C0F -:100380008093150C9093160C0C94FD8983E50E94C4 -:100390009565882311F40C94FD890E9481650E9463 -:1003A000ABF76115710551F06130710569F481E0B9 -:1003B00080934613109245130C94FD8910924613B6 -:1003C000109245130C94FD89E1E9F2E584918823AC -:1003D00041F09091C00095FFFCCF8093C60031960C -:1003E000F5CFE0917B13F0E0EE0FFF1FE45EFD4FD1 -:1003F0000190F081E02DEE58FE4F0190F081E02D4C -:100400008491882341F09091C00095FFFCCF8093A8 -:10041000C6003196F5CF809181119091821120E62E -:10042000289FF001299FF00D1124E957FE4E81917C -:10043000882339F09091C00095FFFCCF8093C600CF -:10044000F6CFE5E8F1E58491882341F09091C00072 -:1004500095FFFCCF8093C6003196F5CF8091C00008 -:1004600085FFFCCF8AE08093C600C7C783E50E9462 -:100470009565882309F4C1C70E9481650E94ABF786 -:1004800070934A0C6093490CB8C783E50E94956548 -:10049000882309F4B2C70E9481650E94ABF76B0103 -:1004A0007C0184E50E949565882381F08DED90E0C4 -:1004B0000E94496B8111A1C7E0916211F0E0EE0F3B -:1004C000FF1FEB5BF34FD182C08297C7D092480CDD -:1004D000C092470C92C780E50E949565882309F475 -:1004E0008CC70E9481650E94ABF7D62E062F172F6E -:1004F00083E50E949565882331F00E9481650E9402 -:10050000ABF77B0103C0EE24EA94FE2CC7010196F1 -:10051000039708F072C7EFECFDE08191919180178D -:10052000910709F46AC73EE0E730F307B1F717FD1A -:1005300064C70E9421DACD2C60E08D2D0E94A9EFC6 -:100540008FEFE816F80631F0EA94EF2871F000E03A -:1005500010E00DC08D2D0E9417F031E020E0892BB6 -:1005600009F030E0032F122F02C001E010E08C2DC3 -:100570000E9417F08017910709F43FC70E941746A1 -:1005800080E00E94DB700E9425A4F1CF83E50E94E9 -:100590009565882331F00E9481650E94ABF78B013D -:1005A00002C00EE610E080E50E949565882331F0D8 -:1005B0000E9481650E94ABF7CB0102C088EE93E0F8 -:1005C0006C01EE24D7FCE094FE2C101611067CF48E -:1005D00020E030E0A901B80184E50E9455F1C7018F -:1005E000B6010E94B8F084E50E946CF406C7C7010A -:1005F000B6010E94B8F001C780E50E949565882386 -:1006000051F00E94816560931802709319028093E3 -:100610001A0290931B0289E40E949565882361F079 -:100620000E9481650E94934A6093140270931502A0 -:10063000809316029093170284E40E9495658823A4 -:1006400061F00E9481650E949F4A6093100270933E -:100650001102809312029093130283E40E94956525 -:10066000882351F00E94816560930C0270930D0203 -:1006700080930E0290930F020E94683FE0917B13DB -:10068000F0E0EE0FFF1FE45EFD4F0190F081E02DE2 -:10069000E05CFE4F0190F081E02D8191882339F0DC -:1006A0009091C00095FFFCCF8093C600F6CFEDEB94 -:1006B000FDE08191882339F09091C00095FFFCCF37 -:1006C0008093C600F6CF40911802509119026091B4 -:1006D0001A0270911B0222E030E08BEF96E10E943B -:1006E000A3D1E1ECFDE08191882339F09091C00025 -:1006F00095FFFCCF8093C600F6CF609114027091F5 -:10070000150280911602909117020E94994AAB013E -:10071000BC0122E030E08BEF96E10E94A3D1E5EC32 -:10072000FDE08191882339F09091C00095FFFCCFC6 -:100730008093C600F6CF60911002709111028091F3 -:100740001202909113020E94A54AAB01BC0122E063 -:1007500030E08BEF96E10E94A3D1E9ECFDE08191BE -:10076000882339F09091C00095FFFCCF8093C6009C -:10077000F6CF40910C0250910D0260910E027091E3 -:100780000F0222E030E08BEF96E10E94A3D180912E -:10079000C00085FFFCCF8AE08093C6002EC683E5AB -:1007A0000E949565882319F00E94816503C060E06E -:1007B00070E0CB010E945FEC20C685E40E94956545 -:1007C000882341F00E9481650E94ABF78B0177FF7F -:1007D00003C009C000E010E0C12CD12C96E1E92E45 -:1007E00093E4F92E06C0C12CD12C8CE8E82E82E4CB -:1007F000F82E83E50E949565882321F00E9481658B -:100800006B017C0183E40E949565882331F00E948E -:1008100081650E94ABF79B0102C025E030E0A80192 -:10082000C701B6010E946B40E8C50E9421DAE5C508 -:100830000E94D4CD0E94A6C9E0C50E94D4CDDDC5DA -:100840000E94A6C9DAC59091C00095FFFCCF8093A5 -:10085000C600319684918111F6CFE5E7F1E58491E8 -:10086000882309F4CAC59091C00095FFFCCF8093FE -:10087000C6003196F4CF8AE50E949565882309F475 -:10088000D6C00E9481656B017C0120E030E040E72A -:1008900051EC0E943FF987FD57C020E030E040EA6C -:1008A00050ECC701B6010E943CF718160CF44CC07E -:1008B000F7FAF094F7F8F094C0924A13D0924B13E1 -:1008C000E0924C13F0924D13E1E9F2E58491882314 -:1008D00041F09091C00095FFFCCF8093C600319607 -:1008E000F5CFE0917B13F0E0EE0FFF1FE45EFD4FCC -:1008F00080819181FC01E05CFE4F40815181E8558F -:10090000F10924E731E564E77EE0808191810E946E -:10091000584DFC012491222341F03091C00035FF55 -:10092000FCCF2093C6000196F4CF8091C00085FFD4 -:10093000FCCF8AE08093C6008091C00085FFFCCF89 -:100940008AE08093C60059C5E1E9F2E584918823E5 -:1009500041F09091C00095FFFCCF8093C600319686 -:10096000F5CFE0917B13F0E0EE0FFF1FE45EFD4F4B -:100970000190F081E02DE851FF4F0190F081E02DD2 -:100980008491882341F09091C00095FFFCCF809323 -:10099000C6003196F5CFE0917B13F0E0EE0FFF1F1C -:1009A000E45EFD4F0190F081E02DE058FE4F019094 -:1009B000F081E02D8491882341F09091C00095FF53 -:1009C000FCCF8093C6003196F5CF4AE050E061EF4E -:1009D0007FEF8BEF96E10E94CDD0E0917B13F0E0AA -:1009E000EE0FFF1FE45EFD4F0190F081E02DEE570A -:1009F000FE4F0190F081E02D8491882341F0909189 -:100A0000C00095FFFCCF8093C6003196F5CF4AE039 -:100A100050E06BEF7FEF8BEF96E10E94CDD080919D -:100A2000C00085FFFCCF8AE08093C600E6C4E1E900 -:100A3000F2E58491882341F09091C00095FFFCCFAE -:100A40008093C6003196F5CFE0917B13F0E0EE0F76 -:100A5000FF1FE45EFD4F0190F081E02DE851FF4F54 -:100A600060E771E5808191810E94374DFC012491FE -:100A7000222341F03091C00035FFFCCF2093C60007 -:100A80000196F4CF8091C00085FFFCCF8AE080936F -:100A9000C60040914A1350914B1360914C137091D2 -:100AA0004D13705822E030E08BEF96E10E94A3D105 -:100AB0008091C00085FFFCCF8AE08093C6009DC472 -:100AC0000E9421DA8091490C90914A0C9093440C39 -:100AD0008093430CC0905D13D0905E13E0905F1341 -:100AE000F0906013CF8ED8A2E9A2FAA20091611310 -:100AF0001091621320916313309164130BA31CA314 -:100B00002DA33EA340916513509166136091671326 -:100B1000709168134FA358A769A77AA780916913AA -:100B200090916A13A0916B13B0916C138BA79CA743 -:100B3000ADA7BEA7C982DA82EB82FC820D831E8339 -:100B40002F83388749875A876B877C878D879E8755 -:100B5000AF87B88B85E40E949565882359F00E9481 -:100B600081659B01AC016BA57CA58DA59EA50E940E -:100B700063F60AC020E030E040E050E46BA57CA5BD -:100B80008DA59EA50E9462F66BA77CA78DA79EA748 -:100B900039E4C32E33E1D32EE12CF12C08EC13E41D -:100BA0009E01255D3F4FAE01495D5F4FBE016D5D0A -:100BB0007F4FCE014F960E94B4E18AE50E94956571 -:100BC000882349F00E9481659B01AC016FA178A543 -:100BD00089A59AA51EC020E030E040E050E46FA156 -:100BE00078A589A59AA50E9463F66B017C016FA385 -:100BF00078A789A79AA720E030E040E251E40E945C -:100C00003CF787FF0CC020E030E040E251E4C70130 -:100C1000B6010E9463F66FA378A789A79AA799E403 -:100C2000C92E93E1D92EE12CF12C06E913E49E01A3 -:100C3000255D3F4FAE01495D5F4FBE016D5D7F4F4A -:100C4000CE014F960E94B4E188E50E949565882305 -:100C500079F00E9481659B01AC016F8D78A189A11B -:100C60009AA10E9463F66F8F78A389A39AA308C004 -:100C700080E090E0A3E5B3E48F8F98A3A9A3BAA383 -:100C800089E50E949565882339F00E9481656BA3F0 -:100C90007CA38DA39EA304C01BA21CA21DA21EA206 -:100CA00019E4C12E13E1D12EE12CF12C0CE812E451 -:100CB0009E01255D3F4FAE01495D5F4FBE016D5DF9 -:100CC0007F4FCE014F960E94B4E18CE40E9495655F -:100CD000882359F00E9481659B01AC016BA57CA51E -:100CE0008DA59EA50E9463F60AC020E030E040EA90 -:100CF00052E46BA57CA58DA59EA50E9462F66BA70C -:100D00007CA78DA79EA7A9E4CA2EA3E1DA2EE12C29 -:100D1000F12C08EC13E49E01255D3F4FAE01495DC7 -:100D20005F4FBE016D5D7F4FCE014F960E94B4E1D3 -:100D30000E9421DA149A64E670E080E090E00E945C -:100D4000B8F00E94D4B900E010E0F12C0E9409A58F -:100D500081112AC0F3940E94174681E00E94DB7043 -:100D6000F110F4CF043FF1E01F0711F400E010E0B0 -:100D7000809101018460809301010115110531F416 -:100D80009FB7F89480910201846008C00431110576 -:100D900041F49FB7F894809102018B7F8093020108 -:100DA0009FBF0F5F1F4FD2CF9FB7F8948091020172 -:100DB0008B7F809302019FBF20E030E04CE852E43B -:100DC0006BA57CA58DA59EA50E9463F66BA77CA74D -:100DD0008DA79EA779E4C72E73E1D72EE12CF12CC5 -:100DE00000EA11E49E01255D3F4FAE01495D5F4F72 -:100DF000BE016D5D7F4FCE014F960E94B4E120E0B1 -:100E000030E048E452E46BA57CA58DA59EA50E9428 -:100E100063F66BA77CA78DA79EA7E12CF12C00E0C1 -:100E200010E49E01255D3F4FAE01495D5F4FBE015D -:100E30006D5D7F4FCE014F960E94B4E110927D13FD -:100E400010927C130E946FBA80917C1390917D1355 -:100E5000019709F47CC010927D1310927C130E94BC -:100E6000C4BA80917C1390917D138230910549F131 -:100E7000039709F069C020E030E048E452E46BA534 -:100E80007CA58DA59EA50E9463F66BA77CA78DA768 -:100E90009EA729E4C22E23E1D22EE12CF12C00E002 -:100EA00010E49E01255D3F4FAE01495D5F4FBE01DD -:100EB0006D5D7F4FCE014F960E94B4E10E941ABA39 -:100EC000C3CF20E030E04CE852E46BA57CA58DA5B3 -:100ED0009EA50E9463F66BA77CA78DA79EA749E4F9 -:100EE000C42E43E1D42EE12CF12C00EA11E49E0142 -:100EF000255D3F4FAE01495D5F4FBE016D5D7F4F88 -:100F0000CE014F960E94B4E120E030E048E452E484 -:100F10006BA57CA58DA59EA50E9463F66BA77CA7FB -:100F20008DA79EA7E12CF12C00E010E49E01255D29 -:100F30003F4FAE01495D5F4FBE016D5D7F4FCE01FA -:100F40004F960E94B4E17ECF0E9402BA7DCF20E08E -:100F500030E040EA50E46BA57CA58DA59EA50E94DB -:100F600063F66BA77CA78DA79EA7E9E4CE2EE3E1ED -:100F7000DE2EE12CF12C00E010E49E01255D3F4FB8 -:100F8000AE01495D5F4FBE016D5D7F4FCE014F9653 -:100F90000E94B4E1A80197016BA57CA58DA59EA533 -:100FA0000E9462F66BA77CA78DA79EA7E12CF12C6F -:100FB00008EC13E49E01255D3F4FAE01495D5F4F94 -:100FC000BE016D5D7F4FCE014F960E94B4E1E12CD2 -:100FD000F12C0CE812E49E01255D3F4FAE01495D06 -:100FE0005F4FBE016B5F7F4FCE0101960E94B4E15F -:100FF000E12CF12C06E913E49E01255D3F4FAE0183 -:10100000475F5F4FBE016B5F7F4FCE0101960E942D -:10101000B4E120E030E040E050E46BA57CA58DA574 -:101020009EA50E9463F66BA77CA78DA79EA7E12CC7 -:10103000F12C08EC13E49E01255D3F4FAE01475FA4 -:101040005F4FBE016B5F7F4FCE0101960E94B4E1FE -:10105000CE010D960E943BEC8091430C9091440C84 -:101060008093490C90934A0C9F938F9387E691E568 -:101070009F938F938E01015D1F4F1F930F930F94CA -:101080000B01C8010E947E620F900F900F900F908D -:101090000F900F90B2C188E50E949565882339F0C2 -:1010A0000E9481650E94ABF780E00E944BDB8AE5DD -:1010B0000E949565882339F00E9481650E94ABF7F4 -:1010C00081E00E944BDB85E40E949565882309F44A -:1010D00094C10E9481650E94ABF782E00E944BDBC5 -:1010E0008CC183E50E949565811104C007E01EE074 -:1010F000F12C10C010E00E9481650E94B0F7812F92 -:101100000E9421DC1F5F1530B1F7F0CFF394F4E0BB -:10111000FF1679F0F80181918F010E94956588236F -:10112000A9F30E9481650E94B0F78F2D0E9421DCF7 -:10113000EDCF82E40E949565882339F00E94816595 -:101140000E94B0F784E00E9421DC0E94E7DC55C1D8 -:1011500083E50E949565882309F453C00E94816548 -:101160000E94ABF76130710541F06230710509F002 -:1011700048C007E01EE0F12C25C007E01EE0F12C7E -:10118000F80181918F010E949565882341F00E94AA -:1011900081650E94ABF74FEF8F2D0E94E3DBF39444 -:1011A000F4E0FF12EDCF82E40E949565882349F1B7 -:1011B0000E9481650E94ABF74FEF20C0F394F4E0EA -:1011C000FF1689F0F80181918F010E9495658823AF -:1011D000A9F30E9481650E94ABF7462F6FEF8F2D18 -:1011E0000E94E3DBEBCF82E40E949565882349F0FF -:1011F0000E9481650E94ABF7462F6FEF84E00E944A -:10120000E3DB0E94E7DCF9C084E50E949565882352 -:1012100009F4A2C00E9481650E94B0F76093621138 -:10122000662309F442C0E1E9F2E58491882341F0A4 -:101230009091C00095FFFCCF8093C6003196F5CF0A -:10124000EDECFDE08191882339F09091C00095FF8D -:10125000FCCF8093C600F6CF40E050E06091621171 -:101260008BEF96E10E9404D1E0917B13F0E0EE0F4A -:10127000FF1FE45EFD4F0190F081E02DEA58FE4F24 -:101280000190F081E02D8191882339F09091C00088 -:1012900095FFFCCF8093C600F6CF8091C00085FFFC -:1012A000FCCF8AE08093C600A8C086E40E949565C2 -:1012B0008823D9F00E9481656B017C01609318132B -:1012C0007093191380931A1390931B1320E030E04E -:1012D000A9010E943FF9181644F4C0920D0CD09257 -:1012E0000E0CE0920F0CF092100CE1E9F2E5849103 -:1012F000882341F09091C00095FFFCCF8093C600F9 -:101300003196F5CFE0917B13F0E0EE0FFF1FE45E26 -:10131000FD4F0190F081E02DEC58FE4F0190F081DF -:10132000E02D8191882339F09091C00095FFFCCF8A -:101330008093C600F6CF6091491370E04AE050E018 -:101340008BEF96E10E94CDD08091C00085FFFCCF4D -:101350008AE08093C60051C0E1E9F2E584918823D8 -:1013600041F09091C00095FFFCCF8093C60031966C -:10137000F5CFE0917B13F0E0EE0FFF1FE45EFD4F31 -:101380000190F081E02DEE58FE4F0190F081E02DAC -:101390008491882341F09091C00095FFFCCF809309 -:1013A000C6003196F5CF809181119091821120E68F -:1013B000289FF001299FF00D1124E957FE4E8191DD -:1013C000882339F09091C00095FFFCCF8093C60030 -:1013D000F6CFE5E6F1E58491882341F09091C000D5 -:1013E00095FFFCCF8093C6003196F5CF8091C00069 -:1013F00085FFFCCF8AE08093C6000E94BC6580C256 -:10140000C0903413D0903513E0903613F09037131A -:101410002091691330916A1340916B1350916C13B2 -:10142000C701B6010E9462F62DEC3CEC4CEC5DE38A -:101430000E943FF9181614F00C949772C092691329 -:10144000D0926A13E0926B13F0926C1389E693E1E9 -:101450000E943BEC60E080E00E942E6851C288E56B -:101460000E9495658111B5C08091110C8111B6C0A3 -:1014700089E50E9495658111B1C088E50E94956556 -:101480008823D1F00E948A65672B682B692BA1F015 -:101490000E94816520915113309152134091531352 -:1014A000509154130E9463F660935D1370935E1322 -:1014B00080935F139093601389E50E94956588235C -:1014C000D1F00E948A65672B682B692BA1F00E94DE -:1014D00081652091551330915613409157135091C7 -:1014E00058130E9463F660936113709362138093A4 -:1014F0006313909364138091110C811174C08AE579 -:101500000E94956581116FC08AE50E9495658823C8 -:10151000D1F00E948A65672B682B692BA1F00E948D -:1015200081652091591330915A1340915B1350916A -:101530005C130E9463F66093651370936613809347 -:1015400067139093681329E633E145E653E161E6BA -:1015500073E18DE593E10E9496EB80E00E94A1D2B9 -:101560008091141390911513A0911613B091171335 -:1015700080930D0C90930E0CA0930F0CB093100C55 -:10158000809182139091831390934A0C8093490C1D -:101590000E9489F060937311709374118093751198 -:1015A000909376110E949AD280919013882309F427 -:1015B00024CF6CE873E188EF9FE00E94D89C809173 -:1015C0008C1390918D13892B09F417CF0E9432C18F -:1015D00014CF80E090E00E94EC6046CF81E090E084 -:1015E0000E94EC604ACF82E090E00E94EC608CCFD9 -:1015F0000E94174680E00E94DB700E9425A40C9494 -:1016000036760E948A65AB01BC0140932B1650933D -:101610002C1660932D1670932E1686E795E10E9486 -:10162000EC33EBCE0E9481650E94ABF78B010C94EA -:101630007378E0917B13F0E0EE0FFF1FE45EFD4F47 -:101640000190F081E02DEE59FE4F808191810E9442 -:1016500089A182E090E090937613809375130E94A5 -:1016600089F060936B1170936C1180936D1190935E -:101670006E110E9489F060937311709374118093BE -:10168000751190937611B9CE0E9489F06819790985 -:101690008A099B09693E73408105910508F479C068 -:1016A000E5EBF1E58491882341F09091C00095FF2E -:1016B000FCCF8093C6003196F5CFE091621124E013 -:1016C000E29FF0011124E85FFE4E4081518162816A -:1016D000738121E030E08BEF96E10E94A3D1E1EB32 -:1016E000F1E58491882341F09091C00095FFFCCFF3 -:1016F0008093C6003196F5CF6091621170E04AE0A8 -:1017000050E08BEF96E10E94CDD0EDEAF1E58491B7 -:10171000882341F09091C00095FFFCCF8093C600D4 -:101720003196F5CFF7FE03C0E2EBFDE025C00E9445 -:1017300089F08B019C01C701B6016854744F8F4F2B -:101740009F4F601B710B820B930BA30192010E94B0 -:101750001AFBBA01A9012AE030E08BEF96E10E9462 -:10176000F9D08091C00085FFFCCF0DC09091C000E2 -:1017700095FFFCCF8093C60081918111F7CF8091B6 -:10178000C00085FFFCCF3092C6000E9489F04B015B -:101790005C010E94174680E00E94DB700E9425A435 -:1017A000FFEFCF16DF06EF06FF0609F046C0809177 -:1017B0006011E0916211F0E08F01000F111F000F26 -:1017C000111F085F1E4EEE0FFF1FE05FFE4E60818F -:1017D00071818823C9F0882777FD8095982F0E9412 -:1017E000DEF720E030E040E85FE30E9462F69B0114 -:1017F000AC01F80160817181828193810E943FF97F -:1018000087FF50C00C945B7A882777FD8095982FCE -:101810000E94DEF720E030E040E85FE30E9463F6DC -:101820009B01AC01F80160817181828193810E94EA -:101830003CF71816BCF50C945B7AF7FE02C00C94CA -:101840005B7AE0916211F0E08F01000F111F000F31 -:10185000111F085F1E4EEE0FFF1FE05FFE4E6081FE -:101860007181882777FD8095982F0E94DEF79B0174 -:10187000AC01F80160817181828193810E9462F6DE -:101880000E94ABF797FF07C0909580957095619582 -:101890007F4F8F4F9F4F663071058105910514F47E -:1018A0000C945B7A0E9489F06B017C010C945B7A4A -:1018B0000E9421DA88E50E949565882319F0179A1D -:1018C00010924E1389E50E949565882319F0169AA7 -:1018D00010924F138AE50E949565882319F0159A96 -:1018E0001092501385E40E949565882309F485CDF4 -:1018F000149A83CD0E9421DA149A0E948BDA7DCD4E -:10190000E9960FB6F894DEBF0FBECDBFDF91CF9141 -:101910001F910F91FF90EF90DF90CF90BF90AF900D -:101920009F908F907F906F905F904F903F90089521 -:101930000F931F9380917E1390917F13892BA1F0B9 -:101940000E9489F00091631110916411209165113A -:1019500030916611601B710B820B930B693E7340D3 -:101960008105910508F0A5C080917E1390917F13A9 -:10197000892B11F41092811380917D1190917E1129 -:10198000039714F40E949B6C60E08EE893E10E9440 -:10199000DC5780917D1190917E11892B09F47EC0D6 -:1019A00080918E138823E1F08091811190918211B2 -:1019B00020E6289F8001299F100D112409571E4EF3 -:1019C00061E072E5C8010F947E00892B59F5B801DA -:1019D0008EE893E10E945E5780918F13882319F05F -:1019E0000E94947145C0E0917B13F0E0EE0FFF1F61 -:1019F000E45EFD4F0190F081E02DE05CFE4F019030 -:101A0000F081E02D8491882341F09091C00095FFF2 -:101A1000FCCF8093C6003196F5CF8091C00085FF42 -:101A2000FCCF23C060E08EE893E10E94D258E091A1 -:101A30007B13F0E0EE0FFF1FE45EFD4F0190F0819D -:101A4000E02DEE5BFE4F0190F081E02D8491882324 -:101A500041F09091C00095FFFCCF8093C600319675 -:101A6000F5CF8091C00085FFFCCF8AE08093C6004F -:101A700080917D1190917E11019790937E118093BA -:101A80007D118091811190918211019664E070E046 -:101A90000E9407FB90938211809381110E94174648 -:101AA00080E00E94DB700E94C2D11F910F910C94C4 -:101AB00025A481E08093811380917E1390917F1300 -:101AC000019790937F1380937E130E9489F0609317 -:101AD000631170936411809365119093661144CFE4 -:101AE0008F929F92AF92BF92CF92DF92EF92FF922E -:101AF0000F931F93CF93DF938C018C519E4F0E94C5 -:101B00002351680189E8C80ED11C21F1780181E4D4 -:101B1000E81A8EEFF80AE70157018FE1A81AB10819 -:101B200046E9842E4EE0942ECC15DD0599F0FE0199 -:101B3000EE19FF09EA0DFB1D91828082FE01789764 -:101B40008081811102C06F97EFCFCE014B970E9429 -:101B5000CF34F9CFC80186599F4F0E942351C80145 -:101B6000875B9F4FDF91CF911F910F91FF90EF9077 -:101B7000DF90CF90BF90AF909F908F900C942351A7 -:101B80008EE893E10C942F518EE893E1A9CFFB01ED -:101B900060915C0C70915D0C70935E1660935D16A5 -:101BA000609167167091681670935C1660935B166F -:101BB00062E060935B0C61E27EEA70935D0C60937F -:101BC0005C0C90935A1680935916F0935816E09334 -:101BD0005716662757FD6095762F409353165093FE -:101BE00054166093551670935616C901AA2797FD8F -:101BF000A095BA2F841B950BA60BB70B80934F169D -:101C000090935016A0935116B093521680819181F3 -:101C1000AA2797FDA095BA2F841B950BA60BB70B8F -:101C20008093671690936816A0936916B0936A160E -:101C30000895CF93DF93CDB7DEB7C054D1090FB667 -:101C4000F894DEBF0FBECDBF88E0E3E9FCE0DE0123 -:101C5000D99601900D928A95E1F788E0EBE9FCE0D6 -:101C6000DE01D19601900D928A95E1F788E0E3EAD2 -:101C7000FCE0DE01999601900D928A95E1F788E0EB -:101C8000EBEAFCE0DE01919601900D928A95E1F776 -:101C900088E0E3EBFCE0DE01599601900D928A9515 -:101CA000E1F788E0EBEBFCE0DE01519601900D924C -:101CB0008A95E1F788E0E3ECFCE0DE0119960190FB -:101CC0000D928A95E1F788E0EBECFCE0DE011196DD -:101CD00001900D928A95E1F7AE01475C5F4F60E09D -:101CE00082E796E10E94F84CAE014F5C5F4F61E0E5 -:101CF00082E796E10E94F84CAE01475D5F4F62E0DB -:101D000082E796E10E94F84CAE014F5D5F4F63E0C1 -:101D100082E796E10E94F84CAE01475E5F4F64E0B7 -:101D200082E796E10E94F84CAE014F5E5F4F65E09E -:101D300082E796E10E94F84CAE01475F5F4F66E094 -:101D400082E796E10E94F84CAE014F5F5F4F67E07B -:101D500082E796E10E94F84CC05CDF4F0FB6F89422 -:101D6000DEBF0FBECDBFDF91CF9108950F931F93BC -:101D7000CF93DF93EB01142F022F482F60E082E70F -:101D800096E10E945A4B612F82E796E10E94F3F59B -:101D900011E1FE016491662311F0111117C01123A6 -:101DA00039F060E282E796E10E94F3F51150F7CF37 -:101DB000602F82E796E10E94F3F560E282E796E108 -:101DC000DF91CF911F910F910C94F3F582E796E18B -:101DD0000E94F3F521961150DCCFCF92DF92EF9263 -:101DE000FF920F931F93CF93DF93D82EC62E7A01C5 -:101DF000E901482F82E796E10E945A4B81E0E816FC -:101E0000F10469F182E0E816F10409F04FC0BE0167 -:101E100082E796E10E94F2F5FE0101900020E9F7C9 -:101E20003197EC1BFD0B6C2D6E0F4D2D82E796E16B -:101E30000E945A4B6BEC7DE082E796E10E94F2F53E -:101E4000FE0101900020E9F76C2D6C1B6E0F4D2DEB -:101E500082E796E10E945A4B6BE07EE028C0BE010B -:101E600082E796E10E94F2F5FE0101900020E9F779 -:101E70003197EC1BFD0B6C2D6E0F4D2D82E796E11B -:101E80000E945A4B6BEC7DE082E796E10E94F2F5EE -:101E9000FE0101900020E9F76C2D6C1B6E0F4D2D9B -:101EA00082E796E10E945A4BB80101C0BE0182E769 -:101EB00096E1DF91CF911F910F91FF90EF90DF900E -:101EC000CF900C94F2F5EF92FF920F931F93CF9364 -:101ED000DF93EB01E42E8901F90101900020E9F77D -:101EE000F22EFE1A92E1F90E482F60E082E796E1A9 -:101EF0000E945A4B6E2D82E796E10E94F3F5FE0197 -:101F00006491662311F0F11019C06AE382E796E14B -:101F10000E94F3F5FF2039F060E282E796E10E942B -:101F2000F3F5FA94F7CFB80182E796E1DF91CF910C -:101F30001F910F91FF90EF900C94F2F582E796E1DC -:101F40000E94F3F52196FA94DACF82E796E10C9499 -:101F50004E4BCF9380910101846080930101CAE0D0 -:101F60009FB7F894809102018460809302019FBF23 -:101F700084E690E00E94DCF09FB7F8948091020123 -:101F80008B7F809302019FBF84E690E00E94DCF08B -:101F9000C15031F7CF91089582E080935B0C0E948D -:101FA00089F06C507E4F8F4F9F4F60936C167093EB -:101FB0006D1680936E1690936F16CBCFE0915C0CEC -:101FC000F0915D0CE817F90771F090935D0C809328 -:101FD0005C0C409367165093681660936916709373 -:101FE0006A162111D9CF089521E040E050E0BA01EE -:101FF000E5CF21E040E050E0BA01E0CFCF92DF92A0 -:10200000EF92FF920F931F93CF93DF938091671608 -:1020100090916816A0916916B0916A168130904827 -:10202000A105B10540F01092671610926816109243 -:10203000691610926A168091671690916816A091A1 -:102040006916B0916A16B695A795979587954091B0 -:10205000701650E060E070E084179507A607B70798 -:1020600010F480937016D09170161091711612FBB7 -:10207000112710F9C0E0B7E1CB2ED12CE12CF12CC7 -:1020800001E0409167165091681660916916709151 -:102090006A16D11138C080915B0C8823C1F0E091A1 -:1020A0007B13F0E0EE0FFF1FE45EFD4F0190F08127 -:1020B000E02D8681978123E042305105610571054D -:1020C00010F443E001C040E2BC018C2F4FDE11232D -:1020D00009F420C28091671690916816A091691644 -:1020E000B0916A160297A105B10508F013C254DF3A -:1020F0008BE19CEBDF91CF911F910F91FF90EF90BF -:10210000DF90CF9071CFD13051F580915B0C882357 -:1021100089F0769567955795479523E041305105AD -:102120006105710511F443E001C040E265EF73E51C -:102130008C2F1CDE112309F4EDC18091671690915C -:102140006816A0916916B0916A16B695A7959795ED -:1021500087950197A105B10509F0DCC1C8CFD23040 -:10216000B9F580915B0C8823F1F0E0917B13F0E0EE -:10217000EE0FFF1FE45EFD4F0190F081E02DE25471 -:10218000FE4F80819181769567955795479523E01D -:10219000423051056105710511F443E001C040E290 -:1021A000BC018C2FE3DD112309F4B4C180916716C3 -:1021B00090916816A0916916B0916A16B695A79588 -:1021C000979587950297A105B10509F0A3C18FCF17 -:1021D000D330B9F580915B0C8823F1F0E0917B134B -:1021E000F0E0EE0FFF1FE45EFD4F0190F081E02D67 -:1021F000E054FE4F8081918176956795579547957C -:1022000023E0433051056105710511F443E001C03D -:1022100040E2BC018C2FAADD112309F47BC180911F -:10222000671690916816A0916916B0916A16B695D6 -:10223000A795979587950397A105B10509F06AC100 -:1022400056CFD430B9F580915B0C8823F1F0E09142 -:102250007B13F0E0EE0FFF1FE45EFD4F0190F08175 -:10226000E02DEE53FE4F80819181769567955795CD -:10227000479523E0443051056105710511F443E0B1 -:1022800001C040E2BC018C2F71DD112309F442C171 -:102290008091671690916816A0916916B0916A16A0 -:1022A000B695A795979587950497A105B10509F06F -:1022B00031C11DCFD53051F580915B0C882389F059 -:1022C000769567955795479523E04530510561050B -:1022D000710511F443E001C040E268EE73E58C2F14 -:1022E00045DD112309F416C1809167169091681697 -:1022F000A0916916B0916A16B695A795979587959E -:102300000597A105B10509F005C1F1CED63051F50B -:1023100080915B0C882389F0769567955795479552 -:1023200023E0463051056105710511F443E001C019 -:1023300040E261EE73E58C2F19DD112309F4EAC048 -:102340008091671690916816A0916916B0916A16EF -:10235000B695A795979587950697A105B10509F0BC -:10236000D9C0C5CED73051F580915B0C882389F058 -:10237000769567955795479523E047305105610558 -:10238000710511F443E001C040E268ED73E58C2F64 -:10239000EDDC112309F4BEC0809167169091681698 -:1023A000A0916916B0916A16B695A79597958795ED -:1023B0000797A105B10509F0ADC099CED83051F508 -:1023C00080915B0C882389F07695679557954795A2 -:1023D00023E0483051056105710511F443E001C067 -:1023E00040E26EEC73E58C2FC1DC112309F492C03E -:1023F0008091671690916816A0916916B0916A163F -:10240000B695A795979587950897A105B10509F009 -:1024100081C06DCED93051F580915B0C882389F055 -:10242000769567955795479523E0493051056105A5 -:10243000710511F443E001C040E261EC73E58C2FBB -:1024400095DC112309F466C0809167169091681697 -:10245000A0916916B0916A16B695A795979587953C -:102460000997A105B10509F055C041CEDA3041F513 -:1024700080915B0C882389F07695679557954795F1 -:1024800023E04A3051056105710511F443E001C0B4 -:1024900040E26AEB73E58C2F69DC1123D9F180915E -:1024A000671690916816A0916916B0916A16B69554 -:1024B000A795979587950A97A105B10559F517CE68 -:1024C000DB3041F580915B0C882389F07695679528 -:1024D0005795479523E04B3051056105710511F47F -:1024E00043E001C040E26EEA73E58C2F3FDC11232C -:1024F00089F08091671690916816A0916916B09145 -:102500006A16B695A795979587950B97A105B1057E -:1025100009F4EDCD8091671690916816A091691627 -:10252000B0916A164897A105B10540F0C0926716B0 -:10253000D0926816E0926916F0926A16409167167A -:10254000509168166091691670916A167695679534 -:10255000579547958091701690E00396242F30E0B0 -:10256000821793074CF48DEF840F809370160093BD -:102570005B0CDCEFD40FCFEFCF5FDF5FC43008F42C -:1025800080CDDF91CF911F910F91FF90EF90DF9061 -:10259000CF900895FF920F931F93CF93DF93809175 -:1025A000671690916816A0916916B0916A168130ED -:1025B0009048A105B10540F0109267161092681678 -:1025C0001092691610926A1680916716909168169B -:1025D000A0916916B0916A16B695A79597958795BB -:1025E0004091701650E060E070E084179507A607F0 -:1025F000B70710F480937016D09170161091711671 -:1026000012FB112710F9C0E0FF24F39480916716A4 -:1026100090916816A0916916B0916A16D11135C0D3 -:1026200020915B0C2223C1F0E0917B13F0E0EE0FD0 -:10263000FF1FE45EFD4F0190F081E02DE450FF4F5D -:102640006081718123E00297A105B10510F443E098 -:1026500001C040E28C2F8ADB112309F483C08091F2 -:10266000671690916816A0916916B0916A16029744 -:10267000A105B10508F076C08FDC83E69DE9DF9106 -:10268000CF911F910F91FF90AFCCD130A9F5209140 -:102690005B0C2223D1F0E0917B13F0E0EE0FFF1FE3 -:1026A000E45EFD4F0190F081E02D62AD73ADB69513 -:1026B000A795979587952EE70197A105B10511F488 -:1026C0004EE301C040E28C2F51DB112309F44AC0D4 -:1026D0008091671690916816A0916916B0916A165C -:1026E000B695A795979587950197A105B105D1F561 -:1026F00053DC8DE69FEAD0C0D230A1F520915B0C6F -:102700002223D1F0E0917B13F0E0EE0FFF1FE45E97 -:10271000FD4F0190F081E02D64AD75ADB695A795A4 -:10272000979587952EE70297A105B10511F44EE321 -:1027300001C040E28C2F1ADB1123A1F080916716B3 -:1027400090916816A0916916B0916A16B695A795F2 -:10275000979587950297A105B10521F41DDC84E7C3 -:102760009FEA9AC020E030E040E251E460914216D6 -:102770007091431680914416909145160E943CF743 -:1027800087FF94C02091E01680916716909168169B -:10279000A0916916B0916A16211138C0D330C1F5E5 -:1027A00020915B0C2223D1F0E0917B13F0E0EE0F3F -:1027B000FF1FE45EFD4F0190F081E02D66AD77AD27 -:1027C000B695A795979587952EE70397A105B1052F -:1027D00011F44EE301C040E28C2FC8DA112309F452 -:1027E00061C08091671690916816A0916916B091AA -:1027F0006A16B695A795979587950397A105B10594 -:1028000009F050C0C9DB8BE79FEA46C003E001C076 -:1028100004E00D1348C020915B0C222319F1E091D4 -:102820007B13F0E0EE0FFF1FE45EFD4F0190F0819F -:10283000E02DE05CFF4F0190F081E02DB695A7956B -:1028400097958795402F50E060E070E02EE7841761 -:102850009507A607B70711F44EE301C040E2BF0198 -:102860008C2F84DA1123F9F0409167165091681685 -:102870006091691670916A16769567955795479598 -:10288000802F90E0A0E0B0E0481759076A077B0767 -:1028900051F482DB87EA9DEADF91CF911F910F917E -:1028A000FF90A7CB04E031E0300F01C033E040914E -:1028B0006716509168166091691670916A16769540 -:1028C000679557954795832F90E0A0E0B0E04817B3 -:1028D00059076A077B0788F0832F90E0880F991FBC -:1028E0000197AA2797FDA095BA2F8093671690931A -:1028F0006816A0936916B0936A16409167165091B6 -:1029000068166091691670916A1676956795579565 -:1029100047958091701690E00396242F30E082173F -:1029200093074CF48DEF840F80937016F0925B0C3C -:10293000DCEFD40FCFEFCF5FDF5FC43008F466CE9B -:10294000DF91CF911F910F91FF90089580E090E06B -:10295000A0E8BFE38093421690934316A0934416D9 -:10296000B093451617CE80937B1391E090935E0C45 -:10297000682F8EEF9FE00F943C03809146168130C4 -:1029800019F482E08093461608957F928F929F9269 -:10299000AF92BF92CF92DF92EF92FF920F931F936D -:1029A000CF93DF938091671690916816A091691676 -:1029B000B0916A1681309048A105B10540F010929F -:1029C0006716109268161092691610926A16809116 -:1029D000671690916816A0916916B0916A16B6951F -:1029E000A795979587954091701650E060E070E04C -:1029F00084179507A607B70710F480937016E09028 -:102A00007016D0907116D2FADD24D0F8F12CCC24B7 -:102A1000C3948091461681113BC0EE2019F07724B3 -:102A2000739437C080915B0C882301F1E0917B1394 -:102A3000F0E0EE0FFF1FE45EFD4F0190F081E02D0E -:102A4000E450FF4F60817181809167169091681604 -:102A5000A0916916B0916A1623E00297A105B1050D -:102A600010F443E001C040E28F2D80D9DD20B9F29F -:102A70008091671690916816A0916916B0916A16B8 -:102A80000297A105B10558F687DA83E69DE951C0A2 -:102A9000712C80914616823009F05AC07E1057C0C2 -:102AA00080915B0C882359F1E0917B13F0E0EE0FED -:102AB000FF1FE45EFD4F0190F081E02DE055FF4FD8 -:102AC0000190F081E02D8091671690916816A09199 -:102AD0006916B0916A16B695A79597958795472D73 -:102AE00050E060E070E023E084179507A607B70781 -:102AF00011F443E001C040E2BF018F2D37D9DD2042 -:102B000031F18091671690916816A0916916B09185 -:102B10006A16B695A79597958795472D50E060E082 -:102B200070E084179507A607B70789F435DA87E8B8 -:102B300093ECDF91CF911F910F91FF90EF90DF9079 -:102B4000CF90BF90AF909F908F907F904DCA73941D -:102B50000CE112E0C0E0D0E08E2C912CA12CB12C25 -:102B60007E104AC080915B0C882319F1D801ED9149 -:102B7000FC91E654FE4F60817181809167169091BF -:102B80006816A0916916B0916A16B695A7959795A3 -:102B90008795272D30E040E050E082179307A40787 -:102BA000B50719F420E24EE302C020E240E28F2D87 -:102BB000DDD8DD2009F18091671690916816A0910B -:102BC0006916B0916A16B695A79597958795881559 -:102BD0009905AA05BB0581F4DFD98C2FDF91CF9130 -:102BE0001F910F91FF90EF90DF90CF90BF90AF902B -:102BF0009F908F907F90B7CE739421960E5F1F4F5A -:102C0000C530D10509F0ACCF4091671650916816D8 -:102C10006091691670916A167695679557954795F4 -:102C2000872D90E0A0E0B0E0481759076A077B07BE -:102C300088F0872D90E0880F991F0197AA2797FDAC -:102C4000A095BA2F8093671690936816A093691683 -:102C5000B0936A1640916716509168166091691694 -:102C600070916A167695679557954795809170167D -:102C700090E00396242F30E0821793075CF48DEFE9 -:102C8000840F80937016C0925B0CECEFEE2EE40E76 -:102C9000FF24FA94F394E394B3E0BF1508F0B9CE9F -:102CA000DF91CF911F910F91FF90EF90DF90CF9028 -:102CB000BF90AF909F908F907F9008951092E616EE -:102CC0008EE893E10E94E55D1092701608958EE8FB -:102CD00093E10E94C4541092E01683E080935B0C51 -:102CE00008958EE893E10E94CB5481E08093E01632 -:102CF00083E080935B0C089520E044E064E182E788 -:102D000096E10E948D4B0E94198E82E796E10C9409 -:102D10004E4BF2DF20E040E050E0BA0187E893EC50 -:102D20004DC9109211111092101110920F111092A2 -:102D30000E111092481310924713EBCF8091DE16BC -:102D40009091DF1690931111809310118091DC16F1 -:102D50009091DD1690930F1180930E1110924813ED -:102D600010924713D6DF0C9457408091D81690915B -:102D7000D91690931111809310118091D6169091CD -:102D8000D71690930F1180930E1110924813109242 -:102D90004713BFDF0C94574080916D0C90916E0CDF -:102DA000909311118093101180916B0C90916C0C89 -:102DB00090930F1180930E111092481310924713A5 -:102DC000A8DF0C9457408091690C90916A0C909305 -:102DD0001111809310118091670C9091680C909361 -:102DE0000F1180930E11109248131092471391DF28 -:102DF0000C9457408091650C9091660C9093111142 -:102E0000809310118091630C9091640C90930F113A -:102E100080930E1110924813109247137ADF0C948E -:102E200057408091610C9091620C909311118093A6 -:102E3000101180915F0C9091600C90930F11809312 -:102E40000E11109248131092471363DF0C945740F1 -:102E5000CF92DF92EF92FF920F931F93CF93DF9366 -:102E60008091671690916816A0916916B0916A16C4 -:102E700081309048A105B10540F01092671610927C -:102E800068161092691610926A16809167169091D2 -:102E90006816A0916916B0916A16B695A795979590 -:102EA00087954091701650E060E070E084179507B8 -:102EB000A607B70710F480937016D0917016109182 -:102EC000711612FB112710F9C0E0BFE0CB2ED12CF8 -:102ED000E12CF12C01E04091671650916816609149 -:102EE000691670916A16D11139C080915B0C8823E4 -:102EF000C9F0E0917B13F0E0EE0FFF1FE45EFD4FA1 -:102F00000190F081E02D8681978123E042305105C8 -:102F10006105710510F443E001C040E2BC018C2F53 -:102F20000E94B68E112309F4A4C180916716909176 -:102F30006816A0916916B0916A160297A105B105AD -:102F400008F097C129D88BE19CEBDF91CF911F91BD -:102F50000F91FF90EF90DF90CF9046C8D130A9F548 -:102F600080915B0C882391F07695679557954795EE -:102F700020E2413051056105710511F44EE301C0B5 -:102F800040E266E773E58C2F0E94B68E112309F4A8 -:102F900070C18091671690916816A0916916B091E2 -:102FA0006A16B695A795979587950197A105B105DE -:102FB00009F05FC10E94CC8FDF91CF911F910F91DB -:102FC000FF90EF90DF90CF90D0CED230A9F58091D6 -:102FD0005B0C882391F0769567955795479520E28D -:102FE000423051056105710511F44EE301C040E224 -:102FF00067E673E58C2F0E94B68E112309F439C160 -:103000008091671690916816A0916916B0916A1622 -:10301000B695A795979587950297A105B10509F0F3 -:1030200028C10E94CC8FDF91CF911F910F91FF900B -:10303000EF90DF90CF9082CED330A9F580915B0CDA -:10304000882391F0769567955795479520E2433010 -:1030500051056105710511F44EE301C040E268E5D8 -:1030600073E58C2F0E94B68E112309F402C1809162 -:10307000671690916816A0916916B0916A16B69578 -:10308000A795979587950397A105B10509F0F1C01C -:103090000E94CC8FDF91CF911F910F91FF90EF9005 -:1030A000DF90CF9090CED430A9F580915B0C88232F -:1030B00091F0769567955795479520E244305105F4 -:1030C0006105710511F44EE301C040E268E473E567 -:1030D0008C2F0E94B68E112309F4CBC08091671605 -:1030E00090916816A0916916B0916A16B695A79549 -:1030F000979587950497A105B10509F0BAC00E947C -:10310000CC8FDF91CF911F910F91FF90EF90DF90C7 -:10311000CF9070CED530A9F580915B0C882391F0CB -:10312000769567955795479520E24530510561059D -:10313000710511F44EE301C040E268E373E58C2FA2 -:103140000E94B68E112309F494C080916716909165 -:103150006816A0916916B0916A16B695A7959795CD -:1031600087950597A105B10509F083C00E94CC8F12 -:10317000DF91CF911F910F91FF90EF90DF90CF9053 -:103180000BCED630A9F580915B0C882391F0769513 -:1031900067955795479520E24630510561057105C1 -:1031A00011F44EE301C040E269E273E58C2F0E9406 -:1031B000B68E112309F45DC0809167169091681650 -:1031C000A0916916B0916A16B695A79597958795BF -:1031D0000697A105B10509F04CC00E94CC8FDF9184 -:1031E000CF911F910F91FF90EF90DF90CF9019CE6C -:1031F000D73009F03EC080915B0C8823E9F0E09164 -:103200007B13F0E0EE0FFF1FE45EFD4F0190F081B5 -:10321000E02D86A597A5769567955795479520E269 -:10322000473051056105710511F44EE301C040E2DC -:10323000BC018C2F0E94B68E1123D9F080916716A5 -:1032400090916816A0916916B0916A16B695A795E7 -:10325000979587950797A105B10559F40E94CC8FE2 -:10326000DF91CF911F910F91FF90EF90DF90CF9062 -:1032700058CD8091671690916816A0916916B0910B -:103280006A164097A105B10540F0C0926716D0922A -:103290006816E0926916F0926A164091671650918E -:1032A00068166091691670916A16769567955795BC -:1032B00047958091701690E00396242F30E0821796 -:1032C00093074CF48DEF840F8093701600935B0C82 -:1032D000DCEFD40FCFEFCF5FDF5FC43008F4FBCD5E -:1032E000DF91CF911F910F91FF90EF90DF90CF90E2 -:1032F00008952F923F924F925F926F927F928F929A -:103300009F92AF92BF92CF92DF92EF92FF920F9374 -:103310001F93CF93DF93CDB7DEB7A2970FB6F89484 -:10332000DEBF0FBECDBF80915B0C811104C08091C8 -:10333000711682FFBAC28EE893E10E94CC5C409184 -:103340006716509168166091691670916A1641303F -:1033500050486105710540F010926716109268168A -:103360001092691610926A1640916716509168166D -:103370006091691670916A1676956795579547958D -:103380000091701610E020E030E04017510762070E -:10339000730710F4409370164090701630907116B9 -:1033A00032FA332430F8512C9C012150310939A3D1 -:1033B00028A3411038C080915B0C8823F9F0E0917C -:1033C0007B13F0E0EE0FFF1FE45EFD4F0190F081F4 -:1033D000E02D668177818091671690916816A091A3 -:1033E0006916B0916A1623E00297A105B10510F4A1 -:1033F00043E001C040E2852D0E94B68E332099F053 -:103400008091671690916816A0916916B0916A161E -:103410000297A105B10538F40E94CC8F8BE19CEB9B -:103420000E94F48F42C262E973E18CEF93E10E9443 -:103430008331809192138F3229F031E0431669F085 -:1034400022E001C021E0A8A0B9A0C42CD12CE12C1D -:10345000F12C22242394240C4BC080915B0C8823F4 -:10346000C9F08091671690916816A0916916B09185 -:103470006A16B695A7959795879520E20197A105BD -:10348000B10511F44EE301C040E26EE07EE0852D0F -:103490000E94B68E3320A1F2809167169091681633 -:1034A000A0916916B0916A16B695A79597958795DC -:1034B0000197A105B10521F60E94CC8FFFDBF5C174 -:1034C000241161C140E050E0B5018EE893E10E9413 -:1034D000E7589091D41380915B0C992309F49BC019 -:1034E00081110BC0311074C0222DF1E0AF1AB10868 -:1034F0003FEFA316B30621F748C18091671690915C -:103500006816A0916916B0916A16B695A795979519 -:103510008795452D60E08C159D05AE05BF0561F5CD -:1035200082E796E10E945A4B6EE382E796E10E94A1 -:10353000F3F565E082E796E10E94F3F580919F1331 -:10354000882329F01092B1130FE913E102C002E9B8 -:1035500013E1B2E19B2EF80161918F01662311F016 -:10356000911062C1992009F4BDCF60E282E796E133 -:103570000E94F3F59A94F6CF82E796E10E945A4BA7 -:1035800060E282E796E10E94F3F565E082E796E16A -:103590000E94F3F580919F13882329F01092B113B4 -:1035A0000FE913E102C002E913E1A2E19A2EF8014A -:1035B00061918F01662311F091103CC1992009F4AB -:1035C00091CF60E282E796E10E94F3F59A94F6CFFC -:1035D0008091671690916816A0916916B0916A164D -:1035E000B695A795979587958C159D05AE05BF0552 -:1035F00009F07ACF0E94CC8F62E973E18EE893E103 -:103600000E942F5D1092671610926816109269162C -:1036100010926A164AC1811103C0311071C064CF83 -:103620008091671690916816A0916916B0916A16FC -:10363000B695A795979587958C159D05AE05BF0501 -:10364000B1F52091FA162F8F10E0412F60E082E74C -:1036500096E10E945A4B60E282E796E10E94F3F500 -:103660001F5F143091F7452D60E082E796E10E94DC -:103670005A4B6EE382E796E10E94F3F560EA862EEC -:1036800063E1962E7FE9672E73E1772E01E010E06B -:10369000F30121913F012111D3C014E1101B60E21D -:1036A00082E796E10E94F3F51150C9F7B6CF452D98 -:1036B00060E082E796E10E945A4B60E282E796E181 -:1036C0000E94F3F580919F13882329F01092B21382 -:1036D0000FE913E102C002E913E153E1952EF8016D -:1036E00061918F01662311F09110D9C0992009F4DE -:1036F00094CF60E282E796E10E94F3F59A94F6CFC8 -:103700008091671690916816A0916916B0916A161B -:10371000B695A795979587958C159D05AE05BF0520 -:1037200009F0E2CE0E94CC8F82E993E19F938F93C0 -:103730008AE893E59F938F938E010F5F1F4F1F932E -:103740000F930F940B010F900F900F900F900F900D -:103750000F907E01F5E0EF0EF11CF70180818823C8 -:1037600049F0992787FD90950F943F00F7018193C9 -:103770007F01F3CFC8010E947E6286E893E50E9434 -:10378000FE62C7DA92C02F5FB0CE8091671690912B -:103790006816A0916916B0916A16B695A795979587 -:1037A0008795422F50E060E070E084179507A607E8 -:1037B000B70788F0822F90E0880F991F0197AA27FA -:1037C00097FDA095BA2F8093671690936816A093E3 -:1037D0006916B0936A168091671690916816A09149 -:1037E0006916B0916A16B695A79597958795209119 -:1037F000701630E02D5F3F4F482F50E024173507FB -:1038000064F42DEF280F2093701621E020935B0CB9 -:103810001CEF412E480E55245A945394439483E050 -:10382000851508F0C6CD41C082E796E10E94F3F508 -:103830009A9491CE82E796E10E94F3F59A94B7CEDE -:10384000452D602F82E796E12AA30E945A4B2AA1B8 -:10385000622F82E796E10E94F3F50F5F1F4F04315C -:10386000110509F015CF34010CE211E080917116B9 -:1038700082FD05C08091FA163F8D381749F001503E -:1038800011090115110591F78FEF881A980AFECEDC -:1038900061E070E080E090E00E94B8F0F0CF82E755 -:1038A00096E10E94F3F59A941ACFA2960FB6F89477 -:1038B000DEBF0FBECDBFDF91CF911F910F91FF9063 -:1038C000EF90DF90CF90BF90AF909F908F907F90C0 -:1038D0006F905F904F903F902F900895CF93DF931C -:1038E000CDB7DEB728970FB6F894DEBF0FBECDBFB9 -:1038F00088E0E3EDFCE0DE01119601900D928A95DF -:10390000E1F7AE014F5F5F4F61E082E796E10E9411 -:10391000F84C28960FB6F894DEBF0FBECDBFDF91EE -:10392000CF910895CF93DF93CDB7DEB728970FB629 -:10393000F894DEBF0FBECDBF88E0EBE9FCE0DE010E -:10394000119601900D928A95E1F7AE014F5F5F4F9E -:1039500061E082E796E10E94F84C28960FB6F89451 -:10396000DEBF0FBECDBFDF91CF9108958EEF9FE0F8 -:103970000F942703853028F480937B13109246160A -:10398000089581E080937B138093461608951F93DA -:10399000CF93DF93EC01FB01608111810F943C0315 -:1039A000612FCE010196DF91CF911F910D943C03C1 -:1039B000FF920F931F93CF93DF938C01EB010F9432 -:1039C0002703F82EC80101960F942703F8828983F4 -:1039D000DF91CF911F910F91FF9008950895EF927D -:1039E000FF920F931F93CF93DF931F92CDB7DEB754 -:1039F0007B018C01061B170B460FC701800F911F1F -:103A0000F70161917F0149830F943C0349814E1175 -:103A1000F4CF0F90DF91CF911F910F91FF90EF9016 -:103A2000089581E09091E516911180E08093E5166C -:103A300041E065EE76E18FEF9FE0D1DF0E947BDB16 -:103A400021E047E050E060E070E083E69DE90C94FF -:103A5000DE8F81E09091E516911180E08093E5166C -:103A600041E065EE76E18FEF9FE0B9DF0E947BDBFE -:103A700021E049E050E060E070E08DE899EA0C94C4 -:103A8000DE8FEF92FF920F931F93CF93DF931F92DE -:103A9000CDB7DEB77B018C01061B170B460FC701A4 -:103AA000800F911F49830F942703F70181937F01B2 -:103AB00049814E13F4CF0F90DF91CF911F910F9159 -:103AC000FF90EF9008958F929F92AF92BF92EF92E6 -:103AD000FF920F931F93CF93DF9341E065EE76E162 -:103AE0008FEF9FE0CEDF8091671690916816A091CE -:103AF0006916B0916A1681309048A105B10540F071 -:103B000010926716109268161092691610926A1633 -:103B10008091671690916816A0916916B0916A1607 -:103B2000B695A795979587954091701650E060E0FF -:103B300070E084179507A607B70710F480937016F6 -:103B4000D09170161091711612FB112710F9C0E078 -:103B500001E0D11143C080915B0C8823F9F0E09122 -:103B60007B13F0E0EE0FFF1FE45EFD4F0190F0814C -:103B7000E02D668177818091671690916816A091FB -:103B80006916B0916A1623E00297A105B10510F4F9 -:103B900043E001C040E28C2F0E94B68E112309F44D -:103BA000A2C08091671690916816A0916916B09195 -:103BB0006A160297A105B10508F095C00E94CC8F46 -:103BC0008BE19CEBDF91CF911F910F91FF90EF90D4 -:103BD000BF90AF909F908F900C94F48FD13009F0EC -:103BE00042C080915B0C882329F1E0917B13F0E0C7 -:103BF000EE0FFF1FE45EFD4F0190F081E02DE856CF -:103C0000FF4F608171818091671690916816A09135 -:103C10006916B0916A16B695A795979587952EE780 -:103C20000197A105B10511F44EE301C040E28C2FCC -:103C30000E94B68E112309F456C0809167169091A8 -:103C40006816A0916916B0916A16B695A7959795D2 -:103C500087950197A105B10509F045C00E94CC8F59 -:103C600080E997EAC1C2D230F1F580915B0C8823DC -:103C700019F1E0917B13F0E0EE0FFF1FE45EFD4FC2 -:103C80000190F081E02D60AD71AD8091671690914B -:103C90006816A0916916B0916A16B695A795979582 -:103CA00087952EE70297A105B10511F44EE301C0F7 -:103CB00040E28C2F0E94B68E1123A9F080916716E6 -:103CC00090916816A0916916B0916A16B695A7955D -:103CD000979587950297A105B10529F40E94CC8F8D -:103CE00086EA94E981C28091E016811145C0D33003 -:103CF00019F034E0F32E42C080915B0C882329F147 -:103D0000E0917B13F0E0EE0FFF1FE45EFD4F0190AA -:103D1000F081E02DEA50FF4F60817181809167163C -:103D200090916816A0916916B0916A16B695A795FC -:103D30009795879520E20397A105B10511F44EE30D -:103D400001C040E28C2F0E94B68E112391F2809127 -:103D5000671690916816A0916916B0916A16B6958B -:103D6000A795979587950397A105B10511F60E9430 -:103D7000CC8F88EA93E551C063E0F62E8091E0167F -:103D80008111A6C0FD1255C080915B0C882351F1B2 -:103D9000E0917B13F0E0EE0FFF1FE45EFD4F01901A -:103DA000F081E02D0284F385E02D809167169091DB -:103DB0006816A0916916B0916A16B695A795979561 -:103DC00087954F2D50E060E070E020E28417950762 -:103DD000A607B70711F44EE301C040E2BF018C2FE4 -:103DE0000E94B68E112329F1809167169091681672 -:103DF000A0916916B0916A16B695A7959795879583 -:103E00004F2D50E060E070E084179507A607B707D4 -:103E100081F40E94CC8F84EA93E5DF91CF911F91CA -:103E20000F91FF90EF90BF90AF909F908F900C9468 -:103E3000FE62EE24E394EF0CED1248C080915B0C1F -:103E4000882341F1E0917B13F0E0EE0FFF1FE45E69 -:103E5000FD4F0190F081E02D648575858091671696 -:103E600090916816A0916916B0916A16B695A795BB -:103E7000979587958D2E912CA12CB12C20E2881539 -:103E80009905AA05BB0511F44EE301C040E28C2F51 -:103E90000E94B68E1123D1F080916716909168161A -:103EA000A0916916B0916A16B695A79597958795D2 -:103EB0004E2D50E060E070E084179507A607B70725 -:103EC00029F40E94CC8F80EA93E5A7CFF394F39472 -:103ED0008091E516811113C0FD1267C080915B0CC3 -:103EE0008823E9F1E0917B13F0E0EE0FFF1FE45E21 -:103EF000FD4F0190F081E02DEA5DFE4F12C0FD12F2 -:103F000054C080915B0C882351F1E0917B13F0E069 -:103F1000EE0FFF1FE45EFD4F0190F081E02DEC5DA0 -:103F2000FE4F0190F081E02D809167169091681608 -:103F3000A0916916B0916A16B695A7959795879541 -:103F40004F2D50E060E070E020E284179507A6074F -:103F5000B70749F140E2BF018C2F0E94B68E1123B2 -:103F600021F18091671690916816A0916916B09121 -:103F70006A16B695A795979587954F2D50E060E006 -:103F800070E084179507A607B70779F40E94CC8FD5 -:103F9000DF91CF911F910F91FF90EF90BF90AF9065 -:103FA0009F908F903ECD4EE3D6CFF39464EF76E1B1 -:103FB0008CEF9FE0FDDC66EF76E18AEF9FE0F8DCB6 -:103FC00068EF76E188EF9FE0F3DC6091F81670917E -:103FD000F916882777FD8095982F0E94DEF72091AB -:103FE000091D30910A1D40910B1D50910C1D0E941E -:103FF00043F76093F0167093F1168093F216909346 -:10400000F3168091E01681114FC0FD124CC08091D3 -:104010005B0C882361F1E0917B13F0E0EE0FFF1F52 -:10402000E45EFD4F0190F081E02DE251FF4F0190E1 -:10403000F081E02D8091671690916816A091691625 -:10404000B0916A16B695A795979587954F2D50E034 -:1040500060E070E02EE784179507A607B70711F414 -:104060004EE301C040E2BF018C2F0E94B68E1123A7 -:10407000D1F08091671690916816A0916916B09161 -:104080006A16B695A795979587954F2D50E060E0F5 -:1040900070E084179507A607B70729F40E94CC8F14 -:1040A00084EB9FEAA1C0F394FD124CC080915B0C9D -:1040B000882361F1E0917B13F0E0EE0FFF1FE45ED7 -:1040C000FD4F0190F081E02DE454FE4F0190F0810E -:1040D000E02D8091671690916816A0916916B091B5 -:1040E0006A16B695A795979587954F2D50E060E095 -:1040F00070E02EE784179507A607B70711F44EE383 -:1041000001C040E2BF018C2F0E94B68E1123D1F076 -:104110008091671690916816A0916916B0916A1601 -:10412000B695A795979587954F2D50E060E070E084 -:1041300084179507A607B70729F40E94CC8F85EC52 -:1041400094E952C0EE24E394EF0C8091E0168111C3 -:104150005AC0ED1255C080915B0C882351F1E0915B -:104160007B13F0E0EE0FFF1FE45EFD4F0190F08146 -:10417000E02DEE50FE4F6081718180916716909125 -:104180006816A0916916B0916A16B695A79597958D -:1041900087958D2E912CA12CB12C2EE78815990591 -:1041A000AA05BB0511F44EE301C040E28C2F0E942A -:1041B000B68E112329F140916716509168166091CF -:1041C000691670916A1676956795579547958E2D65 -:1041D00090E0A0E0B0E0481759076A077B0781F438 -:1041E0000E94CC8F82EB97EBDF91CF911F910F91C3 -:1041F000FF90EF90BF90AF909F908F900C94F98FAD -:1042000082E0E82EEF0C409167165091681660919D -:10421000691670916A1676956795579547958E2D14 -:1042200090E0A0E0B0E0481759076A077B0788F0E4 -:104230008E2D90E0880F991F0197AA2797FDA095D2 -:10424000BA2F8093671690936816A0936916B0935F -:104250006A164091671650916816609169167091C0 -:104260006A1676956795579547958091701690E0F8 -:104270000396242F30E0821793074CF48DEF840FC0 -:104280008093701600935B0CDCEFD40FCFEFCF5F01 -:10429000DF5FC43008F45DCCDF91CF911F910F91A7 -:1042A000FF90EF90BF90AF909F908F9008956FEF29 -:1042B0008EEF9FE00D943C038093601610925F1682 -:1042C0000895EEEBF6E101900020E9F73197EE5BFF -:1042D000F6411E161F0634F01092D21682E080932B -:1042E0005B0C089580E2E431F105B4F7DF01A254DC -:1042F000B94E8C933196F7CF2091D316211108C077 -:1043000044E150E0BC018EEB96E10F94FC00D9CF64 -:1043100008952091D316211108C044E150E0BC015A -:104320008EEB96E10F946F00CCCF08958091E31649 -:104330009091E416019709F050C08091E116909198 -:10434000E216892B49F485E090E09093E216809381 -:10435000E11681E0809372138091E1169091E2164C -:10436000019739F49091CD178091CC17981709F4E3 -:10437000A4C08091E1169091E216029739F49091D1 -:10438000CD178091CC17981709F4B6C08091E1162B -:104390009091E216039739F49091CD178091CC1744 -:1043A000981709F4C3C08091E1169091E216049722 -:1043B00039F49091CD178091CC17981709F4C1C0AA -:1043C0008091E1169091E216059739F49091CD17FE -:1043D0008091CC17981709F4CEC08091E316909184 -:1043E000E416029709F05DC08091E1169091E21603 -:1043F000892B49F486E090E09093E2168093E116D1 -:1044000081E0809372138091E1169091E2160197FA -:1044100039F49091CD178091CC17981709F4CBC03F -:104420008091E1169091E216029739F49091CD17A0 -:104430008091CC17981709F4D6C08091E11690911D -:10444000E216039739F49091CD178091CC17981705 -:1044500009F4F1C08091E1169091E216049739F4C5 -:104460009091CD178091CC17981709F4EFC08091E7 -:10447000E1169091E216059739F49091CD1780914D -:10448000CC17981709F4F5C08091E1169091E216C7 -:10449000069739F49091CD178091CC17981709F4AD -:1044A00006C18091E3169091E416039709F02AC1A2 -:1044B0001092E4161092E31608951092E2161092EC -:1044C000E1161092E4161092E316E0917B13F0E0EF -:1044D000EE0FFF1FE45EFD4F0190F081E02D808123 -:1044E000918117DF159A1092501310927213109247 -:1044F0007113109270133DCFE0917B13F0E0EE0F3B -:10450000FF1FE45EFD4F0190F081E02DEA5EFE4F5B -:1045100080819181FEDE8DEE92E50E94FE6281E057 -:1045200090E09093E2168093E11630CF81EE92E511 -:104530000E94FE6282E090E09093E2168093E11682 -:1045400032CFE0917B13F0E0EE0FFF1FE45EFD4FF2 -:104550000190F081E02DE05EFE4F80819181D9DEF7 -:104560008DED92E50E94FE6283E090E09093E2166A -:104570008093E11625CFE0917B13F0E0EE0FFF1F53 -:10458000E45EFD4F0190F081E02DE85EFE4F8081FA -:104590009181BFDE159881E08093721382E090E0F4 -:1045A000909371138093701384E090E09093E216DF -:1045B0008093E11612CF1092E2161092E11610923B -:1045C000E4161092E316E0917B13F0E0EE0FFF1F6C -:1045D000E45EFD4F0190F081E02D8081918199DEB4 -:1045E000109272131DCF10920F1110920E11109293 -:1045F00011111092101110921311109212111092A9 -:104600001511109214110E941746E0917B13F0E0EF -:10461000EE0FFF1FE45EFD4F0190F081E02D8081E1 -:10462000918177DE1092381381E090E09093E2164A -:104630008093E11602CF89ED92E50E94FE6282E04E -:1046400090E09093E2168093E11604CF85ED92E519 -:104650000E94FE6280EC92E50E94FE62109260165B -:1046600010925F1683E090E09093E2168093E1163B -:10467000FECEE0917B13F0E0EE0FFF1FE45EFD4FF6 -:104680000190F081E02DEA53FF4F8081918141DE5E -:104690008CEB92E50E94FE628FEA92E50E94FE6238 -:1046A00084E090E09093E2168093E116EDCEE091E5 -:1046B0007B13F0E0EE0FFF1FE45EFD4F0190F081F1 -:1046C000E02DEA53FF4F8081918123DE81E08093CA -:1046D000381310920F1110920E11109211111092A6 -:1046E00010111092131110921211109215111092B4 -:1046F00014110E94174685E090E09093E216809393 -:10470000E116CFCE089505DE81E08093D3160C9498 -:1047100089961092D3160895CF92DF92EF92FF926E -:10472000CF93C0910301C2FBCC27C0F981E0C82719 -:104730008091030181FFC260C0906C16D0906D160D -:10474000E0906E16F0906F160E9489F0C616D7069C -:10475000E806F90620F48091000186FF39C0C09375 -:1047600071168091711681709091711691FD826021 -:1047700090916B16891721F18130F1F028F0823089 -:1047800089F08330A1F01CC0913021F49091FA1689 -:104790009F5F05C09230A1F49091FA1691509093CA -:1047A000FA160EC0992391F3933051F4F5CF92305D -:1047B00069F3913029F4F0CF933041F3992361F3F9 -:1047C00080936B16CF91FF90EF90DF90CF9008957C -:1047D000C460C5CF0E947C96E4E0F1E080818B7FCD -:1047E000808380818D7F80839FB7F894E5E0F1E03E -:1047F0008081846080839FBF9FB7F89480818260AE -:1048000080839FBFE1E0F1E080818F7B80839FB751 -:10481000F894E2E0F1E08081806480839FBF60E0F3 -:104820008FE00E94A9EF9FB7F894E5E0F1E0808166 -:10483000816080839FBF8091030180958170809308 -:1048400066166ADF1092FA160895CF92DF92EF9201 -:10485000FF9262DF80910301817091E089272091AE -:104860006616821709F182E080935B0C8091030148 -:1048700081708927809366160E947C9680916616C7 -:10488000882309F4A8C08EE893E10E94C153E09107 -:104890007B13F0E0EE0FFF1FE45EFD4F0190F0810F -:1048A000E02D8281938135DDC0906216D090631631 -:1048B000E0906416F09065160E9489F0C616D7063F -:1048C000E806F90608F09EC08091FA16482F552791 -:1048D00047FD509557FF03C051954195510942300E -:1048E000510584F191E090935B0C87FD8F5F482F19 -:1048F0004595552747FD5095652F752F8091671673 -:1049000090916816A0916916B0916A16840F951F50 -:10491000A61FB71F8093671690936816A093691619 -:10492000B0936A161092FA160E9489F06856754C78 -:104930008F4F9F4F609336167093371680933816BB -:10494000909339168091711682FF0EC00E9489F0F3 -:104950006856754C8F4F9F4F60933616709337167D -:104960008093381690933916E0915C0CF0915D0CB1 -:104970001995C0903616D0903716E0903816F09002 -:1049800039160E9489F0C616D706E806F90638F4EB -:1049900080915C0C90915D0C8758934C69F58091E7 -:1049A0005B0C823011F40E94A58F80915B0C8823F0 -:1049B00019F0815080935B0C0E9489F06C597F4FF5 -:1049C0008F4F9F4F609362167093631680936416A7 -:1049D0009093651617C08EE893E10E94C054E09151 -:1049E0007B13F0E0EE0FFF1FE45EFD4F0190F081BE -:1049F000E02D8481958157CF0E94899682E0809333 -:104A00005B0CCDCFFF90EF90DF90CF90089581E0C9 -:104A100008958091711682FB882780F90895FC0122 -:104A2000808190E02AE030E0B9010E9407FB482F26 -:104A3000CB01B9010E9407FB805D80933A16405D6F -:104A400040933B1610923C168AE396E1089520E0CD -:104A500030E040E251E4FC01608171818281938108 -:104A60000E9411FA0E94ABF777FD02C02BE201C051 -:104A70002DE220933A169B0177FF04C022273327AB -:104A8000261B370BC90168EE73E00E9407FBCB01C0 -:104A9000EAE0F0E0BF010E9407FB805D80933B16D7 -:104AA000C90164E670E00E9407FBCB01BF010E94D0 -:104AB00007FB805D80933C16C901BF010E9407FB84 -:104AC000282FCB01BF010E9407FB805D80933D161C -:104AD0008EE280933E16205D20933F161092401682 -:104AE0008AE396E108958F929F92AF92BF92CF9200 -:104AF000DF92EF92FF92CF93FC01C080D180E280E1 -:104B0000F38020E030E0A901C701B6010E943FF91F -:104B100018161CF4C701B60103C0C701B6019058AE -:104B20000E94ABF76B017C016031F7E27F078105E2 -:104B3000910584F020E137E240E050E00E943CFB28 -:104B4000CA01B9012AE030E040E050E00E943CFB9D -:104B5000605D01C060E260933A1688EEC81683E09B -:104B6000D806E104F10494F0C701B60128EE33E061 -:104B700040E050E00E943CFBCA01B9012AE030E06D -:104B800040E050E00E943CFB605D01C060E2609349 -:104B90003B16E4E6CE16D104E104F10494F0C7011B -:104BA000B60124E630E040E050E00E943CFBCA0140 -:104BB000B9012AE030E040E050E00E943CFB605D3B -:104BC00001C060E360933C168EE280933D167AE06C -:104BD000872E912CA12CB12CC701B601A5019401FF -:104BE0000E943CFBC62FCA01B901A50194010E9495 -:104BF0003CFB605D60933E16C05DC0933F168AE348 -:104C000096E1CF91FF90EF90DF90CF90BF90AF9063 -:104C10009F908F9008958F929F92AF92BF92CF9264 -:104C2000DF92EF92FF92CF9320E030E04AE754E426 -:104C3000FC0160817181828193810E9411FA0E943E -:104C4000ABF797FD02C020E201C02DE220933A1697 -:104C50006B017C0197FF08C0F094E094D094C0945D -:104C6000C11CD11CE11CF11CC701B60128EE33E0C8 -:104C700040E050E00E943CFBAAE08A2E912CA12C3F -:104C8000B12CCA01B901A50194010E943CFB605DF1 -:104C900060933B168EE280933C16C701B60124E672 -:104CA00030E040E050E00E943CFBCA01B901A501A0 -:104CB00094010E943CFB605D60933D16C701B60104 -:104CC000A50194010E943CFBC62FCA01B901A501B0 -:104CD00094010E943CFB605D60933E16C05DC093F2 -:104CE0003F16109240168AE396E1CF91FF90EF9025 -:104CF000DF90CF90BF90AF909F908F9008958F924C -:104D00009F92AF92BF92CF92DF92EF92FF92FC01FF -:104D100080809180A280B38020E030E048EC52E4B3 -:104D2000C501B4010E9411FA6B017C0120E030E062 -:104D3000A9010E943FF918161CF4C701B60103C06F -:104D4000C701B60190580E94ABF76B017C0120E0CF -:104D500030E0A901C501B4010E943CF787FF12C0F1 -:104D60008DE280933A16C701B60128EE33E040E0A9 -:104D700050E00E943CFBCA01B9012AE030E040E06B -:104D800050E036C0C701B60120E137E240E050E014 -:104D90000E943CFB8AE0882E912CA12CB12CCA01E8 -:104DA000B901A50194010E943CFB662391F0605D6E -:104DB00060933A16C701B60128EE33E040E050E0B8 -:104DC0000E943CFBCA01B901A50194010E943CFB71 -:104DD00013C080E280933A16C701B60128EE33E093 -:104DE00040E050E00E943CFBCA01B901A5019401DA -:104DF0000E943CFB662311F0605D01C060E260939D -:104E00003B16C701B60124E630E040E050E00E94C6 -:104E10003CFBBAE08B2E912CA12CB12CCA01B9011C -:104E2000A50194010E943CFB605D60933C16C701A4 -:104E3000B601A50194010E943CFB662381F0605DF0 -:104E400060933F16CA01B901A50194010E943CFB81 -:104E5000605D60933E168EE280933D1615C0CA01D8 -:104E6000B901A50194010E943CFB662329F0605D15 -:104E700060933E168EE203C080E280933E168093DC -:104E80003D1680E280933F16109240168AE396E129 -:104E9000FF90EF90DF90CF90BF90AF909F908F905A -:104EA0000895FC012081318137FF07C08DE2809396 -:104EB0003A1631952195310914C02436310574F024 -:104EC000C90164E670E00E9407FBCB016AE070E074 -:104ED0000E9407FB805D80933A1606C080E28093B3 -:104EE0003A162A30310564F0EAE0F0E0C901BF016A -:104EF0000E9407FBCB01BF010E9407FB805D01C040 -:104F000080E280933B16C9016AE070E00E9407FBD3 -:104F1000805D80933C1610923D168AE396E10895D9 -:104F2000AF92BF92CF92DF92EF92FF920F931F93B7 -:104F3000CF93DF9360911402709115028091160255 -:104F4000909117020E94994A60934B1670934C16E9 -:104F500080934D1690934E1660911002709111023D -:104F600080911202909113020E94A54A6093471605 -:104F7000709348168093491690934A16809167164D -:104F800090916816A0916916B0916A168130904888 -:104F9000A105B10540F010926716109268161092A4 -:104FA000691610926A168091671690916816A09102 -:104FB0006916B0916A16B695A79597958795409111 -:104FC000701650E060E070E084179507A607B707F9 -:104FD00010F48093701600917016B0907116B2FAAA -:104FE000BB24B0F810E0E7E0CE2ED12CE12CF12C60 -:104FF000AA24A3948091671690916816A0916916CF -:10500000B0916A1601113DC020915B0C2223C9F0BA -:10501000E0917B13F0E0EE0FFF1FE45EFD4F019087 -:10502000F081E02DE450FF4F6081718123E0029711 -:10503000A105B10510F443E001C040E2812F0E94B8 -:10504000B68EBB2009F427C180916716909168162F -:10505000A0916916B0916A160297A105B10508F0F2 -:105060001AC10E94CC8F83E69DE9DF91CF911F91F9 -:105070000F91FF90EF90DF90CF90BF90AF900C9486 -:10508000F48F013009F052C020915B0C222329F1EA -:10509000E0917B13F0E0EE0FFF1FE45EFD4F019007 -:1050A000F081E02DE25BFF4FC081D181B695A795DD -:1050B000979587950197A105B10531F480E191E1BC -:1050C000F0DE9C014EE305C080E191E1EADE9C0147 -:1050D00040E2BE01812F0E94638FBB2009F4DBC038 -:1050E0008091671690916816A0916916B0916A1622 -:1050F000B695A795979587950197A105B10509F0F4 -:10510000CAC00E94CC8FE0917B13F0E0EE0FFF1F2E -:10511000E45EFD4F0190F081E02DE25BFF4F2CE259 -:1051200031E040E050E060E171E1A7C0023009F0F9 -:1051300052C020915B0C222329F1E0917B13F0E017 -:10514000EE0FFF1FE45EFD4F0190F081E02DEC5A61 -:10515000FF4FC081D181B695A79597958795029706 -:10516000A105B10531F48EE091E19BDE9C014EE397 -:1051700005C08EE091E195DE9C0140E2BE01812FE9 -:105180000E94638FBB2009F486C0809167169091BE -:105190006816A0916916B0916A16B695A79597956D -:1051A00087950297A105B10509F075C00E94CC8FC3 -:1051B000E0917B13F0E0EE0FFF1FE45EFD4F0190E6 -:1051C000F081E02DEC5AFF4F23E930E040E050E061 -:1051D0006EE071E152C0033009F05DC020915B0CBC -:1051E000222329F1E0917B13F0E0EE0FFF1FE45E34 -:1051F000FD4F0190F081E02DEA5AFF4FC081D1812F -:10520000B695A795979587950397A105B10531F4B4 -:1052100087E493E146DE9C014EE305C087E493E119 -:1052200040DE9C0140E2BE01812F0E94638FBB20C3 -:1052300091F18091671690916816A0916916B091CE -:105240006A16B695A795979587950397A105B10519 -:1052500011F50E94CC8FE0917B13F0E0EE0FFF1F61 -:10526000E45EFD4F0190F081E02DEA5AFF4F2FEFF1 -:1052700030E040E050E067E473E180819181DF91AC -:10528000CF911F910F91FF90EF90DF90CF90BF9043 -:10529000AF900C94C78D8091671690916816A0917D -:1052A0006916B0916A160897A105B10540F0C09241 -:1052B0006716D0926816E0926916F0926A164091CD -:1052C0006716509168166091691670916A16769506 -:1052D0006795579547958091701690E00396242F17 -:1052E00030E0821793074CF48DEF840F8093701693 -:1052F000A0925B0C0CEF040F1FEF1F5F0F5F1430C9 -:1053000008F478CEDF91CF911F910F91FF90EF902D -:10531000DF90CF90BF90AF900895AF92BF92CF92A1 -:10532000DF92EF92FF920F931F93CF93DF9341E0B1 -:1053300065EE76E18FEF9FE00E94419D80916716B8 -:1053400090916816A0916916B0916A1681309048C4 -:10535000A105B10540F010926716109268161092E0 -:10536000691610926A168091671690916816A0913E -:105370006916B0916A16B695A7959795879540914D -:10538000701650E060E070E084179507A607B70735 -:1053900010F48093701600917016B0907116B2FAE6 -:1053A000BB24B0F810E04FE0C42ED12CE12CF12C3E -:1053B000AA24A3948091671690916816A09169160B -:1053C000B0916A1601113BC020915B0C2223B9F009 -:1053D000E0917B13F0E0EE0FFF1FE45EFD4F0190C4 -:1053E000F081E02D6681778123E00297A105B10568 -:1053F00010F443E001C040E2812F0E94B68EBB2032 -:1054000009F419C28091671690916816A0916916E7 -:10541000B0916A160297A105B10508F00CC20E946E -:10542000CC8F8BE19CEBDF91CF911F910F91FF907F -:10543000EF90DF90CF90BF90AF900C94F48F01303D -:1054400009F052C020915B0C222329F1E0917B13DB -:10545000F0E0EE0FFF1FE45EFD4F0190F081E02DC4 -:10546000E45BFF4FC081D181B695A795979587954D -:105470000197A105B10531F489E49CE012DD9C019E -:105480004EE305C089E49CE00CDD9C0140E2BE01D6 -:10549000812F0E94638FBB2009F4CDC180916716D4 -:1054A00090916816A0916916B0916A16B695A79565 -:1054B000979587950197A105B10509F0BCC10E9498 -:1054C000CC8FE0917B13F0E0EE0FFF1FE45EFD4F09 -:1054D0000190F081E02DE45BFF4F27EE33E04AE0DE -:1054E00050E069E47CE054C0023009F05FC02091D4 -:1054F0005B0C222329F1E0917B13F0E0EE0FFF1FFC -:10550000E45EFD4F0190F081E02DE25BFF4FC08132 -:10551000D181B695A795979587950297A105B10575 -:1055200031F480E191E1BDDC9C014EE305C080E1F6 -:1055300091E1B7DC9C0140E2BE01812F0E94638FA4 -:10554000BB2009F478C18091671690916816A091EC -:105550006916B0916A16B695A795979587950297A3 -:10556000A105B10509F067C10E94CC8FE0917B13C2 -:10557000F0E0EE0FFF1FE45EFD4F0190F081E02DA3 -:10558000E25BFF4F2CE231E040E050E060E171E18E -:1055900080819181DF91CF911F910F91FF90EF90CA -:1055A000DF90CF90BF90AF900C94C78D033009F07F -:1055B00052C020915B0C222329F1E0917B13F0E093 -:1055C000EE0FFF1FE45EFD4F0190F081E02DEC5ADD -:1055D000FF4FC081D181B695A79597958795039781 -:1055E000A105B10531F48EE091E15BDC9C014EE355 -:1055F00005C08EE091E155DC9C0140E2BE01812FA7 -:105600000E94638FBB2009F416C1809167169091A8 -:105610006816A0916916B0916A16B695A7959795E8 -:1056200087950397A105B10509F005C10E94CC8FAC -:10563000E0917B13F0E0EE0FFF1FE45EFD4F019061 -:10564000F081E02DEC5AFF4F2CE830E040E050E0D4 -:105650006EE071E19DCF043009F052C020915B0CE7 -:10566000222329F1E0917B13F0E0EE0FFF1FE45EAF -:10567000FD4F0190F081E02DEA5AFF4FC081D181AA -:10568000B695A795979587950497A105B10531F42F -:1056900087E493E106DC9C014EE305C087E493E1D7 -:1056A00000DC9C0140E2BE01812F0E94638FBB2081 -:1056B00009F4C1C08091671690916816A09169168F -:1056C000B0916A16B695A795979587950497A10509 -:1056D000B10509F0B0C00E94CC8FE0917B13F0E0DF -:1056E000EE0FFF1FE45EFD4F0190F081E02DEA5ABE -:1056F000FF4F2FEF30E040E050E067E473E148CF28 -:10570000053009F052C020915B0C222329F1E09171 -:105710007B13F0E0EE0FFF1FE45EFD4F0190F08180 -:10572000E02DE85AFF4FC081D181B695A795979596 -:1057300087950597A105B10531F487E49CE0B1DBBD -:105740009C014EE305C087E49CE0ABDB9C0140E29A -:10575000BE01812F0E94638FBB2009F46CC0809131 -:10576000671690916816A0916916B0916A16B69561 -:10577000A795979587950597A105B10509F05BC099 -:105780000E94CC8FE0917B13F0E0EE0FFF1FE45EF0 -:10579000FD4F0190F081E02DE85AFF4F27EE33E0F6 -:1057A0004AE050E067E47CE0F3CE063009F043C005 -:1057B00020915B0C2223E9F0E0917B13F0E0EE0FE7 -:1057C000FF1FE45EFD4F0190F081E02DE252FF4F9C -:1057D00060817181B695A7959795879520E2069788 -:1057E000A105B10511F44EE301C040E2812F0E94F2 -:1057F000B68EBB2001F18091671690916816A0913A -:105800006916B0916A16B695A795979587950697EC -:10581000A105B10581F40E94CC8F84E293E5DF916C -:10582000CF911F910F91FF90EF90DF90CF90BF909D -:10583000AF900C94FE622091E516809167169091CE -:105840006816A0916916B0916A16211114C007302C -:1058500009F055C020915B0C222379F1E0917B1374 -:10586000F0E0EE0FFF1FE45EFD4F0190F081E02DB0 -:10587000EA5DFE4F13C0073009F041C020915B0C78 -:105880002223D9F0E0917B13F0E0EE0FFF1FE45EDE -:10589000FD4F0190F081E02DEC5DFE4F6081718144 -:1058A000B695A7959795879520E20797A105B1052D -:1058B00021F140E2812F0E94B68EBB2001F1809140 -:1058C000671690916816A0916916B0916A16B69500 -:1058D000A795979587950797A105B10581F40E9433 -:1058E000CC8FDF91CF911F910F91FF90EF90DF90C0 -:1058F000CF90BF90AF900C94299D4EE3DBCF809169 -:10590000671690916816A0916916B0916A16409733 -:10591000A105B10540F0C0926716D0926816E092DA -:105920006916F0926A168091671690916816A09198 -:105930006916B0916A16B695A795979587952091A7 -:10594000701630E02D5F3F4F482F50E02417350789 -:105950004CF42DEF280F20937016A0925B0C0CEFE7 -:10596000080F1FEF1F5F0F5F143008F423CDDF9186 -:10597000CF911F910F91FF90EF90DF90CF90BF904C -:10598000AF900895FC01808191818436910524F1C6 -:1059900064E670E00E9407FBCB012AE030E0B90129 -:1059A0000E9407FB805D80933A1680819181B90146 -:1059B0000E9407FBCB01B9010E9407FB805D809329 -:1059C0003B1680819181B9010E9407FB805D809325 -:1059D0003C1610923D1623C08A309105BCF02AE097 -:1059E00030E0B9010E9407FBCB01B9010E9407FB1F -:1059F000805D80933A1680819181B9010E9407FBF6 -:105A0000805D80933B1610923C1609C06AE070E0FE -:105A10000E9407FB805D80933A1610923B168AE342 -:105A200096E10895FC0180819181883E23E09207F0 -:105A30005CF068EE73E00E9407FBCB016AE070E067 -:105A40000E9407FB805D01C080E280933A1680814E -:105A50009181843691055CF064E670E00E9407FB5A -:105A6000CB016AE070E00E9407FB805D01C080E22C -:105A700080933B16808191818A3091055CF02AE009 -:105A800030E0B9010E9407FBCB01B9010E9407FB7E -:105A9000805D01C080E280933C16808191816AE044 -:105AA00070E00E9407FB805D80933D1610923E16C9 -:105AB0008AE396E10895CF92EF920F93F7E4CF2E09 -:105AC000A5E5EA2E06E423E142E162E582E796E1FC -:105AD0000E94454C0F91EF90CF900895CF93DF93A4 -:105AE000FC016491EC012196662331F082E796E196 -:105AF0000E94324DCE01F4CFDF91CF9108950F93E4 -:105B00001F93CF93DF938C01EB0141E061E082E7CB -:105B100096E10E945A4BC801E1DF6AE382E796E111 -:105B20000E94F3F5FE0101900020E9F76C2F6E1B37 -:105B30006C5E41E082E796E10E945A4BBE0182E72B -:105B400096E1DF91CF911F910F910C94F2F5CF92D6 -:105B5000DF92EF92FF920F931F93809167169091BF -:105B60006816A0916916B0916A160097A105B10553 -:105B700009F442C0BC01882777FD8095982F0E94C8 -:105B8000DEF7209142163091431640914416509111 -:105B900045160E9411FA9B01AC0160916913709146 -:105BA0006A1380916B1390916C130E9463F660935B -:105BB000691370936A1380936B1390936C13109214 -:105BC0006716109268161092691610926A16B9E458 -:105BD000CB2EB3E1DB2EE12CF12C00E81FE329E60C -:105BE00033E145E653E161E673E18DE593E10E941F -:105BF000B4E181E080935B0C80915B0C882341F0E1 -:105C000089E693E10E9427A5BC0187E993E577DF48 -:105C10008091711682FF0EC021E040E050E0BA0191 -:105C20008AEC92E91F910F91FF90EF90DF90CF9057 -:105C30000C94DE8F1F910F91FF90EF90DF90CF902B -:105C40000895CF93DF931F921F92CDB7DEB7809157 -:105C5000671690916816A0916916B0916A16B7FF01 -:105C600008C010926716109268161092691610926A -:105C70006A1680914F1690915016A0915116B091CE -:105C8000521640916716509168166091691670918E -:105C90006A1684179507A607B70744F4809367161A -:105CA00090936816A0936916B0936A1680915B0C66 -:105CB0008823A9F08091531690915416209167166D -:105CC00030916816820F931F9A838983CE010196C3 -:105CD000E8D8BC018091591690915A1610DF809136 -:105CE000711682FF1DC0E0915716F09158168091F1 -:105CF0005316909154162091671630916816820FB2 -:105D0000931F9183808340915B1650915C1660E0F5 -:105D100070E021E080915D1690915E160E94DE8F0A -:105D20000F900F90DF91CF9108954F925F926F92F5 -:105D30007F928F929F92AF92BF92CF92DF92EF921B -:105D4000FF920F931F93CF93DF934C015B017A0176 -:105D50008091671690916816A0916916B0916A16A5 -:105D6000892B8A2B8B2B09F47BC00E94B165E5013E -:105D7000CC0FDD1FCC0FDD1F8E01035A1C4E60912E -:105D8000671670916816882777FD8095982F0E9476 -:105D9000DEF72091421630914316409144165091FF -:105DA00045160E9411FAF801208131814281538108 -:105DB0000E9463F62B013C0120E030E0A9010E9423 -:105DC0003CF7F80187FD05C04082518262827382F0 -:105DD00004C01082118212821382B701882777FDD6 -:105DE0008095982F0E94DEF76B017C018E01035A8B -:105DF0001C4E9B01AC01F80160817181828193810D -:105E00000E943FF918162CF4F801C082D182E28278 -:105E1000F38210926716109268161092691610920B -:105E20006A16CE57D14F20E030E040E752E4688157 -:105E300079818A819B810E9443F739E4C32E33E143 -:105E4000D32E7B018C0129E633E145E653E161E67F -:105E500073E18DE593E10E94B4E181E080935B0CF6 -:105E600080915B0C882361F0C501880F991F880F12 -:105E7000991F835A9C4E0E9427A5BC01C4013FDE96 -:105E80008091711682FF18C021E040E050E0BA0115 -:105E90008AEC92E9DF91CF911F910F91FF90EF90E3 -:105EA000DF90CF90BF90AF909F908F907F906F903A -:105EB0005F904F900C94DE8FDF91CF911F910F91E7 -:105EC000FF90EF90DF90CF90BF90AF909F908F901A -:105ED0007F906F905F904F90089546ED50E060E0A6 -:105EE00070E081E993E521CF46EC50E061E070E09D -:105EF00083E993E51ACF49EC50E062E070E085E970 -:105F000093E513CF0F931F93CF93DF938C01EB0196 -:105F100041E060E082E796E10E945A4BC801DEDD75 -:105F20006AE382E796E10E94F3F5FE01019000200A -:105F3000E9F7BE016E1B7F0B6B5E7F4F7695679511 -:105F400043E082E796E10E945A4BBE0182E796E168 -:105F50000E94F2F564E17EE082E796E1DF91CF9165 -:105F60001F910F910C94F2F5CF93DF93E0917B1387 -:105F7000F0E0EE0FFF1FE45EFD4F0190F081E02D99 -:105F8000EA54FE4FC081D1818091671690916816C6 -:105F9000A0916916B0916A160097A105B105F1F1BB -:105FA0002091FF1030910011280F391F30930011FC -:105FB0002093FF102091F8163091F916280F391F01 -:105FC0003093F9162093F816B901882777FD80954C -:105FD000982F0E94DEF72091091D30910A1D4091F3 -:105FE0000B1D50910C1D0E9443F76093F0167093A7 -:105FF000F1168093F2169093F31662E370E080E05E -:1060000090E00E94B8F010926716109268161092F5 -:10601000691610926A1681E080935B0C80915B0C8C -:10602000882339F080EF96E10E940BA6BC01CE01D7 -:1060300069DF8091711682FF08C021E040E050E0E6 -:10604000BA018BE19CEB0E94DE8F64EF76E18CEF6E -:106050009FE00E94C79C66EF76E18AEF9FE00E9476 -:10606000C79C68EF76E188EF9FE0DF91CF910C94B9 -:10607000C79C4F925F926F927F928F929F92AF9246 -:10608000BF92CF92DF92EF92FF920F931F93CF9325 -:10609000DF93CDB7DEB72C970FB6F894DEBF0FBEF7 -:1060A000CDBF80919013882309F4F8C0C090771376 -:1060B000D0907813E0907913F0907A13C701B6016D -:1060C00020EA36E841E050E00E941AFB29873A872F -:1060D0004B875C873E832D830E9489F000916B1172 -:1060E00010916C1120916D1130916E11601B710B2C -:1060F000820B930B28EE33E040E050E00E941AFB45 -:1061000029013A01C90160E17EE00E9407FB8B0191 -:1061100024EC2603C001279F900D1124840D951DAA -:106120006CE370E00E9407FB4B0126035001279FA0 -:10613000B00C112420EF31EF029FC001039F900D9E -:10614000129F900D1124A80EB91EA40CB51C40E09E -:1061500060E082E796E10E945A4BE0917B13F0E009 -:10616000EE0FFF1FE45EFD4F0190F081E02DE25243 -:10617000FE4F80819181B2DC41E066E082E796E1EA -:106180000E945A4BCE0105960E9451A7BC0182E79E -:1061900096E10E94F2F568E17EE082E796E10E94D6 -:1061A000F2F5A985BA8520E639E74EEF5FEF0E9448 -:1061B0006EFB6C0D7D1D8E1D9F1D2AE030E040E0C2 -:1061C00050E00E941AFBB901882777FD8095982F2F -:1061D0000E94DEF769837A838B839C83CE010196CC -:1061E0000E9473A5BC0182E796E10E94F2F56BE183 -:1061F0007EE082E796E10E94F2F542E060E082E70D -:1062000096E10E945A4BE0917B13F0E0EE0FFF1FE6 -:10621000E45EFD4F0190F081E02DE052FE4F808161 -:1062200091815CDC43E068E082E796E10E945A4B92 -:106230000983CE0101960E940FA5BC0182E796E179 -:106240000E94F2F56EE17EE082E796E10E94F2F5AF -:106250008982CE0101960E940FA5BC0182E796E1DA -:106260000E94F2F568E17EE082E796E10E94F2F595 -:10627000A982CE0101960E940FA5BC0182E796E19A -:106280000E94F2F561E27EE082E796E10E94F2F57B -:106290000E9409A5882309F478C173C181EF9FE0AA -:1062A0000F942F036B017C018DEE9FE00F942F0361 -:1062B0004B015C01C701B6010E94DCF769837A8358 -:1062C0008B839C8320EAC21626E8D20621E0E206F0 -:1062D000F10450F0C701B60120EA36E841E050E091 -:1062E0000E941AFBD90102C0A0E0B0E0B887AF83DA -:1062F0001A161B0684F420E639E74EEF5FEF0E9482 -:106300006EFB6C0D7D1D8E1D9F1D0E94DCF7698349 -:106310007A838B839C83C501B40120EA35E040E099 -:1063200050E00E941AFBE22E022F10E020EA35E036 -:10633000029FC001039F900D129F900D1124AA2768 -:1063400097FDA095BA2FA5019401281B390B4A0B84 -:106350005B0BCA01B9012CE330E040E050E00E9441 -:106360001AFBF22E30E6E39E800C11244CE3F49EDF -:10637000801811240E94A58F40E060E082E796E13A -:106380000E945A4BE0917B13F0E0EE0FFF1FE45E9A -:10639000FD4F0190F081E02DE652FE4F808191810A -:1063A0009DDBCE0101960E9473A5FC0101900020A7 -:1063B000E9F7682F6E1B6E5E41E082E796E10E946E -:1063C0005A4BCE0101960E9473A5BC0182E796E16B -:1063D0000E94F2F58F8198851816190674F5CE0182 -:1063E00001960E9473A5FC0101900020E9F7682F37 -:1063F0006E1B615F41E082E796E10E945A4B63E2C7 -:106400007EE082E796E10E94F2F5CE0101960E94BD -:1064100073A5FC0101900020E9F7682F6E1B665FF1 -:1064200041E082E796E10E945A4BCE010796FADAE4 -:10643000BC0182E796E10E94F2F541E062E182E769 -:1064400096E10E945A4B6CE17EE082E796E10E9461 -:10645000F2F542E060E082E796E10E945A4BE0915B -:106460007B13F0E0EE0FFF1FE45EFD4F0190F08123 -:10647000E02DE452FE4F8081918130DB43E062E108 -:1064800082E796E10E945A4B6CE17EE082E796E15A -:106490000E94F2F543E06EE082E796E10E945A4BDB -:1064A000882D90E09E838D83CE0105960E9451A792 -:1064B000BC0182E796E10E94F2F543E06EE082E7DC -:1064C00096E10E945A4B6BEC7DE082E796E10E94D8 -:1064D000F2F543E06CE082E796E10E945A4B66E2F7 -:1064E0007EE082E796E10E94F2F543E069E082E710 -:1064F00096E10E945A4B8F2D90E09E838D83CE01B2 -:1065000005960E9451A7BC0182E796E10E94F2F530 -:1065100043E069E082E796E10E945A4B6BEC7DE034 -:1065200082E796E10E94F2F543E067E082E796E1B8 -:106530000E945A4B6CE47EE082E796E10E94F2F5FD -:1065400043E064E082E796E10E945A4B1E830D838C -:10655000CE0105960E9451A7BC0182E796E10E94F8 -:10656000F2F50E9409A581110CC00E94174681E036 -:106570000E94DB7064E670E080E090E00E94B8F07A -:10658000F0CF0E94CC8F0E9489962C960FB6F8947B -:10659000DEBF0FBECDBFDF91CF911F910F91FF9056 -:1065A000EF90DF90CF90BF90AF909F908F907F90B3 -:1065B0006F905F904F900895EF92FF920F931F930B -:1065C000CF93DF93EC018B017A010E94A98F109287 -:1065D00011111092101110920F1110920E110E94B1 -:1065E000174680E00E94DB700E94A58F40E060E0CB -:1065F00082E796E10E945A4BE0917B13F0E0EE0FA8 -:10660000FF1FE45EFD4F0190F081E02DEC53FE4F43 -:106610008081918163DA41E060E082E796E10E9447 -:106620005A4BE0917B13F0E0EE0FFF1FE45EFD4F4D -:106630000190F081E02DEA53FE4F808191814EDA86 -:10664000C330D10509F48FC07CF5C130D10509F400 -:106650005FC0229709F0FAC042E060E082E796E16D -:106660000E945A4BE0917B13F0E0EE0FFF1FE45EB7 -:10667000FD4F0190F081E02DE453FE4F8081918128 -:106680002DDA43E060E082E796E10E945A4BE09108 -:106690007B13F0E0EE0FFF1FE45EFD4F0190F081F1 -:1066A000E02DE253FE4F5BC0C430D10509F488C031 -:1066B000259709F0CBC042E060E082E796E10E94B6 -:1066C0005A4BE0917B13F0E0EE0FFF1FE45EFD4FAD -:1066D0000190F081E02DEA52FE4F80819181FED938 -:1066E00043E060E082E796E10E945A4BE0917B1321 -:1066F000F0E0EE0FFF1FE45EFD4F0190F081E02D12 -:10670000EE52FE4F80819181E9D943E062E195C06C -:1067100042E060E082E796E10E945A4BE0917B13F1 -:10672000F0E0EE0FFF1FE45EFD4F0190F081E02DE1 -:10673000E653FE4F80819181D1D943E060E082E74A -:1067400096E10E945A4BE0917B13F0E0EE0FFF1FA1 -:10675000E45EFD4F0190F081E02DE853FE4F808113 -:106760009181BCD973C042E060E082E796E10E946B -:106770005A4BE0917B13F0E0EE0FFF1FE45EFD4FFC -:106780000190F081E02DE053FE4F80819181A6D9E8 -:1067900043E060E082E796E10E945A4BE0917B1370 -:1067A000F0E0EE0FFF1FE45EFD4F0190F081E02D61 -:1067B000E253FE4F8081918191D943E061E13DC078 -:1067C00042E060E082E796E10E945A4BE0917B1341 -:1067D000F0E0EE0FFF1FE45EFD4F0190F081E02D31 -:1067E000EE52FE4F8081918179D942E062E182E7E9 -:1067F00096E10E945A4BB80182E796E10E94F2F5B9 -:1068000043E060E082E796E10E945A4BE0917B13FF -:10681000F0E0EE0FFF1FE45EFD4F0190F081E02DF0 -:10682000EC52FE4F8081918159D943E062E182E7C9 -:1068300096E10E945A4BB70105C082E796E10E949B -:106840005A4BB80182E796E10E94F2F568EE73E0D8 -:1068500080E090E00E94B8F00E94A98F64E670E0AA -:1068600080E090E00E94B8F00E94174680E00E940D -:10687000DB700E9409A5882389F3E0917B13F0E087 -:10688000EE0FFF1FE45EFD4F0190F081E02DEC5014 -:10689000FE4F808191810E9483A3DF91CF911F9150 -:1068A0000F91FF90EF900C9489966F927F928F9248 -:1068B0009F92AF92BF92CF92DF92EF92FF920F938F -:1068C0001F93CF93DF931F92CDB7DEB73C016B01CF -:1068D0007A01580129830E9489F0605C7D4B8F4FBB -:1068E0009F4F609362167093631680936416909323 -:1068F00065162981EC14FD042CF49DE3892E9EE09D -:10690000992E04C088E2882E8EE0982E21110E94D4 -:10691000A58F40E060E082E796E10E945A4B8FEF3E -:106920006816780669F4E0917B13F0E0EE0FFF1F24 -:10693000E45EFD4F0190F081E02DEE51FE4F0FC05F -:106940006114710481F4E0917B13F0E0EE0FFF1FFE -:10695000E45EFD4F0190F081E02DEC51FE4F80810F -:106960009181BCD839C0E1E06E16710481F4E091E8 -:106970007B13F0E0EE0FFF1FE45EFD4F0190F0810E -:10698000E02DEA51FE4F80819181A8D836C0F2E017 -:106990006F16710481F4E0917B13F0E0EE0FFF1F9E -:1069A000E45EFD4F0190F081E02DE851FE4F8081C3 -:1069B000918194D844C083E06816710469F4E09131 -:1069C0007B13F0E0EE0FFF1FE45EFD4F0190F081BE -:1069D000E02DE651FE4F43C0E4E06E16710469F409 -:1069E000E0917B13F0E0EE0FFF1FE45EFD4F01909E -:1069F000F081E02DE451FE4F32C0F5E06F167104D6 -:106A000069F4E0917B13F0E0EE0FFF1FE45EFD4FB1 -:106A10000190F081E02DE251FE4F21C086E0681622 -:106A2000710469F4E0917B13F0E0EE0FFF1FE45E68 -:106A3000FD4F0190F081E02DE051FE4F10C0E7E0E6 -:106A40006E16710479F4E0917B13F0E0EE0FFF1FF6 -:106A5000E45EFD4F0190F081E02DEC50FE4F80810F -:106A600091813CD841E060E082E796E10E945A4B78 -:106A70006AE27EE082E796E10E94F2F5F1E06F16AD -:106A8000710431F01614170434F040E050E005C0F2 -:106A900041E050E002C042E050E084012FE33EE0DC -:106AA00069E070E083E090E00E94ED8E82E068167D -:106AB000710439F0E2E06E16710434F440E050E005 -:106AC00005C041E050E002C042E050E0840126E40D -:106AD0003EE062E070E082E090E00E94ED8EF3E044 -:106AE0006F16710439F083E06816710434F440E0E5 -:106AF00050E005C041E050E002C042E050E08401B7 -:106B000028E43EE068E070E082E090E00E94ED8ED4 -:106B1000E4E06E16710439F0F4E06F16710434F499 -:106B200040E050E005C041E050E002C042E050E0EB -:106B300084012CE73EE06EE070E082E090E00E948D -:106B4000ED8E85E06816710439F0E5E06E1671048B -:106B500034F440E050E005C041E050E002C042E0C3 -:106B600050E084012AE43EE060E070E083E090E0E1 -:106B70000E94ED8E1A141B043CF4B501882777FDA2 -:106B80008095982F0E94B8F0FFEFCF1ADF0AEE0C25 -:106B9000FF1CEC14FD041CF480E090E001C0C60171 -:106BA0000F90DF91CF911F910F91FF90EF90DF90A9 -:106BB000CF90BF90AF909F908F907F906F900895EF -:106BC0002F923F924F925F926F927F928F929F92FD -:106BD000AF92BF92CF92DF92EF92FF920F931F93EB -:106BE000CF93DF93CDB7DEB729970FB6F894DEBF0A -:106BF0000FBECDBF998788879B01CB016AE070E00B -:106C00000E9407FB4B01820E931E412C512CA12C9C -:106C1000B12C612C712C1C821B82312C88859985AA -:106C2000880F991F880F991F835A9C4E9A838983D6 -:106C300022242394E885F9853296FE83ED838885A6 -:106C400099850297B9F420E030E040E85FE3609175 -:106C500065137091661380916713909168130E9479 -:106C600062F6609365137093661380936713909335 -:106C7000681312C020E030E040E450E4E981FA817A -:106C800060817181828193810E9462F6E981FA813B -:106C90006083718382839383E9E4CE2EE3E1DE2E69 -:106CA000E12CF12C08E412E429E633E145E653E156 -:106CB00061E673E18DE593E10E94B4E10E9421DA7F -:106CC0001E9906C01D9904C01C9902C030E012C074 -:106CD00088859985892B09F094C033B036FA33241E -:106CE00030F81D9B8AC0AA24A394B12C179A109245 -:106CF0004E1331E0F6E04F16510424F48FEF481A9A -:106D0000580A10C000E010E020E043E050E06B8142 -:106D10007C818D819E813F83C8DD9C838B83412C48 -:106D2000512C3F813F830E94174680E00E94DB7018 -:106D300064E670E080E090E00E94B8F03F81861445 -:106D4000970434F09FEF691A790A332309F477CF57 -:106D500008851985000F111F000F111F035A1C4EC3 -:106D600020E030E040E751E4F801608171818281E8 -:106D700093810E9463F6F801608371838283938319 -:106D800039E4C32E33E1D32EE12CF12C08E412E4D4 -:106D900029E633E145E653E161E673E18DE593E1F0 -:106DA0000E94B4E1311058C08885998581309105E1 -:106DB00029F0029731F066E47EE005C068E47EE0E9 -:106DC00002C06CE77EE091E0A916B10439F0E2E080 -:106DD000AE16B10431F046E45EE005C048E45EE082 -:106DE00002C04CE75EE0681479041CF085E090E096 -:106DF00002C084E090E0E0DB2FC062E0A62EB12C60 -:106E000075CF88859985019781F433B035FA33249D -:106E100030F81E9B03C0A12CB12C03C052E0A52E5C -:106E2000B12C169A10924F1364CFE885F9853297EA -:106E300009F05FCF33B034FA332430F883B1829550 -:106E4000869586958370822580FBAA24A0F8B12CB4 -:106E5000159A109250134DCF832D29960FB6F894A2 -:106E6000DEBF0FBECDBFDF91CF911F910F91FF907D -:106E7000EF90DF90CF90BF90AF909F908F907F90DA -:106E80006F905F904F903F902F900895AF92BF9278 -:106E9000DF92EF92FF920F931F93CF93DF931F9296 -:106EA0001F92CDB7DEB7D82E811106C01EE1E12EAC -:106EB000F12C24E630E005C0B8E7EB2EF12C20E001 -:106EC00030E03093111120931011DD2019F024E6E9 -:106ED00030E002C020E030E030930F1120930E111B -:106EE0000E94174680E00E94DB7060E070E0A12CF9 -:106EF000B12C8FEFA81AB80A69837A830E941746CB -:106F000080E00E94DB7069817A8100E911E020E075 -:106F100042E050E0DD2019F085E090E002C081E021 -:106F200090E0C3DCBC01AE14BF041CF3109211113D -:106F30001092101110920F1110920E110E9417460C -:106F40000E94174680E00E94DB7081E00F900F9056 -:106F5000DF91CF911F910F91FF90EF90DF90BF9045 -:106F6000AF900895AF92BF92CF92DF92EF92FF92CF -:106F70000F931F93CF93DF93CDB7DEB76E970FB606 -:106F8000F894DEBF0FBECDBF00ED17E021E044E076 -:106F900050E060E070E08FEF9FEF87DC21E043E09E -:106FA00050E0BC0180E090E080DC5C011E9904C0F0 -:106FB0001D9902C01C9B48C01E9B81C120E030E08F -:106FC00040E251E460915D1370915E1380915F1314 -:106FD000909160130E9463F660935D1370935E134B -:106FE00080935F13909360131D9B72C120E030E08B -:106FF00040E251E4609161137091621380916313D8 -:10700000909164130E9463F660936113709362130E -:1070100080936313909364131C9B63C120E030E062 -:1070200040E251E46091651370916613809167139B -:10703000909168130E9463F66093651370936613D2 -:10704000809367139093681389E4C82E83E1D82E48 -:10705000E12CF12C08E412E429E633E145E653E1A2 -:1070600061E673E18DE593E10E94B4E164EF71E0C4 -:1070700080E090E00E94B8F01E9906C01D9904C0FF -:107080001C9902C011E04CC01C993AC167E77EE030 -:10709000CE0101960E9446F51D9B2CC168E47EE05E -:1070A000CE0107960E9446F51E9B27C166E47EE04E -:1070B000CE0143960E9446F5BE016D5E7F4FCE0124 -:1070C0000D960E9470F5BE01695F7F4FCE010D964F -:1070D0000E94A3F5BE016F5F7F4F0E94A3F5BC0124 -:1070E000CE0149960E9470F5CE010D960E94DEF405 -:1070F000CE0143960E94DEF4CE0107960E94DEF494 -:10710000CE0101960E94DEF4698D7A8D47E75EE03C -:1071100083E090E051DACE0149960E94DEF410E05F -:107120000E94174680E00E94DB70112309F487C09B -:1071300008EE13E021E043E050E0B50181E090E08B -:10714000B4DB5C0180E0A2DE882309F478C000EDA6 -:1071500017E021E043E050E0B50182E090E0A5DBDC -:107160005C0166ED70E080E090E02ADD882309F4A0 -:1071700066C00CED15E021E043E050E0B50183E08E -:1071800090E093DB5C0166EC70E081E090E018DD5C -:10719000882309F454C020E030E040E450E46091DA -:1071A0005D1370915E1380915F13909160130E9444 -:1071B00062F660935D1370935E1380935F139093F8 -:1071C000601320E030E040E651E46091611370917B -:1071D000621380916313909164130E9462F660932E -:1071E000611370936213809363139093641321E08F -:1071F00043E050E0B50184E090E057DB5C0169ECCE -:1072000070E082E090E0DCDC8823C9F000ED17E05C -:1072100021E043E050E0B50185E090E046DB5C0111 -:1072200081E034DEF82E882351F008E813E121E0F4 -:1072300043E050E0B50186E090E037DB0AC008E8A3 -:1072400013E121E043E050E0B50187E090E02DDB61 -:10725000F12C0E94A58F0E9489F06C597F4F8F4FAF -:107260009F4F609362167093631680936416909399 -:107270006516E0917B13F0E0EE0FFF1FE45EFD4F1B -:107280000190F081E02DFF2019F0E852FE4F02C07E -:10729000EC50FE4F808191810E9483A36E960FB6C1 -:1072A000F894DEBF0FBECDBFDF91CF911F910F913C -:1072B000FF90EF90DF90CF90BF90AF9008956091D6 -:1072C0005D1370915E1380915F139091601384CE73 -:1072D00060916113709162138091631390916413B4 -:1072E00093CE6091651370916613809167139091AE -:1072F0006813A2CE67E77EE0D3CE67E77EE0D8CE04 -:107300006CE77EE0C5CE20E030E042E053E46091DF -:1073100008117091091180910A1190910B110E942E -:107320003FF918164CF48BEA92E50E94FE628EE952 -:1073300092E50E94FE6236C00E94A58F40E060E0A8 -:1073400082E796E10E945A4BE0917B13F0E0EE0F4A -:10735000FF1FE45EFD4F0190F081E02DEA5FFE4FDC -:10736000808191810E946EAD42E060E082E796E10B -:107370000E945A4BE0917B13F0E0EE0FFF1FE45E9A -:10738000FD4F0190F081E02DE85FFE4F80819181FB -:107390000E946EAD60ED77E080E090E00E94B8F072 -:1073A0000E94A58F0C9489960E94A58F41E060E011 -:1073B00082E796E10E945A4BE0917B13F0E0EE0FDA -:1073C000FF1FE45EFD4F0190F081E02DE05EFE4F77 -:1073D000808191810E946EAD42E060E082E796E19B -:1073E0000E945A4BE0917B13F0E0EE0FFF1FE45E2A -:1073F000FD4F0190F081E02DE25EFE4F8081918192 -:107400000C946EAD0E94A58F42E060E082E796E1A9 -:107410000E945A4BE0917B13F0E0EE0FFF1FE45EF9 -:10742000FD4F0190F081E02DE45EFE4F808191815F -:107430000C946EAD1F93CF93DF930E94A58F40E015 -:1074400060E082E796E10E945A4BE0917B13F0E006 -:10745000EE0FFF1FE45EFD4F0190F081E02DE65E30 -:10746000FE4F808191810E946EAD42E060E082E734 -:1074700096E10E945A4BE0917B13F0E0EE0FFF1F64 -:10748000E45EFD4F0190F081E02DE85EFE4F8081CB -:1074900091810E946EAD10E043E0612F82E796E19A -:1074A0000E945A4B60E17EE082E796E10E94F2F58D -:1074B000CAE0D0E00E94174681E00E94DB7065E5DB -:1074C00070E080E090E00E94B8F02197209791F75B -:1074D0001F5F143109F7DF91CF911F9108951F931A -:1074E000CF93DF930E94A58F40E060E082E796E1B2 -:1074F0000E945A4BE0917B13F0E0EE0FFF1FE45E19 -:10750000FD4F0190F081E02DEA5EFE4F8081918178 -:107510000E946EAD42E060E082E796E10E945A4B25 -:10752000E0917B13F0E0EE0FFF1FE45EFD4F019052 -:10753000F081E02DE85EFE4F808191810E946EAD6A -:1075400010E043E0612F82E796E10E945A4B60E130 -:107550007EE082E796E10E94F2F5CAE0D0E00E9468 -:10756000174681E00E94DB706EE670E080E090E0FC -:107570000E94B8F02197209791F71F5F143109F707 -:10758000DF91CF911F9108950F931F93CF93DF93B6 -:107590000E94A58F40E060E082E796E10E945A4B8E -:1075A000E0917B13F0E0EE0FFF1FE45EFD4F0190D2 -:1075B000F081E02DE45FFE4F808191810E946EADED -:1075C00041E061E082E796E10E945A4BE0917B1333 -:1075D000F0E0EE0FFF1FE45EFD4F0190F081E02D23 -:1075E000E25FFE4F808191810E946EAD42E061E0DA -:1075F00082E796E10E945A4BE0917B13F0E0EE0F98 -:10760000FF1FE45EFD4F0190F081E02DEE5EFE4F26 -:10761000808191810E946EAD43E061E082E796E156 -:107620000E945A4BE0917B13F0E0EE0FFF1FE45EE7 -:10763000FD4F0190F081E02DEC5EFE4F8081918145 -:107640000E946EAD41E060E082E796E10E945A4BF5 -:1076500062E17EE082E796E10E94F2F50091FA167F -:10766000112707FD1095C1E0D0E080917C13909127 -:107670007D13892B09F072C00E94174681E00E9499 -:10768000DB702091FA16332727FD3095C801821B45 -:10769000930B97FF03C091958195910905970CF481 -:1076A0004DC0201731070CF42197021713070CF473 -:1076B0002196C430D1052CF4209729F4C1E0D0E004 -:1076C00002C0C3E0D0E041E060E082E796E10E94C2 -:1076D0005A4B64E77EE082E796E10E94F2F542E0D1 -:1076E00060E082E796E10E945A4B64E77EE082E721 -:1076F00096E10E94F2F543E060E082E796E10E94A5 -:107700005A4B64E77EE082E796E10E94F2F54C2F47 -:1077100060E082E796E10E945A4B62E17EE082E7F8 -:1077200096E10E94F2F50091FA16112707FD1095D7 -:1077300064E670E080E090E00E94B8F00E9409A545 -:10774000882309F492CFD0937D13C0937C1364EF08 -:1077500071E080E090E00E94B8F087CF0E94A58F92 -:10776000DF91CF911F910F910C94899620E030E02A -:1077700042E053E4609108117091091180910A115F -:1077800090910B110E943FF91816ECF481E0809360 -:10779000721381E090E09093E4168093E316EEE498 -:1077A000FEE08191882339F09091C00095FFFCCFD5 -:1077B0008093C600F6CF8091C00085FFFCCF8AE0A1 -:1077C0008093C60036C00E94A58F40E060E082E74B -:1077D00096E10E945A4BE0917B13F0E0EE0FFF1F01 -:1077E000E45EFD4F0190F081E02DEA5FFE4F808165 -:1077F00091810E946EAD42E060E082E796E10E94D6 -:107800005A4BE0917B13F0E0EE0FFF1FE45EFD4F5B -:107810000190F081E02DE85FFE4F808191810E9410 -:107820006EAD60ED77E080E090E00E94B8F00E94DD -:10783000A58F0C9489968F929F92AF92BF92DF9200 -:10784000EF92FF920F931F93CF93DF931092E61660 -:107850008091671690916816A0916916B0916A168A -:1078600081309048A105B10540F010926716109242 -:1078700068161092691610926A1680916716909198 -:107880006816A0916916B0916A16B695A795979556 -:1078900087954091701650E060E070E0841795077E -:1078A000A607B70710F480937016D0917016109148 -:1078B000711612FB112710F9C0E0DD24D394D11109 -:1078C00044C080915B0C882309F1E0917B13F0E0C8 -:1078D000EE0FFF1FE45EFD4F0190F081E02DE055BB -:1078E000FF4F608171818091671690916816A09119 -:1078F0006916B0916A1623E00297A105B10510F44C -:1079000043E001C040E28C2F0E94B68E1123E9F0C3 -:107910008091671690916816A0916916B0916A16C9 -:107920000297A105B10588F40E94CC8F87E893ECFB -:10793000DF91CF911F910F91FF90EF90DF90BF905B -:10794000AF909F908F900C94F48F80919013811141 -:1079500005C080918113882309F466C020E030E0DF -:1079600040E05FE360916513709166138091671347 -:10797000909168130E943CF787FF56C064EF76E150 -:107980008CEF9FE00E94D89C66EF76E18AEF9FE043 -:107990000E94D89C68EF76E188EF9FE00E94D89C17 -:1079A000D13011F002E041C080915B0C882329F1B5 -:1079B000E0917B13F0E0EE0FFF1FE45EFD4F0190BE -:1079C000F081E02DE251FF4F608171818091671657 -:1079D00090916816A0916916B0916A16B695A79510 -:1079E000979587952EE70197A105B10511F44EE310 -:1079F00001C040E28C2F0E94B68E112399F2809133 -:107A0000671690916816A0916916B0916A16B6959E -:107A1000A795979587950197A105B10519F60E943D -:107A2000CC8F84EB9FEA39C001E00E9458EC409172 -:107A30006716509168166091691670916A168111E7 -:107A400009C080919013811105C080918113882312 -:107A500009F455C00D135BC080915B0C81112AC0E5 -:107A6000112309F454C08091671690916816A09173 -:107A70006916B0916A16B695A79597958795402F88 -:107A800050E060E070E084179507A607B70709F09B -:107A90003EC00E94CC8F8DE899EADF91CF911F9173 -:107AA0000F91FF90EF90DF90BF90AF909F908F90DD -:107AB0000C94F98FE0917B13F0E0EE0FFF1FE45E72 -:107AC000FD4F0190F081E02DEC54FF4F0190F081CB -:107AD000E02D7695679557954795802F90E0A0E02B -:107AE000B0E02EE7481759076A077B0711F44EE309 -:107AF00001C040E2BF018C2F0E94B68EB1CF0D13A2 -:107B000006C080915B0C81116DC3111190C30F5F92 -:107B10008091911340916716509168166091691693 -:107B200070916A16882309F417C18091791588230A -:107B300009F4FBC080919013882309F452C00D13FF -:107B4000A0C080915B0C882321F1E0917B13F0E0D1 -:107B5000EE0FFF1FE45EFD4F0190F081E02DEA542F -:107B6000FF4F0190F081E02D7695679557954795E9 -:107B7000802F90E0A0E0B0E020E2481759076A07A4 -:107B80007B0711F44EE301C040E2BF018C2F0E943D -:107B9000B68E112309F475C080916716909168160E -:107BA000A0916916B0916A16B695A7959795879595 -:107BB000402F50E060E070E084179507A607B707F4 -:107BC00009F05FC00E94CC8FDF91CF911F910F9180 -:107BD000FF90EF90DF90BF90AF909F908F900C94AC -:107BE00071960D134EC080915B0C882321F1E091BA -:107BF0007B13F0E0EE0FFF1FE45EFD4F0190F0817C -:107C0000E02DE854FF4F0190F081E02D76956795C7 -:107C100057954795802F90E0A0E0B0E020E248170C -:107C200059076A077B0711F44EE301C040E2BF0128 -:107C30008C2F0E94B68E112321F1809167169091AE -:107C40006816A0916916B0916A16B695A795979592 -:107C50008795402F50E060E070E084179507A607F5 -:107C6000B70779F40E94CC8FDF91CF911F910F91CC -:107C7000FF90EF90DF90BF90AF909F908F900C940B -:107C80006796FF24F394F00EFD124CC080915B0CBC -:107C9000882361F1E0917B13F0E0EE0FFF1FE45EBB -:107CA000FD4F0190F081E02DE654FF4F0190F081EF -:107CB000E02D8091671690916816A0916916B09199 -:107CC0006A16B695A795979587954F2D50E060E079 -:107CD00070E02EE784179507A607B70711F44EE367 -:107CE00001C040E2BF018C2F0E94B68E1123D1F05B -:107CF0008091671690916816A0916916B0916A16E6 -:107D0000B695A795979587954F2D50E060E070E068 -:107D100084179507A607B70729F40E94CC8F88E936 -:107D200098ECBBCE01E00F0D5EC0809181138111F4 -:107D30005AC00D1357C080915B0C8823A9F1E091C4 -:107D40007B13F0E0EE0FFF1FE45EFD4F0190F0812A -:107D5000E02DE454FF4F12C00D1344C080915B0C22 -:107D6000882311F1E0917B13F0E0EE0FFF1FE45E3A -:107D7000FD4F0190F081E02DE254FF4F0190F08122 -:107D8000E02D7695679557954795802F90E0A0E078 -:107D9000B0E02EE7481759076A077B0709F140E270 -:107DA000BF018C2F0E94B68E1123E1F080916716DF -:107DB00090916816A0916916B0916A16B695A7952C -:107DC00097958795402F50E060E070E08417950705 -:107DD000A607B70739F40E94CC8F89E799E95DCEF1 -:107DE0004EE3DECF0F5F80919013811102C180912D -:107DF00081138111FEC00D1355C080915B0C882347 -:107E000061F1E0917B13F0E0EE0FFF1FE45EFD4FA8 -:107E10000190F081E02DEE5FFE4F0190F081E02DAA -:107E20008091671690916816A0916916B0916A16B4 -:107E3000B695A79597958795402F50E060E070E044 -:107E400020E284179507A607B70711F44EE301C097 -:107E500040E2BF018C2F0E94B68E112319F1809150 -:107E6000671690916816A0916916B0916A16B6953A -:107E7000A79597958795402F50E060E070E08417B4 -:107E80009507A607B70771F40E94CC8FDF91CF91B9 -:107E90001F910F91FF90EF90DF90BF90AF909F9058 -:107EA0008F9064CCEE24E394E00EED1252C08091EA -:107EB0005B0C882349F1E0917B13F0E0EE0FFF1F8C -:107EC000E45EFD4F0190F081E02DF39560817181BA -:107ED0008091671690916816A0916916B0916A1604 -:107EE000B695A795979587958D2E912CA12CB12CA1 -:107EF00020E288159905AA05BB0511F44EE301C0DF -:107F000040E28C2F0E94B68E112319F180916716E2 -:107F100090916816A0916916B0916A16B695A795CA -:107F2000979587954E2D50E060E070E08417950797 -:107F3000A607B70771F40E94CC8FDF91CF911F91F4 -:107F40000F91FF90EF90DF90BF90AF909F908F9038 -:107F5000DAC932E0E32EE00EED124AC080915B0CEC -:107F6000882351F1E0917B13F0E0EE0FFF1FE45EF8 -:107F7000FD4F0190F081E02DE450FF4F6081718151 -:107F80008091671690916816A0916916B0916A1653 -:107F9000B695A795979587958D2E912CA12CB12CF0 -:107FA0002EE788159905AA05BB0511F44EE301C01B -:107FB00040E28C2F0E94B68E1123D1F0809167167B -:107FC00090916816A0916916B0916A16B695A7951A -:107FD000979587954E2D50E060E070E084179507E7 -:107FE000A607B70729F40E94CC8F83E69DE955CDFB -:107FF0000D5F8091811381114FC00D134CC0809192 -:108000005B0C882361F1E0917B13F0E0EE0FFF1F22 -:10801000E45EFD4F0190F081E02DEA50FE4F0190AB -:10802000F081E02D8091671690916816A0916916F5 -:10803000B0916A16B695A79597958795402F50E011 -:1080400060E070E02EE784179507A607B70711F4E4 -:108050004EE301C040E2BF018C2F0E94B68E112377 -:10806000D1F08091671690916816A0916916B09131 -:108070006A16B695A79597958795402F50E060E0D2 -:1080800070E084179507A607B70729F40E94CC8FE4 -:1080900089E390EB02CD0F5F0D134CC080915B0C18 -:1080A000882361F1E0917B13F0E0EE0FFF1FE45EA7 -:1080B000FD4F0190F081E02DE65FFE4F0190F081D1 -:1080C000E02D8091671690916816A0916916B09185 -:1080D0006A16B695A79597958795402F50E060E072 -:1080E00070E02EE784179507A607B70711F44EE353 -:1080F00001C040E2BF018C2F0E94B68E1123D1F047 -:108100008091671690916816A0916916B0916A16D1 -:10811000B695A79597958795402F50E060E070E061 -:1081200084179507A607B70729F40E94CC8F8EEF16 -:108130009FE8B3CCFF24F394F00E40916716509162 -:1081400068166091691670916A16769567955795CD -:1081500047958F2D90E0A0E0B0E0481759076A07D7 -:108160007B0788F08F2D90E0880F991F0197AA2731 -:1081700097FDA095BA2F8093671690936816A093E9 -:108180006916B0936A16409167165091681660910F -:10819000691670916A1676956795579547958091FF -:1081A000701690E00396242F30E0821793074CF46A -:1081B0008DEF840F80937016D0925B0CDCEFD40FA0 -:1081C000CFEFCF5FDF5FC43008F479CBDF91CF9181 -:1081D0001F910F91FF90EF90DF90BF90AF909F9015 -:1081E0008F900895E0917B13F0E0EE0FFF1FE45EA7 -:1081F000FD4F0190F081E02DE250FF4F0190F081A2 -:10820000E02D7695679557954795802F90E0A0E0F3 -:10821000B0E02EE7481759076A077B0711F44EE3D1 -:1082200001C040E2BF018C2F0E94B68E6ECC8091BF -:10823000671690916816A0916916B0916A16B69566 -:10824000A79597958795402F50E060E070E08417E0 -:108250009507A607B70709F05ACC0E94CC8F88E291 -:1082600097E91BCC0F931F93CF93DF930E94A58FA9 -:1082700040E060E082E796E10E945A4BE0917B1378 -:10828000F0E0EE0FFF1FE45EFD4F0190F081E02D66 -:10829000EE50FF4F808191810E946EAD41E061E020 -:1082A00082E796E10E945A4BE0917B13F0E0EE0FDB -:1082B000FF1FE45EFD4F0190F081E02DE25FFE4F75 -:1082C000808191810E946EAD42E061E082E796E19B -:1082D0000E945A4BE0917B13F0E0EE0FFF1FE45E2B -:1082E000FD4F0190F081E02DE05FFE4F8081918194 -:1082F0000E946EAD41E060E082E796E10E945A4B39 -:1083000062E17EE082E796E10E94F2F50091FA16C2 -:10831000112707FD1095C1E0D0E00E94174681E0CB -:108320000E94DB702091FA16332727FD3095C80193 -:10833000821B930B97FF03C0919581959109059737 -:108340000CF441C0201731070CF4219702171307D2 -:108350000CF42196C330D1052CF4209729F4C1E008 -:10836000D0E002C0C2E0D0E041E060E082E796E108 -:108370000E945A4B64E77EE082E796E10E94F2F5A4 -:1083800042E060E082E796E10E945A4B64E77EE0BB -:1083900082E796E10E94F2F54C2F60E082E796E1D9 -:1083A0000E945A4B62E17EE082E796E10E94F2F57C -:1083B0000091FA16112707FD109564E670E080E041 -:1083C00090E00E94B8F00E9409A5882309F4A5CF87 -:1083D0002197D9F464EF76E18CEF9FE00E94D89C5E -:1083E00066EF76E18AEF9FE00E94D89C68EF76E125 -:1083F00088EF9FE00E94D89C8091F8169091F91622 -:10840000909300118093FF101EC01092F5161092E9 -:10841000F4161092F7161092F6161092F9161092A2 -:10842000F81664EF76E18CEF9FE00E94C79C66EF40 -:1084300076E18AEF9FE00E94C79C68EF76E188EFC3 -:108440009FE00E94C79C64EF71E080E090E00E9492 -:10845000B8F00E94A58FDF91CF911F910F910C94DE -:1084600089960F931F93CF93DF93EC01843091058E -:108470003CF08530910539F08C010350110905C09D -:1084800000E010E002C001E010E040E060E082E7C0 -:1084900096E10E945A4B61E67EE082E796E10E94F7 -:1084A000F2F540E061E082E796E10E945A4BF80164 -:1084B000EE0FFF1FE45EFD4F0190F081E02DE654CA -:1084C000FE4F808191810E946EAD41E060E082E7C5 -:1084D00096E10E945A4B61E67EE082E796E10E94B7 -:1084E000F2F541E061E082E796E10E945A4BF80123 -:1084F000EE0FFF1FE25EFD4F0190F081E02DE6548C -:10850000FE4F808191810E946EAD42E060E082E783 -:1085100096E10E945A4B61E67EE082E796E10E9476 -:10852000F2F542E061E082E796E10E945A4BF801E1 -:10853000EE0FFF1FE05EFD4F0190F081E02DE6544D -:10854000FE4F808191810E946EAD43E060E082E742 -:1085500096E10E945A4B61E67EE082E796E10E9436 -:10856000F2F543E061E082E796E10E945A4BF801A0 -:10857000EE0FFF1FEE5DFD4F0190F081E02DE65400 -:10858000FE4F808191810E946EADC130D10511F402 -:1085900040E012C0C230D10511F441E00DC0C3303B -:1085A000D1057CF042E060E082E796E10E945A4B00 -:1085B000C530D10531F443E060E082E796E10E94E6 -:1085C0005A4B62E17EE082E796E10E94F2F5249741 -:1085D0004CF443E063E182E796E10E945A4B66E780 -:1085E0007EE008C040E063E182E796E10E945A4BDA -:1085F00068E77EE082E796E1DF91CF911F910F91CE -:108600000C94F2F50F931F93CF93DF938FEF80932A -:108610007B130E946E9C0E94A58F81E090E021DF79 -:108620000091FA16112707FD1095C1E0D0E02091C6 -:108630007B1380917C1790917D1740917E1750910C -:108640007F172F3F41F49C01241B350B2F773327D5 -:1086500022303105A4F0841B950B8F779927029760 -:1086600024F010927B1310925E0C0E94929C0E9448 -:10867000A58FDF91CF911F910F910C9489960E9445 -:10868000174681E00E94DB702091FA16332727FD00 -:108690003095C801821B930B97FF03C0919581957C -:1086A00091090597F4F0201731070CF42197021770 -:1086B00013070CF42196C630D1052CF4209729F429 -:1086C000C1E0D0E002C0C5E0D0E0CE01CADE00913A -:1086D000FA16112707FD109564E670E080E090E03F -:1086E00004C064E170E080E090E00E94B8F00E9475 -:1086F00009A5882309F49BCF8C2F81500E94B39445 -:1087000064EF71E080E090E00E94B8F090CF8F922B -:108710009F92AF92BF92CF92DF92EF92FF920F9310 -:108720001F93CF93DF93CDB7DEB728970FB6F8949A -:10873000DEBF0FBECDBF80915E0C813009F040C01E -:1087400010925E0C0E94B69CE0917B13F0E0EE0F5D -:10875000FF1FE45EFD4F0190F081E02D608171818B -:1087600044E150E08EEB96E10F946F008DEE9FE0B8 -:108770000F9427038F3F01F58EEE9FE00F942703A0 -:108780008F3FD1F48FEE9FE00F9427038F3FA1F42A -:1087900080EF9FE00F9427038F3F71F440E050E09B -:1087A000BA018DEE9FE00F94340340E050E0BA012F -:1087B00081EF9FE00F94340380914616811122DFF0 -:1087C00080916116882321F081508093611603C047 -:1087D00081E080935B0C80915B0C882309F40DC4CD -:1087E0008091E7168F5F8093E7168E3129F40E94FF -:1087F0007C961092E7160EC06AE00E94E6FA91118C -:1088000009C020E044E064E182E796E10E946A4CFE -:108810000E94198E20E030E040E05FE36091081193 -:108820007091091180910A1190910B110E9463F6C9 -:108830000E94ABF778876F836091101170911111CE -:10884000882777FD8095982F0E94DEF720E030E0A2 -:1088500040E05FE30E9463F60E94ABF77E836D8386 -:1088600040E060E082E796E10E945A4B62E082E7D6 -:1088700096E10E94F3F5CE0107960E9451A7BC0134 -:1088800082E796E10E94F2F56FE282E796E10E94AC -:10889000F3F5CE0105960E94C2ACBC0182E796E1D9 -:1088A0000E94F2F581E293E50E946EAD63E77EE0FF -:1088B00082E796E10E94F2F540E06AE082E796E105 -:1088C0000E945A4B6AE77EE082E796E10E94F2F549 -:1088D0002CEA35EC47E257E360916513709166131B -:1088E00080916713909168130E9463F669837A837D -:1088F0008B839C83CE0101960E947FA6BC0182E7F8 -:1089000096E10E94F2F560E282E796E10E94F3F5BB -:1089100041E060E082E796E10E945A4B20E030E0BF -:1089200040E05FE3609102117091031180910411A6 -:10893000909105110E9463F60E94ABF778876F83D0 -:1089400060910E1170910F11882777FD8095982FF7 -:108950000E94DEF720E030E040E05FE30E9463F633 -:108960000E94ABF77E836D8360E082E796E10E9410 -:10897000F3F5CE0107960E9451A7BC0182E796E16C -:108980000E94F2F56FE282E796E10E94F3F5CE01D4 -:1089900005960E94C2ACBC0182E796E10E94F2F506 -:1089A0008EE193E50E946EAD63E77EE082E796E19B -:1089B0000E94F2F541E06AE082E796E10E945A4B9C -:1089C00063E77EE082E796E10E94F2F566E082E7E7 -:1089D00096E10E94F3F589E49CE00E9451A7BC0156 -:1089E00082E796E10E94F2F565E282E796E10E9455 -:1089F000F3F560E77EE082E796E10E94F2F542E05F -:108A000060E082E796E10E945A4B809181138823AF -:108A100019F08BE193E502C088E193E50E946EAD09 -:108A2000809190138823A9F180917915882319F1F9 -:108A30008091231690912416A0912516B0912616A8 -:108A40000097A105B105B9F0BC01CD016D597F4F6B -:108A50008F4F9F4F24E630E040E050E00E941AFB29 -:108A600060912B1670912C1680912D1690912E16D8 -:108A70000E941AFB01C020E030E03A832983CE0136 -:108A800001960E9451A7BC0182E796E10E94F2F58F -:108A90000DC080918113882329F083E193E50E9422 -:108AA0006EAD09C08FE093E50E946EAD65E282E78E -:108AB00096E10E94F3F56FE67EE082E796E10E9480 -:108AC000F2F542E06AE082E796E10E945A4B63E7E2 -:108AD0007EE082E796E10E94F2F567E082E796E1A8 -:108AE0000E94F3F580916B1190916C11A0916D1122 -:108AF000B0916E11892B8A2B8B2BE1F10E9489F0AA -:108B000020E6C22E2AEED22EE12CF12CA7019601EE -:108B10000E941AFB49015A0160916B1170916C110E -:108B200080916D1190916E11A70196010E941AFB20 -:108B3000C401821B930B6CE370E00E94F3FA182FC0 -:108B40006983CE0101960E940FA5BC0182E796E1E0 -:108B50000E94F2F56AE382E796E10E94F3F5198339 -:108B6000CE0101960E940FA5BC0182E796E10E940A -:108B7000F2F504C089E093E50E946EAD63E77EE004 -:108B800082E796E10E94F2F543E060E082E796E139 -:108B90000E945A4B8091751390917613009719F0AB -:108BA00021E020937213309190132091721333239C -:108BB00009F476C0211174C06FE973E187E896E18A -:108BC0000F94DE00892BD1F0E7E8F6E1DF010D908C -:108BD0000020E9F7AD01415051094758564160E086 -:108BE00070E0CF010F94AE006FE973E187E896E182 -:108BF0000F94E7001092BD161092BC16EFE9F3E156 -:108C000001900020E9F7E05AF341759708F445C058 -:108C10000091BC161091BD16C12CD12C8091BC16B0 -:108C20009091BD169801281B390B2431310534F081 -:108C300001969093BD168093BC169AC1C114D104BD -:108C4000B9F7F801E257FC4E7F019189602F681B4C -:108C500043E0911115C082E796E10E945A4BD7017B -:108C600050966C9182E796E10E94F3F51092BD1642 -:108C70001092BC1600E010E0CC24C394D12CCECFCF -:108C800082E796E10E945A4BF701608982E796E1FC -:108C90000E94F3F50F5F1F4FC1CF67E876E164C113 -:108CA000222309F45FC1892B09F4A1C080917313B9 -:108CB0009091741301968E30910528F4909374135B -:108CC0008093731304C0109274131092731343E0D3 -:108CD00067E082E796E10E945A4B8BEF92E50E9493 -:108CE0006EAD00E010E0809173139091741308173B -:108CF000190770F467E0600F43E082E796E10E9495 -:108D00005A4B89EF92E50E946EAD0F5F1F4FEBCF7C -:108D100080917513909176138230910581F1B0F4B2 -:108D2000019709F064C043E060E082E796E10E94A9 -:108D30005A4BE0917B13F0E0EE0FFF1FE45EFD4F16 -:108D40000190F081E02DE05AFE4F3EC08330910546 -:108D500049F1049709F04BC043E060E082E796E1F7 -:108D60000E945A4BE0917B13F0E0EE0FFF1FE45E90 -:108D7000FD4F0190F081E02DEA59FE4F2AC043E0FB -:108D800060E082E796E10E945A4BE0917B13F0E0AD -:108D9000EE0FFF1FE45EFD4F0190F081E02DEE59D4 -:108DA000FE4F17C043E060E082E796E10E945A4B15 -:108DB000E0917B13F0E0EE0FFF1FE45EFD4F0190AA -:108DC000F081E02DEC59FE4F808191810E946EADC3 -:108DD0000EC0808191810E946EAD10927613109228 -:108DE0007513109274131092731310927213809172 -:108DF000701390917113019709F0AEC080916E13BA -:108E000090916F138B309105A8F143E060E082E709 -:108E100096E10E945A4B61E67EE082E796E10E946D -:108E2000F2F543E060E082E796E10E945A4BE09160 -:108E30007B13F0E0EE0FFF1FE45EFD4F0190F08129 -:108E4000E02DE850FF4F808191810E946EAD6EE76A -:108E50007EE082E796E10E94F2F560916E137091D8 -:108E60006F136A5071094AE050E082E796E10E9470 -:108E70005DF672C0039711F5E0917B13F0E0EE0F01 -:108E8000FF1FE45EFD4F0190F081E02D8081918114 -:108E90000E946EADE0917B13F0E0EE0FFF1FE45EE9 -:108EA000FD4F0190F081E02D808191810E9489A188 -:108EB00010927213109271131092701380916E13AE -:108EC00090916F130497069758F543E060E082E7AE -:108ED00096E10E945A4B62E67EE082E796E10E94AC -:108EE000F2F543E060E082E796E10E945A4BE091A0 -:108EF0007B13F0E0EE0FFF1FE45EFD4F0190F08169 -:108F0000E02DE650FF4F808191810E946EAD8091EF -:108F10006E1390916F13019790936F1380936E135C -:108F200080916E1390916F130A97B1F4E0917B13C7 -:108F3000F0E0EE0FFF1FE45EFD4F0190F081E02DA9 -:108F4000E650FF4F808191810E946EAD89E090E0F4 -:108F500090936F1380936E1380917013909171139F -:108F6000029731F46EEB76E182E796E10E94F2F52A -:108F70000EEB16E1D8018D918D0180322CF460E268 -:108F800082E796E10E94F3F5B6E1023D1B0791F7F7 -:108F900080918113882331F180917213811122C055 -:108FA00043E060E082E796E10E945A4B61E67EE092 -:108FB00082E796E10E94F2F543E060E082E796E105 -:108FC0000E945A4BE0917B13F0E0EE0FFF1FE45E2E -:108FD000FD4F0190F081E02DE850FE4F808191819E -:108FE0000E946EAD8AE0809361168091E3169091A5 -:108FF000E416892B11F00E9496A18091711682FBD4 -:10900000882780F990916016992399F090915F16C6 -:10901000992339F0811119C010925F1610926016D1 -:1090200014C0882391F00E94CC8F81E080935F165A -:109030000CC0882351F021E040E050E0BA018BE100 -:109040009CEB0E94DE8F0E947C968091490C90914F -:109050004A0C20916716309168168436910534F4D5 -:10906000820F931F853691054CF416C08436910506 -:1090700099F0820F931F8436910574F4109267164D -:10908000109268161092691610926A1684E690E0A3 -:1090900090934A0C8093490C2091490C30914A0CD2 -:1090A00080916716909168162436310569F48B30EB -:1090B00091051CF0865A9F4F09C0863FEFEF9E072F -:1090C0008CF482599F4F02C0820F931F90934A0CD9 -:1090D0008093490C109267161092681610926916C8 -:1090E00010926A168091490C90914A0C8A30910531 -:1090F0001CF48AE090E005C0883E934034F087EE8F -:1091000093E090934A0C8093490C28960FB6F894FC -:10911000DEBF0FBECDBFDF91CF911F910F91FF90AA -:10912000EF90DF90CF90BF90AF909F908F90089579 -:109130000F931F93CF9340E060E082E796E10E9497 -:109140005A4BE0917B13F0E0EE0FFF1FE45EFD4F02 -:109150000190F081E02DE654FF4F808191810E94C3 -:109160006EAD42E062E082E796E10E945A4BE091E8 -:109170007B13F0E0EE0FFF1FE45EFD4F0190F081E6 -:10918000E02DE05FFE4F808191810E946EAD43E053 -:1091900062E082E796E10E945A4BE0917B13F0E097 -:1091A000EE0FFF1FE45EFD4F0190F081E02DE25FC6 -:1091B000FE4F808191810E946EAD42E060E082E7C7 -:1091C00096E10E945A4B64E77EE082E796E10E94B6 -:1091D000F2F543E060E082E796E10E945A4B64E7D3 -:1091E0007EE082E796E10E94F2F580916716909109 -:1091F0006816A0916916B0916A160397A105B1058A -:1092000064F082E090E0A0E0B0E080936716909375 -:109210006816A0936916B0936A16809167169091AC -:109220006816A0916916B0916A16181619061A06E2 -:109230001B0664F081E090E0A0E0B0E08093671648 -:1092400090936816A0936916B0936A1640916716BA -:109250004F5F60E082E796E10E945A4B62E17EE058 -:1092600082E796E10E94F2F50E9409A5882309F49D -:1092700069C08091671690916816A0916916B091A7 -:109280006A160197A105B10511F40E948996809193 -:10929000671690916816A0916916B0916A160297A8 -:1092A000A105B10509F04EC0C1E0C09338130E947A -:1092B00097DAE0917B13F0E0EE0FFF1FE45EFD4FC5 -:1092C0000190F081E02DEA53FF4F808191810E944F -:1092D00089A11092901360E08EE893E10E94D25829 -:1092E0000E9489F0609367117093681180936911EF -:1092F00090936A1100916B1110916C1120916D1176 -:1093000030916E11601B710B820B930B28EE33E0D2 -:1093100040E050E00E941AFB60917713709178133F -:109320008091791390917A130E94106C0E94899613 -:10933000C093601610925F1682E090E09093E4165E -:109340008093E316CF911F910F910895CF93DF93F0 -:10935000C1E9D2E5FE018491882341F09091C000DB -:1093600095FFFCCF8093C6003196F5CFEAEFF6E586 -:109370008491882341F09091C00095FFFCCF8093A9 -:10938000C6003196F5CF8091C00085FFFCCF8AE002 -:109390008093C600FE018491E1E9F2E5882349F05B -:1093A0009091C00095FFFCCF8093C60031968491C8 -:1093B000F5CF4091011D5091021D6091031D7091E8 -:1093C000041D82EF96E50E945A624091051D50915E -:1093D000061D6091071D7091081D8FEE96E50E9495 -:1093E0005A624091091D50910A1D60910B1D7091A8 -:1093F0000C1D8CEE96E50E945A6240910D1D509115 -:109400000E1D60910F1D7091101D89EE96E50E9452 -:109410005A628091C00085FFFCCF8AE08093C6002D -:10942000FE018491E1E9F2E5882349F09091C000C2 -:1094300095FFFCCF8093C60031968491F5CFEFEC79 -:10944000F6E58491882341F09091C00095FFFCCF10 -:109450008093C6003196F5CF8091C00085FFFCCF88 -:109460008AE08093C600FE018491E1E9F2E5882359 -:1094700049F09091C00095FFFCCF8093C6003196D3 -:109480008491F5CF4091111D5091121D6091131DD3 -:109490007091141D86EC96E50E945A624091151D4C -:1094A0005091161D6091171D7091181D83EC96E563 -:1094B0000E945A624091191D50911A1D60911B1D06 -:1094C00070911C1D80EC96E50E945A6240911D1D12 -:1094D00050911E1D60911F1D7091201D8DEB96E512 -:1094E0000E945A628091C00085FFFCCF8AE0809381 -:1094F000C600FE018491E1E9F2E5882349F09091EC -:10950000C00095FFFCCF8093C60031968491F5CFC3 -:10951000EFE9F6E58491882341F09091C00095FF32 -:10952000FCCF8093C6003196F5CF8091C00085FFB7 -:10953000FCCF8AE08093C600FE018491E1E9F2E568 -:10954000882349F09091C00095FFFCCF8093C6001E -:1095500031968491F5CF4091F11C5091F21C6091AD -:10956000F31C7091F41C86E996E50E946C624091B0 -:10957000F51C5091F61C6091F71C7091F81C83E962 -:1095800096E50E946C624091F91C5091FA1C609122 -:10959000FB1C7091FC1C80E996E50E946C62409176 -:1095A000FD1C5091FE1C6091FF1C7091001D8DE808 -:1095B00096E50E946C628091C00085FFFCCF8AE036 -:1095C0008093C600FE018491E1E9F2E5882349F029 -:1095D0009091C00095FFFCCF8093C6003196849196 -:1095E000F5CFE8E5F6E58491882341F09091C0003D -:1095F00095FFFCCF8093C6003196F5CF8091C000D7 -:1096000085FFFCCF8AE08093C600FE018491E1E9EA -:10961000F2E5882349F09091C00095FFFCCF80933C -:10962000C60031968491F5CF4091E91C5091EA1C17 -:109630006091EB1C7091EC1C8FE496E50E945A62DD -:109640004091E51C5091E61C6091E71C7091E81C6C -:109650008CE496E50E945A628091C00085FFFCCFA1 -:109660008AE08093C600FE018491E1E9F2E5882357 -:1096700049F09091C00095FFFCCF8093C6003196D1 -:109680008491F5CFE9E9F5E58491882341F0909143 -:10969000C00095FFFCCF8093C6003196F5CF809136 -:1096A000C00085FFFCCF8AE08093C600FE01849154 -:1096B000E1E9F2E5882349F09091C00095FFFCCFE5 -:1096C0008093C60031968491F5CF4091ED1C509166 -:1096D000EE1C6091EF1C7091F01C80E995E50E94F2 -:1096E0005A624091D51C5091D61C6091D71C709144 -:1096F000D81C8DE895E50E945A624091211D509139 -:10970000221D6091231D7091241D8AE895E50E9419 -:109710006C624091E11C5091E21C6091E31C7091DD -:10972000E41C87E895E50E945A624091DD1C509147 -:10973000DE1C6091DF1C7091E01C84E895E50E94BE -:109740005A624091D91C5091DA1C6091DB1C7091D7 -:10975000DC1C81E895E50E945A628091C00085FF7B -:10976000FCCF8AE08093C600FE018491E1E9F2E536 -:10977000882349F09091C00095FFFCCF8093C600EC -:1097800031968491F5CFEFE6F5E58491882341F099 -:109790009091C00095FFFCCF8093C6003196F5CF25 -:1097A0008091C00085FFFCCF8AE08093C600FE0157 -:1097B0008491E1E9F2E5882349F09091C00095FF9A -:1097C000FCCF8093C60031968491F5CF4091511320 -:1097D00050915213609153137091541386E695E59E -:1097E0000E945A624091551350915613609157133D -:1097F0007091581383E695E50E945A62409159137F -:1098000050915A1360915B1370915C1380E695E55B -:109810000E945A628091C00085FFFCCF8AE080934D -:10982000C600FE018491E1E9F2E5882349F09091B8 -:10983000C00095FFFCCF8093C60031968491F5CF90 -:10984000E2E5F5E58491882341F09091C00095FF11 -:10985000FCCF8093C6003196F5CF8091C00085FF84 -:10986000FCCF8AE08093C600FE018491E1E9F2E535 -:10987000882349F09091C00095FFFCCF8093C600EB -:1098800031968491F5CF4091180250911902609160 -:109890001A0270911B0288E495E50E945A62609159 -:1098A00014027091150280911602909117020E9485 -:1098B000994AAB01BC0185E495E50E945A6260912A -:1098C00010027091110280911202909113020E9475 -:1098D000A54AAB01BC0182E495E50E945A628091E1 -:1098E000C00085FFFCCF8AE08093C600FE01849112 -:1098F000E1E9F2E5882349F09091C00095FFFCCFA3 -:109900008093C60031968491F5CFEEE0F5E5849121 -:10991000882341F09091C00095FFFCCF8093C60052 -:109920003196F5CF8091C00085FFFCCF8AE080930F -:10993000C600FE018491E1E9F2E5882349F09091A7 -:10994000C00095FFFCCF8093C60031968491F5CF7F -:1099500040911F0C5091200C6091210C7091220CB1 -:1099600084E095E50E945A6220E030E040E752E44E -:109970006091170C7091180C8091190C90911A0C31 -:109980000E9411FAAB01BC0181E095E50E945A6288 -:1099900040914113509142136091431370914413CD -:1099A0008EEF94E50E945A628091C00085FFFCCF43 -:1099B0008AE08093C600FE018491E1E9F2E5882304 -:1099C00049F09091C00095FFFCCF8093C60031967E -:1099D0008491F5CFE2EDF4E58491882341F09091F4 -:1099E000C00095FFFCCF8093C6003196F5CF8091E3 -:1099F000C00085FFFCCF8AE08093C600FE01849101 -:109A0000E1E9F2E5882349F09091C00095FFFCCF91 -:109A10008093C60031968491F5CF40913D135091CB -:109A20003E1360913F137091401388EC94E50E94BF -:109A30005A6220E030E040E752E46091130C7091EC -:109A4000140C8091150C9091160C0E9411FAAB0128 -:109A5000BC0185EC94E50E945A628091C00085FFAC -:109A6000FCCF8AE08093C600FE018491E1E9F2E533 -:109A7000882349F09091C00095FFFCCF8093C600E9 -:109A800031968491F5CFEBE6F4E58491882341F09B -:109A90009091C00095FFFCCF8093C6003196F5CF22 -:109AA0008091C00085FFFCCF8AE08093C600FE0154 -:109AB0008491E1E9F2E5882349F09091C00095FF97 -:109AC000FCCF8093C60031968491F5CF4091461328 -:109AD00050E060E070E081E694E50E946C62809165 -:109AE000C00085FFFCCF8AE08093C600FE01849110 -:109AF000E1E9F2E5882349F09091C00095FFFCCFA1 -:109B00008093C60031968491F5CF80916D138823A0 -:109B1000A1F1EEE4F4E58491882341F09091C00036 -:109B200095FFFCCF8093C6003196F5CF8091C000A1 -:109B300085FFFCCF8AE08093C600FE01C491E1E975 -:109B4000F2E5CC2349F08091C00085FFFCCFC093A3 -:109B5000C6003196C491F5CF40913F0C5091400C16 -:109B60006091410C7091420C84E494E50E945A6229 -:109B70008091C00085FFFCCF11C0E8E2F4E584913C -:109B8000882341F09091C00095FFFCCF8093C600E0 -:109B90003196F5CF8091C00085FFFCCF8AE080939D -:109BA000C600DF91CF910895AF92BF92CF92DF921E -:109BB000EF92FF920F931F93CF93DF93CDB7DEB752 -:109BC000E0970FB6F894DEBF0FBECDBF80E1EBED9E -:109BD000FCE0DE01919601900D928A95E1F780E11B -:109BE000EBEEFCE0DE01519601900D928A95E1F7D3 -:109BF00080E1EBEFFCE0DE01119601900D928A9579 -:109C0000E1F76E0181E2C80ED11C81E0E82E8DE102 -:109C1000F82E8E010F5E1F4F61E17DE1AE014F5FB7 -:109C20005F4F91EFA92E9CE1B92E20E030E0F601C4 -:109C300081919191A191B1916F01F70181939193DC -:109C4000A193B1937F01F80181919191A191B1917B -:109C50008F01FB0181939193A193B193BF01FA010D -:109C600081919191A191B191AF01F501819391936E -:109C7000A193B1935F012F5F3F4F24303105B9F6B7 -:109C80000E9468EC80E090E8ABE3B5E48093E91CC7 -:109C90009093EA1CA093EB1CB093EC1C8093E51C02 -:109CA0009093E61CA093E71CB093E81C1092ED1C67 -:109CB0001092EE1C1092EF1C1092F01C80E29EE4B9 -:109CC000A0E0B0E08093211D9093221DA093231D5E -:109CD000B093241D1092D51C1092D61C1092D71C44 -:109CE0001092D81C80E090E0A0EAB1E48093E11CDF -:109CF0009093E21CA093E31CB093E41C8DEC9CECCD -:109D0000ACECBEE38093DD1C9093DE1CA093DF1CC3 -:109D1000B093E01C80E090E0A0EAB0E48093D91C0E -:109D20009093DA1CA093DB1CB093DC1C10925913A7 -:109D300010925A1310925B1310925C1310925513E9 -:109D400010925613109257131092581310925113E9 -:109D500010925213109253131092541382ED90E00C -:109D60009093DF168093DE1682E390E09093DD16E9 -:109D70008093DC161092DB161092DA168FEF90E0CB -:109D80009093D9168093D81684E690E09093D716D6 -:109D90008093D6161092D5161092D41683E393EBC7 -:109DA000A3E2B2E48093180290931902A0931A02DE -:109DB000B0931B0260E070E08CE990E40E94934A4B -:109DC0006093140270931502809316029093170209 -:109DD00065E87BE28CEA92E40E949F4A609310025D -:109DE0007093110280931202909313020E94683FB5 -:109DF00080E090E0A0E8BFE380930C0290930D0216 -:109E0000A0930E02B0930F021092461380E090E0F0 -:109E1000A0E4B0E480931F0C9093200CA093210C3D -:109E2000B093220C40E050E064E372E44093170CDE -:109E30005093180C6093190C70931A0C10924113E4 -:109E400010924213109243131092441310923D1338 -:109E500010923E1310923F131092401340E050E0D6 -:109E600060E071E44093130C5093140C6093150C54 -:109E70007093160C10926D1380933F0C9093400CCE -:109E8000A093410CB093420C0E948271E1E9F2E58B -:109E90008491882341F09091C00095FFFCCF80937E -:109EA000C6003196F5CFE6E0F4E58491882341F0D1 -:109EB0009091C00095FFFCCF8093C6003196F5CFFE -:109EC0008091C00085FFFCCF8AE08093C600E096B9 -:109ED0000FB6F894DEBF0FBECDBFDF91CF911F91BB -:109EE0000F91FF90EF90DF90CF90BF90AF900895CB -:109EF0001F920F920FB60F9211240BB60F922F9351 -:109F00003F934F935F936F938F939F93EF93FF9341 -:109F10006091C60020917C1730917D17C901019690 -:109F20008F77992740917E1750917F178417950757 -:109F300041F0F901E450F94E608390937D178093CE -:109F40007C17FF91EF919F918F916F915F914F914E -:109F50003F912F910F900BBE0F900FBE0F901F904F -:109F600018959A01AB01211581EE3807410551057D -:109F700049F182E08093C00060E079E08DE390E0F9 -:109F80000E943CFB2150310941095109CA01B90124 -:109F900022E030E040E050E00E943CFB3093C500FE -:109FA0002093C4008091C10080618093C1008091A2 -:109FB000C10088608093C1008091C1008068809357 -:109FC000C10008951092C00020E130E0E7CF209159 -:109FD0007E1730917F1780917C1790917D178217A3 -:109FE000930771F0F901E450F94E80812F5F3F4FE4 -:109FF0002F77332730937F1720937E1790E00895B3 -:10A000008FEF9FEF089580917E1790917F17909327 -:10A010007D1780937C1708954F925F926F927F9285 -:10A020008F929F92AF92BF92CF92DF92EF92FF9268 -:10A030000F931F93CF93DF93CDB7DEB7A0970FB6E3 -:10A04000F894DEBF0FBECDBF5C014115510561051F -:10A050007105E9F420E030E040E350E060E070E0BA -:10A06000A0960FB6F894DEBF0FBECDBFDF91CF91A3 -:10A070001F910F91FF90EF90DF90CF90BF90AF9026 -:10A080009F908F907F906F905F904F905BC08E01FC -:10A090000F5F1F4FC12CD12C76014801422E512C4D -:10A0A000612C712C8FEFC81AD80AE80AF80ACB0184 -:10A0B000BA01A30192010E941AFBCA01F80161933F -:10A0C0008F01A901BC01411551056105710551F7C9 -:10A0D000F1E0CF1AD108E108F108F401EC0DFD1D03 -:10A0E00080818A3010F440E301C047E3480F5527D0 -:10A0F00047FD5095652F752F20E030E0C50122D037 -:10A1000081E0C81AD108E108F108EFEFCE16DE06AB -:10A11000EE06FE0611F7A0960FB6F894DEBF0FBE4E -:10A12000CDBFDF91CF911F910F91FF90EF90DF9006 -:10A13000CF90BF90AF909F908F907F906F905F90E7 -:10A140004F9008952115310539F48091C00085FFA5 -:10A15000FCCF4093C60008952A30310509F424C08D -:10A160005BCF9A01462F552747FD5095652F752FD8 -:10A17000E9CFCF93DF93EC0120E030E04DE050E0F9 -:10A1800060E070E0DFDF20E030E04AE050E060E0D7 -:10A1900070E0CE01DF91CF91D5CF9A01AB01662758 -:10A1A00057FD6095762FCECFCF92DF92EF92FF9240 -:10A1B000CF93DF93EC016A017B0177FF0FC020E0B2 -:10A1C00030E04DE250E060E070E0BCDFF094E094FD -:10A1D000D094C094C11CD11CE11CF11C2AE0B70131 -:10A1E000A601CE01DF91CF91FF90EF90DF90CF904D -:10A1F00013CF2115310539F48091C00085FFFCCFC4 -:10A200004093C600089508CF9A01462F50E060E0C1 -:10A2100070E0EFCFCF93DF93EC019A01AB0160E0E8 -:10A2200070E0E7DFCE01DF91CF91A3CF8F929F92B5 -:10A23000AF92BF92CF92DF92EF92FF921F93CF9394 -:10A24000DF93EC016A017B01122F20E030E0A901CD -:10A25000C701B6010E943CF787FF0CC020E030E048 -:10A260004DE250E060E070E0CE016CDFF7FAF09470 -:10A27000F7F8F094B12C60E070E080E09FE3B11655 -:10A2800041F020E030E040E251E40E9443F7B39413 -:10A29000F6CF9B01AC01C701B6010E9463F66B01CA -:10A2A0007C010E94B0F74B015C010E94DCF79B012E -:10A2B000AC01C701B6010E9462F66B017C012AE085 -:10A2C000B501A401CE01A8DE112361F0E0E1FEE0BA -:10A2D0008191882339F09091C00095FFFCCF809345 -:10A2E000C600F6CF112319F120E030E040E251E43E -:10A2F000C701B6010E9411FA6B017C010E94ABF705 -:10A300004B01AA2497FCA094BA2CB501A401CE015C -:10A310004BDFC501B4010E94DEF79B01AC01C70110 -:10A32000B6010E9462F66B017C011150DBCFDF9118 -:10A33000CF911F91FF90EF90DF90CF90BF90AF90A3 -:10A340009F908F90089572CFCF93DF931F92CDB7D8 -:10A35000DEB7698341E050E0BE016F5F7F4F049636 -:10A360000E94C4370F90DF91CF910895FB010190B7 -:10A370000020E9F7AF0141505109461B570B0496E5 -:10A380000C94C43780919917811109C08091981756 -:10A39000811105C080919717811101C00895E1E9ED -:10A3A000F2E58491882341F09091C00095FFFCCFA5 -:10A3B0008093C6003196F5CFE0917B13F0E0EE0F6D -:10A3C000FF1FE45EFD4F0190F081E02DE455FE4F4C -:10A3D0000190F081E02D8491882341F09091C0009C -:10A3E00095FFFCCF8093C6003196F5CF80919917E9 -:10A3F000882371F160919A1770919B1780919C1737 -:10A4000090919D170E94DEF72091011D3091021D51 -:10A410004091031D5091041D0E9443F7AB01BC0104 -:10A4200087E397E50E945A62E0917B13F0E0EE0F1C -:10A43000FF1FE45EFD4F0190F081E02DE455FE4FDB -:10A4400065E377E5808191810E94374D0E9489A163 -:10A4500080919817882371F160919E1770919F17D2 -:10A460008091A0179091A1170E94DEF72091051D01 -:10A470003091061D4091071D5091081D0E9443F721 -:10A48000AB01BC0181E397E50E945A62E0917B1326 -:10A49000F0E0EE0FFF1FE45EFD4F0190F081E02D34 -:10A4A000E455FE4F6FE277E5808191810E94374D40 -:10A4B0000E9489A180919717882371F16091A2175A -:10A4C0007091A3178091A4179091A5170E94DEF7B1 -:10A4D0002091091D30910A1D40910B1D50910C1DBA -:10A4E0000E9443F7AB01BC018BE297E50E945A62E0 -:10A4F000E0917B13F0E0EE0FFF1FE45EFD4F019053 -:10A50000F081E02DE455FE4F69E277E5808191818D -:10A510000E94374D0E9489A18091C00085FFFCCF29 -:10A520008AE08093C60010929917109298171092A3 -:10A5300097170895109299171092981710929717DD -:10A5400008958093730C0895EFE6F0E080818260B7 -:10A55000808308951F920F920FB60F9211240BB6AD -:10A560000F920F931F932F933F934F935F936F938C -:10A570007F938F939F93AF93BF93EF93FF938091BC -:10A58000CA179091CB17892B09F09EC19091CD17D6 -:10A590008091CC17981771F0E091CC178DE4E89F6B -:10A5A000F0011124E253F84EDF01A45BBF4F81E0BC -:10A5B0008C9302C0E0E0F0E0F093CB17E093CA1771 -:10A5C000309709F47BC1DF01A45BBF4F81E08C931E -:10A5D0001092AD171092AE171092AF171092B017DD -:10A5E00060AD71AD61349CE9790728F461329EE475 -:10A5F000790748F002C060E47CE976956795769526 -:10A60000679584E007C0613197E2790730F076956D -:10A61000679582E08093AA1707C08093AA176032DB -:10A62000710510F460E270E060527109611588E014 -:10A630007807D0F0872F9927880F991F880F991FC7 -:10A64000855C944AFC01329645915491AA27659FF6 -:10A650009001649F210D3A1F06942A1F3A1F11246E -:10A66000FC01859194911DC0CB01969587958C7FB7 -:10A67000855C984AFC01459154910296FC018591B4 -:10A680009491FB01E770FF278E9F90018F9F300D03 -:10A690009E9F300D112403E0369527950A95E1F72A -:10A6A000CA01821B930B8436910500F5E0917B1360 -:10A6B000F0E0EE0FFF1FE45EFD4F0190F081E02D12 -:10A6C000E655FE4F0190F081E02D8191882339F00D -:10A6D0009091C00095FFFCCF8093C600F6CF4AE072 -:10A6E00050E08BEF96E196DD84E690E09093A91719 -:10A6F0008093A8178091AA17992787FD909590932A -:10A70000A7178093A617E091CA17F091CB1764ADF5 -:10A7100075AD7093AC176093AB1761349CE9790702 -:10A7200028F461328EE4780748F002C060E47CE9E6 -:10A73000769567957695679584E007C0613197E2D5 -:10A74000790730F07695679582E08093AA1708C064 -:10A7500081E08093AA176032710510F460E270E026 -:10A7600060527109611588E07807E0F0872F99271A -:10A77000880F991F880F991F855C944AFC013296B7 -:10A7800025913491AA27639FA001629F410D5A1F12 -:10A7900006944A1F5A1F1124FC0125913491241B51 -:10A7A000350B1EC0CB01969587958C7F855C984AAA -:10A7B000FC01259134910296FC0145915491FB01D5 -:10A7C000E770FF274E9FC0014F9F900D5E9F900D39 -:10A7D000112443E0969587954A95E1F7281B390B9C -:10A7E0002436310500F5E0917B13F0E0EE0FFF1FFA -:10A7F000E45EFD4F0190F081E02DE655FE4F0190A3 -:10A80000F081E02D8191882339F09091C00095FF6F -:10A81000FCCF8093C600F6CF4AE050E08BEF96E184 -:10A82000F9DC24E630E0C901A0E0B0E08093B11784 -:10A830009093B217A093B317B093B41730938900D5 -:10A8400020938800E091CA17F091CB1780899189F5 -:10A85000A289B389B695A79597958795B095A09548 -:10A86000909581959F4FAF4FBF4F8093C5179093A1 -:10A87000C617A093C717B093C8178093C1179093BA -:10A88000C217A093C317B093C4178093BD179093BA -:10A89000BE17A093BF17B093C0178093B9179093BA -:10A8A000BA17A093BB17B093BC171092B5171092AC -:10A8B000B6171092B7171092B81706C080ED97E040 -:10A8C0009093890080938800E091CA17F091CB178C -:10A8D000309709F4A1C580A18093C9179FB780FF65 -:10A8E00009C0F89480910B018D7F80930B019FBF6D -:10A8F0008FEF08C0F89480910B01826080930B0168 -:10A900009FBF81E080936F0C8091C9179FB781FF33 -:10A9100009C0F89480910B018E7F80930B019FBF3B -:10A920008FEF08C0F89480910B01816080930B0138 -:10A930009FBF81E08093700C2091C9173091730CF8 -:10A9400020FF3BC0332309F472C01E9902C080E08F -:10A9500031C080919617882361F1E091CA17F09178 -:10A96000CB1780819181A281B381181619061A062E -:10A970001B06FCF48091801790918117A09182179B -:10A98000B091831780939A1790939B17A0939C176D -:10A99000B0939D1781E08093991780899189A2894E -:10A9A000B3898093B5179093B617A093B717B09358 -:10A9B000B81781E0809396173AC03323C1F140B1B4 -:10A9C00051E042FB442740F9452779F180919517E2 -:10A9D000882359F1E091CA17F091CB1780819181BA -:10A9E000A281B381181619061A061B06F4F4809189 -:10A9F000801790918117A0918217B091831780934F -:10AA00009A1790939B17A0939C17B0939D17509300 -:10AA1000991780899189A289B3898093B5179093FA -:10AA2000B617A093B717B093B8174093951721FFA7 -:10AA30003BC0332309F471C01D9902C080E031C0CE -:10AA400080919417882361F1E091CA17F091CB1798 -:10AA500084819581A681B781181619061A061B06EE -:10AA6000FCF48091841790918517A0918617B0917E -:10AA7000871780939E1790939F17A093A017B0936A -:10AA8000A11781E08093981780899189A289B38961 -:10AA90008093B5179093B617A093B717B093B817D4 -:10AAA00081E08093941739C03323B9F130B141E08C -:10AAB00036953170342779F180919317882359F1B5 -:10AAC000E091CA17F091CB1784819581A681B78157 -:10AAD000181619061A061B06F4F480918417909133 -:10AAE0008517A0918617B091871780939E17909332 -:10AAF0009F17A093A017B093A11740939817808930 -:10AB00009189A289B3898093B5179093B617A093C2 -:10AB1000B717B093B817309393179FB722FF47C06A -:10AB2000F89480910B018B7F80930B019FBF8FEF77 -:10AB30008093710C8091730C882309F47DC01C995B -:10AB400002C080E031C080919217882361F1E091CA -:10AB5000CA17F091CB1780859185A285B385181609 -:10AB600019061A061B06FCF4809188179091891724 -:10AB7000A0918A17B0918B178093A2179093A31777 -:10AB8000A093A417B093A51781E0809397178089AD -:10AB90009189A289B3898093B5179093B617A09332 -:10ABA000B717B093B81781E08093921745C0F89417 -:10ABB00080910B01846080930B019FBF31E0309343 -:10ABC000710C8091730C8823B9F126B12095221F56 -:10ABD0002227221F79F180919117882359F1E09162 -:10ABE000CA17F091CB1780859185A285B385181679 -:10ABF00019061A061B06F4F480918817909189179C -:10AC0000A0918A17B0918B178093A2179093A317E6 -:10AC1000A093A417B093A5173093971780899189B3 -:10AC2000A289B3898093B5179093B617A093B717ED -:10AC3000B093B817209391178091C9179FB783FFDE -:10AC400009C0F89480910B01806480930B019FBF31 -:10AC50008FEF08C0F89480910B018F7B80930B01DC -:10AC60009FBF81E08093720C20E08091AA17281783 -:10AC70000CF0ADC18091C00087FF19C03091C600B3 -:10AC800040917C1750917D17CA0101968F779927C3 -:10AC900060917E1770917F178617970741F0FA0130 -:10ACA000E450F94E308390937D1780937C17E091A8 -:10ACB000CA17F091CB178091C5179091C617A09134 -:10ACC000C717B091C8174081518162817381840F89 -:10ACD000951FA61FB71F8093C5179093C617A09303 -:10ACE000C717B093C817181619061A061B06CCF515 -:10ACF000409AE091CA17F091CB178091C5179091B7 -:10AD0000C617A091C717B091C817408951896289A9 -:10AD10007389841B950BA60BB70B8093C517909373 -:10AD2000C617A093C717B093C81740916F0C8091B6 -:10AD3000801790918117A0918217B09183175527A2 -:10AD400047FD5095652F752F840F951FA61FB71FC0 -:10AD50008093801790938117A0938217B0938317E5 -:10AD60004098E091CA17F091CB178091C11790914C -:10AD7000C217A091C317B091C41744815581668151 -:10AD80007781840F951FA61FB71F8093C1179093DB -:10AD9000C217A093C317B093C417181619061A0642 -:10ADA0001B06CCF5419AE091CA17F091CB17809120 -:10ADB000C1179091C217A091C317B091C4174089D1 -:10ADC000518962897389841B950BA60BB70B8093FD -:10ADD000C1179093C217A093C317B093C4174091A3 -:10ADE000700C8091841790918517A0918617B0916F -:10ADF0008717552747FD5095652F752F840F951F91 -:10AE0000A61FB71F8093841790938517A09386176A -:10AE1000B09387174198E091CA17F091CB178091B2 -:10AE2000BD179091BE17A091BF17B091C017408574 -:10AE3000518562857385840F951FA61FB71F809368 -:10AE4000BD179093BE17A093BF17B093C0171816E5 -:10AE500019061A061B06CCF5429AE091CA17F09122 -:10AE6000CB178091BD179091BE17A091BF17B091DD -:10AE7000C0174089518962897389841B950BA60B81 -:10AE8000B70B8093BD179093BE17A093BF17B093D5 -:10AE9000C0174091710C8091881790918917A091EB -:10AEA0008A17B0918B17552747FD5095652F752F41 -:10AEB000840F951FA61FB71F80938817909389173B -:10AEC000A0938A17B0938B174298E091CA17F0911C -:10AED000CB178091B9179091BA17A091BB17B09179 -:10AEE000BC174485558566857785840F951FA61FF9 -:10AEF000B71F8093B9179093BA17A093BB17B0935D -:10AF0000BC17181619061A061B06CCF5439AE091D1 -:10AF1000CA17F091CB178091B9179091BA17A091E9 -:10AF2000BB17B091BC174089518962897389841B12 -:10AF3000950BA60BB70B8093B9179093BA17A093F4 -:10AF4000BB17B093BC174091720C80918C179091F5 -:10AF50008D17A0918E17B0918F17552747FD5095EB -:10AF6000652F752F840F951FA61FB71F80938C1711 -:10AF700090938D17A0938E17B0938F17439880915D -:10AF8000B5179091B617A091B717B091B817019661 -:10AF9000A11DB11D8093B5179093B617A093B71755 -:10AFA000B093B8174091B5175091B6176091B71785 -:10AFB0007091B817E091CA17F091CB1780899189E9 -:10AFC000A289B389481759076A077B07B0F04091F7 -:10AFD000B5175091B6176091B7177091B817E091F7 -:10AFE000CA17F091CB1784899589A689B7898417E8 -:10AFF0009507A607B70718F4E6C02F5F36CE409135 -:10B00000B1175091B2176091B3177091B417048DB6 -:10B01000158D268D378DAA27419FB12D529FC001D6 -:10B02000629F900D619F800D911D429FB00D811D0B -:10B030009A1F519FB00D811D9A1F609FB00D811DF9 -:10B040009A1F509FB10D8A1F9A1FB6958A1F9A1F8B -:10B05000112444AD55AD480F591F5093AC17409380 -:10B06000AB1780AD91ADA2ADB3AD60E070E08417D9 -:10B070009507A607B70720F49093AC178093AB17FA -:10B080006091AB177091AC1761349CE9790728F493 -:10B0900061328EE4780748F002C060E47CE976957E -:10B0A00067957695679584E007C0613197E27907E7 -:10B0B00030F07695679582E08093AA1708C081E00A -:10B0C0008093AA176032710510F460E270E060525C -:10B0D0007109611588E07807E0F0872F9927880FBC -:10B0E000991F880F991F855C944AFC01329625911F -:10B0F0003491AA27639FA001629F410D5A1F0694B5 -:10B100004A1F5A1F1124FC0125913491241B350B31 -:10B110001EC0CB01969587958C7F855C984AFC0173 -:10B12000259134910296FC0145915491FB01E77001 -:10B13000FF274E9FC0014F9F900D5E9F900D1124E1 -:10B1400043E0969587954A95E1F7281B390B2436FD -:10B15000310500F5E0917B13F0E0EE0FFF1FE45E98 -:10B16000FD4F0190F081E02DE655FE4F0190F081FA -:10B17000E02D8191882339F09091C00095FFFCCF9C -:10B180008093C600F6CF4AE050E08BEF96E142D8BC -:10B1900024E630E030938900209388008091B11735 -:10B1A0009091B217A091B317B091B417820F931F6B -:10B1B000A11DB11D8093B1179093B217A093B3173F -:10B1C000B093B41704C14091B5175091B617609170 -:10B1D000B7177091B817808D918DA28DB38D84179C -:10B1E0009507A607B70708F0E6C04091AD17509144 -:10B1F000AE176091AF177091B017048D158D268D25 -:10B20000378DAA27419FB12D529FC001629F900D9B -:10B21000619F800D911D429FB00D811D9A1F519F0E -:10B22000B00D811D9A1F609FB00D811D9A1F509F08 -:10B23000B10D8A1F9A1FB6958A1F9A1F112420915B -:10B24000AB173091AC17E05CFF4F2817390718F4A3 -:10B250002081318102C0281B390B80819181A2811C -:10B26000B381A90160E070E0481759076A077B07BE -:10B2700008F49C0121349CE9390728F421328EE43A -:10B28000380748F002C020E43CE93695279536950A -:10B29000279584E007C0213197E2390730F03695D1 -:10B2A000279582E08093AA1708C081E08093AA17AF -:10B2B0002032310510F420E230E0B901605271090A -:10B2C000611588E07807E0F0872F9927880F991F8C -:10B2D000880F991F855C944AFC0132962591349120 -:10B2E000AA27639FA001629F410D5A1F06944A1F1F -:10B2F0005A1F1124FC0125913491241B350B1EC0CB -:10B30000CB01969587958C7F855C984AFC012591A9 -:10B3100034910296FC0145915491FB01E770FF279F -:10B320004E9FC0014F9F900D5E9F900D1124E3E052 -:10B3300096958795EA95E1F7281B390B2436310558 -:10B3400008F5E0917B13F0E0EE0FFF1FE45EFD4F88 -:10B350000190F081E02DE655FE4F0190F081E02D47 -:10B360008191882339F09091C00095FFFCCF8093A4 -:10B37000C600F6CF4AE050E08BEF96E10E940AD17A -:10B3800024E630E030938900209388008091AD1747 -:10B390009091AE17A091AF17B091B017820F931F85 -:10B3A000A11DB11D8093AD179093AE17A093AF1759 -:10B3B000B093B0170CC08091A8179091A9179093E3 -:10B3C0008900809388008091A6178093AA174091E6 -:10B3D000B5175091B6176091B7177091B817E091F3 -:10B3E000CA17F091CB1780899189A289B389481730 -:10B3F00059076A077B0780F01092CB171092CA1783 -:10B400009091CD178091CC17981731F08091CC177F -:10B410008F5F8F708093CC17FF91EF91BF91AF91A9 -:10B420009F918F917F916F915F914F913F912F915C -:10B430001F910F910F900BBE0F900FBE0F901F909A -:10B4400018959091CD178091CC17981741F00E94D4 -:10B45000174680E00E94DB700E9425A4F2CF089579 -:10B46000CF93DF93EFB7F894EC0188819981AA819B -:10B47000BB818093801790938117A0938217B0931C -:10B480008317EB0188819981AA81BB8180938417FE -:10B4900090938517A0938617B0938717EA01888148 -:10B4A0009981AA81BB818093881790938917A09373 -:10B4B0008A17B0938B17E90188819981AA81BB8192 -:10B4C00080938C1790938D17A0938E17B0938F173E -:10B4D000EFBFDF91CF9108952FB7F894FC018081E1 -:10B4E0009181A281B38180938C1790938D17A09343 -:10B4F0008E17B0938F172FBF08952FB7F89494E04D -:10B50000899FF0011124E058F84E60817181828199 -:10B5100093812FBF089595DF179A10924E13169AB4 -:10B5200010924F13159A10925013149A0895809107 -:10B530006F008D7F80936F009091CD178091CC1715 -:10B54000981769F09091CD178091CC179817A1F3B7 -:10B550008091CC178F5F8F708093CC17EDCF1092B6 -:10B56000CB171092CA1780916F00826080936F0092 -:10B570000895813039F120F0823009F445C00895F2 -:10B5800017988091090182702FB7662329F0F894EB -:10B5900090910B01926004C0F89490910B019D7FF3 -:10B5A00090930B012FBF409A40989FB7882329F0B2 -:10B5B000F89480910B01826048C0F89480910B014F -:10B5C0008D7F43C016988091090181702FB7662343 -:10B5D00029F0F89490910B01916004C0F894909137 -:10B5E0000B019E7F90930B012FBF419A41989FB70B -:10B5F000882329F0F89480910B01816026C0F8948B -:10B6000080910B018E7F21C0159880910901847073 -:10B610002FB7662329F0F89490910B01946004C031 -:10B62000F89490910B019B7F90930B012FBF429A4E -:10B6300042989FB7882329F0F89480910B01846089 -:10B6400004C0F89480910B018B7F80930B019FBF06 -:10B650000895EF92FF920F931F93CF93DF931F9262 -:10B66000CDB7DEB77B018C01061B170B460FC70158 -:10B67000800F911F49830F942703F70181937F0166 -:10B6800049814E13F4CF0F90DF91CF911F910F910D -:10B69000FF90EF900895DB0181110DC02FEF30E096 -:10B6A0000E945EFB20ED37E040E050E00E943CFB52 -:10B6B000B9018EE21DC0813069F42FEF30E00E94A5 -:10B6C0005EFB20ED37E040E050E00E943CFBB9011A -:10B6D0008DE20EC0823071F42FEF30E00E945EFBED -:10B6E00020ED37E040E050E00E943CFBB9018CE2E5 -:10B6F0000C949FEE089541E060E977E18FEF9FE0C1 -:10B70000A8DF61E08EE20E94A9EF61E08DE20E9475 -:10B71000A9EF61E08CE20E94A9EF8091901781115E -:10B7200015C08091740C9091750C9093810C80934E -:10B73000800C8091760C9091770C9093830C809381 -:10B74000820C8091780C9091790C14C080917A0CC5 -:10B7500090917B0C9093810C8093800C80917C0C59 -:10B7600090917D0C9093830C8093820C80917E0C41 -:10B7700090917F0C9093850C8093840C6091800C49 -:10B780007091810C80E087DF6091820C7091830C56 -:10B7900081E081DFA091840CB091850C2FEF30E027 -:10B7A0000E945EFB20ED37E040E050E00E943CFB51 -:10B7B000B9018CE20E949FEE80912101887F816017 -:10B7C000809321010895CF93C42F67FD20C081305D -:10B7D00061F028F0823079F0833099F018C088E267 -:10B7E0000E94E2EFC7FF1DC02AC085E40E94E2EF7D -:10B7F000C7FF1AC024C084E40E94E2EFC7FF17C04D -:10B800001EC081E40E94E2EFC7FF14C018C0C7FD4C -:10B8100016C0813049F028F0823049F0833051F071 -:10B820000EC06C2F89E208C06C2F87E205C06C2F18 -:10B8300083E402C06C2F82E4CF910C94E2EFCF91AD -:10B840000895643079F028F4613041F0623041F0BD -:10B850000895683051F0603141F0089540E003C030 -:10B8600040E004C041E060E002C041E061E0ABCFF5 -:10B87000FF920F931F93CF93DF9300D01F921F92DD -:10B88000CDB7DEB785E0EBE0FDE0DE01119601907B -:10B890000D928A95E1F761E088E20E94A9EF61E0EC -:10B8A00089E20E94A9EF61E085E40E94A9EF61E0CE -:10B8B00087E20E94A9EF61E084E40E94A9EF61E0C1 -:10B8C00083E40E94A9EF61E081E40E94A9EF61E0B6 -:10B8D00082E40E94A9EF8E010F5F1F4FF12CF80147 -:10B8E00061918F018F2DADDFF394F5E0FF12F7CF5B -:10B8F0000F900F900F900F900F90DF91CF911F91AD -:10B900000F91FF900895F7DEB3DFEAE0F1E0808168 -:10B910008260808380818160808380818460808375 -:10B920008081806480830F9A179A0E9A169A0D9AD6 -:10B93000159A0C9A149A26982E9A25982D9A24983E -:10B940002C9A0A98129A0998119A3F98479A389A0D -:10B950004098179A10924E13399A4198169A10925D -:10B960004F133A9A4298159A109250133B9A439863 -:10B97000149AA1E8B0E08C918F7E8C938C918860B2 -:10B980008C93E0E8F0E080818D7F808380818E7FE2 -:10B99000808380818F73808380818F7C80838C9172 -:10B9A000887F82608C9380E090E4909389008093FC -:10B9B00088001092850010928400EFE6F0E080810C -:10B9C0008260808381E08093730C78940895EBE12A -:10B9D000F7E58491882341F09091C00095FFFCCF5A -:10B9E0008093C6003196F5CFE7E1F7E5849188238F -:10B9F00041F09091C00095FFFCCF8093C600319636 -:10BA0000F5CF88E20E9417F04AE050E0BC018BEFCE -:10BA100096E10E94CDD089E20E9417F04AE050E002 -:10BA2000BC018BEF96E10E94CDD08091C00085FFD4 -:10BA3000FCCF8AE08093C600E3E1F7E58491882398 -:10BA400041F09091C00095FFFCCF8093C6003196E5 -:10BA5000F5CF85E40E9417F04AE050E0BC018BEF7F -:10BA600096E10E94CDD087E20E9417F04AE050E0B4 -:10BA7000BC018BEF96E10E94CDD08091C00085FF84 -:10BA8000FCCF8AE08093C600EFE0F7E5849188233D -:10BA900041F09091C00095FFFCCF8093C600319695 -:10BAA000F5CF84E40E9417F04AE050E0BC018BEF30 -:10BAB00096E10E94CDD083E40E9417F04AE050E066 -:10BAC000BC018BEF96E10E94CDD08091C00085FF34 -:10BAD000FCCF8AE08093C600EAE0F7E584918823F2 -:10BAE00041F09091C00095FFFCCF8093C600319645 -:10BAF000F5CF81E40E9417F04AE050E0BC018BEFE3 -:10BB000096E10E94CDD082E40E9417F04AE050E016 -:10BB1000BC018BEF96E10E94CDD08091C00085FFE3 -:10BB2000FCCF8AE08093C6000895CF93DF931F92E5 -:10BB3000CDB7DEB72091171E3091181ECE010196A9 -:10BB40002115310519F0821B930B02C08D519E41C6 -:10BB50000F90DF91CF9108952F923F924F925F9275 -:10BB60006F927F928F929F92AF92BF92CF92DF920D -:10BB7000EF92FF920F931F93CF93DF93CDB7DEB772 -:10BB800068970FB6F894DEBF0FBECDBF1C012A0127 -:10BB90003B0148015901DC01D8966D917D918D9151 -:10BBA0009C91DB970E94DCF76B017C01A301920161 -:10BBB0000E9411FA0E9429F70E94B0F769877A87DC -:10BBC0008B879C87A5019401C701B6010E9411FAD9 -:10BBD0000E9429F70E94B0F76D877E878F87988B28 -:10BBE00029853A854B855C85283731054105510506 -:10BBF00040F488E790E0A0E0B0E089879A87AB87BF -:10BC0000BC872D853E854F855889283731054105EC -:10BC1000510540F488E790E0A0E0B0E08D879E8772 -:10BC2000AF87B88B91012C5B3F4FD9018D919D91CE -:10BC30000D90BC91A02D8D839E83AF83B887BC01EE -:10BC4000CD010E94DEF769837A838B839C836985AB -:10BC50007A858B859C850E94DCF7698B7A8B8B8B30 -:10BC60009C8B20E030E0A90169817A818B819C81E5 -:10BC70000E943CF7882339F1A7019601C701B6015C -:10BC80000E9411FA4B015C0129893A894B895C8930 -:10BC9000CA01B9010E9411FA9B01AC01C501B401AE -:10BCA0000E9462F64B015C0129813A814B815C81E3 -:10BCB000CA01B9010E9463F69B01AC01C501B40140 -:10BCC0000E9443F703C060E070E0CB010E9429F7B7 -:10BCD0000E94ABF72B013C016D817E818F8198859D -:10BCE00090958095709561957F4F8F4F9F4F0E94E3 -:10BCF000DEF74B015C016D857E858F8598890E94FA -:10BD0000DCF76D837E838F83988720E030E0A90184 -:10BD1000C501B4010E943CF7882349F12D813E8181 -:10BD20004F815885CA01B9010E9411FA6D8B7E8B33 -:10BD30008F8B988FA7019601C701B6010E9411FA57 -:10BD40009B01AC016D897E898F89988D0E9462F676 -:10BD50006B017C01A5019401C501B4010E9463F649 -:10BD60009B01AC01C701B6010E9443F703C060E02C -:10BD700070E0CB010E9419F8F10180889188A288B7 -:10BD8000B38875016401C418D508E608F7080E9455 -:10BD9000ABF7C61AD70AE80AF90AF7FE6BC020E02B -:10BDA00030E0A90169817A818B819C810E943CF7F6 -:10BDB000882309F447C029813A814B815C81CA01FB -:10BDC000B9010E9463F66B017C01C501B4010E94B8 -:10BDD000DCF79B01AC01C701B6010E9411FA6B01AF -:10BDE0007C0129893A894B895C89CA01B9010E9481 -:10BDF00011FA9B01AC01C701B6010E9462F66B010A -:10BE00007C012D813E814F815885CA01B9010E9474 -:10BE100011FA9B01AC01C701B6010E9463F66B01E8 -:10BE20007C0120E030E040E850E469817A818B8138 -:10BE30009C810E9411FA9B01AC01C701B6010E94CE -:10BE400043F703C060E070E0CB010E9429F70E9435 -:10BE5000ABF72B013C0197FF03C0412C512C320161 -:10BE6000481459046A047B0410F024013501C12CE4 -:10BE7000D12C76018FB7F894F101E45BFF4F9081EC -:10BE8000911125C0D10154964D925D926D927C9294 -:10BE90005797C40CD51CE61CF71CF101C08ED18E3F -:10BEA000E28EF38E29853A854B855C85DC962D9351 -:10BEB0003D934D935C93DF97A05CBF4F2D853E85EE -:10BEC0004F8558892D933D934D935C9313978FBF66 -:10BED00068960FB6F894DEBF0FBECDBFDF91CF914D -:10BEE0001F910F91FF90EF90DF90CF90BF90AF9098 -:10BEF0009F908F907F906F905F904F903F902F908A -:10BF000008954F925F926F927F92AF92BF92CF92BD -:10BF1000DF92EF92FF920F931F93CF93DF93EB018A -:10BF20007A01209709F458C04115510509F454C00D -:10BF3000AAA4BBA40CA51DA59501A8016EA17FA173 -:10BF400088A599A50E943CF7882309F445C08FA9CC -:10BF500081113AC0F70146A057A060A471A4A301C3 -:10BF60009201B501C8010E943FF918166CF5A301B2 -:10BF70009201C301B2010E9411FA6B017C018AA9EE -:10BF80009BA9ACA9BDA9BC01CD0190589B01AC01F6 -:10BF90000E9463F62EA53FA548A959A90E9411FA4F -:10BFA0009B01AC01C701B6010E9462F60E947EFAB5 -:10BFB0006B017C019B01AC01B501C8010E943CF7FB -:10BFC00087FD02C056018701A501B8014EA35FA3FA -:10BFD00068A779A781E08EABDF91CF911F910F9178 -:10BFE000FF90EF90DF90CF90BF90AF907F906F90D9 -:10BFF0005F904F900895DF92EF92FF920F931F93FF -:10C00000CF93DF938091CD178FB7F894E090CC1742 -:10C010008FBF8091CD1790E08E1991098F7099276D -:10C020000497F4F01091CD1713501F7040E050E0CA -:10C0300000E0F12C8DE4D82E1E1591F0111101C0F5 -:10C0400010E11150D19EE0011124C253D84E602F4F -:10C050007F2DCE0156DF402F5F2D0C2FFD2EECCF14 -:10C06000DF91CF911F910F91FF90EF90DF90089596 -:10C070004F925F926F927F92AF92BF92CF92DF9278 -:10C08000EF92FF920F931F93CF93DF938C01EB01FD -:10C09000009709F453C0FC0187A981114FC046A045 -:10C0A00057A060A471A4AEA0BFA0C8A4D9A4950154 -:10C0B000A601C301B2010E943CF787FF3FC0A30164 -:10C0C0009201C301B2010E9411FA2B013C01F80157 -:10C0D00082A993A9A4A9B5A9BC01CD0190589B013F -:10C0E000AC010E9463F6F80126A537A540A951A925 -:10C0F0000E9411FA9B01AC01C301B2010E9462F6D9 -:10C100000E947EFA7B018C019B01AC01B501C60146 -:10C110000E943CF787FF02C0750186019701A801C4 -:10C12000B501C6010E943CF7882341F0A701B80180 -:10C130004EA35FA368A779A781E08EABDF91CF9173 -:10C140001F910F91FF90EF90DF90CF90BF90AF9035 -:10C150007F906F905F904F900895EF92FF920F93B2 -:10C160001F93CF93DF93F090CC1700E010E080E0B6 -:10C1700090E02DE4E22E2091CD17F21689F0EF9C8D -:10C18000E0011124C253D84EAE01B80171DF81E045 -:10C190008F0D803109F480E0F82EC8018E01EBCFBD -:10C1A00040E050E0B801DF91CF911F910F91FF90D7 -:10C1B000EF905ECF4F925F926F927F928F929F929D -:10C1C000AF92BF92CF92DF92EF92FF920F931F93A5 -:10C1D000CF93DF939090CC17C0E0D0E03DE4832E66 -:10C1E000892D992787FD90952091CD1730E08217F2 -:10C1F0009307B9F1889E5001899EB00C1124C501A6 -:10C200008253984E5C01209729F18EA9811104C0B8 -:10C21000F50186A98823F1F0CAA0DBA0ECA0FDA05F -:10C22000A7019601F50166A177A180A591A50E94BD -:10C2300043F72B013C01A70196016EA17FA188A5C0 -:10C2400099A50E9443F7AB01BC0193018201CE0185 -:10C2500083DC1EAA9394F0E19F1201C0912CE501AA -:10C26000BFCF2097E9F0CAA0DBA0ECA0FDA0A701FA -:10C2700096016DEC7CEC8CE49DE30E9443F74B014E -:10C280005C01A70196016EA17FA188A599A50E94D6 -:10C2900043F7AB01BC0195018401CE015DDC1EAA10 -:10C2A000DF91CF911F910F91FF90EF90DF90CF9092 -:10C2B000BF90AF909F908F907F906F905F904F90C6 -:10C2C000089599DE4ADF76CF1092CD171092CC17E1 -:10C2D00080E1E5EBFCE1DF011D928A95E9F7109220 -:10C2E000A51C1092A61C1092A71C1092A81C1092BC -:10C2F000A91C1092AA1C1092AB1C1092AC1C10929C -:10C30000AD1C1092AE1C1092AF1C1092B01C10927B -:10C31000B11C1092B21C1092B31C1092B41C10925B -:10C32000A11C1092A21C1092A31C1092A41C089590 -:10C33000609147139091CC178091CD17981781F099 -:10C340008091CC179DE4899FF0011124EA5EF74E9D -:10C3500060819091CD17891719F08F5F8F70F9CF99 -:10C3600070E086E00C949FEE2F923F924F925F9286 -:10C370006F927F928F929F92AF92BF92CF92DF92F5 -:10C38000EF92FF920F931F93CF93DF93CDB7DEB75A -:10C39000CC56D1090FB6F894DEBF0FBECDBF3C011D -:10C3A0005B014A012901E8A6F8AE25960FAF259753 -:10C3B0001CAF86012091CD172F5F29962FAF2997AB -:10C3C000203119F429961FAE299729963FAD299758 -:10C3D000E32EFF24E7FCF0948091CC1790E08E15BB -:10C3E0009F0541F40E94174680E00E94DB700E9486 -:10C3F00025A4F2CF2091011D3091021D4091031D13 -:10C400005091041DD3016D917D918D919C910E945D -:10C4100011FA0E94E1F969966CAF7DAF8EAF9FAFC4 -:10C4200069972091051D3091061D4091071D50917F -:10C43000081DF50160817181828193810E9411FA4A -:10C440000E94E1F96D966CAF7DAF8EAF9FAF6D9797 -:10C450002091091D30910A1D40910B1D50910C1D1A -:10C46000D4016D917D918D919C910E9411FA0E9451 -:10C47000E1F9A1966CAF7DAF8EAF9FAFA1972091F0 -:10C480000D1D30910E1D40910F1D5091101DF20198 -:10C4900060817181828193810E9411FA0E94E1F989 -:10C4A00024966CAF7DAF8EAF9FAF24978091C11C57 -:10C4B0009091C21CA091C31CB091C41C24962CADB9 -:10C4C0003DAD4EAD5FAD2497281739074A075B078E -:10C4D00009F4C8C0E091491334E0E39FF00111244E -:10C4E000E85FFE4E2091860C3091870C4091880CBD -:10C4F0005091890C60817181828193810E943CF707 -:10C5000087FF3CC024968CAD9DADAEADBFAD2497EA -:10C510008093C11C9093C21CA093C31CB093C41CF5 -:10C52000E1E9F2E58491882341F09091C00095FF04 -:10C53000FCCF8093C6003196F5CFE0917B13F0E0FD -:10C54000EE0FFF1FE45EFD4F0190F081E02DE255FC -:10C55000FE4F0190F081E02D8491882341F090916D -:10C56000C00095FFFCCF8093C6003196F5CF809137 -:10C57000C00085FFFCCF8AE08093C6008091C11C7B -:10C580009091C21CA091C31CB091C41C24962CADE8 -:10C590003DAD4EAD5FAD2497281B390B4A0B5B0BAD -:10C5A000CA01B90157FF07C09095809570956195B4 -:10C5B0007F4F8F4F9F4F0E94DEF76B017C0120E081 -:10C5C00030E04EEC53E460910D1D70910E1D809192 -:10C5D0000F1D9091101D0E9411FA9B01AC01C70123 -:10C5E000B6010E943FF918160CF03CC024968CADA1 -:10C5F0009DADAEADBFAD24978093C11C9093C21C7E -:10C60000A093C31CB093C41CE1E9F2E58491882394 -:10C6100041F09091C00095FFFCCF8093C600319609 -:10C62000F5CFE0917B13F0E0EE0FFF1FE45EFD4FCE -:10C630000190F081E02DE055FE4F0190F081E02D5A -:10C640008491882341F09091C00095FFFCCF8093A6 -:10C65000C6003196F5CF8091C00085FFFCCF8AE0FF -:10C660008093C6008091CD179DE4899F100111240D -:10C67000D101A253B84E1D01FD01E45BFF4F1082B2 -:10C680002091B51C3091B61C4091B71C5091B81C3C -:10C690002BA33CA34DA35EA369964CAC5DAC6EACE2 -:10C6A0007FAC6997421A530A640A750A77FE08C07C -:10C6B0007094609450944094411C511C611C711CF6 -:10C6C000D1014D925D926D927C9213972091B91C8D -:10C6D0003091BA1C4091BB1C5091BC1C2CAB3DABA3 -:10C6E0004EAB5FAB6D968CAC9DACAEACBFAC6D97FA -:10C6F000821A930AA40AB50AB7FE08C0B094A0949F -:10C7000090948094811C911CA11CB11CD1011496A1 -:10C710008D929D92AD92BC9217972091BD1C309145 -:10C72000BE1C4091BF1C5091C01C2CA73DA74EA71A -:10C730005FA7A196CCACDDACEEACFFACA197C21A62 -:10C74000D30AE40AF50AF7FE08C0F094E094D09406 -:10C75000C094C11CD11CE11CF11CD1011896CD92D2 -:10C76000DD92ED92FC921B972091C11C3091C21C6E -:10C770004091C31C5091C41C28AB39AB4AAB5BAB96 -:10C7800024966CAD7DAD8EAD9FAD2497621B730B6F -:10C79000840B950B97FF07C09095809570956195D8 -:10C7A0007F4F8F4F9F4F0E94DEF7E091491334E097 -:10C7B000E39FF0011124E55CF34F20813181428138 -:10C7C00053810E9411FA0E94ABF79B01AC01A0912A -:10C7D000470CB091480C0E946EFB24E630E040E02C -:10C7E00050E00E943CFBD1011C962D933D934D934C -:10C7F0005C931F97C814D904EA04FB0414F4750170 -:10C800006401C216D306E406F50614F469017A0140 -:10C81000D301C2014C145D046E047F0414F4D701EB -:10C82000C601F101808B918BA28BB38B0697A1057A -:10C83000B10508F461C7E85BFF4F80914713909101 -:10C840004813AA2797FDA095BA2F80839183A283CE -:10C85000B38369962CAD3DAD4EAD5FAD69978BA1AD -:10C860009CA1ADA1BEA1281739074A075B0724F098 -:10C87000D10190961C9203C081E0F10180A36D96D6 -:10C880002CAD3DAD4EAD5FAD6D978CA99DA9AEA908 -:10C89000BFA9281739074A075B073CF4D1019096D6 -:10C8A0008C919097826090968C93A1962CAD3DAD23 -:10C8B0004EAD5FADA1978CA59DA5AEA5BFA52817D0 -:10C8C00039074A075B073CF4D10190968C91909709 -:10C8D000846090968C9324962CAD3DAD4EAD5FADAB -:10C8E000249788A999A9AAA9BBA9281739074A0793 -:10C8F0005B073CF4D10190968C919097886090965C -:10C900008C93F8018081D10191968C93452846281B -:10C91000472809F01798F10184819581A681B78194 -:10C92000892B8A2B8B2B09F01698F1018085918534 -:10C93000A285B385892B8A2B8B2B09F01598F101E1 -:10C9400084859585A685B785892B8A2B8B2B69F1E4 -:10C9500080919E1C882319F0815080939E1C8091A9 -:10C960009F1C882319F0815080939F1C8091A01CEC -:10C97000882319F081508093A01CD8018C918130BC -:10C9800061F030F0823089F480E28093A01C08C00E -:10C99000149880E280939E1C08C080E280939F1CC4 -:10C9A00080919E1C811101C0149AD1011C962D9179 -:10C9B0003D914D915C911F972D962CAF3DAF4EAFA1 -:10C9C0005FAF2D97232B242B252B09F5B091D51C78 -:10C9D000BBA3E091D61CEFA31091D71C0091D81CEB -:10C9E0002B2F3E2F412F502F68A578AD25968FAD68 -:10C9F00025979CAD0E943CF787FD16C0F8A5FBA3C8 -:10CA000028AD2FA325961FAD25970CAD0DC03091F5 -:10CA1000ED1C3BA34091EE1C4FA31091EF1C009125 -:10CA2000F01C232F342FDECF8091B51C9091B61CC3 -:10CA3000A091B71CB091B81C69962CAD3DAD4EAD20 -:10CA40005FAD6997281B390B4A0B5B0BCA01B90113 -:10CA50000E94DEF72091011D3091021D4091031DBF -:10CA60005091041D0E9443F768A779A78AA79BA746 -:10CA7000698B7A8B8B8B9C8B6D966CAD7DAD8EADFF -:10CA80009FAD6D972CA93DA94EA95FA9621B730BA1 -:10CA9000840B950B0E94DEF72091051D3091061D39 -:10CAA0004091071D5091081D0E9443F74B015C0106 -:10CAB0006D8B7E8B8F8B988FA1966CAD7DAD8EAD7F -:10CAC0009FADA1972CA53DA54EA55FA5621B730B3D -:10CAD000840B950B0E94DEF72091091D30910A1DF1 -:10CAE00040910B1D50910C1D0E9443F76B017C017E -:10CAF000698F7A8F8B8F9C8F24966CAD7DAD8EADB8 -:10CB00009FAD249728A939A94AA95BA9621B730B79 -:10CB1000840B950B0E94DEF720910D1D30910E1DA8 -:10CB200040910F1D5091101D0E9443F7E091491351 -:10CB300034E0E39FF0011124E55CF34F2081318163 -:10CB4000428153810E9411FA2B013C016091470CF4 -:10CB50007091480C882777FD8095982F0E94DEF70A -:10CB60009B01AC01C301B2010E9411FA20E030E048 -:10CB700048EC52E40E9443F76D8F7E8F8F8F98A30D -:10CB8000D1012D913D914D915C91139728AF39AF13 -:10CB90004AAF5BAF263031054105510504F51496C7 -:10CBA0004D905D906D907C901797B6E04B165104B8 -:10CBB00061047104A4F4F10140845184628473849B -:10CBC000F6E04F165104610471044CF4DC01CB0112 -:10CBD000BF77F10186A797A7A0ABB1AB27C068A527 -:10CBE00079A58AA59BA50E94BCFA2B013C01C50131 -:10CBF000B4010E94BCFA9B01AC01C301B2010E94C6 -:10CC000063F64B015C01C701B6010E94BCFA9B01AF -:10CC1000AC01C501B4010E9463F60E947EFAD10105 -:10CC20009E966D937D938D939C93D197D1019E9603 -:10CC30002D913D914D915C91D19728962CAF3DAFB0 -:10CC40004EAF5FAF289760E070E080E89FE30E94FE -:10CC500043F79B01AC016BA17FA1812F902F0E9414 -:10CC600011FA2B013C019091CD178091CC17E92F3F -:10CC7000F0E0E81BF109EF70FF27FDABECABA3017F -:10CC8000920160E074E284E799E40E9443F70E9415 -:10CC9000E1F96B017C012CA93DA9223031050CF48E -:10CCA00042C04901AA2497FCA094BA2CC501B40142 -:10CCB0000E94DEF720E030E040E051E40E943CF7C3 -:10CCC00087FF31C08091211D9091221DA091231DCD -:10CCD000B091241DC816D906EA06FB0620F5BC0152 -:10CCE000CD016C197D098E099F09660F771F881F7A -:10CCF000991FA50194010E941AFBCA01B9010E9463 -:10CD0000DCF70E94E1F96C0D7D1D8E1D9F1D0E94B8 -:10CD1000DCF79B01AC0160E074E284E799E40E94D7 -:10CD200043F72B013C01A301920128966CAD7DAD28 -:10CD30008EAD9FAD28970E9411FA6CAF7DAF8EAF7C -:10CD40009FAFD10192966D937D938D939C93959710 -:10CD500050966D917D918D919C9153970E94DCF737 -:10CD60006BA37CA38DA39EA3A30192010E9411FA41 -:10CD70000E9429F70E94B0F76B017C01F10160AFBE -:10CD800071AF82AF93AF8E010F5E1F4F21E13DE186 -:10CD900065963FAF2EAF6597AE014F5D5F4F5AA3CB -:10CDA00049A3CE01019663969FAF8EAF63971FA2F2 -:10CDB0001CA690E898ABAFE3A8A7F8016191719128 -:10CDC000819191918F01A30192010E9411FA6396C2 -:10CDD000AEADBFAD63976D937D938D939D93639639 -:10CDE000BFAFAEAF63979B01AC015F7761962CAF8D -:10CDF0003DAF4EAF5FAF61976596AEADBFAD659786 -:10CE00008D909D90AD90BD906596BFAFAEAF65978C -:10CE1000A501940161966CAD7DAD8EAD9FAD61971E -:10CE20000E943FF91816F4F461962CAD3DAD4EAD5D -:10CE30005FAD6197C501B4010E9443F7B62EA72EDE -:10CE4000982E892E262F372F482F592F6FA17CA57A -:10CE500088A998A50E943CF787FD04C0BFA2ACA694 -:10CE600098AA88A6E9A1FAA10E171F0709F0A5CF75 -:10CE700020E030E040E85FE36FA17CA588A998A599 -:10CE80000E943CF787FF3DC05E01F1E1AF0EB11C8F -:10CE90008E010F5F1F4F2FA13CA548A958A5D801AF -:10CEA0006D917D918D919C910E9411FAF801619391 -:10CEB0007193819391938F01EA15FB0561F72FA17F -:10CEC0003CA548A958A56CAD7DAD8EAD9FAD0E9427 -:10CED00011FAD10192966D937D938D939C939597C2 -:10CEE000C701B6010E94DCF72FA13CA548A958A5AF -:10CEF0000E9411FA0E94B0F7F10160AF71AF82AFEA -:10CF000093AF28962CAD3DAD4EAD5FAD28976BA18C -:10CF10007CA18DA19EA10E9443F76B017C0128ADED -:10CF200039AD4AAD5BAD232B242B252B59F5F101EF -:10CF300084819581A681B781892B8A2B8B2B11F552 -:10CF400080859185A285B385892B8A2B8B2BD1F483 -:10CF50002091E51C3091E61C4091E71C5091E81CA3 -:10CF6000C701B6010E9411FA0E9429F781010C5BEA -:10CF70001F4F0E94B0F7D8016D937D938D939C93C2 -:10CF80001397F6C02091E91C3091EA1C4091EB1CEC -:10CF90005091EC1CC701B6010E9411FA0E9429F7BA -:10CFA0000E94B0F781010C5B1F4FF8016083718311 -:10CFB000828393834090C51C5090C61C6090C71C10 -:10CFC0007090C81C0E94DCF74B015C0168AD79AD24 -:10CFD0008AAD9BAD0E94DEF79B01AC01C501B40197 -:10CFE0000E9411FA2BA13CA14DA15EA10E9443F722 -:10CFF0004B015C01C301B2010E94DCF79B01AC0153 -:10D00000C501B4010E943FF9181634F4D8014D92BD -:10D010005D926D927C9213974090C91C5090CA1CEF -:10D020006090CB1C7090CC1CF80160817181828172 -:10D0300093810E94DCF74B015C01D10114966D9144 -:10D040007D918D919C9117970E94DEF79B01AC0119 -:10D05000C501B4010E9411FA2BA13CA14DA15EA112 -:10D060000E9443F74B015C01C301B2010E94DCF74F -:10D070009B01AC01C501B4010E943FF918162CF4C4 -:10D08000F80140825182628273824090D11C50909C -:10D09000D21C6090D31C7090D41C81010C5B1F4F7C -:10D0A000D8016D917D918D919C910E94DCF74B018F -:10D0B0005C012D966CAD7DAD8EAD9FAD2D970E9420 -:10D0C000DEF79B01AC01C501B4010E9411FA2BA14E -:10D0D0003CA14DA15EA10E9443F74B015C01C3013D -:10D0E000B2010E94DCF79B01AC01C501B4010E94B2 -:10D0F0003FF918162CF4F801408251826282738243 -:10D100004090CD1C5090CE1C6090CF1C7090D01CD5 -:10D11000D8016D917D918D919C910E94DCF74B011E -:10D120005C01F10160857185828593850E94DEF73F -:10D130009B01AC01C501B4010E9411FA2BA13CA1D5 -:10D140004DA15EA10E9443F74B015C01C301B201F6 -:10D150000E94DCF79B01AC01C501B4010E943FF9BC -:10D16000181634F4D8014D925D926D927C9213970B -:10D17000F101EC5BFF4F60817181828193810E949C -:10D18000DCF74B015C01A70196010E9443F7A596CD -:10D190006CAF7DAF8EAF9FAFA597F10162AB73AB64 -:10D1A00084AB95AB2DEB37E346E051E4C501B40108 -:10D1B0000E9411FA0E94ABF7D1015C966D937D93AA -:10D1C0008D939C935F97C090E11CD090E21CE090FF -:10D1D000E31CF090E41C20E030E040E05FE3C70196 -:10D1E000B6010E9411FA6BA37FA38C0129853A85B1 -:10D1F0004B855C85A9962CAF3DAF4EAF5FAFA9972D -:10D200008091DD1C9091DE1CA091DF1CB091E01C90 -:10D210008CAF9DAFAEAFBFAF20E030E040E05FE34A -:10D22000BC01CD010E9411FAB62EA72E982E892E90 -:10D23000A9966CAD7DAD8EAD9FADA9979F772B2D37 -:10D240003A2D492D582D0E943FF918167CF42B2DAC -:10D250003A2D492D582D6BA17FA1C8010E943CF7A2 -:10D2600087FD04C0BBA2AFA2092D182D2D853E85D8 -:10D270004F855889AD962CAF3DAF4EAF5FAFAD97A0 -:10D280008091D91C9091DA1CA091DB1CB091DC1C20 -:10D290002D968CAF9DAFAEAFBFAF2D9720E030E0A5 -:10D2A00040E05FE3BC01CD010E9411FAB62EA72E2B -:10D2B000982E892EAD966CAD7DAD8EAD9FADAD97A0 -:10D2C0009F772B2D3A2D492D582D0E943FF9181686 -:10D2D0007CF42B2D3A2D492D582D6BA17FA1C8012F -:10D2E0000E943CF787FD04C0BBA2AFA2092D182DF8 -:10D2F000D1019296BC91BCA7F101F3A1F8ABD10189 -:10D300009496BC91B8A7F101F5A1F8AF2CA538A966 -:10D310004B2F5F2F6BA17FA1C8010E943CF787FDB7 -:10D3200006C02CA52BA338A93FA308A518AD4CA96E -:10D330005DA9423051050CF405C15091A11C5CABB4 -:10D340008091A21C2E968FAF2E979091A31C62966F -:10D350009FAF6297A091A41C6496AFAF649727E13A -:10D3600037EB41ED58E36CA9782F892F9A2F0E9453 -:10D370003FF918160CF0E6C02091A51C3091A61CB0 -:10D380004091A71C5091A81C69817A818B819C8156 -:10D390000E9462F62B013C012091A91C3091AA1C2D -:10D3A0004091AB1C5091AC1C6D817E818F81988522 -:10D3B0000E9462F64B015C01A3019201C301B2011C -:10D3C0000E9411FA2B013C01A5019401C501B40191 -:10D3D0000E9411FA9B01AC01C301B2010E9463F6E5 -:10D3E0000E947EFA4B015C01A70196010E943FF961 -:10D3F00018164CF4A5019401C701B6010E9443F729 -:10D400005B014C0106C0A12CB12C40E8842E5FE3E7 -:10D41000952E2091AD1C3091AE1C4091AF1C5091C7 -:10D42000B01CA9966CAD7DAD8EAD9FADA9970E9445 -:10D4300062F66B017C01E894F7F82CAD3DAD4EAD82 -:10D440005FADC701B6010E943FF91816D4F4A701D9 -:10D4500096016CAD7DAD8EAD9FAD0E9443F7F62E6B -:10D46000E72ED82EC92E262F372F482F592FB5013A -:10D47000C4010E943CF787FD04C0AF2CBE2C8D2C4C -:10D480009C2C2091B11C3091B21C4091B31C509146 -:10D49000B41CAD966CAD7DAD8EAD9FADAD970E94C9 -:10D4A00062F66B017C01E894F7F82D962CAD3DAD4A -:10D4B0004EAD5FAD2D97C701B6010E943FF918161A -:10D4C000E4F4A70196012D966CAD7DAD8EAD9FADB8 -:10D4D0002D970E9443F7F62EE72ED82EC92E262F21 -:10D4E000372F482F592FB501C4010E943CF787FD03 -:10D4F00004C0AF2CBE2C8D2C9C2C9501A4016CA5D6 -:10D5000078A988A598AD0E9411FA4B015C019B0196 -:10D51000AC016CA92E967FAD2E9762968FAD629767 -:10D5200064969FAD64970E943CF787FF0EC08CA85D -:10D530002E969FAC2E976296AFAC62976496BFAC66 -:10D54000649703C08BA09FA05801C401D501F101CD -:10D5500082A793A7A4A7B5A7A5966CAD7DAD8EAD08 -:10D560009FADA59790589B01AC010E9463F6289649 -:10D570002CAD3DAD4EAD5FAD28970E9411FA9B01D9 -:10D58000AC016BE077ED83E29BE30E9462F60E94C0 -:10D590007EFA7B01D82EC92E9B01482F592FB4014A -:10D5A000C5010E943CF787FD03C04701AD2CBC2C90 -:10D5B000C401D501F10186A397A3A0A7B1A7970144 -:10D5C0004D2D5C2D6CA578A988A598AD0E943CF7DF -:10D5D00018162CF081E0D101D7968C9302C0F1018E -:10D5E00017AA81E0D101D6968C9380E1FE01319695 -:10D5F000A5EABCE101900D928A95E1F78CA598A966 -:10D60000A8A5B8AD8093A11C9093A21CA093A31CC5 -:10D61000B093A41C9C01AD016BA17FA1C8010E9425 -:10D6200043F76B017C012CA538A948A558ADB4017E -:10D63000C5010E9443F7AB01BC0197018601C101FE -:10D640000E94ACDD2996BFAD2997B093CD1769969E -:10D650002CAD3DAD4EAD5FAD69972093B51C3093B9 -:10D66000B61C4093B71C5093B81C6D968CAD9DAD05 -:10D67000AEADBFAD6D978093B91C9093BA1CA093CB -:10D68000BB1CB093BC1CA1962CAD3DAD4EAD5FADA7 -:10D69000A1972093BD1C3093BE1C4093BF1C509398 -:10D6A000C01C24968CAD9DADAEADBFAD24978093CC -:10D6B000C11C9093C21CA093C31CB093C41C0E94B5 -:10D6C00061E1C459DF4F0FB6F894DEBF0FBECDBF86 -:10D6D000DF91CF911F910F91FF90EF90DF90CF904E -:10D6E000BF90AF909F908F907F906F905F904F9082 -:10D6F0003F902F900C94A4D2C459DF4F0FB6F894EA -:10D70000DEBF0FBECDBFDF91CF911F910F91FF9074 -:10D71000EF90DF90CF90BF90AF909F908F907F90D1 -:10D720006F905F904F903F902F900895EF92FF92EF -:10D730000F931F93CF93DF937B018A01E90120911F -:10D74000011D3091021D4091031D5091041DFC01EB -:10D7500060817181828193810E9411FA0E94E1F9B6 -:10D760006093B51C7093B61C8093B71C9093B81C43 -:10D770002091051D3091061D4091071D5091081DF7 -:10D78000F70160817181828193810E9411FA0E9468 -:10D79000E1F96093B91C7093BA1C8093BB1C909301 -:10D7A000BC1C2091091D30910A1D40910B1D509108 -:10D7B0000C1DF80160817181828193810E9411FAB0 -:10D7C0000E94E1F96093BD1C7093BE1C8093BF1C46 -:10D7D0009093C01C20910D1D30910E1D40910F1D86 -:10D7E0005091101D688179818A819B810E9411FA74 -:10D7F0000E94E1F96093C11C7093C21C8093C31C0A -:10D800009093C41C21EC3CE14DEB5CE169EB7CE1C5 -:10D8100085EB9CE10E9430DA1092A11C1092A21CB0 -:10D820001092A31C1092A41C1092A51C1092A61C6E -:10D830001092A71C1092A81C1092A91C1092AA1C4E -:10D840001092AB1C1092AC1C1092AD1C1092AE1C2E -:10D850001092AF1C1092B01C1092B11C1092B21C0E -:10D860001092B31C1092B41CDF91CF911F910F91B5 -:10D87000FF90EF90089520910D1D30910E1D409165 -:10D880000F1D5091101DFC01608171818281938177 -:10D890000E9411FA0E94E1F96093C11C7093C21CAE -:10D8A0008093C31C9093C41C81EC9CE10C946CDAB3 -:10D8B0008091CD179091CC17891B8F70089560933C -:10D8C000860C7093870C8093880C9093890C089534 -:10D8D000CF92DF92EF92FF920F931F93CF93DF933C -:10D8E00000D01F92CDB7DEB711EFC12E1CE1D12EB3 -:10D8F00001E0E02E0DE1F02E05EC1CE1F601619156 -:10D900007191819191916F01F70121913191419133 -:10D9100051917F0129833A834B835C830E94DCF71A -:10D9200029813A814B815C810E9411FA0E94B0F7F3 -:10D93000F80161937193819391938F01F1E0CF1678 -:10D94000FDE1DF06D9F60F900F900F900F90DF9159 -:10D95000CF911F910F91FF90EF90DF90CF9008959E -:10D960008091541D90E02091551D821B91090895CE -:10D970002091551D8091541D281750F4E22FF0E09E -:10D98000EA5AF24E808190E02F5F2093551D089552 -:10D990008FEF9FEF0895E091551D8091541DE8177A -:10D9A00030F4F0E0EA5AF24E808190E008958FEF73 -:10D9B0009FEF08950895CF92DF92EF92FF920F9319 -:10D9C0001F93CF93DF937C01CB018A012091311DFE -:10D9D000222389F0EB016B01C40ED51ECC15DD05A9 -:10D9E00061F06991D701ED91FC910190F081E02DFA -:10D9F000C7011995F3CF642F4BD0C801DF91CF91A8 -:10DA00001F910F91FF90EF90DF90CF900895CF93EB -:10DA1000DF931F92CDB7DEB769832091311D22239A -:10DA2000D1F02091321D203240F021E030E0FC01A5 -:10DA30003383228380E090E014C08091331DE82F6F -:10DA4000F0E0EC5CF24E998190838F5F8093331D00 -:10DA50008093321D04C061E0CE01019619D081E0AF -:10DA600090E00F90DF91CF910895FC011382128214 -:10DA700048EE53E060E070E044835583668377832B -:10DA80008EE99EE091838083089585E29DE1EDCF4C -:10DA9000613298F42091E31D243089F46093981D3D -:10DAA000FC018AE99DE1DC012A2F281B261718F4C6 -:10DAB00021912D93F9CF80E0089581E0089582E0CF -:10DAC000089585ED8093BC008091BC0084FDFCCF5F -:10DAD0001092E31D089585EC8093BC001092E31D25 -:10DAE00008951F920F920FB60F9211240BB60F924A -:10DAF0002F933F934F935F936F937F938F939F9356 -:10DB0000AF93BF93EF93FF938091B900887F8036E6 -:10DB100009F49CC068F5883209F45BC090F4803148 -:10DB200009F454C038F4882309F4F3C0883009F4A8 -:10DB30004DC0F2C0883109F44CC0803209F45DC098 -:10DB4000EBC0803409F468C048F4803309F455C050 -:10DB5000883309F0E1C08093761DA7C0803509F4B1 -:10DB60004FC0883509F45DC0883409F0D5C0D3C0F2 -:10DB7000883909F4C4C0A8F4883709F467C038F4B8 -:10DB8000883609F463C0803709F460C0C5C088389E -:10DB900009F4B5C0803909F45FC0803809F0BCC011 -:10DBA0005BC0803B09F483C038F4803A09F466C056 -:10DBB000883A09F47CC0B0C0803C09F4A4C0883C19 -:10DBC00009F4A1C0883B09F487C0A6C08091E21D7A -:10DBD00010C09091BB1D8091BA1D981770F5E0910F -:10DBE000BB1D81E08E0F8093BB1DF0E0E454F24E2C -:10DBF00080818093BB0085EC83C08093761D8BC0B1 -:10DC0000E091BB1D81E08E0F8093BB1D8091BB0016 -:10DC1000F0E0E454F24E80839091BB1D8091BA1DD8 -:10DC20006BC0E091BB1D81E08E0F8093BB1D809186 -:10DC3000BB00F0E0E454F24E80838091E11D81113D -:10DC40006AC081E08093E01D84EA5EC083E0809337 -:10DC5000E31D1092771DCFCF8091771D803208F0A1 -:10DC60004EC0E091771D81E08E0F8093771D8091EB -:10DC7000BB00F0E0E858F24E8083BDCF8091771D65 -:10DC8000803230F4E091771DF0E0E858F24E1082D7 -:10DC900018DF6091771D70E0E091DC1DF091DD1DD3 -:10DCA00088E79DE119951092771D15DF35C084E056 -:10DCB0008093E31D1092991D1092981DE091DE1D36 -:10DCC000F091DF1D19958091981D811105C081E0AB -:10DCD0008093981D10929A1DE091991D81E08E0FFE -:10DCE0008093991DF0E0E656F24E80818093BB0050 -:10DCF0009091991D8091981D981708F47CCF85E824 -:10DD00008093BC0009C085EC8093BC001092E31D99 -:10DD100003C01092761DD5DEFF91EF91BF91AF91B8 -:10DD20009F918F917F916F915F914F913F912F9133 -:10DD30000F900BBE0F900FBE0F901F9018951F9362 -:10DD4000CF93DF93182FEB0161E003D1209711F4FB -:10DD500060E004C0CF3FD10531F461E0812FDF9155 -:10DD6000CF911F912FC1E12FF0E0E55CF04A449183 -:10DD700050E0FA013197E131F10508F091C0E35824 -:10DD8000FF4F0C9458FB84B5806884BDC7BD8DC01F -:10DD900084B5806284BDC8BD88C0809180008068E1 -:10DDA00080938000D0938900C09388007EC08091CA -:10DDB0008000806280938000D0938B00C0938A00A3 -:10DDC00074C08091B00080688093B000C093B300AD -:10DDD0006CC08091B00080628093B000C093B400AA -:10DDE00064C080919000806880939000D0939900E7 -:10DDF000C09398005AC080919000806280939000F8 -:10DE0000D0939B00C0939A0050C08091900088608E -:10DE100080939000D0939D00C0939C0046C0809159 -:10DE2000A00080688093A0008091A0008F7B8093E9 -:10DE3000A000D093A900C093A80037C08091A00093 -:10DE400080628093A000D093AB00C093AA002DC045 -:10DE50008091A00088608093A000D093AD00C09313 -:10DE6000AC0023C080912001806880932001D09372 -:10DE70002901C093280119C08091200180628093FC -:10DE80002001D0932B01C0932A010FC08091200163 -:10DE9000886080932001D0932D01C0932C0105C090 -:10DEA000C038D1050CF059CF53CFDF91CF911F91DE -:10DEB000089590E0FC013197E131F10508F048C088 -:10DEC000E257FF4F0C9458FB809180008F7703C07E -:10DED000809180008F7D80938000089584B58F7736 -:10DEE00002C084B58F7D84BD08958091B0008F7786 -:10DEF00003C08091B0008F7D8093B0000895809121 -:10DF000090008F7707C0809190008F7D03C0809133 -:10DF10009000877F8093900008958091A0008F7774 -:10DF200007C08091A0008F7D03C08091A000877FF3 -:10DF30008093A0000895809120018F7707C0809181 -:10DF400020018F7D03C080912001877F8093200175 -:10DF50000895CF93DF9390E0FC01EF56F04A2491AF -:10DF6000FC01E951F04A8491882349F190E0880F3F -:10DF7000991FFC01EF58FF49A591B491895A9F4917 -:10DF8000FC01C591D4919FB7611108C0F8948C91A0 -:10DF9000209582238C93888182230AC0623051F4B9 -:10DFA000F8948C91322F309583238C938881822B27 -:10DFB000888304C0F8948C91822B8C939FBFDF914F -:10DFC000CF9108950F931F93CF93DF931F92CDB7F7 -:10DFD000DEB7282F30E0F901E55CF04A8491F901C1 -:10DFE000EF56F04A1491F901E951F04A04910023E7 -:10DFF000C1F0882319F069835CDF6981E02FF0E0CC -:10E00000EE0FFF1FE95AFF49A591B4919FB7F8940D -:10E010008C91611103C01095812301C0812B8C93D9 -:10E020009FBF0F90DF91CF911F910F910895CF93D4 -:10E03000DF93282F30E0F901E55CF04A8491F90183 -:10E04000EF56F04AD491F901E951F04AC491CC233A -:10E0500089F081112EDFEC2FF0E0EE0FFF1FE35C63 -:10E06000FF49A591B4912C912D2381E090E021F4FA -:10E0700080E002C080E090E0DF91CF9108951F9290 -:10E080000F920FB60F9211242F933F938F939F936C -:10E09000AF93BF938091E51D9091E61DA091E71D80 -:10E0A000B091E81D3091E41D23E0230F2D3720F4BB -:10E0B0000196A11DB11D05C026E8230F0296A11DE2 -:10E0C000B11D2093E41D8093E51D9093E61DA09360 -:10E0D000E71DB093E81D8091E91D9091EA1DA09184 -:10E0E000EB1DB091EC1D0196A11DB11D8093E91DA2 -:10E0F0009093EA1DA093EB1DB093EC1DBF91AF91DF -:10E100009F918F913F912F910F900FBE0F901F9075 -:10E1100018952FB7F8946091E51D7091E61D8091D8 -:10E12000E71D9091E81D2FBF08953FB7F8948091A7 -:10E13000E91D9091EA1DA091EB1DB091EC1D26B553 -:10E14000A89B05C02F3F19F00196A11DB11D3FBF2F -:10E150006627782F892F9A2F620F711D811D911DBF -:10E1600042E0660F771F881F991F4A95D1F70895DF -:10E17000CF92DF92EF92FF92CF93DF936B017C01FE -:10E18000D4DFEB01C114D104E104F10471F0CDDF5F -:10E190006C1B7D0B683E7340A8F381E0C81AD10860 -:10E1A000E108F108C851DC4FEDCFDF91CF91FF902E -:10E1B000EF90DF90CF9008950197009739F0880F86 -:10E1C000991F880F991F02970197F1F70895789486 -:10E1D00084B5826084BD84B5816084BD85B582606C -:10E1E00085BD85B5816085BDEEE6F0E0808181600A -:10E1F0008083E1E8F0E0108280818260808380810A -:10E2000081608083E0E8F0E0808181608083E1EBE1 -:10E21000F0E0808184608083E0EBF0E080818160C9 -:10E220008083E1E9F0E08081826080838081816089 -:10E230008083E0E9F0E0808181608083E1EAF0E0C2 -:10E24000808182608083808181608083E0EAF0E069 -:10E25000808181608083E1E2F1E08081826080835F -:10E26000808181608083E0E2F1E080818160808351 -:10E27000EAE7F0E08081846080838081826080832F -:10E280008081816080838081806880831092C1005A -:10E2900008959DDF0E948163C0E0D0E00E94988CC9 -:10E2A0002097E1F30E940000F9CF3F924F925F92D6 -:10E2B0006F927F928F929F92AF92BF92CF92DF9296 -:10E2C000EF92FF920F931F93CF93DF9300D01F9293 -:10E2D000CDB7DEB78B0129013A0190918A0C9817CE -:10E2E00021F09F3F09F0B1C204C0EBE8F0E63490A2 -:10E2F00004C180938A0CEBE8F0E6E491EF3F09F467 -:10E30000A4C2E23009F480C074F5EE2309F45BC0C6 -:10E31000E13009F0F1C010928000109281009091DC -:10E32000810098609093810090918100916090931A -:10E330008100282F30E0F901E951F04AE491F0E042 -:10E34000EE0FFF1FE95AFF494591549150930B1E60 -:10E3500040930A1EF901EF56F04A24912093091EBA -:10E3600033243394CCC0E43009F49EC00CF474C060 -:10E37000E53009F0C1C01092200110922101909166 -:10E3800021019860909321019091210191609093D7 -:10E390002101282F30E0F901E951F04AE491F0E041 -:10E3A000EE0FFF1FE95AFF49459154915093EF1D1D -:10E3B0004093EE1DF901EF56F04A24912093ED1D94 -:10E3C00055E0352E9CC014BC15BC94B5926094BD2C -:10E3D00095B5916095BD282F30E0F901E951F04ADB -:10E3E000E491F0E0EE0FFF1FE95AFF494591549187 -:10E3F0005093121E4093111EF901EF56F04A2491DA -:10E400002093101E312C7BC01092B0001092B100EE -:10E410009091B00092609093B0009091B1009160A3 -:10E420009093B100282F30E0F901E951F04AE491CE -:10E43000F0E0EE0FFF1FE95AFF49459154915093C8 -:10E44000041E4093031EF901EF56F04A24912093D5 -:10E45000021E22E0322E53C01092900010929100C2 -:10E4600090919100986090939100909191009160AB -:10E4700090939100282F30E0F901E951F04AE4919E -:10E48000F0E0EE0FFF1FE95AFF4945915491509378 -:10E49000FD1D4093FC1DF901EF56F04A2491209395 -:10E4A000FB1DB3E03B2E2BC01092A0001092A100E8 -:10E4B0009091A10098609093A1009091A10091602B -:10E4C0009093A100282F30E0F901E951F04AE4913E -:10E4D000F0E0EE0FFF1FE95AFF4945915491509328 -:10E4E000F61D4093F51DF901EF56F04A2491209353 -:10E4F000F41D74E0372E03C03E2E37FCA6C161E048 -:10E5000028DD4801A12CB12C832D8D7F09F0C0C0DE -:10E5100060E072E18AE790E0A50194010E943CFB73 -:10E5200029833A834B835C8369017A0181E0C81AAD -:10E53000D108E108F1089FEFC916D104E104F10404 -:10E5400009F008F49AC060E472E48FE090E0A5015D -:10E5500094010E943CFB69017A01E1E0CE1AD108E6 -:10E56000E108F108F2E03F1219C08FEFC816D1049C -:10E57000E104F10409F008F487C060E970ED83E07C -:10E5800090E0A50194010E943CFB69017A0191E0B1 -:10E59000C91AD108E108F10883E001C082E0EFEF79 -:10E5A000CE16D104E104F10409F008F467C068E470 -:10E5B00078EE81E090E0A50194010E943CFB6901A6 -:10E5C0007A01F1E0CF1AD108E108F1083320E1F037 -:10E5D00082E038121BC09FEFC916D104E104F10498 -:10E5E00009F008F430C164E274EF80E090E0A50126 -:10E5F00094010E943CFB69017A01E1E0CE1AD10846 -:10E60000E108F10885E003C083E001C084E0FFEF8A -:10E61000CF16D104E104F10489F180F162E17AE7D7 -:10E6200080E090E0A50194010E943CFB69017A0121 -:10E6300081E0C81AD108E108F108311002C084E075 -:10E6400001C086E09FEFC916D104E104F104B1F0E6 -:10E65000A8F0C980DA80EB80FC809AE0F594E7941A -:10E66000D794C7949A95D1F7E1E0CE1AD108E10882 -:10E67000F108332031F087E008C081E0332011F049 -:10E6800004C085E085BD50C082E08093B1004CC0DD -:10E6900060E072E18AE790E0A5019401EDD769019D -:10E6A0007A01F1E0CF1AD108E108F108C114D104D0 -:10E6B00081E0E806F10480F068E478EE81E090E023 -:10E6C000A5019401D9D769017A0191E0C91AD1084D -:10E6D000E108F10893E001C091E0E1E03E1207C0DB -:10E6E00080918100887F892B809381001DC0F3E099 -:10E6F0003F1207C080919100887F892B8093910001 -:10E7000013C084E0381207C08091A100887F892B54 -:10E710008093A10009C0E5E03E1206C0809121016E -:10E72000887F892B80932101411451046104710475 -:10E7300061F0D801AA0FBB1FA3019201C5D728EE33 -:10E7400033E040E050E076D703C02FEF3FEFA90160 -:10E75000F2E03F1609F443C0F315BCF0332081F119 -:10E7600081E0381272C0D0928900C0928800209354 -:10E770000C1E30930D1E40930E1E50930F1E809161 -:10E780006F00826080936F0060C094E0391609F4D6 -:10E7900048C03916A4F1E5E03E1257C0D0922901D5 -:10E7A000C09228012093F01D3093F11D4093F21D7B -:10E7B0005093F31D8091730082608093730045C075 -:10E7C000C7BC2093131E3093141E4093151E509304 -:10E7D000161E80916E00826080936E0036C0C092DB -:10E7E000B3002093051E3093061E4093071E5093DE -:10E7F000081E8091700082608093700026C0D092C5 -:10E800009900C09298002093FE1D3093FF1D409305 -:10E81000001E5093011E80917100826080937100F0 -:10E8200014C0D092A900C092A8002093F71D309385 -:10E83000F81D4093F91D5093FA1D8091720082607B -:10E840008093720002C084E020CF0F900F900F9051 -:10E850000F90DF91CF911F910F91FF90EF90DF907C -:10E86000CF90BF90AF909F908F907F906F905F9070 -:10E870004F903F9008958230A9F028F4882349F002 -:10E88000813051F00895843009F1E8F0853009F1C4 -:10E89000089510926E00089580916F008D7F80938F -:10E8A0006F000895809170008D7F8093700081E0EB -:10E8B0008093B0008091B100887F84608093B10024 -:10E8C0001092B30008951092710008951092720092 -:10E8D0000895109273000895CF93C82F80918A0CE9 -:10E8E0008C1307C0EBE8F0E684919FEF90938A0CBD -:10E8F00001C08FEFC0DF60E08C2FCF9163CB1F9200 -:10E900000F920FB60F9211240BB60F922F933F93D5 -:10E910004F935F936F937F938F939F93AF93BF9327 -:10E92000EF93FF938091051E9091061EA091071E04 -:10E93000B091081E892B8A2B8B2B51F19091021ECE -:10E94000E091031EF091041E8081892780838091CD -:10E95000051E9091061EA091071EB091081E181664 -:10E9600019061A061B06BCF48091051E9091061E1E -:10E97000A091071EB091081E0197A109B1098093CB -:10E98000051E9093061EA093071EB093081E03C099 -:10E9900080918A0CA1DFFF91EF91BF91AF919F9180 -:10E9A0008F917F916F915F914F913F912F910F9038 -:10E9B0000BBE0F900FBE0F901F901895FC01808129 -:10E9C000918149C7CF93DF93EC01888199810097AA -:10E9D00009F041D7198218821D821C821B821A827B -:10E9E000DF91CF9108950F931F93CF93DF93EC01A5 -:10E9F0008B016F5F7F4F88819981BCD7009731F081 -:10EA0000998388831B830A8381E001C080E0DF91C2 -:10EA1000CF911F910F910895CF93DF93EC018881DF -:10EA20009981892B29F08A819B818617970758F451 -:10EA3000CE01D9DF882341F08C819D81892B19F487 -:10EA4000E881F981108281E0DF91CF910895EF9202 -:10EA5000FF920F931F93CF93DF93EC017B018A0109 -:10EA6000BA01DADF811103C0CE01ACDF07C01D831C -:10EA70000C83B701888199810F94E700CE01DF9163 -:10EA8000CF911F910F91FF90EF900895FC0111829B -:10EA9000108213821282158214826115710551F061 -:10EAA000FB0101900020E9F7AF0141505109461BDD -:10EAB000570BCDCF0895CF93DF93EC01FB01861761 -:10EAC000970751F0608171816115710521F04481D2 -:10EAD0005581BDDF01C076DFCE01DF91CF91089572 -:10EAE000FC01118210821382128215821482E3CFFC -:10EAF000EF92FF920F931F93CF93DF93EC017B0173 -:10EB00000C811D816115710511F480E015C041155E -:10EB1000510589F0040F151FB8017EDF8823A9F382 -:10EB2000288139818C819D81B701820F931F0F94B9 -:10EB3000E7001D830C8381E0DF91CF911F910F913E -:10EB4000FF90EF900895CF93DF93EC01FB01448198 -:10EB5000558160817181CCDF811102C0CE0132DF2D -:10EB6000CE01DF91CF910895CF92DF92EF92FF9285 -:10EB70000F931F93CF93DF936C017A01EB01E60EA5 -:10EB8000F71E00E010E0CE15DF0561F06991D601B7 -:10EB9000ED91FC910190F081E02DC6011995080FCF -:10EBA000191FF1CFC801DF91CF911F910F91FF90F5 -:10EBB000EF90DF90CF9008956115710581F0DB0132 -:10EBC0000D900020E9F7AD0141505109461B570B4C -:10EBD000DC01ED91FC910280F381E02D199480E03D -:10EBE00090E00895E9CFDC01ED91FC910190F08176 -:10EBF000E02D19948F929F92AF92BF92CF92DF92A5 -:10EC0000EF92FF920F931F93CF93DF93CDB7DEB7B1 -:10EC1000A1970FB6F894DEBF0FBECDBF7C01C42E06 -:10EC2000E52FCB01D22E19A221E02D1510F02AE0FC -:10EC3000D22E8E010F5D1F4F8D2C912CA12CB12C4B -:10EC40006C2D7E2FA5019401F5D48C2DD29E8019B8 -:10EC50001124015011098A3014F4805D01C0895CCF -:10EC6000F8018083211531054105510521F0C22E9F -:10EC7000E32FCA01E5CFB801C7019EDFA1960FB609 -:10EC8000F894DEBF0FBECDBFDF91CF911F910F91E2 -:10EC9000FF90EF90DF90CF90BF90AF909F908F90BC -:10ECA00008952115310541F4DC01ED91FC910190AD -:10ECB000F081E02D642F19949DCF9A01AB0160E0A3 -:10ECC00070E0EFCF5058BB27AA270ED076C23FD2B4 -:10ECD00030F044D220F031F49F3F11F41EF40FC203 -:10ECE0000EF4E095E7FBDCC1E92F89D280F3BA1777 -:10ECF000620773078407950718F071F49EF5B8C290 -:10ED00000EF4E0950B2EBA2FA02D0B01B901900146 -:10ED10000C01CA01A0011124FF27591B99F0593F8A -:10ED200050F4503E68F11A16F040A22F232F342FD2 -:10ED30004427585FF3CF469537952795A795F04020 -:10ED40005395C9F77EF41F16BA0B620B730B840B35 -:10ED5000BAF09150A1F0FF0FBB1F661F771F881FED -:10ED6000C2F70EC0BA0F621F731F841F48F4879545 -:10ED700077956795B795F7959E3F08F0B3CF939534 -:10ED8000880F08F09927EE0F979587950895DFD1A2 -:10ED900058F080E891E009F49EEFE0D128F040E8D7 -:10EDA00051E059F45EEF09C0AAC162C2E92FE078D0 -:10EDB00026D268F3092E052AC1F32617370748071C -:10EDC000590738F00E2E07F8E02569F0E025E064D9 -:10EDD0000AC0EF6307F8009407FADB01B9019D014F -:10EDE000DC01CA01AD01EF935DD0E7D10AD05F919C -:10EDF000552331F02BED3FE049E450FD49EC63CF62 -:10EE00000895DF93DD27B92FBF7740E85FE316163B -:10EE1000170648075B0710F4D92F96D29F938F935C -:10EE20007F936F93A9D3EEE3F1E06CD1C6D12F911C -:10EE30003F914F915F9101D3DD2349F09058A2EAB1 -:10EE40002AED3FE049EC5FE3D0785D274DDFDF91AD -:10EE5000B4C1F7D180F09F3740F491110EF409C28C -:10EE600060E070E080E89FE3089526F01B16611DC6 -:10EE7000711D811D1BC135C1EFD008F481E00895DB -:10EE800075D1E395ABC10CD098C168D140F05FD18A -:10EE900030F021F45F3F19F003C15111EAC12FC1D5 -:10EEA000AED198F39923C9F35523B1F3951B550BB4 -:10EEB000BB27AA2762177307840738F09F5F5F4F4D -:10EEC000220F331F441FAA1FA9F333D00E2E3AF08E -:10EED000E0E830D091505040E695001CCAF729D0A8 -:10EEE000FE2F27D0660F771F881FBB1F26173707F7 -:10EEF0004807AB07B0E809F0BB0B802DBF01FF2727 -:10EF000093585F4F2AF09E3F510568F0C9C0B1C1C8 -:10EF10005F3FECF3983EDCF3869577956795B79560 -:10EF2000F7959F5FC9F7880F911D9695879597F97B -:10EF30000895E1E0660F771F881FBB1F62177307F4 -:10EF40008407BA0720F0621B730B840BBA0BEE1F09 -:10EF500088F7E095089504D06894B1118AC10895A6 -:10EF600056D188F09F5790F0B92F9927B751A0F04C -:10EF7000D1F0660F771F881F991F1AF0BA95C9F74D -:10EF800012C0B13081F074D1B1E0089571C1672F22 -:10EF9000782F8827B85F39F0B93FCCF386957795FD -:10EFA0006795B395D9F73EF49095809570956195E6 -:10EFB0007F4F8F4F9F4F0895E89409C097FB3EF411 -:10EFC00090958095709561957F4F8F4F9F4F9923B6 -:10EFD000A9F0F92F96E9BB279395F6958795779534 -:10EFE0006795B795F111F8CFFAF4BB0F11F460FFF4 -:10EFF0001BC06F5F7F4F8F4F9F4F16C0882311F04C -:10F0000096E911C0772321F09EE8872F762F05C05F -:10F01000662371F096E8862F70E060E02AF09A95FA -:10F02000660F771F881FDAF7880F9695879597F9EF -:10F03000089507D180F09F3740F491110EF019C167 -:10F0400060E070E080E89FEB089526F41B16611DD8 -:10F05000711D811D2BC045C0990F0008550FAA0BCB -:10F06000E0E8FEEF16161706E807F907C0F01216DB -:10F070001306E407F50798F0621B730B840B950BDE -:10F0800039F40A2661F0232B242B252B21F4089533 -:10F090000A2609F4A140A6958FEF811D811D0895D0 -:10F0A00097F99F6780E870E060E00895882371F425 -:10F0B000772321F09850872B762F07C0662311F411 -:10F0C00099270DC09051862B70E060E02AF09A9548 -:10F0D000660F771F881FDAF7880F9695879597F93F -:10F0E00008959F3F31F0915020F48795779567956B -:10F0F000B795880F911D9695879597F908959FEF7D -:10F1000080EC0895DF93CF931F930F93FF92EF92BC -:10F11000DF927B018C01689405C0DA2EEF018DD15E -:10F12000FE01E894A5912591359145915591AEF355 -:10F13000EF01DADDFE019701A801DA9479F7DF909B -:10F14000EF90FF900F911F91CF91DF9108950024D0 -:10F150000A941616170618060906089500240A943C -:10F1600012161306140605060895C9CF50D0E8F309 -:10F17000E894E0E0BB279F57F0F02AED3FE049EC30 -:10F1800006C0EE0FBB0F661F771F881F28F0B23A2C -:10F1900062077307840728F0B25A620B730B840B63 -:10F1A000E3959A9572F7803830F49A95BB0F661FF5 -:10F1B000771F881FD2F7904896CF092E0394000C32 -:10F1C00011F4882352F0BB0F40F4BF2B11F460FF01 -:10F1D00004C06F5F7F4F8F4F9F4F0895EF93E0FF05 -:10F1E00006C0A2EA2AED3FE049EC5FEB7DDDE5DFFA -:10F1F0000F90039401FC9058EBE6F1E0C7C157FD76 -:10F200009058440F551F59F05F3F71F04795880F94 -:10F2100097FB991F61F09F3F79F08795089512162B -:10F2200013061406551FF2CF4695F1DF08C01616D7 -:10F2300017061806991FF1CF869571056105089488 -:10F240000895E5DFA0F0BEE7B91788F4BB279F3823 -:10F2500060F41616B11D672F782F8827985FF7CFB7 -:10F26000869577956795B11D93959639C8F308955E -:10F27000E894BB2766277727CB0197F90895ECDE42 -:10F2800008F48FEF089563DF19F068DF09F037CFD6 -:10F2900007CFB901CA0125CF9F775F77B0DF98F319 -:10F2A0009923B9F35523B9F3FF27951758F4E52FA0 -:10F2B000E91BED3070F75E3B10F0F1E41CC09034B8 -:10F2C000E0F40AC0E92FE51BED3028F79E3B10F073 -:10F2D000F1E411C0503488F4F9EA88232AF09A95B1 -:10F2E000660F771F881FDAF744232AF05A95220FFA -:10F2F000331F441FDAF79F1B5F1BFF931F930F936E -:10F30000FF92EF9279018A01BB27AB2F9B01AC01E1 -:10F3100096D09701A801BF937B018C01AA27BA2F31 -:10F32000B901CA018CD0AF919701A801EF90FF906D -:10F330000F911F91D9DC41DFE1D04F9140FF08953B -:10F34000552747FD509509C09B01AC0160E070E076 -:10F3500080E89FE398CDA4CEC4CE59DFE8F399238B -:10F36000D9F3940F511DBBF39150504094F059F0D4 -:10F37000882332F0660F771F881F91505040C1F7E5 -:10F380009E3F510544F7880F911D9695879597F9F3 -:10F3900008955F3FACF0983E9CF0BB27869577952B -:10F3A0006795B79508F4B1609395C1F7BB0F58F70F -:10F3B00011F460FFE8CF6F5F7F4F8F4F9F4FE3CF18 -:10F3C00058CF25DF58F19E5758F19851A0F0E9F039 -:10F3D000983020F5092E9927660F771F881F991FEF -:10F3E0000A94D1F712C0062E672F782F8827985FCE -:10F3F00011F4000C07C0993FB4F386957795679593 -:10F400009395D9F7611D711D811D3EF490958095EE -:10F41000709561957F4F8F4F9F4F0895689429CFC6 -:10F4200027CF0BD0CACE93DE28F098DE18F09523B4 -:10F4300009F036CE64CE11241CCFE1DEA0F3959FF7 -:10F44000D1F3950F50E0551F629FF001729FBB27CB -:10F45000F00DB11D639FAA27F00DB11DAA1F649F77 -:10F460006627B00DA11D661F829F2227B00DA11D2A -:10F47000621F739FB00DA11D621F839FA00D611DB0 -:10F48000221F749F3327A00D611D231F849F600DD1 -:10F49000211D822F762F6A2F11249F5750408AF00A -:10F4A000E1F088234AF0EE0FFF1FBB1F661F771F96 -:10F4B000881F91505040A9F79E3F510570F0F0CD44 -:10F4C000D8CE5F3FECF3983EDCF386957795679551 -:10F4D000B795F795E7959F5FC1F7FE2B880F911DB4 -:10F4E0009695879597F908959F9340DE0F9007FCB6 -:10F4F000EE5F74CE11F40EF402CEF3CD88DED0F3BD -:10F500009923D9F3CEF39F57550B87FF38D00024AA -:10F51000A0E640EA900180585695979528F4805CC3 -:10F52000660F771F881F20F026173707480730F42B -:10F53000621B730B840B202931294A2BA695179443 -:10F540000794202531254A2758F7660F771F881F13 -:10F5500020F026173707480730F4620B730B840B33 -:10F56000200D311D411DA09581F7B901842F9158BF -:10F57000880F9695879508959B01AC0152CF9150C5 -:10F580005040660F771F881FD2F708959F938F937F -:10F590007F936F93FF93EF939B01AC0142DFEF9159 -:10F5A000FF91B0DD2F913F914F915F913ACFDB01F9 -:10F5B0008F939F9389D0BF91AF91A29F800D911D92 -:10F5C000A39F900DB29F900D1124089587FB082EE4 -:10F5D000062687FD819567FD61958AD00EF4919589 -:10F5E00007FC81950895AA1BBB1B51E107C0AA1F08 -:10F5F000BB1FA617B70710F0A61BB70B881F991FD4 -:10F600005A95A9F780959095BC01CD01089597FB77 -:10F61000072E16F4009406D077FD08D0E4DF07FC2F -:10F6200005D03EF4909581959F4F08957095619512 -:10F630007F4F0895A1E21A2EAA1BBB1BFD010DC02E -:10F64000AA1FBB1FEE1FFF1FA217B307E407F50792 -:10F6500020F0A21BB30BE40BF50B661F771F881F6E -:10F66000991F1A9469F760957095809590959B0104 -:10F67000AC01BD01CF010895052E97FB16F400944F -:10F680000FD057FD05D0D6DF07FC02D046F408C0E6 -:10F6900050954095309521953F4F4F4F5F4F0895BE -:10F6A00090958095709561957F4F8F4F9F4F0895EE -:10F6B000EE0FFF1F0590F491E02D199425D0B7FFB0 -:10F6C0000895821B930B08951FD0A59F900DB49FA2 -:10F6D000900DA49F800D911D11240895B7FFF4CFC4 -:10F6E000F3DF821B930B08950790F691E02D199498 -:10F6F000991B79E004C0991F961708F0961B881F84 -:10F700007A95C9F780950895A29FB001B39FC00173 -:10F71000A39F700D811D1124911DB29F700D811D3D -:10F720001124911D0895CF93DF938230910510F439 -:10F7300082E090E0E091191EF0911A1E20E030E086 -:10F74000A0E0B0E0309739F1408151814817590766 -:10F75000B8F04817590771F482819381109729F006 -:10F7600013969C938E9312972CC090931A1E80939D -:10F77000191E27C02115310531F04217530718F023 -:10F78000A901DB0101C0EF019A01BD01DF01028087 -:10F79000F381E02DD7CF21153105F9F0281B390B66 -:10F7A0002430310580F48A819B816115710521F037 -:10F7B000FB019383828304C090931A1E8093191EC9 -:10F7C000FE01329644C0FE01E20FF31F8193919334 -:10F7D00022503109398328833AC02091171E309175 -:10F7E000181E232B41F42091020230910302309322 -:10F7F000181E2093171E209100023091010221153E -:10F80000310541F42DB73EB74091040250910502F5 -:10F81000241B350BE091171EF091181EE217F30719 -:10F82000A0F42E1B3F0B2817390778F0AC014E5F70 -:10F830005F4F2417350748F04E0F5F1F5093181E77 -:10F840004093171E8193919302C0E0E0F0E0CF0156 -:10F85000DF91CF910895CF93DF93009709F487C08C -:10F86000FC01329713821282C091191ED0911A1E88 -:10F87000209781F420813181280F391F8091171E34 -:10F880009091181E8217930779F5F093181EE09354 -:10F89000171E6DC0DE0120E030E0AE17BF0750F448 -:10F8A00012964D915C9113979D014115510509F1F7 -:10F8B000DA01F3CFB383A28340815181840F951F76 -:10F8C0008A179B0771F48D919C911197840F951F56 -:10F8D00002969183808312968D919C9113979383C6 -:10F8E00082832115310529F4F0931A1EE093191E25 -:10F8F0003EC0D9011396FC93EE9312974D915D9102 -:10F90000A40FB51FEA17FB0779F480819181840F5A -:10F91000951F0296D90111969C938E9382819381B3 -:10F9200013969C938E931297E0E0F0E08A819B817E -:10F93000009719F0FE01EC01F9CFCE010296288163 -:10F940003981820F931F2091171E3091181E28179E -:10F95000390769F4309729F410921A1E1092191E73 -:10F9600002C013821282D093181EC093171EDF911B -:10F97000CF9108956F927F928F929F92AF92BF9294 -:10F98000CF92DF92EF92FF920F931F93CF93DF936B -:10F99000EC01CB01209779F4DF91CF911F910F916A -:10F9A000FF90EF90DF90CF90BF90AF909F908F909F -:10F9B0007F906F90B8CEFE01E60FF71F9E01225098 -:10F9C0003109E217F30708F4A8C0D9010D911C9181 -:10F9D000119706171707B0F00530110508F49BC002 -:10F9E000A801445051094617570708F494C0025023 -:10F9F0001109061B170B019311936D937C93CF0193 -:10FA00002ADF89C05B01A01AB10A4E01800E911E47 -:10FA1000A091191EB0911A1E612C712C60E070E04B -:10FA2000109709F449C0A815B905C9F5ED90FC90E7 -:10FA30001197670142E0C40ED11CCA14DB0478F1AF -:10FA400047018A189B08640142E0C40ED11C12963B -:10FA5000BC9012971396AC91B5E0CB16D10440F050 -:10FA6000B282A38391828082D9018D939C9309C035 -:10FA70000E5F1F4F0E0D1F1DF90111830083EB2D2B -:10FA8000FA2F6115710531F0DB011396FC93EE93AB -:10FA9000129741C0F0931A1EE093191E3CC06D915D -:10FAA0007C9111976616770608F43B01BD0112960A -:10FAB0000D90BC91A02DB4CF6091171E7091181EAF -:10FAC00068157905E9F468167906D0F440910002CA -:10FAD000509101024115510541F44DB75EB7609157 -:10FAE000040270910502461B570BE417F507A8F4B2 -:10FAF000F093181EE093171EF901918380830BC0C9 -:10FB000012DE7C01009749F0A801BE011ED3CE0190 -:10FB1000A2DEC70104C0CE0102C080E090E0DF9108 -:10FB2000CF911F910F91FF90EF90DF90CF90BF90FA -:10FB3000AF909F908F907F906F9008958F929F923B -:10FB4000AF92BF92CF92DF92EF92FF920F931F93EB -:10FB5000CF93DF938B016115710521F0DB018C934D -:10FB600011969C93EC015E01BFEFAB1ABB0A7501C5 -:10FB7000C8808C2D90E07BD2892B11F0E501F3CF6A -:10FB8000EDE2CE1208C07E01F2E0EF0EF11CC9805A -:10FB9000DD24D39409C02BE2C21205C07E0142E0ED -:10FBA000E40EF11CC980D12CE701219743E050E01D -:10FBB00064E970E6CE017BD2892BB9F4239645E047 -:10FBC00050E06FE870E6CE0172D2892B09F42596D9 -:10FBD0000115110519F0D801CD93DC93D11000C1A6 -:10FBE00060E070E080E89FE704C143E050E06CE82B -:10FBF00070E6CE015CD2892B59F40115110509F488 -:10FC0000F4C0B2E0EB0EF11CF801F182E082EDC02D -:10FC1000F70160E070E0CB01C0E0D0E07F01A0ED33 -:10FC2000AA2EAC0C29E02A1528F14D2D4260B42EE5 -:10FC30002D2D2870D2FE04C0211124C0219622C08F -:10FC400021112197A5E0B0E09B01AC013DDD660FDD -:10FC5000771F881F991F6A0D711D811D911D6839BD -:10FC6000A9E97A078A07A9E19A0760F0BD2DB66075 -:10FC7000BB2E08C02EEFA2120AC0D3FC50C04D2DDF -:10FC80004860B42E3196D701CC90DB2CC7CF2C2DF9 -:10FC90002F7D253409F043C0A081AD3241F4BD2D44 -:10FCA000B061DB2E7F0122E0E20EF11C0CC07F016F -:10FCB000AB3231F04FEFE41AF40A21E030E006C035 -:10FCC000A2E0EA0EF11CA18122E030E0A053AA30AC -:10FCD00018F0E21AF30A23C0F70120E030E02038E0 -:10FCE000BCE03B075CF4A901440F551F440F551FAE -:10FCF000240F351F220F331F2A0F311DAF014F5F15 -:10FD00005F4F7A01A081A053AA3010F4FA01E7CF27 -:10FD1000D4FE03C0319521953109C20FD31FD1FE06 -:10FD200009C00115110531F0E1E0EE1AF108D80122 -:10FD3000ED92FC9241D92D2D2370233019F04B0107 -:10FD40005C0106C04B015C01B7FAB094B7F8B094FF -:10FD500020E030E0A901C501B4018ED8882309F460 -:10FD60003CC0D7FF06C0D195C195D1090BEA10E67A -:10FD700002C003EC10E66801B8E1CB1AD10890E2AA -:10FD8000E92EF12CCE15DF056CF0F80125913591A7 -:10FD900045915491C501B40144DB4B015C01CE197E -:10FDA000DF09F0CF04501109F594E7940C151D05F7 -:10FDB00049F78A2D880F8B2D881F8F3F41F020E057 -:10FDC00030E0A901C501B40157D8811106C082E213 -:10FDD00090E090931C1E80931B1EC501B40109C0C6 -:10FDE00060E070E080E89FEF04C060E070E080ECCD -:10FDF0009FE7DF91CF911F910F91FF90EF90DF90E0 -:10FE0000CF90BF90AF909F908F9008952F923F9288 -:10FE10005F926F927F928F929F92AF92BF92CF929A -:10FE2000DF92EF92FF920F931F93CF93DF938B019B -:10FE3000EA016115710521F0DB018C9311969C9309 -:10FE4000209739F09E01225031092332310508F004 -:10FE5000F8C07C016701BFEFCB1ADB0A5601F7013E -:10FE60006080862D90E003D1892B11F07601F2CFCE -:10FE7000FDE26F120AC0570182E0A80EB11CD70143 -:10FE800011966C90772473940BC0BBE26B1207C081 -:10FE90005701E2E0AE0EB11CD70111966C90712CA7 -:10FEA000CE018F7E892B89F4B0E36B1222C0F5015D -:10FEB00080818F7D883541F56180F2E0AF0EB11C05 -:10FEC000872D8260782EC0E1D0E0C830D105F1F0F6 -:10FED0004CF4C230D10511F5C12CD12CE12CB0E489 -:10FEE000FB2E2EC0CA30D10531F0C031D10519F139 -:10FEF00015C0209751F7CAE0D0E0ACECCA2EDC2C3C -:10FF0000EC2CACE0FA2E1CC02097F9F6C8E0D0E04B -:10FF1000C12CD12CE12CF0E1FF2E12C060E070E08A -:10FF200080E090E89E01442737FD4095542F82DB06 -:10FF300069017A0105C0C12CD12CE12CE8E0FE2E2C -:10FF4000F50160E020E030E0A9014E01AA2497FC11 -:10FF5000A094BA2C1F0170ED572E560CA9E0A515E0 -:10FF600070F48FEB860D8A3118F499EC592E06C087 -:10FF70008FE9860D8A3128F589EA582E560C852D91 -:10FF800090E08C179D07ECF467FD17C0C216D306EE -:10FF9000E406F50678F0C501B40109DB9B01AC016C -:10FFA000250D311D411D511D213031054105B0E8A0 -:10FFB0005B0710F06FEF01C061E03196D1016C90EA -:10FFC000C9CF872D81700115110571F0662329F0C5 -:10FFD0003197D801ED93FC9307C071FE19C0329799 -:10FFE000D801ED93FC9314C067FF12C0882329F059 -:10FFF00020E030E040E050E804C02FEF3FEF4FEF4B -:020000022000DC -:100000005FE782E290E090931C1E80931B1E16C057 -:10001000882341F050954095309521953F4F4F4FA3 -:100020005F4F0CC057FF0AC082E290E090931C1E05 -:1000300080931B1E2FEF3FEF4FEF5FE7B901CA011F -:1000400004C060E070E080E090E0DF91CF911F910C -:100050000F91FF90EF90DF90CF90BF90AF909F9067 -:100060008F907F906F905F903F902F9008959111A7 -:1000700011C3803219F089508550D0F7089591113D -:10008000089581548A5108F4805E855A0895FB01D1 -:10009000DC0105900D920020E1F70895FC01059028 -:1000A0000020E9F7809590958E0F9F1F0895FB0122 -:1000B000DC014150504088F08D9181341CF08B352B -:1000C0000CF4805E659161341CF06B350CF4605E5D -:1000D000861B611171F3990B0895881BFCCFFB01FE -:1000E000DC014150504048F005900D920020C9F7C6 -:1000F00001C01D9241505040E0F70895FB01559119 -:100100005523A9F0BF01DC014D9145174111E1F7DD -:1001100059F4CD010590002049F04D914015411151 -:10012000C9F3FB014111EFCF81E090E00197089501 -:10013000FB01DC0104C08D910190801921F4415034 -:100140005040C8F7881B990B0895FB01DC0102C0E1 -:1001500001900D9241505040D8F70895DC0101C044 -:100160006D9341505040E0F70895FB01DC018D9103 -:1001700081341CF08B350CF4805E619161341CF08D -:100180006B350CF4605E861B611189F3990B089541 -:10019000FB01DC010D900020E9F7119701900D9211 -:1001A0000020E1F70895FC018191861721F0882352 -:1001B000D9F7992708953197CF010895FB01DC0104 -:1001C0008D91019080190110D9F3990B0895FB01CD -:1001D000DC0101900D920020E1F70895FB01DC01A4 -:1001E0004150504030F08D910190801919F4002059 -:1001F000B9F7881B990B0895FB01DC014150504071 -:1002000048F001900D920020C9F701C01D924150A5 -:100210005040E0F708950F931F93CF93DF93CDB72E -:10022000DEB72E970FB6F894DEBF0FBECDBF0E8996 -:100230001F898EE08C831A8309838FEF9FE79E834B -:100240008D83AE01465E5F4F688D798DCE0101963C -:1002500010D0EF81F885E00FF11F10822E960FB6B7 -:10026000F894DEBF0FBECDBFDF91CF911F910F91EC -:1002700008952F923F924F925F926F927F928F924A -:100280009F92AF92BF92CF92DF92EF92FF920F9325 -:100290001F93CF93DF93CDB7DEB72C970FB6F894AB -:1002A000DEBF0FBECDBF7C016B018A01FC0117824E -:1002B0001682838181FFB0C1CE0101964C01F70106 -:1002C0009381F60193FD859193FF81916F018823BE -:1002D00009F49EC1853239F493FD859193FF819194 -:1002E0006F01853221F4B70190E0EDD1E8CF512CB8 -:1002F000312C20E02032A0F48B3269F030F48032CF -:1003000059F0833269F420612CC08D3239F080338A -:1003100039F4216026C02260246023C0286021C0F7 -:1003200027FD27C030ED380F3A3078F426FF06C09D -:10033000FAE05F9E300D1124532E13C08AE0389EE0 -:10034000300D1124332E20620CC08E3221F426FD94 -:100350005FC1206406C08C3611F4206802C0883664 -:1003600041F4F60193FD859193FF81916F01811115 -:10037000C1CF982F9F7D9554933028F40C5F1F4F69 -:10038000FFE3F9830DC0833631F0833771F0833595 -:1003900009F057C021C0F801808189830E5F1F4F8B -:1003A00044244394512C540114C03801F2E06F0EE0 -:1003B000711CF801A080B18026FF03C0652D70E09C -:1003C00002C06FEF7FEFC5012C8772D12C01830132 -:1003D0002C852F77222E16C03801F2E06F0E711C8B -:1003E000F801A080B18026FF03C0652D70E002C037 -:1003F0006FEF7FEFC5012C8750D12C012C85206831 -:10040000222E830123FC19C0832D90E04816590643 -:10041000A0F4B70180E290E056D13A94F5CFF5010F -:1004200027FC859127FE81915F01B70190E04BD1B8 -:1004300031103A94F1E04F1A51084114510479F700 -:10044000DEC0843611F0893631F5F80127FF07C088 -:1004500060817181828193810C5F1F4F08C0608130 -:100460007181882777FD8095982F0E5F1F4F2F761B -:10047000B22E97FF09C090958095709561957F4F3A -:100480008F4F9F4F2068B22E2AE030E0A4014DD15B -:10049000A82EA81843C0853729F42F7EB22E2AE053 -:1004A00030E025C0F22FF97FBF2E8F36C1F018F44F -:1004B000883579F0ADC0803719F0883721F0A8C0B1 -:1004C0002F2F2061B22EB4FE0DC08B2D8460B82E6C -:1004D00009C024FF0AC09F2F9660B92E06C028E0ED -:1004E00030E005C020E130E002C020E132E0F80158 -:1004F000B7FE07C060817181828193810C5F1F4FBD -:1005000006C06081718180E090E00E5F1F4FA40102 -:100510000CD1A82EA818FB2DFF77BF2EB6FE0BC05E -:100520002B2D2E7FA51450F4B4FE0AC0B2FC08C0D7 -:100530002B2D2E7E05C07A2C2B2D03C07A2C01C0CA -:10054000752C24FF0DC0FE01EA0DF11D8081803362 -:1005500011F4297E09C022FF06C07394739404C06D -:10056000822F867809F0739423FD12C020FF06C005 -:100570005A2C731418F4530C5718732C731460F41A -:10058000B70180E290E02C879ED073942C85F6CF43 -:10059000731410F4371801C0312C24FF11C0B701B7 -:1005A00080E390E02C878FD02C8522FF16C021FF9E -:1005B00003C088E590E002C088E790E0B7010CC076 -:1005C000822F867851F021FD02C080E201C08BE2CB -:1005D00027FD8DE2B70190E076D0A51430F4B70185 -:1005E00080E390E070D05A94F8CFAA94F401EA0D19 -:1005F000F11D8081B70190E066D0A110F6CF3320C5 -:1006000009F45DCEB70180E290E05DD03A94F7CF77 -:10061000F7018681978102C08FEF9FEF2C960FB66E -:10062000F894DEBF0FBECDBFDF91CF911F910F9128 -:10063000FF90EF90DF90CF90BF90AF909F908F9002 -:100640007F906F905F904F903F902F900895F99911 -:10065000FECF92BD81BDF89A992780B50895A6E195 -:10066000B0E044E050E0C1C00396272FCDD0CBD0FE -:10067000252FCAD0242FC8C0262FF999FECF1FBA24 -:1006800092BD81BD20BD0FB6F894FA9AF99A0FBEBB -:1006900001960895992788270895FC0105906150D7 -:1006A00070400110D8F7809590958E0F9F1F089588 -:1006B000FC016150704001900110D8F78095909531 -:1006C0008E0F9F1F08950F931F93CF93DF93182FC3 -:1006D000092FEB018B8181FD03C08FEF9FEF20C0BD -:1006E00082FF10C04E815F812C813D8142175307EC -:1006F0007CF4E881F9819F012F5F3F4F3983288384 -:10070000108306C0E885F985812F1995892B29F773 -:100710002E813F812F5F3F4F3F832E83812F902F6C -:10072000DF91CF911F910F910895FA01AA272830E8 -:1007300051F1203181F1E8946F936E7F6E5F7F4FAE -:100740008F4F9F4FAF4FB1E03ED0B4E03CD0670F2A -:10075000781F891F9A1FA11D680F791F8A1F911D7D -:10076000A11D6A0F711D811D911DA11D20D009F4CD -:1007700068943F912AE0269F11243019305D31930F -:10078000DEF6CF010895462F4770405D4193B3E0F8 -:100790000FD0C9F7F6CF462F4F70405D4A3318F09F -:1007A000495D31FD4052419302D0A9F7EACFB4E050 -:1007B000A6959795879577956795BA95C9F7009708 -:1007C0006105710508959B01AC010A2E06945795A9 -:1007D000479537952795BA95C9F7620F731F841F00 -:1007E000951FA01D0895DC01CB01FC01F999FECFF6 -:1007F00006C0F2BDE1BDF89A319600B40D924150A9 -:100800005040B8F70895262FF999FECF92BD81BDCB -:10081000F89A019700B4021639F01FBA20BD0FB63E -:10082000F894FA9AF99A0FBE089510E6CEECD0E645 -:1008300000E006C022970109FE010BBF0E9474FB75 -:0E084000C03DD10780E00807A9F7F894FFCF6C -:10084E0000001D1E20000A01FF3FFF3F0000803FF9 -:10085E00F45A0344EA784C3F33B323420E0A140889 -:10086E001A0620042602344EE84D9F4D604D2E4D43 -:10087E00DC4CA34C484C094CC94B7F4B354BEB4AD7 -:10088E00974A434AEA49AA4960491649CC487848EA -:10089E002448CB479C4750470147D346AB46754645 -:1008AE0047461946EB45BD458B4559451645DD4432 -:1008BE009F44644443441B44F343D8439D437B43CA -:1008CE0054432D430643DC42B94296426E424142A6 -:1008DE002D421942FB41DD41BF41A14183415641A9 -:1008EE002E410641E840DE40D440CA40C040A740F9 -:1008FE00754057402540F33FC13F8F3F5D3F253F39 -:10090E00043FD73EAA3E6E3E323EF63DB53D743DA7 -:10091E00363DE33CBB3C873C5D3C3A3CF93BB43B4B -:10092E006B3B303BEA3AB63A5F3A0E3AC5398A39F2 -:10093E0056392639EF38B83881385E382C38F537C5 -:10094E00C83796373E370237BF366A361036E3352C -:10095E00AC3575352F35E93494344D341434D433E5 -:10096E00833351331F33D03278324B322932D03168 -:10097E00AA315E314C313C31E630953044300C308A -:10098E00C22F772F1B2FC42E6E2E0E2EB52D582D47 -:10099E00FE2CC72C9F2C4F2CFA2BAA2B5A2B1E2B1E -:1009AE00CE2A832A102A012AA729A8280D283B27F8 -:1009BE0069260A26BA25742501258E241B24A82310 -:1009CE00352395222222E621972149211321D61C77 -:1009DE009F1C041CB61989192A19D0187B18531894 -:1009EE002B180318DB17B3178B170E17DC16C3164D -:1009FE0073161416D31574152415ED1489142514B5 -:100A0E00DF13B71371131713BD126D12FF1191116E -:100A1E002D11E2106010CA0F7F0F340FF40E7C0EF2 -:100A2E00540EF20DB80D600D080DAA0C6A0C1C0CBC -:100A3E00C00B740B1E0BEA0ACA0A9A0A460A060A69 -:100A4E00B0095D091909D0087A082208CA07720789 -:100A5E001A07C2066B061D06D5057D053C05F30477 -:100A6E00444EF64DAC4D6C4D384DED4CAD4C5C4C92 -:100A7E00184CD74B8F4B454BFB4AA94A554AFD495B -:100A8E00B84970492649DC488A483648DE47A747A8 -:100A9E005E470F47DE46B3467E4653462546F7452C -:100AAE00C645954563452745EC44AF446D444944DE -:100ABE002344FB43DF43AC4384435D4336430F4340 -:100ACE00E542C0429D4276424A4231421D420142B7 -:100ADE00E341C541A74189415F4136410E41EE4098 -:100AEE00E040D640CC40C240AC407F405D402F40FD -:100AFE00FD3FCB3F993F673F313F0A3FE03EB33E5C -:100B0E007A3E3E3E023EC23D813D433DF33CC33CF8 -:100B1E00923C663C433C073CC03B7A3B3A3BF83A3E -:100B2E00BF3A703A1F3AD43993395F393039FA38AF -:100B3E00C3388C38653836380038D137A03750373F -:100B4E000B37CA367B362236EC35B7358035413514 -:100B5E00F734A4345C341F34E03391335C332733E1 -:100B6E00DF328A3254322F32DF31B0316A315031B6 -:100B7E004031F530A73055301A30D22F832F2D2F1C -:100B8E00D62E802E202EC72D692D0B2DD22CA72CC4 -:100B9E005F2C0B2CBA2B6A2B2A2BDE2A922A272AA1 -:100BAE00042AB929DB282C28652793261D26CA2559 -:100BBE0082251825A5243224BF234C23B5223922A1 -:100BCE00F121A3215B211E21AF1DAA1C231C2C1A6F -:100BDE0092193D19E2188C185B1833180B18E3178D -:100BEE00BB1793172717E616C81683162716E01598 -:100BFE0087153415F8149D143914ED13BF137F1394 -:100C0E002913CF127D121512A7114111F1107A106E -:100C1E00E80F8E0F430F020F940E5B0E070EC30DDF -:100C2E00710D190DBB0C770C2E0CD20B810B2E0BEC -:100C3E00F30AD10AA20A560A130AC3096E09260933 -:100C4E00DF088C083408DC0784072C07D4067D06E1 -:100C5E002F06E7058F0549050005534E074EBD4D7E -:100C6E007B4D424DFC4CBE4C6D4C234CE34B9D4B8F -:100C7E00534B094BB94A654A0E4AC4497E49344919 -:100C8E00EA489A484648EF47AF476E472047E64640 -:100C9E00BB4689465B462D46FF45CF459F456D4574 -:100CAE003245F544B94477444F442B440344E4435E -:100CBE00B7438A4364433D431643ED42C742A442C1 -:100CCE007E425342354221420742E941CB41AD417A -:100CDE008F4168413E411641F440E240D840CE403B -:100CEE00C440B1408940634039400740D53FA33FDF -:100CFE00713F3D3F113FE93EBC3E863E4A3E0E3EB1 -:100D0E00CF3D8E3D4F3D043DCB3C9E3C6E3C4B3C1F -:100D1E00183CD13B8C3B453B0A3BC93A823A313AAF -:100D2E00E239A239703937390539CE3897386C38EF -:100D3E0040380B38DA37AA3762371937D9368C363E -:100D4E003436F535C2358B354D350535B6346B3405 -:100D5E002A34ED33A73363333333EF329F325D32B0 -:100D6E003632F131B8317C31533143310531B63041 -:100D7E0063302130E12F912F3E2FE82E902E342E0E -:100D8E00D92D7B2D1D2DDD2CAF2C6F2C1C2CCA2BA1 -:100D9E007A2B362BEE2AA12A3E2A072ACB290E2998 -:100DAE004B288F27BD263026DA2590252F25BC24EB -:100DBE004924D6236323D5225022FF21B5216B214E -:100DCE002A21881EB51C421CA21A9B195019F41810 -:100DDE009D1863183B181318EB17C3179B17401772 -:100DEE00F016CD1693163A16ED159A1544150315F1 -:100DFE00B1144D14FB13C7138D133B13E1128D1257 -:100E0E002B12BD1155110011941006109D0F520F8B -:100E1E000E0FAC0E630E190ECF0D830D2B0DD40CD1 -:100E2E00820C400CE40B910B470BFF0AD70AAD0A5C -:100E3E00680A200AD4097D093409EF089C0846087F -:100E4E00EC0796073E07E6068D063906F005A00567 -:100E5E0057051205644E184ECD4D8B4D4C4D0E4D13 -:100E6E00C84C7E4C2E4CEF4BAB4B614B174BC94ACB -:100E7E00754A1F4AD0498C494249F848AA485648F3 -:100E8E000048B9477E473147EE46C346944663460F -:100E9E0035460746D945A94577453D45FE44C344E9 -:100EAE009044564433440B44EB43BF4391436B434E -:100EBE0044431D43F542CE42AB4286425C42394228 -:100ECE0025420D42EF41D141B34195417141464119 -:100EDE001E41FA40E440DA40D040C640B64093404E -:100EEE00694043401140DF3FAD3F7B3F493F183FD4 -:100EFE00F23EC53E923E563E1A3EDC3D9B3D5B3D6C -:100F0E00153DD33CA53C763C523C1E3CE13B9B3B05 -:100F1E00533B163BD83A943A413AF239B3397839C1 -:100F2E0042391039D938A23873384A381638E3376F -:100F3E00B43775372737E8369D364636FE35CD350C -:100F4E00963558351335C8347A343434FA33B633CB -:100F5E0070333F33FE32B23266323D320132C0312F -:100F6E008C31563146311531C53071302930F02F64 -:100F7E00A32F4F2FFB2E9F2E4A2EEA2D8D2D332D74 -:100F8E00E82CB72C7F2C2D2CDA2B8A2B422BFE2A09 -:100F9E00B02A552A0A2ADD2941296A28B927E726C7 -:100FAE004326EA259E254625D3246024ED237A2365 -:100FBE00F52267221022CA217D213821611FC01C13 -:100FCE00611C181BA41963190619AE186B18431867 -:100FDE001B18F317CB17A3175917FA16D216A31609 -:100FEE004D16FA15AD1554150E15C51461140914C8 -:100FFE00CF139B134D13F3129D124112D31169118E -:10100E000F11AE102410AC0F610F1A0FC40E6C0E20 -:10101E002A0EDB0D950D3D0DE60C8C0C4D0CF80BD0 -:10102E00A60B580B0C0BDE0ABA0A7A0A2C0AE30935 -:10103E008F093F09FD08AC085608FE07A6074E07A4 -:10104E00F6069E064706F905B10563052005704EA6 -:10105E00264EDB4D9A4D564D1D4DD24C924C3D4C6D -:10106E00FD4BBB4B714B274BDB4A874A324ADE495D -:10107E009C4952490849BC4868481348C2478C47A6 -:10108E003F47F946CB46A1466E4640461246E245DC -:10109E00B34581454E450D45D34499445D443B448B -:1010AE001344EF43CE43984374434D432643FE42CD -:1010BE00D542B2428E4265423D4229421342F5412B -:1010CE00D741B9419B417A414E4126410041E6400C -:1010DE00DC40D240C840BB409D406F404D401B405D -:1010EE00E93FB73F853F513F1E3FFB3ECE3E9E3E02 -:1010FE00623E263EE93DA83D683D253DDB3CAF3CCA -:10110E007F3C583C2E3CEC3BA93B5D3B253BE13AFA -:10111E00A53A503A003ABC3981394C391B39E4387A -:10112E00AD387A3854382138EC37BE3786373037F9 -:10113E00F336AE3658360736D835A13567352135F4 -:10114E00D934893441340634C3337A3349330F33B7 -:10115E00C2326F3244321532C83197315A31493169 -:10116E002831D63084303830FE2FB22F642F0B2F1B -:10117E00B12E5C2EFC2DA22D472DF32CBF2C8F2CC7 -:10118E003E2CEA2B9A2B4E2B0E2BBF2A6C2A0D2AA5 -:10119E00EF2974298928E32711275626FA25AC252D -:1011AE005D25EA2477240424912315237E221A2216 -:1011BE00D8218B2140213A20CB1C801C8E1BAD19CF -:1011CE0076191819BF1873184B182318FB17D31755 -:1011DE00AB1772170417D716B31660160716C0157D -:1011EE0064151915D91475141714D713A9135F1391 -:1011FE000513AD125712E9117D111E11C8104210C0 -:10120E00BB0F700F280FDC0E740E3F0EE60DA60DF1 -:10121E004E0DF70C9B0C5C0C0A0CB30B670B150BED -:10122E00E40AC20A8A0A390AF5099D094C090B0912 -:10123E00BE0868081008B80760070807B006590608 -:10124E000B06C30570052D050160EA00000080BB8A -:10125E0044010100000041000034420000504100F2 -:10126E000040400000564300004643000049430042 -:10127E00000000000000001F856B3E0000803F0054 -:10128E00004040640064006400640000803B450040 -:10129E00803B4500007043000000000287C301320E -:1012AE0000E6006400DC005A00F0006400FE00015D -:1012BE00010101011C02C201F4010E01C201C201B1 -:1012CE000E01C201C20100000243FF0000400014E3 -:1012DE00005400001F1511151F00000C12120C00F7 -:1012EE00000000040A0A0A0A11110E040E1F041C43 -:1012FE000000000006191803130C00001C1F11112A -:10130E001F00000004120912040000000E13151134 -:10131E000E00000000000000110A040000C8420088 -:10132E0000C84200007A45CD4C21430000FA43002C -:10133E0000FA43000040400000C841282300002866 -:10134E002300001E000000102700001010101010C7 -:10135E00504944204175746F74756E6520737461C5 -:10136E00727400504944204175746F74756E652017 -:10137E006661696C65642E204261642065787472C2 -:10138E0075646572206E756D6265722E00000000C8 -:10139E0000324DB4F52F006F70656E206661696C7A -:1013AE0065642C2046696C653A20004E6F7420707F -:1013BE0072696E74696E670053442D5052494E54D3 -:1013CE00494E47202020202020202020004D313162 -:1013DE003200332E302E3100315F37356D6D2D5288 -:1013EE00414D426F3133612D453344763666756C0F -:1013FE006C003F0050727573612069330020703AA3 -:10140E000020693A0020643A0020633A005400003C -:10141E00000100250030001D000C001800240031D2 -:10142E00001C000B00170023002F001B000A001EDB -:10143E000047000400060022002B001A00030036AD -:10144E000037003500380058595A454F4B00052ECD -:10145E002E003E00206D6D006D2000636D00682033 -:10146E000073006B6D0068007C002D2D2D2D2D2D31 -:10147E002D2D2D2D2D2D2D2D2D2D2D2D2D2D0048A0 -:10148E006F74656E640058005900426564004C6FBD -:10149E006164696E672066696C616D656E74003497 -:1014AE00002020202020202020202020202020204E -:1014BE0020202020200001005E0020205A00203A2B -:1014CE00200000803B4500803B450000704300003B -:1014DE00704200000000A4D1B4F50000000007ED3A -:0A14EE00DBECB0ECB8ECCBECDAEC70 -:00000001FF diff --git a/hex_files/1_75mm-RAMBo13a-E3Dv6lite.hex b/hex_files/1_75mm-RAMBo13a-E3Dv6lite.hex deleted file mode 100644 index b45956576..000000000 --- a/hex_files/1_75mm-RAMBo13a-E3Dv6lite.hex +++ /dev/null @@ -1,8531 +0,0 @@ -:100000000C9468300C9499300C9499300C9499307D -:100010000C9499300C9499300C9499300C9499303C -:100020000C9499300C9499300C9499300C9499302C -:100030000C9499300C947FF40C9499300C94993072 -:100040000C9499300C94AAD20C9499300C94993059 -:100050000C9499300C9499300C9415490C943FF001 -:100060000C9499300C9478CF0C9499300C9499306E -:100070000C9499300C9499300C9499300C949930DC -:100080000C9499300C9499300C9499300C949930CC -:100090000C9499300C9499300C9499300C9471ED27 -:1000A0000C9499300C9499300C9499300C949930AC -:1000B0000C9499300C9499300C9499300C9499309C -:1000C0000C9499300C9499300C9499300C9499308C -:1000D0000C9499300C9499300C9499300C9499307C -:1000E0000C949930624970498C499A49B449C24983 -:1000F000DC49E049E249E649EE49C3EEC8EECDEEFF -:10010000D7EE50EFE1EEE9EEF1EEFBEE05EF0FEF8B -:100110001EEF28EF50EF32EF3CEF46EF6EEF71EF3E -:1001200064EF68EFA8EF75EF79EF7FEF83EF87EF6C -:100130008DEF91EF95EFA8EF9BEF9FEFA3EF084AAC -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8 -:100190003F2F5B5D3B2C2A225C004572723A204D5A -:1001A000415854454D50204245440054656D70659A -:1001B000726174757265206865617465642062653A -:1001C00064207377697463686564206F66662E20A7 -:1001D0004D415854454D502074726967676572658A -:1001E000642021004572723A204D494E54454D50CD -:1001F000003A20457874727564657220737769746B -:1002000063686564206F66662E204D494E54454DE7 -:1002100050207472696767657265642021004572B9 -:10022000723A204D415854454D50003A204578745B -:100230007275646572207377697463686564206F92 -:1002400066662E204D415854454D502074726967A2 -:100250006765726564202100544845524D414C2029 -:1002600052554E4157415900202D20496E76616C00 -:100270006964206578747275646572206E756D624C -:100280006572202100504944204175746F74756E69 -:10029000652066696E6973686564212050757420F5 -:1002A000746865206C617374204B702C204B69203E -:1002B000616E64204B6420636F6E7374616E74733F -:1002C0002066726F6D2061626F766520696E746F53 -:1002D00020436F6E66696775726174696F6E2E6810 -:1002E00000504944204175746F74756E65206661D5 -:1002F000696C6564212074696D656F7574002040B8 -:100300003A006F6B20543A006F6B20423A0050491C -:1003100044204175746F74756E65206661696C6503 -:1003200064212054656D7065726174757265207406 -:100330006F6F206869676800204B643A2000204B8B -:10034000693A2000204B703A200020436C6173739F -:1003500069632050494420002054753A2000204B06 -:10036000753A2000206D61783A2000206D696E3A60 -:10037000200020643A200020626961733A20001056 -:1003800000C90210012C014001220170011801B0C6 -:10039000010E01F00104015002FA00B002F0003039 -:1003A00003E600D003DC009004D2007005C800A072 -:1003B00006BE000008B400B009AA00D00BA000607F -:1003C0000E960060118C000015820020197800C084 -:1003D0001D6E00A0226400B0275A00902C5000002F -:1003E000314600E0343C0010383200903A2800607A -:1003F0003C1E00A03D1400803E0A00203F0000701B -:10040000012C0190012701B0012201C0011D01F062 -:100410000118011002130130020E0160020901905F -:10042000020401C002FF000003FA004003F500804F -:1004300003F000D003EB002004E6007004E100E0CC -:1004400004DC004005D700C005D2004006CD00D036 -:1004500006C8008007C3003008BE00F008B900C01D -:1004600009B400B00AAF00B00BAA00D00CA5000080 -:100470000EA000500F9B00C010960050129100007B -:10048000148C00C0158700B0178200B0197D00D011 -:100490001B7800001E730040206E0090226900F05F -:1004A00024640040275F0090295A00E02B5500107B -:1004B0002E500020304B0010324600E033410090B7 -:1004C000353C001037370070383200A0392D00B0AD -:1004D0003A2800A03B2300603C1E00103D1900900C -:1004E0003D1400103E0F00703E0A00C03E050000A3 -:1004F0003F00004472756B207A2055534220200043 -:10050000496D70726573696F6E2064652055534242 -:1005100020005374616D7061206461205553420066 -:100520005469736B207A2055534220200055534262 -:10053000207072696E74696E672020005374617454 -:10054000797374796B6120200045737461646973F9 -:100550007469636120200053746174697374696302 -:1005600068650053746174697374696B612020005D -:100570005374617469737469637320200053656CEC -:100580006674657374206E69657564616E79004187 -:1005900075746F746573742066616C6C61646F0050 -:1005A0004175746F746573742066616C6C69746FE7 -:1005B0000053656C66746573742073656C68616C58 -:1005C00020200053656C6674657374206661696CE5 -:1005D000656420200053656C667465737420202068 -:1005E000202020202020004175746F7465737400F2 -:1005F0004175746F746573740053656C66746573CC -:10060000742020202020202020200053656C667458 -:100610006573742020202020202020200057737A2A -:100620007973746B6F204F4B2020202020200054C2 -:100630006F646F2062696520004E657373756E206C -:100640006572726F726500567365204F4B202020D3 -:10065000202020202020202000416C6C20636F721D -:1006600072656374202020202020004B6F6E74720E -:100670006F6C6120626564202020202000436F6E33 -:1006800074726F6C2064652063616D6100566572E1 -:1006900069666963612070696173747261004B6F90 -:1006A0006E74726F6C6120626564202020202000CF -:1006B000436865636B696E67206265642020202053 -:1006C00020004B6F6E74726F6C61205A20617869E4 -:1006D00073202000436F6E74726F6C2064656C2011 -:1006E000656A65205A0056657269666963612061B2 -:1006F000737365205A004B6F6E74726F6C61205A71 -:100700002061786973202000436865636B696E67B8 -:10071000205A20617869732020004B6F6E74726FCD -:100720006C6120592061786973202000436F6E74DA -:10073000726F6C2064656C20656A6520590056658F -:1007400072696669636120617373652059004B6F3C -:100750006E74726F6C61205920617869732020007B -:10076000436865636B696E672059206178697320FF -:1007700020004B6F6E74726F6C6120582061786935 -:1007800073202000436F6E74726F6C2064656C2060 -:10079000656A652058005665726966696361206103 -:1007A0007373652058004B6F6E74726F6C612058C4 -:1007B0002061786973202000436865636B696E6708 -:1007C000205820617869732020004B6F6E74726F1F -:1007D0006C6120686F74656E64202000436F6E74D6 -:1007E000726F6C20686F74656E6420005665726964 -:1007F00066696361206C696D2074656D70004B6F74 -:100800006E74726F6C6120686F74656E6420200076 -:10081000436865636B696E6720686F74656E6420FA -:1008200020004B6F6E74726F6C6120656E64737420 -:100830006F707300436F6E742E20746F7065732039 -:1008400066696E616C005665726966696361206CE9 -:10085000696D697469004B6F6E74726F6C612065AD -:100860006E6473746F707300436865636B696E6761 -:1008700020656E6473746F70730053656C662074CA -:100880006573742073746172742020004175746FF5 -:10089000746573742073616C69646100496E697A70 -:1008A0006961206175746F746573740053656C665B -:1008B0002074657374207374617274202000536512 -:1008C0006C662074657374207374617274202000E8 -:1008D000437A6173206472756B75203A202000544E -:1008E00069656D706F20646520696D702E3A0054E3 -:1008F000656D706F207374616D70613A0043617350 -:10090000207469736B75203A2020005072696E74F0 -:100910002074696D653A20200046696C616D656ED2 -:1009200074203A20200046696C616D656E746F20FA -:100930003A20200046696C616D656E746F3A00461E -:10094000696C616D656E74203A20200046696C61A7 -:100950006D656E7420757365643A202000437A617A -:10096000732063616C6B6F77697479203A00546906 -:10097000656D706F20746F74616C203A0054656D02 -:10098000706F207374616D706120746F743A0043EE -:10099000656C6B6F767920636173203A00546F74D5 -:1009A000616C207072696E742074696D65203A0004 -:1009B00046696C616D656E74206C61637A6E696501 -:1009C000203A0046696C616D656E746F20746F74B7 -:1009D000616C3A0046696C616D656E746F20746F6E -:1009E000743A0046696C616D656E742063656C6B6A -:1009F000656D203A00546F74616C2066696C616D9E -:100A0000656E74203A0053656C66207465737420BB -:100A10004F4B0053656C662074657374204F4B0018 -:100A20004175746F74657374204F4B0053656C6629 -:100A30002074657374204F4B0053656C6620746599 -:100A40007374204F4B00456E6473746F70206E6F2B -:100A5000742068697400546F70652066696E2E207A -:100A60006E6F20746F632E004C696D2E2066756F5B -:100A70007269706F727461746100456E6473746F33 -:100A800070206E6F742068697400456E6473746FB3 -:100A900070206E6F742068697400456E6473746FA3 -:100AA0007000546F70652066696E616C004C696DF2 -:100AB00069746520636F72736100456E6473746F4F -:100AC0007000456E6473746F700053696C6E696B6F -:100AD000004D6F746F72004D6F746F7265004D6FD3 -:100AE000746F72004D6F746F7200456E6473746F33 -:100AF000707300546F7065732066696E616C004C92 -:100B0000696D69746920636F72736100456E647307 -:100B1000746F707300456E6473746F707300426C11 -:100B2000616420706F6C61637A656E696100457203 -:100B3000726F7220646520636F6E657869C383C6C7 -:100B400092C382C2B36E004572726F726520636198 -:100B5000626C616767696F004368796261207A61DE -:100B6000706F6A656E6900576972696E6720657299 -:100B7000726F7200426564202F204865617465724F -:100B80000043616D612F43616C656E7461646F72C7 -:100B900000506961737472612F52697363616C6490 -:100BA00061746F726500426564202F20486561742E -:100BB000657200426564202F20486561746572008B -:100BC0004865617465722F546865726D6973746FDE -:100BD000720043616C656E742E2F5465726D69737B -:100BE000746F720052697363616C642E2F54657266 -:100BF0006D6973746F7265004865617465722F5416 -:100C00006865726D6973746F7200486561746572AE -:100C10002F546865726D6973746F72004E69652038 -:100C2000706F646C61637A6F6E6F202020004E6F6E -:100C30002068617920636F6E6578696F6E2020008F -:100C40004E6F6E20636F6E6E6573736F004E657AC4 -:100C500061706F6A656E6F20202020004E6F7420D7 -:100C6000636F6E6E656374656400536B6F6E747250 -:100C70006F6C756A203A00436F6E74726F6C6120FE -:100C80003A0056657269666963613A005A6B6F6E25 -:100C900074726F6C756A7465203A00506C6561738C -:100CA0006520636865636B203A0053656C66746504 -:100CB0007374206572726F72202100C383E2809A80 -:100CC000C382C2A14175746F7465737420657272BA -:100CD0006F7221004175746F74657374206E65675F -:100CE000617469766F0053656C6674657374206512 -:100CF00072726F7220210053656C66746573742084 -:100D00006572726F72202100686F77746F2E707237 -:100D100075736133642E637A00686F77746F2E7019 -:100D20007275736133642E636F6D00686F77746FD3 -:100D30002E707275736133642E636F6D00686F7708 -:100D4000746F2E707275736133642E637A00686FEE -:100D500077746F2E707275736133642E636F6D00DC -:100D6000666F72756D2E707275736133642E637A5F -:100D700000666F72756D2E707275736133642E63C9 -:100D80006F6D00666F72756D2E707275736133646E -:100D90002E636F6D00666F72756D2E707275736164 -:100DA00033642E637A00666F72756D2E7072757380 -:100DB0006133642E636F6D00707275736133642EDE -:100DC000637A00707275736133642E636F6D0070A7 -:100DD0007275736133642E636F6D00707275736129 -:100DE00033642E637A00707275736133642E636F9F -:100DF0006D005779626F72206A657A796B61202085 -:100E00002020202020200043616D626961206C61F8 -:100E1000206C656E677561200053656C657A2E20C5 -:100E20006C61206C696E677561005679626572202D -:100E30006A617A796B6120202020202020200053D5 -:100E4000656C656374206C616E67756167652020F1 -:100E500020202000506F6C736B6900457370616EC9 -:100E60006F6C004974616C69616E6F0043657374E7 -:100E7000696E6100456E676C697368004572726FD8 -:100E80007220696E206D656E75207374727563745F -:100E9000757265004572726F7220696E206D656EA5 -:100EA0007520737472756374757265004572726F24 -:100EB0007220696E206D656E75207374727563742F -:100EC000757265004572726F7220696E206D656E75 -:100ED0007520737472756374757265004572726FF4 -:100EE0007220696E206D656E7520737472756374FF -:100EF00075726500446F737461766F76616E6920F8 -:100F00005A0041646A757374696E67205A004164BF -:100F10006A757374696E67205A00446F73746176E2 -:100F20006F76616E69205A0041646A757374696EE8 -:100F300067205A00426162797374657070696E67E8 -:100F4000205900426162797374657070696E672020 -:100F50005900426162797374657070696E672059D7 -:100F600000426162797374657070696E6720590020 -:100F7000426162797374657070696E6720590042CE -:100F80006162797374657070696E672058004261A0 -:100F900062797374657070696E672058004261628F -:100FA000797374657070696E672058004261627968 -:100FB0007374657070696E6720580042616279735E -:100FC00074657070696E6720580020746F6F206CB4 -:100FD0006F6E6720657874727573696F6E207072BA -:100FE0006576656E7465640020746F6F206C6F6E3B -:100FF0006720657874727573696F6E20707265769C -:10100000656E7465640020746F6F206C6F6E67206E -:10101000657874727573696F6E2070726576656E2F -:101020007465640020746F6F206C6F6E6720657844 -:1010300074727573696F6E2070726576656E746513 -:10104000640020746F6F206C6F6E67206578747217 -:101050007573696F6E2070726576656E7465640075 -:1010600020636F6C6420657874727573696F6E208D -:1010700070726576656E7465640020636F6C6420C1 -:10108000657874727573696F6E2070726576656EBF -:101090007465640020636F6C642065787472757386 -:1010A000696F6E2070726576656E7465640020638A -:1010B0006F6C6420657874727573696F6E207072DE -:1010C0006576656E7465640020636F6C6420657876 -:1010D00074727573696F6E2070726576656E746573 -:1010E0006400656E6473746F7073206869743A206D -:1010F00000656E6473746F7073206869743A2000C1 -:10110000656E6473746F7073206869743A2000654B -:101110006E6473746F7073206869743A2000656E32 -:101120006473746F7073206869743A200053746537 -:10113000707261746520746F6F20686967683A2007 -:1011400000537465707261746520746F6F206869F4 -:1011500067683A2000537465707261746520746F1B -:101160006F20686967683A20005374657072617413 -:101170006520746F6F20686967683A200053746552 -:10118000707261746520746F6F20686967683A20B7 -:101190000043616E6E6F7420656E746572207375A6 -:1011A000626469723A200043616E6E6F7420656EEE -:1011B000746572207375626469723A200043616ECF -:1011C0006E6F7420656E74657220737562646972E7 -:1011D0003A200043616E6E6F7420656E74657220F4 -:1011E0007375626469723A200043616E6E6F742099 -:1011F000656E746572207375626469723A20006569 -:1012000072726F722077726974696E6720746F20D2 -:1012100066696C65006572726F72207772697469B5 -:101220006E6720746F2066696C65006572726F72FC -:101230002077726974696E6720746F2066696C65C7 -:10124000006572726F722077726974696E672074BC -:101250006F2066696C65006572726F7220777269C3 -:1012600074696E6720746F2066696C65004E6F74D8 -:10127000205344207072696E74696E67004E6F74FB -:10128000205344207072696E74696E67004E6F74EB -:10129000205344207072696E74696E67004E6F74DB -:1012A000205344207072696E74696E67004E6F74CB -:1012B000205344207072696E74696E670053442035 -:1012C0007072696E74696E6720627974652000536C -:1012D00044207072696E74696E672062797465204B -:1012E000005344207072696E74696E67206279746D -:1012F0006520005344207072696E74696E672062C5 -:1013000079746520005344207072696E74696E6749 -:101310002062797465200057726974696E67207461 -:101320006F2066696C653A200057726974696E6750 -:1013300020746F2066696C653A2000577269746981 -:101340006E6720746F2066696C653A200057726979 -:1013500074696E6720746F2066696C653A20005767 -:10136000726974696E6720746F2066696C653A20D3 -:101370000046696C652073656C656374656400463E -:10138000696C652073656C65637465640046696C9F -:10139000652073656C65637465640046696C6520DF -:1013A00073656C65637465640046696C652073657C -:1013B0006C6563746564002053697A653A20002087 -:1013C00053697A653A20002053697A653A200020F3 -:1013D00053697A653A20002053697A653A200046BD -:1013E000696C65206F70656E65643A200046696CB3 -:1013F00065206F70656E65643A200046696C6520F3 -:101400006F70656E65643A200046696C65206F7088 -:10141000656E65643A200046696C65206F70656E84 -:1014200065643A20006F70656E206661696C656462 -:101430002C2046696C653A20006F70656E206661ED -:10144000696C65642C2046696C653A20006F706594 -:101450006E206661696C65642C2046696C653A2073 -:10146000006F70656E206661696C65642C2046694A -:101470006C653A20006F70656E206661696C65640A -:101480002C2046696C653A2000776F726B44697254 -:10149000206F70656E206661696C656400776F729D -:1014A0006B446972206F70656E206661696C65645B -:1014B00000776F726B446972206F70656E20666191 -:1014C000696C656400776F726B446972206F706538 -:1014D0006E206661696C656400776F726B44697237 -:1014E000206F70656E206661696C656400534420EE -:1014F00063617264206F6B005344206361726420E7 -:101500006F6B0053442063617264206F6B0053441F -:101510002063617264206F6B0053442063617264C6 -:10152000206F6B006F70656E526F6F74206661691B -:101530006C6564006F70656E526F6F7420666169D0 -:101540006C6564006F70656E526F6F7420666169C0 -:101550006C6564006F70656E526F6F7420666169B0 -:101560006C6564006F70656E526F6F7420666169A0 -:101570006C656400766F6C756D652E696E6974209C -:101580006661696C656400766F6C756D652E696E59 -:101590006974206661696C656400766F6C756D6551 -:1015A0002E696E6974206661696C656400766F6C83 -:1015B000756D652E696E6974206661696C6564007D -:1015C000766F6C756D652E696E6974206661696CE5 -:1015D000656400534420696E6974206661696C001B -:1015E000534420696E6974206661696C005344201D -:1015F000696E6974206661696C00534420696E6984 -:1016000074206661696C00534420696E69742066B9 -:1016100061696C0043616E6E6F74206F70656E203F -:101620007375626469720043616E6E6F74206F70CF -:10163000656E207375626469720043616E6E6F74CB -:10164000206F70656E207375626469720043616E0D -:101650006E6F74206F70656E2073756264697200BE -:1016600043616E6E6F74206F70656E207375626477 -:10167000697200486F74656E64206F666673657486 -:10168000733A00486F74656E64206F6666736574A4 -:10169000733A00486F74656E64206F666673657494 -:1016A000733A00486F74656E64206F666673657484 -:1016B000733A00486F74656E64206F666673657474 -:1016C000733A006F70656E006F70656E006F7065C5 -:1016D0006E006F70656E006F70656E005452494702 -:1016E00047455245440054524947474552454400F6 -:1016F000545249474745524544005452494747458B -:1017000052454400545249474745524544005265AA -:10171000706F7274696E6720656E6473746F702089 -:10172000737461747573005265706F7274696E675B -:1017300020656E6473746F702073746174757300C8 -:101740005265706F7274696E6720656E6473746F32 -:101750007020737461747573005265706F72746970 -:101760006E6720656E6473746F7020737461747536 -:1017700073005265706F7274696E6720656E647372 -:10178000746F7020737461747573007A5F6D617823 -:101790003A20007A5F6D61783A20007A5F6D617857 -:1017A0003A20007A5F6D61783A20007A5F6D617847 -:1017B0003A20007A5F6D696E3A20007A5F6D696E3B -:1017C0003A20007A5F6D696E3A20007A5F6D696E2B -:1017D0003A20007A5F6D696E3A2000795F6D61781A -:1017E0003A2000795F6D61783A2000795F6D617809 -:1017F0003A2000795F6D61783A2000795F6D6178F9 -:101800003A2000795F6D696E3A2000795F6D696EEC -:101810003A2000795F6D696E3A2000795F6D696EDC -:101820003A2000795F6D696E3A2000785F6D6178CB -:101830003A2000785F6D61783A2000785F6D6178BA -:101840003A2000785F6D61783A2000785F6D6178AA -:101850003A2000785F6D696E3A2000785F6D696E9E -:101860003A2000785F6D696E3A2000785F6D696E8E -:101870003A2000785F6D696E3A2000496E76616C9F -:10188000696420657874727564657200496E76616A -:101890006C696420657874727564657200496E764F -:1018A000616C696420657874727564657200496E54 -:1018B00076616C696420657874727564657200493C -:1018C0006E76616C69642065787472756465720007 -:1018D0004163746976652045787472756465723AFF -:1018E000200041637469766520457874727564657B -:1018F000723A200041637469766520457874727588 -:101900006465723A20004163746976652045787495 -:1019100072756465723A200041637469766520458A -:10192000787472756465723A2000556E6B6E6F77CD -:101930006E20636F6D6D616E643A202200556E6B90 -:101940006E6F776E20636F6D6D616E643A2022005A -:10195000556E6B6E6F776E20636F6D6D616E643A5E -:10196000202200556E6B6E6F776E20636F6D6D6118 -:101970006E643A202200556E6B6E6F776E20636F37 -:101980006D6D616E643A202200526573656E643A33 -:101990002000526573656E643A2000526573656E6F -:1019A000643A2000526573656E643A200052657394 -:1019B000656E643A20005072696E746572207374AB -:1019C0006F707065642064756520746F2065727235 -:1019D0006F72732E20466978207468652065727274 -:1019E0006F7220616E6420757365204D393939201E -:1019F000746F20726573746172742E202854656D43 -:101A000070657261747572652069732072657365A3 -:101A1000742E205365742069742061667465722089 -:101A200072657374617274696E6729005072696EB1 -:101A30007465722073746F707065642064756520BE -:101A4000746F206572726F72732E204669782074ED -:101A50006865206572726F7220616E6420757365AF -:101A6000204D39393920746F207265737461727436 -:101A70002E202854656D70657261747572652069D9 -:101A8000732072657365742E205365742069742009 -:101A900061667465722072657374617274696E67D1 -:101AA00029005072696E7465722073746F7070656E -:101AB000642064756520746F206572726F72732E76 -:101AC0002046697820746865206572726F722061A3 -:101AD0006E6420757365204D39393920746F20721A -:101AE0006573746172742E202854656D706572611F -:101AF000747572652069732072657365742E205346 -:101B000065742069742061667465722072657374EF -:101B1000617274696E6729005072696E7465722013 -:101B200073746F707065642064756520746F2065D0 -:101B300072726F72732E2046697820746865206512 -:101B400072726F7220616E6420757365204D393931 -:101B50003920746F20726573746172742E2028545A -:101B6000656D706572617475726520697320726548 -:101B70007365742E205365742069742061667465E2 -:101B8000722072657374617274696E672900507295 -:101B9000696E7465722073746F707065642064750B -:101BA0006520746F206572726F72732E204669789B -:101BB00020746865206572726F7220616E64207592 -:101BC0007365204D39393920746F207265737461E3 -:101BD00072742E202854656D70657261747572651B -:101BE0002069732072657365742E205365742069B3 -:101BF00074206166746572207265737461727469B1 -:101C00006E6729005072696E7465722068616C7429 -:101C100065642E206B696C6C28292063616C6C658F -:101C20006421005072696E7465722068616C74651D -:101C3000642E206B696C6C28292063616C6C656470 -:101C400021005072696E7465722068616C746564FD -:101C50002E206B696C6C28292063616C6C65642193 -:101C6000005072696E7465722068616C7465642ED0 -:101C7000206B696C6C28292063616C6C65642100A1 -:101C80005072696E7465722068616C7465642E2090 -:101C90006B696C6C28292063616C6C656421002081 -:101CA000436F756E7420583A200020436F756E7430 -:101CB00020583A200020436F756E7420583A200057 -:101CC00020436F756E7420583A200020436F756E64 -:101CD0007420583A20004649524D574152455F4EB4 -:101CE000414D453A4D61726C696E2056312E302E51 -:101CF000323B20537072696E7465722F6772626C2A -:101D0000206D617368757020666F722067656E362E -:101D1000204649524D574152455F55524C3A6874DE -:101D20007470733A2F2F6769746875622E636F6DD4 -:101D30002F707275736133642F50727573612D69E2 -:101D4000332D506C75732F2050524F544F434F4CCE -:101D50005F56455253494F4E3A312E30204D414344 -:101D600048494E455F545950453A50727573612049 -:101D700069332045585452554445525F434F554EA0 -:101D8000543A3120555549443A30303030303030B3 -:101D9000302D303030302D303030302D303030304C -:101DA0002D3030303030303030303030300A004676 -:101DB00049524D574152455F4E414D453A4D617232 -:101DC0006C696E2056312E302E323B205370726972 -:101DD0006E7465722F6772626C206D6173687570C6 -:101DE00020666F722067656E36204649524D574116 -:101DF00052455F55524C3A68747470733A2F2F678E -:101E000069746875622E636F6D2F707275736133BC -:101E1000642F50727573612D69332D506C75732F5B -:101E20002050524F544F434F4C5F56455253494FE9 -:101E30004E3A312E30204D414348494E455F54596A -:101E400050453A5072757361206933204558545299 -:101E5000554445525F434F554E543A3120555549EC -:101E6000443A30303030303030302D303030302D5A -:101E7000303030302D303030302D30303030303068 -:101E80003030303030300A004649524D57415245CB -:101E90005F4E414D453A4D61726C696E2056312E50 -:101EA000302E323B20537072696E7465722F6772E8 -:101EB000626C206D617368757020666F7220676553 -:101EC0006E36204649524D574152455F55524C3A65 -:101ED00068747470733A2F2F6769746875622E6323 -:101EE0006F6D2F707275736133642F5072757361EB -:101EF0002D69332D506C75732F2050524F544F4322 -:101F00004F4C5F56455253494F4E3A312E30204D7B -:101F1000414348494E455F545950453A5072757394 -:101F2000612069332045585452554445525F434F10 -:101F3000554E543A3120555549443A3030303030BE -:101F40003030302D303030302D303030302D30309A -:101F500030302D3030303030303030303030300AAA -:101F6000004649524D574152455F4E414D453A4D0D -:101F700061726C696E2056312E302E323B205370C8 -:101F800072696E7465722F6772626C206D6173681E -:101F9000757020666F722067656E36204649524D17 -:101FA000574152455F55524C3A68747470733A2FDA -:101FB0002F6769746875622E636F6D2F7072757309 -:101FC0006133642F50727573612D69332D506C75B8 -:101FD000732F2050524F544F434F4C5F564552532E -:101FE000494F4E3A312E30204D414348494E455FCE -:101FF000545950453A5072757361206933204558E1 -:102000005452554445525F434F554E543A31205532 -:102010005549443A30303030303030302D30303067 -:10202000302D303030302D303030302D30303030B9 -:1020300030303030303030300A004649524D574150 -:1020400052455F4E414D453A4D61726C696E205666 -:10205000312E302E323B20537072696E7465722FB0 -:102060006772626C206D617368757020666F722094 -:1020700067656E36204649524D574152455F55526D -:102080004C3A68747470733A2F2F6769746875627C -:102090002E636F6D2F707275736133642F5072757C -:1020A00073612D69332D506C75732F2050524F542E -:1020B0004F434F4C5F56455253494F4E3A312E30A5 -:1020C000204D414348494E455F545950453A50725E -:1020D0007573612069332045585452554445525F09 -:1020E000434F554E543A3120555549443A303030DB -:1020F00030303030302D303030302D303030302DE9 -:10210000303030302D3030303030303030303030D2 -:10211000300A0053746F6C696B204F4B2E00426184 -:102120007365206C6973746F2E0050696174746FED -:1021300020666174746F2E00426564204F4B2E0040 -:1021400042656420646F6E650047727A616E6965EE -:102150002073746F6C696B612E2E00426173652071 -:1021600043616C656E74616E646F00506961747474 -:102170006F2072697363616C64616D2E005A6168CF -:10218000726976616E692062656400426564204808 -:10219000656174696E670047727A616E6965204F88 -:1021A0004B2E0043616C656E74616E646F206C69C8 -:1021B00073746F2E0052697363616C64616D656E38 -:1021C000746F20666174746F2E005A61687269764C -:1021D000616E69204F4B2E0048656174696E6720FF -:1021E000646F6E652E0047727A616E69652E2E2EC1 -:1021F0000043616C656E74616E646F2E2E2E00520A -:10220000697363616C64616D656E746F2E2E2E0050 -:102210005A6168726976616E690048656174696EB9 -:1022200067004D31303920496E76616C69642065F4 -:102230007874727564657220004D31303920496EB2 -:1022400076616C69642065787472756465722000CB -:102250004D31303920496E76616C6964206578743F -:10226000727564657220004D31303920496E766197 -:102270006C696420657874727564657220004D31F4 -:10228000303920496E76616C6964206578747275A6 -:1022900064657220004E6F20746865726D69737496 -:1022A0006F7273202D206E6F2074656D7065726182 -:1022B00074757265004E6F20746865726D69737411 -:1022C0006F7273202D206E6F2074656D7065726162 -:1022D00074757265004E6F20746865726D697374F1 -:1022E0006F7273202D206E6F2074656D7065726142 -:1022F00074757265004E6F20746865726D697374D1 -:102300006F7273202D206E6F2074656D7065726121 -:1023100074757265004E6F20746865726D697374B0 -:102320006F7273202D206E6F2074656D7065726101 -:1023300074757265004D32323120496E76616C6978 -:102340006420657874727564657220004D32323194 -:1023500020496E76616C6964206578747275646575 -:102360007220004D32323120496E76616C696420F2 -:10237000657874727564657220004D32323120497F -:102380006E76616C6964206578747275646572201C -:10239000004D32323120496E76616C696420657877 -:1023A00074727564657220004D32313820496E7642 -:1023B000616C696420657874727564657220004D83 -:1023C00032313820496E76616C69642065787472A8 -:1023D0007564657220004D32313820496E76616C2B -:1023E000696420657874727564657220004D3231BD -:1023F0003820496E76616C69642065787472756402 -:10240000657220004D32313820496E76616C696406 -:1024100020657874727564657220004D323030200A -:10242000496E76616C696420657874727564657252 -:1024300020004D32303020496E76616C6964206531 -:102440007874727564657220004D32303020496EA8 -:1024500076616C69642065787472756465722000B9 -:102460004D32303020496E76616C69642065787435 -:10247000727564657220004D32303020496E76618D -:102480006C696420657874727564657220004D31E2 -:10249000303520496E76616C696420657874727598 -:1024A00064657220004D31303520496E76616C696B -:1024B0006420657874727564657220004D31303522 -:1024C00020496E76616C6964206578747275646504 -:1024D0007220004D31303520496E76616C69642080 -:1024E000657874727564657220004D31303520490D -:1024F0006E76616C696420657874727564657220AB -:10250000004D31303420496E76616C696420657805 -:1025100074727564657220004D31303420496E76D6 -:10252000616C696420657874727564657220004D11 -:1025300031303420496E76616C696420657874723C -:102540007564657220004D31303420496E76616CBF -:10255000696420657874727564657220004D31304D -:102560003420496E76616C69642065787472756494 -:1025700065722000456E642066696C65206C697325 -:102580007400456E642066696C65206C6973740024 -:10259000456E642066696C65206C69737400456ED5 -:1025A000642066696C65206C69737400456E6420F4 -:1025B00066696C65206C69737400426567696E209A -:1025C00066696C65206C69737400426567696E208A -:1025D00066696C65206C69737400426567696E207A -:1025E00066696C65206C69737400426567696E206A -:1025F00066696C65206C69737400426567696E205A -:1026000066696C65206C69737400446F6E65207038 -:1026100072696E74696E672066696C6500446F6EDE -:1026200065207072696E74696E672066696C6500FA -:10263000446F6E65207072696E74696E672066699A -:102640006C6500446F6E65207072696E74696E67A8 -:102650002066696C6500446F6E65207072696E74E7 -:10266000696E672066696C65004E6F204C696E6507 -:10267000204E756D626572207769746820636865A5 -:10268000636B73756D2C204C617374204C696E659F -:102690003A20004E6F204C696E65204E756D626564 -:1026A00072207769746820636865636B73756D2C3D -:1026B000204C617374204C696E653A20004E6F2087 -:1026C0004C696E65204E756D62657220776974681D -:1026D00020636865636B73756D2C204C6173742087 -:1026E0004C696E653A20004E6F204C696E65204E35 -:1026F000756D626572207769746820636865636BC5 -:1027000073756D2C204C617374204C696E653A2092 -:10271000004E6F204C696E65204E756D62657220AB -:102720007769746820636865636B73756D2C204CE2 -:10273000617374204C696E653A20004E6F204368C7 -:1027400065636B73756D2077697468206C696E655D -:10275000206E756D6265722C204C617374204C691B -:102760006E653A20004E6F20436865636B73756D2C -:102770002077697468206C696E65206E756D62657E -:10278000722C204C617374204C696E653A20004EA7 -:102790006F20436865636B73756D2077697468207B -:1027A0006C696E65206E756D6265722C204C61736C -:1027B00074204C696E653A20004E6F204368656353 -:1027C0006B73756D2077697468206C696E65206E17 -:1027D000756D6265722C204C617374204C696E6556 -:1027E0003A20004E6F20436865636B73756D2077E8 -:1027F000697468206C696E65206E756D6265722CF7 -:10280000204C617374204C696E653A2000636865E2 -:10281000636B73756D206D69736D617463682C20D3 -:102820004C617374204C696E653A2000636865637F -:102830006B73756D206D69736D617463682C204CCA -:10284000617374204C696E653A2000636865636B40 -:1028500073756D206D69736D617463682C204C61B4 -:102860007374204C696E653A2000636865636B730E -:10287000756D206D69736D617463682C204C617394 -:1028800074204C696E653A2000636865636B7375EC -:102890006D206D69736D617463682C204C61737475 -:1028A000204C696E653A20004C696E65204E756D4E -:1028B000626572206973206E6F74204C617374209E -:1028C0004C696E65204E756D6265722B312C204C03 -:1028D000617374204C696E653A20004C696E652006 -:1028E0004E756D626572206973206E6F74204C6145 -:1028F0007374204C696E65204E756D6265722B3164 -:102900002C204C617374204C696E653A20004C6930 -:102910006E65204E756D626572206973206E6F74EE -:10292000204C617374204C696E65204E756D626534 -:10293000722B312C204C617374204C696E653A20E7 -:10294000004C696E65204E756D626572206973205A -:102950006E6F74204C617374204C696E65204E75E7 -:102960006D6265722B312C204C617374204C696E42 -:10297000653A20004C696E65204E756D6265722067 -:102980006973206E6F74204C617374204C696E659E -:10299000204E756D6265722B312C204C6173742052 -:1029A0004C696E653A2000446F6E652073617669EC -:1029B0006E672066696C652E00446F6E65207361DA -:1029C00076696E672066696C652E00446F6E6520BF -:1029D000736176696E672066696C652E00446F6E60 -:1029E0006520736176696E672066696C652E0044A8 -:1029F0006F6E6520736176696E672066696C652EFF -:102A0000006F6B006F6B006F6B006F6B006F6B0084 -:102A10002020506C616E6E6572427566666572420A -:102A2000797465733A20002020506C616E6E657277 -:102A300042756666657242797465733A200020209B -:102A4000506C616E6E65724275666665724279742D -:102A500065733A20002020506C616E6E657242757D -:102A60006666657242797465733A20002020506C66 -:102A7000616E6E65724275666665724279746573E1 -:102A80003A20002046726565204D656D6F72793A77 -:102A900020002046726565204D656D6F72793A2081 -:102AA000002046726565204D656D6F72793A200091 -:102AB0002046726565204D656D6F72793A20002061 -:102AC00046726565204D656D6F72793A2000204C25 -:102AD00061737420557064617465643A2000204C01 -:102AE00061737420557064617465643A2000204CF1 -:102AF00061737420557064617465643A2000204CE1 -:102B000061737420557064617465643A2000204CD0 -:102B100061737420557064617465643A2000207C90 -:102B200020417574686F723A2000207C20417574D2 -:102B3000686F723A2000207C20417574686F723A89 -:102B40002000207C20417574686F723A2000207C40 -:102B500020417574686F723A200020536F66747755 -:102B60006172652052657365740020536F667477D7 -:102B70006172652052657365740020536F667477C7 -:102B80006172652052657365740020536F667477B7 -:102B90006172652052657365740020536F667477A7 -:102BA00061726520526573657400205761746368B3 -:102BB000646F6720526573657400205761746368A1 -:102BC000646F672052657365740020576174636891 -:102BD000646F672052657365740020576174636881 -:102BE000646F672052657365740020576174636871 -:102BF000646F67205265736574002042726F776E50 -:102C0000206F7574205265736574002042726F776F -:102C10006E206F7574205265736574002042726F68 -:102C2000776E206F75742052657365740020427250 -:102C30006F776E206F757420526573657400204243 -:102C4000726F776E206F7574205265736574002003 -:102C500045787465726E616C2052657365740020EE -:102C600045787465726E616C2052657365740020DE -:102C700045787465726E616C2052657365740020CE -:102C800045787465726E616C2052657365740020BE -:102C900045787465726E616C20526573657400507E -:102CA0006F776572557000506F7765725570005080 -:102CB0006F776572557000506F7765725570005070 -:102CC0006F776572557000656E717565696E672006 -:102CD0002200656E717565696E67202200656E71F0 -:102CE0007565696E67202200656E717565696E672E -:102CF000202200656E717565696E6720220077700D -:102D0000726F772E207A6D69616E0070617261203A -:102D1000746F6D61722065666563746F0020706505 -:102D200072206D6F73747261726520692063616DCA -:102D3000622E002070726F2070726F6A6576656E09 -:102D400069207A6D656E0020666F722074616B6514 -:102D500020656666656374005265737461727420E1 -:102D60006472756B61726B69005265696E69636943 -:102D70006172206C6120696D702E005269617676F7 -:102D8000696F206C61207374616D702E00526573E1 -:102D900074617274756A7465207469736B61726EA4 -:102DA00075005265626F6F74207468652070726977 -:102DB0006E746572004D6F64205B77207779646173 -:102DC0006A6E6F73635D004D6F646F205B6D61733E -:102DD00020667565727A615D004D6F646F205B706F -:102DE000697520666F727A615D004D6F6420205BAB -:102DF0007679732E2076796B6F6E5D004D6F64650A -:102E0000205B6869676820706F7765725D004D6F41 -:102E100064202020202020205B63696368795D00A6 -:102E20004D6F646F20202020205B73696C656E639A -:102E3000696F5D004D6F646F20202020205B7369F7 -:102E40006C656E7A696F736F5D004D6F6420202032 -:102E5000202020205B74696368795D004D6F646594 -:102E600020202020205B73696C656E745D005779AB -:102E70006D69616E612066696C616D656E74750067 -:102E800043616D6269616E646F2066696C2E21001A -:102E90004D757465766F6C652066696C2E210056E1 -:102EA000796D656E612066696C616D656E74752102 -:102EB000004368616E67696E672066696C616D6565 -:102EC0006E7421005770726F7761647A2066696C46 -:102ED000616D656E7400496E736572746120666918 -:102EE0006C616D656E746F00496E736572697265B1 -:102EF0002066696C616D656E746F00566C6F7A74D4 -:102F0000652066696C616D656E7400496E736572EB -:102F1000742066696C616D656E74004E61636973DF -:102F20006E696A2070727A796369736B00592070D8 -:102F3000756C736520656C206D616E646F0059203F -:102F400070756C736520656C206D616E646F0041F7 -:102F500020737469736B6E65746520746C6163694A -:102F6000746B6F00416E64207072657373207468B7 -:102F700065206B6E6F620057796D69616E61206FBD -:102F80006B210043616D62696172206269656E2127 -:102F90000043616D6269612E2072697573636974A3 -:102FA0006F21005A6D656E612075737065736E6177 -:102FB00021004368616E6765207375636365737391 -:102FC0002100437A79737A637A2E206B6F6C6F726B -:102FD000750043617267616E646F20636F6C6F721E -:102FE0000043617267616E646F20636F6C6F720083 -:102FF00043697374656E69206261727679004C6F03 -:103000006164696E6720636F6C6F720050726F73DA -:103010007A6520637A656B616300457370657261E0 -:1030200000417370657474610050726F73696D2034 -:1030300063656B656A746500506C656173652077C4 -:10304000616974005770726F772E2066696C616DCC -:10305000656E74750043617267616E646F206669A6 -:103060006C2E0043617267616E646F2066696C2E1E -:10307000005A61766164656E692066696C616D6590 -:103080006E7475004C6F6164696E672066696C616F -:103090006D656E74004B6F6C6F72207A616E69653E -:1030A000637A79737A2E00436F6C6F72206E6F2093 -:1030B000636C61726F00436F6C6F72206E6F206380 -:1030C0006C61726F004261727661206E656E69207C -:1030D000636973746100436F6C6F72206E6F74204C -:1030E000636C656172004272616B2066696C616D30 -:1030F000656E74750046696C2E206E6F2063617278 -:103100006761646F0046696C2E206E6F2063617288 -:103110006761646F0046696C616D656E74206E65F1 -:103120007A61766564656E0046696C616D656E7482 -:10313000206E6F74206C6F61646564004E69650079 -:103140004E6F004E6F004E65004E6F0054616B0075 -:10315000536900536900416E6F00596573005779D8 -:103160006D69616E61206F6B3F0043616D626961E3 -:10317000646F20636F727265632E3F0043616D62FE -:103180006961746F20636F72722E3F0056796D65AE -:103190006E61206F6B3F004368616E6765642063FA -:1031A0006F72726563746C793F00506F6D6F63006E -:1031B000537570706F727400537570706F72740015 -:1031C000506F64706F726100537570706F7274002D -:1031D0004E6167727A656A206479737A652100505E -:1031E000726563616C2E206578747275736F7221DD -:1031F000005072657269732E207567656C6C6F2163 -:103200000050726564656872656A746520747279CD -:10321000736B752100507265686561742074686510 -:10322000206E6F7A7A6C652100424C41443A004529 -:1032300052524F523A004552524F523A0043485967 -:1032400042413A004552524F523A005265637472FD -:1032500061637400526563747261637400526563E4 -:1032600074726163740052656374726163740052B6 -:1032700065637472616374005770726F7761647A0A -:103280002066696C616D656E7400496E74726F645E -:10329000756369722066696C616D656E746F004359 -:1032A000617269636172652066696C616D656E74D7 -:1032B0006F005A61766573742066696C616D656E26 -:1032C00074004C6F61642066696C616D656E74009A -:1032D00057796A61632066696C616D656E7400532D -:1032E000616361722066696C616D656E746F005315 -:1032F00063617269636172652066696C2E0056793C -:103300006A6D6F75742066696C616D656E740055C9 -:103310006E6C6F61642066696C616D656E740047E8 -:10332000727A616E69650050726563616C656E7476 -:1033300061720050726572697363616C6461005000 -:10334000726564656872657600507265686561745F -:1033500000557374617769656E696100416A7573C0 -:10336000746500496D706F7374617A696F6E69007E -:103370004E6173746176656E690053657474696E2D -:103380006773004B616C69627261636A61204F4BC5 -:103390000043616C696272616369C383C692C382D0 -:1033A000C2B36E204F4B0043616C696272617475E9 -:1033B0007261204F4B004B616C69627261636520E2 -:1033C0004F4B0043616C6962726174696F6E206477 -:1033D0006F6E65004B616C696272756A65205A0098 -:1033E00043616C696272616E646F205A0043616C64 -:1033F000696272616E646F205A004B616C6962721F -:10340000756A69205A0043616C6962726174696E01 -:1034100067205A004B616C696272756A205A0043DA -:10342000616C6962726172205A0043616C696272F8 -:1034300061205A004B616C6962726F766174205A28 -:103440000043616C696272617465205A005679624A -:10345000657274652076797469736B00567962655C -:103460007274652076797469736B0056796265723F -:1034700074652076797469736B005679626572742D -:10348000652076797469736B005069636B20707284 -:10349000696E74004175746F646F7374726F6963E1 -:1034A000205A3F004175746F204D6963726F7061DF -:1034B000736F205A3F004175746F207265676F6C9F -:1034C000617265205A203F004175746F20646F6CF3 -:1034D00061646974205A203F004175746F206164F3 -:1034E0006A757374205A203F00456E6473746F7060 -:1034F0002061626F727400456E6473746F70206136 -:10350000626F727400456E6473746F702061626FD5 -:10351000727400456E6473746F702061626F7274B0 -:1035200000456E6473746F702061626F7274004442 -:103530006F7374726F6A656E6965206F7379205A54 -:10354000004D6963726F7061736F205A004261624F -:103550007973746570205A00446F6C6164656E699C -:10356000206F7379205A004C6976652061646A7512 -:103570007374205A00426162797374657020590037 -:103580004261627973746570205900426162797397 -:1035900074657020590042616279737465702059B6 -:1035A00000426162797374657020590042616279EA -:1035B000737465702058004261627973746570207D -:1035C00058004261627973746570205800426162EC -:1035D0007973746570205800426162797374657004 -:1035E0002058005A204F6666736574005A204F6653 -:1035F00066736574005A204F6666736574005A20BE -:103600004F6666736574005A204F66667365740072 -:10361000486F6D6520582F59206265666F7265206E -:103620005A00486F6D6520582F59206265666F7289 -:1036300065205A00486F6D6520582F5920626566D5 -:103640006F7265205A00486F6D6520582F592062AF -:1036500065666F7265205A00486F6D6520582F5956 -:10366000206265666F7265205A005A2070726F6220 -:1036700065206F75742E20626564005A2070726F29 -:103680006265206F75742E20626564005A20707226 -:103690006F6265206F75742E20626564005A207019 -:1036A000726F6265206F75742E20626564005A2007 -:1036B00070726F6265206F75742E206265640056AB -:1036C000796D656E6974205344004368616E676567 -:1036D0002053442063617264004368616E67652013 -:1036E000534420636172640056796D656E6974207D -:1036F0005344004368616E676520534420636172E0 -:103700006400496E69632E20534400496E69742E2B -:10371000205344206361726400496E69742E205303 -:1037200044206361726400496E69632E2053440033 -:10373000496E69742E205344206361726400577986 -:103740006D69656E69632066696C616D656E740094 -:1037500043616D626961722066696C616D656E744A -:103760006F0043616D62696172652066696C616DAD -:10377000656E746F0056796D656E69742066696C4C -:10378000616D656E74004368616E67652066696C83 -:10379000616D656E74004175746F526574722E00B0 -:1037A0004175746F526574722E004175746F526565 -:1037B00074722E004175746F526574722E004175DB -:1037C000746F526574722E00556E526574202056C7 -:1037D00000556E52657420205600556E5265742057 -:1037E000205600556E52657420205600556E526565 -:1037F00074202056005320556E5265742B6D6D0059 -:103800005320556E5265742B6D6D005320556E52CA -:1038100065742B6D6D005320556E5265742B6D6D64 -:10382000005320556E5265742B6D6D00556E5265B8 -:1038300074202B6D6D00556E526574202B6D6D00DC -:10384000556E526574202B6D6D00556E5265742057 -:103850002B6D6D00556E526574202B6D6D00486F99 -:1038600070206D6D00486F70206D6D00486F702086 -:103870006D6D00486F70206D6D00486F70206D6D2C -:103880000052657472616374202056005265747230 -:103890006163742020560052657472616374202045 -:1038A000560052657472616374202056005265742C -:1038B0007261637420205600537761702052652E28 -:1038C0006D6D00537761702052652E6D6D005377DA -:1038D00061702052652E6D6D0053776170205265C6 -:1038E0002E6D6D00537761702052652E6D6D005204 -:1038F000657472616374206D6D00526574726163EA -:1039000074206D6D0052657472616374206D6D007A -:1039100052657472616374206D6D005265747261DA -:103920006374206D6D0053544F505045442E200059 -:103930005041524144410041525245535441544F29 -:10394000200053544F505045442E200053544F50A4 -:103950005045442E20004B494C4C45442E200050ED -:10396000415241444120444520454D4552472E0097 -:1039700055434349534F20004B494C4C45442E205E -:10398000004B494C4C45442E20004E6F206D6F7605 -:10399000652E0053696E206D6F76696D69656E7472 -:1039A0006F004E657373756E204D6F76696D656E31 -:1039B000746F004E6F206D6F76652E004E6F206D18 -:1039C0006F76652E004472756B2070727A6572771F -:1039D000616E79005072696E742061626F727465F5 -:1039E00064005374616D70612061626F72746974F8 -:1039F00061005469736B20707265727573656E0037 -:103A00005072696E742061626F7274656400577AD7 -:103A10006E6F7769656E6965206472756B750052AB -:103A20006573756D69656E646F20696D7072652E62 -:103A30000052697072656E6469205374616D7061C3 -:103A4000004F626E6F76656E69207469736B7500E6 -:103A5000526573756D696E67207072696E74005778 -:103A600061697420666F7220757365722E2E2E0048 -:103A70004573706572616E646F206F7264656E6508 -:103A80007300417474656E6469205574656E746565 -:103A90002E2E2E005761697420666F722075736533 -:103AA000722E2E2E005761697420666F7220757316 -:103AB00065722E2E2E00536C6565702E2E2E0052D0 -:103AC00065706F736F2E2E2E00536F7370656E735B -:103AD000696F6E652E2E2E00536C6565702E2E2E2E -:103AE00000536C6565702E2E2E004272616B206B48 -:103AF00061727479205344004E6F2068617920749C -:103B000061726A657461205344004E6F20534420F3 -:103B10004361727461005A61646E61205344206B8A -:103B200061727461004E6F205344206361726400BF -:103B30004472756B207A205344004D656E75206485 -:103B400065205344004D656E7520534420436172D7 -:103B50007461005469736B207A2053440050726979 -:103B60006E742066726F6D205344005A6174727ACD -:103B7000796D6163206472756B00446574656E6570 -:103B80007220696D70726573696F6E004172726543 -:103B9000737461207374616D7061005A6173746134 -:103BA000766974207469736B0053746F702070723F -:103BB000696E74004B6F6E74796E756F7761630018 -:103BC0005265616E7564617220696D707265732EE5 -:103BD0000052697072656E6469207374616D706102 -:103BE00000506F6B7261636F76617400526573751C -:103BF0006D65207072696E740050727A65727761BB -:103C000063206472756B0050617573617220696D19 -:103C100070726573696F6E00506175736100506FEB -:103C20007A61737461766974207469736B00506192 -:103C3000757365207072696E74004E617374726F73 -:103C4000696300416A7573746172004164617474E0 -:103C500061004C616469740054756E65005072694E -:103C600070726176610050726570617265005072A9 -:103C700065706172650050726970726176610050A2 -:103C800072657061726500496E666F726D61636A1C -:103C900065004D6F6E69746F72697A617200477565 -:103CA0006172646100496E666F726D61636500499F -:103CB0006E666F2073637265656E004F626E6F761D -:103CC0006974005265667265736800526566726554 -:103CD0007368004F626E6F76697400526566726534 -:103CE0007368004F626E6F76697420767963686FCF -:103CF0007A6900526573746F7265206661696C73CE -:103D000061666500526573746F7265206661696CE7 -:103D100073616665004F626E6F76697420767963B1 -:103D2000686F7A6900526573746F726520666169A5 -:103D30006C7361666500556C6F7A69742070616D93 -:103D40006574004C6F6164206D656D6F7279004C15 -:103D50006F6164206D656D6F727900556C6F7A6963 -:103D6000742070616D6574004C6F6164206D656DC9 -:103D70006F72790053746F7265206D656D6F727923 -:103D80000053746F7265206D656D6F7279005374A6 -:103D90006F7265206D656D6F72790053746F726517 -:103DA000206D656D6F72790053746F7265206D655B -:103DB0006D6F7279004C434420636F6E747261734F -:103DC00074004C434420636F6E7472617374004CD2 -:103DD000434420636F6E7472617374004C434420DB -:103DE000636F6E7472617374004C434420636F6E32 -:103DF00074726173740046696C2E204469612E20D0 -:103E0000330046696C2E204469612E2033004669D8 -:103E10006C2E204469612E20330046696C2E2044AC -:103E200069612E20330046696C2E204469612E2082 -:103E3000330046696C2E204469612E2032004669A9 -:103E40006C2E204469612E20320046696C2E20447D -:103E500069612E20320046696C2E204469612E2053 -:103E6000320046696C2E204469612E20320046697A -:103E70006C2E204469612E20310046696C2E20444E -:103E800069612E20310046696C2E204469612E2024 -:103E9000310046696C2E204469612E20310046694C -:103EA0006C2E204469612E2031004520696E206D02 -:103EB0006D33004520696E206D6D33004520696EBD -:103EC000206D6D33004520696E206D6D33004520F7 -:103ED000696E206D6D330046696C616D656E7400AE -:103EE00046696C616D656E740046696C616D656EE6 -:103EF000740046696C616D656E740046696C616D35 -:103F0000656E7400506F687962004D6F74696F6EF2 -:103F1000004D6F74696F6E00506F687962004D6F6D -:103F200074696F6E0054656D70657261747572614D -:103F30000054656D70657261747572610054656DD1 -:103F40007065726174757261005465706C6F746134 -:103F50000054656D706572617475726500457374A7 -:103F60006570732F6D6D004573746570732F6D6D83 -:103F7000004573746570732F6D6D004573746570C3 -:103F8000732F6D6D004573746570732F6D6D005ADE -:103F900073746570732F6D6D005A73746570732F31 -:103FA0006D6D005A73746570732F6D6D005A737464 -:103FB0006570732F6D6D005A73746570732F6D6D1E -:103FC000005973746570732F6D6D0059737465704B -:103FD000732F6D6D005973746570732F6D6D00597B -:103FE00073746570732F6D6D005973746570732FE2 -:103FF0006D6D005873746570732F6D6D0058737418 -:104000006570732F6D6D005873746570732F6D6DCF -:10401000005873746570732F6D6D005873746570FC -:10402000732F6D6D00412D72657472616374004170 -:104030002D7265747261637400412D7265747261D2 -:10404000637400412D7265747261637400412D7256 -:1040500065747261637400416D61782000416D6127 -:10406000782000416D61782000416D617820004129 -:104070006D617820005654726176206D696E00562D -:1040800054726176206D696E005654726176206DAF -:10409000696E005654726176206D696E00565472D6 -:1040A0006176206D696E00566D696E00566D696EA1 -:1040B00000566D696E00566D696E00566D696E0032 -:1040C000650065006500650065007A007A007A0089 -:1040D0007A007A0079007900790079007900780017 -:1040E0007800780078007800566D61782000566D71 -:1040F00061782000566D61782000566D617820004F -:10410000566D6178200056652D6A65726B005665A4 -:104110002D6A65726B0056652D6A65726B00566577 -:104120002D6A65726B0056652D6A65726B00567A52 -:104130002D6A65726B00567A2D6A65726B00567A2D -:104140002D6A65726B00567A2D6A65726B00567A1D -:104150002D6A65726B005678792D6A65726B005610 -:1041600078792D6A65726B005678792D6A65726B65 -:10417000005678792D6A65726B005678792D6A65DC -:10418000726B00416363656C00416363656C004161 -:104190006363656C00416363656C00416363656CD8 -:1041A000005049442D43005049442D430050494498 -:1041B0002D43005049442D43005049442D430050A5 -:1041C00049442D44005049442D44005049442D4455 -:1041D000005049442D44005049442D440050494466 -:1041E0002D49005049442D49005049442D49005063 -:1041F00049442D49005049442D49005049442D500F -:10420000005049442D50005049442D50005049441D -:104210002D50005049442D50004F6666004F666691 -:10422000004F6666004F6666004F6666004F6E2060 -:10423000004F6E20004F6E20004F6E20004F6E200A -:10424000004175746F74656D70004175746F7465AD -:104250006D70004175746F74656D70004175746F99 -:1042600074656D70004175746F74656D7000200227 -:1042700020466163740020022046616374002002BE -:1042800020466163740020022046616374002002AE -:104290002046616374002002204D617800200220D6 -:1042A0004D6178002002204D6178002002204D6190 -:1042B00078002002204D6178002002204D696E00B8 -:1042C0002002204D696E002002204D696E00200200 -:1042D000204D696E002002204D696E004B6F6E7498 -:1042E000726F6C6100436F6E74726F6C00436F6E1F -:1042F00074726F6C004B6F6E74726F6C6100436F01 -:104300006E74726F6C00507275746F6B2032004661 -:104310006C6F77203200466C6F77203200507275D8 -:10432000746F6B203200466C6F77203200507275CC -:10433000746F6B203100466C6F77203100466C6FD4 -:1043400077203100507275746F6B203100466C6FAE -:1043500077203100507275746F6B203000466C6F9F -:1043600077203000466C6F77203000507275746F84 -:104370006B203000466C6F7720300050727A657089 -:104380006C797700466C756A6F00466C7573736F55 -:1043900000507275746F6B00466C6F7700507265D9 -:1043A000646B6F73632077656E742E0056656E7450 -:1043B000696C61646F720056656E746F6C61005257 -:1043C0007963686C6F73742076656E742E00466135 -:1043D0006E2073706565640053746F6C696B004286 -:1043E0006173650050696174746F004265640042D6 -:1043F000656400547279736B6133004E6F7A7A6C26 -:104400006533004E6F7A7A6C653300547279736B42 -:104410006133004E6F7A7A6C653300547279736B36 -:104420006132004E6F7A7A6C6532004E6F7A7A6C28 -:10443000653200547279736B6132004E6F7A7A6C18 -:104440006532004479737A61004675736F72005566 -:1044500067656C6C6F00547279736B61004E6F7A94 -:104460007A6C6500507265646B6F73630056656C9F -:104470006F63696461640056656C636974C383C665 -:1044800092C386E28099C383E2809AC382C2A0006D -:10449000527963686C6F7374005370656564005083 -:1044A0006F73756E6F7574206F2031306D6D004DB8 -:1044B0006F76652031306D6D004D6F76652031303F -:1044C0006D6D00506F73756E6F7574206F20313095 -:1044D0006D6D004D6F76652031306D6D00506F73DE -:1044E000756E6F7574206F20316D6D004D6F766540 -:1044F00020316D6D004D6F766520316D6D00506F10 -:1045000073756E6F7574206F20316D6D004D6F7611 -:104510006520316D6D00506F73756E6F7574206F0F -:1045200020302E316D6D004D6F766520302E316D4F -:104530006D004D6F766520302E316D6D00506F73BC -:10454000756E6F7574206F20302E316D6D004D6F5C -:10455000766520302E316D6D004578747275646516 -:1045600072330045787472756465723300457874EF -:104570007275646572330045787472756465723360 -:10458000004578747275646572330045787472758D -:1045900064657232004578747275646572320045E4 -:1045A00078747275646572320045787472756465EA -:1045B00072320045787472756465723200457874A1 -:1045C0007275646572004578747275736F72004518 -:1045D00073747275736F7265004578747275646573 -:1045E000720045787472756465720050727A6573F2 -:1045F000756E6163205A004D6F766572205A004DCA -:10460000756F7669205A00506F73756E6F757420E0 -:104610005A004D6F7665205A0050727A6573756E38 -:1046200061632059004D6F7665722059004D756F9A -:104630007669205900506F73756E6F75742059003C -:104640004D6F766520590050727A6573756E61639F -:104650002058004D6F7665722058004D756F766951 -:10466000205800506F73756E6F75742058004D6F31 -:10467000766520580052756368206F7369004D6F2E -:1046800076657220656A6573004D756F76692041A5 -:1046900073736500506F73756E6F7574206F7375EB -:1046A000004D6F76652061786973005265747261A0 -:1046B0006374005265747261637400526574726150 -:1046C0006374005265747261637400526574726140 -:1046D0006374004578747275646F76617400457810 -:1046E0007472756465004578747275646500457808 -:1046F000747275646F766174004578747275646560 -:10470000005A61706E6F7574207A64726F6A00531C -:10471000776974636820706F776572206F666600D2 -:1047200053776974636820706F776572206F66666F -:10473000005A61706E6F7574207A64726F6A0053EC -:10474000776974636820706F776572206F666600A2 -:104750005679706E6F7574207A64726F6A00537741 -:104760006974636820706F776572206F6E0053778D -:104770006974636820706F776572206F6E00567978 -:10478000706E6F7574207A64726F6A005377697403 -:10479000636820706F776572206F6E005779636869 -:1047A0006C6F647A696300456E667269617200526B -:1047B0006166667265646461005A63686C6164690D -:1047C0007400436F6F6C646F776E00507265646540 -:1047D000687265762041425320636F6E66005072A6 -:1047E00065686561742041425320636F6E660050B6 -:1047F0007265686561742041425320636F6E660084 -:104800005072656465687265762041425320636F1B -:104810006E66005072656865617420414253206382 -:104820006F6E6600507265646568726576204142FD -:10483000532042656400507265686561742041428E -:10484000532042656400507265686561742041427E -:104850005320426564005072656465687265762015 -:10486000414253204265640050726568656174205E -:104870004142532042656400507265646568726508 -:10488000762041425320416C6C005072656865612E -:10489000742041425320416C6C0050726568656120 -:1048A000742041425320416C6C005072656465680D -:1048B0007265762041425320416C6C0050726568ED -:1048C0006561742041425320416C6C0050726564F4 -:1048D00065687265762041425320330050726568E6 -:1048E00065617420414253203300507265686561F0 -:1048F00074204142532033005072656465687265CC -:1049000076204142532033005072656865617420FF -:1049100041425320330050726564656872657620A9 -:1049200041425320320050726568656174204142F3 -:1049300053203200507265686561742041425320F3 -:10494000320050726564656872657620414253207A -:104950003200507265686561742041425320320014 -:10496000507265646568726576204142532031005B -:104970005072656865617420414253203100507265 -:10498000656865617420414253203100507265644E -:104990006568726576204142532031005072656827 -:1049A000656174204142532031005072656465682E -:1049B00072657620414253005072656865617420CB -:1049C0004142530050726568656174204142530052 -:1049D000507265646568726576204142530050727A -:1049E0006568656174204142530050726564656872 -:1049F00072657620504C4120636F6E660050726580 -:104A00006865617420504C4120636F6E660050727F -:104A1000656865617420504C4120636F6E6600507C -:104A2000726564656872657620504C4120636F6ED4 -:104A300066005072656865617420504C4120636F58 -:104A40006E660050726564656872657620504C41F0 -:104A500020426564005072656865617420504C4165 -:104A600020426564005072656865617420504C4155 -:104A700020426564005072656465687265762050F6 -:104A80004C41204265640050726568656174205035 -:104A90004C412042656400507265646568726576B9 -:104AA00020504C4120416C6C005072656865617407 -:104AB00020504C4120416C6C0050726568656174F7 -:104AC00020504C4120416C6C0050726564656872E6 -:104AD000657620504C4120416C6C005072656865D1 -:104AE000617420504C4120416C6C005072656465CB -:104AF0006872657620504C412033005072656865BD -:104B0000617420504C4120330050726568656174B7 -:104B100020504C41203300507265646568726576A0 -:104B200020504C41203300507265686561742050FC -:104B30004C41203300507265646568726576205080 -:104B40004C412032005072656865617420504C41C0 -:104B50002032005072656865617420504C412032EB -:104B60000050726564656872657620504C41203251 -:104B7000005072656865617420504C4120320050CD -:104B8000726564656872657620504C412031005032 -:104B900072656865617420504C4120310050726527 -:104BA0006865617420504C41203100507265646525 -:104BB0006872657620504C412031005072656865FE -:104BC000617420504C4120310050726564656872F8 -:104BD000657620504C4100507265686561742050C4 -:104BE0004C41005072656865617420504C41005022 -:104BF000726564656872657620504C41005072653C -:104C00006865617420504C41004E61737461762078 -:104C1000706F636174656B00536574206F726967B0 -:104C2000696E00536574206F726967696E004E612A -:104C30007374617620706F636174656B0053657483 -:104C4000206F726967696E004E61737461762070BF -:104C50006F636174656B20686F6D650053657420C8 -:104C6000686F6D65206F6666736574730053657455 -:104C700020686F6D65206F666673657473004E61A2 -:104C80007374617620706F636174656B20686F6DFB -:104C9000650053657420686F6D65206F6666736587 -:104CA0007473004175746F20686F6D65004C6C659E -:104CB00076617220616C206F726967656E00417564 -:104CC000746F20486F6D65004175746F20686F6D5B -:104CD00065004175746F20686F6D650057796C6170 -:104CE000637A79632073696C6E696B6900417061E6 -:104CF000676172206D6F746F7265730044697361D0 -:104D000062696C697461204D6F746F7269005679C5 -:104D1000706E6F7574206D6F746F72790044697373 -:104D200061626C65207374657070657273004175A3 -:104D3000746F7374617274004175746F737461720F -:104D400074004175746F7374617274004175746F8F -:104D50007374617274004175746F7374617274005E -:104D60004D656E7520676C6F776E65004D656E756D -:104D7000207072696E636970616C004D656E75209C -:104D80007072696E636970616C6500486C61766E03 -:104D900069206E616269646B61004D61696E004BF0 -:104DA000617274612077796A657461005461726A16 -:104DB0006574612072657469726164610053442096 -:104DC000436172642072696D6F737361004B61722D -:104DD00074612076796A6D75746100436172642034 -:104DE00072656D6F766564004B6172746120776CDB -:104DF0006F7A6F6E61005461726A65746120636FCF -:104E00006C6F636164610053442043617264206984 -:104E10006E736572697461004B6172746120766CA7 -:104E20006F7A656E61004361726420696E736572AA -:104E300074656400507275736120693320676F7404 -:104E40006F7761005072757361206933206C6973EC -:104E500074610050727573612069332070726F6ED7 -:104E6000746F2E005072757361206933206F6B0070 -:104E700050727573612069332072656164792E0008 -:104E80004D383420582059205A2045004D323400E6 -:104E90004D3233202573006175746F25692E6700CC -:104EA0000A002F000A002E0044656C6574696F6E5D -:104EB000206661696C65642C2046696C653A200047 -:104EC00046696C652064656C657465643A002E0003 -:104ED0002E002E002E004E6F7720667265736820BC -:104EE00066696C653A20004E6F7720646F696E6763 -:104EF0002066696C653A20002220706F73002220C2 -:104F0000706172656E743A2200535542524F555487 -:104F1000494E452043414C4C207461726765743A98 -:104F20002200747279696E6720746F2063616C6C03 -:104F3000207375622D67636F64652066696C6573A5 -:104F4000207769746820746F6F206D616E79206CB2 -:104F50006576656C732E204D4158206C6576656CC6 -:104F60002069733A0000002110422063308440A57C -:104F700050C660E770088129914AA16BB18CC1AD20 -:104F8000D1CEE1EFF13112100273325222B55294B8 -:104F900042F772D662399318837BB35AA3BDD39C70 -:104FA000C3FFF3DEE36224433420040114E664C744 -:104FB00074A44485546AA54BB528850995EEE5CFC0 -:104FC000F5ACC58DD55336722611163006D776F658 -:104FD000669556B4465BB77AA719973887DFF7FE10 -:104FE000E79DD7BCC7C448E5588668A778400861E4 -:104FF0001802282338CCC9EDD98EE9AFF948896960 -:10500000990AA92BB9F55AD44AB77A966A711A50F7 -:105010000A333A122AFDDBDCCBBFFB9EEB799B58AF -:105020008B3BBB1AABA66C877CE44CC55C222C0383 -:105030003C600C411CAEED8FFDECCDCDDD2AAD0BFF -:10504000BD688D499D977EB66ED55EF44E133E3297 -:105050002E511E700E9FFFBEEFDDDFFCCF1BBF3A4F -:10506000AF599F788F8891A981CAB1EBA10CD12D3E -:10507000C14EF16FE18010A100C230E32004502541 -:105080004046706760B9839893FBA3DAB33DC31CB5 -:10509000D37FE35EF3B1029012F322D23235421491 -:1050A0005277625672EAB5CBA5A89589856EF54F01 -:1050B000E52CD50DC5E234C324A0148104667447E1 -:1050C0006424540544DBA7FAB79987B8975FE77E55 -:1050D000F71DC73CD7D326F2369106B01657667631 -:1050E00076154634564CD96DC90EF92FE9C899E9A1 -:1050F000898AB9ABA94458654806782768C018E181 -:10510000088238A3287DCB5CDB3FEB1EFBF98BD8F4 -:105110009BBBAB9ABB754A545A376A167AF10AD0D0 -:105120001AB32A923A2EFD0FED6CDD4DCDAABD8B40 -:10513000ADE89DC98D267C076C645C454CA23C8320 -:105140002CE01CC10C1FEF3EFF5DCF7CDF9BAFBA94 -:10515000BFD98FF89F176E367E554E745E932EB270 -:105160003ED10EF01E22004D323230205325690010 -:10517000203A2000004C414E472053454C20464FDA -:1051800052434544002200205A3A0020593A002058 -:10519000453A00205A3A0020593A00583A00200077 -:1051A0002E0020423A0020453A00543A0020573A57 -:1051B0000020453A00543A002042403A0020403A4C -:1051C00000202F003A00205400202F0020423A00F7 -:1051D000202F006F6B20543A002569206D696E2CDA -:1051E0002025692073656300256920686F757273D7 -:1051F000202569206D696E75746573004D313130FD -:10520000004D3239004D6179203330203230313653 -:1052100000436F6D70696C65643A2000286E6F6E94 -:10522000652C2064656661756C7420636F6E6669B9 -:105230006729004D617920333020323031362031FA -:10524000363A32323A333400737461727400220099 -:105250002200FFFFFF0000A0400000A0400000006F -:105260004000005643000046431FC548430000006D -:1052700000000000001F856B3E0000564300004602 -:10528000430000494300000000000000001F856B40 -:105290003E6563686F3A004572726F723A0047313B -:1052A00020452D38302046343030004D383300470B -:1052B00031205A3135204631353030004739310000 -:1052C000473120583530205931383020453020467C -:1052D0003730303000473930004D3834004D3833E6 -:1052E00000473120453730204634303000473120E8 -:1052F0004534302046313030002E00202020202040 -:105300002020202020202020002D2D3A2D2D002D82 -:105310002D2D003E555342005344002D2D000120F9 -:10532000000120004D36303000464C4558202D20DD -:10533000203233302F35300050502020202D2020B7 -:105340003235342F3130300048495053202D202041 -:105350003232302F3130300050455420202D202063 -:105360003234302F393000504C4120202D20203253 -:1053700031302F35300041425320202D202032354E -:10538000352F313030004D3234004D32332025730B -:1053900000580059005A00457874727564657200AF -:1053A000473238004D383400473238205A004D61BA -:1053B00079203330203230313600446174653A2030 -:1053C000002D2D2D2D2D2D2D2D2D2D2D2D00453349 -:1053D0004476366C6974650052414D426F313361D9 -:1053E00000315F37356D6D002D2D2D2D2D2D2D2D7F -:1053F0002D2D2D2D004669726D77617265202D204F -:10540000332E302E310048617264636F646564200E -:1054100044656661756C742053657474696E677356 -:10542000204C6F616465640046696C616D656E74E3 -:105430002073657474696E67733A2044697361629E -:105440006C6564002020204D3230302044004669D5 -:105450006C616D656E742073657474696E67733A00 -:10546000002020204D3230392053004175746F2DBB -:10547000526574726163743A20533D3020746F201A -:1054800064697361626C652C203120746F20696ED1 -:105490007465727072657420657874727564652DB8 -:1054A0006F6E6C79206D6F76657320617320726505 -:1054B000747261637473206F72207265636F7665B6 -:1054C00072696573002046002020204D323038205C -:1054D00053005265636F7665723A20533D45787488 -:1054E0007261206C656E67746820286D6D29204696 -:1054F0003A537065656420286D6D2F6D2900205A20 -:10550000002046002020204D3230372053005265C5 -:1055100074726163743A20533D4C656E6774682001 -:10552000286D6D2920463A537065656420286D6D9D -:105530002F6D29205A3A205A4C69667420286D6DC7 -:1055400029002044002049002020204D3330312004 -:1055500050005049442073657474696E67733A0053 -:10556000205A0020590020204D3230362058004863 -:105570006F6D65206F666673657420286D6D293ABE -:1055800000204500205A00205800204200205400EE -:1055900020204D323035205300416476616E6365C2 -:1055A00064207661726961626C65733A20533D4D87 -:1055B000696E20666565647261746520286D6D2F63 -:1055C00073292C20543D4D696E2074726176656C90 -:1055D00020666565647261746520286D6D2F73297E -:1055E0002C20423D6D696E696D756D207365676D28 -:1055F000656E742074696D6520286D73292C2058A0 -:105600003D6D6178696D756D205859206A65726BC2 -:1056100020286D6D2F73292C20205A3D6D617869EB -:105620006D756D205A206A65726B20286D6D2F7321 -:10563000292C2020453D6D6178696D756D204520D0 -:105640006A65726B20286D6D2F732900205400202D -:10565000204D323034205300416363656C657261C4 -:1056600074696F6E3A20533D616363656C65726166 -:1056700074696F6E2C20543D72657472616374207E -:10568000616363656C65726174696F6E00204500CB -:10569000205A0020590020204D3230312058004D32 -:1056A0006178696D756D20416363656C65726174C5 -:1056B000696F6E20286D6D2F7332293A00204500E6 -:1056C000205A0020590020204D3230332058004D00 -:1056D0006178696D756D2066656564726174657366 -:1056E00020286D6D2F73293A00204500205A002094 -:1056F000590020204D3932205800537465707320B2 -:1057000070657220756E69743A0045303A20005A0F -:105710003A2000593A2000583A20004D53312C4D80 -:1057200053322050696E730A005A00205A3A0059C9 -:105730000020593A00580020583A0024F4D4305040 -:10574000C38E20C2A24017828B7011127A910D81F4 -:105750006CD90AA861E108C7586607615143061E63 -:105760004B5D05C145A7041A411104093D98037119 -:105770003931034036DB0265339102D43054028064 -:105780002E1D02632CEE01752AC501B028A0011060 -:105790002781018F2564012B244B01E0223401ACC9 -:1057A000211F018D200D01801FFC00841EED00973C -:1057B0001DDF00B81CD200E61BC600201BBC006425 -:1057C0001AB200B219A8000A19A0006A189900D1EB -:1057D00017910040178B00B516840031167E00B378 -:1057E0001579003A157300C7146F0058146A00EE5B -:1057F0001366008813630025135E00C7125B006CFC -:1058000012570015125400C111510070114F0021A0 -:10581000114B00D61049008D10470046104400027D -:10582000104200C00F4000800F3E00420F3C0006B7 -:105830000F3B00CB0E3800930E37005C0E3500276F -:105840000E3400F30D3200C10D3100900D300060B8 -:105850000D2E00320D2D00050D2C00D90C2B00AEA5 -:105860000C2900850C29005C0C2700350C27000E44 -:105870000C2600E80B2400C40B2400A00B23007DA1 -:105880000B23005A0B2100390B2100180B2000F8C4 -:105890000A1F00D90A1E00BB0A1E009D0A1D0080B7 -:1058A0000A1D00630A1C00470A1B002C0A1B00117A -:1058B0000A1A00F7091A00DD091900C4091900AB1A -:1058C000091900920917007B091800630917004C99 -:1058D00009160036091600200916000A091500F5F8 -:1058E000081500E0081400CC081400B8081400A43F -:1058F000081400900813007D0812006B081300586C -:105900000812004608120034081100230811001282 -:1059100008110001081100F0071000E0071000D086 -:10592000071000C0071000B0070F00A1071000917A -:10593000070E0083070F0074070F0065070E00575E -:10594000070E0049070E003B070D002E070E002032 -:10595000070D0013070D0006070D00F9060C00EDFA -:10596000060D00E0060C00D4060C00C8060C00BCB6 -:10597000060C00B0060C00A4060B0099060C008D66 -:10598000060B0082060B0077060B006C060B00610D -:10599000060A0057060B004C060A0042060A0038A9 -:1059A000060A002E060A0024060A001A060A00103B -:1059B00006090007060A00FD050900F4050900EBC9 -:1059C000050900E2050900D9050900D0050900C74D -:1059D000050900BE050900B5050800AD050800A5CC -:1059E0000509009C050800940508008C0508008442 -:1059F0000508007C050800740508006C05070065B3 -:105A00000508005D050700560508004E050700471C -:105A10000507004005080038050700310507002A82 -:105A2000050700230507001C050600160507000FE3 -:105A30000507000805060002050700FB040600F53F -:105A4000040700EE040600E8040600E2040700DB99 -:105A5000040600D5040600CF040600C9040600C3EE -:105A6000040600BD040600B7040600B1040500AC3E -:105A7000040600A6040600A00405009B0406009589 -:105A8000040500900406008A0405008504050080D2 -:105A90000406007A04050075040500700405006B17 -:105AA00004050066040500610405005C0405005758 -:105AB000040500520405004D040500480405004398 -:105AC0000405003E0404003A0405003504050030D6 -:105AD0000404002C04050027040400230405001E10 -:105AE0000404001A04040016040500110404000D47 -:105AF000040400090405000404040000040400FC7C -:105B0000030400F8030400F4030400F0030400ECB1 -:105B1000030400E8030400E4030400E0030400DCE1 -:105B2000030400D8030400D4030400D0030400CC11 -:105B3000030400C8030300C503030024F404D920B0 -:105B40001BC40C5C0E9804C4095F0265077101F464 -:105B500005F900FB04B30048048700C1036900583D -:105B600003550003034500BE023A0084023100538E -:105B7000022A002902250004022000E4011C00C8BA -:105B8000011900AF0117009801140084011300717E -:105B90000110006101100051010E0043010D00369B -:105BA000010B002B010B0020010B00150109000C5B -:105BB00001090003010800FB000800F3000800EBE6 -:105BC000000700E4000600DE000600D8000600D250 -:105BD000000600CC000500C7000500C2000500BD9E -:105BE000000400B9000400B5000400B1000400ADD9 -:105BF000000400A9000400A5000300A20003009F08 -:105C00000004009B0003009800030095000200932D -:105C1000000300900003008D0002008B0003008849 -:105C20000002008600020084000300810002007F61 -:105C30000002007D0002007B000200790002007774 -:105C40000001007600020074000200720001007181 -:105C50000002006F0002006D0001006C0002006A8B -:105C60000001006900020067000100660001006594 -:105C70000001006400020062000100610001006098 -:105C80000001005F0002005D0001005C0001005B9C -:105C90000001005A0001005900010058000100579E -:105CA000000100560001005500010054000100539E -:105CB000000000530001005200010051000100509B -:105CC0000001004F0001004E0000004E0001004D99 -:105CD0000001004C0001004B0000004B0001004A95 -:105CE0000001004900010048000000480001004791 -:105CF000000100460000004600010045000000458C -:105D00000001004400010043000000430001004284 -:105D1000000000420001004100000041000100407D -:105D20000001003F0000003F0001003E0000003E77 -:105D30000001003D0000003D0001003C0000003C6F -:105D40000000003C0001003B0000003B0001003A65 -:105D50000000003A0001003900000039000100385D -:105D60000000003800000038000100370000003754 -:105D7000000100360000003600000036000100354A -:105D80000000003500000035000100340000003440 -:105D90000000003400010033000000330000003335 -:105DA000000100320000003200000032000100312A -:105DB0000000003100000031000100300000003020 -:105DC000000000300001002F0000002F0000002F15 -:105DD0000000002F0001002E0000002E0000002E09 -:105DE0000001002D0000002D0000002D0000002DFE -:105DF0000001002C0000002C0000002C0000002CF2 -:105E00000001002B0000002B0000002B0000002BE5 -:105E10000001002A0000002A0000002A0000002AD9 -:105E200000010029000000290000002900000029CD -:105E300000000029000100280000002800000028C0 -:105E400000000028000000280001002700000027B3 -:105E500000000027000000270000002700010026A6 -:105E6000000000260000002600000026000000269A -:105E7000000100250000002500000025000000258D -:105E8000000000250000002500010024000000247F -:105E90000000002400000024000000240001002372 -:105EA0000000002300000023000000230000002366 -:105EB0000000002300000023000100220000002257 -:105EC000000000220000002200000022000000224A -:105ED000000100210000002100000021000000213D -:105EE000000000210000002100000021000100202E -:105EF0000000002000000020000000200000002022 -:105F00000000002000000020000000200001001F11 -:105F10000000001F0000001F0000001F0000001F05 -:105F20000000001F0000001F0001001E0000001EF6 -:105F30000000001E0000001E0000000000090A0210 -:105F4000080B0C0D07060304010000000000000010 -:105F50000000000000000000000000000000000041 -:105F60000000000000000011100F00000000000001 -:105F70000000000000000000000000000000000021 -:105F80000000000000000000000000000000000011 -:105F9000000102102020080810204010204080023C -:105FA000010201080402010102040810204080805F -:105FB00040201008040201800402018040201008E3 -:105FC00004020108040201010204081020408001BB -:105FD00002040810204080100804088010204004AB -:105FE00040801020400480050505050705080808C5 -:105FF00008020202020A0A0808040404040101015A -:106000000101010101030303030303030304070761 -:10601000070C0C0C0C0C0C0C0C02020202060606FF -:1060200006060606060B0B0B0B0B0B0B0B07070AE2 -:106030000A0A0A0A0A0505050404040808000020E3 -:10604000002300260029002C002F00320000010050 -:106050000003010601090100002200250028002B91 -:10606000002E003100340002010000050108010B80 -:106070000100002100240027002A002D00300033F9 -:106080000001010000040107010A01024E414E49CE -:106090004E495459494E46CDCCCC3D0AD7233C17E6 -:1060A000B7D13877CC2B329595E6241FB14F0A0033 -:1060B0000020410000C84200401C4620BCBE4CCA23 -:1060C0001B0E5AAEC59D7400C08D5BAD45EDC48DF1 -:1060D00011241FBECFEFD1E2DEBFCDBF00E00CBF69 -:1060E0001EE0A0E0B2E0EEE4F8E002E00BBF02C088 -:1060F00007900D92AA3AB107D9F72EE1AAEABEE0BD -:1061000001C01D92AD31B207E1F710E6CEECD0E64A -:1061100000E006C022970109FE010BBF0E9474FB3C -:10612000C83CD10780E00807A9F70E9449F10D9407 -:1061300015040C940000CF93DF93EC019C012C5FBD -:106140003F4F41E050E060E070E0898D9A8D0E9401 -:106150003D3B882399F04D895E896F89788D452B69 -:10616000462B472B59F44C815D816E817F814D8B8D -:106170005E8B6F8B788F998190689983DF91CF9137 -:106180000895CF92DF92EF92FF920F931F93CF93D8 -:10619000DF93EC0189899A89AB89BC89803E9F4F46 -:1061A000AF41B10510F080E06BC0CE01C4DF8823A1 -:1061B000D1F30E945139182F8823A9F3E98DFA8D64 -:1061C000CC80DD80EE80FF8032E0C31AD108E10888 -:1061D000F108058404C0CC0CDD1CEE1CFF1C0A94E5 -:1061E000D2F786859785A089B189C80ED91EEA1E87 -:1061F000FB1E81E08093B00EC092B310D092B41019 -:10620000E092B510F092B61080E092E0E3EBFEE091 -:10621000DF019C011D9221503040E1F701E0E98D42 -:10622000FA8D8481081790F423EB3EE0B701A601B4 -:10623000400F511D611D711D8091B10E9091B20EE4 -:106240000E94A5608823E1F00F5FE9CFC12C82E0B6 -:10625000D82EE12CF12C058404C0CC0CDD1CEE1CE6 -:10626000FF1C0A94D2F749895A896B897C894C0DA5 -:106270005D1D6E1D7F1D498B5A8B6B8B7C8B812F17 -:10628000DF91CF911F910F91FF90EF90DF90CF9012 -:106290000895CF93DF93EC0141E0611101C040E02C -:1062A0006C857D858E859F850E949139882341F07C -:1062B000888920E2829FC00111248D54914F02C031 -:1062C00080E090E0DF91CF91089530E020E04EE251 -:1062D000DC015C91503271F0383029F4FB01E20F9F -:1062E000F11D40832F5FFB01E20FF11DDC015C918A -:1062F00050832F5F3F5F01963B3051F7FB01E20F68 -:10630000F11D10820895CF93DF93EB01FC012381EF -:10631000211102C080E00EC02250223020F48FE212 -:106320008883198206C060E0B4DF009799F3BE014C -:10633000CCDF81E0DF91CF910895FB012BE030E2CB -:1063400031932150E9F7DC0190E027E03A2FEB2F61 -:106350008D9181110AC0DA013C931196EC9381E092 -:10636000FB019081903239F525C08F32A1F38E3236 -:1063700019F0EAE8F1E008C02A30E1F098E02AE0FC -:10638000E5CF31963817B1F034913111FACF291792 -:1063900088F03FED380F3E3568F431E0390FFB01EE -:1063A000E90FF11D9FE9980F9A3108F4805280831C -:1063B000932FCCCF80E008950F931F93CF93DF935B -:1063C000EC018B018B81882311F080E042C0FB013E -:1063D0008789803139F18032C1F783E08B83F801FE -:1063E000428D538D648D758D4D8B5E8B6F8B788F49 -:1063F0009E012F5E3F4FC8010E94483A882329F32F -:106400001A8F098F81E089831C821D821E821F8260 -:10641000188619861A861B861C861D861E861F8670 -:10642000188A17C082E08B831D8A1E8A1F8A188EE5 -:10643000FB01408D518D60E070E095E0440F551FE9 -:10644000661F771F9A95D1F7498B5A8B6B8B7C8B84 -:10645000D7CFDF91CF911F910F9108952F923F9247 -:106460004F925F926F927F928F929F92AF92BF9264 -:10647000CF92DF92EF92FF920F931F93CF93DF9310 -:10648000EC015B016A018B81811103C08FEF9FEFEB -:10649000C7C0898180FFFACF49895A896B897C8975 -:1064A00088859985AA85BB852601612C712C8A0176 -:1064B0009B01081B190B2A0B3B0B40165106620669 -:1064C000730618F06A01C81AD90A76013E0124E061 -:1064D000620E711CE114F10409F476C048855985F7 -:1064E0006A857B854A0181E098222B811A012B0164 -:1064F000E9E05694479437942794EA95D1F7898D2B -:106500009A8DFC01223049F4628D738D848D958DB6 -:10651000620D731D841D951D3CC014811150122104 -:1065200081149104C1F4111116C0452B462B472B41 -:1065300049F48D899E89AF89B88D8C839D83AE8304 -:10654000BF8309C04C815D816E817F81930121D71A -:10655000882309F49BCFE98DFA8D6C817D818E8132 -:106560009F816250710981099109058404C0660FF9 -:10657000771F881F991F0A94D2F72685378540898F -:106580005189620F731F841F951F610F711D811D3B -:10659000911D20E032E02819390987012E153F05A9 -:1065A00008F489010115F2E01F0769F52091B31085 -:1065B0003091B4104091B5105091B6106217730726 -:1065C0008407950719F41FC0C6012AC09501AB01C5 -:1065D000BC018091B10E9091B20E0E943060882370 -:1065E00009F454CFA00EB11E88859985AA85BB8574 -:1065F000800F911FA11DB11D88879987AA87BB872E -:10660000E01AF10A67CF40E08CD6882309F43ECF28 -:10661000B4016D54714FA801C5010F94A500E2CFDC -:10662000DF91CF911F910F91FF90EF90DF90CF906E -:10663000BF90AF909F908F907F906F905F904F90A2 -:106640003F902F900895CF93DF931F92CDB7DEB781 -:1066500041E050E0BE016F5F7F4F00DF019719F40A -:10666000898190E002C08FEF9FEF0F90DF91CF9173 -:106670000895CF92DF92EF92FF920F931F93CF93E3 -:10668000DF936C01EB017A01FC018381823060F0C1 -:1066900000851185228533850F7111272227332725 -:1066A000012B022B032B11F08FEF5CC0411551051C -:1066B00011F0F70110821DE040E250E0BE01C6017A -:1066C000CDDE8032910539F021E0892B09F420E0FC -:1066D000822F819547C028812223C1F0253E61F396 -:1066E0002E3251F33B853F733F3061F4E114F104E6 -:1066F00049F04A8D5B8D452B29F42F713FEF320F06 -:10670000343030F02B8523FDD7CF2CC080E02AC059 -:1067100030E021503109129FC001139F900D1124C8 -:10672000F701E80FF91F298120832B8121832D8117 -:1067300022832F812383298524832E8525832889FD -:1067400026832A8927832C8920872E892187288DD3 -:1067500022872C8D23872E8D2487288126FFD2CF58 -:106760001586D0CFDF91CF911F910F91FF90EF90C1 -:10677000DF90CF9008951F93CF93DF93EC018B812F -:10678000823018F480E090E023C0488559856A85FE -:106790007B85A5E07695679557954795AA95D1F79E -:1067A000142F1F70CE014FDF97FDECCF4885598520 -:1067B0006A857B85415E5F4F6F4F7F4F4887598762 -:1067C0006A877B8720E2129FC00111248D54914F6C -:1067D000DF91CF911F9108954F925F926F927F92B8 -:1067E000AF92BF92CF92DF92EF92FF920F931F93DF -:1067F000CF93DF93EC016A017B012B81222349F0C7 -:1068000089899A89AB89BC8984179507A607B70738 -:1068100010F480E06BC0223009F463C0C114D104CD -:10682000E104F10449F41C821D821E821F82188635 -:1068300019861A861B8659C088859985AA85BB85C5 -:10684000E98DFA8DE585F0E03996AC01BD01415046 -:106850005109610971090E2E04C076956795579507 -:1068600047950A94D2F79701860101501109210931 -:10687000310904C03695279517950795EA95D2F703 -:10688000041715072607370720F0892B8A2B8B2B37 -:1068900049F48D899E89AF89B88D8C839D83AE83A1 -:1068A000BF8304C0041B150B260B370B28013901CD -:1068B0005E0184E0A80EB11C41145104610471040E -:1068C00081F04C815D816E817F819501898D9A8DEA -:1068D00060D591E0491A5108610871088111ECCF27 -:1068E00005C0C886D986EA86FB8681E0DF91CF9114 -:1068F0001F910F91FF90EF90DF90CF90BF90AF90DE -:106900007F906F905F904F9008950F931F93CF9358 -:10691000DF93EC018B818823D1F1898187FF32C01D -:1069200061E0CE01B6DC8C01009789F1FC01808129 -:10693000853E69F18B81823040F449895A896B899F -:106940007C89448F558F668F778F4D895E896F89DB -:10695000788DF801538F428F758B648BE091AA0E6E -:10696000F091AB0E309759F0B8016A5E7F4FC801C5 -:1069700048961995F801808D918D938B828B898132 -:106980008F778983DF91CF911F910F918AC481E026 -:10699000888380E0DF91CF911F910F910895CF936D -:1069A000DF93EC01B2DF1B82DF91CF910895FC01F0 -:1069B00023812111F4CF08954F925F926F927F92BD -:1069C000AF92BF92CF92DF92EF92FF920F931F93FD -:1069D000CF93DF9300D01F92CDB7DEB75C016A0181 -:1069E0007B01FC0183818130E9F4818181FF1AC040 -:1069F000F50181899289A389B48984179507A6072F -:106A0000B70780F0892B8A2B8B2B09F472C0F50114 -:106A10004084518462847384B701A601C501DCDE21 -:106A2000811102C080E066C0F501818D928DC11494 -:106A3000D104E104F10469F4458956896789708DB0 -:106A400025D7882379F3F501158A168A178A108EBF -:106A500037C0F50144815581668177819E012F5FA2 -:106A60003F4F97D48823F1F249815A816B817C8111 -:106A7000F501818D928DFC012789203139F4483F41 -:106A8000FFEF5F0761057105D8F407C0483F2FEF9E -:106A9000520762072FE0720798F4F8D6882309F4AA -:106AA000C1CFF50144815581668177810FEF1FEFDA -:106AB0002FEF3FE0818D928D51D5882309F4B2CF1D -:106AC000F501C18AD28AE38AF48A81818068818350 -:106AD000C5011BDF882309F4A5CFB701A6014C141B -:106AE0005D046E047F0410F4B301A201C50174DEDD -:106AF00001C081E00F900F900F900F90DF91CF9128 -:106B00001F910F91FF90EF90DF90CF90BF90AF90CB -:106B10007F906F905F904F900895FF920F931F9317 -:106B2000CF93DF93EC01F42E80E2689FF0011124F3 -:106B3000ED54F14F8385817121F0842F827109F02A -:106B40004EC08091B3109091B410A091B510B09147 -:106B5000B6108C879D87AE87BF87688B448955891F -:106B600060E070E0BA0155274427028D138D20E0C4 -:106B700030E0402B512B622B732B4D8B5E8B6F8B38 -:106B8000788F8385887151F4048D158D268D378D0E -:106B9000098B1A8B2B8B3C8B81E00BC08031F9F475 -:106BA0009E012F5E3F4F898D9A8D72D48823B9F054 -:106BB00084E08B838F2D8F7089831C821D821E82BF -:106BC0001F82188619861A861B86F4FE0BC040E0C9 -:106BD00050E0BA01CE01F0DE811104C011C01B8269 -:106BE00080E00EC0F5FE0BC049895A896B897C890B -:106BF000CE01DF91CF911F910F91FF90EDCD81E0FC -:106C0000DF91CF911F910F91FF900895AF92BF92A6 -:106C1000CF92DF92EF92FF920F931F93CF93DF9368 -:106C20007C01EB016A01B22E898D9A8DF701928F5A -:106C3000818F40E050E0BA01CE01CEDDA12C088565 -:106C400019852A853B8589899A89AB89BC8908176A -:106C500019072A073B07A0F585E036952795179574 -:106C600007958A95D1F70F70CE0185DD009709F45D -:106C700081C0FC012081222311F0253EB9F4A1102E -:106C80000EC04091B3105091B4106091B510709146 -:106C9000B610F7014487558766877787008BFC011C -:106CA0008081AA24A3948111CACF0AC04BE050E08E -:106CB000BC01C6010F949800892B09F0C0CF58C0C1 -:106CC0008B2D8274823409F055C0AA2049F0F70157 -:106CD000008961E0C701DDDAEC01009769F44AC080 -:106CE0008B81823009F446C0CE014BDA882309F447 -:106CF00041C0C3EBDEE000E080E2FE0111928A9524 -:106D0000E9F78BE0F601DE0101900D928A95E1F73B -:106D1000E091AA0EF091AB0E309739F0BE01625FA0 -:106D20007F4FCE014096199508C081E298E2998B79 -:106D3000888B80E098E09F878E87888999899B8BD4 -:106D40008A8B998F888F8E859F859F8B8E8BA9D2FA -:106D5000882381F04B2D602FC701DF91CF911F91C8 -:106D60000F91FF90EF90DF90CF90BF90AF90D5CE76 -:106D7000B7FEF0CF80E0DF91CF911F910F91FF9090 -:106D8000EF90DF90CF90BF90AF9008953F924F92D9 -:106D90005F926F927F928F929F92AF92BF92CF92AB -:106DA000DF92EF92FF920F931F93CF93DF93CDB7B4 -:106DB000DEB7C354D1090FB6F894DEBF0FBECDBF06 -:106DC0005C016B0124965FAF4EAF2497522E1C8E50 -:106DD0001F8E19821C826115710511F410E073C0B9 -:106DE000FC0183818111FACF2496EEADFFAD24978B -:106DF00080818F3211F076011DC02496EEADFFAD7B -:106E0000249780818F3231F431962496FFAFEEAF14 -:106E10002497F3CFF60183818250823060F3F6012C -:106E2000618D728DCE010196C7DA8823B9F2CE0149 -:106E300001967C018E01045E1F4F3801FE013196E0 -:106E40004F01402E312E19C08823A9F121E0AE0157 -:106E5000495C5F4FB701C801D9DE882309F4BECF72 -:106E6000EC14FD0411F0C7019ADD0615170501F1B8 -:106E7000942D832D7801092F182FAE014E5B5F4FA3 -:106E8000BE01695C7F4F24968EAD9FAD249755DA85 -:106E9000882309F4A3CF2496EEADFFAD249780811B -:106EA0008F3291F631962496FFAFEEAF2497F3CF51 -:106EB000982D892DDFCF252DAE01495C5F4FB7019D -:106EC000C501A4DE182FCE01019671DDCE014C96CE -:106ED0006EDD812FCD5BDF4F0FB6F894DEBF0FBEA6 -:106EE000CDBFDF91CF911F910F91FF90EF90DF9079 -:106EF000CF90BF90AF909F908F907F906F905F905A -:106F00004F903F900895CF93DF93EC0140E050E025 -:106F1000BA0152DD882361F061E0CE01BAD9009751 -:106F200039F025EEFC0120831B82DF91CF91B9C19E -:106F300080E0DF91CF9108951F93CF93DF93CDB77A -:106F4000DEB76B970FB6F894DEBF0FBECDBFAB01B7 -:106F500019821C8222E0BC01CE01019617DF182F96 -:106F6000882321F0CE010196CEDF182FCE010196A5 -:106F70001EDD812F6B960FB6F894DEBF0FBECDBF1E -:106F8000DF91CF911F9108952F923F924F925F9280 -:106F90006F927F928F929F92AF92BF92CF92DF9229 -:106FA000EF92FF920F931F93CF93DF9300D01F9226 -:106FB0001F92CDB7DEB78C015B013A01DC0113965D -:106FC0008C9113978130C1F411968C9181FF14C07C -:106FD00082FF18C0F80141895289638974898085CC -:106FE0009185A285B38584179507A607B70751F049 -:106FF000C801F2DB811106C081E0F80180838FEFC8 -:107000009FEF37C1630183C0D80159968D919C9140 -:107010005A97FC01F481F1501A012B0169E0569452 -:107020004794379427946A95D1F7F221FD834A015A -:1070300021E09222FF2309F476C080E092E08819D3 -:10704000990976018C159D0508F47C01D8015996A3 -:10705000ED91FC915A9714962D903D904D905C9037 -:107060001797B2E02B1A310841085108058404C073 -:10707000220C331C441C551C0A94D2F78685978534 -:10708000A089B189280E391E4A1E5B1EED812E0E85 -:10709000311C411C511CE114F2E0FF0609F089C0CB -:1070A0008091B3109091B410A091B510B091B6102A -:1070B00082159305A405B50569F41092B00E8FEF03 -:1070C0009FEFDC018093B3109093B410A093B510A0 -:1070D000B093B6109501B201A1018091B10E9091CB -:1070E000B20E0E94A560882309F486CFF80180853E -:1070F0009185A285B3858E0D9F1DA11DB11D808731 -:107100009187A287B387AE0CBF1CCE18DF08D801C9 -:1071100018964D915D916D917C911B97C114D1048E -:1071200009F072CF7AC08114910409F086CF1496C9 -:107130004D915D916D917C911797411551056105B8 -:10714000710559F455968D919D910D90BC91A02D8E -:107150000097A105B10539F520C09E012F5F3F4F73 -:1071600018D1882309F448CF89819A81AB81BC81E9 -:10717000F801218D328DF9012789203139F4883FBA -:10718000FFEF9F07A105B10540F40DC0883F2FEF29 -:107190009207A2072FE0B20730F0C8010E949B308F -:1071A00081114BCF29CFF80184839583A683B783C0 -:1071B00044CF8114910411F5D80118964D915D9139 -:1071C0006D917C911B9751968D919D910D90BC91E5 -:1071D000A02D481759076A077B0780F062D08823E3 -:1071E00009F40ACF81E08093B00E2092B310309260 -:1071F000B4104092B5105092B61007C041E0C201E1 -:10720000B1018FD0882309F4F7CEA701B501C401DD -:107210008D54914F0F94A50069CF51968D919D91FA -:107220000D90BC91A02DF801218184179507A60728 -:10723000B70738F4418B528B638B748B20682183A2 -:107240000CC08091AA0E9091AB0E892B31F0611485 -:10725000710419F02068F8012183D80111968C91EE -:1072600083FD02C0C30105C0C8014FDB8111FACF05 -:10727000C3CE0F900F900F900F900F90DF91CF9192 -:107280001F910F91FF90EF90DF90CF90BF90AF9044 -:107290009F908F907F906F905F904F903F902F9036 -:1072A0000895CF938091B00E8823B9F14091B31027 -:1072B0005091B4106091B5107091B61023EB3EE080 -:1072C0008091B10E9091B20E0E94A560C82F8111DD -:1072D00002C0C0E023C04091AC0E5091AD0E609151 -:1072E000AE0E7091AF0E411551056105710591F01B -:1072F00023EB3EE08091B10E9091B20E0E94A5600A -:10730000882339F31092AC0E1092AD0E1092AE0E8F -:107310001092AF0E1092B00E01C0C1E08C2FCF9131 -:107320000895CF92DF92EF92FF92CF936B017C0191 -:10733000C42F8091B3109091B410A091B510B0916A -:10734000B6108C159D05AE05BF05C9F0AADF8111E9 -:1073500002C080E018C023EB3EE0B701A601809197 -:10736000B10E9091B20E0E943060882391F3C092CA -:10737000B310D092B410E092B510F092B61081E044 -:10738000C1118093B00ECF91FF90EF90DF90CF901E -:1073900008958F929F92AF92BF92CF92DF92EF9219 -:1073A000FF920F931F93CF93DF93EC016A017B0150 -:1073B000890189859A85AB85BC850196A11DB11D82 -:1073C00084179507A607B70710F480E054C08F898B -:1073D000803129F49927872F762F652F0BC08032B3 -:1073E000A1F7CB01BA0127E0969587957795679528 -:1073F0002A95D1F78B889C88AD88BE88680D791D49 -:107400008A1D9B1D8090B3109090B410A090B51071 -:10741000B090B610681579058A059B0581F48F89AF -:10742000803191F4DD24EE24FF24F601EE0FFF1FDE -:10743000ED54F14F80819181A0E0B0E016C040E0B2 -:1074400070DF8111ECCFC1CFE894C7F8DD24EE24C2 -:10745000FF24F601EE0FFF1FEE0FFF1FED54F14F5B -:1074600080819181A281B381BF70F8018083918373 -:10747000A283B38381E0DF91CF911F910F91FF90A1 -:10748000EF90DF90CF90BF90AF909F908F90089536 -:107490004F925F926F927F92AF92BF92CF92DF92A4 -:1074A000EF92FF920F931F93CF93DF9300D01F9221 -:1074B000CDB7DEB78C0149835A836B837C83590136 -:1074C000C12CD12C7601412C42E0542E612C712C20 -:1074D00049815A816B817C819E012F5F3F4FC8019A -:1074E00058DF882341F1D301C201F801058404C0AB -:1074F000880F991FAA1FBB1F0A94D2F7C80ED91E66 -:10750000EA1EFB1E49815A816B817C81878980310B -:1075100039F481E0483F5F4F6105710538F4D8CFF9 -:1075200081E0483F5F4F6F4F7F4090F2F501C0828E -:10753000D182E282F3820F900F900F900F90DF9133 -:10754000CF911F910F91FF90EF90DF90CF90BF9060 -:10755000AF907F906F905F904F9008954F925F92A1 -:107560006F927F928F929F92AF92BF92CF92DF9253 -:10757000EF92FF920F931F93CF93DF93EC014A0199 -:107580005B0128013901423051056105710508F49C -:1075900062C049855A856B857C854F5F5F4F6F4F11 -:1075A0007F4F481559056A057B0508F454C08F893B -:1075B000803129F4FF24EB2CDA2CC92C0CC080324A -:1075C00009F049C07501640177E0F694E794D79417 -:1075D000C7947A95D1F74B895C896D897E89C40EF1 -:1075E000D51EE61EF71E41E0C701B6019ADE8823CC -:1075F00091F19F89903159F49924AA24BB24F40174 -:10760000EE0FFF1FED54F14F5182408210C0E894FD -:1076100087F89924AA24BB24F401EE0FFF1FEE0F74 -:10762000FF1FED54F14F40825182628273829A892A -:10763000923090F04D815E816F8178854C0D5D1D9B -:107640006E1D7F1D4093AC0E5093AD0E6093AE0E39 -:107650007093AF0E01C080E0DF91CF911F910F9129 -:10766000FF90EF90DF90CF90BF90AF909F908F9062 -:107670007F906F905F904F9008952F923F924F921E -:107680005F926F927F928F929F92AF92BF92CF92B2 -:10769000DF92EF92FF920F931F93CF93DF93CDB7BB -:1076A000DEB72F970FB6F894DEBF0FBECDBF1C011B -:1076B0004C875D876E877F873B872A87DC01199619 -:1076C0000D911D912D913C911C970F5F1F4F2F4FD6 -:1076D0003F4F0D831E832F833887EA85FB8580808B -:1076E0009180A280B38081149104A104B10431F08F -:1076F000FFEF8F1A9F0AAF0ABF0A10C0DC018D90FE -:107700009D90AD90BC90B1E0B9870C851D852E850C -:107710003F85013011052105310509F019867501F4 -:107720006401412C512C3201F10181859285A385A0 -:10773000B485481659066A067B0608F04EC00D81CE -:107740001E812F8138850C151D052E053F0550F42F -:10775000F2E0CF2ED12CE12CF12CA2E08A2E912C3C -:10776000A12CB12C9E012F5F3F4FB701A601C10193 -:1077700010DE882391F149815A816B817C81D70188 -:10778000C6010196A11DB11D452B462B472B19F0B3 -:107790004C015D010FC0AC01BD01481959096A09CE -:1077A0007B090C851D852E853F8540175107620793 -:1077B000730741F01FEF411A510A610A710A6C0107 -:1077C0007D01B2CF0FEF1FEF2FEF3FE0B701A60112 -:1077D000C101C4DE8D83811113C01D823DC026010D -:1077E000370121E0421A51086108710897018601AA -:1077F000B301A201C101B2DE882379F373016201F2 -:107800008C149D04AE04BF0450F3AA85BB854D9132 -:107810005D916D917C914115510561057105A9F44A -:10782000EA85FB8580829182A282B382F985FF235B -:1078300099F00FEF801A900AA00AB00AD1018D9238 -:107840009D92AD92BC92139707C095018401C1012E -:1078500085DE8111E5CFC1CF8D812F960FB6F894CB -:10786000DEBF0FBECDBFDF91CF911F910F91FF9073 -:10787000EF90DF90CF90BF90AF909F908F907F90D0 -:107880006F905F904F903F902F900895AF92BF926E -:10789000CF92DF92EF92FF920F931F93CF93DF93DC -:1078A00000D01F92CDB7DEB75C016A017B0182E098 -:1078B00090E0A0E0B0E0F50180839183A283B383E0 -:1078C0009E012F5F3F4FB701A601C50162DD811107 -:1078D00002C080E023C000E010E09801B701A601DB -:1078E000C5013CDE8823A9F3C980DA80EB80FC80E7 -:1078F000F5018789803149F481E0F8EFCF16FFEF79 -:10790000DF06E104F10450F4DBCF81E098EFC91603 -:107910009FEFD906E9069FE0F90690F20F900F90CD -:107920000F900F90DF91CF911F910F91FF90EF90EB -:10793000DF90CF90BF90AF9008957F928F929F92EB -:10794000AF92BF92CF92DF92EF92FF920F931F936D -:10795000CF93DF93EC01142F7093B20E6093B10EAE -:107960001F8A82E090E0A0E0B0E088839983AA8338 -:10797000BB831092B00E1092AC0E1092AD0E10920E -:10798000AE0E1092AF0E8FEF9FEFDC018093B3101D -:107990009093B410A093B510B093B610442349F15E -:1079A000453008F0DEC040E060E070E0CB01B9DCBB -:1079B000882309F4D6C020E1129FF0011124EF5969 -:1079C000FF4E80818F7709F0CCC084859585A68590 -:1079D000B78584369105A105B10508F4C2C0C084FD -:1079E000D184E284F384C114D104E104F10421F4CC -:1079F000B8C0C12CD12C760140E0C701B60191DCA2 -:107A0000782E882309F4ADC08091BE0E9091BF0EF0 -:107A10008115924009F0A5C03091C30E332309F4BB -:107A2000A0C08091C10E9091C20E892B09F499C01B -:107A30002091C00E222309F494C03A8B2C831D861A -:107A400030E041E050E06D85062FCA01062E02C0ED -:107A5000880F991F0A94E2F72817390731F081E05F -:107A6000860F8D87683078F37CC02091C90E3091E5 -:107A7000CA0E2115310519F040E050E008C02091F0 -:107A8000D70E3091D80E4091D90E5091DA0E2D8339 -:107A90003E834F8358878091C10E9091C20E46015C -:107AA0005701880E991EA11CB11C8B8A9C8AAD8A35 -:107AB000BE8AE091C40EF091C50EF98FE88FA091B7 -:107AC000C30EB0E00E9464FB680D791D8A1D9B1DEA -:107AD0006A8F7B8F8C8F9D8FB5E0EE0FFF1FBA955D -:107AE000E1F7E150FE4FEF2FFF27E695DC01CB01D8 -:107AF0008E0F9F1FA11DB11D8E879F87A88BB98BED -:107B00008090C60E9090C70E8114910419F0A12C9C -:107B1000B12C08C08090D30E9090D40EA090D50EBA -:107B2000B090D60EA7019601281B390B4A0B5B0BB0 -:107B3000DA01C901880D991DAA1DBB1D04C0B695A7 -:107B4000A795979587950A95D2F789879A87AB87E6 -:107B5000BC87853F3FE09307A105B10520F48CE089 -:107B60008F8B712C15C0853F9F4FA105B10510F477 -:107B700080E10DC08091DF0E9091E00EA091E10EAA -:107B8000B091E20E8A8F9B8FAC8FBD8F80E28F8B7E -:107B9000872DDF91CF911F910F91FF90EF90DF9094 -:107BA000CF90BF90AF909F908F907F9008954F920D -:107BB0005F926F927F928F929F92AF92BF92CF927D -:107BC000DF92EF92FF920F931F93CF93DF932C01DD -:107BD00023E034E081E090E0F901459154914416AE -:107BE00055060CF062C0AC0141505109DA01AA0FF0 -:107BF000BB1FAA0FBB1FAF5FBB4FFD016591749107 -:107C0000440F551F440F551F41505C4FFA016590BA -:107C10007490FC01EE0FFF1FEE0FFF1FEF5FFB4F95 -:107C2000A590B490FD0105911491F901C591D491ED -:107C3000FA0185909490882777FD8095982F0E946F -:107C4000DEF76B017C01B20166197709882777FDA1 -:107C50008095982F0E94DEF72B013C01B501601B37 -:107C6000710B882777FD8095982F0E94DEF79B0186 -:107C7000AC01C301B2010E9411FA2B013C01BE010B -:107C800068197909882777FD8095982F0E94DEF77B -:107C90009B01AC01C301B2010E9443F79B01AC01FF -:107CA000C701B6010E9463F611C001962C5F3F4FD9 -:107CB0008D33910509F090CFE1EFF4E06591749177 -:107CC000882777FD8095982F0E94DEF7DF91CF916E -:107CD0001F910F91FF90EF90DF90CF90BF90AF90EA -:107CE0009F908F907F906F905F904F9008954F92EC -:107CF0005F926F927F928F929F92AF92BF92CF923C -:107D0000DF92EF92FF920F931F93CF93DF932C019B -:107D1000662371F1E7E9F2E58491882341F09091BF -:107D2000C00095FFFCCF8093C6003196F5CF70E080 -:107D30004AE050E08BEF96E10E94CDD0E8E6F2E019 -:107D40008491882341F09091C00095FFFCCF8093EF -:107D5000C6003196F5CF8091C00085FFFCCF8AE048 -:107D60008093C6000E948E6A60E070E0CB017EC006 -:107D700023E833E081E090E0F90145915491441605 -:107D800055060CF062C0AC0141505109DA01AA0F4E -:107D9000BB1FAA0FBB1FAF57BC4FFD01659174916C -:107DA000440F551F440F551F41585C4FFA01659011 -:107DB0007490FC01EE0FFF1FEE0FFF1FEF57FC4FFB -:107DC000A590B490FD0105911491F901C591D4914C -:107DD000FA0185909490882777FD8095982F0E94CE -:107DE000DEF76B017C01B20166197709882777FD00 -:107DF0008095982F0E94DEF72B013C01B501601B96 -:107E0000710B882777FD8095982F0E94DEF79B01E4 -:107E1000AC01C301B2010E9411FA2B013C01BE0169 -:107E200068197909882777FD8095982F0E94DEF7D9 -:107E30009B01AC01C301B2010E9443F79B01AC015D -:107E4000C701B6010E9463F611C001962C5F3F4F37 -:107E50008032910509F090CFEDEFF3E065917491D8 -:107E6000882777FD8095982F0E94DEF7DF91CF91CC -:107E70001F910F91FF90EF90DF90CF90BF90AF9048 -:107E80009F908F907F906F905F904F90089560E0EB -:107E900080910C1190910D112ADF6093081170935D -:107EA000091180930A1190930B1180910611909102 -:107EB00007117DDE6093021170930311809304110A -:107EC000909305118FB7F8941092FA108FBF089510 -:107ED0002091140230911502409116025091170220 -:107EE00060E070E08FE793E40E9443F76093DA105C -:107EF0007093DB108093DC109093DD10089597FF52 -:107F000003C08091011104C0FC01EC52FF4E80813E -:107F100090E00895CF93DF93D82FC62FC19561E0ED -:107F20000E94A9EF6C2F8D2F0E94E2EF6C2F70E062 -:107F30008D2FDF91CF910C949FEECF93C1E020E085 -:107F400030E048E452E46091081170910911809189 -:107F50000A1190910B110E943FF918160CF0C0E025 -:107F60006C2F88E090E0CF91D5CFCF93DF93109224 -:107F7000DE101092DF101092E0101092E1102091AC -:107F8000140230911502409116025091170260E0E0 -:107F900070E08FE793E40E9443F76093DA107093E8 -:107FA000DB108093DC109093DD106D9A80910101BD -:107FB0008061809301019D9A809101018860809386 -:107FC000010187ED80937A0010927E0010927D006F -:107FD00080917E00816080937E0080917E0082602F -:107FE00080937E0080917E00846080937E0080E894 -:107FF00088BD80916E00846080936E006AEF70E0AF -:1080000080E090E00E94B8F08FE090E09093CD1077 -:108010008093CC1060E080910A0290910B0267DEA1 -:1080200020E030E040E751E40E943CF787FF0AC0BF -:1080300080910A0290910B02409790930B028093DB -:108040000A02E8CF89E091E0909309028093080248 -:1080500060E08091CE109091CF1049DE20E030E8B2 -:1080600044E853E40E943FF9181654F48091CE106E -:108070009091CF1040969093CF108093CE10E8CF80 -:10808000C091CA10D091CB10CE0191DD20E030E03C -:1080900046E153E40E943FF9181634F46096D093F9 -:1080A000CB10C093CA10ECCFDF91CF910895089503 -:1080B000109211111092101110920F1110920E11B6 -:1080C0001092D410759810920F1110920E111092F8 -:1080D0000111A59808952F923F924F925F926F924F -:1080E0007F928F929F92AF92BF92CF92DF92EF9248 -:1080F000FF920F931F93CF93DF93CDB7DEB7AE9769 -:108100000FB6F894DEBF0FBECDBF6B8F7C8F8D8F07 -:10811000292E5A8749873CA72BA70E9489F06F8F89 -:1081200078A389A39AA30E9489F06FA378A789A74F -:108130009AA729853A85121613061CF0E0E1FDE0A6 -:1081400017C0E3E2FDE08191882339F09091C000EF -:1081500095FFFCCF8093C600F6CF8091C00085FFCD -:10816000FCCF1BC29091C00095FFFCCF8093C6004E -:1081700081918111F7CF8091C00085FFFCCF8AE00B -:108180008093C60095DF49855A858FE7452B99F185 -:10819000809301118F8D98A1A9A1BAA1898B9A8B87 -:1081A000AB8BBC8B8D879E87AF87B88B1D8290E48D -:1081B000988FACE1A98FB6E4BA8F1DA61D8A1E8ADE -:1081C0001F8A2FE730E040E050E029833A834B8359 -:1081D0005C83EFE74E2E512C612C712C1BA21CA24C -:1081E0001DA21EA231E03E8F1C861B86312C00E0B2 -:1081F00010E01EA605C08093D410CCCF0E9425A409 -:108200008091FA10882309F4F6C041DE49855A8529 -:10821000452B51F03090021100910311109104117F -:10822000509105115EA709C0309008110091091105 -:1082300010910A1180910B118EA7232D302F412F01 -:108240005EA56DA57D898E899F890E943FF91816CC -:108250002CF03DA60D8B1E8B9EA59F8B232D302FC2 -:10826000412F5EA56D81788D898D9A8D0E943CF796 -:1082700087FD05C03D82088F198FAEA5AA8F0E9489 -:1082800089F02FA138A549A55AA5621B730B840B51 -:10829000950B653C79408105910538F04EDE0E94D2 -:1082A00089F06FA378A789A79AA74E8D442309F474 -:1082B0004FC02B8D3C8D4D8D522D632D702F812FF6 -:1082C0009EA50E943FF918160CF095C00E9489F0F7 -:1082D00029893A894B895C89621B730B840B950B46 -:1082E000693873418105910508F485C0D301C20145 -:1082F00029813A814B815C81821B930BA40BB50BC6 -:1083000049855A85B595A79597958795452B19F079 -:108310008093011102C08093D4100E9489F06D8770 -:108320007E878F87988BDC01CB0129893A894B891D -:108330005C89821B930BA40BB50B8BA39CA3ADA3F1 -:10834000BEA33B8D3DA74C8D4D8B5D8D5E8B2F8AE3 -:108350002B8D3C8D4D8D522D632D702F812F9EA521 -:108360000E943CF787FFEEC20E9489F02D853E8572 -:108370004F855889621B730B840B950B69387341C9 -:108380008105910508F4DEC20E9489F0698B7A8B21 -:108390008B8B9C8BDC01CB012D853E854F855889CD -:1083A000821B930BA40BB50B4B855C85452B09F009 -:1083B00010C189819A81AB81BC81840D951DA61D58 -:1083C000B71D29853A85B595A79597958795232B50 -:1083D00009F4B5C2809301114B855C854F5F5F4FF7 -:1083E0005C874B875B8D5D838C8D888F9D8D998F8E -:1083F0002A8EA1E0AE8F20E030E040EA51E46B8DA0 -:108400007C8D8D8D922D0E9463F69B01AC01632DB6 -:10841000702F812F9EA50E943FF9181694F4EEE06C -:10842000F3E08491882341F09091C00095FFFCCF48 -:108430008093C6003196F5CF8091C00085FFFCCFB8 -:10844000ACC00E9489F02F8D38A149A15AA1621BAE -:10845000730B840B950B613D77408105910508F402 -:108460004FC049855A85452B81F0E0900111F12CD0 -:10847000E8E0F3E084918823C1F09091C00095FF7B -:10848000FCCF8093C6003196F5CFE090D410F12C4C -:10849000E2E0F3E08491882341F09091C00095FFE1 -:1084A000FCCF8093C6003196F5CF22E030E0432D1B -:1084B000502F612F7EA58BEF96E10E94A3D1EEEFA6 -:1084C000F2E08491882341F09091C00095FFFCCFA9 -:1084D0008093C6003196F5CF4AE050E0B7018BEFAC -:1084E00096E10E94CDD08091C00085FFFCCF8AE04C -:1084F0008093C6000E9489F06F8F78A389A39AA306 -:108500000E9489F06B017C010E9489F089889A8819 -:10851000AB88BC882D853E854F855889820E931E79 -:10852000A41EB51EC818D908EA08FB08C60ED71E37 -:10853000E81EF91E31E8C3163FE4D30632E1E30634 -:10854000F10490F0E1EEF2E08491882341F0909103 -:10855000C00095FFFCCF8093C6003196F5CF809187 -:10856000C00085FFFCCF19C04B855C858BA59CA501 -:10857000841795070CF042CEE5E8F2E08491882359 -:1085800041F09091C00095FFFCCF8093C6003196DA -:10859000F5CF8091C00085FFFCCF8AE08093C600B4 -:1085A000AE960FB6F894DEBF0FBECDBFDF91CF9170 -:1085B0001F910F91FF90EF90DF90CF90BF90AF9001 -:1085C0009F908F907F906F905F904F903F902F90F3 -:1085D00008958BA09CA0ADA0BEA0880E991EAA1ED7 -:1085E000BB1E2BA13CA14DA15EA1281B390B4A0B40 -:1085F0005B0BCA01B90129813A814B815C810E94E0 -:10860000D7FAA50194010E943CFB240D351D461D9F -:10861000571D243131054105510504F129013A0165 -:108620003CEE43165104610471042CF06BEE462EAF -:10863000512C612C712C40E84416510461047104E2 -:10864000DCF08EEF90E0A0E0B0E084199509A60977 -:10865000B70989839A83AB83BC8312C054E1452E4A -:10866000512C612C712C24E130E040E050E0298352 -:108670003A834B835C8304C049825A826B827C823A -:10868000E7E7F3E08491882341F09091C00095FFE3 -:10869000FCCF8093C6003196F5CF2AE030E0B301DD -:1086A000A2018BEF96E10E94A2D0E2E7F3E0849171 -:1086B000882341F09091C00095FFFCCF8093C600C5 -:1086C0003196F5CF2AE030E049815A816B817C8177 -:1086D0008BEF96E10E94A2D0EBE6F3E08491882331 -:1086E00041F09091C00095FFFCCF8093C600319679 -:1086F000F5CF22E030E04D81588D698D7A8D8BEF7A -:1087000096E10E94A3D1E4E6F3E08491882341F04E -:108710009091C00095FFFCCF8093C6003196F5CFB5 -:1087200022E030E04DA55D896E897F898BEF96E16F -:108730000E94A3D18091C00085FFFCCF8AE0809386 -:10874000C6002B853C85233031050CF432CE69817F -:108750007A818B819C810E94DEF720E030E040E846 -:1087600050E40E9411FA6B017C012D81388D498DF6 -:108770005A8D6DA57D898E899F890E9462F620EDB4 -:108780003FE049E450E40E9411FA20E030E040E08C -:108790005FE30E9411FA9B01AC01C701B6010E9480 -:1087A00043F76B017C01C501B4010E94DEF720E0B4 -:1087B00030E04AE754E40E9443F74B015C01EEE5E8 -:1087C000F3E08491882341F09091C00095FFFCCFA5 -:1087D0008093C6003196F5CF22E030E0B701A601C4 -:1087E0008BEF96E10E94A3D1E8E5F3E08491882322 -:1087F00041F09091C00095FFFCCF8093C600319668 -:10880000F5CF22E030E0B501A4018BEF96E10E94A4 -:10881000A3D18091C00085FFFCCF8AE08093C60081 -:108820002AE939E949E15FE3C701B6010E9411FA7B -:108830006B017C019B01AC010E9463F6A5019401D0 -:108840000E9443F76D837E838F839887A5019401EF -:10885000C701B6010E9411FA20E030E040E05EE37B -:108860000E9411FA4B015C01EAE4F3E08491882351 -:1088700041F09091C00095FFFCCF8093C6003196E7 -:10888000F5CF8091C00085FFFCCF8AE08093C600C1 -:10889000E4E4F3E08491882341F09091C00095FFD7 -:1088A000FCCF8093C6003196F5CF22E030E0B701CF -:1088B000A6018BEF96E10E94A3D18091C00085FFB5 -:1088C000FCCF8AE08093C600EEE3F3E08491882336 -:1088D00041F09091C00095FFFCCF8093C600319687 -:1088E000F5CF22E030E04D815E816F8178858BEF9E -:1088F00096E10E94A3D18091C00085FFFCCF8AE061 -:108900008093C600E8E3F3E08491882341F09091DE -:10891000C00095FFFCCF8093C6003196F5CF22E0D2 -:1089200030E0B501A4018BEF96E10E94A3D18091C4 -:10893000C00085FFFCCF8AE08093C6003ACD8093CB -:10894000D4104ACD1E8E57CD81E0809338130E94FB -:1089500097DA80919013882339F01092901360E099 -:108960008EE893E10E94D25888E592E00E9483A3AA -:108970009FDB179A10924E13169A10924F13149A67 -:1089800056D10E9425A49FB7F8948091020184607B -:10899000809302019FBF84EF91E00E94DCF09FB7BB -:1089A000F894809102018B7F809302019FBF84E63F -:1089B00090E00C94DCF02F923F924F925F926F9276 -:1089C0007F928F929F92AF92BF92CF92DF92EF925F -:1089D000FF920F931F93CF93DF93CDB7DEB7289706 -:1089E0000FB6F894DEBF0FBECDBF4C012A013B018C -:1089F0000D831E832F833887AA2039F0A12CB12C38 -:108A000019821A821B821C820BC03DE2A32EB12C5C -:108A100080E090E0A0E7B1E489839A83AB83BC83D4 -:108A20000E9489F00E94DCF78401000F111F000FE3 -:108A3000111FD801A65EBE4E1D012D913D914D9195 -:108A40005C910E9462F620E030E04AEF54E40E941C -:108A50003FF918160CF0D2C00E9489F00E94DCF792 -:108A6000F101608371838283938320E030E0A90168 -:108A7000C701B6010E943CF7811107C0F401EE0F57 -:108A8000FF1FEE5EFE4E118210829801265D3E4E63 -:108A90001901A3019201D1016D917D918D919C915C -:108AA0000E943CF7882321F120E030E0A901C301B6 -:108AB000B2010E943FF9F801E65CFE4E181674F40C -:108AC00080E090E0A0E8BFE380839183A283B3833A -:108AD000F10140825182628273820AC01082118247 -:108AE00012821382D1014D925D926D927C92139706 -:108AF000A30192016D817E818F8198850E943FF94B -:108B000087FD19C0F801E65CFE4E1F0120E030E051 -:108B100040E85FE360817181828193810E943CF72C -:108B2000811109C080E090E0A0E0B0E4F101808311 -:108B30009183A283B38320E030E0A901C701B6018D -:108B40000E943FF918160CF059C029813A814B81D7 -:108B50005C81C301B2010E9462F62D813E814F818A -:108B600058850E943CF787FF12C029813A814B81CA -:108B70005C81C301B2010E9463F69B01AC016D816F -:108B80007E818F8198850E943CF787FD37C0F80170 -:108B9000E65CFE4E20E030E040E85FE360817181FA -:108BA000828193810E943FF9181644F5F401EE0F7B -:108BB000FF1FEE5EFE4E808191810196918380833E -:108BC000880F991FA816B906CCF428960FB6F8940A -:108BD000DEBF0FBECDBFDF91CF911F910F91FF90F0 -:108BE000EF90DF90CF90BF90AF909F908F907F904D -:108BF0006F905F904F903F902F90A6CE28960FB623 -:108C0000F894DEBF0FBECDBFDF91CF911F910F91C2 -:108C1000FF90EF90DF90CF90BF90AF909F908F909C -:108C20007F906F905F904F903F902F9008952F927C -:108C30003F924F925F926F927F928F929F92AF92EC -:108C4000BF92CF92DF92EF92FF920F931F93CF9339 -:108C5000DF93CDB7DEB728970FB6F894DEBF0FBE0F -:108C6000CDBF8091FA10882309F41CC210D96091FD -:108C7000D41070E080E090E00E94DEF76B017C0190 -:108C8000409008115090091160900A1170900B11DA -:108C90006091101170911111882777FD8095982FA0 -:108CA0000E94DEF7AB01BC01A12C9301820181E09F -:108CB00090E081DE8090081190900911A0900A1137 -:108CC000B0900B110091101110911111B80188276B -:108CD00077FD8095982F0E94DEF7A50194010E94F0 -:108CE00062F66B017C016093E2107093E310809355 -:108CF000E4109093E51020E030E040E251E40E945F -:108D00003FF9181624F481E08093D910F7C020E0D1 -:108D100030E040E251ECC701B6010E943CF787FD0C -:108D200002C0012B21F481E08093D9100CC1809105 -:108D3000D910882351F01092F6101092F71010926B -:108D4000F8101092F9101092D91020911802309159 -:108D5000190240911A0250911B02C701B6010E94EC -:108D600011FA69837A838B839C836093EE107093EE -:108D7000EF108093F0109093F1102091F610309145 -:108D8000F7104091F8105091F910C701B6010E94F8 -:108D900063F62B013C012090DE103090DF10109123 -:108DA000E0100091E1109101412F502F0E943CF7FB -:108DB00087FD14C02090DA103090DB101091DC1089 -:108DC0000091DD109101412F502FB201C3010E948B -:108DD0003FF918161CF01201162D072DC101A12F05 -:108DE000B02F8093F6109093F710A093F810B093E3 -:108DF000F910209114023091150240911602509101 -:108E00001702B101812F902F0E9411FA6D837E838A -:108E10008F8398876093EA107093EB108093EC1027 -:108E20009093ED102091F2103091F3104091F410D6 -:108E30005091F510C501B4010E9462F62091100214 -:108E40003091110240911202509113020E9411FAC6 -:108E500020ED3CEC4CE45DE30E9411FA2B013C0157 -:108E600023E333E343E75FE36091E6107091E7109B -:108E70008091E8109091E9100E9411FA9B01AC01D9 -:108E8000C301B2010E9463F62B013C016093E6101E -:108E90007093E7108093E8109093E9102D813E8144 -:108EA0004F81588569817A818B819C810E9463F60C -:108EB000A30192010E9462F62B013C0120E030E008 -:108EC0004FE753E40E943FF920E030E0A901181673 -:108ED000E4F4C701B6010E943FF918167CF4A7011B -:108EE0009601B101812F902F0E9462F66093F610D7 -:108EF0007093F7108093F8109093F910412C512C37 -:108F00005FE7652E53E4752E21C0C301B2010E94B4 -:108F10003CF787FF1BC020E030E0A901C701B60184 -:108F20000E943CF787FF0FC0A7019601B101812F76 -:108F3000902F0E9462F66093F6107093F710809362 -:108F4000F8109093F910412C512C32018092F210BC -:108F50009092F310A092F410B092F5106091CC10A2 -:108F60007091CD10882777FD8095982F0E94DEF7AD -:108F70009B01AC01C501B4010E943FF91816DCF455 -:108F80006091080270910902882777FD8095982FDB -:108F90000E94DEF79B01AC01C501B4010E943CF7C1 -:108FA00087FF09C0C301B2010E94ABF775956795B1 -:108FB0006093D41002C01092D4100E9489F00091E6 -:108FC000D0101091D1102091D2103091D310601B8D -:108FD000710B820B930B653C79408105910560F024 -:108FE0000E949D3F0E9489F06093D0107093D11031 -:108FF0008093D2109093D3100E9489F00091D510E5 -:109000001091D6102091D7103091D810601B710BA1 -:10901000820B930B683873418105910508F442C0B7 -:109020000E9489F06093D5107093D6108093D7106A -:109030009093D810C0900211D0900311E0900411C9 -:10904000F090051120E030E040E751E4C701B6019F -:109050000E943FF918161CF520E030E046E153E489 -:10906000C701B6010E943CF787FF19C060910E113D -:1090700070910F11882777FD8095982F0E94DEF759 -:109080009B01AC01C701B6010E943FF987FD03C0F7 -:109090001092011107C08FE78093011103C0109255 -:1090A0000111A59828960FB6F894DEBF0FBECDBF6C -:1090B000DF91CF911F910F91FF90EF90DF90CF90B4 -:1090C000BF90AF909F908F907F906F905F904F90E8 -:1090D0003F902F900895CF93C82F0E9458400E9430 -:1090E000466B811134C0E7E9F2E59491992341F090 -:1090F0008091C00085FFFCCF9093C6003196F5CFDC -:109100006C2F70E04AE050E08BEF96E10E94CDD0EA -:109110008091C00085FFFCCF8AE08093C600EBE21F -:10912000F2E08491882341F09091C00095FFFCCF3C -:109130008093C6003196F5CF8091C00085FFFCCFAB -:109140008AE08093C6008EE192E00E9483A3CF91D3 -:109150000C94EE6ACF93C82F0E9458400E94466B31 -:10916000811134C0E7E9F2E59491992341F08091AF -:10917000C00085FFFCCF9093C6003196F5CF6C2FD1 -:1091800070E04AE050E08BEF96E10E94CDD08091F4 -:10919000C00085FFFCCF8AE08093C600E1EFF1E0DC -:1091A0008491882341F09091C00095FFFCCF80937B -:1091B000C6003196F5CF8091C00085FFFCCF8AE0D4 -:1091C0008093C60084EE91E00E9483A3CF910C941B -:1091D000EE6AA5980E94466B811125C0E7E9F2E589 -:1091E0008491882341F09091C00095FFFCCF80933B -:1091F000C6003196F5CFEBEAF1E08491882341F087 -:109200009091C00095FFFCCF8093C6003196F5CFBA -:109210008091C00085FFFCCF8AE08093C6008AE978 -:1092200091E00E9483A30C94EE6A1F920F920FB6F6 -:109230000F9211240BB60F920F931F932F933F930E -:109240004F935F936F937F938F939F93AF93BF934E -:10925000CF93DF93EF93FF9380910702811112C0A8 -:109260008091D4108093C910882311F0759A01C0A1 -:109270007598809101118093C810882311F0A59AE8 -:1092800001C0A5989091C91080910702981708F421 -:1092900075989091C81080910702981708F4A598C6 -:1092A000809107028F5F8F7780930702809106027B -:1092B00090E08B30910508F093C0FC01EE58FF4F11 -:1092C0000C9458FB10927B0080E480937C0080918A -:1092D0007A00806480937A000E948CA381E019C098 -:1092E00020917800309179008091C4109091C51040 -:1092F000A091C610B091C710820F931FA11DB11D80 -:109300008093C4109093C510A093C610B093C7105B -:1093100082E08093060264C010927B0082E4809316 -:109320007C0080917A00806480937A000E948CA3F4 -:1093300083E0EFCF20917800309179008091C010C8 -:109340009091C110A091C210B091C310820F931FD1 -:10935000A11DB11D8093C0109093C110A093C210A5 -:10936000B093C31084E0D5CF10927B0081E480934A -:109370007C0080917A00806480937A000E948CA3A4 -:1093800085E0C7CF20917800309179008091BC10A2 -:109390009091BD10A091BE10B091BF10820F931F8D -:1093A000A11DB11D8093BC109093BD10A093BE1061 -:1093B000B093BF1086E0ADCF0E948CA387E0A9CF09 -:1093C00088E0A7CF0E948CA389E0A3CF1092060269 -:1093D0008091BB108F5F8093BB1002C01092060279 -:1093E0008091BB10803108F463C08091FA10811124 -:1093F00010C08091C4109091C51090930D1180936E -:109400000C118091C0109091C1109093071180931E -:10941000061181E08093FA101092BB101092C410D4 -:109420001092C5101092C6101092C7101092BC1066 -:109430001092BD101092BE101092BF101092B71073 -:109440001092B8101092B9101092BA101092C01069 -:109450001092C1101092C2101092C31020910C11E2 -:1094600030910D118091CE109091CF1082179307FB -:1094700014F080E030DE20910C1130910D118091BC -:109480000A0290910B022817390714F080E062DE7F -:1094900020910611309107118091CA109091CB1044 -:1094A000821793072CF010920F1110920E1191DE7B -:1094B00000E010E0E801CC0FDD1FC550DF4E8881D1 -:1094C00099811816190644F461E0802F0E94B9DAD8 -:1094D00088819981019709C0892B49F060E0802F2C -:1094E0000E94B9DA888199810196998388830F5FF8 -:1094F0001F4F03301105F1F6FF91EF91DF91CF91EE -:10950000BF91AF919F918F917F916F915F914F919B -:109510003F912F911F910F910F900BBE0F900FBE97 -:109520000F901F9018952CEA35EC47E25EE30C94FF -:1095300011FA2CEA35EC47E25EE30C9443F72CEA8F -:1095400035EC47E25EE30C9443F72CEA35EC47E256 -:109550005EE30C9411FACF93DF93EC0160E08E810F -:109560000E94E2EF81E090E00E94DCF061E08E81F9 -:109570000E94E2EF81E090E00E94DCF060E08E81EA -:109580000E94E2EF84E690E0DF91CF910C94DCF052 -:10959000CF92DF92EF92FF920F931F93CF93DF93BF -:1095A0007C01C0E0D0E0C62ED12C87010C0F1D1F1E -:1095B00061E0F80187810E94A9EFB6010C2E02C07C -:1095C000759567950A94E2F76170F80187810E94AA -:1095D000E2EF2196C430D10541F7C701DF91CF9169 -:1095E0001F910F91FF90EF90DF90CF90B4CFCF926B -:1095F000DF92EF92FF920F931F93CF93DF937C0143 -:10960000C0E0D0E0C62ED12C87010C0F1D1F61E0F9 -:10961000F80187810E94A9EFB6010C2E02C0759552 -:1096200067950A94E2F76170F80187810E94E2EF82 -:109630002196C830D10541F7C701DF91CF911F9125 -:109640000F91FF90EF90DF90CF9085CF1F93CF9336 -:10965000DF93EC01162F642F8C810E94E2EF8D8145 -:109660008F3F19F060E00E94E2EF8F85612F84FF49 -:1096700005C0CE01DF91CF911F91B9CF70E084E09A -:10968000759567958A95E1F7CE0182DF612FCE014E -:10969000DF91CF911F917CCF40E0D8CF61E0FCDF1C -:1096A00080E496E00C94DCF062E0F6DF80E496E083 -:1096B0000C94DCF0CF93DF93CDB7DEB728970FB6CD -:1096C000F894DEBF0FBECDBF28E0EBE8FCE0DE0182 -:1096D000119601900D922A95E1F7FC01238942171A -:1096E00010F04FEF420FFE013196E40FF11DE40F31 -:1096F000F11D2081260F2068622F28960FB6F8945E -:10970000DEBF0FBECDBFDF91CF91C6CFFC01608918 -:10971000262F2460208B6C60BFCFCF93DF93EC01AA -:10972000423018F08F8588608F874B8B1C8A2223EC -:1097300029F0413019F48F8584608F8780E593ECA0 -:109740000E94DCF060E08C810E94E2EF60E08E819C -:109750000E94E2EF8D818F3F19F060E00E94E2EFFE -:109760006F8564FD19C063E0CE0112DF84E991E1E9 -:109770000E94DCF063E0CE010BDF84E991E10E94FE -:10978000DCF063E0CE0104DF86E990E00E94DCF0CB -:1097900062E0CE01FDDE13C06062CE017DDF84E9B0 -:1097A00091E10E94DCF06F856062CE0175DF86E991 -:1097B00090E00E94DCF06F856062CE016DDF6F8506 -:1097C0006062CE0169DF8CE390E00E94DCF084E00F -:1097D000888BCE019BDF8CE390E00E94DCF0CE0111 -:1097E0005DDF88EB9BE00E94DCF082E0898B66E025 -:1097F000CE0152DF8CE390E0DF91CF910C94DCF04E -:109800006F927F928F92AF92CF92EF920F931F93AE -:10981000CF93DF93CDB7DEB73C01162F842F5E8543 -:109820004F8538899989F301848325830683E782EC -:10983000C086A1868286538744873587968761E0F4 -:109840000E94A9EFF30185818F3F19F061E00E942A -:10985000A9EF61E0F30186810E94A9EF112319F0BD -:10986000F301178603C080E1F301878720E041E020 -:1098700060E1C301DF91CF911F910F91EF90CF90E5 -:10988000AF908F907F906F9048CF8F92AF92CF9292 -:10989000EF920F93DC0113961C921E921297E1E552 -:1098A000FDE0ED93FC931F921F921F921F928C2C50 -:1098B000AE2CC02EE22E042F2FEF462F61E0A0DF4A -:1098C0000F900F900F900F900F91EF90CF90AF905F -:1098D0008F900895CF93DF93EC01423018F08F857D -:1098E00088608F874B8B1C8A222329F0413019F422 -:1098F0008F8584608F8780E593EC0E94DCF060E0C8 -:109900008C810E94E2EF60E08E810E94E2EF8D8107 -:109910008F3F19F060E00E94E2EF6F8564FD19C08F -:1099200063E0CE0135DE84E991E10E94DCF063E082 -:10993000CE012EDE84E991E10E94DCF063E0CE01ED -:1099400027DE86E990E00E94DCF062E0CE0120DEB6 -:1099500013C06062CE01A0DE84E991E10E94DCF0D8 -:109960006F856062CE0198DE86E990E00E94DCF0AF -:109970006F856062CE0190DE6F856062CE018CDE05 -:109980008CE390E00E94DCF084E0888BCE01BEDEA8 -:109990008CE390E00E94DCF0CE0186DE80E496E06D -:1099A0000E94DCF082E0898B66E0CE0175DE8CE3FC -:1099B00090E00E94DCF040E068E0CE017BDE61E7F1 -:1099C0007EE0CE010E94F2F541E068E0CE0172DE59 -:1099D00061E77EE0CE010E94F2F542E066E0CE0152 -:1099E00069DE6FE67EE0CE01DF91CF910C94F2F557 -:1099F000CF92DF92EF92FF920F931F93CF93DF935B -:109A00001F921F92CDB7DEB78C01677088E0689F08 -:109A1000B00111246064C80149835A833DDE498145 -:109A2000C42E5A81D52EE12CF12CD6016D916D01F9 -:109A3000D801ED91FC910190F081E02DC8011995BC -:109A4000BFEFEB1AFB0AE8E0EE16F10471F70F9096 -:109A50000F90DF91CF911F910F91FF90EF90DF90CA -:109A6000CF90089541E0F2DD81E090E008950F93FA -:109A70001F93CF93DF93EC018B0144E150E0BC01D5 -:109A80008AE491E10F946F00CE010F944E00992764 -:109A900044E150E0481B590BB801865B9E4E0F9481 -:109AA0006F008AE491E1DF91CF911F910F910895AA -:109AB000AF92BF92CF92DF92EF92FF920F931F93DC -:109AC000CF93DF93EC015B017A01690144E150E03F -:109AD000BC018AE491E10F946F00CE010F944E0017 -:109AE000EC01DD2704E110E0A8014C1B5D0BB50182 -:109AF000CE01865B9E4E0F946F00C5010F944E0001 -:109B0000C80FD91FDD27A8014C1B5D0BB701CE0183 -:109B1000865B9E4E0F946F00C7010F944E008C0F12 -:109B20009D1F9927A801481B590BB601865B9E4EC5 -:109B30000F946F008AE491E1DF91CF911F910F9113 -:109B4000FF90EF90DF90CF90BF90AF9008952F924D -:109B50003F924F925F926F927F928F929F92AF92BD -:109B6000BF92CF92DF92EF92FF920F931F93CF930A -:109B7000DF93CDB7DEB7CF54D1090FB6F894DEBF6F -:109B80000FBECDBF1C017E8F6D8F4A012FAB09AF79 -:109B90002896EFAE28972C96ACAEBDAECEAEDFAE1B -:109BA0002C9734E0239F50011124FC01EA0DFB1D8A -:109BB00080819181A281B381898F9A8FAB8FBC8F75 -:109BC000DA01AA0DBB1DBCAFABAF4D905D906D909F -:109BD0007C90A3019201698D7A8D8B8D9C8D0E9462 -:109BE00063F621966CAF7DAF8EAF9FAF2197B4E047 -:109BF0000B9F80011124F101E00FF11F20813181C1 -:109C0000428153812F8F38A349A35AA3A401400F47 -:109C1000511F23965FAF4EAF2397DA01CD90DD90B1 -:109C2000ED90FC90A70196016F8D78A189A19AA172 -:109C30000E9463F627966CAF7DAF8EAF9FAF2797DC -:109C40002896EFAD2897B4E0EB9FC0011124F101F5 -:109C5000E80FF91F20813181428153812BA33CA35E -:109C60004DA35EA3ED8DFE8DE80FF91F608171811C -:109C7000828193810E9462F66FA378A789A79AA731 -:109C8000AD8DBE8D1C968D919D910D90BC91A02D9A -:109C900060968CAF9DAFAEAFBFAF6097D1011C9601 -:109CA0002D913D914D915C911F972BA73CA74DA7FE -:109CB0005EA7A301920150582D8B3E8B4F8B588F7E -:109CC000D701C601B058898B9A8BAB8BBC8BED8DBD -:109CD000FE8DEA0DFB1D20813181428153812FA72A -:109CE00038AB49AB5AAB21962CAD3DAD4EAD5FAD17 -:109CF00021976FA578A989A99AA90E9462F66B019C -:109D00007C01ED8DFE8DE00FF11F80819181A2819C -:109D1000B3818BAB9CABADABBEAB27962CAD3DAD51 -:109D20004EAD5FAD2797BC01CD010E9462F64B019D -:109D30005C01A70196016D897E898F89988D0E94AB -:109D400011FA2B013C01A501940169897A898B895B -:109D50009C890E9411FA9B01AC01C301B2010E94CF -:109D600063F62B013C01A50194016D897E898F89E1 -:109D7000988D0E9411FA4B015C01A7019601698937 -:109D80007A898B899C890E9411FA9B01AC01C501DB -:109D9000B4010E9462F6A30192010E94D6F66B0103 -:109DA0007C0120E030E0A9010E943CF787FF0AC057 -:109DB0002BED3FE049EC50E4C701B6010E9463F689 -:109DC0006B017C01AA968FADAA97882351F02BEDE9 -:109DD0003FE049EC50E4C701B6010E9462F66B0116 -:109DE0007C012FA538A949A95AA9698D7A8D8B8D37 -:109DF0009C8D0E943CF781111FC02BA93CA94DA945 -:109E00005EA96F8D78A189A19AA10E943CF781116A -:109E100013C020E030E0A901C701B6010E943CF761 -:109E200081110AC02BED3FE049EC50E4C701B601B7 -:109E30000E9463F66B017C01A9962CAD3DAD4EAD41 -:109E40005FADA997C701B6010E9411FA2FA138A5ED -:109E500049A55AA55F770E944CF94B015C012FE69A -:109E600032E143E85AE30E943CF787FDC8C1C501CF -:109E7000B4010E9419F80E94B0F77A8F698FDB0154 -:109E8000AB2B21F4E1E0F0E0FA8FE98F298D3A8DD8 -:109E9000B90180E090E00E94DCF74B015C019B017E -:109EA000AC01C701B6010E9443F72B013C01A5019B -:109EB00094016FA178A589A59AA50E9443F76FA781 -:109EC00078AB89AB9AAB2BA53CA54DA55EA560965A -:109ED0006CAD7DAD8EAD9FAD60970E9462F6A50121 -:109EE00094010E9443F76BAB7CAB8DAB9EAB20E043 -:109EF00030E040E05FE3C301B2010E9411FAA30128 -:109F000092010E9411FA9B01AC0160E070E080E8D0 -:109F10009FE30E9462F66FA378A789A79AA7CE0154 -:109F20000196FC0128964FAD289734E0439FE00D41 -:109F3000F11D11242BA13CA14DA15EA120833183F1 -:109F4000428353832BA53CA54DA55EA52D873E8757 -:109F50004F87588BB12C41E050E058A34F8F1C0124 -:109F6000BFA9A4E0BA9F800D911D112498AF8FABBB -:109F7000910159AD44E0549F200D311D11243AAF99 -:109F800029AFFCA7EBA74F8D58A1898D9A8D481753 -:109F9000590708F01AC188E18B150CF444C02FA1B1 -:109FA00038A549A55AA569897A898B899C890E9417 -:109FB00011FA6B017C01A30192016D897E898F8961 -:109FC000988D0E9411FAA70196010E9463F6A62EB1 -:109FD000172F982E892E2FA138A549A55AA56D892E -:109FE0007E898F89988D0E9411FA6B017C01A301F3 -:109FF000920169897A898B899C890E9411FA9B0157 -:10A00000AC01C701B6010E9462F66D8B7E8B8F8B0F -:10A01000988FB3948A2D912FA92DB82D898B9A8B67 -:10A02000AB8BBC8B6CC0AF8DB8A1BD0180E090E064 -:10A030000E94DCF7A30192010E9411FA6B017C01DE -:10A040000E9440F7698B7A8B8B8B9C8BC701B60182 -:10A050000E9474FA4B015C01EBADFCADC080D18075 -:10A06000E280F380F7FAF094F7F8F0942396AEAD1F -:10A07000BFAD23972D913D914D915C912BA33CA3B6 -:10A080004DA35EA329893A894B895C89C701B60132 -:10A090000E9411FA6D8B7E8B8F8B988FA501940196 -:10A0A0006BA17CA18DA19EA10E9411FA9B01AC0124 -:10A0B0006D897E898F89988D0E9463F66D8B7E8B6A -:10A0C0008F8B988FA5019401C701B6010E9411FAE8 -:10A0D0006B017C0129893A894B895C896BA17CA140 -:10A0E0008DA19EA10E9411FA9B01AC01C701B6018E -:10A0F0000E9462F6698B7A8B8B8B9C8BB12C2D899D -:10A100003E894F89588D21966CAD7DAD8EAD9FAD4A -:10A1100021970E9463F6EFA9F8AD60837183828373 -:10A12000938329893A894B895C8927966CAD7DADEB -:10A130008EAD9FAD27970E9463F6A9ADBAAD6D9322 -:10A140007D938D939C9313972FA538A949A95AA95C -:10A15000EBA5FCA560817181828193810E9463F6E9 -:10A16000ABA5BCA56D937D938D939C9313972BA961 -:10A170003CA94DA95EA96D857E858F8598890E9431 -:10A1800063F66D877E878F87988BC1010E94D666A4 -:10A19000FE01E659FF4F6F012C96ECACFDAC0EAD05 -:10A1A0001FAD2C979E01235F3F4FAE01475F5F4F6E -:10A1B000BE016B5F7F4FC1010E94B4E12F8D38A1BA -:10A1C0002F5F3F4F38A32F8FDECE2D8D3E8D245F26 -:10A1D0003F4F4D8D5E8D485F5F4F6D8D7E8D6C5F07 -:10A1E0007F4FDE01A659BF4F6D012C96ECACFDAC44 -:10A1F0000EAD1FAD2C978D8D9E8D0E94B4E1C15B7D -:10A20000DF4F0FB6F894DEBF0FBECDBFDF91CF9109 -:10A210001F910F91FF90EF90DF90CF90BF90AF9084 -:10A220009F908F907F906F905F904F903F902F9076 -:10A230000895FC01148217821382128286E99EE03F -:10A2400091838083089526E93EE0FC0131832083D9 -:10A250002781222319F004960C94CF340895CF92CD -:10A26000DF92EF92FF920F931F93CF93DF93EC0156 -:10A27000875B9F4FDEDFCE0186599F4FDADF7E017D -:10A2800029E8E20EF11C87016E0131E4C31A3EEFAA -:10A29000D30AC801CEDF015E1F4F0C151D05C9F79B -:10A2A000FE01EF53FE4F89E1818314823596178AB0 -:10A2B000CE018C519E4FBDDFFE01EB56FD4F10824B -:10A2C00011821282138238961082118212821382B6 -:10A2D0001A821B82188219826E0187E6C81A8DEFD6 -:10A2E000D80AF6011082118212821382F8011182BB -:10A2F0001082FE01ED5FFD4F108286E391E0F701D1 -:10A300009C01119221503040E1F7FE01EF55FD4FC5 -:10A3100081E08083C95BDF4F198218820E9489F037 -:10A3200068577C4E8F4F9F4FF60160837183828305 -:10A330009383DF91CF911F910F91FF90EF90DF906A -:10A34000CF900895FC0120E03EE2DB014C914032C9 -:10A3500041F0283011F430833196DB014C91408379 -:10A3600031962F5F6F5F7F4F2B3079F71082089502 -:10A370002F923F924F925F926F927F928F929F9215 -:10A38000AF92BF92CF92DF92EF92FF920F931F9303 -:10A39000CF93DF93CDB7DEB7CA58D1090FB6F89483 -:10A3A000DEBF0FBECDBF8C016B017A014901CA57D8 -:10A3B000DF4F1882C658D04084E0E80EF11C180127 -:10A3C00091E1290E311CF801EA5BFF4FC957DF4FBD -:10A3D000F983E883C758D0403801FEE56F1AFDEFD6 -:10A3E0007F0A58018CE5A81A8DEFB80A90E4492E2F -:10A3F000512C4C0E5D1E94E0490E511CA101BE0172 -:10A400006F5F7F4FC7010E94393318160CF04AC1A5 -:10A410002C85322F3871303109F0ACC0F3018081C6 -:10A4200091810197029708F4A5C0BE016F5F7F4F2D -:10A43000CE0187589F4F86DFA0961FAEA097F601EA -:10A440008081811107C065E57DE0CE01815A9F4F73 -:10A450000F94C800B601CE01815A9F4F0F94C800D7 -:10A46000BE0167587F4FCE01815A9F4F0F94C8009D -:10A4700065E57DE0CE01815A9F4F0F94C800CE0163 -:10A48000805C9F4FD6DE21E0AE0147585F4FB70199 -:10A49000C2010E94C636811147C0F30180819181BB -:10A4A000892B09F041C0E1E9F2E58491882341F06C -:10A4B0009091C00095FFFCCF8093C6003196F5CFF8 -:10A4C000E0917B13F0E0EE0FFF1FE45EFD4F019083 -:10A4D000F081E02DE457FE4F0190F081E02D819155 -:10A4E000882339F09091C00095FFFCCF8093C6007F -:10A4F000F6CF8091C00085FFFCCF8AE08093C60034 -:10A50000FE01E758FF4F8191882339F09091C000F8 -:10A5100095FFFCCF8093C600F6CF8091C00085FFE9 -:10A52000FCCF8AE08093C6008BE1FE01EC5BFF4F1D -:10A53000DE01959601900D928A95E1F724968EADF5 -:10A540009FAD24979CA38BA386E99EE09AA389A341 -:10A5500020E030E0AE014F5D5F4FBE01615A7F4F9A -:10A56000C80106DFCE0181966EDECE01805C9F4F72 -:10A570006ADE44CF8981882309F494C08E3209F4BD -:10A580003DCF8F3509F43ACFF80181898E3209F435 -:10A5900035CF8F3509F432CF23FD30CF81E0303114 -:10A5A00009F080E0C957DF4FE881F981C758D040F2 -:10A5B0008083811108C08985873409F01FCF8A857F -:10A5C0008E3709F41BCF98012C5F3F4FBE016F5FA0 -:10A5D0007F4FC901C757DF4F2883C958D040C6579E -:10A5E000DF4F3883CA58D040ADDEF30180819181BE -:10A5F000C757DF4F2881C958D040C657DF4F388131 -:10A60000CA58D0400097F1F4F6018191882339F0BF -:10A610009091C00095FFFCCF8093C600F6CFF90162 -:10A620008191882339F09091C00095FFFCCF8093F1 -:10A63000C600F6CF8091C00085FFFCCF8AE08093F2 -:10A64000C600DCCE8130910539F4F501808191811D -:10A65000019691838083D2CE029709F0CFCE8114E8 -:10A66000910439F0B901C4010F94B500892B71F43C -:10A6700019C0CA57DF4FF881C658D0402F2F30E09D -:10A68000F501808191812817390761F0CA57DF4FA2 -:10A69000F881C658D040FF5FCA57DF4FF883C658CD -:10A6A000D040ACCEC657DF4F0FB6F894DEBF0FBE1A -:10A6B000CDBFDF91CF911F910F91FF90EF90DF9071 -:10A6C000CF90BF90AF909F908F907F906F905F9052 -:10A6D0004F903F902F9008950F931F93CF93DF9348 -:10A6E000CDB7DEB76F970FB6F894DEBF0FBECDBF04 -:10A6F0008C01FC01EE55FD4F1182108240E050E0CC -:10A70000BA01835B9F4F0E94EC33C801875B9F4F68 -:10A710002BE1FC013496DE01159601900D922A95ED -:10A72000E1F7FC01828193819C838B8386E99EE023 -:10A730009A83898320E030E0AE014F5F5F4F67E787 -:10A740007EE0C80115DECE0101967DDD6F960FB665 -:10A75000F894DEBF0FBECDBFDF91CF911F910F9157 -:10A7600008952BE1FB013496DC01149601900D92C3 -:10A770002A95E1F7FB0122813381FC013383228397 -:10A780000895EF92FF920F931F93CF93DF93EC0105 -:10A790001B82FC01E05BFF4F8081882329F0CE0102 -:10A7A000835B9F4F0E94CF347E018FE3E81A8EEFC8 -:10A7B000F80A45E360E0C7010E947D5F81112CC06B -:10A7C000E1E9F2E58491882341F09091C00095FF82 -:10A7D000FCCF8093C6003196F5CFE0917B13F0E07B -:10A7E000EE0FFF1FE45EFD4F0190F081E02DE25778 -:10A7F000FE4F0190F081E02D8491882341F09091EB -:10A80000C00095FFFCCF8093C6003196F5CF8091B4 -:10A81000C00085FFFCCF9EC08E010A531E4F41E051 -:10A82000B701C8010E949D3C811133C040E0B701CF -:10A83000C8010E949D3C81112CC0E7E9F2E584919A -:10A84000882341F09091C00095FFFCCF8093C60013 -:10A850003196F5CFE0917B13F0E0EE0FFF1FE45E41 -:10A86000FD4F0190F081E02DE057FE4F0190F08107 -:10A87000E02D8491882341F09091C00095FFFCCF9A -:10A880008093C6003196F5CF8091C00085FFFCCF44 -:10A8900061C0B801CE01835B9F4F0E94DC31811102 -:10A8A0002CC0E7E9F2E58491882341F09091C00043 -:10A8B00095FFFCCF8093C6003196F5CFE0917B13D6 -:10A8C000F0E0EE0FFF1FE45EFD4F0190F081E02D00 -:10A8D000EE56FE4F0190F081E02D8491882341F0E7 -:10A8E0009091C00095FFFCCF8093C6003196F5CFC4 -:10A8F0008091C00085FFFCCF2DC081E08B83E1E912 -:10A90000F2E58491882341F09091C00095FFFCCF3F -:10A910008093C6003196F5CFE0917B13F0E0EE0F07 -:10A92000FF1FE45EFD4F0190F081E02DEC56FE4FDD -:10A930000190F081E02D8491882341F09091C00036 -:10A9400095FFFCCF8093C6003196F5CF8091C00073 -:10A9500085FFFCCF8AE08093C6008E01075B1F4F06 -:10A96000B801CE0186599F4FFCDEC859DF4F1983CD -:10A970000883DF91CF911F910F91FF90EF90089581 -:10A98000FC01128213820895FC012381222311F01D -:10A9900021E022830895FC01228121111282089571 -:10A9A000AF92BF92CF92DF92EF92FF920F931F93DD -:10A9B000CF93DF931F92CDB7DEB78C018FE2FB01FF -:10A9C00081935F01D12C41E07801F1E4EF1AFEEFB1 -:10A9D000FF0A6FE1C62E2D2D30E0F70180819181B5 -:10A9E00028173907D8F4C29EC001C39E900D1124C8 -:10A9F00083579F4FB501800F911F49830E94833178 -:10AA0000C50149815C010196F5012081222321F0D5 -:10AA10004D3810F44F5FF6CFD394DDCF47FD11C012 -:10AA2000B501C80188519E4F0F90DF91CF911F91C2 -:10AA30000F91FF90EF90DF90CF90BF90AF900C946C -:10AA40008331F50110820F90DF91CF911F910F910B -:10AA5000FF90EF90DF90CF90BF90AF9008953F921E -:10AA60004F925F926F927F928F929F92AF92BF921E -:10AA7000CF92DF92EF92FF920F931F93CF93DF93CA -:10AA8000CDB7DEB7AC970FB6F894DEBF0FBECDBF23 -:10AA90007C015B01FC018381882309F408C1C701A3 -:10AAA00088519E4F0E94CF34F7011282CE01019649 -:10AAB0006C01BFDB270198E6490E511CC701875B7B -:10AAC0009F4FF20191838083F50180818F3209F0DD -:10AAD00084C06FE270E0C5010F94D3008C010F5F5A -:10AAE0001F4F7AE0372E0115110509F47CC06FE283 -:10AAF00070E0C8010F94D3004C01009709F474C0B2 -:10AB00000817190708F070C03C01601A710AA30108 -:10AB1000B801CE0180960F94FC00E0E2F0E0EC0F6B -:10AB2000FD1FE60DF71D1082FE01B096819188236E -:10AB300039F09091C00095FFFCCF8093C600F6CF0E -:10AB40008091C00085FFFCCF3092C600F201608189 -:10AB500071816115710519F06C5F7F4F02C060E073 -:10AB600070E021E0AE01405E5F4FCE0105960E948D -:10AB7000C63681112BC0E7E5FDE08491882341F0C2 -:10AB80009091C00095FFFCCF8093C6003196F5CF21 -:10AB9000FE01B0968191882339F09091C00095FF15 -:10ABA000FCCF8093C600F6CFEEECFEE484918823C0 -:10ABB00041F09091C00095FFFCCF8093C600319684 -:10ABC000F5CF8091C00085FFFCCF6CC0F201D1822F -:10ABD000C08284010F5F1F4F86CFC70186599F4FE8 -:10ABE000F201918380838501F20180819181009738 -:10ABF00011F0049602C080E090E0B8010E949C37FA -:10AC0000882339F1E0ECFEE48491882341F09091AF -:10AC1000C00095FFFCCF8093C6003196F5CFF801B8 -:10AC20008191882339F09091C00095FFFCCF8093EB -:10AC3000C600F6CF8091C00085FFFCCF8AE08093EC -:10AC4000C600F701E356FD4F108211821282138273 -:10AC50002CC0E8EAFEE48491882341F09091C00082 -:10AC600095FFFCCF8093C6003196F5CFF801819116 -:10AC7000882339F09091C00095FFFCCF8093C600E7 -:10AC8000F6CFE6EAFEE48491882341F09091C0007B -:10AC900095FFFCCF8093C6003196F5CF8091C00020 -:10ACA00085FFFCCF8AE08093C600C601CCDAAC9663 -:10ACB0000FB6F894DEBF0FBECDBFDF91CF911F91CD -:10ACC0000F91FF90EF90DF90CF90BF90AF909F904B -:10ACD0008F907F906F905F904F903F9008958F92EC -:10ACE0009F92AF92BF92CF92DF92EF92FF92CF935B -:10ACF000DF931F92CDB7DEB77C01FC0182818823F0 -:10AD000009F4BCC071968191882339F09091C000FC -:10AD100095FFFCCF8093C600F6CFE4EAFEE4849171 -:10AD2000882341F09091C00095FFFCCF8093C6002E -:10AD30003196F5CFE0917B13F0E0EE0FFF1FE45E5C -:10AD4000FD4F0190F081E02DEE55FE4F0190F08116 -:10AD5000E02D8491882341F09091C00095FFFCCFB5 -:10AD60008093C6003196F5CFF701E356FD4F408141 -:10AD70005181628173812AE030E08BEF96E10E947D -:10AD8000F9D0E2EAFEE48491882341F09091C0007A -:10AD900095FFFCCF8093C6003196F5CFF701EB56B7 -:10ADA000FD4F40815181628173812AE030E08BEF59 -:10ADB00096E10E94F9D08091C00085FFFCCF8AE027 -:10ADC0008093C6000E9489F0E0E6CE2EEAEEDE2EE9 -:10ADD000E12CF12CA70196010E941AFB49015A01AE -:10ADE00060916B1170916C1180916D1190916E1149 -:10ADF000A70196010E941AFB821A930AC4016CE310 -:10AE000070E00E94F3FA6983CE0101960E940FA5BB -:10AE1000FC012191CF01222339F03091C00035FF90 -:10AE2000FCCF2093C600F4CF40E050E06AE38BEF04 -:10AE300096E10E94B1D0C4016CE370E00E94F3FA85 -:10AE40008983CE0101960E940FA5FC012191CF01BB -:10AE5000222339F03091C00035FFFCCF2093C6008B -:10AE6000F4CFE0EAFEE484918823E1F09091C00001 -:10AE700095FFFCCF8093C6003196F5CFEBE6FDE061 -:10AE80008491882341F09091C00095FFFCCF80937E -:10AE9000C6003196F5CF8091C00085FFFCCF8AE0D7 -:10AEA0008093C6000F90DF91CF91FF90EF90DF90DD -:10AEB000CF90BF90AF909F908F900895AF92BF9228 -:10AEC000CF92DF92EF92FF920F931F93CF93DF9376 -:10AED0005C01EB01FB0101900020E9F78F010150BB -:10AEE0001109061B170B6C01F8E1CF1AFEEFDF0A00 -:10AEF000F60110826EE470E0CE010F94D3007C0165 -:10AF0000009729F4F8013197EC0FFD1F0DC060E2A6 -:10AF100070E00F94D300EC0121966AE270E0C70163 -:10AF20000F94D300FC0131978DE081838AE0828306 -:10AF30001382BE01C5018C519E4F0E94B6D1F6010D -:10AF40008081882371F1E7E9F2E58491882341F05B -:10AF50009091C00095FFFCCF8093C6003196F5CF4D -:10AF6000E0917B13F0E0EE0FFF1FE45EFD4F0190D8 -:10AF7000F081E02DEA55FE4F0190F081E02D8491A3 -:10AF8000882341F09091C00095FFFCCF8093C600CC -:10AF90003196F5CF8091C00085FFFCCF8AE0809389 -:10AFA000C600DF91CF911F910F91FF90EF90DF903E -:10AFB000CF90BF90AF9008952F923F924F925F92A3 -:10AFC0006F927F928F929F92AF92BF92CF92DF92B9 -:10AFD000EF92FF920F931F93CF93DF93CDB7DEB71E -:10AFE000CC55D1090FB6F894DEBF0FBECDBF4C01D2 -:10AFF0008C010F551D4F662339F0F8011082F401C2 -:10B00000838181111DC015C0F8018081882309F456 -:10B01000AFC0F401E756FD4FC080D180E280F380DD -:10B020000E9489F0C616D706E806F90608F4A0C003 -:10B03000E4CFC401A6DBF4018381882309F498C01E -:10B040007401F7E4EF0EF11CF70181818F93808189 -:10B050008F9387E99EE49F938F938E01015C1F4F2E -:10B060001F930F930F940B010F900F900F900F9061 -:10B070000F900F90B12CF80101900020E9F7319763 -:10B08000E01BF10BBE1684F46801CB0CD11CB7FC9D -:10B09000DA94F6018081992787FD90950F943F00FF -:10B0A000F6018083B394E7CFFDE48F0E911C40E05E -:10B0B00050E0BA01C4010E94EC33512CCE0101963C -:10B0C0006C0180E9682E8EE4782E5E0191E2A90E73 -:10B0D000B11C40E050E0B601C4010E94393318169B -:10B0E000DCF5412CF60101900020E9F73197EC19CD -:10B0F000FD094E1674F41601240C311C47FC3A94D9 -:10B10000F101808190E00F943F00F101808343942E -:10B11000E9CF8A858E37E9F245E050E0B801C601F3 -:10B120000F94EE00892BA9F61F930F937F926F92D5 -:10B13000BF92AF920F940B01C5010E947E628CE812 -:10B140009EE40E94FE620F900F900F900F900F9060 -:10B150000F9055245394BDCF511004C08FEF9FEF33 -:10B16000F70104C0F701808191810196918380836A -:10B17000C45ADF4F0FB6F894DEBF0FBECDBFDF91CC -:10B18000CF911F910F91FF90EF90DF90CF90BF90E4 -:10B19000AF909F908F907F906F905F904F903F9077 -:10B1A0002F9008950F931F93CF93DF93EC018C01A1 -:10B1B00008511E4FC8010E948534C8010E94CF3437 -:10B1C00018821982DF91CF911F910F910895CF922C -:10B1D000DF92EF92FF920F931F93CF93DF93CDB740 -:10B1E000DEB76F970FB6F894DEBF0FBECDBF8C01F0 -:10B1F0006A017C0188E6E80EF11CC80186599F4F60 -:10B20000F70191838083E65CFD4F22E030E03183DB -:10B21000208332967183608340E050E0BA01049647 -:10B220000E94EC33F701808191812BE1FC0134967F -:10B23000DE01159601900D922A95E1F7FC018281BD -:10B2400093819C838B8386E99EE09A838983960110 -:10B25000AE014F5F5F4F67E77EE0C80189D8CE013E -:10B2600001960E9423516F960FB6F894DEBF0FBE71 -:10B27000CDBFDF91CF911F910F91FF90EF90DF90A5 -:10B28000CF9008952F923F924F925F926F927F924C -:10B290008F929F92AF92BF92CF92DF92EF92FF92E6 -:10B2A0000F931F93CF93DF93CDB7DEB7AC970FB655 -:10B2B000F894DEBF0FBECDBF8C016B01342EDC01D4 -:10B2C00013968C91882309F449C3F801E551FE4F88 -:10B2D0008081882309F4F5C02111C1C07801BDEF38 -:10B2E000EB1AFB0AF7018081882361F1E7E9F2E5B7 -:10B2F0008491882341F09091C00095FFFCCF80930A -:10B30000C6003196F5CFE2E2FFE48491882341F054 -:10B310009091C00095FFFCCF8093C6003196F5CF89 -:10B320004AE050E061E070E08BEF96E10E94CDD002 -:10B330008091C00085FFFCCF8AE08093C6000E9408 -:10B340008E6A0CC3E1E9F2E58491882341F0909183 -:10B35000C00095FFFCCF8093C6003196F5CFE9E0A1 -:10B36000FFE48491882341F09091C00095FFFCCFC9 -:10B370008093C6003196F5CFF6018191882339F08C -:10B380009091C00095FFFCCF8093C600F6CFEEEF02 -:10B39000FEE48491882341F09091C00095FFFCCF9A -:10B3A0008093C6003196F5CFD7018C91FDE8BF2E72 -:10B3B000B801B89E600D711D1124685F7D4FC801F2 -:10B3C000EFDAF7018081F801B89EE00DF11D11243C -:10B3D000E85FFD4F8191882339F09091C00095FF7F -:10B3E000FCCF8093C600F6CFE8EFFEE4849188237B -:10B3F00041F09091C00095FFFCCF8093C60031963C -:10B40000F5CF5801F3E6AF1AFDEFBF0AD5014D9114 -:10B410005D916D917C912AE030E08BEF96E10E9486 -:10B42000F9D08091C00085FFFCCF8AE08093C600F0 -:10B43000F7012081F80184E0289FE00DF11D11241F -:10B44000EC5FFD4FD5014D915D916D917C914083F5 -:10B450005183628373832F5FF70120832CC0E1E95E -:10B46000F2E58491882341F09091C00095FFFCCFD4 -:10B470008093C6003196F5CFE7EEFEE484918823F1 -:10B4800041F09091C00095FFFCCF8093C6003196AB -:10B49000F5CFF6018191882339F09091C00095FF96 -:10B4A000FCCF8093C600F6CF8091C00085FFFCCF13 -:10B4B0008AE08093C600C80188519E4F0E94CF3415 -:10B4C00030C0F801ED5FFD4F1082E1E9F2E58491B3 -:10B4D000882341F09091C00095FFFCCF8093C60077 -:10B4E0003196F5CFE6EDFEE48491882341F090910A -:10B4F000C00095FFFCCF8093C6003196F5CFF601D2 -:10B500008191882339F09091C00095FFFCCF809302 -:10B51000C600F6CF8091C00085FFFCCF8AE0809303 -:10B52000C600D80112961C92FE0131965F01CF0130 -:10B530000E9419512801F8E64F0E511CC801875B83 -:10B540009F4FD2018D939C93F60180818F3209F039 -:10B5500091C06FE270E0C6010F94D30001967C01A8 -:10B56000EAE02E2EE114F10409F48AC06FE270E0E3 -:10B57000C7010F94D3004C01009709F482C0E8166C -:10B58000F90608F07EC03C016E187F08A301B701E0 -:10B59000CE0180960F94FC00E0E2F0E0EC0FFD1F7E -:10B5A000E60DF71D1082FE01B0968191882339F0D7 -:10B5B0009091C00095FFFCCF8093C600F6CF80919C -:10B5C000C00085FFFCCF2092C600D2016D917C9116 -:10B5D0006115710519F06C5F7F4F02C060E070E08B -:10B5E00021E0AE01405E5F4FCE0105960E94C63657 -:10B5F000811138C0E0917B13F0E0EE0FFF1FE45E95 -:10B60000FD4F0190F081E02DE856FE4F0190F08152 -:10B61000E02D8491882341F09091C00095FFFCCFEC -:10B620008093C6003196F5CFFE01B09681918823B4 -:10B6300039F09091C00095FFFCCF8093C600F6CF03 -:10B64000E4EDFEE48491882341F09091C00095FFE1 -:10B65000FCCF8093C6003196F5CF8091C00085FF66 -:10B66000FCCF43C1F201B182A0827401FFEFEF1A57 -:10B67000FF0A78CFC80186599F4FD2018D939C93C2 -:10B680007601F801E851FE4F4F01332009F4E5C07F -:10B69000D2016D917C916115710519F06C5F7F4F3E -:10B6A00002C060E070E021E0A701C4010E94C6363C -:10B6B00020917B13882309F49AC0F401818992892F -:10B6C000A389B489F801EB56FD4F80839183A2834F -:10B6D000B383E22FF0E0EE0FFF1FE45EFD4F019019 -:10B6E000F081E02DE656FE4F0190F081E02D84912F -:10B6F000D801AB56BD4F882349F09091C00095FF0B -:10B70000FCCF8093C60031968491F5CFF7018191EB -:10B71000882339F09091C00095FFFCCF8093C6003C -:10B72000F6CFE0917B13F0E0EE0FFF1FE45EFD4FDC -:10B730000190F081E02DE456FE4F0190F081E02D64 -:10B740008491882341F09091C00095FFFCCF8093B5 -:10B75000C6003196F5CF4D915D916D917C912AE0B7 -:10B7600030E08BEF96E10E94F9D08091C00085FF18 -:10B77000FCCF8AE08093C600F801E356FD4F1082AB -:10B78000118212821382E0917B13F0E0EE0FFF1F13 -:10B79000E45EFD4F0190F081E02DE256FE4F0190F6 -:10B7A000F081E02D8491882341F09091C00095FFB5 -:10B7B000FCCF8093C6003196F5CF8091C00085FF05 -:10B7C000FCCF8AE08093C600A70160E070E0C8016A -:10B7D000FEDCD80151968C91882319F0C80141965E -:10B7E00001C0C7010E947CA188E79DE0B2C0E22FA2 -:10B7F000F0E0EE0FFF1FE45EFD4F0190F081E02DC1 -:10B80000E856FE4F0190F081E02D8491882341F0AD -:10B810009091C00095FFFCCF8093C6003196F5CF84 -:10B82000F7018191882339F09091C00095FFFCCFFA -:10B830008093C600F6CFE2EDFEE48491882341F0C8 -:10B840009091C00095FFFCCF8093C6003196F5CF54 -:10B850008091C00085FFFCCF48C0F20160817181FA -:10B860006115710519F06C5F7F4F02C060E070E0F8 -:10B8700026E5A701C4010E94C63681113AC0E091B5 -:10B880007B13F0E0EE0FFF1FE45EFD4F0190F081AF -:10B89000E02DE856FE4F0190F081E02D8491882341 -:10B8A00041F09091C00095FFFCCF8093C600319687 -:10B8B000F5CFF7018191882339F09091C00095FF71 -:10B8C000FCCF8093C600F6CFE0EDFEE484918823A0 -:10B8D00041F09091C00095FFFCCF8093C600319657 -:10B8E000F5CF8091C00085FFFCCF8AE08093C60031 -:10B8F00032C081E0D8018C93E0917B13F0E0EE0F31 -:10B90000FF1FE45EFD4F0190F081E02DE056FE4FF9 -:10B910000190F081E02D8491882341F09091C00046 -:10B9200095FFFCCF8093C6003196F5CFF60181914B -:10B93000882339F09091C00095FFFCCF8093C6001A -:10B94000F6CF8091C00085FFFCCF8AE08093C600CF -:10B95000C7010E947CA1C5010E942351AC960FB67D -:10B96000F894DEBF0FBECDBFDF91CF911F910F9135 -:10B97000FF90EF90DF90CF90BF90AF909F908F900F -:10B980007F906F905F904F903F902F90089521E0AF -:10B99000FC01218340E076CCCF92DF92EF92FF92C0 -:10B9A0000F931F93CF93DF93CDB7DEB76F970FB68B -:10B9B000F894DEBF0FBECDBF8C016C0128E6C20E2D -:10B9C000D11C86599F4FF60191838083E65CFD4F21 -:10B9D00021E030E0318320837801FCE5EF1AFDEFB0 -:10B9E000FF0AF7011182108240E050E0BA0104968C -:10B9F0000E94EC33F601808191812BE1FC013496A9 -:10BA0000DE01159601900D922A95E1F7FC018281E5 -:10BA100093819C838B8386E99EE09A83898320E0CF -:10BA200030E0AE014F5F5F4F67E77EE0C8010E94E4 -:10BA3000B851CE0101960E942351F7018081918176 -:10BA40006F960FB6F894DEBF0FBECDBFDF91CF91DA -:10BA50001F910F91FF90EF90DF90CF900895AF92DC -:10BA6000BF92CF92DF92EF92FF920F931F93CF93EB -:10BA7000DF93CDB7DEB76F970FB6F894DEBF0FBE7A -:10BA8000CDBF8C017B01CE0101960E941951F801B6 -:10BA9000EF58FF4F80816801811104C029E4C20E74 -:10BAA000D11C03C08AE6C80ED11C21E0A701B60153 -:10BAB0006C5F7F4FCE0105960E94C63681113AC059 -:10BAC000E1E9F2E58491882341F09091C00095FF6F -:10BAD000FCCF8093C6003196F5CFE0917B13F0E068 -:10BAE000EE0FFF1FE45EFD4F0190F081E02DE85561 -:10BAF000FE4F0190F081E02D8491882341F09091D8 -:10BB0000C00095FFFCCF8093C6003196F5CFF701BA -:10BB10008191882339F09091C00095FFFCCF8093EC -:10BB2000C600F6CF8091C00085FFFCCF8AE08093ED -:10BB3000C60036C0F801E154FE4F808191818A3001 -:10BB4000910530F59C012F5F3F4F318320832FE11A -:10BB5000289F7001299FF00C112429E8E20EF11CA6 -:10BB6000E00EF11E5C01B701C7014F960E94B15370 -:10BB700081E0A81AB1082FE1E21AF1088FEFA816A8 -:10BB8000B80689F7B601C80187579F4F0E94B15385 -:10BB9000BE016F5F7F4FC80186599F4F0E94B1530E -:10BBA000CE0101960E9423516F960FB6F894DEBF26 -:10BBB0000FBECDBFDF91CF911F910F91FF90EF90FE -:10BBC000DF90CF90BF90AF900895EF92FF920F93C8 -:10BBD0001F93CF93DF93EC01C154DE4F288139814D -:10BBE00021153105F9F021503109398328838C0161 -:10BBF00007571F4FB80186599F4F0E94B153C80184 -:10BC000000E010E07C012FE1E20EF11C2881398177 -:10BC10000217130738F40F5F1F4FB7010E94B1538B -:10BC2000C701F0CFDF91CF911F910F91FF90EF905F -:10BC30000895EF92FF920F931F93CF93DF93EC0140 -:10BC40000E9421DA8E010D5F1D4FF80180819E0157 -:10BC500028513E4F79018823A1F1C9010E94CF34B8 -:10BC6000F801808181508083BE01FDE88F9F600DC7 -:10BC7000711D1124685F7D4F21E041E0CE0102DBA0 -:10BC8000F8018081FE0124E0829FE00DF11D112466 -:10BC9000EC5FFD4F4081518162817381FE01E3566B -:10BCA000FD4F4083518362837383C7010E94EC334D -:10BCB000CE01DF91CF911F910F91FF90EF900C94E7 -:10BCC000C4540E9497DAC7010E94CF341A8280E8D8 -:10BCD0009EE4DF91CF911F910F91FF90EF908EC462 -:10BCE0008FEF8EBD0DB407FEFDCF8EB508958EBDCE -:10BCF0000DB407FEFDCF089561E0FC0180810C9436 -:10BD0000E2EFFC012281322F306A36953CBD20FDE6 -:10BD100006C031E0263009F430E0232F01C020E0D6 -:10BD20002DBD60E0FC0180810C94E2EFCF92DF92A8 -:10BD3000EF92FF920F931F93CF93DF93EC018B0150 -:10BD40007A010E9489F06B01CBDF8B838F3F49F42E -:10BD50000E9489F06C197D096D327140A8F381E170 -:10BD600044C08E3F11F08FE040C0E114F104D9F0DF -:10BD7000C70101972FEF2EBDF8014FEF9F01201B48 -:10BD8000310B2817390738F40DB407FEFDCF2EB557 -:10BD900021934EBDF3CF0DB407FEFDCF2EB5F801B4 -:10BDA000E80FF91F2083D801E00EF11EC12CD12C21 -:10BDB000AE15BF0579F08D91ED2DFF27E827EE0F29 -:10BDC000FF1FEB59F04B85919491DC2CCC24C826B5 -:10BDD000D926EECF85DF082F10E0102F002780DF57 -:10BDE000082BC016D10631F080E28983CE0184DFB2 -:10BDF00080E003C0CE0180DF81E0DF91CF911F9111 -:10BE00000F91FF90EF90DF90CF9008950F931F93C5 -:10BE1000CF93DF93EB010E9489F08B0161DF8F3FAD -:10BE200049F00E9489F0601B710B6C177D07B0F31D -:10BE300080E001C081E0DF91CF911F910F910895C3 -:10BE4000CF92DF92FF920F931F93CF93DF9300D097 -:10BE50001F92CDB7DEB76C01F62E29833A834B8350 -:10BE60005C834FDF6CE271E0C601D0DF8F2D806410 -:10BE70003EDF08E110E05C814B813A812981DA01E3 -:10BE8000C901002E04C0B695A795979587950A9489 -:10BE9000D2F729833A834B835C8329DF0850110949 -:10BEA00029813A814B815C81083F8FEF180739F770 -:10BEB000FF2029F0E8E0FE1621F08FEF03C085E9AE -:10BEC00001C087E814DFFCE0FF1201C009DF10E0C9 -:10BED00007DFF601838387FF04C01F3F11F01F5F58 -:10BEE000F7CF0F900F900F900F90DF91CF911F9190 -:10BEF0000F91FF90DF90CF900895BF92CF92DF9285 -:10BF0000EF92FF920F931F93CF93DF93EC01B62E26 -:10BF10001C82198248830E9489F08B0161E088812C -:10BF20000E94A9EFCE01E8DE60E082E30E94A9EF63 -:10BF300061E083E30E94A9EF61E084E30E94A9EF3E -:10BF400061E085E30E94A9EF61E085E30E94E2EFF2 -:10BF500085E08A8382E58CBD1DBC6AE0F62E8FEFFA -:10BF6000C6DEFA94E1F720E030E0A90160E0CE01FE -:10BF700067DFF82E8B8381E0F81649F00E9489F084 -:10BF8000601B710B613D774070F381E046C02AEA87 -:10BF900031E040E050E068E0CE0152DF82FF02C0B5 -:10BFA000FC820CC054E0F52E9BDE8B83FA94E1F703 -:10BFB0008A3A11F082E031C082E08C838C81823039 -:10BFC00031F4C12CD12CE12C40E4F42E03C0C12C5F -:10BFD000D12C760120E030E0A90167E3CE0130DF0B -:10BFE000A701960169E2CE012BDF8B83882349F0FC -:10BFF0000E9489F0601B710B613D774058F38AE025 -:10C000000CC08C818230B1F420E030E0A9016AE3F9 -:10C01000CE0116DF882329F088E08983CE016CDE0B -:10C0200014C05EDE807C803C11F483E08C8358DE9B -:10C0300057DE56DECE0160DE86E08B1518F488E10F -:10C04000898303C0BA8281E001C080E0DF91CF9193 -:10C050001F910F91FF90EF90DF90CF90BF900895C8 -:10C06000AF92BF92CF92DF92EF92FF920F931F9306 -:10C07000CF93DF93EC016A017B0189018C818330CE -:10C0800039F0F9E0CC0CDD1CEE1CFF1CFA95D1F761 -:10C0900073E0B72EE4E0AE2EBA94A701960161E1F9 -:10C0A000CE01CEDE882311F0A98207C040E052E025 -:10C0B000B801CE013BDE81110EC0CE01BB2049F09C -:10C0C0001BDE20E030E0A9016CE0CE01B9DE198270 -:10C0D000E3CF12DE80E0DF91CF911F910F91FF90AF -:10C0E000EF90DF90CF90BF90AF900895CF93DF9304 -:10C0F000EC016EBD20E030E00DB407FEFDCFFA018B -:10C10000E20FF31F80818EBD0DB407FEFDCF81814C -:10C110008EBD2E5F3F4F211582E0380769F70DB4C1 -:10C1200007FEFDCF8FEFE3DD8FEFE1DDD9DD8B8300 -:10C130008F71853031F083E18983CE01DDDD80E0D0 -:10C1400001C081E0DF91CF9108950F931F93CF93AA -:10C15000DF93EC0189018C81833039F0B9E0440F21 -:10C16000551F661F771FBA95D1F79A01AB0168E199 -:10C17000CE0166DE882311F086E01EC0A8016EEFB6 -:10C18000CE01B4DF8823C9F068E572E0CE013EDE5F -:10C19000182F811102C087E10FC020E030E0A90113 -:10C1A0006DE0CE014DDE811106C09ADD811103C024 -:10C1B000CE01A2DD05C086E18983CE019DDD10E0C0 -:10C1C000812FDF91CF911F910F910895FC0165910F -:10C1D00075918591949108952F923F924F925F921D -:10C1E0006F927F928F929F92AF92BF92CF92DF9287 -:10C1F000EF92FF920F931F93CF93DF9300D000D065 -:10C20000CDB7DEB71C01FC01EE5AFD4A14919C012A -:10C21000220F331F220F331F3E832D83235A3C4EA0 -:10C220004901F901108211821282138229E633E159 -:10C2300045E653E161E673E18DE593E10E9496EBFB -:10C240008D819E818F599D4AC1DF6B017C01612FD9 -:10C25000772767FD7095872F972F0E94DEF72B01B8 -:10C260003C012D813E81285D3C4E590120E030E0AB -:10C2700040EC5FE3C701B6010E9411FAA3019201ED -:10C280000E9411FAF50160837183828393832D816B -:10C290003E81255B334F3C832B83F90160817181A3 -:10C2A0008281938160930D0C70930E0C80930F0C20 -:10C2B0009093100C20E030E040E752E40E9443F7F6 -:10C2C00029E4C22E23E1D22E7B018C0124E333E149 -:10C2D00040E353E16CE273E188E293E10E94B4E150 -:10C2E0000E9421DAF401108211821282138229E65F -:10C2F00033E145E653E161E673E18DE593E10E94A8 -:10C3000096EB2D813E812B5A3D4A3A832983C90100 -:10C310005DDF9058A30192010E9411FAF50160833C -:10C3200071838283938320E030E040E752E46091A0 -:10C330000D0C70910E0C80910F0C9091100C0E94BE -:10C3400043F77B018C0124E333E140E353E16CE2EA -:10C3500073E188E293E10E94B4E10E9421DA8981CD -:10C360009A8134DF9B01AC010E9463F6A301920124 -:10C370000E9411FAF501608371838283938320E028 -:10C3800030E040E05FE3EB81FC816081718182817C -:10C3900093810E9411FA60930D0C70930E0C8093A0 -:10C3A0000F0C9093100C20E030E040E752E40E9424 -:10C3B00043F77B018C0124E333E140E353E16CE27A -:10C3C00073E188E293E10E94B4E10E9421DA8D8159 -:10C3D0009E8183599D4AFADE0D811E810F5A1C4EA3 -:10C3E000F80120813181428153810E9463F6F4017A -:10C3F00060837183828393838D819E818B579D4A55 -:10C40000E5DE2D813E81215D334F7901F8012081E8 -:10C410003181428153810E9463F6F7016083718309 -:10C42000828393838D819E8187589D4ACFDE2D81A3 -:10C430003E812D5D334F7901F801208131814281A8 -:10C4400053810E9463F6F701608371838283938333 -:10C45000F40180819181A281B381F5018083918370 -:10C46000A283B38310920D0C10920E0C10920F0C3D -:10C470001092100C0E949AD2F101E25BFC4E81E016 -:10C48000808326960FB6F894DEBF0FBECDBFDF9136 -:10C49000CF911F910F91FF90EF90DF90CF90BF90C1 -:10C4A000AF909F908F907F906F905F904F903F9054 -:10C4B0002F900895FC012491222341F03091C00077 -:10C4C00035FFFCCF2093C6000196F4CF22E030E088 -:10C4D0008BEF96E10C94A3D1FC012491222341F02F -:10C4E0003091C00035FFFCCF2093C6000196F4CFF9 -:10C4F0002AE030E08BEF96E10C94F9D020917D1189 -:10C5000030917E11243031050CF077C040917F11BD -:10C510005091801160E6649F9001659F300D112459 -:10C52000BC01C90189579E4E0F94E700E1E9F2E58D -:10C530008491882341F09091C00095FFFCCF8093B7 -:10C54000C6003196F5CFE0917B13F0E0EE0FFF1FB0 -:10C55000E45EFD4F0190F081E02DE45DFE4F01901F -:10C56000F081E02D8491882341F09091C00095FFE7 -:10C57000FCCF8093C6003196F5CF80917F119091CA -:10C58000801120E6289FF001299FF00D1124E95722 -:10C59000FE4E8191882339F09091C00095FFFCCF29 -:10C5A0008093C600F6CFE0E5F2E58491882341F060 -:10C5B0009091C00095FFFCCF8093C6003196F5CFD7 -:10C5C0008091C00085FFFCCF8AE08093C6008091F7 -:10C5D0007F1190918011019664E070E00E9407FB4A -:10C5E0009093801180937F1180917D1190917E11A5 -:10C5F000019690937E1180937D11089520917D1175 -:10C6000030917E11243031050CF077C040917F11BC -:10C610005091801160E6649F9001659F300D112458 -:10C62000BC01C90189579E4E0F944700E1E9F2E52C -:10C630008491882341F09091C00095FFFCCF8093B6 -:10C64000C6003196F5CFE0917B13F0E0EE0FFF1FAF -:10C65000E45EFD4F0190F081E02DE45DFE4F01901E -:10C66000F081E02D8491882341F09091C00095FFE6 -:10C67000FCCF8093C6003196F5CF80917F119091C9 -:10C68000801120E6289FF001299FF00D1124E95721 -:10C69000FE4E8191882339F09091C00095FFFCCF28 -:10C6A0008093C600F6CFEEE4F2E58491882341F052 -:10C6B0009091C00095FFFCCF8093C6003196F5CFD6 -:10C6C0008091C00085FFFCCF8AE08093C6008091F6 -:10C6D0007F1190918011019664E070E00E9407FB49 -:10C6E0009093801180937F1180917D1190917E11A4 -:10C6F000019690937E1180937D1108959B9AA39843 -:10C700000895FCDF40E052EC61E070E08BEF96E1D1 -:10C710000E94B1CFE8E4F2E58491882341F0909142 -:10C72000C00095FFFCCF8093C6003196F5CF809175 -:10C73000C00085FFFCCF8AE08093C60021E932E586 -:10C74000F9018491882341F09091C00095FFFCCFBE -:10C750008093C6003196F5CF84B780FF20C0A091AA -:10C760007B13B0E0AA0FBB1FA45EBD4FED91FC91FF -:10C77000E25DFE4F0190F081E02D9491992341F00C -:10C780004091C00045FFFCCF9093C6003196F5CF95 -:10C790009091C00095FFFCCF9AE09093C60081FF76 -:10C7A00020C0A0917B13B0E0AA0FBB1FA45EBD4FB9 -:10C7B000ED91FC91E05DFE4F0190F081E02D9491B0 -:10C7C000992341F04091C00045FFFCCF9093C600F3 -:10C7D0003196F5CF9091C00095FFFCCF9AE09093F1 -:10C7E000C60082FF20C0A0917B13B0E0AA0FBB1F40 -:10C7F000A45EBD4FED91FC91EE5CFE4F0190F08187 -:10C80000E02D9491992341F04091C00045FFFCCF69 -:10C810009093C6003196F5CF9091C00095FFFCCF64 -:10C820009AE09093C60083FF20C0A0917B13B0E0F4 -:10C83000AA0FBB1FA45EBD4FED91FC91EC5CFE4FB7 -:10C840000190F081E02D9491992341F04091C00036 -:10C8500045FFFCCF9093C6003196F5CF9091C00074 -:10C8600095FFFCCF9AE09093C60085FF20C0A09171 -:10C870007B13B0E0AA0FBB1FA45EBD4FED91FC91EE -:10C88000EA5CFE4F0190F081E02D8491882341F015 -:10C890009091C00095FFFCCF8093C6003196F5CFF4 -:10C8A0008091C00085FFFCCF8AE08093C60014BE53 -:10C8B000F9018491E1E9F2E5882349F09091C00003 -:10C8C00095FFFCCF8093C60031968491F5CFA0915F -:10C8D0007B13B0E0AA0FBB1FA45EBD4FED91FC918E -:10C8E000E65CFE4F0190F081E02D8491882341F0B9 -:10C8F0009091C00095FFFCCF8093C6003196F5CF94 -:10C90000E3E3F2E58491882341F09091C00095FF24 -:10C91000FCCF8093C6003196F5CFA0917B13B0E099 -:10C92000AA0FBB1FA45EBD4FED91FC91E85CFE4FCA -:10C930000190F081E02D4491442341F05091C000DA -:10C9400055FFFCCF4093C6003196F5CFECE1F2E500 -:10C950008491882341F09091C00095FFFCCF809393 -:10C96000C6003196F5CF8091C00085FFFCCF8AE0EC -:10C970008093C600E1E1F2E58491882341F0909133 -:10C98000C00095FFFCCF8093C6003196F5CFE5E05F -:10C99000F2E58491882341F09091C00095FFFCCF8F -:10C9A0008093C6003196F5CF8091C00085FFFCCF03 -:10C9B0008AE08093C600F9012491E1E9F2E522239F -:10C9C00049F08091C00085FFFCCF2093C6003196CE -:10C9D0002491F5CFE0917B13F0E0EE0FFF1FE45EB2 -:10C9E000FD4F0190F081E02DE45CFE4F0190F0815D -:10C9F000E02D8491882341F09091C00095FFFCCFF9 -:10CA00008093C6003196F5CF0E9495DD4AE050E054 -:10CA1000BC018BEF96E10E94CDD0E0917B13F0E05A -:10CA2000EE0FFF1FE45EFD4F0190F081E02DE25C10 -:10CA3000FE4F0190F081E02D8491882341F0909188 -:10CA4000C00095FFFCCF8093C6003196F5CF4AE039 -:10CA500050E060ED74E08BEF96E10E94CDD08091C4 -:10CA6000C00085FFFCCF8AE08093C600109283113E -:10CA70001092841110928511109286110E94D4CDCB -:10CA80000E94A6C90E94B53F0E9464E10E9483DC17 -:10CA90000E94EAA38091000186FD29C0FFEF23EDEB -:10CAA00080E3F15020408040E1F700C00000809119 -:10CAB000000186FD25C08091010184608093010101 -:10CAC0009FB7F894809102018460809302019FBF18 -:10CAD0000E9457A18091000186FFFCCF9FB7F89478 -:10CAE000809102018B7F809302019FBF08959FEF89 -:10CAF000E3EDF0E39150E040F040E1F700C00000CA -:10CB00000895809177119091781160E070E001961E -:10CB10000C949EFD80917711909178114AE050E03D -:10CB200060E070E001960C9406FF682F772767FDA0 -:10CB30007095209181113091821140E6429FC00191 -:10CB4000439F900D112489579E4E0F94D3009093CC -:10CB500078118093771121E0892B09F420E0822F4E -:10CB600008950E9489F060937311709374118093FB -:10CB700075119093761108950E9489F06093731156 -:10CB8000709374118093751190937611E0918111D7 -:10CB9000F0918211ED57FE4E8081811121C0E0910C -:10CBA0007B13F0E0EE0FFF1FE45EFD4F0190F0817C -:10CBB000E02DE05CFE4F0190F081E02D8491882310 -:10CBC00041F09091C00095FFFCCF8093C600319654 -:10CBD000F5CF8091C00085FFFCCF8AE08093C6002E -:10CBE00008958BEF96E10E9403D0E0917B13F0E073 -:10CBF000EE0FFF1FE45EFD4F0190F081E02DE05944 -:10CC0000FE4F0190F081E02D8491882341F09091B6 -:10CC1000C00095FFFCCF8093C6003196F5CF4091C0 -:10CC20000C1350910D1360910E1370910F134F5F01 -:10CC30005F4F6F4F7F4F2AE030E08BEF96E10E940D -:10CC4000A2D08091C00085FFFCCF8AE08093C6000F -:10CC500093CF8F929F92AF92BF92CF92DF92EF923B -:10CC6000FF920F931F93CF93DF93B7E0EB2EBEE0BD -:10CC7000FB2E0DE513E1C8E2D3E184E8C82E83E181 -:10CC8000D82EF70181917F0150DF882311F139DF20 -:10CC90004B015C01F6018081811103C06091071393 -:10CCA00001C061E070E080E090E00E94DEF7F801F2 -:10CCB00020813181428153810E9411FA9B01AC0194 -:10CCC000C501B4010E9463F6688379838A839B83DC -:10CCD00009C0F80180819181A281B3818883998301 -:10CCE000AA83BB830C5F1F4F2496FFEFCF1ADF0A86 -:10CCF0008BE0E8168EE0F80621F686E416DF88233E -:10CD0000D1F0FFDE6B017C0160931813709319134F -:10CD100080931A1390931B1320E030E0A9010E9426 -:10CD20003FF9181644F4C0920D0CD0920E0CE0920C -:10CD30000F0CF092100CDF91CF911F910F91FF908B -:10CD4000EF90DF90CF90BF90AF909F908F9008951D -:10CD500080DF89E4EADE882351F0D3DE60931C1380 -:10CD600070931D1380931E1390931F1308C010928D -:10CD70001C1310921D1310921E1310921F138AE49D -:10CD8000D4DE882351F0BDDE60932013709321130D -:10CD900080932213909323130895109220131092DE -:10CDA000211310922213109223130895CF92DF9231 -:10CDB000EF92FF92CF93DF93EC01C0902F0CD090B5 -:10CDC000300CE090310CF090320CA7019601688194 -:10CDD00079818A819B810E943CF787FF04C0C882C9 -:10CDE000D982EA82FB82C090330CD090340CE09060 -:10CDF000350CF090360CA70196016C817D818E81F7 -:10CE00009F810E943CF787FF04C0CC82DD82EE82C6 -:10CE1000FF8220E030E0A9016091370C7091380C5E -:10CE20008091390C90913A0C0E9463F66B017C0161 -:10CE30009B01AC01688579858A859B850E943CF7BA -:10CE400087FF04C0C886D986EA86FB86C090230C7B -:10CE5000D090240CE090250CF090260CA7019601B0 -:10CE6000688179818A819B810E943FF9181624F498 -:10CE7000C882D982EA82FB82C090270CD090280C0D -:10CE8000E090290CF0902A0CA70196016C817D811D -:10CE90008E819F810E943FF9181624F4CC82DD8296 -:10CEA000EE82FF82C0902B0CD0902C0CE0902D0CC9 -:10CEB000F0902E0CA7019601688579858A859B855F -:10CEC0000E943FF9181624F4C886D986EA86FB86A4 -:10CED000DF91CF91FF90EF90DF90CF900895CF92A8 -:10CEE000DF92EF92FF920F931F9388E293E15EDF50 -:10CEF0000E9489F06093731170937411809375117F -:10CF000090937611209128133091291340912A1380 -:10CF100050912B1360915D1370915E1380915F139C -:10CF2000909160130E943CF7811179C020912C13DD -:10CF300030912D1340912E1350912F136091611356 -:10CF40007091621380916313909164130E943CF777 -:10CF5000811165C020E030E040E752E460910D0CA3 -:10CF600070910E0C80910F0C9091100C0E9443F761 -:10CF700029E4C22E23E1D22E7B018C0124E333E18C -:10CF800040E353E16CE273E188E293E10E94B4E193 -:10CF90008091281390912913A0912A13B0912B13FB -:10CFA00080935D1390935E13A0935F13B09360130F -:10CFB00080912C1390912D13A0912E13B0912F13CB -:10CFC0008093611390936213A0936313B0936413DF -:10CFD0008091301390913113A0913213B09133139B -:10CFE0008093651390936613A0936713B0936813AF -:10CFF0008091341390913513A0913613B09137136B -:10D000008093691390936A13A0936B13B0936C137E -:10D010001F910F91FF90EF90DF90CF900895609156 -:10D02000490C70914A0C882777FD8095982F0E94B3 -:10D03000DEF720910D0C30910E0C40910F0C5091A9 -:10D04000100C0E9411FA20E030E040E752E40E9408 -:10D0500043F720E030E048EC52E488CFCF92DF92F3 -:10D06000EF92FF92CF93C62FE0914913F0E088230F -:10D0700009F4C2C0DF01AB5BBC4E8C91811196C13B -:10D0800080915D1390915E13A0915F13B091601336 -:10D090008093281390932913A0932A13B0932B13F2 -:10D0A0008091611390916213A0916313B091641306 -:10D0B00080932C1390932D13A0932E13B0932F13C2 -:10D0C0008091651390916613A0916713B0916813D6 -:10D0D0008093301390933113A0933213B093331392 -:10D0E000C0906913D0906A13E0906B13F0906C13AA -:10D0F000C0923413D0923513E0923613F092371366 -:10D10000EE0FFF1FEE0FFF1FE55CF34F2081318113 -:10D1100042815381662349F060911B0C70911C0C75 -:10D1200080911D0C90911E0C08C060911F0C709195 -:10D13000200C8091210C9091220C0E9443F79B01BE -:10D14000AC01C701B6010E9463F660936913709346 -:10D150006A1380936B1390936C1389E693E10E949A -:10D160003BECC0900D0CD0900E0CE0900F0CF090AA -:10D17000100C20E030E040E752E46091170C709111 -:10D18000180C8091190C90911A0C0E9411FA60935E -:10D190000D0C70930E0C80930F0C9093100CE0917B -:10D1A0004913F0E0EB5BFC4E81E0808398DE209138 -:10D1B00041133091421340914313509144136091B5 -:10D1C00065137091661380916713909168130E94A4 -:10D1D00062F6609365137093661380936713909360 -:10D1E000681329E633E145E653E161E673E18DE535 -:10D1F00093E10E9496EBD1C0EB5BFC4E80818823CB -:10D2000009F4D4C080915D1390915E13A0915F13D7 -:10D21000B09160138093281390932913A0932A133D -:10D22000B0932B138091611390916213A0916313BB -:10D23000B091641380932C1390932D13A0932E130D -:10D24000B0932F13609165137091661380916713EB -:10D25000909168136093301370933113809332135D -:10D2600090933313C0906913D0906A13E0906B13BE -:10D27000F0906C13C0923413D0923513E0923613B1 -:10D28000F092371320914113309142134091431390 -:10D29000509144130E9463F6609365137093661374 -:10D2A000809367139093681329E633E145E653E1D1 -:10D2B00061E673E18DE593E10E9496EBF0904913EE -:10D2C000CC2389F02091391330913A1340913B13CC -:10D2D00050913C1360911B0C70911C0C80911D0CA3 -:10D2E00090911E0C10C020913D1330913E1340913F -:10D2F0003F135091401360911F0C7091200C80914E -:10D30000210C9091220C0E9463F624E0F29EF00121 -:10D310001124E55CF34F20813181428153810E94C9 -:10D3200043F79B01AC016091691370916A1380917E -:10D330006B1390916C130E9462F660936913709363 -:10D340006A1380936B1390936C1389E693E10E94A8 -:10D350003BECC0900D0CD0900E0CE0900F0CF090B8 -:10D36000100C20E030E040E752E46091130C709123 -:10D37000140C8091150C9091160C0E9411FA609378 -:10D380000D0C70930E0C80930F0C9093100CE09189 -:10D390004913F0E0EB5BFC4E1082A1DDC0920D0C56 -:10D3A000D0920E0CE0920F0CF092100CCF91FF90E7 -:10D3B000EF90DF90CF900895AF92BF92CF92DF921F -:10D3C000EF92FF920F931F93CF93DF93D82F20916B -:10D3D0002013309121134091221350912313609117 -:10D3E0001C1370911D1380911E1390911F130E94A6 -:10D3F0004CF9C62F172F082FF92E6091490C709108 -:10D400004A0C882777FD8095982F0E94DEF720919F -:10D410000D0C30910E0C40910F0C5091100C0E948D -:10D4200011FA20E030E040E752E40E9443F720E0A8 -:10D4300030E048EC52E40E9443F7209149132F93C7 -:10D44000DF93FF920F931F93CF935B016C0142E038 -:10D45000E42E01E020E04CE153E168E273E18DE568 -:10D4600093E10E94A74D8091281390912913A091D8 -:10D470002A13B0912B1380935D1390935E13A093A6 -:10D480005F13B093601380912C1390912D13A09192 -:10D490002E13B0912F138093611390936213A09376 -:10D4A0006313B09364138091301390913113A09162 -:10D4B0003213B09133138093651390936613A09346 -:10D4C0006713B09368138091341390913513A09132 -:10D4D0003613B09137138093691390936A13A09316 -:10D4E0006B13B0936C130E9489F060937311709367 -:10D4F000741180937511909376110F900F900F9087 -:10D500000F900F900F90DF91CF911F910F91FF908F -:10D51000EF90DF90CF90BF90AF900895F8940E9465 -:10D520005840179A10924E13169A10924F13159A4C -:10D5300010925013149A60E087E40E94A9EFE7E983 -:10D54000F2E58491882341F09091C00095FFFCCFD3 -:10D550008093C6003196F5CFE0917B13F0E0EE0F9B -:10D56000FF1FE45EFD4F0190F081E02DE459FE4F76 -:10D570000190F081E02D8491882341F09091C000CA -:10D5800095FFFCCF8093C6003196F5CF8091C00007 -:10D5900085FFFCCF8AE08093C600E0917B13F0E02A -:10D5A000EE0FFF1FE45EFD4F0190F081E02DE6538A -:10D5B000FF4F808191810E9483A37894C6E0D0E0E0 -:10D5C0002197209749F068EC70E080E090E00E949D -:10D5D000B8F00E9425A4F4CFF894FFCF0E945840E1 -:10D5E00080916111811151C081E08093611180911E -:10D5F0000C1390910D13A0910E13B0910F13809303 -:10D60000081390930913A0930A13B0930B13E7E93F -:10D61000F2E58491882341F09091C00095FFFCCF02 -:10D620008093C6003196F5CFE0917B13F0E0EE0FCA -:10D63000FF1FE45EFD4F0190F081E02DE259FE4FA7 -:10D640000190F081E02D8491882341F09091C000F9 -:10D6500095FFFCCF8093C6003196F5CF8091C00036 -:10D6600085FFFCCF8AE08093C600E0917B13F0E059 -:10D67000EE0FFF1FE45EFD4F0190F081E02DE453BB -:10D68000FF4F808191810C9489A10895809161114F -:10D690000895CF93DF93EC01809149138093621139 -:10D6A00084E543DA811102C080E0B7C02ADA0E9423 -:10D6B000B0F7609362116623B9F3E1E9F2E5849172 -:10D6C000882341F09091C00095FFFCCF8093C60065 -:10D6D0003196F5CFCD36D10509F454C0BCF4C83627 -:10D6E000D10561F1C936D10509F087C0E0917B13FE -:10D6F000F0E0EE0FFF1FE45EFD4F0190F081E02DA2 -:10D70000EC5AFE4F0190F081E02D38C0CA3DD105A2 -:10D7100009F451C0CD3DD10509F06FC0E0917B13F4 -:10D72000F0E0EE0FFF1FE45EFD4F0190F081E02D71 -:10D73000E65AFE4F0190F081E02D5CC0E0917B1332 -:10D74000F0E0EE0FFF1FE45EFD4F0190F081E02D51 -:10D75000EE5AFE4F0190F081E02D8191882309F46B -:10D760004CC09091C00095FFFCCF8093C600F5CFD0 -:10D770009091C00095FFFCCF8093C60081918111EC -:10D78000F7CF3BC0E0917B13F0E0EE0FFF1FE45EAC -:10D79000FD4F0190F081E02DE25AFE4F0190F081A3 -:10D7A000E02D8191882349F19091C00095FFFCCF35 -:10D7B0008093C600F6CFE0917B13F0E0EE0FFF1FE1 -:10D7C000E45EFD4F0190F081E02DE85AFE4F01909C -:10D7D000F081E02D8191882381F09091C00095FF28 -:10D7E000FCCF8093C600F6CF9091C00095FFFCCF90 -:10D7F0008093C60081918111F7CF40E050E06091A5 -:10D8000062118BEF96E10E9404D18091C00085FFE8 -:10D81000FCCF8AE08093C60081E0DF91CF9108952C -:10D820004F925F926F927F928F929F92AF92BF9230 -:10D83000CF92DF92EF92FF92CF93DF9300D01F92AF -:10D84000CDB7DEB72B013C0129833A834B835C8340 -:10D850008DEE9FE00F9427038F3F01F58EEE9FE042 -:10D860000F9427038F3FD1F48FEE9FE00F9427038F -:10D870008F3FA1F480EF9FE00F9427038F3F71F457 -:10D8800040E050E0BA018DEE9FE00F94340340E099 -:10D8900050E0BA0181EF9FE00F94340381EF9FE0E5 -:10D8A0000F942F034B015C018DEE9FE00F942F032B -:10D8B0006B017C0169817A818B819C812CE330E052 -:10D8C00040E050E00E941AFBC20ED31EE41EF51E7B -:10D8D000B701A6018DEE9FE00F943403C301B2019E -:10D8E00028EE33E040E050E00E941AFBBA01A901A3 -:10D8F000480D591D6A1D7B1D81EF9FE00F94340375 -:10D9000010927713109278131092791310927A1361 -:10D910000F900F900F900F90DF91CF91FF90EF90AD -:10D92000DF90CF90BF90AF909F908F907F906F903F -:10D930005F904F9008952F923F924F925F926F9217 -:10D940007F928F929F92AF92BF92CF92DF92EF928F -:10D95000FF920F931F93CF93DF93CDB7DEB76E97F0 -:10D960000FB6F894DEBF0FBECDBF80E6B82E94E0B0 -:10D97000E92EF12C2AE0922E3AE0C32ED12CAA24D3 -:10D98000A39480917C1790917D1720917E17309100 -:10D990007F17821B930B8F779927892B39F0809102 -:10D9A0007D1190917E1104970CF448C080919013E2 -:10D9B000882309F4E7C380917A1190917B11892B18 -:10D9C00009F0E0C380917D1190917E11892B11F4B3 -:10D9D00010925F1148EE242E43E0342E412C512C3E -:10D9E0005CE3852E912CA12CB12C8E010F5F1F4F73 -:10D9F00030E6632E7724739440912B1650912C16A9 -:10DA000060912D1670912E168091231690912416F8 -:10DA1000A0912516B0912616481759076A077B076B -:10DA200008F0B0C380917D1190917E1104970CF0A5 -:10DA3000A9C380915F118111A5C36FC28BEF96E1DD -:10DA40000E94E7CF80937C1120917A1130917B1155 -:10DA50008A3061F08D3051F08A3321F49091791140 -:10DA6000992321F02F3531050CF450C121153105D2 -:10DA700009F46AC180917F1190918011B89E3001A4 -:10DA8000B99E700C1124F301E20FF31FE957FE4E0B -:10DA9000108220917911211134C110927911FC0169 -:10DAA000ED57FE4E1082830109571E4E6EE470E062 -:10DAB000C8010F94D3000097F1F1909378118093EF -:10DAC0007711801B910B860D971D4AE050E060E0B6 -:10DAD00070E088579E4E0E9406FF6093101370936B -:10DAE0001113809312139093131340900C135090C2 -:10DAF0000D1360900E1370900F132FEF421A520AFD -:10DB0000620A720A00917F111091801164157505E7 -:10DB10008605970509F41BC1B09EC001B19E900D0A -:10DB200011246CEF71E589579E4E0F947E00892B6E -:10DB300009F00DC1B8C16AE270E0C8010F94D300CA -:10DB4000892B09F451C0E7E9F2E58491882341F07B -:10DB50009091C00095FFFCCF8093C6003196F5CF21 -:10DB6000E0917B13F0E0EE0FFF1FE45EFD4F0190AC -:10DB7000F081E02DE65BFE4F0190F081E02D849175 -:10DB8000882341F09091C00095FFFCCF8093C600A0 -:10DB90003196F5CF40910C1350910D1360910E13F7 -:10DBA00070910F132AE030E08BEF96E10E94A2D033 -:10DBB0008091C00085FFFCCF8AE08093C600109260 -:10DBC0007B1110927A11DEC2809110139091111383 -:10DBD000A0911213B091131380930C1390930D1313 -:10DBE000A0930E13B0930F1360907F11709080116B -:10DBF000B69C8001B79C100D112409571E4E67E496 -:10DC000070E0C8010F94D300009709F456C09093B8 -:10DC100078118093771120919013211106C0D09232 -:10DC20007F13C0927E13A0928113801B910BB69C30 -:10DC30009001B79C300D1124820F931F60E070E0BB -:10DC400088579E4E0E949EFD0E94ABF7643071057E -:10DC5000A0F580916111882381F1E0917B13F0E0C0 -:10DC6000EE0FFF1FE45EFD4F0190F081E02DE259C1 -:10DC7000FE4F0190F081E02D8491882341F0909136 -:10DC8000C00095FFFCCF8093C6003196F5CF809100 -:10DC9000C00085FFFCCF9092C600E0917B13F0E0BE -:10DCA000EE0FFF1FE45EFD4F0190F081E02DE45385 -:10DCB000FF4F808191810E9489A100917F11109175 -:10DCC0008011B09EC001B19E900D11246DE87DE0E1 -:10DCD00089579E4E0F94DE00892B09F41FDCC80182 -:10DCE0000196B7010E9407FB9093801180937F11EA -:10DCF00080917D1190917E11019690937E11809379 -:10DD00007D1110927B1110927A113BCE8B3311F45E -:10DD1000A092791190917911911133CE40917F1198 -:10DD200050918011B9016F5F7F4F70937B116093A9 -:10DD30007A11B49EF001B59EF00D1124E20FF31F8D -:10DD4000E957FE4E80831DCE109279111BC2B09E02 -:10DD50003001B19E700C1124C30189579E4E1C01E5 -:10DD60006AE270E00F94D300009709F03FC0E7E942 -:10DD7000F2E58491882341F09091C00095FFFCCF9B -:10DD80008093C6003196F5CFE0917B13F0E0EE0F63 -:10DD9000FF1FE45EFD4F0190F081E02DE85BFE4F38 -:10DDA0000190F081E02D8491882341F09091C00092 -:10DDB00095FFFCCF8093C6003196F5CF40910C13B0 -:10DDC00050910D1360910E1370910F132AE030E003 -:10DDD0008BEF96E10E94A2D08091C00085FFFCCF1E -:10DDE0008AE08093C6000E94F165E9CE20E010E051 -:10DDF000F301E20FF11DE957FE4E30813A3219F07E -:10DE00002F5F1327F5CF90937811809377118219A4 -:10DE10009309860D971D60E070E088579E4E0E9422 -:10DE20009EFD0E94ABF7212F30E02617370709F43B -:10DE3000CBCEE7E9F2E58491882341F09091C000D0 -:10DE400095FFFCCF8093C6003196F5CFE0917B1310 -:10DE5000F0E0EE0FFF1FE45EFD4F0190F081E02D3A -:10DE6000EA5BFE4F0190F081E02D8491882341F020 -:10DE70009091C00095FFFCCF8093C6003196F5CFFE -:10DE800040910C1350910D1360910E1370910F136C -:10DE90002AE030E08BEF96E10E94A2D08091C00092 -:10DEA00085FFFCCF9DCFE7E9F2E58491882341F01F -:10DEB0009091C00095FFFCCF8093C6003196F5CFBE -:10DEC000E0917B13F0E0EE0FFF1FE45EFD4F019049 -:10DED000F081E02DEC5BFE4F0190F081E02D84910C -:10DEE000882341F09091C00095FFFCCF8093C6003D -:10DEF0003196F5CF40910C1350910D1360910E1394 -:10DF000070910F132AE030E08BEF96E10E94A2D0CF -:10DF10008091C00085FFFCCF63CF80917E159091EA -:10DF20007F15A0918015B091811580932B16909349 -:10DF30002C16A0932D16B0932E1686E795E10E941D -:10DF40002333482F80937C118A30B9F04D30A9F0EB -:10DF5000433229F420917911222379F002C04A3307 -:10DF6000C9F320917A1130917B112F3531052CF4B2 -:10DF70008F3F5FEF950709F0E7C040912B16509156 -:10DF80002C1660912D1670912E168091231690916B -:10DF90002416A0912516B0912616481759076A072E -:10DFA0007B0708F497C0E0917B13F0E0EE0FFF1FB2 -:10DFB000E45EFD4F0190F081E02DE45BFE4F0190A7 -:10DFC000F081E02D8491882341F09091C00095FF6D -:10DFD000FCCF8093C6003196F5CF8091C00085FFBD -:10DFE000FCCF8AE08093C6000E9489F0609367119D -:10DFF000709368118093691190936A11C0906B11AE -:10E00000D0906C11E0906D11F0906E116C197D093B -:10E010008E099F09A20191010E941AFB69017A01F0 -:10E0200060917713709178138091791390917A139E -:10E03000F7DBC701B601A50194010E941AFBCA01D2 -:10E04000B901A50194010E941AFB7F936F93C70148 -:10E05000B60120E13EE040E050E00E941AFB3F9311 -:10E060002F93A8EEB1E5BF93AF931F930F930F9437 -:10E070000B01E1E9F2E584910FB6F894DEBF0FBE23 -:10E08000CDBF882349F09091C00095FFFCCF8093CD -:10E09000C60031968491F5CFF8018191882339F03B -:10E0A0009091C00095FFFCCF8093C600F6CF809181 -:10E0B000C00085FFFCCF3AE03093C600C8010E9443 -:10E0C0007CA18EE893E10E94195E61E08EE893E105 -:10E0D0000E94DC5780917C11833211F470925F11A1 -:10E0E00020917A1130917B112115310509F42CCE44 -:10E0F00080917F1190918011689EF001699EF00DD2 -:10E100001124E20FF31FE957FE4E1082FC01ED5778 -:10E11000FE4E708220917D1130917E112F5F3F4F16 -:10E1200030937E1120937D11019664E070E00E948F -:10E1300007FB9093801180937F11109279111092B8 -:10E140007B1110927A1158CC4B3311F470927911E3 -:10E150004091791141114CCC40917F115091801127 -:10E16000B9016F5F7F4F70937B1160937A11649E4A -:10E17000F001659EF00D1124E20FF31FE957FE4EEA -:10E1800080833ACC6E960FB6F894DEBF0FBECDBF3B -:10E19000DF91CF911F910F91FF90EF90DF90CF9083 -:10E1A000BF90AF909F908F907F906F905F904F90B7 -:10E1B0003F902F900895CF92DF92EF92FF920F93AE -:10E1C0001F93CF93C82F80917D1190917E1103975B -:10E1D0000CF4B1DB0E9489F000916F111091701165 -:10E1E0002091711130917211C0907311D0907411FF -:10E1F000E0907511F09076116C197D098E099F09D8 -:10E20000061717072807390728F4012B022B032BC1 -:10E2100009F084D94091090C50910A0C60910B0CC3 -:10E2200070910C0C452B462B472B19F10E9489F05D -:10E230000091731110917411209175113091761124 -:10E24000601B710B820B930B0091090C10910A0C4F -:10E2500020910B0C30910C0C061717072807390773 -:10E2600040F49091CD178091CC17981302C0CC2325 -:10E2700049F0CF911F910F91FF90EF90DF90CF90D9 -:10E280000C9498E1179A10924E13169A10924F130D -:10E29000159A10925013149AECCFCF92DF92EF920E -:10E2A000FF9220916D132223F1F020E030E040E056 -:10E2B0005FE30E9411FA6B017C0120E030E0A901CC -:10E2C0000E943CF7882379F0A7019601C701B601A7 -:10E2D0000E9411FA2BED3FE049E450E40E9411FA4C -:10E2E0009B01AC0104C020E030E040E85FE360E067 -:10E2F00070E080E89FE30E9443F7FF90EF90DF908B -:10E30000CF90089560913F0C7091400C8091410C2A -:10E310009091420CC2DF60933B0C70933C0C809355 -:10E320003D0C90933E0C08953F924F925F926F92F6 -:10E330007F928F929F92AF92BF92CF92DF92EF9295 -:10E34000FF920F931F93CF93DF93CDB7DEB7E9977B -:10E350000FB6F894DEBF0FBECDBF81E40E94956575 -:10E36000882309F455C082E70E9495658823A9F0A7 -:10E37000E2E9FDE08191882339F09091C00095FF9A -:10E38000FCCF8093C600F6CF8091C00085FFFCCF04 -:10E390008AE08093C6000C94FD8986E70E9495650B -:10E3A0008823A9F0E8E9FDE08191882339F0909174 -:10E3B000C00095FFFCCF8093C600F6CF8091C000CF -:10E3C00085FFFCCF8AE08093C6000C94FD8987E628 -:10E3D0000E949565882321F00E9457A10C94FD8925 -:10E3E0008AE70E949565882341F060E070E088EF3D -:10E3F0009FE00E94C79C0C94FD898CE60E94956565 -:10E40000882311F40C94FD890E94EE9C0C94FD89E4 -:10E4100087E40E949565882309F4EAC10E9481651A -:10E420000E94ABF76A30710509F4F1C09CF46230C8 -:10E43000710509F480C024F477FF25C00C94FD8990 -:10E440006330710509F483C06430710509F48BC031 -:10E450000C94FD896A35710509F476C154F46B306A -:10E46000710509F4DAC06C31710509F4DCC00C9453 -:10E47000FD896B35710509F46BC16C35710509F4C3 -:10E480006CC10C94FD898091611181110C94FD89FE -:10E490000E942966609177137091781380917913A7 -:10E4A00090917A130E94DCF76B017C012091691333 -:10E4B00030916A1340916B1350916C136091341337 -:10E4C0007091351380913613909137130E9462F644 -:10E4D00020E030E048EC52E40E9411FA9B01AC01CC -:10E4E000C701B6010E9463F60E94B0F760937713EC -:10E4F000709378138093791390937A1380914613D5 -:10E500008823A9F088E50E949565811110C089E5EE -:10E510000E94956581110BC08AE50E949565811165 -:10E5200006C085E40E94956581110C94008A0E94C2 -:10E530006F670C94FD898091611181110C94FD89A4 -:10E540000E94A86681E00E94DC690C94FD8980919C -:10E55000611181110C94FD890E94A86680E00E94DF -:10E56000DC690C94FD89E0917B13F0E0EE0FFF1F56 -:10E57000E45EFD4F0190F081E02DE054FF4F80817B -:10E5800091810E9489A180E50E949565882339F0D8 -:10E590000E9481650E94B0F74B015C0103C0812C91 -:10E5A000912C540183E50E949565882361F00E94B7 -:10E5B000816520E030E04AE754E40E9411FA0E94AD -:10E5C000B0F74B015C010E9421DA0E9489F06B01D7 -:10E5D0007C01C80CD91CEA1CFB1C0E9489F06093CA -:10E5E00073117093741180937511909376110E943A -:10E5F00089F06C157D058E059F0510F00C94FD8942 -:10E600000E94174680E0D7DD0E9425A4F0CF60E08D -:10E6100081E00E942E680C94FD8960E080E00E94F9 -:10E620002E680C94FD891092801380910D0C9091AE -:10E630000E0CA0910F0CB091100C809314139093BA -:10E640001513A0931613B09317138091490C909152 -:10E650004A0C909383138093821384E690E0909306 -:10E660004A0C8093490C0E9489F060937311709357 -:10E670007411809375119093761181E00E94A1D25C -:10E6800080915D1390915E13A0915F13B091601320 -:10E690008093281390932913A0932A13B0932B13DC -:10E6A0008091611390916213A0916313B0916413F0 -:10E6B00080932C1390932D13A0932E13B0932F13AC -:10E6C0008091651390916613A0916713B0916813C0 -:10E6D0008093301390933113A0933213B09333137C -:10E6E0008091691390916A13A0916B13B0916C1390 -:10E6F0008093341390933513A0933613B09337134C -:10E7000010920D0C10920E0C10920F0C1092100C17 -:10E7100088E50E949565882311F090E00AC089E59C -:10E720000E9495658111F9CF8AE50E94956591E077 -:10E7300098279093110C992311F40C942F8A81E05F -:10E74000809380130C94E98A109207130C94FD892E -:10E7500081E0809307130C94FD8985E40E94956500 -:10E76000811102C00E9421DA07E0C02E0EE0D02EF7 -:10E7700081E5E82E83E1F82E0DE513E1B12CF601D9 -:10E7800081916F010E949565882339F1F3E0BF12F2 -:10E790000CC00E948165F80160837183828393833A -:10E7A00089E693E10E943BEC18C00E948165F70165 -:10E7B00020813181428153810E9463F6F801608398 -:10E7C00071838283938329E633E145E653E161E671 -:10E7D00073E18DE593E10E9496EBB394F4E0EF0EC4 -:10E7E000F11C0C5F1F4F24E0B212C9CF0C94FD89BD -:10E7F0008DE40E949565882311F40C9404890E948D -:10E8000081650E94ABF76537710511F40C94097DA1 -:10E810000CF0D0C06032710509F44EC30CF071C029 -:10E820006731710509F4A3C20CF044C0623171056F -:10E8300011F40C942D7C1CF577FF02C00C94FD891B -:10E84000623071050CF498C16131710511F00C94BE -:10E85000FD89E0917B13F0E0EE0FFF1FE45EFD4FBA -:10E860000190F081E02DE853FF4F808191810E945B -:10E8700089A117981698159814980C94FD896531FC -:10E88000710509F468C20CF06CC26431710511F0B5 -:10E890000C94FD89E0917B13F0E0EE0FFF1FE45E26 -:10E8A000FD4F0190F081E02DE25BFE4F0190F08181 -:10E8B000E02D20C26B31710509F485C2B4F46931D1 -:10E8C000710509F46CC20CF070C28EE893E10E94ED -:10E8D000C4540E9489F060936B1170936C11809303 -:10E8E0006D1190936E110C94FD896E31710509F4D0 -:10E8F000A5C20CF07DC36C31710509F46AC20C9499 -:10E90000FD896C35710509F4F6C7ECF462357105C3 -:10E9100009F49AC764F46035710509F44DC70CF029 -:10E9200062C76A32710509F4C1C30C94FD8964356C -:10E93000710509F492C70CF48BC76535710509F4AC -:10E94000BFC70C94FD896B36710509F42FC764F4B9 -:10E950006936710509F422C40CF0F8C668367105F1 -:10E9600009F4EBC30C94FD896037710509F403C405 -:10E9700034F46D36710509F41EC50C94FD896237B7 -:10E98000710511F40C941D7D6337710511F00C9421 -:10E99000FD89E0917B13F0E0EE0FFF1FE45EFD4F79 -:10E9A0000190F081E02DE859FE4F0190F081E02DBB -:10E9B0000C94047D623E710511F40C946B820CF092 -:10E9C0005FC06B3C710511F40C94AA80ACF56C38F7 -:10E9D000710509F4D2C304F56837710511F40C947C -:10E9E0000A7E6937710511F40C940F7E6737710543 -:10E9F00011F00C94FD89E0917B13F0E0EE0FFF1F06 -:10EA0000E45EFD4F0190F081E02DEC57FE4F019048 -:10EA1000F081E02D0C941B7E683C710511F40C9480 -:10EA20000780693C710511F40C9489806E3B710577 -:10EA300011F00C94FD895BC56F3C710511F40C94C9 -:10EA4000678154F46D3C710511F40C94E98014F461 -:10EA50000C94C7800C944981613D710511F40C94AC -:10EA6000C68114F40C949E816C3D710511F40C94D4 -:10EA700036826D3D710511F40C9445820C94FD892C -:10EA8000653F31E0730711F40C94188454F56F322C -:10EA900091E0790711F40C94DD8384F46D32F1E098 -:10EAA0007F0711F40C94FC8214F00C94CF836C3229 -:10EAB000714011F40C94C6820C94FD896F3581E08D -:10EAC000780711F40C94A888603991E0790711F463 -:10EAD0000C9415846E35714011F00C94FD890C94E2 -:10EAE00071886835F2E07F0711F40C946085A4F416 -:10EAF000673F31E0730711F40C94208414F40C94F4 -:10EB00001D846D3F714011F00C94FD890E9457A146 -:10EB1000E1E9F2E50C942A846B38E3E07E0711F416 -:10EB20000C944B883CF46335734011F40C943B8493 -:10EB30000C94FD89603A33E0730709F426C2673EFE -:10EB4000734011F00C94FD89109261110E9489A309 -:10EB50008091081390910913A0910A13B0910B139F -:10EB600080930C1390930D13A0930E13B0930F1377 -:10EB70000E94F1650C94FD89009177111091781134 -:10EB80000E5F1F4F80E50E949565882379F00E94F3 -:10EB900081650E94B0F76B017C01BB24B3946115C1 -:10EBA00071058105910531F4B12C04C0B12CC12C43 -:10EBB000D12C760183E50E949565882399F00E9407 -:10EBC000816520E030E04AE754E40E9411FA0E9497 -:10EBD000B0F76B017C01AA24A3946115710581052E -:10EBE000910509F4A12C6AE270E0C8010F94D300EA -:10EBF000009711F0FC011082F801CF012191203221 -:10EC0000E1F3B11007C0A11005C0222319F00E9442 -:10EC10007CA110C0E0917B13F0E0EE0FFF1FE45EDB -:10EC2000FD4F0190F081E02DEE53FF4F80819181E7 -:10EC30000E9489A181E00E945CA10E9421DA0E94C9 -:10EC400089F0609373117093741180937511909390 -:10EC50007611C114D104E104F104A9F00E9489F0F5 -:10EC60004B015C018C0C9D1CAE1CBF1C0E9489F0EA -:10EC7000681579058A059B05B8F40E9409A58111DC -:10EC800013C00C94F88A0E9407A5882311F40C94F1 -:10EC9000FD890E9409A581110AC00E94174680E0E3 -:10ECA0008ADA0E9425A4F5CF80E00E945CA18091C1 -:10ECB0009013E0917B13F0E0EE0FFF1FE45EFD4F39 -:10ECC0000190F081E02D882341F0EC53FF4F8081CB -:10ECD00091810E9489A10C94FD89808191810E947B -:10ECE00089A10C94FD899091C00095FFFCCF809381 -:10ECF000C600319684918111F6CF8091C00085FFC6 -:10ED0000FCCF8AE08093C6008EE893E10E946C53AA -:10ED1000E0917B13F0E0EE0FFF1FE45EFD4F0190EA -:10ED2000F081E02DE05BFE4F0190F081E02D8491B9 -:10ED3000882341F09091C00095FFFCCF8093C600DE -:10ED40003196F5CF8091C00085FFFCCF8AE080939B -:10ED5000C6000C94FD898EE893E10E94C1530C9487 -:10ED6000FD898EE893E10E94C0540C94FD890091C6 -:10ED70007711109178110C5F1F4F6AE270E0C801A3 -:10ED80000F94D300009711F0FC01108221E041E0C4 -:10ED9000B8018EE893E10E9442590C94FD898EE8F7 -:10EDA00093E10E94CB540C94FD89809191138823A8 -:10EDB00011F40C94FD8983E50E94956581110C94F2 -:10EDC000018B0C94FD898EE893E10E946F560C94A0 -:10EDD000FD8980917711909178116AE270E0049634 -:10EDE0000F94D3008C010097D9F0209181113091BC -:10EDF000821140E6429FC001439F900D11246EE4B2 -:10EE000070E089579E4E0F94D30060E270E00F943B -:10EE1000D30001969093781180937711F8011082B6 -:10EE200060917711709178116C5F7F4F21E040E025 -:10EE30008EE893E10E9442590C94FD8980919113D0 -:10EE4000882311F40C94FD8960E08EE893E10E9420 -:10EE5000D25880917711909178116AE270E004960F -:10EE60000F94D3008C010097D9F02091811130913B -:10EE7000821140E6429FC001439F900D11246EE431 -:10EE800070E089579E4E0F94D30060E270E00F94BB -:10EE9000D30001969093781180937711F801108236 -:10EEA00060917711709178116C5F7F4F8EE893E1DC -:10EEB0000E942F550C94FD898091901381110E941E -:10EEC00021DA00917711109178110C5F1F4F6AE2DF -:10EED00070E0C8010F94D3007C0161E270E0C801CA -:10EEE0000F94D300009719F08C010F5F1F4FE114AE -:10EEF000F10411F0F701108280E50E949565F82E6B -:10EF000020917711309178110217130708F4F12C32 -:10EF100080919113882311F40C94FD8921E02F2511 -:10EF200041E0B8018EE893E10E94425983E50E94D6 -:10EF300095658823B9F020917711309178112017C9 -:10EF4000310780F40E948A65AB01BC0140932B1607 -:10EF500050932C1660932D1670932E1686E795E12C -:10EF60000E94EC338EE893E10E94C454F1100C949B -:10EF7000FD890E9489F060936B1170936C118093EE -:10EF80006D1190936E110C94FD8980917711909181 -:10EF900078116AE270E005960F94D3008C01009717 -:10EFA000D9F0209181113091821140E6429FC00139 -:10EFB000439F900D11246EE470E089579E4E0F948C -:10EFC000D30060E270E00F94D30001969093781123 -:10EFD00080937711F8011082609177117091781108 -:10EFE0006B5F7F4F8EE893E10E94C75C0C94FD89B4 -:10EFF0000E9489F060936711709368118093691182 -:10F0000090936A1100916B1110916C1120916D1108 -:10F0100030916E11601B710B820B930B28EE33E065 -:10F0200040E050E00E941AFBCA01B9012CE330E035 -:10F0300040E050E00E941AFB7F936F933F932F9321 -:10F0400089ED91E59F938F93CE0101969F938F93C6 -:10F050000F940B01E1E9F2E584910FB6F894DEBF5D -:10F060000FBECDBF882349F09091C00095FFFCCF23 -:10F070008093C60031968491F5CFFE01319681913F -:10F08000882339F09091C00095FFFCCF8093C60093 -:10F09000F6CF8091C00085FFFCCF8AE08093C60048 -:10F0A000CE0101960E947CA10C94FD8983E50E940B -:10F0B0009565882311F40C94FD890E9481650E9456 -:10F0C000ABF7F62EE72E862F9E2D8C0180E50E9451 -:10F0D0009565882331F00F3F110509F010F40C9469 -:10F0E000128B0DE010E0EFECFDE081919191801723 -:10F0F000910711F40C94FD893EE0E730F307A9F77E -:10F100000630110539F48F2D9E2D9093481380936E -:10F11000471304C017FF02C00C94FD8961E0802FE3 -:10F120000E94A9EF6F2D802F0E94E2EF6F2D7E2DA0 -:10F13000802F0E949FEE0C94FD8988E690E00E944B -:10F14000496B81110C94FD8983E50E9495658823A4 -:10F1500071F0009162110E94816510E0000F111F93 -:10F16000005F1E4E0E94ABF7F801718360830E941E -:10F1700057400C94FD890E948E6A83E50E94956534 -:10F18000882311F40C94FD890E9481650E94ABF7DD -:10F1900070930F1160930E110C94FD8989E690E035 -:10F1A0000E94496B81110C94FD89E3EDF1E5849196 -:10F1B000882341F09091C00095FFFCCF8093C6005A -:10F1C0003196F5CFE091621124E0E29FF001112425 -:10F1D000E85FFE4E408151816281738121E030E021 -:10F1E0008BEF96E10E94A3D1E0EDF1E584918823B5 -:10F1F00041F09091C00095FFFCCF8093C6003196FE -:10F20000F5CFE0916211F0E0EE0FFF1FE05FFE4EE0 -:10F2100060817181882777FD8095982F0E94DEF7A5 -:10F22000AB01BC0121E030E08BEF96E10E94A3D15D -:10F23000ECECF1E58491882341F09091C00095FFBA -:10F24000FCCF8093C6003196F5CF409102115091CA -:10F250000311609104117091051121E030E08BEFF2 -:10F2600096E10E94A3D1E9ECF1E58491882341F075 -:10F270009091C00095FFFCCF8093C6003196F5CFEA -:10F2800060910E1170910F11882777FD8095982F4E -:10F290000E94DEF7AB01BC0121E030E08BEF96E18C -:10F2A0000E94A3D1E6ECF1E58491882341F090918E -:10F2B000C00095FFFCCF8093C6003196F5CF4AE0A1 -:10F2C00050E060E070E08BEF96E10E94CDD0E4EC7E -:10F2D000F1E58491882341F09091C00095FFFCCF27 -:10F2E0008093C6003196F5CF4091081150910911D5 -:10F2F00060910A1170910B1121E030E08BEF96E1E3 -:10F300000E94A3D1E1ECF1E58491882341F0909132 -:10F31000C00095FFFCCF8093C6003196F5CF609179 -:10F32000101170911111882777FD8095982F0E94F8 -:10F33000DEF7AB01BC0121E030E08BEF96E10E94EB -:10F34000A3D1EDEBF1E58491882341F09091C000C9 -:10F3500095FFFCCF8093C6003196F5CF8091621166 -:10F3600090E00E947F3F4AE050E0BC018BEF96E1C5 -:10F370000E94CDD0E8EBF1E58491882341F0909193 -:10F38000C00095FFFCCF8093C6003196F5CF8FEF7C -:10F390009FEF0E947F3F4AE050E0BC018BEF96E177 -:10F3A0000E94CDD08091C00085FFFCCF8AE0809381 -:10F3B000C6000C94808C8DE690E00E94496B811110 -:10F3C0000C94FD89E0917B13F0E0EE0FFF1FE45EEB -:10F3D000FD4F0190F081E02DE05AFE4F8081918138 -:10F3E0000E9489A181E090E0909376138093751339 -:10F3F00083E50E949565882391F0009162110E9437 -:10F40000816510E0000F111F005F1E4E0E94ABF7D8 -:10F41000F8017183608381E08093080C15C082E558 -:10F420000E949565882381F0009162110E94816598 -:10F4300010E0000F111F005F1E4E0E94ABF7F80195 -:10F44000718360831092080C0E9457400E9489F0DB -:10F450004B015C010091621110E0F801EE0FFF1FFB -:10F46000E05FFE4E60817181882777FD8095982F3F -:10F470000E94DEF7F801EE0FFF1FEE0FFF1FE85F9F -:10F48000FE4E11E020813181428153810E943FF97B -:10F4900018160CF010E01093601110923813CC2461 -:10F4A000CA94DC2C760148EE442E43E0542E612CA5 -:10F4B000712C5AE0352E8091381381110C94198BE0 -:10F4C000FFEFCF16DF06EF06FF0611F40C94448B16 -:10F4D000F7FE02C00C94198B0E9489F06C197D090B -:10F4E000683B7B4010F40C94448B0C94198BE09196 -:10F4F0007B13F0E0EE0FFF1FE45EFD4F0190F08103 -:10F50000E02DEC59FE4F808191810E9489A183E01A -:10F5100090E0909376138093751383E50E94956530 -:10F52000882361F00E9481650E94ABF770930F11F0 -:10F5300060930E1181E08093080C0FC082E50E9459 -:10F540009565882351F00E9481650E94ABF7709306 -:10F550000F1160930E111092080C0E9489F04B015C -:10F560005C011092381360910E1170910F11882771 -:10F5700077FD8095982F0E94DEF711E0209102110F -:10F580003091031140910411509105110E943FF9EF -:10F5900018160CF010E0109360110AEA11E566EA03 -:10F5A000E62E61E5F62E72EAC72E71E5D72EEAE067 -:10F5B0007E2E8091601160910E1170910F11882341 -:10F5C00009F48BC080913813811187C0882777FD9B -:10F5D0008095982F0E94DEF720910211309103113F -:10F5E00040910411509105110E943FF918160CF03A -:10F5F0008BC00E9489F0681979098A099B09693EC4 -:10F6000073408105910508F460C0E091491384E0DE -:10F61000E89FF0011124E85FFE4E40815181628134 -:10F620007381F8018491EAEAF1E5882349F0909129 -:10F63000C00095FFFCCF8093C60031968491F5CF32 -:10F6400022E030E08BEF96E10E94A3D1F701849194 -:10F65000E6EAF1E5882349F09091C00095FFFCCFE0 -:10F660008093C60031968491F5CF6091491370E084 -:10F670004AE050E08BEF96E10E94CDD0F6018491F4 -:10F68000E2EAF1E5882349F09091C00095FFFCCFB4 -:10F690008093C60031968491F5CF4091021150912C -:10F6A0000311609104117091051121E030E08BEF9E -:10F6B00096E10E94A3D18091C00085FFFCCF70929B -:10F6C000C6000E9489F04B015C010E94174680E051 -:10F6D0000E94DB700E9425A46CCF882777FD80955F -:10F6E000982F0E94DEF72091021130910311409172 -:10F6F0000411509105110E943CF787FF05C08091CD -:10F70000080C882309F475CFE0917B13F0E0EE0F2D -:10F71000FF1FE45EFD4F0190F081E02DEA59FE4F9E -:10F72000808191810E9489A184E090E0909376137A -:10F73000809375130E9489F0609373117093741114 -:10F7400080937511909376110C94FD8983E50E9446 -:10F750009565882319F10E94816520E030E0A901B8 -:10F760000E943CF787FD0FC00E94816520E030E0D9 -:10F770004FE753E40E943FF9181644F00E94816558 -:10F780000E94ABF705C060E070E002C06FEF70E070 -:10F7900070934813609347130C94FD898FEF90E0AA -:10F7A00090934813809347130C94FD89109248134B -:10F7B000109247130C94FD899B9AA39881E0809343 -:10F7C000120CE0917B13F0E0EE0FFF1FE45EFD4FA3 -:10F7D0000190F081E02D808191810E9489A10E9499 -:10F7E00025A40C94FD890E9458400E9421DA149AA5 -:10F7F0000E948BDA109248131092471368EE73E060 -:10F8000080E090E00E94B8F09B9AA39A1092120CAC -:10F81000E0917B13F0E0EE0FFF1FE45EFD4F0190DF -:10F82000F081E02DE459FF4F4081518120EA31E51C -:10F830006EE971E584EB9DE00E94584D0E9489A11C -:10F840000E9425A40C94FD89109287130C94FD89C5 -:10F8500081E0809387130C94FD8983E50E94956570 -:10F860008823A1F00E94816520E030E04AE754E45B -:10F870000E9411FA0E94B0F76093090C70930A0C71 -:10F8800080930B0C90930C0C0C94FD8988E50E94DE -:10F89000956581110C94588C89E50E9495658111BC -:10F8A0000C94588C8AE50E94956581110C94588CB3 -:10F8B00085E40E94956581110C94588C0C947A8C87 -:10F8C00083E50E949565882311F40C94FD890E94BC -:10F8D000816520E030E04AE754E40E9411FA0E947A -:10F8E000B0F760936F1170937011809371119093C2 -:10F8F00072110C94FD8927E03EE039AF28AF01E09A -:10F900001DE191E1892E9DE1992E25ECA22E2CE19D -:10F91000B22E312CE8ADF9AD8191F9AFE8AF0E947C -:10F920009565882309F45BC0F3E03F1251C00E9443 -:10F9300081656B017C0120E030E040EA51E40E94E7 -:10F940003CF787FF3FC0A7019601F80160817181F4 -:10F95000828193810E9443F72B013C019B01AC0102 -:10F960006091D91C7091DA1C8091DB1C9091DC1C99 -:10F970000E9411FA6093D91C7093DA1C8093DB1CEF -:10F980009093DC1CA3019201F4016081718182815A -:10F9900093810E9411FAF4016083718382839383BF -:10F9A000F50160817181828193810E94DCF7A3015E -:10F9B00092010E9411FA0E94B0F7F50160837183F1 -:10F9C00082839383F801C082D182E282F38207C0EE -:10F9D0000E948165F80160837183828393833394ED -:10F9E0000C5F1F4FF4E08F0E911C24E0A20EB11C9F -:10F9F00034E033128FCF0C94FD899091C00095FFB5 -:10FA0000FCCF8093C600319684918111F6CF0C947F -:10FA1000FD8900917711109178110B5F1F4F6AE2F9 -:10FA200070E0C8010F94D300009711F0FC01108220 -:10FA3000C8010E947CA10C94FD89EBE9F1E5849159 -:10FA4000882341F09091C00095FFFCCF8093C600C1 -:10FA50003196F5CF40915D1350915E1360915F1325 -:10FA60007091601322E030E08BEF96E10E94A3D109 -:10FA7000E7E9F1E58491882341F09091C00095FF7A -:10FA8000FCCF8093C6003196F5CF40916113509121 -:10FA90006213609163137091641322E030E08BEF86 -:10FAA00096E10E94A3D1E3E9F1E58491882341F036 -:10FAB0009091C00095FFFCCF8093C6003196F5CFA2 -:10FAC00040916513509166136091671370916813AC -:10FAD00022E030E08BEF96E10E94A3D1EFE8F1E560 -:10FAE0008491882341F09091C00095FFFCCF8093D2 -:10FAF000C6003196F5CF4091691350916A13609119 -:10FB00006B1370916C1322E030E08BEF96E10E9452 -:10FB1000A3D1E0917B13F0E0EE0FFF1FE45EFD4FF9 -:10FB20000190F081E02DE659FE4F0190F081E02D2B -:10FB30008491882341F09091C00095FFFCCF809381 -:10FB4000C6003196F5CF0E947DDA0E94DEF7209143 -:10FB5000011D3091021D4091031D5091041D0E9412 -:10FB600043F7AB01BC0122E030E08BEF96E10E944D -:10FB7000A3D1EBE8F1E58491882341F09091C00096 -:10FB800095FFFCCF8093C6003196F5CF81E00E94AF -:10FB90007DDA0E94DEF72091051D3091061D40910F -:10FBA000071D5091081D0E9443F7AB01BC0122E0E4 -:10FBB00030E08BEF96E10E94A3D1E7E8F1E5849174 -:10FBC000882341F09091C00095FFFCCF8093C60040 -:10FBD0003196F5CF82E00E947DDA0E94DEF7209117 -:10FBE000091D30910A1D40910B1D50910C1D0E9462 -:10FBF00043F7AB01BC0122E030E08BEF96E10E94BD -:10FC0000A3D18091C00085FFFCCF8AE08093C6001D -:10FC10000C94FD8980E00E94A1D20C94FD8981E0C2 -:10FC20000E94A1D20C94FD899091C00095FFFCCF59 -:10FC30008093C600319684918111F6CF8091C000E7 -:10FC400085FFFCCF8AE08093C600E0917B13F0E053 -:10FC5000EE0FFF1FE45EFD4F0190F081E02DE858AC -:10FC6000FE4F0190F081E02D8491882341F0909126 -:10FC7000C00095FFFCCF8093C6003196F5CFE09190 -:10FC80007B13F0E0EE0FFF1FE45EFD4F1E9B13C0E1 -:10FC90000190F081E02DEA57FE4F0190F081E02DB8 -:10FCA00084918823D9F09091C00095FFFCCF809378 -:10FCB000C6003196F5CF0190F081E02DE857FE4F58 -:10FCC0000190F081E02D8491882341F09091C00053 -:10FCD00095FFFCCF8093C6003196F5CF8091C00090 -:10FCE00085FFFCCF8AE08093C600E0917B13F0E0B3 -:10FCF000EE0FFF1FE45EFD4F0190F081E02DE6580E -:10FD0000FE4F0190F081E02D8491882341F0909185 -:10FD1000C00095FFFCCF8093C6003196F5CFE091EF -:10FD20007B13F0E0EE0FFF1FE45EFD4F029913C05E -:10FD30000190F081E02DEA57FE4F0190F081E02D17 -:10FD400084918823D9F09091C00095FFFCCF8093D7 -:10FD5000C6003196F5CF0190F081E02DE857FE4FB7 -:10FD60000190F081E02D8491882341F09091C000B2 -:10FD700095FFFCCF8093C6003196F5CF8091C000EF -:10FD800085FFFCCF8AE08093C600E0917B13F0E012 -:10FD9000EE0FFF1FE45EFD4F0190F081E02DE4586F -:10FDA000FE4F0190F081E02D8491882341F09091E5 -:10FDB000C00095FFFCCF8093C6003196F5CFE0914F -:10FDC0007B13F0E0EE0FFF1FE45EFD4F1D9B13C0A1 -:10FDD0000190F081E02DEA57FE4F0190F081E02D77 -:10FDE00084918823D9F09091C00095FFFCCF809337 -:10FDF000C6003196F5CF0190F081E02DE857FE4F17 -:10FE00000190F081E02D8491882341F09091C00011 -:10FE100095FFFCCF8093C6003196F5CF8091C0004E -:10FE200085FFFCCF8AE08093C600E0917B13F0E071 -:10FE3000EE0FFF1FE45EFD4F0190F081E02DE258D0 -:10FE4000FE4F0190F081E02D8491882341F0909144 -:10FE5000C00095FFFCCF8093C6003196F5CFE091AE -:10FE60007B13F0E0EE0FFF1FE45EFD4F019913C01E -:10FE70000190F081E02DEA57FE4F0190F081E02DD6 -:10FE800084918823D9F09091C00095FFFCCF809396 -:10FE9000C6003196F5CF0190F081E02DE857FE4F76 -:10FEA0000190F081E02D8491882341F09091C00071 -:10FEB00095FFFCCF8093C6003196F5CF8091C000AE -:10FEC00085FFFCCF8AE08093C600E0917B13F0E0D1 -:10FED000EE0FFF1FE45EFD4F0190F081E02DE05832 -:10FEE000FE4F0190F081E02D8491882341F09091A4 -:10FEF000C00095FFFCCF8093C6003196F5CFE0910E -:10FF00007B13F0E0EE0FFF1FE45EFD4F1C9B13C060 -:10FF10000190F081E02DEA57FE4F0190F081E02D35 -:10FF200084918823D9F09091C00095FFFCCF8093F5 -:10FF3000C6003196F5CF0190F081E02DE857FE4FD5 -:10FF40000190F081E02D8491882341F09091C000D0 -:10FF500095FFFCCF8093C6003196F5CF8091C0000D -:10FF600085FFFCCF8AE08093C600E0917B13F0E030 -:10FF7000EE0FFF1FE45EFD4F0190F081E02DEE5784 -:10FF8000FE4F0190F081E02D8491882341F0909103 -:10FF9000C00095FFFCCF8093C6003196F5CFE0916D -:10FFA0007B13F0E0EE0FFF1FE45EFD4F379913C0A7 -:10FFB0000190F081E02DEA57FE4F0190F081E02D95 -:10FFC00084918823D9F09091C00095FFFCCF809355 -:10FFD000C6003196F5CF0190F081E02DE857FE4F35 -:10FFE0000190F081E02D8491882341F09091C00030 -:10FFF00095FFFCCF8093C6003196F5CF8091C0006D -:020000021000EC -:1000000085FFFCCF8AE08093C6000C94FD89809127 -:1000100049138093621184E50E949565882381F1DC -:100020000E9481650E94B0F760936211662341F1DE -:10003000E1E9F2E58491882341F09091C00095FFB9 -:10004000FCCF8093C6003196F5CFE0917B13F0E0B2 -:10005000EE0FFF1FE45EFD4F0190F081E02DEA5AA4 -:10006000FE4F0190F081E02D8191882311F40C94D2 -:10007000FD899091C00095FFFCCF8093C600F4CF1E -:1000800084E40E949565882311F40C94FD890E94F4 -:10009000816520E030E0A9010E943CF7811103C096 -:1000A00010926D1332C00091621110E00E948165C0 -:1000B000F801EE0FFF1FEE0FFF1FE15CF34F6083AF -:1000C000718382839383E0903F0CF090400C009109 -:1000D000410C1091420C20E030E0A901B701C801A9 -:1000E0000E943CF7811104C0E12CF12C00E410E4E3 -:1000F000C701D80180933F0C9093400CA093410C12 -:10010000B093420C81E080936D130E9482710C9435 -:10011000FD8907E01EE0E1EFEE2EECE1FE2EF80196 -:1001200081918F010E949565882349F00E94816525 -:100130000E94B0F7F7016083718382839383F4E0B8 -:10014000EF0EF11C2EE00B30120749F70E9468EC0D -:100150000C94FD8907E01EE071E1E72E7DE1F72EAA -:10016000F80181918F010E949565882339F00E94E2 -:100170008165F7016083718382839383F4E0EF0EDE -:10018000F11C2EE00B30120759F70C94FD8983E522 -:100190000E949565882351F00E9481656093E91C57 -:1001A0007093EA1C8093EB1C9093EC1C84E50E94F6 -:1001B0009565882311F40C94FD890E9481656093F4 -:1001C000E51C7093E61C8093E71C9093E81C0C944C -:1001D000FD8983E50E949565882351F00E94816521 -:1001E0006093ED1C7093EE1C8093EF1C9093F01CB9 -:1001F00084E50E949565882351F00E948165609393 -:10020000D51C7093D61C8093D71C9093D81C82E485 -:100210000E949565882361F00E9481650E94B0F775 -:100220006093211D7093221D8093231D9093241DA4 -:1002300088E50E949565882351F00E94816560934E -:10024000E11C7093E21C8093E31C9093E41C8AE50C -:100250000E949565882351F00E9481656093DD1CA2 -:100260007093DE1C8093DF1C9093E01C85E40E9459 -:100270009565882311F40C94FD890E948165609333 -:10028000D91C7093DA1C8093DB1C9093DC1C0C94BB -:10029000FD8907E01EE061E5E62E63E1F62EF80138 -:1002A00081918F010E949565882339F00E948165B4 -:1002B000F7016083718382839383F4E0EF0EF11C76 -:1002C0002EE00A30120711F40C94FD89E8CF83E583 -:1002D0000E949565882351F00E94816560931F0CF0 -:1002E0007093200C8093210C9093220C86E40E9442 -:1002F0009565882381F00E94816520E030E040E729 -:1003000052E40E9443F76093170C7093180C80938B -:10031000190C90931A0C8AE50E949565882311F4B4 -:100320000C94FD890E948165609341137093421380 -:1003300080934313909344130C94FD8983E50E94AA -:100340009565882351F00E94816560933D137093F9 -:100350003E1380933F139093401386E40E9495656B -:10036000882311F40C94FD890E94816520E030E01F -:1003700040E752E40E9443F76093130C7093140C0F -:100380008093150C9093160C0C94FD8983E50E94C4 -:100390009565882311F40C94FD890E9481650E9463 -:1003A000ABF76115710551F06130710569F481E0B9 -:1003B00080934613109245130C94FD8910924613B6 -:1003C000109245130C94FD89E1E9F2E584918823AC -:1003D00041F09091C00095FFFCCF8093C60031960C -:1003E000F5CFE0917B13F0E0EE0FFF1FE45EFD4FD1 -:1003F0000190F081E02DEE58FE4F0190F081E02D4C -:100400008491882341F09091C00095FFFCCF8093A8 -:10041000C6003196F5CF809181119091821120E62E -:10042000289FF001299FF00D1124E957FE4E81917C -:10043000882339F09091C00095FFFCCF8093C600CF -:10044000F6CFE5E8F1E58491882341F09091C00072 -:1004500095FFFCCF8093C6003196F5CF8091C00008 -:1004600085FFFCCF8AE08093C600C7C783E50E9462 -:100470009565882309F4C1C70E9481650E94ABF786 -:1004800070934A0C6093490CB8C783E50E94956548 -:10049000882309F4B2C70E9481650E94ABF76B0103 -:1004A0007C0184E50E949565882381F08DED90E0C4 -:1004B0000E94496B8111A1C7E0916211F0E0EE0F3B -:1004C000FF1FEB5BF34FD182C08297C7D092480CDD -:1004D000C092470C92C780E50E949565882309F475 -:1004E0008CC70E9481650E94ABF7D62E062F172F6E -:1004F00083E50E949565882331F00E9481650E9402 -:10050000ABF77B0103C0EE24EA94FE2CC7010196F1 -:10051000039708F072C7EFECFDE08191919180178D -:10052000910709F46AC73EE0E730F307B1F717FD1A -:1005300064C70E9421DACD2C60E08D2D0E94A9EFC6 -:100540008FEFE816F80631F0EA94EF2871F000E03A -:1005500010E00DC08D2D0E9417F031E020E0892BB6 -:1005600009F030E0032F122F02C001E010E08C2DC3 -:100570000E9417F08017910709F43FC70E941746A1 -:1005800080E00E94DB700E9425A4F1CF83E50E94E9 -:100590009565882331F00E9481650E94ABF78B013D -:1005A00002C00EE610E080E50E949565882331F0D8 -:1005B0000E9481650E94ABF7CB0102C088EE93E0F8 -:1005C0006C01EE24D7FCE094FE2C101611067CF48E -:1005D00020E030E0A901B80184E50E9455F1C7018F -:1005E000B6010E94B8F084E50E946CF406C7C7010A -:1005F000B6010E94B8F001C780E50E949565882386 -:1006000051F00E94816560931802709319028093E3 -:100610001A0290931B0289E40E949565882361F079 -:100620000E9481650E94934A6093140270931502A0 -:10063000809316029093170284E40E9495658823A4 -:1006400061F00E9481650E949F4A6093100270933E -:100650001102809312029093130283E40E94956525 -:10066000882351F00E94816560930C0270930D0203 -:1006700080930E0290930F020E94683FE0917B13DB -:10068000F0E0EE0FFF1FE45EFD4F0190F081E02DE2 -:10069000E05CFE4F0190F081E02D8191882339F0DC -:1006A0009091C00095FFFCCF8093C600F6CFEDEB94 -:1006B000FDE08191882339F09091C00095FFFCCF37 -:1006C0008093C600F6CF40911802509119026091B4 -:1006D0001A0270911B0222E030E08BEF96E10E943B -:1006E000A3D1E1ECFDE08191882339F09091C00025 -:1006F00095FFFCCF8093C600F6CF609114027091F5 -:10070000150280911602909117020E94994AAB013E -:10071000BC0122E030E08BEF96E10E94A3D1E5EC32 -:10072000FDE08191882339F09091C00095FFFCCFC6 -:100730008093C600F6CF60911002709111028091F3 -:100740001202909113020E94A54AAB01BC0122E063 -:1007500030E08BEF96E10E94A3D1E9ECFDE08191BE -:10076000882339F09091C00095FFFCCF8093C6009C -:10077000F6CF40910C0250910D0260910E027091E3 -:100780000F0222E030E08BEF96E10E94A3D180912E -:10079000C00085FFFCCF8AE08093C6002EC683E5AB -:1007A0000E949565882319F00E94816503C060E06E -:1007B00070E0CB010E945FEC20C685E40E94956545 -:1007C000882341F00E9481650E94ABF78B0177FF7F -:1007D00003C009C000E010E0C12CD12C96E1E92E45 -:1007E00093E4F92E06C0C12CD12C8CE8E82E82E4CB -:1007F000F82E83E50E949565882321F00E9481658B -:100800006B017C0183E40E949565882331F00E948E -:1008100081650E94ABF79B0102C025E030E0A80192 -:10082000C701B6010E946B40E8C50E9421DAE5C508 -:100830000E94D4CD0E94A6C9E0C50E94D4CDDDC5DA -:100840000E94A6C9DAC59091C00095FFFCCF8093A5 -:10085000C600319684918111F6CFE5E7F1E58491E8 -:10086000882309F4CAC59091C00095FFFCCF8093FE -:10087000C6003196F4CF8AE50E949565882309F475 -:10088000D6C00E9481656B017C0120E030E040E72A -:1008900051EC0E943FF987FD57C020E030E040EA6C -:1008A00050ECC701B6010E943CF718160CF44CC07E -:1008B000F7FAF094F7F8F094C0924A13D0924B13E1 -:1008C000E0924C13F0924D13E1E9F2E58491882314 -:1008D00041F09091C00095FFFCCF8093C600319607 -:1008E000F5CFE0917B13F0E0EE0FFF1FE45EFD4FCC -:1008F00080819181FC01E05CFE4F40815181E8558F -:10090000F10924E731E564E77EE0808191810E946E -:10091000584DFC012491222341F03091C00035FF55 -:10092000FCCF2093C6000196F4CF8091C00085FFD4 -:10093000FCCF8AE08093C6008091C00085FFFCCF89 -:100940008AE08093C60059C5E1E9F2E584918823E5 -:1009500041F09091C00095FFFCCF8093C600319686 -:10096000F5CFE0917B13F0E0EE0FFF1FE45EFD4F4B -:100970000190F081E02DE851FF4F0190F081E02DD2 -:100980008491882341F09091C00095FFFCCF809323 -:10099000C6003196F5CFE0917B13F0E0EE0FFF1F1C -:1009A000E45EFD4F0190F081E02DE058FE4F019094 -:1009B000F081E02D8491882341F09091C00095FF53 -:1009C000FCCF8093C6003196F5CF4AE050E061EF4E -:1009D0007FEF8BEF96E10E94CDD0E0917B13F0E0AA -:1009E000EE0FFF1FE45EFD4F0190F081E02DEE570A -:1009F000FE4F0190F081E02D8491882341F0909189 -:100A0000C00095FFFCCF8093C6003196F5CF4AE039 -:100A100050E06BEF7FEF8BEF96E10E94CDD080919D -:100A2000C00085FFFCCF8AE08093C600E6C4E1E900 -:100A3000F2E58491882341F09091C00095FFFCCFAE -:100A40008093C6003196F5CFE0917B13F0E0EE0F76 -:100A5000FF1FE45EFD4F0190F081E02DE851FF4F54 -:100A600060E771E5808191810E94374DFC012491FE -:100A7000222341F03091C00035FFFCCF2093C60007 -:100A80000196F4CF8091C00085FFFCCF8AE080936F -:100A9000C60040914A1350914B1360914C137091D2 -:100AA0004D13705822E030E08BEF96E10E94A3D105 -:100AB0008091C00085FFFCCF8AE08093C6009DC472 -:100AC0000E9421DA8091490C90914A0C9093440C39 -:100AD0008093430CC0905D13D0905E13E0905F1341 -:100AE000F0906013CF8ED8A2E9A2FAA20091611310 -:100AF0001091621320916313309164130BA31CA314 -:100B00002DA33EA340916513509166136091671326 -:100B1000709168134FA358A769A77AA780916913AA -:100B200090916A13A0916B13B0916C138BA79CA743 -:100B3000ADA7BEA7C982DA82EB82FC820D831E8339 -:100B40002F83388749875A876B877C878D879E8755 -:100B5000AF87B88B85E40E949565882359F00E9481 -:100B600081659B01AC016BA57CA58DA59EA50E940E -:100B700063F60AC020E030E040E050E46BA57CA5BD -:100B80008DA59EA50E9462F66BA77CA78DA79EA748 -:100B900039E4C32E33E1D32EE12CF12C08EC13E41D -:100BA0009E01255D3F4FAE01495D5F4FBE016D5D0A -:100BB0007F4FCE014F960E94B4E18AE50E94956571 -:100BC000882349F00E9481659B01AC016FA178A543 -:100BD00089A59AA51EC020E030E040E050E46FA156 -:100BE00078A589A59AA50E9463F66B017C016FA385 -:100BF00078A789A79AA720E030E040E251E40E945C -:100C00003CF787FF0CC020E030E040E251E4C70130 -:100C1000B6010E9463F66FA378A789A79AA799E403 -:100C2000C92E93E1D92EE12CF12C06E913E49E01A3 -:100C3000255D3F4FAE01495D5F4FBE016D5D7F4F4A -:100C4000CE014F960E94B4E188E50E949565882305 -:100C500079F00E9481659B01AC016F8D78A189A11B -:100C60009AA10E9463F66F8F78A389A39AA308C004 -:100C700080E090E0A3E5B3E48F8F98A3A9A3BAA383 -:100C800089E50E949565882339F00E9481656BA3F0 -:100C90007CA38DA39EA304C01BA21CA21DA21EA206 -:100CA00019E4C12E13E1D12EE12CF12C0CE812E451 -:100CB0009E01255D3F4FAE01495D5F4FBE016D5DF9 -:100CC0007F4FCE014F960E94B4E18CE40E9495655F -:100CD000882359F00E9481659B01AC016BA57CA51E -:100CE0008DA59EA50E9463F60AC020E030E040EA90 -:100CF00052E46BA57CA58DA59EA50E9462F66BA70C -:100D00007CA78DA79EA7A9E4CA2EA3E1DA2EE12C29 -:100D1000F12C08EC13E49E01255D3F4FAE01495DC7 -:100D20005F4FBE016D5D7F4FCE014F960E94B4E1D3 -:100D30000E9421DA149A64E670E080E090E00E945C -:100D4000B8F00E94D4B900E010E0F12C0E9409A58F -:100D500081112AC0F3940E94174681E00E94DB7043 -:100D6000F110F4CF043FF1E01F0711F400E010E0B0 -:100D7000809101018460809301010115110531F416 -:100D80009FB7F89480910201846008C00431110576 -:100D900041F49FB7F894809102018B7F8093020108 -:100DA0009FBF0F5F1F4FD2CF9FB7F8948091020172 -:100DB0008B7F809302019FBF20E030E04CE852E43B -:100DC0006BA57CA58DA59EA50E9463F66BA77CA74D -:100DD0008DA79EA779E4C72E73E1D72EE12CF12CC5 -:100DE00000EA11E49E01255D3F4FAE01495D5F4F72 -:100DF000BE016D5D7F4FCE014F960E94B4E120E0B1 -:100E000030E048E452E46BA57CA58DA59EA50E9428 -:100E100063F66BA77CA78DA79EA7E12CF12C00E0C1 -:100E200010E49E01255D3F4FAE01495D5F4FBE015D -:100E30006D5D7F4FCE014F960E94B4E110927D13FD -:100E400010927C130E946FBA80917C1390917D1355 -:100E5000019709F47CC010927D1310927C130E94BC -:100E6000C4BA80917C1390917D138230910549F131 -:100E7000039709F069C020E030E048E452E46BA534 -:100E80007CA58DA59EA50E9463F66BA77CA78DA768 -:100E90009EA729E4C22E23E1D22EE12CF12C00E002 -:100EA00010E49E01255D3F4FAE01495D5F4FBE01DD -:100EB0006D5D7F4FCE014F960E94B4E10E941ABA39 -:100EC000C3CF20E030E04CE852E46BA57CA58DA5B3 -:100ED0009EA50E9463F66BA77CA78DA79EA749E4F9 -:100EE000C42E43E1D42EE12CF12C00EA11E49E0142 -:100EF000255D3F4FAE01495D5F4FBE016D5D7F4F88 -:100F0000CE014F960E94B4E120E030E048E452E484 -:100F10006BA57CA58DA59EA50E9463F66BA77CA7FB -:100F20008DA79EA7E12CF12C00E010E49E01255D29 -:100F30003F4FAE01495D5F4FBE016D5D7F4FCE01FA -:100F40004F960E94B4E17ECF0E9402BA7DCF20E08E -:100F500030E040EA50E46BA57CA58DA59EA50E94DB -:100F600063F66BA77CA78DA79EA7E9E4CE2EE3E1ED -:100F7000DE2EE12CF12C00E010E49E01255D3F4FB8 -:100F8000AE01495D5F4FBE016D5D7F4FCE014F9653 -:100F90000E94B4E1A80197016BA57CA58DA59EA533 -:100FA0000E9462F66BA77CA78DA79EA7E12CF12C6F -:100FB00008EC13E49E01255D3F4FAE01495D5F4F94 -:100FC000BE016D5D7F4FCE014F960E94B4E1E12CD2 -:100FD000F12C0CE812E49E01255D3F4FAE01495D06 -:100FE0005F4FBE016B5F7F4FCE0101960E94B4E15F -:100FF000E12CF12C06E913E49E01255D3F4FAE0183 -:10100000475F5F4FBE016B5F7F4FCE0101960E942D -:10101000B4E120E030E040E050E46BA57CA58DA574 -:101020009EA50E9463F66BA77CA78DA79EA7E12CC7 -:10103000F12C08EC13E49E01255D3F4FAE01475FA4 -:101040005F4FBE016B5F7F4FCE0101960E94B4E1FE -:10105000CE010D960E943BEC8091430C9091440C84 -:101060008093490C90934A0C9F938F9387E691E568 -:101070009F938F938E01015D1F4F1F930F930F94CA -:101080000B01C8010E947E620F900F900F900F908D -:101090000F900F90B2C188E50E949565882339F0C2 -:1010A0000E9481650E94ABF780E00E944BDB8AE5DD -:1010B0000E949565882339F00E9481650E94ABF7F4 -:1010C00081E00E944BDB85E40E949565882309F44A -:1010D00094C10E9481650E94ABF782E00E944BDBC5 -:1010E0008CC183E50E949565811104C007E01EE074 -:1010F000F12C10C010E00E9481650E94B0F7812F92 -:101100000E9421DC1F5F1530B1F7F0CFF394F4E0BB -:10111000FF1679F0F80181918F010E94956588236F -:10112000A9F30E9481650E94B0F78F2D0E9421DCF7 -:10113000EDCF82E40E949565882339F00E94816595 -:101140000E94B0F784E00E9421DC0E94E7DC55C1D8 -:1011500083E50E949565882309F453C00E94816548 -:101160000E94ABF76130710541F06230710509F002 -:1011700048C007E01EE0F12C25C007E01EE0F12C7E -:10118000F80181918F010E949565882341F00E94AA -:1011900081650E94ABF74FEF8F2D0E94E3DBF39444 -:1011A000F4E0FF12EDCF82E40E949565882349F1B7 -:1011B0000E9481650E94ABF74FEF20C0F394F4E0EA -:1011C000FF1689F0F80181918F010E9495658823AF -:1011D000A9F30E9481650E94ABF7462F6FEF8F2D18 -:1011E0000E94E3DBEBCF82E40E949565882349F0FF -:1011F0000E9481650E94ABF7462F6FEF84E00E944A -:10120000E3DB0E94E7DCF9C084E50E949565882352 -:1012100009F4A2C00E9481650E94B0F76093621138 -:10122000662309F442C0E1E9F2E58491882341F0A4 -:101230009091C00095FFFCCF8093C6003196F5CF0A -:10124000EDECFDE08191882339F09091C00095FF8D -:10125000FCCF8093C600F6CF40E050E06091621171 -:101260008BEF96E10E9404D1E0917B13F0E0EE0F4A -:10127000FF1FE45EFD4F0190F081E02DEA58FE4F24 -:101280000190F081E02D8191882339F09091C00088 -:1012900095FFFCCF8093C600F6CF8091C00085FFFC -:1012A000FCCF8AE08093C600A8C086E40E949565C2 -:1012B0008823D9F00E9481656B017C01609318132B -:1012C0007093191380931A1390931B1320E030E04E -:1012D000A9010E943FF9181644F4C0920D0CD09257 -:1012E0000E0CE0920F0CF092100CE1E9F2E5849103 -:1012F000882341F09091C00095FFFCCF8093C600F9 -:101300003196F5CFE0917B13F0E0EE0FFF1FE45E26 -:10131000FD4F0190F081E02DEC58FE4F0190F081DF -:10132000E02D8191882339F09091C00095FFFCCF8A -:101330008093C600F6CF6091491370E04AE050E018 -:101340008BEF96E10E94CDD08091C00085FFFCCF4D -:101350008AE08093C60051C0E1E9F2E584918823D8 -:1013600041F09091C00095FFFCCF8093C60031966C -:10137000F5CFE0917B13F0E0EE0FFF1FE45EFD4F31 -:101380000190F081E02DEE58FE4F0190F081E02DAC -:101390008491882341F09091C00095FFFCCF809309 -:1013A000C6003196F5CF809181119091821120E68F -:1013B000289FF001299FF00D1124E957FE4E8191DD -:1013C000882339F09091C00095FFFCCF8093C60030 -:1013D000F6CFE5E6F1E58491882341F09091C000D5 -:1013E00095FFFCCF8093C6003196F5CF8091C00069 -:1013F00085FFFCCF8AE08093C6000E94BC6580C256 -:10140000C0903413D0903513E0903613F09037131A -:101410002091691330916A1340916B1350916C13B2 -:10142000C701B6010E9462F62DEC3CEC4CEC5DE38A -:101430000E943FF9181614F00C949772C092691329 -:10144000D0926A13E0926B13F0926C1389E693E1E9 -:101450000E943BEC60E080E00E942E6851C288E56B -:101460000E9495658111B5C08091110C8111B6C0A3 -:1014700089E50E9495658111B1C088E50E94956556 -:101480008823D1F00E948A65672B682B692BA1F015 -:101490000E94816520915113309152134091531352 -:1014A000509154130E9463F660935D1370935E1322 -:1014B00080935F139093601389E50E94956588235C -:1014C000D1F00E948A65672B682B692BA1F00E94DE -:1014D00081652091551330915613409157135091C7 -:1014E00058130E9463F660936113709362138093A4 -:1014F0006313909364138091110C811174C08AE579 -:101500000E94956581116FC08AE50E9495658823C8 -:10151000D1F00E948A65672B682B692BA1F00E948D -:1015200081652091591330915A1340915B1350916A -:101530005C130E9463F66093651370936613809347 -:1015400067139093681329E633E145E653E161E6BA -:1015500073E18DE593E10E9496EB80E00E94A1D2B9 -:101560008091141390911513A0911613B091171335 -:1015700080930D0C90930E0CA0930F0CB093100C55 -:10158000809182139091831390934A0C8093490C1D -:101590000E9489F060937311709374118093751198 -:1015A000909376110E949AD280919013882309F427 -:1015B00024CF6CE873E188EF9FE00E94D89C809173 -:1015C0008C1390918D13892B09F417CF0E9432C18F -:1015D00014CF80E090E00E94EC6046CF81E090E084 -:1015E0000E94EC604ACF82E090E00E94EC608CCFD9 -:1015F0000E94174680E00E94DB700E9425A40C9494 -:1016000036760E948A65AB01BC0140932B1650933D -:101610002C1660932D1670932E1686E795E10E9486 -:10162000EC33EBCE0E9481650E94ABF78B010C94EA -:101630007378E0917B13F0E0EE0FFF1FE45EFD4F47 -:101640000190F081E02DEE59FE4F808191810E9442 -:1016500089A182E090E090937613809375130E94A5 -:1016600089F060936B1170936C1180936D1190935E -:101670006E110E9489F060937311709374118093BE -:10168000751190937611B9CE0E9489F06819790985 -:101690008A099B09693E73408105910508F479C068 -:1016A000E5EBF1E58491882341F09091C00095FF2E -:1016B000FCCF8093C6003196F5CFE091621124E013 -:1016C000E29FF0011124E85FFE4E4081518162816A -:1016D000738121E030E08BEF96E10E94A3D1E1EB32 -:1016E000F1E58491882341F09091C00095FFFCCFF3 -:1016F0008093C6003196F5CF6091621170E04AE0A8 -:1017000050E08BEF96E10E94CDD0EDEAF1E58491B7 -:10171000882341F09091C00095FFFCCF8093C600D4 -:101720003196F5CFF7FE03C0E2EBFDE025C00E9445 -:1017300089F08B019C01C701B6016854744F8F4F2B -:101740009F4F601B710B820B930BA30192010E94B0 -:101750001AFBBA01A9012AE030E08BEF96E10E9462 -:10176000F9D08091C00085FFFCCF0DC09091C000E2 -:1017700095FFFCCF8093C60081918111F7CF8091B6 -:10178000C00085FFFCCF3092C6000E9489F04B015B -:101790005C010E94174680E00E94DB700E9425A435 -:1017A000FFEFCF16DF06EF06FF0609F046C0809177 -:1017B0006011E0916211F0E08F01000F111F000F26 -:1017C000111F085F1E4EEE0FFF1FE05FFE4E60818F -:1017D00071818823C9F0882777FD8095982F0E9412 -:1017E000DEF720E030E040E85FE30E9462F69B0114 -:1017F000AC01F80160817181828193810E943FF97F -:1018000087FF50C00C945B7A882777FD8095982FCE -:101810000E94DEF720E030E040E85FE30E9463F6DC -:101820009B01AC01F80160817181828193810E94EA -:101830003CF71816BCF50C945B7AF7FE02C00C94CA -:101840005B7AE0916211F0E08F01000F111F000F31 -:10185000111F085F1E4EEE0FFF1FE05FFE4E6081FE -:101860007181882777FD8095982F0E94DEF79B0174 -:10187000AC01F80160817181828193810E9462F6DE -:101880000E94ABF797FF07C0909580957095619582 -:101890007F4F8F4F9F4F663071058105910514F47E -:1018A0000C945B7A0E9489F06B017C010C945B7A4A -:1018B0000E9421DA88E50E949565882319F0179A1D -:1018C00010924E1389E50E949565882319F0169AA7 -:1018D00010924F138AE50E949565882319F0159A96 -:1018E0001092501385E40E949565882309F485CDF4 -:1018F000149A83CD0E9421DA149A0E948BDA7DCD4E -:10190000E9960FB6F894DEBF0FBECDBFDF91CF9141 -:101910001F910F91FF90EF90DF90CF90BF90AF900D -:101920009F908F907F906F905F904F903F90089521 -:101930000F931F9380917E1390917F13892BA1F0B9 -:101940000E9489F00091631110916411209165113A -:1019500030916611601B710B820B930B693E7340D3 -:101960008105910508F0A5C080917E1390917F13A9 -:10197000892B11F41092811380917D1190917E1129 -:10198000039714F40E949B6C60E08EE893E10E9440 -:10199000DC5780917D1190917E11892B09F47EC0D6 -:1019A00080918E138823E1F08091811190918211B2 -:1019B00020E6289F8001299F100D112409571E4EF3 -:1019C00061E072E5C8010F947E00892B59F5B801DA -:1019D0008EE893E10E945E5780918F13882319F05F -:1019E0000E94947145C0E0917B13F0E0EE0FFF1F61 -:1019F000E45EFD4F0190F081E02DE05CFE4F019030 -:101A0000F081E02D8491882341F09091C00095FFF2 -:101A1000FCCF8093C6003196F5CF8091C00085FF42 -:101A2000FCCF23C060E08EE893E10E94D258E091A1 -:101A30007B13F0E0EE0FFF1FE45EFD4F0190F0819D -:101A4000E02DEE5BFE4F0190F081E02D8491882324 -:101A500041F09091C00095FFFCCF8093C600319675 -:101A6000F5CF8091C00085FFFCCF8AE08093C6004F -:101A700080917D1190917E11019790937E118093BA -:101A80007D118091811190918211019664E070E046 -:101A90000E9407FB90938211809381110E94174648 -:101AA00080E00E94DB700E94C2D11F910F910C94C4 -:101AB00025A481E08093811380917E1390917F1300 -:101AC000019790937F1380937E130E9489F0609317 -:101AD000631170936411809365119093661144CFE4 -:101AE0008F929F92AF92BF92CF92DF92EF92FF922E -:101AF0000F931F93CF93DF938C018C519E4F0E94C5 -:101B00002351680189E8C80ED11C21F1780181E4D4 -:101B1000E81A8EEFF80AE70157018FE1A81AB10819 -:101B200046E9842E4EE0942ECC15DD0599F0FE0199 -:101B3000EE19FF09EA0DFB1D91828082FE01789764 -:101B40008081811102C06F97EFCFCE014B970E9429 -:101B5000CF34F9CFC80186599F4F0E942351C80145 -:101B6000875B9F4FDF91CF911F910F91FF90EF9077 -:101B7000DF90CF90BF90AF909F908F900C942351A7 -:101B80008EE893E10C942F518EE893E1A9CFFB01ED -:101B900060915C0C70915D0C70935E1660935D16A5 -:101BA000609167167091681670935C1660935B166F -:101BB00062E060935B0C61E27EEA70935D0C60937F -:101BC0005C0C90935A1680935916F0935816E09334 -:101BD0005716662757FD6095762F409353165093FE -:101BE00054166093551670935616C901AA2797FD8F -:101BF000A095BA2F841B950BA60BB70B80934F169D -:101C000090935016A0935116B093521680819181F3 -:101C1000AA2797FDA095BA2F841B950BA60BB70B8F -:101C20008093671690936816A0936916B0936A160E -:101C30000895CF93DF93CDB7DEB7C054D1090FB667 -:101C4000F894DEBF0FBECDBF88E0E3E9FCE0DE0123 -:101C5000D99601900D928A95E1F788E0EBE9FCE0D6 -:101C6000DE01D19601900D928A95E1F788E0E3EAD2 -:101C7000FCE0DE01999601900D928A95E1F788E0EB -:101C8000EBEAFCE0DE01919601900D928A95E1F776 -:101C900088E0E3EBFCE0DE01599601900D928A9515 -:101CA000E1F788E0EBEBFCE0DE01519601900D924C -:101CB0008A95E1F788E0E3ECFCE0DE0119960190FB -:101CC0000D928A95E1F788E0EBECFCE0DE011196DD -:101CD00001900D928A95E1F7AE01475C5F4F60E09D -:101CE00082E796E10E94F84CAE014F5C5F4F61E0E5 -:101CF00082E796E10E94F84CAE01475D5F4F62E0DB -:101D000082E796E10E94F84CAE014F5D5F4F63E0C1 -:101D100082E796E10E94F84CAE01475E5F4F64E0B7 -:101D200082E796E10E94F84CAE014F5E5F4F65E09E -:101D300082E796E10E94F84CAE01475F5F4F66E094 -:101D400082E796E10E94F84CAE014F5F5F4F67E07B -:101D500082E796E10E94F84CC05CDF4F0FB6F89422 -:101D6000DEBF0FBECDBFDF91CF9108950F931F93BC -:101D7000CF93DF93EB01142F022F482F60E082E70F -:101D800096E10E945A4B612F82E796E10E94F3F59B -:101D900011E1FE016491662311F0111117C01123A6 -:101DA00039F060E282E796E10E94F3F51150F7CF37 -:101DB000602F82E796E10E94F3F560E282E796E108 -:101DC000DF91CF911F910F910C94F3F582E796E18B -:101DD0000E94F3F521961150DCCFCF92DF92EF9263 -:101DE000FF920F931F93CF93DF93D82EC62E7A01C5 -:101DF000E901482F82E796E10E945A4B81E0E816FC -:101E0000F10469F182E0E816F10409F04FC0BE0167 -:101E100082E796E10E94F2F5FE0101900020E9F7C9 -:101E20003197EC1BFD0B6C2D6E0F4D2D82E796E16B -:101E30000E945A4B6BEC7DE082E796E10E94F2F53E -:101E4000FE0101900020E9F76C2D6C1B6E0F4D2DEB -:101E500082E796E10E945A4B6BE07EE028C0BE010B -:101E600082E796E10E94F2F5FE0101900020E9F779 -:101E70003197EC1BFD0B6C2D6E0F4D2D82E796E11B -:101E80000E945A4B6BEC7DE082E796E10E94F2F5EE -:101E9000FE0101900020E9F76C2D6C1B6E0F4D2D9B -:101EA00082E796E10E945A4BB80101C0BE0182E769 -:101EB00096E1DF91CF911F910F91FF90EF90DF900E -:101EC000CF900C94F2F5EF92FF920F931F93CF9364 -:101ED000DF93EB01E42E8901F90101900020E9F77D -:101EE000F22EFE1A92E1F90E482F60E082E796E1A9 -:101EF0000E945A4B6E2D82E796E10E94F3F5FE0197 -:101F00006491662311F0F11019C06AE382E796E14B -:101F10000E94F3F5FF2039F060E282E796E10E942B -:101F2000F3F5FA94F7CFB80182E796E1DF91CF910C -:101F30001F910F91FF90EF900C94F2F582E796E1DC -:101F40000E94F3F52196FA94DACF82E796E10C9499 -:101F50004E4BCF9380910101846080930101CAE0D0 -:101F60009FB7F894809102018460809302019FBF23 -:101F700084E690E00E94DCF09FB7F8948091020123 -:101F80008B7F809302019FBF84E690E00E94DCF08B -:101F9000C15031F7CF91089582E080935B0C0E948D -:101FA00089F06C507E4F8F4F9F4F60936C167093EB -:101FB0006D1680936E1690936F16CBCFE0915C0CEC -:101FC000F0915D0CE817F90771F090935D0C809328 -:101FD0005C0C409367165093681660936916709373 -:101FE0006A162111D9CF089521E040E050E0BA01EE -:101FF000E5CF21E040E050E0BA01E0CFCF92DF92A0 -:10200000EF92FF920F931F93CF93DF938091671608 -:1020100090916816A0916916B0916A168130904827 -:10202000A105B10540F01092671610926816109243 -:10203000691610926A168091671690916816A091A1 -:102040006916B0916A16B695A795979587954091B0 -:10205000701650E060E070E084179507A607B70798 -:1020600010F480937016D09170161091711612FBB7 -:10207000112710F9C0E0B7E1CB2ED12CE12CF12CC7 -:1020800001E0409167165091681660916916709151 -:102090006A16D11138C080915B0C8823C1F0E091A1 -:1020A0007B13F0E0EE0FFF1FE45EFD4F0190F08127 -:1020B000E02D8681978123E042305105610571054D -:1020C00010F443E001C040E2BC018C2F4FDE11232D -:1020D00009F420C28091671690916816A091691644 -:1020E000B0916A160297A105B10508F013C254DF3A -:1020F0008BE19CEBDF91CF911F910F91FF90EF90BF -:10210000DF90CF9071CFD13051F580915B0C882357 -:1021100089F0769567955795479523E041305105AD -:102120006105710511F443E001C040E265EF73E51C -:102130008C2F1CDE112309F4EDC18091671690915C -:102140006816A0916916B0916A16B695A7959795ED -:1021500087950197A105B10509F0DCC1C8CFD23040 -:10216000B9F580915B0C8823F1F0E0917B13F0E0EE -:10217000EE0FFF1FE45EFD4F0190F081E02DE25471 -:10218000FE4F80819181769567955795479523E01D -:10219000423051056105710511F443E001C040E290 -:1021A000BC018C2FE3DD112309F4B4C180916716C3 -:1021B00090916816A0916916B0916A16B695A79588 -:1021C000979587950297A105B10509F0A3C18FCF17 -:1021D000D330B9F580915B0C8823F1F0E0917B134B -:1021E000F0E0EE0FFF1FE45EFD4F0190F081E02D67 -:1021F000E054FE4F8081918176956795579547957C -:1022000023E0433051056105710511F443E001C03D -:1022100040E2BC018C2FAADD112309F47BC180911F -:10222000671690916816A0916916B0916A16B695D6 -:10223000A795979587950397A105B10509F06AC100 -:1022400056CFD430B9F580915B0C8823F1F0E09142 -:102250007B13F0E0EE0FFF1FE45EFD4F0190F08175 -:10226000E02DEE53FE4F80819181769567955795CD -:10227000479523E0443051056105710511F443E0B1 -:1022800001C040E2BC018C2F71DD112309F442C171 -:102290008091671690916816A0916916B0916A16A0 -:1022A000B695A795979587950497A105B10509F06F -:1022B00031C11DCFD53051F580915B0C882389F059 -:1022C000769567955795479523E04530510561050B -:1022D000710511F443E001C040E268EE73E58C2F14 -:1022E00045DD112309F416C1809167169091681697 -:1022F000A0916916B0916A16B695A795979587959E -:102300000597A105B10509F005C1F1CED63051F50B -:1023100080915B0C882389F0769567955795479552 -:1023200023E0463051056105710511F443E001C019 -:1023300040E261EE73E58C2F19DD112309F4EAC048 -:102340008091671690916816A0916916B0916A16EF -:10235000B695A795979587950697A105B10509F0BC -:10236000D9C0C5CED73051F580915B0C882389F058 -:10237000769567955795479523E047305105610558 -:10238000710511F443E001C040E268ED73E58C2F64 -:10239000EDDC112309F4BEC0809167169091681698 -:1023A000A0916916B0916A16B695A79597958795ED -:1023B0000797A105B10509F0ADC099CED83051F508 -:1023C00080915B0C882389F07695679557954795A2 -:1023D00023E0483051056105710511F443E001C067 -:1023E00040E26EEC73E58C2FC1DC112309F492C03E -:1023F0008091671690916816A0916916B0916A163F -:10240000B695A795979587950897A105B10509F009 -:1024100081C06DCED93051F580915B0C882389F055 -:10242000769567955795479523E0493051056105A5 -:10243000710511F443E001C040E261EC73E58C2FBB -:1024400095DC112309F466C0809167169091681697 -:10245000A0916916B0916A16B695A795979587953C -:102460000997A105B10509F055C041CEDA3041F513 -:1024700080915B0C882389F07695679557954795F1 -:1024800023E04A3051056105710511F443E001C0B4 -:1024900040E26AEB73E58C2F69DC1123D9F180915E -:1024A000671690916816A0916916B0916A16B69554 -:1024B000A795979587950A97A105B10559F517CE68 -:1024C000DB3041F580915B0C882389F07695679528 -:1024D0005795479523E04B3051056105710511F47F -:1024E00043E001C040E26EEA73E58C2F3FDC11232C -:1024F00089F08091671690916816A0916916B09145 -:102500006A16B695A795979587950B97A105B1057E -:1025100009F4EDCD8091671690916816A091691627 -:10252000B0916A164897A105B10540F0C0926716B0 -:10253000D0926816E0926916F0926A16409167167A -:10254000509168166091691670916A167695679534 -:10255000579547958091701690E00396242F30E0B0 -:10256000821793074CF48DEF840F809370160093BD -:102570005B0CDCEFD40FCFEFCF5FDF5FC43008F42C -:1025800080CDDF91CF911F910F91FF90EF90DF9061 -:10259000CF900895FF920F931F93CF93DF93809175 -:1025A000671690916816A0916916B0916A168130ED -:1025B0009048A105B10540F0109267161092681678 -:1025C0001092691610926A1680916716909168169B -:1025D000A0916916B0916A16B695A79597958795BB -:1025E0004091701650E060E070E084179507A607F0 -:1025F000B70710F480937016D09170161091711671 -:1026000012FB112710F9C0E0FF24F39480916716A4 -:1026100090916816A0916916B0916A16D11135C0D3 -:1026200020915B0C2223C1F0E0917B13F0E0EE0FD0 -:10263000FF1FE45EFD4F0190F081E02DE450FF4F5D -:102640006081718123E00297A105B10510F443E098 -:1026500001C040E28C2F8ADB112309F483C08091F2 -:10266000671690916816A0916916B0916A16029744 -:10267000A105B10508F076C08FDC83E69DE9DF9106 -:10268000CF911F910F91FF90AFCCD130A9F5209140 -:102690005B0C2223D1F0E0917B13F0E0EE0FFF1FE3 -:1026A000E45EFD4F0190F081E02D62AD73ADB69513 -:1026B000A795979587952EE70197A105B10511F488 -:1026C0004EE301C040E28C2F51DB112309F44AC0D4 -:1026D0008091671690916816A0916916B0916A165C -:1026E000B695A795979587950197A105B105D1F561 -:1026F00053DC8DE69FEAD0C0D230A1F520915B0C6F -:102700002223D1F0E0917B13F0E0EE0FFF1FE45E97 -:10271000FD4F0190F081E02D64AD75ADB695A795A4 -:10272000979587952EE70297A105B10511F44EE321 -:1027300001C040E28C2F1ADB1123A1F080916716B3 -:1027400090916816A0916916B0916A16B695A795F2 -:10275000979587950297A105B10521F41DDC84E7C3 -:102760009FEA9AC020E030E040E251E460914216D6 -:102770007091431680914416909145160E943CF743 -:1027800087FF94C02091E01680916716909168169B -:10279000A0916916B0916A16211138C0D330C1F5E5 -:1027A00020915B0C2223D1F0E0917B13F0E0EE0F3F -:1027B000FF1FE45EFD4F0190F081E02D66AD77AD27 -:1027C000B695A795979587952EE70397A105B1052F -:1027D00011F44EE301C040E28C2FC8DA112309F452 -:1027E00061C08091671690916816A0916916B091AA -:1027F0006A16B695A795979587950397A105B10594 -:1028000009F050C0C9DB8BE79FEA46C003E001C076 -:1028100004E00D1348C020915B0C222319F1E091D4 -:102820007B13F0E0EE0FFF1FE45EFD4F0190F0819F -:10283000E02DE05CFF4F0190F081E02DB695A7956B -:1028400097958795402F50E060E070E02EE7841761 -:102850009507A607B70711F44EE301C040E2BF0198 -:102860008C2F84DA1123F9F0409167165091681685 -:102870006091691670916A16769567955795479598 -:10288000802F90E0A0E0B0E0481759076A077B0767 -:1028900051F482DB87EA9DEADF91CF911F910F917E -:1028A000FF90A7CB04E031E0300F01C033E040914E -:1028B0006716509168166091691670916A16769540 -:1028C000679557954795832F90E0A0E0B0E04817B3 -:1028D00059076A077B0788F0832F90E0880F991FBC -:1028E0000197AA2797FDA095BA2F8093671690931A -:1028F0006816A0936916B0936A16409167165091B6 -:1029000068166091691670916A1676956795579565 -:1029100047958091701690E00396242F30E082173F -:1029200093074CF48DEF840F80937016F0925B0C3C -:10293000DCEFD40FCFEFCF5FDF5FC43008F466CE9B -:10294000DF91CF911F910F91FF90089580E090E06B -:10295000A0E8BFE38093421690934316A0934416D9 -:10296000B093451617CE80937B1391E090935E0C45 -:10297000682F8EEF9FE00F943C03809146168130C4 -:1029800019F482E08093461608957F928F929F9269 -:10299000AF92BF92CF92DF92EF92FF920F931F936D -:1029A000CF93DF938091671690916816A091691676 -:1029B000B0916A1681309048A105B10540F010929F -:1029C0006716109268161092691610926A16809116 -:1029D000671690916816A0916916B0916A16B6951F -:1029E000A795979587954091701650E060E070E04C -:1029F00084179507A607B70710F480937016E09028 -:102A00007016D0907116D2FADD24D0F8F12CCC24B7 -:102A1000C3948091461681113BC0EE2019F07724B3 -:102A2000739437C080915B0C882301F1E0917B1394 -:102A3000F0E0EE0FFF1FE45EFD4F0190F081E02D0E -:102A4000E450FF4F60817181809167169091681604 -:102A5000A0916916B0916A1623E00297A105B1050D -:102A600010F443E001C040E28F2D80D9DD20B9F29F -:102A70008091671690916816A0916916B0916A16B8 -:102A80000297A105B10558F687DA83E69DE951C0A2 -:102A9000712C80914616823009F05AC07E1057C0C2 -:102AA00080915B0C882359F1E0917B13F0E0EE0FED -:102AB000FF1FE45EFD4F0190F081E02DE055FF4FD8 -:102AC0000190F081E02D8091671690916816A09199 -:102AD0006916B0916A16B695A79597958795472D73 -:102AE00050E060E070E023E084179507A607B70781 -:102AF00011F443E001C040E2BF018F2D37D9DD2042 -:102B000031F18091671690916816A0916916B09185 -:102B10006A16B695A79597958795472D50E060E082 -:102B200070E084179507A607B70789F435DA87E8B8 -:102B300093ECDF91CF911F910F91FF90EF90DF9079 -:102B4000CF90BF90AF909F908F907F904DCA73941D -:102B50000CE112E0C0E0D0E08E2C912CA12CB12C25 -:102B60007E104AC080915B0C882319F1D801ED9149 -:102B7000FC91E654FE4F60817181809167169091BF -:102B80006816A0916916B0916A16B695A7959795A3 -:102B90008795272D30E040E050E082179307A40787 -:102BA000B50719F420E24EE302C020E240E28F2D87 -:102BB000DDD8DD2009F18091671690916816A0910B -:102BC0006916B0916A16B695A79597958795881559 -:102BD0009905AA05BB0581F4DFD98C2FDF91CF9130 -:102BE0001F910F91FF90EF90DF90CF90BF90AF902B -:102BF0009F908F907F90B7CE739421960E5F1F4F5A -:102C0000C530D10509F0ACCF4091671650916816D8 -:102C10006091691670916A167695679557954795F4 -:102C2000872D90E0A0E0B0E0481759076A077B07BE -:102C300088F0872D90E0880F991F0197AA2797FDAC -:102C4000A095BA2F8093671690936816A093691683 -:102C5000B0936A1640916716509168166091691694 -:102C600070916A167695679557954795809170167D -:102C700090E00396242F30E0821793075CF48DEFE9 -:102C8000840F80937016C0925B0CECEFEE2EE40E76 -:102C9000FF24FA94F394E394B3E0BF1508F0B9CE9F -:102CA000DF91CF911F910F91FF90EF90DF90CF9028 -:102CB000BF90AF909F908F907F9008951092E616EE -:102CC0008EE893E10E94E55D1092701608958EE8FB -:102CD00093E10E94C4541092E01683E080935B0C51 -:102CE00008958EE893E10E94CB5481E08093E01632 -:102CF00083E080935B0C089520E044E064E182E788 -:102D000096E10E948D4B0E94198E82E796E10C9409 -:102D10004E4BF2DF20E040E050E0BA0187E893EC50 -:102D20004DC9109211111092101110920F111092A2 -:102D30000E111092481310924713EBCF8091DE16BC -:102D40009091DF1690931111809310118091DC16F1 -:102D50009091DD1690930F1180930E1110924813ED -:102D600010924713D6DF0C9457408091D81690915B -:102D7000D91690931111809310118091D6169091CD -:102D8000D71690930F1180930E1110924813109242 -:102D90004713BFDF0C94574080916D0C90916E0CDF -:102DA000909311118093101180916B0C90916C0C89 -:102DB00090930F1180930E111092481310924713A5 -:102DC000A8DF0C9457408091690C90916A0C909305 -:102DD0001111809310118091670C9091680C909361 -:102DE0000F1180930E11109248131092471391DF28 -:102DF0000C9457408091650C9091660C9093111142 -:102E0000809310118091630C9091640C90930F113A -:102E100080930E1110924813109247137ADF0C948E -:102E200057408091610C9091620C909311118093A6 -:102E3000101180915F0C9091600C90930F11809312 -:102E40000E11109248131092471363DF0C945740F1 -:102E5000CF92DF92EF92FF920F931F93CF93DF9366 -:102E60008091671690916816A0916916B0916A16C4 -:102E700081309048A105B10540F01092671610927C -:102E800068161092691610926A16809167169091D2 -:102E90006816A0916916B0916A16B695A795979590 -:102EA00087954091701650E060E070E084179507B8 -:102EB000A607B70710F480937016D0917016109182 -:102EC000711612FB112710F9C0E0BFE0CB2ED12CF8 -:102ED000E12CF12C01E04091671650916816609149 -:102EE000691670916A16D11139C080915B0C8823E4 -:102EF000C9F0E0917B13F0E0EE0FFF1FE45EFD4FA1 -:102F00000190F081E02D8681978123E042305105C8 -:102F10006105710510F443E001C040E2BC018C2F53 -:102F20000E94B68E112309F4A4C180916716909176 -:102F30006816A0916916B0916A160297A105B105AD -:102F400008F097C129D88BE19CEBDF91CF911F91BD -:102F50000F91FF90EF90DF90CF9046C8D130A9F548 -:102F600080915B0C882391F07695679557954795EE -:102F700020E2413051056105710511F44EE301C0B5 -:102F800040E266E773E58C2F0E94B68E112309F4A8 -:102F900070C18091671690916816A0916916B091E2 -:102FA0006A16B695A795979587950197A105B105DE -:102FB00009F05FC10E94CC8FDF91CF911F910F91DB -:102FC000FF90EF90DF90CF90D0CED230A9F58091D6 -:102FD0005B0C882391F0769567955795479520E28D -:102FE000423051056105710511F44EE301C040E224 -:102FF00067E673E58C2F0E94B68E112309F439C160 -:103000008091671690916816A0916916B0916A1622 -:10301000B695A795979587950297A105B10509F0F3 -:1030200028C10E94CC8FDF91CF911F910F91FF900B -:10303000EF90DF90CF9082CED330A9F580915B0CDA -:10304000882391F0769567955795479520E2433010 -:1030500051056105710511F44EE301C040E268E5D8 -:1030600073E58C2F0E94B68E112309F402C1809162 -:10307000671690916816A0916916B0916A16B69578 -:10308000A795979587950397A105B10509F0F1C01C -:103090000E94CC8FDF91CF911F910F91FF90EF9005 -:1030A000DF90CF9090CED430A9F580915B0C88232F -:1030B00091F0769567955795479520E244305105F4 -:1030C0006105710511F44EE301C040E268E473E567 -:1030D0008C2F0E94B68E112309F4CBC08091671605 -:1030E00090916816A0916916B0916A16B695A79549 -:1030F000979587950497A105B10509F0BAC00E947C -:10310000CC8FDF91CF911F910F91FF90EF90DF90C7 -:10311000CF9070CED530A9F580915B0C882391F0CB -:10312000769567955795479520E24530510561059D -:10313000710511F44EE301C040E268E373E58C2FA2 -:103140000E94B68E112309F494C080916716909165 -:103150006816A0916916B0916A16B695A7959795CD -:1031600087950597A105B10509F083C00E94CC8F12 -:10317000DF91CF911F910F91FF90EF90DF90CF9053 -:103180000BCED630A9F580915B0C882391F0769513 -:1031900067955795479520E24630510561057105C1 -:1031A00011F44EE301C040E269E273E58C2F0E9406 -:1031B000B68E112309F45DC0809167169091681650 -:1031C000A0916916B0916A16B695A79597958795BF -:1031D0000697A105B10509F04CC00E94CC8FDF9184 -:1031E000CF911F910F91FF90EF90DF90CF9019CE6C -:1031F000D73009F03EC080915B0C8823E9F0E09164 -:103200007B13F0E0EE0FFF1FE45EFD4F0190F081B5 -:10321000E02D86A597A5769567955795479520E269 -:10322000473051056105710511F44EE301C040E2DC -:10323000BC018C2F0E94B68E1123D9F080916716A5 -:1032400090916816A0916916B0916A16B695A795E7 -:10325000979587950797A105B10559F40E94CC8FE2 -:10326000DF91CF911F910F91FF90EF90DF90CF9062 -:1032700058CD8091671690916816A0916916B0910B -:103280006A164097A105B10540F0C0926716D0922A -:103290006816E0926916F0926A164091671650918E -:1032A00068166091691670916A16769567955795BC -:1032B00047958091701690E00396242F30E0821796 -:1032C00093074CF48DEF840F8093701600935B0C82 -:1032D000DCEFD40FCFEFCF5FDF5FC43008F4FBCD5E -:1032E000DF91CF911F910F91FF90EF90DF90CF90E2 -:1032F00008952F923F924F925F926F927F928F929A -:103300009F92AF92BF92CF92DF92EF92FF920F9374 -:103310001F93CF93DF93CDB7DEB7A2970FB6F89484 -:10332000DEBF0FBECDBF80915B0C811104C08091C8 -:10333000711682FFBAC28EE893E10E94CC5C409184 -:103340006716509168166091691670916A1641303F -:1033500050486105710540F010926716109268168A -:103360001092691610926A1640916716509168166D -:103370006091691670916A1676956795579547958D -:103380000091701610E020E030E04017510762070E -:10339000730710F4409370164090701630907116B9 -:1033A00032FA332430F8512C9C012150310939A3D1 -:1033B00028A3411038C080915B0C8823F9F0E0917C -:1033C0007B13F0E0EE0FFF1FE45EFD4F0190F081F4 -:1033D000E02D668177818091671690916816A091A3 -:1033E0006916B0916A1623E00297A105B10510F4A1 -:1033F00043E001C040E2852D0E94B68E332099F053 -:103400008091671690916816A0916916B0916A161E -:103410000297A105B10538F40E94CC8F8BE19CEB9B -:103420000E94F48F42C262E973E18CEF93E10E9443 -:103430008331809192138F3229F031E0431669F085 -:1034400022E001C021E0A8A0B9A0C42CD12CE12C1D -:10345000F12C22242394240C4BC080915B0C8823F4 -:10346000C9F08091671690916816A0916916B09185 -:103470006A16B695A7959795879520E20197A105BD -:10348000B10511F44EE301C040E26EE07EE0852D0F -:103490000E94B68E3320A1F2809167169091681633 -:1034A000A0916916B0916A16B695A79597958795DC -:1034B0000197A105B10521F60E94CC8FFFDBF5C174 -:1034C000241161C140E050E0B5018EE893E10E9413 -:1034D000E7589091D41380915B0C992309F49BC019 -:1034E00081110BC0311074C0222DF1E0AF1AB10868 -:1034F0003FEFA316B30621F748C18091671690915C -:103500006816A0916916B0916A16B695A795979519 -:103510008795452D60E08C159D05AE05BF0561F5CD -:1035200082E796E10E945A4B6EE382E796E10E94A1 -:10353000F3F565E082E796E10E94F3F580919F1331 -:10354000882329F01092B1130FE913E102C002E9B8 -:1035500013E1B2E19B2EF80161918F01662311F016 -:10356000911062C1992009F4BDCF60E282E796E133 -:103570000E94F3F59A94F6CF82E796E10E945A4BA7 -:1035800060E282E796E10E94F3F565E082E796E16A -:103590000E94F3F580919F13882329F01092B113B4 -:1035A0000FE913E102C002E913E1A2E19A2EF8014A -:1035B00061918F01662311F091103CC1992009F4AB -:1035C00091CF60E282E796E10E94F3F59A94F6CFFC -:1035D0008091671690916816A0916916B0916A164D -:1035E000B695A795979587958C159D05AE05BF0552 -:1035F00009F07ACF0E94CC8F62E973E18EE893E103 -:103600000E942F5D1092671610926816109269162C -:1036100010926A164AC1811103C0311071C064CF83 -:103620008091671690916816A0916916B0916A16FC -:10363000B695A795979587958C159D05AE05BF0501 -:10364000B1F52091FA162F8F10E0412F60E082E74C -:1036500096E10E945A4B60E282E796E10E94F3F500 -:103660001F5F143091F7452D60E082E796E10E94DC -:103670005A4B6EE382E796E10E94F3F560EA862EEC -:1036800063E1962E7FE9672E73E1772E01E010E06B -:10369000F30121913F012111D3C014E1101B60E21D -:1036A00082E796E10E94F3F51150C9F7B6CF452D98 -:1036B00060E082E796E10E945A4B60E282E796E181 -:1036C0000E94F3F580919F13882329F01092B21382 -:1036D0000FE913E102C002E913E153E1952EF8016D -:1036E00061918F01662311F09110D9C0992009F4DE -:1036F00094CF60E282E796E10E94F3F59A94F6CFC8 -:103700008091671690916816A0916916B0916A161B -:10371000B695A795979587958C159D05AE05BF0520 -:1037200009F0E2CE0E94CC8F82E993E19F938F93C0 -:103730008AE893E59F938F938E010F5F1F4F1F932E -:103740000F930F940B010F900F900F900F900F900D -:103750000F907E01F5E0EF0EF11CF70180818823C8 -:1037600049F0992787FD90950F943F00F7018193C9 -:103770007F01F3CFC8010E947E6286E893E50E9434 -:10378000FE62C7DA92C02F5FB0CE8091671690912B -:103790006816A0916916B0916A16B695A795979587 -:1037A0008795422F50E060E070E084179507A607E8 -:1037B000B70788F0822F90E0880F991F0197AA27FA -:1037C00097FDA095BA2F8093671690936816A093E3 -:1037D0006916B0936A168091671690916816A09149 -:1037E0006916B0916A16B695A79597958795209119 -:1037F000701630E02D5F3F4F482F50E024173507FB -:1038000064F42DEF280F2093701621E020935B0CB9 -:103810001CEF412E480E55245A945394439483E050 -:10382000851508F0C6CD41C082E796E10E94F3F508 -:103830009A9491CE82E796E10E94F3F59A94B7CEDE -:10384000452D602F82E796E12AA30E945A4B2AA1B8 -:10385000622F82E796E10E94F3F50F5F1F4F04315C -:10386000110509F015CF34010CE211E080917116B9 -:1038700082FD05C08091FA163F8D381749F001503E -:1038800011090115110591F78FEF881A980AFECEDC -:1038900061E070E080E090E00E94B8F0F0CF82E755 -:1038A00096E10E94F3F59A941ACFA2960FB6F89477 -:1038B000DEBF0FBECDBFDF91CF911F910F91FF9063 -:1038C000EF90DF90CF90BF90AF909F908F907F90C0 -:1038D0006F905F904F903F902F900895CF93DF931C -:1038E000CDB7DEB728970FB6F894DEBF0FBECDBFB9 -:1038F00088E0E3EDFCE0DE01119601900D928A95DF -:10390000E1F7AE014F5F5F4F61E082E796E10E9411 -:10391000F84C28960FB6F894DEBF0FBECDBFDF91EE -:10392000CF910895CF93DF93CDB7DEB728970FB629 -:10393000F894DEBF0FBECDBF88E0EBE9FCE0DE010E -:10394000119601900D928A95E1F7AE014F5F5F4F9E -:1039500061E082E796E10E94F84C28960FB6F89451 -:10396000DEBF0FBECDBFDF91CF9108958EEF9FE0F8 -:103970000F942703853028F480937B13109246160A -:10398000089581E080937B138093461608951F93DA -:10399000CF93DF93EC01FB01608111810F943C0315 -:1039A000612FCE010196DF91CF911F910D943C03C1 -:1039B000FF920F931F93CF93DF938C01EB010F9432 -:1039C0002703F82EC80101960F942703F8828983F4 -:1039D000DF91CF911F910F91FF9008950895EF927D -:1039E000FF920F931F93CF93DF931F92CDB7DEB754 -:1039F0007B018C01061B170B460FC701800F911F1F -:103A0000F70161917F0149830F943C0349814E1175 -:103A1000F4CF0F90DF91CF911F910F91FF90EF9016 -:103A2000089581E09091E516911180E08093E5166C -:103A300041E065EE76E18FEF9FE0D1DF0E947BDB16 -:103A400021E047E050E060E070E083E69DE90C94FF -:103A5000DE8F81E09091E516911180E08093E5166C -:103A600041E065EE76E18FEF9FE0B9DF0E947BDBFE -:103A700021E049E050E060E070E08DE899EA0C94C4 -:103A8000DE8FEF92FF920F931F93CF93DF931F92DE -:103A9000CDB7DEB77B018C01061B170B460FC701A4 -:103AA000800F911F49830F942703F70181937F01B2 -:103AB00049814E13F4CF0F90DF91CF911F910F9159 -:103AC000FF90EF9008958F929F92AF92BF92EF92E6 -:103AD000FF920F931F93CF93DF9341E065EE76E162 -:103AE0008FEF9FE0CEDF8091671690916816A091CE -:103AF0006916B0916A1681309048A105B10540F071 -:103B000010926716109268161092691610926A1633 -:103B10008091671690916816A0916916B0916A1607 -:103B2000B695A795979587954091701650E060E0FF -:103B300070E084179507A607B70710F480937016F6 -:103B4000D09170161091711612FB112710F9C0E078 -:103B500001E0D11143C080915B0C8823F9F0E09122 -:103B60007B13F0E0EE0FFF1FE45EFD4F0190F0814C -:103B7000E02D668177818091671690916816A091FB -:103B80006916B0916A1623E00297A105B10510F4F9 -:103B900043E001C040E28C2F0E94B68E112309F44D -:103BA000A2C08091671690916816A0916916B09195 -:103BB0006A160297A105B10508F095C00E94CC8F46 -:103BC0008BE19CEBDF91CF911F910F91FF90EF90D4 -:103BD000BF90AF909F908F900C94F48FD13009F0EC -:103BE00042C080915B0C882329F1E0917B13F0E0C7 -:103BF000EE0FFF1FE45EFD4F0190F081E02DE856CF -:103C0000FF4F608171818091671690916816A09135 -:103C10006916B0916A16B695A795979587952EE780 -:103C20000197A105B10511F44EE301C040E28C2FCC -:103C30000E94B68E112309F456C0809167169091A8 -:103C40006816A0916916B0916A16B695A7959795D2 -:103C500087950197A105B10509F045C00E94CC8F59 -:103C600080E997EAC1C2D230F1F580915B0C8823DC -:103C700019F1E0917B13F0E0EE0FFF1FE45EFD4FC2 -:103C80000190F081E02D60AD71AD8091671690914B -:103C90006816A0916916B0916A16B695A795979582 -:103CA00087952EE70297A105B10511F44EE301C0F7 -:103CB00040E28C2F0E94B68E1123A9F080916716E6 -:103CC00090916816A0916916B0916A16B695A7955D -:103CD000979587950297A105B10529F40E94CC8F8D -:103CE00086EA94E981C28091E016811145C0D33003 -:103CF00019F034E0F32E42C080915B0C882329F147 -:103D0000E0917B13F0E0EE0FFF1FE45EFD4F0190AA -:103D1000F081E02DEA50FF4F60817181809167163C -:103D200090916816A0916916B0916A16B695A795FC -:103D30009795879520E20397A105B10511F44EE30D -:103D400001C040E28C2F0E94B68E112391F2809127 -:103D5000671690916816A0916916B0916A16B6958B -:103D6000A795979587950397A105B10511F60E9430 -:103D7000CC8F88EA93E551C063E0F62E8091E0167F -:103D80008111A6C0FD1255C080915B0C882351F1B2 -:103D9000E0917B13F0E0EE0FFF1FE45EFD4F01901A -:103DA000F081E02D0284F385E02D809167169091DB -:103DB0006816A0916916B0916A16B695A795979561 -:103DC00087954F2D50E060E070E020E28417950762 -:103DD000A607B70711F44EE301C040E2BF018C2FE4 -:103DE0000E94B68E112329F1809167169091681672 -:103DF000A0916916B0916A16B695A7959795879583 -:103E00004F2D50E060E070E084179507A607B707D4 -:103E100081F40E94CC8F84EA93E5DF91CF911F91CA -:103E20000F91FF90EF90BF90AF909F908F900C9468 -:103E3000FE62EE24E394EF0CED1248C080915B0C1F -:103E4000882341F1E0917B13F0E0EE0FFF1FE45E69 -:103E5000FD4F0190F081E02D648575858091671696 -:103E600090916816A0916916B0916A16B695A795BB -:103E7000979587958D2E912CA12CB12C20E2881539 -:103E80009905AA05BB0511F44EE301C040E28C2F51 -:103E90000E94B68E1123D1F080916716909168161A -:103EA000A0916916B0916A16B695A79597958795D2 -:103EB0004E2D50E060E070E084179507A607B70725 -:103EC00029F40E94CC8F80EA93E5A7CFF394F39472 -:103ED0008091E516811113C0FD1267C080915B0CC3 -:103EE0008823E9F1E0917B13F0E0EE0FFF1FE45E21 -:103EF000FD4F0190F081E02DEA5DFE4F12C0FD12F2 -:103F000054C080915B0C882351F1E0917B13F0E069 -:103F1000EE0FFF1FE45EFD4F0190F081E02DEC5DA0 -:103F2000FE4F0190F081E02D809167169091681608 -:103F3000A0916916B0916A16B695A7959795879541 -:103F40004F2D50E060E070E020E284179507A6074F -:103F5000B70749F140E2BF018C2F0E94B68E1123B2 -:103F600021F18091671690916816A0916916B09121 -:103F70006A16B695A795979587954F2D50E060E006 -:103F800070E084179507A607B70779F40E94CC8FD5 -:103F9000DF91CF911F910F91FF90EF90BF90AF9065 -:103FA0009F908F903ECD4EE3D6CFF39464EF76E1B1 -:103FB0008CEF9FE0FDDC66EF76E18AEF9FE0F8DCB6 -:103FC00068EF76E188EF9FE0F3DC6091F81670917E -:103FD000F916882777FD8095982F0E94DEF72091AB -:103FE000091D30910A1D40910B1D50910C1D0E941E -:103FF00043F76093F0167093F1168093F216909346 -:10400000F3168091E01681114FC0FD124CC08091D3 -:104010005B0C882361F1E0917B13F0E0EE0FFF1F52 -:10402000E45EFD4F0190F081E02DE251FF4F0190E1 -:10403000F081E02D8091671690916816A091691625 -:10404000B0916A16B695A795979587954F2D50E034 -:1040500060E070E02EE784179507A607B70711F414 -:104060004EE301C040E2BF018C2F0E94B68E1123A7 -:10407000D1F08091671690916816A0916916B09161 -:104080006A16B695A795979587954F2D50E060E0F5 -:1040900070E084179507A607B70729F40E94CC8F14 -:1040A00084EB9FEAA1C0F394FD124CC080915B0C9D -:1040B000882361F1E0917B13F0E0EE0FFF1FE45ED7 -:1040C000FD4F0190F081E02DE454FE4F0190F0810E -:1040D000E02D8091671690916816A0916916B091B5 -:1040E0006A16B695A795979587954F2D50E060E095 -:1040F00070E02EE784179507A607B70711F44EE383 -:1041000001C040E2BF018C2F0E94B68E1123D1F076 -:104110008091671690916816A0916916B0916A1601 -:10412000B695A795979587954F2D50E060E070E084 -:1041300084179507A607B70729F40E94CC8F85EC52 -:1041400094E952C0EE24E394EF0C8091E0168111C3 -:104150005AC0ED1255C080915B0C882351F1E0915B -:104160007B13F0E0EE0FFF1FE45EFD4F0190F08146 -:10417000E02DEE50FE4F6081718180916716909125 -:104180006816A0916916B0916A16B695A79597958D -:1041900087958D2E912CA12CB12C2EE78815990591 -:1041A000AA05BB0511F44EE301C040E28C2F0E942A -:1041B000B68E112329F140916716509168166091CF -:1041C000691670916A1676956795579547958E2D65 -:1041D00090E0A0E0B0E0481759076A077B0781F438 -:1041E0000E94CC8F82EB97EBDF91CF911F910F91C3 -:1041F000FF90EF90BF90AF909F908F900C94F98FAD -:1042000082E0E82EEF0C409167165091681660919D -:10421000691670916A1676956795579547958E2D14 -:1042200090E0A0E0B0E0481759076A077B0788F0E4 -:104230008E2D90E0880F991F0197AA2797FDA095D2 -:10424000BA2F8093671690936816A0936916B0935F -:104250006A164091671650916816609169167091C0 -:104260006A1676956795579547958091701690E0F8 -:104270000396242F30E0821793074CF48DEF840FC0 -:104280008093701600935B0CDCEFD40FCFEFCF5F01 -:10429000DF5FC43008F45DCCDF91CF911F910F91A7 -:1042A000FF90EF90BF90AF909F908F9008956FEF29 -:1042B0008EEF9FE00D943C038093601610925F1682 -:1042C0000895EEEBF6E101900020E9F73197EE5BFF -:1042D000F6411E161F0634F01092D21682E080932B -:1042E0005B0C089580E2E431F105B4F7DF01A254DC -:1042F000B94E8C933196F7CF2091D316211108C077 -:1043000044E150E0BC018EEB96E10F94FC00D9CF64 -:1043100008952091D316211108C044E150E0BC015A -:104320008EEB96E10F946F00CCCF08958091E31649 -:104330009091E416019709F050C08091E116909198 -:10434000E216892B49F485E090E09093E216809381 -:10435000E11681E0809372138091E1169091E2164C -:10436000019739F49091CD178091CC17981709F4E3 -:10437000A4C08091E1169091E216029739F49091D1 -:10438000CD178091CC17981709F4B6C08091E1162B -:104390009091E216039739F49091CD178091CC1744 -:1043A000981709F4C3C08091E1169091E216049722 -:1043B00039F49091CD178091CC17981709F4C1C0AA -:1043C0008091E1169091E216059739F49091CD17FE -:1043D0008091CC17981709F4CEC08091E316909184 -:1043E000E416029709F05DC08091E1169091E21603 -:1043F000892B49F486E090E09093E2168093E116D1 -:1044000081E0809372138091E1169091E2160197FA -:1044100039F49091CD178091CC17981709F4CBC03F -:104420008091E1169091E216029739F49091CD17A0 -:104430008091CC17981709F4D6C08091E11690911D -:10444000E216039739F49091CD178091CC17981705 -:1044500009F4F1C08091E1169091E216049739F4C5 -:104460009091CD178091CC17981709F4EFC08091E7 -:10447000E1169091E216059739F49091CD1780914D -:10448000CC17981709F4F5C08091E1169091E216C7 -:10449000069739F49091CD178091CC17981709F4AD -:1044A00006C18091E3169091E416039709F02AC1A2 -:1044B0001092E4161092E31608951092E2161092EC -:1044C000E1161092E4161092E316E0917B13F0E0EF -:1044D000EE0FFF1FE45EFD4F0190F081E02D808123 -:1044E000918117DF159A1092501310927213109247 -:1044F0007113109270133DCFE0917B13F0E0EE0F3B -:10450000FF1FE45EFD4F0190F081E02DEA5EFE4F5B -:1045100080819181FEDE8DEE92E50E94FE6281E057 -:1045200090E09093E2168093E11630CF81EE92E511 -:104530000E94FE6282E090E09093E2168093E11682 -:1045400032CFE0917B13F0E0EE0FFF1FE45EFD4FF2 -:104550000190F081E02DE05EFE4F80819181D9DEF7 -:104560008DED92E50E94FE6283E090E09093E2166A -:104570008093E11625CFE0917B13F0E0EE0FFF1F53 -:10458000E45EFD4F0190F081E02DE85EFE4F8081FA -:104590009181BFDE159881E08093721382E090E0F4 -:1045A000909371138093701384E090E09093E216DF -:1045B0008093E11612CF1092E2161092E11610923B -:1045C000E4161092E316E0917B13F0E0EE0FFF1F6C -:1045D000E45EFD4F0190F081E02D8081918199DEB4 -:1045E000109272131DCF10920F1110920E11109293 -:1045F00011111092101110921311109212111092A9 -:104600001511109214110E941746E0917B13F0E0EF -:10461000EE0FFF1FE45EFD4F0190F081E02D8081E1 -:10462000918177DE1092381381E090E09093E2164A -:104630008093E11602CF89ED92E50E94FE6282E04E -:1046400090E09093E2168093E11604CF85ED92E519 -:104650000E94FE6280EC92E50E94FE62109260165B -:1046600010925F1683E090E09093E2168093E1163B -:10467000FECEE0917B13F0E0EE0FFF1FE45EFD4FF6 -:104680000190F081E02DEA53FF4F8081918141DE5E -:104690008CEB92E50E94FE628FEA92E50E94FE6238 -:1046A00084E090E09093E2168093E116EDCEE091E5 -:1046B0007B13F0E0EE0FFF1FE45EFD4F0190F081F1 -:1046C000E02DEA53FF4F8081918123DE81E08093CA -:1046D000381310920F1110920E11109211111092A6 -:1046E00010111092131110921211109215111092B4 -:1046F00014110E94174685E090E09093E216809393 -:10470000E116CFCE089505DE81E08093D3160C9498 -:1047100089961092D3160895CF92DF92EF92FF926E -:10472000CF93C0910301C2FBCC27C0F981E0C82719 -:104730008091030181FFC260C0906C16D0906D160D -:10474000E0906E16F0906F160E9489F0C616D7069C -:10475000E806F90620F48091000186FF39C0C09375 -:1047600071168091711681709091711691FD826021 -:1047700090916B16891721F18130F1F028F0823089 -:1047800089F08330A1F01CC0913021F49091FA1689 -:104790009F5F05C09230A1F49091FA1691509093CA -:1047A000FA160EC0992391F3933051F4F5CF92305D -:1047B00069F3913029F4F0CF933041F3992361F3F9 -:1047C00080936B16CF91FF90EF90DF90CF9008957C -:1047D000C460C5CF0E947C96E4E0F1E080818B7FCD -:1047E000808380818D7F80839FB7F894E5E0F1E03E -:1047F0008081846080839FBF9FB7F89480818260AE -:1048000080839FBFE1E0F1E080818F7B80839FB751 -:10481000F894E2E0F1E08081806480839FBF60E0F3 -:104820008FE00E94A9EF9FB7F894E5E0F1E0808166 -:10483000816080839FBF8091030180958170809308 -:1048400066166ADF1092FA160895CF92DF92EF9201 -:10485000FF9262DF80910301817091E089272091AE -:104860006616821709F182E080935B0C8091030148 -:1048700081708927809366160E947C9680916616C7 -:10488000882309F4A8C08EE893E10E94C153E09107 -:104890007B13F0E0EE0FFF1FE45EFD4F0190F0810F -:1048A000E02D8281938135DDC0906216D090631631 -:1048B000E0906416F09065160E9489F0C616D7063F -:1048C000E806F90608F09EC08091FA16482F552791 -:1048D00047FD509557FF03C051954195510942300E -:1048E000510584F191E090935B0C87FD8F5F482F19 -:1048F0004595552747FD5095652F752F8091671673 -:1049000090916816A0916916B0916A16840F951F50 -:10491000A61FB71F8093671690936816A093691619 -:10492000B0936A161092FA160E9489F06856754C78 -:104930008F4F9F4F609336167093371680933816BB -:10494000909339168091711682FF0EC00E9489F0F3 -:104950006856754C8F4F9F4F60933616709337167D -:104960008093381690933916E0915C0CF0915D0CB1 -:104970001995C0903616D0903716E0903816F09002 -:1049800039160E9489F0C616D706E806F90638F4EB -:1049900080915C0C90915D0C8758934C69F58091E7 -:1049A0005B0C823011F40E94A58F80915B0C8823F0 -:1049B00019F0815080935B0C0E9489F06C597F4FF5 -:1049C0008F4F9F4F609362167093631680936416A7 -:1049D0009093651617C08EE893E10E94C054E09151 -:1049E0007B13F0E0EE0FFF1FE45EFD4F0190F081BE -:1049F000E02D8481958157CF0E94899682E0809333 -:104A00005B0CCDCFFF90EF90DF90CF90089581E0C9 -:104A100008958091711682FB882780F90895FC0122 -:104A2000808190E02AE030E0B9010E9407FB482F26 -:104A3000CB01B9010E9407FB805D80933A16405D6F -:104A400040933B1610923C168AE396E1089520E0CD -:104A500030E040E251E4FC01608171818281938108 -:104A60000E9411FA0E94ABF777FD02C02BE201C051 -:104A70002DE220933A169B0177FF04C022273327AB -:104A8000261B370BC90168EE73E00E9407FBCB01C0 -:104A9000EAE0F0E0BF010E9407FB805D80933B16D7 -:104AA000C90164E670E00E9407FBCB01BF010E94D0 -:104AB00007FB805D80933C16C901BF010E9407FB84 -:104AC000282FCB01BF010E9407FB805D80933D161C -:104AD0008EE280933E16205D20933F161092401682 -:104AE0008AE396E108958F929F92AF92BF92CF9200 -:104AF000DF92EF92FF92CF93FC01C080D180E280E1 -:104B0000F38020E030E0A901C701B6010E943FF91F -:104B100018161CF4C701B60103C0C701B6019058AE -:104B20000E94ABF76B017C016031F7E27F078105E2 -:104B3000910584F020E137E240E050E00E943CFB28 -:104B4000CA01B9012AE030E040E050E00E943CFB9D -:104B5000605D01C060E260933A1688EEC81683E09B -:104B6000D806E104F10494F0C701B60128EE33E061 -:104B700040E050E00E943CFBCA01B9012AE030E06D -:104B800040E050E00E943CFB605D01C060E2609349 -:104B90003B16E4E6CE16D104E104F10494F0C7011B -:104BA000B60124E630E040E050E00E943CFBCA0140 -:104BB000B9012AE030E040E050E00E943CFB605D3B -:104BC00001C060E360933C168EE280933D167AE06C -:104BD000872E912CA12CB12CC701B601A5019401FF -:104BE0000E943CFBC62FCA01B901A50194010E9495 -:104BF0003CFB605D60933E16C05DC0933F168AE348 -:104C000096E1CF91FF90EF90DF90CF90BF90AF9063 -:104C10009F908F9008958F929F92AF92BF92CF9264 -:104C2000DF92EF92FF92CF9320E030E04AE754E426 -:104C3000FC0160817181828193810E9411FA0E943E -:104C4000ABF797FD02C020E201C02DE220933A1697 -:104C50006B017C0197FF08C0F094E094D094C0945D -:104C6000C11CD11CE11CF11CC701B60128EE33E0C8 -:104C700040E050E00E943CFBAAE08A2E912CA12C3F -:104C8000B12CCA01B901A50194010E943CFB605DF1 -:104C900060933B168EE280933C16C701B60124E672 -:104CA00030E040E050E00E943CFBCA01B901A501A0 -:104CB00094010E943CFB605D60933D16C701B60104 -:104CC000A50194010E943CFBC62FCA01B901A501B0 -:104CD00094010E943CFB605D60933E16C05DC093F2 -:104CE0003F16109240168AE396E1CF91FF90EF9025 -:104CF000DF90CF90BF90AF909F908F9008958F924C -:104D00009F92AF92BF92CF92DF92EF92FF92FC01FF -:104D100080809180A280B38020E030E048EC52E4B3 -:104D2000C501B4010E9411FA6B017C0120E030E062 -:104D3000A9010E943FF918161CF4C701B60103C06F -:104D4000C701B60190580E94ABF76B017C0120E0CF -:104D500030E0A901C501B4010E943CF787FF12C0F1 -:104D60008DE280933A16C701B60128EE33E040E0A9 -:104D700050E00E943CFBCA01B9012AE030E040E06B -:104D800050E036C0C701B60120E137E240E050E014 -:104D90000E943CFB8AE0882E912CA12CB12CCA01E8 -:104DA000B901A50194010E943CFB662391F0605D6E -:104DB00060933A16C701B60128EE33E040E050E0B8 -:104DC0000E943CFBCA01B901A50194010E943CFB71 -:104DD00013C080E280933A16C701B60128EE33E093 -:104DE00040E050E00E943CFBCA01B901A5019401DA -:104DF0000E943CFB662311F0605D01C060E260939D -:104E00003B16C701B60124E630E040E050E00E94C6 -:104E10003CFBBAE08B2E912CA12CB12CCA01B9011C -:104E2000A50194010E943CFB605D60933C16C701A4 -:104E3000B601A50194010E943CFB662381F0605DF0 -:104E400060933F16CA01B901A50194010E943CFB81 -:104E5000605D60933E168EE280933D1615C0CA01D8 -:104E6000B901A50194010E943CFB662329F0605D15 -:104E700060933E168EE203C080E280933E168093DC -:104E80003D1680E280933F16109240168AE396E129 -:104E9000FF90EF90DF90CF90BF90AF909F908F905A -:104EA0000895FC012081318137FF07C08DE2809396 -:104EB0003A1631952195310914C02436310574F024 -:104EC000C90164E670E00E9407FBCB016AE070E074 -:104ED0000E9407FB805D80933A1606C080E28093B3 -:104EE0003A162A30310564F0EAE0F0E0C901BF016A -:104EF0000E9407FBCB01BF010E9407FB805D01C040 -:104F000080E280933B16C9016AE070E00E9407FBD3 -:104F1000805D80933C1610923D168AE396E10895D9 -:104F2000AF92BF92CF92DF92EF92FF920F931F93B7 -:104F3000CF93DF9360911402709115028091160255 -:104F4000909117020E94994A60934B1670934C16E9 -:104F500080934D1690934E1660911002709111023D -:104F600080911202909113020E94A54A6093471605 -:104F7000709348168093491690934A16809167164D -:104F800090916816A0916916B0916A168130904888 -:104F9000A105B10540F010926716109268161092A4 -:104FA000691610926A168091671690916816A09102 -:104FB0006916B0916A16B695A79597958795409111 -:104FC000701650E060E070E084179507A607B707F9 -:104FD00010F48093701600917016B0907116B2FAAA -:104FE000BB24B0F810E0E7E0CE2ED12CE12CF12C60 -:104FF000AA24A3948091671690916816A0916916CF -:10500000B0916A1601113DC020915B0C2223C9F0BA -:10501000E0917B13F0E0EE0FFF1FE45EFD4F019087 -:10502000F081E02DE450FF4F6081718123E0029711 -:10503000A105B10510F443E001C040E2812F0E94B8 -:10504000B68EBB2009F427C180916716909168162F -:10505000A0916916B0916A160297A105B10508F0F2 -:105060001AC10E94CC8F83E69DE9DF91CF911F91F9 -:105070000F91FF90EF90DF90CF90BF90AF900C9486 -:10508000F48F013009F052C020915B0C222329F1EA -:10509000E0917B13F0E0EE0FFF1FE45EFD4F019007 -:1050A000F081E02DE25BFF4FC081D181B695A795DD -:1050B000979587950197A105B10531F480E191E1BC -:1050C000F0DE9C014EE305C080E191E1EADE9C0147 -:1050D00040E2BE01812F0E94638FBB2009F4DBC038 -:1050E0008091671690916816A0916916B0916A1622 -:1050F000B695A795979587950197A105B10509F0F4 -:10510000CAC00E94CC8FE0917B13F0E0EE0FFF1F2E -:10511000E45EFD4F0190F081E02DE25BFF4F2FEF49 -:1051200030E040E050E060E171E1A7C0023009F0FA -:1051300052C020915B0C222329F1E0917B13F0E017 -:10514000EE0FFF1FE45EFD4F0190F081E02DEC5A61 -:10515000FF4FC081D181B695A79597958795029706 -:10516000A105B10531F48EE091E19BDE9C014EE397 -:1051700005C08EE091E195DE9C0140E2BE01812FE9 -:105180000E94638FBB2009F486C0809167169091BE -:105190006816A0916916B0916A16B695A79597956D -:1051A00087950297A105B10509F075C00E94CC8FC3 -:1051B000E0917B13F0E0EE0FFF1FE45EFD4F0190E6 -:1051C000F081E02DEC5AFF4F23E930E040E050E061 -:1051D0006EE071E152C0033009F05DC020915B0CBC -:1051E000222329F1E0917B13F0E0EE0FFF1FE45E34 -:1051F000FD4F0190F081E02DEA5AFF4FC081D1812F -:10520000B695A795979587950397A105B10531F4B4 -:1052100087E493E146DE9C014EE305C087E493E119 -:1052200040DE9C0140E2BE01812F0E94638FBB20C3 -:1052300091F18091671690916816A0916916B091CE -:105240006A16B695A795979587950397A105B10519 -:1052500011F50E94CC8FE0917B13F0E0EE0FFF1F61 -:10526000E45EFD4F0190F081E02DEA5AFF4F2FEFF1 -:1052700030E040E050E067E473E180819181DF91AC -:10528000CF911F910F91FF90EF90DF90CF90BF9043 -:10529000AF900C94C78D8091671690916816A0917D -:1052A0006916B0916A160897A105B10540F0C09241 -:1052B0006716D0926816E0926916F0926A164091CD -:1052C0006716509168166091691670916A16769506 -:1052D0006795579547958091701690E00396242F17 -:1052E00030E0821793074CF48DEF840F8093701693 -:1052F000A0925B0C0CEF040F1FEF1F5F0F5F1430C9 -:1053000008F478CEDF91CF911F910F91FF90EF902D -:10531000DF90CF90BF90AF900895AF92BF92CF92A1 -:10532000DF92EF92FF920F931F93CF93DF9341E0B1 -:1053300065EE76E18FEF9FE00E94419D80916716B8 -:1053400090916816A0916916B0916A1681309048C4 -:10535000A105B10540F010926716109268161092E0 -:10536000691610926A168091671690916816A0913E -:105370006916B0916A16B695A7959795879540914D -:10538000701650E060E070E084179507A607B70735 -:1053900010F48093701600917016B0907116B2FAE6 -:1053A000BB24B0F810E04FE0C42ED12CE12CF12C3E -:1053B000AA24A3948091671690916816A09169160B -:1053C000B0916A1601113BC020915B0C2223B9F009 -:1053D000E0917B13F0E0EE0FFF1FE45EFD4F0190C4 -:1053E000F081E02D6681778123E00297A105B10568 -:1053F00010F443E001C040E2812F0E94B68EBB2032 -:1054000009F419C28091671690916816A0916916E7 -:10541000B0916A160297A105B10508F00CC20E946E -:10542000CC8F8BE19CEBDF91CF911F910F91FF907F -:10543000EF90DF90CF90BF90AF900C94F48F01303D -:1054400009F052C020915B0C222329F1E0917B13DB -:10545000F0E0EE0FFF1FE45EFD4F0190F081E02DC4 -:10546000E45BFF4FC081D181B695A795979587954D -:105470000197A105B10531F489E49CE012DD9C019E -:105480004EE305C089E49CE00CDD9C0140E2BE01D6 -:10549000812F0E94638FBB2009F4CDC180916716D4 -:1054A00090916816A0916916B0916A16B695A79565 -:1054B000979587950197A105B10509F0BCC10E9498 -:1054C000CC8FE0917B13F0E0EE0FFF1FE45EFD4F09 -:1054D0000190F081E02DE45BFF4F27EE33E04AE0DE -:1054E00050E069E47CE054C0023009F05FC02091D4 -:1054F0005B0C222329F1E0917B13F0E0EE0FFF1FFC -:10550000E45EFD4F0190F081E02DE25BFF4FC08132 -:10551000D181B695A795979587950297A105B10575 -:1055200031F480E191E1BDDC9C014EE305C080E1F6 -:1055300091E1B7DC9C0140E2BE01812F0E94638FA4 -:10554000BB2009F478C18091671690916816A091EC -:105550006916B0916A16B695A795979587950297A3 -:10556000A105B10509F067C10E94CC8FE0917B13C2 -:10557000F0E0EE0FFF1FE45EFD4F0190F081E02DA3 -:10558000E25BFF4F2FEF30E040E050E060E171E17F -:1055900080819181DF91CF911F910F91FF90EF90CA -:1055A000DF90CF90BF90AF900C94C78D033009F07F -:1055B00052C020915B0C222329F1E0917B13F0E093 -:1055C000EE0FFF1FE45EFD4F0190F081E02DEC5ADD -:1055D000FF4FC081D181B695A79597958795039781 -:1055E000A105B10531F48EE091E15BDC9C014EE355 -:1055F00005C08EE091E155DC9C0140E2BE01812FA7 -:105600000E94638FBB2009F416C1809167169091A8 -:105610006816A0916916B0916A16B695A7959795E8 -:1056200087950397A105B10509F005C10E94CC8FAC -:10563000E0917B13F0E0EE0FFF1FE45EFD4F019061 -:10564000F081E02DEC5AFF4F2CE830E040E050E0D4 -:105650006EE071E19DCF043009F052C020915B0CE7 -:10566000222329F1E0917B13F0E0EE0FFF1FE45EAF -:10567000FD4F0190F081E02DEA5AFF4FC081D181AA -:10568000B695A795979587950497A105B10531F42F -:1056900087E493E106DC9C014EE305C087E493E1D7 -:1056A00000DC9C0140E2BE01812F0E94638FBB2081 -:1056B00009F4C1C08091671690916816A09169168F -:1056C000B0916A16B695A795979587950497A10509 -:1056D000B10509F0B0C00E94CC8FE0917B13F0E0DF -:1056E000EE0FFF1FE45EFD4F0190F081E02DEA5ABE -:1056F000FF4F2FEF30E040E050E067E473E148CF28 -:10570000053009F052C020915B0C222329F1E09171 -:105710007B13F0E0EE0FFF1FE45EFD4F0190F08180 -:10572000E02DE85AFF4FC081D181B695A795979596 -:1057300087950597A105B10531F487E49CE0B1DBBD -:105740009C014EE305C087E49CE0ABDB9C0140E29A -:10575000BE01812F0E94638FBB2009F46CC0809131 -:10576000671690916816A0916916B0916A16B69561 -:10577000A795979587950597A105B10509F05BC099 -:105780000E94CC8FE0917B13F0E0EE0FFF1FE45EF0 -:10579000FD4F0190F081E02DE85AFF4F27EE33E0F6 -:1057A0004AE050E067E47CE0F3CE063009F043C005 -:1057B00020915B0C2223E9F0E0917B13F0E0EE0FE7 -:1057C000FF1FE45EFD4F0190F081E02DE252FF4F9C -:1057D00060817181B695A7959795879520E2069788 -:1057E000A105B10511F44EE301C040E2812F0E94F2 -:1057F000B68EBB2001F18091671690916816A0913A -:105800006916B0916A16B695A795979587950697EC -:10581000A105B10581F40E94CC8F84E293E5DF916C -:10582000CF911F910F91FF90EF90DF90CF90BF909D -:10583000AF900C94FE622091E516809167169091CE -:105840006816A0916916B0916A16211114C007302C -:1058500009F055C020915B0C222379F1E0917B1374 -:10586000F0E0EE0FFF1FE45EFD4F0190F081E02DB0 -:10587000EA5DFE4F13C0073009F041C020915B0C78 -:105880002223D9F0E0917B13F0E0EE0FFF1FE45EDE -:10589000FD4F0190F081E02DEC5DFE4F6081718144 -:1058A000B695A7959795879520E20797A105B1052D -:1058B00021F140E2812F0E94B68EBB2001F1809140 -:1058C000671690916816A0916916B0916A16B69500 -:1058D000A795979587950797A105B10581F40E9433 -:1058E000CC8FDF91CF911F910F91FF90EF90DF90C0 -:1058F000CF90BF90AF900C94299D4EE3DBCF809169 -:10590000671690916816A0916916B0916A16409733 -:10591000A105B10540F0C0926716D0926816E092DA -:105920006916F0926A168091671690916816A09198 -:105930006916B0916A16B695A795979587952091A7 -:10594000701630E02D5F3F4F482F50E02417350789 -:105950004CF42DEF280F20937016A0925B0C0CEFE7 -:10596000080F1FEF1F5F0F5F143008F423CDDF9186 -:10597000CF911F910F91FF90EF90DF90CF90BF904C -:10598000AF900895FC01808191818436910524F1C6 -:1059900064E670E00E9407FBCB012AE030E0B90129 -:1059A0000E9407FB805D80933A1680819181B90146 -:1059B0000E9407FBCB01B9010E9407FB805D809329 -:1059C0003B1680819181B9010E9407FB805D809325 -:1059D0003C1610923D1623C08A309105BCF02AE097 -:1059E00030E0B9010E9407FBCB01B9010E9407FB1F -:1059F000805D80933A1680819181B9010E9407FBF6 -:105A0000805D80933B1610923C1609C06AE070E0FE -:105A10000E9407FB805D80933A1610923B168AE342 -:105A200096E10895FC0180819181883E23E09207F0 -:105A30005CF068EE73E00E9407FBCB016AE070E067 -:105A40000E9407FB805D01C080E280933A1680814E -:105A50009181843691055CF064E670E00E9407FB5A -:105A6000CB016AE070E00E9407FB805D01C080E22C -:105A700080933B16808191818A3091055CF02AE009 -:105A800030E0B9010E9407FBCB01B9010E9407FB7E -:105A9000805D01C080E280933C16808191816AE044 -:105AA00070E00E9407FB805D80933D1610923E16C9 -:105AB0008AE396E10895CF92EF920F93F7E4CF2E09 -:105AC000A5E5EA2E06E423E142E162E582E796E1FC -:105AD0000E94454C0F91EF90CF900895CF93DF93A4 -:105AE000FC016491EC012196662331F082E796E196 -:105AF0000E94324DCE01F4CFDF91CF9108950F93E4 -:105B00001F93CF93DF938C01EB0141E061E082E7CB -:105B100096E10E945A4BC801E1DF6AE382E796E111 -:105B20000E94F3F5FE0101900020E9F76C2F6E1B37 -:105B30006C5E41E082E796E10E945A4BBE0182E72B -:105B400096E1DF91CF911F910F910C94F2F5CF92D6 -:105B5000DF92EF92FF920F931F93809167169091BF -:105B60006816A0916916B0916A160097A105B10553 -:105B700009F442C0BC01882777FD8095982F0E94C8 -:105B8000DEF7209142163091431640914416509111 -:105B900045160E9411FA9B01AC0160916913709146 -:105BA0006A1380916B1390916C130E9463F660935B -:105BB000691370936A1380936B1390936C13109214 -:105BC0006716109268161092691610926A16B9E458 -:105BD000CB2EB3E1DB2EE12CF12C00E81FE329E60C -:105BE00033E145E653E161E673E18DE593E10E941F -:105BF000B4E181E080935B0C80915B0C882341F0E1 -:105C000089E693E10E9427A5BC0187E993E577DF48 -:105C10008091711682FF0EC021E040E050E0BA0191 -:105C20008AEC92E91F910F91FF90EF90DF90CF9057 -:105C30000C94DE8F1F910F91FF90EF90DF90CF902B -:105C40000895CF93DF931F921F92CDB7DEB7809157 -:105C5000671690916816A0916916B0916A16B7FF01 -:105C600008C010926716109268161092691610926A -:105C70006A1680914F1690915016A0915116B091CE -:105C8000521640916716509168166091691670918E -:105C90006A1684179507A607B70744F4809367161A -:105CA00090936816A0936916B0936A1680915B0C66 -:105CB0008823A9F08091531690915416209167166D -:105CC00030916816820F931F9A838983CE010196C3 -:105CD000E8D8BC018091591690915A1610DF809136 -:105CE000711682FF1DC0E0915716F09158168091F1 -:105CF0005316909154162091671630916816820FB2 -:105D0000931F9183808340915B1650915C1660E0F5 -:105D100070E021E080915D1690915E160E94DE8F0A -:105D20000F900F90DF91CF9108954F925F926F92F5 -:105D30007F928F929F92AF92BF92CF92DF92EF921B -:105D4000FF920F931F93CF93DF934C015B017A0176 -:105D50008091671690916816A0916916B0916A16A5 -:105D6000892B8A2B8B2B09F47BC00E94B165E5013E -:105D7000CC0FDD1FCC0FDD1F8E01035A1C4E60912E -:105D8000671670916816882777FD8095982F0E9476 -:105D9000DEF72091421630914316409144165091FF -:105DA00045160E9411FAF801208131814281538108 -:105DB0000E9463F62B013C0120E030E0A9010E9423 -:105DC0003CF7F80187FD05C04082518262827382F0 -:105DD00004C01082118212821382B701882777FDD6 -:105DE0008095982F0E94DEF76B017C018E01035A8B -:105DF0001C4E9B01AC01F80160817181828193810D -:105E00000E943FF918162CF4F801C082D182E28278 -:105E1000F38210926716109268161092691610920B -:105E20006A16CE57D14F20E030E040E752E4688157 -:105E300079818A819B810E9443F739E4C32E33E143 -:105E4000D32E7B018C0129E633E145E653E161E67F -:105E500073E18DE593E10E94B4E181E080935B0CF6 -:105E600080915B0C882361F0C501880F991F880F12 -:105E7000991F835A9C4E0E9427A5BC01C4013FDE96 -:105E80008091711682FF18C021E040E050E0BA0115 -:105E90008AEC92E9DF91CF911F910F91FF90EF90E3 -:105EA000DF90CF90BF90AF909F908F907F906F903A -:105EB0005F904F900C94DE8FDF91CF911F910F91E7 -:105EC000FF90EF90DF90CF90BF90AF909F908F901A -:105ED0007F906F905F904F90089546ED50E060E0A6 -:105EE00070E081E993E521CF46EC50E061E070E09D -:105EF00083E993E51ACF49EC50E062E070E085E970 -:105F000093E513CF0F931F93CF93DF938C01EB0196 -:105F100041E060E082E796E10E945A4BC801DEDD75 -:105F20006AE382E796E10E94F3F5FE01019000200A -:105F3000E9F7BE016E1B7F0B6B5E7F4F7695679511 -:105F400043E082E796E10E945A4BBE0182E796E168 -:105F50000E94F2F564E17EE082E796E1DF91CF9165 -:105F60001F910F910C94F2F5CF93DF93E0917B1387 -:105F7000F0E0EE0FFF1FE45EFD4F0190F081E02D99 -:105F8000EA54FE4FC081D1818091671690916816C6 -:105F9000A0916916B0916A160097A105B105F1F1BB -:105FA0002091FF1030910011280F391F30930011FC -:105FB0002093FF102091F8163091F916280F391F01 -:105FC0003093F9162093F816B901882777FD80954C -:105FD000982F0E94DEF72091091D30910A1D4091F3 -:105FE0000B1D50910C1D0E9443F76093F0167093A7 -:105FF000F1168093F2169093F31662E370E080E05E -:1060000090E00E94B8F010926716109268161092F5 -:10601000691610926A1681E080935B0C80915B0C8C -:10602000882339F080EF96E10E940BA6BC01CE01D7 -:1060300069DF8091711682FF08C021E040E050E0E6 -:10604000BA018BE19CEB0E94DE8F64EF76E18CEF6E -:106050009FE00E94C79C66EF76E18AEF9FE00E9476 -:10606000C79C68EF76E188EF9FE0DF91CF910C94B9 -:10607000C79C4F925F926F927F928F929F92AF9246 -:10608000BF92CF92DF92EF92FF920F931F93CF9325 -:10609000DF93CDB7DEB72C970FB6F894DEBF0FBEF7 -:1060A000CDBF80919013882309F4F8C0C090771376 -:1060B000D0907813E0907913F0907A13C701B6016D -:1060C00020EA36E841E050E00E941AFB29873A872F -:1060D0004B875C873E832D830E9489F000916B1172 -:1060E00010916C1120916D1130916E11601B710B2C -:1060F000820B930B28EE33E040E050E00E941AFB45 -:1061000029013A01C90160E17EE00E9407FB8B0191 -:1061100024EC2603C001279F900D1124840D951DAA -:106120006CE370E00E9407FB4B0126035001279FA0 -:10613000B00C112420EF31EF029FC001039F900D9E -:10614000129F900D1124A80EB91EA40CB51C40E09E -:1061500060E082E796E10E945A4BE0917B13F0E009 -:10616000EE0FFF1FE45EFD4F0190F081E02DE25243 -:10617000FE4F80819181B2DC41E066E082E796E1EA -:106180000E945A4BCE0105960E9451A7BC0182E79E -:1061900096E10E94F2F568E17EE082E796E10E94D6 -:1061A000F2F5A985BA8520E639E74EEF5FEF0E9448 -:1061B0006EFB6C0D7D1D8E1D9F1D2AE030E040E0C2 -:1061C00050E00E941AFBB901882777FD8095982F2F -:1061D0000E94DEF769837A838B839C83CE010196CC -:1061E0000E9473A5BC0182E796E10E94F2F56BE183 -:1061F0007EE082E796E10E94F2F542E060E082E70D -:1062000096E10E945A4BE0917B13F0E0EE0FFF1FE6 -:10621000E45EFD4F0190F081E02DE052FE4F808161 -:1062200091815CDC43E068E082E796E10E945A4B92 -:106230000983CE0101960E940FA5BC0182E796E179 -:106240000E94F2F56EE17EE082E796E10E94F2F5AF -:106250008982CE0101960E940FA5BC0182E796E1DA -:106260000E94F2F568E17EE082E796E10E94F2F595 -:10627000A982CE0101960E940FA5BC0182E796E19A -:106280000E94F2F561E27EE082E796E10E94F2F57B -:106290000E9409A5882309F478C173C181EF9FE0AA -:1062A0000F942F036B017C018DEE9FE00F942F0361 -:1062B0004B015C01C701B6010E94DCF769837A8358 -:1062C0008B839C8320EAC21626E8D20621E0E206F0 -:1062D000F10450F0C701B60120EA36E841E050E091 -:1062E0000E941AFBD90102C0A0E0B0E0B887AF83DA -:1062F0001A161B0684F420E639E74EEF5FEF0E9482 -:106300006EFB6C0D7D1D8E1D9F1D0E94DCF7698349 -:106310007A838B839C83C501B40120EA35E040E099 -:1063200050E00E941AFBE22E022F10E020EA35E036 -:10633000029FC001039F900D129F900D1124AA2768 -:1063400097FDA095BA2FA5019401281B390B4A0B84 -:106350005B0BCA01B9012CE330E040E050E00E9441 -:106360001AFBF22E30E6E39E800C11244CE3F49EDF -:10637000801811240E94A58F40E060E082E796E13A -:106380000E945A4BE0917B13F0E0EE0FFF1FE45E9A -:10639000FD4F0190F081E02DE652FE4F808191810A -:1063A0009DDBCE0101960E9473A5FC0101900020A7 -:1063B000E9F7682F6E1B6E5E41E082E796E10E946E -:1063C0005A4BCE0101960E9473A5BC0182E796E16B -:1063D0000E94F2F58F8198851816190674F5CE0182 -:1063E00001960E9473A5FC0101900020E9F7682F37 -:1063F0006E1B615F41E082E796E10E945A4B63E2C7 -:106400007EE082E796E10E94F2F5CE0101960E94BD -:1064100073A5FC0101900020E9F7682F6E1B665FF1 -:1064200041E082E796E10E945A4BCE010796FADAE4 -:10643000BC0182E796E10E94F2F541E062E182E769 -:1064400096E10E945A4B6CE17EE082E796E10E9461 -:10645000F2F542E060E082E796E10E945A4BE0915B -:106460007B13F0E0EE0FFF1FE45EFD4F0190F08123 -:10647000E02DE452FE4F8081918130DB43E062E108 -:1064800082E796E10E945A4B6CE17EE082E796E15A -:106490000E94F2F543E06EE082E796E10E945A4BDB -:1064A000882D90E09E838D83CE0105960E9451A792 -:1064B000BC0182E796E10E94F2F543E06EE082E7DC -:1064C00096E10E945A4B6BEC7DE082E796E10E94D8 -:1064D000F2F543E06CE082E796E10E945A4B66E2F7 -:1064E0007EE082E796E10E94F2F543E069E082E710 -:1064F00096E10E945A4B8F2D90E09E838D83CE01B2 -:1065000005960E9451A7BC0182E796E10E94F2F530 -:1065100043E069E082E796E10E945A4B6BEC7DE034 -:1065200082E796E10E94F2F543E067E082E796E1B8 -:106530000E945A4B6CE47EE082E796E10E94F2F5FD -:1065400043E064E082E796E10E945A4B1E830D838C -:10655000CE0105960E9451A7BC0182E796E10E94F8 -:10656000F2F50E9409A581110CC00E94174681E036 -:106570000E94DB7064E670E080E090E00E94B8F07A -:10658000F0CF0E94CC8F0E9489962C960FB6F8947B -:10659000DEBF0FBECDBFDF91CF911F910F91FF9056 -:1065A000EF90DF90CF90BF90AF909F908F907F90B3 -:1065B0006F905F904F900895EF92FF920F931F930B -:1065C000CF93DF93EC018B017A010E94A98F109287 -:1065D00011111092101110920F1110920E110E94B1 -:1065E000174680E00E94DB700E94A58F40E060E0CB -:1065F00082E796E10E945A4BE0917B13F0E0EE0FA8 -:10660000FF1FE45EFD4F0190F081E02DEC53FE4F43 -:106610008081918163DA41E060E082E796E10E9447 -:106620005A4BE0917B13F0E0EE0FFF1FE45EFD4F4D -:106630000190F081E02DEA53FE4F808191814EDA86 -:10664000C330D10509F48FC07CF5C130D10509F400 -:106650005FC0229709F0FAC042E060E082E796E16D -:106660000E945A4BE0917B13F0E0EE0FFF1FE45EB7 -:10667000FD4F0190F081E02DE453FE4F8081918128 -:106680002DDA43E060E082E796E10E945A4BE09108 -:106690007B13F0E0EE0FFF1FE45EFD4F0190F081F1 -:1066A000E02DE253FE4F5BC0C430D10509F488C031 -:1066B000259709F0CBC042E060E082E796E10E94B6 -:1066C0005A4BE0917B13F0E0EE0FFF1FE45EFD4FAD -:1066D0000190F081E02DEA52FE4F80819181FED938 -:1066E00043E060E082E796E10E945A4BE0917B1321 -:1066F000F0E0EE0FFF1FE45EFD4F0190F081E02D12 -:10670000EE52FE4F80819181E9D943E062E195C06C -:1067100042E060E082E796E10E945A4BE0917B13F1 -:10672000F0E0EE0FFF1FE45EFD4F0190F081E02DE1 -:10673000E653FE4F80819181D1D943E060E082E74A -:1067400096E10E945A4BE0917B13F0E0EE0FFF1FA1 -:10675000E45EFD4F0190F081E02DE853FE4F808113 -:106760009181BCD973C042E060E082E796E10E946B -:106770005A4BE0917B13F0E0EE0FFF1FE45EFD4FFC -:106780000190F081E02DE053FE4F80819181A6D9E8 -:1067900043E060E082E796E10E945A4BE0917B1370 -:1067A000F0E0EE0FFF1FE45EFD4F0190F081E02D61 -:1067B000E253FE4F8081918191D943E061E13DC078 -:1067C00042E060E082E796E10E945A4BE0917B1341 -:1067D000F0E0EE0FFF1FE45EFD4F0190F081E02D31 -:1067E000EE52FE4F8081918179D942E062E182E7E9 -:1067F00096E10E945A4BB80182E796E10E94F2F5B9 -:1068000043E060E082E796E10E945A4BE0917B13FF -:10681000F0E0EE0FFF1FE45EFD4F0190F081E02DF0 -:10682000EC52FE4F8081918159D943E062E182E7C9 -:1068300096E10E945A4BB70105C082E796E10E949B -:106840005A4BB80182E796E10E94F2F568EE73E0D8 -:1068500080E090E00E94B8F00E94A98F64E670E0AA -:1068600080E090E00E94B8F00E94174680E00E940D -:10687000DB700E9409A5882389F3E0917B13F0E087 -:10688000EE0FFF1FE45EFD4F0190F081E02DEC5014 -:10689000FE4F808191810E9483A3DF91CF911F9150 -:1068A0000F91FF90EF900C9489966F927F928F9248 -:1068B0009F92AF92BF92CF92DF92EF92FF920F938F -:1068C0001F93CF93DF931F92CDB7DEB73C016B01CF -:1068D0007A01580129830E9489F0605C7D4B8F4FBB -:1068E0009F4F609362167093631680936416909323 -:1068F00065162981EC14FD042CF49DE3892E9EE09D -:10690000992E04C088E2882E8EE0982E21110E94D4 -:10691000A58F40E060E082E796E10E945A4B8FEF3E -:106920006816780669F4E0917B13F0E0EE0FFF1F24 -:10693000E45EFD4F0190F081E02DEE51FE4F0FC05F -:106940006114710481F4E0917B13F0E0EE0FFF1FFE -:10695000E45EFD4F0190F081E02DEC51FE4F80810F -:106960009181BCD839C0E1E06E16710481F4E091E8 -:106970007B13F0E0EE0FFF1FE45EFD4F0190F0810E -:10698000E02DEA51FE4F80819181A8D836C0F2E017 -:106990006F16710481F4E0917B13F0E0EE0FFF1F9E -:1069A000E45EFD4F0190F081E02DE851FE4F8081C3 -:1069B000918194D844C083E06816710469F4E09131 -:1069C0007B13F0E0EE0FFF1FE45EFD4F0190F081BE -:1069D000E02DE651FE4F43C0E4E06E16710469F409 -:1069E000E0917B13F0E0EE0FFF1FE45EFD4F01909E -:1069F000F081E02DE451FE4F32C0F5E06F167104D6 -:106A000069F4E0917B13F0E0EE0FFF1FE45EFD4FB1 -:106A10000190F081E02DE251FE4F21C086E0681622 -:106A2000710469F4E0917B13F0E0EE0FFF1FE45E68 -:106A3000FD4F0190F081E02DE051FE4F10C0E7E0E6 -:106A40006E16710479F4E0917B13F0E0EE0FFF1FF6 -:106A5000E45EFD4F0190F081E02DEC50FE4F80810F -:106A600091813CD841E060E082E796E10E945A4B78 -:106A70006AE27EE082E796E10E94F2F5F1E06F16AD -:106A8000710431F01614170434F040E050E005C0F2 -:106A900041E050E002C042E050E084012FE33EE0DC -:106AA00069E070E083E090E00E94ED8E82E068167D -:106AB000710439F0E2E06E16710434F440E050E005 -:106AC00005C041E050E002C042E050E0840126E40D -:106AD0003EE062E070E082E090E00E94ED8EF3E044 -:106AE0006F16710439F083E06816710434F440E0E5 -:106AF00050E005C041E050E002C042E050E08401B7 -:106B000028E43EE068E070E082E090E00E94ED8ED4 -:106B1000E4E06E16710439F0F4E06F16710434F499 -:106B200040E050E005C041E050E002C042E050E0EB -:106B300084012CE73EE06EE070E082E090E00E948D -:106B4000ED8E85E06816710439F0E5E06E1671048B -:106B500034F440E050E005C041E050E002C042E0C3 -:106B600050E084012AE43EE060E070E083E090E0E1 -:106B70000E94ED8E1A141B043CF4B501882777FDA2 -:106B80008095982F0E94B8F0FFEFCF1ADF0AEE0C25 -:106B9000FF1CEC14FD041CF480E090E001C0C60171 -:106BA0000F90DF91CF911F910F91FF90EF90DF90A9 -:106BB000CF90BF90AF909F908F907F906F900895EF -:106BC0002F923F924F925F926F927F928F929F92FD -:106BD000AF92BF92CF92DF92EF92FF920F931F93EB -:106BE000CF93DF93CDB7DEB729970FB6F894DEBF0A -:106BF0000FBECDBF998788879B01CB016AE070E00B -:106C00000E9407FB4B01820E931E412C512CA12C9C -:106C1000B12C612C712C1C821B82312C88859985AA -:106C2000880F991F880F991F835A9C4E9A838983D6 -:106C300022242394E885F9853296FE83ED838885A6 -:106C400099850297B9F420E030E040E85FE3609175 -:106C500065137091661380916713909168130E9479 -:106C600062F6609365137093661380936713909335 -:106C7000681312C020E030E040E450E4E981FA817A -:106C800060817181828193810E9462F6E981FA813B -:106C90006083718382839383E9E4CE2EE3E1DE2E69 -:106CA000E12CF12C08E412E429E633E145E653E156 -:106CB00061E673E18DE593E10E94B4E10E9421DA7F -:106CC0001E9906C01D9904C01C9902C030E012C074 -:106CD00088859985892B09F094C033B036FA33241E -:106CE00030F81D9B8AC0AA24A394B12C179A109245 -:106CF0004E1331E0F6E04F16510424F48FEF481A9A -:106D0000580A10C000E010E020E043E050E06B8142 -:106D10007C818D819E813F83C8DD9C838B83412C48 -:106D2000512C3F813F830E94174680E00E94DB7018 -:106D300064E670E080E090E00E94B8F03F81861445 -:106D4000970434F09FEF691A790A332309F477CF57 -:106D500008851985000F111F000F111F035A1C4EC3 -:106D600020E030E040E751E4F801608171818281E8 -:106D700093810E9463F6F801608371838283938319 -:106D800039E4C32E33E1D32EE12CF12C08E412E4D4 -:106D900029E633E145E653E161E673E18DE593E1F0 -:106DA0000E94B4E1311058C08885998581309105E1 -:106DB00029F0029731F066E47EE005C068E47EE0E9 -:106DC00002C06CE77EE091E0A916B10439F0E2E080 -:106DD000AE16B10431F046E45EE005C048E45EE082 -:106DE00002C04CE75EE0681479041CF085E090E096 -:106DF00002C084E090E0E0DB2FC062E0A62EB12C60 -:106E000075CF88859985019781F433B035FA33249D -:106E100030F81E9B03C0A12CB12C03C052E0A52E5C -:106E2000B12C169A10924F1364CFE885F9853297EA -:106E300009F05FCF33B034FA332430F883B1829550 -:106E4000869586958370822580FBAA24A0F8B12CB4 -:106E5000159A109250134DCF832D29960FB6F894A2 -:106E6000DEBF0FBECDBFDF91CF911F910F91FF907D -:106E7000EF90DF90CF90BF90AF909F908F907F90DA -:106E80006F905F904F903F902F900895AF92BF9278 -:106E9000DF92EF92FF920F931F93CF93DF931F9296 -:106EA0001F92CDB7DEB7D82E811106C01EE1E12EAC -:106EB000F12C24E630E005C0B8E7EB2EF12C20E001 -:106EC00030E03093111120931011DD2019F024E6E9 -:106ED00030E002C020E030E030930F1120930E111B -:106EE0000E94174680E00E94DB7060E070E0A12CF9 -:106EF000B12C8FEFA81AB80A69837A830E941746CB -:106F000080E00E94DB7069817A8100E911E020E075 -:106F100042E050E0DD2019F085E090E002C081E021 -:106F200090E0C3DCBC01AE14BF041CF3109211113D -:106F30001092101110920F1110920E110E9417460C -:106F40000E94174680E00E94DB7081E00F900F9056 -:106F5000DF91CF911F910F91FF90EF90DF90BF9045 -:106F6000AF900895AF92BF92CF92DF92EF92FF92CF -:106F70000F931F93CF93DF93CDB7DEB76E970FB606 -:106F8000F894DEBF0FBECDBF00ED17E021E044E076 -:106F900050E060E070E08FEF9FEF87DC21E043E09E -:106FA00050E0BC0180E090E080DC5C011E9904C0F0 -:106FB0001D9902C01C9B48C01E9B81C120E030E08F -:106FC00040E251E460915D1370915E1380915F1314 -:106FD000909160130E9463F660935D1370935E134B -:106FE00080935F13909360131D9B72C120E030E08B -:106FF00040E251E4609161137091621380916313D8 -:10700000909164130E9463F660936113709362130E -:1070100080936313909364131C9B63C120E030E062 -:1070200040E251E46091651370916613809167139B -:10703000909168130E9463F66093651370936613D2 -:10704000809367139093681389E4C82E83E1D82E48 -:10705000E12CF12C08E412E429E633E145E653E1A2 -:1070600061E673E18DE593E10E94B4E164EF71E0C4 -:1070700080E090E00E94B8F01E9906C01D9904C0FF -:107080001C9902C011E04CC01C993AC167E77EE030 -:10709000CE0101960E9446F51D9B2CC168E47EE05E -:1070A000CE0107960E9446F51E9B27C166E47EE04E -:1070B000CE0143960E9446F5BE016D5E7F4FCE0124 -:1070C0000D960E9470F5BE01695F7F4FCE010D964F -:1070D0000E94A3F5BE016F5F7F4F0E94A3F5BC0124 -:1070E000CE0149960E9470F5CE010D960E94DEF405 -:1070F000CE0143960E94DEF4CE0107960E94DEF494 -:10710000CE0101960E94DEF4698D7A8D47E75EE03C -:1071100083E090E051DACE0149960E94DEF410E05F -:107120000E94174680E00E94DB70112309F487C09B -:1071300008EE13E021E043E050E0B50181E090E08B -:10714000B4DB5C0180E0A2DE882309F478C000EDA6 -:1071500017E021E043E050E0B50182E090E0A5DBDC -:107160005C0166ED70E080E090E02ADD882309F4A0 -:1071700066C00CED15E021E043E050E0B50183E08E -:1071800090E093DB5C0166EC70E081E090E018DD5C -:10719000882309F454C020E030E040E450E46091DA -:1071A0005D1370915E1380915F13909160130E9444 -:1071B00062F660935D1370935E1380935F139093F8 -:1071C000601320E030E040E651E46091611370917B -:1071D000621380916313909164130E9462F660932E -:1071E000611370936213809363139093641321E08F -:1071F00043E050E0B50184E090E057DB5C0169ECCE -:1072000070E082E090E0DCDC8823C9F000ED17E05C -:1072100021E043E050E0B50185E090E046DB5C0111 -:1072200081E034DEF82E882351F008E813E121E0F4 -:1072300043E050E0B50186E090E037DB0AC008E8A3 -:1072400013E121E043E050E0B50187E090E02DDB61 -:10725000F12C0E94A58F0E9489F06C597F4F8F4FAF -:107260009F4F609362167093631680936416909399 -:107270006516E0917B13F0E0EE0FFF1FE45EFD4F1B -:107280000190F081E02DFF2019F0E852FE4F02C07E -:10729000EC50FE4F808191810E9483A36E960FB6C1 -:1072A000F894DEBF0FBECDBFDF91CF911F910F913C -:1072B000FF90EF90DF90CF90BF90AF9008956091D6 -:1072C0005D1370915E1380915F139091601384CE73 -:1072D00060916113709162138091631390916413B4 -:1072E00093CE6091651370916613809167139091AE -:1072F0006813A2CE67E77EE0D3CE67E77EE0D8CE04 -:107300006CE77EE0C5CE20E030E042E053E46091DF -:1073100008117091091180910A1190910B110E942E -:107320003FF918164CF48BEA92E50E94FE628EE952 -:1073300092E50E94FE6236C00E94A58F40E060E0A8 -:1073400082E796E10E945A4BE0917B13F0E0EE0F4A -:10735000FF1FE45EFD4F0190F081E02DEA5FFE4FDC -:10736000808191810E946EAD42E060E082E796E10B -:107370000E945A4BE0917B13F0E0EE0FFF1FE45E9A -:10738000FD4F0190F081E02DE85FFE4F80819181FB -:107390000E946EAD60ED77E080E090E00E94B8F072 -:1073A0000E94A58F0C9489960E94A58F41E060E011 -:1073B00082E796E10E945A4BE0917B13F0E0EE0FDA -:1073C000FF1FE45EFD4F0190F081E02DE05EFE4F77 -:1073D000808191810E946EAD42E060E082E796E19B -:1073E0000E945A4BE0917B13F0E0EE0FFF1FE45E2A -:1073F000FD4F0190F081E02DE25EFE4F8081918192 -:107400000C946EAD0E94A58F42E060E082E796E1A9 -:107410000E945A4BE0917B13F0E0EE0FFF1FE45EF9 -:10742000FD4F0190F081E02DE45EFE4F808191815F -:107430000C946EAD1F93CF93DF930E94A58F40E015 -:1074400060E082E796E10E945A4BE0917B13F0E006 -:10745000EE0FFF1FE45EFD4F0190F081E02DE65E30 -:10746000FE4F808191810E946EAD42E060E082E734 -:1074700096E10E945A4BE0917B13F0E0EE0FFF1F64 -:10748000E45EFD4F0190F081E02DE85EFE4F8081CB -:1074900091810E946EAD10E043E0612F82E796E19A -:1074A0000E945A4B60E17EE082E796E10E94F2F58D -:1074B000CAE0D0E00E94174681E00E94DB7065E5DB -:1074C00070E080E090E00E94B8F02197209791F75B -:1074D0001F5F143109F7DF91CF911F9108951F931A -:1074E000CF93DF930E94A58F40E060E082E796E1B2 -:1074F0000E945A4BE0917B13F0E0EE0FFF1FE45E19 -:10750000FD4F0190F081E02DEA5EFE4F8081918178 -:107510000E946EAD42E060E082E796E10E945A4B25 -:10752000E0917B13F0E0EE0FFF1FE45EFD4F019052 -:10753000F081E02DE85EFE4F808191810E946EAD6A -:1075400010E043E0612F82E796E10E945A4B60E130 -:107550007EE082E796E10E94F2F5CAE0D0E00E9468 -:10756000174681E00E94DB706EE670E080E090E0FC -:107570000E94B8F02197209791F71F5F143109F707 -:10758000DF91CF911F9108950F931F93CF93DF93B6 -:107590000E94A58F40E060E082E796E10E945A4B8E -:1075A000E0917B13F0E0EE0FFF1FE45EFD4F0190D2 -:1075B000F081E02DE45FFE4F808191810E946EADED -:1075C00041E061E082E796E10E945A4BE0917B1333 -:1075D000F0E0EE0FFF1FE45EFD4F0190F081E02D23 -:1075E000E25FFE4F808191810E946EAD42E061E0DA -:1075F00082E796E10E945A4BE0917B13F0E0EE0F98 -:10760000FF1FE45EFD4F0190F081E02DEE5EFE4F26 -:10761000808191810E946EAD43E061E082E796E156 -:107620000E945A4BE0917B13F0E0EE0FFF1FE45EE7 -:10763000FD4F0190F081E02DEC5EFE4F8081918145 -:107640000E946EAD41E060E082E796E10E945A4BF5 -:1076500062E17EE082E796E10E94F2F50091FA167F -:10766000112707FD1095C1E0D0E080917C13909127 -:107670007D13892B09F072C00E94174681E00E9499 -:10768000DB702091FA16332727FD3095C801821B45 -:10769000930B97FF03C091958195910905970CF481 -:1076A0004DC0201731070CF42197021713070CF473 -:1076B0002196C430D1052CF4209729F4C1E0D0E004 -:1076C00002C0C3E0D0E041E060E082E796E10E94C2 -:1076D0005A4B64E77EE082E796E10E94F2F542E0D1 -:1076E00060E082E796E10E945A4B64E77EE082E721 -:1076F00096E10E94F2F543E060E082E796E10E94A5 -:107700005A4B64E77EE082E796E10E94F2F54C2F47 -:1077100060E082E796E10E945A4B62E17EE082E7F8 -:1077200096E10E94F2F50091FA16112707FD1095D7 -:1077300064E670E080E090E00E94B8F00E9409A545 -:10774000882309F492CFD0937D13C0937C1364EF08 -:1077500071E080E090E00E94B8F087CF0E94A58F92 -:10776000DF91CF911F910F910C94899620E030E02A -:1077700042E053E4609108117091091180910A115F -:1077800090910B110E943FF91816ECF481E0809360 -:10779000721381E090E09093E4168093E316EEE498 -:1077A000FEE08191882339F09091C00095FFFCCFD5 -:1077B0008093C600F6CF8091C00085FFFCCF8AE0A1 -:1077C0008093C60036C00E94A58F40E060E082E74B -:1077D00096E10E945A4BE0917B13F0E0EE0FFF1F01 -:1077E000E45EFD4F0190F081E02DEA5FFE4F808165 -:1077F00091810E946EAD42E060E082E796E10E94D6 -:107800005A4BE0917B13F0E0EE0FFF1FE45EFD4F5B -:107810000190F081E02DE85FFE4F808191810E9410 -:107820006EAD60ED77E080E090E00E94B8F00E94DD -:10783000A58F0C9489968F929F92AF92BF92DF9200 -:10784000EF92FF920F931F93CF93DF931092E61660 -:107850008091671690916816A0916916B0916A168A -:1078600081309048A105B10540F010926716109242 -:1078700068161092691610926A1680916716909198 -:107880006816A0916916B0916A16B695A795979556 -:1078900087954091701650E060E070E0841795077E -:1078A000A607B70710F480937016D0917016109148 -:1078B000711612FB112710F9C0E0DD24D394D11109 -:1078C00044C080915B0C882309F1E0917B13F0E0C8 -:1078D000EE0FFF1FE45EFD4F0190F081E02DE055BB -:1078E000FF4F608171818091671690916816A09119 -:1078F0006916B0916A1623E00297A105B10510F44C -:1079000043E001C040E28C2F0E94B68E1123E9F0C3 -:107910008091671690916816A0916916B0916A16C9 -:107920000297A105B10588F40E94CC8F87E893ECFB -:10793000DF91CF911F910F91FF90EF90DF90BF905B -:10794000AF909F908F900C94F48F80919013811141 -:1079500005C080918113882309F466C020E030E0DF -:1079600040E05FE360916513709166138091671347 -:10797000909168130E943CF787FF56C064EF76E150 -:107980008CEF9FE00E94D89C66EF76E18AEF9FE043 -:107990000E94D89C68EF76E188EF9FE00E94D89C17 -:1079A000D13011F002E041C080915B0C882329F1B5 -:1079B000E0917B13F0E0EE0FFF1FE45EFD4F0190BE -:1079C000F081E02DE251FF4F608171818091671657 -:1079D00090916816A0916916B0916A16B695A79510 -:1079E000979587952EE70197A105B10511F44EE310 -:1079F00001C040E28C2F0E94B68E112399F2809133 -:107A0000671690916816A0916916B0916A16B6959E -:107A1000A795979587950197A105B10519F60E943D -:107A2000CC8F84EB9FEA39C001E00E9458EC409172 -:107A30006716509168166091691670916A168111E7 -:107A400009C080919013811105C080918113882312 -:107A500009F455C00D135BC080915B0C81112AC0E5 -:107A6000112309F454C08091671690916816A09173 -:107A70006916B0916A16B695A79597958795402F88 -:107A800050E060E070E084179507A607B70709F09B -:107A90003EC00E94CC8F8DE899EADF91CF911F9173 -:107AA0000F91FF90EF90DF90BF90AF909F908F90DD -:107AB0000C94F98FE0917B13F0E0EE0FFF1FE45E72 -:107AC000FD4F0190F081E02DEC54FF4F0190F081CB -:107AD000E02D7695679557954795802F90E0A0E02B -:107AE000B0E02EE7481759076A077B0711F44EE309 -:107AF00001C040E2BF018C2F0E94B68EB1CF0D13A2 -:107B000006C080915B0C81116DC3111190C30F5F92 -:107B10008091911340916716509168166091691693 -:107B200070916A16882309F417C18091791588230A -:107B300009F4FBC080919013882309F452C00D13FF -:107B4000A0C080915B0C882321F1E0917B13F0E0D1 -:107B5000EE0FFF1FE45EFD4F0190F081E02DEA542F -:107B6000FF4F0190F081E02D7695679557954795E9 -:107B7000802F90E0A0E0B0E020E2481759076A07A4 -:107B80007B0711F44EE301C040E2BF018C2F0E943D -:107B9000B68E112309F475C080916716909168160E -:107BA000A0916916B0916A16B695A7959795879595 -:107BB000402F50E060E070E084179507A607B707F4 -:107BC00009F05FC00E94CC8FDF91CF911F910F9180 -:107BD000FF90EF90DF90BF90AF909F908F900C94AC -:107BE00071960D134EC080915B0C882321F1E091BA -:107BF0007B13F0E0EE0FFF1FE45EFD4F0190F0817C -:107C0000E02DE854FF4F0190F081E02D76956795C7 -:107C100057954795802F90E0A0E0B0E020E248170C -:107C200059076A077B0711F44EE301C040E2BF0128 -:107C30008C2F0E94B68E112321F1809167169091AE -:107C40006816A0916916B0916A16B695A795979592 -:107C50008795402F50E060E070E084179507A607F5 -:107C6000B70779F40E94CC8FDF91CF911F910F91CC -:107C7000FF90EF90DF90BF90AF909F908F900C940B -:107C80006796FF24F394F00EFD124CC080915B0CBC -:107C9000882361F1E0917B13F0E0EE0FFF1FE45EBB -:107CA000FD4F0190F081E02DE654FF4F0190F081EF -:107CB000E02D8091671690916816A0916916B09199 -:107CC0006A16B695A795979587954F2D50E060E079 -:107CD00070E02EE784179507A607B70711F44EE367 -:107CE00001C040E2BF018C2F0E94B68E1123D1F05B -:107CF0008091671690916816A0916916B0916A16E6 -:107D0000B695A795979587954F2D50E060E070E068 -:107D100084179507A607B70729F40E94CC8F88E936 -:107D200098ECBBCE01E00F0D5EC0809181138111F4 -:107D30005AC00D1357C080915B0C8823A9F1E091C4 -:107D40007B13F0E0EE0FFF1FE45EFD4F0190F0812A -:107D5000E02DE454FF4F12C00D1344C080915B0C22 -:107D6000882311F1E0917B13F0E0EE0FFF1FE45E3A -:107D7000FD4F0190F081E02DE254FF4F0190F08122 -:107D8000E02D7695679557954795802F90E0A0E078 -:107D9000B0E02EE7481759076A077B0709F140E270 -:107DA000BF018C2F0E94B68E1123E1F080916716DF -:107DB00090916816A0916916B0916A16B695A7952C -:107DC00097958795402F50E060E070E08417950705 -:107DD000A607B70739F40E94CC8F89E799E95DCEF1 -:107DE0004EE3DECF0F5F80919013811102C180912D -:107DF00081138111FEC00D1355C080915B0C882347 -:107E000061F1E0917B13F0E0EE0FFF1FE45EFD4FA8 -:107E10000190F081E02DEE5FFE4F0190F081E02DAA -:107E20008091671690916816A0916916B0916A16B4 -:107E3000B695A79597958795402F50E060E070E044 -:107E400020E284179507A607B70711F44EE301C097 -:107E500040E2BF018C2F0E94B68E112319F1809150 -:107E6000671690916816A0916916B0916A16B6953A -:107E7000A79597958795402F50E060E070E08417B4 -:107E80009507A607B70771F40E94CC8FDF91CF91B9 -:107E90001F910F91FF90EF90DF90BF90AF909F9058 -:107EA0008F9064CCEE24E394E00EED1252C08091EA -:107EB0005B0C882349F1E0917B13F0E0EE0FFF1F8C -:107EC000E45EFD4F0190F081E02DF39560817181BA -:107ED0008091671690916816A0916916B0916A1604 -:107EE000B695A795979587958D2E912CA12CB12CA1 -:107EF00020E288159905AA05BB0511F44EE301C0DF -:107F000040E28C2F0E94B68E112319F180916716E2 -:107F100090916816A0916916B0916A16B695A795CA -:107F2000979587954E2D50E060E070E08417950797 -:107F3000A607B70771F40E94CC8FDF91CF911F91F4 -:107F40000F91FF90EF90DF90BF90AF909F908F9038 -:107F5000DAC932E0E32EE00EED124AC080915B0CEC -:107F6000882351F1E0917B13F0E0EE0FFF1FE45EF8 -:107F7000FD4F0190F081E02DE450FF4F6081718151 -:107F80008091671690916816A0916916B0916A1653 -:107F9000B695A795979587958D2E912CA12CB12CF0 -:107FA0002EE788159905AA05BB0511F44EE301C01B -:107FB00040E28C2F0E94B68E1123D1F0809167167B -:107FC00090916816A0916916B0916A16B695A7951A -:107FD000979587954E2D50E060E070E084179507E7 -:107FE000A607B70729F40E94CC8F83E69DE955CDFB -:107FF0000D5F8091811381114FC00D134CC0809192 -:108000005B0C882361F1E0917B13F0E0EE0FFF1F22 -:10801000E45EFD4F0190F081E02DEA50FE4F0190AB -:10802000F081E02D8091671690916816A0916916F5 -:10803000B0916A16B695A79597958795402F50E011 -:1080400060E070E02EE784179507A607B70711F4E4 -:108050004EE301C040E2BF018C2F0E94B68E112377 -:10806000D1F08091671690916816A0916916B09131 -:108070006A16B695A79597958795402F50E060E0D2 -:1080800070E084179507A607B70729F40E94CC8FE4 -:1080900089E390EB02CD0F5F0D134CC080915B0C18 -:1080A000882361F1E0917B13F0E0EE0FFF1FE45EA7 -:1080B000FD4F0190F081E02DE65FFE4F0190F081D1 -:1080C000E02D8091671690916816A0916916B09185 -:1080D0006A16B695A79597958795402F50E060E072 -:1080E00070E02EE784179507A607B70711F44EE353 -:1080F00001C040E2BF018C2F0E94B68E1123D1F047 -:108100008091671690916816A0916916B0916A16D1 -:10811000B695A79597958795402F50E060E070E061 -:1081200084179507A607B70729F40E94CC8F8EEF16 -:108130009FE8B3CCFF24F394F00E40916716509162 -:1081400068166091691670916A16769567955795CD -:1081500047958F2D90E0A0E0B0E0481759076A07D7 -:108160007B0788F08F2D90E0880F991F0197AA2731 -:1081700097FDA095BA2F8093671690936816A093E9 -:108180006916B0936A16409167165091681660910F -:10819000691670916A1676956795579547958091FF -:1081A000701690E00396242F30E0821793074CF46A -:1081B0008DEF840F80937016D0925B0CDCEFD40FA0 -:1081C000CFEFCF5FDF5FC43008F479CBDF91CF9181 -:1081D0001F910F91FF90EF90DF90BF90AF909F9015 -:1081E0008F900895E0917B13F0E0EE0FFF1FE45EA7 -:1081F000FD4F0190F081E02DE250FF4F0190F081A2 -:10820000E02D7695679557954795802F90E0A0E0F3 -:10821000B0E02EE7481759076A077B0711F44EE3D1 -:1082200001C040E2BF018C2F0E94B68E6ECC8091BF -:10823000671690916816A0916916B0916A16B69566 -:10824000A79597958795402F50E060E070E08417E0 -:108250009507A607B70709F05ACC0E94CC8F88E291 -:1082600097E91BCC0F931F93CF93DF930E94A58FA9 -:1082700040E060E082E796E10E945A4BE0917B1378 -:10828000F0E0EE0FFF1FE45EFD4F0190F081E02D66 -:10829000EE50FF4F808191810E946EAD41E061E020 -:1082A00082E796E10E945A4BE0917B13F0E0EE0FDB -:1082B000FF1FE45EFD4F0190F081E02DE25FFE4F75 -:1082C000808191810E946EAD42E061E082E796E19B -:1082D0000E945A4BE0917B13F0E0EE0FFF1FE45E2B -:1082E000FD4F0190F081E02DE05FFE4F8081918194 -:1082F0000E946EAD41E060E082E796E10E945A4B39 -:1083000062E17EE082E796E10E94F2F50091FA16C2 -:10831000112707FD1095C1E0D0E00E94174681E0CB -:108320000E94DB702091FA16332727FD3095C80193 -:10833000821B930B97FF03C0919581959109059737 -:108340000CF441C0201731070CF4219702171307D2 -:108350000CF42196C330D1052CF4209729F4C1E008 -:10836000D0E002C0C2E0D0E041E060E082E796E108 -:108370000E945A4B64E77EE082E796E10E94F2F5A4 -:1083800042E060E082E796E10E945A4B64E77EE0BB -:1083900082E796E10E94F2F54C2F60E082E796E1D9 -:1083A0000E945A4B62E17EE082E796E10E94F2F57C -:1083B0000091FA16112707FD109564E670E080E041 -:1083C00090E00E94B8F00E9409A5882309F4A5CF87 -:1083D0002197D9F464EF76E18CEF9FE00E94D89C5E -:1083E00066EF76E18AEF9FE00E94D89C68EF76E125 -:1083F00088EF9FE00E94D89C8091F8169091F91622 -:10840000909300118093FF101EC01092F5161092E9 -:10841000F4161092F7161092F6161092F9161092A2 -:10842000F81664EF76E18CEF9FE00E94C79C66EF40 -:1084300076E18AEF9FE00E94C79C68EF76E188EFC3 -:108440009FE00E94C79C64EF71E080E090E00E9492 -:10845000B8F00E94A58FDF91CF911F910F910C94DE -:1084600089960F931F93CF93DF93EC01843091058E -:108470003CF08530910539F08C010350110905C09D -:1084800000E010E002C001E010E040E060E082E7C0 -:1084900096E10E945A4B61E67EE082E796E10E94F7 -:1084A000F2F540E061E082E796E10E945A4BF80164 -:1084B000EE0FFF1FE45EFD4F0190F081E02DE654CA -:1084C000FE4F808191810E946EAD41E060E082E7C5 -:1084D00096E10E945A4B61E67EE082E796E10E94B7 -:1084E000F2F541E061E082E796E10E945A4BF80123 -:1084F000EE0FFF1FE25EFD4F0190F081E02DE6548C -:10850000FE4F808191810E946EAD42E060E082E783 -:1085100096E10E945A4B61E67EE082E796E10E9476 -:10852000F2F542E061E082E796E10E945A4BF801E1 -:10853000EE0FFF1FE05EFD4F0190F081E02DE6544D -:10854000FE4F808191810E946EAD43E060E082E742 -:1085500096E10E945A4B61E67EE082E796E10E9436 -:10856000F2F543E061E082E796E10E945A4BF801A0 -:10857000EE0FFF1FEE5DFD4F0190F081E02DE65400 -:10858000FE4F808191810E946EADC130D10511F402 -:1085900040E012C0C230D10511F441E00DC0C3303B -:1085A000D1057CF042E060E082E796E10E945A4B00 -:1085B000C530D10531F443E060E082E796E10E94E6 -:1085C0005A4B62E17EE082E796E10E94F2F5249741 -:1085D0004CF443E063E182E796E10E945A4B66E780 -:1085E0007EE008C040E063E182E796E10E945A4BDA -:1085F00068E77EE082E796E1DF91CF911F910F91CE -:108600000C94F2F50F931F93CF93DF938FEF80932A -:108610007B130E946E9C0E94A58F81E090E021DF79 -:108620000091FA16112707FD1095C1E0D0E02091C6 -:108630007B1380917C1790917D1740917E1750910C -:108640007F172F3F41F49C01241B350B2F773327D5 -:1086500022303105A4F0841B950B8F779927029760 -:1086600024F010927B1310925E0C0E94929C0E9448 -:10867000A58FDF91CF911F910F910C9489960E9445 -:10868000174681E00E94DB702091FA16332727FD00 -:108690003095C801821B930B97FF03C0919581957C -:1086A00091090597F4F0201731070CF42197021770 -:1086B00013070CF42196C630D1052CF4209729F429 -:1086C000C1E0D0E002C0C5E0D0E0CE01CADE00913A -:1086D000FA16112707FD109564E670E080E090E03F -:1086E00004C064E170E080E090E00E94B8F00E9475 -:1086F00009A5882309F49BCF8C2F81500E94B39445 -:1087000064EF71E080E090E00E94B8F090CF8F922B -:108710009F92AF92BF92CF92DF92EF92FF920F9310 -:108720001F93CF93DF93CDB7DEB728970FB6F8949A -:10873000DEBF0FBECDBF80915E0C813009F040C01E -:1087400010925E0C0E94B69CE0917B13F0E0EE0F5D -:10875000FF1FE45EFD4F0190F081E02D608171818B -:1087600044E150E08EEB96E10F946F008DEE9FE0B8 -:108770000F9427038F3F01F58EEE9FE00F942703A0 -:108780008F3FD1F48FEE9FE00F9427038F3FA1F42A -:1087900080EF9FE00F9427038F3F71F440E050E09B -:1087A000BA018DEE9FE00F94340340E050E0BA012F -:1087B00081EF9FE00F94340380914616811122DFF0 -:1087C00080916116882321F081508093611603C047 -:1087D00081E080935B0C80915B0C882309F40DC4CD -:1087E0008091E7168F5F8093E7168E3129F40E94FF -:1087F0007C961092E7160EC06AE00E94E6FA91118C -:1088000009C020E044E064E182E796E10E946A4CFE -:108810000E94198E20E030E040E05FE36091081193 -:108820007091091180910A1190910B110E9463F6C9 -:108830000E94ABF778876F836091101170911111CE -:10884000882777FD8095982F0E94DEF720E030E0A2 -:1088500040E05FE30E9463F60E94ABF77E836D8386 -:1088600040E060E082E796E10E945A4B62E082E7D6 -:1088700096E10E94F3F5CE0107960E9451A7BC0134 -:1088800082E796E10E94F2F56FE282E796E10E94AC -:10889000F3F5CE0105960E94C2ACBC0182E796E1D9 -:1088A0000E94F2F581E293E50E946EAD63E77EE0FF -:1088B00082E796E10E94F2F540E06AE082E796E105 -:1088C0000E945A4B6AE77EE082E796E10E94F2F549 -:1088D0002CEA35EC47E257E360916513709166131B -:1088E00080916713909168130E9463F669837A837D -:1088F0008B839C83CE0101960E947FA6BC0182E7F8 -:1089000096E10E94F2F560E282E796E10E94F3F5BB -:1089100041E060E082E796E10E945A4B20E030E0BF -:1089200040E05FE3609102117091031180910411A6 -:10893000909105110E9463F60E94ABF778876F83D0 -:1089400060910E1170910F11882777FD8095982FF7 -:108950000E94DEF720E030E040E05FE30E9463F633 -:108960000E94ABF77E836D8360E082E796E10E9410 -:10897000F3F5CE0107960E9451A7BC0182E796E16C -:108980000E94F2F56FE282E796E10E94F3F5CE01D4 -:1089900005960E94C2ACBC0182E796E10E94F2F506 -:1089A0008EE193E50E946EAD63E77EE082E796E19B -:1089B0000E94F2F541E06AE082E796E10E945A4B9C -:1089C00063E77EE082E796E10E94F2F566E082E7E7 -:1089D00096E10E94F3F589E49CE00E9451A7BC0156 -:1089E00082E796E10E94F2F565E282E796E10E9455 -:1089F000F3F560E77EE082E796E10E94F2F542E05F -:108A000060E082E796E10E945A4B809181138823AF -:108A100019F08BE193E502C088E193E50E946EAD09 -:108A2000809190138823A9F180917915882319F1F9 -:108A30008091231690912416A0912516B0912616A8 -:108A40000097A105B105B9F0BC01CD016D597F4F6B -:108A50008F4F9F4F24E630E040E050E00E941AFB29 -:108A600060912B1670912C1680912D1690912E16D8 -:108A70000E941AFB01C020E030E03A832983CE0136 -:108A800001960E9451A7BC0182E796E10E94F2F58F -:108A90000DC080918113882329F083E193E50E9422 -:108AA0006EAD09C08FE093E50E946EAD65E282E78E -:108AB00096E10E94F3F56FE67EE082E796E10E9480 -:108AC000F2F542E06AE082E796E10E945A4B63E7E2 -:108AD0007EE082E796E10E94F2F567E082E796E1A8 -:108AE0000E94F3F580916B1190916C11A0916D1122 -:108AF000B0916E11892B8A2B8B2BE1F10E9489F0AA -:108B000020E6C22E2AEED22EE12CF12CA7019601EE -:108B10000E941AFB49015A0160916B1170916C110E -:108B200080916D1190916E11A70196010E941AFB20 -:108B3000C401821B930B6CE370E00E94F3FA182FC0 -:108B40006983CE0101960E940FA5BC0182E796E1E0 -:108B50000E94F2F56AE382E796E10E94F3F5198339 -:108B6000CE0101960E940FA5BC0182E796E10E940A -:108B7000F2F504C089E093E50E946EAD63E77EE004 -:108B800082E796E10E94F2F543E060E082E796E139 -:108B90000E945A4B8091751390917613009719F0AB -:108BA00021E020937213309190132091721333239C -:108BB00009F476C0211174C06FE973E187E896E18A -:108BC0000F94DE00892BD1F0E7E8F6E1DF010D908C -:108BD0000020E9F7AD01415051094758564160E086 -:108BE00070E0CF010F94AE006FE973E187E896E182 -:108BF0000F94E7001092BD161092BC16EFE9F3E156 -:108C000001900020E9F7E05AF341759708F445C058 -:108C10000091BC161091BD16C12CD12C8091BC16B0 -:108C20009091BD169801281B390B2431310534F081 -:108C300001969093BD168093BC169AC1C114D104BD -:108C4000B9F7F801E257FC4E7F019189602F681B4C -:108C500043E0911115C082E796E10E945A4BD7017B -:108C600050966C9182E796E10E94F3F51092BD1642 -:108C70001092BC1600E010E0CC24C394D12CCECFCF -:108C800082E796E10E945A4BF701608982E796E1FC -:108C90000E94F3F50F5F1F4FC1CF67E876E164C113 -:108CA000222309F45FC1892B09F4A1C080917313B9 -:108CB0009091741301968E30910528F4909374135B -:108CC0008093731304C0109274131092731343E0D3 -:108CD00067E082E796E10E945A4B8BEF92E50E9493 -:108CE0006EAD00E010E0809173139091741308173B -:108CF000190770F467E0600F43E082E796E10E9495 -:108D00005A4B89EF92E50E946EAD0F5F1F4FEBCF7C -:108D100080917513909176138230910581F1B0F4B2 -:108D2000019709F064C043E060E082E796E10E94A9 -:108D30005A4BE0917B13F0E0EE0FFF1FE45EFD4F16 -:108D40000190F081E02DE05AFE4F3EC08330910546 -:108D500049F1049709F04BC043E060E082E796E1F7 -:108D60000E945A4BE0917B13F0E0EE0FFF1FE45E90 -:108D7000FD4F0190F081E02DEA59FE4F2AC043E0FB -:108D800060E082E796E10E945A4BE0917B13F0E0AD -:108D9000EE0FFF1FE45EFD4F0190F081E02DEE59D4 -:108DA000FE4F17C043E060E082E796E10E945A4B15 -:108DB000E0917B13F0E0EE0FFF1FE45EFD4F0190AA -:108DC000F081E02DEC59FE4F808191810E946EADC3 -:108DD0000EC0808191810E946EAD10927613109228 -:108DE0007513109274131092731310927213809172 -:108DF000701390917113019709F0AEC080916E13BA -:108E000090916F138B309105A8F143E060E082E709 -:108E100096E10E945A4B61E67EE082E796E10E946D -:108E2000F2F543E060E082E796E10E945A4BE09160 -:108E30007B13F0E0EE0FFF1FE45EFD4F0190F08129 -:108E4000E02DE850FF4F808191810E946EAD6EE76A -:108E50007EE082E796E10E94F2F560916E137091D8 -:108E60006F136A5071094AE050E082E796E10E9470 -:108E70005DF672C0039711F5E0917B13F0E0EE0F01 -:108E8000FF1FE45EFD4F0190F081E02D8081918114 -:108E90000E946EADE0917B13F0E0EE0FFF1FE45EE9 -:108EA000FD4F0190F081E02D808191810E9489A188 -:108EB00010927213109271131092701380916E13AE -:108EC00090916F130497069758F543E060E082E7AE -:108ED00096E10E945A4B62E67EE082E796E10E94AC -:108EE000F2F543E060E082E796E10E945A4BE091A0 -:108EF0007B13F0E0EE0FFF1FE45EFD4F0190F08169 -:108F0000E02DE650FF4F808191810E946EAD8091EF -:108F10006E1390916F13019790936F1380936E135C -:108F200080916E1390916F130A97B1F4E0917B13C7 -:108F3000F0E0EE0FFF1FE45EFD4F0190F081E02DA9 -:108F4000E650FF4F808191810E946EAD89E090E0F4 -:108F500090936F1380936E1380917013909171139F -:108F6000029731F46EEB76E182E796E10E94F2F52A -:108F70000EEB16E1D8018D918D0180322CF460E268 -:108F800082E796E10E94F3F5B6E1023D1B0791F7F7 -:108F900080918113882331F180917213811122C055 -:108FA00043E060E082E796E10E945A4B61E67EE092 -:108FB00082E796E10E94F2F543E060E082E796E105 -:108FC0000E945A4BE0917B13F0E0EE0FFF1FE45E2E -:108FD000FD4F0190F081E02DE850FE4F808191819E -:108FE0000E946EAD8AE0809361168091E3169091A5 -:108FF000E416892B11F00E9496A18091711682FBD4 -:10900000882780F990916016992399F090915F16C6 -:10901000992339F0811119C010925F1610926016D1 -:1090200014C0882391F00E94CC8F81E080935F165A -:109030000CC0882351F021E040E050E0BA018BE100 -:109040009CEB0E94DE8F0E947C968091490C90914F -:109050004A0C20916716309168168436910534F4D5 -:10906000820F931F853691054CF416C08436910506 -:1090700099F0820F931F8436910574F4109267164D -:10908000109268161092691610926A1684E690E0A3 -:1090900090934A0C8093490C2091490C30914A0CD2 -:1090A00080916716909168162436310569F48B30EB -:1090B00091051CF0865A9F4F09C0863FEFEF9E072F -:1090C0008CF482599F4F02C0820F931F90934A0CD9 -:1090D0008093490C109267161092681610926916C8 -:1090E00010926A168091490C90914A0C8A30910531 -:1090F0001CF48AE090E005C0883E934034F087EE8F -:1091000093E090934A0C8093490C28960FB6F894FC -:10911000DEBF0FBECDBFDF91CF911F910F91FF90AA -:10912000EF90DF90CF90BF90AF909F908F90089579 -:109130000F931F93CF9340E060E082E796E10E9497 -:109140005A4BE0917B13F0E0EE0FFF1FE45EFD4F02 -:109150000190F081E02DE654FF4F808191810E94C3 -:109160006EAD42E062E082E796E10E945A4BE091E8 -:109170007B13F0E0EE0FFF1FE45EFD4F0190F081E6 -:10918000E02DE05FFE4F808191810E946EAD43E053 -:1091900062E082E796E10E945A4BE0917B13F0E097 -:1091A000EE0FFF1FE45EFD4F0190F081E02DE25FC6 -:1091B000FE4F808191810E946EAD42E060E082E7C7 -:1091C00096E10E945A4B64E77EE082E796E10E94B6 -:1091D000F2F543E060E082E796E10E945A4B64E7D3 -:1091E0007EE082E796E10E94F2F580916716909109 -:1091F0006816A0916916B0916A160397A105B1058A -:1092000064F082E090E0A0E0B0E080936716909375 -:109210006816A0936916B0936A16809167169091AC -:109220006816A0916916B0916A16181619061A06E2 -:109230001B0664F081E090E0A0E0B0E08093671648 -:1092400090936816A0936916B0936A1640916716BA -:109250004F5F60E082E796E10E945A4B62E17EE058 -:1092600082E796E10E94F2F50E9409A5882309F49D -:1092700069C08091671690916816A0916916B091A7 -:109280006A160197A105B10511F40E948996809193 -:10929000671690916816A0916916B0916A160297A8 -:1092A000A105B10509F04EC0C1E0C09338130E947A -:1092B00097DAE0917B13F0E0EE0FFF1FE45EFD4FC5 -:1092C0000190F081E02DEA53FF4F808191810E944F -:1092D00089A11092901360E08EE893E10E94D25829 -:1092E0000E9489F0609367117093681180936911EF -:1092F00090936A1100916B1110916C1120916D1176 -:1093000030916E11601B710B820B930B28EE33E0D2 -:1093100040E050E00E941AFB60917713709178133F -:109320008091791390917A130E94106C0E94899613 -:10933000C093601610925F1682E090E09093E4165E -:109340008093E316CF911F910F910895CF93DF93F0 -:10935000C1E9D2E5FE018491882341F09091C000DB -:1093600095FFFCCF8093C6003196F5CFEAEFF6E586 -:109370008491882341F09091C00095FFFCCF8093A9 -:10938000C6003196F5CF8091C00085FFFCCF8AE002 -:109390008093C600FE018491E1E9F2E5882349F05B -:1093A0009091C00095FFFCCF8093C60031968491C8 -:1093B000F5CF4091011D5091021D6091031D7091E8 -:1093C000041D82EF96E50E945A624091051D50915E -:1093D000061D6091071D7091081D8FEE96E50E9495 -:1093E0005A624091091D50910A1D60910B1D7091A8 -:1093F0000C1D8CEE96E50E945A6240910D1D509115 -:109400000E1D60910F1D7091101D89EE96E50E9452 -:109410005A628091C00085FFFCCF8AE08093C6002D -:10942000FE018491E1E9F2E5882349F09091C000C2 -:1094300095FFFCCF8093C60031968491F5CFEFEC79 -:10944000F6E58491882341F09091C00095FFFCCF10 -:109450008093C6003196F5CF8091C00085FFFCCF88 -:109460008AE08093C600FE018491E1E9F2E5882359 -:1094700049F09091C00095FFFCCF8093C6003196D3 -:109480008491F5CF4091111D5091121D6091131DD3 -:109490007091141D86EC96E50E945A624091151D4C -:1094A0005091161D6091171D7091181D83EC96E563 -:1094B0000E945A624091191D50911A1D60911B1D06 -:1094C00070911C1D80EC96E50E945A6240911D1D12 -:1094D00050911E1D60911F1D7091201D8DEB96E512 -:1094E0000E945A628091C00085FFFCCF8AE0809381 -:1094F000C600FE018491E1E9F2E5882349F09091EC -:10950000C00095FFFCCF8093C60031968491F5CFC3 -:10951000EFE9F6E58491882341F09091C00095FF32 -:10952000FCCF8093C6003196F5CF8091C00085FFB7 -:10953000FCCF8AE08093C600FE018491E1E9F2E568 -:10954000882349F09091C00095FFFCCF8093C6001E -:1095500031968491F5CF4091F11C5091F21C6091AD -:10956000F31C7091F41C86E996E50E946C624091B0 -:10957000F51C5091F61C6091F71C7091F81C83E962 -:1095800096E50E946C624091F91C5091FA1C609122 -:10959000FB1C7091FC1C80E996E50E946C62409176 -:1095A000FD1C5091FE1C6091FF1C7091001D8DE808 -:1095B00096E50E946C628091C00085FFFCCF8AE036 -:1095C0008093C600FE018491E1E9F2E5882349F029 -:1095D0009091C00095FFFCCF8093C6003196849196 -:1095E000F5CFE8E5F6E58491882341F09091C0003D -:1095F00095FFFCCF8093C6003196F5CF8091C000D7 -:1096000085FFFCCF8AE08093C600FE018491E1E9EA -:10961000F2E5882349F09091C00095FFFCCF80933C -:10962000C60031968491F5CF4091E91C5091EA1C17 -:109630006091EB1C7091EC1C8FE496E50E945A62DD -:109640004091E51C5091E61C6091E71C7091E81C6C -:109650008CE496E50E945A628091C00085FFFCCFA1 -:109660008AE08093C600FE018491E1E9F2E5882357 -:1096700049F09091C00095FFFCCF8093C6003196D1 -:109680008491F5CFE9E9F5E58491882341F0909143 -:10969000C00095FFFCCF8093C6003196F5CF809136 -:1096A000C00085FFFCCF8AE08093C600FE01849154 -:1096B000E1E9F2E5882349F09091C00095FFFCCFE5 -:1096C0008093C60031968491F5CF4091ED1C509166 -:1096D000EE1C6091EF1C7091F01C80E995E50E94F2 -:1096E0005A624091D51C5091D61C6091D71C709144 -:1096F000D81C8DE895E50E945A624091211D509139 -:10970000221D6091231D7091241D8AE895E50E9419 -:109710006C624091E11C5091E21C6091E31C7091DD -:10972000E41C87E895E50E945A624091DD1C509147 -:10973000DE1C6091DF1C7091E01C84E895E50E94BE -:109740005A624091D91C5091DA1C6091DB1C7091D7 -:10975000DC1C81E895E50E945A628091C00085FF7B -:10976000FCCF8AE08093C600FE018491E1E9F2E536 -:10977000882349F09091C00095FFFCCF8093C600EC -:1097800031968491F5CFEFE6F5E58491882341F099 -:109790009091C00095FFFCCF8093C6003196F5CF25 -:1097A0008091C00085FFFCCF8AE08093C600FE0157 -:1097B0008491E1E9F2E5882349F09091C00095FF9A -:1097C000FCCF8093C60031968491F5CF4091511320 -:1097D00050915213609153137091541386E695E59E -:1097E0000E945A624091551350915613609157133D -:1097F0007091581383E695E50E945A62409159137F -:1098000050915A1360915B1370915C1380E695E55B -:109810000E945A628091C00085FFFCCF8AE080934D -:10982000C600FE018491E1E9F2E5882349F09091B8 -:10983000C00095FFFCCF8093C60031968491F5CF90 -:10984000E2E5F5E58491882341F09091C00095FF11 -:10985000FCCF8093C6003196F5CF8091C00085FF84 -:10986000FCCF8AE08093C600FE018491E1E9F2E535 -:10987000882349F09091C00095FFFCCF8093C600EB -:1098800031968491F5CF4091180250911902609160 -:109890001A0270911B0288E495E50E945A62609159 -:1098A00014027091150280911602909117020E9485 -:1098B000994AAB01BC0185E495E50E945A6260912A -:1098C00010027091110280911202909113020E9475 -:1098D000A54AAB01BC0182E495E50E945A628091E1 -:1098E000C00085FFFCCF8AE08093C600FE01849112 -:1098F000E1E9F2E5882349F09091C00095FFFCCFA3 -:109900008093C60031968491F5CFEEE0F5E5849121 -:10991000882341F09091C00095FFFCCF8093C60052 -:109920003196F5CF8091C00085FFFCCF8AE080930F -:10993000C600FE018491E1E9F2E5882349F09091A7 -:10994000C00095FFFCCF8093C60031968491F5CF7F -:1099500040911F0C5091200C6091210C7091220CB1 -:1099600084E095E50E945A6220E030E040E752E44E -:109970006091170C7091180C8091190C90911A0C31 -:109980000E9411FAAB01BC0181E095E50E945A6288 -:1099900040914113509142136091431370914413CD -:1099A0008EEF94E50E945A628091C00085FFFCCF43 -:1099B0008AE08093C600FE018491E1E9F2E5882304 -:1099C00049F09091C00095FFFCCF8093C60031967E -:1099D0008491F5CFE2EDF4E58491882341F09091F4 -:1099E000C00095FFFCCF8093C6003196F5CF8091E3 -:1099F000C00085FFFCCF8AE08093C600FE01849101 -:109A0000E1E9F2E5882349F09091C00095FFFCCF91 -:109A10008093C60031968491F5CF40913D135091CB -:109A20003E1360913F137091401388EC94E50E94BF -:109A30005A6220E030E040E752E46091130C7091EC -:109A4000140C8091150C9091160C0E9411FAAB0128 -:109A5000BC0185EC94E50E945A628091C00085FFAC -:109A6000FCCF8AE08093C600FE018491E1E9F2E533 -:109A7000882349F09091C00095FFFCCF8093C600E9 -:109A800031968491F5CFEBE6F4E58491882341F09B -:109A90009091C00095FFFCCF8093C6003196F5CF22 -:109AA0008091C00085FFFCCF8AE08093C600FE0154 -:109AB0008491E1E9F2E5882349F09091C00095FF97 -:109AC000FCCF8093C60031968491F5CF4091461328 -:109AD00050E060E070E081E694E50E946C62809165 -:109AE000C00085FFFCCF8AE08093C600FE01849110 -:109AF000E1E9F2E5882349F09091C00095FFFCCFA1 -:109B00008093C60031968491F5CF80916D138823A0 -:109B1000A1F1EEE4F4E58491882341F09091C00036 -:109B200095FFFCCF8093C6003196F5CF8091C000A1 -:109B300085FFFCCF8AE08093C600FE01C491E1E975 -:109B4000F2E5CC2349F08091C00085FFFCCFC093A3 -:109B5000C6003196C491F5CF40913F0C5091400C16 -:109B60006091410C7091420C84E494E50E945A6229 -:109B70008091C00085FFFCCF11C0E8E2F4E584913C -:109B8000882341F09091C00095FFFCCF8093C600E0 -:109B90003196F5CF8091C00085FFFCCF8AE080939D -:109BA000C600DF91CF910895AF92BF92CF92DF921E -:109BB000EF92FF920F931F93CF93DF93CDB7DEB752 -:109BC000E0970FB6F894DEBF0FBECDBF80E1EBED9E -:109BD000FCE0DE01919601900D928A95E1F780E11B -:109BE000EBEEFCE0DE01519601900D928A95E1F7D3 -:109BF00080E1EBEFFCE0DE01119601900D928A9579 -:109C0000E1F76E0181E2C80ED11C81E0E82E8DE102 -:109C1000F82E8E010F5E1F4F61E17DE1AE014F5FB7 -:109C20005F4F91EFA92E9CE1B92E20E030E0F601C4 -:109C300081919191A191B1916F01F70181939193DC -:109C4000A193B1937F01F80181919191A191B1917B -:109C50008F01FB0181939193A193B193BF01FA010D -:109C600081919191A191B191AF01F501819391936E -:109C7000A193B1935F012F5F3F4F24303105B9F6B7 -:109C80000E9468EC80E090E8ABE3B5E48093E91CC7 -:109C90009093EA1CA093EB1CB093EC1C8093E51C02 -:109CA0009093E61CA093E71CB093E81C1092ED1C67 -:109CB0001092EE1C1092EF1C1092F01C80E29EE4B9 -:109CC000A0E0B0E08093211D9093221DA093231D5E -:109CD000B093241D1092D51C1092D61C1092D71C44 -:109CE0001092D81C80E090E0A0EAB1E48093E11CDF -:109CF0009093E21CA093E31CB093E41C8DEC9CECCD -:109D0000ACECBEE38093DD1C9093DE1CA093DF1CC3 -:109D1000B093E01C80E090E0A0EAB0E48093D91C0E -:109D20009093DA1CA093DB1CB093DC1C10925913A7 -:109D300010925A1310925B1310925C1310925513E9 -:109D400010925613109257131092581310925113E9 -:109D500010925213109253131092541382ED90E00C -:109D60009093DF168093DE1682E390E09093DD16E9 -:109D70008093DC161092DB161092DA168FEF90E0CB -:109D80009093D9168093D81684E690E09093D716D6 -:109D90008093D6161092D5161092D41683E393EBC7 -:109DA000A3E2B2E48093180290931902A0931A02DE -:109DB000B0931B0260E070E08CE990E40E94934A4B -:109DC0006093140270931502809316029093170209 -:109DD00065E87BE28CEA92E40E949F4A609310025D -:109DE0007093110280931202909313020E94683FB5 -:109DF00080E090E0A0E8BFE380930C0290930D0216 -:109E0000A0930E02B0930F021092461380E090E0F0 -:109E1000A0E4B0E480931F0C9093200CA093210C3D -:109E2000B093220C40E050E064E372E44093170CDE -:109E30005093180C6093190C70931A0C10924113E4 -:109E400010924213109243131092441310923D1338 -:109E500010923E1310923F131092401340E050E0D6 -:109E600060E071E44093130C5093140C6093150C54 -:109E70007093160C10926D1380933F0C9093400CCE -:109E8000A093410CB093420C0E948271E1E9F2E58B -:109E90008491882341F09091C00095FFFCCF80937E -:109EA000C6003196F5CFE6E0F4E58491882341F0D1 -:109EB0009091C00095FFFCCF8093C6003196F5CFFE -:109EC0008091C00085FFFCCF8AE08093C600E096B9 -:109ED0000FB6F894DEBF0FBECDBFDF91CF911F91BB -:109EE0000F91FF90EF90DF90CF90BF90AF900895CB -:109EF0001F920F920FB60F9211240BB60F922F9351 -:109F00003F934F935F936F938F939F93EF93FF9341 -:109F10006091C60020917C1730917D17C901019690 -:109F20008F77992740917E1750917F178417950757 -:109F300041F0F901E450F94E608390937D178093CE -:109F40007C17FF91EF919F918F916F915F914F914E -:109F50003F912F910F900BBE0F900FBE0F901F904F -:109F600018959A01AB01211581EE3807410551057D -:109F700049F182E08093C00060E079E08DE390E0F9 -:109F80000E943CFB2150310941095109CA01B90124 -:109F900022E030E040E050E00E943CFB3093C500FE -:109FA0002093C4008091C10080618093C1008091A2 -:109FB000C10088608093C1008091C1008068809357 -:109FC000C10008951092C00020E130E0E7CF209159 -:109FD0007E1730917F1780917C1790917D178217A3 -:109FE000930771F0F901E450F94E80812F5F3F4FE4 -:109FF0002F77332730937F1720937E1790E00895B3 -:10A000008FEF9FEF089580917E1790917F17909327 -:10A010007D1780937C1708954F925F926F927F9285 -:10A020008F929F92AF92BF92CF92DF92EF92FF9268 -:10A030000F931F93CF93DF93CDB7DEB7A0970FB6E3 -:10A04000F894DEBF0FBECDBF5C014115510561051F -:10A050007105E9F420E030E040E350E060E070E0BA -:10A06000A0960FB6F894DEBF0FBECDBFDF91CF91A3 -:10A070001F910F91FF90EF90DF90CF90BF90AF9026 -:10A080009F908F907F906F905F904F905BC08E01FC -:10A090000F5F1F4FC12CD12C76014801422E512C4D -:10A0A000612C712C8FEFC81AD80AE80AF80ACB0184 -:10A0B000BA01A30192010E941AFBCA01F80161933F -:10A0C0008F01A901BC01411551056105710551F7C9 -:10A0D000F1E0CF1AD108E108F108F401EC0DFD1D03 -:10A0E00080818A3010F440E301C047E3480F5527D0 -:10A0F00047FD5095652F752F20E030E0C50122D037 -:10A1000081E0C81AD108E108F108EFEFCE16DE06AB -:10A11000EE06FE0611F7A0960FB6F894DEBF0FBE4E -:10A12000CDBFDF91CF911F910F91FF90EF90DF9006 -:10A13000CF90BF90AF909F908F907F906F905F90E7 -:10A140004F9008952115310539F48091C00085FFA5 -:10A15000FCCF4093C60008952A30310509F424C08D -:10A160005BCF9A01462F552747FD5095652F752FD8 -:10A17000E9CFCF93DF93EC0120E030E04DE050E0F9 -:10A1800060E070E0DFDF20E030E04AE050E060E0D7 -:10A1900070E0CE01DF91CF91D5CF9A01AB01662758 -:10A1A00057FD6095762FCECFCF92DF92EF92FF9240 -:10A1B000CF93DF93EC016A017B0177FF0FC020E0B2 -:10A1C00030E04DE250E060E070E0BCDFF094E094FD -:10A1D000D094C094C11CD11CE11CF11C2AE0B70131 -:10A1E000A601CE01DF91CF91FF90EF90DF90CF904D -:10A1F00013CF2115310539F48091C00085FFFCCFC4 -:10A200004093C600089508CF9A01462F50E060E0C1 -:10A2100070E0EFCFCF93DF93EC019A01AB0160E0E8 -:10A2200070E0E7DFCE01DF91CF91A3CF8F929F92B5 -:10A23000AF92BF92CF92DF92EF92FF921F93CF9394 -:10A24000DF93EC016A017B01122F20E030E0A901CD -:10A25000C701B6010E943CF787FF0CC020E030E048 -:10A260004DE250E060E070E0CE016CDFF7FAF09470 -:10A27000F7F8F094B12C60E070E080E09FE3B11655 -:10A2800041F020E030E040E251E40E9443F7B39413 -:10A29000F6CF9B01AC01C701B6010E9463F66B01CA -:10A2A0007C010E94B0F74B015C010E94DCF79B012E -:10A2B000AC01C701B6010E9462F66B017C012AE085 -:10A2C000B501A401CE01A8DE112361F0E0E1FEE0BA -:10A2D0008191882339F09091C00095FFFCCF809345 -:10A2E000C600F6CF112319F120E030E040E251E43E -:10A2F000C701B6010E9411FA6B017C010E94ABF705 -:10A300004B01AA2497FCA094BA2CB501A401CE015C -:10A310004BDFC501B4010E94DEF79B01AC01C70110 -:10A32000B6010E9462F66B017C011150DBCFDF9118 -:10A33000CF911F91FF90EF90DF90CF90BF90AF90A3 -:10A340009F908F90089572CFCF93DF931F92CDB7D8 -:10A35000DEB7698341E050E0BE016F5F7F4F049636 -:10A360000E94C4370F90DF91CF910895FB010190B7 -:10A370000020E9F7AF0141505109461B570B0496E5 -:10A380000C94C43780919917811109C08091981756 -:10A39000811105C080919717811101C00895E1E9ED -:10A3A000F2E58491882341F09091C00095FFFCCFA5 -:10A3B0008093C6003196F5CFE0917B13F0E0EE0F6D -:10A3C000FF1FE45EFD4F0190F081E02DE455FE4F4C -:10A3D0000190F081E02D8491882341F09091C0009C -:10A3E00095FFFCCF8093C6003196F5CF80919917E9 -:10A3F000882371F160919A1770919B1780919C1737 -:10A4000090919D170E94DEF72091011D3091021D51 -:10A410004091031D5091041D0E9443F7AB01BC0104 -:10A4200087E397E50E945A62E0917B13F0E0EE0F1C -:10A43000FF1FE45EFD4F0190F081E02DE455FE4FDB -:10A4400065E377E5808191810E94374D0E9489A163 -:10A4500080919817882371F160919E1770919F17D2 -:10A460008091A0179091A1170E94DEF72091051D01 -:10A470003091061D4091071D5091081D0E9443F721 -:10A48000AB01BC0181E397E50E945A62E0917B1326 -:10A49000F0E0EE0FFF1FE45EFD4F0190F081E02D34 -:10A4A000E455FE4F6FE277E5808191810E94374D40 -:10A4B0000E9489A180919717882371F16091A2175A -:10A4C0007091A3178091A4179091A5170E94DEF7B1 -:10A4D0002091091D30910A1D40910B1D50910C1DBA -:10A4E0000E9443F7AB01BC018BE297E50E945A62E0 -:10A4F000E0917B13F0E0EE0FFF1FE45EFD4F019053 -:10A50000F081E02DE455FE4F69E277E5808191818D -:10A510000E94374D0E9489A18091C00085FFFCCF29 -:10A520008AE08093C60010929917109298171092A3 -:10A5300097170895109299171092981710929717DD -:10A5400008958093730C0895EFE6F0E080818260B7 -:10A55000808308951F920F920FB60F9211240BB6AD -:10A560000F920F931F932F933F934F935F936F938C -:10A570007F938F939F93AF93BF93EF93FF938091BC -:10A58000CA179091CB17892B09F09EC19091CD17D6 -:10A590008091CC17981771F0E091CC178DE4E89F6B -:10A5A000F0011124E253F84EDF01A45BBF4F81E0BC -:10A5B0008C9302C0E0E0F0E0F093CB17E093CA1771 -:10A5C000309709F47BC1DF01A45BBF4F81E08C931E -:10A5D0001092AD171092AE171092AF171092B017DD -:10A5E00060AD71AD61349CE9790728F461329EE475 -:10A5F000790748F002C060E47CE976956795769526 -:10A60000679584E007C0613197E2790730F076956D -:10A61000679582E08093AA1707C08093AA176032DB -:10A62000710510F460E270E060527109611588E014 -:10A630007807D0F0872F9927880F991F880F991FC7 -:10A64000855C944AFC01329645915491AA27659FF6 -:10A650009001649F210D3A1F06942A1F3A1F11246E -:10A66000FC01859194911DC0CB01969587958C7FB7 -:10A67000855C984AFC01459154910296FC018591B4 -:10A680009491FB01E770FF278E9F90018F9F300D03 -:10A690009E9F300D112403E0369527950A95E1F72A -:10A6A000CA01821B930B8436910500F5E0917B1360 -:10A6B000F0E0EE0FFF1FE45EFD4F0190F081E02D12 -:10A6C000E655FE4F0190F081E02D8191882339F00D -:10A6D0009091C00095FFFCCF8093C600F6CF4AE072 -:10A6E00050E08BEF96E196DD84E690E09093A91719 -:10A6F0008093A8178091AA17992787FD909590932A -:10A70000A7178093A617E091CA17F091CB1764ADF5 -:10A7100075AD7093AC176093AB1761349CE9790702 -:10A7200028F461328EE4780748F002C060E47CE9E6 -:10A73000769567957695679584E007C0613197E2D5 -:10A74000790730F07695679582E08093AA1708C064 -:10A7500081E08093AA176032710510F460E270E026 -:10A7600060527109611588E07807E0F0872F99271A -:10A77000880F991F880F991F855C944AFC013296B7 -:10A7800025913491AA27639FA001629F410D5A1F12 -:10A7900006944A1F5A1F1124FC0125913491241B51 -:10A7A000350B1EC0CB01969587958C7F855C984AAA -:10A7B000FC01259134910296FC0145915491FB01D5 -:10A7C000E770FF274E9FC0014F9F900D5E9F900D39 -:10A7D000112443E0969587954A95E1F7281B390B9C -:10A7E0002436310500F5E0917B13F0E0EE0FFF1FFA -:10A7F000E45EFD4F0190F081E02DE655FE4F0190A3 -:10A80000F081E02D8191882339F09091C00095FF6F -:10A81000FCCF8093C600F6CF4AE050E08BEF96E184 -:10A82000F9DC24E630E0C901A0E0B0E08093B11784 -:10A830009093B217A093B317B093B41730938900D5 -:10A8400020938800E091CA17F091CB1780899189F5 -:10A85000A289B389B695A79597958795B095A09548 -:10A86000909581959F4FAF4FBF4F8093C5179093A1 -:10A87000C617A093C717B093C8178093C1179093BA -:10A88000C217A093C317B093C4178093BD179093BA -:10A89000BE17A093BF17B093C0178093B9179093BA -:10A8A000BA17A093BB17B093BC171092B5171092AC -:10A8B000B6171092B7171092B81706C080ED97E040 -:10A8C0009093890080938800E091CA17F091CB178C -:10A8D000309709F4A1C580A18093C9179FB780FF65 -:10A8E00009C0F89480910B018D7F80930B019FBF6D -:10A8F0008FEF08C0F89480910B01826080930B0168 -:10A900009FBF81E080936F0C8091C9179FB781FF33 -:10A9100009C0F89480910B018E7F80930B019FBF3B -:10A920008FEF08C0F89480910B01816080930B0138 -:10A930009FBF81E08093700C2091C9173091730CF8 -:10A9400020FF3BC0332309F472C01E9902C080E08F -:10A9500031C080919617882361F1E091CA17F09178 -:10A96000CB1780819181A281B381181619061A062E -:10A970001B06FCF48091801790918117A09182179B -:10A98000B091831780939A1790939B17A0939C176D -:10A99000B0939D1781E08093991780899189A2894E -:10A9A000B3898093B5179093B617A093B717B09358 -:10A9B000B81781E0809396173AC03323C1F140B1B4 -:10A9C00051E042FB442740F9452779F180919517E2 -:10A9D000882359F1E091CA17F091CB1780819181BA -:10A9E000A281B381181619061A061B06F4F4809189 -:10A9F000801790918117A0918217B091831780934F -:10AA00009A1790939B17A0939C17B0939D17509300 -:10AA1000991780899189A289B3898093B5179093FA -:10AA2000B617A093B717B093B8174093951721FFA7 -:10AA30003BC0332309F471C01D9902C080E031C0CE -:10AA400080919417882361F1E091CA17F091CB1798 -:10AA500084819581A681B781181619061A061B06EE -:10AA6000FCF48091841790918517A0918617B0917E -:10AA7000871780939E1790939F17A093A017B0936A -:10AA8000A11781E08093981780899189A289B38961 -:10AA90008093B5179093B617A093B717B093B817D4 -:10AAA00081E08093941739C03323B9F130B141E08C -:10AAB00036953170342779F180919317882359F1B5 -:10AAC000E091CA17F091CB1784819581A681B78157 -:10AAD000181619061A061B06F4F480918417909133 -:10AAE0008517A0918617B091871780939E17909332 -:10AAF0009F17A093A017B093A11740939817808930 -:10AB00009189A289B3898093B5179093B617A093C2 -:10AB1000B717B093B817309393179FB722FF47C06A -:10AB2000F89480910B018B7F80930B019FBF8FEF77 -:10AB30008093710C8091730C882309F47DC01C995B -:10AB400002C080E031C080919217882361F1E091CA -:10AB5000CA17F091CB1780859185A285B385181609 -:10AB600019061A061B06FCF4809188179091891724 -:10AB7000A0918A17B0918B178093A2179093A31777 -:10AB8000A093A417B093A51781E0809397178089AD -:10AB90009189A289B3898093B5179093B617A09332 -:10ABA000B717B093B81781E08093921745C0F89417 -:10ABB00080910B01846080930B019FBF31E0309343 -:10ABC000710C8091730C8823B9F126B12095221F56 -:10ABD0002227221F79F180919117882359F1E09162 -:10ABE000CA17F091CB1780859185A285B385181679 -:10ABF00019061A061B06F4F480918817909189179C -:10AC0000A0918A17B0918B178093A2179093A317E6 -:10AC1000A093A417B093A5173093971780899189B3 -:10AC2000A289B3898093B5179093B617A093B717ED -:10AC3000B093B817209391178091C9179FB783FFDE -:10AC400009C0F89480910B01806480930B019FBF31 -:10AC50008FEF08C0F89480910B018F7B80930B01DC -:10AC60009FBF81E08093720C20E08091AA17281783 -:10AC70000CF0ADC18091C00087FF19C03091C600B3 -:10AC800040917C1750917D17CA0101968F779927C3 -:10AC900060917E1770917F178617970741F0FA0130 -:10ACA000E450F94E308390937D1780937C17E091A8 -:10ACB000CA17F091CB178091C5179091C617A09134 -:10ACC000C717B091C8174081518162817381840F89 -:10ACD000951FA61FB71F8093C5179093C617A09303 -:10ACE000C717B093C817181619061A061B06CCF515 -:10ACF000409AE091CA17F091CB178091C5179091B7 -:10AD0000C617A091C717B091C817408951896289A9 -:10AD10007389841B950BA60BB70B8093C517909373 -:10AD2000C617A093C717B093C81740916F0C8091B6 -:10AD3000801790918117A0918217B09183175527A2 -:10AD400047FD5095652F752F840F951FA61FB71FC0 -:10AD50008093801790938117A0938217B0938317E5 -:10AD60004098E091CA17F091CB178091C11790914C -:10AD7000C217A091C317B091C41744815581668151 -:10AD80007781840F951FA61FB71F8093C1179093DB -:10AD9000C217A093C317B093C417181619061A0642 -:10ADA0001B06CCF5419AE091CA17F091CB17809120 -:10ADB000C1179091C217A091C317B091C4174089D1 -:10ADC000518962897389841B950BA60BB70B8093FD -:10ADD000C1179093C217A093C317B093C4174091A3 -:10ADE000700C8091841790918517A0918617B0916F -:10ADF0008717552747FD5095652F752F840F951F91 -:10AE0000A61FB71F8093841790938517A09386176A -:10AE1000B09387174198E091CA17F091CB178091B2 -:10AE2000BD179091BE17A091BF17B091C017408574 -:10AE3000518562857385840F951FA61FB71F809368 -:10AE4000BD179093BE17A093BF17B093C0171816E5 -:10AE500019061A061B06CCF5429AE091CA17F09122 -:10AE6000CB178091BD179091BE17A091BF17B091DD -:10AE7000C0174089518962897389841B950BA60B81 -:10AE8000B70B8093BD179093BE17A093BF17B093D5 -:10AE9000C0174091710C8091881790918917A091EB -:10AEA0008A17B0918B17552747FD5095652F752F41 -:10AEB000840F951FA61FB71F80938817909389173B -:10AEC000A0938A17B0938B174298E091CA17F0911C -:10AED000CB178091B9179091BA17A091BB17B09179 -:10AEE000BC174485558566857785840F951FA61FF9 -:10AEF000B71F8093B9179093BA17A093BB17B0935D -:10AF0000BC17181619061A061B06CCF5439AE091D1 -:10AF1000CA17F091CB178091B9179091BA17A091E9 -:10AF2000BB17B091BC174089518962897389841B12 -:10AF3000950BA60BB70B8093B9179093BA17A093F4 -:10AF4000BB17B093BC174091720C80918C179091F5 -:10AF50008D17A0918E17B0918F17552747FD5095EB -:10AF6000652F752F840F951FA61FB71F80938C1711 -:10AF700090938D17A0938E17B0938F17439880915D -:10AF8000B5179091B617A091B717B091B817019661 -:10AF9000A11DB11D8093B5179093B617A093B71755 -:10AFA000B093B8174091B5175091B6176091B71785 -:10AFB0007091B817E091CA17F091CB1780899189E9 -:10AFC000A289B389481759076A077B07B0F04091F7 -:10AFD000B5175091B6176091B7177091B817E091F7 -:10AFE000CA17F091CB1784899589A689B7898417E8 -:10AFF0009507A607B70718F4E6C02F5F36CE409135 -:10B00000B1175091B2176091B3177091B417048DB6 -:10B01000158D268D378DAA27419FB12D529FC001D6 -:10B02000629F900D619F800D911D429FB00D811D0B -:10B030009A1F519FB00D811D9A1F609FB00D811DF9 -:10B040009A1F509FB10D8A1F9A1FB6958A1F9A1F8B -:10B05000112444AD55AD480F591F5093AC17409380 -:10B06000AB1780AD91ADA2ADB3AD60E070E08417D9 -:10B070009507A607B70720F49093AC178093AB17FA -:10B080006091AB177091AC1761349CE9790728F493 -:10B0900061328EE4780748F002C060E47CE976957E -:10B0A00067957695679584E007C0613197E27907E7 -:10B0B00030F07695679582E08093AA1708C081E00A -:10B0C0008093AA176032710510F460E270E060525C -:10B0D0007109611588E07807E0F0872F9927880FBC -:10B0E000991F880F991F855C944AFC01329625911F -:10B0F0003491AA27639FA001629F410D5A1F0694B5 -:10B100004A1F5A1F1124FC0125913491241B350B31 -:10B110001EC0CB01969587958C7F855C984AFC0173 -:10B12000259134910296FC0145915491FB01E77001 -:10B13000FF274E9FC0014F9F900D5E9F900D1124E1 -:10B1400043E0969587954A95E1F7281B390B2436FD -:10B15000310500F5E0917B13F0E0EE0FFF1FE45E98 -:10B16000FD4F0190F081E02DE655FE4F0190F081FA -:10B17000E02D8191882339F09091C00095FFFCCF9C -:10B180008093C600F6CF4AE050E08BEF96E142D8BC -:10B1900024E630E030938900209388008091B11735 -:10B1A0009091B217A091B317B091B417820F931F6B -:10B1B000A11DB11D8093B1179093B217A093B3173F -:10B1C000B093B41704C14091B5175091B617609170 -:10B1D000B7177091B817808D918DA28DB38D84179C -:10B1E0009507A607B70708F0E6C04091AD17509144 -:10B1F000AE176091AF177091B017048D158D268D25 -:10B20000378DAA27419FB12D529FC001629F900D9B -:10B21000619F800D911D429FB00D811D9A1F519F0E -:10B22000B00D811D9A1F609FB00D811D9A1F509F08 -:10B23000B10D8A1F9A1FB6958A1F9A1F112420915B -:10B24000AB173091AC17E05CFF4F2817390718F4A3 -:10B250002081318102C0281B390B80819181A2811C -:10B26000B381A90160E070E0481759076A077B07BE -:10B2700008F49C0121349CE9390728F421328EE43A -:10B28000380748F002C020E43CE93695279536950A -:10B29000279584E007C0213197E2390730F03695D1 -:10B2A000279582E08093AA1708C081E08093AA17AF -:10B2B0002032310510F420E230E0B901605271090A -:10B2C000611588E07807E0F0872F9927880F991F8C -:10B2D000880F991F855C944AFC0132962591349120 -:10B2E000AA27639FA001629F410D5A1F06944A1F1F -:10B2F0005A1F1124FC0125913491241B350B1EC0CB -:10B30000CB01969587958C7F855C984AFC012591A9 -:10B3100034910296FC0145915491FB01E770FF279F -:10B320004E9FC0014F9F900D5E9F900D1124E3E052 -:10B3300096958795EA95E1F7281B390B2436310558 -:10B3400008F5E0917B13F0E0EE0FFF1FE45EFD4F88 -:10B350000190F081E02DE655FE4F0190F081E02D47 -:10B360008191882339F09091C00095FFFCCF8093A4 -:10B37000C600F6CF4AE050E08BEF96E10E940AD17A -:10B3800024E630E030938900209388008091AD1747 -:10B390009091AE17A091AF17B091B017820F931F85 -:10B3A000A11DB11D8093AD179093AE17A093AF1759 -:10B3B000B093B0170CC08091A8179091A9179093E3 -:10B3C0008900809388008091A6178093AA174091E6 -:10B3D000B5175091B6176091B7177091B817E091F3 -:10B3E000CA17F091CB1780899189A289B389481730 -:10B3F00059076A077B0780F01092CB171092CA1783 -:10B400009091CD178091CC17981731F08091CC177F -:10B410008F5F8F708093CC17FF91EF91BF91AF91A9 -:10B420009F918F917F916F915F914F913F912F915C -:10B430001F910F910F900BBE0F900FBE0F901F909A -:10B4400018959091CD178091CC17981741F00E94D4 -:10B45000174680E00E94DB700E9425A4F2CF089579 -:10B46000CF93DF93EFB7F894EC0188819981AA819B -:10B47000BB818093801790938117A0938217B0931C -:10B480008317EB0188819981AA81BB8180938417FE -:10B4900090938517A0938617B0938717EA01888148 -:10B4A0009981AA81BB818093881790938917A09373 -:10B4B0008A17B0938B17E90188819981AA81BB8192 -:10B4C00080938C1790938D17A0938E17B0938F173E -:10B4D000EFBFDF91CF9108952FB7F894FC018081E1 -:10B4E0009181A281B38180938C1790938D17A09343 -:10B4F0008E17B0938F172FBF08952FB7F89494E04D -:10B50000899FF0011124E058F84E60817181828199 -:10B5100093812FBF089595DF179A10924E13169AB4 -:10B5200010924F13159A10925013149A0895809107 -:10B530006F008D7F80936F009091CD178091CC1715 -:10B54000981769F09091CD178091CC179817A1F3B7 -:10B550008091CC178F5F8F708093CC17EDCF1092B6 -:10B56000CB171092CA1780916F00826080936F0092 -:10B570000895813039F120F0823009F445C00895F2 -:10B5800017988091090182702FB7662329F0F894EB -:10B5900090910B01926004C0F89490910B019D7FF3 -:10B5A00090930B012FBF409A40989FB7882329F0B2 -:10B5B000F89480910B01826048C0F89480910B014F -:10B5C0008D7F43C016988091090181702FB7662343 -:10B5D00029F0F89490910B01916004C0F894909137 -:10B5E0000B019E7F90930B012FBF419A41989FB70B -:10B5F000882329F0F89480910B01816026C0F8948B -:10B6000080910B018E7F21C0159880910901847073 -:10B610002FB7662329F0F89490910B01946004C031 -:10B62000F89490910B019B7F90930B012FBF429A4E -:10B6300042989FB7882329F0F89480910B01846089 -:10B6400004C0F89480910B018B7F80930B019FBF06 -:10B650000895EF92FF920F931F93CF93DF931F9262 -:10B66000CDB7DEB77B018C01061B170B460FC70158 -:10B67000800F911F49830F942703F70181937F0166 -:10B6800049814E13F4CF0F90DF91CF911F910F910D -:10B69000FF90EF900895DB0181110DC02FEF30E096 -:10B6A0000E945EFB20ED37E040E050E00E943CFB52 -:10B6B000B9018EE21DC0813069F42FEF30E00E94A5 -:10B6C0005EFB20ED37E040E050E00E943CFBB9011A -:10B6D0008DE20EC0823071F42FEF30E00E945EFBED -:10B6E00020ED37E040E050E00E943CFBB9018CE2E5 -:10B6F0000C949FEE089541E060E977E18FEF9FE0C1 -:10B70000A8DF61E08EE20E94A9EF61E08DE20E9475 -:10B71000A9EF61E08CE20E94A9EF8091901781115E -:10B7200015C08091740C9091750C9093810C80934E -:10B73000800C8091760C9091770C9093830C809381 -:10B74000820C8091780C9091790C14C080917A0CC5 -:10B7500090917B0C9093810C8093800C80917C0C59 -:10B7600090917D0C9093830C8093820C80917E0C41 -:10B7700090917F0C9093850C8093840C6091800C49 -:10B780007091810C80E087DF6091820C7091830C56 -:10B7900081E081DFA091840CB091850C2FEF30E027 -:10B7A0000E945EFB20ED37E040E050E00E943CFB51 -:10B7B000B9018CE20E949FEE80912101887F816017 -:10B7C000809321010895CF93C42F67FD20C081305D -:10B7D00061F028F0823079F0833099F018C088E267 -:10B7E0000E94E2EFC7FF1DC02AC085E40E94E2EF7D -:10B7F000C7FF1AC024C084E40E94E2EFC7FF17C04D -:10B800001EC081E40E94E2EFC7FF14C018C0C7FD4C -:10B8100016C0813049F028F0823049F0833051F071 -:10B820000EC06C2F89E208C06C2F87E205C06C2F18 -:10B8300083E402C06C2F82E4CF910C94E2EFCF91AD -:10B840000895643079F028F4613041F0623041F0BD -:10B850000895683051F0603141F0089540E003C030 -:10B8600040E004C041E060E002C041E061E0ABCFF5 -:10B87000FF920F931F93CF93DF9300D01F921F92DD -:10B88000CDB7DEB785E0EBE0FDE0DE01119601907B -:10B890000D928A95E1F761E088E20E94A9EF61E0EC -:10B8A00089E20E94A9EF61E085E40E94A9EF61E0CE -:10B8B00087E20E94A9EF61E084E40E94A9EF61E0C1 -:10B8C00083E40E94A9EF61E081E40E94A9EF61E0B6 -:10B8D00082E40E94A9EF8E010F5F1F4FF12CF80147 -:10B8E00061918F018F2DADDFF394F5E0FF12F7CF5B -:10B8F0000F900F900F900F900F90DF91CF911F91AD -:10B900000F91FF900895F7DEB3DFEAE0F1E0808168 -:10B910008260808380818160808380818460808375 -:10B920008081806480830F9A179A0E9A169A0D9AD6 -:10B93000159A0C9A149A26982E9A25982D9A24983E -:10B940002C9A0A98129A0998119A3F98479A389A0D -:10B950004098179A10924E13399A4198169A10925D -:10B960004F133A9A4298159A109250133B9A439863 -:10B97000149AA1E8B0E08C918F7E8C938C918860B2 -:10B980008C93E0E8F0E080818D7F808380818E7FE2 -:10B99000808380818F73808380818F7C80838C9172 -:10B9A000887F82608C9380E090E4909389008093FC -:10B9B00088001092850010928400EFE6F0E080810C -:10B9C0008260808381E08093730C78940895EBE12A -:10B9D000F7E58491882341F09091C00095FFFCCF5A -:10B9E0008093C6003196F5CFE7E1F7E5849188238F -:10B9F00041F09091C00095FFFCCF8093C600319636 -:10BA0000F5CF88E20E9417F04AE050E0BC018BEFCE -:10BA100096E10E94CDD089E20E9417F04AE050E002 -:10BA2000BC018BEF96E10E94CDD08091C00085FFD4 -:10BA3000FCCF8AE08093C600E3E1F7E58491882398 -:10BA400041F09091C00095FFFCCF8093C6003196E5 -:10BA5000F5CF85E40E9417F04AE050E0BC018BEF7F -:10BA600096E10E94CDD087E20E9417F04AE050E0B4 -:10BA7000BC018BEF96E10E94CDD08091C00085FF84 -:10BA8000FCCF8AE08093C600EFE0F7E5849188233D -:10BA900041F09091C00095FFFCCF8093C600319695 -:10BAA000F5CF84E40E9417F04AE050E0BC018BEF30 -:10BAB00096E10E94CDD083E40E9417F04AE050E066 -:10BAC000BC018BEF96E10E94CDD08091C00085FF34 -:10BAD000FCCF8AE08093C600EAE0F7E584918823F2 -:10BAE00041F09091C00095FFFCCF8093C600319645 -:10BAF000F5CF81E40E9417F04AE050E0BC018BEFE3 -:10BB000096E10E94CDD082E40E9417F04AE050E016 -:10BB1000BC018BEF96E10E94CDD08091C00085FFE3 -:10BB2000FCCF8AE08093C6000895CF93DF931F92E5 -:10BB3000CDB7DEB72091171E3091181ECE010196A9 -:10BB40002115310519F0821B930B02C08D519E41C6 -:10BB50000F90DF91CF9108952F923F924F925F9275 -:10BB60006F927F928F929F92AF92BF92CF92DF920D -:10BB7000EF92FF920F931F93CF93DF93CDB7DEB772 -:10BB800068970FB6F894DEBF0FBECDBF1C012A0127 -:10BB90003B0148015901DC01D8966D917D918D9151 -:10BBA0009C91DB970E94DCF76B017C01A301920161 -:10BBB0000E9411FA0E9429F70E94B0F769877A87DC -:10BBC0008B879C87A5019401C701B6010E9411FAD9 -:10BBD0000E9429F70E94B0F76D877E878F87988B28 -:10BBE00029853A854B855C85283731054105510506 -:10BBF00040F488E790E0A0E0B0E089879A87AB87BF -:10BC0000BC872D853E854F855889283731054105EC -:10BC1000510540F488E790E0A0E0B0E08D879E8772 -:10BC2000AF87B88B91012C5B3F4FD9018D919D91CE -:10BC30000D90BC91A02D8D839E83AF83B887BC01EE -:10BC4000CD010E94DEF769837A838B839C836985AB -:10BC50007A858B859C850E94DCF7698B7A8B8B8B30 -:10BC60009C8B20E030E0A90169817A818B819C81E5 -:10BC70000E943CF7882339F1A7019601C701B6015C -:10BC80000E9411FA4B015C0129893A894B895C8930 -:10BC9000CA01B9010E9411FA9B01AC01C501B401AE -:10BCA0000E9462F64B015C0129813A814B815C81E3 -:10BCB000CA01B9010E9463F69B01AC01C501B40140 -:10BCC0000E9443F703C060E070E0CB010E9429F7B7 -:10BCD0000E94ABF72B013C016D817E818F8198859D -:10BCE00090958095709561957F4F8F4F9F4F0E94E3 -:10BCF000DEF74B015C016D857E858F8598890E94FA -:10BD0000DCF76D837E838F83988720E030E0A90184 -:10BD1000C501B4010E943CF7882349F12D813E8181 -:10BD20004F815885CA01B9010E9411FA6D8B7E8B33 -:10BD30008F8B988FA7019601C701B6010E9411FA57 -:10BD40009B01AC016D897E898F89988D0E9462F676 -:10BD50006B017C01A5019401C501B4010E9463F649 -:10BD60009B01AC01C701B6010E9443F703C060E02C -:10BD700070E0CB010E9419F8F10180889188A288B7 -:10BD8000B38875016401C418D508E608F7080E9455 -:10BD9000ABF7C61AD70AE80AF90AF7FE6BC020E02B -:10BDA00030E0A90169817A818B819C810E943CF7F6 -:10BDB000882309F447C029813A814B815C81CA01FB -:10BDC000B9010E9463F66B017C01C501B4010E94B8 -:10BDD000DCF79B01AC01C701B6010E9411FA6B01AF -:10BDE0007C0129893A894B895C89CA01B9010E9481 -:10BDF00011FA9B01AC01C701B6010E9462F66B010A -:10BE00007C012D813E814F815885CA01B9010E9474 -:10BE100011FA9B01AC01C701B6010E9463F66B01E8 -:10BE20007C0120E030E040E850E469817A818B8138 -:10BE30009C810E9411FA9B01AC01C701B6010E94CE -:10BE400043F703C060E070E0CB010E9429F70E9435 -:10BE5000ABF72B013C0197FF03C0412C512C320161 -:10BE6000481459046A047B0410F024013501C12CE4 -:10BE7000D12C76018FB7F894F101E45BFF4F9081EC -:10BE8000911125C0D10154964D925D926D927C9294 -:10BE90005797C40CD51CE61CF71CF101C08ED18E3F -:10BEA000E28EF38E29853A854B855C85DC962D9351 -:10BEB0003D934D935C93DF97A05CBF4F2D853E85EE -:10BEC0004F8558892D933D934D935C9313978FBF66 -:10BED00068960FB6F894DEBF0FBECDBFDF91CF914D -:10BEE0001F910F91FF90EF90DF90CF90BF90AF9098 -:10BEF0009F908F907F906F905F904F903F902F908A -:10BF000008954F925F926F927F92AF92BF92CF92BD -:10BF1000DF92EF92FF920F931F93CF93DF93EB018A -:10BF20007A01209709F458C04115510509F454C00D -:10BF3000AAA4BBA40CA51DA59501A8016EA17FA173 -:10BF400088A599A50E943CF7882309F445C08FA9CC -:10BF500081113AC0F70146A057A060A471A4A301C3 -:10BF60009201B501C8010E943FF918166CF5A301B2 -:10BF70009201C301B2010E9411FA6B017C018AA9EE -:10BF80009BA9ACA9BDA9BC01CD0190589B01AC01F6 -:10BF90000E9463F62EA53FA548A959A90E9411FA4F -:10BFA0009B01AC01C701B6010E9462F60E947EFAB5 -:10BFB0006B017C019B01AC01B501C8010E943CF7FB -:10BFC00087FD02C056018701A501B8014EA35FA3FA -:10BFD00068A779A781E08EABDF91CF911F910F9178 -:10BFE000FF90EF90DF90CF90BF90AF907F906F90D9 -:10BFF0005F904F900895DF92EF92FF920F931F93FF -:10C00000CF93DF938091CD178FB7F894E090CC1742 -:10C010008FBF8091CD1790E08E1991098F7099276D -:10C020000497F4F01091CD1713501F7040E050E0CA -:10C0300000E0F12C8DE4D82E1E1591F0111101C0F5 -:10C0400010E11150D19EE0011124C253D84E602F4F -:10C050007F2DCE0156DF402F5F2D0C2FFD2EECCF14 -:10C06000DF91CF911F910F91FF90EF90DF90089596 -:10C070004F925F926F927F92AF92BF92CF92DF9278 -:10C08000EF92FF920F931F93CF93DF938C01EB01FD -:10C09000009709F453C0FC0187A981114FC046A045 -:10C0A00057A060A471A4AEA0BFA0C8A4D9A4950154 -:10C0B000A601C301B2010E943CF787FF3FC0A30164 -:10C0C0009201C301B2010E9411FA2B013C01F80157 -:10C0D00082A993A9A4A9B5A9BC01CD0190589B013F -:10C0E000AC010E9463F6F80126A537A540A951A925 -:10C0F0000E9411FA9B01AC01C301B2010E9462F6D9 -:10C100000E947EFA7B018C019B01AC01B501C60146 -:10C110000E943CF787FF02C0750186019701A801C4 -:10C12000B501C6010E943CF7882341F0A701B80180 -:10C130004EA35FA368A779A781E08EABDF91CF9173 -:10C140001F910F91FF90EF90DF90CF90BF90AF9035 -:10C150007F906F905F904F900895EF92FF920F93B2 -:10C160001F93CF93DF93F090CC1700E010E080E0B6 -:10C1700090E02DE4E22E2091CD17F21689F0EF9C8D -:10C18000E0011124C253D84EAE01B80171DF81E045 -:10C190008F0D803109F480E0F82EC8018E01EBCFBD -:10C1A00040E050E0B801DF91CF911F910F91FF90D7 -:10C1B000EF905ECF4F925F926F927F928F929F929D -:10C1C000AF92BF92CF92DF92EF92FF920F931F93A5 -:10C1D000CF93DF939090CC17C0E0D0E03DE4832E66 -:10C1E000892D992787FD90952091CD1730E08217F2 -:10C1F0009307B9F1889E5001899EB00C1124C501A6 -:10C200008253984E5C01209729F18EA9811104C0B8 -:10C21000F50186A98823F1F0CAA0DBA0ECA0FDA05F -:10C22000A7019601F50166A177A180A591A50E94BD -:10C2300043F72B013C01A70196016EA17FA188A5C0 -:10C2400099A50E9443F7AB01BC0193018201CE0185 -:10C2500083DC1EAA9394F0E19F1201C0912CE501AA -:10C26000BFCF2097E9F0CAA0DBA0ECA0FDA0A701FA -:10C2700096016DEC7CEC8CE49DE30E9443F74B014E -:10C280005C01A70196016EA17FA188A599A50E94D6 -:10C2900043F7AB01BC0195018401CE015DDC1EAA10 -:10C2A000DF91CF911F910F91FF90EF90DF90CF9092 -:10C2B000BF90AF909F908F907F906F905F904F90C6 -:10C2C000089599DE4ADF76CF1092CD171092CC17E1 -:10C2D00080E1E5EBFCE1DF011D928A95E9F7109220 -:10C2E000A51C1092A61C1092A71C1092A81C1092BC -:10C2F000A91C1092AA1C1092AB1C1092AC1C10929C -:10C30000AD1C1092AE1C1092AF1C1092B01C10927B -:10C31000B11C1092B21C1092B31C1092B41C10925B -:10C32000A11C1092A21C1092A31C1092A41C089590 -:10C33000609147139091CC178091CD17981781F099 -:10C340008091CC179DE4899FF0011124EA5EF74E9D -:10C3500060819091CD17891719F08F5F8F70F9CF99 -:10C3600070E086E00C949FEE2F923F924F925F9286 -:10C370006F927F928F929F92AF92BF92CF92DF92F5 -:10C38000EF92FF920F931F93CF93DF93CDB7DEB75A -:10C39000CC56D1090FB6F894DEBF0FBECDBF3C011D -:10C3A0005B014A012901E8A6F8AE25960FAF259753 -:10C3B0001CAF86012091CD172F5F29962FAF2997AB -:10C3C000203119F429961FAE299729963FAD299758 -:10C3D000E32EFF24E7FCF0948091CC1790E08E15BB -:10C3E0009F0541F40E94174680E00E94DB700E9486 -:10C3F00025A4F2CF2091011D3091021D4091031D13 -:10C400005091041DD3016D917D918D919C910E945D -:10C4100011FA0E94E1F969966CAF7DAF8EAF9FAFC4 -:10C4200069972091051D3091061D4091071D50917F -:10C43000081DF50160817181828193810E9411FA4A -:10C440000E94E1F96D966CAF7DAF8EAF9FAF6D9797 -:10C450002091091D30910A1D40910B1D50910C1D1A -:10C46000D4016D917D918D919C910E9411FA0E9451 -:10C47000E1F9A1966CAF7DAF8EAF9FAFA1972091F0 -:10C480000D1D30910E1D40910F1D5091101DF20198 -:10C4900060817181828193810E9411FA0E94E1F989 -:10C4A00024966CAF7DAF8EAF9FAF24978091C11C57 -:10C4B0009091C21CA091C31CB091C41C24962CADB9 -:10C4C0003DAD4EAD5FAD2497281739074A075B078E -:10C4D00009F4C8C0E091491334E0E39FF00111244E -:10C4E000E85FFE4E2091860C3091870C4091880CBD -:10C4F0005091890C60817181828193810E943CF707 -:10C5000087FF3CC024968CAD9DADAEADBFAD2497EA -:10C510008093C11C9093C21CA093C31CB093C41CF5 -:10C52000E1E9F2E58491882341F09091C00095FF04 -:10C53000FCCF8093C6003196F5CFE0917B13F0E0FD -:10C54000EE0FFF1FE45EFD4F0190F081E02DE255FC -:10C55000FE4F0190F081E02D8491882341F090916D -:10C56000C00095FFFCCF8093C6003196F5CF809137 -:10C57000C00085FFFCCF8AE08093C6008091C11C7B -:10C580009091C21CA091C31CB091C41C24962CADE8 -:10C590003DAD4EAD5FAD2497281B390B4A0B5B0BAD -:10C5A000CA01B90157FF07C09095809570956195B4 -:10C5B0007F4F8F4F9F4F0E94DEF76B017C0120E081 -:10C5C00030E04EEC53E460910D1D70910E1D809192 -:10C5D0000F1D9091101D0E9411FA9B01AC01C70123 -:10C5E000B6010E943FF918160CF03CC024968CADA1 -:10C5F0009DADAEADBFAD24978093C11C9093C21C7E -:10C60000A093C31CB093C41CE1E9F2E58491882394 -:10C6100041F09091C00095FFFCCF8093C600319609 -:10C62000F5CFE0917B13F0E0EE0FFF1FE45EFD4FCE -:10C630000190F081E02DE055FE4F0190F081E02D5A -:10C640008491882341F09091C00095FFFCCF8093A6 -:10C65000C6003196F5CF8091C00085FFFCCF8AE0FF -:10C660008093C6008091CD179DE4899F100111240D -:10C67000D101A253B84E1D01FD01E45BFF4F1082B2 -:10C680002091B51C3091B61C4091B71C5091B81C3C -:10C690002BA33CA34DA35EA369964CAC5DAC6EACE2 -:10C6A0007FAC6997421A530A640A750A77FE08C07C -:10C6B0007094609450944094411C511C611C711CF6 -:10C6C000D1014D925D926D927C9213972091B91C8D -:10C6D0003091BA1C4091BB1C5091BC1C2CAB3DABA3 -:10C6E0004EAB5FAB6D968CAC9DACAEACBFAC6D97FA -:10C6F000821A930AA40AB50AB7FE08C0B094A0949F -:10C7000090948094811C911CA11CB11CD1011496A1 -:10C710008D929D92AD92BC9217972091BD1C309145 -:10C72000BE1C4091BF1C5091C01C2CA73DA74EA71A -:10C730005FA7A196CCACDDACEEACFFACA197C21A62 -:10C74000D30AE40AF50AF7FE08C0F094E094D09406 -:10C75000C094C11CD11CE11CF11CD1011896CD92D2 -:10C76000DD92ED92FC921B972091C11C3091C21C6E -:10C770004091C31C5091C41C28AB39AB4AAB5BAB96 -:10C7800024966CAD7DAD8EAD9FAD2497621B730B6F -:10C79000840B950B97FF07C09095809570956195D8 -:10C7A0007F4F8F4F9F4F0E94DEF7E091491334E097 -:10C7B000E39FF0011124E55CF34F20813181428138 -:10C7C00053810E9411FA0E94ABF79B01AC01A0912A -:10C7D000470CB091480C0E946EFB24E630E040E02C -:10C7E00050E00E943CFBD1011C962D933D934D934C -:10C7F0005C931F97C814D904EA04FB0414F4750170 -:10C800006401C216D306E406F50614F469017A0140 -:10C81000D301C2014C145D046E047F0414F4D701EB -:10C82000C601F101808B918BA28BB38B0697A1057A -:10C83000B10508F461C7E85BFF4F80914713909101 -:10C840004813AA2797FDA095BA2F80839183A283CE -:10C85000B38369962CAD3DAD4EAD5FAD69978BA1AD -:10C860009CA1ADA1BEA1281739074A075B0724F098 -:10C87000D10190961C9203C081E0F10180A36D96D6 -:10C880002CAD3DAD4EAD5FAD6D978CA99DA9AEA908 -:10C89000BFA9281739074A075B073CF4D1019096D6 -:10C8A0008C919097826090968C93A1962CAD3DAD23 -:10C8B0004EAD5FADA1978CA59DA5AEA5BFA52817D0 -:10C8C00039074A075B073CF4D10190968C91909709 -:10C8D000846090968C9324962CAD3DAD4EAD5FADAB -:10C8E000249788A999A9AAA9BBA9281739074A0793 -:10C8F0005B073CF4D10190968C919097886090965C -:10C900008C93F8018081D10191968C93452846281B -:10C91000472809F01798F10184819581A681B78194 -:10C92000892B8A2B8B2B09F01698F1018085918534 -:10C93000A285B385892B8A2B8B2B09F01598F101E1 -:10C9400084859585A685B785892B8A2B8B2B69F1E4 -:10C9500080919E1C882319F0815080939E1C8091A9 -:10C960009F1C882319F0815080939F1C8091A01CEC -:10C97000882319F081508093A01CD8018C918130BC -:10C9800061F030F0823089F480E28093A01C08C00E -:10C99000149880E280939E1C08C080E280939F1CC4 -:10C9A00080919E1C811101C0149AD1011C962D9179 -:10C9B0003D914D915C911F972D962CAF3DAF4EAFA1 -:10C9C0005FAF2D97232B242B252B09F5B091D51C78 -:10C9D000BBA3E091D61CEFA31091D71C0091D81CEB -:10C9E0002B2F3E2F412F502F68A578AD25968FAD68 -:10C9F00025979CAD0E943CF787FD16C0F8A5FBA3C8 -:10CA000028AD2FA325961FAD25970CAD0DC03091F5 -:10CA1000ED1C3BA34091EE1C4FA31091EF1C009125 -:10CA2000F01C232F342FDECF8091B51C9091B61CC3 -:10CA3000A091B71CB091B81C69962CAD3DAD4EAD20 -:10CA40005FAD6997281B390B4A0B5B0BCA01B90113 -:10CA50000E94DEF72091011D3091021D4091031DBF -:10CA60005091041D0E9443F768A779A78AA79BA746 -:10CA7000698B7A8B8B8B9C8B6D966CAD7DAD8EADFF -:10CA80009FAD6D972CA93DA94EA95FA9621B730BA1 -:10CA9000840B950B0E94DEF72091051D3091061D39 -:10CAA0004091071D5091081D0E9443F74B015C0106 -:10CAB0006D8B7E8B8F8B988FA1966CAD7DAD8EAD7F -:10CAC0009FADA1972CA53DA54EA55FA5621B730B3D -:10CAD000840B950B0E94DEF72091091D30910A1DF1 -:10CAE00040910B1D50910C1D0E9443F76B017C017E -:10CAF000698F7A8F8B8F9C8F24966CAD7DAD8EADB8 -:10CB00009FAD249728A939A94AA95BA9621B730B79 -:10CB1000840B950B0E94DEF720910D1D30910E1DA8 -:10CB200040910F1D5091101D0E9443F7E091491351 -:10CB300034E0E39FF0011124E55CF34F2081318163 -:10CB4000428153810E9411FA2B013C016091470CF4 -:10CB50007091480C882777FD8095982F0E94DEF70A -:10CB60009B01AC01C301B2010E9411FA20E030E048 -:10CB700048EC52E40E9443F76D8F7E8F8F8F98A30D -:10CB8000D1012D913D914D915C91139728AF39AF13 -:10CB90004AAF5BAF263031054105510504F51496C7 -:10CBA0004D905D906D907C901797B6E04B165104B8 -:10CBB00061047104A4F4F10140845184628473849B -:10CBC000F6E04F165104610471044CF4DC01CB0112 -:10CBD000BF77F10186A797A7A0ABB1AB27C068A527 -:10CBE00079A58AA59BA50E94BCFA2B013C01C50131 -:10CBF000B4010E94BCFA9B01AC01C301B2010E94C6 -:10CC000063F64B015C01C701B6010E94BCFA9B01AF -:10CC1000AC01C501B4010E9463F60E947EFAD10105 -:10CC20009E966D937D938D939C93D197D1019E9603 -:10CC30002D913D914D915C91D19728962CAF3DAFB0 -:10CC40004EAF5FAF289760E070E080E89FE30E94FE -:10CC500043F79B01AC016BA17FA1812F902F0E9414 -:10CC600011FA2B013C019091CD178091CC17E92F3F -:10CC7000F0E0E81BF109EF70FF27FDABECABA3017F -:10CC8000920160E074E284E799E40E9443F70E9415 -:10CC9000E1F96B017C012CA93DA9223031050CF48E -:10CCA00042C04901AA2497FCA094BA2CC501B40142 -:10CCB0000E94DEF720E030E040E051E40E943CF7C3 -:10CCC00087FF31C08091211D9091221DA091231DCD -:10CCD000B091241DC816D906EA06FB0620F5BC0152 -:10CCE000CD016C197D098E099F09660F771F881F7A -:10CCF000991FA50194010E941AFBCA01B9010E9463 -:10CD0000DCF70E94E1F96C0D7D1D8E1D9F1D0E94B8 -:10CD1000DCF79B01AC0160E074E284E799E40E94D7 -:10CD200043F72B013C01A301920128966CAD7DAD28 -:10CD30008EAD9FAD28970E9411FA6CAF7DAF8EAF7C -:10CD40009FAFD10192966D937D938D939C93959710 -:10CD500050966D917D918D919C9153970E94DCF737 -:10CD60006BA37CA38DA39EA3A30192010E9411FA41 -:10CD70000E9429F70E94B0F76B017C01F10160AFBE -:10CD800071AF82AF93AF8E010F5E1F4F21E13DE186 -:10CD900065963FAF2EAF6597AE014F5D5F4F5AA3CB -:10CDA00049A3CE01019663969FAF8EAF63971FA2F2 -:10CDB0001CA690E898ABAFE3A8A7F8016191719128 -:10CDC000819191918F01A30192010E9411FA6396C2 -:10CDD000AEADBFAD63976D937D938D939D93639639 -:10CDE000BFAFAEAF63979B01AC015F7761962CAF8D -:10CDF0003DAF4EAF5FAF61976596AEADBFAD659786 -:10CE00008D909D90AD90BD906596BFAFAEAF65978C -:10CE1000A501940161966CAD7DAD8EAD9FAD61971E -:10CE20000E943FF91816F4F461962CAD3DAD4EAD5D -:10CE30005FAD6197C501B4010E9443F7B62EA72EDE -:10CE4000982E892E262F372F482F592F6FA17CA57A -:10CE500088A998A50E943CF787FD04C0BFA2ACA694 -:10CE600098AA88A6E9A1FAA10E171F0709F0A5CF75 -:10CE700020E030E040E85FE36FA17CA588A998A599 -:10CE80000E943CF787FF3DC05E01F1E1AF0EB11C8F -:10CE90008E010F5F1F4F2FA13CA548A958A5D801AF -:10CEA0006D917D918D919C910E9411FAF801619391 -:10CEB0007193819391938F01EA15FB0561F72FA17F -:10CEC0003CA548A958A56CAD7DAD8EAD9FAD0E9427 -:10CED00011FAD10192966D937D938D939C939597C2 -:10CEE000C701B6010E94DCF72FA13CA548A958A5AF -:10CEF0000E9411FA0E94B0F7F10160AF71AF82AFEA -:10CF000093AF28962CAD3DAD4EAD5FAD28976BA18C -:10CF10007CA18DA19EA10E9443F76B017C0128ADED -:10CF200039AD4AAD5BAD232B242B252B59F5F101EF -:10CF300084819581A681B781892B8A2B8B2B11F552 -:10CF400080859185A285B385892B8A2B8B2BD1F483 -:10CF50002091E51C3091E61C4091E71C5091E81CA3 -:10CF6000C701B6010E9411FA0E9429F781010C5BEA -:10CF70001F4F0E94B0F7D8016D937D938D939C93C2 -:10CF80001397F6C02091E91C3091EA1C4091EB1CEC -:10CF90005091EC1CC701B6010E9411FA0E9429F7BA -:10CFA0000E94B0F781010C5B1F4FF8016083718311 -:10CFB000828393834090C51C5090C61C6090C71C10 -:10CFC0007090C81C0E94DCF74B015C0168AD79AD24 -:10CFD0008AAD9BAD0E94DEF79B01AC01C501B40197 -:10CFE0000E9411FA2BA13CA14DA15EA10E9443F722 -:10CFF0004B015C01C301B2010E94DCF79B01AC0153 -:10D00000C501B4010E943FF9181634F4D8014D92BD -:10D010005D926D927C9213974090C91C5090CA1CEF -:10D020006090CB1C7090CC1CF80160817181828172 -:10D0300093810E94DCF74B015C01D10114966D9144 -:10D040007D918D919C9117970E94DEF79B01AC0119 -:10D05000C501B4010E9411FA2BA13CA14DA15EA112 -:10D060000E9443F74B015C01C301B2010E94DCF74F -:10D070009B01AC01C501B4010E943FF918162CF4C4 -:10D08000F80140825182628273824090D11C50909C -:10D09000D21C6090D31C7090D41C81010C5B1F4F7C -:10D0A000D8016D917D918D919C910E94DCF74B018F -:10D0B0005C012D966CAD7DAD8EAD9FAD2D970E9420 -:10D0C000DEF79B01AC01C501B4010E9411FA2BA14E -:10D0D0003CA14DA15EA10E9443F74B015C01C3013D -:10D0E000B2010E94DCF79B01AC01C501B4010E94B2 -:10D0F0003FF918162CF4F801408251826282738243 -:10D100004090CD1C5090CE1C6090CF1C7090D01CD5 -:10D11000D8016D917D918D919C910E94DCF74B011E -:10D120005C01F10160857185828593850E94DEF73F -:10D130009B01AC01C501B4010E9411FA2BA13CA1D5 -:10D140004DA15EA10E9443F74B015C01C301B201F6 -:10D150000E94DCF79B01AC01C501B4010E943FF9BC -:10D16000181634F4D8014D925D926D927C9213970B -:10D17000F101EC5BFF4F60817181828193810E949C -:10D18000DCF74B015C01A70196010E9443F7A596CD -:10D190006CAF7DAF8EAF9FAFA597F10162AB73AB64 -:10D1A00084AB95AB2DEB37E346E051E4C501B40108 -:10D1B0000E9411FA0E94ABF7D1015C966D937D93AA -:10D1C0008D939C935F97C090E11CD090E21CE090FF -:10D1D000E31CF090E41C20E030E040E05FE3C70196 -:10D1E000B6010E9411FA6BA37FA38C0129853A85B1 -:10D1F0004B855C85A9962CAF3DAF4EAF5FAFA9972D -:10D200008091DD1C9091DE1CA091DF1CB091E01C90 -:10D210008CAF9DAFAEAFBFAF20E030E040E05FE34A -:10D22000BC01CD010E9411FAB62EA72E982E892E90 -:10D23000A9966CAD7DAD8EAD9FADA9979F772B2D37 -:10D240003A2D492D582D0E943FF918167CF42B2DAC -:10D250003A2D492D582D6BA17FA1C8010E943CF7A2 -:10D2600087FD04C0BBA2AFA2092D182D2D853E85D8 -:10D270004F855889AD962CAF3DAF4EAF5FAFAD97A0 -:10D280008091D91C9091DA1CA091DB1CB091DC1C20 -:10D290002D968CAF9DAFAEAFBFAF2D9720E030E0A5 -:10D2A00040E05FE3BC01CD010E9411FAB62EA72E2B -:10D2B000982E892EAD966CAD7DAD8EAD9FADAD97A0 -:10D2C0009F772B2D3A2D492D582D0E943FF9181686 -:10D2D0007CF42B2D3A2D492D582D6BA17FA1C8012F -:10D2E0000E943CF787FD04C0BBA2AFA2092D182DF8 -:10D2F000D1019296BC91BCA7F101F3A1F8ABD10189 -:10D300009496BC91B8A7F101F5A1F8AF2CA538A966 -:10D310004B2F5F2F6BA17FA1C8010E943CF787FDB7 -:10D3200006C02CA52BA338A93FA308A518AD4CA96E -:10D330005DA9423051050CF405C15091A11C5CABB4 -:10D340008091A21C2E968FAF2E979091A31C62966F -:10D350009FAF6297A091A41C6496AFAF649727E13A -:10D3600037EB41ED58E36CA9782F892F9A2F0E9453 -:10D370003FF918160CF0E6C02091A51C3091A61CB0 -:10D380004091A71C5091A81C69817A818B819C8156 -:10D390000E9462F62B013C012091A91C3091AA1C2D -:10D3A0004091AB1C5091AC1C6D817E818F81988522 -:10D3B0000E9462F64B015C01A3019201C301B2011C -:10D3C0000E9411FA2B013C01A5019401C501B40191 -:10D3D0000E9411FA9B01AC01C301B2010E9463F6E5 -:10D3E0000E947EFA4B015C01A70196010E943FF961 -:10D3F00018164CF4A5019401C701B6010E9443F729 -:10D400005B014C0106C0A12CB12C40E8842E5FE3E7 -:10D41000952E2091AD1C3091AE1C4091AF1C5091C7 -:10D42000B01CA9966CAD7DAD8EAD9FADA9970E9445 -:10D4300062F66B017C01E894F7F82CAD3DAD4EAD82 -:10D440005FADC701B6010E943FF91816D4F4A701D9 -:10D4500096016CAD7DAD8EAD9FAD0E9443F7F62E6B -:10D46000E72ED82EC92E262F372F482F592FB5013A -:10D47000C4010E943CF787FD04C0AF2CBE2C8D2C4C -:10D480009C2C2091B11C3091B21C4091B31C509146 -:10D49000B41CAD966CAD7DAD8EAD9FADAD970E94C9 -:10D4A00062F66B017C01E894F7F82D962CAD3DAD4A -:10D4B0004EAD5FAD2D97C701B6010E943FF918161A -:10D4C000E4F4A70196012D966CAD7DAD8EAD9FADB8 -:10D4D0002D970E9443F7F62EE72ED82EC92E262F21 -:10D4E000372F482F592FB501C4010E943CF787FD03 -:10D4F00004C0AF2CBE2C8D2C9C2C9501A4016CA5D6 -:10D5000078A988A598AD0E9411FA4B015C019B0196 -:10D51000AC016CA92E967FAD2E9762968FAD629767 -:10D5200064969FAD64970E943CF787FF0EC08CA85D -:10D530002E969FAC2E976296AFAC62976496BFAC66 -:10D54000649703C08BA09FA05801C401D501F101CD -:10D5500082A793A7A4A7B5A7A5966CAD7DAD8EAD08 -:10D560009FADA59790589B01AC010E9463F6289649 -:10D570002CAD3DAD4EAD5FAD28970E9411FA9B01D9 -:10D58000AC016BE077ED83E29BE30E9462F60E94C0 -:10D590007EFA7B01D82EC92E9B01482F592FB4014A -:10D5A000C5010E943CF787FD03C04701AD2CBC2C90 -:10D5B000C401D501F10186A397A3A0A7B1A7970144 -:10D5C0004D2D5C2D6CA578A988A598AD0E943CF7DF -:10D5D00018162CF081E0D101D7968C9302C0F1018E -:10D5E00017AA81E0D101D6968C9380E1FE01319695 -:10D5F000A5EABCE101900D928A95E1F78CA598A966 -:10D60000A8A5B8AD8093A11C9093A21CA093A31CC5 -:10D61000B093A41C9C01AD016BA17FA1C8010E9425 -:10D6200043F76B017C012CA538A948A558ADB4017E -:10D63000C5010E9443F7AB01BC0197018601C101FE -:10D640000E94ACDD2996BFAD2997B093CD1769969E -:10D650002CAD3DAD4EAD5FAD69972093B51C3093B9 -:10D66000B61C4093B71C5093B81C6D968CAD9DAD05 -:10D67000AEADBFAD6D978093B91C9093BA1CA093CB -:10D68000BB1CB093BC1CA1962CAD3DAD4EAD5FADA7 -:10D69000A1972093BD1C3093BE1C4093BF1C509398 -:10D6A000C01C24968CAD9DADAEADBFAD24978093CC -:10D6B000C11C9093C21CA093C31CB093C41C0E94B5 -:10D6C00061E1C459DF4F0FB6F894DEBF0FBECDBF86 -:10D6D000DF91CF911F910F91FF90EF90DF90CF904E -:10D6E000BF90AF909F908F907F906F905F904F9082 -:10D6F0003F902F900C94A4D2C459DF4F0FB6F894EA -:10D70000DEBF0FBECDBFDF91CF911F910F91FF9074 -:10D71000EF90DF90CF90BF90AF909F908F907F90D1 -:10D720006F905F904F903F902F900895EF92FF92EF -:10D730000F931F93CF93DF937B018A01E90120911F -:10D74000011D3091021D4091031D5091041DFC01EB -:10D7500060817181828193810E9411FA0E94E1F9B6 -:10D760006093B51C7093B61C8093B71C9093B81C43 -:10D770002091051D3091061D4091071D5091081DF7 -:10D78000F70160817181828193810E9411FA0E9468 -:10D79000E1F96093B91C7093BA1C8093BB1C909301 -:10D7A000BC1C2091091D30910A1D40910B1D509108 -:10D7B0000C1DF80160817181828193810E9411FAB0 -:10D7C0000E94E1F96093BD1C7093BE1C8093BF1C46 -:10D7D0009093C01C20910D1D30910E1D40910F1D86 -:10D7E0005091101D688179818A819B810E9411FA74 -:10D7F0000E94E1F96093C11C7093C21C8093C31C0A -:10D800009093C41C21EC3CE14DEB5CE169EB7CE1C5 -:10D8100085EB9CE10E9430DA1092A11C1092A21CB0 -:10D820001092A31C1092A41C1092A51C1092A61C6E -:10D830001092A71C1092A81C1092A91C1092AA1C4E -:10D840001092AB1C1092AC1C1092AD1C1092AE1C2E -:10D850001092AF1C1092B01C1092B11C1092B21C0E -:10D860001092B31C1092B41CDF91CF911F910F91B5 -:10D87000FF90EF90089520910D1D30910E1D409165 -:10D880000F1D5091101DFC01608171818281938177 -:10D890000E9411FA0E94E1F96093C11C7093C21CAE -:10D8A0008093C31C9093C41C81EC9CE10C946CDAB3 -:10D8B0008091CD179091CC17891B8F70089560933C -:10D8C000860C7093870C8093880C9093890C089534 -:10D8D000CF92DF92EF92FF920F931F93CF93DF933C -:10D8E00000D01F92CDB7DEB711EFC12E1CE1D12EB3 -:10D8F00001E0E02E0DE1F02E05EC1CE1F601619156 -:10D900007191819191916F01F70121913191419133 -:10D9100051917F0129833A834B835C830E94DCF71A -:10D9200029813A814B815C810E9411FA0E94B0F7F3 -:10D93000F80161937193819391938F01F1E0CF1678 -:10D94000FDE1DF06D9F60F900F900F900F90DF9159 -:10D95000CF911F910F91FF90EF90DF90CF9008959E -:10D960008091541D90E02091551D821B91090895CE -:10D970002091551D8091541D281750F4E22FF0E09E -:10D98000EA5AF24E808190E02F5F2093551D089552 -:10D990008FEF9FEF0895E091551D8091541DE8177A -:10D9A00030F4F0E0EA5AF24E808190E008958FEF73 -:10D9B0009FEF08950895CF92DF92EF92FF920F9319 -:10D9C0001F93CF93DF937C01CB018A012091311DFE -:10D9D000222389F0EB016B01C40ED51ECC15DD05A9 -:10D9E00061F06991D701ED91FC910190F081E02DFA -:10D9F000C7011995F3CF642F4BD0C801DF91CF91A8 -:10DA00001F910F91FF90EF90DF90CF900895CF93EB -:10DA1000DF931F92CDB7DEB769832091311D22239A -:10DA2000D1F02091321D203240F021E030E0FC01A5 -:10DA30003383228380E090E014C08091331DE82F6F -:10DA4000F0E0EC5CF24E998190838F5F8093331D00 -:10DA50008093321D04C061E0CE01019619D081E0AF -:10DA600090E00F90DF91CF910895FC011382128214 -:10DA700048EE53E060E070E044835583668377832B -:10DA80008EE99EE091838083089585E29DE1EDCF4C -:10DA9000613298F42091E31D243089F46093981D3D -:10DAA000FC018AE99DE1DC012A2F281B261718F4C6 -:10DAB00021912D93F9CF80E0089581E0089582E0CF -:10DAC000089585ED8093BC008091BC0084FDFCCF5F -:10DAD0001092E31D089585EC8093BC001092E31D25 -:10DAE00008951F920F920FB60F9211240BB60F924A -:10DAF0002F933F934F935F936F937F938F939F9356 -:10DB0000AF93BF93EF93FF938091B900887F8036E6 -:10DB100009F49CC068F5883209F45BC090F4803148 -:10DB200009F454C038F4882309F4F3C0883009F4A8 -:10DB30004DC0F2C0883109F44CC0803209F45DC098 -:10DB4000EBC0803409F468C048F4803309F455C050 -:10DB5000883309F0E1C08093761DA7C0803509F4B1 -:10DB60004FC0883509F45DC0883409F0D5C0D3C0F2 -:10DB7000883909F4C4C0A8F4883709F467C038F4B8 -:10DB8000883609F463C0803709F460C0C5C088389E -:10DB900009F4B5C0803909F45FC0803809F0BCC011 -:10DBA0005BC0803B09F483C038F4803A09F466C056 -:10DBB000883A09F47CC0B0C0803C09F4A4C0883C19 -:10DBC00009F4A1C0883B09F487C0A6C08091E21D7A -:10DBD00010C09091BB1D8091BA1D981770F5E0910F -:10DBE000BB1D81E08E0F8093BB1DF0E0E454F24E2C -:10DBF00080818093BB0085EC83C08093761D8BC0B1 -:10DC0000E091BB1D81E08E0F8093BB1D8091BB0016 -:10DC1000F0E0E454F24E80839091BB1D8091BA1DD8 -:10DC20006BC0E091BB1D81E08E0F8093BB1D809186 -:10DC3000BB00F0E0E454F24E80838091E11D81113D -:10DC40006AC081E08093E01D84EA5EC083E0809337 -:10DC5000E31D1092771DCFCF8091771D803208F0A1 -:10DC60004EC0E091771D81E08E0F8093771D8091EB -:10DC7000BB00F0E0E858F24E8083BDCF8091771D65 -:10DC8000803230F4E091771DF0E0E858F24E1082D7 -:10DC900018DF6091771D70E0E091DC1DF091DD1DD3 -:10DCA00088E79DE119951092771D15DF35C084E056 -:10DCB0008093E31D1092991D1092981DE091DE1D36 -:10DCC000F091DF1D19958091981D811105C081E0AB -:10DCD0008093981D10929A1DE091991D81E08E0FFE -:10DCE0008093991DF0E0E656F24E80818093BB0050 -:10DCF0009091991D8091981D981708F47CCF85E824 -:10DD00008093BC0009C085EC8093BC001092E31D99 -:10DD100003C01092761DD5DEFF91EF91BF91AF91B8 -:10DD20009F918F917F916F915F914F913F912F9133 -:10DD30000F900BBE0F900FBE0F901F9018951F9362 -:10DD4000CF93DF93182FEB0161E003D1209711F4FB -:10DD500060E004C0CF3FD10531F461E0812FDF9155 -:10DD6000CF911F912FC1E12FF0E0E55CF04A449183 -:10DD700050E0FA013197E131F10508F091C0E35824 -:10DD8000FF4F0C9458FB84B5806884BDC7BD8DC01F -:10DD900084B5806284BDC8BD88C0809180008068E1 -:10DDA00080938000D0938900C09388007EC08091CA -:10DDB0008000806280938000D0938B00C0938A00A3 -:10DDC00074C08091B00080688093B000C093B300AD -:10DDD0006CC08091B00080628093B000C093B400AA -:10DDE00064C080919000806880939000D0939900E7 -:10DDF000C09398005AC080919000806280939000F8 -:10DE0000D0939B00C0939A0050C08091900088608E -:10DE100080939000D0939D00C0939C0046C0809159 -:10DE2000A00080688093A0008091A0008F7B8093E9 -:10DE3000A000D093A900C093A80037C08091A00093 -:10DE400080628093A000D093AB00C093AA002DC045 -:10DE50008091A00088608093A000D093AD00C09313 -:10DE6000AC0023C080912001806880932001D09372 -:10DE70002901C093280119C08091200180628093FC -:10DE80002001D0932B01C0932A010FC08091200163 -:10DE9000886080932001D0932D01C0932C0105C090 -:10DEA000C038D1050CF059CF53CFDF91CF911F91DE -:10DEB000089590E0FC013197E131F10508F048C088 -:10DEC000E257FF4F0C9458FB809180008F7703C07E -:10DED000809180008F7D80938000089584B58F7736 -:10DEE00002C084B58F7D84BD08958091B0008F7786 -:10DEF00003C08091B0008F7D8093B0000895809121 -:10DF000090008F7707C0809190008F7D03C0809133 -:10DF10009000877F8093900008958091A0008F7774 -:10DF200007C08091A0008F7D03C08091A000877FF3 -:10DF30008093A0000895809120018F7707C0809181 -:10DF400020018F7D03C080912001877F8093200175 -:10DF50000895CF93DF9390E0FC01EF56F04A2491AF -:10DF6000FC01E951F04A8491882349F190E0880F3F -:10DF7000991FFC01EF58FF49A591B491895A9F4917 -:10DF8000FC01C591D4919FB7611108C0F8948C91A0 -:10DF9000209582238C93888182230AC0623051F4B9 -:10DFA000F8948C91322F309583238C938881822B27 -:10DFB000888304C0F8948C91822B8C939FBFDF914F -:10DFC000CF9108950F931F93CF93DF931F92CDB7F7 -:10DFD000DEB7282F30E0F901E55CF04A8491F901C1 -:10DFE000EF56F04A1491F901E951F04A04910023E7 -:10DFF000C1F0882319F069835CDF6981E02FF0E0CC -:10E00000EE0FFF1FE95AFF49A591B4919FB7F8940D -:10E010008C91611103C01095812301C0812B8C93D9 -:10E020009FBF0F90DF91CF911F910F910895CF93D4 -:10E03000DF93282F30E0F901E55CF04A8491F90183 -:10E04000EF56F04AD491F901E951F04AC491CC233A -:10E0500089F081112EDFEC2FF0E0EE0FFF1FE35C63 -:10E06000FF49A591B4912C912D2381E090E021F4FA -:10E0700080E002C080E090E0DF91CF9108951F9290 -:10E080000F920FB60F9211242F933F938F939F936C -:10E09000AF93BF938091E51D9091E61DA091E71D80 -:10E0A000B091E81D3091E41D23E0230F2D3720F4BB -:10E0B0000196A11DB11D05C026E8230F0296A11DE2 -:10E0C000B11D2093E41D8093E51D9093E61DA09360 -:10E0D000E71DB093E81D8091E91D9091EA1DA09184 -:10E0E000EB1DB091EC1D0196A11DB11D8093E91DA2 -:10E0F0009093EA1DA093EB1DB093EC1DBF91AF91DF -:10E100009F918F913F912F910F900FBE0F901F9075 -:10E1100018952FB7F8946091E51D7091E61D8091D8 -:10E12000E71D9091E81D2FBF08953FB7F8948091A7 -:10E13000E91D9091EA1DA091EB1DB091EC1D26B553 -:10E14000A89B05C02F3F19F00196A11DB11D3FBF2F -:10E150006627782F892F9A2F620F711D811D911DBF -:10E1600042E0660F771F881F991F4A95D1F70895DF -:10E17000CF92DF92EF92FF92CF93DF936B017C01FE -:10E18000D4DFEB01C114D104E104F10471F0CDDF5F -:10E190006C1B7D0B683E7340A8F381E0C81AD10860 -:10E1A000E108F108C851DC4FEDCFDF91CF91FF902E -:10E1B000EF90DF90CF9008950197009739F0880F86 -:10E1C000991F880F991F02970197F1F70895789486 -:10E1D00084B5826084BD84B5816084BD85B582606C -:10E1E00085BD85B5816085BDEEE6F0E0808181600A -:10E1F0008083E1E8F0E0108280818260808380810A -:10E2000081608083E0E8F0E0808181608083E1EBE1 -:10E21000F0E0808184608083E0EBF0E080818160C9 -:10E220008083E1E9F0E08081826080838081816089 -:10E230008083E0E9F0E0808181608083E1EAF0E0C2 -:10E24000808182608083808181608083E0EAF0E069 -:10E25000808181608083E1E2F1E08081826080835F -:10E26000808181608083E0E2F1E080818160808351 -:10E27000EAE7F0E08081846080838081826080832F -:10E280008081816080838081806880831092C1005A -:10E2900008959DDF0E948163C0E0D0E00E94988CC9 -:10E2A0002097E1F30E940000F9CF3F924F925F92D6 -:10E2B0006F927F928F929F92AF92BF92CF92DF9296 -:10E2C000EF92FF920F931F93CF93DF9300D01F9293 -:10E2D000CDB7DEB78B0129013A0190918A0C9817CE -:10E2E00021F09F3F09F0B1C204C0EBE8F0E63490A2 -:10E2F00004C180938A0CEBE8F0E6E491EF3F09F467 -:10E30000A4C2E23009F480C074F5EE2309F45BC0C6 -:10E31000E13009F0F1C010928000109281009091DC -:10E32000810098609093810090918100916090931A -:10E330008100282F30E0F901E951F04AE491F0E042 -:10E34000EE0FFF1FE95AFF494591549150930B1E60 -:10E3500040930A1EF901EF56F04A24912093091EBA -:10E3600033243394CCC0E43009F49EC00CF474C060 -:10E37000E53009F0C1C01092200110922101909166 -:10E3800021019860909321019091210191609093D7 -:10E390002101282F30E0F901E951F04AE491F0E041 -:10E3A000EE0FFF1FE95AFF49459154915093EF1D1D -:10E3B0004093EE1DF901EF56F04A24912093ED1D94 -:10E3C00055E0352E9CC014BC15BC94B5926094BD2C -:10E3D00095B5916095BD282F30E0F901E951F04ADB -:10E3E000E491F0E0EE0FFF1FE95AFF494591549187 -:10E3F0005093121E4093111EF901EF56F04A2491DA -:10E400002093101E312C7BC01092B0001092B100EE -:10E410009091B00092609093B0009091B1009160A3 -:10E420009093B100282F30E0F901E951F04AE491CE -:10E43000F0E0EE0FFF1FE95AFF49459154915093C8 -:10E44000041E4093031EF901EF56F04A24912093D5 -:10E45000021E22E0322E53C01092900010929100C2 -:10E4600090919100986090939100909191009160AB -:10E4700090939100282F30E0F901E951F04AE4919E -:10E48000F0E0EE0FFF1FE95AFF4945915491509378 -:10E49000FD1D4093FC1DF901EF56F04A2491209395 -:10E4A000FB1DB3E03B2E2BC01092A0001092A100E8 -:10E4B0009091A10098609093A1009091A10091602B -:10E4C0009093A100282F30E0F901E951F04AE4913E -:10E4D000F0E0EE0FFF1FE95AFF4945915491509328 -:10E4E000F61D4093F51DF901EF56F04A2491209353 -:10E4F000F41D74E0372E03C03E2E37FCA6C161E048 -:10E5000028DD4801A12CB12C832D8D7F09F0C0C0DE -:10E5100060E072E18AE790E0A50194010E943CFB73 -:10E5200029833A834B835C8369017A0181E0C81AAD -:10E53000D108E108F1089FEFC916D104E104F10404 -:10E5400009F008F49AC060E472E48FE090E0A5015D -:10E5500094010E943CFB69017A01E1E0CE1AD108E6 -:10E56000E108F108F2E03F1219C08FEFC816D1049C -:10E57000E104F10409F008F487C060E970ED83E07C -:10E5800090E0A50194010E943CFB69017A0191E0B1 -:10E59000C91AD108E108F10883E001C082E0EFEF79 -:10E5A000CE16D104E104F10409F008F467C068E470 -:10E5B00078EE81E090E0A50194010E943CFB6901A6 -:10E5C0007A01F1E0CF1AD108E108F1083320E1F037 -:10E5D00082E038121BC09FEFC916D104E104F10498 -:10E5E00009F008F430C164E274EF80E090E0A50126 -:10E5F00094010E943CFB69017A01E1E0CE1AD10846 -:10E60000E108F10885E003C083E001C084E0FFEF8A -:10E61000CF16D104E104F10489F180F162E17AE7D7 -:10E6200080E090E0A50194010E943CFB69017A0121 -:10E6300081E0C81AD108E108F108311002C084E075 -:10E6400001C086E09FEFC916D104E104F104B1F0E6 -:10E65000A8F0C980DA80EB80FC809AE0F594E7941A -:10E66000D794C7949A95D1F7E1E0CE1AD108E10882 -:10E67000F108332031F087E008C081E0332011F049 -:10E6800004C085E085BD50C082E08093B1004CC0DD -:10E6900060E072E18AE790E0A5019401EDD769019D -:10E6A0007A01F1E0CF1AD108E108F108C114D104D0 -:10E6B00081E0E806F10480F068E478EE81E090E023 -:10E6C000A5019401D9D769017A0191E0C91AD1084D -:10E6D000E108F10893E001C091E0E1E03E1207C0DB -:10E6E00080918100887F892B809381001DC0F3E099 -:10E6F0003F1207C080919100887F892B8093910001 -:10E7000013C084E0381207C08091A100887F892B54 -:10E710008093A10009C0E5E03E1206C0809121016E -:10E72000887F892B80932101411451046104710475 -:10E7300061F0D801AA0FBB1FA3019201C5D728EE33 -:10E7400033E040E050E076D703C02FEF3FEFA90160 -:10E75000F2E03F1609F443C0F315BCF0332081F119 -:10E7600081E0381272C0D0928900C0928800209354 -:10E770000C1E30930D1E40930E1E50930F1E809161 -:10E780006F00826080936F0060C094E0391609F4D6 -:10E7900048C03916A4F1E5E03E1257C0D0922901D5 -:10E7A000C09228012093F01D3093F11D4093F21D7B -:10E7B0005093F31D8091730082608093730045C075 -:10E7C000C7BC2093131E3093141E4093151E509304 -:10E7D000161E80916E00826080936E0036C0C092DB -:10E7E000B3002093051E3093061E4093071E5093DE -:10E7F000081E8091700082608093700026C0D092C5 -:10E800009900C09298002093FE1D3093FF1D409305 -:10E81000001E5093011E80917100826080937100F0 -:10E8200014C0D092A900C092A8002093F71D309385 -:10E83000F81D4093F91D5093FA1D8091720082607B -:10E840008093720002C084E020CF0F900F900F9051 -:10E850000F90DF91CF911F910F91FF90EF90DF907C -:10E86000CF90BF90AF909F908F907F906F905F9070 -:10E870004F903F9008958230A9F028F4882349F002 -:10E88000813051F00895843009F1E8F0853009F1C4 -:10E89000089510926E00089580916F008D7F80938F -:10E8A0006F000895809170008D7F8093700081E0EB -:10E8B0008093B0008091B100887F84608093B10024 -:10E8C0001092B30008951092710008951092720092 -:10E8D0000895109273000895CF93C82F80918A0CE9 -:10E8E0008C1307C0EBE8F0E684919FEF90938A0CBD -:10E8F00001C08FEFC0DF60E08C2FCF9163CB1F9200 -:10E900000F920FB60F9211240BB60F922F933F93D5 -:10E910004F935F936F937F938F939F93AF93BF9327 -:10E92000EF93FF938091051E9091061EA091071E04 -:10E93000B091081E892B8A2B8B2B51F19091021ECE -:10E94000E091031EF091041E8081892780838091CD -:10E95000051E9091061EA091071EB091081E181664 -:10E9600019061A061B06BCF48091051E9091061E1E -:10E97000A091071EB091081E0197A109B1098093CB -:10E98000051E9093061EA093071EB093081E03C099 -:10E9900080918A0CA1DFFF91EF91BF91AF919F9180 -:10E9A0008F917F916F915F914F913F912F910F9038 -:10E9B0000BBE0F900FBE0F901F901895FC01808129 -:10E9C000918149C7CF93DF93EC01888199810097AA -:10E9D00009F041D7198218821D821C821B821A827B -:10E9E000DF91CF9108950F931F93CF93DF93EC01A5 -:10E9F0008B016F5F7F4F88819981BCD7009731F081 -:10EA0000998388831B830A8381E001C080E0DF91C2 -:10EA1000CF911F910F910895CF93DF93EC018881DF -:10EA20009981892B29F08A819B818617970758F451 -:10EA3000CE01D9DF882341F08C819D81892B19F487 -:10EA4000E881F981108281E0DF91CF910895EF9202 -:10EA5000FF920F931F93CF93DF93EC017B018A0109 -:10EA6000BA01DADF811103C0CE01ACDF07C01D831C -:10EA70000C83B701888199810F94E700CE01DF9163 -:10EA8000CF911F910F91FF90EF900895FC0111829B -:10EA9000108213821282158214826115710551F061 -:10EAA000FB0101900020E9F7AF0141505109461BDD -:10EAB000570BCDCF0895CF93DF93EC01FB01861761 -:10EAC000970751F0608171816115710521F04481D2 -:10EAD0005581BDDF01C076DFCE01DF91CF91089572 -:10EAE000FC01118210821382128215821482E3CFFC -:10EAF000EF92FF920F931F93CF93DF93EC017B0173 -:10EB00000C811D816115710511F480E015C041155E -:10EB1000510589F0040F151FB8017EDF8823A9F382 -:10EB2000288139818C819D81B701820F931F0F94B9 -:10EB3000E7001D830C8381E0DF91CF911F910F913E -:10EB4000FF90EF900895CF93DF93EC01FB01448198 -:10EB5000558160817181CCDF811102C0CE0132DF2D -:10EB6000CE01DF91CF910895CF92DF92EF92FF9285 -:10EB70000F931F93CF93DF936C017A01EB01E60EA5 -:10EB8000F71E00E010E0CE15DF0561F06991D601B7 -:10EB9000ED91FC910190F081E02DC6011995080FCF -:10EBA000191FF1CFC801DF91CF911F910F91FF90F5 -:10EBB000EF90DF90CF9008956115710581F0DB0132 -:10EBC0000D900020E9F7AD0141505109461B570B4C -:10EBD000DC01ED91FC910280F381E02D199480E03D -:10EBE00090E00895E9CFDC01ED91FC910190F08176 -:10EBF000E02D19948F929F92AF92BF92CF92DF92A5 -:10EC0000EF92FF920F931F93CF93DF93CDB7DEB7B1 -:10EC1000A1970FB6F894DEBF0FBECDBF7C01C42E06 -:10EC2000E52FCB01D22E19A221E02D1510F02AE0FC -:10EC3000D22E8E010F5D1F4F8D2C912CA12CB12C4B -:10EC40006C2D7E2FA5019401F5D48C2DD29E8019B8 -:10EC50001124015011098A3014F4805D01C0895CCF -:10EC6000F8018083211531054105510521F0C22E9F -:10EC7000E32FCA01E5CFB801C7019EDFA1960FB609 -:10EC8000F894DEBF0FBECDBFDF91CF911F910F91E2 -:10EC9000FF90EF90DF90CF90BF90AF909F908F90BC -:10ECA00008952115310541F4DC01ED91FC910190AD -:10ECB000F081E02D642F19949DCF9A01AB0160E0A3 -:10ECC00070E0EFCF5058BB27AA270ED076C23FD2B4 -:10ECD00030F044D220F031F49F3F11F41EF40FC203 -:10ECE0000EF4E095E7FBDCC1E92F89D280F3BA1777 -:10ECF000620773078407950718F071F49EF5B8C290 -:10ED00000EF4E0950B2EBA2FA02D0B01B901900146 -:10ED10000C01CA01A0011124FF27591B99F0593F8A -:10ED200050F4503E68F11A16F040A22F232F342FD2 -:10ED30004427585FF3CF469537952795A795F04020 -:10ED40005395C9F77EF41F16BA0B620B730B840B35 -:10ED5000BAF09150A1F0FF0FBB1F661F771F881FED -:10ED6000C2F70EC0BA0F621F731F841F48F4879545 -:10ED700077956795B795F7959E3F08F0B3CF939534 -:10ED8000880F08F09927EE0F979587950895DFD1A2 -:10ED900058F080E891E009F49EEFE0D128F040E8D7 -:10EDA00051E059F45EEF09C0AAC162C2E92FE078D0 -:10EDB00026D268F3092E052AC1F32617370748071C -:10EDC000590738F00E2E07F8E02569F0E025E064D9 -:10EDD0000AC0EF6307F8009407FADB01B9019D014F -:10EDE000DC01CA01AD01EF935DD0E7D10AD05F919C -:10EDF000552331F02BED3FE049E450FD49EC63CF62 -:10EE00000895DF93DD27B92FBF7740E85FE316163B -:10EE1000170648075B0710F4D92F96D29F938F935C -:10EE20007F936F93A9D3EEE3F1E06CD1C6D12F911C -:10EE30003F914F915F9101D3DD2349F09058A2EAB1 -:10EE40002AED3FE049EC5FE3D0785D274DDFDF91AD -:10EE5000B4C1F7D180F09F3740F491110EF409C28C -:10EE600060E070E080E89FE3089526F01B16611DC6 -:10EE7000711D811D1BC135C1EFD008F481E00895DB -:10EE800075D1E395ABC10CD098C168D140F05FD18A -:10EE900030F021F45F3F19F003C15111EAC12FC1D5 -:10EEA000AED198F39923C9F35523B1F3951B550BB4 -:10EEB000BB27AA2762177307840738F09F5F5F4F4D -:10EEC000220F331F441FAA1FA9F333D00E2E3AF08E -:10EED000E0E830D091505040E695001CCAF729D0A8 -:10EEE000FE2F27D0660F771F881FBB1F26173707F7 -:10EEF0004807AB07B0E809F0BB0B802DBF01FF2727 -:10EF000093585F4F2AF09E3F510568F0C9C0B1C1C8 -:10EF10005F3FECF3983EDCF3869577956795B79560 -:10EF2000F7959F5FC9F7880F911D9695879597F97B -:10EF30000895E1E0660F771F881FBB1F62177307F4 -:10EF40008407BA0720F0621B730B840BBA0BEE1F09 -:10EF500088F7E095089504D06894B1118AC10895A6 -:10EF600056D188F09F5790F0B92F9927B751A0F04C -:10EF7000D1F0660F771F881F991F1AF0BA95C9F74D -:10EF800012C0B13081F074D1B1E0089571C1672F22 -:10EF9000782F8827B85F39F0B93FCCF386957795FD -:10EFA0006795B395D9F73EF49095809570956195E6 -:10EFB0007F4F8F4F9F4F0895E89409C097FB3EF411 -:10EFC00090958095709561957F4F8F4F9F4F9923B6 -:10EFD000A9F0F92F96E9BB279395F6958795779534 -:10EFE0006795B795F111F8CFFAF4BB0F11F460FFF4 -:10EFF0001BC06F5F7F4F8F4F9F4F16C0882311F04C -:10F0000096E911C0772321F09EE8872F762F05C05F -:10F01000662371F096E8862F70E060E02AF09A95FA -:10F02000660F771F881FDAF7880F9695879597F9EF -:10F03000089507D180F09F3740F491110EF019C167 -:10F0400060E070E080E89FEB089526F41B16611DD8 -:10F05000711D811D2BC045C0990F0008550FAA0BCB -:10F06000E0E8FEEF16161706E807F907C0F01216DB -:10F070001306E407F50798F0621B730B840B950BDE -:10F0800039F40A2661F0232B242B252B21F4089533 -:10F090000A2609F4A140A6958FEF811D811D0895D0 -:10F0A00097F99F6780E870E060E00895882371F425 -:10F0B000772321F09850872B762F07C0662311F411 -:10F0C00099270DC09051862B70E060E02AF09A9548 -:10F0D000660F771F881FDAF7880F9695879597F93F -:10F0E00008959F3F31F0915020F48795779567956B -:10F0F000B795880F911D9695879597F908959FEF7D -:10F1000080EC0895DF93CF931F930F93FF92EF92BC -:10F11000DF927B018C01689405C0DA2EEF018DD15E -:10F12000FE01E894A5912591359145915591AEF355 -:10F13000EF01DADDFE019701A801DA9479F7DF909B -:10F14000EF90FF900F911F91CF91DF9108950024D0 -:10F150000A941616170618060906089500240A943C -:10F1600012161306140605060895C9CF50D0E8F309 -:10F17000E894E0E0BB279F57F0F02AED3FE049EC30 -:10F1800006C0EE0FBB0F661F771F881F28F0B23A2C -:10F1900062077307840728F0B25A620B730B840B63 -:10F1A000E3959A9572F7803830F49A95BB0F661FF5 -:10F1B000771F881FD2F7904896CF092E0394000C32 -:10F1C00011F4882352F0BB0F40F4BF2B11F460FF01 -:10F1D00004C06F5F7F4F8F4F9F4F0895EF93E0FF05 -:10F1E00006C0A2EA2AED3FE049EC5FEB7DDDE5DFFA -:10F1F0000F90039401FC9058EBE6F1E0C7C157FD76 -:10F200009058440F551F59F05F3F71F04795880F94 -:10F2100097FB991F61F09F3F79F08795089512162B -:10F2200013061406551FF2CF4695F1DF08C01616D7 -:10F2300017061806991FF1CF869571056105089488 -:10F240000895E5DFA0F0BEE7B91788F4BB279F3823 -:10F2500060F41616B11D672F782F8827985FF7CFB7 -:10F26000869577956795B11D93959639C8F308955E -:10F27000E894BB2766277727CB0197F90895ECDE42 -:10F2800008F48FEF089563DF19F068DF09F037CFD6 -:10F2900007CFB901CA0125CF9F775F77B0DF98F319 -:10F2A0009923B9F35523B9F3FF27951758F4E52FA0 -:10F2B000E91BED3070F75E3B10F0F1E41CC09034B8 -:10F2C000E0F40AC0E92FE51BED3028F79E3B10F073 -:10F2D000F1E411C0503488F4F9EA88232AF09A95B1 -:10F2E000660F771F881FDAF744232AF05A95220FFA -:10F2F000331F441FDAF79F1B5F1BFF931F930F936E -:10F30000FF92EF9279018A01BB27AB2F9B01AC01E1 -:10F3100096D09701A801BF937B018C01AA27BA2F31 -:10F32000B901CA018CD0AF919701A801EF90FF906D -:10F330000F911F91D9DC41DFE1D04F9140FF08953B -:10F34000552747FD509509C09B01AC0160E070E076 -:10F3500080E89FE398CDA4CEC4CE59DFE8F399238B -:10F36000D9F3940F511DBBF39150504094F059F0D4 -:10F37000882332F0660F771F881F91505040C1F7E5 -:10F380009E3F510544F7880F911D9695879597F9F3 -:10F3900008955F3FACF0983E9CF0BB27869577952B -:10F3A0006795B79508F4B1609395C1F7BB0F58F70F -:10F3B00011F460FFE8CF6F5F7F4F8F4F9F4FE3CF18 -:10F3C00058CF25DF58F19E5758F19851A0F0E9F039 -:10F3D000983020F5092E9927660F771F881F991FEF -:10F3E0000A94D1F712C0062E672F782F8827985FCE -:10F3F00011F4000C07C0993FB4F386957795679593 -:10F400009395D9F7611D711D811D3EF490958095EE -:10F41000709561957F4F8F4F9F4F0895689429CFC6 -:10F4200027CF0BD0CACE93DE28F098DE18F09523B4 -:10F4300009F036CE64CE11241CCFE1DEA0F3959FF7 -:10F44000D1F3950F50E0551F629FF001729FBB27CB -:10F45000F00DB11D639FAA27F00DB11DAA1F649F77 -:10F460006627B00DA11D661F829F2227B00DA11D2A -:10F47000621F739FB00DA11D621F839FA00D611DB0 -:10F48000221F749F3327A00D611D231F849F600DD1 -:10F49000211D822F762F6A2F11249F5750408AF00A -:10F4A000E1F088234AF0EE0FFF1FBB1F661F771F96 -:10F4B000881F91505040A9F79E3F510570F0F0CD44 -:10F4C000D8CE5F3FECF3983EDCF386957795679551 -:10F4D000B795F795E7959F5FC1F7FE2B880F911DB4 -:10F4E0009695879597F908959F9340DE0F9007FCB6 -:10F4F000EE5F74CE11F40EF402CEF3CD88DED0F3BD -:10F500009923D9F3CEF39F57550B87FF38D00024AA -:10F51000A0E640EA900180585695979528F4805CC3 -:10F52000660F771F881F20F026173707480730F42B -:10F53000621B730B840B202931294A2BA695179443 -:10F540000794202531254A2758F7660F771F881F13 -:10F5500020F026173707480730F4620B730B840B33 -:10F56000200D311D411DA09581F7B901842F9158BF -:10F57000880F9695879508959B01AC0152CF9150C5 -:10F580005040660F771F881FD2F708959F938F937F -:10F590007F936F93FF93EF939B01AC0142DFEF9159 -:10F5A000FF91B0DD2F913F914F915F913ACFDB01F9 -:10F5B0008F939F9389D0BF91AF91A29F800D911D92 -:10F5C000A39F900DB29F900D1124089587FB082EE4 -:10F5D000062687FD819567FD61958AD00EF4919589 -:10F5E00007FC81950895AA1BBB1B51E107C0AA1F08 -:10F5F000BB1FA617B70710F0A61BB70B881F991FD4 -:10F600005A95A9F780959095BC01CD01089597FB77 -:10F61000072E16F4009406D077FD08D0E4DF07FC2F -:10F6200005D03EF4909581959F4F08957095619512 -:10F630007F4F0895A1E21A2EAA1BBB1BFD010DC02E -:10F64000AA1FBB1FEE1FFF1FA217B307E407F50792 -:10F6500020F0A21BB30BE40BF50B661F771F881F6E -:10F66000991F1A9469F760957095809590959B0104 -:10F67000AC01BD01CF010895052E97FB16F400944F -:10F680000FD057FD05D0D6DF07FC02D046F408C0E6 -:10F6900050954095309521953F4F4F4F5F4F0895BE -:10F6A00090958095709561957F4F8F4F9F4F0895EE -:10F6B000EE0FFF1F0590F491E02D199425D0B7FFB0 -:10F6C0000895821B930B08951FD0A59F900DB49FA2 -:10F6D000900DA49F800D911D11240895B7FFF4CFC4 -:10F6E000F3DF821B930B08950790F691E02D199498 -:10F6F000991B79E004C0991F961708F0961B881F84 -:10F700007A95C9F780950895A29FB001B39FC00173 -:10F71000A39F700D811D1124911DB29F700D811D3D -:10F720001124911D0895CF93DF938230910510F439 -:10F7300082E090E0E091191EF0911A1E20E030E086 -:10F74000A0E0B0E0309739F1408151814817590766 -:10F75000B8F04817590771F482819381109729F006 -:10F7600013969C938E9312972CC090931A1E80939D -:10F77000191E27C02115310531F04217530718F023 -:10F78000A901DB0101C0EF019A01BD01DF01028087 -:10F79000F381E02DD7CF21153105F9F0281B390B66 -:10F7A0002430310580F48A819B816115710521F037 -:10F7B000FB019383828304C090931A1E8093191EC9 -:10F7C000FE01329644C0FE01E20FF31F8193919334 -:10F7D00022503109398328833AC02091171E309175 -:10F7E000181E232B41F42091020230910302309322 -:10F7F000181E2093171E209100023091010221153E -:10F80000310541F42DB73EB74091040250910502F5 -:10F81000241B350BE091171EF091181EE217F30719 -:10F82000A0F42E1B3F0B2817390778F0AC014E5F70 -:10F830005F4F2417350748F04E0F5F1F5093181E77 -:10F840004093171E8193919302C0E0E0F0E0CF0156 -:10F85000DF91CF910895CF93DF93009709F487C08C -:10F86000FC01329713821282C091191ED0911A1E88 -:10F87000209781F420813181280F391F8091171E34 -:10F880009091181E8217930779F5F093181EE09354 -:10F89000171E6DC0DE0120E030E0AE17BF0750F448 -:10F8A00012964D915C9113979D014115510509F1F7 -:10F8B000DA01F3CFB383A28340815181840F951F76 -:10F8C0008A179B0771F48D919C911197840F951F56 -:10F8D00002969183808312968D919C9113979383C6 -:10F8E00082832115310529F4F0931A1EE093191E25 -:10F8F0003EC0D9011396FC93EE9312974D915D9102 -:10F90000A40FB51FEA17FB0779F480819181840F5A -:10F91000951F0296D90111969C938E9382819381B3 -:10F9200013969C938E931297E0E0F0E08A819B817E -:10F93000009719F0FE01EC01F9CFCE010296288163 -:10F940003981820F931F2091171E3091181E28179E -:10F95000390769F4309729F410921A1E1092191E73 -:10F9600002C013821282D093181EC093171EDF911B -:10F97000CF9108956F927F928F929F92AF92BF9294 -:10F98000CF92DF92EF92FF920F931F93CF93DF936B -:10F99000EC01CB01209779F4DF91CF911F910F916A -:10F9A000FF90EF90DF90CF90BF90AF909F908F909F -:10F9B0007F906F90B8CEFE01E60FF71F9E01225098 -:10F9C0003109E217F30708F4A8C0D9010D911C9181 -:10F9D000119706171707B0F00530110508F49BC002 -:10F9E000A801445051094617570708F494C0025023 -:10F9F0001109061B170B019311936D937C93CF0193 -:10FA00002ADF89C05B01A01AB10A4E01800E911E47 -:10FA1000A091191EB0911A1E612C712C60E070E04B -:10FA2000109709F449C0A815B905C9F5ED90FC90E7 -:10FA30001197670142E0C40ED11CCA14DB0478F1AF -:10FA400047018A189B08640142E0C40ED11C12963B -:10FA5000BC9012971396AC91B5E0CB16D10440F050 -:10FA6000B282A38391828082D9018D939C9309C035 -:10FA70000E5F1F4F0E0D1F1DF90111830083EB2D2B -:10FA8000FA2F6115710531F0DB011396FC93EE93AB -:10FA9000129741C0F0931A1EE093191E3CC06D915D -:10FAA0007C9111976616770608F43B01BD0112960A -:10FAB0000D90BC91A02DB4CF6091171E7091181EAF -:10FAC00068157905E9F468167906D0F440910002CA -:10FAD000509101024115510541F44DB75EB7609157 -:10FAE000040270910502461B570BE417F507A8F4B2 -:10FAF000F093181EE093171EF901918380830BC0C9 -:10FB000012DE7C01009749F0A801BE011ED3CE0190 -:10FB1000A2DEC70104C0CE0102C080E090E0DF9108 -:10FB2000CF911F910F91FF90EF90DF90CF90BF90FA -:10FB3000AF909F908F907F906F9008958F929F923B -:10FB4000AF92BF92CF92DF92EF92FF920F931F93EB -:10FB5000CF93DF938B016115710521F0DB018C934D -:10FB600011969C93EC015E01BFEFAB1ABB0A7501C5 -:10FB7000C8808C2D90E07BD2892B11F0E501F3CF6A -:10FB8000EDE2CE1208C07E01F2E0EF0EF11CC9805A -:10FB9000DD24D39409C02BE2C21205C07E0142E0ED -:10FBA000E40EF11CC980D12CE701219743E050E01D -:10FBB00064E970E6CE017BD2892BB9F4239645E047 -:10FBC00050E06FE870E6CE0172D2892B09F42596D9 -:10FBD0000115110519F0D801CD93DC93D11000C1A6 -:10FBE00060E070E080E89FE704C143E050E06CE82B -:10FBF00070E6CE015CD2892B59F40115110509F488 -:10FC0000F4C0B2E0EB0EF11CF801F182E082EDC02D -:10FC1000F70160E070E0CB01C0E0D0E07F01A0ED33 -:10FC2000AA2EAC0C29E02A1528F14D2D4260B42EE5 -:10FC30002D2D2870D2FE04C0211124C0219622C08F -:10FC400021112197A5E0B0E09B01AC013DDD660FDD -:10FC5000771F881F991F6A0D711D811D911D6839BD -:10FC6000A9E97A078A07A9E19A0760F0BD2DB66075 -:10FC7000BB2E08C02EEFA2120AC0D3FC50C04D2DDF -:10FC80004860B42E3196D701CC90DB2CC7CF2C2DF9 -:10FC90002F7D253409F043C0A081AD3241F4BD2D44 -:10FCA000B061DB2E7F0122E0E20EF11C0CC07F016F -:10FCB000AB3231F04FEFE41AF40A21E030E006C035 -:10FCC000A2E0EA0EF11CA18122E030E0A053AA30AC -:10FCD00018F0E21AF30A23C0F70120E030E02038E0 -:10FCE000BCE03B075CF4A901440F551F440F551FAE -:10FCF000240F351F220F331F2A0F311DAF014F5F15 -:10FD00005F4F7A01A081A053AA3010F4FA01E7CF27 -:10FD1000D4FE03C0319521953109C20FD31FD1FE06 -:10FD200009C00115110531F0E1E0EE1AF108D80122 -:10FD3000ED92FC9241D92D2D2370233019F04B0107 -:10FD40005C0106C04B015C01B7FAB094B7F8B094FF -:10FD500020E030E0A901C501B4018ED8882309F460 -:10FD60003CC0D7FF06C0D195C195D1090BEA10E67A -:10FD700002C003EC10E66801B8E1CB1AD10890E2AA -:10FD8000E92EF12CCE15DF056CF0F80125913591A7 -:10FD900045915491C501B40144DB4B015C01CE197E -:10FDA000DF09F0CF04501109F594E7940C151D05F7 -:10FDB00049F78A2D880F8B2D881F8F3F41F020E057 -:10FDC00030E0A901C501B40157D8811106C082E213 -:10FDD00090E090931C1E80931B1EC501B40109C0C6 -:10FDE00060E070E080E89FEF04C060E070E080ECCD -:10FDF0009FE7DF91CF911F910F91FF90EF90DF90E0 -:10FE0000CF90BF90AF909F908F9008952F923F9288 -:10FE10005F926F927F928F929F92AF92BF92CF929A -:10FE2000DF92EF92FF920F931F93CF93DF938B019B -:10FE3000EA016115710521F0DB018C9311969C9309 -:10FE4000209739F09E01225031092332310508F004 -:10FE5000F8C07C016701BFEFCB1ADB0A5601F7013E -:10FE60006080862D90E003D1892B11F07601F2CFCE -:10FE7000FDE26F120AC0570182E0A80EB11CD70143 -:10FE800011966C90772473940BC0BBE26B1207C081 -:10FE90005701E2E0AE0EB11CD70111966C90712CA7 -:10FEA000CE018F7E892B89F4B0E36B1222C0F5015D -:10FEB00080818F7D883541F56180F2E0AF0EB11C05 -:10FEC000872D8260782EC0E1D0E0C830D105F1F0F6 -:10FED0004CF4C230D10511F5C12CD12CE12CB0E489 -:10FEE000FB2E2EC0CA30D10531F0C031D10519F139 -:10FEF00015C0209751F7CAE0D0E0ACECCA2EDC2C3C -:10FF0000EC2CACE0FA2E1CC02097F9F6C8E0D0E04B -:10FF1000C12CD12CE12CF0E1FF2E12C060E070E08A -:10FF200080E090E89E01442737FD4095542F82DB06 -:10FF300069017A0105C0C12CD12CE12CE8E0FE2E2C -:10FF4000F50160E020E030E0A9014E01AA2497FC11 -:10FF5000A094BA2C1F0170ED572E560CA9E0A515E0 -:10FF600070F48FEB860D8A3118F499EC592E06C087 -:10FF70008FE9860D8A3128F589EA582E560C852D91 -:10FF800090E08C179D07ECF467FD17C0C216D306EE -:10FF9000E406F50678F0C501B40109DB9B01AC016C -:10FFA000250D311D411D511D213031054105B0E8A0 -:10FFB0005B0710F06FEF01C061E03196D1016C90EA -:10FFC000C9CF872D81700115110571F0662329F0C5 -:10FFD0003197D801ED93FC9307C071FE19C0329799 -:10FFE000D801ED93FC9314C067FF12C0882329F059 -:10FFF00020E030E040E050E804C02FEF3FEF4FEF4B -:020000022000DC -:100000005FE782E290E090931C1E80931B1E16C057 -:10001000882341F050954095309521953F4F4F4FA3 -:100020005F4F0CC057FF0AC082E290E090931C1E05 -:1000300080931B1E2FEF3FEF4FEF5FE7B901CA011F -:1000400004C060E070E080E090E0DF91CF911F910C -:100050000F91FF90EF90DF90CF90BF90AF909F9067 -:100060008F907F906F905F903F902F9008959111A7 -:1000700011C3803219F089508550D0F7089591113D -:10008000089581548A5108F4805E855A0895FB01D1 -:10009000DC0105900D920020E1F70895FC01059028 -:1000A0000020E9F7809590958E0F9F1F0895FB0122 -:1000B000DC014150504088F08D9181341CF08B352B -:1000C0000CF4805E659161341CF06B350CF4605E5D -:1000D000861B611171F3990B0895881BFCCFFB01FE -:1000E000DC014150504048F005900D920020C9F7C6 -:1000F00001C01D9241505040E0F70895FB01559119 -:100100005523A9F0BF01DC014D9145174111E1F7DD -:1001100059F4CD010590002049F04D914015411151 -:10012000C9F3FB014111EFCF81E090E00197089501 -:10013000FB01DC0104C08D910190801921F4415034 -:100140005040C8F7881B990B0895FB01DC0102C0E1 -:1001500001900D9241505040D8F70895DC0101C044 -:100160006D9341505040E0F70895FB01DC018D9103 -:1001700081341CF08B350CF4805E619161341CF08D -:100180006B350CF4605E861B611189F3990B089541 -:10019000FB01DC010D900020E9F7119701900D9211 -:1001A0000020E1F70895FC018191861721F0882352 -:1001B000D9F7992708953197CF010895FB01DC0104 -:1001C0008D91019080190110D9F3990B0895FB01CD -:1001D000DC0101900D920020E1F70895FB01DC01A4 -:1001E0004150504030F08D910190801919F4002059 -:1001F000B9F7881B990B0895FB01DC014150504071 -:1002000048F001900D920020C9F701C01D924150A5 -:100210005040E0F708950F931F93CF93DF93CDB72E -:10022000DEB72E970FB6F894DEBF0FBECDBF0E8996 -:100230001F898EE08C831A8309838FEF9FE79E834B -:100240008D83AE01465E5F4F688D798DCE0101963C -:1002500010D0EF81F885E00FF11F10822E960FB6B7 -:10026000F894DEBF0FBECDBFDF91CF911F910F91EC -:1002700008952F923F924F925F926F927F928F924A -:100280009F92AF92BF92CF92DF92EF92FF920F9325 -:100290001F93CF93DF93CDB7DEB72C970FB6F894AB -:1002A000DEBF0FBECDBF7C016B018A01FC0117824E -:1002B0001682838181FFB0C1CE0101964C01F70106 -:1002C0009381F60193FD859193FF81916F018823BE -:1002D00009F49EC1853239F493FD859193FF819194 -:1002E0006F01853221F4B70190E0EDD1E8CF512CB8 -:1002F000312C20E02032A0F48B3269F030F48032CF -:1003000059F0833269F420612CC08D3239F080338A -:1003100039F4216026C02260246023C0286021C0F7 -:1003200027FD27C030ED380F3A3078F426FF06C09D -:10033000FAE05F9E300D1124532E13C08AE0389EE0 -:10034000300D1124332E20620CC08E3221F426FD94 -:100350005FC1206406C08C3611F4206802C0883664 -:1003600041F4F60193FD859193FF81916F01811115 -:10037000C1CF982F9F7D9554933028F40C5F1F4F69 -:10038000FFE3F9830DC0833631F0833771F0833595 -:1003900009F057C021C0F801808189830E5F1F4F8B -:1003A00044244394512C540114C03801F2E06F0EE0 -:1003B000711CF801A080B18026FF03C0652D70E09C -:1003C00002C06FEF7FEFC5012C8772D12C01830132 -:1003D0002C852F77222E16C03801F2E06F0E711C8B -:1003E000F801A080B18026FF03C0652D70E002C037 -:1003F0006FEF7FEFC5012C8750D12C012C85206831 -:10040000222E830123FC19C0832D90E04816590643 -:10041000A0F4B70180E290E056D13A94F5CFF5010F -:1004200027FC859127FE81915F01B70190E04BD1B8 -:1004300031103A94F1E04F1A51084114510479F700 -:10044000DEC0843611F0893631F5F80127FF07C088 -:1004500060817181828193810C5F1F4F08C0608130 -:100460007181882777FD8095982F0E5F1F4F2F761B -:10047000B22E97FF09C090958095709561957F4F3A -:100480008F4F9F4F2068B22E2AE030E0A4014DD15B -:10049000A82EA81843C0853729F42F7EB22E2AE053 -:1004A00030E025C0F22FF97FBF2E8F36C1F018F44F -:1004B000883579F0ADC0803719F0883721F0A8C0B1 -:1004C0002F2F2061B22EB4FE0DC08B2D8460B82E6C -:1004D00009C024FF0AC09F2F9660B92E06C028E0ED -:1004E00030E005C020E130E002C020E132E0F80158 -:1004F000B7FE07C060817181828193810C5F1F4FBD -:1005000006C06081718180E090E00E5F1F4FA40102 -:100510000CD1A82EA818FB2DFF77BF2EB6FE0BC05E -:100520002B2D2E7FA51450F4B4FE0AC0B2FC08C0D7 -:100530002B2D2E7E05C07A2C2B2D03C07A2C01C0CA -:10054000752C24FF0DC0FE01EA0DF11D8081803362 -:1005500011F4297E09C022FF06C07394739404C06D -:10056000822F867809F0739423FD12C020FF06C005 -:100570005A2C731418F4530C5718732C731460F41A -:10058000B70180E290E02C879ED073942C85F6CF43 -:10059000731410F4371801C0312C24FF11C0B701B7 -:1005A00080E390E02C878FD02C8522FF16C021FF9E -:1005B00003C088E590E002C088E790E0B7010CC076 -:1005C000822F867851F021FD02C080E201C08BE2CB -:1005D00027FD8DE2B70190E076D0A51430F4B70185 -:1005E00080E390E070D05A94F8CFAA94F401EA0D19 -:1005F000F11D8081B70190E066D0A110F6CF3320C5 -:1006000009F45DCEB70180E290E05DD03A94F7CF77 -:10061000F7018681978102C08FEF9FEF2C960FB66E -:10062000F894DEBF0FBECDBFDF91CF911F910F9128 -:10063000FF90EF90DF90CF90BF90AF909F908F9002 -:100640007F906F905F904F903F902F900895F99911 -:10065000FECF92BD81BDF89A992780B50895A6E195 -:10066000B0E044E050E0C1C00396272FCDD0CBD0FE -:10067000252FCAD0242FC8C0262FF999FECF1FBA24 -:1006800092BD81BD20BD0FB6F894FA9AF99A0FBEBB -:1006900001960895992788270895FC0105906150D7 -:1006A00070400110D8F7809590958E0F9F1F089588 -:1006B000FC016150704001900110D8F78095909531 -:1006C0008E0F9F1F08950F931F93CF93DF93182FC3 -:1006D000092FEB018B8181FD03C08FEF9FEF20C0BD -:1006E00082FF10C04E815F812C813D8142175307EC -:1006F0007CF4E881F9819F012F5F3F4F3983288384 -:10070000108306C0E885F985812F1995892B29F773 -:100710002E813F812F5F3F4F3F832E83812F902F6C -:10072000DF91CF911F910F910895FA01AA272830E8 -:1007300051F1203181F1E8946F936E7F6E5F7F4FAE -:100740008F4F9F4FAF4FB1E03ED0B4E03CD0670F2A -:10075000781F891F9A1FA11D680F791F8A1F911D7D -:10076000A11D6A0F711D811D911DA11D20D009F4CD -:1007700068943F912AE0269F11243019305D31930F -:10078000DEF6CF010895462F4770405D4193B3E0F8 -:100790000FD0C9F7F6CF462F4F70405D4A3318F09F -:1007A000495D31FD4052419302D0A9F7EACFB4E050 -:1007B000A6959795879577956795BA95C9F7009708 -:1007C0006105710508959B01AC010A2E06945795A9 -:1007D000479537952795BA95C9F7620F731F841F00 -:1007E000951FA01D0895DC01CB01FC01F999FECFF6 -:1007F00006C0F2BDE1BDF89A319600B40D924150A9 -:100800005040B8F70895262FF999FECF92BD81BDCB -:10081000F89A019700B4021639F01FBA20BD0FB63E -:10082000F894FA9AF99A0FBE089510E6CEECD0E645 -:1008300000E006C022970109FE010BBF0E9474FB75 -:0E084000C03DD10780E00807A9F7F894FFCF6C -:10084E0000001D1E20000A01FF3FFF3F0000803FF9 -:10085E00F45A0344EA784C3F33B323420E0A140889 -:10086E001A0620042602344EE84D9F4D604D2E4D43 -:10087E00DC4CA34C484C094CC94B7F4B354BEB4AD7 -:10088E00974A434AEA49AA4960491649CC487848EA -:10089E002448CB479C4750470147D346AB46754645 -:1008AE0047461946EB45BD458B4559451645DD4432 -:1008BE009F44644443441B44F343D8439D437B43CA -:1008CE0054432D430643DC42B94296426E424142A6 -:1008DE002D421942FB41DD41BF41A14183415641A9 -:1008EE002E410641E840DE40D440CA40C040A740F9 -:1008FE00754057402540F33FC13F8F3F5D3F253F39 -:10090E00043FD73EAA3E6E3E323EF63DB53D743DA7 -:10091E00363DE33CBB3C873C5D3C3A3CF93BB43B4B -:10092E006B3B303BEA3AB63A5F3A0E3AC5398A39F2 -:10093E0056392639EF38B83881385E382C38F537C5 -:10094E00C83796373E370237BF366A361036E3352C -:10095E00AC3575352F35E93494344D341434D433E5 -:10096E00833351331F33D03278324B322932D03168 -:10097E00AA315E314C313C31E630953044300C308A -:10098E00C22F772F1B2FC42E6E2E0E2EB52D582D47 -:10099E00FE2CC72C9F2C4F2CFA2BAA2B5A2B1E2B1E -:1009AE00CE2A832A102A012AA729A8280D283B27F8 -:1009BE0069260A26BA25742501258E241B24A82310 -:1009CE00352395222222E621972149211321D61C77 -:1009DE009F1C041CB61989192A19D0187B18531894 -:1009EE002B180318DB17B3178B170E17DC16C3164D -:1009FE0073161416D31574152415ED1489142514B5 -:100A0E00DF13B71371131713BD126D12FF1191116E -:100A1E002D11E2106010CA0F7F0F340FF40E7C0EF2 -:100A2E00540EF20DB80D600D080DAA0C6A0C1C0CBC -:100A3E00C00B740B1E0BEA0ACA0A9A0A460A060A69 -:100A4E00B0095D091909D0087A082208CA07720789 -:100A5E001A07C2066B061D06D5057D053C05F30477 -:100A6E00444EF64DAC4D6C4D384DED4CAD4C5C4C92 -:100A7E00184CD74B8F4B454BFB4AA94A554AFD495B -:100A8E00B84970492649DC488A483648DE47A747A8 -:100A9E005E470F47DE46B3467E4653462546F7452C -:100AAE00C645954563452745EC44AF446D444944DE -:100ABE002344FB43DF43AC4384435D4336430F4340 -:100ACE00E542C0429D4276424A4231421D420142B7 -:100ADE00E341C541A74189415F4136410E41EE4098 -:100AEE00E040D640CC40C240AC407F405D402F40FD -:100AFE00FD3FCB3F993F673F313F0A3FE03EB33E5C -:100B0E007A3E3E3E023EC23D813D433DF33CC33CF8 -:100B1E00923C663C433C073CC03B7A3B3A3BF83A3E -:100B2E00BF3A703A1F3AD43993395F393039FA38AF -:100B3E00C3388C38653836380038D137A03750373F -:100B4E000B37CA367B362236EC35B7358035413514 -:100B5E00F734A4345C341F34E03391335C332733E1 -:100B6E00DF328A3254322F32DF31B0316A315031B6 -:100B7E004031F530A73055301A30D22F832F2D2F1C -:100B8E00D62E802E202EC72D692D0B2DD22CA72CC4 -:100B9E005F2C0B2CBA2B6A2B2A2BDE2A922A272AA1 -:100BAE00042AB929DB282C28652793261D26CA2559 -:100BBE0082251825A5243224BF234C23B5223922A1 -:100BCE00F121A3215B211E21AF1DAA1C231C2C1A6F -:100BDE0092193D19E2188C185B1833180B18E3178D -:100BEE00BB1793172717E616C81683162716E01598 -:100BFE0087153415F8149D143914ED13BF137F1394 -:100C0E002913CF127D121512A7114111F1107A106E -:100C1E00E80F8E0F430F020F940E5B0E070EC30DDF -:100C2E00710D190DBB0C770C2E0CD20B810B2E0BEC -:100C3E00F30AD10AA20A560A130AC3096E09260933 -:100C4E00DF088C083408DC0784072C07D4067D06E1 -:100C5E002F06E7058F0549050005534E074EBD4D7E -:100C6E007B4D424DFC4CBE4C6D4C234CE34B9D4B8F -:100C7E00534B094BB94A654A0E4AC4497E49344919 -:100C8E00EA489A484648EF47AF476E472047E64640 -:100C9E00BB4689465B462D46FF45CF459F456D4574 -:100CAE003245F544B94477444F442B440344E4435E -:100CBE00B7438A4364433D431643ED42C742A442C1 -:100CCE007E425342354221420742E941CB41AD417A -:100CDE008F4168413E411641F440E240D840CE403B -:100CEE00C440B1408940634039400740D53FA33FDF -:100CFE00713F3D3F113FE93EBC3E863E4A3E0E3EB1 -:100D0E00CF3D8E3D4F3D043DCB3C9E3C6E3C4B3C1F -:100D1E00183CD13B8C3B453B0A3BC93A823A313AAF -:100D2E00E239A239703937390539CE3897386C38EF -:100D3E0040380B38DA37AA3762371937D9368C363E -:100D4E003436F535C2358B354D350535B6346B3405 -:100D5E002A34ED33A73363333333EF329F325D32B0 -:100D6E003632F131B8317C31533143310531B63041 -:100D7E0063302130E12F912F3E2FE82E902E342E0E -:100D8E00D92D7B2D1D2DDD2CAF2C6F2C1C2CCA2BA1 -:100D9E007A2B362BEE2AA12A3E2A072ACB290E2998 -:100DAE004B288F27BD263026DA2590252F25BC24EB -:100DBE004924D6236323D5225022FF21B5216B214E -:100DCE002A21881EB51C421CA21A9B195019F41810 -:100DDE009D1863183B181318EB17C3179B17401772 -:100DEE00F016CD1693163A16ED159A1544150315F1 -:100DFE00B1144D14FB13C7138D133B13E1128D1257 -:100E0E002B12BD1155110011941006109D0F520F8B -:100E1E000E0FAC0E630E190ECF0D830D2B0DD40CD1 -:100E2E00820C400CE40B910B470BFF0AD70AAD0A5C -:100E3E00680A200AD4097D093409EF089C0846087F -:100E4E00EC0796073E07E6068D063906F005A00567 -:100E5E0057051205644E184ECD4D8B4D4C4D0E4D13 -:100E6E00C84C7E4C2E4CEF4BAB4B614B174BC94ACB -:100E7E00754A1F4AD0498C494249F848AA485648F3 -:100E8E000048B9477E473147EE46C346944663460F -:100E9E0035460746D945A94577453D45FE44C344E9 -:100EAE009044564433440B44EB43BF4391436B434E -:100EBE0044431D43F542CE42AB4286425C42394228 -:100ECE0025420D42EF41D141B34195417141464119 -:100EDE001E41FA40E440DA40D040C640B64093404E -:100EEE00694043401140DF3FAD3F7B3F493F183FD4 -:100EFE00F23EC53E923E563E1A3EDC3D9B3D5B3D6C -:100F0E00153DD33CA53C763C523C1E3CE13B9B3B05 -:100F1E00533B163BD83A943A413AF239B3397839C1 -:100F2E0042391039D938A23873384A381638E3376F -:100F3E00B43775372737E8369D364636FE35CD350C -:100F4E00963558351335C8347A343434FA33B633CB -:100F5E0070333F33FE32B23266323D320132C0312F -:100F6E008C31563146311531C53071302930F02F64 -:100F7E00A32F4F2FFB2E9F2E4A2EEA2D8D2D332D74 -:100F8E00E82CB72C7F2C2D2CDA2B8A2B422BFE2A09 -:100F9E00B02A552A0A2ADD2941296A28B927E726C7 -:100FAE004326EA259E254625D3246024ED237A2365 -:100FBE00F52267221022CA217D213821611FC01C13 -:100FCE00611C181BA41963190619AE186B18431867 -:100FDE001B18F317CB17A3175917FA16D216A31609 -:100FEE004D16FA15AD1554150E15C51461140914C8 -:100FFE00CF139B134D13F3129D124112D31169118E -:10100E000F11AE102410AC0F610F1A0FC40E6C0E20 -:10101E002A0EDB0D950D3D0DE60C8C0C4D0CF80BD0 -:10102E00A60B580B0C0BDE0ABA0A7A0A2C0AE30935 -:10103E008F093F09FD08AC085608FE07A6074E07A4 -:10104E00F6069E064706F905B10563052005704EA6 -:10105E00264EDB4D9A4D564D1D4DD24C924C3D4C6D -:10106E00FD4BBB4B714B274BDB4A874A324ADE495D -:10107E009C4952490849BC4868481348C2478C47A6 -:10108E003F47F946CB46A1466E4640461246E245DC -:10109E00B34581454E450D45D34499445D443B448B -:1010AE001344EF43CE43984374434D432643FE42CD -:1010BE00D542B2428E4265423D4229421342F5412B -:1010CE00D741B9419B417A414E4126410041E6400C -:1010DE00DC40D240C840BB409D406F404D401B405D -:1010EE00E93FB73F853F513F1E3FFB3ECE3E9E3E02 -:1010FE00623E263EE93DA83D683D253DDB3CAF3CCA -:10110E007F3C583C2E3CEC3BA93B5D3B253BE13AFA -:10111E00A53A503A003ABC3981394C391B39E4387A -:10112E00AD387A3854382138EC37BE3786373037F9 -:10113E00F336AE3658360736D835A13567352135F4 -:10114E00D934893441340634C3337A3349330F33B7 -:10115E00C2326F3244321532C83197315A31493169 -:10116E002831D63084303830FE2FB22F642F0B2F1B -:10117E00B12E5C2EFC2DA22D472DF32CBF2C8F2CC7 -:10118E003E2CEA2B9A2B4E2B0E2BBF2A6C2A0D2AA5 -:10119E00EF2974298928E32711275626FA25AC252D -:1011AE005D25EA2477240424912315237E221A2216 -:1011BE00D8218B2140213A20CB1C801C8E1BAD19CF -:1011CE0076191819BF1873184B182318FB17D31755 -:1011DE00AB1772170417D716B31660160716C0157D -:1011EE0064151915D91475141714D713A9135F1391 -:1011FE000513AD125712E9117D111E11C8104210C0 -:10120E00BB0F700F280FDC0E740E3F0EE60DA60DF1 -:10121E004E0DF70C9B0C5C0C0A0CB30B670B150BED -:10122E00E40AC20A8A0A390AF5099D094C090B0912 -:10123E00BE0868081008B80760070807B006590608 -:10124E000B06C30570052D050160EA00000080BB8A -:10125E0044010100000041000034420000504100F2 -:10126E000040400000564300004643000049430042 -:10127E00000000000000001F856B3E0000803F0054 -:10128E00004040640064006400640000803B450040 -:10129E00803B4500007043000000000287C301320E -:1012AE0000E6006400DC005A00F0006400FE00015D -:1012BE00010101011C02C201F4010E01C201C201B1 -:1012CE000E01C201C20100000243FF0000400014E3 -:1012DE00005400001F1511151F00000C12120C00F7 -:1012EE00000000040A0A0A0A11110E040E1F041C43 -:1012FE000000000006191803130C00001C1F11112A -:10130E001F00000004120912040000000E13151134 -:10131E000E00000000000000110A040000C8420088 -:10132E0000C84200007A45CD4C21430000FA43002C -:10133E0000FA43000040400000C841282300002866 -:10134E002300001E000000102700001010101010C7 -:10135E00504944204175746F74756E6520737461C5 -:10136E00727400504944204175746F74756E652017 -:10137E006661696C65642E204261642065787472C2 -:10138E0075646572206E756D6265722E00000000C8 -:10139E0000324DB4F52F006F70656E206661696C7A -:1013AE0065642C2046696C653A20004E6F7420707F -:1013BE0072696E74696E670053442D5052494E54D3 -:1013CE00494E47202020202020202020004D313162 -:1013DE003200332E302E3100315F37356D6D2D5288 -:1013EE00414D426F3133612D45334476366C69740D -:1013FE0065003F0050727573612069330020703AAA -:10140E000020693A0020643A0020633A005400003C -:10141E00000100250030001D000C001800240031D2 -:10142E00001C000B00170023002F001B000A001EDB -:10143E000047000400060022002B001A00030036AD -:10144E000037003500380058595A454F4B00052ECD -:10145E002E003E00206D6D006D2000636D00682033 -:10146E000073006B6D0068007C002D2D2D2D2D2D31 -:10147E002D2D2D2D2D2D2D2D2D2D2D2D2D2D0048A0 -:10148E006F74656E640058005900426564004C6FBD -:10149E006164696E672066696C616D656E74003497 -:1014AE00002020202020202020202020202020204E -:1014BE0020202020200001005E0020205A00203A2B -:1014CE00200000803B4500803B450000704300003B -:1014DE00704200000000A4D1B4F50000000007ED3A -:0A14EE00DBECB0ECB8ECCBECDAEC70 -:00000001FF diff --git a/hex_files/1_75mm_MK2-RAMBo10a-E3Dv6full.hex b/hex_files/1_75mm_MK2-RAMBo10a-E3Dv6full.hex deleted file mode 100644 index dad2e4fa8..000000000 --- a/hex_files/1_75mm_MK2-RAMBo10a-E3Dv6full.hex +++ /dev/null @@ -1,8977 +0,0 @@ -:100000000C94C9300C94FA300C94FA300C94FA30F9 -:100010000C94FA300C94FA300C94FA300C94FA30B8 -:100020000C94FA300C94FA300C94FA300C94FA30A8 -:100030000C94FA300D9460020C94FA300C94FA305F -:100040000C94FA300C9440DC0C94FA300C94FA3096 -:100050000C94FA300C94FA300C94F84A0C9420FE6C -:100060000C94FA300C940ED90C94FA300C94FA30AB -:100070000C94FA300C94FA300C94FA300C94FA3058 -:100080000C94FA300C94FA300C94FA300C94FA3048 -:100090000C94FA300C94FA300C94FA300C9452FB15 -:1000A0000C94FA300C94FA300C94FA300C94FA3028 -:1000B0000C94FA300C94FA300C94FA300C94FA3018 -:1000C0000C94FA300C94FA300C94FA300C94FA3008 -:1000D0000C94FA300C94FA300C94FA300C94FA30F8 -:1000E0000C94FA30454B534B6F4B7D4B974BA54BC4 -:1000F000BF4BC34BC54BC94BD14BA4FCA9FCAEFCB9 -:10010000B8FC31FDC2FCCAFCD2FCDCFCE6FCF0FC15 -:10011000FFFC09FD31FD13FD1DFD27FD4FFD52FDC7 -:1001200045FD49FD89FD56FD5AFD60FD64FD68FDF4 -:100130006EFD72FD76FD89FD7CFD80FD84FD084A23 -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F000D9495037C3C83 -:100190003E5E2B3D3F2F5B5D3B2C2A225C0045726F -:1001A000723A204D415854454D5020424544005428 -:1001B000656D7065726174757265206865617465DE -:1001C0006420626564207377697463686564206F76 -:1001D00066662E204D415854454D50207472696713 -:1001E00067657265642021004572723A204D494E60 -:1001F00054454D50003A20457874727564657220FC -:100200007377697463686564206F66662E204D4954 -:100210004E54454D5020747269676765726564205D -:1002200021004572723A204D415854454D50003AD4 -:100230002045787472756465722073776974636899 -:100240006564206F66662E204D415854454D502000 -:10025000747269676765726564202100544845526D -:100260004D414C2052554E4157415900202D2049B7 -:100270006E76616C6964206578747275646572204D -:100280006E756D626572202100504944204175747D -:100290006F74756E652066696E6973686564212088 -:1002A00050757420746865206C617374204B702CD9 -:1002B000204B6920616E64204B6420636F6E737401 -:1002C000616E74732066726F6D2061626F76652057 -:1002D000696E746F20436F6E6669677572617469C9 -:1002E0006F6E2E6800504944204175746F74756EAE -:1002F00065206661696C6564212074696D656F7540 -:10030000740020403A006F6B20543A006F6B20421B -:100310003A00504944204175746F74756E652066CB -:1003200061696C6564212054656D706572617475D6 -:10033000726520746F6F206869676800204B643AAB -:100340002000204B693A2000204B703A20002043C7 -:100350006C61737369632050494420002054753ADE -:100360002000204B753A2000206D61783A20002053 -:100370006D696E3A200020643A2000206269617342 -:100380003A20001000C90210012C01400122017026 -:10039000011801B0010E01F00104015002FA00B091 -:1003A00002F0003003E600D003DC009004D20070BD -:1003B00005C800A006BE000008B400B009AA00D01D -:1003C0000BA000600E960060118C000015820020CA -:1003D000197800C01D6E00A0226400B0275A00905A -:1003E0002C500000314600E0343C001038320090C0 -:1003F0003A2800603C1E00A03D1400803E0A002008 -:100400003F000070012C0190012701B0012201C0C2 -:10041000011D01F00118011002130130020E0160EC -:1004200002090190020401C002FF000003FA00402B -:1004300003F5008003F000D003EB002004E6007019 -:1004400004E100E004DC004005D700C005D2004014 -:1004500006CD00D006C8008007C3003008BE00F0FB -:1004600008B900C009B400B00AAF00B00BAA00D0B0 -:100470000CA500000EA000500F9B00C0109600506D -:1004800012910000148C00C0158700B0178200B0D4 -:10049000197D00D01B7800001E730040206E009074 -:1004A000226900F024640040275F0090295A00E090 -:1004B0002B5500102E500020304B0010324600E02B -:1004C00033410090353C001037370070383200A0BF -:1004D000392D00B03A2800A03B2300603C1E0010DC -:1004E0003D1900903D1400103E0F00703E0A00C000 -:1004F0003E0500003F00004472756B207A20555382 -:1005000042202000496D70726573696F6E206465CA -:100510002055534220005374616D70612064612046 -:10052000555342005469736B207A20555342202062 -:1005300000555342207072696E74696E6720200006 -:1005400053746174797374796B61202000457374FE -:100550006164697374696361202000537461746914 -:100560007374696368650053746174697374696B4B -:10057000612020005374617469737469637320206F -:100580000053656C6674657374206E69657564618B -:100590006E79004175746F746573742066616C6C5C -:1005A00061646F004175746F746573742066616C6B -:1005B0006C69746F0053656C667465737420736541 -:1005C0006C68616C20200053656C667465737420E0 -:1005D0006661696C656420200053656C66746573A0 -:1005E00074202020202020202020004175746F746A -:1005F000657374004175746F746573740053656C32 -:100600006674657374202020202020202020005351 -:10061000656C6674657374202020202020202020C3 -:100620000057737A7973746B6F204F4B2020202012 -:10063000202000546F646F2062696520004E65734E -:1006400073756E206572726F726500567365204F08 -:100650004B202020202020202020202000416C6CD6 -:1006600020636F7272656374202020202020004B6D -:100670006F6E74726F6C6120626564202020202090 -:1006800000436F6E74726F6C2064652063616D61EE -:10069000005665726966696361207069617374727E -:1006A00061004B6F6E74726F6C6120626564202014 -:1006B00020202000436865636B696E672062656473 -:1006C0002020202020004B6F6E74726F6C61205AC6 -:1006D0002061786973202000436F6E74726F6C2004 -:1006E00064656C20656A65205A00566572696669A2 -:1006F00063612061737365205A004B6F6E74726F73 -:100700006C61205A2061786973202000436865631A -:100710006B696E67205A20617869732020004B6FE7 -:100720006E74726F6C6120592061786973202000AB -:10073000436F6E74726F6C2064656C20656A65200F -:10074000590056657269666963612061737365203B -:1007500059004B6F6E74726F6C612059206178691B -:1007600073202000436865636B696E6720592061C0 -:100770007869732020004B6F6E74726F6C61205823 -:100780002061786973202000436F6E74726F6C2053 -:1007900064656C20656A65205800566572696669F3 -:1007A000636120617373652058004B6F6E74726FC4 -:1007B0006C6120582061786973202000436865636C -:1007C0006B696E67205820617869732020004B6F39 -:1007D0006E74726F6C6120686F74656E64202000A7 -:1007E000436F6E74726F6C20686F74656E64200066 -:1007F0005665726966696361206C696D2074656D08 -:1008000070004B6F6E74726F6C6120686F74656EF0 -:1008100064202000436865636B696E6720686F74AD -:10082000656E642020004B6F6E74726F6C61206582 -:100830006E6473746F707300436F6E742E20746FE8 -:100840007065732066696E616C00566572696669D1 -:100850006361206C696D697469004B6F6E74726FAF -:100860006C6120656E6473746F70730043686563B8 -:100870006B696E6720656E6473746F707300536587 -:100880006C66207465737420737461727420200028 -:100890004175746F746573742073616C6964610071 -:1008A000496E697A6961206175746F74657374004B -:1008B00053656C6620746573742073746172742060 -:1008C000200053656C6620746573742073746172C4 -:1008D00074202000437A6173206472756B75203A2E -:1008E0002020005469656D706F20646520696D700B -:1008F0002E3A0054656D706F207374616D70613AAB -:1009000000436173207469736B75203A2020005096 -:1009100072696E742074696D653A20200046696CB6 -:10092000616D656E74203A20200046696C616D65CA -:100930006E746F203A20200046696C616D656E749C -:100940006F3A0046696C616D656E74203A20200034 -:1009500046696C616D656E7420757365643A20201C -:1009600000437A61732063616C6B6F7769747920DF -:100970003A005469656D706F20746F74616C203A31 -:100980000054656D706F207374616D706120746FB9 -:10099000743A0043656C6B6F767920636173203A1B -:1009A00000546F74616C207072696E742074696D8C -:1009B00065203A0046696C616D656E74206C6163F8 -:1009C0007A6E6965203A0046696C616D656E746F78 -:1009D00020746F74616C3A0046696C616D656E7469 -:1009E0006F20746F743A0046696C616D656E742097 -:1009F00063656C6B656D203A00546F74616C2066A2 -:100A0000696C616D656E74203A0053656C66207484 -:100A1000657374204F4B0053656C66207465737466 -:100A2000204F4B004175746F74657374204F4B00F9 -:100A300053656C662074657374204F4B0053656C6E -:100A4000662074657374204F4B00456E6473746F39 -:100A500070206E6F742068697400546F7065206632 -:100A6000696E2E206E6F20746F632E004C696D2EA0 -:100A70002066756F7269706F727461746100456E83 -:100A80006473746F70206E6F742068697400456EB3 -:100A90006473746F70206E6F742068697400456EA3 -:100AA0006473746F7000546F70652066696E616C5A -:100AB000004C696D69746520636F72736100456EE7 -:100AC0006473746F7000456E6473746F7000536963 -:100AD0006C6E696B004D6F746F72004D6F746F7246 -:100AE00065004D6F746F72004D6F746F7200456ECC -:100AF0006473746F707300546F7065732066696EF1 -:100B0000616C004C696D69746920636F7273610078 -:100B1000456E6473746F707300456E6473746F70A8 -:100B20007300426C616420706F6C61637A656E69FA -:100B300061004572726F7220646520636F6E657824 -:100B400069C383C692C382C2B36E004572726F726C -:100B500065206361626C616767696F0043687962F1 -:100B600061207A61706F6A656E6900576972696E9B -:100B700067206572726F7200426564202F2048659D -:100B8000617465720043616D612F43616C656E74C1 -:100B900061646F7200506961737472612F5269737E -:100BA00063616C6461746F726500426564202F201C -:100BB00048656174657200426564202F2048656154 -:100BC000746572004865617465722F546865726D52 -:100BD0006973746F720043616C656E742E2F546577 -:100BE000726D6973746F720052697363616C642E05 -:100BF0002F5465726D6973746F7265004865617416 -:100C000065722F546865726D6973746F7200486500 -:100C1000617465722F546865726D6973746F7200C8 -:100C20004E696520706F646C61637A6F6E6F20200F -:100C300020004E6F2068617920636F6E6578696F60 -:100C40006E2020004E6F6E20636F6E6E6573736F43 -:100C5000004E657A61706F6A656E6F2020202000FB -:100C60004E6F7420636F6E6E656374656400536BC2 -:100C70006F6E74726F6C756A203A00436F6E747297 -:100C80006F6C61203A0056657269666963613A006B -:100C90005A6B6F6E74726F6C756A7465203A00508F -:100CA0006C6561736520636865636B203A0053650A -:100CB0006C6674657374206572726F72202100C354 -:100CC00083E2809AC382C2A14175746F74657374A4 -:100CD000206572726F7221004175746F7465737450 -:100CE000206E6567617469766F0053656C66746524 -:100CF0007374206572726F7220210053656C667484 -:100D0000657374206572726F72202100686F77744A -:100D10006F2E707275736133642E637A00686F771B -:100D2000746F2E707275736133642E636F6D00681B -:100D30006F77746F2E707275736133642E636F6D8D -:100D400000686F77746F2E707275736133642E63F1 -:100D50007A00686F77746F2E707275736133642ECA -:100D6000636F6D00666F72756D2E7072757361338F -:100D7000642E637A00666F72756D2E707275736182 -:100D800033642E636F6D00666F72756D2E707275B1 -:100D9000736133642E636F6D00666F72756D2E70B4 -:100DA0007275736133642E637A00666F72756D2E8F -:100DB000707275736133642E636F6D00707275733A -:100DC0006133642E637A00707275736133642E63CD -:100DD0006F6D00707275736133642E636F6D007098 -:100DE0007275736133642E637A0070727573613348 -:100DF000642E636F6D005779626F72206A657A792D -:100E00006B6120202020202020200043616D62693A -:100E100061206C61206C656E677561200053656CA4 -:100E2000657A2E206C61206C696E67756100567959 -:100E3000626572206A617A796B612020202020200F -:100E400020200053656C656374206C616E6775616A -:100E50006765202020202000506F6C736B6900456F -:100E60007370616E6F6C004974616C69616E6F00C4 -:100E700043657374696E6100456E676C69736800E1 -:100E80004572726F7220696E206D656E7520737485 -:100E900072756374757265004572726F7220696E47 -:100EA000206D656E7520737472756374757265005C -:100EB0004572726F7220696E206D656E7520737455 -:100EC00072756374757265004572726F7220696E17 -:100ED000206D656E7520737472756374757265002C -:100EE0004572726F7220696E206D656E7520737425 -:100EF0007275637475726500446F737461766F7692 -:100F0000616E69205A0041646A757374696E672066 -:100F10005A0041646A757374696E67205A00446FA1 -:100F2000737461766F76616E69205A0041646A75E8 -:100F30007374696E67205A004261627973746570D8 -:100F400070696E67205900426162797374657070D0 -:100F5000696E6720590042616279737465707069C7 -:100F60006E67205900426162797374657070696EB2 -:100F700067205900426162797374657070696E67A9 -:100F8000205900426162797374657070696E6720E0 -:100F90005800426162797374657070696E67205899 -:100FA00000426162797374657070696E67205800E1 -:100FB000426162797374657070696E67205800428F -:100FC0006162797374657070696E6720580020746F -:100FD0006F6F206C6F6E6720657874727573696FC0 -:100FE0006E2070726576656E7465640020746F6F34 -:100FF000206C6F6E6720657874727573696F6E20F0 -:1010000070726576656E7465640020746F6F206C15 -:101010006F6E6720657874727573696F6E20707279 -:101020006576656E7465640020746F6F206C6F6EFA -:101030006720657874727573696F6E20707265765B -:10104000656E7465640020746F6F206C6F6E67202E -:10105000657874727573696F6E2070726576656EEF -:101060007465640020636F6C6420657874727573B6 -:10107000696F6E2070726576656E746564002063BA -:101080006F6C6420657874727573696F6E2070720E -:101090006576656E7465640020636F6C64206578A6 -:1010A00074727573696F6E2070726576656E7465A3 -:1010B000640020636F6C6420657874727573696F67 -:1010C0006E2070726576656E7465640020636F6C67 -:1010D0006420657874727573696F6E2070726576BE -:1010E000656E74656400656E6473746F70732068F8 -:1010F00069743A2000656E6473746F707320686958 -:10110000743A2000656E6473746F7073206869743C -:101110003A2000656E6473746F7073206869743A66 -:101120002000656E6473746F7073206869743A2070 -:1011300000537465707261746520746F6F20686904 -:1011400067683A2000537465707261746520746F2B -:101150006F20686967683A20005374657072617423 -:101160006520746F6F20686967683A200053746562 -:10117000707261746520746F6F20686967683A20C7 -:1011800000537465707261746520746F6F206869B4 -:1011900067683A200043616E6E6F7420656E7465F7 -:1011A00072207375626469723A200043616E6E6FDB -:1011B0007420656E746572207375626469723A207A -:1011C0000043616E6E6F7420656E74657220737576 -:1011D000626469723A200043616E6E6F7420656EBE -:1011E000746572207375626469723A200043616E9F -:1011F0006E6F7420656E74657220737562646972B7 -:101200003A20006572726F722077726974696E6736 -:1012100020746F2066696C65006572726F7220774A -:10122000726974696E6720746F2066696C65006509 -:1012300072726F722077726974696E6720746F20A2 -:1012400066696C65006572726F7220777269746985 -:101250006E6720746F2066696C65006572726F72CC -:101260002077726974696E6720746F2066696C6597 -:10127000004E6F74205344207072696E74696E67FB -:10128000004E6F74205344207072696E74696E67EB -:10129000004E6F74205344207072696E74696E67DB -:1012A000004E6F74205344207072696E74696E67CB -:1012B000004E6F74205344207072696E74696E67BB -:1012C000005344207072696E74696E67206279748D -:1012D0006520005344207072696E74696E672062E5 -:1012E00079746520005344207072696E74696E676A -:1012F000206279746520005344207072696E7469AD -:101300006E67206279746520005344207072696EA4 -:1013100074696E6720627974652000577269746918 -:101320006E6720746F2066696C653A200057726999 -:1013300074696E6720746F2066696C653A20005787 -:10134000726974696E6720746F2066696C653A20F3 -:101350000057726974696E6720746F2066696C65E6 -:101360003A200057726974696E6720746F2066694D -:101370006C653A200046696C652073656C65637422 -:1013800065640046696C652073656C6563746564AB -:101390000046696C652073656C656374656400461E -:1013A000696C652073656C65637465640046696C7F -:1013B000652073656C6563746564002053697A65A4 -:1013C0003A20002053697A653A20002053697A65F3 -:1013D0003A20002053697A653A20002053697A65E3 -:1013E0003A200046696C65206F70656E65643A202E -:1013F0000046696C65206F70656E65643A20004632 -:10140000696C65206F70656E65643A200046696C92 -:1014100065206F70656E65643A200046696C6520D2 -:101420006F70656E65643A20006F70656E2066614E -:10143000696C65642C2046696C653A20006F7065A4 -:101440006E206661696C65642C2046696C653A2083 -:10145000006F70656E206661696C65642C2046695A -:101460006C653A20006F70656E206661696C65641A -:101470002C2046696C653A20006F70656E206661AD -:10148000696C65642C2046696C653A2000776F7240 -:101490006B446972206F70656E206661696C65646B -:1014A00000776F726B446972206F70656E206661A1 -:1014B000696C656400776F726B446972206F706548 -:1014C0006E206661696C656400776F726B44697247 -:1014D000206F70656E206661696C656400776F725D -:1014E0006B446972206F70656E206661696C65641B -:1014F0000053442063617264206F6B005344206387 -:10150000617264206F6B0053442063617264206FCA -:101510006B0053442063617264206F6B005344205E -:1015200063617264206F6B006F70656E526F6F74D1 -:10153000206661696C6564006F70656E526F6F74D0 -:10154000206661696C6564006F70656E526F6F74C0 -:10155000206661696C6564006F70656E526F6F74B0 -:10156000206661696C6564006F70656E526F6F74A0 -:10157000206661696C656400766F6C756D652E69B7 -:101580006E6974206661696C656400766F6C756D58 -:10159000652E696E6974206661696C656400766F9A -:1015A0006C756D652E696E6974206661696C656421 -:1015B00000766F6C756D652E696E69742066616961 -:1015C0006C656400766F6C756D652E696E6974204C -:1015D0006661696C656400534420696E69742066B5 -:1015E00061696C00534420696E6974206661696C9E -:1015F00000534420696E6974206661696C0053442D -:1016000020696E6974206661696C00534420696EBC -:101610006974206661696C0043616E6E6F74206F3F -:1016200070656E207375626469720043616E6E6FDF -:1016300074206F70656E2073756264697200436117 -:101640006E6E6F74206F70656E2073756264697260 -:101650000043616E6E6F74206F70656E20737562EB -:101660006469720043616E6E6F74206F70656E20E6 -:1016700073756264697200486F74656E64206F668A -:1016800066736574733A00486F74656E64206F66A4 -:1016900066736574733A00486F74656E64206F6694 -:1016A00066736574733A00486F74656E64206F6684 -:1016B00066736574733A00486F74656E64206F6674 -:1016C00066736574733A006F70656E006F70656E57 -:1016D000006F70656E006F70656E006F70656E00F4 -:1016E000545249474745524544005452494747459B -:1016F00052454400545249474745524544005452CC -:101700004947474552454400545249474745524589 -:1017100044005265706F7274696E6720656E647301 -:10172000746F7020737461747573005265706F729A -:1017300074696E6720656E6473746F702073746172 -:10174000747573005265706F7274696E6720656E90 -:101750006473746F70207374617475730052657074 -:101760006F7274696E6720656E6473746F70207336 -:101770007461747573005265706F7274696E67205E -:10178000656E6473746F7020737461747573007A1E -:101790005F6D61783A20007A5F6D61783A20007A57 -:1017A0005F6D61783A20007A5F6D61783A20007A47 -:1017B0005F6D61783A20007A5F6D696E3A20007A39 -:1017C0005F6D696E3A20007A5F6D696E3A20007A2B -:1017D0005F6D696E3A20007A5F6D696E3A2000791C -:1017E0005F6D61783A2000795F6D61783A20007909 -:1017F0005F6D61783A2000795F6D61783A200079F9 -:101800005F6D61783A2000795F6D696E3A200079EA -:101810005F6D696E3A2000795F6D696E3A200079DC -:101820005F6D696E3A2000795F6D696E3A200078CD -:101830005F6D61783A2000785F6D61783A200078BA -:101840005F6D61783A2000785F6D61783A200078AA -:101850005F6D61783A2000785F6D696E3A2000789C -:101860005F6D696E3A2000785F6D696E3A2000788E -:101870005F6D696E3A2000785F6D696E3A200049AD -:101880006E76616C69642065787472756465720047 -:10189000496E76616C6964206578747275646572EE -:1018A00000496E76616C6964206578747275646550 -:1018B0007200496E76616C69642065787472756433 -:1018C000657200496E76616C696420657874727522 -:1018D0006465720041637469766520457874727539 -:1018E0006465723A200041637469766520457874B6 -:1018F00072756465723A20004163746976652045AB -:10190000787472756465723A200041637469766513 -:101910002045787472756465723A20004163746979 -:1019200076652045787472756465723A2000556E4C -:101930006B6E6F776E20636F6D6D616E643A2022FF -:1019400000556E6B6E6F776E20636F6D6D616E64A8 -:101950003A202200556E6B6E6F776E20636F6D6D4F -:10196000616E643A202200556E6B6E6F776E206355 -:101970006F6D6D616E643A202200556E6B6E6F77ED -:101980006E20636F6D6D616E643A20220052657344 -:10199000656E643A2000526573656E643A200052A9 -:1019A0006573656E643A2000526573656E643A2013 -:1019B00000526573656E643A20005072696E7465FA -:1019C000722073746F707065642064756520746F25 -:1019D000206572726F72732E204669782074686574 -:1019E000206572726F7220616E6420757365204D80 -:1019F00039393920746F20726573746172742E20C6 -:101A00002854656D70657261747572652069732004 -:101A100072657365742E2053657420697420616645 -:101A20007465722072657374617274696E672900DF -:101A30005072696E7465722073746F707065642083 -:101A400064756520746F206572726F72732E204604 -:101A5000697820746865206572726F7220616E64A7 -:101A600020757365204D39393920746F2072657384 -:101A7000746172742E202854656D7065726174757E -:101A800072652069732072657365742E20536574C6 -:101A90002069742061667465722072657374617266 -:101AA00074696E6729005072696E74657220737470 -:101AB0006F707065642064756520746F2065727244 -:101AC0006F72732E20466978207468652065727283 -:101AD0006F7220616E6420757365204D393939202D -:101AE000746F20726573746172742E202854656D52 -:101AF00070657261747572652069732072657365B3 -:101B0000742E205365742069742061667465722098 -:101B100072657374617274696E6729005072696EC0 -:101B20007465722073746F707065642064756520CD -:101B3000746F206572726F72732E204669782074FC -:101B40006865206572726F7220616E6420757365BE -:101B5000204D39393920746F207265737461727445 -:101B60002E202854656D70657261747572652069E8 -:101B7000732072657365742E205365742069742018 -:101B800061667465722072657374617274696E67E0 -:101B900029005072696E7465722073746F7070657D -:101BA000642064756520746F206572726F72732E85 -:101BB0002046697820746865206572726F722061B2 -:101BC0006E6420757365204D39393920746F207229 -:101BD0006573746172742E202854656D706572612E -:101BE000747572652069732072657365742E205355 -:101BF00065742069742061667465722072657374FF -:101C0000617274696E6729005072696E7465722022 -:101C100068616C7465642E206B696C6C2829206384 -:101C2000616C6C656421005072696E746572206825 -:101C3000616C7465642E206B696C6C28292063616B -:101C40006C6C656421005072696E74657220686105 -:101C50006C7465642E206B696C6C28292063616C40 -:101C60006C656421005072696E7465722068616CE5 -:101C70007465642E206B696C6C28292063616C6C20 -:101C8000656421005072696E7465722068616C74BD -:101C900065642E206B696C6C28292063616C6C650F -:101CA00064210020436F756E7420583A2000204351 -:101CB0006F756E7420583A200020436F756E742043 -:101CC000583A200020436F756E7420583A20002047 -:101CD000436F756E7420583A20004649524D574163 -:101CE00052455F4E414D453A4D61726C696E2056CA -:101CF000312E302E323B20537072696E7465722F14 -:101D00006772626C206D617368757020666F7220F7 -:101D100067656E36204649524D574152455F5552D0 -:101D20004C3A68747470733A2F2F676974687562DF -:101D30002E636F6D2F707275736133642F507275DF -:101D400073612D69332D506C75732F2050524F5491 -:101D50004F434F4C5F56455253494F4E3A312E3008 -:101D6000204D414348494E455F545950453A5072C1 -:101D7000757361206933204D4B32204558545255BC -:101D80004445525F434F554E543A312055554944CE -:101D90003A30303030303030302D303030302D303F -:101DA0003030302D303030302D3030303030303039 -:101DB00030303030300A004649524D574152455F6D -:101DC0004E414D453A4D61726C696E2056312E3050 -:101DD0002E323B20537072696E7465722F67726287 -:101DE0006C206D617368757020666F722067656E18 -:101DF00036204649524D574152455F55524C3A683C -:101E0000747470733A2F2F6769746875622E636FEC -:101E10006D2F707275736133642F50727573612DFD -:101E200069332D506C75732F2050524F544F434FD0 -:101E30004C5F56455253494F4E3A312E30204D415A -:101E40004348494E455F545950453A507275736145 -:101E5000206933204D4B3220455854525544455249 -:101E60005F434F554E543A3120555549443A30302E -:101E70003030303030302D303030302D3030303068 -:101E80002D303030302D3030303030303030303058 -:101E900030300A004649524D574152455F4E414D40 -:101EA000453A4D61726C696E2056312E302E323BB0 -:101EB00020537072696E7465722F6772626C206D48 -:101EC000617368757020666F722067656E36204694 -:101ED00049524D574152455F55524C3A687474709F -:101EE000733A2F2F6769746875622E636F6D2F7058 -:101EF0007275736133642F50727573612D69332D60 -:101F0000506C75732F2050524F544F434F4C5F56B7 -:101F1000455253494F4E3A312E30204D41434849A6 -:101F20004E455F545950453A50727573612069337C -:101F3000204D4B322045585452554445525F434F33 -:101F4000554E543A3120555549443A3030303030AE -:101F50003030302D303030302D303030302D30308A -:101F600030302D3030303030303030303030300A9A -:101F7000004649524D574152455F4E414D453A4DFD -:101F800061726C696E2056312E302E323B205370B8 -:101F900072696E7465722F6772626C206D6173680E -:101FA000757020666F722067656E36204649524D07 -:101FB000574152455F55524C3A68747470733A2FCA -:101FC0002F6769746875622E636F6D2F70727573F9 -:101FD0006133642F50727573612D69332D506C75A8 -:101FE000732F2050524F544F434F4C5F564552531E -:101FF000494F4E3A312E30204D414348494E455FBE -:10200000545950453A5072757361206933204D4BD5 -:10201000322045585452554445525F434F554E5413 -:102020003A3120555549443A303030303030303034 -:102030002D303030302D303030302D303030302DAC -:102040003030303030303030303030300A004649B7 -:10205000524D574152455F4E414D453A4D61726C6C -:10206000696E2056312E302E323B20537072696ECD -:102070007465722F6772626C206D61736875702071 -:10208000666F722067656E36204649524D57415241 -:10209000455F55524C3A68747470733A2F2F6769D4 -:1020A000746875622E636F6D2F707275736133641F -:1020B0002F50727573612D69332D506C75732F20FD -:1020C00050524F544F434F4C5F56455253494F4E19 -:1020D0003A312E30204D414348494E455F545950C6 -:1020E000453A5072757361206933204D4B3220455B -:1020F000585452554445525F434F554E543A31203F -:10210000555549443A30303030303030302D303051 -:1021100030302D303030302D303030302D303030C8 -:102120003030303030303030300A0053746F6C69EA -:102130006B204F4B2E0042617365206C6973746F86 -:102140002E0050696174746F20666174746F2E0084 -:10215000426564204F4B2E0042656420646F6E65BB -:102160000047727A616E69652073746F6C696B6188 -:102170002E2E00426173652043616C656E74616E42 -:10218000646F0050696174746F2072697363616C6D -:1021900064616D2E005A6168726976616E692062B1 -:1021A0006564004265642048656174696E67004734 -:1021B000727A616E6965204F4B2E0043616C656ECB -:1021C00074616E646F206C6973746F2E0052697352 -:1021D00063616C64616D656E746F20666174746FA9 -:1021E0002E005A6168726976616E69204F4B2E002D -:1021F00048656174696E6720646F6E652E00477272 -:102200007A616E69652E2E2E0043616C656E746175 -:102210006E646F2E2E2E0052697363616C64616D63 -:10222000656E746F2E2E2E005A6168726976616E2B -:10223000690048656174696E67004D313039204925 -:102240006E76616C6964206578747275646572205D -:10225000004D31303920496E76616C6964206578B3 -:1022600074727564657220004D31303920496E7684 -:10227000616C696420657874727564657220004DC4 -:1022800031303920496E76616C69642065787472EA -:102290007564657220004D31303920496E76616C6D -:1022A000696420657874727564657220004E6F20D1 -:1022B000746865726D6973746F7273202D206E6F10 -:1022C0002074656D7065726174757265004E6F2063 -:1022D000746865726D6973746F7273202D206E6FF0 -:1022E0002074656D7065726174757265004E6F2043 -:1022F000746865726D6973746F7273202D206E6FD0 -:102300002074656D7065726174757265004E6F2022 -:10231000746865726D6973746F7273202D206E6FAF -:102320002074656D7065726174757265004E6F2002 -:10233000746865726D6973746F7273202D206E6F8F -:102340002074656D7065726174757265004D32320E -:102350003120496E76616C696420657874727564A9 -:10236000657220004D32323120496E76616C6964AD -:1023700020657874727564657220004D32323120A8 -:10238000496E76616C6964206578747275646572F3 -:1023900020004D32323120496E76616C69642065CF -:1023A0007874727564657220004D32323120496E46 -:1023B00076616C696420657874727564657220005A -:1023C0004D32313820496E76616C696420657874CD -:1023D000727564657220004D32313820496E766125 -:1023E0006C696420657874727564657220004D3282 -:1023F000313820496E76616C696420657874727535 -:1024000064657220004D32313820496E76616C6906 -:102410006420657874727564657220004D323138BD -:1024200020496E76616C69642065787472756465A4 -:102430007220004D32303020496E76616C69642024 -:10244000657874727564657220004D3230302049B1 -:102450006E76616C6964206578747275646572204B -:10246000004D32303020496E76616C6964206578A9 -:1024700074727564657220004D32303020496E767A -:10248000616C696420657874727564657220004DB2 -:1024900032303020496E76616C69642065787472E0 -:1024A0007564657220004D31303520496E76616C5F -:1024B000696420657874727564657220004D3130EE -:1024C0003520496E76616C69642065787472756434 -:1024D000657220004D31303520496E76616C69643B -:1024E00020657874727564657220004D3130352036 -:1024F000496E76616C696420657874727564657282 -:1025000020004D31303520496E76616C696420655C -:102510007874727564657220004D31303420496ED4 -:1025200076616C69642065787472756465722000E8 -:102530004D31303420496E76616C69642065787461 -:10254000727564657220004D31303420496E7661B9 -:102550006C696420657874727564657220004D3111 -:10256000303420496E76616C6964206578747275C8 -:1025700064657220004D31303420496E76616C699B -:10258000642065787472756465722000456E6420FD -:1025900066696C65206C69737400456E64206669B9 -:1025A0006C65206C69737400456E642066696C65A7 -:1025B000206C69737400456E642066696C65206CDC -:1025C00069737400456E642066696C65206C69737C -:1025D0007400426567696E2066696C65206C69737A -:1025E0007400426567696E2066696C65206C69736A -:1025F0007400426567696E2066696C65206C69735A -:102600007400426567696E2066696C65206C697349 -:102610007400426567696E2066696C65206C697339 -:102620007400446F6E65207072696E74696E672005 -:1026300066696C6500446F6E65207072696E7469BE -:102640006E672066696C6500446F6E652070726904 -:102650006E74696E672066696C6500446F6E6520F4 -:102660007072696E74696E672066696C6500446F8C -:102670006E65207072696E74696E672066696C653C -:10268000004E6F204C696E65204E756D626572203C -:102690007769746820636865636B73756D2C204C73 -:1026A000617374204C696E653A20004E6F204C694E -:1026B0006E65204E756D626572207769746820635F -:1026C0006865636B73756D2C204C617374204C6965 -:1026D0006E653A20004E6F204C696E65204E756D18 -:1026E000626572207769746820636865636B7375CF -:1026F0006D2C204C617374204C696E653A20004E3D -:102700006F204C696E65204E756D62657220776929 -:10271000746820636865636B73756D2C204C6173FE -:1027200074204C696E653A20004E6F204C696E65CE -:10273000204E756D626572207769746820636865E4 -:10274000636B73756D2C204C617374204C696E65DE -:102750003A20004E6F20436865636B73756D207778 -:10276000697468206C696E65206E756D6265722C87 -:10277000204C617374204C696E653A20004E6F20C6 -:10278000436865636B73756D2077697468206C6945 -:102790006E65206E756D6265722C204C61737420BD -:1027A0004C696E653A20004E6F20436865636B7319 -:1027B000756D2077697468206C696E65206E756D23 -:1027C0006265722C204C617374204C696E653A20EE -:1027D000004E6F20436865636B73756D2077697475 -:1027E00068206C696E65206E756D6265722C204C78 -:1027F000617374204C696E653A20004E6F20436807 -:1028000065636B73756D2077697468206C696E659C -:10281000206E756D6265722C204C617374204C695A -:102820006E653A2000636865636B73756D206D6932 -:10283000736D617463682C204C617374204C696EF5 -:10284000653A2000636865636B73756D206D69730D -:102850006D617463682C204C617374204C696E65E3 -:102860003A2000636865636B73756D206D69736DE5 -:10287000617463682C204C617374204C696E653AF6 -:102880002000636865636B73756D206D69736D619E -:102890007463682C204C617374204C696E653A2017 -:1028A00000636865636B73756D206D69736D61742A -:1028B00063682C204C617374204C696E653A20006B -:1028C0004C696E65204E756D626572206973206E6D -:1028D0006F74204C617374204C696E65204E756D69 -:1028E0006265722B312C204C617374204C696E65CB -:1028F0003A20004C696E65204E756D6265722069E4 -:1029000073206E6F74204C617374204C696E652067 -:102910004E756D6265722B312C204C617374204CA6 -:10292000696E653A20004C696E65204E756D626572 -:1029300072206973206E6F74204C617374204C692F -:102940006E65204E756D6265722B312C204C617363 -:1029500074204C696E653A20004C696E65204E7596 -:102960006D626572206973206E6F74204C617374A0 -:10297000204C696E65204E756D6265722B312C207E -:102980004C617374204C696E653A20004C696E6529 -:10299000204E756D626572206973206E6F74204CD5 -:1029A000617374204C696E65204E756D6265722B83 -:1029B000312C204C617374204C696E653A200044C0 -:1029C0006F6E6520736176696E672066696C652E2F -:1029D00000446F6E6520736176696E672066696C6E -:1029E000652E00446F6E6520736176696E672066A0 -:1029F000696C652E00446F6E6520736176696E6741 -:102A00002066696C652E00446F6E6520736176697F -:102A10006E672066696C652E006F6B006F6B006FD0 -:102A20006B006F6B006F6B002020506C616E6E65E9 -:102A30007242756666657242797465733A20002049 -:102A400020506C616E6E6572427566666572427981 -:102A50007465733A20002020506C616E6E6572427E -:102A6000756666657242797465733A20002020505D -:102A70006C616E6E657242756666657242797465E8 -:102A8000733A20002020506C616E6E65724275664C -:102A900066657242797465733A20002046726565F6 -:102AA000204D656D6F72793A200020467265652071 -:102AB0004D656D6F72793A20002046726565204D34 -:102AC000656D6F72793A20002046726565204D650C -:102AD0006D6F72793A20002046726565204D656DF4 -:102AE0006F72793A2000204C6173742055706461D4 -:102AF0007465643A2000204C6173742055706461E1 -:102B00007465643A2000204C6173742055706461D0 -:102B10007465643A2000204C6173742055706461C0 -:102B20007465643A2000204C6173742055706461B0 -:102B30007465643A2000207C20417574686F723A95 -:102B40002000207C20417574686F723A2000207C40 -:102B500020417574686F723A2000207C20417574A2 -:102B6000686F723A2000207C20417574686F723A59 -:102B7000200020536F66747761726520526573651B -:102B8000740020536F6674776172652052657365B7 -:102B9000740020536F6674776172652052657365A7 -:102BA000740020536F667477617265205265736597 -:102BB000740020536F667477617265205265736587 -:102BC0007400205761746368646F67205265736591 -:102BD0007400205761746368646F67205265736581 -:102BE0007400205761746368646F67205265736571 -:102BF0007400205761746368646F67205265736561 -:102C00007400205761746368646F67205265736550 -:102C100074002042726F776E206F75742052657356 -:102C20006574002042726F776E206F757420526554 -:102C3000736574002042726F776E206F7574205236 -:102C400065736574002042726F776E206F75742013 -:102C50005265736574002042726F776E206F7574D1 -:102C6000205265736574002045787465726E616CDE -:102C7000205265736574002045787465726E616CCE -:102C8000205265736574002045787465726E616CBE -:102C9000205265736574002045787465726E616CAE -:102CA000205265736574002045787465726E616C9E -:102CB00020526573657400506F77657255700050CF -:102CC0006F776572557000506F7765725570005060 -:102CD0006F776572557000506F776572557000653B -:102CE0006E717565696E67202200656E7175656924 -:102CF0006E67202200656E717565696E672022001F -:102D0000656E717565696E67202200656E71756507 -:102D1000696E672022007770726F772E207A6D6956 -:102D2000616E007061726120746F6D617220656602 -:102D30006563746F0020706572206D6F73747261CB -:102D4000726520692063616D622E002070726F20B1 -:102D500070726F6A6576656E69207A6D656E0020A7 -:102D6000666F722074616B652065666665637400CA -:102D700052657374617274206472756B61726B69F1 -:102D8000005265696E6963696172206C6120696DCA -:102D9000702E005269617676696F206C61207374C1 -:102DA000616D702E0052657374617274756A74651A -:102DB000207469736B61726E75005265626F6F7417 -:102DC00020746865207072696E746572004D6F645E -:102DD000205B7720777964616A6E6F73635D004D65 -:102DE0006F646F205B6D617320667565727A615DDB -:102DF000004D6F646F205B70697520666F727A6139 -:102E00005D004D6F6420205B7679732E2076796BA0 -:102E10006F6E5D004D6F6465205B68696768207048 -:102E20006F7765725D004D6F642020202020202088 -:102E30005B63696368795D004D6F646F20202020BB -:102E4000205B73696C656E63696F5D004D6F646FC5 -:102E500020202020205B73696C656E7A696F736F28 -:102E60005D004D6F64202020202020205B7469636A -:102E700068795D004D6F646520202020205B7369B8 -:102E80006C656E745D0057796D69616E612066696D -:102E90006C616D656E74750043616D6269616E642D -:102EA0006F2066696C2E21004D757465766F6C65B8 -:102EB0002066696C2E210056796D656E6120666909 -:102EC0006C616D656E747521004368616E67696E33 -:102ED000672066696C616D656E7421005770726F52 -:102EE0007761647A2066696C616D656E7400496E05 -:102EF00073657274612066696C616D656E746F00D4 -:102F0000496E7365726972652066696C616D656E84 -:102F1000746F00566C6F7A74652066696C616D65BC -:102F20006E7400496E736572742066696C616D65BC -:102F30006E74004E616369736E696A2070727A798B -:102F40006369736B00592070756C736520656C2024 -:102F50006D616E646F00592070756C736520656CCF -:102F6000206D616E646F004120737469736B6E65D0 -:102F7000746520746C616369746B6F00416E6420CA -:102F8000707265737320746865206B6E6F62005792 -:102F9000796D69616E61206F6B210043616D6269BB -:102FA0006172206269656E210043616D6269612E04 -:102FB00020726975736369746F21005A6D656E6163 -:102FC0002075737065736E6121004368616E67657B -:102FD00020737563636573732100437A79737A6331 -:102FE0007A2E206B6F6C6F72750043617267616E31 -:102FF000646F20636F6C6F720043617267616E640F -:103000006F20636F6C6F720043697374656E692023 -:103010006261727679004C6F6164696E6720636FDC -:103020006C6F720050726F737A6520637A656B61A2 -:1030300063004573706572610041737065747461FB -:103040000050726F73696D2063656B656A7465000B -:10305000506C656173652077616974005770726F99 -:10306000772E2066696C616D656E747500436172C0 -:1030700067616E646F2066696C2E004361726761E0 -:103080006E646F2066696C2E005A61766164656EAD -:10309000692066696C616D656E7475004C6F616462 -:1030A000696E672066696C616D656E74004B6F6C4C -:1030B0006F72207A616E6965637A79737A2E004344 -:1030C0006F6C6F72206E6F20636C61726F00436F64 -:1030D0006C6F72206E6F20636C61726F0042617260 -:1030E0007661206E656E6920636973746100436F59 -:1030F0006C6F72206E6F7420636C65617200427237 -:10310000616B2066696C616D656E74750046696CF3 -:103110002E206E6F206361726761646F0046696C78 -:103120002E206E6F206361726761646F0046696C68 -:10313000616D656E74206E657A61766564656E009A -:1031400046696C616D656E74206E6F74206C6F6182 -:10315000646564004E6965004E6F004E6F004E65F9 -:10316000004E6F0054616B00536900536900416E5B -:103170006F005965730057796D69616E61206F6BDF -:103180003F0043616D626961646F20636F727265B5 -:10319000632E3F0043616D626961746F20636F72DB -:1031A000722E3F0056796D656E61206F6B3F004354 -:1031B00068616E67656420636F72726563746C79B1 -:1031C0003F00506F6D6F6300537570706F727400C5 -:1031D000537570706F727400506F64706F7261001D -:1031E000537570706F7274004E6167727A656A20F1 -:1031F0006479737A65210050726563616C2E206575 -:1032000078747275736F7221005072657269732ED3 -:10321000207567656C6C6F2100507265646568721B -:10322000656A746520747279736B752100507265DC -:103230006865617420746865206E6F7A7A6C6521A8 -:1032400000424C41443A004552524F523A004552D6 -:10325000524F523A0043485942413A004552524F68 -:10326000523A00526563747261637400526563740C -:1032700072616374005265637472616374005265B5 -:103280006374726163740052656374726163740085 -:103290005770726F7761647A2066696C616D656ED4 -:1032A0007400496E74726F64756369722066696C2C -:1032B000616D656E746F0043617269636172652050 -:1032C00066696C616D656E746F005A6176657374C2 -:1032D0002066696C616D656E74004C6F6164206678 -:1032E000696C616D656E740057796A616320666907 -:1032F0006C616D656E740053616361722066696C08 -:10330000616D656E746F00536361726963617265AC -:103310002066696C2E0056796A6D6F757420666937 -:103320006C616D656E7400556E6C6F6164206669CA -:103330006C616D656E740047727A616E69650050EC -:10334000726563616C656E7461720050726572695A -:103350007363616C64610050726564656872657660 -:1033600000507265686561740055737461776965B2 -:103370006E696100416A7573746500496D706F73A1 -:1033800074617A696F6E69004E6173746176656EFF -:10339000690053657474696E6773004B616C696290 -:1033A0007261636A61204F4B0043616C69627261B4 -:1033B0006369C383C692C382C2B36E204F4B00437E -:1033C000616C6962726174757261204F4B004B6170 -:1033D0006C696272616365204F4B0043616C696286 -:1033E000726174696F6E20646F6E65004B616C6909 -:1033F0006272756A65205A0043616C696272616E1F -:10340000646F205A0043616C696272616E646F2060 -:103410005A004B616C696272756A69205A00436197 -:103420006C6962726174696E67205A004B616C69E5 -:103430006272756A205A0043616C6962726172201F -:103440005A0043616C69627261205A004B616C6979 -:1034500062726F766174205A0043616C69627261B6 -:103460007465205A005679626572746520767974A5 -:1034700069736B0056796265727465207679746938 -:10348000736B00567962657274652076797469731E -:103490006B00567962657274652076797469736B16 -:1034A000005069636B207072696E74004175746FAF -:1034B000646F7374726F6963205A3F004175746F53 -:1034C000204D6963726F7061736F205A3F004175C0 -:1034D000746F207265676F6C617265205A203F00BF -:1034E0004175746F20646F6C61646974205A203F69 -:1034F000004175746F2061646A757374205A203FAF -:1035000000456E6473746F702061626F7274004561 -:103510006E6473746F702061626F727400456E64C4 -:1035200073746F702061626F727400456E6473749F -:103530006F702061626F727400456E6473746F7097 -:103540002061626F727400446F7374726F6A656E8B -:103550006965206F7379205A004D6963726F7061DD -:10356000736F205A004261627973746570205A004B -:10357000446F6C6164656E69206F7379205A004CEA -:103580006976652061646A757374205A00426162CD -:103590007973746570205900426162797374657043 -:1035A000205900426162797374657020590042614C -:1035B0006279737465702059004261627973746531 -:1035C000702059004261627973746570205800421E -:1035D0006162797374657020580042616279737416 -:1035E00065702058004261627973746570205800DC -:1035F00042616279737465702058005A204F666684 -:10360000736574005A204F6666736574005A204FC4 -:103610006666736574005A204F6666736574005A57 -:10362000204F666673657400486F6D6520582F598A -:10363000206265666F7265205A00486F6D6520587C -:103640002F59206265666F7265205A00486F6D655C -:1036500020582F59206265666F7265205A00486FA6 -:103660006D6520582F59206265666F7265205A007B -:10367000486F6D6520582F59206265666F7265200E -:103680005A005A2070726F6265206F75742E206226 -:103690006564005A2070726F6265206F75742E2009 -:1036A000626564005A2070726F6265206F75742EB7 -:1036B00020626564005A2070726F6265206F7574B5 -:1036C0002E20626564005A2070726F6265206F75EB -:1036D000742E206265640056796D656E697420539E -:1036E00044004368616E67652053442063617264DF -:1036F000004368616E676520534420636172640013 -:1037000056796D656E6974205344004368616E6735 -:1037100065205344206361726400496E69632E2002 -:10372000534400496E69742E2053442063617264CF -:1037300000496E69742E205344206361726400490D -:103740006E69632E20534400496E69742E205344E1 -:1037500020636172640057796D69656E69632066E4 -:10376000696C616D656E740043616D6269617220A0 -:1037700066696C616D656E746F0043616D6269614D -:1037800072652066696C616D656E746F0056796D47 -:10379000656E69742066696C616D656E740043685E -:1037A000616E67652066696C616D656E7400417558 -:1037B000746F526574722E004175746F5265747225 -:1037C0002E004175746F526574722E004175746FCE -:1037D000526574722E004175746F526574722E00BA -:1037E000556E52657420205600556E526574202027 -:1037F0005600556E52657420205600556E52657401 -:1038000020205600556E52657420205600532055D6 -:103810006E5265742B6D6D005320556E5265742B7E -:103820006D6D005320556E5265742B6D6D005320E5 -:10383000556E5265742B6D6D005320556E52657434 -:103840002B6D6D00556E526574202B6D6D00556E9D -:10385000526574202B6D6D00556E526574202B6D72 -:103860006D00556E526574202B6D6D00556E52655E -:1038700074202B6D6D00486F70206D6D00486F7067 -:10388000206D6D00486F70206D6D00486F70206D69 -:103890006D00486F70206D6D0052657472616374C5 -:1038A00020205600526574726163742020560052C5 -:1038B000657472616374202056005265747261638E -:1038C0007420205600526574726163742020560083 -:1038D000537761702052652E6D6D005377617020B3 -:1038E00052652E6D6D00537761702052652E6D6D9F -:1038F00000537761702052652E6D6D0053776170B3 -:103900002052652E6D6D0052657472616374206D76 -:103910006D0052657472616374206D6D0052657440 -:1039200072616374206D6D005265747261637420FE -:103930006D6D0052657472616374206D6D00535437 -:103940004F505045442E20005041524144410041C7 -:10395000525245535441544F200053544F505045F8 -:10396000442E200053544F505045442E20004B49C4 -:103970004C4C45442E200050415241444120444586 -:1039800020454D4552472E0055434349534F200093 -:103990004B494C4C45442E20004B494C4C45442E41 -:1039A00020004E6F206D6F76652E0053696E206D7E -:1039B0006F76696D69656E746F004E657373756EB1 -:1039C000204D6F76696D656E746F004E6F206D6F60 -:1039D00076652E004E6F206D6F76652E00447275F1 -:1039E0006B2070727A657277616E79005072696EC1 -:1039F000742061626F72746564005374616D7061EC -:103A00002061626F7274697461005469736B207015 -:103A10007265727573656E005072696E74206162B2 -:103A20006F7274656400577A6E6F7769656E696549 -:103A3000206472756B7500526573756D69656E648F -:103A40006F20696D7072652E0052697072656E64C8 -:103A500069205374616D7061004F626E6F76656EA0 -:103A600069207469736B7500526573756D696E6753 -:103A7000207072696E74005761697420666F7220DD -:103A8000757365722E2E2E004573706572616E64BB -:103A90006F206F7264656E657300417474656E6447 -:103AA00069205574656E74652E2E2E0057616974F9 -:103AB00020666F7220757365722E2E2E0057616915 -:103AC0007420666F7220757365722E2E2E00536CF3 -:103AD0006565702E2E2E005265706F736F2E2E2E20 -:103AE00000536F7370656E73696F6E652E2E2E00B6 -:103AF000536C6565702E2E2E00536C6565702E2EEE -:103B00002E004272616B206B617274792053440005 -:103B10004E6F20686179207461726A657461205308 -:103B200044004E6F205344204361727461005A6117 -:103B3000646E61205344206B61727461004E6F208B -:103B400053442063617264004472756B207A205381 -:103B500044004D656E75206465205344004D656ECC -:103B600075205344204361727461005469736B2063 -:103B70007A205344005072696E742066726F6D2013 -:103B80005344005A6174727A796D6163206472756E -:103B90006B00446574656E657220696D7072657343 -:103BA000696F6E0041727265737461207374616D28 -:103BB0007061005A61737461766974207469736B03 -:103BC0000053746F70207072696E74004B6F6E7466 -:103BD000796E756F776163005265616E75646172AD -:103BE00020696D707265732E0052697072656E6423 -:103BF00069207374616D706100506F6B7261636FE7 -:103C000076617400526573756D65207072696E74AB -:103C10000050727A6572776163206472756B005030 -:103C2000617573617220696D70726573696F6E0082 -:103C3000506175736100506F7A6173746176697455 -:103C4000207469736B005061757365207072696EC2 -:103C500074004E617374726F696300416A757374A6 -:103C6000617200416461747461004C616469740044 -:103C700054756E65005072697072617661005072A1 -:103C80006570617265005072657061726500507296 -:103C90006970726176610050726570617265004989 -:103CA0006E666F726D61636A65004D6F6E69746FE9 -:103CB00072697A61720047756172646100496E666B -:103CC0006F726D61636500496E666F207363726524 -:103CD000656E004F626E6F7669740052656672653C -:103CE00073680052656672657368004F626E6F7626 -:103CF00069740052656672657368004F626E6F7614 -:103D0000697420767963686F7A6900526573746F9D -:103D10007265206661696C736166650052657374D3 -:103D20006F7265206661696C73616665004F626ED3 -:103D30006F76697420767963686F7A69005265736B -:103D4000746F7265206661696C7361666500556C9D -:103D50006F7A69742070616D6574004C6F616420C6 -:103D60006D656D6F7279004C6F6164206D656D6F6C -:103D7000727900556C6F7A69742070616D6574009A -:103D80004C6F6164206D656D6F72790053746F7252 -:103D900065206D656D6F72790053746F7265206D6B -:103DA000656D6F72790053746F7265206D656D6F0C -:103DB00072790053746F7265206D656D6F72790052 -:103DC00053746F7265206D656D6F7279004C43445A -:103DD00020636F6E7472617374004C434420636F90 -:103DE0006E7472617374004C434420636F6E74721E -:103DF000617374004C434420636F6E74726173741A -:103E0000004C434420636F6E7472617374004669A2 -:103E10006C2E204469612E20330046696C2E2044AC -:103E200069612E20330046696C2E204469612E2082 -:103E3000330046696C2E204469612E2033004669A8 -:103E40006C2E204469612E20330046696C2E20447C -:103E500069612E20320046696C2E204469612E2053 -:103E6000320046696C2E204469612E20320046697A -:103E70006C2E204469612E20320046696C2E20444D -:103E800069612E20320046696C2E204469612E2023 -:103E9000310046696C2E204469612E20310046694C -:103EA0006C2E204469612E20310046696C2E20441E -:103EB00069612E20310046696C2E204469612E20F4 -:103EC00031004520696E206D6D33004520696E20FC -:103ED0006D6D33004520696E206D6D33004520699E -:103EE0006E206D6D33004520696E206D6D33004688 -:103EF000696C616D656E740046696C616D656E74A8 -:103F00000046696C616D656E740046696C616D6533 -:103F10006E740046696C616D656E7400506F6879EF -:103F200062004D6F74696F6E004D6F74696F6E0043 -:103F3000506F687962004D6F74696F6E0054656DE3 -:103F400070657261747572610054656D706572613F -:103F5000747572610054656D70657261747572611B -:103F6000005465706C6F74610054656D70657261AA -:103F700074757265004573746570732F6D6D0045BF -:103F800073746570732F6D6D004573746570732F56 -:103F90006D6D004573746570732F6D6D004573749E -:103FA0006570732F6D6D005A73746570732F6D6D2E -:103FB000005A73746570732F6D6D005A7374657059 -:103FC000732F6D6D005A73746570732F6D6D005A89 -:103FD00073746570732F6D6D005973746570732FF2 -:103FE0006D6D005973746570732F6D6D0059737426 -:103FF0006570732F6D6D005973746570732F6D6DDF -:10400000005973746570732F6D6D0058737465700B -:10401000732F6D6D005873746570732F6D6D00583C -:1040200073746570732F6D6D005873746570732FA2 -:104030006D6D005873746570732F6D6D00412D7236 -:1040400065747261637400412D726574726163748A -:1040500000412D7265747261637400412D72657444 -:104060007261637400412D72657472616374004102 -:104070006D61782000416D61782000416D6178208C -:1040800000416D61782000416D61782000565472C6 -:104090006176206D696E005654726176206D696E8E -:1040A000005654726176206D696E005654726176C6 -:1040B000206D696E005654726176206D696E0056EF -:1040C0006D696E00566D696E00566D696E00566DB5 -:1040D000696E00566D696E006500650065006500DB -:1040E00065007A007A007A007A007A007900790017 -:1040F00079007900790078007800780078007800FD -:10410000566D61782000566D61782000566D61789B -:104110002000566D61782000566D6178200056654C -:104120002D6A65726B0056652D6A65726B00566567 -:104130002D6A65726B0056652D6A65726B00566557 -:104140002D6A65726B00567A2D6A65726B00567A1D -:104150002D6A65726B00567A2D6A65726B00567A0D -:104160002D6A65726B00567A2D6A65726B005678FF -:10417000792D6A65726B005678792D6A65726B00CD -:104180005678792D6A65726B005678792D6A65725A -:104190006B005678792D6A65726B00416363656CBC -:1041A00000416363656C00416363656C0041636358 -:1041B000656C00416363656C005049442D430050B9 -:1041C00049442D43005049442D43005049442D4358 -:1041D000005049442D43005049442D440050494467 -:1041E0002D44005049442D44005049442D44005072 -:1041F00049442D44005049442D49005049442D491B -:10420000005049442D49005049442D49005049442B -:104210002D49005049442D50005049442D50005024 -:1042200049442D50005049442D50005049442D50D0 -:10423000004F6666004F6666004F6666004F666612 -:10424000004F6666004F6E20004F6E20004F6E20BC -:10425000004F6E20004F6E20004175746F74656DC5 -:1042600070004175746F74656D70004175746F7482 -:10427000656D70004175746F74656D700041757483 -:104280006F74656D70002002204661637400200227 -:10429000204661637400200220466163740020029E -:1042A000204661637400200220466163740020028E -:1042B000204D6178002002204D6178002002204DC1 -:1042C0006178002002204D6178002002204D617845 -:1042D000002002204D696E002002204D696E0020F2 -:1042E00002204D696E002002204D696E00200220E0 -:1042F0004D696E004B6F6E74726F6C6100436F6E30 -:1043000074726F6C00436F6E74726F6C004B6F6EE3 -:1043100074726F6C6100436F6E74726F6C005072D8 -:1043200075746F6B203200466C6F77203200466CDC -:104330006F77203200507275746F6B203200466CBC -:104340006F77203200507275746F6B203100466CAD -:104350006F77203100466C6F772031005072757492 -:104360006F6B203100466C6F77203100507275748E -:104370006F6B203000466C6F77203000466C6F7793 -:10438000203000507275746F6B203000466C6F7770 -:1043900020300050727A65706C797700466C756ACF -:1043A0006F00466C7573736F00507275746F6B009D -:1043B000466C6F7700507265646B6F73632077652E -:1043C0006E742E0056656E74696C61646F7200566F -:1043D000656E746F6C6100527963686C6F737420E2 -:1043E00076656E742E0046616E207370656564009C -:1043F00053746F6C696B004261736500506961743E -:10440000746F004265640042656400547279736B96 -:104410006133004E6F7A7A6C6533004E6F7A7A6C36 -:10442000653300547279736B6133004E6F7A7A6C26 -:10443000653300547279736B6132004E6F7A7A6C17 -:104440006532004E6F7A7A6C653200547279736B04 -:104450006132004E6F7A7A6C6532004479737A610A -:10446000004675736F72005567656C6C6F0054720F -:1044700079736B61004E6F7A7A6C65005072656477 -:104480006B6F73630056656C6F636964616400569B -:10449000656C636974C383C692C386E28099C383E3 -:1044A000E2809AC382C2A000527963686C6F737411 -:1044B00000537065656400506F73756E6F7574207E -:1044C0006F2031306D6D004D6F76652031306D6D30 -:1044D000004D6F76652031306D6D00506F73756ED5 -:1044E0006F7574206F2031306D6D004D6F766520D3 -:1044F00031306D6D00506F73756E6F7574206F2065 -:10450000316D6D004D6F766520316D6D004D6F76AC -:104510006520316D6D00506F73756E6F7574206F0F -:1045200020316D6D004D6F766520316D6D00506FDF -:1045300073756E6F7574206F20302E316D6D004D68 -:104540006F766520302E316D6D004D6F76652030B1 -:104550002E316D6D00506F73756E6F7574206F2006 -:10456000302E316D6D004D6F766520302E316D6DC2 -:10457000004578747275646572330045787472759D -:1045800064657233004578747275646572330045F2 -:1045900078747275646572330045787472756465F9 -:1045A00072330045787472756465723200457874B0 -:1045B0007275646572320045787472756465723222 -:1045C000004578747275646572320045787472754E -:1045D000646572320045787472756465720045785E -:1045E000747275736F72004573747275736F726550 -:1045F00000457874727564657200457874727564EC -:1046000065720050727A6573756E6163205A004D51 -:104610006F766572205A004D756F7669205A00508A -:104620006F73756E6F7574205A004D6F7665205AE2 -:104630000050727A6573756E61632059004D6F7614 -:1046400065722059004D756F7669205900506F735F -:10465000756E6F75742059004D6F76652059005046 -:10466000727A6573756E61632058004D6F7665725E -:104670002058004D756F7669205800506F73756E25 -:104680006F75742058004D6F766520580052756321 -:1046900068206F7369004D6F76657220656A657377 -:1046A000004D756F7669204173736500506F7375A7 -:1046B0006E6F7574206F7375004D6F76652061782D -:1046C000697300526574726163740052657472613B -:1046D0006374005265747261637400526574726130 -:1046E0006374005265747261637400457874727506 -:1046F000646F7661740045787472756465004578FE -:104700007472756465004578747275646F7661744F -:104710000045787472756465005A61706E6F7574C7 -:10472000207A64726F6A0053776974636820706FCF -:10473000776572206F6666005377697463682070CE -:104740006F776572206F6666005A61706E6F757460 -:10475000207A64726F6A0053776974636820706F9F -:10476000776572206F6666005679706E6F7574207B -:104770007A64726F6A0053776974636820706F7728 -:104780006572206F6E0053776974636820706F776D -:104790006572206F6E005679706E6F7574207A6442 -:1047A000726F6A0053776974636820706F776572FF -:1047B000206F6E00577963686C6F647A6963004597 -:1047C0006E667269617200526166667265646461E8 -:1047D000005A63686C6164697400436F6F6C646F46 -:1047E000776E005072656465687265762041425349 -:1047F00020636F6E66005072656865617420414287 -:104800005320636F6E660050726568656174204165 -:10481000425320636F6E660050726564656872650E -:10482000762041425320636F6E6600507265686562 -:1048300061742041425320636F6E6600507265645C -:10484000656872657620414253204265640050726B -:10485000656865617420414253204265640050726E -:10486000656865617420414253204265640050725E -:104870006564656872657620414253204265640034 -:10488000507265686561742041425320426564003E -:104890005072656465687265762041425320416CB0 -:1048A0006C00507265686561742041425320416C10 -:1048B0006C00507265686561742041425320416C00 -:1048C0006C005072656465687265762041425320C1 -:1048D000416C6C00507265686561742041425320E0 -:1048E000416C6C0050726564656872657620414267 -:1048F0005320330050726568656174204142532033 -:104900003300507265686561742041425320330062 -:1049100050726564656872657620414253203300A9 -:1049200050726568656174204142532033005072B3 -:10493000656465687265762041425320320050728A -:104940006568656174204142532032005072656889 -:10495000656174204142532032005072656465687D -:10496000726576204142532032005072656865615D -:10497000742041425320320050726564656872654C -:104980007620414253203100507265686561742081 -:104990004142532031005072656865617420414284 -:1049A000532031005072656465687265762041421B -:1049B0005320310050726568656174204142532074 -:1049C000310050726564656872657620414253001B -:1049D0005072656865617420414253005072656889 -:1049E0006561742041425300507265646568726568 -:1049F00076204142530050726568656174204142DF -:104A0000530050726564656872657620504C412091 -:104A1000636F6E66005072656865617420504C412A -:104A200020636F6E66005072656865617420504C3B -:104A30004120636F6E6600507265646568726576CA -:104A400020504C4120636F6E66005072656865614E -:104A50007420504C4120636F6E660050726564652F -:104A60006872657620504C41204265640050726542 -:104A70006865617420504C41204265640050726545 -:104A80006865617420504C41204265640050726535 -:104A900064656872657620504C4120426564005020 -:104AA00072656865617420504C4120426564005015 -:104AB000726564656872657620504C4120416C6C6B -:104AC000005072656865617420504C4120416C6CE7 -:104AD000005072656865617420504C4120416C6CD7 -:104AE0000050726564656872657620504C412041C3 -:104AF0006C6C005072656865617420504C412041B7 -:104B00006C6C0050726564656872657620504C412B -:104B10002033005072656865617420504C41203329 -:104B2000005072656865617420504C41203300501C -:104B3000726564656872657620504C412033005080 -:104B400072656865617420504C4120330050726575 -:104B500064656872657620504C4120320050726561 -:104B60006865617420504C41203200507265686560 -:104B7000617420504C412032005072656465687247 -:104B8000657620504C412032005072656865617432 -:104B900020504C4120320050726564656872657621 -:104BA00020504C412031005072656865617420507E -:104BB0004C412031005072656865617420504C4151 -:104BC00020310050726564656872657620504C41F2 -:104BD0002031005072656865617420504C4120316D -:104BE0000050726564656872657620504C410050D3 -:104BF00072656865617420504C410050726568654B -:104C0000617420504C41005072656465687265762D -:104C100020504C41005072656865617420504C41D1 -:104C2000004E617374617620706F636174656B0010 -:104C3000536574206F726967696E00536574206FE5 -:104C4000726967696E004E617374617620706F637C -:104C50006174656B00536574206F726967696E00DB -:104C60004E617374617620706F636174656B206848 -:104C70006F6D650053657420686F6D65206F6666A3 -:104C8000736574730053657420686F6D65206F667B -:104C90006673657473004E617374617620706F6320 -:104CA0006174656B20686F6D650053657420686F73 -:104CB0006D65206F666673657473004175746F204F -:104CC000686F6D65004C6C6576617220616C206F59 -:104CD000726967656E004175746F20486F6D65007D -:104CE0004175746F20686F6D65004175746F206841 -:104CF0006F6D650057796C61637A79632073696CB5 -:104D00006E696B6900417061676172206D6F746FCD -:104D1000726573004469736162696C697461204DE6 -:104D20006F746F7269005679706E6F7574206D6F55 -:104D3000746F72790044697361626C652073746585 -:104D40007070657273004175746F73746172740072 -:104D50004175746F7374617274004175746F73740C -:104D6000617274004175746F73746172740041757F -:104D7000746F7374617274004D656E7520676C6F2B -:104D8000776E65004D656E75207072696E6369702F -:104D9000616C004D656E75207072696E636970613B -:104DA0006C6500486C61766E69206E616269646B47 -:104DB00061004D61696E004B617274612077796AA0 -:104DC000657461005461726A65746120726574690A -:104DD0007261646100534420436172642072696DA2 -:104DE0006F737361004B617274612076796A6D75BF -:104DF000746100436172642072656D6F7665640052 -:104E00004B6172746120776C6F7A6F6E61005461D0 -:104E1000726A65746120636F6C6F636164610053D3 -:104E200044204361726420696E7365726974610025 -:104E30004B6172746120766C6F7A656E61004361BC -:104E4000726420696E736572746564005072757364 -:104E500061206933204D4B3220676F746F7761009A -:104E60005072757361206933204D4B32206C697329 -:104E70007461005072757361206933204D4B32208C -:104E800070726F6E746F2E0050727573612069338B -:104E9000204D4B32206F6B00507275736120693367 -:104EA000204D4B322072656164792E004D383420DC -:104EB000582059205A2045004D3234004D323320BD -:104EC0002573006175746F25692E67000A002F0035 -:104ED0000A002E0044656C6574696F6E2066616916 -:104EE0006C65642C2046696C653A200046696C65E7 -:104EF0002064656C657465643A002E002E002E00F7 -:104F00002E004E6F772066726573682066696C6547 -:104F10003A20004E6F7720646F696E672066696C77 -:104F2000653A20002220706F730022207061726544 -:104F30006E743A2200535542524F5554494E452003 -:104F400043414C4C207461726765743A220074725C -:104F500079696E6720746F2063616C6C2073756271 -:104F60002D67636F64652066696C6573207769746B -:104F70006820746F6F206D616E79206C6576656C4A -:104F8000732E204D4158206C6576656C2069733A0C -:104F90000000002110422063308440A550C660E725 -:104FA00070088129914AA16BB18CC1ADD1CEE1EFDE -:104FB000F13112100273325222B5529442F772D676 -:104FC00062399318837BB35AA3BDD39CC3FFF3DE2E -:104FD000E36224433420040114E664C774A44485C6 -:104FE000546AA54BB528850995EEE5CFF5ACC58D7E -:104FF000D55336722611163006D776F6669556B416 -:10500000465BB77AA719973887DFF7FEE79DD7BCCD -:10501000C7C448E5588668A7784008611802282365 -:1050200038CCC9EDD98EE9AFF9488969990AA92B1D -:10503000B9F55AD44AB77A966A711A500A333A12B5 -:105040002AFDDBDCCBBFFB9EEB799B588B3BBB1A6D -:10505000ABA66C877CE44CC55C222C033C600C4105 -:105060001CAEED8FFDECCDCDDD2AAD0BBD688D49BD -:105070009D977EB66ED55EF44E133E322E511E7055 -:105080000E9FFFBEEFDDDFFCCF1BBF3AAF599F780D -:105090008F8891A981CAB1EBA10CD12DC14EF16FBE -:1050A000E18010A100C230E3200450254046706723 -:1050B00060B9839893FBA3DAB33DC31CD37FE35E4F -:1050C000F3B1029012F322D2323542145277625673 -:1050D00072EAB5CBA5A89589856EF54FE52CD50D5F -:1050E000C5E234C324A014810466744764245405C3 -:1050F00044DBA7FAB79987B8975FE77EF71DC73CEF -:10510000D7D326F2369106B0165766767615463412 -:10511000564CD96DC90EF92FE9C899E9898AB9ABFE -:10512000A94458654806782768C018E1088238A362 -:10513000287DCB5CDB3FEB1EFBF98BD89BBBAB9A8E -:10514000BB754A545A376A167AF10AD01AB32A92B2 -:105150003A2EFD0FED6CDD4DCDAABD8BADE89DC99E -:105160008D267C076C645C454CA23C832CE01CC102 -:105170000C1FEF3EFF5DCF7CDF9BAFBABFD98FF82E -:105180009F176E367E554E745E932EB23ED10EF052 -:105190001E22004D3232302053256900203A200073 -:1051A000004C414E472053454C20464F5243454406 -:1051B000002200205A3A0020593A0020453A0020A7 -:1051C0005A3A0020593A00583A0020002E00204256 -:1051D0003A0020453A00543A0020573A0020453A18 -:1051E00000543A002042403A0020403A00202F006C -:1051F0003A00205400202F0020423A00202F006F58 -:105200006B20543A002569206D696E2C2025692099 -:1052100073656300496E646578206F7574206F66EE -:1052200020626F756E6473000A0042656420666FC9 -:10523000756E642061743A200046696E64696E6719 -:105240002062656420004D65736820626564206C8F -:105250006576656C696E67206E6F74206163746932 -:1052600076652E000A002020000A4D656173757274 -:10527000656420706F696E74733A000A5A20736512 -:1052800061726368206865696768743A20002C0061 -:105290004E756D20582C593A20004738300047325F -:1052A000380047383000256920686F7572732025F3 -:1052B00069206D696E75746573004D313130004D34 -:1052C0003239004D6179203330203230313600439D -:1052D0006F6D70696C65643A2000286E6F6E652C86 -:1052E0002064656661756C7420636F6E66696729FA -:1052F000004D617920333020323031362031363A5A -:1053000032323A3530007374617274002200220028 -:10531000FFFFFF0000A0400000A040000000400090 -:10532000007F4300005643CDCC51430000000000F5 -:105330000080C0CDCC4C3E00007F430000524300B3 -:1053400000524300000000000080C0CDCC4C3E6500 -:1053500063686F3A004572726F723A0047383000E6 -:10536000473120452D38302046343030004D383319 -:10537000004731205A313520463135303000473929 -:1053800031004731205835302059313930204530EF -:1053900020463730303000473930004D3834004D2A -:1053A000383300473120453730204634303000470D -:1053B00031204534302046313030002E002020206E -:1053C00020202020202020202020002D2D3A2D2DAF -:1053D000002D2D2D003E555342005344002D2D002D -:1053E0000120000120004D36303000464C45582049 -:1053F0002D20203233302F35300050502020202DEA -:1054000020203235342F3130300048495053202D80 -:1054100020203232302F3130300050455420202DA2 -:1054200020203234302F393000504C4120202D20A4 -:10543000203231302F35300041425320202D2020A2 -:105440003235352F313030004D3234004D3233207B -:10545000257300580059005A0045787472756465C8 -:105460007200473238004D3834004D6179203330B6 -:10547000203230313600446174653A20002D2D2DE4 -:105480002D2D2D2D2D2D2D2D2D00453344763666B9 -:10549000756C6C0052414D426F31306100315F37A5 -:1054A000356D6D5F4D4B32002D2D2D2D2D2D2D2D5C -:1054B0002D2D2D2D004669726D77617265202D208E -:1054C000332E302E310048617264636F646564204E -:1054D00044656661756C742053657474696E677396 -:1054E000204C6F616465640046696C616D656E7423 -:1054F0002073657474696E67733A204469736162DE -:105500006C6564002020204D323030204400466914 -:105510006C616D656E742073657474696E67733A3F -:10552000002020204D3230392053004175746F2DFA -:10553000526574726163743A20533D3020746F2059 -:1055400064697361626C652C203120746F20696E10 -:105550007465727072657420657874727564652DF7 -:105560006F6E6C79206D6F76657320617320726544 -:10557000747261637473206F72207265636F7665F5 -:1055800072696573002046002020204D323038209B -:1055900053005265636F7665723A20533D457874C7 -:1055A0007261206C656E67746820286D6D292046D5 -:1055B0003A537065656420286D6D2F6D2900205A5F -:1055C000002046002020204D323037205300526505 -:1055D00074726163743A20533D4C656E6774682041 -:1055E000286D6D2920463A537065656420286D6DDD -:1055F0002F6D29205A3A205A4C69667420286D6D07 -:1056000029002044002049002020204D3330312043 -:1056100050005049442073657474696E67733A0092 -:10562000205A0020590020204D32303620580048A2 -:105630006F6D65206F666673657420286D6D293AFD -:1056400000204500205A002058002042002054002D -:1056500020204D323035205300416476616E636501 -:1056600064207661726961626C65733A20533D4DC6 -:10567000696E20666565647261746520286D6D2FA2 -:1056800073292C20543D4D696E2074726176656CCF -:1056900020666565647261746520286D6D2F7329BD -:1056A0002C20423D6D696E696D756D207365676D67 -:1056B000656E742074696D6520286D73292C2058DF -:1056C0003D6D6178696D756D205859206A65726B02 -:1056D00020286D6D2F73292C20205A3D6D6178692B -:1056E0006D756D205A206A65726B20286D6D2F7361 -:1056F000292C2020453D6D6178696D756D20452010 -:105700006A65726B20286D6D2F732900205400206C -:10571000204D323034205300416363656C65726103 -:1057200074696F6E3A20533D616363656C657261A5 -:1057300074696F6E2C20543D7265747261637420BD -:10574000616363656C65726174696F6E002045000A -:10575000205A0020590020204D3230312058004D71 -:105760006178696D756D20416363656C6572617404 -:10577000696F6E20286D6D2F7332293A0020450025 -:10578000205A0020590020204D3230332058004D3F -:105790006178696D756D20666565647261746573A5 -:1057A00020286D6D2F73293A00204500205A0020D3 -:1057B000590020204D3932205800537465707320F1 -:1057C00070657220756E69743A0045303A20005A4F -:1057D0003A2000593A2000583A20004D53312C4DC0 -:1057E00053322050696E730A005A00205A3A005909 -:1057F0000020593A00580020583A0024F4D4305080 -:10580000C38E20C2A24017828B7011127A910D8133 -:105810006CD90AA861E108C7586607615143061EA2 -:105820004B5D05C145A7041A411104093D98037158 -:105830003931034036DB0265339102D430540280A3 -:105840002E1D02632CEE01752AC501B028A001109F -:105850002781018F2564012B244B01E0223401AC08 -:10586000211F018D200D01801FFC00841EED00977B -:105870001DDF00B81CD200E61BC600201BBC006464 -:105880001AB200B219A8000A19A0006A189900D12A -:1058900017910040178B00B516840031167E00B3B7 -:1058A0001579003A157300C7146F0058146A00EE9A -:1058B0001366008813630025135E00C7125B006C3B -:1058C00012570015125400C111510070114F0021E0 -:1058D000114B00D61049008D1047004610440002BD -:1058E000104200C00F4000800F3E00420F3C0006F7 -:1058F0000F3B00CB0E3800930E37005C0E350027AF -:105900000E3400F30D3200C10D3100900D300060F7 -:105910000D2E00320D2D00050D2C00D90C2B00AEE4 -:105920000C2900850C29005C0C2700350C27000E83 -:105930000C2600E80B2400C40B2400A00B23007DE0 -:105940000B23005A0B2100390B2100180B2000F803 -:105950000A1F00D90A1E00BB0A1E009D0A1D0080F6 -:105960000A1D00630A1C00470A1B002C0A1B0011B9 -:105970000A1A00F7091A00DD091900C4091900AB59 -:10598000091900920917007B091800630917004CD8 -:1059900009160036091600200916000A091500F537 -:1059A000081500E0081400CC081400B8081400A47E -:1059B000081400900813007D0812006B08130058AB -:1059C00008120046081200340811002308110012C2 -:1059D00008110001081100F0071000E0071000D0C6 -:1059E000071000C0071000B0070F00A107100091BA -:1059F000070E0083070F0074070F0065070E00579E -:105A0000070E0049070E003B070D002E070E002071 -:105A1000070D0013070D0006070D00F9060C00ED39 -:105A2000060D00E0060C00D4060C00C8060C00BCF5 -:105A3000060C00B0060C00A4060B0099060C008DA5 -:105A4000060B0082060B0077060B006C060B00614C -:105A5000060A0057060B004C060A0042060A0038E8 -:105A6000060A002E060A0024060A001A060A00107A -:105A700006090007060A00FD050900F4050900EB08 -:105A8000050900E2050900D9050900D0050900C78C -:105A9000050900BE050900B5050800AD050800A50B -:105AA0000509009C050800940508008C0508008481 -:105AB0000508007C050800740508006C05070065F2 -:105AC0000508005D050700560508004E050700475C -:105AD0000507004005080038050700310507002AC2 -:105AE000050700230507001C050600160507000F23 -:105AF0000507000805060002050700FB040600F57F -:105B0000040700EE040600E8040600E2040700DBD8 -:105B1000040600D5040600CF040600C9040600C32D -:105B2000040600BD040600B7040600B1040500AC7D -:105B3000040600A6040600A00405009B04060095C8 -:105B4000040500900406008A040500850405008011 -:105B50000406007A04050075040500700405006B56 -:105B600004050066040500610405005C0405005797 -:105B7000040500520405004D0405004804050043D7 -:105B80000405003E0404003A040500350405003015 -:105B90000404002C04050027040400230405001E4F -:105BA0000404001A04040016040500110404000D86 -:105BB000040400090405000404040000040400FCBB -:105BC000030400F8030400F4030400F0030400ECF1 -:105BD000030400E8030400E4030400E0030400DC21 -:105BE000030400D8030400D4030400D0030400CC51 -:105BF000030400C8030300C503030024F404D920F0 -:105C00001BC40C5C0E9804C4095F0265077101F4A3 -:105C100005F900FB04B30048048700C1036900587C -:105C200003550003034500BE023A008402310053CD -:105C3000022A002902250004022000E4011C00C8F9 -:105C4000011900AF011700980114008401130071BD -:105C50000110006101100051010E0043010D0036DA -:105C6000010B002B010B0020010B00150109000C9A -:105C700001090003010800FB000800F3000800EB25 -:105C8000000700E4000600DE000600D8000600D28F -:105C9000000600CC000500C7000500C2000500BDDD -:105CA000000400B9000400B5000400B1000400AD18 -:105CB000000400A9000400A5000300A20003009F47 -:105CC0000004009B0003009800030095000200936D -:105CD000000300900003008D0002008B0003008889 -:105CE0000002008600020084000300810002007FA1 -:105CF0000002007D0002007B0002007900020077B4 -:105D000000010076000200740002007200010071C0 -:105D10000002006F0002006D0001006C0002006ACA -:105D200000010069000200670001006600010065D3 -:105D300000010064000200620001006100010060D7 -:105D40000001005F0002005D0001005C0001005BDB -:105D50000001005A000100590001005800010057DD -:105D600000010056000100550001005400010053DD -:105D700000000053000100520001005100010050DA -:105D80000001004F0001004E0000004E0001004DD8 -:105D90000001004C0001004B0000004B0001004AD4 -:105DA00000010049000100480000004800010047D0 -:105DB00000010046000000460001004500000045CB -:105DC00000010044000100430000004300010042C4 -:105DD00000000042000100410000004100010040BD -:105DE0000001003F0000003F0001003E0000003EB7 -:105DF0000001003D0000003D0001003C0000003CAF -:105E00000000003C0001003B0000003B0001003AA4 -:105E10000000003A0001003900000039000100389C -:105E20000000003800000038000100370000003793 -:105E30000001003600000036000000360001003589 -:105E4000000000350000003500010034000000347F -:105E50000000003400010033000000330000003374 -:105E60000001003200000032000000320001003169 -:105E7000000000310000003100010030000000305F -:105E8000000000300001002F0000002F0000002F54 -:105E90000000002F0001002E0000002E0000002E48 -:105EA0000001002D0000002D0000002D0000002D3D -:105EB0000001002C0000002C0000002C0000002C31 -:105EC0000001002B0000002B0000002B0000002B25 -:105ED0000001002A0000002A0000002A0000002A19 -:105EE000000100290000002900000029000000290D -:105EF0000000002900010028000000280000002800 -:105F000000000028000000280001002700000027F2 -:105F100000000027000000270000002700010026E5 -:105F200000000026000000260000002600000026D9 -:105F300000010025000000250000002500000025CC -:105F400000000025000000250001002400000024BE -:105F500000000024000000240000002400010023B1 -:105F600000000023000000230000002300000023A5 -:105F70000000002300000023000100220000002296 -:105F80000000002200000022000000220000002289 -:105F9000000100210000002100000021000000217C -:105FA000000000210000002100000021000100206D -:105FB0000000002000000020000000200000002061 -:105FC0000000002000000020000000200001001F51 -:105FD0000000001F0000001F0000001F0000001F45 -:105FE0000000001F0000001F0001001E0000001E36 -:105FF0000000001E0000001E0000000000090A0250 -:10600000080B0C0D0706030401000000000000004F -:106010000000000000000000000000000000000080 -:106020000000000000000011100F00000000000040 -:106030000000000000000000000000000000000060 -:106040000000000000000000000000000000000050 -:10605000000102102020080810204010204080027B -:10606000010201080402010102040810204080809E -:106070004020100804020180040201804020100822 -:1060800004020108040201010204081020408001FA -:1060900002040810204080100804088010204004EA -:1060A0004080102040048005050505070508080804 -:1060B00008020202020A0A08080404040401010199 -:1060C00001010101010303030303030303040707A1 -:1060D000070C0C0C0C0C0C0C0C020202020606063F -:1060E00006060606060B0B0B0B0B0B0B0B07070A22 -:1060F0000A0A0A0A0A050505040404080800002023 -:10610000002300260029002C002F0032000001008F -:106110000003010601090100002200250028002BD0 -:10612000002E003100340002010000050108010BBF -:106130000100002100240027002A002D0030003338 -:106140000001010000040107010A01024E414E490D -:106150004E495459494E46CDCCCC3D0AD7233C1725 -:10616000B7D13877CC2B329595E6241FB14F0A0072 -:106170000020410000C84200401C4620BCBE4CCA62 -:106180001B0E5AAEC59D74006097DCB631E926FB44 -:10619000649711241FBECFEFD1E2DEBFCDBF00E078 -:1061A0000CBF1EE0A0E0B2E0E0E1F4E202E00BBFD1 -:1061B00002C007900D92AE3CB107D9F72FE1AEECCB -:1061C000BEE001C01D92A232B207E1F711E6C0E9BC -:1061D000D1E600E006C022970109FE010BBF0F9433 -:1061E0005509C838D10780E00807A9F70E942AFF9F -:1061F0000D94F6110C940000CF93DF93EC019C01F9 -:106200002C5F3F4F41E050E060E070E0898D9A8D57 -:106210000E949E3B882399F04D895E896F89788D15 -:10622000452B462B472B59F44C815D816E817F8134 -:106230004D8B5E8B6F8B788F998190689983DF91FE -:10624000CF910895CF92DF92EF92FF920F931F9319 -:10625000CF93DF93EC0189899A89AB89BC89803E11 -:106260009F4FAF41B10510F080E06BC0CE01C4DF9D -:106270008823D1F30E94B239182F8823A9F3E98D1E -:10628000FA8DCC80DD80EE80FF8032E0C31AD10829 -:10629000E108F108058404C0CC0CDD1CEE1CFF1CD9 -:1062A0000A94D2F786859785A089B189C80ED91E30 -:1062B000EA1EFB1E81E08093D40EC092D710D092CC -:1062C000D810E092D910F092DA1080E092E0E7ED79 -:1062D000FEE0DF019C011D9221503040E1F701E01A -:1062E000E98DFA8D8481081790F427ED3EE0B7011F -:1062F000A601400F511D611D711D8091D50E909119 -:10630000D60E0E9488628823E1F00F5FE9CFC12C8E -:1063100082E0D82EE12CF12C058404C0CC0CDD1CCD -:10632000EE1CFF1C0A94D2F749895A896B897C8933 -:106330004C0D5D1D6E1D7F1D498B5A8B6B8B7C8BAD -:10634000812FDF91CF911F910F91FF90EF90DF9000 -:10635000CF900895CF93DF93EC0141E0611101C02C -:1063600040E06C857D858E859F850E94F23988236B -:1063700041F0888920E2829FC00111248952914F07 -:1063800002C080E090E0DF91CF91089530E020E0FE -:106390004EE2DC015C91503271F0383029F4FB019F -:1063A000E20FF11D40832F5FFB01E20FF11DDC01C5 -:1063B0005C9150832F5F3F5F01963B3051F7FB01AB -:1063C000E20FF11D10820895CF93DF93EB01FC01E2 -:1063D0002381211102C080E00EC02250223020F41F -:1063E0008FE28883198206C060E0B4DF009799F3DA -:1063F000BE01CCDF81E0DF91CF910895FB012BE05E -:1064000030E231932150E9F7DC0190E027E03A2FA8 -:10641000EB2F8D9181110AC0DA013C931196EC9318 -:1064200081E0FB019081903239F525C08F32A1F3D4 -:106430008E3219F0EEE8F1E008C02A30E1F098E081 -:106440002AE0E5CF31963817B1F034913111FACF07 -:10645000291788F03FED380F3E3568F431E0390FE9 -:10646000FB01E90FF11D9FE9980F9A3108F4805262 -:106470008083932FCCCF80E008950F931F93CF9309 -:10648000DF93EC018B018B81882311F080E042C007 -:10649000FB018789803139F18032C1F783E08B833A -:1064A000F801428D538D648D758D4D8B5E8B6F8B96 -:1064B000788F9E012F5E3F4FC8010E94A93A882322 -:1064C00029F31A8F098F81E089831C821D821E8225 -:1064D0001F82188619861A861B861C861D861E86B4 -:1064E0001F86188A17C082E08B831D8A1E8A1F8A26 -:1064F000188EFB01408D518D60E070E095E0440FF7 -:10650000551F661F771F9A95D1F7498B5A8B6B8B56 -:106510007C8BD7CFDF91CF911F910F9108952F9250 -:106520003F924F925F926F927F928F929F92AF9223 -:10653000BF92CF92DF92EF92FF920F931F93CF9370 -:10654000DF93EC015B016A018B81811103C08FEF46 -:106550009FEFC7C0898180FFFACF49895A896B892B -:106560007C8988859985AA85BB852601612C712C3B -:106570008A019B01081B190B2A0B3B0B4016510685 -:106580006206730618F06A01C81AD90A76013E013C -:1065900024E0620E711CE114F10409F476C0488510 -:1065A00059856A857B854A0181E098222B811A01F1 -:1065B0002B01E9E05694479437942794EA95D1F754 -:1065C000898D9A8DFC01223049F4628D738D848D02 -:1065D000958D620D731D841D951D3CC01481115055 -:1065E000122181149104C1F4111116C0452B462BC0 -:1065F000472B49F48D899E89AF89B88D8C839D8303 -:10660000AE83BF8309C04C815D816E817F81930120 -:1066100021D7882309F49BCFE98DFA8D6C817D8188 -:106620008E819F816250710981099109058404C09E -:10663000660F771F881F991F0A94D2F72685378522 -:1066400040895189620F731F841F951F610F711D4F -:10665000811D911D20E032E02819390987012E158E -:106660003F0508F489010115F2E01F0769F5209143 -:10667000D7103091D8104091D9105091DA1062178C -:1066800073078407950719F41FC0C6012AC0950136 -:10669000AB01BC018091D50E9091D60E0E94136281 -:1066A000882309F454CFA00EB11E88859985AA8548 -:1066B000BB85800F911FA11DB11D88879987AA876F -:1066C000BB87E01AF10A67CF40E08CD6882309F433 -:1066D0003ECFB4016952714FA801C5010F94860ED7 -:1066E000E2CFDF91CF911F910F91FF90EF90DF905C -:1066F000CF90BF90AF909F908F907F906F905F9062 -:106700004F903F902F900895CF93DF931F92CDB776 -:10671000DEB741E050E0BE016F5F7F4F00DF0197C1 -:1067200019F4898190E002C08FEF9FEF0F90DF9105 -:10673000CF910895CF92DF92EF92FF920F931F9324 -:10674000CF93DF936C01EB017A01FC0183818230EE -:1067500060F000851185228533850F71112722276E -:106760003327012B022B032B11F08FEF5CC0411557 -:10677000510511F0F70110821DE040E250E0BE012A -:10678000C601CDDE8032910539F021E0892B09F474 -:1067900020E0822F819547C028812223C1F0253E29 -:1067A00061F32E3251F33B853F733F3061F4E114C6 -:1067B000F10449F04A8D5B8D452B29F42F713FEF91 -:1067C000320F343030F02B8523FDD7CF2CC080E042 -:1067D0002AC030E021503109129FC001139F900D53 -:1067E0001124F701E80FF91F298120832B812183D0 -:1067F0002D8122832F812383298524832E85258340 -:10680000288926832A8927832C8920872E89218716 -:10681000288D22872C8D23872E8D2487288126FF83 -:10682000D2CF1586D0CFDF91CF911F910F91FF90DE -:10683000EF90DF90CF9008951F93CF93DF93EC01FB -:106840008B81823018F480E090E023C04885598520 -:106850006A857B85A5E07695679557954795AA95B6 -:10686000D1F7142F1F70CE014FDF97FDECCF488575 -:1068700059856A857B85415E5F4F6F4F7F4F4887A3 -:1068800059876A877B8720E2129FC00111248952B1 -:10689000914FDF91CF911F9108954F925F926F9228 -:1068A0007F92AF92BF92CF92DF92EF92FF920F93BF -:1068B0001F93CF93DF93EC016A017B012B8122238D -:1068C00049F089899A89AB89BC8984179507A607FD -:1068D000B70710F480E06BC0223009F463C0C11424 -:1068E000D104E104F10449F41C821D821E821F823E -:1068F000188619861A861B8659C088859985AA85A7 -:10690000BB85E98DFA8DE585F0E03996AC01BD01D6 -:1069100041505109610971090E2E04C076956795A1 -:10692000579547950A94D2F79701860101501109AE -:106930002109310904C03695279517950795EA95E1 -:10694000D2F7041715072607370720F0892B8A2B63 -:106950008B2B49F48D899E89AF89B88D8C839D835B -:10696000AE83BF8304C0041B150B260B370B280115 -:1069700039015E0184E0A80EB11C41145104610488 -:10698000710481F04C815D816E817F819501898DDB -:106990009A8D60D591E0491A5108610871088111FA -:1069A000ECCF05C0C886D986EA86FB8681E0DF91F8 -:1069B000CF911F910F91FF90EF90DF90CF90BF90FC -:1069C000AF907F906F905F904F9008950F931F93BB -:1069D000CF93DF93EC018B818823D1F1898187FFED -:1069E00032C061E0CE01B6DC8C01009789F1FC0178 -:1069F0008081853E69F18B81823040F449895A89D2 -:106A00006B897C89448F558F668F778F4D895E891E -:106A10006F89788DF801538F428F758B648BE0916D -:106A2000CE0EF091CF0E309759F0B8016A5E7F4FCD -:106A3000C80148961995F801808D918D938B828BB2 -:106A400089818F778983DF91CF911F910F918AC4BC -:106A500081E0888380E0DF91CF911F910F910895AD -:106A6000CF93DF93EC01B2DF1B82DF91CF910895CA -:106A7000FC0123812111F4CF08954F925F926F9210 -:106A80007F92AF92BF92CF92DF92EF92FF920F93DD -:106A90001F93CF93DF9300D01F92CDB7DEB75C0179 -:106AA0006A017B01FC0183818130E9F4818181FFEE -:106AB0001AC0F50181899289A389B4898417950741 -:106AC000A607B70780F0892B8A2B8B2B09F472C09D -:106AD000F5014084518462847384B701A601C50125 -:106AE000DCDE811102C080E066C0F501818D928DEF -:106AF000C114D104E104F10469F445895689678918 -:106B0000708D25D7882379F3F501158A168A178A9F -:106B1000108E37C0F50144815581668177819E01D1 -:106B20002F5F3F4F97D48823F1F249815A816B81BF -:106B30007C81F501818D928DFC012789203139F40A -:106B4000483FFFEF5F0761057105D8F407C0483F74 -:106B50002FEF520762072FE0720798F4F8D68823C8 -:106B600009F4C1CFF50144815581668177810FEF2A -:106B70001FEF2FEF3FE0818D928D51D5882309F4CF -:106B8000B2CFF501C18AD28AE38AF48A8181806812 -:106B90008183C5011BDF882309F4A5CFB701A601B6 -:106BA0004C145D046E047F0410F4B301A201C5010E -:106BB00074DE01C081E00F900F900F900F90DF9175 -:106BC000CF911F910F91FF90EF90DF90CF90BF90EA -:106BD000AF907F906F905F904F900895FF920F93CA -:106BE0001F93CF93DF93EC01F42E80E2689FF001B6 -:106BF0001124E952F14F8385817121F0842F827134 -:106C000009F04EC08091D7109091D810A091D91062 -:106C1000B091DA108C879D87AE87BF87688B4489D7 -:106C2000558960E070E0BA0155274427028D138D25 -:106C300020E030E0402B512B622B732B4D8B5E8B71 -:106C40006F8B788F8385887151F4048D158D268D17 -:106C5000378D098B1A8B2B8B3C8B81E00BC08031DD -:106C6000F9F49E012F5E3F4F898D9A8D72D488234F -:106C7000B9F084E08B838F2D8F7089831C821D82F5 -:106C80001E821F82188619861A861B86F4FE0BC088 -:106C900040E050E0BA01CE01F0DE811104C011C025 -:106CA0001B8280E00EC0F5FE0BC049895A896B89B2 -:106CB0007C89CE01DF91CF911F910F91FF90EDCD97 -:106CC00081E0DF91CF911F910F91FF900895AF92D6 -:106CD000BF92CF92DF92EF92FF920F931F93CF93C9 -:106CE000DF937C01EB016A01B22E898D9A8DF70149 -:106CF000928F818F40E050E0BA01CE01CEDDA12C11 -:106D0000088519852A853B8589899A89AB89BC893B -:106D1000081719072A073B07A0F585E03695279540 -:106D2000179507958A95D1F70F70CE0185DD0097ED -:106D300009F481C0FC012081222311F0253EB9F421 -:106D4000A1100EC04091D7105091D8106091D91069 -:106D50007091DA10F7014487558766877787008B33 -:106D6000FC018081AA24A3948111CACF0AC04BE000 -:106D700050E0BC01C6010F94790E892B09F0C0CFF9 -:106D800058C08B2D8274823409F055C0AA2049F076 -:106D9000F701008961E0C701DDDAEC01009769F4D1 -:106DA0004AC08B81823009F446C0CE014BDA882379 -:106DB00009F441C0C7EDDEE000E080E2FE0111927F -:106DC0008A95E9F78BE0F601DE0101900D928A9534 -:106DD000E1F7E091CE0EF091CF0E309739F0BE0181 -:106DE000625F7F4FCE014096199508C081E298E21C -:106DF000998B888B80E098E09F878E878889998916 -:106E00009B8B8A8B998F888F8E859F859F8B8E8B8E -:106E1000A9D2882381F04B2D602FC701DF91CF913C -:106E20001F910F91FF90EF90DF90CF90BF90AF90A8 -:106E3000D5CEB7FEF0CF80E0DF91CF911F910F91BB -:106E4000FF90EF90DF90CF90BF90AF9008953F926A -:106E50004F925F926F927F928F929F92AF92BF926A -:106E6000CF92DF92EF92FF920F931F93CF93DF9316 -:106E7000CDB7DEB7C354D1090FB6F894DEBF0FBE4D -:106E8000CDBF5C016B0124965FAF4EAF2497522EAD -:106E90001C8E1F8E19821C826115710511F410E081 -:106EA00073C0FC0183818111FACF2496EEADFFAD52 -:106EB000249780818F3211F076011DC02496EEADAB -:106EC000FFAD249780818F3231F431962496FFAF45 -:106ED000EEAF2497F3CFF60183818250823060F3C6 -:106EE000F601618D728DCE010196C7DA8823B9F261 -:106EF000CE0101967C018E01045E1F4F3801FE0118 -:106F000031964F01402E312E19C08823A9F121E07E -:106F1000AE01495C5F4FB701C801D9DE882309F48F -:106F2000BECFEC14FD0411F0C7019ADD061517055C -:106F300001F1942D832D7801092F182FAE014E5B9E -:106F40005F4FBE01695C7F4F24968EAD9FAD249745 -:106F500055DA882309F4A3CF2496EEADFFAD24972C -:106F600080818F3291F631962496FFAFEEAF249751 -:106F7000F3CF982D892DDFCF252DAE01495C5F4FD2 -:106F8000B701C501A4DE182FCE01019671DDCE0137 -:106F90004C966EDD812FCD5BDF4F0FB6F894DEBFD0 -:106FA0000FBECDBFDF91CF911F910F91FF90EF905A -:106FB000DF90CF90BF90AF909F908F907F906F9019 -:106FC0005F904F903F900895CF93DF93EC0140E0A6 -:106FD00050E0BA0152DD882361F061E0CE01BAD9F8 -:106FE000009739F025EEFC0120831B82DF91CF91C1 -:106FF000B9C180E0DF91CF9108951F93CF93DF93C4 -:10700000CDB7DEB76B970FB6F894DEBF0FBECDBF1E -:10701000AB0119821C8222E0BC01CE01019617DF70 -:10702000182F882321F0CE010196CEDF182FCE0134 -:1070300001961EDD812F6B960FB6F894DEBF0FBE52 -:10704000CDBFDF91CF911F9108952F923F924F9224 -:107050005F926F927F928F929F92AF92BF92CF92E8 -:10706000DF92EF92FF920F931F93CF93DF9300D0A5 -:107070001F921F92CDB7DEB78C015B013A01DC0194 -:1070800013968C9113978130C1F411968C9181FFE6 -:1070900014C082FF18C0F80141895289638974893C -:1070A00080859185A285B38584179507A607B707C4 -:1070B00051F0C801F2DB811106C081E0F801808344 -:1070C0008FEF9FEF37C1630183C0D80159968D912F -:1070D0009C915A97FC01F481F1501A012B0169E04F -:1070E00056944794379427946A95D1F7F221FD83FB -:1070F0004A0121E09222FF2309F476C080E092E069 -:107100008819990976018C159D0508F47C01D80130 -:107110005996ED91FC915A9714962D903D904D9073 -:107120005C901797B2E02B1A31084108510805848A -:1071300004C0220C331C441C551C0A94D2F78685CB -:107140009785A089B189280E391E4A1E5B1EED81E4 -:107150002E0E311C411C511CE114F2E0FF0609F017 -:1071600089C08091D7109091D810A091D910B0917A -:10717000DA1082159305A405B50569F41092D40EB2 -:107180008FEF9FEFDC018093D7109093D810A093DE -:10719000D910B093DA109501B201A1018091D50EFA -:1071A0009091D60E0E948862882309F486CFF80158 -:1071B00080859185A285B3858E0D9F1DA11DB11D72 -:1071C00080879187A287B387AE0CBF1CCE18DF08DB -:1071D000D80118964D915D916D917C911B97C114CA -:1071E000D10409F072CF7AC08114910409F086CFDE -:1071F00014964D915D916D917C91179741155105B4 -:107200006105710559F455968D919D910D90BC9134 -:10721000A02D0097A105B10539F520C09E012F5F73 -:107220003F4F18D1882309F448CF89819A81AB81D7 -:10723000BC81F801218D328DF9012789203139F483 -:10724000883FFFEF9F07A105B10540F40DC0883FBF -:107250002FEF9207A2072FE0B20730F0C8010E947B -:10726000FC3081114BCF29CFF80184839583A6830D -:10727000B78344CF8114910411F5D80118964D912C -:107280005D916D917C911B9751968D919D910D9083 -:10729000BC91A02D481759076A077B0780F062D080 -:1072A000882309F40ACF81E08093D40E2092D7106E -:1072B0003092D8104092D9105092DA1007C041E0B5 -:1072C000C201B1018FD0882309F4F7CEA701B5011F -:1072D000C4018952914F0F94860E69CF51968D91BA -:1072E0009D910D90BC91A02DF801218184179507E7 -:1072F000A607B70738F4418B528B638B748B2068D9 -:1073000021830CC08091CE0E9091CF0E892B31F04D -:107310006114710419F02068F8012183D8011196D5 -:107320008C9183FD02C0C30105C0C8014FDB8111F0 -:10733000FACFC3CE0F900F900F900F900F90DF9168 -:10734000CF911F910F91FF90EF90DF90CF90BF9062 -:10735000AF909F908F907F906F905F904F903F90F5 -:107360002F900895CF938091D40E8823B9F1409146 -:10737000D7105091D8106091D9107091DA1027ED84 -:107380003EE08091D50E9091D60E0E948862C82F63 -:10739000811102C0C0E023C04091D00E5091D10EA7 -:1073A0006091D20E7091D30E4115510561057105A2 -:1073B00091F027ED3EE08091D50E9091D60E0E947F -:1073C0008862882339F31092D00E1092D10E109259 -:1073D000D20E1092D30E1092D40E01C0C1E08C2FA9 -:1073E000CF910895CF92DF92EF92FF92CF936B01EE -:1073F0007C01C42F8091D7109091D810A091D91002 -:10740000B091DA108C159D05AE05BF05C9F0AADF55 -:10741000811102C080E018C027ED3EE0B701A6014F -:107420008091D50E9091D60E0E941362882391F31D -:10743000C092D710D092D810E092D910F092DA1002 -:1074400081E0C1118093D40ECF91FF90EF90DF9037 -:10745000CF9008958F929F92AF92BF92CF92DF927A -:10746000EF92FF920F931F93CF93DF93EC016A018A -:107470007B01890189859A85AB85BC850196A11D13 -:10748000B11D84179507A607B70710F480E054C014 -:107490008F89803129F49927872F762F652F0BC08C -:1074A0008032A1F7CB01BA0127E0969587957795B1 -:1074B00067952A95D1F78B889C88AD88BE88680D22 -:1074C000791D8A1D9B1D8090D7109090D810A09098 -:1074D000D910B090DA10681579058A059B0581F4FA -:1074E0008F89803191F4DD24EE24FF24F601EE0F24 -:1074F000FF1FE952F14F80819181A0E0B0E016C0FA -:1075000040E070DF8111ECCFC1CFE894C7F8DD24F3 -:10751000EE24FF24F601EE0FFF1FEE0FFF1FE952CE -:10752000F14F80819181A281B381BF70F801808386 -:107530009183A283B38381E0DF91CF911F910F915B -:10754000FF90EF90DF90CF90BF90AF909F908F9083 -:1075500008954F925F926F927F92AF92BF92CF92B7 -:10756000DF92EF92FF920F931F93CF93DF9300D0A0 -:107570001F92CDB7DEB78C0149835A836B837C831E -:107580005901C12CD12C7601412C42E0542E612CA2 -:10759000712C49815A816B817C819E012F5F3F4F05 -:1075A000C80158DF882341F1D301C201F8010584E5 -:1075B00004C0880F991FAA1FBB1F0A94D2F7C80ED8 -:1075C000D91EEA1EFB1E49815A816B817C81878905 -:1075D000803139F481E0483F5F4F6105710538F42F -:1075E000D8CF81E0483F5F4F6F4F7F4090F2F50169 -:1075F000C082D182E282F3820F900F900F900F90A1 -:10760000DF91CF911F910F91FF90EF90DF90CF907E -:10761000BF90AF907F906F905F904F9008954F9282 -:107620005F926F927F928F929F92AF92BF92CF9212 -:10763000DF92EF92FF920F931F93CF93DF93EC01B2 -:107640004A015B012801390142305105610571058C -:1076500008F462C049855A856B857C854F5F5F4F12 -:107660006F4F7F4F481559056A057B0508F454C0D4 -:107670008F89803129F4FF24EB2CDA2CC92C0CC023 -:10768000803209F049C07501640177E0F694E7940F -:10769000D794C7947A95D1F74B895C896D897E8997 -:1076A000C40ED51EE61EF71E41E0C701B6019ADEE4 -:1076B000882391F19F89903159F49924AA24BB24FD -:1076C000F401EE0FFF1FE952F14F5182408210C0CA -:1076D000E89487F89924AA24BB24F401EE0FFF1F35 -:1076E000EE0FFF1FE952F14F408251826282738296 -:1076F0009A89923090F04D815E816F8178854C0D32 -:107700005D1D6E1D7F1D4093D00E5093D10E609372 -:10771000D20E7093D30E01C080E0DF91CF911F9104 -:107720000F91FF90EF90DF90CF90BF90AF909F9020 -:107730008F907F906F905F904F9008952F923F921F -:107740004F925F926F927F928F929F92AF92BF9271 -:10775000CF92DF92EF92FF920F931F93CF93DF931D -:10776000CDB7DEB72F970FB6F894DEBF0FBECDBFF3 -:107770001C014C875D876E877F873B872A87DC01EA -:1077800019960D911D912D913C911C970F5F1F4FE4 -:107790002F4F3F4F0D831E832F833887EA85FB854C -:1077A00080809180A280B38081149104A104B104EF -:1077B00031F0FFEF8F1A9F0AAF0ABF0A10C0DC0139 -:1077C0008D909D90AD90BC90B1E0B9870C851D85E2 -:1077D0002E853F85013011052105310509F01986F7 -:1077E00075016401412C512C3201F1018185928592 -:1077F000A385B485481659066A067B0608F04EC074 -:107800000D811E812F8138850C151D052E053F0524 -:1078100050F4F2E0CF2ED12CE12CF12CA2E08A2EF4 -:10782000912CA12CB12C9E012F5F3F4FB701A601D7 -:10783000C10110DE882391F149815A816B817C81DD -:10784000D701C6010196A11DB11D452B462B472B23 -:1078500019F04C015D010FC0AC01BD014819590977 -:107860006A097B090C851D852E853F8540175107C8 -:107870006207730741F01FEF411A510A610A710A4A -:107880006C017D01B2CF0FEF1FEF2FEF3FE0B7018B -:10789000A601C101C4DE8D83811113C01D823DC0CC -:1078A0002601370121E0421A510861087108970149 -:1078B0008601B301A201C101B2DE882379F373010D -:1078C00062018C149D04AE04BF0450F3AA85BB85ED -:1078D0004D915D916D917C91411551056105710549 -:1078E000A9F4EA85FB8580829182A282B382F98520 -:1078F000FF2399F00FEF801A900AA00AB00AD10175 -:107900008D929D92AD92BC92139707C09501840110 -:10791000C10185DE8111E5CFC1CF8D812F960FB6D4 -:10792000F894DEBF0FBECDBFDF91CF911F910F91B5 -:10793000FF90EF90DF90CF90BF90AF909F908F908F -:107940007F906F905F904F903F902F900895AF92EF -:10795000BF92CF92DF92EF92FF920F931F93CF933C -:10796000DF9300D01F92CDB7DEB75C016A017B01C7 -:1079700082E090E0A0E0B0E0F50180839183A283F3 -:10798000B3839E012F5F3F4FB701A601C50162DDA2 -:10799000811102C080E023C000E010E09801B7012F -:1079A000A601C5013CDE8823A9F3C980DA80EB80FB -:1079B000FC80F5018789803149F481E0F8EFCF162A -:1079C000FFEFDF06E104F10450F4DBCF81E098EF34 -:1079D000C9169FEFD906E9069FE0F90690F20F90CD -:1079E0000F900F900F90DF91CF911F910F91FF900B -:1079F000EF90DF90CF90BF90AF9008957F928F92DD -:107A00009F92AF92BF92CF92DF92EF92FF920F932D -:107A10001F93CF93DF93EC01142F7093D60E6093D6 -:107A2000D50E1F8A82E090E0A0E0B0E088839983C1 -:107A3000AA83BB831092D40E1092D00E1092D10E56 -:107A40001092D20E1092D30E8FEF9FEFDC01809335 -:107A5000D7109093D810A093D910B093DA10442384 -:107A600049F1453008F0DEC040E060E070E0CB0155 -:107A7000B9DC882309F4D6C020E1129FF00111245B -:107A8000EB57FF4E80818F7709F0CCC084859585B8 -:107A9000A685B78584369105A105B10508F4C2C055 -:107AA000C084D184E284F384C114D104E104F104DC -:107AB00021F4B8C0C12CD12C760140E0C701B60139 -:107AC00091DC782E882309F4ADC08091E20E90916C -:107AD000E30E8115924009F0A5C03091E70E3323E3 -:107AE00009F4A0C08091E50E9091E60E892B09F46F -:107AF00099C02091E40E222309F494C03A8B2C8380 -:107B00001D8630E041E050E06D85062FCA01062E4B -:107B100002C0880F991F0A94E2F72817390731F03D -:107B200081E0860F8D87683078F37CC02091ED0E60 -:107B30003091EE0E2115310519F040E050E008C0FB -:107B40002091FB0E3091FC0E4091FD0E5091FE0EE7 -:107B50002D833E834F8358878091E50E9091E60EEA -:107B600046015701880E991EA11CB11C8B8A9C8A64 -:107B7000AD8ABE8AE091E80EF091E90EF98FE88FA8 -:107B8000A091E70EB0E00F944509680D791D8A1D9C -:107B90009B1D6A8F7B8F8C8F9D8FB5E0EE0FFF1F33 -:107BA000BA95E1F7E150FE4FEF2FFF27E695DC0194 -:107BB000CB018E0F9F1FA11DB11D8E879F87A88BA4 -:107BC000B98B8090EA0E9090EB0E8114910419F01D -:107BD000A12CB12C08C08090F70E9090F80EA090C8 -:107BE000F90EB090FA0EA7019601281B390B4A0B2B -:107BF0005B0BDA01C901880D991DAA1DBB1D04C0CC -:107C0000B695A795979587950A95D2F789879A870C -:107C1000AB87BC87853F3FE09307A105B10520F402 -:107C20008CE08F8B712C15C0853F9F4FA105B1054E -:107C300010F480E10DC08091030F9091040FA0918A -:107C4000050FB091060F8A8F9B8FAC8FBD8F80E29E -:107C50008F8B872DDF91CF911F910F91FF90EF9028 -:107C6000DF90CF90BF90AF909F908F907F900895BE -:107C70004F925F926F927F928F929F92AF92BF923C -:107C8000CF92DF92EF92FF920F931F93CF93DF93E8 -:107C90002C0127E034E081E090E0F9014591549116 -:107CA000441655060CF062C0AC0141505109DA018E -:107CB000AA0FBB1FAA0FBB1FAB5FBB4FFD01659196 -:107CC0007491440F551F440F551F4D5F5B4FFA01D0 -:107CD00065907490FC01EE0FFF1FEE0FFF1FEB5F2E -:107CE000FB4FA590B490FD0105911491F901C59148 -:107CF000D491FA0185909490882777FD8095982FEC -:107D00000F94BF056B017C01B201661977098827C2 -:107D100077FD8095982F0F94BF052B013C01B5018D -:107D2000601B710B882777FD8095982F0F94BF05F6 -:107D30009B01AC01C301B2010F94F2072B013C017E -:107D4000BE0168197909882777FD8095982F0F94CF -:107D5000BF059B01AC01C301B2010F9424059B0137 -:107D6000AC01C701B6010F94440411C001962C5F09 -:107D70003F4F8D33910509F090CFE5EFF4E0659129 -:107D80007491882777FD8095982F0F94BF056B011C -:107D90007C0120E030E040E252E4C701B6010F94DC -:107DA000200787FD1BC020E030E048E452E4C70113 -:107DB000B6010F941D0518168CF020E030E040E26B -:107DC00052E4C701B6010F94430420E030E040E0E4 -:107DD0005FE30F94F2079B01AC013FC020E030E06D -:107DE00048E452E4C701B6010F94200718163CF589 -:107DF00020E030E048EC52E4C701B6010F941D05C5 -:107E00001816ECF020E030E040EA50E4C701B6017B -:107E10000F9444044B015C0120E030E048E452E45C -:107E2000C701B6010F9443042DEC3CEC4CEC5DE330 -:107E30000F94F2079B01AC01C501B40110C020E012 -:107E400030E048EC52E4C701B6010F942007181641 -:107E500054F420E030E040E251E4C701B6010F9451 -:107E600044046B017C01C701B601DF91CF911F91E2 -:107E70000F91FF90EF90DF90CF90BF90AF909F90C9 -:107E80008F907F906F905F904F9008954F925F9288 -:107E90006F927F928F929F92AF92BF92CF92DF921A -:107EA000EF92FF920F931F93CF93DF932C016623E2 -:107EB00071F1E5E5F3E58491882341F09091C000EC -:107EC00095FFFCCF8093C6003196F5CF70E04AE075 -:107ED00050E08BE397E10E9463DAECE6F2E08491F4 -:107EE000882341F09091C00095FFFCCF8093C6009D -:107EF0003196F5CF8091C00085FFFCCF8AE080935A -:107F0000C6000E944D6F60E070E0CB017EC027E8A4 -:107F100033E081E090E0F901459154914416550613 -:107F20000CF062C0AC0141505109DA01AA0FBB1F2D -:107F3000AA0FBB1FAB57BC4FFD0165917491440F55 -:107F4000551F440F551F4D575C4FFA0165907490B3 -:107F5000FC01EE0FFF1FEE0FFF1FEB57FC4FA5902C -:107F6000B490FD0105911491F901C591D491FA01E4 -:107F700085909490882777FD8095982F0F94BF0562 -:107F80006B017C01B20166197709882777FD80951E -:107F9000982F0F94BF052B013C01B501601B710B9D -:107FA000882777FD8095982F0F94BF059B01AC0122 -:107FB000C301B2010F94F2072B013C01BE01681905 -:107FC0007909882777FD8095982F0F94BF059B012D -:107FD000AC01C301B2010F9424059B01AC01C701A0 -:107FE000B6010F94440411C001962C5F3F4F8032BC -:107FF000910509F090CFE1E0F4E065917491882754 -:1080000077FD8095982F0F94BF05DF91CF911F9139 -:108010000F91FF90EF90DF90CF90BF90AF909F9027 -:108020008F907F906F905F904F90089560E0809167 -:108030004C1190914D112ADF6093481170934911B2 -:1080400080934A1190934B11809146119091471162 -:108050000FDE60934211709343118093441190930B -:1080600045118FB7F89410923A118FBF089520915F -:10807000200230912102409122025091230260E0BF -:1080800070E08FE793E40F94240560931A117093C6 -:108090001B1180931C1190931D112091100230919F -:1080A0001102409112025091130260E070E08FE7DC -:1080B00093E40F9424056093F9107093FA10809361 -:1080C000FB109093FC10089597FF03C0809141111D -:1080D00004C0FC01E850FF4E808190E00895CF93EA -:1080E000DF93D82FC62FC19561E00E948AFD6C2FC7 -:1080F0008D2F0E94C3FD6C2F70E08D2FDF91CF91EB -:108100000C9480FCCF93C1E020E030E048E452E4DE -:10811000609148117091491180914A1190914B11D1 -:108120000F94200718160CF0C0E06C2F88E090E048 -:10813000CF91D5CFCF93DF9310921E1110921F11C4 -:1081400010922011109221112091200230912102D1 -:10815000409122025091230260E070E08FE793E4A7 -:108160000F94240560931A1170931B1180931C11B6 -:1081700090931D111092FD101092FE101092FF109E -:1081800010920011209110023091110240911202C0 -:108190005091130260E070E08FE793E40F942405A0 -:1081A0006093F9107093FA108093FB109093FC1079 -:1081B0006D9A809101018061809301019D9A809167 -:1081C000010188608093010187ED80937A0010920D -:1081D0007E0010927D0080917E00816080937E0001 -:1081E00080917E00826080937E0080917E0084601A -:1081F00080937E0080E888BD80916E0084608093CB -:108200006E006AEF70E080E090E00E9499FE8FE0DF -:1082100090E09093F1108093F01060E080910A025A -:1082200090910B0233DE20E030E040E751E40F9400 -:108230001D0587FF0AC080910A0290910B024097AA -:1082400090930B0280930A02E8CF81E391E0909330 -:1082500009028093080260E08091F2109091F3107F -:1082600015DE20E030E848E953E40F9420071816A3 -:1082700054F48091F2109091F31040969093F31083 -:108280008093F210E8CFC091EE10D091EF10CE01A4 -:10829000EFDC20E030E046E153E40F9420071816AD -:1082A00034F46096D093EF10C093EE10ECCFDF91D2 -:1082B000CF9108950895109251111092501110927B -:1082C0004F1110924E111092F810759810924F1194 -:1082D00010924E1110924111A59808952F923F923D -:1082E0004F925F926F927F928F929F92AF92BF92C6 -:1082F000CF92DF92EF92FF920F931F93CF93DF9372 -:10830000CDB7DEB7AE970FB6F894DEBF0FBECDBFC8 -:108310006B8F7C8F8D8F292E5A8749873CA72BA77F -:108320000E946AFE6F8F78A389A39AA30E946AFEB7 -:108330006FA378A789A79AA729853A8512161306ED -:108340001CF0ECE1FDE017C0EFE2FDE08191882335 -:1083500039F09091C00095FFFCCF8093C600F6CF16 -:108360008091C00085FFFCCF1BC29091C00095FF9B -:10837000FCCF8093C60081918111F7CF8091C0001E -:1083800085FFFCCF8AE08093C60095DF49855A853A -:108390008FE7452B99F1809341118F8D98A1A9A169 -:1083A000BAA1898B9A8BAB8BBC8B8D879E87AF874D -:1083B000B88B1D8290E4988FACE1A98FB6E4BA8F98 -:1083C0001DA61D8A1E8A1F8A2FE730E040E050E07C -:1083D00029833A834B835C83EFE74E2E512C612C2B -:1083E000712C1BA21CA21DA21EA231E03E8F1C8676 -:1083F0001B86312C00E010E01EA605C08093F8100B -:10840000CCCF0E94A2AD80913A11882309F4F6C026 -:108410000DDE49855A85452B51F03090421100916F -:10842000431110914411509145115EA709C030903D -:1084300048110091491110914A1180914B118EA75A -:10844000232D302F412F5EA56DA57D898E899F89B3 -:108450000F94200718162CF03DA60D8B1E8B9EA5A1 -:108460009F8B232D302F412F5EA56D81788D898DB7 -:108470009A8D0F941D0587FD05C03D82088F198FC9 -:10848000AEA5AA8F0E946AFE2FA138A549A55AA5BC -:10849000621B730B840B950B653C7940810591053C -:1084A00038F030DE0E946AFE6FA378A789A79AA7EA -:1084B0004E8D442309F44FC02B8D3C8D4D8D522D94 -:1084C000632D702F812F9EA50F94200718160CF096 -:1084D00095C00E946AFE29893A894B895C89621B92 -:1084E000730B840B950B693873418105910508F472 -:1084F00085C0D301C20129813A814B815C81821BF5 -:10850000930BA40BB50B49855A85B595A7959795FF -:108510008795452B19F08093411102C08093F81084 -:108520000E946AFE6D877E878F87988BDC01CB0166 -:1085300029893A894B895C89821B930BA40BB50B63 -:108540008BA39CA3ADA3BEA33B8D3DA74C8D4D8BB0 -:108550005D8D5E8B2F8A2B8D3C8D4D8D522D632D25 -:10856000702F812F9EA50F941D0587FFEEC20E94DC -:108570006AFE2D853E854F855889621B730B840BDF -:10858000950B693873418105910508F4DEC20E949C -:108590006AFE698B7A8B8B8B9C8BDC01CB012D85E2 -:1085A0003E854F855889821B930BA40BB50B4B85D9 -:1085B0005C85452B09F010C189819A81AB81BC8112 -:1085C000840D951DA61DB71D29853A85B595A795DE -:1085D00097958795232B09F4B5C2809341114B855C -:1085E0005C854F5F5F4F5C874B875B8D5D838C8DB8 -:1085F000888F9D8D998F2A8EA1E0AE8F20E030E08C -:1086000040EA51E46B8D7C8D8D8D922D0F94440446 -:108610009B01AC01632D702F812F9EA50F94200725 -:10862000181694F4E2E1F3E08491882341F09091EC -:10863000C00095FFFCCF8093C6003196F5CF8091A6 -:10864000C00085FFFCCFACC00E946AFE2F8D38A110 -:1086500049A15AA1621B730B840B950B613D7740B6 -:108660008105910508F44FC049855A85452B81F055 -:10867000E0904111F12CECE0F3E084918823C1F00B -:108680009091C00095FFFCCF8093C6003196F5CF46 -:10869000E090F810F12CE6E0F3E08491882341F0BB -:1086A0009091C00095FFFCCF8093C6003196F5CF26 -:1086B00022E030E0432D502F612F7EA58BE397E120 -:1086C0000E9439DBE2E0F3E08491882341F090914D -:1086D000C00095FFFCCF8093C6003196F5CF4AE0ED -:1086E00050E0B7018BE397E10E9463DA8091C0000C -:1086F00085FFFCCF8AE08093C6000E946AFE6F8FE0 -:1087000078A389A39AA30E946AFE6B017C010E9450 -:108710006AFE89889A88AB88BC882D853E854F85FE -:108720005889820E931EA41EB51EC818D908EA08DF -:10873000FB08C60ED71EE81EF91E31E8C3163FE43B -:10874000D30632E1E306F10490F0E5EEF2E0849125 -:10875000882341F09091C00095FFFCCF8093C60024 -:108760003196F5CF8091C00085FFFCCF19C04B85B5 -:108770005C858BA59CA5841795070CF042CEE9E893 -:10878000F2E08491882341F09091C00095FFFCCFE6 -:108790008093C6003196F5CF8091C00085FFFCCF55 -:1087A0008AE08093C600AE960FB6F894DEBF0FBE87 -:1087B000CDBFDF91CF911F910F91FF90EF90DF9090 -:1087C000CF90BF90AF909F908F907F906F905F9071 -:1087D0004F903F902F9008958BA09CA0ADA0BEA07D -:1087E000880E991EAA1EBB1E2BA13CA14DA15EA105 -:1087F000281B390B4A0B5B0BCA01B90129813A814D -:108800004B815C810F94B808A50194010F941D0958 -:10881000240D351D461D571D2431310541055105D7 -:1088200004F129013A013CEE43165104610471043C -:108830002CF06BEE462E512C612C712C40E8441626 -:10884000510461047104DCF08EEF90E0A0E0B0E030 -:1088500084199509A609B70989839A83AB83BC83D8 -:1088600012C054E1452E512C612C712C24E130E0D2 -:1088700040E050E029833A834B835C8304C0498203 -:108880005A826B827C82EBE7F3E08491882341F08B -:108890009091C00095FFFCCF8093C6003196F5CF34 -:1088A0002AE030E0B301A2018BE397E10E9438DABD -:1088B000E6E7F3E08491882341F09091C00095FFB2 -:1088C000FCCF8093C6003196F5CF2AE030E0498195 -:1088D0005A816B817C818BE397E10E9438DAEFE665 -:1088E000F3E08491882341F09091C00095FFFCCF84 -:1088F0008093C6003196F5CF22E030E04D81588D4F -:10890000698D7A8D8BE397E10E9439DBE8E6F3E02D -:108910008491882341F09091C00095FFFCCF809313 -:10892000C6003196F5CF22E030E04DA55D896E8915 -:108930007F898BE397E10E9439DB8091C00085FF3E -:10894000FCCF8AE08093C6002B853C85233031051F -:108950000CF432CE69817A818B819C810F94BF05A2 -:1089600020E030E040E850E40F94F2076B017C0116 -:108970002D81388D498D5A8D6DA57D898E899F8970 -:108980000F94430420ED3FE049E450E40F94F207D4 -:1089900020E030E040E05FE30F94F2079B01AC0180 -:1089A000C701B6010F9424056B017C01C501B40118 -:1089B0000F94BF0520E030E04AE754E40F9424050B -:1089C0004B015C01E2E6F3E08491882341F0909151 -:1089D000C00095FFFCCF8093C6003196F5CF22E012 -:1089E00030E0B701A6018BE397E10E9439DBECE5AB -:1089F000F3E08491882341F09091C00095FFFCCF73 -:108A00008093C6003196F5CF22E030E0B501A40195 -:108A10008BE397E10E9439DB8091C00085FFFCCF9A -:108A20008AE08093C6002AE939E949E15FE3C7019A -:108A3000B6010F94F2076B017C019B01AC010F940E -:108A40004404A50194010F9424056D837E838F83D4 -:108A50009887A5019401C701B6010F94F20720E0A1 -:108A600030E040E05EE30F94F2074B015C01EEE47E -:108A7000F3E08491882341F09091C00095FFFCCFF2 -:108A80008093C6003196F5CF8091C00085FFFCCF62 -:108A90008AE08093C600E8E4F3E08491882341F003 -:108AA0009091C00095FFFCCF8093C6003196F5CF22 -:108AB00022E030E0B701A6018BE397E10E9439DBA9 -:108AC0008091C00085FFFCCF8AE08093C600E2E47D -:108AD000F3E08491882341F09091C00095FFFCCF92 -:108AE0008093C6003196F5CF22E030E04D815E8163 -:108AF0006F8178858BE397E10E9439DB8091C0001C -:108B000085FFFCCF8AE08093C600ECE3F3E084911C -:108B1000882341F09091C00095FFFCCF8093C60060 -:108B20003196F5CF22E030E0B501A4018BE397E167 -:108B30000E9439DB8091C00085FFFCCF8AE08093E2 -:108B4000C6003ACD8093F8104ACD1E8E57CD81E0F5 -:108B5000809378130E943DE48091D013882339F0EC -:108B60001092D01360E08EEC93E10E94B55A8CE530 -:108B700092E00E9413AD9FDB179A10928E13169A03 -:108B800010928F13149A48D10E94A2AD729A84EF6A -:108B900091E00E94BDFE729884E690E00C94BDFEC8 -:108BA0002F923F924F925F926F927F928F929F92FD -:108BB000AF92BF92CF92DF92EF92FF920F931F93EB -:108BC000CF93DF93CDB7DEB728970FB6F894DEBF0B -:108BD0000FBECDBF4C012A013B010D831E832F83A5 -:108BE0003887AA2039F0A12CB12C19821A821B8255 -:108BF0001C820BC03DE2A32EB12C80E090E0A0E7E8 -:108C0000B1E489839A83AB83BC830E946AFE0F948C -:108C1000BD058401000F111F000F111FD801A65AB6 -:108C2000BE4E1D012D913D914D915C910F944304D9 -:108C300020E030E04AEF54E40F94200718160CF0BF -:108C4000D2C00E946AFE0F94BD05F101608371835A -:108C50008283938320E030E0A901C701B6010F941D -:108C60001D05811107C0F401EE0FFF1FEE5AFE4EE5 -:108C700011821082980126593E4E1901A3019201DA -:108C8000D1016D917D918D919C910F941D0588234B -:108C900021F120E030E0A901C301B2010F942007C7 -:108CA000F801E658FE4E181674F480E090E0A0E853 -:108CB000BFE380839183A283B383F1014082518219 -:108CC000628273820AC01082118212821382D101E1 -:108CD0004D925D926D927C921397A30192016D81EA -:108CE0007E818F8198850F94200787FD19C0F80138 -:108CF000E658FE4E1F0120E030E040E85FE360816F -:108D00007181828193810F941D05811109C080E0DA -:108D100090E0A0E0B0E4F10180839183A283B3836B -:108D200020E030E0A901C701B6010F942007181612 -:108D30000CF059C029813A814B815C81C301B20199 -:108D40000F9443042D813E814F8158850F941D055A -:108D500087FF12C029813A814B815C81C301B20136 -:108D60000F9444049B01AC016D817E818F819885B5 -:108D70000F941D0587FD37C0F801E658FE4E20E030 -:108D800030E040E85FE360817181828193810F94DC -:108D90002007181644F5F401EE0FFF1FEE5AFE4EA1 -:108DA00080819181019691838083880F991FA816F5 -:108DB000B906CCF428960FB6F894DEBF0FBECDBF2F -:108DC000DF91CF911F910F91FF90EF90DF90CF90A7 -:108DD000BF90AF909F908F907F906F905F904F90DB -:108DE0003F902F90B4CE28960FB6F894DEBF0FBEFA -:108DF000CDBFDF91CF911F910F91FF90EF90DF904A -:108E0000CF90BF90AF909F908F907F906F905F902A -:108E10004F903F902F9008952F923F924F925F92E4 -:108E20006F927F928F929F92AF92BF92CF92DF927A -:108E3000EF92FF920F931F93CF93DF93CDB7DEB7DF -:108E400028970FB6F894DEBF0FBECDBF80913A11C0 -:108E5000882309F40AC3EAD86091F81070E080E032 -:108E600090E00F94BF056B017C0140904811509039 -:108E7000491160904A1170904B116091501170919E -:108E80005111882777FD8095982F0F94BF05AB016E -:108E9000BC01A12C9301820181E090E081DE8090F1 -:108EA000481190904911A0904A11B0904B11009137 -:108EB000501110915111B801882777FD8095982F96 -:108EC0000F94BF05A50194010F9443046B017C012D -:108ED0006093221170932311809324119093251194 -:108EE00020E030E040E251E40F942007181624F40B -:108EF00081E080931911F7C020E030E040E251ECAE -:108F0000C701B6010F941D0587FD02C0012B21F496 -:108F100081E0809319110CC180911911882351F0BF -:108F20001092361110923711109238111092391197 -:108F300010921911209124023091250240912602AD -:108F400050912702C701B6010F94F20769837A8313 -:108F50008B839C8360932E1170932F11809330111B -:108F60009093311120913611309137114091381181 -:108F700050913911C701B6010F9444042B013C01F3 -:108F800020901E1130901F1110912011009121117D -:108F90009101412F502F0F941D0587FD14C0209083 -:108FA0001A1130901B1110911C1100911D1191018B -:108FB000412F502FB201C3010F94200718161CF047 -:108FC0001201162D072DC101A12FB02F809336114C -:108FD00090933711A0933811B0933911209120024A -:108FE000309121024091220250912302B101812F40 -:108FF000902F0F94F2076D837E838F839887609301 -:109000002A1170932B1180932C1190932D11209184 -:109010003211309133114091341150913511C50105 -:10902000B4010F94430420911C0230911D02409121 -:109030001E0250911F020F94F20720ED3CEC4CE40D -:109040005DE30F94F2072B013C0123E333E343E795 -:109050005FE3609126117091271180912811909102 -:1090600029110F94F2079B01AC01C301B2010F94C7 -:1090700044042B013C0160932611709327118093C7 -:109080002811909329112D813E814F815885698146 -:109090007A818B819C810F944404A30192010F94E7 -:1090A00043042B013C0120E030E04FE753E40F94F0 -:1090B000200720E030E0A9011816E4F4C701B6014A -:1090C0000F94200718167CF4A7019601B101812F97 -:1090D000902F0F944304609336117093371180934F -:1090E000381190933911412C512CFFE76F2EF3E486 -:1090F0007F2E21C0C301B2010F941D0587FF1BC045 -:1091000020E030E0A901C701B6010F941D0587FFDB -:109110000FC0A7019601B101812F902F0F94430436 -:1091200060933611709337118093381190933911F1 -:10913000412C512C32018092321190923311A09225 -:109140003411B09235116091F0107091F1108827B0 -:1091500077FD8095982F0F94BF059B01AC01C50149 -:10916000B4010F9420071816DCF460910802709186 -:109170000902882777FD8095982F0F94BF059B01E2 -:10918000AC01C501B4010F941D0587FF09C0C301DF -:10919000B2010F948C05759567956093F81002C025 -:1091A0001092F8100E946AFE0091F4101091F510D0 -:1091B0002091F6103091F710601B710B820B930B0E -:1091C000653C79408105910560F00E9482400E94D3 -:1091D0006AFE6093F4107093F5108093F6109093EC -:1091E000F7108090421190904311A0904411B090DC -:1091F000451160914E1170914F11882777FD809530 -:10920000982F0F94BF05A50194010F9443046B019F -:109210007C0160930111709302118093031190936C -:1092200004112091140230911502409116025091C0 -:1092300017020F94F20769837A838B839C83609370 -:109240000D1170930E1180930F11909310112091B6 -:109250001511309116114091171150911811C70135 -:10926000B6010F9444048B011C016090FD107090B6 -:10927000FE105090FF10409000119301452D542D89 -:109280000F941D0587FD11C06090F9107090FA10C1 -:109290005090FB104090FC109301452D542DB801C7 -:1092A000C1010F94200718161CF48301252C342CBF -:1092B000C801D1018093151190931611A093171135 -:1092C000B0931811209110023091110240911202B6 -:1092D00050911302B801C1010F94F2076D837E8390 -:1092E0008F8398876093091170930A1180930B11F3 -:1092F00090930C1120911111309112114091131182 -:1093000050911411C501B4010F94430420910C0233 -:1093100030910D0240910E0250910F020F94F2070E -:1093200020ED3CEC4CE45DE30F94F2072B013C0193 -:1093300023E333E343E75FE3609105117091061186 -:1093400080910711909108110F94F2079B01AC01D5 -:10935000C301B2010F9444042B013C016093051139 -:109360007093061180930711909308118092111148 -:1093700090921211A0921311B09214112D813E817E -:109380004F81588569817A818B819C810F94440437 -:10939000A30192010F9443042B013C0120E030E033 -:1093A0004FE753E40F94200720E030E0A90118169E -:1093B000ACF4C701B6010F94200718166CF5A7018D -:1093C0009601B801C1010F94430460931511709385 -:1093D000161180931711909318111EC0C301B2018A -:1093E0000F941D0587FF22C020E030E0A901C701CE -:1093F000B6010F941D0587FF16C0A7019601B8019D -:10940000C1010F944304609315117093161180935A -:1094100017119093181107C0412C512C5FE7652E4E -:1094200053E4752E03C0412C512C320120E030E072 -:1094300040E751E4C501B4010F94200718169CF4CD -:1094400020E030E046E153E4C501B4010F941D056E -:1094500087FF09C0C301B2010F948C05759567950C -:109460006093411102C01092411128960FB6F894F2 -:10947000DEBF0FBECDBFDF91CF911F910F91FF9047 -:10948000EF90DF90CF90BF90AF909F908F907F90A4 -:109490006F905F904F903F902F900895CF93C82F7B -:1094A0000E945B410E940270811134C0E5E5F3E542 -:1094B0009491992341F08091C00085FFFCCF909357 -:1094C000C6003196F5CF6C2F70E04AE050E08BE398 -:1094D00097E10E9463DA8091C00085FFFCCF8AE0AB -:1094E0008093C600EFE2F2E08491882341F09091EE -:1094F000C00095FFFCCF8093C6003196F5CF8091D8 -:10950000C00085FFFCCF8AE08093C60082E292E033 -:109510000E9413ADCF910C94AA6FCF93C82F0E94D5 -:109520005B410E940270811134C0E5E5F3E594913E -:10953000992341F08091C00085FFFCCF9093C60035 -:109540003196F5CF6C2F70E04AE050E08BE397E165 -:109550000E9463DA8091C00085FFFCCF8AE080938F -:10956000C600E5EFF1E08491882341F09091C000BE -:1095700095FFFCCF8093C6003196F5CF8091C00057 -:1095800085FFFCCF8AE08093C60088EE91E00E94C0 -:1095900013ADCF910C94AA6FA5980E94027081110F -:1095A00025C0E5E5F3E58491882341F09091C00062 -:1095B00095FFFCCF8093C6003196F5CFEFEAF1E03E -:1095C0008491882341F09091C00095FFFCCF809357 -:1095D000C6003196F5CF8091C00085FFFCCF8AE0B0 -:1095E0008093C6008EE991E00E9413AD0C94AA6F9F -:1095F0001F920F920FB60F9211240BB60F920F937A -:109600001F932F933F934F935F936F937F938F930A -:109610009F93AF93BF93CF93DF93EF93FF9380918B -:109620000702811112C08091F8108093ED108823F9 -:1096300011F0759A01C07598809141118093EC10DA -:10964000882311F0A59A01C0A5989091ED10809102 -:109650000702981708F475989091EC108091070212 -:10966000981708F4A598809107028F5F8F778093F1 -:1096700007028091060290E08B30910508F093C0BC -:10968000FC01EE58FF4F0D94390910927B0080E4E5 -:1096900080937C0080917A00806480937A000E949D -:1096A0001CAD81E019C02091780030917900809143 -:1096B000E8109091E910A091EA10B091EB10820FA0 -:1096C000931FA11DB11D8093E8109093E910A09302 -:1096D000EA10B093EB1082E08093060264C010920F -:1096E0007B0082E480937C0080917A008064809388 -:1096F0007A000E941CAD83E0EFCF2091780030917A -:1097000079008091E4109091E510A091E610B0915D -:10971000E710820F931FA11DB11D8093E410909359 -:10972000E510A093E610B093E71084E0D5CF109237 -:109730007B0081E480937C0080917A008064809338 -:109740007A000E941CAD85E0C7CF2091780030914F -:1097500079008091E0109091E110A091E210B09119 -:10976000E310820F931FA11DB11D8093E010909311 -:10977000E110A093E210B093E31086E0ADCF0E9419 -:109780001CAD87E0A9CF88E0A7CF0E941CAD89E07F -:10979000A3CF109206028091DF108F5F8093DF10BD -:1097A00002C0109206028091DF10803108F463C07D -:1097B00080913A11811110C08091E8109091E910C8 -:1097C00090934D1180934C118091E4109091E5108D -:1097D000909347118093461181E080933A11109243 -:1097E000DF101092E8101092E9101092EA10109217 -:1097F000EB101092E0101092E1101092E210109213 -:10980000E3101092DB101092DC101092DD10109219 -:10981000DE101092E4101092E5101092E6101092F3 -:10982000E71020914C1130914D118091F2109091E0 -:10983000F3108217930714F080E030DE20914C1172 -:1098400030914D1180910A0290910B02281739072F -:1098500014F080E062DE2091461130914711809132 -:10986000EE109091EF10821793072CF010924F1189 -:1098700010924E1191DE00E010E0E801CC0FDD1FE8 -:10988000C55CDE4E888199811816190644F461E0A2 -:10989000802F0E945FE488819981019709C0892BFC -:1098A00049F060E0802F0E945FE4888199810196F1 -:1098B000998388830F5F1F4F03301105F1F6FF91E5 -:1098C000EF91DF91CF91BF91AF919F918F917F9158 -:1098D0006F915F914F913F912F911F910F910F9039 -:1098E0000BBE0F900FBE0F901F9018952CEA35EC11 -:1098F00047E25EE30D94F2072CEA35EC47E25EE3C3 -:109900000D9424052CEA35EC47E25EE30D94240522 -:109910002CEA35EC47E25EE30D94F207CF93DF9338 -:10992000EC0160E08E810E94C3FD81E090E00E9426 -:10993000BDFE61E08E810E94C3FD81E090E00E9447 -:10994000BDFE60E08E810E94C3FD84E690E0DF9161 -:10995000CF910C94BDFECF92DF92EF92FF920F93C6 -:109960001F93CF93DF937C01C0E0D0E0C62ED12CB3 -:1099700087010C0F1D1F61E0F80187810E948AFD9D -:10998000B6010C2E02C0759567950A94E2F76170D6 -:10999000F80187810E94C3FD2196C430D10541F7AB -:1099A000C701DF91CF911F910F91FF90EF90DF9052 -:1099B000CF90B4CFCF92DF92EF92FF920F931F938D -:1099C000CF93DF937C01C0E0D0E0C62ED12C87017D -:1099D0000C0F1D1F61E0F80187810E948AFDB6010E -:1099E0000C2E02C0759567950A94E2F76170F80134 -:1099F00087810E94C3FD2196C830D10541F7C70178 -:109A0000DF91CF911F910F91FF90EF90DF90CF905A -:109A100085CF1F93CF93DF93EC01162F642F8C819A -:109A20000E94C3FD8D818F3F19F060E00E94C3FD4D -:109A30008F85612F84FF05C0CE01DF91CF911F91EB -:109A4000B9CF70E084E0759567958A95E1F7CE010E -:109A500082DF612FCE01DF91CF911F917CCF40E05B -:109A6000D8CF61E0FCDF80E496E00C94BDFE62E0BC -:109A7000F6DF80E496E00C94BDFECF93DF93CDB784 -:109A8000DEB728970FB6F894DEBF0FBECDBF28E033 -:109A9000E7E9FCE0DE01119601900D922A95E1F7CD -:109AA000FC012389421710F04FEF420FFE0131965F -:109AB000E40FF11DE40FF11D2081260F2068622FB5 -:109AC00028960FB6F894DEBF0FBECDBFDF91CF91C1 -:109AD000C6CFFC016089262F2460208B6C60BFCF2D -:109AE000CF93DF93EC01423018F08F8588608F8729 -:109AF0004B8B1C8A222329F0413019F48F85846016 -:109B00008F8780E593EC0E94BDFE60E08C810E940F -:109B1000C3FD60E08E810E94C3FD8D818F3F19F0EF -:109B200060E00E94C3FD6F8564FD19C063E0CE0153 -:109B300012DF84E991E10E94BDFE63E0CE010BDFFC -:109B400084E991E10E94BDFE63E0CE0104DF86E975 -:109B500090E00E94BDFE62E0CE01FDDE13C06062B7 -:109B6000CE017DDF84E991E10E94BDFE6F856062D8 -:109B7000CE0175DF86E990E00E94BDFE6F856062D0 -:109B8000CE016DDF6F856062CE0169DF8CE390E00E -:109B90000E94BDFE84E0888BCE019BDF8CE390E0C9 -:109BA0000E94BDFECE015DDF88EB9BE00E94BDFE02 -:109BB00082E0898B66E0CE0152DF8CE390E0DF919A -:109BC000CF910C94BDFE6F927F928F92AF92CF9205 -:109BD000EF920F931F93CF93DF93CDB7DEB73C0186 -:109BE000162F842F5E854F8538899989F3018483E8 -:109BF00025830683E782C086A186828653874487B1 -:109C00003587968761E00E948AFDF30185818F3F49 -:109C100019F061E00E948AFD61E0F30186810E94F3 -:109C20008AFD112319F0F301178603C080E1F301C7 -:109C3000878720E041E060E1C301DF91CF911F9170 -:109C40000F91EF90CF90AF908F907F906F9048CF13 -:109C50008F92AF92CF92EF920F93DC0113961C92EA -:109C60001E921297EDE5FDE0ED93FC931F921F927B -:109C70001F921F928C2CAE2CC02EE22E042F2FEFA1 -:109C8000462F61E0A0DF0F900F900F900F900F9183 -:109C9000EF90CF90AF908F900895CF93DF93EC012A -:109CA000423018F08F8588608F874B8B1C8A222367 -:109CB00029F0413019F48F8584608F8780E593EC1B -:109CC0000E94BDFE60E08C810E94C3FD60E08E8139 -:109CD0000E94C3FD8D818F3F19F060E00E94C3FD9B -:109CE0006F8564FD19C063E0CE0135DE84E991E142 -:109CF0000E94BDFE63E0CE012EDE84E991E10E9468 -:109D0000BDFE63E0CE0127DE86E990E00E94BDFE45 -:109D100062E0CE0120DE13C06062CE01A0DE84E9E5 -:109D200091E10E94BDFE6F856062CE0198DE86E9FA -:109D300090E00E94BDFE6F856062CE0190DE6F856F -:109D40006062CE018CDE8CE390E00E94BDFE84E078 -:109D5000888BCE01BEDE8CE390E00E94BDFECE017A -:109D600086DE80E496E00E94BDFE82E0898B66E09C -:109D7000CE0175DE8CE390E00E94BDFE40E068E01D -:109D8000CE017BDE64E97EE0CE010F94D30341E097 -:109D900068E0CE0172DE64E97EE0CE010F94D30369 -:109DA00042E066E0CE0169DE62E97EE0CE01DF914D -:109DB000CF910D94D303CF92DF92EF92FF920F9346 -:109DC0001F93CF93DF931F921F92CDB7DEB78C0105 -:109DD000677088E0689FB00111246064C8014983FE -:109DE0005A833DDE4981C42E5A81D52EE12CF12CB7 -:109DF000D6016D916D01D801ED91FC910190F0813A -:109E0000E02DC8011995BFEFEB1AFB0AE8E0EE164A -:109E1000F10471F70F900F90DF91CF911F910F9187 -:109E2000FF90EF90DF90CF90089541E0F2DD81E068 -:109E300090E008950F931F93CF93DF93EC018B0174 -:109E400044E150E0BC018AE891E10F94500ECE014C -:109E50000F942F0E992744E150E0481B590BB8018D -:109E600086579E4E0F94500E8AE891E1DF91CF9174 -:109E70001F910F910895AF92BF92CF92DF92EF9210 -:109E8000FF920F931F93CF93DF93EC015B017A0155 -:109E9000690144E150E0BC018AE891E10F94500E61 -:109EA000CE010F942F0EEC01DD2704E110E0A80194 -:109EB0004C1B5D0BB501CE0186579E4E0F94500E84 -:109EC000C5010F942F0EC80FD91FDD27A8014C1B09 -:109ED0005D0BB701CE0186579E4E0F94500EC70101 -:109EE0000F942F0E8C0F9D1F9927A801481B590B0B -:109EF000B60186579E4E0F94500E8AE891E1DF918D -:109F0000CF911F910F91FF90EF90DF90CF90BF9076 -:109F1000AF9008952F923F924F925F926F927F92EF -:109F20008F929F92AF92BF92CF92DF92EF92FF9269 -:109F30000F931F93CF93DF93CDB7DEB7CF54D109E3 -:109F40000FB6F894DEBF0FBECDBF1C017E8F6D8FA4 -:109F50004A012FAB09AF2896EFAE28972C96ACAEEE -:109F6000BDAECEAEDFAE2C9734E0239F500111245E -:109F7000FC01EA0DFB1D80819181A281B381898F53 -:109F80009A8FAB8FBC8FDA01AA0DBB1DBCAFABAFF4 -:109F90004D905D906D907C90A3019201698D7A8DBA -:109FA0008B8D9C8D0F94440421966CAF7DAF8EAF4A -:109FB0009FAF2197B4E00B9F80011124F101E00FC6 -:109FC000F11F20813181428153812F8F38A349A312 -:109FD0005AA3A401400F511F23965FAF4EAF2397A2 -:109FE000DA01CD90DD90ED90FC90A70196016F8D88 -:109FF00078A189A19AA10F94440427966CAF7DAFF4 -:10A000008EAF9FAF27972896EFAD2897B4E0EB9FD0 -:10A01000C0011124F101E80FF91F20813181428133 -:10A0200053812BA33CA34DA35EA3ED8DFE8DE80FC2 -:10A03000F91F60817181828193810F9443046FA322 -:10A0400078A789A79AA7AD8DBE8D1C968D919D91FD -:10A050000D90BC91A02D60968CAF9DAFAEAFBFAF01 -:10A060006097D1011C962D913D914D915C911F9768 -:10A070002BA73CA74DA75EA7A301920150582D8B9B -:10A080003E8B4F8B588FD701C601B058898B9A8B66 -:10A09000AB8BBC8BED8DFE8DEA0DFB1D20813181DC -:10A0A000428153812FA738AB49AB5AAB21962CADD7 -:10A0B0003DAD4EAD5FAD21976FA578A989A99AA94D -:10A0C0000F9443046B017C01ED8DFE8DE00FF11FB9 -:10A0D00080819181A281B3818BAB9CABADABBEABD8 -:10A0E00027962CAD3DAD4EAD5FAD2797BC01CD01A0 -:10A0F0000F9443044B015C01A70196016D897E8991 -:10A100008F89988D0F94F2072B013C01A5019401D2 -:10A1100069897A898B899C890F94F2079B01AC012C -:10A12000C301B2010F9444042B013C01A501940129 -:10A130006D897E898F89988D0F94F2074B015C01A0 -:10A14000A701960169897A898B899C890F94F20706 -:10A150009B01AC01C501B4010F944304A30192011A -:10A160000F94B7046B017C0120E030E0A9010F944B -:10A170001D0587FF0AC02BED3FE049EC50E4C70105 -:10A18000B6010F9444046B017C01AA968FADAA9787 -:10A19000882351F02BED3FE049EC50E4C701B601B4 -:10A1A0000F9443046B017C012FA538A949A95AA932 -:10A1B000698D7A8D8B8D9C8D0F941D0581111FC02B -:10A1C0002BA93CA94DA95EA96F8D78A189A19AA15F -:10A1D0000F941D05811113C020E030E0A901C701D3 -:10A1E000B6010F941D0581110AC02BED3FE049EC2B -:10A1F00050E4C701B6010F9444046B017C01A99699 -:10A200002CAD3DAD4EAD5FADA997C701B6010F9422 -:10A21000F2072FA138A549A55AA55F770F942D07FE -:10A220004B015C012FE632E143E85AE30F941D0530 -:10A2300087FDC8C1C501B4010F94FA050F949105BB -:10A240007A8F698FDB01AB2B21F4E1E0F0E0FA8F2C -:10A25000E98F298D3A8DB90180E090E00F94BD051A -:10A260004B015C019B01AC01C701B6010F942405B1 -:10A270002B013C01A50194016FA178A589A59AA5A0 -:10A280000F9424056FA778AB89AB9AAB2BA53CA59F -:10A290004DA55EA560966CAD7DAD8EAD9FAD609712 -:10A2A0000F944304A50194010F9424056BAB7CAB80 -:10A2B0008DAB9EAB20E030E040E05FE3C301B20134 -:10A2C0000F94F207A30192010F94F2079B01AC01D6 -:10A2D00060E070E080E89FE30F9443046FA378A7E9 -:10A2E00089A79AA7CE010196FC0128964FAD289721 -:10A2F00034E0439FE00DF11D11242BA13CA14DA1A1 -:10A300005EA120833183428353832BA53CA54DA5B9 -:10A310005EA52D873E874F87588BB12C41E050E0DA -:10A3200058A34F8F1C01BFA9A4E0BA9F800D911DB7 -:10A33000112498AF8FAB910159AD44E0549F200D8B -:10A34000311D11243AAF29AFFCA7EBA74F8D58A1BF -:10A35000898D9A8D4817590708F01AC188E18B1525 -:10A360000CF444C02FA138A549A55AA569897A895A -:10A370008B899C890F94F2076B017C01A3019201E8 -:10A380006D897E898F89988D0F94F207A7019601B8 -:10A390000F944404A62E172F982E892E2FA138A58E -:10A3A00049A55AA56D897E898F89988D0F94F207EA -:10A3B0006B017C01A301920169897A898B899C894F -:10A3C0000F94F2079B01AC01C701B6010F9443043F -:10A3D0006D8B7E8B8F8B988FB3948A2D912FA92DA7 -:10A3E000B82D898B9A8BAB8BBC8B6CC0AF8DB8A111 -:10A3F000BD0180E090E00F94BD05A30192010F9490 -:10A40000F2076B017C010F942105698B7A8B8B8B92 -:10A410009C8BC701B6010F9455084B015C01EBAD55 -:10A42000FCADC080D180E280F380F7FAF094F7F8B9 -:10A43000F0942396AEADBFAD23972D913D914D91F4 -:10A440005C912BA33CA34DA35EA329893A894B8938 -:10A450005C89C701B6010F94F2076D8B7E8B8F8BE1 -:10A46000988FA50194016BA17CA18DA19EA10F9451 -:10A47000F2079B01AC016D897E898F89988D0F94BD -:10A4800044046D8B7E8B8F8B988FA5019401C7013F -:10A49000B6010F94F2076B017C0129893A894B8937 -:10A4A0005C896BA17CA18DA19EA10F94F2079B01F9 -:10A4B000AC01C701B6010F944304698B7A8B8B8B77 -:10A4C0009C8BB12C2D893E894F89588D21966CAD7E -:10A4D0007DAD8EAD9FAD21970F944404EFA9F8ADEB -:10A4E000608371838283938329893A894B895C894C -:10A4F00027966CAD7DAD8EAD9FAD27970F9444042C -:10A50000A9ADBAAD6D937D938D939C9313972FA5B1 -:10A5100038A949A95AA9EBA5FCA56081718182815E -:10A5200093810F944404ABA5BCA56D937D938D934B -:10A530009C9313972BA93CA94DA95EA96D857E8597 -:10A540008F8598890F9444046D877E878F87988BB9 -:10A55000C1010E94DA69FE01E659FF4F6F012C9696 -:10A56000ECACFDAC0EAD1FAD2C979E01235F3F4FB1 -:10A57000AE01475F5F4FBE016B5F7F4FC1010E941D -:10A580003AEF2F8D38A12F5F3F4F38A32F8FDECEAC -:10A590002D8D3E8D245F3F4F4D8D5E8D485F5F4F0B -:10A5A0006D8D7E8D6C5F7F4FDE01A659BF4F6D01B3 -:10A5B0002C96ECACFDAC0EAD1FAD2C978D8D9E8D09 -:10A5C0000E943AEFC15BDF4F0FB6F894DEBF0FBEBB -:10A5D000CDBFDF91CF911F910F91FF90EF90DF9052 -:10A5E000CF90BF90AF909F908F907F906F905F9033 -:10A5F0004F903F902F900895FC0114821782138290 -:10A60000128289EB9EE091838083089529EB3EE0DE -:10A61000FC01318320832781222319F004960C94B6 -:10A6200030350895CF92DF92EF92FF920F931F93F0 -:10A63000CF93DF93EC01875B9F4FDEDFCE0186591E -:10A640009F4FDADF7E0129E8E20EF11C87016E01DF -:10A6500031E4C31A3EEFD30AC801CEDF015E1F4FBB -:10A660000C151D05C9F7FE01EF53FE4F89E18183EB -:10A6700014823596178ACE018C519E4FBDDFFE01A4 -:10A68000EB56FD4F1082118212821382389610828F -:10A690001182128213821A821B82188219826E0121 -:10A6A00087E6C81A8DEFD80AF6011082118212824D -:10A6B0001382F80111821082FE01ED5FFD4F1082BE -:10A6C00086E391E0F7019C01119221503040E1F7BF -:10A6D000FE01EF55FD4F81E08083C95BDF4F19829A -:10A6E00018820E946AFE68577C4E8F4F9F4FF6017A -:10A6F0006083718382839383DF91CF911F910F9148 -:10A70000FF90EF90DF90CF900895FC0120E03EE2B3 -:10A71000DB014C91403241F0283011F43083319606 -:10A72000DB014C91408331962F5F6F5F7F4F2B3061 -:10A7300079F7108208952F923F924F925F926F9215 -:10A740007F928F929F92AF92BF92CF92DF92EF92C1 -:10A75000FF920F931F93CF93DF93CDB7DEB7CA5805 -:10A76000D1090FB6F894DEBF0FBECDBF8C016B01CF -:10A770007A014901CA57DF4F1882C658D04084E099 -:10A78000E80EF11C180191E1290E311CF801EA5B79 -:10A79000FF4FC957DF4FF983E883C758D0403801CE -:10A7A000FEE56F1AFDEF7F0A58018CE5A81A8DEFC0 -:10A7B000B80A90E4492E512C4C0E5D1E94E0490ECF -:10A7C000511CA101BE016F5F7F4FC7010E949A33E8 -:10A7D00018160CF04AC12C85322F3871303109F02F -:10A7E000ACC0F301808191810197029708F4A5C064 -:10A7F000BE016F5F7F4FCE0187589F4F86DFA096C7 -:10A800001FAEA097F6018081811107C061E67DE04F -:10A81000CE01815A9F4F0F94A90EB601CE01815AE5 -:10A820009F4F0F94A90EBE0167587F4FCE01815AEA -:10A830009F4F0F94A90E61E67DE0CE01815A9F4F94 -:10A840000F94A90ECE01805C9F4FD6DE21E0AE01B1 -:10A8500047585F4FB701C2010E942737811147C097 -:10A86000F30180819181892B09F041C0EFE4F3E588 -:10A870008491882341F09091C00095FFFCCF809394 -:10A88000C6003196F5CFE091BB13F0E0EE0FFF1F4D -:10A89000E85DFD4F0190F081E02DE457FE4F0190FF -:10A8A000F081E02D8191882339F09091C00095FFCF -:10A8B000FCCF8093C600F6CF8091C00085FFFCCF0F -:10A8C0008AE08093C600FE01E758FF4F81918823FC -:10A8D00039F09091C00095FFFCCF8093C600F6CF71 -:10A8E0008091C00085FFFCCF8AE08093C6008BE199 -:10A8F000FE01EC5BFF4FDE01959601900D928A956B -:10A90000E1F724968EAD9FAD24979CA38BA389EB92 -:10A910009EE09AA389A320E030E0AE014F5D5F4F37 -:10A92000BE01615A7F4FC80106DFCE0181966EDEFF -:10A93000CE01805C9F4F6ADE44CF8981882309F471 -:10A9400094C08E3209F43DCF8F3509F43ACFF80127 -:10A9500081898E3209F435CF8F3509F432CF23FD4A -:10A9600030CF81E0303109F080E0C957DF4FE88116 -:10A97000F981C758D0408083811108C08985873408 -:10A9800009F01FCF8A858E3709F41BCF98012C5F01 -:10A990003F4FBE016F5F7F4FC901C757DF4F28830D -:10A9A000C958D040C657DF4F3883CA58D040ADDEB3 -:10A9B000F30180819181C757DF4F2881C958D0406A -:10A9C000C657DF4F3881CA58D0400097F1F4F601DE -:10A9D0008191882339F09091C00095FFFCCF80933E -:10A9E000C600F6CFF9018191882339F09091C0001B -:10A9F00095FFFCCF8093C600F6CF8091C00085FF05 -:10AA0000FCCF8AE08093C600DCCE8130910539F41A -:10AA1000F50180819181019691838083D2CE029746 -:10AA200009F0CFCE8114910439F0B901C4010F941B -:10AA3000960E892B71F419C0CA57DF4FF881C6589A -:10AA4000D0402F2F30E0F501808191812817390700 -:10AA500061F0CA57DF4FF881C658D040FF5FCA5730 -:10AA6000DF4FF883C658D040ACCEC657DF4F0FB685 -:10AA7000F894DEBF0FBECDBFDF91CF911F910F9134 -:10AA8000FF90EF90DF90CF90BF90AF909F908F900E -:10AA90007F906F905F904F903F902F9008950F930D -:10AAA0001F93CF93DF93CDB7DEB76F970FB6F894B0 -:10AAB000DEBF0FBECDBF8C01FC01EE55FD4F1182F4 -:10AAC000108240E050E0BA01835B9F4F0E944D34FA -:10AAD000C801875B9F4F2BE1FC013496DE01159680 -:10AAE00001900D922A95E1F7FC01828193819C836C -:10AAF0008B8389EB9EE09A83898320E030E0AE016E -:10AB00004F5F5F4F6AE97EE0C80115DECE01019616 -:10AB10007DDD6F960FB6F894DEBF0FBECDBFDF911F -:10AB2000CF911F910F9108952BE1FB013496DC0129 -:10AB3000149601900D922A95E1F7FB012281338151 -:10AB4000FC01338322830895EF92FF920F931F93AA -:10AB5000CF93DF93EC011B82FC01E05BFF4F808110 -:10AB6000882329F0CE01835B9F4F0E9430357E0100 -:10AB70008FE3E81A8EEFF80A45E360E0C7010E9410 -:10AB8000606181112CC0EFE4F3E58491882341F0EA -:10AB90009091C00095FFFCCF8093C6003196F5CF11 -:10ABA000E091BB13F0E0EE0FFF1FE85DFD4F019059 -:10ABB000F081E02DE257FE4F0190F081E02D84916D -:10ABC000882341F09091C00095FFFCCF8093C60090 -:10ABD0003196F5CF8091C00085FFFCCF9EC08E01DD -:10ABE0000A531E4F41E0B701C8010E94FE3C81118B -:10ABF00033C040E0B701C8010E94FE3C81112CC067 -:10AC0000E5E5F3E58491882341F09091C00095FF3C -:10AC1000FCCF8093C6003196F5CFE091BB13F0E0F6 -:10AC2000EE0FFF1FE85DFD4F0190F081E02DE05732 -:10AC3000FE4F0190F081E02D8491882341F09091A6 -:10AC4000C00095FFFCCF8093C6003196F5CF809170 -:10AC5000C00085FFFCCF61C0B801CE01835B9F4F70 -:10AC60000E943D3281112CC0E5E5F3E584918823F3 -:10AC700041F09091C00095FFFCCF8093C6003196C3 -:10AC8000F5CFE091BB13F0E0EE0FFF1FE85DFD4F45 -:10AC90000190F081E02DEE56FE4F0190F081E02D05 -:10ACA0008491882341F09091C00095FFFCCF809360 -:10ACB000C6003196F5CF8091C00085FFFCCF2DC036 -:10ACC00081E08B83EFE4F3E58491882341F0909158 -:10ACD000C00095FFFCCF8093C6003196F5CFE09180 -:10ACE000BB13F0E0EE0FFF1FE85DFD4F0190F08118 -:10ACF000E02DEC56FE4F0190F081E02D84918823E9 -:10AD000041F09091C00095FFFCCF8093C600319632 -:10AD1000F5CF8091C00085FFFCCF8AE08093C6000C -:10AD20008E01075B1F4FB801CE0186599F4FFCDE95 -:10AD3000C859DF4F19830883DF91CF911F910F917D -:10AD4000FF90EF900895FC01128213820895FC0198 -:10AD50002381222311F021E022830895FC01228126 -:10AD6000211112820895AF92BF92CF92DF92EF929B -:10AD7000FF920F931F93CF93DF931F92CDB7DEB750 -:10AD80008C018FE2FB0181935F01D12C41E07801BE -:10AD9000F1E4EF1AFEEFFF0A6FE1C62E2D2D30E031 -:10ADA000F7018081918128173907D8F4C29EC0012C -:10ADB000C39E900D112483579F4FB501800F911FA3 -:10ADC00049830E94E431C50149815C010196F50186 -:10ADD0002081222321F04D3810F44F5FF6CFD39419 -:10ADE000DDCF47FD11C0B501C80188519E4F0F90BE -:10ADF000DF91CF911F910F91FF90EF90DF90CF9057 -:10AE0000BF90AF900C94E431F50110820F90DF9168 -:10AE1000CF911F910F91FF90EF90DF90CF90BF9057 -:10AE2000AF9008953F924F925F926F927F928F9270 -:10AE30009F92AF92BF92CF92DF92EF92FF920F93C9 -:10AE40001F93CF93DF93CDB7DEB7AC970FB6F894CF -:10AE5000DEBF0FBECDBF7C015B01FC018381882377 -:10AE600009F408C1C70188519E4F0E943035F7018F -:10AE70001282CE0101966C01BFDB270198E6490ED4 -:10AE8000511CC701875B9F4FF20191838083F501BD -:10AE900080818F3209F084C06FE270E0C5010F94A9 -:10AEA000B40E8C010F5F1F4F7AE0372E011511058C -:10AEB00009F47CC06FE270E0C8010F94B40E4C013D -:10AEC000009709F474C00817190708F070C03C0116 -:10AED000601A710AA301B801CE0180960F94DD0EAD -:10AEE000E0E2F0E0EC0FFD1FE60DF71D1082FE0121 -:10AEF000B0968191882339F09091C00095FFFCCFE6 -:10AF00008093C600F6CF8091C00085FFFCCF3092C1 -:10AF1000C600F201608171816115710519F06C5FE5 -:10AF20007F4F02C060E070E021E0AE01405E5F4F05 -:10AF3000CE0105960E94273781112BC0E3E6FDE084 -:10AF40008491882341F09091C00095FFFCCF8093BD -:10AF5000C6003196F5CFFE01B0968191882339F075 -:10AF60009091C00095FFFCCF8093C600F6CFEAEF2A -:10AF7000FEE48491882341F09091C00095FFFCCFBE -:10AF80008093C6003196F5CF8091C00085FFFCCF3D -:10AF90006CC0F201D182C08284010F5F1F4F86CF47 -:10AFA000C70186599F4FF201918380838501F20189 -:10AFB00080819181009711F0049602C080E090E0BA -:10AFC000B8010E94FD37882339F1ECEEFEE484914C -:10AFD000882341F09091C00095FFFCCF8093C6007C -:10AFE0003196F5CFF8018191882339F09091C00016 -:10AFF00095FFFCCF8093C600F6CF8091C00085FFFF -:10B00000FCCF8AE08093C600F701E356FD4F108223 -:10B010001182128213822CC0E4EDFEE48491882315 -:10B0200041F09091C00095FFFCCF8093C60031960F -:10B03000F5CFF8018191882339F09091C00095FFF8 -:10B04000FCCF8093C600F6CFE2EDFEE48491882326 -:10B0500041F09091C00095FFFCCF8093C6003196DF -:10B06000F5CF8091C00085FFFCCF8AE08093C600B9 -:10B07000C601CCDAAC960FB6F894DEBF0FBECDBFDA -:10B08000DF91CF911F910F91FF90EF90DF90CF90C4 -:10B09000BF90AF909F908F907F906F905F904F90F8 -:10B0A0003F9008958F929F92AF92BF92CF92DF927E -:10B0B000EF92FF92CF93DF931F92CDB7DEB77C0163 -:10B0C000FC018281882309F4BCC071968191882398 -:10B0D00039F09091C00095FFFCCF8093C600F6CF69 -:10B0E000E0EDFEE48491882341F09091C00095FF4B -:10B0F000FCCF8093C6003196F5CFE091BB13F0E012 -:10B10000EE0FFF1FE85DFD4F0190F081E02DEE5541 -:10B11000FE4F0190F081E02D8491882341F09091C1 -:10B12000C00095FFFCCF8093C6003196F5CFF701A4 -:10B13000E356FD4F40815181628173812AE030E006 -:10B140008BE397E10E948FDAEEECFEE48491882392 -:10B1500041F09091C00095FFFCCF8093C6003196DE -:10B16000F5CFF701EB56FD4F40815181628173812C -:10B170002AE030E08BE397E10E948FDA8091C000F3 -:10B1800085FFFCCF8AE08093C6000E946AFEE0E65D -:10B19000CE2EEAEEDE2EE12CF12CA70196010F94C3 -:10B1A000FB0849015A016091AB117091AC1180917B -:10B1B000AD119091AE11A70196010F94FB08821A70 -:10B1C000930AC4016CE370E00F94D4086983CE0144 -:10B1D00001960E9490AEFC012191CF01222339F00B -:10B1E0003091C00035FFFCCF2093C600F4CF40E083 -:10B1F00050E06AE38BE397E10E9447DAC4016CE315 -:10B2000070E00F94D4088983CE0101960E9490AE1D -:10B21000FC012191CF01222339F03091C00035FF8C -:10B22000FCCF2093C600F4CFECECFEE4849188239D -:10B23000E1F09091C00095FFFCCF8093C60031965D -:10B24000F5CFE7E7FDE08491882341F09091C000BD -:10B2500095FFFCCF8093C6003196F5CF8091C0005A -:10B2600085FFFCCF8AE08093C6000F90DF91CF91DD -:10B27000FF90EF90DF90CF90BF90AF909F908F9016 -:10B280000895AF92BF92CF92DF92EF92FF920F9309 -:10B290001F93CF93DF935C01EB01FB010190002032 -:10B2A000E9F78F0101501109061B170B6C01F8E13A -:10B2B000CF1AFEEFDF0AF60110826EE470E0CE01D5 -:10B2C0000F94B40E7C01009729F4F8013197EC0F2C -:10B2D000FD1F0DC060E270E00F94B40EEC012196EA -:10B2E0006AE270E0C7010F94B40EFC0131978DE063 -:10B2F00081838AE082831382BE01C5018C519E4FF7 -:10B300000E944CDBF6018081882371F1E5E5F3E5CD -:10B310008491882341F09091C00095FFFCCF8093E9 -:10B32000C6003196F5CFE091BB13F0E0EE0FFF1FA2 -:10B33000E85DFD4F0190F081E02DEA55FE4F019050 -:10B34000F081E02D8491882341F09091C00095FF19 -:10B35000FCCF8093C6003196F5CF8091C00085FF69 -:10B36000FCCF8AE08093C600DF91CF911F910F91AF -:10B37000FF90EF90DF90CF90BF90AF9008952F9205 -:10B380003F924F925F926F927F928F929F92AF9275 -:10B39000BF92CF92DF92EF92FF920F931F93CF93C2 -:10B3A000DF93CDB7DEB7CC55D1090FB6F894DEBF29 -:10B3B0000FBECDBF4C018C010F551D4F662339F0D8 -:10B3C000F8011082F401838181111DC015C0F801BC -:10B3D0008081882309F4AFC0F401E756FD4FC08097 -:10B3E000D180E280F3800E946AFEC616D706E80686 -:10B3F000F90608F4A0C0E4CFC401A6DBF401838100 -:10B40000882309F498C07401F7E4EF0EF11CF701EA -:10B4100081818F9380818F9383EC9EE49F938F93A0 -:10B420008E01015C1F4F1F930F930F94EC0E0F9032 -:10B430000F900F900F900F900F90B12CF80101908A -:10B440000020E9F73197E01BF10BBE1684F4680188 -:10B45000CB0CD11CB7FCDA94F6018081992787FDCB -:10B4600090950F94200EF6018083B394E7CFFDE40E -:10B470008F0E911C40E050E0BA01C4010E944D348F -:10B48000512CCE0101966C018CEB682E8EE4782E47 -:10B490005E0191E2A90EB11C40E050E0B601C4018A -:10B4A0000E949A331816DCF5412CF6010190002019 -:10B4B000E9F73197EC19FD094E1674F41601240CC6 -:10B4C000311C47FC3A94F101808190E00F94200EEA -:10B4D000F10180834394E9CF8A858E37E9F245E014 -:10B4E00050E0B801C6010F94CF0E892BA9F61F9327 -:10B4F0000F937F926F92BF92AF920F94EC0EC501A3 -:10B500000E94996588EB9EE40E9419660F900F9047 -:10B510000F900F900F900F9055245394BDCF511062 -:10B5200004C08FEF9FEFF70104C0F7018081918184 -:10B53000019691838083C45ADF4F0FB6F894DEBF23 -:10B540000FBECDBFDF91CF911F910F91FF90EF9074 -:10B55000DF90CF90BF90AF909F908F907F906F9033 -:10B560005F904F903F902F9008950F931F93CF932C -:10B57000DF93EC018C0108511E4FC8010E94E63494 -:10B58000C8010E94303518821982DF91CF911F9136 -:10B590000F910895CF92DF92EF92FF920F931F9336 -:10B5A000CF93DF93CDB7DEB76F970FB6F894DEBFBA -:10B5B0000FBECDBF8C016A017C0188E6E80EF11C4C -:10B5C000C80186599F4FF70191838083E65CFD4F48 -:10B5D00022E030E03183208332967183608340E043 -:10B5E00050E0BA0104960E944D34F70180819181A8 -:10B5F0002BE1FC013496DE01159601900D922A95FF -:10B60000E1F7FC01828193819C838B8389EB9EE02F -:10B610009A8389839601AE014F5F5F4F6AE97EE0AE -:10B62000C80189D8CE0101960E9406536F960FB6C5 -:10B63000F894DEBF0FBECDBFDF91CF911F910F9168 -:10B64000FF90EF90DF90CF9008952F923F924F920E -:10B650005F926F927F928F929F92AF92BF92CF92A2 -:10B66000DF92EF92FF920F931F93CF93DF93CDB7AB -:10B67000DEB7AC970FB6F894DEBF0FBECDBF8C011E -:10B680006B01342EDC0113968C91882309F449C395 -:10B69000F801E551FE4F8081882309F4F5C021119E -:10B6A000C1C07801BDEFEB1AFB0AF7018081882346 -:10B6B00061F1E5E5F3E58491882341F09091C000C4 -:10B6C00095FFFCCF8093C6003196F5CFEEE4FFE402 -:10B6D0008491882341F09091C00095FFFCCF809326 -:10B6E000C6003196F5CF4AE050E061E070E08BE3B0 -:10B6F00097E10E9463DA8091C00085FFFCCF8AE069 -:10B700008093C6000E944D6F0CC3EFE4F3E5849173 -:10B71000882341F09091C00095FFFCCF8093C60034 -:10B720003196F5CFE5E3FFE48491882341F09091D1 -:10B73000C00095FFFCCF8093C6003196F5CFF6018F -:10B740008191882339F09091C00095FFFCCF8093C0 -:10B75000C600F6CFEAE2FFE48491882341F090919D -:10B76000C00095FFFCCF8093C6003196F5CFD7017E -:10B770008C91FDE8BF2EB801B89E600D711D11249B -:10B78000685F7D4FC801EFDAF7018081F801B89E4C -:10B79000E00DF11D1124E85FFD4F8191882339F000 -:10B7A0009091C00095FFFCCF8093C600F6CFE4E2F5 -:10B7B000FFE48491882341F09091C00095FFFCCF75 -:10B7C0008093C6003196F5CF5801F3E6AF1AFDEF2E -:10B7D000BF0AD5014D915D916D917C912AE030E0D9 -:10B7E0008BE397E10E948FDA8091C00085FFFCCF48 -:10B7F0008AE08093C600F7012081F80184E0289F49 -:10B80000E00DF11D1124EC5FFD4FD5014D915D91CF -:10B810006D917C9140835183628373832F5FF70125 -:10B8200020832CC0EFE4F3E58491882341F09091CC -:10B83000C00095FFFCCF8093C6003196F5CFE3E1C1 -:10B84000FFE48491882341F09091C00095FFFCCFE4 -:10B850008093C6003196F5CFF6018191882339F0A7 -:10B860009091C00095FFFCCF8093C600F6CF8091E9 -:10B87000C00085FFFCCF8AE08093C600C8018851D4 -:10B880009E4F0E94303530C0F801ED5FFD4F1082B1 -:10B89000EFE4F3E58491882341F09091C00095FF97 -:10B8A000FCCF8093C6003196F5CFE2E0FFE48491AF -:10B8B000882341F09091C00095FFFCCF8093C60093 -:10B8C0003196F5CFF6018191882339F09091C0002F -:10B8D00095FFFCCF8093C600F6CF8091C00085FF16 -:10B8E000FCCF8AE08093C600D80112961C92FE011C -:10B8F00031965F01CF010E94FC522801F8E64F0EFD -:10B90000511CC801875B9F4FD2018D939C93F60118 -:10B9100080818F3209F091C06FE270E0C6010F9410 -:10B92000B40E01967C01EAE02E2EE114F10409F434 -:10B930008AC06FE270E0C7010F94B40E4C0100970B -:10B9400009F482C0E816F90608F07EC03C016E18C2 -:10B950007F08A301B701CE0180960F94DD0EE0E2CF -:10B96000F0E0EC0FFD1FE60DF71D1082FE01B09612 -:10B970008191882339F09091C00095FFFCCF80938E -:10B98000C600F6CF8091C00085FFFCCF2092C60094 -:10B99000D2016D917C916115710519F06C5F7F4F3B -:10B9A00002C060E070E021E0AE01405E5F4FCE017A -:10B9B00005960E942737811138C0E091BB13F0E053 -:10B9C000EE0FFF1FE85DFD4F0190F081E02DE8567E -:10B9D000FE4F0190F081E02D8491882341F09091F9 -:10B9E000C00095FFFCCF8093C6003196F5CFFE01D5 -:10B9F000B0968191882339F09091C00095FFFCCFDB -:10BA00008093C600F6CFE0E0FFE48491882341F004 -:10BA10009091C00095FFFCCF8093C6003196F5CF82 -:10BA20008091C00085FFFCCF43C1F201B182A082AA -:10BA30007401FFEFEF1AFF0A78CFC80186599F4FB4 -:10BA4000D2018D939C937601F801E851FE4F4F018E -:10BA5000332009F4E5C0D2016D917C916115710527 -:10BA600019F06C5F7F4F02C060E070E021E0A70139 -:10BA7000C4010E9427372091BB13882309F49AC080 -:10BA8000F40181899289A389B489F801EB56FD4FAD -:10BA900080839183A283B383E22FF0E0EE0FFF1F38 -:10BAA000E85DFD4F0190F081E02DE656FE4F0190DC -:10BAB000F081E02D8491D801AB56BD4F882349F029 -:10BAC0009091C00095FFFCCF8093C6003196849181 -:10BAD000F5CFF7018191882339F09091C00095FF4F -:10BAE000FCCF8093C600F6CFE091BB13F0E0EE0FE1 -:10BAF000FF1FE85DFD4F0190F081E02DE456FE4F01 -:10BB00000190F081E02D8491882341F09091C00054 -:10BB100095FFFCCF8093C6003196F5CF4D915D9196 -:10BB20006D917C912AE030E08BE397E10E948FDAFF -:10BB30008091C00085FFFCCF8AE08093C600F801A9 -:10BB4000E356FD4F1082118212821382E091BB13E3 -:10BB5000F0E0EE0FFF1FE85DFD4F0190F081E02D5A -:10BB6000E256FE4F0190F081E02D8491882341F050 -:10BB70009091C00095FFFCCF8093C6003196F5CF21 -:10BB80008091C00085FFFCCF8AE08093C600A701AA -:10BB900060E070E0C801FEDCD80151968C918823EA -:10BBA00019F0C801419601C0C7010E940FAB84E89B -:10BBB0009DE0B2C0E22FF0E0EE0FFF1FE85DFD4F09 -:10BBC0000190F081E02DE856FE4F0190F081E02DCC -:10BBD0008491882341F09091C00095FFFCCF809321 -:10BBE000C6003196F5CFF7018191882339F0909105 -:10BBF000C00095FFFCCF8093C600F6CFEEEFFEE4C9 -:10BC00008491882341F09091C00095FFFCCF8093F0 -:10BC1000C6003196F5CF8091C00085FFFCCF48C0AB -:10BC2000F201608171816115710519F06C5F7F4FC0 -:10BC300002C060E070E026E5A701C4010E9427373A -:10BC400081113AC0E091BB13F0E0EE0FFF1FE85DF9 -:10BC5000FD4F0190F081E02DE856FE4F0190F081FC -:10BC6000E02D8491882341F09091C00095FFFCCF96 -:10BC70008093C6003196F5CFF7018191882339F082 -:10BC80009091C00095FFFCCF8093C600F6CFECEFFB -:10BC9000FEE48491882341F09091C00095FFFCCF91 -:10BCA0008093C6003196F5CF8091C00085FFFCCF10 -:10BCB0008AE08093C60032C081E0D8018C93E09185 -:10BCC000BB13F0E0EE0FFF1FE85DFD4F0190F08128 -:10BCD000E02DE056FE4F0190F081E02D8491882305 -:10BCE00041F09091C00095FFFCCF8093C600319643 -:10BCF000F5CFF6018191882339F09091C00095FF2E -:10BD0000FCCF8093C600F6CF8091C00085FFFCCFAA -:10BD10008AE08093C600C7010E940FABC5010E9454 -:10BD20000653AC960FB6F894DEBF0FBECDBFDF91C1 -:10BD3000CF911F910F91FF90EF90DF90CF90BF9028 -:10BD4000AF909F908F907F906F905F904F903F90BB -:10BD50002F90089521E0FC01218340E076CCCF9222 -:10BD6000DF92EF92FF920F931F93CF93DF93CDB7A4 -:10BD7000DEB76F970FB6F894DEBF0FBECDBF8C0154 -:10BD80006C0128E6C20ED11C86599F4FF6019183A3 -:10BD90008083E65CFD4F21E030E031832083780131 -:10BDA000FCE5EF1AFDEFFF0AF7011182108240E077 -:10BDB00050E0BA0104960E944D34F60180819181D1 -:10BDC0002BE1FC013496DE01159601900D922A9527 -:10BDD000E1F7FC01828193819C838B8389EB9EE058 -:10BDE0009A83898320E030E0AE014F5F5F4F6AE9BC -:10BDF0007EE0C8010E949B53CE0101960E9406532B -:10BE0000F701808191816F960FB6F894DEBF0FBE67 -:10BE1000CDBFDF91CF911F910F91FF90EF90DF90F9 -:10BE2000CF900895AF92BF92CF92DF92EF92FF92A0 -:10BE30000F931F93CF93DF93CDB7DEB76F970FB6F6 -:10BE4000F894DEBF0FBECDBF8C017B01CE01019601 -:10BE50000E94FC52F801EF58FF4F80816801811168 -:10BE600004C029E4C20ED11C03C08AE6C80ED11C4E -:10BE700021E0A701B6016C5F7F4FCE0105960E94BD -:10BE8000273781113AC0EFE4F3E58491882341F02C -:10BE90009091C00095FFFCCF8093C6003196F5CFFE -:10BEA000E091BB13F0E0EE0FFF1FE85DFD4F019046 -:10BEB000F081E02DE855FE4F0190F081E02D849156 -:10BEC000882341F09091C00095FFFCCF8093C6007D -:10BED0003196F5CFF7018191882339F09091C00018 -:10BEE00095FFFCCF8093C600F6CF8091C00085FF00 -:10BEF000FCCF8AE08093C60036C0F801E154FE4FC3 -:10BF0000808191818A30910530F59C012F5F3F4FF0 -:10BF1000318320832FE1289F7001299FF00C112489 -:10BF200029E8E20EF11CE00EF11E5C01B701C70129 -:10BF30004F960E94945581E0A81AB1082FE1E21AA9 -:10BF4000F1088FEFA816B80689F7B601C801875720 -:10BF50009F4F0E949455BE016F5F7F4FC801865965 -:10BF60009F4F0E949455CE0101960E9406536F96F2 -:10BF70000FB6F894DEBF0FBECDBFDF91CF911F91FA -:10BF80000F91FF90EF90DF90CF90BF90AF9008950A -:10BF9000EF92FF920F931F93CF93DF93EC01C15465 -:10BFA000DE4F2881398121153105F9F02150310901 -:10BFB000398328838C0107571F4FB80186599F4F3B -:10BFC0000E949455C80100E010E07C012FE1E20ED0 -:10BFD000F11C288139810217130738F40F5F1F4FB6 -:10BFE000B7010E949455C701F0CFDF91CF911F9107 -:10BFF0000F91FF90EF900895EF92FF920F931F9390 -:10C00000CF93DF93EC010E94B7E38E010D5F1D4FCC -:10C01000F80180819E0128513E4F79018823A1F1CA -:10C02000C9010E943035F801808181508083BE01B2 -:10C03000FDE88F9F600D711D1124685F7D4F21E029 -:10C0400041E0CE0102DBF8018081FE0124E0829F05 -:10C05000E00DF11D1124EC5FFD4F408151816281A3 -:10C060007381FE01E356FD4F4083518362837383E6 -:10C07000C7010E944D34CE01DF91CF911F910F91E6 -:10C08000FF90EF900C94A7560E943DE4C7010E94D8 -:10C0900030351A828CEA9EE4DF91CF911F910F9187 -:10C0A000FF90EF90C6C58FEF8EBD0DB407FEFDCF9C -:10C0B0008EB508958EBD0DB407FEFDCF089561E0E5 -:10C0C000FC0180810C94C3FDFC012281322F306A77 -:10C0D00036953CBD20FD06C031E0263009F430E045 -:10C0E000232F01C020E02DBD60E0FC0180810C9475 -:10C0F000C3FDCF92DF92EF92FF920F931F93CF93E6 -:10C10000DF93EC018B017A010E946AFE6B01CBDFA9 -:10C110008B838F3F49F40E946AFE6C197D096D3252 -:10C120007140A8F381E144C08E3F11F08FE040C020 -:10C13000E114F104D9F0C70101972FEF2EBDF801EA -:10C140004FEF9F01201B310B2817390738F40DB42E -:10C1500007FEFDCF2EB521934EBDF3CF0DB407FEE4 -:10C16000FDCF2EB5F801E80FF91F2083D801E00EAE -:10C17000F11EC12CD12CAE15BF0579F08D91ED2D9E -:10C18000FF27E827EE0FFF1FEF56F04B85919491A4 -:10C19000DC2CCC24C826D926EECF85DF082F10E072 -:10C1A000102F002780DF082BC016D10631F080E267 -:10C1B0008983CE0184DF80E003C0CE0180DF81E08F -:10C1C000DF91CF911F910F91FF90EF90DF90CF9073 -:10C1D00008950F931F93CF93DF93EB010E946AFEA4 -:10C1E0008B0161DF8F3F49F00E946AFE601B710B7B -:10C1F0006C177D07B0F380E001C081E0DF91CF9143 -:10C200001F910F910895CF92DF92FF920F931F938A -:10C21000CF93DF9300D01F92CDB7DEB76C01F62E1F -:10C2200029833A834B835C834FDF6CE271E0C60164 -:10C23000D0DF8F2D80643EDF08E110E05C814B8110 -:10C240003A812981DA01C901002E04C0B695A7956B -:10C25000979587950A94D2F729833A834B835C8319 -:10C2600029DF0850110929813A814B815C81083FFF -:10C270008FEF180739F7FF2029F0E8E0FE1621F0CC -:10C280008FEF03C085E901C087E814DFFCE0FF12EF -:10C2900001C009DF10E007DFF601838387FF04C0D8 -:10C2A0001F3F11F01F5FF7CF0F900F900F900F906F -:10C2B000DF91CF911F910F91FF90DF90CF90089564 -:10C2C000BF92CF92DF92EF92FF920F931F93CF9383 -:10C2D000DF93EC01B62E1C82198248830E946AFE0D -:10C2E0008B0161E088810E948AFDCE01E8DE60E07A -:10C2F00082E30E948AFD61E083E30E948AFD61E09F -:10C3000084E30E948AFD61E085E30E948AFD61E08A -:10C3100085E30E94C3FD85E08A8382E58CBD1DBC58 -:10C320006AE0F62E8FEFC6DEFA94E1F720E030E007 -:10C33000A90160E0CE0167DFF82E8B8381E0F8165B -:10C3400049F00E946AFE601B710B613D774070F3FB -:10C3500081E046C02AEA31E040E050E068E0CE01EA -:10C3600052DF82FF02C0FC820CC054E0F52E9BDE3F -:10C370008B83FA94E1F78A3A11F082E031C082E0CF -:10C380008C838C81823031F4C12CD12CE12C40E49F -:10C39000F42E03C0C12CD12C760120E030E0A9019D -:10C3A00067E3CE0130DFA701960169E2CE012BDF02 -:10C3B0008B83882349F00E946AFE601B710B613DEC -:10C3C000774058F38AE00CC08C818230B1F420E0D1 -:10C3D00030E0A9016AE3CE0116DF882329F088E066 -:10C3E0008983CE016CDE14C05EDE807C803C11F45B -:10C3F00083E08C8358DE57DE56DECE0160DE86E0B9 -:10C400008B1518F488E1898303C0BA8281E001C0EA -:10C4100080E0DF91CF911F910F91FF90EF90DF901F -:10C42000CF90BF900895AF92BF92CF92DF92EF92DC -:10C43000FF920F931F93CF93DF93EC016A017B016F -:10C4400089018C81833039F0F9E0CC0CDD1CEE1CC5 -:10C45000FF1CFA95D1F773E0B72EE4E0AE2EBA9444 -:10C46000A701960161E1CE01CEDE882311F0A982F9 -:10C4700007C040E052E0B801CE013BDE81110EC0A2 -:10C48000CE01BB2049F01BDE20E030E0A9016CE0CA -:10C49000CE01B9DE1982E3CF12DE80E0DF91CF91C9 -:10C4A0001F910F91FF90EF90DF90CF90BF90AF90D2 -:10C4B0000895CF93DF93EC016EBD20E030E00DB422 -:10C4C00007FEFDCFFA01E20FF31F80818EBD0DB490 -:10C4D00007FEFDCF81818EBD2E5F3F4F211582E08B -:10C4E000380769F70DB407FEFDCF8FEFE3DD8FEF5F -:10C4F000E1DDD9DD8B838F71853031F083E1898374 -:10C50000CE01DDDD80E001C081E0DF91CF910895B3 -:10C510000F931F93CF93DF93EC0189018C818330BC -:10C5200039F0B9E0440F551F661F771FBA95D1F750 -:10C530009A01AB0168E1CE0166DE882311F086E046 -:10C540001EC0A8016EEFCE01B4DF8823C9F068E5F4 -:10C5500072E0CE013EDE182F811102C087E10FC0CC -:10C5600020E030E0A9016DE0CE014DDE811106C072 -:10C570009ADD811103C0CE01A2DD05C086E1898369 -:10C58000CE019DDD10E0812FDF91CF911F910F91A2 -:10C590000895FC016591759185919491089580911C -:10C5A000190C90911A0CA0911B0CB0911C0C80934B -:10C5B000541390935513A0935613B093571380912F -:10C5C000550C9091560C9093C3138093C21384E63C -:10C5D00090E09093560C8093550C0E946AFE6093F5 -:10C5E000B3117093B4118093B5119093B61181E09B -:10C5F0000C9437DC80E00E9437DC809154139091DA -:10C600005513A0915613B09157138093190C909322 -:10C610001A0CA0931B0CB0931C0C8091C213909128 -:10C62000C3139093560C8093550C0E946AFE60933E -:10C63000B3117093B4118093B5119093B61108950E -:10C64000AF92BF92CF92DF92EF92FF920F931F9320 -:10C65000CF93DF9300D01F92CDB7DEB78FE5A82E22 -:10C660008CE0B82EF50160817181828193816093A5 -:10C67000190C70931A0C80931B0C90931C0CC12CFA -:10C68000D12C20E2E22E21ECF22EC982DA82EB825A -:10C69000FC8220E030E040E752E40F94240539E8C2 -:10C6A000C32E33E1D32E7B018C0129EA33E1AE01A5 -:10C6B0004F5F5F4F61EA73E18DE993E10E943AEFCA -:10C6C0000E94B7E382E00E9421E469837A838B832E -:10C6D0009C8329EA33E1AE014F5F5F4F61EA73E16A -:10C6E0008DE993E10E9448F98BE193E552DF9B01CC -:10C6F000AC0169817A818B819C810F9444046983A8 -:10C700007A838B839C8320E030E040E752E46091A1 -:10C71000190C70911A0C80911B0C90911C0C0F94A9 -:10C7200024057B018C0129EA33E1AE014F5F5F4FA5 -:10C7300061EA73E18DE993E10E943AEF0E94B7E369 -:10C7400020E030E040E85EE3F501608171818281A4 -:10C7500093810F94F2076B017C016093190C709325 -:10C760001A0C80931B0C90931C0C8BE193E511DF4A -:10C770009B01AC010F9444049B01AC0169817A8157 -:10C780008B819C810F94430469837A838B839C8380 -:10C7900020E030E040E752E4C701B6010F942405E1 -:10C7A00049E8C42E43E1D42E7B018C0129EA33E110 -:10C7B000AE014F5F5F4F61EA73E18DE993E10E9443 -:10C7C0003AEF0E94B7E382E00E9421E46093A51350 -:10C7D0007093A6138093A7139093A81329EA33E1CB -:10C7E00045EA53E161EA73E18DE993E10E9448F97A -:10C7F0000F900F900F900F90DF91CF911F910F919D -:10C80000FF90EF90DF90CF90BF90AF9008952F9260 -:10C810003F924F925F926F927F928F929F92AF92D0 -:10C82000BF92CF92DF92EF92FF920F931F93CF931D -:10C83000DF9300D000D0CDB7DEB71C01FC01E05F74 -:10C84000FC4A14919C01220F331F220F331F3E8399 -:10C850002D8323563C4E4901F90110821182128228 -:10C86000138229EA33E145EA53E161EA73E18DE994 -:10C8700093E10E9448F98D819E81815E9C4A89DE08 -:10C880006B017C01612F772767FD7095872F972FAC -:10C890000F94BF052B013C012D813E8128593C4E50 -:10C8A000590120E030E040EC5FE3C701B6010F948E -:10C8B000F207A30192010F94F207F50160837183DF -:10C8C000828393832D813E81295A334F3C832B836E -:10C8D000F90160817181828193816093190C709359 -:10C8E0001A0C80931B0C90931C0C20E030E040E766 -:10C8F00052E40F942405E9E8CE2EE3E1DE2E7B011D -:10C900008C0124E733E140E753E16CE673E188E60C -:10C9100093E10E943AEF0E94B7E3F4011082118282 -:10C920001282138229EA33E145EA53E161EA73E1B5 -:10C930008DE993E10E9448F92D813E812D5E3C4AAC -:10C940003A832983C90125DE9058A30192010F94EF -:10C95000F207F501608371838283938320E030E0E6 -:10C9600040E752E46091190C70911A0C80911B0CF5 -:10C9700090911C0C0F9424057B018C0124E733E17A -:10C9800040E753E16CE673E188E693E10E943AEFF9 -:10C990000E94B7E389819A81FCDD9B01AC010F9471 -:10C9A0004404A30192010F94F207F501608371839F -:10C9B0008283938320E030E040E05FE3EB81FC8101 -:10C9C00060817181828193810F94F2076093190CC9 -:10C9D00070931A0C80931B0C90931C0C20E030E099 -:10C9E00040E752E40F9424057B018C0124E733E1F6 -:10C9F00040E753E16CE673E188E693E10E943AEF89 -:10CA00000E94B7E38D819E81855D9C4AC2DD0D81C8 -:10CA10001E810F561C4EF8012081318142815381C5 -:10CA20000F944404F40160837183828393838D8126 -:10CA30009E818D5B9C4AADDD2D813E81255C334F0F -:10CA40007901F80120813181428153810F9444049E -:10CA5000F70160837183828393838D819E81895CDA -:10CA60009C4A97DD2D813E81215D334F7901F8018C -:10CA700020813181428153810F944404F701608306 -:10CA8000718382839383F40180819181A281B38138 -:10CA9000F50180839183A283B3831092190C1092C5 -:10CAA0001A0C10921B0C10921C0C0E9430DCF1012D -:10CAB000E257FC4E81E0808326960FB6F894DEBFE5 -:10CAC0000FBECDBFDF91CF911F910F91FF90EF90DF -:10CAD000DF90CF90BF90AF909F908F907F906F909E -:10CAE0005F904F903F902F900895FC012491222356 -:10CAF00041F03091C00035FFFCCF2093C600019675 -:10CB0000F4CF22E030E08BE397E10C9439DBFC01B9 -:10CB10002491222341F03091C00035FFFCCF2093B7 -:10CB2000C6000196F4CF2AE030E08BE397E10C9445 -:10CB30008FDA2091BD113091BE11243031050CF0F7 -:10CB400077C04091BF115091C01160E6649F900181 -:10CB5000659F300D1124BC01C90189539E4E0F946D -:10CB6000C80EEFE4F3E58491882341F09091C00072 -:10CB700095FFFCCF8093C6003196F5CFE091BB13B3 -:10CB8000F0E0EE0FFF1FE85DFD4F0190F081E02D1A -:10CB9000E45DFE4F0190F081E02D8491882341F007 -:10CBA0009091C00095FFFCCF8093C6003196F5CFE1 -:10CBB0008091BF119091C01120E6289FF001299F1C -:10CBC000F00D1124E953FE4E8191882339F09091A4 -:10CBD000C00095FFFCCF8093C600F6CFEEE0F3E5F2 -:10CBE0008491882341F09091C00095FFFCCF809301 -:10CBF000C6003196F5CF8091C00085FFFCCF8AE05A -:10CC00008093C6008091BF119091C011019664E09D -:10CC100070E00F94E8089093C0118093BF11809149 -:10CC2000BD119091BE1101969093BE118093BD11DC -:10CC300008952091BD113091BE11243031050CF0C2 -:10CC400077C04091BF115091C01160E6649F900180 -:10CC5000659F300D1124BC01C90189539E4E0F946C -:10CC6000280EEFE4F3E58491882341F09091C00011 -:10CC700095FFFCCF8093C6003196F5CFE091BB13B2 -:10CC8000F0E0EE0FFF1FE85DFD4F0190F081E02D19 -:10CC9000E45DFE4F0190F081E02D8491882341F006 -:10CCA0009091C00095FFFCCF8093C6003196F5CFE0 -:10CCB0008091BF119091C01120E6289FF001299F1B -:10CCC000F00D1124E953FE4E8191882339F09091A3 -:10CCD000C00095FFFCCF8093C600F6CFECE0F3E5F3 -:10CCE0008491882341F09091C00095FFFCCF809300 -:10CCF000C6003196F5CF8091C00085FFFCCF8AE059 -:10CD00008093C6008091BF119091C011019664E09C -:10CD100070E00F94E8089093C0118093BF11809148 -:10CD2000BD119091BE1101969093BE118093BD11DB -:10CD300008959B9AA3980895FCDF40E052EC61E0CF -:10CD400070E08BE397E10E9447D9E6E0F3E5849138 -:10CD5000882341F09091C00095FFFCCF8093C600DE -:10CD60003196F5CF8091C00085FFFCCF8AE080939B -:10CD7000C6002FE433E5F9018491882341F09091B6 -:10CD8000C00095FFFCCF8093C6003196F5CF84B7E5 -:10CD900080FF20C0A091BB13B0E0AA0FBB1FA85D0D -:10CDA000BD4FED91FC91E25DFE4F0190F081E02DD1 -:10CDB0009491992341F04091C00045FFFCCF90939E -:10CDC000C6003196F5CF9091C00095FFFCCF9AE058 -:10CDD0009093C60081FF20C0A091BB13B0E0AA0FC2 -:10CDE000BB1FA85DBD4FED91FC91E05DFE4F019032 -:10CDF000F081E02D9491992341F04091C00045FFCE -:10CE0000FCCF9093C6003196F5CF9091C00095FF6E -:10CE1000FCCF9AE09093C60082FF20C0A091BB1384 -:10CE2000B0E0AA0FBB1FA85DBD4FED91FC91EE5C79 -:10CE3000FE4F0190F081E02D9491992341F04091B3 -:10CE4000C00045FFFCCF9093C6003196F5CF90917E -:10CE5000C00095FFFCCF9AE09093C60083FF20C0EE -:10CE6000A091BB13B0E0AA0FBB1FA85DBD4FED9111 -:10CE7000FC91EC5CFE4F0190F081E02D94919923A0 -:10CE800041F04091C00045FFFCCF9093C600319621 -:10CE9000F5CF9091C00095FFFCCF9AE09093C6002B -:10CEA00085FF20C0A091BB13B0E0AA0FBB1FA85DF7 -:10CEB000BD4FED91FC91EA5CFE4F0190F081E02DB9 -:10CEC0008491882341F09091C00095FFFCCF80931E -:10CED000C6003196F5CF8091C00085FFFCCF8AE077 -:10CEE0008093C60014BEF9018491EFE4F3E5882332 -:10CEF00049F09091C00095FFFCCF8093C600319619 -:10CF00008491F5CFA091BB13B0E0AA0FBB1FA85D21 -:10CF1000BD4FED91FC91E65CFE4F0190F081E02D5C -:10CF20008491882341F09091C00095FFFCCF8093BD -:10CF3000C6003196F5CFE1EFF2E58491882341F008 -:10CF40009091C00095FFFCCF8093C6003196F5CF3D -:10CF5000A091BB13B0E0AA0FBB1FA85DBD4FED9120 -:10CF6000FC91E85CFE4F0190F081E02D4491442358 -:10CF700041F05091C00055FFFCCF4093C600319660 -:10CF8000F5CFEAEDF2E58491882341F09091C0005D -:10CF900095FFFCCF8093C6003196F5CF8091C000FD -:10CFA00085FFFCCF8AE08093C600EFECF2E5849128 -:10CFB000882341F09091C00095FFFCCF8093C6007C -:10CFC0003196F5CFE3ECF2E58491882341F090911E -:10CFD000C00095FFFCCF8093C6003196F5CF8091BD -:10CFE000C00085FFFCCF8AE08093C600F901249140 -:10CFF000EFE4F3E5222349F08091C00085FFFCCFE8 -:10D000002093C60031962491F5CFE091BB13F0E058 -:10D01000EE0FFF1FE85DFD4F0190F081E02DE45C15 -:10D02000FE4F0190F081E02D8491882341F0909192 -:10D03000C00095FFFCCF8093C6003196F5CF0E94CB -:10D0400038E74AE050E0BC018BE397E10E9463DAE5 -:10D05000E091BB13F0E0EE0FFF1FE85DFD4F019084 -:10D06000F081E02DE25CFE4F0190F081E02D849193 -:10D07000882341F09091C00095FFFCCF8093C600BB -:10D080003196F5CF4AE050E060ED74E08BE397E134 -:10D090000E9463DA8091C00085FFFCCF8AE0809314 -:10D0A000C6001092C3111092C4111092C5111092B3 -:10D0B000C6110E946AD70E943CD30E949A400E94E7 -:10D0C000EAEE0E9429E60E9476AD489913C0FFEF70 -:10D0D00023ED80E3F15020408040E1F700C00000E4 -:10D0E000489911C06A9A729A0E94EAAA489BFECF98 -:10D0F000729809C09FEFE3EDF0E39150E040F040FB -:10D10000E1F700C00000159808958091B711909143 -:10D11000B81160E070E001960D947F0B8091B7111B -:10D120009091B8114AE050E060E070E001960D94F3 -:10D13000E70C682F772767FD70952091C11130911A -:10D14000C21140E6429FC001439F900D11248953B4 -:10D150009E4E0F94B40E9093B8118093B71121E0B6 -:10D16000892B09F420E0822F08950E946AFE6093C3 -:10D17000B3117093B4118093B5119093B6110895C3 -:10D180000E946AFE6093B3117093B4118093B5113D -:10D190009093B611E091C111F091C211ED53FE4E82 -:10D1A0008081811121C0E091BB13F0E0EE0FFF1FE1 -:10D1B000E85DFD4F0190F081E02DE05CFE4F0190B5 -:10D1C000F081E02D8491882341F09091C00095FF7B -:10D1D000FCCF8093C6003196F5CF8091C00085FFCB -:10D1E000FCCF8AE08093C60008958BE397E10E940C -:10D1F00099D9E091BB13F0E0EE0FFF1FE85DFD4F02 -:10D200000190F081E02DE059FE4F0190F081E02D7A -:10D210008491882341F09091C00095FFFCCF8093CA -:10D22000C6003196F5CF40914C1350914D1360914B -:10D230004E1370914F134F5F5F4F6F4F7F4F2AE038 -:10D2400030E08BE397E10E9438DA8091C00085FFDF -:10D25000FCCF8AE08093C60093CF8F929F92AF92CB -:10D26000BF92CF92DF92EF92FF920F931F93CF93D3 -:10D27000DF9348E2E42E4EE0F42E0DE913E1C8E618 -:10D28000D3E154ECC52E53E1D52EF70181917F01F6 -:10D2900050DF882311F139DF4B015C01F6018081F9 -:10D2A000811103C06091471301C061E070E080E02C -:10D2B00090E00F94BF05F8012081318142815381B4 -:10D2C0000F94F2079B01AC01C501B4010F94440413 -:10D2D000688379838A839B8309C0F8018081918167 -:10D2E000A281B38188839983AA83BB830C5F1F4F7C -:10D2F0002496FFEFCF1ADF0A8CE2E8168EE0F806DC -:10D3000021F686E416DF8823D1F0FFDE6B017C0175 -:10D31000609358137093591380935A1390935B132F -:10D3200020E030E0A9010F942007181644F4C092C1 -:10D33000190CD0921A0CE0921B0CF0921C0CDF918D -:10D34000CF911F910F91FF90EF90DF90CF90BF9002 -:10D35000AF909F908F90089580DF89E4EADE882364 -:10D3600051F0D3DE60935C1370935D1380935E1372 -:10D3700090935F1308C010925C1310925D1310928B -:10D380005E1310925F138AE4D4DE882351F0BDDE71 -:10D39000609360137093611380936213909363138F -:10D3A00008951092601310926113109262131092FC -:10D3B00063130895CF92DF92EF92FF92CF93DF93A2 -:10D3C000EC01C0903B0CD0903C0CE0903D0CF090F8 -:10D3D0003E0CA7019601688179818A819B810F9417 -:10D3E0001D0587FF04C0C882D982EA82FB82C090F3 -:10D3F0003F0CD090400CE090410CF090420CA70103 -:10D4000096016C817D818E819F810F941D0587FF20 -:10D4100004C0CC82DD82EE82FF8220E030E0A901F0 -:10D420006091430C7091440C8091450C9091460C96 -:10D430000F9444046B017C019B01AC0168857985E4 -:10D440008A859B850F941D0587FF04C0C886D986F1 -:10D45000EA86FB86C0902F0CD090300CE090310C07 -:10D46000F090320CA7019601688179818A819B81B5 -:10D470000F942007181624F4C882D982EA82FB820E -:10D48000C090330CD090340CE090350CF090360CFA -:10D49000A70196016C817D818E819F810F94200769 -:10D4A000181624F4CC82DD82EE82FF82C090370C05 -:10D4B000D090380CE090390CF0903A0CA70196010E -:10D4C000688579858A859B850F942007181624F432 -:10D4D000C886D986EA86FB86DF91CF91FF90EF90D0 -:10D4E000DF90CF9008952F923F924F925F926F926C -:10D4F0007F928F929F92AF92BF92CF92DF92EF92E4 -:10D50000FF920F931F93CF93DF93CDB7DEB7AF9703 -:10D510000FB6F894DEBF0FBECDBF9BA38AA37DA339 -:10D520006CA35FA34EA339A728A71BA70AA7E98A64 -:10D53000DC016D917D918D919C9120919D13309195 -:10D540009E1340919F135091A013ECA1FDA18080E8 -:10D550009180A280B3804090A1135090A21360905C -:10D56000A3137090A413AEA1BFA1ED90FD900D91F7 -:10D570001C91EA8AFB8A0C8B1D8BE090A513F0901E -:10D58000A6130091A7131091A813EE8EFF8E08A387 -:10D5900019A3E0910C18E11135C0AAA5BBA5ED9027 -:10D5A000FD900D911C91FE0171966F0128A539A582 -:10D5B0004EA15FA16CA17DA18AA19BA10E943AEF1F -:10D5C00080E1E8E6F3E1ADE9B3E101900D928A95DF -:10D5D000E1F7AF960FB6F894DEBF0FBECDBFDF9177 -:10D5E000CF911F910F91FF90EF90DF90CF90BF9060 -:10D5F000AF909F908F907F906F905F904F903F90F3 -:10D600002F9008950F9443046E8B7F8B888F998F92 -:10D6100020E030E0A9010F942007CE88DF88E88C55 -:10D62000F98C181624F0F7FAF094F7F8F094A301A7 -:10D630009201C501B4010F9443046A8F7B8F8C8FD4 -:10D640009D8F20E030E0A9010F9420078A8C9B8CED -:10D65000AC8CBD8C181624F0B7FAB094B7F8B0941F -:10D660002E8D3F8D48A159A16A897B898C899D891E -:10D670000F9443042B013C01A5019401C701B6019D -:10D680000F9444046B017C0120E030E0A901C30148 -:10D69000B2010F942007A301920118160CF0505804 -:10D6A000C701B6010F9444046B017C0120E030E017 -:10D6B000A9010F94200718160CF06FCF20E030E07E -:10D6C00040EF51E4C701B6010F9424050F94FA0509 -:10D6D0000F948C057B8B6A8B8B01623071050CF487 -:10D6E0005CCF2091A9133091AA134091AB135091B4 -:10D6F000AC13A8A5B9A56D917D918D919C910F94C6 -:10D7000043046E8F7F8F88A399A322242394312C06 -:10D7100078010027F7FC0095102FECA6FDA60EA7B8 -:10D720001FA7B101882777FD8095982F0F94BF051B -:10D730006B017C016CA57DA58EA59FA50F94BF05EF -:10D740009B01AC01C701B6010F9424056B017C015C -:10D75000AAA5BBA58D909D90AD90BC902E8D3F8DC0 -:10D7600048A159A10F94F2079B01AC016091A91344 -:10D770007091AA138091AB139091AC130F94440451 -:10D7800069837A838B839C83A3019201C701B601CD -:10D790000F94F2079B01AC016091A5137091A61341 -:10D7A0008091A7139091A8130F9444046D837E83F6 -:10D7B0008F8398872A8D3B8D4C8D5D8DC701B60177 -:10D7C0000F94F2079B01AC016091A1137091A21319 -:10D7D0008091A3139091A4130F94440469877A87CE -:10D7E0008B879C872E893F89488D598DC701B6014B -:10D7F0000F94F2079B01AC0160919D1370919E13F1 -:10D8000080919F139091A0130F9444046D877E879D -:10D810008F87988BFE0171966F01850174019E01BF -:10D820002F5F3F4FAE014B5F5F4FBE01675F7F4F82 -:10D83000CE010D960E943AEFFFEF2F1A3F0AEA88B9 -:10D84000FB882E143F0409F06CCFA7CEEF920F9304 -:10D850001F93CF93DF9300D01F92CDB7DEB788E63A -:10D8600093E1A8DD0E946AFE6093B3117093B41136 -:10D870008093B5119093B61120916813309169137C -:10D8800040916A1350916B1360919D1370919E1398 -:10D8900080919F139091A0130F941D05E090891320 -:10D8A00081117CC020916C1330916D1340916E13E7 -:10D8B00050916F136091A1137091A2138091A313E3 -:10D8C0009091A4130F941D05811168C020E030E0F1 -:10D8D00040E752E46091190C70911A0C80911B0C76 -:10D8E00090911C0C0F94240569837A838B839C830D -:10D8F0008E010F5F1F4F24E733E140E753E16CE6F1 -:10D9000073E188E693E1EFDD8091681390916913EC -:10D91000A0916A13B0916B1380939D1390939E1303 -:10D92000A0939F13B093A01380916C1390916D13EB -:10D93000A0916E13B0916F138093A1139093A213D3 -:10D94000A093A313B093A4138091701390917113BB -:10D95000A0917213B09173138093A5139093A613A3 -:10D96000A093A713B093A81380917413909175138B -:10D97000A0917613B09177138093A9139093AA1373 -:10D98000A093AB13B093AC130F900F900F900F9028 -:10D99000DF91CF911F910F91EF9008956091550CF9 -:10D9A0007091560C882777FD8095982F0F94BF05AE -:10D9B0002091190C30911A0C40911B0C50911C0CA9 -:10D9C0000F94F20720E030E040E752E40F94240582 -:10D9D00020E030E048EC52E485CFCF92DF92EF9226 -:10D9E000FF92CF93C62FE0918913F0E0882309F4CA -:10D9F000C2C0DF01AB57BC4E8C91811196C18091A2 -:10DA00009D1390919E13A0919F13B091A0138093AA -:10DA1000681390936913A0936A13B0936B1380916A -:10DA2000A1139091A213A091A313B091A41380937A -:10DA30006C1390936D13A0936E13B0936F1380913A -:10DA4000A5139091A613A091A713B091A81380934A -:10DA5000701390937113A0937213B0937313C090CB -:10DA6000A913D090AA13E090AB13F090AC13C0921E -:10DA70007413D0927513E0927613F0927713EE0F31 -:10DA8000FF1FEE0FFF1FE95BF34F208131814281C1 -:10DA90005381662349F06091270C7091280C809186 -:10DAA000290C90912A0C08C060912B0C70912C0CC1 -:10DAB00080912D0C90912E0C0F9424059B01AC01AC -:10DAC000C701B6010F9444046093A9137093AA137D -:10DAD0008093AB139093AC1389EA93E10E941CFAF4 -:10DAE000C090190CD0901A0CE0901B0CF0901C0CFC -:10DAF00020E030E040E752E46091230C7091240C68 -:10DB00008091250C9091260C0F94F2076093190CCC -:10DB100070931A0C80931B0C90931C0CE09189134A -:10DB2000F0E0EB57FC4E81E0808390DE2091811382 -:10DB30003091821340918313509184136091A51307 -:10DB40007091A6138091A7139091A8130F9443048A -:10DB50006093A5137093A6138093A7139093A813B3 -:10DB600029EA33E145EA53E161EA73E18DE993E1A2 -:10DB70000E9448F9D1C0EB57FC4E8081882309F4FC -:10DB8000D4C080919D1390919E13A0919F13B0914A -:10DB9000A0138093681390936913A0936A13B093B2 -:10DBA0006B138091A1139091A213A091A313B09134 -:10DBB000A41380936C1390936D13A0936E13B09382 -:10DBC0006F136091A5137091A6138091A713909184 -:10DBD000A8136093701370937113809372139093D2 -:10DBE0007313C090A913D090AA13E090AB13F090D8 -:10DBF000AC13C0927413D0927513E0927613F09226 -:10DC000077132091811330918213409183135091A7 -:10DC100084130F9444046093A5137093A613809308 -:10DC2000A7139093A81329EA33E145EA53E161EA87 -:10DC300073E18DE993E10E9448F9F0908913CC23B8 -:10DC400089F02091791330917A1340917B13509190 -:10DC50007C136091270C7091280C8091290C909175 -:10DC60002A0C10C020917D1330917E1340917F13B8 -:10DC70005091801360912B0C70912C0C80912D0C85 -:10DC800090912E0C0F94440424E0F29EF001112494 -:10DC9000E95BF34F20813181428153810F94240548 -:10DCA0009B01AC016091A9137091AA138091AB13F1 -:10DCB0009091AC130F9443046093A9137093AA132B -:10DCC0008093AB139093AC1389EA93E10E941CFA02 -:10DCD000C090190CD0901A0CE0901B0CF0901C0C0A -:10DCE00020E030E040E752E460911F0C7091200C7E -:10DCF0008091210C9091220C0F94F2076093190CE3 -:10DD000070931A0C80931B0C90931C0CE091891358 -:10DD1000F0E0EB57FC4E108299DDC092190CD092C6 -:10DD20001A0CE0921B0CF0921C0CCF91FF90EF901C -:10DD3000DF90CF900895AF92BF92CF92DF92EF9293 -:10DD4000FF920F931F93CF93DF93D82F20916013EF -:10DD500030916113409162135091631360915C1391 -:10DD600070915D1380915E1390915F130F942D0756 -:10DD7000C62F172F082FF92E6091550C7091560C55 -:10DD8000882777FD8095982F0F94BF052091190C57 -:10DD900030911A0C40911B0C50911C0C0F94F207FF -:10DDA00020E030E040E752E40F94240520E030E02A -:10DDB00048EC52E40F942405209189132F93DF93AC -:10DDC000FF920F931F93CF935B016C01E2E0EE2E65 -:10DDD00001E020E04CE553E168E673E18DE993E171 -:10DDE0000E948A4F8091681390916913A0916A13E1 -:10DDF000B0916B1380939D1390939E13A0939F13E8 -:10DE0000B093A01380916C1390916D13A0916E1339 -:10DE1000B0916F138093A1139093A213A093A313B7 -:10DE2000B093A4138091701390917113A091721309 -:10DE3000B09173138093A5139093A613A093A71387 -:10DE4000B093A8138091741390917513A0917613D9 -:10DE5000B09177138093A9139093AA13A093AB1357 -:10DE6000B093AC130E946AFE6093B3117093B41127 -:10DE70008093B5119093B6110F900F900F900F9063 -:10DE80000F900F90DF91CF911F910F91FF90EF9026 -:10DE9000DF90CF90BF90AF900895F8940E945B41BF -:10DEA000179A10928E13169A10928F13149A60E09C -:10DEB00087E40E948AFDE5E5F3E58491882341F03B -:10DEC0009091C00095FFFCCF8093C6003196F5CFAE -:10DED000E091BB13F0E0EE0FFF1FE85DFD4F0190F6 -:10DEE000F081E02DE459FE4F0190F081E02D849106 -:10DEF000882341F09091C00095FFFCCF8093C6002D -:10DF00003196F5CF8091C00085FFFCCF8AE08093E9 -:10DF1000C600E091BB13F0E0EE0FFF1FE85DFD4F80 -:10DF20000190F081E02DE653FF4F808191810E94A6 -:10DF300013AD7894C6E0D0E02197209749F068ECC3 -:10DF400070E080E090E00E9499FE0E94A2ADF4CFC4 -:10DF5000F894FFCF0E945B418091A111811151C0C3 -:10DF600081E08093A11180914C1390914D13A09169 -:10DF70004E13B0914F138093481390934913A0937D -:10DF80004A13B0934B13E5E5F3E58491882341F000 -:10DF90009091C00095FFFCCF8093C6003196F5CFDD -:10DFA000E091BB13F0E0EE0FFF1FE85DFD4F019025 -:10DFB000F081E02DE259FE4F0190F081E02D849137 -:10DFC000882341F09091C00095FFFCCF8093C6005C -:10DFD0003196F5CF8091C00085FFFCCF8AE0809319 -:10DFE000C600E091BB13F0E0EE0FFF1FE85DFD4FB0 -:10DFF0000190F081E02DE453FF4F808191810C94DA -:10E000001CAB08958091A1110895CF93DF93EC018B -:10E01000809189138093A21184E58BD8811102C06D -:10E0200080E0B7C072D80F9491056093A211662367 -:10E03000B9F3EFE4F3E58491882341F09091C000B7 -:10E0400095FFFCCF8093C6003196F5CFCD36D10534 -:10E0500009F454C0BCF4C836D10561F1C936D10504 -:10E0600009F087C0E091BB13F0E0EE0FFF1FE85D01 -:10E07000FD4F0190F081E02DEC5AFE4F0190F081B0 -:10E08000E02D38C0CA3DD10509F451C0CD3DD105C0 -:10E0900009F06FC0E091BB13F0E0EE0FFF1FE85DE9 -:10E0A000FD4F0190F081E02DE65AFE4F0190F08186 -:10E0B000E02D5CC0E091BB13F0E0EE0FFF1FE85DC8 -:10E0C000FD4F0190F081E02DEE5AFE4F0190F0815E -:10E0D000E02D8191882309F44CC09091C00095FFF8 -:10E0E000FCCF8093C600F5CF9091C00095FFFCCF88 -:10E0F0008093C60081918111F7CF3BC0E091BB13A3 -:10E10000F0E0EE0FFF1FE85DFD4F0190F081E02D84 -:10E11000E25AFE4F0190F081E02D8191882349F170 -:10E120009091C00095FFFCCF8093C600F6CFE091A0 -:10E13000BB13F0E0EE0FFF1FE85DFD4F0190F08193 -:10E14000E02DE85AFE4F0190F081E02D8191882367 -:10E1500081F09091C00095FFFCCF8093C600F6CF70 -:10E160009091C00095FFFCCF8093C60081918111F2 -:10E17000F7CF40E050E06091A2118BE397E10E945D -:10E180009ADA8091C00085FFFCCF8AE08093C600B8 -:10E1900081E0DF91CF9108954F925F926F927F92CD -:10E1A0008F929F92AF92BF92CF92DF92EF92FF92A7 -:10E1B000CF93DF9300D01F92CDB7DEB72B013C0188 -:10E1C00029833A834B835C838DEE9FE00F94081183 -:10E1D0008F3F01F58EEE9FE00F9408118F3FD1F431 -:10E1E0008FEE9FE00F9408118F3FA1F480EF9FE026 -:10E1F0000F9408118F3F71F440E050E0BA018DEEAA -:10E200009FE00F94151140E050E0BA0181EF9FE0CC -:10E210000F94151181EF9FE00F9410114B015C01D9 -:10E220008DEE9FE00F9410116B017C0169817A8162 -:10E230008B819C812CE330E040E050E00F94FB08A0 -:10E24000C20ED31EE41EF51EB701A6018DEE9FE09F -:10E250000F941511C301B20128EE33E040E050E005 -:10E260000F94FB08BA01A901480D591D6A1D7B1DB9 -:10E2700081EF9FE00F9415111092B7131092B8130D -:10E280001092B9131092BA130F900F900F900F9035 -:10E29000DF91CF91FF90EF90DF90CF90BF90AF9044 -:10E2A0009F908F907F906F905F904F9008952F92E6 -:10E2B0003F924F925F926F927F928F929F92AF9216 -:10E2C000BF92CF92DF92EF92FF920F931F93CF9363 -:10E2D000DF93CDB7DEB76E970FB6F894DEBF0FBEF3 -:10E2E000CDBF30E6B32E44E0E42EF12C5AE0952E5B -:10E2F0006AE0C62ED12CAA24A3948091BC179091D9 -:10E30000BD172091BE173091BF17821B930B8F77DB -:10E310009927892B39F08091BD119091BE110497F6 -:10E320000CF448C08091D013882309F4E7C380918E -:10E33000BA119091BB11892B09F0E0C38091BD11F6 -:10E340009091BE11892B11F410929F11F8EE2F2E8F -:10E35000F3E03F2E412C512CACE38A2E912CA12CC2 -:10E36000B12C8E010F5F1F4FE0E66E2E7724739461 -:10E3700040916B1650916C1660916D1670916E16EF -:10E380008091631690916416A0916516B0916616FF -:10E39000481759076A077B0708F0B0C38091BD1181 -:10E3A0009091BE1104970CF0A9C380919F11811127 -:10E3B000A5C36FC28BE397E10E947DD98093BC1106 -:10E3C0002091BA113091BB118A3061F08D3051F03B -:10E3D0008A3321F49091B911992321F02F35310519 -:10E3E0000CF450C12115310509F46AC18091BF11A7 -:10E3F0009091C011B89E3001B99E700C1124F301A8 -:10E40000E20FF31FE953FE4E10822091B911211142 -:10E4100034C11092B911FC01ED53FE4E10828301FC -:10E4200009531E4E6EE470E0C8010F94B40E0097BD -:10E43000F1F19093B8118093B711801B910B860D69 -:10E44000971D4AE050E060E070E088539E4E0F94C4 -:10E45000E70C609350137093511380935213909371 -:10E46000531340904C1350904D1360904E13709086 -:10E470004F132FEF421A520A620A720A0091BF111B -:10E480001091C011641575058605970509F41BC127 -:10E49000B09EC001B19E900D11246AEB72E58953C4 -:10E4A0009E4E0F945F0E892B09F00DC1B8C16AE230 -:10E4B00070E0C8010F94B40E892B09F451C0E5E552 -:10E4C000F3E58491882341F09091C00095FFFCCF43 -:10E4D0008093C6003196F5CFE091BB13F0E0EE0FCC -:10E4E000FF1FE85DFD4F0190F081E02DE65BFE4FE0 -:10E4F0000190F081E02D8491882341F09091C0003B -:10E5000095FFFCCF8093C6003196F5CF40914C1318 -:10E5100050914D1360914E1370914F132AE030E0EB -:10E520008BE397E10E9438DA8091C00085FFFCCF31 -:10E530008AE08093C6001092BB111092BA11DEC21D -:10E540008091501390915113A0915213B091531395 -:10E5500080934C1390934D13A0934E13B0934F138D -:10E560006090BF117090C011B69C8001B79C100DD7 -:10E57000112409531E4E67E470E0C8010F94B40ED5 -:10E58000009709F456C09093B8118093B711209169 -:10E59000D013211106C0D092BF13C092BE13A09217 -:10E5A000C113801B910BB69C9001B79C300D1124B8 -:10E5B000820F931F60E070E088539E4E0F947F0B94 -:10E5C0000F948C0564307105A0F58091A11188230A -:10E5D00081F1E091BB13F0E0EE0FFF1FE85DFD4F0E -:10E5E0000190F081E02DE259FE4F0190F081E02D85 -:10E5F0008491882341F09091C00095FFFCCF8093D7 -:10E60000C6003196F5CF8091C00085FFFCCF909277 -:10E61000C600E091BB13F0E0EE0FFF1FE85DFD4F79 -:10E620000190F081E02DE453FF4F808191810E94A1 -:10E630001CAB0091BF111091C011B09EC001B19EE2 -:10E64000900D112469E97DE089539E4E0F94BF0E11 -:10E65000892B09F422DCC8010196B7010F94E80860 -:10E660009093C0118093BF118091BD119091BE1104 -:10E6700001969093BE118093BD111092BB11109220 -:10E68000BA113BCE8B3311F4A092B9119091B9110C -:10E69000911133CE4091BF115091C011B9016F5FFC -:10E6A0007F4F7093BB116093BA11B49EF001B59E79 -:10E6B000F00D1124E20FF31FE953FE4E80831DCEAF -:10E6C0001092B9111BC2B09E3001B19E700C112482 -:10E6D000C30189539E4E1C016AE270E00F94B40E90 -:10E6E000009709F03FC0E5E5F3E58491882341F008 -:10E6F0009091C00095FFFCCF8093C6003196F5CF76 -:10E70000E091BB13F0E0EE0FFF1FE85DFD4F0190BD -:10E71000F081E02DE85BFE4F0190F081E02D8491C7 -:10E72000882341F09091C00095FFFCCF8093C600F4 -:10E730003196F5CF40914C1350914D1360914E138B -:10E7400070914F132AE030E08BE397E10E9438DAB2 -:10E750008091C00085FFFCCF8AE08093C6000E94B4 -:10E76000F568E9CE20E010E0F301E20FF11DE95376 -:10E77000FE4E30813A3219F02F5F1327F5CF909378 -:10E78000B8118093B71182199309860D971D60E027 -:10E7900070E088539E4E0F947F0B0F948C05212FB1 -:10E7A00030E02617370709F4CBCEE5E5F3E5849191 -:10E7B000882341F09091C00095FFFCCF8093C60064 -:10E7C0003196F5CFE091BB13F0E0EE0FFF1FE85D4F -:10E7D000FD4F0190F081E02DEA5BFE4F0190F0814A -:10E7E000E02D8491882341F09091C00095FFFCCFEB -:10E7F0008093C6003196F5CF40914C1350914D1344 -:10E8000060914E1370914F132AE030E08BE397E153 -:10E810000E9438DA8091C00085FFFCCF9DCFE5E5EE -:10E82000F3E58491882341F09091C00095FFFCCFDF -:10E830008093C6003196F5CFE091BB13F0E0EE0F68 -:10E84000FF1FE85DFD4F0190F081E02DEC5BFE4F76 -:10E850000190F081E02D8491882341F09091C000D7 -:10E8600095FFFCCF8093C6003196F5CF40914C13B5 -:10E8700050914D1360914E1370914F132AE030E088 -:10E880008BE397E10E9438DA8091C00085FFFCCFCE -:10E8900063CF8091BE159091BF15A091C015B09126 -:10E8A000C11580936B1690936C16A0936D16B09360 -:10E8B0006E1686EB95E10E948433482F8093BC113D -:10E8C0008A30B9F04D30A9F0433229F42091B911C2 -:10E8D000222379F002C04A33C9F32091BA11309152 -:10E8E000BB112F3531052CF48F3F5FEF950709F0F1 -:10E8F000E7C040916B1650916C1660916D16709147 -:10E900006E168091631690916416A0916516B09171 -:10E910006616481759076A077B0708F497C0E09105 -:10E92000BB13F0E0EE0FFF1FE85DFD4F0190F0819B -:10E93000E02DE45BFE4F0190F081E02D849188236F -:10E9400041F09091C00095FFFCCF8093C6003196B6 -:10E95000F5CF8091C00085FFFCCF8AE08093C60090 -:10E960000E946AFE6093A7117093A8118093A91169 -:10E970009093AA11C090AB11D090AC11E090AD1162 -:10E98000F090AE116C197D098E099F09A2019101C9 -:10E990000F94FB0869017A016091B7137091B81365 -:10E9A0008091B9139091BA13F7DBC701B601A501A5 -:10E9B00094010F94FB08CA01B901A50194010F94B9 -:10E9C000FB087F936F93C701B60120E13EE040E072 -:10E9D00050E00F94FB083F932F93A6EAB2E5BF9354 -:10E9E000AF931F930F930F94EC0EEFE4F3E5849134 -:10E9F0000FB6F894DEBF0FBECDBF882349F09091CB -:10EA0000C00095FFFCCF8093C60031968491F5CF6E -:10EA1000F8018191882339F09091C00095FFFCCFD7 -:10EA20008093C600F6CF8091C00085FFFCCF3AE00E -:10EA30003093C600C8010E940FAB8EEC93E10E9498 -:10EA4000FC5F61E08EEC93E10E94BF598091BC11A4 -:10EA5000833211F470929F112091BA113091BB1141 -:10EA60002115310509F42CCE8091BF119091C01170 -:10EA7000689EF001699EF00D1124E20FF31FE95327 -:10EA8000FE4E1082FC01ED53FE4E70822091BD11AE -:10EA90003091BE112F5F3F4F3093BE112093BD11B7 -:10EAA000019664E070E00F94E8089093C0118093A1 -:10EAB000BF111092B9111092BB111092BA1158CC1B -:10EAC0004B3311F47092B9114091B91141114CCCF2 -:10EAD0004091BF115091C011B9016F5F7F4F70938A -:10EAE000BB116093BA11649EF001659EF00D112474 -:10EAF000E20FF31FE953FE4E80833ACC6E960FB6B9 -:10EB0000F894DEBF0FBECDBFDF91CF911F910F9163 -:10EB1000FF90EF90DF90CF90BF90AF909F908F903D -:10EB20007F906F905F904F903F902F900895CF927D -:10EB3000DF92EF92FF920F931F93CF93C82F809194 -:10EB4000BD119091BE1103970CF4B1DB0E946AFED7 -:10EB50000091AF111091B0112091B1113091B2110B -:10EB6000C090B311D090B411E090B511F090B611EF -:10EB70006C197D098E099F090617170728073907A1 -:10EB800028F4012B022B032B09F087D94091150C97 -:10EB90005091160C6091170C7091180C452B462B58 -:10EBA000472B19F10E946AFE0091B3111091B41124 -:10EBB0002091B5113091B611601B710B820B930B34 -:10EBC0000091150C1091160C2091170C3091180C17 -:10EBD000061717072807390740F49091D21880913B -:10EBE000D118981302C0CC2349F0CF911F910F91F7 -:10EBF000FF90EF90DF90CF900C941EEF179A109239 -:10EC00008E13169A10928F13149AEFCFCF92DF9231 -:10EC1000EF92FF922091AD132223F1F020E030E03B -:10EC200040E05FE30F94F2076B017C0120E030E0ED -:10EC3000A9010F941D05882379F0A7019601C7014A -:10EC4000B6010F94F2072BED3FE049E450E40F9436 -:10EC5000F2079B01AC0104C020E030E040E85FE334 -:10EC600060E070E080E89FE30F942405FF90EF9050 -:10EC7000DF90CF90089560914B0C70914C0C809177 -:10EC80004D0C90914E0CC2DF6093470C7093480C72 -:10EC90008093490C90934A0C08952F923F924F9283 -:10ECA0005F926F927F928F929F92AF92BF92CF921C -:10ECB000DF92EF92FF920F931F93CF93DF93CDB725 -:10ECC000DEB7C354D1090FB6F894DEBF0FBECDBF77 -:10ECD00081E40E949968882309F455C082E70E9464 -:10ECE00099688823A9F0EEE9FDE08191882339F045 -:10ECF0009091C00095FFFCCF8093C600F6CF809125 -:10ED0000C00085FFFCCF8AE08093C6000C94F79288 -:10ED100086E70E9499688823A9F0E4EAFDE08191E2 -:10ED2000882339F09091C00095FFFCCF8093C600F6 -:10ED3000F6CF8091C00085FFFCCF8AE08093C600AB -:10ED40000C94F79287E60E949968882321F00E942C -:10ED5000EAAA0C94F7928AE70E949968882341F006 -:10ED600060E070E088EF9FE00E945AA60C94F79252 -:10ED70008CE60E949968882311F40C94F7920E9403 -:10ED800081A60C94F79287E40E949968882309F47D -:10ED90007CC50E9485680F948C056135710509F466 -:10EDA000BDC34CF56430710509F4C8C054F4623039 -:10EDB000710509F4ABC00CF0B5C077FF4FC00C94DF -:10EDC000F7926B30710509F40DC15CF46A3071057E -:10EDD00011F00C94F79260E081E00E94ED6C0C94CD -:10EDE000F7926C31710509F403C16035710509F4BE -:10EDF00092C10C94F7926635710509F4EBC49CF44A -:10EE00006335710509F487C40CF441C46435710598 -:10EE100009F4D3C46535710511F00C94F7920E9482 -:10EE2000CCCA0C94F7926A35710509F4DAC464F41B -:10EE30006735710511F00C94F79261E087EF9FE060 -:10EE40000F941D110C94F7926B35710509F4CDC424 -:10EE50006C35710509F4CEC40C94F7928091A11120 -:10EE600081110C94F7920E942D696091B7137091F3 -:10EE7000B8138091B9139091BA130F94BD056B012B -:10EE80007C012091A9133091AA134091AB135091AA -:10EE9000AC136091741370917513809176139091F7 -:10EEA00077130F94430420E030E048EC52E40F94D1 -:10EEB000F2079B01AC01C701B6010F9444040F9403 -:10EEC00091056093B7137093B8138093B91390931F -:10EED000BA13809186138823A9F088E50E94996867 -:10EEE000811110C089E50E94996881110BC08AE5E3 -:10EEF0000E949968811106C085E40E949968811179 -:10EF00000C94FA920E94266C0C94F7928091A111B5 -:10EF100081110C94F7920E94AC6981E00E949B6E73 -:10EF20000C94F7928091A11181110C94F7920E9498 -:10EF3000AC6980E00E949B6E0C94F792E091BB1349 -:10EF4000F0E0EE0FFF1FE85DFD4F0190F081E02D36 -:10EF5000E054FF4F808191810E941CAB80E50E94AC -:10EF60009968882339F00E9485680F9491054B01B8 -:10EF70005C0103C0812C912C540183E50E949968A7 -:10EF8000882361F00E94856820E030E04AE754E47D -:10EF90000F94F2070F9491054B015C010E94B7E3B7 -:10EFA0000E946AFE6B017C01C80CD91CEA1CFB1C88 -:10EFB0000E946AFE6093B3117093B4118093B511EF -:10EFC0009093B6110E946AFE6C157D058E059F0513 -:10EFD00010F00C94F7920E940C4780E0A8DD0E948C -:10EFE000A2ADF0CF60E080E00E94ED6C0C94F7924F -:10EFF0001092C01310920C188091190C90911A0C59 -:10F00000A0911B0CB0911C0C80935413909355133A -:10F01000A0935613B09357138091550C9091560CB2 -:10F020009093C3138093C21384E690E09093560CA0 -:10F030008093550C0E946AFE6093B3117093B411D3 -:10F040008093B5119093B61181E00E9437DC8091D6 -:10F050009D1390919E13A0919F13B091A013809344 -:10F06000681390936913A0936A13B0936B13809104 -:10F07000A1139091A213A091A313B091A413809314 -:10F080006C1390936D13A0936E13B0936F138091D4 -:10F09000A5139091A613A091A713B091A8138093E4 -:10F0A000701390937113A0937213B09373138091A4 -:10F0B000A9139091AA13A091AB13B091AC138093B4 -:10F0C000741390937513A0937613B09377131092E3 -:10F0D000190C10921A0C10921B0C10921C0C88E543 -:10F0E0000E949968882311F090E00AC089E50E9487 -:10F0F00099688111F9CF8AE50E94996891E0982773 -:10F1000090931D0C992311F40C94299381E0809322 -:10F11000C0130C9488948091D01381110FC081E0AA -:10F120008093B21381E090E09093B1138093B01379 -:10F1300083E190E09093AF138093AE1380918E1390 -:10F14000882341F080918F13882321F080919013C0 -:10F1500081110AC08EE992E50E9419668AE992E55A -:10F160000E9419660C94F7928CE098E10E944FE798 -:10F1700080E090E0A0E4B1E480939D1390939E130F -:10F18000A0939F13B093A01380E090E0A0E4B0ECB4 -:10F190008093A1139093A213A093A313B093A413ED -:10F1A00020E030E040EF51E46091570C7091580C32 -:10F1B0008091590C90915A0C0F942405F9E8CF2EA8 -:10F1C000F3E1DF2E7B018C0129EA33E145EA53E1CB -:10F1D00061EA73E18DE993E10E943AEF80E090E00B -:10F1E000A0EAB0E48093A5139093A613A093A7136D -:10F1F000B093A81320E030E040E752E460915F0C48 -:10F200007091600C8091610C9091620C0F942405B8 -:10F210007B018C0129EA33E145EA53E161EA73E1BC -:10F220008DE993E10E943AEF0E94B7E320E030E0DD -:10F2300040EA51E46091570C7091580C8091590C40 -:10F2400090915A0C0F9424050F948C058B0120E0AB -:10F2500030E040E252E460915F0C7091600C80916C -:10F26000610C9091620C0F9424050F948C057B0126 -:10F270000E94CF6219AE18AEC701AA2797FDA095CC -:10F28000BA2F8CAF9DAFAEAFBFAFC801AA2797FD15 -:10F29000A095BA2F24968CAF9DAFAEAFBFAF249789 -:10F2A00080E090E0A0EAB0E48093A5139093A613C9 -:10F2B000A093A713B093A8136CAD7DAD8EAD9FAD99 -:10F2C0000F94BF051B012C01E9E8CE2EE3E1DE2EF1 -:10F2D0007B018C0129EA33E145EA53E161EA73E1FC -:10F2E0008DE993E10E943AEF0E94B7E388AD99ADB2 -:10F2F00063E070E00F94E8087BAF6AAF3C019AAD21 -:10F3000090FF05C0A2E0B0E0A619B7093D01B30126 -:10F31000882777FD8095982F0F94BF0520E030E077 -:10F320004BEC52E40F94F20720E030E04CE052E462 -:10F330000F94440420E030E048EB51E40F94430480 -:10F3400060939D1370939E1380939F139093A013CB -:10F35000EAADFBADBF01882777FD8095982F0F940C -:10F36000BF0520E030E044EC52E40F94F20720E0C7 -:10F3700030E040EC50E40F94440420E030E040E101 -:10F3800051E40F9443046093A1137093A2138093EC -:10F39000A3139093A41324966CAD7DAD8EAD9FAD59 -:10F3A00024970F94BF054B015C0169E8C62E63E109 -:10F3B000D62E8501740129EA33E145EA53E161EA79 -:10F3C00073E18DE993E10E943AEF0E94B7E30E9456 -:10F3D000206387E02AAD3BAD829FF001839FF00D53 -:10F3E0001124E60DF71DEE0FFF1FEE0FFF1FE45F68 -:10F3F000F74E8091A5139091A613A091A713B091F9 -:10F40000A81381839283A383B4838091D013811145 -:10F4100009C08091AE139091AF1301979093AF13F1 -:10F420008093AE13A8ADB9AD1196B9AFA8AF199737 -:10F4300009F036CF0E94FA6280E090E0A0EAB0E4E2 -:10F440008093A5139093A613A093A713B093A8132A -:10F4500059E8C52E53E1D52E8201710129EA33E125 -:10F4600045EA53E161EA73E18DE993E10E943AEFE5 -:10F470008CE098E10E946AE781E080930C188DECA3 -:10F480009CECACE4BEE380939D1390939E13A093F9 -:10F490009F13B093A01343E353E363E770EC4093EF -:10F4A000A1135093A2136093A3137093A41380939A -:10F4B000A5139093A613A093A713B093A813850147 -:10F4C000740129EA33E145EA53E16DE973E1CB01C7 -:10F4D0000E943AEF0E94B7E38091D013811106C0D9 -:10F4E0008091C113882311F40C94F79287EF9FE069 -:10F4F0000F940811813011F00C94F7926CEC73E1C9 -:10F5000088EF9FE00E946BA68091CC139091CD1361 -:10F510009093401180933F110C94F79280910C18B6 -:10F52000882309F49EC0E0E9F2E58491882341F044 -:10F530009091C00095FFFCCF8093C6003196F5CF27 -:10F540004AE050E067E070E08BE397E10E9463DA05 -:10F55000EEE8F2E58491882341F09091C00095FF98 -:10F56000FCCF8093C6003196F5CF4AE050E067E0CB -:10F5700070E08BE397E10E9463DAEBE7F2E58491B8 -:10F58000882341F09091C00095FFFCCF8093C60086 -:10F590003196F5CF4AE050E065E070E08BE397E10B -:10F5A0000E9463DAE9E6F2E58491882341F09091C4 -:10F5B000C00095FFFCCF8093C6003196F5CF8091B7 -:10F5C000C00085FFFCCF8AE08093C60000E010E019 -:10F5D00036E6A32E32E5B32E44E6842E42E5942E81 -:10F5E000E12CF12C98012C54374E6901F5018491DE -:10F5F000E6E6F2E5882349F09091C00095FFFCCF44 -:10F600008093C60031968491F5CFF601EE0DFF1D73 -:10F61000418152816381748125E030E08BE397E181 -:10F620000E9439DBF4E0EF0EF11C2CE1E216F1044C -:10F63000E9F6F4018491E4E6F2E5882349F090913B -:10F64000C00095FFFCCF8093C60031968491F5CF22 -:10F650000C5111090C33FFEF1F0709F0C1CF0C94B7 -:10F66000F792E6E4F2E58491882341F09091C0009E -:10F6700095FFFCCF8093C6003196F5CF8091C000F6 -:10F6800085FFFCCF8AE08093C6000C94F792E9E3F3 -:10F69000F2E58491882341F09091C00095FFFCCF62 -:10F6A0008093C6003196F5CF8091C00085FFFCCFD6 -:10F6B0008AE08093C6000E94CF620E9420630E946D -:10F6C000FA62EAE2F2E58491882341F09091C00069 -:10F6D00095FFFCCF8093C6003196F5CF4091A513DE -:10F6E0005091A6136091A7137091A81325E030E004 -:10F6F0008BE397E10E9439DBE8E2F2E5849188230D -:10F7000011F40C94F7929091C00095FFFCCF809378 -:10F71000C6003196F3CF83E50E949968882331F0C3 -:10F720000E9485680F948C058B0102C000E010E0F8 -:10F7300080E50E949968882311F10E9485680F94E2 -:10F740008C050115110511F40C94F79265307105C3 -:10F75000ECF0E4E1F2E58491882341F09091C0005F -:10F7600095FFFCCF8093C6003196F5CF8091C00005 -:10F7700085FFFCCF8AE08093C6000C94F7920115B8 -:10F78000110511F40C94F79260E070E01093CD1322 -:10F790000093CC13CB01880F991F6CEC73E18B5055 -:10F7A000904F0E945AA68091CC139091CD139093C4 -:10F7B000401180933F110C94F7928091CC1390915B -:10F7C000CD139195819591099093401180933F11AC -:10F7D0000C94F7926FEF87EF9FE00F941D110C943C -:10F7E000F792109247130C94F79281E0809347139D -:10F7F0000C94F79285E40E949968811102C00E94DE -:10F80000B7E308E2C02E0EE0D02E81E9E82E83E1B6 -:10F81000F82E0DE913E1B12CD6018D916D010E94F6 -:10F820009968882339F1B3E0BB120CC00E94856847 -:10F83000F801608371838283938389EA93E10E9454 -:10F840001CFA18C00E948568D7012D913D914D91F9 -:10F850005C910F944404F8016083718382839383E5 -:10F8600029EA33E145EA53E161EA73E18DE993E185 -:10F870000E9448F9B394F4E0EF0EF11C0C5F1F4FA7 -:10F8800024E0B212C9CF0C94F7928DE40E949968DB -:10F89000882311F40C94FE910E9485680F948C05C6 -:10F8A0006737710511F40C945E860CF0F7C06A326C -:10F8B000710509F462C40CF07AC06731710509F46E -:10F8C000BBC20CF044C06231710511F40C94758414 -:10F8D0001CF577FF02C00C94F792623071050CF4AE -:10F8E000AFC16131710511F00C94F792E091BB1337 -:10F8F000F0E0EE0FFF1FE85DFD4F0190F081E02D7D -:10F90000E853FF4F808191810E941CAB1798169895 -:10F91000159814980C94F7926531710509F480C21A -:10F920000CF084C26431710511F00C94F792E091EF -:10F93000BB13F0E0EE0FFF1FE85DFD4F0190F0817B -:10F94000E02DE25BFE4F0190F081E02D38C26B317B -:10F95000710509F49DC2B4F46931710509F484C2DA -:10F960000CF088C28EEC93E10E94A7560E946AFEBA -:10F970006093AB117093AC118093AD119093AE1165 -:10F980000C94F7926E31710509F4BDC234F46C31F8 -:10F99000710509F483C20C94F7926F31710509F473 -:10F9A0008CC36032710509F4ECC20C94F79268368E -:10F9B000710509F429C40CF043C06335710509F4DD -:10F9C0008FC714F56135710509F455C70CF084C76C -:10F9D0006035710511F00C94F7929B9AA39881E021 -:10F9E00080931E0CE091BB13F0E0EE0FFF1FE85D6B -:10F9F000FD4F0190F081E02D808191810E941CAB30 -:10FA00000E94A2AD0C94F7926535710509F4A0C768 -:10FA10000CF46BC76C35710511F00C94F79228E269 -:10FA20003EE039AF28AF06E01EE126E1822E2EE14E -:10FA3000922E3AECA32E3DE1B32E312C0C94258569 -:10FA40006D36710509F41CC58CF46A36710509F42C -:10FA5000E2C60CF408C46B36710511F00C94F792F1 -:10FA600010928813109287130C94F79262377105E5 -:10FA700011F40C9467853CF46037710511F00C9417 -:10FA8000F7920E944D6F6337710509F4F0C765372F -:10FA9000710511F40C9453850C94F7926C3231E09B -:10FAA000730711F40C942C8B0CF053C06C3C710553 -:10FAB00011F40C94228924F56E3B710509F47CC580 -:10FAC00074F46937710511F40C94598614F40C948C -:10FAD00054866C38710509F4B5C30C94F792693CEF -:10FAE000710511F40C94E3886B3C710511F40C94CE -:10FAF0000589683C710511F00C94F7920C946188AB -:10FB0000603D710511F40C94F98954F46E3C710553 -:10FB100011F40C94A48914F40C9444890C94C289B3 -:10FB20006C3D710511F40C94928A3CF4613D7105B1 -:10FB300011F40C94218A0C94F7926D3D710511F427 -:10FB40000C94A38A623E710511F40C94CD8A0C9436 -:10FB5000F792653F91E0790711F40C94288D2CF50C -:10FB60006033B1E07B0711F40C94358C5CF46E3299 -:10FB7000F1E07F0711F40C94DF8C14F40C94628B89 -:10FB80000C94ED8C6F3531E0730711F40C94A29155 -:10FB9000603981E0780711F40C94258D6E35714041 -:10FBA00011F00C94F7920C946B916835A2E07A07EF -:10FBB00011F40C94708EA4F4673FE1E07E0711F419 -:10FBC0000C94308D14F40C942D8D6D3F714011F018 -:10FBD0000C94F7920E94EAAAEFE4F3E50C943A8DB4 -:10FBE0006B3833E0730711F40C9445913CF46335A2 -:10FBF000734011F40C944B8D0C94F792603AA3E08F -:10FC00007A0709F427C2673E734011F00C94F7920B -:10FC10001092A1110E9419AD80914813909149133F -:10FC2000A0914A13B0914B1380934C1390934D13B2 -:10FC3000A0934E13B0934F130E94F5680C94F79263 -:10FC40000091B7111091B8110E5F1F4F80E50E940F -:10FC50009968882379F00E9485680F9491056B015B -:10FC60007C01BB24B394611571058105910531F4C4 -:10FC7000B12C04C0B12CC12CD12C760183E50E949B -:10FC80009968882399F00E94856820E030E04AE76F -:10FC900054E40F94F2070F9491056B017C01AA24A0 -:10FCA000A394611571058105910509F4A12C6AE2FF -:10FCB00070E0C8010F94B40E009711F0FC0110829F -:10FCC000F801CF0121912032E1F3B11007C0A1105A -:10FCD00005C0222319F00E940FAB10C0E091BB13A6 -:10FCE000F0E0EE0FFF1FE85DFD4F0190F081E02D89 -:10FCF000EE53FF4F808191810E941CAB81E00E94F6 -:10FD0000EFAA0E94B7E30E946AFE6093B31170935A -:10FD1000B4118093B5119093B611C114D104E104CC -:10FD2000F104A9F00E946AFE4B015C018C0C9D1C41 -:10FD3000AE1CBF1C0E946AFE681579058A059B05EA -:10FD4000C0F40E948AAE811114C00C949B940E944E -:10FD500088AE882311F40C94F7920E948AAE811128 -:10FD60000BC00E940C4780E00E9497750E94A2ADD4 -:10FD7000F4CF80E00E94EFAA8091D013E091BB13F2 -:10FD8000F0E0EE0FFF1FE85DFD4F0190F081E02DE8 -:10FD9000882341F0EC53FF4F808191810E941CAB7E -:10FDA0000C94F792808191810E941CAB0C94F79285 -:10FDB0009091C00095FFFCCF8093C600319684914E -:10FDC0008111F6CF8091C00085FFFCCF8AE080933F -:10FDD000C6008EEC93E10E944F55E091BB13F0E01A -:10FDE000EE0FFF1FE85DFD4F0190F081E02DE05B1D -:10FDF000FE4F0190F081E02D8491882341F0909195 -:10FE0000C00095FFFCCF8093C6003196F5CF80915E -:10FE1000C00085FFFCCF8AE08093C6000C94F79267 -:10FE20008EEC93E10E94A4550C94F7928EEC93E132 -:10FE30000E94A3560C94F7920091B7111091B8113B -:10FE40000C5F1F4F6AE270E0C8010F94B40E009778 -:10FE500011F0DC011C9221E041E0B8018EEC93E14D -:10FE60000E94255B0C94F7928EEC93E10E94AE56B3 -:10FE70000C94F7928091D113882311F40C94F7928B -:10FE800083E50E94996881110C94A4940C94F792D4 -:10FE90008EEC93E10E9452580C94F7928091B71126 -:10FEA0009091B8116AE270E004960F94B40E8C0140 -:10FEB0000097D9F02091C1113091C21140E6429FC4 -:10FEC000C001439F900D11246EE470E089539E4E53 -:10FED0000F94B40E60E270E00F94B40E019690930C -:10FEE000B8118093B711F80110826091B711709129 -:10FEF000B8116C5F7F4F21E040E08EEC93E10E94EF -:10FF0000255B0C94F7928091D113882311F40C9403 -:10FF1000F79260E08EEC93E10E94B55A8091B711A0 -:10FF20009091B8116AE270E004960F94B40E8C01BF -:10FF30000097D9F02091C1113091C21140E6429F43 -:10FF4000C001439F900D11246EE470E089539E4ED2 -:10FF50000F94B40E60E270E00F94B40E019690938B -:10FF6000B8118093B711D8011C926091B7117091AC -:10FF7000B8116C5F7F4F8EEC93E10E9412570C9486 -:10FF8000F7928091D01381110E94B7E30091B711CD -:10FF90001091B8110C5F1F4F6AE270E0C8010F9416 -:10FFA000B40E7C0161E270E0C8010F94B40E0097BA -:10FFB00019F08C010F5F1F4FE114F10411F0F701EC -:10FFC000108280E50E949968F82E2091B711309137 -:10FFD000B8110217130708F4F12C8091D11388236C -:10FFE00011F40C94F79221E02F2541E0B8018EEC3A -:10FFF00093E10E94255B83E50E9499688823B9F00C -:020000021000EC -:100000002091B7113091B8112017310780F40E9468 -:100010008E68AB01BC0140936B1650936C166093D5 -:100020006D1670936E1686EB95E10E944D348EEC42 -:1000300093E10E94A756F1100C94F7920E946AFE79 -:100040006093AB117093AC118093AD119093AE118E -:100050000C94F7928091B7119091B8116AE270E018 -:1000600005960F94B40E8C010097D9F02091C11120 -:100070003091C21140E6429FC001439F900D112470 -:100080006EE470E089539E4E0F94B40E60E270E00F -:100090000F94B40E01969093B8118093B711D801C4 -:1000A0001C926091B7117091B8116B5F7F4F8EEC0D -:1000B00093E10E94AA5E0C94F7920E946AFE6093FC -:1000C000A7117093A8118093A9119093AA11009180 -:1000D000AB111091AC112091AD113091AE11601B9C -:1000E000710B820B930B28EE33E040E050E00F944D -:1000F000FB08CA01B9012CE330E040E050E00F9466 -:10010000FB087F936F933F932F9385E092E59F9336 -:100110008F93CE0101969F938F930F94EC0EEFE493 -:10012000F3E584910FB6F894DEBF0FBECDBFEFE4C8 -:10013000F3E5882349F09091C00095FFFCCF8093B0 -:10014000C60031968491F5CFFE01319681918823C6 -:1001500039F09091C00095FFFCCF8093C600F6CF98 -:100160008091C00085FFFCCF8AE08093C600CE015D -:1001700001960E940FAB0C94F79283E50E94996858 -:10018000882311F40C94F7920E9485680F948C05D3 -:10019000F62EE72E862F9E2D8C0180E50E94996811 -:1001A000882331F00F3F110509F010F40C94B59439 -:1001B0000DE010E0E0EFFDE0819191918017910753 -:1001C00011F40C94F7922EE0E832F207A9F706300A -:1001D000110539F48F2D9E2D9093881380938713EA -:1001E00004C017FF02C00C94F79261E0802F0E94B8 -:1001F0008AFD6F2D802F0E94C3FD6F2D7E2D802FD5 -:100200000E9480FC0C94F79288E690E00E940570B2 -:1002100081110C94F79283E50E949968882371F00C -:100220000091A2110E94856810E0000F111F005B71 -:100230001E4E0F948C05D8016D937C930E945A41F9 -:100240000C94F79283E50E949968882311F40C942A -:10025000F7920E9485680F948C0570934F116093FC -:100260004E110C94F79289E690E00E94057081117E -:100270000C94F792EFEFF1E58491882341F090918F -:10028000C00095FFFCCF8093C6003196F5CFE0917A -:10029000A211B4E0EB9FF0011124E85BFE4E408117 -:1002A00051816281738121E030E08BE397E10E940C -:1002B00039DBECEFF1E58491882341F09091C000A7 -:1002C00095FFFCCF8093C6003196F5CFE091A21147 -:1002D000F0E0EE0FFF1FE05BFE4E6081718188272A -:1002E00077FD8095982F0F94BF05AB01BC0121E0ED -:1002F00030E08BE397E10E9439DBE8EFF1E5849190 -:10030000882341F09091C00095FFFCCF8093C600F8 -:100310003196F5CF409142115091431160914411B3 -:100320007091451121E030E08BE397E10E9439DBC9 -:10033000E5EFF1E58491882341F09091C00095FFAD -:10034000FCCF8093C6003196F5CF60914E1170912D -:100350004F11882777FD8095982F0F94BF05AB012B -:10036000BC0121E030E08BE397E10E9439DBE2EF52 -:10037000F1E58491882341F09091C00095FFFCCF76 -:100380008093C6003196F5CF4AE050E060E070E01F -:100390008BE397E10E9463DAE0EFF1E58491882333 -:1003A00041F09091C00095FFFCCF8093C60031963C -:1003B000F5CF409148115091491160914A117091C7 -:1003C0004B1121E030E08BE397E10E9439DBEDEE49 -:1003D000F1E58491882341F09091C00095FFFCCF16 -:1003E0008093C6003196F5CF6091501170915111F4 -:1003F000882777FD8095982F0F94BF05AB01BC012E -:1004000021E030E08BE397E10E9439DBE9EEF1E592 -:100410008491882341F09091C00095FFFCCF809398 -:10042000C6003196F5CF8091A21190E00E94644001 -:100430004AE050E0BC018BE397E10E9463DAE4EE0E -:10044000F1E58491882341F09091C00095FFFCCFA5 -:100450008093C6003196F5CF8FEF9FEF0E946440E6 -:100460004AE050E0BC018BE397E10E9463DA80919F -:10047000C00085FFFCCF8AE08093C6000C941E96D6 -:100480008DE690E00E94057081110C94F792E09146 -:10049000BB13F0E0EE0FFF1FE85DFD4F0190F08110 -:1004A000E02DE05AFE4F808191810E941CAB81E0DB -:1004B00090E09093B6138093B51383E50E949968FA -:1004C000882391F00091A2110E94856810E0000F2E -:1004D000111F005B1E4E0F948C05F8017183608321 -:1004E00081E08093140C15C082E50E9499688823EE -:1004F00081F00091A2110E94856810E0000F111F89 -:10050000005B1E4E0F948C05D8016D937C93109266 -:10051000140C0E945A410E946AFE4B015C0100913A -:10052000A21110E0F801EE0FFF1FE05BFE4E6081AC -:100530007181882777FD8095982F0F94BF05F8016A -:10054000EE0FFF1FEE0FFF1FE85BFE4E11E0208154 -:100550003181428153810F94200718160CF010E06E -:100560001093A01110927813CC24CA94DC2C76013D -:1005700048EE442E43E0542E612C712C5AE0352E67 -:100580008091781381110C94BC94BFEFCB16DB06DD -:10059000EB06FB0611F40C94E794F7FE02C00C94F2 -:1005A000BC940E946AFE6C197D09683B7B4010F484 -:1005B0000C94E7940C94BC94E091BB13F0E0EE0F24 -:1005C000FF1FE85DFD4F0190F081E02DEC59FE4FDB -:1005D000808191810E941CAB83E090E09093B613E0 -:1005E0008093B51383E50E949968882361F00E9487 -:1005F00085680F948C0570934F1160934E1181E0C4 -:100600008093140C0FC082E50E949968882351F0F2 -:100610000E9485680F948C0570934F1160934E1162 -:100620001092140C0E946AFE4B015C011092781328 -:1006300060914E1170914F11882777FD8095982F0A -:100640000F94BF0511E02091421130914311409168 -:100650004411509145110F94200718160CF010E02A -:100660001093A01106ED11E572EDE72E71E5F72E5E -:10067000EEECCE2EE1E5DE2EFAE07F2E8091A01189 -:1006800060914E1170914F11882309F48BC08091B5 -:100690007813811187C0882777FD8095982F0F9454 -:1006A000BF05209142113091431140914411509166 -:1006B00045110F94200718160CF08BC00E946AFE9B -:1006C000681979098A099B09693E7340810591057A -:1006D00008F460C0E091891324E0E29FF001112446 -:1006E000E85BFE4E4081518162817381F801849103 -:1006F000E6EDF1E5882349F09091C00095FFFCCF2D -:100700008093C60031968491F5CF22E030E08BE3F0 -:1007100097E10E9439DBF7018491E2EDF1E588234E -:1007200049F09091C00095FFFCCF8093C6003196B0 -:100730008491F5CF6091891370E04AE050E08BE33B -:1007400097E10E9463DAF6018491EEECF1E58823EB -:1007500049F09091C00095FFFCCF8093C600319680 -:100760008491F5CF40914211509143116091441111 -:100770007091451121E030E08BE397E10E9439DB75 -:100780008091C00085FFFCCF7092C6000E946AFE77 -:100790004B015C010E940C4780E00E9497750E940B -:1007A000A2AD6CCF882777FD8095982F0F94BF0559 -:1007B00020914211309143114091441150914511C3 -:1007C0000F941D0587FF05C08091140C882309F440 -:1007D00075CFE091BB13F0E0EE0FFF1FE85DFD4F1A -:1007E0000190F081E02DEA59FE4F808191810E94B5 -:1007F0001CAB84E090E09093B6138093B5130E94F5 -:100800006AFE6093B3117093B4118093B511909305 -:10081000B6110C94F79283E50E949968882319F128 -:100820000E94856820E030E0A9010F941D0587FD36 -:100830000FC00E94856820E030E04FE753E40F943A -:100840002007181644F00E9485680F948C0505C097 -:1008500060E070E002C06FEF70E070938813609307 -:1008600087130C94F7928FEF90E090938813809306 -:1008700087130C94F7920E945B410E94B7E3149A8D -:100880000E9434E4109288131092871368EE73E08C -:1008900080E090E00E9499FE9B9AA39A10921E0C11 -:1008A000E091BB13F0E0EE0FFF1FE85DFD4F0190FC -:1008B000F081E02DE459FF4F408151812CEC31E56E -:1008C0006AEC71E581ED9DE00E943B4F0E941CABFC -:1008D0000E94A2AD0C94F7921092C7130C94F79259 -:1008E00081E08093C7130C94F79283E50E94996886 -:1008F0008823A1F00E94856820E030E04AE754E4B4 -:100900000F94F2070F9491056093150C7093160CD9 -:100910008093170C9093180C0C94F79288E50E9422 -:10092000996881110C94FB9589E50E949968811161 -:100930000C94FB958AE50E94996881110C94FB95B3 -:1009400085E40E94996881110C94FB950C9418968B -:1009500083E50E949968882311F40C94F7920E9411 -:10096000856820E030E04AE754E40F94F2070F94E2 -:1009700091056093AF117093B0118093B111909372 -:10098000B2110C94F792B3E03B1269C00E948568E3 -:100990006B017C0120E030E040EA51E40F941D053A -:1009A00087FF3FC0A7019601F801608171818281B4 -:1009B00093810F9424052B013C019B01AC016091B4 -:1009C000DE1D7091DF1D8091E01D9091E11D0F945F -:1009D000F2076093DE1D7093DF1D8093E01D9093FE -:1009E000E11DA3019201D4016D917D918D919C91A6 -:1009F0000F94F207F4016083718382839383D5019E -:100A00006D917D918D919C910F94BD05A3019201F3 -:100A10000F94F2070F949105F5016083718382832F -:100A20009383D801CD92DD92ED92FC92139733948B -:100A30000C5F1F4FF4E08F0E911C24E0A20EB11C3E -:100A400034E0331611F40C94F792A8ADB9AD8D9142 -:100A5000B9AFA8AF0E949968882349F394CF0E9448 -:100A60008568F8016083718382839383E0CFE0918E -:100A7000BB13F0E0EE0FFF1FE85DFD4F0190F0812A -:100A8000E02DE859FE4F0190F081E02D84918823FC -:100A900011F40C94F7929091C00095FFFCCF8093D5 -:100AA000C6003196F3CF0091B7111091B8110B5FCA -:100AB0001F4F6AE270E0C8010F94B40E009711F066 -:100AC000DC011C92C8010E940FAB0C94F792E7EC7A -:100AD000F1E58491882341F09091C00095FFFCCF0F -:100AE0008093C6003196F5CF40919D1350919E138F -:100AF00060919F137091A01322E030E08BE397E1A7 -:100B00000E9439DBE3ECF1E58491882341F0909178 -:100B1000C00095FFFCCF8093C6003196F5CF409181 -:100B2000A1135091A2136091A3137091A41322E01A -:100B300030E08BE397E10E9439DBEFEBF1E5849144 -:100B4000882341F09091C00095FFFCCF8093C600B0 -:100B50003196F5CF4091A5135091A6136091A7133C -:100B60007091A81322E030E08BE397E10E9439DB1B -:100B7000EBEBF1E58491882341F09091C00095FF63 -:100B8000FCCF8093C6003196F5CF4091A9135091C8 -:100B9000AA136091AB137091AC1322E030E08BE3A9 -:100BA00097E10E9439DBE091BB13F0E0EE0FFF1FED -:100BB000E85DFD4F0190F081E02DE659FE4F019078 -:100BC000F081E02D8491882341F09091C00095FF41 -:100BD000FCCF8093C6003196F5CF0E9413E40F94AA -:100BE000BF052091061E3091071E4091081E5091AE -:100BF000091E0F942405AB01BC0122E030E08BE319 -:100C000097E10E9439DBE7EBF1E58491882341F01D -:100C10009091C00095FFFCCF8093C6003196F5CF30 -:100C200081E00E9413E40F94BF0520910A1E3091C9 -:100C30000B1E40910C1E50910D1E0F942405AB010C -:100C4000BC0122E030E08BE397E10E9439DBE3EB6B -:100C5000F1E58491882341F09091C00095FFFCCF8D -:100C60008093C6003196F5CF82E00E9413E40F9482 -:100C7000BF0520910E1E30910F1E4091101E509105 -:100C8000111E0F942405AB01BC0122E030E08BE380 -:100C900097E10E9439DB8091C00085FFFCCF8AE09C -:100CA0008093C6000C94F79280E00E9437DC0C948D -:100CB000F79281E00E9437DC0C94F792E091BB132D -:100CC000F0E0EE0FFF1FE85DFD4F0190F081E02D99 -:100CD000EC57FE4F0190F081E02D8491882341F084 -:100CE0009091C00095FFFCCF8093C6003196F5CF60 -:100CF0008091C00085FFFCCF8AE08093C600E09120 -:100D0000BB13F0E0EE0FFF1FE85DFD4F0190F08197 -:100D1000E02DE858FE4F0190F081E02D849188236A -:100D200041F09091C00095FFFCCF8093C6003196B2 -:100D3000F5CFE091BB13F0E0EE0FFF1FE85DFD4F34 -:100D40001E9B13C00190F081E02DEA57FE4F0190E9 -:100D5000F081E02D84918823D9F09091C00095FF17 -:100D6000FCCF8093C6003196F5CF0190F081E02D45 -:100D7000E857FE4F0190F081E02D8491882341F0E7 -:100D80009091C00095FFFCCF8093C6003196F5CFBF -:100D90008091C00085FFFCCF8AE08093C600E0917F -:100DA000BB13F0E0EE0FFF1FE85DFD4F0190F081F7 -:100DB000E02DE658FE4F0190F081E02D84918823CC -:100DC00041F09091C00095FFFCCF8093C600319612 -:100DD000F5CFE091BB13F0E0EE0FFF1FE85DFD4F94 -:100DE000029913C00190F081E02DEA57FE4F019067 -:100DF000F081E02D84918823D9F09091C00095FF77 -:100E0000FCCF8093C6003196F5CF0190F081E02DA4 -:100E1000E857FE4F0190F081E02D8491882341F046 -:100E20009091C00095FFFCCF8093C6003196F5CF1E -:100E30008091C00085FFFCCF8AE08093C600E091DE -:100E4000BB13F0E0EE0FFF1FE85DFD4F0190F08156 -:100E5000E02DE458FE4F0190F081E02D849188232D -:100E600041F09091C00095FFFCCF8093C600319671 -:100E7000F5CFE091BB13F0E0EE0FFF1FE85DFD4FF3 -:100E80001D9B13C00190F081E02DEA57FE4F0190A9 -:100E9000F081E02D84918823D9F09091C00095FFD6 -:100EA000FCCF8093C6003196F5CF0190F081E02D04 -:100EB000E857FE4F0190F081E02D8491882341F0A6 -:100EC0009091C00095FFFCCF8093C6003196F5CF7E -:100ED0008091C00085FFFCCF8AE08093C600E0913E -:100EE000BB13F0E0EE0FFF1FE85DFD4F0190F081B6 -:100EF000E02DE258FE4F0190F081E02D849188238F -:100F000041F09091C00095FFFCCF8093C6003196D0 -:100F1000F5CFE091BB13F0E0EE0FFF1FE85DFD4F52 -:100F2000019913C00190F081E02DEA57FE4F019026 -:100F3000F081E02D84918823D9F09091C00095FF35 -:100F4000FCCF8093C6003196F5CF0190F081E02D63 -:100F5000E857FE4F0190F081E02D8491882341F005 -:100F60009091C00095FFFCCF8093C6003196F5CFDD -:100F70008091C00085FFFCCF8AE08093C600E0919D -:100F8000BB13F0E0EE0FFF1FE85DFD4F0190F08115 -:100F9000E02DE058FE4F0190F081E02D84918823F0 -:100FA00041F09091C00095FFFCCF8093C600319630 -:100FB000F5CFE091BB13F0E0EE0FFF1FE85DFD4FB2 -:100FC0001C9B13C00190F081E02DEA57FE4F019069 -:100FD000F081E02D84918823D9F09091C00095FF95 -:100FE000FCCF8093C6003196F5CF0190F081E02DC3 -:100FF000E857FE4F0190F081E02D8491882341F065 -:101000009091C00095FFFCCF8093C6003196F5CF3C -:101010008091C00085FFFCCF8AE08093C600E091FC -:10102000BB13F0E0EE0FFF1FE85DFD4F0190F08174 -:10103000E02DEE57FE4F0190F081E02D8491882342 -:1010400041F09091C00095FFFCCF8093C60031968F -:10105000F5CFE091BB13F0E0EE0FFF1FE85DFD4F11 -:10106000379913C00190F081E02DEA57FE4F0190AF -:10107000F081E02D84918823D9F09091C00095FFF4 -:10108000FCCF8093C6003196F5CF0190F081E02D22 -:10109000E857FE4F0190F081E02D8491882341F0C4 -:1010A0009091C00095FFFCCF8093C6003196F5CF9C -:1010B0008091C00085FFFCCF8AE08093C6000C942D -:1010C000F792809189138093A21184E50E94996818 -:1010D000882381F10E9485680F9491056093A21185 -:1010E000662341F1EFE4F3E58491882341F0909188 -:1010F000C00095FFFCCF8093C6003196F5CFE091FC -:10110000BB13F0E0EE0FFF1FE85DFD4F0190F08193 -:10111000E02DEA5AFE4F0190F081E02D8191882365 -:1011200011F40C94F7929091C00095FFFCCF80933E -:10113000C600F4CF84E40E949968882311F40C94CB -:10114000F7920E94856820E030E0A9010F941D0508 -:10115000811103C01092AD1332C00091A21110E0B2 -:101160000E948568F801EE0FFF1FEE0FFF1FE55B81 -:10117000F34F6083718382839383E0904B0CF090F4 -:101180004C0C00914D0C10914E0C20E030E0A90168 -:10119000B701C8010F941D05811104C0E12CF12C89 -:1011A00000E410E4C701D80180934B0C90934C0CE1 -:1011B000A0934D0CB0934E0C81E08093AD130E9430 -:1011C0003B760C94F79208E21EE0A6EFEA2EADE122 -:1011D000FA2EF80181918F010E949968882351F0BD -:1011E0000E9485680F949105D7016D937D938D932F -:1011F0009C931397B4E0EB0EF11CEEE00C321E074B -:1012000041F70E9449FA0C94F79208E21EE0F6E1D9 -:10121000EF2EFEE1FF2ED8018D918D010E9499687D -:10122000882339F00E948568F70160837183828387 -:101230009383F4E0EF0EF11C2EE00C32120759F705 -:101240000C94F79283E50E949968882351F00E94DC -:1012500085686093EE1D7093EF1D8093F01D909351 -:10126000F11D84E50E949968882311F40C94F7928B -:101270000E9485686093EA1D7093EB1D8093EC1DBE -:101280009093ED1D0C94F79283E50E949968882352 -:1012900051F00E9485686093F21D7093F31D809356 -:1012A000F41D9093F51D84E50E949968882351F000 -:1012B0000E9485686093DA1D7093DB1D8093DC1DAE -:1012C0009093DD1D82E40E949968882361F00E945A -:1012D00085680F9491056093261E7093271E809356 -:1012E000281E9093291E88E50E949968882351F052 -:1012F0000E9485686093E61D7093E71D8093E81D4A -:101300009093E91D8AE50E949968882351F00E9414 -:1013100085686093E21D7093E31D8093E41D9093B4 -:10132000E51D85E40E949968882311F40C94F792D6 -:101330000E9485686093DE1D7093DF1D8093E01D21 -:101340009093E11D0C94F79208E21EE0E1E9EE2E85 -:10135000E3E1FE2ED8018D918D010E9499688823CA -:1013600039F00E948568F7016083718382839383DB -:10137000F4E0EF0EF11C2EE00B32120711F40C9486 -:10138000F792E8CF83E50E949968882351F00E9484 -:10139000856860932B0C70932C0C80932D0C90938C -:1013A0002E0C86E40E949968882381F00E9485684B -:1013B00020E030E040E752E40F9424056093230CD2 -:1013C0007093240C8093250C9093260C8AE50E9440 -:1013D0009968882311F40C94F7920E9485686093B1 -:1013E00081137093821380938313909384130C94CE -:1013F000F79283E50E949968882351F00E948568DE -:1014000060937D1370937E1380937F13909380136A -:1014100086E40E949968882311F40C94F7920E9444 -:10142000856820E030E040E752E40F9424056093A3 -:101430001F0C7093200C8093210C9093220C0C9421 -:10144000F79283E50E949968882311F40C94F7922F -:101450000E9485680F948C056115710551F061300B -:10146000710569F481E080938613109285130C94C2 -:10147000F79210928613109285130C94F792EFE472 -:10148000F3E58491882341F09091C00095FFFCCF53 -:101490008093C6003196F5CFE091BB13F0E0EE0FDC -:1014A000FF1FE85DFD4F0190F081E02DEE58FE4FEB -:1014B0000190F081E02D8491882341F09091C0004B -:1014C00095FFFCCF8093C6003196F5CF8091C11176 -:1014D0009091C21120E6289FF001299FF00D112460 -:1014E000E953FE4E8191882339F09091C00095FF19 -:1014F000FCCF8093C600F6CFE1EBF1E58491882321 -:1015000041F09091C00095FFFCCF8093C6003196CA -:10151000F5CF8091C00085FFFCCF8AE08093C600A4 -:101520000C94F79283E50E949968882311F40C9437 -:10153000F7920E9485680F948C057093560C609307 -:10154000550C0C94F79283E50E949968882311F456 -:101550000C94F7920E9485680F948C056B017C01B6 -:1015600084E50E949968882391F08DED90E00E94B7 -:10157000057081110C94F792E091A211F0E0EE0F4A -:10158000FF1FEF5AF34FD182C0820C94F792D09292 -:10159000540CC092530C0C94F79280E50E94996809 -:1015A000882311F40C94F7920E9485680F948C059F -:1015B000D62E062F172F83E50E949968882331F0D5 -:1015C0000E9485680F948C057B0103C0EE24EA9489 -:1015D000FE2CC7010196039710F00C94F792E0EFF0 -:1015E000FDE0819191918017910711F40C94F7928D -:1015F0003EE0E832F307A9F717FF01C0F8C70E94E1 -:10160000B7E3CD2C60E08D2D0E948AFD8FEFE816A8 -:10161000F80631F0EA94EF2871F000E010E00DC018 -:101620008D2D0E94F8FD31E020E0892B09F030E09B -:10163000032F122F02C001E010E08C2D0E94F8FD54 -:101640008017910709F4D3C70E940C4780E00E94DD -:1016500097750E94A2ADF1CF83E50E949968882317 -:1016600031F00E9485680F948C058B0102C00EE654 -:1016700010E080E50E949968882331F00E94856817 -:101680000F948C05CB0102C088EE93E06C01EE2430 -:10169000D7FCE094FE2C101611067CF420E030E01C -:1016A000A901B8018EE40E9436FFC701B6010E946D -:1016B00099FE8EE40F944D029AC7C701B6010E94AD -:1016C00099FE95C780E50E949968882351F00E9491 -:1016D000856860932402709325028093260290937C -:1016E000270289E40E949968882361F00E94856836 -:1016F0000E94764C60932002709321028093220214 -:101700009093230284E40E949968882361F00E94E8 -:1017100085680E94824C60931C0270931D02809326 -:101720001E0290931F0283E40E949968882351F05F -:101730000E948568609318027093190280931A02C0 -:1017400090931B020E943740E091BB13F0E0EE0F34 -:10175000FF1FE85DFD4F0190F081E02DE05CFE4F42 -:101760000190F081E02D8191882339F09091C000A3 -:1017700095FFFCCF8093C600F6CFEEEDFDE08191A2 -:10178000882339F09091C00095FFFCCF8093C6006C -:10179000F6CF40912402509125026091260270916B -:1017A000270222E030E08BE397E10E9439DBE2EE92 -:1017B000FDE08191882339F09091C00095FFFCCF26 -:1017C0008093C600F6CF6091200270912102809133 -:1017D0002202909123020E947C4CAB01BC0122E0CA -:1017E00030E08BE397E10E9439DBE6EEFDE081918A -:1017F000882339F09091C00095FFFCCF8093C600FC -:10180000F6CF60911C0270911D0280911E02909192 -:101810001F020E94884CAB01BC0122E030E08BE348 -:1018200097E10E9439DBEAEEFDE08191882339F0EF -:101830009091C00095FFFCCF8093C600F6CF4091F9 -:1018400018025091190260911A0270911B0222E055 -:1018500030E08BE397E10E9439DB8091C00085FF87 -:10186000FCCF8AE08093C600C2C680E50E949968DA -:10187000882351F00E9485686093140270931502CA -:10188000809316029093170289E40E949968882336 -:1018900061F00E9485680E94764C609310027093FC -:1018A0001102809312029093130284E40E949968BB -:1018B000882361F00E9485680E94824C60930C022C -:1018C00070930D0280930E0290930F020E94374096 -:1018D000E091BB13F0E0EE0FFF1FE85DFD4F0190BC -:1018E000F081E02DE05CFE4F0190F081E02D8191D0 -:1018F000882339F09091C00095FFFCCF8093C600FB -:10190000F6CFEEEDFDE08191882339F09091C00093 -:1019100095FFFCCF8093C600F6CF40911402509102 -:101920001502609116027091170222E030E08BE3FD -:1019300097E10E9439DBE2EEFDE08191882339F0E6 -:101940009091C00095FFFCCF8093C600F6CF6091C8 -:1019500010027091110280911202909113020E9464 -:101960007C4CAB01BC0122E030E08BE397E10E94AC -:1019700039DBE6EEFDE08191882339F09091C000DB -:1019800095FFFCCF8093C600F6CF60910C0270915A -:101990000D0280910E0290910F020E94884CAB01C3 -:1019A000BC0122E030E08BE397E10E9439DB8091BB -:1019B000C00085FFFCCF8AE08093C60018C683E58F -:1019C0000E949968882319F00E94856803C060E02E -:1019D00070E0CB010E9440FA0AC685E40E94996833 -:1019E000882341F00E9485680F948C058B0177FF56 -:1019F00003C009C000E010E0C12CD12C26E1E22E8A -:101A000023E4F22E06C0C12CD12C9CE8E92E92E4EE -:101A1000F92E83E50E949968882321F00E94856849 -:101A20006B017C0183E40E949968882331F00E9455 -:101A300085680F948C059B0102C025E030E0A80169 -:101A4000C701B6010E946E41D2C50E94B7E3CFC55F -:101A50000E946AD70E943CD3CAC50E946AD7C7C5F4 -:101A60000E943CD3C4C59091C00095FFFCCF8093E9 -:101A7000C600319684918111F6CFE1EAF1E58491B7 -:101A8000882309F4B4C59091C00095FFFCCF8093E2 -:101A9000C6003196F4CF8AE50E949968882309F43C -:101AA000D6C00E9485686B017C0120E030E040E7F1 -:101AB00051EC0F94200787FD57C020E030E040EA4A -:101AC00050ECC701B6010F941D0518160CF44CC05C -:101AD000F7FAF094F7F8F094C0928A13D0928B132F -:101AE000E0928C13F0928D13EFE4F3E58491882358 -:101AF00041F09091C00095FFFCCF8093C6003196D5 -:101B0000F5CFE091BB13F0E0EE0FFF1FE85DFD4F56 -:101B100080819181FC01E05CFE4F40815181E8555C -:101B2000F10920EA31E567E97EE0808191810E9438 -:101B30003B4FFC012491222341F03091C00035FF3E -:101B4000FCCF2093C6000196F4CF8091C00085FFA2 -:101B5000FCCF8AE08093C6008091C00085FFFCCF57 -:101B60008AE08093C60043C5EFE4F3E584918823BF -:101B700041F09091C00095FFFCCF8093C600319654 -:101B8000F5CFE091BB13F0E0EE0FFF1FE85DFD4FD6 -:101B90000190F081E02DE851FF4F0190F081E02DA0 -:101BA0008491882341F09091C00095FFFCCF8093F1 -:101BB000C6003196F5CFE091BB13F0E0EE0FFF1FAA -:101BC000E85DFD4F0190F081E02DE058FE4F01905F -:101BD000F081E02D8491882341F09091C00095FF21 -:101BE000FCCF8093C6003196F5CF4AE050E061EF1C -:101BF0007FEF8BE397E10E9463DAE091BB13F0E0A3 -:101C0000EE0FFF1FE85DFD4F0190F081E02DEE57D4 -:101C1000FE4F0190F081E02D8491882341F0909156 -:101C2000C00095FFFCCF8093C6003196F5CF4AE007 -:101C300050E06BEF7FEF8BE397E10E9463DA8091D6 -:101C4000C00085FFFCCF8AE08093C600D0C4EFE4DB -:101C5000F3E58491882341F09091C00095FFFCCF7B -:101C60008093C6003196F5CFE091BB13F0E0EE0F04 -:101C7000FF1FE85DFD4F0190F081E02DE851FF4F1F -:101C80006CE971E5808191810E941A4FFC012491D9 -:101C9000222341F03091C00035FFFCCF2093C600D5 -:101CA0000196F4CF8091C00085FFFCCF8AE080933D -:101CB000C60040918A1350918B1360918C137091E0 -:101CC0008D13705822E030E08BE397E10E9439DBFE -:101CD0008091C00085FFFCCF8AE08093C60087C456 -:101CE0000E94B7E38091550C9091560C9093500C44 -:101CF00080934F0CC0909D13D0909E13E0909F1343 -:101D0000F090A013CF8ED8A2E9A2FAA20091A1135D -:101D10001091A2132091A3133091A4130BA31CA321 -:101D20002DA33EA34091A5135091A6136091A71334 -:101D30007091A8134FA358A769A77AA78091A913F8 -:101D40009091AA13A091AB13B091AC138BA79CA751 -:101D5000ADA7BEA7C982DA82EB82FC820D831E8307 -:101D60002F83388749875A876B877C878D879E8723 -:101D7000AF87B88B85E40E949968882359F00E9448 -:101D800085689B01AC016BA57CA58DA59EA50F94D4 -:101D900044040AC020E030E040E050E46BA57CA59C -:101DA0008DA59EA50F9443046BA77CA78DA79EA726 -:101DB00079E8C72E73E1D72EE12CF12C08EC13E45F -:101DC0009E01255D3F4FAE01495D5F4FBE016D5DD8 -:101DD0007F4FCE014F960E943AEF8AE50E949968A4 -:101DE000882349F00E9485689B01AC016FA178A50A -:101DF00089A59AA51EC020E030E040E050E46FA124 -:101E000078A589A59AA50F9444046B017C016FA362 -:101E100078A789A79AA720E030E040E251E40F9428 -:101E20001D0587FF0CC020E030E040E251E4C7010F -:101E3000B6010F9444046FA378A789A79AA759E81D -:101E4000C52E53E1D52EE12CF12C00E711E49E01C3 -:101E5000255D3F4FAE01495D5F4FBE016D5D7F4F18 -:101E6000CE014F960E943AEF88E50E949968882338 -:101E700079F00E9485689B01AC016F8D78A189A1E2 -:101E80009AA10F9444046F8F78A389A39AA308C0E2 -:101E900080E090E0A3E5B3E48F8F98A3A9A3BAA351 -:101EA00089E50E949968882339F00E9485686BA3B0 -:101EB0007CA38DA39EA304C01BA21CA21DA21EA2D4 -:101EC00039E8C32E33E1D32EE12CF12C08E412E4DF -:101ED0009E01255D3F4FAE01495D5F4FBE016D5DC7 -:101EE0007F4FCE014F960E943AEF8CE40E94996892 -:101EF000882359F00E9485689B01AC016BA57CA5E5 -:101F00008DA59EA50F9444040AC020E030E040EA6D -:101F100052E46BA57CA58DA59EA50F9443046BA7E9 -:101F20007CA78DA79EA799E8C92E93E1D92EE12C15 -:101F3000F12C08EC13E49E01255D3F4FAE01495D95 -:101F40005F4FBE016D5D7F4FCE014F960E943AEF0D -:101F50000E94B7E3149A64E670E080E090E00E948B -:101F600099FE0E946EC300E010E0F12C0E948AAE40 -:101F700081111BC0F3940E940C4781E00E94977569 -:101F8000F110F4CF043FF1E01F0711F400E010E07E -:101F90006A9A0115110511F4729A04C004311105F1 -:101FA00009F472980F5F1F4FE1CF729820E030E084 -:101FB0004CE852E46BA57CA58DA59EA50F94440426 -:101FC0006BA77CA78DA79EA7A9E8CA2EA3E1DA2E4E -:101FD000E12CF12C00EA11E49E01255D3F4FAE019A -:101FE000495D5F4FBE016D5D7F4FCE014F960E94F0 -:101FF0003AEF20E030E048E452E46BA57CA58DA5E3 -:102000009EA50F9444046BA77CA78DA79EA7E12CE7 -:10201000F12C00E010E49E01255D3F4FAE01495DCB -:102020005F4FBE016D5D7F4FCE014F960E943AEF2C -:102030001092BD131092BC130E9409C48091BC136E -:102040009091BD13019709F47CC01092BD131092BA -:10205000BC130E945EC48091BC139091BD1382306A -:10206000910549F1039709F069C020E030E048E4A8 -:1020700052E46BA57CA58DA59EA50F9444046BA787 -:102080007CA78DA79EA759E8C52E53E1D52EE12C3C -:10209000F12C00E010E49E01255D3F4FAE01495D4B -:1020A0005F4FBE016D5D7F4FCE014F960E943AEFAC -:1020B0000E94B4C3C3CF20E030E04CE852E46BA5EB -:1020C0007CA58DA59EA50F9444046BA77CA78DA726 -:1020D0009EA779E8C72E73E1D72EE12CF12C00EAF8 -:1020E00011E49E01255D3F4FAE01495D5F4FBE018A -:1020F0006D5D7F4FCE014F960E943AEF20E030E0B9 -:1021000048E452E46BA57CA58DA59EA50F944404DC -:102110006BA77CA78DA79EA7E12CF12C00E010E413 -:102120009E01255D3F4FAE01495D5F4FBE016D5D74 -:102130007F4FCE014F960E943AEF7ECF0E949CC304 -:102140007DCF20E030E040EA50E46BA57CA58DA572 -:102150009EA50F9444046BA77CA78DA79EA709E8B2 -:10216000C02E03E1D02EE12CF12C00E010E49E0102 -:10217000255D3F4FAE01495D5F4FBE016D5D7F4FF5 -:10218000CE014F960E943AEFA80197016BA57CA55E -:102190008DA59EA50F9443046BA77CA78DA79EA732 -:1021A000E12CF12C08EC13E49E01255D3F4FAE01BC -:1021B000495D5F4FBE016D5D7F4FCE014F960E941E -:1021C0003AEFE12CF12C08E412E49E01255D3F4F2B -:1021D000AE01495D5F4FBE016B5F7F4FCE0101963F -:1021E0000E943AEFE12CF12C00E711E49E01255DFD -:1021F0003F4FAE01475F5F4FBE016B5F7F4FCE0128 -:1022000001960E943AEF20E030E040E050E46BA5F8 -:102210007CA58DA59EA50F9444046BA77CA78DA7D4 -:102220009EA7E12CF12C08EC13E49E01255D3F4FA5 -:10223000AE01475F5F4FBE016B5F7F4FCE010196DE -:102240000E943AEFCE010D960E941CFA80914F0C2D -:102250009091500C8093550C9093560C9F938F93B4 -:1022600083E991E59F938F938E01015D1F4F1F932B -:102270000F930F94EC0EC8010E9499650F900F9078 -:102280000F900F900F900F90B2C188E50E9499684F -:10229000882339F00E9485680F948C0580E00E94A5 -:1022A000F1E48AE50E949968882339F00E948568E4 -:1022B0000F948C0581E00E94F1E485E40E94996806 -:1022C000882309F494C10E9485680F948C0582E0EC -:1022D0000E94F1E48CC183E50E949968811104C0D9 -:1022E00008E21EE0F12C10C010E00E9485680F94F7 -:1022F0009105812F0E94C7E51F5F1530B1F7F0CF20 -:10230000F394B4E0FB1679F0D8018D918D010E9411 -:1023100099688823A9F30E9485680F9491058F2DF1 -:102320000E94C7E5EDCF82E40E949968882339F0C6 -:102330000E9485680F94910584E00E94C7E50E9481 -:102340008AE655C183E50E949968882309F453C041 -:102350000E9485680F948C056130710541F06230F0 -:10236000710509F048C008E21EE0F12C25C008E222 -:102370001EE0F12CF80181918F010E949968882359 -:1023800041F00E9485680F948C054FEF8F2D0E94BD -:1023900089E5F394F4E0FF12EDCF82E40E9499689E -:1023A000882349F10E9485680F948C054FEF20C067 -:1023B000F394B4E0FB1689F0D8018D918D010E9451 -:1023C00099688823A9F30E9485680F948C05462F8D -:1023D0006FEF8F2D0E9489E5EBCF82E40E94996810 -:1023E000882349F00E9485680F948C05462F6FEF73 -:1023F00084E00E9489E50E948AE6F9C084E50E9493 -:102400009968882309F4A2C00E9485680F949105F9 -:102410006093A211662309F442C0EFE4F3E58491CE -:10242000882341F09091C00095FFFCCF8093C600B7 -:102430003196F5CFEEEEFDE08191882339F0909151 -:10244000C00095FFFCCF8093C600F6CF40E050E07F -:102450006091A2118BE397E10E949ADAE091BB139D -:10246000F0E0EE0FFF1FE85DFD4F0190F081E02DE1 -:10247000EA58FE4F0190F081E02D8191882339F0D8 -:102480009091C00095FFFCCF8093C600F6CF80915D -:10249000C00085FFFCCF8AE08093C600A8C086E418 -:1024A0000E9499688823D9F00E9485686B017C019D -:1024B000609358137093591380935A1390935B133E -:1024C00020E030E0A9010F942007181644F4C092D0 -:1024D000190CD0921A0CE0921B0CF0921C0CEFE439 -:1024E000F3E58491882341F09091C00095FFFCCFE3 -:1024F0008093C6003196F5CFE091BB13F0E0EE0F6C -:10250000FF1FE85DFD4F0190F081E02DEC58FE4F7C -:102510000190F081E02D8191882339F09091C000E5 -:1025200095FFFCCF8093C600F6CF6091891370E0D1 -:102530004AE050E08BE397E10E9463DA8091C000AB -:1025400085FFFCCF8AE08093C60051C0EFE4F3E53D -:102550008491882341F09091C00095FFFCCF809337 -:10256000C6003196F5CFE091BB13F0E0EE0FFF1FF0 -:10257000E85DFD4F0190F081E02DEE58FE4F019097 -:10258000F081E02D8491882341F09091C00095FF67 -:10259000FCCF8093C6003196F5CF8091C111909108 -:1025A000C21120E6289FF001299FF00D1124E95364 -:1025B000FE4E8191882339F09091C00095FFFCCFA9 -:1025C0008093C600F6CFE1E9F1E58491882341F0DC -:1025D0009091C00095FFFCCF8093C6003196F5CF57 -:1025E0008091C00085FFFCCF8AE08093C6000E94E6 -:1025F000C06824C3C0907413D0907513E090761314 -:10260000F09077132091A9133091AA134091AB1346 -:102610005091AC13C701B6010F9443042DEC3CEC70 -:102620004CEC5DE30F942007181614F00C9482779D -:10263000C092A913D092AA13E092AB13F092AC13FC -:1026400089EA93E10E941CFA60E080E00E94ED6C50 -:10265000F5C288E50E94996881115AC180911D0CCC -:1026600081115BC189E50E949968811156C188E595 -:102670000E9499688823D1F00E948E68672B682B8E -:10268000692BA1F00E9485682091911330919213DB -:1026900040919313509194130F94440460939D13AD -:1026A00070939E1380939F139093A01389E50E94CB -:1026B00099688823D1F00E948E68672B682B692B5C -:1026C000A1F00E9485682091951330919613409156 -:1026D0009713509198130F9444046093A11370932F -:1026E000A2138093A3139093A41380911D0C8111C6 -:1026F00006C08AE50E949968882309F495C08091F4 -:102700008E13882309F40EC180918F13882309F456 -:1027100009C180E090E0A0E4B1E480936813909355 -:102720006913A0936A13B0936B1380E090E0A0E468 -:10273000B0EC80936C1390936D13A0936E13B093D1 -:102740006F1380E090E0A0EAB0E480937013909360 -:102750007113A0937213B093731320E030E040E242 -:1027600051E460915F0C7091600C8091610C9091CC -:10277000620C0F9424056093190C70931A0C8093CB -:102780001B0C90931C0C1092A5131092A613109280 -:10279000A7131092A81329EA33E145EA53E161EA4D -:1027A00073E18DE993E10E9448F9E090190CF090F3 -:1027B0001A0C00911B0C10911C0CA9E8CA2EA3E165 -:1027C000DA2E24E733E140E753E16CE673E188E673 -:1027D00093E10E943AEF0E94B7E3809168139091D1 -:1027E0006913A0916A13B0916B1380939D1390931A -:1027F0009E13A0939F13B093A01380916C1390919C -:102800006D13A0916E13B0916F138093A1139093E9 -:10281000A213A093A313B093A41382E090E00E94AC -:10282000076481E08093C0138AE50E949968882339 -:10283000D1F00E948E68672B682B692BA1F00E9453 -:1028400085682091991330919A1340919B13509170 -:102850009C130F9444046093A5137093A613809364 -:10286000A7139093A81329EA33E145EA53E161EAFB -:1028700073E18DE993E10E9448F980E00E9437DC22 -:102880008091541390915513A0915613B091571302 -:102890008093190C90931A0CA0931B0CB0931C0CF2 -:1028A0008091C2139091C3139093560C8093550C52 -:1028B0000E946AFE6093B3117093B4118093B511B6 -:1028C0009093B6110E9430DC87E50E9499688823B6 -:1028D000A9F01092C013E2ECFDE08191882339F059 -:1028E0009091C00095FFFCCF8093C600F6CF8091F9 -:1028F000C00085FFFCCF8AE08093C6008091C013A2 -:10290000882309F474CE82EA92E50E9419666FCE9C -:1029100080E090E00E940764A1CE81E090E00E94F8 -:102920000764A5CE80E090E00E94076481E090E01B -:102930000E940764EECE0E940C4780E00E949775CB -:102940000E94A2AD0C949A7E0E948E68AB01BC01DD -:1029500040936B1650936C1660936D1670936E16C1 -:1029600086EB95E10E944D3442CE0E9485680F941B -:102970008C058B010C94DA80E091BB13F0E0EE0F34 -:10298000FF1FE85DFD4F0190F081E02DEE59FE4FF5 -:10299000808191810E941CAB82E090E09093B613FD -:1029A0008093B5130E946AFE6093AB117093AC11D3 -:1029B0008093AD119093AE110E946AFE6093B311A3 -:1029C0007093B4118093B5119093B61110CE0E94FC -:1029D0006AFE681979098A099B09693E7340810575 -:1029E000910508F479C0E1EEF1E58491882341F086 -:1029F0009091C00095FFFCCF8093C6003196F5CF33 -:102A0000E091A21124E0E29FF0011124E85BFE4E68 -:102A1000408151816281738121E030E08BE397E155 -:102A20000E9439DBEDEDF1E58491882341F090912E -:102A3000C00095FFFCCF8093C6003196F5CF609122 -:102A4000A21170E04AE050E08BE397E10E9463DA64 -:102A5000E9EDF1E58491882341F09091C00095FF64 -:102A6000FCCF8093C6003196F5CFF7FE03C0EFECA4 -:102A7000FDE025C00E946AFE8B019C01C701B601E2 -:102A80006854744F8F4F9F4F601B710B820B930BD9 -:102A9000A30192010F94FB08BA01A9012AE030E0DA -:102AA0008BE397E10E948FDA8091C00085FFFCCF15 -:102AB0000DC09091C00095FFFCCF8093C60081911E -:102AC0008111F7CF8091C00085FFFCCF3092C60006 -:102AD0000E946AFE4B015C010E940C4780E00E944C -:102AE00097750E94A2ADFFEFCF16DF06EF06FF0637 -:102AF00009F046C08091A011E091A211F0E08F0191 -:102B0000000F111F000F111F085B1E4EEE0FFF1F5D -:102B1000E05BFE4E608171818823C9F0882777FDD4 -:102B20008095982F0F94BF0520E030E040E85FE3E8 -:102B30000F9443049B01AC01D8016D917D918D915F -:102B40009C910F94200787FF50C00C94C082882767 -:102B500077FD8095982F0F94BF0520E030E040E886 -:102B60005FE30F9444049B01AC01F8016081718123 -:102B7000828193810F941D051816BCF50C94C082B8 -:102B8000F7FE02C00C94C082E091A211F0E08F0128 -:102B9000000F111F000F111F085B1E4EEE0FFF1FCD -:102BA000E05BFE4E60817181882777FD8095982FCC -:102BB0000F94BF059B01AC01D8016D917D918D9162 -:102BC0009C910F9443040F948C0597FF07C0909538 -:102BD0008095709561957F4F8F4F9F4F663071053F -:102BE0008105910514F40C94C0820E946AFE6B0169 -:102BF0007C010C94C0820E94B7E388E50E9499682A -:102C0000882319F0179A10928E1389E50E9499680B -:102C1000882319F0169A10928F138AE50E949968FA -:102C200085E40E949968882309F4E1CC149ADFCCEA -:102C30000E94B7E3149A0E9434E4D9CCCD5BDF4FF5 -:102C40000FB6F894DEBF0FBECDBFDF91CF911F91BD -:102C50000F91FF90EF90DF90CF90BF90AF909F903B -:102C60008F907F906F905F904F903F902F9008953E -:102C70000F931F938091BE139091BF13892BA1F0E6 -:102C80000E946AFE0091A3111091A4112091A51138 -:102C90003091A611601B710B820B930B693E734040 -:102CA0008105910508F0A5C08091BE139091BF13D6 -:102CB000892B11F41092C1138091BD119091BE1116 -:102CC000039714F40E94577160E08EEC93E10E9428 -:102CD000BF598091BD119091BE11892B09F47EC01E -:102CE0008091CE138823E1F08091C1119091C2119F -:102CF00020E6289F8001299F100D112409531E4EA4 -:102D00006FEB72E5C8010F945F0E892B59F5B8017E -:102D10008EEC93E10E9441598091CF13882319F0E2 -:102D20000E944D7645C0E091BB13F0E0EE0FFF1F0F -:102D3000E85DFD4F0190F081E02DE05CFE4F0190D9 -:102D4000F081E02D8491882341F09091C00095FF9F -:102D5000FCCF8093C6003196F5CF8091C00085FFEF -:102D6000FCCF23C060E08EEC93E10E94B55AE09165 -:102D7000BB13F0E0EE0FFF1FE85DFD4F0190F08107 -:102D8000E02DEE5BFE4F0190F081E02D84918823D1 -:102D900041F09091C00095FFFCCF8093C600319622 -:102DA000F5CF8091C00085FFFCCF8AE08093C600FC -:102DB0008091BD119091BE1101979093BE118093A7 -:102DC000BD118091C1119091C211019664E070E033 -:102DD0000F94E8089093C2118093C1110E940C4790 -:102DE00080E00E9497750E9458DB1F910F910C9410 -:102DF000A2AD81E08093C1138091BE139091BF1367 -:102E000001979093BF138093BE130E946AFE609354 -:102E1000A3117093A4118093A5119093A61144CF90 -:102E20008F929F92AF92BF92CF92DF92EF92FF92DA -:102E30000F931F93CF93DF938C018C519E4F0E9471 -:102E40000653680189E8C80ED11C21F1780181E49C -:102E5000E81A8EEFF80AE70157018FE1A81AB108C6 -:102E600089EB882E8EE0982ECC15DD0599F0FE01B9 -:102E7000EE19FF09EA0DFB1D91828082FE01789711 -:102E80008081811102C06F97EFCFCE014B970E94D6 -:102E90003035F9CFC80186599F4F0E940653C801AB -:102EA000875B9F4FDF91CF911F910F91FF90EF9024 -:102EB000DF90CF90BF90AF909F908F900C9406536F -:102EC0008EEC93E10C9412538EEC93E1A9CFFB01AD -:102ED0006091680C7091690C70939E1660939D16BA -:102EE0006091A7167091A81670939C1660939B161C -:102EF00062E06093670C6AEA78EB7093690C609308 -:102F0000680C90939A1680939916F0939816E09314 -:102F10009716662757FD6095762F4093931650932A -:102F200094166093951670939616C901AA2797FD7B -:102F3000A095BA2F841B950BA60BB70B80938F1609 -:102F400090939016A0939116B093921680819181E0 -:102F5000AA2797FDA095BA2F841B950BA60BB70B3C -:102F60008093A7169093A816A093A916B093AA16BB -:102F70000895CF93DF93CDB7DEB7C054D1090FB614 -:102F8000F894DEBF0FBECDBF88E0EFE9FCE0DE01C4 -:102F9000D99601900D928A95E1F788E0E7EAFCE086 -:102FA000DE01D19601900D928A95E1F788E0EFEA73 -:102FB000FCE0DE01999601900D928A95E1F788E098 -:102FC000E7EBFCE0DE01919601900D928A95E1F726 -:102FD00088E0EFEBFCE0DE01599601900D928A95B6 -:102FE000E1F788E0E7ECFCE0DE01519601900D92FC -:102FF0008A95E1F788E0EFECFCE0DE01199601909C -:103000000D928A95E1F788E0E7EDFCE0DE0111968C -:1030100001900D928A95E1F7AE01475C5F4F60E049 -:1030200082EB96E10E94DB4EAE014F5C5F4F61E0A8 -:1030300082EB96E10E94DB4EAE01475D5F4F62E09E -:1030400082EB96E10E94DB4EAE014F5D5F4F63E085 -:1030500082EB96E10E94DB4EAE01475E5F4F64E07B -:1030600082EB96E10E94DB4EAE014F5E5F4F65E062 -:1030700082EB96E10E94DB4EAE01475F5F4F66E058 -:1030800082EB96E10E94DB4EAE014F5F5F4F67E03F -:1030900082EB96E10E94DB4EC05CDF4F0FB6F894E6 -:1030A000DEBF0FBECDBFDF91CF9108950F931F9369 -:1030B000CF93DF93EB01142F022F482F60E082EBB8 -:1030C00096E10E943D4D612F82EB96E10F94D4036F -:1030D00011E1FE016491662311F0111117C0112353 -:1030E00039F060E282EB96E10F94D4031150F7CFF0 -:1030F000602F82EB96E10F94D40360E282EB96E1BD -:10310000DF91CF911F910F910D94D40382EB96E143 -:103110000F94D40321961150DCCFCF92DF92EF921F -:10312000FF920F931F93CF93DF93D82EC62E7A0171 -:10313000E901482F82EB96E10E943D4D81E0E816BF -:10314000F10469F182E0E816F10409F04FC0BE0114 -:1031500082EB96E10F94D303FE0101900020E9F782 -:103160003197EC1BFD0B6C2D6E0F4D2D82EB96E114 -:103170000E943D4D6CEE7DE082EB96E10F94D3030F -:10318000FE0101900020E9F76C2D6C1B6E0F4D2D98 -:1031900082EB96E10E943D4D6CE27EE028C0BE01CC -:1031A00082EB96E10F94D303FE0101900020E9F732 -:1031B0003197EC1BFD0B6C2D6E0F4D2D82EB96E1C4 -:1031C0000E943D4D6CEE7DE082EB96E10F94D303BF -:1031D000FE0101900020E9F76C2D6C1B6E0F4D2D48 -:1031E00082EB96E10E943D4DB80101C0BE0182EB29 -:1031F00096E1DF91CF911F910F91FF90EF90DF90BB -:10320000CF900D94D303EF92FF920F931F93CF9320 -:10321000DF93EB01E42E8901F90101900020E9F729 -:10322000F22EFE1A92E1F90E482F60E082EB96E151 -:103230000E943D4D6E2D82EB96E10F94D403FE016A -:103240006491662311F0F11019C06AE382EB96E1F4 -:103250000F94D403FF2039F060E282EB96E10F94E3 -:10326000D403FA94F7CFB80182EB96E1DF91CF91C6 -:103270001F910F91FF90EF900D94D30382EB96E195 -:103280000F94D4032196FA94DACF82EB96E10C9452 -:10329000314DCF936A9ACAE0729A84E690E00E9418 -:1032A000BDFE729884E690E00E94BDFEC150A1F779 -:1032B000CF91089582E08093670C0E946AFE6C5063 -:1032C0007E4F8F4F9F4F6093AC167093AD168093D7 -:1032D000AE169093AF16DDCFE091680CF091690CBB -:1032E000E817F90771F09093690C8093680C40938C -:1032F000A7165093A8166093A9167093AA162111C9 -:10330000D9CF089521E040E050E0BA01E5CF21E0B7 -:1033100040E050E0BA01E0CFCF92DF92EF92FF920F -:103320000F931F93CF93DF938091A7169091A816C8 -:10333000A091A916B091AA1681309048A105B105B7 -:1033400040F01092A7161092A8161092A91610928B -:10335000AA168091A7169091A816A091A916B091CF -:10336000AA16B695A795979587954091B01650E007 -:1033700060E070E084179507A607B70710F4809304 -:10338000B016D091B0161091B11612FB112710F99A -:10339000C0E0B7E1CB2ED12CE12CF12C01E0409123 -:1033A000A7165091A8166091A9167091AA16D1116E -:1033B00038C08091670C8823C1F0E091BB13F0E026 -:1033C000EE0FFF1FE85DFD4F0190F081E02D86813B -:1033D000978123E0423051056105710510F443E007 -:1033E00001C040E2BC018C2F61DE112309F420C230 -:1033F0008091A7169091A816A091A916B091AA162F -:103400000297A105B10508F013C254DF85EB95ECD6 -:10341000DF91CF911F910F91FF90EF90DF90CF90B0 -:1034200071CFD13051F58091670C882389F0769562 -:1034300067955795479523E0413051056105710522 -:1034400011F443E001C040E265EB74E58C2F2EDE01 -:10345000112309F4EDC18091A7169091A816A091AF -:10346000A916B091AA16B695A79597958795019735 -:10347000A105B10509F0DCC1C8CFD230B9F5809102 -:10348000670C8823F1F0E091BB13F0E0EE0FFF1F13 -:10349000E85DFD4F0190F081E02DE254FE4F808108 -:1034A0009181769567955795479523E04230510570 -:1034B0006105710511F443E001C040E2BC018C2FAD -:1034C000F5DD112309F4B4C18091A7169091A816D7 -:1034D000A091A916B091AA16B695A795979587952C -:1034E0000297A105B10509F0A3C18FCFD330B9F57B -:1034F0008091670C8823F1F0E091BB13F0E0EE0FB0 -:10350000FF1FE85DFD4F0190F081E02DE054FE4F7C -:1035100080819181769567955795479523E0433053 -:1035200051056105710511F443E001C040E2BC01A1 -:103530008C2FBCDD112309F47BC18091A7169091DB -:10354000A816A091A916B091AA16B695A795979519 -:1035500087950397A105B10509F06AC156CFD4300C -:10356000B9F58091670C8823F1F0E091BB13F0E08E -:10357000EE0FFF1FE85DFD4F0190F081E02DEE534F -:10358000FE4F80819181769567955795479523E009 -:10359000443051056105710511F443E001C040E27A -:1035A000BC018C2F83DD112309F442C18091A71641 -:1035B0009091A816A091A916B091AA16B695A795B4 -:1035C000979587950497A105B10509F031C11DCFE5 -:1035D000D53051F58091670C882389F076956795F1 -:1035E0005795479523E0453051056105710511F464 -:1035F00043E001C040E268EA74E58C2F57DD1123F7 -:1036000009F416C18091A7169091A816A091A91649 -:10361000B091AA16B695A795979587950597A10598 -:10362000B10509F005C1F1CED63051F58091670C96 -:10363000882389F0769567955795479523E046301E -:1036400051056105710511F443E001C040E26DE9E7 -:1036500074E58C2F2BDD112309F4EAC08091A716A5 -:103660009091A816A091A916B091AA16B695A79503 -:10367000979587950697A105B10509F0D9C0C5CEE4 -:10368000D73051F58091670C882389F0769567953E -:103690005795479523E0473051056105710511F4B1 -:1036A00043E001C040E264E974E58C2FFFDC1123A4 -:1036B00009F4BEC08091A7169091A816A091A916F2 -:1036C000B091AA16B695A795979587950797A105E6 -:1036D000B10509F0ADC099CED83051F58091670C95 -:1036E000882389F0769567955795479523E048306C -:1036F00051056105710511F443E001C040E26AE83B -:1037000074E58C2FD3DC112309F492C08091A716A5 -:103710009091A816A091A916B091AA16B695A79552 -:10372000979587950897A105B10509F081C06DCEE1 -:10373000D93051F58091670C882389F0769567958B -:103740005795479523E0493051056105710511F4FE -:1037500043E001C040E26DE774E58C2FA7DC112344 -:1037600009F466C08091A7169091A816A091A91699 -:10377000B091AA16B695A795979587950997A10533 -:10378000B10509F055C041CEDA3041F58091670CA2 -:10379000882389F0769567955795479523E04A30B9 -:1037A00051056105710511F443E001C040E266E78F -:1037B00074E58C2F7BDC1123D9F18091A7169091B1 -:1037C000A816A091A916B091AA16B695A795979597 -:1037D00087950A97A105B10559F517CEDB3041F55C -:1037E0008091670C882389F0769567955795479562 -:1037F00023E04B3051056105710511F443E001C030 -:1038000040E26AE674E58C2F51DC112389F0809147 -:10381000A7169091A816A091A916B091AA16B695D0 -:10382000A795979587950B97A105B10509F4EDCD5F -:103830008091A7169091A816A091A916B091AA16EA -:103840004897A105B10540F0C092A716D092A816DE -:10385000E092A916F092AA164091A7165091A816C8 -:103860006091A9167091AA16769567955795479518 -:103870008091B01690E00396242F30E082179307D2 -:103880004CF48DEF840F8093B0160093670CDCEF3F -:10389000D40FCFEFCF5FDF5FC43008F480CDDF916E -:1038A000CF911F910F91FF90EF90DF90CF900895EF -:1038B000FF920F931F93CF93DF938091A716909160 -:1038C000A816A091A916B091AA1681309048A1051A -:1038D000B10540F01092A7161092A8161092A916E2 -:1038E0001092AA168091A7169091A816A091A916D9 -:1038F000B091AA16B695A795979587954091B01661 -:1039000050E060E070E084179507A607B70710F451 -:103910008093B016D091B0161091B11612FB1127FA -:1039200010F9C0E0FF24F3948091A7169091A81697 -:10393000A091A916B091AA16D11135C02091670C9B -:103940002223C1F0E091BB13F0E0EE0FFF1FE85D12 -:10395000FD4F0190F081E02DE450FF4F60817181B7 -:1039600023E00297A105B10510F443E001C040E255 -:103970008C2F9CDB112309F483C08091A7169091B2 -:10398000A816A091A916B091AA160297A105B10593 -:1039900008F076C08FDC86EF96EADF91CF911F9119 -:1039A0000F91FF90AFCCD130A9F52091670C222365 -:1039B000D1F0E091BB13F0E0EE0FFF1FE85DFD4F8B -:1039C0000190F081E02D62AD73ADB695A795979506 -:1039D00087952EE70197A105B10511F44EE301C0CB -:1039E00040E28C2F63DB112309F44AC08091A716B3 -:1039F0009091A816A091A916B091AA16B695A79570 -:103A0000979587950197A105B105D1F553DC81EA1A -:103A100098EBD0C0D230A1F52091670C2223D1F0D1 -:103A2000E091BB13F0E0EE0FFF1FE85DFD4F01904A -:103A3000F081E02D64AD75ADB695A7959795879506 -:103A40002EE70297A105B10511F44EE301C040E253 -:103A50008C2F2CDB1123A1F08091A7169091A81632 -:103A6000A091A916B091AA16B695A7959795879596 -:103A70000297A105B10521F41DDC88E998EB9AC0F5 -:103A800020E030E040E251E46091821670918316AC -:103A900080918416909185160F941D0587FF94C020 -:103AA000209120178091A7169091A816A091A91691 -:103AB000B091AA16211138C0D330C1F52091670CFE -:103AC0002223D1F0E091BB13F0E0EE0FFF1FE85D81 -:103AD000FD4F0190F081E02D66AD77ADB695A795CD -:103AE000979587952EE70397A105B10511F44EE34D -:103AF00001C040E28C2FDADA112309F461C0809111 -:103B0000A7169091A816A091A916B091AA16B695DD -:103B1000A795979587950397A105B10509F050C022 -:103B2000C9DB8FE898EB46C003E001C004E00D1349 -:103B300048C02091670C222319F1E091BB13F0E0FB -:103B4000EE0FFF1FE85DFD4F0190F081E02DE05C7E -:103B5000FF4F0190F081E02DB695A7959795879539 -:103B6000402F50E060E070E02EE784179507A6072D -:103B7000B70711F44EE301C040E2BF018C2F96DA83 -:103B80001123F9F04091A7165091A8166091A9163B -:103B90007091AA167695679557954795802F90E076 -:103BA000A0E0B0E0481759076A077B0751F482DBB1 -:103BB00088E297EBDF91CF911F910F91FF90A7CBF8 -:103BC00004E031E0300F01C033E04091A71650917E -:103BD000A8166091A9167091AA16769567955795C3 -:103BE0004795832F90E0A0E0B0E0481759076A0797 -:103BF0007B0788F0832F90E0880F991F0197AA27F1 -:103C000097FDA095BA2F8093A7169093A816A0931E -:103C1000A916B093AA164091A7165091A8166091C4 -:103C2000A9167091AA167695679557954795809134 -:103C3000B01690E00396242F30E0821793074CF4DF -:103C40008DEF840F8093B016F092670CDCEFD40FE9 -:103C5000CFEFCF5FDF5FC43008F466CEDF91CF9146 -:103C60001F910F91FF90089580E090E0A0E8BFE3DE -:103C70008093821690938316A0938416B093851632 -:103C800017CE8093BB1391E090936A0C682F8EEF50 -:103C90009FE00F941D1180918616813019F482E007 -:103CA0008093861608957F928F929F92AF92BF92D3 -:103CB000CF92DF92EF92FF920F931F93CF93DF93F8 -:103CC0008091A7169091A816A091A916B091AA1656 -:103CD00081309048A105B10540F01092A7161092CE -:103CE000A8161092A9161092AA168091A716909164 -:103CF000A816A091A916B091AA16B695A795979562 -:103D000087954091B01650E060E070E08417950709 -:103D1000A607B70710F48093B016E090B016D090C5 -:103D2000B116D2FADD24D0F8F12CCC24C3948091C2 -:103D3000861681113BC0EE2019F07724739437C0AA -:103D40008091670C882301F1E091BB13F0E0EE0F46 -:103D5000FF1FE85DFD4F0190F081E02DE450FF4F23 -:103D6000608171818091A7169091A816A091A916E3 -:103D7000B091AA1623E00297A105B10510F443E023 -:103D800001C040E28F2D92D9DD20B9F28091A716B3 -:103D90009091A816A091A916B091AA160297A10514 -:103DA000B10558F687DA86EF96EA51C0712C8091FA -:103DB0008616823009F05AC07E1057C08091670C79 -:103DC000882359F1E091BB13F0E0EE0FFF1FE85D8F -:103DD000FD4F0190F081E02DE055FF4F0190F08103 -:103DE000E02D8091A7169091A816A091A916B091E8 -:103DF000AA16B695A79597958795472D50E060E050 -:103E000070E023E084179507A607B70711F443E095 -:103E100001C040E2BF018F2D49D9DD2031F18091F1 -:103E2000A7169091A816A091A916B091AA16B695BA -:103E3000A79597958795472D50E060E070E084172F -:103E40009507A607B70789F435DA8DE19DECDF9178 -:103E5000CF911F910F91FF90EF90DF90CF90BF9087 -:103E6000AF909F908F907F904DCA739408E212E0BC -:103E7000C0E0D0E08E2C912CA12CB12C7E104AC039 -:103E80008091670C882319F1D801ED91FC91E654DB -:103E9000FE4F608171818091A7169091A816A09124 -:103EA000A916B091AA16B695A79597958795272D2F -:103EB00030E040E050E082179307A407B50719F4FB -:103EC00020E24EE302C020E240E28F2DEFD8DD2059 -:103ED00009F18091A7169091A816A091A916B0910A -:103EE000AA16B695A7959795879588159905AA0559 -:103EF000BB0581F4DFD98C2FDF91CF911F910F91FA -:103F0000FF90EF90DF90CF90BF90AF909F908F90F9 -:103F10007F90B7CE739421960E5F1F4FC530D105A9 -:103F200009F0ACCF4091A7165091A8166091A91640 -:103F30007091AA167695679557954795872D90E0CD -:103F4000A0E0B0E0481759076A077B0788F0872D83 -:103F500090E0880F991F0197AA2797FDA095BA2F87 -:103F60008093A7169093A816A093A916B093AA16AB -:103F70004091A7165091A8166091A9167091AA16A3 -:103F800076956795579547958091B01690E0039682 -:103F9000242F30E0821793075CF48DEF840F809319 -:103FA000B016C092670CECEFEE2EE40EFF24FA94EC -:103FB000F394E394B3E0BF1508F0B9CEDF91CF914D -:103FC0001F910F91FF90EF90DF90CF90BF90AF9037 -:103FD0009F908F907F900895109226178EEC93E11A -:103FE0000E94C85F1092B01608958EEC93E10E9473 -:103FF000A7561092201783E08093670C08958EECEB -:1040000093E10E94AE5681E08093201783E0809375 -:10401000670C089520E044E064E182EB96E10E94A1 -:10402000704D0E94B99782EB96E10C94314DF2DF0E -:1040300020E040E050E0BA018DE19DEC4DC98CE5F7 -:1040400093E50E941966F3CF10925111109250110E -:1040500010924F1110924E111092881310928713E4 -:10406000E6CF80911E1790911F1790935111809366 -:10407000501180911C1790911D1790934F118093B0 -:104080004E111092881310928713D1DF0C945A416D -:104090008091181790911917909351118093501196 -:1040A000809116179091171790934F1180934E118E -:1040B0001092881310928713BADF0C945A418091A2 -:1040C000790C90917A0C90935111809350118091BA -:1040D000770C9091780C90934F1180934E11109221 -:1040E000881310928713A3DF0C945A418091750CAA -:1040F0009091760C90935111809350118091730C94 -:104100009091740C90934F1180934E1110928813DC -:10411000109287138CDF0C945A418091710C90910E -:10412000720C909351118093501180916F0C90916B -:10413000700C90934F1180934E111092881310922F -:10414000871375DF0C945A4180916D0C90916E0C21 -:10415000909351118093501180916B0C90916C0C45 -:1041600090934F1180934E111092881310928713E1 -:104170005EDF0C945A41CF92DF92EF92FF920F9341 -:104180001F93CF93DF938091A7169091A816A091CB -:10419000A916B091AA1681309048A105B10540F04A -:1041A0001092A7161092A8161092A9161092AA168D -:1041B0008091A7169091A816A091A916B091AA1661 -:1041C000B695A795979587954091B01650E060E019 -:1041D00070E084179507A607B70710F48093B01610 -:1041E000D091B0161091B11612FB112710F9C0E052 -:1041F000BFE0CB2ED12CE12CF12C01E04091A71691 -:104200005091A8166091A9167091AA16D11139C0C3 -:104210008091670C8823C9F0E091BB13F0E0EE0FAA -:10422000FF1FE85DFD4F0190F081E02D86819781B1 -:1042300023E0423051056105710510F443E001C0EF -:1042400040E2BC018C2F0E945698112309F4A4C1AE -:104250008091A7169091A816A091A916B091AA16C0 -:104260000297A105B10508F097C124D885EB95EC1C -:10427000DF91CF911F910F91FF90EF90DF90CF9042 -:1042800041C8D130A9F58091670C882391F07695CB -:1042900067955795479520E24130510561057105B5 -:1042A00011F44EE301C040E268E374E58C2F0E94F4 -:1042B0005698112309F470C18091A7169091A81601 -:1042C000A091A916B091AA16B695A795979587952E -:1042D0000197A105B10509F05FC10E945A99DF91CC -:1042E000CF911F910F91FF90EF90DF90CF90D0CEA4 -:1042F000D230A9F58091670C882391F07695679567 -:104300005795479520E2423051056105710511F43A -:104310004EE301C040E269E274E58C2F0E9456989A -:10432000112309F439C18091A7169091A816A09184 -:10433000A916B091AA16B695A79597958795029755 -:10434000A105B10509F028C10E945A99DF91CF91CA -:104350001F910F91FF90EF90DF90CF9082CED330DE -:10436000A9F58091670C882391F07695679557950C -:10437000479520E2433051056105710511F44EE384 -:1043800001C040E26AE174E58C2F0E945698112327 -:1043900009F402C18091A7169091A816A091A916C0 -:1043A000B091AA16B695A795979587950397A105FD -:1043B000B10509F0F1C00E945A99DF91CF911F9188 -:1043C0000F91FF90EF90DF90CF9090CED430A9F571 -:1043D0008091670C882391F076956795579547955E -:1043E00020E2443051056105710511F44EE301C02E -:1043F00040E26AE074E58C2F0E945698112309F47C -:10440000CBC08091A7169091A816A091A916B09143 -:10441000AA16B695A795979587950497A105B10516 -:1044200009F0BAC00E945A99DF91CF911F910F9164 -:10443000FF90EF90DF90CF9070CED530A9F58091AE -:10444000670C882391F0769567955795479520E2FC -:10445000453051056105710511F44EE301C040E29C -:104460006AEF73E58C2F0E945698112309F494C0CB -:104470008091A7169091A816A091A916B091AA169E -:10448000B695A795979587950597A105B10509F06C -:1044900083C00E945A99DF91CF911F910F91FF9095 -:1044A000EF90DF90CF900BCED630A9F58091670CBE -:1044B000882391F0769567955795479520E2463089 -:1044C00051056105710511F44EE301C040E26BEE48 -:1044D00073E58C2F0E945698112309F45DC08091DA -:1044E000A7169091A816A091A916B091AA16B695F4 -:1044F000A795979587950697A105B10509F04CC03A -:104500000E945A99DF91CF911F910F91FF90EF90E8 -:10451000DF90CF9019CED73009F03EC08091670C64 -:104520008823E9F0E091BB13F0E0EE0FFF1FE85D98 -:10453000FD4F0190F081E02D86A597A576956795B2 -:104540005795479520E2473051056105710511F4F3 -:104550004EE301C040E2BC018C2F0E94569811230B -:10456000D9F08091A7169091A816A091A916B091A4 -:10457000AA16B695A795979587950797A105B105B2 -:1045800059F40E945A99DF91CF911F910F91FF909A -:10459000EF90DF90CF9058CD8091A7169091A816FC -:1045A000A091A916B091AA164097A105B10540F0B7 -:1045B000C092A716D092A816E092A916F092AA1659 -:1045C0004091A7165091A8166091A9167091AA164D -:1045D00076956795579547958091B01690E003962C -:1045E000242F30E0821793074CF48DEF840F8093D3 -:1045F000B0160093670CDCEFD40FCFEFCF5FDF5F17 -:10460000C43008F4FBCDDF91CF911F910F91FF9043 -:10461000EF90DF90CF9008952F923F924F925F924C -:104620006F927F928F929F92AF92BF92CF92DF92C2 -:10463000EF92FF920F931F93CF93DF93CDB7DEB727 -:10464000A2970FB6F894DEBF0FBECDBF8091670C66 -:10465000811104C08091B11682FFBAC28EEC93E141 -:104660000E94AF5E4091A7165091A8166091A916BE -:104670007091AA16413050486105710540F01092C2 -:10468000A7161092A8161092A9161092AA16409179 -:10469000A7165091A8166091A9167091AA16769542 -:1046A0006795579547950091B01610E020E030E0EF -:1046B000401751076207730710F44093B0164090FB -:1046C000B0163090B11632FA332430F8512C9C01D8 -:1046D0002150310939A328A3411038C08091670CBB -:1046E0008823F9F0E091BB13F0E0EE0FFF1FE85DC7 -:1046F000FD4F0190F081E02D668177818091A716B2 -:104700009091A816A091A916B091AA1623E002973D -:10471000A105B10510F443E001C040E2852D0E94DF -:104720005698332099F08091A7169091A816A091E1 -:10473000A916B091AA160297A105B10538F40E94F6 -:104740005A9985EB95EC0E94829942C262ED73E121 -:104750008CE394E10E94E4318091D2138F3229F0EE -:1047600031E0431669F022E001C021E0A8A0B9A021 -:10477000C42CD12CE12CF12C22242394240C4BC0EA -:104780008091670C8823C9F08091A7169091A81694 -:10479000A091A916B091AA16B695A7959795879559 -:1047A00020E20197A105B10511F44EE301C040E2FA -:1047B0006FE27EE0852D0E9456983320A1F2809111 -:1047C000A7169091A816A091A916B091AA16B69511 -:1047D000A795979587950197A105B10521F60E94A8 -:1047E0005A99FADBF5C1241161C140E050E0B501EE -:1047F0008EEC93E10E94CA5A909114148091670C38 -:10480000992309F49BC081110BC0311074C0222D73 -:10481000F1E0AF1AB1083FEFA316B30621F748C184 -:104820008091A7169091A816A091A916B091AA16EA -:10483000B695A79597958795452D60E08C159D05B4 -:10484000AE05BF0561F582EB96E10E943D4D6EE33A -:1048500082EB96E10F94D40365E082EB96E10F942E -:10486000D4038091DF13882329F01092F1130FED08 -:1048700013E102C002ED13E1B2E19B2EF801619158 -:104880008F01662311F0911062C1992009F4BDCF08 -:1048900060E282EB96E10F94D4039A94F6CF82EB18 -:1048A00096E10E943D4D60E282EB96E10F94D403C5 -:1048B00065E082EB96E10F94D4038091DF138823A7 -:1048C00029F01092F1130FED13E102C002ED13E194 -:1048D000A2E19A2EF80161918F01662311F09110E7 -:1048E0003CC1992009F491CF60E282EB96E10F94EC -:1048F000D4039A94F6CF8091A7169091A816A09110 -:10490000A916B091AA16B695A795979587958C1577 -:104910009D05AE05BF0509F07ACF0E945A9962ED58 -:1049200073E18EEC93E10E94125F1092A716109231 -:10493000A8161092A9161092AA164AC1811103C096 -:10494000311071C064CF8091A7169091A816A091E4 -:10495000A916B091AA16B695A795979587958C1527 -:104960009D05AE05BF05B1F520913A172F8F10E0D8 -:10497000412F60E082EB96E10E943D4D60E282EBC8 -:1049800096E10F94D4031F5F143091F7452D60E03A -:1049900082EB96E10E943D4D6EE382EB96E10F942F -:1049A000D40360EE862E63E1962E7FED672E73E1D1 -:1049B000772E01E010E0F30121913F012111D3C0D6 -:1049C00014E1101B60E282EB96E10F94D4031150C6 -:1049D000C9F7B6CF452D60E082EB96E10E943D4DD0 -:1049E00060E282EB96E10F94D4038091DF13882379 -:1049F00029F01092F2130FED13E102C002ED13E162 -:104A000053E1952EF80161918F01662311F0911009 -:104A1000D9C0992009F494CF60E282EB96E10F941B -:104A2000D4039A94F6CF8091A7169091A816A091DE -:104A3000A916B091AA16B695A795979587958C1546 -:104A40009D05AE05BF0509F0E2CE0E945A9982EDA0 -:104A500093E19F938F938CE494E59F938F938E01C2 -:104A60000F5F1F4F1F930F930F94EC0E0F900F903B -:104A70000F900F900F900F907E01F5E0EF0EF11C5C -:104A8000F7018081882349F0992787FD90950F943D -:104A9000200EF70181937F01F3CFC8010E94996531 -:104AA00088E494E50E941966C2DA92C02F5FB0CE06 -:104AB0008091A7169091A816A091A916B091AA1658 -:104AC000B695A79597958795422F50E060E070E0E6 -:104AD00084179507A607B70788F0822F90E0880F04 -:104AE000991F0197AA2797FDA095BA2F8093A71623 -:104AF0009093A816A093A916B093AA168091A71612 -:104B00009091A816A091A916B091AA16B695A7954E -:104B1000979587952091B01630E02D5F3F4F482F35 -:104B200050E02417350764F42DEF280F2093B016BA -:104B300021E02093670C1CEF412E480E55245A9417 -:104B40005394439483E0851508F0C6CD41C082EBB1 -:104B500096E10F94D4039A9491CE82EB96E10F9450 -:104B6000D4039A94B7CE452D602F82EB96E12AA309 -:104B70000E943D4D2AA1622F82EB96E10F94D4034F -:104B80000F5F1F4F0431110509F015CF34010CE2FE -:104B900011E08091B11682FD05C080913A173F8DDA -:104BA000381749F0015011090115110591F78FEFE0 -:104BB000881A980AFECE61E070E080E090E00E94E2 -:104BC00099FEF0CF82EB96E10F94D4039A941ACF1A -:104BD000A2960FB6F894DEBF0FBECDBFDF91CF9186 -:104BE0001F910F91FF90EF90DF90CF90BF90AF900B -:104BF0009F908F907F906F905F904F903F902F90FD -:104C00000895CF93DF93CDB7DEB728970FB6F8940A -:104C1000DEBF0FBECDBF88E0EFEDFCE0DE011196F8 -:104C200001900D928A95E1F7AE014F5F5F4F61E011 -:104C300082EB96E10E94DB4E28960FB6F894DEBF19 -:104C40000FBECDBFDF91CF910895CF93DF93CDB746 -:104C5000DEB728970FB6F894DEBF0FBECDBF88E051 -:104C6000E7EAFCE0DE01119601900D928A95E1F7EA -:104C7000AE014F5F5F4F61E082EB96E10E94DB4E39 -:104C800028960FB6F894DEBF0FBECDBFDF91CF914F -:104C900008958EEF9FE00F940811853028F48093DB -:104CA000BB1310928616089581E08093BB13809306 -:104CB000861608951F93CF93DF93EC01FB0160816B -:104CC00011810F941D11612FCE010196DF91CF91BB -:104CD0001F910D941D11FF920F931F93CF93DF939C -:104CE0008C01EB010F940811F82EC80101960F9466 -:104CF0000811F8828983DF91CF911F910F91FF9066 -:104D000008950895EF92FF920F931F93CF93DF932F -:104D10001F92CDB7DEB77B018C01061B170B460F28 -:104D2000C701800F911FF70161917F0149830F94A3 -:104D30001D1149814E11F4CF0F90DF91CF911F913A -:104D40000F91FF90EF90089581E0909125179111B8 -:104D500080E08093251741E065E277E18FEF9FE0E7 -:104D6000D1DF0E9421E521E047E050E060E070E003 -:104D700086EF96EA0C946C9981E090912517911139 -:104D800080E08093251741E065E277E18FEF9FE0B7 -:104D9000B9DF0E9421E521E049E050E060E070E0E9 -:104DA0008EE093EB0C946C99EF92FF920F931F930C -:104DB000CF93DF931F92CDB7DEB77B018C01061B2B -:104DC000170B460FC701800F911F49830F940811DD -:104DD000F70181937F0149814E13F4CF0F90DF914A -:104DE000CF911F910F91FF90EF9008958F929F9216 -:104DF000AF92BF92EF92FF920F931F93CF93DF93E7 -:104E000041E065E277E18FEF9FE0CEDF8091A7166A -:104E10009091A816A091A916B091AA168130904839 -:104E2000A105B10540F01092A7161092A816109295 -:104E3000A9161092AA168091A7169091A816A09173 -:104E4000A916B091AA16B695A79597958795409102 -:104E5000B01650E060E070E084179507A607B7072A -:104E600010F48093B016D091B0161091B11612FBC9 -:104E7000112710F9C0E001E0D11143C08091670C07 -:104E80008823F9F0E091BB13F0E0EE0FFF1FE85D1F -:104E9000FD4F0190F081E02D668177818091A7160A -:104EA0009091A816A091A916B091AA1623E0029796 -:104EB000A105B10510F443E001C040E28C2F0E942F -:104EC0005698112309F4A2C08091A7169091A816B4 -:104ED000A091A916B091AA160297A105B10508F0F4 -:104EE00095C00E945A9985EB95ECDF91CF911F9167 -:104EF0000F91FF90EF90BF90AF909F908F900C9488 -:104F00008299D13009F042C08091670C882329F141 -:104F1000E091BB13F0E0EE0FFF1FE85DFD4F019045 -:104F2000F081E02DE856FF4F608171818091A716D6 -:104F30009091A816A091A916B091AA16B695A7951A -:104F4000979587952EE70197A105B10511F44EE3DA -:104F500001C040E28C2F0E945698112309F456C0DC -:104F60008091A7169091A816A091A916B091AA16A3 -:104F7000B695A795979587950197A105B10509F075 -:104F800045C00E945A9981E191EBC1C2D230F1F53E -:104F90008091670C882319F1E091BB13F0E0EE0FCC -:104FA000FF1FE85DFD4F0190F081E02D60AD71AD18 -:104FB0008091A7169091A816A091A916B091AA1653 -:104FC000B695A795979587952EE70297A105B10508 -:104FD00011F44EE301C040E28C2F0E945698112339 -:104FE000A9F08091A7169091A816A091A916B0914A -:104FF000AA16B695A795979587950297A105B1052D -:1050000029F40E945A9984E39EE981C28091201775 -:10501000811145C0D33019F034E0F32E42C08091A5 -:10502000670C882329F1E091BB13F0E0EE0FFF1F1E -:10503000E85DFD4F0190F081E02DEA50FF4F608167 -:1050400071818091A7169091A816A091A916B09190 -:10505000AA16B695A795979587952EE70397A1056C -:10506000B10511F44EE301C040E28C2F0E94569826 -:10507000112391F28091A7169091A816A091A916DC -:10508000B091AA16B695A795979587950397A10510 -:10509000B10511F60E945A998FE190EA38C263E097 -:1050A000F62E809120178111A6C0FD124AC0809172 -:1050B000670C882351F1E091BB13F0E0EE0FFF1F66 -:1050C000E85DFD4F0190F081E02D0284F385E02D35 -:1050D0008091A7169091A816A091A916B091AA1632 -:1050E000B695A795979587954F2D50E060E070E0B5 -:1050F00020E284179507A607B70711F44EE301C015 -:1051000040E2BF018C2F0E9456981123D1F080916C -:10511000A7169091A816A091A916B091AA16B695B7 -:10512000A795979587954F2D50E060E070E0841724 -:105130009507A607B70729F40E945A9986E694E5D1 -:105140004CC0EE24E394EF0CED1253C08091670C39 -:10515000882341F1E091BB13F0E0EE0FFF1FE85D03 -:10516000FD4F0190F081E02D648575858091A71633 -:105170009091A816A091A916B091AA16B695A795D8 -:10518000979587958D2E912CA12CB12C20E2881516 -:105190009905AA05BB0511F44EE301C040E28C2F2E -:1051A0000E945698112329F18091A7169091A81674 -:1051B000A091A916B091AA16B695A795979587952F -:1051C0004E2D50E060E070E084179507A607B70702 -:1051D00081F40E945A9982E694E5DF91CF911F9164 -:1051E0000F91FF90EF90BF90AF909F908F900C9495 -:1051F0001966F394F39480912517811113C0FD1261 -:1052000067C08091670C8823E9F1E091BB13F0E05F -:10521000EE0FFF1FE85DFD4F0190F081E02DEA5D8C -:10522000FE4F12C0FD1254C08091670C882351F1CB -:10523000E091BB13F0E0EE0FFF1FE85DFD4F019022 -:10524000F081E02DEC5DFE4F0190F081E02D80912A -:10525000A7169091A816A091A916B091AA16B69576 -:10526000A795979587954F2D50E060E070E020E27C -:1052700084179507A607B70749F140E2BF018C2FB5 -:105280000E945698112321F18091A7169091A8169B -:10529000A091A916B091AA16B695A795979587954E -:1052A0004F2D50E060E070E084179507A607B70720 -:1052B00079F40E945A99DF91CF911F910F91FF903D -:1052C000EF90BF90AF909F908F903ECD4EE3D6CFA2 -:1052D000F39464E377E18CEF9FE0FDDC66E377E134 -:1052E0008AEF9FE0F8DC68E377E188EF9FE0F3DC8A -:1052F0006091381770913917882777FD8095982F1E -:105300000F94BF0520910E1E30910F1E4091101E6C -:105310005091111E0F94240560933017709331172C -:1053200080933217909333178091201781114FC0CB -:10533000FD124CC08091670C882361F1E091BB1392 -:10534000F0E0EE0FFF1FE85DFD4F0190F081E02DD2 -:10535000E251FF4F0190F081E02D8091A7169091CE -:10536000A816A091A916B091AA16B695A7959795DB -:1053700087954F2D50E060E070E02EE78417950789 -:10538000A607B70711F44EE301C040E2BF018C2F1E -:105390000E9456981123D1F08091A7169091A816DB -:1053A000A091A916B091AA16B695A795979587953D -:1053B0004F2D50E060E070E084179507A607B7070F -:1053C00029F40E945A9981E599EBA1C0F394FD124A -:1053D0004CC08091670C882361F1E091BB13F0E031 -:1053E000EE0FFF1FE85DFD4F0190F081E02DE454CA -:1053F000FE4F0190F081E02D8091A7169091A816A4 -:10540000A091A916B091AA16B695A79597958795DC -:105410004F2D50E060E070E02EE784179507A60757 -:10542000B70711F44EE301C040E2BF018C2F0E9488 -:1054300056981123D1F08091A7169091A816A091AB -:10544000A916B091AA16B695A795979587954F2D51 -:1054500050E060E070E084179507A607B70729F4CD -:105460000E945A9983E59EE952C0EE24E394EF0C22 -:105470008091201781115AC0ED1255C08091670CA0 -:10548000882351F1E091BB13F0E0EE0FFF1FE85DC0 -:10549000FD4F0190F081E02DEE50FE4F6081718153 -:1054A0008091A7169091A816A091A916B091AA165E -:1054B000B695A795979587958D2E912CA12CB12CFB -:1054C0002EE788159905AA05BB0511F44EE301C026 -:1054D00040E28C2F0E945698112329F14091A71683 -:1054E0005091A8166091A9167091AA1676956795A5 -:1054F000579547958E2D90E0A0E0B0E048175907EA -:105500006A077B0781F40E945A998CE491ECDF9141 -:10551000CF911F910F91FF90EF90BF90AF909F9010 -:105520008F900C94879982E0E82EEF0C4091A7169B -:105530005091A8166091A9167091AA167695679554 -:10554000579547958E2D90E0A0E0B0E04817590799 -:105550006A077B0788F08E2D90E0880F991F0197CE -:10556000AA2797FDA095BA2F8093A7169093A81607 -:10557000A093A916B093AA164091A7165091A81609 -:105580006091A9167091AA167695679557954795DB -:105590008091B01690E00396242F30E08217930795 -:1055A0004CF48DEF840F8093B0160093670CDCEF02 -:1055B000D40FCFEFCF5FDF5FC43008F45DCCDF9155 -:1055C000CF911F910F91FF90EF90BF90AF909F9060 -:1055D0008F9008956FEF8EEF9FE00D941D118093D3 -:1055E000A01610929F160895EEEFF6E101900020AC -:1055F000E9F73197EE5FF6411E161F0634F0109260 -:10560000121782E08093670C089580E2E431F1057F -:10561000B4F7DF01A250B94E8C933196F7CF2091A9 -:105620001317211108C044E150E0BC018EEF96E150 -:105630000F94DD0ED9CF089520911317211108C0C2 -:1056400044E150E0BC018EEF96E10F94500ECCCFB8 -:1056500008958091231790912417019709F050C065 -:105660008091211790912217892B49F485E090E0D1 -:10567000909322178093211781E08093B213809139 -:10568000211790912217019739F49091D2188091A7 -:10569000D118981709F4A4C080912117909122176E -:1056A000029739F49091D2188091D118981709F483 -:1056B000B3C08091211790912217039739F49091EC -:1056C000D2188091D118981709F4C0C08091211781 -:1056D00090912217049739F49091D2188091D118A3 -:1056E000981709F4BEC08091211790912217059751 -:1056F00039F49091D2188091D118981709F4CBC041 -:105700008091231790912417029709F05DC0809132 -:10571000211790912217892B49F486E090E090930D -:1057200022178093211781E08093B2138091211773 -:1057300090912217019739F49091D2188091D11845 -:10574000981709F4C8C080912117909122170297E9 -:1057500039F49091D2188091D118981709F4D3C0D8 -:105760008091211790912217039739F49091D218C4 -:105770008091D118981709F4EEC08091211790916B -:105780002217049739F49091D2188091D118981764 -:1057900009F4ECC08091211790912217059739F4F4 -:1057A0009091D2188091D118981709F4F2C0809185 -:1057B000211790912217069739F49091D218809171 -:1057C000D118981709F403C18091231790912417D9 -:1057D000039709F027C110922417109223170895F8 -:1057E000109222171092211710922417109223174B -:1057F000E091BB13F0E0EE0FFF1FE85DFD4F01905D -:10580000F081E02D8081918117DF1092B213109208 -:10581000B1131092B01340CFE091BB13F0E0EE0F44 -:10582000FF1FE85DFD4F0190F081E02DEA5EFE4F25 -:105830008081918101DF8FEA93E50E94196681E002 -:1058400090E0909322178093211733CF83EA93E55A -:105850000E94196682E090E09093221780932117AE -:1058600035CFE091BB13F0E0EE0FFF1FE85DFD4F79 -:105870000190F081E02DE05EFE4F80819181DCDEC1 -:105880008FE993E50E94196683E090E090932217D8 -:105890008093211728CFE091BB13F0E0EE0FFF1F9C -:1058A000E85DFD4F0190F081E02DE85EFE4F8081C4 -:1058B0009181C2DE159881E08093B21382E090E07E -:1058C0009093B1138093B01384E090E090932217EB -:1058D0008093211715CF1092221710922117109242 -:1058E000241710922317E091BB13F0E0EE0FFF1F77 -:1058F000E85DFD4F0190F081E02D808191819CDE7B -:105900001092B21320CF10924F1110924E1110929C -:105910005111109250111092531110925211109275 -:105920005511109254110E940C47E091BB13F0E006 -:10593000EE0FFF1FE85DFD4F0190F081E02D8081AB -:1059400091817ADE1092781381E090E09093221793 -:105950008093211705CF8BE993E50E94196682E0B9 -:1059600090E0909322178093211707CF87E993E562 -:105970000E94196682E893E50E9419661092A016AB -:1059800010929F1683E090E0909322178093211746 -:1059900001CFE091BB13F0E0EE0FFF1FE85DFD4F7C -:1059A0000190F081E02DEA53FF4F8081918144DE28 -:1059B0008EE793E50E94196681E793E50E941966D8 -:1059C00084E090E09093221780932117F0CEE0912D -:1059D000BB13F0E0EE0FFF1FE85DFD4F0190F0817B -:1059E000E02DEA53FF4F8081918126DE81E0809394 -:1059F000781310924F1110924E1110925111109273 -:105A00005011109253111092521110925511109280 -:105A100054110E940C4785E090E0909322178093E8 -:105A20002117D2CE089508DE81E0809313170C94DD -:105A300017A0109213170895CF92DF92EF92FF9262 -:105A4000CF93CCB1C095CC1FCC27CC1F8091030144 -:105A500083FFC260C090AC16D090AD16E090AE1639 -:105A6000F090AF160E946AFEC616D706E806F90641 -:105A700010F4489B39C0C093B1168091B116817063 -:105A80009091B11691FD82609091AB16891721F12A -:105A90008130F1F028F0823089F08330A1F01CC011 -:105AA000913021F490913A179F5F05C09230A1F494 -:105AB00090913A17915090933A170EC0992391F311 -:105AC000933051F4F5CF923069F3913029F4F0CF4F -:105AD000933041F3992361F38093AB16CF91FF90FC -:105AE000EF90DF90CF900895C460C5CF0E940AA0C8 -:105AF0006F98E4E0F1E08081877F8083779A9FB799 -:105B0000F894E5E0F1E08081886080839FBF509841 -:105B1000589A60E088E40E948AFD9FB7F894E5E017 -:105B2000F1E08081846080839FBF8091030182FBCC -:105B3000882780F991E089278093A6167DDF10924F -:105B40003A170895CF92DF92EF92FF9275DF80911E -:105B5000030191E082FB882780F989272091A6160E -:105B6000821719F182E08093670C8091030182FB18 -:105B7000882780F989278093A6160E940AA0809121 -:105B8000A616882309F4A8C08EEC93E10E94A455C0 -:105B9000E091BB13F0E0EE0FFF1FE85DFD4F0190B9 -:105BA000F081E02D8281938147DDC090A216D090D4 -:105BB000A316E090A416F090A5160E946AFEC616E1 -:105BC000D706E806F90608F09EC080913A17482FDC -:105BD000552747FD509557FF03C0519541955109F1 -:105BE0004230510584F191E09093670C87FD8F5FFF -:105BF000482F4595552747FD5095652F752F809166 -:105C0000A7169091A816A091A916B091AA16840F74 -:105C1000951FA61FB71F8093A7169093A816A09351 -:105C2000A916B093AA1610923A170E946AFE6856F7 -:105C3000754C8F4F9F4F60937616709377168093B5 -:105C40007816909379168091B11682FF0EC00E944B -:105C50006AFE6856754C8F4F9F4F6093761670930F -:105C600077168093781690937916E091680CF091EE -:105C7000690C1995C0907616D0907716E09078163A -:105C8000F09079160E946AFEC616D706E806F90655 -:105C900038F48091680C9091690C8D519D4C69F598 -:105CA0008091670C823011F40E9445998091670CB5 -:105CB000882319F081508093670C0E946AFE6C590A -:105CC0007F4F8F4F9F4F6093A2167093A3168093C0 -:105CD000A4169093A51617C08EEC93E10E94A356CC -:105CE000E091BB13F0E0EE0FFF1FE85DFD4F019068 -:105CF000F081E02D8481958157CF0E9417A082E02A -:105D00008093670CCDCFFF90EF90DF90CF900895F8 -:105D100081E008958091B11682FB882780F908956B -:105D2000FC01808190E02AE030E0B9010F94E8089E -:105D3000482FCB01B9010F94E808805D80937A1653 -:105D4000405D40937B1610927C168AE796E1089599 -:105D500020E030E040E251E4FC0160817181828109 -:105D600093810F94F2070F948C0577FD02C02BE20C -:105D700001C02DE220937A169B0177FF04C02227F1 -:105D80003327261B370BC90168EE73E00F94E80830 -:105D9000CB01EAE0F0E0BF010F94E808805D80935A -:105DA0007B16C90164E670E00F94E808CB01BF01DF -:105DB0000F94E808805D80937C16C901BF010F94A1 -:105DC000E808282FCB01BF010F94E808805D80937D -:105DD0007D168EE280937E16205D20937F161092B2 -:105DE00080168AE796E108958F929F92AF92BF92B4 -:105DF000CF92DF92EF92FF92CF93FC01C080D180CF -:105E0000E280F38020E030E0A901C701B6010F94E1 -:105E1000200718161CF4C701B60103C0C701B6015C -:105E200090580F948C056B017C016031F7E27F077D -:105E30008105910584F020E137E240E050E00F94C5 -:105E40001D09CA01B9012AE030E040E050E00F949A -:105E50001D09605D01C060E260937A1688EEC81685 -:105E600083E0D806E104F10494F0C701B60128EEFE -:105E700033E040E050E00F941D09CA01B9012AE067 -:105E800030E040E050E00F941D09605D01C060E229 -:105E900060937B16E4E6CE16D104E104F10494F09D -:105EA000C701B60124E630E040E050E00F941D0940 -:105EB000CA01B9012AE030E040E050E00F941D092A -:105EC000605D01C060E360937C168EE280937D1676 -:105ED0007AE0872E912CA12CB12CC701B601A50127 -:105EE00094010F941D09C62FCA01B901A50194019F -:105EF0000F941D09605D60937E16C05DC0937F1690 -:105F00008AE796E1CF91FF90EF90DF90CF90BF901E -:105F1000AF909F908F9008958F929F92AF92BF9273 -:105F2000CF92DF92EF92FF92CF9320E030E04AE7EA -:105F300054E4FC0160817181828193810F94F207A6 -:105F40000F948C0597FD02C020E201C02DE2209342 -:105F50007A166B017C0197FF08C0F094E094D0940E -:105F6000C094C11CD11CE11CF11CC701B60128EE74 -:105F700033E040E050E00F941D09AAE08A2E912CF6 -:105F8000A12CB12CCA01B901A50194010F941D09DE -:105F9000605D60937B168EE280937C16C701B6012C -:105FA00024E630E040E050E00F941D09CA01B90139 -:105FB000A50194010F941D09605D60937D16C701D2 -:105FC000B601A50194010F941D09C62FCA01B9019C -:105FD000A50194010F941D09605D60937E16C05D5C -:105FE000C0937F16109280168AE796E1CF91FF90BA -:105FF000EF90DF90CF90BF90AF909F908F900895DB -:106000008F929F92AF92BF92CF92DF92EF92FF92C8 -:10601000FC0180809180A280B38020E030E048ECD9 -:1060200052E4C501B4010F94F2076B017C0120E03A -:1060300030E0A9010F94200718161CF4C701B6011F -:1060400003C0C701B60190580F948C056B017C0109 -:1060500020E030E0A901C501B4010F941D0587FFC0 -:1060600012C08DE280937A16C701B60128EE33E0A4 -:1060700040E050E00F941D09CA01B9012AE030E068 -:1060800040E050E036C0C701B60120E137E240E011 -:1060900050E00F941D098AE0882E912CA12CB12C80 -:1060A000CA01B901A50194010F941D09662391F05D -:1060B000605D60937A16C701B60128EE33E040E0D8 -:1060C00050E00F941D09CA01B901A50194010F9474 -:1060D0001D0913C080E280937A16C701B60128EE2D -:1060E00033E040E050E00F941D09CA01B901A50159 -:1060F00094010F941D09662311F0605D01C060E2F8 -:1061000060937B16C701B60124E630E040E050E022 -:106110000F941D09BAE08B2E912CA12CB12CCA0131 -:10612000B901A50194010F941D09605D60937C166F -:10613000C701B601A50194010F941D09662381F0E2 -:10614000605D60937F16CA01B901A50194010F94A7 -:106150001D09605D60937E168EE280937D1615C0EA -:10616000CA01B901A50194010F941D09662329F004 -:10617000605D60937E168EE203C080E280937E169F -:1061800080937D1680E280937F16109280168AE7B6 -:1061900096E1FF90EF90DF90CF90BF90AF909F90EF -:1061A0008F900895FC012081318137FF07C08DE277 -:1061B00080937A1631952195310914C02436310522 -:1061C00074F0C90164E670E00F94E808CB016AE05E -:1061D00070E00F94E808805D80937A1606C080E234 -:1061E00080937A162A30310564F0EAE0F0E0C901C4 -:1061F000BF010F94E808CB01BF010F94E808805D50 -:1062000001C080E280937B16C9016AE070E00F94C0 -:10621000E808805D80937C1610927D168AE796E1EF -:106220000895AF92BF92CF92DF92EF92FF920F93B9 -:106230001F93CF93DF936091200270912102809190 -:106240002202909123020E947C4C60938B167093E3 -:106250008C1680938D1690938E1660911C0270910F -:106260001D0280911E0290911F020E94884C609333 -:106270008716709388168093891690938A1680915A -:10628000A7169091A816A091A916B091AA168130D0 -:106290009048A105B10540F01092A7161092A816DB -:1062A0001092A9161092AA168091A7169091A8167E -:1062B000A091A916B091AA16B695A795979587951E -:1062C0004091B01650E060E070E084179507A60793 -:1062D000B70710F48093B0160091B016B090B116C5 -:1062E000B2FABB24B0F810E0E7E0CE2ED12CE12CBE -:1062F000F12CAA24A3948091A7169091A816A0919E -:10630000A916B091AA1601113DC02091670C222355 -:10631000C9F0E091BB13F0E0EE0FFF1FE85DFD4F09 -:106320000190F081E02DE450FF4F6081718123E006 -:106330000297A105B10510F443E001C040E2812FAE -:106340000E945698BB2009F427C18091A71690910E -:10635000A816A091A916B091AA160297A105B10599 -:1063600008F01AC10E945A9986EF96EADF91CF9100 -:106370001F910F91FF90EF90DF90CF90BF90AF9063 -:106380000C948299013009F052C02091670C2223AD -:1063900029F1E091BB13F0E0EE0FFF1FE85DFD4F28 -:1063A0000190F081E02DE25BFF4FC081D181B69575 -:1063B000A795979587950197A105B10531F480E5DB -:1063C00091E1F0DE9C014EE305C080E591E1EADE5B -:1063D0009C0140E2BE01812F0E940399BB2009F479 -:1063E000DBC08091A7169091A816A091A916B09134 -:1063F000AA16B695A795979587950197A105B1051A -:1064000009F0CAC00E945A99E091BB13F0E0EE0F68 -:10641000FF1FE85DFD4F0190F081E02DE25BFF4F33 -:1064200027E231E040E050E060E571E1A7C00230D2 -:1064300009F052C02091670C222329F1E091BB138F -:10644000F0E0EE0FFF1FE85DFD4F0190F081E02DC1 -:10645000EC5AFF4FC081D181B695A7959795879546 -:106460000297A105B10531F48EE491E19BDE9C0118 -:106470004EE305C08EE491E195DE9C0140E2BE0151 -:10648000812F0E940399BB2009F486C08091A71632 -:106490009091A816A091A916B091AA16B695A795A5 -:1064A000979587950297A105B10509F075C00E94DF -:1064B0005A99E091BB13F0E0EE0FFF1FE85DFD4F2E -:1064C0000190F081E02DEC5AFF4F23E930E040E0ED -:1064D00050E06EE471E152C0033009F05DC02091DC -:1064E000670C222329F1E091BB13F0E0EE0FFF1FB0 -:1064F000E85DFD4F0190F081E02DEA5AFF4FC08129 -:10650000D181B695A795979587950397A105B10574 -:1065100031F487E893E146DE9C014EE305C087E84D -:1065200093E140DE9C0140E2BE01812F0E9403996D -:10653000BB2091F18091A7169091A816A091A91661 -:10654000B091AA16B695A795979587950397A1053B -:10655000B10511F50E945A99E091BB13F0E0EE0FDE -:10656000FF1FE85DFD4F0190F081E02DEA5AFF4FDB -:106570002FEF30E040E050E067E873E180819181E7 -:10658000DF91CF911F910F91FF90EF90DF90CF900F -:10659000BF90AF900C9467978091A7169091A81622 -:1065A000A091A916B091AA160897A105B10540F0CF -:1065B000C092A716D092A816E092A916F092AA1639 -:1065C0004091A7165091A8166091A9167091AA162D -:1065D00076956795579547958091B01690E003960C -:1065E000242F30E0821793074CF48DEF840F8093B3 -:1065F000B016A092670C0CEF040F1FEF1F5F0F5F28 -:10660000143008F478CEDF91CF911F910F91FF9055 -:10661000EF90DF90CF90BF90AF900895AF92BF9270 -:10662000CF92DF92EF92FF920F931F93CF93DF935E -:1066300041E065E277E18FEF9FE00E94D4A6809170 -:10664000A7169091A816A091A916B091AA1681300C -:106650009048A105B10540F01092A7161092A81617 -:106660001092A9161092AA168091A7169091A816BA -:10667000A091A916B091AA16B695A795979587955A -:106680004091B01650E060E070E084179507A607CF -:10669000B70710F48093B0160091B016B090B11601 -:1066A000B2FABB24B0F810E04FE0C42ED12CE12C9C -:1066B000F12CAA24A3948091A7169091A816A091DA -:1066C000A916B091AA1601113BC02091670C222394 -:1066D000B9F0E091BB13F0E0EE0FFF1FE85DFD4F56 -:1066E0000190F081E02D6681778123E00297A1057A -:1066F000B10510F443E001C040E2812F0E9456989A -:10670000BB2009F419C28091A7169091A816A091F8 -:10671000A916B091AA160297A105B10508F00CC2FE -:106720000E945A9985EB95ECDF91CF911F910F91C3 -:10673000FF90EF90DF90CF90BF90AF900C94829934 -:10674000013009F052C02091670C222329F1E09119 -:10675000BB13F0E0EE0FFF1FE85DFD4F0190F081ED -:10676000E02DE45BFF4FC081D181B695A795979549 -:1067700087950197A105B10531F485E59CE012DD0F -:106780009C014EE305C085E59CE00CDD9C0140E2E8 -:10679000BE01812F0E940399BB2009F4CDC18091D5 -:1067A000A7169091A816A091A916B091AA16B69511 -:1067B000A795979587950197A105B10509F0BCC1EB -:1067C0000E945A99E091BB13F0E0EE0FFF1FE85DC5 -:1067D000FD4F0190F081E02DE45BFF4F27EE33E0A9 -:1067E0004AE050E065E57CE054C0023009F05FC04B -:1067F0002091670C222329F1E091BB13F0E0EE0F0A -:10680000FF1FE85DFD4F0190F081E02DE25BFF4F3F -:10681000C081D181B695A795979587950297A105D7 -:10682000B10531F480E591E1BDDC9C014EE305C08A -:1068300080E591E1B7DC9C0140E2BE01812F0E941E -:106840000399BB2009F478C18091A7169091A816EE -:10685000A091A916B091AA16B695A7959795879578 -:106860000297A105B10509F067C10E945A99E0910C -:10687000BB13F0E0EE0FFF1FE85DFD4F0190F081CC -:10688000E02DE25BFF4F27E231E040E050E060E5C1 -:1068900071E180819181DF91CF911F910F91FF90E4 -:1068A000EF90DF90CF90BF90AF900C94679703303C -:1068B00009F052C02091670C222329F1E091BB130B -:1068C000F0E0EE0FFF1FE85DFD4F0190F081E02D3D -:1068D000EC5AFF4FC081D181B695A79597958795C2 -:1068E0000397A105B10531F48EE491E15BDC9C01D5 -:1068F0004EE305C08EE491E155DC9C0140E2BE010F -:10690000812F0E940399BB2009F416C18091A7161C -:106910009091A816A091A916B091AA16B695A79520 -:10692000979587950397A105B10509F005C10E94C8 -:106930005A99E091BB13F0E0EE0FFF1FE85DFD4FA9 -:106940000190F081E02DEC5AFF4F2CE830E040E060 -:1069500050E06EE471E19DCF043009F052C0209107 -:10696000670C222329F1E091BB13F0E0EE0FFF1F2B -:10697000E85DFD4F0190F081E02DEA5AFF4FC081A4 -:10698000D181B695A795979587950497A105B105EF -:1069900031F487E893E106DC9C014EE305C087E80B -:1069A00093E100DC9C0140E2BE01812F0E9403992B -:1069B000BB2009F4C1C08091A7169091A816A091A0 -:1069C000A916B091AA16B695A7959795879504979D -:1069D000A105B10509F0B0C00E945A99E091BB131E -:1069E000F0E0EE0FFF1FE85DFD4F0190F081E02D1C -:1069F000EA5AFF4F2FEF30E040E050E067E873E1E4 -:106A000048CF053009F052C02091670C222329F1AC -:106A1000E091BB13F0E0EE0FFF1FE85DFD4F01902A -:106A2000F081E02DE85AFF4FC081D181B695A7953E -:106A3000979587950597A105B10531F483E59CE00D -:106A4000B1DB9C014EE305C083E59CE0ABDB9C0120 -:106A500040E2BE01812F0E940399BB2009F46CC063 -:106A60008091A7169091A816A091A916B091AA1688 -:106A7000B695A795979587950597A105B10509F056 -:106A80005BC00E945A99E091BB13F0E0EE0FFF1F2C -:106A9000E85DFD4F0190F081E02DE85AFF4F27EEB1 -:106AA00033E04AE050E063E57CE0F3CE063009F0E5 -:106AB00043C02091670C2223E9F0E091BB13F0E082 -:106AC000EE0FFF1FE85DFD4F0190F081E02DE252D7 -:106AD000FF4F60817181B695A7959795879520E2C4 -:106AE0000697A105B10511F44EE301C040E2812FE4 -:106AF0000E945698BB2001F18091A7169091A8168C -:106B0000A091A916B091AA16B695A79597958795C5 -:106B10000697A105B10581F40E945A9986EE93E586 -:106B2000DF91CF911F910F91FF90EF90DF90CF9069 -:106B3000BF90AF900C941966209125178091A716ED -:106B40009091A816A091A916B091AA16211114C06F -:106B5000073009F055C02091670C222379F1E091AC -:106B6000BB13F0E0EE0FFF1FE85DFD4F0190F081D9 -:106B7000E02DEA5DFE4F13C0073009F041C02091BF -:106B8000670C2223D9F0E091BB13F0E0EE0FFF1F5A -:106B9000E85DFD4F0190F081E02DEC5DFE4F6081DE -:106BA0007181B695A7959795879520E20797A105DE -:106BB000B10521F140E2812F0E945698BB2001F1DE -:106BC0008091A7169091A816A091A916B091AA1627 -:106BD000B695A795979587950797A105B10581F477 -:106BE0000E945A99DF91CF911F910F91FF90EF90E2 -:106BF000DF90CF90BF90AF900C94BCA64EE3DBCF5C -:106C00008091A7169091A816A091A916B091AA16E6 -:106C10004097A105B10540F0C092A716D092A816E2 -:106C2000E092A916F092AA168091A7169091A81644 -:106C3000A091A916B091AA16B695A7959795879594 -:106C40002091B01630E02D5F3F4F482F50E02417C1 -:106C500035074CF42DEF280F2093B016A092670C47 -:106C60000CEF080F1FEF1F5F0F5F143008F423CDE8 -:106C7000DF91CF911F910F91FF90EF90DF90CF9018 -:106C8000BF90AF900895FC01808191818436910579 -:106C900024F164E670E00F94E808CB012AE030E0CC -:106CA000B9010F94E808805D80937A168081918104 -:106CB000B9010F94E808CB01B9010F94E808805D91 -:106CC00080937B1680819181B9010F94E808805DE3 -:106CD00080937C1610927D1623C08A309105BCF0FB -:106CE0002AE030E0B9010F94E808CB01B9010F9414 -:106CF000E808805D80937A1680819181B9010F94B4 -:106D0000E808805D80937B1610927C1609C06AE0CB -:106D100070E00F94E808805D80937A1610927B16DD -:106D20008AE796E10895FC0180819181883E23E005 -:106D300092075CF068EE73E00F94E808CB016AE01C -:106D400070E00F94E808805D01C080E280937A16BD -:106D500080819181843691055CF064E670E00F9447 -:106D6000E808CB016AE070E00F94E808805D01C09C -:106D700080E280937B16808191818A3091055CF05E -:106D80002AE030E0B9010F94E808CB01B9010F9473 -:106D9000E808805D01C080E280937C16808191814B -:106DA0006AE070E00F94E808805D80937D16109291 -:106DB0007E168AE796E10895CF92EF920F93FFE156 -:106DC000CF2EA0E2EA2E0FE02EE045E066E282EB55 -:106DD00096E10E94284E0F91EF90CF900895CF93A7 -:106DE000DF93FC016491EC012196662331F082EB84 -:106DF00096E10E94154FCE01F4CFDF91CF91089517 -:106E00000F931F93CF93DF938C01EB0141E061E07F -:106E100082EB96E10E943D4DC801E1DF6AE382EB1F -:106E200096E10F94D403FE0101900020E9F76C2F46 -:106E30006E1B6C5E41E082EB96E10E943D4DBE010F -:106E400082EB96E1DF91CF911F910F910D94D303C7 -:106E5000CF92DF92EF92FF920F931F938091A7162C -:106E60009091A816A091A916B091AA160097A10515 -:106E7000B10509F443C0BC01882777FD8095982FA0 -:106E80000F94BF052091821630918316409184168D -:106E9000509185160F94F2079B01AC016091A913E4 -:106EA0007091AA138091AB139091AC130F9444048A -:106EB0006093A9137093AA138093AB139093AC13B0 -:106EC0001092A7161092A8161092A9161092AA1640 -:106ED000B9E8CB2EB3E1DB2E15E5E12EFE2C05ED56 -:106EE0001FE329EA33E145EA53E161EA73E18DE901 -:106EF00093E10E943AEF81E08093670C8091670CE8 -:106F0000882341F089EA93E10E94A8AEBC0189E59B -:106F100094E576DF8091B11682FF0EC021E040E05B -:106F200050E0BA0188E59CE91F910F91FF90EF9026 -:106F3000DF90CF900C946C991F910F91FF90EF9080 -:106F4000DF90CF9008952F923F924F925F926F9271 -:106F50007F928F929F92AF92BF92CF92DF92EF92E9 -:106F6000FF920F931F93CF93DF934C01EB017A01B4 -:106F700019018091A7169091A816A091A916B09119 -:106F8000AA16892B8A2B8B2B09F488C00E94B5681E -:106F90008E01000F111F000F111FC80183569C4E58 -:106FA0005C016091A7167091A816882777FD8095DF -:106FB000982F0F94BF05209182163091831640912F -:106FC0008416509185160F94F207F50120813181C6 -:106FD000428153810F9444042B013C01B70188275F -:106FE00077FD8095982F0F94BF056B017C019B0165 -:106FF000AC01C301B2010F941D05F50187FD05C069 -:10700000408251826282738204C0C082D182E28255 -:10701000F382B101882777FD8095982F0F94BF05E3 -:107020002B013C01C80183569C4E7C01A3019201B7 -:10703000FC0160817181828193810F942007181671 -:107040002CF4F70140825182628273821092A7165B -:107050001092A8161092A9161092AA16F801EB55D4 -:10706000F14F20E030E040E752E46081718182819D -:1070700093810F94240539E8C32E33E1D32E7B018D -:107080008C0129EA33E145EA53E161EA73E18DE9D4 -:1070900093E10E943AEF81E08093670C8091670C46 -:1070A000882361F0CE01880F991F880F991F83569E -:1070B0009C4E0E94A8AEBC01C401A2DE8091B11614 -:1070C00082FF1AC021E040E050E0BA0188E59CE967 -:1070D000DF91CF911F910F91FF90EF90DF90CF90B4 -:1070E000BF90AF909F908F907F906F905F904F90E8 -:1070F0003F902F900C946C99DF91CF911F910F913D -:10710000FF90EF90DF90CF90BF90AF909F908F90C7 -:107110007F906F905F904F903F902F90089522ED59 -:1071200030E040E050E062E070E087E594E50BCFAE -:1071300022ED30E04CEF5FEF61E070E085E594E533 -:1071400002CF2FEF30E040E050E060E070E083E5F8 -:1071500094E5F9CECF93DF931F921F92CDB7DEB7A0 -:107160008091A7169091A816A091A916B091AA1681 -:10717000B7FF08C01092A7161092A8161092A91671 -:107180001092AA1680918F1690919016A091911648 -:10719000B09192164091A7165091A8166091A91629 -:1071A0007091AA1684179507A607B70744F4809331 -:1071B000A7169093A816A093A916B093AA1680912B -:1071C000670C8823B1F080919316909194162091CA -:1071D000A7163091A816820F931F9A838983CE0138 -:1071E00001960E94D2B0BC018091991690919A1696 -:1071F00007DE8091B11682FF1DC0E0919716F091D5 -:10720000981680919316909194162091A71630911C -:10721000A816820F931F9183808340919B165091F3 -:107220009C1660E070E021E080919D1690919E1682 -:107230000E946C990F900F90DF91CF9108950F935A -:107240001F93CF93DF938C01EB0141E060E082EB71 -:1072500096E10E943D4DC801C2DD6AE382EB96E1F2 -:107260000F94D403FE0101900020E9F7BE016E1BCC -:107270007F0B6B5E7F4F7695679543E082EB96E1DF -:107280000E943D4DBE0182EB96E10F94D30365E36E -:107290007EE082EB96E1DF91CF911F910F910D94EB -:1072A000D303CF93DF93E091BB13F0E0EE0FFF1F0A -:1072B000E85DFD4F0190F081E02DEA54FE4FC08162 -:1072C000D1818091A7169091A816A091A916B0918E -:1072D000AA160097A105B105F1F120913F11309157 -:1072E0004011280F391F3093401120933F112091F6 -:1072F000381730913917280F391F309339172093D9 -:107300003817B901882777FD8095982F0F94BF050E -:1073100020910E1E30910F1E4091101E5091111E93 -:107320000F942405609330177093311780933217B0 -:107330009093331762E370E080E090E00E9499FE42 -:107340001092A7161092A8161092A9161092AA16BB -:1073500081E08093670C8091670C882339F080E38B -:1073600097E10E948CAFBC01CE0169DF8091B1161C -:1073700082FF08C021E040E050E0BA0185EB95ECC7 -:107380000E946C9964E377E18CEF9FE00E945AA61B -:1073900066E377E18AEF9FE00E945AA668E377E10F -:1073A00088EF9FE0DF91CF910C945AA64F925F92A5 -:1073B0006F927F928F929F92AF92BF92CF92DF9205 -:1073C000EF92FF920F931F93CF93DF93CDB7DEB76A -:1073D0002C970FB6F894DEBF0FBECDBF8091D013AF -:1073E000882309F4F8C0C090B713D090B813E09088 -:1073F000B913F090BA13C701B60120EA36E841E0AC -:1074000050E00F94FB0829873A874B875C873E83BF -:107410002D830E946AFE0091AB111091AC11209156 -:10742000AD113091AE11601B710B820B930B28EEE6 -:1074300033E040E050E00F94FB0829013A01C90114 -:1074400060E17EE00F94E8088B0124EC2603C00184 -:10745000279F900D1124840D951D6CE370E00F940F -:10746000E8084B0126035001279FB00C112420EFA0 -:1074700031EF029FC001039F900D129F900D1124C8 -:10748000A80EB91EA40CB51C40E060E082EB96E1AA -:107490000E943D4DE091BB13F0E0EE0FFF1FE85D51 -:1074A000FD4F0190F081E02DE252FE4F80819181ED -:1074B00096DC41E066E082EB96E10E943D4DCE0114 -:1074C00005960E94D2B0BC0182EB96E10F94D303E3 -:1074D00069E37EE082EB96E10F94D303A985BA8538 -:1074E00020E639E74EEF5FEF0F944F096C0D7D1DDD -:1074F0008E1D9F1D2AE030E040E050E00F94FB0815 -:10750000B901882777FD8095982F0F94BF0569836F -:107510007A838B839C83CE0101960E94F4AEBC01DA -:1075200082EB96E10F94D3036CE37EE082EB96E16D -:107530000F94D30342E060E082EB96E10E943D4D60 -:10754000E091BB13F0E0EE0FFF1FE85DFD4F0190EF -:10755000F081E02DE052FE4F8081918140DC43E0DC -:1075600068E082EB96E10E943D4D0983CE010196D1 -:107570000E9490AEBC0182EB96E10F94D3036FE3BF -:107580007EE082EB96E10F94D3038982CE010196CF -:107590000E9490AEBC0182EB96E10F94D30369E3A5 -:1075A0007EE082EB96E10F94D303A982CE0101968F -:1075B0000E9490AEBC0182EB96E10F94D30362E48B -:1075C0007EE082EB96E10F94D3030E948AAE88237B -:1075D00009F478C173C181EF9FE00F9410116B0122 -:1075E0007C018DEE9FE00F9410114B015C01C701EF -:1075F000B6010F94BD0569837A838B839C8320EA4F -:10760000C21626E8D20621E0E206F10450F0C701D6 -:10761000B60120EA36E841E050E00F94FB08D901BA -:1076200002C0A0E0B0E0B887AF831A161B0684F44E -:1076300020E639E74EEF5FEF0F944F096C0D7D1D8B -:107640008E1D9F1D0F94BD0569837A838B839C8358 -:10765000C501B40120EA35E040E050E00F94FB089A -:10766000E22E022F10E020EA35E0029FC001039FC6 -:10767000900D129F900D1124AA2797FDA095BA2F67 -:10768000A5019401281B390B4A0B5B0BCA01B901F8 -:107690002CE330E040E050E00F94FB08F22E30E69F -:1076A000E39E800C11244CE3F49E801811240E9468 -:1076B000459940E060E082EB96E10E943D4DE0910B -:1076C000BB13F0E0EE0FFF1FE85DFD4F0190F0816E -:1076D000E02DE652FE4F8081918181DBCE01019643 -:1076E0000E94F4AEFC0101900020E9F7682F6E1BA8 -:1076F0006E5E41E082EB96E10E943D4DCE01019627 -:107700000E94F4AEBC0182EB96E10F94D3038F810B -:1077100098851816190674F5CE0101960E94F4AEEC -:10772000FC0101900020E9F7682F6E1B615F41E0CA -:1077300082EB96E10E943D4D64E47EE082EB96E1AF -:107740000F94D303CE0101960E94F4AEFC01019088 -:107750000020E9F7682F6E1B665F41E082EB96E13F -:107760000E943D4DCE010796DEDABC0182EB96E128 -:107770000F94D30341E062E182EB96E10E943D4D1C -:107780006DE37EE082EB96E10F94D30342E060E08C -:1077900082EB96E10E943D4DE091BB13F0E0EE0FCD -:1077A000FF1FE85DFD4F0190F081E02DE452FE4F98 -:1077B0008081918114DB43E062E182EB96E10E94DB -:1077C0003D4D6DE37EE082EB96E10F94D30343E001 -:1077D0006EE082EB96E10E943D4D882D90E09E8305 -:1077E0008D83CE0105960E94D2B0BC0182EB96E15A -:1077F0000F94D30343E06EE082EB96E10E943D4D8F -:107800006CEE7DE082EB96E10F94D30343E06CE0F5 -:1078100082EB96E10E943D4D67E47EE082EB96E1CB -:107820000F94D30343E069E082EB96E10E943D4D63 -:107830008F2D90E09E838D83CE0105960E94D2B05D -:10784000BC0182EB96E10F94D30343E069E082EB45 -:1078500096E10E943D4D6CEE7DE082EB96E10F9447 -:10786000D30343E067E082EB96E10E943D4D6DE675 -:107870007EE082EB96E10F94D30343E064E082EB79 -:1078800096E10E943D4D1E830D83CE0105960E9418 -:10789000D2B0BC0182EB96E10F94D3030E948AAE72 -:1078A00081110CC00E940C4781E00E94977564E62C -:1078B00070E080E090E00E9499FEF0CF0E945A991B -:1078C0000E9417A02C960FB6F894DEBF0FBECDBF56 -:1078D000DF91CF911F910F91FF90EF90DF90CF90AC -:1078E000BF90AF909F908F907F906F905F904F90E0 -:1078F0000895EF92FF920F931F93CF93DF93EC01C4 -:107900008B017A010E9449991092511110925011E5 -:1079100010924F1110924E110E940C4780E00E946D -:1079200097750E94459940E060E082EB96E10E94E5 -:107930003D4DE091BB13F0E0EE0FFF1FE85DFD4F02 -:107940000190F081E02DEC53FE4F8081918147DA68 -:1079500041E060E082EB96E10E943D4DE091BB1377 -:10796000F0E0EE0FFF1FE85DFD4F0190F081E02D8C -:10797000EA53FE4F8081918132DAC330D10509F498 -:107980008FC07CF5C130D10509F45FC0229709F0A2 -:10799000FAC042E060E082EB96E10E943D4DE0914A -:1079A000BB13F0E0EE0FFF1FE85DFD4F0190F0818B -:1079B000E02DE453FE4F8081918111DA43E060E0D5 -:1079C00082EB96E10E943D4DE091BB13F0E0EE0F9B -:1079D000FF1FE85DFD4F0190F081E02DE253FE4F67 -:1079E0005BC0C430D10509F488C0259709F0CBC02D -:1079F00042E060E082EB96E10E943D4DE091BB13D6 -:107A0000F0E0EE0FFF1FE85DFD4F0190F081E02DEB -:107A1000EA52FE4F80819181E2D943E060E082EB3F -:107A200096E10E943D4DE091BB13F0E0EE0FFF1F89 -:107A3000E85DFD4F0190F081E02DEE52FE4F808118 -:107A40009181CDD943E062E195C042E060E082EBF4 -:107A500096E10E943D4DE091BB13F0E0EE0FFF1F59 -:107A6000E85DFD4F0190F081E02DE653FE4F8081EF -:107A70009181B5D943E060E082EB96E10E943D4DF3 -:107A8000E091BB13F0E0EE0FFF1FE85DFD4F0190AA -:107A9000F081E02DE853FE4F80819181A0D973C021 -:107AA00042E060E082EB96E10E943D4DE091BB1325 -:107AB000F0E0EE0FFF1FE85DFD4F0190F081E02D3B -:107AC000E053FE4F808191818AD943E060E082EBF0 -:107AD00096E10E943D4DE091BB13F0E0EE0FFF1FD9 -:107AE000E85DFD4F0190F081E02DE253FE4F808173 -:107AF000918175D943E061E13DC042E060E082EBF5 -:107B000096E10E943D4DE091BB13F0E0EE0FFF1FA8 -:107B1000E85DFD4F0190F081E02DEE52FE4F808137 -:107B200091815DD942E062E182EB96E10E943D4D98 -:107B3000B80182EB96E10F94D30343E060E082EB5F -:107B400096E10E943D4DE091BB13F0E0EE0FFF1F68 -:107B5000E85DFD4F0190F081E02DEC52FE4F8081F9 -:107B600091813DD943E062E182EB96E10E943D4D77 -:107B7000B70105C082EB96E10E943D4DB80182EB52 -:107B800096E10F94D30368EE73E080E090E00E94EA -:107B900099FE0E94499964E670E080E090E00E94BE -:107BA00099FE0E940C4780E00E9497750E948AAE61 -:107BB000882389F3E091BB13F0E0EE0FFF1FE85D2F -:107BC000FD4F0190F081E02DEC50FE4F80819181BE -:107BD0000E9413ADDF91CF911F910F91FF90EF9015 -:107BE0000C9417A06F927F928F929F92AF92BF9248 -:107BF000CF92DF92EF92FF920F931F93CF93DF9379 -:107C00001F92CDB7DEB73C016B017A015801298381 -:107C10000E946AFE605C7D4B8F4F9F4F6093A2165F -:107C20007093A3168093A4169093A5162981EC1443 -:107C3000FD042CF49EE5892E9EE0992E04C089E473 -:107C4000882E8EE0982E21110E94459940E060E038 -:107C500082EB96E10E943D4D8FEF6816780669F43D -:107C6000E091BB13F0E0EE0FFF1FE85DFD4F0190C8 -:107C7000F081E02DEE51FE4F0FC06114710481F4CC -:107C8000E091BB13F0E0EE0FFF1FE85DFD4F0190A8 -:107C9000F081E02DEC51FE4F80819181A0D839C058 -:107CA000E1E06E16710481F4E091BB13F0E0EE0F99 -:107CB000FF1FE85DFD4F0190F081E02DEA51FE4F7E -:107CC000808191818CD836C0F2E06F16710481F406 -:107CD000E091BB13F0E0EE0FFF1FE85DFD4F019058 -:107CE000F081E02DE851FE4F8081918178D844C029 -:107CF00083E06816710469F4E091BB13F0E0EE0FC5 -:107D0000FF1FE85DFD4F0190F081E02DE651FE4F31 -:107D100043C0E4E06E16710469F4E091BB13F0E037 -:107D2000EE0FFF1FE85DFD4F0190F081E02DE45163 -:107D3000FE4F32C0F5E06F16710469F4E091BB1399 -:107D4000F0E0EE0FFF1FE85DFD4F0190F081E02DA8 -:107D5000E251FE4F21C086E06816710469F4E0919B -:107D6000BB13F0E0EE0FFF1FE85DFD4F0190F081C7 -:107D7000E02DE051FE4F10C0E7E06E16710479F47B -:107D8000E091BB13F0E0EE0FFF1FE85DFD4F0190A7 -:107D9000F081E02DEC50FE4F8081918120D841E0B0 -:107DA00060E082EB96E10E943D4D6BE47EE082EB69 -:107DB00096E10F94D303F1E06F16710431F01614BD -:107DC000170434F040E050E005C041E050E002C04C -:107DD00042E050E0840120E63EE069E070E083E0AC -:107DE00090E00E948D9882E06816710439F0E2E01C -:107DF0006E16710434F440E050E005C041E050E0FC -:107E000002C042E050E0840127E63EE062E070E01C -:107E100082E090E00E948D98F3E06F16710439F0D3 -:107E200083E06816710434F440E050E005C041E09E -:107E300050E002C042E050E0840129E63EE068E004 -:107E400070E082E090E00E948D98E4E06E1671048C -:107E500039F0F4E06F16710434F440E050E005C0EE -:107E600041E050E002C042E050E084012FE93EE0F2 -:107E70006EE070E082E090E00E948D9885E06816E8 -:107E8000710439F0E5E06E16710434F440E050E01E -:107E900005C041E050E002C042E050E084012BE622 -:107EA0003EE060E070E083E090E00E948D981A145C -:107EB0001B043CF4B501882777FD8095982F0E941C -:107EC00099FEFFEFCF1ADF0AEE0CFF1CEC14FD0445 -:107ED0001CF480E090E001C0C6010F90DF91CF91CB -:107EE0001F910F91FF90EF90DF90CF90BF90AF90D8 -:107EF0009F908F907F906F9008952F923F924F9216 -:107F00005F926F927F928F929F92AF92BF92CF9229 -:107F1000DF92EF92FF920F931F93CF93DF93CDB732 -:107F2000DEB729970FB6F894DEBF0FBECDBF998795 -:107F300088879B01CB016AE070E00F94E8084B0151 -:107F4000820E931E412C512CA12CB12C612C712C32 -:107F50001C821B82312C88859985880F991F880F78 -:107F6000991F83569C4E9A83898322242394E88503 -:107F7000F9853296FE83ED83888599850297B9F459 -:107F800020E030E040E85FE36091A5137091A61314 -:107F90008091A7139091A8130F9443046093A513A5 -:107FA0007093A6138093A7139093A81312C020E098 -:107FB00030E040E450E4E981FA816081718182819E -:107FC00093810F944304E981FA81608371838283F2 -:107FD0009383E9E8CE2EE3E1DE2EE12CF12C08E4D8 -:107FE00012E429EA33E145EA53E161EA73E18DE9FC -:107FF00093E10E943AEF0E94B7E31E9906C01D99D3 -:1080000004C01C9902C030E012C088859985892B74 -:1080100009F094C033B036FA332430F81D9B8AC07F -:10802000AA24A394B12C179A10928E1331E0F6E093 -:108030004F16510424F48FEF481A580A10C000E07C -:1080400010E020E043E050E06B817C818D819E81D7 -:108050003F83C8DD9C838B83412C512C3F813F8320 -:108060000E940C4780E00E94977564E670E080E013 -:1080700090E00E9499FE3F818614970434F09FEFB0 -:10808000691A790A332309F477CF08851985000F17 -:10809000111F000F111F03561C4E20E030E040E777 -:1080A00051E4F80160817181828193810F944404CD -:1080B000F801608371838283938339E8C32E33E1AF -:1080C000D32EE12CF12C08E412E429EA33E145EA4D -:1080D00053E161EA73E18DE993E10E943AEF3110D7 -:1080E00055C0888599858130910529F0029731F036 -:1080F00067E67EE005C069E67EE002C06FE97EE0EB -:1081000091E0A916B10439F0E2E0AE16B10431F005 -:1081100047E65EE005C049E65EE002C04FE95EE08A -:10812000681479041CF085E090E002C084E090E0DF -:10813000E0DB2CC062E0A62EB12C75CF8885998536 -:10814000019781F433B035FA332430F81E9B03C015 -:10815000A12CB12C03C052E0A52EB12C169A10927E -:108160008F1364CFE885F985329709F05FCF33B07C -:1081700034FA332430F883B18295869586958370DE -:10818000822580FBAA24A0F8B12C50CF832D2996FC -:108190000FB6F894DEBF0FBECDBFDF91CF911F9118 -:1081A0000F91FF90EF90DF90CF90BF90AF909F9096 -:1081B0008F907F906F905F904F903F902F90089599 -:1081C000AF92BF92DF92EF92FF920F931F93CF93E4 -:1081D000DF931F921F92CDB7DEB7D82E811106C054 -:1081E0001EE1E12EF12C24E630E005C0B8E7EB2ECD -:1081F000F12C20E030E03093511120935011DD201C -:1082000019F024E630E002C020E030E030934F1156 -:1082100020934E110E940C4780E00E94977560E009 -:1082200070E0A12CB12C8FEFA81AB80A69837A8369 -:108230000E940C4780E00E94977569817A8100E96D -:1082400011E020E042E050E0DD2019F085E090E010 -:1082500002C081E090E0C6DCBC01AE14BF041CF398 -:10826000109251111092501110924F1110924E1104 -:108270000E940C470E940C4780E00E94977581E0A5 -:108280000F900F90DF91CF911F910F91FF90EF9082 -:10829000DF90BF90AF900895AF92BF92CF92DF92E0 -:1082A000EF92FF920F931F93CF93DF93CDB7DEB77B -:1082B0006E970FB6F894DEBF0FBECDBF00ED17E08E -:1082C00021E044E050E060E070E08FEF9FEF8ADC57 -:1082D00021E043E050E0BC0180E090E083DC5C0101 -:1082E0001E9904C01D9902C01C9B48C01E9B81C1E1 -:1082F00020E030E040E251E460919D1370919E13C4 -:1083000080919F139091A0130F94440460939D1348 -:1083100070939E1380939F139093A0131D9B72C123 -:1083200020E030E040E251E46091A1137091A2138B -:108330008091A3139091A4130F9444046093A1130C -:108340007093A2138093A3139093A4131C9B63C1F7 -:1083500020E030E040E251E46091A5137091A61353 -:108360008091A7139091A8130F9444046093A513D0 -:108370007093A6138093A7139093A81389E8C82E2F -:1083800083E1D82EE12CF12C08E412E429EA33E150 -:1083900045EA53E161EA73E18DE993E10E943AEF26 -:1083A00064EF71E080E090E00E9499FE1E9906C0A3 -:1083B0001D9904C01C9902C011E04CC01C993AC11F -:1083C0006AE97EE0CE0101960F9427031D9B2CC124 -:1083D00069E67EE0CE0107960F9427031E9B27C116 -:1083E00067E67EE0CE0143960F942703BE016D5EE3 -:1083F0007F4FCE010D960F945103BE01695F7F4FF1 -:10840000CE010D960F948403BE016F5F7F4F0F94D2 -:108410008403BC01CE0149960F945103CE010D9601 -:108420000F94BF02CE0143960F94BF02CE01079670 -:108430000F94BF02CE0101960F94BF02698D7A8D11 -:108440004AE95EE083E090E054DACE0149960F9469 -:10845000BF0210E00E940C4780E00E949775112334 -:1084600009F487C008EE13E021E043E050E0B501D5 -:1084700081E090E0B7DB5C0180E0A2DE882309F4B4 -:1084800078C000ED17E021E043E050E0B50182E064 -:1084900090E0A8DB5C016FEF70E080E090E02DDD04 -:1084A000882309F466C00CED15E021E043E050E0BC -:1084B000B50183E090E096DB5C0162ED70E081E065 -:1084C00090E01BDD882309F454C020E030E040E454 -:1084D00050E460919D1370919E1380919F13909131 -:1084E000A0130F94430460939D1370939E13809385 -:1084F0009F139093A01320E030E040E651E4609198 -:10850000A1137091A2138091A3139091A4130F94BF -:1085100043046093A1137093A2138093A3139093C9 -:10852000A41321E043E050E0B50184E090E05ADB81 -:108530005C0162ED70E082E090E0DFDC8823C9F04E -:1085400000ED17E021E043E050E0B50185E090E068 -:1085500049DB5C0181E034DEF82E882351F008E825 -:1085600013E121E043E050E0B50186E090E03ADB22 -:108570000AC008E813E121E043E050E0B50187E0DC -:1085800090E030DBF12C0E9445990E946AFE6C5904 -:108590007F4F8F4F9F4F6093A2167093A3168093C7 -:1085A000A4169093A516E091BB13F0E0EE0FFF1F09 -:1085B000E85DFD4F0190F081E02DFF2019F0E852B9 -:1085C000FE4F02C0EC50FE4F808191810E9413AD9E -:1085D0006E960FB6F894DEBF0FBECDBFDF91CF9180 -:1085E0001F910F91FF90EF90DF90CF90BF90AF90D1 -:1085F000089560919D1370919E1380919F139091A7 -:10860000A01384CE6091A1137091A2138091A31343 -:108610009091A41393CE6091A5137091A6138091AD -:10862000A7139091A813A2CE6AE97EE0D3CE6AE99F -:108630007EE0D8CE6FE97EE0C5CE20E030E042E0BB -:1086400053E4609148117091491180914A119091C1 -:108650004B110F94200718164CF48DE693E50E94F9 -:10866000196680E693E50E94196636C00E94459916 -:1086700040E060E082EB96E10E943D4DE091BB134B -:10868000F0E0EE0FFF1FE85DFD4F0190F081E02D5F -:10869000EA5FFE4F808191810E94EFB642E060E088 -:1086A00082EB96E10E943D4DE091BB13F0E0EE0FAE -:1086B000FF1FE85DFD4F0190F081E02DE85FFE4F68 -:1086C000808191810E94EFB660ED77E080E090E0DC -:1086D0000E9499FE0E9445990C9417A00E9445990A -:1086E00041E060E082EB96E10E943D4DE091BB13DA -:1086F000F0E0EE0FFF1FE85DFD4F0190F081E02DEF -:10870000E05EFE4F808191810E94EFB642E060E022 -:1087100082EB96E10E943D4DE091BB13F0E0EE0F3D -:10872000FF1FE85DFD4F0190F081E02DE25EFE4FFE -:10873000808191810C94EFB60E94459942E060E0FF -:1087400082EB96E10E943D4DE091BB13F0E0EE0F0D -:10875000FF1FE85DFD4F0190F081E02DE45EFE4FCC -:10876000808191810C94EFB61F93CF93DF930E9489 -:10877000459940E060E082EB96E10E943D4DE0913A -:10878000BB13F0E0EE0FFF1FE85DFD4F0190F0819D -:10879000E02DE65EFE4F808191810E94EFB642E0BF -:1087A00060E082EB96E10E943D4DE091BB13F0E06A -:1087B000EE0FFF1FE85DFD4F0190F081E02DE85EB8 -:1087C000FE4F808191810E94EFB610E043E0612F5F -:1087D00082EB96E10E943D4D61E37EE082EB96E103 -:1087E0000F94D303CAE0D0E00E940C4781E00E94BE -:1087F000977565E570E080E090E00E9499FE219712 -:10880000209791F71F5F143109F7DF91CF911F91E6 -:1088100008951F93CF93DF930E94459940E060E055 -:1088200082EB96E10E943D4DE091BB13F0E0EE0F2C -:10883000FF1FE85DFD4F0190F081E02DEA5EFE4FE5 -:10884000808191810E94EFB642E060E082EB96E188 -:108850000E943D4DE091BB13F0E0EE0FFF1FE85D7D -:10886000FD4F0190F081E02DE85EFE4F8081918107 -:108870000E94EFB610E043E0612F82EB96E10E9488 -:108880003D4D61E37EE082EB96E10F94D303CAE0B5 -:10889000D0E00E940C4781E00E9497756EE670E080 -:1088A00080E090E00E9499FE2197209791F71F5F4A -:1088B000143109F7DF91CF911F9108950F931F9302 -:1088C000CF93DF930E94459940E060E082EB96E110 -:1088D0000E943D4DE091BB13F0E0EE0FFF1FE85DFD -:1088E000FD4F0190F081E02DE45FFE4F808191818A -:1088F0000E94EFB641E061E082EB96E10E943D4DBF -:10890000E091BB13F0E0EE0FFF1FE85DFD4F01901B -:10891000F081E02DE25FFE4F808191810E94EFB6F1 -:1089200042E061E082EB96E10E943D4DE091BB1395 -:10893000F0E0EE0FFF1FE85DFD4F0190F081E02DAC -:10894000EE5EFE4F808191810E94EFB643E061E0D0 -:1089500082EB96E10E943D4DE091BB13F0E0EE0FFB -:10896000FF1FE85DFD4F0190F081E02DEC5EFE4FB2 -:10897000808191810E94EFB641E060E082EB96E158 -:108980000E943D4D63E37EE082EB96E10F94D303BA -:1089900000913A17112707FD1095C1E0D0E08091B2 -:1089A000BC139091BD13892B09F072C00E940C4733 -:1089B00081E00E94977520913A17332727FD309563 -:1089C000C801821B930B97FF03C091958195910974 -:1089D00005970CF44DC0201731070CF421970217AE -:1089E00013070CF42196C430D1052CF4209729F4F8 -:1089F000C1E0D0E002C0C3E0D0E041E060E082EB43 -:108A000096E10E943D4D67E97EE082EB96E10F948E -:108A1000D30342E060E082EB96E10E943D4D67E9BE -:108A20007EE082EB96E10F94D30343E060E082EBBB -:108A300096E10E943D4D67E97EE082EB96E10F945E -:108A4000D3034C2F60E082EB96E10E943D4D63E33F -:108A50007EE082EB96E10F94D30300913A17112741 -:108A600007FD109564E670E080E090E00E9499FEBA -:108A70000E948AAE882309F492CFD093BD13C0938D -:108A8000BC1364EF71E080E090E00E9499FE87CF14 -:108A90000E944599DF91CF911F910F910C9417A0DF -:108AA00020E030E042E053E46091481170914911B8 -:108AB00080914A1190914B110F9420071816ECF4F5 -:108AC00081E08093B21381E090E09093241780932B -:108AD0002317EFE6FEE08191882339F09091C000E2 -:108AE00095FFFCCF8093C600F6CF8091C00085FF34 -:108AF000FCCF8AE08093C60036C00E94459940E0D2 -:108B000060E082EB96E10E943D4DE091BB13F0E006 -:108B1000EE0FFF1FE85DFD4F0190F081E02DEA5F51 -:108B2000FE4F808191810E94EFB642E060E082EBCF -:108B300096E10E943D4DE091BB13F0E0EE0FFF1F68 -:108B4000E85DFD4F0190F081E02DE85FFE4F8081F0 -:108B500091810E94EFB660ED77E080E090E00E94A6 -:108B600099FE0E9445990C9417A08F929F92AF9204 -:108B7000BF92DF92EF92FF920F931F93CF93DF93F9 -:108B8000109226178091A7169091A816A091A91669 -:108B9000B091AA1681309048A105B10540F010921D -:108BA000A7161092A8161092A9161092AA168091D4 -:108BB000A7169091A816A091A916B091AA16B695DD -:108BC000A795979587954091B01650E060E070E0CA -:108BD00084179507A607B70710F48093B016D091B5 -:108BE000B0161091B11612FB112710F9C0E0DD2468 -:108BF000D394D11144C08091670C882309F1E0918E -:108C0000BB13F0E0EE0FFF1FE85DFD4F0190F08118 -:108C1000E02DE055FF4F608171818091A716909102 -:108C2000A816A091A916B091AA1623E00297A10553 -:108C3000B10510F443E001C040E28C2F0E94569829 -:108C40001123E9F08091A7169091A816A091A9167A -:108C5000B091AA160297A105B10588F40E945A990D -:108C60008DE19DECDF91CF911F910F91FF90EF90DF -:108C7000DF90BF90AF909F908F900C9482998091DD -:108C8000D013811105C08091C113882309F466C0F7 -:108C900020E030E040E05FE36091A5137091A613FF -:108CA0008091A7139091A8130F941D0587FF56C0BC -:108CB00064E377E18CEF9FE00E946BA666E377E1C7 -:108CC0008AEF9FE00E946BA668E377E188EF9FE060 -:108CD0000E946BA6D13011F002E041C08091670C78 -:108CE000882329F1E091BB13F0E0EE0FFF1FE85D50 -:108CF000FD4F0190F081E02DE251FF4F60817181C5 -:108D00008091A7169091A816A091A916B091AA16C5 -:108D1000B695A795979587952EE70197A105B1057B -:108D200011F44EE301C040E28C2F0E9456981123AB -:108D300099F28091A7169091A816A091A916B091CA -:108D4000AA16B695A795979587950197A105B105A0 -:108D500019F60E945A9981E599EB39C001E00E9409 -:108D600039FA4091A7165091A8166091A9167091F2 -:108D7000AA16811109C08091D013811105C080917C -:108D8000C113882309F455C00D135BC08091670C93 -:108D900081112AC0112309F454C08091A716909123 -:108DA000A816A091A916B091AA16B695A795979561 -:108DB0008795402F50E060E070E084179507A60784 -:108DC000B70709F03EC00E945A998EE093EBDF91FD -:108DD000CF911F910F91FF90EF90DF90BF90AF90D8 -:108DE0009F908F900C948799E091BB13F0E0EE0F69 -:108DF000FF1FE85DFD4F0190F081E02DEC54FF4F27 -:108E00000190F081E02D7695679557954795802FD5 -:108E100090E0A0E0B0E02EE7481759076A077B070B -:108E200011F44EE301C040E2BF018C2F0E9456981E -:108E3000B1CF0D1306C08091670C81116DC3111164 -:108E400090C30F5F8091D1134091A7165091A8163F -:108E50006091A9167091AA16882309F417C1809110 -:108E6000B915882309F4FBC08091D013882309F435 -:108E700052C00D13A0C08091670C882321F1E091AE -:108E8000BB13F0E0EE0FFF1FE85DFD4F0190F08196 -:108E9000E02DEA54FF4F0190F081E02D7695679523 -:108EA00057954795802F90E0A0E0B0E020E248176A -:108EB00059076A077B0711F44EE301C040E2BF0186 -:108EC0008C2F0E945698112309F475C08091A71623 -:108ED0009091A816A091A916B091AA16B695A7953B -:108EE00097958795402F50E060E070E084179507D4 -:108EF000A607B70709F05FC00E945A99DF91CF918A -:108F00001F910F91FF90EF90DF90BF90AF909F90D7 -:108F10008F900C94FF9F0D134EC08091670C882397 -:108F200021F1E091BB13F0E0EE0FFF1FE85DFD4F74 -:108F30000190F081E02DE854FF4F0190F081E02D89 -:108F40007695679557954795802F90E0A0E0B0E023 -:108F500020E2481759076A077B0711F44EE301C066 -:108F600040E2BF018C2F0E945698112321F180917D -:108F7000A7169091A816A091A916B091AA16B69519 -:108F8000A79597958795402F50E060E070E0841793 -:108F90009507A607B70779F40E945A99DF91CF91F8 -:108FA0001F910F91FF90EF90DF90BF90AF909F9037 -:108FB0008F900C94F59FFF24F394F00EFD124CC09B -:108FC0008091670C882361F1E091BB13F0E0EE0F14 -:108FD000FF1FE85DFD4F0190F081E02DE654FF4F4B -:108FE0000190F081E02D8091A7169091A816A09194 -:108FF000A916B091AA16B695A795979587954F2D66 -:1090000050E060E070E02EE784179507A607B707E9 -:1090100011F44EE301C040E2BF018C2F0E9456982C -:109020001123D1F08091A7169091A816A091A916AE -:10903000B091AA16B695A795979587954F2D50E0B4 -:1090400060E070E084179507A607B70729F40E942F -:109050005A998EE292EDBBCE01E00F0D5EC0809179 -:10906000C11381115AC00D1357C08091670C88231A -:10907000A9F1E091BB13F0E0EE0FFF1FE85DFD4F9B -:109080000190F081E02DE454FF4F12C00D1344C055 -:109090008091670C882311F1E091BB13F0E0EE0F93 -:1090A000FF1FE85DFD4F0190F081E02DE254FF4F7E -:1090B0000190F081E02D7695679557954795802F23 -:1090C00090E0A0E0B0E02EE7481759076A077B0759 -:1090D00009F140E2BF018C2F0E9456981123E1F064 -:1090E0008091A7169091A816A091A916B091AA16E2 -:1090F000B695A79597958795402F50E060E070E072 -:1091000084179507A607B70739F40E945A998CE08F -:1091100093EA5DCE4EE3DECF0F5F8091D0138111D5 -:1091200002C18091C1138111FEC00D1355C0809101 -:10913000670C882361F1E091BB13F0E0EE0FFF1F95 -:10914000E85DFD4F0190F081E02DEE5FFE4F019054 -:10915000F081E02D8091A7169091A816A091A916F4 -:10916000B091AA16B695A79597958795402F50E090 -:1091700060E070E020E284179507A607B70711F4B6 -:109180004EE301C040E2BF018C2F0E94569811238C -:1091900019F18091A7169091A816A091A916B091E7 -:1091A000AA16B695A79597958795402F50E060E051 -:1091B00070E084179507A607B70771F40E945A99C3 -:1091C000DF91CF911F910F91FF90EF90DF90BF90B3 -:1091D000AF909F908F9064CCEE24E394E00EED125C -:1091E00052C08091670C882349F1E091BB13F0E0F5 -:1091F000EE0FFF1FE85DFD4F0190F081E02DF3952C -:10920000608171818091A7169091A816A091A916EE -:10921000B091AA16B695A795979587958D2E912C06 -:10922000A12CB12C20E288159905AA05BB0511F4E3 -:109230004EE301C040E28C2F0E945698112319F191 -:109240008091A7169091A816A091A916B091AA1680 -:10925000B695A795979587954E2D50E060E070E004 -:1092600084179507A607B70771F40E945A99DF91F2 -:10927000CF911F910F91FF90EF90DF90BF90AF9033 -:109280009F908F90DAC932E0E32EE00EED124AC0D3 -:109290008091670C882351F1E091BB13F0E0EE0F51 -:1092A000FF1FE85DFD4F0190F081E02DE450FF4F7E -:1092B000608171818091A7169091A816A091A9163E -:1092C000B091AA16B695A795979587958D2E912C56 -:1092D000A12CB12C2EE788159905AA05BB0511F420 -:1092E0004EE301C040E28C2F0E9456981123D1F02A -:1092F0008091A7169091A816A091A916B091AA16D0 -:10930000B695A795979587954E2D50E060E070E053 -:1093100084179507A607B70729F40E945A9986EF84 -:1093200096EA55CD0D5F8091C11381114FC00D1389 -:109330004CC08091670C882361F1E091BB13F0E091 -:10934000EE0FFF1FE85DFD4F0190F081E02DEA5028 -:10935000FE4F0190F081E02D8091A7169091A81604 -:10936000A091A916B091AA16B695A795979587953D -:10937000402F50E060E070E02EE784179507A607C5 -:10938000B70711F44EE301C040E2BF018C2F0E94E9 -:1093900056981123D1F08091A7169091A816A0910C -:1093A000A916B091AA16B695A79597958795402FBF -:1093B00050E060E070E084179507A607B70729F42E -:1093C0000E945A9986ED99EB02CD0F5F0D134CC0A8 -:1093D0008091670C882361F1E091BB13F0E0EE0F00 -:1093E000FF1FE85DFD4F0190F081E02DE65FFE4F2D -:1093F0000190F081E02D8091A7169091A816A09180 -:10940000A916B091AA16B695A79597958795402F5E -:1094100050E060E070E02EE784179507A607B707D5 -:1094200011F44EE301C040E2BF018C2F0E94569818 -:109430001123D1F08091A7169091A816A091A9169A -:10944000B091AA16B695A79597958795402F50E0AD -:1094500060E070E084179507A607B70729F40E941B -:109460005A998CE899E9B3CCFF24F394F00E40911B -:10947000A7165091A8166091A9167091AA16769514 -:109480006795579547958F2D90E0A0E0B0E048177D -:1094900059076A077B0788F08F2D90E0880F991F86 -:1094A0000197AA2797FDA095BA2F8093A7169093AE -:1094B000A816A093A916B093AA164091A71650918A -:1094C000A8166091A9167091AA167695679557957A -:1094D00047958091B01690E00396242F30E08217D4 -:1094E00093074CF48DEF840F8093B016D092670CE5 -:1094F000DCEFD40FCFEFCF5FDF5FC43008F479CB60 -:10950000DF91CF911F910F91FF90EF90DF90BF906F -:10951000AF909F908F900895E091BB13F0E0EE0F15 -:10952000FF1FE85DFD4F0190F081E02DE250FF4FFD -:109530000190F081E02D7695679557954795802F9E -:1095400090E0A0E0B0E02EE7481759076A077B07D4 -:1095500011F44EE301C040E2BF018C2F0E945698E7 -:109560006ECC8091A7169091A816A091A916B091E3 -:10957000AA16B695A79597958795402F50E060E07D -:1095800070E084179507A607B70709F05ACC0E9428 -:109590005A998BEB90EA1BCC0F931F93CF93DF93D9 -:1095A0000E94459940E060E082EB96E10E943D4DCB -:1095B000E091BB13F0E0EE0FFF1FE85DFD4F01905F -:1095C000F081E02DEC50FF4F808191810E94EFB639 -:1095D00042E063E082EB96E10E943D4D62EA7DE06D -:1095E00082EB96E10F94D30343E063E082EB96E1D4 -:1095F0000E943D4D6CE97DE082EB96E10F94D30330 -:1096000042E06CE082EB96E10E943D4D60E87EE036 -:1096100082EB96E10F94D30343E06CE082EB96E19A -:109620000E943D4D62E87EE082EB96E10F94D30309 -:1096300042E061E082EB96E10E943D4D63E37EE013 -:1096400082EB96E10F94D30300913A17112707FD9F -:109650001095C1E0D0E00E940C4781E00E94977510 -:1096600020913A17332727FD3095C801821B930BB1 -:1096700097FF03C091958195910905970CF460C0FF -:10968000201731070CF42197021713070CF42196C9 -:10969000C530D1052CF4209729F4C1E0D0E002C0F8 -:1096A000C4E0D0E042E061E082EB96E10E943D4DF3 -:1096B00067E97EE082EB96E10F94D30343E061E03B -:1096C00082EB96E10E943D4D67E97EE082EB96E1F8 -:1096D0000F94D30342E06AE082EB96E10E943D4D95 -:1096E00067E97EE082EB96E10F94D30343E06AE002 -:1096F00082EB96E10E943D4D67E97EE082EB96E1C8 -:109700000F94D3034C2FC330D1051CF44F5F61E09D -:1097100002C041506AE082EB96E10E943D4D63E356 -:109720007EE082EB96E10F94D30300913A17112764 -:1097300007FD109564E670E080E090E00E9499FEDD -:109740000E948AAE882309F486CFCE01880F991F24 -:1097500068E377E18D50904F0E946BA668E377E154 -:1097600088EF9FE00E945AA661E087EF9FE00F9488 -:109770001D1164EF71E080E090E00E9499FE0E946C -:109780004599DF91CF911F910F910C9417A00F93E2 -:109790001F93CF93DF93EC01843091053CF085302B -:1097A000910539F08C010350110905C000E010E06B -:1097B00002C001E010E040E060E082EB96E10E9430 -:1097C0003D4D64E87EE082EB96E10F94D30340E0E8 -:1097D00061E082EB96E10E943D4DF801EE0FFF1F24 -:1097E000E85DFD4F0190F081E02DE654FE4F808151 -:1097F00091810E94EFB641E060E082EB96E10E9429 -:109800003D4D64E87EE082EB96E10F94D30341E0A6 -:1098100061E082EB96E10E943D4DF801EE0FFF1FE3 -:10982000E65DFD4F0190F081E02DE654FE4F808112 -:1098300091810E94EFB642E060E082EB96E10E94E7 -:109840003D4D64E87EE082EB96E10F94D30342E065 -:1098500061E082EB96E10E943D4DF801EE0FFF1FA3 -:10986000E45DFD4F0190F081E02DE654FE4F8081D4 -:1098700091810E94EFB643E060E082EB96E10E94A6 -:109880003D4D64E87EE082EB96E10F94D30343E024 -:1098900061E082EB96E10E943D4DF801EE0FFF1F63 -:1098A000E25DFD4F0190F081E02DE654FE4F808196 -:1098B00091810E94EFB6C130D10511F440E012C091 -:1098C000C230D10511F441E00DC0C330D1057CF0A8 -:1098D00042E060E082EB96E10E943D4DC530D1054B -:1098E00031F443E060E082EB96E10E943D4D63E39A -:1098F0007EE082EB96E10F94D30324974CF443E08F -:1099000063E182EB96E10E943D4D69E97EE008C08B -:1099100040E063E182EB96E10E943D4D6BE97EE021 -:1099200082EB96E1DF91CF911F910F910D94D303BC -:109930000F931F93CF93DF938FEF8093BB130E94FE -:1099400001A60E94459981E090E021DF00913A173D -:10995000112707FD1095C1E0D0E02091BB13809145 -:10996000BC179091BD174091BE175091BF172F3F64 -:1099700041F49C01241B350B2F773327223031050E -:10998000A4F0841B950B8F779927029724F01092EF -:10999000BB1310926A0C0E9425A60E944599DF9184 -:1099A000CF911F910F910C9417A00E940C4781E05A -:1099B0000E94977520913A17332727FD3095C801EB -:1099C000821B930B97FF03C0919581959109059791 -:1099D000F4F0201731070CF42197021713070CF449 -:1099E0002196C630D1052CF4209729F4C1E0D0E0AF -:1099F00002C0C5E0D0E0CE01CADE00913A171127BF -:109A000007FD109564E670E080E090E004C064E13A -:109A100070E080E090E00E9499FE0E948AAE882368 -:109A200009F49BCF8C2F81500E94419E64EF71E01E -:109A300080E090E00E9499FE90CF8F929F92AF922B -:109A4000BF92CF92DF92EF92FF920F931F93CF932B -:109A5000DF93CDB7DEB728970FB6F894DEBF0FBE01 -:109A6000CDBF80916A0C813009F040C010926A0C21 -:109A70000E9449A6E091BB13F0E0EE0FFF1FE85DE6 -:109A8000FD4F0190F081E02D6081718144E150E053 -:109A90008EEF96E10F94500E8DEE9FE00F9408111B -:109AA0008F3F01F58EEE9FE00F9408118F3FD1F4A8 -:109AB0008FEE9FE00F9408118F3FA1F480EF9FE09D -:109AC0000F9408118F3F71F440E050E0BA018DEE21 -:109AD0009FE00F94151140E050E0BA0181EF9FE044 -:109AE0000F94151180918616811122DF8091A116A5 -:109AF000882321F081508093A11603C081E08093D8 -:109B0000670C8091670C882309F40DC48091271796 -:109B10008F5F809327178E3129F40E940AA010923C -:109B200027170EC06AE00F94C708911109C020E002 -:109B300044E064E182EB96E10E944D4E0E94B997A9 -:109B400020E030E040E05FE36091481170914911FE -:109B500080914A1190914B110F9444040F948C05FD -:109B600078876F836091501170915111882777FD2C -:109B70008095982F0F94BF0520E030E040E05FE330 -:109B80000F9444040F948C057E836D8340E060E065 -:109B900082EB96E10E943D4D62E082EB96E10F94EC -:109BA000D403CE0107960E94D2B0BC0182EB96E1AD -:109BB0000F94D3036FE282EB96E10F94D403CE01AE -:109BC00005960E9443B6BC0182EB96E10F94D30345 -:109BD00083EE93E50E94EFB666E97EE082EB96E1C4 -:109BE0000F94D30340E06AE082EB96E10E943D4D82 -:109BF0006DE97EE082EB96E10F94D3032CEA35EC1D -:109C000047E257E36091A5137091A6138091A713C3 -:109C10009091A8130F94440469837A838B839C8367 -:109C2000CE0101960E9400B0BC0182EB96E10F9438 -:109C3000D30360E282EB96E10F94D40341E060E04D -:109C400082EB96E10E943D4D20E030E040E05FE392 -:109C5000609142117091431180914411909145118E -:109C60000F9444040F948C0578876F8360914E1194 -:109C700070914F11882777FD8095982F0F94BF051D -:109C800020E030E040E05FE30F9444040F948C0543 -:109C90007E836D8360E082EB96E10F94D403CE0166 -:109CA00007960E94D2B0BC0182EB96E10F94D303D9 -:109CB0006FE282EB96E10F94D403CE0105960E94E9 -:109CC00043B6BC0182EB96E10F94D30380EE93E59B -:109CD0000E94EFB666E97EE082EB96E10F94D30333 -:109CE00041E06AE082EB96E10E943D4D66E97EE04C -:109CF00082EB96E10F94D30366E082EB96E10F943A -:109D0000D40385E59CE00E94D2B0BC0182EB96E1D1 -:109D10000F94D30365E282EB96E10F94D40363E9D9 -:109D20007EE082EB96E10F94D30342E060E082EBA9 -:109D300096E10E943D4D8091C113882319F08DED6D -:109D400093E502C08AED93E50E94EFB68091D013AF -:109D50008823A9F18091B915882319F180916316A0 -:109D600090916416A0916516B09166160097A105B2 -:109D7000B105B9F0BC01CD016D597F4F8F4F9F4F99 -:109D800024E630E040E050E00F94FB0860916B1651 -:109D900070916C1680916D1690916E160F94FB0861 -:109DA00001C020E030E03A832983CE0101960E9471 -:109DB000D2B0BC0182EB96E10F94D3030DC0809129 -:109DC000C113882329F085ED93E50E94EFB609C001 -:109DD00081ED93E50E94EFB665E282EB96E10F9488 -:109DE000D40362E97EE082EB96E10F94D30342E074 -:109DF0006AE082EB96E10E943D4D66E97EE082EBEF -:109E000096E10F94D30367E082EB96E10F94D403BD -:109E10008091AB119091AC11A091AD11B091AE11A8 -:109E2000892B8A2B8B2BE1F10E946AFE20E6C22E41 -:109E30002AEED22EE12CF12CA70196010F94FB08FB -:109E400049015A016091AB117091AC118091AD1133 -:109E50009091AE11A70196010F94FB08C401821BDB -:109E6000930B6CE370E00F94D408182F6983CE0134 -:109E700001960E9490AEBC0182EB96E10F94D30351 -:109E80006AE382EB96E10F94D4031983CE01019625 -:109E90000E9490AEBC0182EB96E10F94D30304C004 -:109EA0008BEC93E50E94EFB666E97EE082EB96E1EB -:109EB0000F94D30343E060E082EB96E10E943D4DB6 -:109EC0008091B5139091B613009719F021E020937B -:109ED000B2133091D0132091B213332309F476C01A -:109EE000211174C06FED73E187EC96E10F94BF0E02 -:109EF000892BD1F0E7ECF6E1DF010D900020E9F7C6 -:109F0000AD0141505109475C564160E070E0CF011E -:109F10000F948F0E6FED73E187EC96E10F94C80EEE -:109F20001092FD161092FC16EFEDF3E10190002067 -:109F3000E9F7E05EF341759708F445C00091FC161F -:109F40001091FD16C12CD12C8091FC169091FD161C -:109F50009801281B390B2431310534F00196909378 -:109F6000FD168093FC169AC1C114D104B9F7F8010B -:109F7000E253FC4E7F019189602F681B43E09111F1 -:109F800015C082EB96E10E943D4DD70150966C9131 -:109F900082EB96E10F94D4031092FD161092FC16FA -:109FA00000E010E0CC24C394D12CCECF82EB96E11C -:109FB0000E943D4DF701608982EB96E10F94D40336 -:109FC0000F5F1F4FC1CF67EC76E164C1222309F414 -:109FD0005FC1892B09F4A1C08091B3139091B41390 -:109FE00001968E30910528F49093B4138093B313A7 -:109FF00004C01092B4131092B31343E067E082EBF5 -:10A0000096E10E943D4D8DEB93E50E94EFB600E096 -:10A0100010E08091B3139091B4130817190770F4EE -:10A0200067E0600F43E082EB96E10E943D4D8BEBD1 -:10A0300093E50E94EFB60F5F1F4FEBCF8091B513F2 -:10A040009091B6138230910581F1B0F4019709F037 -:10A0500064C043E060E082EB96E10E943D4DE091F8 -:10A06000BB13F0E0EE0FFF1FE85DFD4F0190F081A4 -:10A07000E02DE05AFE4F3EC08330910549F1049730 -:10A0800009F04BC043E060E082EB96E10E943D4D59 -:10A09000E091BB13F0E0EE0FFF1FE85DFD4F019074 -:10A0A000F081E02DEA59FE4F2AC043E060E082EBE8 -:10A0B00096E10E943D4DE091BB13F0E0EE0FFF1FD3 -:10A0C000E85DFD4F0190F081E02DEE59FE4F17C085 -:10A0D00043E060E082EB96E10E943D4DE091BB13CE -:10A0E000F0E0EE0FFF1FE85DFD4F0190F081E02DE5 -:10A0F000EC59FE4F808191810E94EFB60EC08081A5 -:10A1000091810E94EFB61092B6131092B51310927F -:10A11000B4131092B3131092B2138091B0139091B4 -:10A12000B113019709F0AEC08091AE139091AF13B7 -:10A130008B309105A8F143E060E082EB96E10E944C -:10A140003D4D64E87EE082EB96E10F94D30343E05B -:10A1500060E082EB96E10E943D4DE091BB13F0E0A0 -:10A16000EE0FFF1FE85DFD4F0190F081E02DE850FC -:10A17000FF4F808191810E94EFB661EA7EE082EB21 -:10A1800096E10F94D3036091AE137091AF136A50B0 -:10A1900071094AE050E082EB96E10F943E0472C0F0 -:10A1A000039711F5E091BB13F0E0EE0FFF1FE85DA0 -:10A1B000FD4F0190F081E02D808191810E94EFB6EA -:10A1C000E091BB13F0E0EE0FFF1FE85DFD4F019043 -:10A1D000F081E02D808191810E941CAB1092B2131E -:10A1E0001092B1131092B0138091AE139091AF13EF -:10A1F0000497069758F543E060E082EB96E10E94F1 -:10A200003D4D65E87EE082EB96E10F94D30343E099 -:10A2100060E082EB96E10E943D4DE091BB13F0E0DF -:10A22000EE0FFF1FE85DFD4F0190F081E02DE6503D -:10A23000FF4F808191810E94EFB68091AE13909183 -:10A24000AF1301979093AF138093AE138091AE1329 -:10A250009091AF130A97B1F4E091BB13F0E0EE0FC9 -:10A26000FF1FE85DFD4F0190F081E02DE650FF4FAC -:10A27000808191810E94EFB689E090E09093AF13C6 -:10A280008093AE138091B0139091B113029731F483 -:10A290006EEF76E182EB96E10F94D3030EEF16E1B9 -:10A2A000D8018D918D0180322CF460E282EB96E131 -:10A2B0000F94D403B7E102311B0791F78091C113CA -:10A2C000882331F18091B213811122C043E060E014 -:10A2D00082EB96E10E943D4D64E87EE082EB96E1E0 -:10A2E0000F94D30343E060E082EB96E10E943D4D82 -:10A2F000E091BB13F0E0EE0FFF1FE85DFD4F019012 -:10A30000F081E02DE850FE4F808191810E94EFB6F0 -:10A310008AE08093A1168091231790912417892BAE -:10A3200011F00E9429AB8091B11682FB882780F939 -:10A330009091A016992399F090919F16992339F046 -:10A34000811119C010929F161092A01614C0882374 -:10A3500091F00E945A9981E080939F160CC0882347 -:10A3600051F021E040E050E0BA0185EB95EC0E940D -:10A370006C990E940AA08091550C9091560C2091E6 -:10A38000A7163091A8168436910534F4820F931FD6 -:10A39000853691054CF416C08436910599F0820FEC -:10A3A000931F8436910574F41092A7161092A81684 -:10A3B0001092A9161092AA1684E690E09093560C7B -:10A3C0008093550C2091550C3091560C8091A71616 -:10A3D0009091A8162436310569F48B3091051CF054 -:10A3E000865A9F4F09C0863FEFEF9E078CF4825933 -:10A3F0009F4F02C0820F931F9093560C8093550C71 -:10A400001092A7161092A8161092A9161092AA16CA -:10A410008091550C9091560C8A3091051CF48AE07D -:10A4200090E005C0883E934034F087EE93E090932F -:10A43000560C8093550C28960FB6F894DEBF0FBECD -:10A44000CDBFDF91CF911F910F91FF90EF90DF90E3 -:10A45000CF90BF90AF909F908F9008950F931F93D0 -:10A46000CF9340E060E082EB96E10E943D4DE091A9 -:10A47000BB13F0E0EE0FFF1FE85DFD4F0190F08190 -:10A48000E02DE654FF4F808191810E94EFB642E0BB -:10A4900062E082EB96E10E943D4DE091BB13F0E05B -:10A4A000EE0FFF1FE85DFD4F0190F081E02DE05FB2 -:10A4B000FE4F808191810E94EFB643E062E082EB23 -:10A4C00096E10E943D4DE091BB13F0E0EE0FFF1FBF -:10A4D000E85DFD4F0190F081E02DE25FFE4F80814D -:10A4E00091810E94EFB642E060E082EB96E10E942B -:10A4F0003D4D67E97EE082EB96E10F94D30343E0A4 -:10A5000060E082EB96E10E943D4D67E97EE082EBE0 -:10A5100096E10F94D3038091A7169091A816A0916D -:10A52000A916B091AA160397A105B10564F082E0BF -:10A5300090E0A0E0B0E08093A7169093A816A093B7 -:10A54000A916B093AA168091A7169091A816A0916B -:10A55000A916B091AA16181619061A061B0664F059 -:10A5600081E090E0A0E0B0E08093A7169093A81659 -:10A57000A093A916B093AA164091A7164F5F60E06A -:10A5800082EB96E10E943D4D63E37EE082EB96E133 -:10A590000F94D3030E948AAE882309F469C0809186 -:10A5A000A7169091A816A091A916B091AA16019786 -:10A5B000A105B10511F40E9417A08091A7169091F2 -:10A5C000A816A091A916B091AA160297A105B105E7 -:10A5D00009F04EC0C1E0C09378130E943DE4E091C1 -:10A5E000BB13F0E0EE0FFF1FE85DFD4F0190F0811F -:10A5F000E02DEA53FF4F808191810E941CAB1092A5 -:10A60000D01360E08EEC93E10E94B55A0E946AFE7E -:10A610006093A7117093A8118093A9119093AA1128 -:10A620000091AB111091AC112091AD113091AE1190 -:10A63000601B710B820B930B28EE33E040E050E07F -:10A640000F94FB086091B7137091B8138091B91300 -:10A650009091BA130E94CC700E9417A0C093A016CC -:10A6600010929F1682E090E0909324178093231716 -:10A67000CF911F910F910895CF93DF93CFE4D3E54E -:10A68000FE018491882341F09091C00095FFFCCF9A -:10A690008093C6003196F5CFEAEBF7E584918823E5 -:10A6A00041F09091C00095FFFCCF8093C600319699 -:10A6B000F5CF8091C00085FFFCCF8AE08093C60073 -:10A6C000FE018491EFE4F3E5882349F09091C00006 -:10A6D00095FFFCCF8093C60031968491F5CF4091D1 -:10A6E000061E5091071E6091081E7091091E82EB94 -:10A6F00097E50E94756540910A1E50910B1E60916E -:10A700000C1E70910D1E8FEA97E50E9475654091B1 -:10A710000E1E50910F1E6091101E7091111E8CEA3A -:10A7200097E50E9475654091121E5091131E60912D -:10A73000141E7091151E89EA97E50E947565809137 -:10A74000C00085FFFCCF8AE08093C600FE018491A3 -:10A75000EFE4F3E5882349F09091C00095FFFCCF2A -:10A760008093C60031968491F5CFEFE8F7E58491A8 -:10A77000882341F09091C00095FFFCCF8093C600E4 -:10A780003196F5CF8091C00085FFFCCF8AE08093A1 -:10A79000C600FE018491EFE4F3E5882349F090912F -:10A7A000C00095FFFCCF8093C60031968491F5CF11 -:10A7B0004091161E5091171E6091181E7091191E1F -:10A7C00086E897E50E94756540911A1E50911B1E00 -:10A7D00060911C1E70911D1E83E897E50E947565AF -:10A7E00040911E1E50911F1E6091201E7091211ECF -:10A7F00080E897E50E9475654091221E5091231EC6 -:10A800006091241E7091251E8DE797E50E94756565 -:10A810008091C00085FFFCCF8AE08093C600FE01D6 -:10A820008491EFE4F3E5882349F09091C00095FF0F -:10A83000FCCF8093C60031968491F5CFEFE5F7E524 -:10A840008491882341F09091C00095FFFCCF8093C4 -:10A85000C6003196F5CF8091C00085FFFCCF8AE01D -:10A860008093C600FE018491EFE4F3E5882349F06C -:10A870009091C00095FFFCCF8093C60031968491E3 -:10A88000F5CF4091F61D5091F71D6091F81D709124 -:10A89000F91D86E597E50E9487654091FA1D509164 -:10A8A000FB1D6091FC1D7091FD1D83E597E50E94E5 -:10A8B00087654091FE1D5091FF1D6091001E7091B3 -:10A8C000011E80E597E50E9487654091021E509128 -:10A8D000031E6091041E7091051E8DE497E50E9491 -:10A8E00087658091C00085FFFCCF8AE08093C60019 -:10A8F000FE018491EFE4F3E5882349F09091C000D4 -:10A9000095FFFCCF8093C60031968491F5CFE8E1A6 -:10A91000F7E58491882341F09091C00095FFFCCF2A -:10A920008093C6003196F5CF8091C00085FFFCCFA3 -:10A930008AE08093C600FE018491EFE4F3E588236A -:10A9400049F09091C00095FFFCCF8093C6003196EE -:10A950008491F5CF4091EE1D5091EF1D6091F01D57 -:10A960007091F11D8FE097E50E9475654091EA1D99 -:10A970005091EB1D6091EC1D7091ED1D8CE097E501 -:10A980000E9475658091C00085FFFCCF8AE08093AE -:10A99000C600FE018491EFE4F3E5882349F090912D -:10A9A000C00095FFFCCF8093C60031968491F5CF0F -:10A9B000E9E5F6E58491882341F09091C00095FF88 -:10A9C000FCCF8093C6003196F5CF8091C00085FF03 -:10A9D000FCCF8AE08093C600FE018491EFE4F3E5AA -:10A9E000882349F09091C00095FFFCCF8093C6006A -:10A9F00031968491F5CF4091F21D5091F31D6091F5 -:10AA0000F41D7091F51D80E596E50E9475654091F5 -:10AA1000DA1D5091DB1D6091DC1D7091DD1D8DE410 -:10AA200096E50E9475654091261E5091271E609103 -:10AA3000281E7091291E8AE496E50E948765409140 -:10AA4000E61D5091E71D6091E81D7091E91D87E4B6 -:10AA500096E50E9475654091E21D5091E31D60915D -:10AA6000E41D7091E51D84E496E50E9475654091B2 -:10AA7000DE1D5091DF1D6091E01D7091E11D81E4AC -:10AA800096E50E9475658091C00085FFFCCF8AE045 -:10AA90008093C600FE018491EFE4F3E5882349F03A -:10AAA0009091C00095FFFCCF8093C60031968491B1 -:10AAB000F5CFEFE2F6E58491882341F09091C00054 -:10AAC00095FFFCCF8093C6003196F5CF8091C000F2 -:10AAD00085FFFCCF8AE08093C600FE018491EFE4FD -:10AAE000F3E5882349F09091C00095FFFCCF809357 -:10AAF000C60031968491F5CF4091911350919213F5 -:10AB0000609193137091941386E296E50E947565A7 -:10AB100040919513509196136091971370919813EB -:10AB200083E296E50E9475654091991350919A13BE -:10AB300060919B1370919C1380E296E50E9475656D -:10AB40008091C00085FFFCCF8AE08093C600FE01A3 -:10AB50008491EFE4F3E5882349F09091C00095FFDC -:10AB6000FCCF8093C60031968491F5CFE2E1F6E503 -:10AB70008491882341F09091C00095FFFCCF809391 -:10AB8000C6003196F5CF8091C00085FFFCCF8AE0EA -:10AB90008093C600FE018491EFE4F3E5882349F039 -:10ABA0009091C00095FFFCCF8093C60031968491B0 -:10ABB000F5CF4091240250912502609126027091B8 -:10ABC000270288E096E50E947565609120027091E9 -:10ABD000210280912202909123020E947C4CAB01C1 -:10ABE000BC0185E096E50E94756560911C0270913C -:10ABF0001D0280911E0290911F020E94884CAB01A1 -:10AC0000BC0182E096E50E9475658091C00085FFD9 -:10AC1000FCCF8AE08093C600FE018491EFE4F3E567 -:10AC2000882349F09091C00095FFFCCF8093C60027 -:10AC300031968491F5CFEEECF5E58491882341F0CF -:10AC40009091C00095FFFCCF8093C6003196F5CF60 -:10AC50008091C00085FFFCCF8AE08093C600FE0192 -:10AC60008491EFE4F3E5882349F09091C00095FFCB -:10AC7000FCCF8093C60031968491F5CF40912B0C88 -:10AC800050912C0C60912D0C70912E0C84EC95E55C -:10AC90000E94756520E030E040E752E46091230CAB -:10ACA0007091240C8091250C9091260C0F94F20742 -:10ACB000AB01BC0181EC95E50E9475654091811363 -:10ACC0005091821360918313709184138EEB95E5FC -:10ACD0000E9475658091C00085FFFCCF8AE080935B -:10ACE000C600FE018491EFE4F3E5882349F09091DA -:10ACF000C00095FFFCCF8093C60031968491F5CFBC -:10AD0000E2E9F5E58491882341F09091C00095FF38 -:10AD1000FCCF8093C6003196F5CF8091C00085FFAF -:10AD2000FCCF8AE08093C600FE018491EFE4F3E556 -:10AD3000882349F09091C00095FFFCCF8093C60016 -:10AD400031968491F5CF40917D1350917E1360919F -:10AD50007F137091801388E895E50E94756520E067 -:10AD600030E040E752E460911F0C7091200C80911C -:10AD7000210C9091220C0F94F207AB01BC0185E8E5 -:10AD800095E50E9475658091C00085FFFCCF8AE043 -:10AD90008093C600FE018491EFE4F3E5882349F037 -:10ADA0009091C00095FFFCCF8093C60031968491AE -:10ADB000F5CFEBE2F5E58491882341F09091C00056 -:10ADC00095FFFCCF8093C6003196F5CF8091C000EF -:10ADD00085FFFCCF8AE08093C600FE018491EFE4FA -:10ADE000F3E5882349F09091C00095FFFCCF809354 -:10ADF000C60031968491F5CF4091861350E060E013 -:10AE000070E081E295E50E9487658091C00085FF32 -:10AE1000FCCF8AE08093C600FE018491EFE4F3E565 -:10AE2000882349F09091C00095FFFCCF8093C60025 -:10AE300031968491F5CF8091AD138823A1F1EEE096 -:10AE4000F5E58491882341F09091C00095FFFCCFF7 -:10AE50008093C6003196F5CF8091C00085FFFCCF6E -:10AE60008AE08093C600FE01C491EFE4F3E5CC23B1 -:10AE700049F08091C00085FFFCCFC093C600319699 -:10AE8000C491F5CF40914B0C50914C0C60914D0CFE -:10AE900070914E0C84E095E50E9475658091C0002C -:10AEA00085FFFCCF11C0E8EEF4E58491882341F0E2 -:10AEB0009091C00095FFFCCF8093C6003196F5CFEE -:10AEC0008091C00085FFFCCF8AE08093C600DF91AF -:10AED000CF910895AF92BF92CF92DF92EF92FF92FF -:10AEE0000F931F93CF93DF93CDB7DEB7E0970FB6E5 -:10AEF000F894DEBF0FBECDBF80E1E7EEFCE0DE01DF -:10AF0000919601900D928A95E1F780E1E7EFFCE0E0 -:10AF1000DE01519601900D928A95E1F780E1E7E01C -:10AF2000FDE0DE01119601900D928A95E1F76E0128 -:10AF300081E2C80ED11C86E0E82E8EE1F82E8E014B -:10AF40000F5E1F4F66E17EE1AE014F5F5F4F96EFF0 -:10AF5000A92E9DE1B92E20E030E0F601819191917A -:10AF6000A191B1916F01F70181939193A193B19355 -:10AF70007F01F80181919191A191B1918F01FB0124 -:10AF800081939193A193B193BF01FA018191919122 -:10AF9000A191B191AF01F50181939193A193B193E7 -:10AFA0005F012F5F3F4F24303105B9F60E9449FA07 -:10AFB00080E090E8ABE3B5E48093EE1D9093EF1D45 -:10AFC000A093F01DB093F11D8093EA1D9093EB1DAB -:10AFD000A093EC1DB093ED1D1092F21D1092F31D85 -:10AFE0001092F41D1092F51D80E29EE4A0E0B0E006 -:10AFF0008093261E9093271EA093281EB093291E8F -:10B000001092DA1D1092DB1D1092DC1D1092DD1DD6 -:10B0100080E090E0A0EAB1E48093E61D9093E71D04 -:10B02000A093E81DB093E91D8DEC9CECACECBEE365 -:10B030008093E21D9093E31DA093E41DB093E51D62 -:10B0400080E090E0A0EAB0E48093DE1D9093DF1DE5 -:10B05000A093E01DB093E11D1092991310929A13E2 -:10B0600010929B1310929C131092951310929613AA -:10B0700010929713109298131092911310929213AA -:10B08000109293131092941382ED90E090931F17F7 -:10B0900080931E1782E390E090931D1780931C17F6 -:10B0A00010921B1710921A178FEF90E090931917B8 -:10B0B0008093181784E690E09093171780931617E3 -:10B0C000109215171092141783E393EBA3E2B2E4E6 -:10B0D0008093240290932502A0932602B093270226 -:10B0E00060E070E08CE990E40E94764C609320026E -:10B0F00070932102809322029093230265E87BE201 -:10B100008CEA92E40E94824C60931C0270931D02B0 -:10B1100080931E0290931F020E94374080E090E0CF -:10B12000A0E8BFE38093180290931902A0931A023B -:10B13000B0931B021092861380E090E0A0E4B0E48C -:10B1400080932B0C90932C0CA0932D0CB0932E0C71 -:10B1500040E050E064E372E44093230C5093240CED -:10B160006093250C7093260C109281131092821319 -:10B17000109283131092841310927D1310927E13F9 -:10B1800010927F131092801340E050E060E071E471 -:10B1900040931F0C5093200C6093210C7093220C51 -:10B1A0001092AD1380934B0C90934C0CA0934D0CCC -:10B1B000B0934E0C0E943B76EFE4F3E58491882334 -:10B1C00041F09091C00095FFFCCF8093C60031966E -:10B1D000F5CFE6ECF4E58491882341F09091C0002E -:10B1E00095FFFCCF8093C6003196F5CF8091C000CB -:10B1F00085FFFCCF8AE08093C600E0960FB6F894F6 -:10B20000DEBF0FBECDBFDF91CF911F910F91FF9099 -:10B21000EF90DF90CF90BF90AF9008951F920F9264 -:10B220000FB60F9211240BB60F922F933F934F93AB -:10B230005F936F938F939F93EF93FF936091C600FB -:10B240002091BC173091BD17C90101968F779927BE -:10B250004091BE175091BF178417950741F0F9012F -:10B26000E45CF84E60839093BD178093BC17FF9108 -:10B27000EF919F918F916F915F914F913F912F919E -:10B280000F900BBE0F900FBE0F901F9018959A0154 -:10B29000AB01211581EE38074105510549F182E0E6 -:10B2A0008093C00060E079E08DE390E00F941D0989 -:10B2B0002150310941095109CA01B90122E030E0A8 -:10B2C00040E050E00F941D093093C5002093C40066 -:10B2D0008091C10080618093C1008091C10088602D -:10B2E0008093C1008091C10080688093C10008955F -:10B2F0001092C00020E130E0E7CF2091BE173091DE -:10B30000BF178091BC179091BD178217930771F0FA -:10B31000F901E45CF84E80812F5F3F4F2F77332790 -:10B320003093BF172093BE1790E008958FEF9FEFE3 -:10B3300008958091BE179091BF179093BD17809389 -:10B34000BC1708954F925F926F927F928F929F9257 -:10B35000AF92BF92CF92DF92EF92FF920F931F9323 -:10B36000CF93DF93CDB7DEB7A0970FB6F894DEBFCB -:10B370000FBECDBF5C014115510561057105E9F4B2 -:10B3800020E030E040E350E060E070E0A0960FB6CF -:10B39000F894DEBF0FBECDBFDF91CF911F910F910B -:10B3A000FF90EF90DF90CF90BF90AF909F908F90E5 -:10B3B0007F906F905F904F905BC08E010F5F1F4F2B -:10B3C000C12CD12C76014801422E512C612C712CBC -:10B3D0008FEFC81AD80AE80AF80ACB01BA01A3010C -:10B3E00092010F94FB08CA01F80161938F01A90132 -:10B3F000BC01411551056105710551F7F1E0CF1A06 -:10B40000D108E108F108F401EC0DFD1D80818A30BE -:10B4100010F440E301C047E3480F552747FD50951E -:10B42000652F752F20E030E0C50122D081E0C81AD9 -:10B43000D108E108F108EFEFCE16DE06EE06FE06B3 -:10B4400011F7A0960FB6F894DEBF0FBECDBFDF9107 -:10B45000CF911F910F91FF90EF90DF90CF90BF9011 -:10B46000AF909F908F907F906F905F904F900895D6 -:10B470002115310539F48091C00085FFFCCF409340 -:10B48000C60008952A30310509F424C05BCF9A0123 -:10B49000462F552747FD5095652F752FE9CFCF9340 -:10B4A000DF93EC0120E030E04DE050E060E070E040 -:10B4B000DFDF20E030E04AE050E060E070E0CE0105 -:10B4C000DF91CF91D5CF9A01AB01662757FD6095EB -:10B4D000762FCECFCF92DF92EF92FF92CF93DF9372 -:10B4E000EC016A017B0177FF0FC020E030E04DE204 -:10B4F00050E060E070E0BCDFF094E094D094C09441 -:10B50000C11CD11CE11CF11C2AE0B701A601CE012F -:10B51000DF91CF91FF90EF90DF90CF9013CF211567 -:10B52000310539F48091C00085FFFCCF4093C600FF -:10B53000089508CF9A01462F50E060E070E0EFCF09 -:10B54000CF93DF93EC019A01AB0160E070E0E7DF9D -:10B55000CE01DF91CF91A3CF8F929F92AF92BF92F6 -:10B56000CF92DF92EF92FF921F93CF93DF93EC0184 -:10B570006A017B01122F20E030E0A901C701B6016A -:10B580000F941D0587FF0CC020E030E04DE250E035 -:10B5900060E070E0CE016CDFF7FAF094F7F8F09419 -:10B5A000B12C60E070E080E09FE3B11641F020E054 -:10B5B00030E040E251E40F942405B394F6CF9B01B0 -:10B5C000AC01C701B6010F9444046B017C010F94D8 -:10B5D00091054B015C010F94BD059B01AC01C701B6 -:10B5E000B6010F9443046B017C012AE0B501A4016C -:10B5F000CE01A8DE112361F0E1E3FEE08191882312 -:10B6000039F09091C00095FFFCCF8093C600F6CF33 -:10B61000112319F120E030E040E251E4C701B60106 -:10B620000F94F2076B017C010F948C054B01AA2447 -:10B6300097FCA094BA2CB501A401CE014BDFC50143 -:10B64000B4010F94BF059B01AC01C701B6010F9473 -:10B6500043046B017C011150DBCFDF91CF911F912F -:10B66000FF90EF90DF90CF90BF90AF909F908F9022 -:10B67000089572CFCF93DF931F92CDB7DEB7698362 -:10B6800041E050E0BE016F5F7F4F04960E94253875 -:10B690000F90DF91CF910895FB0101900020E9F711 -:10B6A000AF0141505109461B570B04960C942538A5 -:10B6B0008091D917811109C08091D817811105C0D7 -:10B6C0008091D717811101C00895EFE4F3E58491CB -:10B6D000882341F09091C00095FFFCCF8093C60075 -:10B6E0003196F5CFE091BB13F0E0EE0FFF1FE85D60 -:10B6F000FD4F0190F081E02DE455FE4F0190F08167 -:10B70000E02D8491882341F09091C00095FFFCCFFB -:10B710008093C6003196F5CF8091D917882371F1B7 -:10B720006091DA177091DB178091DC179091DD172B -:10B730000F94BF052091061E3091071E4091081EF0 -:10B740005091091E0F942405AB01BC0187EF97E5CA -:10B750000E947565E091BB13F0E0EE0FFF1FE85DFE -:10B76000FD4F0190F081E02DE455FE4F65EF77E548 -:10B77000808191810E941A4F0E941CAB8091D81742 -:10B78000882371F16091DE177091DF178091E017C7 -:10B790009091E1170F94BF0520910A1E30910B1E66 -:10B7A00040910C1E50910D1E0F942405AB01BC015D -:10B7B00081EF97E50E947565E091BB13F0E0EE0F15 -:10B7C000FF1FE85DFD4F0190F081E02DE455FE4F35 -:10B7D0006FEE77E5808191810E941A4F0E941CAB29 -:10B7E0008091D717882371F16091E2177091E31768 -:10B7F0008091E4179091E5170F94BF0520910E1EDC -:10B8000030910F1E4091101E5091111E0F9424056F -:10B81000AB01BC018BEE97E50E947565E091BB130F -:10B82000F0E0EE0FFF1FE85DFD4F0190F081E02D8D -:10B83000E455FE4F69EE77E5808191810E941A4FB1 -:10B840000E941CAB8091C00085FFFCCF8AE08093F2 -:10B85000C6001092D9171092D8171092D7170895D2 -:10B860001092D9171092D8171092D7170895809375 -:10B870007F0C0895EFE6F0E0808182608083089578 -:10B880001F920F920FB60F9211240BB60F920F93C7 -:10B890001F932F933F934F935F936F937F938F9358 -:10B8A0009F93AF93BF93EF93FF9380910A1890916A -:10B8B0000B18892B09F09EC19091D2188091D11854 -:10B8C000981771F0E091D1188DE4E89FF0011124F0 -:10B8D000ED52F74EDF01A45BBF4F81E08C9302C0B5 -:10B8E000E0E0F0E0F0930B18E0930A18309709F4C9 -:10B8F0007BC1DF01A45BBF4F81E08C931092ED17F9 -:10B900001092EE171092EF171092F01760AD71AD14 -:10B9100061349CE9790728F461329EE4790748F0A4 -:10B9200002C060E47CE9769567957695679584E03A -:10B9300007C0613197E2790730F07695679582E02C -:10B940008093EA1707C08093EA176032710510F4FC -:10B9500060E270E060527109611588E07807D0F00C -:10B96000872F9927880F991F880F991F8550944A10 -:10B97000FC01329645915491AA27659F9001649FDE -:10B98000210D3A1F06942A1F3A1F1124FC018591AC -:10B9900094911DC0CB01969587958C7F8550984AD0 -:10B9A000FC01459154910296FC0185919491FB0113 -:10B9B000E770FF278E9F90018F9F300D9E9F300D67 -:10B9C000112403E0369527950A95E1F7CA01821BF9 -:10B9D000930B8436910500F5E091BB13F0E0EE0F78 -:10B9E000FF1FE85DFD4F0190F081E02DE655FE4F11 -:10B9F0000190F081E02D8191882339F09091C00071 -:10BA000095FFFCCF8093C600F6CF4AE050E08BE371 -:10BA100097E196DD84E690E09093E9178093E8172C -:10BA20008091EA17992787FD90959093E717809367 -:10BA3000E617E0910A18F0910B1864AD75AD70939C -:10BA4000EC176093EB1761349CE9790728F46132B5 -:10BA50008EE4780748F002C060E47CE9769567954B -:10BA60007695679584E007C0613197E2790730F0F9 -:10BA70007695679582E08093EA1708C081E080930D -:10BA8000EA176032710510F460E270E060527109EB -:10BA9000611588E07807E0F0872F9927880F991FB4 -:10BAA000880F991F8550944AFC0132962591349154 -:10BAB000AA27639FA001629F410D5A1F06944A1F47 -:10BAC0005A1F1124FC0125913491241B350B1EC0F3 -:10BAD000CB01969587958C7F8550984AFC012591DE -:10BAE00034910296FC0145915491FB01E770FF27C8 -:10BAF0004E9FC0014F9F900D5E9F900D112443E01B -:10BB0000969587954A95E1F7281B390B2436310520 -:10BB100000F5E091BB13F0E0EE0FFF1FE85DFD4F75 -:10BB20000190F081E02DE655FE4F0190F081E02D6F -:10BB30008191882339F09091C00095FFFCCF8093CC -:10BB4000C600F6CF4AE050E08BE397E1F9DC24E64B -:10BB500030E0C901A0E0B0E08093F1179093F217B4 -:10BB6000A093F317B093F4173093890020938800C3 -:10BB7000E0910A18F0910B1880899189A289B38904 -:10BB8000B695A79597958795B095A0959095819531 -:10BB90009F4FAF4FBF4F8093051890930618A09307 -:10BBA0000718B09308188093011890930218A09377 -:10BBB0000318B09304188093FD179093FE17A09379 -:10BBC000FF17B09300188093F9179093FA17A0937A -:10BBD000FB17B093FC171092F5171092F6171092FE -:10BBE000F7171092F81706C080ED97E09093890040 -:10BBF00080938800E0910A18F0910B18309709F4AF -:10BC0000A1C580A1809309189FB780FF09C0F8944F -:10BC100080910B018D7F80930B019FBF8FEF08C038 -:10BC2000F89480910B01826080930B019FBF81E0AB -:10BC300080937B0C809109189FB781FF09C0F8940D -:10BC400080910B018E7F80930B019FBF8FEF08C007 -:10BC5000F89480910B01816080930B019FBF81E07C -:10BC600080937C0C2091091830917F0C20FF3BC001 -:10BC7000332309F472C01E9902C080E031C0809164 -:10BC8000D617882361F1E0910A18F0910B18808192 -:10BC90009181A281B381181619061A061B06FCF4BD -:10BCA0008091C0179091C117A091C217B091C3178E -:10BCB0008093DA179093DB17A093DC17B093DD170E -:10BCC00081E08093D91780899189A289B389809373 -:10BCD000F5179093F617A093F717B093F81781E034 -:10BCE0008093D6173AC03323C1F140B151E042FBF3 -:10BCF000442740F9452779F18091D517882359F1D8 -:10BD0000E0910A18F0910B1880819181A281B38192 -:10BD1000181619061A061B06F4F48091C0179091A4 -:10BD2000C117A091C217B091C3178093DA179093EF -:10BD3000DB17A093DC17B093DD175093D9178089D8 -:10BD40009189A289B3898093F5179093F617A093F0 -:10BD5000F717B093F8174093D51721FF3BC0332353 -:10BD600009F471C01D9902C080E031C08091D417E0 -:10BD7000882361F1E0910A18F0910B188481958174 -:10BD8000A681B781181619061A061B06FCF48091C5 -:10BD9000C4179091C517A091C617B091C71780938B -:10BDA000DE179093DF17A093E017B093E11781E0BF -:10BDB0008093D81780899189A289B3898093F517D8 -:10BDC0009093F617A093F717B093F81781E080933C -:10BDD000D41739C03323B9F130B141E03695317011 -:10BDE000342779F18091D317882359F1E0910A180B -:10BDF000F0910B1884819581A681B78118161906D8 -:10BE00001A061B06F4F48091C4179091C517A091EF -:10BE1000C617B091C7178093DE179093DF17A093D2 -:10BE2000E017B093E1174093D81780899189A289D0 -:10BE3000B3898093F5179093F617A093F717B093F3 -:10BE4000F8173093D3179FB722FF47C0F89480911B -:10BE50000B018B7F80930B019FBF8FEF80937D0C35 -:10BE600080917F0C882309F47DC01C9902C080E07A -:10BE700031C08091D217882361F1E0910A18F091C6 -:10BE80000B1880859185A285B385181619061A06A8 -:10BE90001B06FCF48091C8179091C917A091CA178E -:10BEA000B091CB178093E2179093E317A093E41718 -:10BEB000B093E51781E08093D71780899189A28993 -:10BEC000B3898093F5179093F617A093F717B09363 -:10BED000F81781E08093D21745C0F89480910B0148 -:10BEE000846080930B019FBF31E030937D0C809183 -:10BEF0007F0C8823B9F126B12095221F2227221F0B -:10BF000079F18091D117882359F1E0910A18F091C5 -:10BF10000B1880859185A285B385181619061A0617 -:10BF20001B06F4F48091C8179091C917A091CA1705 -:10BF3000B091CB178093E2179093E317A093E41787 -:10BF4000B093E5173093D71780899189A289B38977 -:10BF50008093F5179093F617A093F717B093F817FF -:10BF60002093D117809109189FB783FF09C0F894D7 -:10BF700080910B01806480930B019FBF8FEF08C0FD -:10BF8000F89480910B018F7B80930B019FBF81E020 -:10BF900080937E0C20E08091EA1728170CF0ADC149 -:10BFA0008091C00087FF19C03091C6004091BC1736 -:10BFB0005091BD17CA0101968F7799276091BE17DE -:10BFC0007091BF178617970741F0FA01E45CF84EAD -:10BFD00030839093BD178093BC17E0910A18F091BD -:10BFE0000B188091051890910618A0910718B09130 -:10BFF00008184081518162817381840F951FA61FAB -:10C00000B71F8093051890930618A0930718B09354 -:10C010000818181619061A061B06CCF5409AE09166 -:10C020000A18F0910B188091051890910618A091AC -:10C030000718B09108184089518962897389841B57 -:10C04000950BA60BB70B8093051890930618A09339 -:10C050000718B093081840917B0C8091C0179091FD -:10C06000C117A091C217B091C317552747FD50952E -:10C07000652F752F840F951FA61FB71F8093C017BC -:10C080009093C117A093C217B093C3174098E09143 -:10C090000A18F0910B188091011890910218A09144 -:10C0A0000318B09104184481558166817781840F0B -:10C0B000951FA61FB71F8093011890930218A09395 -:10C0C0000318B0930418181619061A061B06CCF5A7 -:10C0D000419AE0910A18F0910B1880910118909103 -:10C0E0000218A0910318B0910418408951896289FF -:10C0F0007389841B950BA60BB70B80930118909343 -:10C100000218A0930318B093041840917C0C8091FE -:10C11000C4179091C517A091C617B091C71755279E -:10C1200047FD5095652F752F840F951FA61FB71FCC -:10C130008093C4179093C517A093C617B093C717E1 -:10C140004198E0910A18F0910B188091FD17909199 -:10C15000FE17A091FF17B0910018408551856285A8 -:10C160007385840F951FA61FB71F8093FD179093AB -:10C17000FE17A093FF17B0930018181619061A0699 -:10C180001B06CCF5429AE0910A18F0910B188091A9 -:10C19000FD179091FE17A091FF17B09100184089EC -:10C1A000518962897389841B950BA60BB70B809309 -:10C1B000FD179093FE17A093FF17B09300184091BE -:10C1C0007D0C8091C8179091C917A091CA17B091A2 -:10C1D000CB17552747FD5095652F752F840F951F59 -:10C1E000A61FB71F8093C8179093C917A093CA17AB -:10C1F000B093CB174298E0910A18F0910B188091F8 -:10C20000F9179091FA17A091FB17B091FC1744858C -:10C21000558566857785840F951FA61FB71F809368 -:10C22000F9179093FA17A093FB17B093FC17181601 -:10C2300019061A061B06CCF5439AE0910A18F091EC -:10C240000B188091F9179091FA17A091FB17B091F4 -:10C25000FC174089518962897389841B950BA60B51 -:10C26000B70B8093F9179093FA17A093FB17B0932D -:10C27000FC1740917E0C8091CC179091CD17A09126 -:10C28000CE17B091CF17552747FD5095652F752FC5 -:10C29000840F951FA61FB71F8093CC179093CD17BF -:10C2A000A093CE17B093CF1743988091F517909134 -:10C2B000F617A091F717B091F8170196A11DB11DBF -:10C2C0008093F5179093F617A093F717B093F8178C -:10C2D0004091F5175091F6176091F7177091F81784 -:10C2E000E0910A18F0910B1880899189A289B3898D -:10C2F000481759076A077B07B0F04091F51750912E -:10C30000F6176091F7177091F817E0910A18F091FD -:10C310000B1884899589A689B78984179507A6077C -:10C32000B70718F4E6C02F5F36CE4091F117509151 -:10C33000F2176091F3177091F417048D158D268D07 -:10C34000378DAA27419FB12D529FC001629F900D4A -:10C35000619F800D911D429FB00D811D9A1F519FBD -:10C36000B00D811D9A1F609FB00D811D9A1F509FB7 -:10C37000B10D8A1F9A1FB6958A1F9A1F112444ADCA -:10C3800055AD480F591F5093EC174093EB1780ADF4 -:10C3900091ADA2ADB3AD60E070E084179507A6073C -:10C3A000B70720F49093EC178093EB176091EB178D -:10C3B0007091EC1761349CE9790728F461328EE4BE -:10C3C000780748F002C060E47CE976956795769539 -:10C3D000679584E007C0613197E2790730F0769580 -:10C3E000679582E08093EA1708C081E08093EA179E -:10C3F0006032710510F460E270E0605271096115FD -:10C4000088E07807E0F0872F9927880F991F880F19 -:10C41000991F8550944AFC01329625913491AA27A0 -:10C42000639FA001629F410D5A1F06944A1F5A1F25 -:10C430001124FC0125913491241B350B1EC0CB0126 -:10C44000969587958C7F8550984AFC01259134916B -:10C450000296FC0145915491FB01E770FF274E9F26 -:10C46000C0014F9F900D5E9F900D112443E0969563 -:10C4700087954A95E1F7281B390B2436310500F5DD -:10C48000E091BB13F0E0EE0FFF1FE85DFD4F019060 -:10C49000F081E02DE655FE4F0190F081E02D819175 -:10C4A000882339F09091C00095FFFCCF8093C6009F -:10C4B000F6CF4AE050E08BE397E142D824E630E043 -:10C4C00030938900209388008091F1179091F217A2 -:10C4D000A091F317B091F417820F931FA11DB11D06 -:10C4E0008093F1179093F217A093F317B093F4177A -:10C4F00004C14091F5175091F6176091F7177091AC -:10C50000F817808D918DA28DB38D84179507A6079E -:10C51000B70708F0E6C04091ED175091EE17609113 -:10C52000EF177091F017048D158D268D378DAA2782 -:10C53000419FB12D529FC001629F900D619F800D60 -:10C54000911D429FB00D811D9A1F519FB00D811DFD -:10C550009A1F609FB00D811D9A1F509FB10D8A1FB9 -:10C560009A1FB6958A1F9A1F11242091EB173091BC -:10C57000EC17E05CFF4F2817390718F42081318150 -:10C5800002C0281B390B80819181A281B381A9014E -:10C5900060E070E0481759076A077B0708F49C01C0 -:10C5A00021349CE9390728F421328EE4380748F019 -:10C5B00002C020E43CE9369527953695279584E01E -:10C5C00007C0213197E2390730F03695279582E090 -:10C5D0008093EA1708C081E08093EA172032310582 -:10C5E00010F420E230E0B90160527109611588E071 -:10C5F0007807E0F0872F9927880F991F880F991FD8 -:10C600008550944AFC01329625913491AA27639F64 -:10C61000A001629F410D5A1F06944A1F5A1F112400 -:10C62000FC0125913491241B350B1EC0CB0196953E -:10C6300087958C7F8550984AFC012591349102960C -:10C64000FC0145915491FB01E770FF274E9FC0010B -:10C650004F9F900D5E9F900D1124E3E09695879576 -:10C66000EA95E1F7281B390B2436310508F5E091EE -:10C67000BB13F0E0EE0FFF1FE85DFD4F0190F0816E -:10C68000E02DE655FE4F0190F081E02D8191882349 -:10C6900039F09091C00095FFFCCF8093C600F6CF93 -:10C6A0004AE050E08BE397E10E94A0DA24E630E014 -:10C6B00030938900209388008091ED179091EE17B8 -:10C6C000A091EF17B091F017820F931FA11DB11D1C -:10C6D0008093ED179093EE17A093EF17B093F01798 -:10C6E0000CC08091E8179091E9179093890080938E -:10C6F00088008091E6178093EA174091F5175091D2 -:10C70000F6176091F7177091F817E0910A18F091F9 -:10C710000B1880899189A289B389481759076A073C -:10C720007B0780F010920B1810920A189091D21883 -:10C730008091D118981731F08091D1188F5F8F7048 -:10C740008093D118FF91EF91BF91AF919F918F91FD -:10C750007F916F915F914F913F912F911F910F9119 -:10C760000F900BBE0F900FBE0F901F9018959091D9 -:10C77000D2188091D118981741F00E940C4780E0A0 -:10C780000E9497750E94A2ADF2CF0895CF93DF93D8 -:10C79000EFB7F894EC0188819981AA81BB818093DD -:10C7A000C0179093C117A093C217B093C317EB01A2 -:10C7B00088819981AA81BB818093C4179093C51702 -:10C7C000A093C617B093C717EA0188819981AA81FF -:10C7D000BB818093C8179093C917A093CA17B093D1 -:10C7E000CB17E90188819981AA81BB818093CC17FD -:10C7F0009093CD17A093CE17B093CF17EFBFDF91D3 -:10C80000CF9108952FB7F894FC0180819181A28186 -:10C81000B3818093CC179093CD17A093CE17B0938C -:10C82000CF172FBF08952FB7F89494E0899FF00198 -:10C830001124E054F84E60817181828193812FBF71 -:10C840000895CF93C82FEFDF0F94BF0524E0C29F58 -:10C85000F0011124EA5FF14E208131814281538140 -:10C860000F942405CF91089582DF179A10928E13AA -:10C87000169A10928F13149A089580916F008D7FED -:10C8800080936F009091D2188091D118981769F019 -:10C890009091D2188091D1189817A1F38091D11856 -:10C8A0008F5F8F708093D118EDCF10920B1810927C -:10C8B0000A1880916F00826080936F000895813024 -:10C8C00039F120F0823009F445C00895179880911D -:10C8D000090182702FB7662329F0F89490910B011B -:10C8E000926004C0F89490910B019D7F90930B018E -:10C8F0002FBF409A40989FB7882329F0F8948091E1 -:10C900000B01826048C0F89480910B018D7F43C079 -:10C9100016988091090181702FB7662329F0F89449 -:10C9200090910B01916004C0F89490910B019E7F4F -:10C9300090930B012FBF419A41989FB7882329F00C -:10C94000F89480910B01816026C0F89480910B01CE -:10C950008E7F21C015988091090184702FB76623BE -:10C9600029F0F89490910B01946004C0F894909190 -:10C970000B019B7F90930B012FBF429A42989FB768 -:10C98000882329F0F89480910B01846004C0F89406 -:10C9900080910B018B7F80930B019FBF0895EF92D5 -:10C9A000FF920F931F93CF93DF931F92CDB7DEB704 -:10C9B0007B018C01061B170B460FC701800F911FCF -:10C9C00049830F940811F70181937F0149814E1328 -:10C9D000F4CF0F90DF91CF911F910F91FF90EF90C7 -:10C9E0000895DB0181110DC02FEF30E00F943F0956 -:10C9F00020ED37E040E050E00F941D09B9018EE2D0 -:10CA00001DC0813069F42FEF30E00F943F0920ED15 -:10CA100037E040E050E00F941D09B9018DE20EC0EF -:10CA2000823071F42FEF30E00F943F0920ED37E0B2 -:10CA300040E050E00F941D09B9018CE20C9480FC99 -:10CA4000089541E060ED77E18FEF9FE0A8DF61E0BE -:10CA50008EE20E948AFD61E08DE20E948AFD61E023 -:10CA60008CE20E948AFD8091D017811115C08091BF -:10CA7000800C9091810C90938D0C80938C0C809104 -:10CA8000820C9091830C90938F0C80938E0C8091EC -:10CA9000840C9091850C14C08091860C9091870C29 -:10CAA00090938D0C80938C0C8091880C9091890CC4 -:10CAB00090938F0C80938E0C80918A0C90918B0CAC -:10CAC0009093910C8093900C60918C0C70918D0CD4 -:10CAD00080E087DF60918E0C70918F0C81E081DFA8 -:10CAE000A091900CB091910C2FEF30E00F943F0982 -:10CAF00020ED37E040E050E00F941D09B9018CE2D1 -:10CB00000E9480FC80912101887F816080932101B7 -:10CB10000895CF93C42F67FD20C0813061F028F0C5 -:10CB2000823079F0833099F018C088E20E94C3FD0A -:10CB3000C7FF1DC02AC085E40E94C3FDC7FF1AC0FD -:10CB400024C084E40E94C3FDC7FF17C01EC081E457 -:10CB50000E94C3FDC7FF14C018C0C7FD16C08130B6 -:10CB600049F028F0823049F0833051F00EC06C2F2C -:10CB700089E208C06C2F87E205C06C2F83E402C0F5 -:10CB80006C2F82E4CF910C94C3FDCF910895643053 -:10CB900079F028F4613041F0623041F00895683056 -:10CBA00051F0603141F0089540E003C040E004C01E -:10CBB00041E060E002C041E061E0ABCFFF920F9343 -:10CBC0001F93CF93DF9300D01F921F92CDB7DEB794 -:10CBD00085E0E7E1FDE0DE01119601900D928A9576 -:10CBE000E1F761E088E20E948AFD61E089E20E944B -:10CBF0008AFD61E085E40E948AFD61E087E20E948F -:10CC00008AFD61E084E40E948AFD61E083E40E9481 -:10CC10008AFD61E081E40E948AFD61E082E40E9475 -:10CC20008AFD8E010F5F1F4FF12CF80161918F017A -:10CC30008F2DADDFF394F5E0FF12F7CF0F900F903B -:10CC40000F900F900F90DF91CF911F910F91FF9058 -:10CC50000895F7DEB3DFEAE0F1E08081826080834F -:10CC60008081816080838081846080838081806412 -:10CC700080830F9A179A0E9A169A0D9A159A0C9A03 -:10CC8000149A26982E9A25982D9A24982C9A0A98C8 -:10CC9000129A0998119A3F98479A389A4098179A89 -:10CCA00010928E13399A4198169A10928F133A9ACD -:10CCB00042983B9A4398149AA1E8B0E08C918F7EF9 -:10CCC0008C938C9188608C93E0E8F0E080818D7F7C -:10CCD000808380818E7F808380818F738083808139 -:10CCE0008F7C80838C91887F82608C9380E090E43D -:10CCF00090938900809388001092850010928400A0 -:10CD0000EFE6F0E080818260808381E080937F0C99 -:10CD100078940895EBEDF7E58491882341F09091A4 -:10CD2000C00095FFFCCF8093C6003196F5CFE7EDAC -:10CD3000F7E58491882341F09091C00095FFFCCFE6 -:10CD40008093C6003196F5CF88E20E94F8FD4AE054 -:10CD500050E0BC018BE397E10E9463DA89E20E9414 -:10CD6000F8FD4AE050E0BC018BE397E10E9463DAF2 -:10CD70008091C00085FFFCCF8AE08093C600E3ED80 -:10CD8000F7E58491882341F09091C00095FFFCCF96 -:10CD90008093C6003196F5CF85E40E94F8FD4AE005 -:10CDA00050E0BC018BE397E10E9463DA87E20E94C6 -:10CDB000F8FD4AE050E0BC018BE397E10E9463DAA2 -:10CDC0008091C00085FFFCCF8AE08093C600EFEC25 -:10CDD000F7E58491882341F09091C00095FFFCCF46 -:10CDE0008093C6003196F5CF84E40E94F8FD4AE0B6 -:10CDF00050E0BC018BE397E10E9463DA83E40E9478 -:10CE0000F8FD4AE050E0BC018BE397E10E9463DA51 -:10CE10008091C00085FFFCCF8AE08093C600EAECD9 -:10CE2000F7E58491882341F09091C00095FFFCCFF5 -:10CE30008093C6003196F5CF81E40E94F8FD4AE068 -:10CE400050E0BC018BE397E10E9463DA82E40E9428 -:10CE5000F8FD4AE050E0BC018BE397E10E9463DA01 -:10CE60008091C00085FFFCCF8AE08093C6000895C2 -:10CE7000CF93DF931F92CDB7DEB720911C1F309167 -:10CE80001D1FCE0101962115310519F0821B930B50 -:10CE900002C082529F410F90DF91CF910895FC0113 -:10CEA000108220E030E040E050E0BC01620F731FD0 -:10CEB000FB01E40FF51F11821282138214824C5F72 -:10CEC0005F4F4C315105A1F7245E3F4F243C3105A3 -:10CED00051F708952F923F924F925F926F927F92F7 -:10CEE0008F929F92AF92BF92CF92DF92EF92FF927A -:10CEF0000F931F93CF93DF93CDB7DEB760970FB635 -:10CF0000F894DEBF0FBECDBF8B839D838B879C873C -:10CF100003E010E0EB85FC8581859285A385B485CF -:10CF2000818F928FA38FB48F85819681A781B085E1 -:10CF300085879687A787B08B22242394312CF3E032 -:10CF40002F16310409F491C0B101882777FD80952F -:10CF5000982F0F94BF0525E535E547E052E40F947F -:10CF6000F20720E030E04CE052E40F9444046B01FF -:10CF70007C0120E030E848E053E40F9443042B01A7 -:10CF80003C0120E030E04EE653E4C701B6010F94C7 -:10CF900043044B015C0120E030E04CE052E4C70167 -:10CFA000B6010F9443046B017C019101220F331FE2 -:10CFB000220F331F8B859C85280F391F3A832983C5 -:10CFC000FC012181328143815481C301B2010F945C -:10CFD000F207A50194010F94F20720E039EF40EA2F -:10CFE00056E40F9424056F83788789879A87EB85A9 -:10CFF000FC852585368547855089C701B6010F9484 -:10D00000F207A50194010F94F20720E039EF40E206 -:10D0100056EC0F9424059B01AC016F8178858985BE -:10D020009A850F9444044B015C01EB85FC85218DAE -:10D03000328D438D548DC701B6010F94F207A301C1 -:10D0400092010F94F20720E039EF40EA56E40F9482 -:10D0500024059B01AC01C501B4010F944404E9818E -:10D06000FA816183728383839483FFEF2F1A3F0ACF -:10D0700026E02216310409F062CF015011098B8598 -:10D080009C854C969C878B870115110509F042CF32 -:10D090009B819F87ED81E88B27E030E03A832983ED -:10D0A000EF85F88981AD92ADA3ADB4ADE755FF4FE3 -:10D0B000FC83EB8380839183A283B383EF85F8891C -:10D0C000858D968DA78DB0A1EB5AFF4FFE83ED8322 -:10D0D00080839183A283B383212C312C01E010E063 -:10D0E0000330110509F48DC0B801882777FD8095BC -:10D0F000982F0F94BF052BEA3AEA42E052E40F94CE -:10D10000F20720E030E040EC50E40F9444046B015F -:10D110007C0120E030E040ED52E40F9443042B0109 -:10D120003C0120E030E04AE453E4C701B6010F942B -:10D1300043044B015C0120E030E040EC50E4C701C7 -:10D14000B6010F9443046B017C012F853889220DB1 -:10D15000331D38872F83EF85F88921813281438100 -:10D160005481C301B2010F94F207A50194010F94F9 -:10D17000F20720E030E146E956E40F9424056B877E -:10D180007C878D879E87ED81FE8120813181428160 -:10D190005381C701B6010F94F207A50194010F94C2 -:10D1A000F20720E030E146E156EC0F9424059B01A4 -:10D1B000AC016B857C858D859E850F9444044B0165 -:10D1C0005C01EB81FC812081318142815381C70167 -:10D1D000B6010F94F207A30192010F94F20720E029 -:10D1E00030E146E956E40F9424059B01AC01C501EA -:10D1F000B4010F944404EF81F885658F768F878F93 -:10D2000090A30F5F1F4FFCE12F0E311C063011055C -:10D2100009F066CF29813A81215031093A83298367 -:10D220008F8598890496988B8F87232B09F038CFA8 -:10D2300060960FB6F894DEBF0FBECDBFDF91CF91E1 -:10D240001F910F91FF90EF90DF90CF90BF90AF9024 -:10D250009F908F907F906F905F904F903F902F9016 -:10D2600008958CE098E11BCE2F923F924F925F92EF -:10D270006F927F928F929F92AF92BF92CF92DF92E6 -:10D28000EF92FF920F931F93CF93DF93CDB7DEB74B -:10D2900060970FB6F894DEBF0FBECDBF1C012A0108 -:10D2A0003B014801590120E030E04CE052E4C30169 -:10D2B000B2010F94430425E535E547E052E40F94AD -:10D2C00024056B017C010F94FA050F948C058B01EA -:10D2D00077FF12C020E030E040E85FE3C701B6010D -:10D2E0000F94200718160CF05DC0C12CD12C70E8EB -:10D2F000E72E7FE3F72E56C066307105DCF02AEA90 -:10D300003AE24CE453E4C301B2010F94430425E52F -:10D3100035E547E052E40F9424056B017C0120E0E1 -:10D3200030E0A9010F941D0587FF3FC0C12CD12C0F -:10D3300076013BC0882777FD8095982F0F94BF0515 -:10D3400025E535E547E052E40F94F20720E030E0B0 -:10D350004CE052E40F9444049B01AC01C301B201C0 -:10D360000F94430425E535E547E052E40F94240586 -:10D370006B017C0120E030E0A9010F941D0587FDC1 -:10D3800017C020E030E040E85FE3C701B6010F942A -:10D390002007181684F4C12CD12C60E8E62E6FE328 -:10D3A000F62E09C000E010E006C005E010E003C062 -:10D3B000C12CD12C760120E030E040EC50E4C501D6 -:10D3C000B4010F9443042BEA3AEA42E052E40F948A -:10D3D00024052B013C010F94FA050F948C05788BE2 -:10D3E0006F8777FF12C020E030E040E85FE3C301C1 -:10D3F000B2010F94200718160CF05FC0412C512C7D -:10D4000050E8652E5FE3752E58C0AF85B889169732 -:10D41000E4F026E535E549E253E4C501B4010F9493 -:10D4200043042BEA3AEA42E052E40F9424052B012C -:10D430003C0120E030E0A9010F941D0587FD40C0AC -:10D44000E5E0F0E0F88BEF8746C0882777FD809510 -:10D45000982F0F94BF052BEA3AEA42E052E40F946A -:10D46000F20720E030E040EC50E40F9444049B01CC -:10D47000AC01C501B4010F9443042BEA3AEA42E03F -:10D4800052E40F9424052B013C0120E030E0A90177 -:10D490000F941D0587FD1CC020E030E040E85FE3ED -:10D4A000C301B2010F9420071816ACF4412C512C83 -:10D4B00040E8642E4FE3742E0EC0188A1F860BC0FE -:10D4C000412C512C320125E030E0388B2F8703C0EE -:10D4D000412C512C3201A701960160E070E080E8F8 -:10D4E0009FE30F94430469837A838B839C83C801F1 -:10D4F00001969E838D83AF85B8891196BA87A987D7 -:10D50000A301920160E070E080E89FE30F94430480 -:10D510006B877C878D879E8747E02F853889429F60 -:10D52000F001439FF00D1124F887EF83E00FF11F06 -:10D53000EE0FFF1FEE0FFF1FE20DF31D2181328161 -:10D540004381548169817A818B819C810F94F20798 -:10D550004B015C01EF81F8858D819E81E80FF91FF9 -:10D56000EE0FFF1FEE0FFF1FE20DF31D2181328131 -:10D5700043815481C701B6010F94F2079B01AC01AE -:10D58000C501B4010F9444049B01AC016B857C85FB -:10D590008D859E850F94F2074B015C0127E0E9859C -:10D5A000FA852E9FD0012F9FB00D1124B887AF832D -:10D5B000FD01E00FF11FEE0FFF1FEE0FFF1FE20D49 -:10D5C000F31D218132814381548169817A818B816C -:10D5D0009C810F94F20769837A838B839C83AF814C -:10D5E000B8858D819E81A80FB91FAA0FBB1FAA0FF6 -:10D5F000BB1FA20DB31D11962D913D914D915C91D4 -:10D600001497C701B6010F94F2079B01AC01698121 -:10D610007A818B819C810F9444049B01AC01C301EE -:10D62000B2010F94F2079B01AC01C501B4010F9444 -:10D63000440460960FB6F894DEBF0FBECDBFDF91F5 -:10D64000CF911F910F91FF90EF90DF90CF90BF90FF -:10D65000AF909F908F907F906F905F904F903F9092 -:10D660002F9008952F923F924F925F926F927F92E8 -:10D670008F929F92AF92BF92CF92DF92EF92FF92E2 -:10D680000F931F93CF93DF93CDB7DEB768970FB695 -:10D69000F894DEBF0FBECDBF1C012A013B0148013B -:10D6A0005901DC01D8966D917D918D919C91DB970C -:10D6B0000F94BD056B017C01A30192010F94F20749 -:10D6C0000F940A050F94910569877A878B879C8749 -:10D6D000A5019401C701B6010F94F2070F940A0542 -:10D6E0000F9491056D877E878F87988B29853A8562 -:10D6F0004B855C85283731054105510540F488E7A5 -:10D7000090E0A0E0B0E089879A87AB87BC872D8541 -:10D710003E854F855889283731054105510540F42C -:10D7200088E790E0A0E0B0E08D879E87AF87B88B58 -:10D7300091012C5B3F4FD9018D919D910D90BC9132 -:10D74000A02D8D839E83AF83B887BC01CD010F943C -:10D75000BF0569837A838B839C8369857A858B85F2 -:10D760009C850F94BD05698B7A8B8B8B9C8B20E0FD -:10D7700030E0A90169817A818B819C810F941D051C -:10D78000882339F1A7019601C701B6010F94F2076A -:10D790004B015C0129893A894B895C89CA01B9012D -:10D7A0000F94F2079B01AC01C501B4010F9443042F -:10D7B0004B015C0129813A814B815C81CA01B9012D -:10D7C0000F9444049B01AC01C501B4010F942405DE -:10D7D00003C060E070E0CB010F940A050F948C0544 -:10D7E0002B013C016D817E818F819885909580957C -:10D7F000709561957F4F8F4F9F4F0F94BF054B01E1 -:10D800005C016D857E858F8598890F94BD056D833C -:10D810007E838F83988720E030E0A901C501B401A1 -:10D820000F941D05882349F12D813E814F81588534 -:10D83000CA01B9010F94F2076D8B7E8B8F8B988F85 -:10D84000A7019601C701B6010F94F2079B01AC0135 -:10D850006D897E898F89988D0F9443046B017C01BB -:10D86000A5019401C501B4010F9444049B01AC01CE -:10D87000C701B6010F94240503C060E070E0CB013E -:10D880000F94FA05F10180889188A288B388750108 -:10D890006401C418D508E608F7080F948C05C61A69 -:10D8A000D70AE80AF90AF7FE6BC020E030E0A901C8 -:10D8B00069817A818B819C810F941D05882309F4ED -:10D8C00047C029813A814B815C81CA01B9010F941B -:10D8D00044046B017C01C501B4010F94BD059B019B -:10D8E000AC01C701B6010F94F2076B017C012989D5 -:10D8F0003A894B895C89CA01B9010F94F2079B01EF -:10D90000AC01C701B6010F9443046B017C012D816A -:10D910003E814F815885CA01B9010F94F2079B01DE -:10D92000AC01C701B6010F9444046B017C0120E0F7 -:10D9300030E040E850E469817A818B819C810F94CA -:10D94000F2079B01AC01C701B6010F94240503C087 -:10D9500060E070E0CB010F940A050F948C052B0159 -:10D960003C0197FF03C0412C512C3201481459044B -:10D970006A047B0410F024013501C12CD12C7601FE -:10D980008FB7F894F101E45BFF4F9081911125C0AE -:10D99000D10154964D925D926D927C925797C40C32 -:10D9A000D51CE61CF71CF101C08ED18EE28EF38EE1 -:10D9B00029853A854B855C85DC962D933D934D9367 -:10D9C0005C93DF97A05CBF4F2D853E854F855889BE -:10D9D0002D933D934D935C9313978FBF68960FB62D -:10D9E000F894DEBF0FBECDBFDF91CF911F910F9195 -:10D9F000FF90EF90DF90CF90BF90AF909F908F906F -:10DA00007F906F905F904F903F902F9008954F922E -:10DA10005F926F927F92AF92BF92CF92DF92EF921E -:10DA2000FF920F931F93CF93DF93EB017A0120971F -:10DA300009F458C04115510509F454C0AAA4BBA467 -:10DA40000CA51DA59501A8016EA17FA188A599A58A -:10DA50000F941D05882309F445C08FA981113AC090 -:10DA6000F70146A057A060A471A4A3019201B501DB -:10DA7000C8010F94200718166CF5A3019201C30189 -:10DA8000B2010F94F2076B017C018AA99BA9ACA992 -:10DA9000BDA9BC01CD0190589B01AC010F94440479 -:10DAA0002EA53FA548A959A90F94F2079B01AC01E7 -:10DAB000C701B6010F9443040F945F086B017C010A -:10DAC0009B01AC01B501C8010F941D0587FD02C083 -:10DAD00056018701A501B8014EA35FA368A779A7E6 -:10DAE00081E08EABDF91CF911F910F91FF90EF906E -:10DAF000DF90CF90BF90AF907F906F905F904F90EE -:10DB00000895DF92EF92FF920F931F93CF93DF93CD -:10DB10008091D2188FB7F894E090D1188FBF809180 -:10DB2000D21890E08E1991098F7099270497F4F01C -:10DB30001091D21813501F7040E050E000E0F12C1B -:10DB4000EDE4DE2E1E1591F0111101C010E111500F -:10DB5000D19EE0011124CD52D74E602F7F2DCE01F2 -:10DB600056DF402F5F2D0C2FFD2EECCFDF91CF9194 -:10DB70001F910F91FF90EF90DF9008954F925F9269 -:10DB80006F927F92AF92BF92CF92DF92EF92FF920D -:10DB90000F931F93CF93DF938C01EB01009709F450 -:10DBA00053C0FC0187A981114FC046A057A060A4B3 -:10DBB00071A4AEA0BFA0C8A4D9A49501A601C301B9 -:10DBC000B2010F941D0587FF3FC0A3019201C3015D -:10DBD000B2010F94F2072B013C01F80182A993A92D -:10DBE000A4A9B5A9BC01CD0190589B01AC010F942B -:10DBF0004404F80126A537A540A951A90F94F207BE -:10DC00009B01AC01C301B2010F9443040F945F0860 -:10DC10007B018C019B01AC01B501C6010F941D0570 -:10DC200087FF02C0750186019701A801B501C601F1 -:10DC30000F941D05882341F0A701B8014EA35FA3EF -:10DC400068A779A781E08EABDF91CF911F910F91EB -:10DC5000FF90EF90DF90CF90BF90AF907F906F904C -:10DC60005F904F900895EF92FF920F931F93CF9381 -:10DC7000DF93F090D11800E010E080E090E0FDE448 -:10DC8000EF2E2091D218F21689F0EF9CE0011124BA -:10DC9000CD52D74EAE01B80171DF81E08F0D8031DA -:10DCA00009F480E0F82EC8018E01EBCF40E050E08F -:10DCB000B801DF91CF911F910F91FF90EF905ECF50 -:10DCC0004F925F926F927F928F929F92AF92BF928C -:10DCD000CF92DF92EF92FF920F931F93CF93DF9338 -:10DCE0009090D118C0E0D0E0ADE48A2E892D99271C -:10DCF00087FD90952091D21830E082179307B9F1F3 -:10DD0000889E5001899EB00C1124C5018D52974EFA -:10DD10005C01209729F18EA9811104C0F50186A923 -:10DD20008823F1F0CAA0DBA0ECA0FDA0A70196011A -:10DD3000F50166A177A180A591A50F9424052B017B -:10DD40003C01A70196016EA17FA188A599A50F941A -:10DD50002405AB01BC0193018201CE0183DC1EAA24 -:10DD60009394F0E19F1201C0912CE501BFCF209761 -:10DD7000E9F0CAA0DBA0ECA0FDA0A70196016DEC24 -:10DD80007CEC8CE49DE30F9424054B015C01A7011E -:10DD900096016EA17FA188A599A50F942405AB01DA -:10DDA000BC0195018401CE015DDC1EAADF91CF91FB -:10DDB0001F910F91FF90EF90DF90CF90BF90AF90A9 -:10DDC0009F908F907F906F905F904F90089599DE15 -:10DDD0004ADF76CF1092D2181092D11880E1EAEB88 -:10DDE000FDE1DF011D928A95E9F71092AA1D1092BC -:10DDF000AB1D1092AC1D1092AD1D1092AE1D109275 -:10DE0000AF1D1092B01D1092B11D1092B21D109254 -:10DE1000B31D1092B41D1092B51D1092B61D109234 -:10DE2000B71D1092B81D1092B91D1092A61D109228 -:10DE3000A71D1092A81D1092A91D08956091871327 -:10DE40009091D1188091D218981781F08091D118B3 -:10DE50009DE4899FF0011124E55EF64E608190916A -:10DE6000D218891719F08F5F8F70F9CF70E086E0B4 -:10DE70000C9480FC2F923F924F925F926F927F9210 -:10DE80008F929F92AF92BF92CF92DF92EF92FF92CA -:10DE90000F931F93CF93DF93CDB7DEB7CD56D10944 -:10DEA0000FB6F894DEBF0FBECDBF4C015B013A0147 -:10DEB0002901E9A6F9AE26960FAF26971DAFD8A681 -:10DEC000CFA22091D2182F5F2A962FAF2A97203108 -:10DED00019F42A961FAE2A972A963FAD2A97032F48 -:10DEE000112707FD10958091D11890E080179107B8 -:10DEF00041F40E940C4780E00E9497750E94A2ADF9 -:10DF0000F2CFD401CD90DD90ED90FC902091061ED3 -:10DF10003091071E4091081E5091091EC701B6019D -:10DF20000F94F2070F94C2076E966CAF7DAF8EAF61 -:10DF30009FAF6E97F50180809180A280B380209181 -:10DF40000A1E30910B1E40910C1E50910D1EC501F2 -:10DF5000B4010F94F2070F94C207A2966CAF7DAF85 -:10DF60008EAF9FAFA29780910C188823B9F09501CE -:10DF70008401B701A6018CE098E176D9D3012D91F7 -:10DF80003D914D915C910F94440420910E1E30916F -:10DF90000F1E4091101E5091111E0DC020910E1E9B -:10DFA00030910F1E4091101E5091111EF30160819F -:10DFB0007181828193810F94F2070F94C2076A9650 -:10DFC0006CAF7DAF8EAF9FAF6A972091121E3091DC -:10DFD000131E4091141E5091151ED2016D917D911A -:10DFE0008D919C910F94F2070F94C20725966CAF08 -:10DFF0007DAF8EAF9FAF25978091C61D9091C71DB5 -:10E00000A091C81DB091C91D25962CAD3DAD4EAD5A -:10E010005FAD2597281739074A075B0709F4C8C081 -:10E02000E091891334E0E39FF0011124E85BFE4E98 -:10E030002091920C3091930C4091940C5091950C3E -:10E0400060817181828193810F941D0587FF3CC09F -:10E0500025968CAD9DADAEADBFAD25978093C61D09 -:10E060009093C71DA093C81DB093C91DEFE4F3E5BD -:10E070008491882341F09091C00095FFFCCF80935C -:10E08000C6003196F5CFE091BB13F0E0EE0FFF1F15 -:10E09000E85DFD4F0190F081E02DE255FE4F0190CB -:10E0A000F081E02D8491882341F09091C00095FF8C -:10E0B000FCCF8093C6003196F5CF8091C00085FFDC -:10E0C000FCCF8AE08093C6008091C61D9091C71D49 -:10E0D000A091C81DB091C91D25962CAD3DAD4EAD8A -:10E0E0005FAD2597281B390B4A0B5B0BCA01B901A1 -:10E0F00057FF07C090958095709561957F4F8F4F22 -:10E100009F4F0F94BF056B017C0120E030E84AEE81 -:10E1100053E46091121E7091131E8091141E909111 -:10E12000151E0F94F2079B01AC01C701B6010F94B5 -:10E13000200718160CF03CC025968CAD9DADAEADF9 -:10E14000BFAD25978093C61D9093C71DA093C81D92 -:10E15000B093C91DEFE4F3E58491882341F09091D9 -:10E16000C00095FFFCCF8093C6003196F5CFE091BB -:10E17000BB13F0E0EE0FFF1FE85DFD4F0190F08153 -:10E18000E02DE055FE4F0190F081E02D8491882331 -:10E1900041F09091C00095FFFCCF8093C60031966E -:10E1A000F5CF8091C00085FFFCCF8AE08093C60048 -:10E1B0008091D2189DE4899F10011124D101AD52A4 -:10E1C000B74E1D01FD01E45BFF4F10822091BA1D87 -:10E1D0003091BB1D4091BC1D5091BD1D2BA33CA394 -:10E1E0004DA35EA36E964CAC5DAC6EAC7FAC6E97EF -:10E1F000421A530A640A750A77FE08C07094609444 -:10E2000050944094411C511C611C711CD1014D92D1 -:10E210005D926D927C9213972091BE1D3091BF1D2F -:10E220004091C01D5091C11D2DAB3EAB4FAB58AFBF -:10E23000A2968CAC9DACAEACBFACA297821A930AEE -:10E24000A40AB50AB7FE08C0B094A0949094809434 -:10E25000811C911CA11CB11CD10114968D929D9220 -:10E26000AD92BC9217972091C21D3091C31D409171 -:10E27000C41D5091C51D2DA73EA74FA758AB6A9648 -:10E28000CCACDDACEEACFFAC6A97C21AD30AE40AA0 -:10E29000F50AF7FE08C0F094E094D094C094C11C35 -:10E2A000D11CE11CF11CD1011896CD92DD92ED92AA -:10E2B000FC921B972091C61D3091C71D4091C81D2F -:10E2C0005091C91D29AB3AAB4BAB5CAB25966CADFD -:10E2D0007DAD8EAD9FAD2597621B730B840B950BA7 -:10E2E00097FF07C090958095709561957F4F8F4FF0 -:10E2F0009F4F0F94BF05E091891334E0E39FF00135 -:10E300001124E95BF34F20813181428153810F94C5 -:10E31000F2070F948C059B01AC01A091530CB091B6 -:10E32000540C0F944F0924E630E040E050E00F9485 -:10E330001D09D1011C962D933D934D935C931F971E -:10E34000C814D904EA04FB0414F475016401C2166C -:10E35000D306E406F50614F469017A01D301C2017B -:10E360004C145D046E047F0414F4D701C601F1015E -:10E37000808B918BA28BB38B0697A105B10508F416 -:10E380006DC7E85BFF4F8091871390918813AA2790 -:10E3900097FDA095BA2F80839183A283B3836E9655 -:10E3A0002CAD3DAD4EAD5FAD6E978BA19CA1ADA1E7 -:10E3B000BEA1281739074A075B0724F0D1019096C0 -:10E3C0001C9203C081E0F10180A3A2962CAD3DAD6B -:10E3D0004EAD5FADA2978DA99EA9AFA9B8AD281784 -:10E3E00039074A075B073CF4D10190968C919097CE -:10E3F000826090968C936A962CAD3DAD4EAD5FAD2C -:10E400006A978DA59EA5AFA5B8A9281739074A0711 -:10E410005B073CF4D10190968C9190978460909624 -:10E420008C9325962CAD3DAD4EAD5FAD259789A95A -:10E430009AA9ABA9BCA9281739074A075B073CF47E -:10E44000D10190968C919097886090968C93EFA1D3 -:10E45000F8A58081D10191968C93452846284728BC -:10E4600009F01798F10184819581A681B781892BE4 -:10E470008A2B8B2B09F01698F10180859185A28556 -:10E48000B385892B8A2B8B2B09F01598F101848594 -:10E490009585A685B785892B8A2B8B2B71F1809169 -:10E4A000A31D882319F081508093A31D8091A41D82 -:10E4B000882319F081508093A41D8091A51D882385 -:10E4C00019F081508093A51DAFA1B8A58C91813022 -:10E4D00061F030F0823089F480E28093A51D08C09D -:10E4E000149880E28093A31D08C080E28093A41D4D -:10E4F0008091A31D811101C0149AD1011C962D9108 -:10E500003D914D915C911F972E962CAF3DAF4EAF34 -:10E510005FAF2E97232B242B252B09F5B091DA1D05 -:10E52000BBA3E091DB1DEFA31091DC1D0091DD1D6D -:10E530002B2F3E2F412F502F69A579AD26968FADF9 -:10E5400026979DAD0F941D0587FD16C0F9A5FBA369 -:10E5500029AD2FA326961FAD26970DAD0DC0309186 -:10E56000F21D3BA34091F31D4FA31091F41D0091A8 -:10E57000F51D232F342FDECF8091BA1D9091BB1D46 -:10E58000A091BC1DB091BD1D6E962CAD3DAD4EADA4 -:10E590005FAD6E97281B390B4A0B5B0BCA01B901A3 -:10E5A0000F94BF052091061E3091071E4091081E52 -:10E5B0005091091E0F94240569A77AA78BA79CA7E1 -:10E5C000698B7A8B8B8B9C8BA2966CAD7DAD8EAD5F -:10E5D0009FADA2972DA93EA94FA958AD621B730B01 -:10E5E000840B950B0F94BF0520910A1E30910B1ED2 -:10E5F00040910C1E50910D1E0F9424054B015C019F -:10E600006D8B7E8B8F8B988F6A966CAD7DAD8EAD4A -:10E610009FAD6A972DA53EA54FA558A9621B730B08 -:10E62000840B950B0F94BF0520910E1E30910F1E89 -:10E630004091101E5091111E0F9424056B017C0116 -:10E64000698F7A8F8B8F9C8F25966CAD7DAD8EAD4B -:10E650009FAD259729A93AA94BA95CA9621B730B09 -:10E66000840B950B0F94BF052091121E3091131E41 -:10E670004091141E5091151E0F942405E0918913AA -:10E6800034E0E39FF0011124E95BF34F20813181F5 -:10E69000428153810F94F2072B013C016091530C8E -:10E6A0007091540C882777FD8095982F0F94BF05A3 -:10E6B0009B01AC01C301B2010F94F20720E030E0EE -:10E6C00048EC52E40F9424056D8F7E8F8F8F98A3B2 -:10E6D000D1012D913D914D915C91139729AF3AAFA6 -:10E6E0004BAF5CAF263031054105510504F514965A -:10E6F0004D905D906D907C901797B6E04B1651044D -:10E7000061047104A4F4F10140845184628473842F -:10E71000F6E04F165104610471044CF4DC01CB01A6 -:10E72000BF77F10186A797A7A0ABB1AB27C069A5BA -:10E730007AA58BA59CA50F949D082B013C01C501D2 -:10E74000B4010F949D089B01AC01C301B2010F9469 -:10E7500044044B015C01C701B6010F949D089B0165 -:10E76000AC01C501B4010F9444040F945F08D101BA -:10E770009E966D937D938D939C93D197D1019E9698 -:10E780002D913D914D915C91D19729962CAF3DAF44 -:10E790004EAF5FAF299760E070E080E89FE30F9491 -:10E7A00024059B01AC016BA17FA1812F902F0F94B9 -:10E7B000F2072B013C019091D2188091D118E92FDA -:10E7C000F0E0E81BF109EF70FF27FEABEDABA30112 -:10E7D000920160E074E284E799E40F9424050F94B9 -:10E7E000C2076B017C012DA93EA9223031050CF432 -:10E7F00042C04901AA2497FCA094BA2CC501B401D7 -:10E800000F94BF0520E030E040E051E40F941D0577 -:10E8100087FF31C08091261E9091271EA091281E4F -:10E82000B091291EC816D906EA06FB0620F5BC01E0 -:10E83000CD016C197D098E099F09660F771F881F0E -:10E84000991FA50194010F94FB08CA01B9010F9407 -:10E85000BD050F94C2076C0D7D1D8E1D9F1D0F946D -:10E86000BD059B01AC0160E074E284E799E40F947C -:10E8700024052B013C01A301920129966CAD7DADCD -:10E880008EAD9FAD29970F94F20721966CAF7DAFA7 -:10E890008EAF9FAF2197D10192966D937D938D930B -:10E8A0009C93959750966D917D918D919C915397E6 -:10E8B0000F94BD056BA37CA38DA39EA3A30192011E -:10E8C0000F94F2070F940A050F9491056B017C01D8 -:10E8D000F10160AF71AF82AF93AF8E010F5E1F4F3A -:10E8E00026E13EE166963FAF2EAF6697AE014F5DE3 -:10E8F0005F4F5AA349A3CE01019664969FAF8EAF96 -:10E9000064971FA21DA690E899ABAFE3A9A7F801F1 -:10E9100061917191819191918F01A30192010F9465 -:10E92000F2076496AEADBFAD64976D937D938D9302 -:10E930009D936496BFAFAEAF64979B01AC015F77C8 -:10E9400062962CAF3DAF4EAF5FAF62976696AEADAD -:10E95000BFAD66978D909D90AD90BD906696BFAF10 -:10E96000AEAF6697A501940162966CAD7DAD8EAD9C -:10E970009FAD62970F9420071816F4F462962CADA1 -:10E980003DAD4EAD5FAD6297C501B4010F94240556 -:10E99000B62EA72E982E892E262F372F482F592F87 -:10E9A0006FA17DA589A999A50F941D0587FD04C0B8 -:10E9B000BFA2ADA699AA89A6E9A1FAA10E171F07C1 -:10E9C00009F0A5CF20E030E040E85FE36FA17DA52E -:10E9D00089A999A50F941D0587FF3FC05E01F1E14C -:10E9E000AF0EB11C8E010F5F1F4F2FA13DA549A98E -:10E9F00059A5D8016D917D918D919C910F94F2074D -:10EA0000F80161937193819391938F01EA15FB054E -:10EA100061F72FA13DA549A959A521966CAD7DAD02 -:10EA20008EAD9FAD21970F94F207D10192966D9311 -:10EA30007D938D939C939597C701B6010F94BD0567 -:10EA40002FA13DA549A959A50F94F2070F9491054F -:10EA5000F10160AF71AF82AF93AF29962CAD3DADA0 -:10EA60004EAD5FAD29976BA17CA18DA19EA10F94A6 -:10EA700024056B017C0129AD3AAD4BAD5CAD232B78 -:10EA8000242B252B59F5F10184819581A681B7812D -:10EA9000892B8A2B8B2B11F580859185A285B385D7 -:10EAA000892B8A2B8B2BD1F42091EA1D3091EB1D01 -:10EAB0004091EC1D5091ED1DC701B6010F94F20776 -:10EAC0000F940A0581010C5B1F4F0F949105D8012B -:10EAD0006D937D938D939C931397F6C02091EE1DBB -:10EAE0003091EF1D4091F01D5091F11DC701B6010D -:10EAF0000F94F2070F940A050F94910581010C5BA6 -:10EB00001F4FF80160837183828393834090CA1DF5 -:10EB10005090CB1D6090CC1D7090CD1D0F94BD0505 -:10EB20004B015C0169AD7AAD8BAD9CAD0F94BF0517 -:10EB30009B01AC01C501B4010F94F2072BA13CA1CC -:10EB40004DA15EA10F9424054B015C01C301B201EC -:10EB50000F94BD059B01AC01C501B4010F942007C2 -:10EB6000181634F4D8014D925D926D927C921397F1 -:10EB70004090CE1D5090CF1D6090D01D7090D11D43 -:10EB8000F80160817181828193810F94BD054B01F1 -:10EB90005C01D10114966D917D918D919C91179797 -:10EBA0000F94BF059B01AC01C501B4010F94F2079E -:10EBB0002BA13CA14DA15EA10F9424054B015C014A -:10EBC000C301B2010F94BD059B01AC01C501B401A5 -:10EBD0000F94200718162CF4F801408251826282AB -:10EBE00073824090D61D5090D71D6090D81D7090B4 -:10EBF000D91D81010C5B1F4FD8016D917D918D91C5 -:10EC00009C910F94BD054B015C012E966CAD7DADC2 -:10EC10008EAD9FAD2E970F94BF059B01AC01C50132 -:10EC2000B4010F94F2072BA13CA14DA15EA10F945A -:10EC300024054B015C01C301B2010F94BD059B018A -:10EC4000AC01C501B4010F94200718162CF4F8018B -:10EC500040825182628273824090D21D5090D31DB7 -:10EC60006090D41D7090D51DD8016D917D918D91CE -:10EC70009C910F94BD054B015C01F101608571858C -:10EC8000828593850F94BF059B01AC01C501B4013A -:10EC90000F94F2072BA13CA14DA15EA10F94240576 -:10ECA0004B015C01C301B2010F94BD059B01AC0196 -:10ECB000C501B4010F942007181634F4D8014D9201 -:10ECC0005D926D927C921397F101EC5BFF4F608136 -:10ECD0007181828193810F94BD054B015C01A70175 -:10ECE00096010F942405A6966CAF7DAF8EAF9FAFB3 -:10ECF000A697F10162AB73AB84AB95AB2DEB37E319 -:10ED000046E051E4C501B4010F94F2070F948C055D -:10ED1000D1015C966D937D938D939C935F97C0908A -:10ED2000E61DD090E71DE090E81DF090E91D20E081 -:10ED300030E040E05FE3C701B6010F94F2076BA338 -:10ED40007FA38C0129853A854B855C85AA962CAFDB -:10ED50003DAF4EAF5FAFAA978091E21D9091E31D4A -:10ED6000A091E41DB091E51D21968CAF9DAFAEAF93 -:10ED7000BFAF219720E030E040E05FE3BC01CD0170 -:10ED80000F94F207B62EA72E982E892EAA966CAD58 -:10ED90007DAD8EAD9FADAA979F772B2D3A2D492D36 -:10EDA000582D0F94200718167CF42B2D3A2D492D41 -:10EDB000582D6BA17FA1C8010F941D0587FD04C0CC -:10EDC000BBA2AFA2092D182D2D853E854F855889F0 -:10EDD000AE962CAF3DAF4EAF5FAFAE978091DE1DCC -:10EDE0009091DF1DA091E01DB091E11D2E968CAF9A -:10EDF0009DAFAEAFBFAF2E9720E030E040E05FE3C5 -:10EE0000BC01CD010F94F207B62EA72E982E892EA5 -:10EE1000AE966CAD7DAD8EAD9FADAE979F772B2D31 -:10EE20003A2D492D582D0F94200718167CF42B2DC0 -:10EE30003A2D492D582D6BA17FA1C8010F941D05B6 -:10EE400087FD04C0BBA2AFA2092D182DD101929657 -:10EE5000BC91BDA7F101F3A1F9ABD1019496BC918E -:10EE6000B9A7F101F5A1F9AF2DA539A94B2F5F2F56 -:10EE70006BA17FA1C8010F941D0587FD06C02DA5BC -:10EE80002BA339A93FA309A519AD4DA95EA942300D -:10EE900051050CF409C15091A61D5DAB8091A71DD1 -:10EEA0002F968FAF2F979091A81D63969FAF639772 -:10EEB000A091A91D6596AFAF659727E137EB41EDAE -:10EEC00058E36DA9782F892F9A2F0F9420071816D1 -:10EED0000CF0EAC02091AA1D3091AB1D4091AC1DF1 -:10EEE0005091AD1D69817A818B819C810F9443047F -:10EEF0002B013C012091AE1D3091AF1D4091B01D02 -:10EF00005091B11D6D817E818F8198850F9443044E -:10EF10004B015C01A3019201C301B2010F94F207FE -:10EF20002B013C01A5019401C501B4010F94F20726 -:10EF30009B01AC01C301B2010F9444040F945F081C -:10EF40004B015C01A70196010F94200718164CF4A1 -:10EF5000A5019401C701B6010F9424055B014C0182 -:10EF600006C0A12CB12CB0E88B2E8FE3982E2091F7 -:10EF7000B21D3091B31D4091B41D5091B51DAA969C -:10EF80006CAD7DAD8EAD9FADAA970F9443046B0120 -:10EF90007C01E894F7F821962CAD3DAD4EAD5FAD08 -:10EFA0002197C701B6010F9420071816E4F4A701B2 -:10EFB000960121966CAD7DAD8EAD9FAD21970F94DE -:10EFC0002405F62EE72ED82EC92E262F372F482FB0 -:10EFD000592FB501C4010F941D0587FD04C0AF2C46 -:10EFE000BE2C8D2C9C2C2091B61D3091B71D4091CC -:10EFF000B81D5091B91DAE966CAD7DAD8EAD9FAD77 -:10F00000AE970F9443046B017C01E894F7F82E96B9 -:10F010002CAD3DAD4EAD5FAD2E97C701B6010F943F -:10F0200020071816E4F4A70196012E966CAD7DAD6D -:10F030008EAD9FAD2E970F942405F62EE72ED82E79 -:10F04000C92E262F372F482F592FB501C4010F94F1 -:10F050001D0587FD04C0AF2CBE2C8D2C9C2C95016A -:10F06000A4016DA579A989A599AD0F94F2074B016B -:10F070005C019B01AC016DA92F967FAD2F97639624 -:10F080008FAD639765969FAD65970F941D0587FFBC -:10F090000EC08DA82F969FAC2F976396AFAC639749 -:10F0A0006596BFAC659703C08BA09FA05801C401B3 -:10F0B000D501F10182A793A7A4A7B5A7A6966CAD29 -:10F0C0007DAD8EAD9FADA69790589B01AC010F947E -:10F0D000440429962CAD3DAD4EAD5FAD29970F94FC -:10F0E000F2079B01AC016BE077ED83E29BE30F94A9 -:10F0F00043040F945F087B01D82EC92E9B01482F33 -:10F10000592FB401C5010F941D0587FD03C04701A8 -:10F11000AD2CBC2CC401D501F10186A397A3A0A7F7 -:10F12000B1A797014D2D5C2D6DA579A989A599AD44 -:10F130000F941D0518162CF081E0D101D7968C9301 -:10F1400002C0F10117AA81E0D101D6968C9380E12B -:10F15000FE013196AAEABDE101900D928A95E1F790 -:10F160008DA599A9A9A5B9AD8093A61D9093A71DBA -:10F17000A093A81DB093A91D9C01AD016BA17FA117 -:10F18000C8010F9424056B017C012DA539A949A55F -:10F1900059ADB401C5010F942405AB01BC01970121 -:10F1A0008601C1010E9432EB2A96BFAD2A97B09327 -:10F1B000D2186E962CAD3DAD4EAD5FAD6E972093DF -:10F1C000BA1D3093BB1D4093BC1D5093BD1DA2962C -:10F1D0008CAD9DADAEADBFADA2978093BE1D90939B -:10F1E000BF1DA093C01DB093C11D6A962CAD3DAD4F -:10F1F0004EAD5FAD6A972093C21D3093C31D4093FF -:10F20000C41D5093C51D25968CAD9DADAEADBFAD53 -:10F2100025978093C61D9093C71DA093C81DB093DA -:10F22000C91D0E94E7EEC359DF4F0FB6F894DEBF49 -:10F230000FBECDBFDF91CF911F910F91FF90EF9047 -:10F24000DF90CF90BF90AF909F908F907F906F9006 -:10F250005F904F903F902F900C943ADCC359DF4F52 -:10F260000FB6F894DEBF0FBECDBFDF91CF911F91D7 -:10F270000F91FF90EF90DF90CF90BF90AF909F9055 -:10F280008F907F906F905F904F903F902F90089558 -:10F290004F925F926F927F92AF92BF92CF92DF9226 -:10F2A000EF92FF920F931F93CF93DF933B01EA01FD -:10F2B0005901FC01C080D180E280F3802091061EBC -:10F2C0003091071E4091081E5091091EC701B601DA -:10F2D0000F94F2070F94C2076093BA1D7093BB1D81 -:10F2E0008093BC1D9093BD1DF301408051806280CE -:10F2F000738020910A1E30910B1E40910C1E50917C -:10F300000D1EC301B2010F94F2070F94C207609360 -:10F31000BE1D7093BF1D8093C01D9093C11D809131 -:10F320000C188823B9F093018201B701A6018CE083 -:10F3300098E10E9434E9288139814A815B810F94E8 -:10F34000440420910E1E30910F1E4091101E5091CA -:10F35000111E0CC020910E1E30910F1E4091101EE8 -:10F360005091111E688179818A819B810F94F207E7 -:10F370000F94C2076093C21D7093C31D8093C41D78 -:10F380009093C51D2091121E3091131E4091141EA2 -:10F390005091151EF50160817181828193810F94D6 -:10F3A000F2070F94C2076093C61D7093C71D809328 -:10F3B000C81D9093C91D26EC3DE142EC5DE16EEB6A -:10F3C0007DE18AEB9DE10E94C6E31092A61D10929A -:10F3D000A71D1092A81D1092A91D1092AA1D10928F -:10F3E000AB1D1092AC1D1092AD1D1092AE1D10926F -:10F3F000AF1D1092B01D1092B11D1092B21D10924F -:10F40000B31D1092B41D1092B51D1092B61D10922E -:10F41000B71D1092B81D1092B91DDF91CF911F91A9 -:10F420000F91FF90EF90DF90CF90BF90AF907F90C3 -:10F430006F905F904F9008952091121E3091131E8F -:10F440004091141E5091151EFC01608171818281D2 -:10F4500093810F94F2070F94C2076093C61D7093B7 -:10F46000C71D8093C81D9093C91D86EC9DE10C9427 -:10F4700002E48091D2189091D118891B8F70089561 -:10F480006093920C7093930C8093940C9093950CD2 -:10F490000895CF92DF92EF92FF920F931F93CF9335 -:10F4A000DF9300D01F92CDB7DEB756EFC52E5DE1DA -:10F4B000D52E66E0E62E6EE1F62E0AEC1DE1F60191 -:10F4C00061917191819191916F01F7012191319138 -:10F4D000419151917F0129833A834B835C830F943F -:10F4E000BD0529813A814B815C810F94F2070F940D -:10F4F0009105F80161937193819391938F01F6E0E7 -:10F50000CF16FEE1DF06D9F60F900F900F900F9007 -:10F51000DF91CF911F910F91FF90EF90DF90CF90EF -:10F5200008958091591E90E020915A1E821B9109E6 -:10F53000089520915A1E8091591E281750F4E22FE9 -:10F54000F0E0E55AF14E808190E02F5F20935A1E43 -:10F5500008958FEF9FEF0895E0915A1E8091591EF4 -:10F56000E81730F4F0E0E55AF14E808190E008951C -:10F570008FEF9FEF08950895CF92DF92EF92FF9261 -:10F580000F931F93CF93DF937C01CB018A012091CE -:10F59000361E222389F0EB016B01C40ED51ECC155B -:10F5A000DD0561F06991D701ED91FC910190F08149 -:10F5B000E02DC7011995F3CF642F4BD0C801DF911F -:10F5C000CF911F910F91FF90EF90DF90CF90089512 -:10F5D000CF93DF931F92CDB7DEB769832091361E9C -:10F5E0002223D1F02091371E203240F021E030E07C -:10F5F000FC013383228380E090E014C08091381EA8 -:10F60000E82FF0E0E75CF14E998190838F5F809363 -:10F61000381E8093371E04C061E0CE01019619D0D8 -:10F6200081E090E00F90DF91CF910895FC0113826B -:10F63000128248EE53E060E070E0448355836683B5 -:10F64000778381EC9EE09183808308958AE29EE136 -:10F65000EDCF613298F42091E81E243089F4609354 -:10F660009D1EFC018FE99EE1DC012A2F281B261735 -:10F6700018F421912D93F9CF80E0089581E0089549 -:10F6800082E0089585ED8093BC008091BC0084FDEC -:10F69000FCCF1092E81E089585EC8093BC00109278 -:10F6A000E81E08951F920F920FB60F9211240BB609 -:10F6B0000F922F933F934F935F936F937F938F930B -:10F6C0009F93AF93BF93EF93FF938091B900887F8F -:10F6D000803609F49CC068F5883209F45BC090F468 -:10F6E000803109F454C038F4882309F4F3C0883019 -:10F6F00009F44DC0F2C0883109F44CC0803209F4DD -:10F700005DC0EBC0803409F468C048F4803309F46C -:10F7100055C0883309F0E1C080937B1EA7C08035B7 -:10F7200009F44FC0883509F45DC0883409F0D5C0AC -:10F73000D3C0883909F4C4C0A8F4883709F467C075 -:10F7400038F4883609F463C0803709F460C0C5C056 -:10F75000883809F4B5C0803909F45FC0803809F0F1 -:10F76000BCC05BC0803B09F483C038F4803A09F424 -:10F7700066C0883A09F47CC0B0C0803C09F4A4C0DB -:10F78000883C09F4A1C0883B09F487C0A6C08091D9 -:10F79000E71E10C09091C01E8091BF1E981770F593 -:10F7A000E091C01E81E08E0F8093C01EF0E0EF5309 -:10F7B000F14E80818093BB0085EC83C080937B1EDB -:10F7C0008BC0E091C01E81E08E0F8093C01E80919F -:10F7D000BB00F0E0EF53F14E80839091C01E80910A -:10F7E000BF1E6BC0E091C01E81E08E0F8093C01ED3 -:10F7F0008091BB00F0E0EF53F14E80838091E61ED4 -:10F8000081116AC081E08093E51E84EA5EC083E0D6 -:10F810008093E81E10927C1ECFCF80917C1E803298 -:10F8200008F04EC0E0917C1E81E08E0F80937C1E1C -:10F830008091BB00F0E0E358F14E8083BDCF809112 -:10F840007C1E803230F4E0917C1EF0E0E358F14EF3 -:10F85000108218DF60917C1E70E0E091E11EF09153 -:10F86000E21E8DE79EE1199510927C1E15DF35C0D2 -:10F8700084E08093E81E10929E1E10929D1EE091DF -:10F88000E31EF091E41E199580919D1E811105C023 -:10F8900081E080939D1E10929F1EE0919E1E81E04C -:10F8A0008E0F80939E1EF0E0E156F14E8081809392 -:10F8B000BB0090919E1E80919D1E981708F47CCFEE -:10F8C00085E88093BC0009C085EC8093BC00109251 -:10F8D000E81E03C010927B1ED5DEFF91EF91BF9111 -:10F8E000AF919F918F917F916F915F914F913F91D8 -:10F8F0002F910F900BBE0F900FBE0F901F90189579 -:10F900001F93CF93DF93182FEB0161E003D1209772 -:10F9100011F460E004C0CF3FD10531F461E0812FE4 -:10F92000DF91CF911F912FC1E12FF0E0E550F04A18 -:10F93000449150E0FA013197E131F10508F091C0AE -:10F94000E358FF4F0D94390984B5806884BDC7BD65 -:10F950008DC084B5806284BDC8BD88C080918000A0 -:10F96000806880938000D0938900C09388007EC017 -:10F9700080918000806280938000D0938B00C09340 -:10F980008A0074C08091B00080688093B000C093FA -:10F99000B3006CC08091B00080628093B000C093CF -:10F9A000B40064C080919000806880939000D093F0 -:10F9B0009900C09398005AC0809190008062809313 -:10F9C0009000D0939B00C0939A0050C0809190000B -:10F9D000886080939000D0939D00C0939C0046C0A7 -:10F9E0008091A00080688093A0008091A0008F7B10 -:10F9F0008093A000D093A900C093A80037C0809145 -:10FA0000A00080628093A000D093AB00C093AA00B6 -:10FA10002DC08091A00088608093A000D093AD009D -:10FA2000C093AC0023C080912001806880932001A6 -:10FA3000D0932901C093280119C0809120018062D0 -:10FA400080932001D0932B01C0932A010FC0809195 -:10FA50002001886080932001D0932D01C0932C0158 -:10FA600005C0C038D1050CF059CF53CFDF91CF91ED -:10FA70001F91089590E0FC013197E131F10508F004 -:10FA800048C0E257FF4F0D943909809180008F776D -:10FA900003C0809180008F7D80938000089584B59D -:10FAA0008F7702C084B58F7D84BD08958091B000AA -:10FAB0008F7703C08091B0008F7D8093B000089550 -:10FAC000809190008F7707C0809190008F7D03C058 -:10FAD00080919000877F8093900008958091A0008E -:10FAE0008F7707C08091A0008F7D03C08091A00018 -:10FAF000877F8093A0000895809120018F7707C0B1 -:10FB0000809120018F7D03C080912001877F8093A9 -:10FB100020010895CF93DF9390E0FC01EF5AFF4955 -:10FB20002491FC01E955FF498491882349F190E033 -:10FB3000880F991FFC01EF5CFE49A591B491895E85 -:10FB40009E49FC01C591D4919FB7611108C0F894FA -:10FB50008C91209582238C93888182230AC0623005 -:10FB600051F4F8948C91322F309583238C938881B3 -:10FB7000822B888304C0F8948C91822B8C939FBF36 -:10FB8000DF91CF9108950F931F93CF93DF931F922F -:10FB9000CDB7DEB7282F30E0F901E550F04A849167 -:10FBA000F901EF5AFF491491F901E955FF49049110 -:10FBB0000023C1F0882319F069835CDF6981E02F9D -:10FBC000F0E0EE0FFF1FE95EFE49A591B4919FB7EB -:10FBD000F8948C91611103C01095812301C0812B91 -:10FBE0008C939FBF0F90DF91CF911F910F9108953C -:10FBF000CF93DF93282F30E0F901E550F04A84914C -:10FC0000F901EF5AFF49D491F901E955FF49C4912F -:10FC1000CC2389F081112EDFEC2FF0E0EE0FFF1FD7 -:10FC2000E350FF49A591B4912C912D2381E090E000 -:10FC300021F480E002C080E090E0DF91CF91089550 -:10FC40001F920F920FB60F9211242F933F938F9311 -:10FC50009F93AF93BF938091EA1E9091EB1EA0916A -:10FC6000EC1EB091ED1E3091E91E23E0230F2D37DD -:10FC700020F40196A11DB11D05C026E8230F0296B0 -:10FC8000A11DB11D2093E91E8093EA1E9093EB1EE7 -:10FC9000A093EC1EB093ED1E8091EE1E9091EF1E8E -:10FCA000A091F01EB091F11E0196A11DB11D80938F -:10FCB000EE1E9093EF1EA093F01EB093F11EBF9125 -:10FCC000AF919F918F913F912F910F900FBE0F9009 -:10FCD0001F9018952FB7F8946091EA1E7091EB1E53 -:10FCE0008091EC1E9091ED1E2FBF08953FB7F894C0 -:10FCF0008091EE1E9091EF1EA091F01EB091F11E2A -:10FD000026B5A89B05C02F3F19F00196A11DB11D76 -:10FD10003FBF6627782F892F9A2F620F711D811D93 -:10FD2000911D42E0660F771F881F991F4A95D1F7F2 -:10FD30000895CF92DF92EF92FF92CF93DF936B0102 -:10FD40007C01D4DFEB01C114D104E104F10471F0B2 -:10FD5000CDDF6C1B7D0B683E7340A8F381E0C81AB1 -:10FD6000D108E108F108C851DC4FEDCFDF91CF9108 -:10FD7000FF90EF90DF90CF9008950197009739F0B2 -:10FD8000880F991F880F991F02970197F1F708951F -:10FD9000789484B5826084BD84B5816084BD85B566 -:10FDA000826085BD85B5816085BDEEE6F0E080812D -:10FDB00081608083E1E8F0E010828081826080834E -:10FDC000808181608083E0E8F0E0808181608083D1 -:10FDD000E1EBF0E0808184608083E0EBF0E0808103 -:10FDE00081608083E1E9F0E08081826080838081AE -:10FDF00081608083E0E9F0E0808181608083E1EAD6 -:10FE0000F0E0808182608083808181608083E0EA8D -:10FE1000F0E0808181608083E1E2F1E080818260B6 -:10FE20008083808181608083E0E2F1E08081816075 -:10FE30008083EAE7F0E08081846080838081826053 -:10FE4000808380818160808380818068808310923C -:10FE5000C10008959DDF0E949C66C0E0D0E00E9432 -:10FE600038962097E1F30E940000F9CF3F924F921D -:10FE70005F926F927F928F929F92AF92BF92CF923A -:10FE8000DF92EF92FF920F931F93CF93DF9300D0F7 -:10FE90001F92CDB7DEB78B0129013A019091960CE4 -:10FEA000981721F09F3F09F0B1C204C0EBE4F1E6DE -:10FEB000349004C18093960CEBE4F1E6E491EF3FBB -:10FEC00009F4A4C2E23009F480C074F5EE2309F409 -:10FED0005BC0E13009F0F1C0109280001092810007 -:10FEE0009091810098609093810090918100916041 -:10FEF00090938100282F30E0F901E955FF49E49102 -:10FF0000F0E0EE0FFF1FE95EFE49459154915093DA -:10FF1000101F40930F1FF901EF5AFF4924912093BE -:10FF20000E1F33243394CCC0E43009F49EC00CF48B -:10FF300074C0E53009F0C1C0109220011092210177 -:10FF400090912101986090932101909121019160FD -:10FF500090932101282F30E0F901E955FF49E49100 -:10FF6000F0E0EE0FFF1FE95EFE494591549150937A -:10FF7000F41E4093F31EF901EF5AFF492491209398 -:10FF8000F21E55E0352E9CC014BC15BC94B5926091 -:10FF900094BD95B5916095BD282F30E0F901E955E4 -:10FFA000FF49E491F0E0EE0FFF1FE95EFE49459145 -:10FFB00054915093171F4093161FF901EF5AFF49B0 -:10FFC00024912093151F312C7BC01092B000109209 -:10FFD000B1009091B00092609093B0009091B10008 -:10FFE00091609093B100282F30E0F901E955FF4965 -:10FFF000E491F0E0EE0FFF1FE95EFE494591549158 -:020000022000DC -:100000005093091F4093081FF901EF5AFF492491AB -:100010002093071F22E0322E53C0109290001092BE -:10002000910090919100986090939100909191002F -:10003000916090939100282F30E0F901E955FF4934 -:10004000E491F0E0EE0FFF1FE95EFE494591549107 -:100050005093021F4093011FF901EF5AFF49249169 -:100060002093001FB3E03B2E2BC01092A0001092F3 -:10007000A1009091A10098609093A1009091A1009F -:1000800091609093A100282F30E0F901E955FF49D4 -:10009000E491F0E0EE0FFF1FE95EFE4945915491B7 -:1000A0005093FB1E4093FA1EF901EF5AFF49249129 -:1000B0002093F91E74E0372E03C03E2E37FCA6C1F4 -:1000C00061E028DD4801A12CB12C832D8D7F09F042 -:1000D000C0C060E072E18AE790E0A50194010F944E -:1000E0001D0929833A834B835C8369017A0181E08E -:1000F000C81AD108E108F1089FEFC916D104E1043C -:10010000F10409F008F49AC060E472E48FE090E032 -:10011000A50194010F941D0969017A01E1E0CE1A4D -:10012000D108E108F108F2E03F1219C08FEFC816BC -:10013000D104E104F10409F008F487C060E970ED2E -:1001400083E090E0A50194010F941D0969017A01F3 -:1001500091E0C91AD108E108F10883E001C082E00A -:10016000EFEFCE16D104E104F10409F008F467C002 -:1001700068E478EE81E090E0A50194010F941D09F8 -:1001800069017A01F1E0CF1AD108E108F1083320C2 -:10019000E1F082E038121BC09FEFC916D104E104E0 -:1001A000F10409F008F430C164E274EF80E090E0FB -:1001B000A50194010F941D0969017A01E1E0CE1AAD -:1001C000D108E108F10885E003C083E001C084E0C4 -:1001D000FFEFCF16D104E104F10489F180F162E16F -:1001E0007AE780E090E0A50194010F941D09690170 -:1001F0007A0181E0C81AD108E108F108311002C083 -:1002000084E001C086E09FEFC916D104E104F10447 -:10021000B1F0A8F0C980DA80EB80FC809AE0F59418 -:10022000E794D794C7949A95D1F7E1E0CE1AD10814 -:10023000E108F108332031F087E008C081E0332085 -:1002400011F004C085E085BD50C082E08093B1000C -:100250004CC060E072E18AE790E0A5019401EDD71F -:1002600069017A01F1E0CF1AD108E108F108C1145F -:10027000D10481E0E806F10480F068E478EE81E0E2 -:1002800090E0A5019401D9D769017A0191E0C91ADA -:10029000D108E108F10893E001C091E0E1E03E12ED -:1002A00007C080918100887F892B809381001DC0C9 -:1002B000F3E03F1207C080919100887F892B8093E3 -:1002C000910013C084E0381207C08091A100887F9C -:1002D000892B8093A10009C0E5E03E1206C0809101 -:1002E0002101887F892B80932101411451046104ED -:1002F000710461F0D801AA0FBB1FA3019201C5D7F9 -:1003000028EE33E040E050E076D703C02FEF3FEF18 -:10031000A901F2E03F1609F443C0F315BCF0332005 -:1003200081F181E0381272C0D0928900C0928800B9 -:100330002093111F3093121F4093131F5093141FCB -:1003400080916F00826080936F0060C094E03916E6 -:1003500009F448C03916A4F1E5E03E1257C0D09226 -:100360002901C09228012093F51E3093F61E409378 -:10037000F71E5093F81E8091730082608093730083 -:1003800045C0C7BC2093181F3093191F40931A1FF4 -:1003900050931B1F80916E00826080936E0036C068 -:1003A000C092B30020930A1F30930B1F40930C1F81 -:1003B00050930D1F8091700082608093700026C062 -:1003C000D0929900C09298002093031F3093041F8D -:1003D0004093051F5093061F8091710082608093A7 -:1003E000710014C0D092A900C092A8002093FC1EF6 -:1003F0003093FD1E4093FE1E5093FF1E80917200AD -:1004000082608093720002C084E020CF0F900F9032 -:100410000F900F90DF91CF911F910F91FF90EF9070 -:10042000DF90CF90BF90AF909F908F907F906F9014 -:100430005F904F903F9008958230A9F028F4882370 -:1004400049F0813051F00895843009F1E8F08530A9 -:1004500009F1089510926E00089580916F008D7FCC -:1004600080936F000895809170008D7F809370005D -:1004700081E08093B0008091B100887F8460809398 -:10048000B1001092B3000895109271000895109277 -:1004900072000895109273000895CF93C82F809131 -:1004A000960C8C1307C0EBE4F1E684919FEF9093D8 -:1004B000960C01C08FEFC0DF60E08C2FCF9163CB33 -:1004C0001F920F920FB60F9211240BB60F922F931B -:1004D0003F934F935F936F937F938F939F93AF93CC -:1004E000BF93EF93FF9380910A1F90910B1FA091F0 -:1004F0000C1FB0910D1F892B8A2B8B2B51F19091E2 -:10050000071FE091081FF091091F808189278083D0 -:1005100080910A1F90910B1FA0910C1FB0910D1F8D -:10052000181619061A061B06BCF480910A1F909132 -:100530000B1FA0910C1FB0910D1F0197A109B109CC -:1005400080930A1F90930B1FA0930C1FB0930D1F55 -:1005500003C08091960CA1DFFF91EF91BF91AF9105 -:100560009F918F917F916F915F914F913F912F91CB -:100570000F900BBE0F900FBE0F901F901895FC01AF -:100580008081918149C7CF93DF93EC018881998164 -:10059000009709F041D7198218821D821C821B82A4 -:1005A0001A82DF91CF9108950F931F93CF93DF931A -:1005B000EC018B016F5F7F4F88819981BCD70097D9 -:1005C00031F0998388831B830A8381E001C080E036 -:1005D000DF91CF911F910F910895CF93DF93EC019D -:1005E00088819981892B29F08A819B8186179707B9 -:1005F00058F4CE01D9DF882341F08C819D81892B6D -:1006000019F4E881F981108281E0DF91CF9108959A -:10061000EF92FF920F931F93CF93DF93EC017B0137 -:100620008A01BA01DADF811103C0CE01ACDF07C055 -:100630001D830C83B701888199810F94C80ECE0168 -:10064000DF91CF911F910F91FF90EF900895FC01E2 -:100650001182108213821282158214826115710533 -:1006600051F0FB0101900020E9F7AF014150510921 -:10067000461B570BCDCF0895CF93DF93EC01FB01C1 -:100680008617970751F0608171816115710521F01E -:1006900044815581BDDF01C076DFCE01DF91CF916E -:1006A0000895FC0111821082138212821582148235 -:1006B000E3CFEF92FF920F931F93CF93DF93EC0161 -:1006C0007B010C811D816115710511F480E015C05D -:1006D0004115510589F0040F151FB8017EDF8823ED -:1006E000A9F3288139818C819D81B701820F931FE5 -:1006F0000F94C80E1D830C8381E0DF91CF911F9171 -:100700000F91FF90EF900895CF93DF93EC01FB01E1 -:100710004481558160817181CCDF811102C0CE019D -:1007200032DFCE01DF91CF910895CF92DF92EF9229 -:10073000FF920F931F93CF93DF936C017A01EB012C -:10074000E60EF71E00E010E0CE15DF0561F06991BE -:10075000D601ED91FC910190F081E02DC601199533 -:10076000080F191FF1CFC801DF91CF911F910F9191 -:10077000FF90EF90DF90CF9008956115710581F0A3 -:10078000DB010D900020E9F7AD0141505109461BF6 -:10079000570BDC01ED91FC910280F381E02D19945F -:1007A00080E090E00895E9CFDC01ED91FC910190AB -:1007B000F081E02D19948F929F92AF92BF92CF92C9 -:1007C000DF92EF92FF920F931F93CF93DF93CDB7FA -:1007D000DEB7A1970FB6F894DEBF0FBECDBF7C0188 -:1007E000C42EE52FCB01D22E19A221E02D1510F039 -:1007F0002AE0D22E8E010F5D1F4F8D2C912CA12C43 -:10080000B12C6C2D7E2FA5019401F5D48C2DD29E98 -:1008100080191124015011098A3014F4805D01C03F -:10082000895CF8018083211531054105510521F0CE -:10083000C22EE32FCA01E5CFB801C7019EDFA19602 -:100840000FB6F894DEBF0FBECDBFDF91CF911F91E1 -:100850000F91FF90EF90DF90CF90BF90AF909F905F -:100860008F9008952115310541F4DC01ED91FC9143 -:100870000190F081E02D642F19949DCF9A01AB0176 -:1008800060E070E0EFCF5058BB27AA270ED076C2A9 -:100890003FD230F044D220F031F49F3F11F41EF4E7 -:1008A0000FC20EF4E095E7FBDCC1E92F89D280F39B -:1008B000BA17620773078407950718F071F49EF55D -:1008C000B8C20EF4E0950B2EBA2FA02D0B01B90182 -:1008D00090010C01CA01A0011124FF27591B99F0B6 -:1008E000593F50F4503E68F11A16F040A22F232FC2 -:1008F000342F4427585FF3CF469537952795A79512 -:10090000F0405395C9F77EF41F16BA0B620B730BB8 -:10091000840BBAF09150A1F0FF0FBB1F661F771F29 -:10092000881FC2F70EC0BA0F621F731F841F48F4DE -:10093000879577956795B795F7959E3F08F0B3CF64 -:100940009395880F08F09927EE0F9795879508954E -:10095000DFD158F080E891E009F49EEFE0D128F073 -:1009600040E851E059F45EEF09C0AAC162C2E92F24 -:10097000E07826D268F3092E052AC1F32617370737 -:100980004807590738F00E2E07F8E02569F0E025F2 -:10099000E0640AC0EF6307F8009407FADB01B901CD -:1009A0009D01DC01CA01AD01EF935DD0E7D10AD012 -:1009B0005F91552331F02BED3FE049E450FD49ECC8 -:1009C00063CF0895DF93DD27B92FBF7740E85FE35A -:1009D0001616170648075B0710F4D92F96D29F9377 -:1009E0008F937F936F93A9D3EEE3F1E06CD1C6D1DF -:1009F0002F913F914F915F9101D3DD2349F09058A2 -:100A0000A2EA2AED3FE049EC5FE3D0785D274DDFB5 -:100A1000DF91B4C1F7D180F09F3740F491110EF40B -:100A200009C260E070E080E89FE3089526F01B169D -:100A3000611D711D811D1BC135C1EFD008F481E01E -:100A4000089575D1E395ABC10CD098C168D140F041 -:100A50005FD130F021F45F3F19F003C15111EAC1B9 -:100A60002FC1AED198F39923C9F35523B1F3951B48 -:100A7000550BBB27AA2762177307840738F09F5FBF -:100A80005F4F220F331F441FAA1FA9F333D00E2E2E -:100A90003AF0E0E830D091505040E695001CCAF79B -:100AA00029D0FE2F27D0660F771F881FBB1F261760 -:100AB00037074807AB07B0E809F0BB0B802DBF0133 -:100AC000FF2793585F4F2AF09E3F510568F0C9C039 -:100AD000B1C15F3FECF3983EDCF38695779567955F -:100AE000B795F7959F5FC9F7880F911D96958795E4 -:100AF00097F90895E1E0660F771F881FBB1F621703 -:100B000073078407BA0720F0621B730B840BBA0BC0 -:100B1000EE1F88F7E095089504D06894B1118AC15A -:100B2000089556D188F09F5790F0B92F9927B75163 -:100B3000A0F0D1F0660F771F881F991F1AF0BA95A1 -:100B4000C9F712C0B13081F074D1B1E0089571C11C -:100B5000672F782F8827B85F39F0B93FCCF3869597 -:100B600077956795B395D9F73EF4909580957095F4 -:100B700061957F4F8F4F9F4F0895E89409C097FB71 -:100B80003EF490958095709561957F4F8F4F9F4F64 -:100B90009923A9F0F92F96E9BB279395F6958795A8 -:100BA00077956795B795F111F8CFFAF4BB0F11F46B -:100BB00060FF1BC06F5F7F4F8F4F9F4F16C0882312 -:100BC00011F096E911C0772321F09EE8872F762F48 -:100BD00005C0662371F096E8862F70E060E02AF089 -:100BE0009A95660F771F881FDAF7880F9695879575 -:100BF00097F9089507D180F09F3740F491110EF0D6 -:100C000019C160E070E080E89FEB089526F41B16A0 -:100C1000611D711D811D2BC045C0990F0008550F26 -:100C2000AA0BE0E8FEEF16161706E807F907C0F072 -:100C300012161306E407F50798F0621B730B840B7A -:100C4000950B39F40A2661F0232B242B252B21F454 -:100C500008950A2609F4A140A6958FEF811D811DF4 -:100C6000089597F99F6780E870E060E00895882311 -:100C700071F4772321F09850872B762F07C06623D5 -:100C800011F499270DC09051862B70E060E02AF096 -:100C90009A95660F771F881FDAF7880F96958795C4 -:100CA00097F908959F3F31F0915020F487957795FB -:100CB0006795B795880F911D9695879597F9089533 -:100CC0009FEF80EC0895DF93CF931F930F93FF92D4 -:100CD000EF92DF927B018C01689405C0DA2EEF0160 -:100CE0008DD1FE01E894A5912591359145915591BD -:100CF000AEF3EF01DADDFE019701A801DA9479F78E -:100D0000DF90EF90FF900F911F91CF91DF910895A9 -:100D100000240A94161617061806090608950024DA -:100D20000A9412161306140605060895C9CF50D06A -:100D3000E8F3E894E0E0BB279F57F0F02AED3FE0AE -:100D400049EC06C0EE0FBB0F661F771F881F28F007 -:100D5000B23A62077307840728F0B25A620B730B2A -:100D6000840BE3959A9572F7803830F49A95BB0F0F -:100D7000661F771F881FD2F7904896CF092E0394DD -:100D8000000C11F4882352F0BB0F40F4BF2B11F478 -:100D900060FF04C06F5F7F4F8F4F9F4F0895EF93A9 -:100DA000E0FF06C0A2EA2AED3FE049EC5FEB7DDD03 -:100DB000E5DF0F90039401FC9058EBE6F1E0C7C12A -:100DC00057FD9058440F551F59F05F3F71F04795FC -:100DD000880F97FB991F61F09F3F79F087950895E1 -:100DE000121613061406551FF2CF4695F1DF08C000 -:100DF000161617061806991FF1CF8695710561051D -:100E000008940895E5DFA0F0BEE7B91788F4BB2782 -:100E10009F3860F41616B11D672F782F8827985FCA -:100E2000F7CF869577956795B11D93959639C8F359 -:100E30000895E894BB2766277727CB0197F9089593 -:100E4000ECDE08F48FEF089563DF19F068DF09F036 -:100E500037CF07CFB901CA0125CF9F775F77B0DFC2 -:100E600098F39923B9F35523B9F3FF27951758F44D -:100E7000E52FE91BED3070F75E3B10F0F1E41CC08C -:100E80009034E0F40AC0E92FE51BED3028F79E3BD3 -:100E900010F0F1E411C0503488F4F9EA88232AF004 -:100EA0009A95660F771F881FDAF744232AF05A9520 -:100EB000220F331F441FDAF79F1B5F1BFF931F9303 -:100EC0000F93FF92EF9279018A01BB27AB2F9B0111 -:100ED000AC0196D09701A801BF937B018C01AA2792 -:100EE000BA2FB901CA018CD0AF919701A801EF9038 -:100EF000FF900F911F91D9DC41DFE1D04F9140FF6E -:100F00000895552747FD509509C09B01AC0160E04D -:100F100070E080E89FE398CDA4CEC4CE59DFE8F31B -:100F20009923D9F3940F511DBBF39150504094F085 -:100F300059F0882332F0660F771F881F9150504078 -:100F4000C1F79E3F510544F7880F911D96958795EF -:100F500097F908955F3FACF0983E9CF0BB278695CB -:100F600077956795B79508F4B1609395C1F7BB0F76 -:100F700058F711F460FFE8CF6F5F7F4F8F4F9F4F9F -:100F8000E3CF58CF25DF58F19E5758F19851A0F084 -:100F9000E9F0983020F5092E9927660F771F881FF2 -:100FA000991F0A94D1F712C0062E672F782F882731 -:100FB000985F11F4000C07C0993FB4F386957795BC -:100FC00067959395D9F7611D711D811D3EF490952C -:100FD0008095709561957F4F8F4F9F4F08956894CE -:100FE00029CF27CF0BD0CACE93DE28F098DE18F099 -:100FF000952309F036CE64CE11241CCFE1DEA0F398 -:10100000959FD1F3950F50E0551F629FF001729F9D -:10101000BB27F00DB11D639FAA27F00DB11DAA1FBC -:10102000649F6627B00DA11D661F829F2227B00D09 -:10103000A11D621F739FB00DA11D621F839FA00D94 -:10104000611D221F749F3327A00D611D231F849FE4 -:10105000600D211D822F762F6A2F11249F5750403B -:101060008AF0E1F088234AF0EE0FFF1FBB1F661FD6 -:10107000771F881F91505040A9F79E3F510570F08F -:10108000F0CDD8CE5F3FECF3983EDCF386957795B4 -:101090006795B795F795E7959F5FC1F7FE2B880F8A -:1010A000911D9695879597F908959F9340DE0F902F -:1010B00007FCEE5F74CE11F40EF402CEF3CD88DEA1 -:1010C000D0F39923D9F3CEF39F57550B87FF38D030 -:1010D0000024A0E640EA900180585695979528F4A0 -:1010E000805C660F771F881F20F026173707480798 -:1010F00030F4621B730B840B202931294A2BA695EF -:1011000017940794202531254A2758F7660F771F33 -:10111000881F20F026173707480730F4620B730B3F -:10112000840B200D311D411DA09581F7B901842F3D -:101130009158880F9695879508959B01AC0152CFE1 -:1011400091505040660F771F881FD2F708959F93E4 -:101150008F937F936F93FF93EF939B01AC0142DFDB -:10116000EF91FF91B0DD2F913F914F915F913ACF79 -:10117000DB018F939F9389D0BF91AF91A29F800D88 -:10118000911DA39F900DB29F900D1124089587FB90 -:10119000082E062687FD819567FD61958AD00EF49D -:1011A000919507FC81950895AA1BBB1B51E107C0CF -:1011B000AA1FBB1FA617B70710F0A61BB70B881FE7 -:1011C000991F5A95A9F780959095BC01CD01089576 -:1011D00097FB072E16F4009406D077FD08D0E4DFC5 -:1011E00007FC05D03EF4909581959F4F089570952A -:1011F00061957F4F0895A1E21A2EAA1BBB1BFD012A -:101200000DC0AA1FBB1FEE1FFF1FA217B307E407E5 -:10121000F50720F0A21BB30BE40BF50B661F771F3D -:10122000881F991F1A9469F760957095809590951D -:101230009B01AC01BD01CF010895052E97FB16F46B -:1012400000940FD057FD05D0D6DF07FC02D046F43E -:1012500008C050954095309521953F4F4F4F5F4FB7 -:10126000089590958095709561957F4F8F4F9F4F12 -:101270000895EE0FFF1F0590F491E02D199425D0ED -:10128000B7FF0895821B930B08951FD0A59F900D63 -:10129000B49F900DA49F800D911D11240895B7FF58 -:1012A000F4CFF3DF821B930B08950790F691E02DA6 -:1012B0001994991B79E004C0991F961708F0961BA2 -:1012C000881F7A95C9F780950895A29FB001B39FB2 -:1012D000C001A39F700D811D1124911DB29F700D3F -:1012E000811D1124911D0895CF93DF9382309105C4 -:1012F00010F482E090E0E0911E1FF0911F1F20E0AB -:1013000030E0A0E0B0E0309739F1408151814817DA -:101310005907B8F04817590771F4828193811097E3 -:1013200029F013969C938E9312972CC090931F1FB5 -:1013300080931E1F27C02115310531F04217530736 -:1013400018F0A901DB0101C0EF019A01BD01DF0125 -:101350000280F381E02DD7CF21153105F9F0281B4C -:10136000390B2430310580F48A819B816115710528 -:1013700021F0FB019383828304C090931F1F80930D -:101380001E1FFE01329644C0FE01E20FF31F81933F -:10139000919322503109398328833AC020911C1F30 -:1013A00030911D1F232B41F4209102023091030242 -:1013B00030931D1F20931C1F2091000230910102C9 -:1013C0002115310541F42DB73EB7409104025091EB -:1013D0000502241B350BE0911C1FF0911D1FE21725 -:1013E000F307A0F42E1B3F0B2817390778F0AC0148 -:1013F0004E5F5F4F2417350748F04E0F5F1F509325 -:101400001D1F40931C1F8193919302C0E0E0F0E008 -:10141000CF01DF91CF910895CF93DF93009709F427 -:1014200087C0FC01329713821282C0911E1FD09197 -:101430001F1F209781F420813181280F391F80914F -:101440001C1F90911D1F8217930779F5F0931D1FA4 -:10145000E0931C1F6DC0DE0120E030E0AE17BF0737 -:1014600050F412964D915C9113979D0141155105D1 -:1014700009F1DA01F3CFB383A28340815181840F54 -:10148000951F8A179B0771F48D919C911197840F7A -:10149000951F02969183808312968D919C9113974C -:1014A000938382832115310529F4F0931F1FE09364 -:1014B0001E1F3EC0D9011396FC93EE9312974D91D7 -:1014C0005D91A40FB51FEA17FB0779F48081918124 -:1014D000840F951F0296D90111969C938E93828159 -:1014E000938113969C938E931297E0E0F0E08A81AB -:1014F0009B81009719F0FE01EC01F9CFCE01029615 -:1015000028813981820F931F20911C1F30911D1F4C -:101510002817390769F4309729F410921F1F109289 -:101520001E1F02C013821282D0931D1FC0931C1F66 -:10153000DF91CF9108956F927F928F929F92AF9299 -:10154000BF92CF92DF92EF92FF920F931F93CF93B0 -:10155000DF93EC01CB01209779F4DF91CF911F91BC -:101560000F91FF90EF90DF90CF90BF90AF909F9042 -:101570008F907F906F90B8CEFE01E60FF71F9E010F -:1015800022503109E217F30708F4A8C0D9010D91E0 -:101590001C91119706171707B0F00530110508F4D4 -:1015A0009BC0A801445051094617570708F494C03E -:1015B00002501109061B170B019311936D937C9335 -:1015C000CF012ADF89C05B01A01AB10A4E01800E4B -:1015D000911EA0911E1FB0911F1F612C712C60E005 -:1015E00070E0109709F449C0A815B905C9F5ED9048 -:1015F000FC901197670142E0C40ED11CCA14DB04B1 -:1016000078F147018A189B08640142E0C40ED11C9E -:101610001296BC9012971396AC91B5E0CB16D104FC -:1016200040F0B282A38391828082D9018D939C93F2 -:1016300009C00E5F1F4F0E0D1F1DF901118300839E -:10164000EB2DFA2F6115710531F0DB011396FC9338 -:10165000EE93129741C0F0931F1FE0931E1F3CC0F2 -:101660006D917C9111976616770608F43B01BD01D8 -:1016700012960D90BC91A02DB4CF60911C1F70915B -:101680001D1F68157905E9F468167906D0F44091B4 -:101690000002509101024115510541F44DB75EB76A -:1016A0006091040270910502461B570BE417F50781 -:1016B000A8F4F0931D1FE0931C1FF9019183808310 -:1016C0000BC012DE7C01009749F0A801BE011ED3B9 -:1016D000CE01A2DEC70104C0CE0102C080E090E0CE -:1016E000DF91CF911F910F91FF90EF90DF90CF90FE -:1016F000BF90AF909F908F907F906F9008958F9242 -:101700009F92AF92BF92CF92DF92EF92FF920F9390 -:101710001F93CF93DF938B016115710521F0DB01DE -:101720008C9311969C93EC015E01BFEFAB1ABB0A40 -:101730007501C8808C2D90E07BD2892B11F0E501DA -:10174000F3CFEDE2CE1208C07E01F2E0EF0EF11C05 -:10175000C980DD24D39409C02BE2C21205C07E01EA -:1017600042E0E40EF11CC980D12CE701219743E04F -:1017700050E064E571E6CE017BD2892BB9F4239663 -:1017800045E050E06FE471E6CE0172D2892B09F496 -:1017900025960115110519F0D801CD93DC93D110D0 -:1017A00000C160E070E080E89FE704C143E050E0E2 -:1017B0006CE471E6CE015CD2892B59F40115110558 -:1017C00009F4F4C0B2E0EB0EF11CF801F182E08202 -:1017D000EDC0F70160E070E0CB01C0E0D0E07F0138 -:1017E000A0EDAA2EAC0C29E02A1528F14D2D42605F -:1017F000B42E2D2D2870D2FE04C0211124C02196B4 -:1018000022C021112197A5E0B0E09B01AC013DDD94 -:10181000660F771F881F991F6A0D711D811D911D0D -:101820006839A9E97A078A07A9E19A0760F0BD2D0E -:10183000B660BB2E08C02EEFA2120AC0D3FC50C067 -:101840004D2D4860B42E3196D701CC90DB2CC7CFFC -:101850002C2D2F7D253409F043C0A081AD3241F4F9 -:10186000BD2DB061DB2E7F0122E0E20EF11C0CC029 -:101870007F01AB3231F04FEFE41AF40A21E030E09F -:1018800006C0A2E0EA0EF11CA18122E030E0A053E4 -:10189000AA3018F0E21AF30A23C0F70120E030E082 -:1018A0002038BCE03B075CF4A901440F551F440FEE -:1018B000551F240F351F220F331F2A0F311DAF0173 -:1018C0004F5F5F4F7A01A081A053AA3010F4FA0154 -:1018D000E7CFD4FE03C0319521953109C20FD31F44 -:1018E000D1FE09C00115110531F0E1E0EE1AF10851 -:1018F000D801ED92FC9241D92D2D2370233019F09F -:101900004B015C0106C04B015C01B7FAB094B7F81B -:10191000B09420E030E0A901C501B4018ED888233D -:1019200009F43CC0D7FF06C0D195C195D1090BE69B -:1019300011E602C003E811E66801B8E1CB1AD1084C -:1019400090E2E92EF12CCE15DF056CF0F80125911F -:10195000359145915491C501B40144DB4B015C01C3 -:10196000CE19DF09F0CF04501109F594E7940C1556 -:101970001D0549F78A2D880F8B2D881F8F3F41F059 -:1019800020E030E0A901C501B40157D8811106C09B -:1019900082E290E09093211F8093201FC501B40143 -:1019A00009C060E070E080E89FEF04C060E070E094 -:1019B00080EC9FE7DF91CF911F910F91FF90EF9007 -:1019C000DF90CF90BF90AF909F908F9008952F920F -:1019D0003F925F926F927F928F929F92AF92BF924F -:1019E000CF92DF92EF92FF920F931F93CF93DF93EB -:1019F0008B01EA016115710521F0DB018C931196D1 -:101A00009C93209739F09E012250310923323105F1 -:101A100008F0F8C07C016701BFEFCB1ADB0A560162 -:101A2000F7016080862D90E003D1892B11F07601BB -:101A3000F2CFFDE26F120AC0570182E0A80EB11C7E -:101A4000D70111966C90772473940BC0BBE26B1294 -:101A500007C05701E2E0AE0EB11CD70111966C90A1 -:101A6000712CCE018F7E892B89F4B0E36B1222C0DA -:101A7000F50180818F7D883541F56180F2E0AF0E00 -:101A8000B11C872D8260782EC0E1D0E0C830D1052E -:101A9000F1F04CF4C230D10511F5C12CD12CE12C60 -:101AA000B0E4FB2E2EC0CA30D10531F0C031D105D3 -:101AB00019F115C0209751F7CAE0D0E0ACECCA2E5E -:101AC000DC2CEC2CACE0FA2E1CC02097F9F6C8E018 -:101AD000D0E0C12CD12CE12CF0E1FF2E12C060E04F -:101AE00070E080E090E89E01442737FD4095542F38 -:101AF00082DB69017A0105C0C12CD12CE12CE8E020 -:101B0000FE2EF50160E020E030E0A9014E01AA249C -:101B100097FCA094BA2C1F0170ED572E560CA9E02B -:101B2000A51570F48FEB860D8A3118F499EC592EB7 -:101B300006C08FE9860D8A3128F589EA582E560CA1 -:101B4000852D90E08C179D07ECF467FD17C0C21639 -:101B5000D306E406F50678F0C501B40109DB9B0164 -:101B6000AC01250D311D411D511D213031054105AF -:101B7000B0E85B0710F06FEF01C061E03196D10172 -:101B80006C90C9CF872D81700115110571F0662306 -:101B900029F03197D801ED93FC9307C071FE19C06D -:101BA0003297D801ED93FC9314C067FF12C08823CD -:101BB00029F020E030E040E050E804C02FEF3FEF94 -:101BC0004FEF5FE782E290E09093211F8093201F08 -:101BD00016C0882341F050954095309521953F4F90 -:101BE0004F4F5F4F0CC057FF0AC082E290E09093C6 -:101BF000211F8093201F2FEF3FEF4FEF5FE7B901C9 -:101C0000CA0104C060E070E080E090E0DF91CF9115 -:101C10001F910F91FF90EF90DF90CF90BF90AF900A -:101C20009F908F907F906F905F903F902F9008953E -:101C3000911111C3803219F089508550D0F7089561 -:101C40009111089581548A5108F4805E855A08954F -:101C5000FB01DC0105900D920020E1F70895FC01E5 -:101C600005900020E9F7809590958E0F9F1F0895AD -:101C7000FB01DC014150504088F08D9181341CF013 -:101C80008B350CF4805E659161341CF06B350CF47F -:101C9000605E861B611171F3990B0895881BFCCF60 -:101CA000FB01DC014150504048F005900D920020AE -:101CB000C9F701C01D9241505040E0F70895FB0163 -:101CC00055915523A9F0BF01DC014D9145174111F4 -:101CD000E1F759F4CD010590002049F04D914015F0 -:101CE0004111C9F3FB014111EFCF81E090E0019771 -:101CF0000895FB01DC0104C08D910190801921F44D -:101D000041505040C8F7881B990B0895FB01DC0136 -:101D100002C001900D9241505040D8F70895DC0167 -:101D200001C06D9341505040E0F70895FB01DC0184 -:101D30008D9181341CF08B350CF4805E619161349F -:101D40001CF06B350CF4605E861B611189F3990BF6 -:101D50000895FB01DC010D900020E9F71197019037 -:101D60000D920020E1F70895FC018191861721F082 -:101D70008823D9F7992708953197CF010895FB015A -:101D8000DC018D91019080190110D9F3990B089510 -:101D9000FB01DC0101900D920020E1F70895FB01A9 -:101DA000DC014150504030F08D910190801919F4C0 -:101DB0000020B9F7881B990B0895FB01DC01415005 -:101DC000504048F001900D920020C9F701C01D92CB -:101DD00041505040E0F708950F931F93CF93DF9346 -:101DE000CDB7DEB72E970FB6F894DEBF0FBECDBFCE -:101DF0000E891F898EE08C831A8309838FEF9FE7FA -:101E00009E838D83AE01465E5F4F688D798DCE01D6 -:101E1000019610D0EF81F885E00FF11F10822E9609 -:101E20000FB6F894DEBF0FBECDBFDF91CF911F91EB -:101E30000F9108952F923F924F925F926F927F92EF -:101E40008F929F92AF92BF92CF92DF92EF92FF92CA -:101E50000F931F93CF93DF93CDB7DEB72C970FB6B9 -:101E6000F894DEBF0FBECDBF7C016B018A01FC017F -:101E700017821682838181FFB0C1CE0101964C0189 -:101E8000F7019381F60193FD859193FF81916F0195 -:101E9000882309F49EC1853239F493FD859193FF1F -:101EA00081916F01853221F4B70190E0EDD1E8CF47 -:101EB000512C312C20E02032A0F48B3269F030F428 -:101EC000803259F0833269F420612CC08D3239F0B0 -:101ED000803339F4216026C02260246023C028604A -:101EE00021C027FD27C030ED380F3A3078F426FFA7 -:101EF00006C0FAE05F9E300D1124532E13C08AE015 -:101F0000389E300D1124332E20620CC08E3221F405 -:101F100026FD5FC1206406C08C3611F4206802C023 -:101F2000883641F4F60193FD859193FF81916F010D -:101F30008111C1CF982F9F7D9554933028F40C5F69 -:101F40001F4FFFE3F9830DC0833631F0833771F003 -:101F5000833509F057C021C0F801808189830E5F65 -:101F60001F4F44244394512C540114C03801F2E013 -:101F70006F0E711CF801A080B18026FF03C0652D93 -:101F800070E002C06FEF7FEFC5012C8772D12C018A -:101F900083012C852F77222E16C03801F2E06F0EB8 -:101FA000711CF801A080B18026FF03C0652D70E090 -:101FB00002C06FEF7FEFC5012C8750D12C012C851B -:101FC0002068222E830123FC19C0832D90E048163F -:101FD0005906A0F4B70180E290E056D13A94F5CFCB -:101FE000F50127FC859127FE81915F01B70190E003 -:101FF0004BD131103A94F1E04F1A51084114510479 -:1020000079F7DEC0843611F0893631F5F80127FF03 -:1020100007C060817181828193810C5F1F4F08C06E -:1020200060817181882777FD8095982F0E5F1F4F03 -:102030002F76B22E97FF09C0909580957095619587 -:102040007F4F8F4F9F4F2068B22E2AE030E0A401CF -:102050004DD1A82EA81843C0853729F42F7EB22E63 -:102060002AE030E025C0F22FF97FBF2E8F36C1F075 -:1020700018F4883579F0ADC0803719F0883721F031 -:10208000A8C02F2F2061B22EB4FE0DC08B2D84600E -:10209000B82E09C024FF0AC09F2F9660B92E06C033 -:1020A00028E030E005C020E130E002C020E132E06D -:1020B000F801B7FE07C060817181828193810C5F56 -:1020C0001F4F06C06081718180E090E00E5F1F4F5E -:1020D000A4010CD1A82EA818FB2DFF77BF2EB6FEA9 -:1020E0000BC02B2D2E7FA51450F4B4FE0AC0B2FCF9 -:1020F00008C02B2D2E7E05C07A2C2B2D03C07A2CE8 -:1021000001C0752C24FF0DC0FE01EA0DF11D808178 -:10211000803311F4297E09C022FF06C073947394A2 -:1021200004C0822F867809F0739423FD12C020FF2B -:1021300006C05A2C731418F4530C5718732C7314CC -:1021400060F4B70180E290E02C879ED073942C85D8 -:10215000F6CF731410F4371801C0312C24FF11C0CE -:10216000B70180E390E02C878FD02C8522FF16C02A -:1021700021FF03C088E590E002C088E790E0B70146 -:102180000CC0822F867851F021FD02C080E201C090 -:102190008BE227FD8DE2B70190E076D0A51430F4F4 -:1021A000B70180E390E070D05A94F8CFAA94F4017C -:1021B000EA0DF11D8081B70190E066D0A110F6CF45 -:1021C000332009F45DCEB70180E290E05DD03A940F -:1021D000F7CFF7018681978102C08FEF9FEF2C9692 -:1021E0000FB6F894DEBF0FBECDBFDF91CF911F9128 -:1021F0000F91FF90EF90DF90CF90BF90AF909F90A6 -:102200008F907F906F905F904F903F902F900895A8 -:10221000F999FECF92BD81BDF89A992780B50895AE -:10222000A6E1B0E044E050E0C1C00396272FCDD036 -:10223000CBD0252FCAD0242FC8C0262FF999FECF86 -:102240001FBA92BD81BD20BD0FB6F894FA9AF99AD3 -:102250000FBE01960895992788270895FC010590DF -:10226000615070400110D8F7809590958E0F9F1F98 -:102270000895FC016150704001900110D8F78095DD -:1022800090958E0F9F1F08950F931F93CF93DF9309 -:10229000182F092FEB018B8181FD03C08FEF9FEF7A -:1022A00020C082FF10C04E815F812C813D8142178A -:1022B00053077CF4E881F9819F012F5F3F4F3983F9 -:1022C0002883108306C0E885F985812F1995892B0D -:1022D00029F72E813F812F5F3F4F3F832E83812F30 -:1022E000902FDF91CF911F910F910895FA01AA27A6 -:1022F000283051F1203181F1E8946F936E7F6E5F49 -:102300007F4F8F4F9F4FAF4FB1E03ED0B4E03CD0F6 -:10231000670F781F891F9A1FA11D680F791F8A1FD9 -:10232000911DA11D6A0F711D811D911DA11D20D040 -:1023300009F468943F912AE0269F11243019305DFA -:102340003193DEF6CF010895462F4770405D4193EB -:10235000B3E00FD0C9F7F6CF462F4F70405D4A3338 -:1023600018F0495D31FD4052419302D0A9F7EACF00 -:10237000B4E0A6959795879577956795BA95C9F72F -:1023800000976105710508959B01AC010A2E069422 -:102390005795479537952795BA95C9F7620F731FDB -:1023A000841F951FA01D0895DC01CB01FC01F99944 -:1023B000FECF06C0F2BDE1BDF89A319600B40D9291 -:1023C00041505040B8F70895262FF999FECF92BD9D -:1023D00081BDF89A019700B4021639F01FBA20BDEA -:1023E0000FB6F894FA9AF99A0FBE089511E6C0E96B -:1023F000D1E600E006C022970109FE010BBF0F9451 -:102400005509C239D10780E00807A9F7F894FFCF32 -:102410000000221F20000A01FF3FFF3F4C62B04531 -:10242000E65A343F8F42FC420000803FF45A034496 -:10243000EA784C3F33B323421A0A200826062C04BC -:1024400032024C4E004EB74D784D464DF44CBB4CCD -:10245000604C214CE14B974B4D4B034BAF4A5B4AD1 -:10246000024AC24978492E49E44890483C48E3472B -:10247000B44768471947EB46C3468D465F46314629 -:102480000346D545A34571452E45F544B7447C44E4 -:102490005B4433440B44F043B54393436C4345439F -:1024A0001E43F442D142AE42864259424542314235 -:1024B0001342F541D741B9419B416E4146411E410E -:1024C0000041F640EC40E240D840BF408D406F40B4 -:1024D0003D400B40D93FA73F753F3D3F1C3FEF3E7E -:1024E000C23E863E4A3E0E3ECD3D8C3D4E3DFB3CBF -:1024F000D33C9F3C753C523C113CCC3B833B483B1E -:10250000023BCE3A773A263ADD39A2396E393E3966 -:102510000739D0389938763844380D38E037AE3737 -:1025200056371A37D73682362836FB35C4358D35BF -:1025300047350135AC3465342C34EC339B33693387 -:102540003733E832903263324132E831C23176318A -:1025500064315431FE30AD305C302430DA2F8F2FAF -:10256000332FDC2E862E262ECD2D702D162DDF2C12 -:10257000B72C672C122CC22B722B362BE62A9B2AE7 -:10258000282A192ABF29C028252853278126222630 -:10259000D2258C251925A6243324C0234D23AD2212 -:1025A0003A22FE21AF2161212B21DA1CA31C081C39 -:1025B000BA198D192E19D4187F1857182F18071803 -:1025C000DF17B7178F171217E016C71677161816EA -:1025D000D71578152815F1148D142914E313BB139E -:1025E00075131B13C1127112031295113111E610EC -:1025F0006410CE0F830F380FF80E800E580EF60DB4 -:10260000BC0D640D0C0DAE0C6E0C200CC40B780BC5 -:10261000220BEE0ACE0A9E0A4A0A0A0AB409610986 -:102620001D09D4087E082608CE0776071E07C606B1 -:102630006F062106D90581054005F704604E0E4E50 -:10264000C44D844D504D054DC54C744C304CEF4B32 -:10265000A74B5D4B134BC14A6D4A154AD049884977 -:102660003E49F448A2484E48F647BF4776472747B9 -:10267000F646CB4696466B463D460F46DE45AD4593 -:102680007B453F450445C744854461443B4413446E -:10269000F743C4439C4375434E432743FD42D8420E -:1026A000B5428E426242494235421942FB41DD4108 -:1026B000BF41A14177414E4126410641F840EE40DD -:1026C000E440DA40C4409740754047401540E33F3E -:1026D000B13F7F3F493F223FF83ECB3E923E563EC0 -:1026E0001A3EDA3D993D5B3D0B3DDB3CAA3C7E3C0E -:1026F0005B3C1F3CD83B923B523B103BD73A883A5D -:10270000373AEC39AB39773948391239DB38A438E4 -:102710007D384E381838E937B83768372337E2360E -:1027200093363A360436CF35983559350F35BC34A3 -:1027300074343734F833A93374333F33F732A23269 -:102740006C324732F731C8318231683158310D313E -:10275000BF306D303230EA2F9B2F452FEE2E982E52 -:10276000382EDF2D812D232DEA2CBF2C772C232C06 -:10277000D22B822B422BF62AAA2A3F2A1C2AD129A5 -:10278000F32844287D27AB263526E2259A253025D7 -:10279000BD244A24D7236423CD2251220922BB2100 -:1027A00073213621B71DAE1C271C301A961941190A -:1027B000E61890185F1837180F18E717BF17971704 -:1027C0002B17EA16CC1687162B16E4158B15381521 -:1027D000FC14A1143D14F113C31383132D13D3124E -:1027E00081121912AB114511F5107E10EC0F920FEA -:1027F000470F060F980E5F0E0B0EC70D750D1D0DC2 -:10280000BF0C7B0C320CD60B850B320BF70AD50AAA -:10281000A60A5A0A170AC70972092A09E308900882 -:102820003808E00788073007D80681063306EB052D -:1028300093054D050405734E1F4ED54D934D5A4DCE -:10284000144DD64C854C3B4CFB4BB54B6B4B214B45 -:10285000D14A7D4A264ADC4996494C490249B24848 -:102860005E480748C74786473847FE46D346A146D5 -:10287000734645461746E745B74585454A450D45E4 -:10288000D1448F44674443441B44FC43CF43A24399 -:102890007C4355432E430543DF42BC4296426B4284 -:1028A0004D4239421F420142E341C541A7418041A7 -:1028B00056412E410C41FA40F040E640DC40C94010 -:1028C000A1407B4051401F40ED3FBB3F893F553FFA -:1028D000293F013FD43E9E3E623E263EE73DA63D57 -:1028E000673D1C3DE33CB63C863C633C303CE93BE9 -:1028F000A43B5D3B223BE13A9A3A493AFA39BA396C -:1029000088394F391D39E638AF388438583823387C -:10291000F237C2377A373137F136A4364C360D36B6 -:10292000DA35A33565351D35CE348334423405346C -:10293000BF337B334B330733B73275324E320932F4 -:10294000D03194316B315B311D31CE307B30393039 -:10295000F92FA92F562F002FA82E4C2EF12D932D95 -:10296000352DF52CC72C872C342CE22B922B4E2B9B -:10297000062BB92A562A1F2AE32926296328A727C6 -:10298000D5264826F225A8254725D4246124EE2300 -:102990007B23ED2268221722CD2183214221941E20 -:1029A000B91C461CA61A9F195419F818A1186718C3 -:1029B0003F181718EF17C7179F174417F416D116AB -:1029C00097163E16F1159E1548150715B5145114A6 -:1029D000FF13CB1391133F13E51291122F12C11164 -:1029E0005911041198100A10A10F560F120FB00EB2 -:1029F000670E1D0ED30D870D2F0DD80C860C440CC1 -:102A0000E80B950B4B0B030BDB0AB10A6C0A240A8B -:102A1000D80981093809F308A0084A08F0079A077D -:102A20004207EA0691063D06F405A4055B05160576 -:102A3000884E304EE54DA34D644D264DE04C964CEE -:102A4000464C074CC34B794B2F4BE14A8D4A374AD2 -:102A5000E849A4495A491049C2486E481848D14724 -:102A6000964749470647DB46AC467B464D461F46E0 -:102A7000F145C1458F4555451645DB44A8446E4494 -:102A80004B4423440344D743A94383435C43354326 -:102A90000D43E642C3429E42744251423D422542AA -:102AA0000742E941CB41AD4189415E413641124186 -:102AB000FC40F240E840DE40CE40AB4081405B400D -:102AC0002940F73FC53F933F613F303F0A3FDD3E1E -:102AD000AA3E6E3E323EF43DB33D733D2D3DEB3C90 -:102AE000BD3C8E3C6A3C363CF93BB33B6B3B2E3BDA -:102AF000F03AAC3A593A0A3ACB3990395A3928392E -:102B0000F138BA388B3862382E38FB37CC378D37EE -:102B10003F370037B5365E361636E535AE3570359B -:102B20002B35E03492344C341234CE33883357335F -:102B30001633CA327E3255321932D831A4316E3151 -:102B40005E312D31DD30893041300830BB2F672FA9 -:102B5000132FB72E622E022EA52D4B2D002DCF2C1C -:102B6000972C452CF22BA22B5A2B162BC82A6D2AF8 -:102B7000222AF52959298228D127FF265B260226F9 -:102B8000B6255E25EB247824052492230D237F228D -:102B90002822E22195215021711FC41C651C1C1B99 -:102BA000A81967190A19B2186F1847181F18F717CC -:102BB000CF17A7175D17FE16D616A7165116FE15C6 -:102BC000B11558151215C91465140D14D3139F139C -:102BD0005113F712A1124512D7116D111311B21032 -:102BE0002810B00F650F1E0FC80E700E2E0EDF0DD1 -:102BF000990D410DEA0C900C510CFC0BAA0B5C0BCF -:102C0000100BE20ABE0A7E0A300AE709930943095B -:102C10000109B0085A080208AA075207FA06A206D4 -:102C20004B06FD05B50567052405984E3E4EF34D50 -:102C3000B24D6E4D354DEA4CAA4C554C154CD34B0C -:102C4000894B3F4BF34A9F4A4A4AF649B4496A497D -:102C50002049D44880482B48DA47A44757471147B2 -:102C6000E346B946864658462A46FA45CB45994535 -:102C700066452545EB44B144754453442B44074411 -:102C8000E643B0438C4365433E431643ED42CA429C -:102C9000A6427D42554241422B420D42EF41D14175 -:102CA000B341924166413E411841FE40F440EA4042 -:102CB000E040D340B5408740654033400140CF3FBE -:102CC0009D3F693F363F133FE63EB63E7A3E3E3E6D -:102CD000013EC03D803D3D3DF33CC73C973C703CD0 -:102CE000463C043CC13B753B3D3BF93ABD3A683A32 -:102CF000183AD439993964393339FC38C53892389F -:102D00006C3839380438D6379E3748370B37C636D3 -:102D100070361F36F035B9357F353935F134A13489 -:102D200059341E34DB33923361332733DA3287323E -:102D30005C322D32E031AF31723161314031EE30F1 -:102D40009C3050301630CA2F7C2F232FC92E742E62 -:102D5000142EBA2D5F2D0B2DD72CA72C562C022C00 -:102D6000B22B662B262BD72A842A252A072A8C29C0 -:102D7000A128FB2729276E261226C42575250225A2 -:102D80008F241C24A9232D2396223222F021A32153 -:102D900058214E20CF1C841C921BB1197A191C1982 -:102DA000C31877184F182718FF17D717AF177617BC -:102DB0000817DB16B71664160B16C41568151D1513 -:102DC000DD1479141B14DB13AD1363130913B11253 -:102DD0005B12ED1181112211CC104610BF0F740F40 -:102DE0002C0FE00E780E430EEA0DAA0D520DFB0CCF -:102DF0009F0C600C0E0CB70B6B0B190BE80AC60A84 -:102E00008E0A3D0AF909A10950090F09C2086C0888 -:102E10001408BC0764070C07B4065D060F06C70557 -:102E2000740531050160EA00000080BB4401010027 -:102E300000004100003442000050410000404000CA -:102E4000007F430000524300005243000000000096 -:102E50000080C0CDCC4C3E0000803F00004040646C -:102E60000064006400640000803B4500803B450036 -:102E700000484400000000021DCD013200E600645D -:102E800000DC005A00F0006400FE000101010101B5 -:102E90001C023E03F4010E013E03C2010E013E037B -:102EA000C20100000243FF00004000140054000073 -:102EB0001F1511151F00000C12120C000000000459 -:102EC0000A0A0A0A11110E040E1F041C0000000059 -:102ED00006191803130C00001C1F11111F0000001D -:102EE00004120912040000000E1315110E00000058 -:102EF00000000000110A040000C8420000C842009F -:102F000000C843CD4C21430000FA430000FA4300BF -:102F1000007A440000C8412823000028230000E86C -:102F2000030000102700001010101010504944201A -:102F30004175746F74756E6520737461727400509E -:102F40004944204175746F74756E65206661696CC3 -:102F500065642E20426164206578747275646572C0 -:102F6000206E756D6265722E0000000000154FC561 -:102F7000002F006F70656E206661696C65642C209F -:102F800046696C653A20004E6F74207072696E74E9 -:102F9000696E670053442D5052494E54494E4720A4 -:102FA0002020202020202020004D31313200332EDF -:102FB000302E3100315F37356D6D5F4D4B322D5204 -:102FC000414D426F3130612D453344763666756C24 -:102FD0006C004738302064697361626C6564003F3F -:102FE000005072757361206933204D4B32002070A0 -:102FF0003A0020693A0020643A0020633A00540005 -:1030000000000100250030001D000C001800240005 -:1030100031001C000B00170023002F001B000A00CA -:103020001E0047000400060022002B001A000300C7 -:10303000360037003500380058595A454F4B0005C7 -:103040002E2E003E00206D6D006D2000636D006827 -:10305000200073006B6D0068007C002D2D2D2D2D40 -:103060002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D00BD -:10307000486F74656E640058005900426564004CE6 -:103080006F6164696E672066696C616D656E74005E -:103090003300340020202020202020202020202049 -:1030A00020202020202020200001005E0020205A27 -:1030B00000203A200000803B4500803B4500007A1C -:1030C000440000C842000000003ADBC500000000D8 -:0E30D00000E8FABCFA91FA99FAACFABBFA00E1 -:00000001FF diff --git a/hex_files/1_75mm_MK2-RAMBo13a-E3Dv6full.hex b/hex_files/1_75mm_MK2-RAMBo13a-E3Dv6full.hex deleted file mode 100644 index 673419919..000000000 --- a/hex_files/1_75mm_MK2-RAMBo13a-E3Dv6full.hex +++ /dev/null @@ -1,8989 +0,0 @@ -:100000000C94C9300C94FA300C94FA300C94FA30F9 -:100010000C94FA300C94FA300C94FA300C94FA30B8 -:100020000C94FA300C94FA300C94FA300C94FA30A8 -:100030000C94FA300D94BE020C94FA300C94FA3001 -:100040000C94FA300C949EDC0C94FA300C94FA3038 -:100050000C94FA300C94FA300C94064B0C947EFEFF -:100060000C94FA300C946CD90C94FA300C94FA304D -:100070000C94FA300C94FA300C94FA300C94FA3058 -:100080000C94FA300C94FA300C94FA300C94FA3048 -:100090000C94FA300C94FA300C94FA300C94B0FBB7 -:1000A0000C94FA300C94FA300C94FA300C94FA3028 -:1000B0000C94FA300C94FA300C94FA300C94FA3018 -:1000C0000C94FA300C94FA300C94FA300C94FA3008 -:1000D0000C94FA300C94FA300C94FA300C94FA30F8 -:1000E0000C94FA30534B614B7D4B8B4BA54BB34B70 -:1000F000CD4BD14BD34BD74BDF4B02FD07FD0CFD56 -:1001000016FD8FFD20FD28FD30FD3AFD44FD4EFD1E -:100110005DFD67FD8FFD71FD7BFD85FDADFDB0FDD6 -:10012000A3FDA7FDE7FDB4FDB8FDBEFDC2FDC6FD04 -:10013000CCFDD0FDD4FDE7FDDAFDDEFDE2FD084A91 -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F000D94F3037C3C25 -:100190003E5E2B3D3F2F5B5D3B2C2A225C0045726F -:1001A000723A204D415854454D5020424544005428 -:1001B000656D7065726174757265206865617465DE -:1001C0006420626564207377697463686564206F76 -:1001D00066662E204D415854454D50207472696713 -:1001E00067657265642021004572723A204D494E60 -:1001F00054454D50003A20457874727564657220FC -:100200007377697463686564206F66662E204D4954 -:100210004E54454D5020747269676765726564205D -:1002200021004572723A204D415854454D50003AD4 -:100230002045787472756465722073776974636899 -:100240006564206F66662E204D415854454D502000 -:10025000747269676765726564202100544845526D -:100260004D414C2052554E4157415900202D2049B7 -:100270006E76616C6964206578747275646572204D -:100280006E756D626572202100504944204175747D -:100290006F74756E652066696E6973686564212088 -:1002A00050757420746865206C617374204B702CD9 -:1002B000204B6920616E64204B6420636F6E737401 -:1002C000616E74732066726F6D2061626F76652057 -:1002D000696E746F20436F6E6669677572617469C9 -:1002E0006F6E2E6800504944204175746F74756EAE -:1002F00065206661696C6564212074696D656F7540 -:10030000740020403A006F6B20543A006F6B20421B -:100310003A00504944204175746F74756E652066CB -:1003200061696C6564212054656D706572617475D6 -:10033000726520746F6F206869676800204B643AAB -:100340002000204B693A2000204B703A20002043C7 -:100350006C61737369632050494420002054753ADE -:100360002000204B753A2000206D61783A20002053 -:100370006D696E3A200020643A2000206269617342 -:100380003A20001000C90210012C01400122017026 -:10039000011801B0010E01F00104015002FA00B091 -:1003A00002F0003003E600D003DC009004D20070BD -:1003B00005C800A006BE000008B400B009AA00D01D -:1003C0000BA000600E960060118C000015820020CA -:1003D000197800C01D6E00A0226400B0275A00905A -:1003E0002C500000314600E0343C001038320090C0 -:1003F0003A2800603C1E00A03D1400803E0A002008 -:100400003F000070012C0190012701B0012201C0C2 -:10041000011D01F00118011002130130020E0160EC -:1004200002090190020401C002FF000003FA00402B -:1004300003F5008003F000D003EB002004E6007019 -:1004400004E100E004DC004005D700C005D2004014 -:1004500006CD00D006C8008007C3003008BE00F0FB -:1004600008B900C009B400B00AAF00B00BAA00D0B0 -:100470000CA500000EA000500F9B00C0109600506D -:1004800012910000148C00C0158700B0178200B0D4 -:10049000197D00D01B7800001E730040206E009074 -:1004A000226900F024640040275F0090295A00E090 -:1004B0002B5500102E500020304B0010324600E02B -:1004C00033410090353C001037370070383200A0BF -:1004D000392D00B03A2800A03B2300603C1E0010DC -:1004E0003D1900903D1400103E0F00703E0A00C000 -:1004F0003E0500003F00004472756B207A20555382 -:1005000042202000496D70726573696F6E206465CA -:100510002055534220005374616D70612064612046 -:10052000555342005469736B207A20555342202062 -:1005300000555342207072696E74696E6720200006 -:1005400053746174797374796B61202000457374FE -:100550006164697374696361202000537461746914 -:100560007374696368650053746174697374696B4B -:10057000612020005374617469737469637320206F -:100580000053656C6674657374206E69657564618B -:100590006E79004175746F746573742066616C6C5C -:1005A00061646F004175746F746573742066616C6B -:1005B0006C69746F0053656C667465737420736541 -:1005C0006C68616C20200053656C667465737420E0 -:1005D0006661696C656420200053656C66746573A0 -:1005E00074202020202020202020004175746F746A -:1005F000657374004175746F746573740053656C32 -:100600006674657374202020202020202020005351 -:10061000656C6674657374202020202020202020C3 -:100620000057737A7973746B6F204F4B2020202012 -:10063000202000546F646F2062696520004E65734E -:1006400073756E206572726F726500567365204F08 -:100650004B202020202020202020202000416C6CD6 -:1006600020636F7272656374202020202020004B6D -:100670006F6E74726F6C6120626564202020202090 -:1006800000436F6E74726F6C2064652063616D61EE -:10069000005665726966696361207069617374727E -:1006A00061004B6F6E74726F6C6120626564202014 -:1006B00020202000436865636B696E672062656473 -:1006C0002020202020004B6F6E74726F6C61205AC6 -:1006D0002061786973202000436F6E74726F6C2004 -:1006E00064656C20656A65205A00566572696669A2 -:1006F00063612061737365205A004B6F6E74726F73 -:100700006C61205A2061786973202000436865631A -:100710006B696E67205A20617869732020004B6FE7 -:100720006E74726F6C6120592061786973202000AB -:10073000436F6E74726F6C2064656C20656A65200F -:10074000590056657269666963612061737365203B -:1007500059004B6F6E74726F6C612059206178691B -:1007600073202000436865636B696E6720592061C0 -:100770007869732020004B6F6E74726F6C61205823 -:100780002061786973202000436F6E74726F6C2053 -:1007900064656C20656A65205800566572696669F3 -:1007A000636120617373652058004B6F6E74726FC4 -:1007B0006C6120582061786973202000436865636C -:1007C0006B696E67205820617869732020004B6F39 -:1007D0006E74726F6C6120686F74656E64202000A7 -:1007E000436F6E74726F6C20686F74656E64200066 -:1007F0005665726966696361206C696D2074656D08 -:1008000070004B6F6E74726F6C6120686F74656EF0 -:1008100064202000436865636B696E6720686F74AD -:10082000656E642020004B6F6E74726F6C61206582 -:100830006E6473746F707300436F6E742E20746FE8 -:100840007065732066696E616C00566572696669D1 -:100850006361206C696D697469004B6F6E74726FAF -:100860006C6120656E6473746F70730043686563B8 -:100870006B696E6720656E6473746F707300536587 -:100880006C66207465737420737461727420200028 -:100890004175746F746573742073616C6964610071 -:1008A000496E697A6961206175746F74657374004B -:1008B00053656C6620746573742073746172742060 -:1008C000200053656C6620746573742073746172C4 -:1008D00074202000437A6173206472756B75203A2E -:1008E0002020005469656D706F20646520696D700B -:1008F0002E3A0054656D706F207374616D70613AAB -:1009000000436173207469736B75203A2020005096 -:1009100072696E742074696D653A20200046696CB6 -:10092000616D656E74203A20200046696C616D65CA -:100930006E746F203A20200046696C616D656E749C -:100940006F3A0046696C616D656E74203A20200034 -:1009500046696C616D656E7420757365643A20201C -:1009600000437A61732063616C6B6F7769747920DF -:100970003A005469656D706F20746F74616C203A31 -:100980000054656D706F207374616D706120746FB9 -:10099000743A0043656C6B6F767920636173203A1B -:1009A00000546F74616C207072696E742074696D8C -:1009B00065203A0046696C616D656E74206C6163F8 -:1009C0007A6E6965203A0046696C616D656E746F78 -:1009D00020746F74616C3A0046696C616D656E7469 -:1009E0006F20746F743A0046696C616D656E742097 -:1009F00063656C6B656D203A00546F74616C2066A2 -:100A0000696C616D656E74203A0053656C66207484 -:100A1000657374204F4B0053656C66207465737466 -:100A2000204F4B004175746F74657374204F4B00F9 -:100A300053656C662074657374204F4B0053656C6E -:100A4000662074657374204F4B00456E6473746F39 -:100A500070206E6F742068697400546F7065206632 -:100A6000696E2E206E6F20746F632E004C696D2EA0 -:100A70002066756F7269706F727461746100456E83 -:100A80006473746F70206E6F742068697400456EB3 -:100A90006473746F70206E6F742068697400456EA3 -:100AA0006473746F7000546F70652066696E616C5A -:100AB000004C696D69746520636F72736100456EE7 -:100AC0006473746F7000456E6473746F7000536963 -:100AD0006C6E696B004D6F746F72004D6F746F7246 -:100AE00065004D6F746F72004D6F746F7200456ECC -:100AF0006473746F707300546F7065732066696EF1 -:100B0000616C004C696D69746920636F7273610078 -:100B1000456E6473746F707300456E6473746F70A8 -:100B20007300426C616420706F6C61637A656E69FA -:100B300061004572726F7220646520636F6E657824 -:100B400069C383C692C382C2B36E004572726F726C -:100B500065206361626C616767696F0043687962F1 -:100B600061207A61706F6A656E6900576972696E9B -:100B700067206572726F7200426564202F2048659D -:100B8000617465720043616D612F43616C656E74C1 -:100B900061646F7200506961737472612F5269737E -:100BA00063616C6461746F726500426564202F201C -:100BB00048656174657200426564202F2048656154 -:100BC000746572004865617465722F546865726D52 -:100BD0006973746F720043616C656E742E2F546577 -:100BE000726D6973746F720052697363616C642E05 -:100BF0002F5465726D6973746F7265004865617416 -:100C000065722F546865726D6973746F7200486500 -:100C1000617465722F546865726D6973746F7200C8 -:100C20004E696520706F646C61637A6F6E6F20200F -:100C300020004E6F2068617920636F6E6578696F60 -:100C40006E2020004E6F6E20636F6E6E6573736F43 -:100C5000004E657A61706F6A656E6F2020202000FB -:100C60004E6F7420636F6E6E656374656400536BC2 -:100C70006F6E74726F6C756A203A00436F6E747297 -:100C80006F6C61203A0056657269666963613A006B -:100C90005A6B6F6E74726F6C756A7465203A00508F -:100CA0006C6561736520636865636B203A0053650A -:100CB0006C6674657374206572726F72202100C354 -:100CC00083E2809AC382C2A14175746F74657374A4 -:100CD000206572726F7221004175746F7465737450 -:100CE000206E6567617469766F0053656C66746524 -:100CF0007374206572726F7220210053656C667484 -:100D0000657374206572726F72202100686F77744A -:100D10006F2E707275736133642E637A00686F771B -:100D2000746F2E707275736133642E636F6D00681B -:100D30006F77746F2E707275736133642E636F6D8D -:100D400000686F77746F2E707275736133642E63F1 -:100D50007A00686F77746F2E707275736133642ECA -:100D6000636F6D00666F72756D2E7072757361338F -:100D7000642E637A00666F72756D2E707275736182 -:100D800033642E636F6D00666F72756D2E707275B1 -:100D9000736133642E636F6D00666F72756D2E70B4 -:100DA0007275736133642E637A00666F72756D2E8F -:100DB000707275736133642E636F6D00707275733A -:100DC0006133642E637A00707275736133642E63CD -:100DD0006F6D00707275736133642E636F6D007098 -:100DE0007275736133642E637A0070727573613348 -:100DF000642E636F6D005779626F72206A657A792D -:100E00006B6120202020202020200043616D62693A -:100E100061206C61206C656E677561200053656CA4 -:100E2000657A2E206C61206C696E67756100567959 -:100E3000626572206A617A796B612020202020200F -:100E400020200053656C656374206C616E6775616A -:100E50006765202020202000506F6C736B6900456F -:100E60007370616E6F6C004974616C69616E6F00C4 -:100E700043657374696E6100456E676C69736800E1 -:100E80004572726F7220696E206D656E7520737485 -:100E900072756374757265004572726F7220696E47 -:100EA000206D656E7520737472756374757265005C -:100EB0004572726F7220696E206D656E7520737455 -:100EC00072756374757265004572726F7220696E17 -:100ED000206D656E7520737472756374757265002C -:100EE0004572726F7220696E206D656E7520737425 -:100EF0007275637475726500446F737461766F7692 -:100F0000616E69205A0041646A757374696E672066 -:100F10005A0041646A757374696E67205A00446FA1 -:100F2000737461766F76616E69205A0041646A75E8 -:100F30007374696E67205A004261627973746570D8 -:100F400070696E67205900426162797374657070D0 -:100F5000696E6720590042616279737465707069C7 -:100F60006E67205900426162797374657070696EB2 -:100F700067205900426162797374657070696E67A9 -:100F8000205900426162797374657070696E6720E0 -:100F90005800426162797374657070696E67205899 -:100FA00000426162797374657070696E67205800E1 -:100FB000426162797374657070696E67205800428F -:100FC0006162797374657070696E6720580020746F -:100FD0006F6F206C6F6E6720657874727573696FC0 -:100FE0006E2070726576656E7465640020746F6F34 -:100FF000206C6F6E6720657874727573696F6E20F0 -:1010000070726576656E7465640020746F6F206C15 -:101010006F6E6720657874727573696F6E20707279 -:101020006576656E7465640020746F6F206C6F6EFA -:101030006720657874727573696F6E20707265765B -:10104000656E7465640020746F6F206C6F6E67202E -:10105000657874727573696F6E2070726576656EEF -:101060007465640020636F6C6420657874727573B6 -:10107000696F6E2070726576656E746564002063BA -:101080006F6C6420657874727573696F6E2070720E -:101090006576656E7465640020636F6C64206578A6 -:1010A00074727573696F6E2070726576656E7465A3 -:1010B000640020636F6C6420657874727573696F67 -:1010C0006E2070726576656E7465640020636F6C67 -:1010D0006420657874727573696F6E2070726576BE -:1010E000656E74656400656E6473746F70732068F8 -:1010F00069743A2000656E6473746F707320686958 -:10110000743A2000656E6473746F7073206869743C -:101110003A2000656E6473746F7073206869743A66 -:101120002000656E6473746F7073206869743A2070 -:1011300000537465707261746520746F6F20686904 -:1011400067683A2000537465707261746520746F2B -:101150006F20686967683A20005374657072617423 -:101160006520746F6F20686967683A200053746562 -:10117000707261746520746F6F20686967683A20C7 -:1011800000537465707261746520746F6F206869B4 -:1011900067683A200043616E6E6F7420656E7465F7 -:1011A00072207375626469723A200043616E6E6FDB -:1011B0007420656E746572207375626469723A207A -:1011C0000043616E6E6F7420656E74657220737576 -:1011D000626469723A200043616E6E6F7420656EBE -:1011E000746572207375626469723A200043616E9F -:1011F0006E6F7420656E74657220737562646972B7 -:101200003A20006572726F722077726974696E6736 -:1012100020746F2066696C65006572726F7220774A -:10122000726974696E6720746F2066696C65006509 -:1012300072726F722077726974696E6720746F20A2 -:1012400066696C65006572726F7220777269746985 -:101250006E6720746F2066696C65006572726F72CC -:101260002077726974696E6720746F2066696C6597 -:10127000004E6F74205344207072696E74696E67FB -:10128000004E6F74205344207072696E74696E67EB -:10129000004E6F74205344207072696E74696E67DB -:1012A000004E6F74205344207072696E74696E67CB -:1012B000004E6F74205344207072696E74696E67BB -:1012C000005344207072696E74696E67206279748D -:1012D0006520005344207072696E74696E672062E5 -:1012E00079746520005344207072696E74696E676A -:1012F000206279746520005344207072696E7469AD -:101300006E67206279746520005344207072696EA4 -:1013100074696E6720627974652000577269746918 -:101320006E6720746F2066696C653A200057726999 -:1013300074696E6720746F2066696C653A20005787 -:10134000726974696E6720746F2066696C653A20F3 -:101350000057726974696E6720746F2066696C65E6 -:101360003A200057726974696E6720746F2066694D -:101370006C653A200046696C652073656C65637422 -:1013800065640046696C652073656C6563746564AB -:101390000046696C652073656C656374656400461E -:1013A000696C652073656C65637465640046696C7F -:1013B000652073656C6563746564002053697A65A4 -:1013C0003A20002053697A653A20002053697A65F3 -:1013D0003A20002053697A653A20002053697A65E3 -:1013E0003A200046696C65206F70656E65643A202E -:1013F0000046696C65206F70656E65643A20004632 -:10140000696C65206F70656E65643A200046696C92 -:1014100065206F70656E65643A200046696C6520D2 -:101420006F70656E65643A20006F70656E2066614E -:10143000696C65642C2046696C653A20006F7065A4 -:101440006E206661696C65642C2046696C653A2083 -:10145000006F70656E206661696C65642C2046695A -:101460006C653A20006F70656E206661696C65641A -:101470002C2046696C653A20006F70656E206661AD -:10148000696C65642C2046696C653A2000776F7240 -:101490006B446972206F70656E206661696C65646B -:1014A00000776F726B446972206F70656E206661A1 -:1014B000696C656400776F726B446972206F706548 -:1014C0006E206661696C656400776F726B44697247 -:1014D000206F70656E206661696C656400776F725D -:1014E0006B446972206F70656E206661696C65641B -:1014F0000053442063617264206F6B005344206387 -:10150000617264206F6B0053442063617264206FCA -:101510006B0053442063617264206F6B005344205E -:1015200063617264206F6B006F70656E526F6F74D1 -:10153000206661696C6564006F70656E526F6F74D0 -:10154000206661696C6564006F70656E526F6F74C0 -:10155000206661696C6564006F70656E526F6F74B0 -:10156000206661696C6564006F70656E526F6F74A0 -:10157000206661696C656400766F6C756D652E69B7 -:101580006E6974206661696C656400766F6C756D58 -:10159000652E696E6974206661696C656400766F9A -:1015A0006C756D652E696E6974206661696C656421 -:1015B00000766F6C756D652E696E69742066616961 -:1015C0006C656400766F6C756D652E696E6974204C -:1015D0006661696C656400534420696E69742066B5 -:1015E00061696C00534420696E6974206661696C9E -:1015F00000534420696E6974206661696C0053442D -:1016000020696E6974206661696C00534420696EBC -:101610006974206661696C0043616E6E6F74206F3F -:1016200070656E207375626469720043616E6E6FDF -:1016300074206F70656E2073756264697200436117 -:101640006E6E6F74206F70656E2073756264697260 -:101650000043616E6E6F74206F70656E20737562EB -:101660006469720043616E6E6F74206F70656E20E6 -:1016700073756264697200486F74656E64206F668A -:1016800066736574733A00486F74656E64206F66A4 -:1016900066736574733A00486F74656E64206F6694 -:1016A00066736574733A00486F74656E64206F6684 -:1016B00066736574733A00486F74656E64206F6674 -:1016C00066736574733A006F70656E006F70656E57 -:1016D000006F70656E006F70656E006F70656E00F4 -:1016E000545249474745524544005452494747459B -:1016F00052454400545249474745524544005452CC -:101700004947474552454400545249474745524589 -:1017100044005265706F7274696E6720656E647301 -:10172000746F7020737461747573005265706F729A -:1017300074696E6720656E6473746F702073746172 -:10174000747573005265706F7274696E6720656E90 -:101750006473746F70207374617475730052657074 -:101760006F7274696E6720656E6473746F70207336 -:101770007461747573005265706F7274696E67205E -:10178000656E6473746F7020737461747573007A1E -:101790005F6D61783A20007A5F6D61783A20007A57 -:1017A0005F6D61783A20007A5F6D61783A20007A47 -:1017B0005F6D61783A20007A5F6D696E3A20007A39 -:1017C0005F6D696E3A20007A5F6D696E3A20007A2B -:1017D0005F6D696E3A20007A5F6D696E3A2000791C -:1017E0005F6D61783A2000795F6D61783A20007909 -:1017F0005F6D61783A2000795F6D61783A200079F9 -:101800005F6D61783A2000795F6D696E3A200079EA -:101810005F6D696E3A2000795F6D696E3A200079DC -:101820005F6D696E3A2000795F6D696E3A200078CD -:101830005F6D61783A2000785F6D61783A200078BA -:101840005F6D61783A2000785F6D61783A200078AA -:101850005F6D61783A2000785F6D696E3A2000789C -:101860005F6D696E3A2000785F6D696E3A2000788E -:101870005F6D696E3A2000785F6D696E3A200049AD -:101880006E76616C69642065787472756465720047 -:10189000496E76616C6964206578747275646572EE -:1018A00000496E76616C6964206578747275646550 -:1018B0007200496E76616C69642065787472756433 -:1018C000657200496E76616C696420657874727522 -:1018D0006465720041637469766520457874727539 -:1018E0006465723A200041637469766520457874B6 -:1018F00072756465723A20004163746976652045AB -:10190000787472756465723A200041637469766513 -:101910002045787472756465723A20004163746979 -:1019200076652045787472756465723A2000556E4C -:101930006B6E6F776E20636F6D6D616E643A2022FF -:1019400000556E6B6E6F776E20636F6D6D616E64A8 -:101950003A202200556E6B6E6F776E20636F6D6D4F -:10196000616E643A202200556E6B6E6F776E206355 -:101970006F6D6D616E643A202200556E6B6E6F77ED -:101980006E20636F6D6D616E643A20220052657344 -:10199000656E643A2000526573656E643A200052A9 -:1019A0006573656E643A2000526573656E643A2013 -:1019B00000526573656E643A20005072696E7465FA -:1019C000722073746F707065642064756520746F25 -:1019D000206572726F72732E204669782074686574 -:1019E000206572726F7220616E6420757365204D80 -:1019F00039393920746F20726573746172742E20C6 -:101A00002854656D70657261747572652069732004 -:101A100072657365742E2053657420697420616645 -:101A20007465722072657374617274696E672900DF -:101A30005072696E7465722073746F707065642083 -:101A400064756520746F206572726F72732E204604 -:101A5000697820746865206572726F7220616E64A7 -:101A600020757365204D39393920746F2072657384 -:101A7000746172742E202854656D7065726174757E -:101A800072652069732072657365742E20536574C6 -:101A90002069742061667465722072657374617266 -:101AA00074696E6729005072696E74657220737470 -:101AB0006F707065642064756520746F2065727244 -:101AC0006F72732E20466978207468652065727283 -:101AD0006F7220616E6420757365204D393939202D -:101AE000746F20726573746172742E202854656D52 -:101AF00070657261747572652069732072657365B3 -:101B0000742E205365742069742061667465722098 -:101B100072657374617274696E6729005072696EC0 -:101B20007465722073746F707065642064756520CD -:101B3000746F206572726F72732E204669782074FC -:101B40006865206572726F7220616E6420757365BE -:101B5000204D39393920746F207265737461727445 -:101B60002E202854656D70657261747572652069E8 -:101B7000732072657365742E205365742069742018 -:101B800061667465722072657374617274696E67E0 -:101B900029005072696E7465722073746F7070657D -:101BA000642064756520746F206572726F72732E85 -:101BB0002046697820746865206572726F722061B2 -:101BC0006E6420757365204D39393920746F207229 -:101BD0006573746172742E202854656D706572612E -:101BE000747572652069732072657365742E205355 -:101BF00065742069742061667465722072657374FF -:101C0000617274696E6729005072696E7465722022 -:101C100068616C7465642E206B696C6C2829206384 -:101C2000616C6C656421005072696E746572206825 -:101C3000616C7465642E206B696C6C28292063616B -:101C40006C6C656421005072696E74657220686105 -:101C50006C7465642E206B696C6C28292063616C40 -:101C60006C656421005072696E7465722068616CE5 -:101C70007465642E206B696C6C28292063616C6C20 -:101C8000656421005072696E7465722068616C74BD -:101C900065642E206B696C6C28292063616C6C650F -:101CA00064210020436F756E7420583A2000204351 -:101CB0006F756E7420583A200020436F756E742043 -:101CC000583A200020436F756E7420583A20002047 -:101CD000436F756E7420583A20004649524D574163 -:101CE00052455F4E414D453A4D61726C696E2056CA -:101CF000312E302E323B20537072696E7465722F14 -:101D00006772626C206D617368757020666F7220F7 -:101D100067656E36204649524D574152455F5552D0 -:101D20004C3A68747470733A2F2F676974687562DF -:101D30002E636F6D2F707275736133642F507275DF -:101D400073612D69332D506C75732F2050524F5491 -:101D50004F434F4C5F56455253494F4E3A312E3008 -:101D6000204D414348494E455F545950453A5072C1 -:101D7000757361206933204D4B32204558545255BC -:101D80004445525F434F554E543A312055554944CE -:101D90003A30303030303030302D303030302D303F -:101DA0003030302D303030302D3030303030303039 -:101DB00030303030300A004649524D574152455F6D -:101DC0004E414D453A4D61726C696E2056312E3050 -:101DD0002E323B20537072696E7465722F67726287 -:101DE0006C206D617368757020666F722067656E18 -:101DF00036204649524D574152455F55524C3A683C -:101E0000747470733A2F2F6769746875622E636FEC -:101E10006D2F707275736133642F50727573612DFD -:101E200069332D506C75732F2050524F544F434FD0 -:101E30004C5F56455253494F4E3A312E30204D415A -:101E40004348494E455F545950453A507275736145 -:101E5000206933204D4B3220455854525544455249 -:101E60005F434F554E543A3120555549443A30302E -:101E70003030303030302D303030302D3030303068 -:101E80002D303030302D3030303030303030303058 -:101E900030300A004649524D574152455F4E414D40 -:101EA000453A4D61726C696E2056312E302E323BB0 -:101EB00020537072696E7465722F6772626C206D48 -:101EC000617368757020666F722067656E36204694 -:101ED00049524D574152455F55524C3A687474709F -:101EE000733A2F2F6769746875622E636F6D2F7058 -:101EF0007275736133642F50727573612D69332D60 -:101F0000506C75732F2050524F544F434F4C5F56B7 -:101F1000455253494F4E3A312E30204D41434849A6 -:101F20004E455F545950453A50727573612069337C -:101F3000204D4B322045585452554445525F434F33 -:101F4000554E543A3120555549443A3030303030AE -:101F50003030302D303030302D303030302D30308A -:101F600030302D3030303030303030303030300A9A -:101F7000004649524D574152455F4E414D453A4DFD -:101F800061726C696E2056312E302E323B205370B8 -:101F900072696E7465722F6772626C206D6173680E -:101FA000757020666F722067656E36204649524D07 -:101FB000574152455F55524C3A68747470733A2FCA -:101FC0002F6769746875622E636F6D2F70727573F9 -:101FD0006133642F50727573612D69332D506C75A8 -:101FE000732F2050524F544F434F4C5F564552531E -:101FF000494F4E3A312E30204D414348494E455FBE -:10200000545950453A5072757361206933204D4BD5 -:10201000322045585452554445525F434F554E5413 -:102020003A3120555549443A303030303030303034 -:102030002D303030302D303030302D303030302DAC -:102040003030303030303030303030300A004649B7 -:10205000524D574152455F4E414D453A4D61726C6C -:10206000696E2056312E302E323B20537072696ECD -:102070007465722F6772626C206D61736875702071 -:10208000666F722067656E36204649524D57415241 -:10209000455F55524C3A68747470733A2F2F6769D4 -:1020A000746875622E636F6D2F707275736133641F -:1020B0002F50727573612D69332D506C75732F20FD -:1020C00050524F544F434F4C5F56455253494F4E19 -:1020D0003A312E30204D414348494E455F545950C6 -:1020E000453A5072757361206933204D4B3220455B -:1020F000585452554445525F434F554E543A31203F -:10210000555549443A30303030303030302D303051 -:1021100030302D303030302D303030302D303030C8 -:102120003030303030303030300A0053746F6C69EA -:102130006B204F4B2E0042617365206C6973746F86 -:102140002E0050696174746F20666174746F2E0084 -:10215000426564204F4B2E0042656420646F6E65BB -:102160000047727A616E69652073746F6C696B6188 -:102170002E2E00426173652043616C656E74616E42 -:10218000646F0050696174746F2072697363616C6D -:1021900064616D2E005A6168726976616E692062B1 -:1021A0006564004265642048656174696E67004734 -:1021B000727A616E6965204F4B2E0043616C656ECB -:1021C00074616E646F206C6973746F2E0052697352 -:1021D00063616C64616D656E746F20666174746FA9 -:1021E0002E005A6168726976616E69204F4B2E002D -:1021F00048656174696E6720646F6E652E00477272 -:102200007A616E69652E2E2E0043616C656E746175 -:102210006E646F2E2E2E0052697363616C64616D63 -:10222000656E746F2E2E2E005A6168726976616E2B -:10223000690048656174696E67004D313039204925 -:102240006E76616C6964206578747275646572205D -:10225000004D31303920496E76616C6964206578B3 -:1022600074727564657220004D31303920496E7684 -:10227000616C696420657874727564657220004DC4 -:1022800031303920496E76616C69642065787472EA -:102290007564657220004D31303920496E76616C6D -:1022A000696420657874727564657220004E6F20D1 -:1022B000746865726D6973746F7273202D206E6F10 -:1022C0002074656D7065726174757265004E6F2063 -:1022D000746865726D6973746F7273202D206E6FF0 -:1022E0002074656D7065726174757265004E6F2043 -:1022F000746865726D6973746F7273202D206E6FD0 -:102300002074656D7065726174757265004E6F2022 -:10231000746865726D6973746F7273202D206E6FAF -:102320002074656D7065726174757265004E6F2002 -:10233000746865726D6973746F7273202D206E6F8F -:102340002074656D7065726174757265004D32320E -:102350003120496E76616C696420657874727564A9 -:10236000657220004D32323120496E76616C6964AD -:1023700020657874727564657220004D32323120A8 -:10238000496E76616C6964206578747275646572F3 -:1023900020004D32323120496E76616C69642065CF -:1023A0007874727564657220004D32323120496E46 -:1023B00076616C696420657874727564657220005A -:1023C0004D32313820496E76616C696420657874CD -:1023D000727564657220004D32313820496E766125 -:1023E0006C696420657874727564657220004D3282 -:1023F000313820496E76616C696420657874727535 -:1024000064657220004D32313820496E76616C6906 -:102410006420657874727564657220004D323138BD -:1024200020496E76616C69642065787472756465A4 -:102430007220004D32303020496E76616C69642024 -:10244000657874727564657220004D3230302049B1 -:102450006E76616C6964206578747275646572204B -:10246000004D32303020496E76616C6964206578A9 -:1024700074727564657220004D32303020496E767A -:10248000616C696420657874727564657220004DB2 -:1024900032303020496E76616C69642065787472E0 -:1024A0007564657220004D31303520496E76616C5F -:1024B000696420657874727564657220004D3130EE -:1024C0003520496E76616C69642065787472756434 -:1024D000657220004D31303520496E76616C69643B -:1024E00020657874727564657220004D3130352036 -:1024F000496E76616C696420657874727564657282 -:1025000020004D31303520496E76616C696420655C -:102510007874727564657220004D31303420496ED4 -:1025200076616C69642065787472756465722000E8 -:102530004D31303420496E76616C69642065787461 -:10254000727564657220004D31303420496E7661B9 -:102550006C696420657874727564657220004D3111 -:10256000303420496E76616C6964206578747275C8 -:1025700064657220004D31303420496E76616C699B -:10258000642065787472756465722000456E6420FD -:1025900066696C65206C69737400456E64206669B9 -:1025A0006C65206C69737400456E642066696C65A7 -:1025B000206C69737400456E642066696C65206CDC -:1025C00069737400456E642066696C65206C69737C -:1025D0007400426567696E2066696C65206C69737A -:1025E0007400426567696E2066696C65206C69736A -:1025F0007400426567696E2066696C65206C69735A -:102600007400426567696E2066696C65206C697349 -:102610007400426567696E2066696C65206C697339 -:102620007400446F6E65207072696E74696E672005 -:1026300066696C6500446F6E65207072696E7469BE -:102640006E672066696C6500446F6E652070726904 -:102650006E74696E672066696C6500446F6E6520F4 -:102660007072696E74696E672066696C6500446F8C -:102670006E65207072696E74696E672066696C653C -:10268000004E6F204C696E65204E756D626572203C -:102690007769746820636865636B73756D2C204C73 -:1026A000617374204C696E653A20004E6F204C694E -:1026B0006E65204E756D626572207769746820635F -:1026C0006865636B73756D2C204C617374204C6965 -:1026D0006E653A20004E6F204C696E65204E756D18 -:1026E000626572207769746820636865636B7375CF -:1026F0006D2C204C617374204C696E653A20004E3D -:102700006F204C696E65204E756D62657220776929 -:10271000746820636865636B73756D2C204C6173FE -:1027200074204C696E653A20004E6F204C696E65CE -:10273000204E756D626572207769746820636865E4 -:10274000636B73756D2C204C617374204C696E65DE -:102750003A20004E6F20436865636B73756D207778 -:10276000697468206C696E65206E756D6265722C87 -:10277000204C617374204C696E653A20004E6F20C6 -:10278000436865636B73756D2077697468206C6945 -:102790006E65206E756D6265722C204C61737420BD -:1027A0004C696E653A20004E6F20436865636B7319 -:1027B000756D2077697468206C696E65206E756D23 -:1027C0006265722C204C617374204C696E653A20EE -:1027D000004E6F20436865636B73756D2077697475 -:1027E00068206C696E65206E756D6265722C204C78 -:1027F000617374204C696E653A20004E6F20436807 -:1028000065636B73756D2077697468206C696E659C -:10281000206E756D6265722C204C617374204C695A -:102820006E653A2000636865636B73756D206D6932 -:10283000736D617463682C204C617374204C696EF5 -:10284000653A2000636865636B73756D206D69730D -:102850006D617463682C204C617374204C696E65E3 -:102860003A2000636865636B73756D206D69736DE5 -:10287000617463682C204C617374204C696E653AF6 -:102880002000636865636B73756D206D69736D619E -:102890007463682C204C617374204C696E653A2017 -:1028A00000636865636B73756D206D69736D61742A -:1028B00063682C204C617374204C696E653A20006B -:1028C0004C696E65204E756D626572206973206E6D -:1028D0006F74204C617374204C696E65204E756D69 -:1028E0006265722B312C204C617374204C696E65CB -:1028F0003A20004C696E65204E756D6265722069E4 -:1029000073206E6F74204C617374204C696E652067 -:102910004E756D6265722B312C204C617374204CA6 -:10292000696E653A20004C696E65204E756D626572 -:1029300072206973206E6F74204C617374204C692F -:102940006E65204E756D6265722B312C204C617363 -:1029500074204C696E653A20004C696E65204E7596 -:102960006D626572206973206E6F74204C617374A0 -:10297000204C696E65204E756D6265722B312C207E -:102980004C617374204C696E653A20004C696E6529 -:10299000204E756D626572206973206E6F74204CD5 -:1029A000617374204C696E65204E756D6265722B83 -:1029B000312C204C617374204C696E653A200044C0 -:1029C0006F6E6520736176696E672066696C652E2F -:1029D00000446F6E6520736176696E672066696C6E -:1029E000652E00446F6E6520736176696E672066A0 -:1029F000696C652E00446F6E6520736176696E6741 -:102A00002066696C652E00446F6E6520736176697F -:102A10006E672066696C652E006F6B006F6B006FD0 -:102A20006B006F6B006F6B002020506C616E6E65E9 -:102A30007242756666657242797465733A20002049 -:102A400020506C616E6E6572427566666572427981 -:102A50007465733A20002020506C616E6E6572427E -:102A6000756666657242797465733A20002020505D -:102A70006C616E6E657242756666657242797465E8 -:102A8000733A20002020506C616E6E65724275664C -:102A900066657242797465733A20002046726565F6 -:102AA000204D656D6F72793A200020467265652071 -:102AB0004D656D6F72793A20002046726565204D34 -:102AC000656D6F72793A20002046726565204D650C -:102AD0006D6F72793A20002046726565204D656DF4 -:102AE0006F72793A2000204C6173742055706461D4 -:102AF0007465643A2000204C6173742055706461E1 -:102B00007465643A2000204C6173742055706461D0 -:102B10007465643A2000204C6173742055706461C0 -:102B20007465643A2000204C6173742055706461B0 -:102B30007465643A2000207C20417574686F723A95 -:102B40002000207C20417574686F723A2000207C40 -:102B500020417574686F723A2000207C20417574A2 -:102B6000686F723A2000207C20417574686F723A59 -:102B7000200020536F66747761726520526573651B -:102B8000740020536F6674776172652052657365B7 -:102B9000740020536F6674776172652052657365A7 -:102BA000740020536F667477617265205265736597 -:102BB000740020536F667477617265205265736587 -:102BC0007400205761746368646F67205265736591 -:102BD0007400205761746368646F67205265736581 -:102BE0007400205761746368646F67205265736571 -:102BF0007400205761746368646F67205265736561 -:102C00007400205761746368646F67205265736550 -:102C100074002042726F776E206F75742052657356 -:102C20006574002042726F776E206F757420526554 -:102C3000736574002042726F776E206F7574205236 -:102C400065736574002042726F776E206F75742013 -:102C50005265736574002042726F776E206F7574D1 -:102C6000205265736574002045787465726E616CDE -:102C7000205265736574002045787465726E616CCE -:102C8000205265736574002045787465726E616CBE -:102C9000205265736574002045787465726E616CAE -:102CA000205265736574002045787465726E616C9E -:102CB00020526573657400506F77657255700050CF -:102CC0006F776572557000506F7765725570005060 -:102CD0006F776572557000506F776572557000653B -:102CE0006E717565696E67202200656E7175656924 -:102CF0006E67202200656E717565696E672022001F -:102D0000656E717565696E67202200656E71756507 -:102D1000696E672022007770726F772E207A6D6956 -:102D2000616E007061726120746F6D617220656602 -:102D30006563746F0020706572206D6F73747261CB -:102D4000726520692063616D622E002070726F20B1 -:102D500070726F6A6576656E69207A6D656E0020A7 -:102D6000666F722074616B652065666665637400CA -:102D700052657374617274206472756B61726B69F1 -:102D8000005265696E6963696172206C6120696DCA -:102D9000702E005269617676696F206C61207374C1 -:102DA000616D702E0052657374617274756A74651A -:102DB000207469736B61726E75005265626F6F7417 -:102DC00020746865207072696E746572004D6F645E -:102DD000205B7720777964616A6E6F73635D004D65 -:102DE0006F646F205B6D617320667565727A615DDB -:102DF000004D6F646F205B70697520666F727A6139 -:102E00005D004D6F6420205B7679732E2076796BA0 -:102E10006F6E5D004D6F6465205B68696768207048 -:102E20006F7765725D004D6F642020202020202088 -:102E30005B63696368795D004D6F646F20202020BB -:102E4000205B73696C656E63696F5D004D6F646FC5 -:102E500020202020205B73696C656E7A696F736F28 -:102E60005D004D6F64202020202020205B7469636A -:102E700068795D004D6F646520202020205B7369B8 -:102E80006C656E745D0057796D69616E612066696D -:102E90006C616D656E74750043616D6269616E642D -:102EA0006F2066696C2E21004D757465766F6C65B8 -:102EB0002066696C2E210056796D656E6120666909 -:102EC0006C616D656E747521004368616E67696E33 -:102ED000672066696C616D656E7421005770726F52 -:102EE0007761647A2066696C616D656E7400496E05 -:102EF00073657274612066696C616D656E746F00D4 -:102F0000496E7365726972652066696C616D656E84 -:102F1000746F00566C6F7A74652066696C616D65BC -:102F20006E7400496E736572742066696C616D65BC -:102F30006E74004E616369736E696A2070727A798B -:102F40006369736B00592070756C736520656C2024 -:102F50006D616E646F00592070756C736520656CCF -:102F6000206D616E646F004120737469736B6E65D0 -:102F7000746520746C616369746B6F00416E6420CA -:102F8000707265737320746865206B6E6F62005792 -:102F9000796D69616E61206F6B210043616D6269BB -:102FA0006172206269656E210043616D6269612E04 -:102FB00020726975736369746F21005A6D656E6163 -:102FC0002075737065736E6121004368616E67657B -:102FD00020737563636573732100437A79737A6331 -:102FE0007A2E206B6F6C6F72750043617267616E31 -:102FF000646F20636F6C6F720043617267616E640F -:103000006F20636F6C6F720043697374656E692023 -:103010006261727679004C6F6164696E6720636FDC -:103020006C6F720050726F737A6520637A656B61A2 -:1030300063004573706572610041737065747461FB -:103040000050726F73696D2063656B656A7465000B -:10305000506C656173652077616974005770726F99 -:10306000772E2066696C616D656E747500436172C0 -:1030700067616E646F2066696C2E004361726761E0 -:103080006E646F2066696C2E005A61766164656EAD -:10309000692066696C616D656E7475004C6F616462 -:1030A000696E672066696C616D656E74004B6F6C4C -:1030B0006F72207A616E6965637A79737A2E004344 -:1030C0006F6C6F72206E6F20636C61726F00436F64 -:1030D0006C6F72206E6F20636C61726F0042617260 -:1030E0007661206E656E6920636973746100436F59 -:1030F0006C6F72206E6F7420636C65617200427237 -:10310000616B2066696C616D656E74750046696CF3 -:103110002E206E6F206361726761646F0046696C78 -:103120002E206E6F206361726761646F0046696C68 -:10313000616D656E74206E657A61766564656E009A -:1031400046696C616D656E74206E6F74206C6F6182 -:10315000646564004E6965004E6F004E6F004E65F9 -:10316000004E6F0054616B00536900536900416E5B -:103170006F005965730057796D69616E61206F6BDF -:103180003F0043616D626961646F20636F727265B5 -:10319000632E3F0043616D626961746F20636F72DB -:1031A000722E3F0056796D656E61206F6B3F004354 -:1031B00068616E67656420636F72726563746C79B1 -:1031C0003F00506F6D6F6300537570706F727400C5 -:1031D000537570706F727400506F64706F7261001D -:1031E000537570706F7274004E6167727A656A20F1 -:1031F0006479737A65210050726563616C2E206575 -:1032000078747275736F7221005072657269732ED3 -:10321000207567656C6C6F2100507265646568721B -:10322000656A746520747279736B752100507265DC -:103230006865617420746865206E6F7A7A6C6521A8 -:1032400000424C41443A004552524F523A004552D6 -:10325000524F523A0043485942413A004552524F68 -:10326000523A00526563747261637400526563740C -:1032700072616374005265637472616374005265B5 -:103280006374726163740052656374726163740085 -:103290005770726F7761647A2066696C616D656ED4 -:1032A0007400496E74726F64756369722066696C2C -:1032B000616D656E746F0043617269636172652050 -:1032C00066696C616D656E746F005A6176657374C2 -:1032D0002066696C616D656E74004C6F6164206678 -:1032E000696C616D656E740057796A616320666907 -:1032F0006C616D656E740053616361722066696C08 -:10330000616D656E746F00536361726963617265AC -:103310002066696C2E0056796A6D6F757420666937 -:103320006C616D656E7400556E6C6F6164206669CA -:103330006C616D656E740047727A616E69650050EC -:10334000726563616C656E7461720050726572695A -:103350007363616C64610050726564656872657660 -:1033600000507265686561740055737461776965B2 -:103370006E696100416A7573746500496D706F73A1 -:1033800074617A696F6E69004E6173746176656EFF -:10339000690053657474696E6773004B616C696290 -:1033A0007261636A61204F4B0043616C69627261B4 -:1033B0006369C383C692C382C2B36E204F4B00437E -:1033C000616C6962726174757261204F4B004B6170 -:1033D0006C696272616365204F4B0043616C696286 -:1033E000726174696F6E20646F6E65004B616C6909 -:1033F0006272756A65205A0043616C696272616E1F -:10340000646F205A0043616C696272616E646F2060 -:103410005A004B616C696272756A69205A00436197 -:103420006C6962726174696E67205A004B616C69E5 -:103430006272756A205A0043616C6962726172201F -:103440005A0043616C69627261205A004B616C6979 -:1034500062726F766174205A0043616C69627261B6 -:103460007465205A005679626572746520767974A5 -:1034700069736B0056796265727465207679746938 -:10348000736B00567962657274652076797469731E -:103490006B00567962657274652076797469736B16 -:1034A000005069636B207072696E74004175746FAF -:1034B000646F7374726F6963205A3F004175746F53 -:1034C000204D6963726F7061736F205A3F004175C0 -:1034D000746F207265676F6C617265205A203F00BF -:1034E0004175746F20646F6C61646974205A203F69 -:1034F000004175746F2061646A757374205A203FAF -:1035000000456E6473746F702061626F7274004561 -:103510006E6473746F702061626F727400456E64C4 -:1035200073746F702061626F727400456E6473749F -:103530006F702061626F727400456E6473746F7097 -:103540002061626F727400446F7374726F6A656E8B -:103550006965206F7379205A004D6963726F7061DD -:10356000736F205A004261627973746570205A004B -:10357000446F6C6164656E69206F7379205A004CEA -:103580006976652061646A757374205A00426162CD -:103590007973746570205900426162797374657043 -:1035A000205900426162797374657020590042614C -:1035B0006279737465702059004261627973746531 -:1035C000702059004261627973746570205800421E -:1035D0006162797374657020580042616279737416 -:1035E00065702058004261627973746570205800DC -:1035F00042616279737465702058005A204F666684 -:10360000736574005A204F6666736574005A204FC4 -:103610006666736574005A204F6666736574005A57 -:10362000204F666673657400486F6D6520582F598A -:10363000206265666F7265205A00486F6D6520587C -:103640002F59206265666F7265205A00486F6D655C -:1036500020582F59206265666F7265205A00486FA6 -:103660006D6520582F59206265666F7265205A007B -:10367000486F6D6520582F59206265666F7265200E -:103680005A005A2070726F6265206F75742E206226 -:103690006564005A2070726F6265206F75742E2009 -:1036A000626564005A2070726F6265206F75742EB7 -:1036B00020626564005A2070726F6265206F7574B5 -:1036C0002E20626564005A2070726F6265206F75EB -:1036D000742E206265640056796D656E697420539E -:1036E00044004368616E67652053442063617264DF -:1036F000004368616E676520534420636172640013 -:1037000056796D656E6974205344004368616E6735 -:1037100065205344206361726400496E69632E2002 -:10372000534400496E69742E2053442063617264CF -:1037300000496E69742E205344206361726400490D -:103740006E69632E20534400496E69742E205344E1 -:1037500020636172640057796D69656E69632066E4 -:10376000696C616D656E740043616D6269617220A0 -:1037700066696C616D656E746F0043616D6269614D -:1037800072652066696C616D656E746F0056796D47 -:10379000656E69742066696C616D656E740043685E -:1037A000616E67652066696C616D656E7400417558 -:1037B000746F526574722E004175746F5265747225 -:1037C0002E004175746F526574722E004175746FCE -:1037D000526574722E004175746F526574722E00BA -:1037E000556E52657420205600556E526574202027 -:1037F0005600556E52657420205600556E52657401 -:1038000020205600556E52657420205600532055D6 -:103810006E5265742B6D6D005320556E5265742B7E -:103820006D6D005320556E5265742B6D6D005320E5 -:10383000556E5265742B6D6D005320556E52657434 -:103840002B6D6D00556E526574202B6D6D00556E9D -:10385000526574202B6D6D00556E526574202B6D72 -:103860006D00556E526574202B6D6D00556E52655E -:1038700074202B6D6D00486F70206D6D00486F7067 -:10388000206D6D00486F70206D6D00486F70206D69 -:103890006D00486F70206D6D0052657472616374C5 -:1038A00020205600526574726163742020560052C5 -:1038B000657472616374202056005265747261638E -:1038C0007420205600526574726163742020560083 -:1038D000537761702052652E6D6D005377617020B3 -:1038E00052652E6D6D00537761702052652E6D6D9F -:1038F00000537761702052652E6D6D0053776170B3 -:103900002052652E6D6D0052657472616374206D76 -:103910006D0052657472616374206D6D0052657440 -:1039200072616374206D6D005265747261637420FE -:103930006D6D0052657472616374206D6D00535437 -:103940004F505045442E20005041524144410041C7 -:10395000525245535441544F200053544F505045F8 -:10396000442E200053544F505045442E20004B49C4 -:103970004C4C45442E200050415241444120444586 -:1039800020454D4552472E0055434349534F200093 -:103990004B494C4C45442E20004B494C4C45442E41 -:1039A00020004E6F206D6F76652E0053696E206D7E -:1039B0006F76696D69656E746F004E657373756EB1 -:1039C000204D6F76696D656E746F004E6F206D6F60 -:1039D00076652E004E6F206D6F76652E00447275F1 -:1039E0006B2070727A657277616E79005072696EC1 -:1039F000742061626F72746564005374616D7061EC -:103A00002061626F7274697461005469736B207015 -:103A10007265727573656E005072696E74206162B2 -:103A20006F7274656400577A6E6F7769656E696549 -:103A3000206472756B7500526573756D69656E648F -:103A40006F20696D7072652E0052697072656E64C8 -:103A500069205374616D7061004F626E6F76656EA0 -:103A600069207469736B7500526573756D696E6753 -:103A7000207072696E74005761697420666F7220DD -:103A8000757365722E2E2E004573706572616E64BB -:103A90006F206F7264656E657300417474656E6447 -:103AA00069205574656E74652E2E2E0057616974F9 -:103AB00020666F7220757365722E2E2E0057616915 -:103AC0007420666F7220757365722E2E2E00536CF3 -:103AD0006565702E2E2E005265706F736F2E2E2E20 -:103AE00000536F7370656E73696F6E652E2E2E00B6 -:103AF000536C6565702E2E2E00536C6565702E2EEE -:103B00002E004272616B206B617274792053440005 -:103B10004E6F20686179207461726A657461205308 -:103B200044004E6F205344204361727461005A6117 -:103B3000646E61205344206B61727461004E6F208B -:103B400053442063617264004472756B207A205381 -:103B500044004D656E75206465205344004D656ECC -:103B600075205344204361727461005469736B2063 -:103B70007A205344005072696E742066726F6D2013 -:103B80005344005A6174727A796D6163206472756E -:103B90006B00446574656E657220696D7072657343 -:103BA000696F6E0041727265737461207374616D28 -:103BB0007061005A61737461766974207469736B03 -:103BC0000053746F70207072696E74004B6F6E7466 -:103BD000796E756F776163005265616E75646172AD -:103BE00020696D707265732E0052697072656E6423 -:103BF00069207374616D706100506F6B7261636FE7 -:103C000076617400526573756D65207072696E74AB -:103C10000050727A6572776163206472756B005030 -:103C2000617573617220696D70726573696F6E0082 -:103C3000506175736100506F7A6173746176697455 -:103C4000207469736B005061757365207072696EC2 -:103C500074004E617374726F696300416A757374A6 -:103C6000617200416461747461004C616469740044 -:103C700054756E65005072697072617661005072A1 -:103C80006570617265005072657061726500507296 -:103C90006970726176610050726570617265004989 -:103CA0006E666F726D61636A65004D6F6E69746FE9 -:103CB00072697A61720047756172646100496E666B -:103CC0006F726D61636500496E666F207363726524 -:103CD000656E004F626E6F7669740052656672653C -:103CE00073680052656672657368004F626E6F7626 -:103CF00069740052656672657368004F626E6F7614 -:103D0000697420767963686F7A6900526573746F9D -:103D10007265206661696C736166650052657374D3 -:103D20006F7265206661696C73616665004F626ED3 -:103D30006F76697420767963686F7A69005265736B -:103D4000746F7265206661696C7361666500556C9D -:103D50006F7A69742070616D6574004C6F616420C6 -:103D60006D656D6F7279004C6F6164206D656D6F6C -:103D7000727900556C6F7A69742070616D6574009A -:103D80004C6F6164206D656D6F72790053746F7252 -:103D900065206D656D6F72790053746F7265206D6B -:103DA000656D6F72790053746F7265206D656D6F0C -:103DB00072790053746F7265206D656D6F72790052 -:103DC00053746F7265206D656D6F7279004C43445A -:103DD00020636F6E7472617374004C434420636F90 -:103DE0006E7472617374004C434420636F6E74721E -:103DF000617374004C434420636F6E74726173741A -:103E0000004C434420636F6E7472617374004669A2 -:103E10006C2E204469612E20330046696C2E2044AC -:103E200069612E20330046696C2E204469612E2082 -:103E3000330046696C2E204469612E2033004669A8 -:103E40006C2E204469612E20330046696C2E20447C -:103E500069612E20320046696C2E204469612E2053 -:103E6000320046696C2E204469612E20320046697A -:103E70006C2E204469612E20320046696C2E20444D -:103E800069612E20320046696C2E204469612E2023 -:103E9000310046696C2E204469612E20310046694C -:103EA0006C2E204469612E20310046696C2E20441E -:103EB00069612E20310046696C2E204469612E20F4 -:103EC00031004520696E206D6D33004520696E20FC -:103ED0006D6D33004520696E206D6D33004520699E -:103EE0006E206D6D33004520696E206D6D33004688 -:103EF000696C616D656E740046696C616D656E74A8 -:103F00000046696C616D656E740046696C616D6533 -:103F10006E740046696C616D656E7400506F6879EF -:103F200062004D6F74696F6E004D6F74696F6E0043 -:103F3000506F687962004D6F74696F6E0054656DE3 -:103F400070657261747572610054656D706572613F -:103F5000747572610054656D70657261747572611B -:103F6000005465706C6F74610054656D70657261AA -:103F700074757265004573746570732F6D6D0045BF -:103F800073746570732F6D6D004573746570732F56 -:103F90006D6D004573746570732F6D6D004573749E -:103FA0006570732F6D6D005A73746570732F6D6D2E -:103FB000005A73746570732F6D6D005A7374657059 -:103FC000732F6D6D005A73746570732F6D6D005A89 -:103FD00073746570732F6D6D005973746570732FF2 -:103FE0006D6D005973746570732F6D6D0059737426 -:103FF0006570732F6D6D005973746570732F6D6DDF -:10400000005973746570732F6D6D0058737465700B -:10401000732F6D6D005873746570732F6D6D00583C -:1040200073746570732F6D6D005873746570732FA2 -:104030006D6D005873746570732F6D6D00412D7236 -:1040400065747261637400412D726574726163748A -:1040500000412D7265747261637400412D72657444 -:104060007261637400412D72657472616374004102 -:104070006D61782000416D61782000416D6178208C -:1040800000416D61782000416D61782000565472C6 -:104090006176206D696E005654726176206D696E8E -:1040A000005654726176206D696E005654726176C6 -:1040B000206D696E005654726176206D696E0056EF -:1040C0006D696E00566D696E00566D696E00566DB5 -:1040D000696E00566D696E006500650065006500DB -:1040E00065007A007A007A007A007A007900790017 -:1040F00079007900790078007800780078007800FD -:10410000566D61782000566D61782000566D61789B -:104110002000566D61782000566D6178200056654C -:104120002D6A65726B0056652D6A65726B00566567 -:104130002D6A65726B0056652D6A65726B00566557 -:104140002D6A65726B00567A2D6A65726B00567A1D -:104150002D6A65726B00567A2D6A65726B00567A0D -:104160002D6A65726B00567A2D6A65726B005678FF -:10417000792D6A65726B005678792D6A65726B00CD -:104180005678792D6A65726B005678792D6A65725A -:104190006B005678792D6A65726B00416363656CBC -:1041A00000416363656C00416363656C0041636358 -:1041B000656C00416363656C005049442D430050B9 -:1041C00049442D43005049442D43005049442D4358 -:1041D000005049442D43005049442D440050494467 -:1041E0002D44005049442D44005049442D44005072 -:1041F00049442D44005049442D49005049442D491B -:10420000005049442D49005049442D49005049442B -:104210002D49005049442D50005049442D50005024 -:1042200049442D50005049442D50005049442D50D0 -:10423000004F6666004F6666004F6666004F666612 -:10424000004F6666004F6E20004F6E20004F6E20BC -:10425000004F6E20004F6E20004175746F74656DC5 -:1042600070004175746F74656D70004175746F7482 -:10427000656D70004175746F74656D700041757483 -:104280006F74656D70002002204661637400200227 -:10429000204661637400200220466163740020029E -:1042A000204661637400200220466163740020028E -:1042B000204D6178002002204D6178002002204DC1 -:1042C0006178002002204D6178002002204D617845 -:1042D000002002204D696E002002204D696E0020F2 -:1042E00002204D696E002002204D696E00200220E0 -:1042F0004D696E004B6F6E74726F6C6100436F6E30 -:1043000074726F6C00436F6E74726F6C004B6F6EE3 -:1043100074726F6C6100436F6E74726F6C005072D8 -:1043200075746F6B203200466C6F77203200466CDC -:104330006F77203200507275746F6B203200466CBC -:104340006F77203200507275746F6B203100466CAD -:104350006F77203100466C6F772031005072757492 -:104360006F6B203100466C6F77203100507275748E -:104370006F6B203000466C6F77203000466C6F7793 -:10438000203000507275746F6B203000466C6F7770 -:1043900020300050727A65706C797700466C756ACF -:1043A0006F00466C7573736F00507275746F6B009D -:1043B000466C6F7700507265646B6F73632077652E -:1043C0006E742E0056656E74696C61646F7200566F -:1043D000656E746F6C6100527963686C6F737420E2 -:1043E00076656E742E0046616E207370656564009C -:1043F00053746F6C696B004261736500506961743E -:10440000746F004265640042656400547279736B96 -:104410006133004E6F7A7A6C6533004E6F7A7A6C36 -:10442000653300547279736B6133004E6F7A7A6C26 -:10443000653300547279736B6132004E6F7A7A6C17 -:104440006532004E6F7A7A6C653200547279736B04 -:104450006132004E6F7A7A6C6532004479737A610A -:10446000004675736F72005567656C6C6F0054720F -:1044700079736B61004E6F7A7A6C65005072656477 -:104480006B6F73630056656C6F636964616400569B -:10449000656C636974C383C692C386E28099C383E3 -:1044A000E2809AC382C2A000527963686C6F737411 -:1044B00000537065656400506F73756E6F7574207E -:1044C0006F2031306D6D004D6F76652031306D6D30 -:1044D000004D6F76652031306D6D00506F73756ED5 -:1044E0006F7574206F2031306D6D004D6F766520D3 -:1044F00031306D6D00506F73756E6F7574206F2065 -:10450000316D6D004D6F766520316D6D004D6F76AC -:104510006520316D6D00506F73756E6F7574206F0F -:1045200020316D6D004D6F766520316D6D00506FDF -:1045300073756E6F7574206F20302E316D6D004D68 -:104540006F766520302E316D6D004D6F76652030B1 -:104550002E316D6D00506F73756E6F7574206F2006 -:10456000302E316D6D004D6F766520302E316D6DC2 -:10457000004578747275646572330045787472759D -:1045800064657233004578747275646572330045F2 -:1045900078747275646572330045787472756465F9 -:1045A00072330045787472756465723200457874B0 -:1045B0007275646572320045787472756465723222 -:1045C000004578747275646572320045787472754E -:1045D000646572320045787472756465720045785E -:1045E000747275736F72004573747275736F726550 -:1045F00000457874727564657200457874727564EC -:1046000065720050727A6573756E6163205A004D51 -:104610006F766572205A004D756F7669205A00508A -:104620006F73756E6F7574205A004D6F7665205AE2 -:104630000050727A6573756E61632059004D6F7614 -:1046400065722059004D756F7669205900506F735F -:10465000756E6F75742059004D6F76652059005046 -:10466000727A6573756E61632058004D6F7665725E -:104670002058004D756F7669205800506F73756E25 -:104680006F75742058004D6F766520580052756321 -:1046900068206F7369004D6F76657220656A657377 -:1046A000004D756F7669204173736500506F7375A7 -:1046B0006E6F7574206F7375004D6F76652061782D -:1046C000697300526574726163740052657472613B -:1046D0006374005265747261637400526574726130 -:1046E0006374005265747261637400457874727506 -:1046F000646F7661740045787472756465004578FE -:104700007472756465004578747275646F7661744F -:104710000045787472756465005A61706E6F7574C7 -:10472000207A64726F6A0053776974636820706FCF -:10473000776572206F6666005377697463682070CE -:104740006F776572206F6666005A61706E6F757460 -:10475000207A64726F6A0053776974636820706F9F -:10476000776572206F6666005679706E6F7574207B -:104770007A64726F6A0053776974636820706F7728 -:104780006572206F6E0053776974636820706F776D -:104790006572206F6E005679706E6F7574207A6442 -:1047A000726F6A0053776974636820706F776572FF -:1047B000206F6E00577963686C6F647A6963004597 -:1047C0006E667269617200526166667265646461E8 -:1047D000005A63686C6164697400436F6F6C646F46 -:1047E000776E005072656465687265762041425349 -:1047F00020636F6E66005072656865617420414287 -:104800005320636F6E660050726568656174204165 -:10481000425320636F6E660050726564656872650E -:10482000762041425320636F6E6600507265686562 -:1048300061742041425320636F6E6600507265645C -:10484000656872657620414253204265640050726B -:10485000656865617420414253204265640050726E -:10486000656865617420414253204265640050725E -:104870006564656872657620414253204265640034 -:10488000507265686561742041425320426564003E -:104890005072656465687265762041425320416CB0 -:1048A0006C00507265686561742041425320416C10 -:1048B0006C00507265686561742041425320416C00 -:1048C0006C005072656465687265762041425320C1 -:1048D000416C6C00507265686561742041425320E0 -:1048E000416C6C0050726564656872657620414267 -:1048F0005320330050726568656174204142532033 -:104900003300507265686561742041425320330062 -:1049100050726564656872657620414253203300A9 -:1049200050726568656174204142532033005072B3 -:10493000656465687265762041425320320050728A -:104940006568656174204142532032005072656889 -:10495000656174204142532032005072656465687D -:10496000726576204142532032005072656865615D -:10497000742041425320320050726564656872654C -:104980007620414253203100507265686561742081 -:104990004142532031005072656865617420414284 -:1049A000532031005072656465687265762041421B -:1049B0005320310050726568656174204142532074 -:1049C000310050726564656872657620414253001B -:1049D0005072656865617420414253005072656889 -:1049E0006561742041425300507265646568726568 -:1049F00076204142530050726568656174204142DF -:104A0000530050726564656872657620504C412091 -:104A1000636F6E66005072656865617420504C412A -:104A200020636F6E66005072656865617420504C3B -:104A30004120636F6E6600507265646568726576CA -:104A400020504C4120636F6E66005072656865614E -:104A50007420504C4120636F6E660050726564652F -:104A60006872657620504C41204265640050726542 -:104A70006865617420504C41204265640050726545 -:104A80006865617420504C41204265640050726535 -:104A900064656872657620504C4120426564005020 -:104AA00072656865617420504C4120426564005015 -:104AB000726564656872657620504C4120416C6C6B -:104AC000005072656865617420504C4120416C6CE7 -:104AD000005072656865617420504C4120416C6CD7 -:104AE0000050726564656872657620504C412041C3 -:104AF0006C6C005072656865617420504C412041B7 -:104B00006C6C0050726564656872657620504C412B -:104B10002033005072656865617420504C41203329 -:104B2000005072656865617420504C41203300501C -:104B3000726564656872657620504C412033005080 -:104B400072656865617420504C4120330050726575 -:104B500064656872657620504C4120320050726561 -:104B60006865617420504C41203200507265686560 -:104B7000617420504C412032005072656465687247 -:104B8000657620504C412032005072656865617432 -:104B900020504C4120320050726564656872657621 -:104BA00020504C412031005072656865617420507E -:104BB0004C412031005072656865617420504C4151 -:104BC00020310050726564656872657620504C41F2 -:104BD0002031005072656865617420504C4120316D -:104BE0000050726564656872657620504C410050D3 -:104BF00072656865617420504C410050726568654B -:104C0000617420504C41005072656465687265762D -:104C100020504C41005072656865617420504C41D1 -:104C2000004E617374617620706F636174656B0010 -:104C3000536574206F726967696E00536574206FE5 -:104C4000726967696E004E617374617620706F637C -:104C50006174656B00536574206F726967696E00DB -:104C60004E617374617620706F636174656B206848 -:104C70006F6D650053657420686F6D65206F6666A3 -:104C8000736574730053657420686F6D65206F667B -:104C90006673657473004E617374617620706F6320 -:104CA0006174656B20686F6D650053657420686F73 -:104CB0006D65206F666673657473004175746F204F -:104CC000686F6D65004C6C6576617220616C206F59 -:104CD000726967656E004175746F20486F6D65007D -:104CE0004175746F20686F6D65004175746F206841 -:104CF0006F6D650057796C61637A79632073696CB5 -:104D00006E696B6900417061676172206D6F746FCD -:104D1000726573004469736162696C697461204DE6 -:104D20006F746F7269005679706E6F7574206D6F55 -:104D3000746F72790044697361626C652073746585 -:104D40007070657273004175746F73746172740072 -:104D50004175746F7374617274004175746F73740C -:104D6000617274004175746F73746172740041757F -:104D7000746F7374617274004D656E7520676C6F2B -:104D8000776E65004D656E75207072696E6369702F -:104D9000616C004D656E75207072696E636970613B -:104DA0006C6500486C61766E69206E616269646B47 -:104DB00061004D61696E004B617274612077796AA0 -:104DC000657461005461726A65746120726574690A -:104DD0007261646100534420436172642072696DA2 -:104DE0006F737361004B617274612076796A6D75BF -:104DF000746100436172642072656D6F7665640052 -:104E00004B6172746120776C6F7A6F6E61005461D0 -:104E1000726A65746120636F6C6F636164610053D3 -:104E200044204361726420696E7365726974610025 -:104E30004B6172746120766C6F7A656E61004361BC -:104E4000726420696E736572746564005072757364 -:104E500061206933204D4B3220676F746F7761009A -:104E60005072757361206933204D4B32206C697329 -:104E70007461005072757361206933204D4B32208C -:104E800070726F6E746F2E0050727573612069338B -:104E9000204D4B32206F6B00507275736120693367 -:104EA000204D4B322072656164792E004D383420DC -:104EB000582059205A2045004D3234004D323320BD -:104EC0002573006175746F25692E67000A002F0035 -:104ED0000A002E0044656C6574696F6E2066616916 -:104EE0006C65642C2046696C653A200046696C65E7 -:104EF0002064656C657465643A002E002E002E00F7 -:104F00002E004E6F772066726573682066696C6547 -:104F10003A20004E6F7720646F696E672066696C77 -:104F2000653A20002220706F730022207061726544 -:104F30006E743A2200535542524F5554494E452003 -:104F400043414C4C207461726765743A220074725C -:104F500079696E6720746F2063616C6C2073756271 -:104F60002D67636F64652066696C6573207769746B -:104F70006820746F6F206D616E79206C6576656C4A -:104F8000732E204D4158206C6576656C2069733A0C -:104F90000000002110422063308440A550C660E725 -:104FA00070088129914AA16BB18CC1ADD1CEE1EFDE -:104FB000F13112100273325222B5529442F772D676 -:104FC00062399318837BB35AA3BDD39CC3FFF3DE2E -:104FD000E36224433420040114E664C774A44485C6 -:104FE000546AA54BB528850995EEE5CFF5ACC58D7E -:104FF000D55336722611163006D776F6669556B416 -:10500000465BB77AA719973887DFF7FEE79DD7BCCD -:10501000C7C448E5588668A7784008611802282365 -:1050200038CCC9EDD98EE9AFF9488969990AA92B1D -:10503000B9F55AD44AB77A966A711A500A333A12B5 -:105040002AFDDBDCCBBFFB9EEB799B588B3BBB1A6D -:10505000ABA66C877CE44CC55C222C033C600C4105 -:105060001CAEED8FFDECCDCDDD2AAD0BBD688D49BD -:105070009D977EB66ED55EF44E133E322E511E7055 -:105080000E9FFFBEEFDDDFFCCF1BBF3AAF599F780D -:105090008F8891A981CAB1EBA10CD12DC14EF16FBE -:1050A000E18010A100C230E3200450254046706723 -:1050B00060B9839893FBA3DAB33DC31CD37FE35E4F -:1050C000F3B1029012F322D2323542145277625673 -:1050D00072EAB5CBA5A89589856EF54FE52CD50D5F -:1050E000C5E234C324A014810466744764245405C3 -:1050F00044DBA7FAB79987B8975FE77EF71DC73CEF -:10510000D7D326F2369106B0165766767615463412 -:10511000564CD96DC90EF92FE9C899E9898AB9ABFE -:10512000A94458654806782768C018E1088238A362 -:10513000287DCB5CDB3FEB1EFBF98BD89BBBAB9A8E -:10514000BB754A545A376A167AF10AD01AB32A92B2 -:105150003A2EFD0FED6CDD4DCDAABD8BADE89DC99E -:105160008D267C076C645C454CA23C832CE01CC102 -:105170000C1FEF3EFF5DCF7CDF9BAFBABFD98FF82E -:105180009F176E367E554E745E932EB23ED10EF052 -:105190001E22004D3232302053256900203A200073 -:1051A000004C414E472053454C20464F5243454406 -:1051B000002200205A3A0020593A0020453A0020A7 -:1051C0005A3A0020593A00583A0020002E00204256 -:1051D0003A0020453A00543A0020573A0020453A18 -:1051E00000543A002042403A0020403A00202F006C -:1051F0003A00205400202F0020423A00202F006F58 -:105200006B20543A002569206D696E2C2025692099 -:1052100073656300496E646578206F7574206F66EE -:1052200020626F756E6473000A0042656420666FC9 -:10523000756E642061743A200046696E64696E6719 -:105240002062656420004D65736820626564206C8F -:105250006576656C696E67206E6F74206163746932 -:1052600076652E000A002020000A4D656173757274 -:10527000656420706F696E74733A000A5A20736512 -:1052800061726368206865696768743A20002C0061 -:105290004E756D20582C593A20004738300047325F -:1052A000380047383000256920686F7572732025F3 -:1052B00069206D696E75746573004D313130004D34 -:1052C0003239004D6179203330203230313600439D -:1052D0006F6D70696C65643A2000286E6F6E652C86 -:1052E0002064656661756C7420636F6E66696729FA -:1052F000004D617920333020323031362031363A5A -:1053000032333A3037007374617274002200220025 -:10531000FFFFFF0000A0400000A040000000400090 -:10532000007F4300005643CDCC51430000000000F5 -:105330000080C0CDCC4C3E00007F430000524300B3 -:1053400000524300000000000080C0CDCC4C3E6500 -:1053500063686F3A004572726F723A0047383000E6 -:10536000473120452D38302046343030004D383319 -:10537000004731205A313520463135303000473929 -:1053800031004731205835302059313930204530EF -:1053900020463730303000473930004D3834004D2A -:1053A000383300473120453730204634303000470D -:1053B00031204534302046313030002E002020206E -:1053C00020202020202020202020002D2D3A2D2DAF -:1053D000002D2D2D003E555342005344002D2D002D -:1053E0000120000120004D36303000464C45582049 -:1053F0002D20203233302F35300050502020202DEA -:1054000020203235342F3130300048495053202D80 -:1054100020203232302F3130300050455420202DA2 -:1054200020203234302F393000504C4120202D20A4 -:10543000203231302F35300041425320202D2020A2 -:105440003235352F313030004D3234004D3233207B -:10545000257300580059005A0045787472756465C8 -:105460007200473238004D3834004D6179203330B6 -:10547000203230313600446174653A20002D2D2DE4 -:105480002D2D2D2D2D2D2D2D2D00453344763666B9 -:10549000756C6C0052414D426F31336100315F37A2 -:1054A000356D6D5F4D4B32002D2D2D2D2D2D2D2D5C -:1054B0002D2D2D2D004669726D77617265202D208E -:1054C000332E302E310048617264636F646564204E -:1054D00044656661756C742053657474696E677396 -:1054E000204C6F616465640046696C616D656E7423 -:1054F0002073657474696E67733A204469736162DE -:105500006C6564002020204D323030204400466914 -:105510006C616D656E742073657474696E67733A3F -:10552000002020204D3230392053004175746F2DFA -:10553000526574726163743A20533D3020746F2059 -:1055400064697361626C652C203120746F20696E10 -:105550007465727072657420657874727564652DF7 -:105560006F6E6C79206D6F76657320617320726544 -:10557000747261637473206F72207265636F7665F5 -:1055800072696573002046002020204D323038209B -:1055900053005265636F7665723A20533D457874C7 -:1055A0007261206C656E67746820286D6D292046D5 -:1055B0003A537065656420286D6D2F6D2900205A5F -:1055C000002046002020204D323037205300526505 -:1055D00074726163743A20533D4C656E6774682041 -:1055E000286D6D2920463A537065656420286D6DDD -:1055F0002F6D29205A3A205A4C69667420286D6D07 -:1056000029002044002049002020204D3330312043 -:1056100050005049442073657474696E67733A0092 -:10562000205A0020590020204D32303620580048A2 -:105630006F6D65206F666673657420286D6D293AFD -:1056400000204500205A002058002042002054002D -:1056500020204D323035205300416476616E636501 -:1056600064207661726961626C65733A20533D4DC6 -:10567000696E20666565647261746520286D6D2FA2 -:1056800073292C20543D4D696E2074726176656CCF -:1056900020666565647261746520286D6D2F7329BD -:1056A0002C20423D6D696E696D756D207365676D67 -:1056B000656E742074696D6520286D73292C2058DF -:1056C0003D6D6178696D756D205859206A65726B02 -:1056D00020286D6D2F73292C20205A3D6D6178692B -:1056E0006D756D205A206A65726B20286D6D2F7361 -:1056F000292C2020453D6D6178696D756D20452010 -:105700006A65726B20286D6D2F732900205400206C -:10571000204D323034205300416363656C65726103 -:1057200074696F6E3A20533D616363656C657261A5 -:1057300074696F6E2C20543D7265747261637420BD -:10574000616363656C65726174696F6E002045000A -:10575000205A0020590020204D3230312058004D71 -:105760006178696D756D20416363656C6572617404 -:10577000696F6E20286D6D2F7332293A0020450025 -:10578000205A0020590020204D3230332058004D3F -:105790006178696D756D20666565647261746573A5 -:1057A00020286D6D2F73293A00204500205A0020D3 -:1057B000590020204D3932205800537465707320F1 -:1057C00070657220756E69743A0045303A20005A4F -:1057D0003A2000593A2000583A20004D53312C4DC0 -:1057E00053322050696E730A005A00205A3A005909 -:1057F0000020593A00580020583A0024F4D4305080 -:10580000C38E20C2A24017828B7011127A910D8133 -:105810006CD90AA861E108C7586607615143061EA2 -:105820004B5D05C145A7041A411104093D98037158 -:105830003931034036DB0265339102D430540280A3 -:105840002E1D02632CEE01752AC501B028A001109F -:105850002781018F2564012B244B01E0223401AC08 -:10586000211F018D200D01801FFC00841EED00977B -:105870001DDF00B81CD200E61BC600201BBC006464 -:105880001AB200B219A8000A19A0006A189900D12A -:1058900017910040178B00B516840031167E00B3B7 -:1058A0001579003A157300C7146F0058146A00EE9A -:1058B0001366008813630025135E00C7125B006C3B -:1058C00012570015125400C111510070114F0021E0 -:1058D000114B00D61049008D1047004610440002BD -:1058E000104200C00F4000800F3E00420F3C0006F7 -:1058F0000F3B00CB0E3800930E37005C0E350027AF -:105900000E3400F30D3200C10D3100900D300060F7 -:105910000D2E00320D2D00050D2C00D90C2B00AEE4 -:105920000C2900850C29005C0C2700350C27000E83 -:105930000C2600E80B2400C40B2400A00B23007DE0 -:105940000B23005A0B2100390B2100180B2000F803 -:105950000A1F00D90A1E00BB0A1E009D0A1D0080F6 -:105960000A1D00630A1C00470A1B002C0A1B0011B9 -:105970000A1A00F7091A00DD091900C4091900AB59 -:10598000091900920917007B091800630917004CD8 -:1059900009160036091600200916000A091500F537 -:1059A000081500E0081400CC081400B8081400A47E -:1059B000081400900813007D0812006B08130058AB -:1059C00008120046081200340811002308110012C2 -:1059D00008110001081100F0071000E0071000D0C6 -:1059E000071000C0071000B0070F00A107100091BA -:1059F000070E0083070F0074070F0065070E00579E -:105A0000070E0049070E003B070D002E070E002071 -:105A1000070D0013070D0006070D00F9060C00ED39 -:105A2000060D00E0060C00D4060C00C8060C00BCF5 -:105A3000060C00B0060C00A4060B0099060C008DA5 -:105A4000060B0082060B0077060B006C060B00614C -:105A5000060A0057060B004C060A0042060A0038E8 -:105A6000060A002E060A0024060A001A060A00107A -:105A700006090007060A00FD050900F4050900EB08 -:105A8000050900E2050900D9050900D0050900C78C -:105A9000050900BE050900B5050800AD050800A50B -:105AA0000509009C050800940508008C0508008481 -:105AB0000508007C050800740508006C05070065F2 -:105AC0000508005D050700560508004E050700475C -:105AD0000507004005080038050700310507002AC2 -:105AE000050700230507001C050600160507000F23 -:105AF0000507000805060002050700FB040600F57F -:105B0000040700EE040600E8040600E2040700DBD8 -:105B1000040600D5040600CF040600C9040600C32D -:105B2000040600BD040600B7040600B1040500AC7D -:105B3000040600A6040600A00405009B04060095C8 -:105B4000040500900406008A040500850405008011 -:105B50000406007A04050075040500700405006B56 -:105B600004050066040500610405005C0405005797 -:105B7000040500520405004D0405004804050043D7 -:105B80000405003E0404003A040500350405003015 -:105B90000404002C04050027040400230405001E4F -:105BA0000404001A04040016040500110404000D86 -:105BB000040400090405000404040000040400FCBB -:105BC000030400F8030400F4030400F0030400ECF1 -:105BD000030400E8030400E4030400E0030400DC21 -:105BE000030400D8030400D4030400D0030400CC51 -:105BF000030400C8030300C503030024F404D920F0 -:105C00001BC40C5C0E9804C4095F0265077101F4A3 -:105C100005F900FB04B30048048700C1036900587C -:105C200003550003034500BE023A008402310053CD -:105C3000022A002902250004022000E4011C00C8F9 -:105C4000011900AF011700980114008401130071BD -:105C50000110006101100051010E0043010D0036DA -:105C6000010B002B010B0020010B00150109000C9A -:105C700001090003010800FB000800F3000800EB25 -:105C8000000700E4000600DE000600D8000600D28F -:105C9000000600CC000500C7000500C2000500BDDD -:105CA000000400B9000400B5000400B1000400AD18 -:105CB000000400A9000400A5000300A20003009F47 -:105CC0000004009B0003009800030095000200936D -:105CD000000300900003008D0002008B0003008889 -:105CE0000002008600020084000300810002007FA1 -:105CF0000002007D0002007B0002007900020077B4 -:105D000000010076000200740002007200010071C0 -:105D10000002006F0002006D0001006C0002006ACA -:105D200000010069000200670001006600010065D3 -:105D300000010064000200620001006100010060D7 -:105D40000001005F0002005D0001005C0001005BDB -:105D50000001005A000100590001005800010057DD -:105D600000010056000100550001005400010053DD -:105D700000000053000100520001005100010050DA -:105D80000001004F0001004E0000004E0001004DD8 -:105D90000001004C0001004B0000004B0001004AD4 -:105DA00000010049000100480000004800010047D0 -:105DB00000010046000000460001004500000045CB -:105DC00000010044000100430000004300010042C4 -:105DD00000000042000100410000004100010040BD -:105DE0000001003F0000003F0001003E0000003EB7 -:105DF0000001003D0000003D0001003C0000003CAF -:105E00000000003C0001003B0000003B0001003AA4 -:105E10000000003A0001003900000039000100389C -:105E20000000003800000038000100370000003793 -:105E30000001003600000036000000360001003589 -:105E4000000000350000003500010034000000347F -:105E50000000003400010033000000330000003374 -:105E60000001003200000032000000320001003169 -:105E7000000000310000003100010030000000305F -:105E8000000000300001002F0000002F0000002F54 -:105E90000000002F0001002E0000002E0000002E48 -:105EA0000001002D0000002D0000002D0000002D3D -:105EB0000001002C0000002C0000002C0000002C31 -:105EC0000001002B0000002B0000002B0000002B25 -:105ED0000001002A0000002A0000002A0000002A19 -:105EE000000100290000002900000029000000290D -:105EF0000000002900010028000000280000002800 -:105F000000000028000000280001002700000027F2 -:105F100000000027000000270000002700010026E5 -:105F200000000026000000260000002600000026D9 -:105F300000010025000000250000002500000025CC -:105F400000000025000000250001002400000024BE -:105F500000000024000000240000002400010023B1 -:105F600000000023000000230000002300000023A5 -:105F70000000002300000023000100220000002296 -:105F80000000002200000022000000220000002289 -:105F9000000100210000002100000021000000217C -:105FA000000000210000002100000021000100206D -:105FB0000000002000000020000000200000002061 -:105FC0000000002000000020000000200001001F51 -:105FD0000000001F0000001F0000001F0000001F45 -:105FE0000000001F0000001F0001001E0000001E36 -:105FF0000000001E0000001E0000000000090A0250 -:10600000080B0C0D0706030401000000000000004F -:106010000000000000000000000000000000000080 -:106020000000000000000011100F00000000000040 -:106030000000000000000000000000000000000060 -:106040000000000000000000000000000000000050 -:10605000000102102020080810204010204080027B -:10606000010201080402010102040810204080809E -:106070004020100804020180040201804020100822 -:1060800004020108040201010204081020408001FA -:1060900002040810204080100804088010204004EA -:1060A0004080102040048005050505070508080804 -:1060B00008020202020A0A08080404040401010199 -:1060C00001010101010303030303030303040707A1 -:1060D000070C0C0C0C0C0C0C0C020202020606063F -:1060E00006060606060B0B0B0B0B0B0B0B07070A22 -:1060F0000A0A0A0A0A050505040404080800002023 -:10610000002300260029002C002F0032000001008F -:106110000003010601090100002200250028002BD0 -:10612000002E003100340002010000050108010BBF -:106130000100002100240027002A002D0030003338 -:106140000001010000040107010A01024E414E490D -:106150004E495459494E46CDCCCC3D0AD7233C1725 -:10616000B7D13877CC2B329595E6241FB14F0A0072 -:106170000020410000C84200401C4620BCBE4CCA62 -:106180001B0E5AAEC59D74009D973AB78FE984FBEC -:10619000A19711241FBECFEFD1E2DEBFCDBF00E03B -:1061A0000CBF1EE0A0E0B2E0ECECF4E202E00BBFBA -:1061B00002C007900D92AE3CB107D9F72FE1AEECCB -:1061C000BEE001C01D92A232B207E1F711E6C0E9BC -:1061D000D1E600E006C022970109FE010BBF0F9433 -:1061E000B309C838D10780E00807A9F70E9488FFE3 -:1061F0000D9454120C940000CF93DF93EC019C019A -:106200002C5F3F4F41E050E060E070E0898D9A8D57 -:106210000E949E3B882399F04D895E896F89788D15 -:10622000452B462B472B59F44C815D816E817F8134 -:106230004D8B5E8B6F8B788F998190689983DF91FE -:10624000CF910895CF92DF92EF92FF920F931F9319 -:10625000CF93DF93EC0189899A89AB89BC89803E11 -:106260009F4FAF41B10510F080E06BC0CE01C4DF9D -:106270008823D1F30E94B239182F8823A9F3E98D1E -:10628000FA8DCC80DD80EE80FF8032E0C31AD10829 -:10629000E108F108058404C0CC0CDD1CEE1CFF1CD9 -:1062A0000A94D2F786859785A089B189C80ED91E30 -:1062B000EA1EFB1E81E08093D40EC092D710D092CC -:1062C000D810E092D910F092DA1080E092E0E7ED79 -:1062D000FEE0DF019C011D9221503040E1F701E01A -:1062E000E98DFA8D8481081790F427ED3EE0B7011F -:1062F000A601400F511D611D711D8091D50E909119 -:10630000D60E0E9496628823E1F00F5FE9CFC12C80 -:1063100082E0D82EE12CF12C058404C0CC0CDD1CCD -:10632000EE1CFF1C0A94D2F749895A896B897C8933 -:106330004C0D5D1D6E1D7F1D498B5A8B6B8B7C8BAD -:10634000812FDF91CF911F910F91FF90EF90DF9000 -:10635000CF900895CF93DF93EC0141E0611101C02C -:1063600040E06C857D858E859F850E94F23988236B -:1063700041F0888920E2829FC00111248952914F07 -:1063800002C080E090E0DF91CF91089530E020E0FE -:106390004EE2DC015C91503271F0383029F4FB019F -:1063A000E20FF11D40832F5FFB01E20FF11DDC01C5 -:1063B0005C9150832F5F3F5F01963B3051F7FB01AB -:1063C000E20FF11D10820895CF93DF93EB01FC01E2 -:1063D0002381211102C080E00EC02250223020F41F -:1063E0008FE28883198206C060E0B4DF009799F3DA -:1063F000BE01CCDF81E0DF91CF910895FB012BE05E -:1064000030E231932150E9F7DC0190E027E03A2FA8 -:10641000EB2F8D9181110AC0DA013C931196EC9318 -:1064200081E0FB019081903239F525C08F32A1F3D4 -:106430008E3219F0EEE8F1E008C02A30E1F098E081 -:106440002AE0E5CF31963817B1F034913111FACF07 -:10645000291788F03FED380F3E3568F431E0390FE9 -:10646000FB01E90FF11D9FE9980F9A3108F4805262 -:106470008083932FCCCF80E008950F931F93CF9309 -:10648000DF93EC018B018B81882311F080E042C007 -:10649000FB018789803139F18032C1F783E08B833A -:1064A000F801428D538D648D758D4D8B5E8B6F8B96 -:1064B000788F9E012F5E3F4FC8010E94A93A882322 -:1064C00029F31A8F098F81E089831C821D821E8225 -:1064D0001F82188619861A861B861C861D861E86B4 -:1064E0001F86188A17C082E08B831D8A1E8A1F8A26 -:1064F000188EFB01408D518D60E070E095E0440FF7 -:10650000551F661F771F9A95D1F7498B5A8B6B8B56 -:106510007C8BD7CFDF91CF911F910F9108952F9250 -:106520003F924F925F926F927F928F929F92AF9223 -:10653000BF92CF92DF92EF92FF920F931F93CF9370 -:10654000DF93EC015B016A018B81811103C08FEF46 -:106550009FEFC7C0898180FFFACF49895A896B892B -:106560007C8988859985AA85BB852601612C712C3B -:106570008A019B01081B190B2A0B3B0B4016510685 -:106580006206730618F06A01C81AD90A76013E013C -:1065900024E0620E711CE114F10409F476C0488510 -:1065A00059856A857B854A0181E098222B811A01F1 -:1065B0002B01E9E05694479437942794EA95D1F754 -:1065C000898D9A8DFC01223049F4628D738D848D02 -:1065D000958D620D731D841D951D3CC01481115055 -:1065E000122181149104C1F4111116C0452B462BC0 -:1065F000472B49F48D899E89AF89B88D8C839D8303 -:10660000AE83BF8309C04C815D816E817F81930120 -:1066100021D7882309F49BCFE98DFA8D6C817D8188 -:106620008E819F816250710981099109058404C09E -:10663000660F771F881F991F0A94D2F72685378522 -:1066400040895189620F731F841F951F610F711D4F -:10665000811D911D20E032E02819390987012E158E -:106660003F0508F489010115F2E01F0769F5209143 -:10667000D7103091D8104091D9105091DA1062178C -:1066800073078407950719F41FC0C6012AC0950136 -:10669000AB01BC018091D50E9091D60E0E94216273 -:1066A000882309F454CFA00EB11E88859985AA8548 -:1066B000BB85800F911FA11DB11D88879987AA876F -:1066C000BB87E01AF10A67CF40E08CD6882309F433 -:1066D0003ECFB4016952714FA801C5010F94E40E79 -:1066E000E2CFDF91CF911F910F91FF90EF90DF905C -:1066F000CF90BF90AF909F908F907F906F905F9062 -:106700004F903F902F900895CF93DF931F92CDB776 -:10671000DEB741E050E0BE016F5F7F4F00DF0197C1 -:1067200019F4898190E002C08FEF9FEF0F90DF9105 -:10673000CF910895CF92DF92EF92FF920F931F9324 -:10674000CF93DF936C01EB017A01FC0183818230EE -:1067500060F000851185228533850F71112722276E -:106760003327012B022B032B11F08FEF5CC0411557 -:10677000510511F0F70110821DE040E250E0BE012A -:10678000C601CDDE8032910539F021E0892B09F474 -:1067900020E0822F819547C028812223C1F0253E29 -:1067A00061F32E3251F33B853F733F3061F4E114C6 -:1067B000F10449F04A8D5B8D452B29F42F713FEF91 -:1067C000320F343030F02B8523FDD7CF2CC080E042 -:1067D0002AC030E021503109129FC001139F900D53 -:1067E0001124F701E80FF91F298120832B812183D0 -:1067F0002D8122832F812383298524832E85258340 -:10680000288926832A8927832C8920872E89218716 -:10681000288D22872C8D23872E8D2487288126FF83 -:10682000D2CF1586D0CFDF91CF911F910F91FF90DE -:10683000EF90DF90CF9008951F93CF93DF93EC01FB -:106840008B81823018F480E090E023C04885598520 -:106850006A857B85A5E07695679557954795AA95B6 -:10686000D1F7142F1F70CE014FDF97FDECCF488575 -:1068700059856A857B85415E5F4F6F4F7F4F4887A3 -:1068800059876A877B8720E2129FC00111248952B1 -:10689000914FDF91CF911F9108954F925F926F9228 -:1068A0007F92AF92BF92CF92DF92EF92FF920F93BF -:1068B0001F93CF93DF93EC016A017B012B8122238D -:1068C00049F089899A89AB89BC8984179507A607FD -:1068D000B70710F480E06BC0223009F463C0C11424 -:1068E000D104E104F10449F41C821D821E821F823E -:1068F000188619861A861B8659C088859985AA85A7 -:10690000BB85E98DFA8DE585F0E03996AC01BD01D6 -:1069100041505109610971090E2E04C076956795A1 -:10692000579547950A94D2F79701860101501109AE -:106930002109310904C03695279517950795EA95E1 -:10694000D2F7041715072607370720F0892B8A2B63 -:106950008B2B49F48D899E89AF89B88D8C839D835B -:10696000AE83BF8304C0041B150B260B370B280115 -:1069700039015E0184E0A80EB11C41145104610488 -:10698000710481F04C815D816E817F819501898DDB -:106990009A8D60D591E0491A5108610871088111FA -:1069A000ECCF05C0C886D986EA86FB8681E0DF91F8 -:1069B000CF911F910F91FF90EF90DF90CF90BF90FC -:1069C000AF907F906F905F904F9008950F931F93BB -:1069D000CF93DF93EC018B818823D1F1898187FFED -:1069E00032C061E0CE01B6DC8C01009789F1FC0178 -:1069F0008081853E69F18B81823040F449895A89D2 -:106A00006B897C89448F558F668F778F4D895E891E -:106A10006F89788DF801538F428F758B648BE0916D -:106A2000CE0EF091CF0E309759F0B8016A5E7F4FCD -:106A3000C80148961995F801808D918D938B828BB2 -:106A400089818F778983DF91CF911F910F918AC4BC -:106A500081E0888380E0DF91CF911F910F910895AD -:106A6000CF93DF93EC01B2DF1B82DF91CF910895CA -:106A7000FC0123812111F4CF08954F925F926F9210 -:106A80007F92AF92BF92CF92DF92EF92FF920F93DD -:106A90001F93CF93DF9300D01F92CDB7DEB75C0179 -:106AA0006A017B01FC0183818130E9F4818181FFEE -:106AB0001AC0F50181899289A389B4898417950741 -:106AC000A607B70780F0892B8A2B8B2B09F472C09D -:106AD000F5014084518462847384B701A601C50125 -:106AE000DCDE811102C080E066C0F501818D928DEF -:106AF000C114D104E104F10469F445895689678918 -:106B0000708D25D7882379F3F501158A168A178A9F -:106B1000108E37C0F50144815581668177819E01D1 -:106B20002F5F3F4F97D48823F1F249815A816B81BF -:106B30007C81F501818D928DFC012789203139F40A -:106B4000483FFFEF5F0761057105D8F407C0483F74 -:106B50002FEF520762072FE0720798F4F8D68823C8 -:106B600009F4C1CFF50144815581668177810FEF2A -:106B70001FEF2FEF3FE0818D928D51D5882309F4CF -:106B8000B2CFF501C18AD28AE38AF48A8181806812 -:106B90008183C5011BDF882309F4A5CFB701A601B6 -:106BA0004C145D046E047F0410F4B301A201C5010E -:106BB00074DE01C081E00F900F900F900F90DF9175 -:106BC000CF911F910F91FF90EF90DF90CF90BF90EA -:106BD000AF907F906F905F904F900895FF920F93CA -:106BE0001F93CF93DF93EC01F42E80E2689FF001B6 -:106BF0001124E952F14F8385817121F0842F827134 -:106C000009F04EC08091D7109091D810A091D91062 -:106C1000B091DA108C879D87AE87BF87688B4489D7 -:106C2000558960E070E0BA0155274427028D138D25 -:106C300020E030E0402B512B622B732B4D8B5E8B71 -:106C40006F8B788F8385887151F4048D158D268D17 -:106C5000378D098B1A8B2B8B3C8B81E00BC08031DD -:106C6000F9F49E012F5E3F4F898D9A8D72D488234F -:106C7000B9F084E08B838F2D8F7089831C821D82F5 -:106C80001E821F82188619861A861B86F4FE0BC088 -:106C900040E050E0BA01CE01F0DE811104C011C025 -:106CA0001B8280E00EC0F5FE0BC049895A896B89B2 -:106CB0007C89CE01DF91CF911F910F91FF90EDCD97 -:106CC00081E0DF91CF911F910F91FF900895AF92D6 -:106CD000BF92CF92DF92EF92FF920F931F93CF93C9 -:106CE000DF937C01EB016A01B22E898D9A8DF70149 -:106CF000928F818F40E050E0BA01CE01CEDDA12C11 -:106D0000088519852A853B8589899A89AB89BC893B -:106D1000081719072A073B07A0F585E03695279540 -:106D2000179507958A95D1F70F70CE0185DD0097ED -:106D300009F481C0FC012081222311F0253EB9F421 -:106D4000A1100EC04091D7105091D8106091D91069 -:106D50007091DA10F7014487558766877787008B33 -:106D6000FC018081AA24A3948111CACF0AC04BE000 -:106D700050E0BC01C6010F94D70E892B09F0C0CF9B -:106D800058C08B2D8274823409F055C0AA2049F076 -:106D9000F701008961E0C701DDDAEC01009769F4D1 -:106DA0004AC08B81823009F446C0CE014BDA882379 -:106DB00009F441C0C7EDDEE000E080E2FE0111927F -:106DC0008A95E9F78BE0F601DE0101900D928A9534 -:106DD000E1F7E091CE0EF091CF0E309739F0BE0181 -:106DE000625F7F4FCE014096199508C081E298E21C -:106DF000998B888B80E098E09F878E878889998916 -:106E00009B8B8A8B998F888F8E859F859F8B8E8B8E -:106E1000A9D2882381F04B2D602FC701DF91CF913C -:106E20001F910F91FF90EF90DF90CF90BF90AF90A8 -:106E3000D5CEB7FEF0CF80E0DF91CF911F910F91BB -:106E4000FF90EF90DF90CF90BF90AF9008953F926A -:106E50004F925F926F927F928F929F92AF92BF926A -:106E6000CF92DF92EF92FF920F931F93CF93DF9316 -:106E7000CDB7DEB7C354D1090FB6F894DEBF0FBE4D -:106E8000CDBF5C016B0124965FAF4EAF2497522EAD -:106E90001C8E1F8E19821C826115710511F410E081 -:106EA00073C0FC0183818111FACF2496EEADFFAD52 -:106EB000249780818F3211F076011DC02496EEADAB -:106EC000FFAD249780818F3231F431962496FFAF45 -:106ED000EEAF2497F3CFF60183818250823060F3C6 -:106EE000F601618D728DCE010196C7DA8823B9F261 -:106EF000CE0101967C018E01045E1F4F3801FE0118 -:106F000031964F01402E312E19C08823A9F121E07E -:106F1000AE01495C5F4FB701C801D9DE882309F48F -:106F2000BECFEC14FD0411F0C7019ADD061517055C -:106F300001F1942D832D7801092F182FAE014E5B9E -:106F40005F4FBE01695C7F4F24968EAD9FAD249745 -:106F500055DA882309F4A3CF2496EEADFFAD24972C -:106F600080818F3291F631962496FFAFEEAF249751 -:106F7000F3CF982D892DDFCF252DAE01495C5F4FD2 -:106F8000B701C501A4DE182FCE01019671DDCE0137 -:106F90004C966EDD812FCD5BDF4F0FB6F894DEBFD0 -:106FA0000FBECDBFDF91CF911F910F91FF90EF905A -:106FB000DF90CF90BF90AF909F908F907F906F9019 -:106FC0005F904F903F900895CF93DF93EC0140E0A6 -:106FD00050E0BA0152DD882361F061E0CE01BAD9F8 -:106FE000009739F025EEFC0120831B82DF91CF91C1 -:106FF000B9C180E0DF91CF9108951F93CF93DF93C4 -:10700000CDB7DEB76B970FB6F894DEBF0FBECDBF1E -:10701000AB0119821C8222E0BC01CE01019617DF70 -:10702000182F882321F0CE010196CEDF182FCE0134 -:1070300001961EDD812F6B960FB6F894DEBF0FBE52 -:10704000CDBFDF91CF911F9108952F923F924F9224 -:107050005F926F927F928F929F92AF92BF92CF92E8 -:10706000DF92EF92FF920F931F93CF93DF9300D0A5 -:107070001F921F92CDB7DEB78C015B013A01DC0194 -:1070800013968C9113978130C1F411968C9181FFE6 -:1070900014C082FF18C0F80141895289638974893C -:1070A00080859185A285B38584179507A607B707C4 -:1070B00051F0C801F2DB811106C081E0F801808344 -:1070C0008FEF9FEF37C1630183C0D80159968D912F -:1070D0009C915A97FC01F481F1501A012B0169E04F -:1070E00056944794379427946A95D1F7F221FD83FB -:1070F0004A0121E09222FF2309F476C080E092E069 -:107100008819990976018C159D0508F47C01D80130 -:107110005996ED91FC915A9714962D903D904D9073 -:107120005C901797B2E02B1A31084108510805848A -:1071300004C0220C331C441C551C0A94D2F78685CB -:107140009785A089B189280E391E4A1E5B1EED81E4 -:107150002E0E311C411C511CE114F2E0FF0609F017 -:1071600089C08091D7109091D810A091D910B0917A -:10717000DA1082159305A405B50569F41092D40EB2 -:107180008FEF9FEFDC018093D7109093D810A093DE -:10719000D910B093DA109501B201A1018091D50EFA -:1071A0009091D60E0E949662882309F486CFF8014A -:1071B00080859185A285B3858E0D9F1DA11DB11D72 -:1071C00080879187A287B387AE0CBF1CCE18DF08DB -:1071D000D80118964D915D916D917C911B97C114CA -:1071E000D10409F072CF7AC08114910409F086CFDE -:1071F00014964D915D916D917C91179741155105B4 -:107200006105710559F455968D919D910D90BC9134 -:10721000A02D0097A105B10539F520C09E012F5F73 -:107220003F4F18D1882309F448CF89819A81AB81D7 -:10723000BC81F801218D328DF9012789203139F483 -:10724000883FFFEF9F07A105B10540F40DC0883FBF -:107250002FEF9207A2072FE0B20730F0C8010E947B -:10726000FC3081114BCF29CFF80184839583A6830D -:10727000B78344CF8114910411F5D80118964D912C -:107280005D916D917C911B9751968D919D910D9083 -:10729000BC91A02D481759076A077B0780F062D080 -:1072A000882309F40ACF81E08093D40E2092D7106E -:1072B0003092D8104092D9105092DA1007C041E0B5 -:1072C000C201B1018FD0882309F4F7CEA701B5011F -:1072D000C4018952914F0F94E40E69CF51968D915C -:1072E0009D910D90BC91A02DF801218184179507E7 -:1072F000A607B70738F4418B528B638B748B2068D9 -:1073000021830CC08091CE0E9091CF0E892B31F04D -:107310006114710419F02068F8012183D8011196D5 -:107320008C9183FD02C0C30105C0C8014FDB8111F0 -:10733000FACFC3CE0F900F900F900F900F90DF9168 -:10734000CF911F910F91FF90EF90DF90CF90BF9062 -:10735000AF909F908F907F906F905F904F903F90F5 -:107360002F900895CF938091D40E8823B9F1409146 -:10737000D7105091D8106091D9107091DA1027ED84 -:107380003EE08091D50E9091D60E0E949662C82F55 -:10739000811102C0C0E023C04091D00E5091D10EA7 -:1073A0006091D20E7091D30E4115510561057105A2 -:1073B00091F027ED3EE08091D50E9091D60E0E947F -:1073C0009662882339F31092D00E1092D10E10924B -:1073D000D20E1092D30E1092D40E01C0C1E08C2FA9 -:1073E000CF910895CF92DF92EF92FF92CF936B01EE -:1073F0007C01C42F8091D7109091D810A091D91002 -:10740000B091DA108C159D05AE05BF05C9F0AADF55 -:10741000811102C080E018C027ED3EE0B701A6014F -:107420008091D50E9091D60E0E942162882391F30F -:10743000C092D710D092D810E092D910F092DA1002 -:1074400081E0C1118093D40ECF91FF90EF90DF9037 -:10745000CF9008958F929F92AF92BF92CF92DF927A -:10746000EF92FF920F931F93CF93DF93EC016A018A -:107470007B01890189859A85AB85BC850196A11D13 -:10748000B11D84179507A607B70710F480E054C014 -:107490008F89803129F49927872F762F652F0BC08C -:1074A0008032A1F7CB01BA0127E0969587957795B1 -:1074B00067952A95D1F78B889C88AD88BE88680D22 -:1074C000791D8A1D9B1D8090D7109090D810A09098 -:1074D000D910B090DA10681579058A059B0581F4FA -:1074E0008F89803191F4DD24EE24FF24F601EE0F24 -:1074F000FF1FE952F14F80819181A0E0B0E016C0FA -:1075000040E070DF8111ECCFC1CFE894C7F8DD24F3 -:10751000EE24FF24F601EE0FFF1FEE0FFF1FE952CE -:10752000F14F80819181A281B381BF70F801808386 -:107530009183A283B38381E0DF91CF911F910F915B -:10754000FF90EF90DF90CF90BF90AF909F908F9083 -:1075500008954F925F926F927F92AF92BF92CF92B7 -:10756000DF92EF92FF920F931F93CF93DF9300D0A0 -:107570001F92CDB7DEB78C0149835A836B837C831E -:107580005901C12CD12C7601412C42E0542E612CA2 -:10759000712C49815A816B817C819E012F5F3F4F05 -:1075A000C80158DF882341F1D301C201F8010584E5 -:1075B00004C0880F991FAA1FBB1F0A94D2F7C80ED8 -:1075C000D91EEA1EFB1E49815A816B817C81878905 -:1075D000803139F481E0483F5F4F6105710538F42F -:1075E000D8CF81E0483F5F4F6F4F7F4090F2F50169 -:1075F000C082D182E282F3820F900F900F900F90A1 -:10760000DF91CF911F910F91FF90EF90DF90CF907E -:10761000BF90AF907F906F905F904F9008954F9282 -:107620005F926F927F928F929F92AF92BF92CF9212 -:10763000DF92EF92FF920F931F93CF93DF93EC01B2 -:107640004A015B012801390142305105610571058C -:1076500008F462C049855A856B857C854F5F5F4F12 -:107660006F4F7F4F481559056A057B0508F454C0D4 -:107670008F89803129F4FF24EB2CDA2CC92C0CC023 -:10768000803209F049C07501640177E0F694E7940F -:10769000D794C7947A95D1F74B895C896D897E8997 -:1076A000C40ED51EE61EF71E41E0C701B6019ADEE4 -:1076B000882391F19F89903159F49924AA24BB24FD -:1076C000F401EE0FFF1FE952F14F5182408210C0CA -:1076D000E89487F89924AA24BB24F401EE0FFF1F35 -:1076E000EE0FFF1FE952F14F408251826282738296 -:1076F0009A89923090F04D815E816F8178854C0D32 -:107700005D1D6E1D7F1D4093D00E5093D10E609372 -:10771000D20E7093D30E01C080E0DF91CF911F9104 -:107720000F91FF90EF90DF90CF90BF90AF909F9020 -:107730008F907F906F905F904F9008952F923F921F -:107740004F925F926F927F928F929F92AF92BF9271 -:10775000CF92DF92EF92FF920F931F93CF93DF931D -:10776000CDB7DEB72F970FB6F894DEBF0FBECDBFF3 -:107770001C014C875D876E877F873B872A87DC01EA -:1077800019960D911D912D913C911C970F5F1F4FE4 -:107790002F4F3F4F0D831E832F833887EA85FB854C -:1077A00080809180A280B38081149104A104B104EF -:1077B00031F0FFEF8F1A9F0AAF0ABF0A10C0DC0139 -:1077C0008D909D90AD90BC90B1E0B9870C851D85E2 -:1077D0002E853F85013011052105310509F01986F7 -:1077E00075016401412C512C3201F1018185928592 -:1077F000A385B485481659066A067B0608F04EC074 -:107800000D811E812F8138850C151D052E053F0524 -:1078100050F4F2E0CF2ED12CE12CF12CA2E08A2EF4 -:10782000912CA12CB12C9E012F5F3F4FB701A601D7 -:10783000C10110DE882391F149815A816B817C81DD -:10784000D701C6010196A11DB11D452B462B472B23 -:1078500019F04C015D010FC0AC01BD014819590977 -:107860006A097B090C851D852E853F8540175107C8 -:107870006207730741F01FEF411A510A610A710A4A -:107880006C017D01B2CF0FEF1FEF2FEF3FE0B7018B -:10789000A601C101C4DE8D83811113C01D823DC0CC -:1078A0002601370121E0421A510861087108970149 -:1078B0008601B301A201C101B2DE882379F373010D -:1078C00062018C149D04AE04BF0450F3AA85BB85ED -:1078D0004D915D916D917C91411551056105710549 -:1078E000A9F4EA85FB8580829182A282B382F98520 -:1078F000FF2399F00FEF801A900AA00AB00AD10175 -:107900008D929D92AD92BC92139707C09501840110 -:10791000C10185DE8111E5CFC1CF8D812F960FB6D4 -:10792000F894DEBF0FBECDBFDF91CF911F910F91B5 -:10793000FF90EF90DF90CF90BF90AF909F908F908F -:107940007F906F905F904F903F902F900895AF92EF -:10795000BF92CF92DF92EF92FF920F931F93CF933C -:10796000DF9300D01F92CDB7DEB75C016A017B01C7 -:1079700082E090E0A0E0B0E0F50180839183A283F3 -:10798000B3839E012F5F3F4FB701A601C50162DDA2 -:10799000811102C080E023C000E010E09801B7012F -:1079A000A601C5013CDE8823A9F3C980DA80EB80FB -:1079B000FC80F5018789803149F481E0F8EFCF162A -:1079C000FFEFDF06E104F10450F4DBCF81E098EF34 -:1079D000C9169FEFD906E9069FE0F90690F20F90CD -:1079E0000F900F900F90DF91CF911F910F91FF900B -:1079F000EF90DF90CF90BF90AF9008957F928F92DD -:107A00009F92AF92BF92CF92DF92EF92FF920F932D -:107A10001F93CF93DF93EC01142F7093D60E6093D6 -:107A2000D50E1F8A82E090E0A0E0B0E088839983C1 -:107A3000AA83BB831092D40E1092D00E1092D10E56 -:107A40001092D20E1092D30E8FEF9FEFDC01809335 -:107A5000D7109093D810A093D910B093DA10442384 -:107A600049F1453008F0DEC040E060E070E0CB0155 -:107A7000B9DC882309F4D6C020E1129FF00111245B -:107A8000EB57FF4E80818F7709F0CCC084859585B8 -:107A9000A685B78584369105A105B10508F4C2C055 -:107AA000C084D184E284F384C114D104E104F104DC -:107AB00021F4B8C0C12CD12C760140E0C701B60139 -:107AC00091DC782E882309F4ADC08091E20E90916C -:107AD000E30E8115924009F0A5C03091E70E3323E3 -:107AE00009F4A0C08091E50E9091E60E892B09F46F -:107AF00099C02091E40E222309F494C03A8B2C8380 -:107B00001D8630E041E050E06D85062FCA01062E4B -:107B100002C0880F991F0A94E2F72817390731F03D -:107B200081E0860F8D87683078F37CC02091ED0E60 -:107B30003091EE0E2115310519F040E050E008C0FB -:107B40002091FB0E3091FC0E4091FD0E5091FE0EE7 -:107B50002D833E834F8358878091E50E9091E60EEA -:107B600046015701880E991EA11CB11C8B8A9C8A64 -:107B7000AD8ABE8AE091E80EF091E90EF98FE88FA8 -:107B8000A091E70EB0E00F94A309680D791D8A1D3E -:107B90009B1D6A8F7B8F8C8F9D8FB5E0EE0FFF1F33 -:107BA000BA95E1F7E150FE4FEF2FFF27E695DC0194 -:107BB000CB018E0F9F1FA11DB11D8E879F87A88BA4 -:107BC000B98B8090EA0E9090EB0E8114910419F01D -:107BD000A12CB12C08C08090F70E9090F80EA090C8 -:107BE000F90EB090FA0EA7019601281B390B4A0B2B -:107BF0005B0BDA01C901880D991DAA1DBB1D04C0CC -:107C0000B695A795979587950A95D2F789879A870C -:107C1000AB87BC87853F3FE09307A105B10520F402 -:107C20008CE08F8B712C15C0853F9F4FA105B1054E -:107C300010F480E10DC08091030F9091040FA0918A -:107C4000050FB091060F8A8F9B8FAC8FBD8F80E29E -:107C50008F8B872DDF91CF911F910F91FF90EF9028 -:107C6000DF90CF90BF90AF909F908F907F900895BE -:107C70004F925F926F927F928F929F92AF92BF923C -:107C8000CF92DF92EF92FF920F931F93CF93DF93E8 -:107C90002C0127E034E081E090E0F9014591549116 -:107CA000441655060CF062C0AC0141505109DA018E -:107CB000AA0FBB1FAA0FBB1FAB5FBB4FFD01659196 -:107CC0007491440F551F440F551F4D5F5B4FFA01D0 -:107CD00065907490FC01EE0FFF1FEE0FFF1FEB5F2E -:107CE000FB4FA590B490FD0105911491F901C59148 -:107CF000D491FA0185909490882777FD8095982FEC -:107D00000F941D066B017C01B20166197709882763 -:107D100077FD8095982F0F941D062B013C01B5012E -:107D2000601B710B882777FD8095982F0F941D0697 -:107D30009B01AC01C301B2010F9450082B013C011F -:107D4000BE0168197909882777FD8095982F0F94CF -:107D50001D069B01AC01C301B2010F9482059B017A -:107D6000AC01C701B6010F94A20411C001962C5FAB -:107D70003F4F8D33910509F090CFE5EFF4E0659129 -:107D80007491882777FD8095982F0F941D066B01BD -:107D90007C0120E030E040E252E4C701B6010F94DC -:107DA0007E0787FD1BC020E030E048E452E4C701B5 -:107DB000B6010F947B0518168CF020E030E040E20D -:107DC00052E4C701B6010F94A10420E030E040E086 -:107DD0005FE30F9450089B01AC013FC020E030E00E -:107DE00048E452E4C701B6010F947E0718163CF52B -:107DF00020E030E048EC52E4C701B6010F947B0567 -:107E00001816ECF020E030E040EA50E4C701B6017B -:107E10000F94A2044B015C0120E030E048E452E4FE -:107E2000C701B6010F94A1042DEC3CEC4CEC5DE3D2 -:107E30000F9450089B01AC01C501B40110C020E0B3 -:107E400030E048EC52E4C701B6010F947E071816E3 -:107E500054F420E030E040E251E4C701B6010F9451 -:107E6000A2046B017C01C701B601DF91CF911F9184 -:107E70000F91FF90EF90DF90CF90BF90AF909F90C9 -:107E80008F907F906F905F904F9008954F925F9288 -:107E90006F927F928F929F92AF92BF92CF92DF921A -:107EA000EF92FF920F931F93CF93DF932C016623E2 -:107EB00071F1E5E5F3E58491882341F09091C000EC -:107EC00095FFFCCF8093C6003196F5CF70E04AE075 -:107ED00050E08BE397E10E94C1DAECE6F2E0849196 -:107EE000882341F09091C00095FFFCCF8093C6009D -:107EF0003196F5CF8091C00085FFFCCF8AE080935A -:107F0000C6000E94736F60E070E0CB017EC027E87E -:107F100033E081E090E0F901459154914416550613 -:107F20000CF062C0AC0141505109DA01AA0FBB1F2D -:107F3000AA0FBB1FAB57BC4FFD0165917491440F55 -:107F4000551F440F551F4D575C4FFA0165907490B3 -:107F5000FC01EE0FFF1FEE0FFF1FEB57FC4FA5902C -:107F6000B490FD0105911491F901C591D491FA01E4 -:107F700085909490882777FD8095982F0F941D0603 -:107F80006B017C01B20166197709882777FD80951E -:107F9000982F0F941D062B013C01B501601B710B3E -:107FA000882777FD8095982F0F941D069B01AC01C3 -:107FB000C301B2010F9450082B013C01BE016819A6 -:107FC0007909882777FD8095982F0F941D069B01CE -:107FD000AC01C301B2010F9482059B01AC01C70142 -:107FE000B6010F94A20411C001962C5F3F4F80325E -:107FF000910509F090CFE1E0F4E065917491882754 -:1080000077FD8095982F0F941D06DF91CF911F91DA -:108010000F91FF90EF90DF90CF90BF90AF909F9027 -:108020008F907F906F905F904F90089560E0809167 -:108030004C1190914D112ADF6093481170934911B2 -:1080400080934A1190934B11809146119091471162 -:108050000FDE60934211709343118093441190930B -:1080600045118FB7F89410923A118FBF089520915F -:10807000200230912102409122025091230260E0BF -:1080800070E08FE793E40F94820560931A11709368 -:108090001B1180931C1190931D112091100230919F -:1080A0001102409112025091130260E070E08FE7DC -:1080B00093E40F9482056093F9107093FA10809303 -:1080C000FB109093FC10089597FF03C0809141111D -:1080D00004C0FC01E850FF4E808190E00895CF93EA -:1080E000DF93D82FC62FC19561E00E94E8FD6C2F69 -:1080F0008D2F0E9421FE6C2F70E08D2FDF91CF918C -:108100000C94DEFCCF93C1E020E030E048E452E480 -:10811000609148117091491180914A1190914B11D1 -:108120000F947E0718160CF0C0E06C2F88E090E0EA -:10813000CF91D5CFCF93DF9310921E1110921F11C4 -:1081400010922011109221112091200230912102D1 -:10815000409122025091230260E070E08FE793E4A7 -:108160000F94820560931A1170931B1180931C1158 -:1081700090931D111092FD101092FE101092FF109E -:1081800010920011209110023091110240911202C0 -:108190005091130260E070E08FE793E40F94820542 -:1081A0006093F9107093FA108093FB109093FC1079 -:1081B0006D9A809101018061809301019D9A809167 -:1081C000010188608093010187ED80937A0010920D -:1081D0007E0010927D0080917E00816080937E0001 -:1081E00080917E00826080937E0080917E0084601A -:1081F00080937E0080E888BD80916E0084608093CB -:108200006E006AEF70E080E090E00E94F7FE8FE081 -:1082100090E09093F1108093F01060E080910A025A -:1082200090910B0233DE20E030E040E751E40F9400 -:108230007B0587FF0AC080910A0290910B0240974C -:1082400090930B0280930A02E8CF81E391E0909330 -:1082500009028093080260E08091F2109091F3107F -:1082600015DE20E030E848E953E40F947E07181645 -:1082700054F48091F2109091F31040969093F31083 -:108280008093F210E8CFC091EE10D091EF10CE01A4 -:10829000EFDC20E030E046E153E40F947E0718164F -:1082A00034F46096D093EF10C093EE10ECCFDF91D2 -:1082B000CF9108950895109251111092501110927B -:1082C0004F1110924E111092F810759810924F1194 -:1082D00010924E1110924111A59808952F923F923D -:1082E0004F925F926F927F928F929F92AF92BF92C6 -:1082F000CF92DF92EF92FF920F931F93CF93DF9372 -:10830000CDB7DEB7AE970FB6F894DEBF0FBECDBFC8 -:108310006B8F7C8F8D8F292E5A8749873CA72BA77F -:108320000E94C8FE6F8F78A389A39AA30E94C8FEFB -:108330006FA378A789A79AA729853A8512161306ED -:108340001CF0ECE1FDE017C0EFE2FDE08191882335 -:1083500039F09091C00095FFFCCF8093C600F6CF16 -:108360008091C00085FFFCCF1BC29091C00095FF9B -:10837000FCCF8093C60081918111F7CF8091C0001E -:1083800085FFFCCF8AE08093C60095DF49855A853A -:108390008FE7452B99F1809341118F8D98A1A9A169 -:1083A000BAA1898B9A8BAB8BBC8B8D879E87AF874D -:1083B000B88B1D8290E4988FACE1A98FB6E4BA8F98 -:1083C0001DA61D8A1E8A1F8A2FE730E040E050E07C -:1083D00029833A834B835C83EFE74E2E512C612C2B -:1083E000712C1BA21CA21DA21EA231E03E8F1C8676 -:1083F0001B86312C00E010E01EA605C08093F8100B -:10840000CCCF0E9404AE80913A11882309F4F6C0C3 -:108410000DDE49855A85452B51F03090421100916F -:10842000431110914411509145115EA709C030903D -:1084300048110091491110914A1180914B118EA75A -:10844000232D302F412F5EA56DA57D898E899F89B3 -:108450000F947E0718162CF03DA60D8B1E8B9EA543 -:108460009F8B232D302F412F5EA56D81788D898DB7 -:108470009A8D0F947B0587FD05C03D82088F198F6B -:10848000AEA5AA8F0E94C8FE2FA138A549A55AA55E -:10849000621B730B840B950B653C7940810591053C -:1084A00038F030DE0E94C8FE6FA378A789A79AA78C -:1084B0004E8D442309F44FC02B8D3C8D4D8D522D94 -:1084C000632D702F812F9EA50F947E0718160CF038 -:1084D00095C00E94C8FE29893A894B895C89621B34 -:1084E000730B840B950B693873418105910508F472 -:1084F00085C0D301C20129813A814B815C81821BF5 -:10850000930BA40BB50B49855A85B595A7959795FF -:108510008795452B19F08093411102C08093F81084 -:108520000E94C8FE6D877E878F87988BDC01CB0108 -:1085300029893A894B895C89821B930BA40BB50B63 -:108540008BA39CA3ADA3BEA33B8D3DA74C8D4D8BB0 -:108550005D8D5E8B2F8A2B8D3C8D4D8D522D632D25 -:10856000702F812F9EA50F947B0587FFEEC20E947E -:10857000C8FE2D853E854F855889621B730B840B81 -:10858000950B693873418105910508F4DEC20E949C -:10859000C8FE698B7A8B8B8B9C8BDC01CB012D8584 -:1085A0003E854F855889821B930BA40BB50B4B85D9 -:1085B0005C85452B09F010C189819A81AB81BC8112 -:1085C000840D951DA61DB71D29853A85B595A795DE -:1085D00097958795232B09F4B5C2809341114B855C -:1085E0005C854F5F5F4F5C874B875B8D5D838C8DB8 -:1085F000888F9D8D998F2A8EA1E0AE8F20E030E08C -:1086000040EA51E46B8D7C8D8D8D922D0F94A204E8 -:108610009B01AC01632D702F812F9EA50F947E07C7 -:10862000181694F4E2E1F3E08491882341F09091EC -:10863000C00095FFFCCF8093C6003196F5CF8091A6 -:10864000C00085FFFCCFACC00E94C8FE2F8D38A1B2 -:1086500049A15AA1621B730B840B950B613D7740B6 -:108660008105910508F44FC049855A85452B81F055 -:10867000E0904111F12CECE0F3E084918823C1F00B -:108680009091C00095FFFCCF8093C6003196F5CF46 -:10869000E090F810F12CE6E0F3E08491882341F0BB -:1086A0009091C00095FFFCCF8093C6003196F5CF26 -:1086B00022E030E0432D502F612F7EA58BE397E120 -:1086C0000E9497DBE2E0F3E08491882341F09091EF -:1086D000C00095FFFCCF8093C6003196F5CF4AE0ED -:1086E00050E0B7018BE397E10E94C1DA8091C000AE -:1086F00085FFFCCF8AE08093C6000E94C8FE6F8F82 -:1087000078A389A39AA30E94C8FE6B017C010E94F2 -:10871000C8FE89889A88AB88BC882D853E854F85A0 -:108720005889820E931EA41EB51EC818D908EA08DF -:10873000FB08C60ED71EE81EF91E31E8C3163FE43B -:10874000D30632E1E306F10490F0E5EEF2E0849125 -:10875000882341F09091C00095FFFCCF8093C60024 -:108760003196F5CF8091C00085FFFCCF19C04B85B5 -:108770005C858BA59CA5841795070CF042CEE9E893 -:10878000F2E08491882341F09091C00095FFFCCFE6 -:108790008093C6003196F5CF8091C00085FFFCCF55 -:1087A0008AE08093C600AE960FB6F894DEBF0FBE87 -:1087B000CDBFDF91CF911F910F91FF90EF90DF9090 -:1087C000CF90BF90AF909F908F907F906F905F9071 -:1087D0004F903F902F9008958BA09CA0ADA0BEA07D -:1087E000880E991EAA1EBB1E2BA13CA14DA15EA105 -:1087F000281B390B4A0B5B0BCA01B90129813A814D -:108800004B815C810F941609A50194010F947B099B -:10881000240D351D461D571D2431310541055105D7 -:1088200004F129013A013CEE43165104610471043C -:108830002CF06BEE462E512C612C712C40E8441626 -:10884000510461047104DCF08EEF90E0A0E0B0E030 -:1088500084199509A609B70989839A83AB83BC83D8 -:1088600012C054E1452E512C612C712C24E130E0D2 -:1088700040E050E029833A834B835C8304C0498203 -:108880005A826B827C82EBE7F3E08491882341F08B -:108890009091C00095FFFCCF8093C6003196F5CF34 -:1088A0002AE030E0B301A2018BE397E10E9496DA5F -:1088B000E6E7F3E08491882341F09091C00095FFB2 -:1088C000FCCF8093C6003196F5CF2AE030E0498195 -:1088D0005A816B817C818BE397E10E9496DAEFE607 -:1088E000F3E08491882341F09091C00095FFFCCF84 -:1088F0008093C6003196F5CF22E030E04D81588D4F -:10890000698D7A8D8BE397E10E9497DBE8E6F3E0CF -:108910008491882341F09091C00095FFFCCF809313 -:10892000C6003196F5CF22E030E04DA55D896E8915 -:108930007F898BE397E10E9497DB8091C00085FFE0 -:10894000FCCF8AE08093C6002B853C85233031051F -:108950000CF432CE69817A818B819C810F941D0643 -:1089600020E030E040E850E40F9450086B017C01B7 -:108970002D81388D498D5A8D6DA57D898E899F8970 -:108980000F94A10420ED3FE049E450E40F94500817 -:1089900020E030E040E05FE30F9450089B01AC0121 -:1089A000C701B6010F9482056B017C01C501B401BA -:1089B0000F941D0620E030E04AE754E40F9482054E -:1089C0004B015C01E2E6F3E08491882341F0909151 -:1089D000C00095FFFCCF8093C6003196F5CF22E012 -:1089E00030E0B701A6018BE397E10E9497DBECE54D -:1089F000F3E08491882341F09091C00095FFFCCF73 -:108A00008093C6003196F5CF22E030E0B501A40195 -:108A10008BE397E10E9497DB8091C00085FFFCCF3C -:108A20008AE08093C6002AE939E949E15FE3C7019A -:108A3000B6010F9450086B017C019B01AC010F94AF -:108A4000A204A50194010F9482056D837E838F8318 -:108A50009887A5019401C701B6010F94500820E042 -:108A600030E040E05EE30F9450084B015C01EEE41F -:108A7000F3E08491882341F09091C00095FFFCCFF2 -:108A80008093C6003196F5CF8091C00085FFFCCF62 -:108A90008AE08093C600E8E4F3E08491882341F003 -:108AA0009091C00095FFFCCF8093C6003196F5CF22 -:108AB00022E030E0B701A6018BE397E10E9497DB4B -:108AC0008091C00085FFFCCF8AE08093C600E2E47D -:108AD000F3E08491882341F09091C00095FFFCCF92 -:108AE0008093C6003196F5CF22E030E04D815E8163 -:108AF0006F8178858BE397E10E9497DB8091C000BE -:108B000085FFFCCF8AE08093C600ECE3F3E084911C -:108B1000882341F09091C00095FFFCCF8093C60060 -:108B20003196F5CF22E030E0B501A4018BE397E167 -:108B30000E9497DB8091C00085FFFCCF8AE0809384 -:108B4000C6003ACD8093F8104ACD1E8E57CD81E0F5 -:108B5000809378130E949BE48091D013882339F08E -:108B60001092D01360E08EEC93E10E94C35A8CE522 -:108B700092E00E9462AD9FDB179A10928E13169AB4 -:108B800010928F13149A56D10E9404AE9FB7F89496 -:108B9000809102018460809302019FBF84EF91E085 -:108BA0000E941BFF9FB7F894809102018B7F8093F6 -:108BB00002019FBF84E690E00C941BFF2F923F922E -:108BC0004F925F926F927F928F929F92AF92BF92DD -:108BD000CF92DF92EF92FF920F931F93CF93DF9389 -:108BE000CDB7DEB728970FB6F894DEBF0FBECDBF66 -:108BF0004C012A013B010D831E832F833887AA2055 -:108C000039F0A12CB12C19821A821B821C820BC054 -:108C10003DE2A32EB12C80E090E0A0E7B1E489838F -:108C20009A83AB83BC830E94C8FE0F941B06840109 -:108C3000000F111F000F111FD801A65ABE4E1D01B3 -:108C40002D913D914D915C910F94A10420E030E075 -:108C50004AEF54E40F947E0718160CF0D2C00E941D -:108C6000C8FE0F941B06F101608371838283938396 -:108C700020E030E0A901C701B6010F947B05811106 -:108C800007C0F401EE0FFF1FEE5AFE4E1182108254 -:108C9000980126593E4E1901A3019201D1016D910F -:108CA0007D918D919C910F947B05882321F120E08B -:108CB00030E0A901C301B2010F947E07F801E65824 -:108CC000FE4E181674F480E090E0A0E8BFE38083C5 -:108CD0009183A283B383F1014082518262827382C5 -:108CE0000AC01082118212821382D1014D925D92CC -:108CF0006D927C921397A30192016D817E818F8189 -:108D000098850F947E0787FD19C0F801E658FE4E3E -:108D10001F0120E030E040E85FE3608171818281E3 -:108D200093810F947B05811109C080E090E0A0E061 -:108D3000B0E4F10180839183A283B38320E030E02B -:108D4000A901C701B6010F947E0718160CF059C08F -:108D500029813A814B815C81C301B2010F94A10446 -:108D60002D813E814F8158850F947B0587FF12C06E -:108D700029813A814B815C81C301B2010F94A20425 -:108D80009B01AC016D817E818F8198850F947B055D -:108D900087FD37C0F801E658FE4E20E030E040E89D -:108DA0005FE360817181828193810F947E07181641 -:108DB00044F5F401EE0FFF1FEE5AFE4E80819181C3 -:108DC000019691838083880F991FA816B906CCF469 -:108DD00028960FB6F894DEBF0FBECDBFDF91CF91BE -:108DE0001F910F91FF90EF90DF90CF90BF90AF90C9 -:108DF0009F908F907F906F905F904F903F902F90BB -:108E0000A6CE28960FB6F894DEBF0FBECDBFDF9179 -:108E1000CF911F910F91FF90EF90DF90CF90BF9077 -:108E2000AF909F908F907F906F905F904F903F900A -:108E30002F9008952F923F924F925F926F927F9260 -:108E40008F929F92AF92BF92CF92DF92EF92FF925A -:108E50000F931F93CF93DF93CDB7DEB728970FB64D -:108E6000F894DEBF0FBECDBF80913A11882309F47C -:108E70000AC3DCD86091F81070E080E090E00F94B5 -:108E80001D066B017C014090481150904911609083 -:108E90004A1170904B1160915011709151118827B7 -:108EA00077FD8095982F0F941D06AB01BC01A12C76 -:108EB0009301820181E090E081DE809048119090E2 -:108EC0004911A0904A11B0904B110091501110918E -:108ED0005111B801882777FD8095982F0F941D06B2 -:108EE000A50194010F94A1046B017C0160932211F0 -:108EF00070932311809324119093251120E030E08A -:108F000040E251E40F947E07181624F481E0809328 -:108F10001911F7C020E030E040E251ECC701B60182 -:108F20000F947B0587FD02C0012B21F481E0809323 -:108F300019110CC180911911882351F0109236112A -:108F40001092371110923811109239111092191194 -:108F5000209124023091250240912602509127024F -:108F6000C701B6010F94500869837A838B839C8371 -:108F700060932E1170932F118093301190933111C3 -:108F8000209136113091371140913811509139119B -:108F9000C701B6010F94A2042B013C0120901E11C1 -:108FA00030901F1110912011009121119101412F3A -:108FB000502F0F947B0587FD14C020901A1130901C -:108FC0001B1110911C1100911D119101412F502F67 -:108FD000B201C3010F947E0718161CF01201162D62 -:108FE000072DC101A12FB02F809336119093371117 -:108FF000A0933811B09339112091200230912102B1 -:109000004091220250912302B101812F902F0F94A1 -:1090100050086D837E838F83988760932A117093A5 -:109020002B1180932C1190932D112091321130919E -:1090300033114091341150913511C501B4010F9491 -:10904000A10420911C0230911D0240911E025091FA -:109050001F020F94500820ED3CEC4CE45DE30F94AC -:1090600050082B013C0123E333E343E75FE36091C6 -:1090700026117091271180912811909129110F9438 -:1090800050089B01AC01C301B2010F94A2042B0153 -:109090003C016093261170932711809328119093BF -:1090A00029112D813E814F81588569817A818B817B -:1090B0009C810F94A204A30192010F94A1042B019F -:1090C0003C0120E030E04FE753E40F947E0720E0BE -:1090D00030E0A9011816E4F4C701B6010F947E0729 -:1090E00018167CF4A7019601B101812F902F0F94DF -:1090F000A1046093361170933711809338119093C7 -:109100003911412C512CFFE76F2EF3E47F2E21C043 -:10911000C301B2010F947B0587FF1BC020E030E044 -:10912000A901C701B6010F947B0587FF0FC0A701F6 -:109130009601B101812F902F0F94A10460933611F5 -:10914000709337118093381190933911412C512C21 -:1091500032018092321190923311A0923411B09268 -:1091600035116091F0107091F110882777FD80958E -:10917000982F0F941D069B01AC01C501B4010F94FB -:109180007E071816DCF460910802709109028827A6 -:1091900077FD8095982F0F941D069B01AC01C501AA -:1091A000B4010F947B0587FF09C0C301B2010F947E -:1091B000EA05759567956093F81002C01092F81053 -:1091C0000E94C8FE0091F4101091F5102091F61045 -:1091D0003091F710601B710B820B930B653C79404B -:1091E0008105910560F00E9482400E94C8FE609354 -:1091F000F4107093F5108093F6109093F710809010 -:10920000421190904311A0904411B090451160918B -:109210004E1170914F11882777FD8095982F0F94EC -:109220001D06A50194010F94A1046B017C016093BC -:1092300001117093021180930311909304112091F6 -:1092400014023091150240911602509117020F94AA -:10925000500869837A838B839C8360930D1170938C -:109260000E1180930F1190931011209115113091D0 -:1092700016114091171150911811C701B6010F94A2 -:10928000A2048B011C016090FD107090FE105090A4 -:10929000FF10409000119301452D542D0F947B0534 -:1092A00087FD11C06090F9107090FA105090FB107B -:1092B0004090FC109301452D542DB801C1010F942D -:1092C0007E0718161CF48301252C342CC801D1010B -:1092D0008093151190931611A0931711B093181144 -:1092E000209110023091110240911202509113020C -:1092F000B801C1010F9450086D837E838F839887D6 -:109300006093091170930A1180930B1190930C11C3 -:10931000209111113091121140911311509114119B -:10932000C501B4010F94A10420910C0230910D02EB -:1093300040910E0250910F020F94500820ED3CEC2A -:109340004CE45DE30F9450082B013C0123E333E32D -:1093500043E75FE360910511709106118091071159 -:10936000909108110F9450089B01AC01C301B20108 -:109370000F94A2042B013C01609305117093061118 -:1093800080930711909308118092111190921211FD -:10939000A0921311B09214112D813E814F815885F6 -:1093A00069817A818B819C810F94A204A30192012F -:1093B0000F94A1042B013C0120E030E04FE753E47F -:1093C0000F947E0720E030E0A9011816ACF4C70125 -:1093D000B6010F947E0718166CF5A7019601B80127 -:1093E000C1010F94A104609315117093161180931D -:1093F0001711909318111EC0C301B2010F947B0581 -:1094000087FF22C020E030E0A901C701B6010F9418 -:109410007B0587FF16C0A7019601B801C1010F9413 -:10942000A1046093151170931611809317119093F6 -:10943000181107C0412C512C5FE7652E53E4752E9F -:1094400003C0412C512C320120E030E040E751E4D0 -:10945000C501B4010F947E0718169CF420E030E09B -:1094600046E153E4C501B4010F947B0587FF09C0B1 -:10947000C301B2010F94EA05759567956093411198 -:1094800002C01092411128960FB6F894DEBF0FBEAD -:10949000CDBFDF91CF911F910F91FF90EF90DF90A3 -:1094A000CF90BF90AF909F908F907F906F905F9084 -:1094B0004F903F902F900895CF93C82F0E945B410B -:1094C0000E942870811134C0E5E5F3E59491992359 -:1094D00041F08091C00085FFFCCF9093C60031968B -:1094E000F5CF6C2F70E04AE050E08BE397E10E94EB -:1094F000C1DA8091C00085FFFCCF8AE08093C6006E -:10950000EFE2F2E08491882341F09091C00095FF52 -:10951000FCCF8093C6003196F5CF8091C00085FFC7 -:10952000FCCF8AE08093C60082E292E00E9462ADA6 -:10953000CF910C94D06FCF93C82F0E945B410E94B3 -:109540002870811134C0E5E5F3E59491992341F049 -:109550008091C00085FFFCCF9093C6003196F5CF77 -:109560006C2F70E04AE050E08BE397E10E94C1DA93 -:109570008091C00085FFFCCF8AE08093C600E5EFB4 -:10958000F1E08491882341F09091C00095FFFCCFD9 -:109590008093C6003196F5CF8091C00085FFFCCF47 -:1095A0008AE08093C60088EE91E00E9462ADCF9180 -:1095B0000C94D06FA5980E942870811125C0E5E514 -:1095C000F3E58491882341F09091C00095FFFCCF92 -:1095D0008093C6003196F5CFEFEAF1E084918823BD -:1095E00041F09091C00095FFFCCF8093C60031966A -:1095F000F5CF8091C00085FFFCCF8AE08093C60044 -:109600008EE991E00E9462AD0C94D06F1F920F9290 -:109610000FB60F9211240BB60F920F931F932F9337 -:109620003F934F935F936F937F938F939F93AF93EA -:10963000BF93CF93DF93EF93FF9380910702811144 -:1096400012C08091F8108093ED10882311F0759A64 -:1096500001C07598809141118093EC10882311F01E -:10966000A59A01C0A5989091ED10809107029817D6 -:1096700008F475989091EC1080910702981708F4FF -:10968000A598809107028F5F8F7780930702809162 -:10969000060290E08B30910508F093C0FC01EE5873 -:1096A000FF4F0D94970910927B0080E480937C001B -:1096B00080917A00806480937A000E946BAD81E093 -:1096C00019C020917800309179008091E810909134 -:1096D000E910A091EA10B091EB10820F931FA11D29 -:1096E000B11D8093E8109093E910A093EA10B09315 -:1096F000EB1082E08093060264C010927B0082E44B -:1097000080937C0080917A00806480937A000E942C -:109710006BAD83E0EFCF209178003091790080919C -:10972000E4109091E510A091E610B091E710820F3F -:10973000931FA11DB11D8093E4109093E510A09399 -:10974000E610B093E71084E0D5CF10927B0081E45F -:1097500080937C0080917A00806480937A000E94DC -:109760006BAD85E0C7CF2091780030917900809172 -:10977000E0109091E110A091E210B091E310820FFF -:10978000931FA11DB11D8093E0109093E110A09351 -:10979000E210B093E31086E0ADCF0E946BAD87E09E -:1097A000A9CF88E0A7CF0E946BAD89E0A3CF10922C -:1097B00006028091DF108F5F8093DF1002C010924D -:1097C00006028091DF10803108F463C080913A1165 -:1097D000811110C08091E8109091E91090934D1183 -:1097E00080934C118091E4109091E5109093471173 -:1097F0008093461181E080933A111092DF1010920D -:10980000E8101092E9101092EA101092EB101092EA -:10981000E0101092E1101092E2101092E3101092FA -:10982000DB101092DC101092DD101092DE101092FE -:10983000E4101092E5101092E6101092E7102091BB -:109840004C1130914D118091F2109091F3108217CC -:10985000930714F080E030DE20914C1130914D11CF -:1098600080910A0290910B022817390714F080E0CA -:1098700062DE20914611309147118091EE10909157 -:10988000EF10821793072CF010924F1110924E1187 -:1098900091DE00E010E0E801CC0FDD1FC55CDE4E7C -:1098A000888199811816190644F461E0802F0E947E -:1098B000BDE488819981019709C0892B49F060E056 -:1098C000802F0E94BDE488819981019699838883C5 -:1098D0000F5F1F4F03301105F1F6FF91EF91DF91FC -:1098E000CF91BF91AF919F918F917F916F915F9138 -:1098F0004F913F912F911F910F910F900BBE0F90A1 -:109900000FBE0F901F9018952CEA35EC47E25EE3EE -:109910000D9450082CEA35EC47E25EE30D94820585 -:109920002CEA35EC47E25EE30D9482052CEA35EC37 -:1099300047E25EE30D945008CF93DF93EC0160E0C3 -:109940008E810E9421FE81E090E00E941BFF61E079 -:109950008E810E9421FE81E090E00E941BFF60E06A -:109960008E810E9421FE84E690E0DF91CF910C94DD -:109970001BFFCF92DF92EF92FF920F931F93CF9333 -:10998000DF937C01C0E0D0E0C62ED12C87010C0F04 -:109990001D1F61E0F80187810E94E8FDB6010C2ED1 -:1099A00002C0759567950A94E2F76170F8018781A6 -:1099B0000E9421FE2196C430D10541F7C701DF91F5 -:1099C000CF911F910F91FF90EF90DF90CF90B4CF88 -:1099D000CF92DF92EF92FF920F931F93CF93DF937B -:1099E0007C01C0E0D0E0C62ED12C87010C0F1D1FDA -:1099F00061E0F80187810E94E8FDB6010C2E02C0EB -:109A0000759567950A94E2F76170F80187810E9465 -:109A100021FE2196C830D10541F7C701DF91CF91D2 -:109A20001F910F91FF90EF90DF90CF9085CF1F9304 -:109A3000CF93DF93EC01162F642F8C810E9421FEBF -:109A40008D818F3F19F060E00E9421FE8F85612F8C -:109A500084FF05C0CE01DF91CF911F91B9CF70E097 -:109A600084E0759567958A95E1F7CE0182DF612FD5 -:109A7000CE01DF91CF911F917CCF40E0D8CF61E044 -:109A8000FCDF80E496E00C941BFF62E0F6DF80E4EC -:109A900096E00C941BFFCF93DF93CDB7DEB72897EA -:109AA0000FB6F894DEBF0FBECDBF28E0E7E9FCE0BB -:109AB000DE01119601900D922A95E1F7FC012389B0 -:109AC000421710F04FEF420FFE013196E40FF11DE7 -:109AD000E40FF11D2081260F2068622F28960FB613 -:109AE000F894DEBF0FBECDBFDF91CF91C6CFFC0192 -:109AF0006089262F2460208B6C60BFCFCF93DF93CB -:109B0000EC01423018F08F8588608F874B8B1C8A60 -:109B1000222329F0413019F48F8584608F8780E5F6 -:109B200093EC0E941BFF60E08C810E9421FE60E0AC -:109B30008E810E9421FE8D818F3F19F060E00E948E -:109B400021FE6F8564FD19C063E0CE0112DF84E958 -:109B500091E10E941BFF63E0CE010BDF84E991E1FC -:109B60000E941BFF63E0CE0104DF86E990E00E94C3 -:109B70001BFF62E0CE01FDDE13C06062CE017DDF1F -:109B800084E991E10E941BFF6F856062CE0175DF61 -:109B900086E990E00E941BFF6F856062CE016DDF59 -:109BA0006F856062CE0169DF8CE390E00E941BFF4D -:109BB00084E0888BCE019BDF8CE390E00E941BFF4A -:109BC000CE015DDF88EB9BE00E941BFF82E0898B6A -:109BD00066E0CE0152DF8CE390E0DF91CF910C94F0 -:109BE0001BFF6F927F928F92AF92CF92EF920F9363 -:109BF0001F93CF93DF93CDB7DEB73C01162F842F91 -:109C00005E854F8538899989F3018483258306838E -:109C1000E782C086A18682865387448735879687E8 -:109C200061E00E94E8FDF30185818F3F19F061E05A -:109C30000E94E8FD61E0F30186810E94E8FD1123A6 -:109C400019F0F301178603C080E1F301878720E054 -:109C500041E060E1C301DF91CF911F910F91EF903F -:109C6000CF90AF908F907F906F9048CF8F92AF92B0 -:109C7000CF92EF920F93DC0113961C921E921297D3 -:109C8000EDE5FDE0ED93FC931F921F921F921F9252 -:109C90008C2CAE2CC02EE22E042F2FEF462F61E02D -:109CA000A0DF0F900F900F900F900F91EF90CF903B -:109CB000AF908F900895CF93DF93EC01423018F06E -:109CC0008F8588608F874B8B1C8A222329F0413037 -:109CD00019F48F8584608F8780E593EC0E941BFFC9 -:109CE00060E08C810E9421FE60E08E810E9421FE56 -:109CF0008D818F3F19F060E00E9421FE6F8564FD29 -:109D000019C063E0CE0135DE84E991E10E941BFFBA -:109D100063E0CE012EDE84E991E10E941BFF63E047 -:109D2000CE0127DE86E990E00E941BFF62E0CE01B3 -:109D300020DE13C06062CE01A0DE84E991E10E94C2 -:109D40001BFF6F856062CE0198DE86E990E00E947D -:109D50001BFF6F856062CE0190DE6F856062CE0171 -:109D60008CDE8CE390E00E941BFF84E0888BCE01A8 -:109D7000BEDE8CE390E00E941BFFCE0186DE80E415 -:109D800096E00E941BFF82E0898B66E0CE0175DEC3 -:109D90008CE390E00E941BFF40E068E0CE017BDE98 -:109DA00064E97EE0CE010F94310441E068E0CE0129 -:109DB00072DE64E97EE0CE010F94310442E066E099 -:109DC000CE0169DE62E97EE0CE01DF91CF910D9494 -:109DD0003104CF92DF92EF92FF920F931F93CF93B4 -:109DE000DF931F921F92CDB7DEB78C01677088E0BA -:109DF000689FB00111246064C80149835A833DDE25 -:109E00004981C42E5A81D52EE12CF12CD6016D91B9 -:109E10006D01D801ED91FC910190F081E02DC80118 -:109E20001995BFEFEB1AFB0AE8E0EE16F10471F7A3 -:109E30000F900F90DF91CF911F910F91FF90EF90B6 -:109E4000DF90CF90089541E0F2DD81E090E0089549 -:109E50000F931F93CF93DF93EC018B0144E150E00C -:109E6000BC018AE891E10F94AE0ECE010F948D0EE5 -:109E7000992744E150E0481B590BB80186579E4E84 -:109E80000F94AE0E8AE891E1DF91CF911F910F916F -:109E90000895AF92BF92CF92DF92EF92FF920F930D -:109EA0001F93CF93DF93EC015B017A01690144E1D9 -:109EB00050E0BC018AE891E10F94AE0ECE010F9400 -:109EC0008D0EEC01DD2704E110E0A8014C1B5D0BB9 -:109ED000B501CE0186579E4E0F94AE0EC5010F946C -:109EE0008D0EC80FD91FDD27A8014C1B5D0BB701D4 -:109EF000CE0186579E4E0F94AE0EC7010F948D0E65 -:109F00008C0F9D1F9927A801481B590BB601865736 -:109F10009E4E0F94AE0E8AE891E1DF91CF911F9192 -:109F20000F91FF90EF90DF90CF90BF90AF9008958A -:109F30002F923F924F925F926F927F928F929F9259 -:109F4000AF92BF92CF92DF92EF92FF920F931F9347 -:109F5000CF93DF93CDB7DEB7CF54D1090FB6F894C6 -:109F6000DEBF0FBECDBF1C017E8F6D8F4A012FABB0 -:109F700009AF2896EFAE28972C96ACAEBDAECEAE0C -:109F8000DFAE2C9734E0239F50011124FC01EA0D31 -:109F9000FB1D80819181A281B381898F9A8FAB8FC4 -:109FA000BC8FDA01AA0DBB1DBCAFABAF4D905D906D -:109FB0006D907C90A3019201698D7A8D8B8D9C8D23 -:109FC0000F94A20421966CAF7DAF8EAF9FAF219707 -:109FD000B4E00B9F80011124F101E00FF11F2081FB -:109FE0003181428153812F8F38A349A35AA3A40101 -:109FF000400F511F23965FAF4EAF2397DA01CD90EC -:10A00000DD90ED90FC90A70196016F8D78A189A15C -:10A010009AA10F94A20427966CAF7DAF8EAF9FAF2D -:10A0200027972896EFAD2897B4E0EB9FC001112445 -:10A03000F101E80FF91F20813181428153812BA367 -:10A040003CA34DA35EA3ED8DFE8DE80FF91F60814B -:10A050007181828193810F94A1046FA378A789A74E -:10A060009AA7AD8DBE8D1C968D919D910D90BC9142 -:10A07000A02D60968CAF9DAFAEAFBFAF6097D10102 -:10A080001C962D913D914D915C911F972BA73CA75C -:10A090004DA75EA7A301920150582D8B3E8B4F8B8D -:10A0A000588FD701C601B058898B9A8BAB8BBC8B6C -:10A0B000ED8DFE8DEA0DFB1D2081318142815381A2 -:10A0C0002FA738AB49AB5AAB21962CAD3DAD4EAD69 -:10A0D0005FAD21976FA578A989A99AA90F94A104CA -:10A0E0006B017C01ED8DFE8DE00FF11F8081918170 -:10A0F000A281B3818BAB9CABADABBEAB27962CAD35 -:10A100003DAD4EAD5FAD2797BC01CD010F94A104CD -:10A110004B015C01A70196016D897E898F89988D1D -:10A120000F9450082B013C01A501940169897A899B -:10A130008B899C890F9450089B01AC01C301B2012B -:10A140000F94A2042B013C01A50194016D897E8925 -:10A150008F89988D0F9450084B015C01A7019601DF -:10A1600069897A898B899C890F9450089B01AC017D -:10A17000C501B4010F94A104A30192010F94150528 -:10A180006B017C0120E030E0A9010F947B0587FF83 -:10A190000AC02BED3FE049EC50E4C701B6010F9433 -:10A1A000A2046B017C01AA968FADAA97882351F077 -:10A1B0002BED3FE049EC50E4C701B6010F94A10438 -:10A1C0006B017C012FA538A949A95AA9698D7A8DFF -:10A1D0008B8D9C8D0F947B0581111FC02BA93CA9F1 -:10A1E0004DA95EA96F8D78A189A19AA10F947B05D5 -:10A1F000811113C020E030E0A901C701B6010F941E -:10A200007B0581110AC02BED3FE049EC50E4C7010A -:10A21000B6010F94A2046B017C01A9962CAD3DAD53 -:10A220004EAD5FADA997C701B6010F9450082FA19D -:10A2300038A549A55AA55F770F948B074B015C01A0 -:10A240002FE632E143E85AE30F947B0587FDC8C14E -:10A25000C501B4010F9458060F94EF057A8F698FEA -:10A26000DB01AB2B21F4E1E0F0E0FA8FE98F298DDF -:10A270003A8DB90180E090E00F941B064B015C0120 -:10A280009B01AC01C701B6010F9482052B013C0173 -:10A29000A50194016FA178A589A59AA50F948205BF -:10A2A0006FA778AB89AB9AAB2BA53CA54DA55EA556 -:10A2B00060966CAD7DAD8EAD9FAD60970F94A1049F -:10A2C000A50194010F9482056BAB7CAB8DAB9EAB6B -:10A2D00020E030E040E05FE3C301B2010F9450089A -:10A2E000A30192010F9450089B01AC0160E070E063 -:10A2F00080E89FE30F94A1046FA378A789A79AA78A -:10A30000CE010196FC0128964FAD289734E0439F7B -:10A31000E00DF11D11242BA13CA14DA15EA12083D4 -:10A320003183428353832BA53CA54DA55EA52D8784 -:10A330003E874F87588BB12C41E050E058A34F8F98 -:10A340001C01BFA9A4E0BA9F800D911D112498AFF4 -:10A350008FAB910159AD44E0549F200D311D112464 -:10A360003AAF29AFFCA7EBA74F8D58A1898D9A8DE5 -:10A370004817590708F01AC188E18B150CF444C03E -:10A380002FA138A549A55AA569897A898B899C8905 -:10A390000F9450086B017C01A30192016D897E89A5 -:10A3A0008F89988D0F945008A70196010F94A204ED -:10A3B000A62E172F982E892E2FA138A549A55AA56C -:10A3C0006D897E898F89988D0F9450086B017C016F -:10A3D000A301920169897A898B899C890F9450081D -:10A3E0009B01AC01C701B6010F94A1046D8B7E8B5C -:10A3F0008F8B988FB3948A2D912FA92DB82D898B8F -:10A400009A8BAB8BBC8B6CC0AF8DB8A1BD0180E0CB -:10A4100090E00F941B06A30192010F9450086B016A -:10A420007C010F947F05698B7A8B8B8B9C8BC7018A -:10A43000B6010F94B3084B015C01EBADFCADC080DD -:10A44000D180E280F380F7FAF094F7F8F094239645 -:10A45000AEADBFAD23972D913D914D915C912BA356 -:10A460003CA34DA35EA329893A894B895C89C70126 -:10A47000B6010F9450086D8B7E8B8F8B988FA50142 -:10A4800094016BA17CA18DA19EA10F9450089B010A -:10A49000AC016D897E898F89988D0F94A2046D8B94 -:10A4A0007E8B8F8B988FA5019401C701B6010F9405 -:10A4B00050086B017C0129893A894B895C896BA121 -:10A4C0007CA18DA19EA10F9450089B01AC01C701F6 -:10A4D000B6010F94A104698B7A8B8B8B9C8BB12C6A -:10A4E0002D893E894F89588D21966CAD7DAD8EADFD -:10A4F0009FAD21970F94A204EFA9F8AD60837183FB -:10A500008283938329893A894B895C8927966CAD2C -:10A510007DAD8EAD9FAD27970F94A204A9ADBAADC6 -:10A520006D937D938D939C9313972FA538A949A97B -:10A530005AA9EBA5FCA560817181828193810F945A -:10A54000A204ABA5BCA56D937D938D939C931397AB -:10A550002BA93CA94DA95EA96D857E858F8598891B -:10A560000F94A2046D877E878F87988BC1010E940C -:10A57000006AFE01E659FF4F6F012C96ECACFDAC72 -:10A580000EAD1FAD2C979E01235F3F4FAE01475F7D -:10A590005F4FBE016B5F7F4FC1010E9498EF2F8D0F -:10A5A00038A12F5F3F4F38A32F8FDECE2D8D3E8DEC -:10A5B000245F3F4F4D8D5E8D485F5F4F6D8D7E8D6B -:10A5C0006C5F7F4FDE01A659BF4F6D012C96ECAC3E -:10A5D000FDAC0EAD1FAD2C978D8D9E8D0E9498EF1A -:10A5E000C15BDF4F0FB6F894DEBF0FBECDBFDF916A -:10A5F000CF911F910F91FF90EF90DF90CF90BF9080 -:10A60000AF909F908F907F906F905F904F903F9012 -:10A610002F900895FC01148217821382128289EB15 -:10A620009EE091838083089529EB3EE0FC01318315 -:10A6300020832781222319F004960C943035089545 -:10A64000CF92DF92EF92FF920F931F93CF93DF93FE -:10A65000EC01875B9F4FDEDFCE0186599F4FDADF2B -:10A660007E0129E8E20EF11C87016E0131E4C31A74 -:10A670003EEFD30AC801CEDF015E1F4F0C151D054A -:10A68000C9F7FE01EF53FE4F89E1818314823596AD -:10A69000178ACE018C519E4FBDDFFE01EB56FD4F58 -:10A6A00010821182128213823896108211821282D5 -:10A6B00013821A821B82188219826E0187E6C81AD9 -:10A6C0008DEFD80AF6011082118212821382F801EE -:10A6D00011821082FE01ED5FFD4F108286E391E052 -:10A6E000F7019C01119221503040E1F7FE01EF5536 -:10A6F000FD4F81E08083C95BDF4F198218820E9481 -:10A70000C8FE68577C4E8F4F9F4FF6016083718360 -:10A7100082839383DF91CF911F910F91FF90EF90F0 -:10A72000DF90CF900895FC0120E03EE2DB014C91E8 -:10A73000403241F0283011F430833196DB014C91E6 -:10A74000408331962F5F6F5F7F4F2B3079F71082F8 -:10A7500008952F923F924F925F926F927F928F92C5 -:10A760009F92AF92BF92CF92DF92EF92FF920F93A0 -:10A770001F93CF93DF93CDB7DEB7CA58D1090FB679 -:10A78000F894DEBF0FBECDBF8C016B017A01490189 -:10A79000CA57DF4F1882C658D04084E0E80EF11C3B -:10A7A000180191E1290E311CF801EA5BFF4FC957EE -:10A7B000DF4FF983E883C758D0403801FEE56F1AB0 -:10A7C000FDEF7F0A58018CE5A81A8DEFB80A90E4D6 -:10A7D000492E512C4C0E5D1E94E0490E511CA101D6 -:10A7E000BE016F5F7F4FC7010E949A3318160CF0AD -:10A7F0004AC12C85322F3871303109F0ACC0F301D9 -:10A80000808191810197029708F4A5C0BE016F5F16 -:10A810007F4FCE0187589F4F86DFA0961FAEA0972F -:10A82000F6018081811107C061E67DE0CE01815A89 -:10A830009F4F0F94070FB601CE01815A9F4F0F947F -:10A84000070FBE0167587F4FCE01815A9F4F0F946B -:10A85000070F61E67DE0CE01815A9F4F0F94070FED -:10A86000CE01805C9F4FD6DE21E0AE0147585F4F9E -:10A87000B701C2010E942737811147C0F3018081CF -:10A880009181892B09F041C0EFE4F3E5849188239D -:10A8900041F09091C00095FFFCCF8093C6003196A7 -:10A8A000F5CFE091BB13F0E0EE0FFF1FE85DFD4F29 -:10A8B0000190F081E02DE457FE4F0190F081E02DF2 -:10A8C0008191882339F09091C00095FFFCCF80934F -:10A8D000C600F6CF8091C00085FFFCCF8AE0809350 -:10A8E000C600FE01E758FF4F8191882339F090910F -:10A8F000C00095FFFCCF8093C600F6CF8091C000CA -:10A9000085FFFCCF8AE08093C6008BE1FE01EC5B03 -:10A91000FF4FDE01959601900D928A95E1F72496FE -:10A920008EAD9FAD24979CA38BA389EB9EE09AA349 -:10A9300089A320E030E0AE014F5D5F4FBE01615A58 -:10A940007F4FC80106DFCE0181966EDECE01805CAE -:10A950009F4F6ADE44CF8981882309F494C08E32E8 -:10A9600009F43DCF8F3509F43ACFF80181898E3251 -:10A9700009F435CF8F3509F432CF23FD30CF81E094 -:10A98000303109F080E0C957DF4FE881F981C758BD -:10A99000D0408083811108C08985873409F01FCF9A -:10A9A0008A858E3709F41BCF98012C5F3F4FBE017B -:10A9B0006F5F7F4FC901C757DF4F2883C958D04009 -:10A9C000C657DF4F3883CA58D040ADDEF3018081CF -:10A9D0009181C757DF4F2881C958D040C657DF4FF4 -:10A9E0003881CA58D0400097F1F4F601819188234C -:10A9F00039F09091C00095FFFCCF8093C600F6CF50 -:10AA0000F9018191882339F09091C00095FFFCCF26 -:10AA10008093C600F6CF8091C00085FFFCCF8AE00E -:10AA20008093C600DCCE8130910539F4F501808138 -:10AA30009181019691838083D2CE029709F0CFCE87 -:10AA40008114910439F0B901C4010F94F40E892BDB -:10AA500071F419C0CA57DF4FF881C658D0402F2F64 -:10AA600030E0F501808191812817390761F0CA57DC -:10AA7000DF4FF881C658D040FF5FCA57DF4FF883D9 -:10AA8000C658D040ACCEC657DF4F0FB6F894DEBFE5 -:10AA90000FBECDBFDF91CF911F910F91FF90EF902F -:10AAA000DF90CF90BF90AF909F908F907F906F90EE -:10AAB0005F904F903F902F9008950F931F93CF93E7 -:10AAC000DF93CDB7DEB76F970FB6F894DEBF0FBE3A -:10AAD000CDBF8C01FC01EE55FD4F1182108240E08C -:10AAE00050E0BA01835B9F4F0E944D34C801875BE1 -:10AAF0009F4F2BE1FC013496DE01159601900D92DB -:10AB00002A95E1F7FC01828193819C838B8389EBF9 -:10AB10009EE09A83898320E030E0AE014F5F5F4F73 -:10AB20006AE97EE0C80115DECE0101967DDD6F96F3 -:10AB30000FB6F894DEBF0FBECDBFDF91CF911F914E -:10AB40000F9108952BE1FB013496DC0114960190DE -:10AB50000D922A95E1F7FB0122813381FC013383B9 -:10AB600022830895EF92FF920F931F93CF93DF9369 -:10AB7000EC011B82FC01E05BFF4F8081882329F000 -:10AB8000CE01835B9F4F0E9430357E018FE3E81A30 -:10AB90008EEFF80A45E360E0C7010E946E61811103 -:10ABA0002CC0EFE4F3E58491882341F09091C0003C -:10ABB00095FFFCCF8093C6003196F5CFE091BB1393 -:10ABC000F0E0EE0FFF1FE85DFD4F0190F081E02DFA -:10ABD000E257FE4F0190F081E02D8491882341F0EF -:10ABE0009091C00095FFFCCF8093C6003196F5CFC1 -:10ABF0008091C00085FFFCCF9EC08E010A531E4F7E -:10AC000041E0B701C8010E94FE3C811133C040E021 -:10AC1000B701C8010E94FE3C81112CC0E5E5F3E5B7 -:10AC20008491882341F09091C00095FFFCCF8093E0 -:10AC3000C6003196F5CFE091BB13F0E0EE0FFF1F99 -:10AC4000E85DFD4F0190F081E02DE057FE4F01904F -:10AC5000F081E02D8491882341F09091C00095FF10 -:10AC6000FCCF8093C6003196F5CF8091C00085FF60 -:10AC7000FCCF61C0B801CE01835B9F4F0E943D3283 -:10AC800081112CC0E5E5F3E58491882341F0909192 -:10AC9000C00095FFFCCF8093C6003196F5CFE091C0 -:10ACA000BB13F0E0EE0FFF1FE85DFD4F0190F08158 -:10ACB000E02DEE56FE4F0190F081E02D8491882327 -:10ACC00041F09091C00095FFFCCF8093C600319673 -:10ACD000F5CF8091C00085FFFCCF2DC081E08B8334 -:10ACE000EFE4F3E58491882341F09091C00095FF53 -:10ACF000FCCF8093C6003196F5CFE091BB13F0E016 -:10AD0000EE0FFF1FE85DFD4F0190F081E02DEC5646 -:10AD1000FE4F0190F081E02D8491882341F09091C5 -:10AD2000C00095FFFCCF8093C6003196F5CF80918F -:10AD3000C00085FFFCCF8AE08093C6008E01075BD0 -:10AD40001F4FB801CE0186599F4FFCDEC859DF4F17 -:10AD500019830883DF91CF911F910F91FF90EF909E -:10AD60000895FC01128213820895FC01238122239D -:10AD700011F021E022830895FC0122812111128229 -:10AD80000895AF92BF92CF92DF92EF92FF920F930E -:10AD90001F93CF93DF931F92CDB7DEB78C018FE265 -:10ADA000FB0181935F01D12C41E07801F1E4EF1ABE -:10ADB000FEEFFF0A6FE1C62E2D2D30E0F7018081F6 -:10ADC000918128173907D8F4C29EC001C39E900D07 -:10ADD000112483579F4FB501800F911F49830E9413 -:10ADE000E431C50149815C010196F50120812223EE -:10ADF00021F04D3810F44F5FF6CFD394DDCF47FDEF -:10AE000011C0B501C80188519E4F0F90DF91CF91BD -:10AE10001F910F91FF90EF90DF90CF90BF90AF9078 -:10AE20000C94E431F50110820F90DF91CF911F91C6 -:10AE30000F91FF90EF90DF90CF90BF90AF9008956B -:10AE40003F924F925F926F927F928F929F92AF92BA -:10AE5000BF92CF92DF92EF92FF920F931F93CF9307 -:10AE6000DF93CDB7DEB7AC970FB6F894DEBF0FBE59 -:10AE7000CDBF7C015B01FC018381882309F408C1FB -:10AE8000C70188519E4F0E943035F7011282CE01D2 -:10AE900001966C01BFDB270198E6490E511CC701E2 -:10AEA000875B9F4FF20191838083F50180818F3210 -:10AEB00009F084C06FE270E0C5010F94120F8C019D -:10AEC0000F5F1F4F7AE0372E0115110509F47CC082 -:10AED0006FE270E0C8010F94120F4C01009709F463 -:10AEE00074C00817190708F070C03C01601A710A95 -:10AEF000A301B801CE0180960F943B0FE0E2F0E091 -:10AF0000EC0FFD1FE60DF71D1082FE01B09681913A -:10AF1000882339F09091C00095FFFCCF8093C60044 -:10AF2000F6CF8091C00085FFFCCF3092C600F201C1 -:10AF3000608171816115710519F06C5F7F4F02C0EE -:10AF400060E070E021E0AE01405E5F4FCE0105960B -:10AF50000E94273781112BC0E3E6FDE0849188230E -:10AF600041F09091C00095FFFCCF8093C6003196D0 -:10AF7000F5CFFE01B0968191882339F09091C00001 -:10AF800095FFFCCF8093C600F6CFEAEFFEE48491F4 -:10AF9000882341F09091C00095FFFCCF8093C600BC -:10AFA0003196F5CF8091C00085FFFCCF6CC0F201D7 -:10AFB000D182C08284010F5F1F4F86CFC70186599F -:10AFC0009F4FF201918380838501F20180819181FD -:10AFD000009711F0049602C080E090E0B8010E9452 -:10AFE000FD37882339F1ECEEFEE48491882341F0AB -:10AFF0009091C00095FFFCCF8093C6003196F5CFAD -:10B00000F8018191882339F09091C00095FFFCCF21 -:10B010008093C600F6CF8091C00085FFFCCF8AE008 -:10B020008093C600F701E356FD4F10821182128211 -:10B0300013822CC0E4EDFEE48491882341F09091CA -:10B04000C00095FFFCCF8093C6003196F5CFF80184 -:10B050008191882339F09091C00095FFFCCF8093B7 -:10B06000C600F6CFE2EDFEE48491882341F0909192 -:10B07000C00095FFFCCF8093C6003196F5CF80913C -:10B08000C00085FFFCCF8AE08093C600C601CCDA01 -:10B09000AC960FB6F894DEBF0FBECDBFDF91CF9157 -:10B0A0001F910F91FF90EF90DF90CF90BF90AF90E6 -:10B0B0009F908F907F906F905F904F903F900895FA -:10B0C0008F929F92AF92BF92CF92DF92EF92FF92B8 -:10B0D000CF93DF931F92CDB7DEB77C01FC01828155 -:10B0E000882309F4BCC071968191882339F090912E -:10B0F000C00095FFFCCF8093C600F6CFE0EDFEE4E4 -:10B100008491882341F09091C00095FFFCCF8093FB -:10B11000C6003196F5CFE091BB13F0E0EE0FFF1FB4 -:10B12000E85DFD4F0190F081E02DEE55FE4F01905E -:10B13000F081E02D8491882341F09091C00095FF2B -:10B14000FCCF8093C6003196F5CFF701E356FD4F53 -:10B1500040815181628173812AE030E08BE397E185 -:10B160000E94EDDAEEECFEE48491882341F09091A8 -:10B17000C00095FFFCCF8093C6003196F5CFF70154 -:10B18000EB56FD4F40815181628173812AE030E0AE -:10B190008BE397E10E94EDDA8091C00085FFFCCF40 -:10B1A0008AE08093C6000E94C8FEE0E6CE2EEAEE5A -:10B1B000DE2EE12CF12CA70196010F9459094901CB -:10B1C0005A016091AB117091AC118091AD119091C9 -:10B1D000AE11A70196010F945909821A930AC4016E -:10B1E0006CE370E00F9432096983CE0101960E94EE -:10B1F000EEAEFC012191CF01222339F03091C00045 -:10B2000035FFFCCF2093C600F4CF40E050E06AE366 -:10B210008BE397E10E94A5DAC4016CE370E00F9420 -:10B2200032098983CE0101960E94EEAEFC01219184 -:10B23000CF01222339F03091C00035FFFCCF20939D -:10B24000C600F4CFECECFEE484918823E1F0909109 -:10B25000C00095FFFCCF8093C6003196F5CFE7E79D -:10B26000FDE08491882341F09091C00095FFFCCFD0 -:10B270008093C6003196F5CF8091C00085FFFCCF4A -:10B280008AE08093C6000F90DF91CF91FF90EF90FE -:10B29000DF90CF90BF90AF909F908F900895AF9226 -:10B2A000BF92CF92DF92EF92FF920F931F93CF93B3 -:10B2B000DF935C01EB01FB0101900020E9F78F01B6 -:10B2C00001501109061B170B6C01F8E1CF1AFEEFB4 -:10B2D000DF0AF60110826EE470E0CE010F94120FC7 -:10B2E0007C01009729F4F8013197EC0FFD1F0DC088 -:10B2F00060E270E00F94120FEC0121966AE270E0B8 -:10B30000C7010F94120FFC0131978DE081838AE011 -:10B3100082831382BE01C5018C519E4F0E94AADB1D -:10B32000F6018081882371F1E5E5F3E584918823B6 -:10B3300041F09091C00095FFFCCF8093C6003196FC -:10B34000F5CFE091BB13F0E0EE0FFF1FE85DFD4F7E -:10B350000190F081E02DEA55FE4F0190F081E02D43 -:10B360008491882341F09091C00095FFFCCF809399 -:10B37000C6003196F5CF8091C00085FFFCCF8AE0F2 -:10B380008093C600DF91CF911F910F91FF90EF90B6 -:10B39000DF90CF90BF90AF9008952F923F924F9241 -:10B3A0005F926F927F928F929F92AF92BF92CF9255 -:10B3B000DF92EF92FF920F931F93CF93DF93CDB75E -:10B3C000DEB7CC55D1090FB6F894DEBF0FBECDBFA6 -:10B3D0004C018C010F551D4F662339F0F801108286 -:10B3E000F401838181111DC015C0F801808188237B -:10B3F00009F4AFC0F401E756FD4FC080D180E28070 -:10B40000F3800E94C8FEC616D706E806F90608F4BF -:10B41000A0C0E4CFC401A6DBF4018381882309F432 -:10B4200098C07401F7E4EF0EF11CF70181818F934E -:10B4300080818F9383EC9EE49F938F938E01015CB8 -:10B440001F4F1F930F930F944A0F0F900F900F9061 -:10B450000F900F900F90B12CF80101900020E9F7A8 -:10B460003197E01BF10BBE1684F46801CB0CD11CA4 -:10B47000B7FCDA94F6018081992787FD90950F94A7 -:10B480007E0EF6018083B394E7CFFDE48F0E911C0E -:10B4900040E050E0BA01C4010E944D34512CCE016D -:10B4A00001966C018CEB682E8EE4782E5E0191E2A1 -:10B4B000A90EB11C40E050E0B601C4010E949A33CD -:10B4C0001816DCF5412CF60101900020E9F73197C0 -:10B4D000EC19FD094E1674F41601240C311C47FCBE -:10B4E0003A94F101808190E00F947E0EF101808307 -:10B4F0004394E9CF8A858E37E9F245E050E0B80100 -:10B50000C6010F942D0F892BA9F61F930F937F92DD -:10B510006F92BF92AF920F944A0FC5010E94A76528 -:10B5200088EB9EE40E9427660F900F900F900F907B -:10B530000F900F9055245394BDCF511004C08FEF3E -:10B540009FEFF70104C0F7018081918101969183FB -:10B550008083C45ADF4F0FB6F894DEBF0FBECDBF55 -:10B56000DF91CF911F910F91FF90EF90DF90CF90DF -:10B57000BF90AF909F908F907F906F905F904F9013 -:10B580003F902F9008950F931F93CF93DF93EC017B -:10B590008C0108511E4FC8010E94E634C8010E9468 -:10B5A000303518821982DF91CF911F910F91089544 -:10B5B000CF92DF92EF92FF920F931F93CF93DF937F -:10B5C000CDB7DEB76F970FB6F894DEBF0FBECDBF15 -:10B5D0008C016A017C0188E6E80EF11CC8018659DD -:10B5E0009F4FF70191838083E65CFD4F22E030E0BE -:10B5F0003183208332967183608340E050E0BA014A -:10B6000004960E944D34F701808191812BE1FC0169 -:10B610003496DE01159601900D922A95E1F7FC0112 -:10B62000828193819C838B8389EB9EE09A838983BB -:10B630009601AE014F5F5F4F6AE97EE0C80189D88D -:10B64000CE0101960E9414536F960FB6F894DEBF98 -:10B650000FBECDBFDF91CF911F910F91FF90EF9063 -:10B66000DF90CF9008952F923F924F925F926F920A -:10B670007F928F929F92AF92BF92CF92DF92EF9282 -:10B68000FF920F931F93CF93DF93CDB7DEB7AC97A5 -:10B690000FB6F894DEBF0FBECDBF8C016B01342E08 -:10B6A000DC0113968C91882309F449C3F801E55114 -:10B6B000FE4F8081882309F4F5C02111C1C07801B3 -:10B6C000BDEFEB1AFB0AF7018081882361F1E5E504 -:10B6D000F3E58491882341F09091C00095FFFCCF61 -:10B6E0008093C6003196F5CFEEE4FFE48491882381 -:10B6F00041F09091C00095FFFCCF8093C600319639 -:10B70000F5CF4AE050E061E070E08BE397E10E9402 -:10B71000C1DA8091C00085FFFCCF8AE08093C6002B -:10B720000E94736F0CC3EFE4F3E58491882341F02A -:10B730009091C00095FFFCCF8093C6003196F5CF65 -:10B74000E5E3FFE48491882341F09091C00095FFE8 -:10B75000FCCF8093C6003196F5CFF6018191882306 -:10B7600039F09091C00095FFFCCF8093C600F6CFD2 -:10B77000EAE2FFE48491882341F09091C00095FFB4 -:10B78000FCCF8093C6003196F5CFD7018C91FDE8B0 -:10B79000BF2EB801B89E600D711D1124685F7D4FEA -:10B7A000C801EFDAF7018081F801B89EE00DF11DC4 -:10B7B0001124E85FFD4F8191882339F09091C000FA -:10B7C00095FFFCCF8093C600F6CFE4E2FFE48491BE -:10B7D000882341F09091C00095FFFCCF8093C60074 -:10B7E0003196F5CF5801F3E6AF1AFDEFBF0AD50148 -:10B7F0004D915D916D917C912AE030E08BE397E172 -:10B800000E94EDDA8091C00085FFFCCF8AE0809332 -:10B81000C600F7012081F80184E0289FE00DF11DAA -:10B820001124EC5FFD4FD5014D915D916D917C919F -:10B8300040835183628373832F5FF70120832CC081 -:10B84000EFE4F3E58491882341F09091C00095FFE7 -:10B85000FCCF8093C6003196F5CFE3E1FFE48491FD -:10B86000882341F09091C00095FFFCCF8093C600E3 -:10B870003196F5CFF6018191882339F09091C0007F -:10B8800095FFFCCF8093C600F6CF8091C00085FF66 -:10B89000FCCF8AE08093C600C80188519E4F0E9469 -:10B8A000303530C0F801ED5FFD4F1082EFE4F3E575 -:10B8B0008491882341F09091C00095FFFCCF809344 -:10B8C000C6003196F5CFE2E0FFE48491882341F091 -:10B8D0009091C00095FFFCCF8093C6003196F5CFC4 -:10B8E000F6018191882339F09091C00095FFFCCF3B -:10B8F0008093C600F6CF8091C00085FFFCCF8AE020 -:10B900008093C600D80112961C92FE0131965F0109 -:10B91000CF010E940A532801F8E64F0E511CC801BE -:10B92000875B9F4FD2018D939C93F60180818F326C -:10B9300009F091C06FE270E0C6010F94120F0196FA -:10B940007C01EAE02E2EE114F10409F48AC06FE2D2 -:10B9500070E0C7010F94120F4C01009709F482C0E8 -:10B96000E816F90608F07EC03C016E187F08A301B6 -:10B97000B701CE0180960F943B0FE0E2F0E0EC0FB0 -:10B98000FD1FE60DF71D1082FE01B0968191882300 -:10B9900039F09091C00095FFFCCF8093C600F6CFA0 -:10B9A0008091C00085FFFCCF2092C600D2016D912E -:10B9B0007C916115710519F06C5F7F4F02C060E0EA -:10B9C00070E021E0AE01405E5F4FCE0105960E941F -:10B9D0002737811138C0E091BB13F0E0EE0FFF1F55 -:10B9E000E85DFD4F0190F081E02DE856FE4F01909B -:10B9F000F081E02D8491882341F09091C00095FF63 -:10BA0000FCCF8093C6003196F5CFFE01B0968191B0 -:10BA1000882339F09091C00095FFFCCF8093C60039 -:10BA2000F6CFE0E0FFE48491882341F09091C000DC -:10BA300095FFFCCF8093C6003196F5CF8091C00072 -:10BA400085FFFCCF43C1F201B182A0827401FFEFF8 -:10BA5000EF1AFF0A78CFC80186599F4FD2018D9304 -:10BA60009C937601F801E851FE4F4F01332009F411 -:10BA7000E5C0D2016D917C916115710519F06C5F83 -:10BA80007F4F02C060E070E021E0A701C4010E9486 -:10BA900027372091BB13882309F49AC0F4018189C8 -:10BAA0009289A389B489F801EB56FD4F8083918375 -:10BAB000A283B383E22FF0E0EE0FFF1FE85DFD4F9E -:10BAC0000190F081E02DE656FE4F0190F081E02DCF -:10BAD0008491D801AB56BD4F882349F09091C000A6 -:10BAE00095FFFCCF8093C60031968491F5CFF70186 -:10BAF0008191882339F09091C00095FFFCCF80930D -:10BB0000C600F6CFE091BB13F0E0EE0FFF1FE85D3B -:10BB1000FD4F0190F081E02DE456FE4F0190F08141 -:10BB2000E02D8491882341F09091C00095FFFCCFD7 -:10BB30008093C6003196F5CF4D915D916D917C91CA -:10BB40002AE030E08BE397E10E94EDDA8091C000BB -:10BB500085FFFCCF8AE08093C600F801E356FD4FD5 -:10BB60001082118212821382E091BB13F0E0EE0F7B -:10BB7000FF1FE85DFD4F0190F081E02DE256FE4F82 -:10BB80000190F081E02D8491882341F09091C000D4 -:10BB900095FFFCCF8093C6003196F5CF8091C00011 -:10BBA00085FFFCCF8AE08093C600A70160E070E0CB -:10BBB000C801FEDCD80151968C91882319F0C80188 -:10BBC000419601C0C7010E945EAB84E89DE0B2C00F -:10BBD000E22FF0E0EE0FFF1FE85DFD4F0190F081D6 -:10BBE000E02DE856FE4F0190F081E02D84918823EE -:10BBF00041F09091C00095FFFCCF8093C600319634 -:10BC0000F5CFF7018191882339F09091C00095FF1D -:10BC1000FCCF8093C600F6CFEEEFFEE4849188233C -:10BC200041F09091C00095FFFCCF8093C600319603 -:10BC3000F5CF8091C00085FFFCCF48C0F201608144 -:10BC400071816115710519F06C5F7F4F02C060E072 -:10BC500070E026E5A701C4010E94273781113AC090 -:10BC6000E091BB13F0E0EE0FFF1FE85DFD4F019088 -:10BC7000F081E02DE856FE4F0190F081E02D849197 -:10BC8000882341F09091C00095FFFCCF8093C600BF -:10BC90003196F5CFF7018191882339F09091C0005A -:10BCA00095FFFCCF8093C600F6CFECEFFEE48491C5 -:10BCB000882341F09091C00095FFFCCF8093C6008F -:10BCC0003196F5CF8091C00085FFFCCF8AE080934C -:10BCD000C60032C081E0D8018C93E091BB13F0E044 -:10BCE000EE0FFF1FE85DFD4F0190F081E02DE05663 -:10BCF000FE4F0190F081E02D8491882341F09091D6 -:10BD0000C00095FFFCCF8093C6003196F5CFF601B9 -:10BD10008191882339F09091C00095FFFCCF8093EA -:10BD2000C600F6CF8091C00085FFFCCF8AE08093EB -:10BD3000C600C7010E945EABC5010E941453AC96B9 -:10BD40000FB6F894DEBF0FBECDBFDF91CF911F912C -:10BD50000F91FF90EF90DF90CF90BF90AF909F90AA -:10BD60008F907F906F905F904F903F902F900895AD -:10BD700021E0FC01218340E076CCCF92DF92EF926C -:10BD8000FF920F931F93CF93DF93CDB7DEB76F97DB -:10BD90000FB6F894DEBF0FBECDBF8C016C0128E654 -:10BDA000C20ED11C86599F4FF60191838083E65CB9 -:10BDB000FD4F21E030E0318320837801FCE5EF1A6C -:10BDC000FDEFFF0AF7011182108240E050E0BA0156 -:10BDD00004960E944D34F601808191812BE1FC0193 -:10BDE0003496DE01159601900D922A95E1F7FC013B -:10BDF000828193819C838B8389EB9EE09A838983E4 -:10BE000020E030E0AE014F5F5F4F6AE97EE0C8019D -:10BE10000E94A953CE0101960E941453F70180811C -:10BE200091816F960FB6F894DEBF0FBECDBFDF9144 -:10BE3000CF911F910F91FF90EF90DF90CF900895D9 -:10BE4000AF92BF92CF92DF92EF92FF920F931F9328 -:10BE5000CF93DF93CDB7DEB76F970FB6F894DEBF01 -:10BE60000FBECDBF8C017B01CE0101960E940A530B -:10BE7000F801EF58FF4F80816801811104C029E467 -:10BE8000C20ED11C03C08AE6C80ED11C21E0A70156 -:10BE9000B6016C5F7F4FCE0105960E942737811156 -:10BEA0003AC0EFE4F3E58491882341F09091C0001B -:10BEB00095FFFCCF8093C6003196F5CFE091BB1380 -:10BEC000F0E0EE0FFF1FE85DFD4F0190F081E02DE7 -:10BED000E855FE4F0190F081E02D8491882341F0D8 -:10BEE0009091C00095FFFCCF8093C6003196F5CFAE -:10BEF000F7018191882339F09091C00095FFFCCF24 -:10BF00008093C600F6CF8091C00085FFFCCF8AE009 -:10BF10008093C60036C0F801E154FE4F80819181C4 -:10BF20008A30910530F59C012F5F3F4F318320838C -:10BF30002FE1289F7001299FF00C112429E8E20EBF -:10BF4000F11CE00EF11E5C01B701C7014F960E9483 -:10BF5000A25581E0A81AB1082FE1E21AF1088FEF8B -:10BF6000A816B80689F7B601C80187579F4F0E94E7 -:10BF7000A255BE016F5F7F4FC80186599F4F0E9437 -:10BF8000A255CE0101960E9414536F960FB6F894F5 -:10BF9000DEBF0FBECDBFDF91CF911F910F91FF90FC -:10BFA000EF90DF90CF90BF90AF900895EF92FF9207 -:10BFB0000F931F93CF93DF93EC01C154DE4F288181 -:10BFC000398121153105F9F0215031093983288350 -:10BFD0008C0107571F4FB80186599F4F0E94A255E9 -:10BFE000C80100E010E07C012FE1E20EF11C288185 -:10BFF00039810217130738F40F5F1F4FB7010E94F2 -:10C00000A255C701F0CFDF91CF911F910F91FF9003 -:10C01000EF900895EF92FF920F931F93CF93DF93CA -:10C02000EC010E9415E48E010D5F1D4FF801808127 -:10C030009E0128513E4F79018823A1F1C9010E9438 -:10C040003035F801808181508083BE01FDE88F9FEB -:10C05000600D711D1124685F7D4F21E041E0CE012C -:10C0600002DBF8018081FE0124E0829FE00DF11DDA -:10C070001124EC5FFD4F4081518162817381FE018B -:10C08000E356FD4F4083518362837383C7010E944F -:10C090004D34CE01DF91CF911F910F91FF90EF9022 -:10C0A0000C94B5560E949BE4C7010E9430351A8259 -:10C0B0008CEA9EE4DF91CF911F910F91FF90EF905A -:10C0C000C6C58FEF8EBD0DB407FEFDCF8EB50895AA -:10C0D0008EBD0DB407FEFDCF089561E0FC018081A7 -:10C0E0000C9421FEFC012281322F306A36953CBD32 -:10C0F00020FD06C031E0263009F430E0232F01C0D6 -:10C1000020E02DBD60E0FC0180810C9421FECF92E7 -:10C11000DF92EF92FF920F931F93CF93DF93EC0187 -:10C120008B017A010E94C8FE6B01CBDF8B838F3FAE -:10C1300049F40E94C8FE6C197D096D327140A8F364 -:10C1400081E144C08E3F11F08FE040C0E114F10462 -:10C15000D9F0C70101972FEF2EBDF8014FEF9F01D6 -:10C16000201B310B2817390738F40DB407FEFDCF1B -:10C170002EB521934EBDF3CF0DB407FEFDCF2EB5E6 -:10C18000F801E80FF91F2083D801E00EF11EC12C41 -:10C19000D12CAE15BF0579F08D91ED2DFF27E82745 -:10C1A000EE0FFF1FEF56F04B85919491DC2CCC24C1 -:10C1B000C826D926EECF85DF082F10E0102F0027E4 -:10C1C00080DF082BC016D10631F080E28983CE01D2 -:10C1D00084DF80E003C0CE0180DF81E0DF91CF917A -:10C1E0001F910F91FF90EF90DF90CF9008950F93E4 -:10C1F0001F93CF93DF93EB010E94C8FE8B0161DF99 -:10C200008F3F49F00E94C8FE601B710B6C177D07C1 -:10C21000B0F380E001C081E0DF91CF911F910F91D9 -:10C220000895CF92DF92FF920F931F93CF93DF93E6 -:10C2300000D01F92CDB7DEB76C01F62E29833A836A -:10C240004B835C834FDF6CE271E0C601D0DF8F2D42 -:10C2500080643EDF08E110E05C814B813A812981F6 -:10C26000DA01C901002E04C0B695A7959795879568 -:10C270000A94D2F729833A834B835C8329DF0850E1 -:10C28000110929813A814B815C81083F8FEF1807A2 -:10C2900039F7FF2029F0E8E0FE1621F08FEF03C008 -:10C2A00085E901C087E814DFFCE0FF1201C009DF67 -:10C2B00010E007DFF601838387FF04C01F3F11F002 -:10C2C0001F5FF7CF0F900F900F900F90DF91CF91DE -:10C2D0001F910F91FF90DF90CF900895BF92CF9262 -:10C2E000DF92EF92FF920F931F93CF93DF93EC01B6 -:10C2F000B62E1C82198248830E94C8FE8B0161E021 -:10C3000088810E94E8FDCE01E8DE60E082E30E94C1 -:10C31000E8FD61E083E30E94E8FD61E084E30E94C0 -:10C32000E8FD61E085E30E94E8FD61E085E30E94AD -:10C3300021FE85E08A8382E58CBD1DBC6AE0F62E75 -:10C340008FEFC6DEFA94E1F720E030E0A90160E06B -:10C35000CE0167DFF82E8B8381E0F81649F00E944A -:10C36000C8FE601B710B613D774070F381E046C0F1 -:10C370002AEA31E040E050E068E0CE0152DF82FF7F -:10C3800002C0FC820CC054E0F52E9BDE8B83FA9435 -:10C39000E1F78A3A11F082E031C082E08C838C812F -:10C3A000823031F4C12CD12CE12C40E4F42E03C0B6 -:10C3B000C12CD12C760120E030E0A90167E3CE0149 -:10C3C00030DFA701960169E2CE012BDF8B83882342 -:10C3D00049F00E94C8FE601B710B613D774058F325 -:10C3E0008AE00CC08C818230B1F420E030E0A901F9 -:10C3F0006AE3CE0116DF882329F088E08983CE0125 -:10C400006CDE14C05EDE807C803C11F483E08C83A3 -:10C4100058DE57DE56DECE0160DE86E08B1518F45E -:10C4200088E1898303C0BA8281E001C080E0DF91A6 -:10C43000CF911F910F91FF90EF90DF90CF90BF9021 -:10C440000895AF92BF92CF92DF92EF92FF920F9337 -:10C450001F93CF93DF93EC016A017B0189018C81EB -:10C46000833039F0F9E0CC0CDD1CEE1CFF1CFA9592 -:10C47000D1F773E0B72EE4E0AE2EBA94A70196018F -:10C4800061E1CE01CEDE882311F0A98207C040E031 -:10C4900052E0B801CE013BDE81110EC0CE01BB20BF -:10C4A00049F01BDE20E030E0A9016CE0CE01B9DEEE -:10C4B0001982E3CF12DE80E0DF91CF911F910F91BF -:10C4C000FF90EF90DF90CF90BF90AF900895CF9303 -:10C4D000DF93EC016EBD20E030E00DB407FEFDCF30 -:10C4E000FA01E20FF31F80818EBD0DB407FEFDCF70 -:10C4F00081818EBD2E5F3F4F211582E0380769F79D -:10C500000DB407FEFDCF8FEFE3DD8FEFE1DDD9DD69 -:10C510008B838F71853031F083E18983CE01DDDD3E -:10C5200080E001C081E0DF91CF9108950F931F93C8 -:10C53000CF93DF93EC0189018C81833039F0B9E02E -:10C54000440F551F661F771FBA95D1F79A01AB01AB -:10C5500068E1CE0166DE882311F086E01EC0A801E6 -:10C560006EEFCE01B4DF8823C9F068E572E0CE013A -:10C570003EDE182F811102C087E10FC020E030E0BD -:10C58000A9016DE0CE014DDE811106C09ADD811159 -:10C5900003C0CE01A2DD05C086E18983CE019DDD09 -:10C5A00010E0812FDF91CF911F910F910895FC0131 -:10C5B000659175918591949108958091190C909150 -:10C5C0001A0CA0911B0CB0911C0C809354139093E7 -:10C5D0005513A0935613B09357138091550C909117 -:10C5E000560C9093C3138093C21384E690E090930B -:10C5F000560C8093550C0E94C8FE6093B311709343 -:10C60000B4118093B5119093B61181E00C9495DC30 -:10C6100080E00E9495DC8091541390915513A09175 -:10C620005613B09157138093190C90931A0CA09342 -:10C630001B0CB0931C0C8091C2139091C313909368 -:10C64000560C8093550C0E94C8FE6093B3117093F2 -:10C65000B4118093B5119093B6110895AF92BF9223 -:10C66000CF92DF92EF92FF920F931F93CF93DF93BE -:10C6700000D01F92CDB7DEB78FE5A82E8CE0B82E84 -:10C68000F50160817181828193816093190C7093AF -:10C690001A0C80931B0C90931C0CC12CD12C20E203 -:10C6A000E22E21ECF22EC982DA82EB82FC8220E0BB -:10C6B00030E040E752E40F94820539E8C32E33E1BD -:10C6C000D32E7B018C0129EA33E1AE014F5F5F4F2E -:10C6D00061EA73E18DE993E10E9498EF0E9415E40D -:10C6E00082E00E947FE469837A838B839C8329EABA -:10C6F00033E1AE014F5F5F4F61EA73E18DE993E192 -:10C700000E94A6F98BE193E552DF9B01AC016981A0 -:10C710007A818B819C810F94A20469837A838B83B5 -:10C720009C8320E030E040E752E46091190C709166 -:10C730001A0C80911B0C90911C0C0F9482057B01AC -:10C740008C0129EA33E1AE014F5F5F4F61EA73E18B -:10C750008DE993E10E9498EF0E9415E420E030E01B -:10C7600040E85EE3F50160817181828193810F94DD -:10C7700050086B017C016093190C70931A0C809324 -:10C780001B0C90931C0C8BE193E511DF9B01AC011A -:10C790000F94A2049B01AC0169817A818B819C81F9 -:10C7A0000F94A10469837A838B839C8320E030E01B -:10C7B00040E752E4C701B6010F94820549E8C42E50 -:10C7C00043E1D42E7B018C0129EA33E1AE014F5FB6 -:10C7D0005F4F61EA73E18DE993E10E9498EF0E9457 -:10C7E00015E482E00E947FE46093A5137093A61382 -:10C7F0008093A7139093A81329EA33E145EA53E104 -:10C8000061EA73E18DE993E10E94A6F90F900F9020 -:10C810000F900F90DF91CF911F910F91FF90EF90AC -:10C82000DF90CF90BF90AF9008952F923F924F929C -:10C830005F926F927F928F929F92AF92BF92CF92B0 -:10C84000DF92EF92FF920F931F93CF93DF9300D06D -:10C8500000D0CDB7DEB71C01FC01E05FFC4A1491AB -:10C860009C01220F331F220F331F3E832D8323563B -:10C870003C4E4901F901108211821282138229EA89 -:10C8800033E145EA53E161EA73E18DE993E10E9406 -:10C89000A6F98D819E81815E9C4A89DE6B017C01B7 -:10C8A000612F772767FD7095872F972F0F941D06AF -:10C8B0002B013C012D813E8128593C4E590120E03D -:10C8C00030E040EC5FE3C701B6010F945008A301CC -:10C8D00092010F945008F5016083718382839383E2 -:10C8E0002D813E81295A334F3C832B83F90160818E -:10C8F0007181828193816093190C70931A0C8093DB -:10C900001B0C90931C0C20E030E040E752E40F94A5 -:10C910008205E9E8CE2EE3E1DE2E7B018C0124E7DF -:10C9200033E140E753E16CE673E188E693E10E946E -:10C9300098EF0E9415E4F401108211821282138292 -:10C9400029EA33E145EA53E161EA73E18DE993E1D4 -:10C950000E94A6F92D813E812D5E3C4A3A832983AF -:10C96000C90125DE9058A30192010F945008F501EA -:10C97000608371838283938320E030E040E752E458 -:10C980006091190C70911A0C80911B0C90911C0CE9 -:10C990000F9482057B018C0124E733E140E753E1EA -:10C9A0006CE673E188E693E10E9498EF0E9415E43B -:10C9B00089819A81FCDD9B01AC010F94A204A30143 -:10C9C00092010F945008F5016083718382839383F1 -:10C9D00020E030E040E05FE3EB81FC816081718129 -:10C9E000828193810F9450086093190C70931A0CF4 -:10C9F00080931B0C90931C0C20E030E040E752E445 -:10CA00000F9482057B018C0124E733E140E753E179 -:10CA10006CE673E188E693E10E9498EF0E9415E4CA -:10CA20008D819E81855D9C4AC2DD0D811E810F56E0 -:10CA30001C4EF80120813181428153810F94A20460 -:10CA4000F40160837183828393838D819E818D5BEA -:10CA50009C4AADDD2D813E81255C334F7901F80183 -:10CA600020813181428153810F94A204F7016083B8 -:10CA70007183828393838D819E81895C9C4A97DD3B -:10CA80002D813E81215D334F7901F8012081318173 -:10CA9000428153810F94A204F701608371838283E2 -:10CAA0009383F40180819181A281B381F501808318 -:10CAB0009183A283B3831092190C10921A0C1092D6 -:10CAC0001B0C10921C0C0E948EDCF101E257FC4EF4 -:10CAD00081E0808326960FB6F894DEBF0FBECDBFEF -:10CAE000DF91CF911F910F91FF90EF90DF90CF904A -:10CAF000BF90AF909F908F907F906F905F904F907E -:10CB00003F902F900895FC012491222341F0309111 -:10CB1000C00035FFFCCF2093C6000196F4CF22E081 -:10CB200030E08BE397E10C9497DBFC012491222306 -:10CB300041F03091C00035FFFCCF2093C600019634 -:10CB4000F4CF2AE030E08BE397E10C94EDDA20910A -:10CB5000BD113091BE11243031050CF077C04091E9 -:10CB6000BF115091C01160E6649F9001659F300D28 -:10CB70001124BC01C90189539E4E0F94260FEFE486 -:10CB8000F3E58491882341F09091C00095FFFCCF9C -:10CB90008093C6003196F5CFE091BB13F0E0EE0F25 -:10CBA000FF1FE85DFD4F0190F081E02DE45DFE4F39 -:10CBB0000190F081E02D8491882341F09091C00094 -:10CBC00095FFFCCF8093C6003196F5CF8091BF11C1 -:10CBD0009091C01120E6289FF001299FF00D1124AB -:10CBE000E953FE4E8191882339F09091C00095FF62 -:10CBF000FCCF8093C600F6CFEEE0F3E58491882366 -:10CC000041F09091C00095FFFCCF8093C600319613 -:10CC1000F5CF8091C00085FFFCCF8AE08093C600ED -:10CC20008091BF119091C011019664E070E00F9463 -:10CC300046099093C0118093BF118091BD119091CE -:10CC4000BE1101969093BE118093BD11089520915D -:10CC5000BD113091BE11243031050CF077C04091E8 -:10CC6000BF115091C01160E6649F9001659F300D27 -:10CC70001124BC01C90189539E4E0F94860EEFE426 -:10CC8000F3E58491882341F09091C00095FFFCCF9B -:10CC90008093C6003196F5CFE091BB13F0E0EE0F24 -:10CCA000FF1FE85DFD4F0190F081E02DE45DFE4F38 -:10CCB0000190F081E02D8491882341F09091C00093 -:10CCC00095FFFCCF8093C6003196F5CF8091BF11C0 -:10CCD0009091C01120E6289FF001299FF00D1124AA -:10CCE000E953FE4E8191882339F09091C00095FF61 -:10CCF000FCCF8093C600F6CFECE0F3E58491882367 -:10CD000041F09091C00095FFFCCF8093C600319612 -:10CD1000F5CF8091C00085FFFCCF8AE08093C600EC -:10CD20008091BF119091C011019664E070E00F9462 -:10CD300046099093C0118093BF118091BD119091CD -:10CD4000BE1101969093BE118093BD1108959B9AD8 -:10CD5000A3980895FCDF40E052EC61E070E08BE3C3 -:10CD600097E10E94A5D9E6E0F3E58491882341F09C -:10CD70009091C00095FFFCCF8093C6003196F5CF0F -:10CD80008091C00085FFFCCF8AE08093C6002FE42D -:10CD900033E5F9018491882341F09091C00095FF1B -:10CDA000FCCF8093C6003196F5CF84B780FF20C0BA -:10CDB000A091BB13B0E0AA0FBB1FA85DBD4FED91C2 -:10CDC000FC91E25DFE4F0190F081E02D949199235A -:10CDD00041F04091C00045FFFCCF9093C6003196D2 -:10CDE000F5CF9091C00095FFFCCF9AE09093C600DC -:10CDF00081FF20C0A091BB13B0E0AA0FBB1FA85DAC -:10CE0000BD4FED91FC91E05DFE4F0190F081E02D72 -:10CE10009491992341F04091C00045FFFCCF90933D -:10CE2000C6003196F5CF9091C00095FFFCCF9AE0F7 -:10CE30009093C60082FF20C0A091BB13B0E0AA0F60 -:10CE4000BB1FA85DBD4FED91FC91EE5CFE4F0190C4 -:10CE5000F081E02D9491992341F04091C00045FF6D -:10CE6000FCCF9093C6003196F5CF9091C00095FF0E -:10CE7000FCCF9AE09093C60083FF20C0A091BB1323 -:10CE8000B0E0AA0FBB1FA85DBD4FED91FC91EC5C1B -:10CE9000FE4F0190F081E02D9491992341F0409153 -:10CEA000C00045FFFCCF9093C6003196F5CF90911E -:10CEB000C00095FFFCCF9AE09093C60085FF20C08C -:10CEC000A091BB13B0E0AA0FBB1FA85DBD4FED91B1 -:10CED000FC91EA5CFE4F0190F081E02D8491882363 -:10CEE00041F09091C00095FFFCCF8093C600319631 -:10CEF000F5CF8091C00085FFFCCF8AE08093C6000B -:10CF000014BEF9018491EFE4F3E5882349F0909190 -:10CF1000C00095FFFCCF8093C60031968491F5CF79 -:10CF2000A091BB13B0E0AA0FBB1FA85DBD4FED9150 -:10CF3000FC91E65CFE4F0190F081E02D8491882306 -:10CF400041F09091C00095FFFCCF8093C6003196D0 -:10CF5000F5CFE1EFF2E58491882341F09091C00094 -:10CF600095FFFCCF8093C6003196F5CFA091BB13FF -:10CF7000B0E0AA0FBB1FA85DBD4FED91FC91E85C2E -:10CF8000FE4F0190F081E02D4491442341F05091F7 -:10CF9000C00055FFFCCF4093C6003196F5CFEAEDB7 -:10CFA000F2E58491882341F09091C00095FFFCCF79 -:10CFB0008093C6003196F5CF8091C00085FFFCCFED -:10CFC0008AE08093C600EFECF2E58491882341F07B -:10CFD0009091C00095FFFCCF8093C6003196F5CFAD -:10CFE000E3ECF2E58491882341F09091C00095FF35 -:10CFF000FCCF8093C6003196F5CF8091C00085FFAD -:10D00000FCCF8AE08093C600F9012491EFE4F3E5B8 -:10D01000222349F08091C00085FFFCCF2093C600F9 -:10D0200031962491F5CFE091BB13F0E0EE0FFF1F96 -:10D03000E85DFD4F0190F081E02DE45CFE4F019032 -:10D04000F081E02D8491882341F09091C00095FFFC -:10D05000FCCF8093C6003196F5CF0E9496E74AE058 -:10D0600050E0BC018BE397E10E94C1DAE091BB1371 -:10D07000F0E0EE0FFF1FE85DFD4F0190F081E02D25 -:10D08000E25CFE4F0190F081E02D8491882341F015 -:10D090009091C00095FFFCCF8093C6003196F5CFEC -:10D0A0004AE050E060ED74E08BE397E10E94C1DA62 -:10D0B0008091C00085FFFCCF8AE08093C60010926B -:10D0C000C3111092C4111092C5111092C6110E9482 -:10D0D000C8D70E949AD30E949A400E9448EF0E94AB -:10D0E00087E60E94C9AD8091000186FD29C0FFEF4F -:10D0F00023ED80E3F15020408040E1F700C00000C4 -:10D100008091000186FD25C080910101846080939B -:10D1100001019FB7F894809102018460809302011D -:10D120009FBF0E9439AB8091000186FFFCCF9FB763 -:10D13000F894809102018B7F809302019FBF09C008 -:10D140009FEFE3EDF0E39150E040F040E1F700C0E5 -:10D150000000159808958091B7119091B81160E082 -:10D1600070E001960D94DD0B8091B7119091B8118C -:10D170004AE050E060E070E001960D94450D682FA4 -:10D18000772767FD70952091C1113091C21140E65B -:10D19000429FC001439F900D112489539E4E0F94CE -:10D1A000120F9093B8118093B71121E0892B09F4E5 -:10D1B00020E0822F08950E94C8FE6093B3117093FF -:10D1C000B4118093B5119093B61108950E94C8FED2 -:10D1D0006093B3117093B4118093B5119093B6110D -:10D1E000E091C111F091C211ED53FE4E8081811189 -:10D1F00021C0E091BB13F0E0EE0FFF1FE85DFD4F93 -:10D200000190F081E02DE05CFE4F0190F081E02D77 -:10D210008491882341F09091C00095FFFCCF8093CA -:10D22000C6003196F5CF8091C00085FFFCCF8AE023 -:10D230008093C60008958BE397E10E94F7D9E091AF -:10D24000BB13F0E0EE0FFF1FE85DFD4F0190F08192 -:10D25000E02DE059FE4F0190F081E02D849188236C -:10D2600041F09091C00095FFFCCF8093C6003196AD -:10D27000F5CF40914C1350914D1360914E13709126 -:10D280004F134F5F5F4F6F4F7F4F2AE030E08BE3CC -:10D2900097E10E9496DA8091C00085FFFCCF8AE07A -:10D2A0008093C60093CF8F929F92AF92BF92CF92FE -:10D2B000DF92EF92FF920F931F93CF93DF9348E299 -:10D2C000E42E4EE0F42E0DE913E1C8E6D3E154EC70 -:10D2D000C52E53E1D52EF70181917F0150DF8823C0 -:10D2E00011F139DF4B015C01F6018081811103C02E -:10D2F0006091471301C061E070E080E090E00F941E -:10D300001D06F80120813181428153810F9450081C -:10D310009B01AC01C501B4010F94A2046883798319 -:10D320008A839B8309C0F80180819181A281B381A6 -:10D3300088839983AA83BB830C5F1F4F2496FFEFDA -:10D34000CF1ADF0A8CE2E8168EE0F80621F686E4B2 -:10D3500016DF8823D1F0FFDE6B017C016093581348 -:10D360007093591380935A1390935B1320E030E02D -:10D37000A9010F947E07181644F4C092190CD0929C -:10D380001A0CE0921B0CF0921C0CDF91CF911F91B4 -:10D390000F91FF90EF90DF90CF90BF90AF909F9054 -:10D3A0008F90089580DF89E4EADE882351F0D3DE90 -:10D3B00060935C1370935D1380935E1390935F137F -:10D3C00008C010925C1310925D1310925E131092BD -:10D3D0005F138AE4D4DE882351F0BDDE60936013CE -:10D3E0007093611380936213909363130895109266 -:10D3F00060131092611310926213109263130895D8 -:10D40000CF92DF92EF92FF92CF93DF93EC01C09027 -:10D410003B0CD0903C0CE0903D0CF0903E0CA701F2 -:10D420009601688179818A819B810F947B0587FFB2 -:10D4300004C0C882D982EA82FB82C0903F0CD0909F -:10D44000400CE090410CF090420CA70196016C81D9 -:10D450007D818E819F810F947B0587FF04C0CC82E4 -:10D46000DD82EE82FF8220E030E0A9016091430C72 -:10D470007091440C8091450C9091460C0F94A2043D -:10D480006B017C019B01AC01688579858A859B8550 -:10D490000F947B0587FF04C0C886D986EA86FB8681 -:10D4A000C0902F0CD090300CE090310CF090320CEA -:10D4B000A7019601688179818A819B810F947E07FB -:10D4C000181624F4C882D982EA82FB82C090330CF9 -:10D4D000D090340CE090350CF090360CA7019601FA -:10D4E0006C817D818E819F810F947E07181624F4B4 -:10D4F000CC82DD82EE82FF82C090370CD090380C57 -:10D50000E090390CF0903A0CA70196016885798576 -:10D510008A859B850F947E07181624F4C886D986C1 -:10D52000EA86FB86DF91CF91FF90EF90DF90CF905E -:10D5300008952F923F924F925F926F927F928F92B7 -:10D540009F92AF92BF92CF92DF92EF92FF920F9392 -:10D550001F93CF93DF93CDB7DEB7AF970FB6F89495 -:10D56000DEBF0FBECDBF9BA38AA37DA36CA35FA329 -:10D570004EA339A728A71BA70AA7E98ADC016D914A -:10D580007D918D919C9120919D1330919E1340919E -:10D590009F135091A013ECA1FDA180809180A280E7 -:10D5A000B3804090A1135090A2136090A313709089 -:10D5B000A413AEA1BFA1ED90FD900D911C91EA8A3C -:10D5C000FB8A0C8B1D8BE090A513F090A6130091A5 -:10D5D000A7131091A813EE8EFF8E08A319A3E09154 -:10D5E0000C18E11135C0AAA5BBA5ED90FD900D91D9 -:10D5F0001C91FE0171966F0128A539A54EA15FA16E -:10D600006CA17DA18AA19BA10E9498EF80E1E8E630 -:10D61000F3E1ADE9B3E101900D928A95E1F7AF96A0 -:10D620000FB6F894DEBF0FBECDBFDF91CF911F9133 -:10D630000F91FF90EF90DF90CF90BF90AF909F90B1 -:10D640008F907F906F905F904F903F902F900895B4 -:10D650000F94A1046E8B7F8B888F998F20E030E030 -:10D66000A9010F947E07CE88DF88E88CF98C181604 -:10D6700024F0F7FAF094F7F8F094A3019201C501B1 -:10D68000B4010F94A1046A8F7B8F8C8F9D8F20E053 -:10D6900030E0A9010F947E078A8C9B8CAC8CBD8CEA -:10D6A000181624F0B7FAB094B7F8B0942E8D3F8DC9 -:10D6B00048A159A16A897B898C899D890F94A1040D -:10D6C0002B013C01A5019401C701B6010F94A204EE -:10D6D0006B017C0120E030E0A901C301B2010F948D -:10D6E0007E07A301920118160CF05058C701B6012D -:10D6F0000F94A2046B017C0120E030E0A9010F949B -:10D700007E0718160CF06FCF20E030E040EF51E4B8 -:10D71000C701B6010F9482050F9458060F94EA05CD -:10D720007B8B6A8B8B01623071050CF45CCF20918E -:10D73000A9133091AA134091AB135091AC13A8A533 -:10D74000B9A56D917D918D919C910F94A1046E8FDF -:10D750007F8F88A399A322242394312C780100275A -:10D76000F7FC0095102FECA6FDA60EA71FA7B10190 -:10D77000882777FD8095982F0F941D066B017C01FB -:10D780006CA57DA58EA59FA50F941D069B01AC01E0 -:10D79000C701B6010F9482056B017C01AAA5BBA548 -:10D7A0008D909D90AD90BC902E8D3F8D48A159A13C -:10D7B0000F9450089B01AC016091A9137091AA13BA -:10D7C0008091AB139091AC130F94A20469837A8378 -:10D7D0008B839C83A3019201C701B6010F9450086B -:10D7E0009B01AC016091A5137091A6138091A713C2 -:10D7F0009091A8130F94A2046D837E838F839887E2 -:10D800002A8D3B8D4C8D5D8DC701B6010F9450085C -:10D810009B01AC016091A1137091A2138091A3139D -:10D820009091A4130F94A20469877A878B879C87B1 -:10D830002E893F89488D598DC701B6010F94500834 -:10D840009B01AC0160919D1370919E1380919F1379 -:10D850009091A0130F94A2046D877E878F87988B79 -:10D86000FE0171966F01850174019E012F5F3F4F8C -:10D87000AE014B5F5F4FBE01675F7F4FCE010D96DC -:10D880000E9498EFFFEF2F1A3F0AEA88FB882E14B8 -:10D890003F0409F06CCFA7CEEF920F931F93CF9365 -:10D8A000DF9300D01F92CDB7DEB788E693E1A8DD05 -:10D8B0000E94C8FE6093B3117093B4118093B511A8 -:10D8C0009093B611209168133091691340916A13B7 -:10D8D00050916B1360919D1370919E1380919F13D3 -:10D8E0009091A0130F947B05E090891381117CC067 -:10D8F00020916C1330916D1340916E1350916F1302 -:10D900006091A1137091A2138091A3139091A4131D -:10D910000F947B05811168C020E030E040E752E4BD -:10D920006091190C70911A0C80911B0C90911C0C39 -:10D930000F94820569837A838B839C838E010F5FAA -:10D940001F4F24E733E140E753E16CE673E188E6DB -:10D9500093E1EFDD8091681390916913A0916A13B0 -:10D96000B0916B1380939D1390939E13A0939F137C -:10D97000B093A01380916C1390916D13A0916E13CE -:10D98000B0916F138093A1139093A213A093A3134C -:10D99000B093A4138091701390917113A09172139E -:10D9A000B09173138093A5139093A613A093A7131C -:10D9B000B093A8138091741390917513A09176136E -:10D9C000B09177138093A9139093AA13A093AB13EC -:10D9D000B093AC130F900F900F900F90DF91CF91F9 -:10D9E0001F910F91EF9008956091550C7091560C16 -:10D9F000882777FD8095982F0F941D062091190C8C -:10DA000030911A0C40911B0C50911C0C0F94500833 -:10DA100020E030E040E752E40F94820520E030E05F -:10DA200048EC52E485CFCF92DF92EF92FF92CF93F2 -:10DA3000C62FE0918913F0E0882309F4C2C0DF010A -:10DA4000AB57BC4E8C91811196C180919D139091E2 -:10DA50009E13A0919F13B091A0138093681390938D -:10DA60006913A0936A13B0936B138091A1139091E3 -:10DA7000A213A091A313B091A41380936C1390935D -:10DA80006D13A0936E13B0936F138091A5139091B3 -:10DA9000A613A091A713B091A8138093701390932D -:10DAA0007113A0937213B0937313C090A913D09005 -:10DAB000AA13E090AB13F090AC13C0927413D09201 -:10DAC0007513E0927613F0927713EE0FFF1FEE0FAF -:10DAD000FF1FE95BF34F208131814281538166232F -:10DAE00049F06091270C7091280C8091290C90913D -:10DAF0002A0C08C060912B0C70912C0C80912D0C7D -:10DB000090912E0C0F9482059B01AC01C701B601C8 -:10DB10000F94A2046093A9137093AA138093AB137C -:10DB20009093AC1389EA93E10E947AFAC090190CA1 -:10DB3000D0901A0CE0901B0CF0901C0C20E030E010 -:10DB400040E752E46091230C7091240C8091250CE5 -:10DB50009091260C0F9450086093190C70931A0C36 -:10DB600080931B0C90931C0CE0918913F0E0EB5711 -:10DB7000FC4E81E0808390DE2091811330918213EE -:10DB800040918313509184136091A5137091A61353 -:10DB90008091A7139091A8130F94A1046093A513EB -:10DBA0007093A6138093A7139093A81329EA33E1E7 -:10DBB00045EA53E161EA73E18DE993E10E94A6F938 -:10DBC000D1C0EB57FC4E8081882309F4D4C08091EA -:10DBD0009D1390919E13A0919F13B091A0138093D9 -:10DBE000681390936913A0936A13B0936B13809199 -:10DBF000A1139091A213A091A313B091A4138093A9 -:10DC00006C1390936D13A0936E13B0936F13609188 -:10DC1000A5137091A6138091A7139091A8136093F8 -:10DC20007013709371138093721390937313C09059 -:10DC3000A913D090AA13E090AB13F090AC13C0924C -:10DC40007413D0927513E0927613F09277132091AB -:10DC500081133091821340918313509184130F9458 -:10DC6000A2046093A5137093A6138093A7139093B7 -:10DC7000A81329EA33E145EA53E161EA73E18DE94A -:10DC800093E10E94A6F9F0908913CC2389F02091AA -:10DC9000791330917A1340917B1350917C136091EA -:10DCA000270C7091280C8091290C90912A0C10C09F -:10DCB00020917D1330917E1340917F1350918013FA -:10DCC00060912B0C70912C0C80912D0C90912E0C4E -:10DCD0000F94A20424E0F29EF0011124E95BF34FBB -:10DCE00020813181428153810F9482059B01AC01D7 -:10DCF0006091A9137091AA138091AB139091AC130A -:10DD00000F94A1046093A9137093AA138093AB138B -:10DD10009093AC1389EA93E10E947AFAC090190CAF -:10DD2000D0901A0CE0901B0CF0901C0C20E030E01E -:10DD300040E752E460911F0C7091200C8091210CFF -:10DD40009091220C0F9450086093190C70931A0C48 -:10DD500080931B0C90931C0CE0918913F0E0EB571F -:10DD6000FC4E108299DDC092190CD0921A0CE092F0 -:10DD70001B0CF0921C0CCF91FF90EF90DF90CF9096 -:10DD80000895AF92BF92CF92DF92EF92FF920F93DE -:10DD90001F93CF93DF93D82F20916013309161139D -:10DDA000409162135091631360915C1370915D1305 -:10DDB00080915E1390915F130F948B07C62F172FDE -:10DDC000082FF92E6091550C7091560C882777FD1D -:10DDD0008095982F0F941D062091190C30911A0CE4 -:10DDE00040911B0C50911C0C0F94500820E030E027 -:10DDF00040E752E40F94820520E030E048EC52E422 -:10DE00000F948205209189132F93DF93FF920F9334 -:10DE10001F93CF935B016C01E2E0EE2E01E020E066 -:10DE20004CE553E168E673E18DE993E10E94984F78 -:10DE30008091681390916913A0916A13B0916B134C -:10DE400080939D1390939E13A0939F13B093A01360 -:10DE500080916C1390916D13A0916E13B0916F131C -:10DE60008093A1139093A213A093A313B093A41330 -:10DE70008091701390917113A0917213B0917313EC -:10DE80008093A5139093A613A093A713B093A81300 -:10DE90008091741390917513A0917613B0917713BC -:10DEA0008093A9139093AA13A093AB13B093AC13D0 -:10DEB0000E94C8FE6093B3117093B4118093B511A2 -:10DEC0009093B6110F900F900F900F900F900F90AE -:10DED000DF91CF911F910F91FF90EF90DF90CF9046 -:10DEE000BF90AF900895F8940E945B41179A1092EA -:10DEF0008E13169A10928F13149A60E087E40E9492 -:10DF0000E8FDE5E5F3E58491882341F09091C000B8 -:10DF100095FFFCCF8093C6003196F5CFE091BB13FF -:10DF2000F0E0EE0FFF1FE85DFD4F0190F081E02D66 -:10DF3000E459FE4F0190F081E02D8491882341F057 -:10DF40009091C00095FFFCCF8093C6003196F5CF2D -:10DF50008091C00085FFFCCF8AE08093C600E091ED -:10DF6000BB13F0E0EE0FFF1FE85DFD4F0190F08165 -:10DF7000E02DE653FF4F808191810E9462AD78943D -:10DF8000C6E0D0E02197209749F068EC70E080E08F -:10DF900090E00E94F7FE0E9404AEF4CFF894FFCF09 -:10DFA0000E945B418091A111811151C081E0809359 -:10DFB000A11180914C1390914D13A0914E13B091EB -:10DFC0004F138093481390934913A0934A13B0932F -:10DFD0004B13E5E5F3E58491882341F09091C0006F -:10DFE00095FFFCCF8093C6003196F5CFE091BB132F -:10DFF000F0E0EE0FFF1FE85DFD4F0190F081E02D96 -:10E00000E259FE4F0190F081E02D8491882341F088 -:10E010009091C00095FFFCCF8093C6003196F5CF5C -:10E020008091C00085FFFCCF8AE08093C600E0911C -:10E03000BB13F0E0EE0FFF1FE85DFD4F0190F08194 -:10E04000E02DE453FF4F808191810C946BAB0895D8 -:10E050008091A1110895CF93DF93EC0180918913F2 -:10E060008093A21184E58BD8811102C080E0B7C0F3 -:10E0700072D80F94EF056093A2116623B9F3EFE411 -:10E08000F3E58491882341F09091C00095FFFCCF87 -:10E090008093C6003196F5CFCD36D10509F454C032 -:10E0A000BCF4C836D10561F1C936D10509F087C085 -:10E0B000E091BB13F0E0EE0FFF1FE85DFD4F019014 -:10E0C000F081E02DEC5AFE4F0190F081E02D38C038 -:10E0D000CA3DD10509F451C0CD3DD10509F06FC04D -:10E0E000E091BB13F0E0EE0FFF1FE85DFD4F0190E4 -:10E0F000F081E02DE65AFE4F0190F081E02D5CC0EA -:10E10000E091BB13F0E0EE0FFF1FE85DFD4F0190C3 -:10E11000F081E02DEE5AFE4F0190F081E02D8191CB -:10E12000882309F44CC09091C00095FFFCCF8093E8 -:10E13000C600F5CF9091C00095FFFCCF8093C6003C -:10E1400081918111F7CF3BC0E091BB13F0E0EE0F5E -:10E15000FF1FE85DFD4F0190F081E02DE25AFE4F78 -:10E160000190F081E02D8191882349F19091C000C8 -:10E1700095FFFCCF8093C600F6CFE091BB13F0E093 -:10E18000EE0FFF1FE85DFD4F0190F081E02DE85A92 -:10E19000FE4F0190F081E02D8191882381F09091D4 -:10E1A000C00095FFFCCF8093C600F6CF9091C000D1 -:10E1B00095FFFCCF8093C60081918111F7CF40E09D -:10E1C00050E06091A2118BE397E10E94F8DA809110 -:10E1D000C00085FFFCCF8AE08093C60081E0DF911C -:10E1E000CF9108954F925F926F927F928F929F92FC -:10E1F000AF92BF92CF92DF92EF92FF92CF93DF93D5 -:10E2000000D01F92CDB7DEB72B013C0129833A83A2 -:10E210004B835C838DEE9FE00F9466118F3F01F579 -:10E220008EEE9FE00F9466118F3FD1F48FEE9FE04A -:10E230000F9466118F3FA1F480EF9FE00F94661159 -:10E240008F3F71F440E050E0BA018DEE9FE00F94F3 -:10E25000731140E050E0BA0181EF9FE00F94731119 -:10E2600081EF9FE00F946E114B015C018DEE9FE0FA -:10E270000F946E116B017C0169817A818B819C8185 -:10E280002CE330E040E050E00F945909C20ED31E59 -:10E29000E41EF51EB701A6018DEE9FE00F947311E9 -:10E2A000C301B20128EE33E040E050E00F94590979 -:10E2B000BA01A901480D591D6A1D7B1D81EF9FE020 -:10E2C0000F9473111092B7131092B8131092B913E0 -:10E2D0001092BA130F900F900F900F90DF91CF9183 -:10E2E000FF90EF90DF90CF90BF90AF909F908F9076 -:10E2F0007F906F905F904F9008952F923F924F9232 -:10E300005F926F927F928F929F92AF92BF92CF92C5 -:10E31000DF92EF92FF920F931F93CF93DF93CDB7CE -:10E32000DEB76E970FB6F894DEBF0FBECDBF30E6F6 -:10E33000B32E44E0E42EF12C5AE0952E6AE0C62E6E -:10E34000D12CAA24A3948091BC179091BD17209141 -:10E35000BE173091BF17821B930B8F779927892B9C -:10E3600039F08091BD119091BE1104970CF448C012 -:10E370008091D013882309F4E7C38091BA1190915A -:10E38000BB11892B09F0E0C38091BD119091BE11A2 -:10E39000892B11F410929F11F8EE2F2EF3E03F2EEF -:10E3A000412C512CACE38A2E912CA12CB12C8E0146 -:10E3B0000F5F1F4FE0E66E2E7724739440916B162B -:10E3C00050916C1660916D1670916E168091631667 -:10E3D00090916416A0916516B0916616481759077A -:10E3E0006A077B0708F0B0C38091BD119091BE1100 -:10E3F00004970CF0A9C380919F118111A5C36FC22E -:10E400008BE397E10E94DBD98093BC112091BA1174 -:10E410003091BB118A3061F08D3051F08A3321F494 -:10E420009091B911992321F02F3531050CF450C189 -:10E430002115310509F46AC18091BF119091C01175 -:10E44000B89E3001B99E700C1124F301E20FF31F46 -:10E45000E953FE4E10822091B911211134C110925E -:10E46000B911FC01ED53FE4E1082830109531E4E7B -:10E470006EE470E0C8010F94120F0097F1F19093D1 -:10E48000B8118093B711801B910B860D971D4AE040 -:10E4900050E060E070E088539E4E0F94450D60930D -:10E4A00050137093511380935213909353134090D1 -:10E4B0004C1350904D1360904E1370904F132FEFEC -:10E4C000421A520A620A720A0091BF111091C011D9 -:10E4D000641575058605970509F41BC1B09EC0013A -:10E4E000B19E900D11246AEB72E589539E4E0F94F4 -:10E4F000BD0E892B09F00DC1B8C16AE270E0C801F8 -:10E500000F94120F892B09F451C0E5E5F3E58491CE -:10E51000882341F09091C00095FFFCCF8093C60006 -:10E520003196F5CFE091BB13F0E0EE0FFF1FE85DF1 -:10E53000FD4F0190F081E02DE65BFE4F0190F081F0 -:10E54000E02D8491882341F09091C00095FFFCCF8D -:10E550008093C6003196F5CF40914C1350914D13E6 -:10E5600060914E1370914F132AE030E08BE397E1F6 -:10E570000E9496DA8091C00085FFFCCF8AE08093EC -:10E58000C6001092BB111092BA11DEC280915013D6 -:10E5900090915113A0915213B091531380934C1347 -:10E5A00090934D13A0934E13B0934F136090BF11EF -:10E5B0007090C011B69C8001B79C100D11240953B6 -:10E5C0001E4E67E470E0C8010F94120F009709F423 -:10E5D00056C09093B8118093B7112091D013211198 -:10E5E00006C0D092BF13C092BE13A092C113801B6D -:10E5F000910BB69C9001B79C300D1124820F931F94 -:10E6000060E070E088539E4E0F94DD0B0F94EA0596 -:10E6100064307105A0F58091A111882381F1E0910A -:10E62000BB13F0E0EE0FFF1FE85DFD4F0190F0819E -:10E63000E02DE259FE4F0190F081E02D8491882376 -:10E6400041F09091C00095FFFCCF8093C6003196B9 -:10E65000F5CF8091C00085FFFCCF9092C600E0917D -:10E66000BB13F0E0EE0FFF1FE85DFD4F0190F0815E -:10E67000E02DE453FF4F808191810E946BAB0091AC -:10E68000BF111091C011B09EC001B19E900D112418 -:10E6900069E97DE089539E4E0F941D0F892B09F483 -:10E6A00022DCC8010196B7010F9446099093C0116E -:10E6B0008093BF118091BD119091BE1101969093EE -:10E6C000BE118093BD111092BB111092BA113BCEB6 -:10E6D0008B3311F4A092B9119091B911911133CEED -:10E6E0004091BF115091C011B9016F5F7F4F70937E -:10E6F000BB116093BA11B49EF001B59EF00D1124C8 -:10E70000E20FF31FE953FE4E80831DCE1092B91124 -:10E710001BC2B09E3001B19E700C1124C3018953FD -:10E720009E4E1C016AE270E00F94120F009709F0F0 -:10E730003FC0E5E5F3E58491882341F09091C00066 -:10E7400095FFFCCF8093C6003196F5CFE091BB13C7 -:10E75000F0E0EE0FFF1FE85DFD4F0190F081E02D2E -:10E76000E85BFE4F0190F081E02D8491882341F019 -:10E770009091C00095FFFCCF8093C6003196F5CFF5 -:10E7800040914C1350914D1360914E1370914F1363 -:10E790002AE030E08BE397E10E9496DA8091C00096 -:10E7A00085FFFCCF8AE08093C6000E941B69E9CEFA -:10E7B00020E010E0F301E20FF11DE953FE4E30813D -:10E7C0003A3219F02F5F1327F5CF9093B811809349 -:10E7D000B71182199309860D971D60E070E0885388 -:10E7E0009E4E0F94DD0B0F94EA05212F30E0261783 -:10E7F000370709F4CBCEE5E5F3E58491882341F0B2 -:10E800009091C00095FFFCCF8093C6003196F5CF64 -:10E81000E091BB13F0E0EE0FFF1FE85DFD4F0190AC -:10E82000F081E02DEA5BFE4F0190F081E02D8491B4 -:10E83000882341F09091C00095FFFCCF8093C600E3 -:10E840003196F5CF40914C1350914D1360914E137A -:10E8500070914F132AE030E08BE397E10E9496DA43 -:10E860008091C00085FFFCCF9DCFE5E5F3E5849165 -:10E87000882341F09091C00095FFFCCF8093C600A3 -:10E880003196F5CFE091BB13F0E0EE0FFF1FE85D8E -:10E89000FD4F0190F081E02DEC5BFE4F0190F08187 -:10E8A000E02D8491882341F09091C00095FFFCCF2A -:10E8B0008093C6003196F5CF40914C1350914D1383 -:10E8C00060914E1370914F132AE030E08BE397E193 -:10E8D0000E9496DA8091C00085FFFCCF63CF8091C3 -:10E8E000BE159091BF15A091C015B091C115809330 -:10E8F0006B1690936C16A0936D16B0936E1686EB04 -:10E9000095E10E948433482F8093BC118A30B9F07E -:10E910004D30A9F0433229F42091B911222379F026 -:10E9200002C04A33C9F32091BA113091BB112F357F -:10E9300031052CF48F3F5FEF950709F0E7C0409158 -:10E940006B1650916C1660916D1670916E168091D9 -:10E95000631690916416A0916516B09166164817DB -:10E9600059076A077B0708F497C0E091BB13F0E0F2 -:10E97000EE0FFF1FE85DFD4F0190F081E02DE45B9D -:10E98000FE4F0190F081E02D8491882341F0909119 -:10E99000C00095FFFCCF8093C6003196F5CF8091E3 -:10E9A000C00085FFFCCF8AE08093C6000E94C8FEAD -:10E9B0006093A7117093A8118093A9119093AA1145 -:10E9C000C090AB11D090AC11E090AD11F090AE11B1 -:10E9D0006C197D098E099F09A20191010F945909B3 -:10E9E00069017A016091B7137091B8138091B913DE -:10E9F0009091BA13F7DBC701B601A50194010F94FA -:10EA00005909CA01B901A50194010F9459097F93CD -:10EA10006F93C701B60120E13EE040E050E00F9463 -:10EA200059093F932F93A6EAB2E5BF93AF931F9383 -:10EA30000F930F944A0FEFE4F3E584910FB6F89427 -:10EA4000DEBF0FBECDBF882349F09091C00095FF77 -:10EA5000FCCF8093C60031968491F5CFF801819167 -:10EA6000882339F09091C00095FFFCCF8093C600B9 -:10EA7000F6CF8091C00085FFFCCF3AE03093C6000E -:10EA8000C8010E945EAB8EEC93E10E940A6061E0D7 -:10EA90008EEC93E10E94CD598091BC11833211F428 -:10EAA00070929F112091BA113091BB11211531053F -:10EAB00009F42CCE8091BF119091C011689EF00195 -:10EAC000699EF00D1124E20FF31FE953FE4E1082F0 -:10EAD000FC01ED53FE4E70822091BD113091BE11AC -:10EAE0002F5F3F4F3093BE112093BD11019664E01C -:10EAF00070E00F9446099093C0118093BF1110925B -:10EB0000B9111092BB111092BA1158CC4B3311F4B9 -:10EB10007092B9114091B91141114CCC4091BF1183 -:10EB20005091C011B9016F5F7F4F7093BB1160931B -:10EB3000BA11649EF001659EF00D1124E20FF31FDF -:10EB4000E953FE4E80833ACC6E960FB6F894DEBF42 -:10EB50000FBECDBFDF91CF911F910F91FF90EF902E -:10EB6000DF90CF90BF90AF909F908F907F906F90ED -:10EB70005F904F903F902F900895CF92DF92EF9249 -:10EB8000FF920F931F93CF93C82F8091BD11909147 -:10EB9000BE1103970CF4B1DB0E94C8FE0091AF11C7 -:10EBA0001091B0112091B1113091B211C090B311F8 -:10EBB000D090B411E090B511F090B6116C197D09A8 -:10EBC0008E099F09061717072807390728F4012B14 -:10EBD000022B032B09F087D94091150C5091160C8C -:10EBE0006091170C7091180C452B462B472B19F18F -:10EBF0000E94C8FE0091B3111091B4112091B5117B -:10EC00003091B611601B710B820B930B0091150CA8 -:10EC10001091160C2091170C3091180C061717073D -:10EC20002807390740F49091D2188091D118981391 -:10EC300002C0CC2349F0CF911F910F91FF90EF902C -:10EC4000DF90CF900C947CEF179A10928E13169A47 -:10EC500010928F13149AEFCFCF92DF92EF92FF9220 -:10EC60002091AD132223F1F020E030E040E05FE39B -:10EC70000F9450086B017C0120E030E0A9010F9453 -:10EC80007B05882379F0A7019601C701B6010F948F -:10EC900050082BED3FE049E450E40F9450089B01ED -:10ECA000AC0104C020E030E040E85FE360E070E0E9 -:10ECB00080E89FE30F948205FF90EF90DF90CF9064 -:10ECC000089560914B0C70914C0C80914D0C90917B -:10ECD0004E0CC2DF6093470C7093480C8093490C34 -:10ECE00090934A0C08952F923F924F925F926F92A9 -:10ECF0007F928F929F92AF92BF92CF92DF92EF92CC -:10ED0000FF920F931F93CF93DF93CDB7DEB7C3541A -:10ED1000D1090FB6F894DEBF0FBECDBF81E40E94CB -:10ED2000BF68882309F455C082E70E94BF68882322 -:10ED3000A9F0EEE9FDE08191882339F09091C000BF -:10ED400095FFFCCF8093C600F6CF8091C00085FF71 -:10ED5000FCCF8AE08093C6000C94349386E70E942F -:10ED6000BF688823A9F0E4EAFDE08191882339F0A7 -:10ED70009091C00095FFFCCF8093C600F6CF8091A4 -:10ED8000C00085FFFCCF8AE08093C6000C943493CA -:10ED900087E60E94BF68882321F00E9439AB0C945B -:10EDA00034938AE70E94BF68882341F060E070E0F6 -:10EDB00088EF9FE00E94A9A60C9434938CE60E94F1 -:10EDC000BF68882311F40C9434930E94D0A60C944D -:10EDD000349387E40E94BF68882309F47CC50E94AD -:10EDE000AB680F94EA056135710509F4BDC34CF5B4 -:10EDF0006430710509F4C8C054F46230710509F437 -:10EE0000ABC00CF0B5C077FF4FC00C9434936B309F -:10EE1000710509F40DC15CF46A30710511F00C94B0 -:10EE2000349360E081E00E94136D0C9434936C3154 -:10EE3000710509F403C16035710509F492C10C94A0 -:10EE400034936635710509F4EBC49CF463357105A0 -:10EE500009F487C40CF441C46435710509F4D3C4C2 -:10EE60006535710511F00C9434930E942ACB0C94F3 -:10EE700034936A35710509F4DAC464F467357105B1 -:10EE800011F00C94349361E087EF9FE00F947B11B5 -:10EE90000C9434936B35710509F4CDC46C35710550 -:10EEA00009F4CEC40C9434938091A11181110C9477 -:10EEB00034930E9453696091B7137091B813809195 -:10EEC000B9139091BA130F941B066B017C0120912A -:10EED000A9133091AA134091AB135091AC136091D8 -:10EEE00074137091751380917613909177130F942A -:10EEF000A10420E030E048EC52E40F9450089B015C -:10EF0000AC01C701B6010F94A2040F94EF05609302 -:10EF1000B7137093B8138093B9139093BA13809179 -:10EF200086138823A9F088E50E94BF68811110C06C -:10EF300089E50E94BF6881110BC08AE50E94BF6805 -:10EF4000811106C085E40E94BF6881110C9437933B -:10EF50000E944C6C0C9434938091A11181110C94FB -:10EF600034930E94D26981E00E94C16E0C94349364 -:10EF70008091A11181110C9434930E94D26980E098 -:10EF80000E94C16E0C943493E091BB13F0E0EE0F3D -:10EF9000FF1FE85DFD4F0190F081E02DE054FF4F31 -:10EFA000808191810E946BAB80E50E94BF688823BD -:10EFB00039F00E94AB680F94EF054B015C0103C070 -:10EFC000812C912C540183E50E94BF68882361F055 -:10EFD0000E94AB6820E030E04AE754E40F94500808 -:10EFE0000F94EF054B015C010E9415E40E94C8FEDE -:10EFF0006B017C01C80CD91CEA1CFB1C0E94C8FEDA -:10F000006093B3117093B4118093B5119093B611BE -:10F010000E94C8FE6C157D058E059F0510F00C94AE -:10F0200034930E941A4780E0A8DD0E9404AEF0CF1E -:10F0300060E080E00E94136D0C9434931092C01332 -:10F0400010920C188091190C90911A0CA0911B0C25 -:10F05000B0911C0C8093541390935513A0935613A6 -:10F06000B09357138091550C9091560C9093C31305 -:10F070008093C21384E690E09093560C8093550CD5 -:10F080000E94C8FE6093B3117093B4118093B511C0 -:10F090009093B61181E00E9495DC80919D13909130 -:10F0A0009E13A0919F13B091A01380936813909327 -:10F0B0006913A0936A13B0936B138091A11390917D -:10F0C000A213A091A313B091A41380936C139093F7 -:10F0D0006D13A0936E13B0936F138091A51390914D -:10F0E000A613A091A713B091A813809370139093C7 -:10F0F0007113A0937213B09373138091A91390911D -:10F10000AA13A091AB13B091AC1380937413909396 -:10F110007513A0937613B09377131092190C109275 -:10F120001A0C10921B0C10921C0C88E50E94BF68F0 -:10F13000882311F090E00AC089E50E94BF68811120 -:10F14000F9CF8AE50E94BF6891E0982790931D0C43 -:10F15000992311F40C94669381E08093C0130C946E -:10F16000C5948091D01381110FC081E08093B213B8 -:10F1700081E090E09093B1138093B01383E190E02D -:10F180009093AF138093AE1380918E13882341F038 -:10F1900080918F13882321F08091901381110AC0F0 -:10F1A0008EE992E50E9427668AE992E50E94276629 -:10F1B0000C9434938CE098E10E94ADE780E090E0FD -:10F1C000A0E4B1E480939D1390939E13A0939F13AA -:10F1D000B093A01380E090E0A0E4B0EC8093A11382 -:10F1E0009093A213A093A313B093A41320E030E054 -:10F1F00040EF51E46091570C7091580C8091590C7C -:10F2000090915A0C0F948205F9E8CF2EF3E1DF2E8E -:10F210007B018C0129EA33E145EA53E161EA73E1BC -:10F220008DE993E10E9498EF80E090E0A0EAB0E4DD -:10F230008093A5139093A613A093A713B093A8133C -:10F2400020E030E040E752E460915F0C7091600C88 -:10F250008091610C9091620C0F9482057B018C016E -:10F2600029EA33E145EA53E161EA73E18DE993E18B -:10F270000E9498EF0E9415E420E030E040EA51E45B -:10F280006091570C7091580C8091590C90915A0CC8 -:10F290000F9482050F94EA058B0120E030E040E2F4 -:10F2A00052E460915F0C7091600C8091610C9091C0 -:10F2B000620C0F9482050F94EA057B010E94DD62C7 -:10F2C00019AE18AEC701AA2797FDA095BA2F8CAF2B -:10F2D0009DAFAEAFBFAFC801AA2797FDA095BA2FCB -:10F2E00024968CAF9DAFAEAFBFAF249780E090E087 -:10F2F000A0EAB0E48093A5139093A613A093A7135C -:10F30000B093A8136CAD7DAD8EAD9FAD0F941D066F -:10F310001B012C01E9E8CE2EE3E1DE2E7B018C01FE -:10F3200029EA33E145EA53E161EA73E18DE993E1CA -:10F330000E9498EF0E9415E488AD99AD63E070E0FB -:10F340000F9446097BAF6AAF3C019AAD90FF05C0B0 -:10F35000A2E0B0E0A619B7093D01B301882777FD07 -:10F360008095982F0F941D0620E030E04BEC52E47E -:10F370000F94500820E030E04CE052E40F94A204D7 -:10F3800020E030E048EB51E40F94A10460939D131A -:10F3900070939E1380939F139093A013EAADFBADDF -:10F3A000BF01882777FD8095982F0F941D0620E0D8 -:10F3B00030E044EC52E40F94500820E030E040ECA0 -:10F3C00050E40F94A20420E030E040E151E40F94B7 -:10F3D000A1046093A1137093A2138093A31390933D -:10F3E000A41324966CAD7DAD8EAD9FAD24970F9484 -:10F3F0001D064B015C0169E8C62E63E1D62E85012E -:10F40000740129EA33E145EA53E161EA73E18DE9E8 -:10F4100093E10E9498EF0E9415E40E942E6387E01A -:10F420002AAD3BAD829FF001839FF00D1124E60DC4 -:10F43000F71DEE0FFF1FEE0FFF1FE45FF74E8091E9 -:10F44000A5139091A613A091A713B091A81381833F -:10F450009283A383B4838091D013811109C08091DA -:10F46000AE139091AF1301979093AF138093AE13A7 -:10F47000A8ADB9AD1196B9AFA8AF199709F036CFBD -:10F480000E94086380E090E0A0EAB0E48093A513B6 -:10F490009093A613A093A713B093A81359E8C52E71 -:10F4A00053E1D52E8201710129EA33E145EA53E1A6 -:10F4B00061EA73E18DE993E10E9498EF8CE098E1B5 -:10F4C0000E94C8E781E080930C188DEC9CECACE4C2 -:10F4D000BEE380939D1390939E13A0939F13B093CC -:10F4E000A01343E353E363E770EC4093A1135093FD -:10F4F000A2136093A3137093A4138093A513909306 -:10F50000A613A093A713B093A8138501740129EA49 -:10F5100033E145EA53E16DE973E1CB010E9498EFD5 -:10F520000E9415E48091D013811106C08091C1130F -:10F53000882311F40C94349387EF9FE00F946611A5 -:10F54000813011F00C9434936CEC73E188EF9FE000 -:10F550000E94BAA68091CC139091CD139093401144 -:10F5600080933F110C94349380910C18882309F4F4 -:10F570009EC0E0E9F2E58491882341F09091C000BB -:10F5800095FFFCCF8093C6003196F5CF4AE050E05E -:10F5900067E070E08BE397E10E94C1DAEEE8F2E504 -:10F5A0008491882341F09091C00095FFFCCF809317 -:10F5B000C6003196F5CF4AE050E067E070E08BE39B -:10F5C00097E10E94C1DAEBE7F2E58491882341F0EC -:10F5D0009091C00095FFFCCF8093C6003196F5CF87 -:10F5E0004AE050E065E070E08BE397E10E94C1DA09 -:10F5F000E9E6F2E58491882341F09091C00095FFFF -:10F60000FCCF8093C6003196F5CF8091C00085FF76 -:10F61000FCCF8AE08093C60000E010E036E6A32E1F -:10F6200032E5B32E44E6842E42E5942EE12CF12CF3 -:10F6300098012C54374E6901F5018491E6E6F2E514 -:10F64000882349F09091C00095FFFCCF8093C600BD -:10F6500031968491F5CFF601EE0DFF1D4181528167 -:10F660006381748125E030E08BE397E10E9497DBB2 -:10F67000F4E0EF0EF11C2CE1E216F104E9F6F401DE -:10F680008491E4E6F2E5882349F09091C00095FF6B -:10F69000FCCF8093C60031968491F5CF0C511109AF -:10F6A0000C33FFEF1F0709F0C1CF0C943493E6E44D -:10F6B000F2E58491882341F09091C00095FFFCCF42 -:10F6C0008093C6003196F5CF8091C00085FFFCCFB6 -:10F6D0008AE08093C6000C943493E9E3F2E58491C8 -:10F6E000882341F09091C00095FFFCCF8093C60025 -:10F6F0003196F5CF8091C00085FFFCCF8AE08093E2 -:10F70000C6000E94DD620E942E630E940863EAE246 -:10F71000F2E58491882341F09091C00095FFFCCFE1 -:10F720008093C6003196F5CF4091A5135091A61352 -:10F730006091A7137091A81325E030E08BE397E167 -:10F740000E9497DBE8E2F2E58491882311F40C949F -:10F7500034939091C00095FFFCCF8093C600319602 -:10F76000F3CF83E50E94BF68882331F00E94AB6825 -:10F770000F94EA058B0102C000E010E080E50E94D2 -:10F78000BF68882311F10E94AB680F94EA05011548 -:10F79000110511F40C94349365307105ECF0E4E13B -:10F7A000F2E58491882341F09091C00095FFFCCF51 -:10F7B0008093C6003196F5CF8091C00085FFFCCFC5 -:10F7C0008AE08093C6000C9434930115110511F45E -:10F7D0000C94349360E070E01093CD130093CC133D -:10F7E000CB01880F991F6CEC73E18B50904F0E94F6 -:10F7F000A9A68091CC139091CD1390934011809342 -:10F800003F110C9434938091CC139091CD1391952A -:10F81000819591099093401180933F110C943493FA -:10F820006FEF87EF9FE00F947B110C94349310924D -:10F8300047130C94349381E0809347130C943493D2 -:10F8400085E40E94BF68811102C00E9415E408E2AD -:10F85000C02E0EE0D02E81E9E82E83E1F82E0DE9CE -:10F8600013E1B12CD6018D916D010E94BF688823F0 -:10F8700039F1B3E0BB120CC00E94AB68F8016083A1 -:10F8800071838283938389EA93E10E947AFA18C094 -:10F890000E94AB68D7012D913D914D915C910F94E1 -:10F8A000A204F801608371838283938329EA33E1A0 -:10F8B00045EA53E161EA73E18DE993E10E94A6F91B -:10F8C000B394F4E0EF0EF11C0C5F1F4F24E0B21272 -:10F8D000C9CF0C9434938DE40E94BF68882311F43F -:10F8E0000C943B920E94AB680F94EA056737710550 -:10F8F00011F40C9484860CF0F7C06A32710509F497 -:10F9000062C40CF07AC06731710509F4BBC20CF017 -:10F9100044C06231710511F40C949B841CF577FF8F -:10F9200002C00C943493623071050CF4AFC16131A4 -:10F93000710511F00C943493E091BB13F0E0EE0FDD -:10F94000FF1FE85DFD4F0190F081E02DE853FF4F70 -:10F95000808191810E946BAB179816981598149826 -:10F960000C9434936531710509F480C20CF084C2A3 -:10F970006431710511F00C943493E091BB13F0E005 -:10F98000EE0FFF1FE85DFD4F0190F081E02DE25B7F -:10F99000FE4F0190F081E02D38C26B31710509F402 -:10F9A0009DC2B4F46931710509F484C20CF088C2B7 -:10F9B0008EEC93E10E94B5560E94C8FE6093AB1195 -:10F9C0007093AC118093AD119093AE110C9434935D -:10F9D0006E31710509F4BDC234F46C31710509F45E -:10F9E00083C20C9434936F31710509F48CC3603277 -:10F9F000710509F4ECC20C9434936836710509F46E -:10FA000029C40CF043C06335710509F48FC714F5A0 -:10FA10006135710509F455C70CF084C7603571056F -:10FA200011F00C9434939B9AA39881E080931E0C60 -:10FA3000E091BB13F0E0EE0FFF1FE85DFD4F01907A -:10FA4000F081E02D808191810E946BAB0E9404AE19 -:10FA50000C9434936535710509F4A0C70CF46BC799 -:10FA60006C35710511F00C94349328E23EE039AF07 -:10FA700028AF06E01EE126E1822E2EE1922E3AEC1E -:10FA8000A32E3DE1B32E312C0C944B856D367105C0 -:10FA900009F41CC58CF46A36710509F4E2C60CF44D -:10FAA00008C46B36710511F00C94349310928813CE -:10FAB000109287130C9434936237710511F40C94EF -:10FAC0008D853CF46037710511F00C9434930E94DD -:10FAD000736F6337710509F4F0C76537710511F469 -:10FAE0000C9479850C9434936C3231E0730711F4E3 -:10FAF0000C94538B0CF053C06C3C710511F40C94B6 -:10FB0000488924F56E3B710509F47CC574F46937A6 -:10FB1000710511F40C947F8614F40C947A866C3879 -:10FB2000710509F4B5C30C943493693C710511F463 -:10FB30000C9409896B3C710511F40C942B89683C79 -:10FB4000710511F00C9434930C948788603D710515 -:10FB500011F40C941F8A54F46E3C710511F40C944A -:10FB6000CA8914F40C946A890C94E8896C3D710577 -:10FB700011F40C94B88A3CF4613D710511F40C94B5 -:10FB8000478A0C9434936D3D710511F40C94C98A25 -:10FB9000623E710511F40C94F38A0C943493653F22 -:10FBA00091E0790711F40C944F8D2CF56033B1E09E -:10FBB0007B0711F40C945C8C5CF46E32F1E07F07EF -:10FBC00011F40C94068D14F40C94898B0C94148D00 -:10FBD0006F3531E0730711F40C94DF91603981E0E7 -:10FBE000780711F40C944C8D6E35714011F00C9423 -:10FBF00034930C94A8916835A2E07A0711F40C9420 -:10FC0000978EA4F4673FE1E07E0711F40C94578DC2 -:10FC100014F40C94548D6D3F714011F00C94349396 -:10FC20000E9439ABEFE4F3E50C94618D6B3833E05F -:10FC3000730711F40C9482913CF46335734011F412 -:10FC40000C94728D0C943493603AA3E07A0709F413 -:10FC500027C2673E734011F00C9434931092A111A7 -:10FC60000E9468AD8091481390914913A0914A1366 -:10FC7000B0914B1380934C1390934D13A0934E135C -:10FC8000B0934F130E941B690C9434930091B711E9 -:10FC90001091B8110E5F1F4F80E50E94BF68882346 -:10FCA00079F00E94AB680F94EF056B017C01BB24D7 -:10FCB000B394611571058105910531F4B12C04C02F -:10FCC000B12CC12CD12C760183E50E94BF6888231A -:10FCD00099F00E94AB6820E030E04AE754E40F94CA -:10FCE00050080F94EF056B017C01AA24A3946115C1 -:10FCF00071058105910509F4A12C6AE270E0C80143 -:10FD00000F94120F009711F0FC011082F801CF013F -:10FD100021912032E1F3B11007C0A11005C02223C8 -:10FD200019F00E945EAB10C0E091BB13F0E0EE0F43 -:10FD3000FF1FE85DFD4F0190F081E02DEE53FF4F76 -:10FD4000808191810E946BAB81E00E943EAB0E945A -:10FD500015E40E94C8FE6093B3117093B4118093B0 -:10FD6000B5119093B611C114D104E104F104A9F0C6 -:10FD70000E94C8FE4B015C018C0C9D1CAE1CBF1C7C -:10FD80000E94C8FE681579058A059B05C0F40E948B -:10FD9000E8AE811114C00C94D8940E94E6AE88237A -:10FDA00011F40C9434930E94E8AE81110BC00E94B0 -:10FDB0001A4780E00E94BD750E9404AEF4CF80E037 -:10FDC0000E943EAB8091D013E091BB13F0E0EE0FA8 -:10FDD000FF1FE85DFD4F0190F081E02D882341F089 -:10FDE000EC53FF4F808191810E946BAB0C94349354 -:10FDF000808191810E946BAB0C9434939091C000F0 -:10FE000095FFFCCF8093C600319684918111F6CF87 -:10FE10008091C00085FFFCCF8AE08093C6008EEC05 -:10FE200093E10E945D55E091BB13F0E0EE0FFF1FE0 -:10FE3000E85DFD4F0190F081E02DE05BFE4F019009 -:10FE4000F081E02D8491882341F09091C00095FFCE -:10FE5000FCCF8093C6003196F5CF8091C00085FF1E -:10FE6000FCCF8AE08093C6000C9434938EEC93E12F -:10FE70000E94B2550C9434938EEC93E10E94B156DB -:10FE80000C9434930091B7111091B8110C5F1F4F6F -:10FE90006AE270E0C8010F94120F009711F0DC01C4 -:10FEA0001C9221E041E0B8018EEC93E10E94335BAB -:10FEB0000C9434938EEC93E10E94BC560C943493D2 -:10FEC0008091D113882311F40C94349383E50E941C -:10FED000BF6881110C94E1940C9434938EEC93E1FF -:10FEE0000E9460580C9434938091B7119091B8118E -:10FEF0006AE270E004960F94120F8C010097D9F01B -:10FF00002091C1113091C21140E6429FC001439F30 -:10FF1000900D11246EE470E089539E4E0F94120FE1 -:10FF200060E270E00F94120F01969093B8118093E5 -:10FF3000B711F80110826091B7117091B8116C5F20 -:10FF40007F4F21E040E08EEC93E10E94335B0C9404 -:10FF500034938091D113882311F40C94349360E08E -:10FF60008EEC93E10E94C35A8091B7119091B81121 -:10FF70006AE270E004960F94120F8C010097D9F09A -:10FF80002091C1113091C21140E6429FC001439FB0 -:10FF9000900D11246EE470E089539E4E0F94120F61 -:10FFA00060E270E00F94120F01969093B811809365 -:10FFB000B711D8011C926091B7117091B8116C5FA4 -:10FFC0007F4F8EEC93E10E9420570C9434938091E4 -:10FFD000D01381110E9415E40091B7111091B8114E -:10FFE0000C5F1F4F6AE270E0C8010F94120F7C0192 -:10FFF00061E270E0C8010F94120F009719F08C01B4 -:020000021000EC -:100000000F5F1F4FE114F10411F0F701108280E53A -:100010000E94BF68F82E2091B7113091B8110217D5 -:10002000130708F4F12C8091D113882311F40C9458 -:10003000349321E02F2541E0B8018EEC93E10E943A -:10004000335B83E50E94BF688823B9F02091B71124 -:100050003091B8112017310780F40E94B468AB01C9 -:10006000BC0140936B1650936C1660936D167093A1 -:100070006E1686EB95E10E944D348EEC93E10E9462 -:10008000B556F1100C9434930E94C8FE6093AB11E6 -:100090007093AC118093AD119093AE110C94349386 -:1000A0008091B7119091B8116AE270E005960F94B3 -:1000B000120F8C010097D9F02091C1113091C2111B -:1000C00040E6429FC001439F900D11246EE470E012 -:1000D00089539E4E0F94120F60E270E00F94120F3E -:1000E00001969093B8118093B711D8011C9260913A -:1000F000B7117091B8116B5F7F4F8EEC93E10E9446 -:10010000B85E0C9434930E94C8FE6093A71170935C -:10011000A8118093A9119093AA110091AB1110918D -:10012000AC112091AD113091AE11601B710B820B9F -:10013000930B28EE33E040E050E00F945909CA01D8 -:10014000B9012CE330E040E050E00F9459097F936F -:100150006F933F932F9385E092E59F938F93CE010A -:1001600001969F938F930F944A0FEFE4F3E58491E8 -:100170000FB6F894DEBF0FBECDBFEFE4F3E58823E2 -:1001800049F09091C00095FFFCCF8093C600319656 -:100190008491F5CFFE0131968191882339F09091B9 -:1001A000C00095FFFCCF8093C600F6CF8091C000C1 -:1001B00085FFFCCF8AE08093C600CE0101960E94A5 -:1001C0005EAB0C94349383E50E94BF68882311F4DE -:1001D0000C9434930E94AB680F94EA05F62EE72E38 -:1001E000862F9E2D8C0180E50E94BF68882331F008 -:1001F0000F3F110509F010F40C94F2940DE010E09B -:10020000E0EFFDE0819191918017910711F40C943A -:1002100034932EE0E832F207A9F70630110539F4DD -:100220008F2D9E2D909388138093871304C017FF02 -:1002300002C00C94349361E0802F0E94E8FD6F2D82 -:10024000802F0E9421FE6F2D7E2D802F0E94DEFCCC -:100250000C94349388E690E00E942B7081110C94EA -:10026000349383E50E94BF68882371F00091A21146 -:100270000E94AB6810E0000F111F005B1E4E0F9430 -:10028000EA05D8016D937C930E945A410C943493F3 -:1002900083E50E94BF68882311F40C9434930E9474 -:1002A000AB680F94EA0570934F1160934E110C9454 -:1002B000349389E690E00E942B7081110C94349362 -:1002C000EFEFF1E58491882341F09091C00095FF14 -:1002D000FCCF8093C6003196F5CFE091A211B4E037 -:1002E000EB9FF0011124E85BFE4E40815181628159 -:1002F000738121E030E08BE397E10E9497DBECEF24 -:10030000F1E58491882341F09091C00095FFFCCFE6 -:100310008093C6003196F5CFE091A211F0E0EE0F88 -:10032000FF1FE05BFE4E60817181882777FD80951D -:10033000982F0F941D06AB01BC0121E030E08BE348 -:1003400097E10E9497DBE8EFF1E58491882341F083 -:100350009091C00095FFFCCF8093C6003196F5CFF9 -:100360004091421150914311609144117091451197 -:1003700021E030E08BE397E10E9497DBE5EFF1E5C8 -:100380008491882341F09091C00095FFFCCF809329 -:10039000C6003196F5CF60914E1170914F118827AC -:1003A00077FD8095982F0F941D06AB01BC0121E0CD -:1003B00030E08BE397E10E9497DBE2EFF1E5849177 -:1003C000882341F09091C00095FFFCCF8093C60038 -:1003D0003196F5CF4AE050E060E070E08BE397E1C2 -:1003E0000E94C1DAE0EFF1E58491882341F0909119 -:1003F000C00095FFFCCF8093C6003196F5CF4091A9 -:1004000048115091491160914A1170914B1121E0AE -:1004100030E08BE397E10E9497DBEDEEF1E584910C -:10042000882341F09091C00095FFFCCF8093C600D7 -:100430003196F5CF6091501170915111882777FD59 -:100440008095982F0F941D06AB01BC0121E030E090 -:100450008BE397E10E9497DBE9EEF1E58491882335 -:1004600041F09091C00095FFFCCF8093C60031967B -:10047000F5CF8091A21190E00E9464404AE050E0E4 -:10048000BC018BE397E10E94C1DAE4EEF1E58491CF -:10049000882341F09091C00095FFFCCF8093C60067 -:1004A0003196F5CF8FEF9FEF0E9464404AE050E015 -:1004B000BC018BE397E10E94C1DA8091C00085FF07 -:1004C000FCCF8AE08093C6000C945B968DE690E0AA -:1004D0000E942B7081110C943493E091BB13F0E0D7 -:1004E000EE0FFF1FE85DFD4F0190F081E02DE05A17 -:1004F000FE4F808191810E946BAB81E090E09093F0 -:10050000B6138093B51383E50E94BF68882391F0EA -:100510000091A2110E94AB6810E0000F111F005B58 -:100520001E4E0F94EA05F8017183608381E0809389 -:10053000140C15C082E50E94BF68882381F00091E9 -:10054000A2110E94AB6810E0000F111F005B1E4E4D -:100550000F94EA05D8016D937C931092140C0E94BD -:100560005A410E94C8FE4B015C010091A21110E0AB -:10057000F801EE0FFF1FE05BFE4E6081718188275E -:1005800077FD8095982F0F941D06F801EE0FFF1F41 -:10059000EE0FFF1FE85BFE4E11E0208131814281AA -:1005A00053810F947E0718160CF010E01093A011E1 -:1005B00010927813CC24CA94DC2C760148EE442E99 -:1005C00043E0542E612C712C5AE0352E8091781323 -:1005D00081110C94F994BFEFCB16DB06EB06FB06FA -:1005E00011F40C942495F7FE02C00C94F9940E9427 -:1005F000C8FE6C197D09683B7B4010F40C9424956F -:100600000C94F994E091BB13F0E0EE0FFF1FE85D4E -:10061000FD4F0190F081E02DEC59FE4F80819181DA -:100620000E946BAB83E090E09093B6138093B51378 -:1006300083E50E94BF68882361F00E94AB680F9435 -:10064000EA0570934F1160934E1181E08093140C72 -:100650000FC082E50E94BF68882351F00E94AB68FA -:100660000F94EA0570934F1160934E111092140C81 -:100670000E94C8FE4B015C011092781360914E11EC -:1006800070914F11882777FD8095982F0F941D0644 -:1006900011E0209142113091431140914411509149 -:1006A00045110F947E0718160CF010E01093A0115E -:1006B00006ED11E572EDE72E71E5F72EEEECCE2E8C -:1006C000E1E5DE2EFAE07F2E8091A01160914E11BF -:1006D00070914F11882309F48BC080917813811198 -:1006E00087C0882777FD8095982F0F941D0620914D -:1006F00042113091431140914411509145110F9492 -:100700007E0718160CF08BC00E94C8FE6819790984 -:100710008A099B09693E73408105910508F460C010 -:10072000E091891324E0E29FF0011124E85BFE4E82 -:100730004081518162817381F8018491E6EDF1E598 -:10074000882349F09091C00095FFFCCF8093C600AC -:1007500031968491F5CF22E030E08BE397E10E945F -:1007600097DBF7018491E2EDF1E5882349F0909160 -:10077000C00095FFFCCF8093C60031968491F5CFE1 -:100780006091891370E04AE050E08BE397E10E94AA -:10079000C1DAF6018491EEECF1E5882349F09091FD -:1007A000C00095FFFCCF8093C60031968491F5CFB1 -:1007B0004091421150914311609144117091451143 -:1007C00021E030E08BE397E10E9497DB8091C0004D -:1007D00085FFFCCF7092C6000E94C8FE4B015C01F1 -:1007E0000E941A4780E00E94BD750E9404AE6CCF43 -:1007F000882777FD8095982F0F941D062091421130 -:100800003091431140914411509145110F947B0553 -:1008100087FF05C08091140C882309F475CFE091FF -:10082000BB13F0E0EE0FFF1FE85DFD4F0190F0817C -:10083000E02DEA59FE4F808191810E946BAB84E0EC -:1008400090E09093B6138093B5130E94C8FE609316 -:10085000B3117093B4118093B5119093B6110C94A9 -:10086000349383E50E94BF68882319F10E94AB6826 -:1008700020E030E0A9010F947B0587FD0FC00E94A6 -:10088000AB6820E030E04FE753E40F947E07181682 -:1008900044F00E94AB680F94EA0505C060E070E088 -:1008A00002C06FEF70E070938813609387130C940D -:1008B00034938FEF90E090938813809387130C9478 -:1008C00034930E945B410E9415E4149A0E9492E4C2 -:1008D000109288131092871368EE73E080E090E026 -:1008E0000E94F7FE9B9AA39A10921E0CE091BB13F4 -:1008F000F0E0EE0FFF1FE85DFD4F0190F081E02D6D -:10090000E459FF4F408151812CEC31E56AEC71E5EF -:1009100081ED9DE00E94494F0E946BAB0E9404AEA6 -:100920000C9434931092C7130C94349381E0809309 -:10093000C7130C94349383E50E94BF688823A1F009 -:100940000E94AB6820E030E04AE754E40F9450087E -:100950000F94EF056093150C7093160C8093170C91 -:100960009093180C0C94349388E50E94BF68811111 -:100970000C94389689E50E94BF6881110C943896D2 -:100980008AE50E94BF6881110C94389685E40E9424 -:10099000BF6881110C9438960C94559683E50E949B -:1009A000BF68882311F40C9434930E94AB6820E054 -:1009B00030E04AE754E40F9450080F94EF05609339 -:1009C000AF117093B0118093B1119093B2110C9448 -:1009D0003493B3E03B1269C00E94AB686B017C01A9 -:1009E00020E030E040EA51E40F947B0587FF3FC0F0 -:1009F000A7019601F80160817181828193810F9432 -:100A000082052B013C019B01AC016091DE1D7091C0 -:100A1000DF1D8091E01D9091E11D0F9450086093BF -:100A2000DE1D7093DF1D8093E01D9093E11DA301F7 -:100A30009201D4016D917D918D919C910F945008FC -:100A4000F4016083718382839383D5016D917D91DD -:100A50008D919C910F941B06A30192010F94500855 -:100A60000F94EF05F5016083718382839383D8012E -:100A7000CD92DD92ED92FC92139733940C5F1F4F51 -:100A8000F4E08F0E911C24E0A20EB11C34E033166A -:100A900011F40C943493A8ADB9AD8D91B9AFA8AF52 -:100AA0000E94BF68882349F394CF0E94AB68F80185 -:100AB0006083718382839383E0CFE091BB13F0E086 -:100AC000EE0FFF1FE85DFD4F0190F081E02DE8592A -:100AD000FE4F0190F081E02D8491882311F40C9455 -:100AE00034939091C00095FFFCCF8093C60031965F -:100AF000F3CF0091B7111091B8110B5F1F4F6AE24D -:100B000070E0C8010F94120F009711F0DC011C92E5 -:100B1000C8010E945EAB0C943493E7ECF1E584913C -:100B2000882341F09091C00095FFFCCF8093C600D0 -:100B30003196F5CF40919D1350919E1360919F1374 -:100B40007091A01322E030E08BE397E10E9497DBE5 -:100B5000E3ECF1E58491882341F09091C00095FF8A -:100B6000FCCF8093C6003196F5CF4091A1135091F0 -:100B7000A2136091A3137091A41322E030E08BE3E1 -:100B800097E10E9497DBEFEBF1E58491882341F038 -:100B90009091C00095FFFCCF8093C6003196F5CFB1 -:100BA0004091A5135091A6136091A7137091A813BB -:100BB00022E030E08BE397E10E9497DBEBEBF1E57D -:100BC0008491882341F09091C00095FFFCCF8093E1 -:100BD000C6003196F5CF4091A9135091AA136091A8 -:100BE000AB137091AC1322E030E08BE397E10E94ED -:100BF00097DBE091BB13F0E0EE0FFF1FE85DFD4FC8 -:100C00000190F081E02DE659FE4F0190F081E02D3A -:100C10008491882341F09091C00095FFFCCF809390 -:100C2000C6003196F5CF0E9471E40F941D06209105 -:100C3000061E3091071E4091081E5091091E0F9408 -:100C40008205AB01BC0122E030E08BE397E10E941A -:100C500097DBE7EBF1E58491882341F09091C000A8 -:100C600095FFFCCF8093C6003196F5CF81E00E94BE -:100C700071E40F941D0620910A1E30910B1E4091C5 -:100C80000C1E50910D1E0F948205AB01BC0122E099 -:100C900030E08BE397E10E9497DBE3EBF1E5849191 -:100CA000882341F09091C00095FFFCCF8093C6004F -:100CB0003196F5CF82E00E9471E40F941D062091D9 -:100CC0000E1E30910F1E4091101E5091111E0F9458 -:100CD0008205AB01BC0122E030E08BE397E10E948A -:100CE00097DB8091C00085FFFCCF8AE08093C6002F -:100CF0000C94349380E00E9495DC0C94349381E052 -:100D00000E9495DC0C943493E091BB13F0E0EE0F5D -:100D1000FF1FE85DFD4F0190F081E02DEC57FE4F85 -:100D20000190F081E02D8491882341F09091C000E2 -:100D300095FFFCCF8093C6003196F5CF8091C0001F -:100D400085FFFCCF8AE08093C600E091BB13F0E002 -:100D5000EE0FFF1FE85DFD4F0190F081E02DE85898 -:100D6000FE4F0190F081E02D8491882341F0909115 -:100D7000C00095FFFCCF8093C6003196F5CFE0917F -:100D8000BB13F0E0EE0FFF1FE85DFD4F1E9B13C08D -:100D90000190F081E02DEA57FE4F0190F081E02DA7 -:100DA00084918823D9F09091C00095FFFCCF809367 -:100DB000C6003196F5CF0190F081E02DE857FE4F47 -:100DC0000190F081E02D8491882341F09091C00042 -:100DD00095FFFCCF8093C6003196F5CF8091C0007F -:100DE00085FFFCCF8AE08093C600E091BB13F0E062 -:100DF000EE0FFF1FE85DFD4F0190F081E02DE658FA -:100E0000FE4F0190F081E02D8491882341F0909174 -:100E1000C00095FFFCCF8093C6003196F5CFE091DE -:100E2000BB13F0E0EE0FFF1FE85DFD4F029913C00A -:100E30000190F081E02DEA57FE4F0190F081E02D06 -:100E400084918823D9F09091C00095FFFCCF8093C6 -:100E5000C6003196F5CF0190F081E02DE857FE4FA6 -:100E60000190F081E02D8491882341F09091C000A1 -:100E700095FFFCCF8093C6003196F5CF8091C000DE -:100E800085FFFCCF8AE08093C600E091BB13F0E0C1 -:100E9000EE0FFF1FE85DFD4F0190F081E02DE4585B -:100EA000FE4F0190F081E02D8491882341F09091D4 -:100EB000C00095FFFCCF8093C6003196F5CFE0913E -:100EC000BB13F0E0EE0FFF1FE85DFD4F1D9B13C04D -:100ED0000190F081E02DEA57FE4F0190F081E02D66 -:100EE00084918823D9F09091C00095FFFCCF809326 -:100EF000C6003196F5CF0190F081E02DE857FE4F06 -:100F00000190F081E02D8491882341F09091C00000 -:100F100095FFFCCF8093C6003196F5CF8091C0003D -:100F200085FFFCCF8AE08093C600E091BB13F0E020 -:100F3000EE0FFF1FE85DFD4F0190F081E02DE258BC -:100F4000FE4F0190F081E02D8491882341F0909133 -:100F5000C00095FFFCCF8093C6003196F5CFE0919D -:100F6000BB13F0E0EE0FFF1FE85DFD4F019913C0CA -:100F70000190F081E02DEA57FE4F0190F081E02DC5 -:100F800084918823D9F09091C00095FFFCCF809385 -:100F9000C6003196F5CF0190F081E02DE857FE4F65 -:100FA0000190F081E02D8491882341F09091C00060 -:100FB00095FFFCCF8093C6003196F5CF8091C0009D -:100FC00085FFFCCF8AE08093C600E091BB13F0E080 -:100FD000EE0FFF1FE85DFD4F0190F081E02DE0581E -:100FE000FE4F0190F081E02D8491882341F0909193 -:100FF000C00095FFFCCF8093C6003196F5CFE091FD -:10100000BB13F0E0EE0FFF1FE85DFD4F1C9B13C00C -:101010000190F081E02DEA57FE4F0190F081E02D24 -:1010200084918823D9F09091C00095FFFCCF8093E4 -:10103000C6003196F5CF0190F081E02DE857FE4FC4 -:101040000190F081E02D8491882341F09091C000BF -:1010500095FFFCCF8093C6003196F5CF8091C000FC -:1010600085FFFCCF8AE08093C600E091BB13F0E0DF -:10107000EE0FFF1FE85DFD4F0190F081E02DEE5770 -:10108000FE4F0190F081E02D8491882341F09091F2 -:10109000C00095FFFCCF8093C6003196F5CFE0915C -:1010A000BB13F0E0EE0FFF1FE85DFD4F379913C053 -:1010B0000190F081E02DEA57FE4F0190F081E02D84 -:1010C00084918823D9F09091C00095FFFCCF809344 -:1010D000C6003196F5CF0190F081E02DE857FE4F24 -:1010E0000190F081E02D8491882341F09091C0001F -:1010F00095FFFCCF8093C6003196F5CF8091C0005C -:1011000085FFFCCF8AE08093C6000C9434938091D5 -:1011100089138093A21184E50E94BF68882381F11E -:101120000E94AB680F94EF056093A211662341F112 -:10113000EFE4F3E58491882341F09091C00095FF9E -:10114000FCCF8093C6003196F5CFE091BB13F0E061 -:10115000EE0FFF1FE85DFD4F0190F081E02DEA5A90 -:10116000FE4F0190F081E02D8191882311F40C94C1 -:1011700034939091C00095FFFCCF8093C600F4CFCC -:1011800084E40E94BF68882311F40C9434930E9475 -:10119000AB6820E030E0A9010F947B05811103C00A -:1011A0001092AD1332C00091A21110E00E94AB6802 -:1011B000F801EE0FFF1FEE0FFF1FE55BF34F60839B -:1011C000718382839383E0904B0CF0904C0C0091E0 -:1011D0004D0C10914E0C20E030E0A901B701C80180 -:1011E0000F947B05811104C0E12CF12C00E410E484 -:1011F000C701D80180934B0C90934C0CA0934D0CDD -:10120000B0934E0C81E08093AD130E9461760C94F4 -:10121000349308E21EE0A6EFEA2EADE1FA2EF801C3 -:1012200081918F010E94BF68882351F00E94AB68B2 -:101230000F94EF05D7016D937D938D939C93139736 -:10124000B4E0EB0EF11CEEE00C321E0741F70E94F9 -:10125000A7FA0C94349308E21EE0F6E1EF2EFEE1CB -:10126000FF2ED8018D918D010E94BF68882339F02F -:101270000E94AB68F7016083718382839383F4E0FB -:10128000EF0EF11C2EE00C32120759F70C94349338 -:1012900083E50E94BF68882351F00E94AB68609389 -:1012A000EE1D7093EF1D8093F01D9093F11D84E56A -:1012B0000E94BF68882311F40C9434930E94AB6899 -:1012C0006093EA1D7093EB1D8093EC1D9093ED1DD0 -:1012D0000C94349383E50E94BF68882351F00E94E8 -:1012E000AB686093F21D7093F31D8093F41D90938F -:1012F000F51D84E50E94BF68882351F00E94AB6809 -:101300006093DA1D7093DB1D8093DC1D9093DD1DCF -:1013100082E40E94BF68882361F00E94AB680F944A -:10132000EF056093261E7093271E8093281E9093CE -:10133000291E88E50E94BF68882351F00E94AB688F -:101340006093E61D7093E71D8093E81D9093E91D5F -:101350008AE50E94BF68882351F00E94AB686093C1 -:10136000E21D7093E31D8093E41D9093E51D85E4D9 -:101370000E94BF68882311F40C9434930E94AB68D8 -:101380006093DE1D7093DF1D8093E01D9093E11D3F -:101390000C94349308E21EE0E1E9EE2EE3E1FE2E28 -:1013A000D8018D918D010E94BF68882339F00E9479 -:1013B000AB68F7016083718382839383F4E0EF0E5F -:1013C000F11C2EE00B32120711F40C943493E8CF89 -:1013D00083E50E94BF68882351F00E94AB68609348 -:1013E0002B0C70932C0C80932D0C90932E0C86E478 -:1013F0000E94BF68882381F00E94AB6820E030E043 -:1014000040E752E40F9482056093230C7093240C00 -:101410008093250C9093260C8AE50E94BF68882350 -:1014200011F40C9434930E94AB6860938113709311 -:10143000821380938313909384130C94349383E5E5 -:101440000E94BF68882351F00E94AB6860937D13AF -:1014500070937E1380937F139093801386E40E9491 -:10146000BF68882311F40C9434930E94AB6820E089 -:1014700030E040E752E40F94820560931F0C7093B4 -:10148000200C8093210C9093220C0C94349383E5D0 -:101490000E94BF68882311F40C9434930E94AB68B7 -:1014A0000F94EA056115710551F06130710569F419 -:1014B00081E080938613109285130C9434931092DC -:1014C0008613109285130C943493EFE4F3E5849122 -:1014D000882341F09091C00095FFFCCF8093C60017 -:1014E0003196F5CFE091BB13F0E0EE0FFF1FE85D02 -:1014F000FD4F0190F081E02DEE58FE4F0190F081FC -:10150000E02D8491882341F09091C00095FFFCCF9D -:101510008093C6003196F5CF8091C1119091C21190 -:1015200020E6289FF001299FF00D1124E953FE4E7B -:101530008191882339F09091C00095FFFCCF809372 -:10154000C600F6CFE1EBF1E58491882341F090915C -:10155000C00095FFFCCF8093C6003196F5CF8091F7 -:10156000C00085FFFCCF8AE08093C6000C943493C2 -:1015700083E50E94BF68882311F40C9434930E9481 -:10158000AB680F94EA057093560C6093550C0C945D -:10159000349383E50E94BF68882311F40C9434933C -:1015A0000E94AB680F94EA056B017C0184E50E9400 -:1015B000BF68882391F08DED90E00E942B7081111F -:1015C0000C943493E091A211F0E0EE0FFF1FEF5A5C -:1015D000F34FD182C0820C943493D092540CC092B9 -:1015E000530C0C94349380E50E94BF68882311F457 -:1015F0000C9434930E94AB680F94EA05D62E062F04 -:10160000172F83E50E94BF68882331F00E94AB68E2 -:101610000F94EA057B0103C0EE24EA94FE2CC70177 -:101620000196039710F00C943493E0EFFDE0819164 -:1016300091918017910711F40C9434933EE0E832B5 -:10164000F307A9F717FF02C00C9434930E9415E426 -:10165000CD2C60E08D2D0E94E8FD8FEFE816F80696 -:1016600031F0EA94EF2871F000E010E00DC08D2D0C -:101670000E9456FE31E020E0892B09F030E0032F74 -:10168000122F02C001E010E08C2D0E9456FE801740 -:10169000910709F4E9C70E941A4780E00E94BD75CE -:1016A0000E9404AEF1CF83E50E94BF68882331F029 -:1016B0000E94AB680F94EA058B0102C00EE610E0B1 -:1016C00080E50E94BF68882331F00E94AB680F94C8 -:1016D000EA05CB0102C088EE93E06C01EE24D7FC52 -:1016E000E094FE2C101611067CF420E030E0A901F5 -:1016F000B80184E50E9494FFC701B6010E94F7FE7D -:1017000084E50F94AB02B0C7C701B6010E94F7FE93 -:10171000ABC780E50E94BF68882351F00E94AB6888 -:1017200060932402709325028093260290932702EF -:1017300089E40E94BF68882361F00E94AB680E9420 -:10174000844C609320027093210280932202909334 -:10175000230284E40E94BF68882361F00E94AB6882 -:101760000E94904C60931C0270931D0280931E0295 -:1017700090931F0283E40E94BF68882351F00E9467 -:10178000AB68609318027093190280931A029093C9 -:101790001B020E943740E091BB13F0E0EE0FFF1FE9 -:1017A000E85DFD4F0190F081E02DE05CFE4F01907F -:1017B000F081E02D8191882339F09091C00095FF50 -:1017C000FCCF8093C600F6CFEEEDFDE0819188233B -:1017D00039F09091C00095FFFCCF8093C600F6CF02 -:1017E00040912402509125026091260270912702B7 -:1017F00022E030E08BE397E10E9497DBE2EEFDE030 -:101800008191882339F09091C00095FFFCCF80939F -:10181000C600F6CF609120027091210280912202D1 -:10182000909123020E948A4CAB01BC0122E030E07F -:101830008BE397E10E9497DBE6EEFDE08191882340 -:1018400039F09091C00095FFFCCF8093C600F6CF91 -:1018500060911C0270911D0280911E0290911F02E6 -:101860000E94964CAB01BC0122E030E08BE397E193 -:101870000E9497DBEAEEFDE08191882339F0909198 -:10188000C00095FFFCCF8093C600F6CF40911802B0 -:101890005091190260911A0270911B0222E030E00F -:1018A0008BE397E10E9497DB8091C00085FFFCCF1E -:1018B0008AE08093C600D8C680E50E94BF6888236E -:1018C00051F00E94AB6860931402709315028093EC -:1018D00016029093170289E40E94BF68882361F082 -:1018E0000E94AB680E94844C6093100270931102B6 -:1018F000809312029093130284E40E94BF688823AD -:1019000061F00E94AB680E94904C60930C0270934F -:101910000D0280930E0290930F020E943740E091D7 -:10192000BB13F0E0EE0FFF1FE85DFD4F0190F0816B -:10193000E02DE05CFE4F0190F081E02D8191882345 -:1019400039F09091C00095FFFCCF8093C600F6CF90 -:10195000EEEDFDE08191882339F09091C00095FF74 -:10196000FCCF8093C600F6CF40911402509115022F -:10197000609116027091170222E030E08BE397E14C -:101980000E9497DBE2EEFDE08191882339F090918F -:10199000C00095FFFCCF8093C600F6CF6091100287 -:1019A0007091110280911202909113020E948A4C50 -:1019B000AB01BC0122E030E08BE397E10E9497DBB2 -:1019C000E6EEFDE08191882339F09091C00095FF0B -:1019D000FCCF8093C600F6CF60910C0270910D028F -:1019E00080910E0290910F020E94964CAB01BC01B7 -:1019F00022E030E08BE397E10E9497DB8091C0000A -:101A000085FFFCCF8AE08093C6002EC683E50E9446 -:101A1000BF68882319F00E94AB6803C060E070E0E3 -:101A2000CB010E949EFA20C685E40E94BF688823ED -:101A300041F00E94AB680F94EA058B0177FF03C069 -:101A400009C000E010E0C12CD12C26E1E22E23E4F5 -:101A5000F22E06C0C12CD12C9CE8E92E92E4F92E7E -:101A600083E50E94BF68882321F00E94AB686B0168 -:101A70007C0183E40E94BF68882331F00E94AB6838 -:101A80000F94EA059B0102C025E030E0A801C701E0 -:101A9000B6010E946E41E8C50E9415E4E5C50E94AA -:101AA000C8D70E949AD3E0C50E94C8D7DDC50E945E -:101AB0009AD3DAC59091C00095FFFCCF8093C60001 -:101AC000319684918111F6CFE1EAF1E58491882382 -:101AD00009F4CAC59091C00095FFFCCF8093C60061 -:101AE0003196F4CF8AE50E94BF68882309F4D6C0F6 -:101AF0000E94AB686B017C0120E030E040E751ECD4 -:101B00000F947E0787FD57C020E030E040EA50EC9C -:101B1000C701B6010F947B0518160CF44CC0F7FAF8 -:101B2000F094F7F8F094C0928A13D0928B13E0925D -:101B30008C13F0928D13EFE4F3E58491882341F048 -:101B40009091C00095FFFCCF8093C6003196F5CFF1 -:101B5000E091BB13F0E0EE0FFF1FE85DFD4F8081C9 -:101B60009181FC01E05CFE4F40815181E855F10913 -:101B700020EA31E567E97EE0808191810E94494F4A -:101B8000FC012491222341F03091C00035FFFCCFAD -:101B90002093C6000196F4CF8091C00085FFFCCF52 -:101BA0008AE08093C6008091C00085FFFCCF8AE068 -:101BB0008093C60059C5EFE4F3E58491882341F092 -:101BC0009091C00095FFFCCF8093C6003196F5CF71 -:101BD000E091BB13F0E0EE0FFF1FE85DFD4F0190B9 -:101BE000F081E02DE851FF4F0190F081E02D8491CC -:101BF000882341F09091C00095FFFCCF8093C600F0 -:101C00003196F5CFE091BB13F0E0EE0FFF1FE85DDA -:101C1000FD4F0190F081E02DE058FE4F0190F081E2 -:101C2000E02D8491882341F09091C00095FFFCCF76 -:101C30008093C6003196F5CF4AE050E061EF7FEF28 -:101C40008BE397E10E94C1DAE091BB13F0E0EE0F65 -:101C5000FF1FE85DFD4F0190F081E02DEE57FE4F34 -:101C60000190F081E02D8491882341F09091C00093 -:101C700095FFFCCF8093C6003196F5CF4AE050E047 -:101C80006BEF7FEF8BE397E10E94C1DA8091C00098 -:101C900085FFFCCF8AE08093C600E6C4EFE4F3E55D -:101CA0008491882341F09091C00095FFFCCF8093F0 -:101CB000C6003196F5CFE091BB13F0E0EE0FFF1FA9 -:101CC000E85DFD4F0190F081E02DE851FF4F6CE998 -:101CD00071E5808191810E94284FFC01249122238B -:101CE00041F03091C00035FFFCCF2093C600019633 -:101CF000F4CF8091C00085FFFCCF8AE08093C600BE -:101D000040918A1350918B1360918C1370918D13B5 -:101D1000705822E030E08BE397E10E9497DB8091DE -:101D2000C00085FFFCCF8AE08093C6009DC40E945E -:101D300015E48091550C9091560C9093500C809323 -:101D40004F0CC0909D13D0909E13E0909F13F09085 -:101D5000A013CF8ED8A2E9A2FAA20091A1131091EC -:101D6000A2132091A3133091A4130BA31CA32DA3A2 -:101D70003EA34091A5135091A6136091A7137091B3 -:101D8000A8134FA358A769A77AA78091A913909188 -:101D9000AA13A091AB13B091AC138BA79CA7ADA7CE -:101DA000BEA7C982DA82EB82FC820D831E832F8359 -:101DB000388749875A876B877C878D879E87AF874F -:101DC000B88B85E40E94BF68882359F00E94AB68F5 -:101DD0009B01AC016BA57CA58DA59EA50F94A204CB -:101DE0000AC020E030E040E050E46BA57CA58DA562 -:101DF0009EA50F94A1046BA77CA78DA79EA779E849 -:101E0000C72E73E1D72EE12CF12C08EC13E49E01D0 -:101E1000255D3F4FAE01495D5F4FBE016D5D7F4F58 -:101E2000CE014F960E9498EF8AE50E94BF688823F2 -:101E300049F00E94AB689B01AC016FA178A589A510 -:101E40009AA51EC020E030E040E050E46FA178A5E4 -:101E500089A59AA50F94A2046B017C016FA378A7B2 -:101E600089A79AA720E030E040E251E40F947B0577 -:101E700087FF0CC020E030E040E251E4C701B6012A -:101E80000F94A2046FA378A789A79AA759E8C52E33 -:101E900053E1D52EE12CF12C00E711E49E01255DE4 -:101EA0003F4FAE01495D5F4FBE016D5D7F4FCE017B -:101EB0004F960E9498EF88E50E94BF68882379F0CA -:101EC0000E94AB689B01AC016F8D78A189A19AA19A -:101ED0000F94A2046F8F78A389A39AA308C080E00F -:101EE00090E0A3E5B3E48F8F98A3A9A3BAA389E5F3 -:101EF0000E94BF68882339F00E94AB686BA37CA363 -:101F00008DA39EA304C01BA21CA21DA21EA239E881 -:101F1000C32E33E1D32EE12CF12C08E412E49E0110 -:101F2000255D3F4FAE01495D5F4FBE016D5D7F4F47 -:101F3000CE014F960E9498EF8CE40E94BF688823E0 -:101F400059F00E94AB689B01AC016BA57CA58DA5E7 -:101F50009EA50F94A2040AC020E030E040EA52E4BB -:101F60006BA57CA58DA59EA50F94A1046BA77CA74E -:101F70008DA79EA799E8C92E93E1D92EE12CF12CCB -:101F800008EC13E49E01255D3F4FAE01495D5F4FB4 -:101F9000BE016D5D7F4FCE014F960E9498EF0E946B -:101FA00015E4149A64E670E080E090E00E94F7FE89 -:101FB0000E94CCC300E010E0F12C0E94E8AE811139 -:101FC0002AC0F3940E941A4781E00E94BD75F11067 -:101FD000F4CF043FF1E01F0711F400E010E080911E -:101FE00001018460809301010115110531F49FB74F -:101FF000F89480910201846008C00431110541F415 -:102000009FB7F894809102018B7F809302019FBF5C -:102010000F5F1F4FD2CF9FB7F894809102018B7F43 -:10202000809302019FBF20E030E04CE852E46BA5B2 -:102030007CA58DA59EA50F94A2046BA77CA78DA758 -:102040009EA7A9E8CA2EA3E1DA2EE12CF12C00EA22 -:1020500011E49E01255D3F4FAE01495D5F4FBE011A -:102060006D5D7F4FCE014F960E9498EF20E030E0EB -:1020700048E452E46BA57CA58DA59EA50F94A2040F -:102080006BA77CA78DA79EA7E12CF12C00E010E4A4 -:102090009E01255D3F4FAE01495D5F4FBE016D5D05 -:1020A0007F4FCE014F960E9498EF1092BD13109271 -:1020B000BC130E9467C48091BC139091BD1301971B -:1020C00009F47CC01092BD131092BC130E94BCC4D2 -:1020D0008091BC139091BD138230910549F1039713 -:1020E00009F069C020E030E048E452E46BA57CA52B -:1020F0008DA59EA50F94A2046BA77CA78DA79EA774 -:1021000059E8C52E53E1D52EE12CF12C00E010E466 -:102110009E01255D3F4FAE01495D5F4FBE016D5D84 -:102120007F4FCE014F960E9498EF0E9412C4C3CFFA -:1021300020E030E04CE852E46BA57CA58DA59EA57F -:102140000F94A2046BA77CA78DA79EA779E8C72E42 -:1021500073E1D72EE12CF12C00EA11E49E01255DFC -:102160003F4FAE01495D5F4FBE016D5D7F4FCE01B8 -:102170004F960E9498EF20E030E048E452E46BA5CF -:102180007CA58DA59EA50F94A2046BA77CA78DA707 -:102190009EA7E12CF12C00E010E49E01255D3F4F4D -:1021A000AE01495D5F4FBE016D5D7F4FCE014F9621 -:1021B0000E9498EF7ECF0E94FAC37DCF20E030E0EE -:1021C00040EA50E46BA57CA58DA59EA50F94A204C2 -:1021D0006BA77CA78DA79EA709E8C02E03E1D02E90 -:1021E000E12CF12C00E010E49E01255D3F4FAE0193 -:1021F000495D5F4FBE016D5D7F4FCE014F960E94DE -:1022000098EFA80197016BA57CA58DA59EA50F94BD -:10221000A1046BA77CA78DA79EA7E12CF12C08EC4D -:1022200013E49E01255D3F4FAE01495D5F4FBE0146 -:102230006D5D7F4FCE014F960E9498EFE12CF12CFF -:1022400008E412E49E01255D3F4FAE01495D5F4FFA -:10225000BE016B5F7F4FCE0101960E9498EFE12C8B -:10226000F12C00E711E49E01255D3F4FAE01475F71 -:102270005F4FBE016B5F7F4FCE0101960E9498EFCA -:1022800020E030E040E050E46BA57CA58DA59EA544 -:102290000F94A2046BA77CA78DA79EA7E12CF12C1D -:1022A00008EC13E49E01255D3F4FAE01475F5F4F91 -:1022B000BE016B5F7F4FCE0101960E9498EFCE0169 -:1022C0000D960E947AFA80914F0C9091500C809359 -:1022D000550C9093560C9F938F9383E991E59F93B0 -:1022E0008F938E01015D1F4F1F930F930F944A0F21 -:1022F000C8010E94A7650F900F900F900F900F904C -:102300000F90B2C188E50E94BF68882339F00E940F -:10231000AB680F94EA0580E00E944FE58AE50E94D1 -:10232000BF68882339F00E94AB680F94EA0581E00A -:102330000E944FE585E40E94BF68882309F494C198 -:102340000E94AB680F94EA0582E00E944FE58CC1C1 -:1023500083E50E94BF68811104C008E21EE0F12CF1 -:1023600010C010E00E94AB680F94EF05812F0E940F -:1023700025E61F5F1530B1F7F0CFF394B4E0FB16FC -:1023800079F0D8018D918D010E94BF688823A9F34F -:102390000E94AB680F94EF058F2D0E9425E6EDCFCC -:1023A00082E40E94BF68882339F00E94AB680F94D2 -:1023B000EF0584E00E9425E60E94E8E655C183E52A -:1023C0000E94BF68882309F453C00E94AB680F9431 -:1023D000EA056130710541F06230710509F048C0CD -:1023E00008E21EE0F12C25C008E21EE0F12CF80105 -:1023F00081918F010E94BF68882341F00E94AB68E1 -:102400000F94EA054FEF8F2D0E94E7E5F394F4E077 -:10241000FF12EDCF82E40E94BF68882349F10E9439 -:10242000AB680F94EA054FEF20C0F394B4E0FB16BD -:1024300089F0D8018D918D010E94BF688823A9F38E -:102440000E94AB680F94EA05462F6FEF8F2D0E9414 -:10245000E7E5EBCF82E40E94BF68882349F00E9441 -:10246000AB680F94EA05462F6FEF84E00E94E7E522 -:102470000E94E8E6F9C084E50E94BF68882309F459 -:10248000A2C00E94AB680F94EF056093A21166236F -:1024900009F442C0EFE4F3E58491882341F0909180 -:1024A000C00095FFFCCF8093C6003196F5CFEEEECD -:1024B000FDE08191882339F09091C00095FFFCCF19 -:1024C0008093C600F6CF40E050E06091A2118BE30C -:1024D00097E10E94F8DAE091BB13F0E0EE0FFF1FE6 -:1024E000E85DFD4F0190F081E02DEA58FE4F01902C -:1024F000F081E02D8191882339F09091C00095FF03 -:10250000FCCF8093C600F6CF8091C00085FFFCCF42 -:102510008AE08093C600A8C086E40E94BF68882332 -:10252000D9F00E94AB686B017C01609358137093E3 -:10253000591380935A1390935B1320E030E0A90164 -:102540000F947E07181644F4C092190CD0921A0CFE -:10255000E0921B0CF0921C0CEFE4F3E584918823CD -:1025600041F09091C00095FFFCCF8093C60031965A -:10257000F5CFE091BB13F0E0EE0FFF1FE85DFD4FDC -:102580000190F081E02DEC58FE4F0190F081E02D9C -:102590008191882339F09091C00095FFFCCF809302 -:1025A000C600F6CF6091891370E04AE050E08BE3FB -:1025B00097E10E94C1DA8091C00085FFFCCF8AE0DC -:1025C0008093C60051C0EFE4F3E58491882341F085 -:1025D0009091C00095FFFCCF8093C6003196F5CF57 -:1025E000E091BB13F0E0EE0FFF1FE85DFD4F01909F -:1025F000F081E02DEE58FE4F0190F081E02D8491A6 -:10260000882341F09091C00095FFFCCF8093C600D5 -:102610003196F5CF8091C1119091C21120E6289F8B -:10262000F001299FF00D1124E953FE4E819188237A -:1026300039F09091C00095FFFCCF8093C600F6CF93 -:10264000E1E9F1E58491882341F09091C00095FF84 -:10265000FCCF8093C6003196F5CF8091C00085FFF6 -:10266000FCCF8AE08093C6000E94E66824C3C09035 -:102670007413D0907513E0907613F0907713209137 -:10268000A9133091AA134091AB135091AC13C70119 -:10269000B6010F94A1042DEC3CEC4CEC5DE30F94DF -:1026A0007E07181614F00C94A877C092A913D09244 -:1026B000AA13E092AB13F092AC1389EA93E10E9463 -:1026C0007AFA60E080E00E94136DF5C288E50E940E -:1026D000BF6881115AC180911D0C81115BC189E5D0 -:1026E0000E94BF68811156C188E50E94BF68882397 -:1026F000D1F00E94B468672B682B692BA1F00E946F -:10270000AB682091911330919213409193135091A3 -:1027100094130F94A20460939D1370939E1380935F -:102720009F139093A01389E50E94BF688823D1F07E -:102730000E94B468672B682B692BA1F00E94AB68DC -:1027400020919513309196134091971350919813BF -:102750000F94A2046093A1137093A2138093A31308 -:102760009093A41380911D0C811106C08AE50E94EC -:10277000BF68882309F495C080918E13882309F4DB -:102780000EC180918F13882309F409C180E090E085 -:10279000A0E4B1E48093681390936913A0936A1343 -:1027A000B0936B1380E090E0A0E4B0EC80936C13E6 -:1027B00090936D13A0936E13B0936F1380E090E02D -:1027C000A0EAB0E48093701390937113A0937213F6 -:1027D000B093731320E030E040E251E460915F0C6D -:1027E0007091600C8091610C9091620C0F94820545 -:1027F0006093190C70931A0C80931B0C90931C0C13 -:102800001092A5131092A6131092A7131092A8135A -:1028100029EA33E145EA53E161EA73E18DE993E1A5 -:102820000E94A6F9E090190CF0901A0C00911B0C74 -:1028300010911C0CA9E8CA2EA3E1DA2E24E733E19B -:1028400040E753E16CE673E188E693E10E9498EF7C -:102850000E9415E48091681390916913A0916A1306 -:10286000B0916B1380939D1390939E13A0939F132D -:10287000B093A01380916C1390916D13A0916E137F -:10288000B0916F138093A1139093A213A093A313FD -:10289000B093A41382E090E00E94156481E08093DD -:1028A000C0138AE50E94BF688823D1F00E94B468F3 -:1028B000672B682B692BA1F00E94AB6820919913BC -:1028C00030919A1340919B1350919C130F94A20442 -:1028D0006093A5137093A6138093A7139093A813E6 -:1028E00029EA33E145EA53E161EA73E18DE993E1D5 -:1028F0000E94A6F980E00E9495DC8091541390918B -:102900005513A0915613B09157138093190C9093BF -:102910001A0CA0931B0CB0931C0C8091C2139091C5 -:10292000C3139093560C8093550C0E94C8FE60937D -:10293000B3117093B4118093B5119093B6110E94A6 -:102940008EDC87E50E94BF688823A9F01092C0132F -:10295000E2ECFDE08191882339F09091C00095FF71 -:10296000FCCF8093C600F6CF8091C00085FFFCCFDE -:102970008AE08093C6008091C013882309F474CE46 -:1029800082EA92E50E9427666FCE80E090E00E9486 -:102990001564A1CE81E090E00E941564A5CE80E090 -:1029A00090E00E94156481E090E00E941564EECEF4 -:1029B0000E941A4780E00E94BD750E9404AE0C94EC -:1029C000C07E0E94B468AB01BC0140936B1650936B -:1029D0006C1660936D1670936E1686EB95E10E94EF -:1029E0004D3442CE0E94AB680F94EA058B010C94E3 -:1029F0000081E091BB13F0E0EE0FFF1FE85DFD4F9B -:102A00000190F081E02DEE59FE4F808191810E946E -:102A10006BAB82E090E09093B6138093B5130E9465 -:102A2000C8FE6093AB117093AC118093AD1190937D -:102A3000AE110E94C8FE6093B3117093B4118093DD -:102A4000B5119093B61110CE0E94C8FE681979098D -:102A50008A099B09693E73408105910508F479C094 -:102A6000E1EEF1E58491882341F09091C00095FF5B -:102A7000FCCF8093C6003196F5CFE091A21124E0FF -:102A8000E29FF0011124E85BFE4E4081518162819A -:102A9000738121E030E08BE397E10E9497DBEDED5D -:102AA000F1E58491882341F09091C00095FFFCCF1F -:102AB0008093C6003196F5CF6091A21170E04AE094 -:102AC00050E08BE397E10E94C1DAE9EDF1E58491F2 -:102AD000882341F09091C00095FFFCCF8093C60001 -:102AE0003196F5CFF7FE03C0EFECFDE025C00E9464 -:102AF000C8FE8B019C01C701B6016854744F8F4F0B -:102B00009F4F601B710B820B930BA30192010F94DB -:102B10005909BA01A9012AE030E08BE397E10E944C -:102B2000EDDA8091C00085FFFCCF0DC09091C00010 -:102B300095FFFCCF8093C60081918111F7CF8091E2 -:102B4000C00085FFFCCF3092C6000E94C8FE4B013A -:102B50005C010E941A4780E00E94BD750E9404AE8D -:102B6000FFEFCF16DF06EF06FF0609F046C08091A3 -:102B7000A011E091A211F0E08F01000F111F000FD2 -:102B8000111F085B1E4EEE0FFF1FE05BFE4E6081C3 -:102B900071818823C9F0882777FD8095982F0F943D -:102BA0001D0620E030E040E85FE30F94A1049B01A4 -:102BB000AC01D8016D917D918D919C910F947E0710 -:102BC00087FF50C00C94E682882777FD8095982F68 -:102BD0000F941D0620E030E040E85FE30F94A2046C -:102BE0009B01AC01F80160817181828193810F9416 -:102BF0007B051816BCF50C94E682F7FE02C00C9417 -:102C0000E682E091A211F0E08F01000F111F000F8A -:102C1000111F085B1E4EEE0FFF1FE05BFE4E608132 -:102C20007181882777FD8095982F0F941D069B0151 -:102C3000AC01D8016D917D918D919C910F94A1046F -:102C40000F94EA0597FF07C0909580957095619560 -:102C50007F4F8F4F9F4F663071058105910514F4AA -:102C60000C94E6820E94C8FE6B017C010C94E68203 -:102C70000E9415E488E50E94BF68882319F0179A1E -:102C800010928E1389E50E94BF68882319F0169A66 -:102C900010928F138AE50E94BF6885E40E94BF6886 -:102CA000882309F4E1CC149ADFCC0E9415E4149A2D -:102CB0000E9492E4D9CCCD5BDF4F0FB6F894DEBF13 -:102CC0000FBECDBFDF91CF911F910F91FF90EF907D -:102CD000DF90CF90BF90AF909F908F907F906F903C -:102CE0005F904F903F902F9008950F931F93809186 -:102CF000BE139091BF13892BA1F00E94C8FE0091D2 -:102D0000A3111091A4112091A5113091A611601B5F -:102D1000710B820B930B693E73408105910508F09E -:102D2000A5C08091BE139091BF13892B11F410920E -:102D3000C1138091BD119091BE11039714F40E94AC -:102D40007D7160E08EEC93E10E94CD598091BD11C0 -:102D50009091BE11892B09F47EC08091CE138823F7 -:102D6000E1F08091C1119091C21120E6289F80016D -:102D7000299F100D112409531E4E6FEB72E5C801F7 -:102D80000F94BD0E892B59F5B8018EEC93E10E948A -:102D90004F598091CF13882319F00E94737645C054 -:102DA000E091BB13F0E0EE0FFF1FE85DFD4F0190D7 -:102DB000F081E02DE05CFE4F0190F081E02D8491E8 -:102DC000882341F09091C00095FFFCCF8093C6000E -:102DD0003196F5CF8091C00085FFFCCF23C060E025 -:102DE0008EEC93E10E94C35AE091BB13F0E0EE0F2A -:102DF000FF1FE85DFD4F0190F081E02DEE5BFE4F7F -:102E00000190F081E02D8491882341F09091C000E1 -:102E100095FFFCCF8093C6003196F5CF8091C0001E -:102E200085FFFCCF8AE08093C6008091BD11909110 -:102E3000BE1101979093BE118093BD118091C11175 -:102E40009091C211019664E070E00F94460990934E -:102E5000C2118093C1110E941A4780E00E94BD7583 -:102E60000E94B6DB1F910F910C9404AE81E0809319 -:102E7000C1138091BE139091BF1301979093BF131C -:102E80008093BE130E94C8FE6093A3117093A41197 -:102E90008093A5119093A61144CF8F929F92AF92E9 -:102EA000BF92CF92DF92EF92FF920F931F93CF9337 -:102EB000DF938C018C519E4F0E941453680189E866 -:102EC000C80ED11C21F1780181E4E81A8EEFF80ACE -:102ED000E70157018FE1A81AB10889EB882E8EE02F -:102EE000982ECC15DD0599F0FE01EE19FF09EA0DCB -:102EF000FB1D91828082FE0178978081811102C042 -:102F00006F97EFCFCE014B970E943035F9CFC801B4 -:102F100086599F4F0E941453C801875B9F4FDF91D2 -:102F2000CF911F910F91FF90EF90DF90CF90BF90C6 -:102F3000AF909F908F900C9414538EEC93E10C946F -:102F400020538EEC93E1A9CFFB016091680C709146 -:102F5000690C70939E1660939D166091A7167091F0 -:102F6000A81670939C1660939B1662E06093670CA2 -:102F700068E079EB7093690C6093680C90939A16F3 -:102F800080939916F0939816E0939716662757FD4D -:102F90006095762F409393165093941660939516F0 -:102FA00070939616C901AA2797FDA095BA2F841B86 -:102FB000950BA60BB70B80938F1690939016A0934A -:102FC0009116B093921680819181AA2797FDA095C2 -:102FD000BA2F841B950BA60BB70B8093A716909363 -:102FE000A816A093A916B093AA160895CF93DF93BD -:102FF000CDB7DEB7C054D1090FB6F894DEBF0FBE0F -:10300000CDBF88E0EFE9FCE0DE01D99601900D929A -:103010008A95E1F788E0E7EAFCE0DE01D1960190CD -:103020000D928A95E1F788E0EFEAFCE0DE019996DF -:1030300001900D928A95E1F788E0E7EBFCE0DE0174 -:10304000919601900D928A95E1F788E0EFEBFCE014 -:10305000DE01599601900D928A95E1F788E0E7EC40 -:10306000FCE0DE01519601900D928A95E1F788E02F -:10307000EFECFCE0DE01199601900D928A95E1F7E4 -:1030800088E0E7EDFCE0DE01119601900D928A9553 -:10309000E1F7AE01475C5F4F60E082EB96E10E9492 -:1030A000E94EAE014F5C5F4F61E082EB96E10E941A -:1030B000E94EAE01475D5F4F62E082EB96E10E9410 -:1030C000E94EAE014F5D5F4F63E082EB96E10E94F7 -:1030D000E94EAE01475E5F4F64E082EB96E10E94ED -:1030E000E94EAE014F5E5F4F65E082EB96E10E94D4 -:1030F000E94EAE01475F5F4F66E082EB96E10E94CA -:10310000E94EAE014F5F5F4F67E082EB96E10E94B0 -:10311000E94EC05CDF4F0FB6F894DEBF0FBECDBFE7 -:10312000DF91CF9108950F931F93CF93DF93EB011E -:10313000142F022F482F60E082EB96E10E944B4D46 -:10314000612F82EB96E10F94320411E1FE0164914C -:10315000662311F0111117C0112339F060E282EBE0 -:1031600096E10F9432041150F7CF602F82EB96E175 -:103170000F94320460E282EB96E1DF91CF911F91D0 -:103180000F910D94320482EB96E10F943204219654 -:103190001150DCCFCF92DF92EF92FF920F931F93EB -:1031A000CF93DF93D82EC62E7A01E901482F82EB08 -:1031B00096E10E944B4D81E0E816F10469F182E04E -:1031C000E816F10409F04FC0BE0182EB96E10F94BE -:1031D0003104FE0101900020E9F73197EC1BFD0B53 -:1031E0006C2D6E0F4D2D82EB96E10E944B4D6CEED7 -:1031F0007DE082EB96E10F943104FE010190002006 -:10320000E9F76C2D6C1B6E0F4D2D82EB96E10E9441 -:103210004B4D6CE27EE028C0BE0182EB96E10F943C -:103220003104FE0101900020E9F73197EC1BFD0B02 -:103230006C2D6E0F4D2D82EB96E10E944B4D6CEE86 -:103240007DE082EB96E10F943104FE0101900020B5 -:10325000E9F76C2D6C1B6E0F4D2D82EB96E10E94F1 -:103260004B4DB80101C0BE0182EB96E1DF91CF91D9 -:103270001F910F91FF90EF90DF90CF900D9431044C -:10328000EF92FF920F931F93CF93DF93EB01E42E06 -:103290008901F90101900020E9F7F22EFE1A92E16E -:1032A000F90E482F60E082EB96E10E944B4D6E2DA7 -:1032B00082EB96E10F943204FE016491662311F0D3 -:1032C000F11019C06AE382EB96E10F943204FF20FB -:1032D00039F060E282EB96E10F943204FA94F7CF72 -:1032E000B80182EB96E1DF91CF911F910F91FF9092 -:1032F000EF900D94310482EB96E10F943204219605 -:10330000FA94DACF82EB96E10C943F4DCF93809103 -:103310000101846080930101CAE09FB7F894809115 -:1033200002018460809302019FBF84E690E00E94C6 -:103330001BFF9FB7F894809102018B7F809302015D -:103340009FBF84E690E00E941BFFC15031F7CF91F0 -:10335000089582E08093670C0E94C8FE6C507E4FF7 -:103360008F4F9F4F6093AC167093AD168093AE163F -:103370009093AF16CBCFE091680CF091690CE817F1 -:10338000F90771F09093690C8093680C4093A7162D -:103390005093A8166093A9167093AA162111D9CF3D -:1033A000089521E040E050E0BA01E5CF21E040E09F -:1033B00050E0BA01E0CFCF92DF92EF92FF920F93ED -:1033C0001F93CF93DF938091A7169091A816A09199 -:1033D000A916B091AA1681309048A105B10540F018 -:1033E0001092A7161092A8161092A9161092AA165B -:1033F0008091A7169091A816A091A916B091AA162F -:10340000B695A795979587954091B01650E060E0E6 -:1034100070E084179507A607B70710F48093B016DD -:10342000D091B0161091B11612FB112710F9C0E01F -:10343000B7E1CB2ED12CE12CF12C01E04091A71665 -:103440005091A8166091A9167091AA16D11138C092 -:103450008091670C8823C1F0E091BB13F0E0EE0F80 -:10346000FF1FE85DFD4F0190F081E02D868197817F -:1034700023E0423051056105710510F443E001C0BD -:1034800040E2BC018C2F4FDE112309F420C2809151 -:10349000A7169091A816A091A916B091AA16029706 -:1034A000A105B10508F013C254DF83E196ECDF916A -:1034B000CF911F910F91FF90EF90DF90CF9071CF40 -:1034C000D13051F58091670C882389F07695679506 -:1034D0005795479523E0413051056105710511F479 -:1034E00043E001C040E265EB74E58C2F1CDE112344 -:1034F00009F4EDC18091A7169091A816A091A91684 -:10350000B091AA16B695A795979587950197A105AD -:10351000B10509F0DCC1C8CFD230B9F58091670C94 -:103520008823F1F0E091BB13F0E0EE0FFF1FE85DA0 -:10353000FD4F0190F081E02DE254FE4F808191819A -:10354000769567955795479523E04230510561057B -:10355000710511F443E001C040E2BC018C2FE3DDB2 -:10356000112309F4B4C18091A7169091A816A091D7 -:10357000A916B091AA16B695A79597958795029723 -:10358000A105B10509F0A3C18FCFD330B9F5809162 -:10359000670C8823F1F0E091BB13F0E0EE0FFF1F02 -:1035A000E85DFD4F0190F081E02DE054FE4F8081F9 -:1035B0009181769567955795479523E0433051055E -:1035C0006105710511F443E001C040E2BC018C2F9C -:1035D000AADD112309F47BC18091A7169091A8164A -:1035E000A091A916B091AA16B695A795979587951B -:1035F0000397A105B10509F06AC156CFD430B9F5DA -:103600008091670C8823F1F0E091BB13F0E0EE0F9E -:10361000FF1FE85DFD4F0190F081E02DEE53FE4F5E -:1036200080819181769567955795479523E0443041 -:1036300051056105710511F443E001C040E2BC0190 -:103640008C2F71DD112309F442C18091A71690914E -:10365000A816A091A916B091AA16B695A795979508 -:1036600087950497A105B10509F031C11DCFD5306B -:1036700051F58091670C882389F076956795579569 -:10368000479523E0453051056105710511F443E08C -:1036900001C040E268EA74E58C2F45DD112309F48E -:1036A00016C18091A7169091A816A091A916B09165 -:1036B000AA16B695A795979587950597A105B10583 -:1036C00009F005C1F1CED63051F58091670C882301 -:1036D00089F0769567955795479523E046305105D3 -:1036E0006105710511F443E001C040E26DE974E544 -:1036F0008C2F19DD112309F4EAC08091A71690914F -:10370000A816A091A916B091AA16B695A795979557 -:1037100087950697A105B10509F0D9C0C5CED73068 -:1037200051F58091670C882389F0769567955795B8 -:10373000479523E0473051056105710511F443E0D9 -:1037400001C040E264E974E58C2FEDDC112309F43B -:10375000BEC08091A7169091A816A091A916B0910D -:10376000AA16B695A795979587950797A105B105D0 -:1037700009F0ADC099CED83051F58091670C8823FF -:1037800089F0769567955795479523E04830510520 -:103790006105710511F443E001C040E26AE874E597 -:1037A0008C2FC1DC112309F492C08091A71690914F -:1037B000A816A091A916B091AA16B695A7959795A7 -:1037C00087950897A105B10509F081C06DCED93064 -:1037D00051F58091670C882389F076956795579508 -:1037E000479523E0493051056105710511F443E027 -:1037F00001C040E26DE774E58C2F95DC112309F4DC -:1038000066C08091A7169091A816A091A916B091B4 -:10381000AA16B695A795979587950997A105B1051D -:1038200009F055C041CEDA3041F58091670C88230C -:1038300089F0769567955795479523E04A3051056D -:103840006105710511F443E001C040E266E774E5EB -:103850008C2F69DC1123D9F18091A7169091A816BD -:10386000A091A916B091AA16B695A7959795879598 -:103870000A97A105B10559F517CEDB3041F58091C6 -:10388000670C882389F0769567955795479523E0CF -:103890004B3051056105710511F443E001C040E270 -:1038A0006AE674E58C2F3FDC112389F08091A7161E -:1038B0009091A816A091A916B091AA16B695A795B1 -:1038C000979587950B97A105B10509F4EDCD8091EA -:1038D000A7169091A816A091A916B091AA1648977C -:1038E000A105B10540F0C092A716D092A816E092AB -:1038F000A916F092AA164091A7165091A8166091A9 -:10390000A9167091AA167695679557954795809157 -:10391000B01690E00396242F30E0821793074CF402 -:103920008DEF840F8093B0160093670CDCEFD40FFB -:10393000CFEFCF5FDF5FC43008F480CDDF91CF9150 -:103940001F910F91FF90EF90DF90CF900895FF921D -:103950000F931F93CF93DF938091A7169091A81692 -:10396000A091A916B091AA1681309048A105B10581 -:1039700040F01092A7161092A8161092A916109255 -:10398000AA168091A7169091A816A091A916B09199 -:10399000AA16B695A795979587954091B01650E0D1 -:1039A00060E070E084179507A607B70710F48093CE -:1039B000B016D091B0161091B11612FB112710F964 -:1039C000C0E0FF24F3948091A7169091A816A091CF -:1039D000A916B091AA16D11135C02091670C2223E7 -:1039E000C1F0E091BB13F0E0EE0FFF1FE85DFD4F6B -:1039F0000190F081E02DE450FF4F6081718123E060 -:103A00000297A105B10510F443E001C040E28C2FFC -:103A10008ADB112309F483C08091A7169091A81620 -:103A2000A091A916B091AA160297A105B10508F0B8 -:103A300076C08FDC85E497EADF91CF911F910F91DB -:103A4000FF90AFCCD130A9F52091670C2223D1F0A3 -:103A5000E091BB13F0E0EE0FFF1FE85DFD4F01901A -:103A6000F081E02D62AD73ADB695A79597958795DA -:103A70002EE70197A105B10511F44EE301C040E224 -:103A80008C2F51DB112309F44AC08091A716909125 -:103A9000A816A091A916B091AA16B695A7959795C4 -:103AA00087950197A105B105D1F553DC8FEF98EB10 -:103AB000D0C0D230A1F52091670C2223D1F0E09143 -:103AC000BB13F0E0EE0FFF1FE85DFD4F0190F081AA -:103AD000E02D64AD75ADB695A795979587952EE7C2 -:103AE0000297A105B10511F44EE301C040E28C2F0D -:103AF0001ADB1123A1F08091A7169091A816A0912E -:103B0000A916B091AA16B695A7959795879502978D -:103B1000A105B10521F41DDC86EF98EB9AC020E0E9 -:103B200030E040E251E460918216709183168091FA -:103B30008416909185160F947B0587FF94C0209181 -:103B400020178091A7169091A816A091A916B09160 -:103B5000AA16211138C0D330C1F52091670C222359 -:103B6000D1F0E091BB13F0E0EE0FFF1FE85DFD4FD9 -:103B70000190F081E02D66AD77ADB695A79597954C -:103B800087952EE70397A105B10511F44EE301C017 -:103B900040E28C2FC8DA112309F461C08091A71686 -:103BA0009091A816A091A916B091AA16B695A795BE -:103BB000979587950397A105B10509F050C0C9DB1A -:103BC0008DEE98EB46C003E001C004E00D1348C041 -:103BD0002091670C222319F1E091BB13F0E0EE0F66 -:103BE000FF1FE85DFD4F0190F081E02DE05CFF4F8D -:103BF0000190F081E02DB695A79597958795402F78 -:103C000050E060E070E02EE784179507A607B7073D -:103C100011F44EE301C040E2BF018C2F84DA11237E -:103C2000F9F04091A7165091A8166091A9167091CD -:103C3000AA167695679557954795802F90E0A0E056 -:103C4000B0E0481759076A077B0751F482DB86E822 -:103C500097EBDF91CF911F910F91FF90A7CB04E0DD -:103C600031E0300F01C033E04091A7165091A81603 -:103C70006091A9167091AA16769567955795479504 -:103C8000832F90E0A0E0B0E0481759076A077B0750 -:103C900088F0832F90E0880F991F0197AA2797FD3E -:103CA000A095BA2F8093A7169093A816A093A91653 -:103CB000B093AA164091A7165091A8166091A91624 -:103CC0007091AA1676956795579547958091B0168D -:103CD00090E00396242F30E0821793074CF48DEF89 -:103CE000840F8093B016F092670CDCEFD40FCFEF07 -:103CF000CF5FDF5FC43008F466CEDF91CF911F91B4 -:103D00000F91FF90089580E090E0A0E8BFE38093DA -:103D1000821690938316A0938416B093851617CEBF -:103D20008093BB1391E090936A0C682F8EEF9FE015 -:103D30000F947B1180918616813019F482E0809374 -:103D4000861608957F928F929F92AF92BF92CF92E4 -:103D5000DF92EF92FF920F931F93CF93DF938091A7 -:103D6000A7169091A816A091A916B091AA16813015 -:103D70009048A105B10540F01092A7161092A81620 -:103D80001092A9161092AA168091A7169091A816C3 -:103D9000A091A916B091AA16B695A7959795879563 -:103DA0004091B01650E060E070E084179507A607D8 -:103DB000B70710F48093B016E090B016D090B1160B -:103DC000D2FADD24D0F8F12CCC24C394809186164D -:103DD00081113BC0EE2019F07724739437C0809195 -:103DE000670C882301F1E091BB13F0E0EE0FFF1F99 -:103DF000E85DFD4F0190F081E02DE450FF4F6081C0 -:103E000071818091A7169091A816A091A916B091E2 -:103E1000AA1623E00297A105B10510F443E001C002 -:103E200040E28F2D80D9DD20B9F28091A7169091C4 -:103E3000A816A091A916B091AA160297A105B105DE -:103E400058F687DA85E497EA51C0712C809186167E -:103E5000823009F05AC07E1057C08091670C8823C9 -:103E600059F1E091BB13F0E0EE0FFF1FE85DFD4F4D -:103E70000190F081E02DE055FF4F0190F081E02DA1 -:103E80008091A7169091A816A091A916B091AA1694 -:103E9000B695A79597958795472D50E060E070E01F -:103EA00023E084179507A607B70711F443E001C084 -:103EB00040E2BF018F2D37D9DD2031F18091A71667 -:103EC0009091A816A091A916B091AA16B695A7959B -:103ED00097958795472D50E060E070E0841795072F -:103EE000A607B70789F435DA8BE79DECDF91CF9110 -:103EF0001F910F91FF90EF90DF90CF90BF90AF9008 -:103F00009F908F907F904DCA739408E212E0C0E0BA -:103F1000D0E08E2C912CA12CB12C7E104AC0809127 -:103F2000670C882319F1D801ED91FC91E654FE4FFE -:103F3000608171818091A7169091A816A091A91611 -:103F4000B091AA16B695A79597958795272D30E03D -:103F500040E050E082179307A407B50719F420E268 -:103F60004EE302C020E240E28F2DDDD8DD2009F1D2 -:103F70008091A7169091A816A091A916B091AA16A3 -:103F8000B695A7959795879588159905AA05BB05B8 -:103F900081F4DFD98C2FDF91CF911F910F91FF908A -:103FA000EF90DF90CF90BF90AF909F908F907F90D9 -:103FB000B7CE739421960E5F1F4FC530D10509F01F -:103FC000ACCF4091A7165091A8166091A916709198 -:103FD000AA167695679557954795872D90E0A0E0AE -:103FE000B0E0481759076A077B0788F0872D90E0F3 -:103FF000880F991F0197AA2797FDA095BA2F809344 -:10400000A7169093A816A093A916B093AA1640914C -:10401000A7165091A8166091A9167091AA167695C8 -:104020006795579547958091B01690E00396242F99 -:1040300030E0821793075CF48DEF840F8093B01605 -:10404000C092670CECEFEE2EE40EFF24FA94F3948A -:10405000E394B3E0BF1508F0B9CEDF91CF911F9183 -:104060000F91FF90EF90DF90CF90BF90AF909F9017 -:104070008F907F900895109226178EEC93E10E9406 -:10408000D65F1092B01608958EEC93E10E94B5565B -:104090001092201783E08093670C08958EEC93E1D3 -:1040A0000E94BC5681E08093201783E08093670CC8 -:1040B000089520E044E064E182EB96E10E947E4DA9 -:1040C0000E94F69782EB96E10C943F4DF2DF20E0E0 -:1040D00040E050E0BA018BE79DEC4DC98CE593E5DB -:1040E0000E942766F3CF1092511110925011109236 -:1040F0004F1110924E111092881310928713E6CF31 -:1041000080911E1790911F17909351118093501119 -:1041100080911C1790911D1790934F1180934E1111 -:104120001092881310928713D1DF0C945A4180911A -:1041300018179091191790935111809350118091F5 -:1041400016179091171790934F1180934E1110925C -:10415000881310928713BADF0C945A418091790C1E -:1041600090917A0C90935111809350118091770C1B -:104170009091780C90934F1180934E111092881368 -:1041800010928713A3DF0C945A418091750C909183 -:10419000760C90935111809350118091730C9091F3 -:1041A000740C90934F1180934E11109288131092BB -:1041B00087138CDF0C945A418091710C9091720C92 -:1041C000909351118093501180916F0C9091700CCD -:1041D00090934F1180934E11109288131092871371 -:1041E00075DF0C945A4180916D0C90916E0C9093F8 -:1041F00051118093501180916B0C90916C0C9093A5 -:104200004F1180934E1110928813109287135EDF26 -:104210000C945A41CF92DF92EF92FF920F931F932B -:10422000CF93DF938091A7169091A816A091A9161D -:10423000B091AA1681309048A105B10540F01092C6 -:10424000A7161092A8161092A9161092AA1680917D -:10425000A7169091A816A091A916B091AA16B69586 -:10426000A795979587954091B01650E060E070E073 -:1042700084179507A607B70710F48093B016D0915E -:10428000B0161091B11612FB112710F9C0E0BFE073 -:10429000CB2ED12CE12CF12C01E04091A7165091AE -:1042A000A8166091A9167091AA16D11139C08091F3 -:1042B000670C8823C9F0E091BB13F0E0EE0FFF1FFD -:1042C000E85DFD4F0190F081E02D8681978123E02C -:1042D000423051056105710510F443E001C040E230 -:1042E000BC018C2F0E949398112309F4A4C18091E2 -:1042F000A7169091A816A091A916B091AA16029798 -:10430000A105B10508F097C124D883E196ECDF91AF -:10431000CF911F910F91FF90EF90DF90CF9041C808 -:10432000D130A9F58091670C882391F07695679537 -:104330005795479520E2413051056105710511F40B -:104340004EE301C040E268E374E58C2F0E9493982D -:10435000112309F470C18091A7169091A816A0911D -:10436000A916B091AA16B695A79597958795019726 -:10437000A105B10509F05FC10E94A999DF91CF9114 -:104380001F910F91FF90EF90DF90CF90D0CED23061 -:10439000A9F58091670C882391F0769567955795DC -:1043A000479520E2423051056105710511F44EE355 -:1043B00001C040E269E274E58C2F0E9493981123BA -:1043C00009F439C18091A7169091A816A091A91659 -:1043D000B091AA16B695A795979587950297A105CE -:1043E000B10509F028C10E94A999DF91CF911F91D1 -:1043F0000F91FF90EF90DF90CF9082CED330A9F550 -:104400008091670C882391F076956795579547952D -:1044100020E2433051056105710511F44EE301C0FE -:1044200040E26AE174E58C2F0E949398112309F40D -:1044300002C18091A7169091A816A091A916B091DB -:10444000AA16B695A795979587950397A105B105E7 -:1044500009F0F1C00E94A999DF91CF911F910F91AE -:10446000FF90EF90DF90CF9090CED430A9F580915F -:10447000670C882391F0769567955795479520E2CC -:10448000443051056105710511F44EE301C040E26D -:104490006AE074E58C2F0E949398112309F4CBC035 -:1044A0008091A7169091A816A091A916B091AA166E -:1044B000B695A795979587950497A105B10509F03D -:1044C000BAC00E94A999DF91CF911F910F91FF90DF -:1044D000EF90DF90CF9070CED530A9F58091670C2A -:1044E000882391F0769567955795479520E245305A -:1044F00051056105710511F44EE301C040E26AEF18 -:1045000073E58C2F0E949398112309F494C0809135 -:10451000A7169091A816A091A916B091AA16B695C3 -:10452000A795979587950597A105B10509F083C0D3 -:104530000E94A999DF91CF911F910F91FF90EF9069 -:10454000DF90CF900BCED630A9F58091670C8823F1 -:1045500091F0769567955795479520E2463051053D -:104560006105710511F44EE301C040E26BEE73E5A5 -:104570008C2F0E949398112309F45DC08091A71697 -:104580009091A816A091A916B091AA16B695A795D4 -:10459000979587950697A105B10509F04CC00E9433 -:1045A000A999DF91CF911F910F91FF90EF90DF902C -:1045B000CF9019CED73009F03EC08091670C882388 -:1045C000E9F0E091BB13F0E0EE0FFF1FE85DFD4F57 -:1045D0000190F081E02D86A597A576956795579572 -:1045E000479520E2473051056105710511F44EE30E -:1045F00001C040E2BC018C2F0E9493981123D9F096 -:104600008091A7169091A816A091A916B091AA160C -:10461000B695A795979587950797A105B10559F484 -:104620000E94A999DF91CF911F910F91FF90EF9078 -:10463000DF90CF9058CD8091A7169091A816A091A9 -:10464000A916B091AA164097A105B10540F0C092F5 -:10465000A716D092A816E092A916F092AA16409139 -:10466000A7165091A8166091A9167091AA16769572 -:104670006795579547958091B01690E00396242F43 -:1046800030E0821793074CF48DEF840F8093B016BF -:104690000093670CDCEFD40FCFEFCF5FDF5FC43048 -:1046A00008F4FBCDDF91CF911F910F91FF90EF9018 -:1046B000DF90CF9008952F923F924F925F926F922A -:1046C0007F928F929F92AF92BF92CF92DF92EF92A2 -:1046D000FF920F931F93CF93DF93CDB7DEB7A297CF -:1046E0000FB6F894DEBF0FBECDBF8091670C81116D -:1046F00004C08091B11682FFBAC28EEC93E10E9491 -:10470000BD5E4091A7165091A8166091A9167091B0 -:10471000AA16413050486105710540F01092A71665 -:104720001092A8161092A9161092AA164091A716D8 -:104730005091A8166091A9167091AA167695679562 -:10474000579547950091B01610E020E030E04017F3 -:1047500051076207730710F44093B0164090B016EB -:104760003090B11632FA332430F8512C9C0121508C -:10477000310939A328A3411038C08091670C8823E0 -:10478000F9F0E091BB13F0E0EE0FFF1FE85DFD4F85 -:104790000190F081E02D668177818091A71690913C -:1047A000A816A091A916B091AA1623E00297A10518 -:1047B000B10510F443E001C040E2852D0E949398BA -:1047C000332099F08091A7169091A816A091A91670 -:1047D000B091AA160297A105B10538F40E94A999D3 -:1047E00083E196EC0E94D19942C262ED73E18CE3C1 -:1047F00094E10E94E4318091D2138F3229F031E0AC -:10480000431669F022E001C021E0A8A0B9A0C42CA1 -:10481000D12CE12CF12C22242394240C4BC0809128 -:10482000670C8823C9F08091A7169091A816A091D3 -:10483000A916B091AA16B695A7959795879520E2E7 -:104840000197A105B10511F44EE301C040E26FE20A -:104850007EE0852D0E9493983320A1F28091A716C7 -:104860009091A816A091A916B091AA16B695A795F1 -:10487000979587950197A105B10521F60E94A99901 -:10488000FADBF5C1241161C140E050E0B5018EECC6 -:1048900093E10E94D85A909114148091670C992347 -:1048A00009F49BC081110BC0311074C0222DF1E0BE -:1048B000AF1AB1083FEFA316B30621F748C18091A4 -:1048C000A7169091A816A091A916B091AA16B69510 -:1048D000A79597958795452D60E08C159D05AE05AC -:1048E000BF0561F582EB96E10E944B4D6EE382EBD2 -:1048F00096E10F94320465E082EB96E10F94320466 -:104900008091DF13882329F01092F1130FED13E14A -:1049100002C002ED13E1B2E19B2EF80161918F011B -:10492000662311F0911062C1992009F4BDCF60E2B5 -:1049300082EB96E10F9432049A94F6CF82EB96E1E3 -:104940000E944B4D60E282EB96E10F94320465E0E9 -:1049500082EB96E10F9432048091DF13882329F0D3 -:104960001092F1130FED13E102C002ED13E1A2E189 -:104970009A2EF80161918F01662311F091103CC1CC -:10498000992009F491CF60E282EB96E10F94320412 -:104990009A94F6CF8091A7169091A816A091A91687 -:1049A000B091AA16B695A795979587958C159D05F4 -:1049B000AE05BF0509F07ACF0E94A99962ED73E1B7 -:1049C0008EEC93E10E94205F1092A7161092A81619 -:1049D0001092A9161092AA164AC1811103C0311073 -:1049E00071C064CF8091A7169091A816A091A916C6 -:1049F000B091AA16B695A795979587958C159D05A4 -:104A0000AE05BF05B1F520913A172F8F10E0412F69 -:104A100060E082EB96E10E944B4D60E282EB96E112 -:104A20000F9432041F5F143091F7452D60E082EB44 -:104A300096E10E944B4D6EE382EB96E10F943204B7 -:104A400060EE862E63E1962E7FED672E73E1772E62 -:104A500001E010E0F30121913F012111D3C014E1E5 -:104A6000101B60E282EB96E10F9432041150C9F7FB -:104A7000B6CF452D60E082EB96E10E944B4D60E29F -:104A800082EB96E10F9432048091DF13882329F0A2 -:104A90001092F2130FED13E102C002ED13E153E1A6 -:104AA000952EF80161918F01662311F09110D9C004 -:104AB000992009F494CF60E282EB96E10F943204DE -:104AC0009A94F6CF8091A7169091A816A091A91656 -:104AD000B091AA16B695A795979587958C159D05C3 -:104AE000AE05BF0509F0E2CE0E94A99982ED93E1DF -:104AF0009F938F938CE494E59F938F938E010F5F28 -:104B00001F4F1F930F930F944A0F0F900F900F900A -:104B10000F900F900F907E01F5E0EF0EF11CF70162 -:104B20008081882349F0992787FD90950F947E0E08 -:104B3000F70181937F01F3CFC8010E94A76588E444 -:104B400094E50E942766C2DA92C02F5FB0CE8091B2 -:104B5000A7169091A816A091A916B091AA16B6957D -:104B6000A79597958795422F50E060E070E08417F5 -:104B70009507A607B70788F0822F90E0880F991F46 -:104B80000197AA2797FDA095BA2F8093A716909317 -:104B9000A816A093A916B093AA168091A716909173 -:104BA000A816A091A916B091AA16B695A7959795A3 -:104BB00087952091B01630E02D5F3F4F482F50E091 -:104BC0002417350764F42DEF280F2093B01621E049 -:104BD0002093670C1CEF412E480E55245A94539491 -:104BE000439483E0851508F0C6CD41C082EB96E181 -:104BF0000F9432049A9491CE82EB96E10F94320492 -:104C00009A94B7CE452D602F82EB96E12AA30E949D -:104C10004B4D2AA1622F82EB96E10F9432040F5F75 -:104C20001F4F0431110509F015CF34010CE211E0DA -:104C30008091B11682FD05C080913A173F8D3817DB -:104C400049F0015011090115110591F78FEF881AEC -:104C5000980AFECE61E070E080E090E00E94F7FEEE -:104C6000F0CF82EB96E10F9432049A941ACFA29679 -:104C70000FB6F894DEBF0FBECDBFDF91CF911F916D -:104C80000F91FF90EF90DF90CF90BF90AF909F90EB -:104C90008F907F906F905F904F903F902F900895EE -:104CA000CF93DF93CDB7DEB728970FB6F894DEBF6A -:104CB0000FBECDBF88E0EFEDFCE0DE011196019064 -:104CC0000D928A95E1F7AE014F5F5F4F61E082EB95 -:104CD00096E10E94E94E28960FB6F894DEBF0FBE0B -:104CE000CDBFDF91CF910895CF93DF93CDB7DEB7DE -:104CF00028970FB6F894DEBF0FBECDBF88E0E7EA75 -:104D0000FCE0DE01119601900D928A95E1F7AE016B -:104D10004F5F5F4F61E082EB96E10E94E94E28967B -:104D20000FB6F894DEBF0FBECDBFDF91CF910895CF -:104D30008EEF9FE00F946611853028F48093BB13AB -:104D400010928616089581E08093BB138093861697 -:104D500008951F93CF93DF93EC01FB0160811181D4 -:104D60000F947B11612FCE010196DF91CF911F919E -:104D70000D947B11FF920F931F93CF93DF938C01C0 -:104D8000EB010F946611F82EC80101960F9466117D -:104D9000F8828983DF91CF911F910F91FF90089541 -:104DA0000895EF92FF920F931F93CF93DF931F927B -:104DB000CDB7DEB77B018C01061B170B460FC70171 -:104DC000800F911FF70161917F0149830F947B113F -:104DD00049814E11F4CF0F90DF91CF911F910F9128 -:104DE000FF90EF90089581E090912517911180E058 -:104DF0008093251741E065E277E18FEF9FE0D1DFF7 -:104E00000E947FE521E047E050E060E070E085E44B -:104E100097EA0C94BB9981E090912517911180E05D -:104E20008093251741E065E277E18FEF9FE0B9DFDE -:104E30000E947FE521E049E050E060E070E08CE610 -:104E400093EB0C94BB99EF92FF920F931F93CF9328 -:104E5000DF931F92CDB7DEB77B018C01061B170BCA -:104E6000460FC701800F911F49830F946611F70108 -:104E700081937F0149814E13F4CF0F90DF91CF9141 -:104E80001F910F91FF90EF9008958F929F92AF9294 -:104E9000BF92EF92FF920F931F93CF93DF9341E066 -:104EA00065E277E18FEF9FE0CEDF8091A7169091CA -:104EB000A816A091A916B091AA1681309048A10514 -:104EC000B10540F01092A7161092A8161092A916DC -:104ED0001092AA168091A7169091A816A091A916D3 -:104EE000B091AA16B695A795979587954091B0165B -:104EF00050E060E070E084179507A607B70710F44C -:104F00008093B016D091B0161091B11612FB1127F4 -:104F100010F9C0E001E0D11143C08091670C8823F3 -:104F2000F9F0E091BB13F0E0EE0FFF1FE85DFD4FDD -:104F30000190F081E02D668177818091A716909194 -:104F4000A816A091A916B091AA1623E00297A10570 -:104F5000B10510F443E001C040E28C2F0E94939809 -:104F6000112309F4A2C08091A7169091A816A091D0 -:104F7000A916B091AA160297A105B10508F095C02F -:104F80000E94A99983E196ECDF91CF911F910F9137 -:104F9000FF90EF90BF90AF909F908F900C94D1991D -:104FA000D13009F042C08091670C882329F1E0914B -:104FB000BB13F0E0EE0FFF1FE85DFD4F0190F081A5 -:104FC000E02DE856FF4F608171818091A716909186 -:104FD000A816A091A916B091AA16B695A79597956F -:104FE00087952EE70197A105B10511F44EE301C0A5 -:104FF00040E28C2F0E949398112309F456C08091AF -:10500000A7169091A816A091A916B091AA16B695C8 -:10501000A795979587950197A105B10509F045C01A -:105020000E94A9998FE691EBC1C2D230F1F580912F -:10503000670C882319F1E091BB13F0E0EE0FFF1F1E -:10504000E85DFD4F0190F081E02D60AD71AD809184 -:10505000A7169091A816A091A916B091AA16B69578 -:10506000A795979587952EE70297A105B10511F4AD -:105070004EE301C040E28C2F0E9493981123A9F0C7 -:105080008091A7169091A816A091A916B091AA1682 -:10509000B695A795979587950297A105B10529F42F -:1050A0000E94A99983E89EE981C28091201781110D -:1050B00045C0D33019F034E0F32E42C08091670C24 -:1050C000882329F1E091BB13F0E0EE0FFF1FE85DAC -:1050D000FD4F0190F081E02DEA50FF4F608171811A -:1050E0008091A7169091A816A091A916B091AA1622 -:1050F000B695A795979587952EE70397A105B105D6 -:1051000011F44EE301C040E28C2F0E9493981123CA -:1051100091F28091A7169091A816A091A916B0912E -:10512000AA16B695A795979587950397A105B105FA -:1051300011F60E94A9998EE690EA38C263E0F62E35 -:10514000809120178111A6C0FD124AC08091670C82 -:10515000882351F1E091BB13F0E0EE0FFF1FE85DF3 -:10516000FD4F0190F081E02D0284F385E02D8091C8 -:10517000A7169091A816A091A916B091AA16B69557 -:10518000A795979587954F2D50E060E070E020E25D -:1051900084179507A607B70711F44EE301C040E254 -:1051A000BF018C2F0E9493981123D1F08091A716F4 -:1051B0009091A816A091A916B091AA16B695A79598 -:1051C000979587954F2D50E060E070E08417950724 -:1051D000A607B70729F40E94A99986E694E54CC072 -:1051E000EE24E394EF0CED1253C08091670C8823FA -:1051F00041F1E091BB13F0E0EE0FFF1FE85DFD4FC2 -:105200000190F081E02D648575858091A7169091BD -:10521000A816A091A916B091AA16B695A79597952C -:1052200087958D2E912CA12CB12C20E28815990503 -:10523000AA05BB0511F44EE301C040E28C2F0E9489 -:105240009398112329F18091A7169091A816A09107 -:10525000A916B091AA16B695A795979587954E2D44 -:1052600050E060E070E084179507A607B70781F467 -:105270000E94A99982E694E5DF91CF911F910F9149 -:10528000FF90EF90BF90AF909F908F900C94276607 -:10529000F394F39480912517811113C0FD1267C018 -:1052A0008091670C8823E9F1E091BB13F0E0EE0FE9 -:1052B000FF1FE85DFD4F0190F081E02DEA5DFE4F9C -:1052C00012C0FD1254C08091670C882351F1E09107 -:1052D000BB13F0E0EE0FFF1FE85DFD4F0190F08182 -:1052E000E02DEC5DFE4F0190F081E02D8091A7163E -:1052F0009091A816A091A916B091AA16B695A79557 -:10530000979587954F2D50E060E070E020E284177C -:105310009507A607B70749F140E2BF018C2F0E940D -:105320009398112321F18091A7169091A816A0912E -:10533000A916B091AA16B695A795979587954F2D62 -:1053400050E060E070E084179507A607B70779F48E -:105350000E94A999DF91CF911F910F91FF90EF903B -:10536000BF90AF909F908F903ECD4EE3D6CFF394F9 -:1053700064E377E18CEF9FE0FDDC66E377E18AEFA1 -:105380009FE0F8DC68E377E188EF9FE0F3DC609171 -:10539000381770913917882777FD8095982F0F94CB -:1053A0001D0620910E1E30910F1E4091101E50912F -:1053B000111E0F94820560933017709331178093FC -:1053C0003217909333178091201781114FC0FD122F -:1053D0004CC08091670C882361F1E091BB13F0E031 -:1053E000EE0FFF1FE85DFD4F0190F081E02DE251CF -:1053F000FF4F0190F081E02D8091A7169091A816A3 -:10540000A091A916B091AA16B695A79597958795DC -:105410004F2D50E060E070E02EE784179507A60757 -:10542000B70711F44EE301C040E2BF018C2F0E9488 -:1054300093981123D1F08091A7169091A816A0916E -:10544000A916B091AA16B695A795979587954F2D51 -:1054500050E060E070E084179507A607B70729F4CD -:105460000E94A9998FEA99EBA1C0F394FD124CC058 -:105470008091670C882361F1E091BB13F0E0EE0F9F -:10548000FF1FE85DFD4F0190F081E02DE454FE4FD9 -:105490000190F081E02D8091A7169091A816A0911F -:1054A000A916B091AA16B695A795979587954F2DF1 -:1054B00050E060E070E02EE784179507A607B70775 -:1054C00011F44EE301C040E2BF018C2F0E9493987B -:1054D0001123D1F08091A7169091A816A091A9163A -:1054E000B091AA16B695A795979587954F2D50E040 -:1054F00060E070E084179507A607B70729F40E94BB -:10550000A99982EA9EE952C0EE24E394EF0C8091BF -:10551000201781115AC0ED1255C08091670C882365 -:1055200051F1E091BB13F0E0EE0FFF1FE85DFD4F7E -:105530000190F081E02DEE50FE4F608171818091ED -:10554000A7169091A816A091A916B091AA16B69583 -:10555000A795979587958D2E912CA12CB12C2EE790 -:1055600088159905AA05BB0511F44EE301C040E278 -:105570008C2F0E949398112329F14091A7165091E6 -:10558000A8166091A9167091AA16769567955795F9 -:1055900047958E2D90E0A0E0B0E0481759076A07C4 -:1055A0007B0781F40E94A9998AEA91ECDF91CF915F -:1055B0001F910F91FF90EF90BF90AF909F908F90B1 -:1055C0000C94D69982E0E82EEF0C4091A7165091EA -:1055D000A8166091A9167091AA16769567955795A9 -:1055E00047958E2D90E0A0E0B0E0481759076A0774 -:1055F0007B0788F08E2D90E0880F991F0197AA27CE -:1056000097FDA095BA2F8093A7169093A816A09304 -:10561000A916B093AA164091A7165091A8166091AA -:10562000A9167091AA16769567955795479580911A -:10563000B01690E00396242F30E0821793074CF4C5 -:105640008DEF840F8093B0160093670CDCEFD40FBE -:10565000CFEFCF5FDF5FC43008F45DCCDF91CF9137 -:105660001F910F91FF90EF90BF90AF909F908F9000 -:1056700008956FEF8EEF9FE00D947B118093A0163D -:1056800010929F160895EEEFF6E101900020E9F7E1 -:105690003197EE5FF6411E161F0634F01092121776 -:1056A00082E08093670C089580E2E431F105B4F75D -:1056B000DF01A250B94E8C933196F7CF209113178A -:1056C000211108C044E150E0BC018EEF96E10F9437 -:1056D0003B0FD9CF089520911317211108C044E141 -:1056E00050E0BC018EEF96E10F94AE0ECCCF089542 -:1056F0008091231790912417019709F050C0809151 -:10570000211790912217892B49F485E090E090931E -:1057100022178093211781E08093B2138091211783 -:1057200090912217019739F49091D2188091D11855 -:10573000981709F4A4C0809121179091221702971D -:1057400039F49091D2188091D118981709F4B3C008 -:105750008091211790912217039739F49091D218D4 -:105760008091D118981709F4C0C0809121179091A9 -:105770002217049739F49091D2188091D118981774 -:1057800009F4BEC08091211790912217059739F432 -:105790009091D2188091D118981709F4CBC08091BC -:1057A000231790912417029709F05DC0809121176B -:1057B00090912217892B49F486E090E0909322176C -:1057C0008093211781E08093B213809121179091EB -:1057D0002217019739F49091D2188091D118981717 -:1057E00009F4C8C08091211790912217029739F4CB -:1057F0009091D2188091D118981709F4D3C0809154 -:10580000211790912217039739F49091D218809123 -:10581000D118981709F4EEC08091211790912217A2 -:10582000049739F49091D2188091D118981709F4FF -:10583000ECC08091211790912217059739F490912F -:10584000D2188091D118981709F4F2C080912117CD -:1058500090912217069739F49091D2188091D1181F -:10586000981709F403C18091231790912417039787 -:1058700009F027C11092241710922317089510924F -:105880002217109221171092241710922317E091DB -:10589000BB13F0E0EE0FFF1FE85DFD4F0190F081BC -:1058A000E02D8081918117DF1092B2131092B11315 -:1058B0001092B01340CFE091BB13F0E0EE0FFF1F4A -:1058C000E85DFD4F0190F081E02DEA5EFE4F8081A2 -:1058D000918101DF8FEA93E50E94276681E090E0E5 -:1058E000909322178093211733CF83EA93E50E9488 -:1058F000276682E090E0909322178093211735CF9E -:10590000E091BB13F0E0EE0FFF1FE85DFD4F01904B -:10591000F081E02DE05EFE4F80819181DCDE8FE939 -:1059200093E50E94276683E090E09093221780938E -:10593000211728CFE091BB13F0E0EE0FFF1FE85DC9 -:10594000FD4F0190F081E02DE85EFE4F8081918156 -:10595000C2DE159881E08093B21382E090E09093CC -:10596000B1138093B01384E090E09093221780935A -:10597000211715CF10922217109221171092241779 -:1059800010922317E091BB13F0E0EE0FFF1FE85DCC -:10599000FD4F0190F081E02D808191819CDE10927D -:1059A000B21320CF10924F1110924E11109251113C -:1059B00010925011109253111092521110925511D1 -:1059C000109254110E941A47E091BB13F0E0EE0FC1 -:1059D000FF1FE85DFD4F0190F081E02D80819181F6 -:1059E0007ADE1092781381E090E0909322178093F2 -:1059F000211705CF8BE993E50E94276682E090E0AE -:105A0000909322178093211707CF87E993E50E948F -:105A1000276682E893E50E9427661092A0161092EE -:105A20009F1683E090E0909322178093211701CF77 -:105A3000E091BB13F0E0EE0FFF1FE85DFD4F01901A -:105A4000F081E02DEA53FF4F8081918144DE8EE7A3 -:105A500093E50E94276681E793E50E94276684E02C -:105A600090E09093221780932117F0CEE091BB1322 -:105A7000F0E0EE0FFF1FE85DFD4F0190F081E02D9B -:105A8000EA53FF4F8081918126DE81E08093781375 -:105A900010924F1110924E111092511110925011FC -:105AA00010925311109252111092551110925411DC -:105AB0000E941A4785E090E0909322178093211767 -:105AC000D2CE089508DE81E0809313170C9466A06F -:105AD000109213170895CF92DF92EF92FF92CF9317 -:105AE000C0910301C2FBCC27C0F981E0C827809197 -:105AF000030181FFC260C090AC16D090AD16E0905B -:105B0000AE16F090AF160E94C8FEC616D706E8067D -:105B1000F90620F48091000186FF39C0C093B116C8 -:105B20008091B11681709091B11691FD8260909133 -:105B3000AB16891721F18130F1F028F0823089F01D -:105B40008330A1F01CC0913021F490913A179F5FEF -:105B500005C09230A1F490913A17915090933A1762 -:105B60000EC0992391F3933051F4F5CF923069F33D -:105B7000913029F4F0CF933041F3992361F380936E -:105B8000AB16CF91FF90EF90DF90CF900895C46057 -:105B9000C5CF0E9459A0E4E0F1E080818B7F808333 -:105BA00080818D7F80839FB7F894E5E0F1E080816C -:105BB000846080839FBF9FB7F894808182608083D8 -:105BC0009FBFE1E0F1E080818F7B80839FB7F894F5 -:105BD000E2E0F1E08081806480839FBF60E08FE03D -:105BE0000E94E8FD9FB7F894E5E0F1E080818160D4 -:105BF00080839FBF80910301809581708093A6165A -:105C00006ADF10923A170895CF92DF92EF92FF92D7 -:105C100062DF80910301817091E089272091A616AF -:105C2000821709F182E08093670C809103018170F3 -:105C300089278093A6160E9459A08091A6168823D2 -:105C400009F4A8C08EEC93E10E94B255E091BB1319 -:105C5000F0E0EE0FFF1FE85DFD4F0190F081E02DB9 -:105C60008281938138DDC090A216D090A316E09077 -:105C7000A416F090A5160E94C8FEC616D706E80620 -:105C8000F90608F09EC080913A17482F552747FD26 -:105C9000509557FF03C05195419551094230510528 -:105CA00084F191E09093670C87FD8F5F482F4595B5 -:105CB000552747FD5095652F752F8091A716909118 -:105CC000A816A091A916B091AA16840F951FA61F19 -:105CD000B71F8093A7169093A816A093A916B09308 -:105CE000AA1610923A170E94C8FE6856754C8F4F3C -:105CF0009F4F6093761670937716809378169093E3 -:105D000079168091B11682FF0EC00E94C8FE6856B7 -:105D1000754C8F4F9F4F60937616709377168093D4 -:105D2000781690937916E091680CF091690C1995AA -:105D3000C0907616D0907716E0907816F09079168D -:105D40000E94C8FEC616D706E806F90638F4809108 -:105D5000680C9091690C8B579D4C69F58091670C8C -:105D6000823011F40E9482998091670C882319F087 -:105D700081508093670C0E94C8FE6C597F4F8F4FF3 -:105D80009F4F6093A2167093A3168093A4169093CE -:105D9000A51617C08EEC93E10E94B156E091BB139B -:105DA000F0E0EE0FFF1FE85DFD4F0190F081E02D68 -:105DB0008481958157CF0E9466A082E08093670C12 -:105DC000CDCFFF90EF90DF90CF90089581E00895C0 -:105DD0008091B11682FB882780F90895FC018081AB -:105DE00090E02AE030E0B9010F944609482FCB013A -:105DF000B9010F944609805D80937A16405D409307 -:105E00007B1610927C168AE796E1089520E030E038 -:105E100040E251E4FC0160817181828193810F94A1 -:105E200050080F94EA0577FD02C02BE201C02DE275 -:105E300020937A169B0177FF04C022273327261B65 -:105E4000370BC90168EE73E00F944609CB01EAE015 -:105E5000F0E0BF010F944609805D80937B16C90175 -:105E600064E670E00F944609CB01BF010F94460928 -:105E7000805D80937C16C901BF010F944609282FCD -:105E8000CB01BF010F944609805D80937D168EE2A1 -:105E900080937E16205D20937F16109280168AE7ED -:105EA00096E108958F929F92AF92BF92CF92DF9228 -:105EB000EF92FF92CF93FC01C080D180E280F3800B -:105EC00020E030E0A901C701B6010F947E07181643 -:105ED0001CF4C701B60103C0C701B60190580F9466 -:105EE000EA056B017C016031F7E27F0781059105CE -:105EF00084F020E137E240E050E00F947B09CA01D2 -:105F0000B9012AE030E040E050E00F947B09605D89 -:105F100001C060E260937A1688EEC81683E0D80666 -:105F2000E104F10494F0C701B60128EE33E040E04B -:105F300050E00F947B09CA01B9012AE030E040E04B -:105F400050E00F947B09605D01C060E260937B16B6 -:105F5000E4E6CE16D104E104F10494F0C701B601E1 -:105F600024E630E040E050E00F947B09CA01B9011B -:105F70002AE030E040E050E00F947B09605D01C012 -:105F800060E360937C168EE280937D167AE0872E24 -:105F9000912CA12CB12CC701B601A50194010F943D -:105FA0007B09C62FCA01B901A50194010F947B0991 -:105FB000605D60937E16C05DC0937F168AE796E1B0 -:105FC000CF91FF90EF90DF90CF90BF90AF909F90D8 -:105FD0008F9008958F929F92AF92BF92CF92DF924F -:105FE000EF92FF92CF9320E030E04AE754E4FC01C7 -:105FF00060817181828193810F9450080F94EA052A -:1060000097FD02C020E201C02DE220937A166B01B9 -:106010007C0197FF08C0F094E094D094C094C11C18 -:10602000D11CE11CF11CC701B60128EE33E040E0B1 -:1060300050E00F947B09AAE08A2E912CA12CB12C60 -:10604000CA01B901A50194010F947B09605D6093B9 -:106050007B168EE280937C16C701B60124E630E001 -:1060600040E050E00F947B09CA01B901A5019401F9 -:106070000F947B09605D60937D16C701B601A50191 -:1060800094010F947B09C62FCA01B901A50194019F -:106090000F947B09605D60937E16C05DC0937F1690 -:1060A000109280168AE796E1CF91FF90EF90DF90F3 -:1060B000CF90BF90AF909F908F9008958F929F92B6 -:1060C000AF92BF92CF92DF92EF92FF92FC0180805D -:1060D0009180A280B38020E030E048EC52E4C5011A -:1060E000B4010F9450086B017C0120E030E0A9015D -:1060F0000F947E0718161CF4C701B60103C0C70130 -:10610000B60190580F94EA056B017C0120E030E065 -:10611000A901C501B4010F947B0587FF12C08DE270 -:1061200080937A16C701B60128EE33E040E050E0D4 -:106130000F947B09CA01B9012AE030E040E050E049 -:1061400036C0C701B60120E137E240E050E00F94CD -:106150007B098AE0882E912CA12CB12CCA01B901AF -:10616000A50194010F947B09662391F0605D609313 -:106170007A16C701B60128EE33E040E050E00F94F4 -:106180007B09CA01B901A50194010F947B0913C0D1 -:1061900080E280937A16C701B60128EE33E040E032 -:1061A00050E00F947B09CA01B901A50194010F9435 -:1061B0007B09662311F0605D01C060E260937B168D -:1061C000C701B60124E630E040E050E00F947B09BF -:1061D000BAE08B2E912CA12CB12CCA01B901A501DA -:1061E00094010F947B09605D60937C16C701B60132 -:1061F000A50194010F947B09662381F0605D609393 -:106200007F16CA01B901A50194010F947B09605D55 -:1062100060937E168EE280937D1615C0CA01B90187 -:10622000A50194010F947B09662329F0605D6093BA -:106230007E168EE203C080E280937E1680937D16E8 -:1062400080E280937F16109280168AE796E1FF9095 -:10625000EF90DF90CF90BF90AF909F908F90089578 -:10626000FC012081318137FF07C08DE280937A16CF -:1062700031952195310914C02436310574F0C901D6 -:1062800064E670E00F944609CB016AE070E00F9479 -:106290004609805D80937A1606C080E280937A1664 -:1062A0002A30310564F0EAE0F0E0C901BF010F9443 -:1062B0004609CB01BF010F944609805D01C080E211 -:1062C00080937B16C9016AE070E00F944609805DF7 -:1062D00080937C1610927D168AE796E10895AF921E -:1062E000BF92CF92DF92EF92FF920F931F93CF93C3 -:1062F000DF9360912002709121028091220290919F -:1063000023020E948A4C60938B1670938C168093A4 -:106310008D1690938E1660911C0270911D028091D3 -:106320001E0290911F020E94964C609387167093F4 -:1063300088168093891690938A168091A71690915B -:10634000A816A091A916B091AA1681309048A1056F -:10635000B10540F01092A7161092A8161092A91637 -:106360001092AA168091A7169091A816A091A9162E -:10637000B091AA16B695A795979587954091B016B6 -:1063800050E060E070E084179507A607B70710F4A7 -:106390008093B0160091B016B090B116B2FABB243B -:1063A000B0F810E0E7E0CE2ED12CE12CF12CAA249D -:1063B000A3948091A7169091A816A091A916B091C8 -:1063C000AA1601113DC02091670C2223C9F0E0916B -:1063D000BB13F0E0EE0FFF1FE85DFD4F0190F08171 -:1063E000E02DE450FF4F6081718123E00297A10509 -:1063F000B10510F443E001C040E2812F0E94939860 -:10640000BB2009F427C18091A7169091A816A091EE -:10641000A916B091AA160297A105B10508F01AC1F4 -:106420000E94A99985E497EADF91CF911F910F917E -:10643000FF90EF90DF90CF90BF90AF900C94D199E8 -:10644000013009F052C02091670C222329F1E0911C -:10645000BB13F0E0EE0FFF1FE85DFD4F0190F081F0 -:10646000E02DE25BFF4FC081D181B695A79597954E -:1064700087950197A105B10531F480E591E1F0DE42 -:106480009C014EE305C080E591E1EADE9C0140E21B -:10649000BE01812F0E944099BB2009F4DBC080918E -:1064A000A7169091A816A091A916B091AA16B69514 -:1064B000A795979587950197A105B10509F0CAC0E1 -:1064C0000E94A999E091BB13F0E0EE0FFF1FE85D79 -:1064D000FD4F0190F081E02DE25BFF4F27E231E0BC -:1064E00040E050E060E571E1A7C0023009F052C021 -:1064F0002091670C222329F1E091BB13F0E0EE0F0D -:10650000FF1FE85DFD4F0190F081E02DEC5AFF4F39 -:10651000C081D181B695A795979587950297A105DA -:10652000B10531F48EE491E19BDE9C014EE305C0A0 -:106530008EE491E195DE9C0140E2BE01812F0E9434 -:106540004099BB2009F486C08091A7169091A816A7 -:10655000A091A916B091AA16B695A795979587957B -:106560000297A105B10509F075C00E94A999E091B3 -:10657000BB13F0E0EE0FFF1FE85DFD4F0190F081CF -:10658000E02DEC5AFF4F23E930E040E050E06EE4AC -:1065900071E152C0033009F05DC02091670C2223E5 -:1065A00029F1E091BB13F0E0EE0FFF1FE85DFD4F16 -:1065B0000190F081E02DEA5AFF4FC081D181B6955C -:1065C000A795979587950397A105B10531F487E8BD -:1065D00093E146DE9C014EE305C087E893E140DE8F -:1065E0009C0140E2BE01812F0E944099BB2091F1A5 -:1065F0008091A7169091A816A091A916B091AA16FD -:10660000B695A795979587950397A105B10511F5BF -:106610000E94A999E091BB13F0E0EE0FFF1FE85D27 -:10662000FD4F0190F081E02DEA5AFF4F2FEF30E04F -:1066300040E050E067E873E180819181DF91CF9184 -:106640001F910F91FF90EF90DF90CF90BF90AF9090 -:106650000C94A4978091A7169091A816A091A916C2 -:10666000B091AA160897A105B10540F0C092A716EF -:10667000D092A816E092A916F092AA164091A716F9 -:106680005091A8166091A9167091AA1676956795F3 -:10669000579547958091B01690E00396242F30E0EF -:1066A000821793074CF48DEF840F8093B016A0925D -:1066B000670C0CEF040F1FEF1F5F0F5F143008F41F -:1066C00078CEDF91CF911F910F91FF90EF90DF90E7 -:1066D000CF90BF90AF900895AF92BF92CF92DF92CC -:1066E000EF92FF920F931F93CF93DF9341E065E208 -:1066F00077E18FEF9FE00E9423A78091A7169091EA -:10670000A816A091A916B091AA1681309048A105AB -:10671000B10540F01092A7161092A8161092A91673 -:106720001092AA168091A7169091A816A091A9166A -:10673000B091AA16B695A795979587954091B016F2 -:1067400050E060E070E084179507A607B70710F4E3 -:106750008093B0160091B016B090B116B2FABB2477 -:10676000B0F810E04FE0C42ED12CE12CF12CAA247B -:10677000A3948091A7169091A816A091A916B09104 -:10678000AA1601113BC02091670C2223B9F0E091B9 -:10679000BB13F0E0EE0FFF1FE85DFD4F0190F081AD -:1067A000E02D6681778123E00297A105B10510F401 -:1067B00043E001C040E2812F0E949398BB2009F47E -:1067C00019C28091A7169091A816A091A916B09110 -:1067D000AA160297A105B10508F00CC20E94A9995A -:1067E00083E196ECDF91CF911F910F91FF90EF9095 -:1067F000DF90CF90BF90AF900C94D199013009F009 -:1068000052C02091670C222329F1E091BB13F0E0E4 -:10681000EE0FFF1FE85DFD4F0190F081E02DE45B7E -:10682000FF4FC081D181B695A79597958795019720 -:10683000A105B10531F485E59CE012DD9C014EE334 -:1068400005C085E59CE00CDD9C0140E2BE01812F86 -:106850000E944099BB2009F4CDC18091A716909168 -:10686000A816A091A916B091AA16B695A7959795C6 -:1068700087950197A105B10509F0BCC10E94A999AE -:10688000E091BB13F0E0EE0FFF1FE85DFD4F0190BC -:10689000F081E02DE45BFF4F27EE33E04AE050E06B -:1068A00065E57CE054C0023009F05FC02091670CC0 -:1068B000222329F1E091BB13F0E0EE0FFF1FE85D0A -:1068C000FD4F0190F081E02DE25BFF4FC081D1814F -:1068D000B695A795979587950297A105B10531F4CF -:1068E00080E591E1BDDC9C014EE305C080E591E1CE -:1068F000B7DC9C0140E2BE01812F0E944099BB2081 -:1069000009F478C18091A7169091A816A091A916B4 -:10691000B091AA16B695A795979587950297A10568 -:10692000B10509F067C10E94A999E091BB13F0E09D -:10693000EE0FFF1FE85DFD4F0190F081E02DE25B5F -:10694000FF4F27E231E040E050E060E571E18081F7 -:106950009181DF91CF911F910F91FF90EF90DF9088 -:10696000CF90BF90AF900C94A497033009F052C021 -:106970002091670C222329F1E091BB13F0E0EE0F88 -:10698000FF1FE85DFD4F0190F081E02DEC5AFF4FB5 -:10699000C081D181B695A795979587950397A10555 -:1069A000B10531F48EE491E15BDC9C014EE305C05E -:1069B0008EE491E155DC9C0140E2BE01812F0E94F2 -:1069C0004099BB2009F416C18091A7169091A81692 -:1069D000A091A916B091AA16B695A79597958795F7 -:1069E0000397A105B10509F005C10E94A999E0919D -:1069F000BB13F0E0EE0FFF1FE85DFD4F0190F0814B -:106A0000E02DEC5AFF4F2CE830E040E050E06EE41F -:106A100071E19DCF043009F052C02091670C222310 -:106A200029F1E091BB13F0E0EE0FFF1FE85DFD4F91 -:106A30000190F081E02DEA5AFF4FC081D181B695D7 -:106A4000A795979587950497A105B10531F487E837 -:106A500093E106DC9C014EE305C087E893E100DC8E -:106A60009C0140E2BE01812F0E944099BB2009F4A5 -:106A7000C1C08091A7169091A816A091A916B091B7 -:106A8000AA16B695A795979587950497A105B10580 -:106A900009F0B0C00E94A999E091BB13F0E0EE0F9D -:106AA000FF1FE85DFD4F0190F081E02DEA5AFF4F96 -:106AB0002FEF30E040E050E067E873E148CF053069 -:106AC00009F052C02091670C222329F1E091BB13F9 -:106AD000F0E0EE0FFF1FE85DFD4F0190F081E02D2B -:106AE000E85AFF4FC081D181B695A79597958795B4 -:106AF0000597A105B10531F483E59CE0B1DB9C016C -:106B00004EE305C083E59CE0ABDB9C0140E2BE01A7 -:106B1000812F0E944099BB2009F46CC08091A71678 -:106B20009091A816A091A916B091AA16B695A7950E -:106B3000979587950597A105B10509F05BC00E945F -:106B4000A999E091BB13F0E0EE0FFF1FE85DFD4F48 -:106B50000190F081E02DE85AFF4F27EE33E04AE044 -:106B600050E063E57CE0F3CE063009F043C02091AD -:106B7000670C2223E9F0E091BB13F0E0EE0FFF1F5A -:106B8000E85DFD4F0190F081E02DE252FF4F608102 -:106B90007181B695A7959795879520E20697A105EF -:106BA000B10511F44EE301C040E2812F0E94939899 -:106BB000BB2001F18091A7169091A816A091A9166B -:106BC000B091AA16B695A795979587950697A105B2 -:106BD000B10581F40E94A99986EE93E5DF91CF91EA -:106BE0001F910F91FF90EF90DF90CF90BF90AF90EB -:106BF0000C942766209125178091A7169091A816CE -:106C0000A091A916B091AA16211114C0073009F05D -:106C100055C02091670C222379F1E091BB13F0E07D -:106C2000EE0FFF1FE85DFD4F0190F081E02DEA5D62 -:106C3000FE4F13C0073009F041C02091670C22239A -:106C4000D9F0E091BB13F0E0EE0FFF1FE85DFD4FC0 -:106C50000190F081E02DEC5DFE4F60817181B69571 -:106C6000A7959795879520E20797A105B10521F192 -:106C700040E2812F0E949398BB2001F18091A716DA -:106C80009091A816A091A916B091AA16B695A795AD -:106C9000979587950797A105B10581F40E94A99959 -:106CA000DF91CF911F910F91FF90EF90DF90CF90E8 -:106CB000BF90AF900C940BA74EE3DBCF8091A7164B -:106CC0009091A816A091A916B091AA164097A10577 -:106CD000B10540F0C092A716D092A816E092A9166E -:106CE000F092AA168091A7169091A816A091A916C5 -:106CF000B091AA16B695A795979587952091B0164D -:106D000030E02D5F3F4F482F50E0241735074CF4FB -:106D10002DEF280F2093B016A092670C0CEF080FF0 -:106D20001FEF1F5F0F5F143008F423CDDF91CF9169 -:106D30001F910F91FF90EF90DF90CF90BF90AF9099 -:106D40000895FC01808191818436910524F164E6E7 -:106D500070E00F944609CB012AE030E0B9010F94AE -:106D60004609805D80937A1680819181B9010F94E4 -:106D70004609CB01B9010F944609805D80937B16CB -:106D800080819181B9010F944609805D80937C16C2 -:106D900010927D1623C08A309105BCF02AE030E0C5 -:106DA000B9010F944609CB01B9010F944609805DE2 -:106DB00080937A1680819181B9010F944609805D94 -:106DC00080937B1610927C1609C06AE070E00F94E5 -:106DD0004609805D80937A1610927B168AE796E1C9 -:106DE0000895FC0180819181883E23E092075CF048 -:106DF00068EE73E00F944609CB016AE070E00F94EF -:106E00004609805D01C080E280937A16808191817D -:106E1000843691055CF064E670E00F944609CB017E -:106E20006AE070E00F944609805D01C080E28093C3 -:106E30007B16808191818A3091055CF02AE030E0F8 -:106E4000B9010F944609CB01B9010F944609805D41 -:106E500001C080E280937C16808191816AE070E0BD -:106E60000F944609805D80937D1610927E168AE706 -:106E700096E10895CF92EF920F93F7E4CF2EA5E518 -:106E8000EA2E06E423E142E162E582EB96E10E940C -:106E9000364E0F91EF90CF900895CF93DF93FC0182 -:106EA0006491EC012196662331F082EB96E10E9419 -:106EB000234FCE01F4CFDF91CF9108950F931F930D -:106EC000CF93DF938C01EB0141E061E082EB96E12F -:106ED0000E944B4DC801E1DF6AE382EB96E10F941B -:106EE0003204FE0101900020E9F76C2F6E1B6C5EEE -:106EF00041E082EB96E10E944B4DBE0182EB96E1B0 -:106F0000DF91CF911F910F910D943104CF92DF92B9 -:106F1000EF92FF920F931F938091A7169091A8165E -:106F2000A091A916B091AA160097A105B10509F480 -:106F300043C0BC01882777FD8095982F0F941D06CC -:106F400020918216309183164091841650918516B7 -:106F50000F9450089B01AC016091A9137091AA1382 -:106F60008091AB139091AC130F94A2046093A9137A -:106F70007093AA138093AB139093AC131092A7163F -:106F80001092A8161092A9161092AA16B9E8CB2E44 -:106F9000B3E1DB2E15E5E12EFE2C05ED1FE329EA1A -:106FA00033E145EA53E161EA73E18DE993E10E943F -:106FB00098EF81E08093670C8091670C882341F003 -:106FC00089EA93E10E9406AFBC0189E594E576DF8A -:106FD0008091B11682FF0EC021E040E050E0BA017E -:106FE00087EA9CE91F910F91FF90EF90DF90CF907F -:106FF0000C94BB991F910F91FF90EF90DF90CF9071 -:1070000008952F923F924F925F926F927F928F924C -:107010009F92AF92BF92CF92DF92EF92FF920F9327 -:107020001F93CF93DF934C01EB017A0119018091FB -:10703000A7169091A816A091A916B091AA16892B0F -:107040008A2B8B2B09F488C00E94DB688E01000F0D -:10705000111F000F111FC80183569C4E5C016091E7 -:10706000A7167091A816882777FD8095982F0F9402 -:107070001D062091821630918316409184165091FE -:1070800085160F945008F50120813181428153818A -:107090000F94A2042B013C01B701882777FD80954E -:1070A000982F0F941D066B017C019B01AC01C3015D -:1070B000B2010F947B05F50187FD05C04082518226 -:1070C0006282738204C0C082D182E282F382B10103 -:1070D000882777FD8095982F0F941D062B013C0182 -:1070E000C80183569C4E7C01A3019201FC01608182 -:1070F0007181828193810F947E0718162CF4F70119 -:1071000040825182628273821092A7161092A81652 -:107110001092A9161092AA16F801EB55F14F20E033 -:1071200030E040E752E460817181828193810F9465 -:10713000820539E8C32E33E1D32E7B018C0129EA85 -:1071400033E145EA53E161EA73E18DE993E10E949D -:1071500098EF81E08093670C8091670C882361F041 -:10716000CE01880F991F880F991F83569C4E0E944D -:1071700006AFBC01C401A2DE8091B11682FF1AC025 -:1071800021E040E050E0BA0187EA9CE9DF91CF912D -:107190001F910F91FF90EF90DF90CF90BF90AF9035 -:1071A0009F908F907F906F905F904F903F902F9027 -:1071B0000C94BB99DF91CF911F910F91FF90EF90AD -:1071C000DF90CF90BF90AF909F908F907F906F9007 -:1071D0005F904F903F902F90089522ED30E040E077 -:1071E00050E062E070E087E594E50BCF22ED30E0FF -:1071F0004CEF5FEF61E070E085E594E502CF2FEFA3 -:1072000030E040E050E060E070E083E594E5F9CEE6 -:10721000CF93DF931F921F92CDB7DEB78091A71651 -:107220009091A816A091A916B091AA16B7FF08C010 -:107230001092A7161092A8161092A9161092AA16CC -:1072400080918F1690919016A0919116B091921600 -:107250004091A7165091A8166091A9167091AA1690 -:1072600084179507A607B70744F48093A716909351 -:10727000A816A093A916B093AA168091670C88232C -:10728000B1F080919316909194162091A7163091A9 -:10729000A816820F931F9A838983CE0101960E94BC -:1072A00030B1BC018091991690919A1607DE8091B9 -:1072B000B11682FF1DC0E0919716F091981680914B -:1072C0009316909194162091A7163091A816820FCC -:1072D000931F9183808340919B1650919C1660E090 -:1072E00070E021E080919D1690919E160E94BB99BE -:1072F0000F900F90DF91CF9108950F931F93CF932D -:10730000DF938C01EB0141E060E082EB96E10E94AB -:107310004B4DC801C2DD6AE382EB96E10F94320463 -:10732000FE0101900020E9F7BE016E1B7F0B6B5E32 -:107330007F4F7695679543E082EB96E10E944B4D37 -:10734000BE0182EB96E10F94310465E37EE082EBAF -:1073500096E1DF91CF911F910F910D943104CF935E -:10736000DF93E091BB13F0E0EE0FFF1FE85DFD4FF0 -:107370000190F081E02DEA54FE4FC081D1818091CF -:10738000A7169091A816A091A916B091AA160097D9 -:10739000A105B105F1F120913F1130914011280F65 -:1073A000391F3093401120933F11209138173091AD -:1073B0003917280F391F3093391720933817B9011F -:1073C000882777FD8095982F0F941D0620910E1E1B -:1073D00030910F1E4091101E5091111E0F94820586 -:1073E000609330177093311780933217909333174F -:1073F00062E370E080E090E00E94F7FE1092A71632 -:107400001092A8161092A9161092AA1681E08093E5 -:10741000670C8091670C882339F080E397E10E9424 -:10742000EAAFBC01CE0169DF8091B11682FF08C0CE -:1074300021E040E050E0BA0183E196EC0E94BB9964 -:1074400064E377E18CEF9FE00E94A9A666E377E111 -:107450008AEF9FE00E94A9A668E377E188EF9FE0AA -:10746000DF91CF910C94A9A64F925F926F927F9279 -:107470008F929F92AF92BF92CF92DF92EF92FF9244 -:107480000F931F93CF93DF93CDB7DEB72C970FB633 -:10749000F894DEBF0FBECDBF8091D013882309F4CE -:1074A000F8C0C090B713D090B813E090B913F09023 -:1074B000BA13C701B60120EA36E841E050E00F9464 -:1074C000590929873A874B875C873E832D830E9421 -:1074D000C8FE0091AB111091AC112091AD1130910B -:1074E000AE11601B710B820B930B28EE33E040E072 -:1074F00050E00F94590929013A01C90160E17EE089 -:107500000F9446098B0124EC2603C001279F900DA0 -:107510001124840D951D6CE370E00F9446094B0116 -:1075200026035001279FB00C112420EF31EF029F5A -:10753000C001039F900D129F900D1124A80EB91E3B -:10754000A40CB51C40E060E082EB96E10E944B4D3C -:10755000E091BB13F0E0EE0FFF1FE85DFD4F0190DF -:10756000F081E02DE252FE4F8081918196DC41E076 -:1075700066E082EB96E10E944B4DCE0105960E949B -:1075800030B1BC0182EB96E10F94310469E37EE0F7 -:1075900082EB96E10F943104A985BA8520E639E79C -:1075A0004EEF5FEF0F94AD096C0D7D1D8E1D9F1D7D -:1075B0002AE030E040E050E00F945909B9018827F3 -:1075C00077FD8095982F0F941D0669837A838B83AE -:1075D0009C83CE0101960E9452AFBC0182EB96E1E2 -:1075E0000F9431046CE37EE082EB96E10F9431045A -:1075F00042E060E082EB96E10E944B4DE091BB13CC -:10760000F0E0EE0FFF1FE85DFD4F0190F081E02DEF -:10761000E052FE4F8081918140DC43E068E082EBE4 -:1076200096E10E944B4D0983CE0101960E94EEAE79 -:10763000BC0182EB96E10F9431046FE37EE082EBB4 -:1076400096E10F9431048982CE0101960E94EEAE3C -:10765000BC0182EB96E10F94310469E37EE082EB9A -:1076600096E10F943104A982CE0101960E94EEAEFC -:10767000BC0182EB96E10F94310462E47EE082EB80 -:1076800096E10F9431040E94E8AE882309F478C192 -:1076900073C181EF9FE00F946E116B017C018DEE41 -:1076A0009FE00F946E114B015C01C701B6010F946E -:1076B0001B0669837A838B839C8320EAC21626E8A3 -:1076C000D20621E0E206F10450F0C701B60120EA3B -:1076D00036E841E050E00F945909D90102C0A0E01A -:1076E000B0E0B887AF831A161B0684F420E639E7AA -:1076F0004EEF5FEF0F94AD096C0D7D1D8E1D9F1D2C -:107700000F941B0669837A838B839C83C501B40124 -:1077100020EA35E040E050E00F945909E22E022FB4 -:1077200010E020EA35E0029FC001039F900D129FF8 -:10773000900D1124AA2797FDA095BA2FA5019401B9 -:10774000281B390B4A0B5B0BCA01B9012CE330E053 -:1077500040E050E00F945909F22E30E6E39E800C91 -:1077600011244CE3F49E801811240E94829940E079 -:1077700060E082EB96E10E944B4DE091BB13F0E09C -:10778000EE0FFF1FE85DFD4F0190F081E02DE65206 -:10779000FE4F8081918181DBCE0101960E9452AF24 -:1077A000FC0101900020E9F7682F6E1B6E5E41E03E -:1077B00082EB96E10E944B4DCE0101960E9452AFA2 -:1077C000BC0182EB96E10F9431048F8198851816E5 -:1077D000190674F5CE0101960E9452AFFC0101908A -:1077E0000020E9F7682F6E1B615F41E082EB96E1B4 -:1077F0000E944B4D64E47EE082EB96E10F943104ED -:10780000CE0101960E9452AFFC0101900020E9F7E1 -:10781000682F6E1B665F41E082EB96E10E944B4D44 -:10782000CE010796DEDABC0182EB96E10F943104BB -:1078300041E062E182EB96E10E944B4D6DE37EE018 -:1078400082EB96E10F94310442E060E082EB96E136 -:107850000E944B4DE091BB13F0E0EE0FFF1FE85D7F -:10786000FD4F0190F081E02DE452FE4F8081918127 -:1078700014DB43E062E182EB96E10E944B4D6DE345 -:107880007EE082EB96E10F94310443E06EE082EB00 -:1078900096E10E944B4D882D90E09E838D83CE0112 -:1078A00005960E9430B1BC0182EB96E10F94310441 -:1078B00043E06EE082EB96E10E944B4D6CEE7DE082 -:1078C00082EB96E10F94310443E06CE082EB96E1A9 -:1078D0000E944B4D67E47EE082EB96E10F94310409 -:1078E00043E069E082EB96E10E944B4D8F2D90E0E2 -:1078F0009E838D83CE0105960E9430B1BC0182EB40 -:1079000096E10F94310443E069E082EB96E10E9436 -:107910004B4D6CEE7DE082EB96E10F94310443E039 -:1079200067E082EB96E10E944B4D6DE67EE082EBD4 -:1079300096E10F94310443E064E082EB96E10E940B -:107940004B4D1E830D83CE0105960E9430B1BC01C4 -:1079500082EB96E10F9431040E94E8AE81110CC0D5 -:107960000E941A4781E00E94BD7564E670E080E0E5 -:1079700090E00E94F7FEF0CF0E94A9990E9466A0B5 -:107980002C960FB6F894DEBF0FBECDBFDF91CF911E -:107990001F910F91FF90EF90DF90CF90BF90AF902D -:1079A0009F908F907F906F905F904F900895EF928F -:1079B000FF920F931F93CF93DF93EC018B017A011A -:1079C0000E948699109251111092501110924F11ED -:1079D00010924E110E941A4780E00E94BD750E94CD -:1079E000829940E060E082EB96E10E944B4DE0918D -:1079F000BB13F0E0EE0FFF1FE85DFD4F0190F0813B -:107A0000E02DEC53FE4F8081918147DA41E060E048 -:107A100082EB96E10E944B4DE091BB13F0E0EE0F3C -:107A2000FF1FE85DFD4F0190F081E02DEA53FE4F0E -:107A30008081918132DAC330D10509F48FC07CF5A1 -:107A4000C130D10509F45FC0229709F0FAC042E0C5 -:107A500060E082EB96E10E944B4DE091BB13F0E0B9 -:107A6000EE0FFF1FE85DFD4F0190F081E02DE45324 -:107A7000FE4F8081918111DA43E060E082EB96E174 -:107A80000E944B4DE091BB13F0E0EE0FFF1FE85D4D -:107A9000FD4F0190F081E02DE253FE4F5BC0C430FA -:107AA000D10509F488C0259709F0CBC042E060E019 -:107AB00082EB96E10E944B4DE091BB13F0E0EE0F9C -:107AC000FF1FE85DFD4F0190F081E02DEA52FE4F6F -:107AD00080819181E2D943E060E082EB96E10E94EF -:107AE0004B4DE091BB13F0E0EE0FFF1FE85DFD4F43 -:107AF0000190F081E02DEE52FE4F80819181CDD931 -:107B000043E062E195C042E060E082EB96E10E94D2 -:107B10004B4DE091BB13F0E0EE0FFF1FE85DFD4F12 -:107B20000190F081E02DE653FE4F80819181B5D91F -:107B300043E060E082EB96E10E944B4DE091BB1385 -:107B4000F0E0EE0FFF1FE85DFD4F0190F081E02DAA -:107B5000E853FE4F80819181A0D973C042E060E07C -:107B600082EB96E10E944B4DE091BB13F0E0EE0FEB -:107B7000FF1FE85DFD4F0190F081E02DE053FE4FC7 -:107B8000808191818AD943E060E082EB96E10E9496 -:107B90004B4DE091BB13F0E0EE0FFF1FE85DFD4F92 -:107BA0000190F081E02DE253FE4F8081918175D9E3 -:107BB00043E061E13DC042E060E082EB96E10E947B -:107BC0004B4DE091BB13F0E0EE0FFF1FE85DFD4F62 -:107BD0000190F081E02DEE52FE4F808191815DD9C0 -:107BE00042E062E182EB96E10E944B4DB80182EBEC -:107BF00096E10F94310443E060E082EB96E10E944D -:107C00004B4DE091BB13F0E0EE0FFF1FE85DFD4F21 -:107C10000190F081E02DEC52FE4F808191813DD9A1 -:107C200043E062E182EB96E10E944B4DB70105C053 -:107C300082EB96E10E944B4DB80182EB96E10F94E6 -:107C4000310468EE73E080E090E00E94F7FE0E944D -:107C5000869964E670E080E090E00E94F7FE0E9462 -:107C60001A4780E00E94BD750E94E8AE882389F320 -:107C7000E091BB13F0E0EE0FFF1FE85DFD4F0190B8 -:107C8000F081E02DEC50FE4F808191810E9462AD29 -:107C9000DF91CF911F910F91FF90EF900C9466A010 -:107CA0006F927F928F929F92AF92BF92CF92DF920C -:107CB000EF92FF920F931F93CF93DF931F92CDB755 -:107CC000DEB73C016B017A01580129830E94C8FE8E -:107CD000605C7D4B8F4F9F4F6093A2167093A316ED -:107CE0008093A4169093A5162981EC14FD042CF41E -:107CF0009EE5892E9EE0992E04C089E4882E8EE0B0 -:107D0000982E21110E94829940E060E082EB96E17A -:107D10000E944B4D8FEF6816780669F4E091BB1313 -:107D2000F0E0EE0FFF1FE85DFD4F0190F081E02DC8 -:107D3000EE51FE4F0FC06114710481F4E091BB134A -:107D4000F0E0EE0FFF1FE85DFD4F0190F081E02DA8 -:107D5000EC51FE4F80819181A0D839C0E1E06E16D0 -:107D6000710481F4E091BB13F0E0EE0FFF1FE85DBA -:107D7000FD4F0190F081E02DEA51FE4F808191810D -:107D80008CD836C0F2E06F16710481F4E091BB1319 -:107D9000F0E0EE0FFF1FE85DFD4F0190F081E02D58 -:107DA000E851FE4F8081918178D844C083E0681605 -:107DB000710469F4E091BB13F0E0EE0FFF1FE85D82 -:107DC000FD4F0190F081E02DE651FE4F43C0E4E00D -:107DD0006E16710469F4E091BB13F0E0EE0FFF1F23 -:107DE000E85DFD4F0190F081E02DE451FE4F32C07F -:107DF000F5E06F16710469F4E091BB13F0E0EE0F4B -:107E0000FF1FE85DFD4F0190F081E02DE251FE4F34 -:107E100021C086E06816710469F4E091BB13F0E0BC -:107E2000EE0FFF1FE85DFD4F0190F081E02DE05166 -:107E3000FE4F10C0E7E06E16710479F4E091BB13B9 -:107E4000F0E0EE0FFF1FE85DFD4F0190F081E02DA7 -:107E5000EC50FE4F8081918120D841E060E082EBC0 -:107E600096E10E944B4D6BE47EE082EB96E10F942D -:107E70003104F1E06F16710431F01614170434F078 -:107E800040E050E005C041E050E002C042E050E078 -:107E9000840120E63EE069E070E083E090E00E942B -:107EA000CA9882E06816710439F0E2E06E16710437 -:107EB00034F440E050E005C041E050E002C042E050 -:107EC00050E0840127E63EE062E070E082E090E06E -:107ED0000E94CA98F3E06F16710439F083E06816C7 -:107EE000710434F440E050E005C041E050E002C0CD -:107EF00042E050E0840129E63EE068E070E082E084 -:107F000090E00E94CA98E4E06E16710439F0F4E043 -:107F10006F16710434F440E050E005C041E050E0D9 -:107F200002C042E050E084012FE93EE06EE070E0E4 -:107F300082E090E00E94CA9885E06816710439F0EA -:107F4000E5E06E16710434F440E050E005C041E015 -:107F500050E002C042E050E084012BE63EE060E0E9 -:107F600070E083E090E00E94CA981A141B043CF46D -:107F7000B501882777FD8095982F0E94F7FEFFEFC7 -:107F8000CF1ADF0AEE0CFF1CEC14FD041CF480E099 -:107F900090E001C0C6010F90DF91CF911F910F912A -:107FA000FF90EF90DF90CF90BF90AF909F908F9019 -:107FB0007F906F9008952F923F924F925F926F92B1 -:107FC0007F928F929F92AF92BF92CF92DF92EF9269 -:107FD000FF920F931F93CF93DF93CDB7DEB729970F -:107FE0000FB6F894DEBF0FBECDBF998788879B017F -:107FF000CB016AE070E00F9446094B01820E931E9C -:10800000412C512CA12CB12C612C712C1C821B8277 -:10801000312C88859985880F991F880F991F835661 -:108020009C4E9A83898322242394E885F98532968D -:10803000FE83ED83888599850297B9F420E030E0CE -:1080400040E85FE36091A5137091A6138091A71398 -:108050009091A8130F94A1046093A5137093A61395 -:108060008093A7139093A81312C020E030E040E45F -:1080700050E4E981FA8160817181828193810F945A -:10808000A104E981FA816083718382839383E9E8A3 -:10809000CE2EE3E1DE2EE12CF12C08E412E429EAF5 -:1080A00033E145EA53E161EA73E18DE993E10E942E -:1080B00098EF0E9415E41E9906C01D9904C01C99F2 -:1080C00002C030E012C088859985892B09F094C0E0 -:1080D00033B036FA332430F81D9B8AC0AA24A39407 -:1080E000B12C179A10928E1331E0F6E04F1651041E -:1080F00024F48FEF481A580A10C000E010E020E086 -:1081000043E050E06B817C818D819E813F83C8DD9F -:108110009C838B83412C512C3F813F830E941A47C3 -:1081200080E00E94BD7564E670E080E090E00E940F -:10813000F7FE3F818614970434F09FEF691A790A9D -:10814000332309F477CF08851985000F111F000F1D -:10815000111F03561C4E20E030E040E751E4F801C7 -:1081600060817181828193810F94A204F801608300 -:1081700071838283938339E8C32E33E1D32EE12CBC -:10818000F12C08E412E429EA33E145EA53E161EA1B -:1081900073E18DE993E10E9498EF311055C0888515 -:1081A00099858130910529F0029731F067E67EE0EC -:1081B00005C069E67EE002C06FE97EE091E0A916A5 -:1081C000B10439F0E2E0AE16B10431F047E65EE00A -:1081D00005C049E65EE002C04FE95EE0681479043C -:1081E0001CF085E090E002C084E090E0E0DB2CC071 -:1081F00062E0A62EB12C75CF88859985019781F410 -:1082000033B035FA332430F81E9B03C0A12CB12CB7 -:1082100003C052E0A52EB12C169A10928F1364CF92 -:10822000E885F985329709F05FCF33B034FA33240B -:1082300030F883B18295869586958370822580FB80 -:10824000AA24A0F8B12C50CF832D29960FB6F8940C -:10825000DEBF0FBECDBFDF91CF911F910F91FF9079 -:10826000EF90DF90CF90BF90AF909F908F907F90D6 -:108270006F905F904F903F902F900895AF92BF9274 -:10828000DF92EF92FF920F931F93CF93DF931F9292 -:108290001F92CDB7DEB7D82E811106C01EE1E12EA8 -:1082A000F12C24E630E005C0B8E7EB2EF12C20E0FD -:1082B00030E03093511120935011DD2019F024E665 -:1082C00030E002C020E030E030934F1120934E1197 -:1082D0000E941A4780E00E94BD7560E070E0A12C0A -:1082E000B12C8FEFA81AB80A69837A830E941A47C3 -:1082F00080E00E94BD7569817A8100E911E020E08B -:1083000042E050E0DD2019F085E090E002C081E01D -:1083100090E0C6DCBC01AE14BF041CF310925111F6 -:108320001092501110924F1110924E110E941A4744 -:108330000E941A4780E00E94BD7581E00F900F9067 -:10834000DF91CF911F910F91FF90EF90DF90BF9041 -:10835000AF900895AF92BF92CF92DF92EF92FF92CB -:108360000F931F93CF93DF93CDB7DEB76E970FB602 -:10837000F894DEBF0FBECDBF00ED17E021E044E072 -:1083800050E060E070E08FEF9FEF8ADC21E043E097 -:1083900050E0BC0180E090E083DC5C011E9904C0E9 -:1083A0001D9902C01C9B48C01E9B81C120E030E08B -:1083B00040E251E460919D1370919E1380919F1350 -:1083C0009091A0130F94A20460939D1370939E1339 -:1083D00080939F139093A0131D9B72C120E030E007 -:1083E00040E251E46091A1137091A2138091A31314 -:1083F0009091A4130F94A2046093A1137093A213FD -:108400008093A3139093A4131C9B63C120E030E0DE -:1084100040E251E46091A5137091A6138091A713D7 -:108420009091A8130F94A2046093A5137093A613C0 -:108430008093A7139093A81389E8C82E83E1D82EC0 -:10844000E12CF12C08E412E429EA33E145EA53E196 -:1084500061EA73E18DE993E10E9498EF64EF71E0C6 -:1084600080E090E00E94F7FE1E9906C01D9904C0AE -:108470001C9902C011E04CC01C993AC16AE97EE027 -:10848000CE0101960F9485031D9B2CC169E67EE009 -:10849000CE0107960F9485031E9B27C167E67EE0F9 -:1084A000CE0143960F948503BE016D5E7F4FCE01D2 -:1084B0000D960F94AF03BE01695F7F4FCE010D96FD -:1084C0000F94E203BE016F5F7F4F0F94E203BC0184 -:1084D000CE0149960F94AF03CE010D960F941D0364 -:1084E000CE0143960F941D03CE0107960F941D03F2 -:1084F000CE0101960F941D03698D7A8D4AE95EE0E5 -:1085000083E090E054DACE0149960F941D0310E009 -:108510000E941A4780E00E94BD75112309F487C0AC -:1085200008EE13E021E043E050E0B50181E090E087 -:10853000B7DB5C0180E0A2DE882309F478C000ED9F -:1085400017E021E043E050E0B50182E090E0A8DBD5 -:108550005C016FEF70E080E090E02DDD882309F48E -:1085600066C00CED15E021E043E050E0B50183E08A -:1085700090E096DB5C0162ED70E081E090E01BDD55 -:10858000882309F454C020E030E040E450E46091D6 -:108590009D1370919E1380919F139091A0130F943F -:1085A000A10460939D1370939E1380939F139093E7 -:1085B000A01320E030E040E651E46091A1137091F7 -:1085C000A2138091A3139091A4130F94A10460931C -:1085D000A1137093A2138093A3139093A41321E08B -:1085E00043E050E0B50184E090E05ADB5C0162EDCD -:1085F00070E082E090E0DFDC8823C9F000ED17E056 -:1086000021E043E050E0B50185E090E049DB5C010A -:1086100081E034DEF82E882351F008E813E121E0F0 -:1086200043E050E0B50186E090E03ADB0AC008E89C -:1086300013E121E043E050E0B50187E090E030DB5A -:10864000F12C0E9482990E94C8FE6C597F4F8F4F77 -:108650009F4F6093A2167093A3168093A4169093D5 -:10866000A516E091BB13F0E0EE0FFF1FE85DFD4F94 -:108670000190F081E02DFF2019F0E852FE4F02C07A -:10868000EC50FE4F808191810E9462AD6E960FB6D4 -:10869000F894DEBF0FBECDBFDF91CF911F910F9138 -:1086A000FF90EF90DF90CF90BF90AF9008956091D2 -:1086B0009D1370919E1380919F139091A01384CE6F -:1086C0006091A1137091A2138091A3139091A413B0 -:1086D00093CE6091A5137091A6138091A7139091EA -:1086E000A813A2CE6AE97EE0D3CE6AE97EE0D8CEB6 -:1086F0006FE97EE0C5CE20E030E042E053E46091D7 -:1087000048117091491180914A1190914B110F9429 -:108710007E0718164CF48DE693E50E94276680E6E6 -:1087200093E50E94276636C00E94829940E060E08F -:1087300082EB96E10E944B4DE091BB13F0E0EE0F0F -:10874000FF1FE85DFD4F0190F081E02DEA5FFE4FD5 -:10875000808191810E944DB742E060E082EB96E11A -:108760000E944B4DE091BB13F0E0EE0FFF1FE85D60 -:10877000FD4F0190F081E02DE85FFE4F80819181F7 -:108780000E944DB760ED77E080E090E00E94F7FE38 -:108790000E9482990C9466A00E94829941E060E058 -:1087A00082EB96E10E944B4DE091BB13F0E0EE0F9F -:1087B000FF1FE85DFD4F0190F081E02DE05EFE4F70 -:1087C000808191810E944DB742E060E082EB96E1AA -:1087D0000E944B4DE091BB13F0E0EE0FFF1FE85DF0 -:1087E000FD4F0190F081E02DE25EFE4F808191818E -:1087F0000C944DB70E94829942E060E082EB96E1D2 -:108800000E944B4DE091BB13F0E0EE0FFF1FE85DBF -:10881000FD4F0190F081E02DE45EFE4F808191815B -:108820000C944DB71F93CF93DF930E94829940E041 -:1088300060E082EB96E10E944B4DE091BB13F0E0CB -:10884000EE0FFF1FE85DFD4F0190F081E02DE65E29 -:10885000FE4F808191810E944DB742E060E082EB43 -:1088600096E10E944B4DE091BB13F0E0EE0FFF1F2D -:10887000E85DFD4F0190F081E02DE85EFE4F8081C4 -:1088800091810E944DB710E043E0612F82EB96E1A9 -:108890000E944B4D61E37EE082EB96E10F94310440 -:1088A000CAE0D0E00E941A4781E00E94BD7565E5EC -:1088B00070E080E090E00E94F7FE2197209791F70A -:1088C0001F5F143109F7DF91CF911F9108951F9316 -:1088D000CF93DF930E94829940E060E082EB96E1C3 -:1088E0000E944B4DE091BB13F0E0EE0FFF1FE85DDF -:1088F000FD4F0190F081E02DEA5EFE4F8081918175 -:108900000E944DB742E060E082EB96E10E944B4D41 -:10891000E091BB13F0E0EE0FFF1FE85DFD4F01900B -:10892000F081E02DE85EFE4F808191810E944DB77D -:1089300010E043E0612F82EB96E10E944B4D61E332 -:108940007EE082EB96E10F943104CAE0D0E00E9411 -:108950001A4781E00E94BD756EE670E080E090E00D -:108960000E94F7FE2197209791F71F5F143109F7B6 -:10897000DF91CF911F9108950F931F93CF93DF93B2 -:108980000E94829940E060E082EB96E10E944B4DAC -:10899000E091BB13F0E0EE0FFF1FE85DFD4F01908B -:1089A000F081E02DE45FFE4F808191810E944DB700 -:1089B00041E061E082EB96E10E944B4DE091BB13F8 -:1089C000F0E0EE0FFF1FE85DFD4F0190F081E02D1C -:1089D000E25FFE4F808191810E944DB742E061E0ED -:1089E00082EB96E10E944B4DE091BB13F0E0EE0F5D -:1089F000FF1FE85DFD4F0190F081E02DEE5EFE4F20 -:108A0000808191810E944DB743E061E082EB96E165 -:108A10000E944B4DE091BB13F0E0EE0FFF1FE85DAD -:108A2000FD4F0190F081E02DEC5EFE4F8081918141 -:108A30000E944DB741E060E082EB96E10E944B4D11 -:108A400063E37EE082EB96E10F94310400913A17E4 -:108A5000112707FD1095C1E0D0E08091BC139091E3 -:108A6000BD13892B09F072C00E941A4781E00E9451 -:108A7000BD7520913A17332727FD3095C801821B19 -:108A8000930B97FF03C091958195910905970CF47D -:108A90004DC0201731070CF42197021713070CF46F -:108AA0002196C430D1052CF4209729F4C1E0D0E000 -:108AB00002C0C3E0D0E041E060E082EB96E10E94BA -:108AC0004B4D67E97EE082EB96E10F94310442E082 -:108AD00060E082EB96E10E944B4D67E97EE082EB1D -:108AE00096E10F94310443E060E082EB96E10E944E -:108AF0004B4D67E97EE082EB96E10F9431044C2FF9 -:108B000060E082EB96E10E944B4D63E37EE082EBF6 -:108B100096E10F94310400913A17112707FD109543 -:108B200064E670E080E090E00E94F7FE0E94E8AE0C -:108B3000882309F492CFD093BD13C093BC1364EF84 -:108B400071E080E090E00E94F7FE87CF0E9482995A -:108B5000DF91CF911F910F910C9466A020E030E03F -:108B600042E053E4609148117091491180914A119B -:108B700090914B110F947E071816ECF481E08093CE -:108B8000B21381E090E09093241780932317EFE6CF -:108B9000FEE08191882339F09091C00095FFFCCFD1 -:108BA0008093C600F6CF8091C00085FFFCCF8AE09D -:108BB0008093C60036C00E94829940E060E082EB5C -:108BC00096E10E944B4DE091BB13F0E0EE0FFF1FCA -:108BD000E85DFD4F0190F081E02DEA5FFE4F80815E -:108BE00091810E944DB742E060E082EB96E10E94E5 -:108BF0004B4DE091BB13F0E0EE0FFF1FE85DFD4F22 -:108C00000190F081E02DE85FFE4F808191810E940C -:108C10004DB760ED77E080E090E00E94F7FE0E94A3 -:108C200082990C9466A08F929F92AF92BF92DF922E -:108C3000EF92FF920F931F93CF93DF93109226171B -:108C40008091A7169091A816A091A916B091AA1686 -:108C500081309048A105B10540F01092A7161092FE -:108C6000A8161092A9161092AA168091A716909194 -:108C7000A816A091A916B091AA16B695A795979592 -:108C800087954091B01650E060E070E0841795073A -:108C9000A607B70710F48093B016D091B0161091C4 -:108CA000B11612FB112710F9C0E0DD24D394D111C5 -:108CB00044C08091670C882309F1E091BB13F0E078 -:108CC000EE0FFF1FE85DFD4F0190F081E02DE055B4 -:108CD000FF4F608171818091A7169091A816A09195 -:108CE000A916B091AA1623E00297A105B10510F4C8 -:108CF00043E001C040E28C2F0E9493981123E9F0D9 -:108D00008091A7169091A816A091A916B091AA16C5 -:108D10000297A105B10588F40E94A9998BE79DEC03 -:108D2000DF91CF911F910F91FF90EF90DF90BF9057 -:108D3000AF909F908F900C94D1998091D013811116 -:108D400005C08091C113882309F466C020E030E09B -:108D500040E05FE36091A5137091A6138091A71383 -:108D60009091A8130F947B0587FF56C064E377E1C9 -:108D70008CEF9FE00E94BAA666E377E18AEF9FE05E -:108D80000E94BAA668E377E188EF9FE00E94BAA646 -:108D9000D13011F002E041C08091670C882329F1A5 -:108DA000E091BB13F0E0EE0FFF1FE85DFD4F019077 -:108DB000F081E02DE251FF4F608171818091A71613 -:108DC0009091A816A091A916B091AA16B695A7954C -:108DD000979587952EE70197A105B10511F44EE30C -:108DE00001C040E28C2F0E949398112399F2809148 -:108DF000A7169091A816A091A916B091AA16B6959B -:108E0000A795979587950197A105B10519F60E9439 -:108E1000A9998FEA99EB39C001E00E9497FA409135 -:108E2000A7165091A8166091A9167091AA168111E3 -:108E300009C08091D013811105C08091C11388238E -:108E400009F455C00D135BC08091670C81112AC0D5 -:108E5000112309F454C08091A7169091A816A091EF -:108E6000A916B091AA16B695A79597958795402F04 -:108E700050E060E070E084179507A607B70709F097 -:108E80003EC00E94A9998CE693EBDF91CF911F9190 -:108E90000F91FF90EF90DF90BF90AF909F908F90D9 -:108EA0000C94D699E091BB13F0E0EE0FFF1FE85D44 -:108EB000FD4F0190F081E02DEC54FF4F0190F081C7 -:108EC000E02D7695679557954795802F90E0A0E027 -:108ED000B0E02EE7481759076A077B0711F44EE305 -:108EE00001C040E2BF018C2F0E949398B1CF0D13B7 -:108EF00006C08091670C81116DC3111190C30F5F83 -:108F00008091D1134091A7165091A8166091A9168F -:108F10007091AA16882309F417C18091B915882386 -:108F200009F4FBC08091D013882309F452C00D13BB -:108F3000A0C08091670C882321F1E091BB13F0E081 -:108F4000EE0FFF1FE85DFD4F0190F081E02DEA5428 -:108F5000FF4F0190F081E02D7695679557954795E5 -:108F6000802F90E0A0E0B0E020E2481759076A07A0 -:108F70007B0711F44EE301C040E2BF018C2F0E9439 -:108F80009398112309F475C08091A7169091A816A3 -:108F9000A091A916B091AA16B695A7959795879511 -:108FA000402F50E060E070E084179507A607B707F0 -:108FB00009F05FC00E94A999DF91CF911F910F9195 -:108FC000FF90EF90DF90BF90AF909F908F900C94A8 -:108FD0004EA00D134EC08091670C882321F1E091C3 -:108FE000BB13F0E0EE0FFF1FE85DFD4F0190F08135 -:108FF000E02DE854FF4F0190F081E02D76956795C4 -:1090000057954795802F90E0A0E0B0E020E2481708 -:1090100059076A077B0711F44EE301C040E2BF0124 -:109020008C2F0E949398112321F18091A716909183 -:10903000A816A091A916B091AA16B695A7959795CE -:109040008795402F50E060E070E084179507A607F1 -:10905000B70779F40E94A999DF91CF911F910F91E1 -:10906000FF90EF90DF90BF90AF909F908F900C9407 -:1090700044A0FF24F394F00EFD124CC08091670CC5 -:10908000882361F1E091BB13F0E0EE0FFF1FE85D74 -:10909000FD4F0190F081E02DE654FF4F0190F081EB -:1090A000E02D8091A7169091A816A091A916B091D5 -:1090B000AA16B695A795979587954F2D50E060E035 -:1090C00070E02EE784179507A607B70711F44EE363 -:1090D00001C040E2BF018C2F0E9493981123D1F070 -:1090E0008091A7169091A816A091A916B091AA16E2 -:1090F000B695A795979587954F2D50E060E070E065 -:1091000084179507A607B70729F40E94A9998CE848 -:1091100092EDBBCE01E00F0D5EC08091C1138111B5 -:109120005AC00D1357C08091670C8823A9F1E091B4 -:10913000BB13F0E0EE0FFF1FE85DFD4F0190F081E3 -:10914000E02DE454FF4F12C00D1344C08091670C12 -:10915000882311F1E091BB13F0E0EE0FFF1FE85DF3 -:10916000FD4F0190F081E02DE254FF4F0190F0811E -:10917000E02D7695679557954795802F90E0A0E074 -:10918000B0E02EE7481759076A077B0709F140E26C -:10919000BF018C2F0E9493981123E1F08091A716B4 -:1091A0009091A816A091A916B091AA16B695A79568 -:1091B00097958795402F50E060E070E08417950701 -:1091C000A607B70739F40E94A9998BE593EA5DCE0B -:1091D0004EE3DECF0F5F8091D013811102C18091E9 -:1091E000C1138111FEC00D1355C08091670C8823F7 -:1091F00061F1E091BB13F0E0EE0FFF1FE85DFD4F62 -:109200000190F081E02DEE5FFE4F0190F081E02DA6 -:109210008091A7169091A816A091A916B091AA16B0 -:10922000B695A79597958795402F50E060E070E040 -:1092300020E284179507A607B70711F44EE301C093 -:1092400040E2BF018C2F0E949398112319F1809165 -:10925000A7169091A816A091A916B091AA16B69536 -:10926000A79597958795402F50E060E070E08417B0 -:109270009507A607B70771F40E94A999DF91CF91CE -:109280001F910F91FF90EF90DF90BF90AF909F9054 -:109290008F9064CCEE24E394E00EED1252C08091E6 -:1092A000670C882349F1E091BB13F0E0EE0FFF1F3C -:1092B000E85DFD4F0190F081E02DF39560817181B3 -:1092C0008091A7169091A816A091A916B091AA1600 -:1092D000B695A795979587958D2E912CA12CB12C9D -:1092E00020E288159905AA05BB0511F44EE301C0DB -:1092F00040E28C2F0E949398112319F18091A716B8 -:109300009091A816A091A916B091AA16B695A79506 -:10931000979587954E2D50E060E070E08417950793 -:10932000A607B70771F40E94A999DF91CF911F9109 -:109330000F91FF90EF90DF90BF90AF909F908F9034 -:10934000DAC932E0E32EE00EED124AC08091670CDC -:10935000882351F1E091BB13F0E0EE0FFF1FE85DB1 -:10936000FD4F0190F081E02DE450FF4F608171814D -:109370008091A7169091A816A091A916B091AA164F -:10938000B695A795979587958D2E912CA12CB12CEC -:109390002EE788159905AA05BB0511F44EE301C017 -:1093A00040E28C2F0E9493981123D1F08091A71650 -:1093B0009091A816A091A916B091AA16B695A79556 -:1093C000979587954E2D50E060E070E084179507E3 -:1093D000A607B70729F40E94A99985E497EA55CD15 -:1093E0000D5F8091C11381114FC00D134CC080914E -:1093F000670C882361F1E091BB13F0E0EE0FFF1FD3 -:10940000E85DFD4F0190F081E02DEA50FE4F0190A4 -:10941000F081E02D8091A7169091A816A091A91631 -:10942000B091AA16B695A79597958795402F50E0CD -:1094300060E070E02EE784179507A607B70711F4E0 -:109440004EE301C040E2BF018C2F0E94939811238C -:10945000D1F08091A7169091A816A091A916B0916D -:10946000AA16B695A79597958795402F50E060E08E -:1094700070E084179507A607B70729F40E94A999F9 -:1094800084E39AEB02CD0F5F0D134CC08091670C03 -:10949000882361F1E091BB13F0E0EE0FFF1FE85D60 -:1094A000FD4F0190F081E02DE65FFE4F0190F081CD -:1094B000E02D8091A7169091A816A091A916B091C1 -:1094C000AA16B695A79597958795402F50E060E02E -:1094D00070E02EE784179507A607B70711F44EE34F -:1094E00001C040E2BF018C2F0E9493981123D1F05C -:1094F0008091A7169091A816A091A916B091AA16CE -:10950000B695A79597958795402F50E060E070E05D -:1095100084179507A607B70729F40E94A9998BED30 -:1095200099E9B3CCFF24F394F00E4091A716509123 -:10953000A8166091A9167091AA1676956795579509 -:1095400047958F2D90E0A0E0B0E0481759076A07D3 -:109550007B0788F08F2D90E0880F991F0197AA272D -:1095600097FDA095BA2F8093A7169093A816A09365 -:10957000A916B093AA164091A7165091A81660910B -:10958000A9167091AA16769567955795479580917B -:10959000B01690E00396242F30E0821793074CF426 -:1095A0008DEF840F8093B016D092670CDCEFD40F50 -:1095B000CFEFCF5FDF5FC43008F479CBDF91CF917D -:1095C0001F910F91FF90EF90DF90BF90AF909F9011 -:1095D0008F900895E091BB13F0E0EE0FFF1FE85D60 -:1095E000FD4F0190F081E02DE250FF4F0190F0819E -:1095F000E02D7695679557954795802F90E0A0E0F0 -:10960000B0E02EE7481759076A077B0711F44EE3CD -:1096100001C040E2BF018C2F0E9493986ECC8091D4 -:10962000A7169091A816A091A916B091AA16B69562 -:10963000A79597958795402F50E060E070E08417DC -:109640009507A607B70709F05ACC0E94A9998AE0A6 -:1096500091EA1BCC0F931F93CF93DF930E948299C3 -:1096600040E060E082EB96E10E944B4DE091BB133D -:10967000F0E0EE0FFF1FE85DFD4F0190F081E02D5F -:10968000EC50FF4F808191810E944DB742E063E032 -:1096900082EB96E10E944B4D62EA7DE082EB96E11F -:1096A0000F94310443E063E082EB96E10E944B4D5E -:1096B0006CE97DE082EB96E10F94310442E06CE0CE -:1096C00082EB96E10E944B4D60E87EE082EB96E1F2 -:1096D0000F94310443E06CE082EB96E10E944B4D25 -:1096E00062E87EE082EB96E10F94310442E061E0B3 -:1096F00082EB96E10E944B4D63E37EE082EB96E1C4 -:109700000F94310400913A17112707FD1095C1E01D -:10971000D0E00E941A4781E00E94BD7520913A175F -:10972000332727FD3095C801821B930B97FF03C099 -:1097300091958195910905970CF460C02017310728 -:109740000CF42197021713070CF42196C530D105AC -:109750002CF4209729F4C1E0D0E002C0C4E0D0E0AE -:1097600042E061E082EB96E10E944B4D67E97EE0CA -:1097700082EB96E10F94310443E061E082EB96E1E5 -:109780000E944B4D67E97EE082EB96E10F94310435 -:1097900042E06AE082EB96E10E944B4D67E97EE091 -:1097A00082EB96E10F94310443E06AE082EB96E1AC -:1097B0000E944B4D67E97EE082EB96E10F94310405 -:1097C0004C2FC330D1051CF44F5F61E002C0415003 -:1097D0006AE082EB96E10E944B4D63E37EE082EB10 -:1097E00096E10F94310400913A17112707FD109567 -:1097F00064E670E080E090E00E94F7FE0E94E8AE30 -:10980000882309F486CFCE01880F991F68E377E19A -:109810008D50904F0E94BAA668E377E188EF9FE0F1 -:109820000E94A9A661E087EF9FE00F947B1164EF8F -:1098300071E080E090E00E94F7FE0E948299DF9143 -:10984000CF911F910F910C9466A00F931F93CF930C -:10985000DF93EC01843091053CF08530910539F0BF -:109860008C010350110905C000E010E002C001E0C6 -:1098700010E040E060E082EB96E10E944B4D64E82E -:109880007EE082EB96E10F94310440E061E082EBF0 -:1098900096E10E944B4DF801EE0FFF1FE85DFD4F72 -:1098A0000190F081E02DE654FE4F808191810E946D -:1098B0004DB741E060E082EB96E10E944B4D64E8D9 -:1098C0007EE082EB96E10F94310441E061E082EBAF -:1098D00096E10E944B4DF801EE0FFF1FE65DFD4F34 -:1098E0000190F081E02DE654FE4F808191810E942D -:1098F0004DB742E060E082EB96E10E944B4D64E898 -:109900007EE082EB96E10F94310442E061E082EB6D -:1099100096E10E944B4DF801EE0FFF1FE45DFD4FF5 -:109920000190F081E02DE654FE4F808191810E94EC -:109930004DB743E060E082EB96E10E944B4D64E856 -:109940007EE082EB96E10F94310443E061E082EB2C -:1099500096E10E944B4DF801EE0FFF1FE25DFD4FB7 -:109960000190F081E02DE654FE4F808191810E94AC -:109970004DB7C130D10511F440E012C0C230D1055D -:1099800011F441E00DC0C330D1057CF042E060E04D -:1099900082EB96E10E944B4DC530D10531F443E096 -:1099A00060E082EB96E10E944B4D63E37EE082EB48 -:1099B00096E10F94310424974CF443E063E182EB89 -:1099C00096E10E944B4D69E97EE008C040E063E10A -:1099D00082EB96E10E944B4D6BE97EE082EB96E1D3 -:1099E000DF91CF911F910F910D9431040F931F932D -:1099F000CF93DF938FEF8093BB130E9450A60E94FA -:109A0000829981E090E021DF00913A17112707FD4C -:109A10001095C1E0D0E02091BB138091BC179091CC -:109A2000BD174091BE175091BF172F3F41F49C01C5 -:109A3000241B350B2F77332722303105A4F0841BEC -:109A4000950B8F779927029724F01092BB131092F1 -:109A50006A0C0E9474A60E948299DF91CF911F9197 -:109A60000F910C9466A00E941A4781E00E94BD7578 -:109A700020913A17332727FD3095C801821B930B9D -:109A800097FF03C09195819591090597F4F02017F0 -:109A900031070CF42197021713070CF42196C630F6 -:109AA000D1052CF4209729F4C1E0D0E002C0C5E034 -:109AB000D0E0CE01CADE00913A17112707FD1095BC -:109AC00064E670E080E090E004C064E170E080E073 -:109AD00090E00E94F7FE0E94E8AE882309F49BCF35 -:109AE0008C2F81500E94909E64EF71E080E090E0A6 -:109AF0000E94F7FE90CF8F929F92AF92BF92CF922B -:109B0000DF92EF92FF920F931F93CF93DF93CDB726 -:109B1000DEB728970FB6F894DEBF0FBECDBF809199 -:109B20006A0C813009F040C010926A0C0E9498A61D -:109B3000E091BB13F0E0EE0FFF1FE85DFD4F0190D9 -:109B4000F081E02D6081718144E150E08EEF96E17B -:109B50000F94AE0E8DEE9FE00F9466118F3F01F5CE -:109B60008EEE9FE00F9466118F3FD1F48FEE9FE051 -:109B70000F9466118F3FA1F480EF9FE00F94661160 -:109B80008F3F71F440E050E0BA018DEE9FE00F94FA -:109B9000731140E050E0BA0181EF9FE00F94731120 -:109BA00080918616811122DF8091A116882321F0F1 -:109BB00081508093A11603C081E08093670C80914F -:109BC000670C882309F40DC4809127178F5F809359 -:109BD00027178E3129F40E9459A0109227170EC022 -:109BE0006AE00F942509911109C020E044E064E186 -:109BF00082EB96E10E945B4E0E94F69720E030E0F7 -:109C000040E05FE3609148117091491180914A11E1 -:109C100090914B110F94A2040F94EA0578876F83FB -:109C20006091501170915111882777FD8095982F80 -:109C30000F941D0620E030E040E05FE30F94A204A3 -:109C40000F94EA057E836D8340E060E082EB96E14D -:109C50000E944B4D62E082EB96E10F943204CE01FC -:109C600007960E9430B1BC0182EB96E10F9431045B -:109C70006FE282EB96E10F943204CE0105960E94CA -:109C8000A1B6BC0182EB96E10F94310483EE93E51B -:109C90000E944DB766E97EE082EB96E10F943104B5 -:109CA00040E06AE082EB96E10E944B4D6DE97EE078 -:109CB00082EB96E10F9431042CEA35EC47E257E34E -:109CC0006091A5137091A6138091A7139091A8138A -:109CD0000F94A20469837A838B839C83CE010196BF -:109CE0000E945EB0BC0182EB96E10F94310460E209 -:109CF00082EB96E10F94320441E060E082EB96E162 -:109D00000E944B4D20E030E040E05FE36091421163 -:109D10007091431180914411909145110F94A204C8 -:109D20000F94EA0578876F8360914E1170914F11FF -:109D3000882777FD8095982F0F941D0620E030E04E -:109D400040E05FE30F94A2040F94EA057E836D83E5 -:109D500060E082EB96E10F943204CE0107960E94F8 -:109D600030B1BC0182EB96E10F9431046FE282EBDB -:109D700096E10F943204CE0105960E94A1B6BC0173 -:109D800082EB96E10F94310480EE93E50E944DB78B -:109D900066E97EE082EB96E10F94310441E06AE0EF -:109DA00082EB96E10E944B4D66E97EE082EB96E104 -:109DB0000F94310466E082EB96E10F94320485E55E -:109DC0009CE00E9430B1BC0182EB96E10F9431041B -:109DD00065E282EB96E10F94320463E97EE082EB68 -:109DE00096E10F94310442E060E082EB96E10E943C -:109DF0004B4D8091C113882319F08DED93E502C07E -:109E00008AED93E50E944DB78091D0138823A9F184 -:109E10008091B915882319F1809163169091641689 -:109E2000A0916516B09166160097A105B105B9F02D -:109E3000BC01CD016D597F4F8F4F9F4F24E630E01D -:109E400040E050E00F94590960916B1670916C16C8 -:109E500080916D1690916E160F94590901C020E003 -:109E600030E03A832983CE0101960E9430B1BC01D3 -:109E700082EB96E10F9431040DC08091C1138823C9 -:109E800029F085ED93E50E944DB709C081ED93E57A -:109E90000E944DB765E282EB96E10F94320462E9CD -:109EA0007EE082EB96E10F94310442E06AE082EBBF -:109EB00096E10E944B4D66E97EE082EB96E10F94BD -:109EC000310467E082EB96E10F9432048091AB118C -:109ED0009091AC11A091AD11B091AE11892B8A2B4C -:109EE0008B2BE1F10E94C8FE20E6C22E2AEED22E74 -:109EF000E12CF12CA70196010F94590949015A014F -:109F00006091AB117091AC118091AD119091AE1137 -:109F1000A70196010F945909C401821B930B6CE3AE -:109F200070E00F943209182F6983CE0101960E94C8 -:109F3000EEAEBC0182EB96E10F9431046AE382EB52 -:109F400096E10F9432041983CE0101960E94EEAE81 -:109F5000BC0182EB96E10F94310404C08BEC93E5D5 -:109F60000E944DB766E97EE082EB96E10F943104E2 -:109F700043E060E082EB96E10E944B4D8091B51387 -:109F80009091B613009719F021E02093B21330910D -:109F9000D0132091B213332309F476C0211174C079 -:109FA0006FED73E187EC96E10F941D0F892BD1F0D3 -:109FB000E7ECF6E1DF010D900020E9F7AD0141503B -:109FC0005109475C564160E070E0CF010F94ED0EFF -:109FD0006FED73E187EC96E10F94260F1092FD165A -:109FE0001092FC16EFEDF3E101900020E9F7E05E3E -:109FF000F341759708F445C00091FC161091FD16C9 -:10A00000C12CD12C8091FC169091FD169801281B33 -:10A01000390B2431310534F001969093FD1680936D -:10A02000FC169AC1C114D104B9F7F801E253FC4EF1 -:10A030007F019189602F681B43E0911115C082EB6D -:10A0400096E10E944B4DD70150966C9182EB96E1C0 -:10A050000F9432041092FD161092FC1600E010E0EE -:10A06000CC24C394D12CCECF82EB96E10E944B4DF1 -:10A07000F701608982EB96E10F9432040F5F1F4F66 -:10A08000C1CF67EC76E164C1222309F45FC1892B5B -:10A0900009F4A1C08091B3139091B41301968E304E -:10A0A000910528F49093B4138093B31304C01092D5 -:10A0B000B4131092B31343E067E082EB96E10E9481 -:10A0C0004B4D8DEB93E50E944DB700E010E0809181 -:10A0D000B3139091B4130817190770F467E0600F79 -:10A0E00043E082EB96E10E944B4D8BEB93E50E949F -:10A0F0004DB70F5F1F4FEBCF8091B5139091B61303 -:10A100008230910581F1B0F4019709F064C043E019 -:10A1100060E082EB96E10E944B4DE091BB13F0E0D2 -:10A12000EE0FFF1FE85DFD4F0190F081E02DE05A3A -:10A13000FE4F3EC08330910549F1049709F04BC0B2 -:10A1400043E060E082EB96E10E944B4DE091BB134F -:10A15000F0E0EE0FFF1FE85DFD4F0190F081E02D74 -:10A16000EA59FE4F2AC043E060E082EB96E10E948C -:10A170004B4DE091BB13F0E0EE0FFF1FE85DFD4F8C -:10A180000190F081E02DEE59FE4F17C043E060E0F2 -:10A1900082EB96E10E944B4DE091BB13F0E0EE0F95 -:10A1A000FF1FE85DFD4F0190F081E02DEC59FE4F5F -:10A1B000808191810E944DB70EC0808191810E9463 -:10A1C0004DB71092B6131092B5131092B4131092AB -:10A1D000B3131092B2138091B0139091B113019701 -:10A1E00009F0AEC08091AE139091AF138B30910502 -:10A1F000A8F143E060E082EB96E10E944B4D64E8F9 -:10A200007EE082EB96E10F94310443E060E082EB64 -:10A2100096E10E944B4DE091BB13F0E0EE0FFF1F63 -:10A22000E85DFD4F0190F081E02DE850FF4F808107 -:10A2300091810E944DB761EA7EE082EB96E10F9436 -:10A2400031046091AE137091AF136A5071094AE006 -:10A2500050E082EB96E10F949C0472C0039711F5D5 -:10A26000E091BB13F0E0EE0FFF1FE85DFD4F0190A2 -:10A27000F081E02D808191810E944DB7E091BB1368 -:10A28000F0E0EE0FFF1FE85DFD4F0190F081E02D43 -:10A29000808191810E946BAB1092B2131092B11326 -:10A2A0001092B0138091AE139091AF13049706975C -:10A2B00058F543E060E082EB96E10E944B4D65E883 -:10A2C0007EE082EB96E10F94310443E060E082EBA4 -:10A2D00096E10E944B4DE091BB13F0E0EE0FFF1FA3 -:10A2E000E85DFD4F0190F081E02DE650FF4F808149 -:10A2F00091810E944DB78091AE139091AF13019759 -:10A300009093AF138093AE138091AE139091AF13DF -:10A310000A97B1F4E091BB13F0E0EE0FFF1FE85D88 -:10A32000FD4F0190F081E02DE650FF4F808191813B -:10A330000E944DB789E090E09093AF138093AE13E5 -:10A340008091B0139091B113029731F46EEF76E1E2 -:10A3500082EB96E10F9431040EEF16E1D8018D9156 -:10A360008D0180322CF460E282EB96E10F9432048E -:10A37000B7E102311B0791F78091C113882331F1B6 -:10A380008091B213811122C043E060E082EB96E13C -:10A390000E944B4D64E87EE082EB96E10F9431041D -:10A3A00043E060E082EB96E10E944B4DE091BB13ED -:10A3B000F0E0EE0FFF1FE85DFD4F0190F081E02D12 -:10A3C000E850FE4F808191810E944DB78AE08093D2 -:10A3D000A1168091231790912417892B11F00E94C8 -:10A3E00078AB8091B11682FB882780F99091A016F6 -:10A3F000992399F090919F16992339F0811119C0F2 -:10A4000010929F161092A01614C0882391F00E94FB -:10A41000A99981E080939F160CC0882351F021E018 -:10A4200040E050E0BA0183E196EC0E94BB990E94A3 -:10A4300059A08091550C9091560C2091A7163091FF -:10A44000A8168436910534F4820F931F8536910542 -:10A450004CF416C08436910599F0820F931F843610 -:10A46000910574F41092A7161092A8161092A916CE -:10A470001092AA1684E690E09093560C8093550CA7 -:10A480002091550C3091560C8091A7169091A816EA -:10A490002436310569F48B3091051CF0865A9F4FA4 -:10A4A00009C0863FEFEF9E078CF482599F4F02C090 -:10A4B000820F931F9093560C8093550C1092A71601 -:10A4C0001092A8161092A9161092AA168091550CF7 -:10A4D0009091560C8A3091051CF48AE090E005C0FA -:10A4E000883E934034F087EE93E09093560C80932F -:10A4F000550C28960FB6F894DEBF0FBECDBFDF9186 -:10A50000CF911F910F91FF90EF90DF90CF90BF9070 -:10A51000AF909F908F9008950F931F93CF9340E03B -:10A5200060E082EB96E10E944B4DE091BB13F0E0BE -:10A53000EE0FFF1FE85DFD4F0190F081E02DE65426 -:10A54000FF4F808191810E944DB742E062E082EB33 -:10A5500096E10E944B4DE091BB13F0E0EE0FFF1F20 -:10A56000E85DFD4F0190F081E02DE05FFE4F8081BE -:10A5700091810E944DB743E062E082EB96E10E9438 -:10A580004B4DE091BB13F0E0EE0FFF1FE85DFD4F78 -:10A590000190F081E02DE25FFE4F808191810E9469 -:10A5A0004DB742E060E082EB96E10E944B4D67E9D7 -:10A5B0007EE082EB96E10F94310443E060E082EBB1 -:10A5C00096E10E944B4D67E97EE082EB96E10F94A5 -:10A5D00031048091A7169091A816A091A916B09168 -:10A5E000AA160397A105B10564F082E090E0A0E00F -:10A5F000B0E08093A7169093A816A093A916B093E5 -:10A60000AA168091A7169091A816A091A916B091AC -:10A61000AA16181619061A061B0664F081E090E0C7 -:10A62000A0E0B0E08093A7169093A816A093A91677 -:10A63000B093AA164091A7164F5F60E082EB96E1B7 -:10A640000E944B4D63E37EE082EB96E10F94310470 -:10A650000E94E8AE882309F469C08091A716909102 -:10A66000A816A091A916B091AA160197A105B10547 -:10A6700011F40E9466A08091A7169091A816A0914F -:10A68000A916B091AA160297A105B10509F04EC00E -:10A69000C1E0C09378130E949BE4E091BB13F0E00B -:10A6A000EE0FFF1FE85DFD4F0190F081E02DEA53B2 -:10A6B000FF4F808191810E946BAB1092D01360E0BC -:10A6C0008EEC93E10E94C35A0E94C8FE6093A711CA -:10A6D0007093A8118093A9119093AA110091AB11C6 -:10A6E0001091AC112091AD113091AE11601B710B26 -:10A6F000820B930B28EE33E040E050E00F945909B1 -:10A700006091B7137091B8138091B9139091BA13F7 -:10A710000E94F2700E9466A0C093A01610929F162D -:10A7200082E090E09093241780932317CF911F919C -:10A730000F910895CF93DF93CFE4D3E5FE01849189 -:10A74000882341F09091C00095FFFCCF8093C60014 -:10A750003196F5CFEAEBF7E58491882341F09091AB -:10A76000C00095FFFCCF8093C6003196F5CF809155 -:10A77000C00085FFFCCF8AE08093C600FE01849173 -:10A78000EFE4F3E5882349F09091C00095FFFCCFFA -:10A790008093C60031968491F5CF4091061E50916A -:10A7A000071E6091081E7091091E82EB97E50E94BA -:10A7B000836540910A1E50910B1E60910C1E709192 -:10A7C0000D1E8FEA97E50E94836540910E1E509101 -:10A7D0000F1E6091101E7091111E8CEA97E50E9469 -:10A7E00083654091121E5091131E6091141E70914A -:10A7F000151E89EA97E50E9483658091C00085FF58 -:10A80000FCCF8AE08093C600FE018491EFE4F3E57B -:10A81000882349F09091C00095FFFCCF8093C6003B -:10A8200031968491F5CFEFE8F7E58491882341F0E4 -:10A830009091C00095FFFCCF8093C6003196F5CF74 -:10A840008091C00085FFFCCF8AE08093C600FE01A6 -:10A850008491EFE4F3E5882349F09091C00095FFDF -:10A86000FCCF8093C60031968491F5CF4091161E9F -:10A870005091171E6091181E7091191E86E897E579 -:10A880000E94836540911A1E50911B1E60911C1EF0 -:10A8900070911D1E83E897E50E94836540911E1EFE -:10A8A00050911F1E6091201E7091211E80E897E537 -:10A8B0000E9483654091221E5091231E6091241EA8 -:10A8C0007091251E8DE797E50E9483658091C000F9 -:10A8D00085FFFCCF8AE08093C600FE018491EFE4FF -:10A8E000F3E5882349F09091C00095FFFCCF809359 -:10A8F000C60031968491F5CFEFE5F7E58491882382 -:10A9000041F09091C00095FFFCCF8093C600319636 -:10A91000F5CF8091C00085FFFCCF8AE08093C60010 -:10A92000FE018491EFE4F3E5882349F09091C000A3 -:10A9300095FFFCCF8093C60031968491F5CF40916E -:10A94000F61D5091F71D6091F81D7091F91D86E577 -:10A9500097E50E9495654091FA1D5091FB1D60910D -:10A96000FC1D7091FD1D83E597E50E949565409162 -:10A97000FE1D5091FF1D6091001E7091011E80E52B -:10A9800097E50E9495654091021E5091031E6091CB -:10A99000041E7091051E8DE497E50E9495658091D7 -:10A9A000C00085FFFCCF8AE08093C600FE01849141 -:10A9B000EFE4F3E5882349F09091C00095FFFCCFC8 -:10A9C0008093C60031968491F5CFE8E1F7E5849154 -:10A9D000882341F09091C00095FFFCCF8093C60082 -:10A9E0003196F5CF8091C00085FFFCCF8AE080933F -:10A9F000C600FE018491EFE4F3E5882349F09091CD -:10AA0000C00095FFFCCF8093C60031968491F5CFAE -:10AA10004091EE1D5091EF1D6091F01D7091F11D60 -:10AA20008FE097E50E9483654091EA1D5091EB1DF0 -:10AA30006091EC1D7091ED1D8CE097E50E9483659F -:10AA40008091C00085FFFCCF8AE08093C600FE01A4 -:10AA50008491EFE4F3E5882349F09091C00095FFDD -:10AA6000FCCF8093C60031968491F5CFE9E5F6E5F9 -:10AA70008491882341F09091C00095FFFCCF809392 -:10AA8000C6003196F5CF8091C00085FFFCCF8AE0EB -:10AA90008093C600FE018491EFE4F3E5882349F03A -:10AAA0009091C00095FFFCCF8093C60031968491B1 -:10AAB000F5CF4091F21D5091F31D6091F41D7091FE -:10AAC000F51D80E596E50E9483654091DA1D509161 -:10AAD000DB1D6091DC1D7091DD1D8DE496E50E940B -:10AAE00083654091261E5091271E6091281E70910B -:10AAF000291E8AE496E50E9495654091E61D5091D5 -:10AB0000E71D6091E81D7091E91D87E496E50E94BC -:10AB100083654091E21D5091E31D6091E41D7091A9 -:10AB2000E51D84E496E50E9483654091DE1D509109 -:10AB3000DF1D6091E01D7091E11D81E496E50E94AA -:10AB400083658091C00085FFFCCF8AE08093C600BA -:10AB5000FE018491EFE4F3E5882349F09091C00071 -:10AB600095FFFCCF8093C60031968491F5CFEFE23C -:10AB7000F6E58491882341F09091C00095FFFCCFC9 -:10AB80008093C6003196F5CF8091C00085FFFCCF41 -:10AB90008AE08093C600FE018491EFE4F3E5882308 -:10ABA00049F09091C00095FFFCCF8093C60031968C -:10ABB0008491F5CF4091911350919213609193132A -:10ABC0007091941386E296E50E94836540919513F7 -:10ABD00050919613609197137091981383E296E5C4 -:10ABE0000E9483654091991350919A1360919B1331 -:10ABF00070919C1380E296E50E9483658091C0006D -:10AC000085FFFCCF8AE08093C600FE018491EFE4CB -:10AC1000F3E5882349F09091C00095FFFCCF809325 -:10AC2000C60031968491F5CFE2E1F6E58491882360 -:10AC300041F09091C00095FFFCCF8093C600319603 -:10AC4000F5CF8091C00085FFFCCF8AE08093C600DD -:10AC5000FE018491EFE4F3E5882349F09091C00070 -:10AC600095FFFCCF8093C60031968491F5CF40913B -:10AC7000240250912502609126027091270288E0FB -:10AC800096E50E9483656091200270912102809177 -:10AC90002202909123020E948A4CAB01BC0185E004 -:10ACA00096E50E94836560911C0270911D0280915F -:10ACB0001E0290911F020E94964CAB01BC0182E0E3 -:10ACC00096E50E9483658091C00085FFFCCF8AE0F5 -:10ACD0008093C600FE018491EFE4F3E5882349F0F8 -:10ACE0009091C00095FFFCCF8093C600319684916F -:10ACF000F5CFEEECF5E58491882341F09091C0000A -:10AD000095FFFCCF8093C6003196F5CF8091C000AF -:10AD100085FFFCCF8AE08093C600FE018491EFE4BA -:10AD2000F3E5882349F09091C00095FFFCCF809314 -:10AD3000C60031968491F5CF40912B0C50912C0C8C -:10AD400060912D0C70912E0C84EC95E50E9483652A -:10AD500020E030E040E752E46091230C7091240C35 -:10AD60008091250C9091260C0F945008AB01BC01EA -:10AD700081EC95E50E948365409181135091821387 -:10AD800060918313709184138EEB95E50E94836527 -:10AD90008091C00085FFFCCF8AE08093C600FE0151 -:10ADA0008491EFE4F3E5882349F09091C00095FF8A -:10ADB000FCCF8093C60031968491F5CFE2E9F5E5AA -:10ADC0008491882341F09091C00095FFFCCF80933F -:10ADD000C6003196F5CF8091C00085FFFCCF8AE098 -:10ADE0008093C600FE018491EFE4F3E5882349F0E7 -:10ADF0009091C00095FFFCCF8093C600319684915E -:10AE0000F5CF40917D1350917E1360917F13709127 -:10AE1000801388E895E50E94836520E030E040E7F4 -:10AE200052E460911F0C7091200C8091210C909144 -:10AE3000220C0F945008AB01BC0185E895E50E94F7 -:10AE400083658091C00085FFFCCF8AE08093C600B7 -:10AE5000FE018491EFE4F3E5882349F09091C0006E -:10AE600095FFFCCF8093C60031968491F5CFEBE23D -:10AE7000F5E58491882341F09091C00095FFFCCFC7 -:10AE80008093C6003196F5CF8091C00085FFFCCF3E -:10AE90008AE08093C600FE018491EFE4F3E5882305 -:10AEA00049F09091C00095FFFCCF8093C600319689 -:10AEB0008491F5CF4091861350E060E070E081E22C -:10AEC00095E50E9495658091C00085FFFCCF8AE0E2 -:10AED0008093C600FE018491EFE4F3E5882349F0F6 -:10AEE0009091C00095FFFCCF8093C600319684916D -:10AEF000F5CF8091AD138823A1F1EEE0F5E58491C3 -:10AF0000882341F09091C00095FFFCCF8093C6004C -:10AF10003196F5CF8091C00085FFFCCF8AE0809309 -:10AF2000C600FE01C491EFE4F3E5CC2349F0809123 -:10AF3000C00085FFFCCFC093C6003196C491F5CF09 -:10AF400040914B0C50914C0C60914D0C70914E0CFB -:10AF500084E095E50E9483658091C00085FFFCCF69 -:10AF600011C0E8EEF4E58491882341F09091C0008F -:10AF700095FFFCCF8093C6003196F5CF8091C0003D -:10AF800085FFFCCF8AE08093C600DF91CF910895C2 -:10AF9000AF92BF92CF92DF92EF92FF920F931F93E7 -:10AFA000CF93DF93CDB7DEB7E0970FB6F894DEBF4F -:10AFB0000FBECDBF80E1E7EEFCE0DE01919601908F -:10AFC0000D928A95E1F780E1E7EFFCE0DE01519612 -:10AFD00001900D928A95E1F780E1E7E0FDE0DE0166 -:10AFE000119601900D928A95E1F76E0181E2C80EEB -:10AFF000D11C86E0E82E8EE1F82E8E010F5E1F4FE9 -:10B0000066E17EE1AE014F5F5F4F96EFA92E9DE1B5 -:10B01000B92E20E030E0F60181919191A191B1919A -:10B020006F01F70181939193A193B1937F01F8018F -:10B0300081919191A191B1918F01FB0181939193A4 -:10B04000A193B193BF01FA0181919191A191B19125 -:10B05000AF01F50181939193A193B1935F012F5FAC -:10B060003F4F24303105B9F60E94A7FA80E090E8FE -:10B07000ABE3B5E48093EE1D9093EF1DA093F01D1C -:10B08000B093F11D8093EA1D9093EB1DA093EC1DEE -:10B09000B093ED1D1092F21D1092F31D1092F41D4D -:10B0A0001092F51D80E29EE4A0E0B0E08093261EA1 -:10B0B0009093271EA093281EB093291E1092DA1D8C -:10B0C0001092DB1D1092DC1D1092DD1D80E090E0DF -:10B0D000A0EAB1E48093E61D9093E71DA093E81DDC -:10B0E000B093E91D8DEC9CECACECBEE38093E21DCB -:10B0F0009093E31DA093E41DB093E51D80E090E0E4 -:10B10000A0EAB0E48093DE1D9093DF1DA093E01DC4 -:10B11000B093E11D1092991310929A1310929B1301 -:10B1200010929C13109295131092961310929713ED -:10B1300010929813109291131092921310929313ED -:10B140001092941382ED90E090931F1780931E1736 -:10B1500082E390E090931D1780931C1710921B17A9 -:10B1600010921A178FEF90E0909319178093181789 -:10B1700084E690E090931717809316171092151796 -:10B180001092141783E393EBA3E2B2E480932402BA -:10B1900090932502A0932602B093270260E070E00E -:10B1A0008CE990E40E94844C609320027093210209 -:10B1B000809322029093230265E87BE28CEA92E47A -:10B1C0000E94904C60931C0270931D0280931E029B -:10B1D00090931F020E94374080E090E0A0E8BFE318 -:10B1E0008093180290931902A0931A02B0931B0245 -:10B1F0001092861380E090E0A0E4B0E480932B0CE2 -:10B2000090932C0CA0932D0CB0932E0C40E050E0AA -:10B2100064E372E44093230C5093240C6093250C58 -:10B220007093260C10928113109282131092831344 -:10B230001092841310927D1310927E1310927F133C -:10B240001092801340E050E060E071E440931F0CE6 -:10B250005093200C6093210C7093220C1092AD132C -:10B2600080934B0C90934C0CA0934D0CB0934E0CD0 -:10B270000E946176EFE4F3E58491882341F0909198 -:10B28000C00095FFFCCF8093C6003196F5CFE6EC69 -:10B29000F4E58491882341F09091C00095FFFCCFA4 -:10B2A0008093C6003196F5CF8091C00085FFFCCF1A -:10B2B0008AE08093C600E0960FB6F894DEBF0FBE1A -:10B2C000CDBFDF91CF911F910F91FF90EF90DF9055 -:10B2D000CF90BF90AF9008951F920F920FB60F922C -:10B2E00011240BB60F922F933F934F935F936F935D -:10B2F0008F939F93EF93FF936091C6002091BC17AB -:10B300003091BD17C90101968F7799274091BE17DB -:10B310005091BF178417950741F0F901E45CF84E8E -:10B3200060839093BD178093BC17FF91EF919F911D -:10B330008F916F915F914F913F912F910F900BBE25 -:10B340000F900FBE0F901F9018959A01AB01211519 -:10B3500081EE38074105510549F182E08093C00034 -:10B3600060E079E08DE390E00F947B092150310992 -:10B3700041095109CA01B90122E030E040E050E042 -:10B380000F947B093093C5002093C4008091C100C5 -:10B3900080618093C1008091C10088608093C1006A -:10B3A0008091C10080688093C10008951092C00010 -:10B3B00020E130E0E7CF2091BE173091BF17809198 -:10B3C000BC179091BD178217930771F0F901E45CE7 -:10B3D000F84E80812F5F3F4F2F7733273093BF1771 -:10B3E0002093BE1790E008958FEF9FEF089580910E -:10B3F000BE179091BF179093BD178093BC17089507 -:10B400004F925F926F927F928F929F92AF92BF9274 -:10B41000CF92DF92EF92FF920F931F93CF93DF9320 -:10B42000CDB7DEB7A0970FB6F894DEBF0FBECDBF85 -:10B430005C014115510561057105E9F420E030E03A -:10B4400040E350E060E070E0A0960FB6F894DEBFF5 -:10B450000FBECDBFDF91CF911F910F91FF90EF9065 -:10B46000DF90CF90BF90AF909F908F907F906F9024 -:10B470005F904F905BC08E010F5F1F4FC12CD12C8E -:10B4800076014801422E512C612C712C8FEFC81A85 -:10B49000D80AE80AF80ACB01BA01A30192010F9475 -:10B4A0005909CA01F80161938F01A901BC01411535 -:10B4B00051056105710551F7F1E0CF1AD108E10896 -:10B4C000F108F401EC0DFD1D80818A3010F440E399 -:10B4D00001C047E3480F552747FD5095652F752F4D -:10B4E00020E030E0C50122D081E0C81AD108E1088F -:10B4F000F108EFEFCE16DE06EE06FE0611F7A09677 -:10B500000FB6F894DEBF0FBECDBFDF91CF911F9174 -:10B510000F91FF90EF90DF90CF90BF90AF909F90F2 -:10B520008F907F906F905F904F9008952115310517 -:10B5300039F48091C00085FFFCCF4093C600089588 -:10B540002A30310509F424C05BCF9A01462F5527D4 -:10B5500047FD5095652F752FE9CFCF93DF93EC0111 -:10B5600020E030E04DE050E060E070E0DFDF20E020 -:10B5700030E04AE050E060E070E0CE01DF91CF9132 -:10B58000D5CF9A01AB01662757FD6095762FCECFB8 -:10B59000CF92DF92EF92FF92CF93DF93EC016A019B -:10B5A0007B0177FF0FC020E030E04DE250E060E02B -:10B5B00070E0BCDFF094E094D094C094C11CD11C26 -:10B5C000E11CF11C2AE0B701A601CE01DF91CF9169 -:10B5D000FF90EF90DF90CF9013CF2115310539F414 -:10B5E0008091C00085FFFCCF4093C600089508CF2E -:10B5F0009A01462F50E060E070E0EFCFCF93DF93E9 -:10B60000EC019A01AB0160E070E0E7DFCE01DF9171 -:10B61000CF91A3CF8F929F92AF92BF92CF92DF92A2 -:10B62000EF92FF921F93CF93DF93EC016A017B01AE -:10B63000122F20E030E0A901C701B6010F947B056D -:10B6400087FF0CC020E030E04DE250E060E070E0A9 -:10B65000CE016CDFF7FAF094F7F8F094B12C60E0CB -:10B6600070E080E09FE3B11641F020E030E040E27E -:10B6700051E40F948205B394F6CF9B01AC01C7014E -:10B68000B6010F94A2046B017C010F94EF054B01EE -:10B690005C010F941B069B01AC01C701B6010F941E -:10B6A000A1046B017C012AE0B501A401CE01A8DE52 -:10B6B000112361F0E1E3FEE08191882339F090915C -:10B6C000C00095FFFCCF8093C600F6CF112319F17F -:10B6D00020E030E040E251E4C701B6010F94500889 -:10B6E0006B017C010F94EA054B01AA2497FCA094FE -:10B6F000BA2CB501A401CE014BDFC501B4010F94F2 -:10B700001D069B01AC01C701B6010F94A1046B019A -:10B710007C011150DBCFDF91CF911F91FF90EF9013 -:10B72000DF90CF90BF90AF909F908F90089572CF91 -:10B73000CF93DF931F92CDB7DEB7698341E050E02E -:10B74000BE016F5F7F4F04960E9425380F90DF91F6 -:10B75000CF910895FB0101900020E9F7AF0141501E -:10B760005109461B570B04960C9425388091D91724 -:10B77000811109C08091D817811105C08091D71718 -:10B78000811101C00895EFE4F3E58491882341F02D -:10B790009091C00095FFFCCF8093C6003196F5CF05 -:10B7A000E091BB13F0E0EE0FFF1FE85DFD4F01904D -:10B7B000F081E02DE455FE4F0190F081E02D849161 -:10B7C000882341F09091C00095FFFCCF8093C60084 -:10B7D0003196F5CF8091D917882371F16091DA17EE -:10B7E0007091DB178091DC179091DD170F941D0687 -:10B7F0002091061E3091071E4091081E5091091E8F -:10B800000F948205AB01BC0187EF97E50E94836529 -:10B81000E091BB13F0E0EE0FFF1FE85DFD4F0190DC -:10B82000F081E02DE455FE4F65EF77E58081918151 -:10B830000E94284F0E946BAB8091D817882371F12A -:10B840006091DE177091DF178091E0179091E117FA -:10B850000F941D0620910A1E30910B1E40910C1E64 -:10B8600050910D1E0F948205AB01BC0181EF97E54D -:10B870000E948365E091BB13F0E0EE0FFF1FE85DCF -:10B88000FD4F0190F081E02DE455FE4F6FEE77E51E -:10B89000808191810E94284F0E946BAB8091D717C5 -:10B8A000882371F16091E2177091E3178091E4179A -:10B8B0009091E5170F941D0620910E1E30910F1EDA -:10B8C0004091101E5091111E0F948205AB01BC01D6 -:10B8D0008BEE97E50E948365E091BB13F0E0EE0FDD -:10B8E000FF1FE85DFD4F0190F081E02DE455FE4F14 -:10B8F00069EE77E5808191810E94284F0E946BABB1 -:10B900008091C00085FFFCCF8AE08093C600109232 -:10B91000D9171092D8171092D71708951092D917E7 -:10B920001092D8171092D717089580937F0C08951E -:10B93000EFE6F0E080818260808308951F920F928D -:10B940000FB60F9211240BB60F920F931F932F93E4 -:10B950003F934F935F936F937F938F939F93AF9397 -:10B96000BF93EF93FF9380910A1890910B18892B46 -:10B9700009F09EC19091D2188091D118981771F05A -:10B98000E091D1188DE4E89FF0011124ED52F74EBB -:10B99000DF01A45BBF4F81E08C9302C0E0E0F0E0E8 -:10B9A000F0930B18E0930A18309709F47BC1DF017C -:10B9B000A45BBF4F81E08C931092ED171092EE17AD -:10B9C0001092EF171092F01760AD71AD61349CE9E1 -:10B9D000790728F461329EE4790748F002C060E4F8 -:10B9E0007CE9769567957695679584E007C0613127 -:10B9F00097E2790730F07695679582E08093EA17B1 -:10BA000007C08093EA176032710510F460E270E0BD -:10BA100060527109611588E07807D0F0872F992767 -:10BA2000880F991F880F991F8550944AFC01329600 -:10BA300045915491AA27659F9001649F210D3A1F5B -:10BA400006942A1F3A1F1124FC01859194911DC070 -:10BA5000CB01969587958C7F8550984AFC0145913E -:10BA600054910296FC0185919491FB01E770FF27A8 -:10BA70008E9F90018F9F300D9E9F300D112403E00B -:10BA8000369527950A95E1F7CA01821B930B8436F8 -:10BA9000910500F5E091BB13F0E0EE0FFF1FE85DAC -:10BAA000FD4F0190F081E02DE655FE4F0190F081B1 -:10BAB000E02D8191882339F09091C00095FFFCCF53 -:10BAC0008093C600F6CF4AE050E08BE397E196DD25 -:10BAD00084E690E09093E9178093E8178091EA1745 -:10BAE000992787FD90959093E7178093E617E0914B -:10BAF0000A18F0910B1864AD75AD7093EC17609354 -:10BB0000EB1761349CE9790728F461328EE47807F9 -:10BB100048F002C060E47CE9769567957695679574 -:10BB200084E007C0613197E2790730F07695679538 -:10BB300082E08093EA1708C081E08093EA176032C0 -:10BB4000710510F460E270E060527109611588E0DF -:10BB50007807E0F0872F9927880F991F880F991F82 -:10BB60008550944AFC01329625913491AA27639F0F -:10BB7000A001629F410D5A1F06944A1F5A1F1124AB -:10BB8000FC0125913491241B350B1EC0CB019695E9 -:10BB900087958C7F8550984AFC01259134910296B7 -:10BBA000FC0145915491FB01E770FF274E9FC001B6 -:10BBB0004F9F900D5E9F900D112443E096958795C1 -:10BBC0004A95E1F7281B390B2436310500F5E09141 -:10BBD000BB13F0E0EE0FFF1FE85DFD4F0190F08119 -:10BBE000E02DE655FE4F0190F081E02D81918823F4 -:10BBF00039F09091C00095FFFCCF8093C600F6CF3E -:10BC00004AE050E08BE397E1F9DC24E630E0C9013B -:10BC1000A0E0B0E08093F1179093F217A093F31790 -:10BC2000B093F4173093890020938800E0910A18AC -:10BC3000F0910B1880899189A289B389B695A7954F -:10BC400097958795B095A095909581959F4FAF4F0B -:10BC5000BF4F8093051890930618A0930718B093D0 -:10BC600008188093011890930218A0930318B093BA -:10BC700004188093FD179093FE17A093FF17B093BD -:10BC800000188093F9179093FA17A093FB17B093BD -:10BC9000FC171092F5171092F6171092F7171092E2 -:10BCA000F81706C080ED97E0909389008093880094 -:10BCB000E0910A18F0910B18309709F4A1C580A102 -:10BCC000809309189FB780FF09C0F89480910B01F9 -:10BCD0008D7F80930B019FBF8FEF08C0F8948091F8 -:10BCE0000B01826080930B019FBF81E080937B0CEE -:10BCF000809109189FB781FF09C0F89480910B01CA -:10BD00008E7F80930B019FBF8FEF08C0F8948091C6 -:10BD10000B01816080930B019FBF81E080937C0CBD -:10BD20002091091830917F0C20FF3BC0332309F488 -:10BD300072C01E9902C080E031C08091D61788235E -:10BD400061F1E0910A18F0910B1880819181A28134 -:10BD5000B381181619061A061B06FCF48091C01749 -:10BD60009091C117A091C217B091C3178093DA17B1 -:10BD70009093DB17A093DC17B093DD1781E08093DD -:10BD8000D91780899189A289B3898093F5179093F7 -:10BD9000F617A093F717B093F81781E08093D617A2 -:10BDA0003AC03323C1F140B151E042FB442740F98E -:10BDB000452779F18091D517882359F1E0910A1828 -:10BDC000F0910B1880819181A281B3811816190618 -:10BDD0001A061B06F4F48091C0179091C117A09128 -:10BDE000C217B091C3178093DA179093DB17A09313 -:10BDF000DC17B093DD175093D91780899189A289F8 -:10BE0000B3898093F5179093F617A093F717B09323 -:10BE1000F8174093D51721FF3BC0332309F471C0B5 -:10BE20001D9902C080E031C08091D417882361F150 -:10BE3000E0910A18F0910B1884819581A681B78151 -:10BE4000181619061A061B06FCF48091C417909167 -:10BE5000C517A091C617B091C7178093DE179093AE -:10BE6000DF17A093E017B093E11781E08093D81714 -:10BE700080899189A289B3898093F5179093F617E9 -:10BE8000A093F717B093F81781E08093D41739C0C7 -:10BE90003323B9F130B141E036953170342779F16F -:10BEA0008091D317882359F1E0910A18F0910B186B -:10BEB00084819581A681B781181619061A061B067A -:10BEC000F4F48091C4179091C517A091C617B09152 -:10BED000C7178093DE179093DF17A093E017B093F6 -:10BEE000E1174093D81780899189A289B3898093FB -:10BEF000F5179093F617A093F717B093F8173093B0 -:10BF0000D3179FB722FF47C0F89480910B018B7F16 -:10BF100080930B019FBF8FEF80937D0C80917F0CEE -:10BF2000882309F47DC01C9902C080E031C0809153 -:10BF3000D217882361F1E0910A18F0910B188085DF -:10BF40009185A285B385181619061A061B06FCF4FE -:10BF50008091C8179091C917A091CA17B091CB17BB -:10BF60008093E2179093E317A093E417B093E5173B -:10BF700081E08093D71780899189A289B3898093C2 -:10BF8000F5179093F617A093F717B093F81781E081 -:10BF90008093D21745C0F89480910B018460809300 -:10BFA0000B019FBF31E030937D0C80917F0C882383 -:10BFB000B9F126B12095221F2227221F79F1809105 -:10BFC000D117882359F1E0910A18F0910B18808558 -:10BFD0009185A285B385181619061A061B06F4F476 -:10BFE0008091C8179091C917A091CA17B091CB172B -:10BFF0008093E2179093E317A093E417B093E517AB -:10C000003093D71780899189A289B3898093F517D6 -:10C010009093F617A093F717B093F8172093D117C2 -:10C02000809109189FB783FF09C0F89480910B0194 -:10C03000806480930B019FBF8FEF08C0F8948091BC -:10C040000B018F7B80930B019FBF81E080937E0C5F -:10C0500020E08091EA1728170CF0ADC18091C00054 -:10C0600087FF19C03091C6004091BC175091BD1791 -:10C07000CA0101968F7799276091BE177091BF17FB -:10C080008617970741F0FA01E45CF84E30839093ED -:10C09000BD178093BC17E0910A18F0910B1880919E -:10C0A000051890910618A0910718B09108184081C2 -:10C0B000518162817381840F951FA61FB71F8093E2 -:10C0C000051890930618A0930718B093081818162F -:10C0D00019061A061B06CCF5409AE0910A18F09151 -:10C0E0000B188091051890910618A0910718B0912F -:10C0F00008184089518962897389841B950BA60BA6 -:10C10000B70B8093051890930618A0930718B09367 -:10C11000081840917B0C8091C0179091C117A09195 -:10C12000C217B091C317552747FD5095652F752F3E -:10C13000840F951FA61FB71F8093C0179093C11738 -:10C14000A093C217B093C3174098E0910A18F091DA -:10C150000B188091011890910218A0910318B091CA -:10C1600004184481558166817781840F951FA61F2D -:10C17000B71F8093011890930218A0930318B093EF -:10C180000418181619061A061B06CCF5419AE091F8 -:10C190000A18F0910B188091011890910218A09143 -:10C1A0000318B09104184089518962897389841BEE -:10C1B000950BA60BB70B8093011890930218A093D0 -:10C1C0000318B093041840917C0C8091C41790918F -:10C1D000C517A091C617B091C717552747FD5095B1 -:10C1E000652F752F840F951FA61FB71F8093C41747 -:10C1F0009093C517A093C617B093C7174198E091C5 -:10C200000A18F0910B188091FD179091FE17A091DC -:10C21000FF17B09100184085518562857385840FA2 -:10C22000951FA61FB71F8093FD179093FE17A0932D -:10C23000FF17B0930018181619061A061B06CCF53E -:10C24000429AE0910A18F0910B188091FD17909195 -:10C25000FE17A091FF17B09100184089518962899B -:10C260007389841B950BA60BB70B8093FD179093D6 -:10C27000FE17A093FF17B093001840917D0C80919A -:10C28000C8179091C917A091CA17B091CB1755271D -:10C2900047FD5095652F752F840F951FA61FB71F5B -:10C2A0008093C8179093C917A093CA17B093CB1760 -:10C2B0004298E0910A18F0910B188091F91790912B -:10C2C000FA17A091FB17B091FC1744855585668538 -:10C2D0007785840F951FA61FB71F8093F91790933A -:10C2E000FA17A093FB17B093FC17181619061A0635 -:10C2F0001B06CCF5439AE0910A18F0910B18809137 -:10C30000F9179091FA17A091FB17B091FC1740898B -:10C31000518962897389841B950BA60BB70B809397 -:10C32000F9179093FA17A093FB17B093FC1740915D -:10C330007E0C8091CC179091CD17A091CE17B09123 -:10C34000CF17552747FD5095652F752F840F951FE3 -:10C35000A61FB71F8093CC179093CD17A093CE172D -:10C36000B093CF1743988091F5179091F617A0914D -:10C37000F717B091F8170196A11DB11D8093F5171D -:10C380009093F617A093F717B093F8174091F5170D -:10C390005091F6176091F7177091F817E0910A180D -:10C3A000F0910B1880899189A289B38948175907A0 -:10C3B0006A077B07B0F04091F5175091F61760912E -:10C3C000F7177091F817E0910A18F0910B1884890B -:10C3D0009589A689B78984179507A607B70718F422 -:10C3E000E6C02F5F36CE4091F1175091F217609161 -:10C3F000F3177091F417048D158D268D378DAA27AC -:10C40000419FB12D529FC001629F900D619F800D91 -:10C41000911D429FB00D811D9A1F519FB00D811D2E -:10C420009A1F609FB00D811D9A1F509FB10D8A1FEA -:10C430009A1FB6958A1F9A1F112444AD55AD480F17 -:10C44000591F5093EC174093EB1780AD91ADA2ADFF -:10C45000B3AD60E070E084179507A607B70720F436 -:10C460009093EC178093EB176091EB177091EC179A -:10C4700061349CE9790728F461328EE4780748F04A -:10C4800002C060E47CE9769567957695679584E0CF -:10C4900007C0613197E2790730F07695679582E0C1 -:10C4A0008093EA1708C081E08093EA176032710533 -:10C4B00010F460E270E060527109611588E078075D -:10C4C000E0F0872F9927880F991F880F991F8550B3 -:10C4D000944AFC01329625913491AA27639FA001CA -:10C4E000629F410D5A1F06944A1F5A1F1124FC01D6 -:10C4F00025913491241B350B1EC0CB019695879551 -:10C500008C7F8550984AFC01259134910296FC015C -:10C5100045915491FB01E770FF274E9FC0014F9F4B -:10C52000900D5E9F900D112443E0969587954A9556 -:10C53000E1F7281B390B2436310500F5E091BB13D8 -:10C54000F0E0EE0FFF1FE85DFD4F0190F081E02D60 -:10C55000E655FE4F0190F081E02D8191882339F05E -:10C560009091C00095FFFCCF8093C600F6CF4AE0C3 -:10C5700050E08BE397E142D824E630E03093890025 -:10C58000209388008091F1179091F217A091F317F2 -:10C59000B091F417820F931FA11DB11D8093F11765 -:10C5A0009093F217A093F317B093F41704C140913E -:10C5B000F5175091F6176091F7177091F817808D65 -:10C5C000918DA28DB38D84179507A607B70708F044 -:10C5D000E6C04091ED175091EE176091EF17709102 -:10C5E000F017048D158D268D378DAA27419FB12D0B -:10C5F000529FC001629F900D619F800D911D429FCF -:10C60000B00D811D9A1F519FB00D811D9A1F609F13 -:10C61000B00D811D9A1F509FB10D8A1F9A1FB695AC -:10C620008A1F9A1F11242091EB173091EC17E05CC0 -:10C63000FF4F2817390718F42081318102C0281BC9 -:10C64000390B80819181A281B381A90160E070E002 -:10C65000481759076A077B0708F49C0121349CE9B5 -:10C66000390728F421328EE4380748F002C020E46C -:10C670003CE9369527953695279584E007C021310A -:10C6800097E2390730F03695279582E08093EA17D4 -:10C6900008C081E08093EA172032310510F420E2CF -:10C6A00030E0B90160527109611588E07807E0F067 -:10C6B000872F9927880F991F880F991F8550944AB3 -:10C6C000FC01329625913491AA27639FA001629FB5 -:10C6D000410D5A1F06944A1F5A1F1124FC0125912F -:10C6E0003491241B350B1EC0CB01969587958C7F0A -:10C6F0008550984AFC01259134910296FC014591A0 -:10C700005491FB01E770FF274E9FC0014F9F900D92 -:10C710005E9F900D1124E3E096958795EA95E1F7E9 -:10C72000281B390B2436310508F5E091BB13F0E0E6 -:10C73000EE0FFF1FE85DFD4F0190F081E02DE65503 -:10C74000FE4F0190F081E02D8191882339F0909186 -:10C75000C00095FFFCCF8093C600F6CF4AE050E0C2 -:10C760008BE397E10E94FEDA24E630E03093890003 -:10C77000209388008091ED179091EE17A091EF170C -:10C78000B091F017820F931FA11DB11D8093ED177B -:10C790009093EE17A093EF17B093F0170CC0809111 -:10C7A000E8179091E9179093890080938800809111 -:10C7B000E6178093EA174091F5175091F6176091AC -:10C7C000F7177091F817E0910A18F0910B1880890B -:10C7D0009189A289B389481759076A077B0780F0B6 -:10C7E00010920B1810920A189091D2188091D118BB -:10C7F000981731F08091D1188F5F8F708093D11886 -:10C80000FF91EF91BF91AF919F918F917F916F9128 -:10C810005F914F913F912F911F910F910F900BBE00 -:10C820000F900FBE0F901F9018959091D218809185 -:10C83000D118981741F00E941A4780E00E94BD75F8 -:10C840000E9404AEF2CF0895CF93DF93EFB7F89430 -:10C85000EC0188819981AA81BB818093C017909354 -:10C86000C117A093C217B093C317EB0188819981B8 -:10C87000AA81BB818093C4179093C517A093C61754 -:10C88000B093C717EA0188819981AA81BB818093FF -:10C89000C8179093C917A093CA17B093CB17E90193 -:10C8A00088819981AA81BB818093CC179093CD1701 -:10C8B000A093CE17B093CF17EFBFDF91CF9108951C -:10C8C0002FB7F894FC0180819181A281B38180937C -:10C8D000CC179093CD17A093CE17B093CF172FBF3F -:10C8E00008952FB7F89494E0899FF0011124E05443 -:10C8F000F84E60817181828193812FBF0895CF931B -:10C90000C82FEFDF0F941D0624E0C29FF001112411 -:10C91000EA5FF14E20813181428153810F9482057B -:10C92000CF91089582DF179A10928E13169A109263 -:10C930008F13149A089580916F008D7F80936F00FC -:10C940009091D2188091D118981769F09091D218CF -:10C950008091D1189817A1F38091D1188F5F8F70B3 -:10C960008093D118EDCF10920B1810920A18809175 -:10C970006F00826080936F000895813039F120F05C -:10C98000823009F445C0089517988091090182709A -:10C990002FB7662329F0F89490910B01926004C0A0 -:10C9A000F89490910B019D7F90930B012FBF409ABB -:10C9B00040989FB7882329F0F89480910B018260FA -:10C9C00048C0F89480910B018D7F43C016988091E8 -:10C9D000090181702FB7662329F0F89490910B011B -:10C9E000916004C0F89490910B019E7F90930B018D -:10C9F0002FBF419A41989FB7882329F0F8948091DE -:10CA00000B01816026C0F89480910B018E7F21C0BC -:10CA100015988091090184702FB7662329F0F89446 -:10CA200090910B01946004C0F89490910B019B7F4E -:10CA300090930B012FBF429A42989FB7882329F009 -:10CA4000F89480910B01846004C0F89480910B01EC -:10CA50008B7F80930B019FBF0895EF92FF920F93FE -:10CA60001F93CF93DF931F92CDB7DEB77B018C016D -:10CA7000061B170B460FC701800F911F49830F94A8 -:10CA80006611F70181937F0149814E13F4CF0F9016 -:10CA9000DF91CF911F910F91FF90EF900895DB01EF -:10CAA00081110DC02FEF30E00F949D0920ED37E08C -:10CAB00040E050E00F947B09B9018EE21DC0813047 -:10CAC00069F42FEF30E00F949D0920ED37E040E04E -:10CAD00050E00F947B09B9018DE20EC0823071F4F1 -:10CAE0002FEF30E00F949D0920ED37E040E050E05B -:10CAF0000F947B09B9018CE20C94DEFC089541E0AF -:10CB000060ED77E18FEF9FE0A8DF61E08EE20E94A9 -:10CB1000E8FD61E08DE20E94E8FD61E08CE20E94A8 -:10CB2000E8FD8091D017811115C08091800C909103 -:10CB3000810C90938D0C80938C0C8091820C909141 -:10CB4000830C90938F0C80938E0C8091840C909129 -:10CB5000850C14C08091860C9091870C90938D0C5D -:10CB600080938C0C8091880C9091890C90938F0C01 -:10CB700080938E0C80918A0C90918B0C9093910CE9 -:10CB80008093900C60918C0C70918D0C80E087DF0D -:10CB900060918E0C70918F0C81E081DFA091900CE0 -:10CBA000B091910C2FEF30E00F949D0920ED37E00C -:10CBB00040E050E00F947B09B9018CE20E94DEFC5A -:10CBC00080912101887F8160809321010895CF9316 -:10CBD000C42F67FD20C0813061F028F0823079F0E9 -:10CBE000833099F018C088E20E9421FEC7FF1DC063 -:10CBF0002AC085E40E9421FEC7FF1AC024C084E435 -:10CC00000E9421FEC7FF17C01EC081E40E9421FEC2 -:10CC1000C7FF14C018C0C7FD16C0813049F028F006 -:10CC2000823049F0833051F00EC06C2F89E208C089 -:10CC30006C2F87E205C06C2F83E402C06C2F82E466 -:10CC4000CF910C9421FECF910895643079F028F4AF -:10CC5000613041F0623041F00895683051F0603148 -:10CC600041F0089540E003C040E004C041E060E0CE -:10CC700002C041E061E0ABCFFF920F931F93CF93CF -:10CC8000DF9300D01F921F92CDB7DEB785E0E7E1BA -:10CC9000FDE0DE01119601900D928A95E1F761E0C9 -:10CCA00088E20E94E8FD61E089E20E94E8FD61E01F -:10CCB00085E40E94E8FD61E087E20E94E8FD61E012 -:10CCC00084E40E94E8FD61E083E40E94E8FD61E005 -:10CCD00081E40E94E8FD61E082E40E94E8FD8E01AB -:10CCE0000F5F1F4FF12CF80161918F018F2DADDF88 -:10CCF000F394F5E0FF12F7CF0F900F900F900F9085 -:10CD00000F90DF91CF911F910F91FF900895F7DE63 -:10CD1000B3DFEAE0F1E0808182608083808181601E -:10CD200080838081846080838081806480830F9A87 -:10CD3000179A0E9A169A0D9A159A0C9A149A269882 -:10CD40002E9A25982D9A24982C9A0A98129A099826 -:10CD5000119A3F98479A389A4098179A10928E13D2 -:10CD6000399A4198169A10928F133A9A42983B9AA0 -:10CD70004398149AA1E8B0E08C918F7E8C938C91AB -:10CD800088608C93E0E8F0E080818D7F80838081F3 -:10CD90008E7F808380818F73808380818F7C80836E -:10CDA0008C91887F82608C9380E090E490938900DE -:10CDB000809388001092850010928400EFE6F0E0E6 -:10CDC00080818260808381E080937F0C78940895D5 -:10CDD000EBEDF7E58491882341F09091C00095FF39 -:10CDE000FCCF8093C6003196F5CFE7EDF7E584914F -:10CDF000882341F09091C00095FFFCCF8093C6003E -:10CE00003196F5CF88E20E9456FE4AE050E0BC0120 -:10CE10008BE397E10E94C1DA89E20E9456FE4AE064 -:10CE200050E0BC018BE397E10E94C1DA8091C00021 -:10CE300085FFFCCF8AE08093C600E3EDF7E584919F -:10CE4000882341F09091C00095FFFCCF8093C600ED -:10CE50003196F5CF85E40E9456FE4AE050E0BC01D1 -:10CE60008BE397E10E94C1DA87E20E9456FE4AE016 -:10CE700050E0BC018BE397E10E94C1DA8091C000D1 -:10CE800085FFFCCF8AE08093C600EFECF7E5849144 -:10CE9000882341F09091C00095FFFCCF8093C6009D -:10CEA0003196F5CF84E40E9456FE4AE050E0BC0182 -:10CEB0008BE397E10E94C1DA83E40E9456FE4AE0C8 -:10CEC00050E0BC018BE397E10E94C1DA8091C00081 -:10CED00085FFFCCF8AE08093C600EAECF7E58491F9 -:10CEE000882341F09091C00095FFFCCF8093C6004D -:10CEF0003196F5CF81E40E9456FE4AE050E0BC0135 -:10CF00008BE397E10E94C1DA82E40E9456FE4AE078 -:10CF100050E0BC018BE397E10E94C1DA8091C00030 -:10CF200085FFFCCF8AE08093C6000895CF93DF93FE -:10CF30001F92CDB7DEB720911C1F30911D1FCE016F -:10CF400001962115310519F0821B930B02C0825204 -:10CF50009F410F90DF91CF910895FC01108220E056 -:10CF600030E040E050E0BC01620F731FFB01E40FB2 -:10CF7000F51F11821282138214824C5F5F4F4C3175 -:10CF80005105A1F7245E3F4F243C310551F7089528 -:10CF90002F923F924F925F926F927F928F929F92C9 -:10CFA000AF92BF92CF92DF92EF92FF920F931F93B7 -:10CFB000CF93DF93CDB7DEB760970FB6F894DEBF9F -:10CFC0000FBECDBF8B839D838B879C8703E010E0D2 -:10CFD000EB85FC8581859285A385B485818F928FB1 -:10CFE000A38FB48F85819681A781B0858587968729 -:10CFF000A787B08B22242394312CF3E02F16310421 -:10D0000009F491C0B101882777FD8095982F0F947E -:10D010001D0625E535E547E052E40F94500820E071 -:10D0200030E04CE052E40F94A2046B017C0120E05C -:10D0300030E848E053E40F94A1042B013C0120E0C8 -:10D0400030E04EE653E4C701B6010F94A1044B0152 -:10D050005C0120E030E04CE052E4C701B6010F94DF -:10D06000A1046B017C019101220F331F220F331F9A -:10D070008B859C85280F391F3A832983FC012181E8 -:10D08000328143815481C301B2010F945008A5013C -:10D0900094010F94500820E039EF40EA56E40F94D1 -:10D0A00082056F83788789879A87EB85FC8525853C -:10D0B000368547855089C701B6010F945008A501F0 -:10D0C00094010F94500820E039EF40E256EC0F94A1 -:10D0D00082059B01AC016F81788589859A850F94C3 -:10D0E000A2044B015C01EB85FC85218D328D438DC3 -:10D0F000548DC701B6010F945008A30192010F94FB -:10D10000500820E039EF40EA56E40F9482059B0175 -:10D11000AC01C501B4010F94A204E981FA816183D5 -:10D12000728383839483FFEF2F1A3F0A26E022162F -:10D13000310409F062CF015011098B859C854C9612 -:10D140009C878B870115110509F042CF9B819F8732 -:10D15000ED81E88B27E030E03A832983EF85F88979 -:10D1600081AD92ADA3ADB4ADE755FF4FFC83EB832A -:10D1700080839183A283B383EF85F889858D968D13 -:10D18000A78DB0A1EB5AFF4FFE83ED83808391837F -:10D19000A283B383212C312C01E010E00330110570 -:10D1A00009F48DC0B801882777FD8095982F0F94DA -:10D1B0001D062BEA3AEA42E052E40F94500820E0C0 -:10D1C00030E040EC50E40F94A2046B017C0120E0BD -:10D1D00030E040ED52E40F94A1042B013C0120E02B -:10D1E00030E04AE453E4C701B6010F94A1044B01B7 -:10D1F0005C0120E030E040EC50E4C701B6010F9440 -:10D20000A1046B017C012F853889220D331D3887DD -:10D210002F83EF85F8892181328143815481C301B5 -:10D22000B2010F945008A50194010F94500820E01A -:10D2300030E146E956E40F9482056B877C878D8741 -:10D240009E87ED81FE812081318142815381C7011A -:10D25000B6010F945008A50194010F94500820E0E6 -:10D2600030E146E156EC0F9482059B01AC016B85E1 -:10D270007C858D859E850F94A2044B015C01EB811A -:10D28000FC812081318142815381C701B6010F9415 -:10D290005008A30192010F94500820E030E146E9C4 -:10D2A00056E40F9482059B01AC01C501B4010F94B3 -:10D2B000A204EF81F885658F768F878F90A30F5F2B -:10D2C0001F4FFCE12F0E311C0630110509F066CF0F -:10D2D00029813A81215031093A8329838F859889A0 -:10D2E0000496988B8F87232B09F038CF60960FB662 -:10D2F000F894DEBF0FBECDBFDF91CF911F910F918C -:10D30000FF90EF90DF90CF90BF90AF909F908F9065 -:10D310007F906F905F904F903F902F9008958CE09A -:10D3200098E11BCE2F923F924F925F926F927F9225 -:10D330008F929F92AF92BF92CF92DF92EF92FF9225 -:10D340000F931F93CF93DF93CDB7DEB760970FB6E0 -:10D35000F894DEBF0FBECDBF1C012A013B0148017E -:10D36000590120E030E04CE052E4C301B2010F94D7 -:10D37000A10425E535E547E052E40F9482056B01F1 -:10D380007C010F9458060F94EA058B0177FF12C0B9 -:10D3900020E030E040E85FE3C701B6010F947E076C -:10D3A00018160CF05DC0C12CD12C70E8E72E7FE37D -:10D3B000F72E56C066307105DCF02AEA3AE24CE4FA -:10D3C00053E4C301B2010F94A10425E535E547E01C -:10D3D00052E40F9482056B017C0120E030E0A9014A -:10D3E0000F947B0587FF3FC0C12CD12C76013BC039 -:10D3F000882777FD8095982F0F941D0625E535E544 -:10D4000047E052E40F94500820E030E04CE052E452 -:10D410000F94A2049B01AC01C301B2010F94A104BB -:10D4200025E535E547E052E40F9482056B017C0168 -:10D4300020E030E0A9010F947B0587FD17C020E0B4 -:10D4400030E040E85FE3C701B6010F947E0718168D -:10D4500084F4C12CD12C60E8E62E6FE3F62E09C0CF -:10D4600000E010E006C005E010E003C0C12CD12CA4 -:10D47000760120E030E040EC50E4C501B4010F94A7 -:10D48000A1042BEA3AEA42E052E40F9482052B0110 -:10D490003C010F9458060F94EA05788B6F8777FF4D -:10D4A00012C020E030E040E85FE3C301B2010F9416 -:10D4B0007E0718160CF05FC0412C512C50E8652EE9 -:10D4C0005FE3752E58C0AF85B8891697E4F026E55E -:10D4D00035E549E253E4C501B4010F94A1042BEAF8 -:10D4E0003AEA42E052E40F9482052B013C0120E02D -:10D4F00030E0A9010F947B0587FD40C0E5E0F0E036 -:10D50000F88BEF8746C0882777FD8095982F0F947A -:10D510001D062BEA3AEA42E052E40F94500820E05C -:10D5200030E040EC50E40F94A2049B01AC01C50133 -:10D53000B4010F94A1042BEA3AEA42E052E40F94BA -:10D5400082052B013C0120E030E0A9010F947B050E -:10D5500087FD1CC020E030E040E85FE3C301B2017A -:10D560000F947E071816ACF4412C512C40E8642E21 -:10D570004FE3742E0EC0188A1F860BC0412C512C0D -:10D58000320125E030E0388B2F8703C0412C512C2D -:10D590003201A701960160E070E080E89FE30F94FC -:10D5A000A10469837A838B839C83C80101969E833F -:10D5B0008D83AF85B8891196BA87A987A301920197 -:10D5C00060E070E080E89FE30F94A1046B877C87A4 -:10D5D0008D879E8747E02F853889429FF001439FC2 -:10D5E000F00D1124F887EF83E00FF11FEE0FFF1FFE -:10D5F000EE0FFF1FE20DF31D218132814381548123 -:10D6000069817A818B819C810F9450084B015C0168 -:10D61000EF81F8858D819E81E80FF91FEE0FFF1FC6 -:10D62000EE0FFF1FE20DF31D2181328143815481F2 -:10D63000C701B6010F9450089B01AC01C501B401AC -:10D640000F94A2049B01AC016B857C858D859E8522 -:10D650000F9450084B015C0127E0E985FA852E9F65 -:10D66000D0012F9FB00D1124B887AF83FD01E00FCB -:10D67000F11FEE0FFF1FEE0FFF1FE20DF31D2181C3 -:10D6800032814381548169817A818B819C810F949D -:10D69000500869837A838B839C83AF81B8858D81A1 -:10D6A0009E81A80FB91FAA0FBB1FAA0FBB1FA20DF7 -:10D6B000B31D11962D913D914D915C911497C70129 -:10D6C000B6010F9450089B01AC0169817A818B816E -:10D6D0009C810F94A2049B01AC01C301B2010F9481 -:10D6E00050089B01AC01C501B4010F94A2046096DF -:10D6F0000FB6F894DEBF0FBECDBFDF91CF911F9163 -:10D700000F91FF90EF90DF90CF90BF90AF909F90E0 -:10D710008F907F906F905F904F903F902F900895E3 -:10D720002F923F924F925F926F927F928F929F9231 -:10D73000AF92BF92CF92DF92EF92FF920F931F931F -:10D74000CF93DF93CDB7DEB768970FB6F894DEBFFF -:10D750000FBECDBF1C012A013B0148015901DC016C -:10D76000D8966D917D918D919C91DB970F941B06BE -:10D770006B017C01A30192010F9450080F9468057E -:10D780000F94EF0569877A878B879C87A5019401A1 -:10D79000C701B6010F9450080F9468050F94EF0568 -:10D7A0006D877E878F87988B29853A854B855C8529 -:10D7B000283731054105510540F488E790E0A0E0A5 -:10D7C000B0E089879A87AB87BC872D853E854F85DA -:10D7D0005889283731054105510540F488E790E024 -:10D7E000A0E0B0E08D879E87AF87B88B91012C5B5E -:10D7F0003F4FD9018D919D910D90BC91A02D8D83AE -:10D800009E83AF83B887BC01CD010F941D06698349 -:10D810007A838B839C8369857A858B859C850F941D -:10D820001B06698B7A8B8B8B9C8B20E030E0A901E7 -:10D8300069817A818B819C810F947B05882339F1E2 -:10D84000A7019601C701B6010F9450084B015C0176 -:10D8500029893A894B895C89CA01B9010F9450081A -:10D860009B01AC01C501B4010F94A1044B015C0103 -:10D8700029813A814B815C81CA01B9010F94A204CC -:10D880009B01AC01C501B4010F94820503C060E0A7 -:10D8900070E0CB010F9468050F94EA052B013C0161 -:10D8A0006D817E818F819885909580957095619529 -:10D8B0007F4F8F4F9F4F0F941D064B015C016D856D -:10D8C0007E858F8598890F941B066D837E838F8359 -:10D8D000988720E030E0A901C501B4010F947B05D1 -:10D8E000882349F12D813E814F815885CA01B901B4 -:10D8F0000F9450086D8B7E8B8F8B988FA7019601AC -:10D90000C701B6010F9450089B01AC016D897E8957 -:10D910008F89988D0F94A1046B017C01A50194015E -:10D92000C501B4010F94A2049B01AC01C701B6016B -:10D930000F94820503C060E070E0CB010F9458069D -:10D94000F10180889188A288B38875016401C418A8 -:10D95000D508E608F7080F94EA05C61AD70AE80AB8 -:10D96000F90AF7FE6BC020E030E0A90169817A81F5 -:10D970008B819C810F947B05882309F447C0298102 -:10D980003A814B815C81CA01B9010F94A2046B01F9 -:10D990007C01C501B4010F941B069B01AC01C701BA -:10D9A000B6010F9450086B017C0129893A894B8993 -:10D9B0005C89CA01B9010F9450089B01AC01C701F1 -:10D9C000B6010F94A1046B017C012D813E814F8132 -:10D9D0005885CA01B9010F9450089B01AC01C701D9 -:10D9E000B6010F94A2046B017C0120E030E040E816 -:10D9F00050E469817A818B819C810F9450089B014E -:10DA0000AC01C701B6010F94820503C060E070E06D -:10DA1000CB010F9468050F94EA052B013C0197FF99 -:10DA200003C0412C512C3201481459046A047B0470 -:10DA300010F024013501C12CD12C76018FB7F89458 -:10DA4000F101E45BFF4F9081911125C0D101549603 -:10DA50004D925D926D927C925797C40CD51CE61C3A -:10DA6000F71CF101C08ED18EE28EF38E29853A85A6 -:10DA70004B855C85DC962D933D934D935C93DF97AE -:10DA8000A05CBF4F2D853E854F8558892D933D93D2 -:10DA90004D935C9313978FBF68960FB6F894DEBFD3 -:10DAA0000FBECDBFDF91CF911F910F91FF90EF90EF -:10DAB000DF90CF90BF90AF909F908F907F906F90AE -:10DAC0005F904F903F902F9008954F925F926F928A -:10DAD0007F92AF92BF92CF92DF92EF92FF920F931D -:10DAE0001F93CF93DF93EB017A01209709F458C07D -:10DAF0004115510509F454C0AAA4BBA40CA51DA549 -:10DB00009501A8016EA17FA188A599A50F947B0519 -:10DB1000882309F445C08FA981113AC0F70146A0B6 -:10DB200057A060A471A4A3019201B501C8010F948C -:10DB30007E0718166CF5A3019201C301B2010F9480 -:10DB400050086B017C018AA99BA9ACA9BDA9BC01A5 -:10DB5000CD0190589B01AC010F94A2042EA53FA5C6 -:10DB600048A959A90F9450089B01AC01C701B601FF -:10DB70000F94A1040F94BD086B017C019B01AC01C3 -:10DB8000B501C8010F947B0587FD02C056018701CE -:10DB9000A501B8014EA35FA368A779A781E08EAB6A -:10DBA000DF91CF911F910F91FF90EF90DF90CF9079 -:10DBB000BF90AF907F906F905F904F900895DF92ED -:10DBC000EF92FF920F931F93CF93DF938091D21820 -:10DBD0008FB7F894E090D1188FBF8091D21890E061 -:10DBE0008E1991098F7099270497F4F01091D2182B -:10DBF00013501F7040E050E000E0F12CEDE4DE2E09 -:10DC00001E1591F0111101C010E11150D19EE001DB -:10DC10001124CD52D74E602F7F2DCE0156DF402FDD -:10DC20005F2D0C2FFD2EECCFDF91CF911F910F9127 -:10DC3000FF90EF90DF9008954F925F926F927F92E6 -:10DC4000AF92BF92CF92DF92EF92FF920F931F930A -:10DC5000CF93DF938C01EB01009709F453C0FC01D3 -:10DC600087A981114FC046A057A060A471A4AEA09F -:10DC7000BFA0C8A4D9A49501A601C301B2010F9405 -:10DC80007B0587FF3FC0A3019201C301B2010F943E -:10DC900050082B013C01F80182A993A9A4A9B5A9B8 -:10DCA000BC01CD0190589B01AC010F94A204F80176 -:10DCB00026A537A540A951A90F9450089B01AC0196 -:10DCC000C301B2010F94A1040F94BD087B018C0124 -:10DCD0009B01AC01B501C6010F947B0587FF02C013 -:10DCE000750186019701A801B501C6010F947B0556 -:10DCF000882341F0A701B8014EA35FA368A779A7C5 -:10DD000081E08EABDF91CF911F910F91FF90EF904B -:10DD1000DF90CF90BF90AF907F906F905F904F90CB -:10DD20000895EF92FF920F931F93CF93DF93F0909C -:10DD3000D11800E010E080E090E0FDE4EF2E2091AB -:10DD4000D218F21689F0EF9CE0011124CD52D74E83 -:10DD5000AE01B80171DF81E08F0D803109F480E000 -:10DD6000F82EC8018E01EBCF40E050E0B801DF9102 -:10DD7000CF911F910F91FF90EF905ECF4F925F92E6 -:10DD80006F927F928F929F92AF92BF92CF92DF92CB -:10DD9000EF92FF920F931F93CF93DF939090D11840 -:10DDA000C0E0D0E0ADE48A2E892D992787FD9095BB -:10DDB0002091D21830E082179307B9F1889E500164 -:10DDC000899EB00C1124C5018D52974E5C0120979D -:10DDD00029F18EA9811104C0F50186A98823F1F0EB -:10DDE000CAA0DBA0ECA0FDA0A7019601F50166A1E9 -:10DDF00077A180A591A50F9482052B013C01A70175 -:10DE000096016EA17FA188A599A50F948205AB010B -:10DE1000BC0193018201CE0183DC1EAA9394F0E140 -:10DE20009F1201C0912CE501BFCF2097E9F0CAA055 -:10DE3000DBA0ECA0FDA0A70196016DEC7CEC8CE4CE -:10DE40009DE30F9482054B015C01A70196016EA131 -:10DE50007FA188A599A50F948205AB01BC0195010E -:10DE60008401CE015DDC1EAADF91CF911F910F913D -:10DE7000FF90EF90DF90CF90BF90AF909F908F90EA -:10DE80007F906F905F904F90089599DE4ADF76CF34 -:10DE90001092D2181092D11880E1EAEBFDE1DF0177 -:10DEA0001D928A95E9F71092AA1D1092AB1D10924F -:10DEB000AC1D1092AD1D1092AE1D1092AF1D1092B0 -:10DEC000B01D1092B11D1092B21D1092B31D109290 -:10DED000B41D1092B51D1092B61D1092B71D109270 -:10DEE000B81D1092B91D1092A61D1092A71D109278 -:10DEF000A81D1092A91D0895609187139091D118C3 -:10DF00008091D218981781F08091D1189DE4899F53 -:10DF1000F0011124E55EF64E60819091D2188917C8 -:10DF200019F08F5F8F70F9CF70E086E00C94DEFC03 -:10DF30002F923F924F925F926F927F928F929F9219 -:10DF4000AF92BF92CF92DF92EF92FF920F931F9307 -:10DF5000CF93DF93CDB7DEB7CD56D1090FB6F89486 -:10DF6000DEBF0FBECDBF4C015B013A012901E9A61E -:10DF7000F9AE26960FAF26971DAFD8A6CFA2209157 -:10DF8000D2182F5F2A962FAF2A97203119F42A969C -:10DF90001FAE2A972A963FAD2A97032F112707FD18 -:10DFA00010958091D11890E08017910741F40E945C -:10DFB0001A4780E00E94BD750E9404AEF2CFD401E2 -:10DFC000CD90DD90ED90FC902091061E3091071EC3 -:10DFD0004091081E5091091EC701B6010F945008C8 -:10DFE0000F9420086E966CAF7DAF8EAF9FAF6E978B -:10DFF000F50180809180A280B38020910A1E30912B -:10E000000B1E40910C1E50910D1EC501B4010F94C2 -:10E0100050080F942008A2966CAF7DAF8EAF9FAFD3 -:10E02000A29780910C188823B9F095018401B7015B -:10E03000A6018CE098E176D9D3012D913D914D91C7 -:10E040005C910F94A20420910E1E30910F1E4091FE -:10E05000101E5091111E0DC020910E1E30910F1EEA -:10E060004091101E5091111EF301608171818281D7 -:10E0700093810F9450080F9420086A966CAF7DAF7F -:10E080008EAF9FAF6A972091121E3091131E409160 -:10E09000141E5091151ED2016D917D918D919C9110 -:10E0A0000F9450080F94200825966CAF7DAF8EAF6B -:10E0B0009FAF25978091C61D9091C71DA091C81D47 -:10E0C000B091C91D25962CAD3DAD4EAD5FAD2597E8 -:10E0D000281739074A075B0709F4C8C0E09189137C -:10E0E00034E0E39FF0011124E85BFE4E2091920C96 -:10E0F0003091930C4091940C5091950C60817181FA -:10E10000828193810F947B0587FF3CC025968CAD5F -:10E110009DADAEADBFAD25978093C61D9093C71D35 -:10E12000A093C81DB093C91DEFE4F3E58491882343 -:10E1300041F09091C00095FFFCCF8093C6003196CE -:10E14000F5CFE091BB13F0E0EE0FFF1FE85DFD4F50 -:10E150000190F081E02DE255FE4F0190F081E02D1D -:10E160008491882341F09091C00095FFFCCF80936B -:10E17000C6003196F5CF8091C00085FFFCCF8AE0C4 -:10E180008093C6008091C61D9091C71DA091C81DA7 -:10E19000B091C91D25962CAD3DAD4EAD5FAD259717 -:10E1A000281B390B4A0B5B0BCA01B90157FF07C08B -:10E1B00090958095709561957F4F8F4F9F4F0F94ED -:10E1C0001D066B017C0120E030E84AEE53E46091CB -:10E1D000121E7091131E8091141E9091151E0F94A3 -:10E1E00050089B01AC01C701B6010F947E071816B9 -:10E1F0000CF03CC025968CAD9DADAEADBFAD259766 -:10E200008093C61D9093C71DA093C81DB093C91DD0 -:10E21000EFE4F3E58491882341F09091C00095FFED -:10E22000FCCF8093C6003196F5CFE091BB13F0E0B0 -:10E23000EE0FFF1FE85DFD4F0190F081E02DE055EE -:10E24000FE4F0190F081E02D8491882341F0909160 -:10E25000C00095FFFCCF8093C6003196F5CF80912A -:10E26000C00085FFFCCF8AE08093C6008091D21861 -:10E270009DE4899F10011124D101AD52B74E1D01BB -:10E28000FD01E45BFF4F10822091BA1D3091BB1D50 -:10E290004091BC1D5091BD1D2BA33CA34DA35EA37B -:10E2A0006E964CAC5DAC6EAC7FAC6E97421A530A66 -:10E2B000640A750A77FE08C0709460945094409484 -:10E2C000411C511C611C711CD1014D925D926D92DB -:10E2D0007C9213972091BE1D3091BF1D4091C01DAF -:10E2E0005091C11D2DAB3EAB4FAB58AFA2968CAC3D -:10E2F0009DACAEACBFACA297821A930AA40AB50A31 -:10E30000B7FE08C0B094A09490948094811C911C96 -:10E31000A11CB11CD10114968D929D92AD92BC921C -:10E3200017972091C21D3091C31D4091C41D50917B -:10E33000C51D2DA73EA74FA758AB6A96CCACDDAC48 -:10E34000EEACFFAC6A97C21AD30AE40AF50AF7FEEC -:10E3500008C0F094E094D094C094C11CD11CE11C7E -:10E36000F11CD1011896CD92DD92ED92FC921B9793 -:10E370002091C61D3091C71D4091C81D5091C91DE7 -:10E3800029AB3AAB4BAB5CAB25966CAD7DAD8EAD9E -:10E390009FAD2597621B730B840B950B97FF07C0EE -:10E3A00090958095709561957F4F8F4F9F4F0F94FB -:10E3B0001D06E091891334E0E39FF0011124E95B2D -:10E3C000F34F20813181428153810F9450080F9483 -:10E3D000EA059B01AC01A091530CB091540C0F9431 -:10E3E000AD0924E630E040E050E00F947B09D10114 -:10E3F0001C962D933D934D935C931F97C814D9049D -:10E40000EA04FB0414F475016401C216D306E406A1 -:10E41000F50614F469017A01D301C2014C145D04BC -:10E420006E047F0414F4D701C601F101808B918B37 -:10E43000A28BB38B0697A105B10508F46DC7E85B05 -:10E44000FF4F8091871390918813AA2797FDA0957D -:10E45000BA2F80839183A283B3836E962CAD3DAD9A -:10E460004EAD5FAD6E978BA19CA1ADA1BEA128174B -:10E4700039074A075B0724F0D10190961C9203C02C -:10E4800081E0F10180A3A2962CAD3DAD4EAD5FAD14 -:10E49000A2978DA99EA9AFA9B8AD281739074A0739 -:10E4A0005B073CF4D10190968C9190978260909696 -:10E4B0008C936A962CAD3DAD4EAD5FAD6A978DA540 -:10E4C0009EA5AFA5B8A9281739074A075B073CF4F2 -:10E4D000D10190968C919097846090968C9325961C -:10E4E0002CAD3DAD4EAD5FAD259789A99AA9ABA9DD -:10E4F000BCA9281739074A075B073CF4D10190965D -:10E500008C919097886090968C93EFA1F8A580816C -:10E51000D10191968C9345284628472809F01798F1 -:10E52000F10184819581A681B781892B8A2B8B2B60 -:10E5300009F01698F10180859185A285B385892B14 -:10E540008A2B8B2B09F01598F10184859585A6857A -:10E55000B785892B8A2B8B2B71F18091A31D882382 -:10E5600019F081508093A31D8091A41D882319F078 -:10E5700081508093A41D8091A51D882319F081509E -:10E580008093A51DAFA1B8A58C91813061F030F0CA -:10E59000823089F480E28093A51D08C0149880E23F -:10E5A0008093A31D08C080E28093A41D8091A31DC9 -:10E5B000811101C0149AD1011C962D913D914D916C -:10E5C0005C911F972E962CAF3DAF4EAF5FAF2E974D -:10E5D000232B242B252B09F5B091DA1DBBA3E09149 -:10E5E000DB1DEFA31091DC1D0091DD1D2B2F3E2FB5 -:10E5F000412F502F69A579AD26968FAD26979DADF9 -:10E600000F947B0587FD16C0F9A5FBA329AD2FA3A9 -:10E6100026961FAD26970DAD0DC03091F21D3BA380 -:10E620004091F31D4FA31091F41D0091F51D232F70 -:10E63000342FDECF8091BA1D9091BB1DA091BC1DDF -:10E64000B091BD1D6E962CAD3DAD4EAD5FAD6E97DC -:10E65000281B390B4A0B5B0BCA01B9010F941D062D -:10E660002091061E3091071E4091081E5091091EF0 -:10E670000F94820569A77AA78BA79CA7698B7A8BD1 -:10E680008B8B9C8BA2966CAD7DAD8EAD9FADA29712 -:10E690002DA93EA94FA958AD621B730B840B950B96 -:10E6A0000F941D0620910A1E30910B1E40910C1EE6 -:10E6B00050910D1E0F9482054B015C016D8B7E8B7A -:10E6C0008F8B988F6A966CAD7DAD8EAD9FAD6A973E -:10E6D0002DA53EA54FA558A9621B730B840B950B66 -:10E6E0000F941D0620910E1E30910F1E4091101E9A -:10E6F0005091111E0F9482056B017C01698F7A8FF6 -:10E700008B8F9C8F25966CAD7DAD8EAD9FAD259783 -:10E7100029A93AA94BA95CA9621B730B840B950B21 -:10E720000F941D062091121E3091131E4091141E4D -:10E730005091151E0F948205E091891334E0E39FF8 -:10E74000F0011124E95BF34F208131814281538133 -:10E750000F9450082B013C016091530C7091540CA4 -:10E76000882777FD8095982F0F941D069B01AC019B -:10E77000C301B2010F94500820E030E048EC52E4AD -:10E780000F9482056D8F7E8F8F8F98A3D1012D916D -:10E790003D914D915C91139729AF3AAF4BAF5CAF70 -:10E7A000263031054105510504F514964D905D90D4 -:10E7B0006D907C901797B6E04B165104610471047C -:10E7C000A4F4F1014084518462847384F6E04F160E -:10E7D0005104610471044CF4DC01CB01BF77F101F9 -:10E7E00086A797A7A0ABB1AB27C069A57AA58BA5D3 -:10E7F0009CA50F94FB082B013C01C501B4010F94AB -:10E80000FB089B01AC01C301B2010F94A2044B01B0 -:10E810005C01C701B6010F94FB089B01AC01C50167 -:10E82000B4010F94A2040F94BD08D1019E966D937C -:10E830007D938D939C93D197D1019E962D913D917F -:10E840004D915C91D19729962CAF3DAF4EAF5FAF04 -:10E85000299760E070E080E89FE30F9482059B01B8 -:10E86000AC016BA17FA1812F902F0F9450082B0139 -:10E870003C019091D2188091D118E92FF0E0E81B6B -:10E88000F109EF70FF27FEABEDABA301920160E051 -:10E8900074E284E799E40F9482050F9420086B01D9 -:10E8A0007C012DA93EA9223031050CF442C049015A -:10E8B000AA2497FCA094BA2CC501B4010F941D069C -:10E8C00020E030E040E051E40F947B0587FF31C049 -:10E8D0008091261E9091271EA091281EB091291E7E -:10E8E000C816D906EA06FB0620F5BC01CD016C1955 -:10E8F0007D098E099F09660F771F881F991FA50143 -:10E9000094010F945909CA01B9010F941B060F9481 -:10E9100020086C0D7D1D8E1D9F1D0F941B069B01F5 -:10E92000AC0160E074E284E799E40F9482052B0166 -:10E930003C01A301920129966CAD7DAD8EAD9FADDA -:10E9400029970F94500821966CAF7DAF8EAF9FAF83 -:10E950002197D10192966D937D938D939C9395977A -:10E9600050966D917D918D919C9153970F941B06BC -:10E970006BA37CA38DA39EA3A30192010F945008C7 -:10E980000F9468050F94EF056B017C01F10160AFF6 -:10E9900071AF82AF93AF8E010F5E1F4F26E13EE154 -:10E9A00066963FAF2EAF6697AE014F5D5F4F5AA39D -:10E9B00049A3CE01019664969FAF8EAF64971FA2C4 -:10E9C0001DA690E899ABAFE3A9A7F80161917191F9 -:10E9D000819191918F01A30192010F945008649647 -:10E9E000AEADBFAD64976D937D938D939D9364960B -:10E9F000BFAFAEAF64979B01AC015F7762962CAF5F -:10EA00003DAF4EAF5FAF62976696AEADBFAD669756 -:10EA10008D909D90AD90BD906696BFAFAEAF66975E -:10EA2000A501940162966CAD7DAD8EAD9FAD6297F0 -:10EA30000F947E071816F4F462962CAD3DAD4EADE2 -:10EA40005FAD6297C501B4010F948205B62EA72E63 -:10EA5000982E892E262F372F482F592F6FA17DA54D -:10EA600089A999A50F947B0587FD04C0BFA2ADA617 -:10EA700099AA89A6E9A1FAA10E171F0709F0A5CF47 -:10EA800020E030E040E85FE36FA17DA589A999A56A -:10EA90000F947B0587FF3FC05E01F1E1AF0EB11C13 -:10EAA0008E010F5F1F4F2FA13DA549A959A5D80180 -:10EAB0006D917D918D919C910F945008F801619317 -:10EAC0007193819391938F01EA15FB0561F72FA153 -:10EAD0003DA549A959A521966CAD7DAD8EAD9FADE3 -:10EAE00021970F945008D10192966D937D938D9349 -:10EAF0009C939597C701B6010F941B062FA13DA5C6 -:10EB000049A959A50F9450080F94EF05F10160AF82 -:10EB100071AF82AF93AF29962CAD3DAD4EAD5FADD9 -:10EB200029976BA17CA18DA19EA10F9482056B01F9 -:10EB30007C0129AD3AAD4BAD5CAD232B242B252BAD -:10EB400059F5F10184819581A681B781892B8A2BA2 -:10EB50008B2B11F580859185A285B385892B8A2B16 -:10EB60008B2BD1F42091EA1D3091EB1D4091EC1DCF -:10EB70005091ED1DC701B6010F9450080F94680520 -:10EB800081010C5B1F4F0F94EF05D8016D937D93AE -:10EB90008D939C931397F6C02091EE1D3091EF1D3D -:10EBA0004091F01D5091F11DC701B6010F9450081E -:10EBB0000F9468050F94EF0581010C5B1F4FF8015E -:10EBC00060837183828393834090CA1D5090CB1DD4 -:10EBD0006090CC1D7090CD1D0F941B064B015C0105 -:10EBE00069AD7AAD8BAD9CAD0F941D069B01AC0158 -:10EBF000C501B4010F9450082BA13CA14DA15EA109 -:10EC00000F9482054B015C01C301B2010F941B06F6 -:10EC10009B01AC01C501B4010F947E07181634F4B2 -:10EC2000D8014D925D926D927C9213974090CE1DCB -:10EC30005090CF1D6090D01D7090D11DF801608163 -:10EC40007181828193810F941B064B015C01D1017C -:10EC500014966D917D918D919C9117970F941D063F -:10EC60009B01AC01C501B4010F9450082BA13CA13C -:10EC70004DA15EA10F9482054B015C01C301B2015D -:10EC80000F941B069B01AC01C501B4010F947E07D4 -:10EC900018162CF4F80140825182628273824090EF -:10ECA000D61D5090D71D6090D81D7090D91D810140 -:10ECB0000C5B1F4FD8016D917D918D919C910F94AC -:10ECC0001B064B015C012E966CAD7DAD8EAD9FADEC -:10ECD0002E970F941D069B01AC01C501B4010F9442 -:10ECE00050082BA13CA14DA15EA10F9482054B01C0 -:10ECF0005C01C301B2010F941B069B01AC01C5016D -:10ED0000B4010F947E0718162CF4F801408251824A -:10ED1000628273824090D21D5090D31D6090D41DAA -:10ED20007090D51DD8016D917D918D919C910F941E -:10ED30001B064B015C01F10160857185828593851D -:10ED40000F941D069B01AC01C501B4010F9450083E -:10ED50002BA13CA14DA15EA10F9482054B015C014A -:10ED6000C301B2010F941B069B01AC01C501B401A4 -:10ED70000F947E07181634F4D8014D925D926D926F -:10ED80007C921397F101EC5BFF4F6081718182816E -:10ED900093810F941B064B015C01A70196010F9410 -:10EDA0008205A6966CAF7DAF8EAF9FAFA697F1019F -:10EDB00062AB73AB84AB95AB2DEB37E346E051E42C -:10EDC000C501B4010F9450080F94EA05D1015C9677 -:10EDD0006D937D938D939C935F97C090E61DD0902B -:10EDE000E71DE090E81DF090E91D20E030E040E0F4 -:10EDF0005FE3C701B6010F9450086BA37FA38C019A -:10EE000029853A854B855C85AA962CAF3DAF4EAFE0 -:10EE10005FAFAA978091E21D9091E31DA091E41D40 -:10EE2000B091E51D21968CAF9DAFAEAFBFAF2197DE -:10EE300020E030E040E05FE3BC01CD010F945008DA -:10EE4000B62EA72E982E892EAA966CAD7DAD8EADCE -:10EE50009FADAA979F772B2D3A2D492D582D0F94B2 -:10EE60007E0718167CF42B2D3A2D492D582D6BA1B9 -:10EE70007FA1C8010F947B0587FD04C0BBA2AFA290 -:10EE8000092D182D2D853E854F855889AE962CAFBE -:10EE90003DAF4EAF5FAFAE978091DE1D9091DF1D0D -:10EEA000A091E01DB091E11D2E968CAF9DAFAEAF4D -:10EEB000BFAF2E9720E030E040E05FE3BC01CD0122 -:10EEC0000F945008B62EA72E982E892EAE966CADB4 -:10EED0007DAD8EAD9FADAE979F772B2D3A2D492DF1 -:10EEE000582D0F947E0718167CF42B2D3A2D492DA2 -:10EEF000582D6BA17FA1C8010F947B0587FD04C02D -:10EF0000BBA2AFA2092D182DD1019296BC91BDA72D -:10EF1000F101F3A1F9ABD1019496BC91B9A7F1012C -:10EF2000F5A1F9AF2DA539A94B2F5F2F6BA17FA1BB -:10EF3000C8010F947B0587FD06C02DA52BA339A919 -:10EF40003FA309A519AD4DA95EA9423051050CF4A6 -:10EF500009C15091A61D5DAB8091A71D2F968FAF63 -:10EF60002F979091A81D63969FAF6397A091A91DBD -:10EF70006596AFAF659727E137EB41ED58E36DA993 -:10EF8000782F892F9A2F0F947E0718160CF0EAC05D -:10EF90002091AA1D3091AB1D4091AC1D5091AD1D2B -:10EFA00069817A818B819C810F94A1042B013C01A2 -:10EFB0002091AE1D3091AF1D4091B01D5091B11DFB -:10EFC0006D817E818F8198850F94A1044B015C0136 -:10EFD000A3019201C301B2010F9450082B013C011F -:10EFE000A5019401C501B4010F9450089B01AC0127 -:10EFF000C301B2010F94A2040F94BD084B015C0140 -:10F00000A70196010F947E0718164CF4A5019401F0 -:10F01000C701B6010F9482055B014C0106C0A12C0B -:10F02000B12CB0E88B2E8FE3982E2091B21D309139 -:10F03000B31D4091B41D5091B51DAA966CAD7DAD28 -:10F040008EAD9FADAA970F94A1046B017C01E8944B -:10F05000F7F821962CAD3DAD4EAD5FAD2197C701C0 -:10F06000B6010F947E071816E4F4A70196012196C5 -:10F070006CAD7DAD8EAD9FAD21970F948205F62EC0 -:10F08000E72ED82EC92E262F372F482F592FB501FE -:10F09000C4010F947B0587FD04C0AF2CBE2C8D2CC2 -:10F0A0009C2C2091B61D3091B71D4091B81D5091F8 -:10F0B000B91DAE966CAD7DAD8EAD9FADAE970F9484 -:10F0C000A1046B017C01E894F7F82E962CAD3DADC0 -:10F0D0004EAD5FAD2E97C701B6010F947E0718168F -:10F0E000E4F4A70196012E966CAD7DAD8EAD9FAD7B -:10F0F0002E970F948205F62EE72ED82EC92E262F96 -:10F10000372F482F592FB501C4010F947B0587FD78 -:10F1100004C0AF2CBE2C8D2C9C2C9501A4016DA598 -:10F1200079A989A599AD0F9450084B015C019B0109 -:10F13000AC016DA92F967FAD2F9763968FAD639726 -:10F1400065969FAD65970F947B0587FF0EC08DA8D0 -:10F150002F969FAC2F976396AFAC63976596BFAC25 -:10F16000659703C08BA09FA05801C401D501F10190 -:10F1700082A793A7A4A7B5A7A6966CAD7DAD8EADCB -:10F180009FADA69790589B01AC010F94A2042996BD -:10F190002CAD3DAD4EAD5FAD29970F9450089B014E -:10F1A000AC016BE077ED83E29BE30F94A1040F9435 -:10F1B000BD087B01D82EC92E9B01482F592FB401C1 -:10F1C000C5010F947B0587FD03C04701AD2CBC2C06 -:10F1D000C401D501F10186A397A3A0A7B1A7970108 -:10F1E0004D2D5C2D6DA579A989A599AD0F947B0551 -:10F1F00018162CF081E0D101D7968C9302C0F10152 -:10F2000017AA81E0D101D6968C9380E1FE01319658 -:10F21000AAEABDE101900D928A95E1F78DA599A921 -:10F22000A9A5B9AD8093A61D9093A71DA093A81D75 -:10F23000B093A91D9C01AD016BA17FA1C8010F94E2 -:10F2400082056B017C012DA539A949A559ADB401F1 -:10F25000C5010F948205AB01BC0197018601C10174 -:10F260000E9490EB2A96BFAD2A97B093D2186E9663 -:10F270002CAD3DAD4EAD5FAD6E972093BA1D309372 -:10F28000BB1D4093BC1D5093BD1DA2968CAD9DAD82 -:10F29000AEADBFADA2978093BE1D9093BF1DA0934E -:10F2A000C01DB093C11D6A962CAD3DAD4EAD5FAD96 -:10F2B0006A972093C21D3093C31D4093C41D509381 -:10F2C000C51D25968CAD9DADAEADBFAD2597809388 -:10F2D000C61D9093C71DA093C81DB093C91D0E9461 -:10F2E00045EFC359DF4F0FB6F894DEBF0FBECDBF59 -:10F2F000DF91CF911F910F91FF90EF90DF90CF9012 -:10F30000BF90AF909F908F907F906F905F904F9045 -:10F310003F902F900C9498DCC359DF4F0FB6F894B0 -:10F32000DEBF0FBECDBFDF91CF911F910F91FF9038 -:10F33000EF90DF90CF90BF90AF909F908F907F9095 -:10F340006F905F904F903F902F9008954F925F92F3 -:10F350006F927F92AF92BF92CF92DF92EF92FF9225 -:10F360000F931F93CF93DF933B01EA015901FC01F7 -:10F37000C080D180E280F3802091061E3091071E6C -:10F380004091081E5091091EC701B6010F94500804 -:10F390000F9420086093BA1D7093BB1D8093BC1D11 -:10F3A0009093BD1DF3014080518062807380209155 -:10F3B0000A1E30910B1E40910C1E50910D1EC30170 -:10F3C000B2010F9450080F9420086093BE1D7093F3 -:10F3D000BF1D8093C01D9093C11D80910C18882380 -:10F3E000B9F093018201B701A6018CE098E10E9477 -:10F3F00092E9288139814A815B810F94A20420918E -:10F400000E1E30910F1E4091101E5091111E0CC007 -:10F4100020910E1E30910F1E4091101E5091111E12 -:10F42000688179818A819B810F9450080F9420080C -:10F430006093C21D7093C31D8093C41D9093C51D1E -:10F440002091121E3091131E4091141E5091151ED2 -:10F45000F50160817181828193810F9450080F942E -:10F4600020086093C61D7093C71D8093C81D90939C -:10F47000C91D26EC3DE142EC5DE16EEB7DE18AEBDE -:10F480009DE10E9424E41092A61D1092A71D1092E7 -:10F49000A81D1092A91D1092AA1D1092AB1D1092CA -:10F4A000AC1D1092AD1D1092AE1D1092AF1D1092AA -:10F4B000B01D1092B11D1092B21D1092B31D10928A -:10F4C000B41D1092B51D1092B61D1092B71D10926A -:10F4D000B81D1092B91DDF91CF911F910F91FF9030 -:10F4E000EF90DF90CF90BF90AF907F906F905F9044 -:10F4F0004F9008952091121E3091131E4091141EBA -:10F500005091151EFC0160817181828193810F945D -:10F5100050080F9420086093C61D7093C71D8093F8 -:10F52000C81D9093C91D86EC9DE10C9460E4809108 -:10F53000D2189091D118891B8F7008956093920C06 -:10F540007093930C8093940C9093950C0895CF92A4 -:10F55000DF92EF92FF920F931F93CF93DF9300D030 -:10F560001F92CDB7DEB756EFC52E5DE1D52E66E012 -:10F57000E62E6EE1F62E0AEC1DE1F6016191719125 -:10F58000819191916F01F7012191319141915191B7 -:10F590007F0129833A834B835C830F941B06298167 -:10F5A0003A814B815C810F9450080F94EF05F8016C -:10F5B00061937193819391938F01F6E0CF16FEE1F1 -:10F5C000DF06D9F60F900F900F900F90DF91CF913B -:10F5D0001F910F91FF90EF90DF90CF900895809151 -:10F5E000591E90E020915A1E821B91090895209186 -:10F5F0005A1E8091591E281750F4E22FF0E0E55A68 -:10F60000F14E808190E02F5F20935A1E08958FEF76 -:10F610009FEF0895E0915A1E8091591EE81730F42B -:10F62000F0E0E55AF14E808190E008958FEF9FEF72 -:10F6300008950895CF92DF92EF92FF920F931F9358 -:10F64000CF93DF937C01CB018A012091361E2223C8 -:10F6500089F0EB016B01C40ED51ECC15DD0561F000 -:10F660006991D701ED91FC910190F081E02DC701E6 -:10F670001995F3CF642F4BD0C801DF91CF911F9123 -:10F680000F91FF90EF90DF90CF900895CF93DF938D -:10F690001F92CDB7DEB769832091361E2223D1F0A9 -:10F6A0002091371E203240F021E030E0FC0133830E -:10F6B000228380E090E014C08091381EE82FF0E0B3 -:10F6C000E75CF14E998190838F5F8093381E809321 -:10F6D000371E04C061E0CE01019619D081E090E0B0 -:10F6E0000F90DF91CF910895FC011382128248EEB2 -:10F6F00053E060E070E0448355836683778381EC58 -:10F700009EE09183808308958AE29EE1EDCF61328D -:10F7100098F42091E81E243089F460939D1EFC012A -:10F720008FE99EE1DC012A2F281B261718F421916E -:10F730002D93F9CF80E0089581E0089582E0089547 -:10F7400085ED8093BC008091BC0084FDFCCF1092BD -:10F75000E81E089585EC8093BC001092E81E089581 -:10F760001F920F920FB60F9211240BB60F922F9388 -:10F770003F934F935F936F937F938F939F93AF9339 -:10F78000BF93EF93FF938091B900887F803609F48F -:10F790009CC068F5883209F45BC090F4803109F4AC -:10F7A00054C038F4882309F4F3C0883009F44DC0FC -:10F7B000F2C0883109F44CC0803209F45DC0EBC05E -:10F7C000803409F468C048F4803309F455C08833A4 -:10F7D00009F0E1C080937B1EA7C0803509F44FC0BB -:10F7E000883509F45DC0883409F0D5C0D3C08839A4 -:10F7F00009F4C4C0A8F4883709F467C038F488361F -:10F8000009F463C0803709F460C0C5C0883809F4C2 -:10F81000B5C0803909F45FC0803809F0BCC05BC056 -:10F82000803B09F483C038F4803A09F466C0883A12 -:10F8300009F47CC0B0C0803C09F4A4C0883C09F441 -:10F84000A1C0883B09F487C0A6C08091E71E10C004 -:10F850009091C01E8091BF1E981770F5E091C01E58 -:10F8600081E08E0F8093C01EF0E0EF53F14E808157 -:10F870008093BB0085EC83C080937B1E8BC0E0919E -:10F88000C01E81E08E0F8093C01E8091BB00F0E00F -:10F89000EF53F14E80839091C01E8091BF1E6BC0CC -:10F8A000E091C01E81E08E0F8093C01E8091BB004E -:10F8B000F0E0EF53F14E80838091E61E81116AC023 -:10F8C00081E08093E51E84EA5EC083E08093E81EB9 -:10F8D00010927C1ECFCF80917C1E803208F04EC0EB -:10F8E000E0917C1E81E08E0F80937C1E8091BB0096 -:10F8F000F0E0E358F14E8083BDCF80917C1E8032D2 -:10F9000030F4E0917C1EF0E0E358F14E108218DFF5 -:10F9100060917C1E70E0E091E11EF091E21E8DE7A7 -:10F920009EE1199510927C1E15DF35C084E080930E -:10F93000E81E10929E1E10929D1EE091E31EF09113 -:10F94000E41E199580919D1E811105C081E0809370 -:10F950009D1E10929F1EE0919E1E81E08E0F80934F -:10F960009E1EF0E0E156F14E80818093BB009091A5 -:10F970009E1E80919D1E981708F47CCF85E8809389 -:10F98000BC0009C085EC8093BC001092E81E03C047 -:10F9900010927B1ED5DEFF91EF91BF91AF919F91A9 -:10F9A0008F917F916F915F914F913F912F910F9028 -:10F9B0000BBE0F900FBE0F901F9018951F93CF9303 -:10F9C000DF93182FEB0161E003D1209711F460E081 -:10F9D00004C0CF3FD10531F461E0812FDF91CF9199 -:10F9E0001F912FC1E12FF0E0E550F04A449150E023 -:10F9F000FA013197E131F10508F091C0E358FF4F6A -:10FA00000D94970984B5806884BDC7BD8DC084B549 -:10FA1000806284BDC8BD88C080918000806880936A -:10FA20008000D0938900C09388007EC080918000C0 -:10FA3000806280938000D0938B00C0938A0074C052 -:10FA40008091B00080688093B000C093B3006CC018 -:10FA50008091B00080628093B000C093B40064C015 -:10FA600080919000806880939000D0939900C0931B -:10FA700098005AC080919000806280939000D0934B -:10FA80009B00C0939A0050C0809190008860809342 -:10FA90009000D0939D00C0939C0046C08091A00030 -:10FAA00080688093A0008091A0008F7B8093A0004D -:10FAB000D093A900C093A80037C08091A0008062B5 -:10FAC0008093A000D093AB00C093AA002DC080917A -:10FAD000A00088608093A000D093AD00C093AC00DC -:10FAE00023C080912001806880932001D093290158 -:10FAF000C093280119C08091200180628093200169 -:10FB0000D0932B01C0932A010FC0809120018860FF -:10FB100080932001D0932D01C0932C0105C0C038E3 -:10FB2000D1050CF059CF53CFDF91CF911F9108959C -:10FB300090E0FC013197E131F10508F048C0E2574F -:10FB4000FF4F0D949709809180008F7703C08091BB -:10FB500080008F7D80938000089584B58F7702C0E8 -:10FB600084B58F7D84BD08958091B0008F7703C0E8 -:10FB70008091B0008F7D8093B000089580919000B7 -:10FB80008F7707C0809190008F7D03C08091900097 -:10FB9000877F8093900008958091A0008F7707C0A1 -:10FBA0008091A0008F7D03C08091A000877F80930B -:10FBB000A0000895809120018F7707C080912001D7 -:10FBC0008F7D03C080912001877F8093200108955D -:10FBD000CF93DF9390E0FC01EF5AFF492491FC01A1 -:10FBE000E955FF498491882349F190E0880F991FD6 -:10FBF000FC01EF5CFE49A591B491895E9E49FC0130 -:10FC0000C591D4919FB7611108C0F8948C9120954B -:10FC100082238C93888182230AC0623051F4F89445 -:10FC20008C91322F309583238C938881822B88830B -:10FC300004C0F8948C91822B8C939FBFDF91CF915D -:10FC400008950F931F93CF93DF931F92CDB7DEB725 -:10FC5000282F30E0F901E550F04A8491F901EF5A7C -:10FC6000FF491491F901E955FF4904910023C1F0BE -:10FC7000882319F069835CDF6981E02FF0E0EE0FE3 -:10FC8000FF1FE95EFE49A591B4919FB7F8948C914E -:10FC9000611103C01095812301C0812B8C939FBFFC -:10FCA0000F90DF91CF911F910F910895CF93DF9324 -:10FCB000282F30E0F901E550F04A8491F901EF5A1C -:10FCC000FF49D491F901E955FF49C491CC2389F04A -:10FCD00081112EDFEC2FF0E0EE0FFF1FE350FF4904 -:10FCE000A591B4912C912D2381E090E021F480E046 -:10FCF00002C080E090E0DF91CF9108951F920F92B3 -:10FD00000FB60F9211242F933F938F939F93AF932E -:10FD1000BF938091EA1E9091EB1EA091EC1EB091D2 -:10FD2000ED1E3091E91E23E0230F2D3720F40196BC -:10FD3000A11DB11D05C026E8230F0296A11DB11D0E -:10FD40002093E91E8093EA1E9093EB1EA093EC1E75 -:10FD5000B093ED1E8091EE1E9091EF1EA091F01ECB -:10FD6000B091F11E0196A11DB11D8093EE1E9093DE -:10FD7000EF1EA093F01EB093F11EBF91AF919F9123 -:10FD80008F913F912F910F900FBE0F901F9018955C -:10FD90002FB7F8946091EA1E7091EB1E8091EC1ED3 -:10FDA0009091ED1E2FBF08953FB7F8948091EE1EFD -:10FDB0009091EF1EA091F01EB091F11E26B5A89B68 -:10FDC00005C02F3F19F00196A11DB11D3FBF662749 -:10FDD000782F892F9A2F620F711D811D911D42E08E -:10FDE000660F771F881F991F4A95D1F70895CF9204 -:10FDF000DF92EF92FF92CF93DF936B017C01D4DF10 -:10FE0000EB01C114D104E104F10471F0CDDF6C1BEE -:10FE10007D0B683E7340A8F381E0C81AD108E10861 -:10FE2000F108C851DC4FEDCFDF91CF91FF90EF90FB -:10FE3000DF90CF9008950197009739F0880F991FB0 -:10FE4000880F991F02970197F1F70895789484B568 -:10FE5000826084BD84B5816084BD85B5826085BDC6 -:10FE600085B5816085BDEEE6F0E0808181608083AC -:10FE7000E1E8F0E01082808182608083808181608F -:10FE80008083E0E8F0E0808181608083E1EBF0E056 -:10FE9000808184608083E0EBF0E0808181608083FA -:10FEA000E1E9F0E0808182608083808181608083ED -:10FEB000E0E9F0E0808181608083E1EAF0E0808128 -:10FEC00082608083808181608083E0EAF0E08081CD -:10FED00081608083E1E2F1E08081826080838081C3 -:10FEE00081608083E0E2F1E0808181608083EAE7E5 -:10FEF000F0E0808184608083808182608083808163 -:10FF0000816080838081806880831092C100089521 -:10FF10009DDF0E94AA66C0E0D0E00E9475962097FF -:10FF2000E1F30E940000F9CF3F924F925F926F92EF -:10FF30007F928F929F92AF92BF92CF92DF92EF9279 -:10FF4000FF920F931F93CF93DF9300D01F92CDB7F3 -:10FF5000DEB78B0129013A019091960C981721F098 -:10FF60009F3F09F0B1C204C0EBE4F1E6349004C154 -:10FF70008093960CEBE4F1E6E491EF3F09F4A4C220 -:10FF8000E23009F480C074F5EE2309F45BC0E1307F -:10FF900009F0F1C0109280001092810090918100D0 -:10FFA000986090938100909181009160909381007E -:10FFB000282F30E0F901E955FF49E491F0E0EE0F18 -:10FFC000FF1FE95EFE49459154915093101F4093E5 -:10FFD0000F1FF901EF5AFF49249120930E1F33247C -:10FFE0003394CCC0E43009F49EC00CF474C0E53006 -:10FFF00009F0C1C0109220011092210190912101BD -:020000022000DC -:10000000986090932101909121019160909321013A -:10001000282F30E0F901E955FF49E491F0E0EE0FB7 -:10002000FF1FE95EFE49459154915093F41E4093A1 -:10003000F31EF901EF5AFF4924912093F21E55E077 -:10004000352E9CC014BC15BC94B5926094BD95B57A -:10005000916095BD282F30E0F901E955FF49E49101 -:10006000F0E0EE0FFF1FE95EFE4945915491509379 -:10007000171F4093161FF901EF5AFF49249120934F -:10008000151F312C7BC01092B0001092B1009091DE -:10009000B00092609093B0009091B1009160909305 -:1000A000B100282F30E0F901E955FF49E491F0E073 -:1000B000EE0FFF1FE95EFE49459154915093091FD1 -:1000C0004093081FF901EF5AFF4924912093071F1D -:1000D00022E0322E53C01092900010929100909125 -:1000E000910098609093910090919100916090930D -:1000F0009100282F30E0F901E955FF49E491F0E043 -:10010000EE0FFF1FE95EFE49459154915093021F87 -:100110004093011FF901EF5AFF4924912093001FDA -:10012000B3E03B2E2BC01092A0001092A100909142 -:10013000A10098609093A1009091A100916090938C -:10014000A100282F30E0F901E955FF49E491F0E0E2 -:10015000EE0FFF1FE95EFE49459154915093FB1E3F -:100160004093FA1EF901EF5AFF4924912093F91E9A -:1001700074E0372E03C03E2E37FCA6C161E028DDB7 -:100180004801A12CB12C832D8D7F09F0C0C060E007 -:1001900072E18AE790E0A50194010F947B0929831D -:1001A0003A834B835C8369017A0181E0C81AD108E4 -:1001B000E108F1089FEFC916D104E104F10409F048 -:1001C00008F49AC060E472E48FE090E0A501940125 -:1001D0000F947B0969017A01E1E0CE1AD108E108A8 -:1001E000F108F2E03F1219C08FEFC816D104E10404 -:1001F000F10409F008F487C060E970ED83E090E055 -:10020000A50194010F947B0969017A0191E0C91A53 -:10021000D108E108F10883E001C082E0EFEFCE16DB -:10022000D104E104F10409F008F467C068E478EE51 -:1002300081E090E0A50194010F947B0969017A01A6 -:10024000F1E0CF1AD108E108F1083320E1F082E0B3 -:1002500038121BC09FEFC916D104E104F10409F064 -:1002600008F430C164E274EF80E090E0A5019401ED -:100270000F947B0969017A01E1E0CE1AD108E10807 -:10028000F10885E003C083E001C084E0FFEFCF16F2 -:10029000D104E104F10489F180F162E17AE780E0C0 -:1002A00090E0A50194010F947B0969017A0181E036 -:1002B000C81AD108E108F108311002C084E001C079 -:1002C00086E09FEFC916D104E104F104B1F0A8F073 -:1002D000C980DA80EB80FC809AE0F594E794D794AB -:1002E000C7949A95D1F7E1E0CE1AD108E108F10858 -:1002F000332031F087E008C081E0332011F004C0E2 -:1003000085E085BD50C082E08093B1004CC060E0C4 -:1003100072E18AE790E0A5019401EDD769017A01C5 -:10032000F1E0CF1AD108E108F108C114D10481E04D -:10033000E806F10480F068E478EE81E090E0A50141 -:100340009401D9D769017A0191E0C91AD108E1086D -:10035000F10893E001C091E0E1E03E1207C0809116 -:100360008100887F892B809381001DC0F3E03F12BC -:1003700007C080919100887F892B8093910013C0E2 -:1003800084E0381207C08091A100887F892B809378 -:10039000A10009C0E5E03E1206C080912101887FDE -:1003A000892B80932101411451046104710461F08F -:1003B000D801AA0FBB1FA3019201C5D728EE33E0D5 -:1003C00040E050E076D703C02FEF3FEFA901F2E005 -:1003D0003F1609F443C0F315BCF0332081F181E0EE -:1003E000381272C0D0928900C09288002093111FE9 -:1003F0003093121F4093131F5093141F80916F006E -:10040000826080936F0060C094E0391609F448C0A0 -:100410003916A4F1E5E03E1257C0D0922901C092EE -:1004200028012093F51E3093F61E4093F71E50933B -:10043000F81E8091730082608093730045C0C7BC32 -:100440002093181F3093191F40931A1F50931B1F9E -:1004500080916E00826080936E0036C0C092B300BF -:1004600020930A1F30930B1F40930C1F50930D1FB6 -:100470008091700082608093700026C0D0929900B5 -:10048000C09298002093031F3093041F4093051FD0 -:100490005093061F8091710082608093710014C098 -:1004A000D092A900C092A8002093FC1E3093FD1E9C -:1004B0004093FE1E5093FF1E8091720082608093D5 -:1004C000720002C084E020CF0F900F900F900F9029 -:1004D000DF91CF911F910F91FF90EF90DF90CF9020 -:1004E000BF90AF909F908F907F906F905F904F9054 -:1004F0003F9008958230A9F028F4882349F0813094 -:1005000051F00895843009F1E8F0853009F108953B -:1005100010926E00089580916F008D7F80936F0020 -:100520000895809170008D7F8093700081E08093AA -:10053000B0008091B100887F84608093B1001092F8 -:10054000B3000895109271000895109272000895FA -:10055000109273000895CF93C82F8091960C8C133E -:1005600007C0EBE4F1E684919FEF9093960C01C0F5 -:100570008FEFC0DF60E08C2FCF9163CB1F920F9283 -:100580000FB60F9211240BB60F922F933F934F93F8 -:100590005F936F937F938F939F93AF93BF93EF93EB -:1005A000FF9380910A1F90910B1FA0910C1FB09197 -:1005B0000D1F892B8A2B8B2B51F19091071FE091F6 -:1005C000081FF091091F80818927808380910A1F6D -:1005D00090910B1FA0910C1FB0910D1F18161906BA -:1005E0001A061B06BCF480910A1F90910B1FA09164 -:1005F0000C1FB0910D1F0197A109B10980930A1F2B -:1006000090930B1FA0930C1FB0930D1F03C08091FC -:10061000960CA1DFFF91EF91BF91AF919F918F91C8 -:100620007F916F915F914F913F912F910F900BBEF2 -:100630000F900FBE0F901F901895FC018081918143 -:1006400049C7CF93DF93EC0188819981009709F026 -:1006500041D7198218821D821C821B821A82DF9167 -:10066000CF9108950F931F93CF93DF93EC018B01EC -:100670006F5F7F4F88819981BCD7009731F0998354 -:1006800088831B830A8381E001C080E0DF91CF91E2 -:100690001F910F910895CF93DF93EC018881998189 -:1006A000892B29F08A819B818617970758F4CE0100 -:1006B000D9DF882341F08C819D81892B19F4E88151 -:1006C000F981108281E0DF91CF910895EF92FF923E -:1006D0000F931F93CF93DF93EC017B018A01BA0143 -:1006E000DADF811103C0CE01ACDF07C01D830C83AC -:1006F000B701888199810F94260FCE01DF91CF91A8 -:100700001F910F91FF90EF900895FC0111821082CC -:1007100013821282158214826115710551F0FB015A -:1007200001900020E9F7AF0141505109461B570BDA -:10073000CDCF0895CF93DF93EC01FB018617970788 -:1007400051F0608171816115710521F044815581FD -:10075000BDDF01C076DFCE01DF91CF910895FC01AE -:10076000118210821382128215821482E3CFEF92DB -:10077000FF920F931F93CF93DF93EC017B010C81CA -:100780001D816115710511F480E015C041155105F9 -:1007900089F0040F151FB8017EDF8823A9F3288193 -:1007A00039818C819D81B701820F931F0F94260F91 -:1007B0001D830C8381E0DF91CF911F910F91FF90FA -:1007C000EF900895CF93DF93EC01FB0144815581B5 -:1007D00060817181CCDF811102C0CE0132DFCE0198 -:1007E000DF91CF910895CF92DF92EF92FF920F9316 -:1007F0001F93CF93DF936C017A01EB01E60EF71E96 -:1008000000E010E0CE15DF0561F06991D601ED91B1 -:10081000FC910190F081E02DC6011995080F191F78 -:10082000F1CFC801DF91CF911F910F91FF90EF9011 -:10083000DF90CF9008956115710581F0DB010D9077 -:100840000020E9F7AD0141505109461B570BDC016F -:10085000ED91FC910280F381E02D199480E090E00D -:100860000895E9CFDC01ED91FC910190F081E02D3C -:1008700019948F929F92AF92BF92CF92DF92EF9294 -:10088000FF920F931F93CF93DF93CDB7DEB7A1975E -:100890000FB6F894DEBF0FBECDBF7C01C42EE52F8E -:1008A000CB01D22E19A221E02D1510F02AE0D22E74 -:1008B0008E010F5D1F4F8D2C912CA12CB12C6C2D16 -:1008C0007E2FA5019401F5D48C2DD29E8019112480 -:1008D000015011098A3014F4805D01C0895CF8016F -:1008E0008083211531054105510521F0C22EE32FEA -:1008F000CA01E5CFB801C7019EDFA1960FB6F894F3 -:10090000DEBF0FBECDBFDF91CF911F910F91FF9042 -:10091000EF90DF90CF90BF90AF909F908F90089511 -:100920002115310541F4DC01ED91FC910190F0813C -:10093000E02D642F19949DCF9A01AB0160E070E027 -:10094000EFCF5058BB27AA270ED076C23FD230F047 -:1009500044D220F031F49F3F11F41EF40FC20EF484 -:10096000E095E7FBDCC1E92F89D280F3BA17620773 -:1009700073078407950718F071F49EF5B8C20EF45A -:10098000E0950B2EBA2FA02D0B01B90190010C019F -:10099000CA01A0011124FF27591B99F0593F50F4B7 -:1009A000503E68F11A16F040A22F232F342F44270F -:1009B000585FF3CF469537952795A795F040539507 -:1009C000C9F77EF41F16BA0B620B730B840BBAF0D7 -:1009D0009150A1F0FF0FBB1F661F771F881FC2F742 -:1009E0000EC0BA0F621F731F841F48F48795779556 -:1009F0006795B795F7959E3F08F0B3CF9395880F0D -:100A000008F09927EE0F979587950895DFD158F054 -:100A100080E891E009F49EEFE0D128F040E851E051 -:100A200059F45EEF09C0AAC162C2E92FE07826D26C -:100A300068F3092E052AC1F3261737074807590717 -:100A400038F00E2E07F8E02569F0E025E0640AC0D2 -:100A5000EF6307F8009407FADB01B9019D01DC019F -:100A6000CA01AD01EF935DD0E7D10AD05F91552364 -:100A700031F02BED3FE049E450FD49EC63CF0895A0 -:100A8000DF93DD27B92FBF7740E85FE3161617061F -:100A900048075B0710F4D92F96D29F938F937F93CB -:100AA0006F93A9D3EEE3F1E06CD1C6D12F913F91C2 -:100AB0004F915F9101D3DD2349F09058A2EA2AEDCE -:100AC0003FE049EC5FE3D0785D274DDFDF91B4C1B3 -:100AD000F7D180F09F3740F491110EF409C260E025 -:100AE00070E080E89FE3089526F01B16611D711DDC -:100AF000811D1BC135C1EFD008F481E0089575D187 -:100B0000E395ABC10CD098C168D140F05FD130F013 -:100B100021F45F3F19F003C15111EAC12FC1AED1D9 -:100B200098F39923C9F35523B1F3951B550BBB27B4 -:100B3000AA2762177307840738F09F5F5F4F220F61 -:100B4000331F441FAA1FA9F333D00E2E3AF0E0E85A -:100B500030D091505040E695001CCAF729D0FE2FA6 -:100B600027D0660F771F881FBB1F26173707480738 -:100B7000AB07B0E809F0BB0B802DBF01FF279358EE -:100B80005F4F2AF09E3F510568F0C9C0B1C15F3F79 -:100B9000ECF3983EDCF3869577956795B795F795D6 -:100BA0009F5FC9F7880F911D9695879597F90895CE -:100BB000E1E0660F771F881FBB1F6217730784076A -:100BC000BA0720F0621B730B840BBA0BEE1F88F779 -:100BD000E095089504D06894B1118AC1089556D162 -:100BE00088F09F5790F0B92F9927B751A0F0D1F016 -:100BF000660F771F881F991F1AF0BA95C9F712C0A0 -:100C0000B13081F074D1B1E0089571C1672F782FB0 -:100C10008827B85F39F0B93FCCF38695779567950B -:100C2000B395D9F73EF490958095709561957F4F77 -:100C30008F4F9F4F0895E89409C097FB3EF490951D -:100C40008095709561957F4F8F4F9F4F9923A9F0A5 -:100C5000F92F96E9BB279395F69587957795679534 -:100C6000B795F111F8CFFAF4BB0F11F460FF1BC078 -:100C70006F5F7F4F8F4F9F4F16C0882311F096E90B -:100C800011C0772321F09EE8872F762F05C06623B9 -:100C900071F096E8862F70E060E02AF09A95660F72 -:100CA000771F881FDAF7880F9695879597F908952B -:100CB00007D180F09F3740F491110EF019C160E028 -:100CC00070E080E89FEB089526F41B16611D711DEE -:100CD000811D2BC045C0990F0008550FAA0BE0E8F5 -:100CE000FEEF16161706E807F907C0F012161306EE -:100CF000E407F50798F0621B730B840B950B39F42E -:100D00000A2661F0232B242B252B21F408950A2693 -:100D100009F4A140A6958FEF811D811D089597F9D3 -:100D20009F6780E870E060E00895882371F477237E -:100D300021F09850872B762F07C0662311F499274E -:100D40000DC09051862B70E060E02AF09A95660FF6 -:100D5000771F881FDAF7880F9695879597F908957A -:100D60009F3F31F0915020F4879577956795B7951F -:100D7000880F911D9695879597F908959FEF80ECC0 -:100D80000895DF93CF931F930F93FF92EF92DF921B -:100D90007B018C01689405C0DA2EEF018DD1FE0134 -:100DA000E894A5912591359145915591AEF3EF01C8 -:100DB000DADDFE019701A801DA9479F7DF90EF9070 -:100DC000FF900F911F91CF91DF91089500240A9415 -:100DD0001616170618060906089500240A94121616 -:100DE0001306140605060895C9CF50D0E8F3E89419 -:100DF000E0E0BB279F57F0F02AED3FE049EC06C04A -:100E0000EE0FBB0F661F771F881F28F0B23A6207EC -:100E10007307840728F0B25A620B730B840BE395B7 -:100E20009A9572F7803830F49A95BB0F661F771F3A -:100E3000881FD2F7904896CF092E0394000C11F426 -:100E4000882352F0BB0F40F4BF2B11F460FF04C0A5 -:100E50006F5F7F4F8F4F9F4F0895EF93E0FF06C066 -:100E6000A2EA2AED3FE049EC5FEB7DDDE5DF0F9084 -:100E7000039401FC9058EBE6F1E0C7C157FD905890 -:100E8000440F551F59F05F3F71F04795880F97FB4E -:100E9000991F61F09F3F79F0879508951216130608 -:100EA0001406551FF2CF4695F1DF08C01616170637 -:100EB0001806991FF1CF869571056105089408956C -:100EC000E5DFA0F0BEE7B91788F4BB279F3860F4D0 -:100ED0001616B11D672F782F8827985FF7CF869554 -:100EE00077956795B11D93959639C8F30895E89461 -:100EF000BB2766277727CB0197F90895ECDE08F426 -:100F00008FEF089563DF19F068DF09F037CF07CF5F -:100F1000B901CA0125CF9F775F77B0DF98F3992396 -:100F2000B9F35523B9F3FF27951758F4E52FE91BBB -:100F3000ED3070F75E3B10F0F1E41CC09034E0F44B -:100F40000AC0E92FE51BED3028F79E3B10F0F1E4D5 -:100F500011C0503488F4F9EA88232AF09A95660F74 -:100F6000771F881FDAF744232AF05A95220F331F80 -:100F7000441FDAF79F1B5F1BFF931F930F93FF9292 -:100F8000EF9279018A01BB27AB2F9B01AC0196D070 -:100F90009701A801BF937B018C01AA27BA2FB90141 -:100FA000CA018CD0AF919701A801EF90FF900F91EB -:100FB0001F91D9DC41DFE1D04F9140FF08955527C3 -:100FC00047FD509509C09B01AC0160E070E080E8EE -:100FD0009FE398CDA4CEC4CE59DFE8F39923D9F38B -:100FE000940F511DBBF39150504094F059F0882359 -:100FF00032F0660F771F881F91505040C1F79E3F17 -:10100000510544F7880F911D9695879597F9089596 -:101010005F3FACF0983E9CF0BB278695779567952F -:10102000B79508F4B1609395C1F7BB0F58F711F469 -:1010300060FFE8CF6F5F7F4F8F4F9F4FE3CF58CF59 -:1010400025DF58F19E5758F19851A0F0E9F09830FB -:1010500020F5092E9927660F771F881F991F0A947C -:10106000D1F712C0062E672F782F8827985F11F4CA -:10107000000C07C0993FB4F38695779567959395D3 -:10108000D9F7611D711D811D3EF490958095709575 -:1010900061957F4F8F4F9F4F0895689429CF27CF39 -:1010A0000BD0CACE93DE28F098DE18F0952309F015 -:1010B00036CE64CE11241CCFE1DEA0F3959FD1F390 -:1010C000950F50E0551F629FF001729FBB27F00DF6 -:1010D000B11D639FAA27F00DB11DAA1F649F66274B -:1010E000B00DA11D661F829F2227B00DA11D621F9A -:1010F000739FB00DA11D621F839FA00D611D221F54 -:10110000749F3327A00D611D231F849F600D211D37 -:10111000822F762F6A2F11249F5750408AF0E1F0DA -:1011200088234AF0EE0FFF1FBB1F661F771F881F23 -:1011300091505040A9F79E3F510570F0F0CDD8CEA8 -:101140005F3FECF3983EDCF3869577956795B7950E -:10115000F795E7959F5FC1F7FE2B880F911D969538 -:10116000879597F908959F9340DE0F9007FCEE5FF7 -:1011700074CE11F40EF402CEF3CD88DED0F39923B1 -:10118000D9F3CEF39F57550B87FF38D00024A0E644 -:1011900040EA900180585695979528F4805C660F38 -:1011A000771F881F20F026173707480730F4621B87 -:1011B000730B840B202931294A2BA6951794079489 -:1011C000202531254A2758F7660F771F881F20F002 -:1011D00026173707480730F4620B730B840B200D7A -:1011E000311D411DA09581F7B901842F9158880FB9 -:1011F0009695879508959B01AC0152CF9150504030 -:10120000660F771F881FD2F708959F938F937F9360 -:101210006F93FF93EF939B01AC0142DFEF91FF913E -:10122000B0DD2F913F914F915F913ACFDB018F93CA -:101230009F9389D0BF91AF91A29F800D911DA39FD5 -:10124000900DB29F900D1124089587FB082E06265D -:1012500087FD819567FD61958AD00EF4919507FC15 -:1012600081950895AA1BBB1B51E107C0AA1FBB1F94 -:10127000A617B70710F0A61BB70B881F991F5A9522 -:10128000A9F780959095BC01CD01089597FB072E95 -:1012900016F4009406D077FD08D0E4DF07FC05D0F3 -:1012A0003EF4909581959F4F0895709561957F4F7D -:1012B0000895A1E21A2EAA1BBB1BFD010DC0AA1F97 -:1012C000BB1FEE1FFF1FA217B307E407F50720F0AF -:1012D000A21BB30BE40BF50B661F771F881F991F2A -:1012E0001A9469F760957095809590959B01AC0173 -:1012F000BD01CF010895052E97FB16F400940FD081 -:1013000057FD05D0D6DF07FC02D046F408C0509543 -:101310004095309521953F4F4F4F5F4F08959095E1 -:101320008095709561957F4F8F4F9F4F0895EE0F79 -:10133000FF1F0590F491E02D199425D0B7FF089573 -:10134000821B930B08951FD0A59F900DB49F900D05 -:10135000A49F800D911D11240895B7FFF4CFF3DFF2 -:10136000821B930B08950790F691E02D1994991B19 -:1013700079E004C0991F961708F0961B881F7A958C -:10138000C9F780950895A29FB001B39FC001A39FA4 -:10139000700D811D1124911DB29F700D811D1124AE -:1013A000911D0895CF93DF938230910510F482E070 -:1013B00090E0E0911E1FF0911F1F20E030E0A0E0C0 -:1013C000B0E0309739F14081518148175907B8F0A2 -:1013D0004817590771F482819381109729F0139669 -:1013E0009C938E9312972CC090931F1F80931E1F67 -:1013F00027C02115310531F04217530718F0A90114 -:10140000DB0101C0EF019A01BD01DF010280F38120 -:10141000E02DD7CF21153105F9F0281B390B2430E9 -:10142000310580F48A819B816115710521F0FB01F2 -:101430009383828304C090931F1F80931E1FFE011D -:10144000329644C0FE01E20FF31F81939193225024 -:101450003109398328833AC020911C1F30911D1F08 -:10146000232B41F4209102023091030230931D1F7F -:1014700020931C1F2091000230910102211531059B -:1014800041F42DB73EB74091040250910502241B50 -:10149000350BE0911C1FF0911D1FE217F307A0F41C -:1014A0002E1B3F0B2817390778F0AC014E5F5F4FBA -:1014B0002417350748F04E0F5F1F50931D1F4093B0 -:1014C0001C1F8193919302C0E0E0F0E0CF01DF9117 -:1014D000CF910895CF93DF93009709F487C0FC0163 -:1014E000329713821282C0911E1FD0911F1F209726 -:1014F00081F420813181280F391F80911C1F909128 -:101500001D1F8217930779F5F0931D1FE0931C1F91 -:101510006DC0DE0120E030E0AE17BF0750F4129638 -:101520004D915C9113979D014115510509F1DA0127 -:10153000F3CFB383A28340815181840F951F8A1713 -:101540009B0771F48D919C911197840F951F0296C2 -:101550009183808312968D919C91139793838283BC -:101560002115310529F4F0931F1FE0931E1F3EC083 -:10157000D9011396FC93EE9312974D915D91A40FB0 -:10158000B51FEA17FB0779F480819181840F951FBD -:101590000296D90111969C938E9382819381139622 -:1015A0009C938E931297E0E0F0E08A819B810097F4 -:1015B00019F0FE01EC01F9CFCE01029628813981A4 -:1015C000820F931F20911C1F30911D1F2817390770 -:1015D00069F4309729F410921F1F10921E1F02C049 -:1015E00013821282D0931D1FC0931C1FDF91CF91D5 -:1015F00008956F927F928F929F92AF92BF92CF92F7 -:10160000DF92EF92FF920F931F93CF93DF93EC0142 -:10161000CB01209779F4DF91CF911F910F91FF902B -:10162000EF90DF90CF90BF90AF909F908F907F9082 -:101630006F90B8CEFE01E60FF71F9E0122503109D0 -:10164000E217F30708F4A8C0D9010D911C91119776 -:1016500006171707B0F00530110508F49BC0A80164 -:10166000445051094617570708F494C00250110915 -:10167000061B170B019311936D937C93CF012ADF07 -:1016800089C05B01A01AB10A4E01800E911EA09183 -:101690001E1FB0911F1F612C712C60E070E010972D -:1016A00009F449C0A815B905C9F5ED90FC9011974A -:1016B000670142E0C40ED11CCA14DB0478F1470173 -:1016C0008A189B08640142E0C40ED11C1296BC909B -:1016D00012971396AC91B5E0CB16D10440F0B282CC -:1016E000A38391828082D9018D939C9309C00E5F60 -:1016F0001F4F0E0D1F1DF90111830083EB2DFA2FD3 -:101700006115710531F0DB011396FC93EE9312978E -:1017100041C0F0931F1FE0931E1F3CC06D917C9150 -:1017200011976616770608F43B01BD0112960D90DD -:10173000BC91A02DB4CF60911C1F70911D1F681526 -:101740007905E9F468167906D0F4409100025091C9 -:1017500001024115510541F44DB75EB76091040295 -:1017600070910502461B570BE417F507A8F4F09398 -:101770001D1FE0931C1FF901918380830BC012DEB3 -:101780007C01009749F0A801BE011ED3CE01A2DE64 -:10179000C70104C0CE0102C080E090E0DF91CF918C -:1017A0001F910F91FF90EF90DF90CF90BF90AF907F -:1017B0009F908F907F906F9008958F929F92AF929D -:1017C000BF92CF92DF92EF92FF920F931F93CF932E -:1017D000DF938B016115710521F0DB018C9311966C -:1017E0009C93EC015E01BFEFAB1ABB0A7501C88088 -:1017F0008C2D90E07BD2892B11F0E501F3CFEDE247 -:10180000CE1208C07E01F2E0EF0EF11CC980DD248B -:10181000D39409C02BE2C21205C07E0142E0E40E5F -:10182000F11CC980D12CE701219743E050E064E529 -:1018300071E6CE017BD2892BB9F4239645E050E0C6 -:101840006FE471E6CE0172D2892B09F42596011559 -:10185000110519F0D801CD93DC93D11000C160E0DF -:1018600070E080E89FE704C143E050E06CE471E67B -:10187000CE015CD2892B59F40115110509F4F4C08D -:10188000B2E0EB0EF11CF801F182E082EDC0F7014D -:1018900060E070E0CB01C0E0D0E07F01A0EDAA2EB7 -:1018A000AC0C29E02A1528F14D2D4260B42E2D2DC7 -:1018B0002870D2FE04C0211124C0219622C021111B -:1018C0002197A5E0B0E09B01AC013DDD660F771FDD -:1018D000881F991F6A0D711D811D911D6839A9E925 -:1018E0007A078A07A9E19A0760F0BD2DB660BB2E82 -:1018F00008C02EEFA2120AC0D3FC50C04D2D486084 -:10190000B42E3196D701CC90DB2CC7CF2C2D2F7D58 -:10191000253409F043C0A081AD3241F4BD2DB06142 -:10192000DB2E7F0122E0E20EF11C0CC07F01AB3206 -:1019300031F04FEFE41AF40A21E030E006C0A2E0F3 -:10194000EA0EF11CA18122E030E0A053AA3018F089 -:10195000E21AF30A23C0F70120E030E02038BCE0AF -:101960003B075CF4A901440F551F440F551F240F7A -:10197000351F220F331F2A0F311DAF014F5F5F4FFD -:101980007A01A081A053AA3010F4FA01E7CFD4FE67 -:1019900003C0319521953109C20FD31FD1FE09C073 -:1019A0000115110531F0E1E0EE1AF108D801ED92D0 -:1019B000FC9241D92D2D2370233019F04B015C018D -:1019C00006C04B015C01B7FAB094B7F8B09420E0C0 -:1019D00030E0A901C501B4018ED8882309F43CC0C8 -:1019E000D7FF06C0D195C195D1090BE611E602C01B -:1019F00003E811E66801B8E1CB1AD10890E2E92EBC -:101A0000F12CCE15DF056CF0F8012591359145914B -:101A10005491C501B40144DB4B015C01CE19DF09CF -:101A2000F0CF04501109F594E7940C151D0549F702 -:101A30008A2D880F8B2D881F8F3F41F020E030E0EA -:101A4000A901C501B40157D8811106C082E290E016 -:101A50009093211F8093201FC501B40109C060E04D -:101A600070E080E89FEF04C060E070E080EC9FE7EA -:101A7000DF91CF911F910F91FF90EF90DF90CF906A -:101A8000BF90AF909F908F9008952F923F925F925A -:101A90006F927F928F929F92AF92BF92CF92DF927E -:101AA000EF92FF920F931F93CF93DF938B01EA0185 -:101AB0006115710521F0DB018C9311969C932097A1 -:101AC00039F09E01225031092332310508F0F8C067 -:101AD0007C016701BFEFCB1ADB0A5601F70160807A -:101AE000862D90E003D1892B11F07601F2CFFDE233 -:101AF0006F120AC0570182E0A80EB11CD7011196DF -:101B00006C90772473940BC0BBE26B1207C0570133 -:101B1000E2E0AE0EB11CD70111966C90712CCE0193 -:101B20008F7E892B89F4B0E36B1222C0F50180818E -:101B30008F7D883541F56180F2E0AF0EB11C872DB5 -:101B40008260782EC0E1D0E0C830D105F1F04CF4CD -:101B5000C230D10511F5C12CD12CE12CB0E4FB2E03 -:101B60002EC0CA30D10531F0C031D10519F115C0F0 -:101B7000209751F7CAE0D0E0ACECCA2EDC2CEC2C5C -:101B8000ACE0FA2E1CC02097F9F6C8E0D0E0C12CDA -:101B9000D12CE12CF0E1FF2E12C060E070E080E07B -:101BA00090E89E01442737FD4095542F82DB690160 -:101BB0007A0105C0C12CD12CE12CE8E0FE2EF50104 -:101BC00060E020E030E0A9014E01AA2497FCA09437 -:101BD000BA2C1F0170ED572E560CA9E0A51570F414 -:101BE0008FEB860D8A3118F499EC592E06C08FE9D7 -:101BF000860D8A3128F589EA582E560C852D90E0FD -:101C00008C179D07ECF467FD17C0C216D306E406D7 -:101C1000F50678F0C501B40109DB9B01AC01250D87 -:101C2000311D411D511D213031054105B0E85B07D3 -:101C300010F06FEF01C061E03196D1016C90C9CF17 -:101C4000872D81700115110571F0662329F03197F8 -:101C5000D801ED93FC9307C071FE19C03297D801EB -:101C6000ED93FC9314C067FF12C0882329F020E095 -:101C700030E040E050E804C02FEF3FEF4FEF5FE768 -:101C800082E290E09093211F8093201F16C088234A -:101C900041F050954095309521953F4F4F4F5F4F04 -:101CA0000CC057FF0AC082E290E09093211F8093FE -:101CB000201F2FEF3FEF4FEF5FE7B901CA0104C0CC -:101CC00060E070E080E090E0DF91CF911F910F9194 -:101CD000FF90EF90DF90CF90BF90AF909F908F904C -:101CE0007F906F905F903F902F900895911111C356 -:101CF000803219F089508550D0F7089591110895D8 -:101D000081548A5108F4805E855A0895FB01DC01F4 -:101D100005900D920020E1F70895FC010590002048 -:101D2000E9F7809590958E0F9F1F0895FB01DC01C8 -:101D30004150504088F08D9181341CF08B350CF46B -:101D4000805E659161341CF06B350CF4605E861B1F -:101D5000611171F3990B0895881BFCCFFB01DC0125 -:101D60004150504048F005900D920020C9F701C045 -:101D70001D9241505040E0F70895FB0155915523C5 -:101D8000A9F0BF01DC014D9145174111E1F759F46C -:101D9000CD010590002049F04D9140154111C9F346 -:101DA000FB014111EFCF81E090E001970895FB0125 -:101DB000DC0104C08D910190801921F44150504004 -:101DC000C8F7881B990B0895FB01DC0102C0019044 -:101DD0000D9241505040D8F70895DC0101C06D9339 -:101DE00041505040E0F70895FB01DC018D918134B2 -:101DF0001CF08B350CF4805E619161341CF06B3506 -:101E00000CF4605E861B611189F3990B0895FB0148 -:101E1000DC010D900020E9F7119701900D92002050 -:101E2000E1F70895FC018191861721F08823D9F705 -:101E3000992708953197CF010895FB01DC018D9119 -:101E4000019080190110D9F3990B0895FB01DC0171 -:101E500001900D920020E1F70895FB01DC01415053 -:101E6000504030F08D910190801919F40020B9F79D -:101E7000881B990B0895FB01DC014150504048F04C -:101E800001900D920020C9F701C01D9241505040B1 -:101E9000E0F708950F931F93CF93DF93CDB7DEB78D -:101EA0002E970FB6F894DEBF0FBECDBF0E891F89E7 -:101EB0008EE08C831A8309838FEF9FE79E838D8347 -:101EC000AE01465E5F4F688D798DCE01019610D0D0 -:101ED000EF81F885E00FF11F10822E960FB6F8946F -:101EE000DEBF0FBECDBFDF91CF911F910F9108953F -:101EF0002F923F924F925F926F927F928F929F921A -:101F0000AF92BF92CF92DF92EF92FF920F931F9307 -:101F1000CF93DF93CDB7DEB72C970FB6F894DEBF23 -:101F20000FBECDBF7C016B018A01FC0117821682B6 -:101F3000838181FFB0C1CE0101964C01F7019381ED -:101F4000F60193FD859193FF81916F01882309F438 -:101F50009EC1853239F493FD859193FF81916F0184 -:101F6000853221F4B70190E0EDD1E8CF512C312C2E -:101F700020E02032A0F48B3269F030F4803259F046 -:101F8000833269F420612CC08D3239F0803339F40A -:101F9000216026C02260246023C0286021C027FD64 -:101FA00027C030ED380F3A3078F426FF06C0FAE04B -:101FB0005F9E300D1124532E13C08AE0389E300DE1 -:101FC0001124332E20620CC08E3221F426FD5FC115 -:101FD000206406C08C3611F4206802C0883641F4B3 -:101FE000F60193FD859193FF81916F018111C1CF1E -:101FF000982F9F7D9554933028F40C5F1F4FFFE37B -:10200000F9830DC0833631F0833771F0833509F0E1 -:1020100057C021C0F801808189830E5F1F4F44247F -:102020004394512C540114C03801F2E06F0E711C1E -:10203000F801A080B18026FF03C0652D70E002C0CA -:102040006FEF7FEFC5012C8772D12C0183012C85A6 -:102050002F77222E16C03801F2E06F0E711CF801A6 -:10206000A080B18026FF03C0652D70E002C06FEF35 -:102070007FEFC5012C8750D12C012C852068222EA2 -:10208000830123FC19C0832D90E048165906A0F463 -:10209000B70180E290E056D13A94F5CFF50127FCE4 -:1020A000859127FE81915F01B70190E04BD13110FE -:1020B0003A94F1E04F1A51084114510479F7DEC007 -:1020C000843611F0893631F5F80127FF07C06081A9 -:1020D0007181828193810C5F1F4F08C06081718183 -:1020E000882777FD8095982F0E5F1F4F2F76B22E91 -:1020F00097FF09C090958095709561957F4F8F4FA0 -:102100009F4F2068B22E2AE030E0A4014DD1A82EC6 -:10211000A81843C0853729F42F7EB22E2AE030E07C -:1021200025C0F22FF97FBF2E8F36C1F018F4883505 -:1021300079F0ADC0803719F0883721F0A8C02F2F73 -:102140002061B22EB4FE0DC08B2D8460B82E09C064 -:1021500024FF0AC09F2F9660B92E06C028E030E009 -:1021600005C020E130E002C020E132E0F801B7FE16 -:1021700007C060817181828193810C5F1F4F06C00F -:102180006081718180E090E00E5F1F4FA4010CD14F -:10219000A82EA818FB2DFF77BF2EB6FE0BC02B2D47 -:1021A0002E7FA51450F4B4FE0AC0B2FC08C02B2D3B -:1021B0002E7E05C07A2C2B2D03C07A2C01C0752CE5 -:1021C00024FF0DC0FE01EA0DF11D8081803311F462 -:1021D000297E09C022FF06C07394739404C0822F25 -:1021E000867809F0739423FD12C020FF06C05A2C94 -:1021F000731418F4530C5718732C731460F4B7014C -:1022000080E290E02C879ED073942C85F6CF7314D7 -:1022100010F4371801C0312C24FF11C0B70180E33E -:1022200090E02C878FD02C8522FF16C021FF03C0A1 -:1022300088E590E002C088E790E0B7010CC0822FEB -:10224000867851F021FD02C080E201C08BE227FDBB -:102250008DE2B70190E076D0A51430F4B70180E3A9 -:1022600090E070D05A94F8CFAA94F401EA0DF11DD1 -:102270008081B70190E066D0A110F6CF332009F439 -:102280005DCEB70180E290E05DD03A94F7CFF701E0 -:102290008681978102C08FEF9FEF2C960FB6F8943E -:1022A000DEBF0FBECDBFDF91CF911F910F91FF9089 -:1022B000EF90DF90CF90BF90AF909F908F907F90E6 -:1022C0006F905F904F903F902F900895F999FECFB7 -:1022D00092BD81BDF89A992780B50895A6E1B0E036 -:1022E00044E050E0C1C00396272FCDD0CBD0252F9E -:1022F000CAD0242FC8C0262FF999FECF1FBA92BD8D -:1023000081BD20BD0FB6F894FA9AF99A0FBE0196D6 -:102310000895992788270895FC0105906150704021 -:102320000110D8F7809590958E0F9F1F0895FC019E -:102330006150704001900110D8F7809590958E0FF4 -:102340009F1F08950F931F93CF93DF93182F092F8B -:10235000EB018B8181FD03C08FEF9FEF20C082FFD7 -:1023600010C04E815F812C813D81421753077CF460 -:10237000E881F9819F012F5F3F4F398328831083C4 -:1023800006C0E885F985812F1995892B29F72E81BB -:102390003F812F5F3F4F3F832E83812F902FDF910F -:1023A000CF911F910F910895FA01AA27283051F17A -:1023B000203181F1E8946F936E7F6E5F7F4F8F4F76 -:1023C0009F4FAF4FB1E03ED0B4E03CD0670F781FD5 -:1023D000891F9A1FA11D680F791F8A1F911DA11DBA -:1023E0006A0F711D811D911DA11D20D009F46894F3 -:1023F0003F912AE0269F11243019305D3193DEF69B -:10240000CF010895462F4770405D4193B3E00FD050 -:10241000C9F7F6CF462F4F70405D4A3318F0495D3B -:1024200031FD4052419302D0A9F7EACFB4E0A6951E -:102430009795879577956795BA95C9F70097610540 -:10244000710508959B01AC010A2E06945795479596 -:1024500037952795BA95C9F7620F731F841F951F8B -:10246000A01D0895DC01CB01FC01F999FECF06C047 -:10247000F2BDE1BDF89A319600B40D924150504042 -:10248000B8F70895262FF999FECF92BD81BDF89A2D -:10249000019700B4021639F01FBA20BD0FB6F894A8 -:1024A000FA9AF99A0FBE089511E6C0E9D1E600E064 -:1024B00006C022970109FE010BBF0F94B309C23970 -:0C24C000D10780E00807A9F7F894FFCFCF -:1024CC000000221F20000A01FF3FFF3F4C62B04575 -:1024DC00E65A343F8F42FC420000803FF45A0344DA -:1024EC00EA784C3F33B323421A0A200826062C0400 -:1024FC0032024C4E004EB74D784D464DF44CBB4C11 -:10250C00604C214CE14B974B4D4B034BAF4A5B4A14 -:10251C00024AC24978492E49E44890483C48E3476E -:10252C00B44768471947EB46C3468D465F4631466C -:10253C000346D545A34571452E45F544B7447C4427 -:10254C005B4433440B44F043B54393436C434543E2 -:10255C001E43F442D142AE42864259424542314278 -:10256C001342F541D741B9419B416E4146411E4151 -:10257C000041F640EC40E240D840BF408D406F40F7 -:10258C003D400B40D93FA73F753F3D3F1C3FEF3EC1 -:10259C00C23E863E4A3E0E3ECD3D8C3D4E3DFB3C02 -:1025AC00D33C9F3C753C523C113CCC3B833B483B61 -:1025BC00023BCE3A773A263ADD39A2396E393E39AA -:1025CC000739D0389938763844380D38E037AE377B -:1025DC0056371A37D73682362836FB35C4358D3503 -:1025EC0047350135AC3465342C34EC339B336933CB -:1025FC003733E832903263324132E831C2317631CE -:10260C0064315431FE30AD305C302430DA2F8F2FF2 -:10261C00332FDC2E862E262ECD2D702D162DDF2C55 -:10262C00B72C672C122CC22B722B362BE62A9B2A2A -:10263C00282A192ABF29C028252853278126222673 -:10264C00D2258C251925A6243324C0234D23AD2255 -:10265C003A22FE21AF2161212B21DA1CA31C081C7C -:10266C00BA198D192E19D4187F1857182F18071846 -:10267C00DF17B7178F171217E016C716771618162D -:10268C00D71578152815F1148D142914E313BB13E1 -:10269C0075131B13C1127112031295113111E6102F -:1026AC006410CE0F830F380FF80E800E580EF60DF7 -:1026BC00BC0D640D0C0DAE0C6E0C200CC40B780B09 -:1026CC00220BEE0ACE0A9E0A4A0A0A0AB4096109CA -:1026DC001D09D4087E082608CE0776071E07C606F5 -:1026EC006F062106D90581054005F704604E0E4E94 -:1026FC00C44D844D504D054DC54C744C304CEF4B76 -:10270C00A74B5D4B134BC14A6D4A154AD0498849BA -:10271C003E49F448A2484E48F647BF4776472747FC -:10272C00F646CB4696466B463D460F46DE45AD45D6 -:10273C007B453F450445C744854461443B441344B1 -:10274C00F743C4439C4375434E432743FD42D84251 -:10275C00B5428E426242494235421942FB41DD414B -:10276C00BF41A14177414E4126410641F840EE4020 -:10277C00E440DA40C4409740754047401540E33F81 -:10278C00B13F7F3F493F223FF83ECB3E923E563E03 -:10279C001A3EDA3D993D5B3D0B3DDB3CAA3C7E3C51 -:1027AC005B3C1F3CD83B923B523B103BD73A883AA0 -:1027BC00373AEC39AB39773948391239DB38A43828 -:1027CC007D384E381838E937B83768372337E23652 -:1027DC0093363A360436CF35983559350F35BC34E7 -:1027EC0074343734F833A93374333F33F732A232AD -:1027FC006C324732F731C8318231683158310D3182 -:10280C00BF306D303230EA2F9B2F452FEE2E982E95 -:10281C00382EDF2D812D232DEA2CBF2C772C232C49 -:10282C00D22B822B422BF62AAA2A3F2A1C2AD129E8 -:10283C00F32844287D27AB263526E2259A2530251A -:10284C00BD244A24D7236423CD2251220922BB2143 -:10285C0073213621B71DAE1C271C301A961941194D -:10286C00E61890185F1837180F18E717BF17971747 -:10287C002B17EA16CC1687162B16E4158B15381564 -:10288C00FC14A1143D14F113C31383132D13D31291 -:10289C0081121912AB114511F5107E10EC0F920F2D -:1028AC00470F060F980E5F0E0B0EC70D750D1D0D05 -:1028BC00BF0C7B0C320CD60B850B320BF70AD50AEE -:1028CC00A60A5A0A170AC70972092A09E3089008C6 -:1028DC003808E00788073007D80681063306EB0571 -:1028EC0093054D050405734E1F4ED54D934D5A4D12 -:1028FC00144DD64C854C3B4CFB4BB54B6B4B214B89 -:10290C00D14A7D4A264ADC4996494C490249B2488B -:10291C005E480748C74786473847FE46D346A14618 -:10292C00734645461746E745B74585454A450D4527 -:10293C00D1448F44674443441B44FC43CF43A243DC -:10294C007C4355432E430543DF42BC4296426B42C7 -:10295C004D4239421F420142E341C541A7418041EA -:10296C0056412E410C41FA40F040E640DC40C94053 -:10297C00A1407B4051401F40ED3FBB3F893F553F3D -:10298C00293F013FD43E9E3E623E263EE73DA63D9A -:10299C00673D1C3DE33CB63C863C633C303CE93B2C -:1029AC00A43B5D3B223BE13A9A3A493AFA39BA39AF -:1029BC0088394F391D39E638AF38843858382338C0 -:1029CC00F237C2377A373137F136A4364C360D36FA -:1029DC00DA35A33565351D35CE34833442340534B0 -:1029EC00BF337B334B330733B73275324E32093238 -:1029FC00D03194316B315B311D31CE307B3039307D -:102A0C00F92FA92F562F002FA82E4C2EF12D932DD8 -:102A1C00352DF52CC72C872C342CE22B922B4E2BDE -:102A2C00062BB92A562A1F2AE32926296328A72709 -:102A3C00D5264826F225A8254725D4246124EE2343 -:102A4C007B23ED2268221722CD2183214221941E63 -:102A5C00B91C461CA61A9F195419F818A118671806 -:102A6C003F181718EF17C7179F174417F416D116EE -:102A7C0097163E16F1159E1548150715B5145114E9 -:102A8C00FF13CB1391133F13E51291122F12C111A7 -:102A9C005911041198100A10A10F560F120FB00EF5 -:102AAC00670E1D0ED30D870D2F0DD80C860C440C04 -:102ABC00E80B950B4B0B030BDB0AB10A6C0A240ACF -:102ACC00D80981093809F308A0084A08F0079A07C1 -:102ADC004207EA0691063D06F405A4055B051605BA -:102AEC00884E304EE54DA34D644D264DE04C964C32 -:102AFC00464C074CC34B794B2F4BE14A8D4A374A16 -:102B0C00E849A4495A491049C2486E481848D14767 -:102B1C00964749470647DB46AC467B464D461F4623 -:102B2C00F145C1458F4555451645DB44A8446E44D7 -:102B3C004B4423440344D743A94383435C43354369 -:102B4C000D43E642C3429E42744251423D422542ED -:102B5C000742E941CB41AD4189415E4136411241C9 -:102B6C00FC40F240E840DE40CE40AB4081405B4050 -:102B7C002940F73FC53F933F613F303F0A3FDD3E61 -:102B8C00AA3E6E3E323EF43DB33D733D2D3DEB3CD3 -:102B9C00BD3C8E3C6A3C363CF93BB33B6B3B2E3B1D -:102BAC00F03AAC3A593A0A3ACB3990395A39283971 -:102BBC00F138BA388B3862382E38FB37CC378D3732 -:102BCC003F370037B5365E361636E535AE357035DF -:102BDC002B35E03492344C341234CE3388335733A3 -:102BEC001633CA327E3255321932D831A4316E3195 -:102BFC005E312D31DD30893041300830BB2F672FED -:102C0C00132FB72E622E022EA52D4B2D002DCF2C5F -:102C1C00972C452CF22BA22B5A2B162BC82A6D2A3B -:102C2C00222AF52959298228D127FF265B2602263C -:102C3C00B6255E25EB247824052492230D237F22D0 -:102C4C002822E22195215021711FC41C651C1C1BDC -:102C5C00A81967190A19B2186F1847181F18F7170F -:102C6C00CF17A7175D17FE16D616A7165116FE1509 -:102C7C00B11558151215C91465140D14D3139F13DF -:102C8C005113F712A1124512D7116D111311B21075 -:102C9C002810B00F650F1E0FC80E700E2E0EDF0D14 -:102CAC00990D410DEA0C900C510CFC0BAA0B5C0B12 -:102CBC00100BE20ABE0A7E0A300AE709930943099F -:102CCC000109B0085A080208AA075207FA06A20618 -:102CDC004B06FD05B50567052405984E3E4EF34D94 -:102CEC00B24D6E4D354DEA4CAA4C554C154CD34B50 -:102CFC00894B3F4BF34A9F4A4A4AF649B4496A49C1 -:102D0C002049D44880482B48DA47A44757471147F5 -:102D1C00E346B946864658462A46FA45CB45994578 -:102D2C0066452545EB44B144754453442B44074454 -:102D3C00E643B0438C4365433E431643ED42CA42DF -:102D4C00A6427D42554241422B420D42EF41D141B8 -:102D5C00B341924166413E411841FE40F440EA4085 -:102D6C00E040D340B5408740654033400140CF3F01 -:102D7C009D3F693F363F133FE63EB63E7A3E3E3EB0 -:102D8C00013EC03D803D3D3DF33CC73C973C703C13 -:102D9C00463C043CC13B753B3D3BF93ABD3A683A75 -:102DAC00183AD439993964393339FC38C5389238E2 -:102DBC006C3839380438D6379E3748370B37C63617 -:102DCC0070361F36F035B9357F353935F134A134CD -:102DDC0059341E34DB33923361332733DA32873282 -:102DEC005C322D32E031AF31723161314031EE3035 -:102DFC009C3050301630CA2F7C2F232FC92E742EA6 -:102E0C00142EBA2D5F2D0B2DD72CA72C562C022C43 -:102E1C00B22B662B262BD72A842A252A072A8C2903 -:102E2C00A128FB2729276E261226C42575250225E5 -:102E3C008F241C24A9232D2396223222F021A32196 -:102E4C0058214E20CF1C841C921BB1197A191C19C5 -:102E5C00C31877184F182718FF17D717AF177617FF -:102E6C000817DB16B71664160B16C41568151D1556 -:102E7C00DD1479141B14DB13AD1363130913B11296 -:102E8C005B12ED1181112211CC104610BF0F740F83 -:102E9C002C0FE00E780E430EEA0DAA0D520DFB0C12 -:102EAC009F0C600C0E0CB70B6B0B190BE80AC60AC7 -:102EBC008E0A3D0AF909A10950090F09C2086C08CC -:102ECC001408BC0764070C07B4065D060F06C7059B -:102EDC00740531050160EA00000080BB440101006B -:102EEC00000041000034420000504100004040000E -:102EFC00007F4300005243000052430000000000DA -:102F0C000080C0CDCC4C3E0000803F0000404064AF -:102F1C000064006400640000803B4500803B450079 -:102F2C0000484400000000027BCD013200E6006442 -:102F3C0000DC005A00F0006400FE000101010101F8 -:102F4C001C023E03F4010E013E03C2010E013E03BE -:102F5C00C20100000243FF000040001400540000B6 -:102F6C001F1511151F00000C12120C00000000049C -:102F7C000A0A0A0A11110E040E1F041C000000009C -:102F8C0006191803130C00001C1F11111F00000060 -:102F9C0004120912040000000E1315110E0000009B -:102FAC0000000000110A040000C8420000C84200E2 -:102FBC0000C843CD4C21430000FA430000FA430003 -:102FCC00007A440000C8412823000028230000E8B0 -:102FDC00030000102700001010101010504944205E -:102FEC004175746F74756E652073746172740050E2 -:102FFC004944204175746F74756E65206661696C07 -:10300C0065642E2042616420657874727564657203 -:10301C00206E756D6265722E0000000000234FC596 -:10302C00002F006F70656E206661696C65642C20E2 -:10303C0046696C653A20004E6F74207072696E742C -:10304C00696E670053442D5052494E54494E4720E7 -:10305C002020202020202020004D31313200332E22 -:10306C00302E3100315F37356D6D5F4D4B322D5247 -:10307C00414D426F3133612D453344763666756C64 -:10308C006C004738302064697361626C6564003F82 -:10309C00005072757361206933204D4B32002070E3 -:1030AC003A0020693A0020643A0020633A00540048 -:1030BC0000000100250030001D000C001800240049 -:1030CC0031001C000B00170023002F001B000A000E -:1030DC001E0047000400060022002B001A0003000B -:1030EC00360037003500380058595A454F4B00050B -:1030FC002E2E003E00206D6D006D2000636D00686B -:10310C00200073006B6D0068007C002D2D2D2D2D83 -:10311C002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0000 -:10312C00486F74656E640058005900426564004C29 -:10313C006F6164696E672066696C616D656E7400A1 -:10314C00330034002020202020202020202020208C -:10315C0020202020202020200001005E0020205A6A -:10316C0000203A200000803B4500803B4500007A5F -:10317C00440000C8420000000098DBC500000000BD -:0E318C000046FB1AFBEFFAF7FA0AFB19FB00EC -:00000001FF diff --git a/hex_files/3mm-RAMBo10a-PrusaNmk2.hex b/hex_files/3mm-RAMBo10a-PrusaNmk2.hex deleted file mode 100644 index 3f14aec26..000000000 --- a/hex_files/3mm-RAMBo10a-PrusaNmk2.hex +++ /dev/null @@ -1,8512 +0,0 @@ -:100000000C9426300C9457300C9457300C94573085 -:100010000C9457300C9457300C9457300C94573044 -:100020000C9457300C9457300C9457300C94573034 -:100030000C9457300C94E2F30C9457300C945730D6 -:100040000C9457300C940DD20C9457300C945730BC -:100050000C9457300C9457300C94C5480C94A2EF74 -:100060000C9457300C94DBCE0C9457300C945730D2 -:100070000C9457300C9457300C9457300C945730E4 -:100080000C9457300C9457300C9457300C945730D4 -:100090000C9457300C9457300C9457300C94D4EC8B -:1000A0000C9457300C9457300C9457300C945730B4 -:1000B0000C9457300C9457300C9457300C945730A4 -:1000C0000C9457300C9457300C9457300C94573094 -:1000D0000C9457300C9457300C9457300C94573084 -:1000E0000C945730124920493C494A4964497249A5 -:1000F0008C499049924996499E4926EE2BEE30EE66 -:100100003AEEB3EE44EE4CEE54EE5EEE68EE72EE76 -:1001100081EE8BEEB3EE95EE9FEEA9EED1EED4EE2E -:10012000C7EECBEE0BEFD8EEDCEEE2EEE6EEEAEE5B -:10013000F0EEF4EEF8EE0BEFFEEE02EF06EF084AFB -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8 -:100190003F2F5B5D3B2C2A225C004572723A204D5A -:1001A000415854454D50204245440054656D70659A -:1001B000726174757265206865617465642062653A -:1001C00064207377697463686564206F66662E20A7 -:1001D0004D415854454D502074726967676572658A -:1001E000642021004572723A204D494E54454D50CD -:1001F000003A20457874727564657220737769746B -:1002000063686564206F66662E204D494E54454DE7 -:1002100050207472696767657265642021004572B9 -:10022000723A204D415854454D50003A204578745B -:100230007275646572207377697463686564206F92 -:1002400066662E204D415854454D502074726967A2 -:100250006765726564202100544845524D414C2029 -:1002600052554E4157415900202D20496E76616C00 -:100270006964206578747275646572206E756D624C -:100280006572202100504944204175746F74756E69 -:10029000652066696E6973686564212050757420F5 -:1002A000746865206C617374204B702C204B69203E -:1002B000616E64204B6420636F6E7374616E74733F -:1002C0002066726F6D2061626F766520696E746F53 -:1002D00020436F6E66696775726174696F6E2E6810 -:1002E00000504944204175746F74756E65206661D5 -:1002F000696C6564212074696D656F7574002040B8 -:100300003A006F6B20543A006F6B20423A0050491C -:1003100044204175746F74756E65206661696C6503 -:1003200064212054656D7065726174757265207406 -:100330006F6F206869676800204B643A2000204B8B -:10034000693A2000204B703A200020436C6173739F -:1003500069632050494420002054753A2000204B06 -:10036000753A2000206D61783A2000206D696E3A60 -:10037000200020643A200020626961733A200070F6 -:10038000012C0190012701B0012201C0011D01F0E3 -:100390000118011002130130020E016002090190E0 -:1003A000020401C002FF000003FA004003F50080D0 -:1003B00003F000D003EB002004E6007004E100E04D -:1003C00004DC004005D700C005D2004006CD00D0B7 -:1003D00006C8008007C3003008BE00F008B900C09E -:1003E00009B400B00AAF00B00BAA00D00CA5000001 -:1003F0000EA000500F9B00C01096005012910000FC -:10040000148C00C0158700B0178200B0197D00D091 -:100410001B7800001E730040206E0090226900F0DF -:1004200024640040275F0090295A00E02B550010FB -:100430002E500020304B0010324600E03341009037 -:10044000353C001037370070383200A0392D00B02D -:100450003A2800A03B2300603C1E00103D1900908C -:100460003D1400103E0F00703E0A00C03E05000023 -:100470003F00004472756B207A20555342202000C3 -:10048000496D70726573696F6E20646520555342C3 -:1004900020005374616D70612064612055534200E7 -:1004A0005469736B207A20555342202000555342E3 -:1004B000207072696E74696E6720200053746174D5 -:1004C000797374796B61202000457374616469737A -:1004D0007469636120200053746174697374696383 -:1004E00068650053746174697374696B61202000DE -:1004F0005374617469737469637320200053656C6D -:100500006674657374206E69657564616E79004107 -:1005100075746F746573742066616C6C61646F00D0 -:100520004175746F746573742066616C6C69746F67 -:100530000053656C66746573742073656C68616CD8 -:1005400020200053656C6674657374206661696C65 -:10055000656420200053656C6674657374202020E8 -:10056000202020202020004175746F746573740072 -:100570004175746F746573740053656C667465734C -:10058000742020202020202020200053656C6674D9 -:100590006573742020202020202020200057737AAB -:1005A0007973746B6F204F4B202020202020005443 -:1005B0006F646F2062696520004E657373756E20ED -:1005C0006572726F726500567365204F4B20202054 -:1005D000202020202020202000416C6C20636F729E -:1005E00072656374202020202020004B6F6E74728F -:1005F0006F6C6120626564202020202000436F6EB4 -:1006000074726F6C2064652063616D610056657261 -:1006100069666963612070696173747261004B6F10 -:100620006E74726F6C61206265642020202020004F -:10063000436865636B696E672062656420202020D3 -:1006400020004B6F6E74726F6C61205A2061786964 -:1006500073202000436F6E74726F6C2064656C2091 -:10066000656A65205A005665726966696361206132 -:10067000737365205A004B6F6E74726F6C61205AF1 -:100680002061786973202000436865636B696E6739 -:10069000205A20617869732020004B6F6E74726F4E -:1006A0006C6120592061786973202000436F6E745B -:1006B000726F6C2064656C20656A65205900566510 -:1006C00072696669636120617373652059004B6FBD -:1006D0006E74726F6C6120592061786973202000FC -:1006E000436865636B696E67205920617869732080 -:1006F00020004B6F6E74726F6C61205820617869B6 -:1007000073202000436F6E74726F6C2064656C20E0 -:10071000656A652058005665726966696361206183 -:100720007373652058004B6F6E74726F6C61205844 -:100730002061786973202000436865636B696E6788 -:10074000205820617869732020004B6F6E74726F9F -:100750006C6120686F74656E64202000436F6E7456 -:10076000726F6C20686F74656E64200056657269E4 -:1007700066696361206C696D2074656D70004B6FF4 -:100780006E74726F6C6120686F74656E64202000F7 -:10079000436865636B696E6720686F74656E64207B -:1007A00020004B6F6E74726F6C6120656E647374A1 -:1007B0006F707300436F6E742E20746F70657320BA -:1007C00066696E616C005665726966696361206C6A -:1007D000696D697469004B6F6E74726F6C6120652E -:1007E0006E6473746F707300436865636B696E67E2 -:1007F00020656E6473746F70730053656C6620744B -:100800006573742073746172742020004175746F75 -:10081000746573742073616C69646100496E697AF0 -:100820006961206175746F746573740053656C66DB -:100830002074657374207374617274202000536592 -:100840006C66207465737420737461727420200068 -:10085000437A6173206472756B75203A20200054CE -:1008600069656D706F20646520696D702E3A005463 -:10087000656D706F207374616D70613A00436173D0 -:10088000207469736B75203A2020005072696E7471 -:100890002074696D653A20200046696C616D656E53 -:1008A00074203A20200046696C616D656E746F207B -:1008B0003A20200046696C616D656E746F3A00469F -:1008C000696C616D656E74203A20200046696C6128 -:1008D0006D656E7420757365643A202000437A61FB -:1008E000732063616C6B6F77697479203A00546987 -:1008F000656D706F20746F74616C203A0054656D83 -:10090000706F207374616D706120746F743A00436E -:10091000656C6B6F767920636173203A00546F7455 -:10092000616C207072696E742074696D65203A0084 -:1009300046696C616D656E74206C61637A6E696581 -:10094000203A0046696C616D656E746F20746F7437 -:10095000616C3A0046696C616D656E746F20746FEE -:10096000743A0046696C616D656E742063656C6BEA -:10097000656D203A00546F74616C2066696C616D1E -:10098000656E74203A0053656C662074657374203C -:100990004F4B0053656C662074657374204F4B0099 -:1009A0004175746F74657374204F4B0053656C66AA -:1009B0002074657374204F4B0053656C662074651A -:1009C0007374204F4B00456E6473746F70206E6FAC -:1009D000742068697400546F70652066696E2E20FB -:1009E0006E6F20746F632E004C696D2E2066756FDC -:1009F0007269706F727461746100456E6473746FB4 -:100A000070206E6F742068697400456E6473746F33 -:100A100070206E6F742068697400456E6473746F23 -:100A20007000546F70652066696E616C004C696D72 -:100A300069746520636F72736100456E6473746FCF -:100A40007000456E6473746F700053696C6E696BEF -:100A5000004D6F746F72004D6F746F7265004D6F53 -:100A6000746F72004D6F746F7200456E6473746FB3 -:100A7000707300546F7065732066696E616C004C12 -:100A8000696D69746920636F72736100456E647388 -:100A9000746F707300456E6473746F707300426C92 -:100AA000616420706F6C61637A656E696100457284 -:100AB000726F7220646520636F6E657869C383C648 -:100AC00092C382C2B36E004572726F726520636119 -:100AD000626C616767696F004368796261207A615F -:100AE000706F6A656E6900576972696E672065721A -:100AF000726F7200426564202F20486561746572D0 -:100B00000043616D612F43616C656E7461646F7247 -:100B100000506961737472612F52697363616C6410 -:100B200061746F726500426564202F2048656174AE -:100B3000657200426564202F20486561746572000B -:100B40004865617465722F546865726D6973746F5E -:100B5000720043616C656E742E2F5465726D6973FB -:100B6000746F720052697363616C642E2F546572E6 -:100B70006D6973746F7265004865617465722F5496 -:100B80006865726D6973746F72004865617465722F -:100B90002F546865726D6973746F72004E696520B9 -:100BA000706F646C61637A6F6E6F202020004E6FEF -:100BB0002068617920636F6E6578696F6E20200010 -:100BC0004E6F6E20636F6E6E6573736F004E657A45 -:100BD00061706F6A656E6F20202020004E6F742058 -:100BE000636F6E6E656374656400536B6F6E7472D1 -:100BF0006F6C756A203A00436F6E74726F6C61207F -:100C00003A0056657269666963613A005A6B6F6EA5 -:100C100074726F6C756A7465203A00506C6561730C -:100C20006520636865636B203A0053656C66746584 -:100C30007374206572726F72202100C383E2809A00 -:100C4000C382C2A14175746F74657374206572723A -:100C50006F7221004175746F74657374206E6567DF -:100C6000617469766F0053656C6674657374206592 -:100C700072726F7220210053656C66746573742004 -:100C80006572726F72202100686F77746F2E7072B8 -:100C900075736133642E637A00686F77746F2E709A -:100CA0007275736133642E636F6D00686F77746F54 -:100CB0002E707275736133642E636F6D00686F7789 -:100CC000746F2E707275736133642E637A00686F6F -:100CD00077746F2E707275736133642E636F6D005D -:100CE000666F72756D2E707275736133642E637AE0 -:100CF00000666F72756D2E707275736133642E634A -:100D00006F6D00666F72756D2E70727573613364EE -:100D10002E636F6D00666F72756D2E7072757361E4 -:100D200033642E637A00666F72756D2E7072757300 -:100D30006133642E636F6D00707275736133642E5E -:100D4000637A00707275736133642E636F6D007027 -:100D50007275736133642E636F6D007072757361A9 -:100D600033642E637A00707275736133642E636F1F -:100D70006D005779626F72206A657A796B61202005 -:100D80002020202020200043616D626961206C6179 -:100D9000206C656E677561200053656C657A2E2046 -:100DA0006C61206C696E67756100567962657220AE -:100DB0006A617A796B612020202020202020005356 -:100DC000656C656374206C616E6775616765202072 -:100DD00020202000506F6C736B6900457370616E4A -:100DE0006F6C004974616C69616E6F004365737468 -:100DF000696E6100456E676C697368004572726F59 -:100E00007220696E206D656E7520737472756374DF -:100E1000757265004572726F7220696E206D656E25 -:100E20007520737472756374757265004572726FA4 -:100E30007220696E206D656E7520737472756374AF -:100E4000757265004572726F7220696E206D656EF5 -:100E50007520737472756374757265004572726F74 -:100E60007220696E206D656E75207374727563747F -:100E700075726500446F737461766F76616E692078 -:100E80005A0041646A757374696E67205A00416440 -:100E90006A757374696E67205A00446F7374617663 -:100EA0006F76616E69205A0041646A757374696E69 -:100EB00067205A00426162797374657070696E6769 -:100EC000205900426162797374657070696E6720A1 -:100ED0005900426162797374657070696E67205958 -:100EE00000426162797374657070696E67205900A1 -:100EF000426162797374657070696E67205900424F -:100F00006162797374657070696E67205800426120 -:100F100062797374657070696E672058004261620F -:100F2000797374657070696E6720580042616279E8 -:100F30007374657070696E672058004261627973DE -:100F400074657070696E6720580020746F6F206C34 -:100F50006F6E6720657874727573696F6E2070723A -:100F60006576656E7465640020746F6F206C6F6EBB -:100F70006720657874727573696F6E20707265761C -:100F8000656E7465640020746F6F206C6F6E6720EF -:100F9000657874727573696F6E2070726576656EB0 -:100FA0007465640020746F6F206C6F6E67206578C5 -:100FB00074727573696F6E2070726576656E746594 -:100FC000640020746F6F206C6F6E67206578747298 -:100FD0007573696F6E2070726576656E74656400F6 -:100FE00020636F6C6420657874727573696F6E200E -:100FF00070726576656E7465640020636F6C642042 -:10100000657874727573696F6E2070726576656E3F -:101010007465640020636F6C642065787472757306 -:10102000696F6E2070726576656E7465640020630A -:101030006F6C6420657874727573696F6E2070725E -:101040006576656E7465640020636F6C64206578F6 -:1010500074727573696F6E2070726576656E7465F3 -:101060006400656E6473746F7073206869743A20ED -:1010700000656E6473746F7073206869743A200041 -:10108000656E6473746F7073206869743A200065CC -:101090006E6473746F7073206869743A2000656EB3 -:1010A0006473746F7073206869743A2000537465B8 -:1010B000707261746520746F6F20686967683A2088 -:1010C00000537465707261746520746F6F20686975 -:1010D00067683A2000537465707261746520746F9C -:1010E0006F20686967683A20005374657072617494 -:1010F0006520746F6F20686967683A2000537465D3 -:10110000707261746520746F6F20686967683A2037 -:101110000043616E6E6F7420656E74657220737526 -:10112000626469723A200043616E6E6F7420656E6E -:10113000746572207375626469723A200043616E4F -:101140006E6F7420656E7465722073756264697267 -:101150003A200043616E6E6F7420656E7465722074 -:101160007375626469723A200043616E6E6F742019 -:10117000656E746572207375626469723A200065E9 -:1011800072726F722077726974696E6720746F2053 -:1011900066696C65006572726F7220777269746936 -:1011A0006E6720746F2066696C65006572726F727D -:1011B0002077726974696E6720746F2066696C6548 -:1011C000006572726F722077726974696E6720743D -:1011D0006F2066696C65006572726F722077726944 -:1011E00074696E6720746F2066696C65004E6F7459 -:1011F000205344207072696E74696E67004E6F747C -:10120000205344207072696E74696E67004E6F746B -:10121000205344207072696E74696E67004E6F745B -:10122000205344207072696E74696E67004E6F744B -:10123000205344207072696E74696E6700534420B5 -:101240007072696E74696E672062797465200053EC -:1012500044207072696E74696E67206279746520CB -:10126000005344207072696E74696E6720627974ED -:101270006520005344207072696E74696E67206245 -:1012800079746520005344207072696E74696E67CA -:101290002062797465200057726974696E672074E2 -:1012A0006F2066696C653A200057726974696E67D1 -:1012B00020746F2066696C653A2000577269746902 -:1012C0006E6720746F2066696C653A2000577269FA -:1012D00074696E6720746F2066696C653A200057E8 -:1012E000726974696E6720746F2066696C653A2054 -:1012F0000046696C652073656C65637465640046BF -:10130000696C652073656C65637465640046696C1F -:10131000652073656C65637465640046696C65205F -:1013200073656C65637465640046696C65207365FC -:101330006C6563746564002053697A653A20002007 -:1013400053697A653A20002053697A653A20002073 -:1013500053697A653A20002053697A653A2000463D -:10136000696C65206F70656E65643A200046696C33 -:1013700065206F70656E65643A200046696C652073 -:101380006F70656E65643A200046696C65206F7009 -:10139000656E65643A200046696C65206F70656E05 -:1013A00065643A20006F70656E206661696C6564E3 -:1013B0002C2046696C653A20006F70656E2066616E -:1013C000696C65642C2046696C653A20006F706515 -:1013D0006E206661696C65642C2046696C653A20F4 -:1013E000006F70656E206661696C65642C204669CB -:1013F0006C653A20006F70656E206661696C65648B -:101400002C2046696C653A2000776F726B446972D4 -:10141000206F70656E206661696C656400776F721D -:101420006B446972206F70656E206661696C6564DB -:1014300000776F726B446972206F70656E20666111 -:10144000696C656400776F726B446972206F7065B8 -:101450006E206661696C656400776F726B446972B7 -:10146000206F70656E206661696C6564005344206E -:1014700063617264206F6B00534420636172642067 -:101480006F6B0053442063617264206F6B005344A0 -:101490002063617264206F6B005344206361726447 -:1014A000206F6B006F70656E526F6F74206661699C -:1014B0006C6564006F70656E526F6F742066616951 -:1014C0006C6564006F70656E526F6F742066616941 -:1014D0006C6564006F70656E526F6F742066616931 -:1014E0006C6564006F70656E526F6F742066616921 -:1014F0006C656400766F6C756D652E696E6974201D -:101500006661696C656400766F6C756D652E696ED9 -:101510006974206661696C656400766F6C756D65D1 -:101520002E696E6974206661696C656400766F6C03 -:10153000756D652E696E6974206661696C656400FD -:10154000766F6C756D652E696E6974206661696C65 -:10155000656400534420696E6974206661696C009B -:10156000534420696E6974206661696C005344209D -:10157000696E6974206661696C00534420696E6904 -:1015800074206661696C00534420696E697420663A -:1015900061696C0043616E6E6F74206F70656E20C0 -:1015A0007375626469720043616E6E6F74206F7050 -:1015B000656E207375626469720043616E6E6F744C -:1015C000206F70656E207375626469720043616E8E -:1015D0006E6F74206F70656E20737562646972003F -:1015E00043616E6E6F74206F70656E2073756264F8 -:1015F000697200486F74656E64206F666673657407 -:10160000733A00486F74656E64206F666673657424 -:10161000733A00486F74656E64206F666673657414 -:10162000733A00486F74656E64206F666673657404 -:10163000733A00486F74656E64206F6666736574F4 -:10164000733A006F70656E006F70656E006F706545 -:101650006E006F70656E006F70656E005452494782 -:101660004745524544005452494747455245440076 -:10167000545249474745524544005452494747450B -:10168000524544005452494747455245440052652B -:10169000706F7274696E6720656E6473746F70200A -:1016A000737461747573005265706F7274696E67DC -:1016B00020656E6473746F70207374617475730049 -:1016C0005265706F7274696E6720656E6473746FB3 -:1016D0007020737461747573005265706F727469F1 -:1016E0006E6720656E6473746F70207374617475B7 -:1016F00073005265706F7274696E6720656E6473F3 -:10170000746F7020737461747573007A5F6D6178A3 -:101710003A20007A5F6D61783A20007A5F6D6178D7 -:101720003A20007A5F6D61783A20007A5F6D6178C7 -:101730003A20007A5F6D696E3A20007A5F6D696EBB -:101740003A20007A5F6D696E3A20007A5F6D696EAB -:101750003A20007A5F6D696E3A2000795F6D61789A -:101760003A2000795F6D61783A2000795F6D617889 -:101770003A2000795F6D61783A2000795F6D617879 -:101780003A2000795F6D696E3A2000795F6D696E6D -:101790003A2000795F6D696E3A2000795F6D696E5D -:1017A0003A2000795F6D696E3A2000785F6D61784C -:1017B0003A2000785F6D61783A2000785F6D61783B -:1017C0003A2000785F6D61783A2000785F6D61782B -:1017D0003A2000785F6D696E3A2000785F6D696E1F -:1017E0003A2000785F6D696E3A2000785F6D696E0F -:1017F0003A2000785F6D696E3A2000496E76616C20 -:10180000696420657874727564657200496E7661EA -:101810006C696420657874727564657200496E76CF -:10182000616C696420657874727564657200496ED4 -:1018300076616C69642065787472756465720049BC -:101840006E76616C69642065787472756465720087 -:101850004163746976652045787472756465723A7F -:1018600020004163746976652045787472756465FB -:10187000723A200041637469766520457874727508 -:101880006465723A20004163746976652045787416 -:1018900072756465723A200041637469766520450B -:1018A000787472756465723A2000556E6B6E6F774E -:1018B0006E20636F6D6D616E643A202200556E6B11 -:1018C0006E6F776E20636F6D6D616E643A202200DB -:1018D000556E6B6E6F776E20636F6D6D616E643ADF -:1018E000202200556E6B6E6F776E20636F6D6D6199 -:1018F0006E643A202200556E6B6E6F776E20636FB8 -:101900006D6D616E643A202200526573656E643AB3 -:101910002000526573656E643A2000526573656EEF -:10192000643A2000526573656E643A200052657314 -:10193000656E643A20005072696E7465722073742B -:101940006F707065642064756520746F20657272B5 -:101950006F72732E204669782074686520657272F4 -:101960006F7220616E6420757365204D393939209E -:10197000746F20726573746172742E202854656DC3 -:101980007065726174757265206973207265736524 -:10199000742E20536574206974206166746572200A -:1019A00072657374617274696E6729005072696E32 -:1019B0007465722073746F7070656420647565203F -:1019C000746F206572726F72732E2046697820746E -:1019D0006865206572726F7220616E642075736530 -:1019E000204D39393920746F2072657374617274B7 -:1019F0002E202854656D706572617475726520695A -:101A0000732072657365742E205365742069742089 -:101A100061667465722072657374617274696E6751 -:101A200029005072696E7465722073746F707065EE -:101A3000642064756520746F206572726F72732EF6 -:101A40002046697820746865206572726F72206123 -:101A50006E6420757365204D39393920746F20729A -:101A60006573746172742E202854656D706572619F -:101A7000747572652069732072657365742E2053C6 -:101A80006574206974206166746572207265737470 -:101A9000617274696E6729005072696E7465722094 -:101AA00073746F707065642064756520746F206551 -:101AB00072726F72732E2046697820746865206593 -:101AC00072726F7220616E6420757365204D3939B2 -:101AD0003920746F20726573746172742E202854DB -:101AE000656D7065726174757265206973207265C9 -:101AF0007365742E20536574206974206166746563 -:101B0000722072657374617274696E672900507215 -:101B1000696E7465722073746F707065642064758B -:101B20006520746F206572726F72732E204669781B -:101B300020746865206572726F7220616E64207512 -:101B40007365204D39393920746F20726573746163 -:101B500072742E202854656D70657261747572659B -:101B60002069732072657365742E20536574206933 -:101B70007420616674657220726573746172746931 -:101B80006E6729005072696E7465722068616C74AA -:101B900065642E206B696C6C28292063616C6C6510 -:101BA0006421005072696E7465722068616C74659E -:101BB000642E206B696C6C28292063616C6C6564F1 -:101BC00021005072696E7465722068616C7465647E -:101BD0002E206B696C6C28292063616C6C65642114 -:101BE000005072696E7465722068616C7465642E51 -:101BF000206B696C6C28292063616C6C6564210022 -:101C00005072696E7465722068616C7465642E2010 -:101C10006B696C6C28292063616C6C656421002001 -:101C2000436F756E7420583A200020436F756E74B0 -:101C300020583A200020436F756E7420583A2000D7 -:101C400020436F756E7420583A200020436F756EE4 -:101C50007420583A20004649524D574152455F4E34 -:101C6000414D453A4D61726C696E2056312E302ED1 -:101C7000323B20537072696E7465722F6772626CAA -:101C8000206D617368757020666F722067656E36AF -:101C9000204649524D574152455F55524C3A68745F -:101CA0007470733A2F2F6769746875622E636F6D55 -:101CB0002F707275736133642F50727573612D6963 -:101CC000332D506C75732F2050524F544F434F4C4F -:101CD0005F56455253494F4E3A312E30204D4143C5 -:101CE00048494E455F545950453A507275736120CA -:101CF00069332045585452554445525F434F554E21 -:101D0000543A3120555549443A3030303030303033 -:101D1000302D303030302D303030302D30303030CC -:101D20002D3030303030303030303030300A0046F6 -:101D300049524D574152455F4E414D453A4D6172B2 -:101D40006C696E2056312E302E323B2053707269F2 -:101D50006E7465722F6772626C206D617368757046 -:101D600020666F722067656E36204649524D574196 -:101D700052455F55524C3A68747470733A2F2F670E -:101D800069746875622E636F6D2F7072757361333D -:101D9000642F50727573612D69332D506C75732FDC -:101DA0002050524F544F434F4C5F56455253494F6A -:101DB0004E3A312E30204D414348494E455F5459EB -:101DC00050453A507275736120693320455854521A -:101DD000554445525F434F554E543A31205555496D -:101DE000443A30303030303030302D303030302DDB -:101DF000303030302D303030302D303030303030E9 -:101E00003030303030300A004649524D574152454B -:101E10005F4E414D453A4D61726C696E2056312ED0 -:101E2000302E323B20537072696E7465722F677268 -:101E3000626C206D617368757020666F72206765D3 -:101E40006E36204649524D574152455F55524C3AE5 -:101E500068747470733A2F2F6769746875622E63A3 -:101E60006F6D2F707275736133642F50727573616B -:101E70002D69332D506C75732F2050524F544F43A2 -:101E80004F4C5F56455253494F4E3A312E30204DFC -:101E9000414348494E455F545950453A5072757315 -:101EA000612069332045585452554445525F434F91 -:101EB000554E543A3120555549443A30303030303F -:101EC0003030302D303030302D303030302D30301B -:101ED00030302D3030303030303030303030300A2B -:101EE000004649524D574152455F4E414D453A4D8E -:101EF00061726C696E2056312E302E323B20537049 -:101F000072696E7465722F6772626C206D6173689E -:101F1000757020666F722067656E36204649524D97 -:101F2000574152455F55524C3A68747470733A2F5A -:101F30002F6769746875622E636F6D2F7072757389 -:101F40006133642F50727573612D69332D506C7538 -:101F5000732F2050524F544F434F4C5F56455253AE -:101F6000494F4E3A312E30204D414348494E455F4E -:101F7000545950453A507275736120693320455861 -:101F80005452554445525F434F554E543A312055B3 -:101F90005549443A30303030303030302D303030E8 -:101FA000302D303030302D303030302D303030303A -:101FB00030303030303030300A004649524D5741D1 -:101FC00052455F4E414D453A4D61726C696E2056E7 -:101FD000312E302E323B20537072696E7465722F31 -:101FE0006772626C206D617368757020666F722015 -:101FF00067656E36204649524D574152455F5552EE -:102000004C3A68747470733A2F2F676974687562FC -:102010002E636F6D2F707275736133642F507275FC -:1020200073612D69332D506C75732F2050524F54AE -:102030004F434F4C5F56455253494F4E3A312E3025 -:10204000204D414348494E455F545950453A5072DE -:102050007573612069332045585452554445525F89 -:10206000434F554E543A3120555549443A3030305B -:1020700030303030302D303030302D303030302D69 -:10208000303030302D303030303030303030303053 -:10209000300A0053746F6C696B204F4B2E00426105 -:1020A0007365206C6973746F2E0050696174746F6E -:1020B00020666174746F2E00426564204F4B2E00C1 -:1020C00042656420646F6E650047727A616E69656F -:1020D0002073746F6C696B612E2E004261736520F2 -:1020E00043616C656E74616E646F005069617474F5 -:1020F0006F2072697363616C64616D2E005A616850 -:10210000726976616E692062656400426564204888 -:10211000656174696E670047727A616E6965204F08 -:102120004B2E0043616C656E74616E646F206C6948 -:1021300073746F2E0052697363616C64616D656EB8 -:10214000746F20666174746F2E005A6168726976CC -:10215000616E69204F4B2E0048656174696E67207F -:10216000646F6E652E0047727A616E69652E2E2E41 -:102170000043616C656E74616E646F2E2E2E00528A -:10218000697363616C64616D656E746F2E2E2E00D1 -:102190005A6168726976616E690048656174696E3A -:1021A00067004D31303920496E76616C6964206575 -:1021B0007874727564657220004D31303920496E33 -:1021C00076616C696420657874727564657220004C -:1021D0004D31303920496E76616C696420657874C0 -:1021E000727564657220004D31303920496E766118 -:1021F0006C696420657874727564657220004D3175 -:10220000303920496E76616C696420657874727526 -:1022100064657220004E6F20746865726D69737416 -:102220006F7273202D206E6F2074656D7065726102 -:1022300074757265004E6F20746865726D69737491 -:102240006F7273202D206E6F2074656D70657261E2 -:1022500074757265004E6F20746865726D69737471 -:102260006F7273202D206E6F2074656D70657261C2 -:1022700074757265004E6F20746865726D69737451 -:102280006F7273202D206E6F2074656D70657261A2 -:1022900074757265004E6F20746865726D69737431 -:1022A0006F7273202D206E6F2074656D7065726182 -:1022B00074757265004D32323120496E76616C69F9 -:1022C0006420657874727564657220004D32323115 -:1022D00020496E76616C69642065787472756465F6 -:1022E0007220004D32323120496E76616C69642073 -:1022F000657874727564657220004D323231204900 -:102300006E76616C6964206578747275646572209C -:10231000004D32323120496E76616C6964206578F7 -:1023200074727564657220004D32313820496E76C2 -:10233000616C696420657874727564657220004D03 -:1023400032313820496E76616C6964206578747228 -:102350007564657220004D32313820496E76616CAB -:10236000696420657874727564657220004D32313D -:102370003820496E76616C69642065787472756482 -:10238000657220004D32313820496E76616C696487 -:1023900020657874727564657220004D323030208B -:1023A000496E76616C6964206578747275646572D3 -:1023B00020004D32303020496E76616C69642065B2 -:1023C0007874727564657220004D32303020496E29 -:1023D00076616C696420657874727564657220003A -:1023E0004D32303020496E76616C696420657874B6 -:1023F000727564657220004D32303020496E76610E -:102400006C696420657874727564657220004D3162 -:10241000303520496E76616C696420657874727518 -:1024200064657220004D31303520496E76616C69EB -:102430006420657874727564657220004D313035A2 -:1024400020496E76616C6964206578747275646584 -:102450007220004D31303520496E76616C69642000 -:10246000657874727564657220004D31303520498D -:102470006E76616C6964206578747275646572202B -:10248000004D31303420496E76616C696420657886 -:1024900074727564657220004D31303420496E7657 -:1024A000616C696420657874727564657220004D92 -:1024B00031303420496E76616C69642065787472BD -:1024C0007564657220004D31303420496E76616C40 -:1024D000696420657874727564657220004D3130CE -:1024E0003420496E76616C69642065787472756415 -:1024F00065722000456E642066696C65206C6973A6 -:102500007400456E642066696C65206C69737400A4 -:10251000456E642066696C65206C69737400456E55 -:10252000642066696C65206C69737400456E642074 -:1025300066696C65206C69737400426567696E201A -:1025400066696C65206C69737400426567696E200A -:1025500066696C65206C69737400426567696E20FA -:1025600066696C65206C69737400426567696E20EA -:1025700066696C65206C69737400426567696E20DA -:1025800066696C65206C69737400446F6E652070B9 -:1025900072696E74696E672066696C6500446F6E5F -:1025A00065207072696E74696E672066696C65007B -:1025B000446F6E65207072696E74696E672066691B -:1025C0006C6500446F6E65207072696E74696E6729 -:1025D0002066696C6500446F6E65207072696E7468 -:1025E000696E672066696C65004E6F204C696E6588 -:1025F000204E756D62657220776974682063686526 -:10260000636B73756D2C204C617374204C696E651F -:102610003A20004E6F204C696E65204E756D6265E4 -:1026200072207769746820636865636B73756D2CBD -:10263000204C617374204C696E653A20004E6F2007 -:102640004C696E65204E756D62657220776974689D -:1026500020636865636B73756D2C204C6173742007 -:102660004C696E653A20004E6F204C696E65204EB5 -:10267000756D626572207769746820636865636B45 -:1026800073756D2C204C617374204C696E653A2013 -:10269000004E6F204C696E65204E756D626572202C -:1026A0007769746820636865636B73756D2C204C63 -:1026B000617374204C696E653A20004E6F20436848 -:1026C00065636B73756D2077697468206C696E65DE -:1026D000206E756D6265722C204C617374204C699C -:1026E0006E653A20004E6F20436865636B73756DAD -:1026F0002077697468206C696E65206E756D6265FF -:10270000722C204C617374204C696E653A20004E27 -:102710006F20436865636B73756D207769746820FB -:102720006C696E65206E756D6265722C204C6173EC -:1027300074204C696E653A20004E6F2043686563D3 -:102740006B73756D2077697468206C696E65206E97 -:10275000756D6265722C204C617374204C696E65D6 -:102760003A20004E6F20436865636B73756D207768 -:10277000697468206C696E65206E756D6265722C77 -:10278000204C617374204C696E653A200063686563 -:10279000636B73756D206D69736D617463682C2054 -:1027A0004C617374204C696E653A20006368656300 -:1027B0006B73756D206D69736D617463682C204C4B -:1027C000617374204C696E653A2000636865636BC1 -:1027D00073756D206D69736D617463682C204C6135 -:1027E0007374204C696E653A2000636865636B738F -:1027F000756D206D69736D617463682C204C617315 -:1028000074204C696E653A2000636865636B73756C -:102810006D206D69736D617463682C204C617374F5 -:10282000204C696E653A20004C696E65204E756DCE -:10283000626572206973206E6F74204C617374201E -:102840004C696E65204E756D6265722B312C204C83 -:10285000617374204C696E653A20004C696E652086 -:102860004E756D626572206973206E6F74204C61C5 -:102870007374204C696E65204E756D6265722B31E4 -:102880002C204C617374204C696E653A20004C69B1 -:102890006E65204E756D626572206973206E6F746F -:1028A000204C617374204C696E65204E756D6265B5 -:1028B000722B312C204C617374204C696E653A2068 -:1028C000004C696E65204E756D62657220697320DB -:1028D0006E6F74204C617374204C696E65204E7568 -:1028E0006D6265722B312C204C617374204C696EC3 -:1028F000653A20004C696E65204E756D62657220E8 -:102900006973206E6F74204C617374204C696E651E -:10291000204E756D6265722B312C204C61737420D2 -:102920004C696E653A2000446F6E6520736176696C -:102930006E672066696C652E00446F6E652073615A -:1029400076696E672066696C652E00446F6E65203F -:10295000736176696E672066696C652E00446F6EE0 -:102960006520736176696E672066696C652E004428 -:102970006F6E6520736176696E672066696C652E7F -:10298000006F6B006F6B006F6B006F6B006F6B0005 -:102990002020506C616E6E6572427566666572428B -:1029A000797465733A20002020506C616E6E6572F8 -:1029B00042756666657242797465733A200020201C -:1029C000506C616E6E6572427566666572427974AE -:1029D00065733A20002020506C616E6E65724275FE -:1029E0006666657242797465733A20002020506CE7 -:1029F000616E6E6572427566666572427974657362 -:102A00003A20002046726565204D656D6F72793AF7 -:102A100020002046726565204D656D6F72793A2001 -:102A2000002046726565204D656D6F72793A200011 -:102A30002046726565204D656D6F72793A200020E1 -:102A400046726565204D656D6F72793A2000204CA5 -:102A500061737420557064617465643A2000204C81 -:102A600061737420557064617465643A2000204C71 -:102A700061737420557064617465643A2000204C61 -:102A800061737420557064617465643A2000204C51 -:102A900061737420557064617465643A2000207C11 -:102AA00020417574686F723A2000207C2041757453 -:102AB000686F723A2000207C20417574686F723A0A -:102AC0002000207C20417574686F723A2000207CC1 -:102AD00020417574686F723A200020536F667477D6 -:102AE0006172652052657365740020536F66747758 -:102AF0006172652052657365740020536F66747748 -:102B00006172652052657365740020536F66747737 -:102B10006172652052657365740020536F66747727 -:102B20006172652052657365740020576174636833 -:102B3000646F672052657365740020576174636821 -:102B4000646F672052657365740020576174636811 -:102B5000646F672052657365740020576174636801 -:102B6000646F6720526573657400205761746368F1 -:102B7000646F67205265736574002042726F776ED0 -:102B8000206F7574205265736574002042726F77F0 -:102B90006E206F7574205265736574002042726FE9 -:102BA000776E206F757420526573657400204272D1 -:102BB0006F776E206F7574205265736574002042C4 -:102BC000726F776E206F7574205265736574002084 -:102BD00045787465726E616C20526573657400206F -:102BE00045787465726E616C20526573657400205F -:102BF00045787465726E616C20526573657400204F -:102C000045787465726E616C20526573657400203E -:102C100045787465726E616C2052657365740050FE -:102C20006F776572557000506F7765725570005000 -:102C30006F776572557000506F77657255700050F0 -:102C40006F776572557000656E717565696E672086 -:102C50002200656E717565696E67202200656E7170 -:102C60007565696E67202200656E717565696E67AE -:102C7000202200656E717565696E6720220077708D -:102C8000726F772E207A6D69616E007061726120BB -:102C9000746F6D61722065666563746F0020706586 -:102CA00072206D6F73747261726520692063616D4B -:102CB000622E002070726F2070726F6A6576656E8A -:102CC00069207A6D656E0020666F722074616B6595 -:102CD0002065666665637400526573746172742062 -:102CE0006472756B61726B69005265696E696369C4 -:102CF0006172206C6120696D702E00526961767678 -:102D0000696F206C61207374616D702E0052657361 -:102D100074617274756A7465207469736B61726E24 -:102D200075005265626F6F742074686520707269F7 -:102D30006E746572004D6F64205B772077796461F3 -:102D40006A6E6F73635D004D6F646F205B6D6173BE -:102D500020667565727A615D004D6F646F205B70EF -:102D6000697520666F727A615D004D6F6420205B2B -:102D70007679732E2076796B6F6E5D004D6F64658A -:102D8000205B6869676820706F7765725D004D6FC2 -:102D900064202020202020205B63696368795D0027 -:102DA0004D6F646F20202020205B73696C656E631B -:102DB000696F5D004D6F646F20202020205B736978 -:102DC0006C656E7A696F736F5D004D6F64202020B3 -:102DD000202020205B74696368795D004D6F646515 -:102DE00020202020205B73696C656E745D0057792C -:102DF0006D69616E612066696C616D656E747500E8 -:102E000043616D6269616E646F2066696C2E21009A -:102E10004D757465766F6C652066696C2E21005661 -:102E2000796D656E612066696C616D656E74752182 -:102E3000004368616E67696E672066696C616D65E5 -:102E40006E7421005770726F7761647A2066696CC6 -:102E5000616D656E7400496E736572746120666998 -:102E60006C616D656E746F00496E73657269726531 -:102E70002066696C616D656E746F00566C6F7A7454 -:102E8000652066696C616D656E7400496E7365726C -:102E9000742066696C616D656E74004E6163697360 -:102EA0006E696A2070727A796369736B0059207059 -:102EB000756C736520656C206D616E646F005920C0 -:102EC00070756C736520656C206D616E646F004178 -:102ED00020737469736B6E65746520746C616369CB -:102EE000746B6F00416E6420707265737320746838 -:102EF00065206B6E6F620057796D69616E61206F3E -:102F00006B210043616D62696172206269656E21A7 -:102F10000043616D6269612E207269757363697423 -:102F20006F21005A6D656E612075737065736E61F7 -:102F300021004368616E6765207375636365737311 -:102F40002100437A79737A637A2E206B6F6C6F72EB -:102F5000750043617267616E646F20636F6C6F729E -:102F60000043617267616E646F20636F6C6F720003 -:102F700043697374656E69206261727679004C6F83 -:102F80006164696E6720636F6C6F720050726F735B -:102F90007A6520637A656B61630045737065726161 -:102FA00000417370657474610050726F73696D20B5 -:102FB00063656B656A746500506C65617365207745 -:102FC000616974005770726F772E2066696C616D4D -:102FD000656E74750043617267616E646F20666927 -:102FE0006C2E0043617267616E646F2066696C2E9F -:102FF000005A61766164656E692066696C616D6511 -:103000006E7475004C6F6164696E672066696C61EF -:103010006D656E74004B6F6C6F72207A616E6965BE -:10302000637A79737A2E00436F6C6F72206E6F2013 -:10303000636C61726F00436F6C6F72206E6F206300 -:103040006C61726F004261727661206E656E6920FC -:10305000636973746100436F6C6F72206E6F7420CC -:10306000636C656172004272616B2066696C616DB0 -:10307000656E74750046696C2E206E6F20636172F8 -:103080006761646F0046696C2E206E6F2063617209 -:103090006761646F0046696C616D656E74206E6572 -:1030A0007A61766564656E0046696C616D656E7403 -:1030B000206E6F74206C6F61646564004E696500FA -:1030C0004E6F004E6F004E65004E6F0054616B00F6 -:1030D000536900536900416E6F0059657300577959 -:1030E0006D69616E61206F6B3F0043616D62696164 -:1030F000646F20636F727265632E3F0043616D627F -:103100006961746F20636F72722E3F0056796D652E -:103110006E61206F6B3F004368616E67656420637A -:103120006F72726563746C793F00506F6D6F6300EE -:10313000537570706F727400537570706F72740095 -:10314000506F64706F726100537570706F727400AD -:103150004E6167727A656A206479737A65210050DE -:10316000726563616C2E206578747275736F72215D -:10317000005072657269732E207567656C6C6F21E3 -:103180000050726564656872656A7465207472794E -:10319000736B752100507265686561742074686591 -:1031A000206E6F7A7A6C652100424C41443A0045AA -:1031B00052524F523A004552524F523A00434859E8 -:1031C00042413A004552524F523A0052656374727E -:1031D0006163740052656374726163740052656365 -:1031E0007472616374005265637472616374005237 -:1031F00065637472616374005770726F7761647A8B -:103200002066696C616D656E7400496E74726F64DE -:10321000756369722066696C616D656E746F0043D9 -:10322000617269636172652066696C616D656E7457 -:103230006F005A61766573742066696C616D656EA6 -:1032400074004C6F61642066696C616D656E74001A -:1032500057796A61632066696C616D656E740053AD -:10326000616361722066696C616D656E746F005395 -:1032700063617269636172652066696C2E005679BC -:103280006A6D6F75742066696C616D656E7400554A -:103290006E6C6F61642066696C616D656E74004769 -:1032A000727A616E69650050726563616C656E74F7 -:1032B00061720050726572697363616C6461005081 -:1032C00072656465687265760050726568656174E0 -:1032D00000557374617769656E696100416A757341 -:1032E000746500496D706F7374617A696F6E6900FF -:1032F0004E6173746176656E690053657474696EAE -:103300006773004B616C69627261636A61204F4B45 -:103310000043616C696272616369C383C692C38250 -:10332000C2B36E204F4B0043616C69627261747569 -:103330007261204F4B004B616C6962726163652062 -:103340004F4B0043616C6962726174696F6E2064F7 -:103350006F6E65004B616C696272756A65205A0018 -:1033600043616C696272616E646F205A0043616CE4 -:10337000696272616E646F205A004B616C6962729F -:10338000756A69205A0043616C6962726174696E82 -:1033900067205A004B616C696272756A205A00435B -:1033A000616C6962726172205A0043616C69627279 -:1033B00061205A004B616C6962726F766174205AA9 -:1033C0000043616C696272617465205A00567962CB -:1033D000657274652076797469736B0056796265DD -:1033E0007274652076797469736B005679626572C0 -:1033F00074652076797469736B00567962657274AE -:10340000652076797469736B005069636B20707204 -:10341000696E74004175746F646F7374726F696361 -:10342000205A3F004175746F204D6963726F70615F -:10343000736F205A3F004175746F207265676F6C1F -:10344000617265205A203F004175746F20646F6C73 -:1034500061646974205A203F004175746F20616473 -:103460006A757374205A203F00456E6473746F70E0 -:103470002061626F727400456E6473746F702061B6 -:10348000626F727400456E6473746F702061626F56 -:10349000727400456E6473746F702061626F727431 -:1034A00000456E6473746F702061626F72740044C3 -:1034B0006F7374726F6A656E6965206F7379205AD5 -:1034C000004D6963726F7061736F205A00426162D0 -:1034D0007973746570205A00446F6C6164656E691D -:1034E000206F7379205A004C6976652061646A7593 -:1034F0007374205A004261627973746570205900B8 -:103500004261627973746570205900426162797317 -:103510007465702059004261627973746570205936 -:10352000004261627973746570205900426162796A -:1035300073746570205800426162797374657020FD -:10354000580042616279737465702058004261626C -:103550007973746570205800426162797374657084 -:103560002058005A204F6666736574005A204F66D3 -:1035700066736574005A204F6666736574005A203E -:103580004F6666736574005A204F666673657400F3 -:10359000486F6D6520582F59206265666F726520EF -:1035A0005A00486F6D6520582F59206265666F720A -:1035B00065205A00486F6D6520582F592062656656 -:1035C0006F7265205A00486F6D6520582F59206230 -:1035D00065666F7265205A00486F6D6520582F59D7 -:1035E000206265666F7265205A005A2070726F62A1 -:1035F00065206F75742E20626564005A2070726FAA -:103600006265206F75742E20626564005A207072A6 -:103610006F6265206F75742E20626564005A207099 -:10362000726F6265206F75742E20626564005A2087 -:1036300070726F6265206F75742E2062656400562B -:10364000796D656E6974205344004368616E6765E7 -:103650002053442063617264004368616E67652093 -:10366000534420636172640056796D656E697420FD -:103670005344004368616E67652053442063617260 -:103680006400496E69632E20534400496E69742EAC -:10369000205344206361726400496E69742E205384 -:1036A00044206361726400496E69632E20534400B4 -:1036B000496E69742E205344206361726400577907 -:1036C0006D69656E69632066696C616D656E740015 -:1036D00043616D626961722066696C616D656E74CB -:1036E0006F0043616D62696172652066696C616D2E -:1036F000656E746F0056796D656E69742066696CCD -:10370000616D656E74004368616E67652066696C03 -:10371000616D656E74004175746F526574722E0030 -:103720004175746F526574722E004175746F5265E5 -:1037300074722E004175746F526574722E0041755B -:10374000746F526574722E00556E52657420205647 -:1037500000556E52657420205600556E52657420D7 -:10376000205600556E52657420205600556E5265E5 -:1037700074202056005320556E5265742B6D6D00D9 -:103780005320556E5265742B6D6D005320556E524B -:1037900065742B6D6D005320556E5265742B6D6DE5 -:1037A000005320556E5265742B6D6D00556E526539 -:1037B00074202B6D6D00556E526574202B6D6D005D -:1037C000556E526574202B6D6D00556E52657420D8 -:1037D0002B6D6D00556E526574202B6D6D00486F1A -:1037E00070206D6D00486F70206D6D00486F702007 -:1037F0006D6D00486F70206D6D00486F70206D6DAD -:1038000000526574726163742020560052657472B0 -:1038100061637420205600526574726163742020C5 -:1038200056005265747261637420205600526574AC -:103830007261637420205600537761702052652EA8 -:103840006D6D00537761702052652E6D6D0053775A -:1038500061702052652E6D6D005377617020526546 -:103860002E6D6D00537761702052652E6D6D005284 -:10387000657472616374206D6D005265747261636A -:1038800074206D6D0052657472616374206D6D00FB -:1038900052657472616374206D6D0052657472615B -:1038A0006374206D6D0053544F505045442E2000DA -:1038B0005041524144410041525245535441544FAA -:1038C000200053544F505045442E200053544F5025 -:1038D0005045442E20004B494C4C45442E2000506E -:1038E000415241444120444520454D4552472E0018 -:1038F00055434349534F20004B494C4C45442E20DF -:10390000004B494C4C45442E20004E6F206D6F7685 -:10391000652E0053696E206D6F76696D69656E74F2 -:103920006F004E657373756E204D6F76696D656EB1 -:10393000746F004E6F206D6F76652E004E6F206D98 -:103940006F76652E004472756B2070727A6572779F -:10395000616E79005072696E742061626F72746575 -:1039600064005374616D70612061626F7274697478 -:1039700061005469736B20707265727573656E00B7 -:103980005072696E742061626F7274656400577A58 -:103990006E6F7769656E6965206472756B7500522C -:1039A0006573756D69656E646F20696D7072652EE3 -:1039B0000052697072656E6469205374616D706144 -:1039C000004F626E6F76656E69207469736B750067 -:1039D000526573756D696E67207072696E740057F9 -:1039E00061697420666F7220757365722E2E2E00C9 -:1039F0004573706572616E646F206F7264656E6589 -:103A00007300417474656E6469205574656E7465E5 -:103A10002E2E2E005761697420666F7220757365B3 -:103A2000722E2E2E005761697420666F7220757396 -:103A300065722E2E2E00536C6565702E2E2E005250 -:103A400065706F736F2E2E2E00536F7370656E73DB -:103A5000696F6E652E2E2E00536C6565702E2E2EAE -:103A600000536C6565702E2E2E004272616B206BC8 -:103A700061727479205344004E6F2068617920741C -:103A800061726A657461205344004E6F2053442074 -:103A90004361727461005A61646E61205344206B0B -:103AA00061727461004E6F20534420636172640040 -:103AB0004472756B207A205344004D656E75206406 -:103AC00065205344004D656E752053442043617258 -:103AD0007461005469736B207A20534400507269FA -:103AE0006E742066726F6D205344005A6174727A4E -:103AF000796D6163206472756B00446574656E65F1 -:103B00007220696D70726573696F6E0041727265C3 -:103B1000737461207374616D7061005A61737461B4 -:103B2000766974207469736B0053746F70207072BF -:103B3000696E74004B6F6E74796E756F7761630098 -:103B40005265616E7564617220696D707265732E65 -:103B50000052697072656E6469207374616D706182 -:103B600000506F6B7261636F76617400526573759C -:103B70006D65207072696E740050727A657277613B -:103B800063206472756B0050617573617220696D9A -:103B900070726573696F6E00506175736100506F6C -:103BA0007A61737461766974207469736B00506113 -:103BB000757365207072696E74004E617374726FF4 -:103BC000696300416A757374617200416461747461 -:103BD00061004C616469740054756E6500507269CF -:103BE000707261766100507265706172650050722A -:103BF0006570617265005072697072617661005023 -:103C000072657061726500496E666F726D61636A9C -:103C100065004D6F6E69746F72697A6172004775E5 -:103C20006172646100496E666F726D61636500491F -:103C30006E666F2073637265656E004F626E6F769D -:103C400069740052656672657368005265667265D4 -:103C50007368004F626E6F766974005265667265B4 -:103C60007368004F626E6F76697420767963686F4F -:103C70007A6900526573746F7265206661696C734E -:103C800061666500526573746F7265206661696C68 -:103C900073616665004F626E6F7669742076796332 -:103CA000686F7A6900526573746F72652066616926 -:103CB0006C7361666500556C6F7A69742070616D14 -:103CC0006574004C6F6164206D656D6F7279004C96 -:103CD0006F6164206D656D6F727900556C6F7A69E4 -:103CE000742070616D6574004C6F6164206D656D4A -:103CF0006F72790053746F7265206D656D6F7279A4 -:103D00000053746F7265206D656D6F727900537426 -:103D10006F7265206D656D6F72790053746F726597 -:103D2000206D656D6F72790053746F7265206D65DB -:103D30006D6F7279004C434420636F6E74726173CF -:103D400074004C434420636F6E7472617374004C52 -:103D5000434420636F6E7472617374004C4344205B -:103D6000636F6E7472617374004C434420636F6EB2 -:103D700074726173740046696C2E204469612E2050 -:103D8000330046696C2E204469612E203300466959 -:103D90006C2E204469612E20330046696C2E20442D -:103DA00069612E20330046696C2E204469612E2003 -:103DB000330046696C2E204469612E20320046692A -:103DC0006C2E204469612E20320046696C2E2044FE -:103DD00069612E20320046696C2E204469612E20D4 -:103DE000320046696C2E204469612E2032004669FB -:103DF0006C2E204469612E20310046696C2E2044CF -:103E000069612E20310046696C2E204469612E20A4 -:103E1000310046696C2E204469612E2031004669CC -:103E20006C2E204469612E2031004520696E206D82 -:103E30006D33004520696E206D6D33004520696E3D -:103E4000206D6D33004520696E206D6D3300452077 -:103E5000696E206D6D330046696C616D656E74002E -:103E600046696C616D656E740046696C616D656E66 -:103E7000740046696C616D656E740046696C616DB5 -:103E8000656E7400506F687962004D6F74696F6E73 -:103E9000004D6F74696F6E00506F687962004D6FEE -:103EA00074696F6E0054656D7065726174757261CE -:103EB0000054656D70657261747572610054656D52 -:103EC0007065726174757261005465706C6F7461B5 -:103ED0000054656D70657261747572650045737428 -:103EE0006570732F6D6D004573746570732F6D6D04 -:103EF000004573746570732F6D6D00457374657044 -:103F0000732F6D6D004573746570732F6D6D005A5E -:103F100073746570732F6D6D005A73746570732FB1 -:103F20006D6D005A73746570732F6D6D005A7374E4 -:103F30006570732F6D6D005A73746570732F6D6D9E -:103F4000005973746570732F6D6D005973746570CB -:103F5000732F6D6D005973746570732F6D6D0059FB -:103F600073746570732F6D6D005973746570732F62 -:103F70006D6D005873746570732F6D6D0058737498 -:103F80006570732F6D6D005873746570732F6D6D50 -:103F9000005873746570732F6D6D0058737465707D -:103FA000732F6D6D00412D726574726163740041F1 -:103FB0002D7265747261637400412D726574726153 -:103FC000637400412D7265747261637400412D72D7 -:103FD00065747261637400416D61782000416D61A8 -:103FE000782000416D61782000416D6178200041AA -:103FF0006D617820005654726176206D696E0056AE -:1040000054726176206D696E005654726176206D2F -:10401000696E005654726176206D696E0056547256 -:104020006176206D696E00566D696E00566D696E21 -:1040300000566D696E00566D696E00566D696E00B2 -:10404000650065006500650065007A007A007A0009 -:104050007A007A0079007900790079007900780097 -:104060007800780078007800566D61782000566DF1 -:1040700061782000566D61782000566D61782000CF -:10408000566D6178200056652D6A65726B00566525 -:104090002D6A65726B0056652D6A65726B005665F8 -:1040A0002D6A65726B0056652D6A65726B00567AD3 -:1040B0002D6A65726B00567A2D6A65726B00567AAE -:1040C0002D6A65726B00567A2D6A65726B00567A9E -:1040D0002D6A65726B005678792D6A65726B005691 -:1040E00078792D6A65726B005678792D6A65726BE6 -:1040F000005678792D6A65726B005678792D6A655D -:10410000726B00416363656C00416363656C0041E1 -:104110006363656C00416363656C00416363656C58 -:10412000005049442D43005049442D430050494418 -:104130002D43005049442D43005049442D43005025 -:1041400049442D44005049442D44005049442D44D5 -:10415000005049442D44005049442D4400504944E6 -:104160002D49005049442D49005049442D490050E3 -:1041700049442D49005049442D49005049442D508F -:10418000005049442D50005049442D50005049449E -:104190002D50005049442D50004F6666004F666612 -:1041A000004F6666004F6666004F6666004F6E20E1 -:1041B000004F6E20004F6E20004F6E20004F6E208B -:1041C000004175746F74656D70004175746F74652E -:1041D0006D70004175746F74656D70004175746F1A -:1041E00074656D70004175746F74656D70002002A8 -:1041F000204661637400200220466163740020023F -:10420000204661637400200220466163740020022E -:104210002046616374002002204D61780020022056 -:104220004D6178002002204D6178002002204D6110 -:1042300078002002204D6178002002204D696E0038 -:104240002002204D696E002002204D696E00200280 -:10425000204D696E002002204D696E004B6F6E7418 -:10426000726F6C6100436F6E74726F6C00436F6E9F -:1042700074726F6C004B6F6E74726F6C6100436F81 -:104280006E74726F6C00507275746F6B20320046E2 -:104290006C6F77203200466C6F7720320050727559 -:1042A000746F6B203200466C6F772032005072754D -:1042B000746F6B203100466C6F77203100466C6F55 -:1042C00077203100507275746F6B203100466C6F2F -:1042D00077203100507275746F6B203000466C6F20 -:1042E00077203000466C6F77203000507275746F05 -:1042F0006B203000466C6F7720300050727A65700A -:104300006C797700466C756A6F00466C7573736FD5 -:1043100000507275746F6B00466C6F770050726559 -:10432000646B6F73632077656E742E0056656E74D0 -:10433000696C61646F720056656E746F6C610052D7 -:104340007963686C6F73742076656E742E004661B5 -:104350006E2073706565640053746F6C696B004206 -:104360006173650050696174746F00426564004256 -:10437000656400547279736B6133004E6F7A7A6CA6 -:104380006533004E6F7A7A6C653300547279736BC3 -:104390006133004E6F7A7A6C653300547279736BB7 -:1043A0006132004E6F7A7A6C6532004E6F7A7A6CA9 -:1043B000653200547279736B6132004E6F7A7A6C99 -:1043C0006532004479737A61004675736F720055E7 -:1043D00067656C6C6F00547279736B61004E6F7A15 -:1043E0007A6C6500507265646B6F73630056656C20 -:1043F0006F63696461640056656C636974C383C6E6 -:1044000092C386E28099C383E2809AC382C2A000ED -:10441000527963686C6F7374005370656564005003 -:104420006F73756E6F7574206F2031306D6D004D38 -:104430006F76652031306D6D004D6F7665203130BF -:104440006D6D00506F73756E6F7574206F20313015 -:104450006D6D004D6F76652031306D6D00506F735E -:10446000756E6F7574206F20316D6D004D6F7665C0 -:1044700020316D6D004D6F766520316D6D00506F90 -:1044800073756E6F7574206F20316D6D004D6F7692 -:104490006520316D6D00506F73756E6F7574206F90 -:1044A00020302E316D6D004D6F766520302E316DD0 -:1044B0006D004D6F766520302E316D6D00506F733D -:1044C000756E6F7574206F20302E316D6D004D6FDD -:1044D000766520302E316D6D004578747275646597 -:1044E0007233004578747275646572330045787470 -:1044F00072756465723300457874727564657233E1 -:10450000004578747275646572330045787472750D -:104510006465723200457874727564657232004564 -:10452000787472756465723200457874727564656A -:104530007232004578747275646572320045787421 -:104540007275646572004578747275736F72004598 -:1045500073747275736F72650045787472756465F3 -:10456000720045787472756465720050727A657372 -:10457000756E6163205A004D6F766572205A004D4A -:10458000756F7669205A00506F73756E6F75742061 -:104590005A004D6F7665205A0050727A6573756EB9 -:1045A00061632059004D6F7665722059004D756F1B -:1045B0007669205900506F73756E6F7574205900BD -:1045C0004D6F766520590050727A6573756E616320 -:1045D0002058004D6F7665722058004D756F7669D2 -:1045E000205800506F73756E6F75742058004D6FB2 -:1045F000766520580052756368206F7369004D6FAF -:1046000076657220656A6573004D756F7669204125 -:1046100073736500506F73756E6F7574206F73756B -:10462000004D6F7665206178697300526574726120 -:1046300063740052657472616374005265747261D0 -:1046400063740052657472616374005265747261C0 -:104650006374004578747275646F76617400457890 -:104660007472756465004578747275646500457888 -:10467000747275646F7661740045787472756465E0 -:10468000005A61706E6F7574207A64726F6A00539D -:10469000776974636820706F776572206F66660053 -:1046A00053776974636820706F776572206F6666F0 -:1046B000005A61706E6F7574207A64726F6A00536D -:1046C000776974636820706F776572206F66660023 -:1046D0005679706E6F7574207A64726F6A005377C2 -:1046E0006974636820706F776572206F6E0053770E -:1046F0006974636820706F776572206F6E005679F9 -:10470000706E6F7574207A64726F6A005377697483 -:10471000636820706F776572206F6E0057796368E9 -:104720006C6F647A696300456E66726961720052EB -:104730006166667265646461005A63686C6164698D -:104740007400436F6F6C646F776E005072656465C0 -:10475000687265762041425320636F6E6600507226 -:1047600065686561742041425320636F6E66005036 -:104770007265686561742041425320636F6E660004 -:104780005072656465687265762041425320636F9C -:104790006E66005072656865617420414253206303 -:1047A0006F6E66005072656465687265762041427E -:1047B000532042656400507265686561742041420F -:1047C00053204265640050726568656174204142FF -:1047D0005320426564005072656465687265762096 -:1047E00041425320426564005072656865617420DF -:1047F0004142532042656400507265646568726589 -:10480000762041425320416C6C00507265686561AE -:10481000742041425320416C6C00507265686561A0 -:10482000742041425320416C6C005072656465688D -:104830007265762041425320416C6C00507265686D -:104840006561742041425320416C6C005072656474 -:104850006568726576204142532033005072656866 -:104860006561742041425320330050726568656170 -:10487000742041425320330050726564656872654C -:104880007620414253203300507265686561742080 -:10489000414253203300507265646568726576202A -:1048A0004142532032005072656865617420414274 -:1048B0005320320050726568656174204142532074 -:1048C00032005072656465687265762041425320FB -:1048D0003200507265686561742041425320320095 -:1048E00050726564656872657620414253203100DC -:1048F00050726568656174204142532031005072E6 -:1049000065686561742041425320310050726564CE -:1049100065687265762041425320310050726568A7 -:1049200065617420414253203100507265646568AE -:10493000726576204142530050726568656174204B -:1049400041425300507265686561742041425300D2 -:1049500050726564656872657620414253005072FA -:1049600065686561742041425300507265646568F2 -:1049700072657620504C4120636F6E660050726500 -:104980006865617420504C4120636F6E6600507200 -:10499000656865617420504C4120636F6E660050FD -:1049A000726564656872657620504C4120636F6E55 -:1049B00066005072656865617420504C4120636FD9 -:1049C0006E660050726564656872657620504C4171 -:1049D00020426564005072656865617420504C41E6 -:1049E00020426564005072656865617420504C41D6 -:1049F0002042656400507265646568726576205077 -:104A00004C412042656400507265686561742050B5 -:104A10004C41204265640050726564656872657639 -:104A200020504C4120416C6C005072656865617487 -:104A300020504C4120416C6C005072656865617477 -:104A400020504C4120416C6C005072656465687266 -:104A5000657620504C4120416C6C00507265686551 -:104A6000617420504C4120416C6C0050726564654B -:104A70006872657620504C4120330050726568653D -:104A8000617420504C412033005072656865617438 -:104A900020504C4120330050726564656872657621 -:104AA00020504C412033005072656865617420507D -:104AB0004C41203300507265646568726576205001 -:104AC0004C412032005072656865617420504C4141 -:104AD0002032005072656865617420504C4120326C -:104AE0000050726564656872657620504C412032D2 -:104AF000005072656865617420504C41203200504E -:104B0000726564656872657620504C4120310050B2 -:104B100072656865617420504C41203100507265A7 -:104B20006865617420504C412031005072656465A5 -:104B30006872657620504C4120310050726568657E -:104B4000617420504C412031005072656465687278 -:104B5000657620504C410050726568656174205044 -:104B60004C41005072656865617420504C410050A2 -:104B7000726564656872657620504C4100507265BC -:104B80006865617420504C41004E617374617620F9 -:104B9000706F636174656B00536574206F72696731 -:104BA000696E00536574206F726967696E004E61AB -:104BB0007374617620706F636174656B0053657404 -:104BC000206F726967696E004E6173746176207040 -:104BD0006F636174656B20686F6D65005365742049 -:104BE000686F6D65206F66667365747300536574D6 -:104BF00020686F6D65206F666673657473004E6123 -:104C00007374617620706F636174656B20686F6D7B -:104C1000650053657420686F6D65206F6666736507 -:104C20007473004175746F20686F6D65004C6C651E -:104C300076617220616C206F726967656E004175E4 -:104C4000746F20486F6D65004175746F20686F6DDB -:104C500065004175746F20686F6D650057796C61F0 -:104C6000637A79632073696C6E696B690041706166 -:104C7000676172206D6F746F726573004469736150 -:104C800062696C697461204D6F746F726900567946 -:104C9000706E6F7574206D6F746F727900446973F4 -:104CA00061626C6520737465707065727300417524 -:104CB000746F7374617274004175746F7374617290 -:104CC00074004175746F7374617274004175746F10 -:104CD0007374617274004175746F737461727400DF -:104CE0004D656E7520676C6F776E65004D656E75EE -:104CF000207072696E636970616C004D656E75201D -:104D00007072696E636970616C6500486C61766E83 -:104D100069206E616269646B61004D61696E004B70 -:104D2000617274612077796A657461005461726A96 -:104D30006574612072657469726164610053442016 -:104D4000436172642072696D6F737361004B6172AD -:104D500074612076796A6D757461004361726420B4 -:104D600072656D6F766564004B6172746120776C5B -:104D70006F7A6F6E61005461726A65746120636F4F -:104D80006C6F636164610053442043617264206905 -:104D90006E736572697461004B6172746120766C28 -:104DA0006F7A656E61004361726420696E7365722B -:104DB00074656400507275736120693320676F7485 -:104DC0006F7761005072757361206933206C69736D -:104DD00074610050727573612069332070726F6E58 -:104DE000746F2E005072757361206933206F6B00F1 -:104DF00050727573612069332072656164792E0089 -:104E00004D383420582059205A2045004D32340066 -:104E10004D3233202573006175746F25692E67004C -:104E20000A002F000A002E0044656C6574696F6EDD -:104E3000206661696C65642C2046696C653A2000C7 -:104E400046696C652064656C657465643A002E0083 -:104E50002E002E002E004E6F77206672657368203C -:104E600066696C653A20004E6F7720646F696E67E3 -:104E70002066696C653A20002220706F7300222042 -:104E8000706172656E743A2200535542524F555408 -:104E9000494E452043414C4C207461726765743A19 -:104EA0002200747279696E6720746F2063616C6C84 -:104EB000207375622D67636F64652066696C657326 -:104EC000207769746820746F6F206D616E79206C33 -:104ED0006576656C732E204D4158206C6576656C47 -:104EE0002069733A0000002110422063308440A5FD -:104EF00050C660E770088129914AA16BB18CC1ADA1 -:104F0000D1CEE1EFF13112100273325222B5529438 -:104F100042F772D662399318837BB35AA3BDD39CF0 -:104F2000C3FFF3DEE36224433420040114E664C7C4 -:104F300074A44485546AA54BB528850995EEE5CF40 -:104F4000F5ACC58DD55336722611163006D776F6D8 -:104F5000669556B4465BB77AA719973887DFF7FE90 -:104F6000E79DD7BCC7C448E5588668A77840086164 -:104F70001802282338CCC9EDD98EE9AFF9488969E0 -:104F8000990AA92BB9F55AD44AB77A966A711A5078 -:104F90000A333A122AFDDBDCCBBFFB9EEB799B5830 -:104FA0008B3BBB1AABA66C877CE44CC55C222C0304 -:104FB0003C600C411CAEED8FFDECCDCDDD2AAD0B80 -:104FC000BD688D499D977EB66ED55EF44E133E3218 -:104FD0002E511E700E9FFFBEEFDDDFFCCF1BBF3AD0 -:104FE000AF599F788F8891A981CAB1EBA10CD12DBF -:104FF000C14EF16FE18010A100C230E320045025C2 -:105000004046706760B9839893FBA3DAB33DC31C35 -:10501000D37FE35EF3B1029012F322D23235421411 -:105020005277625672EAB5CBA5A89589856EF54F81 -:10503000E52CD50DC5E234C324A014810466744761 -:105040006424540544DBA7FAB79987B8975FE77ED5 -:10505000F71DC73CD7D326F2369106B016576676B1 -:1050600076154634564CD96DC90EF92FE9C899E921 -:10507000898AB9ABA94458654806782768C018E101 -:10508000088238A3287DCB5CDB3FEB1EFBF98BD875 -:105090009BBBAB9ABB754A545A376A167AF10AD051 -:1050A0001AB32A923A2EFD0FED6CDD4DCDAABD8BC1 -:1050B000ADE89DC98D267C076C645C454CA23C83A1 -:1050C0002CE01CC10C1FEF3EFF5DCF7CDF9BAFBA15 -:1050D000BFD98FF89F176E367E554E745E932EB2F1 -:1050E0003ED10EF01E22004D323230205325690091 -:1050F000203A2000004C414E472053454C20464F5B -:1051000052434544002200205A3A0020593A0020D8 -:10511000453A00205A3A0020593A00583A002000F7 -:105120002E0020423A0020453A00543A0020573AD7 -:105130000020453A00543A002042403A0020403ACC -:1051400000202F003A00205400202F0020423A0077 -:10515000202F006F6B20543A002569206D696E2C5A -:105160002025692073656300256920686F75727357 -:10517000202569206D696E75746573004D3131307D -:10518000004D3239004D61792033302032303136D4 -:1051900000436F6D70696C65643A2000286E6F6E15 -:1051A000652C2064656661756C7420636F6E66693A -:1051B0006729004D6179203330203230313620317B -:1051C000363A32333A32330073746172740022001B -:1051D0002200FFFFFF0000A0400000A040000000F0 -:1051E0004000005643000046431FC54843000000EE -:1051F00000000000001F856B3E0000564300004683 -:10520000430000494300000000000000001F856BC0 -:105210003E6563686F3A004572726F723A004731BB -:1052200020452D38302046343030004D383300478B -:1052300031205A3135204631353030004739310080 -:1052400047312058353020593138302045302046FC -:105250003730303000473930004D3834004D383366 -:105260000047312045363520463430300047312064 -:105270004534302046313030002E002020202020C0 -:105280002020202020202020002D2D3A2D2D002D03 -:105290002D2D003E555342005344002D2D0001207A -:1052A000000120004D36303000464C4558202D205E -:1052B000203235302F35300050502020202D202036 -:1052C0003235342F3130300048495053202D2020C2 -:1052D0003232302F3130300050455420202D2020E4 -:1052E0003234302F393000504C4120202D202032D4 -:1052F00032302F35300041425320202D20203238CB -:10530000352F313030004D3234004D32332025738B -:1053100000580059005A004578747275646572002F -:10532000473238004D383400473238205A004D613A -:1053300079203330203230313600446174653A20B0 -:10534000002D2D2D2D2D2D2D2D2D2D2D2D0050727F -:105350007573614E6D6B320052414D426F31306159 -:1053600000336D6D002D2D2D2D2D2D2D2D2D2D2D41 -:105370002D004669726D77617265202D20332E30C5 -:105380002E310048617264636F6465642044656611 -:1053900061756C742053657474696E6773204C6F0B -:1053A000616465640046696C616D656E7420736547 -:1053B0007474696E67733A2044697361626C6564E2 -:1053C000002020204D32303020440046696C616D51 -:1053D000656E742073657474696E67733A0020207B -:1053E000204D3230392053004175746F2D52657451 -:1053F000726163743A20533D3020746F2064697386 -:1054000061626C652C203120746F20696E74657246 -:105410007072657420657874727564652D6F6E6C3A -:1054200079206D6F76657320617320726574726187 -:10543000637473206F72207265636F76657269653D -:1054400073002046002020204D3230382053005277 -:1054500065636F7665723A20533D457874726120BA -:105460006C656E67746820286D6D2920463A53700C -:1054700065656420286D6D2F6D2900205A00204637 -:10548000002020204D323037205300526574726165 -:1054900063743A20533D4C656E67746820286D6DC7 -:1054A0002920463A537065656420286D6D2F6D295B -:1054B000205A3A205A4C69667420286D6D290020C4 -:1054C00044002049002020204D333031205000502E -:1054D00049442073657474696E67733A00205A00FA -:1054E00020590020204D323036205800486F6D651D -:1054F000206F666673657420286D6D293A0020451B -:1055000000205A0020580020420020540020204D46 -:10551000323035205300416476616E6365642076D5 -:1055200061726961626C65733A20533D4D696E200A -:10553000666565647261746520286D6D2F73292C12 -:1055400020543D4D696E2074726176656C206665ED -:1055500065647261746520286D6D2F73292C20425B -:105560003D6D696E696D756D207365676D656E74EF -:105570002074696D6520286D73292C20583D6D615C -:1055800078696D756D205859206A65726B20286D99 -:105590006D2F73292C20205A3D6D6178696D756DD2 -:1055A000205A206A65726B20286D6D2F73292C207C -:1055B00020453D6D6178696D756D2045206A657285 -:1055C0006B20286D6D2F73290020540020204D3250 -:1055D0003034205300416363656C65726174696F98 -:1055E0006E3A20533D616363656C65726174696FE7 -:1055F0006E2C20543D726574726163742061636324 -:10560000656C65726174696F6E00204500205A00F8 -:1056100020590020204D3230312058004D617869EA -:105620006D756D20416363656C65726174696F6E41 -:1056300020286D6D2F7332293A00204500205A0032 -:1056400020590020204D3230332058004D617869B8 -:105650006D756D2066656564726174657320286D73 -:105660006D2F73293A00204500205A002059002050 -:10567000204D393220580053746570732070657264 -:1056800020756E69743A0045303A20005A3A20007D -:10569000593A2000583A20004D53312C4D533220B6 -:1056A00050696E730A005A00205A3A005900205976 -:1056B0003A00580020583A0024F4D43050C38E20C9 -:1056C000C2A24017828B7011127A910D816CD90A97 -:1056D000A861E108C7586607615143061E4B5D0586 -:1056E000C145A7041A411104093D980371393103DA -:1056F0004036DB0265339102D4305402802E1D0205 -:10570000632CEE01752AC501B028A0011027810184 -:105710008F2564012B244B01E0223401AC211F01B1 -:105720008D200D01801FFC00841EED00971DDF0001 -:10573000B81CD200E61BC600201BBC00641AB200D5 -:10574000B219A8000A19A0006A189900D11791008F -:1057500040178B00B516840031167E00B315790012 -:105760003A157300C7146F0058146A00EE136600F0 -:105770008813630025135E00C7125B006C1257008C -:1057800015125400C111510070114F0021114B002E -:10579000D61049008D104700461044000210420008 -:1057A000C00F4000800F3E00420F3C00060F3B0040 -:1057B000CB0E3800930E37005C0E3500270E3400F8 -:1057C000F30D3200C10D3100900D3000600D2E0040 -:1057D000320D2D00050D2C00D90C2B00AE0C29002C -:1057E000850C29005C0C2700350C27000E0C2600C8 -:1057F000E80B2400C40B2400A00B23007D0B230026 -:105800005A0B2100390B2100180B2000F80A1F0049 -:10581000D90A1E00BB0A1E009D0A1D00800A1D0039 -:10582000630A1C00470A1B002C0A1B00110A1A00FD -:10583000F7091A00DD091900C4091900AB0919009C -:10584000920917007B091800630917004C0916001C -:1058500036091600200916000A091500F50815007A -:10586000E0081400CC081400B8081400A4081400C0 -:10587000900813007D0812006B08130058081200EE -:105880004608120034081100230811001208110004 -:1058900001081100F0071000E0071000D007100009 -:1058A000C0071000B0070F00A107100091070E00FD -:1058B00083070F0074070F0065070E0057070E00DF -:1058C00049070E003B070D002E070E0020070D00B4 -:1058D00013070D0006070D00F9060C00ED060D007C -:1058E000E0060C00D4060C00C8060C00BC060C0038 -:1058F000B0060C00A4060B0099060C008D060B00E8 -:1059000082060B0077060B006C060B0061060A008E -:1059100057060B004C060A0042060A0038060A0029 -:105920002E060A0024060A001A060A0010060900BC -:1059300007060A00FD050900F4050900EB0509004A -:10594000E2050900D9050900D0050900C7050900CD -:10595000BE050900B5050800AD050800A50509004C -:105960009C050800940508008C05080084050800C3 -:105970007C050800740508006C0507006505080033 -:105980005D050700560508004E050700470507009E -:105990004005080038050700310507002A05070003 -:1059A000230507001C050600160507000F05070064 -:1059B0000805060002050700FB040600F5040700C1 -:1059C000EE040600E8040600E2040700DB0406001B -:1059D000D5040600CF040600C9040600C30406006F -:1059E000BD040600B7040600B1040500AC040600BF -:1059F000A6040600A00405009B040600950405000B -:105A0000900406008A040500850405008004060051 -:105A10007A04050075040500700405006B04050098 -:105A200066040500610405005C04050057040500D8 -:105A3000520405004D040500480405004304050018 -:105A40003E0404003A040500350405003004040057 -:105A50002C04050027040400230405001E04040090 -:105A60001A04040016040500110404000D040400C7 -:105A7000090405000404040000040400FC030400FD -:105A8000F8030400F4030400F0030400EC03040032 -:105A9000E8030400E4030400E0030400DC03040062 -:105AA000D8030400D4030400D0030400CC03040092 -:105AB000C8030300C503030024F404D9201BC40C4D -:105AC0005C0E9804C4095F0265077101F405F900D2 -:105AD000FB04B30048048700C10369005803550064 -:105AE00003034500BE023A008402310053022A003B -:105AF0002902250004022000E4011C00C80119004D -:105B0000AF01170098011400840113007101100007 -:105B10006101100051010E0043010D0036010B0020 -:105B20002B010B0020010B00150109000C010900DD -:105B300003010800FB000800F3000800EB00070069 -:105B4000E4000600DE000600D8000600D2000600D1 -:105B5000CC000500C7000500C2000500BD00040020 -:105B6000B9000400B5000400B1000400AD00040059 -:105B7000A9000400A5000300A20003009F00040088 -:105B80009B000300980003009500020093000300AF -:105B9000900003008D0002008B00030088000200CB -:105BA0008600020084000300810002007F000200E2 -:105BB0007D0002007B0002007900020077000100F6 -:105BC0007600020074000200720001007100020001 -:105BD0006F0002006D0001006C0002006A0001000D -:105BE0006900020067000100660001006500010015 -:105BF0006400020062000100610001006000010019 -:105C00005F0002005D0001005C0001005B0001001C -:105C10005A0001005900010058000100570001001E -:105C2000560001005500010054000100530000001F -:105C3000530001005200010051000100500001001A -:105C40004F0001004E0000004E0001004D00010019 -:105C50004C0001004B0000004B0001004A00010015 -:105C60004900010048000000480001004700010011 -:105C7000460000004600010045000000450001000C -:105C80004400010043000000430001004200000006 -:105C900042000100410000004100010040000100FD -:105CA0003F0000003F0001003E0000003E000100F8 -:105CB0003D0000003D0001003C0000003C000000F1 -:105CC0003C0001003B0000003B0001003A000000E6 -:105CD0003A000100390000003900010038000000DE -:105CE00038000000380001003700000037000100D4 -:105CF00036000000360000003600010035000000CC -:105D000035000000350001003400000034000000C0 -:105D100034000100330000003300000033000100B4 -:105D200032000000320000003200010031000000AB -:105D300031000000310001003000000030000000A0 -:105D4000300001002F0000002F0000002F00000095 -:105D50002F0001002E0000002E0000002E00010088 -:105D60002D0000002D0000002D0000002D0001007E -:105D70002C0000002C0000002C0000002C00010072 -:105D80002B0000002B0000002B0000002B00010066 -:105D90002A0000002A0000002A0000002A0001005A -:105DA000290000002900000029000000290000004F -:105DB0002900010028000000280000002800000041 -:105DC0002800000028000100270000002700000034 -:105DD0002700000027000000270001002600000027 -:105DE000260000002600000026000000260001001A -:105DF000250000002500000025000000250000000F -:105E000025000000250001002400000024000000FF -:105E100024000000240000002400010023000000F2 -:105E200023000000230000002300000023000000E6 -:105E300023000000230001002200000022000000D7 -:105E400022000000220000002200000022000100C9 -:105E500021000000210000002100000021000000BE -:105E600021000000210000002100010020000000AE -:105E700020000000200000002000000020000000A2 -:105E80002000000020000000200001001F00000092 -:105E90001F0000001F0000001F0000001F00000086 -:105EA0001F0000001F0001001E0000001E00000077 -:105EB0001E0000001E0000000000090A02080B0C72 -:105EC0000D070603040100000000000000000000B0 -:105ED00000000000000000000000000000000000C2 -:105EE0000000000011100F00000000000000000082 -:105EF00000000000000000000000000000000000A2 -:105F0000000000000000000000000000000001028E -:105F100010202008081020401020408002010201BB -:105F20000804020101020408102040808040201073 -:105F300008040201800402018040201008040201CC -:105F40000804020101020408102040800102040834 -:105F50001020408010080408801020400440801069 -:105F60002040048005050505070508080808020209 -:105F700002020A0A080804040404010101010101E3 -:105F800001010303030303030303040707070C0CC6 -:105F90000C0C0C0C0C0C020202020606060606068D -:105FA00006060B0B0B0B0B0B0B0B07070A0A0A0A57 -:105FB0000A0A05050504040408080000200023005F -:105FC000260029002C002F003200000100000301F0 -:105FD0000601090100002200250028002B002E00E8 -:105FE0003100340002010000050108010B0100002E -:105FF0002100240027002A002D0030003300010179 -:106000000000040107010A01024E414E494E495465 -:1060100059494E46CDCCCC3D0AD7233C17B7D13891 -:1060200077CC2B329595E6241FB14F0A0000204112 -:106030000000C84200401C4620BCBE4CCA1B0E5A81 -:10604000AEC59D74428DBCACA8EC468D11241FBE1C -:10605000CFEFD1E2DEBFCDBF00E00CBF1EE0A0E07D -:10606000B2E0E4E1F7E002E00BBF02C007900D925E -:10607000A83AB107D9F72EE1A8EABEE001C01D9207 -:10608000AB31B207E1F710E6CAE4D0E600E006C0A3 -:1060900022970109FE010BBF0E94D7FAC434D10731 -:1060A00080E00807A9F70E94ACF00D9478030C94E7 -:1060B0000000CF93DF93EC019C012C5F3F4F41E048 -:1060C00050E060E070E0898D9A8D0E94FB3A882351 -:1060D00099F04D895E896F89788D452B462B472B2A -:1060E00059F44C815D816E817F814D8B5E8B6F8B0E -:1060F000788F998190689983DF91CF910895CF929D -:10610000DF92EF92FF920F931F93CF93DF93EC01F7 -:1061100089899A89AB89BC89803E9F4FAF41B1057F -:1061200010F080E06BC0CE01C4DF8823D1F30E9461 -:106130000F39182F8823A9F3E98DFA8DCC80DD80E3 -:10614000EE80FF8032E0C31AD108E108F10805842F -:1061500004C0CC0CDD1CEE1CFF1C0A94D2F7868513 -:106160009785A089B189C80ED91EEA1EFB1E81E061 -:106170008093AE0EC092B110D092B210E092B310E4 -:10618000F092B41080E092E0E1EBFEE0DF019C01D0 -:106190001D9221503040E1F701E0E98DFA8D8481B4 -:1061A000081790F421EB3EE0B701A601400F511D06 -:1061B000611D711D8091AF0E9091B00E0E945560CF -:1061C0008823E1F00F5FE9CFC12C82E0D82EE12CCB -:1061D000F12C058404C0CC0CDD1CEE1CFF1C0A94C1 -:1061E000D2F749895A896B897C894C0D5D1D6E1DDA -:1061F0007F1D498B5A8B6B8B7C8B812FDF91CF91CD -:106200001F910F91FF90EF90DF90CF900895CF9363 -:10621000DF93EC0141E0611101C040E06C857D85B8 -:106220008E859F850E944F39882341F0888920E21E -:10623000829FC00111248F54914F02C080E090E0F2 -:10624000DF91CF91089530E020E04EE2DC015C91D7 -:10625000503271F0383029F4FB01E20FF11D408318 -:106260002F5FFB01E20FF11DDC015C9150832F5F7A -:106270003F5F01963B3051F7FB01E20FF11D1082A9 -:106280000895CF93DF93EB01FC012381211102C01C -:1062900080E00EC02250223020F48FE288831982E1 -:1062A00006C060E0B4DF009799F3BE01CCDF81E067 -:1062B000DF91CF910895FB012BE030E23193215023 -:1062C000E9F7DC0190E027E03A2FEB2F8D91811167 -:1062D0000AC0DA013C931196EC9381E0FB019081B6 -:1062E000903239F525C08F32A1F38E3219F0EAE8E9 -:1062F000F1E008C02A30E1F098E02AE0E5CF3196DD -:106300003817B1F034913111FACF291788F03FEDE9 -:10631000380F3E3568F431E0390FFB01E90FF11D0C -:106320009FE9980F9A3108F480528083932FCCCF45 -:1063300080E008950F931F93CF93DF93EC018B01BF -:106340008B81882311F080E042C0FB018789803176 -:1063500039F18032C1F783E08B83F801428D538D90 -:10636000648D758D4D8B5E8B6F8B788F9E012F5E4C -:106370003F4FC8010E94063A882329F31A8F098FDC -:1063800081E089831C821D821E821F8218861986E5 -:106390001A861B861C861D861E861F86188A17C0B5 -:1063A00082E08B831D8A1E8A1F8A188EFB01408D16 -:1063B000518D60E070E095E0440F551F661F771F18 -:1063C0009A95D1F7498B5A8B6B8B7C8BD7CFDF910A -:1063D000CF911F910F9108952F923F924F925F920C -:1063E0006F927F928F929F92AF92BF92CF92DF92E5 -:1063F000EF92FF920F931F93CF93DF93EC015B011A -:106400006A018B81811103C08FEF9FEFC7C0898123 -:1064100080FFFACF49895A896B897C89888599855B -:10642000AA85BB852601612C712C8A019B01081B62 -:10643000190B2A0B3B0B401651066206730618F027 -:106440006A01C81AD90A76013E0124E0620E711C65 -:10645000E114F10409F476C0488559856A857B8585 -:106460004A0181E098222B811A012B01E9E0569420 -:10647000479437942794EA95D1F7898D9A8DFC013A -:10648000223049F4628D738D848D958D620D731D5C -:10649000841D951D3CC0148111501221811491045A -:1064A000C1F4111116C0452B462B472B49F48D8999 -:1064B0009E89AF89B88D8C839D83AE83BF8309C0CD -:1064C0004C815D816E817F81930121D7882309F4FE -:1064D0009BCFE98DFA8D6C817D818E819F81625089 -:1064E000710981099109058404C0660F771F881F0F -:1064F000991F0A94D2F72685378540895189620F02 -:10650000731F841F951F610F711D811D911D20E058 -:1065100032E02819390987012E153F0508F4890151 -:106520000115F2E01F0769F52091B1103091B2100A -:106530004091B3105091B410621773078407950708 -:1065400019F41FC0C6012AC09501AB01BC0180919E -:10655000AF0E9091B00E0E94E05F882309F454CFF3 -:10656000A00EB11E88859985AA85BB85800F911FD5 -:10657000A11DB11D88879987AA87BB87E01AF10AF8 -:1065800067CF40E08CD6882309F43ECFB4016F5426 -:10659000714FA801C5010F940800E2CFDF91CF91A0 -:1065A0001F910F91FF90EF90DF90CF90BF90AF9031 -:1065B0009F908F907F906F905F904F903F902F9023 -:1065C0000895CF93DF931F92CDB7DEB741E050E03F -:1065D000BE016F5F7F4F00DF019719F4898190E062 -:1065E00002C08FEF9FEF0F90DF91CF910895CF9270 -:1065F000DF92EF92FF920F931F93CF93DF936C0183 -:10660000EB017A01FC018381823060F00085118505 -:10661000228533850F71112722273327012B022B67 -:10662000032B11F08FEF5CC04115510511F0F701FC -:1066300010821DE040E250E0BE01C601CDDE803296 -:10664000910539F021E0892B09F420E0822F819512 -:1066500047C028812223C1F0253E61F32E3251F339 -:106660003B853F733F3061F4E114F10449F04A8DFA -:106670005B8D452B29F42F713FEF320F343030F012 -:106680002B8523FDD7CF2CC080E02AC030E02150DD -:106690003109129FC001139F900D1124F701E80FDB -:1066A000F91F298120832B8121832D8122832F8132 -:1066B0002383298524832E852583288926832A8977 -:1066C00027832C8920872E892187288D22872C8D4E -:1066D00023872E8D2487288126FFD2CF1586D0CF01 -:1066E000DF91CF911F910F91FF90EF90DF90CF90AE -:1066F00008951F93CF93DF93EC018B81823018F4C0 -:1067000080E090E023C0488559856A857B85A5E0B7 -:106710007695679557954795AA95D1F7142F1F70D1 -:10672000CE014FDF97FDECCF488559856A857B8583 -:10673000415E5F4F6F4F7F4F488759876A877B87DE -:1067400020E2129FC00111248F54914FDF91CF910D -:106750001F9108954F925F926F927F92AF92BF9276 -:10676000CF92DF92EF92FF920F931F93CF93DF931D -:10677000EC016A017B012B81222349F089899A89E6 -:10678000AB89BC8984179507A607B70710F480E08A -:106790006BC0223009F463C0C114D104E104F104D8 -:1067A00049F41C821D821E821F82188619861A8651 -:1067B0001B8659C088859985AA85BB85E98DFA8D88 -:1067C000E585F0E03996AC01BD0141505109610900 -:1067D00071090E2E04C076956795579547950A94D2 -:1067E000D2F797018601015011092109310904C02E -:1067F0003695279517950795EA95D2F7041715074B -:106800002607370720F0892B8A2B8B2B49F48D899B -:106810009E89AF89B88D8C839D83AE83BF8304C06E -:10682000041B150B260B370B280139015E0184E090 -:10683000A80EB11C411451046104710481F04C8113 -:106840005D816E817F819501898D9A8D60D591E002 -:10685000491A5108610871088111ECCF05C0C8863A -:10686000D986EA86FB8681E0DF91CF911F910F9157 -:10687000FF90EF90DF90CF90BF90AF907F906F90A0 -:106880005F904F9008950F931F93CF93DF93EC0188 -:106890008B818823D1F1898187FF32C061E0CE01ED -:1068A000B6DC8C01009789F1FC018081853E69F19D -:1068B0008B81823040F449895A896B897C89448F65 -:1068C000558F668F778F4D895E896F89788DF80136 -:1068D000538F428F758B648BE091A80EF091A90EB7 -:1068E000309759F0B8016A5E7F4FC80148961995F4 -:1068F000F801808D918D938B828B89818F7789832D -:10690000DF91CF911F910F918AC481E0888380E04D -:10691000DF91CF911F910F910895CF93DF93EC01F9 -:10692000B2DF1B82DF91CF910895FC0123812111F9 -:10693000F4CF08954F925F926F927F92AF92BF9281 -:10694000CF92DF92EF92FF920F931F93CF93DF933B -:1069500000D01F92CDB7DEB75C016A017B01FC015C -:1069600083818130E9F4818181FF1AC0F501818939 -:106970009289A389B48984179507A607B70780F081 -:10698000892B8A2B8B2B09F472C0F501408451842A -:1069900062847384B701A601C501DCDE811102C0E7 -:1069A00080E066C0F501818D928DC114D104E104AF -:1069B000F10469F4458956896789708D25D7882344 -:1069C00079F3F501158A168A178A108E37C0F501FA -:1069D00044815581668177819E012F5F3F4F97D417 -:1069E0008823F1F249815A816B817C81F501818D87 -:1069F000928DFC012789203139F4483FFFEF5F0772 -:106A000061057105D8F407C0483F2FEF52076207B0 -:106A10002FE0720798F4F8D6882309F4C1CFF50166 -:106A200044815581668177810FEF1FEF2FEF3FE0A3 -:106A3000818D928D51D5882309F4B2CFF501C18A99 -:106A4000D28AE38AF48A818180688183C5011BDF51 -:106A5000882309F4A5CFB701A6014C145D046E0488 -:106A60007F0410F4B301A201C50174DE01C081E00E -:106A70000F900F900F900F90DF91CF911F910F917A -:106A8000FF90EF90DF90CF90BF90AF907F906F908E -:106A90005F904F900895FF920F931F93CF93DF93D2 -:106AA000EC01F42E80E2689FF0011124EF54F14FC5 -:106AB0008385817121F0842F827109F04EC080910D -:106AC000B1109091B210A091B310B091B4108C8716 -:106AD0009D87AE87BF87688B4489558960E070E0E9 -:106AE000BA0155274427028D138D20E030E0402B5A -:106AF000512B622B732B4D8B5E8B6F8B788F838525 -:106B0000887151F4048D158D268D378D098B1A8B64 -:106B10002B8B3C8B81E00BC08031F9F49E012F5E02 -:106B20003F4F898D9A8D72D48823B9F084E08B838E -:106B30008F2D8F7089831C821D821E821F82188672 -:106B400019861A861B86F4FE0BC040E050E0BA019D -:106B5000CE01F0DE811104C011C01B8280E00EC0A6 -:106B6000F5FE0BC049895A896B897C89CE01DF917A -:106B7000CF911F910F91FF90EDCD81E0DF91CF91EB -:106B80001F910F91FF900895AF92BF92CF92DF9225 -:106B9000EF92FF920F931F93CF93DF937C01EB0152 -:106BA0006A01B22E898D9A8DF701928F818F40E014 -:106BB00050E0BA01CE01CEDDA12C088519852A85C9 -:106BC0003B8589899A89AB89BC89081719072A07E7 -:106BD0003B07A0F585E036952795179507958A958B -:106BE000D1F70F70CE0185DD009709F481C0FC015B -:106BF0002081222311F0253EB9F4A1100EC040914E -:106C0000B1105091B2106091B3107091B410F701AF -:106C10004487558766877787008BFC018081AA248B -:106C2000A3948111CACF0AC04BE050E0BC01C60159 -:106C30000E94FBFF892B09F0C0CF58C08B2D8274B6 -:106C4000823409F055C0AA2049F0F701008961E0BB -:106C5000C701DDDAEC01009769F44AC08B8182300C -:106C600009F446C0CE014BDA882309F441C0C1EBD8 -:106C7000DEE000E080E2FE0111928A95E9F78BE008 -:106C8000F601DE0101900D928A95E1F7E091A80EE0 -:106C9000F091A90E309739F0BE01625F7F4FCE01AF -:106CA0004096199508C081E298E2998B888B80E024 -:106CB00098E09F878E87888999899B8B8A8B998F8B -:106CC000888F8E859F859F8B8E8BA9D2882381F09C -:106CD0004B2D602FC701DF91CF911F910F91FF9036 -:106CE000EF90DF90CF90BF90AF90D5CEB7FEF0CFB2 -:106CF00080E0DF91CF911F910F91FF90EF90DF9097 -:106D0000CF90BF90AF9008953F924F925F926F9255 -:106D10007F928F929F92AF92BF92CF92DF92EF922B -:106D2000FF920F931F93CF93DF93CDB7DEB7C3547A -:106D3000D1090FB6F894DEBF0FBECDBF5C016B0169 -:106D400024965FAF4EAF2497522E1C8E1F8E198251 -:106D50001C826115710511F410E073C0FC01838180 -:106D60008111FACF2496EEADFFAD249780818F324A -:106D700011F076011DC02496EEADFFAD2497808101 -:106D80008F3231F431962496FFAFEEAF2497F3CFD4 -:106D9000F60183818250823060F3F601618D728D3D -:106DA000CE010196C7DA8823B9F2CE0101967C01A3 -:106DB0008E01045E1F4F3801FE0131964F01402EB7 -:106DC000312E19C08823A9F121E0AE01495C5F4F43 -:106DD000B701C801D9DE882309F4BECFEC14FD0445 -:106DE00011F0C7019ADD0615170501F1942D832DC9 -:106DF0007801092F182FAE014E5B5F4FBE01695C11 -:106E00007F4F24968EAD9FAD249755DA882309F4E1 -:106E1000A3CF2496EEADFFAD249780818F3291F6FB -:106E200031962496FFAFEEAF2497F3CF982D892D9E -:106E3000DFCF252DAE01495C5F4FB701C501A4DE50 -:106E4000182FCE01019671DDCE014C966EDD812F9B -:106E5000CD5BDF4F0FB6F894DEBF0FBECDBFDF9125 -:106E6000CF911F910F91FF90EF90DF90CF90BF9047 -:106E7000AF909F908F907F906F905F904F903F90DA -:106E80000895CF93DF93EC0140E050E0BA0152DD6A -:106E9000882361F061E0CE01BAD9009739F025EE80 -:106EA000FC0120831B82DF91CF91B9C180E0DF918B -:106EB000CF9108951F93CF93DF93CDB7DEB76B9734 -:106EC0000FB6F894DEBF0FBECDBFAB0119821C8296 -:106ED00022E0BC01CE01019617DF182F882321F094 -:106EE000CE010196CEDF182FCE0101961EDD812F37 -:106EF0006B960FB6F894DEBF0FBECDBFDF91CF917A -:106F00001F9108952F923F924F925F926F927F92BE -:106F10008F929F92AF92BF92CF92DF92EF92FF92A9 -:106F20000F931F93CF93DF9300D01F921F92CDB783 -:106F3000DEB78C015B013A01DC0113968C9113974B -:106F40008130C1F411968C9181FF14C082FF18C06A -:106F5000F801418952896389748980859185A28568 -:106F6000B38584179507A607B70751F0C801F2DB70 -:106F7000811106C081E0F80180838FEF9FEF37C158 -:106F8000630183C0D80159968D919C915A97FC0159 -:106F9000F481F1501A012B0169E05694479437941B -:106FA00027946A95D1F7F221FD834A0121E09222CC -:106FB000FF2309F476C080E092E0881999097601F0 -:106FC0008C159D0508F47C01D8015996ED91FC9132 -:106FD0005A9714962D903D904D905C901797B2E083 -:106FE0002B1A310841085108058404C0220C331CB7 -:106FF000441C551C0A94D2F786859785A089B189CF -:10700000280E391E4A1E5B1EED812E0E311C411CBE -:10701000511CE114F2E0FF0609F089C08091B11023 -:107020009091B210A091B310B091B4108215930555 -:10703000A405B50569F41092AE0E8FEF9FEFDC0149 -:107040008093B1109093B210A093B310B093B4108A -:107050009501B201A1018091AF0E9091B00E0E94F6 -:107060005560882309F486CFF80180859185A28533 -:10707000B3858E0D9F1DA11DB11D80879187A287AD -:10708000B387AE0CBF1CCE18DF08D80118964D91FF -:107090005D916D917C911B97C114D10409F072CF61 -:1070A0007AC08114910409F086CF14964D915D91B8 -:1070B0006D917C911797411551056105710559F442 -:1070C00055968D919D910D90BC91A02D0097A10595 -:1070D000B10539F520C09E012F5F3F4F18D188239D -:1070E00009F448CF89819A81AB81BC81F801218D57 -:1070F000328DF9012789203139F4883FFFEF9F074E -:10710000A105B10540F40DC0883F2FEF9207A207FB -:107110002FE0B20730F0C8010E94593081114BCFE7 -:1071200029CFF80184839583A683B78344CF811444 -:10713000910411F5D80118964D915D916D917C9156 -:107140001B9751968D919D910D90BC91A02D481744 -:1071500059076A077B0780F062D0882309F40ACFB9 -:1071600081E08093AE0E2092B1103092B210409226 -:10717000B3105092B41007C041E0C201B1018FD0EA -:10718000882309F4F7CEA701B501C4018F54914FAC -:107190000F94080069CF51968D919D910D90BC91EF -:1071A000A02DF801218184179507A607B70738F4A9 -:1071B000418B528B638B748B206821830CC0809130 -:1071C000A80E9091A90E892B31F06114710419F069 -:1071D0002068F8012183D80111968C9183FD02C0AB -:1071E000C30105C0C8014FDB8111FACFC3CE0F9098 -:1071F0000F900F900F900F90DF91CF911F910F91F3 -:10720000FF90EF90DF90CF90BF90AF909F908F90C6 -:107210007F906F905F904F903F902F900895CF9305 -:107220008091AE0E8823B9F14091B1105091B21007 -:107230006091B3107091B41021EB3EE08091AF0EDD -:107240009091B00E0E945560C82F811102C0C0E01D -:1072500023C04091AA0E5091AB0E6091AC0E70917C -:10726000AD0E411551056105710591F021EB3EE030 -:107270008091AF0E9091B00E0E945560882339F333 -:107280001092AA0E1092AB0E1092AC0E1092AD0E90 -:107290001092AE0E01C0C1E08C2FCF910895CF9215 -:1072A000DF92EF92FF92CF936B017C01C42F80910C -:1072B000B1109091B210A091B310B091B4108C1590 -:1072C0009D05AE05BF05C9F0AADF811102C080E0AF -:1072D00018C021EB3EE0B701A6018091AF0E90915E -:1072E000B00E0E94E05F882391F3C092B110D0925B -:1072F000B210E092B310F092B41081E0C11180930B -:10730000AE0ECF91FF90EF90DF90CF9008958F92C7 -:107310009F92AF92BF92CF92DF92EF92FF920F9324 -:107320001F93CF93DF93EC016A017B01890189856B -:107330009A85AB85BC850196A11DB11D8417950763 -:10734000A607B70710F480E054C08F89803129F474 -:107350009927872F762F652F0BC08032A1F7CB019D -:10736000BA0127E096958795779567952A95D1F785 -:107370008B889C88AD88BE88680D791D8A1D9B1DF1 -:107380008090B1109090B210A090B310B090B41053 -:10739000681579058A059B0581F48F89803191F400 -:1073A000DD24EE24FF24F601EE0FFF1FEF54F14F12 -:1073B00080819181A0E0B0E016C040E070DF8111D3 -:1073C000ECCFC1CFE894C7F8DD24EE24FF24F6010A -:1073D000EE0FFF1FEE0FFF1FEF54F14F80819181E1 -:1073E000A281B381BF70F80180839183A283B383AC -:1073F00081E0DF91CF911F910F91FF90EF90DF908F -:10740000CF90BF90AF909F908F9008954F925F92D2 -:107410006F927F92AF92BF92CF92DF92EF92FF92E4 -:107420000F931F93CF93DF9300D01F92CDB7DEB79A -:107430008C0149835A836B837C835901C12CD12CE5 -:107440007601412C42E0542E612C712C49815A81E5 -:107450006B817C819E012F5F3F4FC80158DF8823DD -:1074600041F1D301C201F801058404C0880F991FBE -:10747000AA1FBB1F0A94D2F7C80ED91EEA1EFB1E14 -:1074800049815A816B817C818789803139F481E01F -:10749000483F5F4F6105710538F4D8CF81E0483F20 -:1074A0005F4F6F4F7F4090F2F501C082D182E28240 -:1074B000F3820F900F900F900F90DF91CF911F915B -:1074C0000F91FF90EF90DF90CF90BF90AF907F90A3 -:1074D0006F905F904F9008954F925F926F927F925E -:1074E0008F929F92AF92BF92CF92DF92EF92FF92D4 -:1074F0000F931F93CF93DF93EC014A015B012801A7 -:107500003901423051056105710508F462C04985B1 -:107510005A856B857C854F5F5F4F6F4F7F4F481556 -:1075200059056A057B0508F454C08F89803129F418 -:10753000FF24EB2CDA2CC92C0CC0803209F049C096 -:107540007501640177E0F694E794D794C7947A952F -:10755000D1F74B895C896D897E89C40ED51EE61EE4 -:10756000F71E41E0C701B6019ADE882391F19F8999 -:10757000903159F49924AA24BB24F401EE0FFF1F83 -:10758000EF54F14F5182408210C0E89487F899245B -:10759000AA24BB24F401EE0FFF1FEE0FFF1FEF54D0 -:1075A000F14F40825182628273829A89923090F0C8 -:1075B0004D815E816F8178854C0D5D1D6E1D7F1D37 -:1075C0004093AA0E5093AB0E6093AC0E7093AD0E29 -:1075D00001C080E0DF91CF911F910F91FF90EF905C -:1075E000DF90CF90BF90AF909F908F907F906F90E3 -:1075F0005F904F9008952F923F924F925F926F92BB -:107600007F928F929F92AF92BF92CF92DF92EF9232 -:10761000FF920F931F93CF93DF93CDB7DEB72F97D2 -:107620000FB6F894DEBF0FBECDBF1C014C875D873F -:107630006E877F873B872A87DC0119960D911D9104 -:107640002D913C911C970F5F1F4F2F4F3F4F0D8384 -:107650001E832F833887EA85FB8580809180A280F6 -:10766000B38081149104A104B10431F0FFEF8F1AAB -:107670009F0AAF0ABF0A10C0DC018D909D90AD90AB -:10768000BC90B1E0B9870C851D852E853F85013002 -:1076900011052105310509F0198675016401412C98 -:1076A000512C3201F10181859285A385B48548165C -:1076B00059066A067B0608F04EC00D811E812F8197 -:1076C00038850C151D052E053F0550F4F2E0CF2E30 -:1076D000D12CE12CF12CA2E08A2E912CA12CB12CE2 -:1076E0009E012F5F3F4FB701A601C10110DE882325 -:1076F00091F149815A816B817C81D701C601019644 -:10770000A11DB11D452B462B472B19F04C015D01E6 -:107710000FC0AC01BD01481959096A097B090C85E4 -:107720001D852E853F85401751076207730741F07D -:107730001FEF411A510A610A710A6C017D01B2CF33 -:107740000FEF1FEF2FEF3FE0B701A601C101C4DE2D -:107750008D83811113C01D823DC02601370121E0B8 -:10776000421A51086108710897018601B301A2010C -:10777000C101B2DE882379F3730162018C149D0488 -:10778000AE04BF0450F3AA85BB854D915D916D9108 -:107790007C914115510561057105A9F4EA85FB85C8 -:1077A00080829182A282B382F985FF2399F00FEF44 -:1077B000801A900AA00AB00AD1018D929D92AD92D2 -:1077C000BC92139707C095018401C10185DE811128 -:1077D000E5CFC1CF8D812F960FB6F894DEBF0FBED7 -:1077E000CDBFDF91CF911F910F91FF90EF90DF9070 -:1077F000CF90BF90AF909F908F907F906F905F9051 -:107800004F903F902F900895AF92BF92CF92DF920A -:10781000EF92FF920F931F93CF93DF9300D01F92AD -:10782000CDB7DEB75C016A017B0182E090E0A0E0A9 -:10783000B0E0F50180839183A283B3839E012F5F23 -:107840003F4FB701A601C50162DD811102C080E092 -:1078500023C000E010E09801B701A601C5013CDE9D -:107860008823A9F3C980DA80EB80FC80F501878941 -:10787000803149F481E0F8EFCF16FFEFDF06E10435 -:10788000F10450F4DBCF81E098EFC9169FEFD906E1 -:10789000E9069FE0F90690F20F900F900F900F907D -:1078A000DF91CF911F910F91FF90EF90DF90CF90DC -:1078B000BF90AF9008957F928F929F92AF92BF92A8 -:1078C000CF92DF92EF92FF920F931F93CF93DF93AC -:1078D000EC01142F7093B00E6093AF0E1F8A82E0FC -:1078E00090E0A0E0B0E088839983AA83BB831092E4 -:1078F000AE0E1092AA0E1092AB0E1092AC0E109219 -:10790000AD0E8FEF9FEFDC018093B1109093B2101A -:10791000A093B310B093B410442349F1453008F05C -:10792000DEC040E060E070E0CB01B9DC882309F400 -:10793000D6C020E1129FF0011124E15AFF4E808150 -:107940008F7709F0CCC084859585A685B785843668 -:107950009105A105B10508F4C2C0C084D184E284B8 -:10796000F384C114D104E104F10421F4B8C0C12CA2 -:10797000D12C760140E0C701B60191DC782E882336 -:1079800009F4ADC08091BC0E9091BD0E811592405E -:1079900009F0A5C03091C10E332309F4A0C0809135 -:1079A000BF0E9091C00E892B09F499C02091BE0E94 -:1079B000222309F494C03A8B2C831D8630E041E0E9 -:1079C00050E06D85062FCA01062E02C0880F991F50 -:1079D0000A94E2F72817390731F081E0860F8D8786 -:1079E000683078F37CC02091C70E3091C80E211505 -:1079F000310519F040E050E008C02091D50E3091DB -:107A0000D60E4091D70E5091D80E2D833E834F83D2 -:107A100058878091BF0E9091C00E46015701880E85 -:107A2000991EA11CB11C8B8A9C8AAD8ABE8AE091EA -:107A3000C20EF091C30EF98FE88FA091C10EB0E095 -:107A40000E94C7FA680D791D8A1D9B1D6A8F7B8F66 -:107A50008C8F9D8FB5E0EE0FFF1FBA95E1F7E150D7 -:107A6000FE4FEF2FFF27E695DC01CB018E0F9F1F06 -:107A7000A11DB11D8E879F87A88BB98B8090C40EE6 -:107A80009090C50E8114910419F0A12CB12C08C05E -:107A90008090D10E9090D20EA090D30EB090D40EC4 -:107AA000A7019601281B390B4A0B5B0BDA01C901B0 -:107AB000880D991DAA1DBB1D04C0B695A795979565 -:107AC00087950A95D2F789879A87AB87BC87853FC8 -:107AD0003FE09307A105B10520F48CE08F8B712C5A -:107AE00015C0853F9F4FA105B10510F480E10DC081 -:107AF0008091DD0E9091DE0EA091DF0EB091E00E30 -:107B00008A8F9B8FAC8FBD8F80E28F8B872DDF910B -:107B1000CF911F910F91FF90EF90DF90CF90BF908A -:107B2000AF909F908F907F9008954F925F926F9249 -:107B30007F928F929F92AF92BF92CF92DF92EF92FD -:107B4000FF920F931F93CF93DF932C0123E833E031 -:107B500081E090E0F90145915491441655060CF0EE -:107B600062C0AC0141505109DA01AA0FBB1FAA0F34 -:107B7000BB1FAF57BC4FFD0165917491440F551F5A -:107B8000440F551F41585C4FFA0165907490FC01F9 -:107B9000EE0FFF1FEE0FFF1FEF57FC4FA590B490A5 -:107BA000FD0105911491F901C591D491FA018590D7 -:107BB0009490882777FD8095982F0E9441F76B015C -:107BC0007C01B20166197709882777FD8095982F87 -:107BD0000E9441F72B013C01B501601B710B882706 -:107BE00077FD8095982F0E9441F79B01AC01C3015E -:107BF000B2010E9474F92B013C01BE016819790998 -:107C0000882777FD8095982F0E9441F79B01AC0152 -:107C1000C301B2010E94A6F69B01AC01C701B601E7 -:107C20000E94C6F511C001962C5F3F4F8D33910520 -:107C300009F090CFE1E7F4E065917491882777FD32 -:107C40008095982F0E9441F7DF91CF911F910F915E -:107C5000FF90EF90DF90CF90BF90AF909F908F906C -:107C60007F906F905F904F9008954F925F926F92C8 -:107C70007F928F929F92AF92BF92CF92DF92EF92BC -:107C8000FF920F931F93CF93DF932C01662371F123 -:107C9000E7E1F2E58491882341F09091C00095FFDF -:107CA000FCCF8093C6003196F5CF70E04AE050E0FB -:107CB00089EF96E10E9430D0E8E6F2E084918823D3 -:107CC00041F09091C00095FFFCCF8093C6003196A3 -:107CD000F5CF8091C00085FFFCCF8AE08093C6007D -:107CE0000E94266A60E070E0CB017EC023E833E0AA -:107CF00081E090E0F90145915491441655060CF04D -:107D000062C0AC0141505109DA01AA0FBB1FAA0F92 -:107D1000BB1FAF57BC4FFD0165917491440F551FB8 -:107D2000440F551F41585C4FFA0165907490FC0157 -:107D3000EE0FFF1FEE0FFF1FEF57FC4FA590B49003 -:107D4000FD0105911491F901C591D491FA01859035 -:107D50009490882777FD8095982F0E9441F76B01BA -:107D60007C01B20166197709882777FD8095982FE5 -:107D70000E9441F72B013C01B501601B710B882764 -:107D800077FD8095982F0E9441F79B01AC01C301BC -:107D9000B2010E9474F92B013C01BE0168197909F6 -:107DA000882777FD8095982F0E9441F79B01AC01B1 -:107DB000C301B2010E94A6F69B01AC01C701B60146 -:107DC0000E94C6F511C001962C5F3F4F8D3391057F -:107DD00009F090CFE1E7F4E065917491882777FD91 -:107DE0008095982F0E9441F7DF91CF911F910F91BD -:107DF000FF90EF90DF90CF90BF90AF909F908F90CB -:107E00007F906F905F904F90089560E080910A118D -:107E100090910B112ADF60930611709307118093E4 -:107E200008119093091180910411909105117DDE44 -:107E300060930011709301118093021190930311CC -:107E40008FB7F8941092F8108FBF08952091140204 -:107E500030911502409116025091170260E070E0D7 -:107E60008FE793E40E94A6F66093D8107093D91020 -:107E70008093DA109093DB10089597FF03C08091F0 -:107E8000FF1004C0FC01EE52FF4E808190E0089587 -:107E9000CF93DF93D82FC62FC19561E00E940CEFDE -:107EA0006C2F8D2F0E9445EF6C2F70E08D2FDF918E -:107EB000CF910C9402EECF93C1E020E030E048E493 -:107EC00052E4609106117091071180910811909110 -:107ED00009110E94A2F818160CF0C0E06C2F86E081 -:107EE00090E0CF91D5CFCF93DF931092DC1010921A -:107EF000DD101092DE101092DF10209114023091EC -:107F00001502409116025091170260E070E08FE771 -:107F100093E40E94A6F66093D8107093D9108093D2 -:107F2000DA109093DB106D9A80910101806180934B -:107F300001019D9A8091010180628093010187ED8A -:107F400080937A0010927E0010927D0080917E00D6 -:107F5000816080937E0080917E00826080937E00AD -:107F600080917E00846080937E0080E888BD80914F -:107F70006E00846080936E006AEF70E080E090E0B5 -:107F80000E941BF08FE090E09093CB108093CA107A -:107F900060E080910A0290910B0267DE20E030E001 -:107FA00040E751E40E949FF687FF0AC080910A02D1 -:107FB00090910B02409790930B0280930A02E8CFB6 -:107FC0008BE391E0909309028093080260E0809136 -:107FD000CC109091CD1049DE20E030E84DE953E41B -:107FE0000E94A2F8181654F48091CC109091CD10F4 -:107FF00040969093CD108093CC10E8CFC091C810DC -:10800000D091C910CE0191DD20E030E046E153E48B -:108010000E94A2F8181634F46096D093C910C09349 -:10802000C810ECCFDF91CF910895089510920F11F1 -:1080300010920E1110920D1110920C111092D2107C -:10804000759810920D1110920C111092FF10A598B6 -:1080500008952F923F924F925F926F927F928F92EC -:108060009F92AF92BF92CF92DF92EF92FF920F93C7 -:108070001F93CF93DF93CDB7DEB7AE970FB6F894CB -:10808000DEBF0FBECDBF6B8F7C8F8D8F292E5A87A1 -:1080900049873CA72BA70E94ECEF6F8F78A389A399 -:1080A0009AA30E94ECEF6FA378A789A79AA72985C6 -:1080B0003A85121613061CF0E0E1FDE017C0E3E27A -:1080C000FDE08191882339F09091C00095FFFCCFAD -:1080D0008093C600F6CF8091C00085FFFCCF1BC205 -:1080E0009091C00095FFFCCF8093C60081918111D3 -:1080F000F7CF8091C00085FFFCCF8AE08093C60057 -:1081000095DF49855A858FE7452B99F18093FF10BC -:108110008F8D98A1A9A1BAA1898B9A8BAB8BBC8BAF -:108120008D879E87AF87B88B1D8290E4988FACE1D6 -:10813000A98FB6E4BA8F1DA61D8A1E8A1F8A2FE753 -:1081400030E040E050E029833A834B835C83EFE7E3 -:108150004E2E512C612C712C1BA21CA21DA21EA202 -:1081600031E03E8F1C861B86312C00E010E01EA6FD -:1081700005C08093D210CCCF0E9482A38091F810CA -:10818000882309F4F6C041DE49855A85452B51F014 -:1081900030900011009101111091021150910311C2 -:1081A0005EA709C0309006110091071110910811C7 -:1081B000809109118EA7232D302F412F5EA56DA52B -:1081C0007D898E899F890E94A2F818162CF03DA601 -:1081D0000D8B1E8B9EA59F8B232D302F412F5EA5CF -:1081E0006D81788D898D9A8D0E949FF687FD05C0DF -:1081F0003D82088F198FAEA5AA8F0E94ECEF2FA1A8 -:1082000038A549A55AA5621B730B840B950B653CD9 -:1082100079408105910538F04EDE0E94ECEF6FA3A6 -:1082200078A789A79AA74E8D442309F44FC02B8DB8 -:108230003C8D4D8D522D632D702F812F9EA50E9458 -:10824000A2F818160CF095C00E94ECEF29893A8923 -:108250004B895C89621B730B840B950B69387341E6 -:108260008105910508F485C0D301C20129813A81B5 -:108270004B815C81821B930BA40BB50B49855A85FE -:10828000B595A79597958795452B19F08093FF1085 -:1082900002C08093D2100E94ECEF6D877E878F879B -:1082A000988BDC01CB0129893A894B895C89821B37 -:1082B000930BA40BB50B8BA39CA3ADA3BEA33B8DCB -:1082C0003DA74C8D4D8B5D8D5E8B2F8A2B8D3C8D0C -:1082D0004D8D522D632D702F812F9EA50E949FF6EC -:1082E00087FFEEC20E94ECEF2D853E854F855889B1 -:1082F000621B730B840B950B6938734181059105E3 -:1083000008F4DEC20E94ECEF698B7A8B8B8B9C8B1E -:10831000DC01CB012D853E854F855889821B930B4F -:10832000A40BB50B4B855C85452B09F010C18981E9 -:108330009A81AB81BC81840D951DA61DB71D298531 -:108340003A85B595A79597958795232B09F4B5C2DE -:108350008093FF104B855C854F5F5F4F5C874B8739 -:108360005B8D5D838C8D888F9D8D998F2A8EA1E08A -:10837000AE8F20E030E040EA51E46B8D7C8D8D8D36 -:10838000922D0E94C6F59B01AC01632D702F812FA9 -:108390009EA50E94A2F8181694F4EEE0F3E08491F2 -:1083A000882341F09091C00095FFFCCF8093C600D8 -:1083B0003196F5CF8091C00085FFFCCFACC00E9404 -:1083C000ECEF2F8D38A149A15AA1621B730B840BCE -:1083D000950B613D77408105910508F44FC04985B3 -:1083E0005A85452B81F0E090FF10F12CE8E0F3E096 -:1083F00084918823C1F09091C00095FFFCCF8093B9 -:10840000C6003196F5CFE090D210F12CE2E0F3E017 -:108410008491882341F09091C00095FFFCCF809318 -:10842000C6003196F5CF22E030E0432D502F612F6A -:108430007EA589EF96E10E9406D1EEEFF2E08491ED -:10844000882341F09091C00095FFFCCF8093C60037 -:108450003196F5CF4AE050E0B70189EF96E10E94EE -:1084600030D08091C00085FFFCCF8AE08093C600A9 -:108470000E94ECEF6F8F78A389A39AA30E94ECEF80 -:108480006B017C010E94ECEF89889A88AB88BC88DC -:108490002D853E854F855889820E931EA41EB51EDC -:1084A000C818D908EA08FB08C60ED71EE81EF91E30 -:1084B00031E8C3163FE4D30632E1E306F10490F05D -:1084C000E1EEF2E08491882341F09091C00095FFA5 -:1084D000FCCF8093C6003196F5CF8091C00085FF18 -:1084E000FCCF19C04B855C858BA59CA5841795078F -:1084F0000CF042CEE5E8F2E08491882341F09091BF -:10850000C00095FFFCCF8093C6003196F5CF8091D7 -:10851000C00085FFFCCF8AE08093C600AE960FB600 -:10852000F894DEBF0FBECDBFDF91CF911F910F91A9 -:10853000FF90EF90DF90CF90BF90AF909F908F9083 -:108540007F906F905F904F903F902F9008958BA0F9 -:108550009CA0ADA0BEA0880E991EAA1EBB1E2BA17A -:108560003CA14DA15EA1281B390B4A0B5B0BCA0134 -:10857000B90129813A814B815C810E943AFAA501B7 -:1085800094010E949FFA240D351D461D571D24316C -:1085900031054105510504F129013A013CEE43162C -:1085A0005104610471042CF06BEE462E512C612CA9 -:1085B000712C40E84416510461047104DCF08EEF24 -:1085C00090E0A0E0B0E084199509A609B709898375 -:1085D0009A83AB83BC8312C054E1452E512C612C8D -:1085E000712C24E130E040E050E029833A834B8352 -:1085F0005C8304C049825A826B827C82E7E7F3E0A5 -:108600008491882341F09091C00095FFFCCF809326 -:10861000C6003196F5CF2AE030E0B301A20189EF20 -:1086200096E10E9405D0E2E7F3E08491882341F0CF -:108630009091C00095FFFCCF8093C6003196F5CF96 -:108640002AE030E049815A816B817C8189EF96E193 -:108650000E9405D0EBE6F3E08491882341F09091ED -:10866000C00095FFFCCF8093C6003196F5CF22E085 -:1086700030E04D81588D698D7A8D89EF96E10E94A9 -:1086800006D1E4E6F3E08491882341F09091C000A4 -:1086900095FFFCCF8093C6003196F5CF22E030E005 -:1086A0004DA55D896E897F8989EF96E10E9406D18B -:1086B0008091C00085FFFCCF8AE08093C6002B85A7 -:1086C0003C85233031050CF432CE69817A818B816F -:1086D0009C810E9441F720E030E040E850E40E9495 -:1086E00074F96B017C012D81388D498D5A8D6DA5F2 -:1086F0007D898E899F890E94C5F520ED3FE049E480 -:1087000050E40E9474F920E030E040E05FE30E9412 -:1087100074F99B01AC01C701B6010E94A6F66B017A -:108720007C01C501B4010E9441F720E030E04AE736 -:1087300054E40E94A6F64B015C01EEE5F3E084915F -:10874000882341F09091C00095FFFCCF8093C60034 -:108750003196F5CF22E030E0B701A60189EF96E12E -:108760000E9406D1E8E5F3E08491882341F09091DE -:10877000C00095FFFCCF8093C6003196F5CF22E074 -:1087800030E0B501A40189EF96E10E9406D1809105 -:10879000C00085FFFCCF8AE08093C6002AE939E952 -:1087A00049E15FE3C701B6010E9474F96B017C01E6 -:1087B0009B01AC010E94C6F5A50194010E94A6F69A -:1087C0006D837E838F839887A5019401C701B601CD -:1087D0000E9474F920E030E040E05EE30E9474F90A -:1087E0004B015C01EAE4F3E08491882341F090912D -:1087F000C00095FFFCCF8093C6003196F5CF8091E5 -:10880000C00085FFFCCF8AE08093C600E4E4F3E07B -:108810008491882341F09091C00095FFFCCF809314 -:10882000C6003196F5CF22E030E0B701A60189EF0E -:1088300096E10E9406D18091C00085FFFCCF8AE0BE -:108840008093C600EEE3F3E08491882341F0909199 -:10885000C00095FFFCCF8093C6003196F5CF22E093 -:1088600030E04D815E816F81788589EF96E10E94CD -:1088700006D18091C00085FFFCCF8AE08093C600BE -:10888000E8E3F3E08491882341F09091C00095FFE4 -:10889000FCCF8093C6003196F5CF22E030E0B501E1 -:1088A000A40189EF96E10E9406D18091C00085FF66 -:1088B000FCCF8AE08093C6003ACD8093D2104ACD97 -:1088C0001E8E57CD81E0809336130E94FAD9809195 -:1088D0008E13882339F010928E1360E08CE893E1B8 -:1088E0000E94825888E592E00E94F3A29FDB179ACB -:1088F00010924C13169A10924D13149A48D10E945C -:1089000082A3729A84EF91E00E943FF0729884E60D -:1089100090E00C943FF02F923F924F925F926F92B3 -:108920007F928F929F92AF92BF92CF92DF92EF92FF -:10893000FF920F931F93CF93DF93CDB7DEB72897A6 -:108940000FB6F894DEBF0FBECDBF4C012A013B012C -:108950000D831E832F833887AA2039F0A12CB12CD8 -:1089600019821A821B821C820BC03DE2A32EB12CFD -:1089700080E090E0A0E7B1E489839A83AB83BC8375 -:108980000E94ECEF0E943FF78401000F111F000FBF -:10899000111FD801A85EBE4E1D012D913D914D9134 -:1089A0005C910E94C5F520E030E04AEF54E40E945B -:1089B000A2F818160CF0D2C00E94ECEF0E943FF70C -:1089C000F101608371838283938320E030E0A90109 -:1089D000C701B6010E949FF6811107C0F401EE0F96 -:1089E000FF1FE05FFE4E118210829801285D3E4E0F -:1089F0001901A3019201D1016D917D918D919C91FD -:108A00000E949FF6882321F120E030E0A901C301F4 -:108A1000B2010E94A2F8F801E85CFE4E181674F448 -:108A200080E090E0A0E8BFE380839183A283B383DA -:108A3000F10140825182628273820AC010821182E7 -:108A400012821382D1014D925D926D927C921397A6 -:108A5000A30192016D817E818F8198850E94A2F889 -:108A600087FD19C0F801E85CFE4E1F0120E030E0F0 -:108A700040E85FE360817181828193810E949FF66B -:108A8000811109C080E090E0A0E0B0E4F1018083B2 -:108A90009183A283B38320E030E0A901C701B6012E -:108AA0000E94A2F818160CF059C029813A814B8116 -:108AB0005C81C301B2010E94C5F52D813E814F81C9 -:108AC00058850E949FF687FF12C029813A814B8109 -:108AD0005C81C301B2010E94C6F59B01AC016D81AE -:108AE0007E818F8198850E949FF687FD37C0F801AF -:108AF000E85CFE4E20E030E040E85FE36081718199 -:108B0000828193810E94A2F8181644F5F401EE0FB9 -:108B1000FF1FE05FFE4E80819181019691838083EB -:108B2000880F991FA816B906CCF428960FB6F894AA -:108B3000DEBF0FBECDBFDF91CF911F910F91FF9090 -:108B4000EF90DF90CF90BF90AF909F908F907F90ED -:108B50006F905F904F903F902F90B4CE28960FB6B5 -:108B6000F894DEBF0FBECDBFDF91CF911F910F9163 -:108B7000FF90EF90DF90CF90BF90AF909F908F903D -:108B80007F906F905F904F903F902F9008952F921D -:108B90003F924F925F926F927F928F929F92AF928D -:108BA000BF92CF92DF92EF92FF920F931F93CF93DA -:108BB000DF93CDB7DEB728970FB6F894DEBF0FBEB0 -:108BC000CDBF8091F810882309F41CC21ED9609192 -:108BD000D21070E080E090E00E9441F76B017C01D0 -:108BE0004090061150900711609008117090091183 -:108BF00060910E1170910F11882777FD8095982F45 -:108C00000E9441F7AB01BC01A12C9301820181E0DC -:108C100090E081DE8090061190900711A0900811DD -:108C2000B090091100910E1110910F11B801882711 -:108C300077FD8095982F0E9441F7A50194010E942D -:108C4000C5F56B017C016093E0107093E110809397 -:108C5000E2109093E31020E030E040E251E40E9403 -:108C6000A2F8181624F481E08093D710F7C020E012 -:108C700030E040E251ECC701B6010E949FF687FD4B -:108C800002C0012B21F481E08093D7100CC18091A8 -:108C9000D710882351F01092F4101092F510109212 -:108CA000F6101092F7101092D71020911802309100 -:108CB000190240911A0250911B02C701B6010E948D -:108CC00074F969837A838B839C836093EC1070932F -:108CD000ED108093EE109093EF102091F4103091EE -:108CE000F5104091F6105091F710C701B6010E949F -:108CF000C6F52B013C012090DC103090DD10109166 -:108D0000DE100091DF109101412F502F0E949FF63D -:108D100087FD14C02090D8103090D9101091DA102F -:108D20000091DB109101412F502FB201C3010E942D -:108D3000A2F818161CF01201162D072DC101A12F43 -:108D4000B02F8093F4109093F510A093F610B09389 -:108D5000F7102091140230911502409116025091A3 -:108D60001702B101812F902F0E9474F96D837E83C9 -:108D70008F8398876093E8107093E9108093EA10CE -:108D80009093EB102091F0103091F1104091F2107F -:108D90005091F310C501B4010E94C5F52091100255 -:108DA0003091110240911202509113020E9474F905 -:108DB00020ED3CEC4CE45DE30E9474F92B013C0196 -:108DC00023E333E343E75FE36091E4107091E51040 -:108DD0008091E6109091E7100E9474F99B01AC011C -:108DE000C301B2010E94C6F52B013C016093E4105F -:108DF0007093E5108093E6109093E7102D813E81EB -:108E00004F81588569817A818B819C810E94C6F54A -:108E1000A30192010E94C5F52B013C0120E030E046 -:108E20004FE753E40E94A2F820E030E0A9011816B1 -:108E3000E4F4C701B6010E94A2F818167CF4A70159 -:108E40009601B101812F902F0E94C5F56093F41017 -:108E50007093F5108093F6109093F710412C512CDD -:108E60005FE7652E53E4752E21C0C301B2010E9455 -:108E70009FF687FF1BC020E030E0A901C701B601C3 -:108E80000E949FF687FF0FC0A7019601B101812FB5 -:108E9000902F0E94C5F56093F4107093F5108093A5 -:108EA000F6109093F710412C512C32018092F01063 -:108EB0009092F110A092F210B092F3106091CA104B -:108EC0007091CB10882777FD8095982F0E9441F7ED -:108ED0009B01AC01C501B4010E94A2F81816DCF494 -:108EE0006091080270910902882777FD8095982F7C -:108EF0000E9441F79B01AC01C501B4010E949FF69D -:108F000087FF09C0C301B2010E940EF775956795EE -:108F10006093D21002C01092D2100E94ECEF009128 -:108F2000CE101091CF102091D0103091D110601B35 -:108F3000710B820B930B653C79408105910560F0C4 -:108F40000E945B3F0E94ECEF6093CE107093CF10B5 -:108F50008093D0109093D1100E94ECEF0091D31029 -:108F60001091D4102091D5103091D610601B710B48 -:108F7000820B930B683873418105910508F442C058 -:108F80000E94ECEF6093D3107093D4108093D510AF -:108F90009093D610C0900011D0900111E090021172 -:108FA000F090031120E030E040E751E4C701B60142 -:108FB0000E94A2F818161CF520E030E046E153E4C8 -:108FC000C701B6010E949FF687FF19C060910C117E -:108FD00070910D11882777FD8095982F0E9441F799 -:108FE0009B01AC01C701B6010E94A2F887FD03C036 -:108FF0001092FF1007C08FE78093FF1003C01092FC -:10900000FF10A59828960FB6F894DEBF0FBECDBF0F -:10901000DF91CF911F910F91FF90EF90DF90CF9054 -:10902000BF90AF909F908F907F906F905F904F9088 -:109030003F902F900895CF93C82F0E9416400E9412 -:10904000DE6A811134C0E7E1F2E59491992341F0A1 -:109050008091C00085FFFCCF9093C6003196F5CF7C -:109060006C2F70E04AE050E089EF96E10E9430D02A -:109070008091C00085FFFCCF8AE08093C600EBE2C0 -:10908000F2E08491882341F09091C00095FFFCCFDD -:109090008093C6003196F5CF8091C00085FFFCCF4C -:1090A0008AE08093C6008EE192E00E94F3A2CF9105 -:1090B0000C94866ACF93C82F0E9416400E94DE6AE5 -:1090C000811134C0E7E1F2E59491992341F0809158 -:1090D000C00085FFFCCF9093C6003196F5CF6C2F72 -:1090E00070E04AE050E089EF96E10E9430D0809134 -:1090F000C00085FFFCCF8AE08093C600E1EFF1E07D -:109100008491882341F09091C00095FFFCCF80931B -:10911000C6003196F5CF8091C00085FFFCCF8AE074 -:109120008093C60084EE91E00E94F3A2CF910C944C -:10913000866AA5980E94DE6A811125C0E7E1F2E502 -:109140008491882341F09091C00095FFFCCF8093DB -:10915000C6003196F5CFEBEAF1E08491882341F027 -:109160009091C00095FFFCCF8093C6003196F5CF5B -:109170008091C00085FFFCCF8AE08093C6008AE919 -:1091800091E00E94F3A20C94866A1F920F920FB690 -:109190000F9211240BB60F920F931F932F933F93AF -:1091A0004F935F936F937F938F939F93AF93BF93EF -:1091B000CF93DF93EF93FF9380910702811112C049 -:1091C0008091D2108093C710882311F0759A01C046 -:1091D00075988091FF108093C610882311F0A59A8E -:1091E00001C0A5989091C71080910702981708F4C4 -:1091F00075989091C61080910702981708F4A59869 -:10920000809107028F5F8F7780930702809106021B -:1092100090E08B30910508F093C0FC01EE58FF4FB1 -:109220000C94BBFA10927B0080E480937C008091C8 -:109230007A00806480937A000E94FCA281E019C0C9 -:1092400020917800309179008091C2109091C310E4 -:10925000A091C410B091C510820F931FA11DB11D24 -:109260008093C2109093C310A093C410B093C51004 -:1092700082E08093060264C010927B0082E48093B7 -:109280007C0080917A00806480937A000E94FCA226 -:1092900083E0EFCF20917800309179008091BE106B -:1092A0009091BF10A091C010B091C110820F931F78 -:1092B000A11DB11D8093BE109093BF10A093C0104C -:1092C000B093C11084E0D5CF10927B0081E48093ED -:1092D0007C0080917A00806480937A000E94FCA2D6 -:1092E00085E0C7CF20917800309179008091BA1045 -:1092F0009091BB10A091BC10B091BD10820F931F34 -:10930000A11DB11D8093BA109093BB10A093BC1007 -:10931000B093BD1086E0ADCF0E94FCA287E0A9CF3C -:1093200088E0A7CF0E94FCA289E0A3CF109206029A -:109330008091B9108F5F8093B91002C0109206021D -:109340008091B910803108F463C08091F8108111C8 -:1093500010C08091C2109091C31090930B11809314 -:109360000A118091BE109091BF10909305118093C7 -:10937000041181E08093F8101092B9101092C2107D -:109380001092C3101092C4101092C5101092BA100F -:109390001092BB101092BC101092BD101092B5101C -:1093A0001092B6101092B7101092B8101092BE1012 -:1093B0001092BF101092C0101092C11020910A118B -:1093C00030910B118091CC109091CD1082179307A2 -:1093D00014F080E030DE20910A1130910B11809161 -:1093E0000A0290910B022817390714F080E062DE20 -:1093F00020910411309105118091C8109091C910ED -:10940000821793072CF010920D1110920C1191DE1F -:1094100000E010E0E801CC0FDD1FC750DF4E88816F -:1094200099811816190644F461E0802F0E941CDA15 -:1094300088819981019709C0892B49F060E0802FCC -:109440000E941CDA888199810196998388830F5F35 -:109450001F4F03301105F1F6FF91EF91DF91CF918E -:10946000BF91AF919F918F917F916F915F914F913C -:109470003F912F911F910F910F900BBE0F900FBE38 -:109480000F901F9018952CEA35EC47E25EE30C94A0 -:1094900074F92CEA35EC47E25EE30C94A6F62CEA6C -:1094A00035EC47E25EE30C94A6F62CEA35EC47E295 -:1094B0005EE30C9474F9CF93DF93EC0160E08E814E -:1094C0000E9445EF81E090E00E943FF061E08E81D4 -:1094D0000E9445EF81E090E00E943FF060E08E81C5 -:1094E0000E9445EF84E690E0DF91CF910C943FF02D -:1094F000CF92DF92EF92FF920F931F93CF93DF9360 -:109500007C01C0E0D0E0C62ED12C87010C0F1D1FBE -:1095100061E0F80187810E940CEFB6010C2E02C0B9 -:10952000759567950A94E2F76170F80187810E944A -:1095300045EF2196C430D10541F7C701DF91CF91A6 -:109540001F910F91FF90EF90DF90CF90B4CFCF920B -:10955000DF92EF92FF920F931F93CF93DF937C01E3 -:10956000C0E0D0E0C62ED12C87010C0F1D1F61E09A -:10957000F80187810E940CEFB6010C2E02C0759590 -:1095800067950A94E2F76170F80187810E9445EFC0 -:109590002196C830D10541F7C701DF91CF911F91C6 -:1095A0000F91FF90EF90DF90CF9085CF1F93CF93D7 -:1095B000DF93EC01162F642F8C810E9445EF8D8183 -:1095C0008F3F19F060E00E9445EF8F85612F84FF87 -:1095D00005C0CE01DF91CF911F91B9CF70E084E03B -:1095E000759567958A95E1F7CE0182DF612FCE01EF -:1095F000DF91CF911F917CCF40E0D8CF61E0FCDFBD -:1096000080E496E00C943FF062E0F6DF80E496E0C0 -:109610000C943FF0CF93DF93CDB7DEB728970FB60A -:10962000F894DEBF0FBECDBF28E0EBE8FCE0DE0122 -:10963000119601900D922A95E1F7FC0123894217BA -:1096400010F04FEF420FFE013196E40FF11DE40FD1 -:10965000F11D2081260F2068622F28960FB6F894FE -:10966000DEBF0FBECDBFDF91CF91C6CFFC016089B9 -:10967000262F2460208B6C60BFCFCF93DF93EC014B -:10968000423018F08F8588608F874B8B1C8A22238D -:1096900029F0413019F48F8584608F8780E593EC41 -:1096A0000E943FF060E08C810E9445EF60E08E8177 -:1096B0000E9445EF8D818F3F19F060E00E9445EFD9 -:1096C0006F8564FD19C063E0CE0112DF84E991E18A -:1096D0000E943FF063E0CE010BDF84E991E10E943C -:1096E0003FF063E0CE0104DF86E990E00E943FF0A6 -:1096F00062E0CE01FDDE13C06062CE017DDF84E951 -:1097000091E10E943FF06F856062CE0175DF86E9CE -:1097100090E00E943FF06F856062CE016DDF6F8543 -:109720006062CE0169DF8CE390E00E943FF084E04C -:10973000888BCE019BDF8CE390E00E943FF0CE014E -:109740005DDF88EB9BE00E943FF082E0898B66E062 -:10975000CE0152DF8CE390E0DF91CF910C943FF08B -:109760006F927F928F92AF92CF92EF920F931F934F -:10977000CF93DF93CDB7DEB73C01162F842F5E85E4 -:109780004F8538899989F301848325830683E7828D -:10979000C086A1868286538744873587968761E095 -:1097A0000E940CEFF30185818F3F19F061E00E9468 -:1097B0000CEF61E0F30186810E940CEF112319F098 -:1097C000F301178603C080E1F301878720E041E0C1 -:1097D00060E1C301DF91CF911F910F91EF90CF9086 -:1097E000AF908F907F906F9048CF8F92AF92CF9233 -:1097F000EF920F93DC0113961C921E921297E1E5F3 -:10980000FDE0ED93FC931F921F921F921F928C2CF0 -:10981000AE2CC02EE22E042F2FEF462F61E0A0DFEA -:109820000F900F900F900F900F91EF90CF90AF90FF -:109830008F900895CF93DF93EC01423018F08F851D -:1098400088608F874B8B1C8A222329F0413019F4C2 -:109850008F8584608F8780E593EC0E943FF060E005 -:109860008C810E9445EF60E08E810E9445EF8D81E2 -:109870008F3F19F060E00E9445EF6F8564FD19C0CD -:1098800063E0CE0135DE84E991E10E943FF063E0C0 -:10989000CE012EDE84E991E10E943FF063E0CE012B -:1098A00027DE86E990E00E943FF062E0CE0120DEF4 -:1098B00013C06062CE01A0DE84E991E10E943FF016 -:1098C0006F856062CE0198DE86E990E00E943FF0ED -:1098D0006F856062CE0190DE6F856062CE018CDEA6 -:1098E0008CE390E00E943FF084E0888BCE01BEDEE6 -:1098F0008CE390E00E943FF0CE0186DE80E496E0AB -:109900000E943FF082E0898B66E0CE0175DE8CE339 -:1099100090E00E943FF040E068E0CE017BDE6EE622 -:109920007EE0CE010E9455F541E068E0CE0172DE96 -:109930006EE67EE0CE010E9455F542E066E0CE0183 -:1099400069DE6CE67EE0CE01DF91CF910C9455F597 -:10995000CF92DF92EF92FF920F931F93CF93DF93FB -:109960001F921F92CDB7DEB78C01677088E0689FA9 -:10997000B00111246064C80149835A833DDE4981E6 -:10998000C42E5A81D52EE12CF12CD6016D916D019A -:10999000D801ED91FC910190F081E02DC80119955D -:1099A000BFEFEB1AFB0AE8E0EE16F10471F70F9037 -:1099B0000F90DF91CF911F910F91FF90EF90DF906B -:1099C000CF90089541E0F2DD81E090E008950F939B -:1099D0001F93CF93DF93EC018B0144E150E0BC0176 -:1099E00088E491E10E94D2FFCE010E94B1FF992745 -:1099F00044E150E0481B590BB801885B9E4E0E9421 -:109A0000D2FF88E491E1DF91CF911F910F910895EA -:109A1000AF92BF92CF92DF92EF92FF920F931F937C -:109A2000CF93DF93EC015B017A01690144E150E0DF -:109A3000BC0188E491E10E94D2FFCE010E94B1FFF7 -:109A4000EC01DD2704E110E0A8014C1B5D0BB50122 -:109A5000CE01885B9E4E0E94D2FFC5010E94B1FFDD -:109A6000C80FD91FDD27A8014C1B5D0BB701CE0124 -:109A7000885B9E4E0E94D2FFC7010E94B1FF8C0FEF -:109A80009D1F9927A801481B590BB601885B9E4E64 -:109A90000E94D2FF88E491E1DF91CF911F910F9155 -:109AA000FF90EF90DF90CF90BF90AF9008952F92EE -:109AB0003F924F925F926F927F928F929F92AF925E -:109AC000BF92CF92DF92EF92FF920F931F93CF93AB -:109AD000DF93CDB7DEB7CF54D1090FB6F894DEBF10 -:109AE0000FBECDBF1C017E8F6D8F4A012FAB09AF1A -:109AF0002896EFAE28972C96ACAEBDAECEAEDFAEBC -:109B00002C9734E0239F50011124FC01EA0DFB1D2A -:109B100080819181A281B381898F9A8FAB8FBC8F15 -:109B2000DA01AA0DBB1DBCAFABAF4D905D906D903F -:109B30007C90A3019201698D7A8D8B8D9C8D0E9402 -:109B4000C6F521966CAF7DAF8EAF9FAF2197B4E085 -:109B50000B9F80011124F101E00FF11F2081318161 -:109B6000428153812F8F38A349A35AA3A401400FE8 -:109B7000511F23965FAF4EAF2397DA01CD90DD9052 -:109B8000ED90FC90A70196016F8D78A189A19AA113 -:109B90000E94C6F527966CAF7DAF8EAF9FAF27971B -:109BA0002896EFAD2897B4E0EB9FC0011124F10196 -:109BB000E80FF91F20813181428153812BA33CA3FF -:109BC0004DA35EA3ED8DFE8DE80FF91F60817181BD -:109BD000828193810E94C5F56FA378A789A79AA770 -:109BE000AD8DBE8D1C968D919D910D90BC91A02D3B -:109BF00060968CAF9DAFAEAFBFAF6097D1011C96A2 -:109C00002D913D914D915C911F972BA73CA74DA79E -:109C10005EA7A301920150582D8B3E8B4F8B588F1E -:109C2000D701C601B058898B9A8BAB8BBC8BED8D5D -:109C3000FE8DEA0DFB1D20813181428153812FA7CA -:109C400038AB49AB5AAB21962CAD3DAD4EAD5FADB7 -:109C500021976FA578A989A99AA90E94C5F56B01DA -:109C60007C01ED8DFE8DE00FF11F80819181A2813D -:109C7000B3818BAB9CABADABBEAB27962CAD3DADF2 -:109C80004EAD5FAD2797BC01CD010E94C5F54B01DC -:109C90005C01A70196016D897E898F89988D0E944C -:109CA00074F92B013C01A501940169897A898B899A -:109CB0009C890E9474F99B01AC01C301B2010E940E -:109CC000C6F52B013C01A50194016D897E898F8920 -:109CD000988D0E9474F94B015C01A7019601698976 -:109CE0007A898B899C890E9474F99B01AC01C5011A -:109CF000B4010E94C5F5A30192010E9439F66B01DF -:109D00007C0120E030E0A9010E949FF687FF0AC095 -:109D10002BED3FE049EC50E4C701B6010E94C6F5C7 -:109D20006B017C01AA968FADAA97882351F02BED89 -:109D30003FE049EC50E4C701B6010E94C5F56B0154 -:109D40007C012FA538A949A95AA9698D7A8D8B8DD7 -:109D50009C8D0E949FF681111FC02BA93CA94DA983 -:109D60005EA96F8D78A189A19AA10E949FF68111A9 -:109D700013C020E030E0A901C701B6010E949FF6A0 -:109D800081110AC02BED3FE049EC50E4C701B60158 -:109D90000E94C6F56B017C01A9962CAD3DAD4EAD80 -:109DA0005FADA997C701B6010E9474F92FA138A52C -:109DB00049A55AA55F770E94AFF84B015C012FE6D9 -:109DC00032E143E85AE30E949FF687FDC8C1C5010E -:109DD000B4010E947CF70E9413F77A8F698FDB0130 -:109DE000AB2B21F4E1E0F0E0FA8FE98F298D3A8D79 -:109DF000B90180E090E00E943FF74B015C019B01BC -:109E0000AC01C701B6010E94A6F62B013C01A501D9 -:109E100094016FA178A589A59AA50E94A6F66FA7BF -:109E200078AB89AB9AAB2BA53CA54DA55EA56096FA -:109E30006CAD7DAD8EAD9FAD60970E94C5F5A5015F -:109E400094010E94A6F66BAB7CAB8DAB9EAB20E081 -:109E500030E040E05FE3C301B2010E9474F9A30166 -:109E600092010E9474F99B01AC0160E070E080E80F -:109E70009FE30E94C5F56FA378A789A79AA7CE0193 -:109E80000196FC0128964FAD289734E0439FE00DE2 -:109E9000F11D11242BA13CA14DA15EA12083318392 -:109EA000428353832BA53CA54DA55EA52D873E87F8 -:109EB0004F87588BB12C41E050E058A34F8F1C01C5 -:109EC000BFA9A4E0BA9F800D911D112498AF8FAB5C -:109ED000910159AD44E0549F200D311D11243AAF3A -:109EE00029AFFCA7EBA74F8D58A1898D9A8D4817F4 -:109EF000590708F01AC188E18B150CF444C02FA152 -:109F000038A549A55AA569897A898B899C890E94B7 -:109F100074F96B017C01A30192016D897E898F899F -:109F2000988D0E9474F9A70196010E94C6F5A62E8D -:109F3000172F982E892E2FA138A549A55AA56D89CE -:109F40007E898F89988D0E9474F96B017C01A30131 -:109F5000920169897A898B899C890E9474F99B0195 -:109F6000AC01C701B6010E94C5F56D8B7E8B8F8B4E -:109F7000988FB3948A2D912FA92DB82D898B9A8B08 -:109F8000AB8BBC8B6CC0AF8DB8A1BD0180E090E005 -:109F90000E943FF7A30192010E9474F96B017C01BA -:109FA0000E94A3F6698B7A8B8B8B9C8BC701B601C1 -:109FB0000E94D7F94B015C01EBADFCADC080D180B4 -:109FC000E280F380F7FAF094F7F8F0942396AEADC0 -:109FD000BFAD23972D913D914D915C912BA33CA357 -:109FE0004DA35EA329893A894B895C89C701B601D3 -:109FF0000E9474F96D8B7E8B8F8B988FA5019401D5 -:10A000006BA17CA18DA19EA10E9474F99B01AC0162 -:10A010006D897E898F89988D0E94C6F56D8B7E8BA8 -:10A020008F8B988FA5019401C701B6010E9474F926 -:10A030006B017C0129893A894B895C896BA17CA1E0 -:10A040008DA19EA10E9474F99B01AC01C701B601CC -:10A050000E94C5F5698B7A8B8B8B9C8BB12C2D89DB -:10A060003E894F89588D21966CAD7DAD8EAD9FADEB -:10A0700021970E94C6F5EFA9F8AD608371838283B2 -:10A08000938329893A894B895C8927966CAD7DAD8C -:10A090008EAD9FAD27970E94C6F5A9ADBAAD6D9361 -:10A0A0007D938D939C9313972FA538A949A95AA9FD -:10A0B000EBA5FCA560817181828193810E94C6F528 -:10A0C000ABA5BCA56D937D938D939C9313972BA902 -:10A0D0003CA94DA95EA96D857E858F8598890E94D2 -:10A0E000C6F56D877E878F87988BC1010E946E664B -:10A0F000FE01E659FF4F6F012C96ECACFDAC0EADA6 -:10A100001FAD2C979E01235F3F4FAE01475F5F4F0E -:10A11000BE016B5F7F4FC1010E9417E12F8D38A1F7 -:10A120002F5F3F4F38A32F8FDECE2D8D3E8D245FC6 -:10A130003F4F4D8D5E8D485F5F4F6D8D7E8D6C5FA7 -:10A140007F4FDE01A659BF4F6D012C96ECACFDACE4 -:10A150000EAD1FAD2C978D8D9E8D0E9417E1C15BBA -:10A16000DF4F0FB6F894DEBF0FBECDBFDF91CF91AA -:10A170001F910F91FF90EF90DF90CF90BF90AF9025 -:10A180009F908F907F906F905F904F903F902F9017 -:10A190000895FC01148217821382128283E99EE0E3 -:10A1A00091838083089523E93EE0FC01318320837D -:10A1B0002781222319F004960C948D340895CF92B0 -:10A1C000DF92EF92FF920F931F93CF93DF93EC01F7 -:10A1D000875B9F4FDEDFCE0186599F4FDADF7E011E -:10A1E00029E8E20EF11C87016E0131E4C31A3EEF4B -:10A1F000D30AC801CEDF015E1F4F0C151D05C9F73C -:10A20000FE01EF53FE4F89E1818314823596178A50 -:10A21000CE018C519E4FBDDFFE01EB56FD4F1082EB -:10A220001182128213823896108211821282138256 -:10A230001A821B82188219826E0187E6C81A8DEF76 -:10A24000D80AF6011082118212821382F80111825B -:10A250001082FE01ED5FFD4F108286E391E0F70171 -:10A260009C01119221503040E1F7FE01EF55FD4F66 -:10A2700081E08083C95BDF4F198218820E94ECEF76 -:10A2800068577C4E8F4F9F4FF601608371838283A6 -:10A290009383DF91CF911F910F91FF90EF90DF900B -:10A2A000CF900895FC0120E03EE2DB014C9140326A -:10A2B00041F0283011F430833196DB014C9140831A -:10A2C00031962F5F6F5F7F4F2B3079F710820895A3 -:10A2D0002F923F924F925F926F927F928F929F92B6 -:10A2E000AF92BF92CF92DF92EF92FF920F931F93A4 -:10A2F000CF93DF93CDB7DEB7CA58D1090FB6F89424 -:10A30000DEBF0FBECDBF8C016B017A014901CA5778 -:10A31000DF4F1882C658D04084E0E80EF11C1801C7 -:10A3200091E1290E311CF801EA5BFF4FC957DF4F5D -:10A33000F983E883C758D0403801FEE56F1AFDEF76 -:10A340007F0A58018CE5A81A8DEFB80A90E4492ECF -:10A35000512C4C0E5D1E94E0490E511CA101BE0112 -:10A360006F5F7F4FC7010E94F73218160CF04AC189 -:10A370002C85322F3871303109F0ACC0F301808167 -:10A3800091810197029708F4A5C0BE016F5F7F4FCE -:10A39000CE0187589F4F86DFA0961FAEA097F6018B -:10A3A0008081811107C065E57DE0CE01815A9F4F14 -:10A3B0000F942B00B601CE01815A9F4F0F942B00B2 -:10A3C000BE0167587F4FCE01815A9F4F0F942B00DB -:10A3D00065E57DE0CE01815A9F4F0F942B00CE01A1 -:10A3E000805C9F4FD6DE21E0AE0147585F4FB7013A -:10A3F000C2010E948436811147C0F301808191819E -:10A40000892B09F041C0E1E1F2E58491882341F014 -:10A410009091C00095FFFCCF8093C6003196F5CF98 -:10A42000E0917913F0E0EE0FFF1FE45EFD4F019025 -:10A43000F081E02DE457FE4F0190F081E02D8191F5 -:10A44000882339F09091C00095FFFCCF8093C6001F -:10A45000F6CF8091C00085FFFCCF8AE08093C600D4 -:10A46000FE01E758FF4F8191882339F09091C00099 -:10A4700095FFFCCF8093C600F6CF8091C00085FF8A -:10A48000FCCF8AE08093C6008BE1FE01EC5BFF4FBE -:10A49000DE01959601900D928A95E1F724968EAD96 -:10A4A0009FAD24979CA38BA383E99EE09AA389A3E5 -:10A4B00020E030E0AE014F5D5F4FBE01615A7F4F3B -:10A4C000C80106DFCE0181966EDECE01805C9F4F13 -:10A4D0006ADE44CF8981882309F494C08E3209F45E -:10A4E0003DCF8F3509F43ACFF80181898E3209F4D6 -:10A4F00035CF8F3509F432CF23FD30CF81E03031B5 -:10A5000009F080E0C957DF4FE881F981C758D04092 -:10A510008083811108C08985873409F01FCF8A851F -:10A520008E3709F41BCF98012C5F3F4FBE016F5F40 -:10A530007F4FC901C757DF4F2883C958D040C6573E -:10A54000DF4F3883CA58D040ADDEF301808191815E -:10A55000C757DF4F2881C958D040C657DF4F3881D1 -:10A56000CA58D0400097F1F4F6018191882339F060 -:10A570009091C00095FFFCCF8093C600F6CFF90103 -:10A580008191882339F09091C00095FFFCCF809392 -:10A59000C600F6CF8091C00085FFFCCF8AE0809393 -:10A5A000C600DCCE8130910539F4F50180819181BE -:10A5B000019691838083D2CE029709F0CFCE811489 -:10A5C000910439F0B901C4010F941800892B71F47A -:10A5D00019C0CA57DF4FF881C658D0402F2F30E03E -:10A5E000F501808191812817390761F0CA57DF4F43 -:10A5F000F881C658D040FF5FCA57DF4FF883C6586E -:10A60000D040ACCEC657DF4F0FB6F894DEBF0FBEBA -:10A61000CDBFDF91CF911F910F91FF90EF90DF9011 -:10A62000CF90BF90AF909F908F907F906F905F90F2 -:10A630004F903F902F9008950F931F93CF93DF93E8 -:10A64000CDB7DEB76F970FB6F894DEBF0FBECDBFA4 -:10A650008C01FC01EE55FD4F1182108240E050E06C -:10A66000BA01835B9F4F0E94AA33C801875B9F4F4B -:10A670002BE1FC013496DE01159601900D922A958E -:10A68000E1F7FC01828193819C838B8383E99EE0C7 -:10A690009A83898320E030E0AE014F5F5F4F64E72B -:10A6A0007EE0C80115DECE0101967DDD6F960FB606 -:10A6B000F894DEBF0FBECDBFDF91CF911F910F91F8 -:10A6C00008952BE1FB013496DC01149601900D9264 -:10A6D0002A95E1F7FB0122813381FC013383228338 -:10A6E0000895EF92FF920F931F93CF93DF93EC01A6 -:10A6F0001B82FC01E05BFF4F8081882329F0CE01A3 -:10A70000835B9F4F0E948D347E018FE3E81A8EEFAA -:10A71000F80A45E360E0C7010E942D5F81112CC05B -:10A72000E1E1F2E58491882341F09091C00095FF2A -:10A73000FCCF8093C6003196F5CFE0917913F0E01D -:10A74000EE0FFF1FE45EFD4F0190F081E02DE25718 -:10A75000FE4F0190F081E02D8491882341F090918B -:10A76000C00095FFFCCF8093C6003196F5CF809155 -:10A77000C00085FFFCCF9EC08E010A531E4F41E0F2 -:10A78000B701C8010E945B3C811133C040E0B701B2 -:10A79000C8010E945B3C81112CC0E7E1F2E5849185 -:10A7A000882341F09091C00095FFFCCF8093C600B4 -:10A7B0003196F5CFE0917913F0E0EE0FFF1FE45EE4 -:10A7C000FD4F0190F081E02DE057FE4F0190F081A8 -:10A7D000E02D8491882341F09091C00095FFFCCF3B -:10A7E0008093C6003196F5CF8091C00085FFFCCFE5 -:10A7F00061C0B801CE01835B9F4F0E949A318111E5 -:10A800002CC0E7E1F2E58491882341F09091C000EB -:10A8100095FFFCCF8093C6003196F5CFE091791378 -:10A82000F0E0EE0FFF1FE45EFD4F0190F081E02DA0 -:10A83000EE56FE4F0190F081E02D8491882341F087 -:10A840009091C00095FFFCCF8093C6003196F5CF64 -:10A850008091C00085FFFCCF2DC081E08B83E1E1BA -:10A86000F2E58491882341F09091C00095FFFCCFE0 -:10A870008093C6003196F5CFE0917913F0E0EE0FAA -:10A88000FF1FE45EFD4F0190F081E02DEC56FE4F7E -:10A890000190F081E02D8491882341F09091C000D7 -:10A8A00095FFFCCF8093C6003196F5CF8091C00014 -:10A8B00085FFFCCF8AE08093C6008E01075B1F4FA7 -:10A8C000B801CE0186599F4FFCDEC859DF4F19836E -:10A8D0000883DF91CF911F910F91FF90EF90089522 -:10A8E000FC01128213820895FC012381222311F0BE -:10A8F00021E022830895FC01228121111282089512 -:10A90000AF92BF92CF92DF92EF92FF920F931F937D -:10A91000CF93DF931F92CDB7DEB78C018FE2FB019F -:10A9200081935F01D12C41E07801F1E4EF1AFEEF51 -:10A93000FF0A6FE1C62E2D2D30E0F7018081918155 -:10A9400028173907D8F4C29EC001C39E900D112468 -:10A9500083579F4FB501800F911F49830E9441315A -:10A96000C50149815C010196F5012081222321F076 -:10A970004D3810F44F5FF6CFD394DDCF47FD11C0B3 -:10A98000B501C80188519E4F0F90DF91CF911F9163 -:10A990000F91FF90EF90DF90CF90BF90AF900C940D -:10A9A0004131F50110820F90DF91CF911F910F91EE -:10A9B000FF90EF90DF90CF90BF90AF9008953F92BF -:10A9C0004F925F926F927F928F929F92AF92BF92BF -:10A9D000CF92DF92EF92FF920F931F93CF93DF936B -:10A9E000CDB7DEB7AC970FB6F894DEBF0FBECDBFC4 -:10A9F0007C015B01FC018381882309F408C1C70144 -:10AA000088519E4F0E948D34F7011282CE0101962B -:10AA10006C01BFDB270198E6490E511CC701875B1B -:10AA20009F4FF20191838083F50180818F3209F07D -:10AA300084C06FE270E0C5010F9436008C010F5F97 -:10AA40001F4F7AE0372E0115110509F47CC06FE223 -:10AA500070E0C8010F9436004C01009709F474C0EF -:10AA60000817190708F070C03C01601A710AA301A9 -:10AA7000B801CE0180960F945F00E0E2F0E0EC0FA9 -:10AA8000FD1FE60DF71D1082FE01B096819188230F -:10AA900039F09091C00095FFFCCF8093C600F6CFAF -:10AAA0008091C00085FFFCCF3092C600F20160812A -:10AAB00071816115710519F06C5F7F4F02C060E014 -:10AAC00070E021E0AE01405E5F4FCE0105960E942E -:10AAD000843681112BC0E7E5FDE08491882341F0A5 -:10AAE0009091C00095FFFCCF8093C6003196F5CFC2 -:10AAF000FE01B0968191882339F09091C00095FFB6 -:10AB0000FCCF8093C600F6CFEEE4FEE48491882368 -:10AB100041F09091C00095FFFCCF8093C600319624 -:10AB2000F5CF8091C00085FFFCCF6CC0F201D182CF -:10AB3000C08284010F5F1F4F86CFC70186599F4F88 -:10AB4000F201918380838501F201808191810097D8 -:10AB500011F0049602C080E090E0B8010E945A37DC -:10AB6000882339F1E0E4FEE48491882341F0909158 -:10AB7000C00095FFFCCF8093C6003196F5CFF80159 -:10AB80008191882339F09091C00095FFFCCF80938C -:10AB9000C600F6CF8091C00085FFFCCF8AE080938D -:10ABA000C600F701E356FD4F108211821282138214 -:10ABB0002CC0E8E2FEE48491882341F09091C0002B -:10ABC00095FFFCCF8093C6003196F5CFF8018191B7 -:10ABD000882339F09091C00095FFFCCF8093C60088 -:10ABE000F6CFE6E2FEE48491882341F09091C00024 -:10ABF00095FFFCCF8093C6003196F5CF8091C000C1 -:10AC000085FFFCCF8AE08093C600C601CCDAAC9603 -:10AC10000FB6F894DEBF0FBECDBFDF91CF911F916D -:10AC20000F91FF90EF90DF90CF90BF90AF909F90EB -:10AC30008F907F906F905F904F903F9008958F928C -:10AC40009F92AF92BF92CF92DF92EF92FF92CF93FB -:10AC5000DF931F92CDB7DEB77C01FC018281882390 -:10AC600009F4BCC071968191882339F09091C0009D -:10AC700095FFFCCF8093C600F6CFE4E2FEE484911A -:10AC8000882341F09091C00095FFFCCF8093C600CF -:10AC90003196F5CFE0917913F0E0EE0FFF1FE45EFF -:10ACA000FD4F0190F081E02DEE55FE4F0190F081B7 -:10ACB000E02D8491882341F09091C00095FFFCCF56 -:10ACC0008093C6003196F5CFF701E356FD4F4081E2 -:10ACD0005181628173812AE030E089EF96E10E9420 -:10ACE0005CD0E2E2FEE48491882341F09091C000C0 -:10ACF00095FFFCCF8093C6003196F5CFF701EB5658 -:10AD0000FD4F40815181628173812AE030E089EFFB -:10AD100096E10E945CD08091C00085FFFCCF8AE064 -:10AD20008093C6000E94ECEFE0E6CE2EEAEEDE2E27 -:10AD3000E12CF12CA70196010E947DFA49015A01EC -:10AD40006091691170916A1180916B1190916C11F1 -:10AD5000A70196010E947DFA821A930AC4016CE34E -:10AD600070E00E9456FA6983CE0101960E9470A499 -:10AD7000FC012191CF01222339F03091C00035FF31 -:10AD8000FCCF2093C600F4CF40E050E06AE389EFA7 -:10AD900096E10E9414D0C4016CE370E00E9456FA60 -:10ADA0008983CE0101960E9470A4FC012191CF01FC -:10ADB000222339F03091C00035FFFCCF2093C6002C -:10ADC000F4CFE0E2FEE484918823E1F09091C000AA -:10ADD00095FFFCCF8093C6003196F5CFEBE6FDE002 -:10ADE0008491882341F09091C00095FFFCCF80931F -:10ADF000C6003196F5CF8091C00085FFFCCF8AE078 -:10AE00008093C6000F90DF91CF91FF90EF90DF907D -:10AE1000CF90BF90AF909F908F900895AF92BF92C8 -:10AE2000CF92DF92EF92FF920F931F93CF93DF9316 -:10AE30005C01EB01FB0101900020E9F78F0101505B -:10AE40001109061B170B6C01F8E1CF1AFEEFDF0AA0 -:10AE5000F60110826EE470E0CE010F9436007C01A2 -:10AE6000009729F4F8013197EC0FFD1F0DC060E247 -:10AE700070E00F943600EC0121966AE270E0C701A1 -:10AE80000F943600FC0131978DE081838AE0828344 -:10AE90001382BE01C5018C519E4F0E9419D1F6014B -:10AEA0008081882371F1E7E1F2E58491882341F004 -:10AEB0009091C00095FFFCCF8093C6003196F5CFEE -:10AEC000E0917913F0E0EE0FFF1FE45EFD4F01907B -:10AED000F081E02DEA55FE4F0190F081E02D849144 -:10AEE000882341F09091C00095FFFCCF8093C6006D -:10AEF0003196F5CF8091C00085FFFCCF8AE080932A -:10AF0000C600DF91CF911F910F91FF90EF90DF90DE -:10AF1000CF90BF90AF9008952F923F924F925F9243 -:10AF20006F927F928F929F92AF92BF92CF92DF9259 -:10AF3000EF92FF920F931F93CF93DF93CDB7DEB7BE -:10AF4000CC55D1090FB6F894DEBF0FBECDBF4C0172 -:10AF50008C010F551D4F662339F0F8011082F40162 -:10AF6000838181111DC015C0F8018081882309F4F7 -:10AF7000AFC0F401E756FD4FC080D180E280F3807E -:10AF80000E94ECEFC616D706E806F90608F4A0C042 -:10AF9000E4CFC401A6DBF4018381882309F498C0BF -:10AFA0007401F7E4EF0EF11CF70181818F9380812A -:10AFB0008F9387E19EE49F938F938E01015C1F4FD7 -:10AFC0001F930F930F946E000F900F900F900F90A0 -:10AFD0000F900F90B12CF80101900020E9F7319704 -:10AFE000E01BF10BBE1684F46801CB0CD11CB7FC3E -:10AFF000DA94F6018081992787FD90950E94A2FF3F -:10B00000F6018083B394E7CFFDE48F0E911C40E0FE -:10B0100050E0BA01C4010E94AA33512CCE0101961E -:10B020006C0180E1682E8EE4782E5E0191E2A90E1B -:10B03000B11C40E050E0B601C4010E94F73218167E -:10B04000DCF5412CF60101900020E9F73197EC196D -:10B05000FD094E1674F41601240C311C47FC3A9479 -:10B06000F101808190E00E94A2FFF101808343946E -:10B07000E9CF8A858E37E9F245E050E0B801C60194 -:10B080000F945100892BA9F61F930F937F926F9213 -:10B09000BF92AF920F946E00C5010E942E628CE0A9 -:10B0A0009EE40E94AE620F900F900F900F900F9051 -:10B0B0000F9055245394BDCF511004C08FEF9FEFD4 -:10B0C000F70104C0F701808191810196918380830B -:10B0D000C45ADF4F0FB6F894DEBF0FBECDBFDF916D -:10B0E000CF911F910F91FF90EF90DF90CF90BF9085 -:10B0F000AF909F908F907F906F905F904F903F9018 -:10B100002F9008950F931F93CF93DF93EC018C0141 -:10B1100008511E4FC8010E944334C8010E948D345B -:10B1200018821982DF91CF911F910F910895CF92CC -:10B13000DF92EF92FF920F931F93CF93DF93CDB7E0 -:10B14000DEB76F970FB6F894DEBF0FBECDBF8C0190 -:10B150006A017C0188E6E80EF11CC80186599F4F00 -:10B16000F70191838083E65CFD4F22E030E031837C -:10B17000208332967183608340E050E0BA010496E8 -:10B180000E94AA33F701808191812BE1FC01349662 -:10B19000DE01159601900D922A95E1F7FC0182815E -:10B1A00093819C838B8383E99EE09A8389839601B4 -:10B1B000AE014F5F5F4F64E77EE0C80189D8CE01E2 -:10B1C00001960E94D3506F960FB6F894DEBF0FBE63 -:10B1D000CDBFDF91CF911F910F91FF90EF90DF9046 -:10B1E000CF9008952F923F924F925F926F927F92ED -:10B1F0008F929F92AF92BF92CF92DF92EF92FF9287 -:10B200000F931F93CF93DF93CDB7DEB7AC970FB6F5 -:10B21000F894DEBF0FBECDBF8C016B01342EDC0174 -:10B2200013968C91882309F449C3F801E551FE4F28 -:10B230008081882309F4F5C02111C1C07801BDEFD8 -:10B24000EB1AFB0AF7018081882361F1E7E1F2E55F -:10B250008491882341F09091C00095FFFCCF8093AA -:10B26000C6003196F5CFE2EAFEE48491882341F0EE -:10B270009091C00095FFFCCF8093C6003196F5CF2A -:10B280004AE050E061E070E089EF96E10E9430D042 -:10B290008091C00085FFFCCF8AE08093C6000E94A9 -:10B2A000266A0CC3E1E1F2E58491882341F0909194 -:10B2B000C00095FFFCCF8093C6003196F5CFE9E83A -:10B2C000FEE48491882341F09091C00095FFFCCF6B -:10B2D0008093C6003196F5CFF6018191882339F02D -:10B2E0009091C00095FFFCCF8093C600F6CFEEE7AB -:10B2F000FEE48491882341F09091C00095FFFCCF3B -:10B300008093C6003196F5CFD7018C91FDE8BF2E12 -:10B31000B801B89E600D711D1124685F7D4FC80192 -:10B32000EFDAF7018081F801B89EE00DF11D1124DC -:10B33000E85FFD4F8191882339F09091C00095FF1F -:10B34000FCCF8093C600F6CFE8E7FEE48491882323 -:10B3500041F09091C00095FFFCCF8093C6003196DC -:10B36000F5CF5801F3E6AF1AFDEFBF0AD5014D91B5 -:10B370005D916D917C912AE030E089EF96E10E9429 -:10B380005CD08091C00085FFFCCF8AE08093C6002E -:10B39000F7012081F80184E0289FE00DF11D1124C0 -:10B3A000EC5FFD4FD5014D915D916D917C91408396 -:10B3B0005183628373832F5FF70120832CC0E1E107 -:10B3C000F2E58491882341F09091C00095FFFCCF75 -:10B3D0008093C6003196F5CFE7E6FEE4849188239A -:10B3E00041F09091C00095FFFCCF8093C60031964C -:10B3F000F5CFF6018191882339F09091C00095FF37 -:10B40000FCCF8093C600F6CF8091C00085FFFCCFB3 -:10B410008AE08093C600C80188519E4F0E948D34F7 -:10B4200030C0F801ED5FFD4F1082E1E1F2E584915B -:10B43000882341F09091C00095FFFCCF8093C60017 -:10B440003196F5CFE6E5FEE48491882341F09091B2 -:10B45000C00095FFFCCF8093C6003196F5CFF60172 -:10B460008191882339F09091C00095FFFCCF8093A3 -:10B47000C600F6CF8091C00085FFFCCF8AE08093A4 -:10B48000C600D80112961C92FE0131965F01CF01D1 -:10B490000E94C9502801F8E64F0E511CC801875B75 -:10B4A0009F4FD2018D939C93F60180818F3209F0DA -:10B4B00091C06FE270E0C6010F94360001967C01E6 -:10B4C000EAE02E2EE114F10409F48AC06FE270E084 -:10B4D000C7010F9436004C01009709F482C0E816AA -:10B4E000F90608F07EC03C016E187F08A301B70181 -:10B4F000CE0180960F945F00E0E2F0E0EC0FFD1FBC -:10B50000E60DF71D1082FE01B0968191882339F077 -:10B510009091C00095FFFCCF8093C600F6CF80913C -:10B52000C00085FFFCCF2092C600D2016D917C91B6 -:10B530006115710519F06C5F7F4F02C060E070E02B -:10B5400021E0AE01405E5F4FCE0105960E94843639 -:10B55000811138C0E0917913F0E0EE0FFF1FE45E37 -:10B56000FD4F0190F081E02DE856FE4F0190F081F3 -:10B57000E02D8491882341F09091C00095FFFCCF8D -:10B580008093C6003196F5CFFE01B0968191882355 -:10B5900039F09091C00095FFFCCF8093C600F6CFA4 -:10B5A000E4E5FEE48491882341F09091C00095FF8A -:10B5B000FCCF8093C6003196F5CF8091C00085FF07 -:10B5C000FCCF43C1F201B182A0827401FFEFEF1AF8 -:10B5D000FF0A78CFC80186599F4FD2018D939C9363 -:10B5E0007601F801E851FE4F4F01332009F4E5C020 -:10B5F000D2016D917C916115710519F06C5F7F4FDF -:10B6000002C060E070E021E0A701C4010E9484361E -:10B6100020917913882309F49AC0F40181899289D1 -:10B62000A389B489F801EB56FD4F80839183A283EF -:10B63000B383E22FF0E0EE0FFF1FE45EFD4F0190B9 -:10B64000F081E02DE656FE4F0190F081E02D8491CF -:10B65000D801AB56BD4F882349F09091C00095FFAB -:10B66000FCCF8093C60031968491F5CFF70181918C -:10B67000882339F09091C00095FFFCCF8093C600DD -:10B68000F6CFE0917913F0E0EE0FFF1FE45EFD4F7F -:10B690000190F081E02DE456FE4F0190F081E02D05 -:10B6A0008491882341F09091C00095FFFCCF809356 -:10B6B000C6003196F5CF4D915D916D917C912AE058 -:10B6C00030E089EF96E10E945CD08091C00085FF58 -:10B6D000FCCF8AE08093C600F801E356FD4F10824C -:10B6E000118212821382E0917913F0E0EE0FFF1FB6 -:10B6F000E45EFD4F0190F081E02DE256FE4F019097 -:10B70000F081E02D8491882341F09091C00095FF55 -:10B71000FCCF8093C6003196F5CF8091C00085FFA5 -:10B72000FCCF8AE08093C600A70160E070E0C8010A -:10B73000FEDCD80151968C91882319F0C8014196FE -:10B7400001C0C7010E94ECA088E79DE0B2C0E22FD3 -:10B75000F0E0EE0FFF1FE45EFD4F0190F081E02D61 -:10B76000E856FE4F0190F081E02D8491882341F04E -:10B770009091C00095FFFCCF8093C6003196F5CF25 -:10B78000F7018191882339F09091C00095FFFCCF9B -:10B790008093C600F6CFE2E5FEE48491882341F071 -:10B7A0009091C00095FFFCCF8093C6003196F5CFF5 -:10B7B0008091C00085FFFCCF48C0F201608171819B -:10B7C0006115710519F06C5F7F4F02C060E070E099 -:10B7D00026E5A701C4010E94843681113AC0E09198 -:10B7E0007913F0E0EE0FFF1FE45EFD4F0190F08152 -:10B7F000E02DE856FE4F0190F081E02D84918823E2 -:10B8000041F09091C00095FFFCCF8093C600319627 -:10B81000F5CFF7018191882339F09091C00095FF11 -:10B82000FCCF8093C600F6CFE0E5FEE48491882348 -:10B8300041F09091C00095FFFCCF8093C6003196F7 -:10B84000F5CF8091C00085FFFCCF8AE08093C600D1 -:10B8500032C081E0D8018C93E0917913F0E0EE0FD3 -:10B86000FF1FE45EFD4F0190F081E02DE056FE4F9A -:10B870000190F081E02D8491882341F09091C000E7 -:10B8800095FFFCCF8093C6003196F5CFF6018191EC -:10B89000882339F09091C00095FFFCCF8093C600BB -:10B8A000F6CF8091C00085FFFCCF8AE08093C60070 -:10B8B000C7010E94ECA0C5010E94D350AC960FB600 -:10B8C000F894DEBF0FBECDBFDF91CF911F910F91D6 -:10B8D000FF90EF90DF90CF90BF90AF909F908F90B0 -:10B8E0007F906F905F904F903F902F90089521E050 -:10B8F000FC01218340E076CCCF92DF92EF92FF9261 -:10B900000F931F93CF93DF93CDB7DEB76F970FB62B -:10B91000F894DEBF0FBECDBF8C016C0128E6C20ECD -:10B92000D11C86599F4FF60191838083E65CFD4FC1 -:10B9300021E030E0318320837801FCE5EF1AFDEF50 -:10B94000FF0AF7011182108240E050E0BA0104962C -:10B950000E94AA33F601808191812BE1FC0134968B -:10B96000DE01159601900D922A95E1F7FC01828186 -:10B9700093819C838B8383E99EE09A83898320E073 -:10B9800030E0AE014F5F5F4F64E77EE0C8010E9488 -:10B990006851CE0101960E94D350F70180819181B8 -:10B9A0006F960FB6F894DEBF0FBECDBFDF91CF917B -:10B9B0001F910F91FF90EF90DF90CF900895AF927D -:10B9C000BF92CF92DF92EF92FF920F931F93CF938C -:10B9D000DF93CDB7DEB76F970FB6F894DEBF0FBE1B -:10B9E000CDBF8C017B01CE0101960E94C950F801A8 -:10B9F000EF58FF4F80816801811104C029E4C20E15 -:10BA0000D11C03C08AE6C80ED11C21E0A701B601F3 -:10BA10006C5F7F4FCE0105960E94843681113AC03B -:10BA2000E1E1F2E58491882341F09091C00095FF17 -:10BA3000FCCF8093C6003196F5CFE0917913F0E00A -:10BA4000EE0FFF1FE45EFD4F0190F081E02DE85501 -:10BA5000FE4F0190F081E02D8491882341F0909178 -:10BA6000C00095FFFCCF8093C6003196F5CFF7015B -:10BA70008191882339F09091C00095FFFCCF80938D -:10BA8000C600F6CF8091C00085FFFCCF8AE080938E -:10BA9000C60036C0F801E154FE4F808191818A30A2 -:10BAA000910530F59C012F5F3F4F318320832FE1BB -:10BAB000289F7001299FF00C112429E8E20EF11C47 -:10BAC000E00EF11E5C01B701C7014F960E94615361 -:10BAD00081E0A81AB1082FE1E21AF1088FEFA81649 -:10BAE000B80689F7B601C80187579F4F0E94615376 -:10BAF000BE016F5F7F4FC80186599F4F0E946153FF -:10BB0000CE0101960E94D3506F960FB6F894DEBF17 -:10BB10000FBECDBFDF91CF911F910F91FF90EF909E -:10BB2000DF90CF90BF90AF900895EF92FF920F9368 -:10BB30001F93CF93DF93EC01C154DE4F28813981ED -:10BB400021153105F9F021503109398328838C0101 -:10BB500007571F4FB80186599F4F0E946153C80174 -:10BB600000E010E07C012FE1E20EF11C2881398118 -:10BB70000217130738F40F5F1F4FB7010E9461537C -:10BB8000C701F0CFDF91CF911F910F91FF90EF9000 -:10BB90000895EF92FF920F931F93CF93DF93EC01E1 -:10BBA0000E9484D98E010D5F1D4FF80180819E0196 -:10BBB00028513E4F79018823A1F1C9010E948D349B -:10BBC000F801808181508083BE01FDE88F9F600D68 -:10BBD000711D1124685F7D4F21E041E0CE0102DB41 -:10BBE000F8018081FE0124E0829FE00DF11D112407 -:10BBF000EC5FFD4F4081518162817381FE01E3560C -:10BC0000FD4F4083518362837383C7010E94AA332F -:10BC1000CE01DF91CF911F910F91FF90EF900C9487 -:10BC200074540E94FAD9C7010E948D341A8280E0B0 -:10BC30009EE4DF91CF911F910F91FF90EF908EC402 -:10BC40008FEF8EBD0DB407FEFDCF8EB508958EBD6E -:10BC50000DB407FEFDCF089561E0FC0180810C94D6 -:10BC600045EFFC012281322F306A36953CBD20FD24 -:10BC700006C031E0263009F430E0232F01C020E077 -:10BC80002DBD60E0FC0180810C9445EFCF92DF92E6 -:10BC9000EF92FF920F931F93CF93DF93EC018B01F1 -:10BCA0007A010E94ECEF6B01CBDF8B838F3F49F46D -:10BCB0000E94ECEF6C197D096D327140A8F381E1AF -:10BCC00044C08E3F11F08FE040C0E114F104D9F080 -:10BCD000C70101972FEF2EBDF8014FEF9F01201BE9 -:10BCE000310B2817390738F40DB407FEFDCF2EB5F8 -:10BCF00021934EBDF3CF0DB407FEFDCF2EB5F80155 -:10BD0000E80FF91F2083D801E00EF11EC12CD12CC1 -:10BD1000AE15BF0579F08D91ED2DFF27E827EE0FC9 -:10BD2000FF1FEB51F14B85919491DC2CCC24C8265C -:10BD3000D926EECF85DF082F10E0102F002780DFF7 -:10BD4000082BC016D10631F080E28983CE0184DF52 -:10BD500080E003C0CE0180DF81E0DF91CF911F91B1 -:10BD60000F91FF90EF90DF90CF9008950F931F9366 -:10BD7000CF93DF93EB010E94ECEF8B0161DF8F3FEC -:10BD800049F00E94ECEF601B710B6C177D07B0F35C -:10BD900080E001C081E0DF91CF911F910F91089564 -:10BDA000CF92DF92FF920F931F93CF93DF9300D038 -:10BDB0001F92CDB7DEB76C01F62E29833A834B83F1 -:10BDC0005C834FDF6CE271E0C601D0DF8F2D8064B1 -:10BDD0003EDF08E110E05C814B813A812981DA0184 -:10BDE000C901002E04C0B695A795979587950A942A -:10BDF000D2F729833A834B835C8329DF08501109EA -:10BE000029813A814B815C81083F8FEF180739F710 -:10BE1000FF2029F0E8E0FE1621F08FEF03C085E94E -:10BE200001C087E814DFFCE0FF1201C009DF10E069 -:10BE300007DFF601838387FF04C01F3F11F01F5FF8 -:10BE4000F7CF0F900F900F900F90DF91CF911F9130 -:10BE50000F91FF90DF90CF900895BF92CF92DF9225 -:10BE6000EF92FF920F931F93CF93DF93EC01B62EC7 -:10BE70001C82198248830E94ECEF8B0161E088816B -:10BE80000E940CEFCE01E8DE60E082E30E940CEF3E -:10BE900061E083E30E940CEF61E084E30E940CEF19 -:10BEA00061E085E30E940CEF61E085E30E9445EFCD -:10BEB00085E08A8382E58CBD1DBC6AE0F62E8FEF9B -:10BEC000C6DEFA94E1F720E030E0A90160E0CE019F -:10BED00067DFF82E8B8381E0F81649F00E94ECEFC3 -:10BEE000601B710B613D774070F381E046C02AEA28 -:10BEF00031E040E050E068E0CE0152DF82FF02C056 -:10BF0000FC820CC054E0F52E9BDE8B83FA94E1F7A3 -:10BF10008A3A11F082E031C082E08C838C818230D9 -:10BF200031F4C12CD12CE12C40E4F42E03C0C12CFF -:10BF3000D12C760120E030E0A90167E3CE0130DFAB -:10BF4000A701960169E2CE012BDF8B83882349F09C -:10BF50000E94ECEF601B710B613D774058F38AE063 -:10BF60000CC08C818230B1F420E030E0A9016AE39A -:10BF7000CE0116DF882329F088E08983CE016CDEAC -:10BF800014C05EDE807C803C11F483E08C8358DE3C -:10BF900057DE56DECE0160DE86E08B1518F488E1B0 -:10BFA000898303C0BA8281E001C080E0DF91CF9134 -:10BFB0001F910F91FF90EF90DF90CF90BF90089569 -:10BFC000AF92BF92CF92DF92EF92FF920F931F93A7 -:10BFD000CF93DF93EC016A017B0189018C8183306F -:10BFE00039F0F9E0CC0CDD1CEE1CFF1CFA95D1F702 -:10BFF00073E0B72EE4E0AE2EBA94A701960161E19A -:10C00000CE01CEDE882311F0A98207C040E052E0C5 -:10C01000B801CE013BDE81110EC0CE01BB2049F03C -:10C020001BDE20E030E0A9016CE0CE01B9DE198210 -:10C03000E3CF12DE80E0DF91CF911F910F91FF904F -:10C04000EF90DF90CF90BF90AF900895CF93DF93A4 -:10C05000EC016EBD20E030E00DB407FEFDCFFA012B -:10C06000E20FF31F80818EBD0DB407FEFDCF8181ED -:10C070008EBD2E5F3F4F211582E0380769F70DB462 -:10C0800007FEFDCF8FEFE3DD8FEFE1DDD9DD8B83A1 -:10C090008F71853031F083E18983CE01DDDD80E071 -:10C0A00001C081E0DF91CF9108950F931F93CF934B -:10C0B000DF93EC0189018C81833039F0B9E0440FC2 -:10C0C000551F661F771FBA95D1F79A01AB0168E13A -:10C0D000CE0166DE882311F086E01EC0A8016EEF57 -:10C0E000CE01B4DF8823C9F068E572E0CE013EDE00 -:10C0F000182F811102C087E10FC020E030E0A901B4 -:10C100006DE0CE014DDE811106C09ADD811103C0C4 -:10C11000CE01A2DD05C086E18983CE019DDD10E060 -:10C12000812FDF91CF911F910F910895FC016591AF -:10C1300075918591949108952F923F924F925F92BD -:10C140006F927F928F929F92AF92BF92CF92DF9227 -:10C15000EF92FF920F931F93CF93DF9300D000D005 -:10C16000CDB7DEB71C01FC01EE52FE4A14919C01D2 -:10C17000220F331F220F331F3E832D83255A3C4E3F -:10C180004901F901108211821282138227E633E1FC -:10C1900043E653E16FE573E18BE593E10E94F9EA31 -:10C1A0008D819E818F519E4AC1DF6B017C01612F81 -:10C1B000772767FD7095872F972F0E9441F72B01F6 -:10C1C0003C012D813E812A5D3C4E590120E030E04A -:10C1D00040EC5FE3C701B6010E9474F9A30192012C -:10C1E0000E9474F9F50160837183828393832D81AA -:10C1F0003E81255B334F3C832B83F9016081718144 -:10C200008281938160930D0C70930E0C80930F0CC0 -:10C210009093100C20E030E040E752E40E94A6F634 -:10C2200027E4C22E23E1D22E7B018C0122E333E1ED -:10C230004EE253E16AE273E186E293E10E9417E184 -:10C240000E9484D9F401108211821282138227E69F -:10C2500033E143E653E16FE573E18BE593E10E943F -:10C26000F9EA2D813E812B523E4A3A832983C90146 -:10C270005DDF9058A30192010E9474F9F50160837B -:10C2800071838283938320E030E040E752E4609141 -:10C290000D0C70910E0C80910F0C9091100C0E945F -:10C2A000A6F67B018C0122E333E14EE253E16AE220 -:10C2B00073E186E293E10E9417E10E9484D98981AB -:10C2C0009A8134DF9B01AC010E94C6F5A301920163 -:10C2D0000E9474F9F501608371838283938320E067 -:10C2E00030E040E05FE3EB81FC816081718182811D -:10C2F00093810E9474F960930D0C70930E0C8093DF -:10C300000F0C9093100C20E030E040E752E40E94C4 -:10C31000A6F67B018C0122E333E14EE253E16AE2AF -:10C3200073E186E293E10E9417E10E9484D98D8136 -:10C330009E8183519E4AFADE0D811E81015B1C4E57 -:10C34000F80120813181428153810E94C6F5F401B8 -:10C3500060837183828393838D819E818B5F9D4AED -:10C36000E5DE2D813E81215D334F7901F801208189 -:10C370003181428153810E94C6F5F7016083718348 -:10C38000828393838D819E8187509E4ACFDE2D814B -:10C390003E812D5D334F7901F80120813181428149 -:10C3A00053810E94C6F5F701608371838283938372 -:10C3B000F40180819181A281B381F5018083918311 -:10C3C000A283B38310920D0C10920E0C10920F0CDE -:10C3D0001092100C0E94FDD1F101E45BFC4E81E053 -:10C3E000808326960FB6F894DEBF0FBECDBFDF91D7 -:10C3F000CF911F910F91FF90EF90DF90CF90BF9062 -:10C40000AF909F908F907F906F905F904F903F90F4 -:10C410002F900895FC012491222341F03091C00017 -:10C4200035FFFCCF2093C6000196F4CF22E030E028 -:10C4300089EF96E10C9406D1FC012491222341F06E -:10C440003091C00035FFFCCF2093C6000196F4CF99 -:10C450002AE030E089EF96E10C945CD020917B11CA -:10C4600030917C11243031050CF077C040917D1162 -:10C4700050917E1160E6649F9001659F300D1124FC -:10C48000BC01C9018B579E4E0F944A00E1E1F2E5D1 -:10C490008491882341F09091C00095FFFCCF809358 -:10C4A000C6003196F5CFE0917913F0E0EE0FFF1F53 -:10C4B000E45EFD4F0190F081E02DE45DFE4F0190C0 -:10C4C000F081E02D8491882341F09091C00095FF88 -:10C4D000FCCF8093C6003196F5CF80917D1190916D -:10C4E0007E1120E6289FF001299FF00D1124EB57C3 -:10C4F000FE4E8191882339F09091C00095FFFCCFCA -:10C500008093C600F6CFE0EDF1E58491882341F0F9 -:10C510009091C00095FFFCCF8093C6003196F5CF77 -:10C520008091C00085FFFCCF8AE08093C600809197 -:10C530007D1190917E11019664E070E00E946AFA8C -:10C5400090937E1180937D1180917B1190917C114D -:10C55000019690937C1180937B11089520917B111B -:10C5600030917C11243031050CF077C040917D1161 -:10C5700050917E1160E6649F9001659F300D1124FB -:10C58000BC01C9018B579E4E0E94AAFFE1E1F2E572 -:10C590008491882341F09091C00095FFFCCF809357 -:10C5A000C6003196F5CFE0917913F0E0EE0FFF1F52 -:10C5B000E45EFD4F0190F081E02DE45DFE4F0190BF -:10C5C000F081E02D8491882341F09091C00095FF87 -:10C5D000FCCF8093C6003196F5CF80917D1190916C -:10C5E0007E1120E6289FF001299FF00D1124EB57C2 -:10C5F000FE4E8191882339F09091C00095FFFCCFC9 -:10C600008093C600F6CFEEECF1E58491882341F0EB -:10C610009091C00095FFFCCF8093C6003196F5CF76 -:10C620008091C00085FFFCCF8AE08093C600809196 -:10C630007D1190917E11019664E070E00E946AFA8B -:10C6400090937E1180937D1180917B1190917C114C -:10C65000019690937C1180937B1108959B9AA398E7 -:10C660000895FCDF40E052EC61E070E089EF96E174 -:10C670000E9414CFE8ECF1E58491882341F0909179 -:10C68000C00095FFFCCF8093C6003196F5CF809116 -:10C69000C00085FFFCCF8AE08093C60021E132E52F -:10C6A000F9018491882341F09091C00095FFFCCF5F -:10C6B0008093C6003196F5CF84B780FF20C0A0914B -:10C6C0007913B0E0AA0FBB1FA45EBD4FED91FC91A2 -:10C6D000E25DFE4F0190F081E02D9491992341F0AD -:10C6E0004091C00045FFFCCF9093C6003196F5CF36 -:10C6F0009091C00095FFFCCF9AE09093C60081FF17 -:10C7000020C0A0917913B0E0AA0FBB1FA45EBD4F5B -:10C71000ED91FC91E05DFE4F0190F081E02D949150 -:10C72000992341F04091C00045FFFCCF9093C60093 -:10C730003196F5CF9091C00095FFFCCF9AE0909391 -:10C74000C60082FF20C0A0917913B0E0AA0FBB1FE2 -:10C75000A45EBD4FED91FC91EE5CFE4F0190F08127 -:10C76000E02D9491992341F04091C00045FFFCCF0A -:10C770009093C6003196F5CF9091C00095FFFCCF05 -:10C780009AE09093C60083FF20C0A0917913B0E097 -:10C79000AA0FBB1FA45EBD4FED91FC91EC5CFE4F58 -:10C7A0000190F081E02D9491992341F04091C000D7 -:10C7B00045FFFCCF9093C6003196F5CF9091C00015 -:10C7C00095FFFCCF9AE09093C60085FF20C0A09112 -:10C7D0007913B0E0AA0FBB1FA45EBD4FED91FC9191 -:10C7E000EA5CFE4F0190F081E02D8491882341F0B6 -:10C7F0009091C00095FFFCCF8093C6003196F5CF95 -:10C800008091C00085FFFCCF8AE08093C60014BEF3 -:10C81000F9018491E1E1F2E5882349F09091C000AB -:10C8200095FFFCCF8093C60031968491F5CFA091FF -:10C830007913B0E0AA0FBB1FA45EBD4FED91FC9130 -:10C84000E65CFE4F0190F081E02D8491882341F059 -:10C850009091C00095FFFCCF8093C6003196F5CF34 -:10C86000E3EBF1E58491882341F09091C00095FFBE -:10C87000FCCF8093C6003196F5CFA0917913B0E03C -:10C88000AA0FBB1FA45EBD4FED91FC91E85CFE4F6B -:10C890000190F081E02D4491442341F05091C0007B -:10C8A00055FFFCCF4093C6003196F5CFECE9F1E59A -:10C8B0008491882341F09091C00095FFFCCF809334 -:10C8C000C6003196F5CF8091C00085FFFCCF8AE08D -:10C8D0008093C600E1E9F1E58491882341F09091CD -:10C8E000C00095FFFCCF8093C6003196F5CFE5E8F8 -:10C8F000F1E58491882341F09091C00095FFFCCF31 -:10C900008093C6003196F5CF8091C00085FFFCCFA3 -:10C910008AE08093C600F9012491E1E1F2E5222347 -:10C9200049F08091C00085FFFCCF2093C60031966E -:10C930002491F5CFE0917913F0E0EE0FFF1FE45E54 -:10C94000FD4F0190F081E02DE45CFE4F0190F081FD -:10C95000E02D8491882341F09091C00095FFFCCF99 -:10C960008093C6003196F5CF0E94F8DC4AE050E093 -:10C97000BC0189EF96E10E9430D0E0917913F0E09C -:10C98000EE0FFF1FE45EFD4F0190F081E02DE25CB1 -:10C99000FE4F0190F081E02D8491882341F0909129 -:10C9A000C00095FFFCCF8093C6003196F5CF4AE0DA -:10C9B00050E060ED74E089EF96E10E9430D0809104 -:10C9C000C00085FFFCCF8AE08093C60010928111E1 -:10C9D0001092821110928311109284110E9435CD11 -:10C9E0000E9407C90E94733F0E94C7E00E94E6DBD5 -:10C9F0000E9456A3489913C0FFEF23ED80E3F15046 -:10CA000020408040E1F700C00000489911C06A9AB8 -:10CA1000729A0E94C7A0489BFECF729808959FEF1C -:10CA2000E3EDF0E39150E040F040E1F700C000009A -:10CA30000895809175119091761160E070E00196F3 -:10CA40000C9401FD80917511909176114AE050E0AF -:10CA500060E070E001960C9469FE682F772767FD0F -:10CA6000709520917F113091801140E6429FC00166 -:10CA7000439F900D11248B579E4E0F943600909338 -:10CA800076118093751121E0892B09F420E0822F23 -:10CA900008950E94ECEF609371117093721180936E -:10CAA00073119093741108950E94ECEF60937111CB -:10CAB000709372118093731190937411E0917F11B0 -:10CAC000F0918011EF57FE4E8081811121C0E091DD -:10CAD0007913F0E0EE0FFF1FE45EFD4F0190F0814F -:10CAE000E02DE05CFE4F0190F081E02D84918823E1 -:10CAF00041F09091C00095FFFCCF8093C600319625 -:10CB0000F5CF8091C00085FFFCCF8AE08093C600FE -:10CB1000089589EF96E10E9466CFE0917913F0E0E5 -:10CB2000EE0FFF1FE45EFD4F0190F081E02DE05914 -:10CB3000FE4F0190F081E02D8491882341F0909187 -:10CB4000C00095FFFCCF8093C6003196F5CF409191 -:10CB50000A1350910B1360910C1370910D134F5FDA -:10CB60005F4F6F4F7F4F2AE030E089EF96E10E94E0 -:10CB700005D08091C00085FFFCCF8AE08093C6007D -:10CB800093CF8F929F92AF92BF92CF92DF92EF920C -:10CB9000FF920F931F93CF93DF93B4E0EB2EBEE091 -:10CBA000FB2E0BE513E1C6E2D3E182E8C82E83E158 -:10CBB000D82EF70181917F0150DF882311F139DFF1 -:10CBC0004B015C01F6018081811103C06091051366 -:10CBD00001C061E070E080E090E00E9441F7F80160 -:10CBE00020813181428153810E9474F99B01AC0103 -:10CBF000C501B4010E94C6F5688379838A839B834B -:10CC000009C0F80180819181A281B38188839983D1 -:10CC1000AA83BB830C5F1F4F2496FFEFCF1ADF0A56 -:10CC200088E0E8168EE0F80621F686E416DF882311 -:10CC3000D1F0FFDE6B017C01609316137093171324 -:10CC4000809318139093191320E030E0A9010E94FB -:10CC5000A2F8181644F4C0920D0CD0920E0CE0927B -:10CC60000F0CF092100CDF91CF911F910F91FF905C -:10CC7000EF90DF90CF90BF90AF909F908F900895EE -:10CC800080DF89E4EADE882351F0D3DE60931A1353 -:10CC900070931B1380931C1390931D1308C0109264 -:10CCA0001A1310921B1310921C1310921D138AE476 -:10CCB000D4DE882351F0BDDE60931E1370931F13E2 -:10CCC0008093201390932113089510921E131092B5 -:10CCD0001F1310922013109221130895CF92DF9208 -:10CCE000EF92FF92CF93DF93EC01C0902F0CD09086 -:10CCF000300CE090310CF090320CA7019601688165 -:10CD000079818A819B810E949FF687FF04C0C88237 -:10CD1000D982EA82FB82C090330CD090340CE09030 -:10CD2000350CF090360CA70196016C817D818E81C7 -:10CD30009F810E949FF687FF04C0CC82DD82EE8235 -:10CD4000FF8220E030E0A9016091370C7091380C2F -:10CD50008091390C90913A0C0E94C6F56B017C01D0 -:10CD60009B01AC01688579858A859B850E949FF629 -:10CD700087FF04C0C886D986EA86FB86C090230C4C -:10CD8000D090240CE090250CF090260CA701960181 -:10CD9000688179818A819B810E94A2F8181624F407 -:10CDA000C882D982EA82FB82C090270CD090280CDE -:10CDB000E090290CF0902A0CA70196016C817D81EE -:10CDC0008E819F810E94A2F8181624F4CC82DD8205 -:10CDD000EE82FF82C0902B0CD0902C0CE0902D0C9A -:10CDE000F0902E0CA7019601688579858A859B8530 -:10CDF0000E94A2F8181624F4C886D986EA86FB8613 -:10CE0000DF91CF91FF90EF90DF90CF900895CF9278 -:10CE1000DF92EF92FF920F931F9386E293E15EDF22 -:10CE20000E94ECEF609371117093721180937311F3 -:10CE30009093741120912613309127134091281359 -:10CE40005091291360915B1370915C1380915D1375 -:10CE500090915E130E949FF6811179C020912A1350 -:10CE600030912B1340912C1350912D1360915F132F -:10CE70007091601380916113909162130E949FF6EC -:10CE8000811165C020E030E040E752E460910D0C74 -:10CE900070910E0C80910F0C9091100C0E94A6F6D0 -:10CEA00027E4C22E23E1D22E7B018C0122E333E161 -:10CEB0004EE253E16AE273E186E293E10E9417E1F8 -:10CEC0008091261390912713A0912813B0912913D4 -:10CED00080935B1390935C13A0935D13B0935E13E8 -:10CEE00080912A1390912B13A0912C13B0912D13A4 -:10CEF00080935F1390936013A0936113B0936213B8 -:10CF000080912E1390912F13A0913013B091311373 -:10CF10008093631390936413A0936513B093661387 -:10CF20008091321390913313A0913413B091351343 -:10CF30008093671390936813A0936913B0936A1357 -:10CF40001F910F91FF90EF90DF90CF900895609127 -:10CF5000490C70914A0C882777FD8095982F0E9484 -:10CF600041F720910D0C30910E0C40910F0C509117 -:10CF7000100C0E9474F920E030E040E752E40E9477 -:10CF8000A6F620E030E048EC52E488CFCF92DF9262 -:10CF9000EF92FF92CF93C62FE0914713F0E08823E2 -:10CFA00009F4C2C0DF01AD5BBC4E8C91811196C10A -:10CFB00080915B1390915C13A0915D13B0915E130F -:10CFC0008093261390932713A0932813B0932913CB -:10CFD00080915F1390916013A0916113B0916213DF -:10CFE00080932A1390932B13A0932C13B0932D139B -:10CFF0008091631390916413A0916513B0916613AF -:10D0000080932E1390932F13A0933013B09331136A -:10D01000C0906713D0906813E0906913F0906A1382 -:10D02000C0923213D0923313E0923413F09235133E -:10D03000EE0FFF1FEE0FFF1FE55CF34F20813181E4 -:10D0400042815381662349F060911B0C70911C0C46 -:10D0500080911D0C90911E0C08C060911F0C709166 -:10D06000200C8091210C9091220C0E94A6F69B012D -:10D07000AC01C701B6010E94C6F5609367137093B7 -:10D0800068138093691390936A1387E693E10E9473 -:10D090009EEBC0900D0CD0900E0CE0900F0CF09019 -:10D0A000100C20E030E040E752E46091170C7091E2 -:10D0B000180C8091190C90911A0C0E9474F96093CD -:10D0C0000D0C70930E0C80930F0C9093100CE0914C -:10D0D0004713F0E0ED5BFC4E81E0808398DE209109 -:10D0E0003F1330914013409141135091421360918E -:10D0F00063137091641380916513909166130E947D -:10D10000C5F56093631370936413809365139093D4 -:10D11000661327E633E143E653E16FE573E18BE500 -:10D1200093E10E94F9EAD1C0ED5BFC4E8081882337 -:10D1300009F4D4C080915B1390915C13A0915D13AE -:10D14000B0915E138093261390932713A093281316 -:10D15000B093291380915F1390916013A091611394 -:10D16000B091621380932A1390932B13A0932C13E6 -:10D17000B0932D13609163137091641380916513C4 -:10D180009091661360932E1370932F138093301336 -:10D1900090933113C0906713D0906813E090691397 -:10D1A000F0906A13C0923213D0923313E09234138A -:10D1B000F092351320913F13309140134091411369 -:10D1C000509142130E94C6F56093631370936413E9 -:10D1D000809365139093661327E633E143E653E1AA -:10D1E0006FE573E18BE593E10E94F9EAF090471354 -:10D1F000CC2389F0209137133091381340913913A3 -:10D2000050913A1360911B0C70911C0C80911D0C75 -:10D2100090911E0C10C020913B1330913C13409113 -:10D220003D1350913E1360911F0C7091200C809122 -:10D23000210C9091220C0E94C6F524E0F29EF00190 -:10D240001124E55CF34F20813181428153810E949A -:10D25000A6F69B01AC0160916713709168138091F1 -:10D26000691390916A130E94C5F5609367137093D8 -:10D2700068138093691390936A1387E693E10E9481 -:10D280009EEBC0900D0CD0900E0CE0900F0CF09027 -:10D29000100C20E030E040E752E46091130C7091F4 -:10D2A000140C8091150C9091160C0E9474F96093E7 -:10D2B0000D0C70930E0C80930F0C9093100CE0915A -:10D2C0004713F0E0ED5BFC4E1082A1DDC0920D0C27 -:10D2D000D0920E0CE0920F0CF092100CCF91FF90B8 -:10D2E000EF90DF90CF900895AF92BF92CF92DF92F0 -:10D2F000EF92FF920F931F93CF93DF93D82F20913C -:10D300001E1330911F1340912013509121136091EF -:10D310001A1370911B1380911C1390911D130E947E -:10D32000AFF8C62F172F082FF92E6091490C709176 -:10D330004A0C882777FD8095982F0E9441F720910D -:10D340000D0C30910E0C40910F0C5091100C0E945E -:10D3500074F920E030E040E752E40E94A6F620E0B5 -:10D3600030E048EC52E40E94A6F6209147132F9338 -:10D37000DF93FF920F931F93CF935B016C0142E009 -:10D38000E42E01E020E04AE153E166E273E18BE53F -:10D3900093E10E94574D8091261390912713A091FD -:10D3A0002813B091291380935B1390935C13A0937F -:10D3B0005D13B0935E1380912A1390912B13A0916B -:10D3C0002C13B0912D1380935F1390936013A0934F -:10D3D0006113B093621380912E1390912F13A0913B -:10D3E0003013B09131138093631390936413A0931F -:10D3F0006513B09366138091321390913313A0910B -:10D400003413B09135138093671390936813A093EE -:10D410006913B0936A130E94ECEF609371117093DB -:10D42000721180937311909374110F900F900F905D -:10D430000F900F900F90DF91CF911F910F91FF9060 -:10D44000EF90DF90CF90BF90AF900895F8940E9436 -:10D450001640179A10924C13169A10924D13159A63 -:10D4600010924E13149A60E087E40E940CEFE7E1FB -:10D47000F2E58491882341F09091C00095FFFCCFA4 -:10D480008093C6003196F5CFE0917913F0E0EE0F6E -:10D49000FF1FE45EFD4F0190F081E02DE459FE4F47 -:10D4A0000190F081E02D8491882341F09091C0009B -:10D4B00095FFFCCF8093C6003196F5CF8091C000D8 -:10D4C00085FFFCCF8AE08093C600E0917913F0E0FD -:10D4D000EE0FFF1FE45EFD4F0190F081E02DE6535B -:10D4E000FF4F808191810E94F3A27894C6E0D0E042 -:10D4F0002197209749F068EC70E080E090E00E946E -:10D500001BF00E9482A3F4CFF894FFCF0E94164034 -:10D5100080915F11811151C081E080935F118091F2 -:10D520000A1390910B13A0910C13B0910D138093DB -:10D53000061390930713A0930813B0930913E7E120 -:10D54000F2E58491882341F09091C00095FFFCCFD3 -:10D550008093C6003196F5CFE0917913F0E0EE0F9D -:10D56000FF1FE45EFD4F0190F081E02DE259FE4F78 -:10D570000190F081E02D8491882341F09091C000CA -:10D5800095FFFCCF8093C6003196F5CF8091C00007 -:10D5900085FFFCCF8AE08093C600E0917913F0E02C -:10D5A000EE0FFF1FE45EFD4F0190F081E02DE4538C -:10D5B000FF4F808191810C94F9A0089580915F11B3 -:10D5C0000895CF93DF93EC0180914713809360110E -:10D5D00084E543DA811102C080E0B7C02ADA0E94F4 -:10D5E00013F7609360116623B9F3E1E1F2E58491EA -:10D5F000882341F09091C00095FFFCCF8093C60036 -:10D600003196F5CFCD36D10509F454C0BCF4C836F7 -:10D61000D10561F1C936D10509F087C0E0917913D0 -:10D62000F0E0EE0FFF1FE45EFD4F0190F081E02D72 -:10D63000EC5AFE4F0190F081E02D38C0CA3DD10573 -:10D6400009F451C0CD3DD10509F06FC0E0917913C7 -:10D65000F0E0EE0FFF1FE45EFD4F0190F081E02D42 -:10D66000E65AFE4F0190F081E02D5CC0E091791305 -:10D67000F0E0EE0FFF1FE45EFD4F0190F081E02D22 -:10D68000EE5AFE4F0190F081E02D8191882309F43C -:10D690004CC09091C00095FFFCCF8093C600F5CFA1 -:10D6A0009091C00095FFFCCF8093C60081918111BD -:10D6B000F7CF3BC0E0917913F0E0EE0FFF1FE45E7F -:10D6C000FD4F0190F081E02DE25AFE4F0190F08174 -:10D6D000E02D8191882349F19091C00095FFFCCF06 -:10D6E0008093C600F6CFE0917913F0E0EE0FFF1FB4 -:10D6F000E45EFD4F0190F081E02DE85AFE4F01906D -:10D70000F081E02D8191882381F09091C00095FFF8 -:10D71000FCCF8093C600F6CF9091C00095FFFCCF60 -:10D720008093C60081918111F7CF40E050E0609175 -:10D73000601189EF96E10E9467D08091C00085FF5B -:10D74000FCCF8AE08093C60081E0DF91CF910895FD -:10D750004F925F926F927F928F929F92AF92BF9201 -:10D76000CF92DF92EF92FF92CF93DF9300D01F9280 -:10D77000CDB7DEB72B013C0129833A834B835C8311 -:10D780008DEE9FE00F948A028F3F01F58EEE9FE0B1 -:10D790000F948A028F3FD1F48FEE9FE00F948A029C -:10D7A0008F3FA1F480EF9FE00F948A028F3F71F4C6 -:10D7B00040E050E0BA018DEE9FE00F94970240E008 -:10D7C00050E0BA0181EF9FE00F94970281EF9FE054 -:10D7D0000F9492024B015C018DEE9FE00F94920238 -:10D7E0006B017C0169817A818B819C812CE330E023 -:10D7F00040E050E00E947DFAC20ED31EE41EF51EEA -:10D80000B701A6018DEE9FE00F949702C301B2010C -:10D8100028EE33E040E050E00E947DFABA01A90111 -:10D82000480D591D6A1D7B1D81EF9FE00F949702E3 -:10D83000109275131092761310927713109278133A -:10D840000F900F900F900F90DF91CF91FF90EF907E -:10D85000DF90CF90BF90AF909F908F907F906F9010 -:10D860005F904F9008952F923F924F925F926F92E8 -:10D870007F928F929F92AF92BF92CF92DF92EF9260 -:10D88000FF920F931F93CF93DF93CDB7DEB76E97C1 -:10D890000FB6F894DEBF0FBECDBF80E6B82E94E081 -:10D8A000E92EF12C2AE0922E3AE0C32ED12CAA24A4 -:10D8B000A39480917A1790917B1720917C173091D7 -:10D8C0007D17821B930B8F779927892B39F08091D5 -:10D8D0007B1190917C1104970CF448C080918E13B9 -:10D8E000882309F4E7C38091781190917911892BED -:10D8F00009F0E0C380917B1190917C11892B11F488 -:10D9000010925D1148EE242E43E0342E412C512C10 -:10D910005CE3852E912CA12CB12C8E010F5F1F4F43 -:10D9200030E6632E772473944091291650912A167D -:10D9300060912B1670912C168091211690912216D1 -:10D94000A0912316B0912416481759076A077B0740 -:10D9500008F0B0C380917B1190917C1104970CF07A -:10D96000A9C380915D118111A5C36FC289EF96E1B2 -:10D970000E944ACF80937A112091781130917911C9 -:10D980008A3061F08D3051F08A3321F49091771113 -:10D99000992321F02F3531050CF450C121153105A3 -:10D9A00009F46AC180917D1190917E11B89E300179 -:10D9B000B99E700C1124F301E20FF31FEB57FE4EDA -:10D9C000108220917711211134C110927711FC013E -:10D9D000EF57FE4E108283010B571E4E6EE470E02F -:10D9E000C8010F9436000097F1F19093761180935F -:10D9F0007511801B910B860D971D4AE050E060E089 -:10DA000070E08A579E4E0E9469FE60930E137093D9 -:10DA10000F13809310139093111340900A1350909A -:10DA20000B1360900C1370900D132FEF421A520AD3 -:10DA3000620A720A00917D1110917E1164157505BC -:10DA40008605970509F41BC1B09EC001B19E900DDB -:10DA500011246CE771E58B579E4E0E94E1FF892BE4 -:10DA600009F00DC1B8C16AE270E0C8010F94360038 -:10DA7000892B09F451C0E7E1F2E58491882341F054 -:10DA80009091C00095FFFCCF8093C6003196F5CFF2 -:10DA9000E0917913F0E0EE0FFF1FE45EFD4F01907F -:10DAA000F081E02DE65BFE4F0190F081E02D849146 -:10DAB000882341F09091C00095FFFCCF8093C60071 -:10DAC0003196F5CF40910A1350910B1360910C13CE -:10DAD00070910D132AE030E089EF96E10E9405D0A5 -:10DAE0008091C00085FFFCCF8AE08093C600109231 -:10DAF000791110927811DEC280910E1390910F135C -:10DB0000A0911013B091111380930A1390930B13EB -:10DB1000A0930C13B0930D1360907D1170907E1143 -:10DB2000B69C8001B79C100D11240B571E4E67E464 -:10DB300070E0C8010F943600009709F456C0909326 -:10DB400076118093751120918E13211106C0D09209 -:10DB50007D13C0927C13A0927F13801B910BB69C07 -:10DB60009001B79C300D1124820F931F60E070E08C -:10DB70008A579E4E0E9401FD0E940EF76430710587 -:10DB8000A0F580915F11882381F1E0917913F0E095 -:10DB9000EE0FFF1FE45EFD4F0190F081E02DE25992 -:10DBA000FE4F0190F081E02D8491882341F0909107 -:10DBB000C00095FFFCCF8093C6003196F5CF8091D1 -:10DBC000C00085FFFCCF9092C600E0917913F0E091 -:10DBD000EE0FFF1FE45EFD4F0190F081E02DE45356 -:10DBE000FF4F808191810E94F9A000917D111091D9 -:10DBF0007E11B09EC001B19E900D11246DE87DE0B4 -:10DC00008B579E4E0F944100892B09F41FDCC801ED -:10DC10000196B7010E946AFA90937E1180937D115C -:10DC200080917B1190917C11019690937C1180934F -:10DC30007B1110927911109278113BCE8B3311F435 -:10DC4000A092771190917711911133CE40917D116F -:10DC500050917E11B9016F5F7F4F7093791160937E -:10DC60007811B49EF001B59EF00D1124E20FF31F60 -:10DC7000EB57FE4E80831DCE109277111BC2B09ED3 -:10DC80003001B19E700C1124C3018B579E4E1C01B4 -:10DC90006AE270E00F943600009709F03FC0E7E1B8 -:10DCA000F2E58491882341F09091C00095FFFCCF6C -:10DCB0008093C6003196F5CFE0917913F0E0EE0F36 -:10DCC000FF1FE45EFD4F0190F081E02DE85BFE4F09 -:10DCD0000190F081E02D8491882341F09091C00063 -:10DCE00095FFFCCF8093C6003196F5CF40910A1383 -:10DCF00050910B1360910C1370910D132AE030E0DA -:10DD000089EF96E10E9405D08091C00085FFFCCF8D -:10DD10008AE08093C6000E948965E9CE20E010E089 -:10DD2000F301E20FF11DEB57FE4E30813A3219F04C -:10DD30002F5F1327F5CF9093761180937511821979 -:10DD40009309860D971D60E070E08A579E4E0E94F1 -:10DD500001FD0E940EF7212F30E02617370709F446 -:10DD6000CBCEE7E1F2E58491882341F09091C000A9 -:10DD700095FFFCCF8093C6003196F5CFE0917913E3 -:10DD8000F0E0EE0FFF1FE45EFD4F0190F081E02D0B -:10DD9000EA5BFE4F0190F081E02D8491882341F0F1 -:10DDA0009091C00095FFFCCF8093C6003196F5CFCF -:10DDB00040910A1350910B1360910C1370910D1345 -:10DDC0002AE030E089EF96E10E9405D08091C00002 -:10DDD00085FFFCCF9DCFE7E1F2E58491882341F0F8 -:10DDE0009091C00095FFFCCF8093C6003196F5CF8F -:10DDF000E0917913F0E0EE0FFF1FE45EFD4F01901C -:10DE0000F081E02DEC5BFE4F0190F081E02D8491DC -:10DE1000882341F09091C00095FFFCCF8093C6000D -:10DE20003196F5CF40910A1350910B1360910C136A -:10DE300070910D132AE030E089EF96E10E9405D041 -:10DE40008091C00085FFFCCF63CF80917C159091BD -:10DE50007D15A0917E15B0917F1580932916909322 -:10DE60002A16A0932B16B0932C1684E795E10E94F6 -:10DE7000E132482F80937A118A30B9F04D30A9F001 -:10DE8000433229F420917711222379F002C04A33DA -:10DE9000C9F320917811309179112F3531052CF487 -:10DEA0008F3F5FEF950709F0E7C040912916509129 -:10DEB0002A1660912B1670912C1680912116909144 -:10DEC0002216A0912316B0912416481759076A0705 -:10DED0007B0708F497C0E0917913F0E0EE0FFF1F85 -:10DEE000E45EFD4F0190F081E02DE45BFE4F019078 -:10DEF000F081E02D8491882341F09091C00095FF3E -:10DF0000FCCF8093C6003196F5CF8091C00085FF8D -:10DF1000FCCF8AE08093C6000E94ECEF609365110D -:10DF2000709366118093671190936811C090691186 -:10DF3000D0906A11E0906B11F0906C116C197D0912 -:10DF40008E099F09A20191010E947DFA69017A015F -:10DF50006091751370917613809177139091781377 -:10DF6000F7DBC701B601A50194010E947DFACA0141 -:10DF7000B901A50194010E947DFA7F936F93C701B7 -:10DF8000B60120E13EE040E050E00E947DFA3F9380 -:10DF90002F93A8E6B1E5BF93AF931F930F930F9410 -:10DFA0006E00E1E1F2E584910FB6F894DEBF0FBE9A -:10DFB000CDBF882349F09091C00095FFFCCF80939E -:10DFC000C60031968491F5CFF8018191882339F00C -:10DFD0009091C00095FFFCCF8093C600F6CF809152 -:10DFE000C00085FFFCCF3AE03093C600C8010E9414 -:10DFF000ECA08CE893E10E94C95D61E08CE893E1BC -:10E000000E948C5780917A11833211F470925D11C5 -:10E0100020917811309179112115310509F42CCE18 -:10E0200080917D1190917E11689EF001699EF00DA6 -:10E030001124E20FF31FEB57FE4E1082FC01EF5745 -:10E04000FE4E708220917B1130917C112F5F3F4FEB -:10E0500030937C1120937B11019664E070E00E9464 -:10E060006AFA90937E1180937D111092771110922D -:10E0700079111092781158CC4B3311F470927711BA -:10E080004091771141114CCC40917D1150917E11FE -:10E09000B9016F5F7F4F7093791160937811649E1F -:10E0A000F001659EF00D1124E20FF31FEB57FE4EB9 -:10E0B00080833ACC6E960FB6F894DEBF0FBECDBF0C -:10E0C000DF91CF911F910F91FF90EF90DF90CF9054 -:10E0D000BF90AF909F908F907F906F905F904F9088 -:10E0E0003F902F900895CF92DF92EF92FF920F937F -:10E0F0001F93CF93C82F80917B1190917C11039730 -:10E100000CF4B1DB0E94ECEF00916D1110916E11D7 -:10E1100020916F1130917011C0907111D0907211D7 -:10E12000E0907311F09074116C197D098E099F09AC -:10E13000061717072807390728F4012B022B032B92 -:10E1400009F084D94091090C50910A0C60910B0C94 -:10E1500070910C0C452B462B472B19F10E94ECEFCC -:10E1600000917111109172112091731130917411FD -:10E17000601B710B820B930B0091090C10910A0C20 -:10E1800020910B0C30910C0C061717072807390744 -:10E1900040F49091CB178091CA17981302C0CC23FA -:10E1A00049F0CF911F910F91FF90EF90DF90CF90AA -:10E1B0000C94FBE0179A10924C13169A10924D1380 -:10E1C000159A10924E13149AECCFCF92DF92EF92E1 -:10E1D000FF9220916B132223F1F020E030E040E029 -:10E1E0005FE30E9474F96B017C0120E030E0A9013B -:10E1F0000E949FF6882379F0A7019601C701B60116 -:10E200000E9474F92BED3FE049E450E40E9474F958 -:10E210009B01AC0104C020E030E040E85FE360E037 -:10E2200070E080E89FE30E94A6F6FF90EF90DF90F9 -:10E23000CF90089560913F0C7091400C8091410CFB -:10E240009091420CC2DF60933B0C70933C0C809326 -:10E250003D0C90933E0C08953F924F925F926F92C7 -:10E260007F928F929F92AF92BF92CF92DF92EF9266 -:10E27000FF920F931F93CF93DF93CDB7DEB7E9974C -:10E280000FB6F894DEBF0FBECDBF81E40E942D65AE -:10E29000882309F455C082E70E942D658823A9F0E0 -:10E2A000E2E9FDE08191882339F09091C00095FF6B -:10E2B000FCCF8093C600F6CF8091C00085FFFCCFD5 -:10E2C0008AE08093C6000C947F8986E70E942D65C2 -:10E2D0008823A9F0E8E9FDE08191882339F0909145 -:10E2E000C00095FFFCCF8093C600F6CF8091C000A0 -:10E2F00085FFFCCF8AE08093C6000C947F8987E677 -:10E300000E942D65882321F00E94C7A00C947F896C -:10E310008AE70E942D65882341F060E070E088EF75 -:10E320009FE00E94379C0C947F898CE60E942D65AB -:10E33000882311F40C947F890E945E9C0C947F8941 -:10E3400087E40E942D65882309F4EAC10E941965BB -:10E350000E940EF76A30710509F4F1C09CF4623036 -:10E36000710509F480C024F477FF25C00C947F89DF -:10E370006330710509F483C06430710509F48BC002 -:10E380000C947F896A35710509F476C154F46B30B9 -:10E39000710509F4DAC06C31710509F4DCC00C9424 -:10E3A0007F896B35710509F46BC16C35710509F412 -:10E3B0006CC10C947F8980915F1181110C947F89CD -:10E3C0000E94C165609175137091761380917713E7 -:10E3D000909178130E943FF76B017C0120916713A5 -:10E3E000309168134091691350916A136091321310 -:10E3F0007091331380913413909135130E94C5F5B9 -:10E4000020E030E048EC52E40E9474F99B01AC013A -:10E41000C701B6010E94C6F50E9413F760937513F9 -:10E4200070937613809377139093781380914413AD -:10E430008823A9F088E50E942D65811110C089E527 -:10E440000E942D6581110BC08AE50E942D65811106 -:10E4500006C085E40E942D6581110C9482890E947A -:10E4600007670C947F8980915F1181110C947F89DB -:10E470000E94406681E00E9474690C947F898091BB -:10E480005F1181110C947F890E94406680E00E9498 -:10E4900074690C947F89E0917913F0E0EE0FFF1F0F -:10E4A000E45EFD4F0190F081E02DE054FF4F80814C -:10E4B00091810E94F9A080E50E942D65882339F0A2 -:10E4C0000E9419650E9413F74B015C0103C0812C67 -:10E4D000912C540183E50E942D65882361F00E94F0 -:10E4E000196520E030E04AE754E40E9474F90E9484 -:10E4F00013F74B015C010E9484D90E94ECEF6B0181 -:10E500007C01C80CD91CEA1CFB1C0E94ECEF609338 -:10E5100071117093721180937311909374110E9412 -:10E52000ECEF6C157D058E059F0510F00C947F892E -:10E530000E94C74580E0D7DD0E9482A3F0CF60E053 -:10E5400081E00E94C6670C947F8960E080E00E94B1 -:10E55000C6670C947F8910927E1380910D0C909168 -:10E560000E0CA0910F0CB091100C8093121390938D -:10E570001313A0931413B09315138091490C909129 -:10E580004A0C909381138093801384E690E09093DB -:10E590004A0C8093490C0E94ECEF609371117093C8 -:10E5A0007211809373119093741181E00E9404D2D0 -:10E5B00080915B1390915C13A0915D13B0915E13F9 -:10E5C0008093261390932713A0932813B0932913B5 -:10E5D00080915F1390916013A0916113B0916213C9 -:10E5E00080932A1390932B13A0932C13B0932D1385 -:10E5F0008091631390916413A0916513B091661399 -:10E6000080932E1390932F13A0933013B093311354 -:10E610008091671390916813A0916913B0916A1368 -:10E620008093321390933313A0933413B093351324 -:10E6300010920D0C10920E0C10920F0C1092100CE8 -:10E6400088E50E942D65882311F090E00AC089E5D5 -:10E650000E942D658111F9CF8AE50E942D6591E018 -:10E6600098279093110C992311F40C94B18981E0AF -:10E6700080937E130C946B8A109205130C947F89FF -:10E6800081E0809305130C947F8985E40E942D65B9 -:10E69000811102C00E9484D904E0C02E0EE0D02E69 -:10E6A0008FE4E82E83E1F82E0BE513E1B12CF6019F -:10E6B00081916F010E942D65882339F1F3E0BF122B -:10E6C0000CC00E941965F801608371838283938373 -:10E6D00087E693E10E949EEB18C00E941965F7013E -:10E6E00020813181428153810E94C6F5F801608307 -:10E6F00071838283938327E633E143E653E16FE539 -:10E7000073E18BE593E10E94F9EAB394F4E0EF0E34 -:10E71000F11C0C5F1F4F24E0B212C9CF0C947F890B -:10E720008DE40E942D65882311F40C9486880E9444 -:10E7300019650E940EF76537710511F40C94A17CE0 -:10E740000CF0D0C06032710509F44EC30CF071C0FA -:10E750006731710509F4A3C20CF044C06231710540 -:10E7600011F40C94C57B1CF577FF02C00C947F89D3 -:10E77000623071050CF498C16131710511F00C948F -:10E780007F89E0917913F0E0EE0FFF1FE45EFD4F0B -:10E790000190F081E02DE853FF4F808191810E942C -:10E7A000F9A017981698159814980C947F896531DC -:10E7B000710509F468C20CF06CC26431710511F086 -:10E7C0000C947F89E0917913F0E0EE0FFF1FE45E77 -:10E7D000FD4F0190F081E02DE25BFE4F0190F08152 -:10E7E000E02D20C26B31710509F485C2B4F46931A2 -:10E7F000710509F46CC20CF070C28CE893E10E94C0 -:10E8000074540E94ECEF6093691170936A118093C5 -:10E810006B1190936C110C947F896E31710509F422 -:10E82000A5C20CF07DC36C31710509F46AC20C9469 -:10E830007F896C35710509F4F6C7ECF46235710512 -:10E8400009F49AC764F46035710509F44DC70CF0FA -:10E8500062C76A32710509F4C1C30C947F896435BB -:10E86000710509F492C70CF48BC76535710509F47D -:10E87000BFC70C947F896B36710509F42FC764F408 -:10E880006936710509F422C40CF0F8C668367105C2 -:10E8900009F4EBC30C947F896037710509F403C454 -:10E8A00034F46D36710509F41EC50C947F89623706 -:10E8B000710511F40C94B57C6337710511F00C945B -:10E8C0007F89E0917913F0E0EE0FFF1FE45EFD4FCA -:10E8D0000190F081E02DE859FE4F0190F081E02D8C -:10E8E0000C949C7C623E710511F40C9403820CF034 -:10E8F0005FC06B3C710511F40C944280ACF56C3830 -:10E90000710509F4D2C304F56837710511F40C944C -:10E91000A27D6937710511F40C94A77D67377105E5 -:10E9200011F00C947F89E0917913F0E0EE0FFF1F56 -:10E93000E45EFD4F0190F081E02DEC57FE4F019019 -:10E94000F081E02D0C94B37D683C710511F40C94BA -:10E950009F7F693C710511F40C9421806E3B710519 -:10E9600011F00C947F895BC56F3C710511F40C9418 -:10E97000FF8054F46D3C710511F40C94818014F403 -:10E980000C945F800C94E180613D710511F40C944E -:10E990005E8114F40C9436816C3D710511F40C9475 -:10E9A000CE816D3D710511F40C94DD810C947F894D -:10E9B000653F31E0730711F40C94B08354F56F3266 -:10E9C00091E0790711F40C94758384F46D32F1E0D1 -:10E9D0007F0711F40C94948214F00C9467836C32CA -:10E9E000714011F40C945E820C947F896F3581E044 -:10E9F000780711F40C942A88603991E0790711F4B2 -:10EA00000C94AD836E35714011F00C947F890C9499 -:10EA1000F3876835F2E07F0711F40C94F884A4F4CE -:10EA2000673F31E0730711F40C94B88314F40C942D -:10EA3000B5836D3F714011F00C947F890E94C7A08F -:10EA4000E1E1F2E50C94C2836B38E3E07E0711F458 -:10EA50000C94CD873CF46335734011F40C94D3834C -:10EA60000C947F89603A33E0730709F426C2673E4D -:10EA7000734011F00C947F8910925F110E94F9A2EB -:10EA80008091061390910713A0910813B091091378 -:10EA900080930A1390930B13A0930C13B0930D1350 -:10EAA0000E9489650C947F890091751110917611EF -:10EAB0000E5F1F4F80E50E942D65882379F00E942C -:10EAC00019650E9413F76B017C01BB24B394611597 -:10EAD00071058105910531F4B12C04C0B12CC12C14 -:10EAE000D12C760183E50E942D65882399F00E9440 -:10EAF000196520E030E04AE754E40E9474F90E946E -:10EB000013F76B017C01AA24A3946115710581059B -:10EB1000910509F4A12C6AE270E0C8010F94360057 -:10EB2000009711F0FC011082F801CF0121912032F1 -:10EB3000E1F3B11007C0A11005C0222319F00E9413 -:10EB4000ECA010C0E0917913F0E0EE0FFF1FE45E3F -:10EB5000FD4F0190F081E02DEE53FF4F80819181B8 -:10EB60000E94F9A081E00E94CCA00E9484D90E945A -:10EB7000ECEF609371117093721180937311909305 -:10EB80007411C114D104E104F104A9F00E94ECEF66 -:10EB90004B015C018C0C9D1CAE1CBF1C0E94ECEF59 -:10EBA000681579058A059B05B8F40E946AA481114D -:10EBB00013C00C947A8A0E9468A4882311F40C94E0 -:10EBC0007F890E946AA481110AC00E94C74580E023 -:10EBD0008ADA0E9482A3F5CF80E00E94CCA08091C7 -:10EBE0008E13E0917913F0E0EE0FFF1FE45EFD4F0E -:10EBF0000190F081E02D882341F0EC53FF4F80819C -:10EC000091810E94F9A00C947F89808191810E945A -:10EC1000F9A00C947F899091C00095FFFCCF809360 -:10EC2000C600319684918111F6CF8091C00085FF96 -:10EC3000FCCF8AE08093C6008CE893E10E941C53CD -:10EC4000E0917913F0E0EE0FFF1FE45EFD4F0190BD -:10EC5000F081E02DE05BFE4F0190F081E02D84918A -:10EC6000882341F09091C00095FFFCCF8093C600AF -:10EC70003196F5CF8091C00085FFFCCF8AE080936C -:10EC8000C6000C947F898CE893E10E9471530C9428 -:10EC90007F898CE893E10E9470540C947F890091E5 -:10ECA0007511109176110C5F1F4F6AE270E0C80178 -:10ECB0000F943600009711F0FC01108221E041E032 -:10ECC000B8018CE893E10E94F2580C947F898CE89B -:10ECD00093E10E947B540C947F8980918F13882349 -:10ECE00011F40C947F8983E50E942D6581110C94A9 -:10ECF000838A0C947F898CE893E10E941F560C94C0 -:10ED00007F8980917511909176116AE270E0049686 -:10ED10000F9436008C010097D9F020917F1130912B -:10ED2000801140E6429FC001439F900D11246EE484 -:10ED300070E08B579E4E0F94360060E270E00F94A7 -:10ED4000360001969093761180937511F801108228 -:10ED500060917511709176116C5F7F4F21E040E0FA -:10ED60008CE893E10E94F2580C947F8980918F1374 -:10ED7000882311F40C947F8960E08CE893E10E9471 -:10ED8000825880917511909176116AE270E0049634 -:10ED90000F9436008C010097D9F020917F113091AB -:10EDA000801140E6429FC001439F900D11246EE404 -:10EDB00070E08B579E4E0F94360060E270E00F9427 -:10EDC000360001969093761180937511F8011082A8 -:10EDD00060917511709176116C5F7F4F8CE893E1B3 -:10EDE0000E94DF540C947F8980918E1381110E94C0 -:10EDF00084D900917511109176110C5F1F4F6AE252 -:10EE000070E0C8010F9436007C0161E270E0C80137 -:10EE10000F943600009719F08C010F5F1F4FE1141B -:10EE2000F10411F0F701108280E50E942D65F82EA3 -:10EE300020917511309176110217130708F4F12C07 -:10EE400080918F13882311F40C947F8921E02F2562 -:10EE500041E0B8018CE893E10E94F25883E50E94FA -:10EE60002D658823B9F02091751130917611201706 -:10EE7000310780F40E942265AB01BC014093291642 -:10EE800050932A1660932B1670932C1684E795E105 -:10EE90000E94AA338CE893E10E947454F1100C9400 -:10EEA0007F890E94ECEF6093691170936A118093DF -:10EEB0006B1190936C110C947F89809175119091D6 -:10EEC00076116AE270E005960F9436008C01009787 -:10EED000D9F020917F113091801140E6429FC0010E -:10EEE000439F900D11246EE470E08B579E4E0F945B -:10EEF000360060E270E00F94360001969093761130 -:10EF000080937511F80110826091751170917611DE -:10EF10006B5F7F4F8CE893E10E94775C0C947F8954 -:10EF20000E94ECEF609365117093661180936711F6 -:10EF3000909368110091691110916A1120916B11E1 -:10EF400030916C11601B710B820B930B28EE33E038 -:10EF500040E050E00E947DFACA01B9012CE330E0A4 -:10EF600040E050E00E947DFA7F936F933F932F9390 -:10EF700089E591E59F938F93CE0101969F938F939F -:10EF80000F946E00E1E1F2E584910FB6F894DEBFD4 -:10EF90000FBECDBF882349F09091C00095FFFCCFF4 -:10EFA0008093C60031968491F5CFFE013196819110 -:10EFB000882339F09091C00095FFFCCF8093C60064 -:10EFC000F6CF8091C00085FFFCCF8AE08093C60019 -:10EFD000CE0101960E94ECA00C947F8983E50E94EB -:10EFE0002D65882311F40C947F890E9419650E9475 -:10EFF0000EF7F62EE72E862F9E2D8C0180E50E94BF -:10F000002D65882331F00F3F110509F010F40C94A1 -:10F01000948A0DE010E0ECECFDE081919191801775 -:10F02000910711F40C947F893EE0E430F307A9F7CF -:10F030000830110539F48F2D9E2D9093461380933F -:10F04000451304C017FF02C00C947F8961E0802F34 -:10F050000E940CEF6F2D802F0E9445EF6F2D7E2DAB -:10F06000802F0E9402EE0C947F8988E690E00E9437 -:10F07000E16A81110C947F8983E50E942D658823C4 -:10F0800071F0009160110E94196510E0000F111FCE -:10F09000025F1E4E0E940EF7F801718360830E948A -:10F0A00015400C947F890E94266A83E50E942D6595 -:10F0B000882311F40C947F890E9419650E940EF731 -:10F0C00070930D1160930C110C947F8989E690E088 -:10F0D0000E94E16A81110C947F89E3E5F1E5849156 -:10F0E000882341F09091C00095FFFCCF8093C6002B -:10F0F0003196F5CFE091601124E0E29FF0011124F8 -:10F10000EA5FFE4E408151816281738121E030E0EF -:10F1100089EF96E10E9406D1E0E5F1E5849188232C -:10F1200041F09091C00095FFFCCF8093C6003196CE -:10F13000F5CFE0916011F0E0EE0FFF1FE25FFE4EB1 -:10F1400060817181882777FD8095982F0E9441F713 -:10F15000AB01BC0121E030E089EF96E10E9406D1CD -:10F16000ECE4F1E58491882341F09091C00095FF93 -:10F17000FCCF8093C6003196F5CF4091001150919D -:10F180000111609102117091031121E030E089EFCB -:10F1900096E10E9406D1E9E4F1E58491882341F0EB -:10F1A0009091C00095FFFCCF8093C6003196F5CFBB -:10F1B00060910C1170910D11882777FD8095982F23 -:10F1C0000E9441F7AB01BC0121E030E089EF96E1FC -:10F1D0000E9406D1E6E4F1E58491882341F0909104 -:10F1E000C00095FFFCCF8093C6003196F5CF4AE072 -:10F1F00050E060E070E089EF96E10E9430D0E4E4F6 -:10F20000F1E58491882341F09091C00095FFFCCFF7 -:10F210008093C6003196F5CF4091061150910711A9 -:10F22000609108117091091121E030E089EF96E1B9 -:10F230000E9406D1E1E4F1E58491882341F09091A8 -:10F24000C00095FFFCCF8093C6003196F5CF60914A -:10F250000E1170910F11882777FD8095982F0E94CD -:10F2600041F7AB01BC0121E030E089EF96E10E945B -:10F2700006D1EDE3F1E58491882341F09091C0003F -:10F2800095FFFCCF8093C6003196F5CF8091601139 -:10F2900090E00E943D3F4AE050E0BC0189EF96E1DA -:10F2A0000E9430D0E8E3F1E58491882341F0909109 -:10F2B000C00095FFFCCF8093C6003196F5CF8FEF4D -:10F2C0009FEF0E943D3F4AE050E0BC0189EF96E18C -:10F2D0000E9430D08091C00085FFFCCF8AE08093EF -:10F2E000C6000C94028C8DE690E00E94E16A8111C8 -:10F2F0000C947F89E0917913F0E0EE0FFF1FE45E3C -:10F30000FD4F0190F081E02DE05AFE4F8081918108 -:10F310000E94F9A081E090E090937413809373139E -:10F3200083E50E942D65882391F0009160110E9471 -:10F33000196510E0000F111F025F1E4E0E940EF7AC -:10F34000F8017183608381E08093080C15C082E529 -:10F350000E942D65882381F0009160110E9419653B -:10F3600010E0000F111F025F1E4E0E940EF7F80101 -:10F37000718360831092080C0E9415400E94ECEF8C -:10F380004B015C010091601110E0F801EE0FFF1FCE -:10F39000E25FFE4E60817181882777FD8095982F0E -:10F3A0000E9441F7F801EE0FFF1FEE0FFF1FEA5F0B -:10F3B000FE4E11E020813181428153810E94A2F8EA -:10F3C00018160CF010E010935E1110923613CC2436 -:10F3D000CA94DC2C760148EE442E43E0542E612C76 -:10F3E000712C5AE0352E8091361381110C949B8A32 -:10F3F000FFEFCF16DF06EF06FF0611F40C94C68A66 -:10F40000F7FE02C00C949B8A0E94ECEF6C197D09F8 -:10F41000683B7B4010F40C94C68A0C949B8AE09164 -:10F420007913F0E0EE0FFF1FE45EFD4F0190F081D5 -:10F43000E02DEC59FE4F808191810E94F9A083E07C -:10F4400090E0909374138093731383E50E942D656D -:10F45000882361F00E9419650E940EF770930D11C8 -:10F4600060930C1181E08093080C0FC082E50E942C -:10F470002D65882351F00E9419650E940EF7709344 -:10F480000D1160930C111092080C0E94ECEF4B01CF -:10F490005C011092361360910C1170910D11882748 -:10F4A00077FD8095982F0E9441F711E0209100117F -:10F4B0003091011140910211509103110E94A2F864 -:10F4C00018160CF010E010935E110AE211E566E2E6 -:10F4D000E62E61E5F62E72E2C72E71E5D72EEAE040 -:10F4E0007E2E80915E1160910C1170910D11882318 -:10F4F00009F48BC080913613811187C0882777FD6E -:10F500008095982F0E9441F72091001130910111B0 -:10F5100040910211509103110E94A2F818160CF0AC -:10F520008BC00E94ECEF681979098A099B09693E32 -:10F5300073408105910508F460C0E091471384E0B1 -:10F54000E89FF0011124EA5FFE4E40815181628103 -:10F550007381F8018491EAE2F1E5882349F0909102 -:10F56000C00095FFFCCF8093C60031968491F5CF03 -:10F5700022E030E089EF96E10E9406D1F701849104 -:10F58000E6E2F1E5882349F09091C00095FFFCCFB9 -:10F590008093C60031968491F5CF6091471370E057 -:10F5A0004AE050E089EF96E10E9430D0F601849164 -:10F5B000E2E2F1E5882349F09091C00095FFFCCF8D -:10F5C0008093C60031968491F5CF409100115091FF -:10F5D0000111609102117091031121E030E089EF77 -:10F5E00096E10E9406D18091C00085FFFCCF709209 -:10F5F000C6000E94ECEF4B015C010E94C74580E011 -:10F600000E9473700E9482A36CCF882777FD80953B -:10F61000982F0E9441F720910011309101114091E3 -:10F620000211509103110E949FF687FF05C080913F -:10F63000080C882309F475CFE0917913F0E0EE0F00 -:10F64000FF1FE45EFD4F0190F081E02DEA59FE4F6F -:10F65000808191810E94F9A084E090E090937413DE -:10F66000809373130E94ECEF609371117093721189 -:10F6700080937311909374110C947F8983E50E9499 -:10F680002D65882319F10E94196520E030E0A90159 -:10F690000E949FF687FD0FC00E94196520E030E0B0 -:10F6A0004FE753E40E94A2F8181644F00E9419652F -:10F6B0000E940EF705C060E070E002C06FEF70E0DE -:10F6C00070934613609345130C947F898FEF90E0FD -:10F6D00090934613809345130C947F8910924613A0 -:10F6E000109245130C947F899B9AA39881E0809394 -:10F6F000120CE0917913F0E0EE0FFF1FE45EFD4F76 -:10F700000190F081E02D808191810E94F9A00E94FA -:10F7100082A30C947F890E9416400E9484D9149A77 -:10F720000E94EED9109246131092451368EE73E0D2 -:10F7300080E090E00E941BF09B9AA39A1092120C1A -:10F74000E0917913F0E0EE0FFF1FE45EFD4F0190B2 -:10F75000F081E02DE459FF4F4081518120E231E5F5 -:10F760006EE171E581EB9DE00E94084D0E94F9A0D9 -:10F770000E9482A30C947F89109285130C947F8938 -:10F7800081E0809385130C947F8983E50E942D6529 -:10F790008823A1F00E94196520E030E04AE754E494 -:10F7A0000E9474F90E9413F76093090C70930A0C7D -:10F7B00080930B0C90930C0C0C947F8988E50E942D -:10F7C0002D6581110C94DA8B89E50E942D658111DC -:10F7D0000C94DA8B8AE50E942D6581110C94DA8BEA -:10F7E00085E40E942D6581110C94DA8B0C94FC8BBE -:10F7F00083E50E942D65882311F40C947F890E9473 -:10F80000196520E030E04AE754E40E9474F90E9450 -:10F8100013F760936D1170936E1180936F11909335 -:10F8200070110C947F8924E03EE039AF28AF0FEFD0 -:10F830001CE19FE0892E9DE1992E23ECA22E2CE164 -:10F84000B22E312CE8ADF9AD8191F9AFE8AF0E944D -:10F850002D65882309F45BC0F3E03F1251C00E947C -:10F8600019656B017C0120E030E040EA51E40E9420 -:10F870009FF687FF3FC0A7019601F8016081718163 -:10F88000828193810E94A6F62B013C019B01AC0171 -:10F890006091D71C7091D81C8091D91C9091DA1C72 -:10F8A0000E9474F96093D71C7093D81C8093D91C64 -:10F8B0009093DA1CA3019201F4016081718182812D -:10F8C00093810E9474F9F40160837183828393832E -:10F8D000F50160817181828193810E943FF7A301CC -:10F8E00092010E9474F90E9413F7F50160837183FD -:10F8F00082839383F801C082D182E282F38207C0BF -:10F900000E941965F8016083718382839383339425 -:10F910000C5F1F4FF4E08F0E911C24E0A20EB11C6F -:10F9200034E033128FCF0C947F899091C00095FF03 -:10F93000FCCF8093C600319684918111F6CF0C9450 -:10F940007F8900917511109176110B5F1F4F6AE24C -:10F9500070E0C8010F943600009711F0FC0110828E -:10F96000C8010E94ECA00C947F89EBE1F1E5849141 -:10F97000882341F09091C00095FFFCCF8093C60092 -:10F980003196F5CF40915B1350915C1360915D13FC -:10F9900070915E1322E030E089EF96E10E9406D17B -:10F9A000E7E1F1E58491882341F09091C00095FF53 -:10F9B000FCCF8093C6003196F5CF40915F135091F4 -:10F9C0006013609161137091621322E030E089EF5F -:10F9D00096E10E9406D1E3E1F1E58491882341F0AC -:10F9E0009091C00095FFFCCF8093C6003196F5CF73 -:10F9F0004091631350916413609165137091661385 -:10FA000022E030E089EF96E10E9406D1EFE0F1E5D7 -:10FA10008491882341F09091C00095FFFCCF8093A2 -:10FA2000C6003196F5CF40916713509168136091ED -:10FA3000691370916A1322E030E089EF96E10E9429 -:10FA400006D1E0917913F0E0EE0FFF1FE45EFD4F69 -:10FA50000190F081E02DE659FE4F0190F081E02DFC -:10FA60008491882341F09091C00095FFFCCF809352 -:10FA7000C6003196F5CF0E94E0D90E9441F720914F -:10FA8000FF1C3091001D4091011D5091021D0E94EC -:10FA9000A6F6AB01BC0122E030E089EF96E10E94BE -:10FAA00006D1EBE0F1E58491882341F09091C0000C -:10FAB00095FFFCCF8093C6003196F5CF81E00E9480 -:10FAC000E0D90E9441F72091031D3091041D40911F -:10FAD000051D5091061D0E94A6F6AB01BC0122E057 -:10FAE00030E089EF96E10E9406D1E7E0F1E58491EC -:10FAF000882341F09091C00095FFFCCF8093C60011 -:10FB00003196F5CF82E00E94E0D90E9441F7209122 -:10FB1000071D3091081D4091091D50910A1D0E943A -:10FB2000A6F6AB01BC0122E030E089EF96E10E942D -:10FB300006D18091C00085FFFCCF8AE08093C6008B -:10FB40000C947F8980E00E9404D20C947F8981E02C -:10FB50000E9404D20C947F899091C00095FFFCCF45 -:10FB60008093C600319684918111F6CF8091C000B8 -:10FB700085FFFCCF8AE08093C600E0917913F0E026 -:10FB8000EE0FFF1FE45EFD4F0190F081E02DE8587D -:10FB9000FE4F0190F081E02D8491882341F09091F7 -:10FBA000C00095FFFCCF8093C6003196F5CFE09161 -:10FBB0007913F0E0EE0FFF1FE45EFD4F1E9B13C0B4 -:10FBC0000190F081E02DEA57FE4F0190F081E02D89 -:10FBD00084918823D9F09091C00095FFFCCF809349 -:10FBE000C6003196F5CF0190F081E02DE857FE4F29 -:10FBF0000190F081E02D8491882341F09091C00024 -:10FC000095FFFCCF8093C6003196F5CF8091C00060 -:10FC100085FFFCCF8AE08093C600E0917913F0E085 -:10FC2000EE0FFF1FE45EFD4F0190F081E02DE658DE -:10FC3000FE4F0190F081E02D8491882341F0909156 -:10FC4000C00095FFFCCF8093C6003196F5CFE091C0 -:10FC50007913F0E0EE0FFF1FE45EFD4F029913C031 -:10FC60000190F081E02DEA57FE4F0190F081E02DE8 -:10FC700084918823D9F09091C00095FFFCCF8093A8 -:10FC8000C6003196F5CF0190F081E02DE857FE4F88 -:10FC90000190F081E02D8491882341F09091C00083 -:10FCA00095FFFCCF8093C6003196F5CF8091C000C0 -:10FCB00085FFFCCF8AE08093C600E0917913F0E0E5 -:10FCC000EE0FFF1FE45EFD4F0190F081E02DE45840 -:10FCD000FE4F0190F081E02D8491882341F09091B6 -:10FCE000C00095FFFCCF8093C6003196F5CFE09120 -:10FCF0007913F0E0EE0FFF1FE45EFD4F1D9B13C074 -:10FD00000190F081E02DEA57FE4F0190F081E02D47 -:10FD100084918823D9F09091C00095FFFCCF809307 -:10FD2000C6003196F5CF0190F081E02DE857FE4FE7 -:10FD30000190F081E02D8491882341F09091C000E2 -:10FD400095FFFCCF8093C6003196F5CF8091C0001F -:10FD500085FFFCCF8AE08093C600E0917913F0E044 -:10FD6000EE0FFF1FE45EFD4F0190F081E02DE258A1 -:10FD7000FE4F0190F081E02D8491882341F0909115 -:10FD8000C00095FFFCCF8093C6003196F5CFE0917F -:10FD90007913F0E0EE0FFF1FE45EFD4F019913C0F1 -:10FDA0000190F081E02DEA57FE4F0190F081E02DA7 -:10FDB00084918823D9F09091C00095FFFCCF809367 -:10FDC000C6003196F5CF0190F081E02DE857FE4F47 -:10FDD0000190F081E02D8491882341F09091C00042 -:10FDE00095FFFCCF8093C6003196F5CF8091C0007F -:10FDF00085FFFCCF8AE08093C600E0917913F0E0A4 -:10FE0000EE0FFF1FE45EFD4F0190F081E02DE05802 -:10FE1000FE4F0190F081E02D8491882341F0909174 -:10FE2000C00095FFFCCF8093C6003196F5CFE091DE -:10FE30007913F0E0EE0FFF1FE45EFD4F1C9B13C033 -:10FE40000190F081E02DEA57FE4F0190F081E02D06 -:10FE500084918823D9F09091C00095FFFCCF8093C6 -:10FE6000C6003196F5CF0190F081E02DE857FE4FA6 -:10FE70000190F081E02D8491882341F09091C000A1 -:10FE800095FFFCCF8093C6003196F5CF8091C000DE -:10FE900085FFFCCF8AE08093C600E0917913F0E003 -:10FEA000EE0FFF1FE45EFD4F0190F081E02DEE5755 -:10FEB000FE4F0190F081E02D8491882341F09091D4 -:10FEC000C00095FFFCCF8093C6003196F5CFE0913E -:10FED0007913F0E0EE0FFF1FE45EFD4F379913C07A -:10FEE0000190F081E02DEA57FE4F0190F081E02D66 -:10FEF00084918823D9F09091C00095FFFCCF809326 -:10FF0000C6003196F5CF0190F081E02DE857FE4F05 -:10FF10000190F081E02D8491882341F09091C00000 -:10FF200095FFFCCF8093C6003196F5CF8091C0003D -:10FF300085FFFCCF8AE08093C6000C947F89809176 -:10FF400047138093601184E50E942D65882381F119 -:10FF50000E9419650E9413F760936011662341F1B6 -:10FF6000E1E1F2E58491882341F09091C00095FF92 -:10FF7000FCCF8093C6003196F5CFE0917913F0E085 -:10FF8000EE0FFF1FE45EFD4F0190F081E02DEA5A75 -:10FF9000FE4F0190F081E02D8191882311F40C94A3 -:10FFA0007F899091C00095FFFCCF8093C600F4CF6D -:10FFB00084E40E942D65882311F40C947F890E94AB -:10FFC000196520E030E0A9010E949FF6811103C06D -:10FFD00010926B1332C00091601110E00E941965FD -:10FFE000F801EE0FFF1FEE0FFF1FE15CF34F608380 -:10FFF000718382839383E0903F0CF090400C0091DA -:020000021000EC -:10000000410C1091420C20E030E0A901B701C80179 -:100010000E949FF6811104C0E12CF12C00E410E451 -:10002000C701D80180933F0C9093400CA093410CE2 -:10003000B093420C81E080936B130E941A710C9470 -:100040007F8904E01EE0EFEEEE2EECE1FE2EF801DB -:1000500081918F010E942D65882349F00E941965C6 -:100060000E9413F7F7016083718382839383F4E026 -:10007000EF0EF11C2EE00830120749F70E94CBEB7F -:100080000C947F8904E01EE07FE0E72E7DE1F72EEF -:10009000F80181918F010E942D65882339F00E941B -:1000A0001965F7016083718382839383F4E0EF0E17 -:1000B000F11C2EE00830120759F70C947F8983E574 -:1000C0000E942D65882351F00E9419656093E71CFA -:1000D0007093E81C8093E91C9093EA1C84E50E94CD -:1000E0002D65882311F40C947F890E941965609313 -:1000F000E31C7093E41C8093E51C9093E61C0C9425 -:100100007F8983E50E942D65882351F00E9419653F -:100110006093EB1C7093EC1C8093ED1C9093EE1C91 -:1001200084E50E942D65882351F00E941965609333 -:10013000D31C7093D41C8093D51C9093D61C82E45E -:100140000E942D65882361F00E9419650E9413F7B3 -:1001500060931F1D7093201D8093211D9093221D7D -:1001600088E50E942D65882351F00E9419656093EF -:10017000DF1C7093E01C8093E11C9093E21C8AE5E5 -:100180000E942D65882351F00E9419656093DB1C45 -:100190007093DC1C8093DD1C9093DE1C85E40E9430 -:1001A0002D65882311F40C947F890E941965609352 -:1001B000D71C7093D81C8093D91C9093DA1C0C9494 -:1001C0007F8904E01EE06FE4E62E63E1F62EF8017D -:1001D00081918F010E942D65882339F00E94196555 -:1001E000F7016083718382839383F4E0EF0EF11C47 -:1001F0002EE00730120711F40C947F89E8CF83E5D5 -:100200000E942D65882351F00E94196560931F0C90 -:100210007093200C8093210C9093220C86E40E9412 -:100220002D65882381F00E94196520E030E040E7C9 -:1002300052E40E94A6F66093170C7093180C8093FA -:10024000190C90931A0C8AE50E942D65882311F4ED -:100250000C947F890E94196560933F13709340133B -:1002600080934113909342130C947F8983E50E94FD -:100270002D65882351F00E94196560933B1370939C -:100280003C1380933D1390933E1386E40E942D65AA -:10029000882311F40C947F890E94196520E030E0D6 -:1002A00040E752E40E94A6F66093130C7093140C7E -:1002B0008093150C9093160C0C947F8983E50E9413 -:1002C0002D65882311F40C947F890E9419650E9482 -:1002D0000EF76115710551F06130710569F481E027 -:1002E00080934413109243130C947F89109244130B -:1002F000109243130C947F89E1E1F2E58491882305 -:1003000041F09091C00095FFFCCF8093C6003196DC -:10031000F5CFE0917913F0E0EE0FFF1FE45EFD4FA3 -:100320000190F081E02DEE58FE4F0190F081E02D1C -:100330008491882341F09091C00095FFFCCF809379 -:10034000C6003196F5CF80917F119091801120E603 -:10035000289FF001299FF00D1124EB57FE4E81914B -:10036000882339F09091C00095FFFCCF8093C600A0 -:10037000F6CFE5E0F1E58491882341F09091C0004B -:1003800095FFFCCF8093C6003196F5CF8091C000D9 -:1003900085FFFCCF8AE08093C600B1C783E50E9449 -:1003A0002D65882309F4ABC70E9419650E940EF7DA -:1003B00070934A0C6093490CA2C783E50E942D6597 -:1003C000882309F49CC70E9419650E940EF76B01EF -:1003D0007C0184E50E942D65882381F08DED90E0FD -:1003E0000E94E16A81118BC7E0916011F0E0EE0F8D -:1003F000FF1FEB5BF34FD182C08281C7D092480CC4 -:10040000C092470C7CC780E50E942D65882309F4C3 -:1004100076C70E9419650E940EF7D62E062F172F59 -:1004200083E50E942D65882331F00E9419650E94A2 -:100430000EF77B0103C0EE24EA94FE2CC70101965F -:10044000039708F05CC7ECECFDE081919191801777 -:10045000910709F454C73EE0E430F307B1F717FD04 -:100460004EC70E9484D9CD2C60E08D2D0E940CEFE8 -:100470008FEFE816F80631F0EA94EF2871F000E00B -:1004800010E00DC08D2D0E947AEF31E020E0892B25 -:1004900009F030E0032F122F02C001E010E08C2D94 -:1004A0000E947AEF8017910709F429C70E94C74577 -:1004B00080E00E9473700E9482A3F1CF83E50E94C6 -:1004C0002D65882331F00E9419650E940EF78B017B -:1004D00002C00EE610E080E50E942D65882331F011 -:1004E0000E9419650E940EF7CB0102C088EE93E0CE -:1004F0006C01EE24D7FCE094FE2C101611067CF45F -:1005000020E030E0A901B8018EE40E94B8F0C701F4 -:10051000B6010E941BF08EE40E94CFF3F0C6C70123 -:10052000B6010E941BF0EBC680E50E942D65882372 -:1005300051F00E941965609318027093190280931C -:100540001A0290931B0289E40E942D65882361F0B2 -:100550000E9419650E94434A609314027093150229 -:10056000809316029093170284E40E942D658823DD -:1005700061F00E9419650E944F4A609310027093C7 -:100580001102809312029093130283E40E942D655E -:10059000882351F00E94196560930C0270930D023C -:1005A00080930E0290930F020E94263FE0917913F0 -:1005B000F0E0EE0FFF1FE45EFD4F0190F081E02DB3 -:1005C000E05CFE4F0190F081E02D8191882339F0AD -:1005D0009091C00095FFFCCF8093C600F6CFEAEB68 -:1005E000FDE08191882339F09091C00095FFFCCF08 -:1005F0008093C600F6CF4091180250911902609185 -:100600001A0270911B0222E030E089EF96E10E940D -:1006100006D1EEEBFDE08191882339F09091C00086 -:1006200095FFFCCF8093C600F6CF609114027091C5 -:10063000150280911602909117020E94494AAB015F -:10064000BC0122E030E089EF96E10E9406D1E2ECA5 -:10065000FDE08191882339F09091C00095FFFCCF97 -:100660008093C600F6CF60911002709111028091C4 -:100670001202909113020E94554AAB01BC0122E084 -:1006800030E089EF96E10E9406D1E6ECFDE0819131 -:10069000882339F09091C00095FFFCCF8093C6006D -:1006A000F6CF40910C0250910D0260910E027091B4 -:1006B0000F0222E030E089EF96E10E9406D180919E -:1006C000C00085FFFCCF8AE08093C60018C683E592 -:1006D0000E942D65882319F00E94196503C060E00F -:1006E00070E0CB010E94C2EB0AC685E40E942D6532 -:1006F000882341F00E9419650E940EF78B0177FF55 -:1007000003C009C000E010E0C12CD12C96E1E92E15 -:1007100093E4F92E06C0C12CD12C8CE8E82E82E49B -:10072000F82E83E50E942D65882321F00E9419652B -:100730006B017C0183E40E942D65882331F00E94C7 -:1007400019650E940EF79B0102C025E030E0A80168 -:10075000C701B6010E942940D2C50E9484D9CFC5E5 -:100760000E9435CD0E9407C9CAC50E9435CDC7C5B4 -:100770000E9407C9C4C59091C00095FFFCCF80932B -:10078000C600319684918111F6CFE5EFF0E58491B2 -:10079000882309F4B4C59091C00095FFFCCF8093E5 -:1007A000C6003196F4CF8AE50E942D65882309F4AE -:1007B000D6C00E9419656B017C0120E030E040E763 -:1007C00051EC0E94A2F887FD57C020E030E040EADB -:1007D00050ECC701B6010E949FF618160CF44CC0ED -:1007E000F7FAF094F7F8F094C0924813D0924913B6 -:1007F000E0924A13F0924B13E1E1F2E584918823F1 -:1008000041F09091C00095FFFCCF8093C6003196D7 -:10081000F5CFE0917913F0E0EE0FFF1FE45EFD4F9E -:1008200080819181FC01E05CFE4F40815181E8555F -:10083000F10924EF30E561E77EE0808191810E943B -:10084000084DFC012491222341F03091C00035FF76 -:10085000FCCF2093C6000196F4CF8091C00085FFA5 -:10086000FCCF8AE08093C6008091C00085FFFCCF5A -:100870008AE08093C60043C5E1E1F2E584918823D4 -:1008800041F09091C00095FFFCCF8093C600319657 -:10089000F5CFE0917913F0E0EE0FFF1FE45EFD4F1E -:1008A0000190F081E02DE851FF4F0190F081E02DA3 -:1008B0008491882341F09091C00095FFFCCF8093F4 -:1008C000C6003196F5CFE0917913F0E0EE0FFF1FEF -:1008D000E45EFD4F0190F081E02DE058FE4F019065 -:1008E000F081E02D8491882341F09091C00095FF24 -:1008F000FCCF8093C6003196F5CF4AE050E061EF1F -:100900007FEF89EF96E10E9430D0E0917913F0E01B -:10091000EE0FFF1FE45EFD4F0190F081E02DEE57DA -:10092000FE4F0190F081E02D8491882341F0909159 -:10093000C00095FFFCCF8093C6003196F5CF4AE00A -:1009400050E06BEF7FEF89EF96E10E9430D080910D -:10095000C00085FFFCCF8AE08093C600D0C4E1E1EF -:10096000F2E58491882341F09091C00095FFFCCF7F -:100970008093C6003196F5CFE0917913F0E0EE0F49 -:10098000FF1FE45EFD4F0190F081E02DE851FF4F25 -:1009900060EF70E5808191810E94E74CFC01249119 -:1009A000222341F03091C00035FFFCCF2093C600D8 -:1009B0000196F4CF8091C00085FFFCCF8AE0809340 -:1009C000C600409148135091491360914A137091A9 -:1009D0004B13705822E030E089EF96E10E9406D177 -:1009E0008091C00085FFFCCF8AE08093C60087C459 -:1009F0000E9484D98091490C90914A0C9093440CA8 -:100A00008093430CC0905B13D0905C13E0905D1317 -:100A1000F0905E13CF8ED8A2E9A2FAA200915F13E4 -:100A20001091601320916113309162130BA31CA3EA -:100A30002DA33EA3409163135091641360916513FD -:100A4000709166134FA358A769A77AA7809167137F -:100A500090916813A0916913B0916A138BA79CA71A -:100A6000ADA7BEA7C982DA82EB82FC820D831E830A -:100A70002F83388749875A876B877C878D879E8726 -:100A8000AF87B88B85E40E942D65882359F00E94BA -:100A900019659B01AC016BA57CA58DA59EA50E9447 -:100AA000C6F50AC020E030E040E050E46BA57CA52C -:100AB0008DA59EA50E94C5F56BA77CA78DA79EA7B7 -:100AC00037E4C32E33E1D32EE12CF12C08EC13E4F0 -:100AD0009E01255D3F4FAE01495D5F4FBE016D5DDB -:100AE0007F4FCE014F960E9417E18AE50E942D6547 -:100AF000882349F00E9419659B01AC016FA178A57C -:100B000089A59AA51EC020E030E040E050E46FA126 -:100B100078A589A59AA50E94C6F56B017C016FA3F3 -:100B200078A789A79AA720E030E040E251E40E942C -:100B30009FF687FF0CC020E030E040E251E4C7019F -:100B4000B6010E94C6F56FA378A789A79AA797E474 -:100B5000C92E93E1D92EE12CF12C06E913E49E0174 -:100B6000255D3F4FAE01495D5F4FBE016D5D7F4F1B -:100B7000CE014F960E9417E188E50E942D658823DB -:100B800079F00E9419659B01AC016F8D78A189A154 -:100B90009AA10E94C6F56F8F78A389A39AA308C073 -:100BA00080E090E0A3E5B3E48F8F98A3A9A3BAA354 -:100BB00089E50E942D65882339F00E9419656BA391 -:100BC0007CA38DA39EA304C01BA21CA21DA21EA2D7 -:100BD00017E4C12E13E1D12EE12CF12C0CE812E424 -:100BE0009E01255D3F4FAE01495D5F4FBE016D5DCA -:100BF0007F4FCE014F960E9417E18CE40E942D6535 -:100C0000882359F00E9419659B01AC016BA57CA556 -:100C10008DA59EA50E94C6F50AC020E030E040EAFE -:100C200052E46BA57CA58DA59EA50E94C5F56BA77A -:100C30007CA78DA79EA7A7E4CA2EA3E1DA2EE12CFC -:100C4000F12C08EC13E49E01255D3F4FAE01495D98 -:100C50005F4FBE016D5D7F4FCE014F960E9417E141 -:100C60000E9484D9149A64E670E080E090E00E94CB -:100C70001BF00E9435B900E010E0F12C0E946AA43C -:100C800081111BC0F3940E94C74581E00E947370DC -:100C9000F110F4CF043FF1E01F0711F400E010E081 -:100CA0006A9A0115110511F4729A04C004311105F4 -:100CB00009F472980F5F1F4FE1CF729820E030E087 -:100CC0004CE852E46BA57CA58DA59EA50E94C6F5B7 -:100CD0006BA77CA78DA79EA777E4C72E73E1D72EBD -:100CE000E12CF12C00EA11E49E01255D3F4FAE019D -:100CF000495D5F4FBE016D5D7F4FCE014F960E94F3 -:100D000017E120E030E048E452E46BA57CA58DA516 -:100D10009EA50E94C6F56BA77CA78DA79EA7E12C78 -:100D2000F12C00E010E49E01255D3F4FAE01495DCE -:100D30005F4FBE016D5D7F4FCE014F960E9417E160 -:100D400010927B1310927A130E94D0B980917A137B -:100D500090917B13019709F47CC010927B13109241 -:100D60007A130E9425BA80917A1390917B13823076 -:100D7000910549F1039709F069C020E030E048E4AB -:100D800052E46BA57CA58DA59EA50E94C6F56BA718 -:100D90007CA78DA79EA727E4C22E23E1D22EE12CAB -:100DA000F12C00E010E49E01255D3F4FAE01495D4E -:100DB0005F4FBE016D5D7F4FCE014F960E9417E1E0 -:100DC0000E947BB9C3CF20E030E04CE852E46BA531 -:100DD0007CA58DA59EA50E94C6F56BA77CA78DA7B7 -:100DE0009EA747E4C42E43E1D42EE12CF12C00EA67 -:100DF00011E49E01255D3F4FAE01495D5F4FBE018D -:100E00006D5D7F4FCE014F960E9417E120E030E0EC -:100E100048E452E46BA57CA58DA59EA50E94C6F56D -:100E20006BA77CA78DA79EA7E12CF12C00E010E416 -:100E30009E01255D3F4FAE01495D5F4FBE016D5D77 -:100E40007F4FCE014F960E9417E17ECF0E9463B97B -:100E50007DCF20E030E040EA50E46BA57CA58DA575 -:100E60009EA50E94C6F56BA77CA78DA79EA7E7E469 -:100E7000CE2EE3E1DE2EE12CF12C00E010E49E0109 -:100E8000255D3F4FAE01495D5F4FBE016D5D7F4FF8 -:100E9000CE014F960E9417E1A80197016BA57CA592 -:100EA0008DA59EA50E94C5F56BA77CA78DA79EA7C3 -:100EB000E12CF12C08EC13E49E01255D3F4FAE01BF -:100EC000495D5F4FBE016D5D7F4FCE014F960E9421 -:100ED00017E1E12CF12C0CE812E49E01255D3F4F57 -:100EE000AE01495D5F4FBE016B5F7F4FCE01019642 -:100EF0000E9417E1E12CF12C06E913E49E01255D27 -:100F00003F4FAE01475F5F4FBE016B5F7F4FCE012A -:100F100001960E9417E120E030E040E050E46BA52C -:100F20007CA58DA59EA50E94C6F56BA77CA78DA765 -:100F30009EA7E12CF12C08EC13E49E01255D3F4FA8 -:100F4000AE01475F5F4FBE016B5F7F4FCE010196E1 -:100F50000E9417E1CE010D960E949EEB8091430CFA -:100F60009091440C8093490C90934A0C9F938F93DB -:100F700087EE90E59F938F938E01015D1F4F1F9326 -:100F80000F930F946E00C8010E942E620F900F9075 -:100F90000F900F900F900F90B2C188E50E942D65C1 -:100FA000882339F00E9419650E940EF780E00E94A4 -:100FB000AEDA8AE50E942D65882339F00E94196512 -:100FC0000E940EF781E00E94AEDA85E40E942D6552 -:100FD000882309F494C10E9419650E940EF782E0EB -:100FE0000E94AEDA8CC183E50E942D65811104C098 -:100FF00004E01EE0F12C10C010E00E9419650E9470 -:1010000013F7812F0E9484DB1F5F1530B1F7F0CFFB -:10101000F394F4E0FF1679F0F80181918F010E94BA -:101020002D658823A9F30E9419650E9413F78F2D5F -:101030000E9484DBEDCF82E40E942D65882339F085 -:101040000E9419650E9413F784E00E9484DB0E94CD -:101050004ADC55C183E50E942D65882309F453C0FD -:101060000E9419650E940EF76130710541F06230EF -:10107000710509F048C004E01EE0F12C25C004E031 -:101080001EE0F12CF80181918F010E942D658823CB -:1010900041F00E9419650E940EF74FEF8F2D0E94BC -:1010A00046DBF394F4E0FF12EDCF82E40E942D655D -:1010B000882349F10E9419650E940EF74FEF20C066 -:1010C000F394F4E0FF1689F0F80181918F010E94FA -:1010D0002D658823A9F30E9419650E940EF7462FFB -:1010E0006FEF8F2D0E9446DBEBCF82E40E942D65CF -:1010F000882349F00E9419650E940EF7462F6FEF72 -:1011000084E00E9446DB0E944ADCF9C084E50E942C -:101110002D65882309F4A2C00E9419650E9413F767 -:1011200060936011662309F442C0E1E1F2E5849125 -:10113000882341F09091C00095FFFCCF8093C600BA -:101140003196F5CFEAECFDE08191882339F090915A -:10115000C00095FFFCCF8093C600F6CF40E050E082 -:101160006091601189EF96E10E9467D0E091791358 -:10117000F0E0EE0FFF1FE45EFD4F0190F081E02DE7 -:10118000EA58FE4F0190F081E02D8191882339F0DB -:101190009091C00095FFFCCF8093C600F6CF809160 -:1011A000C00085FFFCCF8AE08093C600A8C086E41B -:1011B0000E942D658823D9F00E9419656B017C017E -:1011C0006093161370931713809318139093191349 -:1011D00020E030E0A9010E94A2F8181644F4C09261 -:1011E0000D0CD0920E0CE0920F0CF092100CE1E17D -:1011F000F2E58491882341F09091C00095FFFCCFE7 -:101200008093C6003196F5CFE0917913F0E0EE0FB0 -:10121000FF1FE45EFD4F0190F081E02DEC58FE4F82 -:101220000190F081E02D8191882339F09091C000E8 -:1012300095FFFCCF8093C600F6CF6091471370E016 -:101240004AE050E089EF96E10E9430D08091C000E2 -:1012500085FFFCCF8AE08093C60051C0E1E1F2E552 -:101260008491882341F09091C00095FFFCCF80933A -:10127000C6003196F5CFE0917913F0E0EE0FFF1F35 -:10128000E45EFD4F0190F081E02DEE58FE4F01909D -:10129000F081E02D8491882341F09091C00095FF6A -:1012A000FCCF8093C6003196F5CF80917F1190914D -:1012B000801120E6289FF001299FF00D1124EB57A3 -:1012C000FE4E8191882339F09091C00095FFFCCFAC -:1012D0008093C600F6CFE5EEF0E58491882341F0D7 -:1012E0009091C00095FFFCCF8093C6003196F5CF5A -:1012F0008091C00085FFFCCF8AE08093C6000E94E9 -:10130000546580C2C0903213D0903313E0903413F0 -:10131000F090351320916713309168134091691351 -:1013200050916A13C701B6010E94C5F52DEC3CEC43 -:101330004CEC5DE30E94A2F8181614F00C942F7286 -:10134000C0926713D0926813E0926913F0926A1307 -:1013500087E693E10E949EEB60E080E00E94C66712 -:1013600051C288E50E942D658111B5C08091110C94 -:101370008111B6C089E50E942D658111B1C088E553 -:101380000E942D658823D1F00E942265672B682B6F -:10139000692BA1F00E94196520914F1330915013D1 -:1013A00040915113509152130E94C6F560935B1304 -:1013B00070935C1380935D1390935E1389E50E9494 -:1013C0002D658823D1F00E942265672B682B692B3D -:1013D000A1F00E941965209153133091541340914C -:1013E0005513509156130E94C6F560935F13709386 -:1013F000601380936113909362138091110C81119B -:1014000074C08AE50E942D6581116FC08AE50E9433 -:101410002D658823D1F00E942265672B682B692BEC -:10142000A1F00E94196520915713309158134091F3 -:10143000591350915A130E94C6F560936313709329 -:101440006413809365139093661327E633E143E6B4 -:1014500053E16FE573E18BE593E10E94F9EA80E0E7 -:101460000E9404D28091121390911313A09114132F -:10147000B091151380930D0C90930E0CA0930F0C4C -:10148000B093100C809180139091811390934A0C2B -:101490008093490C0E94ECEF60937111709372116C -:1014A00080937311909374110E94FDD180918E13DB -:1014B000882309F424CF6AE873E188EF9FE00E9453 -:1014C000489C80918A1390918B13892B09F417CF34 -:1014D0000E9493C014CF80E090E00E949C6046CFB1 -:1014E00081E090E00E949C604ACF82E090E00E9400 -:1014F0009C608CCF0E94C74580E00E9473700E9460 -:1015000082A30C94CE750E942265AB01BC0140936E -:10151000291650932A1660932B1670932C1684E785 -:1015200095E10E94AA33EBCE0E9419650E940EF746 -:101530008B010C940B78E0917913F0E0EE0FFF1F14 -:10154000E45EFD4F0190F081E02DEE59FE4F808169 -:1015500091810E94F9A082E090E0909374138093AF -:1015600073130E94ECEF6093691170936A1180937A -:101570006B1190936C110E94ECEF6093711170935A -:1015800072118093731190937411B9CE0E94ECEF95 -:10159000681979098A099B09693E7340810591059B -:1015A00008F479C0E5E3F1E58491882341F0909156 -:1015B000C00095FFFCCF8093C6003196F5CFE09137 -:1015C000601124E0E29FF0011124EA5FFE4E4081A9 -:1015D00051816281738121E030E089EF96E10E94C0 -:1015E00006D1E1E3F1E58491882341F09091C000B8 -:1015F00095FFFCCF8093C6003196F5CF60916011C6 -:1016000070E04AE050E089EF96E10E9430D0EDE2D0 -:10161000F1E58491882341F09091C00095FFFCCFC3 -:101620008093C6003196F5CFF7FE03C0EFEAFDE0E8 -:1016300025C00E94ECEF8B019C01C701B6016854E4 -:10164000744F8F4F9F4F601B710B820B930BA30145 -:1016500092010E947DFABA01A9012AE030E089EFE7 -:1016600096E10E945CD08091C00085FFFCCF0DC048 -:101670009091C00095FFFCCF8093C60081918111AD -:10168000F7CF8091C00085FFFCCF3092C6000E944A -:10169000ECEF4B015C010E94C74580E00E94737033 -:1016A0000E9482A3FFEFCF16DF06EF06FF0609F0C8 -:1016B00046C080915E11E0916011F0E08F01000F53 -:1016C000111F000F111F0A5F1E4EEE0FFF1FE25F7A -:1016D000FE4E608171818823C9F0882777FD80954F -:1016E000982F0E9441F720E030E040E85FE30E943D -:1016F000C5F59B01AC01F801608171818281938104 -:101700000E94A2F887FF50C00C94F379882777FDD8 -:101710008095982F0E9441F720E030E040E85FE399 -:101720000E94C6F59B01AC01F80160817181828144 -:1017300093810E949FF61816BCF50C94F379F7FE7E -:1017400002C00C94F379E0916011F0E08F01000F7A -:10175000111F000F111F0A5F1E4EEE0FFF1FE25FE9 -:10176000FE4E60817181882777FD8095982F0E94B9 -:1017700041F79B01AC01F801608171818281938105 -:101780000E94C5F50E940EF797FF07C090958095BF -:10179000709561957F4F8F4F9F4F66307105810522 -:1017A000910514F40C94F3790E94ECEF6B017C0129 -:1017B0000C94F3790E9484D988E50E942D658823D2 -:1017C00019F0179A10924C1389E50E942D65882311 -:1017D00019F0169A10924D138AE50E942D65882300 -:1017E00019F0159A10924E1385E40E942D658823F6 -:1017F00009F485CD149A83CD0E9484D9149A0E944D -:10180000EED97DCDE9960FB6F894DEBF0FBECDBF01 -:10181000DF91CF911F910F91FF90EF90DF90CF90CC -:10182000BF90AF909F908F907F906F905F904F9000 -:101830003F9008950F931F9380917C1390917D1397 -:10184000892BA1F00E94ECEF0091611110916211BF -:101850002091631130916411601B710B820B930B0B -:10186000693E73408105910508F0A5C080917C1305 -:1018700090917D13892B11F410927F1380917B112D -:1018800090917C11039714F40E94336C60E08CE813 -:1018900093E10E948C5780917B1190917C11892B50 -:1018A00009F47EC080918C138823E1F080917F1130 -:1018B0009091801120E6289F8001299F100D11240E -:1018C0000B571E4E61E871E5C8010E94E1FF892BAC -:1018D00059F5B8018CE893E10E940E5780918D1361 -:1018E000882319F00E942C7145C0E0917913F0E033 -:1018F000EE0FFF1FE45EFD4F0190F081E02DE05CF4 -:10190000FE4F0190F081E02D8491882341F0909169 -:10191000C00095FFFCCF8093C6003196F5CF809133 -:10192000C00085FFFCCF23C060E08CE893E10E94FB -:101930008258E0917913F0E0EE0FFF1FE45EFD4F57 -:101940000190F081E02DEE5BFE4F0190F081E02DE3 -:101950008491882341F09091C00095FFFCCF809343 -:10196000C6003196F5CF8091C00085FFFCCF8AE09C -:101970008093C60080917B1190917C110197909388 -:101980007C1180937B1180917F1190918011019641 -:1019900064E070E00E946AFA9093801180937F1156 -:1019A0000E94C74580E00E9473700E9425D11F915C -:1019B0000F910C9482A381E080937F1380917C131C -:1019C00090917D13019790937D1380937C130E94D7 -:1019D000ECEF6093611170936211809363119093A7 -:1019E000641144CF8F929F92AF92BF92CF92DF92B9 -:1019F000EF92FF920F931F93CF93DF938C018C5143 -:101A00009E4F0E94D350680189E8C80ED11C21F175 -:101A1000780181E4E81A8EEFF80AE70157018FE1B7 -:101A2000A81AB10843E9842E4EE0942ECC15DD05AA -:101A300099F0FE01EE19FF09EA0DFB1D91828082EB -:101A4000FE0178978081811102C06F97EFCFCE01A0 -:101A50004B970E948D34F9CFC80186599F4F0E9441 -:101A6000D350C801875B9F4FDF91CF911F910F919A -:101A7000FF90EF90DF90CF90BF90AF909F908F90AE -:101A80000C94D3508CE893E10C94DF508CE893E1F4 -:101A9000A9CFFB0160915C0C70915D0C70935C169A -:101AA00060935B16609165167091661670935A1676 -:101AB0006093591662E060935B0C62E87DEA709374 -:101AC0005D0C60935C0C9093581680935716F093BE -:101AD0005616E0935516662757FD6095762F40936E -:101AE0005116509352166093531670935416C901B1 -:101AF000AA2797FDA095BA2F841B950BA60BB70BB1 -:101B000080934D1690934E16A0934F16B093501697 -:101B100080819181AA2797FDA095BA2F841B950BF0 -:101B2000A60BB70B8093651690936616A093671665 -:101B3000B09368160895CF93DF93CDB7DEB7C05446 -:101B4000D1090FB6F894DEBF0FBECDBF88E0E3E940 -:101B5000FCE0DE01D99601900D928A95E1F788E0CC -:101B6000EBE9FCE0DE01D19601900D928A95E1F758 -:101B700088E0E3EAFCE0DE01999601900D928A95F7 -:101B8000E1F788E0EBEAFCE0DE01919601900D922E -:101B90008A95E1F788E0E3EBFCE0DE0159960190DD -:101BA0000D928A95E1F788E0EBEBFCE0DE015196BF -:101BB00001900D928A95E1F788E0E3ECFCE0DE010C -:101BC000199601900D928A95E1F788E0EBECFCE024 -:101BD000DE01119601900D928A95E1F7AE01475C06 -:101BE0005F4F60E080E796E10E94A84CAE014F5C39 -:101BF0005F4F61E080E796E10E94A84CAE01475D2F -:101C00005F4F62E080E796E10E94A84CAE014F5D15 -:101C10005F4F63E080E796E10E94A84CAE01475E0B -:101C20005F4F64E080E796E10E94A84CAE014F5EF2 -:101C30005F4F65E080E796E10E94A84CAE01475FE8 -:101C40005F4F66E080E796E10E94A84CAE014F5FCF -:101C50005F4F67E080E796E10E94A84CC05CDF4FD1 -:101C60000FB6F894DEBF0FBECDBFDF91CF910895C0 -:101C70000F931F93CF93DF93EB01142F022F482F65 -:101C800060E080E796E10E940A4B612F80E796E1D1 -:101C90000E9456F511E1FE016491662311F01111C5 -:101CA00017C0112339F060E280E796E10E9456F5F3 -:101CB0001150F7CF602F80E796E10E9456F560E261 -:101CC00080E796E1DF91CF911F910F910C9456F52B -:101CD00080E796E10E9456F521961150DCCFCF9215 -:101CE000DF92EF92FF920F931F93CF93DF93D82E43 -:101CF000C62E7A01E901482F80E796E10E940A4B3F -:101D000081E0E816F10469F182E0E816F10409F0D7 -:101D10004FC0BE0180E796E10E9455F5FE0101909B -:101D20000020E9F73197EC1BFD0B6C2D6E0F4D2D4C -:101D300080E796E10E940A4B68EC7DE080E796E13F -:101D40000E9455F5FE0101900020E9F76C2D6C1BF7 -:101D50006E0F4D2D80E796E10E940A4B68E07EE011 -:101D600028C0BE0180E796E10E9455F5FE01019072 -:101D70000020E9F73197EC1BFD0B6C2D6E0F4D2DFC -:101D800080E796E10E940A4B68EC7DE080E796E1EF -:101D90000E9455F5FE0101900020E9F76C2D6C1BA7 -:101DA0006E0F4D2D80E796E10E940A4BB80101C0ED -:101DB000BE0180E796E1DF91CF911F910F91FF90D7 -:101DC000EF90DF90CF900C9455F5EF92FF920F9328 -:101DD0001F93CF93DF93EB01E42E8901F90101906A -:101DE0000020E9F7F22EFE1A92E1F90E482F60E08A -:101DF00080E796E10E940A4B6E2D80E796E10E94F3 -:101E000056F5FE016491662311F0F11019C06AE3E2 -:101E100080E796E10E9456F5FF2039F060E280E706 -:101E200096E10E9456F5FA94F7CFB80180E796E163 -:101E3000DF91CF911F910F91FF90EF900C9455F58A -:101E400080E796E10E9456F52196FA94DACF80E772 -:101E500096E10C94FE4ACF936A9ACAE0729A84E69D -:101E600090E00E943FF0729884E690E00E943FF07C -:101E7000C150A1F7CF91089582E080935B0C0E943E -:101E8000ECEF6C507E4F8F4F9F4F60936A167093AC -:101E90006B1680936C1690936D16DDCFE0915C0C01 -:101EA000F0915D0CE817F90771F090935D0C809349 -:101EB0005C0C40936516509366166093671670939A -:101EC00068162111D9CF089521E040E050E0BA0111 -:101ED000E5CF21E040E050E0BA01E0CFCF92DF92C1 -:101EE000EF92FF920F931F93CF93DF93809165162C -:101EF00090916616A0916716B0916816813090484F -:101F0000A105B10540F01092651610926616109268 -:101F10006716109268168091651690916616A091CA -:101F20006716B0916816B695A795979587954091D5 -:101F30006E1650E060E070E084179507A607B707BB -:101F400010F480936E16D0916E1610916F1612FBDE -:101F5000112710F9C0E0B7E1CB2ED12CE12CF12CE8 -:101F600001E0409165165091661660916716709178 -:101F70006816D11138C080915B0C8823C1F0E091C4 -:101F80007913F0E0EE0FFF1FE45EFD4F0190F0814A -:101F9000E02D8681978123E042305105610571056E -:101FA00010F443E001C040E2BC018C2F61DE11233C -:101FB00009F420C28091651690916616A09167166B -:101FC000B09168160297A105B10508F013C254DF5D -:101FD0008CE79BEBDF91CF911F910F91FF90EF90DA -:101FE000DF90CF9071CFD13051F580915B0C882379 -:101FF00089F0769567955795479523E041305105CF -:102000006105710511F443E001C040E262E773E548 -:102010008C2F2EDE112309F4EDC18091651690916D -:102020006616A0916716B0916816B695A795979514 -:1020300087950197A105B10509F0DCC1C8CFD23061 -:10204000B9F580915B0C8823F1F0E0917913F0E011 -:10205000EE0FFF1FE45EFD4F0190F081E02DE25492 -:10206000FE4F80819181769567955795479523E03E -:10207000423051056105710511F443E001C040E2B1 -:10208000BC018C2FF5DD112309F4B4C180916516D4 -:1020900090916616A0916716B0916816B695A795AF -:1020A000979587950297A105B10509F0A3C18FCF38 -:1020B000D330B9F580915B0C8823F1F0E09179136E -:1020C000F0E0EE0FFF1FE45EFD4F0190F081E02D88 -:1020D000E054FE4F8081918176956795579547959D -:1020E00023E0433051056105710511F443E001C05F -:1020F00040E2BC018C2FBCDD112309F47BC180912F -:10210000651690916616A0916716B0916816B695FF -:10211000A795979587950397A105B10509F06AC121 -:1021200056CFD430B9F580915B0C8823F1F0E09163 -:102130007913F0E0EE0FFF1FE45EFD4F0190F08198 -:10214000E02DEE53FE4F80819181769567955795EE -:10215000479523E0443051056105710511F443E0D2 -:1021600001C040E2BC018C2F83DD112309F442C180 -:102170008091651690916616A0916716B0916816C9 -:10218000B695A795979587950497A105B10509F090 -:1021900031C11DCFD53051F580915B0C882389F07A -:1021A000769567955795479523E04530510561052C -:1021B000710511F443E001C040E265E673E58C2F40 -:1021C00057DD112309F416C18091651690916616AA -:1021D000A0916716B0916816B695A79597958795C3 -:1021E0000597A105B10509F005C1F1CED63051F52D -:1021F00080915B0C882389F0769567955795479574 -:1022000023E0463051056105710511F443E001C03A -:1022100040E261E673E58C2F2BDD112309F4EAC05F -:102220008091651690916616A0916716B091681618 -:10223000B695A795979587950697A105B10509F0DD -:10224000D9C0C5CED73051F580915B0C882389F079 -:10225000769567955795479523E047305105610579 -:10226000710511F443E001C040E268E573E58C2F8D -:10227000FFDC112309F4BEC08091651690916616AB -:10228000A0916716B0916816B695A7959795879512 -:102290000797A105B10509F0ADC099CED83051F529 -:1022A00080915B0C882389F07695679557954795C3 -:1022B00023E0483051056105710511F443E001C088 -:1022C00040E26EE473E58C2FD3DC112309F492C055 -:1022D0008091651690916616A0916716B091681668 -:1022E000B695A795979587950897A105B10509F02B -:1022F00081C06DCED93051F580915B0C882389F077 -:10230000769567955795479523E0493051056105C6 -:10231000710511F443E001C040E261E473E58C2FE4 -:10232000A7DC112309F466C08091651690916616AA -:10233000A0916716B0916816B695A7959795879561 -:102340000997A105B10509F055C041CEDA3041F534 -:1023500080915B0C882389F0769567955795479512 -:1023600023E04A3051056105710511F443E001C0D5 -:1023700040E26AE373E58C2F7BDC1123D9F1809175 -:10238000651690916616A0916716B0916816B6957D -:10239000A795979587950A97A105B10559F517CE89 -:1023A000DB3041F580915B0C882389F07695679549 -:1023B0005795479523E04B3051056105710511F4A0 -:1023C00043E001C040E26EE273E58C2F51DC112343 -:1023D00089F08091651690916616A0916716B0916C -:1023E0006816B695A795979587950B97A105B105A2 -:1023F00009F4EDCD8091651690916616A09167164F -:10240000B09168164897A105B10540F0C0926516D5 -:10241000D0926616E0926716F092681640916516A3 -:10242000509166166091671670916816769567955B -:102430005795479580916E1690E00396242F30E0D3 -:10244000821793074CF48DEF840F80936E160093E0 -:102450005B0CDCEFD40FCFEFCF5FDF5FC43008F44D -:1024600080CDDF91CF911F910F91FF90EF90DF9082 -:10247000CF900895FF920F931F93CF93DF93809196 -:10248000651690916616A0916716B0916816813016 -:102490009048A105B10540F010926516109266169D -:1024A00010926716109268168091651690916616C4 -:1024B000A0916716B0916816B695A79597958795E0 -:1024C00040916E1650E060E070E084179507A60713 -:1024D000B70710F480936E16D0916E1610916F1698 -:1024E00012FB112710F9C0E0FF24F39480916516C8 -:1024F00090916616A0916716B0916816D11135C0FB -:1025000020915B0C2223C1F0E0917913F0E0EE0FF3 -:10251000FF1FE45EFD4F0190F081E02DE450FF4F7E -:102520006081718123E00297A105B10510F443E0B9 -:1025300001C040E28C2F9CDB112309F483C0809101 -:10254000651690916616A0916716B091681602976D -:10255000A105B10508F076C08FDC83ED9CE9DF9121 -:10256000CF911F910F91FF90AFCCD130A9F5209161 -:102570005B0C2223D1F0E0917913F0E0EE0FFF1F06 -:10258000E45EFD4F0190F081E02D62AD73ADB69534 -:10259000A795979587952EE70197A105B10511F4A9 -:1025A0004EE301C040E28C2F63DB112309F44AC0E3 -:1025B0008091651690916616A0916716B091681685 -:1025C000B695A795979587950197A105B105D1F582 -:1025D00053DC8EEC9EEAD0C0D230A1F520915B0C8A -:1025E0002223D1F0E0917913F0E0EE0FFF1FE45EBB -:1025F000FD4F0190F081E02D64AD75ADB695A795C6 -:10260000979587952EE70297A105B10511F44EE342 -:1026100001C040E28C2F2CDB1123A1F080916516C4 -:1026200090916616A0916716B0916816B695A79519 -:10263000979587950297A105B10521F41DDC85EDDD -:102640009EEA9AC020E030E040E251E460914016FA -:102650007091411680914216909143160E949FF608 -:1026600087FF94C02091DE168091651690916616C2 -:10267000A0916716B0916816211138C0D330C1F50A -:1026800020915B0C2223D1F0E0917913F0E0EE0F62 -:10269000FF1FE45EFD4F0190F081E02D66AD77AD48 -:1026A000B695A795979587952EE70397A105B10550 -:1026B00011F44EE301C040E28C2FDADA112309F461 -:1026C00061C08091651690916616A0916716B091D1 -:1026D0006816B695A795979587950397A105B105B7 -:1026E00009F050C0C9DB8CED9EEA46C003E001C092 -:1026F00004E00D1348C020915B0C222319F1E091F6 -:102700007913F0E0EE0FFF1FE45EFD4F0190F081C2 -:10271000E02DE05CFF4F0190F081E02DB695A7958C -:1027200097958795402F50E060E070E02EE7841782 -:102730009507A607B70711F44EE301C040E2BF01B9 -:102740008C2F96DA1123F9F0409165165091661698 -:1027500060916716709168167695679557954795BD -:10276000802F90E0A0E0B0E0481759076A077B0788 -:1027700051F482DB88E09DEADF91CF911F910F91A8 -:10278000FF90A7CB04E031E0300F01C033E040916F -:102790006516509166166091671670916816769569 -:1027A000679557954795832F90E0A0E0B0E04817D4 -:1027B00059076A077B0788F0832F90E0880F991FDD -:1027C0000197AA2797FDA095BA2F8093651690933D -:1027D0006616A0936716B0936816409165165091DF -:1027E000661660916716709168167695679557958D -:1027F000479580916E1690E00396242F30E0821763 -:1028000093074CF48DEF840F80936E16F0925B0C5F -:10281000DCEFD40FCFEFCF5FDF5FC43008F466CEBC -:10282000DF91CF911F910F91FF90089580E090E08C -:10283000A0E8BFE38093401690934116A093421600 -:10284000B093431617CE8093791391E090935E0C6A -:10285000682F8EEF9FE00F949F0280914416813085 -:1028600019F482E08093441608957F928F929F928C -:10287000AF92BF92CF92DF92EF92FF920F931F938E -:10288000CF93DF938091651690916616A09167169D -:10289000B091681681309048A105B10540F01092C2 -:1028A000651610926616109267161092681680913F -:1028B000651690916616A0916716B0916816B69548 -:1028C000A7959795879540916E1650E060E070E06F -:1028D00084179507A607B70710F480936E16E0904B -:1028E0006E16D0906F16D2FADD24D0F8F12CCC24DD -:1028F000C3948091441681113BC0EE2019F07724D7 -:10290000739437C080915B0C882301F1E0917913B7 -:10291000F0E0EE0FFF1FE45EFD4F0190F081E02D2F -:10292000E450FF4F60817181809165169091661629 -:10293000A0916716B091681623E00297A105B10532 -:1029400010F443E001C040E28F2D92D9DD20B9F2AE -:102950008091651690916616A0916716B0916816E1 -:102960000297A105B10558F687DA83ED9CE951C0BD -:10297000712C80914416823009F05AC07E1057C0E5 -:1029800080915B0C882359F1E0917913F0E0EE0F10 -:10299000FF1FE45EFD4F0190F081E02DE055FF4FF9 -:1029A0000190F081E02D8091651690916616A091BE -:1029B0006716B0916816B695A79597958795472D98 -:1029C00050E060E070E023E084179507A607B707A2 -:1029D00011F443E001C040E2BF018F2D49D9DD2051 -:1029E00031F18091651690916616A0916716B091AD -:1029F0006816B695A79597958795472D50E060E0A6 -:102A000070E084179507A607B70789F435DA88EED2 -:102A100092ECDF91CF911F910F91FF90EF90DF909B -:102A2000CF90BF90AF909F908F907F904DCA73943E -:102A30000CE112E0C0E0D0E08E2C912CA12CB12C46 -:102A40007E104AC080915B0C882319F1D801ED916A -:102A5000FC91E654FE4F60817181809165169091E2 -:102A60006616A0916716B0916816B695A7959795CA -:102A70008795272D30E040E050E082179307A407A8 -:102A8000B50719F420E24EE302C020E240E28F2DA8 -:102A9000EFD8DD2009F18091651690916616A0911E -:102AA0006716B0916816B695A7959795879588157E -:102AB0009905AA05BB0581F4DFD98C2FDF91CF9151 -:102AC0001F910F91FF90EF90DF90CF90BF90AF904C -:102AD0009F908F907F90B7CE739421960E5F1F4F7B -:102AE000C530D10509F0ACCF4091651650916616FE -:102AF000609167167091681676956795579547951A -:102B0000872D90E0A0E0B0E0481759076A077B07DF -:102B100088F0872D90E0880F991F0197AA2797FDCD -:102B2000A095BA2F8093651690936616A0936716AA -:102B3000B0936816409165165091661660916716BD -:102B400070916816769567955795479580916E16A2 -:102B500090E00396242F30E0821793075CF48DEF0A -:102B6000840F80936E16C0925B0CECEFEE2EE40E99 -:102B7000FF24FA94F394E394B3E0BF1508F0B9CEC0 -:102B8000DF91CF911F910F91FF90EF90DF90CF9049 -:102B9000BF90AF909F908F907F9008951092E41611 -:102BA0008CE893E10E94955D10926E1608958CE872 -:102BB00093E10E9474541092DE1683E080935B0CC4 -:102BC00008958CE893E10E947B5481E08093DE16A7 -:102BD00083E080935B0C089520E044E064E180E7AB -:102BE00096E10E943D4B0E949B8D80E796E10C94FC -:102BF000FE4AF2DF20E040E050E0BA0188EE92ECBD -:102C00004DC910920F1110920E1110920D111092C9 -:102C10000C111092461310924513EBCF8091DC16E5 -:102C20009091DD1690930F1180930E118091DA161A -:102C30009091DB1690930D1180930C111092461316 -:102C400010924513D6DF0C9415408091D6169091C2 -:102C5000D71690930F1180930E118091D4169091F6 -:102C6000D51690930D1180930C111092461310926B -:102C70004513BFDF0C94154080916D0C90916E0C44 -:102C800090930F1180930E1180916B0C90916C0CAE -:102C900090930D1180930C111092461310924513CE -:102CA000A8DF0C9415408091690C90916A0C909368 -:102CB0000F1180930E118091670C9091680C909386 -:102CC0000D1180930C11109246131092451391DF51 -:102CD0000C9415408091650C9091660C90930F11A7 -:102CE00080930E118091630C9091640C90930D1160 -:102CF00080930C1110924613109245137ADF0C94B6 -:102D000015408091610C9091620C90930F1180930B -:102D10000E1180915F0C9091600C90930D11809337 -:102D20000C11109246131092451363DF0C9415405A -:102D3000CF92DF92EF92FF920F931F93CF93DF9387 -:102D40008091651690916616A0916716B0916816ED -:102D500081309048A105B10540F01092651610929F -:102D600066161092671610926816809165169091FB -:102D70006616A0916716B0916816B695A7959795B7 -:102D8000879540916E1650E060E070E084179507DB -:102D9000A607B70710F480936E16D0916E161091A7 -:102DA0006F1612FB112710F9C0E0BFE0CB2ED12C1B -:102DB000E12CF12C01E0409165165091661660916E -:102DC000671670916816D11139C080915B0C882309 -:102DD000C9F0E0917913F0E0EE0FFF1FE45EFD4FC4 -:102DE0000190F081E02D8681978123E042305105EA -:102DF0006105710510F443E001C040E2BC018C2F75 -:102E00000E94388E112309F4A4C180916516909117 -:102E10006616A0916716B09168160297A105B105D4 -:102E200008F097C129D88CE79BEBDF91CF911F91D8 -:102E30000F91FF90EF90DF90CF9046C8D130A9F569 -:102E400080915B0C882391F076956795579547950F -:102E500020E2413051056105710511F44EE301C0D6 -:102E600040E266EF72E58C2F0E94388E112309F440 -:102E700070C18091651690916616A0916716B09109 -:102E80006816B695A795979587950197A105B10501 -:102E900009F05FC10E943C8FDF91CF911F910F918C -:102EA000FF90EF90DF90CF90D0CED230A9F58091F7 -:102EB0005B0C882391F0769567955795479520E2AE -:102EC000423051056105710511F44EE301C040E245 -:102ED00067EE72E58C2F0E94388E112309F439C1F8 -:102EE0008091651690916616A0916716B09168164C -:102EF000B695A795979587950297A105B10509F015 -:102F000028C10E943C8FDF91CF911F910F91FF90BC -:102F1000EF90DF90CF9082CED330A9F580915B0CFB -:102F2000882391F0769567955795479520E2433031 -:102F300051056105710511F44EE301C040E268EDF1 -:102F400072E58C2F0E94388E112309F402C1809102 -:102F5000651690916616A0916716B0916816B695A1 -:102F6000A795979587950397A105B10509F0F1C03D -:102F70000E943C8FDF91CF911F910F91FF90EF90B6 -:102F8000DF90CF9090CED430A9F580915B0C882350 -:102F900091F0769567955795479520E24430510515 -:102FA0006105710511F44EE301C040E268EC72E581 -:102FB0008C2F0E94388E112309F4CBC080916516A6 -:102FC00090916616A0916716B0916816B695A79570 -:102FD000979587950497A105B10509F0BAC00E949D -:102FE0003C8FDF91CF911F910F91FF90EF90DF9079 -:102FF000CF9070CED530A9F580915B0C882391F0ED -:10300000769567955795479520E2453051056105BE -:10301000710511F44EE301C040E268EB72E58C2FBC -:103020000E94388E112309F494C080916516909106 -:103030006616A0916716B0916816B695A7959795F4 -:1030400087950597A105B10509F083C00E943C8FC3 -:10305000DF91CF911F910F91FF90EF90DF90CF9074 -:103060000BCED630A9F580915B0C882391F0769534 -:1030700067955795479520E24630510561057105E2 -:1030800011F44EE301C040E269EA72E58C2F0E9420 -:10309000388E112309F45DC08091651690916616F3 -:1030A000A0916716B0916816B695A79597958795E4 -:1030B0000697A105B10509F04CC00E943C8FDF9135 -:1030C000CF911F910F91FF90EF90DF90CF9019CE8D -:1030D000D73009F03EC080915B0C8823E9F0E09185 -:1030E0007913F0E0EE0FFF1FE45EFD4F0190F081D9 -:1030F000E02D86A597A5769567955795479520E28B -:10310000473051056105710511F44EE301C040E2FD -:10311000BC018C2F0E94388E1123D9F08091651646 -:1031200090916616A0916716B0916816B695A7950E -:10313000979587950797A105B10559F40E943C8F93 -:10314000DF91CF911F910F91FF90EF90DF90CF9083 -:1031500058CD8091651690916616A0916716B09132 -:1031600068164097A105B10540F0C0926516D0924F -:103170006616E0926716F0926816409165165091B7 -:1031800066166091671670916816769567955795E3 -:10319000479580916E1690E00396242F30E08217B9 -:1031A00093074CF48DEF840F80936E1600935B0CA5 -:1031B000DCEFD40FCFEFCF5FDF5FC43008F4FBCD7F -:1031C000DF91CF911F910F91FF90EF90DF90CF9003 -:1031D00008952F923F924F925F926F927F928F92BB -:1031E0009F92AF92BF92CF92DF92EF92FF920F9396 -:1031F0001F93CF93DF93CDB7DEB7A2970FB6F894A6 -:10320000DEBF0FBECDBF80915B0C811104C08091E9 -:103210006F1682FFBAC28CE893E10E947C5C4091F9 -:103220006516509166166091671670916816413068 -:1032300050486105710540F01092651610926616AF -:103240001092671610926816409165165091661696 -:1032500060916716709168167695679557954795B2 -:1032600000916E1610E020E030E040175107620731 -:10327000730710F440936E1640906E1630906F16E0 -:1032800032FA332430F8512C9C012150310939A3F2 -:1032900028A3411038C080915B0C8823F9F0E0919D -:1032A0007913F0E0EE0FFF1FE45EFD4F0190F08117 -:1032B000E02D668177818091651690916616A091C8 -:1032C0006716B091681623E00297A105B10510F4C6 -:1032D00043E001C040E2852D0E94388E332099F0F2 -:1032E0008091651690916616A0916716B091681648 -:1032F0000297A105B10538F40E943C8F8CE79BEB47 -:103300000E94648F42C260E973E18AEF93E10E94F8 -:103310004131809190138F3229F031E0431669F0EA -:1033200022E001C021E0A8A0B9A0C42CD12CE12C3E -:10333000F12C22242394240C4BC080915B0C882315 -:10334000C9F08091651690916616A0916716B091AC -:103350006816B695A7959795879520E20197A105E0 -:10336000B10511F44EE301C040E26BE07EE0852D33 -:103370000E94388E3320A1F28091651690916616D6 -:10338000A0916716B0916816B695A7959795879501 -:103390000197A105B10521F60E943C8FFFDBF5C125 -:1033A000241161C140E050E0B5018CE893E10E9436 -:1033B00097589091D21380915B0C992309F49BC08C -:1033C00081110BC0311074C0222DF1E0AF1AB10889 -:1033D0003FEFA316B30621F748C18091651690917F -:1033E0006616A0916716B0916816B695A795979541 -:1033F0008795452D60E08C159D05AE05BF0561F5EF -:1034000080E796E10E940A4B6EE380E796E10E9416 -:1034100056F565E080E796E10E9456F580919D1390 -:10342000882329F01092AF130DE913E102C000E9DF -:1034300013E1B2E19B2EF80161918F01662311F037 -:10344000911062C1992009F4BDCF60E280E796E156 -:103450000E9456F59A94F6CF80E796E10E940A4BB7 -:1034600060E280E796E10E9456F565E080E796E12C -:103470000E9456F580919D13882329F01092AF1376 -:103480000DE913E102C000E913E1A2E19A2EF8016F -:1034900061918F01662311F091103CC1992009F4CC -:1034A00091CF60E280E796E10E9456F59A94F6CFBC -:1034B0008091651690916616A0916716B091681676 -:1034C000B695A795979587958C159D05AE05BF0573 -:1034D00009F07ACF0E943C8F60E973E18CE893E1B8 -:1034E0000E94DF5C109265161092661610926716A5 -:1034F000109268164AC1811103C0311071C064CFA7 -:103500008091651690916616A0916716B091681625 -:10351000B695A795979587958C159D05AE05BF0522 -:10352000B1F52091F8162F8F10E0412F60E080E771 -:1035300096E10E940A4B60E280E796E10E9456F510 -:103540001F5F143091F7452D60E080E796E10E94FF -:103550000A4B6EE380E796E10E9456F56EE9862EEF -:1035600063E1962E7DE9672E73E1772E01E010E08E -:10357000F30121913F012111D3C014E1101B60E23E -:1035800080E796E10E9456F51150C9F7B6CF452D58 -:1035900060E080E796E10E940A4B60E280E796E1F6 -:1035A0000E9456F580919D13882329F01092B01344 -:1035B0000DE913E102C000E913E153E1952EF80192 -:1035C00061918F01662311F09110D9C0992009F4FF -:1035D00094CF60E280E796E10E9456F59A94F6CF88 -:1035E0008091651690916616A0916716B091681645 -:1035F000B695A795979587958C159D05AE05BF0542 -:1036000009F0E2CE0E943C8F80E993E19F938F9373 -:103610008AE093E59F938F938E010F5F1F4F1F9357 -:103620000F930F946E000F900F900F900F900F90CC -:103630000F907E01F5E0EF0EF11CF70180818823E9 -:1036400049F0992787FD90950E94A2FFF701819389 -:103650007F01F3CFC8010E942E6286E093E50E94AD -:10366000AE62C7DA92C02F5FB0CE8091651690919E -:103670006616A0916716B0916816B695A7959795AE -:103680008795422F50E060E070E084179507A60709 -:10369000B70788F0822F90E0880F991F0197AA271B -:1036A00097FDA095BA2F8093651690936616A09308 -:1036B0006716B09368168091651690916616A09172 -:1036C0006716B0916816B695A7959795879520913E -:1036D0006E1630E02D5F3F4F482F50E0241735071E -:1036E00064F42DEF280F20936E1621E020935B0CDD -:1036F0001CEF412E480E55245A945394439483E072 -:10370000851508F0C6CD41C080E796E10E9456F5C8 -:103710009A9491CE80E796E10E9456F59A94B7CE9E -:10372000452D602F80E796E12AA30E940A4B2AA12B -:10373000622F80E796E10E9456F50F5F1F4F04311C -:10374000110509F015CF34010CE211E080916F16DC -:1037500082FD05C08091F8163F8D381749F0015061 -:1037600011090115110591F78FEF881A980AFECEFD -:1037700061E070E080E090E00E941BF0F0CF80E715 -:1037800096E10E9456F59A941ACFA2960FB6F89435 -:10379000DEBF0FBECDBFDF91CF911F910F91FF9084 -:1037A000EF90DF90CF90BF90AF909F908F907F90E1 -:1037B0006F905F904F903F902F900895CF93DF933D -:1037C000CDB7DEB728970FB6F894DEBF0FBECDBFDA -:1037D00088E0E3EDFCE0DE01119601900D928A9500 -:1037E000E1F7AE014F5F5F4F61E080E796E10E9435 -:1037F000A84C28960FB6F894DEBF0FBECDBFDF9160 -:10380000CF910895CF93DF93CDB7DEB728970FB64A -:10381000F894DEBF0FBECDBF88E0EBE9FCE0DE012F -:10382000119601900D928A95E1F7AE014F5F5F4FBF -:1038300061E080E796E10E94A84C28960FB6F894C4 -:10384000DEBF0FBECDBFDF91CF9108958EEF9FE019 -:103850000F948A02853028F48093791310924416CD -:10386000089581E0809379138093441608951F93FF -:10387000CF93DF93EC01FB01608111810F949F02D4 -:10388000612FCE010196DF91CF911F910D949F0280 -:10389000FF920F931F93CF93DF938C01EB010F9453 -:1038A0008A02F82EC80101960F948A02F882898351 -:1038B000DF91CF911F910F91FF9008950895EF929E -:1038C000FF920F931F93CF93DF931F92CDB7DEB775 -:1038D0007B018C01061B170B460FC701800F911F40 -:1038E000F70161917F0149830F949F0249814E1135 -:1038F000F4CF0F90DF91CF911F910F91FF90EF9038 -:10390000089581E09091E316911180E08093E31691 -:1039100041E063EE76E18FEF9FE0D1DF0E94DEDAD7 -:1039200021E047E050E060E070E083ED9CE90C941A -:103930004E8F81E09091E316911180E08093E31621 -:1039400041E063EE76E18FEF9FE0B9DF0E94DEDABF -:1039500021E049E050E060E070E08EEE98EA0C94DF -:103960004E8FEF92FF920F931F93CF93DF931F928F -:10397000CDB7DEB77B018C01061B170B460FC701C5 -:10398000800F911F49830F948A02F70181937F0171 -:1039900049814E13F4CF0F90DF91CF911F910F917A -:1039A000FF90EF9008958F929F92AF92BF92EF9207 -:1039B000FF920F931F93CF93DF9341E063EE76E185 -:1039C0008FEF9FE0CEDF8091651690916616A091F3 -:1039D0006716B091681681309048A105B10540F096 -:1039E000109265161092661610926716109268165D -:1039F0008091651690916616A0916716B091681631 -:103A0000B695A7959795879540916E1650E060E022 -:103A100070E084179507A607B70710F480936E1619 -:103A2000D0916E1610916F1612FB112710F9C0E09D -:103A300001E0D11143C080915B0C8823F9F0E09143 -:103A40007913F0E0EE0FFF1FE45EFD4F0190F0816F -:103A5000E02D668177818091651690916616A09120 -:103A60006716B091681623E00297A105B10510F41E -:103A700043E001C040E28C2F0E94388E112309F4EC -:103A8000A2C08091651690916616A0916716B091BC -:103A900068160297A105B10508F095C00E943C8FF9 -:103AA0008CE79BEBDF91CF911F910F91FF90EF90EF -:103AB000BF90AF909F908F900C94648FD13009F09D -:103AC00042C080915B0C882329F1E0917913F0E0EA -:103AD000EE0FFF1FE45EFD4F0190F081E02DE856F0 -:103AE000FF4F608171818091651690916616A0915B -:103AF0006716B0916816B695A795979587952EE7A6 -:103B00000197A105B10511F44EE301C040E28C2FED -:103B10000E94388E112309F456C080916516909149 -:103B20006616A0916716B0916816B695A7959795F9 -:103B300087950197A105B10509F045C00E943C8F0A -:103B400081EF96EAC1C2D230F1F580915B0C8823F7 -:103B500019F1E0917913F0E0EE0FFF1FE45EFD4FE5 -:103B60000190F081E02D60AD71AD8091651690916E -:103B70006616A0916716B0916816B695A7959795A9 -:103B800087952EE70297A105B10511F44EE301C018 -:103B900040E28C2F0E94388E1123A9F08091651687 -:103BA00090916616A0916716B0916816B695A79584 -:103BB000979587950297A105B10529F40E943C8F3E -:103BC00086E194E981C28091DE16811145C0D3302F -:103BD00019F034E0F32E42C080915B0C882329F168 -:103BE000E0917913F0E0EE0FFF1FE45EFD4F0190CE -:103BF000F081E02DEA50FF4F608171818091651660 -:103C000090916616A0916716B0916816B695A79523 -:103C10009795879520E20397A105B10511F44EE32E -:103C200001C040E28C2F0E94388E112391F28091C6 -:103C3000651690916616A0916716B0916816B695B4 -:103C4000A795979587950397A105B10511F60E9451 -:103C50003C8F88E293E551C063E0F62E8091DE163A -:103C60008111A6C0FD1255C080915B0C882351F1D3 -:103C7000E0917913F0E0EE0FFF1FE45EFD4F01903D -:103C8000F081E02D0284F385E02D809165169091FE -:103C90006616A0916716B0916816B695A795979588 -:103CA00087954F2D50E060E070E020E28417950783 -:103CB000A607B70711F44EE301C040E2BF018C2F05 -:103CC0000E94388E112329F1809165169091661615 -:103CD000A0916716B0916816B695A79597958795A8 -:103CE0004F2D50E060E070E084179507A607B707F6 -:103CF00081F40E943C8F84E293E5DF91CF911F9184 -:103D00000F91FF90EF90BF90AF909F908F900C9489 -:103D1000AE62EE24E394EF0CED1248C080915B0C90 -:103D2000882341F1E0917913F0E0EE0FFF1FE45E8C -:103D3000FD4F0190F081E02D6485758580916516B9 -:103D400090916616A0916716B0916816B695A795E2 -:103D5000979587958D2E912CA12CB12C20E288155A -:103D60009905AA05BB0511F44EE301C040E28C2F72 -:103D70000E94388E1123D1F08091651690916616BD -:103D8000A0916716B0916816B695A79597958795F7 -:103D90004E2D50E060E070E084179507A607B70746 -:103DA00029F40E943C8F80E293E5A7CFF394F3942B -:103DB0008091E316811113C0FD1267C080915B0CE6 -:103DC0008823E9F1E0917913F0E0EE0FFF1FE45E44 -:103DD000FD4F0190F081E02DEA5DFE4F12C0FD1213 -:103DE00054C080915B0C882351F1E0917913F0E08D -:103DF000EE0FFF1FE45EFD4F0190F081E02DEC5DC2 -:103E0000FE4F0190F081E02D80916516909166162D -:103E1000A0916716B0916816B695A7959795879566 -:103E20004F2D50E060E070E020E284179507A60770 -:103E3000B70749F140E2BF018C2F0E94388E112351 -:103E400021F18091651690916616A0916716B09148 -:103E50006816B695A795979587954F2D50E060E029 -:103E600070E084179507A607B70779F40E943C8F86 -:103E7000DF91CF911F910F91FF90EF90BF90AF9086 -:103E80009F908F903ECD4EE3D6CFF39462EF76E1D4 -:103E90008CEF9FE0FDDC64EF76E18AEF9FE0F8DCD9 -:103EA00066EF76E188EF9FE0F3DC6091F6167091A3 -:103EB000F716882777FD8095982F0E9441F720916B -:103EC000071D3091081D4091091D50910A1D0E9447 -:103ED000A6F66093EE167093EF168093F01690930B -:103EE000F1168091DE1681114FC0FD124CC08091F9 -:103EF0005B0C882361F1E0917913F0E0EE0FFF1F76 -:103F0000E45EFD4F0190F081E02DE251FF4F019002 -:103F1000F081E02D8091651690916616A09167164C -:103F2000B0916816B695A795979587954F2D50E057 -:103F300060E070E02EE784179507A607B70711F435 -:103F40004EE301C040E2BF018C2F0E94388E112346 -:103F5000D1F08091651690916616A0916716B09188 -:103F60006816B695A795979587954F2D50E060E018 -:103F700070E084179507A607B70729F40E943C8FC5 -:103F800085E19FEAA1C0F394FD124CC080915B0CC7 -:103F9000882361F1E0917913F0E0EE0FFF1FE45EFA -:103FA000FD4F0190F081E02DE454FE4F0190F0812F -:103FB000E02D8091651690916616A0916716B091DC -:103FC0006816B695A795979587954F2D50E060E0B8 -:103FD00070E02EE784179507A607B70711F44EE3A4 -:103FE00001C040E2BF018C2F0E94388E1123D1F016 -:103FF0008091651690916616A0916716B09168162B -:10400000B695A795979587954F2D50E060E070E0A5 -:1040100084179507A607B70729F40E943C8F85E30C -:1040200094E952C0EE24E394EF0C8091DE168111E6 -:104030005AC0ED1255C080915B0C882351F1E0917C -:104040007913F0E0EE0FFF1FE45EFD4F0190F08169 -:10405000E02DEE50FE4F6081718180916516909148 -:104060006616A0916716B0916816B695A7959795B4 -:1040700087958D2E912CA12CB12C2EE788159905B2 -:10408000AA05BB0511F44EE301C040E28C2F0E944B -:10409000388E112329F14091651650916616609172 -:1040A00067167091681676956795579547958E2D8A -:1040B00090E0A0E0B0E0481759076A077B0781F459 -:1040C0000E943C8F83E197EBDF91CF911F910F917D -:1040D000FF90EF90BF90AF909F908F900C94698F5E -:1040E00082E0E82EEF0C40916516509166166091C3 -:1040F00067167091681676956795579547958E2D3A -:1041000090E0A0E0B0E0481759076A077B0788F005 -:104110008E2D90E0880F991F0197AA2797FDA095F3 -:10412000BA2F8093651690936616A0936716B09386 -:1041300068164091651650916616609167167091E9 -:104140006816769567955795479580916E1690E01D -:104150000396242F30E0821793074CF48DEF840FE1 -:1041600080936E1600935B0CDCEFD40FCFEFCF5F24 -:10417000DF5FC43008F45DCCDF91CF911F910F91C8 -:10418000FF90EF90BF90AF909F908F9008956FEF4A -:104190008EEF9FE00D949F0280935E1610925D1645 -:1041A0000895ECEBF6E101900020E9F73197EC5B24 -:1041B000F6411E161F0634F01092D01682E080934E -:1041C0005B0C089580E2E431F105B4F7DF01A454FB -:1041D000B94E8C933196F7CF2091D116211108C09A -:1041E00044E150E0BC018CEB96E10F945F00D9CF25 -:1041F00008952091D116211108C044E150E0BC017E -:104200008CEB96E10E94D2FFCCCF08958091E1160D -:104210009091E216019709F050C08091DF169091BD -:10422000E016892B49F485E090E09093E0168093A6 -:10423000DF1681E0809370138091DF169091E01675 -:10424000019739F49091CB178091CA17981709F408 -:10425000A4C08091DF169091E016029739F49091F6 -:10426000CB178091CA17981709F4B6C08091DF1652 -:104270009091E016039739F49091CB178091CA176B -:10428000981709F4C3C08091DF169091E016049747 -:1042900039F49091CB178091CA17981709F4C1C0CF -:1042A0008091DF169091E016059739F49091CB1725 -:1042B0008091CA17981709F4CEC08091E1169091A9 -:1042C000E216029709F05DC08091DF169091E0162A -:1042D000892B49F486E090E09093E0168093DF16F6 -:1042E00081E0809370138091DF169091E016019722 -:1042F00039F49091CB178091CA17981709F4CBC065 -:104300008091DF169091E016029739F49091CB17C7 -:104310008091CA17981709F4D6C08091DF16909142 -:10432000E016039739F49091CB178091CA1798172C -:1043300009F4F1C08091DF169091E016049739F4EA -:104340009091CB178091CA17981709F4EFC080910C -:10435000DF169091E016059739F49091CB17809174 -:10436000CA17981709F4F5C08091DF169091E016EE -:10437000069739F49091CB178091CA17981709F4D2 -:1043800006C18091E1169091E216039709F02AC1C7 -:104390001092E2161092E11608951092E016109213 -:1043A000DF161092E2161092E116E0917913F0E018 -:1043B000EE0FFF1FE45EFD4F0190F081E02D808144 -:1043C000918117DF159A10924E131092701310926C -:1043D0006F1310926E133DCFE0917913F0E0EE0F62 -:1043E000FF1FE45EFD4F0190F081E02DEA5EFE4F7D -:1043F00080819181FEDE8DE692E50E94AE6281E0D1 -:1044000090E09093E0168093DF1630CF81E692E53E -:104410000E94AE6282E090E09093E0168093DF16F7 -:1044200032CFE0917913F0E0EE0FFF1FE45EFD4F15 -:104430000190F081E02DE05EFE4F80819181D9DE18 -:104440008DE592E50E94AE6283E090E09093E016E5 -:104450008093DF1625CFE0917913F0E0EE0FFF1F78 -:10446000E45EFD4F0190F081E02DE85EFE4F80811B -:104470009181BFDE159881E08093701382E090E017 -:1044800090936F1380936E1384E090E09093E01606 -:104490008093DF1612CF1092E0161092DF16109262 -:1044A000E2161092E116E0917913F0E0EE0FFF1F93 -:1044B000E45EFD4F0190F081E02D8081918199DED5 -:1044C000109270131DCF10920D1110920C111092BA -:1044D0000F1110920E1110921111109210111092D2 -:1044E0001311109212110E94C745E0917913F0E068 -:1044F000EE0FFF1FE45EFD4F0190F081E02D808103 -:10450000918177DE1092361381E090E09093E0166F -:104510008093DF1602CF89E592E50E94AE6282E0C9 -:1045200090E09093E0168093DF1604CF85E592E546 -:104530000E94AE6280E492E50E94AE6210925E1626 -:1045400010925D1683E090E09093E0168093DF1662 -:10455000FECEE0917913F0E0EE0FFF1FE45EFD4F19 -:104560000190F081E02DEA53FF4F8081918141DE7F -:104570008CE392E50E94AE628FE292E50E94AE6209 -:1045800084E090E09093E0168093DF16EDCEE0910A -:104590007913F0E0EE0FFF1FE45EFD4F0190F08114 -:1045A000E02DEA53FF4F8081918123DE81E08093EB -:1045B000361310920D1110920C1110920F111092CF -:1045C0000E111092111110921011109213111092DD -:1045D00012110E94C74585E090E09093E016809309 -:1045E000DF16CFCE089505DE81E08093D1160C94BE -:1045F000F9951092D1160895CF92DF92EF92FF9223 -:10460000CF93CCB1C095CC1FCC27CC1F8091030198 -:1046100083FFC260C0906A16D0906B16E0906C1653 -:10462000F0906D160E94ECEFC616D706E806F90664 -:1046300010F4489B39C0C0936F1680916F1681703B -:1046400090916F1691FD826090916916891721F102 -:104650008130F1F028F0823089F08330A1F01CC065 -:10466000913021F49091F8169F5F05C09230A1F42B -:104670009091F81691509093F8160EC0992391F3EB -:10468000933051F4F5CF923069F3913029F4F0CFA3 -:10469000933041F3992361F380936916CF91FF9092 -:1046A000EF90DF90CF900895C460C5CF0E94EC9545 -:1046B0006F98E4E0F1E08081877F8083779A9FB7ED -:1046C000F894E5E0F1E08081886080839FBF509896 -:1046D000589A60E088E40E940CEF9FB7F894E5E0F8 -:1046E000F1E08081846080839FBF8091030182FB21 -:1046F000882780F991E08927809364167DDF1092E6 -:10470000F8160895CF92DF92EF92FF9275DF8091B5 -:10471000030191E082FB882780F9892720916416A4 -:10472000821719F182E080935B0C8091030182FB78 -:10473000882780F98927809364160E94EC958091E0 -:104740006416882309F4A8C08CE893E10E94715391 -:10475000E0917913F0E0EE0FFF1FE45EFD4F019052 -:10476000F081E02D8281938144DDC0906016D0906D -:104770006116E0906216F09063160E94ECEFC61688 -:10478000D706E806F90608F09EC08091F816482F73 -:10479000552747FD509557FF03C051954195510945 -:1047A0004230510584F191E090935B0C87FD8F5F5F -:1047B000482F4595552747FD5095652F752F8091BA -:1047C000651690916616A0916716B0916816840FD1 -:1047D000951FA61FB71F8093651690936616A0932A -:1047E0006716B09368161092F8160E94ECEF6856A0 -:1047F000754C8F4F9F4F609334167093351680938E -:1048000036169093371680916F1682FF0EC00E9465 -:10481000ECEF6856754C8F4F9F4F60933416709332 -:1048200035168093361690933716E0915C0CF09114 -:104830005D0C1995C0903416D0903516E090361660 -:10484000F09037160E94ECEFC616D706E806F90678 -:1048500038F480915C0C90915D0C885E924C69F507 -:1048600080915B0C823011F40E94278F80915B0C49 -:10487000882319F0815080935B0C0E94ECEF6C59F7 -:104880007F4F8F4F9F4F6093601670936116809398 -:1048900062169093631617C08CE893E10E947054DF -:1048A000E0917913F0E0EE0FFF1FE45EFD4F019001 -:1048B000F081E02D8481958157CF0E94F99582E0A7 -:1048C00080935B0CCDCFFF90EF90DF90CF90089559 -:1048D00081E0089580916F1682FB882780F9089502 -:1048E000FC01808190E02AE030E0B9010E946AFA80 -:1048F000482FCB01B9010E946AFA805D8093381677 -:10490000405D4093391610923A1688E396E1089577 -:1049100020E030E040E251E4FC016081718182815D -:1049200093810E9474F90E940EF777FD02C02BE27A -:1049300001C02DE2209338169B0177FF04C0222787 -:104940003327261B370BC90168EE73E00E946AFA11 -:10495000CB01EAE0F0E0BF010E946AFA805D80933B -:104960003916C90164E670E00E946AFACB01BF0102 -:104970000E946AFA805D80933A16C901BF010E94C5 -:104980006AFA282FCB01BF010E946AFA805D8093EA -:104990003B168EE280933C16205D20933D161092CC -:1049A0003E1688E396E108958F929F92AF92BF9250 -:1049B000CF92DF92EF92FF92CF93FC01C080D18023 -:1049C000E280F38020E030E0A901C701B6010E9437 -:1049D000A2F818161CF4C701B60103C0C701B6013E -:1049E00090580E940EF76B017C016031F7E27F075F -:1049F0008105910584F020E137E240E050E00E941B -:104A00009FFACA01B9012AE030E040E050E00E947C -:104A10009FFA605D01C060E26093381688EEC816A8 -:104A200083E0D806E104F10494F0C701B60128EE52 -:104A300033E040E050E00E949FFACA01B9012AE049 -:104A400030E040E050E00E949FFA605D01C060E20B -:104A500060933916E4E6CE16D104E104F10494F033 -:104A6000C701B60124E630E040E050E00E949FFA22 -:104A7000CA01B9012AE030E040E050E00E949FFA0C -:104A8000605D01C060E360933A168EE280933B164E -:104A90007AE0872E912CA12CB12CC701B601A5017B -:104AA00094010E949FFAC62FCA01B901A501940181 -:104AB0000E949FFA605D60933C16C05DC0933D16F6 -:104AC00088E396E1CF91FF90EF90DF90CF90BF9079 -:104AD000AF909F908F9008958F929F92AF92BF92C8 -:104AE000CF92DF92EF92FF92CF9320E030E04AE73F -:104AF00054E4FC0160817181828193810E9474F988 -:104B00000E940EF797FD02C020E201C02DE2209323 -:104B100038166B017C0197FF08C0F094E094D094A4 -:104B2000C094C11CD11CE11CF11CC701B60128EEC8 -:104B300033E040E050E00E949FFAAAE08A2E912CD8 -:104B4000A12CB12CCA01B901A50194010E949FFAC0 -:104B5000605D609339168EE280933A16C701B60104 -:104B600024E630E040E050E00E949FFACA01B9011B -:104B7000A50194010E949FFA605D60933B16C701F6 -:104B8000B601A50194010E949FFAC62FCA01B9017E -:104B9000A50194010E949FFA605D60933C16C05D80 -:104BA000C0933D1610923E1688E396E1CF91FF9098 -:104BB000EF90DF90CF90BF90AF909F908F9008952F -:104BC0008F929F92AF92BF92CF92DF92EF92FF921D -:104BD000FC0180809180A280B38020E030E048EC2E -:104BE00052E4C501B4010E9474F96B017C0120E01C -:104BF00030E0A9010E94A2F818161CF4C701B60102 -:104C000003C0C701B60190580E940EF76B017C01EA -:104C100020E030E0A901C501B4010E949FF687FFA2 -:104C200012C08DE280933816C701B60128EE33E03A -:104C300040E050E00E949FFACA01B9012AE030E04A -:104C400040E050E036C0C701B60120E137E240E065 -:104C500050E00E949FFA8AE0882E912CA12CB12C62 -:104C6000CA01B901A50194010E949FFA662391F03F -:104C7000605D60933816C701B60128EE33E040E06E -:104C800050E00E949FFACA01B901A50194010E9457 -:104C90009FFA13C080E280933816C701B60128EE50 -:104CA00033E040E050E00E949FFACA01B901A5013B -:104CB00094010E949FFA662311F0605D01C060E2DA -:104CC00060933916C701B60124E630E040E050E0B9 -:104CD0000E949FFABAE08B2E912CA12CB12CCA0114 -:104CE000B901A50194010E949FFA605D60933A1694 -:104CF000C701B601A50194010E949FFA662381F0C5 -:104D0000605D60933D16CA01B901A50194010E943E -:104D10009FFA605D60933C168EE280933B1615C04F -:104D2000CA01B901A50194010E949FFA662329F0E6 -:104D3000605D60933C168EE203C080E280933C1677 -:104D400080933B1680E280933D1610923E1688E3D6 -:104D500096E1FF90EF90DF90CF90BF90AF909F9043 -:104D60008F900895FC012081318137FF07C08DE2CB -:104D70008093381631952195310914C024363105B8 -:104D800074F0C90164E670E00E946AFACB016AE03F -:104D900070E00E946AFA805D8093381606C080E257 -:104DA000809338162A30310564F0EAE0F0E0C9015A -:104DB000BF010E946AFACB01BF010E946AFA805DBE -:104DC00001C080E280933916C9016AE070E00E9458 -:104DD0006AFA805D80933A1610923B1688E396E15A -:104DE0000895AF92BF92CF92DF92EF92FF920F930E -:104DF0001F93CF93DF9360911402709115028091FD -:104E00001602909117020E94494A609349167093C6 -:104E10004A1680934B1690934C1660911002709135 -:104E2000110280911202909113020E94554A6093E0 -:104E300045167093461680934716909348168091B6 -:104E4000651690916616A0916716B091681681302C -:104E50009048A105B10540F01092651610926616B3 -:104E600010926716109268168091651690916616DA -:104E7000A0916716B0916816B695A79597958795F6 -:104E800040916E1650E060E070E084179507A60729 -:104E9000B70710F480936E1600916E16B0906F16DF -:104EA000B2FABB24B0F810E0E7E0CE2ED12CE12C12 -:104EB000F12CAA24A3948091651690916616A09176 -:104EC0006716B091681601113DC020915B0C22233A -:104ED000C9F0E0917913F0E0EE0FFF1FE45EFD4FA3 -:104EE0000190F081E02DE450FF4F6081718123E05B -:104EF0000297A105B10510F443E001C040E2812F03 -:104F00000E94388EBB2009F427C1809165169091CC -:104F10006616A0916716B09168160297A105B105B3 -:104F200008F01AC10E943C8F83ED9CE9DF91CF917C -:104F30001F910F91FF90EF90DF90CF90BF90AF90B7 -:104F40000C94648F013009F052C020915B0C222335 -:104F500029F1E0917913F0E0EE0FFF1FE45EFD4FC1 -:104F60000190F081E02DE25BFF4FC081D181B695C9 -:104F7000A795979587950197A105B10531F48EE026 -:104F800091E1F0DE9C014EE305C08EE091E1EADEA6 -:104F90009C0140E2BE01812F0E94E58EBB2009F4F6 -:104FA000DBC08091651690916616A0916716B0914E -:104FB0006816B695A795979587950197A105B105B0 -:104FC00009F0CAC00E943C8FE0917913F0E0EE0F27 -:104FD000FF1FE45EFD4F0190F081E02DE25BFF4F8B -:104FE00021E331E040E050E06EE071E1A7C0023023 -:104FF00009F052C020915B0C222329F1E091791332 -:10500000F0E0EE0FFF1FE45EFD4F0190F081E02D18 -:10501000EC5AFF4FC081D181B695A795979587959A -:105020000297A105B10531F48CE091E19BDE9C0172 -:105030004EE305C08CE091E195DE9C0140E2BE01AB -:10504000812F0E94E58EBB2009F486C080916516F1 -:1050500090916616A0916716B0916816B695A795BF -:10506000979587950297A105B10509F075C00E9433 -:105070003C8FE0917913F0E0EE0FFF1FE45EFD4FEF -:105080000190F081E02DEC5AFF4F23E930E040E041 -:1050900050E06CE071E152C0033009F05DC0209136 -:1050A0005B0C222329F1E0917913F0E0EE0FFF1F52 -:1050B000E45EFD4F0190F081E02DEA5AFF4FC08180 -:1050C000D181B695A795979587950397A105B105C9 -:1050D00031F485E493E146DE9C014EE305C085E4AE -:1050E00093E140DE9C0140E2BE01812F0E94E58EEB -:1050F000BB2091F18091651690916616A09167167C -:10510000B0916816B695A795979587950397A105D1 -:10511000B10511F50E943C8FE0917913F0E0EE0F9C -:10512000FF1FE45EFD4F0190F081E02DEA5AFF4F32 -:105130002FEF30E040E050E065E473E18081918141 -:10514000DF91CF911F910F91FF90EF90DF90CF9063 -:10515000BF90AF900C94498D809165169091661622 -:10516000A0916716B09168160897A105B10540F0A7 -:10517000C0926516D0926616E0926716F092681695 -:105180004091651650916616609167167091681689 -:10519000769567955795479580916E1690E00396A2 -:1051A000242F30E0821793074CF48DEF840F809307 -:1051B0006E16A0925B0C0CEF040F1FEF1F5F0F5FCA -:1051C000143008F478CEDF91CF911F910F91FF90AA -:1051D000EF90DF90CF90BF90AF900895AF92BF92C5 -:1051E000CF92DF92EF92FF920F931F93CF93DF93B3 -:1051F00041E063EE76E18FEF9FE00E94B19C8091E9 -:10520000651690916616A0916716B0916816813068 -:105210009048A105B10540F01092651610926616EF -:105220001092671610926816809165169091661616 -:10523000A0916716B0916816B695A7959795879532 -:1052400040916E1650E060E070E084179507A60765 -:10525000B70710F480936E1600916E16B0906F161B -:10526000B2FABB24B0F810E04FE0C42ED12CE12CF0 -:10527000F12CAA24A3948091651690916616A091B2 -:105280006716B091681601113BC020915B0C222378 -:10529000B9F0E0917913F0E0EE0FFF1FE45EFD4FEF -:1052A0000190F081E02D6681778123E00297A105CE -:1052B000B10510F443E001C040E2812F0E94388E16 -:1052C000BB2009F419C28091651690916616A091D1 -:1052D0006716B09168160297A105B10508F00CC2D7 -:1052E0000E943C8F8CE79BEBDF91CF911F910F9138 -:1052F000FF90EF90DF90CF90BF90AF900C94648FB1 -:10530000013009F052C020915B0C222329F1E09179 -:105310007913F0E0EE0FFF1FE45EFD4F0190F08186 -:10532000E02DE45BFF4FC081D181B695A79597959D -:1053300087950197A105B10531F489E49CE012DD60 -:105340009C014EE305C089E49CE00CDD9C0140E239 -:10535000BE01812F0E94E58EBB2009F4CDC1809152 -:10536000651690916616A0916716B0916816B6956D -:10537000A795979587950197A105B10509F0BCC13F -:105380000E943C8FE0917913F0E0EE0FFF1FE45E86 -:10539000FD4F0190F081E02DE45BFF4F27EE33E0FD -:1053A0004AE050E069E47CE054C0023009F05FC09C -:1053B00020915B0C222329F1E0917913F0E0EE0FAC -:1053C000FF1FE45EFD4F0190F081E02DE25BFF4F97 -:1053D000C081D181B695A795979587950297A1052C -:1053E000B10531F48EE091E1BDDC9C014EE305C0D6 -:1053F0008EE091E1B7DC9C0140E2BE01812F0E946A -:10540000E58EBB2009F478C18091651690916616EF -:10541000A0916716B0916816B695A7959795879550 -:105420000297A105B10509F067C10E943C8FE09188 -:105430007913F0E0EE0FFF1FE45EFD4F0190F08165 -:10544000E02DE25BFF4F21E331E040E050E06EE011 -:1054500071E180819181DF91CF911F910F91FF9038 -:10546000EF90DF90CF90BF90AF900C94498D0330B8 -:1054700009F052C020915B0C222329F1E0917913AD -:10548000F0E0EE0FFF1FE45EFD4F0190F081E02D94 -:10549000EC5AFF4FC081D181B695A7959795879516 -:1054A0000397A105B10531F48CE091E15BDC9C012F -:1054B0004EE305C08CE091E155DC9C0140E2BE0169 -:1054C000812F0E94E58EBB2009F416C180916516DC -:1054D00090916616A0916716B0916816B695A7953B -:1054E000979587950397A105B10509F005C10E941D -:1054F0003C8FE0917913F0E0EE0FFF1FE45EFD4F6B -:105500000190F081E02DEC5AFF4F2CE830E040E0B4 -:1055100050E06CE071E19DCF043009F052C0209161 -:105520005B0C222329F1E0917913F0E0EE0FFF1FCD -:10553000E45EFD4F0190F081E02DEA5AFF4FC081FB -:10554000D181B695A795979587950497A105B10543 -:1055500031F485E493E106DC9C014EE305C085E46B -:1055600093E100DC9C0140E2BE01812F0E94E58EA8 -:10557000BB2009F4C1C08091651690916616A09178 -:105580006716B0916816B695A79597958795049775 -:10559000A105B10509F0B0C00E943C8FE0917913DC -:1055A000F0E0EE0FFF1FE45EFD4F0190F081E02D73 -:1055B000EA5AFF4F2FEF30E040E050E065E473E13E -:1055C00048CF053009F052C020915B0C222329F10D -:1055D000E0917913F0E0EE0FFF1FE45EFD4F0190C4 -:1055E000F081E02DE85AFF4FC081D181B695A79593 -:1055F000979587950597A105B10531F487E49CE05F -:10560000B1DB9C014EE305C087E49CE0ABDB9C0171 -:1056100040E2BE01812F0E94E58EBB2009F46CC0E0 -:105620008091651690916616A0916716B0916816E4 -:10563000B695A795979587950597A105B10509F0AA -:105640005BC00E943C8FE0917913F0E0EE0FFF1FEA -:10565000E45EFD4F0190F081E02DE85AFF4F27EE08 -:1056600033E04AE050E067E47CE0F3CE063009F036 -:1056700043C020915B0C2223E9F0E0917913F0E024 -:10568000EE0FFF1FE45EFD4F0190F081E02DE2522E -:10569000FF4F60817181B695A7959795879520E218 -:1056A0000697A105B10511F44EE301C040E2812F38 -:1056B0000E94388EBB2001F180916516909166168C -:1056C000A0916716B0916816B695A795979587959E -:1056D0000697A105B10581F40E943C8F84EA92E50A -:1056E000DF91CF911F910F91FF90EF90DF90CF90BE -:1056F000BF90AF900C94AE622091E3168091651636 -:1057000090916616A0916716B0916816211114C089 -:10571000073009F055C020915B0C222379F1E0910C -:105720007913F0E0EE0FFF1FE45EFD4F0190F08172 -:10573000E02DEA5DFE4F13C0073009F041C0209113 -:105740005B0C2223D9F0E0917913F0E0EE0FFF1FFC -:10575000E45EFD4F0190F081E02DEC5DFE4F608135 -:105760007181B695A7959795879520E20797A10532 -:10577000B10521F140E2812F0E94388EBB2001F15A -:105780008091651690916616A0916716B091681683 -:10579000B695A795979587950797A105B10581F4CB -:1057A0000E943C8FDF91CF911F910F91FF90EF905E -:1057B000DF90CF90BF90AF900C94999C4EE3DBCFDD -:1057C0008091651690916616A0916716B091681643 -:1057D0004097A105B10540F0C0926516D0926616BB -:1057E000E0926716F09268168091651690916616A1 -:1057F000A0916716B0916816B695A795979587956D -:1058000020916E1630E02D5F3F4F482F50E0241757 -:1058100035074CF42DEF280F20936E16A0925B0CE9 -:105820000CEF080F1FEF1F5F0F5F143008F423CD3C -:10583000DF91CF911F910F91FF90EF90DF90CF906C -:10584000BF90AF900895FC018081918184369105CD -:1058500024F164E670E00E946AFACB012AE030E0AD -:10586000B9010E946AFA805D809338168081918127 -:10587000B9010E946AFACB01B9010E946AFA805DFF -:105880008093391680819181B9010E946AFA805D06 -:1058900080933A1610923B1623C08A309105BCF0D3 -:1058A0002AE030E0B9010E946AFACB01B9010E94F6 -:1058B0006AFA805D8093381680819181B9010E94D7 -:1058C0006AFA805D8093391610923A1609C06AE030 -:1058D00070E00E946AFA805D809338161092391643 -:1058E00088E396E10895FC0180819181883E23E060 -:1058F00092075CF068EE73E00E946AFACB016AE0FE -:1059000070E00E946AFA805D01C080E280933816E0 -:1059100080819181843691055CF064E670E00E949C -:105920006AFACB016AE070E00E946AFA805D01C009 -:1059300080E280933916808191818A3091055CF0F4 -:105940002AE030E0B9010E946AFACB01B9010E9455 -:105950006AFA805D01C080E280933A16808191816D -:105960006AE070E00E946AFA805D80933B161092B4 -:105970003C1688E396E10895CF92EF920F93FFE1F2 -:10598000CF2EA0E2EA2E0FE02EE045E066E280E7AF -:1059900096E10E94F54B0F91EF90CF900895CF9331 -:1059A000DF93FC016491EC012196662331F080E7DE -:1059B00096E10E94E24CCE01F4CFDF91CF910895A1 -:1059C0000F931F93CF93DF938C01EB0141E061E0D4 -:1059D00080E796E10E940A4BC801E1DF6AE380E7B5 -:1059E00096E10E9456F5FE0101900020E9F76C2F28 -:1059F0006E1B6C5E41E080E796E10E940A4BBE019F -:105A000080E796E1DF91CF911F910F910C9455F5AE -:105A1000CF92DF92EF92FF920F931F9380916516C2 -:105A200090916616A0916716B09168160097A1052F -:105A3000B10509F442C0BC01882777FD8095982FF5 -:105A40000E9441F720914016309141164091421634 -:105A5000509143160E9474F99B01AC016091671349 -:105A6000709168138091691390916A130E94C6F532 -:105A700060936713709368138093691390936A130C -:105A8000109265161092661610926716109268169C -:105A9000B7E4CB2EB3E1DB2EE12CF12C00E81FE3C1 -:105AA00027E633E143E653E16FE573E18BE593E1EC -:105AB0000E9417E181E080935B0C80915B0C88234E -:105AC00041F087E693E10E9488A4BC0187E193E559 -:105AD00077DF80916F1682FF0EC021E040E050E03A -:105AE000BA018AE392E91F910F91FF90EF90DF9046 -:105AF000CF900C944E8F1F910F91FF90EF90DF90FD -:105B0000CF900895CF93DF931F921F92CDB7DEB74A -:105B10008091651690916616A0916716B0916816EF -:105B2000B7FF08C01092651610926616109267169D -:105B30001092681680914D1690914E16A0914F16B6 -:105B4000B091501640916516509166166091671697 -:105B50007091681684179507A607B70744F48093D9 -:105B6000651690936616A0936716B0936816809199 -:105B70005B0C8823A9F080915116909152162091C8 -:105B8000651630916616820F931F9A838983CE0122 -:105B90000196E8D8BC01809157169091581610DFF5 -:105BA00080916F1682FF1DC0E0915516F091561638 -:105BB000809151169091521620916516309166167B -:105BC000820F931F918380834091591650915A16EA -:105BD00060E070E021E080915B1690915C160E947D -:105BE0004E8F0F900F90DF91CF9108954F925F925B -:105BF0006F927F928F929F92AF92BF92CF92DF92DD -:105C0000EF92FF920F931F93CF93DF934C015B01B1 -:105C10007A018091651690916616A0916716B091F1 -:105C20006816892B8A2B8B2B09F47BC00E9449654F -:105C3000E501CC0FDD1FCC0FDD1F8E01055A1C4E78 -:105C40006091651670916616882777FD8095982F6C -:105C50000E9441F720914016309141164091421622 -:105C6000509143160E9474F9F801208131814281DC -:105C700053810E94C6F52B013C0120E030E0A901D0 -:105C80000E949FF6F80187FD05C040825182628222 -:105C9000738204C01082118212821382B701882796 -:105CA00077FD8095982F0E9441F76B017C018E0152 -:105CB000055A1C4E9B01AC01F80160817181828103 -:105CC00093810E94A2F818162CF4F801C082D182A8 -:105CD000E282F38210926516109266161092671691 -:105CE00010926816C158D14F20E030E040E752E4EE -:105CF000688179818A819B810E94A6F637E4C32E50 -:105D000033E1D32E7B018C0127E633E143E653E1F7 -:105D10006FE573E18BE593E10E9417E181E08093E9 -:105D20005B0C80915B0C882361F0C501880F991F83 -:105D3000880F991F855A9C4E0E9488A4BC01C401FB -:105D40003FDE80916F1682FF18C021E040E050E0F6 -:105D5000BA018AE392E9DF91CF911F910F91FF90F1 -:105D6000EF90DF90CF90BF90AF909F908F907F90FB -:105D70006F905F904F900C944E8FDF91CF911F9159 -:105D80000F91FF90EF90DF90CF90BF90AF909F90DA -:105D90008F907F906F905F904F90089546ED50E008 -:105DA00060E070E081E193E521CF46EC50E061E0F6 -:105DB00070E083E193E51ACF49EC50E062E070E0D7 -:105DC00085E193E513CF0F931F93CF93DF938C015E -:105DD000EB0141E060E080E796E10E940A4BC801D8 -:105DE000DEDD6AE380E796E10E9456F5FE01019050 -:105DF0000020E9F7BE016E1B7F0B6B5E7F4F76952F -:105E0000679543E080E796E10E940A4BBE0180E778 -:105E100096E10E9455F561E17EE080E796E1DF9131 -:105E2000CF911F910F910C9455F5CF93DF93E09193 -:105E30007913F0E0EE0FFF1FE45EFD4F0190F0815B -:105E4000E02DEA54FE4FC081D1818091651690917A -:105E50006616A0916716B09168160097A105B10566 -:105E6000F1F12091FD103091FE10280F391F309371 -:105E7000FE102093FD102091F6163091F716280F92 -:105E8000391F3093F7162093F616B901882777FD4E -:105E90008095982F0E9441F72091071D3091081D91 -:105EA0004091091D50910A1D0E94A6F66093EE16BE -:105EB0007093EF168093F0169093F11662E370E002 -:105EC00080E090E00E941BF010926516109266161A -:105ED000109267161092681681E080935B0C809197 -:105EE0005B0C882339F08EEE96E10E946CA5BC0114 -:105EF000CE0169DF80916F1682FF08C021E040E08B -:105F000050E0BA018CE79BEB0E944E8F62EF76E186 -:105F10008CEF9FE00E94379C64EF76E18AEF9FE070 -:105F20000E94379C66EF76E188EF9FE0DF91CF918A -:105F30000C94379C4F925F926F927F928F929F92B8 -:105F4000AF92BF92CF92DF92EF92FF920F931F9387 -:105F5000CF93DF93CDB7DEB72C970FB6F894DEBFA3 -:105F60000FBECDBF80918E13882309F4F8C0C09076 -:105F70007513D0907613E0907713F0907813C701E3 -:105F8000B60120EA36E841E050E00E947DFA298718 -:105F90003A874B875C873E832D830E94ECEF00910C -:105FA000691110916A1120916B1130916C11601B75 -:105FB000710B820B930B28EE33E040E050E00E941F -:105FC0007DFA29013A01C90160E17EE00E946AFA86 -:105FD0008B0124EC2603C001279F900D1124840D12 -:105FE000951D6CE370E00E946AFA4B012603500194 -:105FF000279FB00C112420EF31EF029FC001039FB7 -:10600000900D129F900D1124A80EB91EA40CB51C62 -:1060100040E060E080E796E10E940A4BE09179134E -:10602000F0E0EE0FFF1FE45EFD4F0190F081E02DE8 -:10603000E252FE4F80819181B2DC41E066E080E770 -:1060400096E10E940A4BCE0105960E94B2A6BC01C1 -:1060500080E796E10E9455F565E17EE080E796E1F4 -:106060000E9455F5A985BA8520E639E74EEF5FEF26 -:106070000E94D1FA6C0D7D1D8E1D9F1D2AE030E01F -:1060800040E050E00E947DFAB901882777FD8095B5 -:10609000982F0E9441F769837A838B839C83CE017A -:1060A00001960E94D4A4BC0180E796E10E9455F5B8 -:1060B00068E17EE080E796E10E9455F542E060E00D -:1060C00080E796E10E940A4BE0917913F0E0EE0F31 -:1060D000FF1FE45EFD4F0190F081E02DE052FE4F86 -:1060E000808191815CDC43E068E080E796E10E947A -:1060F0000A4B0983CE0101960E9470A4BC0180E77F -:1061000096E10E9455F56BE17EE080E796E10E9402 -:1061100055F58982CE0101960E9470A4BC0180E7EA -:1061200096E10E9455F565E17EE080E796E10E94E8 -:1061300055F5A982CE0101960E9470A4BC0180E7AA -:1061400096E10E9455F56EE17EE080E796E10E94BF -:1061500055F50E946AA4882309F478C173C181EFC0 -:106160009FE00F9492026B017C018DEE9FE00F94F3 -:1061700092024B015C01C701B6010E943FF769839F -:106180007A838B839C8320EAC21626E8D20621E01C -:10619000E206F10450F0C701B60120EA36E841E01A -:1061A00050E00E947DFAD90102C0A0E0B0E0B887BB -:1061B000AF831A161B0684F420E639E74EEF5FEF33 -:1061C0000E94D1FA6C0D7D1D8E1D9F1D0E943FF710 -:1061D00069837A838B839C83C501B40120EA35E00F -:1061E00040E050E00E947DFAE22E022F10E020EA0B -:1061F00035E0029FC001039F900D129F900D112466 -:10620000AA2797FDA095BA2FA5019401281B390B49 -:106210004A0B5B0BCA01B9012CE330E040E050E0CF -:106220000E947DFAF22E30E6E39E800C11244CE3AE -:10623000F49E801811240E94278F40E060E080E7E0 -:1062400096E10E940A4BE0917913F0E0EE0FFF1FF8 -:10625000E45EFD4F0190F081E02DE652FE4F80811B -:1062600091819DDBCE0101960E94D4A4FC01019096 -:106270000020E9F7682F6E1B6E5E41E080E796E133 -:106280000E940A4BCE0101960E94D4A4BC0180E773 -:1062900096E10E9455F58F8198851816190674F5B8 -:1062A000CE0101960E94D4A4FC0101900020E9F7E0 -:1062B000682F6E1B615F41E080E796E10E940A4B08 -:1062C00060E27EE080E796E10E9455F5CE010196FE -:1062D0000E94D4A4FC0101900020E9F7682F6E1BF6 -:1062E000665F41E080E796E10E940A4BCE01079687 -:1062F000FADABC0180E796E10E9455F541E062E1DF -:1063000080E796E10E940A4B69E17EE080E796E132 -:106310000E9455F542E060E080E796E10E940A4B5A -:10632000E0917913F0E0EE0FFF1FE45EFD4F019066 -:10633000F081E02DE452FE4F8081918130DB43E01B -:1063400062E180E796E10E940A4B69E17EE080E726 -:1063500096E10E9455F543E06EE080E796E10E94E9 -:106360000A4B882D90E09E838D83CE0105960E9476 -:10637000B2A6BC0180E796E10E9455F543E06EE0CD -:1063800080E796E10E940A4B68EC7DE080E796E1A9 -:106390000E9455F543E06CE080E796E10E940A4BCD -:1063A00063E27EE080E796E10E9455F543E069E014 -:1063B00080E796E10E940A4B8F2D90E09E838D83AB -:1063C000CE0105960E94B2A6BC0180E796E10E942C -:1063D00055F543E069E080E796E10E940A4B68ECDE -:1063E0007DE080E796E10E9455F543E067E080E7B5 -:1063F00096E10E940A4B69E47EE080E796E10E9404 -:1064000055F543E064E080E796E10E940A4B1E8365 -:106410000D83CE0105960E94B2A6BC0180E796E1ED -:106420000E9455F50E946AA481110CC00E94C745C4 -:1064300081E00E94737064E670E080E090E00E946A -:106440001BF0F0CF0E943C8F0E94F9952C960FB65E -:10645000F894DEBF0FBECDBFDF91CF911F910F919A -:10646000FF90EF90DF90CF90BF90AF909F908F9074 -:106470007F906F905F904F900895EF92FF920F93EF -:106480001F93CF93DF93EC018B017A010E942B8F36 -:1064900010920F1110920E1110920D1110920C11FA -:1064A0000E94C74580E00E9473700E94278F40E0E1 -:1064B00060E080E796E10E940A4BE0917913F0E0FA -:1064C000EE0FFF1FE45EFD4F0190F081E02DEC53D5 -:1064D000FE4F8081918163DA41E060E080E796E1E0 -:1064E0000E940A4BE0917913F0E0EE0FFF1FE45E8B -:1064F000FD4F0190F081E02DEA53FE4F80819181A4 -:106500004EDAC330D10509F48FC07CF5C130D10516 -:1065100009F45FC0229709F0FAC042E060E080E72A -:1065200096E10E940A4BE0917913F0E0EE0FFF1F15 -:10653000E45EFD4F0190F081E02DE453FE4F808139 -:1065400091812DDA43E060E080E796E10E940A4BFA -:10655000E0917913F0E0EE0FFF1FE45EFD4F019034 -:10656000F081E02DE253FE4F5BC0C430D10509F449 -:1065700088C0259709F0CBC042E060E080E796E153 -:106580000E940A4BE0917913F0E0EE0FFF1FE45EEA -:10659000FD4F0190F081E02DEA52FE4F8081918104 -:1065A000FED943E060E080E796E10E940A4BE0916B -:1065B0007913F0E0EE0FFF1FE45EFD4F0190F081D4 -:1065C000E02DEE52FE4F80819181E9D943E062E1F6 -:1065D00095C042E060E080E796E10E940A4BE091BE -:1065E0007913F0E0EE0FFF1FE45EFD4F0190F081A4 -:1065F000E02DE653FE4F80819181D1D943E060E0E8 -:1066000080E796E10E940A4BE0917913F0E0EE0FEB -:10661000FF1FE45EFD4F0190F081E02DE853FE4F37 -:1066200080819181BCD973C042E060E080E796E14F -:106630000E940A4BE0917913F0E0EE0FFF1FE45E39 -:10664000FD4F0190F081E02DE053FE4F808191815C -:10665000A6D943E060E080E796E10E940A4BE09112 -:106660007913F0E0EE0FFF1FE45EFD4F0190F08123 -:10667000E02DE253FE4F8081918191D943E061E1A9 -:106680003DC042E060E080E796E10E940A4BE09165 -:106690007913F0E0EE0FFF1FE45EFD4F0190F081F3 -:1066A000E02DEE52FE4F8081918179D942E062E186 -:1066B00080E796E10E940A4BB80180E796E10E94CC -:1066C00055F543E060E080E796E10E940A4BE091D7 -:1066D0007913F0E0EE0FFF1FE45EFD4F0190F081B3 -:1066E000E02DEC52FE4F8081918159D943E062E167 -:1066F00080E796E10E940A4BB70105C080E796E16A -:106700000E940A4BB80180E796E10E9455F568EEB9 -:1067100073E080E090E00E941BF00E942B8F64E603 -:1067200070E080E090E00E941BF00E94C74580E08E -:106730000E9473700E946AA4882389F3E091791300 -:10674000F0E0EE0FFF1FE45EFD4F0190F081E02DC1 -:10675000EC50FE4F808191810E94F3A2DF91CF9196 -:106760001F910F91FF90EF900C94F9956F927F928B -:106770008F929F92AF92BF92CF92DF92EF92FF9251 -:106780000F931F93CF93DF931F92CDB7DEB73C01DA -:106790006B017A01580129830E94ECEF605C7D4B0C -:1067A0008F4F9F4F609360167093611680936216AF -:1067B000909363162981EC14FD042CF49AE3892E3E -:1067C0009EE0992E04C085E2882E8EE0982E21113D -:1067D0000E94278F40E060E080E796E10E940A4B2C -:1067E0008FEF6816780669F4E0917913F0E0EE0F08 -:1067F000FF1FE45EFD4F0190F081E02DEE51FE4F52 -:106800000FC06114710481F4E0917913F0E0EE0F90 -:10681000FF1FE45EFD4F0190F081E02DEC51FE4F33 -:1068200080819181BCD839C0E1E06E16710481F499 -:10683000E0917913F0E0EE0FFF1FE45EFD4F019051 -:10684000F081E02DEA51FE4F80819181A8D836C0B9 -:10685000F2E06F16710481F4E0917913F0E0EE0F2D -:10686000FF1FE45EFD4F0190F081E02DE851FE4FE7 -:106870008081918194D844C083E06816710469F4E2 -:10688000E0917913F0E0EE0FFF1FE45EFD4F019001 -:10689000F081E02DE651FE4F43C0E4E06E16710436 -:1068A00069F4E0917913F0E0EE0FFF1FE45EFD4F15 -:1068B0000190F081E02DE451FE4F32C0F5E06F16FB -:1068C000710469F4E0917913F0E0EE0FFF1FE45ECC -:1068D000FD4F0190F081E02DE251FE4F21C086E096 -:1068E0006816710469F4E0917913F0E0EE0FFF1F70 -:1068F000E45EFD4F0190F081E02DE051FE4F10C0AD -:10690000E7E06E16710479F4E0917913F0E0EE0F90 -:10691000FF1FE45EFD4F0190F081E02DEC50FE4F33 -:10692000808191813CD841E060E080E796E10E945F -:106930000A4B67E27EE080E796E10E9455F5F1E0C0 -:106940006F16710431F01614170434F040E050E073 -:1069500005C041E050E002C042E050E084012CE379 -:106960003EE069E070E083E090E00E946F8E82E09C -:106970006816710439F0E2E06E16710434F440E0F8 -:1069800050E005C041E050E002C042E050E0840128 -:1069900023E43EE062E070E082E090E00E946F8ECF -:1069A000F3E06F16710439F083E06816710434F473 -:1069B00040E050E005C041E050E002C042E050E05D -:1069C000840125E43EE068E070E082E090E00E940F -:1069D0006F8EE4E06E16710439F0F4E06F16710406 -:1069E00034F440E050E005C041E050E002C042E035 -:1069F00050E0840129E73EE06EE070E082E090E044 -:106A00000E946F8E85E06816710439F0E5E06E161D -:106A1000710434F440E050E005C041E050E002C0B1 -:106A200042E050E0840127E43EE060E070E083E073 -:106A300090E00E946F8E1A141B043CF4B501882765 -:106A400077FD8095982F0E941BF0FFEFCF1ADF0A89 -:106A5000EE0CFF1CEC14FD041CF480E090E001C07F -:106A6000C6010F90DF91CF911F910F91FF90EF9092 -:106A7000DF90CF90BF90AF909F908F907F906F905E -:106A800008952F923F924F925F926F927F928F92D2 -:106A90009F92AF92BF92CF92DF92EF92FF920F93AD -:106AA0001F93CF93DF93CDB7DEB729970FB6F89436 -:106AB000DEBF0FBECDBF998788879B01CB016AE0FF -:106AC00070E00E946AFA4B01820E931E412C512CF9 -:106AD000A12CB12C612C712C1C821B82312C88853D -:106AE0009985880F991F880F991F855A9C4E9A8304 -:106AF000898322242394E885F9853296FE83ED83E9 -:106B0000888599850297B9F420E030E040E85FE39A -:106B10006091631370916413809165139091661373 -:106B20000E94C5F56093631370936413809365139B -:106B30009093661312C020E030E040E450E4E98115 -:106B4000FA8160817181828193810E94C5F5E9811A -:106B5000FA816083718382839383E7E4CE2EE3E13D -:106B6000DE2EE12CF12C08E412E427E633E143E6C3 -:106B700053E16FE573E18BE593E10E9417E10E9419 -:106B800084D91E9906C01D9904C01C9902C030E02A -:106B900012C088859985892B09F094C033B036FAE4 -:106BA000332430F81D9B8AC0AA24A394B12C179AD1 -:106BB00010924C1331E0F6E04F16510424F48FEF9D -:106BC000481A580A10C000E010E020E043E050E00E -:106BD0006B817C818D819E813F83C8DD9C838B830B -:106BE000412C512C3F813F830E94C74580E00E9489 -:106BF000737064E670E080E090E00E941BF03F81DB -:106C00008614970434F09FEF691A790A332309F444 -:106C100077CF08851985000F111F000F111F055A26 -:106C20001C4E20E030E040E751E4F80160817181C2 -:106C3000828193810E94C6F5F8016083718382830B -:106C4000938337E4C32E33E1D32EE12CF12C08E4F7 -:106C500012E427E633E143E653E16FE573E18BE5A8 -:106C600093E10E9417E1311058C0888599858130E1 -:106C7000910529F0029731F063E47EE005C065E4F8 -:106C80007EE002C069E77EE091E0A916B10439F028 -:106C9000E2E0AE16B10431F043E45EE005C045E445 -:106CA0005EE002C049E75EE0681479041CF085E00C -:106CB00090E002C084E090E0E0DB2FC062E0A62E0E -:106CC000B12C75CF88859985019781F433B035FA59 -:106CD000332430F81E9B03C0A12CB12C03C052E01A -:106CE000A52EB12C169A10924D1364CFE885F98524 -:106CF000329709F05FCF33B034FA332430F883B1E0 -:106D00008295869586958370822580FBAA24A0F8BB -:106D1000B12C159A10924E134DCF832D29960FB694 -:106D2000F894DEBF0FBECDBFDF91CF911F910F91C1 -:106D3000FF90EF90DF90CF90BF90AF909F908F909B -:106D40007F906F905F904F903F902F900895AF92FB -:106D5000BF92DF92EF92FF920F931F93CF93DF9337 -:106D60001F921F92CDB7DEB7D82E811106C01EE14B -:106D7000E12EF12C24E630E005C0B8E7EB2EF12C33 -:106D800020E030E030930F1120930E11DD2019F038 -:106D900024E630E002C020E030E030930D11209373 -:106DA0000C110E94C74580E00E94737060E070E0A3 -:106DB000A12CB12C8FEFA81AB80A69837A830E949C -:106DC000C74580E00E94737069817A8100E911E013 -:106DD00020E042E050E0DD2019F085E090E002C0C4 -:106DE00081E090E0C3DCBC01AE14BF041CF3109240 -:106DF0000F1110920E1110920D1110920C110E9491 -:106E0000C7450E94C74580E00E94737081E00F90E3 -:106E10000F90DF91CF911F910F91FF90EF90DF9036 -:106E2000BF90AF900895AF92BF92CF92DF92EF9252 -:106E3000FF920F931F93CF93DF93CDB7DEB76E977B -:106E40000FB6F894DEBF0FBECDBF00ED17E021E016 -:106E500044E050E060E070E08FEF9FEF87DC21E0DE -:106E600043E050E0BC0180E090E080DC5C011E99D2 -:106E700004C01D9902C01C9B48C01E9B81C120E01C -:106E800030E040E251E460915B1370915C138091BB -:106E90005D1390915E130E94C6F560935B1370932F -:106EA0005C1380935D1390935E131D9B72C120E071 -:106EB00030E040E251E460915F1370916013809183 -:106EC0006113909162130E94C6F560935F137093F3 -:106ED000601380936113909362131C9B63C120E045 -:106EE00030E040E251E4609163137091641380914B -:106EF0006513909166130E94C6F5609363137093B7 -:106F00006413809365139093661387E4C82E83E11E -:106F1000D82EE12CF12C08E412E427E633E143E615 -:106F200053E16FE573E18BE593E10E9417E164EFB4 -:106F300071E080E090E00E941BF01E9906C01D9950 -:106F400004C01C9902C011E04CC01C993AC164E70E -:106F50007EE0CE0101960E94A9F41D9B2CC165E440 -:106F60007EE0CE0107960E94A9F41E9B27C163E430 -:106F70007EE0CE0143960E94A9F4BE016D5E7F4F74 -:106F8000CE010D960E94D3F4BE01695F7F4FCE0102 -:106F90000D960E9406F5BE016F5F7F4F0E9406F5B9 -:106FA000BC01CE0149960E94D3F4CE010D960E94F9 -:106FB00041F4CE0143960E9441F4CE0107960E940F -:106FC00041F4CE0101960E9441F4698D7A8D44E727 -:106FD0005EE083E090E051DACE0149960E9441F4F0 -:106FE00010E00E94C74580E00E947370112309F4ED -:106FF00087C008EE13E021E043E050E0B50181E0F6 -:1070000090E0B4DB5C0180E0A2DE882309F478C064 -:1070100000ED17E021E043E050E0B50182E090E0B0 -:10702000A5DB5C0166ED70E080E090E02ADD88235E -:1070300009F466C00CED15E021E043E050E0B50135 -:1070400083E090E093DB5C0166EC70E081E090E02F -:1070500018DD882309F454C020E030E040E450E417 -:1070600060915B1370915C1380915D1390915E133E -:107070000E94C5F560935B1370935C1380935D135E -:1070800090935E1320E030E040E651E460915F139E -:107090007091601380916113909162130E94C5F505 -:1070A00060935F13709360138093611390936213E6 -:1070B00021E043E050E0B50184E090E057DB5C0163 -:1070C00069EC70E082E090E0DCDC8823C9F000ED40 -:1070D00017E021E043E050E0B50185E090E046DBB9 -:1070E0005C0181E034DEF82E882351F008E813E1DA -:1070F00021E043E050E0B50186E090E037DB0AC0D4 -:1071000008E813E121E043E050E0B50187E090E0BA -:107110002DDBF12C0E94278F0E94ECEF6C597F4FE2 -:107120008F4F9F4F60936016709361168093621625 -:1071300090936316E0917913F0E0EE0FFF1FE45E89 -:10714000FD4F0190F081E02DFF2019F0E852FE4F35 -:1071500002C0EC50FE4F808191810E94F3A26E9696 -:107160000FB6F894DEBF0FBECDBFDF91CF911F9158 -:107170000F91FF90EF90DF90CF90BF90AF90089568 -:1071800060915B1370915C1380915D1390915E131D -:1071900084CE60915F137091601380916113909120 -:1071A000621393CE609163137091641380916513A1 -:1071B00090916613A2CE64E77EE0D3CE64E77EE0D2 -:1071C000D8CE69E77EE0C5CE20E030E042E053E46F -:1071D0006091061170910711809108119091091129 -:1071E0000E94A2F818164CF48BE292E50E94AE625F -:1071F0008EE192E50E94AE6236C00E94278F40E089 -:1072000060E080E796E10E940A4BE0917913F0E09C -:10721000EE0FFF1FE45EFD4F0190F081E02DEA5F6D -:10722000FE4F808191810E94CFAC42E060E080E718 -:1072300096E10E940A4BE0917913F0E0EE0FFF1FF8 -:10724000E45EFD4F0190F081E02DE85FFE4F80810C -:1072500091810E94CFAC60ED77E080E090E00E94E9 -:107260001BF00E94278F0C94F9950E94278F41E014 -:1072700060E080E796E10E940A4BE0917913F0E02C -:10728000EE0FFF1FE45EFD4F0190F081E02DE05E08 -:10729000FE4F808191810E94CFAC42E060E080E7A8 -:1072A00096E10E940A4BE0917913F0E0EE0FFF1F88 -:1072B000E45EFD4F0190F081E02DE25EFE4F8081A3 -:1072C00091810C94CFAC0E94278F42E060E080E770 -:1072D00096E10E940A4BE0917913F0E0EE0FFF1F58 -:1072E000E45EFD4F0190F081E02DE45EFE4F808171 -:1072F00091810C94CFAC1F93CF93DF930E94278F83 -:1073000040E060E080E796E10E940A4BE09179134B -:10731000F0E0EE0FFF1FE45EFD4F0190F081E02DE5 -:10732000E65EFE4F808191810E94CFAC42E060E03A -:1073300080E796E10E940A4BE0917913F0E0EE0FAE -:10734000FF1FE45EFD4F0190F081E02DE85EFE4FEF -:10735000808191810E94CFAC10E043E0612F80E7F3 -:1073600096E10E940A4B6DE07EE080E796E10E9484 -:1073700055F5CAE0D0E00E94C74581E00E947370D5 -:1073800065E570E080E090E00E941BF02197209777 -:1073900091F71F5F143109F7DF91CF911F91089585 -:1073A0001F93CF93DF930E94278F40E060E080E738 -:1073B00096E10E940A4BE0917913F0E0EE0FFF1F77 -:1073C000E45EFD4F0190F081E02DEA5EFE4F80818A -:1073D00091810E94CFAC42E060E080E796E10E949C -:1073E0000A4BE0917913F0E0EE0FFF1FE45EFD4FD2 -:1073F0000190F081E02DE85EFE4F808191810E9436 -:10740000CFAC10E043E0612F80E796E10E940A4B89 -:107410006DE07EE080E796E10E9455F5CAE0D0E09D -:107420000E94C74581E00E9473706EE670E080E0C4 -:1074300090E00E941BF02197209791F71F5F143175 -:1074400009F7DF91CF911F9108950F931F93CF9369 -:10745000DF930E94278F40E060E080E796E10E9482 -:107460000A4BE0917913F0E0EE0FFF1FE45EFD4F51 -:107470000190F081E02DE45FFE4F808191810E94B8 -:10748000CFAC41E061E080E796E10E940A4BE091D9 -:107490007913F0E0EE0FFF1FE45EFD4F0190F081E5 -:1074A000E02DE25FFE4F808191810E94CFAC42E0EF -:1074B00061E080E796E10E940A4BE0917913F0E0E9 -:1074C000EE0FFF1FE45EFD4F0190F081E02DEE5EB8 -:1074D000FE4F808191810E94CFAC43E061E080E764 -:1074E00096E10E940A4BE0917913F0E0EE0FFF1F46 -:1074F000E45EFD4F0190F081E02DEC5EFE4F808157 -:1075000091810E94CFAC41E060E080E796E10E946B -:107510000A4B6FE07EE080E796E10E9455F500910E -:10752000F816112707FD1095C1E0D0E080917A137D -:1075300090917B13892B09F072C00E94C74581E0AE -:107540000E9473702091F816332727FD3095C801EB -:10755000821B930B97FF03C0919581959109059725 -:107560000CF44DC0201731070CF4219702171307B4 -:107570000CF42196C430D1052CF4209729F4C1E0F5 -:10758000D0E002C0C3E0D0E041E060E080E796E1F7 -:107590000E940A4B61E77EE080E796E10E9455F584 -:1075A00042E060E080E796E10E940A4B61E77EE0FE -:1075B00080E796E10E9455F543E060E080E796E1C0 -:1075C0000E940A4B61E77EE080E796E10E9455F554 -:1075D0004C2F60E080E796E10E940A4B6FE07EE06E -:1075E00080E796E10E9455F50091F816112707FDF6 -:1075F000109564E670E080E090E00E941BF00E942D -:107600006AA4882309F492CFD0937B13C0937A1392 -:1076100064EF71E080E090E00E941BF087CF0E9451 -:10762000278FDF91CF911F910F910C94F99520E056 -:1076300030E042E053E460910611709107118091AF -:107640000811909109110E94A2F81816ECF481E03B -:107650008093701381E090E09093E2168093E1169E -:10766000EBE4FEE08191882339F09091C00095FF12 -:10767000FCCF8093C600F6CF8091C00085FFFCCF81 -:107680008AE08093C60036C00E94278F40E060E009 -:1076900080E796E10E940A4BE0917913F0E0EE0F4B -:1076A000FF1FE45EFD4F0190F081E02DEA5FFE4F89 -:1076B000808191810E94CFAC42E060E080E796E15A -:1076C0000E940A4BE0917913F0E0EE0FFF1FE45E99 -:1076D000FD4F0190F081E02DE85FFE4F80819181A8 -:1076E0000E94CFAC60ED77E080E090E00E941BF05C -:1076F0000E94278F0C94F9958F929F92AF92BF9220 -:10770000DF92EF92FF920F931F93CF93DF9310922C -:10771000E4168091651690916616A0916716B09157 -:10772000681681309048A105B10540F010926516A9 -:107730001092661610926716109268168091651660 -:1077400090916616A0916716B0916816B695A795A8 -:107750009795879540916E1650E060E070E0841731 -:107760009507A607B70710F480936E16D0916E1692 -:1077700010916F1612FB112710F9C0E0DD24D3948D -:10778000D11144C080915B0C882309F1E0917913F9 -:10779000F0E0EE0FFF1FE45EFD4F0190F081E02D61 -:1077A000E055FF4F6081718180916516909166165A -:1077B000A0916716B091681623E00297A105B10564 -:1077C00010F443E001C040E28C2F0E94388E112358 -:1077D000E9F08091651690916616A0916716B091B8 -:1077E00068160297A105B10588F40E943C8F88EEC7 -:1077F00092ECDF91CF911F910F91FF90EF90DF906E -:10780000BF90AF909F908F900C94648F80918E1357 -:10781000811105C080917F13882309F466C020E0A0 -:1078200030E040E05FE360916313709164138091F6 -:107830006513909166130E949FF687FF56C062EF12 -:1078400076E18CEF9FE00E94489C64EF76E18AEF3E -:107850009FE00E94489C66EF76E188EF9FE00E94DF -:10786000489CD13011F002E041C080915B0C88232C -:1078700029F1E0917913F0E0EE0FFF1FE45EFD4F78 -:107880000190F081E02DE251FF4F60817181809184 -:10789000651690916616A0916716B0916816B69518 -:1078A000A795979587952EE70197A105B10511F446 -:1078B0004EE301C040E28C2F0E94388E112399F2D2 -:1078C0008091651690916616A0916716B091681622 -:1078D000B695A795979587950197A105B10519F6D6 -:1078E0000E943C8F85E19FEA39C001E00E94BBEB1A -:1078F00040916516509166166091671670916816F2 -:10790000811109C080918E13811105C080917F1370 -:10791000882309F455C00D135BC080915B0C811165 -:107920002AC0112309F454C08091651690916616FF -:10793000A0916716B0916816B695A795979587950B -:10794000402F50E060E070E084179507A607B70766 -:1079500009F03EC00E943C8F8EEE98EADF91CF91F5 -:107960001F910F91FF90EF90DF90BF90AF909F908D -:107970008F900C94698FE0917913F0E0EE0FFF1F68 -:10798000E45EFD4F0190F081E02DEC54FF4F01903B -:10799000F081E02D7695679557954795802F90E07B -:1079A000A0E0B0E02EE7481759076A077B0711F4FB -:1079B0004EE301C040E2BF018C2F0E94388EB1CF50 -:1079C0000D1306C080915B0C81116DC3111190C322 -:1079D0000F5F80918F1340916516509166166091EC -:1079E000671670916816882309F417C1809177157E -:1079F000882309F4FBC080918E13882309F452C0B8 -:107A00000D13A0C080915B0C882321F1E0917913C4 -:107A1000F0E0EE0FFF1FE45EFD4F0190F081E02DDE -:107A2000EA54FF4F0190F081E02D769567955795C8 -:107A30004795802F90E0A0E0B0E020E2481759077A -:107A40006A077B0711F44EE301C040E2BF018C2FAF -:107A50000E94388E112309F475C0809165169091AB -:107A60006616A0916716B0916816B695A79597957A -:107A70008795402F50E060E070E084179507A607D7 -:107A8000B70709F05FC00E943C8FDF91CF911F9133 -:107A90000F91FF90EF90DF90BF90AF909F908F90ED -:107AA0000C94E1950D134EC080915B0C882321F15D -:107AB000E0917913F0E0EE0FFF1FE45EFD4F0190BF -:107AC000F081E02DE854FF4F0190F081E02D769594 -:107AD000679557954795802F90E0A0E0B0E020E2B1 -:107AE000481759076A077B0711F44EE301C040E2CB -:107AF000BF018C2F0E94388E112321F180916516D1 -:107B000090916616A0916716B0916816B695A795E4 -:107B100097958795402F50E060E070E084179507B7 -:107B2000A607B70779F40E943C8FDF91CF911F9190 -:107B30000F91FF90EF90DF90BF90AF909F908F904C -:107B40000C94D795FF24F394F00EFD124CC0809155 -:107B50005B0C882361F1E0917913F0E0EE0FFF1FD9 -:107B6000E45EFD4F0190F081E02DE654FF4F01905F -:107B7000F081E02D8091651690916616A0916716B0 -:107B8000B0916816B695A795979587954F2D50E0BB -:107B900060E070E02EE784179507A607B70711F499 -:107BA0004EE301C040E2BF018C2F0E94388E1123AA -:107BB000D1F08091651690916616A0916716B091EC -:107BC0006816B695A795979587954F2D50E060E07C -:107BD00070E084179507A607B70729F40E943C8F29 -:107BE00089EF97ECBBCE01E00F0D5EC080917F1353 -:107BF00081115AC00D1357C080915B0C8823A9F1E5 -:107C0000E0917913F0E0EE0FFF1FE45EFD4F01906D -:107C1000F081E02DE454FF4F12C00D1344C0809159 -:107C20005B0C882311F1E0917913F0E0EE0FFF1F58 -:107C3000E45EFD4F0190F081E02DE254FF4F019092 -:107C4000F081E02D7695679557954795802F90E0C8 -:107C5000A0E0B0E02EE7481759076A077B0709F153 -:107C600040E2BF018C2F0E94388E1123E1F08091F9 -:107C7000651690916616A0916716B0916816B69534 -:107C8000A79597958795402F50E060E070E08417A6 -:107C90009507A607B70739F40E943C8F89EE98E94B -:107CA0005DCE4EE3DECF0F5F80918E13811102C156 -:107CB00080917F138111FEC00D1355C080915B0C24 -:107CC000882361F1E0917913F0E0EE0FFF1FE45E8D -:107CD000FD4F0190F081E02DEE5FFE4F0190F081AD -:107CE000E02D8091651690916616A0916716B0916F -:107CF0006816B695A79597958795402F50E060E058 -:107D000070E020E284179507A607B70711F44EE349 -:107D100001C040E2BF018C2F0E94388E112319F15F -:107D20008091651690916616A0916716B0916816BD -:107D3000B695A79597958795402F50E060E070E045 -:107D400084179507A607B70771F40E943C8FDF914F -:107D5000CF911F910F91FF90EF90DF90BF90AF9068 -:107D60009F908F9064CCEE24E394E00EED1252C00D -:107D700080915B0C882349F1E0917913F0E0EE0FDC -:107D8000FF1FE45EFD4F0190F081E02DF3956081CF -:107D900071818091651690916616A0916716B091D9 -:107DA0006816B695A795979587958D2E912CA12C41 -:107DB000B12C20E288159905AA05BB0511F44EE304 -:107DC00001C040E28C2F0E94388E112319F180915E -:107DD000651690916616A0916716B0916816B695D3 -:107DE000A795979587954E2D50E060E070E0841739 -:107DF0009507A607B70771F40E943C8FDF91CF91DA -:107E00001F910F91FF90EF90DF90BF90AF909F90E8 -:107E10008F90DAC932E0E32EE00EED124AC0809175 -:107E20005B0C882351F1E0917913F0E0EE0FFF1F16 -:107E3000E45EFD4F0190F081E02DE450FF4F608142 -:107E400071818091651690916616A0916716B09128 -:107E50006816B695A795979587958D2E912CA12C90 -:107E6000B12C2EE788159905AA05BB0511F44EE340 -:107E700001C040E28C2F0E94388E1123D1F08091F6 -:107E8000651690916616A0916716B0916816B69522 -:107E9000A795979587954E2D50E060E070E0841788 -:107EA0009507A607B70729F40E943C8F83ED9CE94C -:107EB00055CD0D5F80917F1381114FC00D134CC0C4 -:107EC00080915B0C882361F1E0917913F0E0EE0F73 -:107ED000FF1FE45EFD4F0190F081E02DEA50FE4F60 -:107EE0000190F081E02D8091651690916616A09129 -:107EF0006716B0916816B695A79597958795402F08 -:107F000050E060E070E02EE784179507A607B707FA -:107F100011F44EE301C040E2BF018C2F0E94388E65 -:107F20001123D1F08091651690916616A091671685 -:107F3000B0916816B695A79597958795402F50E014 -:107F400060E070E084179507A607B70729F40E9440 -:107F50003C8F8AE99FEA02CD0F5F0D134CC08091E0 -:107F60005B0C882361F1E0917913F0E0EE0FFF1FC5 -:107F7000E45EFD4F0190F081E02DE65FFE4F019041 -:107F8000F081E02D8091651690916616A09167169C -:107F9000B0916816B695A79597958795402F50E0B4 -:107FA00060E070E02EE784179507A607B70711F485 -:107FB0004EE301C040E2BF018C2F0E94388E112396 -:107FC000D1F08091651690916616A0916716B091D8 -:107FD0006816B695A79597958795402F50E060E075 -:107FE00070E084179507A607B70729F40E943C8F15 -:107FF0008EE69FE8B3CCFF24F394F00E4091651613 -:10800000509166166091671670916816769567951F -:10801000579547958F2D90E0A0E0B0E0481759079D -:108020006A077B0788F08F2D90E0880F991F0197D2 -:10803000AA2797FDA095BA2F809365169093661690 -:10804000A0936716B0936816409165165091661616 -:108050006091671670916816769567955795479564 -:1080600080916E1690E00396242F30E082179307DC -:108070004CF48DEF840F80936E16D0925B0CDCEF86 -:10808000D40FCFEFCF5FDF5FC43008F479CBDF913F -:10809000CF911F910F91FF90EF90DF90BF90AF9025 -:1080A0009F908F900895E0917913F0E0EE0FFF1FFD -:1080B000E45EFD4F0190F081E02DE250FF4F019012 -:1080C000F081E02D7695679557954795802F90E044 -:1080D000A0E0B0E02EE7481759076A077B0711F4C4 -:1080E0004EE301C040E2BF018C2F0E94388E6ECC5F -:1080F0008091651690916616A0916716B0916816EA -:10810000B695A79597958795402F50E060E070E071 -:1081100084179507A607B70709F05ACC0E943C8F31 -:1081200088E996E91BCC0F931F93CF93DF930E94AE -:10813000278F40E060E080E796E10E940A4BE091E3 -:108140007913F0E0EE0FFF1FE45EFD4F0190F08128 -:10815000E02DEE50FF4F808191810E94CFAC41E035 -:1081600061E080E796E10E940A4BE0917913F0E02C -:10817000EE0FFF1FE45EFD4F0190F081E02DE25F06 -:10818000FE4F808191810E94CFAC42E061E080E7A8 -:1081900096E10E940A4BE0917913F0E0EE0FFF1F89 -:1081A000E45EFD4F0190F081E02DE05FFE4F8081A5 -:1081B00091810E94CFAC41E060E080E796E10E94AF -:1081C0000A4B6FE07EE080E796E10E9455F5009152 -:1081D000F816112707FD1095C1E0D0E00E94C745B1 -:1081E00081E00E9473702091F816332727FD3095A7 -:1081F000C801821B930B97FF03C09195819591094C -:1082000005970CF441C0201731070CF42197021791 -:1082100013070CF42196C330D1052CF4209729F4D0 -:10822000C1E0D0E002C0C2E0D0E041E060E080E721 -:1082300096E10E940A4B61E77EE080E796E10E94AA -:1082400055F542E060E080E796E10E940A4B61E765 -:108250007EE080E796E10E9455F54C2F60E080E7D4 -:1082600096E10E940A4B6FE07EE080E796E10E9473 -:1082700055F50091F816112707FD109564E670E09A -:1082800080E090E00E941BF00E946AA4882309F419 -:10829000A5CF2197D9F462EF76E18CEF9FE00E94A1 -:1082A000489C64EF76E18AEF9FE00E94489C66EF6D -:1082B00076E188EF9FE00E94489C8091F6169091AD -:1082C000F7169093FE108093FD101EC01092F316C7 -:1082D0001092F2161092F5161092F4161092F716EC -:1082E0001092F61662EF76E18CEF9FE00E94379CC9 -:1082F00064EF76E18AEF9FE00E94379C66EF76E1BB -:1083000088EF9FE00E94379C64EF71E080E090E08E -:108310000E941BF00E94278FDF91CF911F910F9138 -:108320000C94F9950F931F93CF93DF93EC01843056 -:1083300091053CF08530910539F08C01035011090D -:1083400005C000E010E002C001E010E040E060E0A5 -:1083500080E796E10E940A4B6EE57EE080E796E1B9 -:108360000E9455F540E061E080E796E10E940A4BEB -:10837000F801EE0FFF1FE45EFD4F0190F081E02D4C -:10838000E654FE4F808191810E94CFAC41E060E0D5 -:1083900080E796E10E940A4B6EE57EE080E796E179 -:1083A0000E9455F541E061E080E796E10E940A4BAA -:1083B000F801EE0FFF1FE25EFD4F0190F081E02D0E -:1083C000E654FE4F808191810E94CFAC42E060E094 -:1083D00080E796E10E940A4B6EE57EE080E796E139 -:1083E0000E9455F542E061E080E796E10E940A4B69 -:1083F000F801EE0FFF1FE05EFD4F0190F081E02DD0 -:10840000E654FE4F808191810E94CFAC43E060E052 -:1084100080E796E10E940A4B6EE57EE080E796E1F8 -:108420000E9455F543E061E080E796E10E940A4B27 -:10843000F801EE0FFF1FEE5DFD4F0190F081E02D82 -:10844000E654FE4F808191810E94CFACC130D105AE -:1084500011F440E012C0C230D10511F441E00DC06A -:10846000C330D1057CF042E060E080E796E10E94F5 -:108470000A4BC530D10531F443E060E080E796E176 -:108480000E940A4B6FE07EE080E796E10E9455F57E -:1084900024974CF443E063E180E796E10E940A4BA5 -:1084A00063E77EE008C040E063E180E796E10E9478 -:1084B0000A4B65E77EE080E796E1DF91CF911F915F -:1084C0000F910C9455F50F931F93CF93DF938FEF7C -:1084D000809379130E94DE9B0E94278F81E090E0B9 -:1084E00021DF0091F816112707FD1095C1E0D0E0BB -:1084F0002091791380917A1790917B1740917C1786 -:1085000050917D172F3F41F49C01241B350B2F7791 -:10851000332722303105A4F0841B950B8F779927E0 -:10852000029724F01092791310925E0C0E94029C24 -:108530000E94278FDF91CF911F910F910C94F99595 -:108540000E94C74581E00E9473702091F81633277E -:1085500027FD3095C801821B930B97FF03C09195AF -:10856000819591090597F4F0201731070CF42197B4 -:10857000021713070CF42196C630D1052CF420976E -:1085800029F4C1E0D0E002C0C5E0D0E0CE01CADEEF -:108590000091F816112707FD109564E670E080E061 -:1085A00090E004C064E170E080E090E00E941BF085 -:1085B0000E946AA4882309F49BCF8C2F81500E94CB -:1085C000239464EF71E080E090E00E941BF090CF74 -:1085D0008F929F92AF92BF92CF92DF92EF92FF92D3 -:1085E0000F931F93CF93DF93CDB7DEB728970FB6C6 -:1085F000F894DEBF0FBECDBF80915E0C813009F0D4 -:1086000040C010925E0C0E94269CE0917913F0E02D -:10861000EE0FFF1FE45EFD4F0190F081E02D6081C1 -:10862000718144E150E08CEB96E10E94D2FF8DEE27 -:108630009FE00F948A028F3F01F58EEE9FE00F942A -:108640008A028F3FD1F48FEE9FE00F948A028F3F12 -:10865000A1F480EF9FE00F948A028F3F71F440E015 -:1086600050E0BA018DEE9FE00F94970240E050E099 -:10867000BA0181EF9FE00F94970280914416811117 -:1086800022DF80915F16882321F0815080935F164E -:1086900003C081E080935B0C80915B0C882309F41C -:1086A0000DC48091E5168F5F8093E5168E3129F415 -:1086B0000E94EC951092E5160EC06AE00E9449FAFD -:1086C000911109C020E044E064E180E796E10E9456 -:1086D0001A4C0E949B8D20E030E040E05FE3609107 -:1086E00006117091071180910811909109110E9453 -:1086F000C6F50E940EF778876F8360910E11709116 -:108700000F11882777FD8095982F0E9441F720E070 -:1087100030E040E05FE30E94C6F50E940EF77E83E2 -:108720006D8340E060E080E796E10E940A4B62E0E2 -:1087300080E796E10E9456F5CE0107960E94B2A608 -:10874000BC0180E796E10E9455F56FE280E796E173 -:108750000E9456F5CE0105960E9423ACBC0180E72D -:1087600096E10E9455F581EA92E50E94CFAC60E760 -:108770007EE080E796E10E9455F540E06AE080E700 -:1087800096E10E940A4B67E77EE080E796E10E944F -:1087900055F52CEA35EC47E257E36091631370918D -:1087A000641380916513909166130E94C6F56983E6 -:1087B0007A838B839C83CE0101960E94E0A5BC0145 -:1087C00080E796E10E9455F560E280E796E10E941D -:1087D00056F541E060E080E796E10E940A4B20E018 -:1087E00030E040E05FE360910011709101118091F1 -:1087F0000211909103110E94C6F50E940EF778872E -:108800006F8360910C1170910D11882777FD809511 -:10881000982F0E9441F720E030E040E05FE30E94A3 -:10882000C6F50E940EF77E836D8360E080E796E1D7 -:108830000E9456F5CE0107960E94B2A6BC0180E7C1 -:1088400096E10E9455F56FE280E796E10E9456F5A9 -:10885000CE0105960E9423ACBC0180E796E10E9400 -:1088600055F58EE992E50E94CFAC60E77EE080E7A7 -:1088700096E10E9455F541E06AE080E796E10E94AA -:108880000A4B60E77EE080E796E10E9455F566E0DE -:1088900080E796E10E9456F589E49CE00E94B2A62A -:1088A000BC0180E796E10E9455F565E280E796E11C -:1088B0000E9456F56DE67EE080E796E10E9455F550 -:1088C00042E060E080E796E10E940A4B80917F13CE -:1088D000882319F08BE992E502C088E992E50E94AD -:1088E000CFAC80918E138823A9F1809177158823CE -:1088F00019F18091211690912216A0912316B09122 -:1089000024160097A105B105B9F0BC01CD016D5940 -:108910007F4F8F4F9F4F24E630E040E050E00E94B1 -:108920007DFA6091291670912A1680912B169091EC -:108930002C160E947DFA01C020E030E03A832983A2 -:10894000CE0101960E94B2A6BC0180E796E10E948A -:1089500055F50DC080917F13882329F083E992E5B6 -:108960000E94CFAC09C08FE892E50E94CFAC65E2CF -:1089700080E796E10E9456F56CE67EE080E796E19E -:108980000E9455F542E06AE080E796E10E940A4BBA -:1089900060E77EE080E796E10E9455F567E080E7BA -:1089A00096E10E9456F58091691190916A11A0910B -:1089B0006B11B0916C11892B8A2B8B2BE1F10E94EA -:1089C000ECEF20E6C22E2AEED22EE12CF12CA701EC -:1089D00096010E947DFA49015A01609169117091D6 -:1089E0006A1180916B1190916C11A70196010E9400 -:1089F0007DFAC401821B930B6CE370E00E9456FA6F -:108A0000182F6983CE0101960E9470A4BC0180E7F3 -:108A100096E10E9455F56AE380E796E10E9456F5DB -:108A20001983CE0101960E9470A4BC0180E796E1F3 -:108A30000E9455F504C089E892E50E94CFAC60E73A -:108A40007EE080E796E10E9455F543E060E080E734 -:108A500096E10E940A4B80917313909174130097D2 -:108A600019F021E02093701330918E132091701330 -:108A7000332309F476C0211174C06DE973E185E8F0 -:108A800096E10F944100892BD1F0E5E8F6E1DF0192 -:108A90000D900020E9F7AD0141505109455856416C -:108AA00060E070E0CF010F9411006DE973E185E89B -:108AB00096E10F944A001092BB161092BA16EDE997 -:108AC000F3E101900020E9F7EE59F341759708F4BE -:108AD00045C00091BA161091BB16C12CD12C8091C3 -:108AE000BA169091BB169801281B390B2431310519 -:108AF00034F001969093BB168093BA169AC1C114B4 -:108B0000D104B9F7F801E457FC4E7F019189602F39 -:108B1000681B43E0911115C080E796E10E940A4B63 -:108B2000D70150966C9180E796E10E9456F510921D -:108B3000BB161092BA1600E010E0CC24C394D12CDE -:108B4000CECF80E796E10E940A4BF701608980E76B -:108B500096E10E9456F50F5F1F4FC1CF65E876E1A1 -:108B600064C1222309F45FC1892B09F4A1C080915B -:108B700071139091721301968E30910528F49093A1 -:108B800072138093711304C01092721310927113B8 -:108B900043E067E080E796E10E940A4B8BE792E5AD -:108BA0000E94CFAC00E010E080917113909172139D -:108BB0000817190770F467E0600F43E080E796E15B -:108BC0000E940A4B89E792E50E94CFAC0F5F1F4FCE -:108BD000EBCF80917313909174138230910581F1E2 -:108BE000B0F4019709F064C043E060E080E796E1EB -:108BF0000E940A4BE0917913F0E0EE0FFF1FE45E54 -:108C0000FD4F0190F081E02DE05AFE4F3EC08330D1 -:108C1000910549F1049709F04BC043E060E080E71B -:108C200096E10E940A4BE0917913F0E0EE0FFF1FEE -:108C3000E45EFD4F0190F081E02DEA59FE4F2AC01D -:108C400043E060E080E796E10E940A4BE0917913EF -:108C5000F0E0EE0FFF1FE45EFD4F0190F081E02D8C -:108C6000EE59FE4F17C043E060E080E796E10E94B6 -:108C70000A4BE0917913F0E0EE0FFF1FE45EFD4F29 -:108C80000190F081E02DEC59FE4F808191810E948E -:108C9000CFAC0EC0808191810E94CFAC1092741332 -:108CA000109273131092721310927113109270132A -:108CB00080916E1390916F13019709F0AEC080916F -:108CC0006C1390916D138B309105A8F143E060E037 -:108CD00080E796E10E940A4B6EE57EE080E796E130 -:108CE0000E9455F543E060E080E796E10E940A4B60 -:108CF000E0917913F0E0EE0FFF1FE45EFD4F01906D -:108D0000F081E02DE850FF4F808191810E94CFAC2F -:108D10006BE77EE080E796E10E9455F560916C1369 -:108D200070916D136A5071094AE050E080E796E156 -:108D30000E94C0F572C0039711F5E0917913F0E03D -:108D4000EE0FFF1FE45EFD4F0190F081E02D80816A -:108D500091810E94CFACE0917913F0E0EE0FFF1FFC -:108D6000E45EFD4F0190F081E02D808191810E94B1 -:108D7000F9A01092701310926F1310926E138091DD -:108D80006C1390916D130497069758F543E060E0DB -:108D900080E796E10E940A4B6FE57EE080E796E16E -:108DA0000E9455F543E060E080E796E10E940A4B9F -:108DB000E0917913F0E0EE0FFF1FE45EFD4F0190AC -:108DC000F081E02DE650FF4F808191810E94CFAC71 -:108DD00080916C1390916D13019790936D13809314 -:108DE0006C1380916C1390916D130A97B1F4E0911C -:108DF0007913F0E0EE0FFF1FE45EFD4F0190F0816C -:108E0000E02DE650FF4F808191810E94CFAC89E038 -:108E100090E090936D1380936C1380916E139091FA -:108E20006F13029731F46CEB76E180E796E10E94D4 -:108E300055F50CEB16E1D8018D918D0180322CF4A3 -:108E400060E280E796E10E9456F5B6E1003D1B071F -:108E500091F780917F13882331F1809170138111F4 -:108E600022C043E060E080E796E10E940A4B6EE595 -:108E70007EE080E796E10E9455F543E060E080E700 -:108E800096E10E940A4BE0917913F0E0EE0FFF1F8C -:108E9000E45EFD4F0190F081E02DE850FE4F8081AF -:108EA00091810E94CFAC8AE080935F168091E11699 -:108EB0009091E216892B11F00E9406A180916F1605 -:108EC00082FB882780F990915E16992399F0909102 -:108ED0005D16992339F0811119C010925D16109218 -:108EE0005E1614C0882391F00E943C8F81E080932D -:108EF0005D160CC0882351F021E040E050E0BA013B -:108F00008CE79BEB0E944E8F0E94EC958091490C60 -:108F100090914A0C20916516309166168436910521 -:108F200034F4820F931F853691054CF416C08436B5 -:108F3000910599F0820F931F8436910574F4109275 -:108F4000651610926616109267161092681684E6DF -:108F500090E090934A0C8093490C2091490C3091F9 -:108F60004A0C80916516909166162436310569F495 -:108F70008B3091051CF0865A9F4F09C0863FEFEF5A -:108F80009E078CF482599F4F02C0820F931F9093CB -:108F90004A0C8093490C1092651610926616109236 -:108FA0006716109268168091490C90914A0C8A308D -:108FB00091051CF48AE090E005C0883E934034F0AF -:108FC00087EE93E090934A0C8093490C28960FB655 -:108FD000F894DEBF0FBECDBFDF91CF911F910F91EF -:108FE000FF90EF90DF90CF90BF90AF909F908F90C9 -:108FF00008950F931F93CF9340E060E080E796E1E0 -:109000000E940A4BE0917913F0E0EE0FFF1FE45E3F -:10901000FD4F0190F081E02DE654FF4F808191815A -:109020000E94CFAC42E062E080E796E10E940A4BEA -:10903000E0917913F0E0EE0FFF1FE45EFD4F019029 -:10904000F081E02DE05FFE4F808191810E94CFACE6 -:1090500043E062E080E796E10E940A4BE0917913D9 -:10906000F0E0EE0FFF1FE45EFD4F0190F081E02D78 -:10907000E25FFE4F808191810E94CFAC42E060E0D0 -:1090800080E796E10E940A4B61E77EE080E796E187 -:109090000E9455F543E060E080E796E10E940A4BAC -:1090A00061E77EE080E796E10E9455F580916516C4 -:1090B00090916616A0916716B09168160397A10566 -:1090C000B10564F082E090E0A0E0B0E08093651626 -:1090D00090936616A0936716B093681680916516F4 -:1090E00090916616A0916716B09168161816190629 -:1090F0001A061B0664F081E090E0A0E0B0E08093E7 -:10910000651690936616A0936716B0936816409103 -:1091100065164F5F60E080E796E10E940A4B6FE0C2 -:109120007EE080E796E10E9455F50E946AA48823BC -:1091300009F469C08091651690916616A091671632 -:10914000B09168160197A105B10511F40E94F99537 -:109150008091651690916616A0916716B091681679 -:109160000297A105B10509F04EC0C1E0C0933613C6 -:109170000E94FAD9E0917913F0E0EE0FFF1FE45E50 -:10918000FD4F0190F081E02DEA53FF4F80819181E6 -:109190000E94F9A010928E1360E08CE893E10E9487 -:1091A00082580E94ECEF6093651170936611809372 -:1091B0006711909368110091691110916A112091C3 -:1091C0006B1130916C11601B710B820B930B28EEAD -:1091D00033E040E050E00E947DFA60917513709199 -:1091E000761380917713909178130E94A86B0E9458 -:1091F000F995C0935E1610925D1682E090E0909310 -:10920000E2168093E116CF911F910F910895CF93AD -:10921000DF93C1E1D2E5FE018491882341F0909172 -:10922000C00095FFFCCF8093C6003196F5CFE7E7ED -:10923000F6E58491882341F09091C00095FFFCCF22 -:109240008093C6003196F5CF8091C00085FFFCCF9A -:109250008AE08093C600FE018491E1E1F2E5882373 -:1092600049F09091C00095FFFCCF8093C6003196E5 -:109270008491F5CF4091FF1C5091001D6091011D1C -:109280007091021D8FE696E50E940A624091031DCF -:109290005091041D6091051D7091061D8CE696E5A8 -:1092A0000E940A624091071D5091081D6091091D9E -:1092B00070910A1D89E696E50E940A6240910B1D95 -:1092C00050910C1D60910D1D70910E1D86E696E566 -:1092D0000E940A628091C00085FFFCCF8AE08093E3 -:1092E000C600FE018491E1E1F2E5882349F0909106 -:1092F000C00095FFFCCF8093C60031968491F5CFD6 -:10930000ECE4F6E58491882341F09091C00095FF4C -:10931000FCCF8093C6003196F5CF8091C00085FFC9 -:10932000FCCF8AE08093C600FE018491E1E1F2E582 -:10933000882349F09091C00095FFFCCF8093C60030 -:1093400031968491F5CF40910F1D5091101D609181 -:10935000111D7091121D83E496E50E940A624091EE -:10936000131D5091141D6091151D7091161D80E400 -:1093700096E50E940A624091171D5091181D609158 -:10938000191D70911A1D8DE396E50E940A624091A5 -:109390001B1D50911C1D60911D1D70911E1D8AE3A7 -:1093A00096E50E940A628091C00085FFFCCF8AE0AA -:1093B0008093C600FE018491E1E1F2E5882349F043 -:1093C0009091C00095FFFCCF8093C60031968491A8 -:1093D000F5CFECE1F6E58491882341F09091C0004F -:1093E00095FFFCCF8093C6003196F5CF8091C000E9 -:1093F00085FFFCCF8AE08093C600FE018491E1E105 -:10940000F2E5882349F09091C00095FFFCCF80934E -:10941000C60031968491F5CF4091EF1C5091F01C1D -:109420006091F11C7091F21C83E196E50E941C6230 -:109430004091F31C5091F41C6091F51C7091F61C46 -:1094400080E196E50E941C624091F71C5091F81C47 -:109450006091F91C7091FA1C8DE096E50E941C62E7 -:109460004091FB1C5091FC1C6091FD1C7091FE1CF6 -:109470008AE096E50E941C628091C00085FFFCCFC7 -:109480008AE08093C600FE018491E1E1F2E5882341 -:1094900049F09091C00095FFFCCF8093C6003196B3 -:1094A0008491F5CFE5EDF5E58491882341F0909125 -:1094B000C00095FFFCCF8093C6003196F5CF809118 -:1094C000C00085FFFCCF8AE08093C600FE01849136 -:1094D000E1E1F2E5882349F09091C00095FFFCCFCF -:1094E0008093C60031968491F5CF4091E71C50914E -:1094F000E81C6091E91C7091EA1C8CEC95E50E94D7 -:109500000A624091E31C5091E41C6091E51C70914B -:10951000E61C89EC95E50E940A628091C00085FFF7 -:10952000FCCF8AE08093C600FE018491E1E1F2E580 -:10953000882349F09091C00095FFFCCF8093C6002E -:1095400031968491F5CFE6E1F5E58491882341F0E9 -:109550009091C00095FFFCCF8093C6003196F5CF67 -:109560008091C00085FFFCCF8AE08093C600FE0199 -:109570008491E1E1F2E5882349F09091C00095FFE4 -:10958000FCCF8093C60031968491F5CF4091EB1CBF -:109590005091EC1C6091ED1C7091EE1C8DE095E5F6 -:1095A0000E940A624091D31C5091D41C6091D51C3A -:1095B0007091D61C8AE095E50E940A6240911F1DB9 -:1095C0005091201D6091211D7091221D87E095E52D -:1095D0000E941C624091DF1C5091E01C6091E11CD4 -:1095E0007091E21C84E095E50E940A624091DB1CC8 -:1095F0005091DC1C6091DD1C7091DE1C81E095E5D2 -:109600000E940A624091D71C5091D81C6091D91CCD -:109610007091DA1C8EEF94E50E940A628091C0007E -:1096200085FFFCCF8AE08093C600FE018491E1E1D2 -:10963000F2E5882349F09091C00095FFFCCF80931C -:10964000C60031968491F5CFECEEF4E58491882341 -:1096500041F09091C00095FFFCCF8093C6003196F9 -:10966000F5CF8091C00085FFFCCF8AE08093C600D3 -:10967000FE018491E1E1F2E5882349F09091C00078 -:1096800095FFFCCF8093C60031968491F5CF409131 -:109690004F1350915013609151137091521383EEF8 -:1096A00094E50E940A6240915313509154136091C3 -:1096B00055137091561380EE94E50E940A62409112 -:1096C0005713509158136091591370915A138DED9F -:1096D00094E50E940A628091C00085FFFCCF8AE079 -:1096E0008093C600FE018491E1E1F2E5882349F010 -:1096F0009091C00095FFFCCF8093C6003196849175 -:10970000F5CFEFECF4E58491882341F09091C0000F -:1097100095FFFCCF8093C6003196F5CF8091C000B5 -:1097200085FFFCCF8AE08093C600FE018491E1E1D1 -:10973000F2E5882349F09091C00095FFFCCF80931B -:10974000C60031968491F5CF4091180250911902CC -:1097500060911A0270911B0285EC94E50E940A62E6 -:109760006091140270911502809116029091170277 -:109770000E94494AAB01BC0182EC94E50E940A6256 -:109780006091100270911102809112029091130267 -:109790000E94554AAB01BC018FEB94E50E940A621E -:1097A0008091C00085FFFCCF8AE08093C600FE0157 -:1097B0008491E1E1F2E5882349F09091C00095FFA2 -:1097C000FCCF8093C60031968491F5CFEBE8F4E5A9 -:1097D0008491882341F09091C00095FFFCCF809345 -:1097E000C6003196F5CF8091C00085FFFCCF8AE09E -:1097F0008093C600FE018491E1E1F2E5882349F0FF -:109800009091C00095FFFCCF8093C6003196849163 -:10981000F5CF40911F0C5091200C6091210C70915C -:10982000220C81E894E50E940A6220E030E040E7E3 -:1098300052E46091170C7091180C8091190C909162 -:109840001A0C0E9474F9AB01BC018EE794E50E94EA -:109850000A6240913F1350914013609141137091FF -:1098600042138BE794E50E940A628091C00085FF55 -:10987000FCCF8AE08093C600FE018491E1E1F2E52D -:10988000882349F09091C00095FFFCCF8093C600DB -:1098900031968491F5CFEFE4F4E58491882341F08B -:1098A0009091C00095FFFCCF8093C6003196F5CF14 -:1098B0008091C00085FFFCCF8AE08093C600FE0146 -:1098C0008491E1E1F2E5882349F09091C00095FF91 -:1098D000FCCF8093C60031968491F5CF40913B1325 -:1098E00050913C1360913D1370913E1385E494E5D3 -:1098F0000E940A6220E030E040E752E46091130CDD -:109900007091140C8091150C9091160C0E9474F9B2 -:10991000AB01BC0182E494E50E940A628091C00020 -:1099200085FFFCCF8AE08093C600FE018491E1E1CF -:10993000F2E5882349F09091C00095FFFCCF809319 -:10994000C60031968491F5CFE8EEF3E58491882343 -:1099500041F09091C00095FFFCCF8093C6003196F6 -:10996000F5CF8091C00085FFFCCF8AE08093C600D0 -:10997000FE018491E1E1F2E5882349F09091C00075 -:1099800095FFFCCF8093C60031968491F5CF40912E -:10999000441350E060E070E08EED93E50E941C629D -:1099A0008091C00085FFFCCF8AE08093C600FE0155 -:1099B0008491E1E1F2E5882349F09091C00095FFA0 -:1099C000FCCF8093C60031968491F5CF80916B13C4 -:1099D0008823A1F1EBECF3E58491882341F0909189 -:1099E000C00095FFFCCF8093C6003196F5CF8091E3 -:1099F000C00085FFFCCF8AE08093C600FE01C491C1 -:109A0000E1E1F2E5CC2349F08091C00085FFFCCF75 -:109A1000C093C6003196C491F5CF40913F0C509150 -:109A2000400C6091410C7091420C81EC93E50E94D6 -:109A30000A628091C00085FFFCCF11C0E5EAF3E522 -:109A40008491882341F09091C00095FFFCCF8093D2 -:109A5000C6003196F5CF8091C00085FFFCCF8AE02B -:109A60008093C600DF91CF910895AF92BF92CF92BD -:109A7000DF92EF92FF920F931F93CF93DF93CDB7B7 -:109A8000DEB7E0970FB6F894DEBF0FBECDBF80E122 -:109A9000EBEDFCE0DE01919601900D928A95E1F7E5 -:109AA00080E1EBEEFCE0DE01519601900D928A958B -:109AB000E1F780E1EBEFFCE0DE01119601900D9201 -:109AC0008A95E1F76E0181E2C80ED11C8FEFE82E76 -:109AD0008CE1F82E8E010F5E1F4F6FE07DE1AE012D -:109AE0004F5F5F4F9FEEA92E9CE1B92E20E030E042 -:109AF000F60181919191A191B1916F01F70181934B -:109B00009193A193B1937F01F80181919191A191DA -:109B1000B1918F01FB0181939193A193B193BF0107 -:109B2000FA0181919191A191B191AF01F5018193D8 -:109B30009193A193B1935F012F5F3F4F2430310583 -:109B4000B9F60E94CBEB80E090E8ABE3B5E48093FC -:109B5000E71C9093E81CA093E91CB093EA1C809347 -:109B6000E31C9093E41CA093E51CB093E61C1092B8 -:109B7000EB1C1092EC1C1092ED1C1092EE1C80E27B -:109B80009EE4A0E0B0E080931F1D9093201DA09361 -:109B9000211DB093221D1092D31C1092D41C109240 -:109BA000D51C1092D61C80E090E0A0EAB1E480932E -:109BB000DF1C9093E01CA093E11CB093E21C8DECA1 -:109BC0009CECACECBEE38093DB1C9093DC1CA0937C -:109BD000DD1CB093DE1C80E090E0A0EAB0E480934E -:109BE000D71C9093D81CA093D91CB093DA1C109268 -:109BF0005713109258131092591310925A1310922F -:109C0000531310925413109255131092561310922E -:109C10004F131092501310925113109252138CED57 -:109C200090E09093DD168093DC1682E390E09093B1 -:109C3000DB168093DA168FEF90E09093D91680931D -:109C4000D8162DE131E03093D7162093D61624E6AE -:109C500030E03093D5162093D4169093D31680938A -:109C6000D21683E393E3ABE4B1E4809318029093BC -:109C70001902A0931A02B0931B026FE175E88BE8FA -:109C80009FE30E94434A60931402709315028093ED -:109C90001602909317026AE979E985E192E40E943D -:109CA0004F4A6093100270931102809312029093B6 -:109CB00013020E94263F80E090E0A0E8BFE380937B -:109CC0000C0290930D02A0930E02B0930F0210921B -:109CD000441380E090E0A0E4B0E480931F0C9093E4 -:109CE000200CA093210CB093220C40E050E064E3E0 -:109CF00072E44093170C5093180C6093190C7093F6 -:109D00001A0C10923F1310924013109241131092AC -:109D1000421310923B1310923C1310923D13109279 -:109D20003E1340E050E060E071E44093130C509328 -:109D3000140C6093150C7093160C10926B13809397 -:109D40003F0C9093400CA093410CB093420C0E94A6 -:109D50001A71E1E1F2E58491882341F09091C0000D -:109D600095FFFCCF8093C6003196F5CFE3E8F3E58D -:109D70008491882341F09091C00095FFFCCF80939F -:109D8000C6003196F5CF8091C00085FFFCCF8AE0F8 -:109D90008093C600E0960FB6F894DEBF0FBECDBF2D -:109DA000DF91CF911F910F91FF90EF90DF90CF90B7 -:109DB000BF90AF9008951F920F920FB60F9211248B -:109DC0000BB60F922F933F934F935F936F938F93A5 -:109DD0009F93EF93FF936091C60020917A17309183 -:109DE0007B17C90101968F77992740917C17509175 -:109DF0007D178417950741F0F901E650F94E60830D -:109E000090937B1780937A17FF91EF919F918F9199 -:109E10006F915F914F913F912F910F900BBE0F90DB -:109E20000FBE0F901F9018959A01AB01211581EE7E -:109E300038074105510549F182E08093C00060E098 -:109E400079E08DE390E00E949FFA215031094109A9 -:109E50005109CA01B90122E030E040E050E00E941F -:109E60009FFA3093C5002093C4008091C1008061A7 -:109E70008093C1008091C10088608093C10080916F -:109E8000C10080688093C10008951092C00020E155 -:109E900030E0E7CF20917C1730917D1780917A17C1 -:109EA00090917B178217930771F0F901E650F94EF4 -:109EB00080812F5F3F4F2F77332730937D1720937B -:109EC0007C1790E008958FEF9FEF089580917C17A5 -:109ED00090917D1790937B1780937A1708954F92F6 -:109EE0005F926F927F928F929F92AF92BF92CF922A -:109EF000DF92EF92FF920F931F93CF93DF93CDB733 -:109F0000DEB7A0970FB6F894DEBF0FBECDBF5C01E1 -:109F10004115510561057105E9F420E030E040E3A9 -:109F200050E060E070E0A0960FB6F894DEBF0FBE80 -:109F3000CDBFDF91CF911F910F91FF90EF90DF90F8 -:109F4000CF90BF90AF909F908F907F906F905F90D9 -:109F50004F905BC08E010F5F1F4FC12CD12C76013B -:109F60004801422E512C612C712C8FEFC81AD80A4F -:109F7000E80AF80ACB01BA01A30192010E947DFA16 -:109F8000CA01F80161938F01A901BC014115510576 -:109F90006105710551F7F1E0CF1AD108E108F10828 -:109FA000F401EC0DFD1D80818A3010F440E301C006 -:109FB00047E3480F552747FD5095652F752F20E043 -:109FC00030E0C50122D081E0C81AD108E108F108CB -:109FD000EFEFCE16DE06EE06FE0611F7A0960FB6E0 -:109FE000F894DEBF0FBECDBFDF91CF911F910F91CF -:109FF000FF90EF90DF90CF90BF90AF909F908F90A9 -:10A000007F906F905F904F9008952115310539F43E -:10A010008091C00085FFFCCF4093C60008952A3090 -:10A02000310509F424C05BCF9A01462F552747FD1F -:10A030005095652F752FE9CFCF93DF93EC0120E08A -:10A0400030E04DE050E060E070E0DFDF20E030E045 -:10A050004AE050E060E070E0CE01DF91CF91D5CFD3 -:10A060009A01AB01662757FD6095762FCECFCF9230 -:10A07000DF92EF92FF92CF93DF93EC016A017B01B5 -:10A0800077FF0FC020E030E04DE250E060E070E08C -:10A09000BCDFF094E094D094C094C11CD11CE11CAE -:10A0A000F11C2AE0B701A601CE01DF91CF91FF900C -:10A0B000EF90DF90CF9013CF2115310539F48091C7 -:10A0C000C00085FFFCCF4093C600089508CF9A01D9 -:10A0D000462F50E060E070E0EFCFCF93DF93EC01CC -:10A0E0009A01AB0160E070E0E7DFCE01DF91CF9134 -:10A0F000A3CF8F929F92AF92BF92CF92DF92EF92B7 -:10A10000FF921F93CF93DF93EC016A017B01122F23 -:10A1100020E030E0A901C701B6010E949FF687FF49 -:10A120000CC020E030E04DE250E060E070E0CE0195 -:10A130006CDFF7FAF094F7F8F094B12C60E070E07F -:10A1400080E09FE3B11641F020E030E040E251E4CE -:10A150000E94A6F6B394F6CF9B01AC01C701B601ED -:10A160000E94C6F56B017C010E9413F74B015C0154 -:10A170000E943FF79B01AC01C701B6010E94C5F5E3 -:10A180006B017C012AE0B501A401CE01A8DE1123F8 -:10A1900061F0EDE0FEE08191882339F09091C000FC -:10A1A00095FFFCCF8093C600F6CF112319F120E074 -:10A1B00030E040E251E4C701B6010E9474F96B013E -:10A1C0007C010E940EF74B01AA2497FCA094BA2CA4 -:10A1D000B501A401CE014BDFC501B4010E9441F7D6 -:10A1E0009B01AC01C701B6010E94C5F56B017C0162 -:10A1F0001150DBCFDF91CF911F91FF90EF90DF9057 -:10A20000CF90BF90AF909F908F90089572CFCF93D3 -:10A21000DF931F92CDB7DEB7698341E050E0BE0106 -:10A220006F5F7F4F04960E9482370F90DF91CF912E -:10A230000895FB0101900020E9F7AF014150510959 -:10A24000461B570B04960C94823780919717811107 -:10A2500009C080919617811105C0809195178111D1 -:10A2600001C00895E1E1F2E58491882341F09091E5 -:10A27000C00095FFFCCF8093C6003196F5CFE091EA -:10A280007913F0E0EE0FFF1FE45EFD4F0190F081C7 -:10A29000E02DE455FE4F0190F081E02D849188235C -:10A2A00041F09091C00095FFFCCF8093C60031969D -:10A2B000F5CF80919717882371F16091981770916D -:10A2C000991780919A1790919B170E9441F72091BE -:10A2D000FF1C3091001D4091011D5091021D0E94F4 -:10A2E000A6F6AB01BC0184EB96E50E940A62E09100 -:10A2F0007913F0E0EE0FFF1FE45EFD4F0190F08157 -:10A30000E02DE455FE4F62EB76E5808191810E945D -:10A31000E74C0E94F9A080919617882371F1609113 -:10A320009C1770919D1780919E1790919F170E9486 -:10A3300041F72091031D3091041D4091051D50915E -:10A34000061D0E94A6F6AB01BC018EEA96E50E94AE -:10A350000A62E0917913F0E0EE0FFF1FE45EFD4F1B -:10A360000190F081E02DE455FE4F6CEA76E58081A6 -:10A3700091810E94E74C0E94F9A080919517882353 -:10A3800071F16091A0177091A1178091A21790911F -:10A39000A3170E9441F72091071D3091081D40919D -:10A3A000091D50910A1D0E94A6F6AB01BC0188EA66 -:10A3B00096E50E940A62E0917913F0E0EE0FFF1F2C -:10A3C000E45EFD4F0190F081E02DE455FE4F66EA1A -:10A3D00076E5808191810E94E74C0E94F9A08091EE -:10A3E000C00085FFFCCF8AE08093C60010929717CB -:10A3F0001092961710929517089510929717109231 -:10A4000096171092951708958093730C0895EFE6B0 -:10A41000F0E080818260808308951F920F920FB6D2 -:10A420000F9211240BB60F920F931F932F933F930C -:10A430004F935F936F937F938F939F93AF93BF934C -:10A44000EF93FF938091C8179091C917892B09F05A -:10A450009EC19091CB178091CA17981771F0E09127 -:10A46000CA178DE4E89FF0011124E453F84EDF0190 -:10A47000A45BBF4F81E08C9302C0E0E0F0E0F0937A -:10A48000C917E093C817309709F47BC1DF01A45BBB -:10A49000BF4F81E08C931092AB171092AC171092C3 -:10A4A000AD171092AE1760AD71AD61349CE97907BC -:10A4B00028F461329EE4790748F002C060E47CE948 -:10A4C000769567957695679584E007C0613197E248 -:10A4D000790730F07695679582E08093A81707C0DA -:10A4E0008093A8176032710510F460E270E060524A -:10A4F0007109611588E07807D0F0872F9927880FB8 -:10A50000991F880F991F8854954AFC0132964591EE -:10A510005491AA27659F9001649F210D3A1F0694CC -:10A520002A1F3A1F1124FC01859194911DC0CB0173 -:10A53000969587958C7F8854994AFC014591549152 -:10A540000296FC0185919491FB01E770FF278E9F95 -:10A5500090018F9F300D9E9F300D112403E03695A2 -:10A5600027950A95E1F7CA01821B930B8436910562 -:10A5700000F5E0917913F0E0EE0FFF1FE45EFD4F70 -:10A580000190F081E02DE655FE4F0190F081E02D25 -:10A590008191882339F09091C00095FFFCCF809382 -:10A5A000C600F6CF4AE050E089EF96E196DD84E6FA -:10A5B00090E09093A7178093A6178091A8179927EA -:10A5C00087FD90959093A5178093A417E091C817E5 -:10A5D000F091C91764AD75AD7093AA176093A91770 -:10A5E00061349CE9790728F461328EE4780748F0F9 -:10A5F00002C060E47CE9769567957695679584E07E -:10A6000007C0613197E2790730F07695679582E06F -:10A610008093A81708C081E08093A8176032710565 -:10A6200010F460E270E060527109611588E078070B -:10A63000E0F0872F9927880F991F880F991F88545A -:10A64000954AFC01329625913491AA27639FA00177 -:10A65000629F410D5A1F06944A1F5A1F1124FC0184 -:10A6600025913491241B350B1EC0CB0196958795FF -:10A670008C7F8854994AFC01259134910296FC0103 -:10A6800045915491FB01E770FF274E9FC0014F9FFA -:10A69000900D5E9F900D112443E0969587954A9505 -:10A6A000E1F7281B390B2436310500F5E0917913C9 -:10A6B000F0E0EE0FFF1FE45EFD4F0190F081E02D12 -:10A6C000E655FE4F0190F081E02D8191882339F00D -:10A6D0009091C00095FFFCCF8093C600F6CF4AE072 -:10A6E00050E089EF96E1F9DC24E630E0C901A0E012 -:10A6F000B0E08093AF179093B017A093B117B093C9 -:10A70000B2173093890020938800E091C817F09128 -:10A71000C91780899189A289B389B695A79597951C -:10A720008795B095A095909581959F4FAF4FBF4F5E -:10A730008093C3179093C417A093C517B093C617FF -:10A740008093BF179093C017A093C117B093C217FF -:10A750008093BB179093BC17A093BD17B093BE17FF -:10A760008093B7179093B817A093B917B093BA17FF -:10A770001092B3171092B4171092B5171092B61723 -:10A7800006C080ED97E09093890080938800E09167 -:10A79000C817F091C917309709F4A1C580A180931B -:10A7A000C7179FB780FF09C0F89480910B018D7F78 -:10A7B00080930B019FBF8FEF08C0F89480910B012D -:10A7C000826080930B019FBF81E080936F0C80912A -:10A7D000C7179FB781FF09C0F89480910B018E7F46 -:10A7E00080930B019FBF8FEF08C0F89480910B01FD -:10A7F000816080930B019FBF81E08093700C20915A -:10A80000C7173091730C20FF3BC0332309F472C08B -:10A810001E9902C080E031C080919417882361F1B5 -:10A82000E091C817F091C91780819181A281B3810D -:10A83000181619061A061B06FCF480917E179091D3 -:10A840007F17A0918017B0918117809398179093EC -:10A850009917A0939A17B0939B1781E0809397174D -:10A8600080899189A289B3898093B3179093B41793 -:10A87000A093B517B093B61781E0809394173AC0B0 -:10A880003323C1F140B151E042FB442740F9452751 -:10A8900079F180919317882359F1E091C817F091CD -:10A8A000C91780819181A281B381181619061A06F1 -:10A8B0001B06F4F480917E1790917F17A09180176A -:10A8C000B09181178093981790939917A0939A1736 -:10A8D000B0939B175093971780899189A289B38968 -:10A8E0008093B3179093B417A093B517B093B6178E -:10A8F0004093931721FF3BC0332309F471C01D9986 -:10A9000002C080E031C080919217882361F1E0910C -:10A91000C817F091C91784819581A681B78118164F -:10A9200019061A061B06FCF4809182179091831772 -:10A93000A0918417B091851780939C1790939D17D1 -:10A94000A0939E17B0939F1781E0809396178089FC -:10A950009189A289B3898093B3179093B417A09378 -:10A96000B517B093B61781E08093921739C033239F -:10A97000B9F130B141E036953170342779F18091E9 -:10A980009117882359F1E091C817F091C917848174 -:10A990009581A681B781181619061A061B06F4F4CC -:10A9A0008091821790918317A0918417B091851799 -:10A9B00080939C1790939D17A0939E17B0939F1719 -:10A9C0004093961780899189A289B3898093B317A0 -:10A9D0009093B417A093B517B093B617309391170F -:10A9E0009FB722FF47C0F89480910B018B7F809323 -:10A9F0000B019FBF8FEF8093710C8091730C8823A4 -:10AA000009F47DC01C9902C080E031C0809190178C -:10AA1000882361F1E091C817F091C917808591856D -:10AA2000A285B385181619061A061B06FCF4809138 -:10AA3000861790918717A0918817B09189178093F6 -:10AA4000A0179093A117A093A217B093A31781E02A -:10AA50008093951780899189A289B3898093B317D0 -:10AA60009093B417A093B517B093B61781E0809375 -:10AA7000901745C0F89480910B01846080930B017E -:10AA80009FBF31E03093710C8091730C8823B9F132 -:10AA900026B12095221F2227221F79F180918F173E -:10AAA000882359F1E091C817F091C91780859185E5 -:10AAB000A285B385181619061A061B06F4F48091B0 -:10AAC000861790918717A0918817B0918917809366 -:10AAD000A0179093A117A093A217B093A317309338 -:10AAE000951780899189A289B3898093B317909330 -:10AAF000B417A093B517B093B61720938F17809112 -:10AB0000C7179FB783FF09C0F89480910B01806439 -:10AB100080930B019FBF8FEF08C0F89480910B01C9 -:10AB20008F7B80930B019FBF81E08093720C20E0AC -:10AB30008091A81728170CF0ADC18091C00087FF45 -:10AB400019C03091C60040917A1750917B17CA0105 -:10AB500001968F77992760917C1770917D178617E2 -:10AB6000970741F0FA01E650F94E308390937B1736 -:10AB700080937A17E091C817F091C9178091C31795 -:10AB80009091C417A091C517B091C617408151810B -:10AB900062817381840F951FA61FB71F8093C3170F -:10ABA0009093C417A093C517B093C617181619062B -:10ABB0001A061B06CCF5409AE091C817F091C91708 -:10ABC0008091C3179091C417A091C517B091C61773 -:10ABD0004089518962897389841B950BA60BB70B39 -:10ABE0008093C3179093C417A093C517B093C6174B -:10ABF00040916F0C80917E1790917F17A0918017E4 -:10AC0000B0918117552747FD5095652F752F840FFB -:10AC1000951FA61FB71F80937E1790937F17A09351 -:10AC20008017B09381174098E091C817F091C91729 -:10AC30008091BF179091C017A091C117B091C21712 -:10AC40004481558166817781840F951FA61FB71FA8 -:10AC50008093BF179093C017A093C117B093C217EA -:10AC6000181619061A061B06CCF5419AE091C8176A -:10AC7000F091C9178091BF179091C017A091C1178B -:10AC8000B091C2174089518962897389841B950BE1 -:10AC9000A60BB70B8093BF179093C017A093C11753 -:10ACA000B093C2174091700C8091821790918317D6 -:10ACB000A0918417B0918517552747FD5095652FB2 -:10ACC000752F840F951FA61FB71F8093821790932F -:10ACD0008317A0938417B09385174198E091C81704 -:10ACE000F091C9178091BB179091BC17A091BD1727 -:10ACF000B091BE174085518562857385840F951F7D -:10AD0000A61FB71F8093BB179093BC17A093BD17C6 -:10AD1000B093BE17181619061A061B06CCF5429AF0 -:10AD2000E091C817F091C9178091BB179091BC179B -:10AD3000A091BD17B091BE1740895189628973896E -:10AD4000841B950BA60BB70B8093BB179093BC1776 -:10AD5000A093BD17B093BE174091710C80918617D8 -:10AD600090918717A0918817B0918917552747FDB3 -:10AD70005095652F752F840F951FA61FB71F8093C1 -:10AD8000861790938717A0938817B09389174298D6 -:10AD9000E091C817F091C9178091B7179091B81733 -:10ADA000A091B917B091BA17448555856685778506 -:10ADB000840F951FA61FB71F8093B7179093B817DE -:10ADC000A093B917B093BA17181619061A061B06DE -:10ADD000CCF5439AE091C817F091C9178091B71745 -:10ADE0009091B817A091B917B091BA1740895189BD -:10ADF00062897389841B950BA60BB70B8093B717D9 -:10AE00009093B817A093B917B093BA174091720CEA -:10AE100080918A1790918B17A0918C17B0918D1704 -:10AE2000552747FD5095652F752F840F951FA61F39 -:10AE3000B71F80938A1790938B17A0938C17B093AA -:10AE40008D1743988091B3179091B417A091B517BF -:10AE5000B091B6170196A11DB11D8093B3179093C1 -:10AE6000B417A093B517B093B6174091B31750918C -:10AE7000B4176091B5177091B617E091C817F091AB -:10AE8000C91780899189A289B389481759076A0728 -:10AE90007B07B0F04091B3175091B4176091B5178C -:10AEA0007091B617E091C817F091C91784899589F8 -:10AEB000A689B78984179507A607B70718F4E6C0CF -:10AEC0002F5F36CE4091AF175091B0176091B117F8 -:10AED0007091B217048D158D268D378DAA27419F4D -:10AEE000B12D529FC001629F900D619F800D911DF9 -:10AEF000429FB00D811D9A1F519FB00D811D9A1F59 -:10AF0000609FB00D811D9A1F509FB10D8A1F9A1F1F -:10AF1000B6958A1F9A1F112444AD55AD480F591F8D -:10AF20005093AA174093A91780AD91ADA2ADB3ADD0 -:10AF300060E070E084179507A607B70720F49093A8 -:10AF4000AA178093A9176091A9177091AA17613465 -:10AF50009CE9790728F461328EE4780748F002C052 -:10AF600060E47CE9769567957695679584E007C0FF -:10AF7000613197E2790730F07695679582E08093AA -:10AF8000A81708C081E08093A8176032710510F4FB -:10AF900060E270E060527109611588E07807E0F0C6 -:10AFA000872F9927880F991F880F991F8854954AD2 -:10AFB000FC01329625913491AA27639FA001629FDC -:10AFC000410D5A1F06944A1F5A1F1124FC01259156 -:10AFD0003491241B350B1EC0CB01969587958C7F31 -:10AFE0008854994AFC01259134910296FC014591BF -:10AFF0005491FB01E770FF274E9FC0014F9F900DBA -:10B000005E9F900D112443E0969587954A95E1F750 -:10B01000281B390B2436310500F5E0917913F0E057 -:10B02000EE0FFF1FE45EFD4F0190F081E02DE6552D -:10B03000FE4F0190F081E02D8191882339F09091AD -:10B04000C00095FFFCCF8093C600F6CF4AE050E0E9 -:10B0500089EF96E142D824E630E0309389002093CE -:10B0600088008091AF179091B017A091B117B0915F -:10B07000B217820F931FA11DB11D8093AF1790933C -:10B08000B017A093B117B093B21704C14091B31792 -:10B090005091B4176091B5177091B617808D918D4E -:10B0A000A28DB38D84179507A607B70708F0E6C0F1 -:10B0B0004091AB175091AC176091AD177091AE17DE -:10B0C000048D158D268D378DAA27419FB12D529F56 -:10B0D000C001629F900D619F800D911D429FB00D38 -:10B0E000811D9A1F519FB00D811D9A1F609FB00D49 -:10B0F000811D9A1F509FB10D8A1F9A1FB6958A1FF6 -:10B100009A1F11242091A9173091AA17E05CFF4FD4 -:10B110002817390718F42081318102C0281B390B08 -:10B1200080819181A281B381A90160E070E048171C -:10B1300059076A077B0708F49C0121349CE9390709 -:10B1400028F421328EE4380748F002C020E43CE9BC -:10B15000369527953695279584E007C0213197E2EB -:10B16000390730F03695279582E08093A81708C0FC -:10B1700081E08093A8172032310510F420E230E0FE -:10B18000B90160527109611588E07807E0F0872FF6 -:10B190009927880F991F880F991F8854954AFC0199 -:10B1A000329625913491AA27639FA001629F410D99 -:10B1B0005A1F06944A1F5A1F1124FC0125913491ED -:10B1C000241B350B1EC0CB01969587958C7F885428 -:10B1D000994AFC01259134910296FC0145915491C4 -:10B1E000FB01E770FF274E9FC0014F9F900D5E9FB0 -:10B1F000900D1124E3E096958795EA95E1F7281BD9 -:10B20000390B2436310508F5E0917913F0E0EE0FA3 -:10B21000FF1FE45EFD4F0190F081E02DE655FE4FEB -:10B220000190F081E02D8191882339F09091C00048 -:10B2300095FFFCCF8093C600F6CF4AE050E089EF3F -:10B2400096E10E946DD024E630E03093890020938F -:10B2500088008091AB179091AC17A091AD17B09179 -:10B26000AE17820F931FA11DB11D8093AB17909352 -:10B27000AC17A093AD17B093AE170CC08091A61772 -:10B280009091A71790938900809388008091A417CC -:10B290008093A8174091B3175091B4176091B517D8 -:10B2A0007091B617E091C817F091C91780899189FC -:10B2B000A289B389481759076A077B0780F0109263 -:10B2C000C9171092C8179091CB178091CA17981779 -:10B2D00031F08091CA178F5F8F708093CA17FF91EA -:10B2E000EF91BF91AF919F918F917F916F915F91FE -:10B2F0004F913F912F911F910F910F900BBE0F9087 -:10B300000FBE0F901F9018959091CB178091CA1780 -:10B31000981741F00E94C74580E00E9473700E9418 -:10B3200082A3F2CF0895CF93DF93EFB7F894EC01A7 -:10B3300088819981AA81BB8180937E1790937F1722 -:10B34000A0938017B0938117EB0188819981AA811E -:10B35000BB818093821790938317A0938417B09337 -:10B360008517EA0188819981AA81BB81809386171C -:10B3700090938717A0938817B0938917E901888164 -:10B380009981AA81BB8180938A1790938B17A09390 -:10B390008C17B0938D17EFBFDF91CF9108952FB722 -:10B3A000F894FC0180819181A281B38180938A17F6 -:10B3B00090938B17A0938C17B0938D172FBF089580 -:10B3C0002FB7F89494E0899FF0011124E258F84EC9 -:10B3D00060817181828193812FBF089595DF179AD3 -:10B3E00010924C13169A10924D13159A10924E13F8 -:10B3F000149A089580916F008D7F80936F009091D3 -:10B40000CB178091CA17981769F09091CB1780914C -:10B41000CA179817A1F38091CA178F5F8F70809316 -:10B42000CA17EDCF1092C9171092C81780916F00FC -:10B43000826080936F000895813039F120F082306E -:10B4400009F445C0089517988091090182702FB7BB -:10B45000662329F0F89490910B01926004C0F8944F -:10B4600090910B019D7F90930B012FBF409A4098C4 -:10B470009FB7882329F0F89480910B01826048C01F -:10B48000F89480910B018D7F43C01698809109013B -:10B4900081702FB7662329F0F89490910B01916089 -:10B4A00004C0F89490910B019E7F90930B012FBFE5 -:10B4B000419A41989FB7882329F0F89480910B0115 -:10B4C000816026C0F89480910B018E7F21C0159871 -:10B4D0008091090184702FB7662329F0F894909128 -:10B4E0000B01946004C0F89490910B019B7F9093A2 -:10B4F0000B012FBF429A42989FB7882329F0F894F6 -:10B5000080910B01846004C0F89480910B018B7FC3 -:10B5100080930B019FBF0895EF92FF920F931F93AB -:10B52000CF93DF931F92CDB7DEB77B018C01061B53 -:10B53000170B460FC701800F911F49830F948A0292 -:10B54000F70181937F0149814E13F4CF0F90DF9172 -:10B55000CF911F910F91FF90EF900895DB01811122 -:10B560000DC02FEF30E00E94C1FA20ED37E040E03F -:10B5700050E00E949FFAB9018EE21DC0813069F44B -:10B580002FEF30E00E94C1FA20ED37E040E050E0BC -:10B590000E949FFAB9018DE20EC0823071F42FEF44 -:10B5A00030E00E94C1FA20ED37E040E050E00E9418 -:10B5B0009FFAB9018CE20C9402EE089541E06EE826 -:10B5C00077E18FEF9FE0A8DF61E08EE20E940CEF51 -:10B5D00061E08DE20E940CEF61E08CE20E940CEFD2 -:10B5E00080918E17811115C08091740C9091750C0B -:10B5F0009093810C8093800C8091760C9091770CC5 -:10B600009093830C8093820C8091780C9091790CAC -:10B6100014C080917A0C90917B0C9093810C809354 -:10B62000800C80917C0C90917D0C9093830C809386 -:10B63000820C80917E0C90917F0C9093850C80936E -:10B64000840C6091800C7091810C80E087DF6091A8 -:10B65000820C7091830C81E081DFA091840CB09109 -:10B66000850C2FEF30E00E94C1FA20ED37E040E07A -:10B6700050E00E949FFAB9018CE20E9402EE809194 -:10B680002101887F8160809321010895CF93C42F89 -:10B6900067FD20C0813061F028F0823079F083307E -:10B6A00099F018C088E20E9445EFC7FF1DC02AC06C -:10B6B00085E40E9445EFC7FF1AC024C084E40E94BD -:10B6C00045EFC7FF17C01EC081E40E9445EFC7FFCA -:10B6D00014C018C0C7FD16C0813049F028F0823070 -:10B6E00049F0833051F00EC06C2F89E208C06C2FF6 -:10B6F00087E205C06C2F83E402C06C2F82E4CF91F7 -:10B700000C9445EFCF910895643079F028F46130BE -:10B7100041F0623041F00895683051F0603141F0FD -:10B72000089540E003C040E004C041E060E002C092 -:10B7300041E061E0ABCFFF920F931F93CF93DF9374 -:10B7400000D01F921F92CDB7DEB785E0EBE0FDE0A1 -:10B75000DE01119601900D928A95E1F761E088E291 -:10B760000E940CEF61E089E20E940CEF61E085E449 -:10B770000E940CEF61E087E20E940CEF61E084E43C -:10B780000E940CEF61E083E40E940CEF61E081E431 -:10B790000E940CEF61E082E40E940CEF8E010F5FCB -:10B7A0001F4FF12CF80161918F018F2DADDFF394C4 -:10B7B000F5E0FF12F7CF0F900F900F900F900F90C2 -:10B7C000DF91CF911F910F91FF900895F7DEB3DFC6 -:10B7D000EAE0F1E080818260808380818160808303 -:10B7E0008081846080838081806480830F9A179A2F -:10B7F0000E9A169A0D9A159A0C9A149A26982E9AC1 -:10B8000025982D9A24982C9A0A98129A0998119A98 -:10B810003F98479A389A4098179A10924C13399A41 -:10B820004198169A10924D133A9A4298159A10928E -:10B830004E133B9A4398149AA1E8B0E08C918F7E06 -:10B840008C938C9188608C93E0E8F0E080818D7F10 -:10B85000808380818E7F808380818F7380838081CD -:10B860008F7C80838C91887F82608C9380E090E4D1 -:10B870009093890080938800109285001092840034 -:10B88000EFE6F0E080818260808381E08093730C3A -:10B8900078940895E8E9F6E58491882341F0909141 -:10B8A000C00095FFFCCF8093C6003196F5CFE4E948 -:10B8B000F6E58491882341F09091C00095FFFCCF7C -:10B8C0008093C6003196F5CF88E20E947AEF4AE075 -:10B8D00050E0BC0189EF96E10E9430D089E20E94DD -:10B8E0007AEF4AE050E0BC0189EF96E10E9430D047 -:10B8F0008091C00085FFFCCF8AE08093C600E0E91C -:10B90000F6E58491882341F09091C00095FFFCCF2B -:10B910008093C6003196F5CF85E40E947AEF4AE025 -:10B9200050E0BC0189EF96E10E9430D087E20E948E -:10B930007AEF4AE050E0BC0189EF96E10E9430D0F6 -:10B940008091C00085FFFCCF8AE08093C600ECE8C0 -:10B95000F6E58491882341F09091C00095FFFCCFDB -:10B960008093C6003196F5CF84E40E947AEF4AE0D6 -:10B9700050E0BC0189EF96E10E9430D083E40E9440 -:10B980007AEF4AE050E0BC0189EF96E10E9430D0A6 -:10B990008091C00085FFFCCF8AE08093C600E7E875 -:10B9A000F6E58491882341F09091C00095FFFCCF8B -:10B9B0008093C6003196F5CF81E40E947AEF4AE089 -:10B9C00050E0BC0189EF96E10E9430D082E40E94F1 -:10B9D0007AEF4AE050E0BC0189EF96E10E9430D056 -:10B9E0008091C00085FFFCCF8AE08093C600089557 -:10B9F000CF93DF931F92CDB7DEB72091151E309104 -:10BA0000161ECE0101962115310519F0821B930BEC -:10BA100002C08B519E410F90DF91CF9108952F92DC -:10BA20003F924F925F926F927F928F929F92AF92CE -:10BA3000BF92CF92DF92EF92FF920F931F93CF931B -:10BA4000DF93CDB7DEB768970FB6F894DEBF0FBEB1 -:10BA5000CDBF1C012A013B0148015901DC01D896E8 -:10BA60006D917D918D919C91DB970E943FF76B01C9 -:10BA70007C01A30192010E9474F90E948CF60E943D -:10BA800013F769877A878B879C87A5019401C70183 -:10BA9000B6010E9474F90E948CF60E9413F76D871C -:10BAA0007E878F87988B29853A854B855C852837DB -:10BAB00031054105510540F488E790E0A0E0B0E091 -:10BAC00089879A87AB87BC872D853E854F855889A6 -:10BAD000283731054105510540F488E790E0A0E0A2 -:10BAE000B0E08D879E87AF87B88B91012C5B3F4F6D -:10BAF000D9018D919D910D90BC91A02D8D839E8338 -:10BB0000AF83B887BC01CD010E9441F769837A8376 -:10BB10008B839C8369857A858B859C850E943FF702 -:10BB2000698B7A8B8B8B9C8B20E030E0A90169813B -:10BB30007A818B819C810E949FF6882339F1A7012D -:10BB40009601C701B6010E9474F94B015C01298975 -:10BB50003A894B895C89CA01B9010E9474F99B0139 -:10BB6000AC01C501B4010E94C5F54B015C012981FE -:10BB70003A814B815C81CA01B9010E94C6F59B01E3 -:10BB8000AC01C501B4010E94A6F603C060E070E0FC -:10BB9000CB010E948CF60E940EF72B013C016D81B7 -:10BBA0007E818F81988590958095709561957F4F66 -:10BBB0008F4F9F4F0E9441F74B015C016D857E8541 -:10BBC0008F8598890E943FF76D837E838F83988746 -:10BBD00020E030E0A901C501B4010E949FF688234E -:10BBE00049F12D813E814F815885CA01B9010E94DA -:10BBF00074F96D8B7E8B8F8B988FA7019601C7018F -:10BC0000B6010E9474F99B01AC016D897E898F8910 -:10BC1000988D0E94C5F56B017C01A5019401C501B9 -:10BC2000B4010E94C6F59B01AC01C701B6010E9498 -:10BC3000A6F603C060E070E0CB010E947CF7F10142 -:10BC400080889188A288B38875016401C418D508DA -:10BC5000E608F7080E940EF7C61AD70AE80AF90A9A -:10BC6000F7FE6BC020E030E0A90169817A818B8109 -:10BC70009C810E949FF6882309F447C029813A815C -:10BC80004B815C81CA01B9010E94C6F56B017C0140 -:10BC9000C501B4010E943FF79B01AC01C701B60189 -:10BCA0000E9474F96B017C0129893A894B895C896E -:10BCB000CA01B9010E9474F99B01AC01C701B60128 -:10BCC0000E94C5F56B017C012D813E814F81588515 -:10BCD000CA01B9010E9474F99B01AC01C701B60108 -:10BCE0000E94C6F56B017C0120E030E040E850E4A2 -:10BCF00069817A818B819C810E9474F99B01AC01DE -:10BD0000C701B6010E94A6F603C060E070E0CB0157 -:10BD10000E948CF60E940EF72B013C0197FF03C096 -:10BD2000412C512C3201481459046A047B0410F050 -:10BD300024013501C12CD12C76018FB7F894F10183 -:10BD4000E45BFF4F9081911125C0D10154964D9233 -:10BD50005D926D927C925797C40CD51CE61CF71C23 -:10BD6000F101C08ED18EE28EF38E29853A854B8506 -:10BD70005C85DC962D933D934D935C93DF97A05C9F -:10BD8000BF4F2D853E854F8558892D933D934D930B -:10BD90005C9313978FBF68960FB6F894DEBF0FBE03 -:10BDA000CDBFDF91CF911F910F91FF90EF90DF906A -:10BDB000CF90BF90AF909F908F907F906F905F904B -:10BDC0004F903F902F9008954F925F926F927F9285 -:10BDD000AF92BF92CF92DF92EF92FF920F931F9399 -:10BDE000CF93DF93EB017A01209709F458C04115F6 -:10BDF000510509F454C0AAA4BBA40CA51DA5950126 -:10BE0000A8016EA17FA188A599A50E949FF688230D -:10BE100009F445C08FA981113AC0F70146A057A087 -:10BE200060A471A4A3019201B501C8010E94A2F807 -:10BE300018166CF5A3019201C301B2010E9474F9B6 -:10BE40006B017C018AA99BA9ACA9BDA9BC01CD014C -:10BE500090589B01AC010E94C6F52EA53FA548A9AC -:10BE600059A90E9474F99B01AC01C701B6010E9457 -:10BE7000C5F50E94E1F96B017C019B01AC01B501A4 -:10BE8000C8010E949FF687FD02C056018701A501E7 -:10BE9000B8014EA35FA368A779A781E08EABDF91BD -:10BEA000CF911F910F91FF90EF90DF90CF90BF90B7 -:10BEB000AF907F906F905F904F900895DF92EF92D8 -:10BEC000FF920F931F93CF93DF938091CB178FB780 -:10BED000F894E090CA178FBF8091CB1790E08E192D -:10BEE00091098F7099270497F4F01091CB17135094 -:10BEF0001F7040E050E000E0F12C8DE4D82E1E15BC -:10BF000091F0111101C010E11150D19EE0011124F6 -:10BF1000C453D84E602F7F2DCE0156DF402F5F2DAA -:10BF20000C2FFD2EECCFDF91CF911F910F91FF9041 -:10BF3000EF90DF9008954F925F926F927F92AF9251 -:10BF4000BF92CF92DF92EF92FF920F931F93CF9306 -:10BF5000DF938C01EB01009709F453C0FC0187A922 -:10BF600081114FC046A057A060A471A4AEA0BFA08D -:10BF7000C8A4D9A49501A601C301B2010E949FF6ED -:10BF800087FF3FC0A3019201C301B2010E9474F96F -:10BF90002B013C01F80182A993A9A4A9B5A9BC0170 -:10BFA000CD0190589B01AC010E94C6F5F80126A571 -:10BFB00037A540A951A90E9474F99B01AC01C301A6 -:10BFC000B2010E94C5F50E94E1F97B018C019B0141 -:10BFD000AC01B501C6010E949FF687FF02C0750142 -:10BFE00086019701A801B501C6010E949FF688232A -:10BFF00041F0A701B8014EA35FA368A779A781E02C -:10C000008EABDF91CF911F910F91FF90EF90DF905A -:10C01000CF90BF90AF907F906F905F904F900895BA -:10C02000EF92FF920F931F93CF93DF93F090CA1775 -:10C0300000E010E080E090E02DE4E22E2091CB17AC -:10C04000F21689F0EF9CE0011124C453D84EAE01E2 -:10C05000B80171DF81E08F0D803109F480E0F82EA6 -:10C06000C8018E01EBCF40E050E0B801DF91CF91E5 -:10C070001F910F91FF90EF905ECF4F925F926F9262 -:10C080007F928F929F92AF92BF92CF92DF92EF9268 -:10C09000FF920F931F93CF93DF939090CA17C0E046 -:10C0A000D0E03DE4832E892D992787FD909520913E -:10C0B000CB1730E082179307B9F1889E5001899E13 -:10C0C000B00C1124C5018453984E5C01209729F1CE -:10C0D0008EA9811104C0F50186A98823F1F0CAA0B8 -:10C0E000DBA0ECA0FDA0A7019601F50166A177A158 -:10C0F00080A591A50E94A6F62B013C01A7019601FF -:10C100006EA17FA188A599A50E94A6F6AB01BC01EE -:10C1100093018201CE0183DC1EAA9394F0E19F1269 -:10C1200001C0912CE501BFCF2097E9F0CAA0DBA0A8 -:10C13000ECA0FDA0A70196016DEC7CEC8CE49DE3E6 -:10C140000E94A6F64B015C01A70196016EA17FA19A -:10C1500088A599A50E94A6F6AB01BC0195018401B2 -:10C16000CE015DDC1EAADF91CF911F910F91FF9050 -:10C17000EF90DF90CF90BF90AF909F908F907F9087 -:10C180006F905F904F90089599DE4ADF76CF1092BE -:10C19000CB171092CA1780E1E3EBFCE1DF011D929F -:10C1A0008A95E9F71092A31C1092A41C1092A51C6A -:10C1B0001092A61C1092A71C1092A81C1092A91CE9 -:10C1C0001092AA1C1092AB1C1092AC1C1092AD1CC9 -:10C1D0001092AE1C1092AF1C1092B01C1092B11CA9 -:10C1E0001092B21C10929F1C1092A01C1092A11CC5 -:10C1F0001092A21C0895609145139091CA178091E6 -:10C20000CB17981781F08091CA179DE4899FF001A0 -:10C210001124EC5EF74E60819091CB17891719F0CD -:10C220008F5F8F70F9CF70E088E00C9402EE2F9250 -:10C230003F924F925F926F927F928F929F92AF92B6 -:10C24000BF92CF92DF92EF92FF920F931F93CF9303 -:10C25000DF93CDB7DEB7CC56D1090FB6F894DEBF69 -:10C260000FBECDBF3C015B014A012901E8A6F8AE33 -:10C2700025960FAF25971CAF86012091CB172F5F16 -:10C2800029962FAF2997203119F429961FAE2997A7 -:10C2900029963FAD2997E32EFF24E7FCF094809187 -:10C2A000CA1790E08E159F0541F40E94C74580E0B3 -:10C2B0000E9473700E9482A3F2CF2091FF1C3091E4 -:10C2C000001D4091011D5091021DD3016D917D9182 -:10C2D0008D919C910E9474F90E9444F969966CAF0B -:10C2E0007DAF8EAF9FAF69972091031D3091041DE4 -:10C2F0004091051D5091061DF5016081718182817B -:10C3000093810E9474F90E9444F96D966CAF7DAFE1 -:10C310008EAF9FAF6D972091071D3091081D409102 -:10C32000091D50910A1DD4016D917D918D919C91B3 -:10C330000E9474F90E9444F9A1966CAF7DAF8EAF54 -:10C340009FAFA19720910B1D30910C1D40910D1DA9 -:10C3500050910E1DF20160817181828193810E9452 -:10C3600074F90E9444F924966CAF7DAF8EAF9FAFF5 -:10C3700024978091BF1C9091C01CA091C11CB091CA -:10C38000C21C24962CAD3DAD4EAD5FAD2497281751 -:10C3900039074A075B0709F4C8C0E091471334E046 -:10C3A000E39FF0011124EA5FFE4E2091860C30914C -:10C3B000870C4091880C5091890C60817181828139 -:10C3C00093810E949FF687FF3CC024968CAD9DAD63 -:10C3D000AEADBFAD24978093BF1C9093C01CA093BB -:10C3E000C11CB093C21CE1E1F2E58491882341F0C5 -:10C3F0009091C00095FFFCCF8093C6003196F5CF99 -:10C40000E0917913F0E0EE0FFF1FE45EFD4F019025 -:10C41000F081E02DE255FE4F0190F081E02D8491F6 -:10C42000882341F09091C00095FFFCCF8093C60017 -:10C430003196F5CF8091C00085FFFCCF8AE08093D4 -:10C44000C6008091BF1C9091C01CA091C11CB091EE -:10C45000C21C24962CAD3DAD4EAD5FAD2497281B7C -:10C46000390B4A0B5B0BCA01B90157FF07C0909506 -:10C470008095709561957F4F8F4F9F4F0E9441F738 -:10C480006B017C0120E030E04EEC53E460910B1D29 -:10C4900070910C1D80910D1D90910E1D0E9474F9DC -:10C4A0009B01AC01C701B6010E94A2F818160CF05E -:10C4B0003CC024968CAD9DADAEADBFAD24978093AE -:10C4C000BF1C9093C01CA093C11CB093C21CE1E19F -:10C4D000F2E58491882341F09091C00095FFFCCF54 -:10C4E0008093C6003196F5CFE0917913F0E0EE0F1E -:10C4F000FF1FE45EFD4F0190F081E02DE055FE4FFF -:10C500000190F081E02D8491882341F09091C0004A -:10C5100095FFFCCF8093C6003196F5CF8091C00087 -:10C5200085FFFCCF8AE08093C6008091CB179DE405 -:10C53000899F10011124D101A453B84E1D01FD01A2 -:10C54000E45BFF4F10822091B31C3091B41C4091EA -:10C55000B51C5091B61C2BA33CA34DA35EA36996BA -:10C560004CAC5DAC6EAC7FAC6997421A530A640A5E -:10C57000750A77FE08C07094609450944094411CF2 -:10C58000511C611C711CD1014D925D926D927C9287 -:10C5900013972091B71C3091B81C4091B91C509151 -:10C5A000BA1C2CAB3DAB4EAB5FAB6D968CAC9DAC6F -:10C5B000AEACBFAC6D97821A930AA40AB50AB7FE57 -:10C5C00008C0B094A09490948094811C911CA11CEC -:10C5D000B11CD10114968D929D92AD92BC92179789 -:10C5E0002091BB1C3091BC1C4091BD1C5091BE1CC5 -:10C5F0002CA73DA74EA75FA7A196CCACDDACEEACB7 -:10C60000FFACA197C21AD30AE40AF50AF7FE08C0E4 -:10C61000F094E094D094C094C11CD11CE11CF11C96 -:10C62000D1011896CD92DD92ED92FC921B9720914C -:10C63000BF1C3091C01C4091C11C5091C21C28AB42 -:10C6400039AB4AAB5BAB24966CAD7DAD8EAD9FAD87 -:10C650002497621B730B840B950B97FF07C0909573 -:10C660008095709561957F4F8F4F9F4F0E9441F746 -:10C67000E091471334E0E39FF0011124E55CF34FB0 -:10C6800020813181428153810E9474F90E940EF70A -:10C690009B01AC01A091470CB091480C0E94D1FACB -:10C6A00024E630E040E050E00E949FFAD1011C9661 -:10C6B0002D933D934D935C931F97C814D904EA04BE -:10C6C000FB0414F475016401C216D306E406F506F2 -:10C6D00014F469017A01D301C2014C145D046E04A3 -:10C6E0007F0414F4D701C601F101808B918BA28BDA -:10C6F000B38B0697A105B10508F461C7E85BFF4F4E -:10C700008091451390914613AA2797FDA095BA2FC3 -:10C7100080839183A283B38369962CAD3DAD4EADEA -:10C720005FAD69978BA19CA1ADA1BEA12817390768 -:10C730004A075B0724F0D10190961C9203C081E068 -:10C74000F10180A36D962CAD3DAD4EAD5FAD6D9703 -:10C750008CA99DA9AEA9BFA9281739074A075B076D -:10C760003CF4D10190968C919097826090968C9336 -:10C77000A1962CAD3DAD4EAD5FADA1978CA59DA50D -:10C78000AEA5BFA5281739074A075B073CF4D101BE -:10C7900090968C919097846090968C9324962CAD73 -:10C7A0003DAD4EAD5FAD249788A999A9AAA9BBA9B3 -:10C7B000281739074A075B073CF4D10190968C9102 -:10C7C0009097886090968C93F8018081D101919622 -:10C7D0008C9345284628472809F01798F101848151 -:10C7E0009581A681B781892B8A2B8B2B09F016980E -:10C7F000F10180859185A285B385892B8A2B8B2BAE -:10C8000009F01598F10184859585A685B785892B52 -:10C810008A2B8B2B69F180919C1C882319F0815005 -:10C8200080939C1C80919D1C882319F081508093DB -:10C830009D1C80919E1C882319F0815080939E1C22 -:10C84000D8018C91813061F030F0823089F480E23F -:10C8500080939E1C08C0149880E280939C1C08C0A2 -:10C8600080E280939D1C80919C1C811101C0149AD0 -:10C87000D1011C962D913D914D915C911F972D9664 -:10C880002CAF3DAF4EAF5FAF2D97232B242B252B25 -:10C8900009F5B091D31CBBA3E091D41CEFA3109178 -:10C8A000D51C0091D61C2B2F3E2F412F502F68A551 -:10C8B00078AD25968FAD25979CAD0E949FF687FD9C -:10C8C00016C0F8A5FBA328AD2FA325961FAD25976D -:10C8D0000CAD0DC03091EB1C3BA34091EC1C4FA361 -:10C8E0001091ED1C0091EE1C232F342FDECF809190 -:10C8F000B31C9091B41CA091B51CB091B61C699664 -:10C900002CAD3DAD4EAD5FAD6997281B390B4A0B81 -:10C910005B0BCA01B9010E9441F72091FF1C3091C5 -:10C92000001D4091011D5091021D0E94A6F668A7AE -:10C9300079A78AA79BA7698B7A8B8B8B9C8B6D962B -:10C940006CAD7DAD8EAD9FAD6D972CA93DA94EA967 -:10C950005FA9621B730B840B950B0E9441F720911A -:10C96000031D3091041D4091051D5091061D0E942C -:10C97000A6F64B015C016D8B7E8B8F8B988FA196F9 -:10C980006CAD7DAD8EAD9FADA1972CA53DA54EA5FF -:10C990005FA5621B730B840B950B0E9441F72091DE -:10C9A000071D3091081D4091091D50910A1D0E94DC -:10C9B000A6F66B017C01698F7A8F8B8F9C8F2496F2 -:10C9C0006CAD7DAD8EAD9FAD249728A939A94AA93C -:10C9D0005BA9621B730B840B950B0E9441F720919E -:10C9E0000B1D30910C1D40910D1D50910E1D0E948C -:10C9F000A6F6E091471334E0E39FF0011124E55CD3 -:10CA0000F34F20813181428153810E9474F92B01BF -:10CA10003C016091470C7091480C882777FD809508 -:10CA2000982F0E9441F79B01AC01C301B2010E9403 -:10CA300074F920E030E048EC52E40E94A6F66D8FD5 -:10CA40007E8F8F8F98A3D1012D913D914D915C9157 -:10CA5000139728AF39AF4AAF5BAF26303105410598 -:10CA6000510504F514964D905D906D907C9017974C -:10CA7000B6E04B16510461047104A4F4F101408442 -:10CA8000518462847384F6E04F165104610471048A -:10CA90004CF4DC01CB01BF77F10186A797A7A0ABCF -:10CAA000B1AB27C068A579A58AA59BA50E941FFAEE -:10CAB0002B013C01C501B4010E941FFA9B01AC018E -:10CAC000C301B2010E94C6F54B015C01C701B6016A -:10CAD0000E941FFA9B01AC01C501B4010E94C6F57A -:10CAE0000E94E1F9D1019E966D937D938D939C9365 -:10CAF000D197D1019E962D913D914D915C91D19709 -:10CB000028962CAF3DAF4EAF5FAF289760E070E046 -:10CB100080E89FE30E94A6F69B01AC016BA17FA178 -:10CB2000812F902F0E9474F92B013C019091CB171B -:10CB30008091CA17E92FF0E0E81BF109EF70FF2799 -:10CB4000FDABECABA301920160E074E284E799E4F1 -:10CB50000E94A6F60E9444F96B017C012CA93DA914 -:10CB6000223031050CF442C04901AA2497FCA0945C -:10CB7000BA2CC501B4010E9441F720E030E040E04A -:10CB800051E40E949FF687FF31C080911F1D909154 -:10CB9000201DA091211DB091221DC816D906EA06BC -:10CBA000FB0620F5BC01CD016C197D098E099F099A -:10CBB000660F771F881F991FA50194010E947DFAB7 -:10CBC000CA01B9010E943FF70E9444F96C0D7D1D16 -:10CBD0008E1D9F1D0E943FF79B01AC0160E074E237 -:10CBE00084E799E40E94A6F62B013C01A30192017F -:10CBF00028966CAD7DAD8EAD9FAD28970E9474F9DF -:10CC00006CAF7DAF8EAF9FAFD10192966D937D9348 -:10CC10008D939C93959750966D917D918D919C915C -:10CC200053970E943FF76BA37CA38DA39EA3A30100 -:10CC300092010E9474F90E948CF60E9413F76B0116 -:10CC40007C01F10160AF71AF82AF93AF8E010F5ED7 -:10CC50001F4F2FE03DE165963FAF2EAF6597AE01C8 -:10CC60004F5D5F4F5AA349A3CE01019663969FAFD4 -:10CC70008EAF63971FA21CA690E898ABAFE3A8A75E -:10CC8000F80161917191819191918F01A3019201BC -:10CC90000E9474F96396AEADBFAD63976D937D93BB -:10CCA0008D939D936396BFAFAEAF63979B01AC012D -:10CCB0005F7761962CAF3DAF4EAF5FAF61976596E2 -:10CCC000AEADBFAD65978D909D90AD90BD906596D2 -:10CCD000BFAFAEAF6597A501940161966CAD7DAD18 -:10CCE0008EAD9FAD61970E94A2F81816F4F461967C -:10CCF0002CAD3DAD4EAD5FAD6197C501B4010E9455 -:10CD0000A6F6B62EA72E982E892E262F372F482F1F -:10CD1000592F6FA17CA588A998A50E949FF687FD31 -:10CD200004C0BFA2ACA698AA88A6E9A1FAA10E17D2 -:10CD30001F0709F0A5CF20E030E040E85FE36FA1D6 -:10CD40007CA588A998A50E949FF687FF3DC05E013B -:10CD5000F1E1AF0EB11C8E010F5F1F4F2FA13CA55B -:10CD600048A958A5D8016D917D918D919C910E9403 -:10CD700074F9F80161937193819391938F01EA158E -:10CD8000FB0561F72FA13CA548A958A56CAD7DAD69 -:10CD90008EAD9FAD0E9474F9D10192966D937D93F3 -:10CDA0008D939C939597C701B6010E943FF72FA1E1 -:10CDB0003CA548A958A50E9474F90E9413F7F101F7 -:10CDC00060AF71AF82AF93AF28962CAD3DAD4EAD45 -:10CDD0005FAD28976BA17CA18DA19EA10E94A6F6B4 -:10CDE0006B017C0128AD39AD4AAD5BAD232B242B03 -:10CDF000252B59F5F10184819581A681B781892B75 -:10CE00008A2B8B2B11F580859185A285B385892B83 -:10CE10008A2B8B2BD1F42091E31C3091E41C4091A0 -:10CE2000E51C5091E61CC701B6010E9474F90E94EE -:10CE30008CF681010C5B1F4F0E9413F7D8016D9394 -:10CE40007D938D939C931397F6C02091E71C3091AE -:10CE5000E81C4091E91C5091EA1CC701B6010E94F0 -:10CE600074F90E948CF60E9413F781010C5B1F4F2E -:10CE7000F80160837183828393834090C31C509038 -:10CE8000C41C6090C51C7090C61C0E943FF74B01EB -:10CE90005C0168AD79AD8AAD9BAD0E9441F79B0105 -:10CEA000AC01C501B4010E9474F92BA13CA14DA1B4 -:10CEB0005EA10E94A6F64B015C01C301B2010E9473 -:10CEC0003FF79B01AC01C501B4010E94A2F81816FE -:10CED00034F4D8014D925D926D927C9213974090FC -:10CEE000C71C5090C81C6090C91C7090CA1CF801E7 -:10CEF00060817181828193810E943FF74B015C01C7 -:10CF0000D10114966D917D918D919C9117970E94FE -:10CF100041F79B01AC01C501B4010E9474F92BA13A -:10CF20003CA14DA15EA10E94A6F64B015C01C3018C -:10CF3000B2010E943FF79B01AC01C501B4010E9400 -:10CF4000A2F818162CF4F801408251826282738292 -:10CF50004090CF1C5090D01C6090D11C7090D21C7F -:10CF600081010C5B1F4FD8016D917D918D919C913A -:10CF70000E943FF74B015C012D966CAD7DAD8EADEF -:10CF80009FAD2D970E9441F79B01AC01C501B401F3 -:10CF90000E9474F92BA13CA14DA15EA10E94A6F6AE -:10CFA0004B015C01C301B2010E943FF79B01AC0140 -:10CFB000C501B4010E94A2F818162CF4F8014082B1 -:10CFC0005182628273824090CB1C5090CC1C609046 -:10CFD000CD1C7090CE1CD8016D917D918D919C914E -:10CFE0000E943FF74B015C01F101608571858285EC -:10CFF00093850E9441F79B01AC01C501B4010E94D9 -:10D0000074F92BA13CA14DA15EA10E94A6F64B0193 -:10D010005C01C301B2010E943FF79B01AC01C50155 -:10D02000B4010E94A2F8181634F4D8014D925D9212 -:10D030006D927C921397F101EC5BFF4F60817181DF -:10D04000828193810E943FF74B015C01A701960109 -:10D050000E94A6F6A5966CAF7DAF8EAF9FAFA59749 -:10D06000F10162AB73AB84AB95AB2DEB37E346E0DC -:10D0700051E4C501B4010E9474F90E940EF7D10178 -:10D080005C966D937D938D939C935F97C090DF1C0E -:10D09000D090E01CE090E11CF090E21C20E030E039 -:10D0A00040E05FE3C701B6010E9474F96BA37FA360 -:10D0B0008C0129853A854B855C85A9962CAF3DAFBF -:10D0C0004EAF5FAFA9978091DB1C9091DC1CA091C3 -:10D0D000DD1CB091DE1C8CAF9DAFAEAFBFAF20E0CA -:10D0E00030E040E05FE3BC01CD010E9474F9B62E50 -:10D0F000A72E982E892EA9966CAD7DAD8EAD9FADD5 -:10D10000A9979F772B2D3A2D492D582D0E94A2F8D3 -:10D1100018167CF42B2D3A2D492D582D6BA17FA18B -:10D12000C8010E949FF687FD04C0BBA2AFA2092DD3 -:10D13000182D2D853E854F855889AD962CAF3DAF76 -:10D140004EAF5FAFAD978091D71C9091D81CA09146 -:10D15000D91CB091DA1C2D968CAF9DAFAEAFBFAF8E -:10D160002D9720E030E040E05FE3BC01CD010E945C -:10D1700074F9B62EA72E982E892EAD966CAD7DAD86 -:10D180008EAD9FADAD979F772B2D3A2D492D582D04 -:10D190000E94A2F818167CF42B2D3A2D492D582DFB -:10D1A0006BA17FA1C8010E949FF687FD04C0BBA2AE -:10D1B000AFA2092D182DD1019296BC91BCA7F10107 -:10D1C000F3A1F8ABD1019496BC91B8A7F101F5A1F8 -:10D1D000F8AF2CA538A94B2F5F2F6BA17FA1C801F9 -:10D1E0000E949FF687FD06C02CA52BA338A93FA35C -:10D1F00008A518AD4CA95DA9423051050CF405C134 -:10D2000050919F1C5CAB8091A01C2E968FAF2E97E7 -:10D210009091A11C62969FAF6297A091A21C649608 -:10D22000AFAF649727E137EB41ED58E36CA9782F56 -:10D23000892F9A2F0E94A2F818160CF0E6C02091B0 -:10D24000A31C3091A41C4091A51C5091A61C69817F -:10D250007A818B819C810E94C5F52B013C01209134 -:10D26000A71C3091A81C4091A91C5091AA1C6D814B -:10D270007E818F8198850E94C5F54B015C01A301D9 -:10D280009201C301B2010E9474F92B013C01A50176 -:10D290009401C501B4010E9474F99B01AC01C30162 -:10D2A000B2010E94C6F50E94E1F94B015C01A701A1 -:10D2B00096010E94A2F818164CF4A5019401C7012A -:10D2C000B6010E94A6F65B014C0106C0A12CB12C50 -:10D2D00040E8842E5FE3952E2091AB1C3091AC1C6E -:10D2E0004091AD1C5091AE1CA9966CAD7DAD8EAD3C -:10D2F0009FADA9970E94C5F56B017C01E894F7F8F2 -:10D300002CAD3DAD4EAD5FADC701B6010E94A2F898 -:10D310001816D4F4A70196016CAD7DAD8EAD9FAD0E -:10D320000E94A6F6F62EE72ED82EC92E262F372FCE -:10D33000482F592FB501C4010E949FF687FD04C0F4 -:10D34000AF2CBE2C8D2C9C2C2091AF1C3091B01C8E -:10D350004091B11C5091B21CAD966CAD7DAD8EADBF -:10D360009FADAD970E94C5F56B017C01E894F7F87D -:10D370002D962CAD3DAD4EAD5FAD2D97C701B601DD -:10D380000E94A2F81816E4F4A70196012D966CAD40 -:10D390007DAD8EAD9FAD2D970E94A6F6F62EE72EA1 -:10D3A000D82EC92E262F372F482F592FB501C4014B -:10D3B0000E949FF687FD04C0AF2CBE2C8D2C9C2CA8 -:10D3C0009501A4016CA578A988A598AD0E9474F96F -:10D3D0004B015C019B01AC016CA92E967FAD2E9791 -:10D3E00062968FAD629764969FAD64970E949FF698 -:10D3F00087FF0EC08CA82E969FAC2E976296AFAC7E -:10D4000062976496BFAC649703C08BA09FA058013D -:10D41000C401D501F10182A793A7A4A7B5A7A5963A -:10D420006CAD7DAD8EAD9FADA59790589B01AC01C5 -:10D430000E94C6F528962CAD3DAD4EAD5FAD289748 -:10D440000E9474F99B01AC016BE077ED83E29BE3F2 -:10D450000E94C5F50E94E1F97B01D82EC92E9B01DF -:10D46000482F592FB401C5010E949FF687FD03C0C4 -:10D470004701AD2CBC2CC401D501F10186A397A3B3 -:10D48000A0A7B1A797014D2D5C2D6CA578A988A503 -:10D4900098AD0E949FF618162CF081E0D101D79626 -:10D4A0008C9302C0F10117AA81E0D101D6968C932A -:10D4B00080E1FE013196A3EABCE101900D928A95CC -:10D4C000E1F78CA598A9A8A5B8AD80939F1C90936F -:10D4D000A01CA093A11CB093A21C9C01AD016BA148 -:10D4E0007FA1C8010E94A6F66B017C012CA538A97A -:10D4F00048A558ADB401C5010E94A6F6AB01BC0118 -:10D5000097018601C1010E940FDD2996BFAD2997C1 -:10D51000B093CB1769962CAD3DAD4EAD5FAD69971D -:10D520002093B31C3093B41C4093B51C5093B61C8D -:10D530006D968CAD9DADAEADBFAD6D978093B71CB4 -:10D540009093B81CA093B91CB093BA1CA1962CADB3 -:10D550003DAD4EAD5FADA1972093BB1C3093BC1C7D -:10D560004093BD1C5093BE1C24968CAD9DADAEADBA -:10D57000BFAD24978093BF1C9093C01CA093C11C87 -:10D58000B093C21C0E94C4E0C459DF4F0FB6F89498 -:10D59000DEBF0FBECDBFDF91CF911F910F91FF90E6 -:10D5A000EF90DF90CF90BF90AF909F908F907F9043 -:10D5B0006F905F904F903F902F900C9407D2C4597A -:10D5C000DF4F0FB6F894DEBF0FBECDBFDF91CF9116 -:10D5D0001F910F91FF90EF90DF90CF90BF90AF9091 -:10D5E0009F908F907F906F905F904F903F902F9083 -:10D5F0000895EF92FF920F931F93CF93DF937B01D8 -:10D600008A01E9012091FF1C3091001D4091011D0C -:10D610005091021DFC0160817181828193810E9481 -:10D6200074F90E9444F96093B31C7093B41C809306 -:10D63000B51C9093B61C2091031D3091041D4091A0 -:10D64000051D5091061DF7016081718182819381D2 -:10D650000E9474F90E9444F96093B71C7093B81C3F -:10D660008093B91C9093BA1C2091071D3091081D1E -:10D670004091091D50910A1DF801608171818281DC -:10D6800093810E9474F90E9444F96093BB1C7093CB -:10D69000BC1C8093BD1C9093BE1C20910B1D30912F -:10D6A0000C1D40910D1D50910E1D688179818A815C -:10D6B0009B810E9474F90E9444F96093BF1C70938F -:10D6C000C01C8093C11C9093C21C2FEB3CE14BEB20 -:10D6D0005CE167EB7CE183EB9CE10E9493D91092C3 -:10D6E0009F1C1092A01C1092A11C1092A21C1092C0 -:10D6F000A31C1092A41C1092A51C1092A61C1092A0 -:10D70000A71C1092A81C1092A91C1092AA1C10927F -:10D71000AB1C1092AC1C1092AD1C1092AE1C10925F -:10D72000AF1C1092B01C1092B11C1092B21CDF9171 -:10D73000CF911F910F91FF90EF90089520910B1DB5 -:10D7400030910C1D40910D1D50910E1DFC0160810A -:10D750007181828193810E9474F90E9444F96093DF -:10D76000BF1C7093C01C8093C11C9093C21C8FEB94 -:10D770009CE10C94CFD98091CB179091CA17891B4B -:10D780008F7008956093860C7093870C8093880C3B -:10D790009093890C0895CF92DF92EF92FF920F93AE -:10D7A0001F93CF93DF9300D01F92CDB7DEB71FEE4C -:10D7B000C12E1CE1D12E0FEFE02E0CE1F02E03EC78 -:10D7C0001CE1F60161917191819191916F01F701D5 -:10D7D00021913191419151917F0129833A834B836A -:10D7E0005C830E943FF729813A814B815C810E94D2 -:10D7F00074F90E9413F7F8016193719381939193E7 -:10D800008F01FFEFCF16FCE1DF06D9F60F900F90E6 -:10D810000F900F90DF91CF911F910F91FF90EF909C -:10D82000DF90CF9008958091521D90E02091531D7C -:10D83000821B910908952091531D8091521D281734 -:10D8400050F4E22FF0E0EC5AF24E808190E02F5F2E -:10D850002093531D08958FEF9FEF0895E091531D7E -:10D860008091521DE81730F4F0E0EC5AF24E8081BE -:10D8700090E008958FEF9FEF08950895CF92DF9283 -:10D88000EF92FF920F931F93CF93DF937C01CB0115 -:10D890008A0120912F1D222389F0EB016B01C40E18 -:10D8A000D51ECC15DD0561F06991D701ED91FC9194 -:10D8B0000190F081E02DC7011995F3CF642F4BD073 -:10D8C000C801DF91CF911F910F91FF90EF90DF90F2 -:10D8D000CF900895CF93DF931F92CDB7DEB76983C2 -:10D8E00020912F1D2223D1F02091301D203240F0B5 -:10D8F00021E030E0FC013383228380E090E014C01B -:10D900008091311DE82FF0E0EE5CF24E998190831A -:10D910008F5F8093311D8093301D04C061E0CE0184 -:10D92000019619D081E090E00F90DF91CF9108959A -:10D93000FC011382128248EE53E060E070E0448301 -:10D940005583668377838BE99EE091838083089576 -:10D9500083E29DE1EDCF613298F42091E11D243006 -:10D9600089F46093961DFC0188E99DE1DC012A2F72 -:10D97000281B261718F421912D93F9CF80E00895E4 -:10D9800081E0089582E0089585ED8093BC00809148 -:10D99000BC0084FDFCCF1092E11D089585EC8093BE -:10D9A000BC001092E11D08951F920F920FB60F92C6 -:10D9B00011240BB60F922F933F934F935F936F9366 -:10D9C0007F938F939F93AF93BF93EF93FF93809138 -:10D9D000B900887F803609F49CC068F5883209F464 -:10D9E0005BC090F4803109F454C038F4882309F402 -:10D9F000F3C0883009F44DC0F2C0883109F44CC03E -:10DA0000803209F45DC0EBC0803409F468C048F48A -:10DA1000803309F455C0883309F0E1C08093741D48 -:10DA2000A7C0803509F44FC0883509F45DC088343B -:10DA300009F0D5C0D3C0883909F4C4C0A8F4883728 -:10DA400009F467C038F4883609F463C0803709F4F4 -:10DA500060C0C5C0883809F4B5C0803909F45FC01A -:10DA6000803809F0BCC05BC0803B09F483C038F447 -:10DA7000803A09F466C0883A09F47CC0B0C0803CA2 -:10DA800009F4A4C0883C09F4A1C0883B09F487C00C -:10DA9000A6C08091E01D10C09091B91D8091B81D65 -:10DAA000981770F5E091B91D81E08E0F8093B91D34 -:10DAB000F0E0E654F24E80818093BB0085EC83C099 -:10DAC0008093741D8BC0E091B91D81E08E0F80930F -:10DAD000B91D8091BB00F0E0E654F24E8083909136 -:10DAE000B91D8091B81D6BC0E091B91D81E08E0F0A -:10DAF0008093B91D8091BB00F0E0E654F24E808324 -:10DB00008091DF1D81116AC081E08093DE1D84EA6F -:10DB10005EC083E08093E11D1092751DCFCF809190 -:10DB2000751D803208F04EC0E091751D81E08E0FAA -:10DB30008093751D8091BB00F0E0EA58F24E80831F -:10DB4000BDCF8091751D803230F4E091751DF0E0FD -:10DB5000EA58F24E108218DF6091751D70E0E09176 -:10DB6000DA1DF091DB1D86E79DE119951092751D78 -:10DB700015DF35C084E08093E11D1092971D10924F -:10DB8000961DE091DC1DF091DD1D19958091961D8B -:10DB9000811105C081E08093961D1092981DE0913F -:10DBA000971D81E08E0F8093971DF0E0E856F24EAE -:10DBB00080818093BB009091971D8091961D98174E -:10DBC00008F47CCF85E88093BC0009C085EC809385 -:10DBD000BC001092E11D03C01092741DD5DEFF91B0 -:10DBE000EF91BF91AF919F918F917F916F915F91D5 -:10DBF0004F913F912F910F900BBE0F900FBE0F9042 -:10DC00001F9018951F93CF93DF93182FEB0161E0BE -:10DC100003D1209711F460E004C0CF3FD10531F467 -:10DC200061E0812FDF91CF911F912FC1E12FF0E0B3 -:10DC3000E854F14A449150E0FA013197E131F1059D -:10DC400008F091C0E358FF4F0C94BBFA84B580688C -:10DC500084BDC7BD8DC084B5806284BDC8BD88C089 -:10DC600080918000806880938000D0938900C09369 -:10DC700088007EC080918000806280938000D09375 -:10DC80008B00C0938A0074C08091B000806880933C -:10DC9000B000C093B3006CC08091B00080628093EC -:10DCA000B000C093B40064C08091900080688093FD -:10DCB0009000D0939900C09398005AC08091900032 -:10DCC000806280939000D0939B00C0939A0050C0D4 -:10DCD00080919000886080939000D0939D00C093C5 -:10DCE0009C0046C08091A00080688093A000809135 -:10DCF000A0008F7B8093A000D093A900C093A800C0 -:10DD000037C08091A00080628093A000D093AB00C8 -:10DD1000C093AA002DC08091A00088608093A000CD -:10DD2000D093AD00C093AC0023C0809120018068E7 -:10DD300080932001D0932901C093280119C08091BC -:10DD40002001806280932001D0932B01C0932A018F -:10DD50000FC080912001886080932001D0932D0115 -:10DD6000C0932C0105C0C038D1050CF059CF53CF5A -:10DD7000DF91CF911F91089590E0FC013197E1313F -:10DD8000F10508F048C0E257FF4F0C94BBFA8091B0 -:10DD900080008F7703C0809180008F7D809380000A -:10DDA000089584B58F7702C084B58F7D84BD0895B2 -:10DDB0008091B0008F7703C08091B0008F7D8093F9 -:10DDC000B0000895809190008F7707C080919000F7 -:10DDD0008F7D03C080919000877F8093900008958D -:10DDE0008091A0008F7707C08091A0008F7D03C035 -:10DDF0008091A000877F8093A000089580912001EA -:10DE00008F7707C0809120018F7D03C08091200112 -:10DE1000877F809320010895CF93DF9390E0FC01EA -:10DE2000E25FF04A2491FC01EC59F04A8491882386 -:10DE300049F190E0880F991FFC01E251F04AA59149 -:10DE4000B4918C52904AFC01C591D4919FB7611155 -:10DE500008C0F8948C91209582238C93888182232A -:10DE60000AC0623051F4F8948C91322F309583239C -:10DE70008C938881822B888304C0F8948C91822BA8 -:10DE80008C939FBFDF91CF9108950F931F93CF93F2 -:10DE9000DF931F92CDB7DEB7282F30E0F901E854A9 -:10DEA000F14A8491F901E25FF04A1491F901EC59C9 -:10DEB000F04A04910023C1F0882319F069835CDFE4 -:10DEC0006981E02FF0E0EE0FFF1FEC52F04AA591C0 -:10DED000B4919FB7F8948C91611103C01095812380 -:10DEE00001C0812B8C939FBF0F90DF91CF911F9129 -:10DEF0000F910895CF93DF93282F30E0F901E85474 -:10DF0000F14A8491F901E25FF04AD491F901EC59A8 -:10DF1000F04AC491CC2389F081112EDFEC2FF0E080 -:10DF2000EE0FFF1FE654F04AA591B4912C912D23DA -:10DF300081E090E021F480E002C080E090E0DF9199 -:10DF4000CF9108951F920F920FB60F9211242F9325 -:10DF50003F938F939F93AF93BF938091E31D9091D5 -:10DF6000E41DA091E51DB091E61D3091E21D23E076 -:10DF7000230F2D3720F40196A11DB11D05C026E801 -:10DF8000230F0296A11DB11D2093E21D8093E31D76 -:10DF90009093E41DA093E51DB093E61D8091E71DCD -:10DFA0009091E81DA091E91DB091EA1D0196A11D77 -:10DFB000B11D8093E71D9093E81DA093E91DB093D8 -:10DFC000EA1DBF91AF919F918F913F912F910F903B -:10DFD0000FBE0F901F9018952FB7F8946091E31D16 -:10DFE0007091E41D8091E51D9091E61D2FBF08956D -:10DFF0003FB7F8948091E71D9091E81DA091E91D2D -:10E00000B091EA1D26B5A89B05C02F3F19F00196D7 -:10E01000A11DB11D3FBF6627782F892F9A2F620F50 -:10E02000711D811D911D42E0660F771F881F991F8A -:10E030004A95D1F70895CF92DF92EF92FF92CF9356 -:10E04000DF936B017C01D4DFEB01C114D104E10447 -:10E05000F10471F0CDDF6C1B7D0B683E7340A8F3BB -:10E0600081E0C81AD108E108F108C851DC4FEDCFB2 -:10E07000DF91CF91FF90EF90DF90CF9008950197BF -:10E08000009739F0880F991F880F991F0297019701 -:10E09000F1F70895789484B5826084BD84B5816079 -:10E0A00084BD85B5826085BD85B5816085BDEEE6A0 -:10E0B000F0E0808181608083E1E8F0E0108280817F -:10E0C00082608083808181608083E0E8F0E08081ED -:10E0D00081608083E1EBF0E0808184608083E0EB0D -:10E0E000F0E0808181608083E1E9F0E080818260FE -:10E0F0008083808181608083E0E9F0E080818160BD -:10E100008083E1EAF0E080818260808380818160A9 -:10E110008083E0EAF0E0808181608083E1E2F1E0E9 -:10E12000808182608083808181608083E0E2F1E091 -:10E13000808181608083EAE7F0E080818460808371 -:10E14000808182608083808181608083808180681B -:10E1500080831092C10008959DDF0E943163C0E06A -:10E16000D0E00E941A8C2097E1F30E940000F9CFC2 -:10E170003F924F925F926F927F928F929F92AF9257 -:10E18000BF92CF92DF92EF92FF920F931F93CF93A4 -:10E19000DF9300D01F92CDB7DEB78B0129013A0182 -:10E1A00090918A0C981721F09F3F09F0B1C204C0EA -:10E1B000E8E0F0E6349004C180938A0CE8E0F0E6F1 -:10E1C000E491EF3F09F4A4C2E23009F480C074F591 -:10E1D000EE2309F45BC0E13009F0F1C01092800039 -:10E1E00010928100909181009860909381009091AD -:10E1F0008100916090938100282F30E0F901EC5963 -:10E20000F04AE491F0E0EE0FFF1FEC52F04A459126 -:10E2100054915093091E4093081EF901E25FF04AA1 -:10E2200024912093071E33243394CCC0E43009F4A6 -:10E230009EC00CF474C0E53009F0C1C010922001FA -:10E240001092210190912101986090932101909169 -:10E250002101916090932101282F30E0F901EC59C0 -:10E26000F04AE491F0E0EE0FFF1FEC52F04A4591C6 -:10E2700054915093ED1D4093EC1DF901E25FF04A7B -:10E2800024912093EB1D55E0352E9CC014BC15BC89 -:10E2900094B5926094BD95B5916095BD282F30E0FE -:10E2A000F901EC59F04AE491F0E0EE0FFF1FEC5257 -:10E2B000F04A459154915093101E40930F1EF9015E -:10E2C000E25FF04A249120930E1E312C7BC0109205 -:10E2D000B0001092B1009091B00092609093B000A5 -:10E2E0009091B10091609093B100282F30E0F90136 -:10E2F000EC59F04AE491F0E0EE0FFF1FEC52F04AC7 -:10E30000459154915093021E4093011EF901E25F22 -:10E31000F04A24912093001E22E0322E53C0109226 -:10E3200090001092910090919100986090939100CC -:10E3300090919100916090939100282F30E0F90125 -:10E34000EC59F04AE491F0E0EE0FFF1FEC52F04A76 -:10E35000459154915093FB1D4093FA1DF901E25FE2 -:10E36000F04A24912093F91DB3E03B2E2BC010926C -:10E37000A0001092A1009091A10098609093A1003C -:10E380009091A10091609093A100282F30E0F901B5 -:10E39000EC59F04AE491F0E0EE0FFF1FEC52F04A26 -:10E3A000459154915093F41D4093F31DF901E25FA0 -:10E3B000F04A24912093F21D74E0372E03C03E2EC4 -:10E3C00037FCA6C161E028DD4801A12CB12C832DCA -:10E3D0008D7F09F0C0C060E072E18AE790E0A5019E -:10E3E00094010E949FFA29833A834B835C836901DD -:10E3F0007A0181E0C81AD108E108F1089FEFC91637 -:10E40000D104E104F10409F008F49AC060E472E474 -:10E410008FE090E0A50194010E949FFA69017A01C2 -:10E42000E1E0CE1AD108E108F108F2E03F1219C08C -:10E430008FEFC816D104E104F10409F008F487C095 -:10E4400060E970ED83E090E0A50194010E949FFADD -:10E4500069017A0191E0C91AD108E108F10883E065 -:10E4600001C082E0EFEFCE16D104E104F10409F01F -:10E4700008F467C068E478EE81E090E0A5019401BB -:10E480000E949FFA69017A01F1E0CF1AD108E108F0 -:10E49000F1083320E1F082E038121BC09FEFC9166B -:10E4A000D104E104F10409F008F430C164E274EF2E -:10E4B00080E090E0A50194010E949FFA69017A0131 -:10E4C000E1E0CE1AD108E108F10885E003C083E05D -:10E4D00001C084E0FFEFCF16D104E104F10489F11B -:10E4E00080F162E17AE780E090E0A50194010E946A -:10E4F0009FFA69017A0181E0C81AD108E108F108A0 -:10E50000311002C084E001C086E09FEFC916D1043B -:10E51000E104F104B1F0A8F0C980DA80EB80FC805E -:10E520009AE0F594E794D794C7949A95D1F7E1E0EF -:10E53000CE1AD108E108F108332031F087E008C095 -:10E5400081E0332011F004C085E085BD50C082E039 -:10E550008093B1004CC060E072E18AE790E0A501D1 -:10E560009401EDD769017A01F1E0CF1AD108E108F1 -:10E57000F108C114D10481E0E806F10480F068E4F8 -:10E5800078EE81E090E0A5019401D9D769017A0184 -:10E5900091E0C91AD108E108F10893E001C091E0C7 -:10E5A000E1E03E1207C080918100887F892B809333 -:10E5B00081001DC0F3E03F1207C080919100887F69 -:10E5C000892B8093910013C084E0381207C080919A -:10E5D000A100887F892B8093A10009C0E5E03E124D -:10E5E00006C080912101887F892B809321014114ED -:10E5F00051046104710461F0D801AA0FBB1FA3018B -:10E600009201C5D728EE33E040E050E076D703C052 -:10E610002FEF3FEFA901F2E03F1609F443C0F315D5 -:10E62000BCF0332081F181E0381272C0D0928900B1 -:10E63000C092880020930A1E30930B1E40930C1E3C -:10E6400050930D1E80916F00826080936F0060C0B8 -:10E6500094E0391609F448C03916A4F1E5E03E12F9 -:10E6600057C0D0922901C09228012093EE1D30930B -:10E67000EF1D4093F01D5093F11D80917300826057 -:10E680008093730045C0C7BC2093111E3093121EA7 -:10E690004093131E5093141E80916E0082608093ED -:10E6A0006E0036C0C092B3002093031E3093041E48 -:10E6B0004093051E5093061E8091700082608093E7 -:10E6C000700026C0D0929900C09298002093FC1D43 -:10E6D0003093FD1D4093FE1D5093FF1D80917100EE -:10E6E00082608093710014C0D092A900C092A800EB -:10E6F0002093F51D3093F61D4093F71D5093F81DA0 -:10E700008091720082608093720002C084E020CF0A -:10E710000F900F900F900F90DF91CF911F910F915D -:10E72000FF90EF90DF90CF90BF90AF909F908F9031 -:10E730007F906F905F904F903F9008958230A9F046 -:10E7400028F4882349F0813051F00895843009F18C -:10E75000E8F0853009F1089510926E0008958091D7 -:10E760006F008D7F80936F000895809170008D7F82 -:10E770008093700081E08093B0008091B100887F29 -:10E7800084608093B1001092B300089510927100DC -:10E790000895109272000895109273000895CF9317 -:10E7A000C82F80918A0C8C1307C0E8E0F0E68491B2 -:10E7B0009FEF90938A0C01C08FEFC0DF60E08C2F39 -:10E7C000CF9163CB1F920F920FB60F9211240BB60D -:10E7D0000F922F933F934F935F936F937F938F93FA -:10E7E0009F93AF93BF93EF93FF938091031E9091FC -:10E7F000041EA091051EB091061E892B8A2B8B2B1F -:10E8000051F19091001EE091011EF091021E808155 -:10E81000892780838091031E9091041EA091051E7C -:10E82000B091061E181619061A061B06BCF4809134 -:10E83000031E9091041EA091051EB091061E019723 -:10E84000A109B1098093031E9093041EA093051E95 -:10E85000B093061E03C080918A0CA1DFFF91EF9157 -:10E86000BF91AF919F918F917F916F915F914F91E8 -:10E870003F912F910F900BBE0F900FBE0F901F90E6 -:10E880001895FC018081918149C7CF93DF93EC01FA -:10E8900088819981009709F041D7198218821D82D9 -:10E8A0001C821B821A82DF91CF9108950F931F93D0 -:10E8B000CF93DF93EC018B016F5F7F4F888199814C -:10E8C000BCD7009731F0998388831B830A8381E04A -:10E8D00001C080E0DF91CF911F910F910895CF93F8 -:10E8E000DF93EC0188819981892B29F08A819B81B2 -:10E8F0008617970758F4CE01D9DF882341F08C8121 -:10E900009D81892B19F4E881F981108281E0DF91E2 -:10E91000CF910895EF92FF920F931F93CF93DF93C0 -:10E92000EC017B018A01BA01DADF811103C0CE015B -:10E93000ACDF07C01D830C83B701888199810F94D8 -:10E940004A00CE01DF91CF911F910F91FF90EF9080 -:10E950000895FC01118210821382128215821482A2 -:10E960006115710551F0FB0101900020E9F7AF013D -:10E9700041505109461B570BCDCF0895CF93DF93DC -:10E98000EC01FB018617970751F0608171816115D9 -:10E99000710521F044815581BDDF01C076DFCE01D4 -:10E9A000DF91CF910895FC011182108213821282AF -:10E9B00015821482E3CFEF92FF920F931F93CF93B0 -:10E9C000DF93EC017B010C811D816115710511F450 -:10E9D00080E015C04115510589F0040F151FB801DD -:10E9E0007EDF8823A9F3288139818C819D81B7013D -:10E9F000820F931F0F944A001D830C8381E0DF91E7 -:10EA0000CF911F910F91FF90EF900895CF93DF93D7 -:10EA1000EC01FB014481558160817181CCDF811162 -:10EA200002C0CE0132DFCE01DF91CF910895CF92A7 -:10EA3000DF92EF92FF920F931F93CF93DF936C01BE -:10EA40007A01EB01E60EF71E00E010E0CE15DF05BF -:10EA500061F06991D601ED91FC910190F081E02D7A -:10EA6000C6011995080F191FF1CFC801DF91CF9189 -:10EA70001F910F91FF90EF90DF90CF900895611557 -:10EA8000710581F0DB010D900020E9F7AD014150E7 -:10EA90005109461B570BDC01ED91FC910280F3817B -:10EAA000E02D199480E090E00895E9CFDC01ED912C -:10EAB000FC910190F081E02D19948F929F92AF927A -:10EAC000BF92CF92DF92EF92FF920F931F93CF935B -:10EAD000DF93CDB7DEB7A1970FB6F894DEBF0FBEB8 -:10EAE000CDBF7C01C42EE52FCB01D22E19A221E08F -:10EAF0002D1510F02AE0D22E8E010F5D1F4F8D2CA8 -:10EB0000912CA12CB12C6C2D7E2FA5019401F5D454 -:10EB10008C2DD29E80191124015011098A3014F4D1 -:10EB2000805D01C0895CF8018083211531054105B4 -:10EB3000510521F0C22EE32FCA01E5CFB801C7016C -:10EB40009EDFA1960FB6F894DEBF0FBECDBFDF915A -:10EB5000CF911F910F91FF90EF90DF90CF90BF90DA -:10EB6000AF909F908F9008952115310541F4DC01FD -:10EB7000ED91FC910190F081E02D642F19949DCFCF -:10EB80009A01AB0160E070E0EFCF5058BB27AA2795 -:10EB90000ED076C23FD230F044D220F031F49F3F05 -:10EBA00011F41EF40FC20EF4E095E7FBDCC1E92F6F -:10EBB00089D280F3BA17620773078407950718F0A4 -:10EBC00071F49EF5B8C20EF4E0950B2EBA2FA02D6D -:10EBD0000B01B90190010C01CA01A0011124FF270A -:10EBE000591B99F0593F50F4503E68F11A16F04005 -:10EBF000A22F232F342F4427585FF3CF4695379504 -:10EC00002795A795F0405395C9F77EF41F16BA0BC8 -:10EC1000620B730B840BBAF09150A1F0FF0FBB1F76 -:10EC2000661F771F881FC2F70EC0BA0F621F731FBF -:10EC3000841F48F4879577956795B795F7959E3F1C -:10EC400008F0B3CF9395880F08F09927EE0F9795AA -:10EC500087950895DFD158F080E891E009F49EEFA0 -:10EC6000E0D128F040E851E059F45EEF09C0AAC1B4 -:10EC700062C2E92FE07826D268F3092E052AC1F393 -:10EC8000261737074807590738F00E2E07F8E025F2 -:10EC900069F0E025E0640AC0EF6307F8009407FA22 -:10ECA000DB01B9019D01DC01CA01AD01EF935DD02B -:10ECB000E7D10AD05F91552331F02BED3FE049E4D5 -:10ECC00050FD49EC63CF0895DF93DD27B92FBF775F -:10ECD00040E85FE31616170648075B0710F4D92FC4 -:10ECE00096D29F938F937F936F93A9D3EEE3F1E036 -:10ECF0006CD1C6D12F913F914F915F9101D3DD230C -:10ED000049F09058A2EA2AED3FE049EC5FE3D07861 -:10ED10005D274DDFDF91B4C1F7D180F09F3740F41C -:10ED200091110EF409C260E070E080E89FE308955D -:10ED300026F01B16611D711D811D1BC135C1EFD051 -:10ED400008F481E0089575D1E395ABC10CD098C16A -:10ED500068D140F05FD130F021F45F3F19F003C17A -:10ED60005111EAC12FC1AED198F39923C9F35523AC -:10ED7000B1F3951B550BBB27AA27621773078407AE -:10ED800038F09F5F5F4F220F331F441FAA1FA9F364 -:10ED900033D00E2E3AF0E0E830D091505040E69556 -:10EDA000001CCAF729D0FE2F27D0660F771F881FB7 -:10EDB000BB1F261737074807AB07B0E809F0BB0BA6 -:10EDC000802DBF01FF2793585F4F2AF09E3F5105CA -:10EDD00068F0C9C0B1C15F3FECF3983EDCF38695A3 -:10EDE00077956795B795F7959F5FC9F7880F911D40 -:10EDF0009695879597F90895E1E0660F771F881F2C -:10EE0000BB1F621773078407BA0720F0621B730BDE -:10EE1000840BBA0BEE1F88F7E095089504D0689430 -:10EE2000B1118AC1089556D188F09F5790F0B92F3B -:10EE30009927B751A0F0D1F0660F771F881F991F4F -:10EE40001AF0BA95C9F712C0B13081F074D1B1E0AF -:10EE5000089571C1672F782F8827B85F39F0B93FBF -:10EE6000CCF3869577956795B395D9F73EF4909551 -:10EE70008095709561957F4F8F4F9F4F0895E894CF -:10EE800009C097FB3EF490958095709561957F4FF2 -:10EE90008F4F9F4F9923A9F0F92F96E9BB279395A0 -:10EEA000F695879577956795B795F111F8CFFAF4B0 -:10EEB000BB0F11F460FF1BC06F5F7F4F8F4F9F4FE1 -:10EEC00016C0882311F096E911C0772321F09EE83F -:10EED000872F762F05C0662371F096E8862F70E0A5 -:10EEE00060E02AF09A95660F771F881FDAF7880F7F -:10EEF0009695879597F9089507D180F09F3740F44C -:10EF000091110EF019C160E070E080E89FEB089568 -:10EF100026F41B16611D711D811D2BC045C0990F64 -:10EF20000008550FAA0BE0E8FEEF16161706E807D3 -:10EF3000F907C0F012161306E407F50798F0621BF4 -:10EF4000730B840B950B39F40A2661F0232B242BC9 -:10EF5000252B21F408950A2609F4A140A6958FEFE8 -:10EF6000811D811D089597F99F6780E870E060E03A -:10EF70000895882371F4772321F09850872B762FFA -:10EF800007C0662311F499270DC09051862B70E0BD -:10EF900060E02AF09A95660F771F881FDAF7880FCE -:10EFA0009695879597F908959F3F31F0915020F4F9 -:10EFB000879577956795B795880F911D9695879555 -:10EFC00097F908959FEF80EC0895DF93CF931F93F7 -:10EFD0000F93FF92EF92DF927B018C01689405C042 -:10EFE000DA2EEF018DD1FE01E894A591259135919E -:10EFF00045915591AEF3EF01DADDFE019701A801CD -:10F00000DA9479F7DF90EF90FF900F911F91CF91F5 -:10F01000DF91089500240A941616170618060906AB -:10F02000089500240A94121613061406050608957E -:10F03000C9CF50D0E8F3E894E0E0BB279F57F0F049 -:10F040002AED3FE049EC06C0EE0FBB0F661F771FAD -:10F05000881F28F0B23A62077307840728F0B25A73 -:10F06000620B730B840BE3959A9572F7803830F43A -:10F070009A95BB0F661F771F881FD2F7904896CFCF -:10F08000092E0394000C11F4882352F0BB0F40F4B6 -:10F09000BF2B11F460FF04C06F5F7F4F8F4F9F4FF6 -:10F0A0000895EF93E0FF06C0A2EA2AED3FE049ECA5 -:10F0B0005FEB7DDDE5DF0F90039401FC9058EBE6FC -:10F0C000F1E0C7C157FD9058440F551F59F05F3FFD -:10F0D00071F04795880F97FB991F61F09F3F79F07A -:10F0E00087950895121613061406551FF2CF4695FC -:10F0F000F1DF08C0161617061806991FF1CF86957E -:10F100007105610508940895E5DFA0F0BEE7B91721 -:10F1100088F4BB279F3860F41616B11D672F782F2F -:10F120008827985FF7CF869577956795B11D93955A -:10F130009639C8F30895E894BB2766277727CB0153 -:10F1400097F90895ECDE08F48FEF089563DF19F066 -:10F1500068DF09F037CF07CFB901CA0125CF9F7704 -:10F160005F77B0DF98F39923B9F35523B9F3FF27FD -:10F17000951758F4E52FE91BED3070F75E3B10F062 -:10F18000F1E41CC09034E0F40AC0E92FE51BED3037 -:10F1900028F79E3B10F0F1E411C0503488F4F9EAEE -:10F1A00088232AF09A95660F771F881FDAF7442381 -:10F1B0002AF05A95220F331F441FDAF79F1B5F1B5B -:10F1C000FF931F930F93FF92EF9279018A01BB2760 -:10F1D000AB2F9B01AC0196D09701A801BF937B0197 -:10F1E0008C01AA27BA2FB901CA018CD0AF9197011F -:10F1F000A801EF90FF900F911F91D9DC41DFE1D082 -:10F200004F9140FF0895552747FD509509C09B0138 -:10F21000AC0160E070E080E89FE398CDA4CEC4CE5E -:10F2200059DFE8F39923D9F3940F511DBBF39150A3 -:10F23000504094F059F0882332F0660F771F881FF2 -:10F2400091505040C1F79E3F510544F7880F911DE2 -:10F250009695879597F908955F3FACF0983E9CF09E -:10F26000BB27869577956795B79508F4B160939518 -:10F27000C1F7BB0F58F711F460FFE8CF6F5F7F4F06 -:10F280008F4F9F4FE3CF58CF25DF58F19E5758F14E -:10F290009851A0F0E9F0983020F5092E9927660FD3 -:10F2A000771F881F991F0A94D1F712C0062E672F67 -:10F2B000782F8827985F11F4000C07C0993FB4F3AA -:10F2C0008695779567959395D9F7611D711D811D79 -:10F2D0003EF490958095709561957F4F8F4F9F4F2D -:10F2E0000895689429CF27CF0BD0CACE93DE28F09B -:10F2F00098DE18F0952309F036CE64CE11241CCF89 -:10F30000E1DEA0F3959FD1F3950F50E0551F629F6A -:10F31000F001729FBB27F00DB11D639FAA27F00D6E -:10F32000B11DAA1F649F6627B00DA11D661F829F95 -:10F330002227B00DA11D621F739FB00DA11D621F7A -:10F34000839FA00D611D221F749F3327A00D611D97 -:10F35000231F849F600D211D822F762F6A2F112479 -:10F360009F5750408AF0E1F088234AF0EE0FFF1FCC -:10F37000BB1F661F771F881F91505040A9F79E3F03 -:10F38000510570F0F0CDD8CE5F3FECF3983EDCF342 -:10F39000869577956795B795F795E7959F5FC1F740 -:10F3A000FE2B880F911D9695879597F908959F9349 -:10F3B00040DE0F9007FCEE5F74CE11F40EF402CE27 -:10F3C000F3CD88DED0F39923D9F3CEF39F57550BB5 -:10F3D00087FF38D00024A0E640EA90018058569577 -:10F3E000979528F4805C660F771F881F20F02617FA -:10F3F0003707480730F4621B730B840B202931292F -:10F400004A2BA69517940794202531254A2758F7AB -:10F41000660F771F881F20F026173707480730F43C -:10F42000620B730B840B200D311D411DA09581F7DC -:10F43000B901842F9158880F9695879508959B015F -:10F44000AC0152CF91505040660F771F881FD2F702 -:10F4500008959F938F937F936F93FF93EF939B01F7 -:10F46000AC0142DFEF91FF91B0DD2F913F914F91C1 -:10F470005F913ACFDB018F939F9389D0BF91AF917A -:10F48000A29F800D911DA39F900DB29F900D1124FE -:10F49000089587FB082E062687FD819567FD6195F7 -:10F4A0008AD00EF4919507FC81950895AA1BBB1B89 -:10F4B00051E107C0AA1FBB1FA617B70710F0A61B74 -:10F4C000B70B881F991F5A95A9F780959095BC0195 -:10F4D000CD01089597FB072E16F4009406D077FD12 -:10F4E00008D0E4DF07FC05D03EF4909581959F4F4E -:10F4F0000895709561957F4F0895A1E21A2EAA1B79 -:10F50000BB1BFD010DC0AA1FBB1FEE1FFF1FA217D3 -:10F51000B307E407F50720F0A21BB30BE40BF50BD0 -:10F52000661F771F881F991F1A9469F76095709559 -:10F53000809590959B01AC01BD01CF010895052EEA -:10F5400097FB16F400940FD057FD05D0D6DF07FCCB -:10F5500002D046F408C050954095309521953F4F14 -:10F560004F4F5F4F089590958095709561957F4FAF -:10F570008F4F9F4F0895EE0FFF1F0590F491E02DE0 -:10F58000199425D0B7FF0895821B930B08951FD0BF -:10F59000A59F900DB49F900DA49F800D911D1124E7 -:10F5A0000895B7FFF4CFF3DF821B930B0895079004 -:10F5B000F691E02D1994991B79E004C0991F9617D4 -:10F5C00008F0961B881F7A95C9F780950895A29F29 -:10F5D000B001B39FC001A39F700D811D1124911D27 -:10F5E000B29F700D811D1124911D0895CF93DF935B -:10F5F0008230910510F482E090E0E091171EF091C6 -:10F60000181E20E030E0A0E0B0E0309739F14081F2 -:10F61000518148175907B8F04817590771F482818A -:10F620009381109729F013969C938E9312972CC078 -:10F630009093181E8093171E27C02115310531F0B5 -:10F640004217530718F0A901DB0101C0EF019A012D -:10F65000BD01DF010280F381E02DD7CF21153105F7 -:10F66000F9F0281B390B2430310580F48A819B8105 -:10F670006115710521F0FB019383828304C090938F -:10F68000181E8093171EFE01329644C0FE01E20F41 -:10F69000F31F8193919322503109398328833AC013 -:10F6A0002091151E3091161E232B41F42091020249 -:10F6B000309103023093161E2093151E20910002F4 -:10F6C000309101022115310541F42DB73EB740912B -:10F6D000040250910502241B350BE091151EF09198 -:10F6E000161EE217F307A0F42E1B3F0B281739074D -:10F6F00078F0AC014E5F5F4F2417350748F04E0F8E -:10F700005F1F5093161E4093151E8193919302C064 -:10F71000E0E0F0E0CF01DF91CF910895CF93DF9348 -:10F72000009709F487C0FC01329713821282C091BE -:10F73000171ED091181E209781F420813181280F47 -:10F74000391F8091151E9091161E8217930779F527 -:10F75000F093161EE093151E6DC0DE0120E030E030 -:10F76000AE17BF0750F412964D915C9113979D010F -:10F770004115510509F1DA01F3CFB383A28340812A -:10F780005181840F951F8A179B0771F48D919C916D -:10F790001197840F951F02969183808312968D9105 -:10F7A0009C911397938382832115310529F4F0935B -:10F7B000181EE093171E3EC0D9011396FC93EE93DA -:10F7C00012974D915D91A40FB51FEA17FB0779F4CD -:10F7D00080819181840F951F0296D90111969C9387 -:10F7E0008E938281938113969C938E931297E0E07F -:10F7F000F0E08A819B81009719F0FE01EC01F9CFBE -:10F80000CE01029628813981820F931F2091151E07 -:10F810003091161E2817390769F4309729F4109291 -:10F82000181E1092171E02C013821282D093161E49 -:10F83000C093151EDF91CF9108956F927F928F92A2 -:10F840009F92AF92BF92CF92DF92EF92FF920F936F -:10F850001F93CF93DF93EC01CB01209779F4DF91D5 -:10F86000CF911F910F91FF90EF90DF90CF90BF90BD -:10F87000AF909F908F907F906F90B8CEFE01E60F73 -:10F88000F71F9E0122503109E217F30708F4A8C0C0 -:10F89000D9010D911C91119706171707B0F005308B -:10F8A000110508F49BC0A801445051094617570799 -:10F8B00008F494C002501109061B170B0193119311 -:10F8C0006D937C93CF012ADF89C05B01A01AB10A36 -:10F8D0004E01800E911EA091171EB091181E612C32 -:10F8E000712C60E070E0109709F449C0A815B905C3 -:10F8F000C9F5ED90FC901197670142E0C40ED11C50 -:10F90000CA14DB0478F147018A189B08640142E0BD -:10F91000C40ED11C1296BC9012971396AC91B5E010 -:10F92000CB16D10440F0B282A38391828082D901A8 -:10F930008D939C9309C00E5F1F4F0E0D1F1DF90183 -:10F9400011830083EB2DFA2F6115710531F0DB0176 -:10F950001396FC93EE93129741C0F093181EE09318 -:10F96000171E3CC06D917C9111976616770608F4BE -:10F970003B01BD0112960D90BC91A02DB4CF6091BA -:10F98000151E7091161E68157905E9F4681679063A -:10F99000D0F440910002509101024115510541F40B -:10F9A0004DB75EB76091040270910502461B570B7C -:10F9B000E417F507A8F4F093161EE093151EF9015D -:10F9C000918380830BC012DE7C01009749F0A8016F -:10F9D000BE011ED3CE01A2DEC70104C0CE0102C00B -:10F9E00080E090E0DF91CF911F910F91FF90EF9019 -:10F9F000DF90CF90BF90AF909F908F907F906F904F -:10FA000008958F929F92AF92BF92CF92DF92EF9222 -:10FA1000FF920F931F93CF93DF938B0161157105B5 -:10FA200021F0DB018C9311969C93EC015E01BFEFFA -:10FA3000AB1ABB0A7501C8808C2D90E07BD2892B54 -:10FA400011F0E501F3CFEDE2CE1208C07E01F2E045 -:10FA5000EF0EF11CC980DD24D39409C02BE2C21241 -:10FA600005C07E0142E0E40EF11CC980D12CE70103 -:10FA7000219743E050E061E170E6CE017BD2892B13 -:10FA8000B9F4239645E050E06CE070E6CE0172D206 -:10FA9000892B09F425960115110519F0D801CD938C -:10FAA000DC93D11000C160E070E080E89FE704C102 -:10FAB00043E050E069E070E6CE015CD2892B59F456 -:10FAC0000115110509F4F4C0B2E0EB0EF11CF801C8 -:10FAD000F182E082EDC0F70160E070E0CB01C0E0B0 -:10FAE000D0E07F01A0EDAA2EAC0C29E02A1528F168 -:10FAF0004D2D4260B42E2D2D2870D2FE04C0211150 -:10FB000024C0219622C021112197A5E0B0E09B01DD -:10FB1000AC013DDD660F771F881F991F6A0D711DAF -:10FB2000811D911D6839A9E97A078A07A9E19A0719 -:10FB300060F0BD2DB660BB2E08C02EEFA2120AC029 -:10FB4000D3FC50C04D2D4860B42E3196D701CC90D7 -:10FB5000DB2CC7CF2C2D2F7D253409F043C0A0818D -:10FB6000AD3241F4BD2DB061DB2E7F0122E0E20E0B -:10FB7000F11C0CC07F01AB3231F04FEFE41AF40AF4 -:10FB800021E030E006C0A2E0EA0EF11CA18122E0F3 -:10FB900030E0A053AA3018F0E21AF30A23C0F701AC -:10FBA00020E030E02038BCE03B075CF4A901440FC2 -:10FBB000551F440F551F240F351F220F331F2A0FC7 -:10FBC000311DAF014F5F5F4F7A01A081A053AA3072 -:10FBD00010F4FA01E7CFD4FE03C031952195310925 -:10FBE000C20FD31FD1FE09C00115110531F0E1E0AC -:10FBF000EE1AF108D801ED92FC9241D92D2D237017 -:10FC0000233019F04B015C0106C04B015C01B7FACF -:10FC1000B094B7F8B09420E030E0A901C501B40178 -:10FC20008ED8882309F43CC0D7FF06C0D195C19572 -:10FC3000D10908E210E602C000E410E66801B8E16C -:10FC4000CB1AD10890E2E92EF12CCE15DF056CF02D -:10FC5000F8012591359145915491C501B40144DBDA -:10FC60004B015C01CE19DF09F0CF04501109F59466 -:10FC7000E7940C151D0549F78A2D880F8B2D881FD9 -:10FC80008F3F41F020E030E0A901C501B40157D811 -:10FC9000811106C082E290E090931A1E8093191E93 -:10FCA000C501B40109C060E070E080E89FEF04C0C6 -:10FCB00060E070E080EC9FE7DF91CF911F910F91A2 -:10FCC000FF90EF90DF90CF90BF90AF909F908F907C -:10FCD00008952F923F925F926F927F928F929F92A0 -:10FCE000AF92BF92CF92DF92EF92FF920F931F934A -:10FCF000CF93DF938B01EA016115710521F0DB01E0 -:10FD00008C9311969C93209739F09E0122503109D3 -:10FD10002332310508F0F8C07C016701BFEFCB1A30 -:10FD2000DB0A5601F7016080862D90E003D1892B14 -:10FD300011F07601F2CFFDE26F120AC0570182E0A6 -:10FD4000A80EB11CD70111966C90772473940BC048 -:10FD5000BBE26B1207C05701E2E0AE0EB11CD70147 -:10FD600011966C90712CCE018F7E892B89F4B0E3B3 -:10FD70006B1222C0F50180818F7D883541F561804D -:10FD8000F2E0AF0EB11C872D8260782EC0E1D0E08A -:10FD9000C830D105F1F04CF4C230D10511F5C12CB9 -:10FDA000D12CE12CB0E4FB2E2EC0CA30D10531F0AD -:10FDB000C031D10519F115C0209751F7CAE0D0E044 -:10FDC000ACECCA2EDC2CEC2CACE0FA2E1CC020973C -:10FDD000F9F6C8E0D0E0C12CD12CE12CF0E1FF2EE7 -:10FDE00012C060E070E080E090E89E01442737FD9B -:10FDF0004095542F82DB69017A0105C0C12CD12CBA -:10FE0000E12CE8E0FE2EF50160E020E030E0A90101 -:10FE10004E01AA2497FCA094BA2C1F0170ED572E16 -:10FE2000560CA9E0A51570F48FEB860D8A3118F4F5 -:10FE300099EC592E06C08FE9860D8A3128F589EA9A -:10FE4000582E560C852D90E08C179D07ECF467FD1D -:10FE500017C0C216D306E406F50678F0C501B40152 -:10FE600009DB9B01AC01250D311D411D511D2130C8 -:10FE700031054105B0E85B0710F06FEF01C061E0AC -:10FE80003196D1016C90C9CF872D81700115110574 -:10FE900071F0662329F03197D801ED93FC9307C0E8 -:10FEA00071FE19C03297D801ED93FC9314C067FF1F -:10FEB00012C0882329F020E030E040E050E804C080 -:10FEC0002FEF3FEF4FEF5FE782E290E090931A1E33 -:10FED0008093191E16C0882341F0509540953095A7 -:10FEE00021953F4F4F4F5F4F0CC057FF0AC082E232 -:10FEF00090E090931A1E8093191E2FEF3FEF4FEF63 -:10FF00005FE7B901CA0104C060E070E080E090E002 -:10FF1000DF91CF911F910F91FF90EF90DF90CF90E5 -:10FF2000BF90AF909F908F907F906F905F903F9029 -:10FF30002F900895911111C3803219F08950855086 -:10FF4000D0F708959111089581548A5108F4805E84 -:10FF5000855A0895FB01DC0105900D920020E1F720 -:10FF60000895FC0105900020E9F7809590958E0F8B -:10FF70009F1F0895FB01DC014150504088F08D9196 -:10FF800081341CF08B350CF4805E659161341CF07B -:10FF90006B350CF4605E861B611171F3990B08954B -:10FFA000881BFCCFFB01DC014150504048F005901C -:10FFB0000D920020C9F701C01D9241505040E0F75A -:10FFC0000895FB0155915523A9F0BF01DC014D9126 -:10FFD00045174111E1F759F4CD010590002049F092 -:10FFE0004D9140154111C9F3FB014111EFCF81E063 -:10FFF00090E001970895FB01DC0104C08D91019010 -:020000022000DC -:10000000801921F441505040C8F7881B990B08957E -:10001000FB01DC0102C001900D9241505040D8F725 -:100020000895DC0101C06D9341505040E0F7089500 -:10003000FB01DC018D9181341CF08B350CF4805E6A -:10004000619161341CF06B350CF4605E861B6111AC -:1000500089F3990B0895FB01DC010D900020E9F76D -:10006000119701900D920020E1F70895FC01819114 -:10007000861721F08823D9F7992708953197CF0162 -:100080000895FB01DC018D91019080190110D9F3D5 -:10009000990B0895FB01DC0101900D920020E1F71E -:1000A0000895FB01DC014150504030F08D910190EA -:1000B000801919F40020B9F7881B990B0895FB01EA -:1000C000DC014150504048F001900D920020C9F7EA -:1000D00001C01D9241505040E0F708950F931F93C7 -:1000E000CF93DF93CDB7DEB72E970FB6F894DEBF70 -:1000F0000FBECDBF0E891F898EE08C831A830983C2 -:100100008FEF9FE79E838D83AE01465E5F4F688DC4 -:10011000798DCE01019610D0EF81F885E00FF11FA7 -:1001200010822E960FB6F894DEBF0FBECDBFDF91C2 -:10013000CF911F910F9108952F923F924F925F920E -:100140006F927F928F929F92AF92BF92CF92DF92E7 -:10015000EF92FF920F931F93CF93DF93CDB7DEB74C -:100160002C970FB6F894DEBF0FBECDBF7C016B019C -:100170008A01FC0117821682838181FFB0C1CE0102 -:1001800001964C01F7019381F60193FD859193FF50 -:1001900081916F01882309F49EC1853239F493FD62 -:1001A000859193FF81916F01853221F4B70190E031 -:1001B000EDD1E8CF512C312C20E02032A0F48B324D -:1001C00069F030F4803259F0833269F420612CC038 -:1001D0008D3239F0803339F4216026C022602460EA -:1001E00023C0286021C027FD27C030ED380F3A30EA -:1001F00078F426FF06C0FAE05F9E300D1124532EDE -:1002000013C08AE0389E300D1124332E20620CC0BA -:100210008E3221F426FD5FC1206406C08C3611F4B5 -:10022000206802C0883641F4F60193FD859193FF62 -:1002300081916F018111C1CF982F9F7D955493308B -:1002400028F40C5F1F4FFFE3F9830DC0833631F0B4 -:10025000833771F0833509F057C021C0F8018081E0 -:1002600089830E5F1F4F44244394512C540114C0C2 -:100270003801F2E06F0E711CF801A080B18026FFFA -:1002800003C0652D70E002C06FEF7FEFC5012C87C2 -:1002900072D12C0183012C852F77222E16C03801B4 -:1002A000F2E06F0E711CF801A080B18026FF03C040 -:1002B000652D70E002C06FEF7FEFC5012C8750D134 -:1002C0002C012C852068222E830123FC19C0832D4C -:1002D00090E048165906A0F4B70180E290E056D1AC -:1002E0003A94F5CFF50127FC859127FE81915F01B6 -:1002F000B70190E04BD131103A94F1E04F1A510818 -:100300004114510479F7DEC0843611F0893631F595 -:10031000F80127FF07C060817181828193810C5FA2 -:100320001F4F08C060817181882777FD8095982FC5 -:100330000E5F1F4F2F76B22E97FF09C090958095C4 -:10034000709561957F4F8F4F9F4F2068B22E2AE0A6 -:1003500030E0A4014DD1A82EA81843C0853729F458 -:100360002F7EB22E2AE030E025C0F22FF97FBF2E7B -:100370008F36C1F018F4883579F0ADC0803719F0A8 -:10038000883721F0A8C02F2F2061B22EB4FE0DC0F7 -:100390008B2D8460B82E09C024FF0AC09F2F966061 -:1003A000B92E06C028E030E005C020E130E002C0F0 -:1003B00020E132E0F801B7FE07C0608171818281DF -:1003C00093810C5F1F4F06C06081718180E090E0D7 -:1003D0000E5F1F4FA4010CD1A82EA818FB2DFF778C -:1003E000BF2EB6FE0BC02B2D2E7FA51450F4B4FEED -:1003F0000AC0B2FC08C02B2D2E7E05C07A2C2B2DF6 -:1004000003C07A2C01C0752C24FF0DC0FE01EA0D3B -:10041000F11D8081803311F4297E09C022FF06C0BE -:100420007394739404C0822F867809F0739423FD2B -:1004300012C020FF06C05A2C731418F4530C57181E -:10044000732C731460F4B70180E290E02C879ED087 -:1004500073942C85F6CF731410F4371801C0312C27 -:1004600024FF11C0B70180E390E02C878FD02C854A -:1004700022FF16C021FF03C088E590E002C088E794 -:1004800090E0B7010CC0822F867851F021FD02C0A8 -:1004900080E201C08BE227FD8DE2B70190E076D0CB -:1004A000A51430F4B70180E390E070D05A94F8CFEF -:1004B000AA94F401EA0DF11D8081B70190E066D0A5 -:1004C000A110F6CF332009F45DCEB70180E290E0B1 -:1004D0005DD03A94F7CFF7018681978102C08FEF04 -:1004E0009FEF2C960FB6F894DEBF0FBECDBFDF9105 -:1004F000CF911F910F91FF90EF90DF90CF90BF9021 -:10050000AF909F908F907F906F905F904F903F90B3 -:100510002F900895F999FECF92BD81BDF89A992741 -:1005200080B50895A6E1B0E044E050E0C1C0039674 -:10053000272FCDD0CBD0252FCAD0242FC8C0262F0F -:10054000F999FECF1FBA92BD81BD20BD0FB6F894B8 -:10055000FA9AF99A0FBE0196089599278827089567 -:10056000FC010590615070400110D8F7809590957E -:100570008E0F9F1F0895FC01615070400190011083 -:10058000D8F7809590958E0F9F1F08950F931F9316 -:10059000CF93DF93182F092FEB018B8181FD03C0CF -:1005A0008FEF9FEF20C082FF10C04E815F812C81B2 -:1005B0003D81421753077CF4E881F9819F012F5F49 -:1005C0003F4F39832883108306C0E885F985812F42 -:1005D0001995892B29F72E813F812F5F3F4F3F834C -:1005E0002E83812F902FDF91CF911F910F9108952E -:1005F000FA01AA27283051F1203181F1E8946F9354 -:100600006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED0F9 -:10061000B4E03CD0670F781F891F9A1FA11D680F97 -:10062000791F8A1F911DA11D6A0F711D811D911DCA -:10063000A11D20D009F468943F912AE0269F11243F -:100640003019305D3193DEF6CF010895462F4770A3 -:10065000405D4193B3E00FD0C9F7F6CF462F4F70FE -:10066000405D4A3318F0495D31FD4052419302D05C -:10067000A9F7EACFB4E0A695979587957795679502 -:10068000BA95C9F700976105710508959B01AC0102 -:100690000A2E06945795479537952795BA95C9F729 -:1006A000620F731F841F951FA01D0895DC01CB01ED -:1006B000FC01F999FECF06C0F2BDE1BDF89A319672 -:1006C00000B40D9241505040B8F70895262FF99983 -:1006D000FECF92BD81BDF89A019700B4021639F0A1 -:1006E0001FBA20BD0FB6F894FA9AF99A0FBE089572 -:1006F00010E6CAE4D0E600E006C022970109FE0138 -:100700000BBF0E94D7FACC34D10780E00807A9F7C5 -:04071000F894FFCF8B -:1007140000001B1E20000A01FF3FFF3F0000803F36 -:100724008145644325DF363E33334B410E0A1408BA -:100734001A0620042602B44D684D1F4DE04CAE4C01 -:100744005C4C234CC84B894B494BFF4AB54A6B4A16 -:10075400174AC3496A492A49E04896484C48F84729 -:10076400A4474B471C47D046814653462B46F54584 -:10077400C74599456B453D450B45D94496445D4471 -:100784001F44E443C3439B43734358431D43FB4209 -:10079400D442AD4286425C4239421642EE41C141E6 -:1007A400AD4199417B415D413F4121410341D640E7 -:1007B400AE40864068405E4054404A404040274036 -:1007C400F53FD73FA53F733F413F0F3FDD3EA53E79 -:1007D400843E573E2A3EEE3DB23D763D353DF43CE7 -:1007E400B63C633C3B3C073CDD3BBA3B793B343B8A -:1007F400EB3AB03A6A3A363ADF398E3945390A3932 -:10080400D638A6386F3838380138DE37AC37753704 -:1008140048371637BE3682363F36EA35903563356B -:100824002C35F534AF3469341434CD339433543324 -:100834000333D1329F325032F831CB31A9315031A8 -:100844002A31DE30CC30BC3066301530C42F8C2FCA -:10085400422FF72E9B2E442EEE2D8E2D352DD82C87 -:100864007E2C472C1F2CCF2B7A2B2A2BDA2A9E2A5C -:100874004E2A032A90298129272928288D27BB2637 -:10088400E9258A253A25F42481240E249B23282350 -:10089400B5221522A22166211721C9209320561CB6 -:1008A4001F1C841B36190919AA185018FB17D317D3 -:1008B400AB1783175B1733170B178E165C1643168B -:1008C400F31594155315F414A4146D140914A513F5 -:1008D4005F133713F11297123D12ED117F111111AD -:1008E400AD106210E00F4A0FFF0EB40E740EFC0D33 -:1008F400D40D720D380DE00C880C2A0CEA0B9C0BFD -:10090400400BF40A9E0A6A0A4A0A1A0AC6098609A8 -:100914003009DD0899085008FA07A2074A07F206C9 -:100924009A064206EB059D055505FD04BC047304B7 -:10093400C44D764D2C4DEC4CB84C6D4C2D4CDC4BD1 -:10094400984B574B0F4BC54A7B4A294AD5497D4999 -:100954003849F048A6485C480A48B6475E472747E6 -:10096400DE468F465E463346FE45D345A54577456C -:1009740046451545E344A7446C442F44ED43C9431D -:10098400A3437B435F432C430443DD42B6428F427F -:10099400654240421D42F641CA41B1419D418141F7 -:1009A4006341454127410941DF40B6408E406E40D6 -:1009B400604056404C4042402C40FF3FDD3FAF3F3B -:1009C4007D3F4B3F193FE73EB13E8A3E603E333E9A -:1009D400FA3DBE3D823D423D013DC33C733C433C38 -:1009E400123CE63BC33B873B403BFA3ABA3A783A7F -:1009F4003F3AF0399F3954391339DF38B0387A38EF -:100A040043380C38E537B637803751372037D0367E -:100A14008B364A36FB35A2356C3537350035C13453 -:100A240077342434DC339F3360331133DC32A73220 -:100A34005F320A32D431AF315F313031EA30D030F5 -:100A4400C03075302730D52F9A2F522F032FAD2E5B -:100A5400562E002EA02D472DE92C8B2C522C272C02 -:100A6400DF2B8B2B3A2BEA2AAA2A5E2A122AA729E1 -:100A7400842939295B28AC27E52613269D254A2598 -:100A8400022598242524B2233F23CC223522B921E0 -:100A940071212321DB209E202F1D2A1CA31BAC19AE -:100AA4001219BD1862180C18DB17B3178B176317CC -:100AB4003B171317A716661648160316A7156015D5 -:100AC4000715B41478141D14B9136D133F13FF12D2 -:100AD400A9124F12FD1195112711C1107110FA0FAF -:100AE400680F0E0FC30E820E140EDB0D870D430D1F -:100AF400F10C990C3B0CF70BAE0B520B010BAE0A2D -:100B0400730A510A220AD60993094309EE08A60872 -:100B14005F080C08B4075C070407AC065406FD051F -:100B2400AF0567050F05C9048004D34D874D3D4DBE -:100B3400FB4CC24C7C4C3E4CED4BA34B634B1D4BCE -:100B4400D34A894A394AE5498E494449FE48B4485A -:100B54006A481A48C6476F472F47EE46A04666467E -:100B64003B460946DB45AD457F454F451F45ED44B2 -:100B7400B24475443944F743CF43AB43834364439E -:100B840037430A43E442BD4296426D4247422442FF -:100B9400FE41D341B541A141874169414B412D41BA -:100BA4000F41E840BE4096407440624058404E4079 -:100BB400444031400940E33FB93F873F553F233F1D -:100BC400F13EBD3E913E693E3C3E063ECA3D8E3DF1 -:100BD4004F3D0E3DCF3C843C4B3C1E3CEE3BCB3B5F -:100BE400983B513B0C3BC53A8A3A493A023AB139EF -:100BF40062392239F038B73885384E381738EC372F -:100C0400C0378B375A372A37E236993659360C367D -:100C1400B435753542350B35CD3485343634EB3344 -:100C2400AA336D332733E332B3326F321F32DD31EF -:100C3400B63171313831FC30D330C3308530363081 -:100C4400E32FA12F612F112FBE2E682E102EB42D4D -:100C5400592DFB2C9D2C5D2C2F2CEF2B9C2B4A2BE0 -:100C6400FA2AB62A6E2A212ABE2987294B298E28D8 -:100C7400CB270F273D26B0255A251025AF243C2429 -:100C8400C9235623E3225522D0217F213521EB208D -:100C9400AA20081E351CC21B221A1B19D01874184E -:100CA4001D18E317BB1793176B1743171B17C016B1 -:100CB40070164D161316BA156D151A15C41483142F -:100CC4003114CD137B1347130D13BB1261120D1294 -:100CD400AB113D11D51080101410860F1D0FD20ECC -:100CE4008E0E2C0EE30D990D4F0D030DAB0C540C11 -:100CF400020CC00B640B110BC70A7F0A570A2D0A9A -:100D0400E809A0095409FD08B4086F081C08C607BF -:100D14006C071607BE0666060D06B90570052005A4 -:100D2400D7049204E44D984D4D4D0B4DCC4C8E4C54 -:100D3400484CFE4BAE4B6F4B2B4BE14A974A494A0A -:100D4400F5499F4950490C49C24878482A48D64732 -:100D540080473947FE46B1466E4643461446E3454E -:100D6400B545874559452945F744BD447E44434428 -:100D74001044D643B3438B436B433F431143EB428D -:100D8400C4429D4275424E422B420642DC41B94167 -:100D9400A5418D416F41514133411541F140C64058 -:100DA4009E407A4064405A4050404640364013408A -:100DB400E93FC33F913F5F3F2D3FFB3EC93E983E15 -:100DC400723E453E123ED63D9A3D5C3D1B3DDB3CAA -:100DD400953C533C253CF63BD23B9E3B613B1B3B45 -:100DE400D33A963A583A143AC13972393339F83801 -:100DF400C238903859382238F337CA3796376337B0 -:100E04003437F536A73668361D36C6357E354D354A -:100E14001635D83493344834FA33B4337A3336330A -:100E2400F032BF327E323232E631BD31813140316F -:100E34000C31D630C63095304530F12FA92F702FA4 -:100E4400232FCF2E7B2E1F2ECA2D6A2D0D2DB32CB2 -:100E5400682C372CFF2BAD2B5A2B0A2BC22A7E2A47 -:100E6400302AD5298A295D29C128EA273927672606 -:100E7400C3256A251E25C6245324E0236D23FA22A4 -:100E84007522E72190214A21FD20B820E11E401C53 -:100E9400E11B981A2419E31886182E18EB17C317A8 -:100EA4009B1773174B172317D9167A165216231646 -:100EB400CD157A152D15D4148E144514E113891308 -:100EC4004F131B13CD1273121D12C1115311E910CC -:100ED4008F102E10A40F2C0FE10E9A0E440EEC0D61 -:100EE400AA0D5B0D150DBD0C660C0C0CCD0B780B0F -:100EF400260BD80A8C0A5E0A3A0AFA09AC09630975 -:100F04000F09BF087D082C08D6077E072607CE06E2 -:100F140076061E06C70579053105E304A004F04DE5 -:100F2400A64D5B4D1A4DD64C9D4C524C124CBD4BAC -:100F34007D4B3B4BF14AA74A5B4A074AB2495E499B -:100F44001C49D24888483C48E847934742470C47E5 -:100F5400BF4679464B462146EE45C045924562451B -:100F640033450145CE448D4453441944DD43BB43CA -:100F740093436F434E431843F442CD42A6427E420C -:100F8400554232420E42E541BD41A941934175416A -:100F9400574139411B41FA40CE40A640804066404B -:100FA4005C40524048403B401D40EF3FCD3F9B3F9B -:100FB400693F373F053FD13E9E3E7B3E4E3E1E3E3F -:100FC400E23DA63D693D283DE83CA53C5B3C2F3C09 -:100FD400FF3BD83BAE3B6C3B293BDD3AA53A613A3B -:100FE400253AD03980393C390139CC389B386438BA -:100FF4002D38FA37D437A1376C373E370637B03639 -:1010040073362E36D835873558352135E734A13433 -:1010140059340934C13386334333FA32C9328F32F7 -:101024004232EF31C431953148311731DA30C930A9 -:10103400A83056300430B82F7E2F322FE42E8B2E5A -:10104400312EDC2D7C2D222DC72C732C3F2C0F2C04 -:10105400BE2B6A2B1A2BCE2A8E2A3F2AEC298D29E5 -:101064006F29F428092863279126D6257A252C256B -:10107400DD246A24F723842311239522FE219A2157 -:1010840058210B21C020BA1F4B1C001C0E1B2D190C -:10109400F61898183F18F317CB17A3177B17531795 -:1010A4002B17F216841657163316E01587154015BC -:1010B400E41499145914F513971357132913DF12D1 -:1010C40085122D12D7116911FD109E104810C20F00 -:1010D4003B0FF00EA80E5C0EF40DBF0D660D260D31 -:1010E400CE0C770C1B0CDC0B8A0B330BE70A950A2E -:1010F400640A420A0A0AB90975091D09CC088B0851 -:101104003E08E80790073807E00688063006D90548 -:101114008B054305F004AD040160EA00000080BBC8 -:10112400440101000000410000344200005041002D -:10113400004040000056430000464300004943007D -:10114400000000000000001F856B3E0000803F008F -:10115400004040640064006400640000803B45007B -:10116400803B45000070430000000002E8C20132E9 -:1011740000FA006400DC005A00F0006400FE000184 -:10118400010101011C02C201F4010E01C20152035A -:101194000E01C201520300000243FF00004000148C -:1011A400005400001F1511151F00000C12120C0032 -:1011B400000000040A0A0A0A11110E040E1F041C7E -:1011C4000000000006191803130C00001C1F111165 -:1011D4001F00000004120912040000000E13151170 -:1011E4000E00000000000000110A040000C84200C4 -:1011F40000C84200007A45004003440000FA43005E -:1012040000FA43000040400000C8412823000028A1 -:101214002300001E00000010270000101010101002 -:10122400504944204175746F74756E652073746100 -:10123400727400504944204175746F74756E652052 -:101244006661696C65642E204261642065787472FD -:1012540075646572206E756D6265722E0000000003 -:1012640000E24C17F52F006F70656E206661696CA3 -:1012740065642C2046696C653A20004E6F742070BA -:1012840072696E74696E670053442D5052494E540E -:10129400494E47202020202020202020004D31319D -:1012A4003200332E302E3100336D6D2D52414D42BC -:1012B4006F3130612D50727573614E6D6B32003F2A -:1012C4000050727573612069330020703A00206900 -:1012D4003A0020643A0020633A0054000000010000 -:1012E400250030001D000C001800240031001C00F3 -:1012F4000B00170023002F001B000A001E004700EC -:101304000400080022002B001A00030036003700F6 -:101314003500380058595A454F4B00052E2E003ED3 -:1013240000206D6D006D2000636D00682000730067 -:101334006B6D0068007C002D2D2D2D2D2D2D2D2D58 -:101344002D2D2D2D2D2D2D2D2D2D2D00486F74651A -:101354006E640058005900426564004C6F61646912 -:101364006E672066696C616D656E740034002020C0 -:101374002020202020202020202020202020202069 -:1013840020200001005E0020205A00203A200000A6 -:10139400803B4500803B45000070430000704200E4 -:1013A40000000007D117F5000000006AEC3EEC13C2 -:0813B400EC1BEC2EEC3DEC00FB -:00000001FF diff --git a/hex_files/3mm-RAMBo13a-PrusaNmk2.hex b/hex_files/3mm-RAMBo13a-PrusaNmk2.hex deleted file mode 100644 index 770dfcfb2..000000000 --- a/hex_files/3mm-RAMBo13a-PrusaNmk2.hex +++ /dev/null @@ -1,8523 +0,0 @@ -:100000000C9426300C9457300C9457300C94573085 -:100010000C9457300C9457300C9457300C94573044 -:100020000C9457300C9457300C9457300C94573034 -:100030000C9457300C943FF40C9457300C94573078 -:100040000C9457300C946AD20C9457300C9457305F -:100050000C9457300C9457300C94D3480C94FFEF09 -:100060000C9457300C9438CF0C9457300C94573074 -:100070000C9457300C9457300C9457300C945730E4 -:100080000C9457300C9457300C9457300C945730D4 -:100090000C9457300C9457300C9457300C9431ED2D -:1000A0000C9457300C9457300C9457300C945730B4 -:1000B0000C9457300C9457300C9457300C945730A4 -:1000C0000C9457300C9457300C9457300C94573094 -:1000D0000C9457300C9457300C9457300C94573084 -:1000E0000C94573020492E494A4958497249804951 -:1000F0009A499E49A049A449AC4983EE88EE8DEE09 -:1001000097EE10EFA1EEA9EEB1EEBBEEC5EECFEE8D -:10011000DEEEE8EE10EFF2EEFCEE06EF2EEF31EF42 -:1001200024EF28EF68EF35EF39EF3FEF43EF47EF6C -:100130004DEF51EF55EF68EF5BEF5FEF63EF084A6C -:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB -:100150009ABD56833DDA3D00C77F11BED9E4BB4C42 -:100160003E916BAAAABE000000803F05A84CCDB20C -:10017000D44EB93836A9020C50B9918688083CA6ED -:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8 -:100190003F2F5B5D3B2C2A225C004572723A204D5A -:1001A000415854454D50204245440054656D70659A -:1001B000726174757265206865617465642062653A -:1001C00064207377697463686564206F66662E20A7 -:1001D0004D415854454D502074726967676572658A -:1001E000642021004572723A204D494E54454D50CD -:1001F000003A20457874727564657220737769746B -:1002000063686564206F66662E204D494E54454DE7 -:1002100050207472696767657265642021004572B9 -:10022000723A204D415854454D50003A204578745B -:100230007275646572207377697463686564206F92 -:1002400066662E204D415854454D502074726967A2 -:100250006765726564202100544845524D414C2029 -:1002600052554E4157415900202D20496E76616C00 -:100270006964206578747275646572206E756D624C -:100280006572202100504944204175746F74756E69 -:10029000652066696E6973686564212050757420F5 -:1002A000746865206C617374204B702C204B69203E -:1002B000616E64204B6420636F6E7374616E74733F -:1002C0002066726F6D2061626F766520696E746F53 -:1002D00020436F6E66696775726174696F6E2E6810 -:1002E00000504944204175746F74756E65206661D5 -:1002F000696C6564212074696D656F7574002040B8 -:100300003A006F6B20543A006F6B20423A0050491C -:1003100044204175746F74756E65206661696C6503 -:1003200064212054656D7065726174757265207406 -:100330006F6F206869676800204B643A2000204B8B -:10034000693A2000204B703A200020436C6173739F -:1003500069632050494420002054753A2000204B06 -:10036000753A2000206D61783A2000206D696E3A60 -:10037000200020643A200020626961733A200070F6 -:10038000012C0190012701B0012201C0011D01F0E3 -:100390000118011002130130020E016002090190E0 -:1003A000020401C002FF000003FA004003F50080D0 -:1003B00003F000D003EB002004E6007004E100E04D -:1003C00004DC004005D700C005D2004006CD00D0B7 -:1003D00006C8008007C3003008BE00F008B900C09E -:1003E00009B400B00AAF00B00BAA00D00CA5000001 -:1003F0000EA000500F9B00C01096005012910000FC -:10040000148C00C0158700B0178200B0197D00D091 -:100410001B7800001E730040206E0090226900F0DF -:1004200024640040275F0090295A00E02B550010FB -:100430002E500020304B0010324600E03341009037 -:10044000353C001037370070383200A0392D00B02D -:100450003A2800A03B2300603C1E00103D1900908C -:100460003D1400103E0F00703E0A00C03E05000023 -:100470003F00004472756B207A20555342202000C3 -:10048000496D70726573696F6E20646520555342C3 -:1004900020005374616D70612064612055534200E7 -:1004A0005469736B207A20555342202000555342E3 -:1004B000207072696E74696E6720200053746174D5 -:1004C000797374796B61202000457374616469737A -:1004D0007469636120200053746174697374696383 -:1004E00068650053746174697374696B61202000DE -:1004F0005374617469737469637320200053656C6D -:100500006674657374206E69657564616E79004107 -:1005100075746F746573742066616C6C61646F00D0 -:100520004175746F746573742066616C6C69746F67 -:100530000053656C66746573742073656C68616CD8 -:1005400020200053656C6674657374206661696C65 -:10055000656420200053656C6674657374202020E8 -:10056000202020202020004175746F746573740072 -:100570004175746F746573740053656C667465734C -:10058000742020202020202020200053656C6674D9 -:100590006573742020202020202020200057737AAB -:1005A0007973746B6F204F4B202020202020005443 -:1005B0006F646F2062696520004E657373756E20ED -:1005C0006572726F726500567365204F4B20202054 -:1005D000202020202020202000416C6C20636F729E -:1005E00072656374202020202020004B6F6E74728F -:1005F0006F6C6120626564202020202000436F6EB4 -:1006000074726F6C2064652063616D610056657261 -:1006100069666963612070696173747261004B6F10 -:100620006E74726F6C61206265642020202020004F -:10063000436865636B696E672062656420202020D3 -:1006400020004B6F6E74726F6C61205A2061786964 -:1006500073202000436F6E74726F6C2064656C2091 -:10066000656A65205A005665726966696361206132 -:10067000737365205A004B6F6E74726F6C61205AF1 -:100680002061786973202000436865636B696E6739 -:10069000205A20617869732020004B6F6E74726F4E -:1006A0006C6120592061786973202000436F6E745B -:1006B000726F6C2064656C20656A65205900566510 -:1006C00072696669636120617373652059004B6FBD -:1006D0006E74726F6C6120592061786973202000FC -:1006E000436865636B696E67205920617869732080 -:1006F00020004B6F6E74726F6C61205820617869B6 -:1007000073202000436F6E74726F6C2064656C20E0 -:10071000656A652058005665726966696361206183 -:100720007373652058004B6F6E74726F6C61205844 -:100730002061786973202000436865636B696E6788 -:10074000205820617869732020004B6F6E74726F9F -:100750006C6120686F74656E64202000436F6E7456 -:10076000726F6C20686F74656E64200056657269E4 -:1007700066696361206C696D2074656D70004B6FF4 -:100780006E74726F6C6120686F74656E64202000F7 -:10079000436865636B696E6720686F74656E64207B -:1007A00020004B6F6E74726F6C6120656E647374A1 -:1007B0006F707300436F6E742E20746F70657320BA -:1007C00066696E616C005665726966696361206C6A -:1007D000696D697469004B6F6E74726F6C6120652E -:1007E0006E6473746F707300436865636B696E67E2 -:1007F00020656E6473746F70730053656C6620744B -:100800006573742073746172742020004175746F75 -:10081000746573742073616C69646100496E697AF0 -:100820006961206175746F746573740053656C66DB -:100830002074657374207374617274202000536592 -:100840006C66207465737420737461727420200068 -:10085000437A6173206472756B75203A20200054CE -:1008600069656D706F20646520696D702E3A005463 -:10087000656D706F207374616D70613A00436173D0 -:10088000207469736B75203A2020005072696E7471 -:100890002074696D653A20200046696C616D656E53 -:1008A00074203A20200046696C616D656E746F207B -:1008B0003A20200046696C616D656E746F3A00469F -:1008C000696C616D656E74203A20200046696C6128 -:1008D0006D656E7420757365643A202000437A61FB -:1008E000732063616C6B6F77697479203A00546987 -:1008F000656D706F20746F74616C203A0054656D83 -:10090000706F207374616D706120746F743A00436E -:10091000656C6B6F767920636173203A00546F7455 -:10092000616C207072696E742074696D65203A0084 -:1009300046696C616D656E74206C61637A6E696581 -:10094000203A0046696C616D656E746F20746F7437 -:10095000616C3A0046696C616D656E746F20746FEE -:10096000743A0046696C616D656E742063656C6BEA -:10097000656D203A00546F74616C2066696C616D1E -:10098000656E74203A0053656C662074657374203C -:100990004F4B0053656C662074657374204F4B0099 -:1009A0004175746F74657374204F4B0053656C66AA -:1009B0002074657374204F4B0053656C662074651A -:1009C0007374204F4B00456E6473746F70206E6FAC -:1009D000742068697400546F70652066696E2E20FB -:1009E0006E6F20746F632E004C696D2E2066756FDC -:1009F0007269706F727461746100456E6473746FB4 -:100A000070206E6F742068697400456E6473746F33 -:100A100070206E6F742068697400456E6473746F23 -:100A20007000546F70652066696E616C004C696D72 -:100A300069746520636F72736100456E6473746FCF -:100A40007000456E6473746F700053696C6E696BEF -:100A5000004D6F746F72004D6F746F7265004D6F53 -:100A6000746F72004D6F746F7200456E6473746FB3 -:100A7000707300546F7065732066696E616C004C12 -:100A8000696D69746920636F72736100456E647388 -:100A9000746F707300456E6473746F707300426C92 -:100AA000616420706F6C61637A656E696100457284 -:100AB000726F7220646520636F6E657869C383C648 -:100AC00092C382C2B36E004572726F726520636119 -:100AD000626C616767696F004368796261207A615F -:100AE000706F6A656E6900576972696E672065721A -:100AF000726F7200426564202F20486561746572D0 -:100B00000043616D612F43616C656E7461646F7247 -:100B100000506961737472612F52697363616C6410 -:100B200061746F726500426564202F2048656174AE -:100B3000657200426564202F20486561746572000B -:100B40004865617465722F546865726D6973746F5E -:100B5000720043616C656E742E2F5465726D6973FB -:100B6000746F720052697363616C642E2F546572E6 -:100B70006D6973746F7265004865617465722F5496 -:100B80006865726D6973746F72004865617465722F -:100B90002F546865726D6973746F72004E696520B9 -:100BA000706F646C61637A6F6E6F202020004E6FEF -:100BB0002068617920636F6E6578696F6E20200010 -:100BC0004E6F6E20636F6E6E6573736F004E657A45 -:100BD00061706F6A656E6F20202020004E6F742058 -:100BE000636F6E6E656374656400536B6F6E7472D1 -:100BF0006F6C756A203A00436F6E74726F6C61207F -:100C00003A0056657269666963613A005A6B6F6EA5 -:100C100074726F6C756A7465203A00506C6561730C -:100C20006520636865636B203A0053656C66746584 -:100C30007374206572726F72202100C383E2809A00 -:100C4000C382C2A14175746F74657374206572723A -:100C50006F7221004175746F74657374206E6567DF -:100C6000617469766F0053656C6674657374206592 -:100C700072726F7220210053656C66746573742004 -:100C80006572726F72202100686F77746F2E7072B8 -:100C900075736133642E637A00686F77746F2E709A -:100CA0007275736133642E636F6D00686F77746F54 -:100CB0002E707275736133642E636F6D00686F7789 -:100CC000746F2E707275736133642E637A00686F6F -:100CD00077746F2E707275736133642E636F6D005D -:100CE000666F72756D2E707275736133642E637AE0 -:100CF00000666F72756D2E707275736133642E634A -:100D00006F6D00666F72756D2E70727573613364EE -:100D10002E636F6D00666F72756D2E7072757361E4 -:100D200033642E637A00666F72756D2E7072757300 -:100D30006133642E636F6D00707275736133642E5E -:100D4000637A00707275736133642E636F6D007027 -:100D50007275736133642E636F6D007072757361A9 -:100D600033642E637A00707275736133642E636F1F -:100D70006D005779626F72206A657A796B61202005 -:100D80002020202020200043616D626961206C6179 -:100D9000206C656E677561200053656C657A2E2046 -:100DA0006C61206C696E67756100567962657220AE -:100DB0006A617A796B612020202020202020005356 -:100DC000656C656374206C616E6775616765202072 -:100DD00020202000506F6C736B6900457370616E4A -:100DE0006F6C004974616C69616E6F004365737468 -:100DF000696E6100456E676C697368004572726F59 -:100E00007220696E206D656E7520737472756374DF -:100E1000757265004572726F7220696E206D656E25 -:100E20007520737472756374757265004572726FA4 -:100E30007220696E206D656E7520737472756374AF -:100E4000757265004572726F7220696E206D656EF5 -:100E50007520737472756374757265004572726F74 -:100E60007220696E206D656E75207374727563747F -:100E700075726500446F737461766F76616E692078 -:100E80005A0041646A757374696E67205A00416440 -:100E90006A757374696E67205A00446F7374617663 -:100EA0006F76616E69205A0041646A757374696E69 -:100EB00067205A00426162797374657070696E6769 -:100EC000205900426162797374657070696E6720A1 -:100ED0005900426162797374657070696E67205958 -:100EE00000426162797374657070696E67205900A1 -:100EF000426162797374657070696E67205900424F -:100F00006162797374657070696E67205800426120 -:100F100062797374657070696E672058004261620F -:100F2000797374657070696E6720580042616279E8 -:100F30007374657070696E672058004261627973DE -:100F400074657070696E6720580020746F6F206C34 -:100F50006F6E6720657874727573696F6E2070723A -:100F60006576656E7465640020746F6F206C6F6EBB -:100F70006720657874727573696F6E20707265761C -:100F8000656E7465640020746F6F206C6F6E6720EF -:100F9000657874727573696F6E2070726576656EB0 -:100FA0007465640020746F6F206C6F6E67206578C5 -:100FB00074727573696F6E2070726576656E746594 -:100FC000640020746F6F206C6F6E67206578747298 -:100FD0007573696F6E2070726576656E74656400F6 -:100FE00020636F6C6420657874727573696F6E200E -:100FF00070726576656E7465640020636F6C642042 -:10100000657874727573696F6E2070726576656E3F -:101010007465640020636F6C642065787472757306 -:10102000696F6E2070726576656E7465640020630A -:101030006F6C6420657874727573696F6E2070725E -:101040006576656E7465640020636F6C64206578F6 -:1010500074727573696F6E2070726576656E7465F3 -:101060006400656E6473746F7073206869743A20ED -:1010700000656E6473746F7073206869743A200041 -:10108000656E6473746F7073206869743A200065CC -:101090006E6473746F7073206869743A2000656EB3 -:1010A0006473746F7073206869743A2000537465B8 -:1010B000707261746520746F6F20686967683A2088 -:1010C00000537465707261746520746F6F20686975 -:1010D00067683A2000537465707261746520746F9C -:1010E0006F20686967683A20005374657072617494 -:1010F0006520746F6F20686967683A2000537465D3 -:10110000707261746520746F6F20686967683A2037 -:101110000043616E6E6F7420656E74657220737526 -:10112000626469723A200043616E6E6F7420656E6E -:10113000746572207375626469723A200043616E4F -:101140006E6F7420656E7465722073756264697267 -:101150003A200043616E6E6F7420656E7465722074 -:101160007375626469723A200043616E6E6F742019 -:10117000656E746572207375626469723A200065E9 -:1011800072726F722077726974696E6720746F2053 -:1011900066696C65006572726F7220777269746936 -:1011A0006E6720746F2066696C65006572726F727D -:1011B0002077726974696E6720746F2066696C6548 -:1011C000006572726F722077726974696E6720743D -:1011D0006F2066696C65006572726F722077726944 -:1011E00074696E6720746F2066696C65004E6F7459 -:1011F000205344207072696E74696E67004E6F747C -:10120000205344207072696E74696E67004E6F746B -:10121000205344207072696E74696E67004E6F745B -:10122000205344207072696E74696E67004E6F744B -:10123000205344207072696E74696E6700534420B5 -:101240007072696E74696E672062797465200053EC -:1012500044207072696E74696E67206279746520CB -:10126000005344207072696E74696E6720627974ED -:101270006520005344207072696E74696E67206245 -:1012800079746520005344207072696E74696E67CA -:101290002062797465200057726974696E672074E2 -:1012A0006F2066696C653A200057726974696E67D1 -:1012B00020746F2066696C653A2000577269746902 -:1012C0006E6720746F2066696C653A2000577269FA -:1012D00074696E6720746F2066696C653A200057E8 -:1012E000726974696E6720746F2066696C653A2054 -:1012F0000046696C652073656C65637465640046BF -:10130000696C652073656C65637465640046696C1F -:10131000652073656C65637465640046696C65205F -:1013200073656C65637465640046696C65207365FC -:101330006C6563746564002053697A653A20002007 -:1013400053697A653A20002053697A653A20002073 -:1013500053697A653A20002053697A653A2000463D -:10136000696C65206F70656E65643A200046696C33 -:1013700065206F70656E65643A200046696C652073 -:101380006F70656E65643A200046696C65206F7009 -:10139000656E65643A200046696C65206F70656E05 -:1013A00065643A20006F70656E206661696C6564E3 -:1013B0002C2046696C653A20006F70656E2066616E -:1013C000696C65642C2046696C653A20006F706515 -:1013D0006E206661696C65642C2046696C653A20F4 -:1013E000006F70656E206661696C65642C204669CB -:1013F0006C653A20006F70656E206661696C65648B -:101400002C2046696C653A2000776F726B446972D4 -:10141000206F70656E206661696C656400776F721D -:101420006B446972206F70656E206661696C6564DB -:1014300000776F726B446972206F70656E20666111 -:10144000696C656400776F726B446972206F7065B8 -:101450006E206661696C656400776F726B446972B7 -:10146000206F70656E206661696C6564005344206E -:1014700063617264206F6B00534420636172642067 -:101480006F6B0053442063617264206F6B005344A0 -:101490002063617264206F6B005344206361726447 -:1014A000206F6B006F70656E526F6F74206661699C -:1014B0006C6564006F70656E526F6F742066616951 -:1014C0006C6564006F70656E526F6F742066616941 -:1014D0006C6564006F70656E526F6F742066616931 -:1014E0006C6564006F70656E526F6F742066616921 -:1014F0006C656400766F6C756D652E696E6974201D -:101500006661696C656400766F6C756D652E696ED9 -:101510006974206661696C656400766F6C756D65D1 -:101520002E696E6974206661696C656400766F6C03 -:10153000756D652E696E6974206661696C656400FD -:10154000766F6C756D652E696E6974206661696C65 -:10155000656400534420696E6974206661696C009B -:10156000534420696E6974206661696C005344209D -:10157000696E6974206661696C00534420696E6904 -:1015800074206661696C00534420696E697420663A -:1015900061696C0043616E6E6F74206F70656E20C0 -:1015A0007375626469720043616E6E6F74206F7050 -:1015B000656E207375626469720043616E6E6F744C -:1015C000206F70656E207375626469720043616E8E -:1015D0006E6F74206F70656E20737562646972003F -:1015E00043616E6E6F74206F70656E2073756264F8 -:1015F000697200486F74656E64206F666673657407 -:10160000733A00486F74656E64206F666673657424 -:10161000733A00486F74656E64206F666673657414 -:10162000733A00486F74656E64206F666673657404 -:10163000733A00486F74656E64206F6666736574F4 -:10164000733A006F70656E006F70656E006F706545 -:101650006E006F70656E006F70656E005452494782 -:101660004745524544005452494747455245440076 -:10167000545249474745524544005452494747450B -:10168000524544005452494747455245440052652B -:10169000706F7274696E6720656E6473746F70200A -:1016A000737461747573005265706F7274696E67DC -:1016B00020656E6473746F70207374617475730049 -:1016C0005265706F7274696E6720656E6473746FB3 -:1016D0007020737461747573005265706F727469F1 -:1016E0006E6720656E6473746F70207374617475B7 -:1016F00073005265706F7274696E6720656E6473F3 -:10170000746F7020737461747573007A5F6D6178A3 -:101710003A20007A5F6D61783A20007A5F6D6178D7 -:101720003A20007A5F6D61783A20007A5F6D6178C7 -:101730003A20007A5F6D696E3A20007A5F6D696EBB -:101740003A20007A5F6D696E3A20007A5F6D696EAB -:101750003A20007A5F6D696E3A2000795F6D61789A -:101760003A2000795F6D61783A2000795F6D617889 -:101770003A2000795F6D61783A2000795F6D617879 -:101780003A2000795F6D696E3A2000795F6D696E6D -:101790003A2000795F6D696E3A2000795F6D696E5D -:1017A0003A2000795F6D696E3A2000785F6D61784C -:1017B0003A2000785F6D61783A2000785F6D61783B -:1017C0003A2000785F6D61783A2000785F6D61782B -:1017D0003A2000785F6D696E3A2000785F6D696E1F -:1017E0003A2000785F6D696E3A2000785F6D696E0F -:1017F0003A2000785F6D696E3A2000496E76616C20 -:10180000696420657874727564657200496E7661EA -:101810006C696420657874727564657200496E76CF -:10182000616C696420657874727564657200496ED4 -:1018300076616C69642065787472756465720049BC -:101840006E76616C69642065787472756465720087 -:101850004163746976652045787472756465723A7F -:1018600020004163746976652045787472756465FB -:10187000723A200041637469766520457874727508 -:101880006465723A20004163746976652045787416 -:1018900072756465723A200041637469766520450B -:1018A000787472756465723A2000556E6B6E6F774E -:1018B0006E20636F6D6D616E643A202200556E6B11 -:1018C0006E6F776E20636F6D6D616E643A202200DB -:1018D000556E6B6E6F776E20636F6D6D616E643ADF -:1018E000202200556E6B6E6F776E20636F6D6D6199 -:1018F0006E643A202200556E6B6E6F776E20636FB8 -:101900006D6D616E643A202200526573656E643AB3 -:101910002000526573656E643A2000526573656EEF -:10192000643A2000526573656E643A200052657314 -:10193000656E643A20005072696E7465722073742B -:101940006F707065642064756520746F20657272B5 -:101950006F72732E204669782074686520657272F4 -:101960006F7220616E6420757365204D393939209E -:10197000746F20726573746172742E202854656DC3 -:101980007065726174757265206973207265736524 -:10199000742E20536574206974206166746572200A -:1019A00072657374617274696E6729005072696E32 -:1019B0007465722073746F7070656420647565203F -:1019C000746F206572726F72732E2046697820746E -:1019D0006865206572726F7220616E642075736530 -:1019E000204D39393920746F2072657374617274B7 -:1019F0002E202854656D706572617475726520695A -:101A0000732072657365742E205365742069742089 -:101A100061667465722072657374617274696E6751 -:101A200029005072696E7465722073746F707065EE -:101A3000642064756520746F206572726F72732EF6 -:101A40002046697820746865206572726F72206123 -:101A50006E6420757365204D39393920746F20729A -:101A60006573746172742E202854656D706572619F -:101A7000747572652069732072657365742E2053C6 -:101A80006574206974206166746572207265737470 -:101A9000617274696E6729005072696E7465722094 -:101AA00073746F707065642064756520746F206551 -:101AB00072726F72732E2046697820746865206593 -:101AC00072726F7220616E6420757365204D3939B2 -:101AD0003920746F20726573746172742E202854DB -:101AE000656D7065726174757265206973207265C9 -:101AF0007365742E20536574206974206166746563 -:101B0000722072657374617274696E672900507215 -:101B1000696E7465722073746F707065642064758B -:101B20006520746F206572726F72732E204669781B -:101B300020746865206572726F7220616E64207512 -:101B40007365204D39393920746F20726573746163 -:101B500072742E202854656D70657261747572659B -:101B60002069732072657365742E20536574206933 -:101B70007420616674657220726573746172746931 -:101B80006E6729005072696E7465722068616C74AA -:101B900065642E206B696C6C28292063616C6C6510 -:101BA0006421005072696E7465722068616C74659E -:101BB000642E206B696C6C28292063616C6C6564F1 -:101BC00021005072696E7465722068616C7465647E -:101BD0002E206B696C6C28292063616C6C65642114 -:101BE000005072696E7465722068616C7465642E51 -:101BF000206B696C6C28292063616C6C6564210022 -:101C00005072696E7465722068616C7465642E2010 -:101C10006B696C6C28292063616C6C656421002001 -:101C2000436F756E7420583A200020436F756E74B0 -:101C300020583A200020436F756E7420583A2000D7 -:101C400020436F756E7420583A200020436F756EE4 -:101C50007420583A20004649524D574152455F4E34 -:101C6000414D453A4D61726C696E2056312E302ED1 -:101C7000323B20537072696E7465722F6772626CAA -:101C8000206D617368757020666F722067656E36AF -:101C9000204649524D574152455F55524C3A68745F -:101CA0007470733A2F2F6769746875622E636F6D55 -:101CB0002F707275736133642F50727573612D6963 -:101CC000332D506C75732F2050524F544F434F4C4F -:101CD0005F56455253494F4E3A312E30204D4143C5 -:101CE00048494E455F545950453A507275736120CA -:101CF00069332045585452554445525F434F554E21 -:101D0000543A3120555549443A3030303030303033 -:101D1000302D303030302D303030302D30303030CC -:101D20002D3030303030303030303030300A0046F6 -:101D300049524D574152455F4E414D453A4D6172B2 -:101D40006C696E2056312E302E323B2053707269F2 -:101D50006E7465722F6772626C206D617368757046 -:101D600020666F722067656E36204649524D574196 -:101D700052455F55524C3A68747470733A2F2F670E -:101D800069746875622E636F6D2F7072757361333D -:101D9000642F50727573612D69332D506C75732FDC -:101DA0002050524F544F434F4C5F56455253494F6A -:101DB0004E3A312E30204D414348494E455F5459EB -:101DC00050453A507275736120693320455854521A -:101DD000554445525F434F554E543A31205555496D -:101DE000443A30303030303030302D303030302DDB -:101DF000303030302D303030302D303030303030E9 -:101E00003030303030300A004649524D574152454B -:101E10005F4E414D453A4D61726C696E2056312ED0 -:101E2000302E323B20537072696E7465722F677268 -:101E3000626C206D617368757020666F72206765D3 -:101E40006E36204649524D574152455F55524C3AE5 -:101E500068747470733A2F2F6769746875622E63A3 -:101E60006F6D2F707275736133642F50727573616B -:101E70002D69332D506C75732F2050524F544F43A2 -:101E80004F4C5F56455253494F4E3A312E30204DFC -:101E9000414348494E455F545950453A5072757315 -:101EA000612069332045585452554445525F434F91 -:101EB000554E543A3120555549443A30303030303F -:101EC0003030302D303030302D303030302D30301B -:101ED00030302D3030303030303030303030300A2B -:101EE000004649524D574152455F4E414D453A4D8E -:101EF00061726C696E2056312E302E323B20537049 -:101F000072696E7465722F6772626C206D6173689E -:101F1000757020666F722067656E36204649524D97 -:101F2000574152455F55524C3A68747470733A2F5A -:101F30002F6769746875622E636F6D2F7072757389 -:101F40006133642F50727573612D69332D506C7538 -:101F5000732F2050524F544F434F4C5F56455253AE -:101F6000494F4E3A312E30204D414348494E455F4E -:101F7000545950453A507275736120693320455861 -:101F80005452554445525F434F554E543A312055B3 -:101F90005549443A30303030303030302D303030E8 -:101FA000302D303030302D303030302D303030303A -:101FB00030303030303030300A004649524D5741D1 -:101FC00052455F4E414D453A4D61726C696E2056E7 -:101FD000312E302E323B20537072696E7465722F31 -:101FE0006772626C206D617368757020666F722015 -:101FF00067656E36204649524D574152455F5552EE -:102000004C3A68747470733A2F2F676974687562FC -:102010002E636F6D2F707275736133642F507275FC -:1020200073612D69332D506C75732F2050524F54AE -:102030004F434F4C5F56455253494F4E3A312E3025 -:10204000204D414348494E455F545950453A5072DE -:102050007573612069332045585452554445525F89 -:10206000434F554E543A3120555549443A3030305B -:1020700030303030302D303030302D303030302D69 -:10208000303030302D303030303030303030303053 -:10209000300A0053746F6C696B204F4B2E00426105 -:1020A0007365206C6973746F2E0050696174746F6E -:1020B00020666174746F2E00426564204F4B2E00C1 -:1020C00042656420646F6E650047727A616E69656F -:1020D0002073746F6C696B612E2E004261736520F2 -:1020E00043616C656E74616E646F005069617474F5 -:1020F0006F2072697363616C64616D2E005A616850 -:10210000726976616E692062656400426564204888 -:10211000656174696E670047727A616E6965204F08 -:102120004B2E0043616C656E74616E646F206C6948 -:1021300073746F2E0052697363616C64616D656EB8 -:10214000746F20666174746F2E005A6168726976CC -:10215000616E69204F4B2E0048656174696E67207F -:10216000646F6E652E0047727A616E69652E2E2E41 -:102170000043616C656E74616E646F2E2E2E00528A -:10218000697363616C64616D656E746F2E2E2E00D1 -:102190005A6168726976616E690048656174696E3A -:1021A00067004D31303920496E76616C6964206575 -:1021B0007874727564657220004D31303920496E33 -:1021C00076616C696420657874727564657220004C -:1021D0004D31303920496E76616C696420657874C0 -:1021E000727564657220004D31303920496E766118 -:1021F0006C696420657874727564657220004D3175 -:10220000303920496E76616C696420657874727526 -:1022100064657220004E6F20746865726D69737416 -:102220006F7273202D206E6F2074656D7065726102 -:1022300074757265004E6F20746865726D69737491 -:102240006F7273202D206E6F2074656D70657261E2 -:1022500074757265004E6F20746865726D69737471 -:102260006F7273202D206E6F2074656D70657261C2 -:1022700074757265004E6F20746865726D69737451 -:102280006F7273202D206E6F2074656D70657261A2 -:1022900074757265004E6F20746865726D69737431 -:1022A0006F7273202D206E6F2074656D7065726182 -:1022B00074757265004D32323120496E76616C69F9 -:1022C0006420657874727564657220004D32323115 -:1022D00020496E76616C69642065787472756465F6 -:1022E0007220004D32323120496E76616C69642073 -:1022F000657874727564657220004D323231204900 -:102300006E76616C6964206578747275646572209C -:10231000004D32323120496E76616C6964206578F7 -:1023200074727564657220004D32313820496E76C2 -:10233000616C696420657874727564657220004D03 -:1023400032313820496E76616C6964206578747228 -:102350007564657220004D32313820496E76616CAB -:10236000696420657874727564657220004D32313D -:102370003820496E76616C69642065787472756482 -:10238000657220004D32313820496E76616C696487 -:1023900020657874727564657220004D323030208B -:1023A000496E76616C6964206578747275646572D3 -:1023B00020004D32303020496E76616C69642065B2 -:1023C0007874727564657220004D32303020496E29 -:1023D00076616C696420657874727564657220003A -:1023E0004D32303020496E76616C696420657874B6 -:1023F000727564657220004D32303020496E76610E -:102400006C696420657874727564657220004D3162 -:10241000303520496E76616C696420657874727518 -:1024200064657220004D31303520496E76616C69EB -:102430006420657874727564657220004D313035A2 -:1024400020496E76616C6964206578747275646584 -:102450007220004D31303520496E76616C69642000 -:10246000657874727564657220004D31303520498D -:102470006E76616C6964206578747275646572202B -:10248000004D31303420496E76616C696420657886 -:1024900074727564657220004D31303420496E7657 -:1024A000616C696420657874727564657220004D92 -:1024B00031303420496E76616C69642065787472BD -:1024C0007564657220004D31303420496E76616C40 -:1024D000696420657874727564657220004D3130CE -:1024E0003420496E76616C69642065787472756415 -:1024F00065722000456E642066696C65206C6973A6 -:102500007400456E642066696C65206C69737400A4 -:10251000456E642066696C65206C69737400456E55 -:10252000642066696C65206C69737400456E642074 -:1025300066696C65206C69737400426567696E201A -:1025400066696C65206C69737400426567696E200A -:1025500066696C65206C69737400426567696E20FA -:1025600066696C65206C69737400426567696E20EA -:1025700066696C65206C69737400426567696E20DA -:1025800066696C65206C69737400446F6E652070B9 -:1025900072696E74696E672066696C6500446F6E5F -:1025A00065207072696E74696E672066696C65007B -:1025B000446F6E65207072696E74696E672066691B -:1025C0006C6500446F6E65207072696E74696E6729 -:1025D0002066696C6500446F6E65207072696E7468 -:1025E000696E672066696C65004E6F204C696E6588 -:1025F000204E756D62657220776974682063686526 -:10260000636B73756D2C204C617374204C696E651F -:102610003A20004E6F204C696E65204E756D6265E4 -:1026200072207769746820636865636B73756D2CBD -:10263000204C617374204C696E653A20004E6F2007 -:102640004C696E65204E756D62657220776974689D -:1026500020636865636B73756D2C204C6173742007 -:102660004C696E653A20004E6F204C696E65204EB5 -:10267000756D626572207769746820636865636B45 -:1026800073756D2C204C617374204C696E653A2013 -:10269000004E6F204C696E65204E756D626572202C -:1026A0007769746820636865636B73756D2C204C63 -:1026B000617374204C696E653A20004E6F20436848 -:1026C00065636B73756D2077697468206C696E65DE -:1026D000206E756D6265722C204C617374204C699C -:1026E0006E653A20004E6F20436865636B73756DAD -:1026F0002077697468206C696E65206E756D6265FF -:10270000722C204C617374204C696E653A20004E27 -:102710006F20436865636B73756D207769746820FB -:102720006C696E65206E756D6265722C204C6173EC -:1027300074204C696E653A20004E6F2043686563D3 -:102740006B73756D2077697468206C696E65206E97 -:10275000756D6265722C204C617374204C696E65D6 -:102760003A20004E6F20436865636B73756D207768 -:10277000697468206C696E65206E756D6265722C77 -:10278000204C617374204C696E653A200063686563 -:10279000636B73756D206D69736D617463682C2054 -:1027A0004C617374204C696E653A20006368656300 -:1027B0006B73756D206D69736D617463682C204C4B -:1027C000617374204C696E653A2000636865636BC1 -:1027D00073756D206D69736D617463682C204C6135 -:1027E0007374204C696E653A2000636865636B738F -:1027F000756D206D69736D617463682C204C617315 -:1028000074204C696E653A2000636865636B73756C -:102810006D206D69736D617463682C204C617374F5 -:10282000204C696E653A20004C696E65204E756DCE -:10283000626572206973206E6F74204C617374201E -:102840004C696E65204E756D6265722B312C204C83 -:10285000617374204C696E653A20004C696E652086 -:102860004E756D626572206973206E6F74204C61C5 -:102870007374204C696E65204E756D6265722B31E4 -:102880002C204C617374204C696E653A20004C69B1 -:102890006E65204E756D626572206973206E6F746F -:1028A000204C617374204C696E65204E756D6265B5 -:1028B000722B312C204C617374204C696E653A2068 -:1028C000004C696E65204E756D62657220697320DB -:1028D0006E6F74204C617374204C696E65204E7568 -:1028E0006D6265722B312C204C617374204C696EC3 -:1028F000653A20004C696E65204E756D62657220E8 -:102900006973206E6F74204C617374204C696E651E -:10291000204E756D6265722B312C204C61737420D2 -:102920004C696E653A2000446F6E6520736176696C -:102930006E672066696C652E00446F6E652073615A -:1029400076696E672066696C652E00446F6E65203F -:10295000736176696E672066696C652E00446F6EE0 -:102960006520736176696E672066696C652E004428 -:102970006F6E6520736176696E672066696C652E7F -:10298000006F6B006F6B006F6B006F6B006F6B0005 -:102990002020506C616E6E6572427566666572428B -:1029A000797465733A20002020506C616E6E6572F8 -:1029B00042756666657242797465733A200020201C -:1029C000506C616E6E6572427566666572427974AE -:1029D00065733A20002020506C616E6E65724275FE -:1029E0006666657242797465733A20002020506CE7 -:1029F000616E6E6572427566666572427974657362 -:102A00003A20002046726565204D656D6F72793AF7 -:102A100020002046726565204D656D6F72793A2001 -:102A2000002046726565204D656D6F72793A200011 -:102A30002046726565204D656D6F72793A200020E1 -:102A400046726565204D656D6F72793A2000204CA5 -:102A500061737420557064617465643A2000204C81 -:102A600061737420557064617465643A2000204C71 -:102A700061737420557064617465643A2000204C61 -:102A800061737420557064617465643A2000204C51 -:102A900061737420557064617465643A2000207C11 -:102AA00020417574686F723A2000207C2041757453 -:102AB000686F723A2000207C20417574686F723A0A -:102AC0002000207C20417574686F723A2000207CC1 -:102AD00020417574686F723A200020536F667477D6 -:102AE0006172652052657365740020536F66747758 -:102AF0006172652052657365740020536F66747748 -:102B00006172652052657365740020536F66747737 -:102B10006172652052657365740020536F66747727 -:102B20006172652052657365740020576174636833 -:102B3000646F672052657365740020576174636821 -:102B4000646F672052657365740020576174636811 -:102B5000646F672052657365740020576174636801 -:102B6000646F6720526573657400205761746368F1 -:102B7000646F67205265736574002042726F776ED0 -:102B8000206F7574205265736574002042726F77F0 -:102B90006E206F7574205265736574002042726FE9 -:102BA000776E206F757420526573657400204272D1 -:102BB0006F776E206F7574205265736574002042C4 -:102BC000726F776E206F7574205265736574002084 -:102BD00045787465726E616C20526573657400206F -:102BE00045787465726E616C20526573657400205F -:102BF00045787465726E616C20526573657400204F -:102C000045787465726E616C20526573657400203E -:102C100045787465726E616C2052657365740050FE -:102C20006F776572557000506F7765725570005000 -:102C30006F776572557000506F77657255700050F0 -:102C40006F776572557000656E717565696E672086 -:102C50002200656E717565696E67202200656E7170 -:102C60007565696E67202200656E717565696E67AE -:102C7000202200656E717565696E6720220077708D -:102C8000726F772E207A6D69616E007061726120BB -:102C9000746F6D61722065666563746F0020706586 -:102CA00072206D6F73747261726520692063616D4B -:102CB000622E002070726F2070726F6A6576656E8A -:102CC00069207A6D656E0020666F722074616B6595 -:102CD0002065666665637400526573746172742062 -:102CE0006472756B61726B69005265696E696369C4 -:102CF0006172206C6120696D702E00526961767678 -:102D0000696F206C61207374616D702E0052657361 -:102D100074617274756A7465207469736B61726E24 -:102D200075005265626F6F742074686520707269F7 -:102D30006E746572004D6F64205B772077796461F3 -:102D40006A6E6F73635D004D6F646F205B6D6173BE -:102D500020667565727A615D004D6F646F205B70EF -:102D6000697520666F727A615D004D6F6420205B2B -:102D70007679732E2076796B6F6E5D004D6F64658A -:102D8000205B6869676820706F7765725D004D6FC2 -:102D900064202020202020205B63696368795D0027 -:102DA0004D6F646F20202020205B73696C656E631B -:102DB000696F5D004D6F646F20202020205B736978 -:102DC0006C656E7A696F736F5D004D6F64202020B3 -:102DD000202020205B74696368795D004D6F646515 -:102DE00020202020205B73696C656E745D0057792C -:102DF0006D69616E612066696C616D656E747500E8 -:102E000043616D6269616E646F2066696C2E21009A -:102E10004D757465766F6C652066696C2E21005661 -:102E2000796D656E612066696C616D656E74752182 -:102E3000004368616E67696E672066696C616D65E5 -:102E40006E7421005770726F7761647A2066696CC6 -:102E5000616D656E7400496E736572746120666998 -:102E60006C616D656E746F00496E73657269726531 -:102E70002066696C616D656E746F00566C6F7A7454 -:102E8000652066696C616D656E7400496E7365726C -:102E9000742066696C616D656E74004E6163697360 -:102EA0006E696A2070727A796369736B0059207059 -:102EB000756C736520656C206D616E646F005920C0 -:102EC00070756C736520656C206D616E646F004178 -:102ED00020737469736B6E65746520746C616369CB -:102EE000746B6F00416E6420707265737320746838 -:102EF00065206B6E6F620057796D69616E61206F3E -:102F00006B210043616D62696172206269656E21A7 -:102F10000043616D6269612E207269757363697423 -:102F20006F21005A6D656E612075737065736E61F7 -:102F300021004368616E6765207375636365737311 -:102F40002100437A79737A637A2E206B6F6C6F72EB -:102F5000750043617267616E646F20636F6C6F729E -:102F60000043617267616E646F20636F6C6F720003 -:102F700043697374656E69206261727679004C6F83 -:102F80006164696E6720636F6C6F720050726F735B -:102F90007A6520637A656B61630045737065726161 -:102FA00000417370657474610050726F73696D20B5 -:102FB00063656B656A746500506C65617365207745 -:102FC000616974005770726F772E2066696C616D4D -:102FD000656E74750043617267616E646F20666927 -:102FE0006C2E0043617267616E646F2066696C2E9F -:102FF000005A61766164656E692066696C616D6511 -:103000006E7475004C6F6164696E672066696C61EF -:103010006D656E74004B6F6C6F72207A616E6965BE -:10302000637A79737A2E00436F6C6F72206E6F2013 -:10303000636C61726F00436F6C6F72206E6F206300 -:103040006C61726F004261727661206E656E6920FC -:10305000636973746100436F6C6F72206E6F7420CC -:10306000636C656172004272616B2066696C616DB0 -:10307000656E74750046696C2E206E6F20636172F8 -:103080006761646F0046696C2E206E6F2063617209 -:103090006761646F0046696C616D656E74206E6572 -:1030A0007A61766564656E0046696C616D656E7403 -:1030B000206E6F74206C6F61646564004E696500FA -:1030C0004E6F004E6F004E65004E6F0054616B00F6 -:1030D000536900536900416E6F0059657300577959 -:1030E0006D69616E61206F6B3F0043616D62696164 -:1030F000646F20636F727265632E3F0043616D627F -:103100006961746F20636F72722E3F0056796D652E -:103110006E61206F6B3F004368616E67656420637A -:103120006F72726563746C793F00506F6D6F6300EE -:10313000537570706F727400537570706F72740095 -:10314000506F64706F726100537570706F727400AD -:103150004E6167727A656A206479737A65210050DE -:10316000726563616C2E206578747275736F72215D -:10317000005072657269732E207567656C6C6F21E3 -:103180000050726564656872656A7465207472794E -:10319000736B752100507265686561742074686591 -:1031A000206E6F7A7A6C652100424C41443A0045AA -:1031B00052524F523A004552524F523A00434859E8 -:1031C00042413A004552524F523A0052656374727E -:1031D0006163740052656374726163740052656365 -:1031E0007472616374005265637472616374005237 -:1031F00065637472616374005770726F7761647A8B -:103200002066696C616D656E7400496E74726F64DE -:10321000756369722066696C616D656E746F0043D9 -:10322000617269636172652066696C616D656E7457 -:103230006F005A61766573742066696C616D656EA6 -:1032400074004C6F61642066696C616D656E74001A -:1032500057796A61632066696C616D656E740053AD -:10326000616361722066696C616D656E746F005395 -:1032700063617269636172652066696C2E005679BC -:103280006A6D6F75742066696C616D656E7400554A -:103290006E6C6F61642066696C616D656E74004769 -:1032A000727A616E69650050726563616C656E74F7 -:1032B00061720050726572697363616C6461005081 -:1032C00072656465687265760050726568656174E0 -:1032D00000557374617769656E696100416A757341 -:1032E000746500496D706F7374617A696F6E6900FF -:1032F0004E6173746176656E690053657474696EAE -:103300006773004B616C69627261636A61204F4B45 -:103310000043616C696272616369C383C692C38250 -:10332000C2B36E204F4B0043616C69627261747569 -:103330007261204F4B004B616C6962726163652062 -:103340004F4B0043616C6962726174696F6E2064F7 -:103350006F6E65004B616C696272756A65205A0018 -:1033600043616C696272616E646F205A0043616CE4 -:10337000696272616E646F205A004B616C6962729F -:10338000756A69205A0043616C6962726174696E82 -:1033900067205A004B616C696272756A205A00435B -:1033A000616C6962726172205A0043616C69627279 -:1033B00061205A004B616C6962726F766174205AA9 -:1033C0000043616C696272617465205A00567962CB -:1033D000657274652076797469736B0056796265DD -:1033E0007274652076797469736B005679626572C0 -:1033F00074652076797469736B00567962657274AE -:10340000652076797469736B005069636B20707204 -:10341000696E74004175746F646F7374726F696361 -:10342000205A3F004175746F204D6963726F70615F -:10343000736F205A3F004175746F207265676F6C1F -:10344000617265205A203F004175746F20646F6C73 -:1034500061646974205A203F004175746F20616473 -:103460006A757374205A203F00456E6473746F70E0 -:103470002061626F727400456E6473746F702061B6 -:10348000626F727400456E6473746F702061626F56 -:10349000727400456E6473746F702061626F727431 -:1034A00000456E6473746F702061626F72740044C3 -:1034B0006F7374726F6A656E6965206F7379205AD5 -:1034C000004D6963726F7061736F205A00426162D0 -:1034D0007973746570205A00446F6C6164656E691D -:1034E000206F7379205A004C6976652061646A7593 -:1034F0007374205A004261627973746570205900B8 -:103500004261627973746570205900426162797317 -:103510007465702059004261627973746570205936 -:10352000004261627973746570205900426162796A -:1035300073746570205800426162797374657020FD -:10354000580042616279737465702058004261626C -:103550007973746570205800426162797374657084 -:103560002058005A204F6666736574005A204F66D3 -:1035700066736574005A204F6666736574005A203E -:103580004F6666736574005A204F666673657400F3 -:10359000486F6D6520582F59206265666F726520EF -:1035A0005A00486F6D6520582F59206265666F720A -:1035B00065205A00486F6D6520582F592062656656 -:1035C0006F7265205A00486F6D6520582F59206230 -:1035D00065666F7265205A00486F6D6520582F59D7 -:1035E000206265666F7265205A005A2070726F62A1 -:1035F00065206F75742E20626564005A2070726FAA -:103600006265206F75742E20626564005A207072A6 -:103610006F6265206F75742E20626564005A207099 -:10362000726F6265206F75742E20626564005A2087 -:1036300070726F6265206F75742E2062656400562B -:10364000796D656E6974205344004368616E6765E7 -:103650002053442063617264004368616E67652093 -:10366000534420636172640056796D656E697420FD -:103670005344004368616E67652053442063617260 -:103680006400496E69632E20534400496E69742EAC -:10369000205344206361726400496E69742E205384 -:1036A00044206361726400496E69632E20534400B4 -:1036B000496E69742E205344206361726400577907 -:1036C0006D69656E69632066696C616D656E740015 -:1036D00043616D626961722066696C616D656E74CB -:1036E0006F0043616D62696172652066696C616D2E -:1036F000656E746F0056796D656E69742066696CCD -:10370000616D656E74004368616E67652066696C03 -:10371000616D656E74004175746F526574722E0030 -:103720004175746F526574722E004175746F5265E5 -:1037300074722E004175746F526574722E0041755B -:10374000746F526574722E00556E52657420205647 -:1037500000556E52657420205600556E52657420D7 -:10376000205600556E52657420205600556E5265E5 -:1037700074202056005320556E5265742B6D6D00D9 -:103780005320556E5265742B6D6D005320556E524B -:1037900065742B6D6D005320556E5265742B6D6DE5 -:1037A000005320556E5265742B6D6D00556E526539 -:1037B00074202B6D6D00556E526574202B6D6D005D -:1037C000556E526574202B6D6D00556E52657420D8 -:1037D0002B6D6D00556E526574202B6D6D00486F1A -:1037E00070206D6D00486F70206D6D00486F702007 -:1037F0006D6D00486F70206D6D00486F70206D6DAD -:1038000000526574726163742020560052657472B0 -:1038100061637420205600526574726163742020C5 -:1038200056005265747261637420205600526574AC -:103830007261637420205600537761702052652EA8 -:103840006D6D00537761702052652E6D6D0053775A -:1038500061702052652E6D6D005377617020526546 -:103860002E6D6D00537761702052652E6D6D005284 -:10387000657472616374206D6D005265747261636A -:1038800074206D6D0052657472616374206D6D00FB -:1038900052657472616374206D6D0052657472615B -:1038A0006374206D6D0053544F505045442E2000DA -:1038B0005041524144410041525245535441544FAA -:1038C000200053544F505045442E200053544F5025 -:1038D0005045442E20004B494C4C45442E2000506E -:1038E000415241444120444520454D4552472E0018 -:1038F00055434349534F20004B494C4C45442E20DF -:10390000004B494C4C45442E20004E6F206D6F7685 -:10391000652E0053696E206D6F76696D69656E74F2 -:103920006F004E657373756E204D6F76696D656EB1 -:10393000746F004E6F206D6F76652E004E6F206D98 -:103940006F76652E004472756B2070727A6572779F -:10395000616E79005072696E742061626F72746575 -:1039600064005374616D70612061626F7274697478 -:1039700061005469736B20707265727573656E00B7 -:103980005072696E742061626F7274656400577A58 -:103990006E6F7769656E6965206472756B7500522C -:1039A0006573756D69656E646F20696D7072652EE3 -:1039B0000052697072656E6469205374616D706144 -:1039C000004F626E6F76656E69207469736B750067 -:1039D000526573756D696E67207072696E740057F9 -:1039E00061697420666F7220757365722E2E2E00C9 -:1039F0004573706572616E646F206F7264656E6589 -:103A00007300417474656E6469205574656E7465E5 -:103A10002E2E2E005761697420666F7220757365B3 -:103A2000722E2E2E005761697420666F7220757396 -:103A300065722E2E2E00536C6565702E2E2E005250 -:103A400065706F736F2E2E2E00536F7370656E73DB -:103A5000696F6E652E2E2E00536C6565702E2E2EAE -:103A600000536C6565702E2E2E004272616B206BC8 -:103A700061727479205344004E6F2068617920741C -:103A800061726A657461205344004E6F2053442074 -:103A90004361727461005A61646E61205344206B0B -:103AA00061727461004E6F20534420636172640040 -:103AB0004472756B207A205344004D656E75206406 -:103AC00065205344004D656E752053442043617258 -:103AD0007461005469736B207A20534400507269FA -:103AE0006E742066726F6D205344005A6174727A4E -:103AF000796D6163206472756B00446574656E65F1 -:103B00007220696D70726573696F6E0041727265C3 -:103B1000737461207374616D7061005A61737461B4 -:103B2000766974207469736B0053746F70207072BF -:103B3000696E74004B6F6E74796E756F7761630098 -:103B40005265616E7564617220696D707265732E65 -:103B50000052697072656E6469207374616D706182 -:103B600000506F6B7261636F76617400526573759C -:103B70006D65207072696E740050727A657277613B -:103B800063206472756B0050617573617220696D9A -:103B900070726573696F6E00506175736100506F6C -:103BA0007A61737461766974207469736B00506113 -:103BB000757365207072696E74004E617374726FF4 -:103BC000696300416A757374617200416461747461 -:103BD00061004C616469740054756E6500507269CF -:103BE000707261766100507265706172650050722A -:103BF0006570617265005072697072617661005023 -:103C000072657061726500496E666F726D61636A9C -:103C100065004D6F6E69746F72697A6172004775E5 -:103C20006172646100496E666F726D61636500491F -:103C30006E666F2073637265656E004F626E6F769D -:103C400069740052656672657368005265667265D4 -:103C50007368004F626E6F766974005265667265B4 -:103C60007368004F626E6F76697420767963686F4F -:103C70007A6900526573746F7265206661696C734E -:103C800061666500526573746F7265206661696C68 -:103C900073616665004F626E6F7669742076796332 -:103CA000686F7A6900526573746F72652066616926 -:103CB0006C7361666500556C6F7A69742070616D14 -:103CC0006574004C6F6164206D656D6F7279004C96 -:103CD0006F6164206D656D6F727900556C6F7A69E4 -:103CE000742070616D6574004C6F6164206D656D4A -:103CF0006F72790053746F7265206D656D6F7279A4 -:103D00000053746F7265206D656D6F727900537426 -:103D10006F7265206D656D6F72790053746F726597 -:103D2000206D656D6F72790053746F7265206D65DB -:103D30006D6F7279004C434420636F6E74726173CF -:103D400074004C434420636F6E7472617374004C52 -:103D5000434420636F6E7472617374004C4344205B -:103D6000636F6E7472617374004C434420636F6EB2 -:103D700074726173740046696C2E204469612E2050 -:103D8000330046696C2E204469612E203300466959 -:103D90006C2E204469612E20330046696C2E20442D -:103DA00069612E20330046696C2E204469612E2003 -:103DB000330046696C2E204469612E20320046692A -:103DC0006C2E204469612E20320046696C2E2044FE -:103DD00069612E20320046696C2E204469612E20D4 -:103DE000320046696C2E204469612E2032004669FB -:103DF0006C2E204469612E20310046696C2E2044CF -:103E000069612E20310046696C2E204469612E20A4 -:103E1000310046696C2E204469612E2031004669CC -:103E20006C2E204469612E2031004520696E206D82 -:103E30006D33004520696E206D6D33004520696E3D -:103E4000206D6D33004520696E206D6D3300452077 -:103E5000696E206D6D330046696C616D656E74002E -:103E600046696C616D656E740046696C616D656E66 -:103E7000740046696C616D656E740046696C616DB5 -:103E8000656E7400506F687962004D6F74696F6E73 -:103E9000004D6F74696F6E00506F687962004D6FEE -:103EA00074696F6E0054656D7065726174757261CE -:103EB0000054656D70657261747572610054656D52 -:103EC0007065726174757261005465706C6F7461B5 -:103ED0000054656D70657261747572650045737428 -:103EE0006570732F6D6D004573746570732F6D6D04 -:103EF000004573746570732F6D6D00457374657044 -:103F0000732F6D6D004573746570732F6D6D005A5E -:103F100073746570732F6D6D005A73746570732FB1 -:103F20006D6D005A73746570732F6D6D005A7374E4 -:103F30006570732F6D6D005A73746570732F6D6D9E -:103F4000005973746570732F6D6D005973746570CB -:103F5000732F6D6D005973746570732F6D6D0059FB -:103F600073746570732F6D6D005973746570732F62 -:103F70006D6D005873746570732F6D6D0058737498 -:103F80006570732F6D6D005873746570732F6D6D50 -:103F9000005873746570732F6D6D0058737465707D -:103FA000732F6D6D00412D726574726163740041F1 -:103FB0002D7265747261637400412D726574726153 -:103FC000637400412D7265747261637400412D72D7 -:103FD00065747261637400416D61782000416D61A8 -:103FE000782000416D61782000416D6178200041AA -:103FF0006D617820005654726176206D696E0056AE -:1040000054726176206D696E005654726176206D2F -:10401000696E005654726176206D696E0056547256 -:104020006176206D696E00566D696E00566D696E21 -:1040300000566D696E00566D696E00566D696E00B2 -:10404000650065006500650065007A007A007A0009 -:104050007A007A0079007900790079007900780097 -:104060007800780078007800566D61782000566DF1 -:1040700061782000566D61782000566D61782000CF -:10408000566D6178200056652D6A65726B00566525 -:104090002D6A65726B0056652D6A65726B005665F8 -:1040A0002D6A65726B0056652D6A65726B00567AD3 -:1040B0002D6A65726B00567A2D6A65726B00567AAE -:1040C0002D6A65726B00567A2D6A65726B00567A9E -:1040D0002D6A65726B005678792D6A65726B005691 -:1040E00078792D6A65726B005678792D6A65726BE6 -:1040F000005678792D6A65726B005678792D6A655D -:10410000726B00416363656C00416363656C0041E1 -:104110006363656C00416363656C00416363656C58 -:10412000005049442D43005049442D430050494418 -:104130002D43005049442D43005049442D43005025 -:1041400049442D44005049442D44005049442D44D5 -:10415000005049442D44005049442D4400504944E6 -:104160002D49005049442D49005049442D490050E3 -:1041700049442D49005049442D49005049442D508F -:10418000005049442D50005049442D50005049449E -:104190002D50005049442D50004F6666004F666612 -:1041A000004F6666004F6666004F6666004F6E20E1 -:1041B000004F6E20004F6E20004F6E20004F6E208B -:1041C000004175746F74656D70004175746F74652E -:1041D0006D70004175746F74656D70004175746F1A -:1041E00074656D70004175746F74656D70002002A8 -:1041F000204661637400200220466163740020023F -:10420000204661637400200220466163740020022E -:104210002046616374002002204D61780020022056 -:104220004D6178002002204D6178002002204D6110 -:1042300078002002204D6178002002204D696E0038 -:104240002002204D696E002002204D696E00200280 -:10425000204D696E002002204D696E004B6F6E7418 -:10426000726F6C6100436F6E74726F6C00436F6E9F -:1042700074726F6C004B6F6E74726F6C6100436F81 -:104280006E74726F6C00507275746F6B20320046E2 -:104290006C6F77203200466C6F7720320050727559 -:1042A000746F6B203200466C6F772032005072754D -:1042B000746F6B203100466C6F77203100466C6F55 -:1042C00077203100507275746F6B203100466C6F2F -:1042D00077203100507275746F6B203000466C6F20 -:1042E00077203000466C6F77203000507275746F05 -:1042F0006B203000466C6F7720300050727A65700A -:104300006C797700466C756A6F00466C7573736FD5 -:1043100000507275746F6B00466C6F770050726559 -:10432000646B6F73632077656E742E0056656E74D0 -:10433000696C61646F720056656E746F6C610052D7 -:104340007963686C6F73742076656E742E004661B5 -:104350006E2073706565640053746F6C696B004206 -:104360006173650050696174746F00426564004256 -:10437000656400547279736B6133004E6F7A7A6CA6 -:104380006533004E6F7A7A6C653300547279736BC3 -:104390006133004E6F7A7A6C653300547279736BB7 -:1043A0006132004E6F7A7A6C6532004E6F7A7A6CA9 -:1043B000653200547279736B6132004E6F7A7A6C99 -:1043C0006532004479737A61004675736F720055E7 -:1043D00067656C6C6F00547279736B61004E6F7A15 -:1043E0007A6C6500507265646B6F73630056656C20 -:1043F0006F63696461640056656C636974C383C6E6 -:1044000092C386E28099C383E2809AC382C2A000ED -:10441000527963686C6F7374005370656564005003 -:104420006F73756E6F7574206F2031306D6D004D38 -:104430006F76652031306D6D004D6F7665203130BF -:104440006D6D00506F73756E6F7574206F20313015 -:104450006D6D004D6F76652031306D6D00506F735E -:10446000756E6F7574206F20316D6D004D6F7665C0 -:1044700020316D6D004D6F766520316D6D00506F90 -:1044800073756E6F7574206F20316D6D004D6F7692 -:104490006520316D6D00506F73756E6F7574206F90 -:1044A00020302E316D6D004D6F766520302E316DD0 -:1044B0006D004D6F766520302E316D6D00506F733D -:1044C000756E6F7574206F20302E316D6D004D6FDD -:1044D000766520302E316D6D004578747275646597 -:1044E0007233004578747275646572330045787470 -:1044F00072756465723300457874727564657233E1 -:10450000004578747275646572330045787472750D -:104510006465723200457874727564657232004564 -:10452000787472756465723200457874727564656A -:104530007232004578747275646572320045787421 -:104540007275646572004578747275736F72004598 -:1045500073747275736F72650045787472756465F3 -:10456000720045787472756465720050727A657372 -:10457000756E6163205A004D6F766572205A004D4A -:10458000756F7669205A00506F73756E6F75742061 -:104590005A004D6F7665205A0050727A6573756EB9 -:1045A00061632059004D6F7665722059004D756F1B -:1045B0007669205900506F73756E6F7574205900BD -:1045C0004D6F766520590050727A6573756E616320 -:1045D0002058004D6F7665722058004D756F7669D2 -:1045E000205800506F73756E6F75742058004D6FB2 -:1045F000766520580052756368206F7369004D6FAF -:1046000076657220656A6573004D756F7669204125 -:1046100073736500506F73756E6F7574206F73756B -:10462000004D6F7665206178697300526574726120 -:1046300063740052657472616374005265747261D0 -:1046400063740052657472616374005265747261C0 -:104650006374004578747275646F76617400457890 -:104660007472756465004578747275646500457888 -:10467000747275646F7661740045787472756465E0 -:10468000005A61706E6F7574207A64726F6A00539D -:10469000776974636820706F776572206F66660053 -:1046A00053776974636820706F776572206F6666F0 -:1046B000005A61706E6F7574207A64726F6A00536D -:1046C000776974636820706F776572206F66660023 -:1046D0005679706E6F7574207A64726F6A005377C2 -:1046E0006974636820706F776572206F6E0053770E -:1046F0006974636820706F776572206F6E005679F9 -:10470000706E6F7574207A64726F6A005377697483 -:10471000636820706F776572206F6E0057796368E9 -:104720006C6F647A696300456E66726961720052EB -:104730006166667265646461005A63686C6164698D -:104740007400436F6F6C646F776E005072656465C0 -:10475000687265762041425320636F6E6600507226 -:1047600065686561742041425320636F6E66005036 -:104770007265686561742041425320636F6E660004 -:104780005072656465687265762041425320636F9C -:104790006E66005072656865617420414253206303 -:1047A0006F6E66005072656465687265762041427E -:1047B000532042656400507265686561742041420F -:1047C00053204265640050726568656174204142FF -:1047D0005320426564005072656465687265762096 -:1047E00041425320426564005072656865617420DF -:1047F0004142532042656400507265646568726589 -:10480000762041425320416C6C00507265686561AE -:10481000742041425320416C6C00507265686561A0 -:10482000742041425320416C6C005072656465688D -:104830007265762041425320416C6C00507265686D -:104840006561742041425320416C6C005072656474 -:104850006568726576204142532033005072656866 -:104860006561742041425320330050726568656170 -:10487000742041425320330050726564656872654C -:104880007620414253203300507265686561742080 -:10489000414253203300507265646568726576202A -:1048A0004142532032005072656865617420414274 -:1048B0005320320050726568656174204142532074 -:1048C00032005072656465687265762041425320FB -:1048D0003200507265686561742041425320320095 -:1048E00050726564656872657620414253203100DC -:1048F00050726568656174204142532031005072E6 -:1049000065686561742041425320310050726564CE -:1049100065687265762041425320310050726568A7 -:1049200065617420414253203100507265646568AE -:10493000726576204142530050726568656174204B -:1049400041425300507265686561742041425300D2 -:1049500050726564656872657620414253005072FA -:1049600065686561742041425300507265646568F2 -:1049700072657620504C4120636F6E660050726500 -:104980006865617420504C4120636F6E6600507200 -:10499000656865617420504C4120636F6E660050FD -:1049A000726564656872657620504C4120636F6E55 -:1049B00066005072656865617420504C4120636FD9 -:1049C0006E660050726564656872657620504C4171 -:1049D00020426564005072656865617420504C41E6 -:1049E00020426564005072656865617420504C41D6 -:1049F0002042656400507265646568726576205077 -:104A00004C412042656400507265686561742050B5 -:104A10004C41204265640050726564656872657639 -:104A200020504C4120416C6C005072656865617487 -:104A300020504C4120416C6C005072656865617477 -:104A400020504C4120416C6C005072656465687266 -:104A5000657620504C4120416C6C00507265686551 -:104A6000617420504C4120416C6C0050726564654B -:104A70006872657620504C4120330050726568653D -:104A8000617420504C412033005072656865617438 -:104A900020504C4120330050726564656872657621 -:104AA00020504C412033005072656865617420507D -:104AB0004C41203300507265646568726576205001 -:104AC0004C412032005072656865617420504C4141 -:104AD0002032005072656865617420504C4120326C -:104AE0000050726564656872657620504C412032D2 -:104AF000005072656865617420504C41203200504E -:104B0000726564656872657620504C4120310050B2 -:104B100072656865617420504C41203100507265A7 -:104B20006865617420504C412031005072656465A5 -:104B30006872657620504C4120310050726568657E -:104B4000617420504C412031005072656465687278 -:104B5000657620504C410050726568656174205044 -:104B60004C41005072656865617420504C410050A2 -:104B7000726564656872657620504C4100507265BC -:104B80006865617420504C41004E617374617620F9 -:104B9000706F636174656B00536574206F72696731 -:104BA000696E00536574206F726967696E004E61AB -:104BB0007374617620706F636174656B0053657404 -:104BC000206F726967696E004E6173746176207040 -:104BD0006F636174656B20686F6D65005365742049 -:104BE000686F6D65206F66667365747300536574D6 -:104BF00020686F6D65206F666673657473004E6123 -:104C00007374617620706F636174656B20686F6D7B -:104C1000650053657420686F6D65206F6666736507 -:104C20007473004175746F20686F6D65004C6C651E -:104C300076617220616C206F726967656E004175E4 -:104C4000746F20486F6D65004175746F20686F6DDB -:104C500065004175746F20686F6D650057796C61F0 -:104C6000637A79632073696C6E696B690041706166 -:104C7000676172206D6F746F726573004469736150 -:104C800062696C697461204D6F746F726900567946 -:104C9000706E6F7574206D6F746F727900446973F4 -:104CA00061626C6520737465707065727300417524 -:104CB000746F7374617274004175746F7374617290 -:104CC00074004175746F7374617274004175746F10 -:104CD0007374617274004175746F737461727400DF -:104CE0004D656E7520676C6F776E65004D656E75EE -:104CF000207072696E636970616C004D656E75201D -:104D00007072696E636970616C6500486C61766E83 -:104D100069206E616269646B61004D61696E004B70 -:104D2000617274612077796A657461005461726A96 -:104D30006574612072657469726164610053442016 -:104D4000436172642072696D6F737361004B6172AD -:104D500074612076796A6D757461004361726420B4 -:104D600072656D6F766564004B6172746120776C5B -:104D70006F7A6F6E61005461726A65746120636F4F -:104D80006C6F636164610053442043617264206905 -:104D90006E736572697461004B6172746120766C28 -:104DA0006F7A656E61004361726420696E7365722B -:104DB00074656400507275736120693320676F7485 -:104DC0006F7761005072757361206933206C69736D -:104DD00074610050727573612069332070726F6E58 -:104DE000746F2E005072757361206933206F6B00F1 -:104DF00050727573612069332072656164792E0089 -:104E00004D383420582059205A2045004D32340066 -:104E10004D3233202573006175746F25692E67004C -:104E20000A002F000A002E0044656C6574696F6EDD -:104E3000206661696C65642C2046696C653A2000C7 -:104E400046696C652064656C657465643A002E0083 -:104E50002E002E002E004E6F77206672657368203C -:104E600066696C653A20004E6F7720646F696E67E3 -:104E70002066696C653A20002220706F7300222042 -:104E8000706172656E743A2200535542524F555408 -:104E9000494E452043414C4C207461726765743A19 -:104EA0002200747279696E6720746F2063616C6C84 -:104EB000207375622D67636F64652066696C657326 -:104EC000207769746820746F6F206D616E79206C33 -:104ED0006576656C732E204D4158206C6576656C47 -:104EE0002069733A0000002110422063308440A5FD -:104EF00050C660E770088129914AA16BB18CC1ADA1 -:104F0000D1CEE1EFF13112100273325222B5529438 -:104F100042F772D662399318837BB35AA3BDD39CF0 -:104F2000C3FFF3DEE36224433420040114E664C7C4 -:104F300074A44485546AA54BB528850995EEE5CF40 -:104F4000F5ACC58DD55336722611163006D776F6D8 -:104F5000669556B4465BB77AA719973887DFF7FE90 -:104F6000E79DD7BCC7C448E5588668A77840086164 -:104F70001802282338CCC9EDD98EE9AFF9488969E0 -:104F8000990AA92BB9F55AD44AB77A966A711A5078 -:104F90000A333A122AFDDBDCCBBFFB9EEB799B5830 -:104FA0008B3BBB1AABA66C877CE44CC55C222C0304 -:104FB0003C600C411CAEED8FFDECCDCDDD2AAD0B80 -:104FC000BD688D499D977EB66ED55EF44E133E3218 -:104FD0002E511E700E9FFFBEEFDDDFFCCF1BBF3AD0 -:104FE000AF599F788F8891A981CAB1EBA10CD12DBF -:104FF000C14EF16FE18010A100C230E320045025C2 -:105000004046706760B9839893FBA3DAB33DC31C35 -:10501000D37FE35EF3B1029012F322D23235421411 -:105020005277625672EAB5CBA5A89589856EF54F81 -:10503000E52CD50DC5E234C324A014810466744761 -:105040006424540544DBA7FAB79987B8975FE77ED5 -:10505000F71DC73CD7D326F2369106B016576676B1 -:1050600076154634564CD96DC90EF92FE9C899E921 -:10507000898AB9ABA94458654806782768C018E101 -:10508000088238A3287DCB5CDB3FEB1EFBF98BD875 -:105090009BBBAB9ABB754A545A376A167AF10AD051 -:1050A0001AB32A923A2EFD0FED6CDD4DCDAABD8BC1 -:1050B000ADE89DC98D267C076C645C454CA23C83A1 -:1050C0002CE01CC10C1FEF3EFF5DCF7CDF9BAFBA15 -:1050D000BFD98FF89F176E367E554E745E932EB2F1 -:1050E0003ED10EF01E22004D323230205325690091 -:1050F000203A2000004C414E472053454C20464F5B -:1051000052434544002200205A3A0020593A0020D8 -:10511000453A00205A3A0020593A00583A002000F7 -:105120002E0020423A0020453A00543A0020573AD7 -:105130000020453A00543A002042403A0020403ACC -:1051400000202F003A00205400202F0020423A0077 -:10515000202F006F6B20543A002569206D696E2C5A -:105160002025692073656300256920686F75727357 -:10517000202569206D696E75746573004D3131307D -:10518000004D3239004D61792033302032303136D4 -:1051900000436F6D70696C65643A2000286E6F6E15 -:1051A000652C2064656661756C7420636F6E66693A -:1051B0006729004D6179203330203230313620317B -:1051C000363A32333A34300073746172740022001C -:1051D0002200FFFFFF0000A0400000A040000000F0 -:1051E0004000005643000046431FC54843000000EE -:1051F00000000000001F856B3E0000564300004683 -:10520000430000494300000000000000001F856BC0 -:105210003E6563686F3A004572726F723A004731BB -:1052200020452D38302046343030004D383300478B -:1052300031205A3135204631353030004739310080 -:1052400047312058353020593138302045302046FC -:105250003730303000473930004D3834004D383366 -:105260000047312045363520463430300047312064 -:105270004534302046313030002E002020202020C0 -:105280002020202020202020002D2D3A2D2D002D03 -:105290002D2D003E555342005344002D2D0001207A -:1052A000000120004D36303000464C4558202D205E -:1052B000203235302F35300050502020202D202036 -:1052C0003235342F3130300048495053202D2020C2 -:1052D0003232302F3130300050455420202D2020E4 -:1052E0003234302F393000504C4120202D202032D4 -:1052F00032302F35300041425320202D20203238CB -:10530000352F313030004D3234004D32332025738B -:1053100000580059005A004578747275646572002F -:10532000473238004D383400473238205A004D613A -:1053300079203330203230313600446174653A20B0 -:10534000002D2D2D2D2D2D2D2D2D2D2D2D0050727F -:105350007573614E6D6B320052414D426F31336156 -:1053600000336D6D002D2D2D2D2D2D2D2D2D2D2D41 -:105370002D004669726D77617265202D20332E30C5 -:105380002E310048617264636F6465642044656611 -:1053900061756C742053657474696E6773204C6F0B -:1053A000616465640046696C616D656E7420736547 -:1053B0007474696E67733A2044697361626C6564E2 -:1053C000002020204D32303020440046696C616D51 -:1053D000656E742073657474696E67733A0020207B -:1053E000204D3230392053004175746F2D52657451 -:1053F000726163743A20533D3020746F2064697386 -:1054000061626C652C203120746F20696E74657246 -:105410007072657420657874727564652D6F6E6C3A -:1054200079206D6F76657320617320726574726187 -:10543000637473206F72207265636F76657269653D -:1054400073002046002020204D3230382053005277 -:1054500065636F7665723A20533D457874726120BA -:105460006C656E67746820286D6D2920463A53700C -:1054700065656420286D6D2F6D2900205A00204637 -:10548000002020204D323037205300526574726165 -:1054900063743A20533D4C656E67746820286D6DC7 -:1054A0002920463A537065656420286D6D2F6D295B -:1054B000205A3A205A4C69667420286D6D290020C4 -:1054C00044002049002020204D333031205000502E -:1054D00049442073657474696E67733A00205A00FA -:1054E00020590020204D323036205800486F6D651D -:1054F000206F666673657420286D6D293A0020451B -:1055000000205A0020580020420020540020204D46 -:10551000323035205300416476616E6365642076D5 -:1055200061726961626C65733A20533D4D696E200A -:10553000666565647261746520286D6D2F73292C12 -:1055400020543D4D696E2074726176656C206665ED -:1055500065647261746520286D6D2F73292C20425B -:105560003D6D696E696D756D207365676D656E74EF -:105570002074696D6520286D73292C20583D6D615C -:1055800078696D756D205859206A65726B20286D99 -:105590006D2F73292C20205A3D6D6178696D756DD2 -:1055A000205A206A65726B20286D6D2F73292C207C -:1055B00020453D6D6178696D756D2045206A657285 -:1055C0006B20286D6D2F73290020540020204D3250 -:1055D0003034205300416363656C65726174696F98 -:1055E0006E3A20533D616363656C65726174696FE7 -:1055F0006E2C20543D726574726163742061636324 -:10560000656C65726174696F6E00204500205A00F8 -:1056100020590020204D3230312058004D617869EA -:105620006D756D20416363656C65726174696F6E41 -:1056300020286D6D2F7332293A00204500205A0032 -:1056400020590020204D3230332058004D617869B8 -:105650006D756D2066656564726174657320286D73 -:105660006D2F73293A00204500205A002059002050 -:10567000204D393220580053746570732070657264 -:1056800020756E69743A0045303A20005A3A20007D -:10569000593A2000583A20004D53312C4D533220B6 -:1056A00050696E730A005A00205A3A005900205976 -:1056B0003A00580020583A0024F4D43050C38E20C9 -:1056C000C2A24017828B7011127A910D816CD90A97 -:1056D000A861E108C7586607615143061E4B5D0586 -:1056E000C145A7041A411104093D980371393103DA -:1056F0004036DB0265339102D4305402802E1D0205 -:10570000632CEE01752AC501B028A0011027810184 -:105710008F2564012B244B01E0223401AC211F01B1 -:105720008D200D01801FFC00841EED00971DDF0001 -:10573000B81CD200E61BC600201BBC00641AB200D5 -:10574000B219A8000A19A0006A189900D11791008F -:1057500040178B00B516840031167E00B315790012 -:105760003A157300C7146F0058146A00EE136600F0 -:105770008813630025135E00C7125B006C1257008C -:1057800015125400C111510070114F0021114B002E -:10579000D61049008D104700461044000210420008 -:1057A000C00F4000800F3E00420F3C00060F3B0040 -:1057B000CB0E3800930E37005C0E3500270E3400F8 -:1057C000F30D3200C10D3100900D3000600D2E0040 -:1057D000320D2D00050D2C00D90C2B00AE0C29002C -:1057E000850C29005C0C2700350C27000E0C2600C8 -:1057F000E80B2400C40B2400A00B23007D0B230026 -:105800005A0B2100390B2100180B2000F80A1F0049 -:10581000D90A1E00BB0A1E009D0A1D00800A1D0039 -:10582000630A1C00470A1B002C0A1B00110A1A00FD -:10583000F7091A00DD091900C4091900AB0919009C -:10584000920917007B091800630917004C0916001C -:1058500036091600200916000A091500F50815007A -:10586000E0081400CC081400B8081400A4081400C0 -:10587000900813007D0812006B08130058081200EE -:105880004608120034081100230811001208110004 -:1058900001081100F0071000E0071000D007100009 -:1058A000C0071000B0070F00A107100091070E00FD -:1058B00083070F0074070F0065070E0057070E00DF -:1058C00049070E003B070D002E070E0020070D00B4 -:1058D00013070D0006070D00F9060C00ED060D007C -:1058E000E0060C00D4060C00C8060C00BC060C0038 -:1058F000B0060C00A4060B0099060C008D060B00E8 -:1059000082060B0077060B006C060B0061060A008E -:1059100057060B004C060A0042060A0038060A0029 -:105920002E060A0024060A001A060A0010060900BC -:1059300007060A00FD050900F4050900EB0509004A -:10594000E2050900D9050900D0050900C7050900CD -:10595000BE050900B5050800AD050800A50509004C -:105960009C050800940508008C05080084050800C3 -:105970007C050800740508006C0507006505080033 -:105980005D050700560508004E050700470507009E -:105990004005080038050700310507002A05070003 -:1059A000230507001C050600160507000F05070064 -:1059B0000805060002050700FB040600F5040700C1 -:1059C000EE040600E8040600E2040700DB0406001B -:1059D000D5040600CF040600C9040600C30406006F -:1059E000BD040600B7040600B1040500AC040600BF -:1059F000A6040600A00405009B040600950405000B -:105A0000900406008A040500850405008004060051 -:105A10007A04050075040500700405006B04050098 -:105A200066040500610405005C04050057040500D8 -:105A3000520405004D040500480405004304050018 -:105A40003E0404003A040500350405003004040057 -:105A50002C04050027040400230405001E04040090 -:105A60001A04040016040500110404000D040400C7 -:105A7000090405000404040000040400FC030400FD -:105A8000F8030400F4030400F0030400EC03040032 -:105A9000E8030400E4030400E0030400DC03040062 -:105AA000D8030400D4030400D0030400CC03040092 -:105AB000C8030300C503030024F404D9201BC40C4D -:105AC0005C0E9804C4095F0265077101F405F900D2 -:105AD000FB04B30048048700C10369005803550064 -:105AE00003034500BE023A008402310053022A003B -:105AF0002902250004022000E4011C00C80119004D -:105B0000AF01170098011400840113007101100007 -:105B10006101100051010E0043010D0036010B0020 -:105B20002B010B0020010B00150109000C010900DD -:105B300003010800FB000800F3000800EB00070069 -:105B4000E4000600DE000600D8000600D2000600D1 -:105B5000CC000500C7000500C2000500BD00040020 -:105B6000B9000400B5000400B1000400AD00040059 -:105B7000A9000400A5000300A20003009F00040088 -:105B80009B000300980003009500020093000300AF -:105B9000900003008D0002008B00030088000200CB -:105BA0008600020084000300810002007F000200E2 -:105BB0007D0002007B0002007900020077000100F6 -:105BC0007600020074000200720001007100020001 -:105BD0006F0002006D0001006C0002006A0001000D -:105BE0006900020067000100660001006500010015 -:105BF0006400020062000100610001006000010019 -:105C00005F0002005D0001005C0001005B0001001C -:105C10005A0001005900010058000100570001001E -:105C2000560001005500010054000100530000001F -:105C3000530001005200010051000100500001001A -:105C40004F0001004E0000004E0001004D00010019 -:105C50004C0001004B0000004B0001004A00010015 -:105C60004900010048000000480001004700010011 -:105C7000460000004600010045000000450001000C -:105C80004400010043000000430001004200000006 -:105C900042000100410000004100010040000100FD -:105CA0003F0000003F0001003E0000003E000100F8 -:105CB0003D0000003D0001003C0000003C000000F1 -:105CC0003C0001003B0000003B0001003A000000E6 -:105CD0003A000100390000003900010038000000DE -:105CE00038000000380001003700000037000100D4 -:105CF00036000000360000003600010035000000CC -:105D000035000000350001003400000034000000C0 -:105D100034000100330000003300000033000100B4 -:105D200032000000320000003200010031000000AB -:105D300031000000310001003000000030000000A0 -:105D4000300001002F0000002F0000002F00000095 -:105D50002F0001002E0000002E0000002E00010088 -:105D60002D0000002D0000002D0000002D0001007E -:105D70002C0000002C0000002C0000002C00010072 -:105D80002B0000002B0000002B0000002B00010066 -:105D90002A0000002A0000002A0000002A0001005A -:105DA000290000002900000029000000290000004F -:105DB0002900010028000000280000002800000041 -:105DC0002800000028000100270000002700000034 -:105DD0002700000027000000270001002600000027 -:105DE000260000002600000026000000260001001A -:105DF000250000002500000025000000250000000F -:105E000025000000250001002400000024000000FF -:105E100024000000240000002400010023000000F2 -:105E200023000000230000002300000023000000E6 -:105E300023000000230001002200000022000000D7 -:105E400022000000220000002200000022000100C9 -:105E500021000000210000002100000021000000BE -:105E600021000000210000002100010020000000AE -:105E700020000000200000002000000020000000A2 -:105E80002000000020000000200001001F00000092 -:105E90001F0000001F0000001F0000001F00000086 -:105EA0001F0000001F0001001E0000001E00000077 -:105EB0001E0000001E0000000000090A02080B0C72 -:105EC0000D070603040100000000000000000000B0 -:105ED00000000000000000000000000000000000C2 -:105EE0000000000011100F00000000000000000082 -:105EF00000000000000000000000000000000000A2 -:105F0000000000000000000000000000000001028E -:105F100010202008081020401020408002010201BB -:105F20000804020101020408102040808040201073 -:105F300008040201800402018040201008040201CC -:105F40000804020101020408102040800102040834 -:105F50001020408010080408801020400440801069 -:105F60002040048005050505070508080808020209 -:105F700002020A0A080804040404010101010101E3 -:105F800001010303030303030303040707070C0CC6 -:105F90000C0C0C0C0C0C020202020606060606068D -:105FA00006060B0B0B0B0B0B0B0B07070A0A0A0A57 -:105FB0000A0A05050504040408080000200023005F -:105FC000260029002C002F003200000100000301F0 -:105FD0000601090100002200250028002B002E00E8 -:105FE0003100340002010000050108010B0100002E -:105FF0002100240027002A002D0030003300010179 -:106000000000040107010A01024E414E494E495465 -:1060100059494E46CDCCCC3D0AD7233C17B7D13891 -:1060200077CC2B329595E6241FB14F0A0000204112 -:106030000000C84200401C4620BCBE4CCA1B0E5A81 -:10604000AEC59D747E8D19AD05ED828D11241FBEE8 -:10605000CFEFD1E2DEBFCDBF00E00CBF1EE0A0E07D -:10606000B2E0EEECF7E002E00BBF02C007900D9249 -:10607000A83AB107D9F72EE1A8EABEE001C01D9207 -:10608000AB31B207E1F710E6CAE4D0E600E006C0A3 -:1060900022970109FE010BBF0E9434FBC434D107D3 -:1060A00080E00807A9F70E9409F10D94D5030C942C -:1060B0000000CF93DF93EC019C012C5F3F4F41E048 -:1060C00050E060E070E0898D9A8D0E94FB3A882351 -:1060D00099F04D895E896F89788D452B462B472B2A -:1060E00059F44C815D816E817F814D8B5E8B6F8B0E -:1060F000788F998190689983DF91CF910895CF929D -:10610000DF92EF92FF920F931F93CF93DF93EC01F7 -:1061100089899A89AB89BC89803E9F4FAF41B1057F -:1061200010F080E06BC0CE01C4DF8823D1F30E9461 -:106130000F39182F8823A9F3E98DFA8DCC80DD80E3 -:10614000EE80FF8032E0C31AD108E108F10805842F -:1061500004C0CC0CDD1CEE1CFF1C0A94D2F7868513 -:106160009785A089B189C80ED91EEA1EFB1E81E061 -:106170008093AE0EC092B110D092B210E092B310E4 -:10618000F092B41080E092E0E1EBFEE0DF019C01D0 -:106190001D9221503040E1F701E0E98DFA8D8481B4 -:1061A000081790F421EB3EE0B701A601400F511D06 -:1061B000611D711D8091AF0E9091B00E0E946360C1 -:1061C0008823E1F00F5FE9CFC12C82E0D82EE12CCB -:1061D000F12C058404C0CC0CDD1CEE1CFF1C0A94C1 -:1061E000D2F749895A896B897C894C0D5D1D6E1DDA -:1061F0007F1D498B5A8B6B8B7C8B812FDF91CF91CD -:106200001F910F91FF90EF90DF90CF900895CF9363 -:10621000DF93EC0141E0611101C040E06C857D85B8 -:106220008E859F850E944F39882341F0888920E21E -:10623000829FC00111248F54914F02C080E090E0F2 -:10624000DF91CF91089530E020E04EE2DC015C91D7 -:10625000503271F0383029F4FB01E20FF11D408318 -:106260002F5FFB01E20FF11DDC015C9150832F5F7A -:106270003F5F01963B3051F7FB01E20FF11D1082A9 -:106280000895CF93DF93EB01FC012381211102C01C -:1062900080E00EC02250223020F48FE288831982E1 -:1062A00006C060E0B4DF009799F3BE01CCDF81E067 -:1062B000DF91CF910895FB012BE030E23193215023 -:1062C000E9F7DC0190E027E03A2FEB2F8D91811167 -:1062D0000AC0DA013C931196EC9381E0FB019081B6 -:1062E000903239F525C08F32A1F38E3219F0EAE8E9 -:1062F000F1E008C02A30E1F098E02AE0E5CF3196DD -:106300003817B1F034913111FACF291788F03FEDE9 -:10631000380F3E3568F431E0390FFB01E90FF11D0C -:106320009FE9980F9A3108F480528083932FCCCF45 -:1063300080E008950F931F93CF93DF93EC018B01BF -:106340008B81882311F080E042C0FB018789803176 -:1063500039F18032C1F783E08B83F801428D538D90 -:10636000648D758D4D8B5E8B6F8B788F9E012F5E4C -:106370003F4FC8010E94063A882329F31A8F098FDC -:1063800081E089831C821D821E821F8218861986E5 -:106390001A861B861C861D861E861F86188A17C0B5 -:1063A00082E08B831D8A1E8A1F8A188EFB01408D16 -:1063B000518D60E070E095E0440F551F661F771F18 -:1063C0009A95D1F7498B5A8B6B8B7C8BD7CFDF910A -:1063D000CF911F910F9108952F923F924F925F920C -:1063E0006F927F928F929F92AF92BF92CF92DF92E5 -:1063F000EF92FF920F931F93CF93DF93EC015B011A -:106400006A018B81811103C08FEF9FEFC7C0898123 -:1064100080FFFACF49895A896B897C89888599855B -:10642000AA85BB852601612C712C8A019B01081B62 -:10643000190B2A0B3B0B401651066206730618F027 -:106440006A01C81AD90A76013E0124E0620E711C65 -:10645000E114F10409F476C0488559856A857B8585 -:106460004A0181E098222B811A012B01E9E0569420 -:10647000479437942794EA95D1F7898D9A8DFC013A -:10648000223049F4628D738D848D958D620D731D5C -:10649000841D951D3CC0148111501221811491045A -:1064A000C1F4111116C0452B462B472B49F48D8999 -:1064B0009E89AF89B88D8C839D83AE83BF8309C0CD -:1064C0004C815D816E817F81930121D7882309F4FE -:1064D0009BCFE98DFA8D6C817D818E819F81625089 -:1064E000710981099109058404C0660F771F881F0F -:1064F000991F0A94D2F72685378540895189620F02 -:10650000731F841F951F610F711D811D911D20E058 -:1065100032E02819390987012E153F0508F4890151 -:106520000115F2E01F0769F52091B1103091B2100A -:106530004091B3105091B410621773078407950708 -:1065400019F41FC0C6012AC09501AB01BC0180919E -:10655000AF0E9091B00E0E94EE5F882309F454CFE5 -:10656000A00EB11E88859985AA85BB85800F911FD5 -:10657000A11DB11D88879987AA87BB87E01AF10AF8 -:1065800067CF40E08CD6882309F43ECFB4016F5426 -:10659000714FA801C5010F946500E2CFDF91CF9143 -:1065A0001F910F91FF90EF90DF90CF90BF90AF9031 -:1065B0009F908F907F906F905F904F903F902F9023 -:1065C0000895CF93DF931F92CDB7DEB741E050E03F -:1065D000BE016F5F7F4F00DF019719F4898190E062 -:1065E00002C08FEF9FEF0F90DF91CF910895CF9270 -:1065F000DF92EF92FF920F931F93CF93DF936C0183 -:10660000EB017A01FC018381823060F00085118505 -:10661000228533850F71112722273327012B022B67 -:10662000032B11F08FEF5CC04115510511F0F701FC -:1066300010821DE040E250E0BE01C601CDDE803296 -:10664000910539F021E0892B09F420E0822F819512 -:1066500047C028812223C1F0253E61F32E3251F339 -:106660003B853F733F3061F4E114F10449F04A8DFA -:106670005B8D452B29F42F713FEF320F343030F012 -:106680002B8523FDD7CF2CC080E02AC030E02150DD -:106690003109129FC001139F900D1124F701E80FDB -:1066A000F91F298120832B8121832D8122832F8132 -:1066B0002383298524832E852583288926832A8977 -:1066C00027832C8920872E892187288D22872C8D4E -:1066D00023872E8D2487288126FFD2CF1586D0CF01 -:1066E000DF91CF911F910F91FF90EF90DF90CF90AE -:1066F00008951F93CF93DF93EC018B81823018F4C0 -:1067000080E090E023C0488559856A857B85A5E0B7 -:106710007695679557954795AA95D1F7142F1F70D1 -:10672000CE014FDF97FDECCF488559856A857B8583 -:10673000415E5F4F6F4F7F4F488759876A877B87DE -:1067400020E2129FC00111248F54914FDF91CF910D -:106750001F9108954F925F926F927F92AF92BF9276 -:10676000CF92DF92EF92FF920F931F93CF93DF931D -:10677000EC016A017B012B81222349F089899A89E6 -:10678000AB89BC8984179507A607B70710F480E08A -:106790006BC0223009F463C0C114D104E104F104D8 -:1067A00049F41C821D821E821F82188619861A8651 -:1067B0001B8659C088859985AA85BB85E98DFA8D88 -:1067C000E585F0E03996AC01BD0141505109610900 -:1067D00071090E2E04C076956795579547950A94D2 -:1067E000D2F797018601015011092109310904C02E -:1067F0003695279517950795EA95D2F7041715074B -:106800002607370720F0892B8A2B8B2B49F48D899B -:106810009E89AF89B88D8C839D83AE83BF8304C06E -:10682000041B150B260B370B280139015E0184E090 -:10683000A80EB11C411451046104710481F04C8113 -:106840005D816E817F819501898D9A8D60D591E002 -:10685000491A5108610871088111ECCF05C0C8863A -:10686000D986EA86FB8681E0DF91CF911F910F9157 -:10687000FF90EF90DF90CF90BF90AF907F906F90A0 -:106880005F904F9008950F931F93CF93DF93EC0188 -:106890008B818823D1F1898187FF32C061E0CE01ED -:1068A000B6DC8C01009789F1FC018081853E69F19D -:1068B0008B81823040F449895A896B897C89448F65 -:1068C000558F668F778F4D895E896F89788DF80136 -:1068D000538F428F758B648BE091A80EF091A90EB7 -:1068E000309759F0B8016A5E7F4FC80148961995F4 -:1068F000F801808D918D938B828B89818F7789832D -:10690000DF91CF911F910F918AC481E0888380E04D -:10691000DF91CF911F910F910895CF93DF93EC01F9 -:10692000B2DF1B82DF91CF910895FC0123812111F9 -:10693000F4CF08954F925F926F927F92AF92BF9281 -:10694000CF92DF92EF92FF920F931F93CF93DF933B -:1069500000D01F92CDB7DEB75C016A017B01FC015C -:1069600083818130E9F4818181FF1AC0F501818939 -:106970009289A389B48984179507A607B70780F081 -:10698000892B8A2B8B2B09F472C0F501408451842A -:1069900062847384B701A601C501DCDE811102C0E7 -:1069A00080E066C0F501818D928DC114D104E104AF -:1069B000F10469F4458956896789708D25D7882344 -:1069C00079F3F501158A168A178A108E37C0F501FA -:1069D00044815581668177819E012F5F3F4F97D417 -:1069E0008823F1F249815A816B817C81F501818D87 -:1069F000928DFC012789203139F4483FFFEF5F0772 -:106A000061057105D8F407C0483F2FEF52076207B0 -:106A10002FE0720798F4F8D6882309F4C1CFF50166 -:106A200044815581668177810FEF1FEF2FEF3FE0A3 -:106A3000818D928D51D5882309F4B2CFF501C18A99 -:106A4000D28AE38AF48A818180688183C5011BDF51 -:106A5000882309F4A5CFB701A6014C145D046E0488 -:106A60007F0410F4B301A201C50174DE01C081E00E -:106A70000F900F900F900F90DF91CF911F910F917A -:106A8000FF90EF90DF90CF90BF90AF907F906F908E -:106A90005F904F900895FF920F931F93CF93DF93D2 -:106AA000EC01F42E80E2689FF0011124EF54F14FC5 -:106AB0008385817121F0842F827109F04EC080910D -:106AC000B1109091B210A091B310B091B4108C8716 -:106AD0009D87AE87BF87688B4489558960E070E0E9 -:106AE000BA0155274427028D138D20E030E0402B5A -:106AF000512B622B732B4D8B5E8B6F8B788F838525 -:106B0000887151F4048D158D268D378D098B1A8B64 -:106B10002B8B3C8B81E00BC08031F9F49E012F5E02 -:106B20003F4F898D9A8D72D48823B9F084E08B838E -:106B30008F2D8F7089831C821D821E821F82188672 -:106B400019861A861B86F4FE0BC040E050E0BA019D -:106B5000CE01F0DE811104C011C01B8280E00EC0A6 -:106B6000F5FE0BC049895A896B897C89CE01DF917A -:106B7000CF911F910F91FF90EDCD81E0DF91CF91EB -:106B80001F910F91FF900895AF92BF92CF92DF9225 -:106B9000EF92FF920F931F93CF93DF937C01EB0152 -:106BA0006A01B22E898D9A8DF701928F818F40E014 -:106BB00050E0BA01CE01CEDDA12C088519852A85C9 -:106BC0003B8589899A89AB89BC89081719072A07E7 -:106BD0003B07A0F585E036952795179507958A958B -:106BE000D1F70F70CE0185DD009709F481C0FC015B -:106BF0002081222311F0253EB9F4A1100EC040914E -:106C0000B1105091B2106091B3107091B410F701AF -:106C10004487558766877787008BFC018081AA248B -:106C2000A3948111CACF0AC04BE050E0BC01C60159 -:106C30000F945800892B09F0C0CF58C08B2D827457 -:106C4000823409F055C0AA2049F0F701008961E0BB -:106C5000C701DDDAEC01009769F44AC08B8182300C -:106C600009F446C0CE014BDA882309F441C0C1EBD8 -:106C7000DEE000E080E2FE0111928A95E9F78BE008 -:106C8000F601DE0101900D928A95E1F7E091A80EE0 -:106C9000F091A90E309739F0BE01625F7F4FCE01AF -:106CA0004096199508C081E298E2998B888B80E024 -:106CB00098E09F878E87888999899B8B8A8B998F8B -:106CC000888F8E859F859F8B8E8BA9D2882381F09C -:106CD0004B2D602FC701DF91CF911F910F91FF9036 -:106CE000EF90DF90CF90BF90AF90D5CEB7FEF0CFB2 -:106CF00080E0DF91CF911F910F91FF90EF90DF9097 -:106D0000CF90BF90AF9008953F924F925F926F9255 -:106D10007F928F929F92AF92BF92CF92DF92EF922B -:106D2000FF920F931F93CF93DF93CDB7DEB7C3547A -:106D3000D1090FB6F894DEBF0FBECDBF5C016B0169 -:106D400024965FAF4EAF2497522E1C8E1F8E198251 -:106D50001C826115710511F410E073C0FC01838180 -:106D60008111FACF2496EEADFFAD249780818F324A -:106D700011F076011DC02496EEADFFAD2497808101 -:106D80008F3231F431962496FFAFEEAF2497F3CFD4 -:106D9000F60183818250823060F3F601618D728D3D -:106DA000CE010196C7DA8823B9F2CE0101967C01A3 -:106DB0008E01045E1F4F3801FE0131964F01402EB7 -:106DC000312E19C08823A9F121E0AE01495C5F4F43 -:106DD000B701C801D9DE882309F4BECFEC14FD0445 -:106DE00011F0C7019ADD0615170501F1942D832DC9 -:106DF0007801092F182FAE014E5B5F4FBE01695C11 -:106E00007F4F24968EAD9FAD249755DA882309F4E1 -:106E1000A3CF2496EEADFFAD249780818F3291F6FB -:106E200031962496FFAFEEAF2497F3CF982D892D9E -:106E3000DFCF252DAE01495C5F4FB701C501A4DE50 -:106E4000182FCE01019671DDCE014C966EDD812F9B -:106E5000CD5BDF4F0FB6F894DEBF0FBECDBFDF9125 -:106E6000CF911F910F91FF90EF90DF90CF90BF9047 -:106E7000AF909F908F907F906F905F904F903F90DA -:106E80000895CF93DF93EC0140E050E0BA0152DD6A -:106E9000882361F061E0CE01BAD9009739F025EE80 -:106EA000FC0120831B82DF91CF91B9C180E0DF918B -:106EB000CF9108951F93CF93DF93CDB7DEB76B9734 -:106EC0000FB6F894DEBF0FBECDBFAB0119821C8296 -:106ED00022E0BC01CE01019617DF182F882321F094 -:106EE000CE010196CEDF182FCE0101961EDD812F37 -:106EF0006B960FB6F894DEBF0FBECDBFDF91CF917A -:106F00001F9108952F923F924F925F926F927F92BE -:106F10008F929F92AF92BF92CF92DF92EF92FF92A9 -:106F20000F931F93CF93DF9300D01F921F92CDB783 -:106F3000DEB78C015B013A01DC0113968C9113974B -:106F40008130C1F411968C9181FF14C082FF18C06A -:106F5000F801418952896389748980859185A28568 -:106F6000B38584179507A607B70751F0C801F2DB70 -:106F7000811106C081E0F80180838FEF9FEF37C158 -:106F8000630183C0D80159968D919C915A97FC0159 -:106F9000F481F1501A012B0169E05694479437941B -:106FA00027946A95D1F7F221FD834A0121E09222CC -:106FB000FF2309F476C080E092E0881999097601F0 -:106FC0008C159D0508F47C01D8015996ED91FC9132 -:106FD0005A9714962D903D904D905C901797B2E083 -:106FE0002B1A310841085108058404C0220C331CB7 -:106FF000441C551C0A94D2F786859785A089B189CF -:10700000280E391E4A1E5B1EED812E0E311C411CBE -:10701000511CE114F2E0FF0609F089C08091B11023 -:107020009091B210A091B310B091B4108215930555 -:10703000A405B50569F41092AE0E8FEF9FEFDC0149 -:107040008093B1109093B210A093B310B093B4108A -:107050009501B201A1018091AF0E9091B00E0E94F6 -:107060006360882309F486CFF80180859185A28525 -:10707000B3858E0D9F1DA11DB11D80879187A287AD -:10708000B387AE0CBF1CCE18DF08D80118964D91FF -:107090005D916D917C911B97C114D10409F072CF61 -:1070A0007AC08114910409F086CF14964D915D91B8 -:1070B0006D917C911797411551056105710559F442 -:1070C00055968D919D910D90BC91A02D0097A10595 -:1070D000B10539F520C09E012F5F3F4F18D188239D -:1070E00009F448CF89819A81AB81BC81F801218D57 -:1070F000328DF9012789203139F4883FFFEF9F074E -:10710000A105B10540F40DC0883F2FEF9207A207FB -:107110002FE0B20730F0C8010E94593081114BCFE7 -:1071200029CFF80184839583A683B78344CF811444 -:10713000910411F5D80118964D915D916D917C9156 -:107140001B9751968D919D910D90BC91A02D481744 -:1071500059076A077B0780F062D0882309F40ACFB9 -:1071600081E08093AE0E2092B1103092B210409226 -:10717000B3105092B41007C041E0C201B1018FD0EA -:10718000882309F4F7CEA701B501C4018F54914FAC -:107190000F94650069CF51968D919D910D90BC9192 -:1071A000A02DF801218184179507A607B70738F4A9 -:1071B000418B528B638B748B206821830CC0809130 -:1071C000A80E9091A90E892B31F06114710419F069 -:1071D0002068F8012183D80111968C9183FD02C0AB -:1071E000C30105C0C8014FDB8111FACFC3CE0F9098 -:1071F0000F900F900F900F90DF91CF911F910F91F3 -:10720000FF90EF90DF90CF90BF90AF909F908F90C6 -:107210007F906F905F904F903F902F900895CF9305 -:107220008091AE0E8823B9F14091B1105091B21007 -:107230006091B3107091B41021EB3EE08091AF0EDD -:107240009091B00E0E946360C82F811102C0C0E00F -:1072500023C04091AA0E5091AB0E6091AC0E70917C -:10726000AD0E411551056105710591F021EB3EE030 -:107270008091AF0E9091B00E0E946360882339F325 -:107280001092AA0E1092AB0E1092AC0E1092AD0E90 -:107290001092AE0E01C0C1E08C2FCF910895CF9215 -:1072A000DF92EF92FF92CF936B017C01C42F80910C -:1072B000B1109091B210A091B310B091B4108C1590 -:1072C0009D05AE05BF05C9F0AADF811102C080E0AF -:1072D00018C021EB3EE0B701A6018091AF0E90915E -:1072E000B00E0E94EE5F882391F3C092B110D0924D -:1072F000B210E092B310F092B41081E0C11180930B -:10730000AE0ECF91FF90EF90DF90CF9008958F92C7 -:107310009F92AF92BF92CF92DF92EF92FF920F9324 -:107320001F93CF93DF93EC016A017B01890189856B -:107330009A85AB85BC850196A11DB11D8417950763 -:10734000A607B70710F480E054C08F89803129F474 -:107350009927872F762F652F0BC08032A1F7CB019D -:10736000BA0127E096958795779567952A95D1F785 -:107370008B889C88AD88BE88680D791D8A1D9B1DF1 -:107380008090B1109090B210A090B310B090B41053 -:10739000681579058A059B0581F48F89803191F400 -:1073A000DD24EE24FF24F601EE0FFF1FEF54F14F12 -:1073B00080819181A0E0B0E016C040E070DF8111D3 -:1073C000ECCFC1CFE894C7F8DD24EE24FF24F6010A -:1073D000EE0FFF1FEE0FFF1FEF54F14F80819181E1 -:1073E000A281B381BF70F80180839183A283B383AC -:1073F00081E0DF91CF911F910F91FF90EF90DF908F -:10740000CF90BF90AF909F908F9008954F925F92D2 -:107410006F927F92AF92BF92CF92DF92EF92FF92E4 -:107420000F931F93CF93DF9300D01F92CDB7DEB79A -:107430008C0149835A836B837C835901C12CD12CE5 -:107440007601412C42E0542E612C712C49815A81E5 -:107450006B817C819E012F5F3F4FC80158DF8823DD -:1074600041F1D301C201F801058404C0880F991FBE -:10747000AA1FBB1F0A94D2F7C80ED91EEA1EFB1E14 -:1074800049815A816B817C818789803139F481E01F -:10749000483F5F4F6105710538F4D8CF81E0483F20 -:1074A0005F4F6F4F7F4090F2F501C082D182E28240 -:1074B000F3820F900F900F900F90DF91CF911F915B -:1074C0000F91FF90EF90DF90CF90BF90AF907F90A3 -:1074D0006F905F904F9008954F925F926F927F925E -:1074E0008F929F92AF92BF92CF92DF92EF92FF92D4 -:1074F0000F931F93CF93DF93EC014A015B012801A7 -:107500003901423051056105710508F462C04985B1 -:107510005A856B857C854F5F5F4F6F4F7F4F481556 -:1075200059056A057B0508F454C08F89803129F418 -:10753000FF24EB2CDA2CC92C0CC0803209F049C096 -:107540007501640177E0F694E794D794C7947A952F -:10755000D1F74B895C896D897E89C40ED51EE61EE4 -:10756000F71E41E0C701B6019ADE882391F19F8999 -:10757000903159F49924AA24BB24F401EE0FFF1F83 -:10758000EF54F14F5182408210C0E89487F899245B -:10759000AA24BB24F401EE0FFF1FEE0FFF1FEF54D0 -:1075A000F14F40825182628273829A89923090F0C8 -:1075B0004D815E816F8178854C0D5D1D6E1D7F1D37 -:1075C0004093AA0E5093AB0E6093AC0E7093AD0E29 -:1075D00001C080E0DF91CF911F910F91FF90EF905C -:1075E000DF90CF90BF90AF909F908F907F906F90E3 -:1075F0005F904F9008952F923F924F925F926F92BB -:107600007F928F929F92AF92BF92CF92DF92EF9232 -:10761000FF920F931F93CF93DF93CDB7DEB72F97D2 -:107620000FB6F894DEBF0FBECDBF1C014C875D873F -:107630006E877F873B872A87DC0119960D911D9104 -:107640002D913C911C970F5F1F4F2F4F3F4F0D8384 -:107650001E832F833887EA85FB8580809180A280F6 -:10766000B38081149104A104B10431F0FFEF8F1AAB -:107670009F0AAF0ABF0A10C0DC018D909D90AD90AB -:10768000BC90B1E0B9870C851D852E853F85013002 -:1076900011052105310509F0198675016401412C98 -:1076A000512C3201F10181859285A385B48548165C -:1076B00059066A067B0608F04EC00D811E812F8197 -:1076C00038850C151D052E053F0550F4F2E0CF2E30 -:1076D000D12CE12CF12CA2E08A2E912CA12CB12CE2 -:1076E0009E012F5F3F4FB701A601C10110DE882325 -:1076F00091F149815A816B817C81D701C601019644 -:10770000A11DB11D452B462B472B19F04C015D01E6 -:107710000FC0AC01BD01481959096A097B090C85E4 -:107720001D852E853F85401751076207730741F07D -:107730001FEF411A510A610A710A6C017D01B2CF33 -:107740000FEF1FEF2FEF3FE0B701A601C101C4DE2D -:107750008D83811113C01D823DC02601370121E0B8 -:10776000421A51086108710897018601B301A2010C -:10777000C101B2DE882379F3730162018C149D0488 -:10778000AE04BF0450F3AA85BB854D915D916D9108 -:107790007C914115510561057105A9F4EA85FB85C8 -:1077A00080829182A282B382F985FF2399F00FEF44 -:1077B000801A900AA00AB00AD1018D929D92AD92D2 -:1077C000BC92139707C095018401C10185DE811128 -:1077D000E5CFC1CF8D812F960FB6F894DEBF0FBED7 -:1077E000CDBFDF91CF911F910F91FF90EF90DF9070 -:1077F000CF90BF90AF909F908F907F906F905F9051 -:107800004F903F902F900895AF92BF92CF92DF920A -:10781000EF92FF920F931F93CF93DF9300D01F92AD -:10782000CDB7DEB75C016A017B0182E090E0A0E0A9 -:10783000B0E0F50180839183A283B3839E012F5F23 -:107840003F4FB701A601C50162DD811102C080E092 -:1078500023C000E010E09801B701A601C5013CDE9D -:107860008823A9F3C980DA80EB80FC80F501878941 -:10787000803149F481E0F8EFCF16FFEFDF06E10435 -:10788000F10450F4DBCF81E098EFC9169FEFD906E1 -:10789000E9069FE0F90690F20F900F900F900F907D -:1078A000DF91CF911F910F91FF90EF90DF90CF90DC -:1078B000BF90AF9008957F928F929F92AF92BF92A8 -:1078C000CF92DF92EF92FF920F931F93CF93DF93AC -:1078D000EC01142F7093B00E6093AF0E1F8A82E0FC -:1078E00090E0A0E0B0E088839983AA83BB831092E4 -:1078F000AE0E1092AA0E1092AB0E1092AC0E109219 -:10790000AD0E8FEF9FEFDC018093B1109093B2101A -:10791000A093B310B093B410442349F1453008F05C -:10792000DEC040E060E070E0CB01B9DC882309F400 -:10793000D6C020E1129FF0011124E15AFF4E808150 -:107940008F7709F0CCC084859585A685B785843668 -:107950009105A105B10508F4C2C0C084D184E284B8 -:10796000F384C114D104E104F10421F4B8C0C12CA2 -:10797000D12C760140E0C701B60191DC782E882336 -:1079800009F4ADC08091BC0E9091BD0E811592405E -:1079900009F0A5C03091C10E332309F4A0C0809135 -:1079A000BF0E9091C00E892B09F499C02091BE0E94 -:1079B000222309F494C03A8B2C831D8630E041E0E9 -:1079C00050E06D85062FCA01062E02C0880F991F50 -:1079D0000A94E2F72817390731F081E0860F8D8786 -:1079E000683078F37CC02091C70E3091C80E211505 -:1079F000310519F040E050E008C02091D50E3091DB -:107A0000D60E4091D70E5091D80E2D833E834F83D2 -:107A100058878091BF0E9091C00E46015701880E85 -:107A2000991EA11CB11C8B8A9C8AAD8ABE8AE091EA -:107A3000C20EF091C30EF98FE88FA091C10EB0E095 -:107A40000E9424FB680D791D8A1D9B1D6A8F7B8F08 -:107A50008C8F9D8FB5E0EE0FFF1FBA95E1F7E150D7 -:107A6000FE4FEF2FFF27E695DC01CB018E0F9F1F06 -:107A7000A11DB11D8E879F87A88BB98B8090C40EE6 -:107A80009090C50E8114910419F0A12CB12C08C05E -:107A90008090D10E9090D20EA090D30EB090D40EC4 -:107AA000A7019601281B390B4A0B5B0BDA01C901B0 -:107AB000880D991DAA1DBB1D04C0B695A795979565 -:107AC00087950A95D2F789879A87AB87BC87853FC8 -:107AD0003FE09307A105B10520F48CE08F8B712C5A -:107AE00015C0853F9F4FA105B10510F480E10DC081 -:107AF0008091DD0E9091DE0EA091DF0EB091E00E30 -:107B00008A8F9B8FAC8FBD8F80E28F8B872DDF910B -:107B1000CF911F910F91FF90EF90DF90CF90BF908A -:107B2000AF909F908F907F9008954F925F926F9249 -:107B30007F928F929F92AF92BF92CF92DF92EF92FD -:107B4000FF920F931F93CF93DF932C0123E833E031 -:107B500081E090E0F90145915491441655060CF0EE -:107B600062C0AC0141505109DA01AA0FBB1FAA0F34 -:107B7000BB1FAF57BC4FFD0165917491440F551F5A -:107B8000440F551F41585C4FFA0165907490FC01F9 -:107B9000EE0FFF1FEE0FFF1FEF57FC4FA590B490A5 -:107BA000FD0105911491F901C591D491FA018590D7 -:107BB0009490882777FD8095982F0E949EF76B01FF -:107BC0007C01B20166197709882777FD8095982F87 -:107BD0000E949EF72B013C01B501601B710B8827A9 -:107BE00077FD8095982F0E949EF79B01AC01C30101 -:107BF000B2010E94D1F92B013C01BE01681979093B -:107C0000882777FD8095982F0E949EF79B01AC01F5 -:107C1000C301B2010E9403F79B01AC01C701B60189 -:107C20000E9423F611C001962C5F3F4F8D339105C2 -:107C300009F090CFE1E7F4E065917491882777FD32 -:107C40008095982F0E949EF7DF91CF911F910F9101 -:107C5000FF90EF90DF90CF90BF90AF909F908F906C -:107C60007F906F905F904F9008954F925F926F92C8 -:107C70007F928F929F92AF92BF92CF92DF92EF92BC -:107C8000FF920F931F93CF93DF932C01662371F123 -:107C9000E7E1F2E58491882341F09091C00095FFDF -:107CA000FCCF8093C6003196F5CF70E04AE050E0FB -:107CB00089EF96E10E948DD0E8E6F2E08491882376 -:107CC00041F09091C00095FFFCCF8093C6003196A3 -:107CD000F5CF8091C00085FFFCCF8AE08093C6007D -:107CE0000E944C6A60E070E0CB017EC023E833E084 -:107CF00081E090E0F90145915491441655060CF04D -:107D000062C0AC0141505109DA01AA0FBB1FAA0F92 -:107D1000BB1FAF57BC4FFD0165917491440F551FB8 -:107D2000440F551F41585C4FFA0165907490FC0157 -:107D3000EE0FFF1FEE0FFF1FEF57FC4FA590B49003 -:107D4000FD0105911491F901C591D491FA01859035 -:107D50009490882777FD8095982F0E949EF76B015D -:107D60007C01B20166197709882777FD8095982FE5 -:107D70000E949EF72B013C01B501601B710B882707 -:107D800077FD8095982F0E949EF79B01AC01C3015F -:107D9000B2010E94D1F92B013C01BE016819790999 -:107DA000882777FD8095982F0E949EF79B01AC0154 -:107DB000C301B2010E9403F79B01AC01C701B601E8 -:107DC0000E9423F611C001962C5F3F4F8D33910521 -:107DD00009F090CFE1E7F4E065917491882777FD91 -:107DE0008095982F0E949EF7DF91CF911F910F9160 -:107DF000FF90EF90DF90CF90BF90AF909F908F90CB -:107E00007F906F905F904F90089560E080910A118D -:107E100090910B112ADF60930611709307118093E4 -:107E200008119093091180910411909105117DDE44 -:107E300060930011709301118093021190930311CC -:107E40008FB7F8941092F8108FBF08952091140204 -:107E500030911502409116025091170260E070E0D7 -:107E60008FE793E40E9403F76093D8107093D910C2 -:107E70008093DA109093DB10089597FF03C08091F0 -:107E8000FF1004C0FC01EE52FF4E808190E0089587 -:107E9000CF93DF93D82FC62FC19561E00E9469EF81 -:107EA0006C2F8D2F0E94A2EF6C2F70E08D2FDF9131 -:107EB000CF910C945FEECF93C1E020E030E048E436 -:107EC00052E4609106117091071180910811909110 -:107ED00009110E94FFF818160CF0C0E06C2F86E024 -:107EE00090E0CF91D5CFCF93DF931092DC1010921A -:107EF000DD101092DE101092DF10209114023091EC -:107F00001502409116025091170260E070E08FE771 -:107F100093E40E9403F76093D8107093D910809374 -:107F2000DA109093DB106D9A80910101806180934B -:107F300001019D9A8091010180628093010187ED8A -:107F400080937A0010927E0010927D0080917E00D6 -:107F5000816080937E0080917E00826080937E00AD -:107F600080917E00846080937E0080E888BD80914F -:107F70006E00846080936E006AEF70E080E090E0B5 -:107F80000E9478F08FE090E09093CB108093CA101D -:107F900060E080910A0290910B0267DE20E030E001 -:107FA00040E751E40E94FCF687FF0AC080910A0274 -:107FB00090910B02409790930B0280930A02E8CFB6 -:107FC0008BE391E0909309028093080260E0809136 -:107FD000CC109091CD1049DE20E030E84DE953E41B -:107FE0000E94FFF8181654F48091CC109091CD1097 -:107FF00040969093CD108093CC10E8CFC091C810DC -:10800000D091C910CE0191DD20E030E046E153E48B -:108010000E94FFF8181634F46096D093C910C093EC -:10802000C810ECCFDF91CF910895089510920F11F1 -:1080300010920E1110920D1110920C111092D2107C -:10804000759810920D1110920C111092FF10A598B6 -:1080500008952F923F924F925F926F927F928F92EC -:108060009F92AF92BF92CF92DF92EF92FF920F93C7 -:108070001F93CF93DF93CDB7DEB7AE970FB6F894CB -:10808000DEBF0FBECDBF6B8F7C8F8D8F292E5A87A1 -:1080900049873CA72BA70E9449F06F8F78A389A33B -:1080A0009AA30E9449F06FA378A789A79AA7298568 -:1080B0003A85121613061CF0E0E1FDE017C0E3E27A -:1080C000FDE08191882339F09091C00095FFFCCFAD -:1080D0008093C600F6CF8091C00085FFFCCF1BC205 -:1080E0009091C00095FFFCCF8093C60081918111D3 -:1080F000F7CF8091C00085FFFCCF8AE08093C60057 -:1081000095DF49855A858FE7452B99F18093FF10BC -:108110008F8D98A1A9A1BAA1898B9A8BAB8BBC8BAF -:108120008D879E87AF87B88B1D8290E4988FACE1D6 -:10813000A98FB6E4BA8F1DA61D8A1E8A1F8A2FE753 -:1081400030E040E050E029833A834B835C83EFE7E3 -:108150004E2E512C612C712C1BA21CA21DA21EA202 -:1081600031E03E8F1C861B86312C00E010E01EA6FD -:1081700005C08093D210CCCF0E94E3A38091F81069 -:10818000882309F4F6C041DE49855A85452B51F014 -:1081900030900011009101111091021150910311C2 -:1081A0005EA709C0309006110091071110910811C7 -:1081B000809109118EA7232D302F412F5EA56DA52B -:1081C0007D898E899F890E94FFF818162CF03DA6A4 -:1081D0000D8B1E8B9EA59F8B232D302F412F5EA5CF -:1081E0006D81788D898D9A8D0E94FCF687FD05C082 -:1081F0003D82088F198FAEA5AA8F0E9449F02FA14A -:1082000038A549A55AA5621B730B840B950B653CD9 -:1082100079408105910538F04EDE0E9449F06FA348 -:1082200078A789A79AA74E8D442309F44FC02B8DB8 -:108230003C8D4D8D522D632D702F812F9EA50E9458 -:10824000FFF818160CF095C00E9449F029893A8968 -:108250004B895C89621B730B840B950B69387341E6 -:108260008105910508F485C0D301C20129813A81B5 -:108270004B815C81821B930BA40BB50B49855A85FE -:10828000B595A79597958795452B19F08093FF1085 -:1082900002C08093D2100E9449F06D877E878F873D -:1082A000988BDC01CB0129893A894B895C89821B37 -:1082B000930BA40BB50B8BA39CA3ADA3BEA33B8DCB -:1082C0003DA74C8D4D8B5D8D5E8B2F8A2B8D3C8D0C -:1082D0004D8D522D632D702F812F9EA50E94FCF68F -:1082E00087FFEEC20E9449F02D853E854F85588953 -:1082F000621B730B840B950B6938734181059105E3 -:1083000008F4DEC20E9449F0698B7A8B8B8B9C8BC0 -:10831000DC01CB012D853E854F855889821B930B4F -:10832000A40BB50B4B855C85452B09F010C18981E9 -:108330009A81AB81BC81840D951DA61DB71D298531 -:108340003A85B595A79597958795232B09F4B5C2DE -:108350008093FF104B855C854F5F5F4F5C874B8739 -:108360005B8D5D838C8D888F9D8D998F2A8EA1E08A -:10837000AE8F20E030E040EA51E46B8D7C8D8D8D36 -:10838000922D0E9423F69B01AC01632D702F812F4B -:108390009EA50E94FFF8181694F4EEE0F3E0849195 -:1083A000882341F09091C00095FFFCCF8093C600D8 -:1083B0003196F5CF8091C00085FFFCCFACC00E9404 -:1083C00049F02F8D38A149A15AA1621B730B840B70 -:1083D000950B613D77408105910508F44FC04985B3 -:1083E0005A85452B81F0E090FF10F12CE8E0F3E096 -:1083F00084918823C1F09091C00095FFFCCF8093B9 -:10840000C6003196F5CFE090D210F12CE2E0F3E017 -:108410008491882341F09091C00095FFFCCF809318 -:10842000C6003196F5CF22E030E0432D502F612F6A -:108430007EA589EF96E10E9463D1EEEFF2E0849190 -:10844000882341F09091C00095FFFCCF8093C60037 -:108450003196F5CF4AE050E0B70189EF96E10E94EE -:108460008DD08091C00085FFFCCF8AE08093C6004C -:108470000E9449F06F8F78A389A39AA30E9449F0C4 -:108480006B017C010E9449F089889A88AB88BC887E -:108490002D853E854F855889820E931EA41EB51EDC -:1084A000C818D908EA08FB08C60ED71EE81EF91E30 -:1084B00031E8C3163FE4D30632E1E306F10490F05D -:1084C000E1EEF2E08491882341F09091C00095FFA5 -:1084D000FCCF8093C6003196F5CF8091C00085FF18 -:1084E000FCCF19C04B855C858BA59CA5841795078F -:1084F0000CF042CEE5E8F2E08491882341F09091BF -:10850000C00095FFFCCF8093C6003196F5CF8091D7 -:10851000C00085FFFCCF8AE08093C600AE960FB600 -:10852000F894DEBF0FBECDBFDF91CF911F910F91A9 -:10853000FF90EF90DF90CF90BF90AF909F908F9083 -:108540007F906F905F904F903F902F9008958BA0F9 -:108550009CA0ADA0BEA0880E991EAA1EBB1E2BA17A -:108560003CA14DA15EA1281B390B4A0B5B0BCA0134 -:10857000B90129813A814B815C810E9497FAA5015A -:1085800094010E94FCFA240D351D461D571D24310F -:1085900031054105510504F129013A013CEE43162C -:1085A0005104610471042CF06BEE462E512C612CA9 -:1085B000712C40E84416510461047104DCF08EEF24 -:1085C00090E0A0E0B0E084199509A609B709898375 -:1085D0009A83AB83BC8312C054E1452E512C612C8D -:1085E000712C24E130E040E050E029833A834B8352 -:1085F0005C8304C049825A826B827C82E7E7F3E0A5 -:108600008491882341F09091C00095FFFCCF809326 -:10861000C6003196F5CF2AE030E0B301A20189EF20 -:1086200096E10E9462D0E2E7F3E08491882341F072 -:108630009091C00095FFFCCF8093C6003196F5CF96 -:108640002AE030E049815A816B817C8189EF96E193 -:108650000E9462D0EBE6F3E08491882341F0909190 -:10866000C00095FFFCCF8093C6003196F5CF22E085 -:1086700030E04D81588D698D7A8D89EF96E10E94A9 -:1086800063D1E4E6F3E08491882341F09091C00047 -:1086900095FFFCCF8093C6003196F5CF22E030E005 -:1086A0004DA55D896E897F8989EF96E10E9463D12E -:1086B0008091C00085FFFCCF8AE08093C6002B85A7 -:1086C0003C85233031050CF432CE69817A818B816F -:1086D0009C810E949EF720E030E040E850E40E9438 -:1086E000D1F96B017C012D81388D498D5A8D6DA595 -:1086F0007D898E899F890E9422F620ED3FE049E422 -:1087000050E40E94D1F920E030E040E05FE30E94B5 -:10871000D1F99B01AC01C701B6010E9403F76B01BF -:108720007C01C501B4010E949EF720E030E04AE7D9 -:1087300054E40E9403F74B015C01EEE5F3E0849101 -:10874000882341F09091C00095FFFCCF8093C60034 -:108750003196F5CF22E030E0B701A60189EF96E12E -:108760000E9463D1E8E5F3E08491882341F0909181 -:10877000C00095FFFCCF8093C6003196F5CF22E074 -:1087800030E0B501A40189EF96E10E9463D18091A8 -:10879000C00085FFFCCF8AE08093C6002AE939E952 -:1087A00049E15FE3C701B6010E94D1F96B017C0189 -:1087B0009B01AC010E9423F6A50194010E9403F7DE -:1087C0006D837E838F839887A5019401C701B601CD -:1087D0000E94D1F920E030E040E05EE30E94D1F950 -:1087E0004B015C01EAE4F3E08491882341F090912D -:1087F000C00095FFFCCF8093C6003196F5CF8091E5 -:10880000C00085FFFCCF8AE08093C600E4E4F3E07B -:108810008491882341F09091C00095FFFCCF809314 -:10882000C6003196F5CF22E030E0B701A60189EF0E -:1088300096E10E9463D18091C00085FFFCCF8AE061 -:108840008093C600EEE3F3E08491882341F0909199 -:10885000C00095FFFCCF8093C6003196F5CF22E093 -:1088600030E04D815E816F81788589EF96E10E94CD -:1088700063D18091C00085FFFCCF8AE08093C60061 -:10888000E8E3F3E08491882341F09091C00095FFE4 -:10889000FCCF8093C6003196F5CF22E030E0B501E1 -:1088A000A40189EF96E10E9463D18091C00085FF09 -:1088B000FCCF8AE08093C6003ACD8093D2104ACD97 -:1088C0001E8E57CD81E0809336130E9457DA809137 -:1088D0008E13882339F010928E1360E08CE893E1B8 -:1088E0000E94905888E592E00E9441A39FDB179A6E -:1088F00010924C13169A10924D13149A56D10E944E -:10890000E3A39FB7F89480910201846080930201F1 -:108910009FBF84EF91E00E949CF09FB7F8948091F4 -:1089200002018B7F809302019FBF84E690E00C944C -:108930009CF02F923F924F925F926F927F928F9214 -:108940009F92AF92BF92CF92DF92EF92FF920F93DE -:108950001F93CF93DF93CDB7DEB728970FB6F89468 -:10896000DEBF0FBECDBF4C012A013B010D831E832C -:108970002F833887AA2039F0A12CB12C19821A82B2 -:108980001B821C820BC03DE2A32EB12C80E090E044 -:10899000A0E7B1E489839A83AB83BC830E9449F04A -:1089A0000E949CF78401000F111F000F111FD801B6 -:1089B000A85EBE4E1D012D913D914D915C910E948E -:1089C00022F620E030E04AEF54E40E94FFF8181647 -:1089D0000CF0D2C00E9449F00E949CF7F101608324 -:1089E00071838283938320E030E0A901C701B6013F -:1089F0000E94FCF6811107C0F401EE0FFF1FE05F3B -:108A0000FE4E118210829801285D3E4E1901A3018D -:108A10009201D1016D917D918D919C910E94FCF606 -:108A2000882321F120E030E0A901C301B2010E94B6 -:108A3000FFF8F801E85CFE4E181674F480E090E050 -:108A4000A0E8BFE380839183A283B383F1014082D6 -:108A50005182628273820AC0108211821282138252 -:108A6000D1014D925D926D927C921397A301920178 -:108A70006D817E818F8198850E94FFF887FD19C0E6 -:108A8000F801E85CFE4E1F0120E030E040E85FE3C3 -:108A900060817181828193810E94FCF6811109C0FD -:108AA00080E090E0A0E0B0E4F10180839183A283B4 -:108AB000B38320E030E0A901C701B6010E94FFF8AE -:108AC00018160CF059C029813A814B815C81C30191 -:108AD000B2010E9422F62D813E814F8158850E946D -:108AE000FCF687FF12C029813A814B815C81C3016A -:108AF000B2010E9423F69B01AC016D817E818F81C2 -:108B000098850E94FCF687FD37C0F801E85CFE4EB0 -:108B100020E030E040E85FE36081718182819381F1 -:108B20000E94FFF8181644F5F401EE0FFF1FE05FF6 -:108B3000FE4E80819181019691838083880F991FD9 -:108B4000A816B906CCF428960FB6F894DEBF0FBE6F -:108B5000CDBFDF91CF911F910F91FF90EF90DF90EC -:108B6000CF90BF90AF909F908F907F906F905F90CD -:108B70004F903F902F90A6CE28960FB6F894DEBF68 -:108B80000FBECDBFDF91CF911F910F91FF90EF905E -:108B9000DF90CF90BF90AF909F908F907F906F901D -:108BA0005F904F903F902F9008952F923F924F9259 -:108BB0005F926F927F928F929F92AF92BF92CF926D -:108BC000DF92EF92FF920F931F93CF93DF93CDB776 -:108BD000DEB728970FB6F894DEBF0FBECDBF8091E9 -:108BE000F810882309F41CC210D96091D21070E0EB -:108BF00080E090E00E949EF76B017C01409006119E -:108C000050900711609008117090091160910E1139 -:108C100070910F11882777FD8095982F0E949EF7FD -:108C2000AB01BC01A12C9301820181E090E081DEC7 -:108C30008090061190900711A0900811B090091132 -:108C400000910E1110910F11B801882777FD8095C2 -:108C5000982F0E949EF7A50194010E9422F66B01B5 -:108C60007C016093E0107093E1108093E210909388 -:108C7000E31020E030E040E251E40E94FFF81816D3 -:108C800024F481E08093D710F7C020E030E040E288 -:108C900051ECC701B6010E94FCF687FD02C0012B12 -:108CA00021F481E08093D7100CC18091D7108823E4 -:108CB00051F01092F4101092F5101092F6101092DC -:108CC000F7101092D710209118023091190240919C -:108CD0001A0250911B02C701B6010E94D1F96983A3 -:108CE0007A838B839C836093EC107093ED10809358 -:108CF000EE109093EF102091F4103091F510409108 -:108D0000F6105091F710C701B6010E9423F62B010F -:108D10003C012090DC103090DD101091DE100091AD -:108D2000DF109101412F502F0E94FCF687FD14C0E7 -:108D30002090D8103090D9101091DA100091DB10EB -:108D40009101412F502FB201C3010E94FFF8181664 -:108D50001CF01201162D072DC101A12FB02F8093F9 -:108D6000F4109093F510A093F610B093F7102091A3 -:108D70001402309115024091160250911702B10170 -:108D8000812F902F0E94D1F96D837E838F839887E6 -:108D90006093E8107093E9108093EA109093EB10C1 -:108DA0002091F0103091F1104091F2105091F31099 -:108DB000C501B4010E9422F62091100230911102E7 -:108DC00040911202509113020E94D1F920ED3CEC27 -:108DD0004CE45DE30E94D1F92B013C0123E333E332 -:108DE00043E75FE36091E4107091E5108091E61035 -:108DF0009091E7100E94D1F99B01AC01C301B2012F -:108E00000E9423F62B013C016093E4107093E5105F -:108E10008093E6109093E7102D813E814F81588515 -:108E200069817A818B819C810E9423F6A301920142 -:108E30000E9422F62B013C0120E030E04FE753E492 -:108E40000E94FFF820E030E0A9011816E4F4C70101 -:108E5000B6010E94FFF818167CF4A7019601B10133 -:108E6000812F902F0E9422F66093F4107093F510DA -:108E70008093F6109093F710412C512C5FE7652EEC -:108E800053E4752E21C0C301B2010E94FCF687FF96 -:108E90001BC020E030E0A901C701B6010E94FCF62A -:108EA00087FF0FC0A7019601B101812F902F0E946B -:108EB00022F66093F4107093F5108093F61090935F -:108EC000F710412C512C32018092F0109092F11049 -:108ED000A092F210B092F3106091CA107091CB1072 -:108EE000882777FD8095982F0E949EF79B01AC0103 -:108EF000C501B4010E94FFF81816DCF46091080265 -:108F000070910902882777FD8095982F0E949EF71F -:108F10009B01AC01C501B4010E94FCF687FF09C0AA -:108F2000C301B2010E946BF7759567956093D210EB -:108F300002C01092D2100E9449F00091CE10109100 -:108F4000CF102091D0103091D110601B710B820B8B -:108F5000930B653C79408105910560F00E945B3F71 -:108F60000E9449F06093CE107093CF108093D01080 -:108F70009093D1100E9449F00091D3101091D41019 -:108F80002091D5103091D610601B710B820B930B82 -:108F9000683873418105910508F442C00E9449F088 -:108FA0006093D3107093D4108093D5109093D61003 -:108FB000C0900011D0900111E0900211F0900311C7 -:108FC00020E030E040E751E4C701B6010E94FFF81D -:108FD00018161CF520E030E046E153E4C701B60165 -:108FE0000E94FCF687FF19C060910C1170910D1161 -:108FF000882777FD8095982F0E949EF79B01AC01F2 -:10900000C701B6010E94FFF887FD03C01092FF1050 -:1090100007C08FE78093FF1003C01092FF10A59840 -:1090200028960FB6F894DEBF0FBECDBFDF91CF916B -:109030001F910F91FF90EF90DF90CF90BF90AF9076 -:109040009F908F907F906F905F904F903F902F9068 -:109050000895CF93C82F0E9416400E94046B81117F -:1090600034C0E7E1F2E59491992341F08091C0008A -:1090700085FFFCCF9093C6003196F5CF6C2F70E042 -:109080004AE050E089EF96E10E948DD08091C000C7 -:1090900085FFFCCF8AE08093C600EBE2F2E084918A -:1090A000882341F09091C00095FFFCCF8093C600CB -:1090B0003196F5CF8091C00085FFFCCF8AE0809388 -:1090C000C6008EE192E00E9441A3CF910C94AC6A5D -:1090D000CF93C82F0E9416400E94046B811134C0A8 -:1090E000E7E1F2E59491992341F08091C00085FF7A -:1090F000FCCF9093C6003196F5CF6C2F70E04AE01C -:1091000050E089EF96E10E948DD08091C00085FFEC -:10911000FCCF8AE08093C600E1EFF1E084918823E0 -:1091200041F09091C00095FFFCCF8093C60031962E -:10913000F5CF8091C00085FFFCCF8AE08093C60008 -:1091400084EE91E00E9441A3CF910C94AC6AA59863 -:109150000E94046B811125C0E7E1F2E58491882328 -:1091600041F09091C00095FFFCCF8093C6003196EE -:10917000F5CFEBEAF1E08491882341F09091C000B3 -:1091800095FFFCCF8093C6003196F5CF8091C0004B -:1091900085FFFCCF8AE08093C6008AE991E00E94B7 -:1091A00041A30C94AC6A1F920F920FB60F92112438 -:1091B0000BB60F920F931F932F933F934F935F9391 -:1091C0006F937F938F939F93AF93BF93CF93DF93CF -:1091D000EF93FF9380910702811112C08091D2100A -:1091E0008093C710882311F0759A01C075988091FB -:1091F000FF108093C610882311F0A59A01C0A5988E -:109200009091C71080910702981708F47598909173 -:10921000C61080910702981708F4A598809107025C -:109220008F5F8F77809307028091060290E08B30EA -:10923000910508F093C0FC01EE58FF4F0C9418FB09 -:1092400010927B0080E480937C0080917A0080649F -:1092500080937A000E944AA381E019C0209178008F -:10926000309179008091C2109091C310A091C410E8 -:10927000B091C510820F931FA11DB11D8093C21024 -:109280009093C310A093C410B093C51082E0809354 -:10929000060264C010927B0082E480937C0080917F -:1092A0007A00806480937A000E944AA383E0EFCF23 -:1092B00020917800309179008091BE109091BF107C -:1092C000A091C010B091C110820F931FA11DB11DBC -:1092D0008093BE109093BF10A093C010B093C110A4 -:1092E00084E0D5CF10927B0081E480937C00809154 -:1092F0007A00806480937A000E944AA385E0C7CFF9 -:1093000020917800309179008091BA109091BB1033 -:10931000A091BC10B091BD10820F931FA11DB11D73 -:109320008093BA109093BB10A093BC10B093BD1063 -:1093300086E0ADCF0E944AA387E0A9CF88E0A7CFFF -:109340000E944AA389E0A3CF109206028091B9102F -:109350008F5F8093B91002C0109206028091B910FD -:10936000803108F463C08091F810811110C08091A1 -:10937000C2109091C31090930B1180930A118091A9 -:10938000BE109091BF10909305118093041181E05D -:109390008093F8101092B9101092C2101092C3105E -:1093A0001092C4101092C5101092BA101092BB10F7 -:1093B0001092BC101092BD101092B5101092B61001 -:1093C0001092B7101092B8101092BE101092BF10E9 -:1093D0001092C0101092C11020910A1130910B11FF -:1093E0008091CC109091CD108217930714F080E0FB -:1093F00030DE20910A1130910B1180910A02909178 -:109400000B022817390714F080E062DE2091041166 -:10941000309105118091C8109091C910821793075F -:109420002CF010920D1110920C1191DE00E010E062 -:10943000E801CC0FDD1FC750DF4E888199811816D7 -:10944000190644F461E0802F0E9479DA88819981BD -:10945000019709C0892B49F060E0802F0E9479DADA -:10946000888199810196998388830F5F1F4F03300C -:109470001105F1F6FF91EF91DF91CF91BF91AF917F -:109480009F918F917F916F915F914F913F912F911C -:109490001F910F910F900BBE0F900FBE0F901F905A -:1094A00018952CEA35EC47E25EE30C94D1F92CEAEE -:1094B00035EC47E25EE30C9403F72CEA35EC47E227 -:1094C0005EE30C9403F72CEA35EC47E25EE30C9480 -:1094D000D1F9CF93DF93EC0160E08E810E94A2EF7F -:1094E00081E090E00E949CF061E08E810E94A2EFFA -:1094F00081E090E00E949CF060E08E810E94A2EFEB -:1095000084E690E0DF91CF910C949CF0CF92DF92B3 -:10951000EF92FF920F931F93CF93DF937C01C0E0F4 -:10952000D0E0C62ED12C87010C0F1D1F61E0F80181 -:1095300087810E9469EFB6010C2E02C07595679570 -:109540000A94E2F76170F80187810E94A2EF2196E8 -:10955000C430D10541F7C701DF91CF911F910F9121 -:10956000FF90EF90DF90CF90B4CFCF92DF92EF9249 -:10957000FF920F931F93CF93DF937C01C0E0D0E065 -:10958000C62ED12C87010C0F1D1F61E0F8018781C9 -:109590000E9469EFB6010C2E02C0759567950A947A -:1095A000E2F76170F80187810E94A2EF2196C8302E -:1095B000D10541F7C701DF91CF911F910F91FF9026 -:1095C000EF90DF90CF9085CF1F93CF93DF93EC0187 -:1095D000162F642F8C810E94A2EF8D818F3F19F08E -:1095E00060E00E94A2EF8F85612F84FF05C0CE014D -:1095F000DF91CF911F91B9CF70E084E075956795A9 -:109600008A95E1F7CE0182DF612FCE01DF91CF9104 -:109610001F917CCF40E0D8CF61E0FCDF80E496E092 -:109620000C949CF062E0F6DF80E496E00C949CF0F1 -:10963000CF93DF93CDB7DEB728970FB6F894DEBF90 -:109640000FBECDBF28E0EBE8FCE0DE0111960190F3 -:109650000D922A95E1F7FC012389421710F04FEF94 -:10966000420FFE013196E40FF11DE40FF11D208140 -:10967000260F2068622F28960FB6F894DEBF0FBE23 -:10968000CDBFDF91CF91C6CFFC016089262F24602A -:10969000208B6C60BFCFCF93DF93EC01423018F08A -:1096A0008F8588608F874B8B1C8A222329F041305D -:1096B00019F48F8584608F8780E593EC0E949CF07D -:1096C00060E08C810E94A2EF60E08E810E94A2EF98 -:1096D0008D818F3F19F060E00E94A2EF6F8564FDDD -:1096E00019C063E0CE0112DF84E991E10E949CF091 -:1096F00063E0CE010BDF84E991E10E949CF063E01E -:10970000CE0104DF86E990E00E949CF062E0CE0189 -:10971000FDDE13C06062CE017DDF84E991E10E942D -:109720009CF06F856062CE0175DF86E990E00E9453 -:109730009CF06F856062CE016DDF6F856062CE0147 -:1097400069DF8CE390E00E949CF084E0888BCE017E -:109750009BDF8CE390E00E949CF0CE015DDF88EB04 -:109760009BE00E949CF082E0898B66E0CE0152DF94 -:109770008CE390E0DF91CF910C949CF06F927F92FC -:109780008F92AF92CF92EF920F931F93CF93DF936D -:10979000CDB7DEB73C01162F842F5E854F85388903 -:1097A0009989F301848325830683E782C086A18695 -:1097B0008286538744873587968761E00E9469EFE8 -:1097C000F30185818F3F19F061E00E9469EF61E04C -:1097D000F30186810E9469EF112319F0F3011786C6 -:1097E00003C080E1F301878720E041E060E1C3012D -:1097F000DF91CF911F910F91EF90CF90AF908F900D -:109800007F906F9048CF8F92AF92CF92EF920F934D -:10981000DC0113961C921E921297E1E5FDE0ED9398 -:10982000FC931F921F921F921F928C2CAE2CC02E65 -:10983000E22E042F2FEF462F61E0A0DF0F900F9054 -:109840000F900F900F91EF90CF90AF908F90089561 -:10985000CF93DF93EC01423018F08F8588608F87BB -:109860004B8B1C8A222329F0413019F48F858460A8 -:109870008F8780E593EC0E949CF060E08C810E94D1 -:10988000A2EF60E08E810E94A2EF8D818F3F19F0E0 -:1098900060E00E94A2EF6F8564FD19C063E0CE0115 -:1098A00035DE84E991E10E949CF063E0CE012EDE7A -:1098B00084E991E10E949CF063E0CE0127DE86E915 -:1098C00090E00E949CF062E0CE0120DE13C0606256 -:1098D000CE01A0DE84E991E10E949CF06F85606278 -:1098E000CE0198DE86E990E00E949CF06F85606270 -:1098F000CE0190DE6F856062CE018CDE8CE390E05D -:109900000E949CF084E0888BCE01BEDE8CE390E068 -:109910000E949CF0CE0186DE80E496E00E949CF0DE -:1099200082E0898B66E0CE0175DE8CE390E00E94D8 -:109930009CF040E068E0CE017BDE6EE67EE0CE018A -:109940000E94B2F541E068E0CE0172DE6EE67EE094 -:10995000CE010E94B2F542E066E0CE0169DE6CE61F -:109960007EE0CE01DF91CF910C94B2F5CF92DF92E1 -:10997000EF92FF920F931F93CF93DF931F921F924B -:10998000CDB7DEB78C01677088E0689FB001112405 -:109990006064C80149835A833DDE4981C42E5A81DF -:1099A000D52EE12CF12CD6016D916D01D801ED91F0 -:1099B000FC910190F081E02DC8011995BFEFEB1AE1 -:1099C000FB0AE8E0EE16F10471F70F900F90DF91BB -:1099D000CF911F910F91FF90EF90DF90CF9008955E -:1099E00041E0F2DD81E090E008950F931F93CF9363 -:1099F000DF93EC018B0144E150E0BC0188E491E18C -:109A00000F942F00CE010F940E00992744E150E0EF -:109A1000481B590BB801885B9E4E0F942F0088E4B9 -:109A200091E1DF91CF911F910F910895AF92BF9275 -:109A3000CF92DF92EF92FF920F931F93CF93DF931A -:109A4000EC015B017A01690144E150E0BC0188E46A -:109A500091E10F942F00CE010F940E00EC01DD2751 -:109A600004E110E0A8014C1B5D0BB501CE01885B41 -:109A70009E4E0F942F00C5010F940E00C80FD91FE2 -:109A8000DD27A8014C1B5D0BB701CE01885B9E4E04 -:109A90000F942F00C7010F940E008C0F9D1F992764 -:109AA000A801481B590BB601885B9E4E0F942F00EE -:109AB00088E491E1DF91CF911F910F91FF90EF909A -:109AC000DF90CF90BF90AF9008952F923F924F922A -:109AD0005F926F927F928F929F92AF92BF92CF923E -:109AE000DF92EF92FF920F931F93CF93DF93CDB747 -:109AF000DEB7CF54D1090FB6F894DEBF0FBECDBF8D -:109B00001C017E8F6D8F4A012FAB09AF2896EFAEF7 -:109B100028972C96ACAEBDAECEAEDFAE2C9734E01F -:109B2000239F50011124FC01EA0DFB1D80819181CE -:109B3000A281B381898F9A8FAB8FBC8FDA01AA0D76 -:109B4000BB1DBCAFABAF4D905D906D907C90A30101 -:109B50009201698D7A8D8B8D9C8D0E9423F62196C2 -:109B60006CAF7DAF8EAF9FAF2197B4E00B9F8001AC -:109B70001124F101E00FF11F2081318142815381D5 -:109B80002F8F38A349A35AA3A401400F511F239636 -:109B90005FAF4EAF2397DA01CD90DD90ED90FC9052 -:109BA000A70196016F8D78A189A19AA10E9423F641 -:109BB00027966CAF7DAF8EAF9FAF27972896EFADFE -:109BC0002897B4E0EB9FC0011124F101E80FF91FC1 -:109BD00020813181428153812BA33CA34DA35EA3FD -:109BE000ED8DFE8DE80FF91F608171818281938177 -:109BF0000E9422F66FA378A789A79AA7AD8DBE8D84 -:109C00001C968D919D910D90BC91A02D60968CAF6E -:109C10009DAFAEAFBFAF6097D1011C962D913D9126 -:109C20004D915C911F972BA73CA74DA75EA7A30161 -:109C3000920150582D8B3E8B4F8B588FD701C60108 -:109C4000B058898B9A8BAB8BBC8BED8DFE8DEA0D5A -:109C5000FB1D20813181428153812FA738AB49AB55 -:109C60005AAB21962CAD3DAD4EAD5FAD21976FA5A2 -:109C700078A989A99AA90E9422F66B017C01ED8D31 -:109C8000FE8DE00FF11F80819181A281B3818BABAA -:109C90009CABADABBEAB27962CAD3DAD4EAD5FAD35 -:109CA0002797BC01CD010E9422F64B015C01A70160 -:109CB00096016D897E898F89988D0E94D1F92B013B -:109CC0003C01A501940169897A898B899C890E944C -:109CD000D1F99B01AC01C301B2010E9423F62B0113 -:109CE0003C01A50194016D897E898F89988D0E9420 -:109CF000D1F94B015C01A701960169897A898B89A9 -:109D00009C890E94D1F99B01AC01C501B4010E945C -:109D100022F6A30192010E9496F66B017C0120E0DD -:109D200030E0A9010E94FCF687FF0AC02BED3FE05E -:109D300049EC50E4C701B6010E9423F66B017C0197 -:109D4000AA968FADAA97882351F02BED3FE049ECFE -:109D500050E4C701B6010E9422F66B017C012FA5D9 -:109D600038A949A95AA9698D7A8D8B8D9C8D0E943D -:109D7000FCF681111FC02BA93CA94DA95EA96F8DCE -:109D800078A189A19AA10E94FCF6811113C020E05C -:109D900030E0A901C701B6010E94FCF681110AC09A -:109DA0002BED3FE049EC50E4C701B6010E9423F6D9 -:109DB0006B017C01A9962CAD3DAD4EAD5FADA99771 -:109DC000C701B6010E94D1F92FA138A549A55AA50E -:109DD0005F770E940CF94B015C012FE632E143E80A -:109DE0005AE30E94FCF687FDC8C1C501B4010E9478 -:109DF000D9F70E9470F77A8F698FDB01AB2B21F4C2 -:109E0000E1E0F0E0FA8FE98F298D3A8DB90180E029 -:109E100090E00E949CF74B015C019B01AC01C701E3 -:109E2000B6010E9403F72B013C01A50194016FA12B -:109E300078A589A59AA50E9403F76FA778AB89AB8F -:109E40009AAB2BA53CA54DA55EA560966CAD7DADEE -:109E50008EAD9FAD60970E9422F6A50194010E94ED -:109E600003F76BAB7CAB8DAB9EAB20E030E040E00A -:109E70005FE3C301B2010E94D1F9A30192010E94E4 -:109E8000D1F99B01AC0160E070E080E89FE30E94A3 -:109E900022F66FA378A789A79AA7CE010196FC01A5 -:109EA00028964FAD289734E0439FE00DF11D112413 -:109EB0002BA13CA14DA15EA120833183428353831A -:109EC0002BA53CA54DA55EA52D873E874F87588BBA -:109ED000B12C41E050E058A34F8F1C01BFA9A4E072 -:109EE000BA9F800D911D112498AF8FAB910159AD90 -:109EF00044E0549F200D311D11243AAF29AFFCA737 -:109F0000EBA74F8D58A1898D9A8D4817590708F0F6 -:109F10001AC188E18B150CF444C02FA138A549A5BE -:109F20005AA569897A898B899C890E94D1F96B012C -:109F30007C01A30192016D897E898F89988D0E9491 -:109F4000D1F9A70196010E9423F6A62E172F982E6D -:109F5000892E2FA138A549A55AA56D897E898F899B -:109F6000988D0E94D1F96B017C01A301920169894E -:109F70007A898B899C890E94D1F99B01AC01C70128 -:109F8000B6010E9422F66D8B7E8B8F8B988FB394D7 -:109F90008A2D912FA92DB82D898B9A8BAB8BBC8BD9 -:109FA0006CC0AF8DB8A1BD0180E090E00E949CF72D -:109FB000A30192010E94D1F96B017C010E9400F77C -:109FC000698B7A8B8B8B9C8BC701B6010E9434FA0C -:109FD0004B015C01EBADFCADC080D180E280F38031 -:109FE000F7FAF094F7F8F0942396AEADBFAD23974F -:109FF0002D913D914D915C912BA33CA34DA35EA36C -:10A0000029893A894B895C89C701B6010E94D1F937 -:10A010006D8B7E8B8F8B988FA50194016BA17CA19A -:10A020008DA19EA10E94D1F99B01AC016D897E8911 -:10A030008F89988D0E9423F66D8B7E8B8F8B988FE6 -:10A04000A5019401C701B6010E94D1F96B017C0101 -:10A0500029893A894B895C896BA17CA18DA19EA13C -:10A060000E94D1F99B01AC01C701B6010E9422F602 -:10A07000698B7A8B8B8B9C8BB12C2D893E894F8978 -:10A08000588D21966CAD7DAD8EAD9FAD21970E9410 -:10A0900023F6EFA9F8AD60837183828393832989C6 -:10A0A0003A894B895C8927966CAD7DAD8EAD9FADAD -:10A0B00027970E9423F6A9ADBAAD6D937D938D933A -:10A0C0009C9313972FA538A949A95AA9EBA5FCA5DC -:10A0D00060817181828193810E9423F6ABA5BCA52A -:10A0E0006D937D938D939C9313972BA93CA94DA9B8 -:10A0F0005EA96D857E858F8598890E9423F66D8780 -:10A100007E878F87988BC1010E949466FE01E65975 -:10A11000FF4F6F012C96ECACFDAC0EAD1FAD2C9734 -:10A120009E01235F3F4FAE01475F5F4FBE016B5FF4 -:10A130007F4FC1010E9474E12F8D38A12F5F3F4FE7 -:10A1400038A32F8FDECE2D8D3E8D245F3F4F4D8D5A -:10A150005E8D485F5F4F6D8D7E8D6C5F7F4FDE0142 -:10A16000A659BF4F6D012C96ECACFDAC0EAD1FADEA -:10A170002C978D8D9E8D0E9474E1C15BDF4F0FB6D1 -:10A18000F894DEBF0FBECDBFDF91CF911F910F912D -:10A19000FF90EF90DF90CF90BF90AF909F908F9007 -:10A1A0007F906F905F904F903F902F900895FC01AB -:10A1B000148217821382128283E99EE09183808346 -:10A1C000089523E93EE0FC01318320832781222387 -:10A1D00019F004960C948D340895CF92DF92EF928B -:10A1E000FF920F931F93CF93DF93EC01875B9F4FF9 -:10A1F000DEDFCE0186599F4FDADF7E0129E8E20ECD -:10A20000F11C87016E0131E4C31A3EEFD30AC80185 -:10A21000CEDF015E1F4F0C151D05C9F7FE01EF5380 -:10A22000FE4F89E1818314823596178ACE018C51C5 -:10A230009E4FBDDFFE01EB56FD4F10821182128250 -:10A240001382389610821182128213821A821B8224 -:10A25000188219826E0187E6C81A8DEFD80AF601B6 -:10A260001082118212821382F80111821082FE0183 -:10A27000ED5FFD4F108286E391E0F7019C011192A2 -:10A2800021503040E1F7FE01EF55FD4F81E0808322 -:10A29000C95BDF4F198218820E9449F068577C4ED3 -:10A2A0008F4F9F4FF6016083718382839383DF9189 -:10A2B000CF911F910F91FF90EF90DF90CF90089575 -:10A2C000FC0120E03EE2DB014C91403241F02830BD -:10A2D00011F430833196DB014C91408331962F5F2E -:10A2E0006F5F7F4F2B3079F7108208952F923F9246 -:10A2F0004F925F926F927F928F929F92AF92BF9296 -:10A30000CF92DF92EF92FF920F931F93CF93DF9341 -:10A31000CDB7DEB7CA58D1090FB6F894DEBF0FBE6D -:10A32000CDBF8C016B017A014901CA57DF4F1882FA -:10A33000C658D04084E0E80EF11C180191E1290EC6 -:10A34000311CF801EA5BFF4FC957DF4FF983E883FF -:10A35000C758D0403801FEE56F1AFDEF7F0A58015B -:10A360008CE5A81A8DEFB80A90E4492E512C4C0EBA -:10A370005D1E94E0490E511CA101BE016F5F7F4F2D -:10A38000C7010E94F73218160CF04AC12C85322FF3 -:10A390003871303109F0ACC0F301808191810197AF -:10A3A000029708F4A5C0BE016F5F7F4FCE018758AA -:10A3B0009F4F86DFA0961FAEA097F6018081811186 -:10A3C00007C065E57DE0CE01815A9F4F0F9488005C -:10A3D000B601CE01815A9F4F0F948800BE01675885 -:10A3E0007F4FCE01815A9F4F0F94880065E57DE035 -:10A3F000CE01815A9F4F0F948800CE01805C9F4F01 -:10A40000D6DE21E0AE0147585F4FB701C2010E947E -:10A410008436811147C0F30180819181892B09F035 -:10A4200041C0E1E1F2E58491882341F09091C000C0 -:10A4300095FFFCCF8093C6003196F5CFE09179135C -:10A44000F0E0EE0FFF1FE45EFD4F0190F081E02D84 -:10A45000E457FE4F0190F081E02D8191882339F07F -:10A460009091C00095FFFCCF8093C600F6CF8091FD -:10A47000C00085FFFCCF8AE08093C600FE01E7584C -:10A48000FF4F8191882339F09091C00095FFFCCF58 -:10A490008093C600F6CF8091C00085FFFCCF8AE094 -:10A4A0008093C6008BE1FE01EC5BFF4FDE019596C9 -:10A4B00001900D928A95E1F724968EAD9FAD249779 -:10A4C0009CA38BA383E99EE09AA389A320E030E0BC -:10A4D000AE014F5D5F4FBE01615A7F4FC80106DF7D -:10A4E000CE0181966EDECE01805C9F4F6ADE44CF46 -:10A4F0008981882309F494C08E3209F43DCF8F35C9 -:10A5000009F43ACFF80181898E3209F435CF8F35BD -:10A5100009F432CF23FD30CF81E0303109F080E003 -:10A52000C957DF4FE881F981C758D0408083811136 -:10A5300008C08985873409F01FCF8A858E3709F4D2 -:10A540001BCF98012C5F3F4FBE016F5F7F4FC9014A -:10A55000C757DF4F2883C958D040C657DF4F3883CD -:10A56000CA58D040ADDEF30180819181C757DF4FDB -:10A570002881C958D040C657DF4F3881CA58D040CB -:10A580000097F1F4F6018191882339F09091C00091 -:10A5900095FFFCCF8093C600F6CFF9018191882307 -:10A5A00039F09091C00095FFFCCF8093C600F6CFA4 -:10A5B0008091C00085FFFCCF8AE08093C600DCCE8E -:10A5C0008130910539F4F501808191810196918363 -:10A5D0008083D2CE029709F0CFCE8114910439F056 -:10A5E000B901C4010F947500892B71F419C0CA57C1 -:10A5F000DF4FF881C658D0402F2F30E0F501808121 -:10A6000091812817390761F0CA57DF4FF881C65882 -:10A61000D040FF5FCA57DF4FF883C658D040ACCE5A -:10A62000C657DF4F0FB6F894DEBF0FBECDBFDF9128 -:10A63000CF911F910F91FF90EF90DF90CF90BF903F -:10A64000AF909F908F907F906F905F904F903F90D2 -:10A650002F9008950F931F93CF93DF93CDB7DEB75D -:10A660006F970FB6F894DEBF0FBECDBF8C01FC0113 -:10A67000EE55FD4F1182108240E050E0BA01835B3D -:10A680009F4F0E94AA33C801875B9F4F2BE1FC01BB -:10A690003496DE01159601900D922A95E1F7FC01A2 -:10A6A000828193819C838B8383E99EE09A83898353 -:10A6B00020E030E0AE014F5F5F4F64E77EE0C8010D -:10A6C00015DECE0101967DDD6F960FB6F894DEBFE4 -:10A6D0000FBECDBFDF91CF911F910F9108952BE158 -:10A6E000FB013496DC01149601900D922A95E1F756 -:10A6F000FB0122813381FC01338322830895EF9291 -:10A70000FF920F931F93CF93DF93EC011B82FC0109 -:10A71000E05BFF4F8081882329F0CE01835B9F4F50 -:10A720000E948D347E018FE3E81A8EEFF80A45E32C -:10A7300060E0C7010E943B5F81112CC0E1E1F2E5BE -:10A740008491882341F09091C00095FFFCCF8093C5 -:10A75000C6003196F5CFE0917913F0E0EE0FFF1FC0 -:10A76000E45EFD4F0190F081E02DE257FE4F019035 -:10A77000F081E02D8491882341F09091C00095FFF5 -:10A78000FCCF8093C6003196F5CF8091C00085FF45 -:10A79000FCCF9EC08E010A531E4F41E0B701C80195 -:10A7A0000E945B3C811133C040E0B701C8010E94A8 -:10A7B0005B3C81112CC0E7E1F2E58491882341F0F4 -:10A7C0009091C00095FFFCCF8093C6003196F5CFE5 -:10A7D000E0917913F0E0EE0FFF1FE45EFD4F019072 -:10A7E000F081E02DE057FE4F0190F081E02D849143 -:10A7F000882341F09091C00095FFFCCF8093C60064 -:10A800003196F5CF8091C00085FFFCCF61C0B801C3 -:10A81000CE01835B9F4F0E949A3181112CC0E7E1EA -:10A82000F2E58491882341F09091C00095FFFCCF20 -:10A830008093C6003196F5CFE0917913F0E0EE0FEA -:10A84000FF1FE45EFD4F0190F081E02DEE56FE4FBC -:10A850000190F081E02D8491882341F09091C00017 -:10A8600095FFFCCF8093C6003196F5CF8091C00054 -:10A8700085FFFCCF2DC081E08B83E1E1F2E584917F -:10A88000882341F09091C00095FFFCCF8093C600D3 -:10A890003196F5CFE0917913F0E0EE0FFF1FE45E03 -:10A8A000FD4F0190F081E02DEC56FE4F0190F081BC -:10A8B000E02D8491882341F09091C00095FFFCCF5A -:10A8C0008093C6003196F5CF8091C00085FFFCCF04 -:10A8D0008AE08093C6008E01075B1F4FB801CE014E -:10A8E00086599F4FFCDEC859DF4F19830883DF91DB -:10A8F000CF911F910F91FF90EF900895FC0112826C -:10A9000013820895FC012381222311F021E0228388 -:10A910000895FC012281211112820895AF92BF9205 -:10A92000CF92DF92EF92FF920F931F93CF93DF931B -:10A930001F92CDB7DEB78C018FE2FB0181935F01DF -:10A94000D12C41E07801F1E4EF1AFEEFFF0A6FE14C -:10A95000C62E2D2D30E0F70180819181281739070F -:10A96000D8F4C29EC001C39E900D112483579F4FFF -:10A97000B501800F911F49830E944131C501498172 -:10A980005C010196F5012081222321F04D3810F45D -:10A990004F5FF6CFD394DDCF47FD11C0B501C8019D -:10A9A00088519E4F0F90DF91CF911F910F91FF9093 -:10A9B000EF90DF90CF90BF90AF900C944131F501B4 -:10A9C00010820F90DF91CF911F910F91FF90EF9028 -:10A9D000DF90CF90BF90AF9008953F924F925F92DB -:10A9E0006F927F928F929F92AF92BF92CF92DF929F -:10A9F000EF92FF920F931F93CF93DF93CDB7DEB704 -:10AA0000AC970FB6F894DEBF0FBECDBF7C015B01E3 -:10AA1000FC018381882309F408C1C70188519E4F36 -:10AA20000E948D34F7011282CE0101966C01BFDBCA -:10AA3000270198E6490E511CC701875B9F4FF20121 -:10AA400091838083F50180818F3209F084C06FE2A9 -:10AA500070E0C5010F9493008C010F5F1F4F7AE0E7 -:10AA6000372E0115110509F47CC06FE270E0C801B2 -:10AA70000F9493004C01009709F474C0081719074C -:10AA800008F070C03C01601A710AA301B801CE0140 -:10AA900080960F94BC00E0E2F0E0EC0FFD1FE60DA5 -:10AAA000F71D1082FE01B0968191882339F09091B4 -:10AAB000C00095FFFCCF8093C600F6CF8091C00008 -:10AAC00085FFFCCF3092C600F20160817181611573 -:10AAD000710519F06C5F7F4F02C060E070E021E00B -:10AAE000AE01405E5F4FCE0105960E948436811113 -:10AAF0002BC0E7E5FDE08491882341F09091C000F0 -:10AB000095FFFCCF8093C6003196F5CFFE01B0963D -:10AB10008191882339F09091C00095FFFCCF8093FC -:10AB2000C600F6CFEEE4FEE48491882341F09091D4 -:10AB3000C00095FFFCCF8093C6003196F5CF809181 -:10AB4000C00085FFFCCF6CC0F201D182C0828401BD -:10AB50000F5F1F4F86CFC70186599F4FF201918328 -:10AB600080838501F20180819181009711F0049624 -:10AB700002C080E090E0B8010E945A37882339F182 -:10AB8000E0E4FEE48491882341F09091C00095FFB9 -:10AB9000FCCF8093C6003196F5CFF80181918823D0 -:10ABA00039F09091C00095FFFCCF8093C600F6CF9E -:10ABB0008091C00085FFFCCF8AE08093C600F7013A -:10ABC000E356FD4F10821182128213822CC0E8E2FC -:10ABD000FEE48491882341F09091C00095FFFCCF62 -:10ABE0008093C6003196F5CFF8018191882339F022 -:10ABF0009091C00095FFFCCF8093C600F6CFE6E2AF -:10AC0000FEE48491882341F09091C00095FFFCCF31 -:10AC10008093C6003196F5CF8091C00085FFFCCFB0 -:10AC20008AE08093C600C601CCDAAC960FB6F894E1 -:10AC3000DEBF0FBECDBFDF91CF911F910F91FF906F -:10AC4000EF90DF90CF90BF90AF909F908F907F90CC -:10AC50006F905F904F903F9008958F929F92AF9228 -:10AC6000BF92CF92DF92EF92FF92CF93DF931F922A -:10AC7000CDB7DEB77C01FC018281882309F4BCC01A -:10AC800071968191882339F09091C00095FFFCCF97 -:10AC90008093C600F6CFE4E2FEE48491882341F07D -:10ACA0009091C00095FFFCCF8093C6003196F5CF00 -:10ACB000E0917913F0E0EE0FFF1FE45EFD4F01908D -:10ACC000F081E02DEE55FE4F0190F081E02D849152 -:10ACD000882341F09091C00095FFFCCF8093C6007F -:10ACE0003196F5CFF701E356FD4F408151816281E6 -:10ACF00073812AE030E089EF96E10E94B9D0E2E268 -:10AD0000FEE48491882341F09091C00095FFFCCF30 -:10AD10008093C6003196F5CFF701EB56FD4F408189 -:10AD20005181628173812AE030E089EF96E10E94CF -:10AD3000B9D08091C00085FFFCCF8AE08093C60027 -:10AD40000E9449F0E0E6CE2EEAEEDE2EE12CF12C58 -:10AD5000A70196010E94DAFA49015A01609169112E -:10AD600070916A1180916B1190916C11A7019601FD -:10AD70000E94DAFA821A930AC4016CE370E00E941E -:10AD8000B3FA6983CE0101960E94CDA4FC01219102 -:10AD9000CF01222339F03091C00035FFFCCF209342 -:10ADA000C600F4CF40E050E06AE389EF96E10E94EC -:10ADB00071D0C4016CE370E00E94B3FA8983CE01C4 -:10ADC00001960E94CDA4FC012191CF01222339F0EC -:10ADD0003091C00035FFFCCF2093C600F4CFE0E2F5 -:10ADE000FEE484918823E1F09091C00095FFFCCFB0 -:10ADF0008093C6003196F5CFEBE6FDE08491882381 -:10AE000041F09091C00095FFFCCF8093C600319631 -:10AE1000F5CF8091C00085FFFCCF8AE08093C6000B -:10AE20000F90DF91CF91FF90EF90DF90CF90BF9088 -:10AE3000AF909F908F900895AF92BF92CF92DF9284 -:10AE4000EF92FF920F931F93CF93DF935C01EB017F -:10AE5000FB0101900020E9F78F0101501109061B49 -:10AE6000170B6C01F8E1CF1AFEEFDF0AF601108232 -:10AE70006EE470E0CE010F9493007C01009729F4FA -:10AE8000F8013197EC0FFD1F0DC060E270E00F94E8 -:10AE90009300EC0121966AE270E0C7010F949300E1 -:10AEA000FC0131978DE081838AE082831382BE01A9 -:10AEB000C5018C519E4F0E9476D1F6018081882376 -:10AEC00071F1E7E1F2E58491882341F09091C000AF -:10AED00095FFFCCF8093C6003196F5CFE0917913B2 -:10AEE000F0E0EE0FFF1FE45EFD4F0190F081E02DDA -:10AEF000EA55FE4F0190F081E02D8491882341F0C6 -:10AF00009091C00095FFFCCF8093C6003196F5CF9D -:10AF10008091C00085FFFCCF8AE08093C600DF915E -:10AF2000CF911F910F91FF90EF90DF90CF90BF9046 -:10AF3000AF9008952F923F924F925F926F927F92BF -:10AF40008F929F92AF92BF92CF92DF92EF92FF9239 -:10AF50000F931F93CF93DF93CDB7DEB7CC55D109B5 -:10AF60000FB6F894DEBF0FBECDBF4C018C010F555C -:10AF70001D4F662339F0F8011082F401838181119D -:10AF80001DC015C0F8018081882309F4AFC0F40109 -:10AF9000E756FD4FC080D180E280F3800E9449F0E7 -:10AFA000C616D706E806F90608F4A0C0E4CFC40127 -:10AFB000A6DBF4018381882309F498C07401F7E4C7 -:10AFC000EF0EF11CF70181818F9380818F9387E1D0 -:10AFD0009EE49F938F938E01015C1F4F1F930F93ED -:10AFE0000F94CB000F900F900F900F900F900F9039 -:10AFF000B12CF80101900020E9F73197E01BF10B2B -:10B00000BE1684F46801CB0CD11CB7FCDA94F601AF -:10B010008081992787FD90950E94FFFFF60180832C -:10B02000B394E7CFFDE48F0E911C40E050E0BA01ED -:10B03000C4010E94AA33512CCE0101966C0180E11B -:10B04000682E8EE4782E5E0191E2A90EB11C40E0DC -:10B0500050E0B601C4010E94F7321816DCF5412C0D -:10B06000F60101900020E9F73197EC19FD094E1621 -:10B0700074F41601240C311C47FC3A94F1018081D0 -:10B0800090E00E94FFFFF10180834394E9CF8A851D -:10B090008E37E9F245E050E0B801C6010F94AE00EA -:10B0A000892BA9F61F930F937F926F92BF92AF9255 -:10B0B0000F94CB00C5010E943C628CE09EE40E948C -:10B0C000BC620F900F900F900F900F900F9055242F -:10B0D0005394BDCF511004C08FEF9FEFF70104C010 -:10B0E000F70180819181019691838083C45ADF4F5B -:10B0F0000FB6F894DEBF0FBECDBFDF91CF911F9189 -:10B100000F91FF90EF90DF90CF90BF90AF909F9006 -:10B110008F907F906F905F904F903F902F90089509 -:10B120000F931F93CF93DF93EC018C0108511E4FB7 -:10B13000C8010E944334C8010E948D3418821982CC -:10B14000DF91CF911F910F910895CF92DF92EF92EF -:10B15000FF920F931F93CF93DF93CDB7DEB76F9717 -:10B160000FB6F894DEBF0FBECDBF8C016A017C0123 -:10B1700088E6E80EF11CC80186599F4FF7019183BC -:10B180008083E65CFD4F22E030E0318320833296FD -:10B190007183608340E050E0BA0104960E94AA33B4 -:10B1A000F701808191812BE1FC013496DE01159637 -:10B1B00001900D922A95E1F7FC01828193819C8395 -:10B1C0008B8383E99EE09A8389839601AE014F5F6A -:10B1D0005F4F64E77EE0C80189D8CE0101960E94E6 -:10B1E000E1506F960FB6F894DEBF0FBECDBFDF9172 -:10B1F000CF911F910F91FF90EF90DF90CF90089526 -:10B200002F923F924F925F926F927F928F929F9276 -:10B21000AF92BF92CF92DF92EF92FF920F931F9364 -:10B22000CF93DF93CDB7DEB7AC970FB6F894DEBF00 -:10B230000FBECDBF8C016B01342EDC0113968C91B7 -:10B24000882309F449C3F801E551FE4F8081882322 -:10B2500009F4F5C02111C1C07801BDEFEB1AFB0A5A -:10B26000F7018081882361F1E7E1F2E58491882389 -:10B2700041F09091C00095FFFCCF8093C6003196BD -:10B28000F5CFE2EAFEE48491882341F09091C0007A -:10B2900095FFFCCF8093C6003196F5CF4AE050E091 -:10B2A00061E070E089EF96E10E948DD08091C0004E -:10B2B00085FFFCCF8AE08093C6000E944C6A0CC3D5 -:10B2C000E1E1F2E58491882341F09091C00095FF7F -:10B2D000FCCF8093C6003196F5CFE9E8FEE4849177 -:10B2E000882341F09091C00095FFFCCF8093C60069 -:10B2F0003196F5CFF6018191882339F09091C00005 -:10B3000095FFFCCF8093C600F6CFEEE7FEE4849174 -:10B31000882341F09091C00095FFFCCF8093C60038 -:10B320003196F5CFD7018C91FDE8BF2EB801B89EBC -:10B33000600D711D1124685F7D4FC801EFDAF701C0 -:10B340008081F801B89EE00DF11D1124E85FFD4FEA -:10B350008191882339F09091C00095FFFCCF8093B4 -:10B36000C600F6CFE8E7FEE48491882341F090918F -:10B37000C00095FFFCCF8093C6003196F5CF5801F1 -:10B38000F3E6AF1AFDEFBF0AD5014D915D916D91C6 -:10B390007C912AE030E089EF96E10E94B9D080915B -:10B3A000C00085FFFCCF8AE08093C600F7012081B2 -:10B3B000F80184E0289FE00DF11D1124EC5FFD4FA2 -:10B3C000D5014D915D916D917C9140835183628354 -:10B3D00073832F5FF70120832CC0E1E1F2E58491B4 -:10B3E000882341F09091C00095FFFCCF8093C60068 -:10B3F0003196F5CFE7E6FEE48491882341F0909101 -:10B40000C00095FFFCCF8093C6003196F5CFF601C2 -:10B410008191882339F09091C00095FFFCCF8093F3 -:10B42000C600F6CF8091C00085FFFCCF8AE08093F4 -:10B43000C600C80188519E4F0E948D3430C0F8016B -:10B44000ED5FFD4F1082E1E1F2E58491882341F048 -:10B450009091C00095FFFCCF8093C6003196F5CF48 -:10B46000E6E5FEE48491882341F09091C00095FFC9 -:10B47000FCCF8093C6003196F5CFF60181918823E9 -:10B4800039F09091C00095FFFCCF8093C600F6CFB5 -:10B490008091C00085FFFCCF8AE08093C600D80170 -:10B4A00012961C92FE0131965F01CF010E94D75087 -:10B4B0002801F8E64F0E511CC801875B9F4FD2014F -:10B4C0008D939C93F60180818F3209F091C06FE2D9 -:10B4D00070E0C6010F94930001967C01EAE02E2EE5 -:10B4E000E114F10409F48AC06FE270E0C7010F941F -:10B4F00093004C01009709F482C0E816F90608F0A1 -:10B500007EC03C016E187F08A301B701CE01809672 -:10B510000F94BC00E0E2F0E0EC0FFD1FE60DF71D1C -:10B520001082FE01B0968191882339F09091C0007D -:10B5300095FFFCCF8093C600F6CF8091C00085FFB9 -:10B54000FCCF2092C600D2016D917C9161157105EE -:10B5500019F06C5F7F4F02C060E070E021E0AE0147 -:10B56000405E5F4FCE0105960E948436811138C03F -:10B57000E0917913F0E0EE0FFF1FE45EFD4F0190C4 -:10B58000F081E02DE856FE4F0190F081E02D84918E -:10B59000882341F09091C00095FFFCCF8093C600B6 -:10B5A0003196F5CFFE01B0968191882339F09091C4 -:10B5B000C00095FFFCCF8093C600F6CFE4E5FEE423 -:10B5C0008491882341F09091C00095FFFCCF809337 -:10B5D000C6003196F5CF8091C00085FFFCCF43C1F6 -:10B5E000F201B182A0827401FFEFEF1AFF0A78CF57 -:10B5F000C80186599F4FD2018D939C937601F80123 -:10B60000E851FE4F4F01332009F4E5C0D2016D919E -:10B610007C916115710519F06C5F7F4F02C060E08D -:10B6200070E021E0A701C4010E94843620917913C3 -:10B63000882309F49AC0F40181899289A389B48985 -:10B64000F801EB56FD4F80839183A283B383E22FF1 -:10B65000F0E0EE0FFF1FE45EFD4F0190F081E02D62 -:10B66000E656FE4F0190F081E02D8491D801AB5653 -:10B67000BD4F882349F09091C00095FFFCCF809387 -:10B68000C60031968491F5CFF7018191882339F076 -:10B690009091C00095FFFCCF8093C600F6CFE0915B -:10B6A0007913F0E0EE0FFF1FE45EFD4F0190F08193 -:10B6B000E02DE456FE4F0190F081E02D8491882327 -:10B6C00041F09091C00095FFFCCF8093C600319669 -:10B6D000F5CF4D915D916D917C912AE030E089EF3D -:10B6E00096E10E94B9D08091C00085FFFCCF8AE02E -:10B6F0008093C600F801E356FD4F1082118212823A -:10B700001382E0917913F0E0EE0FFF1FE45EFD4F2E -:10B710000190F081E02DE256FE4F0190F081E02D86 -:10B720008491882341F09091C00095FFFCCF8093D5 -:10B73000C6003196F5CF8091C00085FFFCCF8AE02E -:10B740008093C600A70160E070E0C801FEDCD8016C -:10B7500051968C91882319F0C801419601C0C70108 -:10B760000E943AA188E79DE0B2C0E22FF0E0EE0F20 -:10B77000FF1FE45EFD4F0190F081E02DE856FE4F83 -:10B780000190F081E02D8491882341F09091C000D8 -:10B7900095FFFCCF8093C6003196F5CFF7018191DC -:10B7A000882339F09091C00095FFFCCF8093C600AC -:10B7B000F6CFE2E5FEE48491882341F09091C00049 -:10B7C00095FFFCCF8093C6003196F5CF8091C000E5 -:10B7D00085FFFCCF48C0F201608171816115710560 -:10B7E00019F06C5F7F4F02C060E070E026E5A701B2 -:10B7F000C4010E94843681113AC0E0917913F0E0CF -:10B80000EE0FFF1FE45EFD4F0190F081E02DE85642 -:10B81000FE4F0190F081E02D8491882341F09091BA -:10B82000C00095FFFCCF8093C6003196F5CFF7019D -:10B830008191882339F09091C00095FFFCCF8093CF -:10B84000C600F6CFE0E5FEE48491882341F09091B4 -:10B85000C00095FFFCCF8093C6003196F5CF809154 -:10B86000C00085FFFCCF8AE08093C60032C081E033 -:10B87000D8018C93E0917913F0E0EE0FFF1FE45EA6 -:10B88000FD4F0190F081E02DE056FE4F0190F081D8 -:10B89000E02D8491882341F09091C00095FFFCCF6A -:10B8A0008093C6003196F5CFF6018191882339F057 -:10B8B0009091C00095FFFCCF8093C600F6CF809199 -:10B8C000C00085FFFCCF8AE08093C600C7010E94BC -:10B8D0003AA1C5010E94E150AC960FB6F894DEBFC4 -:10B8E0000FBECDBFDF91CF911F910F91FF90EF90D1 -:10B8F000DF90CF90BF90AF909F908F907F906F9090 -:10B900005F904F903F902F90089521E0FC0121839C -:10B9100040E076CCCF92DF92EF92FF920F931F938D -:10B92000CF93DF93CDB7DEB76F970FB6F894DEBF36 -:10B930000FBECDBF8C016C0128E6C20ED11C86590A -:10B940009F4FF60191838083E65CFD4F21E030E05C -:10B95000318320837801FCE5EF1AFDEFFF0AF70140 -:10B960001182108240E050E0BA0104960E94AA338E -:10B97000F601808191812BE1FC013496DE01159660 -:10B9800001900D922A95E1F7FC01828193819C83BD -:10B990008B8383E99EE09A83898320E030E0AE01C7 -:10B9A0004F5F5F4F64E77EE0C8010E947651CE0191 -:10B9B00001960E94E150F701808191816F960FB648 -:10B9C000F894DEBF0FBECDBFDF91CF911F910F91D5 -:10B9D000FF90EF90DF90CF900895AF92BF92CF92FB -:10B9E000DF92EF92FF920F931F93CF93DF93CDB728 -:10B9F000DEB76F970FB6F894DEBF0FBECDBF8C01D8 -:10BA00007B01CE0101960E94D750F801EF58FF4FFD -:10BA100080816801811104C029E4C20ED11C03C0D9 -:10BA20008AE6C80ED11C21E0A701B6016C5F7F4FEA -:10BA3000CE0105960E94843681113AC0E1E1F2E51B -:10BA40008491882341F09091C00095FFFCCF8093B2 -:10BA5000C6003196F5CFE0917913F0E0EE0FFF1FAD -:10BA6000E45EFD4F0190F081E02DE855FE4F01901E -:10BA7000F081E02D8491882341F09091C00095FFE2 -:10BA8000FCCF8093C6003196F5CFF70181918823D2 -:10BA900039F09091C00095FFFCCF8093C600F6CF9F -:10BAA0008091C00085FFFCCF8AE08093C60036C03D -:10BAB000F801E154FE4F808191818A30910530F583 -:10BAC0009C012F5F3F4F318320832FE1289F70011E -:10BAD000299FF00C112429E8E20EF11CE00EF11E62 -:10BAE0005C01B701C7014F960E946F5381E0A81A0D -:10BAF000B1082FE1E21AF1088FEFA816B80689F70E -:10BB0000B601C80187579F4F0E946F53BE016F5FF8 -:10BB10007F4FC80186599F4F0E946F53CE010196F7 -:10BB20000E94E1506F960FB6F894DEBF0FBECDBFF6 -:10BB3000DF91CF911F910F91FF90EF90DF90CF9009 -:10BB4000BF90AF900895EF92FF920F931F93CF9302 -:10BB5000DF93EC01C154DE4F288139812115310575 -:10BB6000F9F021503109398328838C0107571F4F81 -:10BB7000B80186599F4F0E946F53C80100E010E042 -:10BB80007C012FE1E20EF11C288139810217130795 -:10BB900038F40F5F1F4FB7010E946F53C701F0CFFA -:10BBA000DF91CF911F910F91FF90EF900895EF9249 -:10BBB000FF920F931F93CF93DF93EC010E94E1D983 -:10BBC0008E010D5F1D4FF80180819E0128513E4F6F -:10BBD00079018823A1F1C9010E948D34F801808187 -:10BBE00081508083BE01FDE88F9F600D711D11247F -:10BBF000685F7D4F21E041E0CE0102DBF8018081EA -:10BC0000FE0124E0829FE00DF11D1124EC5FFD4F49 -:10BC10004081518162817381FE01E356FD4F408373 -:10BC2000518362837383C7010E94AA33CE01DF91DF -:10BC3000CF911F910F91FF90EF900C9482540E942E -:10BC400057DAC7010E948D341A8280E09EE4DF91AA -:10BC5000CF911F910F91FF90EF908EC48FEF8EBD0B -:10BC60000DB407FEFDCF8EB508958EBD0DB407FE51 -:10BC7000FDCF089561E0FC0180810C94A2EFFC01EE -:10BC80002281322F306A36953CBD20FD06C031E05E -:10BC9000263009F430E0232F01C020E02DBD60E004 -:10BCA000FC0180810C94A2EFCF92DF92EF92FF9281 -:10BCB0000F931F93CF93DF93EC018B017A010E94C6 -:10BCC00049F06B01CBDF8B838F3F49F40E9449F031 -:10BCD0006C197D096D327140A8F381E144C08E3F3B -:10BCE00011F08FE040C0E114F104D9F0C7010197D1 -:10BCF0002FEF2EBDF8014FEF9F01201B310B2817AE -:10BD0000390738F40DB407FEFDCF2EB521934EBD93 -:10BD1000F3CF0DB407FEFDCF2EB5F801E80FF91FE4 -:10BD20002083D801E00EF11EC12CD12CAE15BF0529 -:10BD300079F08D91ED2DFF27E827EE0FFF1FEB51D6 -:10BD4000F14B85919491DC2CCC24C826D926EECFDA -:10BD500085DF082F10E0102F002780DF082BC0168A -:10BD6000D10631F080E28983CE0184DF80E003C018 -:10BD7000CE0180DF81E0DF91CF911F910F91FF9085 -:10BD8000EF90DF90CF9008950F931F93CF93DF93A1 -:10BD9000EB010E9449F08B0161DF8F3F49F00E9467 -:10BDA00049F0601B710B6C177D07B0F380E001C098 -:10BDB00081E0DF91CF911F910F910895CF92DF9293 -:10BDC000FF920F931F93CF93DF9300D01F92CDB7B5 -:10BDD000DEB76C01F62E29833A834B835C834FDFF9 -:10BDE0006CE271E0C601D0DF8F2D80643EDF08E198 -:10BDF00010E05C814B813A812981DA01C901002E72 -:10BE000004C0B695A795979587950A94D2F729838C -:10BE10003A834B835C8329DF0850110929813A81D9 -:10BE20004B815C81083F8FEF180739F7FF2029F01D -:10BE3000E8E0FE1621F08FEF03C085E901C087E836 -:10BE400014DFFCE0FF1201C009DF10E007DFF6019C -:10BE5000838387FF04C01F3F11F01F5FF7CF0F9050 -:10BE60000F900F900F90DF91CF911F910F91FF9046 -:10BE7000DF90CF900895BF92CF92DF92EF92FF9222 -:10BE80000F931F93CF93DF93EC01B62E1C82198280 -:10BE900048830E9449F08B0161E088810E9469EF2C -:10BEA000CE01E8DE60E082E30E9469EF61E083E3B7 -:10BEB0000E9469EF61E084E30E9469EF61E085E33D -:10BEC0000E9469EF61E085E30E94A2EF85E08A832A -:10BED00082E58CBD1DBC6AE0F62E8FEFC6DEFA94BB -:10BEE000E1F720E030E0A90160E0CE0167DFF82E45 -:10BEF0008B8381E0F81649F00E9449F0601B710BBA -:10BF0000613D774070F381E046C02AEA31E040E0CD -:10BF100050E068E0CE0152DF82FF02C0FC820CC01C -:10BF200054E0F52E9BDE8B83FA94E1F78A3A11F008 -:10BF300082E031C082E08C838C81823031F4C12C6C -:10BF4000D12CE12C40E4F42E03C0C12CD12C76017D -:10BF500020E030E0A90167E3CE0130DFA7019601C0 -:10BF600069E2CE012BDF8B83882349F00E9449F0E0 -:10BF7000601B710B613D774058F38AE00CC08C81E7 -:10BF80008230B1F420E030E0A9016AE3CE0116DF8F -:10BF9000882329F088E08983CE016CDE14C05EDE40 -:10BFA000807C803C11F483E08C8358DE57DE56DEC3 -:10BFB000CE0160DE86E08B1518F488E1898303C02A -:10BFC000BA8281E001C080E0DF91CF911F910F9193 -:10BFD000FF90EF90DF90CF90BF900895AF92BF9207 -:10BFE000CF92DF92EF92FF920F931F93CF93DF9345 -:10BFF000EC016A017B0189018C81833039F0F9E021 -:10C00000CC0CDD1CEE1CFF1CFA95D1F773E0B72EAB -:10C01000E4E0AE2EBA94A701960161E1CE01CEDE36 -:10C02000882311F0A98207C040E052E0B801CE0198 -:10C030003BDE81110EC0CE01BB2049F01BDE20E0AB -:10C0400030E0A9016CE0CE01B9DE1982E3CF12DE47 -:10C0500080E0DF91CF911F910F91FF90EF90DF90E3 -:10C06000CF90BF90AF900895CF93DF93EC016EBD5A -:10C0700020E030E00DB407FEFDCFFA01E20FF31F20 -:10C0800080818EBD0DB407FEFDCF81818EBD2E5FF8 -:10C090003F4F211582E0380769F70DB407FEFDCF49 -:10C0A0008FEFE3DD8FEFE1DDD9DD8B838F7185309D -:10C0B00031F083E18983CE01DDDD80E001C081E0E4 -:10C0C000DF91CF9108950F931F93CF93DF93EC01EE -:10C0D00089018C81833039F0B9E0440F551F661F08 -:10C0E000771FBA95D1F79A01AB0168E1CE0166DE00 -:10C0F000882311F086E01EC0A8016EEFCE01B4DFE8 -:10C100008823C9F068E572E0CE013EDE182F811168 -:10C1100002C087E10FC020E030E0A9016DE0CE0150 -:10C120004DDE811106C09ADD811103C0CE01A2DD72 -:10C1300005C086E18983CE019DDD10E0812FDF916E -:10C14000CF911F910F910895FC0165917591859193 -:10C15000949108952F923F924F925F926F927F92A7 -:10C160008F929F92AF92BF92CF92DF92EF92FF9207 -:10C170000F931F93CF93DF9300D000D0CDB7DEB7DE -:10C180001C01FC01EE52FE4A14919C01220F331F48 -:10C19000220F331F3E832D83255A3C4E4901F9015E -:10C1A000108211821282138227E633E143E653E1C3 -:10C1B0006FE573E18BE593E10E9456EB8D819E81E3 -:10C1C0008F519E4AC1DF6B017C01612F772767FD8C -:10C1D0007095872F972F0E949EF72B013C012D8190 -:10C1E0003E812A5D3C4E590120E030E040EC5FE3A7 -:10C1F000C701B6010E94D1F9A30192010E94D1F9B1 -:10C20000F50160837183828393832D813E81255B59 -:10C21000334F3C832B83F90160817181828193814B -:10C2200060930D0C70930E0C80930F0C9093100C78 -:10C2300020E030E040E752E40E9403F727E4C22EFA -:10C2400023E1D22E7B018C0122E333E14EE253E164 -:10C250006AE273E186E293E10E9474E10E94E1D90F -:10C26000F401108211821282138227E633E143E641 -:10C2700053E16FE573E18BE593E10E9456EB2D816D -:10C280003E812B523E4A3A832983C9015DDF905893 -:10C29000A30192010E94D1F9F50160837183828329 -:10C2A000938320E030E040E752E460910D0C709100 -:10C2B0000E0C80910F0C9091100C0E9403F77B01E3 -:10C2C0008C0122E333E14EE253E16AE273E186E25C -:10C2D00093E10E9474E10E94E1D989819A8134DF5F -:10C2E0009B01AC010E9423F6A30192010E94D1F9A7 -:10C2F000F501608371838283938320E030E040E026 -:10C300005FE3EB81FC8160817181828193810E9476 -:10C31000D1F960930D0C70930E0C80930F0C9093D9 -:10C32000100C20E030E040E752E40E9403F77B016C -:10C330008C0122E333E14EE253E16AE273E186E2EB -:10C3400093E10E9474E10E94E1D98D819E81835125 -:10C350009E4AFADE0D811E81015B1C4EF801208190 -:10C360003181428153810E9423F6F40160837183FD -:10C37000828393838D819E818B5F9D4AE5DE2D8133 -:10C380003E81215D334F7901F80120813181428165 -:10C3900053810E9423F6F701608371838283938324 -:10C3A0008D819E8187509E4ACFDE2D813E812D5DFD -:10C3B000334F7901F80120813181428153810E94FC -:10C3C00023F6F7016083718382839383F401808174 -:10C3D0009181A281B381F50180839183A283B3838C -:10C3E00010920D0C10920E0C10920F0C1092100C5B -:10C3F0000E945AD2F101E45BFC4E81E080832696D4 -:10C400000FB6F894DEBF0FBECDBFDF91CF911F9165 -:10C410000F91FF90EF90DF90CF90BF90AF909F90E3 -:10C420008F907F906F905F904F903F902F900895E6 -:10C43000FC012491222341F03091C00035FFFCCF54 -:10C440002093C6000196F4CF22E030E089EF96E118 -:10C450000C9463D1FC012491222341F03091C0005F -:10C4600035FFFCCF2093C6000196F4CF2AE030E0E0 -:10C4700089EF96E10C94B9D020917B1130917C1119 -:10C48000243031050CF077C040917D1150917E1120 -:10C4900060E6649F9001659F300D1124BC01C901C5 -:10C4A0008B579E4E0F94A700E1E1F2E5849188231B -:10C4B00041F09091C00095FFFCCF8093C60031966B -:10C4C000F5CFE0917913F0E0EE0FFF1FE45EFD4F32 -:10C4D0000190F081E02DE45DFE4F0190F081E02DB0 -:10C4E0008491882341F09091C00095FFFCCF809308 -:10C4F000C6003196F5CF80917D1190917E1120E696 -:10C50000289FF001299FF00D1124EB57FE4E8191D9 -:10C51000882339F09091C00095FFFCCF8093C6002E -:10C52000F6CFE0EDF1E58491882341F09091C000D1 -:10C5300095FFFCCF8093C6003196F5CF8091C00067 -:10C5400085FFFCCF8AE08093C60080917D11909199 -:10C550007E11019664E070E00E94C7FA90937E110C -:10C5600080937D1180917B1190917C110196909325 -:10C570007C1180937B11089520917B1130917C1167 -:10C58000243031050CF077C040917D1150917E111F -:10C5900060E6649F9001659F300D1124BC01C901C4 -:10C5A0008B579E4E0F940700E1E1F2E584918823BA -:10C5B00041F09091C00095FFFCCF8093C60031966A -:10C5C000F5CFE0917913F0E0EE0FFF1FE45EFD4F31 -:10C5D0000190F081E02DE45DFE4F0190F081E02DAF -:10C5E0008491882341F09091C00095FFFCCF809307 -:10C5F000C6003196F5CF80917D1190917E1120E695 -:10C60000289FF001299FF00D1124EB57FE4E8191D8 -:10C61000882339F09091C00095FFFCCF8093C6002D -:10C62000F6CFEEECF1E58491882341F09091C000C3 -:10C6300095FFFCCF8093C6003196F5CF8091C00066 -:10C6400085FFFCCF8AE08093C60080917D11909198 -:10C650007E11019664E070E00E94C7FA90937E110B -:10C6600080937D1180917B1190917C110196909324 -:10C670007C1180937B1108959B9AA3980895FCDF09 -:10C6800040E052EC61E070E089EF96E10E9471CFEA -:10C69000E8ECF1E58491882341F09091C00095FF8A -:10C6A000FCCF8093C6003196F5CF8091C00085FF06 -:10C6B000FCCF8AE08093C60021E132E5F901849144 -:10C6C000882341F09091C00095FFFCCF8093C60075 -:10C6D0003196F5CF84B780FF20C0A0917913B0E0E8 -:10C6E000AA0FBB1FA45EBD4FED91FC91E25DFE4F12 -:10C6F0000190F081E02D9491992341F04091C00088 -:10C7000045FFFCCF9093C6003196F5CF9091C000C5 -:10C7100095FFFCCF9AE09093C60081FF20C0A091C6 -:10C720007913B0E0AA0FBB1FA45EBD4FED91FC9141 -:10C73000E05DFE4F0190F081E02D9491992341F04E -:10C740004091C00045FFFCCF9093C6003196F5CFD5 -:10C750009091C00095FFFCCF9AE09093C60082FFB5 -:10C7600020C0A0917913B0E0AA0FBB1FA45EBD4FFB -:10C77000ED91FC91EE5CFE4F0190F081E02D9491E3 -:10C78000992341F04091C00045FFFCCF9093C60033 -:10C790003196F5CF9091C00095FFFCCF9AE0909331 -:10C7A000C60083FF20C0A0917913B0E0AA0FBB1F81 -:10C7B000A45EBD4FED91FC91EC5CFE4F0190F081C9 -:10C7C000E02D9491992341F04091C00045FFFCCFAA -:10C7D0009093C6003196F5CF9091C00095FFFCCFA5 -:10C7E0009AE09093C60085FF20C0A0917913B0E035 -:10C7F000AA0FBB1FA45EBD4FED91FC91EA5CFE4FFA -:10C800000190F081E02D8491882341F09091C00047 -:10C8100095FFFCCF8093C6003196F5CF8091C00084 -:10C8200085FFFCCF8AE08093C60014BEF901849195 -:10C83000E1E1F2E5882349F09091C00095FFFCCF3B -:10C840008093C60031968491F5CFA0917913B0E022 -:10C85000AA0FBB1FA45EBD4FED91FC91E65CFE4F9D -:10C860000190F081E02D8491882341F09091C000E7 -:10C8700095FFFCCF8093C6003196F5CFE3EBF1E551 -:10C880008491882341F09091C00095FFFCCF809364 -:10C89000C6003196F5CFA0917913B0E0AA0FBB1F67 -:10C8A000A45EBD4FED91FC91E85CFE4F0190F081DC -:10C8B000E02D4491442341F05091C00055FFFCCF3E -:10C8C0004093C6003196F5CFECE9F1E584918823D9 -:10C8D00041F09091C00095FFFCCF8093C600319647 -:10C8E000F5CF8091C00085FFFCCF8AE08093C60021 -:10C8F000E1E9F1E58491882341F09091C00095FF32 -:10C90000FCCF8093C6003196F5CFE5E8F1E5849140 -:10C91000882341F09091C00095FFFCCF8093C60022 -:10C920003196F5CF8091C00085FFFCCF8AE08093DF -:10C93000C600F9012491E1E1F2E5222349F080915A -:10C94000C00085FFFCCF2093C60031962491F5CF1F -:10C95000E0917913F0E0EE0FFF1FE45EFD4F0190D0 -:10C96000F081E02DE45CFE4F0190F081E02D849198 -:10C97000882341F09091C00095FFFCCF8093C600C2 -:10C980003196F5CF0E9455DD4AE050E0BC0189EFB9 -:10C9900096E10E948DD0E0917913F0E0EE0FFF1F39 -:10C9A000E45EFD4F0190F081E02DE25CFE4F0190CE -:10C9B000F081E02D8491882341F09091C00095FF93 -:10C9C000FCCF8093C6003196F5CF4AE050E060ED91 -:10C9D00074E089EF96E10E948DD08091C00085FFC0 -:10C9E000FCCF8AE08093C6001092811110928211D0 -:10C9F00010928311109284110E9492CD0E9464C9FA -:10CA00000E94733F0E9424E10E9443DC0E94A8A37D -:10CA10008091000186FD29C0FFEF23ED80E3F150F6 -:10CA200020408040E1F700C000008091000186FDB9 -:10CA300025C0809101018460809301019FB7F89423 -:10CA4000809102018460809302019FBF0E9415A122 -:10CA50008091000186FFFCCF9FB7F894809102017E -:10CA60008B7F809302019FBF08959FEFE3EDF0E37A -:10CA70009150E040F040E1F700C00000089580913F -:10CA800075119091761160E070E001960C945EFD56 -:10CA900080917511909176114AE050E060E070E06D -:10CAA00001960C94C6FE682F772767FD709520913C -:10CAB0007F113091801140E6429FC001439F900D4D -:10CAC00011248B579E4E0F94930090937611809370 -:10CAD000751121E0892B09F420E0822F08950E942E -:10CAE00049F0609371117093721180937311909358 -:10CAF000741108950E9449F060937111709372113E -:10CB00008093731190937411E0917F11F0918011D3 -:10CB1000EF57FE4E8081811121C0E0917913F0E042 -:10CB2000EE0FFF1FE45EFD4F0190F081E02DE05C11 -:10CB3000FE4F0190F081E02D8491882341F0909187 -:10CB4000C00095FFFCCF8093C6003196F5CF809151 -:10CB5000C00085FFFCCF8AE08093C600089589EF6E -:10CB600096E10E94C3CFE0917913F0E0EE0FFF1F32 -:10CB7000E45EFD4F0190F081E02DE059FE4F019001 -:10CB8000F081E02D8491882341F09091C00095FFC1 -:10CB9000FCCF8093C6003196F5CF40910A13509197 -:10CBA0000B1360910C1370910D134F5F5F4F6F4F1C -:10CBB0007F4F2AE030E089EF96E10E9462D08091B9 -:10CBC000C00085FFFCCF8AE08093C60093CF8F9290 -:10CBD0009F92AF92BF92CF92DF92EF92FF920F930C -:10CBE0001F93CF93DF93B4E0EB2EBEE0FB2E0BE55B -:10CBF00013E1C6E2D3E182E8C82E83E1D82EF70123 -:10CC000081917F0150DF882311F139DF4B015C01F5 -:10CC1000F6018081811103C06091051301C061E0BC -:10CC200070E080E090E00E949EF7F8012081318161 -:10CC3000428153810E94D1F99B01AC01C501B4012D -:10CC40000E9423F6688379838A839B8309C0F80155 -:10CC500080819181A281B38188839983AA83BB83D8 -:10CC60000C5F1F4F2496FFEFCF1ADF0A88E0E8160B -:10CC70008EE0F80621F686E416DF8823D1F0FFDE89 -:10CC80006B017C0160931613709317138093181334 -:10CC90009093191320E030E0A9010E94FFF81816C4 -:10CCA00044F4C0920D0CD0920E0CE0920F0CF09256 -:10CCB000100CDF91CF911F910F91FF90EF90DF90BB -:10CCC000CF90BF90AF909F908F90089580DF89E4C0 -:10CCD000EADE882351F0D3DE60931A1370931B139E -:10CCE00080931C1390931D1308C010921A13109276 -:10CCF0001B1310921C1310921D138AE4D4DE882398 -:10CD000051F0BDDE60931E1370931F1380932013A8 -:10CD100090932113089510921E1310921F131092D6 -:10CD20002013109221130895CF92DF92EF92FF9279 -:10CD3000CF93DF93EC01C0902F0CD090300CE0909B -:10CD4000310CF090320CA7019601688179818A81BB -:10CD50009B810E94FCF687FF04C0C882D982EA82C8 -:10CD6000FB82C090330CD090340CE090350CF090E6 -:10CD7000360CA70196016C817D818E819F810E9476 -:10CD8000FCF687FF04C0CC82DD82EE82FF8220E0C9 -:10CD900030E0A9016091370C7091380C8091390C0A -:10CDA00090913A0C0E9423F66B017C019B01AC012F -:10CDB000688579858A859B850E94FCF687FF04C07B -:10CDC000C886D986EA86FB86C090230CD090240CB6 -:10CDD000E090250CF090260CA701960168817981DE -:10CDE0008A819B810E94FFF8181624F4C882D98298 -:10CDF000EA82FB82C090270CD090280CE090290C8E -:10CE0000F0902A0CA70196016C817D818E819F8113 -:10CE10000E94FFF8181624F4CC82DD82EE82FF8295 -:10CE2000C0902B0CD0902C0CE0902D0CF0902E0C80 -:10CE3000A7019601688579858A859B850E94FFF800 -:10CE4000181624F4C886D986EA86FB86DF91CF912E -:10CE5000FF90EF90DF90CF900895CF92DF92EF9206 -:10CE6000FF920F931F9386E293E15EDF0E9449F0E9 -:10CE70006093711170937211809373119093741178 -:10CE80002091261330912713409128135091291394 -:10CE900060915B1370915C1380915D1390915E13B0 -:10CEA0000E94FCF6811179C020912A1330912B1336 -:10CEB00040912C1350912D1360915F13709160136A -:10CEC00080916113909162130E94FCF6811165C0FC -:10CED00020E030E040E752E460910D0C70910E0CC0 -:10CEE00080910F0C9091100C0E9403F727E4C22E42 -:10CEF00023E1D22E7B018C0122E333E14EE253E1A8 -:10CF00006AE273E186E293E10E9474E18091261364 -:10CF100090912713A0912813B091291380935B134C -:10CF200090935C13A0935D13B0935E1380912A13CA -:10CF300090912B13A0912C13B0912D1380935F131C -:10CF400090936013A0936113B093621380912E139A -:10CF500090912F13A0913013B091311380936313EC -:10CF600090936413A0936513B0936613809132136A -:10CF700090913313A0913413B091351380936713BC -:10CF800090936813A0936913B0936A131F910F9144 -:10CF9000FF90EF90DF90CF9008956091490C7091D1 -:10CFA0004A0C882777FD8095982F0E949EF7209144 -:10CFB0000D0C30910E0C40910F0C5091100C0E94F2 -:10CFC000D1F920E030E040E752E40E9403F720E08E -:10CFD00030E048EC52E488CFCF92DF92EF92FF929C -:10CFE000CF93C62FE0914713F0E0882309F4C2C025 -:10CFF000DF01AD5BBC4E8C91811196C180915B13BA -:10D0000090915C13A0915D13B0915E1380932613F1 -:10D0100090932713A0932813B093291380915F1343 -:10D0200090916013A0916113B091621380932A13C1 -:10D0300090932B13A0932C13B0932D138091631313 -:10D0400090916413A0916513B091661380932E1391 -:10D0500090932F13A0933013B0933113C0906713A4 -:10D06000D0906813E0906913F0906A13C092321365 -:10D07000D0923313E0923413F0923513EE0FFF1F6A -:10D08000EE0FFF1FE55CF34F208131814281538118 -:10D09000662349F060911B0C70911C0C80911D0C53 -:10D0A00090911E0C08C060911F0C7091200C809113 -:10D0B000210C9091220C0E9403F79B01AC01C70147 -:10D0C000B6010E9423F660936713709368138093F0 -:10D0D000691390936A1387E693E10E94FBEBC0907B -:10D0E0000D0CD0900E0CE0900F0CF090100C20E086 -:10D0F00030E040E752E46091170C7091180C809179 -:10D10000190C90911A0C0E94D1F960930D0C709338 -:10D110000E0C80930F0C9093100CE0914713F0E0ED -:10D12000ED5BFC4E81E0808398DE20913F133091CF -:10D1300040134091411350914213609163137091D9 -:10D14000641380916513909166130E9422F6609398 -:10D15000631370936413809365139093661327E6AB -:10D1600033E143E653E16FE573E18BE593E10E9420 -:10D1700056EBD1C0ED5BFC4E8081882309F4D4C00E -:10D1800080915B1390915C13A0915D13B0915E133D -:10D190008093261390932713A0932813B0932913F9 -:10D1A00080915F1390916013A0916113B09162130D -:10D1B00080932A1390932B13A0932C13B0932D13C9 -:10D1C000609163137091641380916513909166135D -:10D1D00060932E1370932F13809330139093311319 -:10D1E000C0906713D0906813E0906913F0906A13B1 -:10D1F000C0923213D0923313E0923413F09235136D -:10D2000020913F13309140134091411350914213AC -:10D210000E9423F6609363137093641380936513E5 -:10D220009093661327E633E143E653E16FE573E13C -:10D230008BE593E10E9456EBF0904713CC2389F0E5 -:10D2400020913713309138134091391350913A138C -:10D2500060911B0C70911C0C80911D0C90911E0C08 -:10D2600010C020913B1330913C1340913D135091DD -:10D270003E1360911F0C7091200C8091210C9091B5 -:10D28000220C0E9423F624E0F29EF0011124E55CBA -:10D29000F34F20813181428153810E9403F79B012A -:10D2A000AC0160916713709168138091691390913C -:10D2B0006A130E9422F66093671370936813809339 -:10D2C000691390936A1387E693E10E94FBEBC09089 -:10D2D0000D0CD0900E0CE0900F0CF090100C20E094 -:10D2E00030E040E752E46091130C7091140C80918F -:10D2F000150C9091160C0E94D1F960930D0C70934F -:10D300000E0C80930F0C9093100CE0914713F0E0FB -:10D31000ED5BFC4E1082A1DDC0920D0CD0920E0C84 -:10D32000E0920F0CF092100CCF91FF90EF90DF90F5 -:10D33000CF900895AF92BF92CF92DF92EF92FF927B -:10D340000F931F93CF93DF93D82F20911E1330910B -:10D350001F13409120135091211360911A13709163 -:10D360001B1380911C1390911D130E940CF9C62F62 -:10D37000172F082FF92E6091490C70914A0C8827BD -:10D3800077FD8095982F0E949EF720910D0C30918B -:10D390000E0C40910F0C5091100C0E94D1F920E01E -:10D3A00030E040E752E40E9403F720E030E048EC30 -:10D3B00052E40E9403F7209147132F93DF93FF92CB -:10D3C0000F931F93CF935B016C0142E0E42E01E0C9 -:10D3D00020E04AE153E166E273E18BE593E10E94CC -:10D3E000654D8091261390912713A0912813B09139 -:10D3F000291380935B1390935C13A0935D13B093F8 -:10D400005E1380912A1390912B13A0912C13B0914D -:10D410002D1380935F1390936013A0936113B093C7 -:10D42000621380912E1390912F13A0913013B0911D -:10D4300031138093631390936413A0936513B09397 -:10D4400066138091321390913313A0913413B091ED -:10D4500035138093671390936813A0936913B09367 -:10D460006A130E9449F06093711170937211809356 -:10D470007311909374110F900F900F900F900F9065 -:10D480000F90DF91CF911F910F91FF90EF90DF9060 -:10D49000CF90BF90AF900895F8940E941640179ACD -:10D4A00010924C13169A10924D13159A10924E1317 -:10D4B000149A60E087E40E9469EFE7E1F2E5849165 -:10D4C000882341F09091C00095FFFCCF8093C60067 -:10D4D0003196F5CFE0917913F0E0EE0FFF1FE45E97 -:10D4E000FD4F0190F081E02DE459FE4F0190F08155 -:10D4F000E02D8491882341F09091C00095FFFCCFEE -:10D500008093C6003196F5CF8091C00085FFFCCF97 -:10D510008AE08093C600E0917913F0E0EE0FFF1FE0 -:10D52000E45EFD4F0190F081E02DE653FF4F8081D6 -:10D5300091810E9441A37894C6E0D0E02197209782 -:10D5400049F068EC70E080E090E00E9478F00E9482 -:10D55000E3A3F4CFF894FFCF0E94164080915F11AF -:10D56000811151C081E080935F1180910A139091E5 -:10D570000B13A0910C13B0910D138093061390938D -:10D580000713A0930813B0930913E7E1F2E5849120 -:10D59000882341F09091C00095FFFCCF8093C60096 -:10D5A0003196F5CFE0917913F0E0EE0FFF1FE45EC6 -:10D5B000FD4F0190F081E02DE259FE4F0190F08186 -:10D5C000E02D8491882341F09091C00095FFFCCF1D -:10D5D0008093C6003196F5CF8091C00085FFFCCFC7 -:10D5E0008AE08093C600E0917913F0E0EE0FFF1F10 -:10D5F000E45EFD4F0190F081E02DE453FF4F808108 -:10D6000091810C9447A1089580915F110895CF9363 -:10D61000DF93EC01809147138093601184E543DA36 -:10D62000811102C080E0B7C02ADA0E9470F76093CF -:10D6300060116623B9F3E1E1F2E58491882341F0BA -:10D640009091C00095FFFCCF8093C6003196F5CF36 -:10D65000CD36D10509F454C0BCF4C836D10561F10A -:10D66000C936D10509F087C0E0917913F0E0EE0FDB -:10D67000FF1FE45EFD4F0190F081E02DEC5AFE4F5C -:10D680000190F081E02D38C0CA3DD10509F451C0A8 -:10D69000CD3DD10509F06FC0E0917913F0E0EE0FB8 -:10D6A000FF1FE45EFD4F0190F081E02DE65AFE4F32 -:10D6B0000190F081E02D5CC0E0917913F0E0EE0F75 -:10D6C000FF1FE45EFD4F0190F081E02DEE5AFE4F0A -:10D6D0000190F081E02D8191882309F44CC0909154 -:10D6E000C00095FFFCCF8093C600F5CF9091C0009D -:10D6F00095FFFCCF8093C60081918111F7CF3BC08D -:10D70000E0917913F0E0EE0FFF1FE45EFD4F019012 -:10D71000F081E02DE25AFE4F0190F081E02D8191E1 -:10D72000882349F19091C00095FFFCCF8093C600FB -:10D73000F6CFE0917913F0E0EE0FFF1FE45EFD4FAE -:10D740000190F081E02DE85AFE4F0190F081E02D2C -:10D750008191882381F09091C00095FFFCCF809348 -:10D76000C600F6CF9091C00095FFFCCF8093C60015 -:10D7700081918111F7CF40E050E06091601189EF15 -:10D7800096E10E94C4D08091C00085FFFCCF8AE062 -:10D790008093C60081E0DF91CF9108954F925F9210 -:10D7A0006F927F928F929F92AF92BF92CF92DF92B1 -:10D7B000EF92FF92CF93DF9300D01F92CDB7DEB7E9 -:10D7C0002B013C0129833A834B835C838DEE9FE0E0 -:10D7D0000F94E7028F3F01F58EEE9FE00F94E70272 -:10D7E0008F3FD1F48FEE9FE00F94E7028F3FA1F4BB -:10D7F00080EF9FE00F94E7028F3F71F440E050E02C -:10D80000BA018DEE9FE00F94F40240E050E0BA01BF -:10D8100081EF9FE00F94F40281EF9FE00F94EF02FD -:10D820004B015C018DEE9FE00F94EF026B017C01D8 -:10D8300069817A818B819C812CE330E040E050E06B -:10D840000E94DAFAC20ED31EE41EF51EB701A6012D -:10D850008DEE9FE00F94F402C301B20128EE33E095 -:10D8600040E050E00E94DAFABA01A901480D591DC2 -:10D870006A1D7B1D81EF9FE00F94F40210927513D7 -:10D880001092761310927713109278130F900F90D6 -:10D890000F900F90DF91CF91FF90EF90DF90CF909E -:10D8A000BF90AF909F908F907F906F905F904F90C0 -:10D8B00008952F923F924F925F926F927F928F9234 -:10D8C0009F92AF92BF92CF92DF92EF92FF920F930F -:10D8D0001F93CF93DF93CDB7DEB76E970FB6F89453 -:10D8E000DEBF0FBECDBF80E6B82E94E0E92EF12C4E -:10D8F0002AE0922E3AE0C32ED12CAA24A394809140 -:10D900007A1790917B1720917C1730917D17821B9D -:10D91000930B8F779927892B39F080917B11909108 -:10D920007C1104970CF448C080918E13882309F46D -:10D93000E7C38091781190917911892B09F0E0C3A8 -:10D9400080917B1190917C11892B11F410925D11C3 -:10D9500048EE242E43E0342E412C512C5CE3852EDE -:10D96000912CA12CB12C8E010F5F1F4F30E6632E3E -:10D97000772473944091291650912A1660912B16A2 -:10D9800070912C168091211690912216A091231649 -:10D99000B0912416481759076A077B0708F0B0C3EF -:10D9A00080917B1190917C1104970CF0A9C3809118 -:10D9B0005D118111A5C36FC289EF96E10E94A7CFC7 -:10D9C00080937A1120917811309179118A3061F029 -:10D9D0008D3051F08A3321F490917711992321F001 -:10D9E0002F3531050CF450C12115310509F46AC1F8 -:10D9F00080917D1190917E11B89E3001B99E700C7E -:10DA00001124F301E20FF31FEB57FE4E1082209119 -:10DA10007711211134C110927711FC01EF57FE4E9E -:10DA2000108283010B571E4E6EE470E0C8010F9404 -:10DA300093000097F1F19093761180937511801BFC -:10DA4000910B860D971D4AE050E060E070E08A5728 -:10DA50009E4E0E94C6FE60930E1370930F13809328 -:10DA600010139093111340900A1350900B13609071 -:10DA70000C1370900D132FEF421A520A620A720AA9 -:10DA800000917D1110917E1164157505860597052D -:10DA900009F41BC1B09EC001B19E900D11246CE72A -:10DAA00071E58B579E4E0F943E00892B09F00DC1F6 -:10DAB000B8C16AE270E0C8010F949300892B09F4A1 -:10DAC00051C0E7E1F2E58491882341F09091C000D4 -:10DAD00095FFFCCF8093C6003196F5CFE091791386 -:10DAE000F0E0EE0FFF1FE45EFD4F0190F081E02DAE -:10DAF000E65BFE4F0190F081E02D8491882341F098 -:10DB00009091C00095FFFCCF8093C6003196F5CF71 -:10DB100040910A1350910B1360910C1370910D13E7 -:10DB20002AE030E089EF96E10E9462D08091C00047 -:10DB300085FFFCCF8AE08093C60010927911109285 -:10DB40007811DEC280910E1390910F13A0911013E3 -:10DB5000B091111380930A1390930B13A0930C139D -:10DB6000B0930D1360907D1170907E11B69C800172 -:10DB7000B79C100D11240B571E4E67E470E0C801CE -:10DB80000F949300009709F456C0909376118093F8 -:10DB9000751120918E13211106C0D0927D13C09271 -:10DBA0007C13A0927F13801B910BB69C9001B79CB5 -:10DBB000300D1124820F931F60E070E08A579E4E53 -:10DBC0000E945EFD0E946BF764307105A0F58091A4 -:10DBD0005F11882381F1E0917913F0E0EE0FFF1FD0 -:10DBE000E45EFD4F0190F081E02DE259FE4F01907F -:10DBF000F081E02D8491882341F09091C00095FF41 -:10DC0000FCCF8093C6003196F5CF8091C00085FF90 -:10DC1000FCCF9092C600E0917913F0E0EE0FFF1F69 -:10DC2000E45EFD4F0190F081E02DE453FF4F8081D1 -:10DC300091810E9447A100917D1110917E11B09EAB -:10DC4000C001B19E900D11246DE87DE08B579E4E72 -:10DC50000F949E00892B09F41FDCC8010196B701BF -:10DC60000E94C7FA90937E1180937D1180917B1161 -:10DC700090917C11019690937C1180937B1110926E -:10DC80007911109278113BCE8B3311F4A092771159 -:10DC900090917711911133CE40917D1150917E1169 -:10DCA000B9016F5F7F4F7093791160937811B49EC3 -:10DCB000F001B59EF00D1124E20FF31FEB57FE4E5D -:10DCC00080831DCE109277111BC2B09E3001B19E91 -:10DCD000700C1124C3018B579E4E1C016AE270E048 -:10DCE0000F949300009709F03FC0E7E1F2E58491BB -:10DCF000882341F09091C00095FFFCCF8093C6002F -:10DD00003196F5CFE0917913F0E0EE0FFF1FE45E5E -:10DD1000FD4F0190F081E02DE85BFE4F0190F08116 -:10DD2000E02D8491882341F09091C00095FFFCCFB5 -:10DD30008093C6003196F5CF40910A1350910B1392 -:10DD400060910C1370910D132AE030E089EF96E199 -:10DD50000E9462D08091C00085FFFCCF8AE0809352 -:10DD6000C6000E94AF65E9CE20E010E0F301E20FAB -:10DD7000F11DEB57FE4E30813A3219F02F5F132719 -:10DD8000F5CF909376118093751182199309860DC2 -:10DD9000971D60E070E08A579E4E0E945EFD0E94D3 -:10DDA0006BF7212F30E02617370709F4CBCEE7E1D8 -:10DDB000F2E58491882341F09091C00095FFFCCF5B -:10DDC0008093C6003196F5CFE0917913F0E0EE0F25 -:10DDD000FF1FE45EFD4F0190F081E02DEA5BFE4FF6 -:10DDE0000190F081E02D8491882341F09091C00052 -:10DDF00095FFFCCF8093C6003196F5CF40910A1372 -:10DE000050910B1360910C1370910D132AE030E0C8 -:10DE100089EF96E10E9462D08091C00085FFFCCF1F -:10DE20009DCFE7E1F2E58491882341F09091C00015 -:10DE300095FFFCCF8093C6003196F5CFE091791322 -:10DE4000F0E0EE0FFF1FE45EFD4F0190F081E02D4A -:10DE5000EC5BFE4F0190F081E02D8491882341F02E -:10DE60009091C00095FFFCCF8093C6003196F5CF0E -:10DE700040910A1350910B1360910C1370910D1384 -:10DE80002AE030E089EF96E10E9462D08091C000E4 -:10DE900085FFFCCF63CF80917C1590917D15A0917B -:10DEA0007E15B0917F158093291690932A16A09322 -:10DEB0002B16B0932C1684E795E10E94E132482F8F -:10DEC00080937A118A30B9F04D30A9F0433229F4A9 -:10DED00020917711222379F002C04A33C9F32091AF -:10DEE0007811309179112F3531052CF48F3F5FEF88 -:10DEF000950709F0E7C04091291650912A166091C4 -:10DF00002B1670912C168091211690912216A091BB -:10DF10002316B0912416481759076A077B0708F49F -:10DF200097C0E0917913F0E0EE0FFF1FE45EFD4F24 -:10DF30000190F081E02DE45BFE4F0190F081E02D37 -:10DF40008491882341F09091C00095FFFCCF80938D -:10DF5000C6003196F5CF8091C00085FFFCCF8AE0E6 -:10DF60008093C6000E9449F060936511709366111A -:10DF70008093671190936811C0906911D0906A11D5 -:10DF8000E0906B11F0906C116C197D098E099F095E -:10DF9000A20191010E94DAFA69017A016091751378 -:10DFA000709176138091771390917813F7DBC70106 -:10DFB000B601A50194010E94DAFACA01B901A501CE -:10DFC00094010E94DAFA7F936F93C701B60120E1B2 -:10DFD0003EE040E050E00E94DAFA3F932F93A8E63B -:10DFE000B1E5BF93AF931F930F930F94CB00E1E183 -:10DFF000F2E584910FB6F894DEBF0FBECDBF882343 -:10E0000049F09091C00095FFFCCF8093C6003196F7 -:10E010008491F5CFF8018191882339F09091C00067 -:10E0200095FFFCCF8093C600F6CF8091C00085FF9E -:10E03000FCCF3AE03093C600C8010E943AA18CE8B8 -:10E0400093E10E94D75D61E08CE893E10E949A57CA -:10E0500080917A11833211F470925D1120917811C0 -:10E06000309179112115310509F42CCE80917D1163 -:10E0700090917E11689EF001699EF00D1124E20FCF -:10E08000F31FEB57FE4E1082FC01EF57FE4E7082DD -:10E0900020917B1130917C112F5F3F4F30937C1189 -:10E0A00020937B11019664E070E00E94C7FA909380 -:10E0B0007E1180937D111092771110927911109238 -:10E0C000781158CC4B3311F470927711409177113D -:10E0D00041114CCC40917D1150917E11B9016F5F7F -:10E0E0007F4F7093791160937811649EF001659E63 -:10E0F000F00D1124E20FF31FEB57FE4E80833ACC54 -:10E100006E960FB6F894DEBF0FBECDBFDF91CF91F4 -:10E110001F910F91FF90EF90DF90CF90BF90AF9045 -:10E120009F908F907F906F905F904F903F902F9037 -:10E130000895CF92DF92EF92FF920F931F93CF93A8 -:10E14000C82F80917B1190917C1103970CF4B1DB67 -:10E150000E9449F000916D1110916E1120916F1184 -:10E1600030917011C0907111D0907211E0907311C4 -:10E17000F09074116C197D098E099F090617170715 -:10E180002807390728F4012B022B032B09F084D927 -:10E190004091090C50910A0C60910B0C70910C0C81 -:10E1A000452B462B472B19F10E9449F00091711124 -:10E1B000109172112091731130917411601B710BC9 -:10E1C000820B930B0091090C10910A0C20910B0CFF -:10E1D00030910C0C061717072807390740F4909167 -:10E1E000CB178091CA17981302C0CC2349F0CF9166 -:10E1F0001F910F91FF90EF90DF90CF900C9458E11A -:10E20000179A10924C13169A10924D13159A109259 -:10E210004E13149AECCFCF92DF92EF92FF9220919F -:10E220006B132223F1F020E030E040E05FE30E9436 -:10E23000D1F96B017C0120E030E0A9010E94FCF6DD -:10E24000882379F0A7019601C701B6010E94D1F990 -:10E250002BED3FE049E450E40E94D1F99B01AC0171 -:10E2600004C020E030E040E85FE360E070E080E878 -:10E270009FE30E9403F7FF90EF90DF90CF90089507 -:10E2800060913F0C7091400C8091410C9091420C38 -:10E29000C2DF60933B0C70933C0C80933D0C9093D9 -:10E2A0003E0C08953F924F925F926F927F928F92B1 -:10E2B0009F92AF92BF92CF92DF92EF92FF920F9315 -:10E2C0001F93CF93DF93CDB7DEB7E9970FB6F894DE -:10E2D000DEBF0FBECDBF81E40E945365882309F4E1 -:10E2E00055C082E70E9453658823A9F0E2E9FDE06A -:10E2F0008191882339F09091C00095FFFCCF8093E5 -:10E30000C600F6CF8091C00085FFFCCF8AE08093E5 -:10E31000C6000C94BB8986E70E9453658823A9F048 -:10E32000E8E9FDE08191882339F09091C00095FFE4 -:10E33000FCCF8093C600F6CF8091C00085FFFCCF54 -:10E340008AE08093C6000C94BB8987E60E945365DF -:10E35000882321F00E9415A10C94BB898AE70E94B2 -:10E360005365882341F060E070E088EF9FE00E94F1 -:10E37000859C0C94BB898CE60E945365882311F41C -:10E380000C94BB890E94AC9C0C94BB8987E40E94CE -:10E390005365882309F4EAC10E943F650E946BF728 -:10E3A0006A30710509F4F1C09CF46230710509F41A -:10E3B00080C024F477FF25C00C94BB8963307105BD -:10E3C00009F483C06430710509F48BC00C94BB89D7 -:10E3D0006A35710509F476C154F46B30710509F49E -:10E3E000DAC06C31710509F4DCC00C94BB896B3563 -:10E3F000710509F46BC16C35710509F46CC10C949D -:10E40000BB8980915F1181110C94BB890E94E765E3 -:10E4100060917513709176138091771390917813B2 -:10E420000E949CF76B017C01209167133091681367 -:10E430004091691350916A136091321370913313B4 -:10E4400080913413909135130E9422F620E030E041 -:10E4500048EC52E40E94D1F99B01AC01C701B6011E -:10E460000E9423F60E9470F76093751370937613E1 -:10E470008093771390937813809144138823A9F0A5 -:10E4800088E50E945365811110C089E50E9453659B -:10E4900081110BC08AE50E945365811106C085E495 -:10E4A0000E94536581110C94BE890E942D670C94C3 -:10E4B000BB8980915F1181110C94BB890E946666B3 -:10E4C00081E00E949A690C94BB8980915F1181114F -:10E4D0000C94BB890E94666680E00E949A690C9445 -:10E4E000BB89E0917913F0E0EE0FFF1FE45EFD4F72 -:10E4F0000190F081E02DE054FF4F808191810E94D6 -:10E5000047A180E50E945365882339F00E943F654A -:10E510000E9470F74B015C0103C0812C912C5401C7 -:10E5200083E50E945365882361F00E943F6520E0E7 -:10E5300030E04AE754E40E94D1F90E9470F74B01A1 -:10E540005C010E94E1D90E9449F06B017C01C80C7A -:10E55000D91CEA1CFB1C0E9449F060937111709356 -:10E56000721180937311909374110E9449F06C158D -:10E570007D058E059F0510F00C94BB890E94D54542 -:10E5800080E0D7DD0E94E3A3F0CF60E081E00E944D -:10E59000EC670C94BB8960E080E00E94EC670C940F -:10E5A000BB8910927E1380910D0C90910E0CA0915E -:10E5B0000F0CB091100C8093121390931313A0932F -:10E5C0001413B09315138091490C90914A0C9093B9 -:10E5D00081138093801384E690E090934A0C80939B -:10E5E000490C0E9449F060937111709372118093ED -:10E5F00073119093741181E00E9461D280915B133A -:10E6000090915C13A0915D13B0915E1380932613DB -:10E6100090932713A0932813B093291380915F132D -:10E6200090916013A0916113B091621380932A13AB -:10E6300090932B13A0932C13B0932D1380916313FD -:10E6400090916413A0916513B091661380932E137B -:10E6500090932F13A0933013B093311380916713CD -:10E6600090916813A0916913B0916A13809332134B -:10E6700090933313A0933413B093351310920D0C71 -:10E6800010920E0C10920F0C1092100C88E50E9444 -:10E690005365882311F090E00AC089E50E94536514 -:10E6A0008111F9CF8AE50E94536591E098279093F4 -:10E6B000110C992311F40C94ED8981E080937E1361 -:10E6C0000C94A78A109205130C94BB8981E0809367 -:10E6D00005130C94BB8985E40E945365811102C027 -:10E6E0000E94E1D904E0C02E0EE0D02E8FE4E82E87 -:10E6F00083E1F82E0BE513E1B12CF60181916F0156 -:10E700000E945365882339F1F3E0BF120CC00E94C8 -:10E710003F65F801608371838283938387E693E189 -:10E720000E94FBEB18C00E943F65F70120813181F8 -:10E73000428153810E9423F6F801608371838283B2 -:10E74000938327E633E143E653E16FE573E18BE51D -:10E7500093E10E9456EBB394F4E0EF0EF11C0C5FD2 -:10E760001F4F24E0B212C9CF0C94BB898DE40E94E4 -:10E770005365882311F40C94C2880E943F650E945F -:10E780006BF76537710511F40C94C77C0CF0D0C0A1 -:10E790006032710509F44EC30CF071C06731710528 -:10E7A00009F4A3C20CF044C06231710511F40C9459 -:10E7B000EB7B1CF577FF02C00C94BB8962307105BE -:10E7C0000CF498C16131710511F00C94BB89E09192 -:10E7D0007913F0E0EE0FFF1FE45EFD4F0190F08132 -:10E7E000E02DE853FF4F808191810E9447A1179847 -:10E7F0001698159814980C94BB896531710509F425 -:10E8000068C20CF06CC26431710511F00C94BB89C4 -:10E81000E0917913F0E0EE0FFF1FE45EFD4F0190F1 -:10E82000F081E02DE25BFE4F0190F081E02D20C2EF -:10E830006B31710509F485C2B4F46931710509F4CD -:10E840006CC20CF070C28CE893E10E9482540E946A -:10E8500049F06093691170936A1180936B119093E2 -:10E860006C110C94BB896E31710509F4A5C20CF0D2 -:10E870007DC36C31710509F46AC20C94BB896C3597 -:10E88000710509F4F6C7ECF46235710509F49AC70D -:10E8900064F46035710509F44DC70CF062C76A3243 -:10E8A000710509F4C1C30C94BB896435710509F481 -:10E8B00092C70CF48BC76535710509F4BFC70C947A -:10E8C000BB896B36710509F42FC764F4693671058D -:10E8D00009F422C40CF0F8C66836710509F4EBC3DC -:10E8E0000C94BB896037710509F403C434F46D36A8 -:10E8F000710509F41EC50C94BB896237710511F4CA -:10E900000C94DB7C6337710511F00C94BB89E091AA -:10E910007913F0E0EE0FFF1FE45EFD4F0190F081F0 -:10E92000E02DE859FE4F0190F081E02D0C94C27C5F -:10E93000623E710511F40C9429820CF05FC06B3CAF -:10E94000710511F40C946880ACF56C38710509F40C -:10E95000D2C304F56837710511F40C94C87D69378A -:10E96000710511F40C94CD7D6737710511F00C948D -:10E97000BB89E0917913F0E0EE0FFF1FE45EFD4FDD -:10E980000190F081E02DEC57FE4F0190F081E02DD9 -:10E990000C94D97D683C710511F40C94C57F693CD9 -:10E9A000710511F40C9447806E3B710511F00C94C5 -:10E9B000BB895BC56F3C710511F40C94258154F43F -:10E9C0006D3C710511F40C94A78014F40C948580AF -:10E9D0000C940781613D710511F40C94848114F449 -:10E9E0000C945C816C3D710511F40C94F4816D3DC7 -:10E9F000710511F40C9403820C94BB89653F31E0DE -:10EA0000730711F40C94D68354F56F3291E07907B3 -:10EA100011F40C949B8384F46D32F1E07F0711F4C0 -:10EA20000C94BA8214F00C948D836C32714011F402 -:10EA30000C9484820C94BB896F3581E0780711F4C3 -:10EA40000C946688603991E0790711F40C94D383B3 -:10EA50006E35714011F00C94BB890C942F88683589 -:10EA6000F2E07F0711F40C941E85A4F4673F31E0B7 -:10EA7000730711F40C94DE8314F40C94DB836D3F64 -:10EA8000714011F00C94BB890E9415A1E1E1F2E5FF -:10EA90000C94E8836B38E3E07E0711F40C9409884A -:10EAA0003CF46335734011F40C94F9830C94BB89E6 -:10EAB000603A33E0730709F426C2673E734011F0F1 -:10EAC0000C94BB8910925F110E9447A3809106139A -:10EAD00090910713A0910813B091091380930A1322 -:10EAE00090930B13A0930C13B0930D130E94AF657A -:10EAF0000C94BB8900917511109176110E5F1F4F18 -:10EB000080E50E945365882379F00E943F650E944A -:10EB100070F76B017C01BB24B3946115710581050D -:10EB2000910531F4B12C04C0B12CC12CD12C76014B -:10EB300083E50E945365882399F00E943F6520E099 -:10EB400030E04AE754E40E94D1F90E9470F76B016B -:10EB50007C01AA24A394611571058105910509F42E -:10EB6000A12C6AE270E0C8010F949300009711F0A5 -:10EB7000FC011082F801CF0121912032E1F3B110A4 -:10EB800007C0A11005C0222319F00E943AA110C0AD -:10EB9000E0917913F0E0EE0FFF1FE45EFD4F01906E -:10EBA000F081E02DEE53FF4F808191810E9447A1BB -:10EBB00081E00E941AA10E94E1D90E9449F060936D -:10EBC0007111709372118093731190937411C11429 -:10EBD000D104E104F104A9F00E9449F04B015C0169 -:10EBE0008C0C9D1CAE1CBF1C0E9449F06815790559 -:10EBF0008A059B05B8F40E94C7A4811113C00C9428 -:10EC0000B68A0E94C5A4882311F40C94BB890E9483 -:10EC1000C7A481110AC00E94D54580E08ADA0E940B -:10EC2000E3A3F5CF80E00E941AA180918E13E091BA -:10EC30007913F0E0EE0FFF1FE45EFD4F0190F081CD -:10EC4000E02D882341F0EC53FF4F808191810E9499 -:10EC500047A10C94BB89808191810E9447A10C94AB -:10EC6000BB899091C00095FFFCCF8093C600319680 -:10EC700084918111F6CF8091C00085FFFCCF8AE09E -:10EC80008093C6008CE893E10E942A53E0917913A7 -:10EC9000F0E0EE0FFF1FE45EFD4F0190F081E02DEC -:10ECA000E05BFE4F0190F081E02D8491882341F0DC -:10ECB0009091C00095FFFCCF8093C6003196F5CFB0 -:10ECC0008091C00085FFFCCF8AE08093C6000C9441 -:10ECD000BB898CE893E10E947F530C94BB898CE83C -:10ECE00093E10E947E540C94BB89009175111091A0 -:10ECF00076110C5F1F4F6AE270E0C8010F94930019 -:10ED0000009711F0FC01108221E041E0B8018CE88D -:10ED100093E10E9400590C94BB898CE893E10E9416 -:10ED200089540C94BB8980918F13882311F40C941F -:10ED3000BB8983E50E94536581110C94BF8A0C94B2 -:10ED4000BB898CE893E10E942D560C94BB8980917D -:10ED50007511909176116AE270E004960F94930019 -:10ED60008C010097D9F020917F113091801140E6FD -:10ED7000429FC001439F900D11246EE470E08B57B9 -:10ED80009E4E0F94930060E270E00F949300019602 -:10ED90009093761180937511F8011082609175112E -:10EDA000709176116C5F7F4F21E040E08CE893E139 -:10EDB0000E9400590C94BB8980918F13882311F411 -:10EDC0000C94BB8960E08CE893E10E94905880919C -:10EDD0007511909176116AE270E004960F94930099 -:10EDE0008C010097D9F020917F113091801140E67D -:10EDF000429FC001439F900D11246EE470E08B5739 -:10EE00009E4E0F94930060E270E00F949300019681 -:10EE10009093761180937511F801108260917511AD -:10EE2000709176116C5F7F4F8CE893E10E94ED54F6 -:10EE30000C94BB8980918E1381110E94E1D90091BD -:10EE40007511109176110C5F1F4F6AE270E0C801D6 -:10EE50000F9493007C0161E270E0C8010F9493006D -:10EE6000009719F08C010F5F1F4FE114F10411F0AE -:10EE7000F701108280E50E945365F82E20917511EC -:10EE8000309176110217130708F4F12C80918F133B -:10EE9000882311F40C94BB8921E02F2541E0B801AF -:10EEA0008CE893E10E94005983E50E945365882312 -:10EEB000B9F020917511309176112017310780F447 -:10EEC0000E944865AB01BC014093291650932A1655 -:10EED00060932B1670932C1684E795E10E94AA3359 -:10EEE0008CE893E10E948254F1100C94BB890E943B -:10EEF00049F06093691170936A1180936B1190933C -:10EF00006C110C94BB8980917511909176116AE215 -:10EF100070E005960F9493008C010097D9F0209132 -:10EF20007F113091801140E6429FC001439F900DB8 -:10EF300011246EE470E08B579E4E0F94930060E2B4 -:10EF400070E00F9493000196909376118093751161 -:10EF5000F801108260917511709176116B5F7F4F8F -:10EF60008CE893E10E94855C0C94BB890E9449F077 -:10EF70006093651170936611809367119093681187 -:10EF80000091691110916A1120916B1130916C11EF -:10EF9000601B710B820B930B28EE33E040E050E0D6 -:10EFA0000E94DAFACA01B9012CE330E040E050E0F7 -:10EFB0000E94DAFA7F936F933F932F9389E591E54F -:10EFC0009F938F93CE0101969F938F930F94CB00C5 -:10EFD000E1E1F2E584910FB6F894DEBF0FBECDBF3C -:10EFE000882349F09091C00095FFFCCF8093C60024 -:10EFF00031968491F5CFFE0131968191882339F0C5 -:10F000009091C00095FFFCCF8093C600F6CF809111 -:10F01000C00085FFFCCF8AE08093C600CE01019638 -:10F020000E943AA10C94BB8983E50E945365882312 -:10F0300011F40C94BB890E943F650E946BF7F62E79 -:10F04000E72E862F9E2D8C0180E50E945365882334 -:10F0500031F00F3F110509F010F40C94D08A0DE047 -:10F0600010E0ECECFDE0819191918017910711F493 -:10F070000C94BB893EE0E430F307A9F70830110592 -:10F0800039F48F2D9E2D909346138093451304C021 -:10F0900017FF02C00C94BB8961E0802F0E9469EFCA -:10F0A0006F2D802F0E94A2EF6F2D7E2D802F0E944A -:10F0B0005FEE0C94BB8988E690E00E94076B81119B -:10F0C0000C94BB8983E50E945365882371F00091FD -:10F0D00060110E943F6510E0000F111F025F1E4E7D -:10F0E0000E946BF7F801718360830E9415400C94B5 -:10F0F000BB890E944C6A83E50E945365882311F402 -:10F100000C94BB890E943F650E946BF770930D11B0 -:10F1100060930C110C94BB8989E690E00E94076B08 -:10F1200081110C94BB89E3E5F1E58491882341F0DA -:10F130009091C00095FFFCCF8093C6003196F5CF2B -:10F14000E091601124E0E29FF0011124EA5FFE4E9D -:10F15000408151816281738121E030E089EF96E145 -:10F160000E9463D1E0E5F1E58491882341F090911C -:10F17000C00095FFFCCF8093C6003196F5CFE0919B -:10F180006011F0E0EE0FFF1FE25FFE4E60817181C3 -:10F19000882777FD8095982F0E949EF7AB01BC01D0 -:10F1A00021E030E089EF96E10E9463D1ECE4F1E5E3 -:10F1B0008491882341F09091C00095FFFCCF80930B -:10F1C000C6003196F5CF4091001150910111609128 -:10F1D00002117091031121E030E089EF96E10E9465 -:10F1E00063D1E9E4F1E58491882341F09091C00076 -:10F1F00095FFFCCF8093C6003196F5CF60910C113E -:10F2000070910D11882777FD8095982F0E949EF7A9 -:10F21000AB01BC0121E030E089EF96E10E9463D1AF -:10F22000E6E4F1E58491882341F09091C00095FFD8 -:10F23000FCCF8093C6003196F5CF4AE050E060E005 -:10F2400070E089EF96E10E948DD0E4E4F1E58491CD -:10F25000882341F09091C00095FFFCCF8093C600B9 -:10F260003196F5CF40910611509107116091081128 -:10F270007091091121E030E089EF96E10E9463D19D -:10F28000E1E4F1E58491882341F09091C00095FF7D -:10F29000FCCF8093C6003196F5CF60910E1170912E -:10F2A0000F11882777FD8095982F0E949EF7AB015C -:10F2B000BC0121E030E089EF96E10E9463D1EDE3EB -:10F2C000F1E58491882341F09091C00095FFFCCF37 -:10F2D0008093C6003196F5CF8091601190E00E9436 -:10F2E0003D3F4AE050E0BC0189EF96E10E948DD09D -:10F2F000E8E3F1E58491882341F09091C00095FF07 -:10F30000FCCF8093C6003196F5CF8FEF9FEF0E9420 -:10F310003D3F4AE050E0BC0189EF96E10E948DD06C -:10F320008091C00085FFFCCF8AE08093C6000C94DA -:10F330003E8C8DE690E00E94076B81110C94BB8996 -:10F34000E0917913F0E0EE0FFF1FE45EFD4F0190B6 -:10F35000F081E02DE05AFE4F808191810E9447A10B -:10F3600081E090E0909374138093731383E50E947F -:10F370005365882391F0009160110E943F6510E071 -:10F38000000F111F025F1E4E0E946BF7F801718380 -:10F39000608381E08093080C15C082E50E9453656C -:10F3A000882381F0009160110E943F6510E0000FFA -:10F3B000111F025F1E4E0E946BF7F801718360837C -:10F3C0001092080C0E9415400E9449F04B015C010C -:10F3D0000091601110E0F801EE0FFF1FE25FFE4E9A -:10F3E00060817181882777FD8095982F0E949EF714 -:10F3F000F801EE0FFF1FEE0FFF1FEA5FFE4E11E058 -:10F4000020813181428153810E94FFF818160CF04F -:10F4100010E010935E1110923613CC24CA94DC2CA9 -:10F42000760148EE442E43E0542E612C712C5AE0B4 -:10F43000352E8091361381110C94D78AFFEFCF16A9 -:10F44000DF06EF06FF0611F40C94028BF7FE02C0F4 -:10F450000C94D78A0E9449F06C197D09683B7B4067 -:10F4600010F40C94028B0C94D78AE0917913F0E09D -:10F47000EE0FFF1FE45EFD4F0190F081E02DEC598F -:10F48000FE4F808191810E9447A183E090E090939C -:10F4900074138093731383E50E945365882361F08E -:10F4A0000E943F650E946BF770930D1160930C11E1 -:10F4B00081E08093080C0FC082E50E945365882389 -:10F4C00051F00E943F650E946BF770930D1160939D -:10F4D0000C111092080C0E9449F04B015C01109233 -:10F4E000361360910C1170910D11882777FD80956E -:10F4F000982F0E949EF711E0209100113091011188 -:10F5000040910211509103110E94FFF818160CF05F -:10F5100010E010935E110AE211E566E2E62E61E565 -:10F52000F62E72E2C72E71E5D72EEAE07E2E80918C -:10F530005E1160910C1170910D11882309F48BC03C -:10F5400080913613811187C0882777FD8095982F89 -:10F550000E949EF7209100113091011140910211FB -:10F56000509103110E94FFF818160CF08BC00E94F6 -:10F5700049F0681979098A099B09693E7340810538 -:10F58000910508F460C0E091471384E0E89FF00122 -:10F590001124EA5FFE4E4081518162817381F8013E -:10F5A0008491EAE2F1E5882349F09091C00095FF4B -:10F5B000FCCF8093C60031968491F5CF22E030E0F5 -:10F5C00089EF96E10E9463D1F7018491E6E2F1E5CB -:10F5D000882349F09091C00095FFFCCF8093C6002E -:10F5E00031968491F5CF6091471370E04AE050E086 -:10F5F00089EF96E10E948DD0F6018491E2E2F1E577 -:10F60000882349F09091C00095FFFCCF8093C600FD -:10F6100031968491F5CF4091001150910111609184 -:10F6200002117091031121E030E089EF96E10E9410 -:10F6300063D18091C00085FFFCCF7092C6000E940C -:10F6400049F04B015C010E94D54580E00E94997011 -:10F650000E94E3A36CCF882777FD8095982F0E94A6 -:10F660009EF72091001130910111409102115091AB -:10F6700003110E94FCF687FF05C08091080C8823C7 -:10F6800009F475CFE0917913F0E0EE0FFF1FE45E0F -:10F69000FD4F0190F081E02DEA59FE4F808191816C -:10F6A0000E9447A184E090E09093741380937313B9 -:10F6B0000E9449F0609371117093721180937311DD -:10F6C000909374110C94BB8983E50E945365882341 -:10F6D00019F10E943F6520E030E0A9010E94FCF68C -:10F6E00087FD0FC00E943F6520E030E04FE753E404 -:10F6F0000E94FFF8181644F00E943F650E946BF7C5 -:10F7000005C060E070E002C06FEF70E070934613D8 -:10F71000609345130C94BB898FEF90E09093461350 -:10F72000809345130C94BB89109246131092451395 -:10F730000C94BB899B9AA39881E08093120CE09172 -:10F740007913F0E0EE0FFF1FE45EFD4F0190F081B2 -:10F75000E02D808191810E9447A10E94E3A30C9437 -:10F76000BB890E9416400E94E1D9149A0E944BDA8C -:10F77000109246131092451368EE73E080E090E01B -:10F780000E9478F09B9AA39A1092120CE091791340 -:10F79000F0E0EE0FFF1FE45EFD4F0190F081E02DE1 -:10F7A000E459FF4F4081518120E231E56EE171E57E -:10F7B00081EB9DE00E94164D0E9447A10E94E3A3A9 -:10F7C0000C94BB89109285130C94BB8981E08093C3 -:10F7D00085130C94BB8983E50E9453658823A1F0AF -:10F7E0000E943F6520E030E04AE754E40E94D1F9EE -:10F7F0000E9470F76093090C70930A0C80930B0CB5 -:10F8000090930C0C0C94BB8988E50E945365811180 -:10F810000C94168C89E50E94536581110C94168C0A -:10F820008AE50E94536581110C94168C85E40E9430 -:10F83000536581110C94168C0C94388C83E50E94CE -:10F840005365882311F40C94BB890E943F6520E026 -:10F8500030E04AE754E40E94D1F90E9470F76093C7 -:10F860006D1170936E1180936F11909370110C94C1 -:10F87000BB8924E03EE039AF28AF0FEF1CE19FE0E9 -:10F88000892E9DE1992E23ECA22E2CE1B22E312C53 -:10F89000E8ADF9AD8191F9AFE8AF0E9453658823D7 -:10F8A00009F45BC0F3E03F1251C00E943F656B0159 -:10F8B0007C0120E030E040EA51E40E94FCF687FF42 -:10F8C0003FC0A7019601F801608171818281938117 -:10F8D0000E9403F72B013C019B01AC016091D71CF6 -:10F8E0007091D81C8091D91C9091DA1C0E94D1F99A -:10F8F0006093D71C7093D81C8093D91C9093DA1C0A -:10F90000A3019201F40160817181828193810E943F -:10F91000D1F9F4016083718382839383F50160815F -:10F920007181828193810E949CF7A30192010E94C0 -:10F93000D1F90E9470F7F50160837183828393830C -:10F94000F801C082D182E282F38207C00E943F6543 -:10F95000F801608371838283938333940C5F1F4F1C -:10F96000F4E08F0E911C24E0A20EB11C34E033129F -:10F970008FCF0C94BB899091C00095FFFCCF8093F2 -:10F98000C600319684918111F6CF0C94BB89009109 -:10F990007511109176110B5F1F4F6AE270E0C8017C -:10F9A0000F949300009711F0FC011082C8010E948F -:10F9B0003AA10C94BB89EBE1F1E58491882341F0F5 -:10F9C0009091C00095FFFCCF8093C6003196F5CF93 -:10F9D00040915B1350915C1360915D1370915E13C5 -:10F9E00022E030E089EF96E10E9463D1E7E1F1E5A2 -:10F9F0008491882341F09091C00095FFFCCF8093C3 -:10FA0000C6003196F5CF40915F135091601360911D -:10FA100061137091621322E030E089EF96E10E9459 -:10FA200063D1E3E1F1E58491882341F09091C00036 -:10FA300095FFFCCF8093C6003196F5CF40916313BC -:10FA400050916413609165137091661322E030E069 -:10FA500089EF96E10E9463D1EFE0F1E5849188237C -:10FA600041F09091C00095FFFCCF8093C600319685 -:10FA7000F5CF4091671350916813609169137091AD -:10FA80006A1322E030E089EF96E10E9463D1E091B1 -:10FA90007913F0E0EE0FFF1FE45EFD4F0190F0815F -:10FAA000E02DE659FE4F0190F081E02D84918823EE -:10FAB00041F09091C00095FFFCCF8093C600319635 -:10FAC000F5CF0E943DDA0E949EF72091FF1C3091F5 -:10FAD000001D4091011D5091021D0E9403F7AB01D2 -:10FAE000BC0122E030E089EF96E10E9463D1EBE0B7 -:10FAF000F1E58491882341F09091C00095FFFCCFFF -:10FB00008093C6003196F5CF81E00E943DDA0E94D5 -:10FB10009EF72091031D3091041D4091051D5091C9 -:10FB2000061D0E9403F7AB01BC0122E030E089EF23 -:10FB300096E10E9463D1E7E0F1E58491882341F0EA -:10FB40009091C00095FFFCCF8093C6003196F5CF11 -:10FB500082E00E943DDA0E949EF72091071D3091BD -:10FB6000081D4091091D50910A1D0E9403F7AB0129 -:10FB7000BC0122E030E089EF96E10E9463D18091E0 -:10FB8000C00085FFFCCF8AE08093C6000C94BB893F -:10FB900080E00E9461D20C94BB8981E00E9461D216 -:10FBA0000C94BB899091C00095FFFCCF8093C60058 -:10FBB000319684918111F6CF8091C00085FFFCCFF2 -:10FBC0008AE08093C600E0917913F0E0EE0FFF1F0A -:10FBD000E45EFD4F0190F081E02DE858FE4F01906A -:10FBE000F081E02D8491882341F09091C00095FF31 -:10FBF000FCCF8093C6003196F5CFE0917913F0E009 -:10FC0000EE0FFF1FE45EFD4F1E9B13C00190F081BD -:10FC1000E02DEA57FE4F0190F081E02D849188237A -:10FC2000D9F09091C00095FFFCCF8093C60031962B -:10FC3000F5CF0190F081E02DE857FE4F0190F08163 -:10FC4000E02D8491882341F09091C00095FFFCCF76 -:10FC50008093C6003196F5CF8091C00085FFFCCF20 -:10FC60008AE08093C600E0917913F0E0EE0FFF1F69 -:10FC7000E45EFD4F0190F081E02DE658FE4F0190CB -:10FC8000F081E02D8491882341F09091C00095FF90 -:10FC9000FCCF8093C6003196F5CFE0917913F0E068 -:10FCA000EE0FFF1FE45EFD4F029913C00190F0813B -:10FCB000E02DEA57FE4F0190F081E02D84918823DA -:10FCC000D9F09091C00095FFFCCF8093C60031968B -:10FCD000F5CF0190F081E02DE857FE4F0190F081C3 -:10FCE000E02D8491882341F09091C00095FFFCCFD6 -:10FCF0008093C6003196F5CF8091C00085FFFCCF80 -:10FD00008AE08093C600E0917913F0E0EE0FFF1FC8 -:10FD1000E45EFD4F0190F081E02DE458FE4F01902C -:10FD2000F081E02D8491882341F09091C00095FFEF -:10FD3000FCCF8093C6003196F5CFE0917913F0E0C7 -:10FD4000EE0FFF1FE45EFD4F1D9B13C00190F0817D -:10FD5000E02DEA57FE4F0190F081E02D8491882339 -:10FD6000D9F09091C00095FFFCCF8093C6003196EA -:10FD7000F5CF0190F081E02DE857FE4F0190F08122 -:10FD8000E02D8491882341F09091C00095FFFCCF35 -:10FD90008093C6003196F5CF8091C00085FFFCCFDF -:10FDA0008AE08093C600E0917913F0E0EE0FFF1F28 -:10FDB000E45EFD4F0190F081E02DE258FE4F01908E -:10FDC000F081E02D8491882341F09091C00095FF4F -:10FDD000FCCF8093C6003196F5CFE0917913F0E027 -:10FDE000EE0FFF1FE45EFD4F019913C00190F081FB -:10FDF000E02DEA57FE4F0190F081E02D8491882399 -:10FE0000D9F09091C00095FFFCCF8093C600319649 -:10FE1000F5CF0190F081E02DE857FE4F0190F08181 -:10FE2000E02D8491882341F09091C00095FFFCCF94 -:10FE30008093C6003196F5CF8091C00085FFFCCF3E -:10FE40008AE08093C600E0917913F0E0EE0FFF1F87 -:10FE5000E45EFD4F0190F081E02DE058FE4F0190EF -:10FE6000F081E02D8491882341F09091C00095FFAE -:10FE7000FCCF8093C6003196F5CFE0917913F0E086 -:10FE8000EE0FFF1FE45EFD4F1C9B13C00190F0813D -:10FE9000E02DEA57FE4F0190F081E02D84918823F8 -:10FEA000D9F09091C00095FFFCCF8093C6003196A9 -:10FEB000F5CF0190F081E02DE857FE4F0190F081E1 -:10FEC000E02D8491882341F09091C00095FFFCCFF4 -:10FED0008093C6003196F5CF8091C00085FFFCCF9E -:10FEE0008AE08093C600E0917913F0E0EE0FFF1FE7 -:10FEF000E45EFD4F0190F081E02DEE57FE4F019042 -:10FF0000F081E02D8491882341F09091C00095FF0D -:10FF1000FCCF8093C6003196F5CFE0917913F0E0E5 -:10FF2000EE0FFF1FE45EFD4F379913C00190F08183 -:10FF3000E02DEA57FE4F0190F081E02D8491882357 -:10FF4000D9F09091C00095FFFCCF8093C600319608 -:10FF5000F5CF0190F081E02DE857FE4F0190F08140 -:10FF6000E02D8491882341F09091C00095FFFCCF53 -:10FF70008093C6003196F5CF8091C00085FFFCCFFD -:10FF80008AE08093C6000C94BB89809147138093CC -:10FF9000601184E50E945365882381F10E943F65CA -:10FFA0000E9470F760936011662341F1E1E1F2E590 -:10FFB0008491882341F09091C00095FFFCCF8093FD -:10FFC000C6003196F5CFE0917913F0E0EE0FFF1FF8 -:10FFD000E45EFD4F0190F081E02DEA5AFE4F019062 -:10FFE000F081E02D8191882311F40C94BB899091CC -:10FFF000C00095FFFCCF8093C600F4CF84E40E943C -:020000021000EC -:100000005365882311F40C94BB890E943F6520E05E -:1000100030E0A9010E94FCF6811103C010926B131D -:1000200032C00091601110E00E943F65F801EE0FB0 -:10003000FF1FEE0FFF1FE15CF34F6083718382832C -:100040009383E0903F0CF090400C0091410C109194 -:10005000420C20E030E0A901B701C8010E94FCF683 -:10006000811104C0E12CF12C00E410E4C701D80197 -:1000700080933F0C9093400CA093410CB093420CA2 -:1000800081E080936B130E9440710C94BB8904E063 -:100090001EE0EFEEEE2EECE1FE2EF80181918F01D5 -:1000A0000E945365882349F00E943F650E9470F7C3 -:1000B000F7016083718382839383F4E0EF0EF11C78 -:1000C0002EE00830120749F70E9428EC0C94BB89F7 -:1000D00004E01EE07FE0E72E7DE1F72EF80181913C -:1000E0008F010E945365882339F00E943F65F70114 -:1000F0006083718382839383F4E0EF0EF11C2EE022 -:100100000830120759F70C94BB8983E50E945365A8 -:10011000882351F00E943F656093E71C7093E81CB0 -:100120008093E91C9093EA1C84E50E945365882320 -:1001300011F40C94BB890E943F656093E31C70939B -:10014000E41C8093E51C9093E61C0C94BB8983E52A -:100150000E945365882351F00E943F656093EB1C19 -:100160007093EC1C8093ED1C9093EE1C84E50E9430 -:100170005365882351F00E943F656093D31C7093B0 -:10018000D41C8093D51C9093D61C82E40E945365A6 -:10019000882361F00E943F650E9470F760931F1DE5 -:1001A0007093201D8093211D9093221D88E50E944D -:1001B0005365882351F00E943F656093DF1C709364 -:1001C000E01C8093E11C9093E21C8AE50E94536539 -:1001D000882351F00E943F656093DB1C7093DC1C08 -:1001E0008093DD1C9093DE1C85E40E945365882378 -:1001F00011F40C94BB890E943F656093D71C7093E7 -:10020000D81C8093D91C9093DA1C0C94BB8904E011 -:100210001EE06FE4E62E63E1F62EF80181918F0176 -:100220000E945365882339F00E943F65F70160837F -:10023000718382839383F4E0EF0EF11C2EE007308C -:10024000120711F40C94BB89E8CF83E50E94536533 -:10025000882351F00E943F6560931F0C7093200C1F -:100260008093210C9093220C86E40E94536588238E -:1002700081F00E943F6520E030E040E752E40E94B8 -:1002800003F76093170C7093180C8093190C9093DC -:100290001A0C8AE50E945365882311F40C94BB89DB -:1002A0000E943F6560933F13709340138093411306 -:1002B000909342130C94BB8983E50E945365882375 -:1002C00051F00E943F6560933B1370933C13809301 -:1002D0003D1390933E1386E40E945365882311F4E6 -:1002E0000C94BB890E943F6520E030E040E752E477 -:1002F0000E9403F76093130C7093140C8093150CF9 -:100300009093160C0C94BB8983E50E945365882357 -:1003100011F40C94BB890E943F650E946BF7611534 -:10032000710551F06130710569F481E080934413E7 -:10033000109243130C94BB891092441310924313F0 -:100340000C94BB89E1E1F2E58491882341F090911E -:10035000C00095FFFCCF8093C6003196F5CFE091A9 -:100360007913F0E0EE0FFF1FE45EFD4F0190F08186 -:10037000E02DEE58FE4F0190F081E02D849188230E -:1003800041F09091C00095FFFCCF8093C60031965C -:10039000F5CF80917F119091801120E6289FF00188 -:1003A000299FF00D1124EB57FE4E8191882339F0DF -:1003B0009091C00095FFFCCF8093C600F6CFE5E09A -:1003C000F1E58491882341F09091C00095FFFCCF26 -:1003D0008093C6003196F5CF8091C00085FFFCCF99 -:1003E0008AE08093C600C7C783E50E9453658823CF -:1003F00009F4C1C70E943F650E946BF770934A0CD5 -:100400006093490CB8C783E50E945365882309F4BB -:10041000B2C70E943F650E946BF76B017C0184E5C7 -:100420000E945365882381F08DED90E00E94076B58 -:100430008111A1C7E0916011F0E0EE0FFF1FEB5BAF -:10044000F34FD182C08297C7D092480CC092470C1C -:1004500092C780E50E945365882309F48CC70E94E7 -:100460003F650E946BF7D62E062F172F83E50E945B -:100470005365882331F00E943F650E946BF77B0132 -:1004800003C0EE24EA94FE2CC7010196039708F0FE -:1004900072C7ECECFDE0819191918017910709F40E -:1004A0006AC73EE0E430F307B1F717FD64C70E9466 -:1004B000E1D9CD2C60E08D2D0E9469EF8FEFE81619 -:1004C000F80631F0EA94EF2871F000E010E00DC07A -:1004D0008D2D0E94D7EF31E020E0892B09F030E02C -:1004E000032F122F02C001E010E08C2D0E94D7EFE5 -:1004F0008017910709F43FC70E94D54580E00E940C -:1005000099700E94E3A3F1CF83E50E94536588238D -:1005100031F00E943F650E946BF78B0102C00EE62E -:1005200010E080E50E945365882331F00E943F650A -:100530000E946BF7CB0102C088EE93E06C01EE24C1 -:10054000D7FCE094FE2C101611067CF420E030E07D -:10055000A901B80184E50E9415F1C701B6010E9406 -:1005600078F084E50E942CF406C7C701B6010E940A -:1005700078F001C780E50E945365882351F00E94FE -:100580003F65609318027093190280931A0290934A -:100590001B0289E40E945365882361F00E943F6535 -:1005A0000E94514A609314027093150280931602C0 -:1005B0009093170284E40E945365882361F00E949F -:1005C0003F650E945D4A6093100270931102809310 -:1005D00012029093130283E40E945365882351F022 -:1005E0000E943F6560930C0270930D0280930E028F -:1005F00090930F020E94263FE0917913F0E0EE0FF6 -:10060000FF1FE45EFD4F0190F081E02DE05CFE4FA6 -:100610000190F081E02D8191882339F09091C00004 -:1006200095FFFCCF8093C600F6CFEAEBFDE0819109 -:10063000882339F09091C00095FFFCCF8093C600CD -:10064000F6CF409118025091190260911A027091F0 -:100650001B0222E030E089EF96E10E9463D1EEEBCD -:10066000FDE08191882339F09091C00095FFFCCF87 -:100670008093C600F6CF60911402709115028091AC -:100680001602909117020E94574AAB01BC0122E06A -:1006900030E089EF96E10E9463D1E2ECFDE08191C8 -:1006A000882339F09091C00095FFFCCF8093C6005D -:1006B000F6CF609110027091110280911202909118 -:1006C00013020E94634AAB01BC0122E030E089EFD3 -:1006D00096E10E9463D1E6ECFDE08191882339F038 -:1006E0009091C00095FFFCCF8093C600F6CF40915B -:1006F0000C0250910D0260910E0270910F0222E0E7 -:1007000030E089EF96E10E9463D18091C00085FFBF -:10071000FCCF8AE08093C6002EC683E50E94536515 -:10072000882319F00E943F6503C060E070E0CB01B0 -:100730000E941FEC20C685E40E945365882341F087 -:100740000E943F650E946BF78B0177FF03C009C0D1 -:1007500000E010E0C12CD12C96E1E92E93E4F92EB3 -:1007600006C0C12CD12C8CE8E82E82E4F82E83E55B -:100770000E945365882321F00E943F656B017C0134 -:1007800083E40E945365882331F00E943F650E94F4 -:100790006BF79B0102C025E030E0A801C701B6015C -:1007A0000E942940E8C50E94E1D9E5C50E9492CD8A -:1007B0000E9464C9E0C50E9492CDDDC50E9464C953 -:1007C000DAC59091C00095FFFCCF8093C6003196AA -:1007D00084918111F6CFE5EFF0E58491882309F447 -:1007E000CAC59091C00095FFFCCF8093C60031969A -:1007F000F4CF8AE50E945365882309F4D6C00E948D -:100800003F656B017C0120E030E040E751EC0E9445 -:10081000FFF887FD57C020E030E040EA50ECC70108 -:10082000B6010E94FCF618160CF44CC0F7FAF094CE -:10083000F7F8F094C0924813D0924913E0924A130B -:10084000F0924B13E1E1F2E58491882341F090911D -:10085000C00095FFFCCF8093C6003196F5CFE091A4 -:100860007913F0E0EE0FFF1FE45EFD4F8081918170 -:10087000FC01E05CFE4F40815181E855F10924EF15 -:1008800030E561E77EE0808191810E94164DFC0198 -:100890002491222341F03091C00035FFFCCF2093FA -:1008A000C6000196F4CF8091C00085FFFCCF8AE09E -:1008B0008093C6008091C00085FFFCCF8AE08093C2 -:1008C000C60059C5E1E1F2E58491882341F0909199 -:1008D000C00095FFFCCF8093C6003196F5CFE09124 -:1008E0007913F0E0EE0FFF1FE45EFD4F0190F08101 -:1008F000E02DE851FF4F0190F081E02D8491882395 -:1009000041F09091C00095FFFCCF8093C6003196D6 -:10091000F5CFE0917913F0E0EE0FFF1FE45EFD4F9D -:100920000190F081E02DE058FE4F0190F081E02D24 -:100930008491882341F09091C00095FFFCCF809373 -:10094000C6003196F5CF4AE050E061EF7FEF89EFC6 -:1009500096E10E948DD0E0917913F0E0EE0FFF1F39 -:10096000E45EFD4F0190F081E02DEE57FE4F0190C7 -:10097000F081E02D8491882341F09091C00095FF93 -:10098000FCCF8093C6003196F5CF4AE050E06BEF84 -:100990007FEF89EF96E10E948DD08091C00085FFA6 -:1009A000FCCF8AE08093C600E6C4E1E1F2E58491E1 -:1009B000882341F09091C00095FFFCCF8093C60042 -:1009C0003196F5CFE0917913F0E0EE0FFF1FE45E72 -:1009D000FD4F0190F081E02DE851FF4F60EF70E591 -:1009E000808191810E94F54CFC012491222341F0E9 -:1009F0003091C00035FFFCCF2093C6000196F4CFA4 -:100A00008091C00085FFFCCF8AE08093C6004091B2 -:100A100048135091491360914A1370914B137058C9 -:100A200022E030E089EF96E10E9463D18091C0001E -:100A300085FFFCCF8AE08093C6009DC40E94E1D967 -:100A40008091490C90914A0C9093440C8093430CF4 -:100A5000C0905B13D0905C13E0905D13F0905E1338 -:100A6000CF8ED8A2E9A2FAA200915F131091601371 -:100A700020916113309162130BA31CA32DA33EA3FD -:100A800040916313509164136091651370916613E4 -:100A90004FA358A769A77AA780916713909168130D -:100AA000A0916913B0916A138BA79CA7ADA7BEA7AD -:100AB000C982DA82EB82FC820D831E832F83388702 -:100AC00049875A876B877C878D879E87AF87B88BCE -:100AD00085E40E945365882359F00E943F659B017D -:100AE000AC016BA57CA58DA59EA50E9423F60AC02E -:100AF00020E030E040E050E46BA57CA58DA59EA5EC -:100B00000E9422F66BA77CA78DA79EA737E4C32E71 -:100B100033E1D32EE12CF12C08EC13E49E01255D8A -:100B20003F4FAE01495D5F4FBE016D5D7F4FCE010E -:100B30004F960E9474E18AE50E945365882349F02C -:100B40000E943F659B01AC016FA178A589A59AA57C -:100B50001EC020E030E040E050E46FA178A589A5F8 -:100B60009AA50E9423F66B017C016FA378A789A741 -:100B70009AA720E030E040E251E40E94FCF687FFB3 -:100B80000CC020E030E040E251E4C701B6010E9411 -:100B900023F66FA378A789A79AA797E4C92E93E1B4 -:100BA000D92EE12CF12C06E913E49E01255D3F4F7F -:100BB000AE01495D5F4FBE016D5D7F4FCE014F9627 -:100BC0000E9474E188E50E945365882379F00E94B1 -:100BD0003F659B01AC016F8D78A189A19AA10E940C -:100BE00023F66F8F78A389A39AA308C080E090E0D2 -:100BF000A3E5B3E48F8F98A3A9A3BAA389E50E94C4 -:100C00005365882339F00E943F656BA37CA38DA3B5 -:100C10009EA304C01BA21CA21DA21EA217E4C12EEB -:100C200013E1D12EE12CF12C0CE812E49E01255D9C -:100C30003F4FAE01495D5F4FBE016D5D7F4FCE01FD -:100C40004F960E9474E18CE40E945365882359F00A -:100C50000E943F659B01AC016BA57CA58DA59EA55F -:100C60000E9423F60AC020E030E040EA52E46BA57F -:100C70007CA58DA59EA50E9422F66BA77CA78DA7BB -:100C80009EA7A7E4CA2EA3E1DA2EE12CF12C08ECF2 -:100C900013E49E01255D3F4FAE01495D5F4FBE01EC -:100CA0006D5D7F4FCE014F960E9474E10E94E1D9A5 -:100CB000149A64E670E080E090E00E9478F00E9470 -:100CC00092B900E010E0F12C0E94C7A481112AC063 -:100CD000F3940E94D54581E00E949970F110F4CF01 -:100CE000043FF1E01F0711F400E010E080910101E2 -:100CF0008460809301010115110531F49FB7F894C8 -:100D000080910201846008C00431110541F49FB74D -:100D1000F894809102018B7F809302019FBF0F5F47 -:100D20001F4FD2CF9FB7F894809102018B7F8093A1 -:100D300002019FBF20E030E04CE852E46BA57CA5A7 -:100D40008DA59EA50E9423F66BA77CA78DA79EA7C5 -:100D500077E4C72E73E1D72EE12CF12C00EA11E4E1 -:100D60009E01255D3F4FAE01495D5F4FBE016D5D48 -:100D70007F4FCE014F960E9474E120E030E048E4BE -:100D800052E46BA57CA58DA59EA50E9423F66BA7BA -:100D90007CA78DA79EA7E12CF12C00E010E49E011A -:100DA000255D3F4FAE01495D5F4FBE016D5D7F4FD9 -:100DB000CE014F960E9474E110927B1310927A1329 -:100DC0000E942DBA80917A1390917B13019709F4B8 -:100DD0007CC010927B1310927A130E9482BA809189 -:100DE0007A1390917B138230910549F1039709F0B2 -:100DF00069C020E030E048E452E46BA57CA58DA5F5 -:100E00009EA50E9423F66BA77CA78DA79EA727E42B -:100E1000C22E23E1D22EE12CF12C00E010E49E0141 -:100E2000255D3F4FAE01495D5F4FBE016D5D7F4F58 -:100E3000CE014F960E9474E10E94D8B9C3CF20E042 -:100E400030E04CE852E46BA57CA58DA59EA50E94E0 -:100E500023F66BA77CA78DA79EA747E4C42E43E18A -:100E6000D42EE12CF12C00EA11E49E01255D3F4FC8 -:100E7000AE01495D5F4FBE016D5D7F4FCE014F9664 -:100E80000E9474E120E030E048E452E46BA57CA5C8 -:100E90008DA59EA50E9423F66BA77CA78DA79EA774 -:100EA000E12CF12C00E010E49E01255D3F4FAE01E6 -:100EB000495D5F4FBE016D5D7F4FCE014F960E9431 -:100EC00074E17ECF0E94C0B97DCF20E030E040EADF -:100ED00050E46BA57CA58DA59EA50E9423F66BA76B -:100EE0007CA78DA79EA7E7E4CE2EE3E1DE2EE12CC2 -:100EF000F12C00E010E49E01255D3F4FAE01495DFD -:100F00005F4FBE016D5D7F4FCE014F960E9474E131 -:100F1000A80197016BA57CA58DA59EA50E9422F630 -:100F20006BA77CA78DA79EA7E12CF12C08EC13E4FE -:100F30009E01255D3F4FAE01495D5F4FBE016D5D76 -:100F40007F4FCE014F960E9474E1E12CF12C0CE80A -:100F500012E49E01255D3F4FAE01495D5F4FBE012A -:100F60006B5F7F4FCE0101960E9474E1E12CF12C62 -:100F700006E913E49E01255D3F4FAE01475F5F4FD9 -:100F8000BE016B5F7F4FCE0101960E9474E120E0AD -:100F900030E040E050E46BA57CA58DA59EA50E94A5 -:100FA00023F66BA77CA78DA79EA7E12CF12C08EC5C -:100FB00013E49E01255D3F4FAE01475F5F4FBE01C9 -:100FC0006B5F7F4FCE0101960E9474E1CE010D96BA -:100FD0000E94FBEB8091430C9091440C8093490C50 -:100FE00090934A0C9F938F9387EE90E59F938F93F6 -:100FF0008E01015D1F4F1F930F930F94CB00C8010B -:101000000E943C620F900F900F900F900F900F90E6 -:10101000B2C188E50E945365882339F00E943F657C -:101020000E946BF780E00E940BDB8AE50E9453650B -:10103000882339F00E943F650E946BF781E00E948F -:101040000BDB85E40E945365882309F494C10E9458 -:101050003F650E946BF782E00E940BDB8CC183E549 -:101060000E945365811104C004E01EE0F12C10C001 -:1010700010E00E943F650E9470F7812F0E94E1DB23 -:101080001F5F1530B1F7F0CFF394F4E0FF1679F05D -:10109000F80181918F010E9453658823A9F30E9472 -:1010A0003F650E9470F78F2D0E94E1DBEDCF82E457 -:1010B0000E945365882339F00E943F650E9470F7B3 -:1010C00084E00E94E1DB0E94A7DC55C183E50E9419 -:1010D0005365882309F453C00E943F650E946BF753 -:1010E0006130710541F06230710509F048C004E0DB -:1010F0001EE0F12C25C004E01EE0F12CF8018191E6 -:101100008F010E945365882341F00E943F650E9431 -:101110006BF74FEF8F2D0E94A3DBF394F4E0FF12E7 -:10112000EDCF82E40E945365882349F10E943F6518 -:101130000E946BF74FEF20C0F394F4E0FF1689F0A4 -:10114000F80181918F010E9453658823A9F30E94C1 -:101150003F650E946BF7462F6FEF8F2D0E94A3DB38 -:10116000EBCF82E40E945365882349F00E943F65DB -:101170000E946BF7462F6FEF84E00E94A3DB0E9472 -:10118000A7DCF9C084E50E945365882309F4A2C056 -:101190000E943F650E9470F760936011662309F416 -:1011A00042C0E1E1F2E58491882341F09091C000D2 -:1011B00095FFFCCF8093C6003196F5CFEAECFDE0B9 -:1011C0008191882339F09091C00095FFFCCF8093E6 -:1011D000C600F6CF40E050E06091601189EF96E1E3 -:1011E0000E94C4D0E0917913F0E0EE0FFF1FE45E9F -:1011F000FD4F0190F081E02DEA58FE4F0190F08103 -:10120000E02D8191882339F09091C00095FFFCCFAB -:101210008093C600F6CF8091C00085FFFCCF8AE0A6 -:101220008093C600A8C086E40E9453658823D9F045 -:101230000E943F656B017C01609316137093171336 -:10124000809318139093191320E030E0A9010E94B5 -:10125000FFF8181644F4C0920D0CD0920E0CE092D8 -:101260000F0CF092100CE1E1F2E58491882341F03B -:101270009091C00095FFFCCF8093C6003196F5CFCA -:10128000E0917913F0E0EE0FFF1FE45EFD4F019057 -:10129000F081E02DEC58FE4F0190F081E02D81911E -:1012A000882339F09091C00095FFFCCF8093C60051 -:1012B000F6CF6091471370E04AE050E089EF96E185 -:1012C0000E948DD08091C00085FFFCCF8AE0809382 -:1012D000C60051C0E1E1F2E58491882341F090918C -:1012E000C00095FFFCCF8093C6003196F5CFE0910A -:1012F0007913F0E0EE0FFF1FE45EFD4F0190F081E7 -:10130000E02DEE58FE4F0190F081E02D849188236E -:1013100041F09091C00095FFFCCF8093C6003196BC -:10132000F5CF80917F119091801120E6289FF001E8 -:10133000299FF00D1124EB57FE4E8191882339F03F -:101340009091C00095FFFCCF8093C600F6CFE5EEEC -:10135000F0E58491882341F09091C00095FFFCCF87 -:101360008093C6003196F5CF8091C00085FFFCCFF9 -:101370008AE08093C6000E947A6580C2C0903213D2 -:10138000D0903313E0903413F0903513209167130D -:10139000309168134091691350916A13C701B601E7 -:1013A0000E9422F62DEC3CEC4CEC5DE30E94FFF831 -:1013B000181614F00C945572C0926713D0926813EB -:1013C000E0926913F0926A1387E693E10E94FBEBC7 -:1013D00060E080E00E94EC6751C288E50E9453659E -:1013E0008111B5C08091110C8111B6C089E50E94B0 -:1013F00053658111B1C088E50E9453658823D1F0FF -:101400000E944865672B682B692BA1F00E943F65FD -:1014100020914F133091501340915113509152131A -:101420000E9423F660935B1370935C1380935D13AB -:1014300090935E1389E50E9453658823D1F00E9442 -:101440004865672B682B692BA1F00E943F652091AE -:1014500053133091541340915513509156130E94D9 -:1014600023F660935F1370936013809361139093DE -:1014700062138091110C811174C08AE50E9453653A -:1014800081116FC08AE50E9453658823D1F00E94C4 -:101490004865672B682B692BA1F00E943F6520915E -:1014A0005713309158134091591350915A130E9479 -:1014B00023F6609363137093641380936513909382 -:1014C000661327E633E143E653E16FE573E18BE50D -:1014D00093E10E9456EB80E00E9461D2809112134A -:1014E00090911313A0911413B091151380930D0CC8 -:1014F00090930E0CA0930F0CB093100C809180135E -:101500009091811390934A0C8093490C0E9449F06A -:101510006093711170937211809373119093741191 -:101520000E945AD280918E13882309F424CF6AE84E -:1015300073E188EF9FE00E94969C80918A139091BE -:101540008B13892B09F417CF0E94F0C014CF80E0D1 -:1015500090E00E94AA6046CF81E090E00E94AA60DD -:101560004ACF82E090E00E94AA608CCF0E94D545CD -:1015700080E00E9499700E94E3A30C94F4750E948D -:101580004865AB01BC014093291650932A1660931D -:101590002B1670932C1684E795E10E94AA33EBCEAC -:1015A0000E943F650E946BF78B010C943178E091AB -:1015B0007913F0E0EE0FFF1FE45EFD4F0190F08124 -:1015C000E02DEE59FE4F808191810E9447A182E07B -:1015D00090E090937413809373130E9449F060938A -:1015E000691170936A1180936B1190936C110E9432 -:1015F00049F06093711170937211809373119093FD -:101600007411B9CE0E9449F0681979098A099B09B9 -:10161000693E73408105910508F479C0E5E3F1E581 -:101620008491882341F09091C00095FFFCCF809376 -:10163000C6003196F5CFE091601124E0E29FF00101 -:101640001124EA5FFE4E408151816281738121E065 -:1016500030E089EF96E10E9463D1E1E3F1E5849106 -:10166000882341F09091C00095FFFCCF8093C60085 -:101670003196F5CF6091601170E04AE050E089EF5B -:1016800096E10E948DD0EDE2F1E58491882341F04E -:101690009091C00095FFFCCF8093C6003196F5CFA6 -:1016A000F7FE03C0EFEAFDE025C00E9449F08B0180 -:1016B0009C01C701B6016854744F8F4F9F4F601B48 -:1016C000710B820B930BA30192010E94DAFABA010B -:1016D000A9012AE030E089EF96E10E94B9D080911B -:1016E000C00085FFFCCF0DC09091C00095FFFCCFDE -:1016F0008093C60081918111F7CF8091C00085FF52 -:10170000FCCF3092C6000E9449F04B015C010E9460 -:10171000D54580E00E9499700E94E3A3FFEFCF16A9 -:10172000DF06EF06FF0609F046C080915E11E091EA -:101730006011F0E08F01000F111F000F111F0A5FF1 -:101740001E4EEE0FFF1FE25FFE4E60817181882307 -:10175000C9F0882777FD8095982F0E949EF720E09A -:1017600030E040E85FE30E9422F69B01AC01F80103 -:1017700060817181828193810E94FFF887FF50C050 -:101780000C94197A882777FD8095982F0E949EF7F0 -:1017900020E030E040E85FE30E9423F69B01AC01CB -:1017A000F80160817181828193810E94FCF6181694 -:1017B000BCF50C94197AF7FE02C00C94197AE091EA -:1017C0006011F0E08F01000F111F000F111F0A5F61 -:1017D0001E4EEE0FFF1FE25FFE4E60817181882773 -:1017E00077FD8095982F0E949EF79B01AC01F80130 -:1017F00060817181828193810E9422F60E946BF741 -:1018000097FF07C090958095709561957F4F8F4F9A -:101810009F4F663071058105910514F40C94197A77 -:101820000E9449F06B017C010C94197A0E94E1D965 -:1018300088E50E945365882319F0179A10924C137B -:1018400089E50E945365882319F0169A10924D136A -:101850008AE50E945365882319F0159A10924E1359 -:1018600085E40E945365882309F485CD149A83CDBD -:101870000E94E1D9149A0E944BDA7DCDE9960FB609 -:10188000F894DEBF0FBECDBFDF91CF911F910F91B6 -:10189000FF90EF90DF90CF90BF90AF909F908F9090 -:1018A0007F906F905F904F903F9008950F931F939C -:1018B00080917C1390917D13892BA1F00E9449F0B7 -:1018C00000916111109162112091631130916411A6 -:1018D000601B710B820B930B693E73408105910570 -:1018E00008F0A5C080917C1390917D13892B11F491 -:1018F00010927F1380917B1190917C11039714F4C7 -:101900000E94596C60E08CE893E10E949A578091A4 -:101910007B1190917C11892B09F47EC080918C13EE -:101920008823E1F080917F119091801120E6289F1B -:101930008001299F100D11240B571E4E61E871E59F -:10194000C8010F943E00892B59F5B8018CE893E14A -:101950000E941C5780918D13882319F00E945271A8 -:1019600045C0E0917913F0E0EE0FFF1FE45EFD4FFC -:101970000190F081E02DE05CFE4F0190F081E02DC0 -:101980008491882341F09091C00095FFFCCF809313 -:10199000C6003196F5CF8091C00085FFFCCF23C0F3 -:1019A00060E08CE893E10E949058E0917913F0E0B8 -:1019B000EE0FFF1FE45EFD4F0190F081E02DEE5B26 -:1019C000FE4F0190F081E02D8491882341F09091A9 -:1019D000C00095FFFCCF8093C6003196F5CF809173 -:1019E000C00085FFFCCF8AE08093C60080917B1108 -:1019F00090917C11019790937C1180937B11809141 -:101A00007F1190918011019664E070E00E94C7FA06 -:101A10009093801180937F110E94D54580E00E94B1 -:101A200099700E9482D11F910F910C94E3A381E0E1 -:101A300080937F1380917C1390917D1301979093F5 -:101A40007D1380937C130E9449F060936111709321 -:101A50006211809363119093641144CF8F929F928F -:101A6000AF92BF92CF92DF92EF92FF920F931F93AC -:101A7000CF93DF938C018C519E4F0E94E1506801FF -:101A800089E8C80ED11C21F1780181E4E81A8EEFB3 -:101A9000F80AE70157018FE1A81AB10843E9842E3B -:101AA0004EE0942ECC15DD0599F0FE01EE19FF09EC -:101AB000EA0DFB1D91828082FE0178978081811161 -:101AC00002C06F97EFCFCE014B970E948D34F9CFB4 -:101AD000C80186599F4F0E94E150C801875B9F4F04 -:101AE000DF91CF911F910F91FF90EF90DF90CF90FA -:101AF000BF90AF909F908F900C94E1508CE893E151 -:101B00000C94ED508CE893E1A9CFFB0160915C0C43 -:101B100070915D0C70935C1660935B166091651616 -:101B20007091661670935A166093591662E060932E -:101B30005B0C6FED7DEA70935D0C60935C0C909391 -:101B4000581680935716F0935616E093551666274D -:101B500057FD6095762F409351165093521660931F -:101B6000531670935416C901AA2797FDA095BA2F52 -:101B7000841B950BA60BB70B80934D1690934E16B6 -:101B8000A0934F16B093501680819181AA2797FD9C -:101B9000A095BA2F841B950BA60BB70B80936516E7 -:101BA00090936616A0936716B09368160895CF9326 -:101BB000DF93CDB7DEB7C054D1090FB6F894DEBFBE -:101BC0000FBECDBF88E0E3E9FCE0DE01D9960190CD -:101BD0000D928A95E1F788E0EBE9FCE0DE01D19611 -:101BE00001900D928A95E1F788E0E3EAFCE0DE01DE -:101BF000999601900D928A95E1F788E0EBEAFCE076 -:101C0000DE01919601900D928A95E1F788E0E3EB71 -:101C1000FCE0DE01599601900D928A95E1F788E08B -:101C2000EBEBFCE0DE01519601900D928A95E1F715 -:101C300088E0E3ECFCE0DE01199601900D928A95B4 -:101C4000E1F788E0EBECFCE0DE01119601900D92EB -:101C50008A95E1F7AE01475C5F4F60E080E796E16F -:101C60000E94B64CAE014F5C5F4F61E080E796E1A9 -:101C70000E94B64CAE01475D5F4F62E080E796E19F -:101C80000E94B64CAE014F5D5F4F63E080E796E186 -:101C90000E94B64CAE01475E5F4F64E080E796E17C -:101CA0000E94B64CAE014F5E5F4F65E080E796E163 -:101CB0000E94B64CAE01475F5F4F66E080E796E159 -:101CC0000E94B64CAE014F5F5F4F67E080E796E140 -:101CD0000E94B64CC05CDF4F0FB6F894DEBF0FBE5B -:101CE000CDBFDF91CF9108950F931F93CF93DF93D3 -:101CF000EB01142F022F482F60E080E796E10E944D -:101D0000184B612F80E796E10E94B3F511E1FE01C7 -:101D10006491662311F0111117C0112339F060E2AC -:101D200080E796E10E94B3F51150F7CF602F80E76E -:101D300096E10E94B3F560E280E796E1DF91CF91F2 -:101D40001F910F910C94B3F580E796E10E94B3F5D3 -:101D500021961150DCCFCF92DF92EF92FF920F933A -:101D60001F93CF93DF93D82EC62E7A01E901482F17 -:101D700080E796E10E94184B81E0E816F10469F1D2 -:101D800082E0E816F10409F04FC0BE0180E796E159 -:101D90000E94B2F5FE0101900020E9F73197EC1B9B -:101DA000FD0B6C2D6E0F4D2D80E796E10E94184BB8 -:101DB00068EC7DE080E796E10E94B2F5FE010190BB -:101DC0000020E9F76C2D6C1B6E0F4D2D80E796E11E -:101DD0000E94184B68E07EE028C0BE0180E796E1D3 -:101DE0000E94B2F5FE0101900020E9F73197EC1B4B -:101DF000FD0B6C2D6E0F4D2D80E796E10E94184B68 -:101E000068EC7DE080E796E10E94B2F5FE0101906A -:101E10000020E9F76C2D6C1B6E0F4D2D80E796E1CD -:101E20000E94184BB80101C0BE0180E796E1DF9126 -:101E3000CF911F910F91FF90EF90DF90CF900C9476 -:101E4000B2F5EF92FF920F931F93CF93DF93EB01C5 -:101E5000E42E8901F90101900020E9F7F22EFE1A23 -:101E600092E1F90E482F60E080E796E10E94184B5E -:101E70006E2D80E796E10E94B3F5FE016491662322 -:101E800011F0F11019C06AE380E796E10E94B3F502 -:101E9000FF2039F060E280E796E10E94B3F5FA9402 -:101EA000F7CFB80180E796E1DF91CF911F910F91B5 -:101EB000FF90EF900C94B2F580E796E10E94B3F5A5 -:101EC0002196FA94DACF80E796E10C940C4BCF93ED -:101ED00080910101846080930101CAE09FB7F8946A -:101EE000809102018460809302019FBF84E690E0AC -:101EF0000E949CF09FB7F894809102018B7F8093A1 -:101F000002019FBF84E690E00E949CF0C15031F72F -:101F1000CF91089582E080935B0C0E9449F06C5051 -:101F20007E4F8F4F9F4F60936A1670936B1680930E -:101F30006C1690936D16CBCFE0915C0CF0915D0C1C -:101F4000E817F90771F090935D0C80935C0C409357 -:101F50006516509366166093671670936816211184 -:101F6000D9CF089521E040E050E0BA01E5CF21E06B -:101F700040E050E0BA01E0CFCF92DF92EF92FF92C3 -:101F80000F931F93CF93DF93809165169091661600 -:101F9000A0916716B091681681309048A105B105EF -:101FA00040F0109265161092661610926716109205 -:101FB00068168091651690916616A0916716B0918B -:101FC0006816B695A7959795879540916E1650E03F -:101FD00060E070E084179507A607B70710F48093B8 -:101FE0006E16D0916E1610916F1612FB112710F914 -:101FF000C0E0B7E1CB2ED12CE12CF12C01E04091D7 -:102000006516509166166091671670916816D11129 -:1020100038C080915B0C8823C1F0E0917913F0E027 -:10202000EE0FFF1FE45EFD4F0190F081E02D8681F1 -:10203000978123E0423051056105710510F443E0BA -:1020400001C040E2BC018C2F4FDE112309F420C2F5 -:102050008091651690916616A0916716B0916816EA -:102060000297A105B10508F013C254DF89ED9BEB7F -:10207000DF91CF911F910F91FF90EF90DF90CF9064 -:1020800071CFD13051F580915B0C882389F0769522 -:1020900067955795479523E04130510561057105D6 -:1020A00011F443E001C040E262E773E58C2F1CDECF -:1020B000112309F4EDC18091651690916616A091E7 -:1020C0006716B0916816B695A7959795879501976D -:1020D000A105B10509F0DCC1C8CFD230B9F58091B6 -:1020E0005B0C8823F1F0E0917913F0E0EE0FFF1F15 -:1020F000E45EFD4F0190F081E02DE254FE4F8081BF -:102100009181769567955795479523E04230510523 -:102110006105710511F443E001C040E2BC018C2F60 -:10212000E3DD112309F4B4C1809165169091661620 -:10213000A0916716B0916816B695A7959795879563 -:102140000297A105B10509F0A3C18FCFD330B9F52E -:1021500080915B0C8823F1F0E0917913F0E0EE0FB1 -:10216000FF1FE45EFD4F0190F081E02DE054FE4F33 -:1021700080819181769567955795479523E0433007 -:1021800051056105710511F443E001C040E2BC0155 -:102190008C2FAADD112309F47BC1809165169091E3 -:1021A0006616A0916716B0916816B695A795979593 -:1021B00087950397A105B10509F06AC156CFD430C0 -:1021C000B9F580915B0C8823F1F0E0917913F0E090 -:1021D000EE0FFF1FE45EFD4F0190F081E02DEE5306 -:1021E000FE4F80819181769567955795479523E0BD -:1021F000443051056105710511F443E001C040E22E -:10220000BC018C2F71DD112309F442C18091651648 -:1022100090916616A0916716B0916816B695A7952D -:10222000979587950497A105B10509F031C11DCF98 -:10223000D53051F580915B0C882389F076956795B0 -:102240005795479523E0453051056105710511F417 -:1022500043E001C040E265E673E58C2F45DD1123C4 -:1022600009F416C18091651690916616A0916716C3 -:10227000B0916816B695A795979587950597A1058E -:10228000B10509F005C1F1CED63051F580915B0C56 -:10229000882389F0769567955795479523E04630D2 -:1022A00051056105710511F443E001C040E261E6AA -:1022B00073E58C2F19DD112309F4EAC080916516AE -:1022C00090916616A0916716B0916816B695A7957D -:1022D000979587950697A105B10509F0D9C0C5CE98 -:1022E000D73051F580915B0C882389F076956795FE -:1022F0005795479523E0473051056105710511F465 -:1023000043E001C040E268E573E58C2FEDDC11236A -:1023100009F4BEC08091651690916616A09167166B -:10232000B0916816B695A795979587950797A105DB -:10233000B10509F0ADC099CED83051F580915B0C54 -:10234000882389F0769567955795479523E048301F -:1023500051056105710511F443E001C040E26EE4EE -:1023600073E58C2FC1DC112309F492C080916516AE -:1023700090916616A0916716B0916816B695A795CC -:10238000979587950897A105B10509F081C06DCE95 -:10239000D93051F580915B0C882389F0769567954B -:1023A0005795479523E0493051056105710511F4B2 -:1023B00043E001C040E261E473E58C2F95DC11231A -:1023C00009F466C08091651690916616A091671613 -:1023D000B0916816B695A795979587950997A10529 -:1023E000B10509F055C041CEDA3041F580915B0C62 -:1023F000882389F0769567955795479523E04A306D -:1024000051056105710511F443E001C040E26AE342 -:1024100073E58C2F69DC1123D9F1809165169091B9 -:102420006616A0916716B0916816B695A795979510 -:1024300087950A97A105B10559F517CEDB3041F50F -:1024400080915B0C882389F0769567955795479521 -:1024500023E04B3051056105710511F443E001C0E3 -:1024600040E26EE273E58C2F3FDC112389F080910E -:10247000651690916616A0916716B0916816B6958C -:10248000A795979587950B97A105B10509F4EDCD13 -:102490008091651690916616A0916716B0916816A6 -:1024A0004897A105B10540F0C0926516D092661616 -:1024B000E0926716F0926816409165165091661684 -:1024C0006091671670916816769567955795479550 -:1024D00080916E1690E00396242F30E082179307C8 -:1024E0004CF48DEF840F80936E1600935B0CDCEF41 -:1024F000D40FCFEFCF5FDF5FC43008F480CDDF9122 -:10250000CF911F910F91FF90EF90DF90CF900895A2 -:10251000FF920F931F93CF93DF9380916516909155 -:102520006616A0916716B091681681309048A10593 -:10253000B10540F01092651610926616109267165B -:10254000109268168091651690916616A091671694 -:10255000B0916816B695A7959795879540916E1698 -:1025600050E060E070E084179507A607B70710F405 -:1025700080936E16D0916E1610916F1612FB112774 -:1025800010F9C0E0FF24F3948091651690916616CF -:10259000A0916716B0916816D11135C020915B0CDF -:1025A0002223C1F0E0917913F0E0EE0FFF1FE45E0B -:1025B000FD4F0190F081E02DE450FF4F608171816B -:1025C00023E00297A105B10510F443E001C040E209 -:1025D0008C2F8ADB112309F483C0809165169091BA -:1025E0006616A0916716B09168160297A105B1050D -:1025F00008F076C08FDC81E29DE9DF91CF911F91D9 -:102600000F91FF90AFCCD130A9F520915B0C222324 -:10261000D1F0E0917913F0E0EE0FFF1FE45EFD4F83 -:102620000190F081E02D62AD73ADB695A7959795B9 -:1026300087952EE70197A105B10511F44EE301C07E -:1026400040E28C2F51DB112309F44AC080916516BA -:1026500090916616A0916716B0916816B695A795E9 -:10266000979587950197A105B105D1F553DC8BE2CC -:102670009FEAD0C0D230A1F520915B0C2223D1F08B -:10268000E0917913F0E0EE0FFF1FE45EFD4F019043 -:10269000F081E02D64AD75ADB695A79597958795BA -:1026A0002EE70297A105B10511F44EE301C040E207 -:1026B0008C2F1ADB1123A1F080916516909166167C -:1026C000A0916716B0916816B695A79597958795CE -:1026D0000297A105B10521F41DDC82E39FEA9AC0AF -:1026E00020E030E040E251E46091401670914116E4 -:1026F00080914216909143160E94FCF687FF94C089 -:102700002091DE168091651690916616A09167164D -:10271000B0916816211138C0D330C1F520915B0CFF -:102720002223D1F0E0917913F0E0EE0FFF1FE45E79 -:10273000FD4F0190F081E02D66AD77ADB695A79580 -:10274000979587952EE70397A105B10511F44EE300 -:1027500001C040E28C2FC8DA112309F461C08091D6 -:10276000651690916616A0916716B0916816B69599 -:10277000A795979587950397A105B10509F050C0D6 -:10278000C9DB89E39FEA46C003E001C004E00D1302 -:1027900048C020915B0C222319F1E0917913F0E0FD -:1027A000EE0FFF1FE45EFD4F0190F081E02DE05C35 -:1027B000FF4F0190F081E02DB695A79597958795ED -:1027C000402F50E060E070E02EE784179507A607E1 -:1027D000B70711F44EE301C040E2BF018C2F84DA49 -:1027E0001123F9F0409165165091661660916716B5 -:1027F000709168167695679557954795802F90E06C -:10280000A0E0B0E0481759076A077B0751F482DB64 -:1028100085E69DEADF91CF911F910F91FF90A7CBA5 -:1028200004E031E0300F01C033E040916516509173 -:10283000661660916716709168167695679557953C -:102840004795832F90E0A0E0B0E0481759076A074A -:102850007B0788F0832F90E0880F991F0197AA27A4 -:1028600097FDA095BA2F8093651690936616A09356 -:102870006716B09368164091651650916616609180 -:10288000671670916816769567955795479580916C -:102890006E1690E00396242F30E0821793074CF4D5 -:1028A0008DEF840F80936E16F0925B0CDCEFD40FEB -:1028B000CFEFCF5FDF5FC43008F466CEDF91CF91FA -:1028C0001F910F91FF90089580E090E0A0E8BFE392 -:1028D0008093401690934116A0934216B0934316EE -:1028E00017CE8093791391E090935E0C682F8EEF52 -:1028F0009FE00F94FC0280914416813019F482E02D -:102900008093441608957F928F929F92AF92BF92C8 -:10291000CF92DF92EF92FF920F931F93CF93DF93AB -:102920008091651690916616A0916716B091681611 -:1029300081309048A105B10540F0109265161092C3 -:10294000661610926716109268168091651690911F -:102950006616A0916716B0916816B695A7959795DB -:10296000879540916E1650E060E070E084179507FF -:10297000A607B70710F480936E16E0906E16D090FD -:102980006F16D2FADD24D0F8F12CCC24C3948091B8 -:10299000441681113BC0EE2019F07724739437C0A0 -:1029A00080915B0C882301F1E0917913F0E0EE0F48 -:1029B000FF1FE45EFD4F0190F081E02DE450FF4FDA -:1029C000608171818091651690916616A09167165D -:1029D000B091681623E00297A105B10510F443E019 -:1029E00001C040E28F2D80D9DD20B9F280916516BB -:1029F00090916616A0916716B09168160297A1058E -:102A0000B10558F687DA81E29DE951C0712C8091B9 -:102A10004416823009F05AC07E1057C080915B0C7A -:102A2000882359F1E0917913F0E0EE0FFF1FE45E87 -:102A3000FD4F0190F081E02DE055FF4F0190F081B6 -:102A4000E02D8091651690916616A0916716B09161 -:102A50006816B695A79597958795472D50E060E045 -:102A600070E023E084179507A607B70711F443E049 -:102A700001C040E2BF018F2D37D9DD2031F18091B7 -:102A8000651690916616A0916716B0916816B69576 -:102A9000A79597958795472D50E060E070E08417E3 -:102AA0009507A607B70789F435DA85E493ECDF913B -:102AB000CF911F910F91FF90EF90DF90CF90BF903B -:102AC000AF909F908F907F904DCA73940CE112E06D -:102AD000C0E0D0E08E2C912CA12CB12C7E104AC0ED -:102AE00080915B0C882319F1D801ED91FC91E6549B -:102AF000FE4F608171818091651690916616A0915C -:102B00006716B0916816B695A79597958795272D66 -:102B100030E040E050E082179307A407B50719F4AE -:102B200020E24EE302C020E240E28F2DDDD8DD201E -:102B300009F18091651690916616A0916716B09183 -:102B40006816B695A7959795879588159905AA054E -:102B5000BB0581F4DFD98C2FDF91CF911F910F91AD -:102B6000FF90EF90DF90CF90BF90AF909F908F90AD -:102B70007F90B7CE739421960E5F1F4FC530D1055D -:102B800009F0ACCF409165165091661660916716BA -:102B9000709168167695679557954795872D90E0C3 -:102BA000A0E0B0E0481759076A077B0788F0872D37 -:102BB00090E0880F991F0197AA2797FDA095BA2F3B -:102BC0008093651690936616A0936716B093681667 -:102BD000409165165091661660916716709168165F -:102BE000769567955795479580916E1690E0039678 -:102BF000242F30E0821793075CF48DEF840F8093CD -:102C00006E16C0925B0CECEFEE2EE40EFF24FA94ED -:102C1000F394E394B3E0BF1508F0B9CEDF91CF9100 -:102C20001F910F91FF90EF90DF90CF90BF90AF90EA -:102C30009F908F907F9008951092E4168CE893E116 -:102C40000E94A35D10926E1608958CE893E10E9495 -:102C500082541092DE1683E080935B0C08958CE81A -:102C600093E10E94895481E08093DE1683E0809393 -:102C70005B0C089520E044E064E180E796E10E9467 -:102C80004B4B0E94D78D80E796E10C940C4BF2DF02 -:102C900020E040E050E0BA0185E493EC4DC9109289 -:102CA0000F1110920E1110920D1110920C11109222 -:102CB000461310924513EBCF8091DC169091DD16F0 -:102CC00090930F1180930E118091DA169091DB167C -:102CD00090930D1180930C1110924613109245138E -:102CE000D6DF0C9415408091D6169091D71690930C -:102CF0000F1180930E118091D4169091D516909358 -:102D00000D1180930C111092461310924513BFDFE2 -:102D10000C94154080916D0C90916E0C90930F1156 -:102D200080930E1180916B0C90916C0C90930D110F -:102D300080930C111092461310924513A8DF0C9447 -:102D400015408091690C90916A0C90930F118093BB -:102D50000E118091670C9091680C90930D118093E7 -:102D60000C11109246131092451391DF0C941540EC -:102D70008091650C9091660C90930F1180930E11C9 -:102D80008091630C9091640C90930D1180930C11C1 -:102D900010924613109245137ADF0C9415408091DF -:102DA000610C9091620C90930F1180930E118091A1 -:102DB0005F0C9091600C90930D1180930C11109208 -:102DC00046131092451363DF0C941540CF92DF92A7 -:102DD000EF92FF920F931F93CF93DF93809165162D -:102DE00090916616A0916716B09168168130904850 -:102DF000A105B10540F0109265161092661610926A -:102E00006716109268168091651690916616A091CB -:102E10006716B0916816B695A795979587954091D6 -:102E20006E1650E060E070E084179507A607B707BC -:102E300010F480936E16D0916E1610916F1612FBDF -:102E4000112710F9C0E0BFE0CB2ED12CE12CF12CE2 -:102E500001E0409165165091661660916716709179 -:102E60006816D11139C080915B0C8823C9F0E091BC -:102E70007913F0E0EE0FFF1FE45EFD4F0190F0814B -:102E8000E02D8681978123E042305105610571056F -:102E900010F443E001C040E2BC018C2F0E94748E0C -:102EA000112309F4A4C18091651690916616A09132 -:102EB0006716B09168160297A105B10508F097C191 -:102EC00029D889ED9BEBDF91CF911F910F91FF9056 -:102ED000EF90DF90CF9046C8D130A9F580915B0C80 -:102EE000882391F0769567955795479520E2413074 -:102EF00051056105710511F44EE301C040E266EF32 -:102F000072E58C2F0E94748E112309F470C1809198 -:102F1000651690916616A0916716B0916816B695E1 -:102F2000A795979587950197A105B10509F05FC110 -:102F30000E948A8FDF91CF911F910F91FF90EF90A8 -:102F4000DF90CF90D0CED230A9F580915B0C882352 -:102F500091F0769567955795479520E24230510557 -:102F60006105710511F44EE301C040E267EE72E5C0 -:102F70008C2F0E94748E112309F439C1809165163B -:102F800090916616A0916716B0916816B695A795B0 -:102F9000979587950297A105B10509F028C10E9470 -:102FA0008A8FDF91CF911F910F91FF90EF90DF906B -:102FB000CF9082CED330A9F580915B0C882391F01D -:102FC000769567955795479520E243305105610501 -:102FD000710511F44EE301C040E268ED72E58C2FFB -:102FE0000E94748E112309F402C18091651690919C -:102FF0006616A0916716B0916816B695A795979535 -:1030000087950397A105B10509F0F1C00E948A8F49 -:10301000DF91CF911F910F91FF90EF90DF90CF90B4 -:1030200090CED430A9F580915B0C882391F07695F1 -:1030300067955795479520E2443051056105710524 -:1030400011F44EE301C040E268EC72E58C2F0E945F -:10305000748E112309F4CBC0809165169091661689 -:10306000A0916716B0916816B695A7959795879524 -:103070000497A105B10509F0BAC00E948A8FDF91BB -:10308000CF911F910F91FF90EF90DF90CF9070CE76 -:10309000D530A9F580915B0C882391F076956795E2 -:1030A0005795479520E2453051056105710511F4AA -:1030B0004EE301C040E268EB72E58C2F0E94748EF3 -:1030C000112309F494C08091651690916616A09121 -:1030D0006716B0916816B695A79597958795059749 -:1030E000A105B10509F083C00E948A8FDF91CF91BD -:1030F0001F910F91FF90EF90DF90CF900BCED630C5 -:10310000A9F580915B0C882391F07695679557958A -:10311000479520E2463051056105710511F44EE3F3 -:1031200001C040E269EA72E58C2F0E94748E11237F -:1031300009F45DC08091651690916616A09167169E -:10314000B0916816B695A795979587950697A105AE -:10315000B10509F04CC00E948A8FDF91CF911F9179 -:103160000F91FF90EF90DF90CF9019CED73009F0FC -:103170003EC080915B0C8823E9F0E0917913F0E088 -:10318000EE0FFF1FE45EFD4F0190F081E02D86A55C -:1031900097A5769567955795479520E24730510555 -:1031A0006105710511F44EE301C040E2BC018C2FB2 -:1031B0000E94748E1123D9F0809165169091661645 -:1031C000A0916716B0916816B695A79597958795C3 -:1031D0000797A105B10559F40E948A8FDF91CF911D -:1031E0001F910F91FF90EF90DF90CF9058CD80917D -:1031F000651690916616A0916716B0916816409773 -:10320000A105B10540F0C0926516D0926616E09215 -:103210006716F09268164091651650916616609197 -:1032200067167091681676956795579547958091C2 -:103230006E1690E00396242F30E0821793074CF42B -:103240008DEF840F80936E1600935B0CDCEFD40F30 -:10325000CFEFCF5FDF5FC43008F4FBCDDF91CF91BC -:103260001F910F91FF90EF90DF90CF9008952F92D4 -:103270003F924F925F926F927F928F929F92AF9206 -:10328000BF92CF92DF92EF92FF920F931F93CF9353 -:10329000DF93CDB7DEB7A2970FB6F894DEBF0FBEAF -:1032A000CDBF80915B0C811104C080916F1682FFAD -:1032B000BAC28CE893E10E948A5C409165165091F5 -:1032C0006616609167167091681641305048610526 -:1032D000710540F0109265161092661610926716EE -:1032E00010926816409165165091661660916716A7 -:1032F00070916816769567955795479500916E166B -:1033000010E020E030E0401751076207730710F427 -:1033100040936E1640906E1630906F1632FA33243A -:1033200030F8512C9C012150310939A328A34110B8 -:1033300038C080915B0C8823F9F0E0917913F0E0BC -:10334000EE0FFF1FE45EFD4F0190F081E02D6681DE -:1033500077818091651690916616A0916716B0915D -:10336000681623E00297A105B10510F443E001C0FF -:1033700040E2852D0E94748E332099F0809165166D -:1033800090916616A0916716B09168160297A105F4 -:10339000B10538F40E948A8F89ED9BEB0E94B28FB1 -:1033A00042C260E973E18AEF93E10E94413180916A -:1033B00090138F3229F031E0431669F022E001C00A -:1033C00021E0A8A0B9A0C42CD12CE12CF12C2224FE -:1033D0002394240C4BC080915B0C8823C9F080910E -:1033E000651690916616A0916716B0916816B6950D -:1033F000A7959795879520E20197A105B10511F44E -:103400004EE301C040E26BE07EE0852D0E94748EA9 -:103410003320A1F28091651690916616A0916716EF -:10342000B0916816B695A795979587950197A105D0 -:10343000B10521F60E948A8FFFDBF5C1241161C11D -:1034400040E050E0B5018CE893E10E94A5589091CE -:10345000D21380915B0C992309F49BC081110BC09E -:10346000311074C0222DF1E0AF1AB1083FEFA3165E -:10347000B30621F748C18091651690916616A09118 -:103480006716B0916816B695A79597958795452DBF -:1034900060E08C159D05AE05BF0561F580E796E1FE -:1034A0000E94184B6EE380E796E10E94B3F565E059 -:1034B00080E796E10E94B3F580919D13882329F05F -:1034C0001092AF130DE913E102C000E913E1B2E17C -:1034D0009B2EF80161918F01662311F0911062C15A -:1034E000992009F4BDCF60E280E796E10E94B3F530 -:1034F0009A94F6CF80E796E10E94184B60E280E74D -:1035000096E10E94B3F565E080E796E10E94B3F58D -:1035100080919D13882329F01092AF130DE913E1D8 -:1035200002C000E913E1A2E19A2EF80161918F0136 -:10353000662311F091103CC1992009F491CF60E20B -:1035400080E796E10E94B3F59A94F6CF80916516D4 -:1035500090916616A0916716B0916816B695A795DA -:10356000979587958C159D05AE05BF0509F07ACF17 -:103570000E948A8F60E973E18CE893E10E94ED5C20 -:1035800010926516109266161092671610926816C1 -:103590004AC1811103C0311071C064CF809165169A -:1035A00090916616A0916716B0916816B695A7958A -:1035B000979587958C159D05AE05BF05B1F52091B2 -:1035C000F8162F8F10E0412F60E080E796E10E940F -:1035D000184B60E280E796E10E94B3F51F5F14305C -:1035E00091F7452D60E080E796E10E94184B6EE36D -:1035F00080E796E10E94B3F56EE9862E63E1962E90 -:103600007DE9672E73E1772E01E010E0F30121914F -:103610003F012111D3C014E1101B60E280E796E165 -:103620000E94B3F51150C9F7B6CF452D60E080E791 -:1036300096E10E94184B60E280E796E10E94B3F5A4 -:1036400080919D13882329F01092B0130DE913E1A6 -:1036500002C000E913E153E1952EF80161918F0159 -:10366000662311F09110D9C0992009F494CF60E23B -:1036700080E796E10E94B3F59A94F6CF80916516A3 -:1036800090916616A0916716B0916816B695A795A9 -:10369000979587958C159D05AE05BF0509F0E2CE7F -:1036A0000E948A8F80E993E19F938F938AE093E54C -:1036B0009F938F938E010F5F1F4F1F930F930F9454 -:1036C000CB000F900F900F900F900F900F907E01F6 -:1036D000F5E0EF0EF11CF7018081882349F099276E -:1036E00087FD90950E94FFFFF70181937F01F3CF43 -:1036F000C8010E943C6286E093E50E94BC62C7DA82 -:1037000092C02F5FB0CE8091651690916616A09101 -:103710006716B0916816B695A79597958795422F2D -:1037200050E060E070E084179507A607B70788F0BF -:10373000822F90E0880F991F0197AA2797FDA095E7 -:10374000BA2F8093651690936616A0936716B09370 -:1037500068168091651690916616A0916716B091D3 -:103760006816B695A7959795879520916E1630E0C7 -:103770002D5F3F4F482F50E02417350764F42DEF9D -:10378000280F20936E1621E020935B0C1CEF412E36 -:10379000480E55245A945394439483E0851508F0B9 -:1037A000C6CD41C080E796E10E94B3F59A9491CED0 -:1037B00080E796E10E94B3F59A94B7CE452D602F2D -:1037C00080E796E12AA30E94184B2AA1622F80E786 -:1037D00096E10E94B3F50F5F1F4F0431110509F008 -:1037E00015CF34010CE211E080916F1682FD05C007 -:1037F0008091F8163F8D381749F0015011090115D5 -:10380000110591F78FEF881A980AFECE61E070E0FB -:1038100080E090E00E9478F0F0CF80E796E10E948F -:10382000B3F59A941ACFA2960FB6F894DEBF0FBEE6 -:10383000CDBFDF91CF911F910F91FF90EF90DF905F -:10384000CF90BF90AF909F908F907F906F905F9040 -:103850004F903F902F900895CF93DF93CDB7DEB771 -:1038600028970FB6F894DEBF0FBECDBF88E0E3ED1A -:10387000FCE0DE01119601900D928A95E1F7AE0110 -:103880004F5F5F4F61E080E796E10E94B64C28965B -:103890000FB6F894DEBF0FBECDBFDF91CF91089574 -:1038A000CF93DF93CDB7DEB728970FB6F894DEBF7E -:1038B0000FBECDBF88E0EBE9FCE0DE011196019080 -:1038C0000D928A95E1F7AE014F5F5F4F61E080E7AF -:1038D00096E10E94B64C28960FB6F894DEBF0FBE54 -:1038E000CDBFDF91CF9108958EEF9FE00F94E70257 -:1038F000853028F48093791310924416089581E05E -:10390000809379138093441608951F93CF93DF9388 -:10391000EC01FB01608111810F94FC02612FCE014B -:103920000196DF91CF911F910D94FC02FF920F93AE -:103930001F93CF93DF938C01EB010F94E702F82ED6 -:10394000C80101960F94E702F8828983DF91CF9135 -:103950001F910F91FF9008950895EF92FF920F939A -:103960001F93CF93DF931F92CDB7DEB77B018C01FE -:10397000061B170B460FC701800F911FF7016191BE -:103980007F0149830F94FC0249814E11F4CF0F90BF -:10399000DF91CF911F910F91FF90EF90089581E0FB -:1039A0009091E316911180E08093E31641E063EE7D -:1039B00076E18FEF9FE0D1DF0E943BDB21E047E023 -:1039C00050E060E070E081E29DE90C949C8F81E022 -:1039D0009091E316911180E08093E31641E063EE4D -:1039E00076E18FEF9FE0B9DF0E943BDB21E049E009 -:1039F00050E060E070E08BE499EA0C949C8FEF92C9 -:103A0000FF920F931F93CF93DF931F92CDB7DEB733 -:103A10007B018C01061B170B460FC701800F911FFE -:103A200049830F94E702F70181937F0149814E1387 -:103A3000F4CF0F90DF91CF911F910F91FF90EF90F6 -:103A400008958F929F92AF92BF92EF92FF920F9341 -:103A50001F93CF93DF9341E063EE76E18FEF9FE01A -:103A6000CEDF8091651690916616A0916716B09191 -:103A7000681681309048A105B10540F01092651696 -:103A8000109266161092671610926816809165164D -:103A900090916616A0916716B0916816B695A79595 -:103AA0009795879540916E1650E060E070E084171E -:103AB0009507A607B70710F480936E16D0916E167F -:103AC00010916F1612FB112710F9C0E001E0D1111F -:103AD00043C080915B0C8823F9F0E0917913F0E00A -:103AE000EE0FFF1FE45EFD4F0190F081E02D668137 -:103AF00077818091651690916616A0916716B091B6 -:103B0000681623E00297A105B10510F443E001C057 -:103B100040E28C2F0E94748E112309F4A2C0809180 -:103B2000651690916616A0916716B0916816029777 -:103B3000A105B10508F095C00E948A8F89ED9BEB25 -:103B4000DF91CF911F910F91FF90EF90BF90AF90B9 -:103B50009F908F900C94B28FD13009F042C0809129 -:103B60005B0C882329F1E0917913F0E0EE0FFF1F41 -:103B7000E45EFD4F0190F081E02DE856FF4F60813B -:103B800071818091651690916616A0916716B0912B -:103B90006816B695A795979587952EE70197A10585 -:103BA000B10511F44EE301C040E28C2F0E94748EE7 -:103BB000112309F456C08091651690916616A09164 -:103BC0006716B0916816B695A79597958795019752 -:103BD000A105B10509F045C00E948A8F8EE497EADD -:103BE000C1C2D230F1F580915B0C882319F1E091CC -:103BF0007913F0E0EE0FFF1FE45EFD4F0190F081BE -:103C0000E02D60AD71AD8091651690916616A09122 -:103C10006716B0916816B695A795979587952EE784 -:103C20000297A105B10511F44EE301C040E28C2FCB -:103C30000E94748E1123A9F08091651690916616EA -:103C4000A0916716B0916816B695A7959795879538 -:103C50000297A105B10529F40E948A8F84E694E9B0 -:103C600081C28091DE16811145C0D33019F034E055 -:103C7000F32E42C080915B0C882329F1E0917913E7 -:103C8000F0E0EE0FFF1FE45EFD4F0190F081E02DAC -:103C9000EA50FF4F608171818091651690916616A0 -:103CA000A0916716B0916816B695A79597958795D8 -:103CB00020E20397A105B10511F44EE301C040E2F3 -:103CC0008C2F0E94748E112391F280916516909131 -:103CD0006616A0916716B0916816B695A795979548 -:103CE00087950397A105B10511F60E948A8F88E296 -:103CF00093E551C063E0F62E8091DE168111A6C0D7 -:103D0000FD1255C080915B0C882351F1E09179132D -:103D1000F0E0EE0FFF1FE45EFD4F0190F081E02D1B -:103D20000284F385E02D8091651690916616A0912E -:103D30006716B0916816B695A795979587954F2DFC -:103D400050E060E070E020E284179507A607B7070F -:103D500011F44EE301C040E2BF018C2F0E94748E2B -:103D6000112329F18091651690916616A09167162E -:103D7000B0916816B695A795979587954F2D50E009 -:103D800060E070E084179507A607B70781F40E94EA -:103D90008A8F84E293E5DF91CF911F910F91FF907D -:103DA000EF90BF90AF909F908F900C94BC62EE24E8 -:103DB000E394EF0CED1248C080915B0C882341F135 -:103DC000E0917913F0E0EE0FFF1FE45EFD4F0190EC -:103DD000F081E02D64857585809165169091661659 -:103DE000A0916716B0916816B695A7959795879597 -:103DF0008D2E912CA12CB12C20E288159905AA05B5 -:103E0000BB0511F44EE301C040E28C2F0E94748E7A -:103E10001123D1F08091651690916616A0916716D6 -:103E2000B0916816B695A795979587954E2D50E059 -:103E300060E070E084179507A607B70729F40E9491 -:103E40008A8F80E293E5A7CFF394F3948091E316F1 -:103E5000811113C0FD1267C080915B0C8823E9F1CA -:103E6000E0917913F0E0EE0FFF1FE45EFD4F01904B -:103E7000F081E02DEA5DFE4F12C0FD1254C080912A -:103E80005B0C882351F1E0917913F0E0EE0FFF1FF6 -:103E9000E45EFD4F0190F081E02DEC5DFE4F01905E -:103EA000F081E02D8091651690916616A0916716BD -:103EB000B0916816B695A795979587954F2D50E0C8 -:103EC00060E070E020E284179507A607B70749F184 -:103ED00040E2BF018C2F0E94748E112321F180914A -:103EE000651690916616A0916716B0916816B69502 -:103EF000A795979587954F2D50E060E070E0841767 -:103F00009507A607B70779F40E948A8FDF91CF91B2 -:103F10001F910F91FF90EF90BF90AF909F908F9067 -:103F20003ECD4EE3D6CFF39462EF76E18CEF9FE087 -:103F3000FDDC64EF76E18AEF9FE0F8DC66EF76E186 -:103F400088EF9FE0F3DC6091F6167091F7168827F2 -:103F500077FD8095982F0E949EF72091071D309144 -:103F6000081D4091091D50910A1D0E9403F760939E -:103F7000EE167093EF168093F0169093F1168091E1 -:103F8000DE1681114FC0FD124CC080915B0C88235E -:103F900061F1E0917913F0E0EE0FFF1FE45EFD4F59 -:103FA0000190F081E02DE251FF4F0190F081E02D72 -:103FB0008091651690916616A0916716B09168166B -:103FC000B695A795979587954F2D50E060E070E0E6 -:103FD0002EE784179507A607B70711F44EE301C033 -:103FE00040E2BF018C2F0E94748E1123D1F080918A -:103FF000651690916616A0916716B0916816B695F1 -:10400000A795979587954F2D50E060E070E0841755 -:104010009507A607B70729F40E948A8F82E79FEACF -:10402000A1C0F394FD124CC080915B0C882361F118 -:10403000E0917913F0E0EE0FFF1FE45EFD4F019079 -:10404000F081E02DE454FE4F0190F081E02D80914D -:10405000651690916616A0916716B0916816B69590 -:10406000A795979587954F2D50E060E070E02EE77B -:1040700084179507A607B70711F44EE301C040E285 -:10408000BF018C2F0E94748E1123D1F08091651690 -:1040900090916616A0916716B0916816B695A7958F -:1040A000979587954F2D50E060E070E08417950755 -:1040B000A607B70729F40E948A8F83E894E952C0C3 -:1040C000EE24E394EF0C8091DE1681115AC0ED12BC -:1040D00055C080915B0C882351F1E0917913F0E099 -:1040E000EE0FFF1FE45EFD4F0190F081E02DEE50DA -:1040F000FE4F608171818091651690916616A09146 -:104100006716B0916816B695A795979587958D2EE9 -:10411000912CA12CB12C2EE788159905AA05BB0579 -:1041200011F44EE301C040E28C2F0E94748E1123E3 -:1041300029F140916516509166166091671670914D -:10414000681676956795579547958E2D90E0A0E077 -:10415000B0E0481759076A077B0781F40E948A8FED -:1041600080E797EBDF91CF911F910F91FF90EF9038 -:10417000BF90AF909F908F900C94B78F82E0E82E05 -:10418000EF0C40916516509166166091671670911C -:10419000681676956795579547958E2D90E0A0E027 -:1041A000B0E0481759076A077B0788F08E2D90E02A -:1041B000880F991F0197AA2797FDA095BA2F809382 -:1041C000651690936616A0936716B0936816409193 -:1041D000651650916616609167167091681676950F -:1041E00067955795479580916E1690E00396242F1A -:1041F00030E0821793074CF48DEF840F80936E1696 -:1042000000935B0CDCEFD40FCFEFCF5FDF5FC430E8 -:1042100008F45DCCDF91CF911F910F91FF90EF904B -:10422000BF90AF909F908F9008956FEF8EEF9FE0BB -:104230000D94FC0280935E1610925D160895ECEBCF -:10424000F6E101900020E9F73197EC5BF6411E168C -:104250001F0634F01092D01682E080935B0C089514 -:1042600080E2E431F105B4F7DF01A454B94E8C9338 -:104270003196F7CF2091D116211108C044E150E0CA -:10428000BC018CEB96E10F94BC00D9CF089520912E -:10429000D116211108C044E150E0BC018CEB96E13D -:1042A0000F942F00CCCF08958091E1169091E216E3 -:1042B000019709F050C08091DF169091E016892B8C -:1042C00049F485E090E09093E0168093DF1681E05A -:1042D000809370138091DF169091E016019739F466 -:1042E0009091CB178091CA17981709F4A4C08091B8 -:1042F000DF169091E016029739F49091CB178091D8 -:10430000CA17981709F4B6C08091DF169091E0168D -:10431000039739F49091CB178091CA17981709F435 -:10432000C3C08091DF169091E016049739F4909104 -:10433000CB178091CA17981709F4C1C08091DF1676 -:104340009091E016059739F49091CB178091CA1798 -:10435000981709F4CEC08091E1169091E216029769 -:1043600009F05DC08091DF169091E016892B49F429 -:1043700086E090E09093E0168093DF1681E08093D2 -:1043800070138091DF169091E016019739F49091A7 -:10439000CB178091CA17981709F4CBC08091DF160C -:1043A0009091E016029739F49091CB178091CA173B -:1043B000981709F4D6C08091DF169091E016039704 -:1043C00039F49091CB178091CA17981709F4F1C06E -:1043D0008091DF169091E016049739F49091CB17F5 -:1043E0008091CA17981709F4EFC08091DF16909159 -:1043F000E016059739F49091CB178091CA1798175A -:1044000009F4F5C08091DF169091E016069739F413 -:104410009091CB178091CA17981709F406C1809123 -:10442000E1169091E216039709F02AC11092E21664 -:104430001092E11608951092E0161092DF16109275 -:10444000E2161092E116E0917913F0E0EE0FFF1FF3 -:10445000E45EFD4F0190F081E02D8081918117DFB6 -:10446000159A10924E131092701310926F131092AF -:104470006E133DCFE0917913F0E0EE0FFF1FE45E85 -:10448000FD4F0190F081E02DEA5EFE4F8081918129 -:10449000FEDE8DE692E50E94BC6281E090E09093A2 -:1044A000E0168093DF1630CF81E692E50E94BC6271 -:1044B00082E090E09093E0168093DF1632CFE09197 -:1044C0007913F0E0EE0FFF1FE45EFD4F0190F081E5 -:1044D000E02DE05EFE4F80819181D9DE8DE592E591 -:1044E0000E94BC6283E090E09093E0168093DF1618 -:1044F00025CFE0917913F0E0EE0FFF1FE45EFD4F52 -:104500000190F081E02DE85EFE4F80819181BFDE59 -:10451000159881E08093701382E090E090936F1380 -:1045200080936E1384E090E09093E0168093DF1602 -:1045300012CF1092E0161092DF161092E21610922F -:10454000E116E0917913F0E0EE0FFF1FE45EFD4FFE -:104550000190F081E02D8081918199DE109270139D -:104560001DCF10920D1110920C1110920F1110927C -:104570000E1110921111109210111092131110922D -:1045800012110E94D545E0917913F0E0EE0FFF1F64 -:10459000E45EFD4F0190F081E02D8081918177DE16 -:1045A0001092361381E090E09093E0168093DF162E -:1045B00002CF89E592E50E94BC6282E090E0909390 -:1045C000E0168093DF1604CF85E592E50E94BC6279 -:1045D00080E492E50E94BC6210925E1610925D1615 -:1045E00083E090E09093E0168093DF16FECEE0919A -:1045F0007913F0E0EE0FFF1FE45EFD4F0190F081B4 -:10460000E02DEA53FF4F8081918141DE8CE392E5FA -:104610000E94BC628FE292E50E94BC6284E090E05E -:104620009093E0168093DF16EDCEE0917913F0E0E1 -:10463000EE0FFF1FE45EFD4F0190F081E02DEA5385 -:10464000FF4F8081918123DE81E0809336131092A9 -:104650000D1110920C1110920F1110920E11109258 -:1046600011111092101110921311109212110E9438 -:10467000D54585E090E09093E0168093DF16CFCE8D -:10468000089505DE81E08093D1160C944796109230 -:10469000D1160895CF92DF92EF92FF92CF93C091FF -:1046A0000301C2FBCC27C0F981E0C8278091030138 -:1046B00081FFC260C0906A16D0906B16E0906C16B5 -:1046C000F0906D160E9449F0C616D706E806F90666 -:1046D00020F48091000186FF39C0C0936F1680914D -:1046E0006F16817090916F1691FD8260909169169E -:1046F000891721F18130F1F028F0823089F0833080 -:10470000A1F01CC0913021F49091F8169F5F05C074 -:104710009230A1F49091F81691509093F8160EC033 -:10472000992391F3933051F4F5CF923069F391309E -:1047300029F4F0CF933041F3992361F38093691604 -:10474000CF91FF90EF90DF90CF900895C460C5CFD8 -:104750000E943A96E4E0F1E080818B7F8083808143 -:104760008D7F80839FB7F894E5E0F1E080818460DD -:1047700080839FBF9FB7F8948081826080839FBFB2 -:10478000E1E0F1E080818F7B80839FB7F894E2E0E5 -:10479000F1E08081806480839FBF60E08FE00E94B1 -:1047A00069EF9FB7F894E5E0F1E080818160808354 -:1047B0009FBF8091030180958170809364166ADFAA -:1047C0001092F8160895CF92DF92EF92FF9262DF77 -:1047D00080910301817091E08927209164168217EE -:1047E00009F182E080935B0C80910301817089273D -:1047F000809364160E943A9680916416882309F487 -:10480000A8C08CE893E10E947F53E0917913F0E017 -:10481000EE0FFF1FE45EFD4F0190F081E02D8281DD -:10482000938135DDC0906016D0906116E0906216DD -:10483000F09063160E9449F0C616D706E806F906FE -:1048400008F09EC08091F816482F552747FD5095D7 -:1048500057FF03C05195419551094230510584F1EC -:1048600091E090935B0C87FD8F5F482F459555270E -:1048700047FD5095652F752F8091651690916616AE -:10488000A0916716B0916816840F951FA61FB71FD9 -:104890008093651690936616A0936716B09368167A -:1048A0001092F8160E9449F06856754C8F4F9F4F32 -:1048B000609334167093351680933616909337169E -:1048C00080916F1682FF0EC00E9449F06856754CA9 -:1048D0008F4F9F4F60933416709335168093361622 -:1048E00090933716E0915C0CF0915D0C1995C09097 -:1048F0003416D0903516E0903616F09037160E9498 -:1049000049F0C616D706E806F90638F480915C0C23 -:1049100090915D0C8554934C69F580915B0C8230CD -:1049200011F40E94638F80915B0C882319F08150F1 -:1049300080935B0C0E9449F06C597F4F8F4F9F4FC3 -:10494000609360167093611680936216909363165D -:1049500017C08CE893E10E947E54E0917913F0E057 -:10496000EE0FFF1FE45EFD4F0190F081E02D84818A -:10497000958157CF0E94479682E080935B0CCDCF04 -:10498000FF90EF90DF90CF90089581E0089580919F -:104990006F1682FB882780F90895FC01808190E0E2 -:1049A0002AE030E0B9010E94C7FA482FCB01B901D3 -:1049B0000E94C7FA805D80933816405D4093391697 -:1049C00010923A1688E396E1089520E030E040E244 -:1049D00051E4FC0160817181828193810E94D1F94F -:1049E0000E946BF777FD02C02BE201C02DE22093FD -:1049F00038169B0177FF04C022273327261B370B6D -:104A0000C90168EE73E00E94C7FACB01EAE0F0E06A -:104A1000BF010E94C7FA805D80933916C90164E620 -:104A200070E00E94C7FACB01BF010E94C7FA805D07 -:104A300080933A16C901BF010E94C7FA282FCB0103 -:104A4000BF010E94C7FA805D80933B168EE280937F -:104A50003C16205D20933D1610923E1688E396E1A9 -:104A600008958F929F92AF92BF92CF92DF92EF9272 -:104A7000FF92CF93FC01C080D180E280F38020E0E0 -:104A800030E0A901C701B6010E94FFF818161CF416 -:104A9000C701B60103C0C701B60190580E946BF769 -:104AA0006B017C016031F7E27F078105910584F09D -:104AB00020E137E240E050E00E94FCFACA01B9016F -:104AC0002AE030E040E050E00E94FCFA605D01C066 -:104AD00060E26093381688EEC81683E0D806E104D9 -:104AE000F10494F0C701B60128EE33E040E050E055 -:104AF0000E94FCFACA01B9012AE030E040E050E02F -:104B00000E94FCFA605D01C060E260933916E4E641 -:104B1000CE16D104E104F10494F0C701B60124E6F5 -:104B200030E040E050E00E94FCFACA01B9012AE0FE -:104B300030E040E050E00E94FCFA605D01C060E3BC -:104B400060933A168EE280933B167AE0872E912C82 -:104B5000A12CB12CC701B601A50194010E94FCFA59 -:104B6000C62FCA01B901A50194010E94FCFA605D3B -:104B700060933C16C05DC0933D1688E396E1CF91EB -:104B8000FF90EF90DF90CF90BF90AF909F908F906D -:104B900008958F929F92AF92BF92CF92DF92EF9241 -:104BA000FF92CF9320E030E04AE754E4FC016081BB -:104BB0007181828193810E94D1F90E946BF797FDE8 -:104BC00002C020E201C02DE2209338166B017C0167 -:104BD00097FF08C0F094E094D094C094C11CD11CFD -:104BE000E11CF11CC701B60128EE33E040E050E0C3 -:104BF0000E94FCFAAAE08A2E912CA12CB12CCA01A9 -:104C0000B901A50194010E94FCFA605D6093391618 -:104C10008EE280933A16C701B60124E630E040E008 -:104C200050E00E94FCFACA01B901A50194010E945A -:104C3000FCFA605D60933B16C701B601A5019401C3 -:104C40000E94FCFAC62FCA01B901A50194010E9475 -:104C5000FCFA605D60933C16C05DC0933D161092F7 -:104C60003E1688E396E1CF91FF90EF90DF90CF90D2 -:104C7000BF90AF909F908F9008958F929F92AF9228 -:104C8000BF92CF92DF92EF92FF92FC0180809180E1 -:104C9000A280B38020E030E048EC52E4C501B401CA -:104CA0000E94D1F96B017C0120E030E0A9010E9453 -:104CB000FFF818161CF4C701B60103C0C701B601FE -:104CC00090580E946BF76B017C0120E030E0A90155 -:104CD000C501B4010E94FCF687FF12C08DE28093EB -:104CE0003816C701B60128EE33E040E050E00E94DC -:104CF000FCFACA01B9012AE030E040E050E036C0D9 -:104D0000C701B60120E137E240E050E00E94FCFA22 -:104D10008AE0882E912CA12CB12CCA01B901A501E1 -:104D200094010E94FCFA662391F0605D609338164E -:104D3000C701B60128EE33E040E050E00E94FCFAE3 -:104D4000CA01B901A50194010E94FCFA13C080E2D6 -:104D500080933816C701B60128EE33E040E050E0FA -:104D60000E94FCFACA01B901A50194010E94FCFA53 -:104D7000662311F0605D01C060E260933916C701DF -:104D8000B60124E630E040E050E00E94FCFABAE0D0 -:104D90008B2E912CA12CB12CCA01B901A501940133 -:104DA0000E94FCFA605D60933A16C701B601A50146 -:104DB00094010E94FCFA662381F0605D60933D16C9 -:104DC000CA01B901A50194010E94FCFA605D6093DB -:104DD0003C168EE280933B1615C0CA01B901A501AD -:104DE00094010E94FCFA662329F0605D60933C16F2 -:104DF0008EE203C080E280933C1680933B1680E2F3 -:104E000080933D1610923E1688E396E1FF90EF9056 -:104E1000DF90CF90BF90AF909F908F900895FC014E -:104E20002081318137FF07C08DE28093381631959C -:104E30002195310914C02436310574F0C90164E6A6 -:104E400070E00E94C7FACB016AE070E00E94C7FAE6 -:104E5000805D8093381606C080E2809338162A3031 -:104E6000310564F0EAE0F0E0C901BF010E94C7FA31 -:104E7000CB01BF010E94C7FA805D01C080E2809330 -:104E80003916C9016AE070E00E94C7FA805D80931C -:104E90003A1610923B1688E396E10895AF92BF92BE -:104EA000CF92DF92EF92FF920F931F93CF93DF93F6 -:104EB0006091140270911502809116029091170270 -:104EC0000E94574A6093491670934A1680934B1676 -:104ED00090934C1660911002709111028091120211 -:104EE000909113020E94634A609345167093461690 -:104EF0008093471690934816809165169091661698 -:104F0000A0916716B091681681309048A105B1054F -:104F100040F0109265161092661610926716109265 -:104F200068168091651690916616A0916716B091EB -:104F30006816B695A7959795879540916E1650E09F -:104F400060E070E084179507A607B70710F4809318 -:104F50006E1600916E16B0906F16B2FABB24B0F8C0 -:104F600010E0E7E0CE2ED12CE12CF12CAA24A39462 -:104F70008091651690916616A0916716B09168169B -:104F800001113DC020915B0C2223C9F0E0917913FF -:104F9000F0E0EE0FFF1FE45EFD4F0190F081E02D89 -:104FA000E450FF4F6081718123E00297A105B105B4 -:104FB00010F443E001C040E2812F0E94748EBB20B8 -:104FC00009F427C18091651690916616A091671625 -:104FD000B09168160297A105B10508F01AC10E94A8 -:104FE0008A8F81E29DE9DF91CF911F910F91FF9010 -:104FF000EF90DF90CF90BF90AF900C94B28F0130C4 -:1050000009F052C020915B0C222329F1E091791321 -:10501000F0E0EE0FFF1FE45EFD4F0190F081E02D08 -:10502000E25BFF4FC081D181B695A7959795879593 -:105030000197A105B10531F48EE091E1F0DE9C010C -:105040004EE305C08EE091E1EADE9C0140E2BE0144 -:10505000812F0E94218FBB2009F4DBC0809165164F -:1050600090916616A0916716B0916816B695A795AF -:10507000979587950197A105B10509F0CAC00E94CF -:105080008A8FE0917913F0E0EE0FFF1FE45EFD4F91 -:105090000190F081E02DE25BFF4F21E331E040E041 -:1050A00050E06EE071E1A7C0023009F052C02091DB -:1050B0005B0C222329F1E0917913F0E0EE0FFF1F42 -:1050C000E45EFD4F0190F081E02DEC5AFF4FC0816E -:1050D000D181B695A795979587950297A105B105BA -:1050E00031F48CE091E19BDE9C014EE305C08CE045 -:1050F00091E195DE9C0140E2BE01812F0E94218F4B -:10510000BB2009F486C08091651690916616A09127 -:105110006716B0916816B695A795979587950297EB -:10512000A105B10509F075C00E948A8FE09179133D -:10513000F0E0EE0FFF1FE45EFD4F0190F081E02DE7 -:10514000EC5AFF4F23E930E040E050E06CE071E1C1 -:1051500052C0033009F05DC020915B0C222329F17D -:10516000E0917913F0E0EE0FFF1FE45EFD4F019038 -:10517000F081E02DEA5AFF4FC081D181B695A79505 -:10518000979587950397A105B10531F485E493E1DF -:1051900046DE9C014EE305C085E493E140DE9C01C0 -:1051A00040E2BE01812F0E94218FBB2091F18091AE -:1051B000651690916616A0916716B0916816B6951F -:1051C000A795979587950397A105B10511F50E94BD -:1051D0008A8FE0917913F0E0EE0FFF1FE45EFD4F40 -:1051E0000190F081E02DEA5AFF4F2FEF30E040E0D0 -:1051F00050E065E473E180819181DF91CF911F914F -:105200000F91FF90EF90DF90CF90BF90AF900C94F4 -:10521000858D8091651690916616A0916716B09164 -:1052200068160897A105B10540F0C0926516D092A6 -:105230006616E0926716F0926816409165165091D6 -:105240006616609167167091681676956795579502 -:10525000479580916E1690E00396242F30E08217D8 -:1052600093074CF48DEF840F80936E16A0925B0C25 -:105270000CEF040F1FEF1F5F0F5F143008F478CEA0 -:10528000DF91CF911F910F91FF90EF90DF90CF9022 -:10529000BF90AF900895AF92BF92CF92DF92EF92FE -:1052A000FF920F931F93CF93DF9341E063EE76E17C -:1052B0008FEF9FE00E94FF9C80916516909166168B -:1052C000A0916716B091681681309048A105B1058C -:1052D00040F01092651610926616109267161092A2 -:1052E00068168091651690916616A0916716B09128 -:1052F0006816B695A7959795879540916E1650E0DC -:1053000060E070E084179507A607B70710F4809354 -:105310006E1600916E16B0906F16B2FABB24B0F8FC -:1053200010E04FE0C42ED12CE12CF12CAA24A39440 -:105330008091651690916616A0916716B0916816D7 -:1053400001113BC020915B0C2223B9F0E09179134D -:10535000F0E0EE0FFF1FE45EFD4F0190F081E02DC5 -:105360006681778123E00297A105B10510F443E03F -:1053700001C040E2812F0E94748EBB2009F419C243 -:105380008091651690916616A0916716B091681687 -:105390000297A105B10508F00CC20E948A8F89ED21 -:1053A0009BEBDF91CF911F910F91FF90EF90DF90DA -:1053B000CF90BF90AF900C94B28F013009F052C0E3 -:1053C00020915B0C222329F1E0917913F0E0EE0F9C -:1053D000FF1FE45EFD4F0190F081E02DE45BFF4F85 -:1053E000C081D181B695A795979587950197A1051D -:1053F000B10531F489E49CE012DD9C014EE305C067 -:1054000089E49CE00CDD9C0140E2BE01812F0E94FA -:10541000218FBB2009F4CDC180916516909166164D -:10542000A0916716B0916816B695A7959795879540 -:105430000197A105B10509F0BCC10E948A8FE091D6 -:105440007913F0E0EE0FFF1FE45EFD4F0190F08155 -:10545000E02DE45BFF4F27EE33E04AE050E069E4E3 -:105460007CE054C0023009F05FC020915B0C222325 -:1054700029F1E0917913F0E0EE0FFF1FE45EFD4F9C -:105480000190F081E02DE25BFF4FC081D181B695A4 -:10549000A795979587950297A105B10531F48EE000 -:1054A00091E1BDDC9C014EE305C08EE091E1B7DCEB -:1054B0009C0140E2BE01812F0E94218FBB2009F494 -:1054C00078C18091651690916616A0916716B0918B -:1054D0006816B695A795979587950297A105B1058A -:1054E00009F067C10E948A8FE0917913F0E0EE0F16 -:1054F000FF1FE45EFD4F0190F081E02DE25BFF4F66 -:1055000021E331E040E050E06EE071E18081918183 -:10551000DF91CF911F910F91FF90EF90DF90CF908F -:10552000BF90AF900C94858D033009F052C020914C -:105530005B0C222329F1E0917913F0E0EE0FFF1FBD -:10554000E45EFD4F0190F081E02DEC5AFF4FC081E9 -:10555000D181B695A795979587950397A105B10534 -:1055600031F48CE091E15BDC9C014EE305C08CE002 -:1055700091E155DC9C0140E2BE01812F0E94218F08 -:10558000BB2009F416C18091651690916616A09112 -:105590006716B0916816B695A79597958795039766 -:1055A000A105B10509F005C10E948A8FE091791328 -:1055B000F0E0EE0FFF1FE45EFD4F0190F081E02D63 -:1055C000EC5AFF4F2CE830E040E050E06CE071E135 -:1055D0009DCF043009F052C020915B0C222329F1A9 -:1055E000E0917913F0E0EE0FFF1FE45EFD4F0190B4 -:1055F000F081E02DEA5AFF4FC081D181B695A79581 -:10560000979587950497A105B10531F485E493E159 -:1056100006DC9C014EE305C085E493E100DC9C01BF -:1056200040E2BE01812F0E94218FBB2009F4C1C03E -:105630008091651690916616A0916716B0916816D4 -:10564000B695A795979587950497A105B10509F09B -:10565000B0C00E948A8FE0917913F0E0EE0FFF1F37 -:10566000E45EFD4F0190F081E02DEA5AFF4F2FEFED -:1056700030E040E050E065E473E148CF053009F0E8 -:1056800052C020915B0C222329F1E0917913F0E0C4 -:10569000EE0FFF1FE45EFD4F0190F081E02DE85A10 -:1056A000FF4FC081D181B695A795979587950597AE -:1056B000A105B10531F487E49CE0B1DB9C014EE328 -:1056C00005C087E49CE0ABDB9C0140E2BE01812F7A -:1056D0000E94218FBB2009F46CC0809165169091C7 -:1056E0006616A0916716B0916816B695A79597951E -:1056F00087950597A105B10509F05BC00E948A8FC7 -:10570000E0917913F0E0EE0FFF1FE45EFD4F019092 -:10571000F081E02DE85AFF4F27EE33E04AE050E0F9 -:1057200067E47CE0F3CE063009F043C020915B0CC7 -:105730002223E9F0E0917913F0E0EE0FFF1FE45E21 -:10574000FD4F0190F081E02DE252FF4F60817181A9 -:10575000B695A7959795879520E20697A105B1057F -:1057600011F44EE301C040E2812F0E94748EBB20F1 -:1057700001F18091651690916616A0916716B0911F -:105780006816B695A795979587950697A105B105D3 -:1057900081F40E948A8F84EA92E5DF91CF911F9174 -:1057A0000F91FF90EF90DF90CF90BF90AF900C944F -:1057B000BC622091E3168091651690916616A091C7 -:1057C0006716B0916816211114C0073009F055C052 -:1057D00020915B0C222379F1E0917913F0E0EE0F38 -:1057E000FF1FE45EFD4F0190F081E02DEA5DFE4F6A -:1057F00013C0073009F041C020915B0C2223D9F07F -:10580000E0917913F0E0EE0FFF1FE45EFD4F019091 -:10581000F081E02DEC5DFE4F60817181B695A7951A -:105820009795879520E20797A105B10521F140E200 -:10583000812F0E94748EBB2001F18091651690919A -:105840006616A0916716B0916816B695A7959795BC -:1058500087950797A105B10581F40E948A8FDF9192 -:10586000CF911F910F91FF90EF90DF90CF90BF905D -:10587000AF900C94E79C4EE3DBCF8091651690913E -:105880006616A0916716B09168164097A105B105FC -:1058900040F0C0926516D0926616E0926716F092BC -:1058A00068168091651690916616A0916716B09162 -:1058B0006816B695A7959795879520916E1630E056 -:1058C0002D5F3F4F482F50E0241735074CF42DEF44 -:1058D000280F20936E16A0925B0C0CEF080F1FEFA1 -:1058E0001F5F0F5F143008F423CDDF91CF911F911C -:1058F0000F91FF90EF90DF90CF90BF90AF90089501 -:10590000FC01808191818436910524F164E670E088 -:105910000E94C7FACB012AE030E0B9010E94C7FA21 -:10592000805D8093381680819181B9010E94C7FA09 -:10593000CB01B9010E94C7FA805D8093391680813E -:105940009181B9010E94C7FA805D80933A16109246 -:105950003B1623C08A309105BCF02AE030E0B90143 -:105960000E94C7FACB01B9010E94C7FA805D8093FB -:10597000381680819181B9010E94C7FA805D8093B9 -:10598000391610923A1609C06AE070E00E94C7FA10 -:10599000805D809338161092391688E396E1089559 -:1059A000FC0180819181883E23E092075CF068EEE3 -:1059B00073E00E94C7FACB016AE070E00E94C7FA68 -:1059C000805D01C080E280933816808191818436A9 -:1059D00091055CF064E670E00E94C7FACB016AE0D2 -:1059E00070E00E94C7FA805D01C080E280933916A2 -:1059F000808191818A3091055CF02AE030E0B90124 -:105A00000E94C7FACB01B9010E94C7FA805D01C0AC -:105A100080E280933A16808191816AE070E00E9472 -:105A2000C7FA805D80933B1610923C1688E396E19E -:105A30000895CF92EF920F93F7E4CF2EA5E5EA2ECB -:105A400006E423E142E162E580E796E10E94034C2F -:105A50000F91EF90CF900895CF93DF93FC01649165 -:105A6000EC012196662331F080E796E10E94F04C2C -:105A7000CE01F4CFDF91CF9108950F931F93CF9371 -:105A8000DF938C01EB0141E061E080E796E10E9449 -:105A9000184BC801E1DF6AE380E796E10E94B3F5A5 -:105AA000FE0101900020E9F76C2F6E1B6C5E41E057 -:105AB00080E796E10E94184BBE0180E796E1DF91F6 -:105AC000CF911F910F910C94B2F5CF92DF92EF928C -:105AD000FF920F931F938091651690916616A09187 -:105AE0006716B09168160097A105B10509F442C088 -:105AF000BC01882777FD8095982F0E949EF7209102 -:105B000040163091411640914216509143160E9422 -:105B1000D1F99B01AC01609167137091681380917A -:105B2000691390916A130E9423F660936713709330 -:105B300068138093691390936A13109265161092FC -:105B400066161092671610926816B7E4CB2EB3E172 -:105B5000DB2EE12CF12C00E81FE327E633E143E6DE -:105B600053E16FE573E18BE593E10E9474E181E01D -:105B700080935B0C80915B0C882341F087E693E176 -:105B80000E94E5A4BC0187E193E577DF80916F1661 -:105B900082FF0EC021E040E050E0BA0188E892E9BF -:105BA0001F910F91FF90EF90DF90CF900C949C8FFE -:105BB0001F910F91FF90EF90DF90CF900895CF93BA -:105BC000DF931F921F92CDB7DEB78091651690913B -:105BD0006616A0916716B0916816B7FF08C01092BC -:105BE00065161092661610926716109268168091CC -:105BF0004D1690914E16A0914F16B09150164091AF -:105C00006516509166166091671670916816841734 -:105C10009507A607B70744F4809365169093661618 -:105C2000A0936716B093681680915B0C8823A9F047 -:105C300080915116909152162091651630916616FA -:105C4000820F931F9A838983CE010196E8D8BC0105 -:105C5000809157169091581610DF80916F1682FF31 -:105C60001DC0E0915516F0915616809151169091F5 -:105C700052162091651630916616820F931F9183FC -:105C800080834091591650915A1660E070E021E0EF -:105C900080915B1690915C160E949C8F0F900F90E4 -:105CA000DF91CF9108954F925F926F927F928F9282 -:105CB0009F92AF92BF92CF92DF92EF92FF920F939B -:105CC0001F93CF93DF934C015B017A01809165169E -:105CD00090916616A0916716B0916816892B8A2B51 -:105CE0008B2B09F47BC00E946F65E501CC0FDD1F93 -:105CF000CC0FDD1F8E01055A1C4E60916516709108 -:105D00006616882777FD8095982F0E949EF7209130 -:105D100040163091411640914216509143160E9410 -:105D2000D1F9F80120813181428153810E9423F60B -:105D30002B013C0120E030E0A9010E94FCF6F801B3 -:105D400087FD05C0408251826282738204C0108246 -:105D5000118212821382B701882777FD8095982FD0 -:105D60000E949EF76B017C018E01055A1C4E9B011F -:105D7000AC01F80160817181828193810E94FFF8FA -:105D800018162CF4F801C082D182E282F3821092BC -:105D90006516109266161092671610926816C15812 -:105DA000D14F20E030E040E752E4688179818A8178 -:105DB0009B810E9403F737E4C32E33E1D32E7B018E -:105DC0008C0127E633E143E653E16FE573E18BE5B0 -:105DD00093E10E9474E181E080935B0C80915B0C05 -:105DE000882361F0C501880F991F880F991F855A74 -:105DF0009C4E0E94E5A4BC01C4013FDE80916F1659 -:105E000082FF18C021E040E050E0BA0188E892E942 -:105E1000DF91CF911F910F91FF90EF90DF90CF9086 -:105E2000BF90AF909F908F907F906F905F904F90BA -:105E30000C949C8FDF91CF911F910F91FF90EF9069 -:105E4000DF90CF90BF90AF909F908F907F906F909A -:105E50005F904F90089546ED50E060E070E081E182 -:105E600093E521CF46EC50E061E070E083E193E5FB -:105E70001ACF49EC50E062E070E085E193E513CF82 -:105E80000F931F93CF93DF938C01EB0141E060E010 -:105E900080E796E10E94184BC801DEDD6AE380E7E7 -:105EA00096E10E94B3F5FE0101900020E9F7BE01E2 -:105EB0006E1B7F0B6B5E7F4F7695679543E080E7A7 -:105EC00096E10E94184BBE0180E796E10E94B2F570 -:105ED00061E17EE080E796E1DF91CF911F910F9124 -:105EE0000C94B2F5CF93DF93E0917913F0E0EE0FCD -:105EF000FF1FE45EFD4F0190F081E02DEA54FE4F5C -:105F0000C081D1818091651690916616A091671627 -:105F1000B09168160097A105B105F1F12091FD102F -:105F20003091FE10280F391F3093FE102093FD1082 -:105F30002091F6163091F716280F391F3093F71677 -:105F40002093F616B901882777FD8095982F0E9437 -:105F50009EF72091071D3091081D4091091D509119 -:105F60000A1D0E9403F76093EE167093EF1680935C -:105F7000F0169093F11662E370E080E090E00E94EA -:105F800078F01092651610926616109267161092AD -:105F9000681681E080935B0C80915B0C882339F05C -:105FA0008EEE96E10E94C9A5BC01CE0169DF809109 -:105FB0006F1682FF08C021E040E050E0BA0189ED91 -:105FC0009BEB0E949C8F62EF76E18CEF9FE00E943A -:105FD000859C64EF76E18AEF9FE00E94859C66EFE6 -:105FE00076E188EF9FE0DF91CF910C94859C4F92F2 -:105FF0005F926F927F928F929F92AF92BF92CF9259 -:10600000DF92EF92FF920F931F93CF93DF93CDB761 -:10601000DEB72C970FB6F894DEBF0FBECDBF8091D0 -:106020008E13882309F4F8C0C0907513D0907613AE -:10603000E0907713F0907813C701B60120EA36E8B4 -:1060400041E050E00E94DAFA29873A874B875C8763 -:106050003E832D830E9449F00091691110916A11CD -:1060600020916B1130916C11601B710B820B930BA3 -:1060700028EE33E040E050E00E94DAFA29013A01CC -:10608000C90160E17EE00E94C7FA8B0124EC26037F -:10609000C001279F900D1124840D951D6CE370E0C5 -:1060A0000E94C7FA4B0126035001279FB00C112410 -:1060B00020EF31EF029FC001039F900D129F900DC2 -:1060C0001124A80EB91EA40CB51C40E060E080E7C6 -:1060D00096E10E94184BE0917913F0E0EE0FFF1F5C -:1060E000E45EFD4F0190F081E02DE252FE4F808191 -:1060F0009181B2DC41E066E080E796E10E94184BB6 -:10610000CE0105960E940FA7BC0180E796E10E9490 -:10611000B2F565E17EE080E796E10E94B2F5A985DF -:10612000BA8520E639E74EEF5FEF0E942EFB6C0D3B -:106130007D1D8E1D9F1D2AE030E040E050E00E9452 -:10614000DAFAB901882777FD8095982F0E949EF78B -:1061500069837A838B839C83CE0101960E9431A54B -:10616000BC0180E796E10E94B2F568E17EE080E73D -:1061700096E10E94B2F542E060E080E796E10E947D -:10618000184BE0917913F0E0EE0FFF1FE45EFD4F36 -:106190000190F081E02DE052FE4F808191815CDC26 -:1061A00043E068E080E796E10E94184B0983CE0146 -:1061B00001960E94CDA4BC0180E796E10E94B2F551 -:1061C0006BE17EE080E796E10E94B2F58982CE0124 -:1061D00001960E94CDA4BC0180E796E10E94B2F531 -:1061E00065E17EE080E796E10E94B2F5A982CE01EA -:1061F00001960E94CDA4BC0180E796E10E94B2F511 -:106200006EE17EE080E796E10E94B2F50E94C7A4AD -:10621000882309F478C173C181EF9FE00F94EF02E6 -:106220006B017C018DEE9FE00F94EF024B015C014E -:10623000C701B6010E949CF769837A838B839C8394 -:1062400020EAC21626E8D20621E0E206F10450F068 -:10625000C701B60120EA36E841E050E00E94DAFAD0 -:10626000D90102C0A0E0B0E0B887AF831A161B06C0 -:1062700084F420E639E74EEF5FEF0E942EFB6C0DB1 -:106280007D1D8E1D9F1D0E949CF769837A838B83E1 -:106290009C83C501B40120EA35E040E050E00E9453 -:1062A000DAFAE22E022F10E020EA35E0029FC00168 -:1062B000039F900D129F900D1124AA2797FDA09582 -:1062C000BA2FA5019401281B390B4A0B5B0BCA019D -:1062D000B9012CE330E040E050E00E94DAFAF22EFF -:1062E00030E6E39E800C11244CE3F49E80181124C8 -:1062F0000E94638F40E060E080E796E10E94184BC7 -:10630000E0917913F0E0EE0FFF1FE45EFD4F019086 -:10631000F081E02DE652FE4F808191819DDBCE0120 -:1063200001960E9431A5FC0101900020E9F7682F39 -:106330006E1B6E5E41E080E796E10E94184BCE0135 -:1063400001960E9431A5BC0180E796E10E94B2F55A -:106350008F8198851816190674F5CE0101960E9452 -:1063600031A5FC0101900020E9F7682F6E1B615FE9 -:1063700041E080E796E10E94184B60E27EE080E712 -:1063800096E10E94B2F5CE0101960E9431A5FC0172 -:1063900001900020E9F7682F6E1B665F41E080E7FF -:1063A00096E10E94184BCE010796FADABC0180E70D -:1063B00096E10E94B2F541E062E180E796E10E9439 -:1063C000184B69E17EE080E796E10E94B2F542E079 -:1063D00060E080E796E10E94184BE0917913F0E0CD -:1063E000EE0FFF1FE45EFD4F0190F081E02DE452BF -:1063F000FE4F8081918130DB43E062E180E796E1EE -:106400000E94184B69E17EE080E796E10E94B2F5B8 -:1064100043E06EE080E796E10E94184B882D90E003 -:106420009E838D83CE0105960E940FA7BC0180E755 -:1064300096E10E94B2F543E06EE080E796E10E94AB -:10644000184B68EC7DE080E796E10E94B2F543E0EE -:106450006CE080E796E10E94184B63E27EE080E703 -:1064600096E10E94B2F543E069E080E796E10E9480 -:10647000184B8F2D90E09E838D83CE0105960E9450 -:106480000FA7BC0180E796E10E94B2F543E069E006 -:1064900080E796E10E94184B68EC7DE080E796E18A -:1064A0000E94B2F543E067E080E796E10E94184B56 -:1064B00069E47EE080E796E10E94B2F543E064E0A3 -:1064C00080E796E10E94184B1E830D83CE0105964E -:1064D0000E940FA7BC0180E796E10E94B2F50E94DE -:1064E000C7A481110CC00E94D54581E00E9499701B -:1064F00064E670E080E090E00E9478F0F0CF0E94C7 -:106500008A8F0E9447962C960FB6F894DEBF0FBE76 -:10651000CDBFDF91CF911F910F91FF90EF90DF9052 -:10652000CF90BF90AF909F908F907F906F905F9033 -:106530004F900895EF92FF920F931F93CF93DF93A5 -:10654000EC018B017A010E94678F10920F1110925B -:106550000E1110920D1110920C110E94D54580E081 -:106560000E9499700E94638F40E060E080E796E1AE -:106570000E94184BE0917913F0E0EE0FFF1FE45EEC -:10658000FD4F0190F081E02DEC53FE4F8081918111 -:1065900063DA41E060E080E796E10E94184BE09109 -:1065A0007913F0E0EE0FFF1FE45EFD4F0190F081E4 -:1065B000E02DEA53FE4F808191814EDAC330D10540 -:1065C00009F48FC07CF5C130D10509F45FC0229772 -:1065D00009F0FAC042E060E080E796E10E94184BC3 -:1065E000E0917913F0E0EE0FFF1FE45EFD4F0190A4 -:1065F000F081E02DE453FE4F808191812DDA43E05C -:1066000060E080E796E10E94184BE0917913F0E09A -:10661000EE0FFF1FE45EFD4F0190F081E02DE2538D -:10662000FE4F5BC0C430D10509F488C0259709F03E -:10663000CBC042E060E080E796E10E94184BE09119 -:106640007913F0E0EE0FFF1FE45EFD4F0190F08143 -:10665000E02DEA52FE4F80819181FED943E060E057 -:1066600080E796E10E94184BE0917913F0E0EE0F7D -:10667000FF1FE45EFD4F0190F081E02DEE52FE4FD2 -:1066800080819181E9D943E062E195C042E060E018 -:1066900080E796E10E94184BE0917913F0E0EE0F4D -:1066A000FF1FE45EFD4F0190F081E02DE653FE4FA9 -:1066B00080819181D1D943E060E080E796E10E943A -:1066C000184BE0917913F0E0EE0FFF1FE45EFD4FF1 -:1066D0000190F081E02DE853FE4F80819181BCD97B -:1066E00073C042E060E080E796E10E94184BE091C1 -:1066F0007913F0E0EE0FFF1FE45EFD4F0190F08193 -:10670000E02DE053FE4F80819181A6D943E060E007 -:1067100080E796E10E94184BE0917913F0E0EE0FCC -:10672000FF1FE45EFD4F0190F081E02DE253FE4F2C -:106730008081918191D943E061E13DC042E060E018 -:1067400080E796E10E94184BE0917913F0E0EE0F9C -:10675000FF1FE45EFD4F0190F081E02DEE52FE4FF1 -:106760008081918179D942E062E180E796E10E94DF -:10677000184BB80180E796E10E94B2F543E060E073 -:1067800080E796E10E94184BE0917913F0E0EE0F5C -:10679000FF1FE45EFD4F0190F081E02DEC52FE4FB3 -:1067A0008081918159D943E062E180E796E10E94BE -:1067B000184BB70105C080E796E10E94184BB8015D -:1067C00080E796E10E94B2F568EE73E080E090E029 -:1067D0000E9478F00E94678F64E670E080E090E0AD -:1067E0000E9478F00E94D54580E00E9499700E9436 -:1067F000C7A4882389F3E0917913F0E0EE0FFF1F1F -:10680000E45EFD4F0190F081E02DEC50FE4F808161 -:1068100091810E9441A3DF91CF911F910F91FF9031 -:10682000EF900C9447966F927F928F929F92AF92C7 -:10683000BF92CF92DF92EF92FF920F931F93CF936D -:10684000DF931F92CDB7DEB73C016B017A0158018F -:1068500029830E9449F0605C7D4B8F4F9F4F60936E -:106860006016709361168093621690936316298167 -:10687000EC14FD042CF49AE3892E9EE0992E04C0BA -:1068800085E2882E8EE0982E21110E94638F40E0D1 -:1068900060E080E796E10E94184B8FEF681678065B -:1068A00069F4E0917913F0E0EE0FFF1FE45EFD4F15 -:1068B0000190F081E02DEE51FE4F0FC06114710484 -:1068C00081F4E0917913F0E0EE0FFF1FE45EFD4FDD -:1068D0000190F081E02DEC51FE4F80819181BCD878 -:1068E00039C0E1E06E16710481F4E0917913F0E0B3 -:1068F000EE0FFF1FE45EFD4F0190F081E02DEA51A5 -:10690000FE4F80819181A8D836C0F2E06F167104E5 -:1069100081F4E0917913F0E0EE0FFF1FE45EFD4F8C -:106920000190F081E02DE851FE4F8081918194D853 -:1069300044C083E06816710469F4E0917913F0E0D3 -:10694000EE0FFF1FE45EFD4F0190F081E02DE65158 -:10695000FE4F43C0E4E06E16710469F4E0917913D0 -:10696000F0E0EE0FFF1FE45EFD4F0190F081E02D9F -:10697000E451FE4F32C0F5E06F16710469F4E09106 -:106980007913F0E0EE0FFF1FE45EFD4F0190F08100 -:10699000E02DE251FE4F21C086E06816710469F4D3 -:1069A000E0917913F0E0EE0FFF1FE45EFD4F0190E0 -:1069B000F081E02DE051FE4F10C0E7E06E1671044B -:1069C00079F4E0917913F0E0EE0FFF1FE45EFD4FE4 -:1069D0000190F081E02DEC50FE4F808191813CD8F8 -:1069E00041E060E080E796E10E94184B67E27EE0BC -:1069F00080E796E10E94B2F5F1E06F16710431F084 -:106A00001614170434F040E050E005C041E050E0B7 -:106A100002C042E050E084012CE33EE069E070E017 -:106A200083E090E00E94AB8E82E06816710439F03A -:106A3000E2E06E16710434F440E050E005C041E03D -:106A400050E002C042E050E0840123E43EE062E016 -:106A500070E082E090E00E94AB8EF3E06F1671046C -:106A600039F083E06816710434F440E050E005C06A -:106A700041E050E002C042E050E0840125E43EE005 -:106A800068E070E082E090E00E94AB8EE4E06E1679 -:106A9000710439F0F4E06F16710434F440E050E012 -:106AA00005C041E050E002C042E050E0840129E727 -:106AB0003EE06EE070E082E090E00E94AB8E85E008 -:106AC0006816710439F0E5E06E16710434F440E0A4 -:106AD00050E005C041E050E002C042E050E08401D7 -:106AE00027E43EE060E070E083E090E00E94AB8E3F -:106AF0001A141B043CF4B501882777FD8095982F64 -:106B00000E9478F0FFEFCF1ADF0AEE0CFF1CEC14A6 -:106B1000FD041CF480E090E001C0C6010F90DF91FD -:106B2000CF911F910F91FF90EF90DF90CF90BF908A -:106B3000AF909F908F907F906F9008952F923F928B -:106B40004F925F926F927F928F929F92AF92BF927D -:106B5000CF92DF92EF92FF920F931F93CF93DF9329 -:106B6000CDB7DEB729970FB6F894DEBF0FBECDBF05 -:106B7000998788879B01CB016AE070E00E94C7FA81 -:106B80004B01820E931E412C512CA12CB12C612C57 -:106B9000712C1C821B82312C88859985880F991F46 -:106BA000880F991F855A9C4E9A83898322242394A7 -:106BB000E885F9853296FE83ED838885998502976D -:106BC000B9F420E030E040E85FE360916313709136 -:106BD000641380916513909166130E9422F660936E -:106BE000631370936413809365139093661312C0BC -:106BF00020E030E040E450E4E981FA816081718175 -:106C0000828193810E9422F6E981FA8160837183F7 -:106C100082839383E7E4CE2EE3E1DE2EE12CF12C98 -:106C200008E412E427E633E143E653E16FE573E15C -:106C30008BE593E10E9474E10E94E1D91E9906C0A0 -:106C40001D9904C01C9902C030E012C08885998546 -:106C5000892B09F094C033B036FA332430F81D9BE9 -:106C60008AC0AA24A394B12C179A10924C1331E035 -:106C7000F6E04F16510424F48FEF481A580A10C05A -:106C800000E010E020E043E050E06B817C818D81EA -:106C90009E813F83C8DD9C838B83412C512C3F8197 -:106CA0003F830E94D54580E00E94997064E670E0C1 -:106CB00080E090E00E9478F03F818614970434F0E1 -:106CC0009FEF691A790A332309F477CF088519856C -:106CD000000F111F000F111F055A1C4E20E030E05D -:106CE00040E751E4F80160817181828193810E94C3 -:106CF00023F6F801608371838283938337E4C32E84 -:106D000033E1D32EE12CF12C08E412E427E633E141 -:106D100043E653E16FE573E18BE593E10E9474E193 -:106D2000311058C0888599858130910529F00297E6 -:106D300031F063E47EE005C065E47EE002C069E70F -:106D40007EE091E0A916B10439F0E2E0AE16B1049C -:106D500031F043E45EE005C045E45EE002C049E78F -:106D60005EE0681479041CF085E090E002C084E0E5 -:106D700090E0E0DB2FC062E0A62EB12C75CF8885B5 -:106D80009985019781F433B035FA332430F81E9B8E -:106D900003C0A12CB12C03C052E0A52EB12C169A31 -:106DA00010924D1364CFE885F985329709F05FCFD3 -:106DB00033B034FA332430F883B1829586958695C2 -:106DC0008370822580FBAA24A0F8B12C159A10921A -:106DD0004E134DCF832D29960FB6F894DEBF0FBE0C -:106DE000CDBFDF91CF911F910F91FF90EF90DF907A -:106DF000CF90BF90AF909F908F907F906F905F905B -:106E00004F903F902F900895AF92BF92DF92EF92F4 -:106E1000FF920F931F93CF93DF931F921F92CDB7D3 -:106E2000DEB7D82E811106C01EE1E12EF12C24E63A -:106E300030E005C0B8E7EB2EF12C20E030E03093D5 -:106E40000F1120930E11DD2019F024E630E002C06E -:106E500020E030E030930D1120930C110E94D545B5 -:106E600080E00E94997060E070E0A12CB12C8FEF5F -:106E7000A81AB80A69837A830E94D54580E00E94E7 -:106E8000997069817A8100E911E020E042E050E0E8 -:106E9000DD2019F085E090E002C081E090E0C3DCE5 -:106EA000BC01AE14BF041CF310920F1110920E110E -:106EB00010920D1110920C110E94D5450E94D545DB -:106EC00080E00E94997081E00F900F90DF91CF9148 -:106ED0001F910F91FF90EF90DF90BF90AF900895BA -:106EE000AF92BF92CF92DF92EF92FF920F931F93D8 -:106EF000CF93DF93CDB7DEB76E970FB6F894DEBFB2 -:106F00000FBECDBF00ED17E021E044E050E060E0AF -:106F100070E08FEF9FEF87DC21E043E050E0BC01A1 -:106F200080E090E080DC5C011E9904C01D9902C0E5 -:106F30001C9B48C01E9B81C120E030E040E251E430 -:106F400060915B1370915C1380915D1390915E135F -:106F50000E9423F660935B1370935C1380935D1320 -:106F600090935E131D9B72C120E030E040E251E43B -:106F700060915F137091601380916113909162131F -:106F80000E9423F660935F137093601380936113E4 -:106F9000909362131C9B63C120E030E040E251E417 -:106FA00060916313709164138091651390916613DF -:106FB0000E9423F6609363137093641380936513A8 -:106FC0009093661387E4C82E83E1D82EE12CF12C30 -:106FD00008E412E427E633E143E653E16FE573E1A9 -:106FE0008BE593E10E9474E164EF71E080E090E052 -:106FF0000E9478F01E9906C01D9904C01C9902C019 -:1070000011E04CC01C993AC164E77EE0CE010196C4 -:107010000E9406F51D9B2CC165E47EE0CE0107961B -:107020000E9406F51E9B27C163E47EE0CE014396D5 -:107030000E9406F5BE016D5E7F4FCE010D960E9447 -:1070400030F5BE01695F7F4FCE010D960E9463F55A -:10705000BE016F5F7F4F0E9463F5BC01CE01499670 -:107060000E9430F5CE010D960E949EF4CE0143960B -:107070000E949EF4CE0107960E949EF4CE010196D6 -:107080000E949EF4698D7A8D44E75EE083E090E093 -:1070900051DACE0149960E949EF410E00E94D54537 -:1070A00080E00E949970112309F487C008EE13E074 -:1070B00021E043E050E0B50181E090E0B4DB5C0109 -:1070C00080E0A2DE882309F478C000ED17E021E01B -:1070D00043E050E0B50182E090E0A5DB5C0166EDA5 -:1070E00070E080E090E02ADD882309F466C00CEDB2 -:1070F00015E021E043E050E0B50183E090E093DB50 -:107100005C0166EC70E081E090E018DD882309F412 -:1071100054C020E030E040E450E460915B13709193 -:107120005C1380915D1390915E130E9422F6609330 -:107130005B1370935C1380935D1390935E1320E058 -:1071400030E040E651E460915F13709160138091EC -:107150006113909162130E9422F660935F13709303 -:107160006013809361139093621321E043E050E039 -:10717000B50184E090E057DB5C0169EC70E082E0EF -:1071800090E0DCDC8823C9F000ED17E021E043E06B -:1071900050E0B50185E090E046DB5C0181E034DE43 -:1071A000F82E882351F008E813E121E043E050E095 -:1071B000B50186E090E037DB0AC008E813E121E082 -:1071C00043E050E0B50187E090E02DDBF12C0E9418 -:1071D000638F0E9449F06C597F4F8F4F9F4F609390 -:1071E0006016709361168093621690936316E09117 -:1071F0007913F0E0EE0FFF1FE45EFD4F0190F08188 -:10720000E02DFF2019F0E852FE4F02C0EC50FE4F77 -:10721000808191810E9441A36E960FB6F894DEBFE3 -:107220000FBECDBFDF91CF911F910F91FF90EF90D7 -:10723000DF90CF90BF90AF90089560915B137091F5 -:107240005C1380915D1390915E1384CE60915F1307 -:1072500070916013809161139091621393CE60914D -:107260006313709164138091651390916613A2CE9D -:1072700064E77EE0D3CE64E77EE0D8CE69E77EE0C7 -:10728000C5CE20E030E042E053E4609106117091F9 -:10729000071180910811909109110E94FFF81816AA -:1072A0004CF48BE292E50E94BC628EE192E50E9472 -:1072B000BC6236C00E94638F40E060E080E796E1E8 -:1072C0000E94184BE0917913F0E0EE0FFF1FE45E8F -:1072D000FD4F0190F081E02DEA5FFE4F80819181AA -:1072E0000E942CAD42E060E080E796E10E94184BDE -:1072F000E0917913F0E0EE0FFF1FE45EFD4F019087 -:10730000F081E02DE85FFE4F808191810E942CADDD -:1073100060ED77E080E090E00E9478F00E94638F5B -:107320000C9447960E94638F41E060E080E796E10D -:107330000E94184BE0917913F0E0EE0FFF1FE45E1E -:10734000FD4F0190F081E02DE05EFE4F8081918144 -:107350000E942CAD42E060E080E796E10E94184B6D -:10736000E0917913F0E0EE0FFF1FE45EFD4F019016 -:10737000F081E02DE25EFE4F808191810C942CAD76 -:107380000E94638F42E060E080E796E10E94184B24 -:10739000E0917913F0E0EE0FFF1FE45EFD4F0190E6 -:1073A000F081E02DE45EFE4F808191810C942CAD44 -:1073B0001F93CF93DF930E94638F40E060E080E7EC -:1073C00096E10E94184BE0917913F0E0EE0FFF1F59 -:1073D000E45EFD4F0190F081E02DE65EFE4F80817E -:1073E00091810E942CAD42E060E080E796E10E942E -:1073F000184BE0917913F0E0EE0FFF1FE45EFD4FB4 -:107400000190F081E02DE85EFE4F808191810E9425 -:107410002CAD10E043E0612F80E796E10E94184B0D -:107420006DE07EE080E796E10E94B2F5CAE0D0E030 -:107430000E94D54581E00E94997065E570E080E08A -:1074400090E00E9478F02197209791F71F5F143108 -:1074500009F7DF91CF911F9108951F93CF93DF9389 -:107460000E94638F40E060E080E796E10E94184B45 -:10747000E0917913F0E0EE0FFF1FE45EFD4F019005 -:10748000F081E02DEA5EFE4F808191810E942CAD5B -:1074900042E060E080E796E10E94184BE0917913AA -:1074A000F0E0EE0FFF1FE45EFD4F0190F081E02D54 -:1074B000E85EFE4F808191810E942CAD10E043E098 -:1074C000612F80E796E10E94184B6DE07EE080E737 -:1074D00096E10E94B2F5CAE0D0E00E94D54581E075 -:1074E0000E9499706EE670E080E090E00E9478F073 -:1074F0002197209791F71F5F143109F7DF91CF9102 -:107500001F9108950F931F93CF93DF930E94638F72 -:1075100040E060E080E796E10E94184BE09179132B -:10752000F0E0EE0FFF1FE45EFD4F0190F081E02DD3 -:10753000E45FFE4F808191810E942CAD41E061E0CB -:1075400080E796E10E94184BE0917913F0E0EE0F8E -:10755000FF1FE45EFD4F0190F081E02DE25FFE4FE2 -:10756000808191810E942CAD42E061E080E796E14C -:107570000E94184BE0917913F0E0EE0FFF1FE45EDC -:10758000FD4F0190F081E02DEE5EFE4F80819181F4 -:107590000E942CAD43E061E080E796E10E94184B29 -:1075A000E0917913F0E0EE0FFF1FE45EFD4F0190D4 -:1075B000F081E02DEC5EFE4F808191810E942CAD28 -:1075C00041E060E080E796E10E94184B6FE07EE0CA -:1075D00080E796E10E94B2F50091F816112707FDA9 -:1075E0001095C1E0D0E080917A1390917B13892BA4 -:1075F00009F072C00E94D54581E00E9499702091E7 -:10760000F816332727FD3095C801821B930B97FF8F -:1076100003C091958195910905970CF44DC02017F1 -:1076200031070CF42197021713070CF42196C4308C -:10763000D1052CF4209729F4C1E0D0E002C0C3E0CA -:10764000D0E041E060E080E796E10E94184B61E7FE -:107650007EE080E796E10E94B2F542E060E080E7DC -:1076600096E10E94184B61E77EE080E796E10E9478 -:10767000B2F543E060E080E796E10E94184B61E7D5 -:107680007EE080E796E10E94B2F54C2F60E080E753 -:1076900096E10E94184B6FE07EE080E796E10E9441 -:1076A000B2F50091F816112707FD109564E670E019 -:1076B00080E090E00E9478F00E94C7A4882309F43B -:1076C00092CFD0937B13C0937A1364EF71E080E084 -:1076D00090E00E9478F087CF0E94638FDF91CF9176 -:1076E0001F910F910C94479620E030E042E053E464 -:1076F0006091061170910711809108119091091104 -:107700000E94FFF81816ECF481E08093701381E07A -:1077100090E09093E2168093E116EBE4FEE0819115 -:10772000882339F09091C00095FFFCCF8093C6006C -:10773000F6CF8091C00085FFFCCF8AE08093C60021 -:1077400036C00E94638F40E060E080E796E10E94CF -:10775000184BE0917913F0E0EE0FFF1FE45EFD4F50 -:107760000190F081E02DEA5FFE4F808191810E94BF -:107770002CAD42E060E080E796E10E94184BE0917A -:107780007913F0E0EE0FFF1FE45EFD4F0190F081F2 -:10779000E02DE85FFE4F808191810E942CAD60ED6D -:1077A00077E080E090E00E9478F00E94638F0C9474 -:1077B00047968F929F92AF92BF92DF92EF92FF9285 -:1077C0000F931F93CF93DF931092E4168091651669 -:1077D00090916616A0916716B09168168130904816 -:1077E000A105B10540F01092651610926616109230 -:1077F0006716109268168091651690916616A09192 -:107800006716B0916816B695A7959795879540919C -:107810006E1650E060E070E084179507A607B70782 -:1078200010F480936E16D0916E1610916F1612FBA5 -:10783000112710F9C0E0DD24D394D11144C0809108 -:107840005B0C882309F1E0917913F0E0EE0FFF1F44 -:10785000E45EFD4F0190F081E02DE055FF4F608127 -:1078600071818091651690916616A0916716B0910E -:10787000681623E00297A105B10510F443E001C0AA -:1078800040E28C2F0E94748E1123E9F080916516DE -:1078900090916616A0916716B09168160297A1059F -:1078A000B10588F40E948A8F85E493ECDF91CF9133 -:1078B0001F910F91FF90EF90DF90BF90AF909F903E -:1078C0008F900C94B28F80918E13811105C080919E -:1078D0007F13882309F466C020E030E040E05FE3D6 -:1078E0006091631370916413809165139091661396 -:1078F0000E94FCF687FF56C062EF76E18CEF9FE0B6 -:107900000E94969C64EF76E18AEF9FE00E94969C2D -:1079100066EF76E188EF9FE00E94969CD13011F0EF -:1079200002E041C080915B0C882329F1E09179133A -:10793000F0E0EE0FFF1FE45EFD4F0190F081E02DBF -:10794000E251FF4F608171818091651690916616BA -:10795000A0916716B0916816B695A79597958795EB -:107960002EE70197A105B10511F44EE301C040E2F5 -:107970008C2F0E94748E112399F28091651690913C -:107980006616A0916716B0916816B695A79597955B -:1079900087950197A105B10519F60E948A8F82E7A4 -:1079A0009FEA39C001E00E9418EC409165165091A1 -:1079B00066166091671670916816811109C08091F2 -:1079C0008E13811105C080917F13882309F455C05F -:1079D0000D135BC080915B0C81112AC0112309F447 -:1079E00054C08091651690916616A0916716B0916B -:1079F0006816B695A79597958795402F50E060E05B -:107A000070E084179507A607B70709F03EC00E94EB -:107A10008A8F8BE499EADF91CF911F910F91FF90AC -:107A2000EF90DF90BF90AF909F908F900C94B78FA6 -:107A3000E0917913F0E0EE0FFF1FE45EFD4F01903F -:107A4000F081E02DEC54FF4F0190F081E02D769510 -:107A5000679557954795802F90E0A0E0B0E02EE71E -:107A6000481759076A077B0711F44EE301C040E24B -:107A7000BF018C2F0E94748EB1CF0D1306C0809170 -:107A80005B0C81116DC3111190C30F5F80918F1337 -:107A90004091651650916616609167167091681650 -:107AA000882309F417C180917715882309F4FBC056 -:107AB00080918E13882309F452C00D13A0C08091C9 -:107AC0005B0C882321F1E0917913F0E0EE0FFF1FAA -:107AD000E45EFD4F0190F081E02DEA54FF4F0190EC -:107AE000F081E02D7695679557954795802F90E02A -:107AF000A0E0B0E020E2481759076A077B0711F4BD -:107B00004EE301C040E2BF018C2F0E94748E11230E -:107B100009F475C08091651690916616A09167165C -:107B2000B0916816B695A79597958795402F50E028 -:107B300060E070E084179507A607B70709F05FC0FB -:107B40000E948A8FDF91CF911F910F91FF90EF904C -:107B5000DF90BF90AF909F908F900C942F960D1355 -:107B60004EC080915B0C882321F1E0917913F0E005 -:107B7000EE0FFF1FE45EFD4F0190F081E02DE85411 -:107B8000FF4F0190F081E02D7695679557954795C9 -:107B9000802F90E0A0E0B0E020E2481759076A0784 -:107BA0007B0711F44EE301C040E2BF018C2F0E941D -:107BB000748E112321F18091651690916616A09123 -:107BC0006716B0916816B695A79597958795402F3B -:107BD00050E060E070E084179507A607B70779F4D6 -:107BE0000E948A8FDF91CF911F910F91FF90EF90AC -:107BF000DF90BF90AF909F908F900C942596FF24BC -:107C0000F394F00EFD124CC080915B0C882361F15F -:107C1000E0917913F0E0EE0FFF1FE45EFD4F01905D -:107C2000F081E02DE654FF4F0190F081E02D80912E -:107C3000651690916616A0916716B0916816B69574 -:107C4000A795979587954F2D50E060E070E02EE75F -:107C500084179507A607B70711F44EE301C040E269 -:107C6000BF018C2F0E94748E1123D1F08091651674 -:107C700090916616A0916716B0916816B695A79573 -:107C8000979587954F2D50E060E070E08417950739 -:107C9000A607B70729F40E948A8F86E598ECBBCE29 -:107CA00001E00F0D5EC080917F1381115AC00D134A -:107CB00057C080915B0C8823A9F1E0917913F0E023 -:107CC000EE0FFF1FE45EFD4F0190F081E02DE454C4 -:107CD000FF4F12C00D1344C080915B0C882311F13B -:107CE000E0917913F0E0EE0FFF1FE45EFD4F01908D -:107CF000F081E02DE254FF4F0190F081E02D769568 -:107D0000679557954795802F90E0A0E0B0E02EE76B -:107D1000481759076A077B0709F140E2BF018C2F1A -:107D20000E94748E1123E1F0809165169091661681 -:107D3000A0916716B0916816B695A7959795879507 -:107D4000402F50E060E070E084179507A607B70762 -:107D500039F40E948A8F87E399E95DCE4EE3DECF46 -:107D60000F5F80918E13811102C180917F13811169 -:107D7000FEC00D1355C080915B0C882361F1E0912A -:107D80007913F0E0EE0FFF1FE45EFD4F0190F081EC -:107D9000E02DEE5FFE4F0190F081E02D80916516A1 -:107DA00090916616A0916716B0916816B695A79542 -:107DB00097958795402F50E060E070E020E28417AF -:107DC0009507A607B70711F44EE301C040E2BF01D3 -:107DD0008C2F0E94748E112319F180916516909159 -:107DE0006616A0916716B0916816B695A7959795F7 -:107DF0008795402F50E060E070E084179507A60754 -:107E0000B70771F40E948A8FDF91CF911F910F9174 -:107E1000FF90EF90DF90BF90AF909F908F9064CCD9 -:107E2000EE24E394E00EED1252C080915B0C8823A7 -:107E300049F1E0917913F0E0EE0FFF1FE45EFD4F92 -:107E40000190F081E02DF39560817181809165163C -:107E500090916616A0916716B0916816B695A79591 -:107E6000979587958D2E912CA12CB12C20E2881509 -:107E70009905AA05BB0511F44EE301C040E28C2F21 -:107E80000E94748E112319F18091651690916616E7 -:107E9000A0916716B0916816B695A79597958795A6 -:107EA0004E2D50E060E070E084179507A607B707F5 -:107EB00071F40E948A8FDF91CF911F910F91FF90F3 -:107EC000EF90DF90BF90AF909F908F90DAC932E033 -:107ED000E32EE00EED124AC080915B0C882351F135 -:107EE000E0917913F0E0EE0FFF1FE45EFD4F01908B -:107EF000F081E02DE450FF4F608171818091651623 -:107F000090916616A0916716B0916816B695A795E0 -:107F1000979587958D2E912CA12CB12C2EE7881545 -:107F20009905AA05BB0511F44EE301C040E28C2F70 -:107F30000E94748E1123D1F080916516909166167F -:107F4000A0916716B0916816B695A79597958795F5 -:107F50004E2D50E060E070E084179507A607B70744 -:107F600029F40E948A8F81E29DE955CD0D5F8091B1 -:107F70007F1381114FC00D134CC080915B0C88237F -:107F800061F1E0917913F0E0EE0FFF1FE45EFD4F29 -:107F90000190F081E02DEA50FE4F0190F081E02D3C -:107FA0008091651690916616A0916716B09168163B -:107FB000B695A79597958795402F50E060E070E0C3 -:107FC0002EE784179507A607B70711F44EE301C003 -:107FD00040E2BF018C2F0E94748E1123D1F080915A -:107FE000651690916616A0916716B0916816B695C1 -:107FF000A79597958795402F50E060E070E0841733 -:108000009507A607B70729F40E948A8F87EF9FEA92 -:1080100002CD0F5F0D134CC080915B0C882361F182 -:10802000E0917913F0E0EE0FFF1FE45EFD4F019049 -:10803000F081E02DE65FFE4F0190F081E02D809110 -:10804000651690916616A0916716B0916816B69560 -:10805000A79597958795402F50E060E070E02EE758 -:1080600084179507A607B70711F44EE301C040E255 -:10807000BF018C2F0E94748E1123D1F08091651660 -:1080800090916616A0916716B0916816B695A7955F -:1080900097958795402F50E060E070E08417950732 -:1080A000A607B70729F40E948A8F8CEB9FE8B3CC10 -:1080B000FF24F394F00E409165165091661660917E -:1080C00067167091681676956795579547958F2D29 -:1080D00090E0A0E0B0E0481759076A077B0788F0F6 -:1080E0008F2D90E0880F991F0197AA2797FDA095E3 -:1080F000BA2F8093651690936616A0936716B09377 -:1081000068164091651650916616609167167091D9 -:108110006816769567955795479580916E1690E00D -:108120000396242F30E0821793074CF48DEF840FD1 -:1081300080936E16D0925B0CDCEFD40FCFEFCF5F45 -:10814000DF5FC43008F479CBDF91CF911F910F919D -:10815000FF90EF90DF90BF90AF909F908F90089529 -:10816000E0917913F0E0EE0FFF1FE45EFD4F019008 -:10817000F081E02DE250FF4F0190F081E02D7695E7 -:10818000679557954795802F90E0A0E0B0E02EE7E7 -:10819000481759076A077B0711F44EE301C040E214 -:1081A000BF018C2F0E94748E6ECC809165169091C9 -:1081B0006616A0916716B0916816B695A795979523 -:1081C0008795402F50E060E070E084179507A60780 -:1081D000B70709F05ACC0E948A8F86EE96E91BCC2D -:1081E0000F931F93CF93DF930E94638F40E060E073 -:1081F00080E796E10E94184BE0917913F0E0EE0FD2 -:10820000FF1FE45EFD4F0190F081E02DEE50FF4F27 -:10821000808191810E942CAD41E061E080E796E190 -:108220000E94184BE0917913F0E0EE0FFF1FE45E1F -:10823000FD4F0190F081E02DE25FFE4F8081918142 -:108240000E942CAD42E061E080E796E10E94184B6D -:10825000E0917913F0E0EE0FFF1FE45EFD4F019017 -:10826000F081E02DE05FFE4F808191810E942CAD76 -:1082700041E060E080E796E10E94184B6FE07EE00D -:1082800080E796E10E94B2F50091F816112707FDEC -:108290001095C1E0D0E00E94D54581E00E94997020 -:1082A0002091F816332727FD3095C801821B930BC8 -:1082B00097FF03C091958195910905970CF441C0F2 -:1082C000201731070CF42197021713070CF421969D -:1082D000C330D1052CF4209729F4C1E0D0E002C0CE -:1082E000C2E0D0E041E060E080E796E10E94184BF8 -:1082F00061E77EE080E796E10E94B2F542E060E04F -:1083000080E796E10E94184B61E77EE080E796E106 -:108310000E94B2F54C2F60E080E796E10E94184B76 -:108320006FE07EE080E796E10E94B2F50091F816DA -:10833000112707FD109564E670E080E090E00E9450 -:1083400078F00E94C7A4882309F4A5CF2197D9F417 -:1083500062EF76E18CEF9FE00E94969C64EF76E1FD -:108360008AEF9FE00E94969C66EF76E188EF9FE09F -:108370000E94969C8091F6169091F7169093FE10AD -:108380008093FD101EC01092F3161092F2161092F8 -:10839000F5161092F4161092F7161092F61662EF78 -:1083A00076E18CEF9FE00E94859C64EF76E18AEF96 -:1083B0009FE00E94859C66EF76E188EF9FE00E9437 -:1083C000859C64EF71E080E090E00E9478F00E946C -:1083D000638FDF91CF911F910F910C9447960F936C -:1083E0001F93CF93DF93EC01843091053CF08530EF -:1083F000910539F08C010350110905C000E010E02F -:1084000002C001E010E040E060E080E796E10E94F9 -:10841000184B6EE57EE080E796E10E94B2F540E001 -:1084200061E080E796E10E94184BF801EE0FFF1F14 -:10843000E45EFD4F0190F081E02DE654FE4F808117 -:1084400091810E942CAD41E060E080E796E10E94BE -:10845000184B6EE57EE080E796E10E94B2F541E0C0 -:1084600061E080E796E10E94184BF801EE0FFF1FD4 -:10847000E25EFD4F0190F081E02DE654FE4F8081D9 -:1084800091810E942CAD42E060E080E796E10E947D -:10849000184B6EE57EE080E796E10E94B2F542E07F -:1084A00061E080E796E10E94184BF801EE0FFF1F94 -:1084B000E05EFD4F0190F081E02DE654FE4F80819B -:1084C00091810E942CAD43E060E080E796E10E943C -:1084D000184B6EE57EE080E796E10E94B2F543E03E -:1084E00061E080E796E10E94184BF801EE0FFF1F54 -:1084F000EE5DFD4F0190F081E02DE654FE4F80814E -:1085000091810E942CADC130D10511F440E012C020 -:10851000C230D10511F441E00DC0C330D1057CF06B -:1085200042E060E080E796E10E94184BC530D1053B -:1085300031F443E060E080E796E10E94184B6FE081 -:108540007EE080E796E10E94B2F524974CF443E088 -:1085500063E180E796E10E94184B63E77EE008C084 -:1085600040E063E180E796E10E94184B65E77EE01A -:1085700080E796E1DF91CF911F910F910C94B2F5B6 -:108580000F931F93CF93DF938FEF809379130E9404 -:108590002C9C0E94638F81E090E021DF0091F8160F -:1085A000112707FD1095C1E0D0E02091791380914B -:1085B0007A1790917B1740917C1750917D172F3F30 -:1085C00041F49C01241B350B2F77332722303105D2 -:1085D000A4F0841B950B8F779927029724F01092B3 -:1085E000791310925E0C0E94509C0E94638FDF9161 -:1085F000CF911F910F910C9447960E94D54581E031 -:108600000E9499702091F816332727FD3095C801F4 -:10861000821B930B97FF03C0919581959109059754 -:10862000F4F0201731070CF42197021713070CF40C -:108630002196C630D1052CF4209729F4C1E0D0E072 -:1086400002C0C5E0D0E0CE01CADE0091F8161127C5 -:1086500007FD109564E670E080E090E004C064E1FE -:1086600070E080E090E00E9478F00E94C7A4882328 -:1086700009F49BCF8C2F81500E94719464EF71E0BC -:1086800080E090E00E9478F090CF8F929F92AF921E -:10869000BF92CF92DF92EF92FF920F931F93CF93EF -:1086A000DF93CDB7DEB728970FB6F894DEBF0FBEC5 -:1086B000CDBF80915E0C813009F040C010925E0CFD -:1086C0000E94749CE0917913F0E0EE0FFF1FE45ECE -:1086D000FD4F0190F081E02D6081718144E150E017 -:1086E0008CEB96E10F942F008DEE9FE00F94E70244 -:1086F0008F3F01F58EEE9FE00F94E7028F3FD1F49C -:108700008FEE9FE00F94E7028F3FA1F480EF9FE090 -:108710000F94E7028F3F71F440E050E0BA018DEE14 -:108720009FE00F94F40240E050E0BA0181EF9FE037 -:108730000F94F40280914416811122DF80915F161C -:10874000882321F0815080935F1603C081E08093DD -:108750005B0C80915B0C882309F40DC48091E516B5 -:108760008F5F8093E5168E3129F40E943A9610921D -:10877000E5160EC06AE00E94A6FA911109C020E039 -:1087800044E064E180E796E10E94284C0E94D78D86 -:1087900020E030E040E05FE3609106117091071146 -:1087A00080910811909109110E9423F60E946BF7A5 -:1087B00078876F8360910E1170910F11882777FD74 -:1087C0008095982F0E949EF720E030E040E05FE324 -:1087D0000E9423F60E946BF77E836D8340E060E089 -:1087E00080E796E10E94184B62E080E796E10E94E4 -:1087F000B3F5CE0107960E940FA7BC0180E796E172 -:108800000E94B2F56FE280E796E10E94B3F5CE01D7 -:1088100005960E9480ACBC0180E796E10E94B2F50B -:1088200081EA92E50E942CAD60E77EE080E796E168 -:108830000E94B2F540E06AE080E796E10E94184BA2 -:1088400067E77EE080E796E10E94B2F52CEA35EC1E -:1088500047E257E36091631370916413809165134D -:10886000909166130E9423F669837A838B839C839D -:10887000CE0101960E943DA6BC0180E796E10E94D0 -:10888000B2F560E280E796E10E94B3F541E060E076 -:1088900080E796E10E94184B20E030E040E05FE383 -:1088A000609100117091011180910211909103115A -:1088B0000E9423F60E946BF778876F8360910C11FA -:1088C00070910D11882777FD8095982F0E949EF753 -:1088D00020E030E040E05FE30E9423F60E946BF767 -:1088E0007E836D8360E080E796E10E94B3F5CE0160 -:1088F00007960E940FA7BC0180E796E10E94B2F59F -:108900006FE280E796E10E94B3F5CE0105960E94E2 -:1089100080ACBC0180E796E10E94B2F58EE992E559 -:108920000E942CAD60E77EE080E796E10E94B2F500 -:1089300041E06AE080E796E10E94184B60E77EE044 -:1089400080E796E10E94B2F566E080E796E10E943A -:10895000B3F589E49CE00E940FA7BC0180E796E193 -:108960000E94B2F565E280E796E10E94B3F56DE6FC -:108970007EE080E796E10E94B2F542E060E080E7A9 -:1089800096E10E94184B80917F13882319F08BE9A0 -:1089900092E502C088E992E50E942CAD80918E1389 -:1089A0008823A9F180917715882319F180912116E8 -:1089B00090912216A0912316B09124160097A1053C -:1089C000B105B9F0BC01CD016D597F4F8F4F9F4F5D -:1089D00024E630E040E050E00E94DAFA6091291687 -:1089E00070912A1680912B1690912C160E94DAFA1B -:1089F00001C020E030E03A832983CE0101960E9435 -:108A00000FA7BC0180E796E10E94B2F50DC08091EE -:108A10007F13882329F083E992E50E942CAD09C0D9 -:108A20008FE892E50E942CAD65E280E796E10E9416 -:108A3000B3F56CE67EE080E796E10E94B2F542E095 -:108A40006AE080E796E10E94184B60E77EE080E7ED -:108A500096E10E94B2F567E080E796E10E94B3F5E7 -:108A60008091691190916A11A0916B11B0916C1174 -:108A7000892B8A2B8B2BE1F10E9449F020E6C22E34 -:108A80002AEED22EE12CF12CA70196010E94DAFAEF -:108A900049015A016091691170916A1180916B11BD -:108AA00090916C11A70196010E94DAFAC401821B11 -:108AB000930B6CE370E00E94B3FA182F6983CE0128 -:108AC00001960E94CDA4BC0180E796E10E94B2F518 -:108AD0006AE380E796E10E94B3F51983CE0101961F -:108AE0000E94CDA4BC0180E796E10E94B2F504C0CB -:108AF00089E892E50E942CAD60E77EE080E796E190 -:108B00000E94B2F543E060E080E796E10E94184BD6 -:108B10008091731390917413009719F021E02093C2 -:108B2000701330918E1320917013332309F476C0A3 -:108B3000211174C06DE973E185E896E10F949E0000 -:108B4000892BD1F0E5E8F6E1DF010D900020E9F78F -:108B5000AD01415051094558564160E070E0CF01E8 -:108B60000F946E006DE973E185E896E10F94A7001C -:108B70001092BB161092BA16EDE9F3E101900020B5 -:108B8000E9F7EE59F341759708F445C00091BA161C -:108B90001091BB16C12CD12C8091BA169091BB16A6 -:108BA0009801281B390B2431310534F0019690933C -:108BB000BB168093BA169AC1C114D104B9F7F80153 -:108BC000E457FC4E7F019189602F681B43E09111AF -:108BD00015C080E796E10E94184BD70150966C9122 -:108BE00080E796E10E94B3F51092BB161092BA1678 -:108BF00000E010E0CC24C394D12CCECF80E796E1E6 -:108C00000E94184BF701608980E796E10E94B3F556 -:108C10000F5F1F4FC1CF65E876E164C1222309F4DD -:108C20005FC1892B09F4A1C08091711390917213D7 -:108C300001968E30910528F49093721380937113EE -:108C400004C0109272131092711343E067E080E742 -:108C500096E10E94184B8BE792E50E942CAD00E054 -:108C600010E080917113909172130817190770F436 -:108C700067E0600F43E080E796E10E94184B89E7C8 -:108C800092E50E942CAD0F5F1F4FEBCF80917313C5 -:108C9000909174138230910581F1B0F4019709F03D -:108CA00064C043E060E080E796E10E94184BE091E9 -:108CB0007913F0E0EE0FFF1FE45EFD4F0190F081AD -:108CC000E02DE05AFE4F3EC08330910549F10497F4 -:108CD00009F04BC043E060E080E796E10E94184B4A -:108CE000E0917913F0E0EE0FFF1FE45EFD4F01907D -:108CF000F081E02DEA59FE4F2AC043E060E080E7B2 -:108D000096E10E94184BE0917913F0E0EE0FFF1FFF -:108D1000E45EFD4F0190F081E02DEE59FE4F17C04B -:108D200043E060E080E796E10E94184BE091791300 -:108D3000F0E0EE0FFF1FE45EFD4F0190F081E02DAB -:108D4000EC59FE4F808191810E942CAD0EC0808134 -:108D500091810E942CAD1092741310927313109293 -:108D60007213109271131092701380916E13909180 -:108D70006F13019709F0AEC080916C1390916D1341 -:108D80008B309105A8F143E060E080E796E10E9416 -:108D9000184B6EE57EE080E796E10E94B2F543E075 -:108DA00060E080E796E10E94184BE0917913F0E0D3 -:108DB000EE0FFF1FE45EFD4F0190F081E02DE850C3 -:108DC000FF4F808191810E942CAD6BE77EE080E7B0 -:108DD00096E10E94B2F560916C1370916D136A5028 -:108DE00071094AE050E080E796E10E941DF672C0EA -:108DF000039711F5E0917913F0E0EE0FFF1FE45EA9 -:108E0000FD4F0190F081E02D808191810E942CAD79 -:108E1000E0917913F0E0EE0FFF1FE45EFD4F01904B -:108E2000F081E02D808191810E9447A11092701302 -:108E300010926F1310926E1380916C1390916D13BA -:108E40000497069758F543E060E080E796E10E94BA -:108E5000184B6FE57EE080E796E10E94B2F543E0B3 -:108E600060E080E796E10E94184BE0917913F0E012 -:108E7000EE0FFF1FE45EFD4F0190F081E02DE65004 -:108E8000FF4F808191810E942CAD80916C13909155 -:108E90006D13019790936D1380936C1380916C13F5 -:108EA00090916D130A97B1F4E0917913F0E0EE0F11 -:108EB000FF1FE45EFD4F0190F081E02DE650FF4F73 -:108EC000808191810E942CAD89E090E090936D1398 -:108ED00080936C1380916E1390916F13029731F40D -:108EE0006CEB76E180E796E10E94B2F50CEB16E1BF -:108EF000D8018D918D0180322CF460E280E796E1FB -:108F00000E94B3F5B6E1003D1B0791F780917F13F6 -:108F1000882331F180917013811122C043E060E019 -:108F200080E796E10E94184B6EE57EE080E796E1CF -:108F30000E94B2F543E060E080E796E10E94184BA2 -:108F4000E0917913F0E0EE0FFF1FE45EFD4F01901A -:108F5000F081E02DE850FE4F808191810E942CAD80 -:108F60008AE080935F168091E1169091E216892B3A -:108F700011F00E9454A180916F1682FB882780F91E -:108F800090915E16992399F090915D16992339F08E -:108F9000811119C010925D1610925E1614C08823BC -:108FA00091F00E948A8F81E080935D160CC0882327 -:108FB00051F021E040E050E0BA0189ED9BEB0E94C6 -:108FC0009C8F0E943A968091490C90914A0C209176 -:108FD0006516309166168436910534F4820F931F1E -:108FE000853691054CF416C08436910599F0820FB0 -:108FF000931F8436910574F41092651610926616CC -:10900000109267161092681684E690E090934A0CCE -:109010008093490C2091490C30914A0C809165163F -:10902000909166162436310569F48B3091051CF059 -:10903000865A9F4F09C0863FEFEF9E078CF48259F6 -:109040009F4F02C0820F931F90934A0C8093490C4C -:109050001092651610926616109267161092681696 -:109060008091490C90914A0C8A3091051CF48AE059 -:1090700090E005C0883E934034F087EE93E09093F3 -:109080004A0C8093490C28960FB6F894DEBF0FBEA9 -:10909000CDBFDF91CF911F910F91FF90EF90DF90A7 -:1090A000CF90BF90AF909F908F9008950F931F9394 -:1090B000CF9340E060E080E796E10E94184BE0919A -:1090C0007913F0E0EE0FFF1FE45EFD4F0190F08199 -:1090D000E02DE654FF4F808191810E942CAD42E04B -:1090E00062E080E796E10E94184BE0917913F0E08E -:1090F000EE0FFF1FE45EFD4F0190F081E02DE05F79 -:10910000FE4F808191810E942CAD43E062E080E7B8 -:1091100096E10E94184BE0917913F0E0EE0FFF1FEB -:10912000E45EFD4F0190F081E02DE25FFE4F808113 -:1091300091810E942CAD42E060E080E796E10E94C0 -:10914000184B61E77EE080E796E10E94B2F543E0CC -:1091500060E080E796E10E94184B61E77EE080E7DF -:1091600096E10E94B2F58091651690916616A091E5 -:109170006716B09168160397A105B10564F082E007 -:1091800090E0A0E0B0E08093651690936616A093FF -:109190006716B09368168091651690916616A09137 -:1091A0006716B0916816181619061A061B0664F0A1 -:1091B00081E090E0A0E0B0E08093651690936616A1 -:1091C000A0936716B0936816409165164F5F60E0F4 -:1091D00080E796E10E94184B6FE07EE080E796E121 -:1091E0000E94B2F50E94C7A4882309F469C0809147 -:1091F000651690916616A0916716B0916816019752 -:10920000A105B10511F40E944796809165169091D1 -:109210006616A0916716B09168160297A105B10570 -:1092200009F04EC0C1E0C09336130E9457DAE091B6 -:109230007913F0E0EE0FFF1FE45EFD4F0190F08127 -:10924000E02DEA53FF4F808191810E9447A1109247 -:109250008E1360E08CE893E10E9490580E9449F0E0 -:1092600060936511709366118093671190936811F4 -:109270000091691110916A1120916B1130916C115C -:10928000601B710B820B930B28EE33E040E050E043 -:109290000E94DAFA609175137091761380917713BA -:1092A000909178130E94CE6B0E944796C0935E16F1 -:1092B00010925D1682E090E09093E2168093E116A2 -:1092C000CF911F910F910895CF93DF93C1E1D2E524 -:1092D000FE018491882341F09091C00095FFFCCF5E -:1092E0008093C6003196F5CFE7E7F6E584918823B1 -:1092F00041F09091C00095FFFCCF8093C60031965D -:10930000F5CF8091C00085FFFCCF8AE08093C60036 -:10931000FE018491E1E1F2E5882349F09091C000DB -:1093200095FFFCCF8093C60031968491F5CF409194 -:10933000FF1C5091001D6091011D7091021D8FE670 -:1093400096E50E9418624091031D5091041D6091A2 -:10935000051D7091061D8CE696E50E9418624091ED -:10936000071D5091081D6091091D70910A1D89E625 -:1093700096E50E94186240910B1D50910C1D609162 -:109380000D1D70910E1D86E696E50E941862809173 -:10939000C00085FFFCCF8AE08093C600FE01849167 -:1093A000E1E1F2E5882349F09091C00095FFFCCF00 -:1093B0008093C60031968491F5CFECE4F6E5849174 -:1093C000882341F09091C00095FFFCCF8093C600A8 -:1093D0003196F5CF8091C00085FFFCCF8AE0809365 -:1093E000C600FE018491E1E1F2E5882349F0909105 -:1093F000C00095FFFCCF8093C60031968491F5CFD5 -:1094000040910F1D5091101D6091111D7091121D02 -:1094100083E496E50E9418624091131D5091141D3B -:109420006091151D7091161D80E496E50E941862EA -:109430004091171D5091181D6091191D70911A1DB2 -:109440008DE396E50E94186240911B1D50911C1DF2 -:1094500060911D1D70911E1D8AE396E50E941862A1 -:109460008091C00085FFFCCF8AE08093C600FE019A -:109470008491E1E1F2E5882349F09091C00095FFE5 -:10948000FCCF8093C60031968491F5CFECE1F6E5F0 -:109490008491882341F09091C00095FFFCCF809388 -:1094A000C6003196F5CF8091C00085FFFCCF8AE0E1 -:1094B0008093C600FE018491E1E1F2E5882349F042 -:1094C0009091C00095FFFCCF8093C60031968491A7 -:1094D000F5CF4091EF1C5091F01C6091F11C709100 -:1094E000F21C83E196E50E942A624091F31C5091A0 -:1094F000F41C6091F51C7091F61C80E196E50E94C9 -:109500002A624091F71C5091F81C6091F91C7091EF -:10951000FA1C8DE096E50E942A624091FB1C509156 -:10952000FC1C6091FD1C7091FE1C8AE096E50E9477 -:109530002A628091C00085FFFCCF8AE08093C6003C -:10954000FE018491E1E1F2E5882349F09091C000A9 -:1095500095FFFCCF8093C60031968491F5CFE5ED61 -:10956000F5E58491882341F09091C00095FFFCCFF0 -:109570008093C6003196F5CF8091C00085FFFCCF67 -:109580008AE08093C600FE018491E1E1F2E5882340 -:1095900049F09091C00095FFFCCF8093C6003196B2 -:1095A0008491F5CF4091E71C5091E81C6091E91C33 -:1095B0007091EA1C8CEC95E50E9418624091E31CC6 -:1095C0005091E41C6091E51C7091E61C89EC95E5D6 -:1095D0000E9418628091C00085FFFCCF8AE08093D2 -:1095E000C600FE018491E1E1F2E5882349F0909103 -:1095F000C00095FFFCCF8093C60031968491F5CFD3 -:10960000E6E1F5E58491882341F09091C00095FF53 -:10961000FCCF8093C6003196F5CF8091C00085FFC6 -:10962000FCCF8AE08093C600FE018491E1E1F2E57F -:10963000882349F09091C00095FFFCCF8093C6002D -:1096400031968491F5CF4091EB1C5091EC1C6091C8 -:10965000ED1C7091EE1C8DE095E50E941862409122 -:10966000D31C5091D41C6091D51C7091D61C8AE0FB -:1096700095E50E94186240911F1D5091201D609138 -:10968000211D7091221D87E095E50E942A6240917C -:10969000DF1C5091E01C6091E11C7091E21C84E0A1 -:1096A00095E50E9418624091DB1C5091DC1C609192 -:1096B000DD1C7091DE1C81E095E50E9418624091EE -:1096C000D71C5091D81C6091D91C7091DA1C8EEF78 -:1096D00094E50E9418628091C00085FFFCCF8AE06B -:1096E0008093C600FE018491E1E1F2E5882349F010 -:1096F0009091C00095FFFCCF8093C6003196849175 -:10970000F5CFECEEF4E58491882341F09091C00010 -:1097100095FFFCCF8093C6003196F5CF8091C000B5 -:1097200085FFFCCF8AE08093C600FE018491E1E1D1 -:10973000F2E5882349F09091C00095FFFCCF80931B -:10974000C60031968491F5CF40914F13509150133C -:10975000609151137091521383EE94E50E94186248 -:1097600040915313509154136091551370915613B7 -:1097700080EE94E50E94186240915713509158135F -:109780006091591370915A138DED94E50E941862FF -:109790008091C00085FFFCCF8AE08093C600FE0167 -:1097A0008491E1E1F2E5882349F09091C00095FFB2 -:1097B000FCCF8093C60031968491F5CFEFECF4E5B1 -:1097C0008491882341F09091C00095FFFCCF809355 -:1097D000C6003196F5CF8091C00085FFFCCF8AE0AE -:1097E0008093C600FE018491E1E1F2E5882349F00F -:1097F0009091C00095FFFCCF8093C6003196849174 -:10980000F5CF409118025091190260911A0270919F -:109810001B0285EC94E50E9418626091140270911D -:10982000150280911602909117020E94574AAB01CF -:10983000BC0182EC94E50E94186260911002709164 -:10984000110280911202909113020E94634AAB01AF -:10985000BC018FEB94E50E9418628091C00085FFE7 -:10986000FCCF8AE08093C600FE018491E1E1F2E53D -:10987000882349F09091C00095FFFCCF8093C600EB -:1098800031968491F5CFEBE8F4E58491882341F09B -:109890009091C00095FFFCCF8093C6003196F5CF24 -:1098A0008091C00085FFFCCF8AE08093C600FE0156 -:1098B0008491E1E1F2E5882349F09091C00095FFA1 -:1098C000FCCF8093C60031968491F5CF40911F0C58 -:1098D0005091200C6091210C7091220C81E894E54C -:1098E0000E94186220E030E040E752E46091170CDB -:1098F0007091180C8091190C90911A0C0E94D1F95A -:10990000AB01BC018EE794E50E94186240913F13C1 -:109910005091401360914113709142138BE794E58D -:109920000E9418628091C00085FFFCCF8AE080937E -:10993000C600FE018491E1E1F2E5882349F09091AF -:10994000C00095FFFCCF8093C60031968491F5CF7F -:10995000EFE4F4E58491882341F09091C00095FFF5 -:10996000FCCF8093C6003196F5CF8091C00085FF73 -:10997000FCCF8AE08093C600FE018491E1E1F2E52C -:10998000882349F09091C00095FFFCCF8093C600DA -:1099900031968491F5CF40913B1350913C136091E7 -:1099A0003D1370913E1385E494E50E94186220E017 -:1099B00030E040E752E46091130C7091140C8091F8 -:1099C000150C9091160C0E94D1F9AB01BC0182E4F8 -:1099D00094E50E9418628091C00085FFFCCF8AE068 -:1099E0008093C600FE018491E1E1F2E5882349F00D -:1099F0009091C00095FFFCCF8093C6003196849172 -:109A0000F5CFE8EEF3E58491882341F09091C00012 -:109A100095FFFCCF8093C6003196F5CF8091C000B2 -:109A200085FFFCCF8AE08093C600FE018491E1E1CE -:109A3000F2E5882349F09091C00095FFFCCF809318 -:109A4000C60031968491F5CF4091441350E060E018 -:109A500070E08EED93E50E942A628091C00085FF40 -:109A6000FCCF8AE08093C600FE018491E1E1F2E53B -:109A7000882349F09091C00095FFFCCF8093C600E9 -:109A800031968491F5CF80916B138823A1F1EBEC93 -:109A9000F3E58491882341F09091C00095FFFCCFBD -:109AA0008093C6003196F5CF8091C00085FFFCCF32 -:109AB0008AE08093C600FE01C491E1E1F2E5CC2387 -:109AC00049F08091C00085FFFCCFC093C60031965D -:109AD000C491F5CF40913F0C5091400C6091410CE6 -:109AE0007091420C81EC93E50E9418628091C00055 -:109AF00085FFFCCF11C0E5EAF3E58491882341F0AE -:109B00009091C00095FFFCCF8093C6003196F5CFB1 -:109B10008091C00085FFFCCF8AE08093C600DF9172 -:109B2000CF910895AF92BF92CF92DF92EF92FF92C2 -:109B30000F931F93CF93DF93CDB7DEB7E0970FB6A8 -:109B4000F894DEBF0FBECDBF80E1EBEDFCE0DE019F -:109B5000919601900D928A95E1F780E1EBEEFCE0A1 -:109B6000DE01519601900D928A95E1F780E1EBEFCD -:109B7000FCE0DE01119601900D928A95E1F76E01ED -:109B800081E2C80ED11C8FEFE82E8CE1F82E8E01F9 -:109B90000F5E1F4F6FE07DE1AE014F5F5F4F9FEEA5 -:109BA000A92E9CE1B92E20E030E0F601819191913F -:109BB000A191B1916F01F70181939193A193B19319 -:109BC0007F01F80181919191A191B1918F01FB01E8 -:109BD00081939193A193B193BF01FA0181919191E6 -:109BE000A191B191AF01F50181939193A193B193AB -:109BF0005F012F5F3F4F24303105B9F60E9428ECFA -:109C000080E090E8ABE3B5E48093E71C9093E81C18 -:109C1000A093E91CB093EA1C8093E31C9093E41C8E -:109C2000A093E51CB093E61C1092EB1C1092EC1C68 -:109C30001092ED1C1092EE1C80E29EE4A0E0B0E0D9 -:109C400080931F1D9093201DA093211DB093221D72 -:109C50001092D31C1092D41C1092D51C1092D61CBA -:109C600080E090E0A0EAB1E48093DF1C9093E01CD8 -:109C7000A093E11CB093E21C8DEC9CECACECBEE339 -:109C80008093DB1C9093DC1CA093DD1CB093DE1C46 -:109C900080E090E0A0EAB0E48093D71C9093D81CB9 -:109CA000A093D91CB093DA1C10925713109258133A -:109CB0001092591310925A13109253131092541376 -:109CC000109255131092561310924F131092501376 -:109CD00010925113109252138CED90E09093DD1678 -:109CE0008093DC1682E390E09093DB168093DA1683 -:109CF0008FEF90E09093D9168093D8162DE131E044 -:109D00003093D7162093D61624E630E03093D5163C -:109D10002093D4169093D3168093D21683E393E3C3 -:109D2000ABE4B1E48093180290931902A0931A0255 -:109D3000B0931B026FE175E88BE89FE30E94514AE4 -:109D40006093140270931502809316029093170289 -:109D50006AE979E985E192E40E945D4A6093100224 -:109D60007093110280931202909313020E94263F77 -:109D700080E090E0A0E8BFE380930C0290930D0296 -:109D8000A0930E02B0930F021092441380E090E073 -:109D9000A0E4B0E480931F0C9093200CA093210CBE -:109DA000B093220C40E050E064E372E44093170C5F -:109DB0005093180C6093190C70931A0C10923F1367 -:109DC00010924013109241131092421310923B13C1 -:109DD00010923C1310923D1310923E1340E050E05D -:109DE00060E071E44093130C5093140C6093150CD5 -:109DF0007093160C10926B1380933F0C9093400C51 -:109E0000A093410CB093420C0E944071E1E1F2E555 -:109E10008491882341F09091C00095FFFCCF8093FE -:109E2000C6003196F5CFE3E8F3E58491882341F04D -:109E30009091C00095FFFCCF8093C6003196F5CF7E -:109E40008091C00085FFFCCF8AE08093C600E09639 -:109E50000FB6F894DEBF0FBECDBFDF91CF911F913B -:109E60000F91FF90EF90DF90CF90BF90AF9008954B -:109E70001F920F920FB60F9211240BB60F922F93D1 -:109E80003F934F935F936F938F939F93EF93FF93C2 -:109E90006091C60020917A1730917B17C901019615 -:109EA0008F77992740917C1750917D1784179507DC -:109EB00041F0F901E650F94E608390937B1780934F -:109EC0007A17FF91EF919F918F916F915F914F91D1 -:109ED0003F912F910F900BBE0F900FBE0F901F90D0 -:109EE00018959A01AB01211581EE380741055105FE -:109EF00049F182E08093C00060E079E08DE390E07A -:109F00000E94FCFA2150310941095109CA01B901E5 -:109F100022E030E040E050E00E94FCFA3093C500BF -:109F20002093C4008091C10080618093C100809122 -:109F3000C10088608093C1008091C10080688093D7 -:109F4000C10008951092C00020E130E0E7CF2091D9 -:109F50007C1730917D1780917A1790917B1782172B -:109F6000930771F0F901E650F94E80812F5F3F4F62 -:109F70002F77332730937D1720937C1790E0089537 -:109F80008FEF9FEF089580917C1790917D179093AC -:109F90007B1780937A1708954F925F926F927F920A -:109FA0008F929F92AF92BF92CF92DF92EF92FF92E9 -:109FB0000F931F93CF93DF93CDB7DEB7A0970FB664 -:109FC000F894DEBF0FBECDBF5C01411551056105A0 -:109FD0007105E9F420E030E040E350E060E070E03B -:109FE000A0960FB6F894DEBF0FBECDBFDF91CF9124 -:109FF0001F910F91FF90EF90DF90CF90BF90AF90A7 -:10A000009F908F907F906F905F904F905BC08E017C -:10A010000F5F1F4FC12CD12C76014801422E512CCD -:10A02000612C712C8FEFC81AD80AE80AF80ACB0104 -:10A03000BA01A30192010E94DAFACA01F801619300 -:10A040008F01A901BC01411551056105710551F749 -:10A05000F1E0CF1AD108E108F108F401EC0DFD1D83 -:10A0600080818A3010F440E301C047E3480F552750 -:10A0700047FD5095652F752F20E030E0C50122D0B7 -:10A0800081E0C81AD108E108F108EFEFCE16DE062C -:10A09000EE06FE0611F7A0960FB6F894DEBF0FBECF -:10A0A000CDBFDF91CF911F910F91FF90EF90DF9087 -:10A0B000CF90BF90AF909F908F907F906F905F9068 -:10A0C0004F9008952115310539F48091C00085FF26 -:10A0D000FCCF4093C60008952A30310509F424C00E -:10A0E0005BCF9A01462F552747FD5095652F752F59 -:10A0F000E9CFCF93DF93EC0120E030E04DE050E07A -:10A1000060E070E0DFDF20E030E04AE050E060E057 -:10A1100070E0CE01DF91CF91D5CF9A01AB016627D8 -:10A1200057FD6095762FCECFCF92DF92EF92FF92C0 -:10A13000CF93DF93EC016A017B0177FF0FC020E032 -:10A1400030E04DE250E060E070E0BCDFF094E0947D -:10A15000D094C094C11CD11CE11CF11C2AE0B701B1 -:10A16000A601CE01DF91CF91FF90EF90DF90CF90CD -:10A1700013CF2115310539F48091C00085FFFCCF44 -:10A180004093C600089508CF9A01462F50E060E042 -:10A1900070E0EFCFCF93DF93EC019A01AB0160E069 -:10A1A00070E0E7DFCE01DF91CF91A3CF8F929F9236 -:10A1B000AF92BF92CF92DF92EF92FF921F93CF9315 -:10A1C000DF93EC016A017B01122F20E030E0A9014E -:10A1D000C701B6010E94FCF687FF0CC020E030E00A -:10A1E0004DE250E060E070E0CE016CDFF7FAF094F1 -:10A1F000F7F8F094B12C60E070E080E09FE3B116D6 -:10A2000041F020E030E040E251E40E9403F7B394D3 -:10A21000F6CF9B01AC01C701B6010E9423F66B018A -:10A220007C010E9470F74B015C010E949CF79B012E -:10A23000AC01C701B6010E9422F66B017C012AE045 -:10A24000B501A401CE01A8DE112361F0EDE0FEE02E -:10A250008191882339F09091C00095FFFCCF8093C5 -:10A26000C600F6CF112319F120E030E040E251E4BE -:10A27000C701B6010E94D1F96B017C010E946BF706 -:10A280004B01AA2497FCA094BA2CB501A401CE01DD -:10A290004BDFC501B4010E949EF79B01AC01C701D1 -:10A2A000B6010E9422F66B017C011150DBCFDF91D9 -:10A2B000CF911F91FF90EF90DF90CF90BF90AF9024 -:10A2C0009F908F90089572CFCF93DF931F92CDB759 -:10A2D000DEB7698341E050E0BE016F5F7F4F0496B7 -:10A2E0000E9482370F90DF91CF910895FB0101907A -:10A2F0000020E9F7AF0141505109461B570B049666 -:10A300000C94823780919717811109C0809196171C -:10A31000811105C080919517811101C00895E1E177 -:10A32000F2E58491882341F09091C00095FFFCCF25 -:10A330008093C6003196F5CFE0917913F0E0EE0FEF -:10A34000FF1FE45EFD4F0190F081E02DE455FE4FCC -:10A350000190F081E02D8491882341F09091C0001C -:10A3600095FFFCCF8093C6003196F5CF809197176B -:10A37000882371F1609198177091991780919A17BD -:10A3800090919B170E949EF72091FF1C3091001D19 -:10A390004091011D5091021D0E9403F7AB01BC01C9 -:10A3A00084EB96E50E941862E0917913F0E0EE0FDD -:10A3B000FF1FE45EFD4F0190F081E02DE455FE4F5C -:10A3C00062EB76E5808191810E94F54C0E9447A165 -:10A3D00080919617882371F160919C1770919D1759 -:10A3E00080919E1790919F170E949EF72091031DC8 -:10A3F0003091041D4091051D5091061D0E9403F7E8 -:10A40000AB01BC018EEA96E50E941862E0917913D7 -:10A41000F0E0EE0FFF1FE45EFD4F0190F081E02DB4 -:10A42000E455FE4F6CEA76E5808191810E94F54CFF -:10A430000E9447A180919517882371F16091A01720 -:10A440007091A1178091A2179091A3170E949EF777 -:10A450002091071D3091081D4091091D50910A1D42 -:10A460000E9403F7AB01BC0188EA96E50E941862DE -:10A47000E0917913F0E0EE0FFF1FE45EFD4F0190D5 -:10A48000F081E02DE455FE4F66EA76E5808191810A -:10A490000E94F54C0E9447A18091C00085FFFCCF2F -:10A4A0008AE08093C6001092971710929617109228 -:10A4B0009517089510929717109296171092951766 -:10A4C00008958093730C0895EFE6F0E08081826038 -:10A4D000808308951F920F920FB60F9211240BB62E -:10A4E0000F920F931F932F933F934F935F936F930D -:10A4F0007F938F939F93AF93BF93EF93FF9380913D -:10A50000C8179091C917892B09F09EC19091CB175C -:10A510008091CA17981771F0E091CA178DE4E89FEF -:10A52000F0011124E453F84EDF01A45BBF4F81E03A -:10A530008C9302C0E0E0F0E0F093C917E093C817F5 -:10A54000309709F47BC1DF01A45BBF4F81E08C939E -:10A550001092AB171092AC171092AD171092AE1765 -:10A5600060AD71AD61349CE9790728F461329EE4F5 -:10A57000790748F002C060E47CE9769567957695A6 -:10A58000679584E007C0613197E2790730F07695EE -:10A59000679582E08093A81707C08093A817603260 -:10A5A000710510F460E270E060527109611588E095 -:10A5B0007807D0F0872F9927880F991F880F991F48 -:10A5C0008854954AFC01329645915491AA27659F7B -:10A5D0009001649F210D3A1F06942A1F3A1F1124EF -:10A5E000FC01859194911DC0CB01969587958C7F38 -:10A5F0008854994AFC01459154910296FC01859139 -:10A600009491FB01E770FF278E9F90018F9F300D83 -:10A610009E9F300D112403E0369527950A95E1F7AA -:10A62000CA01821B930B8436910500F5E0917913E2 -:10A63000F0E0EE0FFF1FE45EFD4F0190F081E02D92 -:10A64000E655FE4F0190F081E02D8191882339F08D -:10A650009091C00095FFFCCF8093C600F6CF4AE0F2 -:10A6600050E089EF96E196DD84E690E09093A7179D -:10A670008093A6178091A817992787FD90959093AE -:10A68000A5178093A417E091C817F091C91764AD7E -:10A6900075AD7093AA176093A91761349CE9790787 -:10A6A00028F461328EE4780748F002C060E47CE967 -:10A6B000769567957695679584E007C0613197E256 -:10A6C000790730F07695679582E08093A81708C0E7 -:10A6D00081E08093A8176032710510F460E270E0A9 -:10A6E00060527109611588E07807E0F0872F99279B -:10A6F000880F991F880F991F8854954AFC0132963C -:10A7000025913491AA27639FA001629F410D5A1F92 -:10A7100006944A1F5A1F1124FC0125913491241BD1 -:10A72000350B1EC0CB01969587958C7F8854994A2E -:10A73000FC01259134910296FC0145915491FB0155 -:10A74000E770FF274E9FC0014F9F900D5E9F900DB9 -:10A75000112443E0969587954A95E1F7281B390B1C -:10A760002436310500F5E0917913F0E0EE0FFF1F7C -:10A77000E45EFD4F0190F081E02DE655FE4F019023 -:10A78000F081E02D8191882339F09091C00095FFF0 -:10A79000FCCF8093C600F6CF4AE050E089EF96E107 -:10A7A000F9DC24E630E0C901A0E0B0E08093AF1707 -:10A7B0009093B017A093B117B093B217309389005C -:10A7C00020938800E091C817F091C917808991897A -:10A7D000A289B389B695A79597958795B095A095C9 -:10A7E000909581959F4FAF4FBF4F8093C317909324 -:10A7F000C417A093C517B093C6178093BF17909343 -:10A80000C017A093C117B093C2178093BB17909342 -:10A81000BC17A093BD17B093BE178093B717909342 -:10A82000B817A093B917B093BA171092B317109234 -:10A83000B4171092B5171092B61706C080ED97E0C6 -:10A840009093890080938800E091C817F091C91710 -:10A85000309709F4A1C580A18093C7179FB780FFE7 -:10A8600009C0F89480910B018D7F80930B019FBFED -:10A870008FEF08C0F89480910B01826080930B01E8 -:10A880009FBF81E080936F0C8091C7179FB781FFB6 -:10A8900009C0F89480910B018E7F80930B019FBFBC -:10A8A0008FEF08C0F89480910B01816080930B01B9 -:10A8B0009FBF81E08093700C2091C7173091730C7B -:10A8C00020FF3BC0332309F472C01E9902C080E010 -:10A8D00031C080919417882361F1E091C817F091FD -:10A8E000C91780819181A281B381181619061A06B1 -:10A8F0001B06FCF480917E1790917F17A091801722 -:10A90000B09181178093981790939917A0939A17F5 -:10A91000B0939B1781E08093971780899189A289D2 -:10A92000B3898093B3179093B417A093B517B093DE -:10A93000B61781E0809394173AC03323C1F140B138 -:10A9400051E042FB442740F9452779F18091931764 -:10A95000882359F1E091C817F091C917808191813E -:10A96000A281B381181619061A061B06F4F4809109 -:10A970007E1790917F17A0918017B09181178093D7 -:10A98000981790939917A0939A17B0939B17509389 -:10A99000971780899189A289B3898093B31790937F -:10A9A000B417A093B517B093B6174093931721FF30 -:10A9B0003BC0332309F471C01D9902C080E031C04F -:10A9C00080919217882361F1E091C817F091C9171F -:10A9D00084819581A681B781181619061A061B066F -:10A9E000FCF48091821790918317A0918417B09105 -:10A9F000851780939C1790939D17A0939E17B093F3 -:10AA00009F1781E08093961780899189A289B389E5 -:10AA10008093B3179093B417A093B517B093B6175C -:10AA200081E08093921739C03323B9F130B141E00E -:10AA300036953170342779F180919117882359F137 -:10AA4000E091C817F091C91784819581A681B781DB -:10AA5000181619061A061B06F4F4809182179091B5 -:10AA60008317A0918417B091851780939C179093BA -:10AA70009D17A0939E17B0939F17409396178089B8 -:10AA80009189A289B3898093B3179093B417A09347 -:10AA9000B517B093B617309391179FB722FF47C0F1 -:10AAA000F89480910B018B7F80930B019FBF8FEFF8 -:10AAB0008093710C8091730C882309F47DC01C99DC -:10AAC00002C080E031C080919017882361F1E0914D -:10AAD000C817F091C91780859185A285B38518168E -:10AAE00019061A061B06FCF48091861790918717A9 -:10AAF000A0918817B09189178093A0179093A11700 -:10AB0000A093A217B093A31781E080939517808933 -:10AB10009189A289B3898093B3179093B417A093B6 -:10AB2000B517B093B61781E08093901745C0F8949D -:10AB300080910B01846080930B019FBF31E03093C3 -:10AB4000710C8091730C8823B9F126B12095221FD6 -:10AB50002227221F79F180918F17882359F1E091E4 -:10AB6000C817F091C91780859185A285B3851816FD -:10AB700019061A061B06F4F4809186179091871720 -:10AB8000A0918817B09189178093A0179093A1176F -:10AB9000A093A217B093A31730939517808991893A -:10ABA000A289B3898093B3179093B417A093B51774 -:10ABB000B093B61720938F178091C7179FB783FF65 -:10ABC00009C0F89480910B01806480930B019FBFB2 -:10ABD0008FEF08C0F89480910B018F7B80930B015D -:10ABE0009FBF81E08093720C20E08091A817281706 -:10ABF0000CF0ADC18091C00087FF19C03091C60034 -:10AC000040917A1750917B17CA0101968F77992747 -:10AC100060917C1770917D178617970741F0FA01B4 -:10AC2000E650F94E308390937B1780937A17E0912A -:10AC3000C817F091C9178091C3179091C417A091BC -:10AC4000C517B091C6174081518162817381840F0D -:10AC5000951FA61FB71F8093C3179093C417A09387 -:10AC6000C517B093C617181619061A061B06CCF599 -:10AC7000409AE091C817F091C9178091C31790913D -:10AC8000C417A091C517B091C61740895189628930 -:10AC90007389841B950BA60BB70B8093C3179093F6 -:10ACA000C417A093C517B093C61740916F0C80913D -:10ACB0007E1790917F17A0918017B091811755272B -:10ACC00047FD5095652F752F840F951FA61FB71F41 -:10ACD00080937E1790937F17A0938017B09381176E -:10ACE0004098E091C817F091C9178091BF179091D3 -:10ACF000C017A091C117B091C217448155816681D8 -:10AD00007781840F951FA61FB71F8093BF1790935D -:10AD1000C017A093C117B093C217181619061A06C8 -:10AD20001B06CCF5419AE091C817F091C9178091A4 -:10AD3000BF179091C017A091C117B091C217408959 -:10AD4000518962897389841B950BA60BB70B80937D -:10AD5000BF179093C017A093C117B093C21740912B -:10AD6000700C8091821790918317A0918417B091F5 -:10AD70008517552747FD5095652F752F840F951F13 -:10AD8000A61FB71F8093821790938317A0938417F1 -:10AD9000B09385174198E091C817F091C917809139 -:10ADA000BB179091BC17A091BD17B091BE174085FD -:10ADB000518562857385840F951FA61FB71F8093E9 -:10ADC000BB179093BC17A093BD17B093BE1718166E -:10ADD00019061A061B06CCF5429AE091C817F091A5 -:10ADE000C9178091BB179091BC17A091BD17B09166 -:10ADF000BE174089518962897389841B950BA60B04 -:10AE0000B70B8093BB179093BC17A093BD17B0935B -:10AE1000BE174091710C8091861790918717A09171 -:10AE20008817B0918917552747FD5095652F752FC5 -:10AE3000840F951FA61FB71F8093861790938717BF -:10AE4000A0938817B09389174298E091C817F091A2 -:10AE5000C9178091B7179091B817A091B917B09101 -:10AE6000BA174485558566857785840F951FA61F7B -:10AE7000B71F8093B7179093B817A093B917B093E3 -:10AE8000BA17181619061A061B06CCF5439AE09154 -:10AE9000C817F091C9178091B7179091B817A09172 -:10AEA000B917B091BA174089518962897389841B97 -:10AEB000950BA60BB70B8093B7179093B817A09379 -:10AEC000B917B093BA174091720C80918A1790917C -:10AED0008B17A0918C17B0918D17552747FD509572 -:10AEE000652F752F840F951FA61FB71F80938A1794 -:10AEF00090938B17A0938C17B0938D1743988091E4 -:10AF0000B3179091B417A091B517B091B6170196E9 -:10AF1000A11DB11D8093B3179093B417A093B517DB -:10AF2000B093B6174091B3175091B4176091B5170D -:10AF30007091B617E091C817F091C917808991896F -:10AF4000A289B389481759076A077B07B0F0409177 -:10AF5000B3175091B4176091B5177091B617E0917F -:10AF6000C817F091C91784899589A689B78984176C -:10AF70009507A607B70718F4E6C02F5F36CE4091B5 -:10AF8000AF175091B0176091B1177091B217048D3F -:10AF9000158D268D378DAA27419FB12D529FC00157 -:10AFA000629F900D619F800D911D429FB00D811D8C -:10AFB0009A1F519FB00D811D9A1F609FB00D811D7A -:10AFC0009A1F509FB10D8A1F9A1FB6958A1F9A1F0C -:10AFD000112444AD55AD480F591F5093AA17409303 -:10AFE000A91780AD91ADA2ADB3AD60E070E084175C -:10AFF0009507A607B70720F49093AA178093A9177F -:10B000006091A9177091AA1761349CE9790728F417 -:10B0100061328EE4780748F002C060E47CE97695FE -:10B0200067957695679584E007C0613197E2790767 -:10B0300030F07695679582E08093A81708C081E08C -:10B040008093A8176032710510F460E270E06052DE -:10B050007109611588E07807E0F0872F9927880F3C -:10B06000991F880F991F8854954AFC0132962591A3 -:10B070003491AA27639FA001629F410D5A1F069435 -:10B080004A1F5A1F1124FC0125913491241B350BB2 -:10B090001EC0CB01969587958C7F8854994AFC01F8 -:10B0A000259134910296FC0145915491FB01E77082 -:10B0B000FF274E9FC0014F9F900D5E9F900D112462 -:10B0C00043E0969587954A95E1F7281B390B24367E -:10B0D000310500F5E0917913F0E0EE0FFF1FE45E1B -:10B0E000FD4F0190F081E02DE655FE4F0190F0817B -:10B0F000E02D8191882339F09091C00095FFFCCF1D -:10B100008093C600F6CF4AE050E089EF96E142D83E -:10B1100024E630E030938900209388008091AF17B7 -:10B120009091B017A091B117B091B217820F931FF1 -:10B13000A11DB11D8093AF179093B017A093B117C5 -:10B14000B093B21704C14091B3175091B4176091F6 -:10B15000B5177091B617808D918DA28DB38D841720 -:10B160009507A607B70708F0E6C04091AB175091C6 -:10B17000AC176091AD177091AE17048D158D268DAB -:10B18000378DAA27419FB12D529FC001629F900D1C -:10B19000619F800D911D429FB00D811D9A1F519F8F -:10B1A000B00D811D9A1F609FB00D811D9A1F509F89 -:10B1B000B10D8A1F9A1FB6958A1F9A1F11242091DC -:10B1C000A9173091AA17E05CFF4F2817390718F428 -:10B1D0002081318102C0281B390B80819181A2819D -:10B1E000B381A90160E070E0481759076A077B073F -:10B1F00008F49C0121349CE9390728F421328EE4BB -:10B20000380748F002C020E43CE93695279536958A -:10B21000279584E007C0213197E2390730F0369551 -:10B22000279582E08093A81708C081E08093A81733 -:10B230002032310510F420E230E0B901605271098A -:10B24000611588E07807E0F0872F9927880F991F0C -:10B25000880F991F8854954AFC01329625913491A4 -:10B26000AA27639FA001629F410D5A1F06944A1F9F -:10B270005A1F1124FC0125913491241B350B1EC04B -:10B28000CB01969587958C7F8854994AFC0125912E -:10B2900034910296FC0145915491FB01E770FF2720 -:10B2A0004E9FC0014F9F900D5E9F900D1124E3E0D3 -:10B2B00096958795EA95E1F7281B390B24363105D9 -:10B2C00008F5E0917913F0E0EE0FFF1FE45EFD4F0B -:10B2D0000190F081E02DE655FE4F0190F081E02DC8 -:10B2E0008191882339F09091C00095FFFCCF809325 -:10B2F000C600F6CF4AE050E089EF96E10E94CAD03E -:10B3000024E630E030938900209388008091AB17C9 -:10B310009091AC17A091AD17B091AE17820F931F0B -:10B32000A11DB11D8093AB179093AC17A093AD17DF -:10B33000B093AE170CC08091A6179091A717909369 -:10B340008900809388008091A4178093A81740916A -:10B35000B3175091B4176091B5177091B617E0917B -:10B36000C817F091C91780899189A289B3894817B4 -:10B3700059076A077B0780F01092C9171092C81707 -:10B380009091CB178091CA17981731F08091CA1706 -:10B390008F5F8F708093CA17FF91EF91BF91AF912C -:10B3A0009F918F917F916F915F914F913F912F91DD -:10B3B0001F910F910F900BBE0F900FBE0F901F901B -:10B3C00018959091CB178091CA17981741F00E9459 -:10B3D000D54580E00E9499700E94E3A3F2CF0895C2 -:10B3E000CF93DF93EFB7F894EC0188819981AA811C -:10B3F000BB8180937E1790937F17A0938017B093A3 -:10B400008117EB0188819981AA81BB818093821782 -:10B4100090938317A0938417B0938517EA018881CE -:10B420009981AA81BB818093861790938717A093F7 -:10B430008817B0938917E90188819981AA81BB8116 -:10B4400080938A1790938B17A0938C17B0938D17C6 -:10B45000EFBFDF91CF9108952FB7F894FC01808161 -:10B460009181A281B38180938A1790938B17A093C7 -:10B470008C17B0938D172FBF08952FB7F89494E0D1 -:10B48000899FF0011124E258F84E60817181828118 -:10B4900093812FBF089595DF179A10924C13169A37 -:10B4A00010924D13159A10924E13149A089580918C -:10B4B0006F008D7F80936F009091CB178091CA179A -:10B4C000981769F09091CB178091CA179817A1F33C -:10B4D0008091CA178F5F8F708093CA17EDCF10923B -:10B4E000C9171092C81780916F00826080936F0017 -:10B4F0000895813039F120F0823009F445C0089573 -:10B5000017988091090182702FB7662329F0F8946B -:10B5100090910B01926004C0F89490910B019D7F73 -:10B5200090930B012FBF409A40989FB7882329F032 -:10B53000F89480910B01826048C0F89480910B01CF -:10B540008D7F43C016988091090181702FB76623C3 -:10B5500029F0F89490910B01916004C0F8949091B7 -:10B560000B019E7F90930B012FBF419A41989FB78B -:10B57000882329F0F89480910B01816026C0F8940B -:10B5800080910B018E7F21C01598809109018470F4 -:10B590002FB7662329F0F89490910B01946004C0B2 -:10B5A000F89490910B019B7F90930B012FBF429ACF -:10B5B00042989FB7882329F0F89480910B0184600A -:10B5C00004C0F89480910B018B7F80930B019FBF87 -:10B5D0000895EF92FF920F931F93CF93DF931F92E3 -:10B5E000CDB7DEB77B018C01061B170B460FC701D9 -:10B5F000800F911F49830F94E702F70181937F0128 -:10B6000049814E13F4CF0F90DF91CF911F910F918D -:10B61000FF90EF900895DB0181110DC02FEF30E016 -:10B620000E941EFB20ED37E040E050E00E94FCFA53 -:10B63000B9018EE21DC0813069F42FEF30E00E9425 -:10B640001EFB20ED37E040E050E00E94FCFAB9011B -:10B650008DE20EC0823071F42FEF30E00E941EFBAD -:10B6600020ED37E040E050E00E94FCFAB9018CE2A6 -:10B670000C945FEE089541E06EE877E18FEF9FE074 -:10B68000A8DF61E08EE20E9469EF61E08DE20E9436 -:10B6900069EF61E08CE20E9469EF80918E17811161 -:10B6A00015C08091740C9091750C9093810C8093CF -:10B6B000800C8091760C9091770C9093830C809302 -:10B6C000820C8091780C9091790C14C080917A0C46 -:10B6D00090917B0C9093810C8093800C80917C0CDA -:10B6E00090917D0C9093830C8093820C80917E0CC2 -:10B6F00090917F0C9093850C8093840C6091800CCA -:10B700007091810C80E087DF6091820C7091830CD6 -:10B7100081E081DFA091840CB091850C2FEF30E0A7 -:10B720000E941EFB20ED37E040E050E00E94FCFA52 -:10B73000B9018CE20E945FEE80912101887F8160D7 -:10B74000809321010895CF93C42F67FD20C08130DD -:10B7500061F028F0823079F0833099F018C088E2E7 -:10B760000E94A2EFC7FF1DC02AC085E40E94A2EF7D -:10B77000C7FF1AC024C084E40E94A2EFC7FF17C00D -:10B780001EC081E40E94A2EFC7FF14C018C0C7FD0D -:10B7900016C0813049F028F0823049F0833051F0F2 -:10B7A0000EC06C2F89E208C06C2F87E205C06C2F99 -:10B7B00083E402C06C2F82E4CF910C94A2EFCF916E -:10B7C0000895643079F028F4613041F0623041F03E -:10B7D0000895683051F0603141F0089540E003C0B1 -:10B7E00040E004C041E060E002C041E061E0ABCF76 -:10B7F000FF920F931F93CF93DF9300D01F921F925E -:10B80000CDB7DEB785E0EBE0FDE0DE0111960190FB -:10B810000D928A95E1F761E088E20E9469EF61E0AC -:10B8200089E20E9469EF61E085E40E9469EF61E0CE -:10B8300087E20E9469EF61E084E40E9469EF61E0C1 -:10B8400083E40E9469EF61E081E40E9469EF61E0B6 -:10B8500082E40E9469EF8E010F5F1F4FF12CF80107 -:10B8600061918F018F2DADDFF394F5E0FF12F7CFDB -:10B870000F900F900F900F900F90DF91CF911F912D -:10B880000F91FF900895F7DEB3DFEAE0F1E08081E9 -:10B8900082608083808181608083808184608083F6 -:10B8A0008081806480830F9A179A0E9A169A0D9A57 -:10B8B000159A0C9A149A26982E9A25982D9A2498BF -:10B8C0002C9A0A98129A0998119A3F98479A389A8E -:10B8D0004098179A10924C13399A4198169A1092E0 -:10B8E0004D133A9A4298159A10924E133B9A4398E8 -:10B8F000149AA1E8B0E08C918F7E8C938C91886033 -:10B900008C93E0E8F0E080818D7F808380818E7F62 -:10B91000808380818F73808380818F7C80838C91F2 -:10B92000887F82608C9380E090E49093890080937C -:10B9300088001092850010928400EFE6F0E080818C -:10B940008260808381E08093730C78940895E8E9A5 -:10B95000F6E58491882341F09091C00095FFFCCFDB -:10B960008093C6003196F5CFE4E9F6E5849188230B -:10B9700041F09091C00095FFFCCF8093C6003196B6 -:10B98000F5CF88E20E94D7EF4AE050E0BC0189EF92 -:10B9900096E10E948DD089E20E94D7EF4AE050E004 -:10B9A000BC0189EF96E10E948DD08091C00085FF97 -:10B9B000FCCF8AE08093C600E0E9F6E58491882315 -:10B9C00041F09091C00095FFFCCF8093C600319666 -:10B9D000F5CF85E40E94D7EF4AE050E0BC0189EF43 -:10B9E00096E10E948DD087E20E94D7EF4AE050E0B6 -:10B9F000BC0189EF96E10E948DD08091C00085FF47 -:10BA0000FCCF8AE08093C600ECE8F6E584918823B9 -:10BA100041F09091C00095FFFCCF8093C600319615 -:10BA2000F5CF84E40E94D7EF4AE050E0BC0189EFF3 -:10BA300096E10E948DD083E40E94D7EF4AE050E067 -:10BA4000BC0189EF96E10E948DD08091C00085FFF6 -:10BA5000FCCF8AE08093C600E7E8F6E5849188236E -:10BA600041F09091C00095FFFCCF8093C6003196C5 -:10BA7000F5CF81E40E94D7EF4AE050E0BC0189EFA6 -:10BA800096E10E948DD082E40E94D7EF4AE050E018 -:10BA9000BC0189EF96E10E948DD08091C00085FFA6 -:10BAA000FCCF8AE08093C6000895CF93DF931F9266 -:10BAB000CDB7DEB72091151E3091161ECE0101962E -:10BAC0002115310519F0821B930B02C08B519E4149 -:10BAD0000F90DF91CF9108952F923F924F925F92F6 -:10BAE0006F927F928F929F92AF92BF92CF92DF928E -:10BAF000EF92FF920F931F93CF93DF93CDB7DEB7F3 -:10BB000068970FB6F894DEBF0FBECDBF1C012A01A7 -:10BB10003B0148015901DC01D8966D917D918D91D1 -:10BB20009C91DB970E949CF76B017C01A301920121 -:10BB30000E94D1F90E94E9F60E9470F769877A871E -:10BB40008B879C87A5019401C701B6010E94D1F99A -:10BB50000E94E9F60E9470F76D877E878F87988B29 -:10BB600029853A854B855C85283731054105510586 -:10BB700040F488E790E0A0E0B0E089879A87AB873F -:10BB8000BC872D853E854F8558892837310541056D -:10BB9000510540F488E790E0A0E0B0E08D879E87F3 -:10BBA000AF87B88B91012C5B3F4FD9018D919D914F -:10BBB0000D90BC91A02D8D839E83AF83B887BC016F -:10BBC000CD010E949EF769837A838B839C8369856C -:10BBD0007A858B859C850E949CF7698B7A8B8B8BF1 -:10BBE0009C8B20E030E0A90169817A818B819C8166 -:10BBF0000E94FCF6882339F1A7019601C701B6011E -:10BC00000E94D1F94B015C0129893A894B895C89F1 -:10BC1000CA01B9010E94D1F99B01AC01C501B4016F -:10BC20000E9422F64B015C0129813A814B815C81A3 -:10BC3000CA01B9010E9423F69B01AC01C501B40100 -:10BC40000E9403F703C060E070E0CB010E94E9F6B8 -:10BC50000E946BF72B013C016D817E818F8198855D -:10BC600090958095709561957F4F8F4F9F4F0E9463 -:10BC70009EF74B015C016D857E858F8598890E94BA -:10BC80009CF76D837E838F83988720E030E0A90145 -:10BC9000C501B4010E94FCF6882349F12D813E8143 -:10BCA0004F815885CA01B9010E94D1F96D8B7E8BF5 -:10BCB0008F8B988FA7019601C701B6010E94D1F919 -:10BCC0009B01AC016D897E898F89988D0E9422F637 -:10BCD0006B017C01A5019401C501B4010E9423F60A -:10BCE0009B01AC01C701B6010E9403F703C060E0ED -:10BCF00070E0CB010E94D9F7F10180889188A28879 -:10BD0000B38875016401C418D508E608F7080E94D5 -:10BD10006BF7C61AD70AE80AF90AF7FE6BC020E0EB -:10BD200030E0A90169817A818B819C810E94FCF6B7 -:10BD3000882309F447C029813A814B815C81CA017B -:10BD4000B9010E9423F66B017C01C501B4010E9478 -:10BD50009CF79B01AC01C701B6010E94D1F96B01B0 -:10BD60007C0129893A894B895C89CA01B9010E9401 -:10BD7000D1F99B01AC01C701B6010E9422F66B010B -:10BD80007C012D813E814F815885CA01B9010E94F5 -:10BD9000D1F99B01AC01C701B6010E9423F66B01EA -:10BDA0007C0120E030E040E850E469817A818B81B9 -:10BDB0009C810E94D1F99B01AC01C701B6010E9490 -:10BDC00003F703C060E070E0CB010E94E9F60E9437 -:10BDD0006BF72B013C0197FF03C0412C512C320122 -:10BDE000481459046A047B0410F024013501C12C65 -:10BDF000D12C76018FB7F894F101E45BFF4F90816D -:10BE0000911125C0D10154964D925D926D927C9214 -:10BE10005797C40CD51CE61CF71CF101C08ED18EBF -:10BE2000E28EF38E29853A854B855C85DC962D93D1 -:10BE30003D934D935C93DF97A05CBF4F2D853E856E -:10BE40004F8558892D933D934D935C9313978FBFE6 -:10BE500068960FB6F894DEBF0FBECDBFDF91CF91CD -:10BE60001F910F91FF90EF90DF90CF90BF90AF9018 -:10BE70009F908F907F906F905F904F903F902F900A -:10BE800008954F925F926F927F92AF92BF92CF923E -:10BE9000DF92EF92FF920F931F93CF93DF93EB010B -:10BEA0007A01209709F458C04115510509F454C08E -:10BEB000AAA4BBA40CA51DA59501A8016EA17FA1F4 -:10BEC00088A599A50E94FCF6882309F445C08FA98E -:10BED00081113AC0F70146A057A060A471A4A30144 -:10BEE0009201B501C8010E94FFF818166CF5A30174 -:10BEF0009201C301B2010E94D1F96B017C018AA9B0 -:10BF00009BA9ACA9BDA9BC01CD0190589B01AC0176 -:10BF10000E9423F62EA53FA548A959A90E94D1F950 -:10BF20009B01AC01C701B6010E9422F60E943EFAB5 -:10BF30006B017C019B01AC01B501C8010E94FCF6BC -:10BF400087FD02C056018701A501B8014EA35FA37A -:10BF500068A779A781E08EABDF91CF911F910F91F8 -:10BF6000FF90EF90DF90CF90BF90AF907F906F9059 -:10BF70005F904F900895DF92EF92FF920F931F937F -:10BF8000CF93DF938091CB178FB7F894E090CA17C7 -:10BF90008FBF8091CB1790E08E1991098F709927F0 -:10BFA0000497F4F01091CB1713501F7040E050E04D -:10BFB00000E0F12C8DE4D82E1E1591F0111101C076 -:10BFC00010E11150D19EE0011124C453D84E602FCE -:10BFD0007F2DCE0156DF402F5F2D0C2FFD2EECCF95 -:10BFE000DF91CF911F910F91FF90EF90DF90089517 -:10BFF0004F925F926F927F92AF92BF92CF92DF92F9 -:10C00000EF92FF920F931F93CF93DF938C01EB017D -:10C01000009709F453C0FC0187A981114FC046A0C5 -:10C0200057A060A471A4AEA0BFA0C8A4D9A49501D4 -:10C03000A601C301B2010E94FCF687FF3FC0A30125 -:10C040009201C301B2010E94D1F92B013C01F80118 -:10C0500082A993A9A4A9B5A9BC01CD0190589B01BF -:10C06000AC010E9423F6F80126A537A540A951A9E5 -:10C070000E94D1F99B01AC01C301B2010E9422F6DA -:10C080000E943EFA7B018C019B01AC01B501C60107 -:10C090000E94FCF687FF02C0750186019701A80186 -:10C0A000B501C6010E94FCF6882341F0A701B80142 -:10C0B0004EA35FA368A779A781E08EABDF91CF91F4 -:10C0C0001F910F91FF90EF90DF90CF90BF90AF90B6 -:10C0D0007F906F905F904F900895EF92FF920F9333 -:10C0E0001F93CF93DF93F090CA1700E010E080E039 -:10C0F00090E02DE4E22E2091CB17F21689F0EF9C10 -:10C10000E0011124C453D84EAE01B80171DF81E0C3 -:10C110008F0D803109F480E0F82EC8018E01EBCF3D -:10C1200040E050E0B801DF91CF911F910F91FF9057 -:10C13000EF905ECF4F925F926F927F928F929F921D -:10C14000AF92BF92CF92DF92EF92FF920F931F9325 -:10C15000CF93DF939090CA17C0E0D0E03DE4832EE8 -:10C16000892D992787FD90952091CB1730E0821774 -:10C170009307B9F1889E5001899EB00C1124C50126 -:10C180008453984E5C01209729F18EA9811104C037 -:10C19000F50186A98823F1F0CAA0DBA0ECA0FDA0E0 -:10C1A000A7019601F50166A177A180A591A50E943E -:10C1B00003F72B013C01A70196016EA17FA188A581 -:10C1C00099A50E9403F7AB01BC0193018201CE0146 -:10C1D00083DC1EAA9394F0E19F1201C0912CE5012B -:10C1E000BFCF2097E9F0CAA0DBA0ECA0FDA0A7017B -:10C1F00096016DEC7CEC8CE49DE30E9403F74B010F -:10C200005C01A70196016EA17FA188A599A50E9456 -:10C2100003F7AB01BC0195018401CE015DDC1EAAD0 -:10C22000DF91CF911F910F91FF90EF90DF90CF9012 -:10C23000BF90AF909F908F907F906F905F904F9046 -:10C24000089599DE4ADF76CF1092CB171092CA1765 -:10C2500080E1E3EBFCE1DF011D928A95E9F71092A2 -:10C26000A31C1092A41C1092A51C1092A61C109244 -:10C27000A71C1092A81C1092A91C1092AA1C109224 -:10C28000AB1C1092AC1C1092AD1C1092AE1C109204 -:10C29000AF1C1092B01C1092B11C1092B21C1092E4 -:10C2A0009F1C1092A01C1092A11C1092A21C089519 -:10C2B000609145139091CA178091CB17981781F020 -:10C2C0008091CA179DE4899FF0011124EC5EF74E1E -:10C2D00060819091CB17891719F08F5F8F70F9CF1C -:10C2E00070E088E00C945FEE2F923F924F925F9245 -:10C2F0006F927F928F929F92AF92BF92CF92DF9276 -:10C30000EF92FF920F931F93CF93DF93CDB7DEB7DA -:10C31000CC56D1090FB6F894DEBF0FBECDBF3C019D -:10C320005B014A012901E8A6F8AE25960FAF2597D3 -:10C330001CAF86012091CB172F5F29962FAF29972D -:10C34000203119F429961FAE299729963FAD2997D8 -:10C35000E32EFF24E7FCF0948091CA1790E08E153D -:10C360009F0541F40E94D54580E00E9499700E948B -:10C37000E3A3F2CF2091FF1C3091001D4091011DDD -:10C380005091021DD3016D917D918D919C910E94E0 -:10C39000D1F90E94A1F969966CAF7DAF8EAF9FAFC6 -:10C3A00069972091031D3091041D4091051D509106 -:10C3B000061DF50160817181828193810E94D1F90E -:10C3C0000E94A1F96D966CAF7DAF8EAF9FAF6D9758 -:10C3D0002091071D3091081D4091091D50910A1DA3 -:10C3E000D4016D917D918D919C910E94D1F90E9413 -:10C3F000A1F9A1966CAF7DAF8EAF9FAFA1972091B1 -:10C400000B1D30910C1D40910D1D50910E1DF20120 -:10C4100060817181828193810E94D1F90E94A1F98A -:10C4200024966CAF7DAF8EAF9FAF24978091BF1CD9 -:10C430009091C01CA091C11CB091C21C24962CAD3F -:10C440003DAD4EAD5FAD2497281739074A075B070E -:10C4500009F4C8C0E091471334E0E39FF0011124D0 -:10C46000EA5FFE4E2091860C3091870C4091880C3B -:10C470005091890C60817181828193810E94FCF6C8 -:10C4800087FF3CC024968CAD9DADAEADBFAD24976B -:10C490008093BF1C9093C01CA093C11CB093C21C7E -:10C4A000E1E1F2E58491882341F09091C00095FF8D -:10C4B000FCCF8093C6003196F5CFE0917913F0E080 -:10C4C000EE0FFF1FE45EFD4F0190F081E02DE2557D -:10C4D000FE4F0190F081E02D8491882341F09091EE -:10C4E000C00095FFFCCF8093C6003196F5CF8091B8 -:10C4F000C00085FFFCCF8AE08093C6008091BF1CFE -:10C500009091C01CA091C11CB091C21C24962CAD6E -:10C510003DAD4EAD5FAD2497281B390B4A0B5B0B2D -:10C52000CA01B90157FF07C0909580957095619534 -:10C530007F4F8F4F9F4F0E949EF76B017C0120E041 -:10C5400030E04EEC53E460910B1D70910C1D809116 -:10C550000D1D90910E1D0E94D1F99B01AC01C701E8 -:10C56000B6010E94FFF818160CF03CC024968CAD62 -:10C570009DADAEADBFAD24978093BF1C9093C01C02 -:10C58000A093C11CB093C21CE1E1F2E58491882321 -:10C5900041F09091C00095FFFCCF8093C60031968A -:10C5A000F5CFE0917913F0E0EE0FFF1FE45EFD4F51 -:10C5B0000190F081E02DE055FE4F0190F081E02DDB -:10C5C0008491882341F09091C00095FFFCCF809327 -:10C5D000C6003196F5CF8091C00085FFFCCF8AE080 -:10C5E0008093C6008091CB179DE4899F1001112490 -:10C5F000D101A453B84E1D01FD01E45BFF4F108231 -:10C600002091B31C3091B41C4091B51C5091B61CC4 -:10C610002BA33CA34DA35EA369964CAC5DAC6EAC62 -:10C620007FAC6997421A530A640A750A77FE08C0FC -:10C630007094609450944094411C511C611C711C76 -:10C64000D1014D925D926D927C9213972091B71C0F -:10C650003091B81C4091B91C5091BA1C2CAB3DAB29 -:10C660004EAB5FAB6D968CAC9DACAEACBFAC6D977A -:10C67000821A930AA40AB50AB7FE08C0B094A0941F -:10C6800090948094811C911CA11CB11CD101149622 -:10C690008D929D92AD92BC9217972091BB1C3091C8 -:10C6A000BC1C4091BD1C5091BE1C2CA73DA74EA7A1 -:10C6B0005FA7A196CCACDDACEEACFFACA197C21AE3 -:10C6C000D30AE40AF50AF7FE08C0F094E094D09487 -:10C6D000C094C11CD11CE11CF11CD1011896CD9253 -:10C6E000DD92ED92FC921B972091BF1C3091C01CF3 -:10C6F0004091C11C5091C21C28AB39AB4AAB5BAB1B -:10C7000024966CAD7DAD8EAD9FAD2497621B730BEF -:10C71000840B950B97FF07C0909580957095619558 -:10C720007F4F8F4F9F4F0E949EF7E091471334E059 -:10C73000E39FF0011124E55CF34F208131814281B8 -:10C7400053810E94D1F90E946BF79B01AC01A0912B -:10C75000470CB091480C0E942EFB24E630E040E0EC -:10C7600050E00E94FCFAD1011C962D933D934D930D -:10C770005C931F97C814D904EA04FB0414F47501F0 -:10C780006401C216D306E406F50614F469017A01C1 -:10C79000D301C2014C145D046E047F0414F4D7016C -:10C7A000C601F101808B918BA28BB38B0697A105FB -:10C7B000B10508F461C7E85BFF4F80914513909184 -:10C7C0004613AA2797FDA095BA2F80839183A28351 -:10C7D000B38369962CAD3DAD4EAD5FAD69978BA12E -:10C7E0009CA1ADA1BEA1281739074A075B0724F019 -:10C7F000D10190961C9203C081E0F10180A36D9657 -:10C800002CAD3DAD4EAD5FAD6D978CA99DA9AEA988 -:10C81000BFA9281739074A075B073CF4D101909656 -:10C820008C919097826090968C93A1962CAD3DADA3 -:10C830004EAD5FADA1978CA59DA5AEA5BFA5281750 -:10C8400039074A075B073CF4D10190968C91909789 -:10C85000846090968C9324962CAD3DAD4EAD5FAD2B -:10C86000249788A999A9AAA9BBA9281739074A0713 -:10C870005B073CF4D10190968C91909788609096DC -:10C880008C93F8018081D10191968C93452846289C -:10C89000472809F01798F10184819581A681B78115 -:10C8A000892B8A2B8B2B09F01698F10180859185B5 -:10C8B000A285B385892B8A2B8B2B09F01598F10162 -:10C8C00084859585A685B785892B8A2B8B2B69F165 -:10C8D00080919C1C882319F0815080939C1C80912E -:10C8E0009D1C882319F0815080939D1C80919E1C73 -:10C8F000882319F0815080939E1CD8018C9181303F -:10C9000061F030F0823089F480E280939E1C08C090 -:10C91000149880E280939C1C08C080E280939D1C48 -:10C9200080919C1C811101C0149AD1011C962D91FB -:10C930003D914D915C911F972D962CAF3DAF4EAF21 -:10C940005FAF2D97232B242B252B09F5B091D31CFA -:10C95000BBA3E091D41CEFA31091D51C0091D61C71 -:10C960002B2F3E2F412F502F68A578AD25968FADE8 -:10C9700025979CAD0E94FCF687FD16C0F8A5FBA389 -:10C9800028AD2FA325961FAD25970CAD0DC0309176 -:10C99000EB1C3BA34091EC1C4FA31091ED1C0091AC -:10C9A000EE1C232F342FDECF8091B31C9091B41C4A -:10C9B000A091B51CB091B61C69962CAD3DAD4EADA5 -:10C9C0005FAD6997281B390B4A0B5B0BCA01B90194 -:10C9D0000E949EF72091FF1C3091001D4091011D87 -:10C9E0005091021D0E9403F768A779A78AA79BA709 -:10C9F000698B7A8B8B8B9C8B6D966CAD7DAD8EAD80 -:10CA00009FAD6D972CA93DA94EA95FA9621B730B21 -:10CA1000840B950B0E949EF72091031D3091041DFD -:10CA20004091051D5091061D0E9403F74B015C01CA -:10CA30006D8B7E8B8F8B988FA1966CAD7DAD8EADFF -:10CA40009FADA1972CA53DA54EA55FA5621B730BBD -:10CA5000840B950B0E949EF72091071D3091081DB5 -:10CA60004091091D50910A1D0E9403F76B017C0142 -:10CA7000698F7A8F8B8F9C8F24966CAD7DAD8EAD38 -:10CA80009FAD249728A939A94AA95BA9621B730BFA -:10CA9000840B950B0E949EF720910B1D30910C1D6D -:10CAA00040910D1D50910E1D0E9403F7E091471318 -:10CAB00034E0E39FF0011124E55CF34F20813181E4 -:10CAC000428153810E94D1F92B013C016091470CB6 -:10CAD0007091480C882777FD8095982F0E949EF7CB -:10CAE0009B01AC01C301B2010E94D1F920E030E00A -:10CAF00048EC52E40E9403F76D8F7E8F8F8F98A3CE -:10CB0000D1012D913D914D915C91139728AF39AF93 -:10CB10004AAF5BAF263031054105510504F5149647 -:10CB20004D905D906D907C901797B6E04B16510438 -:10CB300061047104A4F4F10140845184628473841B -:10CB4000F6E04F165104610471044CF4DC01CB0192 -:10CB5000BF77F10186A797A7A0ABB1AB27C068A5A7 -:10CB600079A58AA59BA50E947CFA2B013C01C501F1 -:10CB7000B4010E947CFA9B01AC01C301B2010E9486 -:10CB800023F64B015C01C701B6010E947CFA9B01B0 -:10CB9000AC01C501B4010E9423F60E943EFAD10106 -:10CBA0009E966D937D938D939C93D197D1019E9684 -:10CBB0002D913D914D915C91D19728962CAF3DAF31 -:10CBC0004EAF5FAF289760E070E080E89FE30E947F -:10CBD00003F79B01AC016BA17FA1812F902F0E94D5 -:10CBE000D1F92B013C019091CB178091CA17E92F05 -:10CBF000F0E0E81BF109EF70FF27FDABECABA30100 -:10CC0000920160E074E284E799E40E9403F70E94D5 -:10CC1000A1F96B017C012CA93DA9223031050CF44E -:10CC200042C04901AA2497FCA094BA2CC501B401C2 -:10CC30000E949EF720E030E040E051E40E94FCF6C4 -:10CC400087FF31C080911F1D9091201DA091211D53 -:10CC5000B091221DC816D906EA06FB0620F5BC01D4 -:10CC6000CD016C197D098E099F09660F771F881FFA -:10CC7000991FA50194010E94DAFACA01B9010E9424 -:10CC80009CF70E94A1F96C0D7D1D8E1D9F1D0E94B9 -:10CC90009CF79B01AC0160E074E284E799E40E9498 -:10CCA00003F72B013C01A301920128966CAD7DADE9 -:10CCB0008EAD9FAD28970E94D1F96CAF7DAF8EAF3E -:10CCC0009FAFD10192966D937D938D939C93959791 -:10CCD00050966D917D918D919C9153970E949CF7F8 -:10CCE0006BA37CA38DA39EA3A30192010E94D1F903 -:10CCF0000E94E9F60E9470F76B017C01F10160AFC0 -:10CD000071AF82AF93AF8E010F5E1F4F2FE03DE1F9 -:10CD100065963FAF2EAF6597AE014F5D5F4F5AA34B -:10CD200049A3CE01019663969FAF8EAF63971FA272 -:10CD30001CA690E898ABAFE3A8A7F80161917191A8 -:10CD4000819191918F01A30192010E94D1F9639683 -:10CD5000AEADBFAD63976D937D938D939D936396B9 -:10CD6000BFAFAEAF63979B01AC015F7761962CAF0D -:10CD70003DAF4EAF5FAF61976596AEADBFAD659706 -:10CD80008D909D90AD90BD906596BFAFAEAF65970D -:10CD9000A501940161966CAD7DAD8EAD9FAD61979F -:10CDA0000E94FFF81816F4F461962CAD3DAD4EAD1F -:10CDB0005FAD6197C501B4010E9403F7B62EA72E9F -:10CDC000982E892E262F372F482F592F6FA17CA5FB -:10CDD00088A998A50E94FCF687FD04C0BFA2ACA656 -:10CDE00098AA88A6E9A1FAA10E171F0709F0A5CFF6 -:10CDF00020E030E040E85FE36FA17CA588A998A51A -:10CE00000E94FCF687FF3DC05E01F1E1AF0EB11C50 -:10CE10008E010F5F1F4F2FA13CA548A958A5D8012F -:10CE20006D917D918D919C910E94D1F9F801619352 -:10CE30007193819391938F01EA15FB0561F72FA1FF -:10CE40003CA548A958A56CAD7DAD8EAD9FAD0E94A7 -:10CE5000D1F9D10192966D937D938D939C93959783 -:10CE6000C701B6010E949CF72FA13CA548A958A56F -:10CE70000E94D1F90E9470F7F10160AF71AF82AFEB -:10CE800093AF28962CAD3DAD4EAD5FAD28976BA10D -:10CE90007CA18DA19EA10E9403F76B017C0128ADAE -:10CEA00039AD4AAD5BAD232B242B252B59F5F10170 -:10CEB00084819581A681B781892B8A2B8B2B11F5D3 -:10CEC00080859185A285B385892B8A2B8B2BD1F404 -:10CED0002091E31C3091E41C4091E51C5091E61C2C -:10CEE000C701B6010E94D1F90E94E9F681010C5BED -:10CEF0001F4F0E9470F7D8016D937D938D939C9383 -:10CF00001397F6C02091E71C3091E81C4091E91C72 -:10CF10005091EA1CC701B6010E94D1F90E94E9F6BE -:10CF20000E9470F781010C5B1F4FF80160837183D1 -:10CF3000828393834090C31C5090C41C6090C51C96 -:10CF40007090C61C0E949CF74B015C0168AD79ADE6 -:10CF50008AAD9BAD0E949EF79B01AC01C501B40157 -:10CF60000E94D1F92BA13CA14DA15EA10E9403F723 -:10CF70004B015C01C301B2010E949CF79B01AC0113 -:10CF8000C501B4010E94FFF8181634F4D8014D927F -:10CF90005D926D927C9213974090C71C5090C81C74 -:10CFA0006090C91C7090CA1CF801608171818281F7 -:10CFB00093810E949CF74B015C01D10114966D9105 -:10CFC0007D918D919C9117970E949EF79B01AC01DA -:10CFD000C501B4010E94D1F92BA13CA14DA15EA1D4 -:10CFE0000E9403F74B015C01C301B2010E949CF750 -:10CFF0009B01AC01C501B4010E94FFF818162CF486 -:10D00000F80140825182628273824090CF1C50901E -:10D01000D01C6090D11C7090D21C81010C5B1F4F02 -:10D02000D8016D917D918D919C910E949CF74B014F -:10D030005C012D966CAD7DAD8EAD9FAD2D970E94A0 -:10D040009EF79B01AC01C501B4010E94D1F92BA14F -:10D050003CA14DA15EA10E9403F74B015C01C301FD -:10D06000B2010E949CF79B01AC01C501B4010E9472 -:10D07000FFF818162CF4F801408251826282738204 -:10D080004090CB1C5090CC1C6090CD1C7090CE1C5E -:10D09000D8016D917D918D919C910E949CF74B01DF -:10D0A0005C01F10160857185828593850E949EF700 -:10D0B0009B01AC01C501B4010E94D1F92BA13CA197 -:10D0C0004DA15EA10E9403F74B015C01C301B201B7 -:10D0D0000E949CF79B01AC01C501B4010E94FFF8BE -:10D0E000181634F4D8014D925D926D927C9213978C -:10D0F000F101EC5BFF4F60817181828193810E941D -:10D100009CF74B015C01A70196010E9403F7A596CD -:10D110006CAF7DAF8EAF9FAFA597F10162AB73ABE4 -:10D1200084AB95AB2DEB37E346E051E4C501B40188 -:10D130000E94D1F90E946BF7D1015C966D937D93AB -:10D140008D939C935F97C090DF1CD090E01CE09083 -:10D15000E11CF090E21C20E030E040E05FE3C7011A -:10D16000B6010E94D1F96BA37FA38C0129853A8572 -:10D170004B855C85A9962CAF3DAF4EAF5FAFA997AD -:10D180008091DB1C9091DC1CA091DD1CB091DE1C19 -:10D190008CAF9DAFAEAFBFAF20E030E040E05FE3CB -:10D1A000BC01CD010E94D1F9B62EA72E982E892E52 -:10D1B000A9966CAD7DAD8EAD9FADA9979F772B2DB8 -:10D1C0003A2D492D582D0E94FFF818167CF42B2D6E -:10D1D0003A2D492D582D6BA17FA1C8010E94FCF664 -:10D1E00087FD04C0BBA2AFA2092D182D2D853E8559 -:10D1F0004F855889AD962CAF3DAF4EAF5FAFAD9721 -:10D200008091D71C9091D81CA091D91CB091DA1CA8 -:10D210002D968CAF9DAFAEAFBFAF2D9720E030E025 -:10D2200040E05FE3BC01CD010E94D1F9B62EA72EEC -:10D23000982E892EAD966CAD7DAD8EAD9FADAD9720 -:10D240009F772B2D3A2D492D582D0E94FFF8181647 -:10D250007CF42B2D3A2D492D582D6BA17FA1C801AF -:10D260000E94FCF687FD04C0BBA2AFA2092D182DB9 -:10D27000D1019296BC91BCA7F101F3A1F8ABD10109 -:10D280009496BC91B8A7F101F5A1F8AF2CA538A9E7 -:10D290004B2F5F2F6BA17FA1C8010E94FCF687FD79 -:10D2A00006C02CA52BA338A93FA308A518AD4CA9EF -:10D2B0005DA9423051050CF405C150919F1C5CAB37 -:10D2C0008091A01C2E968FAF2E979091A11C6296F4 -:10D2D0009FAF6297A091A21C6496AFAF649727E1BD -:10D2E00037EB41ED58E36CA9782F892F9A2F0E94D4 -:10D2F000FFF818160CF0E6C02091A31C3091A41C76 -:10D300004091A51C5091A61C69817A818B819C81DA -:10D310000E9422F62B013C012091A71C3091A81CF1 -:10D320004091A91C5091AA1C6D817E818F819885A6 -:10D330000E9422F64B015C01A3019201C301B201DC -:10D340000E94D1F92B013C01A5019401C501B40152 -:10D350000E94D1F99B01AC01C301B2010E9423F6E6 -:10D360000E943EFA4B015C01A70196010E94FFF862 -:10D3700018164CF4A5019401C701B6010E9403F7E9 -:10D380005B014C0106C0A12CB12C40E8842E5FE368 -:10D39000952E2091AB1C3091AC1C4091AD1C50914E -:10D3A000AE1CA9966CAD7DAD8EAD9FADA9970E94C8 -:10D3B00022F66B017C01E894F7F82CAD3DAD4EAD43 -:10D3C0005FADC701B6010E94FFF81816D4F4A7019B -:10D3D00096016CAD7DAD8EAD9FAD0E9403F7F62E2C -:10D3E000E72ED82EC92E262F372F482F592FB501BB -:10D3F000C4010E94FCF687FD04C0AF2CBE2C8D2C0E -:10D400009C2C2091AF1C3091B01C4091B11C5091CC -:10D41000B21CAD966CAD7DAD8EAD9FADAD970E944B -:10D4200022F66B017C01E894F7F82D962CAD3DAD0A -:10D430004EAD5FAD2D97C701B6010E94FFF81816DB -:10D44000E4F4A70196012D966CAD7DAD8EAD9FAD38 -:10D450002D970E9403F7F62EE72ED82EC92E262FE1 -:10D46000372F482F592FB501C4010E94FCF687FDC4 -:10D4700004C0AF2CBE2C8D2C9C2C9501A4016CA556 -:10D4800078A988A598AD0E94D1F94B015C019B0158 -:10D49000AC016CA92E967FAD2E9762968FAD6297E8 -:10D4A00064969FAD64970E94FCF687FF0EC08CA81F -:10D4B0002E969FAC2E976296AFAC62976496BFACE7 -:10D4C000649703C08BA09FA05801C401D501F1014E -:10D4D00082A793A7A4A7B5A7A5966CAD7DAD8EAD89 -:10D4E0009FADA59790589B01AC010E9423F628960A -:10D4F0002CAD3DAD4EAD5FAD28970E94D1F99B019B -:10D50000AC016BE077ED83E29BE30E9422F60E9480 -:10D510003EFA7B01D82EC92E9B01482F592FB4010A -:10D52000C5010E94FCF687FD03C04701AD2CBC2C51 -:10D53000C401D501F10186A397A3A0A7B1A79701C4 -:10D540004D2D5C2D6CA578A988A598AD0E94FCF6A0 -:10D5500018162CF081E0D101D7968C9302C0F1010E -:10D5600017AA81E0D101D6968C9380E1FE01319615 -:10D57000A3EABCE101900D928A95E1F78CA598A9E8 -:10D58000A8A5B8AD80939F1C9093A01CA093A11C4C -:10D59000B093A21C9C01AD016BA17FA1C8010E94A8 -:10D5A00003F76B017C012CA538A948A558ADB4013F -:10D5B000C5010E9403F7AB01BC0197018601C101BF -:10D5C0000E946CDD2996BFAD2997B093CB17699661 -:10D5D0002CAD3DAD4EAD5FAD69972093B31C30933C -:10D5E000B41C4093B51C5093B61C6D968CAD9DAD8C -:10D5F000AEADBFAD6D978093B71C9093B81CA09350 -:10D60000B91CB093BA1CA1962CAD3DAD4EAD5FAD2B -:10D61000A1972093BB1C3093BC1C4093BD1C50931E -:10D62000BE1C24968CAD9DADAEADBFAD249780934E -:10D63000BF1C9093C01CA093C11CB093C21C0E943D -:10D6400021E1C459DF4F0FB6F894DEBF0FBECDBF46 -:10D65000DF91CF911F910F91FF90EF90DF90CF90CE -:10D66000BF90AF909F908F907F906F905F904F9002 -:10D670003F902F900C9464D2C459DF4F0FB6F894AA -:10D68000DEBF0FBECDBFDF91CF911F910F91FF90F5 -:10D69000EF90DF90CF90BF90AF909F908F907F9052 -:10D6A0006F905F904F903F902F900895EF92FF9270 -:10D6B0000F931F93CF93DF937B018A01E9012091A0 -:10D6C000FF1C3091001D4091011D5091021DFC0175 -:10D6D00060817181828193810E94D1F90E94A1F9B8 -:10D6E0006093B31C7093B41C8093B51C9093B61CCC -:10D6F0002091031D3091041D4091051D5091061D80 -:10D70000F70160817181828193810E94D1F90E9429 -:10D71000A1F96093B71C7093B81C8093B91C9093C7 -:10D72000BA1C2091071D3091081D4091091D509190 -:10D730000A1DF80160817181828193810E94D1F973 -:10D740000E94A1F96093BB1C7093BC1C8093BD1C0C -:10D750009093BE1C20910B1D30910C1D40910D1D0E -:10D7600050910E1D688179818A819B810E94D1F937 -:10D770000E94A1F96093BF1C7093C01C8093C11CD0 -:10D780009093C21C2FEB3CE14BEB5CE167EB7CE13F -:10D7900083EB9CE10E94F0D910929F1C1092A01C78 -:10D7A0001092A11C1092A21C1092A31C1092A41CF7 -:10D7B0001092A51C1092A61C1092A71C1092A81CD7 -:10D7C0001092A91C1092AA1C1092AB1C1092AC1CB7 -:10D7D0001092AD1C1092AE1C1092AF1C1092B01C97 -:10D7E0001092B11C1092B21CDF91CF911F910F913A -:10D7F000FF90EF90089520910B1D30910C1D4091EA -:10D800000D1D50910E1DFC016081718182819381FB -:10D810000E94D1F90E94A1F96093BF1C7093C01CB3 -:10D820008093C11C9093C21C8FEB9CE10C942CDA6A -:10D830008091CB179091CA17891B8F7008956093C0 -:10D84000860C7093870C8093880C9093890C0895B4 -:10D85000CF92DF92EF92FF920F931F93CF93DF93BC -:10D8600000D01F92CDB7DEB71FEEC12E1CE1D12E26 -:10D870000FEFE02E0CE1F02E03EC1CE1F6016191BC -:10D880007191819191916F01F701219131914191B4 -:10D8900051917F0129833A834B835C830E949CF7DB -:10D8A00029813A814B815C810E94D1F90E9470F7F5 -:10D8B000F80161937193819391938F01FFEFCF16DC -:10D8C000FCE1DF06D9F60F900F900F900F90DF91DB -:10D8D000CF911F910F91FF90EF90DF90CF9008951F -:10D8E0008091521D90E02091531D821B9109089553 -:10D8F0002091531D8091521D281750F4E22FF0E023 -:10D90000EC5AF24E808190E02F5F2093531D0895D2 -:10D910008FEF9FEF0895E091531D8091521DE817FE -:10D9200030F4F0E0EC5AF24E808190E008958FEFF1 -:10D930009FEF08950895CF92DF92EF92FF920F9399 -:10D940001F93CF93DF937C01CB018A0120912F1D80 -:10D95000222389F0EB016B01C40ED51ECC15DD0529 -:10D9600061F06991D701ED91FC910190F081E02D7A -:10D97000C7011995F3CF642F4BD0C801DF91CF9128 -:10D980001F910F91FF90EF90DF90CF900895CF936C -:10D99000DF931F92CDB7DEB7698320912F1D22231D -:10D9A000D1F02091301D203240F021E030E0FC0128 -:10D9B0003383228380E090E014C08091311DE82FF2 -:10D9C000F0E0EE5CF24E998190838F5F8093311D81 -:10D9D0008093301D04C061E0CE01019619D081E032 -:10D9E00090E00F90DF91CF910895FC011382128295 -:10D9F00048EE53E060E070E04483558366837783AC -:10DA00008BE99EE091838083089583E29DE1EDCFD1 -:10DA1000613298F42091E11D243089F46093961DC1 -:10DA2000FC0188E99DE1DC012A2F281B261718F448 -:10DA300021912D93F9CF80E0089581E0089582E04F -:10DA4000089585ED8093BC008091BC0084FDFCCFDF -:10DA50001092E11D089585EC8093BC001092E11DA9 -:10DA600008951F920F920FB60F9211240BB60F92CA -:10DA70002F933F934F935F936F937F938F939F93D6 -:10DA8000AF93BF93EF93FF938091B900887F803667 -:10DA900009F49CC068F5883209F45BC090F48031C9 -:10DAA00009F454C038F4882309F4F3C0883009F429 -:10DAB0004DC0F2C0883109F44CC0803209F45DC019 -:10DAC000EBC0803409F468C048F4803309F455C0D1 -:10DAD000883309F0E1C08093741DA7C0803509F434 -:10DAE0004FC0883509F45DC0883409F0D5C0D3C073 -:10DAF000883909F4C4C0A8F4883709F467C038F439 -:10DB0000883609F463C0803709F460C0C5C088381E -:10DB100009F4B5C0803909F45FC0803809F0BCC091 -:10DB20005BC0803B09F483C038F4803A09F466C0D6 -:10DB3000883A09F47CC0B0C0803C09F4A4C0883C99 -:10DB400009F4A1C0883B09F487C0A6C08091E01DFC -:10DB500010C09091B91D8091B81D981770F5E09193 -:10DB6000B91D81E08E0F8093B91DF0E0E654F24EAE -:10DB700080818093BB0085EC83C08093741D8BC033 -:10DB8000E091B91D81E08E0F8093B91D8091BB009B -:10DB9000F0E0E654F24E80839091B91D8091B81D5B -:10DBA0006BC0E091B91D81E08E0F8093B91D80910B -:10DBB000BB00F0E0E654F24E80838091DF1D8111BE -:10DBC0006AC081E08093DE1D84EA5EC083E08093BA -:10DBD000E11D1092751DCFCF8091751D803208F028 -:10DBE0004EC0E091751D81E08E0F8093751D809170 -:10DBF000BB00F0E0EA58F24E8083BDCF8091751DE6 -:10DC0000803230F4E091751DF0E0EA58F24E108257 -:10DC100018DF6091751D70E0E091DA1DF091DB1D59 -:10DC200086E79DE119951092751D15DF35C084E0DA -:10DC30008093E11D1092971D1092961DE091DC1DBE -:10DC4000F091DD1D19958091961D811105C081E02F -:10DC50008093961D1092981DE091971D81E08E0F84 -:10DC60008093971DF0E0E856F24E80818093BB00D0 -:10DC70009091971D8091961D981708F47CCF85E8A8 -:10DC80008093BC0009C085EC8093BC001092E11D1C -:10DC900003C01092741DD5DEFF91EF91BF91AF913B -:10DCA0009F918F917F916F915F914F913F912F91B4 -:10DCB0000F900BBE0F900FBE0F901F9018951F93E3 -:10DCC000CF93DF93182FEB0161E003D1209711F47C -:10DCD00060E004C0CF3FD10531F461E0812FDF91D6 -:10DCE000CF911F912FC1E12FF0E0E854F14A449108 -:10DCF00050E0FA013197E131F10508F091C0E358A5 -:10DD0000FF4F0C9418FB84B5806884BDC7BD8DC0DF -:10DD100084B5806284BDC8BD88C080918000806861 -:10DD200080938000D0938900C09388007EC080914A -:10DD30008000806280938000D0938B00C0938A0023 -:10DD400074C08091B00080688093B000C093B3002D -:10DD50006CC08091B00080628093B000C093B4002A -:10DD600064C080919000806880939000D093990067 -:10DD7000C09398005AC08091900080628093900078 -:10DD8000D0939B00C0939A0050C08091900088600F -:10DD900080939000D0939D00C0939C0046C08091DA -:10DDA000A00080688093A0008091A0008F7B80936A -:10DDB000A000D093A900C093A80037C08091A00014 -:10DDC00080628093A000D093AB00C093AA002DC0C6 -:10DDD0008091A00088608093A000D093AD00C09394 -:10DDE000AC0023C080912001806880932001D093F3 -:10DDF0002901C093280119C080912001806280937D -:10DE00002001D0932B01C0932A010FC080912001E3 -:10DE1000886080932001D0932D01C0932C0105C010 -:10DE2000C038D1050CF059CF53CFDF91CF911F915E -:10DE3000089590E0FC013197E131F10508F048C008 -:10DE4000E257FF4F0C9418FB809180008F7703C03E -:10DE5000809180008F7D80938000089584B58F77B6 -:10DE600002C084B58F7D84BD08958091B0008F7706 -:10DE700003C08091B0008F7D8093B00008958091A1 -:10DE800090008F7707C0809190008F7D03C08091B4 -:10DE90009000877F8093900008958091A0008F77F5 -:10DEA00007C08091A0008F7D03C08091A000877F74 -:10DEB0008093A0000895809120018F7707C0809102 -:10DEC00020018F7D03C080912001877F80932001F6 -:10DED0000895CF93DF9390E0FC01E25FF04A249134 -:10DEE000FC01EC59F04A8491882349F190E0880FB5 -:10DEF000991FFC01E251F04AA591B4918C52904ACD -:10DF0000FC01C591D4919FB7611108C0F8948C9120 -:10DF1000209582238C93888182230AC0623051F439 -:10DF2000F8948C91322F309583238C938881822BA7 -:10DF3000888304C0F8948C91822B8C939FBFDF91CF -:10DF4000CF9108950F931F93CF93DF931F92CDB777 -:10DF5000DEB7282F30E0F901E854F14A8491F90145 -:10DF6000E25FF04A1491F901EC59F04A0491002360 -:10DF7000C1F0882319F069835CDF6981E02FF0E04C -:10DF8000EE0FFF1FEC52F04AA591B4919FB7F894A1 -:10DF90008C91611103C01095812301C0812B8C935A -:10DFA0009FBF0F90DF91CF911F910F910895CF9355 -:10DFB000DF93282F30E0F901E854F14A8491F90108 -:10DFC000E25FF04AD491F901EC59F04AC491CC23B4 -:10DFD00089F081112EDFEC2FF0E0EE0FFF1FE654E9 -:10DFE000F04AA591B4912C912D2381E090E021F489 -:10DFF00080E002C080E090E0DF91CF9108951F9211 -:10E000000F920FB60F9211242F933F938F939F93EC -:10E01000AF93BF938091E31D9091E41DA091E51D06 -:10E02000B091E61D3091E21D23E0230F2D3720F43F -:10E030000196A11DB11D05C026E8230F0296A11D62 -:10E04000B11D2093E21D8093E31D9093E41DA093E6 -:10E05000E51DB093E61D8091E71D9091E81DA0910C -:10E06000E91DB091EA1D0196A11DB11D8093E71D28 -:10E070009093E81DA093E91DB093EA1DBF91AF9165 -:10E080009F918F913F912F910F900FBE0F901F90F6 -:10E0900018952FB7F8946091E31D7091E41D80915D -:10E0A000E51D9091E61D2FBF08953FB7F89480912C -:10E0B000E71D9091E81DA091E91DB091EA1D26B5DC -:10E0C000A89B05C02F3F19F00196A11DB11D3FBFB0 -:10E0D0006627782F892F9A2F620F711D811D911D40 -:10E0E00042E0660F771F881F991F4A95D1F7089560 -:10E0F000CF92DF92EF92FF92CF93DF936B017C017F -:10E10000D4DFEB01C114D104E104F10471F0CDDFDF -:10E110006C1B7D0B683E7340A8F381E0C81AD108E0 -:10E12000E108F108C851DC4FEDCFDF91CF91FF90AE -:10E13000EF90DF90CF9008950197009739F0880F06 -:10E14000991F880F991F02970197F1F70895789406 -:10E1500084B5826084BD84B5816084BD85B58260EC -:10E1600085BD85B5816085BDEEE6F0E0808181608A -:10E170008083E1E8F0E0108280818260808380818A -:10E1800081608083E0E8F0E0808181608083E1EB62 -:10E19000F0E0808184608083E0EBF0E0808181604A -:10E1A0008083E1E9F0E0808182608083808181600A -:10E1B0008083E0E9F0E0808181608083E1EAF0E043 -:10E1C000808182608083808181608083E0EAF0E0EA -:10E1D000808181608083E1E2F1E0808182608083E0 -:10E1E000808181608083E0E2F1E0808181608083D2 -:10E1F000EAE7F0E0808184608083808182608083B0 -:10E200008081816080838081806880831092C100DA -:10E2100008959DDF0E943F63C0E0D0E00E94568CCD -:10E220002097E1F30E940000F9CF3F924F925F9256 -:10E230006F927F928F929F92AF92BF92CF92DF9216 -:10E24000EF92FF920F931F93CF93DF9300D01F9213 -:10E25000CDB7DEB78B0129013A0190918A0C98174E -:10E2600021F09F3F09F0B1C204C0E8E0F0E634902D -:10E2700004C180938A0CE8E0F0E6E491EF3F09F4F2 -:10E28000A4C2E23009F480C074F5EE2309F45BC047 -:10E29000E13009F0F1C0109280001092810090915D -:10E2A000810098609093810090918100916090939B -:10E2B0008100282F30E0F901EC59F04AE491F0E0B8 -:10E2C000EE0FFF1FEC52F04A459154915093091EF6 -:10E2D0004093081EF901E25FF04A24912093071E43 -:10E2E00033243394CCC0E43009F49EC00CF474C0E1 -:10E2F000E53009F0C1C010922001109221019091E7 -:10E300002101986090932101909121019160909357 -:10E310002101282F30E0F901EC59F04AE491F0E0B6 -:10E32000EE0FFF1FEC52F04A459154915093ED1DB2 -:10E330004093EC1DF901E25FF04A24912093EB1D1C -:10E3400055E0352E9CC014BC15BC94B5926094BDAC -:10E3500095B5916095BD282F30E0F901EC59F04A50 -:10E36000E491F0E0EE0FFF1FEC52F04A459154911A -:10E370005093101E40930F1EF901E25FF04A249162 -:10E3800020930E1E312C7BC01092B0001092B10071 -:10E390009091B00092609093B0009091B100916024 -:10E3A0009093B100282F30E0F901EC59F04AE49144 -:10E3B000F0E0EE0FFF1FEC52F04A4591549150935C -:10E3C000021E4093011EF901E25FF04A249120935E -:10E3D000001E22E0322E53C0109290001092910045 -:10E3E000909191009860909391009091910091602C -:10E3F00090939100282F30E0F901EC59F04AE49114 -:10E40000F0E0EE0FFF1FEC52F04A4591549150930B -:10E41000FB1D4093FA1DF901E25FF04A249120931D -:10E42000F91DB3E03B2E2BC01092A0001092A1006A -:10E430009091A10098609093A1009091A1009160AB -:10E440009093A100282F30E0F901EC59F04AE491B3 -:10E45000F0E0EE0FFF1FEC52F04A459154915093BB -:10E46000F41D4093F31DF901E25FF04A24912093DB -:10E47000F21D74E0372E03C03E2E37FCA6C161E0CA -:10E4800028DD4801A12CB12C832D8D7F09F0C0C05F -:10E4900060E072E18AE790E0A50194010E94FCFA35 -:10E4A00029833A834B835C8369017A0181E0C81A2E -:10E4B000D108E108F1089FEFC916D104E104F10485 -:10E4C00009F008F49AC060E472E48FE090E0A501DE -:10E4D00094010E94FCFA69017A01E1E0CE1AD108A8 -:10E4E000E108F108F2E03F1219C08FEFC816D1041D -:10E4F000E104F10409F008F487C060E970ED83E0FD -:10E5000090E0A50194010E94FCFA69017A0191E072 -:10E51000C91AD108E108F10883E001C082E0EFEFF9 -:10E52000CE16D104E104F10409F008F467C068E4F0 -:10E5300078EE81E090E0A50194010E94FCFA690167 -:10E540007A01F1E0CF1AD108E108F1083320E1F0B7 -:10E5500082E038121BC09FEFC916D104E104F10418 -:10E5600009F008F430C164E274EF80E090E0A501A6 -:10E5700094010E94FCFA69017A01E1E0CE1AD10807 -:10E58000E108F10885E003C083E001C084E0FFEF0B -:10E59000CF16D104E104F10489F180F162E17AE758 -:10E5A00080E090E0A50194010E94FCFA69017A01E3 -:10E5B00081E0C81AD108E108F108311002C084E0F6 -:10E5C00001C086E09FEFC916D104E104F104B1F067 -:10E5D000A8F0C980DA80EB80FC809AE0F594E7949B -:10E5E000D794C7949A95D1F7E1E0CE1AD108E10803 -:10E5F000F108332031F087E008C081E0332011F0CA -:10E6000004C085E085BD50C082E08093B1004CC05D -:10E6100060E072E18AE790E0A5019401EDD769011D -:10E620007A01F1E0CF1AD108E108F108C114D10450 -:10E6300081E0E806F10480F068E478EE81E090E0A3 -:10E64000A5019401D9D769017A0191E0C91AD108CD -:10E65000E108F10893E001C091E0E1E03E1207C05B -:10E6600080918100887F892B809381001DC0F3E019 -:10E670003F1207C080919100887F892B8093910081 -:10E6800013C084E0381207C08091A100887F892BD5 -:10E690008093A10009C0E5E03E1206C080912101EF -:10E6A000887F892B809321014114510461047104F6 -:10E6B00061F0D801AA0FBB1FA3019201C5D728EEB4 -:10E6C00033E040E050E076D703C02FEF3FEFA901E1 -:10E6D000F2E03F1609F443C0F315BCF0332081F19A -:10E6E00081E0381272C0D0928900C09288002093D5 -:10E6F0000A1E30930B1E40930C1E50930D1E8091EA -:10E700006F00826080936F0060C094E0391609F456 -:10E7100048C03916A4F1E5E03E1257C0D092290155 -:10E72000C09228012093EE1D3093EF1D4093F01D01 -:10E730005093F11D8091730082608093730045C0F7 -:10E74000C7BC2093111E3093121E4093131E50938A -:10E75000141E80916E00826080936E0036C0C0925D -:10E76000B3002093031E3093041E4093051E509364 -:10E77000061E8091700082608093700026C0D09247 -:10E780009900C09298002093FC1D3093FD1D40938A -:10E79000FE1D5093FF1D8091710082608093710077 -:10E7A00014C0D092A900C092A8002093F51D309308 -:10E7B000F61D4093F71D5093F81D80917200826002 -:10E7C0008093720002C084E020CF0F900F900F90D2 -:10E7D0000F90DF91CF911F910F91FF90EF90DF90FD -:10E7E000CF90BF90AF909F908F907F906F905F90F1 -:10E7F0004F903F9008958230A9F028F4882349F083 -:10E80000813051F00895843009F1E8F0853009F144 -:10E81000089510926E00089580916F008D7F80930F -:10E820006F000895809170008D7F8093700081E06B -:10E830008093B0008091B100887F84608093B100A4 -:10E840001092B30008951092710008951092720012 -:10E850000895109273000895CF93C82F80918A0C69 -:10E860008C1307C0E8E0F0E684919FEF90938A0C48 -:10E8700001C08FEFC0DF60E08C2FCF9163CB1F9280 -:10E880000F920FB60F9211240BB60F922F933F9356 -:10E890004F935F936F937F938F939F93AF93BF93A8 -:10E8A000EF93FF938091031E9091041EA091051E8B -:10E8B000B091061E892B8A2B8B2B51F19091001E53 -:10E8C000E091011EF091021E808189278083809152 -:10E8D000031E9091041EA091051EB091061E1816ED -:10E8E00019061A061B06BCF48091031E9091041EA3 -:10E8F000A091051EB091061E0197A109B109809350 -:10E90000031E9093041EA093051EB093061E03C021 -:10E9100080918A0CA1DFFF91EF91BF91AF919F9100 -:10E920008F917F916F915F914F913F912F910F90B8 -:10E930000BBE0F900FBE0F901F901895FC018081A9 -:10E94000918149C7CF93DF93EC018881998100972A -:10E9500009F041D7198218821D821C821B821A82FB -:10E96000DF91CF9108950F931F93CF93DF93EC0125 -:10E970008B016F5F7F4F88819981BCD7009731F001 -:10E98000998388831B830A8381E001C080E0DF9143 -:10E99000CF911F910F910895CF93DF93EC01888160 -:10E9A0009981892B29F08A819B818617970758F4D2 -:10E9B000CE01D9DF882341F08C819D81892B19F408 -:10E9C000E881F981108281E0DF91CF910895EF9283 -:10E9D000FF920F931F93CF93DF93EC017B018A018A -:10E9E000BA01DADF811103C0CE01ACDF07C01D839D -:10E9F0000C83B701888199810F94A700CE01DF9124 -:10EA0000CF911F910F91FF90EF900895FC0111821B -:10EA1000108213821282158214826115710551F0E1 -:10EA2000FB0101900020E9F7AF0141505109461B5D -:10EA3000570BCDCF0895CF93DF93EC01FB018617E1 -:10EA4000970751F0608171816115710521F0448152 -:10EA50005581BDDF01C076DFCE01DF91CF910895F2 -:10EA6000FC01118210821382128215821482E3CF7C -:10EA7000EF92FF920F931F93CF93DF93EC017B01F3 -:10EA80000C811D816115710511F480E015C04115DF -:10EA9000510589F0040F151FB8017EDF8823A9F303 -:10EAA000288139818C819D81B701820F931F0F943A -:10EAB000A7001D830C8381E0DF91CF911F910F91FF -:10EAC000FF90EF900895CF93DF93EC01FB01448119 -:10EAD000558160817181CCDF811102C0CE0132DFAE -:10EAE000CE01DF91CF910895CF92DF92EF92FF9206 -:10EAF0000F931F93CF93DF936C017A01EB01E60E26 -:10EB0000F71E00E010E0CE15DF0561F06991D60137 -:10EB1000ED91FC910190F081E02DC6011995080F4F -:10EB2000191FF1CFC801DF91CF911F910F91FF9075 -:10EB3000EF90DF90CF9008956115710581F0DB01B2 -:10EB40000D900020E9F7AD0141505109461B570BCC -:10EB5000DC01ED91FC910280F381E02D199480E0BD -:10EB600090E00895E9CFDC01ED91FC910190F081F6 -:10EB7000E02D19948F929F92AF92BF92CF92DF9225 -:10EB8000EF92FF920F931F93CF93DF93CDB7DEB732 -:10EB9000A1970FB6F894DEBF0FBECDBF7C01C42E87 -:10EBA000E52FCB01D22E19A221E02D1510F02AE07D -:10EBB000D22E8E010F5D1F4F8D2C912CA12CB12CCC -:10EBC0006C2D7E2FA5019401F5D48C2DD29E801939 -:10EBD0001124015011098A3014F4805D01C0895C50 -:10EBE000F8018083211531054105510521F0C22E20 -:10EBF000E32FCA01E5CFB801C7019EDFA1960FB68A -:10EC0000F894DEBF0FBECDBFDF91CF911F910F9162 -:10EC1000FF90EF90DF90CF90BF90AF909F908F903C -:10EC200008952115310541F4DC01ED91FC9101902D -:10EC3000F081E02D642F19949DCF9A01AB0160E023 -:10EC400070E0EFCF5058BB27AA270ED076C23FD234 -:10EC500030F044D220F031F49F3F11F41EF40FC283 -:10EC60000EF4E095E7FBDCC1E92F89D280F3BA17F7 -:10EC7000620773078407950718F071F49EF5B8C210 -:10EC80000EF4E0950B2EBA2FA02D0B01B9019001C7 -:10EC90000C01CA01A0011124FF27591B99F0593F0B -:10ECA00050F4503E68F11A16F040A22F232F342F53 -:10ECB0004427585FF3CF469537952795A795F040A1 -:10ECC0005395C9F77EF41F16BA0B620B730B840BB6 -:10ECD000BAF09150A1F0FF0FBB1F661F771F881F6E -:10ECE000C2F70EC0BA0F621F731F841F48F48795C6 -:10ECF00077956795B795F7959E3F08F0B3CF9395B5 -:10ED0000880F08F09927EE0F979587950895DFD122 -:10ED100058F080E891E009F49EEFE0D128F040E857 -:10ED200051E059F45EEF09C0AAC162C2E92FE07850 -:10ED300026D268F3092E052AC1F32617370748079C -:10ED4000590738F00E2E07F8E02569F0E025E06459 -:10ED50000AC0EF6307F8009407FADB01B9019D01CF -:10ED6000DC01CA01AD01EF935DD0E7D10AD05F911C -:10ED7000552331F02BED3FE049E450FD49EC63CFE2 -:10ED80000895DF93DD27B92FBF7740E85FE31616BC -:10ED9000170648075B0710F4D92F96D29F938F93DD -:10EDA0007F936F93A9D3EEE3F1E06CD1C6D12F919D -:10EDB0003F914F915F9101D3DD2349F09058A2EA32 -:10EDC0002AED3FE049EC5FE3D0785D274DDFDF912E -:10EDD000B4C1F7D180F09F3740F491110EF409C20D -:10EDE00060E070E080E89FE3089526F01B16611D47 -:10EDF000711D811D1BC135C1EFD008F481E008955C -:10EE000075D1E395ABC10CD098C168D140F05FD10A -:10EE100030F021F45F3F19F003C15111EAC12FC155 -:10EE2000AED198F39923C9F35523B1F3951B550B34 -:10EE3000BB27AA2762177307840738F09F5F5F4FCD -:10EE4000220F331F441FAA1FA9F333D00E2E3AF00E -:10EE5000E0E830D091505040E695001CCAF729D028 -:10EE6000FE2F27D0660F771F881FBB1F2617370777 -:10EE70004807AB07B0E809F0BB0B802DBF01FF27A7 -:10EE800093585F4F2AF09E3F510568F0C9C0B1C149 -:10EE90005F3FECF3983EDCF3869577956795B795E1 -:10EEA000F7959F5FC9F7880F911D9695879597F9FC -:10EEB0000895E1E0660F771F881FBB1F6217730775 -:10EEC0008407BA0720F0621B730B840BBA0BEE1F8A -:10EED00088F7E095089504D06894B1118AC1089527 -:10EEE00056D188F09F5790F0B92F9927B751A0F0CD -:10EEF000D1F0660F771F881F991F1AF0BA95C9F7CE -:10EF000012C0B13081F074D1B1E0089571C1672FA2 -:10EF1000782F8827B85F39F0B93FCCF3869577957D -:10EF20006795B395D9F73EF4909580957095619566 -:10EF30007F4F8F4F9F4F0895E89409C097FB3EF491 -:10EF400090958095709561957F4F8F4F9F4F992336 -:10EF5000A9F0F92F96E9BB279395F69587957795B4 -:10EF60006795B795F111F8CFFAF4BB0F11F460FF74 -:10EF70001BC06F5F7F4F8F4F9F4F16C0882311F0CC -:10EF800096E911C0772321F09EE8872F762F05C0E0 -:10EF9000662371F096E8862F70E060E02AF09A957B -:10EFA000660F771F881FDAF7880F9695879597F970 -:10EFB000089507D180F09F3740F491110EF019C1E8 -:10EFC00060E070E080E89FEB089526F41B16611D59 -:10EFD000711D811D2BC045C0990F0008550FAA0B4C -:10EFE000E0E8FEEF16161706E807F907C0F012165C -:10EFF0001306E407F50798F0621B730B840B950B5F -:10F0000039F40A2661F0232B242B252B21F40895B3 -:10F010000A2609F4A140A6958FEF811D811D089550 -:10F0200097F99F6780E870E060E00895882371F4A5 -:10F03000772321F09850872B762F07C0662311F491 -:10F0400099270DC09051862B70E060E02AF09A95C8 -:10F05000660F771F881FDAF7880F9695879597F9BF -:10F0600008959F3F31F0915020F4879577956795EB -:10F07000B795880F911D9695879597F908959FEFFD -:10F0800080EC0895DF93CF931F930F93FF92EF923D -:10F09000DF927B018C01689405C0DA2EEF018DD1DF -:10F0A000FE01E894A5912591359145915591AEF3D6 -:10F0B000EF01DADDFE019701A801DA9479F7DF901C -:10F0C000EF90FF900F911F91CF91DF910895002451 -:10F0D0000A941616170618060906089500240A94BD -:10F0E00012161306140605060895C9CF50D0E8F38A -:10F0F000E894E0E0BB279F57F0F02AED3FE049ECB1 -:10F1000006C0EE0FBB0F661F771F881F28F0B23AAC -:10F1100062077307840728F0B25A620B730B840BE3 -:10F12000E3959A9572F7803830F49A95BB0F661F75 -:10F13000771F881FD2F7904896CF092E0394000CB2 -:10F1400011F4882352F0BB0F40F4BF2B11F460FF81 -:10F1500004C06F5F7F4F8F4F9F4F0895EF93E0FF85 -:10F1600006C0A2EA2AED3FE049EC5FEB7DDDE5DF7A -:10F170000F90039401FC9058EBE6F1E0C7C157FDF6 -:10F180009058440F551F59F05F3F71F04795880F15 -:10F1900097FB991F61F09F3F79F0879508951216AC -:10F1A00013061406551FF2CF4695F1DF08C0161658 -:10F1B00017061806991FF1CF869571056105089409 -:10F1C0000895E5DFA0F0BEE7B91788F4BB279F38A4 -:10F1D00060F41616B11D672F782F8827985FF7CF38 -:10F1E000869577956795B11D93959639C8F30895DF -:10F1F000E894BB2766277727CB0197F90895ECDEC3 -:10F2000008F48FEF089563DF19F068DF09F037CF56 -:10F2100007CFB901CA0125CF9F775F77B0DF98F399 -:10F220009923B9F35523B9F3FF27951758F4E52F20 -:10F23000E91BED3070F75E3B10F0F1E41CC0903438 -:10F24000E0F40AC0E92FE51BED3028F79E3B10F0F3 -:10F25000F1E411C0503488F4F9EA88232AF09A9531 -:10F26000660F771F881FDAF744232AF05A95220F7A -:10F27000331F441FDAF79F1B5F1BFF931F930F93EE -:10F28000FF92EF9279018A01BB27AB2F9B01AC0162 -:10F2900096D09701A801BF937B018C01AA27BA2FB2 -:10F2A000B901CA018CD0AF919701A801EF90FF90EE -:10F2B0000F911F91D9DC41DFE1D04F9140FF0895BC -:10F2C000552747FD509509C09B01AC0160E070E0F7 -:10F2D00080E89FE398CDA4CEC4CE59DFE8F399230C -:10F2E000D9F3940F511DBBF39150504094F059F055 -:10F2F000882332F0660F771F881F91505040C1F766 -:10F300009E3F510544F7880F911D9695879597F973 -:10F3100008955F3FACF0983E9CF0BB2786957795AB -:10F320006795B79508F4B1609395C1F7BB0F58F78F -:10F3300011F460FFE8CF6F5F7F4F8F4F9F4FE3CF98 -:10F3400058CF25DF58F19E5758F19851A0F0E9F0B9 -:10F35000983020F5092E9927660F771F881F991F6F -:10F360000A94D1F712C0062E672F782F8827985F4E -:10F3700011F4000C07C0993FB4F386957795679513 -:10F380009395D9F7611D711D811D3EF4909580956F -:10F39000709561957F4F8F4F9F4F0895689429CF47 -:10F3A00027CF0BD0CACE93DE28F098DE18F0952335 -:10F3B00009F036CE64CE11241CCFE1DEA0F3959F78 -:10F3C000D1F3950F50E0551F629FF001729FBB274C -:10F3D000F00DB11D639FAA27F00DB11DAA1F649FF8 -:10F3E0006627B00DA11D661F829F2227B00DA11DAB -:10F3F000621F739FB00DA11D621F839FA00D611D31 -:10F40000221F749F3327A00D611D231F849F600D51 -:10F41000211D822F762F6A2F11249F5750408AF08A -:10F42000E1F088234AF0EE0FFF1FBB1F661F771F16 -:10F43000881F91505040A9F79E3F510570F0F0CDC4 -:10F44000D8CE5F3FECF3983EDCF3869577956795D1 -:10F45000B795F795E7959F5FC1F7FE2B880F911D34 -:10F460009695879597F908959F9340DE0F9007FC36 -:10F47000EE5F74CE11F40EF402CEF3CD88DED0F33D -:10F480009923D9F3CEF39F57550B87FF38D000242B -:10F49000A0E640EA900180585695979528F4805C44 -:10F4A000660F771F881F20F026173707480730F4AC -:10F4B000621B730B840B202931294A2BA6951794C4 -:10F4C0000794202531254A2758F7660F771F881F94 -:10F4D00020F026173707480730F4620B730B840BB4 -:10F4E000200D311D411DA09581F7B901842F915840 -:10F4F000880F9695879508959B01AC0152CF915046 -:10F500005040660F771F881FD2F708959F938F93FF -:10F510007F936F93FF93EF939B01AC0142DFEF91D9 -:10F52000FF91B0DD2F913F914F915F913ACFDB0179 -:10F530008F939F9389D0BF91AF91A29F800D911D12 -:10F54000A39F900DB29F900D1124089587FB082E64 -:10F55000062687FD819567FD61958AD00EF4919509 -:10F5600007FC81950895AA1BBB1B51E107C0AA1F88 -:10F57000BB1FA617B70710F0A61BB70B881F991F54 -:10F580005A95A9F780959095BC01CD01089597FBF8 -:10F59000072E16F4009406D077FD08D0E4DF07FCB0 -:10F5A00005D03EF4909581959F4F08957095619593 -:10F5B0007F4F0895A1E21A2EAA1BBB1BFD010DC0AF -:10F5C000AA1FBB1FEE1FFF1FA217B307E407F50713 -:10F5D00020F0A21BB30BE40BF50B661F771F881FEF -:10F5E000991F1A9469F760957095809590959B0185 -:10F5F000AC01BD01CF010895052E97FB16F40094D0 -:10F600000FD057FD05D0D6DF07FC02D046F408C066 -:10F6100050954095309521953F4F4F4F5F4F08953E -:10F6200090958095709561957F4F8F4F9F4F08956E -:10F63000EE0FFF1F0590F491E02D199425D0B7FF30 -:10F640000895821B930B08951FD0A59F900DB49F22 -:10F65000900DA49F800D911D11240895B7FFF4CF44 -:10F66000F3DF821B930B08950790F691E02D199418 -:10F67000991B79E004C0991F961708F0961B881F04 -:10F680007A95C9F780950895A29FB001B39FC001F4 -:10F69000A39F700D811D1124911DB29F700D811DBE -:10F6A0001124911D0895CF93DF938230910510F4BA -:10F6B00082E090E0E091171EF091181E20E030E00B -:10F6C000A0E0B0E0309739F14081518148175907E7 -:10F6D000B8F04817590771F482819381109729F087 -:10F6E00013969C938E9312972CC09093181E809320 -:10F6F000171E27C02115310531F04217530718F0A6 -:10F70000A901DB0101C0EF019A01BD01DF01028007 -:10F71000F381E02DD7CF21153105F9F0281B390BE6 -:10F720002430310580F48A819B816115710521F0B7 -:10F73000FB019383828304C09093181E8093171E4D -:10F74000FE01329644C0FE01E20FF31F81939193B4 -:10F7500022503109398328833AC02091151E3091F7 -:10F76000161E232B41F420910202309103023093A4 -:10F77000161E2093151E20910002309101022115C2 -:10F78000310541F42DB73EB7409104025091050276 -:10F79000241B350BE091151EF091161EE217F3079E -:10F7A000A0F42E1B3F0B2817390778F0AC014E5FF1 -:10F7B0005F4F2417350748F04E0F5F1F5093161EFA -:10F7C0004093151E8193919302C0E0E0F0E0CF01D9 -:10F7D000DF91CF910895CF93DF93009709F487C00D -:10F7E000FC01329713821282C091171ED091181E0D -:10F7F000209781F420813181280F391F8091151EB7 -:10F800009091161E8217930779F5F093161EE093D8 -:10F81000151E6DC0DE0120E030E0AE17BF0750F4CA -:10F8200012964D915C9113979D014115510509F177 -:10F83000DA01F3CFB383A28340815181840F951FF6 -:10F840008A179B0771F48D919C911197840F951FD6 -:10F8500002969183808312968D919C911397938346 -:10F8600082832115310529F4F093181EE093171EA9 -:10F870003EC0D9011396FC93EE9312974D915D9182 -:10F88000A40FB51FEA17FB0779F480819181840FDB -:10F89000951F0296D90111969C938E938281938134 -:10F8A00013969C938E931297E0E0F0E08A819B81FF -:10F8B000009719F0FE01EC01F9CFCE0102962881E4 -:10F8C0003981820F931F2091151E3091161E281723 -:10F8D000390769F4309729F41092181E1092171EF8 -:10F8E00002C013821282D093161EC093151EDF91A0 -:10F8F000CF9108956F927F928F929F92AF92BF9215 -:10F90000CF92DF92EF92FF920F931F93CF93DF93EB -:10F91000EC01CB01209779F4DF91CF911F910F91EA -:10F92000FF90EF90DF90CF90BF90AF909F908F901F -:10F930007F906F90B8CEFE01E60FF71F9E01225018 -:10F940003109E217F30708F4A8C0D9010D911C9101 -:10F95000119706171707B0F00530110508F49BC082 -:10F96000A801445051094617570708F494C00250A3 -:10F970001109061B170B019311936D937C93CF0113 -:10F980002ADF89C05B01A01AB10A4E01800E911EC8 -:10F99000A091171EB091181E612C712C60E070E0D0 -:10F9A000109709F449C0A815B905C9F5ED90FC9068 -:10F9B0001197670142E0C40ED11CCA14DB0478F130 -:10F9C00047018A189B08640142E0C40ED11C1296BC -:10F9D000BC9012971396AC91B5E0CB16D10440F0D1 -:10F9E000B282A38391828082D9018D939C9309C0B6 -:10F9F0000E5F1F4F0E0D1F1DF90111830083EB2DAC -:10FA0000FA2F6115710531F0DB011396FC93EE932B -:10FA1000129741C0F093181EE093171E3CC06D91E1 -:10FA20007C9111976616770608F43B01BD0112968A -:10FA30000D90BC91A02DB4CF6091151E7091161E33 -:10FA400068157905E9F468167906D0F4409100024A -:10FA5000509101024115510541F44DB75EB76091D7 -:10FA6000040270910502461B570BE417F507A8F432 -:10FA7000F093161EE093151EF901918380830BC04D -:10FA800012DE7C01009749F0A801BE011ED3CE0111 -:10FA9000A2DEC70104C0CE0102C080E090E0DF9189 -:10FAA000CF911F910F91FF90EF90DF90CF90BF907B -:10FAB000AF909F908F907F906F9008958F929F92BC -:10FAC000AF92BF92CF92DF92EF92FF920F931F936C -:10FAD000CF93DF938B016115710521F0DB018C93CE -:10FAE00011969C93EC015E01BFEFAB1ABB0A750146 -:10FAF000C8808C2D90E07BD2892B11F0E501F3CFEB -:10FB0000EDE2CE1208C07E01F2E0EF0EF11CC980DA -:10FB1000DD24D39409C02BE2C21205C07E0142E06D -:10FB2000E40EF11CC980D12CE701219743E050E09D -:10FB300061E170E6CE017BD2892BB9F4239645E0D2 -:10FB400050E06CE070E6CE0172D2892B09F4259664 -:10FB50000115110519F0D801CD93DC93D11000C126 -:10FB600060E070E080E89FE704C143E050E069E0B6 -:10FB700070E6CE015CD2892B59F40115110509F408 -:10FB8000F4C0B2E0EB0EF11CF801F182E082EDC0AE -:10FB9000F70160E070E0CB01C0E0D0E07F01A0EDB4 -:10FBA000AA2EAC0C29E02A1528F14D2D4260B42E66 -:10FBB0002D2D2870D2FE04C0211124C0219622C010 -:10FBC00021112197A5E0B0E09B01AC013DDD660F5E -:10FBD000771F881F991F6A0D711D811D911D68393E -:10FBE000A9E97A078A07A9E19A0760F0BD2DB660F6 -:10FBF000BB2E08C02EEFA2120AC0D3FC50C04D2D60 -:10FC00004860B42E3196D701CC90DB2CC7CF2C2D79 -:10FC10002F7D253409F043C0A081AD3241F4BD2DC4 -:10FC2000B061DB2E7F0122E0E20EF11C0CC07F01EF -:10FC3000AB3231F04FEFE41AF40A21E030E006C0B5 -:10FC4000A2E0EA0EF11CA18122E030E0A053AA302C -:10FC500018F0E21AF30A23C0F70120E030E0203860 -:10FC6000BCE03B075CF4A901440F551F440F551F2E -:10FC7000240F351F220F331F2A0F311DAF014F5F95 -:10FC80005F4F7A01A081A053AA3010F4FA01E7CFA8 -:10FC9000D4FE03C0319521953109C20FD31FD1FE87 -:10FCA00009C00115110531F0E1E0EE1AF108D801A3 -:10FCB000ED92FC9241D92D2D2370233019F04B0188 -:10FCC0005C0106C04B015C01B7FAB094B7F8B09480 -:10FCD00020E030E0A901C501B4018ED8882309F4E1 -:10FCE0003CC0D7FF06C0D195C195D10908E210E606 -:10FCF00002C000E410E66801B8E1CB1AD10890E236 -:10FD0000E92EF12CCE15DF056CF0F8012591359127 -:10FD100045915491C501B40144DB4B015C01CE19FE -:10FD2000DF09F0CF04501109F594E7940C151D0577 -:10FD300049F78A2D880F8B2D881F8F3F41F020E0D7 -:10FD400030E0A901C501B40157D8811106C082E293 -:10FD500090E090931A1E8093191EC501B40109C04A -:10FD600060E070E080E89FEF04C060E070E080EC4D -:10FD70009FE7DF91CF911F910F91FF90EF90DF9060 -:10FD8000CF90BF90AF909F908F9008952F923F9209 -:10FD90005F926F927F928F929F92AF92BF92CF921B -:10FDA000DF92EF92FF920F931F93CF93DF938B011C -:10FDB000EA016115710521F0DB018C9311969C938A -:10FDC000209739F09E01225031092332310508F085 -:10FDD000F8C07C016701BFEFCB1ADB0A5601F701BF -:10FDE0006080862D90E003D1892B11F07601F2CF4F -:10FDF000FDE26F120AC0570182E0A80EB11CD701C4 -:10FE000011966C90772473940BC0BBE26B1207C001 -:10FE10005701E2E0AE0EB11CD70111966C90712C27 -:10FE2000CE018F7E892B89F4B0E36B1222C0F501DD -:10FE300080818F7D883541F56180F2E0AF0EB11C85 -:10FE4000872D8260782EC0E1D0E0C830D105F1F076 -:10FE50004CF4C230D10511F5C12CD12CE12CB0E409 -:10FE6000FB2E2EC0CA30D10531F0C031D10519F1B9 -:10FE700015C0209751F7CAE0D0E0ACECCA2EDC2CBC -:10FE8000EC2CACE0FA2E1CC02097F9F6C8E0D0E0CC -:10FE9000C12CD12CE12CF0E1FF2E12C060E070E00B -:10FEA00080E090E89E01442737FD4095542F82DB87 -:10FEB00069017A0105C0C12CD12CE12CE8E0FE2EAD -:10FEC000F50160E020E030E0A9014E01AA2497FC92 -:10FED000A094BA2C1F0170ED572E560CA9E0A51561 -:10FEE00070F48FEB860D8A3118F499EC592E06C008 -:10FEF0008FE9860D8A3128F589EA582E560C852D12 -:10FF000090E08C179D07ECF467FD17C0C216D3066E -:10FF1000E406F50678F0C501B40109DB9B01AC01EC -:10FF2000250D311D411D511D213031054105B0E820 -:10FF30005B0710F06FEF01C061E03196D1016C906A -:10FF4000C9CF872D81700115110571F0662329F045 -:10FF50003197D801ED93FC9307C071FE19C0329719 -:10FF6000D801ED93FC9314C067FF12C0882329F0D9 -:10FF700020E030E040E050E804C02FEF3FEF4FEFCB -:10FF80005FE782E290E090931A1E8093191E16C0DC -:10FF9000882341F050954095309521953F4F4F4F24 -:10FFA0005F4F0CC057FF0AC082E290E090931A1E88 -:10FFB0008093191E2FEF3FEF4FEF5FE7B901CA01A2 -:10FFC00004C060E070E080E090E0DF91CF911F918D -:10FFD0000F91FF90EF90DF90CF90BF90AF909F90E8 -:10FFE0008F907F906F905F903F902F900895911128 -:10FFF00011C3803219F089508550D0F708959111BE -:020000022000DC -:10000000089581548A5108F4805E855A0895FB0151 -:10001000DC0105900D920020E1F70895FC010590A8 -:100020000020E9F7809590958E0F9F1F0895FB01A2 -:10003000DC014150504088F08D9181341CF08B35AB -:100040000CF4805E659161341CF06B350CF4605EDD -:10005000861B611171F3990B0895881BFCCFFB017E -:10006000DC014150504048F005900D920020C9F746 -:1000700001C01D9241505040E0F70895FB01559199 -:100080005523A9F0BF01DC014D9145174111E1F75E -:1000900059F4CD010590002049F04D9140154111D2 -:1000A000C9F3FB014111EFCF81E090E00197089582 -:1000B000FB01DC0104C08D910190801921F44150B5 -:1000C0005040C8F7881B990B0895FB01DC0102C062 -:1000D00001900D9241505040D8F70895DC0101C0C5 -:1000E0006D9341505040E0F70895FB01DC018D9184 -:1000F00081341CF08B350CF4805E619161341CF00E -:100100006B350CF4605E861B611189F3990B0895C1 -:10011000FB01DC010D900020E9F7119701900D9291 -:100120000020E1F70895FC018191861721F08823D2 -:10013000D9F7992708953197CF010895FB01DC0184 -:100140008D91019080190110D9F3990B0895FB014D -:10015000DC0101900D920020E1F70895FB01DC0124 -:100160004150504030F08D910190801919F40020D9 -:10017000B9F7881B990B0895FB01DC0141505040F1 -:1001800048F001900D920020C9F701C01D92415026 -:100190005040E0F708950F931F93CF93DF93CDB7AF -:1001A000DEB72E970FB6F894DEBF0FBECDBF0E8917 -:1001B0001F898EE08C831A8309838FEF9FE79E83CC -:1001C0008D83AE01465E5F4F688D798DCE010196BD -:1001D00010D0EF81F885E00FF11F10822E960FB638 -:1001E000F894DEBF0FBECDBFDF91CF911F910F916D -:1001F00008952F923F924F925F926F927F928F92CB -:100200009F92AF92BF92CF92DF92EF92FF920F93A5 -:100210001F93CF93DF93CDB7DEB72C970FB6F8942B -:10022000DEBF0FBECDBF7C016B018A01FC011782CE -:100230001682838181FFB0C1CE0101964C01F70186 -:100240009381F60193FD859193FF81916F0188233E -:1002500009F49EC1853239F493FD859193FF819114 -:100260006F01853221F4B70190E0EDD1E8CF512C38 -:10027000312C20E02032A0F48B3269F030F480324F -:1002800059F0833269F420612CC08D3239F080330B -:1002900039F4216026C02260246023C0286021C078 -:1002A00027FD27C030ED380F3A3078F426FF06C01E -:1002B000FAE05F9E300D1124532E13C08AE0389E61 -:1002C000300D1124332E20620CC08E3221F426FD15 -:1002D0005FC1206406C08C3611F4206802C08836E5 -:1002E00041F4F60193FD859193FF81916F01811196 -:1002F000C1CF982F9F7D9554933028F40C5F1F4FEA -:10030000FFE3F9830DC0833631F0833771F0833515 -:1003100009F057C021C0F801808189830E5F1F4F0B -:1003200044244394512C540114C03801F2E06F0E60 -:10033000711CF801A080B18026FF03C0652D70E01C -:1003400002C06FEF7FEFC5012C8772D12C018301B2 -:100350002C852F77222E16C03801F2E06F0E711C0B -:10036000F801A080B18026FF03C0652D70E002C0B7 -:100370006FEF7FEFC5012C8750D12C012C852068B1 -:10038000222E830123FC19C0832D90E048165906C4 -:10039000A0F4B70180E290E056D13A94F5CFF50190 -:1003A00027FC859127FE81915F01B70190E04BD139 -:1003B00031103A94F1E04F1A51084114510479F781 -:1003C000DEC0843611F0893631F5F80127FF07C009 -:1003D00060817181828193810C5F1F4F08C06081B1 -:1003E0007181882777FD8095982F0E5F1F4F2F769C -:1003F000B22E97FF09C090958095709561957F4FBB -:100400008F4F9F4F2068B22E2AE030E0A4014DD1DB -:10041000A82EA81843C0853729F42F7EB22E2AE0D3 -:1004200030E025C0F22FF97FBF2E8F36C1F018F4CF -:10043000883579F0ADC0803719F0883721F0A8C031 -:100440002F2F2061B22EB4FE0DC08B2D8460B82EEC -:1004500009C024FF0AC09F2F9660B92E06C028E06D -:1004600030E005C020E130E002C020E132E0F801D8 -:10047000B7FE07C060817181828193810C5F1F4F3D -:1004800006C06081718180E090E00E5F1F4FA40183 -:100490000CD1A82EA818FB2DFF77BF2EB6FE0BC0DF -:1004A0002B2D2E7FA51450F4B4FE0AC0B2FC08C058 -:1004B0002B2D2E7E05C07A2C2B2D03C07A2C01C04B -:1004C000752C24FF0DC0FE01EA0DF11D80818033E3 -:1004D00011F4297E09C022FF06C07394739404C0EE -:1004E000822F867809F0739423FD12C020FF06C086 -:1004F0005A2C731418F4530C5718732C731460F49B -:10050000B70180E290E02C879ED073942C85F6CFC3 -:10051000731410F4371801C0312C24FF11C0B70137 -:1005200080E390E02C878FD02C8522FF16C021FF1E -:1005300003C088E590E002C088E790E0B7010CC0F6 -:10054000822F867851F021FD02C080E201C08BE24B -:1005500027FD8DE2B70190E076D0A51430F4B70105 -:1005600080E390E070D05A94F8CFAA94F401EA0D99 -:10057000F11D8081B70190E066D0A110F6CF332045 -:1005800009F45DCEB70180E290E05DD03A94F7CFF8 -:10059000F7018681978102C08FEF9FEF2C960FB6EF -:1005A000F894DEBF0FBECDBFDF91CF911F910F91A9 -:1005B000FF90EF90DF90CF90BF90AF909F908F9083 -:1005C0007F906F905F904F903F902F900895F99992 -:1005D000FECF92BD81BDF89A992780B50895A6E116 -:1005E000B0E044E050E0C1C00396272FCDD0CBD07F -:1005F000252FCAD0242FC8C0262FF999FECF1FBAA5 -:1006000092BD81BD20BD0FB6F894FA9AF99A0FBE3B -:1006100001960895992788270895FC010590615057 -:1006200070400110D8F7809590958E0F9F1F089508 -:10063000FC016150704001900110D8F780959095B1 -:100640008E0F9F1F08950F931F93CF93DF93182F43 -:10065000092FEB018B8181FD03C08FEF9FEF20C03D -:1006600082FF10C04E815F812C813D81421753076C -:100670007CF4E881F9819F012F5F3F4F3983288304 -:10068000108306C0E885F985812F1995892B29F7F4 -:100690002E813F812F5F3F4F3F832E83812F902FED -:1006A000DF91CF911F910F910895FA01AA27283069 -:1006B00051F1203181F1E8946F936E7F6E5F7F4F2F -:1006C0008F4F9F4FAF4FB1E03ED0B4E03CD0670FAB -:1006D000781F891F9A1FA11D680F791F8A1F911DFE -:1006E000A11D6A0F711D811D911DA11D20D009F44E -:1006F00068943F912AE0269F11243019305D319390 -:10070000DEF6CF010895462F4770405D4193B3E078 -:100710000FD0C9F7F6CF462F4F70405D4A3318F01F -:10072000495D31FD4052419302D0A9F7EACFB4E0D0 -:10073000A6959795879577956795BA95C9F7009788 -:100740006105710508959B01AC010A2E0694579529 -:10075000479537952795BA95C9F7620F731F841F80 -:10076000951FA01D0895DC01CB01FC01F999FECF76 -:1007700006C0F2BDE1BDF89A319600B40D92415029 -:100780005040B8F70895262FF999FECF92BD81BD4C -:10079000F89A019700B4021639F01FBA20BD0FB6BF -:1007A000F894FA9AF99A0FBE089510E6CAE4D0E6D2 -:1007B00000E006C022970109FE010BBF0E9434FB36 -:0E07C000CC34D10780E00807A9F7F894FFCFEA -:1007CE0000001B1E20000A01FF3FFF3F0000803F7C -:1007DE008145644325DF363E33334B410E0A140800 -:1007EE001A0620042602B44D684D1F4DE04CAE4C47 -:1007FE005C4C234CC84B894B494BFF4AB54A6B4A5C -:10080E00174AC3496A492A49E04896484C48F8476E -:10081E00A4474B471C47D046814653462B46F545C9 -:10082E00C74599456B453D450B45D94496445D44B6 -:10083E001F44E443C3439B43734358431D43FB424E -:10084E00D442AD4286425C4239421642EE41C1412B -:10085E00AD4199417B415D413F4121410341D6402C -:10086E00AE40864068405E4054404A40404027407B -:10087E00F53FD73FA53F733F413F0F3FDD3EA53EBE -:10088E00843E573E2A3EEE3DB23D763D353DF43C2C -:10089E00B63C633C3B3C073CDD3BBA3B793B343BCF -:1008AE00EB3AB03A6A3A363ADF398E3945390A3977 -:1008BE00D638A6386F3838380138DE37AC3775374A -:1008CE0048371637BE3682363F36EA3590356335B1 -:1008DE002C35F534AF3469341434CD33943354336A -:1008EE000333D1329F325032F831CB31A9315031EE -:1008FE002A31DE30CC30BC3066301530C42F8C2F10 -:10090E00422FF72E9B2E442EEE2D8E2D352DD82CCC -:10091E007E2C472C1F2CCF2B7A2B2A2BDA2A9E2AA1 -:10092E004E2A032A90298129272928288D27BB267C -:10093E00E9258A253A25F42481240E249B23282395 -:10094E00B5221522A22166211721C9209320561CFB -:10095E001F1C841B36190919AA185018FB17D31718 -:10096E00AB1783175B1733170B178E165C164316D0 -:10097E00F31594155315F414A4146D140914A5133A -:10098E005F133713F11297123D12ED117F111111F2 -:10099E00AD106210E00F4A0FFF0EB40E740EFC0D78 -:1009AE00D40D720D380DE00C880C2A0CEA0B9C0B42 -:1009BE00400BF40A9E0A6A0A4A0A1A0AC6098609EE -:1009CE003009DD0899085008FA07A2074A07F2060F -:1009DE009A064206EB059D055505FD04BC047304FD -:1009EE00C44D764D2C4DEC4CB84C6D4C2D4CDC4B17 -:1009FE00984B574B0F4BC54A7B4A294AD5497D49DF -:100A0E003849F048A6485C480A48B6475E4727472B -:100A1E00DE468F465E463346FE45D345A5457745B1 -:100A2E0046451545E344A7446C442F44ED43C94362 -:100A3E00A3437B435F432C430443DD42B6428F42C4 -:100A4E00654240421D42F641CA41B1419D4181413C -:100A5E006341454127410941DF40B6408E406E401B -:100A6E00604056404C4042402C40FF3FDD3FAF3F80 -:100A7E007D3F4B3F193FE73EB13E8A3E603E333EDF -:100A8E00FA3DBE3D823D423D013DC33C733C433C7D -:100A9E00123CE63BC33B873B403BFA3ABA3A783AC4 -:100AAE003F3AF0399F3954391339DF38B0387A3834 -:100ABE0043380C38E537B637803751372037D036C4 -:100ACE008B364A36FB35A2356C3537350035C13499 -:100ADE0077342434DC339F3360331133DC32A73266 -:100AEE005F320A32D431AF315F313031EA30D0303B -:100AFE00C03075302730D52F9A2F522F032FAD2EA1 -:100B0E00562E002EA02D472DE92C8B2C522C272C47 -:100B1E00DF2B8B2B3A2BEA2AAA2A5E2A122AA72926 -:100B2E00842939295B28AC27E52613269D254A25DD -:100B3E00022598242524B2233F23CC223522B92125 -:100B4E0071212321DB209E202F1D2A1CA31BAC19F3 -:100B5E001219BD1862180C18DB17B3178B17631711 -:100B6E003B171317A716661648160316A71560151A -:100B7E000715B41478141D14B9136D133F13FF1217 -:100B8E00A9124F12FD1195112711C1107110FA0FF4 -:100B9E00680F0E0FC30E820E140EDB0D870D430D64 -:100BAE00F10C990C3B0CF70BAE0B520B010BAE0A72 -:100BBE00730A510A220AD60993094309EE08A608B8 -:100BCE005F080C08B4075C070407AC065406FD0565 -:100BDE00AF0567050F05C9048004D34D874D3D4D04 -:100BEE00FB4CC24C7C4C3E4CED4BA34B634B1D4B14 -:100BFE00D34A894A394AE5498E494449FE48B448A0 -:100C0E006A481A48C6476F472F47EE46A0466646C3 -:100C1E003B460946DB45AD457F454F451F45ED44F7 -:100C2E00B24475443944F743CF43AB4383436443E3 -:100C3E0037430A43E442BD4296426D424742244244 -:100C4E00FE41D341B541A141874169414B412D41FF -:100C5E000F41E840BE4096407440624058404E40BE -:100C6E00444031400940E33FB93F873F553F233F62 -:100C7E00F13EBD3E913E693E3C3E063ECA3D8E3D36 -:100C8E004F3D0E3DCF3C843C4B3C1E3CEE3BCB3BA4 -:100C9E00983B513B0C3BC53A8A3A493A023AB13934 -:100CAE0062392239F038B73885384E381738EC3774 -:100CBE00C0378B375A372A37E236993659360C36C3 -:100CCE00B435753542350B35CD3485343634EB338A -:100CDE00AA336D332733E332B3326F321F32DD3135 -:100CEE00B63171313831FC30D330C33085303630C7 -:100CFE00E32FA12F612F112FBE2E682E102EB42D93 -:100D0E00592DFB2C9D2C5D2C2F2CEF2B9C2B4A2B25 -:100D1E00FA2AB62A6E2A212ABE2987294B298E281D -:100D2E00CB270F273D26B0255A251025AF243C246E -:100D3E00C9235623E3225522D0217F213521EB20D2 -:100D4E00AA20081E351CC21B221A1B19D018741893 -:100D5E001D18E317BB1793176B1743171B17C016F6 -:100D6E0070164D161316BA156D151A15C414831474 -:100D7E003114CD137B1347130D13BB1261120D12D9 -:100D8E00AB113D11D51080101410860F1D0FD20E11 -:100D9E008E0E2C0EE30D990D4F0D030DAB0C540C56 -:100DAE00020CC00B640B110BC70A7F0A570A2D0ADF -:100DBE00E809A0095409FD08B4086F081C08C60705 -:100DCE006C071607BE0666060D06B90570052005EA -:100DDE00D7049204E44D984D4D4D0B4DCC4C8E4C9A -:100DEE00484CFE4BAE4B6F4B2B4BE14A974A494A50 -:100DFE00F5499F4950490C49C24878482A48D64778 -:100E0E0080473947FE46B1466E4643461446E34593 -:100E1E00B545874559452945F744BD447E4443446D -:100E2E001044D643B3438B436B433F431143EB42D2 -:100E3E00C4429D4275424E422B420642DC41B941AC -:100E4E00A5418D416F41514133411541F140C6409D -:100E5E009E407A4064405A405040464036401340CF -:100E6E00E93FC33F913F5F3F2D3FFB3EC93E983E5A -:100E7E00723E453E123ED63D9A3D5C3D1B3DDB3CEF -:100E8E00953C533C253CF63BD23B9E3B613B1B3B8A -:100E9E00D33A963A583A143AC13972393339F83846 -:100EAE00C238903859382238F337CA3796376337F5 -:100EBE003437F536A73668361D36C6357E354D3590 -:100ECE001635D83493344834FA33B4337A33363350 -:100EDE00F032BF327E323232E631BD3181314031B5 -:100EEE000C31D630C63095304530F12FA92F702FEA -:100EFE00232FCF2E7B2E1F2ECA2D6A2D0D2DB32CF8 -:100F0E00682C372CFF2BAD2B5A2B0A2BC22A7E2A8C -:100F1E00302AD5298A295D29C128EA27392767264B -:100F2E00C3256A251E25C6245324E0236D23FA22E9 -:100F3E007522E72190214A21FD20B820E11E401C98 -:100F4E00E11B981A2419E31886182E18EB17C317ED -:100F5E009B1773174B172317D9167A16521623168B -:100F6E00CD157A152D15D4148E144514E11389134D -:100F7E004F131B13CD1273121D12C1115311E91011 -:100F8E008F102E10A40F2C0FE10E9A0E440EEC0DA6 -:100F9E00AA0D5B0D150DBD0C660C0C0CCD0B780B54 -:100FAE00260BD80A8C0A5E0A3A0AFA09AC096309BA -:100FBE000F09BF087D082C08D6077E072607CE0628 -:100FCE0076061E06C70579053105E304A004F04D2B -:100FDE00A64D5B4D1A4DD64C9D4C524C124CBD4BF2 -:100FEE007D4B3B4BF14AA74A5B4A074AB2495E49E1 -:100FFE001C49D24888483C48E847934742470C472B -:10100E00BF4679464B462146EE45C0459245624560 -:10101E0033450145CE448D4453441944DD43BB430F -:10102E0093436F434E431843F442CD42A6427E4251 -:10103E00554232420E42E541BD41A94193417541AF -:10104E00574139411B41FA40CE40A6408040664090 -:10105E005C40524048403B401D40EF3FCD3F9B3FE0 -:10106E00693F373F053FD13E9E3E7B3E4E3E1E3E84 -:10107E00E23DA63D693D283DE83CA53C5B3C2F3C4E -:10108E00FF3BD83BAE3B6C3B293BDD3AA53A613A80 -:10109E00253AD03980393C390139CC389B386438FF -:1010AE002D38FA37D437A1376C373E370637B0367E -:1010BE0073362E36D835873558352135E734A13479 -:1010CE0059340934C13386334333FA32C9328F323D -:1010DE004232EF31C431953148311731DA30C930EF -:1010EE00A83056300430B82F7E2F322FE42E8B2EA0 -:1010FE00312EDC2D7C2D222DC72C732C3F2C0F2C4A -:10110E00BE2B6A2B1A2BCE2A8E2A3F2AEC298D292A -:10111E006F29F428092863279126D6257A252C25B0 -:10112E00DD246A24F723842311239522FE219A219C -:10113E0058210B21C020BA1F4B1C001C0E1B2D1951 -:10114E00F61898183F18F317CB17A3177B175317DA -:10115E002B17F216841657163316E0158715401501 -:10116E00E41499145914F513971357132913DF1216 -:10117E0085122D12D7116911FD109E104810C20F45 -:10118E003B0FF00EA80E5C0EF40DBF0D660D260D76 -:10119E00CE0C770C1B0CDC0B8A0B330BE70A950A73 -:1011AE00640A420A0A0AB90975091D09CC088B0896 -:1011BE003E08E80790073807E00688063006D9058E -:1011CE008B054305F004AD040160EA00000080BB0E -:1011DE004401010000004100003442000050410073 -:1011EE0000404000005643000046430000494300C3 -:1011FE00000000000000001F856B3E0000803F00D5 -:10120E00004040640064006400640000803B4500C0 -:10121E00803B4500007043000000000245C30132D0 -:10122E0000FA006400DC005A00F0006400FE0001C9 -:10123E00010101011C02C201F4010E01C20152039F -:10124E000E01C201520300000243FF0000400014D1 -:10125E00005400001F1511151F00000C12120C0077 -:10126E00000000040A0A0A0A11110E040E1F041CC3 -:10127E000000000006191803130C00001C1F1111AA -:10128E001F00000004120912040000000E131511B5 -:10129E000E00000000000000110A040000C8420009 -:1012AE0000C84200007A45004003440000FA4300A3 -:1012BE0000FA43000040400000C8412823000028E7 -:1012CE002300001E00000010270000101010101048 -:1012DE00504944204175746F74756E652073746146 -:1012EE00727400504944204175746F74756E652098 -:1012FE006661696C65642E20426164206578747243 -:10130E0075646572206E756D6265722E0000000048 -:10131E0000F04C74F52F006F70656E206661696C7D -:10132E0065642C2046696C653A20004E6F742070FF -:10133E0072696E74696E670053442D5052494E5453 -:10134E00494E47202020202020202020004D3131E2 -:10135E003200332E302E3100336D6D2D52414D4201 -:10136E006F3133612D50727573614E6D6B32003F6C -:10137E000050727573612069330020703A00206945 -:10138E003A0020643A0020633A0054000000010045 -:10139E00250030001D000C001800240031001C0038 -:1013AE000B00170023002F001B000A001E00470031 -:1013BE000400080022002B001A000300360037003C -:1013CE003500380058595A454F4B00052E2E003E19 -:1013DE0000206D6D006D2000636D006820007300AD -:1013EE006B6D0068007C002D2D2D2D2D2D2D2D2D9E -:1013FE002D2D2D2D2D2D2D2D2D2D2D00486F746560 -:10140E006E640058005900426564004C6F61646957 -:10141E006E672066696C616D656E74003400202005 -:10142E0020202020202020202020202020202020AE -:10143E0020200001005E0020205A00203A200000EB -:10144E00803B4500803B4500007043000070420029 -:10145E0000000064D174F500000000C7EC9BEC7036 -:08146E00EC78EC8BEC9AEC0029 -:00000001FF From 8216b7777f72be6a67805f5c7b6a42941d126ea5 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 1 Feb 2018 20:15:15 +0100 Subject: [PATCH 009/926] hex files for MK2.5 and MK3 Configuration_prusa.h for MK2.5 --- Firmware/Configuration_prusa.h | 131 +- hex_files/1_75mm_MK25-RAMBo13a-E3Dv6full.hex | 14030 ++++++++++++++++ hex_files/1_75mm_MK3-EINSy10a-E3Dv6full.hex | 14897 +++++++++++++++++ 3 files changed, 28936 insertions(+), 122 deletions(-) create mode 100644 hex_files/1_75mm_MK25-RAMBo13a-E3Dv6full.hex create mode 100644 hex_files/1_75mm_MK3-EINSy10a-E3Dv6full.hex diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 11ad3dc84..18edb0f15 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -6,17 +6,17 @@ *------------------------------------*/ // Printer revision -#define FILAMENT_SIZE "1_75mm_MK3" +#define FILAMENT_SIZE "1_75mm_MK25" #define NOZZLE_TYPE "E3Dv6full" // Developer flag #define DEVELOPER // Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK3" +#define CUSTOM_MENDEL_NAME "Prusa i3 MK2.5" // Electronics -#define MOTHERBOARD BOARD_EINSY_1_0a +#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -31,9 +31,7 @@ *------------------------------------*/ // Steps per unit {X,Y,Z,E} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,560} +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} // Endstop inverting const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. @@ -41,12 +39,12 @@ const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. // Direction inverting -#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true +#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 true // for Mendel set to false, for Orca set to true -#define INVERT_E0_DIR false // 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 +#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 true // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false // Home position #define MANUAL_X_HOME_POS 0 @@ -82,35 +80,11 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) -//Silent mode limits -#define SILENT_MAX_ACCEL 960 // max axxeleration in silent mode in mm/s^2 -#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2 -#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) - -//Normal mode limits -#define NORMAL_MAX_ACCEL 2500 // Y-axis max axxeleration in normal mode in mm/s^2 -#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2 -#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) - -//#define SIMPLE_ACCEL_LIMIT //new limitation method for normal/silent - //number of bytes from end of the file to start check #define END_FILE_SECTION 10000 #define Z_AXIS_ALWAYS_ON 1 -// Automatic recovery after crash is detected -#define AUTOMATIC_RECOVERY_AFTER_CRASH - -// Disable some commands -#define _DISABLE_M42_M226 - -// Minimum ambient temperature limit to start triggering MINTEMP errors [C] -// this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, -// temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle -// the real limit is 15C (same as MINTEMP limit), this is because 15C is end of scale for both used thermistors (bed, heater) -#define MINTEMP_MINAMBIENT 25 -#define MINTEMP_MINAMBIENT_RAW 978 //#define DEBUG_BUILD #ifdef DEBUG_BUILD @@ -144,81 +118,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif /* DEBUG_BUILD */ -/*------------------------------------ - TMC2130 default settings - *------------------------------------*/ - -#define TMC2130_FCLK 12000000 // fclk = 12MHz - -#define TMC2130_USTEPS_XY 16 // microstep resolution for XY axes -#define TMC2130_USTEPS_Z 16 // microstep resolution for Z axis -#define TMC2130_USTEPS_E 32 // microstep resolution for E axis -#define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes -#define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis -#define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis - -#define TMC2130_PWM_GRAD_X 2 // PWMCONF -#define TMC2130_PWM_AMPL_X 230 // PWMCONF -#define TMC2130_PWM_AUTO_X 1 // PWMCONF -#define TMC2130_PWM_FREQ_X 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Y 2 // PWMCONF -#define TMC2130_PWM_AMPL_Y 235 // PWMCONF -#define TMC2130_PWM_AUTO_Y 1 // PWMCONF -#define TMC2130_PWM_FREQ_Y 2 // PWMCONF - -#define TMC2130_PWM_GRAD_E 2 // PWMCONF -#define TMC2130_PWM_AMPL_E 235 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Z 4 // PWMCONF -#define TMC2130_PWM_AMPL_Z 200 // PWMCONF -#define TMC2130_PWM_AUTO_Z 1 // PWMCONF -#define TMC2130_PWM_FREQ_Z 2 // PWMCONF - -#define TMC2130_PWM_GRAD_E 4 // PWMCONF -#define TMC2130_PWM_AMPL_E 240 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF - -#define TMC2130_TOFF_XYZ 3 // CHOPCONF // fchop = 27.778kHz -#define TMC2130_TOFF_E 3 // CHOPCONF // fchop = 27.778kHz -//#define TMC2130_TOFF_E 4 // CHOPCONF // fchop = 21.429kHz -//#define TMC2130_TOFF_E 5 // CHOPCONF // fchop = 17.442kHz - -//#define TMC2130_STEALTH_E // Extruder stealthChop mode -//#define TMC2130_CNSTOFF_E // Extruder constant-off-time mode (similar to MK2) - -//#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV) // PWM frequency (23.4kHz, 35.1kHz, 46.9kHz, 58.5kHz for 12MHz fclk) - -#define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode -#define TMC2130_THIGH 0 // THIGH - unused - -//#define TMC2130_TCOOLTHRS_X 450 // TCOOLTHRS - coolstep treshold -//#define TMC2130_TCOOLTHRS_Y 450 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_X 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Y 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Z 500 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_E 500 // TCOOLTHRS - coolstep treshold - -#define TMC2130_SG_HOMING 1 // stallguard homing -#define TMC2130_SG_THRS_X 3 // stallguard sensitivity for X axis -#define TMC2130_SG_THRS_Y 3 // stallguard sensitivity for Y axis -#define TMC2130_SG_THRS_Z 3 // stallguard sensitivity for Z axis -#define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis - -//new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {13, 20, 25, 35} // default holding currents for all axes -#define TMC2130_CURRENTS_R {13, 20, 25, 35} // default running currents for all axes - -//#define TMC2130_DEBUG -//#define TMC2130_DEBUG_WR -//#define TMC2130_DEBUG_RD - - /*------------------------------------ EXTRUDER SETTINGS *------------------------------------*/ @@ -516,7 +415,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TEMP_SENSOR_BED 1 #endif #define TEMP_SENSOR_PINDA 1 -#define TEMP_SENSOR_AMBIENT 2000 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -559,17 +457,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print #endif -// How much shall the print head be lifted on power panic? -// Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, -// UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. -// For example, the Prusa i3 MK2 with 16 microsteps per full step has Z stepping of 400 microsteps per mm. -// At 400 microsteps per mm, a full step lifts the Z axis by 0.04mm, and a stepper driver cycle is 0.16mm. -// The following example, 12 * (4 * 16 / 400) = 12 * 0.16mm = 1.92mm. -//#define UVLO_Z_AXIS_SHIFT 1.92 -#define UVLO_Z_AXIS_SHIFT 0.64 -// If power panic occured, and the current temperature is higher then target temperature before interrupt minus this offset, print will be recovered automatically. -#define AUTOMATIC_UVLO_BED_TEMP_OFFSET 5 - #define HEATBED_V2 #define M600_TIMEOUT 600 //seconds diff --git a/hex_files/1_75mm_MK25-RAMBo13a-E3Dv6full.hex b/hex_files/1_75mm_MK25-RAMBo13a-E3Dv6full.hex new file mode 100644 index 000000000..72e2b0822 --- /dev/null +++ b/hex_files/1_75mm_MK25-RAMBo13a-E3Dv6full.hex @@ -0,0 +1,14030 @@ +:100000000C949A2F0C94CB2F0C94CB2F0C94CB2FB9 +:100010000C94CB2F0C94CB2F0C94CB2F0C94CB2F78 +:100020000C9482910C94CB2F0C94CB2F0C945FBD2D +:100030000C94CB2F0D94EAA20C94CB2F0C94CB2FC5 +:100040000C94CB2F0D940E0D0C94CB2F0C94CB2F26 +:100050000C94CB2F0C94CB2F0D9432220D94119B2A +:100060000C94CB2F0C943D3C0C94CB2F0C94CB2FA9 +:100070000C94CB2F0C94CB2F0C94CB2F0C94CB2F18 +:100080000C94CB2F0C94CB2F0C94CB2F0C94CB2F08 +:100090000C94813C0C94CB2F0C94CB2F0C94CB2F35 +:1000A0000C94CB2F0C94CB2F0C94CB2F0C94CB2FE8 +:1000B0000C94CB2F0C94CB2F0C94CB2F0C94CB2FD8 +:1000C0000C94CB2F0C94CB2F0C94CB2F0C94CB2FC8 +:1000D0000C94CB2F0C94CB2F0C94CB2F0C94CB2FB8 +:1000E0000C94CB2F2C3B303B353B3D3B523B6B3B89 +:1000F000903BBA3B2E013401840160017801C001BC +:10010000C2018C013E016401BA0156012A0180013D +:100110009001B601AA01DC01A2018601BE014201E3 +:1001200082016801CA01740174017401B401B4014F +:10013000B40194016601B401EA01C401D401400193 +:100140003A01DE014A013C019201A401AE015E01C7 +:10015000A601AC01D2014A015A01E8019C01280123 +:10016000CC01E201D001E001BC014C019A017E0109 +:100170007201B801700144015201BC01B0013001AB +:100180005C01084AD73B3BCE016E84BCBFFDC12F4A +:100190003D6C74319ABD56833DDA3D00C77F11BE78 +:1001A000D9E4BB4C3E916BAAAABE000000803F057B +:1001B000A84CCDB2D44EB93836A9020C50B99186AC +:1001C00088083CA6AAAA2ABE000000803F07634216 +:1001D00036B79BD8A71A39685618AEBAAB558C1DDE +:1001E0003CB7CC5763BD6DEDFD753EF6177231BF60 +:1001F000000000803F08000000BE922449123EAB80 +:10020000AAAA2ABECDCCCC4C3E00000080BEABAA30 +:10021000AAAA3E00000000BF000000803F000000CE +:100220000000084178D3BB4387D1133D190E3CC36E +:10023000BD4282AD2B3E68EC8276BED98FE1A93EED +:100240004C80EFFFBE01C4FF7F3F000000000000B4 +:100250000D940B9D0D94B6560D9487250D942E4646 +:100260000D943C9D0D9494290D9443460D9466285D +:100270000D943C650D94669C0D947A9C0D94C54636 +:100280000D945C9C0D945B580D942E9D0D94903FA5 +:100290000D941C7B0D94E99C0D94129D0D949A294C +:1002A0000D94A68C0D94329D0D94D87D0D949E5680 +:1002B0000D942B410D94CB9C0D94409D0D949E9CD0 +:1002C0000D9462460D94B2420D94DF460D94EE58A3 +:1002D0000D94A8580D9414850D9497420D94854C57 +:1002E0000D942A9D0D94209D0D94B8580D94A9420B +:1002F0000D9487460D94A0420D94183A0D941C9DC0 +:100300000D94CD560D947E580D9448460D942D585D +:100310000D94A9490D9443370D94B0460D9488442B +:100320000D94E3560D94829C0D94C0580D947676EE +:100330000D94DC9D0D94169D0D94DF9C0D94532B14 +:100340000D94E9260D940A580D948A9C0D94A89C4E +:100350000D9459280D9425570D94B79C0D94949C99 +:100360000D94389D0D9485290D94DE580D94F75603 +:100370000D94249D0D9407470D94459D0D943E5872 +:100380000D948C460D9496460D94529C0D945C43AE +:100390000D943C6D0D94B0580D940E9D0D94BB457D +:1003A0000D94019D0D94C19C0D94579C0D943D742A +:1003B0000D94BC310D942A320D9442570D94709CCB +:1003C0000D94079D0D94FD9C0D9481320D94206C2D +:1003D0000D94D59C0D94CA580D945A91486172643D +:1003E000636F6465642044656661756C7420536551 +:1003F0007474696E6773204C6F6164656400537434 +:100400006F7265642073657474696E6773207265BA +:10041000747269657665640046696C616D656E74B9 +:100420002073657474696E67733A204469736162FE +:100430006C6564002020204D323030204400466935 +:100440006C616D656E742073657474696E67733A60 +:10045000002020204D3230392053004175746F2D1B +:10046000526574726163743A20533D3020746F207A +:1004700064697361626C652C203120746F20696E31 +:100480007465727072657420657874727564652D18 +:100490006F6E6C79206D6F76657320617320726565 +:1004A000747261637473206F72207265636F766516 +:1004B00072696573002046002020204D32303820BC +:1004C00053005265636F7665723A20533D457874E8 +:1004D0007261206C656E67746820286D6D292046F6 +:1004E0003A537065656420286D6D2F6D2900205A80 +:1004F000002046002020204D323037205300526526 +:1005000074726163743A20533D4C656E6774682061 +:10051000286D6D2920463A537065656420286D6DFD +:100520002F6D29205A3A205A4C69667420286D6D27 +:1005300029002044002049002020204D3330342061 +:100540005000504944206865617462656420736599 +:100550007474696E67733A002044002049002020BB +:10056000204D33303120500050494420736574745D +:10057000696E67733A00205A0020590020204D32DE +:100580003036205800486F6D65206F66667365745D +:1005900020286D6D293A00204500205A002059007E +:1005A00020580020420020540020204D32303520B9 +:1005B0005300416476616E6365642076617269619F +:1005C000626C65733A20533D4D696E2066656564C3 +:1005D0007261746520286D6D2F73292C20543D4D58 +:1005E000696E2074726176656C20666565647261FF +:1005F000746520286D6D2F73292C20423D6D696E26 +:10060000696D756D207365676D656E742074696DB5 +:100610006520286D73292C20583D6D6178696D75B2 +:100620006D205859206A65726B20286D6D2F7329D3 +:100630002C20205A3D6D6178696D756D205A206AB5 +:1006400065726B20286D6D2F73292C2020453D6D20 +:100650006178696D756D2045206A65726B20286D23 +:100660006D2F73290020540020204D323034205348 +:1006700000416363656C65726174696F6E3A205303 +:100680003D616363656C65726174696F6E2C2054A3 +:100690003D7265747261637420616363656C657239 +:1006A0006174696F6E00204500205A0020590020B7 +:1006B000204D3230312058004D6178696D756D20C4 +:1006C000416363656C65726174696F6E20286D6D3E +:1006D0002F7332293A00204500205A00205900206B +:1006E000204D3230332058004D6178696D756D2092 +:1006F00066656564726174657320286D6D2F73295A +:100700003A00204500205A0020590020204D39325F +:1007100020580053746570732070657220756E697F +:10072000743A0053657474696E67732053746F7202 +:10073000656400454550524F4D204572726F7200FE +:100740006F6B0A002046002045004731205A0020E8 +:10075000423A0020453A00543A005A206C697665C6 +:100760002061646A757374206F7574206F662072DF +:10077000616E67652E2053657474696E6720746FAF +:1007800020302E20436C69636B20746F20636F6E82 +:1007900074696E75652E005A206C697665206164F7 +:1007A0006A757374206F7574206F662072616E674E +:1007B000652E2053657474696E6720746F20300055 +:1007C00020573A0020453A00543A004B494C4C3AE5 +:1007D00020004D3730310022283229005400496E64 +:1007E00076616C6964205420636F64652E00556ED9 +:1007F0006B6E6F776E204D20636F64653A202573B2 +:10080000200A004D3232302053256900203A200062 +:10081000004C414E472053454C20464F52434544DF +:1008200000222831290020453A00205A3A00205958 +:100830003A0020453A00205A3A0020593A00583AE6 +:10084000004D31313320530020002E0020423A0069 +:1008500020453A00543A0020503A002042403A00E5 +:1008600020403A00202F003A00205400202F002082 +:10087000423A00202F006F6B20543A002569206D0A +:10088000696E2C2025692073656300496E76616C62 +:100890006964204D20636F64653A202573200A0047 +:1008A000556E6B6E6F776E204720636F64653A20DC +:1008B0002573200A004D65736820626564206C65AD +:1008C00076656C696E67206E6F74206163746976FB +:1008D000652E000A002020000A4D6561737572655F +:1008E0006420706F696E74733A000A5A20736561F0 +:1008F000726368206865696768743A20002C004E4E +:10090000756D20582C593A2000206D6963726F6E06 +:10091000730045786365737369766520626564204A +:100920006C6576656C696E6720636F72726563745F +:10093000696F6E3A2000473238205730003A200065 +:1009400054656D70657261747572652063616C6960 +:1009500062726174696F6E20646F6E652E20436FE2 +:100960006E74696E7565207769746820707265733E +:1009700073696E6720746865206B6E6F622E00006D +:10098000205A20736869667420286D6D293A0050DA +:10099000494E44412074656D70657261747572656D +:1009A0003A2000002F3600537465703A2000002072 +:1009B0005A20736869667420286D6D293A00504981 +:1009C0004E44412074656D70657261747572653A4C +:1009D00020002F362028736B6970706564290053DE +:1009E0007465703A2000005A45524F3A2000007357 +:1009F000746172742074656D70657261747572656E +:100A00003A200050494E44412070726F6265206365 +:100A1000616C6962726174696F6E20737461727463 +:100A200000473238205730000A00205A3A20002070 +:100A3000593A200020583A200043616C6962726183 +:100A400074696F6E206661696C6564212043686516 +:100A5000636B20746865206178657320616E642023 +:100A600072756E20616761696E2E004D32390062C9 +:100A70007573793A2070617573656420666F7220B2 +:100A8000696E70757400627573793A207061757360 +:100A9000656420666F722075736572006275737984 +:100AA0003A2070726F63657373696E6700205570CA +:100AB0006C6F616420696E2070726F67726573730A +:100AC0000044495341424C45440A00454E41424C82 +:100AD00045440A004653656E736F722000504154BE +:100AE000393132355F696E69743A25640A004665AA +:100AF00062202031203230313800436F6D70696CD4 +:100B000065643A2000286E6F6E652C20646566610E +:100B1000756C7420636F6E66696729004665622094 +:100B2000203120323031382032303A31323A3234CA +:100B30000020332E312E312D5243352D3135310ADF +:100B400000737461727400466163746F727920522D +:100B500045534554001B5B324A1B5B313B31484FC8 +:100B6000726967696E616C205072757361206933B8 +:100B70001B5B323B3348507275736120526573655D +:100B800061726368002500202020202020002020A2 +:100B9000202020200045524153494E4720616C6C73 +:100BA000206461746100466163746F7279205245FC +:100BB00053455400FFFFFF0000A0400000A040008C +:100BC00000004000007F43000056439AD951430083 +:100BD000000000000080C09A99193E00007F430089 +:100BE0000052430000524300000000000080C09A01 +:100BF00099193E6563686F3A004572726F723A00E8 +:100C000000002110422063308440A550C660E77088 +:100C1000088129914AA16BB18CC1ADD1CEE1EFF130 +:100C20003112100273325222B5529442F772D662D8 +:100C3000399318837BB35AA3BDD39CC3FFF3DEE380 +:100C40006224433420040114E664C774A444855428 +:100C50006AA54BB528850995EEE5CFF5ACC58DD5D0 +:100C60005336722611163006D776F6669556B44678 +:100C70005BB77AA719973887DFF7FEE79DD7BCC720 +:100C8000C448E5588668A7784008611802282338C8 +:100C9000CCC9EDD98EE9AFF9488969990AA92BB970 +:100CA000F55AD44AB77A966A711A500A333A122A18 +:100CB000FDDBDCCBBFFB9EEB799B588B3BBB1AABC0 +:100CC000A66C877CE44CC55C222C033C600C411C68 +:100CD000AEED8FFDECCDCDDD2AAD0BBD688D499D10 +:100CE000977EB66ED55EF44E133E322E511E700EB8 +:100CF0009FFFBEEFDDDFFCCF1BBF3AAF599F788F60 +:100D00008891A981CAB1EBA10CD12DC14EF16FE13F +:100D10008010A100C230E320045025404670676077 +:100D2000B9839893FBA3DAB33DC31CD37FE35EF38F +:100D3000B1029012F322D2323542145277625672C7 +:100D4000EAB5CBA5A89589856EF54FE52CD50DC5DF +:100D5000E234C324A0148104667447642454054417 +:100D6000DBA7FAB79987B8975FE77EF71DC73CD72F +:100D7000D326F2369106B016576676761546345667 +:100D80004CD96DC90EF92FE9C899E9898AB9ABA97F +:100D90004458654806782768C018E1088238A328B7 +:100DA0007DCB5CDB3FEB1EFBF98BD89BBBAB9ABBCF +:100DB000754A545A376A167AF10AD01AB32A923A07 +:100DC0002EFD0FED6CDD4DCDAABD8BADE89DC98D1F +:100DD000267C076C645C454CA23C832CE01CC10C57 +:100DE0001FEF3EFF5DCF7CDF9BAFBABFD98FF89F6F +:100DF000176E367E554E745E932EB23ED10EF01EA7 +:100E00007C3C3E5E2B3D3F2F5B5D3B2C2A225C00F1 +:100E10004D3234004D3233202573006175746F25D7 +:100E2000692E67000A002F000A002E0044656C65D9 +:100E300074696F6E206661696C65642C2046696C0C +:100E4000653A200046696C652064656C657465646C +:100E50003A002E002E002E002E004E6F7720667274 +:100E60006573682066696C653A20004E6F77206470 +:100E70006F696E672066696C653A20002220706F8A +:100E800073002220706172656E743A2200535542DD +:100E9000524F5554494E452043414C4C2074617289 +:100EA0006765743A2200747279696E6720746F20E6 +:100EB00063616C6C207375622D67636F6465206677 +:100EC000696C6573207769746820746F6F206D6139 +:100ED0006E79206C6576656C732E204D4158206CC0 +:100EE0006576656C2069733A00256920686F7572B4 +:100EF00073202569206D696E757465730054494DC2 +:100F0000454F55543A004D3131300046756C6C20D8 +:100F10005258204275666665720022206661696CCF +:100F200065643A204275666665722066756C6C2150 +:100F300000456E717565696E6720746F2074686511 +:100F40002066726F6E743A2022002200456E717521 +:100F500065696E6720746F207468652066726F6EB5 +:100F6000743A20220022206661696C65643A20424E +:100F700075666665722066756C6C210022004D36C0 +:100F80003030004731204533204632303000473181 +:100F900020452D3320463230300050727573612069 +:100FA0006933204D4B322E35206F6B0050727573B4 +:100FB00061206933204D4B322E3520726561647992 +:100FC0002E007A5F6D696E3A20007A5F6D61783A23 +:100FD00020005A204F666673657400795F6D696EF4 +:100FE0003A2000795F6D61783A20005920767A6462 +:100FF000616C656E6F7374206F64206D696E3A006A +:10100000592064697374616E63652066726F6D2028 +:101010006D696E3A00416E6F0059657300785F6DBF +:10102000696E3A2000785F6D61783A2000446574FB +:1010300061696C792058595A206B616C2E0058599F +:101040005A2063616C2E2064657461696C73004E74 +:10105000796E692070726F76656475207A206B6195 +:101060006C6962726163692E00492077696C6C203B +:1010700072756E207A2063616C6962726174696F47 +:101080006E206E6F772E004E796E692070726F76CB +:101090006564752078797A206B616C69627261632E +:1010A000692E205A616265726520746F20707269C2 +:1010B000626C697A6E65203132206D696E2E00494E +:1010C0002077696C6C2072756E2078797A20636164 +:1010D0006C6962726174696F6E206E6F772E204941 +:1010E000742077696C6C2074616B6520617070721C +:1010F0006F782E203132206D696E732E004E796E1E +:10110000692070726564656872656A6920747279B5 +:10111000736B752070726F20504C412E004E6F77AC +:1011200020492077696C6C20707265686561742055 +:101130006E6F7A7A6C6520666F7220504C412E007B +:10114000446F6272792064656E2C206A73656D202D +:1011500076617365207469736B61726E61204F7282 +:101160006967696E616C2050727573612069332EF6 +:101170002043686365746520616279636820566105 +:10118000732070726F7665646C61206B616C69624C +:101190007261636E696D2070726F636573656D3F18 +:1011A0000048692C204920616D20796F7572204FAD +:1011B000726967696E616C20507275736120693362 +:1011C000207072696E7465722E20576F756C642082 +:1011D000796F75206C696B65206D6520746F206771 +:1011E0007569646520796F75207468726F756768BA +:1011F000207468652073657475702070726F636504 +:1012000073733F005A61636E75207469736B6E6F00 +:101210007574206C696E6B7520612056792062753B +:101220006465746520706F737475706E6520736E7D +:10123000697A6F76617420747279736B75206F743C +:101240006163656E696D20746C616369746B6120A4 +:10125000646F6B7564206E65646F7361686E65742E +:1012600065206F7074696D616C6E69207679736B3F +:10127000792E2050726F686C65646E65746520739A +:1012800069206F6272617A6B792076206E61736972 +:101290002070726972756363652076206B61706976 +:1012A000746F6C65204B616C6962726163650049A3 +:1012B0002077696C6C20737461727420746F207075 +:1012C00072696E74206C696E6520616E6420796F3E +:1012D000752077696C6C206772616475616C6C79DC +:1012E000206C6F77657220746865206E6F7A7A6CF7 +:1012F0006520627920726F746174696E672074680A +:1013000065206B6E6F622C20756E74696C20796F2E +:1013100075207265616368206F7074696D616C20FF +:101320006865696768742E20436865636B2074681C +:101330006520706963747572657320696E206F75BE +:10134000722068616E64626F6F6B20696E206368E3 +:1013500061707465722043616C6962726174696F57 +:101360006E2E004E796E69207A6B616C69627275BF +:101370006A6920767A64616C656E6F7374206D653E +:101380007A69206B6F6E63656D20747279736B7907 +:10139000206120706F76726368656D206865617486 +:1013A000626564752E004E6F7720492077696C6CFA +:1013B0002063616C69627261746520646973746131 +:1013C0006E6365206265747765656E207469702050 +:1013D0006F6620746865206E6F7A7A6C6520616E26 +:1013E0006420686561746265642073757266616308 +:1013F000652E004E656A6472697620706F6D6F634A +:10140000692073656C667465737475207A6B6F6E92 +:10141000746F6C756A69206E656A63617374656A5E +:10142000736920636879627920767A6E696B616A84 +:101430006963692070726920736573746176656E83 +:1014400069207469736B61726E792E0046697273DC +:10145000742C20492077696C6C2072756E2074683A +:10146000652073656C667465737420746F2063689F +:1014700065636B206D6F737420636F6D6D6F6E208D +:10148000617373656D626C792070726F626C656DEB +:10149000732E005370757374656E692057697A6195 +:1014A0007264612076796D617A6520756C6F7A65FA +:1014B0006E65207679736C65646B792076736563ED +:1014C00068206B616C69627261636920612073706E +:1014D00075737469206B616C69627261636E6920F7 +:1014E00070726F636573206F64207A616361746BDF +:1014F000752E20506F6B7261636F7661743F00527E +:10150000756E6E696E672057697A617264207769BB +:101510006C6C2064656C6574652063757272656EB1 +:10152000742063616C6962726174696F6E207265A8 +:1015300073756C747320616E6420737461727420AF +:1015400066726F6D2074686520626567696E6E698A +:101550006E672E20436F6E74696E75653F00436839 +:1015600063657465206F70616B6F76617420706F56 +:10157000736C65646E69206B726F6B206120706F95 +:101580007A6D656E697420767A64616C656E6F73CE +:1015900074206D657A6920747279736B6F75206140 +:1015A00020686561746265643F00446F20796F75DF +:1015B0002077616E7420746F20726570656174208D +:1015C0006C617374207374657020746F2072656130 +:1015D000646A7573742064697374616E63652062F4 +:1015E00065747765656E206E6F7A7A6C6520616EC2 +:1015F0006420686561746265643F0057697A61724E +:101600006461206D757A657465206B64796B6F6CAD +:101610006976207A6E6F767520737075737469744D +:10162000207A206D656E752043616C696272617409 +:10163000696F6E202D3E2057697A61726400596F80 +:10164000752063616E20616C7761797320726573B8 +:10165000756D65207468652057697A6172642066CB +:10166000726F6D2043616C6962726174696F6E2084 +:101670002D3E2057697A6172642E004A6520746F8E +:1016800020504C412066696C616D656E743F004965 +:101690007320697420504C412066696C616D656EE1 +:1016A000743F0050726F73696D20766C6F7A746549 +:1016B00020504C412066696C616D656E7420646FCA +:1016C000206578747275646572752C20706F207453 +:1016D0006520737469736B6E65746520746C6163E7 +:1016E00069746B6F2070726F207A61766564656EC5 +:1016F000692066696C616D656E74752E00506C654D +:1017000061736520696E7365727420504C41206668 +:10171000696C616D656E7420746F207468652065F6 +:10172000787472756465722C207468656E207072AE +:10173000657373206B6E6F6220746F206C6F6164D1 +:101740002069742E0050726F73696D207A6176651E +:1017500064746520504C412066696C616D656E74DF +:10176000206120706F207465206F626E6F767465E3 +:101770002057697A6172646120737469736B6E7546 +:1017800074696D20726573657420746C616369742B +:101790006B612E00506C65617365206C6F61642015 +:1017A000504C412066696C616D656E7420616E6499 +:1017B000207468656E20726573756D652057697A4F +:1017C000617264206279207265626F6F74696E67FE +:1017D00020746865207072696E7465722E00507294 +:1017E00065646568726976616D20747279736B7572 +:1017F0002E2050726F73696D2063656B656A746526 +:101800002E0050726568656174696E67206E6F7A2C +:101810007A6C652E20506C65617365207761697400 +:101820002E004A652066696C616D656E74207A6170 +:10183000766564656E3F0049732066696C616D650D +:101840006E74206C6F616465643F00567365206A36 +:101850006520686F746F766F2E00416C6C20697321 +:1018600020646F6E652E20486170707920707269F7 +:101870006E74696E67210050726F73696D206F63BB +:10188000697374657465206865617462656420615C +:1018900020737469736B6E65746520746C61636921 +:1018A000746B6F2E00506C6561736520636C6561AD +:1018B0006E206865617462656420616E642074687E +:1018C000656E20707265737320746865206B6E6F2F +:1018D000622E0050726F73696D206E61686C656472 +:1018E0006E65746520646F206D616E75616C752026 +:1018F00061206F7072617674652070726F626C65C2 +:101900006D2E20506F207465206F626E6F76746547 +:101910002057697A61726461207265626F6F746FBB +:1019200076616E696D207469736B61726E792E00D9 +:10193000506C6561736520636865636B206F7572B9 +:101940002068616E64626F6F6B20616E64206669EF +:1019500078207468652070726F626C656D2E2054FB +:1019600068656E20726573756D65207468652057B3 +:10197000697A617264206279207265626F6F74693E +:101980006E6720746865207072696E7465722E00CF +:1019900057697A61726400205761746368646F6785 +:1019A00020526573657400496E666F726D61636580 +:1019B00000496E666F2073637265656E0043656BE8 +:1019C000616E69206E61207A63686C61646E757403 +:1019D0006920747279736B79206120706F646C6F09 +:1019E0007A6B792E0057616974696E6720666F7231 +:1019F000206E6F7A7A6C6520616E64206265642067 +:101A0000636F6F6C696E67004B616C2E207072762D +:101A10006E692076727374767900466972737420E9 +:101A20006C617965722063616C2E00576169742066 +:101A3000666F7220757365722E2E2E00506F757A48 +:101A400069746520626568656D207469736B7500E3 +:101A50005573656420647572696E67207072696E73 +:101A6000740042796C6F20767973756E7574692095 +:101A700066696C616D656E74752075737065736EE3 +:101A8000653F005761732066696C616D656E7420F7 +:101A9000756E6C6F616420737563636573736675CF +:101AA0006C3F0056796A6D6F75742066696C616D64 +:101AB000656E7400556E6C6F61642066696C616D53 +:101AC000656E74005679736F7576616D2066696C0A +:101AD000616D656E7400556E6C6F6164696E672030 +:101AE00066696C616D656E7400556E6B6E6F776EB6 +:101AF00020636F6D6D616E643A2022004C616469F1 +:101B0000740054756E650053442063617264205BF9 +:101B1000466C73684169725D00534420636172646E +:101B200020205B6E6F726D616C5D00537461626C3E +:101B30006520616D6269656E742074656D70657293 +:101B400061747572652032312D32364320697320FD +:101B50006E656564656420612072696769642073DD +:101B600074616E6420697320726571756972656451 +:101B70002E005465706C2E206B616C2E20205B7AD9 +:101B800061705D0054656D702E2063616C2E2020A5 +:101B9000205B6F6E5D005465706C2E206B616C2E47 +:101BA00020205B7679705D0054656D702E20636136 +:101BB0006C2E20205B6F66665D005465706C6F74E0 +:101BC0006E69206B616C69627261636520646F6B22 +:101BD0006F6E63656E612E20506F6B726163756A04 +:101BE000746520737469736B656D20746C616369CF +:101BF000746B612E0054656D7065726174757265E9 +:101C00002063616C6962726174696F6E2069732010 +:101C100066696E69736865642E20436C69636B2026 +:101C2000746F20636F6E74696E75652E00546570F5 +:101C30006C2E206B616C2E20202020202020202064 +:101C4000200054656D702E2063616C2E20202020B2 +:101C5000202020202020005465706C6F7461005497 +:101C6000656D706572617475726500506F64706F38 +:101C7000726100537570706F7274005A6173746191 +:101C8000766974207469736B0053746F702070727E +:101C9000696E740053544F505045442E20005374C5 +:101CA00065707261746520746F6F20686967683A47 +:101CB00020004A65207469736B6F767920706C61BF +:101CC00074206E6120686561746265643F004973C9 +:101CD00020737465656C207368656574206F6E2071 +:101CE000686561746265643F0043656C6B6F76790B +:101CF00020636173203A00546F74616C20707269C4 +:101D00006E742074696D65203A0046696C616D657A +:101D10006E742063656C6B656D203A00546F74615E +:101D20006C2066696C616D656E74203A0043617366 +:101D3000207469736B75203A2020005072696E74AC +:101D40002074696D653A20200046696C616D656E8E +:101D500074203A20200046696C616D656E742075B0 +:101D60007365643A20200053746174697374696BFD +:101D70006120200053746174697374696373202057 +:101D8000004368796261202D20446F736C6F206B73 +:101D90002070726570697375207374617469636B08 +:101DA000652070616D65746921004572726F7220E3 +:101DB0002D20737461746963206D656D6F72792075 +:101DC000686173206265656E206F766572777269EF +:101DD0007474656E00527963686C6F73740053702D +:101DE0006565640054726964656E69202020202056 +:101DF0005B4361735D00536F72743A202020202092 +:101E0000205B54696D655D0054726964656E69207C +:101E100020205B5A61646E655D00536F72743A20D6 +:101E200020202020205B4E6F6E655D005472696437 +:101E3000656E69205B416265636564615D00536F37 +:101E400072743A20205B416C7068616265745D0059 +:101E500054726964656E6920736F75626F72750084 +:101E6000536F7274696E672066696C6573002053E6 +:101E70006F667477617265205265736574004C6596 +:101E8000686B65207A6B6F73656E693A00536C6995 +:101E900067687420736B65773A0053746176206BC2 +:101EA0006F6E632E207370696E2E0053686F7720FB +:101EB000656E642073746F70730054657A6B65206F +:101EC0007A6B6F73656E693A00536576657265204B +:101ED000736B65773A004E61737461767465207434 +:101EE00065706C6F74753A005365742074656D701D +:101EF000657261747572653A004E617374617665DE +:101F00006E690053657474696E6773004368796223 +:101F100061207A61706F6A656E6900576972696ED7 +:101F200067206572726F720050726F686F7A656EAB +:101F30006500537761707065640053656C6620744A +:101F40006573742073746172742020005469736B1C +:101F50006F76792076656E742E3A005072696E74D1 +:101F60002066616E3A005A6B6F6E74726F6C756AA0 +:101F70007465203A00506C65617365206368656321 +:101F80006B203A0053656C662074657374204F4B68 +:101F9000004E657A61706F6A656E6F2020202000A8 +:101FA0004E6F7420636F6E6E6563746564004D6F71 +:101FB000746F72004865617465722F546865726D44 +:101FC0006973746F720053656E7A6F722066696C04 +:101FD000616D656E74753A0046696C616D656E740D +:101FE0002073656E736F723A00546F636920736576 +:101FF000005370696E6E696E67004E65746F636939 +:10200000207365004E6F74207370696E6E696E6721 +:1020100000507265646E692F6C6576792076656E06 +:10202000742E0046726F6E742F6C65667420666144 +:102030006E7300546573742076656E74696C617498 +:102040006F72750046616E20746573740053656C21 +:1020500066746573742073656C68616C202000532E +:10206000656C6674657374206661696C65642020B4 +:10207000004C6576792076656E742E3A004578744A +:1020800072756465722066616E3A004C65767920DF +:1020900076656E74206E61207472797363653F009B +:1020A0004C65667420686F74656E642066616E3F6F +:1020B0000053656C6674657374206572726F72206C +:1020C0002100456E6473746F70206E6F74206869B0 +:1020D0007400456E6473746F707300456E6473743E +:1020E0006F7000507265646E69207469736B6F76EF +:1020F000792076656E743F0046726F6E7420707240 +:10210000696E742066616E3F004B6F6E74726F6C07 +:1021100061205A2061786973202000436865636BF1 +:10212000696E67205A20617869732020004B6F6EBA +:1021300074726F6C612059206178697320200043AC +:102140006865636B696E6720592061786973202028 +:10215000004B6F6E74726F6C6120582061786973E8 +:10216000202000436865636B696E672058206178A2 +:1021700069732020004B6F6E74726F6C6120686F02 +:1021800074656E64202000436865636B696E672028 +:10219000686F74656E642020004B6F6E74726F6C94 +:1021A000612073656E7A6F727500436865636B6951 +:1021B0006E672073656E736F727320004B6F6E7461 +:1021C000726F6C6120656E6473746F707300436826 +:1021D00065636B696E6720656E6473746F707300FE +:1021E0004B6F6E74726F6C612062656420202020DA +:1021F0002000436865636B696E6720626564202018 +:1022000020202000567365204F4B202020202020C6 +:10221000202020202000416C6C20636F7272656367 +:102220007420202020202000426564202F20486553 +:10223000617465720044656C6B61206F7379004155 +:10224000786973206C656E677468004F7361004134 +:102250007869730053656C66746573742020202060 +:1022600020202020200052506920706F727420209E +:1022700020205B7A61705D0052506920706F72742B +:1022800020202020205B6F6E5D0052506920706F0F +:102290007274202020205B7679705D005250692096 +:1022A000706F7274202020205B6F66665D0057722D +:1022B0006974696E6720746F2066696C653A2000E6 +:1022C000766F6C756D652E696E6974206661696CD8 +:1022D0006564002053697A653A20004B617274612D +:1022E0002076796A6D75746100436172642072654D +:1022F0006D6F766564005344207072696E74696E08 +:1023000067206279746520006F70656E2066616970 +:102310006C65642C2046696C653A20006F70656EB0 +:10232000526F6F74206661696C6564004B617274F2 +:102330006120766C6F7A656E61004361726420691A +:102340006E73657274656400534420696E6974200D +:102350006661696C0046696C652073656C656374C1 +:1023600065640046696C65206F70656E65643A202F +:10237000006572726F722077726974696E6720747B +:102380006F2066696C650053442063617264206F3E +:102390006B0043616E6E6F7420656E74657220739E +:1023A00075626469723A200050726176793A00521F +:1023B000696768743A004F626E6F766F76616E6916 +:1023C000207469736B7500526573756D696E672053 +:1023D0007072696E74004F626E6F76656E692074FC +:1023E00069736B7500526573756D696E67207072E5 +:1023F000696E7400506F6B7261636F766174005226 +:102400006573756D65207072696E740052657365D1 +:102410006E643A20004F64737472616E7465207448 +:1024200069736B6F767920706C6174207A206865AF +:1024300061746265642070726F73696D2E00506CF8 +:10244000656173652072656D6F766520737465656F +:102450006C2073686565742066726F6D20686561B5 +:10246000746265642E0050726F73696D2076796AAC +:102470006D6574652075727963686C656E6520663C +:10248000696C616D656E7400506C65617365207078 +:10249000756C6C206F75742066696C616D656E7407 +:1024A00020696D6D6564696174656C7900686F772A +:1024B000746F2E707275736133642E637A00686F67 +:1024C00077746F2E707275736133642E636F6D0055 +:1024D000666F72756D2E707275736133642E637AD8 +:1024E00000666F72756D2E707275736133642E6342 +:1024F0006F6D00707275736133642E637A00707251 +:1025000075736133642E636F6D005469736B207053 +:102510006F7A6173746176656E005072696E7420B3 +:10252000706175736564005469736B2070726572B5 +:102530007573656E005072696E742061626F72749B +:102540006564005072696E74657220646973636FAC +:102550006E6E65637465640050726F207679737572 +:102560006E7574692066696C616D656E7475207333 +:102570007469736B6E6574652070726F73696D201A +:10258000746C616369746B6F00506C656173652076 +:10259000707265737320746865206B6E6F6220744F +:1025A0006F20756E6C6F61642066696C616D656E1D +:1025B000740050726F206E61687261746920747269 +:1025C00079736B79206120706F6B7261636F7661D4 +:1025D0006E6920737469736B6E65746520746C61C9 +:1025E0006369746B6F2E005072657373206B6E6F2E +:1025F0006220746F2070726568656174206E6F7AF6 +:102600007A6C6520616E6420636F6E74696E7565A7 +:102610002E006120737469736B6E65746520746C31 +:10262000616369746B6F00616E64207072657373AF +:1026300020746865206B6E6F620050726564656817 +:1026400072656A746520747279736B7521005072BB +:10265000656865617420746865206E6F7A7A6C6550 +:102660002100507265646568726576005072656815 +:1026700065617400506F77657255700050726F73AA +:10268000696D2063656B656A746500506C65617384 +:10269000652077616974004E656A647269766520A9 +:1026A0007A61766564746520504C412066696C617E +:1026B0006D656E742070726F73696D2E00506C655D +:1026C000617365206C6F616420504C412066696CB9 +:1026D000616D656E742066697273742E004A6520A0 +:1026E000504C412066696C616D656E74207A61762C +:1026F0006564656E3F00497320504C412066696CEB +:10270000616D656E74206C6F616465643F002020AC +:10271000506C616E6E657242756666657242797460 +:1027200065733A2000556D69737465746520707225 +:102730006F73696D207469736B6F767920706C614B +:1027400074206E61206865617462656400506C6518 +:1027500061736520706C61636520737465656C20BE +:102760007368656574206F6E206865617462656466 +:102770002E004E6168726976616E692050494E4440 +:10278000410050494E44412048656174696E6700BC +:10279000504944206B616C2E2020202020202020D6 +:1027A000202020005049442063616C2E20202020EE +:1027B0002020202020202000504944206B616C2ED6 +:1027C00020756B6F6E63656E6100504944206361D4 +:1027D0006C2E2066696E69736865640050494420F8 +:1027E0006B616C696272616365005049442063618A +:1027F0006C6962726174696F6E00506F7A61737494 +:1028000061766974207469736B005061757365201B +:102810007072696E7400556D697374657465206CAF +:1028200069737420706170697275206E6120706FB9 +:10283000646C6F7A6B752061207564727A756A7446 +:1028400065206A656A20706F6420747279736B6F9B +:102850007520626568656D206D6572656E692070B2 +:1028600072766E696368203420626F64752E205022 +:102870006F6B756420747279736B61207A61636821 +:102880007974692070617069722C207679706E6538 +:102890007465207469736B61726E752E00506C6183 +:1028A00063652061207368656574206F66207061C0 +:1028B00070657220756E64657220746865206E6F35 +:1028C0007A7A6C6520647572696E67207468652019 +:1028D00063616C6962726174696F6E206F662066F5 +:1028E00069727374203420706F696E74732E20497E +:1028F0006620746865206E6F7A7A6C6520636174F7 +:1029000063686573207468652070617065722C203F +:10291000706F776572206F666620746865207072CC +:10292000696E74657220696D6D6564696174656C4A +:10293000792E006F6B004F6666004E6F206D6F76CC +:10294000652E005A61646E61205344206B6172747D +:1029500061004E6F205344206361726400547279A9 +:10296000736B61004E6F7A7A6C650046696C616DBD +:10297000656E74206E657A61766564656E00466981 +:102980006C616D656E74206E6F74206C6F61646530 +:1029900064004261727661206E656E6920636973BE +:1029A000746100436F6C6F72206E6F7420636F727E +:1029B00072656374004E65004E6F0050726F7369EC +:1029C0006D20616B7475616C697A756A74652E002F +:1029D000506C6561736520757067726164652E0067 +:1029E0005679736C61206E6F7661207665727A65B8 +:1029F000206669726D776172653A004E6577206670 +:102A000069726D776172652076657273696F6E2089 +:102A1000617661696C61626C653A00506F73756EC6 +:102A20006F7574205A004D6F7665205A00506F7391 +:102A3000756E6F75742059004D6F76652059005082 +:102A40006F73756E6F75742058004D6F76652058E2 +:102A5000004578747275646572004B616C696272CE +:102A6000616365205A2E204F746163656E696D2025 +:102A7000746C616369746B6120706F73756E7465DB +:102A8000205A206F737520617A206B7E686F726E9A +:102A9000696D7520646F72617A752E20506F74763F +:102AA0007264746520746C616369746B656D2E006B +:102AB00043616C6962726174696E67205A2E20529C +:102AC0006F7461746520746865206B6E6F6220742A +:102AD0006F206D6F766520746865205A206361727F +:102AE000726961676520757020746F207468652055 +:102AF000656E642073746F70706572732E20436C02 +:102B000069636B207768656E20646F6E652E004B7D +:102B1000616C6962726163652058595A2E204F7446 +:102B20006163656E696D20746C616369746B6120AB +:102B3000706F73756E7465205A206F737520617A9B +:102B4000206B7E686F726E696D7520646F72617A3A +:102B5000752E20506F74767264746520746C616396 +:102B600069746B656D2E0043616C69627261746992 +:102B70006E672058595A2E20526F74617465207404 +:102B80006865206B6E6F6220746F206D6F766520B4 +:102B9000746865205A206361727269616765207587 +:102BA0007020746F2074686520656E642073746F84 +:102BB00070706572732E20436C69636B2077686553 +:102BC0006E20646F6E652E00506F73756E6F757436 +:102BD000206F7375004D6F76652061786973004DC5 +:102BE00065736820426564204C6576656C696E6724 +:102BF000004E617065746900566F6C74616765732F +:102C0000005465706C6F74790054656D7065726105 +:102C10007475726573004B616C6962726163650003 +:102C200043616C6962726174696F6E00537461769E +:102C30002072656D656E750042656C7420737461F9 +:102C400074757300207A203900206F662039004D9A +:102C50006572696D207265666572656E636E692066 +:102C60007679736B75206B616C69627261636E69F2 +:102C7000686F20626F6475004D6561737572696E6F +:102C800067207265666572656E6365206865696751 +:102C90006874206F662063616C6962726174696F29 +:102CA0006E20706F696E74004D6572656E65207A76 +:102CB0006B6F73656E693A004D656173757265641B +:102CC00020736B65773A00486C61766E69206E619F +:102CD0006269646B61004D61696E004D3232312072 +:102CE000496E76616C69642065787472756465728A +:102CF00020004D32313820496E76616C6964206560 +:102D00007874727564657220004D32303020496EDF +:102D100076616C69642065787472756465722000F0 +:102D20005265706F7274696E6720656E6473746F3C +:102D30007020737461747573004D313137204B61AD +:102D40006C2E207072766E692076727374767900BC +:102D50004D313137204669727374206C6179657228 +:102D60002063616C2E004649524D574152455F4EDB +:102D7000414D453A4D61726C696E2056312E302EB0 +:102D8000323B20537072696E7465722F6772626C89 +:102D9000206D617368757020666F722067656E368E +:102DA000204649524D574152455F55524C3A68743E +:102DB0007470733A2F2F6769746875622E636F6D34 +:102DC0002F707275736133642F50727573612D6942 +:102DD000332D506C75732F2050524F544F434F4C2E +:102DE0005F56455253494F4E3A312E30204D4143A4 +:102DF00048494E455F545950453A507275736120A9 +:102E00006933204D4B322E35204558545255444598 +:102E1000525F434F554E543A3120555549443A304C +:102E2000303030303030302D303030302D303030A8 +:102E3000302D303030302D30303030303030303098 +:102E40003030300A004D31303920496E76616C697E +:102E50006420657874727564657220004D31303578 +:102E600020496E76616C696420657874727564655A +:102E70007220004D31303420496E76616C696420D7 +:102E80006578747275646572200055766F6C6E6536 +:102E90006E612072656D656E69636B61004C6F6F6A +:102EA00073652070756C6C6579005A617665737412 +:102EB0002066696C616D656E74004C6F616420669C +:102EC000696C616D656E74005A61766164656E69E6 +:102ED0002066696C616D656E7475004C6F61646924 +:102EE0006E672066696C616D656E7400436973740A +:102EF000656E69206261727679004C6F6164696EFB +:102F00006720636F6C6F72004C6576793A004C6590 +:102F100066743A005679626572206A617A796B61EB +:102F20000053656C656374206C616E6775616765DD +:102F30000043657374696E6100456E676C69736800 +:102F4000004B494C4C45442E2000496E76616C691B +:102F50006420657874727564657200566C6F7A745B +:102F6000652066696C616D656E7400496E7365728B +:102F7000742066696C616D656E74005469736B2EA4 +:102F80002076656E743A005072696E742046414E28 +:102F90003A2000547279736B2E2076656E743A0075 +:102FA0004E6F7A7A6C652046414E3A0045787472CD +:102FB0007564657220696E666F00207A2034002087 +:102FC0006F662034005A6C657073756A6920707280 +:102FD00065736E6F7374206B616C69627261636E8E +:102FE00069686F20626F647500496D70726F7669F1 +:102FF0006E67206265642063616C696272617469E6 +:103000006F6E20706F696E74004B616C69627275CF +:103010006A69205A0043616C6962726174696E6703 +:10302000205A004B616C696272616365204F4B00EE +:1030300043616C6962726174696F6E20646F6E6562 +:10304000004B616C6962726F766174205A00436153 +:103050006C696272617465205A005A61687269769F +:10306000616E69204F4B2E0048656174696E672060 +:10307000646F6E652E005A6168726976616E6900D0 +:1030800048656174696E67005641524F56414E491A +:103090003A204E657A6E616D612C206E65706F64AA +:1030A000706F726F76616E61207665727A652066E8 +:1030B00069726D776172652E20506F757A697469D7 +:1030C000206E6120766C6173746E69206E65626536 +:1030D0007A7065636921005741524E494E473A2044 +:1030E0005468697320697320616E20756E6F66661F +:1030F000696369616C2C20756E737570706F727482 +:103100006564206275696C642E2055736520617456 +:1031100020796F7572206F776E207269736B210052 +:1031200043485942413A2046696C616D656E74208E +:1031300073656E7A6F72206E6572656167756A6518 +:103140002C207A6B6F6E74726F6C756A7465207A5E +:1031500061706F6A656E692E004552524F523A2077 +:1031600046696C616D656E742073656E736F722055 +:103170006973206E6F7420726573706F6E64696E10 +:10318000672C20706C6561736520636865636B20D4 +:10319000636F6E6E656374696F6E2E00462E2061DC +:1031A00075746F7A61762E205B7A61705D00462EB1 +:1031B000206175746F6C6F616420205B6F6E5D00C1 +:1031C000462E206175746F7A61762E205B76797059 +:1031D0005D00462E206175746F6C6F6164205B6FBB +:1031E00066665D00462E206175746F7A61762E20CA +:1031F0005B4E2F415D00462E206175746F6C6F61D0 +:1032000064205B4E2F415D0046696C2E2073656E15 +:103210007A6F72205B7A61705D0046696C2E207354 +:10322000656E736F7220205B6F6E5D0046696C2E59 +:103230002073656E7A6F72205B7679705D004669E7 +:103240006C2E2073656E736F72205B6F66665D0017 +:1032500046696C2E2073656E7A6F72205B4E2F412B +:103260005D0046696C2E2073656E736F72205B4E35 +:103270002F415D002046726565204D656D6F727946 +:103280003A20005469736B61726E61206E656279D9 +:103290006C61206A65737465207A6B616C69627217 +:1032A0006F76616E612E20506F73747570756A74DD +:1032B000652070726F73696D20706F646C65206D2E +:1032C000616E75616C752C206B617069746F6C61D7 +:1032D000205A6163696E616D652C206F647374613F +:1032E00076656320506F73747570206B616C6962D2 +:1032F000726163652E005072696E74657220686138 +:1033000073206E6F74206265656E2063616C696204 +:103310007261746564207965742E20506C656173E8 +:103320006520666F6C6C6F7720746865206D616EC8 +:1033300075616C2C206368617074657220466972D7 +:1033400073742073746570732C2073656374696F74 +:103350006E2043616C6962726174696F6E20666C85 +:103360006F772E00507275746F6B00466C6F77002C +:10337000446F6B6F6E636F76616E6920706F6879F2 +:1033800062750046696E697368696E67206D6F7655 +:10339000656D656E747300207A203400206F66209E +:1033A0003400486C6564616D206B616C69627261A8 +:1033B000636E6920626F6420706F646C6F7A6B79E2 +:1033C00000536561726368696E672062656420639B +:1033D000616C6962726174696F6E20706F696E747E +:1033E0000049746572616365200049746572617497 +:1033F000696F6E2000446F6E6520736176696E6739 +:103400002066696C652E00446F6E65207072696E6F +:1034100074696E672066696C6500536F75626F72C0 +:10342000206E656B6F6D706C65746E692E20506FC9 +:103430006B7261636F7661743F0046696C652069E9 +:103440006E636F6D706C6574652E20436F6E74696A +:103450006E756520616E797761793F004E656B749A +:1034600065726520736F75626F7279206E65627523 +:10347000646F7520736574726964656E792E204D72 +:103480006178696D616C6E6920706F63657420731B +:103490006F75626F72752070726F207365747269D8 +:1034A00064656E69206A65203130302E00536F6D7F +:1034B000652066696C65732077696C6C206E6F742B +:1034C00020626520736F727465642E204D61782EC2 +:1034D000204E6F2E206F662066696C657320696EC2 +:1034E000203120666F6C64657220666F7220736F86 +:1034F0007274696E67206973203130302E00536515 +:103500006E7A6F722066696C616D656E74750046C7 +:10351000696C616D656E742073656E736F720046C1 +:10352000696C616D656E74207679746C6163656E2B +:1035300020612073707261766E65206261727679A7 +:103540003F0046696C616D656E74206578747275B4 +:1035500064696E672026207769746820636F7272D1 +:1035600065637420636F6C6F723F0056796D656E92 +:1035700069742066696C616D656E74004368616E84 +:1035800067652066696C616D656E74005279636869 +:103590006C6F73742076656E742E0046616E2073B6 +:1035A00070656564004B6F6E74722E2076656E7464 +:1035B0002E5B7A61705D0046616E7320636865639F +:1035C0006B2020205B6F6E5D004B6F6E74722E203F +:1035D00076656E742E5B7679705D0046616E732041 +:1035E000636865636B20205B6F66665D00656E7166 +:1035F0007565696E6720220045787472756465721E +:10360000002045787465726E616C20526573657434 +:10361000005072696E7465722073746F70706564A7 +:103620002064756520746F206572726F72732E202E +:1036300046697820746865206572726F7220616EC9 +:103640006420757365204D39393920746F20726597 +:1036500073746172742E202854656D706572617484 +:103660007572652069732072657365742E205365C9 +:103670007420697420616674657220726573746168 +:103680007274696E6729004E6F204C696E65204E1A +:10369000756D626572207769746820636865636B15 +:1036A00073756D2C204C617374204C696E653A20E3 +:1036B000004E6F20436865636B73756D2077697486 +:1036C00068206C696E65206E756D6265722C204C89 +:1036D000617374204C696E653A200020746F6F200E +:1036E0006C6F6E6720657874727573696F6E207089 +:1036F000726576656E746564004C696E65204E7502 +:103700006D626572206973206E6F74204C617374F2 +:10371000204C696E65204E756D6265722B312C20D0 +:103720004C617374204C696E653A20005072696E6A +:103730007465722068616C7465642E206B696C6CB2 +:1037400028292063616C6C6564210020636F6C64C0 +:1037500020657874727573696F6E20707265766516 +:103760006E74656400636865636B73756D206D6965 +:10377000736D617463682C204C617374204C696EA6 +:10378000653A200043485942413A004552524F524F +:103790003A00456E642066696C65206C697374003C +:1037A0006F70656E00545249474745524544006565 +:1037B0006E6473746F7073206869743A2000536C80 +:1037C0006565702E2E2E005679706E6F7574206DA3 +:1037D0006F746F72790044697361626C65207374F1 +:1037E000657070657273004E616872616E6F2076ED +:1037F0007963686F7A69206E6173746176656E694A +:103800000044656661756C742073657474696E67D5 +:1038100073206C6F6164656400446174756D3A0077 +:10382000446174653A00506F757A6520616B7475F8 +:10383000616C6E690043757272656E740020436F2F +:10384000756E7420583A200056796D656E61206F50 +:103850006B3F004368616E67656420636F727265D9 +:1038600063746C793F005A63686C616469740043E7 +:103870006F6F6C646F776E0050726F207573706538 +:10388000736E6F75206B616C696272616369206F22 +:10389000636973746574652070726F73696D2074E9 +:1038A00069736B6F766F7520747279736B752E20E8 +:1038B000506F74767264746520746C616369746BA4 +:1038C000656D2E00506C6561736520636C65616E7B +:1038D00020746865206E6F7A7A6C6520666F72203E +:1038E00063616C6962726174696F6E2E20436C69EA +:1038F000636B207768656E20646F6E652E00446F81 +:103900006A656C79206F6261205A20766F7A696BE4 +:1039100079206B7E686F726E696D7520646F72615D +:103920007A753F00417265206C65667420616E6433 +:10393000207269676874205A7E6361727269616778 +:10394000657320616C6C2075703F00204C6173744E +:1039500020557064617465643A200056796265721E +:1039600074652065787472756465723A0043686F97 +:103970006F73652065787472756465723A00507271 +:103980006F73696D206F7465767265746520696404 +:103990006C65722061206D616E75616C6E65206F63 +:1039A00064737472616E74652066696C616D656EB6 +:1039B000742E00506C65617365206F70656E2069B0 +:1039C000646C657220616E642072656D6F7665202F +:1039D00066696C616D656E74206D616E75616C6C8D +:1039E000792E005A6D656E612075737065736E6116 +:1039F00021004368616E6765207375636365737347 +:103A000021005469736B207A205344005072696E10 +:103A1000742066726F6D205344005465706C6F742F +:103A20002E206B616C6962726163650054656D7014 +:103A30002E2063616C6962726174696F6E005A6BEB +:103A4000616C6962726F7661740043616C69627265 +:103A50006174650052657365742058595A206B6112 +:103A60006C6962722E0052657365742058595A2031 +:103A700063616C6962722E004B616C696272616392 +:103A8000652058595A0043616C69627261746520FF +:103A900058595A002042726F776E206F7574205209 +:103AA0006573657400426567696E2066696C6520A0 +:103AB0006C697374004B616C696272616365205854 +:103AC000595A206E65707265736E612E204C657652 +:103AD0007920707265646E6920626F64206D6F6317 +:103AE000207670726564752E0058595A2063616C97 +:103AF0006962726174696F6E20636F6D70726F6D51 +:103B0000697365642E204C6566742066726F6E74EE +:103B10002063616C6962726174696F6E20706F6995 +:103B20006E74206E6F7420726561636861626C658B +:103B30002E004B616C6962726163652058595A208E +:103B40006E65707265736E612E20507265646E6969 +:103B5000206B616C69627261636E6920626F647967 +:103B6000206D6F63207670726564752E0058595A07 +:103B70002063616C6962726174696F6E20636F6D3E +:103B800070726F6D697365642E2046726F6E74205B +:103B900063616C6962726174696F6E20706F696EC7 +:103BA0007473206E6F7420726561636861626C6506 +:103BB0002E004B616C6962726163652058595A200E +:103BC0007620706F7261646B752E20582F59206FAC +:103BD0007379206D69726E65207A6B6F73656E659F +:103BE0002E20446F627261207072616365210058FB +:103BF000595A2063616C6962726174696F6E2061E9 +:103C00006C6C2072696768742E20582F5920617877 +:103C100065732061726520736C696768746C7920C4 +:103C2000736B657765642E20476F6F64206A6F62DF +:103C300021004B616C6962726163652058595A209A +:103C40007620706F7261646B752E205A6B6F73658E +:103C50006E692062756465206175746F6D61746949 +:103C6000636B79207679726F766E616E6F207072F9 +:103C700069207469736B752E0058595A2063616C02 +:103C80006962726174696F6E20616C6C2072696721 +:103C900068742E20536B65772077696C6C206265A1 +:103CA00020636F72726563746564206175746F6DF3 +:103CB00061746963616C6C792E004B616C6962722E +:103CC0006163652058595A2073656C68616C612E78 +:103CD000204B616C69627261636E6920626F64205F +:103CE000706F646C6F7A6B79206E656E616C657A4B +:103CF000656E2E0058595A2063616C696272617456 +:103D0000696F6E206661696C65642E20426564206F +:103D100063616C6962726174696F6E20706F696E45 +:103D20007420776173206E6F7420666F756E642ED9 +:103D3000004B616C6962726163652058595A207644 +:103D400020706F7261646B752E20582F59206F732D +:103D500079206A736F75206B6F6C6D652E204772CA +:103D60006174756C756A69210058595A2063616CD9 +:103D70006962726174696F6E206F6B2E20582F59C3 +:103D80002061786573206172652070657270656E60 +:103D9000646963756C61722E20436F6E6772617423 +:103DA000756C6174696F6E7321004B616C6962722E +:103DB0006163652058595A2073656C68616C612E87 +:103DC000204E61686C65646E65746520646F206D5B +:103DD000616E75616C752E0058595A2063616C696B +:103DE00062726174696F6E206661696C65642E2011 +:103DF000506C6561736520636F6E73756C742074AD +:103E00006865206D616E75616C2E004B616C696236 +:103E1000726163652058595A2073656C68616C61E2 +:103E20002E204C65767920707265646E6920626F11 +:103E300064206D6F63207670726564752E205372F6 +:103E40006F766E656A7465207469736B61726E75E6 +:103E50002E0058595A2063616C6962726174696FEF +:103E60006E206661696C65642E204C656674206600 +:103E7000726F6E742063616C6962726174696F6ED7 +:103E800020706F696E74206E6F7420726561636854 +:103E900061626C652E004B616C69627261636520C2 +:103EA00058595A2073656C68616C612E2050726598 +:103EB000646E69206B616C69627261636E69206215 +:103EC0006F6479206D6F63207670726564752E2043 +:103ED00053726F766E656A7465207469736B617274 +:103EE0006E752E0058595A2063616C696272617454 +:103EF000696F6E206661696C65642E2046726F6E14 +:103F0000742063616C6962726174696F6E20706F96 +:103F1000696E7473206E6F7420726561636861628C +:103F20006C652E004B616C696272616365205A207A +:103F300073656C68616C612E2053656E736F7220BF +:103F40006A65206F64706F6A656E79206E65626F56 +:103F500020707265727573656E79206B6162656C35 +:103F60002E2043656B616D206E61207265736574F0 +:103F70002E00426564206C6576656C696E6720660C +:103F800061696C65642E2053656E736F722064697D +:103F900073636F6E6E6563746564206F7220636116 +:103FA000626C652062726F6B656E2E20576169745A +:103FB000696E6720666F722072657365742E004BA0 +:103FC000616C696272616365205A2073656C686117 +:103FD0006C612E2053656E736F72206E6573657011 +:103FE0006E756C2E205A6E6563697374656E612000 +:103FF000747279736B613F2043656B616D206E61F4 +:104000002072657365742E00426564206C65766568 +:104010006C696E67206661696C65642E2053656EFD +:10402000736F72206469646E742074726967676567 +:10403000722E20446562726973206F6E206E6F7AF3 +:104040007A6C653F2057616974696E6720666F728C +:104050002072657365742E004B616C6962726163D6 +:1040600065205A2073656C68616C612E2053656E03 +:10407000736F72207365706E756C207072696C69F5 +:1040800073207679736F6B6F2E2043656B616D20A3 +:104090006E612072657365742E00426564206C65E4 +:1040A00076656C696E67206661696C65642E205365 +:1040B000656E736F722074726967676572656420DC +:1040C000746F6F20686967682E2057616974696E24 +:1040D0006720666F722072657365742E005A61687E +:1040E000726976616E692062656400426564204889 +:1040F000656174696E6700426564204F4B2E004213 +:10410000656420646F6E650056707261766F205B27 +:10411000756D5D00526967687420736964655B75CD +:104120006D5D00526573657400567A616475202078 +:104130005B756D5D00526561722073696465205B1B +:10414000756D5D004B6F72656B636520706F646C9D +:104150006F7A6B7900426564206C6576656C2063CC +:104160006F727265637400566C65766F20205B75A4 +:104170006D5D004C6566742073696465205B756DC8 +:104180005D00567072656475205B756D5D004672EA +:104190006F6E7420736964655B756D5D0042656464 +:1041A000004E656E69207A6B616C6962726F766130 +:1041B0006E6120767A64616C656E6F7374207472C0 +:1041C00079736B79206F64207469736B6F766520E7 +:1041D000706F646C6F7A6B792E20506F737475708A +:1041E000756A74652070726F73696D20706F646C8E +:1041F00065206D616E75616C752C206B61706974E2 +:104200006F6C61205A6163696E616D652C206F640B +:10421000737461766563204E6173746176656E694F +:10422000207072766E69207672737476792E0044EF +:10423000697374616E6365206265747765656E206D +:10424000746970206F6620746865206E6F7A7A6C6E +:104250006520616E642074686520626564207375F2 +:10426000726661636520686173206E6F7420626599 +:10427000656E20736574207965742E20506C6561BD +:10428000736520666F6C6C6F7720746865206D6154 +:104290006E75616C2C20636861707465722046696C +:1042A0007273742073746570732C20736563746902 +:1042B0006F6E204669727374206C61796572206339 +:1042C000616C6962726174696F6E2E00446F6C611B +:1042D00064656E69206F7379205A004C6976652099 +:1042E00061646A757374205A0041646A75737469F5 +:1042F0006E67205A004175746F20686F6D650041CC +:1043000075746F5A61766564656E692066696C2E96 +:10431000004175746F4C6F61642066696C616D65F6 +:104320006E74004175746F6D617469636B65207A9A +:1043300061766164656E692066696C616D656E7435 +:104340007520646F737475706E6520706F757A6513 +:1043500020707269207A61706E7574656D2066696F +:104360006C616D656E742073656E7A6F72752E2E3A +:104370002E004175746F6C6F6164696E67206669A9 +:104380006C616D656E7420617661696C61626C65EB +:10439000206F6E6C79207768656E2066696C616D40 +:1043A000656E742073656E736F7220697320747507 +:1043B000726E6564206F6E2E2E2E004175746F6DC7 +:1043C000617469636B65207A61766164656E6920EA +:1043D00066696C616D656E747520616B7469766E6B +:1043E000692C20737469736B6E65746520746C61DD +:1043F0006369746B6F206120766C6F7A74652066D8 +:10440000696C616D656E742E2E2E004175746F6C33 +:104410006F6164696E672066696C616D656E74209A +:104420006973206163746976652C206A75737420E2 +:10443000707265737320746865206B6E6F622061A3 +:104440006E6420696E736572742066696C616D6557 +:104450006E742E2E2E00207C20417574686F723A87 +:10446000200056736500416C6C0041637469766589 +:104470002045787472756465723A2000AC0F9A0F0B +:10448000C20FCA0FD20FDB0FE30F0010EB0F191092 +:1044900015101D1025103E102D1069104F10BF1063 +:1044A00087101D11FD10A1114011AF120412A613A7 +:1044B00063134C14F313FF149314AA155E153E16E0 +:1044C000FB158F167B16FD16A316941745170218B9 +:1044D000DE17371822185A184B18A51877183019F4 +:1044E000D31890199719B119A719E519BD191A1AF6 +:1044F000081A2B1A501A3C1A831A621AB41AA31AF1 +:10450000D61AC41AE91A021BFC1A071B191B2B1B0B +:10451000841B721BA81B961BF51BBA1B421C2D1C6F +:104520005F1C571C731C6B1C891C7B1C941C9E1CE1 +:10453000CE1CB21CF71CE91C1C1D0A1D3B1D2D1DA9 +:10454000561D491D741D671DAA1D811DDE1DD51D2B +:10455000F61DE41D1A1E081E3E1E2C1E601E501E57 +:104560006E1E8D1E7E1EAB1E9A1EC91EBA1EE81E32 +:10457000D61E031FF91E1B1F0C1F321F281F3A1FB8 +:104580005B1F4C1F751F661F841FA01F911FAE1F4E +:10459000B41FD81FC61FF11FE91F0420FA1F2320D4 +:1045A0001120442033205F204D207D207120A02049 +:1045B0008B20B120C220D220DB20F820E3201B2159 +:1045C00009213F212D216321512187217521AA2114 +:1045D0009921CE21BC21F221E02116220422282299 +:1045E0003F2235224F224B225422782266229C22DF +:1045F0008A22AE22C022D322E922DB22F62208231D +:104600001C233A232C234823552363237123872318 +:104610009223AF23A823C723B623E523D623FF2362 +:10462000F4230C243E24152488246624BE24AD24BF +:10463000E124D024FE24F3241A250A253525272534 +:10464000432589255825E725B225272612264E26FB +:104650003A266C26622674268B267C26BD26972653 +:10466000F626DD260E274D27252782277227A42729 +:104670009027CA27B827EA27DC270A28FA279D2887 +:104680001628332936293A295229432964295D29D4 +:104690007E296B29A3299229B829B529D029BB29BC +:1046A000FB29E029262A1B2A382A2D2A4A2A3F2AB2 +:1046B000512AB02A5A2A672B0F2BD52BC82BDF2B58 +:1046C000F82BF12B092C012C202C162C382C2C2CFF +:1046D000492C442C782C4F2CB82CA82CD62CC72C29 +:1046E000DB2CF22C092D202D502D392D662D452E39 +:1046F0005C2E732E9D2E8A2EBA2EAA2EDB2EC82E4D +:10470000FA2EEC2E0E2F082F212F142F392F312F98 +:10471000412F4A2F6B2F5B2F872F7B2FA02F932F9B +:10472000AC2FBF2FBA2FE92FC52F153009303030ED +:1047300023304E30413068305A3080307630D730B8 +:10474000883059312031AE319C31D231C031F6310F +:10475000E4311A3208323E322C3262325032743234 +:10476000F63283326B336433833370339C33973345 +:10477000C133A233EA33E133F53307343A341A3420 +:10478000AD345C340F35FE3442351F357C356B3526 +:104790009B358C35B735A535DB35C935ED35F83565 +:1047A000013611368736B136DB36F9362C374B37C2 +:1047B00065378B3784379237A037A537AF37BE3789 +:1047C000D637C7370138E737203819383538263813 +:1047D0003D38533848386F386638C438783824390B +:1047E000FE384B396D395B39B3397E39F239E339EB +:1047F0000C3A023A2C3A1A3A4A3A3E3A663A543A53 +:10480000863A783A943AA53AE93AB53A6D3B323B62 +:10481000EF3BB23B793C323CF43CBA3C693D313D24 +:10482000D83DAA3D523E0B3EE43E963E723F243FA9 +:104830000840BF3F9A405840EB40DD40FF40F74002 +:1048400014410841234135412941554144417341B7 +:1048500067418E4182419D412F42A141DB42CC42C2 +:10486000E942F5421143FF42724323430B44BB43E9 +:104870005644664462446A44457872656D652073A7 +:1048800070616E206F6620746865205A2076616CB6 +:10489000756573210043616C63756C6174696F6E3B +:1048A000206F6620746865206D616368696E65209D +:1048B000736B657720616E64206F66667365742024 +:1048C0006661696C65642E00203C20005741524EA1 +:1048D000494E473A2046726F6E7420706F696E744D +:1048E000206E6F7420726561636861626C652E2052 +:1048F0005920636F6F7264696E6174653A00004994 +:104900007465726174696F6E3A200000004041FF67 +:10491000FFBF4000005C43FFFFBF4000005C43005E +:10492000004643000040410000464300004041FF74 +:10493000FFBF400000E442FFFFBF4000005743FFBD +:10494000FFBF40000057430000CC420000E442009B +:1049500000CC42000040410000CC42000040410039 +:104960000046430000E44200004643000057430075 +:10497000004643062833D036C23E013F154132423D +:104980003B43F2443B45F24622473B48F2493B4A0F +:10499000F05898590C5A085B0C5C086110679B6EC4 +:1049A0002271077208FF095A0D000EFF19045E08F4 +:1049B00020642B6D322FFF45303A20005A3A2000F8 +:1049C000593A2000583A20004D53312C4D53322093 +:1049D00050696E730A005A00205A3A005900205953 +:1049E0003A00580020583A0024F4D43050C38E20A6 +:1049F000C2A24017828B7011127A910D816CD90A74 +:104A0000A861E108C7586607615143061E4B5D0562 +:104A1000C145A7041A411104093D980371393103B6 +:104A20004036DB0265339102D4305402802E1D02E1 +:104A3000632CEE01752AC501B028A0011027810161 +:104A40008F2564012B244B01E0223401AC211F018E +:104A50008D200D01801FFC00841EED00971DDF00DE +:104A6000B81CD200E61BC600201BBC00641AB200B2 +:104A7000B219A8000A19A0006A189900D11791006C +:104A800040178B00B516840031167E00B3157900EF +:104A90003A157300C7146F0058146A00EE136600CD +:104AA0008813630025135E00C7125B006C12570069 +:104AB00015125400C111510070114F0021114B000B +:104AC000D61049008D1047004610440002104200E5 +:104AD000C00F4000800F3E00420F3C00060F3B001D +:104AE000CB0E3800930E37005C0E3500270E3400D5 +:104AF000F30D3200C10D3100900D3000600D2E001D +:104B0000320D2D00050D2C00D90C2B00AE0C290008 +:104B1000850C29005C0C2700350C27000E0C2600A4 +:104B2000E80B2400C40B2400A00B23007D0B230002 +:104B30005A0B2100390B2100180B2000F80A1F0026 +:104B4000D90A1E00BB0A1E009D0A1D00800A1D0016 +:104B5000630A1C00470A1B002C0A1B00110A1A00DA +:104B6000F7091A00DD091900C4091900AB09190079 +:104B7000920917007B091800630917004C091600F9 +:104B800036091600200916000A091500F508150057 +:104B9000E0081400CC081400B8081400A40814009D +:104BA000900813007D0812006B08130058081200CB +:104BB00046081200340811002308110012081100E1 +:104BC00001081100F0071000E0071000D0071000E6 +:104BD000C0071000B0070F00A107100091070E00DA +:104BE00083070F0074070F0065070E0057070E00BC +:104BF00049070E003B070D002E070E0020070D0091 +:104C000013070D0006070D00F9060C00ED060D0058 +:104C1000E0060C00D4060C00C8060C00BC060C0014 +:104C2000B0060C00A4060B0099060C008D060B00C4 +:104C300082060B0077060B006C060B0061060A006B +:104C400057060B004C060A0042060A0038060A0006 +:104C50002E060A0024060A001A060A001006090099 +:104C600007060A00FD050900F4050900EB05090027 +:104C7000E2050900D9050900D0050900C7050900AA +:104C8000BE050900B5050800AD050800A505090029 +:104C90009C050800940508008C05080084050800A0 +:104CA0007C050800740508006C0507006505080010 +:104CB0005D050700560508004E050700470507007B +:104CC0004005080038050700310507002A050700E0 +:104CD000230507001C050600160507000F05070041 +:104CE0000805060002050700FB040600F50407009E +:104CF000EE040600E8040600E2040700DB040600F8 +:104D0000D5040600CF040600C9040600C30406004B +:104D1000BD040600B7040600B1040500AC0406009B +:104D2000A6040600A00405009B04060095040500E7 +:104D3000900406008A04050085040500800406002E +:104D40007A04050075040500700405006B04050075 +:104D500066040500610405005C04050057040500B5 +:104D6000520405004D0405004804050043040500F5 +:104D70003E0404003A040500350405003004040034 +:104D80002C04050027040400230405001E0404006D +:104D90001A04040016040500110404000D040400A4 +:104DA000090405000404040000040400FC030400DA +:104DB000F8030400F4030400F0030400EC0304000F +:104DC000E8030400E4030400E0030400DC0304003F +:104DD000D8030400D4030400D0030400CC0304006F +:104DE000C8030300C503030024F404D9201BC40C2A +:104DF0005C0E9804C4095F0265077101F405F900AF +:104E0000FB04B30048048700C10369005803550040 +:104E100003034500BE023A008402310053022A0017 +:104E20002902250004022000E4011C00C801190029 +:104E3000AF011700980114008401130071011000E4 +:104E40006101100051010E0043010D0036010B00FD +:104E50002B010B0020010B00150109000C010900BA +:104E600003010800FB000800F3000800EB00070046 +:104E7000E4000600DE000600D8000600D2000600AE +:104E8000CC000500C7000500C2000500BD000400FD +:104E9000B9000400B5000400B1000400AD00040036 +:104EA000A9000400A5000300A20003009F00040065 +:104EB0009B0003009800030095000200930003008C +:104EC000900003008D0002008B00030088000200A8 +:104ED0008600020084000300810002007F000200BF +:104EE0007D0002007B0002007900020077000100D3 +:104EF00076000200740002007200010071000200DE +:104F00006F0002006D0001006C0002006A000100E9 +:104F100069000200670001006600010065000100F1 +:104F200064000200620001006100010060000100F5 +:104F30005F0002005D0001005C0001005B000100F9 +:104F40005A000100590001005800010057000100FB +:104F500056000100550001005400010053000000FC +:104F600053000100520001005100010050000100F7 +:104F70004F0001004E0000004E0001004D000100F6 +:104F80004C0001004B0000004B0001004A000100F2 +:104F900049000100480000004800010047000100EE +:104FA00046000000460001004500000045000100E9 +:104FB00044000100430000004300010042000000E3 +:104FC00042000100410000004100010040000100DA +:104FD0003F0000003F0001003E0000003E000100D5 +:104FE0003D0000003D0001003C0000003C000000CE +:104FF0003C0001003B0000003B0001003A000000C3 +:105000003A000100390000003900010038000000BA +:1050100038000000380001003700000037000100B0 +:1050200036000000360000003600010035000000A8 +:10503000350000003500010034000000340000009D +:105040003400010033000000330000003300010091 +:105050003200000032000000320001003100000088 +:10506000310000003100010030000000300000007D +:10507000300001002F0000002F0000002F00000072 +:105080002F0001002E0000002E0000002E00010065 +:105090002D0000002D0000002D0000002D0001005B +:1050A0002C0000002C0000002C0000002C0001004F +:1050B0002B0000002B0000002B0000002B00010043 +:1050C0002A0000002A0000002A0000002A00010037 +:1050D000290000002900000029000000290000002C +:1050E000290001002800000028000000280000001E +:1050F0002800000028000100270000002700000011 +:105100002700000027000000270001002600000003 +:1051100026000000260000002600000026000100F6 +:1051200025000000250000002500000025000000EB +:1051300025000000250001002400000024000000DC +:1051400024000000240000002400010023000000CF +:1051500023000000230000002300000023000000C3 +:1051600023000000230001002200000022000000B4 +:1051700022000000220000002200000022000100A6 +:10518000210000002100000021000000210000009B +:10519000210000002100000021000100200000008B +:1051A000200000002000000020000000200000007F +:1051B0002000000020000000200001001F0000006F +:1051C0001F0000001F0000001F0000001F00000063 +:1051D0001F0000001F0001001E0000001E00000054 +:1051E0001E0000001E0000004572723A204D494E1C +:1051F00054454D50204245440054656D70657261C0 +:1052000074757265206865617465642062656420E8 +:105210007377697463686564206F66662E204D49F4 +:105220004E54454D502074726967676572656420FD +:1052300021004572723A204D415854454D5020424C +:1052400045440054656D70657261747572652068BF +:10525000656174656420626564207377697463684E +:105260006564206F66662E204D415854454D502090 +:105270007472696767657265642021004572723ACD +:10528000204D494E54454D50003A20457874727572 +:10529000646572207377697463686564206F6666FD +:1052A0002E204D494E54454D5020747269676765F4 +:1052B0007265642021004572723A204D4158544570 +:1052C0004D50003A2045787472756465722073778A +:1052D000697463686564206F66662E204D4158547A +:1052E000454D5020747269676765726564202100BE +:1052F00020484F54454E4420544845524D414C207F +:1053000052554E4157415900204845415442454469 +:1053100020544845524D414C2052554E4157415919 +:1053200000544845524D414C2052554E4157415929 +:105330000042454420544845524D414C2052554E60 +:10534000415741590020544845524D414C20525537 +:105350004E4157415920282050524548454154203C +:10536000484F54454E44290020544845524D414C25 +:105370002052554E4157415920282050524548450A +:105380004154204845415442454429005052454823 +:10539000454154204552524F5200424544205052FC +:1053A0004548454154204552524F520050494420EF +:1053B0004175746F74756E652066696E6973686592 +:1053C00064212050757420746865206C61737420AA +:1053D0004B702C204B6920616E64204B6420636FFE +:1053E0006E7374616E74732066726F6D2061626F8C +:1053F000766520696E746F20436F6E66696775729B +:105400006174696F6E2E6800504944204175746F55 +:1054100074756E65206661696C6564212074696DC0 +:10542000656F75740020403A00543A00423A0050CB +:105430004944204175746F74756E65206661696CAE +:105440006564212054656D706572617475726520A4 +:10545000746F6F206869676800204B643A200020F1 +:105460004B693A2000204B703A200020436C617356 +:105470007369632050494420002054753A2000206D +:105480004B753A2000206D61783A2000206D696EDE +:105490003A200020643A200020626961733A2000BB +:1054A0001000C90210012C014001220170011801F5 +:1054B000B0010E01F00104015002FA00B002F00048 +:1054C0003003E600D003DC009004D2007005C80071 +:1054D000A006BE000008B400B009AA00D00BA000CE +:1054E000600E960060118C00001582002019780073 +:1054F000C01D6E00A0226400B0275A00902C5000FE +:1055000000314600E0343C0010383200903A280068 +:10551000603C1E00A03D1400803E0A00203F0000B9 +:1055200070012C0190012701B0012201C0011D0171 +:10553000F00118011002130130020E01600209018E +:1055400090020401C002FF000003FA004003F500CE +:105550008003F000D003EB002004E6007004E100BB +:10556000E004DC004005D700C005D2004006CD00B5 +:10557000D006C8008007C3003008BE00F008B9009C +:10558000C009B400B00AAF00B00BAA00D00CA5004F +:10559000000EA000500F9B00C0109600501291000A +:1055A00000148C00C0158700B0178200B0197D0070 +:1055B000D01B7800001E730040206E00902269000E +:1055C000F024640040275F0090295A00E02B55002A +:1055D000102E500020304B0010324600E0334100C6 +:1055E00090353C001037370070383200A0392D005C +:1055F000B03A2800A03B2300603C1E00103D19007B +:10560000903D1400103E0F00703E0A00C03E0500A1 +:10561000003F0000436F6E74696E75652077697492 +:105620006820616E6F7468657220626F7764656E62 +:105630003F0053746174653A2000473736004D349B +:1056400035205A004D3435004738300020003E00E8 +:105650003E0020003E003E003E003E0020003E0096 +:105660003E00200000002D2D2D2D2D2D2D2D2D2D1A +:105670002D2D2D2D2D2D2D2D2D2D004E2F41004E5C +:105680002F41006D6D00004D373031004D37303205 +:1056900000496E76616C6964205049442063616CF6 +:1056A0002E20726573756C74732E204E6F74207388 +:1056B000746F72656420746F20454550524F4D2EB3 +:1056C000004D353030004731205A313520463135D4 +:1056D00030300047393100473120583530205931BA +:1056E00039302045302046373030300047393000DF +:1056F0004D373032004D3730322043004D37303295 +:105700002055004D373032004731205A3135204680 +:10571000313530300047393100473120583530209D +:1057200059313930204530204637303030004D383F +:105730003300473930004D3834004D313034205378 +:1057400030004D383400473120583130205931383D +:1057500030204634303030004731205A3130204636 +:10576000313330302E303030004D31343020533032 +:10577000004D313034205330004D31303700473147 +:1057800020452D302E303735303020463231303004 +:105790002E303030303000473120583530205935E8 +:1057A000352045332E3632373733004731205832D3 +:1057B0003030205935352045302E343933383600D5 +:1057C00047312058323030205937352045332E3676 +:1057D000323737330047312058353020593735209C +:1057E00045302E3439333836004731205835302093 +:1057F0005939352045332E3632373733004731207B +:1058000058323030205939352045302E343933382C +:10581000360047312058323030205931313520455B +:10582000332E363237373300473120583530205940 +:105830003131352045302E34393338360047312068 +:1058400058353020593133352045332E36323737ED +:10585000330047312058323030205931333520451C +:10586000302E363631373400473120583230302030 +:10587000593135352045322E3632373733004731EE +:1058800020583130302059313535204532004731EC +:105890002058373520593135352045322E350047CF +:1058A00031204631303830004731205835302059CA +:1058B000313535004731204634303030004D3230FC +:1058C00034205331303030004731205A302E3135BA +:1058D000302046373230302E3030300047312045CE +:1058E0002D312E35303030302046323130302E30B0 +:1058F00030303030004D38330047393000473231D6 +:10590000004739322045302E3000473120583130A1 +:10591000302E30204531322E352046313030302E79 +:1059200030004731205836302E302045392E302077 +:1059300046313030302E30004739322045302E305D +:105940000047323800473837004D31303920533264 +:105950003135004D31393020533630004D3134303F +:1059600020533630004D3130342053323135004D24 +:1059700031303700473930004731204531004D384C +:1059800032004731204531004D3833004D3130363B +:1059900020532564004D32323020532564003A20D4 +:1059A0000020202020202020202020202020202017 +:1059B0002020202000203A2000202020202020200D +:1059C00020202020202020202020202020002020F7 +:1059D00020202020202020202020200025730020AF +:1059E00020002D2D3A2D2D002000200020004C00FD +:1059F0002020002046002D2D2D003E5553420053FF +:105A000044002D2D002520202020200020200020D3 +:105A100020000120002020202D2D2D200020205AA4 +:105A2000002020000120004D36303000464C455803 +:105A3000202D20203234302F3530005050202020AF +:105A40002D20203235342F3130300048495053203A +:105A50002D20203232302F3130300041425320206F +:105A60002D20203235352F31303000504554202044 +:105A70002D20203233302F383500504C4120202D3E +:105A800020203231352F3630006661726D20202D96 +:105A900020203235302F3430004D3234004D323337 +:105AA00020257300052E2E00580059005A00457815 +:105AB00074727564657200473939004469736162B4 +:105AC0006C65206661726D206D6F64653F0044698E +:105AD0007361626C65206661726D206D6F64650034 +:105AE0004661726D206E756D626572004D383400CE +:105AF00063757272656E745F706F733A006375726E +:105B000072656E745F706F735F696E69743A004D91 +:105B10003834004731205A31350047323820570099 +:105B20005A30005A3100593000593100583000586D +:105B30003100456E642073746F707320646961670F +:105B4000004D3434004732382057001B5B303B3166 +:105B50004842656C74207374617475731B5B313BD0 +:105B60003248582025641B5B323B3248592025645B +:105B7000001B5B323B314850494E44413A202020C3 +:105B80002025642563001B5B303B31484E6F7A7AD9 +:105B90006C653A202020256425631B5B313B31482E +:105BA0004265643A20202020202025642563001BC4 +:105BB0005B313B31485057523A202020202020258D +:105BC000642E2530316456002D2D2D2D2D2D2D2D9B +:105BD0002D2D2D2D00466C6173684169722049504E +:105BE00020416464723A002D2D2D2D2D2D2D2D2D4B +:105BF0002D2D2D00466562202031203230313800B5 +:105C00002D2D2D2D2D2D2D2D2D2D2D2D00453344BC +:105C1000763666756C6C0052414D426F31336100CF +:105C2000315F37356D6D5F4D4B3235002D2D2D2D8C +:105C30002D2D2D2D2D2D2D2D00207265706F2050B6 +:105C40007275736133442F4D4B330020332E312E48 +:105C5000312D5243352D313531004669726D7761F2 +:105C600072653A0025642E25642E25642E25640075 +:105C70004661726D206E756D626572000072630020 +:105C80006265746100616C706861006465760050E3 +:105C9000525553413344465700332E312E312D5245 +:105CA00043350000000A0B02090C0D0E080703041F +:105CB00001000000000000000000000000000000E3 +:105CC00000000000000000000000000000000012C2 +:105CD00011100000000000000000000000000000A3 +:105CE00000000000000000000000000000000000B4 +:105CF0000000000000000000000102102020080841 +:105D0000102040102040800201020108040201011D +:105D10000204081020408080402010080402018006 +:105D2000040201804020100804020108040201015D +:105D30000204081020408001020408102040801056 +:105D40000804088010204004408010204004800592 +:105D5000050505070508080808020202020A0A08E4 +:105D6000080404040401010101010101010303030A +:105D70000303030303040707070C0C0C0C0C0C0CA7 +:105D80000C0202020206060606060606060B0B0BAE +:105D90000B0B0B0B0B07070A0A0A0A0A0A05050573 +:105DA0000404040808000020002300260029002C19 +:105DB000002F00320000010000030106010901006C +:105DC000002200250028002B002E003100340002A4 +:105DD000010000050108010B01000021002400273B +:105DE000002A002D003000330001010000040107EB +:105DF000010A01024E414E494E495459494E46CD81 +:105E0000CCCC3D0AD7233C17B7D13877CC2B329571 +:105E100095E6241FB14F0A000020410000C842004F +:105E2000401C4620BCBE4CCA1B0E5AAEC59D740019 +:105E3000407A10F35A00A0724E18090010A5D4E859 +:105E40000000E87648170000E40B54020000CA9AEC +:105E50003B000000E1F5050000809698000000403E +:105E6000420F000000A08601000000102700000083 +:105E700000E803000000006400000000000A0000C9 +:105E80000000000100000000002C76D888DC674F7D +:105E90000823DFC1DFAE59E1B1B796E5E3E453C6AD +:105EA0003AE651997696E8E6C28426EB898C9B62A5 +:105EB000ED407C6FFCEFBC9C9F40F2BAA56FA5F44F +:105EC00090055A2AF75C936B6CF9676DC11BFCE077 +:105ED000E40D47FEF520E6B500D0ED902E030094CA +:105EE0003577050080841E080000204E0A0000005F +:105EF000C80C333333330F986E12831141EF8D2169 +:105F000014893BE65516CFFEE6DB18D1844B381BCF +:105F1000F77C1D901DA4BBE424203284725E228194 +:105F200000C9F124ECA1E53D2700349425BCC3ED64 +:105F30005801659411241FBECFEFD1E2DEBFCDBF63 +:105F400000E00CBF17E0A0E0B2E0ECE7F7E603E00A +:105F50000BBF02C007900D92AC31B107D9F729E110 +:105F6000ACE1B7E001C01D92A635B207E1F71FE52D +:105F7000C2E3DFE500E006C022970109FE010BBF86 +:105F80000F9472A9CA32D10780E00807A9F70F94CD +:105F90004AA30D94ACB30C940000109249191092CE +:105FA00038194091391950913A19EBE3F9E180E041 +:105FB00090E061E070E09B01082E02C0220F331FC9 +:105FC0000A94E2F724233523232B11F41182108243 +:105FD000019632968730910571F7089581E593E037 +:105FE0000F94B7AD10923A1910923919EAE7F0E020 +:105FF000808187608083ACE7B0E08C9180648C9373 +:106000008081806880838FE580937E0082E080932A +:106010007D00C3CF282F2F7090917B0083FF02C09B +:10602000986001C0977F90937B0090917C00822FB5 +:106030008770987F892B80937C000895982F21E0AA +:1060400030E080E0A9014F755270452B29F04FEFE9 +:10605000490F911102C00895492F220F331F8F5FFE +:10606000803111F0942FEECF0895CF93C09149194C +:10607000C7FF36C0CF70EC2FF0E021E030E00C2EEF +:1060800002C0220F331F0A94E2F740913919509150 +:106090003A1924233523232B71F440917800509131 +:1060A0007900EE0FFF1FE55CF64E20813181240F51 +:1060B000351F31832083C73010F4CF5F0BC0809130 +:1060C00038198F5F80933819803118F00F94CB21E5 +:1060D00064DFC0E08C2FB2DF9DDFC09349190AC096 +:1060E00080917A00806480937A0080914919806859 +:1060F00080934919CF9108959091A107911107C0FC +:106100009091C00095FFFCCF8093C6000895913018 +:1061100031F49091C80095FFFCCF8093CE00089594 +:10612000CF92DF92EF92FF920F931F93CF93DF9363 +:106130008C01D42EC62FD72FD60EDC1671F1F801A4 +:10614000E080F180C990C7010F945DB0C816F1F0EE +:106150006C2DC7010F948DB0C7010F945DB08C15E5 +:10616000A9F0E3E3F7E08491EF01882329F0C4DF8D +:106170002196FE018491F9CF8AE0DF91CF911F91A2 +:106180000F91FF90EF90DF90CF90B6CFF801808114 +:106190009181019691838083D0CFDF91CF911F9120 +:1061A0000F91FF90EF90DF90CF900895EF92FF92C4 +:1061B0000F931F93CF93DF931F92CDB7DEB78C0160 +:1061C0007B01460FF8018081918149830F945DB076 +:1061D000F70181937F01F80180819181019691837C +:1061E000808349814E11EECF0F90DF91CF911F91A7 +:1061F0000F91FF90EF9008950F931F93CF93DF932C +:10620000CDB7DEB72C970FB6F894DEBF0FBECDBF6B +:106210008C0140E350E360E370E04D835E836F8365 +:1062200078879C878B8744E0BE016B5F7F4FCE01F0 +:106230000B9676DF40E160EF76E1CE010B9670DFE2 +:1062400040E160E077E1CE010B966ADF40E160EE6D +:1062500076E1CE010B9664DF44E068ED76E1CE0195 +:106260000B965EDF44E064ED76E1CE010B9658DFDD +:1062700044E06CED76E1CE010B9652DF44E060EC39 +:1062800076E1CE010B964CDF44E060E177E1CE0190 +:106290000B9646DF44E064EC76E1CE010B9640DFDE +:1062A00044E068EC76E1CE010B963ADF44E06CEC1A +:1062B00076E1CE010B9634DF44E060ED76E1CE016D +:1062C0000B962EDF4CE062E778E0CE010B9628DFDC +:1062D00044E06BE678E0CE010B9622DF44E06AEA08 +:1062E00072E0CE010B961CDF44E066EA72E0CE015C +:1062F0000B9616DF44E062EA72E0CE010B9610DFE7 +:1063000044E06AE972E0CE010B960ADF44E066E9F8 +:1063100072E0CE010B9604DF44E062E972E0CE0148 +:106320000B96FEDE80E290E09A87898742E0BE010C +:10633000675F7F4FCE010B96F3DE41E067E678E0C2 +:10634000CE010B96EDDE44E066E272E0CE010B96E4 +:10635000E7DE44E06EE172E0CE010B96E1DE44E060 +:1063600062E678E0CE010B96DBDE44E06EE578E095 +:10637000CE010B96D5DE44E06AE172E0CE010B96C9 +:10638000CFDE41E06EE878E0CE010B96C9DE44E056 +:1063900066E472E0CE010B96C3DE46E552E360E0B0 +:1063A00070E049835A836B837C831C870B8744E0AE +:1063B000BE016F5F7F4FCE010B96B2DEE3EFFBE0D5 +:1063C00084918F01882331F097DE0F5F1F4FF80112 +:1063D0008491F8CFE3E2F7E084918F01882331F0D4 +:1063E0008BDE0F5F1F4FF8018491F8CF8AE084DEC7 +:1063F0002C960FB6F894DEBF0FBECDBFDF91CF91C4 +:106400001F910F9108950F931F93CF93DF93C3EFC5 +:10641000DBE0FE0184918E01882331F06DDE0F5F99 +:106420001F4FF8018491F8CFE3E1F7E084918F01E9 +:10643000882331F061DE0F5F1F4FF8018491F8CFA0 +:106440008AE05ADEFE01849103EF1BE0882331F0DD +:1064500053DE0F5F1F4FF8018491F8CF4091F01683 +:106460005091F1166091F2167091F3168BE097E05F +:106470000E94E0434091F4165091F5166091F61693 +:106480007091F71688E097E00E94E0434091F8167B +:106490005091F9166091FA167091FB1685E097E01D +:1064A0000E94E0434091FC165091FD166091FE164B +:1064B0007091FF1682E097E00E94E0438AE01CDEC4 +:1064C000FE01849103EF1BE0882331F015DE0F5F9E +:1064D0001F4FF8018491F8CFE8EEF6E084918F0128 +:1064E000882331F009DE0F5F1F4FF8018491F8CF48 +:1064F0008AE002DEFE01849103EF1BE0882331F085 +:10650000FBDD0F5F1F4FF8018491F8CF409100171A +:106510005091011760910217709103178FED96E06B +:106520000E94E043409104175091051760910617AF +:10653000709107178CED96E00E94E0434091081798 +:106540005091091760910A1770910B1789ED96E029 +:106550000E94E04340910C1750910D1760910E1767 +:1065600070910F1786ED96E00E94E0438AE0C4DD4B +:10657000FE01849103EF1BE0882331F0BDDD0F5F46 +:106580001F4FF8018491F8CFE8EBF6E084918F017A +:10659000882331F0B1DD0F5F1F4FF8018491F8CFF0 +:1065A0008AE0AADDFE01849103EF1BE0882331F02D +:1065B000A3DD0F5F1F4FF8018491F8CF4091E016E3 +:1065C0005091E1166091E2167091E3168FEA96E021 +:1065D0000E9408444091E4165091E5166091E61639 +:1065E0007091E7168CEA96E00E9408444091E81604 +:1065F0005091E9166091EA167091EB1689EA96E0DF +:106600000E9408444091EC165091ED166091EE16F0 +:106610007091EF1686EA96E00E9408448AE06CDDED +:10662000FE01849103EF1BE0882331F065DD0F5FED +:106630001F4FF8018491F8CFE1E7F6E084918F01D4 +:10664000882331F059DD0F5F1F4FF8018491F8CF97 +:106650008AE052DDFE01849103EF1BE0882331F0D4 +:106660004BDD0F5F1F4FF8018491F8CF4091D81692 +:106670005091D9166091DA167091DB1688E696E093 +:106680000E94E0434091D4165091D5166091D616E1 +:106690007091D71685E696E00E94E0438AE02CDDF3 +:1066A000FE01849103EF1BE0882331F025DD0F5FAD +:1066B0001F4FF8018491F8CFE2EBF5E084918F0150 +:1066C000882331F019DD0F5F1F4FF8018491F8CF57 +:1066D0008AE012DDFE01849103EF1BE0882331F094 +:1066E0000BDD0F5F1F4FF8018491F8CF4091DC164E +:1066F0005091DD166091DE167091DF1689EA95E003 +:106700000E94E0434091C0165091C1166091C2169C +:106710007091C31686EA95E00E94E04340911017FD +:1067200050911117609112177091131783EA95E039 +:106730000E9408444091C4165091C5166091C61637 +:106740007091C71680EA95E00E94E0434091C81618 +:106750005091C9166091CA167091CB168DE995E0DB +:106760000E94E0434091CC165091CD166091CE1618 +:106770007091CF168AE995E00E94E0434091D016CF +:106780005091D1166091D2167091D31687E995E099 +:106790000E94E0438AE0B0DCFE01849103EF1BE03D +:1067A000882331F0A9DC0F5F1F4FF8018491F8CFE7 +:1067B000E5E8F5E084918F01882331F09DDC0F5FDF +:1067C0001F4FF8018491F8CF8AE096DCFE01849196 +:1067D00003EF1BE0882331F08FDC0F5F1F4FF801C0 +:1067E0008491F8CF409172085091730860917408B9 +:1067F000709175088CE795E00E94E043409176081F +:1068000050917708609178087091790889E795E050 +:106810000E94E04340917A0850917B0860917C0887 +:1068200070917D0886E795E00E94E0438AE064DC91 +:10683000FE01849103EF1BE0882331F05DDC0F5FE4 +:106840001F4FF8018491F8CFE8E6F5E084918F01BD +:10685000882331F051DC0F5F1F4FF8018491F8CF8E +:106860008AE04ADCFE01849103EF1BE0882331F0CB +:1068700043DC0F5F1F4FF8018491F8CF4091AA02CB +:106880005091AB026091AC027091AD028EE595E043 +:106890000E94E0436091A6027091A7028091A80235 +:1068A0009091A9020F94D222AB01BC018BE595E037 +:1068B0000E94E0436091A2027091A3028091A40221 +:1068C0009091A5020F94DE22AB01BC0188E595E012 +:1068D0000E94E0438AE010DCFE01849103EF1BE09C +:1068E000882331F009DC0F5F1F4FF8018491F8CF46 +:1068F000E2E4F5E084918F01882331F0FDDB0F5F46 +:106900001F4FF8018491F8CF8AE0F6DBFE018491F5 +:1069100003EF1BE0882331F0EFDB0F5F1F4FF8011F +:106920008491F8CF40919A0250919B0260919C0211 +:1069300070919D0288E395E00E94E0436091960289 +:106940007091970280919802909199020F94D222AF +:10695000AB01BC0185E395E00E94E04360919202A7 +:106960007091930280919402909195020F94DE228F +:10697000AB01BC0182E395E00E94E0438AE0BCDB0E +:10698000FE01849103EF1BE0882331F0B5DB0F5F3C +:106990001F4FF8018491F8CFEEEFF4E084918F015E +:1069A000882331F0A9DB0F5F1F4FF8018491F8CFE6 +:1069B0008AE0A2DBFE01849103EF1BE0882331F023 +:1069C0009BDB0F5F1F4FF8018491F8CF40912602A7 +:1069D00050912702609128027091290284EF94E07F +:1069E0000E94E04320E030E040E752E460911E0264 +:1069F00070911F0280912002909121020F9407A7AD +:106A0000AB01BC0181EF94E00E94E0434091620839 +:106A10005091630860916408709165088EEE94E06F +:106A20000E94E0438AE068DBFE01849103EF1BE0F3 +:106A3000882331F061DB0F5F1F4FF8018491F8CF9D +:106A4000E2ECF4E084918F01882331F055DB0F5F95 +:106A50001F4FF8018491F8CF8AE04EDBFE0184914C +:106A600003EF1BE0882331F047DB0F5F1F4FF80176 +:106A70008491F8CF40915E0850915F086091600862 +:106A80007091610888EB94E00E94E04320E030E0E0 +:106A900040E752E460911A0270911B0280911C023F +:106AA00090911D020F9407A7AB01BC0185EB94E008 +:106AB0000E94E0438AE020DBFE01849103EF1BE0AB +:106AC000882331F019DB0F5F1F4FF8018491F8CF55 +:106AD000EBE5F4E084918F01882331F00DDB0F5F4B +:106AE0001F4FF8018491F8CF8AE006DBFE01849104 +:106AF00003EF1BE0882331F0FFDA0F5F1F4FF8012F +:106B00008491F8CF4091670850E060E070E081E543 +:106B100094E00E9408448AE0EFDAFE01849103EFDA +:106B20001BE0882331F0E8DA0F5F1F4FF8018491F2 +:106B3000F8CF80918E08882339F1EEE3F4E0849158 +:106B40008F01882331F0D8DA0F5F1F4FF80184914D +:106B5000F8CF8AE0D1DAFE01849103EF1BE08823AD +:106B600031F0CADA0F5F1F4FF8018491F8CF4091DE +:106B7000460250914702609148027091490284E3B5 +:106B800094E00E94E0430BC0E8E1F4E08491EF015F +:106B9000882329F0B1DA2196FE018491F9CF8AE0A9 +:106BA000DF91CF911F910F91A7CAAF92BF92CF9261 +:106BB000DF92EF92FF920F931F93CF93DF93CDB7A6 +:106BC000DEB7E0970FB6F894DEBF0FBECDBF80E111 +:106BD000ECEBF2E0DE01919601900D928A95E1F7DF +:106BE00080E1ECECF2E0DE01519601900D928A9585 +:106BF000E1F780E1ECEDF2E0DE01119601900D92FB +:106C00008A95E1F76E0181E2C80ED11C80EFE82E73 +:106C100086E1F82E8E010F5E1F4F60E077E1AE0136 +:106C20004F5F5F4F90EEA92E96E1B92E20E030E045 +:106C3000F60181919191A191B1916F01F701819339 +:106C40009193A193B1937F01F80181919191A191C9 +:106C5000B1918F01FB0181939193A193B193BF01F6 +:106C6000FA0181919191A191B191AF01F5018193C7 +:106C70009193A193B1935F012F5F3F4F2430310572 +:106C8000B9F60F94F30380E090E4ACE9B4E48093A8 +:106C9000D8169093D916A093DA16B093DB1680938A +:106CA000D4169093D516A093D616B093D7161092FB +:106CB000DC161092DD161092DE161092DF1680E2BE +:106CC0009EE4A0E0B0E08093101790931117A0937A +:106CD0001217B09313171092C0161092C11610928B +:106CE000C2161092C31680E090E0A0E2B1E4809357 +:106CF000C4169093C516A093C616B093C71680937A +:106D0000C8169093C916A093CA16B093CB168DECF3 +:106D10009CECACECBEE38093CC169093CD16A09384 +:106D2000CE16B093CF1680E090E0A0E2B0E480935E +:106D3000D0169093D116A093D216B093D31610927A +:106D40007A0810927B0810927C0810927D081092AD +:106D500076081092770810927808109279081092AD +:106D600072081092730810927408109275088DE3DF +:106D70009AE0A1E8B1E48093AA029093AB02A093B9 +:106D8000AC02B093AD026DEC7CEC84E99FE30F9410 +:106D9000CC226093A6027093A7028093A8029093DE +:106DA000A90265E87BEE80E692E40F94D822609316 +:106DB000A2027093A3028093A4029093A5020F9461 +:106DC000A71480E090E0A0E8BFE380939E02909338 +:106DD0009F02A093A002B093A1021092670880E0E6 +:106DE00090E0A0E4B0E48093260290932702A09361 +:106DF0002802B093290240E050E064E372E440933B +:106E00001E0250931F026093200270932102109281 +:106E1000620810926308109264081092650810923C +:106E20005E0810925F08109260081092610840E0BE +:106E300050E060E071E440931A0250931B026093AB +:106E40001C0270931D0210928E088093460290934C +:106E50004702A0934802B09349020E94F756E3EF1D +:106E6000FBE084918F01882331F046D90F5F1F4FDB +:106E7000F8018491F8CFECEDF3E084918F01882341 +:106E800031F03AD90F5F1F4FF8018491F8CF8AE0B3 +:106E9000E0960FB6F894DEBF0FBECDBFDF91CF9165 +:106EA0001F910F91FF90EF90DF90CF90BF90AF9028 +:106EB00023C90F931F93CF93DF93CDB7DEB72C97E2 +:106EC0000FB6F894DEBF0FBECDBF8C019C878B87B9 +:106ED00046E552E360E070E049835A836B837C832C +:106EE00044E0BE016B5F7F4FCE010B965FD943E05C +:106EF00050E0BE016B5F7F4FCE0101960F9414AD41 +:106F0000892B09F009C140E160EF76E1CE010B96D3 +:106F10004DD940E160E077E1CE010B9647D940E1E1 +:106F200060EE76E1CE010B9641D90F94F30344E075 +:106F300068ED76E1CE010B9639D944E064ED76E157 +:106F4000CE010B9633D944E06CED76E1CE010B9681 +:106F50002DD944E060EC76E1CE010B9627D944E0D0 +:106F600060E177E1CE010B9621D944E064EC76E153 +:106F7000CE010B961BD944E068EC76E1CE010B966E +:106F800015D944E06CEC76E1CE010B960FD944E0C4 +:106F900060ED76E1CE010B9609D920E030E040E2C9 +:106FA00051E46091C4167091C5168091C6169091F7 +:106FB000C7160F9435A6181664F480E090E0A0E29E +:106FC000B1E48093C4169093C516A093C616B093EF +:106FD000C71620E030E040E251E46091C81670919D +:106FE000C9168091CA169091CB160F9435A6181623 +:106FF00064F480E090E0A0E2B1E48093C81690933E +:10700000C916A093CA16B093CB164CE062E778E09D +:10701000CE010B96CBD844E06BE678E0CE010B9620 +:10702000C5D844E06AEA72E0CE010B96BFD844E0CE +:1070300066EA72E0CE010B96B9D844E062EA72E0EB +:10704000CE010B96B3D844E06AE972E0CE010B960C +:10705000ADD844E066E972E0CE010B96A7D844E0D3 +:1070600062E972E0CE010B96A1D842E0BE01675FF3 +:107070007F4FCE010B969AD841E067E678E0CE01CB +:107080000B9694D844E066E272E0CE010B968ED85F +:1070900044E06EE172E0CE010B9688D844E062E6EF +:1070A00078E0CE010B9682D844E06EE578E0CE0120 +:1070B0000B967CD844E06AE172E0CE010B9676D85C +:1070C00041E06EE878E0CE010B9670D844E066E4CB +:1070D00072E0CE010B966AD80F94A714E3EFFBE0A1 +:1070E00084918F01882331F007D80F5F1F4FF8017B +:1070F0008491F8CFEEEFF3E084918F01882339F08B +:107100000E947C300F5F1F4FF8018491F7CF8AE017 +:107110000E947C3091E014C048DDC8010F945DB03E +:107120008F3F69F4C80101960F945DB08F3F39F429 +:10713000C80102960F945DB091E08F3F09F090E096 +:10714000892F2C960FB6F894DEBF0FBECDBFDF910E +:10715000CF911F910F910895CF93DF93EC0160E0E1 +:107160008E810F947F9D81E090E00F94C19B61E040 +:107170008E810F947F9D81E090E00F94C19B60E031 +:107180008E810F947F9D84E690E0DF91CF910D94E6 +:10719000C19BCF92DF92EF92FF920F931F93CF93F9 +:1071A000DF937C01C0E0D0E0C62ED12C87010C0F0C +:1071B0001D1F61E0F80187810F94469DB6010C2EDA +:1071C00002C0759567950A94E2F76170F8018781AE +:1071D0000F947F9D2196C430D10541F7C701DF91FF +:1071E000CF911F910F91FF90EF90DF90CF90B4CF90 +:1071F000CF92DF92EF92FF920F931F93CF93DF9383 +:107200007C01C0E0D0E0C62ED12C87010C0F1D1FE1 +:1072100061E0F80187810F94469DB6010C2E02C0F3 +:10722000759567950A94E2F76170F80187810F946C +:107230007F9D2196C830D10541F7C701DF91CF91DD +:107240001F910F91FF90EF90DF90CF9085CF1F930C +:10725000CF93DF93EC01162F642F8C810F947F9DC9 +:107260008D818F3F19F060E00F947F9D8F85612F96 +:1072700084FF05C0CE01DF91CF911F91B9CF70E09F +:1072800084E0759567958A95E1F7CE0182DF612FDD +:10729000CE01DF91CF911F917CCF40E0D8CF61E04C +:1072A000FCDF80E496E00D94C19B62E0F6DF80E4B1 +:1072B00096E00D94C19BCF93DF93CDB7DEB72897AF +:1072C0000FB6F894DEBF0FBECDBF28E0ECEEF2E0C3 +:1072D000DE01119601900D922A95E1F7FC012389B8 +:1072E000421710F04FEF420FFE013196E40FF11DEF +:1072F000E40FF11D2081260F2068622F28960FB61B +:10730000F894DEBF0FBECDBFDF91CF91C6CFFC0199 +:107310006089262F2460208B6C60BFCFCF93DF93D2 +:10732000EC01423018F08F8588608F874B8B1C8A68 +:10733000222329F0413019F48F8584608F8780E5FE +:1073400093EC0F94C19B60E08C810F947F9D60E073 +:107350008E810F947F9D8D818F3F19F060E00F9497 +:107360007F9D6F8564FD19C063E0CE0112DF84E963 +:1073700091E10F94C19B63E0CE010BDF84E991E1C1 +:107380000F94C19B63E0CE0104DF86E990E00F9487 +:10739000C19B62E0CE01FDDE13C06062CE017DDFE5 +:1073A00084E991E10F94C19B6F856062CE0175DF26 +:1073B00086E990E00F94C19B6F856062CE016DDF1E +:1073C0006F856062CE0169DF8CE390E00F94C19B12 +:1073D00084E0888BCE019BDF8CE390E00F94C19B0F +:1073E000CE015DDF88EB9BE00F94C19B82E0898B2F +:1073F00066E0CE0152DF8CE390E00F94C19B1D8AC2 +:10740000DF91CF9108956F927F928F92AF92CF923A +:10741000EF920F931F93CF93DF93CDB7DEB73C016D +:10742000162F842F5E854F8538899989F3018483CF +:1074300025830683E782C086A18682865387448798 +:107440003587968761E00F94469DF30185818F3FD4 +:1074500019F061E00F94469D61E0F30186810F947D +:10746000469D112319F0F301178603C080E1F30153 +:10747000878720E041E060E1C301DF91CF911F9158 +:107480000F91EF90CF90AF908F907F906F9046CFFD +:107490008F92AF92CF92EF920F93DC0113961C92D2 +:1074A0001E921297EEE5F3E0ED93FC931F921F926C +:1074B0001F921F928C2CAE2CC02EE22E042F2FEF89 +:1074C000462F61E0A0DF0F900F900F900F900F916B +:1074D000EF90CF90AF908F900895CF93DF93EC0112 +:1074E000423018F08F8588608F874B8B1C8A22234F +:1074F00029F0413019F48F8584608F8780E593EC03 +:107500000F94C19B60E08C810F947F9D60E08E8121 +:107510000F947F9D8D818F3F19F060E00F947F9DC8 +:107520006F8564FD19C063E0CE0133DE84E991E12B +:107530000F94C19B63E0CE012CDE84E991E10F94AE +:10754000C19B63E0CE0125DE86E990E00F94C19BEC +:1075500062E0CE011EDE13C06062CE019EDE84E9D1 +:1075600091E10F94C19B6F856062CE0196DE86E942 +:1075700090E00F94C19B6F856062CE018EDE6F85B7 +:107580006062CE018ADE8CE390E00F94C19B84E0C0 +:10759000888BCE01BCDE8CE390E00F94C19BCE01C2 +:1075A00084DE80E496E00F94C19B82E0898B66E0E4 +:1075B000CE0173DE8CE390E00F94C19B40E068E065 +:1075C000CE0179DE67E576E0CE010F941A9E41E0A8 +:1075D00068E0CE0170DE67E576E0CE010F941A9E7A +:1075E00042E066E0CE0167DE65E576E0CE01DF9140 +:1075F000CF910D941A9EFC0160896D7F608B68604D +:107600004CCECF93DF93EC01262F8D898230B0F0E2 +:10761000FE01E80FF11D658B3E8980ED860F8A30F3 +:1076200058F4316081E090E00D8802C0880F991F06 +:107630000A94E2F7382B01C03E7F3E8B4D8981E0F2 +:10764000840F8D8B50E04830510508F0B6C0FA0128 +:10765000EE58FF4F0D9447A92B3109F0AEC0AEC0D4 +:107660001E8A2B3509F0A9C0A9C0223309F4A6C08F +:107670002F3309F4A3C08E897AC08F89823331F009 +:107680008F3349F4223309F098C098C02A3419F492 +:10769000CE0105DE92C08E8982FF8FC02B3309F0A8 +:1076A00066C08CC08F898F3341F4888D823309F096 +:1076B00084C0253309F081C081C08E8982FF7DC0DE +:1076C000988D9B3311F480FD79C083FF76C02B33F6 +:1076D00009F073C073C04F894F3371F4888D8233C2 +:1076E00009F06BC0898D853309F067C02C3609F02D +:1076F00064C0CE0180DF61C08E8982FF5EC0988D3C +:107700009B3339F484FF05C0283489F54053698DD3 +:107710002CC083FF52C0998D9B3309F04EC027C007 +:107720008E8982FF4AC0488D4B3361F4982F907345 +:10773000903341F4283431F44F8940536A8D6053BB +:10774000898D32C083FF39C0998D9B33B1F585FF98 +:1077500034C0283461F440538F89880F8056982FA5 +:10776000990F990F980F490F6A8D605324C080FFBD +:1077700024C024C08E89982F9C709C30F1F4998D80 +:107780009B33D9F480768036C1F42834B1F4488D27 +:1077900040538F89880F8056982F990F990F980F13 +:1077A000490F6B8D60538A8D880F8056982F990FE3 +:1077B000990F980F690FCE017EDD1D8A81E090E060 +:1077C000DF91CF910895CF92DF92EF92FF920F93C6 +:1077D0001F93CF93DF931F921F92CDB7DEB78C011B +:1077E000677088E0689FB00111246064C801498314 +:1077F0005A8353DD4981C42E5A81D52EE12CF12CB8 +:10780000D6016D916D01D801ED91FC910190F0814F +:10781000E02DC8011995BFEFEB1AFB0AE8E0EE1660 +:10782000F10471F70F900F90DF91CF911F910F919D +:10783000FF90EF90DF90CF900895FC0125892111F2 +:1078400002C06B3109F4DDCE41E001DD81E090E062 +:1078500008959091A107911107C09091C00095FFE4 +:10786000FCCF8093C6000895913031F49091C80008 +:1078700095FFFCCF8093CE0008951F920F920FB614 +:107880000F9211240BB60F922F933F934F935F9358 +:107890006F938F939F93EF93FF938091C00084FF2A +:1078A00003C08091C6001DC06091C6008091A107F1 +:1078B000811117C020919D0730919E07C901019643 +:1078C0008F77992740919F075091A00784179507BC +:1078D00041F0F901E35EF84F608390939E07809337 +:1078E0009D07FF91EF919F918F916F915F914F91C4 +:1078F0003F912F910F900BBE0F900FBE0F901F90D6 +:1079000018951F920F920FB60F9211240BB60F927B +:107910002F933F934F935F936F938F939F93EF9327 +:10792000FF938091C80084FF03C08091CE001DC0EA +:107930006091CE008091A1078130B9F420919D071C +:1079400030919E07C90101968F77992740919F0733 +:107950005091A0078417950741F0F901E35EF84FB5 +:10796000608390939E0780939D07FF91EF919F9175 +:107970008F916F915F914F913F912F910F900BBE1F +:107980000F900FBE0F901F901895CF92DF92EF923D +:10799000FF926A017B01411581EE5807610571056F +:1079A00009F463C082E08093C00060E079E08DE379 +:1079B00090E0A70196010F942BA9215031094109AC +:1079C0005109CA01B90122E030E040E050E00F94D3 +:1079D0002BA991E03093C5002093C4008091C10091 +:1079E00080618093C1008091C10088608093C10054 +:1079F0008091C10080688093C1008091A10781308F +:107A0000D1F5992341F082E08093C80060E079E0ED +:107A10008DE390E006C01092C80060E874E88EE143 +:107A200090E0A70196010F942BA92150310941093B +:107A30005109CA01B90122E030E040E050E00F9462 +:107A40002BA93093CD002093CC008091C900806198 +:107A50008093C9008091C90088608093C90080919B +:107A6000C90080688093C90006C01092C00090E0F1 +:107A700020E130E0AFCFFF90EF90DF90CF900895FE +:107A800020919F073091A00780919D0790919E07BC +:107A90008217930771F0F901E35EF84F80812F5F41 +:107AA0003F4F2F7733273093A00720939F0790E015 +:107AB00008958FEF9FEF089580919F079091A00701 +:107AC00090939E0780939D0708954F925F926F92C7 +:107AD0007F928F929F92AF92BF92CF92DF92EF925E +:107AE000FF920F931F93CF93DF93CDB7DEB7A0978D +:107AF0000FB6F894DEBF0FBECDBF4115510561052D +:107B00007105C1F480E3A0960FB6F894DEBF0FBEF6 +:107B1000CDBFDF91CF911F910F91FF90EF90DF903C +:107B2000CF90BF90AF909F908F907F906F905F901D +:107B30004F908FCECE0101967C01812C912C540167 +:107B40008C01422E512C612C712C9FEF891A990ABD +:107B5000A90AB90ACB01BA01A30192010F9409A99C +:107B6000CA01F70161937F01A901BC0141155105CB +:107B70006105710551F775016401F1E0CF1AD10873 +:107B8000E108F108F801EC0DFD1D80818A3010F448 +:107B9000805D01C0895C5DDE81E0C81AD108E10822 +:107BA000F1089FEFC916D906E906F90659F7A0961C +:107BB0000FB6F894DEBF0FBECDBFDF91CF911F91FE +:107BC0000F91FF90EF90DF90CF90BF90AF909F907C +:107BD0008F907F906F905F904F90089521153105A1 +:107BE00011F4842F36CE71CF0F931F93CF93DF9371 +:107BF00000D01F92CDB7DEB78C0177FF11C08DE2A8 +:107C000049835A836B837C8324DE49815A816B814B +:107C10007C8170956095509541955F4F6F4F7F4F78 +:107C20002AE0C8010F900F900F900F90DF91CF9135 +:107C30001F910F914ACF2115310511F4842F09CEE0 +:107C40002A30310509F4D0CF40CF9A01462F55276D +:107C500047FD5095652F752FEECF9A01AB01662732 +:107C600057FD6095762FE7CF8DE0F3DD8AE0F1CD0B +:107C70000F931F93CF93DF938C01EB01899188239E +:107C800011F0E7DDFBCFC801DF91CF911F910F917C +:107C9000EBCFCF93DF93EC019A01AB01662757FD41 +:107CA0006095762FC8DFCE01DF91CF91DDCFCF93E6 +:107CB000DF93EC019A01AB0160E070E08FDFCE0151 +:107CC000DF91CF91D1CF8F929F92AF92BF92CF92FF +:107CD000DF92EF92FF921F93CF93DF93EC016A0143 +:107CE0007B01122F20E030E0A901C701B6010F94FB +:107CF00032A487FF06C08DE2ACDDF7FAF094F7F806 +:107D0000F094B12C60E070E080E09FE3B11641F0A8 +:107D100020E030E040E251E40F9439A4B394F6CF70 +:107D20009B01AC01C701B6010F9459A36B017C0103 +:107D30000F94A6A44B015C010F94D2A49B01AC014B +:107D4000C701B6010F9458A36B017C012AE0B5016D +:107D5000A401CE01BADE112359F083EAA82E84E0F3 +:107D6000B82EF50181915F01882311F072DDF9CF02 +:107D7000112319F120E030E040E251E4C701B601DF +:107D80000F9407A76B017C010F94A1A44B01AA24B7 +:107D900097FCA094BA2CB501A401CE0125DFC50142 +:107DA000B4010F94D4A49B01AC01C701B6010F9498 +:107DB00058A36B017C011150DBCFDF91CF911F9154 +:107DC000FF90EF90DF90CF90BF90AF909F908F90FB +:107DD000089579CFCF93DF93EC0175DFCE01DF916A +:107DE000CF9142CFFC016591759185919491089551 +:107DF000EF92FF920F931F93CF93DF93EC01CC0F81 +:107E0000DD1FCC0FDD1FCE018153944FEBDF9E01B0 +:107E10002258374F79018E010E58174FF8012081F3 +:107E20003181428153810F9459A3F701608371839B +:107E300082839383CE018951944FD4DF9E012A5CC3 +:107E40003D4F7901F80120813181428153810F94A6 +:107E500059A3F7016083718382839383CE01855296 +:107E6000944FC0DFC65DDD4FF80120813181428132 +:107E700053810F9459A3688379838A839B83DF910D +:107E8000CF911F910F91FF90EF9008952091520E86 +:107E90003091530EBC01C901895A914F0F9431ADF5 +:107EA0009093490E8093480E21E0892B09F420E03D +:107EB000822F0895CF93C82F40910E0250910F0248 +:107EC000609110027091110240933508509336086A +:107ED0006093370870933808209158023091590206 +:107EE0003093FD082093FC0824E630E030935902DB +:107EF000209358020F945B9B609330087093310875 +:107F000080933208909333088C2FCF910D948D0578 +:107F100080E00F948D058091350890913608A091EE +:107F20003708B091380880930E0290930F02A09307 +:107F30001002B09311028091FC089091FD0890937B +:107F40005902809358020F945B9B609330087093A2 +:107F5000310880933208909333080895682F77276B +:107F600067FD70958091520E9091530E895A914FF2 +:107F70000F94F9AC9093490E8093480E21E0892B21 +:107F800009F420E0822F08958091480E9091490EC7 +:107F90004AE050E060E070E001960F940AABCB013C +:107FA00008958091480E9091490E4AE050E060E0BB +:107FB00070E001960D940AAB8091480E9091490EA5 +:107FC00060E070E001960D94A2A99091A107911133 +:107FD00007C09091C00095FFFCCF8093C600089524 +:107FE000913031F49091C80095FFFCCF8093CE0082 +:107FF0000895EBDF80E090E008952F923F924F923A +:108000005F926F927F928F929F92AF92BF92CF9228 +:10801000DF92EF92FF920F931F93CF93DF93CDB731 +:10802000DEB760970FB6F894DEBF0FBECDBF1C0160 +:108030002A013B014801590120E030E04CE052E4C4 +:10804000C301B2010F9458A325E535E547E052E49A +:108050000F9439A46B017C010F940FA50F94A1A478 +:108060008B0177FF12C020E030E040E85FE3C701FA +:10807000B6010F9435A618160CF05DC0C12CD12C9A +:10808000E0E8EE2EEFE3FE2E56C066307105DCF020 +:108090002AEA3AE24CE453E4C301B2010F9458A334 +:1080A00025E535E547E052E40F9439A46B017C01E6 +:1080B00020E030E0A9010F9432A487FF3FC0C12C1B +:1080C000D12C76013BC0882777FD8095982F0F949F +:1080D000D4A425E535E547E052E40F9407A720E056 +:1080E00030E04CE052E40F9459A39B01AC01C30172 +:1080F000B2010F9458A325E535E547E052E40F940B +:1081000039A46B017C0120E030E0A9010F9432A476 +:1081100087FD17C020E030E040E85FE3C701B6010B +:108120000F9435A6181684F4C12CD12C70E8E72ED4 +:108130007FE3F72E09C000E010E006C005E010E084 +:1081400003C0C12CD12C760120E030E040EC50E49B +:10815000C501B4010F9458A32BEA3AEA42E052E475 +:108160000F9439A42B013C010F940FA50F94A1A4E7 +:10817000788B6F8777FF12C020E030E040E85FE344 +:10818000C301B2010F9435A618160CF05FC0412C44 +:10819000512C60E8662E6FE3762E58C0AF85B88903 +:1081A0001697E4F026E535E549E253E4C501B4014C +:1081B0000F9458A32BEA3AEA42E052E40F9439A410 +:1081C0002B013C0120E030E0A9010F9432A487FD8F +:1081D00040C0E5E0F0E0F88BEF8746C0882777FDE8 +:1081E0008095982F0F94D4A42BEA3AEA42E052E407 +:1081F0000F9407A720E030E040EC50E40F9459A31F +:108200009B01AC01C501B4010F9458A32BEA3AEAD3 +:1082100042E052E40F9439A42B013C0120E030E00D +:10822000A9010F9432A487FD1CC020E030E040E893 +:108230005FE3C301B2010F9435A61816ACF4412CCC +:10824000512C50E8652E5FE3752E0EC0188A1F86EC +:108250000BC0412C512C320125E030E0388B2F87A8 +:1082600003C0412C512C3201A701960160E070E05F +:1082700080E89FE30F9458A369837A838B839C8360 +:10828000C80101969E838D83AF85B8891196BA8700 +:10829000A987A301920160E070E080E89FE30F945A +:1082A00058A36B877C878D879E8747E02F85388909 +:1082B000429FF001439FF00D1124F887EF83E00FF8 +:1082C000F11FEE0FFF1FEE0FFF1FE20DF31D2181C7 +:1082D00032814381548169817A818B819C810F94A1 +:1082E00007A74B015C01EF81F8858D819E81E80F26 +:1082F000F91FEE0FFF1FEE0FFF1FE20DF31D21818F +:10830000328143815481C701B6010F9407A79B01B5 +:10831000AC01C501B4010F9459A39B01AC016B855D +:108320007C858D859E850F9407A74B015C0127E016 +:10833000E985FA852E9FD0012F9FB00D1124B887B3 +:10834000AF83FD01E00FF11FEE0FFF1FEE0FFF1FC8 +:10835000E20DF31D218132814381548169817A814B +:108360008B819C810F9407A769837A838B839C837D +:10837000AF81B8858D819E81A80FB91FAA0FBB1F41 +:10838000AA0FBB1FA20DB31D11962D913D914D91CA +:108390005C911497C701B6010F9407A79B01AC012C +:1083A00069817A818B819C810F9459A39B01AC01D7 +:1083B000C301B2010F9407A79B01AC01C501B40131 +:1083C0000F9459A360960FB6F894DEBF0FBECDBFD1 +:1083D000DF91CF911F910F91FF90EF90DF90CF90A1 +:1083E000BF90AF909F908F907F906F905F904F90D5 +:1083F0003F902F9008954F925F926F927F929F923D +:10840000AF92BF92CF92DF92EF92FF920F931F93A2 +:10841000CF93DF937C015B018A01E901909090107A +:10842000911014C0FC0180819181A281B381FA0175 +:1084300080839183A283B383FB0180819181A28198 +:10844000B38188839983AA83BB837FC091FE55C083 +:10845000FC012081318142815381609180107091B3 +:10846000811080918210909183100F9407A72B01A7 +:108470003C01F5012081318142815381609184105A +:108480007091851080918610909187100F9407A7A6 +:108490009B01AC01C301B2010F9459A3F8016083A1 +:1084A000718382839383F7012081318142815381DB +:1084B000609188107091891080918A1090918B1032 +:1084C0000F9407A76B017C01F50120813181428166 +:1084D000538160918C1070918D1080918E109091CD +:1084E0008F100F9407A79B01AC01C701B6010F9431 +:1084F00059A3688379838A839B8390FE26C0209149 +:1085000068103091691040916A1050916B10F80119 +:1085100060817181828193810F9459A3F8016083F6 +:1085200071838283938320916C1030916D10409100 +:108530006E1050916F10688179818A819B810F94B0 +:1085400059A3688379838A839B83DF91CF911F919D +:108550000F91FF90EF90DF90CF90BF90AF909F90E2 +:108560007F906F905F904F9008952F923F924F921F +:108570005F926F927F928F929F92AF92BF92CF92B3 +:10858000DF92EF92FF920F931F93CF93DF93CDB7BC +:10859000DEB728970FB6F894DEBF0FBECDBF8C01B3 +:1085A0001B019E012F5F3F4FAE014B5F5F4F23DFEB +:1085B00020E030E0A9016D817E818F8198850F9444 +:1085C00032A487FF07C01D821E821F821886FF24E7 +:1085D000F39401C0F12C20E030E040E850EC6981D8 +:1085E0007A818B819C810F9432A487FF0AC080E03E +:1085F00090E0A0E8B0EC89839A83AB83BC83FF242E +:10860000F39420E030E04FE753E46D817E818F8169 +:1086100098850F9435A6181654F480E090E0AFE7E3 +:10862000B3E48D839E83AF83B887FF24F39420E067 +:1086300030E042E553E469817A818B819C810F941B +:1086400035A618164CF480E090E0A2E5B3E48983E7 +:108650009A83AB83BC8303C0FF2009F483C0C98025 +:10866000DA80EB80FC808D809E80AF80B884709033 +:10867000901071100BC0F80180829182A282B382A7 +:10868000F101C082D182E282F3826AC070FE1CC016 +:10869000209168103091691040916A1050916B10D0 +:1086A000C501B4010F9458A34B015C0120916C10DB +:1086B00030916D1040916E1050916F10C701B6014E +:1086C0000F9458A36B017C0171FE4AC02091701079 +:1086D000309171104091721050917310C501B40126 +:1086E0000F9407A72B013C01209174103091751055 +:1086F0004091761050917710C701B6010F9407A7EB +:108700009B01AC01C301B2010F9459A3F80160832E +:1087100071838283938320917810309179104091F6 +:108720007A1050917B10C501B4010F9407A74B013B +:108730005C0120917C1030917D1040917E10509111 +:108740007F10C701B6010F9407A79B01AC01C501BB +:10875000B4010F9459A3F1016083718382839383E1 +:10876000FF24F3948F2D28960FB6F894DEBF0FBE2A +:10877000CDBFDF91CF911F910F91FF90EF90DF90D0 +:10878000CF90BF90AF909F908F907F906F905F90B1 +:108790004F903F902F900895CF93DF931F92CDB7C6 +:1087A000DEB7BE016F5F7F4F0F94256E0F90DF9194 +:1087B000CF910895682F87EF9FE00D946FB00895D3 +:1087C0000F931F93CF93DF9300D01F92CDB7DEB7E7 +:1087D0008C01FC018491882371F049835A836B8357 +:1087E0007C83F3DB0F5F1F4FF80184917C816B81E9 +:1087F0005A814981F0CF22E030E08CE197E00F9080 +:108800000F900F900F90DF91CF911F910F91E1CAC0 +:108810000F931F93CF93DF9300D01F92CDB7DEB796 +:108820008C01FC018491882371F049835A836B8306 +:108830007C83CBDB0F5F1F4FF80184917C816B81C0 +:108840005A814981F0CF2AE030E08CE197E00F9027 +:108850000F900F900F90DF91CF911F910F91BEC994 +:10886000EF92FF920F931F93CF93DF931F92CDB799 +:10887000DEB789830F94CF2E8981823009F495C0A9 +:108880000CF062C0882309F46EC0813009F025C164 +:108890009FB7F894809102018460809302019FBF8A +:1088A000EFEFF1EE24E0E150F0402040E1F700C0AE +:1088B00000009FB7F894809102018B7F80930201A2 +:1088C0009FBF40E050E0BA018DEE9FE00F9481B071 +:1088D00040E050E0BA0181EF9FE00F9481B060E08A +:1088E00086E69FE00F946FB060E088E69FE00F940B +:1088F0006FB060E085E69FE00F946FB060E084E6C3 +:108900009FE00F946FB060E070E085E09FE00F940F +:1089100089B060E070E083E09FE00F9489B060E090 +:1089200070E081E09FE00F9489B060E070E08FEF2D +:108930009EE00F9489B00F90DF91CF911F910F911E +:10894000FF90EF900D94854C833009F461C0843022 +:1089500009F0C3C00F90DF91CF911F910F91FF904D +:10896000EF900D9480749FB7F89480910201846019 +:10897000809302019FBF2FEF81EE94E02150804051 +:108980009040E1F700C000009FB7F8948091020189 +:108990008B7F809302019FBF0F90DF91CF911F913A +:1089A0000F91FF90EF900D94B92F0F94B92F80EF96 +:1089B00001DF61E08FE59FE00F948DB01092DC182D +:1089C0001092DB186091DD1884EC9FE00F946FB07B +:1089D0006BED78E181EC9FE00F940D2F9FB7F89439 +:1089E000809102018460809302019FBF8FEF91EE1E +:1089F000E4E081509040E040E1F700C000009FB704 +:108A0000F894809102018B7F809302019FBF65C023 +:108A100086EA9BE00F945C4145E95BE062E081E01F +:108A20000F940C529FB7F894809102018460809358 +:108A300002019FBFFFEF21EE84E0F1502040804013 +:108A4000E1F700C000009FB7F894809102018B7F8E +:108A5000809302019FBF10921C0810921B084EE8E1 +:108A60005BE063E083E00F940C5240911B0850914F +:108A70001C0863E083E00F94DA2EE12CF12C09E26C +:108A800010E06FEFC7010F948DB0C701B8010F94CC +:108A9000F6A8892BD9F480911B0890911C080196A7 +:108AA00090931C0880931B0847E85BE063E083E039 +:108AB0000F940C5240911B0850911C0863E083E016 +:108AC0000F94DA2E85E89BE00F945C419FEFE91A42 +:108AD000F90AE114E0E1FE06A1F60F90DF91CF91D3 +:108AE0001F910F91FF90EF9008956DE078E085E57C +:108AF0009BE00D9467AD84E090E090931802809322 +:108B000017028091000186FD39C02FEF83ED90E3BD +:108B1000215080409040E1F700C0000080910001AA +:108B200086FD2CC00F94CF2E87E49BE00F945C4110 +:108B3000809101018460809301019FB7F894809136 +:108B400002018460809302019FBF8091000186FF33 +:108B5000FCCF9FB7F894809102018B7F8093020134 +:108B60009FBF2FEF87EA91E6215080409040E1F7C8 +:108B700000C000000F94D03260E072DE82E090E02E +:108B800090931802809317020895E091CC08F0E0CA +:108B9000EE0FFF1FE25CF84B859194910F945D7A84 +:108BA00081E00D94E66D1F93CF93DF930E94F7F160 +:108BB000EC01DF93CF938DED9AE09F938F930F9409 +:108BC00094AD87E69FE00F945DB0182F0F900F9043 +:108BD0000F900F90CD2B29F481E080934F1010E07F +:108BE00002C010924F1084ED9AE00F94E4AD11236F +:108BF00049F08BEC9AE00F94E4ADDF91CF911F9197 +:108C00000C9454BC81EC9AE00F94E4ADDF91CF91C9 +:108C10001F910C9471BC8F929F92AF92BF92CF9292 +:108C2000DF92EF92FF92CF93DF938091DD18811155 +:108C300085C00F945B9B6B017C0120911202222363 +:108C400009F474C040911702509118024130510547 +:108C500009F46CC08091130290911402A091150246 +:108C6000B091160246015701881A990AAA0ABB0A4E +:108C700030E0A8EEB3E00F944DA986169706A8063B +:108C8000B9060CF45BC04430510541F14CF442305C +:108C900051050CF44BC0E3EFFBE08491EF0109C0F8 +:108CA0004530510509F042C0E3EFFBE08491EF014C +:108CB0002BC0882329F089D92196FE018491F9CF10 +:108CC000ECE9FAE08491EF01882329F07ED921961E +:108CD000FE018491F9CF8AE078D928C0E3EFFBE068 +:108CE0008491EF01882329F070D92196FE018491A7 +:108CF000F9CFE6E8FAE08491EF01882361F365D9C2 +:108D00002196FE018491F9CF882329F05ED921961E +:108D1000FE018491F9CFEFE6FAE08491EF01882318 +:108D2000D1F253D92196FE018491F9CFC09213025A +:108D3000D0921402E0921502F0921602DF91CF91C8 +:108D4000FF90EF90DF90CF90BF90AF909F908F906B +:108D50000895CF93C0E020914E0E30914F0E232BFB +:108D6000A9F082E693E092D881110EC086E693E0E6 +:108D70008DD8811109C080914D0E811102C00E94D1 +:108D8000F3B410924D0EE7CFC1E0F5CF8C2FCF9109 +:108D900008952F923F924F925F926F927F928F929F +:108DA0009F92AF92BF92CF92DF92EF92FF920F937A +:108DB0001F93CF93DF93CDB7DEB729970FB6F89403 +:108DC000DEBF0FBECDBF3C0181E00F948D058F83C8 +:108DD00082E06816710408F077C2F301EC54F44F96 +:108DE000E491D301AA0FBB1FAA0FBB1FBA83A983AB +:108DF000A65ABD4FBE83AD838D919D910D90BC91C0 +:108E0000A02D80930E0290930F02A0931002B093B6 +:108E10001102E981FA81E258F74FF987E887108259 +:108E2000118212821382E0908608F09087080091E8 +:108E30008808109189082091820830918308409118 +:108E400084085091850860917E0870917F08809118 +:108E5000800890918108EAE8CE2EE8E0DE2E0F949B +:108E60005802E981FA81E75BF74F2F0180E090E03B +:108E7000A0E4B0E480839183A283B38320E030E058 +:108E800040E752E460910E0270910F02809110024F +:108E9000909111020F9439A44B015C01E0905108AC +:108EA000F0905208009153081091540820914D08F9 +:108EB00030914E0840914F085091500860914908F8 +:108EC00070914A0880914B0890914C08FAE62F2E39 +:108ED000F8E03F2E3F922F92A5E5CA2EA8E0DA2EA9 +:108EE0000E9488F70F94350D0F94750580E00F945C +:108EF0008D05A885B9851D921D921D921C92139710 +:108F0000E0908608F0908708009188081091890801 +:108F100020918208309183084091840850918508FF +:108F200060917E0870917F088091800890918108FF +:108F3000BAE8CB2EB8E0DB2E0F94580280E090E028 +:108F4000A0E8BFEBF20180839183A283B38320E08A +:108F500030E040E752E460910E0270910F02809180 +:108F60001002909111020F9439A44B015C01E09022 +:108F70005108F09052080091530810915408209124 +:108F80004D0830914E0840914F0850915008609123 +:108F9000490870914A0880914B0890914C083F9283 +:108FA0002F92E5E5CE2EE8E0DE2E0E9488F70F94A2 +:108FB000350D81E00F948D0589819A818D53944FF1 +:108FC0000E94F23E2DEC3CEC4CE85FEB0F9407A7BF +:108FD000D2016D937D938D939C93139720E030E0A5 +:108FE00040E752E460910E0270910F0280911002EE +:108FF000909111020F9439A44B015C01E09051084B +:10900000F0905208009153081091540820914D0897 +:1090100030914E0840914F08509150086091490896 +:1090200070914A0880914B0890914C083F922F9282 +:109030000E9488F70F94350D0F94750580E00F940A +:109040008D05E885F9851082118212821382E090E5 +:109050008608F0908708009188081091890820916F +:10906000820830918308409184085091850860916E +:109070007E0870917F088091800890918108FAE8BD +:10908000CF2EF8E0DF2E0F94580280E090E0A0E2AF +:10909000B1E4F20180839183A283B38320E030E0C6 +:1090A00040E752E460910E0270910F02809110022D +:1090B000909111020F9439A44B015C01E09051088A +:1090C000F0905208009153081091540820914D08D7 +:1090D00030914E0840914F085091500860914908D6 +:1090E00070914A0880914B0890914C083F922F92C2 +:1090F000A5E5CA2EA8E0DA2E0E9488F70F94350D58 +:109100000F94750581E00F948D0580E090E0A0E755 +:10911000B1ECF20180839183A283B38320E030E03D +:1091200040E05FE3AD81BE816D917D918D919C9119 +:109130000F9407A760930E0270930F0280931002A2 +:109140009093110220E030E040E752E40F9439A4FC +:109150004B015C01E0905108F090520800915308D7 +:109160001091540820914D0830914E0840914F08BD +:10917000509150086091490870914A0880914B08BD +:1091800090914C083F922F920E9488F70F94350DD2 +:10919000C3010E94F83EF301E159F74F81E080835B +:1091A0000F94750580E00F948D052AE037ED43E2BA +:1091B0005FE3E885F98560817181828193810F94F5 +:1091C00058A3A885B9856D937D938D939C93139730 +:1091D000E0908608F090870800918808109189082F +:1091E000209182083091830840918408509185082D +:1091F00060917E0870917F0880918008909181082D +:10920000BAE8CB2EB8E0DB2E0F9458022AE037EDF7 +:1092100043E25FE3E885F985608171818281938112 +:109220000F9459A3A885B9856D937D938D939C93D5 +:109230001397F20160837183828393832AE939E96A +:1092400049E95EE360910E0270910F028091100275 +:10925000909111020F9407A720E030E040E752E41C +:109260000F9439A44B015C01E0905108F090520832 +:10927000009153081091540820914D0830914E08E8 +:1092800040914F08509150086091490870914A08E8 +:1092900080914B0890914C083F922F92E5E5CE2E9D +:1092A000E8E0DE2E0E9488F70F94350D10920E0232 +:1092B00010920F0210921002109211020FB6F89441 +:1092C000DEBF0FBECDBF62C192E06916710409F026 +:1092D0005DC1E6EBFBE0749010928608109287085F +:1092E0001092880810928908209182083091830892 +:1092F000409184085091850860917E0870917F08A4 +:109300008091800890918108EAE8CE2EE8E0DE2E78 +:10931000E12CF12C87010F9458028BEC9BE00E940A +:10932000F23E4B015C01672D772767FD7095872F13 +:10933000972F0F94D4A42B013C0120E030E040ECA7 +:109340005FE3C501B4010F9407A7A30192010F9435 +:1093500007A769837A838B839C83609351087093FA +:109360005208809353089093540860916202709160 +:109370006302809164029091650260930E02709383 +:109380000F02809310029093110220E030E040E73A +:1093900052E40F9439A44B015C0120914D083091A7 +:1093A0004E0840914F0850915008609149087091C3 +:1093B0004A0880914B0890914C08FAE62F2EF8E06D +:1093C0003F2E3F922F92A5E5CA2EA8E0DA2EE98023 +:1093D000FA800B811C810E9488F70F94350D109242 +:1093E00086081092870810928808109289082091A8 +:1093F00082083091830840918408509185086091DB +:109400007E0870917F088091800890918108BAE869 +:10941000CB2EB8E0DB2EE12CF12C87010F94580203 +:109420008FEB9BE00E94F23E9058A30192010F94B3 +:1094300007A769837A838B839C8360935108709319 +:109440005208809353089093540820E030E040E79E +:1094500052E460910E0270910F028091100290917F +:1094600011020F9439A44B015C0120914D083091F9 +:109470004E0840914F0850915008609149087091F2 +:109480004A0880914B0890914C083F922F9215E525 +:10949000C12E18E0D12EE980FA800B811C810E9438 +:1094A00088F70F94350D8FEB9BE00E94F23E9B01F5 +:1094B000AC010F9459A3A30192010F9407A72B01AC +:1094C0003C01609351087093520880935308909325 +:1094D000540820E030E040E05FE360916202709168 +:1094E000630280916402909165020F9407A76093D4 +:1094F0000E0270930F02809310029093110220E0ED +:1095000030E040E752E40F9439A44B015C01209114 +:109510004D0830914E0840914F085091500860918D +:10952000490870914A0880914B0890914C083F92ED +:109530002F92830172010E9488F70F94350D82E00B +:1095400090E00E94F83E8091860890918708A09153 +:109550008808B09189088093510890935208A0938D +:109560005308B093540810920E0210920F021092FA +:109570001002109211020F94750581E0809371081A +:109580000F900F900F900F900F900F908F81299652 +:109590000FB6F894DEBF0FBECDBFDF91CF911F9104 +:1095A0000F91FF90EF90DF90CF90BF90AF909F9082 +:1095B0008F907F906F905F904F903F902F900D9481 +:1095C0008D05CF92DF92EF92FF920F931F9380E170 +:1095D000EEE7F8E0A9E4B8E001900D928A95E1F792 +:1095E00080E090E0D6DB81E090E0D3DBE09086087D +:1095F000F0908708009188081091890820918208CE +:1096000030918308409184085091850860917E08CC +:1096100070917F088091800890918108FAE8CF2EA0 +:10962000F8E0DF2E0F9458021F910F91FF90EF90FA +:10963000DF90CF900D9475050F945B9B609330087D +:10964000709331088093320890933308089520E096 +:1096500030E0A90168EB71E084E50F94B39F69E104 +:1096600070E080E090E00F948A9B84E50F94D7A28D +:1096700064E170E080E090E00D948A9B8F929F926D +:10968000AF92BF92CF92DF92EF92FF920F931F9310 +:10969000CF93DF9300D01F92CDB7DEB71092FA17A9 +:1096A0001092F9171092F8171092F7170F94CF2E07 +:1096B0008DEA9AE00F945C418E010F5F1F4F7E018F +:1096C00025E0E20EF11C8CE197E00E94403D8F3FC7 +:1096D000EFEF9E07C1F3F80181938F01EE15FF05AF +:1096E00091F789809A80AB80BC808BE20E94E53F35 +:1096F000C12CD12C76018091CB08882309F447C076 +:109700000EEB17E0C814D904EA04FB04A1F08CE1C5 +:1097100097E00E94403D8F3FFFEF9F07C1F32FEF7F +:10972000C21AD20AE20AF20AF80181938F01F7E025 +:109730000E3F1F0739F76EEB77E086E099E00E9455 +:10974000D4A98BE20E94E53F0F94A218C814D90453 +:10975000EA04FB0481F67BDF60E086E099E00E948A +:1097600005AA1092CB08E8E7F7E4E590F490F7013A +:109770008491882331F00E94E53FFFEFEF1AFF0A42 +:10978000F6CF8AE00E94E53F80E090E000C00F90B5 +:109790000F900F900F90DF91CF911F910F91FF903D +:1097A000EF90DF90CF90BF90AF909F908F900895F3 +:1097B0002F923F924F925F926F927F928F929F92E1 +:1097C000AF92BF92CF92DF92EF92FF920F931F93CF +:1097D000CF93DF9300D01F921F92CDB7DEB7382E04 +:1097E000811112C01092F8171092F7171092FA1701 +:1097F0001092F9171092FC171092FB171092FE1797 +:109800001092FD170F94342F80E00F94E66D81E9DC +:1098100090E10E94E1EB0E9410CE0E9432EB109288 +:109820006F08109270081092710881E00E945A3FF0 +:10983000E2E6F8E4859194910E94CC43C2DE80E098 +:109840000F948D0520E030E040EA50E460917E08FE +:1098500070917F0880918008909181080F9459A39E +:109860002B013C0160937E0870937F0880938008F1 +:109870009093810820E030E040EA50E46091820853 +:109880007091830880918408909185080F9459A362 +:109890006A837B838C839D836093820870938308A3 +:1098A000809384089093850820E030E040E252E401 +:1098B00060916202709163028091640290916502EE +:1098C0000F9439A44B015C01E0908608F090870862 +:1098D00000918808109189088AE698E09F938F93F9 +:1098E0002AE8C22E28E0D22E2A813B814C815D815C +:1098F000C301B2010E9488F70F94350D832D0F9498 +:10990000478A0F900F90882309F498C195DE311093 +:1099100058C084E090E09093180280931702E09181 +:10992000CC08F0E0EE0FFF1FE05DFA4B85919491BB +:1099300040E060E00F943770882359F0E091CC0844 +:10994000F0E0EE0FFF1FEC5DF94B859194910F94C1 +:109950005D7AE091CC08F0E0EE0FFF1FE652F84B85 +:10996000859194910F945D7AE091CC08F0E0EE0F30 +:10997000FF1FE258F94B859194910F945D7A82E034 +:1099800090E09093180280931702E091CC08F0E0E9 +:10999000EE0FFF1FE059F84B859194910E94CC4344 +:1099A00041E050E062E080E00F94DA2EE091CC08D4 +:1099B000F0E0EE0FFF1FE459F84B859194910F945E +:1099C0005C4180E090E0A0EAB0E480938608909348 +:1099D0008708A0938808B093890881E00F948D05CB +:1099E000282E20E030E040E252E460916202709163 +:1099F000630280916402909165020F9439A44B0137 +:109A00005C01E0908608F09087080091880810912A +:109A100089082091820830918308409184085091F0 +:109A2000850860917E0870917F08809180089091F0 +:109A30008108EAE6F8E0FF93EF93EAE8CE2EE8E04B +:109A4000DE2E0E9488F70F94350D822D0F948D0520 +:109A500082E00F94A00D0F900F9020E030E040EADC +:109A600050E40F9432A48111E5C086E50E94AE3F18 +:109A7000882361F0E091480EF091490E8181893090 +:109A800039F08F7D41F00E94C43F03C01A8205C0A7 +:109A900081E08A8302C091E09A833320B1F00E9472 +:109AA000883F0E9465CE0E94B7CF0E948FE4882332 +:109AB00009F4C4C087EF9FE00F945DB0803F09F0C8 +:109AC000BFC081E00E94DA43BBC08AEF0E94DA4344 +:109AD00060E070E088EF9FE00F9489B01982BE01CA +:109AE0006F5F7F4F8A810E945CE13C010E94883F4A +:109AF000212C312CB0EA4B2EB0E45B2E209286084C +:109B000030928708409288085092890820E030E01F +:109B100040E252E4609162027091630280916402BB +:109B2000909165020F9439A44B015C012091820849 +:109B300030918308409184085091850860917E0897 +:109B400070917F088091800890918108AAE6B8E022 +:109B5000BF93AF931AE8C12E18E0D12E8201710194 +:109B60000E9488F70F94350D0F900F9077FC47C037 +:109B7000198281E990E10E94E1EB0E94D7CD81E05A +:109B80000E945A3F1EDDAE014F5F5F4F6A8181E048 +:109B90000E94B1E63C010E94883F209286083092E4 +:109BA0008708409288085092890820E030E040E21F +:109BB00052E460916202709163028091640290911C +:109BC00065020F9439A44B015C0120918208309109 +:109BD0008308409184085091850860917E087091B7 +:109BE0007F088091800890918108AAE6B8E0BF9331 +:109BF000AF930E9488F70F94350D0F900F906981F5 +:109C0000C3010F941E8C77FC19C086EE0E94DA43C4 +:109C10008FE59FE00F945DB0813091F0E091CC082A +:109C2000F0E0EE0FFF1FE85AF74B859194910F94E7 +:109C30005D7A06C089E39AE00F945D7A10E001C076 +:109C400011E081E00F94E66D812F0F900F900F903F +:109C50000F900F90DF91CF911F910F91FF90EF9098 +:109C6000DF90CF90BF90AF909F908F907F906F903C +:109C70005F904F903F902F900895CF93DF938CE1AA +:109C800097E00E945C3DE2E2F6E4C591D491FE01CA +:109C90008491882321F00E94E53F2196F8CF4091DE +:109CA000380E5091390E60913A0E70913B0E4F5F15 +:109CB0005F4F6F4F7F4F2AE030E08CE197E00E94CA +:109CC0001B3E8AE00E94E53F0F945B9B6093300847 +:109CD000709331088093320890933308E2E8F6E4F9 +:109CE000C591D491FE018491882321F00E94E53F23 +:109CF0002196F8CF8AE0DF91CF910C94E53FCF9386 +:109D0000DF930F945B9B60933008709331088093CE +:109D1000320890933308E091520EF091530EEC5AB2 +:109D2000F14F8081813089F4E2E8F6E4C591D49165 +:109D3000FE018491882321F00E94E53F2196F8CF0F +:109D40008AE0DF91CF910C94E53FDF91CF910895A8 +:109D50008F929F92AF92BF92CF92DF92EF92FF923B +:109D60000F931F93CF93DF9333E6E32E34E0F32E6C +:109D70000EE718E0C9E4D8E04EEFC42E48E0D42E38 +:109D8000F70181917F010E94AE3F882319F10E9463 +:109D9000DC3F4B015C01F6018081811103C06091C1 +:109DA000340801C061E070E080E090E00F94D4A43A +:109DB000F80120813181428153810F9407A79B01D3 +:109DC000AC01C501B4010F9459A3688379838A83D8 +:109DD0009B8309C0F80180819181A281B38188832E +:109DE0009983AA83BB830C5F1F4F2496FFEFCF1A82 +:109DF000DF0A87E6E81684E0F80611F686E40E949A +:109E0000AE3F8823D9F00E94DC3F6B017C01609358 +:109E1000390870933A0880933B0890933C0820E0FF +:109E200030E0A9010F9435A6181644F4C0920E0232 +:109E3000D0920F02E0921002F0921102DF91CF91C6 +:109E40001F910F91FF90EF90DF90CF90BF90AF9058 +:109E50009F908F9008957CDF89E40E94AE3F882315 +:109E600059F00E94DC3F60933D0870933E08809358 +:109E70003F089093400808C010923D0810923E0899 +:109E800010923F08109240088AE40E94AE3F882357 +:109E900059F00E94DC3F6093410870934208809320 +:109EA0004308909344080895109241081092420884 +:109EB00010924308109244080895CF92DF92EF92D7 +:109EC000FF92CF93DF93EC01BC016C5F7F4F0E9448 +:109ED000B54220E030E0A90160913E0270913F025E +:109EE00080914002909141020F9459A36B017C0133 +:109EF0009B01AC01688579858A859B850F9432A486 +:109F000087FF04C0C886D986EA86FB86C0903202E5 +:109F1000D0903302E0903402F0903502A701960110 +:109F2000688579858A859B850F9435A6181624F453 +:109F3000C886D986EA86FB86DF91CF91FF90EF90A5 +:109F4000DF90CF9008952F923F924F925F926F9241 +:109F50007F928F929F92AF92BF92CF92DF92EF92B9 +:109F6000FF920F931F93CF93DF93CDB7DEB7AB97DD +:109F70000FB6F894DEBF0FBECDBF9F878E87798B5B +:109F8000688B5B8B4A8B3D8B2C8B1F8B0E8BED82F2 +:109F9000DC018D909D90AD90BC9040907E085090DB +:109FA0007F086090800870908108DB018D919D9101 +:109FB0000D90BC91A02D88879987AA87BB87C090F8 +:109FC0008208D0908308E0908408F0908508209162 +:109FD0008608309187084091880850918908EA895D +:109FE000FB8960817181828193810F9458A3688F6E +:109FF000798F8A8F9B8F80919110811173C0AE8968 +:10A00000BF898D909D90AD90BC90EA89FB89E080DE +:10A01000F18002811381A889B9892D913D914D91DB +:10A020005C91EE85FF856081718182819381FE0163 +:10A030003596FF93EF93CC88DD880E9488F7EE85F4 +:10A04000FF8580819181A281B38180937E08909366 +:10A050007F08A0938008B0938108E889F9898081FE +:10A060009181A281B3818093820890938308A09309 +:10A070008408B0938508EA89FB8980819181A28157 +:10A08000B3818093860890938708A0938808B09343 +:10A090008908EC89FD8980819181A281B3818093B7 +:10A0A0008A0890938B08A0938C08B0938D080F902A +:10A0B0000F90AB960FB6F894DEBF0FBECDBFDF9109 +:10A0C000CF911F910F91FF90EF90DF90CF90BF90B5 +:10A0D000AF909F908F907F906F905F904F903F9048 +:10A0E0002F900895A3019201C501B4010F9458A3C4 +:10A0F0002B013C0120E030E0A9010F9435A653016B +:10A100004201181624F0B7FAB094B7F8B094A7013A +:10A110009601688579858A859B850F9458A3688701 +:10A1200079878A879B8720E030E0A9010F9435A6C4 +:10A13000288539854A855B8518160CF05058C5016D +:10A14000B4010F9459A36B017C0120E030E0A90118 +:10A150000F9435A618160CF052CF20E030E040EFF7 +:10A1600051E4C701B6010F9439A40F941FA40F94B2 +:10A17000A1A47D876C87623071050CF440CF2091DB +:10A180008A0830918B0840918C0850918D08AC89D9 +:10A19000BD896D917D918D919C910F9458A36C8F89 +:10A1A0007D8F8E8F9F8F22242394312C8C859D85CB +:10A1B000AA2797FDA095BA2F88A799A7AAA7BBA7FA +:10A1C000DE011596BF83AE83B101882777FD8095A8 +:10A1D000982F0F94D4A46B017C0168A579A58AA55A +:10A1E0009BA50F94D4A49B01AC01C701B6010F94A9 +:10A1F00039A46B017C01EE89FF8980809180A28067 +:10A20000B3802C8D3D8D4E8D5F8D0F9407A79B01E4 +:10A21000AC0160918A0870918B0880918C089091B4 +:10A220008D080F9459A369837A838B839C83288D2F +:10A23000398D4A8D5B8DC701B6010F9407A7209118 +:10A2400086083091870840918808509189080F94BA +:10A2500059A368A379A38AA39BA3288539854A8536 +:10A260005B85C701B6010F9407A720918208309142 +:10A27000830840918408509185080F9459A36CA3DA +:10A280007DA38EA39FA3A3019201C701B6010F94E2 +:10A2900007A720917E0830917F0840918008509157 +:10A2A00081080F9459A3FF81FF932E812F93DE0124 +:10A2B00011966D01E8A0F9A00AA11BA12CA13DA156 +:10A2C0004EA15FA10E9488F7BFEF2B1A3B0A0F90A7 +:10A2D0000F90EC85FD852E163F0609F075CF8FCEC9 +:10A2E0004F925F926F927F928F929F92AF92BF92A6 +:10A2F000CF92DF92EF92FF920F931F93CF93DF9352 +:10A30000CDB7DEB728970FB6F894DEBF0FBECDBF2E +:10A3100089E498E0D2DD0F945B9B609330087093E2 +:10A3200031088093320890933308809149089091C6 +:10A330004A08A0914B08B0914C088D839E83AF834F +:10A34000B8879C01AD0160917E0870917F08809173 +:10A350008008909181080F9432A4811197C0409099 +:10A360004D0850904E0860904F0870905008A3011F +:10A370009201609182087091830880918408909185 +:10A3800085080F9432A4811181C020E030E040E7BD +:10A3900052E460910E0270910F0280911002909130 +:10A3A00011020F9439A44B015C01E0905108F09028 +:10A3B000520800915308109154088AE698E09F9340 +:10A3C0008F9365E5C62E68E0D62EA30192016D81BC +:10A3D0007E818F8198850E9488F70F900F908091E1 +:10A3E000490890914A08A0914B08B0914C0880937D +:10A3F0007E0890937F08A0938008B0938108809195 +:10A400004D0890914E08A0914F08B091500880934C +:10A41000820890938308A0938408B0938508809164 +:10A42000510890915208A0915308B091540880931C +:10A43000860890938708A0938808B0938908809134 +:10A44000550890915608A0915708B09158088093EC +:10A450008A0890938B08A0938C08B0938D08289657 +:10A460000FB6F894DEBF0FBECDBFDF91CF911F9125 +:10A470000F91FF90EF90DF90CF90BF90AF909F90A3 +:10A480008F907F906F905F904F900895E0906A0852 +:10A490006091580270915902882777FD8095982F16 +:10A4A0000F94D4A420910E0230910F02409110021B +:10A4B000509111020F9407A72EE333EC4EE259E3BB +:10A4C0000F9407A769837A838B839C838E010F5F28 +:10A4D0001F4F25E538E041E558E06DE478E089E478 +:10A4E00098E031DD7CCF4F925F926F927F928F9296 +:10A4F0009F92AF92BF92CF92DF92EF92FF920F9313 +:10A500001F93CF93C62FE0916A08F0E0882309F4E7 +:10A51000D9C0DF01AA59B74F8C918111AFC1809189 +:10A520007E0890917F08A0918008B0918108809367 +:10A53000490890934A08A0934B08B0934C08809127 +:10A54000820890918308A0918408B0918508809337 +:10A550004D0890934E08A0934F08B09350088091F7 +:10A56000860890918708A0918808B0918908809307 +:10A57000510890935208A0935308B0935408C09088 +:10A580008A08D0908B08E0908C08F0908D08C092DB +:10A590005508D0925608E0925708F0925808EE0FEE +:10A5A000FF1FEE0FFF1FEE5BFD4F208131814281C7 +:10A5B0005381662349F060912202709123028091B9 +:10A5C00024029091250208C0609126027091270212 +:10A5D00080912802909129020F9439A49B01AC012B +:10A5E000C701B6010F9459A360938A0870938B0832 +:10A5F00080938C0890938D088AE898E00F94CD039F +:10A6000080900E0290900F02A0901002B090110264 +:10A6100020E030E040E752E460911E0270911F029A +:10A6200080912002909121020F9407A760930E025F +:10A6300070930F028093100290931102E0916A08C8 +:10A64000F0E0EA59F74F81E080834ADE209162080A +:10A6500030916308409164085091650860918608C4 +:10A660007091870880918808909189080F9458A369 +:10A670007B018C016093860870938708809388081B +:10A680009093890820918208309183084091840832 +:10A690005091850860917E0870917F0880918008B4 +:10A6A00090918108EAE8CE2EE8E0DE2E0F94580261 +:10A6B00017DE80920E0290920F02A0921002B092CA +:10A6C0001102DCC0EA59F74F8081882309F4D6C013 +:10A6D00080907E0890907F08A0908008B0908108BC +:10A6E0008092490890924A08A0924B08B0924C0878 +:10A6F000409082085090830860908408709085088C +:10A7000040924D0850924E0860924F087092500847 +:10A7100060918608709187088091880890918908D7 +:10A720006093510870935208809353089093540893 +:10A7300000918A0810918B0820918C0830918D0827 +:10A7400000935508109356082093570830935808E3 +:10A750002091620830916308409164085091650827 +:10A760000F9459A37B018C0160938608709387082E +:10A7700080938808909389087AE8C72E78E0D72ECE +:10A78000A3019201C501B4010F94580210916A0807 +:10A79000CC2389F020915A0830915B0840915C08E5 +:10A7A00050915D08609122027091230280912402F1 +:10A7B0009091250210C020915E0830915F08409171 +:10A7C0006008509161086091260270912702809183 +:10A7D0002802909129020F9459A324E0129FF001BE +:10A7E0001124EE5BFD4F20813181428153810F9412 +:10A7F00039A49B01AC0160918A0870918B0880910B +:10A800008C0890918D080F9458A360938A087093D8 +:10A810008B0880938C0890938D088AE898E00F94B9 +:10A82000CD03C0900E02D0900F02E0901002F09085 +:10A83000110220E030E040E752E460911A0270918A +:10A840001B0280911C0290911D020F9407A7609338 +:10A850000E0270930F028093100290931102E09108 +:10A860006A08F0E0EA59F74F10823ADDC0920E0212 +:10A87000D0920F02E0921002F0921102CF911F913C +:10A880000F91FF90EF90DF90CF90BF90AF909F908F +:10A890008F907F906F905F904F900895AF92BF928E +:10A8A000CF92DF92EF92FF920F931F93CF93DF939C +:10A8B000D82F20914108309142084091430850918F +:10A8C000440860913D0870913E0880913F08909146 +:10A8D00040080F9442A6C62F172F082FF92E60911B +:10A8E000580270915902882777FD8095982F0F9410 +:10A8F000D4A420910E0230910F0240911002509189 +:10A9000011020F9407A720E030E040E752E40F94D3 +:10A9100039A420E030E048EC52E40F9439A42091AF +:10A920006A082F93DF93FF920F931F93CF935B01DE +:10A930006C01B2E0EB2E01E020E04DE358E069E469 +:10A9400078E08EE798E00E94C6ED809149089091EA +:10A950004A08A0914B08B0914C0880937E089093D0 +:10A960007F08A0938008B093810880914D08909152 +:10A970004E08A0914F08B0915008809382089093A0 +:10A980008308A0938408B093850880915108909122 +:10A990005208A0915308B091540880938608909370 +:10A9A0008708A0938808B0938908809155089091F2 +:10A9B0005608A0915708B091580880938A08909340 +:10A9C0008B08A0938C08B0938D080F945B9B6093C9 +:10A9D00030087093310880933208909333080F90B9 +:10A9E0000F900F900F900F900F90DF91CF911F91CC +:10A9F0000F91FF90EF90DF90CF90BF90AF900895B0 +:10AA0000CF93DF931F92CDB7DEB77C01EBECF7E07D +:10AA100084918F01882349F069830E94E53F0F5F8D +:10AA20001F4FF80184916981F5CF70E04AE050E052 +:10AA30008CE197E00E94493EF8940F94C815179A4C +:10AA400010926F08169A10927008149AE9EFFBE0C2 +:10AA500084918F01882339F00E94E53F0F5F1F4FDB +:10AA6000F8018491F7CFECEAF7E405911491F8012D +:10AA70008491882329F00E94E53F0F5F1F4FF7CF95 +:10AA80008AE00E94E53FE114F10499F0F701849116 +:10AA90008701882339F00E94E53F0F5F1F4FF801BF +:10AAA0008491F7CF8AE00E94E53FC7010E94CC4322 +:10AAB00006C0E0E1F7E4859194910F9454307894C6 +:10AAC00006E010E00150110951F068EC70E080E000 +:10AAD00090E00F948A9B80E00F94186BF3CFF8946A +:10AAE000A895FECFCF93DF930F94C81580911E08D1 +:10AAF000811136C081E080931E088091380E9091BC +:10AB0000390EA0913A0EB0913B0E8093340E909383 +:10AB1000350EA093360EB093370EE9EFFBE084912B +:10AB2000EF01882331F00E94E53F2196FE018491D8 +:10AB3000F8CFE2EAF7E4C591D491FE01849188232D +:10AB400021F00E94E53F2196F8CF8AE00E94E53F80 +:10AB5000ECE2F5E485919491DF91CF910D9428304A +:10AB6000DF91CF91089580911E080895FF920F9371 +:10AB70001F93CF93DF93EC0180916A0880931F08A5 +:10AB800084E50E94AE3F811102C080E06AC00E944D +:10AB9000DC3F0F94A6A4F62E60931F086623A9F34A +:10ABA000E3EFFBE084918F01882339F00E94E53FB9 +:10ABB0000F5F1F4FF8018491F7CFCD36D10559F1C2 +:10ABC00064F4C836D105A9F0C936D10509F03DC0F5 +:10ABD000E0EFF6E4C591D49118C0CA3DD10529F142 +:10ABE000CD3DD10509F031C0E0EEF6E4C591D49138 +:10ABF00026C0E2EFF6E4C591D491FE01849188234A +:10AC000021F10E94E53F2196F8CF89918823E9F050 +:10AC10000E94E53FFACFEEEEF6E4C591D49189911A +:10AC2000882399F00E94E53FFACFE2EEF6E4C59161 +:10AC3000D4918991882349F00E94E53FFACF899108 +:10AC4000882319F00E94E53FFACF6F2D70E04AE0AB +:10AC500050E08CE197E00E942D3E8AE00E94E53FA3 +:10AC600081E0DF91CF911F910F91FF9008954F9256 +:10AC70005F926F927F928F929F92AF92BF92CF928C +:10AC8000DF92EF92FF92CF93DF9300D01F92CDB768 +:10AC9000DEB72B013C0129833A834B835C838DEE25 +:10ACA0009FE00F945DB08F3F01F58EEE9FE00F9413 +:10ACB0005DB08F3FD1F48FEE9FE00F945DB08F3F7A +:10ACC000A1F480EF9FE00F945DB08F3F71F440E0FE +:10ACD00050E0BA018DEE9FE00F9481B040E050E06B +:10ACE000BA0181EF9FE00F9481B081EF9FE00F9454 +:10ACF00065B04B015C018DEE9FE00F9465B06B0178 +:10AD00007C0169817A818B819C812CE330E040E079 +:10AD100050E00F9409A9C20ED31EE41EF51EB70120 +:10AD2000A6018DEE9FE00F9481B0C301B20128EE21 +:10AD300033E040E050E00F9409A9BA01A901480DA1 +:10AD4000591D6A1D7B1D81EF9FE00F9481B0109209 +:10AD5000C5081092C6081092C7081092C8080F9034 +:10AD60000F900F900F90DF91CF91FF90EF90DF90B9 +:10AD7000CF90BF90AF909F908F907F906F905F909B +:10AD80004F900895CF92DF92EF92FF9220918E081C +:10AD90002223F1F020E030E040E05FE30F9407A7CA +:10ADA0006B017C0120E030E0A9010F9432A48823DC +:10ADB00079F0A7019601C701B6010F9407A72BED03 +:10ADC0003FE049E450E40F9407A79B01AC0104C0A5 +:10ADD00020E030E040E85FE360E070E080E89FE37F +:10ADE0000F9439A4FF90EF90DF90CF900895609179 +:10ADF0004602709147028091480290914902C2DF59 +:10AE00006093420270934302809344029093450200 +:10AE10000895CF93DF93EC010F94A21881E05FD1E6 +:10AE200080E00F94186B209799F0C233D10540F061 +:10AE300062E370E080E090E00F948A9BE297ECCFB1 +:10AE4000BE0180E090E00F948A9BC0E0D0E0E4CFA8 +:10AE5000DF91CF9108958F929F92AF92BF92CF9240 +:10AE6000DF92EF92FF920F931F93CF93DF9315988A +:10AE700081E08093C00882E090E09093BE088093C8 +:10AE8000BD08E091CC08F0E0EE0FFF1FE450F94B55 +:10AE9000859194910F94283020E030E04CE852E402 +:10AEA00060918A0870918B0880918C0890918D0830 +:10AEB0000F9459A360938A0870938B0880938C0831 +:10AEC00090938D08E0908608F0908708009188089C +:10AED000109189082091820830918308409184085C +:10AEE0005091850860917E0870917F08809180085C +:10AEF00090918108CAE6D8E0DF93CF93812C912C02 +:10AF0000E0ECAE2EE0E4BE2EFAE8CF2EF8E0DF2E25 +:10AF10000E9488F720E030E048EC51E460918A0814 +:10AF200070918B0880918C0890918D080F9459A393 +:10AF300060938A0870938B0880938C0890938D0897 +:10AF4000E0908608F09087080091880810918908A1 +:10AF5000209182083091830840918408509185089F +:10AF600060917E0870917F0880918008909181089F +:10AF7000DF93CF93812C912CA0E8AA2EAFE3BA2EB9 +:10AF80000E9488F70F94350D20E030E0A90164EFAE +:10AF900071E084E50F94B39F82E390E03ADF84E5AB +:10AFA0000F94D7A20F900F900F900F908091DD1803 +:10AFB000882331F181E00F94E66D82E00F94186BE5 +:10AFC000E091CC08F0E0EE0FFF1FE458FB4B8591B9 +:10AFD00094910F9428301092BF081092C0081092DC +:10AFE000BE081092BD08DF91CF911F910F91FF9085 +:10AFF000EF90DF90CF90BF90AF909F908F9008958B +:10B000008091BF088823B1F2E091CC08F0E0EE0F08 +:10B01000FF1FE857F84B8591949141E060E00F9451 +:10B02000377091E0811101C090E0CAE6D8E091113B +:10B03000C1CF81E00F94E66D82E00F94186B20E0A1 +:10B0400030E048EC51E460918A0870918B0880915F +:10B050008C0890918D080F9459A360938A0870937F +:10B060008B0880938C0890938D08E0908608F09070 +:10B0700087080091880810918908209182083091F2 +:10B080008308409184085091850860917E087091F2 +:10B090007F088091800890918108DF93CF93812C65 +:10B0A000912CE0E8AE2EEFE3BE2EFAE8CF2EF8E0CA +:10B0B000DF2E0E9488F70F94350DE091CC08F0E068 +:10B0C000EE0FFF1FE857F84B8591949141E060E047 +:10B0D0000F9437700F900F9081116CCFAACFCF9241 +:10B0E000DF92EF92FF920F931F93CF93C82F80911F +:10B0F0006A0220914A108823F1F080910602882389 +:10B10000D1F080914E10811116C080916411909100 +:10B110006311891B8F7079F48091080981110BC02C +:10B120008091FB08811107C08091E1189091E2188D +:10B13000089709F067C021110E94FDBC80914E0E56 +:10B1400090914F0E039714F40E9435B70F945B9BB8 +:10B1500000912C0810912D0820912E0830912F0875 +:10B16000C0903008D0903108E0903208F090330859 +:10B170006C197D098E099F090617170728073907DB +:10B1800040F4012B022B032B21F064E08BEB94E0C5 +:10B1900037DC40910A0250910B0260910C027091D1 +:10B1A0000D02452B462B472B21F10F945B9B009101 +:10B1B0003008109131082091320830913308601B1B +:10B1C000710B820B930B00910A0210910B022091DC +:10B1D0000C0230910D02061717072807390748F4AB +:10B1E0009091641180916311981303C0CC2309F4EA +:10B1F00070C0CF911F910F91FF90EF90DF90CF9093 +:10B200000C94B6F5222309F461C00E9404BD882382 +:10B2100009F494CF20E030E04EE353E46091F1175D +:10B220007091F2178091F3179091F4170F9435A64F +:10B230001816CCF40E94FDBC20E030E0A90168EEB5 +:10B2400073E084E50F94B39F82E390E0E2DD84E550 +:10B250000F94D7A281E08093BF0861E082ED97E070 +:10B260000E948DB66BCF80E00F94E66D0F94CF2EC9 +:10B2700040E060E08CE598E10E945B39E091CC0809 +:10B28000F0E0EE0FFF1FEE54F84B859194910F9470 +:10B290005C4142E060E08CE598E10E945B39E0911E +:10B2A000CC08F0E0EE0FFF1FE25BF94B8591949123 +:10B2B0000F945C4160ED77E080E090E00F948A9B12 +:10B2C0000F94CF2E81E00F94E66D38CF0E94DFBC43 +:10B2D00035CF179A10926F08169A10927008149A28 +:10B2E00088CF2F923F924F925F926F927F928F9270 +:10B2F0009F92AF92BF92CF92DF92EF92FF920F9305 +:10B300001F93CF93DF934B015C01CC24CA94DC2CB8 +:10B31000760154EC252E57E0352E00EC17E068EE50 +:10B32000462E63E0562E612C712C809159088111B4 +:10B3300012C12FEFC216D206E206F20651F0F7FC58 +:10B340000AC10F945B9B6C197D09683B7B4008F038 +:10B3500002C10F945B9B681979098A099B09693EB0 +:10B3600073408105910508F470C08091DD1881114A +:10B3700068C0E8ECF7E08491EF01882331F00E9487 +:10B38000E53F2196FE018491F8CFE0911F0824E06B +:10B39000E29FF0011124EF50F84E4081518162810B +:10B3A000738121E030E08CE197E00E94E93EF101F9 +:10B3B0008491C4ECD7E0882331F00E94E53F2196C8 +:10B3C000FE018491F8CF60911F0870E04AE050E0E0 +:10B3D0008CE197E00E942D3EF8018491C0ECD7E00B +:10B3E000882331F00E94E53F2196FE018491F8CF39 +:10B3F000F7FE03C0C5E6D6E01BC00F945B9B4B0174 +:10B400005C01C701B6016854744F8F4F9F4F681994 +:10B4100079098A099B09A30192010F9409A9BA012C +:10B42000A9012AE030E08CE197E00E941B3E06C0B3 +:10B430008991882319F00E94E53FFACF8AE00E94A3 +:10B44000E53F0F945B9B4B015C010F94A21880E0D9 +:10B4500046DE80E00F94186BFFEFCF16DF06EF0695 +:10B46000FF0609F042C080911D08E0911F08F0E03E +:10B47000EF01CC0FDD1FCC0FDD1FCF50D84EEE0FEC +:10B48000FF1FE750F84E608171818823B9F088274B +:10B4900077FD8095982F0F94D4A420E030E040E809 +:10B4A0005FE30F9458A39B01AC01688179818A8185 +:10B4B0009B810F9435A687FF49C037CF882777FD3A +:10B4C0008095982F0F94D4A420E030E040E85FE30B +:10B4D0000F9459A39B01AC01688179818A819B817A +:10B4E0000F9432A4181694F520CFF7FC1ECFE091EC +:10B4F0001F08F0E0EF01CC0FDD1FCC0FDD1FCF5098 +:10B50000D84EEE0FFF1FE750F84E608171818827FB +:10B5100077FD8095982F0F94D4A49B01AC0168818E +:10B5200079818A819B810F9458A30F94A1A497FFDE +:10B5300007C090958095709561957F4F8F4F9F4F75 +:10B5400066307105810591050CF4EFCE0F945B9B7D +:10B550006B017C01EACEDF91CF911F910F91FF909B +:10B56000EF90DF90CF90BF90AF909F908F907F90A3 +:10B570006F905F904F903F902F9008950F931F937F +:10B58000CF93DF931F921F92CDB7DEB7BE016F5FDF +:10B590007F4F88EF9FE00F941E2F89819A818156FB +:10B5A000904F803A9F4000F11A821982E7E9F7E054 +:10B5B00084918F01882339F00E94E53F0F5F1F4F70 +:10B5C000F8018491F7CF8AE00E94E53FBE016F5FEA +:10B5D0007F4F88EF9FE00F940D2F8AE597E00F943F +:10B5E0005D7A81E00F94E66D0F900F90DF91CF911F +:10B5F0001F910F9108952F923F924F925F926F92F9 +:10B600007F928F929F92AF92BF92CF92DF92EF92F2 +:10B61000FF920F931F93CF93DF93CDB7DEB7CA5836 +:10B62000D2400FB6F894DEBF0FBECDBFC958DD4F74 +:10B63000688379838A839B83C757D240FE01E75F83 +:10B64000FD4F88E2DF011D928A95E9F7E850F2404C +:10B6500080E991E0DF019C011D9221503040E1F72B +:10B66000C75ADD4F19821882C955D240CE01875A78 +:10B670009D4F5C014E019FE6891A9EEF990ADE01FB +:10B68000AF51BE4F3D0190EBC92E9FE0D92E23E272 +:10B69000E22EF12C00E010E0C359DD4F8882CD5638 +:10B6A000D240CD58DD4F9882C357D240B70188278A +:10B6B00077FD8095982F0F94D4A4D3016D937D933B +:10B6C0008D939D933D01F501619171915F018827F3 +:10B6D00077FD8095982F0F94D4A4D4016D937D931A +:10B6E0008D939D934D010F5F1F4F0630110559F04B +:10B6F000B501C6010F941E2FB5E0EB0EF11CE2E080 +:10B70000CE0ED11CD3CFCF51DE4F288139814A8153 +:10B710005B81C15ED140C958DD4F688179818A81E2 +:10B720009B81C757D2400F9432A487FD2BC3FE01E3 +:10B73000EF51FE4F7F016E01FFE2CF1AFEEFDF0AED +:10B740003E012BEB621A2DEF720AC359DD4F0881BF +:10B75000CD56D240CD58DD4F1881C357D24085E039 +:10B7600090E0CF58DD4F99838883C157D240CF589E +:10B77000DD4FA881B981C157D2401197CF58DD4F15 +:10B78000B983A883C157D240F70120893189428902 +:10B79000538964897589868997890F9458A34B01C9 +:10B7A0005C01D80150962D913D914D915C9153973C +:10B7B00054966D917D918D919C9157970F9458A3BC +:10B7C000A50194010F9439A4F60192938293729388 +:10B7D00062936F01D301BE92AE929E928E923D0112 +:10B7E00004501109B4E0EB1AF108CF58DD4FE8819D +:10B7F000F981C157D240EF2B09F0B9CF6E01FFECB0 +:10B80000CF1AFDEFDF0A3E0127E4621A2EEF720A1B +:10B810002E013DE3430E511CCE0101967C0101E057 +:10B8200010E0D6018D909D90AD90BC90139714962A +:10B830002D913D914D915C911797C501B4010F94E5 +:10B8400059A39B01AC010F9459A3F70164A775A7F5 +:10B8500086A797A70130110541F080A691A6A2A660 +:10B86000B3A684829582A682B7820F5F1F4FD30151 +:10B8700014962D913D914D915C91179718966D916D +:10B880007D918D919C911B970F9458A320E030E0FF +:10B8900040EC50E40F9407A7F20160837183828328 +:10B8A0009383F4E0CF0ED11C2CE2E20EF11C34E0C5 +:10B8B000630E711C88E2480E511C0530110509F019 +:10B8C000B0CF8E010B5A1F4F6E0191E5C90ED11CEE +:10B8D00022242394312C2C0E3D1EA8ED2A0E311C5F +:10B8E000F801B8972081318142815381F80160814C +:10B8F0007181828193810F9439A44B015C01E12C09 +:10B90000F12C3601F8E26F1A710826014E0C5F1C0B +:10B91000F301EE0DFF1D2481358146815781C5015C +:10B92000B4010F9407A79B01AC01D20114966D914D +:10B930007D918D919C9117970F9458A3F201648388 +:10B94000758386839783F4E0EF0EF11C24E1E21601 +:10B95000F104D9F6045D1F4F38E2C30ED11C021565 +:10B96000130509F0BDCF1E0185EB280E311C6E01B9 +:10B9700091EBC90ED11C3E01A7EE6A1AADEF7A0A0F +:10B9800014E0E12EF12C270100E010E0812C912C35 +:10B99000A12CB12CF601E00FF11FD301A00FB11FB4 +:10B9A0002D913D914D915C91608171818281938156 +:10B9B0000F9407A79B01AC01B401C5010F9459A3D3 +:10B9C0004B015C01BFEF4B1A5B0A0C5F1F4FE5E0B8 +:10B9D0004E165104F9F69B01AC01D1016D917D9198 +:10B9E0008D919C910F9458A3F60120813181428161 +:10B9F00053810F9439A4D3016D937D938D939C93C0 +:10BA00001397B1E0EB1AF108E8E22E1A3108FCE2D4 +:10BA1000CF1AD10824E0621A7108E114F10409F088 +:10BA2000B2CFCB50DE4F88819981AA81BB81C55F9F +:10BA3000D140C957DD4F88839983AA83BB83C758F8 +:10BA4000D2408E01075F1D4FDE01AF5CBD4FC55870 +:10BA5000DD4FB983A883CB57D240C359DD4F28802F +:10BA6000CD56D240CD58DD4F3880C357D240FE016D +:10BA7000EF51FE4FC358DD4FF983E883CD57D240D5 +:10BA8000C358DD4FA881B981CD57D240CD90DD900C +:10BA9000ED90FD90C358DD4FB983A883CD57D240B8 +:10BAA000C958DD4F288139814A815B81C757D2400F +:10BAB000C701B6010F9432A41816B4F0C358DD4F75 +:10BAC000E881F981CD57D240208131814281538173 +:10BAD000C958DD4F688179818A819B81C757D240DF +:10BAE0000F9432A41816FCF4CF58DD4F2881398109 +:10BAF000C157D2402430310509F01FC1C957DD4F6D +:10BB0000288139814A815B81C758D240C958DD4FAD +:10BB1000688179818A819B81C757D2400F9435A66D +:10BB200018160CF00AC1D80114968D919D910D90B4 +:10BB3000BC91A02DC158DD4F88839983AA83BB8314 +:10BB4000CF57D240F8014080518062807380C55841 +:10BB5000DD4FA881B981CB57D2408D919D910D9039 +:10BB6000BC91A02DC359DD4F88839983AA83BB83E1 +:10BB7000CD56D240D1018D919D910D90BC91A02DBB +:10BB8000CD57DD4F88839983AA83BB83C358D240A6 +:10BB9000A7019601C958DD4F688179818A819B810F +:10BBA000C757D2400F9458A3CD58DD4F688379838F +:10BBB0008A839B83C357D24020E030E040E450E4C6 +:10BBC0000F946AA76B017C01A3019201C158DD4F5C +:10BBD000688179818A819B81CF57D2400F9458A385 +:10BBE0004B015C0120E030E040EC50E4C359DD4FF4 +:10BBF000688179818A819B81CD56D2400F9407A7B5 +:10BC00009B01AC01C501B4010F9439A4A7019601B1 +:10BC10000F9407A76B017C0120E030E040E05FE378 +:10BC2000C301B2010F9407A74B015C01CD58DD4F52 +:10BC3000288139814A815B81C357D240CA01B90149 +:10BC40000F9407A79B01AC01C501B4010F9407A78E +:10BC50009B01AC01C701B6010F9459A36B017C0194 +:10BC6000CD57DD4F288139814A815B81C358D2404D +:10BC7000F10164817581868197810F9458A3C3591E +:10BC8000DD4F288139814A815B81CD56D2400F94A6 +:10BC900039A44B015C01C359DD4F288139814A81A8 +:10BCA0005B81CD56D240CA01B9010F9459A3A301BB +:10BCB00092010F9407A72B013C01C359DD4F288146 +:10BCC00039814A815B81CD56D240C158DD4F6881B0 +:10BCD00079818A819B81CF57D2400F9407A79B011E +:10BCE000AC01C301B2010F9459A320E030E040EC55 +:10BCF00050E40F9439A49B01AC01C501B4010F9429 +:10BD000058A3CD58DD4F288139814A815B81C357C3 +:10BD1000D2400F9407A79B01AC01C701B6010F9455 +:10BD200059A3CD57DD4F288139814A815B81C358A2 +:10BD3000D2400F9459A34B015C01CF58DD4F2881AD +:10BD40003981C157D2402F5F3F4FCF58DD4F3983E4 +:10BD50002883C157D2400C5F1F4FC558DD4F8881E3 +:10BD60009981CB57D2400496C558DD4F998388837B +:10BD7000CB57D24094E0290E311C2530310509F013 +:10BD80007FCE04C0812C912CA12CB12CB401C50113 +:10BD9000C657DD4F0FB6F894DEBF0FBECDBFDF91A3 +:10BDA000CF911F910F91FF90EF90DF90CF90BF90B8 +:10BDB000AF909F908F907F906F905F904F903F904B +:10BDC0002F900895CF92DF92EF92FF926B017C014A +:10BDD0008091F9088823A1F086EA9FE00F945DB076 +:10BDE000882371F0C701B60106DC2091F816309166 +:10BDF000F9164091FA165091FB160F9439A403C01E +:10BE000060E070E0CB01FF90EF90DF90CF9008955D +:10BE10004F925F926F927F928F929F92AF92BF925A +:10BE2000CF92DF92EF92FF920F931F93CF93DF9306 +:10BE3000CDB7DEB728970FB6F894DEBF0FBECDBFE3 +:10BE40000F94350D80915802909159029093FD08FE +:10BE50008093FC08E0916A08F0E0EE0FFF1FE750C6 +:10BE6000F84E60817181882777FD8095982F0F9417 +:10BE7000D4A46093ED087093EE088093EF0890933C +:10BE8000F00880916808909169089093EC0880937D +:10BE9000EB080F945B9B6093D3087093D408809356 +:10BEA000D5089093D60880917E0890917F08A09144 +:10BEB0008008B091810889839A83AB83BC83809387 +:10BEC000DB089093DC08A093DD08B093DE08409077 +:10BED0008208509083086090840870908508409292 +:10BEE000DF085092E0086092E1087092E2088091C9 +:10BEF000860890918708A0918808B09189088D8361 +:10BF00009E83AF83B8878093E3089093E408A0935F +:10BF1000E508B093E60860918A0870918B088091DB +:10BF20008C0890918D086093E7087093E8088093DF +:10BF3000E9089093EA0820E030E040E85FE30F94DE +:10BF400058A360938A0870938B0880938C08909311 +:10BF50008D088AE698E09F938F93812C912CB8EC02 +:10BF6000AB2EB3E4BB2E1AE8C12E18E0D12EED8023 +:10BF7000FE800F811885A301920169817A818B81EE +:10BF80009C810E9488F720E030E040EA51E4609113 +:10BF900086087091870880918808909189080F948D +:10BFA00059A32B013C010F900F9020E030E042E5B7 +:10BFB00053E40F9435A618164CF040928608509220 +:10BFC000870860928808709289080CC080E090E031 +:10BFD000A2E5B3E48093860890938708A09388082D +:10BFE000B0938908E0908608F0908708009188084F +:10BFF000109189082091820830918308409184082B +:10C000005091850860917E0870917F08809180082A +:10C0100090918108AAE66A2EA8E07A2E7F926F920C +:10C02000812C912CB0E7AB2EB1E4BB2EEAE8CE2EEA +:10C03000E8E0DE2E0E9488F71092FA171092F917A6 +:10C040001092FC171092FB171092FE171092FD171A +:10C0500080E090E0A8E4B2E480937E0890937F08AB +:10C06000A0938008B093810880E090E0AEE3B3E451 +:10C070008093820890938308A0938408B0938508E6 +:10C08000E0908608F0908708009188081091890850 +:10C090007F926F92812C912CF8E4AF2EF2E4BF2EA8 +:10C0A0009C01AD01C501B4010E9488F71092690896 +:10C0B000109268080F900F900F900F9028960FB66F +:10C0C000F894DEBF0FBECDBFDF91CF911F910F91CE +:10C0D000FF90EF90DF90CF90BF90AF909F908F90A8 +:10C0E0007F906F905F904F900D94350D0F931F933D +:10C0F000CF93DF9300D01F92CDB7DEB7E0916A08EF +:10C1000084E0E89FF0011124EF50F84E4081518106 +:10C1100062817381E7E5F7E084918F01882379F0EC +:10C1200049835A836B837C830E94E53F0F5F1F4FD7 +:10C13000F80184917C816B815A814981EFCF22E0A3 +:10C1400030E08CE197E00E94E93EE3E5F7E084917E +:10C150008F01882339F00E94E53F0F5F1F4FF801E0 +:10C160008491F7CF60916A0870E04AE050E08CE17A +:10C1700097E00E942D3EEFE4F7E084918F01882341 +:10C1800039F00E94E53F0F5F1F4FF8018491F7CF10 +:10C190004091E1175091E2176091E3177091E41715 +:10C1A00021E030E08CE197E00E94E93E8AE00F90C8 +:10C1B0000F900F900F90DF91CF911F910F910C94E2 +:10C1C000E53F2F923F924F925F926F927F928F92B4 +:10C1D0009F92AF92BF92CF92DF92EF92FF920F9316 +:10C1E0001F93CF93DF93CDB7DEB7C755D1090FB6F5 +:10C1F000F894DEBF0FBECDBF82E090E090931802AE +:10C20000809317028BE693E00E94463F8823B1F0AB +:10C210008091480E9091490E6AE270E005960F9465 +:10C22000F9AC009711F0DC011C928091480E9091BE +:10C23000490E05960F941B300C94E48780E793E039 +:10C240000E94463F882309F4A2C186E793E00E943A +:10C25000463F882391F08091DD18882311F40C94D7 +:10C26000E4870F945B9B60930209709303098093AA +:10C270000409909305090C94E4878BE793E00E94EE +:10C28000463F882361F06091C9087091CA084AE06E +:10C2900050E08CE197E00E94573E0C94E4878FE7D2 +:10C2A00093E00E94463F882309F442C003E813E06C +:10C2B000F80181918F01882319F00E94E53FF8CFA2 +:10C2C0008091AA089091AB082CE3289FB001299F88 +:10C2D000700D11244AE050E08CE197E00E942D3E61 +:10C2E00067E873E08CE197E00E94383E0CE813E0C9 +:10C2F000D8018D918D01882319F00E94E53FF8CF78 +:10C300008091AC089091AD082CE3289FB001299F43 +:10C31000700D11244AE050E08CE197E00E942D3E20 +:10C3200067E873E08CE197E00E94383E0C94E48764 +:10C3300082E993E00E94463F8823C1F08091DD1896 +:10C34000882361F06091DB187091DC184AE050E0BE +:10C350008CE197E00E94493E0C94E48765E973E024 +:10C360008CE197E00E94383E0C94E48787EA93E0E2 +:10C370000E94463F882369F16091480E7091490EF2 +:10C380006D5F7F4F21E041E086E099E00E9466AA60 +:10C3900080916A0B90916B0BA0916C0BB0916D0B1F +:10C3A0008093170C9093180CA093190CB0931A0C4F +:10C3B00082E69BE00E94599A8C010E94E53F0A3078 +:10C3C000110531F760E086E099E00E9405AA0C941F +:10C3D000E4878AEA93E00E94463F882399F00E940E +:10C3E000274B81E08093CB086091480E7091490EF5 +:10C3F0006C5F7F4F21E040E086E099E00E9466AAF2 +:10C400000C94E4878EEA93E00E94463F8823D9F19A +:10C410008091DD18882309F4A1CF1092A10701EBC8 +:10C4200013E0F80181918F01882319F00E94E53F04 +:10C43000F8CF00E010E0FF24F39480919D079091E5 +:10C440009E0720919F073091A007821B930B8F7747 +:10C450009927892B69F08CE197E00E94403DF0928A +:10C46000A1070E94E53F0F5F1F4F1092A107E5CF84 +:10C470000331110514F381E08093A1078AE00E9443 +:10C48000E53F0C94E48784EB93E00E94463F8823C9 +:10C4900079F008EB13E0D8018D918D01882319F014 +:10C4A0000E94E53FF8CF8AE00E94E53F0C94E487C4 +:10C4B00082EC93E00E94463F882351F006EC13E0A3 +:10C4C000F80181918F01882371F30E94E53FF8CF35 +:10C4D00085EE93E00E94463F882321F00F94B92F08 +:10C4E0000C94E4878AEE93E00E94463F882341F053 +:10C4F00060E070E088EF9FE00F940D2F0C94E487CC +:10C500008DEE93E00E94463F882359F06DEE73E074 +:10C510008CE197E00E94383E40E052EC61E070E030 +:10C5200010C088EF93E00E94463F882381F068EFB7 +:10C5300073E08CE197E00E94383E40E054E961E10D +:10C5400070E08CE197E00E94C53C0C94738D84E010 +:10C5500094E00E94463F882361F00F945B9B6093B8 +:10C56000F5087093F6088093F7089093F8080C94F8 +:10C57000E48789E094E00E94463F882311F40C94FC +:10C58000E48761E080E00E9430440C94E4878EE50B +:10C590000E94AE3F81110C94E48787E40E94AE3F75 +:10C5A000882311F40C94AC710E94DC3F0F94A1A479 +:10C5B0006C34710509F410C47CF56430710509F41C +:10C5C00008C154F46230710509F4EBC00CF0F5C0F9 +:10C5D00077FF77C00C9498716C31710509F450C1E4 +:10C5E0007CF46A30710509F445C16B30710511F0B6 +:10C5F0000C94987160E080E00E9473520C94E48780 +:10C600006E31710509F430C36B34710511F00C946F +:10C61000987108E210E0CDC36835710511F40C94EF +:10C62000E4870CF56135710511F40C94687064F4BD +:10C630006F34710511F40C947F6B6035710511F442 +:10C640000C94BE6B0C9498716635710511F40C94C2 +:10C6500018716735710511F00C94987181E00E9492 +:10C66000DA430C94E4876C35710511F40C94217154 +:10C670007CF46A35710511F40C941D716B357105EC +:10C6800011F00C94987181E0809334080C94E48745 +:10C690006236710511F40C9483716336710511F0E3 +:10C6A0000C9498711092DD180F94BE2F6091DD18D4 +:10C6B00084EC9FE00F946FB082E00F94186B0C94A1 +:10C6C000E48780911E0881110C94E4870E94A84E93 +:10C6D0006091C5087091C6088091C7089091C808FC +:10C6E0000F94D2A46B017C0140908A0850908B0873 +:10C6F00060908C0870908D08809055089090560836 +:10C70000A0905708B0905808A5019401C301B20148 +:10C710000F9458A320E030E048EC52E40F9407A7B0 +:10C720009B01AC01C701B6010F9435A61816E4F4BD +:10C73000A3019201C501B4010F9458A320E030E099 +:10C7400048EC52E40F9407A79B01AC01C701B60166 +:10C750000F9459A30F94A6A46093C5087093C608BC +:10C760008093C7089093C808809167088823A9F030 +:10C7700088E50E94AE3F811110C089E50E94AE3F5E +:10C7800081110BC08AE50E94AE3F811106C085E48D +:10C790000E94AE3F81110C94ED870E9470510C9461 +:10C7A000E48780911E0881110C94E4870E942B4F2E +:10C7B00081E00E944E540C94E48780911E08811100 +:10C7C0000C94E4870E942B4F80E00E944E540C94FE +:10C7D000E48780E50E94AE3F882339F00E94DC3F69 +:10C7E0000F94A6A46B017C0103C0C12CD12C76014F +:10C7F00083E50E94AE3F882361F00E94DC3F20E089 +:10C8000030E04AE754E40F9407A70F94A6A46B0105 +:10C810007C01C114D104E104F10431F0EEEBF7E442 +:10C82000859194910F9428300F94350D0F945B9B54 +:10C830004B015C018C0C9D1CAE1CBF1C0F945B9BC0 +:10C8400060933008709331088093320890933308D6 +:10C850000F945B9B681579058A059B0510F00C9475 +:10C86000E4870F94A21880E00E946F5880E00F9434 +:10C87000186BEECF60E081E00E9473520C94E48765 +:10C880000F94350D81E08093FA0888E50E94AE3F51 +:10C89000182F89E50E94AE3F082F8AE50E94AE3F1F +:10C8A000782E101308C0181711F0012F04C0772438 +:10C8B000739401E011E00E9410CE609091101092EC +:10C8C000911082E00F94A00D609386087093870802 +:10C8D000809388089093890871100E9417EB40910B +:10C8E0000E0250910F02609110027091110240935C +:10C8F0003508509336086093370870933808809154 +:10C900005802909159029093FD088093FC0884E6A8 +:10C9100090E090935902809358020F945B9B609330 +:10C92000300870933108809332089093330881E087 +:10C930000F948D0580E1EEE7F8E0A9E4B8E00190FE +:10C940000D928A95E1F710920E0210920F0210924A +:10C95000100210921102112321F080E090E00E9459 +:10C96000C946002321F081E090E00E94C94688E595 +:10C970000E94AE3F882341F00E94D13F672B682B75 +:10C98000692B11F00C941C8889E50E94AE3F882326 +:10C9900041F00E94D13F672B682B692B11F00C945A +:10C9A0003288772009F4F1C080916F08882321F044 +:10C9B00080917008811108C080E090E00E94C94613 +:10C9C00081E090E00E94C9460E9465CEEFE2F9E462 +:10C9D00085919591A591B49189839A83AB83BC830A +:10C9E000EBE2F9E485919591A591B4918F8F98A38D +:10C9F000A9A3BAA32DE438E049E458E0BE016F5F73 +:10CA00007F4FCE014F960E94FB410E94D7CD20E080 +:10CA100030E040E850EC60914D0870914E088091F4 +:10CA20004F08909150080F9432A487FF0CC080E00B +:10CA300090E0A0E8B0EC80934D0890934E08A0934E +:10CA40004F08B093500880E090E0A0EAB0E48093F3 +:10CA5000510890935208A0935308B093540820E0D3 +:10CA600030E040E251E46091620270916302809193 +:10CA70006402909165020F9439A460930E02709342 +:10CA80000F02809310029093110210928608109268 +:10CA90008708109288081092890880E00F948D050D +:10CAA000E0908608F0908708009188081091890826 +:10CAB0002091820830918308409184085091850824 +:10CAC00060917E0870917F08809180089091810824 +:10CAD000FAE8CF2EF8E0DF2E0F94580280900E0275 +:10CAE00090900F02A0901002B0901102E0905108B7 +:10CAF000F0905208009153081091540820914D086D +:10CB000030914E0840914F0850915008609149086B +:10CB100070914A0880914B0890914C08EAE6F8E041 +:10CB2000FF93EF93A5E5CA2EA8E0DA2E0E9488F7BE +:10CB30000F94350D8091490890914A08A0914B08B7 +:10CB4000B0914C0880937E0890937F08A093800852 +:10CB5000B093810880914D0890914E08A0914F08A4 +:10CB6000B09150088093820890938308A093840822 +:10CB7000B093850881E00F948D050F94750582E0D0 +:10CB800090E00E94C9460F900F908AE50E94AE3F48 +:10CB9000882341F00E94D13F672B682B692B11F04D +:10CBA0000C944888E0908608F090870800918808E7 +:10CBB000109189082091820830918308409184085F +:10CBC0005091850860917E0870917F08809180085F +:10CBD00090918108EAE8CE2EE8E0DE2E0F9458020C +:10CBE00080E00F948D058091350890913608A091D2 +:10CBF0003708B091380880930E0290930F02A093EB +:10CC00001002B09311028091FC089091FD0890935E +:10CC10005902809358020F945B9B60933008709385 +:10CC2000310880933208909333080F9475050E9461 +:10CC300065CE0E94B7CF88E50E94AE3F81110C946B +:10CC4000B08789E50E94AE3F81110C94B08787E5DB +:10CC50000E94AE3F81110C94B0878AE50E94AE3FDE +:10CC600081110C94B08786C50F94350D81E00E9428 +:10CC70005A3F8091620290916302A0916402B09148 +:10CC8000650280930E0290930F02A0931002B0935E +:10CC9000110220E030E043E060E070E080E291ECDF +:10CCA0000E9446D0E6E5F8E405911491F8018491DC +:10CCB000882329F00E94E53F0F5F1F4FF7CFE4E381 +:10CCC000FAE084918F01882339F00E94E53F0F5FDD +:10CCD0001F4FF8018491F7CF40917E0850917F0853 +:10CCE000609180087091810825E030E08CE197E048 +:10CCF0000E94E93EEFE2FAE084918F01882339F047 +:10CD00000E94E53F0F5F1F4FF8018491F7CF4091DC +:10CD1000820850918308609184087091850825E00D +:10CD200030E08CE197E00E94E93EEAE2FAE084918B +:10CD30008F01882339F00E94E53F0F5F1F4FF801F4 +:10CD40008491F7CF409186085091870860918808B8 +:10CD50007091890825E030E08CE197E00E94E93E7F +:10CD6000E8E2FAE084918F01882339F00E94E53FE0 +:10CD70000F5F1F4FF8018491F7CF0E94883F0C94FA +:10CD8000E487B801882777FD8095982F0F94D4A465 +:10CD90000E94FB5AAB01BC0122E030E08CE197E03D +:10CDA0000E94EA3E0F5F1F4F0F36110511F40C94DD +:10CDB000E4874AE050E0B8018CE197E00E942D3E04 +:10CDC00059E5E52E56E0F52ED7018D917D0188239A +:10CDD000C1F20E94E53FF8CFEEE0F5E48591949131 +:10CDE0000F945D7AE091CC08F0E0EE0FFF1FE05D5C +:10CDF000FA4B8591949140E060E00F94377088235E +:10CE000059F0E091CC08F0E0EE0FFF1FEC5DF94B1C +:10CE1000859194910F945D7A80916F08882341F0F9 +:10CE200080917008882321F080917108811109C0D8 +:10CE30000E9428B761E081E29AE00E948DB60C94CE +:10CE4000E48781E090E09093180280931702E3E07A +:10CE5000FAE084918F01882339F00E94E53F0F5F4B +:10CE60001F4FF8018491F7CF8AE00E94E53F1A82B4 +:10CE70001982C090EB17D090EC17E090ED17F0906E +:10CE8000EE1720E030E040EA50E4C701B6010F940D +:10CE900039A40F94A1A445E0469F9001479F300D0F +:10CEA0001124B901882777FD8095982F0F94D4A479 +:10CEB0002B013C0120E030E04CE052E40F9432A41E +:10CEC00087FF06C0412C512C2CE0622E22E4722EEA +:10CED000A7019601C301B2010F9432A487FF0AC0D3 +:10CEE00020E030E040EA50E4C301B2010F9459A3BE +:10CEF0002B013C01EFEEF9E084918F01882339F09A +:10CF00000E94E53F0F5F1F4FF8018491F7CF22E0A9 +:10CF100030E0B301A2018CE197E00E94EA3E20E0FC +:10CF200030E040EF51E4C301B2010F9458A320E078 +:10CF300030E04CE852E40F9459A30F94A1A47093ED +:10CF4000F8176093F71784E090E09093BE08809301 +:10CF5000BD0881E090E09093BC088093BB08E0910D +:10CF6000CC08F0E0EE0FFF1FE45EFA4B8591949140 +:10CF700021E0892B09F420E02093C00880E090E0B4 +:10CF8000A0EAB1E480937E0890937F08A093800884 +:10CF9000B093810880E090E0A0E7B2E4809382083B +:10CFA00090938308A0938408B09385088AE999E94F +:10CFB000A9E1BEE38093860890938708A093880830 +:10CFC000B09389088AE698E09F938F93812C912CE7 +:10CFD00018E4A12E12E4B12E0AE8C02E08E0D02EEB +:10CFE0001AE9E12E19E9F12E09E11EE320E030E013 +:10CFF00040E752E460E070E080EA91E40E9488F744 +:10D000000F94350D0F900F90A30192016091EB17D3 +:10D010007091EC178091ED179091EE170F9432A458 +:10D0200087FF06C088EE93E00E9409575FD8ECCFD7 +:10D0300060E086EA9FE00F946FB080E090E0A0EAA5 +:10D04000B0E48093860890938708A0938808B093F3 +:10D05000890820918208309183084091840850917A +:10D06000850860917E0870917F088091800890917A +:10D070008108EAE6F8E0FF93EF93812C912CE8E435 +:10D08000AE2EE2E4BE2EFAE8CF2EF8E0DF2EE12C41 +:10D09000F12C00EA10E40E9488F7EBE2F9E48591B4 +:10D0A0009591A591B49180937E0890937F08A09369 +:10D0B0008008B0938108EFE2F9E42591359145911C +:10D0C00054912093820830938308409384085093AE +:10D0D0008508E0908608F0908708009188081091F4 +:10D0E000890860917E0870917F08809180089091F6 +:10D0F0008108EAE6F8E0FF93EF93812C912CB8E4E5 +:10D10000AB2EB2E4BB2E0E9488F70F94350D20E0C1 +:10D1100030E043E060E070E080E89FEB0E9446D0A2 +:10D120008091860890918708A0918808B09189081D +:10D130008AAF9BAFACAFBDAFEEEEF9E084910F903C +:10D140000F900F900F908F01882339F00E94E53FD8 +:10D150000F5F1F4FF8018491F7CF8AE00E94E53FEF +:10D16000E7EEF9E084918F01882339F00E94E53FD2 +:10D170000F5F1F4FF8018491F7CF409186085091BF +:10D180008708609188087091890822E030E08CE17E +:10D1900097E00E94E93EE6EEF9E084918F01882352 +:10D1A00039F00E94E53F0F5F1F4FF8018491F7CFE0 +:10D1B0008AE00E94E53F2EEA222E2FE0322E33E253 +:10D1C000E32EF12C0FEF1FEFB701882777FD809535 +:10D1D000982F0F94D4A44B015C01EFEDF9E08491FA +:10D1E0006F01882341F00E94E53FFFEFCF1ADF0A6D +:10D1F000F6018491F6CF4AE050E0B8016E5F7F4FB0 +:10D200008CE197E00E942D3EE2EDF9E084916F0100 +:10D21000882341F00E94E53FFFEFCF1ADF0AF601B5 +:10D220008491F6CF8AE00E94E53FEEEBF9E084912D +:10D230006F01882341F00E94E53FFFEFCF1ADF0A1C +:10D24000F6018491F6CF4AE050E0B7018CE197E017 +:10D250000E942D3EEFEAF9E084916F01882341F0AE +:10D260000E94E53FFFEFCF1ADF0AF6018491F6CF67 +:10D270004AE050E060E070E08CE197E00E942D3ED3 +:10D28000EEEAF9E084916F01882341F00E94E53FC6 +:10D29000FFEFCF1ADF0AF6018491F6CF8AE00E94F1 +:10D2A000E53F0F3FFFEF1F0731F0BE016F5F7F4F7C +:10D2B000C1010F940D2FA5019401C301B2010F9478 +:10D2C00032A4181664F40F5F1F4F25E0E20EF11C24 +:10D2D00032E0230E311C0530110509F075CF3801FD +:10D2E00067E2661A68EF760A660C771C280183E00D +:10D2F000480E511C85E0809FD001819FB00D112404 +:10D30000212C312C9D96B9AFA8AFC2010297059789 +:10D310000CF0BCC168AD79AD620D731D882777FD37 +:10D320008095982F0F94D4A422966CAF7DAF8EAFCA +:10D330009FAF2297E7EAF9E084918F01882339F0C3 +:10D340000E94E53F0F5F1F4FF8018491F7CF4AE03D +:10D3500050E0B2018CE197E00E942D3EE4EAF9E052 +:10D3600084918F01882339F00E94E53F0F5F1F4FA2 +:10D37000F8018491F7CF8AE00E94E53F5092BC0803 +:10D380004092BB0820E030E040EF51E422966CADC3 +:10D390007DAD8EAD9FAD22970F9458A320E030E075 +:10D3A00040E251E40F9407A720E030E040EA50E467 +:10D3B0000F9439A420E030E048E452E40F9459A3DC +:10D3C0000F94A1A47093F8176093F71780E090E092 +:10D3D000A0EAB1E480937E0890937F08A093800830 +:10D3E000B093810880E090E0A0E7B2E480938208E7 +:10D3F00090938308A0938408B09385088AE999E9FB +:10D40000A9E1BEE38093860890938708A0938808DB +:10D41000B0938908AAE6B8E0BF93AF93812C912C12 +:10D42000B8E4AB2EB2E4BB2E1AE8C12E18E0D12E20 +:10D430001AE9E12E19E9F12E09E11EE320E030E0BE +:10D4400040E752E460E070E080EA91E40E9488F7EF +:10D450000F94350D0F900F9022962CAD3DAD4EAD33 +:10D460005FAD22976091EB177091EC178091ED17EB +:10D470009091EE170F9432A487FF07C088EE93E0D7 +:10D480000E9409570E947660E7CF80E090E0A0EA12 +:10D49000B0E48093860890938708A0938808B0939F +:10D4A0008908209182083091830840918408509126 +:10D4B000850860917E0870917F0880918008909126 +:10D4C0008108AAE6B8E0BF93AF93812C912C08E4C1 +:10D4D000A02E02E4B02EEAE8CE2EE8E0DE2EE12C0B +:10D4E000F12C00EA10E40E9488F7EBE2F9E4859160 +:10D4F0009591A591B49180937E0890937F08A09315 +:10D500008008B0938108EFE2F9E4259135914591C7 +:10D510005491209382083093830840938408509359 +:10D520008508E0908608F09087080091880810919F +:10D53000890860917E0870917F08809180089091A1 +:10D540008108AAE6B8E0BF93AF93812C912CA8E4A0 +:10D55000AA2EA2E4BA2E0E9488F70F94350D20E07F +:10D5600030E043E060E070E080E89FEB0E9446D04E +:10D570002AAD3BAD4CAD5DAD6091860870918708DA +:10D5800080918808909189080F9458A32091F816EB +:10D590003091F9164091FA165091FB160F9407A797 +:10D5A0000F94A1A47A836983E3EAF9E084910F9050 +:10D5B0000F900F900F908F01882339F00E94E53F64 +:10D5C0000F5F1F4FF8018491F7CF8AE00E94E53F7B +:10D5D000EFE8F9E084918F01882339F00E94E53F5C +:10D5E0000F5F1F4FF8018491F7CF4091EB175091D7 +:10D5F000EC176091ED177091EE1722E030E08CE1AE +:10D6000097E00E94E93EE0E8F9E084918F018823E9 +:10D6100039F00E94E53F0F5F1F4FF8018491F7CF6B +:10D620002AAD3BAD4CAD5DAD609186087091870829 +:10D6300080918808909189080F9458A3AB01BC0190 +:10D6400022E030E08CE197E00E94E93EEFE7F9E06C +:10D6500084918F01882339F00E94E53F0F5F1F4FAF +:10D66000F8018491F7CF8AE00E94E53FBE016F5F29 +:10D670007F4FC3010F940D2FF2E06F0E711C2FEF3F +:10D68000421A520A35E0230E311C3FCE1092BE08DA +:10D690001092BD081092C00861E086EA9FE00F94E6 +:10D6A0006FB0E0E4F9E084918F01882339F00E94A3 +:10D6B000E53F0F5F1F4FF8018491F7CF8AE00E948A +:10D6C000E53F179A10926F08169A10927008149AF4 +:10D6D0001092F8171092F717E091CC08F0E0EE0FD7 +:10D6E000FF1FE85EFA4B859194910F945D7A81E07B +:10D6F0000F94E66D82E00F94186B0C94E4870FEFA3 +:10D7000010E0BDE3CB2EB9E0DB2E10936908009347 +:10D710006808A4E6EA2EF12C84E690E00E940957FE +:10D72000F1E0EF1AF108C1F74AE050E0B8018CE1EE +:10D7300097E00E942D3EF6018491FDE3EF2EF9E083 +:10D74000FF2E882341F00E94E53FFFEFEF1AFF0A0A +:10D75000F7018491F6CF6091AC087091AD084AE072 +:10D7600050E08CE197E00E94493E0550110969F6AE +:10D770000C94E4870F94350D1092FA0881E08093A1 +:10D78000CE0886E50E94AE3F882359F0E091480E0E +:10D79000F091490E8181893021F08F7D11F00E9436 +:10D7A000C43F20916F088091E1189091E2182223E4 +:10D7B00041F020917008222321F02091710821115D +:10D7C0000FC0029749F00E9428B761E086E399E014 +:10D7D0000E948DB60C94E4871092CE080C94E487D6 +:10D7E0001092A207029721F41092CE080C94E487BD +:10D7F000F091C0082896FFAF28972091BD0830917E +:10D80000BE082A963FAF2EAF2A978091BB08909111 +:10D81000BC082C969FAF8EAF2C9781E08093C008F8 +:10D8200081E090E09093BE088093BD0883E190E092 +:10D830009093BC088093BB0881E00F94186B81E93A +:10D8400090E10E94E1EB0E9417EB80E090E0A0EAFB +:10D85000B0E48093860890938708A0938808B093DB +:10D86000890820E030E040E752E460916202709164 +:10D87000630280916402909165020F9439A44B0178 +:10D880005C01209182083091830840918408509176 +:10D89000850860917E0870917F0880918008909142 +:10D8A0008108EAE6F8E0FF93EF931AE8C12E18E04A +:10D8B000D12EE12CF12C00EA10E40E9488F7EBE273 +:10D8C000F9E485919591A591B49180937E08909308 +:10D8D0007F08A0938008B0938108EFE2F9E4859176 +:10D8E0009591A591B4918093820890938308A09319 +:10D8F0008408B093850862E878E08EE798E00E949B +:10D90000B54220E030E040EF51E460915A0270915E +:10D910005B0280915C0290915D020F9439A44B01EF +:10D920005C01E0908608F0908708009188081091CB +:10D930008908209182083091830840918408509191 +:10D94000850860917E0870917F0880918008909191 +:10D950008108EAE6F8E0FF93EF930E9488F70F94BE +:10D96000350D20E030E040EA51E460915A027091B8 +:10D970005B0280915C0290915D020F9439A40F9438 +:10D98000A1A48B0120E030E040E252E46091620209 +:10D990007091630280916402909165020F9439A4A2 +:10D9A0000F94A1A47B010E94C3CD23968FAF239730 +:10D9B00080E00E945A3F0F900F900F900F90ABE2C3 +:10D9C000B9E4BBAFAAAF212C312CC701AA2797FD20 +:10D9D000A095BA2F60968CAF9DAFAEAFBFAF6097EA +:10D9E000C801AA2797FDA095BA2F64968CAF9DAF6A +:10D9F000AEAFBFAF6497C10163E070E00F94F6A8CB +:10DA00007FAF6EAF99AF88AF60FF06C0A2E0B0E015 +:10DA1000A81BB90BB9AFA8AF2396BFAD2397BB2303 +:10DA200079F12114310461F18EAD9FAD880F991FFA +:10DA3000EEADFFAD8E0F9F1F28AD39AD820F931F46 +:10DA4000880F991F8D53904F0F946AB0BC0188279F +:10DA500077FD8095982F0F94D4A42AE037ED43E208 +:10DA60005CE30F9407A7209192103091931040919E +:10DA70009410509195100F9459A32B013C0103C0B1 +:10DA8000412C512C320180E090E0A0EAB0E4809378 +:10DA9000860890938708A0938808B09389086096B9 +:10DAA0006CAD7DAD8EAD9FAD60970F94D4A42796DD +:10DAB0006CAF7DAF8EAF9FAF2797209182083091DA +:10DAC0008308409184085091850860917E08709188 +:10DAD0007F088091800890918108AAE6B8E0BF9302 +:10DAE000AF9327968CAC9DACAEACBFAC2797EAE861 +:10DAF000CE2EE8E0DE2EE12CF12C00EA10E40E94AC +:10DB000088F70F94350DEAADFBAD85919591A59100 +:10DB1000B49180937E0890937F08A0938008B0937F +:10DB20008108EAADFBAD349685919591A591B491AC +:10DB30008093820890938308A0938408B09385080B +:10DB400062E878E08EE798E00E94B54264966CAD9A +:10DB50007DAD8EAD9FAD64970F94D4A44B015C0155 +:10DB6000E0908608F0908708009188081091890855 +:10DB70002091820830918308409184085091850853 +:10DB800060917E0870917F08809180089091810853 +:10DB9000AAE6B8E0BF93AF930E9488F70F94350DC3 +:10DBA0000F900F900F900F902396FFAD2397FF23B8 +:10DBB00061F02114310449F020E030E040E85FE3F7 +:10DBC000C301B2010F9458A304C060E070E080E28A +:10DBD00091EC20E030E043E00E9446D0811108C083 +:10DBE000E091CC08F0E0EE0FFF1FE05DF74B1FC0A7 +:10DBF000C0908608D0908708E0908808F090890847 +:10DC0000A701960160E070E080EA90E40F9458A3C9 +:10DC10002DEC3CEC4CEC5DE30F9432A487FF0AC082 +:10DC2000E091CC08F0E0EE0FFF1FE45DF74B65904C +:10DC3000749066C023962FAD23972223B9F0A701D5 +:10DC40009601C301B2010F9458A39F7720E030E002 +:10DC500040E85FE30F9435A6181644F4E091CC0831 +:10DC6000F0E0EE0FFF1FEC5CF74BE1CF6091EB179C +:10DC70007091EC178091ED179091EE170E94E25E83 +:10DC80009B01AC01A7E08EAD9FADA89F8001A99F2D +:10DC9000100D1124E8ADF9AD0E0F1F1F000F111F5D +:10DCA000000F111F0F561F4E609186087091870854 +:10DCB00080918808909189080F9458A3D8011196F3 +:10DCC0006D937D938D939C9314978091BB08909155 +:10DCD000BC0801979093BC088093BB08BFEF2B1A38 +:10DCE0003B0A81E00F94186BEAADFBAD3896FBAFB1 +:10DCF000EAAFF9E02F16310409F07DCE612C712CCA +:10DD000080E090E0A0EAB0E48093860890938708D2 +:10DD1000A0938808B09389082091820830918308E5 +:10DD2000409184085091850860917E0870917F0829 +:10DD30008091800890918108EAE6F8E0FF93EF93E4 +:10DD400027968CAC9DACAEACBFAC2797EAE8CE2E44 +:10DD5000E8E0DE2EE12CF12C00EA10E40E9488F7C6 +:10DD60000F94350D0F900F9029E02216310421F009 +:10DD700060E0C3010C94C3770E94883F0E94FFEAD1 +:10DD800080EC9FE00F945DB0A82ECE0101963C017F +:10DD9000B12C52E5952E66E4862E9CE499839A82F6 +:10DDA0008B8282E48C83D3018D913D010E94AE3F32 +:10DDB000882319F00E94D13F1DC0B1E0AB1231C1E0 +:10DDC000BB1528F0B11009C08FEB9FE00BC0E2E05B +:10DDD000BE1206C08DEB9FE005C08EEB9FE002C037 +:10DDE0008CEB9FE00F945DB0682F772767FD7095EF +:10DDF000872F972F611571058105910509F411C1D0 +:10DE00000F94D4A42FE632E143E85AE30F9407A716 +:10DE10006B017C019F7727E139ED4EEC5DE30F94B8 +:10DE200035A618160CF033C0E9EFFBE084918F01A2 +:10DE3000882339F00E94E53F0F5F1F4FF80184915E +:10DE4000F7CFE2E1F9E084918F01882339F00E9455 +:10DE5000E53F0F5F1F4FF8018491F7CF22E030E0DC +:10DE6000B701A6018CE197E00E94E93EE9E0F9E004 +:10DE700084918F01882339F00E94E53F0F5F1F4F87 +:10DE8000F8018491F7CF8AE00E94E53FCAC0F2E032 +:10DE9000BF1609F469C023E0B21609F494C031E05A +:10DEA000B31689F120E030E040E05FE3C701B6013E +:10DEB0000F9407A71B012C0102E910E1A2019101B7 +:10DEC000D80114966D917D918D919C9117970F9427 +:10DED00059A3F8016483758386839783A70196010C +:10DEE00060817181828193810F9459A3D8016D93D0 +:10DEF0007D938D939C931397045E1F4FB0E1063E74 +:10DF00001B07E1F68EC020E030E040E05FE3C70190 +:10DF1000B6010F9407A71B012C0106E910E1A2012D +:10DF20009101F80160817181828193810F9459A3DD +:10DF3000D8016D937D938D939C931397A7019601C0 +:10DF400014966D917D918D919C9117970F9459A383 +:10DF5000F8016483758386839783045E1F4FF0E125 +:10DF60000A3E1F07E1F65DC020E030E040E05FE3DD +:10DF7000C701B6010F9407A71B012C0102E910E1AC +:10DF8000A2019101D8015C966D917D918D919C913A +:10DF90005F970F9459A3F801648F758F868F978FC1 +:10DFA000A701960160817181828193810F9459A3A9 +:10DFB000D8016D937D938D939D938D01B0E10E39C2 +:10DFC0001B07F1F62EC020E030E040E05FE3C70120 +:10DFD000B6010F9407A71B012C010EEA10E1A20164 +:10DFE0009101F80160817181828193810F9459A31D +:10DFF000D8016D937D938D939D938D01A70196011B +:10E0000058966D917D918D919C915B970F9459A33A +:10E01000F801608F718F828F938FF0E10A3B1F07A9 +:10E02000F1F6B39424E0B212B8CE81E990E10E94F7 +:10E03000FCEB81E0809391100E9429E4E0916A0852 +:10E0400034E0E39FF0011124EF50F84E20E030E07F +:10E050004EE353E460817181828193810F9435A6F0 +:10E06000181694F48091F908882371F086EA9FE0ED +:10E070000F945DB0882341F08091F7179091F817C5 +:10E08000C29714F00C945E8881E090E0909318029F +:10E090008093170228966FAD28976093C0082A9640 +:10E0A0008EAD9FAD2A979093BE088093BD082C96A5 +:10E0B000AEADBFAD2C97B093BC08A093BB08109237 +:10E0C000CE081092CD0882E00F94186B0C94E48770 +:10E0D00080919110882309F49CC0EFEFF8E08491BF +:10E0E0008F01882339F00E94E53F0F5F1F4FF80131 +:10E0F0008491F7CF4AE050E067E070E08CE197E070 +:10E100000E942D3EEDEFF8E084918F01882339F0D5 +:10E110000E94E53F0F5F1F4FF8018491F7CF4AE05F +:10E1200050E067E070E08CE197E00E942D3EEAEE5F +:10E13000F8E084918F01882339F00E94E53F0F5F5A +:10E140001F4FF8018491F7CF4AE050E065E070E09E +:10E150008CE197E00E942D3EE8EDF8E084918F017C +:10E16000882339F00E94E53F0F5F1F4FF80184912B +:10E17000F7CF8AE00E94E53F00E010E035EDA32EE6 +:10E1800038E0B32E43ED842E48E0942EE12CF12CA0 +:10E190009801275C3E4E6901F501849125ED622EC0 +:10E1A00028E0722E882341F00E94E53FFFEF6F1AAE +:10E1B0007F0AF3018491F6CFF601EE0DFF1D418138 +:10E1C00052816381748125E030E08CE197E00E9408 +:10E1D000E93EF4E0EF0EF11C2CE1E216F104E1F669 +:10E1E000F401849193EDE92E98E0F92E882341F013 +:10E1F0000E94E53FFFEFEF1AFF0AF7018491F6CF87 +:10E200000C5111090C33FFEF1F0709F0BFCF0C941D +:10E21000E487E5EBF8E084918F01882311F40C94F6 +:10E2200053620E94E53F0F5F1F4FF8018491F5CFC5 +:10E2300086EE0E94DA430C94E487109234080C9422 +:10E24000E48785E40E94AE3F811102C00F94350D32 +:10E2500013E6612E14E0712E02E7802E08E0902E66 +:10E260008EE7A82E88E0B82E512CD3018D913D0168 +:10E270000E94AE3F8823D9F1B3E05B120CC00E942C +:10E28000DC3FF50160837183828393838AE898E0A1 +:10E290000F94CD032CC00E94DC3FD4012D913D9101 +:10E2A0004D915C910F9459A3F50160837183828332 +:10E2B0009383E0908608F090870800918808109179 +:10E2C00089082091820830918308409184085091F8 +:10E2D000850860917E0870917F08809180089091F8 +:10E2E0008108BAE8CB2EB8E0DB2E0F945802539485 +:10E2F000F4E08F0E911C24E0A20EB11C34E0531206 +:10E30000B4CF0C94E48781E08093DD180F945B9B7D +:10E31000609302097093030980930409909305099F +:10E320006091DD1884EC9FE00F946FB00C94E4874B +:10E330008091520E9091530E895A914F9F938F93D3 +:10E3400080EA98E09F938F930F9494AD0F900F9075 +:10E350000F900F900C94E4878DE40E94AE3F8823C9 +:10E3600011F40C94BA86E091480EF091490E319662 +:10E3700081918032E9F38930D9F380538A30A0F05B +:10E380008091520E9091530E895A914F9F938F9383 +:10E390008BE898E09F938F930F9494AD0F900F901C +:10E3A0000F900F900C94E4870E94DC3F0F94A1A47F +:10E3B0006837710511F40C94A37D0CF0D7C06C3252 +:10E3C000710509F4A6C50CF064C06831710509F443 +:10E3D000D9C30CF038C06231710511F40C945F7B25 +:10E3E000CCF477FF02C00C94A786623071050CF460 +:10E3F000C5C26131710511F00C94A786E6E8F6E418 +:10E40000859194910F942830179816981598149820 +:10E410000C94E4876531710509F48DC354F46431BB +:10E42000710511F00C94A786E6E0F8E405911491CB +:10E4300063C36631710509F484C36731710509F45A +:10E4400086C30C94A7866D31710511F40C94E48792 +:10E4500084F46A31710509F4ABC30CF4A3C36B31C6 +:10E46000710509F4B3C36C31710509F4B5C30C949B +:10E47000A7866F31710509F4ACC40CF4DCC36032BB +:10E48000710509F410C46A32710509F4FBC40C94D7 +:10E49000A7866936710509F489C5C4F56335710528 +:10E4A00011F40C945A7BFCF46F32710509F440C5E9 +:10E4B00064F46D32710511F00C94A7868AE50E9410 +:10E4C000AE3F0E94D84B0C94E4876135710511F47E +:10E4D0000C94347B6235710511F00C94A786109270 +:10E4E00001090C94E4876535710511F40C94987B4F +:10E4F00014F40C945F7B6C35710511F40C94B37BB0 +:10E500006836710509F41EC50C94A786603771053D +:10E5100009F436C59CF46B36710511F40C942E7B0E +:10E5200014F40C94FE7A6D36710509F469C66E36E2 +:10E53000710511F40C94367C0C94A7866237710532 +:10E5400011F40C94A37C14F40C94497C633771058A +:10E5500011F40C946F7C6737710511F00C94A78649 +:10E56000E6EEF6E4059114910C94A87D6F3281E0FB +:10E57000780711F40C9428830CF081C06F3C71056E +:10E5800011F40C9457800CF045C0693C710511F4EE +:10E590000C94377FD4F46C38710509F4F6C454F444 +:10E5A0006937710511F00C94A78681E00F948D05F1 +:10E5B0000C94E4876E3B710509F4CCC6683C710588 +:10E5C00011F40C94C27E0C94A7866C3C710511F476 +:10E5D0000C94717F6CF46B3C710511F00C94A78660 +:10E5E00003E614E040E0E42E47E1F42E0C94627F51 +:10E5F0006D3C710511F40C94937F6E3C710511F024 +:10E600000C94A78603E614E032E7E32E38E0F32EFD +:10E610000C944880623E710511F40C943981A4F485 +:10E62000613D710511F40C94B28014F40C948C804B +:10E630006C3D710511F40C9404816D3D710511F46C +:10E640000C9413810C94A7866C32A1E07A0711F424 +:10E650000C9495813CF4603F710511F40C94E487AF +:10E660000C94A7866D32E1E07E0711F40C94CB8107 +:10E670006E32714011F40C941A830C94A78668359D +:10E6800022E0720711F40C945C840CF040C0643FEB +:10E6900081E0780711F40C946083ECF46E35A1E00E +:10E6A0007A0711F40C94FA853CF46033714011F44C +:10E6B0000C9486820C94A7866F35F1E07F0711F4E5 +:10E6C0000C9431866039714011F00C94A7860F9438 +:10E6D000350D0C94E487663F31E0730711F40C9418 +:10E6E0006C8314F40C946683673F91E0790711F40E +:10E6F0000C946F836D3F714011F00C94A7860F94BA +:10E70000B92FE3EFFBE084918F010C9473836335A1 +:10E71000B3E07B0711F40C948A830CF0FFC06A35D8 +:10E72000F2E07F0711F40C94C68514F40C94B885BC +:10E730006D3B32E0730711F40C948D866E3B724092 +:10E7400011F00C94A78650906A0210926A0281E040 +:10E750008093C00882E090E09093BE088093BD084B +:10E76000E091CC08F0E0EE0FFF1FE050FB4B8591ED +:10E7700094910F94283020E030E044E352E460911B +:10E780008A0870918B0880918C0890918D080F9465 +:10E7900058A360938A0870938B0880938C08909399 +:10E7A0008D08E0908608F090870800918808109105 +:10E7B0008908209182083091830840918408509103 +:10E7C000850860917E0870917F0880918008909103 +:10E7D0008108EAE66E2EE8E07E2E7F926F92812C11 +:10E7E000912CFCEAAF2EF2E4BF2EAAE8CA2EA8E0D4 +:10E7F000DA2E0E9488F70F94350D20E030E040E7D4 +:10E8000051E460918A0870918B0880918C089091F6 +:10E810008D080F9458A360938A0870938B08809397 +:10E820008C0890938D08E0908608F09087080091FE +:10E8300088081091890820918208309183084091BE +:10E8400084085091850860917E0870917F088091BE +:10E850008008909181087F926F92812C912CB0E872 +:10E86000AB2EB1E4BB2E0E9488F70F94350D20E04B +:10E8700030E040EA51E460918A0870918B08809101 +:10E880008C0890918D080F9458A360938A08709318 +:10E890008B0880938C0890938D08E0908608F09008 +:10E8A000870800918808109189082091820830918A +:10E8B0008308409184085091850860917E0870918A +:10E8C0007F0880918008909181087F926F920E94CA +:10E8D00088F70F94350DE091CC08F0E0EE0FFF1FA4 +:10E8E000E85DF94B859194910E94CC43149A64E6BB +:10E8F00070E080E090E00F948A9B9FB7F89480913D +:10E9000002018460809302019FBF0F900F900F90CF +:10E910000F900F900F9010E00C94A2866C3893E04B +:10E92000790711F40C94E4873CF46B38734011F4CC +:10E930000C94D4850C94A786603AE3E07E0709F432 +:10E940001BC2673E734011F00C94A78610921E08FC +:10E950000F9459308091340E9091350EA091360E5F +:10E96000B091370E8093380E9093390EA0933A0EE3 +:10E97000B0933B0E0E943D4E0C94E4870091480EEC +:10E980001091490E0E5F1F4F80E50E94AE3F882315 +:10E9900079F00E94DC3F0F94A6A46B017C01BB249C +:10E9A000B394611571058105910531F4B12C04C052 +:10E9B000B12CC12CD12C760183E50E94AE3F882377 +:10E9C00099F00E94DC3F20E030E04AE754E40F94E5 +:10E9D00007A70F94A6A46B017C01AA24A394611538 +:10E9E00071058105910509F4A12C6AE270E0C80166 +:10E9F0000F94F9AC009711F0DC011C92F801CF01E3 +:10EA000021912032E1F3B11007C0A11005C02223EB +:10EA100019F00F941B3006C0E2EFF4E48591949155 +:10EA20000F94283081E00F94FB2F0F94350D0F9435 +:10EA30005B9B609330087093310880933208909309 +:10EA40003308C114D104E104F104F1F00F945B9B8D +:10EA50004B015C018C0C9D1CAE1CBF1C84E090E043 +:10EA600090931802809317020F945B9B68157905A9 +:10EA70008A059B0510F00C94A0880F94B331811186 +:10EA80000C94A0880C94AB880F94B131882311F4B6 +:10EA90000C94E48784E090E090931802809317022E +:10EAA0000F94B331811109C00F94A21881E00E9424 +:10EAB0006F5880E00F94186BF3CF82E090E0909352 +:10EAC00018028093170280910809E091CC08F0E0C9 +:10EAD000EE0FFF1F882341F0E65EF94B859194917C +:10EAE0000F9428300C94E487E458FB4B8591949163 +:10EAF0000F9428300C94E487F8018491882329F03E +:10EB00000E94E53F0F5F1F4FF7CF8AE00E94E53F6D +:10EB100086E099E00E94CBA7E6EBF7E4059114911B +:10EB2000F8018491882311F40C9453620E94E53F0C +:10EB30000F5F1F4FF5CF86E099E00E9438B00C942C +:10EB4000E48786E099E00E9412A80C94E487809103 +:10EB5000480E9091490E6AE270E004960F94F9AC69 +:10EB6000009711F0DC011C926091480E7091490EE3 +:10EB70006C5F7F4F21E041E086E099E00E9466AA49 +:10EB80000C94E48786E099E00E9416A80F945B9BA2 +:10EB9000609328087093290880932A0890932B0883 +:10EBA0000C94E48786E099E00E941EA80C94E48708 +:10EBB00080910909882311F40C94E48783E50E946D +:10EBC000AE3F81110C94B5880C94E48786E099E0FF +:10EBD0000E9493A80C94E4878091480E9091490E6E +:10EBE0006AE270E004960F94F9AC8C010097A9F0EA +:10EBF0008091520E9091530E6EE470E0895A914FBD +:10EC00000F94F9AC60E270E00F94F9AC0196909328 +:10EC1000490E8093480EF80110826091480E709161 +:10EC2000490E6C5F7F4F21E040E086E099E00E9452 +:10EC300066AA0C94E48780910909882311F40C9446 +:10EC4000E48760E086E099E00E9405AA8091480E82 +:10EC50009091490E6AE270E004960F94F9AC8C0131 +:10EC60000097A9F08091520E9091530E6EE470E0DF +:10EC7000895A914F0F94F9AC60E270E00F94F9ACAF +:10EC800001969093490E8093480ED8011C92609192 +:10EC9000480E7091490E6C5F7F4F86E099E00E94AC +:10ECA000ECB10C94E4878091080981110F94350D23 +:10ECB0000091480E1091490E0C5F1F4F6AE270E000 +:10ECC000C8010F94F9AC7C0161E270E0C8010F94B7 +:10ECD000F9AC009719F08C010F5F1F4FE114F1049C +:10ECE00011F0F701108280E50E94AE3FF82E2091CE +:10ECF000480E3091490E0217130708F4F12C809149 +:10ED00000909882311F40C94E48721E02F2541E0C0 +:10ED1000B80186E099E00E9466AA83E50E94AE3FB2 +:10ED20008823B9F02091480E3091490E2017310701 +:10ED300080F40E94D13FAB01BC014093170C50936B +:10ED4000180C6093190C70931A0C82E69BE00E94D9 +:10ED5000229B86E099E00E9416A8F1100C94E487AB +:10ED60000F945B9B609328087093290880932A086E +:10ED700090932B080C94E4878091480E9091490E53 +:10ED80006AE270E005960F94F9AC8C010097A9F047 +:10ED90008091520E9091530E6EE470E0895A914F1B +:10EDA0000F94F9AC60E270E00F94F9AC0196909387 +:10EDB000490E8093480ED8011C926091480E7091C4 +:10EDC000490E6B5F7F4F86E099E00E9436AD0C9450 +:10EDD000E4870F945B9B60932408709325088093CD +:10EDE000260890932708009128081091290820915F +:10EDF0002A0830912B08601B710B820B930B28EEB5 +:10EE000033E040E050E00F9409A9CA01B9012CE3B6 +:10EE100030E040E050E00F9409A97F936F933F9357 +:10EE20002F938CE798E09F938F93CE0101969F9349 +:10EE30008F930F9441AEE3EFFBE084910FB6F8940B +:10EE4000DEBF0FBECDBF03EF1BE0882339F00E9469 +:10EE5000E53F0F5F1F4FF8018491F7CF8E010F5FE1 +:10EE60001F4FD8018D918D01882319F00E94E53F35 +:10EE7000F8CF8AE00E94E53FCE0101960F941B3047 +:10EE80000C94E48783E50E94AE3F882311F40C9430 +:10EE9000E4870E94DC3F0F94A1A4F62EE72E862F74 +:10EEA0009E2D8C0180E50E94AE3F882331F00F3FFC +:10EEB000110509F010F40C94C6880DE010E0EBE2A7 +:10EEC000F4E0819191918017910711F40C94E487FB +:10EED000B4E0E336FB07A9F70630110539F48F2DAE +:10EEE0009E2D909369088093680804C017FF02C0A4 +:10EEF0000C94E48761E0802F0F94469D6F2D802F46 +:10EF00000F947F9D6F2D7E2D802F0F942E9C0C943F +:10EF1000E4878FEF0E94DA4360E070E088EF9FE0C3 +:10EF20000F9489B00E947DCD0E9410CE0C94E4878E +:10EF300084E090E090931802809317020F94CC45E0 +:10EF40000C94E48788E690E00E94B65581110C94F9 +:10EF5000E48783E50E94AE3F882371F000911F088B +:10EF60000E94DC3F10E0000F111F0750184E0F9455 +:10EF7000A1A4F801718360830F94C7150C94E487F2 +:10EF800063E08BEB94E00E94005583E50E94AE3F66 +:10EF9000882311F40C94E4870E94DC3F0F94A1A411 +:10EFA0007093F8176093F7170C94E48789E690E064 +:10EFB0000E94B65581110C94E487E6E7F8E084914D +:10EFC0008F01882339F00E94E53F0F5F1F4FF80142 +:10EFD0008491F7CFE0911F0824E0E29FF001112413 +:10EFE000EF50F84E408151816281738121E030E021 +:10EFF0008CE197E00E94E93EE3E7F8E084918F011D +:10F00000882339F00E94E53F0F5F1F4FF80184917C +:10F01000F7CFE0911F08F0E0EE0FFF1FE750F84E2A +:10F0200060817181882777FD8095982F0F94D4A4F3 +:10F03000AB01BC0121E030E08CE197E00E94E93EA9 +:10F04000EFE6F8E084918F01882339F00E94E53FD4 +:10F050000F5F1F4FF8018491F7CF4091E117509156 +:10F06000E2176091E3177091E41721E030E08CE142 +:10F0700097E00E94E93EECE6F8E084918F01882356 +:10F0800039F00E94E53F0F5F1F4FF8018491F7CFE1 +:10F090006091F7177091F817882777FD8095982F62 +:10F0A0000F94D4A4AB01BC0121E030E08CE197E0E7 +:10F0B0000E94E93EE9E6F8E084918F01882339F067 +:10F0C0000E94E53F0F5F1F4FF8018491F7CF4AE0A0 +:10F0D00050E060E070E08CE197E00E942D3EE7E6B2 +:10F0E000F8E084918F01882339F00E94E53F0F5F9B +:10F0F0001F4FF8018491F7CF4091F1175091F2170B +:10F100006091F3177091F41721E030E08CE197E003 +:10F110000E94E93EE4E6F8E084918F01882339F00B +:10F120000E94E53F0F5F1F4FF8018491F7CF609178 +:10F13000F9177091FA17882777FD8095982F0F940B +:10F14000D4A4AB01BC0121E030E08CE197E00E9447 +:10F15000E93EE0E6F8E084918F01882339F00E94CF +:10F16000E53F0F5F1F4FF8018491F7CF80911F0893 +:10F1700090E00F94D4144AE050E0BC018CE197E099 +:10F180000E942D3EEBE5F8E084918F01882339F051 +:10F190000E94E53F0F5F1F4FF8018491F7CF8FEF7B +:10F1A0009FEF0F94D4144AE050E0BC018CE197E04B +:10F1B0000E942D3EE7E5F8E084918F01882339F025 +:10F1C0000E94E53F0F5F1F4FF8018491F7CF4091F8 +:10F1D000EB175091EC176091ED177091EE1721E04D +:10F1E00030E08CE197E00E94E93E8AE00E94E53F32 +:10F1F00081E090E090931802809317020C94738D35 +:10F200008DE690E00E94B65581110C94E487E09160 +:10F21000CC08F0E0EE0FFF1FE65CF84B859194916F +:10F220000F94283081E090E09093C4088093C30845 +:10F230008091DD18882321F081E090E00F94AE3BAF +:10F2400083E50E94AE3F882391F000911F080E9441 +:10F25000DC3F10E0000F111F0750184E0F94A1A4BF +:10F26000D8016D937C9381E08093080215C082E5FC +:10F270000E94AE3F882381F000911F080E94DC3F6E +:10F2800010E0000F111F0750184E0F94A1A4F801B1 +:10F2900071836083109208020F94C7150F945B9BD3 +:10F2A0006B017C0100911F0810E0F801EE0FFF1FB9 +:10F2B000E750F84E60817181882777FD8095982FFF +:10F2C0000F94D4A4F801EE0FFF1FEE0FFF1FEF50B5 +:10F2D000F84E11E020813181428153810F9435A68F +:10F2E00018160CF010E010931D0881E090E0909348 +:10F2F00018028093170210925908C701B6010E94A4 +:10F300007159E091CC08F0E0EE0FFF1FEA5CF84B7A +:10F31000859194910F94283082E090E090931802A8 +:10F32000809317029093C4088093C3088091DD18DE +:10F33000882321F082E090E00F94AE3B0F945B9B1A +:10F3400060933008709331088093320890933308AB +:10F350000C94E487E091CC08F0E0EE0FFF1FE85C2E +:10F36000F74B859194910F94283083E090E090932F +:10F37000C4088093C3088091DD18882321F081E0C0 +:10F3800090E00F94AE3B83E50E94AE3F882361F08E +:10F390000E94DC3F0F94A1A47093F8176093F717B5 +:10F3A00081E0809308020FC082E50E94AE3F88236F +:10F3B00051F00E94DC3F0F94A1A47093F817609362 +:10F3C000F717109208020F945B9B4B015C0110929F +:10F3D00059086091F7177091F817882777FD809585 +:10F3E000982F0F94D4A411E02091E1173091E217E7 +:10F3F0004091E3175091E4170F9435A618160CF0BE +:10F4000010E010931D0881E090E090931802809323 +:10F41000170204E518E0F0E5EF2EF8E0FF2EACE46B +:10F42000CA2EA8E0DA2E80911D086091F71770911E +:10F43000F817882309F4A8C0809159088111A4C045 +:10F44000882777FD8095982F0F94D4A42091E117F9 +:10F450003091E2174091E3175091E4170F9435A6CD +:10F4600018160CF0A8C00F945B9B681979098A09DB +:10F470009B09693E73408105910508F47CC0809129 +:10F48000DD18811174C0E0916A0824E0E29FF00168 +:10F490001124EF50F84E4081518162817381F8014F +:10F4A0008491E4E5AE2EE8E0BE2E882301F1659656 +:10F4B0004FAF659766965FAF669767966FAF679732 +:10F4C00068967FAF68970E94E53FFFEFAF1ABF0ACB +:10F4D000F501849168967FAD689767966FAD6797E1 +:10F4E00066965FAD669765964FAD6597DECF22E075 +:10F4F00030E08CE197E00E94E93EF701849130E52D +:10F50000A32E38E0B32E882341F00E94E53FFFEFA1 +:10F51000AF1ABF0AF5018491F6CF60916A0870E0D6 +:10F520004AE050E08CE197E00E942D3EF601849184 +:10F530002CE4A22E28E0B22E882341F00E94E53F61 +:10F54000FFEFAF1ABF0AF5018491F6CF4091E117A2 +:10F550005091E2176091E3177091E41721E030E0D9 +:10F560008CE197E00E94E93E8AE00E94E53F0F941B +:10F570005B9B4B015C010F94A21880E00E946F58C6 +:10F5800080E00F94186B4FCF882777FD8095982FD8 +:10F590000F94D4A42091E1173091E2174091E31722 +:10F5A0005091E4170F9432A487FF05C080910802A0 +:10F5B000882309F458CFE091CC08F0E0EE0FFF1F4C +:10F5C000E45CF74B859194910F94283082E090E0B1 +:10F5D000909318028093170284E090E09093C408FF +:10F5E0008093C3080F945B9B60933008709331083D +:10F5F00080933208909333080C94E48783E50E944B +:10F60000AE3F882319F10E94DC3F20E030E0A901E1 +:10F610000F9432A487FD0FC00E94DC3F20E030E051 +:10F620004FE753E40F9435A6181644F00E94DC3FD0 +:10F630000F94A1A405C060E070E002C06FEF70E01D +:10F6400070936908609368080C94E4878FEF90E0EA +:10F6500090936908809368080C94E4871092690875 +:10F66000109268080C94E4870F94C8150F94350D18 +:10F67000149A0F94B30D109269081092680868EEFE +:10F6800073E080E090E00F948A9B10921902E4E806 +:10F69000F6E4459154912AE438E068E478E08CE09F +:10F6A00094E00E9492BE0F94283080E00F94186B73 +:10F6B0000C94E48781E0809301090C94E48783E54E +:10F6C0000E94AE3F882399F00E94DC3F20E030E0AA +:10F6D0004AE754E40F9407A70F94A6A460930A0284 +:10F6E00070930B0280930C0290930D021DC088E56D +:10F6F0000E94AE3F81110C94CD8889E50E94AE3FF7 +:10F7000081110C94CD888AE50E94AE3F81110C9442 +:10F71000CD8885E40E94AE3F81110C94CD880F9472 +:10F72000350D149A0F94B30D1092BA080C94E48717 +:10F7300083E50E94AE3F882311F40C94E4870E9475 +:10F74000DC3F20E030E04AE754E40F9407A70F9431 +:10F75000A6A460932C0870932D0880932E08909394 +:10F760002F080C94E48723E634E039AF28AF00EF8C +:10F7700016E1B0E0CB2EB7E1DB2E80EBE82E86E180 +:10F78000F82E312CA8ADB9AD8D91B9AFA8AF0E94BC +:10F79000AE3F882309F45CC0B3E03B1252C00E9424 +:10F7A000DC3F2B013C0120E030E040EA51E40F94C3 +:10F7B00032A487FF3FC0A3019201F80160817181EB +:10F7C000828193810F9439A44B015C019B01AC01B0 +:10F7D0006091D0167091D1168091D2169091D31667 +:10F7E0000F9407A76093D0167093D1168093D2160A +:10F7F0009093D316A5019401D6016D917D918D91C1 +:10F800009C910F9407A7F601608371838283938391 +:10F81000D7016D917D918D919C910F94D2A4A501FA +:10F8200094010F9407A70F94A6A4F7016083718336 +:10F8300082839383D8014D925D926D927C9213974F +:10F8400007C00E94DC3FF801608371838283938349 +:10F8500033940C5F1F4FF4E0CF0ED11C24E0E20E76 +:10F86000F11C34E033128ECF0C94E4878EE40E94B6 +:10F87000AE3F882311F40C94E4870E94D13F60933B +:10F88000380E7093390E80933A0E90933B0E0C9481 +:10F89000E48783E50E94AE3F882331F00E94C43F95 +:10F8A000809312020C94E487E3EFFBE084918F01D4 +:10F8B000882339F00E94E53F0F5F1F4FF8018491C4 +:10F8C000F7CF4091120250E060E070E081E498E0F0 +:10F8D0000E9408448AE00E94E53F0C94E48786E594 +:10F8E0000E94AE3F882371F00F94BF978C01F801FE +:10F8F0008491882311F40C9453620E94E53F0F5FBA +:10F900001F4FF5CF85E50E94AE3F882369F08091B7 +:10F91000480E9091490E01969093490E8093480E9F +:10F920000F94309A0C94E487ECEEF6E40591149170 +:10F93000F8018491882311F40C94E4870E94E53F38 +:10F940000F5F1F4FF5CFEEE3F8E084918F0188231E +:10F9500039F00E94E53F0F5F1F4FF8018491F7CF08 +:10F9600040917E0850917F086091800870918108D5 +:10F9700022E030E08CE197E00E94E93EEAE3F8E023 +:10F9800084918F01882339F00E94E53F0F5F1F4F5C +:10F99000F8018491F7CF40918208509183086091DB +:10F9A00084087091850822E030E08CE197E00E94A5 +:10F9B000E93EE6E3F8E084918F01882339F00E9464 +:10F9C000E53F0F5F1F4FF8018491F7CF4091860804 +:10F9D00050918708609188087091890822E030E092 +:10F9E0008CE197E00E94E93EE2E3F8E084918F0128 +:10F9F000882339F00E94E53F0F5F1F4FF801849183 +:10FA0000F7CF40918A0850918B0860918C087091D3 +:10FA10008D0822E030E08CE197E00E94E93EE0EDC5 +:10FA2000F7E405911491F8018491882329F00E944C +:10FA3000E53F0F5F1F4FF7CF0F94920D0F94D4A4A3 +:10FA40002091F0163091F1164091F2165091F31674 +:10FA50000F9439A4AB01BC0122E030E08CE197E0C7 +:10FA60000E94E93EEEE2F8E084918F01882339F0AC +:10FA70000E94E53F0F5F1F4FF8018491F7CF81E0AF +:10FA80000F94920D0F94D4A42091F4163091F51692 +:10FA90004091F6165091F7160F9439A4AB01BC01B2 +:10FAA00022E030E08CE197E00E94E93EEAE2F8E0F3 +:10FAB00084918F01882339F00E94E53F0F5F1F4F2B +:10FAC000F8018491F7CF82E00F94920D0F94D4A4A3 +:10FAD0002091F8163091F9164091FA165091FB16C4 +:10FAE0000F9439A4AB01BC0122E030E08CE197E037 +:10FAF0000E94E93EE6E2F8E084918F01882339F024 +:10FB00000E94E53F0F5F1F4FF8018491F7CF83E01C +:10FB10000F94920D0F94D4A42091FC163091FD16F1 +:10FB20004091FE165091FF160F9439A4AB01BC0111 +:10FB300022E030E08CE197E00E94E93E8AE00E94FA +:10FB4000E53F0C94E48780E00F948D050C94E487E6 +:10FB5000F8018491882329F00E94E53F0F5F1F4F31 +:10FB6000F7CF8AE00E94E53FE2E9F4E405911491C1 +:10FB7000F8018491882329F00E94E53F0F5F1F4F11 +:10FB8000F7CF1E9B15C0EAEBF7E405911491F8013D +:10FB90008491882329F00E94E53F0F5F1F4FF7CF24 +:10FBA0008AE00E94E53FE4E9F4E4059114910DC078 +:10FBB000E8EBF7E405911491F8018491882381F32F +:10FBC0000E94E53F0F5F1F4FF7CFF8018491882314 +:10FBD00029F00E94E53F0F5F1F4FF7CF379B15C0FD +:10FBE000EAEBF7E405911491F8018491882329F058 +:10FBF0000E94E53F0F5F1F4FF7CF8AE00E94E53F6D +:10FC0000E6E8F4E4059114910DC0E8EBF7E4059102 +:10FC10001491F8018491882381F30E94E53F0F5FDE +:10FC20001F4FF7CFF8018491882329F00E94E53F08 +:10FC30000F5F1F4FF7CF1D9B15C0EAEBF7E405914F +:10FC40001491F8018491882329F00E94E53F0F5F09 +:10FC50001F4FF7CF8AE00E94E53FE8E8F4E4059102 +:10FC600014910DC0E8EBF7E405911491F80184912B +:10FC7000882381F30E94E53F0F5F1F4FF7CFF80104 +:10FC80008491882329F00E94E53F0F5F1F4FF7CF33 +:10FC9000029B15C0EAEBF7E405911491F8018491F9 +:10FCA000882329F00E94E53F0F5F1F4FF7CF8AE0BE +:10FCB0000E94E53FE0E8F4E4059114910DC0E8EB03 +:10FCC000F7E405911491F8018491882381F30E944F +:10FCD000E53F0F5F1F4FF7CFF8018491882329F08C +:10FCE0000E94E53F0F5F1F4FF7CF1C9B15C0EAEB4B +:10FCF000F7E405911491F8018491882329F00E947A +:10FD0000E53F0F5F1F4FF7CF8AE00E94E53FE2E833 +:10FD1000F4E4059114910DC0E8EBF7E4059114911A +:10FD2000F8018491882381F30E94E53F0F5F1F4F04 +:10FD3000F7CFF8018491882329F00E94E53F0F5FF7 +:10FD40001F4FF7CF01990FC0EAEBF7E4059114912B +:10FD5000F8018491882311F40C9453620E94E53FCA +:10FD60000F5F1F4FF5CFE8EBF7E405911491F80111 +:10FD70008491882311F40C9453620E94E53F0F5F35 +:10FD80001F4FF5CF80916A0880931F0884E50E9479 +:10FD9000AE3F882319F10E94DC3F0F94A6A4609324 +:10FDA0001F086623D9F0E3EFFBE084918F018823DD +:10FDB00039F00E94E53F0F5F1F4FF8018491F7CFA4 +:10FDC000E4EEF6E405911491D8018D918D0188231C +:10FDD00011F40C94E4870E94E53FF6CF84E40E947E +:10FDE000AE3F882311F40C94E4870E94DC3F20E0AE +:10FDF00030E0A9010F9432A4811103C010928E0843 +:10FE000032C000911F0810E00E94DC3FF801EE0FA5 +:10FE1000FF1FEE0FFF1FEA5BFD4F6083718382833C +:10FE20009383E0904602F0904702009148021091BF +:10FE3000490220E030E0A901B701C8010F9432A4C3 +:10FE4000811104C0E12CF12C00E410E4C701D801B9 +:10FE50008093460290934702A0934802B0934902D0 +:10FE600081E080938E080E94F7560C94E48703E6A5 +:10FE700014E050EEE52E56E1F52EF80181918F0148 +:10FE80000E94AE3F882351F00E94DC3F0F94A6A44D +:10FE9000D7016D937D938D939C931397B4E0EB0EF4 +:10FEA000F11CE4E007361E0741F70F94F3030C94AE +:10FEB000E487F4E0EF0EF11C24E00736120711F49A +:10FEC0000C94E487D8018D918D010E94AE3F882368 +:10FED00081F30E94DC3FF701608371838283938307 +:10FEE000E8CF83E50E94AE3F882351F00E94DC3FBB +:10FEF0006093D8167093D9168093DA169093DB1618 +:10FF000084E50E94AE3F882311F40C94E4870E949C +:10FF1000DC3F6093D4167093D5168093D6169093D9 +:10FF2000D7160C94E48783E50E94AE3F882351F0F6 +:10FF30000E94DC3F6093DC167093DD168093DE1622 +:10FF40009093DF1684E50E94AE3F882351F00E9413 +:10FF5000DC3F6093C0167093C1168093C2169093D5 +:10FF6000C31682E40E94AE3F882361F00E94DC3F0A +:10FF70000F94A6A460931017709311178093121713 +:10FF80009093131788E50E94AE3F882391F00E945A +:10FF9000DC3F6093C8167093C9168093CA1690937D +:10FFA000CB166093C4167093C5168093C6169093B3 +:10FFB000C71689E50E94AE3F882351F00E94DC3FBE +:10FFC0006093C8167093C9168093CA169093CB1687 +:10FFD0008AE50E94AE3F882351F00E94DC3F609387 +:10FFE000CC167093CD168093CE169093CF1685E4E1 +:10FFF0000E94AE3F882351F00E94DC3F6093D016F0 +:020000021000EC +:100000007093D1168093D2169093D31620E030E0EF +:1000100040E251E46091C4167091C5168091C616F5 +:100020009091C7160F9435A6181664F480E090E0FE +:10003000A0E2B1E48093C4169093C516A093C616AF +:10004000B093C71620E030E040E251E46091C8165A +:100050007091C9168091CA169091CB160F9435A64F +:1000600018160CF0B1C780E090E0A0E2B1E48093F4 +:10007000C8169093C916A093CA16B093CB16A4C7FE +:10008000F4E0EF0EF11C24E00636120709F49CC7D9 +:10009000D8018D918D010E94AE3F882389F30E9483 +:1000A000DC3FF7016083718382839383E9CF83E52B +:1000B0000E94AE3F882351F00E94DC3F60932602ED +:1000C00070932702809328029093290286E40E946D +:1000D000AE3F882381F00E94DC3F20E030E040E723 +:1000E00052E40F9439A460931E0270931F02809310 +:1000F0002002909321028AE50E94AE3F882309F4F2 +:1001000063C70E94DC3F609362087093630880932A +:1001100064089093650858C783E50E94AE3F882322 +:1001200051F00E94DC3F60935E0870935F088093FB +:1001300060089093610886E40E94AE3F882309F42A +:1001400043C70E94DC3F20E030E040E752E40F94D8 +:1001500039A460931A0270931B0280931C0290933F +:100160001D0232C783E50E94AE3F882309F42CC7E5 +:100170000E94DC3F0F94A1A46115710549F0613024 +:10018000710559F481E080936708109266081CC7D6 +:10019000109267081092660817C7E3EFFBE084919E +:1001A0008F01882339F00E94E53F0F5F1F4FF80150 +:1001B0008491F7CFE4E0F5E405911491F80184917E +:1001C000882329F00E94E53F0F5F1F4FF7CF009172 +:1001D000520E1091530E095A114FD8018D918D0175 +:1001E000882319F00E94E53FF8CFE1E2F8E084911E +:1001F0008F01882311F40C9453620E94E53F0F5F36 +:100200001F4FF8018491F5CF83E50E94AE3F88230C +:1002100009F4DAC60E94DC3F0F94A1A4709359023E +:1002200060935802D1C683E50E94AE3F882309F44B +:10023000CBC60E94DC3F0F94A1A46B017C0184E536 +:100240000E94AE3F882381F08DED90E00E94B6556C +:100250008111BAC6E0911F08F0E0EE0FFF1FEC5AC3 +:10026000FD4FD182C082B0C6D0925702C0925602D2 +:10027000ABC680E50E94AE3F882309F4A5C60E9464 +:10028000DC3F0F94A1A4D62E062F172F83E50E94E2 +:10029000AE3F882331F00E94DC3F0F94A1A47B0184 +:1002A00003C0EE24EA94FE2CC7010196039708F0E0 +:1002B0008BC6EBE2F4E0819191918017910709F4EC +:1002C00083C624E0E336F207B1F717FD7DC60F942D +:1002D000350DCD2C60E08D2D0F94469D3FEFE3163C +:1002E000F30631F0EA94EF2871F000E010E00DC061 +:1002F0008D2D0F94B49D31E020E0892B09F030E082 +:10030000032F122F02C001E010E08C2D0F94B49D3A +:100310008017910709F458C60F94A21880E00E9434 +:100320006F5880E00F94186BF0CF83E50E94AE3FCA +:10033000882331F00E94DC3F0F94A1A48B0102C0FE +:100340000EE610E080E50E94AE3F882331F00E9467 +:10035000DC3F0F94A1A4CB0102C088EE93E06C01B6 +:10036000EE24D7FCE094FE2C101611067CF420E05D +:1003700030E0A901B80184E50F94B39FC701B6012D +:100380000F948A9B84E50F94D7A21EC6C701B601BD +:100390000F948A9B19C680E50E94AE3F882351F0D6 +:1003A0000E94DC3F6093AA027093AB028093AC0280 +:1003B0009093AD0289E40E94AE3F882361F00E94D1 +:1003C000DC3F0F94CC226093A6027093A702809327 +:1003D000A8029093A90284E40E94AE3F882361F0B2 +:1003E0000E94DC3F0F94D8226093A2027093A30274 +:1003F0008093A4029093A50283E40E94AE3F8823D9 +:1004000051F00E94DC3F60939E0270939F028093A4 +:10041000A0029093A1020F94A714E2E8F6E40591DC +:100420001491F8018491882329F00E94E53F0F5F21 +:100430001F4FF7CF0BE114E0D8018D918D01882378 +:1004400019F00E94E53FF8CF4091AA025091AB020B +:100450006091AC027091AD0222E030E08CE197E057 +:100460000E94E93E0FE114E0F80181918F01882399 +:1004700019F00E94E53FF8CF6091A6027091A702A3 +:100480008091A8029091A9020F94D222AB01BC01E5 +:1004900022E030E08CE197E00E94E93E03E214E0C4 +:1004A000D8018D918D01882319F00E94E53FF8CF86 +:1004B0006091A2027091A3028091A4029091A50282 +:1004C0000F94DE22AB01BC0122E030E08CE197E02A +:1004D0000E94E93E07E214E0F80181918F01882330 +:1004E00019F00E94E53FF8CF40919E0250919F0283 +:1004F0006091A0027091A10222E030E08CE197E0CF +:100500000E94E93E8AE00E94E53F5EC580E50E94C8 +:10051000AE3F882351F00E94DC3F60939A027093B3 +:100520009B0280939C0290939D0289E40E94AE3FBF +:10053000882361F00E94DC3F0F94CC2260939602E6 +:1005400070939702809398029093990284E40E949A +:10055000AE3F882361F00E94DC3F0F94D822609365 +:1005600092027093930280939402909395020F9459 +:10057000A714E2E8F6E405911491F8018491882328 +:1005800029F00E94E53F0F5F1F4FF7CF0BE114E00A +:10059000D8018D918D01882319F00E94E53FF8CF95 +:1005A00040919A0250919B0260919C0270919D0231 +:1005B00022E030E08CE197E00E94E93E0FE114E098 +:1005C000F80181918F01882319F00E94E53FF8CF4F +:1005D0006091960270919702809198029091990291 +:1005E0000F94D222AB01BC0122E030E08CE197E015 +:1005F0000E94E93E03E214E0D8018D918D01882329 +:1006000019F00E94E53FF8CF609192027091930239 +:1006100080919402909195020F94DE22AB01BC016F +:1006200022E030E08CE197E00E94E93E8AE00E94FF +:10063000E53FCAC483E50E94AE3F882319F00E94BB +:10064000DC3F03C060E070E0CB010F94EA03BCC460 +:1006500085E40E94AE3F882341F00E94DC3F0F9466 +:10066000A1A48B0177FF03C009C000E010E0C12CFA +:10067000D12C86E1E82E83E4F82E06C0C12CD12CC3 +:10068000BCE8EB2EB2E4FB2E83E50E94AE3F88234C +:1006900021F00E94DC3F6B017C0183E40E94AE3FAD +:1006A000882331F00E94DC3F0F94A1A49B0102C07B +:1006B00025E030E0A801C701B6010F94221C84C4D4 +:1006C00060E084E190E00E94FC307EC460E084E160 +:1006D00090E00E94593778C40E94D53575C480E0F7 +:1006E0000E94033271C4882339F00E94E53F0F5FF6 +:1006F0001F4FF8018491F7CFE1E1F8E084918F0179 +:10070000882309F461C40E94E53F0F5F1F4FF80181 +:100710008491F6CF8AE50E94AE3F882309F497C002 +:100720000E94DC3F6B017C0120E030E040E751ECAF +:100730000F9435A687FD43C020E030E040EA50EC3E +:10074000C701B6010F9432A418160CF438C0F7FA9A +:10075000F094F7F8F094C0926B08D0926C08E09295 +:100760006D08F0926E08E3EFFBE084918F0188231F +:1007700039F00E94E53F0F5F1F4FF8018491F7CFDA +:10078000E2E8F6E445915491E4E8F4E4859194912B +:1007900020E138E06AE576E00E9492BE8C01F80123 +:1007A0008491882329F00E94E53F0F5F1F4FF7CF08 +:1007B0008AE00E94E53F8AE00E94E53F05C4E3EF3E +:1007C000FBE084918F01882339F00E94E53F0F5FA1 +:1007D0001F4FF8018491F7CFE4E8F4E405911491F8 +:1007E000F8018491882329F00E94E53F0F5F1F4F95 +:1007F000F7CFE0E8F4E405911491F801849188239F +:1008000029F00E94E53F0F5F1F4FF7CF4AE050E00D +:1008100061EF7FEF8CE197E00E942D3EE2E8F4E487 +:1008200005911491F8018491882329F00E94E53FF5 +:100830000F5F1F4FF7CF4AE050E06BEF7FEF8CE187 +:1008400097E00E942D3E8AE00E94E53FBDC3E3EFA2 +:10085000FBE084918F01882339F00E94E53F0F5F10 +:100860001F4FF8018491F7CFE4E8F4E48591949167 +:100870006CE078E00E9471BE8C01F80184918823BD +:1008800029F00E94E53F0F5F1F4FF7CF8AE00E94DB +:10089000E53F40916B0850916C0860916D08709134 +:1008A0006E08705822E030E08CE197E00E94E93E4B +:1008B0008AE00E94E53F88C350906A0210926A0263 +:1008C0000F94350D8091DD18882321F086E190E0AA +:1008D0000F94AE3B809158029091590290934B0235 +:1008E00080934A02E0916A08F0E0EE0FFF1FE750A4 +:1008F000F84E608071802090680830906908C09040 +:100900007E08D0907F08E0908008F0908108CF8E1C +:10091000D8A2E9A2FAA2009182081091830820913E +:100920008408309185080BA31CA32DA33EA34091FE +:1009300086085091870860918808709189084FA3B4 +:1009400058A769A77AA780918A0890918B08A091EF +:100950008C08B0918D088BA79CA7ADA7BEA7C982B4 +:10096000DA82EB82FC820D831E832F8338874987CE +:100970005A876B877C878D879E87AF87B88B85E486 +:100980000E94AE3F882359F00E94DC3F9B01AC01DE +:100990006BA57CA58DA59EA50F9459A30AC020E048 +:1009A00030E040E050E46BA57CA58DA59EA50F949A +:1009B00058A36BA77CA78DA79EA7EFA0F8A409A5B5 +:1009C0001AA52BA13CA14DA15EA16F8D78A189A193 +:1009D0009AA1EAE6F8E0FF93EF93812C912CE8EEE0 +:1009E000AE2EE2E4BE2EDE019B966D010E9488F7DA +:1009F0008AE50E94AE3F0F900F90882349F00E9435 +:100A0000DC3F9B01AC016FA178A589A59AA51EC00A +:100A100020E030E040E050E46FA178A589A59AA5D8 +:100A20000F9459A36B017C016FA378A789A79AA79C +:100A300020E030E040E251E40F9432A487FF0CC084 +:100A400020E030E040E251E4C701B6010F9459A321 +:100A50006FA378A789A79AA7EFA0F8A409A51AA55C +:100A60002BA13CA14DA15EA16F8D78A189A19AA176 +:100A7000EAE6F8E0FF93EF93812C912CB0E7AB2EE0 +:100A8000B1E4BB2EFE01BB966F010E9488F788E59A +:100A90000E94AE3F0F900F90882379F00E94DC3FB8 +:100AA0009B01AC016F8D78A189A19AA10F9459A3E4 +:100AB0006F8F78A389A39AA308C080E090E0A3E594 +:100AC000B3E48F8F98A3A9A3BAA389E50E94AE3F90 +:100AD000882339F00E94DC3F6BA37CA38DA39EA3E7 +:100AE00004C01BA21CA21DA21EA2EFA0F8A409A56F +:100AF0001AA52BA13CA14DA15EA16F8D78A189A162 +:100B00009AA1EAE6F8E0FF93EF93812C912CE8E4B8 +:100B1000AE2EE2E4BE2EDE019B966D010E9488F7A8 +:100B20000F94350D84E090E09093180280931702A3 +:100B300010926908109268080F945B9B4B015C014E +:100B4000E091CC08F0E0EE0FFF1FEE5BF94B8591D2 +:100B500094910E94CC430F900F90412C00E010E044 +:100B6000411085C30F94B331882309F480C31EC498 +:100B70008091E1189091E218892B09F025C285E057 +:100B800090E09093E2188093E1181EC28091E118E2 +:100B90009091E218892B09F017C286E090E09093BB +:100BA000E2188093E11810C288E50E94AE3F8823C6 +:100BB00039F00E94DC3F0F94A1A480E00F94B40EA2 +:100BC0008AE50E94AE3F882339F00E94DC3F0F94F3 +:100BD000A1A481E00F94B40E85E40E94AE3F882367 +:100BE00009F4F2C10E94DC3F0F94A1A482E00F94AB +:100BF000B40EEAC183E50E94AE3F811104C003E652 +:100C000014E0F12C10C010E00E94DC3F0F94A6A469 +:100C1000812F0F948E0F1F5F1530B1F7F0CFF39433 +:100C2000B4E0FB1679F0D8018D918D010E94AE3FA2 +:100C30008823A9F30E94DC3F0F94A6A48F2D0F9464 +:100C40008E0FEDCF82E40E94AE3F882339F00E94E0 +:100C5000DC3F0F94A6A484E00F948E0F0F945110E4 +:100C6000B3C183E50E94AE3F882309F453C00E94BC +:100C7000DC3F0F94A1A46130710541F06230710531 +:100C800009F048C003E614E0F12C25C003E614E0A7 +:100C9000F12CF80181918F010E94AE3F882341F031 +:100CA0000E94DC3F0F94A1A44FEF8F2D0F94500FA3 +:100CB000F394F4E0FF12EDCF82E40E94AE3F88236C +:100CC00049F10E94DC3F0F94A1A44FEF20C0F394A0 +:100CD000B4E0FB1689F0D8018D918D010E94AE3FE2 +:100CE0008823A9F30E94DC3F0F94A1A4462F6FEF45 +:100CF0008F2D0F94500FEBCF82E40E94AE3F8823DC +:100D000049F00E94DC3F0F94A1A4462F6FEF84E0CE +:100D10000F94500F0F94511057C10E942B5754C17C +:100D2000123309F4B6C6163040F09FB7F89480919C +:100D300002018B7F809302019FBF84E690E00E94B6 +:100D400009571F5F0F94B3318111A3C6E9CF80917A +:100D5000520E9091530E895A914F9F938F938EEE1E +:100D600097E09F938F930F9494AD0F900F900F90F7 +:100D70000F902AC184E50E94AE3F882309F4B9C0D0 +:100D80000F94350DE091480EF091490E3196819106 +:100D90008032E9F38930D9F390ED980F9A30B0F0B2 +:100DA0008F3379F0EEEDF7E084918F01882311F411 +:100DB0000C9453620E94E53F0F5F1F4FF80184912E +:100DC000F5CF0F949F9680931F0806C00E94DC3FCA +:100DD0000F94A6A460931F0820911F08E22EF12C07 +:100DE00081E090E0022E01C0880F0A94EAF790910A +:100DF000BA08982B9093BA08222309F433C0E3EF82 +:100E0000FBE084918F01882339F00E94E53F0F5F5A +:100E10001F4FF8018491F7CFECEDF7E084918F013B +:100E2000882339F00E94E53F0F5F1F4FF80184913E +:100E3000F7CF4AE050E0B7018CE197E00E942D3EE9 +:100E40008AE00E94E53FE2E1F7E405911491F801A0 +:100E50008491882311F40C9453620E94E53F0F5F44 +:100E60001F4FF5CF86E40E94AE3F8823D9F00E9441 +:100E7000DC3F6B017C016093390870933A088093E2 +:100E80003B0890933C0820E030E0A9010F9435A680 +:100E9000181644F4C0920E02D0920F02E092100293 +:100EA000F0921102E3EFFBE084918F01882339F087 +:100EB0000E94E53F0F5F1F4FF8018491F7CFE6E7EF +:100EC000F8E405911491F8018491882329F00E9497 +:100ED000E53F0F5F1F4FF7CF60916A0870E04AE06F +:100EE00050E08CE197E00E942D3E8AE00E94E53FB1 +:100EF0006BC0E3EFFBE084918F01882339F00E94FF +:100F0000E53F0F5F1F4FF8018491F7CFE4E0F5E470 +:100F100005911491F8018491882329F00E94E53FFE +:100F20000F5F1F4FF7CF0091520E1091530E095AC9 +:100F3000114FD8018D918D01882319F00E94E53F52 +:100F4000F8CFE7EDF7E084918F01882311F40C943A +:100F500053620E94E53F0F5F1F4FF8018491F5CF68 +:100F6000711028C0662031F181E0809391100F94B8 +:100F7000A00D6B017C0180E00F94A00DAB01BC01C2 +:100F80009701860181E990E10E94FD3F9B01AC0140 +:100F900060918608709187088091880890918908EF +:100FA0000F9458A3609386087093870880938808ED +:100FB000909389088091DD18882321F084E190E0E6 +:100FC0000F94AE3B1092FA0881E090E090931802E3 +:100FD000809317020E947F4E86C5C0905508D0901E +:100FE0005608E0905708F090580820918A083091F0 +:100FF0008B0840918C0850918D08C701B6010F9461 +:1010000058A32DEC3CEC4CEC5DE30F9435A6181680 +:1010100014F00C94CD63C0928A08D0928B08E092B1 +:101020008C08F0928D088AE898E00F94CD0360E078 +:1010300080E00E94735257C50E94DC3F20917208E5 +:101040003091730840917408509175080F9459A31A +:1010500060937E0870937F08809380089093810846 +:101060000C94C4640E94DC3F20917608309177088C +:1010700040917808509179080F9459A360938208A1 +:101080007093830880938408909385080C94D164AE +:101090000E94DC3F20917A0830917B0840917C08C7 +:1010A00050917D080F9459A3609386087093870828 +:1010B00080938808909389080C94D26520E030E0F2 +:1010C00040E85FE360918A0870918B0880918C08FA +:1010D00090918D080F9459A360938A0870938B08A0 +:1010E00080938C0890938D08E0908608F090870894 +:1010F0000091880810918908209182083091830816 +:10110000409184085091850860917E0870917F0815 +:101110008091800890918108EAE6F8E0FF93EF93D0 +:10112000812C912CE8ECAE2EE3E4BE2EFAE8CF2E13 +:10113000F8E0DF2E0E9488F70F900F900C94447017 +:1011400082E090E0909318028093170280E00F9461 +:10115000FB2F0C9463750F94A21881E00E946F58C6 +:1011600080E00F94186B0C9434750E94D13FAB0152 +:10117000BC014093170C5093180C6093190C70939A +:101180001A0C82E69BE00E94229B1ECF0E94DC3F4D +:101190000F94A1A48B010C945F770F94350D88E513 +:1011A0000E94AE3F882319F0179A10926F0889E5C4 +:1011B0000E94AE3F882319F0169A109270088AE5B3 +:1011C0000E94AE3F85E40E94AE3F882311F40C9448 +:1011D000947B149A0C94947B809101018460809399 +:1011E00001010115110509F04FC09FB7F8948091D6 +:1011F00002018460809302019FBF0F5F1F4FB1E027 +:101200004B1609F44FC04B1608F048C084E090E03C +:101210000E9409570F945B9B75016401F0ECCF0E9F +:10122000F7E2DF1EF9E0EF1EF11CC616D706E8064E +:10123000F90608F095CCE091CC08F0E0EE0FFF1F26 +:10124000EA5BF94B859194910E94CC431092FA1776 +:101250001092F9171092FC171092FB171092FE17BC +:101260001092FD170F94350D149A442443940F9453 +:10127000A21881E00E946F58043FF1E01F0709F0B7 +:10128000ABCF00E010E0A8CF0431110509F0B5CFD5 +:101290009FB7F894809102018B7FACCFE2E04E16AD +:1012A000B9F05ECC84E090E00E9409570F94B3310E +:1012B0008823E9F2E0916A08F0E0EE0FFF1FE750A3 +:1012C000F84E718260820F94DE6E42E0442ECFCFE2 +:1012D000E0906A08F12CF701EE0FFF1FE750F84E7F +:1012E00060817181882777FD8095982F0F94D4A411 +:1012F000F701EE0FFF1FEE0FFF1FEF50F84E20819A +:101300003181428153810F9458A36B017C0120E00D +:1013100030E0A9010F9435A618165CF420E030E007 +:1013200040E85FE3C701B6010F9432A487FF1CC0F9 +:101330000AC020E030E040E85FEBC701B6010F943F +:1013400035A618168CF4E091CC08F0E0EE0FFF1FE4 +:10135000EE5BF94B859194910E94CC430F945B9B7B +:101360004B015C01412CFECB44E061E08CE598E14F +:101370000E945B39E0916A0824E0E29FF0011124A9 +:10138000EF50F84E80819181A281B3818FA798ABF5 +:10139000A9ABBAABCE018F960F947A40BC018CE515 +:1013A00098E10F941A9E04E110E061CF9FB7F89482 +:1013B000809102018B7F809302019FBF1092F208FF +:1013C0001092F108E091CC08F0E0EE0FFF1FE05022 +:1013D000FB4B859194910E94CC4382E090E09093E6 +:1013E00018028093170281E08093C008E091CC0836 +:1013F000F0E0EE0FFF1FE050FB4B859194910F94AE +:1014000028308CE40E94AE3F882359F00E94DC3FD4 +:101410009B01AC016BA57CA58DA59EA50F9459A33E +:101420000AC020E030E040EA52E46BA57CA58DA51F +:101430009EA50F9458A36BA77CA78DA79EA720E01D +:1014400030E040EA52E46BA57CA58DA59EA50F94E3 +:1014500059A320E030E044E352E40F9458A36BA773 +:101460007CA78DA79EA7EFA0F8A409A51AA52BA17C +:101470003CA14DA15EA16F8D78A189A19AA1BAE688 +:101480006B2EB8E07B2E7F926F92812C912CECEA30 +:10149000AE2EE2E4BE2EDE019B966D010E9488F71F +:1014A0000F94350D20E030E040E751E46BA57CA5BA +:1014B0008DA59EA50F9458A36BA77CA78DA79EA76B +:1014C000EFA0F8A409A51AA52BA13CA14DA15EA1EE +:1014D0006F8D78A189A19AA17F926F92812C912C16 +:1014E000F0E8AF2EF1E4BF2E0E9488F70F94350D7F +:1014F00020E030E040EA51E46BA57CA58DA59EA5D7 +:101500000F9458A36BA77CA78DA79EA7EFA0F8A464 +:1015100009A51AA52BA13CA14DA15EA16F8D78A1B3 +:1015200089A19AA17F926F920E9488F70F94350D3E +:101530000F94350DE091CC08F0E0EE0FFF1FE85D51 +:10154000F94B859194910E94CC43149A64E670E023 +:1015500080E090E00F948A9B9FB7F89480910201FD +:101560008460809302019FBF0F900F900F900F90A7 +:101570000F900F9000E010E00F94B331811104C080 +:101580000233110509F073C29FB7F89480910201EC +:101590008B7F809302019FBF84E090E090931802BC +:1015A00080931702E091CC08F0E0EE0FFF1FE850A7 +:1015B000FB4B8591949141E060E00F94377099273F +:1015C00087FD90959093F2088093F108892B59F448 +:1015D000E091CC08F0E0EE0FFF1FE851F84B859149 +:1015E00094910F945D7A81E00F94E66D0F94DC4A3C +:1015F00084E090E090931802809317028091060295 +:10160000882391F0511004C080914E10882361F01E +:101610000E94DFBC09C00F94A21881E00E946F589D +:1016200080910602811105C00F94B331882399F38C +:1016300019C0511004C080914E108823A9F30E9454 +:1016400004BD882389F320E030E0A90168EE73E04F +:1016500084E50F94B39F82E390E00E94095784E5EC +:101660000F94D7A280910602882339F0511003C04D +:1016700080914E1081110E94FDBC82E090E0909319 +:1016800018028093170220E030E04CE852E46BA58A +:101690007CA58DA59EA50F9459A36BA77CA78DA7AC +:1016A0009EA7EFA0F8A409A51AA52BA13CA14DA1C6 +:1016B0005EA16F8D78A189A19AA1AAE66A2EA8E001 +:1016C0007A2E7F926F92812C912CB0EAAB2EB1E4EE +:1016D000BB2EFE01BB966F010E9488F720E030E030 +:1016E00048E452E46BA57CA58DA59EA50F9459A353 +:1016F0006BA77CA78DA79EA7EFA0F8A409A51AA5A4 +:101700002BA13CA14DA15EA16F8D78A189A19AA1C9 +:101710007F926F92812C912CA12CE0E4BE2E0E942E +:1017200088F71092F2081092F1080F945D4B20E0B8 +:1017300030E0A90164EF71E084E50F94B39F82E388 +:1017400090E00E94095784E50F94D7A20F900F9064 +:101750000F900F908091F1089091F208019709F491 +:101760009AC01092F2081092F108E4E0F0E0F093D1 +:101770001802E09317020F94A74B22E030E0309359 +:101780001802209317028091F1089091F20882309C +:10179000910571F1039709F078C020E030E048E44A +:1017A00052E46BA57CA58DA59EA50F9459A36BA7AC +:1017B0007CA78DA79EA7EFA0F8A409A51AA52BA129 +:1017C0003CA14DA15EA16F8D78A189A19AA17F92C4 +:1017D0006F92812C912CA12CB0E4BB2EDE019B9644 +:1017E0006D010E9488F70F94134B0F900F90B2CFAA +:1017F00020E030E04CE852E46BA57CA58DA59EA5C9 +:101800000F9459A36BA77CA78DA79EA7EFA0F8A460 +:1018100009A51AA52BA13CA14DA15EA16F8D78A1B0 +:1018200089A19AA17F926F92812C912CE0EAAE2E31 +:10183000E1E4BE2EDE019B966D010E9488F720E058 +:1018400030E048E452E46BA57CA58DA59EA50F94DD +:1018500059A36BA77CA78DA79EA7EFA0F8A409A505 +:101860001AA52BA13CA14DA15EA16F8D78A189A1E4 +:101870009AA17F926F92812C912CA12CF0E4BF2E23 +:101880000E9488F70F945D4B61CF0F94004B81E06D +:101890000F94E66D5FCF309269082092680820E0CF +:1018A00030E040EA50E46BA57CA58DA59EA50F9481 +:1018B00059A36BA77CA78DA79EA7EFA0F8A409A5A5 +:1018C0001AA52BA13CA14DA15EA16F8D78A189A184 +:1018D0009AA1EAE66E2EE8E07E2E7F926F92812C2E +:1018E000912CA12CF0E4BF2EFE01BB966F010E944B +:1018F00088F7A50194016BA57CA58DA59EA50F94E5 +:1019000058A36BA77CA78DA79EA7EFA0F8A409A555 +:101910001AA52BA13CA14DA15EA16F8D78A189A133 +:101920009AA17F926F92812C912CA8EEAA2EA2E40C +:10193000BA2E0E9488F7EFA0F8A409A51AA52D8158 +:101940003E814F81588569817A818B819C817F920C +:101950006F92812C912CB8E4AB2EB2E4BB2E0E9486 +:1019600088F7E984FA840B851C852D813E814F819F +:10197000588569817A818B819C817F926F92812CBD +:10198000912CE0E7AE2EE1E4BE2E0E9488F720E025 +:1019900030E040E050E46BA57CA58DA59EA50F949A +:1019A00059A36BA77CA78DA79EA7E984FA840B8512 +:1019B0001C852D813E814F81588569817A818B817B +:1019C0009C817F926F92812C912CF8EEAF2EF2E4E5 +:1019D000BF2E0E9488F7CE010D960F94CD03809103 +:1019E0004A0290914B0280935802909359029F9320 +:1019F0008F9383E098E09F938F938E01015D1F4F3B +:101A00001F930F930F9441AE60E0C8010E94C9B5C7 +:101A1000E091CC08F0E0EE0FFF1FE458FB4B8591FE +:101A200094910F9428301092C0081092BE08109222 +:101A3000BD0850926A020FB6F894DEBF0FBECDBF4C +:101A400080914E10882309F4BFCA0E94F3B40F940A +:101A5000350D0E942CB7811105C00E94E1600E94E3 +:101A6000F3B4F7CF0E9454BC0E9441BCADCA06300B +:101A7000110544F09FB7F894809102018B7F809309 +:101A800002019FBF84E690E00E9409570F5F1F4F3D +:101A900073CD9FB7F894809102018B7F80930201F0 +:101AA0009FBF0F94350D0F94B331882329F084E63E +:101AB00090E00E940957F7CF81E00F94E66DE09126 +:101AC000CC08F0E0EE0FFF1FE458FB4B859194919A +:101AD0000F9428301092C0081092BE081092BD08D2 +:101AE00050926A0271CAC95ADF4F0FB6F894DEBF2E +:101AF0000FBECDBFDF91CF911F910F91FF90EF905F +:101B0000DF90CF90BF90AF909F908F907F906F901D +:101B10005F904F903F902F9008950F931F9381E017 +:101B200090E090931802809317028091F3089091AF +:101B3000F408892BA1F00F945B9B00912008109171 +:101B400021082091220830912308601B710B820B21 +:101B5000930B693E73408105910508F092C0809116 +:101B6000F3089091F408892B11F41092FB088091EE +:101B7000CB08882319F00E943E4B6FC00E9435B7F6 +:101B800060E086E099E00E94F6B080914E0E909160 +:101B90004F0E892B09F461C010924D0E80910609F9 +:101BA0008823B1F00091520E1091530E095A114F33 +:101BB0006BE67AE0C8010F94A4AC892BE9F4B80174 +:101BC00086E099E00E9462A980910709882319F0B4 +:101BD0000E94E16023C0E2E8F6E405911491F80167 +:101BE0008491882329F00E94E53F0F5F1F4FF7CFB4 +:101BF0008AE00E94E53F12C060E086E099E00E9422 +:101C000005AAE8E7F7E405911491F8018491882387 +:101C100079F30E94E53F0F5F1F4FF7CF80914D0E84 +:101C2000811119C080914E0E90914F0E892B99F021 +:101C3000E091520EF091530EEC5AF14F80818230B8 +:101C400041F4F89485E08083818192810F9442046D +:101C500078940E94F3B40E940B460F94A2188091CE +:101C6000DE18882311F081E001C080E00E946F58E7 +:101C70000F94CA0480E00F94186B1F910F910C947D +:101C80002CBE81E08093FB088091F3089091F408CA +:101C900001979093F4088093F3080F945B9B6093F3 +:101CA000200870932108809322089093230857CF2F +:101CB0006F987798EAE6F0E080818F7B808380815F +:101CC00080688083EF9A08950F931F93CF93DF93DB +:101CD0000F94763188E694E990931608809315085E +:101CE000109218081092170882E080931008109242 +:101CF0001A08109219080E94754584EC9FE00F9411 +:101D00005DB08093DD186BED78E181EC9FE00F947E +:101D10001E2F2091DD188091DB189091DC182F3F49 +:101D200011F4009721F08F3F2FEF920711F41092DA +:101D3000DD18019621F41092DC181092DB1888E06F +:101D40009FE00F945DB08F3F19F08093A10702C010 +:101D50001092A1078091DD18882339F088E090E087 +:101D60000F94AE3B81E08093A10740E052EC61E02C +:101D700070E08CE197E00E94C53C89EF9FE390936F +:101D800008088093070810920A081092090882E058 +:101D90008093020810920C0810920B088FEF97E0C6 +:101DA0009093511980935019E1E4FBE08491EF0185 +:101DB000882331F00E94E53F2196FE018491F8CFFF +:101DC0008AE00E94E53F03EF1BE0F8018491E801FF +:101DD000882331F00E94E53F2196FE018491F8CFDF +:101DE00081E39BE09F938F930F9494ADC4B70F90C2 +:101DF0000F90C0FF06C0E6E5F6E4859194910F943C +:101E0000E4ADC1FF06C0E0EAF7E4859194910F9438 +:101E1000E4ADC2FF06C0E4E0F8E4859194910F942C +:101E2000E4ADC3FF06C0E4EEF4E4859194910F9411 +:101E3000E4ADC5FF06C0E0E6F5E4859194910F940A +:101E4000E4AD14BEF8018491C3EFDBE0882331F0E8 +:101E50000E94E53F2196FE018491F8CFE2EEF7E47F +:101E6000C591D491FE018491882321F00E94E53F21 +:101E70002196F8CFECE1FBE08491EF01882331F06B +:101E80000E94E53F2196FE018491F8CFE0E7F8E457 +:101E9000C591D491FE018491882321F00E94E53FF1 +:101EA0002196F8CFE5E0FBE08491EF01882331F043 +:101EB0000E94E53F2196FE018491F8CF8AE00E94BE +:101EC000E53FEAEFFAE08491EF01882331F00E94C8 +:101ED000E53F2196FE018491F8CFEEEEFAE0849181 +:101EE000EF01882331F00E94E53F2196FE018491A5 +:101EF000F8CF8AE00E94E53FF8018491C3EFDBE070 +:101F0000882331F00E94E53F2196FE018491F8CFAD +:101F1000EEE5F7E4C591D491FE018491882321F088 +:101F20000E94E53F2196F8CF0E9487A04AE050E04A +:101F3000BC018CE197E00E942D3EE4E6F6E4C591F9 +:101F4000D491FE018491882321F00E94E53F2196DF +:101F5000F8CF4AE050E060E275E08CE197E00E9443 +:101F60002D3E8AE00E94E53F60E084E190E00E941F +:101F70005937C82F0E949EA00F940A150E947545DC +:101F80000E9482F50E947B450F94F00F0E94D7CDEE +:101F90000E94D345159884EC9FE00F945DB0809328 +:101FA000DD186BED78E181EC9FE00F941E2F80919E +:101FB000DD182091DB183091DC188F3F19F42115C2 +:101FC000310521F02F3FFFEF3F0711F41092DD188C +:101FD0002F3F3F4F21F41092DC181092DB188091B4 +:101FE000DD18882321F088E090E00F94AE3B8BEB66 +:101FF0009FE00F945DB091E0813009F090E0909304 +:102000003F0B8CEF9FE00F9465B06F3F7F4F8F4F7A +:102010009F4F71F488EF9FE00F9465B06F3F7F4F43 +:102020008F4F9F4F29F461E08FE59FE00F948DB0B3 +:1020300086E099E00E9438B084E69FE00F945DB09E +:102040008F3F29F460E084E69FE00F948DB086E630 +:102050009FE00F945DB08F3F29F460E086E69FE03B +:102060000F948DB088E69FE00F945DB08F3F29F408 +:1020700060E088E69FE00F948DB085E69FE00F94C6 +:102080005DB08F3F29F460E085E69FE00F948DB04E +:1020900084E69FE00F946AB0019631F460E070E04E +:1020A00084E69FE00F949BB086E69FE00F946AB0B1 +:1020B000019631F460E070E086E69FE00F949BB0FB +:1020C00088E69FE00F946AB0019631F460E070E01A +:1020D00088E69FE00F949BB085E69FE00F946AB07E +:1020E000019631F460E070E085E69FE00F949BB0CC +:1020F0008EEF9FE00F945DB08093CC08823010F09B +:102100000F948E4F8FEA9FE00F945DB08F3F41F4A4 +:1021100060E08FEA9FE00F948DB01092F90806C03E +:1021200091E0811101C090E09093F90886EA9FE068 +:102130000F945DB08F3F59F561E086EA9FE00F9400 +:102140008DB068E070E080EB9FE00F949BB068E199 +:1021500070E082EB9FE00F949BB060E370E084EB53 +:102160009FE00F949BB060E570E086EB9FE00F94DA +:102170009BB068E770E088EB9FE00F949BB061E054 +:102180008FEA9FE00F948DB081E08093F90885EA93 +:102190009FE00F945DB08F3F29F460E085EA9FE0F7 +:1021A0000F948DB089E09FE00F945DB08F3F29F4CC +:1021B00060E089E09FE00F948DB00E94BE5A78DD08 +:1021C0000E94D3BC6CE472E087EA9FE00F941E2F5C +:1021D0006EE472E089EA9FE00F941E2F60E572E0E2 +:1021E0008BEA9FE00F941E2F62E572E08DEA9FE07C +:1021F0000F941E2F24E030E0309318022093170232 +:102200000E94C545C1110BC0E091CC08F0E0EE0F73 +:10221000FF1FEC53F84B859194910F945D7A8FE5F5 +:102220009FE00F945DB0813021F480E090E00F9446 +:1022300076568FE59FE00F945DB081111AC087EF4D +:102240009FE00F945DB09FEF980F9E3F08F437C05A +:1022500060E070E088EF9FE00F9489B0E091CC08D7 +:10226000F0E0EE0FFF1FE05AF84B859194910F9428 +:102270005D7A83E090E0909318028093170281E0EA +:102280000F94E66D0F94CF2E82E00F94186B0F948D +:10229000CC9A81E090E0909318028093170228E294 +:1022A00088E190E00FB6F894A895809360000FBE87 +:1022B00020936000DF91CF911F910F910895863E8A +:1022C00061F4E091CC08F0E0EE0FFF1FE85AF74B05 +:1022D000859194910F945D7A0DC0813079F480914D +:1022E000F908882309F4C5CF86EA9FE00F945DB012 +:1022F0008111BFCF81E00F94E66DBBCF803F09F025 +:10230000B8CFACCF1F920F920FB60F9211242F931C +:102310003F934F935F936F937F938F939F93AF936D +:10232000BF9320916808309169082B3431050CF473 +:1023300049C080916A0086FF11C080910619909172 +:102340000719A0910819B09109198093CF089093AB +:10235000D008A093D108B093D2082EC0809106195E +:1023600090910719A0910819B09109194091CF08CF +:102370005091D0086091D1087091D208841B950BC0 +:10238000A60BB70B253631052CF043E050E060E09A +:1023900070E004C044E050E060E070E0841795070E +:1023A000A607B70748F08091B0089091B10802964F +:1023B0009093B1088093B00880916A0090E48927D7 +:1023C00080936A00BF91AF919F918F917F916F91A0 +:1023D0005F914F913F912F910F900FBE0F901F90E3 +:1023E00018954F925F926F927F92AF92BF92CF9269 +:1023F000DF92EF92FF920F931F93CF93DF93CDB7AE +:10240000DEB7E0970FB6F894DEBF0FBECDBF2B014D +:102410003C0169017A018091BD078111F0C0F894F7 +:102420000F943B048091300E9091310EA091320EAA +:10243000B091330E8093B9079093BA07A093BB076E +:10244000B093BC070F945B044091B9075091BA0751 +:102450006091BB077091BC07481B590B610971095A +:102460004093B9075093BA076093BB077093BC07BA +:102470000E94E4BB4091B9075091BA076091BB0735 +:102480007091BC07481B590B610971094093B9074A +:102490005093BA076093BB077093BC079091641187 +:1024A00080916311981799F0E091631182E5E89F9C +:1024B000F0011124EB59FE4E20E030E040E752E4F9 +:1024C00062A173A184A195A10F9407A708C0609190 +:1024D0000E0270910F028091100290911102609390 +:1024E000A5077093A6078093A7079093A8070E945B +:1024F0000DF680E1EEE7F8E0A9EAB7E001900D9271 +:102500008A95E1F780916A088093A4078091090277 +:102510008093A3070E9453B51092080981E080932D +:10252000BD07B19A109285001092840080ED97E06B +:102530009093890080938800789420E030E0A9018E +:10254000C301B2010F9432A481110AC020E030E02F +:10255000A901C701B6010F9432A4882309F44FC022 +:102560006AE477E0FE0131965F01CF010F945FAC22 +:10257000F50101900020E9F78F0101501109209128 +:10258000B1073091B2074091B3075091B407C3012E +:10259000B2010F9459A323E048E00F9482A967E4A5 +:1025A00077E0C5010F9454ACF50101900020E9F7E4 +:1025B0008F010150110923E046E0C701B6010F94D5 +:1025C00082A964E477E0C5010F9454ACF501019051 +:1025D0000020E9F78F0101501109609162027091AA +:1025E0006302809164029091650223E048E00F94B9 +:1025F00082A960E0C5010E94C9B50E9428B7E09693 +:102600000FB6F894DEBF0FBECDBFDF91CF911F9103 +:102610000F91FF90EF90DF90CF90BF90AF907F90A1 +:102620006F905F904F9008958F929F92AF92BF925C +:10263000CF92DF92EF92FF920F931F93CF93DF938E +:1026400000D01F92CDB7DEB79B01AC018091BD07D2 +:10265000882309F49EC08091A40780936A08809122 +:10266000A5079091A607A091A707B091A80780930E +:102670000E0290930F02A0931002B093110260918A +:10268000B5077091B6078091B7079091B8070F947E +:1026900058A369837A838B839C83CE0101960F9420 +:1026A000CD0320E030E040E551E46091620270919A +:1026B000630280916402909165020F9439A44B01EA +:1026C0005C01E090B107F090B2070091B307109160 +:1026D000B4072091AD073091AE074091AF075091FC +:1026E000B0076091A9077091AA078091AB079091FC +:1026F000AC07EAE6F8E0FF93EF93E5EBCE2EE7E0D8 +:10270000DE2E0E9488F70F94350D80E1E9EAF7E0AC +:10271000AEE7B8E001900D928A95E1F780E1EEE72F +:10272000F8E0A9E4B8E001900D928A95E1F74091B4 +:10273000B9075091BA076091BB077091BC074093ED +:10274000170C5093180C6093190C70931A0C82E6B6 +:102750009BE078D78091B9079091BA07A091BB0709 +:10276000B091BC078093300E9093310EA093320E3F +:10277000B093330E81E0809308091092BD0780E486 +:1027800097E09F938F930F9494AD0F900F900F90BD +:102790000F900F900F900F900F90DF91CF911F919E +:1027A0000F91FF90EF90DF90CF90BF90AF909F90F0 +:1027B0008F9008952BE634E0FC013183208327813C +:1027C000222319F004960C94059C08958F929F92F1 +:1027D000AF92BF92CF92DF92EF92FF920F931F932F +:1027E000CF93DF938C01885A9D4FE4DF680186E91F +:1027F000C80ED11CC114D10419F1780184E3E81A80 +:102800008EEFF80AE70157018FE1A81AB1088BE6AD +:10281000882E84E0982ECC15DD0591F0FE01EE198E +:10282000FF09EA0DFB1D91828082FE01789780816D +:10283000811102C06F97EFCFCE014B97E6D7FACF49 +:10284000C80189589F4FB6DFC8018A5A9F4FDF9150 +:10285000CF911F910F91FF90EF90DF90CF90BF909D +:10286000AF909F908F90A6CF86E099E00E947DA5C3 +:102870000F945B9B60930209709303098093040992 +:10288000909305090F945B9B605679478E4F9F4F3D +:102890006093F5087093F6088093F7089093F80812 +:1028A0000F945B9B6093D3087093D4088093D508F2 +:1028B0009093D6080F945B9B6093CF087093D008D9 +:1028C0008093D1089093D208089586E099E07ECF56 +:1028D000682F8CE598E10E941D3C80E090E008950F +:1028E0008FEF8EBD0DB407FEFDCF8EB508958EBD62 +:1028F0000DB407FEFDCF089561E0FC0180810D94C9 +:102900007F9DFC012281322F306A36953CBD20FD2F +:1029100006C031E0263009F430E0232F01C020E06A +:102920002DBD60E0FC0180810D947F9DCF92DF92F0 +:10293000EF92FF920F931F93CF93DF93EC018B01E4 +:102940007A010F945B9B6B01CBDF8B838F3F49F444 +:102950000F945B9B6C197D096D327140A8F381E186 +:1029600044C08E3F11F08FE040C0E114F104D9F073 +:10297000C70101972FEF2EBDF8014FEF9F01201BDC +:10298000310B2817390738F40DB407FEFDCF2EB5EB +:1029900021934EBDF3CF0DB407FEFDCF2EB5F80148 +:1029A000E80FF91F2083D801E00EF11EC12CD12CB5 +:1029B000AE15BF0579F08D91ED2DFF27E827EE0FBD +:1029C000FF1FE050F44F85919491DC2CCC24C82655 +:1029D000D926EECF85DF082F10E0102F002780DFEB +:1029E000082BC016D10659F080E28983CE0184DF1E +:1029F000CD81CC2369F08FEF7ADFC0E009C0CE0132 +:102A00007BDFCD81CC2319F08FEF71DF01C0C1E0F6 +:102A10008C2FDF91CF911F910F91FF90EF90DF905E +:102A2000CF9008950F931F93CF93DF93EB010F94F3 +:102A30005B9B8B0155DF8F3F49F00F945B9B601BC5 +:102A4000710B6C177D07B0F380E001C081E0DF916E +:102A5000CF911F910F910895CF92DF92FF920F9324 +:102A60001F93CF93DF9300D01F92CDB7DEB76C01D9 +:102A7000F62E29833A834B835C8343DF6CE271E05B +:102A8000C601D0DF8F2D806432DF08E110E05C8169 +:102A90004B813A812981DA01C901002E04C0B69523 +:102AA000A795979587950A94D2F729833A834B8304 +:102AB0005C831DDF0850110929813A814B815C81BB +:102AC000083F8FEF180739F7FF2029F0E8E0FE16DE +:102AD00021F08FEF03C085E901C087E808DFFCE043 +:102AE000FF1201C0FDDE10E0FBDEF601838387FFED +:102AF00004C01F3F11F01F5FF7CF0F900F900F9092 +:102B00000F90DF91CF911F910F91FF90DF90CF90A9 +:102B10000895BF92CF92DF92EF92FF920F931F938F +:102B2000CF93DF93EC01B62E1C82198248830F9459 +:102B30005B9B8B0161E088810F94469DCE01DCDEBA +:102B400060E082E30F94469D61E083E30F94469D2D +:102B500061E084E30F94469D61E085E30F94469D18 +:102B600061E085E30F947F9D85E08A8382E58CBDDB +:102B70001DBC6AE0F62E8FEFBADEFA94E1F720E092 +:102B800030E0A90160E0CE0167DFF82E8B8381E0A1 +:102B9000F81649F00F945B9B601B710B613D774009 +:102BA00070F381E046C02AEA31E040E050E068E09E +:102BB000CE0152DF82FF02C0FC820CC054E0F52E31 +:102BC0008FDE8B83FA94E1F78A3A11F082E031C00C +:102BD00082E08C838C81823031F4C12CD12CE12CA9 +:102BE00040E4F42E03C0C12CD12C760120E030E06B +:102BF000A90167E3CE0130DFA701960169E2CE01AA +:102C00002BDF8B83882349F00F945B9B601B710B38 +:102C1000613D774058F38AE00CC08C818230B1F47A +:102C200020E030E0A9016AE3CE0116DF882329F015 +:102C300088E08983CE0160DE14C052DE807C803C57 +:102C400011F483E08C834CDE4BDE4ADECE0154DE91 +:102C500086E08B1518F488E1898303C0BA8281E08D +:102C600001C080E0DF91CF911F910F91FF90EF9015 +:102C7000DF90CF90BF900895AF92BF92CF92DF9236 +:102C8000EF92FF920F931F93CF93DF93EC016A01B2 +:102C90007B0189018C81833039F0F9E0CC0CDD1C9B +:102CA000EE1CFF1CFA95D1F773E0B72EE4E0AE2ED0 +:102CB000BA94A701960161E1CE01CEDE882311F01E +:102CC000A98207C040E052E0B801CE012FDE811199 +:102CD0000EC0CE01BB2049F00FDE20E030E0A9019C +:102CE0006CE0CE01B9DE1982E3CF06DE80E0DF9131 +:102CF000CF911F910F91FF90EF90DF90CF90BF90F9 +:102D0000AF900895CF93DF93EC016EBD20E030E0EB +:102D10000DB407FEFDCFFA01E20FF31F80818EBDD7 +:102D20000DB407FEFDCF81818EBD2E5F3F4F211573 +:102D300082E0380769F70DB407FEFDCF8FEFD7DDCE +:102D40008FEFD5DDCDDD8B838F71853031F083E161 +:102D50008983CE01D1DD80E001C081E0DF91CF9198 +:102D600008950F931F93CF93DF93EC0189018C811A +:102D7000833039F0B9E0440F551F661F771FBA95AD +:102D8000D1F79A01AB0168E1CE0166DE882311F02C +:102D900086E01EC0A8016EEFCE01B4DF8823C9F023 +:102DA00068E572E0CE013EDE182F811102C087E196 +:102DB0000FC020E030E0A9016DE0CE014DDE8111B1 +:102DC00006C08EDD811103C0CE0196DD05C086E10F +:102DD0008983CE0191DD10E0812FDF91CF911F918A +:102DE0000F9108950F931F93CF93DF93EC010F94EE +:102DF0005B9B8B0175DD8B838F3F49F40F945B9B4D +:102E0000601B710B6D327140A8F381E103C08E3FEE +:102E100031F08FE08983CE016FDD80E001C081E079 +:102E2000DF91CF911F910F910895CF92DF92EF9292 +:102E3000FF920F931F93CF93DF937C0169019A0157 +:102E4000AB0160E309DE882321F080E8F70181838C +:102E50001BC0C701C7DF8823B9F0E601C00ED11E31 +:102E6000CC15DD0519F03CDD8993FACF0230F2E094 +:102E70001F0720F435DD0F5F1F4FF8CFC7013CDD82 +:102E80008FEF35DD81E003C0C70136DD80E0DF91E3 +:102E9000CF911F910F91FF90EF90DF90CF90089509 +:102EA0004F925F926F927F928F929F92AF92BF925A +:102EB000CF92DF92EF92FF920F931F934801590137 +:102EC00051E09522AA24BB24240135014E0C5F1C3D +:102ED000611C711C51E0451652E0550661047104F5 +:102EE00030F0E12CE2E0FE2EE818F90804C0E1140D +:102EF000F10409F448C0462E512C612C712C772422 +:102F000046947794662455244424662369F04770D8 +:102F1000842E912CA12CB12C5CE1880C991CAA1C4C +:102F2000BB1C5A95D1F70CC04F70842E912CA12C4C +:102F3000B12C4BE1880C991CAA1CBB1C4A95D1F7FB +:102F4000B901A8016170772709E0440F551F661F7A +:102F5000771F0A95D1F74429552966297729270132 +:102F600021E0421A510821E05222612C712C44299F +:102F7000552966297729482959296A297B298701F2 +:102F8000960153DF01C081E01F910F91FF90EF90F8 +:102F9000DF90CF90BF90AF909F908F907F906F9079 +:102FA0005F904F900895CF93DF93EC019C012C5FCD +:102FB0003F4F41E050E060E070E0898D9A8D0E94C3 +:102FC000C5A2882399F04D895E896F89788D452B3C +:102FD000462B472B59F44C815D816E817F814D8B4F +:102FE0005E8B6F8B788F998190689983DF91CF91F9 +:102FF0000895CF92DF92EF92FF920F931F93CF939A +:10300000DF93EC0189899A89AB89BC89803E9F4F07 +:10301000AF41B10510F080E06AC0CE01C4DF882363 +:10302000D1F30E94D9A0182F8823A9F3E98DFA8D36 +:10303000CC80DD80EE80FF8032E0C31AD108E10849 +:10304000F108058404C0CC0CDD1CEE1CFF1C0A94A6 +:10305000D2F786859785A089B189C80ED91EEA1E48 +:10306000FB1E81E08093280CC0922B0ED0922C0E78 +:10307000E0922D0EF0922E0E80E092E0EBE2FCE06A +:10308000DF019C011D9221503040E1F701E0E98D04 +:10309000FA8D8481081788F42BE23CE0B701A60181 +:1030A000400F511D611D711D8091290C90912A0CBA +:1030B00058DE8823E1F00F5FEACFC12C82E0D82EE2 +:1030C000E12CF12C058404C0CC0CDD1CEE1CFF1C93 +:1030D0000A94D2F749895A896B897C894C0D5D1D08 +:1030E0006E1D7F1D498B5A8B6B8B7C8B812FDF91E3 +:1030F000CF911F910F91FF90EF90DF90CF900895A7 +:10310000CF93DF93EC0141E0611101C040E06C8599 +:103110007D858E859F850E9419A1882341F088892D +:1031200020E2829FC0011124855D934F02C080E0A0 +:1031300090E0DF91CF91089530E020E04EE2DC0195 +:103140005C91503271F0383029F4FB01E20FF11D2F +:1031500040832F5FFB01E20FF11DDC015C91508386 +:103160002F5F3F5F01963B3051F7FB01E20FF11DEE +:1031700010820895CF93DF93EB01FC01238121118D +:1031800002C080E00EC02250223020F48FE28883FB +:10319000198206C060E0B4DF009799F3BE01CCDF6E +:1031A00081E0DF91CF910895FB012BE030E2319374 +:1031B0002150E9F7DC0190E027E03A2FEB2F8D91C9 +:1031C00081110AC0DA013C931196EC9381E0FB0176 +:1031D0009081903239F525C08F32A1F38E3219F0EB +:1031E000E0E0FEE008C02A30E1F098E02AE0E5CF18 +:1031F00031963817B1F034913111FACF291788F090 +:103200003FED380F3E3568F431E0390FFB01E90F2F +:10321000F11D9FE9980F9A3108F480528083932F13 +:10322000CCCF80E008950F931F93CF93DF93EC01F1 +:103230008B018B81882311F080E042C0FB018789DC +:10324000803139F18032C1F783E08B83F801428D00 +:10325000538D648D758D4D8B5E8B6F8B788F9E013A +:103260002F5E3F4FC8010E94D0A1882329F31A8FF7 +:10327000098F81E089831C821D821E821F8218862D +:1032800019861A861B861C861D861E861F86188A2E +:1032900017C082E08B831D8A1E8A1F8A188EFB014D +:1032A000408D518D60E070E095E0440F551F661F22 +:1032B000771F9A95D1F7498B5A8B6B8B7C8BD7CF25 +:1032C000DF91CF911F910F9108952F923F924F92CE +:1032D0005F926F927F928F929F92AF92BF92CF92A6 +:1032E000DF92EF92FF920F931F93CF93DF93EC0146 +:1032F0005B016A018B81811103C08FEF9FEFC6C014 +:10330000898180FFFACF49895A896B897C898885B0 +:103310009985AA85BB852601612C712C8A019B01A8 +:10332000081B190B2A0B3B0B40165106620673064D +:1033300018F06A01C81AD90A76013E0124E0620E2B +:10334000711CE114F10409F476C0488559856A8539 +:103350007B854A0181E098222B811A012B01E9E04B +:103360005694479437942794EA95D1F7898D9A8D8E +:10337000FC01223049F4628D738D848D958D620D30 +:10338000731D841D951D3CC01481115012218114A0 +:103390009104C1F4111116C0452B462B472B49F45B +:1033A0008D899E89AF89B88D8C839D83AE83BF83C1 +:1033B00009C04C815D816E817F81930172D7882322 +:1033C00009F49BCFE98DFA8D6C817D818E819F817F +:1033D0006250710981099109058404C0660F771F45 +:1033E000881F991F0A94D2F726853785408951890D +:1033F000620F731F841F951F610F711D811D911D29 +:1034000020E032E02819390987012E153F0508F41C +:1034100089010115F2E01F0761F520912B0E309113 +:103420002C0E40912D0E50912E0E621773078407BB +:10343000950719F41EC0C60129C09501AB01BC0156 +:103440008091290C90912A0C17DC882309F455CF20 +:10345000A00EB11E88859985AA85BB85800F911F16 +:10346000A11DB11D88879987AA87BB87E01AF10A39 +:1034700068CF40E0DED6882309F43FCFB401655D14 +:10348000734FA801C5010F94CBACE2CFDF91CF9170 +:103490001F910F91FF90EF90DF90CF90BF90AF9072 +:1034A0009F908F907F906F905F904F903F902F9064 +:1034B0000895CF93DF931F92CDB7DEB741E050E080 +:1034C000BE016F5F7F4F01DF019719F4898190E0A2 +:1034D00002C08FEF9FEF0F90DF91CF910895CF92B1 +:1034E000DF92EF92FF920F931F93CF93DF936C01C4 +:1034F000EB017A01FC018381823060F00085118547 +:10350000228533850F71112722273327012B022BA8 +:10351000032B11F08FEF5CC04115510511F0F7013D +:1035200010821DE040E250E0BE01C601CEDE8032D6 +:10353000910539F021E0892B09F420E0822F819553 +:1035400047C028812223C1F0253E61F32E3251F37A +:103550003B853F733F3061F4E114F10449F04A8D3B +:103560005B8D452B29F42F713FEF320F343030F053 +:103570002B8523FDD7CF2CC080E02AC030E021501E +:103580003109129FC001139F900D1124F701E80F1C +:10359000F91F298120832B8121832D8122832F8173 +:1035A0002383298524832E852583288926832A89B8 +:1035B00027832C8920872E892187288D22872C8D8F +:1035C00023872E8D2487288126FFD2CF1586D0CF42 +:1035D000DF91CF911F910F91FF90EF90DF90CF90EF +:1035E00008951F93CF93DF93EC018B81823018F401 +:1035F00080E090E023C0488559856A857B85A5E0F9 +:103600007695679557954795AA95D1F7142F1F7012 +:10361000CE014FDF97FDECCF488559856A857B85C4 +:10362000415E5F4F6F4F7F4F488759876A877B871F +:1036300020E2129FC0011124855D934FDF91CF914D +:103640001F9108954F925F926F927F92AF92BF92B7 +:10365000CF92DF92EF92FF920F931F93CF93DF935E +:10366000EC016A017B012B81222349F089899A8927 +:10367000AB89BC8984179507A607B70710F480E0CB +:103680006BC0223009F463C0C114D104E104F10419 +:1036900049F41C821D821E821F82188619861A8692 +:1036A0001B8659C088859985AA85BB85E98DFA8DC9 +:1036B000E585F0E03996AC01BD0141505109610941 +:1036C00071090E2E04C076956795579547950A9413 +:1036D000D2F797018601015011092109310904C06F +:1036E0003695279517950795EA95D2F7041715078C +:1036F0002607370720F0892B8A2B8B2B49F48D89DD +:103700009E89AF89B88D8C839D83AE83BF8304C0AF +:10371000041B150B260B370B280139015E0184E0D1 +:10372000A80EB11C411451046104710481F04C8154 +:103730005D816E817F819501898D9A8DB2D591E0F1 +:10374000491A5108610871088111ECCF05C0C8867B +:10375000D986EA86FB8681E0DF91CF911F910F9198 +:10376000FF90EF90DF90CF90BF90AF907F906F90E1 +:103770005F904F9008950F931F93CF93DF93EC01C9 +:103780008B818823D1F1898187FF32C061E0CE012E +:10379000B7DC8C01009789F1FC018081853E69F1DD +:1037A0008B81823040F449895A896B897C89448FA6 +:1037B000558F668F778F4D895E896F89788DF80177 +:1037C000538F428F758B648BE091220CF091230C08 +:1037D000309759F0B8016A5E7F4FC8014896199535 +:1037E000F801808D918D938B828B89818F7789836E +:1037F000DF91CF911F910F91DCC481E0888380E03D +:10380000DF91CF911F910F910895CF93DF93EC013A +:10381000B2DF1B82DF91CF910895FC01238121113A +:10382000F4CF08954F925F926F927F92AF92BF92C2 +:10383000CF92DF92EF92FF920F931F93CF93DF937C +:1038400000D01F92CDB7DEB75C016A017B01FC019D +:1038500083818130E9F4818181FF1AC0F50181897A +:103860009289A389B48984179507A607B70780F0C2 +:10387000892B8A2B8B2B09F472C0F501408451846B +:1038800062847384B701A601C501DCDE811102C028 +:1038900080E066C0F501818D928DC114D104E104F0 +:1038A000F10469F4458956896789708D77D7882333 +:1038B00079F3F501158A168A178A108E37C0F5013B +:1038C00044815581668177819E012F5F3F4FE9D406 +:1038D0008823F1F249815A816B817C81F501818DC8 +:1038E000928DFC012789203139F4483FFFEF5F07B3 +:1038F00061057105D8F407C0483F2FEF52076207F2 +:103900002FE0720798F44AD7882309F4C1CFF50154 +:1039100044815581668177810FEF1FEF2FEF3FE0E4 +:10392000818D928DA3D5882309F4B2CFF501C18A88 +:10393000D28AE38AF48A818180688183C5011BDF92 +:10394000882309F4A5CFB701A6014C145D046E04C9 +:103950007F0410F4B301A201C50174DE01C081E04F +:103960000F900F900F900F90DF91CF911F910F91BB +:10397000FF90EF90DF90CF90BF90AF907F906F90CF +:103980005F904F900895FF920F931F93CF93DF9313 +:10399000EC01F42E80E2689FF0011124E55DF34F05 +:1039A0008385817121F0842F827109F04EC080914E +:1039B0002B0E90912C0EA0912D0EB0912E0E8C8777 +:1039C0009D87AE87BF87688B4489558960E070E02A +:1039D000BA0155274427028D138D20E030E0402B9B +:1039E000512B622B732B4D8B5E8B6F8B788F838566 +:1039F000887151F4048D158D268D378D098B1A8BA6 +:103A00002B8B3C8B81E00BC08031F9F49E012F5E43 +:103A10003F4F898D9A8DC4D48823B9F084E08B837D +:103A20008F2D8F7089831C821D821E821F821886B3 +:103A300019861A861B86F4FE0BC040E050E0BA01DE +:103A4000CE01F0DE811104C011C01B8280E00EC0E7 +:103A5000F5FE0BC049895A896B897C89CE01DF91BB +:103A6000CF911F910F91FF90EDCD81E0DF91CF912C +:103A70001F910F91FF900895AF92BF92CF92DF9266 +:103A8000EF92FF920F931F93CF93DF937C01EB0193 +:103A90006A01B22E898D9A8DF701928F818F40E055 +:103AA00050E0BA01CE01CEDDA12C088519852A850A +:103AB0003B8589899A89AB89BC89081719072A0728 +:103AC0003B07A0F585E036952795179507958A95CC +:103AD000D1F70F70CE0185DD009709F481C0FC019C +:103AE0002081222311F0253EB9F4A1100EC040918F +:103AF0002B0E50912C0E60912D0E70912E0EF70111 +:103B00004487558766877787008BFC018081AA24CC +:103B1000A3948111CACF0AC04BE050E0BC01C6019A +:103B20000F94BEAC892B09F0C0CF58C08B2D827486 +:103B3000823409F055C0AA2049F0F701008961E0FC +:103B4000C701DEDAEC01009769F44AC08B8182304C +:103B500009F446C0CE014DDA882309F441C0CBE216 +:103B6000DCE000E080E2FE0111928A95E9F78BE04B +:103B7000F601DE0101900D928A95E1F7E091220CA9 +:103B8000F091230C309739F0BE01625F7F4FCE0178 +:103B90004096199508C081E298E2998B888B80E065 +:103BA00098E09F878E87888999899B8B8A8B998FCC +:103BB000888F8E859F859F8B8E8BFBD2882381F08B +:103BC0004B2D602FC701DF91CF911F910F91FF9077 +:103BD000EF90DF90CF90BF90AF90D5CEB7FEF0CFF3 +:103BE00080E0DF91CF911F910F91FF90EF90DF90D8 +:103BF000CF90BF90AF9008953F924F925F926F9297 +:103C00007F928F929F92AF92BF92CF92DF92EF926C +:103C1000FF920F931F93CF93DF93CDB7DEB7C354BB +:103C2000D1090FB6F894DEBF0FBECDBF5C016B01AA +:103C300024965FAF4EAF2497522E1C8E1F8E198292 +:103C40001C826115710511F410E073C0FC018381C1 +:103C50008111FACF2496EEADFFAD249780818F328B +:103C600011F076011DC02496EEADFFAD2497808142 +:103C70008F3231F431962496FFAFEEAF2497F3CF15 +:103C8000F60183818250823060F3F601618D728D7E +:103C9000CE010196C8DA8823B9F2CE0101967C01E3 +:103CA0008E01045E1F4F3801FE0131964F01402EF8 +:103CB000312E19C08823A9F121E0AE01495C5F4F84 +:103CC000B701C801D9DE882309F4BECFEC14FD0486 +:103CD00011F0C7019ADD0615170501F1942D832D0A +:103CE0007801092F182FAE014E5B5F4FBE01695C52 +:103CF0007F4F24968EAD9FAD249756DA882309F422 +:103D0000A3CF2496EEADFFAD249780818F3291F63C +:103D100031962496FFAFEEAF2497F3CF982D892DDF +:103D2000DFCF252DAE01495C5F4FB701C501A4DE91 +:103D3000182FCE01019671DDCE014C966EDD812FDC +:103D4000CD5BDF4F0FB6F894DEBF0FBECDBFDF9166 +:103D5000CF911F910F91FF90EF90DF90CF90BF9088 +:103D6000AF909F908F907F906F905F904F903F901B +:103D70000895CF93DF93EC0140E050E0BA0152DDAB +:103D8000882361F061E0CE01BBD9009739F025EEC0 +:103D9000FC0120831B82DF91CF910BC280E0DF9179 +:103DA000CF9108951F93CF93DF93CDB7DEB76B9775 +:103DB0000FB6F894DEBF0FBECDBFAB0119821C82D7 +:103DC00022E0BC01CE01019617DF182F882321F0D5 +:103DD000CE010196CEDF182FCE0101961EDD812F78 +:103DE0006B960FB6F894DEBF0FBECDBFDF91CF91BB +:103DF0001F9108952F923F924F925F926F927F9200 +:103E00008F929F92AF92BF92CF92DF92EF92FF92EA +:103E10000F931F93CF93DF9300D01F921F92CDB7C4 +:103E2000DEB78C015B013A01DC0113968C9113978C +:103E30008130C1F411968C9181FF14C082FF18C0AB +:103E4000F801418952896389748980859185A285A9 +:103E5000B38584179507A607B70751F0C801F2DBB1 +:103E6000811106C081E0F80180838FEF9FEF37C199 +:103E7000630183C0D80159968D919C915A97FC019A +:103E8000F481F1501A012B0169E05694479437945C +:103E900027946A95D1F7F221FD834A0121E092220D +:103EA000FF2309F476C080E092E088199909760131 +:103EB0008C159D0508F47C01D8015996ED91FC9173 +:103EC0005A9714962D903D904D905C901797B2E0C4 +:103ED0002B1A310841085108058404C0220C331CF8 +:103EE000441C551C0A94D2F786859785A089B18910 +:103EF000280E391E4A1E5B1EED812E0E311C411C00 +:103F0000511CE114F2E0FF0609F089C080912B0EEC +:103F100090912C0EA0912D0EB0912E0E821593052E +:103F2000A405B50569F41092280C8FEF9FEFDC0112 +:103F300080932B0E90932C0EA0932D0EB0932E0EEB +:103F40009501B201A1018091290C90912A0C0E9447 +:103F5000B196882309F486CFF80180859185A285E2 +:103F6000B3858E0D9F1DA11DB11D80879187A287EE +:103F7000B387AE0CBF1CCE18DF08D80118964D9140 +:103F80005D916D917C911B97C114D10409F072CFA2 +:103F90007AC08114910409F086CF14964D915D91F9 +:103FA0006D917C911797411551056105710559F483 +:103FB00055968D919D910D90BC91A02D0097A105D6 +:103FC000B10539F520C09E012F5F3F4F6AD188238C +:103FD00009F448CF89819A81AB81BC81F801218D98 +:103FE000328DF9012789203139F4883FFFEF9F078F +:103FF000A105B10540F40DC0883F2FEF9207A2073D +:104000002FE0B20730F0C8010E94D39781114BCF47 +:1040100029CFF80184839583A683B78344CF811485 +:10402000910411F5D80118964D915D916D917C9197 +:104030001B9751968D919D910D90BC91A02D481785 +:1040400059076A077B0780F0B4D0882309F40ACFA8 +:1040500081E08093280C20922B0E30922C0E4092FF +:104060002D0E50922E0E07C041E0C201B101E1D0E9 +:10407000882309F4F7CEA701B501C401855D934FEC +:104080000F94CBAC69CF51968D919D910D90BC91C1 +:10409000A02DF801218184179507A607B70738F4EA +:1040A000418B528B638B748B206821830CC0809171 +:1040B000220C9091230C892B31F06114710419F0BA +:1040C0002068F8012183D80111968C9183FD02C0EC +:1040D000C30105C0C8014FDB8111FACFC3CE0F90D9 +:1040E0000F900F900F900F90DF91CF911F910F9134 +:1040F000FF90EF90DF90CF90BF90AF909F908F9008 +:104100007F906F905F904F903F902F900895CF9346 +:10411000DF931F92CDB7DEB720914A1930914B192A +:10412000CE0101962115310519F0821B930B02C0B7 +:10413000865599410F90DF91CF91089582EA92EAD6 +:10414000A0E0B0E08093561990935719A0935819A6 +:10415000B0935919089581E040915619509157191B +:104160006091581970915919423A524A6105710586 +:1041700009F080E00895CF93DF931F92CDB7DEB7AB +:10418000698341E050E0BE016F5F7F4F049632DEED +:104190000F90DF91CF91089504962CCEFB010190F2 +:1041A0000020E9F7AF0141505109461B570B049617 +:1041B00021CECF938091280C8823B9F140912B0E0A +:1041C00050912C0E60912D0E70912E0E2BE23CE042 +:1041D0008091290C90912A0C0E94B196C82F8111D0 +:1041E00002C0C0E023C04091240C5091250C609186 +:1041F000260C7091270C411551056105710591F050 +:104200002BE23CE08091290C90912A0C0E94B196FF +:10421000882339F31092240C1092250C1092260C4E +:104220001092270C1092280C01C0C1E08C2FCF9166 +:104230000895CF92DF92EF92FF92CF936B017C01B2 +:10424000C42F80912B0E90912C0EA0912D0EB09129 +:104250002E0E8C159D05AE05BF05C9F0AADF811194 +:1042600002C080E018C02BE23CE0B701A6018091BB +:10427000290C90912A0C0E943C96882391F3C092BD +:104280002B0ED0922C0EE0922D0EF0922E0E81E08D +:10429000C1118093280CCF91FF90EF90DF90CF90C9 +:1042A00008958F929F92AF92BF92CF92DF92EF923A +:1042B000FF920F931F93CF93DF93EC016A017B0171 +:1042C000890189859A85AB85BC850196A11DB11DA3 +:1042D00084179507A607B70710F480E054C08F89AC +:1042E000803129F49927872F762F652F0BC08032D4 +:1042F000A1F7CB01BA0127E0969587957795679549 +:104300002A95D1F78B889C88AD88BE88680D791D69 +:104310008A1D9B1D80902B0E90902C0EA0902D0E30 +:10432000B0902E0E681579058A059B0581F48F895A +:10433000803191F4DD24EE24FF24F601EE0FFF1FFF +:10434000E55DF34F80819181A0E0B0E016C040E0D0 +:1043500070DF8111ECCFC1CFE894C7F8DD24EE24E3 +:10436000FF24F601EE0FFF1FEE0FFF1FE55DF34F79 +:1043700080819181A281B381BF70F8018083918394 +:10438000A283B38381E0DF91CF911F910F91FF90C2 +:10439000EF90DF90CF90BF90AF909F908F90089557 +:1043A0004F925F926F927F92AF92BF92CF92DF92C5 +:1043B000EF92FF920F931F93CF93DF9300D01F9242 +:1043C000CDB7DEB78C0149835A836B837C83590157 +:1043D000C12CD12C7601412C42E0542E612C712C41 +:1043E00049815A816B817C819E012F5F3F4FC801BB +:1043F00058DF882341F1D301C201F801058404C0CC +:10440000880F991FAA1FBB1F0A94D2F7C80ED91E86 +:10441000EA1EFB1E49815A816B817C81878980312C +:1044200039F481E0483F5F4F6105710538F4D8CF1A +:1044300081E0483F5F4F6F4F7F4090F2F501C082AF +:10444000D182E282F3820F900F900F900F90DF9154 +:10445000CF911F910F91FF90EF90DF90CF90BF9081 +:10446000AF907F906F905F904F9008954F925F92C2 +:104470006F927F928F929F92AF92BF92CF92DF9274 +:10448000EF92FF920F931F93CF93DF93EC014A01BA +:104490005B0128013901423051056105710508F4BD +:1044A00062C049855A856B857C854F5F5F4F6F4F32 +:1044B0007F4F481559056A057B0508F454C08F895C +:1044C000803129F4FF24EB2CDA2CC92C0CC080326B +:1044D00009F049C07501640177E0F694E794D79438 +:1044E000C7947A95D1F74B895C896D897E89C40E12 +:1044F000D51EE61EF71E41E0C701B6019ADE8823ED +:1045000091F19F89903159F49924AA24BB24F40194 +:10451000EE0FFF1FE55DF34F5182408210C0E8941B +:1045200087F89924AA24BB24F401EE0FFF1FEE0F95 +:10453000FF1FE55DF34F40825182628273829A8948 +:10454000923090F04D815E816F8178854C0D5D1DBC +:104550006E1D7F1D4093240C5093250C6093260CF8 +:104560007093270C01C080E0DF91CF911F910F91D4 +:10457000FF90EF90DF90CF90BF90AF909F908F9083 +:104580007F906F905F904F9008952F923F924F923F +:104590005F926F927F928F929F92AF92BF92CF92D3 +:1045A000DF92EF92FF920F931F93CF93DF93CDB7DC +:1045B000DEB72F970FB6F894DEBF0FBECDBF1C013C +:1045C0004C875D876E877F873B872A87DC0119963A +:1045D0000D911D912D913C911C970F5F1F4F2F4FF7 +:1045E0003F4F0D831E832F833887EA85FB858080AC +:1045F0009180A280B38081149104A104B10431F0B0 +:10460000FFEF8F1A9F0AAF0ABF0A10C0DC018D901E +:104610009D90AD90BC90B1E0B9870C851D852E852D +:104620003F85013011052105310509F01986750115 +:104630006401412C512C3201F10181859285A385C1 +:10464000B485481659066A067B0608F04EC00D81EF +:104650001E812F8138850C151D052E053F0550F450 +:10466000F2E0CF2ED12CE12CF12CA2E08A2E912C5D +:10467000A12CB12C9E012F5F3F4FB701A601C101B4 +:1046800010DE882391F149815A816B817C81D701A9 +:10469000C6010196A11DB11D452B462B472B19F0D4 +:1046A0004C015D010FC0AC01BD01481959096A09EF +:1046B0007B090C851D852E853F85401751076207B4 +:1046C000730741F01FEF411A510A610A710A6C0128 +:1046D0007D01B2CF0FEF1FEF2FEF3FE0B701A60133 +:1046E000C101C4DE8D83811113C01D823DC026012E +:1046F000370121E0421A51086108710897018601CB +:10470000B301A201C101B2DE882379F37301620112 +:104710008C149D04AE04BF0450F3AA85BB854D9153 +:104720005D916D917C914115510561057105A9F46B +:10473000EA85FB8580829182A282B382F985FF237C +:1047400099F00FEF801A900AA00AB00AD1018D9259 +:104750009D92AD92BC92139707C095018401C1014F +:1047600085DE8111E5CFC1CF8D812F960FB6F894EC +:10477000DEBF0FBECDBFDF91CF911F910F91FF9094 +:10478000EF90DF90CF90BF90AF909F908F907F90F1 +:104790006F905F904F903F902F900895AF92BF928F +:1047A000CF92DF92EF92FF920F931F93CF93DF93FD +:1047B00000D01F92CDB7DEB75C016A017B0182E0B9 +:1047C00090E0A0E0B0E0F50180839183A283B38301 +:1047D0009E012F5F3F4FB701A601C50162DD811128 +:1047E00002C080E023C000E010E09801B701A601FC +:1047F000C5013CDE8823A9F3C980DA80EB80FC8008 +:10480000F5018789803149F481E0F8EFCF16FFEF99 +:10481000DF06E104F10450F4DBCF81E098EFC91624 +:104820009FEFD906E9069FE0F90690F20F900F90EE +:104830000F900F90DF91CF911F910F91FF90EF900C +:10484000DF90CF90BF90AF9008957F928F929F920C +:10485000AF92BF92CF92DF92EF92FF920F931F938E +:10486000CF93DF93EC01142F70932A0C6093290CE3 +:104870001F8A82E090E0A0E0B0E088839983AA8359 +:10488000BB831092280C1092240C1092250C1092CD +:10489000260C1092270C8FEF9FEFDC0180932B0EDC +:1048A00090932C0EA0932D0EB0932E0E442349F11D +:1048B000453008F0DEC040E060E070E0CB01B9DCDC +:1048C000882309F4D6C020E1129FF0011124E75299 +:1048D000F24F80818F7709F0CCC084859585A685BD +:1048E000B78584369105A105B10508F4C2C0C0841E +:1048F000D184E284F384C114D104E104F10421F4ED +:10490000B8C0C12CD12C760140E0C701B60191DCC2 +:10491000782E882309F4ADC08091360C9091370C25 +:104920008115924009F0A5C030913B0C332309F466 +:10493000A0C08091390C90913A0C892B09F499C050 +:104940002091380C222309F494C03A8B2C831D86C5 +:1049500030E041E050E06D85062FCA01062E02C00E +:10496000880F991F0A94E2F72817390731F081E080 +:10497000860F8D87683078F37CC02091410C309190 +:10498000420C2115310519F040E050E008C020919B +:104990004F0C3091500C4091510C5091520C2D8382 +:1049A0003E834F8358878091390C90913A0C460191 +:1049B0005701880E991EA11CB11C8B8A9C8AAD8A56 +:1049C000BE8AE0913C0CF0913D0CF98FE88FA091EC +:1049D0003B0CB0E00F9462A9680D791D8A1D9B1DE8 +:1049E0006A8F7B8F8C8F9D8FB5E0EE0FFF1FBA957E +:1049F000E1F7E150FE4FEF2FFF27E695DC01CB01F9 +:104A00008E0F9F1FA11DB11D8E879F87A88BB98B0D +:104A100080903E0C90903F0C8114910419F0A12CD1 +:104A2000B12C08C080904B0C90904C0CA0904D0C79 +:104A3000B0904E0CA7019601281B390B4A0B5B0B5B +:104A4000DA01C901880D991DAA1DBB1D04C0B695C8 +:104A5000A795979587950A95D2F789879A87AB8707 +:104A6000BC87853F3FE09307A105B10520F48CE0AA +:104A70008F8B712C15C0853F9F4FA105B10510F498 +:104A800080E10DC08091570C9091580CA091590C69 +:104A9000B0915A0C8A8F9B8FAC8FBD8F80E28F8B29 +:104AA000872DDF91CF911F910F91FF90EF90DF90B5 +:104AB000CF90BF90AF909F908F907F9008959091EE +:104AC000A107911107C09091C00095FFFCCF809382 +:104AD000C6000895913031F49091C80095FFFCCF45 +:104AE0008093CE000895FC011482178213821282F3 +:104AF0008BE694E0918380830895CF92DF92EF92CA +:104B0000FF920F931F93CF93DF93EC018A5A9F4F2D +:104B1000EADFCE0189589F4FE6DF7E0126E9E20EEB +:104B2000F11C87016E0134E3C31A3EEFD30AC801BA +:104B3000DADF015E1F4F0C151D05C9F7FE01EC5CA5 +:104B4000FD4F89E18183148215823696178ACE0142 +:104B5000885A9D4FC8DFFE01E253FE4F118210823A +:104B6000E55CFE4F10821182128213823896108209 +:104B70001182128213821A821B821C82188219826D +:104B80006E0183EFC81A8CEFD80AF60110821182E9 +:104B900012821382F80111821082FE01E958FD4F42 +:104BA000108286E391E0F7019C0111922150304080 +:104BB000E1F7FE01EB5EFC4F81E08083CC5ADF4FD2 +:104BC000198218820F945B9B68577C4E8F4F9F4FC2 +:104BD000F6016083718382839383DF91CF911F916C +:104BE0000F91FF90EF90DF90CF900895FC0120E0AF +:104BF0003EE2DB014C91403241F0283011F4308329 +:104C00003196DB014C91408331962F5F6F5F7F4F70 +:104C10002B3079F7108208952BE1FB013496DC01EB +:104C2000149601900D922A95E1F7FB0122813381C0 +:104C3000FC01338322832BE634E031832083089503 +:104C40002F923F924F925F926F927F928F929F929C +:104C5000AF92BF92CF92DF92EF92FF920F931F938A +:104C6000CF93DF93CDB7DEB7CA57D1090FB6F8940B +:104C7000DEBF0FBECDBF8C017B012A0139012DB7EC +:104C80003EB7E5963FAF2EAFE597AD961FAEAD9719 +:104C90001A0134E0230E311C4E96E7969FAF8EAF7B +:104CA000E797F801ED5AFF4FE996FFAFEEAFE997AE +:104CB00098012A5E3C4FE1963FAF2EAFE1978650B8 +:104CC0009D4FAF969FAF8EAFAF97580195E0A90E5D +:104CD000B11C6E01EFE5CE0ED11C20E430E02C0FAC +:104CE0003D1F2C5F3F4FEB963FAF2EAFEB97E79604 +:104CF0004EAD5FADE797BE016F5F7F4FC1010E9470 +:104D00006F9A18160CF024C13C85232F287120318E +:104D100009F07AC0E196EEADFFADE1978081918117 +:104D20000197029708F470C02DB73EB7E3963FAFE6 +:104D30002EAFE397BE016F5F7F4FC60157DF81E063 +:104D4000F7019081911158C0E1E0F0E0D6010D909B +:104D50000020E9F7EC19FD09EA0FFB1F31962DB78A +:104D60003EB72E1B3F0B0FB6F8943EBF0FBE2DBFB4 +:104D7000EDB7FEB731964F01882319F06FE674E066 +:104D800001C0B701C4010F940DADB601C4010F9469 +:104D9000EEAC6FE674E0C4010F94EEACCE01805C23 +:104DA0009F4FA1DE21E0A601B101EB968EAD9FAD34 +:104DB000EB970E94FC9DBE01605C7F4FCE01819607 +:104DC0002BDF20E030E0AE014F5D5F4FB401C80142 +:104DD00037DFCE0181960E94DA93CE01805C9F4F2F +:104DE0000E94DA93E3962EAD3FADE3970FB6F894A9 +:104DF0003EBF0FBE2DBF7BCF80E001900020E9F7C2 +:104E00003197EE19FF09A2CF8981882309F4A0C048 +:104E1000853E09F46CCF8E3209F469CFF801868D96 +:104E20008E3209F464CF3A7009F061CF81E020310D +:104E300009F080E0E996EEADFFADE997808381113E +:104E400008C08985873409F052CF8A858E3709F4E6 +:104E50004ECFE196EEADFFADE1978081918181303B +:104E6000910569F08230910591F1892B09F03FCFCE +:104E7000BE016F5F7F4FC501B9DE47010AC0AF9623 +:104E8000EEADFFADAF9780819181019691838083D4 +:104E90002ECFF40181914F01882311F010DEF9CF5C +:104EA0004501F40181914F01882311F008DEF9CF0B +:104EB00080E205DE4D8D5E8D6F8D78A12AE030E0B9 +:104EC0008CE197E00E94EE3D8AE0F9DD10CFBE0153 +:104ED0006F5F7F4FC5018ADEF20180859185A285D3 +:104EE000B385F801868B978BA08FB18FF2018485F3 +:104EF0009585A685B785F801828F938FA48FB58F8E +:104F000089899A89958B848B8F859889938B828BDD +:104F10006114710439F0B501C3010F94DBAC892B26 +:104F200079F416C0AD96FFADAD972F2F30E0AF9658 +:104F3000EEADFFADAF97808191812817390741F021 +:104F4000AD96FFADAD97FF5FAD96FFAFAD97CFCEFE +:104F5000E5962EAD3FADE5970FB6F8943EBF0FBE78 +:104F60002DBFC658DF4F0FB6F894DEBF0FBECDBFC2 +:104F7000DF91CF911F910F91FF90EF90DF90CF9035 +:104F8000BF90AF909F908F907F906F905F904F9069 +:104F90003F902F9008950F931F93CF93DF93CDB73A +:104FA000DEB76F970FB6F894DEBF0FBECDBF8C0192 +:104FB000FC01EA5EFC4F1182108240E050E0BA0131 +:104FC000865A9F4F0E94229BB8016A5A7F4FCE019A +:104FD000019622DE20E030E0AE014F5F5F4F6BEBC9 +:104FE00074E0C8012DDECE0101960E94DA936F961F +:104FF0000FB6F894DEBF0FBECDBFDF91CF911F91EA +:105000000F9108952BE1FB013496DC011496019079 +:105010000D922A95E1F7FB0122813381FC01338354 +:1050200022830895FC01128213820895FC0183817A +:10503000882319F081E0828314820895FC01828123 +:10504000882319F0128281E08483089584539E4F4F +:10505000FC01808191810895AF92BF92CF92DF923F +:10506000EF92FF920F931F93CF93DF931F92CDB7D1 +:10507000DEB78C018FE2FB0181935F01D12C41E00F +:105080007801F4E3EF1AFEEFFF0A8FE1C82E2D2D11 +:1050900030E0F7018081918128173907D8F4C29E4A +:1050A000C001C39E900D112486569F4FB501800FFD +:1050B000911F49830E94BA98C50149815C010196FC +:1050C000F5012081222321F04D3810F44F5FF6CFF7 +:1050D000D394DDCF47FD11C0B501C801845A9D4F5F +:1050E0000F90DF91CF911F910F91FF90EF90DF9084 +:1050F000CF90BF90AF900C94BA98F50110820F90AA +:10510000DF91CF911F910F91FF90EF90DF90CF90A3 +:10511000BF90AF900895875F9C4FFC0160817181C3 +:105120008281938108958F929F92AF92BF92CF9286 +:10513000DF92EF92FF920F931F93CF93DF931F9213 +:10514000CDB7DEB77C01FC018281882309F49EC0C3 +:105150008701025E1F4FF80181918F01882311F0B2 +:10516000AEDCF9CFE8E2FEE084918F01882331F0D4 +:10517000A6DC0F5F1F4FF8018491F8CFECEFF5E448 +:10518000C590D490F6018491882329F098DCFFEF34 +:10519000CF1ADF0AF7CFF701EF5EFC4F4081518154 +:1051A000628173812AE030E08CE197E00E94EE3D5D +:1051B000E6E2FEE084918F01882331F080DC0F5F0E +:1051C0001F4FF8018491F8CFF701E75FFC4F408152 +:1051D0005181628173812AE030E08CE197E00E9486 +:1051E000EE3D8AE06CDC0F945B9B20E6C22E2AEE3B +:1051F000D22EE12CF12CA70196010F9409A94901A7 +:105200005A01609128087091290880912A0890918C +:105210002B08A70196010F9409A9821A930AC401C9 +:105220006CE370E00F94E2A86983CE0101960F94BD +:10523000CB338C01F80181918F01882311F03FDC81 +:10524000F9CF40E050E06AE38CE197E00E94253E10 +:10525000C4016CE370E00F94E2A88983CE0101964B +:105260000F94CB338C01F80181918F01882311F0C9 +:1052700026DCF9CFE4E2FEE084918F018823A1F0DF +:105280001EDC0F5F1F4FF8018491F8CFE1E7F4E0D7 +:1052900084918F01882331F012DC0F5F1F4FF801DA +:1052A0008491F8CF8AE00BDC0F90DF91CF911F91B2 +:1052B0000F91FF90EF90DF90CF90BF90AF909F90B5 +:1052C0008F900895AF92BF92CF92DF92EF92FF92AC +:1052D0000F931F93CF93DF935C01EB01FB010190D0 +:1052E0000020E9F78F0101501109061B170B6C0113 +:1052F000F4EACF1AFDEFDF0AF60110826EE470E0E7 +:10530000CE010F94F9AC7C01009729F4F801319794 +:10531000EC0FFD1F0DC060E270E00F94F9ACEC01E2 +:1053200021966AE270E0C7010F94F9ACFC01319755 +:105330008DE081838AE082831382BE01C501885A91 +:105340009D4F0E94CEA0F6018081882311F1E9EFE4 +:10535000FBE08491EF01882329F0B1DB2196FE0167 +:105360008491F9CFECE0F6E4C591D491FE018491EB +:10537000882319F0A4DB2196F9CF8AE0DF91CF9141 +:105380001F910F91FF90EF90DF90CF90BF90AF9063 +:1053900096CBDF91CF911F910F91FF90EF90DF900F +:1053A000CF90BF90AF900895CF93DF93EC0140E48E +:1053B00050E0885A9D4F0E94CCA0C45ADD4F88818E +:1053C000882301F1E9EFFBE08491EF01882329F0C4 +:1053D00076DB2196FE018491F9CFECE0F6E4C591ED +:1053E000D491FE018491882319F069DB2196F9CFCD +:1053F0008AE065DB6EE774E08CE197E0DF91CF91A6 +:105400000C94383EDF91CF9108950F931F93CF9363 +:10541000DF93EC018C01045A1D4FC8010E94BB9B15 +:10542000C8010E94059C18821982DF91CF911F91BB +:105430000F910895CF92DF92EF92FF920F931F93F7 +:10544000CF93DF93CDB7DEB76F970FB6F894DEBF7B +:105450000FBECDBF8C016A017C0185E7E80EF11C0F +:10546000C80189589F4FF70191838083EF55FD4F05 +:1054700022E030E03183208332967183608340E004 +:1054800050E0BA0104960E94229BF701608171816D +:10549000CE010196C1DB9601AE014F5F5F4F6BEB12 +:1054A00074E0C801CDDBCE0101960E94DA936F96BD +:1054B0000FB6F894DEBF0FBECDBFDF91CF911F9125 +:1054C0000F91FF90EF90DF90CF9008953F924F9211 +:1054D0005F926F927F928F929F92AF92BF92CF9284 +:1054E000DF92EF92FF920F931F93CF93DF93CDB78D +:1054F000DEB7AC970FB6F894DEBF0FBECDBF8C0100 +:105500006B01342EDC0113968C91882309F496C22A +:10551000F801E15AFD4F8081882309F4E1C021118F +:10552000B5C07801B9E8EB1ABDEFFB0AF70180813D +:10553000882341F1E9EFFBE084918F01882331F06A +:10554000BEDA0F5F1F4FF8018491F8CFE6EAFEE064 +:1055500084918F01882331F0B2DA0F5F1F4FF80179 +:105560008491F8CF4AE050E061E070E08CE197E090 +:105570000E942D3E8AE0A3DA61E08BEB94E00E946A +:1055800000555CC2E3EFFBE084915F01882339F0B2 +:1055900096DAFFEFAF1ABF0AF5018491F7CFEDE875 +:1055A000FEE084915F01882339F089DAFFEFAF1ABA +:1055B000BF0AF5018491F7CF5601D5018D915D01A8 +:1055C000882311F07CDAF9CFE2E8FEE084915F01F4 +:1055D000882339F074DABFEFAB1ABB0AF501849166 +:1055E000F7CFD7018C913DE8B32EB801B89E600D7E +:1055F000711D112464587D4FC8012EDDF701808193 +:105600009801B89E200D311D1124C90184589D4F69 +:105610005C01D5018D915D01882311F050DAF9CF3D +:10562000ECE7FEE084915F01882339F048DABFEFB0 +:10563000AB1ABB0AF5018491F7CF5801FFEEAF1A00 +:10564000FCEFBF0AD5014D915D916D917C912AE0EF +:1056500030E08CE197E00E94EE3D8AE030DAF7011D +:105660002081F80134E0239FE00DF11D1124E8585A +:10567000FD4FD5014D915D916D917C91408351839A +:10568000628373832F5FF701208324C0E3EFFBE085 +:1056900084917F01882339F012DAFFEFEF1AFF0AB5 +:1056A000F7018491F7CFEBE6FEE084917F01882338 +:1056B00039F005DAFFEFEF1AFF0AF7018491F7CF0F +:1056C0007601D7018D917D01882311F0F8D9F9CFAA +:1056D0008AE0F5D9C801845A9D4F0E94059C28C0D4 +:1056E000F801E958FD4F1082E3EFFBE084917F0160 +:1056F000882339F0E4D9BFEFEB1AFB0AF701849154 +:10570000F7CFEAE5FEE084917F01882339F0D7D90D +:10571000FFEFEF1AFF0AF7018491F7CF7601D70167 +:105720008D917D01882311F0CAD9F9CF8AE0C7D9BC +:10573000F801128214829E012F5F3F4F5901C90167 +:10574000D2D9280135E7430E511CC8018A5A9F4F10 +:10575000D2018D939C93F60180818F3209F075C040 +:105760006FE270E0C6010F94F9AC01967C01E11480 +:10577000F10409F470C06FE270E0C7010F94F9AC56 +:105780004C01009709F468C0E816F90608F064C0F7 +:105790003C016E187F08A301B701CE0180960F94DB +:1057A00022ADE0E2F0E0EC0FFD1FE60DF71D1082E8 +:1057B0009E01205E3F4F7901D7018D917D018823A5 +:1057C00011F07DD9F9CF8AE07AD9F2016081718137 +:1057D0006115710519F06C5F7F4F02C060E070E0E9 +:1057E00021E0AE01405E5F4FCE0105960E94FC9D18 +:1057F000811123C0EEEFF5E405911491F801849135 +:10580000882321F05CD90F5F1F4FF8CF8E01005E17 +:105810001F4FD8018D918D01882311F050D9F9CFF8 +:10582000E8E5FEE084918F01882309F4B8C047D9E8 +:105830000F5F1F4FF8018491F7CFD201AD92BC9258 +:105840007401BFEFEB1AFB0A92CFC80189589F4F32 +:10585000F2019183808376019801245A3D4F4901DA +:10586000D2016D917C91332009F49CC061157105C2 +:1058700019F06C5F7F4F02C060E070E021E0A7018B +:10588000C4010E94FC9D882309F46AC0F401818947 +:105890009289A389B489F801E75FFC4F80839183E3 +:1058A000A283B383EAE0F6E4C590D490F601849134 +:1058B0009801275F3C4F4901882339F000D93FEF19 +:1058C000C31AD30AF6018491F7CF6701D6018D91EF +:1058D0006D01882311F0F3D8F9CFE6EFF5E4C59018 +:1058E000D490F6018491882329F0E9D8FFEFCF1AEC +:1058F000DF0AF7CFD4014D915D916D917C912AE043 +:1059000030E08CE197E00E94EE3D8AE0D8D8F801C3 +:10591000EF5EFC4F1082118212821382E8E0F6E4FF +:10592000C590D490F6018491882329F0C8D8FFEF60 +:10593000CF1ADF0AF7CF8AE0C2D8A70160E070E093 +:10594000C80178DDD8015E968C91882319F0C801D2 +:105950004E9601C0C7010F941B3085EA94E069C0E0 +:10596000EEEFF5E405911491F8018491882321F07C +:10597000A6D80F5F1F4FF8CFD7018D917D018823E7 +:1059800011F09DD8F9CFE6E5FEE084918F018823E0 +:1059900031F095D80F5F1F4FF8018491F8CF8AE05E +:1059A0008ED849C06115710519F06C5F7F4F02C038 +:1059B00060E070E026E5A701C4010E94FC9D811112 +:1059C0001FC0EEEFF5E405911491F801849188234E +:1059D00021F075D80F5F1F4FF8CFD7018D917D0152 +:1059E000882311F06CD8F9CFE4E5FEE084918F01B3 +:1059F0008823A9F264D80F5F1F4FF8018491F8CF74 +:105A000081E0D8018C93E2EFF5E405911491F8015F +:105A10008491882321F053D80F5F1F4FF8CFD60110 +:105A20008D916D01882311F04AD8F9CF8AE047D8CB +:105A3000C7010F941B30C5010E94DA93AC960FB6D4 +:105A4000F894DEBF0FBECDBFDF91CF911F910F91B4 +:105A5000FF90EF90DF90CF90BF90AF909F908F908E +:105A60007F906F905F904F903F90089521E0FC01F0 +:105A7000218340E02BCDEF92FF920F931F93CF93A2 +:105A8000DF93CDB7DEB7A1970FB6F894DEBF0FBE98 +:105A9000CDBF8C017C0185E7E80EF11CC801895857 +:105AA0009F4FF70191838083EF55FD4FA2E0B0E057 +:105AB000B183A083329611821082049628A339A361 +:105AC0000E94229BF70160817181CE010196A4D8CA +:105AD00028A139A1AE014F5F5F4F6BEB74E0C801A5 +:105AE000AFD8CE0101960E94DA93A1960FB6F89432 +:105AF000DEBF0FBECDBFDF91CF911F910F91FF9001 +:105B0000EF900895CF92DF92EF92FF920F931F9341 +:105B1000CF93DF93CDB7DEB76F970FB6F894DEBFA4 +:105B20000FBECDBF8C016C0125E7C20ED11C895878 +:105B30009F4FF60191838083EF55FD4F21E030E0C8 +:105B4000318320837801F8EEEF1AFCEFFF0AF701AA +:105B50001182108240E050E0BA0104960E94229B1C +:105B6000F60160817181CE01019656D820E030E0C7 +:105B7000AE014F5F5F4F6BEB74E0C80161D8CE019F +:105B800001960E94DA93F701808191816F960FB69A +:105B9000F894DEBF0FBECDBFDF91CF911F910F9163 +:105BA000FF90EF90DF90CF900895FC01E253FE4FFD +:105BB000208131816217730738F4680F791FFB0168 +:105BC000E053FE4F608170E040E050E033CCFC01D8 +:105BD000E253FE4F80819181892B11F01182108256 +:105BE00008952F923F924F925F926F927F928F9281 +:105BF0009F92AF92BF92CF92DF92EF92FF920F935C +:105C00001F93CF93DF93CDB7DEB7C155D1090FB640 +:105C1000F894DEBF0FBECDBF8C012DB73EB72E96D8 +:105C20003FAF2EAF2E978091DD188111FEC180917C +:105C3000030180FDFAC189E09FE00F945DB08BAF56 +:105C4000823009F4F2C182E090E0909318028093D0 +:105C50001702C801BCDFC80155DF5C01009709F4D9 +:105C6000ABC14DB75EB722965FAF4EAF2297853678 +:105C7000910570F0E091CC08F0E0EE0FFF1FE058C6 +:105C8000F84B859194910F945D7AE4E6AE2EB12C99 +:105C90000F94CF2E0F94B82FE091CC08F0E0EE0FC8 +:105CA000FF1FE45AFA4B4591549161E080E00F9454 +:105CB0000C52C501880F991F880F991FEDB7FEB7C9 +:105CC000E81BF90B0FB6F894FEBF0FBEEDBF2DB762 +:105CD0003EB72F5F3F4F3DAF2CAFF801128E138EB2 +:105CE000148E158EF1E0AF16B10409F453C16901A9 +:105CF000E12CF12C8091030180FD60C10F94A2186A +:105D0000F801EE0DFF1DE053FE4FE082F801828D99 +:105D1000938DA48DB58DF60181939193A193B19349 +:105D20006F0140E050E0B701C80184DBFFEFEF1ADC +:105D3000FF0AEA14FB04F0F2B5016150710980E03A +:105D400090E00F94D2A420E030E040E05FE30F94B5 +:105D500007A76B017C01B50180E090E00F94D2A40D +:105D60009B01AC01C701B6010F9407A70F94A6A42D +:105D70001501C12CD12C76019B0140E050E06296C8 +:105D80002CAF3DAF4EAF5FAF6297A8014B5F5F4F47 +:105D900058AF4FABC8014E969AAF89AFF801ED5A94 +:105DA000FF4FFFAFEEAF41E0241A310809F4F6C00F +:105DB0008091030180FD02C1A4E6B0E0A701960135 +:105DC0000F9462A962962CAD3DAD4EAD5FAD62976A +:105DD0000F9409A9822F65E00F94D5A8882E9924E5 +:105DE00087FC9094612C712C6814790434F44AEB8C +:105DF00054E062E0862D0F94EC2EFFEF6F1A7F0ABD +:105E000024E16216710481F73FEFC31AD30AE30A53 +:105E1000F30A380126961FAE26978091030180FD74 +:105E2000CDC00F94A218A30140535E4F24965FAFDC +:105E30004EAF2497FA01508093012F523E4F28967F +:105E40003FAF2EAF2897F901F0812596FFAF259738 +:105E50002F2F30E02A963FAF2EAF2A974FEFC41A6C +:105E6000D40AE40AF40AECADFDAD54E0559EE00D11 +:105E7000F11D1124408151816281738120E030E065 +:105E8000C801F9DDF801868D882319F069AD7AAD76 +:105E900002C06FA978ADCE0101960F940DADF80147 +:105EA00084889588228933892C963FAF2EAF2C9712 +:105EB000EEADFFAD40802A96EEADFFAD2A97EE0F16 +:105EC000FF1FEE0FFF1F2CAD3DADE20FF31F408112 +:105ED00051816281738120E030E0C801CCDDF8019E +:105EE000868D882319F069AD7AAD02C06FA978ADAF +:105EF000FBADF1111CC0EEADFFAD8081481214C0A6 +:105F0000F801848995898816990651F482899389C4 +:105F10002C962EAD3FAD2C9782179307D0F02AC058 +:105F200088159905B0F026C0411013C023C03BADC1 +:105F3000313001F5EEADFFAD8081481208C0CE01D1 +:105F400001960F94DBAC181619061CF013C0411013 +:105F500011C025962FAD25972496EEADFFAD249761 +:105F600020832896EEADFFAD28975082F1E026966B +:105F7000FFAF26972FEF621A720AC301801B910BA5 +:105F80008215930508F449CF26963FAD2697311127 +:105F90000ACF04C0F801E053FE4F1082F801E2532B +:105FA000FE4FB182A08222968EAD9FAD22970FB692 +:105FB000F8949EBF0FBE8DBF10E00AC02296EEADD2 +:105FC000FFAD22970FB6F894FEBF0FBEEDBF2DC0F8 +:105FD0004AEB54E062E0812F0F94EC2E1F5F1431E6 +:105FE000B9F76CE271E080E090E00F948A9B0F9427 +:105FF000B72F0F94CF2E82E00F94186B82E00F948E +:10600000186B81E090E090931802809317020F9430 +:106010005B9B605D7A488F4F9F4F60933E187093F3 +:106020003F1880934018909341182E962EAD3FADA7 +:106030002E970FB6F8943EBF0FBE2DBFCF5ADF4F3D +:106040000FB6F894DEBF0FBECDBFDF91CF911F9189 +:106050000F91FF90EF90DF90CF90BF90AF909F9007 +:106060008F907F906F905F904F903F902F9008950A +:10607000EF92FF920F931F93CF93DF93EC011B825C +:10608000FC01E35AFF4F8081882329F0CE01865A14 +:106090009F4F0E94059C7E018CECE81A8DEFF80A58 +:1060A00045E360E0C7010E948995811133C0E3EFA9 +:1060B000FBE084918F01882339F00E945FA50F5F78 +:1060C0001F4FF8018491F7CFE6E0F6E405911491B3 +:1060D000F8018491882329F00E945FA50F5F1F4F6C +:1060E000F7CF8AE00E945FA58E010A5A1F4FB801C0 +:1060F000CE0189589F4F0E9402A8FE01EB58FF4F26 +:1061000011830083CE01DF91CF911F910F91FF90FA +:10611000EF9067CD8E01065C1D4F41E0B701C801CD +:106120000E9425A4811122C040E0B701C8010E944D +:1061300025A481111BC0E9EFFBE084918F01882326 +:1061400039F00E945FA50F5F1F4FF8018491F7CFD0 +:10615000E4EFF5E405911491F8018491882309F4A2 +:10616000C0CF0E945FA50F5F1F4FF6CFB801CE01D1 +:10617000865A9F4F0E94139981111BC0E9EFFBE0E3 +:1061800084918F01882339F00E945FA50F5F1F4F14 +:10619000F8018491F7CFE0E0F6E405911491F8015D +:1061A0008491882309F49DCF0E945FA50F5F1F4F44 +:1061B000F6CF81E08B83E3EFFBE084918F018823AE +:1061C00039F00E945FA50F5F1F4FF8018491F7CF50 +:1061D000EEE0F6E405911491F8018491882309F426 +:1061E00080CF0E945FA50F5F1F4FF6CF2F923F9287 +:1061F0004F925F926F927F928F929F92AF92BF92D7 +:10620000CF92DF92EF92FF920F931F93CF93DF9382 +:10621000CDB7DEB7CC55D1090FB6F894DEBF0FBEAF +:10622000CDBF4C018C010B5E1C4F662339F0F80189 +:106230001082F401838181111DC015C0F801808195 +:10624000882309F4AFC0F401E35FFC4FC080D18024 +:10625000E280F3800F945B9BC616D706E806F9062A +:1062600008F4A0C0E4CFC40103DFF40183818823D4 +:1062700009F498C07401F4E5EF0EF11CF701818177 +:106280008F9380818F938BE19EE09F938F938E01FC +:10629000015C1F4F1F930F930F9441AE0F900F900F +:1062A0000F900F900F900F90B12CF80101900020EB +:1062B000E9F73197E01BF10BBE1684F46801CB0CB3 +:1062C000D11CB7FCDA94F6018081992787FD90955F +:1062D0000F9443ACF6018083B394E7CFFAE58F0EB9 +:1062E000911C40E050E0BA01C4010E94229B512C55 +:1062F000CE0101966C01F4E16F2EFEE07F2E5E016F +:1063000091E2A90EB11C40E050E0B601C4010E9428 +:106310006F9A1816DCF5412CF60101900020E9F780 +:106320003197EC19FD094E1674F41601240C311C3A +:1063300047FC3A94F101808190E00F9443ACF10165 +:1063400080834394E9CF8A858E37E9F245E050E0B7 +:10635000B801C6010F9414AD892BA9F61F930F93B2 +:106360007F926F92BF92AF920F9441AE60E0C501F1 +:1063700010D461E080E19EE00CD40F900F900F905C +:106380000F900F900F9055245394BDCF511004C01F +:106390008FEF9FEFF70104C0F70180819181019693 +:1063A00091838083C45ADF4F0FB6F894DEBF0FBECF +:1063B000CDBFDF91CF911F910F91FF90EF90DF90B4 +:1063C000CF90BF90AF909F908F907F906F905F9095 +:1063D0004F903F902F9008954F925F926F927F92CF +:1063E0008F929F92AF92BF92CF92DF92EF92FF92E5 +:1063F0000F931F93CF93DF93CDB7DEB7AC970FB654 +:10640000F894DEBF0FBECDBF7C015B01FC01838130 +:10641000882309F4F1C0C701845A9D4F0E94059C4E +:10642000F7011282CE0101966C010E9473A527012B +:1064300095E7490E511CC7018A5A9F4FF20191837B +:106440008083F50180818F3209F075C06FE270E0C2 +:10645000C5010F94F9AC8C010F5F1F4F09F471C097 +:106460006FE270E0C8010F94F9AC4C01009709F499 +:1064700069C00817190708F065C03C01601A710A65 +:10648000A301B801CE0180960F9422ADE0E2F0E0C6 +:10649000EC0FFD1FE60DF71D10828E01005E1F4FF1 +:1064A000F80181918F01882319F00E945FA5F8CF30 +:1064B0008AE00E945FA5F20160817181611571051A +:1064C00019F06C5F7F4F02C060E070E021E0AE0128 +:1064D000405E5F4FCE0105960E94FC9D811126C053 +:1064E000ECEBF4E084918F01882339F00E945FA5E2 +:1064F0000F5F1F4FF8018491F7CF8E01005E1F4F91 +:10650000F80181918F01882319F00E945FA5F8CFCF +:10651000E2E5FEE084918F01882309F467C00E94C0 +:106520005FA50F5F1F4FF8018491F6CFF201D18272 +:10653000C082840191CFC70189589F4FF201918396 +:1065400080838501F20180819181009711F004968A +:1065500002C080E090E0B8010E94D29E882319F129 +:10656000E4E4FEE084915F01882341F00E945FA58E +:10657000FFEFAF1ABF0AF5018491F6CFF8018191C0 +:106580008F01882319F00E945FA5F8CF8AE00E944E +:106590005FA5F701EF5EFC4F108211821282138219 +:1065A000C7011FDB26C0ECE2FEE084917F01882357 +:1065B00041F00E945FA5FFEFEF1AFF0AF7018491F7 +:1065C000F6CFF80181918F01882319F00E945FA511 +:1065D000F8CFEAE2FEE084918F01882339F00E942F +:1065E0005FA50F5F1F4FF8018491F7CF8AE00E94EB +:1065F0005FA5C6010E94DA93AC960FB6F894DEBF91 +:106600000FBECDBFDF91CF911F910F91FF90EF9003 +:10661000DF90CF90BF90AF909F908F907F906F90C2 +:106620005F904F900895AF92BF92CF92DF92EF921A +:10663000FF920F931F93CF93DF93CDB7DEB76F9782 +:106640000FB6F894DEBF0FBECDBF8C017B01CE012B +:1066500001960E9473A5F801E258FF4F80816801FE +:10666000811104C026E5C20ED11C03C087E7C80E05 +:10667000D11C21E0A701B6016C5F7F4FCE010596CA +:106680000E94FC9D811127C0E3EFFBE084918F0104 +:10669000882339F00E945FA50F5F1F4FF801849196 +:1066A000F7CFE0E1F6E405911491F8018491882395 +:1066B00029F00E945FA50F5F1F4FF7CF8701F801F8 +:1066C00081918F01882319F00E945FA5F8CF8AE09D +:1066D0000E945FA538C0F801E453FE4F808191818C +:1066E0008A30910530F59C012F5F3F4F3183208325 +:1066F0002FE1289F7001299FF00C1124F6E9EF0E7D +:10670000F11CE00EF11E5C01B701C7014F960E941B +:1067100002A821E0A21AB1088FE1E81AF108EFEF10 +:10672000AE16BE0689F7B601C8018A569F4F0E9471 +:1067300002A8BE016F5F7F4FC80189589F4F0E941A +:1067400002A8C8014EDACE0101960E94DA936F9634 +:106750000FB6F894DEBF0FBECDBFDF91CF911F9172 +:106760000F91FF90EF90DF90CF90BF90AF90089582 +:10677000CF92DF92EF92FF920F931F93CF93DF930D +:10678000EC018C0104531E4FF80180819181009728 +:1067900061F10197918380837E01F6E9EF0EF11C90 +:1067A000B701CE0189589F4F0E9402A8C701E12C72 +:1067B000F12C6C01EFE1CE0ED11CF801208131816A +:1067C000E216F30640F42FEFE21AF20AB6010E9435 +:1067D00002A8C601EECFCE01DF91CF911F910F919C +:1067E000FF90EF90DF90CF90FCC9DF91CF911F9188 +:1067F0000F91FF90EF90DF90CF900895EF92FF926E +:106800000F931F93CF93DF93EC010F94350D8E01FF +:1068100009581D4FF80180819E01245A3D4F79018E +:106820008823A9F1C9010E94059CF801808181504B +:106830008083BE01FDE88F9F600D711D1124645897 +:106840007D4F21E041E0CE010E9466AAF8018081DF +:10685000FE0124E0829FE00DF11D1124E858FD4F58 +:106860004081518162817381FE01EF5EFC4F408364 +:10687000518362837383C7010E94229BCE01DF9103 +:10688000CF911F910F91FF90EF900C9416A80F9449 +:10689000BC0DC7010E94059C1A82DF91CF911F9108 +:1068A0000F91FF90EF900D94B30DCF92DF92EF9286 +:1068B000FF920F931F93FB011082118212821382A9 +:1068C0006B01A4E0EA2EF12C00E515E020E030E0B9 +:1068D00041E061E08C5C9D4F0E94509791E08111F6 +:1068E00001C090E0892F1F910F91FF90EF90DF90F2 +:1068F000CF9008959091A107911107C09091C00089 +:1069000095FFFCCF8093C6000895913031F49091AB +:10691000C80095FFFCCF8093CE000895CF93C62F7B +:106920002091520E3091530EE091500EF091510E85 +:106930002E173F0741F440914E0E50914F0E141602 +:1069400015060CF44DC060914B0E70914C0EAF01CA +:10695000480F591F161617067CF4E217F3077CF050 +:10696000BA0163597F4F6E3E7140C0F14C5F5F4F7B +:106970004E3E5140C8F415C0E217F3073CF44459A9 +:106980005F4F81E04217530764F12AC0DA01A3592F +:10699000BF4FAE3EB14010F14C5F5F4F4E3E514095 +:1069A00018F429363105D4F484599F4F8217930780 +:1069B000BCF44DEE51E04E1B5F0B60E070E0CF0188 +:1069C0008C5A914F0F94D4ACCC2309F0F8941092C8 +:1069D000510E1092500ECC2309F0789481E001C042 +:1069E00080E0CF91089580914E0E90914F0E181631 +:1069F00019060CF056C0019790934F0E80934E0EDF +:106A0000892B99F480914B0E90914C0E892B21F497 +:106A10001092510E1092500E8091500E9091510E86 +:106A20009093530E8093520E3AC02091520E3091A3 +:106A3000530E2D5F3F4F2F5F3F4FF901ED5AF14F3E +:106A400040814111F8CFC901382F292F8D3E41E0F7 +:106A5000940740F09093530E8093520E8D3E9140D8 +:106A6000F1F40EC00196FC01ED5AF14F4081442330 +:106A700059F33093520E2093530E832F922FEECF63 +:106A800080E090E0382F292F0196FC01ED5AF14F5C +:106A900040814423B9F33093520E2093530E81E08A +:106AA000089580E008951092530E1092520E1092A5 +:106AB000510E1092500E10924F0E10924E0E1092D8 +:106AC0004D0E08950F931F93CF93DF93EC01803603 +:106AD000910514F080E052C080914D0E811104C0E8 +:106AE00082DF81E080934D0E4091520E5091530E03 +:106AF0008091500E9091510E4817590739F420910A +:106B00004E0E30914F0E1216130624F320914B0EA9 +:106B100030914C0E1216130624F49C012F593F4F4E +:106B200001C09C018417950744F44C1B5D0B445035 +:106B300051094217530774F209C0CE010396841716 +:106B400095074CF44C1B5D0B445051095093530E68 +:106B50004093520E12C009EE11E00C1B1D0B0217E0 +:106B600013070CF4B7CF60E070E084E59EE00F946B +:106B7000D4AC1093530E0093520E81E0DF91CF916D +:106B80001F910F910895803691050CF4C7CE80E0D7 +:106B90000895FF920F931F93CF93DF93EC01F62E8E +:106BA000662321F00F9466AC8C0109C0FC010190B2 +:106BB0000020E9F78F0101501109081B190B60E053 +:106BC000C801E1DF882309F466C08091500E9091DE +:106BD000510EFC01EC5AF14F23E020830396BE01D5 +:106BE0008C5A914FFF2019F00F945FAC02C00F94A4 +:106BF0000DADE3EFFBE08491EF01882329F07ADE0D +:106C00002196FE018491F9CFECE9F7E4C591D49186 +:106C1000FE018491882319F06DDE2196F9CFC09191 +:106C2000500ED091510EC95AD14F8991882311F03D +:106C300061DEFBCFECE7FFE08491EF01882329F0D0 +:106C400059DE2196FE018491F9CF8AE053DE0C5F74 +:106C50001F4F8091500E9091510E080F191F0D3E3D +:106C6000F1E01F0729F01093510E0093500E04C05D +:106C70001092510E1092500E80914E0E90914F0E28 +:106C8000019690934F0E80934E0EDF91CF911F91FE +:106C90000F91FF900895E9EFFBE084918F01882325 +:106CA00031F028DE0F5F1F4FF8018491F8CFECE937 +:106CB000F7E405911491F8018491882321F01ADEFC +:106CC0000F5F1F4FF8CFFF2061F0FE0184918823F2 +:106CD00019F010DE2196F9CFE5E6FFE08491EF018F +:106CE00005C089918823C1F305DEFBCF882329F0F5 +:106CF00001DE2196FE018491F9CF8AE0DF91CF91E8 +:106D00001F910F91FF90F6CD81E020914E0E3091B2 +:106D10004F0E232B09F080E00895FF920F931F93ED +:106D2000CF93DF93EC01F62E662319F00F9466AC37 +:106D300008C0FC0101900020E9F7CF0101978C1BEE +:106D40009D0BC0DE882309F450C08091520E9091B3 +:106D5000530EFC01EC5AF14F23E020830396BE0151 +:106D60008C5A914FFF2019F00F945FAC02C00F9422 +:106D70000DAD80914E0E90914F0E019690934F0E57 +:106D800080934E0EE3EFFBE08491EF01882329F01E +:106D9000B1DD2196FE018491F9CFECE4FFE084910E +:106DA000EF01882329F0A6DD2196FE018491F9CF19 +:106DB000C091520ED091530EC95AD14F8991882358 +:106DC00011F098DDFBCFEAE4FFE08491EF01882326 +:106DD00029F090DD2196FE018491F9CF8AE0DF91C0 +:106DE000CF911F910F91FF9085CDE9EFFBE084914A +:106DF0008F01882331F07EDD0F5F1F4FF8018491F2 +:106E0000F8CFE1E3FFE084918F01882331F072DD58 +:106E10000F5F1F4FF8018491F8CFFF2061F0FE0152 +:106E20008491882319F066DD2196F9CFEAE1FFE02D +:106E30008491EF0105C089918823C1F35BDDFBCF0D +:106E4000882309F4CBCF56DD2196FE018491F8CF3B +:106E500081E080934D0E089581E020914E0E309197 +:106E60004F0E232B09F080E008952F923F924F920E +:106E70005F926F927F928F929F92AF92BF92CF92CA +:106E8000DF92EF92FF920F931F93CF93DF93CDB7D3 +:106E9000DEB76E970FB6F894DEBF0FBECDBF61E0D0 +:106EA0008FE590E03BDD882309F475C480919D0750 +:106EB00090919E0720919F073091A007821B930B12 +:106EC0008F7799278F37910569F0BB24B39422EA15 +:106ED000E22E27E4F22E3CE2C32E35E4D32E44E228 +:106EE000A42E2EC08CE197E00E945C3DEBE0FFE019 +:106EF00084918F01882331F0FDDC0F5F1F4FF80173 +:106F00008491F8CF8AE0F6DCE0CF8CE197E00E9434 +:106F1000403D182F0F945B9B6093440E7093450E79 +:106F20008093460E9093470E0F945B9B6093400EA8 +:106F30007093410E8093420E9093430E17FF0FC043 +:106F400080919D0790919E0720919F073091A00707 +:106F5000821B930B8F779927892BB9F697C12091C4 +:106F60004B0E30914C0E1A3031F01D3021F02F3580 +:106F700031050CF473C12115310519F410924A0E34 +:106F80000AC40091500E1091510EF901EC5AF14FC4 +:106F9000E00FF11F138280914A0E811145C160E715 +:106FA00073E0C801895A914F0F9431AD892B09F0D4 +:106FB00080C0F801EC5AF14F83818E3409F079C01A +:106FC0004AE050E060E070E0C801885A914F0F94A9 +:106FD0000AAB60933C0E70933D0E80933E0E9093EF +:106FE0003F0E4090380E5090390E60903A0E7090DF +:106FF0003B0EFFEF4F1A5F0A6F0A7F0A0091500E97 +:107000001091510E641575058605970509F4E5C1C3 +:1070100066E07FE0C801895A914F0F94A4AC892B98 +:1070200009F0DBC1E9EFFBE084918F01882331F0A7 +:1070300061DC0F5F1F4FF8018491F8CFEAEAF7E4B3 +:1070400005911491F8018491882321F053DC0F5F9E +:107050001F4FF8CF4091380E5091390E60913A0E83 +:1070600070913B0E2AE030E08CE197E00E941B3EDD +:107070008AE040DC0E943D4E5DC0E091480EF091F8 +:10708000490E1082E091500EF091510EEC5AF14FE2 +:10709000A38280913C0E90913D0EA0913E0EB09146 +:1070A0003F0E8093380E9093390EA0933A0EB09312 +:1070B0003B0E0091500E1091510EF801EC5AF14F19 +:1070C00083810D5F1F4F8E3409F439C0843209F477 +:1070D00036C06AE270E0C8018C5A914F0F94F9AC47 +:1070E000892B69F1E9EFFBE084918F01882331F06E +:1070F00001DC0F5F1F4FF8018491F8CFE4EAF7E459 +:1071000005911491F8018491882321F0F3DB0F5F3E +:107110001F4FF8CF4091380E5091390E60913A0EC2 +:1071200070913B0E2AE030E08CE197E00E941B3E1C +:107130008AE0E0DB10924C0E10924B0E2CC367E4F9 +:1071400070E0C8018C5A914F0F94F9AC9093490E9E +:107150008093480E009761F120910809211108C021 +:107160002AE030E03093F4082093F308B092FB0853 +:1071700020911E082223E1F04AE050E060E070E038 +:1071800001960F940AAB6430710590F4F7010591F4 +:107190001491F8018491882321F0ACDB0F5F1F4F1D +:1071A000F8CF8AE0A7DBF601859194910F942830FF +:1071B0008091500E9091510E60ED74E0895A914F7C +:1071C0000F9404AD892B29F462E08BEB94E00E94CC +:1071D00000558091500E9091510EFC01EC5AF14FE8 +:1071E000B082DC01A95AB14FFD0101900020E9F7FE +:1071F0003197EA1BFB0B04968E0F9F1F8D3EF1E02B +:107200009F0729F09093510E8093500E04C0109266 +:10721000510E1092500E80914E0E90914F0E01968D +:1072200090934F0E80934E0E10924C0E10924B0E78 +:1072300080919D0790919E0720919F073091A00714 +:10724000821B930B8F779927892B09F4A4C261E0E5 +:107250008FE590E063DB811173CE9DC21B3311F487 +:10726000B0924A0E80914A0E81116ACEE091500E82 +:10727000F091510EC901019690934C0E80934B0EE4 +:10728000E20FF31FE95AF14F10835ACE8091DD18B7 +:10729000882309F463C00F945B9B6093400E709346 +:1072A000410E8093420E9093430E0091440E109134 +:1072B000450E2091460E3091470EDC01CB01801B1C +:1072C000910BA20BB30B81329340A105B10508F4D9 +:1072D00045C0E0914B0EF0914C0E1E161F060CF0AF +:1072E0003DC08091500E9091510EEC5AF14FE80F35 +:1072F000F91F1382DC01A95AB14FFD010190002052 +:10730000E9F73197EA1BFB0B04968E0F9F1F8D3E0A +:1073100031E0930729F09093510E8093500E04C0F2 +:107320001092510E1092500E80914E0E90914F0E71 +:10733000019690934F0E80934E0E10924C0E109229 +:107340004B0EEDEFFEE084918F01882309F423C2F8 +:10735000D1DA0F5F1F4FF8018491F7CF80910809B0 +:10736000882309F418C280914B0E90914C0E892B02 +:1073700009F011C280914E0E90914F0E892B11F49D +:1073800010922F0E8CE3882E912CA12CB12C90E121 +:10739000492E9EE0592E612C712C8E010F5F1F4FDC +:1073A000222423944091170C5091180C6091190CD1 +:1073B00070911A0C80910F0C9091100CA091110CEF +:1073C000B091120C481759076A077B0708F0E3C110 +:1073D00080912F0E8111DFC155C0095A114F6AE209 +:1073E00070E0C8010F94F9AC9093490E8093480E59 +:1073F0000097C9F4E9EFFBE084918F01882331F015 +:1074000079DA0F5F1F4FF8018491F8CFE6EAF7E4CD +:1074100005911491F8018491882309F41BCE6ADA4E +:107420000F5F1F4FF7CFF80110E0E817F90719F0C9 +:1074300021911227FACF4AE050E060E070E0CF01DE +:1074400001960F940AAB212F30E02617370709F475 +:1074500014CEE9EFFBE084918F01882331F04ADA02 +:107460000F5F1F4FF8018491F8CFE0EBF7E405912F +:107470001491F8018491882309F4ECCD3BDA0F5F75 +:107480001F4FF7CF80916A0B90916B0BA0916C0B03 +:10749000B0916D0B8093170C9093180CA093190C5E +:1074A000B0931A0C82E69BE00E94599A382EBAE0FB +:1074B0008B17C9F0FDE03F16B1F023E2321619F048 +:1074C0003AE3331204C020914A0E222361F0209146 +:1074D0004B0E30914C0E2F3531052CF48F3F4FEF72 +:1074E000940709F03DC14091170C5091180C609120 +:1074F000190C70911A0C80910F0C9091100CA091A6 +:10750000110CB091120C481759076A077B0708F451 +:107510009EC0EAE7F7E4E590F490F70184918823B0 +:1075200029F0E8D9FFEFEF1AFF0AF7CF8AE0E2D996 +:107530000F945B9B60932408709325088093260822 +:1075400090932708C0902808D0902908E0902A0836 +:10755000F0902B086C197D098E099F09C090D708FF +:10756000D090D808E090D908F090DA086C197D091D +:107570008E099F0928EE33E040E050E00F9409A9FE +:1075800069017A011092D7081092D8081092D90890 +:107590001092DA086091C5087091C6088091C708FA +:1075A0009091C8080E943756C701B601A501940101 +:1075B0000F9409A9CA01B901A50194010F9409A961 +:1075C0007F936F93C701B601A30192010F9409A99C +:1075D0003F932F93A9EEBEE0BF93AF931F930F93FA +:1075E0000F9441AEE3EFFBE084910FB6F894DEBF59 +:1075F0000FBECDBF7F01882339F07CD93FEFE31A5E +:10760000F30AF7018491F7CF7801D7018D917D01BD +:10761000882311F06FD9F9CF8AE06CD9C8010F9493 +:107620001B3086E099E0EAD861E086E099E00E94AC +:10763000F6B08091DD18882351F086E090E00F9439 +:10764000AE3BE4E0F0E0F093E218E093E118F3E2FF +:107650003F1202C020922F0E20914B0E30914C0E03 +:107660002115310519F410924A0E9CCE8091650BBC +:10767000882349F0C090170CD090180CE090190C9A +:10768000F0901A0C03C0C12CD12C760181E090E05F +:107690004091300E5091310E841B950B8C0D9D1D29 +:1076A0004091500E5091510EFA01EC5AF14F62E0A8 +:1076B000608381839283F901EC5AF14FE40FF51F47 +:1076C0001382DA01A95AB14FFD0101900020E9F7B8 +:1076D0003197EA1BFB0BF89480914E0E90914F0E60 +:1076E000019690934F0E80934E0EEC5F2091500EBA +:1076F0003091510E2E0F311D3093510E2093500EAC +:107700008091650B882349F08091170C9091180C9B +:10771000A091190CB0911A0C03C080E090E0DC013C +:107720000196A11DB11D8093300E9093310EA09350 +:10773000320EB093330E2D3E314021F41092510E93 +:107740001092500E789410924A0E10924C0E109295 +:107750004B0E61E08FE590E0E1D8811121CE1BC096 +:10776000ABE33A1203C020924A0E1CCE40914A0E5F +:10777000411116CEE091500EF091510EA9014F5FCC +:107780005F4F50934C0E40934B0EE20FF31FE95A9C +:10779000F14F808307CE6E960FB6F894DEBF0FBE12 +:1077A000CDBFDF91CF911F910F91FF90EF90DF90B0 +:1077B000CF90BF90AF909F908F907F906F905F9091 +:1077C0004F903F902F90089540914E0E50914F0E44 +:1077D00041155105A9F18091520E9091530E20E070 +:1077E00030E0FC01EC5AF14FA081A23021F461811C +:1077F0007281260F371F4150510929F10396FC0170 +:10780000EC5AF14FE0810196E111F9CF8D3EE1E0B4 +:107810009E0738F08D3EE1E09E0719F7E4E5FEE0B3 +:1078200008C0FC01EC5AF14FE081E111F3CF019661 +:10783000EDCFCF0184559E40A191AA23D1F3D1CFA2 +:1078400080E090E00895C90108950F945B9B6093D8 +:10785000440E7093450E8093460E9093470E0F94FE +:107860005B9B6093400E7093410E8093420E909309 +:10787000430E089520E030E0A901CA01B9010C943B +:10788000F19160E070E0CB010C94149310926A02C5 +:10789000089587E69FE00F945DB091E0813009F094 +:1078A00090E090936A0208950E94F7F1009719F012 +:1078B00010924F1003C021E020934F1061E0892BFC +:1078C00009F460E060936A0210924E1010924D101D +:1078D00087E69FE00F946FB080916A028093BA02AE +:1078E000089510926A0260E087E69FE00F946FB0FF +:1078F0001092BA02089526EF280F92EC980F2430C8 +:1079000050F03EEC380F343030F0983008F041C081 +:10791000ADE6B0E040C0ABE6B0E0EBE6F0E03081D1 +:10792000243010F4865009C0823399F0833399F0E3 +:10793000843399F0983098F48E5341E050E060E041 +:1079400070E004C0440F551F661F771F8A95D2F759 +:1079500007C048E005C044E003C042E001C041E088 +:10796000432B4C934BB331E0983018F030E081E07A +:1079700001C084E0842B8BBB90916800243020F000 +:10798000332311F084E001C081E0892B80936800EB +:107990000895A0E0B0E0983018F4EDE6F0E0BFCF35 +:1079A000E0E0F0E0BCCF61E08FE30F94469D60E043 +:1079B0008FE30F947F9D109250108FE39CCF0E9415 +:1079C000ABF1809158119091591190934910809387 +:1079D000481010924710109242100F945B9B6093D6 +:1079E000431070934410809345109093461081E0AB +:1079F00080934A1010924D100895109242101092E8 +:107A00004A1010924D1008950F931F930F945B9B93 +:107A10000091431010914410209145103091461070 +:107A2000601B710B820B930B693171058105910508 +:107A300008F43FC00F945B9B609343107093441015 +:107A400080934510909346100E94ABF120915811FD +:107A5000309159118091481090914910821B930BDD +:107A600040914710009799F097FF07C090914210FE +:107A7000981B909342104D5F03C0423018F0425063 +:107A800040934710309349102093481005C0442379 +:107A900019F041504093471080914710811103C065 +:107AA0001092421006C08F3020F0809142108F312A +:107AB00010F480E001C081E01F910F9108951F92A2 +:107AC0000F920FB60F9211240BB60F922F933F9384 +:107AD0004F935F936F937F938F939F93AF93BF93D6 +:107AE000CF93DF93EF93FF93809106019091501015 +:107AF000892781FF40C080910601809350108091BA +:107B00004110811138C081E080934110C0914B1029 +:107B1000D0914C1010924C1010924B1078940E94FF +:107B2000ABF1892B21F4DDDE81E080934F102097AB +:107B3000E1F08091581190915911009741F01CF09B +:107B4000D7FF0CC012C01C161D0624F007C01C165F +:107B50001D065CF480914D108F5F05C080914D1023 +:107B6000882319F0815080934D1010925911109272 +:107B7000581110924110FF91EF91DF91CF91BF9179 +:107B8000AF919F918F917F916F915F914F913F91B5 +:107B90002F910F900BBE0F900FBE0F901F90189556 +:107BA00020916A02222319F120914B1030914C1040 +:107BB000121613062CF4FC01808D83FD07C0089576 +:107BC000232BA9F0FC01808D83FD11C0809106015B +:107BD0009FB781FF05C0F894809108018D7F04C094 +:107BE000F894809108018260809308019FBF0895F6 +:107BF00020916A02222379F120914B1030914C1090 +:107C0000FC01808D83FF03C0719561957109620F3E +:107C1000731F70934C1060934B1080916B02909186 +:107C20006C026817790734F491958195910986174C +:107C300097078CF0809106019FB781FF05C0F894EB +:107C4000809108018D7F04C0F894809108018260C2 +:107C5000809308019FBF089580916A02882309F4E8 +:107C60003FC080914D10863008F43AC003DE109278 +:107C70004D1061E08EE89FE050D80E94E1600E94C4 +:107C8000F3B40F94350D61E083E89FE046D80E947D +:107C9000E1600E94F3B40F94350D80914D10811175 +:107CA00001C0EFCD85E69FE00F945DB061E0680F05 +:107CB00085E69FE00F946FB081E09FE00F946AB07B +:107CC000BC016F5F7F4F81E09FE00F9489B061E05E +:107CD0008EE79FE022D881E080934E1010926A02D6 +:107CE00008950F931F93CF93DF93EC018B0144E131 +:107CF00050E0BC0181E590E10F9495ACCE010F946A +:107D000066AC992744E150E0481B590BB8018F5AE3 +:107D10009F4E0F9495AC81E590E1DF91CF911F913B +:107D20000F910895AF92BF92CF92DF92EF92FF92A0 +:107D30000F931F93CF93DF93EC015B017A016901ED +:107D400044E150E0BC0181E590E10F9495ACCE0197 +:107D50000F9466ACEC01DD2704E110E0A8014C1B98 +:107D60005D0BB501CE018F5A9F4E0F9495ACC501A6 +:107D70000F9466ACC80FD91FDD27A8014C1B5D0B03 +:107D8000B701CE018F5A9F4E0F9495ACC7010F9447 +:107D900066AC8C0F9D1F9927A801481B590BB60193 +:107DA0008F5A9F4E0F9495AC81E590E1DF91CF9172 +:107DB0001F910F91FF90EF90DF90CF90BF90AF9009 +:107DC00008954F925F926F927F928F929F92AF929F +:107DD000BF92CF92DF92EF92FF920F931F93CF93B8 +:107DE000DF93CDB7DEB728970FB6F894DEBF0FBE8E +:107DF000CDBFDC01CD90DD90ED90FC901397C0924B +:107E00008010D0928110E0928210F092831014962C +:107E10000D911D912D913C91179709831A832B8306 +:107E20003C83009388101093891020938A1030931C +:107E30008B10DB010D911D912D913C9113970D83BA +:107E40001E832F833887009384101093851020930E +:107E500086103093871014964D905D906D907C90B5 +:107E6000179740928C1050928D1060928E107092E5 +:107E70008F10FA0160817181828193816093681013 +:107E80007093691080936A1090936B108480958032 +:107E9000A680B78080926C1090926D10A0926E10A8 +:107EA000B0926F1020E030E0A9010F9432A481114C +:107EB0000CC020E030E0A901C501B4010F9432A448 +:107EC000811103C01092901003C081E08093901044 +:107ED00020E030E040E85FE3C701B6010F9432A430 +:107EE000811121C020E030E0A9016D817E818F8168 +:107EF00098850F9432A4811116C020E030E0A901CA +:107F000069817A818B819C810F9432A481110BC08D +:107F100020E030E040E85FE3C301B2010F9432A4F7 +:107F2000882309F45EC08091901082608093901045 +:107F3000A3019201C701B6010F9407A74B015C0191 +:107F40002D813E814F81588569817A818B819C8109 +:107F50000F9407A79B01AC01C501B4010F9458A36E +:107F60004B015C019B01AC01C301B2010F9439A428 +:107F700060937010709371108093721090937310CF +:107F80006D817E818F8198859058A50194010F9411 +:107F900039A4609374107093751080937610909349 +:107FA000771069817A818B819C819058A501940119 +:107FB0000F9439A4609378107093791080937A109D +:107FC00090937B10A5019401C701B6010F9439A4C9 +:107FD00060937C1070937D1080937E1090937F103F +:107FE00024C080E090E0A0E8BFE3809370109093FD +:107FF0007110A0937210B0937310109274101092BD +:1080000075101092761010927710109278101092CE +:10801000791010927A1010927B1080937C109093BC +:108020007D10A0937E10B0937F1028960FB6F89421 +:10803000DEBF0FBECDBFDF91CF911F910F91FF909B +:10804000EF90DF90CF90BF90AF909F908F907F90F8 +:108050006F905F904F9008958F929F92AF92BF92D2 +:10806000CF92DF92EF92FF920F931F93450156013B +:10807000EAE6F8E0FF93EF93EAE8CE2EE8E0DE2EA2 +:108080000E9488F70F900F901F910F91FF90EF9033 +:10809000DF90CF90BF90AF909F908F900D94350D53 +:1080A0008F929F92AF92BF92CF92DF92EF92FF9208 +:1080B0000F931F9347015801E0908608F0908708BE +:1080C0000091880810918908EAE6F8E0FF93EF93A1 +:1080D000FAE8CF2EF8E0DF2E0E9488F70F900F907D +:1080E0001F910F91FF90EF90DF90CF90BF90AF90D6 +:1080F0009F908F900D94350D8F929F92AF92BF926B +:10810000CF92DF92EF92FF920F931F934B015C018E +:10811000E0908608F09087080091880810918908FF +:1081200020918208309183084091840850918508FD +:1081300060917E0870917F088091800890918108FD +:10814000EAE6F8E0FF93EF93AAE8CA2EA8E0DA2E59 +:108150000E9488F70F900F901F910F91FF90EF9062 +:10816000DF90CF90BF90AF909F908F900D94350D82 +:10817000CF92DF92EF92FF920F931F93CF93DF93F3 +:1081800080E00F94A00DCEE7D8E0688379838A83DE +:108190009B8381E00F94A00DB2E8CB2EB8E0DB2EDC +:1081A000F601608371838283938382E00F94A00D34 +:1081B0007B018C0160938608709387088093880800 +:1081C00090938908F6012081318142815381688131 +:1081D00079818A819B81CAE8CC2EC8E0DC2E0F947D +:1081E0005802DF91CF911F910F91FF90EF90DF9098 +:1081F000CF90089582E00F94A00D6093860870934D +:108200008708809388089093890886E898E00D9401 +:10821000AA038F929F92AF92BF92CF92DF92EF927A +:10822000FF920F931F936B017C0120E030E040E24E +:1082300052E46091620270916302809164029091B5 +:1082400065020F9439A44B015C01A701960160916E +:1082500086087091870880918808909189080F940A +:1082600058A37B018C0120918208309183084091B2 +:1082700084085091850860917E0870917F088091F4 +:10828000800890918108EAE6F8E0FF93EF93EAE82E +:10829000CE2EE8E0DE2E0E9488F70F94350D0F9069 +:1082A0000F9086E898E01F910F91FF90EF90DF907C +:1082B000CF90BF90AF909F908F900D94AA03CF92D4 +:1082C000DF92EF92FF92823008F041C0FB01C08044 +:1082D000D180E280F38020E030E040E85FEBC7012E +:1082E000B6010F9435A687FF32C020E030E040E9A8 +:1082F00050ECC701B6010F9432A487FD23C020E0E3 +:1083000030E040E950E4C701B6010F9459A320E0E2 +:1083100030E040E650E40F9439A46B017C019B01EE +:10832000AC0160E070E080E89FE30F9458A323E382 +:1083300033E343EB5EE30F9407A7A70196010F9485 +:1083400059A309C063E373E383EB9EE304C060E0D9 +:1083500070E080E89FE3FF90EF90DF90CF9008956A +:108360008F929F92AF92BF92CF92DF92EF92FF9245 +:10837000FC01C080D180E280F38020E030E040E862 +:108380005FEBC701B6010F9435A687FF38C020E028 +:1083900030E040E950ECC701B6010F9432A487FDEC +:1083A00033C020E030E040E950E4C701B6010F944B +:1083B00059A320E030E040E650E40F9439A46B016B +:1083C0007C019B01AC0160E070E080E89FE30F94CA +:1083D00058A320E030E0A9010F9407A74B015C01EE +:1083E0002AE939E949E95EE3C701B6010F9407A715 +:1083F0009B01AC01C501B4010F9459A308C06AE9FF +:1084000079E989E99EE303C060E070E0CB01FF9069 +:10841000EF90DF90CF90BF90AF909F908F90089596 +:108420009091A107911107C09091C00095FFFCCFDA +:108430008093C6000895913031F49091C80095FF63 +:10844000FCCF8093CE0008952F923F924F925F927F +:108450006F927F928F929F92AF92BF92CF92DF9254 +:10846000EF92FF920F931F93CF93DF93CDB7DEB7B9 +:10847000C05CD1090FB6F894DEBF0FBECDBFE59644 +:108480009FAF8EAFE597C056DF4F6883C05AD0408C +:10849000C757DF4F59834883C958D040AD963FAF87 +:1084A0002EAFAD97AF961FAF0EAFAF976B96FFAEE7 +:1084B000EEAE6B97D7011D921D921D921C921397E1 +:1084C000F7011482158216821782F4E6C156DF4F37 +:1084D000F883CF59D040A7961CAE1DAE1EAE1FAE7E +:1084E000A7976F961CAE1DAE1EAE1FAE6F97CE0146 +:1084F000019663969FAF8EAF6397DE01AF5BBF4F70 +:108500006596BFAFAEAF65976F966CAD7DAD8EAD26 +:108510009FAD6F970F9436A4E3966CAF7DAF8EAF8F +:108520009FAFE3976F966CAD7DAD8EAD9FAD6F97AE +:108530000F94B6A7C557DF4F688379838A839B83DF +:10854000CB58D040A7966CAD7DAD8EAD9FADA797B3 +:108550000F9436A4C157DF4F688379838A839B8346 +:10856000CF58D040A7966CAD7DAD8EAD9FADA7978F +:108570000F94B6A7CD56DF4F688379838A839B8398 +:10858000C359D04080E46396EEADFFAD639711927E +:108590008A95E9F780E16596AEADBFAD65971D920E +:1085A0008A95E9F780E090E00E940957FE01EF5BB1 +:1085B000FF4FC556DF4FF983E883CB59D040CE013A +:1085C0000196E7969FAF8EAFE79700E0CD56DF4F5D +:1085D00088819981AA81BB81C359D040B058C358C2 +:1085E000DF4F88839983AA83BB83CD57D040C1577F +:1085F000DF4F88819981AA81BB81CF58D040B05884 +:10860000CF57DF4F88839983AA83BB83C158D0405B +:10861000C557DF4F88819981AA81BB81CB58D04053 +:10862000B058CB57DF4F88839983AA83BB83C55843 +:10863000D040A1961FAE1EAEA19710E0E5962EACDD +:108640003FACE59766961FAE6697C12CD12C76019C +:1086500066969FAD6697C056DF4FA881C05AD0403E +:108660009A1709F41AC1013011F40C9413CC11308B +:1086700011F40C944ACC002311F1023071F4D101B1 +:108680002D913D914D915C91CB57DF4F6881798160 +:108690008A819B81C558D0400DC0F101248135816C +:1086A00046815781CF57DF4F688179818A819B81CD +:1086B000C158D0400F9407A74B015C0106C0812C24 +:1086C000912CB0E8AB2EBFE3BB2E112311F1123079 +:1086D00071F4D1012D913D914D915C91CB57DF4FBC +:1086E000688179818A819B81C558D0400DC0F10194 +:1086F0002481358146815781CF57DF4F6881798149 +:108700008A819B81C158D0400F9407A79B01AC017F +:1087100004C020E030E040E85FE3B1016C5F7F4FD0 +:1087200066968FAD6697C354DF4F2883CD5BD040EC +:10873000C254DF4F3883CE5BD040C154DF4F4883F3 +:10874000CF5BD040C054DF4F5883C05CD040B7DD12 +:108750002B013C01C354DF4F2881CD5BD040C25474 +:10876000DF4F3881CE5BD040C154DF4F4881CF5BB3 +:10877000D040C054DF4F5881C05CD040C501B40127 +:108780000F9407A7A30192010F9407A79B01AC01C7 +:10879000C701B6010F9459A36B017C01002309F4B2 +:1087A00071C0112309F46EC0023011F00C943BCC5F +:1087B000D1012D913D914D915C91E3966CAD7DADD4 +:1087C0008EAD9FADE3970F9407A74B015C0111306D +:1087D00011F40C942DCC123011F00C941ECCD1015C +:1087E0002D913D914D915C91E3966CAD7DAD8EAD3B +:1087F0009FADE3970F9407A79B01AC016696FFAD71 +:108800006697F23010F00C9433CCC1010496C35437 +:10881000DF4F2883CD5BD040C254DF4F3883CE5B1F +:10882000D040C154DF4F4883CF5BD040C054DF4FAE +:108830005883C05CD04094DD2B013C01C354DF4F12 +:108840002881CD5BD040C254DF4F3881CE5BD04011 +:10885000C154DF4F4881CF5BD040C054DF4F5881B7 +:10886000C05CD040C501B4010F9407A7A3019201D9 +:108870000F9407A79B01AC01C701B6010F9459A340 +:108880006B017C0166962FAD66972F5F66962FAFC2 +:10889000669788E0280E311CDBCEE796EEADFFAD83 +:1088A000E797A1968EAD9FADA197E80FF91FC08203 +:1088B000D182E282F3821F5F0496A1969FAF8EAFB2 +:1088C000A197409709F0BACEE5962EAC3FACE5975C +:1088D000C757DF4FA881B981C958D0406796BFAF4D +:1088E000AEAF679710E0AB961CAE1DAE1EAE1FAECE +:1088F000AB97C056DF4F2881C05AD040121709F4F9 +:1089000098C1002331F1013059F1023071F4F101C5 +:108910002081318142815381CB57DF4F688179813A +:108920008A819B81C558D0400FC0D10114962D91EA +:108930003D914D915C911797CF57DF4F68817981B9 +:108940008A819B81C158D0400F9407A74B015C01DD +:108950000AC0812C912CE0E8AE2EEFE3BE2E03C0BE +:10896000812C912C5401F10181919191A191B191AE +:10897000A196FFAFEEAFA197C956DF4F88839983C9 +:10898000AA83BB83C759D0409C01AD01E3966CAD6F +:108990007DAD8EAD9FADE3970F9407A76B017C0172 +:1089A000D10114968D919D910D90BC91A02DED96C5 +:1089B0008CAF9DAFAEAFBFAFED976796EEADFFAD9D +:1089C00067974590559065907490ED962CAD3DADB0 +:1089D0004EAD5FADED97CD56DF4F688179818A81CD +:1089E0009B81C359D0400F9407A79B01AC01C701DD +:1089F000B6010F9458A36B96EEADFFAD6B97208137 +:108A00003181428153810F9459A3A30192010F94A4 +:108A100058A39B01AC01A1966EAD7FADA197812FAC +:108A2000C354DF4F2883CD5BD040C254DF4F38831F +:108A3000CE5BD040C154DF4F4883CF5BD040C054A1 +:108A4000DF4F5883C05CD0403ADC2B013C01C3545B +:108A5000DF4F2881CD5BD040C254DF4F3881CE5BE1 +:108A6000D040C154DF4F4881CF5BD040C054DF4F6E +:108A70005881C05CD040C501B4010F9407A7A30181 +:108A800092010F9407A79B01AC01AB966CAD7DAD35 +:108A90008EAD9FADAB970F9459A3AB966CAF7DAFE6 +:108AA0008EAF9FAFAB970023B9F00130C9F0023011 +:108AB000E9F0ED962CAD3DAD4EAD5FADED97C358F1 +:108AC000DF4F688179818A819B81CD57D0400F9497 +:108AD00007A76B017C010AC0C12CD12C760106C00E +:108AE000C12CD12C70E8E72E7FE3F72E6796EEAD10 +:108AF000FFAD6797349685909590A590B490C95630 +:108B0000DF4F288139814A815B81C759D040C557E1 +:108B1000DF4F688179818A819B81CB58D0400F9447 +:108B200007A72B013C01ED962CAD3DAD4EAD5FADE1 +:108B3000ED97C157DF4F688179818A819B81CF583A +:108B4000D0400F9407A79B01AC01C301B2010F9461 +:108B500059A36B96AEADBFAD6B9714962D913D9119 +:108B60004D915C9117970F9459A3A50194010F940F +:108B700058A39B01AC01123080F5A1968EAD9FAD3C +:108B8000A197C354DF4F2883CD5BD040C254DF4F41 +:108B90003883CE5BD040C154DF4F4883CF5BD04099 +:108BA000C054DF4F5883C05CD040DADB4B015C011E +:108BB000C354DF4F2881CD5BD040C254DF4F388192 +:108BC000CE5BD040C154DF4F4881CF5BD040C05412 +:108BD000DF4F5881C05CD04006C0812C912C60E8EA +:108BE000A62E6FE3B62EC701B6010F9407A7A50105 +:108BF00094010F9407A79B01AC01AB966CAD7DADC2 +:108C00008EAD9FADAB970F9459A3AB966CAF7DAF74 +:108C10008EAF9FAFAB971F5F6796EEADFFAD6797C7 +:108C200038966796FFAFEEAF6797F8E02F0E311CCE +:108C300060CEAB968CAD9DADAEADBFADAB97B05831 +:108C4000C556DF4FE881F981CB59D040819391938C +:108C5000A193B193C556DF4FF983E883CB59D04038 +:108C60000F5FE7968EAD9FADE7974096E7969FAF73 +:108C70008EAFE797043009F0DCCC25968CAD9DAD26 +:108C8000AEADBFAD2597A3968CAF9DAFAEAFBFAFD6 +:108C9000A3978D819E81AF81B885AB968CAF9DAF38 +:108CA000AEAFBFAFAB9789859A85AB85BC85E396A0 +:108CB0008CAF9DAFAEAFBFAFE3978D859E85AF857F +:108CC000B889E9968CAF9DAFAEAFBFAFE997898108 +:108CD0009A81AB81BC81ED968CAF9DAFAEAFBFAF3B +:108CE000ED9729968CAD9DADAEADBFAD2997C3581C +:108CF000DF4F88839983AA83BB83CD57D04089896E +:108D00009A89AB89BC89CF57DF4F88839983AA831F +:108D1000BB83C158D040898D9A8DAB8DBC8DCB570C +:108D2000DF4F88839983AA83BB83C558D0408D8D3C +:108D30009E8DAF8DB8A1C557DF4F88839983AA83D5 +:108D4000BB83CB58D0408D899E89AF89B88DC157E0 +:108D5000DF4F88839983AA83BB83CF58D0402D9659 +:108D60008CAD9DADAEADBFAD2D97CD56DF4F888399 +:108D70009983AA83BB83C359D04089A19AA1ABA18F +:108D8000BCA1C956DF4F88839983AA83BB83C75987 +:108D9000D0408DA19EA1AFA1B8A5C556DF4F888355 +:108DA0009983AA83BB83CB59D0408DA59EA5AFA53F +:108DB000B8A9CF55DF4F88839983AA83BB83C15A53 +:108DC000D04089A59AA5ABA5BCA5CB55DF4F88831C +:108DD0009983AA83BB83C55AD04061968CAD9DAD63 +:108DE000AEADBFAD6197C755DF4F88839983AA8326 +:108DF000BB83C95AD04089A99AA9ABA9BCA9C355BC +:108E0000DF4F88839983AA83BB83CD5AD0408DA935 +:108E10009EA9AFA9B8ADCF54DF4F88839983AA83A9 +:108E2000BB83C15BD04089AD9AADABADBCADCB547B +:108E3000DF4F88839983AA83BB83C55BD04021968B +:108E40008CAD9DADAEADBFAD2197C754DF4F8883CC +:108E50009983AA83BB83C95BD04014E6412C512C73 +:108E600032015301420173016201A3019201AB96E9 +:108E70006CAD7DAD8EAD9FADAB970F9407A79B01F9 +:108E8000AC01A3966CAD7DAD8EAD9FADA3970F9455 +:108E900058A32B013C01A5019401E3966CAD7DAD77 +:108EA0008EAD9FADE3970F9407A79B01AC01C30163 +:108EB000B2010F9458A32B013C01A7019601E9963A +:108EC0006CAD7DAD8EAD9FADE9970F9407A79B016B +:108ED000AC01C301B2010F9458A3ED962CAD3DAD8A +:108EE0004EAD5FADED970F9439A469966CAF7DAF31 +:108EF0008EAF9FAF69979B01AC01CF57DF4F688161 +:108F000079818A819B81C158D0400F9407A79B012A +:108F1000AC01C358DF4F688179818A819B81CD572D +:108F2000D0400F9458A32B013C01A5019401CB57CD +:108F3000DF4F688179818A819B81C558D0400F9429 +:108F400007A79B01AC01C301B2010F9458A34B01C9 +:108F50005C01A7019601C557DF4F688179818A813D +:108F60009B81CB58D0400F9407A79B01AC01C50152 +:108F7000B4010F9458A3C157DF4F288139814A812A +:108F80005B81CF58D0400F9439A42B013C016996E6 +:108F90002CAD3DAD4EAD5FAD6997C956DF4F6881D1 +:108FA00079818A819B81C759D0400F9407A79B0183 +:108FB000AC01CD56DF4F688179818A819B81C3598D +:108FC000D0400F9458A34B015C01A3019201C556F8 +:108FD000DF4F688179818A819B81CB59D0400F9482 +:108FE00007A79B01AC01C501B4010F9458A34B0125 +:108FF0005C01A7019601CF55DF4F688179818A8195 +:109000009B81C15AD0400F9407A79B01AC01C501B9 +:10901000B4010F9458A3CB55DF4F288139814A8181 +:109020005B81C55AD0400F9439A44B015C0169960D +:109030002CAD3DAD4EAD5FAD6997C355DF4F688137 +:1090400079818A819B81CD5AD0400F9407A79B01DB +:10905000AC01C755DF4F688179818A819B81C95AEC +:10906000D0400F9458A36B017C01A3019201CF540F +:10907000DF4F688179818A819B81C15BD0400F94E9 +:1090800007A79B01AC01C701B6010F9458A36B0160 +:109090007C01A5019401CB54DF4F688179818A81DD +:1090A0009B81C55BD0400F9407A79B01AC01C70112 +:1090B000B6010F9458A3C754DF4F288139814A81E4 +:1090C0005B81C95BD0400F9439A46B017C011150C6 +:1090D00009F0CBCE69962CAD3DAD4EAD5FAD699735 +:1090E0006B96AEADBFAD6B976D917D918D919C915F +:1090F0000F9459A36B96EEADFFAD6B9760837183B0 +:1091000082839383A3019201648175818681978113 +:109110000F9459A36B96AEADBFAD6B9714966D933C +:109120007D938D939C931797A50194016F966CADD9 +:109130007DAD8EAD9FAD6F970F9459A36F966CAFB9 +:109140007DAF8EAF9FAF6F97A7019601A7966CADCD +:109150007DAD8EAD9FADA7970F9459A3A7966CAF29 +:109160007DAF8EAF9FAFA797C156DF4FB881CF5964 +:10917000D040B150C156DF4FB883CF59D040B11164 +:10918000C3C96F966CAD7DAD8EAD9FAD6F970F94DB +:1091900036A4AD96EEADFFADAD976083718382834B +:1091A00093836F966CAD7DAD8EAD9FAD6F970F9431 +:1091B000B6A7AD96AEADBFADAD9714966D937D934A +:1091C0008D939C931797A7966CAD7DAD8EAD9FAD9B +:1091D000A7970F94B6A7DC01CB01B058AF96EEADC0 +:1091E000FFADAF9780839183A283B383A7966CADC5 +:1091F0007DAD8EAD9FADA7970F9436A4AF96AEAD63 +:10920000BFADAF9714966D937D938D939C931797F5 +:109210006F962CAD3DAD4EAD5FAD6F97A7966CAD23 +:109220007DAD8EAD9FADA7970F9458A36B017C01C8 +:10923000E894F7F8B701A60180E69FE00F9481B0AB +:109240002FE132E449E05BE3C701B6010F9435A694 +:1092500018166CF425E33AEF4EE85BE3C701B6015C +:109260000F9435A6181634F402E010E005C000E0B3 +:1092700010E002C001E010E025E33AEF4EE85BE3C6 +:109280006F966CAD7DAD8EAD9FAD6F979F770F9450 +:1092900035A618167CF025E33AEF4EE85BE3A79677 +:1092A0006CAD7DAD8EAD9FADA7979F770F9435A622 +:1092B000181614F402E010E0C757DF4F28803980F9 +:1092C000C958D040E596EEADFFADE597A196FFAF4A +:1092D000EEAFA19766961FAE66976696AFAD66979E +:1092E000C056DF4FB881C05AD040AB1709F4EEC06A +:1092F000A1968EAD9FADA197DC018D909D90AD9014 +:10930000BD90A996BFAFAEAFA997DC0114968D9121 +:109310009D910D90BC91A02DE3968CAF9DAFAEAF0B +:10932000BFAFE397F101C590D590E590F490AD966D +:10933000EEADFFADAD972081318142815381C501F2 +:10934000B4010F9407A72B013C01AF96AEADBFADA2 +:10935000AF972D913D914D915C91E3966CAD7DADB4 +:109360008EAD9FADE3970F9407A79B01AC01C3019E +:10937000B2010F9459A36B96EEADFFAD6B972081B0 +:109380003181428153810F9459A39B01AC01C701E4 +:10939000B6010F9458A39B01AC010F9407A76B0172 +:1093A0007C01F10134964590559065907490AD968E +:1093B000AEADBFADAD9714962D913D914D915C91A1 +:1093C0001797C501B4010F9407A74B015C01AF9635 +:1093D000EEADFFADAF972481358146815781E3968D +:1093E0006CAD7DAD8EAD9FADE3970F9407A79B014C +:1093F000AC01C501B4010F9459A36B96AEADBFADDE +:109400006B9714962D913D914D915C9117970F9408 +:1094100059A39B01AC01C301B2010F9458A39B0156 +:10942000AC010F9407A74B015C019B01AC01C70184 +:10943000B6010F9459A30F94C0A76696BFAD669767 +:10944000B23030F5A9968EAD9FADA9970E94B0C1FC +:109450002B013C01C701B6010F94C0A72DEC3CECD9 +:109460004CE45FE30F9435A61816D4F020E030E00A +:10947000A901C301B2010F9432A4882399F0C50158 +:10948000B4010F94C0A720E030E040EC5FE304C0DB +:109490002DEC3CEC4CE45FE30F9435A6181614F465 +:1094A0000EEF1FEF6696EFAD6697EF5F6696EFAF34 +:1094B0006697A1968EAD9FADA1970896A1969FAF96 +:1094C0008EAFA19798E0290E311C07CF0115110529 +:1094D00009F0E5C1A7962CAD3DAD4EAD5FADA797A8 +:1094E0006F966CAD7DAD8EAD9FAD6F970F9459A308 +:1094F00020E030E040E05FE30F9407A74B015C0100 +:109500000F9436A46B017C01AD96EEADFFADAD9727 +:109510006083718382839383C501B4010F94B6A7DE +:10952000AD96AEADBFADAD9714966D937D938D9313 +:109530009C931797DC01CB01B058AF96EEADFFAD11 +:10954000AF9780839183A283B383C482D582E6825E +:10955000F7826B96EEADFFAD6B971082118212828F +:10956000138214821582168217826C961FAE6C9736 +:10957000A3961CAE1DAE1EAE1FAEA397A7961CAE43 +:109580001DAE1EAE1FAEA7976696FFAD6697EF2F76 +:10959000F0E0A996FFAFEEAFA9976C962FAD6C9750 +:1095A000222E332427FC3094A9968EAD9FADA99727 +:1095B000281639060CF008C193E0220C331C9A954A +:1095C000E1F7E596EEADFFADE597E20DF31D808086 +:1095D0009180A280B380C101049667969FAF8EAF41 +:1095E0006797E596EEADFFADE597E80FF91FC080F0 +:1095F000D180E280F380AD96AEADBFADAD972D9139 +:109600003D914D915C91C501B4010F9407A72B01C9 +:109610003C01AF96EEADFFADAF9720813181428125 +:109620005381C701B6010F9407A79B01AC01C30189 +:10963000B2010F9459A32B013C01AD96AEADBFAD65 +:10964000AD9714962D913D914D915C911797C50161 +:10965000B4010F9407A74B015C01AF96EEADFFADCF +:10966000AF972481358146815781C701B6010F9498 +:1096700007A79B01AC01C501B4010F9459A36B016D +:109680007C0169837A838B839C83BE016F5F7F4FEC +:109690006C968FAD6C970E945FC14B015C01C75700 +:1096A000DF4F88819981C958D040280E391EF101B9 +:1096B0006591759185919491A30192010F9458A39E +:1096C0009B01AC01C501B4010F9407A79B01AC013C +:1096D0006B96AEADBFAD6B976D917D918D919C9169 +:1096E0000F9459A36B96EEADFFAD6B9760837183BA +:1096F00082839383A5019401A7966CAD7DAD8EAD59 +:109700009FADA7970F9459A3A7966CAF7DAF8EAF6F +:109710009FAFA7976C968FAD6C97823038F4CE01CF +:1097200001960E94B0C14B015C0106C0812C912CB6 +:1097300080E8A82E8FE3B82EC757DF4FE881F98164 +:10974000C958D04067968EAD9FAD6797E80FF91F57 +:109750006591759185919491A70196010F9458A3F5 +:109760009B01AC01C501B4010F9407A79B01AC019B +:109770006B96AEADBFAD6B9714966D917D918D914B +:109780009C9117970F9459A36B96EEADFFAD6B9715 +:109790006483758386839783A5019401A3966CAD3A +:1097A0007DAD8EAD9FADA3970F9459A3A3966CAFDB +:1097B0007DAF8EAF9FAFA3976C96FFAD6C97FF5FA9 +:1097C0006C96FFAF6C97E9CEA7962CAD3DAD4EAD34 +:1097D0005FADA7976B96AEADBFAD6B976D917D9169 +:1097E0008D919C910F9439A46B96EEADFFAD6B9764 +:1097F0006083718382839383A3962CAD3DAD4EAD80 +:109800005FADA39764817581868197810F9439A498 +:109810006B96AEADBFAD6B9714966D937D938D93A4 +:109820009C9317973CC0112309F42CC8812C912CD0 +:10983000A0E8AA2EAFE3BA2E0C94E7C3F10124816D +:10984000358146815781C358DF4F688179818A818C +:109850009B81CD57D0400C94FAC320E030E040E823 +:109860005FE30C94FEC3412C512CF0E86F2EFFE314 +:109870007F2E0C9432C4F1012481358146815781B9 +:10988000C358DF4F688179818A819B81CD57D04051 +:109890000C94E3C301110C94D4C30C9442C4AD9650 +:1098A000AEADBFADAD978D919D910D90BC91A02DAA +:1098B0006F968CAF9DAFAEAFBFAF6F97AF96EEAD6B +:1098C000FFADAF9784809580A680B780AD96AEAD92 +:1098D000BFADAD9714968D919D910D90BC91A02D2B +:1098E000A7968CAF9DAFAEAFBFAFA7978081918198 +:1098F000A281B38169968CAF9DAFAEAFBFAF6997C0 +:10990000A50194016F966CAD7DAD8EAD9FAD6F9747 +:109910000F9407A76B017C0169962CAD3DAD4EAD50 +:109920005FAD6997A7966CAD7DAD8EAD9FADA797E6 +:109930000F9407A79B01AC01C701B6010F9458A370 +:109940006B017C019B01AC01C501B4010F9439A4EA +:109950002B013C0169966CAD7DAD8EAD9FAD6997D5 +:109960009058A70196010F9439A44B015C01A7966A +:109970006CAD7DAD8EAD9FADA7979058A7019601B8 +:109980000F9439A469966CAF7DAF8EAF9FAF699786 +:10999000A70196016F966CAD7DAD8EAD9FAD6F97B3 +:1099A0000F9439A46B017C016B96AEADBFAD6B9784 +:1099B0008D919D910D90BC91A02D6F968CAF9DAF18 +:1099C000AEAFBFAF6F976B96AEADBFAD6B97149652 +:1099D0008D919D910D90BC91A02DA7968CAF9DAFC0 +:1099E000AEAFBFAFA797AD96EEADFFADAD974082DE +:1099F00051826282738269968CAD9DADAEADBFAD72 +:109A0000699784839583A683B783AF96AEADBFADC8 +:109A1000AF978D929D92AD92BC921397FD01C48237 +:109A2000D582E682F782C301B20190586F962CADC1 +:109A30003DAD4EAD5FAD6F970F9407A72B013C0175 +:109A4000A7962CAD3DAD4EAD5FADA797C501B40156 +:109A50000F9407A79B01AC01C301B2010F9458A357 +:109A60006B96AEADBFAD6B976D937D938D939C93CD +:109A7000139769966CAD7DAD8EAD9FAD699790588B +:109A80006F962CAD3DAD4EAD5FAD6F970F9407A7B0 +:109A90004B015C01A7962CAD3DAD4EAD5FADA797D8 +:109AA000C701B6010F9407A79B01AC01C501B40122 +:109AB0000F9458A36B96EEADFFAD6B9764837583DF +:109AC00086839783C801C054DF4F0FB6F894DEBF7A +:109AD0000FBECDBFDF91CF911F910F91FF90EF90FF +:109AE000DF90CF90BF90AF909F908F907F906F90BE +:109AF0005F904F903F902F9008954FEF5FEFBA0126 +:109B000085EE9FE00F9481B04FEF5FEFBA0189EED1 +:109B10009FE00F9481B04FEF5FEFBA018DED9FE0B2 +:109B20000F9481B04FEF5FEFBA0181EE9FE00F9489 +:109B300081B04FEF5FEFBA0185ED9FE00F9481B0E8 +:109B40004FEF5FEFBA0189ED9FE00F9481B04FEFC7 +:109B50005FEFBA0185EC9FE00F9481B04FEF5FEFAC +:109B6000BA0189EC9FE00F9481B04FEF5FEFBA012B +:109B70008DEC9FE00F9481B04FEF5FEFBA0181ED64 +:109B80009FE00D9481B0CF93DF93C5ECDFE0CE0171 +:109B90000F946AB0019639F02296C53D8FE0D80740 +:109BA000B1F781E001C080E0DF91CF910895CF93BC +:109BB000DF93CDB7DEB768970FB6F894DEBF0FBE60 +:109BC000CDBF80E090E0A0E8BFE3898B9A8BAB8BA0 +:109BD000BC8B1D8A1E8A1F8A188E19861A861B86C0 +:109BE0001C868D879E87AF87B88B19821A821B824D +:109BF0001C821D821E821F821886AE014F5F5F4F3E +:109C0000BE01675F7F4FCE0141960E94E1BE68961C +:109C10000FB6F894DEBF0FBECDBFDF91CF91089590 +:109C2000CF93DF93CDB7DEB768970FB6F894DEBF5A +:109C30000FBECDBF809190108823F1F180E090E0BD +:109C4000A0E8BFE3898B9A8BAB8BBC8B1D8A1E8AE5 +:109C50001F8A188E19861A861B861C868D879E87FA +:109C6000AF87B88B19821A821B821C821D821E82CA +:109C70001F821886AE014F5F5F4FBE01675F7F4F47 +:109C8000CE0141960E94E1BE0F94350D80E00F9405 +:109C9000A00D60937E0870937F0880938008909356 +:109CA000810881E00F94A00D60938208709383086F +:109CB000809384089093850868960FB6F894DEBF69 +:109CC0000FBECDBFDF91CF9108954F925F926F92FB +:109CD0007F928F929F92AF92BF92CF92DF92EF923C +:109CE000FF921F93CF93DF93CDB7DEB7A8970FB640 +:109CF000F894DEBF0FBECDBF85EE9FE00F9465B038 +:109D000069A37AA38BA39CA3698B7A8B8B8B9C8B87 +:109D100089EE9FE00F9465B06DA37EA38FA398A7F3 +:109D20006D8B7E8B8F8B988F8DED9FE00F9465B040 +:109D30006B017C0169877A878B879C8781EE9FE026 +:109D40000F9465B04B015C016D877E878F87988B80 +:109D500085ED9FE00F9465B0698F7A8F8B8F9C8F14 +:109D600069837A838B839C8389ED9FE00F9465B030 +:109D70006D8F7E8F8F8F98A36D837E838F8398875F +:109D800089A19AA1ABA1BCA18F3F9F4FAF4FBF4FFD +:109D9000A9F08DA19EA1AFA1B8A58F3F9F4FAF4F56 +:109DA000BF4F61F08FEFC816D806E806F80631F00D +:109DB0008FEF88169806A806B80619F49EDEF7DE1F +:109DC000C0C0898D9A8DAB8DBC8D8F3F9F4FAF4F9B +:109DD000BF4FA1F38D8D9E8DAF8DB8A18F3F9F4F4B +:109DE000AF4FBF4F59F3A7019601C701B6010F94BA +:109DF00007A72B013C01A5019401C501B4010F94F3 +:109E000007A79B01AC01C301B2010F9459A30F94A2 +:109E1000C0A72B013C0126E636E646E65FE30F9439 +:109E200032A487FD0DC011E02DEC3CEC4CE85FE363 +:109E3000C301B2010F9435A618161CF010E001C042 +:109E400011E0298D3A8D4B8D5C8DCA01B9010F94BB +:109E500007A72B013C012D8D3E8D4F8D58A1CA01C6 +:109E6000B9010F9407A79B01AC01C301B2010F9484 +:109E700059A30F94C0A72B013C0126E636E646E61F +:109E80005FE30F9432A487FD0AC02DEC3CEC4CE854 +:109E90005FE3C301B2010F9435A618160CF411E06C +:109EA00029A13AA14BA15CA1CA01B9010F9407A74E +:109EB0002B013C012DA13EA14FA158A5CA01B9011A +:109EC0000F9407A79B01AC01C301B2010F9459A3E2 +:109ED0000F94C0A720E030E040E751E40F9435A68E +:109EE00018160CF411E0298D3A8D4B8D5C8DC7014D +:109EF000B6010F9407A76B017C012D8D3E8D4F8D10 +:109F000058A1C501B4010F9407A79B01AC01C7017B +:109F1000B6010F9459A39F772DEC3CEC4CEC5DE31C +:109F20000F9435A618160CF449CF111147CFAE0186 +:109F30004F5E5F4FBE016F5F7F4FCE0109960E945B +:109F4000E1BEA8960FB6F894DEBF0FBECDBFDF917D +:109F5000CF911F91FF90EF90DF90CF90BF90AF9087 +:109F60009F908F907F906F905F904F9008954F9249 +:109F70005F926F927F928F929F92AF92BF92CF9299 +:109F8000DF92EF92FF920F931F93CF93DF93CEE771 +:109F9000D8E0209168103091691040916A1050917A +:109FA0006B10688179818A819B810F9458A34B0142 +:109FB0005C0102E818E020916C1030916D10409126 +:109FC0006E1050916F10F8016081718182819381D0 +:109FD0000F9458A36B017C01209170103091711087 +:109FE0004091721050917310C501B4010F9407A7EE +:109FF0002B013C0120917410309175104091761026 +:10A0000050917710C701B6010F9407A79B01AC01CF +:10A01000C301B2010F9459A3688379838A839B8318 +:10A02000209178103091791040917A1050917B10E6 +:10A03000C501B4010F9407A74B015C0120917C106E +:10A0400030917D1040917E1050917F10C701B60174 +:10A050000F9407A79B01AC01C501B4010F9459A34C +:10A06000F8016083718382839383DF91CF911F9185 +:10A070000F91FF90EF90DF90CF90BF90AF909F90A7 +:10A080008F907F906F905F904F9008957F928F9206 +:10A090009F92AF92BF92CF92DF92EF92FF920F9377 +:10A0A0001F93CF93DF934B015C01742E81E00F94DB +:10A0B0008D05182F80E00F949305D82F0F948805F5 +:10A0C0008092860890928708A0928808B0928908AA +:10A0D00020E030E040E752E4609162027091630258 +:10A0E00080916402909165020F9439A40E947CC013 +:10A0F0000E94FAC00F948805C82F882309F481C0F4 +:10A1000000E0C12CD12C7601071509F454C020E0E1 +:10A1100030E040E05FE360918608709187088091AD +:10A120008808909189080F9459A3609386087093CA +:10A130008708809388089093890820E030E040E702 +:10A1400052E4609162027091630280916402909186 +:10A1500065020F9439A40E947CC080928608909278 +:10A160008708A0928808B092890820E030E040E794 +:10A1700053E4609162027091630280916402909155 +:10A1800065020F9439A40E947CC00E94FAC00F940B +:10A1900088058823B1F12091860830918708409185 +:10A1A000880850918908C701B6010F9459A36B0123 +:10A1B0007C010F5FA9CF023048F4C0928608D0928C +:10A1C0008708E0928808F092890814C0602F70E038 +:10A1D00080E090E00F94D2A49B01AC01C701B601CE +:10A1E0000F9439A460938608709387088093880839 +:10A1F00090938908812F0F948D058D2F0F949305CF +:10A2000007C0812F0F948D058D2F0F949305C0E00B +:10A210008C2FDF91CF911F910F91FF90EF90DF90E6 +:10A22000CF90BF90AF909F908F907F9008952F9286 +:10A230003F924F925F926F927F928F929F92AF92D6 +:10A24000BF92CF92DF92EF92FF920F931F93CF9323 +:10A25000DF93CDB7DEB7A3970FB6F894DEBF0FBE7E +:10A26000CDBF20E030E040E752E460915A027091A7 +:10A270005B0280915C0290915D020F9439A42B01E6 +:10A280003C01C0907E08D0907F08E0908008F0905C +:10A29000810820E030E040E051E4C701B6010F94AE +:10A2A00058A369837A831C0120E030E040E051E448 +:10A2B000C701B6010F9459A36F83788789879A875E +:10A2C0008090820890908308A0908408B0908508C0 +:10A2D00020E030E040EC50E4C501B4010F9458A3F5 +:10A2E0006B837C838D839E8320E030E040EC50E4E0 +:10A2F000C501B4010F9459A36B877C878D879E8716 +:10A3000020E030E0A90169817A81C1010F9432A473 +:10A3100087FF04C019821A82212C312C20E030E002 +:10A320004FE753E46F81788589859A850F9435A628 +:10A33000181634F41F8218862FE7298733E43A87EA +:10A3400020E030E040E850EC6B817C818D819E8183 +:10A350000F9432A487FF08C080E090E0A0E8B0EC42 +:10A360008B839C83AD83BE8320E030E042E553E4E1 +:10A370006B857C858D859E850F9435A6181644F4D3 +:10A3800020E030E042E553E42B873C874D875E8731 +:10A390002B813C814D815E816B857C858D859E8581 +:10A3A0000F9458A36B8B7C8B8D8B9E8B0F941FA46B +:10A3B0000F94A1A44B016F8B80E00F948D05E0906A +:10A3C0008608F09087080091880810918908630139 +:10A3D00052012B813C814D815E8169817A81C1016D +:10A3E0000E942CC00F94750581E00F94930531E015 +:10A3F00038A39F89892F90E0A0E0B0E08F87988BE9 +:10A40000A98BBA8BC401992701979C01442737FD7A +:10A410004095542F288F398F4A8F5B8F20E030E092 +:10A4200040E251EC6091860870918708809188081D +:10A43000909189080F9435A6181674F48B819C812D +:10A44000AD81BE818093820890938308A093840895 +:10A45000B09385081BA27AC00E94B8C01F86C401B1 +:10A46000992701979C01442737FD4095542F288F49 +:10A47000398F4A8F5B8FA7C16F85788989899A89BF +:10A480000F94D2A49B01AC016DEC7CEC8CE49EE3B8 +:10A490000F9439A49B01AC016091860870918708E4 +:10A4A00080918808909189080F9458A3609386083A +:10A4B0007093870880938808909389082091820878 +:10A4C000309183084091840850918508A8A1AA235F +:10A4D00009F442C0BF81A885E985E9A3FA85630133 +:10A4E00052017B018C016B2F7A2F89A19F2F0E9433 +:10A4F0002CC0F8A121E0F227F8A30F948805811160 +:10A50000ABCF688D798D8A8D9B8D0F94D4A49B01E0 +:10A51000AC016B897C898D899E890F9439A49B013C +:10A52000AC016091820870918308809184089091B9 +:10A5300085080F9459A360938208709383088093D1 +:10A540008408909385083BA13F5F3BA34BA15F89A3 +:10A55000451708F491CF05C0B981AA8129A2F32D2E +:10A56000BECF1BA24BA15F89451708F057CF6F855F +:10A57000788989899A890F94D2A49B01AC016DECEA +:10A580007CEC8CE49EE30F9439A49B01AC016091B8 +:10A5900086087091870880918808909189080F94A7 +:10A5A00058A36093860870938708809388089093D7 +:10A5B0008908209182083091830840918408509145 +:10A5C0008508A8A1AA2331F0BF81A885E985E9A360 +:10A5D000FA8504C0B981AA8129A2F32D6301520131 +:10A5E0007B018C016B2F7A2F89A19F2F0E942CC099 +:10A5F000F8A121E0F227F8A30F94880581112CCF50 +:10A60000688D798D8A8D9B8D0F94D4A49B01AC01AC +:10A610006B897C898D899E890F9439A49B01AC013B +:10A6200060918208709183088091840890918508D8 +:10A630000F9458A3609382087093830880938408D2 +:10A64000909385083BA13F5F3BA38CCF209182086C +:10A65000309183084091840850918508AA2009F41C +:10A66000D2C0BF81A885C984BA84830172016B2FCF +:10A670007A2F8C2D9B2D0E9450C00F94880581113C +:10A68000C7C0688D798D8A8D9B8D0F94D4A49B0152 +:10A69000AC016B897C898D899E890F9439A49B01BB +:10A6A000AC01609182087091830880918408909138 +:10A6B00085080F9459A36093820870938308809350 +:10A6C000840890938508D39431E0A3264F89D4164B +:10A6D00008F4BCCFD12C0E94B8C0DD2079F1809065 +:10A6E000820890908308A0908408B090850880E04C +:10A6F0000F9493058B859C85AD85BE8580938208DC +:10A7000090938308A0938408B09385088301720115 +:10A710009C01AD0169817A81C1010E9450C081E034 +:10A720000F94930591E09AA3C12CFF89CF1608F4EA +:10A7300072C0D12C0E94B8C0D110B3C02F852F5F3A +:10A740002F87233009F4DCC18F858823E1F12AE0CB +:10A7500037ED43EA5CE36091860870918708809149 +:10A760008808909189080F9458A360938608709385 +:10A770008708809388089093890820E030E040E7BC +:10A7800052E4609162027091630280916402909140 +:10A7900065020F9439A45B016C012091820830910D +:10A7A0008308409184085091850860917E087091DB +:10A7B0007F088091800890918108E12CF12C00EABB +:10A7C00010E40E942CC080E00F948D0580E00F946F +:10A7D00093052B813C814D815E81209382083093CB +:10A7E000830840938408509385088301720169812E +:10A7F0007A81C1010E9450C081E00F949305AA2480 +:10A80000A394D12C63CFB981AA81C22CB32C2DCFB4 +:10A81000DD24D39460CF2091820830918308409149 +:10A82000840850918508AAA1AA2329F0BF81A88590 +:10A83000E985FA8503C0B981AA81F101830172011A +:10A840006B2F7A2FCF010E9450C00F948805811181 +:10A8500071CF688D798D8A8D9B8D0F94D4A49B01C7 +:10A86000AC016B897C898D899E890F9439A49B01E9 +:10A87000AC01609182087091830880918408909166 +:10A8800085080F9458A3609382087093830880937F +:10A89000840890938508C394BAA1E1E0BE27BAA3C7 +:10A8A00044CF2091820830918308409184085091D0 +:10A8B0008508C501B4010F9459A320E030E040E0C1 +:10A8C0005FE30F9407A760938208709383088093D7 +:10A8D00084089093850880E00F9493052091820866 +:10A8E000309183084091840850918508830172015A +:10A8F00069817A81C1010E9450C081E00F94930563 +:10A9000020918208309183084091840850918508F5 +:10A910006F81788589859A850E9450C00E94B8C051 +:10A920000F948805882309F409CF80907E089090C1 +:10A930007F08A0908008B090810880E00F94930574 +:10A9400020918208309183084091840850918508B5 +:10A950006F81788589859A850E9450C081E00F9427 +:10A96000930520918208309183084091840850918A +:10A97000850869817A81C1010E9450C00E94B8C0D7 +:10A980000F948805882309F4D9CE20917E08309150 +:10A990007F08409180085091810880E02C8F3D8F86 +:10A9A0004E8F5F8F0F9493052C8D3D8D4E8D5F8D57 +:10A9B000C501B4010F9459A320E030E040E05FE30B +:10A9C0000F9407A760937E0870937F088093800898 +:10A9D00090938108209182083091830840918408E7 +:10A9E000509185080E9450C080E00F9493056091BB +:10A9F0007E0870917F0880918008909181082B815A +:10AA00003C814D815E810E9450C081E00F9493058E +:10AA100060917E0870917F088091800890918108F4 +:10AA20002B853C854D855E850E9450C00E94B8C034 +:10AA30000F948805882309F481CE80908208909035 +:10AA40008308A0908408B090850880E00F94930557 +:10AA500060917E0870917F088091800890918108B4 +:10AA60002B853C854D855E850E9450C081E00F940A +:10AA7000930560917E0870917F0880918008909185 +:10AA800081082B813C814D815E810E9450C00E94D3 +:10AA9000B8C00F948805882309F450CE209182080D +:10AAA00030918308409184085091850880E02C8F74 +:10AAB0003D8F4E8F5F8F0F9493052C8D3D8D4E8D66 +:10AAC0005F8DC501B4010F9459A320E030E040E050 +:10AAD0005FE30F9407A79B01AC016093820870931A +:10AAE0008308809384089093850860917E08709114 +:10AAF0007F0880918008909181080E9450C001C019 +:10AB0000D12C80E00F9493058D2DA3960FB6F89469 +:10AB1000DEBF0FBECDBFDF91CF911F910F91FF9090 +:10AB2000EF90DF90CF90BF90AF909F908F907F90ED +:10AB30006F905F904F903F902F9008952F923F928B +:10AB40004F925F926F927F928F929F92AF92BF923D +:10AB5000CF92DF92EF92FF920F931F93CF93DF93E9 +:10AB6000CDB7DEB769970FB6F894DEBF0FBECDBF85 +:10AB700080E00F948D05898F80E00F949305382E27 +:10AB800020E030E040E752E460915A0270915B02AD +:10AB900080915C0290915D020F9439A4698B7A8B4D +:10ABA0008B8B9C8B40907E0850907F086090800833 +:10ABB000709081088090820890908308A09084080B +:10ABC000B0908508212C19861A861B861C861D824A +:10ABD0001E821F82188681E02816B9F0281660F0C0 +:10ABE00092E029122CC024EF3DEF44EB50E4C30166 +:10ABF000B2010F9459A312C024EF3DEF44EB50E48F +:10AC0000C301B2010F9458A309C024EF3DEF44EBF8 +:10AC100050E4C301B2010F9459A319C060934908CD +:10AC200070934A0880934B0890934C0824EF3DEFB3 +:10AC300044EB50E4C501B4010F9458A318C024EFAD +:10AC40003DEF44EB50E4C301B2010F9458A360936D +:10AC5000490870934A0880934B0890934C0824EF5E +:10AC60003DEF44EB50E4C501B4010F9459A3609348 +:10AC70004D0870934E0880934F0890935008809130 +:10AC8000490890914A08A0914B08B0914C088D8BCF +:10AC90009E8BAF8BB88FA3019201BC01CD010F94A5 +:10ACA00058A36D877E878F87988BA501940160914B +:10ACB0004D0870914E0880914F08909150080F9464 +:10ACC00058A369837A838B839C832D853E854F852A +:10ACD0005889CA01B9010F9407A76B017C0129812A +:10ACE0003A814B815C81CA01B9010F9407A79B018E +:10ACF000AC01C701B6010F9459A30F94C0A76B0113 +:10AD00007C0120E030E0A9016D897E898F89988DD2 +:10AD10000F9432A487FF0FC01092490810924A087E +:10AD200010924B0810924C08A70196016D817E810C +:10AD30008F81988522C020E030E04FE753E46D8991 +:10AD40007E898F89988D0F9435A6181664F580E05A +:10AD500090E0AFE7B3E48093490890934A08A0934A +:10AD60004B08B0934C082D813E814F815885BC0122 +:10AD7000CD010F9458A3A70196010F9439A42981FE +:10AD80003A814B815C810F9407A79B01AC01C501FF +:10AD9000B4010F9459A360934D0870934E088093AB +:10ADA0004F089093500880914D0890914E08A091C3 +:10ADB0004F08B091500889839A83AB83BC8320E00D +:10ADC00030E040E850ECBC01CD010F9432A487FF85 +:10ADD00027C020E030E040E850E469857A858B8523 +:10ADE0009C850F9459A3A70196010F9439A42D8532 +:10ADF0003E854F8558890F9407A79B01AC01C3017D +:10AE0000B2010F9459A36093490870934A08809344 +:10AE10004B0890934C0880E090E0A0E8B0EC32C082 +:10AE200020E030E042E553E469817A818B819C81A6 +:10AE30000F9435A6181674F529853A854B855C85DF +:10AE400060E070E082E593E40F9458A3A7019601B7 +:10AE50000F9439A42D853E854F8558890F9407A7F7 +:10AE60009B01AC01C301B2010F9459A3609349083F +:10AE700070934A0880934B0890934C0880E090E0D0 +:10AE8000A2E5B3E480934D0890934E08A0934F0839 +:10AE9000B093500880E00F948D0520914D083091BB +:10AEA0004E0840914F0850915008609149087091A8 +:10AEB0004A0880914B0890914C08E988FA880B89E0 +:10AEC0001C890E9450C081E00F948D05E988FA88A2 +:10AED0000B891C89A5019401C301B2010E9450C0D5 +:10AEE0000E94B8C020917E0830917F084091800870 +:10AEF000509181086D817E818F8198850F9459A32F +:10AF00006D837E838F839887209182083091830898 +:10AF1000409184085091850869857A858B859C8548 +:10AF20000F9459A369877A878B879C87239494E031 +:10AF3000291251CE20E030E040E85EE36D817E8151 +:10AF40008F8198850F9407A760937E0870937F0880 +:10AF5000809380089093810820E030E040E85EE331 +:10AF600069857A858B859C850F9407A760938208F5 +:10AF700070938308809384089093850880E00F94F1 +:10AF80008D0520918208309183084091840850916A +:10AF9000850860917E0870917F088091800890916B +:10AFA0008108E988FA880B891C890E9450C0898D24 +:10AFB0000F948D05832D0F94930580E069960FB64D +:10AFC000F894DEBF0FBECDBFDF91CF911F910F91DF +:10AFD000FF90EF90DF90CF90BF90AF909F908F90B9 +:10AFE0007F906F905F904F903F902F9008953F9289 +:10AFF0004F925F926F927F928F929F92AF92BF9289 +:10B00000CF92DF92EF92FF920F931F93CF93DF9334 +:10B01000CDB7DEB72C970FB6F894DEBF0FBECDBF0D +:10B02000D82E80917E0890917F08A0918008B091E1 +:10B03000810889839A83AB83BC8380918208909135 +:10B040008308A0918408B09185088D839E83AF8387 +:10B05000B88780E00F948D0520E030E040E051E4B7 +:10B0600069817A818B819C810F9458A34B015C018B +:10B0700020E030E040E051E469817A818B819C815D +:10B080000F9459A32B013C0120E030E0A901C50138 +:10B09000B4010F9432A487FF03C0812C912C54017A +:10B0A00020E030E04FE753E4C301B2010F9435A62E +:10B0B000181634F4412C512CAFE76A2EA3E47A2EF3 +:10B0C00080E00F94930520E030E040E752E4609187 +:10B0D0005A0270915B0280915C0290915D020F9424 +:10B0E00039A42091820830918308409184085091BE +:10B0F00085087B018C01C501B4010E9450C081E02C +:10B100000F94930520E030E040E752E460915A024A +:10B1100070915B0280915C0290915D020F9439A462 +:10B1200020918208309183084091840850918508CD +:10B130007B018C01C301B2010E9450C00E94B8C0C3 +:10B140000F948805882309F474C080917E0890913B +:10B150007F08A0918008B091810889879A87AB8782 +:10B16000BC8780E00F94930520E030E040E752E494 +:10B1700060915A0270915B0280915C0290915D0235 +:10B180000F9439A42091820830918308409184085B +:10B19000509185087B018C01C301B2010E9450C00F +:10B1A00081E00F94930520E030E040E752E46091A5 +:10B1B0005A0270915B0280915C0290915D020F9443 +:10B1C00039A42091820830918308409184085091DD +:10B1D00085087B018C01C501B4010E9450C00E940A +:10B1E000B8C00F948805882321F180907E08909044 +:10B1F0007F08A0908008B090810829853A854B850A +:10B200005C85C501B4010F9458A32B013C0120E0DB +:10B2100030E040E050E40F9432A487FF17C020E0F4 +:10B2200030E040E85FE3C301B2010F9432A487FF2E +:10B230000FC089819A81AB81BC8180937E089093F5 +:10B240007F08A0938008B0938108CEC1312C02C042 +:10B250003324339480E00F949305A501940169850C +:10B260007A858B859C850F9459A320E030E040E0DF +:10B270005FE30F9407A74B015C0160937E08709316 +:10B280007F08809380089093810820E030E040E7B9 +:10B2900052E460915A0270915B0280915C0290913D +:10B2A0005D020F9439A42091820830918308409167 +:10B2B0008408509185087B018C01C501B4010E946E +:10B2C00050C020E030E040E051E46D817E818F810C +:10B2D00098850F9458A32B013C0120E030E040E01A +:10B2E00051E46D817E818F8198850F9459A3698384 +:10B2F0007A838B839C8320E030E040E850ECC301EC +:10B30000B2010F9432A487FF06C0412C512CF0E803 +:10B310006F2EF0EC7F2E20E030E042E553E46981AF +:10B320007A818B819C810F9435A6181644F480E0B5 +:10B3300090E0A2E5B3E489839A83AB83BC8380E089 +:10B340000F94930520E030E040E752E460915A0208 +:10B3500070915B0280915C0290915D020F9439A420 +:10B3600080907E0890907F08A0908008B09081081F +:10B370007B018C01A3019201C501B4010E9450C060 +:10B38000DD2009F452C020E030E040E752E4609153 +:10B3900062027091630280916402909165020F9441 +:10B3A00039A45B016C0120E030E040EC5FE3609188 +:10B3B00086087091870880918808909189080F9479 +:10B3C00059A37B018C0160917E0870917F08809168 +:10B3D000800890918108A30192010E942CC020E076 +:10B3E00030E040E752E46091620270916302809124 +:10B3F0006402909165020F9439A45B016C01E090A6 +:10B400008608F0908708009188081091890860915B +:10B410007E0870917F088091800890918108A30137 +:10B4200092010E942CC01C9928C081E00F949305C2 +:10B4300020E030E040E752E460915A0270915B02F4 +:10B4400080915C0290915D020F9439A47B018C0184 +:10B4500060917E0870917F088091800890918108AA +:10B4600029813A814B815C810E9450C00E94B8C002 +:10B470000F948805882309F470C08090820890900A +:10B480008308A0908408B090850880E00F9493050D +:10B4900020E030E040E752E460915A0270915B0294 +:10B4A00080915C0290915D020F9439A47B018C0124 +:10B4B00060917E0870917F0880918008909181084A +:10B4C00029813A814B815C810E9450C081E00F94B8 +:10B4D000930520E030E040E752E460915A02709119 +:10B4E0005B0280915C0290915D020F9439A47B0114 +:10B4F0008C0160917E0870917F0880918008909106 +:10B500008108A30192010E9450C00E94B8C00F940C +:10B510008805882311F1409082085090830860903C +:10B52000840870908508A5019401C301B2010F94AD +:10B5300058A36B017C0120E030E040E050E40F9420 +:10B5400032A487FF19C020E030E040E85FE3C70184 +:10B55000B6010F9432A487FF0DC08D819E81AF810B +:10B56000B8858093820890938308A0938408B09351 +:10B5700085083AC03324339480E00F949305A301E7 +:10B580009201C501B4010F9459A320E030E040E0DE +:10B590005FE30F9407A74B015C01609382087093EF +:10B5A0008308809384089093850820E030E040E78A +:10B5B00052E460915A0270915B0280915C0290911A +:10B5C0005D020F9439A47B018C0160917E0870911B +:10B5D0007F088091800890918108A50194010E94C4 +:10B5E00050C081E0832526C080E00F94930520E0C1 +:10B5F00030E040E752E460915A0270915B02809122 +:10B600005C0290915D020F9439A47B018C01209122 +:10B610008208309183084091840850918508609198 +:10B620007E0870917F0880918008909181080E9427 +:10B6300050C080E02C960FB6F894DEBF0FBECDBF91 +:10B64000DF91CF911F910F91FF90EF90DF90CF90FE +:10B65000BF90AF909F908F907F906F905F904F9032 +:10B660003F9008952F923F924F925F926F927F92F8 +:10B670008F929F92AF92BF92CF92DF92EF92FF9202 +:10B680000F931F93CF93DF93CDB7DEB7A5970FB678 +:10B69000F894DEBF0FBECDBF40907E0850907F086B +:10B6A0006090800870908108809182089091830852 +:10B6B000A0918408B09185088B8F9C8FAD8FBE8F31 +:10B6C00020E030E040E850E4C301B2010F9458A3F9 +:10B6D0006E877F87888B998B20E030E040E850E4CC +:10B6E000C301B2010F9459A36E8B7F8B888F998F02 +:10B6F00020E030E040E850E46B8D7C8D8D8D9E8D98 +:10B700000F9458A36D837E838F83988720E030E069 +:10B7100040E850E46B8D7C8D8D8D9E8D0F9459A3E8 +:10B720004B015C0120E030E0A9016E857F858889AE +:10B7300099890F9432A487FF04C01E861F86188A39 +:10B74000198A20E030E04FE753E46E897F89888DC5 +:10B75000998D0F9435A6181644F480E090E0AFE779 +:10B76000B3E48E8B9F8BA88FB98F20E030E040E848 +:10B7700050EC6D817E818F8198850F9432A487FF74 +:10B7800006C01D821E8290E89F83A0ECA88720E05F +:10B7900030E042E553E4C501B4010F9435A6181614 +:10B7A00034F4812C912CB2E5AB2EB3E4BB2E3D805A +:10B7B0002E80BF81B8A3E885EF8F1A8A1B8A1C8A66 +:10B7C0001D8A19821A821B821C82A5019401632D95 +:10B7D000722D88A19F8D0F9432A487FFECC080E06A +:10B7E0000F94930520E030E040E752E460915A0264 +:10B7F00070915B0280915C0290915D020F9439A47C +:10B800007B018C01232D322D48A15F8D6E857F85B4 +:10B81000888999890E9450C081E00F94930520E0A7 +:10B8200030E040E752E460915A0270915B028091EF +:10B830005C0290915D020F9439A47B018C01232D51 +:10B84000322D48A15F8D6E897F89888D998D0E94E8 +:10B8500050C00E94B8C00F948805882309F49CC08A +:10B8600080917E0890917F08A0918008B091810816 +:10B8700089879A87AB87BC8780E00F94930520E087 +:10B8800030E040E752E460915A0270915B0280918F +:10B890005C0290915D020F9439A47B018C01232DF1 +:10B8A000322D48A15F8D6E897F89888D998D0E9488 +:10B8B00050C081E00F94930520E030E040E752E46F +:10B8C00060915A0270915B0280915C0290915D02DE +:10B8D0000F9439A47B018C01232D322D48A15F8D5B +:10B8E0006E857F85888999890E9450C00E94B8C062 +:10B8F0000F948805882309F44FC0C0907E08D0902B +:10B900007F08E0908008F090810829853A854B8572 +:10B910005C85C701B6010F9458A3162F7D878A8FC7 +:10B92000092F29813A814B815C810F9435A6181625 +:10B93000CCF4A701960169857A858B859C850F9447 +:10B9400059A320E030E040E05FE30F9407A76A8B43 +:10B950007B8B8C8B9D8B19839D859A83AA8DAB8362 +:10B960000C831AC020E030E0A90169817A818B81C3 +:10B970009C810F9435A618167CF42DEC3CEC4CEC15 +:10B980005DE3632D722D88A19F8D0F9458A36D8365 +:10B990007E838F8398870FC02DEC3CEC4CEC5DE3ED +:10B9A000632D722D88A19F8D0F9459A3362E272EBB +:10B9B00088A39F8F0ACF20E030E0A90169817A81B6 +:10B9C0008B819C810F9432A4811109C040927E0822 +:10B9D00050927F086092800870928108E6C280E0F1 +:10B9E0000F94930520E030E040E752E460915A0262 +:10B9F00070915B0280915C0290915D020F9439A47A +:10BA00006B017C0120E030E040E051E46D817E81FB +:10BA10008F8198850F9459A39B01AC018701760112 +:10BA20006A897B898C899D890E9450C081E00F942E +:10BA3000930520E030E040E752E460915A027091B3 +:10BA40005B0280915C0290915D020F9439A46B01BE +:10BA50007C0120E030E040E051E46D817E818F8107 +:10BA600098850F9458A38B015C0120E030E040E8FA +:10BA700050EC0F9435A618162CF080E090E070E89A +:10BA800060EC03C0C8017A2D6B2D870176019C0103 +:10BA9000472F562F6A897B898C899D890E9450C0C7 +:10BAA0000E94B8C00F948805882309F47EC2909143 +:10BAB00082089A8FA0918308AF8FB0918408B8A3B1 +:10BAC000E0918508E9A32D813E814F815885692F3A +:10BAD0007A2F8B2F9E2F0F9432A418160CF065C26C +:10BAE0007A8C6F8C58A049A01AA21BA21CA21DA27E +:10BAF0001B821C8219861D862D813E814F815885AF +:10BB0000672D762D852D942D0F9435A687FDE2C0E7 +:10BB100080E00F94930520E030E040E752E460912C +:10BB20005A0270915B0280915C0290915D020F94C9 +:10BB300039A47B018C01272D362D452D542D6E8582 +:10BB40007F85888999890E9450C081E00F94930570 +:10BB500020E030E040E752E460915A0270915B02CD +:10BB600080915C0290915D020F9439A47B018C015D +:10BB7000272D362D452D542D6E897F89888D998DE1 +:10BB80000E9450C00E94B8C00F948805882309F411 +:10BB900092C080907E0890907F08A0908008B0901E +:10BBA000810880E00F94930520E030E040E752E404 +:10BBB00060915A0270915B0280915C0290915D02EB +:10BBC0000F9439A47B018C01272D362D452D542D42 +:10BBD0006E897F89888D998D0E9450C081E00F9475 +:10BBE000930520E030E040E752E460915A02709102 +:10BBF0005B0280915C0290915D020F9439A47B01FD +:10BC00008C01272D362D452D542D6E857F858889F5 +:10BC100099890E9450C00E94B8C00F94880588235B +:10BC200009F449C0C0907E08D0907F08E090800859 +:10BC3000F0908108A5019401C701B6010F9458A3A3 +:10BC4000162F272E382E092F2B813C8149855D85A3 +:10BC50000F9435A61816ACF4A7019601C501B401DE +:10BC60000F9459A320E030E040E05FE30F9407A772 +:10BC70006AA37BA38CA39DA31B832C8239860D878B +:10BC80001AC020E030E0A9016B817C8189859D8507 +:10BC90000F9435A618167CF42DEC3CEC4CEC5DE3CF +:10BCA000672D762D852D942D0F9459A36A8F7F8F44 +:10BCB00088A399A30FC02DEC3CEC4CEC5DE3672D01 +:10BCC000762D852D942D0F9458A3762E672E582E01 +:10BCD000492E12CF20E030E0A9016B817C8189855B +:10BCE0009D850F9432A4882309F4F3C02A8D3F8DDB +:10BCF00048A159A16D817E818F8198850F9459A3A8 +:10BD000020E030E040E05FE30F9407A769837A8387 +:10BD10001C019AA19A8BABA1AB8BBCA1BC8BEDA1F2 +:10BD2000ED8B2D813E814F815885672D762D852D98 +:10BD3000942D0F9435A687FDD2C080E00F94930513 +:10BD400020E030E040E752E460915A0270915B02DB +:10BD500080915C0290915D020F9439A47B018C016B +:10BD6000272D362D452D542D6E857F8588899989FF +:10BD70000E9450C081E00F94930520E030E040E73E +:10BD800052E460915A0270915B0280915C02909142 +:10BD90005D020F9439A47B018C01272D362D452D92 +:10BDA000542D6E897F89888D998D0E9450C00E9484 +:10BDB000B8C00F948805882309F47CC080907E0861 +:10BDC00090907F08A0908008B090810880E00F9448 +:10BDD000930520E030E040E752E460915A02709110 +:10BDE0005B0280915C0290915D020F9439A47B010B +:10BDF0008C01272D362D452D542D6E897F89888DF8 +:10BE0000998D0E9450C081E00F94930520E030E0AE +:10BE100040E752E460915A0270915B0280915C02AB +:10BE200090915D020F9439A47B018C01272D362D52 +:10BE3000452D542D6E857F85888999890E9450C033 +:10BE40000E94B8C00F9488058823A1F1C0907E0895 +:10BE5000D0907F08E0908008F0908108A5019401BF +:10BE6000C701B6010F9458A3162F7BA38AA3092FED +:10BE70002B813C8149855D850F9435A61816D4F435 +:10BE8000A7019601C501B4010F9459A320E030E049 +:10BE900040E05FE30F9407A76A8B7B8B8C8B9D8BB5 +:10BEA00079826A82252C342C1B83FBA1FC838AA116 +:10BEB00089870D872DEC3CEC4CEC5DE3672D762DEE +:10BEC000852D942D0F9458A3762E672E582E492E2B +:10BED00028CF9D819983AE81AA832F80388480E00A +:10BEE0000F94930520E030E040E752E460915A025D +:10BEF00070915B0280915C0290915D020F9439A475 +:10BF00006B017C0120E030E040E051E469817A81FE +:10BF1000C1010F9459A39B01AC01870176016A8985 +:10BF20007B898C899D890E9450C081E00F94930584 +:10BF300020E030E040E752E460915A0270915B02E9 +:10BF400080915C0290915D020F9439A46B017C0199 +:10BF500020E030E040E051E469817A81C1010F9432 +:10BF600058A38B015C0120E030E040E850EC0F94D6 +:10BF700035A618162CF080E090E070E860EC03C065 +:10BF8000C8017A2D6B2D870176019C01472F562F12 +:10BF90006A897B898C899D890E9450C00E94B8C0A3 +:10BFA0000F9488058E8B81110DC08B8D9C8DAD8D6E +:10BFB000BE8D8093820890938308A0938408B093E9 +:10BFC00085081EC1C0908208D0908308E090840844 +:10BFD000F090850820E030E040E05FE36B817C81F9 +:10BFE00089859D850F9407A76E877F87888B998B9E +:10BFF00020E030E040E850E4C701B6010F9459A3B7 +:10C000002E853F85488959890F9432A487FF6CC0DB +:10C0100029813A81A101C701B6010F9432A487FD9D +:10C02000A2C020E030E040E85FE36B817C8189853D +:10C030009D850F9432A487FD96C029813A81A10184 +:10C04000C701B6010F9458A34B015C012B813C81C1 +:10C0500049855D856B817C8189859D850F9407A7C6 +:10C060002B013C0120E030E040E051E4C501B40187 +:10C070000F9407A79B01AC01C301B2010F9439A42F +:10C080002B013C0120E030E040E05FE3C501B4015A +:10C090000F9407A79B01AC01C301B2010F9459A3F0 +:10C0A0004B015C012DEC3CEC4CEC5FE30F9432A4B3 +:10C0B00087FD59C0A50194016E857F85888999897E +:10C0C0000F9459A320E030E040E05FE30F9407A70E +:10C0D0009B01AC01C701B6010F9458A369837A8311 +:10C0E0001C01BB24B39440C0BB24B39420E030E0D7 +:10C0F00040E050E46A897B898C899D890F9435A63C +:10C1000087FDB12C23E333E343E750EC6D817E815F +:10C110008F8198850F9435A6181634F520E030E00D +:10C1200040E05FE369817A81C1010F9407A76B0149 +:10C130007C012A8D3F8D48A159A16D817E818F811F +:10C1400098850F9459A320E030E040E85EE30F9417 +:10C1500007A79B01AC01C701B6010F9459A36983DE +:10C160007A831C0101C0B12C80E00F9493058A8969 +:10C170009B89AC89BD8980937E0890937F08A093AA +:10C180008008B093810889819A81D10180938208C7 +:10C1900090938308A0938408B093850820E030E052 +:10C1A00040E752E460915A0270915B0280915C0218 +:10C1B00090915D020F9439A46B017C0120E030E086 +:10C1C00040E850EC69817A81C1010F9432A487FF65 +:10C1D00005C070E060E090E880EC04C079816A817D +:10C1E000922D832D87017601272F362F492F582F27 +:10C1F0006A897B898C899D890E9450C0B11042C098 +:10C2000080E00F94930520E030E040E850EC60912E +:10C2100082087091830880918408909185080F941A +:10C2200032A487FF0CC080E090E0A0E8B0EC8093DF +:10C23000820890938308A0938408B093850820E037 +:10C2400030E040E752E460915A0270915B028091C5 +:10C250005C0290915D020F9439A47B018C012091C6 +:10C26000820830918308409184085091850860913C +:10C270007E0870917F0880918008909181080E94CB +:10C2800050C01E8A8E89A5960FB6F894DEBF0FBEE9 +:10C29000CDBFDF91CF911F910F91FF90EF90DF9075 +:10C2A000CF90BF90AF909F908F907F906F905F9056 +:10C2B0004F903F902F9008952F923F924F925F9210 +:10C2C0006F927F928F929F92AF92BF92CF92DF92A6 +:10C2D000EF92FF920F931F93CF93DF93CDB7DEB70B +:10C2E00067970FB6F894DEBF0FBECDBF8C877F83F4 +:10C2F0006E830E941C4B84ECE2E9F0E1DF011D92A9 +:10C300008A95E9F7E12CF12CEC85FF27E7FDF09504 +:10C31000FE87ED87EFEFF8E484918F01882339F0F1 +:10C320000E9410C20F5F1F4FF8018491F7CF1701D1 +:10C33000FFEF2F1A3F0A4AE050E0B1018CE197E08D +:10C340000E94493EE091CC08F0E0EE0FFF1FE0595B +:10C35000F84B85919491BE016F5F7F4F0F94256ECE +:10C360008981843010F083E08983B701882777FDC5 +:10C370008095982F0F94D4A46A837B838C839D83AC +:10C380002DEC3CEC4CE45EE30F9407A72AE939E975 +:10C3900049E95EE30F9407A7688779878A879B87B7 +:10C3A00020E030E040EA50E40F9459A360938608FF +:10C3B00070938708809388089093890832E9432E08 +:10C3C00030E1532E4BE0642E49E4742E00E010E07F +:10C3D000EB8AC101AA2797FDA095BA2F8C8B9D8B64 +:10C3E000AE8BBF8B0E941C4B0F5F1F4FA801698152 +:10C3F00080E00F94DA2EE091CC08F0E0EE0FFF1F02 +:10C40000E459F84B859194910F945C419B89992351 +:10C4100089F0E091CC08F0E0EE0FFF1FEC58F84BEC +:10C420004591549169816F5F80E00F940C52C10176 +:10C430000F94D32E20E030E040E752E46091620296 +:10C440007091630280916402909165020F9439A407 +:10C450000E947CC0F30185919591A591B491809340 +:10C460007E0890937F08A0938008B0938108F30121 +:10C47000349685919591A591B4918093820890937B +:10C480008308A0938408B093850820E030E040E75B +:10C4900052E460915A0270915B0280915C0290912B +:10C4A0005D020F9439A40E947CC08D859E850E94F8 +:10C4B00017D1882309F4AEC1C80101970297D0F5BE +:10C4C00020E030E043E060E070E080E291EC0E9428 +:10C4D00046D084E0F82E8D859E85C4D881112AC06F +:10C4E000FA9409F497C12DEC3CEC4CEC5CE36091C0 +:10C4F00086087091870880918808909189080F9428 +:10C5000058A3609386087093870880938808909357 +:10C51000890880E00F948D0580E00F949305609169 +:10C5200062027091630280916402909165020E94A0 +:10C530007CC0D1CF6C897D898E899F890F94D4A4CA +:10C540006B017C01D2012D913D914D915C916A81ED +:10C550007B818C819D810F9407A7A70196010F9481 +:10C5600039A44B015C01A701960160917E0870918E +:10C570007F0880918008909181080F9439A49B01D5 +:10C58000AC01C501B4010F9459A3F201608371831A +:10C59000828393838090820890908308A09084087F +:10C5A000B090850824813581468157816A817B81DD +:10C5B0008C819D810F9407A7A70196010F9439A440 +:10C5C0006F87788B898B9A8BA7019601C501B4017F +:10C5D0000F9439A49B01AC016F85788989899A8968 +:10C5E0000F9459A3D20114966D937D938D939C93D0 +:10C5F000179720E030E040E850ECC501B4010F94FB +:10C6000032A487FF0CC080E090E0A0E8B0EC8093FB +:10C61000820890938308A0938408B093850820E053 +:10C6200030E040E450E4688579858A859B850F94E5 +:10C6300059A39B01AC016091860870918708809195 +:10C640008808909189080F9459A360938608709385 +:10C6500087088093880890938908B8E04B0E511C96 +:10C66000E8E06E0E711C0430110509F0BBCE80E0CD +:10C6700090E00E94095720E030E040E950EC6091E2 +:10C6800096107091971080919810909199100F9436 +:10C6900032A487FF47C0AE81BF818C9182608C93AA +:10C6A000EEEFF8E484918F01882339F00E9410C2E4 +:10C6B0000F5F1F4FF8018491F7CF8AE00E9410C2EC +:10C6C000ECECF8E484918F01882339F00E9410C2C9 +:10C6D0000F5F1F4FF8018491F7CF40919610509152 +:10C6E0009710609198107091991022E030E08CE1E1 +:10C6F00097E00E94E93EE8ECF8E484918F018823FA +:10C7000039F00E9410C20F5F1F4FF8018491F7CFDC +:10C7100022E030E040E050E060E970EC8CE197E02E +:10C720000E94EA3ECC8402ECE02E00E1F02E0AEBFF +:10C7300010E122EB30E14BE059E464E082E990E162 +:10C740000E9424C28C0180E090E00E94095717FDEE +:10C7500052C0A7016AEB70E182EB90E10E94E1BE5A +:10C760004091C2105091C3106091C4107091C510D7 +:10C7700085EE9FE00F9481B04091C6105091C71094 +:10C780006091C8107091C91089EE9FE00F9481B03C +:10C790004091B2105091B3106091B4107091B510E7 +:10C7A0008DED9FE00F9481B04091B6105091B7107D +:10C7B0006091B8107091B91081EE9FE00F9481B034 +:10C7C0004091BA105091BB106091BC107091BD1097 +:10C7D00085ED9FE00F9481B04091BE105091BF1045 +:10C7E0006091C0107091C11089ED9FE00F9481B0ED +:10C7F0000E94B7CF14C00E3FFFEF1F0729F4AE8190 +:10C80000BF818C91823041F0B3E02B16310439F0B6 +:10C81000710180CD8FEF01C08EEF9FEF01C0C80185 +:10C8200067960FB6F894DEBF0FBECDBFDF91CF91F4 +:10C830001F910F91FF90EF90DF90CF90BF90AF903E +:10C840009F908F907F906F905F904F903F902F9030 +:10C8500008950F931F93CF93DF930E941C4B06E81C +:10C8600018E080E090E0A0EAB0E4F80180839183D2 +:10C87000A283B383C2E6D2E020E030E040E752E496 +:10C88000688179818A819B810F9439A40E947CC040 +:10C890008DEC9CECACE4BEE380937E0890937F0823 +:10C8A000A0938008B093810883E393E3A3E7B0ECFF +:10C8B0008093820890938308A0938408B09385089E +:10C8C00062E878E08EE798E00E94B54220E030E030 +:10C8D00040E752E460915A0270915B0280915C02E1 +:10C8E00090915D020F9439A40E947CC08AE999E975 +:10C8F000A9E1BEE3F80180839183A283B38320E0A2 +:10C9000030E040E752E4688179818A819B810F940D +:10C9100039A4DF91CF911F910F910C947CC02F927D +:10C920003F924F925F926F927F928F929F92AF92BF +:10C93000BF92CF92DF92EF92FF920F931F93CF930C +:10C94000DF9300D0CDB7DEB780E00F948D058A83EA +:10C9500080E00F9493058B830E941C4BE091CC08E0 +:10C96000F0E0EE0FFF1FEC52F94B85919491BE0160 +:10C970006F5F7F4F0F94256E8981843010F083E0C4 +:10C98000898341E050E0698180E00F94DA2EE091E4 +:10C99000CC08F0E0EE0FFF1FE053F94B8591949126 +:10C9A0000F945C4180E090E0A0EAB0E480938608B8 +:10C9B00090938708A0938808B093890820E030E01E +:10C9C00040E752E4609162027091630280916402D8 +:10C9D000909165020F9439A40E947CC0EBE2F9E4C7 +:10C9E00085919591A591B49180937E0890937F084D +:10C9F000A0938008B0938108EFE2F9E485919591C6 +:10CA0000A591B4918093820890938308A0938408A1 +:10CA1000B093850862E878E08EE798E00E94B5421E +:10CA200020E030E040E752E460915A0270915B02EE +:10CA300080915C0290915D020F9439A40E947CC0A9 +:10CA400080E1EEE7F8E0A9E4B8E001900D928A9564 +:10CA5000E1F781E00F948D0582E090E00E94C946E5 +:10CA600080E00F948D0520E030E043E060E070E06E +:10CA700080E291EC0E9446D08091860890918708D0 +:10CA8000A0918808B0918908809392109093931098 +:10CA9000A0939410B093951003E3E02E09E4F02ED8 +:10CAA00002E010E0412C512C80EA682E80E4782EC0 +:10CAB00092E0892E27E0922E0E941C4B409286081D +:10CAC00050928708609288087092890820E030E0D0 +:10CAD00040E752E4609162027091630280916402C7 +:10CAE000909165020F9439A40E947CC0F701859152 +:10CAF0009591A591B49180937E0890937F08A0931F +:10CB00008008B0938108F701349685919591A5919D +:10CB1000B4918093820890938308A0938408B09383 +:10CB2000850862E878E08EE798E00E94B54220E050 +:10CB300030E040E752E460915A0270915B028091CC +:10CB40005C0290915D020F9439A40E947CC0A80100 +:10CB5000698180E00F94DA2EE091CC08F0E0EE0FCE +:10CB6000FF1FE053F94B859194910F945C4120E0B5 +:10CB700030E043E060E070E080E291EC0E9446D05B +:10CB80008FEF800F63E00F94D5A880FF03C0282D9E +:10CB9000291B922F392D282F2303F0011124E90F8F +:10CBA000F11D97FDFA95EE0FFF1FEE0FFF1FEF56D9 +:10CBB000FF4E4091860850918708609188087091D7 +:10CBC0008908418352836383748338E0E30EF11C48 +:10CBD0000F5F1F4F0A30110509F06ECF8090921041 +:10CBE000909093106090941070909510E1E9EE2E63 +:10CBF000E0E1FE2E1501260100E010E0F701E00F54 +:10CC0000F11FA180B280C380D4809501A601B40138 +:10CC1000C3010F9432A487FD02C04501360195017E +:10CC2000A601B101C2010F9432A487FF02C05101D5 +:10CC300062010C5F1F4F0C30110519F01501260120 +:10CC4000DDCF8CE1E80EF11CE5EEEE16E0E1FE062C +:10CC500089F69401A301B501C6010F9458A320E001 +:10CC600030E040E450E40F9435A6181654F061E922 +:10CC7000C62E60E1D62EA12C75ECE72E7FE0F72EB4 +:10CC800012C0E8E7F8E484918F01882339F00E940C +:10CC900010C20F5F1F4FF8018491F7CF8AE00E9406 +:10CCA00010C280E048C000E010E0B12CB11002C01A +:10CCB000AA2039F120919210309193104091941054 +:10CCC00050919510F601E00FF11F6181728183810F +:10CCD00094810F9458A320E030E048EC52E40F9484 +:10CCE00007A720E030E040E05FE30F9459A30F94E2 +:10CCF0000FA50F94A1A4C7010F9489B0F2E0EF0E25 +:10CD0000F11CB3940C5F1F4F23E0B212CFCFA3945A +:10CD10003CE1C30ED11CA212C6CF81E990E16CD5D3 +:10CD200081E08093911095DD8A810F948D058B8130 +:10CD30000F94930581E00F900F900F90DF91CF91AA +:10CD40001F910F91FF90EF90DF90CF90BF90AF9029 +:10CD50009F908F907F906F905F904F903F902F901B +:10CD600008952F923F924F925F926F927F928F928F +:10CD70009F92AF92BF92CF92DF92EF92FF920F936A +:10CD80001F93CF93DF93CDB7DEB729970FB6F894F3 +:10CD9000DEBF0FBECDBFD82EC62E3A010E941C4B5F +:10CDA000D3011C9284ECE2E9F0E1DF011D928A9547 +:10CDB000E9F70E9465CE8091801090918110A0913A +:10CDC0008210B09183108093DA109093DB10A093BF +:10CDD000DC10B093DD108091881090918910A091A3 +:10CDE0008A10B0918B108093DE109093DF10A09387 +:10CDF000E010B093E1108091841090918510A09183 +:10CE00008610B09187108093E2109093E310A09366 +:10CE1000E410B093E51080918C1090918D10A0914A +:10CE20008E10B0918F108093E6109093E710A0932E +:10CE3000E810B093E9108091681090916910A0916A +:10CE40006A10B0916B108093EA109093EB10A0934E +:10CE5000EC10B093ED1080916C1090916D10A0913A +:10CE60006E10B0916F108093EE109093EF10A0931E +:10CE7000F010B093F1100E94D7CD80E00F948D0593 +:10CE80008E8380E00F9493058F83E091CC08F0E0CF +:10CE9000EE0FFF1FEA5DF84B85919491BE016F5F25 +:10CEA0007F4F0F94256E8981843010F083E0898351 +:10CEB000E2E94E2EE0E15E2EFBE0EF2EF9E4FF2EDC +:10CEC00022242394312CEC2DFF27E7FDF095F987E0 +:10CED000E8870E941C4BA101698180E00F94DA2E43 +:10CEE000E091CC08F0E0EE0FFF1FEE5DF84B85916E +:10CEF00094910F945C4120E030E040EA50E42093AC +:10CF0000860830938708409388085093890880E00A +:10CF10000F948D0580E00F94930520E030E040E70A +:10CF200052E4609162027091630280916402909178 +:10CF300065020F9439A40E947CC0F7016591759138 +:10CF40008591949187010C5F1F4FF80125913591D0 +:10CF5000459154912A833B834C835D832091DA1061 +:10CF60003091DB104091DC105091DD100F9407A739 +:10CF70004B015C012091E2103091E3104091E410EC +:10CF80005091E5106A817B818C819D810F9407A768 +:10CF90009B01AC01C501B4010F9459A32091EA1083 +:10CFA0003091EB104091EC105091ED100F9459A37B +:10CFB00060937E0870937F08809380089093810827 +:10CFC000F7016591759185919491F80125913591BD +:10CFD000459154912A833B834C835D832091DE10DD +:10CFE0003091DF104091E0105091E1100F9407A7AD +:10CFF0004B015C012091E6103091E7104091E81060 +:10D000005091E9106A817B818C819D810F9407A7E3 +:10D010009B01AC01C501B4010F9459A32091EE10FE +:10D020003091EF104091F0105091F1100F9459A3EE +:10D030004B015C0120E030E040E850EC0F9432A45A +:10D0400087FD09C08092820890928308A09284088C +:10D05000B09285080CC080E090E0A0E8B0EC80932E +:10D06000820890938308A0938408B093850820E0F9 +:10D0700030E040E752E460915A0270915B02809187 +:10D080005C0290915D020F9439A40E947CC020E064 +:10D0900030E043E060E070E080E291EC0E9446D036 +:10D0A0002DEC3CEC4CEC5CE36091860870918708B9 +:10D0B00080918808909189080F9458A360938608FE +:10D0C00070938708809388089093890800E063E054 +:10D0D000B62EAA24AA94A20C31E03A152CF0888529 +:10D0E00099850E9432DB0CC0DD2041F041E0D41272 +:10D0F00053C06C2D80E00E94F7D702C00E949ED5DD +:10D10000882309F449C004304CF120917E08309105 +:10D110007F084091800850918108D2016D917D91E6 +:10D120008D919C910F9459A3F20160837183828346 +:10D130009383209182083091830840918408509114 +:10D14000850864817581868197810F9459A3D201E6 +:10D1500014966D937D938D939C93179720E030E008 +:10D1600040E850EC609182087091830880918408B7 +:10D17000909185080F9432A487FF0CC080E090E066 +:10D18000A0E8B0EC8093820890938308A093840871 +:10D19000B09385080F5F2DC099249A949B0CBB20F7 +:10D1A00009F4DCC12DEC3CEC4CE45DE360918608B5 +:10D1B0007091870880918808909189080F9458A3EE +:10D1C00060938608709387088093880890938908F5 +:10D1D00080E00F948D0580E00F94930560916202CA +:10D1E0007091630280916402909165020E947CC0FC +:10D1F000B92C08300CF470CFBFEF2B1A3B0AE8E0D3 +:10D20000EE0EF11CF8E04F0E511C25E02216310401 +:10D2100009F05FCE0E941C4B02E910E120E030E0F3 +:10D2200040E85EE3D8016D917D918D919C910F94C2 +:10D2300007A7F80161937193819391938F01F0E1B6 +:10D24000023B1F0759F780E00F948D0580E00F9493 +:10D25000930520E030E040E950EC60919610709129 +:10D26000971080919810909199100F9432A487FF95 +:10D2700004C0D3018C9181608C9320E030E040E9C0 +:10D2800050EC60919E1070919F108091A010909131 +:10D29000A1100F9432A487FF04C0F3018081826043 +:10D2A00080835AEEE52E50E1F52E02EE10E12AEDD4 +:10D2B00030E14BE059E464E082E990E10E9424C24D +:10D2C0008C0197FD39C1EBE0F9E465917591859189 +:10D2D0009491EFE0F9E4C590D590E590F490209119 +:10D2E000DE103091DF104091E0105091E1100F946A +:10D2F00007A74B015C012091E6103091E7104091A7 +:10D30000E8105091E910C701B6010F9407A79B01DF +:10D31000AC01C501B4010F9459A32091EE103091D6 +:10D32000EF104091F0105091F1100F9459A34B0160 +:10D330005C0120E030E040E950E40F9459A3609391 +:10D34000B2087093B3088093B4089093B50820E0B6 +:10D3500030E040E950ECC501B4010F9432A487FFDE +:10D3600004C0D3018C9181608C93E3E1F9E4659171 +:10D37000759185919491E7E1F9E4C590D590E59098 +:10D38000F4902091DE103091DF104091E010509128 +:10D39000E1100F9407A74B015C012091E61030913A +:10D3A000E7104091E8105091E910C701B6010F94C1 +:10D3B00007A79B01AC01C501B4010F9459A32091AB +:10D3C000EE103091EF104091F0105091F1100F9449 +:10D3D00059A34B015C0120E030E040E950E40F9498 +:10D3E00059A36093B6087093B7088093B8089093D8 +:10D3F000B90820E030E040E950ECC501B4010F94D9 +:10D4000032A487FF04C0F3018081826080834AEEEA +:10D4100050E162EE70E18AED90E10E94E1BE409140 +:10D42000EA105091EB106091EC107091ED1085EEC8 +:10D430009FE00F9481B04091EE105091EF106091F9 +:10D44000F0107091F11089EE9FE00F9481B040913F +:10D45000DA105091DB106091DC107091DD108DEDD1 +:10D460009FE00F9481B04091DE105091DF106091E9 +:10D47000E0107091E11081EE9FE00F9481B0409137 +:10D48000E2105091E3106091E4107091E51085ED89 +:10D490009FE00F9481B04091E6105091E7106091A9 +:10D4A000E8107091E91089ED9FE00F9481B00E941F +:10D4B000B7CF80E00F948D0580E00F94930520E0B6 +:10D4C00030E046E153E460918608709187088091CE +:10D4D0008808909189080F9459A3609386087093E7 +:10D4E0008708809388089093890820E030E040E71F +:10D4F00052E46091620270916302809164029091A3 +:10D5000065020F9439A40E947CC0E091CC08F0E041 +:10D51000EE0FFF1FEA59F94B859194910F945D7AB4 +:10D52000FED98823E9F08E810F948D058F810F94A9 +:10D5300093050E941C4B3AC0E5E9F8E484917F0111 +:10D54000882341F00E9410C2FFEFEF1AFF0AF70193 +:10D550008491F6CF8AE00E9410C202C00FEF1FEF45 +:10D560000E941C4B80E090E0A0EAB0E48093860823 +:10D5700090938708A0938808B093890820E030E052 +:10D5800040E752E46091620270916302809164020C +:10D59000909165020F9439A40E947CC00E947DCDB9 +:10D5A0008E810F948D058F810F949305C801299664 +:10D5B0000FB6F894DEBF0FBECDBFDF91CF911F91A4 +:10D5C0000F91FF90EF90DF90CF90BF90AF909F9022 +:10D5D0008F907F906F905F904F903F902F90089525 +:10D5E00087EF9FE00F945DB0863E40F40E94BE5AE4 +:10D5F00066E670E188EF9FE00D941E2F0895F0DF3E +:10D600006091661070916710882777FD8095982F3C +:10D610000F94D4A490582091F8163091F9164091A7 +:10D62000FA165091FB160F9439A40C9409C160911D +:10D63000661070916710882777FD8095982F0F945A +:10D64000D4A42091F8163091F9164091FA16509111 +:10D65000FB160F9439A40E9409C110926710109212 +:10D6600066100895109267101092661008954F92F8 +:10D670005F926F927F928F929F92AF92BF92CF9262 +:10D68000DF92EF92FF92CF93DF93CDB7DEB728976B +:10D690000FB6F894DEBF0FBECDBF89EE9FE00F94AA +:10D6A00065B069837A838B839C8381EE9FE00F94BE +:10D6B00065B04B015C0189ED9FE00F9465B06B0193 +:10D6C0007C01EBE0F9E425913591459154916FE0AF +:10D6D00079E4FB0185919591A591B4918D839E8309 +:10D6E000AF83B887C501B4010F9407A72B013C0194 +:10D6F0002D813E814F815885C701B6010F9407A740 +:10D700009B01AC01C301B2010F9459A329813A8155 +:10D710004B815C810F9459A320E030E040E950E454 +:10D720000F9459A36093B2087093B3088093B40820 +:10D730009093B508E3E1F9E4259135914591549131 +:10D74000E7E1F9E44590559065907490C501B40106 +:10D750000F9407A74B015C01A3019201C701B60119 +:10D760000F9407A79B01AC01C501B4010F9459A305 +:10D7700029813A814B815C810F9459A320E030E0EC +:10D7800040E950E40F9459A36093B6087093B7082A +:10D790008093B8089093B90828960FB6F894DEBF26 +:10D7A0000FBECDBFDF91CF91FF90EF90DF90CF9074 +:10D7B000BF90AF909F908F907F906F905F904F90B1 +:10D7C0000895FC01108220E030E040E050E0BC0110 +:10D7D000620F731FFB01E40FF51F11821282138287 +:10D7E00014824C5F5F4F4C315105A1F7245E3F4FCF +:10D7F000243C310551F708952F923F924F925F924A +:10D800006F927F928F929F92AF92BF92CF92DF9250 +:10D81000EF92FF920F931F93CF93DF93CDB7DEB7B5 +:10D8200060970FB6F894DEBF0FBECDBF8B839D838C +:10D830008B879C8703E010E0EB85FC8581859285D2 +:10D84000A385B485818F928FA38FB48F85819681B4 +:10D85000A781B08585879687A787B08B22242394DC +:10D86000312CF3E02F16310409F491C0B10188275F +:10D8700077FD8095982F0F94D4A425E535E547E0F2 +:10D8800052E40F9407A720E030E04CE052E40F94FC +:10D8900059A36B017C0120E030E848E053E40F9489 +:10D8A00058A32B013C0120E030E04EE653E4C701D1 +:10D8B000B6010F9458A34B015C0120E030E04CE02E +:10D8C00052E4C701B6010F9458A36B017C0191018A +:10D8D000220F331F220F331F8B859C85280F391F82 +:10D8E0003A832983FC012181328143815481C30120 +:10D8F000B2010F9407A7A50194010F9407A720E098 +:10D9000039EF40EA56E40F9439A46F83788789870A +:10D910009A87EB85FC852585368547855089C70123 +:10D92000B6010F9407A7A50194010F9407A720E063 +:10D9300039EF40E256EC0F9439A49B01AC016F81A2 +:10D94000788589859A850F9459A34B015C01EB85F5 +:10D95000FC85218D328D438D548DC701B6010F9406 +:10D9600007A7A30192010F9407A720E039EF40EA2F +:10D9700056E40F9439A49B01AC01C501B4010F9486 +:10D9800059A3E981FA816183728383839483FFEFD2 +:10D990002F1A3F0A26E02216310409F062CF015007 +:10D9A00011098B859C854C969C878B8701151105E9 +:10D9B00009F042CF9B819F87ED81E88B27E030E023 +:10D9C0003A832983EF85F88981AD92ADA3ADB4ADDB +:10D9D000E755FF4FFC83EB8380839183A283B3835E +:10D9E000EF85F889858D968DA78DB0A1EB5AFF4FF5 +:10D9F000FE83ED8380839183A283B383212C312C1A +:10DA000001E010E00330110509F48DC0B80188274A +:10DA100077FD8095982F0F94D4A42BEA3AEA42E040 +:10DA200052E40F9407A720E030E040EC50E40F945C +:10DA300059A36B017C0120E030E040ED52E40F94EB +:10DA400058A32B013C0120E030E04AE453E4C70135 +:10DA5000B6010F9458A34B015C0120E030E040EC8C +:10DA600050E4C701B6010F9458A36B017C012F85C8 +:10DA70003889220D331D38872F83EF85F88921815E +:10DA8000328143815481C301B2010F9407A7A501DC +:10DA900094010F9407A720E030E146E956E40F9483 +:10DAA00039A46B877C878D879E87ED81FE812081DD +:10DAB000318142815381C701B6010F9407A7A501A7 +:10DAC00094010F9407A720E030E146E156EC0F9453 +:10DAD00039A49B01AC016B857C858D859E850F9457 +:10DAE00059A34B015C01EB81FC8120813181428192 +:10DAF0005381C701B6010F9407A7A30192010F94A8 +:10DB000007A720E030E146E956E40F9439A49B01D1 +:10DB1000AC01C501B4010F9459A3EF81F885658F5D +:10DB2000768F878F90A30F5F1F4FFCE12F0E311C64 +:10DB30000630110509F066CF29813A81215031095B +:10DB40003A8329838F8598890496988B8F87232B16 +:10DB500009F038CF60960FB6F894DEBF0FBECDBF88 +:10DB6000DF91CF911F910F91FF90EF90DF90CF90B9 +:10DB7000BF90AF909F908F907F906F905F904F90ED +:10DB80003F902F90089581E990E11BCE2F923F9214 +:10DB90004F925F926F927F928F929F92AF92BF92BD +:10DBA000CF92DF92EF92FF920F931F93CF93DF9369 +:10DBB000CDB7DEB7C155D1090FB6F894DEBF0FBEA1 +:10DBC000CDBF1C0178A36F8F4A012DAB0FAB2A96F6 +:10DBD000EFAE2A972E96ACAEBDAECEAEDFAE2E9790 +:10DBE00034E0239F50011124FC01EA0DFB1D8081CC +:10DBF0009181A281B3818F8B988FA98FBA8FDA011F +:10DC0000AA0DBB1DBEAFADAF4D905D906D907C90E9 +:10DC1000A30192016F89788D898D9A8D0F9459A3F4 +:10DC200023966CAF7DAF8EAF9FAF2397B4E00B9F71 +:10DC300080011124F101E00FF11F20813181428127 +:10DC4000538129A33AA34BA35CA3A401400F511F06 +:10DC500025965FAF4EAF2597DA01CD90DD90ED9020 +:10DC6000FC90A701960169A17AA18BA19CA10F94B8 +:10DC700059A329966CAF7DAF8EAF9FAF29972A9697 +:10DC8000EFAD2A97B4E0EB9FC0011124F101E80F3A +:10DC9000F91F20813181428153812B8F3C8F4D8F21 +:10DCA0005E8FEF8DF8A1E80FF91F6081718182818D +:10DCB00093810F9458A36DA37EA38FA398A7AF8DD4 +:10DCC000B8A11C968D919D910D90BC91A02D62964E +:10DCD0008CAF9DAFAEAFBFAF6297D1011C962D91B7 +:10DCE0003D914D915C911F9729A73AA74BA75CA73F +:10DCF00077FA709477F87094A701960150582B8B9F +:10DD00003C8B4D8B5E8BEF8DF8A1EA0DFB1D808166 +:10DD10009181A281B3818DA79EA7AFA7B8AB2396AF +:10DD20002CAD3DAD4EAD5FAD2397BC01CD010F9441 +:10DD300058A36B017C01EF8DF8A1E00FF11F20814A +:10DD400031814281538129AB3AAB4BAB5CAB299615 +:10DD50002CAD3DAD4EAD5FAD299769A97AA98BA9D0 +:10DD60009CA90F9458A34B015C01A7019601C30124 +:10DD7000B2010F9407A769AF7AAF8BAF9CAFA50133 +:10DD800094016B897C898D899E890F9407A79B01DB +:10DD9000AC0169AD7AAD8BAD9CAD0F9459A369AF61 +:10DDA0007AAF8BAF9CAFA5019401C301B2010F9470 +:10DDB00007A74B015C01A70196016B897C898D89BE +:10DDC0009E890F9407A79B01AC01C501B4010F9474 +:10DDD00058A329AD3AAD4BAD5CAD0F94CCA36B010C +:10DDE0007C0120E030E0A9010F9432A487FF0AC033 +:10DDF0002BED3FE049EC50E4C701B6010F9459A365 +:10DE00006B017C01AC968FADAC97882351F02BED64 +:10DE10003FE049EC50E4C701B6010F9458A36B01F1 +:10DE20007C012DA53EA54FA558A96F89788D898DB8 +:10DE30009A8D0F9432A481111FC029A93AA94BA928 +:10DE40005CA969A17AA18BA19CA10F9432A4811134 +:10DE500013C020E030E0A901C701B6010F9432A43D +:10DE600081110AC02BED3FE049EC50E4C701B60137 +:10DE70000F9459A36B017C01AB962CAD3DAD4EAD1B +:10DE80005FADAB97C701B6010F9407A72DA13EA1C7 +:10DE90004FA158A55F770F9442A64B015C012FE676 +:10DEA00032E143E85AE30F9432A487FDD6C1C5019D +:10DEB000B4010F940FA50F94A6A47AA369A36115CA +:10DEC000710521F481E090E09AA389A3A9A1BAA1E8 +:10DED000BD0180E090E00F94D2A44B015C019B0156 +:10DEE000AC01C701B6010F9439A46F8B788F898F6D +:10DEF0009A8FA50194016DA17EA18FA198A50F9481 +:10DF000039A46DA77EA78FA798AB29A53AA54BA5E5 +:10DF10005CA562966CAD7DAD8EAD9FAD62970F94A2 +:10DF200058A3A50194010F9439A469AB7AAB8BABCC +:10DF30009CAB20E030E040E05FE36F89788D898D15 +:10DF40009A8D0F9407A72F89388D498D5A8D0F947C +:10DF500007A79B01AC0160E070E080E89FE30F94AD +:10DF600058A36DA37EA38FA398A7CE010196FC01B1 +:10DF70002A962FAD2A97B4E02B9FE00DF11D1124B6 +:10DF80002B8D3C8D4D8D5E8D208331834283538359 +:10DF900029A53AA54BA55CA52D873E874F87588BB1 +:10DFA0001B8E22242394312CAC019DA984E0989FE0 +:10DFB000400D511D11245EAB4DABA1E0B0E0AC0FA4 +:10DFC000BD1F3FA924E0329FA00DB11D1124B8AFA1 +:10DFD000AFABFAA7E9A7AE0144595F4F5A8B498B03 +:10DFE000E9A1FAA12E163F0608F012C15B8D593146 +:10DFF0000CF040C02DA13EA14FA158A56B897C8992 +:10E000008D899E890F9407A76B017C012F89388D1C +:10E01000498D5A8DC301B2010F9407A7A70196013C +:10E020000F9459A37B018C012DA13EA14FA158A5AE +:10E03000C301B2010F9407A74B015C012F89388DF2 +:10E04000498D5A8D6B897C898D899E890F9407A78C +:10E050009B01AC01C501B4010F9458A32B013C01F5 +:10E060008B8D8F5F8B8FA701B8014B8B5C8B6D8B7A +:10E070007E8B66C0B10180E090E00F94D2A42F891E +:10E08000388D498D5A8D0F9407A76B017C010F9431 +:10E0900036A46B8B7C8B8D8B9E8BC701B6010F9446 +:10E0A000B6A74B015C01ADADBEADCD90DD90ED905E +:10E0B000FC90F7FAF094F7F8F0942596AEADBFAD6A +:10E0C00025972D913D914D915C912B8F3C8F4D8FDC +:10E0D0005E8F2B893C894D895E89C701B6010F94FB +:10E0E00007A72B013C01A50194016B8D7C8D8D8DC3 +:10E0F0009E8D0F9407A79B01AC01C301B2010F9441 +:10E1000059A32B013C01A5019401C701B6010F944D +:10E1100007A76B017C012B893C894D895E896B8D3A +:10E120007C8D8D8D9E8D0F9407A79B01AC01C7013F +:10E13000B6010F9458A36B8B7C8B8D8B9E8B1B8EA3 +:10E14000A301920123966CAD7DAD8EAD9FAD23975B +:10E150000F9459A3EDA9FEA96083718382839383F1 +:10E160002B893C894D895E8929966CAD7DAD8EAD3C +:10E170009FAD29970F9459A3AFA9B8AD6D937D9327 +:10E180008D939C9313972DA53EA54FA558A9E9A55E +:10E19000FAA560817181828193810F9459A3A9A509 +:10E1A000BAA56D937D938D939C93139729A93AA952 +:10E1B0004BA95CA96D857E858F8598890F9459A39D +:10E1C0006D877E878F87988BCE0101960E945D4F69 +:10E1D000E984FA840B851C852D813E814F81588509 +:10E1E00069817A818B819C81BA89BF93E989EF9398 +:10E1F0002E968CAC9DACAEACBFAC2E97DE011D96BE +:10E200006D0186D6BFEF2B1A3B0A0F900F90E8CE18 +:10E21000CF8CD8A0FCE0CF0ED11CAF8DB8A1189642 +:10E22000ED90FD900D911C911B9714962D913D91B1 +:10E230004D915C9117976D917D918D919C91FE010F +:10E24000E459FF4FFF93EF932E968CAC9DACAEAC90 +:10E25000BFAC2E975DD60F900F90CF5ADF4F0FB601 +:10E26000F894DEBF0FBECDBFDF91CF911F910F910C +:10E27000FF90EF90DF90CF90BF90AF909F908F90E6 +:10E280007F906F905F904F903F902F900895CF9325 +:10E29000DF931F92CDB7DEB71982AE014F5F5F4F9C +:10E2A000682F85E70F94FD1189810F90DF91CF9141 +:10E2B0000895CF93DF9380915D11813309F043C0BE +:10E2C00080915C11813909F03EC082E0E0DFC82F07 +:10E2D00087E1DDDF8093571184E1D9DF8093561108 +:10E2E000C7FF34C083E0D3DFD82F84E0D0DFC82F4E +:10E2F00082E1CDDF282F30E0A90184E0440F551FD3 +:10E300008A95E1F744275F704D2B322F2227222771 +:10E310003F702C2B53FD505133FD305180915A11D9 +:10E3200090915B11840F951F90935B1180935A110C +:10E330008091581190915911821B930B9093591110 +:10E340008093581103C080E090E002C081E090E02B +:10E35000DF91CF910895CF9380915D11813309F5BD +:10E3600080915C118139E9F482E091DF87FF1CC064 +:10E3700084E08DDFC82F82E18ADF282F30E0322F42 +:10E38000222722273F702C2B33FD305180915811CA +:10E3900090915911821B930B9093591180935811AE +:10E3A00003C080E090E002C081E090E0CF9108954A +:10E3B000CF93DF931F92CDB7DEB76983AE014F5F76 +:10E3C0005F4F682F85E70F9462120F90DF91CF9116 +:10E3D0000895CF93DF93D82FC62FEADF8D2F57DF15 +:10E3E00091E08C1390E0892FDF91CF910895CF9326 +:10E3F000DF9341EB65E184E10F94ED1080E047DFAE +:10E4000080935D1181E043DF80935C1190915D11F9 +:10E41000913319F080E090E035C08139D9F760E0A0 +:10E420008FE7C6DF67E986E0C3DF88EE93E00F94ED +:10E43000C19BC6EAD9E4FE0184918F3F39F0229650 +:10E4400031966491C6DF8111F6CFE4CF80E197E287 +:10E450000F94C19B61E08FE7ABDFC3E7D9E4FE0116 +:10E4600084918F3F39F0229631966491B2DF811109 +:10E47000F6CFD0CF60E08FE79BDF60E089E098DFE8 +:10E4800081E090E0DF91CF9108959091A1079111E3 +:10E4900007C09091C00095FFFCCF8093C6000895FF +:10E4A000913031F49091C80095FFFCCF8093CE005D +:10E4B00008952F923F924F925F926F927F928F9228 +:10E4C0009F92AF92BF92CF92DF92EF92FF920F9303 +:10E4D0001F93CF93DF93CDB7DEB768970FB6F8944D +:10E4E000DEBF0FBECDBF1C01CB01BA01280139012F +:10E4F000F101E45BFF4FC080D180E280F380A7018F +:10E5000096010F9407A70F941FA40F94A6A44B0184 +:10E510005C01A7019601C301B2010F9407A70F94F4 +:10E520001FA40F94A6A408E780169104A104B104C7 +:10E5300028F4B8E78B2E912CA12CB12CD101D796C1 +:10E54000CD90DD90ED90FC90DA9724013501C81450 +:10E55000D904EA04FB0410F4260137016837710579 +:10E560008105910520F468E770E080E090E069871C +:10E570007A878B879C87C616D706E806F90620F4AB +:10E58000C986DA86EB86FC8691012D5B3F4FD90167 +:10E590008D919D910D90BC91A02D89839A83AB8321 +:10E5A000BC83892B8A2B8B2B41F401E010E020E007 +:10E5B00030E009831A832B833C83A3019201C301BA +:10E5C000B2010F94C6A86D877E878F87988BA701AD +:10E5D0009601C701B6010F94C6A84B015C012985BD +:10E5E0003A854B855C85CA01B9010F94C6A8698B31 +:10E5F0007A8B8B8B9C8BE980FA800B811C81EE0CD3 +:10E60000FF1C001F111FED82FE820F831887C501BA +:10E61000B40161507109810991090D851E852F850D +:10E620003889601B710B820B930BED80FE800F818C +:10E6300018856E0D7F1D801F911FA80197010F94F3 +:10E6400009A969017A01C501B40109891A892B89CF +:10E650003C89601B710B820B930B2D813E814F8196 +:10E6600058850F9409A92C0D3D1D4E1D5F1DD1012C +:10E6700050968D909D90AD90BC905397281539057C +:10E680004A055B0548F4D501C401821B930BA40B1A +:10E69000B50BAC01BD0194C029813A814B815C81ED +:10E6A000E2E0220F331F441F551FEA95D1F7D50131 +:10E6B000C40181709927AA27BB278D8B9E8BAF8BB6 +:10E6C000B88F8501740116950795F794E794E98250 +:10E6D000FA820B831C83E988FA880B891C898D8553 +:10E6E0009E85AF85B889E816F9060A071B0790F1E1 +:10E6F000BC01CD0160957095809590956E0D7F1D44 +:10E70000801F911F620F731F841F951FED88FE8865 +:10E710000F89188DEF28E02AE12A41F0ED80FE8074 +:10E720000F8118856E0D7F1D801F911F0F9409A901 +:10E7300069017A0109811A812B813C81C00ED11EA9 +:10E74000E21EF31E8C149D04AE04BF04B0F57501E7 +:10E75000640133C06D857E858F859889E988FA8844 +:10E760000B891C896E197F09800B910BED88FE883F +:10E770000F89188DEF28E02AE12A41F0ED80FE8014 +:10E780000F8118856E0D7F1D801F911F0F9409A9A1 +:10E79000E980FA800B811C812E0D3F1D401F511F07 +:10E7A00082169306A406B50610F4A501940175011E +:10E7B0006401C21AD30AE40AF50A40E050E0BA0143 +:10E7C0008FB7F894F101E55BFF4F9081911120C064 +:10E7D000D1015A96CD92DD92ED92FC925D97C40ED6 +:10E7E000D51EE61EF71EF101C68ED78EE0A2F1A25D +:10E7F000DB964D925D926D927C92DE97DF96E98476 +:10E80000FA840B851C85ED92FD920D931C93139752 +:10E810008FBF68960FB6F894DEBF0FBECDBFDF91F5 +:10E82000CF911F910F91FF90EF90DF90CF90BF900D +:10E83000AF909F908F907F906F905F904F903F90A0 +:10E840002F9008952F923F924F925F926F927F92F6 +:10E850008F929F92AF92BF92CF92DF92EF92FF92F0 +:10E860000F931F93CF93DF935C017090631180919E +:10E87000641187198F70833008F486C08091641109 +:10E88000811101C080E1815022E5829F8001112425 +:10E890000B591E4E811101C080E1FF24FA94F80E3D +:10E8A00082E5F89EE0011124CB59DE4EF71409F4FD +:10E8B0006DC09AA4CBA4DCA4EDA4292D3C2D4D2D34 +:10E8C0005E2D6EA17FA188A599A50F9432A48823FF +:10E8D00009F44CC0F80126A037A040A451A4A2011D +:10E8E0009101692D7C2D8D2D9E2D0F9432A418162B +:10E8F0009CF5A2019101C201B1010F9407A71B0170 +:10E900002C018AA99BA9ACA9BDA9BC01CD01905835 +:10E910009B01AC010F9459A32EA53FA548A959A965 +:10E920000F9407A79B01AC01C201B1010F9458A33A +:10E930000F94C0A7662E872E8C01262F372FAC018F +:10E94000692D7C2D8D2D9E2D0F9432A487FD04C042 +:10E95000962CC82CD02EE12E892D9C2DAD2DBE2DB0 +:10E960008EA39FA3A8A7B9A7F1E0FEAB8F2DF1104E +:10E9700001C080E1FF24FA94F80E22E5F29EC00166 +:10E9800011248E01EC0190CF823061F482E5789EF3 +:10E99000E0011124CB59DE4E81E0870D803141F436 +:10E9A00080E006C0C0916411C11186C0C0E184C07E +:10E9B000782E92E5899F40011124F401EB59FE4E17 +:10E9C0004F0144244394CEA0DFA0E8A4F9A4F401AD +:10E9D00056A067A000A511A5252D362DA801C701B9 +:10E9E000B6010F9432A487FF40C0A7019601C7016A +:10E9F000B6010F9407A76B017C018AA99BA9ACA95A +:10EA0000BDA9BC01CD0190589B01AC010F9459A345 +:10EA10002EA53FA548A959A90F9407A79B01AC01B2 +:10EA2000C701B6010F9458A30F94C0A76B017C01D6 +:10EA30009B01AC01652D762DC8010F9432A487FF90 +:10EA400003C0C52CD62C78019601A701652D762D23 +:10EA5000C8010F9432A4882341F0C601D701F40104 +:10EA600086A397A3A0A7B1A746AAF40186A98111FE +:10EA700003C08EA9882361F0F40106A117A120A587 +:10EA800031A54EA15FA168A579A5CE0112DD1EAA10 +:10EA900081E0870D803109F480E0782EF2E58F9FC8 +:10EAA000C00111248B599E4E20916411721609F4F5 +:10EAB00079CFE4014C0187CFC15022E5C202E001C9 +:10EAC0001124CB59DE4EF501008111812281338161 +:10EAD0004EA15FA168A579A5CE01EBDC1EAADF914E +:10EAE000CF911F910F91FF90EF90DF90CF90BF904B +:10EAF000AF909F908F907F906F905F904F903F90DE +:10EB00002F900895109264111092631180E1E0EA51 +:10EB1000F6E1DF011D928A95E9F7109290161092A6 +:10EB200091161092921610929316109294161092BB +:10EB3000951610929616109297161092981610929B +:10EB4000991610929A1610929B1610929C1610927B +:10EB50009D1610929E1610929F1610928C1610926F +:10EB60008D1610928E1610928F160895CF92DF9206 +:10EB7000EF92FF92CF93C0916808909163118091BA +:10EB80006411981781F08091631192E5899FF001DB +:10EB90001124E455FE4EC08190916411891719F03B +:10EBA0008F5F8F70F9CFCC2321F1C0905E11D09090 +:10EBB0005F11E0906011F0906111C114D104E10483 +:10EBC000F10479F40F945B9B605E7C4F8F4F9F4FF5 +:10EBD00060935E1170935F11809360119093611147 +:10EBE00011C00F945B9B6C157D058E059F0550F041 +:10EBF0000AC010925E1110925F1110926011109273 +:10EC0000611101C0CFEF6C2F70E086E0CF91FF90D3 +:10EC1000EF90DF90CF900D942E9C4F925F926F9269 +:10EC20007F928F929F92AF92BF92CF92DF92EF929C +:10EC3000FF920F931F9380916F008D7F80936F00E1 +:10EC400080E00F94920D6093A0167093A1168093AC +:10EC5000A2169093A31681E00F94920D6093A416D0 +:10EC60007093A5168093A6169093A71682E00F9432 +:10EC7000920D6093A8167093A9168093AA1690938C +:10EC8000AB1683E00F94920D6093AC167093AD16A3 +:10EC90008093AE169093AF1680E00F94A00D609312 +:10ECA0007E0870937F08809380089093810881E0AC +:10ECB0000F94A00D6093820870938308809384085A +:10ECC0009093850882E00F94A00D6093860870935E +:10ECD0008708809388089093890883E00F94A00D9B +:10ECE00060938A0870938B0880938C0890938D08AA +:10ECF00080919110882341F100918208109183083E +:10ED0000209184083091850840917E0850917F08B9 +:10ED1000609180087091810881E990E10E94FD3F37 +:10ED20009B01AC01609186087091870880918808EA +:10ED3000909189080F9458A3609386087093870870 +:10ED400080938808909389080F94BC0D10919010BF +:10ED5000112309F49AC010FF34C02091681030913B +:10ED6000691040916A1050916B1060917E0870910B +:10ED70007F0880918008909181080F9458A3609338 +:10ED80007E0870937F08809380089093810820917B +:10ED90006C1030916D1040916E1050916F10609119 +:10EDA00082087091830880918408909185080F945F +:10EDB00058A360938208709383088093840890938B +:10EDC000850811FF62C080907E0890907F08A09017 +:10EDD0008008B0908108C0908208D0908308E090AD +:10EDE0008408F09085082091781030917910409136 +:10EDF0007A1050917B10C501B4010F9407A72B0125 +:10EE00003C0120917C1030917D1040917E105091FA +:10EE10007F10C701B6010F9407A79B01AC01C30186 +:10EE2000B2010F9459A32B013C0120917010309135 +:10EE300071104091721050917310C501B4010F947C +:10EE400007A74B015C01209174103091751040911F +:10EE5000761050917710C701B6010F9407A79B0158 +:10EE6000AC01C501B4010F9459A360937E0870935F +:10EE70007F08809380089093810840928208509286 +:10EE80008308609284087092850880E1EEE7F8E0DC +:10EE9000A9E4B8E001900D928A95E1F710928C16E2 +:10EEA00010928D1610928E1610928F161092901648 +:10EEB0001092911610929216109293161092941628 +:10EEC0001092951610929616109297161092981608 +:10EED0001092991610929A1610929B1610929C16E8 +:10EEE00010929D1610929E1610929F1681E08093AC +:10EEF00062111F910F91FF90EF90DF90CF90BF9024 +:10EF0000AF909F908F907F906F905F904F900895FB +:10EF10002F923F924F925F926F927F928F929F9229 +:10EF2000AF92BF92CF92DF92EF92FF920F931F9317 +:10EF3000CF93DF93CDB7DEB7C756D1090FB6F8949C +:10EF4000DEBF0FBECDBF362E272E8FA39BA7290174 +:10EF50003A012396ECAEFDAE0EAF1FAF2397D8AAB1 +:10EF6000CFA68BAA2A969FAE2A972496AFAE249757 +:10EF70002696BFAE2697209164112F5F64962FAF1F +:10EF80006497203119F464961FAE64970091631161 +:10EF900010E064963FAD6497832F992787FD909585 +:10EFA0000817190729F010919010111117C084C08B +:10EFB000109262110F94A21880E00E946F5880E0B6 +:10EFC0000F94186B8091631190E08017910791F373 +:10EFD0008091621181110D943E02E5CF11FF4AC06C +:10EFE00020918010309181104091821050918310B7 +:10EFF000632D722D8FA19BA50F9407A76B017C0138 +:10F000002091841030918510409186105091871086 +:10F01000C301B2010F9407A79B01AC01C701B60160 +:10F020000F9459A34B015C0120918C1030918D10ED +:10F0300040918E1050918F10C301B2010F9407A719 +:10F040006B017C01209188103091891040918A10C9 +:10F0500050918B10632D722D8FA19BA50F9407A744 +:10F06000A70196010F9459A32B013C01382C292CA0 +:10F07000AFA2BBA610FF20C020916810309169108C +:10F0800040916A1050916B10632D722D8FA19BA53A +:10F090000F9459A3362E272E8FA39BA720916C1077 +:10F0A00030916D1040916E1050916F10C301B201FC +:10F0B0000F9459A32B013C012091F0163091F116C9 +:10F0C0004091F2165091F316632D722D8FA19BA5DE +:10F0D0000F9407A70F94D7A6A0966CAF7DAF8EAF05 +:10F0E0009FAFA0972091F4163091F5164091F61637 +:10F0F0005091F716C301B2010F9407A70F94D7A63A +:10F10000A4966CAF7DAF8EAF9FAFA4978091911006 +:10F110008823E9F093018201432D522D6FA17BA535 +:10F1200081E990E10E94FD3F9B01AC0123966CAD0B +:10F130007DAD8EAD9FAD23970F9459A32091F81606 +:10F140003091F9164091FA165091FB160EC020919D +:10F15000F8163091F9164091FA165091FB16239645 +:10F160006CAD7DAD8EAD9FAD23970F9407A70F9427 +:10F17000D7A668966CAF7DAF8EAF9FAF6897209192 +:10F18000FC163091FD164091FE165091FF16AFA56A +:10F19000B8A96D917D918D919C910F9407A70F94C3 +:10F1A000D7A623966CAF7DAF8EAF9FAF239780918C +:10F1B000AC169091AD16A091AE16B091AF162396F5 +:10F1C0002CAD3DAD4EAD5FAD2397281739074A07EB +:10F1D0005B0709F49FC0E0916A0834E0E39FF00107 +:10F1E0001124EF50F84E20916D0230916E02409143 +:10F1F0006F025091700260817181828193810F94BE +:10F2000032A487FF28C023968CAD9DADAEADBFADB7 +:10F2100023978093AC169093AD16A093AE16B0933F +:10F22000AF16E3EFFBE084918F01882331F02DD9F5 +:10F230000F5F1F4FF8018491F8CFEEEAF7E40591D4 +:10F240001491F8018491882321F01FD90F5F1F4F7B +:10F25000F8CF8AE01AD98091AC169091AD16A091A2 +:10F26000AE16B091AF1623962CAD3DAD4EAD5FAD51 +:10F270002397281B390B4A0B5B0BCA01B90157FFB7 +:10F2800007C090958095709561957F4F8F4F9F4FE8 +:10F290000F94D4A46B017C0120E030E84AEE53E4E3 +:10F2A0006091FC167091FD168091FE169091FF16EC +:10F2B0000F9407A79B01AC01C701B6010F9435A6B7 +:10F2C000181644F523968CAD9DADAEADBFAD23971A +:10F2D0008093AC169093AD16A093AE16B093AF1674 +:10F2E000E3EFFBE084918F01882331F0CED80F5FEC +:10F2F0001F4FF8018491F8CFE8EAF7E405911491E3 +:10F30000F8018491882321F0C0D80F5F1F4FF8CFF8 +:10F310008AE0BBD880916411F2E58F9F100111241F +:10F3200091012B593E4E1901F901E05BFF4F11820B +:10F330001082359710828091A0169091A116A0910D +:10F34000A216B091A3168BA79CA7ADA7BEA7A096A7 +:10F350008CAC9DACAEACBFACA097881A990AAA0A37 +:10F36000BB0AB7FE08C0B094A09490948094811C0E +:10F37000911CA11CB11CD1018D929D92AD92BC92A9 +:10F3800013972091A4163091A5164091A61650917E +:10F39000A7162FA738AB49AB5AABA4968CAD9DAD41 +:10F3A000AEADBFADA497821B930BA40BB50B8FA37F +:10F3B00098A7A9A7BAA7B7FF0BC0B095A09590953D +:10F3C00081959F4FAF4FBF4F8FA398A7A9A7BAA70B +:10F3D0002FA138A549A55AA5D10114962D933D9387 +:10F3E0004D935C9317972091A8163091A9164091E0 +:10F3F000AA165091AB162FAB38AF49AF5AAF6896EB +:10F400004CAC5DAC6EAC7FAC6897421A530A640A90 +:10F41000750A77FE08C07094609450944094411C23 +:10F42000511C611C711CD10118964D925D926D9218 +:10F430007C921B972091AC163091AD164091AE1680 +:10F440005091AF162BAF3CAF4DAF5EAF2396CCAC17 +:10F45000DDACEEACFFAC2397C21AD30AE40AF50A7E +:10F46000F7FE08C0F094E094D094C094C11CD11C65 +:10F47000E11CF11CD1011C96CD92DD92ED92FC9223 +:10F480001F97E0916A08B4E0EB9FF0011124EE5B56 +:10F49000FD4F208131814281538161962CAF3DAF78 +:10F4A0004EAF5FAF619720E030E040E85FE36196E8 +:10F4B0006CAD7DAD8EAD9FAD61970F9432A4882366 +:10F4C000A9F0C701B6010F94D4A461962CAD3DAD4F +:10F4D0004EAD5FAD61970F9407A70F94A1A4D10122 +:10F4E0001C966D937D938D939C931F97A0915602CC +:10F4F000B0915702A436B105A1F0F10124853585FC +:10F50000468557850F946CA924E630E040E050E032 +:10F510000F942BA9D1011C962D933D934D935C9391 +:10F520001F97F10144855585668577858FA198A53C +:10F53000A9A5BAA584179507A607B70714F4DB0198 +:10F54000CA0184159505A605B70514F4D301C201B7 +:10F55000B501A40188169906AA06BB0614F4AC01ED +:10F56000BD01D10150964D935D936D937C9353975C +:10F57000463051056105710508F480C7F101E95B6A +:10F58000FF4F8091680890916908AA2797FDA09580 +:10F59000BA2F80839183A283B383A0962CAD3DAD17 +:10F5A0004EAD5FADA0978BA59CA5ADA5BEA52817B8 +:10F5B00039074A075B0724F0D10158961C9203C013 +:10F5C00081E0F101808FA4962CAD3DAD4EAD5FADD5 +:10F5D000A4978FA598A9A9A9BAA9281739074A07F6 +:10F5E0005B073CF4D10158968C91589782605896ED +:10F5F0008C9368962CAD3DAD4EAD5FAD68978FA9ED +:10F6000098ADA9ADBAAD281739074A075B073CF496 +:10F61000D10158968C915897846058968C93239674 +:10F620002CAD3DAD4EAD5FAD23978BAD9CADADAD7B +:10F63000BEAD281739074A075B073CF4D10158963D +:10F640008C915897886058968C93EF96EEADFFADED +:10F65000EF978081D10159968C9389288A288B282D +:10F6600009F01798F10184819581A681B781892BD2 +:10F670008A2B8B2B09F01698F10180859185A28544 +:10F68000B385892B8A2B8B2B09F01598F101848582 +:10F690009585A685B785892B8A2B8B2B81F1809147 +:10F6A0008516882319F081508093851680918616DF +:10F6B000882319F0815080938616809187168823BD +:10F6C00019F0815080938716EF96AEADBFADEF97DE +:10F6D0008C91813061F030F0823089F480E2809347 +:10F6E000871608C0149880E28093851608C080E2CF +:10F6F0008093861680918516811101C0149AD101DC +:10F700001C962D913D914D915C911F9761962CAF68 +:10F710003DAF4EAF5FAF6197232B242B252B49F5CF +:10F72000B091C016BFA3E091C116EBA71091C2160D +:10F730000091C3162B2F3E2F412F502F6BA92A96D5 +:10F740007FAD2A9724968FAD249726969FAD269756 +:10F750000F9432A487FD1AC0FBA9FFA32A962FADF0 +:10F760002A972BA724961FAD249726960FAD269790 +:10F770000DC03091DC163FA34091DD164BA71091D0 +:10F78000DE160091DF16232F342FD6CF8091A016DE +:10F790009091A116A091A216B091A316A0962CAD9F +:10F7A0003DAD4EAD5FADA097281B390B4A0B5B0BEF +:10F7B000CA01B9010F94D4A42091F0163091F1162A +:10F7C0004091F2165091F3160F9439A46BAB7CABB9 +:10F7D0008DAB9EAB698B7A8B8B8B9C8BA4966CAD1F +:10F7E0007DAD8EAD9FADA4972FA538A949A95AA983 +:10F7F000621B730B840B950B0F94D4A42091F41609 +:10F800003091F5164091F6165091F7160F9439A4E1 +:10F810004B015C016D8B7E8B8F8B988F68966CADE6 +:10F820007DAD8EAD9FAD68972FA938AD49AD5AAD6E +:10F83000621B730B840B950B0F94D4A42091F816C4 +:10F840003091F9164091FA165091FB160F9439A495 +:10F850006B017C01698F7A8F8B8F9C8F23966CADA7 +:10F860007DAD8EAD9FAD23972BAD3CAD4DAD5EAD67 +:10F87000621B730B840B950B0F94D4A42091FC1680 +:10F880003091FD164091FE165091FF160F9439A449 +:10F89000E0916A0834E0E39FF0011124EE5BFD4F34 +:10F8A00020813181428153810F9407A72B013C01B4 +:10F8B0006091560270915702882777FD8095982FA6 +:10F8C0000F94D4A49B01AC01C301B2010F9407A70C +:10F8D00020E030E048EC52E40F9439A46D8F7E8F25 +:10F8E0008F8F98A3D1012D913D914D915C911397EC +:10F8F0002FAB38AF49AF5AAF26303105410551051E +:10F9000004F514964D905D906D907C901797B6E03D +:10F910004B16510461047104A4F4F1014084518434 +:10F9200062847384F6E04F165104610471044CF450 +:10F93000DC01CB01BF77F10186A797A7A0ABB1ABE4 +:10F9400027C06BA97CA98DA99EA90F94FEA72B01A6 +:10F950003C01C501B4010F94FEA79B01AC01C3019A +:10F96000B2010F9459A34B015C01C701B6010F947A +:10F97000FEA79B01AC01C501B4010F9459A30F94DC +:10F98000C0A7D1019E966D937D938D939C93D19743 +:10F99000D1019E962D913D914D915C91D1972D96DF +:10F9A0002CAF3DAF4EAF5FAF2D9760E070E080E8C9 +:10F9B0009FE30F9439A49B01AC016FA17BA5812F1C +:10F9C000902F0F9407A72B013C0110916411809197 +:10F9D0006311181B1F70E12FF0E02596FFAFEEAF0B +:10F9E0002597CF010297069708F03FC0A301920127 +:10F9F00060E074E284E799E40F9439A40F94D7A6E9 +:10FA00006B017C018091101790911117A091121732 +:10FA1000B0911317C816D906EA06FB0630F5BC01EB +:10FA2000CD016C197D098E099F09660F771F881F0C +:10FA3000991F212F30E040E050E00F9409A9CA013E +:10FA4000B9010F94D2A40F94D7A66C0D7D1D8E1D05 +:10FA50009F1D0F94D2A49B01AC0160E074E284E787 +:10FA600099E40F9439A42B013C01A30192012D9636 +:10FA70006CAD7DAD8EAD9FAD2D970F9407A76BAB91 +:10FA80007CAB8DAB9EABD10192966D937D938D93A4 +:10FA90009C93959750966D917D918D919C915397E4 +:10FAA0000F94D2A46FA378A789A79AA7A301920164 +:10FAB0000F9407A70F941FA40F94A6A46B017C01B9 +:10FAC000F10167AB70AF81AF92AF9E012F5E3F4FE8 +:10FAD0003CAF2BAF40E057E16A965FAF4EAF6A97FD +:10FAE000CE0181969EA38DA3DE0111966396BFAFD2 +:10FAF000AEAF63971BA61FA610E80FE3EBADFCADFE +:10FB00006191719181919191FCAFEBAFA301920151 +:10FB10000F9407A76396AEADBFAD63976D937D93CA +:10FB20008D939D936396BFAFAEAF63979B01AC017E +:10FB30005F7729962CAF3DAF4EAF5FAF29976A969E +:10FB4000AEADBFAD6A978D909D90AD90BD906A9619 +:10FB5000BFAFAEAF6A97A501940129966CAD7DAD9C +:10FB60008EAD9FAD29970F9435A61816F4F42996FB +:10FB70002CAD3DAD4EAD5FAD2997C501B4010F94DD +:10FB800039A4862EB72EA82E992E262F372F482F30 +:10FB9000592F6BA57FA5812F902F0F9432A487FD3D +:10FBA00004C08BA6BFA61A2D092DEBADFCAD2DA16F +:10FBB0003EA1E217F30709F0A1CF20E030E040E8D2 +:10FBC0005FE36BA57FA5812F902F0F9432A487FF51 +:10FBD0003EC04E0131E1830E911CAE014F5F5F4F7D +:10FBE0005A012BA53FA5412F502FD5016D917D9135 +:10FBF0008D919C910F9407A7F50161937193819367 +:10FC000091935F01E815F90561F72BA53FA5412FF9 +:10FC1000502F6BA97CA98DA99EA90F9407A7D1018C +:10FC200092966D937D938D939C939597C701B601A2 +:10FC30000F94D2A42BA53FA5412F502F0F9407A7B7 +:10FC40000F94A6A4F10167AB70AF81AF92AF2D9670 +:10FC50002CAD3DAD4EAD5FAD2D976FA178A589A5BB +:10FC60009AA50F9439A46B017C012FA938AD49AD39 +:10FC70005AAD232B242B252B59F5F1018481958135 +:10FC8000A681B781892B8A2B8B2B11F580859185D5 +:10FC9000A285B385892B8A2B8B2BD1F42091D41686 +:10FCA0003091D5164091D6165091D716C701B6019E +:10FCB0000F9407A70F941FA481010D5B1F4F0F9492 +:10FCC000A6A4D8016D937D938D939C931397F6C052 +:10FCD0002091D8163091D9164091DA165091DB1642 +:10FCE000C701B6010F9407A70F941FA40F94A6A4F1 +:10FCF00081010D5B1F4FF8016083718382839383C1 +:10FD00004090B0165090B1166090B2167090B31635 +:10FD10000F94D2A44B015C016FA978AD89AD9AAD67 +:10FD20000F94D4A49B01AC01C501B4010F9407A7A3 +:10FD30002FA138A549A55AA50F9439A44B015C0100 +:10FD4000C301B2010F94D2A49B01AC01C501B4015F +:10FD50000F9435A6181634F4D8014D925D926D9229 +:10FD60007C9213974090B4165090B5166090B616DA +:10FD70007090B716F80160817181828193810F9430 +:10FD8000D2A44B015C01D10114966D917D918D91AE +:10FD90009C9117970F94D4A49B01AC01C501B401A9 +:10FDA0000F9407A72FA138A549A55AA50F9439A4E8 +:10FDB0004B015C01C301B2010F94D2A49B01AC01C1 +:10FDC000C501B4010F9435A618162CF4F801408231 +:10FDD0005182628273824090BC165090BD16609032 +:10FDE000BE167090BF1681010D5B1F4FD8016D913B +:10FDF0007D918D919C910F94D2A44B015C016196F1 +:10FE00006CAD7DAD8EAD9FAD61970F94D4A49B0179 +:10FE1000AC01C501B4010F9407A72FA138A549A5CE +:10FE20005AA50F9439A44B015C01C301B2010F9490 +:10FE3000D2A49B01AC01C501B4010F9435A61816DC +:10FE40002CF4F80140825182628273824090B8168D +:10FE50005090B9166090BA167090BB16D8016D918B +:10FE60007D918D919C910F94D2A44B015C01F10185 +:10FE700060857185828593850F94D4A49B01AC0124 +:10FE8000C501B4010F9407A72FA138A549A55AA50C +:10FE90000F9439A44B015C01C301B2010F94D2A4A9 +:10FEA0009B01AC01C501B4010F9435A6181634F4BA +:10FEB000D8014D925D926D927C921397F101ED5BAA +:10FEC000FF4F60817181828193810F94D2A44B0195 +:10FED0005C01A70196010F9439A461966CAF7DAFC8 +:10FEE0008EAF9FAF6197F10162AB73AB84AB95AB03 +:10FEF0002DEB37E346E051E4C501B4010F9407A7A9 +:10FF00000F94A1A4D10154966D937D938D939C93EE +:10FF100057979296BC91BFA7F101F3A1FFABD10116 +:10FF20009496BC91BBAFF101F5A1FBAB9E012F5E96 +:10FF30003F4F3EA32DA344EC56E15CA74BA7CE0157 +:10FF4000019698A78FA35FA46FA87B2E1F2F00E0B8 +:10FF5000AFA1B8A58D909D90AD90BD90B8A7AFA36F +:10FF6000E894B7F8EBA5FCA5C190D190E190F19091 +:10FF7000FCA7EBA7A7019601C501B4010F9435A614 +:10FF80001816B4F5002379F1252D362D472D512F64 +:10FF9000C501B4010F9407A74B015C012FA53FA930 +:10FFA0004BAD5BA9C701B6010F9407A76B017C019C +:10FFB0009B01AC01C501B4010F9435A61816C4F419 +:10FFC000A5019401C701B6010F9439A49B01AC01AE +:10FFD000652D762D872D912F0F9407A7562E672E0E +:10FFE000782E192F05C05C2C6D2C7E2C1F2D01E066 +:10FFF0002FA138A54DA15EA12417350709F0A8CF80 +:020000022000DC +:10000000852D962DA72DB12F89A39AA3ABA3BCA3B1 +:1000100025968EAD9FAD259702970CF459C190910E +:100020008C169FA3A0918D16ABA700918E161091F0 +:100030008F1627E137EB41ED58E3692F7A2FC8017E +:100040000F9435A618160CF043C1B1E06296BFAF0D +:1000500062972FA53FA94BAD5BA96FA17BA5C801F6 +:100060000F9435A618169CF062961FAE62972FA5C6 +:100070003FA94BAD5BA96FA17BA5C8010F9439A423 +:100080006C966CAF7DAF8EAF9FAF6C9715C02FA1F4 +:100090003BA5A8016FA57FA98BAD9BA90F9439A49F +:1000A0006C966CAF7DAF8EAF9FAF6C97EFA5EFA353 +:1000B000FFA9FBA70BAD1BA920E936E127963FAFAF +:1000C0002EAF279744EC56E1A6965FAF4EAFA697AA +:1000D000CE010196A8969FAF8EAFA897412C512CC8 +:1000E00080E8682E8FE3782E24961FAE24972796FB +:1000F000AEADBFAD27978D909D90AD90BD902796EA +:10010000BFAFAEAF2797A896EEADFFADA897C19051 +:10011000D190E190F190A896FFAFEEAFA8976296CC +:10012000FFAD6297FF2361F06C962CAD3DAD4EADF7 +:100130005FAD6C97C501B4010F9407A74B015C013B +:1001400024962FAD2497222381F0A3019201C501AB +:10015000B4010F9407A74B015C01A3019201C701F1 +:10016000B6010F9407A76B017C01A7019601C50199 +:10017000B4010F9435A620E030E0A9011816CCF4A4 +:10018000C701B6010F9435A618164CF020E030E0F8 +:10019000A901C501B4010F9432A487FF05C0A701CE +:1001A0009601C501B40118C0F7FAF094F7F8F0947D +:1001B0001CC0C701B6010F9432A487FD09C020E01E +:1001C00030E0A901C501B4010F9435A618164CF40E +:1001D000A5019401C701B6010F9458A36B017C01DE +:1001E0000EC0B7FAB094B7F8B094A7019601C50154 +:1001F000B4010F9435A6181614F475016401A6967F +:10020000AEADBFADA6978D909D90AD90BD90A696DA +:10021000BFAFAEAFA697A5019401C701B6010F9479 +:1002200035A6181694F4A7019601C501B4010F94E0 +:1002300039A49B01AC01C301B2010F9407A72B01A4 +:100240003C01B1E02496BFAF24972796EEADFFADF9 +:100250002797E05AF64109F04ACF24963FAD2497FC +:10026000332351F0A30192016FA17BA5C8010F9424 +:1002700007A76FA37BA78C0124EA30E74DE75FE374 +:100280006FA17BA5C8010F9407A76B017C019B019F +:10029000AC01609188167091891680918A169091B0 +:1002A0008B160F9435A61816CCF489A0BAA0ABA073 +:1002B0009CA0A7019601682D7B2D8A2D992D0F9466 +:1002C00035A618165CF48FA2BBA60A2D192D06C000 +:1002D00049A14FA35AA15BA70BA11CA18FA19BA56C +:1002E000D801F10182A793A7A4A7B5A7C9A0DAA056 +:1002F000EBA0FCA0A7019601C701B6010F9407A7C8 +:100300004B015C0161966CAD7DAD8EAD9FAD61978B +:1003100090589B01AC010F9459A32D962CAD3DAD87 +:100320004EAD5FAD2D970F9407A79B01AC01C501A2 +:10033000B4010F9458A30F94C0A7862EB72EA82EF1 +:10034000992E262F372F482F592F6FA17BA5C80133 +:100350000F9432A487FF04C08FA0BBA4A02E912EBF +:10036000882D9B2DAA2DB92DF10186A397A3A0A7B7 +:10037000B1A781E086AB80E1FE013196A0E9B6E14C +:1003800001900D928A95E1F78FA59FA9ABADBBA90E +:1003900080938C1690938D16A0938E16B0938F1623 +:1003A000C0928816D0928916E0928A16F0928B1627 +:1003B0008101045B1F4FD101D7966D917D918D9185 +:1003C0009C91DA970F94D2A42FA53FA94BAD5BA9BE +:1003D0000F9439A4F801608371838283938397011A +:1003E0008601482D5B2D6A2D792DC1010E9459F29D +:1003F0006496FFAD6497F0936411A0962CAD3DAD6B +:100400004EAD5FADA0972093A0163093A1164093F8 +:10041000A2165093A316A4968CAD9DADAEADBFAD04 +:10042000A4978093A4169093A516A093A616B093B4 +:10043000A71668962CAD3DAD4EAD5FAD6897209385 +:10044000A8163093A9164093AA165093AB1623967C +:100450008CAD9DADAEADBFAD23978093AC169093A0 +:10046000AD16A093AE16B093AF16CE0181960E9442 +:1004700022F480916F00826080936F00C959DF4F32 +:100480000FB6F894DEBF0FBECDBFDF91CF911F91A5 +:100490000F91FF90EF90DF90CF90BF90AF909F9023 +:1004A0008F907F906F905F904F903F902F90089526 +:1004B0002F923F924F925F926F927F928F929F9274 +:1004C000AF92BF92CF92DF92EF92FF920F931F9362 +:1004D000CF93DF93CDB7DEB727970FB6F894DEBF83 +:1004E0000FBECDBF362E7F838B83292E49015A0143 +:1004F00027013801DA82C98280919010882309F49B +:1005000063C02091801030918110409182105091F1 +:1005100083108B810F9407A76B017C0120918410BD +:10052000309185104091861050918710C501B4011B +:100530000F9407A79B01AC01C701B6010F9459A303 +:10054000209168103091691040916A1050916B10A1 +:100550000F9459A3F62EE72ED82EC92E209188107D +:100560003091891040918A1050918B10632D7F81BA +:100570008B81922D0F9407A76B837C838D839E8341 +:1005800020918C1030918D1040918E1050918F10D1 +:10059000C501B4010F9407A79B01AC016B817C815D +:1005A0008D819E810F9459A320916C1030916D1014 +:1005B00040916E1050916F100F9459A34B015C0144 +:1005C0003F2CEF82DB822C2C2091F0163091F1161B +:1005D0004091F2165091F316632D7F818B81922DFD +:1005E0000F9407A70F94D7A66093A0167093A11637 +:1005F0008093A2169093A3162091F4163091F516CD +:100600004091F6165091F716C501B4010F9407A753 +:100610000F94D7A66093A4167093A5168093A61680 +:100620009093A716809191108823C9F095018401B9 +:10063000432D5F816B81722D81E990E10E94FD3F26 +:100640009B01AC01C301B2010F9459A32091F8168C +:100650003091F9164091FA165091FB160AC020917C +:10066000F8163091F9164091FA165091FB16C30115 +:10067000B2010F9407A70F94D7A66093A8167093A2 +:10068000A9168093AA169093AB162091FC16309170 +:10069000FD164091FE165091FF16E981FA816081A6 +:1006A0007181828193810F9407A70F94D7A66093DD +:1006B000AC167093AD168093AE169093AF162CEADD +:1006C00036E148EA56E164EA76E180EA96E10F9481 +:1006D000450D10928C1610928D1610928E16109257 +:1006E0008F161092901610929116109292161092E8 +:1006F00093161092941610929516109296161092C8 +:100700009716109298161092991610929A161092A7 +:100710009B1610929C1610929D1610929E16109287 +:100720009F1627960FB6F894DEBF0FBECDBFDF91A0 +:10073000CF911F910F91FF90EF90DF90CF90BF90DE +:10074000AF909F908F907F906F905F904F903F9071 +:100750002F9008952091F8163091F9164091FA16CD +:100760005091FB16FC0160817181828193810F940D +:1007700007A70F94D7A66093A8167093A916809325 +:10078000AA169093AB162CEA36E148EA56E164EAE1 +:1007900076E180EA96E10D94450D2091FC163091AA +:1007A000FD164091FE165091FF16FC01608171818B +:1007B000828193810F9407A70F94D7A66093AC16FC +:1007C0007093AD168093AE169093AF168CEA96E1B7 +:1007D0000D94810D60936D0270936E0280936F0291 +:1007E000909370020895CF92DF92EF92FF920F9351 +:1007F0001F93CF93DF9300D01F92CDB7DEB730EEBB +:10080000C32E36E1D32E40EFE42E46E1F42E00EB6A +:1008100016E1F60161917191819191916F01F7015A +:1008200021913191419151917F0129833A834B83E9 +:100830005C830F94D2A429813A814B815C810F940F +:1008400007A70F94A6A4F8016193719381939193E4 +:100850008F01F0EFCF16F6E1DF06D9F60F900F907B +:100860000F900F90DF91CF911F910F91FF90EF901C +:10087000DF90CF9008958091641190916311891B4E +:100880008F7008953091641120916311321791F0A7 +:10089000E0916411E11101C0E0E1E15022E5E202E2 +:1008A000F0011124EB54FE4E20813181280F391FB5 +:1008B000318320830895509164114091631180E049 +:1008C00090E062E5541761F0649FF0011124EB544D +:1008D000FE4E20813181820F931F4F5F4F70F2CF08 +:1008E00008959091A107911107C09091C00095FFC4 +:1008F000FCCF8093C6000895913031F49091C800E8 +:1009000095FFFCCF8093CE000895CF93DF931F9285 +:100910001F92CDB7DEB78091A10781110FC08091E2 +:10092000C00087FF32C08091C00084FF04C0809166 +:10093000C6008A832AC06091C60010C0813029F5A4 +:100940008091C80087FF21C08091C80084FF04C047 +:100950008091CE00898319C06091CE0020919D07BF +:1009600030919E07C90101968F77992740919F0783 +:100970005091A0078417950741F0F901E35EF84F05 +:10098000608390939E0780939D070F900F90DF9157 +:10099000CF9108950F931F93CF93DF9380912F17DB +:1009A000811109C080912E17811105C080912D17EA +:1009B000882309F495C0E3EFFBE08491EF018823DD +:1009C00029F08FDF2196FE018491F9CFCCEBD7E49B +:1009D000FE0105911491F8018491882321F081DFB3 +:1009E0000F5F1F4FF8CF80912F17882319F1609167 +:1009F00030177091311780913217909133170F94FF +:100A0000D4A42091F0163091F1164091F216509135 +:100A1000F3160F9439A4AB01BC0184EE99E40E9453 +:100A2000E043FE018591949162EE79E40E9471BEEB +:100A30000F94283080912E17882319F16091341774 +:100A40007091351780913617909137170F94D4A471 +:100A50002091F4163091F5164091F6165091F71644 +:100A60000F9439A4AB01BC018EED99E40E94E043E0 +:100A7000FE01859194916CED79E40E9471BE0F9412 +:100A8000283080912D17882319F1609138177091C3 +:100A9000391780913A1790913B170F94D4A4209165 +:100AA000F8163091F9164091FA165091FB160F94F2 +:100AB00039A4AB01BC0188ED99E40E94E043FE013A +:100AC0008591949166ED79E40E9471BE0F9428306F +:100AD0008AE007DF10922F1710922E1710922D1711 +:100AE000DF91CF911F910F91089580912F17811160 +:100AF00007C080912E17811103C080912D1701C06E +:100B000081E010922F1710922E1710922D17089532 +:100B100080912D1710922D17089590917502809352 +:100B20007502892F089590912617809326171092A9 +:100B30002D17892F08950F931F93CF93DF938091E3 +:100B4000651790916617892B09F085C19091641102 +:100B500080916311981771F08091631122E5829F53 +:100B6000C00111248B599E4EFC01E55BFF4F21E033 +:100B7000208302C080E090E0909366178093651711 +:100B8000009709F462C110926817109267170E94CB +:100B9000D0BD109242171092431710924417109232 +:100BA0004517E0916517F091661767A970AD61343C +:100BB0008CE9780728F46132EEE47E0748F002C041 +:100BC00060E47CE9769567957695679584E007C043 +:100BD0006131F7E27F0730F07695679582E0809388 +:100BE0003F1708C081E080933F176032710510F411 +:100BF00060E270E08B0100521109011528E0120734 +:100C0000D0F0812F9927880F991F880F991F88513D +:100C1000924BFC01329645915491AA27059F900171 +:100C2000049F210D3A1F06942A1F3A1F1124FC012C +:100C3000859194911DC0C801969587958C7F8851A8 +:100C4000964BFC01459154910296FC01859194913B +:100C5000B80167707727869F9001879F300D969F18 +:100C6000300D1124B3E036952795BA95E1F7CA0106 +:100C7000821B930B8436910590F4EEE2F5E4C59166 +:100C8000D4918991882311F02CDEFBCF4AE050E00B +:100C9000B8018CE197E00E94573E84E690E0909383 +:100CA0003E1780933D1780913F1780933C17E0914A +:100CB0006517F091661763AD74AD7093411760933B +:100CC000401761348CE9780728F46132EEE47E073E +:100CD00048F002C060E47CE9769567957695679563 +:100CE00084E007C06131F7E27F0730F076956795C1 +:100CF00082E080933F1708C081E080933F17603205 +:100D0000710510F460E270E08B01005211090115C9 +:100D100028E01207E0F0812F9927880F991F880F8C +:100D2000991F8851924BFC01329625913491AA2744 +:100D3000039FA001029F410D5A1F06944A1F5A1F8C +:100D40001124FC0125913491241B350B1EC0C801D0 +:100D5000969587958C7F8851964BFC01259134910F +:100D60000296FC0145915491B80167707727469F20 +:100D7000C001479F900D569F900D112443E096951A +:100D800087954A95E1F7281B390B2436310590F4F5 +:100D9000EEE2F5E4C591D4918991882311F0A1DDAB +:100DA000FBCF4AE050E0B8018CE197E00E94573E4B +:100DB00024E630E0C901A0E0B0E0809346179093AC +:100DC0004717A0934817B093491730938900209391 +:100DD0008800E0916517F091661780899189A28952 +:100DE000B389B695A79597958795B095A095909559 +:100DF00081959F4FAF4FBF4F80935A1790935B17CA +:100E0000A0935C17B0935D17809356179093571774 +:100E1000A0935817B0935917809352179093531774 +:100E2000A0935417B093551780934E1790934F1774 +:100E3000A0935017B093511710924A1710924B1766 +:100E400010924C1710924D1706C080ED97E09093CA +:100E500089008093880010921417E0916517F09133 +:100E60006617309709F4D5C5808D80935E1780FF93 +:100E700007C080910B018D7F80930B018FEF06C01F +:100E800080910B01826080930B0181E0809371025D +:100E900080915E1781FF07C080910B018E7F809348 +:100EA0000B018FEF06C080910B01816080930B01D5 +:100EB00081E08093720220915E173091750220FFCD +:100EC0003EC0332309F477C043B146FB442740F9C1 +:100ED00040936417442381F180912C17882361F19A +:100EE000E0916517F091661780819181A281B381AD +:100EF000181619061A061B06FCF480911517909116 +:100F00001617A0911717B091181780933017909368 +:100F10003117A0933217B093331781E080932F17C6 +:100F200080899189A289B38980934A1790934B173E +:100F3000A0934C17B0934D1740932C173CC033230C +:100F4000D1F146B1441F4427441F40936317442303 +:100F500081F180912B17882361F1E0916517F09161 +:100F6000661780819181A281B381181619061A062D +:100F70001B06FCF48091151790911617A091171776 +:100F8000B09118178093301790933117A0933217B0 +:100F9000B093331781E080932F1780899189A289BC +:100FA000B38980934A1790934B17A0934C17B09333 +:100FB0004D1740932B1721FF3EC0332309F477C010 +:100FC00033B135FB332730F930936217332381F186 +:100FD00080912A17882361F1E0916517F0916617D7 +:100FE00084819581A681B781181619061A061B06F9 +:100FF000FCF48091191790911A17A0911B17B091CA +:101000001C178093341790933517A0933617B0931D +:10101000371781E080932E1780899189A289B3893F +:1010200080934A1790934B17A0934C17B0934D178A +:1010300030932A173CC03323D1F130B132FB332730 +:1010400030F930936117332381F180912917882378 +:1010500061F1E0916517F091661784819581A68111 +:10106000B781181619061A061B06FCF48091191789 +:1010700090911A17A0911B17B0911C1780933417E9 +:1010800090933517A0933617B093371781E080936C +:101090002E1780899189A289B38980934A179093EA +:1010A0004B17A0934C17B0934D173093291780918D +:1010B0000B0122FF49C08B7F80930B018FEF809340 +:1010C000730280917502882309F481C080912617EC +:1010D00081117DC023B122952170209360172223B6 +:1010E00081F180912817882361F1E0916517F091D3 +:1010F000661780859185A285B385181619061A068C +:101100001B06FCF480911D1790911E17A0911F17CC +:10111000B09120178093381790933917A0933A17FE +:10112000B0933B1781E080932D1780899189A28924 +:10113000B38980934A1790934B17A0934C17B093A1 +:101140004D172093281743C0846080930B0131E032 +:1011500030937302809175028823C9F120B12695DE +:101160002170232720935F17222379F1809127177D +:10117000882359F1E0916517F09166178085918574 +:10118000A285B385181619061A061B06F4F4809179 +:101190001D1790911E17A0911F17B09120178093D3 +:1011A000381790933917A0933A17B0933B173093A1 +:1011B0002D1780899189A289B38980934A179093CA +:1011C0004B17A0934C17B0934D172093271780917E +:1011D0002617882381F123B122952170209360176F +:1011E000222339F180912817882319F180911D1746 +:1011F00090911E17A0911F17B09120178093381758 +:1012000090933917A0933A17B0933B1781E08093DE +:101210002D17E0916517F091661780899189A28951 +:10122000B38980934A1790934B17A0934C17B093B0 +:101230004D172093281780915E179FB783FF09C031 +:10124000F89480910B01806480930B019FBF8FEF16 +:1012500008C0F89480910B018F7B80930B019FBF96 +:1012600081E08093740210E080913F17181708F016 +:10127000ACC18CE197E049DBE0916517F09166170E +:1012800080915A1790915B17A0915C17B0915D17F0 +:101290004081518162817381840F951FA61FB71F02 +:1012A00080935A1790935B17A0935C17B0935D17C8 +:1012B000181619061A061B06F4F5409A80911417A1 +:1012C000816080931417E0916517F0916617809103 +:1012D0005A1790915B17A0915C17B0915D174089E8 +:1012E000518962897389841B950BA60BB70B809378 +:1012F0005A1790935B17A0935C17B0935D174091BA +:1013000071028091151790911617A0911717B0913F +:101310001817552747FD5095652F752F840F951F7A +:10132000A61FB71F8093151790931617A093171732 +:10133000B09318174098E0916517F0916617809167 +:10134000561790915717A0915817B091591744818B +:10135000558166817781840F951FA61FB71F8093E3 +:10136000561790935717A0935817B09359171816FC +:1013700019061A061B06F4F5419A8091141782602B +:1013800080931417E0916517F091661780915617B6 +:1013900090915717A0915817B091591740895189CA +:1013A00062897389841B950BA60BB70B8093561724 +:1013B00090935717A0935817B09359174091720202 +:1013C0008091191790911A17A0911B17B0911C17B3 +:1013D000552747FD5095652F752F840F951FA61F24 +:1013E000B71F8093191790931A17A0931B17B093E8 +:1013F0001C174198E0916517F0916617809152177C +:1014000090915317A0915417B0915517408551856D +:1014100062857385840F951FA61FB71F809352178F +:1014200090935317A0935417B09355171816190695 +:101430001A061B06F4F5429A809114178460809373 +:101440001417E0916517F0916617809152179091EB +:101450005317A0915417B09155174089518962894B +:101460007389841B950BA60BB70B8093521790932F +:101470005317A0935417B09355174091730280915E +:101480001D1790911E17A0911F17B0912017552777 +:1014900047FD5095652F752F840F951FA61FB71F09 +:1014A00080931D1790931E17A0931F17B0932017BA +:1014B0004298E0916517F091661780914E179091D0 +:1014C0004F17A0915017B0915117448555856685E7 +:1014D0007785840F951FA61FB71F80934E17909393 +:1014E0004F17A0935017B0935117181619061A06E4 +:1014F0001B060CF042C0439AE0916517F091661705 +:1015000080914E1790914F17A0915017B09151179D +:101510004089518962897389841B950BA60BB70B8F +:1015200080934E1790934F17A0935017B093511775 +:10153000409174028091211790912217A091231756 +:10154000B0912417552747FD5095652F752F840FAF +:10155000951FA61FB71F8093211790932217A09362 +:101560002317B093241743988091671790916817B9 +:101570000196909368178093671780914A1790910E +:101580004B17A0914C17B0914D170196A11DB11D9D +:1015900080934A1790934B17A0934C17B0934D1715 +:1015A00040914A1750914B1760914C1770914D170D +:1015B000E0916517F091661780899189A289B389B6 +:1015C000481759076A077B07B0F040914A175091B6 +:1015D0004B1760914C1770914D17E0916517F09182 +:1015E0006617828D938DA48DB58D84179507A607F8 +:1015F000B70718F4D9C01F5F37CE409146175091F6 +:1016000047176091481770914917048915892689F1 +:101610003789AA27419FB12D529FC001629F900D2B +:10162000619F800D911D429FB00D811D9A1F519F9A +:10163000B00D811D9A1F609FB00D811D9A1F509F94 +:10164000B10D8A1F9A1FB6958A1F9A1F112443ADA8 +:1016500054AD480F591F509341174093401787A925 +:1016600090ADA1ADB2AD60E070E084179507A6071C +:10167000B70720F49093411780934017609140176B +:101680007091411761348CE9780728F46132EEE4F7 +:101690007E0748F002C060E47CE976956795769510 +:1016A000679584E007C06131F7E27F0730F07695F7 +:1016B000679582E080933F1708C081E080933F17D1 +:1016C0006032710510F460E270E08B010052110984 +:1016D000011528E01207E0F0812F9927880F991F44 +:1016E000880F991F8851924BFC01329625913491B5 +:1016F000AA27039FA001029F410D5A1F06944A1F6B +:101700005A1F1124FC0125913491241B350B1EC056 +:10171000C801969587958C7F8851964BFC01259141 +:1017200034910296FC0145915491B8016770772776 +:10173000469FC001479F900D569F900D1124A3E036 +:1017400096958795AA95E1F7281B390B2436310524 +:1017500090F4EEE2F5E4C591D4918991882311F0DB +:10176000C0D8FBCF4AE050E0B8018CE197E00E947E +:10177000573E24E630E03093890020938800809122 +:10178000461790914717A0914817B0914917820FBB +:10179000931FA11DB11D8093461790934717A093E7 +:1017A0004817B0934917F5C040914A1750914B170D +:1017B00060914C1770914D17868D978DA0A1B1A1A6 +:1017C00084179507A607B70708F0D7C040914217BE +:1017D00050914317609144177091451704891589FA +:1017E00026893789AA27419FB12D529FC001629F48 +:1017F000900D619F800D911D429FB00D811D9A1F1C +:10180000519FB00D811D9A1F609FB00D811D9A1FC1 +:10181000509FB10D8A1F9A1FB6958A1F9A1F1124D7 +:101820002091401730914117FF962817390718F477 +:101830002081318102C0281B390B80819181A281D6 +:10184000B381A90160E070E0481759076A077B0778 +:1018500008F49C0121348CE9380728F42132EEE4A5 +:101860003E0748F002C020E43CE9369527953695BE +:10187000279584E007C02131F7E23F0730F0369525 +:10188000279582E080933F1708C081E080933F173F +:101890002032310510F420E230E0890100521109B4 +:1018A000011528E01207E0F0812F9927880F991F72 +:1018B000880F991F8851924BFC01329625913491E3 +:1018C000AA27039FA001029F410D5A1F06944A1F99 +:1018D0005A1F1124FC0125913491241B350B1EC085 +:1018E000C801969587958C7F8851964BFC01259170 +:1018F00034910296FC0145915491B80167707727A5 +:10190000469FC001479F900D569F900D112443E0C4 +:10191000969587954A95E1F7281B390B24363105B2 +:1019200098F4EEE2F5E4C591D4918991882319F0F9 +:101930000F947104FACF4AE050E0B8018CE197E0CF +:101940000E94573E24E630E03093890020938800BF +:101950008091421790914317A0914417B091451779 +:10196000820F931FA11DB11D8093421790934317BF +:10197000A0934417B09345170CC080913D179091E8 +:101980003E17909389008093880080913C17809344 +:101990003F1700914A1710914B1720914C17309127 +:1019A0004D178091651790916617FC014089518908 +:1019B00062897389E0916717F0916817041715071A +:1019C00026073707C0F0BF010E94F8BD10926817C4 +:1019D0001092671710926617109265179091641114 +:1019E000809163119817A9F0809163118F5F8F70B8 +:1019F000809363110EC020916B0230916C02E2174C +:101A0000F3073CF0BF010E94F8BD109268171092D6 +:101A10006717DF91CF911F910F9108951F920F9239 +:101A20000FB60F9211240BB60F922F933F934F9343 +:101A30005F936F937F938F939F93AF93BF93EF9336 +:101A4000FF9379D8FF91EF91BF91AF919F918F91C3 +:101A50007F916F915F914F913F912F910F900BBEAE +:101A60000F900FBE0F901F90189590916411809168 +:101A70006311981749F00F94A21881E00E946F58E3 +:101A800080E00F94186BF1CF0895CF93DF93EFB7F9 +:101A9000F894EC0188819981AA81BB818093151704 +:101AA00090931617A0931717B0931817EB0188811E +:101AB0009981AA81BB818093191790931A17A093DB +:101AC0001B17B0931C17EA0188819981AA81BB81F9 +:101AD00080931D1790931E17A0931F17B093201784 +:101AE000E90188819981AA81BB8180932117909314 +:101AF0002217A0932317B0932417EFBFDF91CF9144 +:101B000008952FB7F894FC0180819181A281B3815F +:101B10008093211790932217A0932317B093241733 +:101B20002FBF08952FB7F89494E0899FF0011124F6 +:101B3000EB5EF84E60817181828193812FBF0895A1 +:101B4000CF93C82FEFDF0F94D4A424E0C29FF001FD +:101B50001124E051F94E20813181428153810F944B +:101B600039A4CF91089581DF179A10926F08169AC1 +:101B700010927008149A089580916F008D7F809361 +:101B80006F009091641180916311981769F09091A2 +:101B90006411809163119817A1F3809163118F5F95 +:101BA0008F7080936311EDCF1092661710926517B6 +:101BB000B19A109285001092840080ED97E0909386 +:101BC00089008093880080916F00826080936F000D +:101BD0000895CF93DF93CDB7DEB72C970FB6F89467 +:101BE000DEBF0FBECDBF8130A1F120F0823009F4FD +:101BF0005FC08FC017982091090122709FB766239C +:101C000029F0F89480910B01826004C0F8948091CF +:101C10000B018D7F80930B019FBF409A8091141719 +:101C200081608093141780E090E0A0E0BFE3898793 +:101C30009A87AB87BC8740989FB7222329F0F894F6 +:101C400080910B01826062C0F89480910B018D7FBE +:101C50005DC016982091090121709FB7662329F075 +:101C6000F89480910B01816004C0F89480910B017D +:101C70008E7F80930B019FBF419A809114178260E1 +:101C8000809314178BEA9AEAAAE2BEE38D839E83BF +:101C9000AF83B88741989FB7222329F0F8948091A9 +:101CA0000B01816033C0F89480910B018E7F2EC0B0 +:101CB00015982091090124709FB7662329F0F894A4 +:101CC00080910B01846004C0F89480910B018B7F9C +:101CD00080930B019FBF429A809114178460809378 +:101CE00014178BEA9AEAAAEABEE389839A83AB8344 +:101CF000BC8342989FB7222329F0F89480910B016E +:101D0000846004C0F89480910B018B7F80930B0159 +:101D10009FBF2C960FB6F894DEBF0FBECDBFDF91EC +:101D2000CF910895EF92FF920F931F93CF93DF937C +:101D30001F92CDB7DEB77B018C01061B170B460F38 +:101D4000C701800F911F49830F945DB0F701819304 +:101D50007F0149814E13F4CF0F90DF91CF911F91F6 +:101D60000F91FF90EF900895DB0181110DC02FEFCF +:101D700030E00F945CA920ED37E040E050E00F9494 +:101D80002BA9B9018EE21DC0813069F42FEF30E03C +:101D90000F945CA920ED37E040E050E00F942BA9B0 +:101DA000B9018DE20EC0823071F42FEF30E00F9454 +:101DB0005CA920ED37E040E050E00F942BA9B90179 +:101DC0008CE20D942E9C089541E065E277E18FEF5F +:101DD0009FE0A8DF61E08EE20F94469D61E08DE216 +:101DE0000F94469D61E08CE20F94469D80912517EB +:101DF000882321F08091DD188823A9F08091760254 +:101E0000909177029093830280938202809178026E +:101E100090917902909385028093840280917A0256 +:101E200090917B0214C080917C0290917D029093EE +:101E300083028093820280917E0290917F02909330 +:101E40008502809384028091800290918102909318 +:101E5000870280938602609182027091830280E003 +:101E600083DF609184027091850281E07DDFA09123 +:101E70008602B09187022FEF30E00F945CA920ED2D +:101E800037E040E050E00F942BA9B9018CE20F94A9 +:101E90002E9C80912101887F81608093210108958B +:101EA000CF93C42F67FD20C0813061F028F08230CD +:101EB00079F0833099F018C088E20F947F9DC7FFB6 +:101EC0001DC02AC085E40F947F9DC7FF1AC024C09F +:101ED00084E40F947F9DC7FF17C01EC081E40F9458 +:101EE0007F9DC7FF14C018C0C7FD16C0813049F0E0 +:101EF00028F0823049F0833051F00EC06C2F89E217 +:101F000008C06C2F87E205C06C2F83E402C06C2FE1 +:101F100082E4CF910D947F9DCF910895643079F044 +:101F200028F4613041F0623041F00895683051F09A +:101F3000603141F0089540E003C040E004C041E05A +:101F400060E002C041E061E0ABCFFF920F931F93CE +:101F5000CF93DF9300D01F921F92CDB7DEB785E0FD +:101F6000E4EFF2E0DE01119601900D928A95E1F71F +:101F700061E088E20F94469D61E089E20F94469DFE +:101F800061E085E40F94469D61E087E20F94469DF1 +:101F900061E084E40F94469D61E083E40F94469DE4 +:101FA00061E081E40F94469D61E082E40F94469DD8 +:101FB0008E010F5F1F4FF12CF80161918F018F2D62 +:101FC000ADDFF394F5E0FF12F7CF0F900F900F9075 +:101FD0000F900F90DF91CF911F910F91FF90089577 +:101FE000F3DEB3DFEAE0F1E080818260808380810C +:101FF000816080838081846080838081806480832D +:102000000F9A179A0E9A169A0D9A159A0C9A149A74 +:1020100026982E9A25982D9A24982C9A3F98479A7C +:102020000A98129A0998119A389A4098179A109219 +:102030006F08399A4198169A109270083A9A429805 +:102040003B9A4398149AA1E8B0E08C918F7E8C93D0 +:102050008C9188608C93E0E8F0E080818D7F8083B4 +:1020600080818E7F808380818F73808380818F7C4D +:1020700080838C91887F82608C9380E090E4909341 +:102080008900809388001092850010928400EFE60A +:10209000F0E080818260808381E080937502789493 +:1020A0000895CF93DF93E8ECF9E48491EF0188235E +:1020B00031F00F9471042196FE018491F8CFE4EC85 +:1020C000F9E48491EF01882331F00F947104219693 +:1020D000FE018491F8CF88E20F94B49D4AE050E06D +:1020E000BC018CE197E00E942D3E89E20F94B49DE3 +:1020F0004AE050E0BC018CE197E00E942D3E8AE06E +:102100000F947104E0ECF9E48491EF01882331F03D +:102110000F9471042196FE018491F8CF85E40F9409 +:10212000B49D4AE050E0BC018CE197E00E942D3E56 +:1021300087E20F94B49D4AE050E0BC018CE197E047 +:102140000E942D3E8AE00F947104ECEBF9E4849137 +:10215000EF01882331F00F9471042196FE018491E0 +:10216000F8CF84E40F94B49D4AE050E0BC018CE1C8 +:1021700097E00E942D3E83E40F94B49D4AE050E026 +:10218000BC018CE197E00E942D3E8AE00F9471041F +:10219000E7EBF9E48491EF01882331F00F947104A7 +:1021A0002196FE018491F8CF81E40F94B49D4AE01A +:1021B00050E0BC018CE197E00E942D3E82E40F9438 +:1021C000B49D4AE050E0BC018CE197E00E942D3EB6 +:1021D0008AE0DF91CF910D94710480938A0260931D +:1021E00089024093880261E00F94469D61E08091EE +:1021F00089020F94469D61E080918A020F947F9D31 +:1022000061E0809189020F947F9D88EE93E00D94A8 +:10221000C19BCF93DF93EC0160E080918A020F9421 +:102220007F9DCE010F94C19B60E0809189020F9445 +:102230007F9DCE01DF91CF910D94C19BCF93DF9312 +:10224000EC0161E0809189020F947F9DCE010F9493 +:10225000C19B61E080918A020F947F9DCE01DF9146 +:10226000CF910D94C19B0F931F93CF93DF93EC01FC +:102270008B0160E080918A020F94469DCE010F94FD +:10228000C19BCE010F94C19B61E0809189020F94A4 +:102290007F9D80918A020F94B49D892B19F401E0EF +:1022A00010E00CC00115110519F400E010E006C0A3 +:1022B00001501109CE010F94C19BEBCF60E08091DA +:1022C00089020F947F9DCE010F94C19B61E08091A4 +:1022D0008A020F94469DCE010F94C19B60E08091CD +:1022E0008A020F947F9DCE010F94C19BC801DF919C +:1022F000CF911F910F910895DF92EF92FF920F936C +:102300001F93CF93DF937C0161E080918A020F9449 +:102310007F9DC7010F94C19B60E080918A020F945A +:10232000469D07E010E0D12C61E0809189020F9476 +:102330007F9DC7010F94C19B80918A020F94B49D29 +:10234000C1E0D0E0892B11F4C0E0D0E0002E01C044 +:10235000CC0F0A94EAF7CD29DC2E60E08091890247 +:102360000F947F9DC7010F94C19B01501109E0F6A6 +:1023700061E080918A020F94469D8C2FDF91CF916E +:102380001F910F91FF90EF90DF900895EF92FF92D1 +:102390000F931F93CF93DF938C01C7E0D0E0E62E1D +:1023A000F12CC7010C2E02C0959587950A94E2F78F +:1023B00080FF02C061E001C060E080918A020F945A +:1023C0007F9DC8010F94C19B61E0809189020F94A9 +:1023D0007F9DC8010F94C19B60E0809189020F949A +:1023E0007F9DC8010F94C19B2197D8F6DF91CF91B3 +:1023F0001F910F91FF90EF9008959F92AF92BF921F +:10240000CF92DF92EF92FF920F931F93CF93DF93C0 +:10241000E82E962E5A0190918802C92FCF7021E0A4 +:1024200030E0A90102C0440F551FCA95E2F7EA0146 +:1024300092959F70690102C0CC0CDD1C9A95E2F761 +:10244000CA01E7DEF12CEE0CFF1C6E2DCE019EDFE3 +:10245000B601CE0108DF8C01009719F4CE01EEDE43 +:1024600024C0692DCE0192DFB601CE01FCDE892B9E +:1024700019F400E010E019C0CE01E0DECE01C9DEA3 +:102480006E2D6160CE0182DFB601CE01ECDE892BBC +:1024900081F3CE0131DF182FCE01D0DEA114B104BB +:1024A00011F0F501108301E010E0C801DF91CF9138 +:1024B0001F910F91FF90EF90DF90CF90BF90AF9062 +:1024C0009F900895BF92CF92DF92EF92FF920F9369 +:1024D0001F93CF93DF93182FB62E6A019091880235 +:1024E000C92FCF7021E030E0A90102C0440F551F71 +:1024F000CA95E2F7EA0192959F70790102C0EE0C4D +:10250000FF1C9A95E2F7CA0184DE612F70E0660F26 +:10251000771FCE013BDFB701CE01A5DE8C0100970E +:1025200019F4CE018BDE18C06B2DCE012FDFB70161 +:10253000CE0199DE892B19F400E010E00DC0F60100 +:102540006081CE0123DFB701CE018DDE892BA1F39F +:10255000CE0174DE01E010E0C801DF91CF911F9140 +:102560000F91FF90EF90DF90CF90BF9008954F9222 +:102570005F926F927F928F929F92AF92BF92CF9213 +:10258000DF92EF92FF920F931F93CF93DF932C0173 +:1025900024E235E581E090E0F9014591549144163B +:1025A00055060CF062C0AC0141505109DA01AA0F86 +:1025B000BB1FAA0FBB1FAE5DBA4AFD0165917491A6 +:1025C000440F551F440F551F405E5A4AFA0165904B +:1025D0007490FC01EE0FFF1FEE0FFF1FEE5DFA4A35 +:1025E000A590B490FD0105911491F901C591D49184 +:1025F000FA0185909490882777FD8095982F0F9405 +:10260000D4A46B017C01B20166197709882777FD94 +:102610008095982F0F94D4A42B013C01B501601B29 +:10262000710B882777FD8095982F0F94D4A49B0178 +:10263000AC01C301B2010F9407A72B013C01BE01FD +:1026400068197909882777FD8095982F0F94D4A46D +:102650009B01AC01C301B2010F9439A49B01AC01F1 +:10266000C701B6010F9459A311C001962C5F3F4FCB +:102670008D33910509F090CFE2E1F6E56591749113 +:10268000882777FD8095982F0F94D4A46B017C0147 +:1026900020E030E040E252E4C701B6010F9435A6D5 +:1026A00087FD1BC020E030E048E452E4C701B601DA +:1026B0000F9432A418168CF020E030E040E252E48F +:1026C000C701B6010F9458A320E030E040E05FE37B +:1026D0000F9407A79B01AC013FC020E030E048E425 +:1026E00052E4C701B6010F9435A618163CF520E058 +:1026F00030E048EC52E4C701B6010F9432A418163A +:10270000ECF020E030E040EA50E4C701B6010F945D +:1027100059A34B015C0120E030E048E452E4C701DA +:10272000B6010F9458A32DEC3CEC4CEC5DE30F94F8 +:1027300007A79B01AC01C501B40110C020E030E047 +:1027400048EC52E4C701B6010F9435A6181654F4AC +:1027500020E030E040E251E4C701B6010F9459A3F4 +:102760006B017C01C701B601DF91CF911F910F91E1 +:10277000FF90EF90DF90CF90BF90AF909F908F90A1 +:102780007F906F905F904F9008959091A107911165 +:1027900007C09091C00095FFFCCF8093C6000895BC +:1027A000913031F49091C80095FFFCCF8093CE001A +:1027B00008954F925F926F927F928F929F92AF9205 +:1027C000BF92CF92DF92EF92FF920F931F93CF931E +:1027D000DF932C0124EA34E581E090E0F901459192 +:1027E0005491441655060CF062C0AC014150510999 +:1027F000DA01AA0FBB1FAA0FBB1FAE55BB4AFD01D2 +:1028000065917491440F551F440F551F40565B4A04 +:10281000FA0165907490FC01EE0FFF1FEE0FFF1F91 +:10282000EE55FB4AA590B490FD0105911491F90174 +:10283000C591D491FA0185909490882777FD809571 +:10284000982F0F94D4A46B017C01B201661977090B +:10285000882777FD8095982F0F94D4A42B013C01F5 +:10286000B501601B710B882777FD8095982F0F9419 +:10287000D4A49B01AC01C301B2010F9407A72B01A3 +:102880003C01BE0168197909882777FD8095982F4A +:102890000F94D4A49B01AC01C301B2010F9439A4DD +:1028A0009B01AC01C701B6010F9459A311C0019659 +:1028B0002C5F3F4F8032910509F090CFEEE1F5E5B6 +:1028C00065917491882777FD8095982F0F94D4A4F3 +:1028D000DF91CF911F910F91FF90EF90DF90CF90FC +:1028E000BF90AF909F908F907F906F905F904F9030 +:1028F000089560E08091F5179091F6175ADF609384 +:10290000F1177093F2178093F3179093F417809157 +:10291000EF179091F0172BDE6093EB177093EC1785 +:102920008093ED179093EE178091E5179091E6173D +:102930001EDE6093E1177093E2178093E317909384 +:10294000E4178FB7F8941092C8178FBF089520919D +:10295000A6023091A7024091A8025091A90260E01E +:1029600070E08FE793E40F9439A46093A8177093F5 +:10297000A9178093AA179093AB17209196023091D4 +:102980009702409198025091990260E070E08FE7C1 +:1029900093E40F9439A460938717709388178093FA +:1029A000891790938A17089597FF03C08091CF17D6 +:1029B00004C0FC01EA57F84E808190E00895CF935F +:1029C000DF93D82FC62FC19561E00F94469D6C2FE1 +:1029D0008D2F0F947F9D6C2F70E08D2FDF91CF9105 +:1029E0000D942E9CCF93C1E020E030E048E452E407 +:1029F0006091F1177091F2178091F3179091F4178D +:102A00000F9435A618160CF0C0E06C2F88E090E00B +:102A1000CF91D5CF1092AC171092AD171092AE1780 +:102A20001092AF172091A6023091A7024091A80200 +:102A30005091A90260E070E08FE793E40F9439A40D +:102A40006093A8177093A9178093AA179093AB1758 +:102A500010928B1710928C1710928D1710928E1760 +:102A600020919602309197024091980250919902DC +:102A700060E070E08FE793E40F9439A460938717C8 +:102A8000709388178093891790938A176D9A9D9AEF +:102A9000809101018860809301010E94EE2F80E8FF +:102AA00088BD80916E00846080936E006AEF70E054 +:102AB00080E090E00F948A9B8FE090E090937F17E6 +:102AC00080937E1760E0809190029091910271DE78 +:102AD00020E030E040E751E40F9432A487FF0AC0C1 +:102AE00080919002909191024097909391028093EF +:102AF0009002E8CF81E391E090938F0280938E0261 +:102B000060E0809180179091811753DE20E030E8DB +:102B100048E953E40F9435A6181654F480918017B1 +:102B20009091811740969093811780938017E8CFFA +:102B300080918C0290918D021ADD20E030E040E718 +:102B400051E40F9432A487FF0AC080918C029091C7 +:102B50008D02409790938D0280938C02E9CF8091F3 +:102B60007C1790917D1703DD20E030E04AEF52E4BE +:102B70000F9435A6181654F480917C1790917D1708 +:102B8000409690937D1780937C17E9CF0895089520 +:102B90001092FA171092F9171092F8171092F7176F +:102BA0001092861775981092F8171092F7171092D6 +:102BB000CF17A59808951F93CF93DF93C82F162F93 +:102BC00081E0809359080F94BC0D809108098823F7 +:102BD00039F01092080960E086E099E00E9405AAA9 +:102BE0000E9453B5D5DF179A10926F08169A10926B +:102BF0007008149AA7D280E00F94186B8FB7F894DE +:102C0000909102019460909302018FBF84EF91E054 +:102C10000F94C19B8FB7F894909102019B7F909382 +:102C200002018FBF84E690E00F94C19BCC2309F48E +:102C300054C00E947255112319F08AE993E502C02D +:102C40008CE893E50F945430E9EFFBE08491EF01B9 +:102C5000882329F09ADD2196FE018491F9CF112372 +:102C600089F1E8E6F3E58491EF01882329F08DDD11 +:102C70002196FE018491F9CF8AE087DD80910101E0 +:102C8000806280930101809101018860809301013D +:102C90009FB7F894809102018062809302019FBFE8 +:102CA0006FEF70E086E00F942E9C8FEF90E0909392 +:102CB00069088093680880ED97E0DF91CF911F91BC +:102CC0000D94C19BE5E4F3E58491EF018823A1F223 +:102CD0005CDD2196FE018491F9CF112319F081E387 +:102CE00093E502C081E293E50F945430E9EFFBE0F5 +:102CF0008491EF01882329F048DD2196FE0184911B +:102D0000F9CF112381F0E8E0F3E58491EF01882306 +:102D100029F03BDD2196FE018491F9CF8AE0DF9115 +:102D2000CF911F9132CDE0EFF2E58491EF0188233E +:102D3000A9F32BDD2196FE018491F9CF2F923F92CA +:102D40004F925F926F927F928F929F92AF92CF92AB +:102D5000DF92EF92FF920F931F93CF93DF93CDB744 +:102D6000DEB72C970FB6F894DEBF0FBECDBF1C01A7 +:102D70002A013B0109831A832B833C83AA2049F053 +:102D800028E631E03A87298780E090E0A0EAB0E4C5 +:102D900008C0ADE2B0E0BA87A98780E090E0A0E784 +:102DA000B1E48D839E83AF83B8870F945B9B0F94B0 +:102DB000D2A48101000F111F000F111FD801AD5FB8 +:102DC000B74E4D012D913D914D915C910F9458A3BB +:102DD00020E030E04AEF54E40F9435A618160CF0CA +:102DE00099C10F945B9B0F94D2A4F401608371830B +:102DF0008283938320E030E0A901C701B6010F94DC +:102E000032A4811107C0F101EE0FFF1FE550F84E0B +:102E10001182108298012D5E374E4901A301920163 +:102E2000D4016D917D918D919C910F9432A4882352 +:102E3000B1F120E030E0A901C301B2010F9435A641 +:102E4000F801ED5DF74E181604F580E090E0A0E87B +:102E5000BFE380839183A283B383F40140825182D4 +:102E600062827382F801EC58F84E89819A81AB81B5 +:102E7000BC8180839183A283B383F101EE0FFF1F96 +:102E8000E059F84E118210820AC01082118212821B +:102E90001382D4014D925D926D927C92139720E043 +:102EA00030E040E85FE3F801ED5DF74E608171814D +:102EB000828193810F9432A481118BC0AA2059F092 +:102EC0002DEC3CEC4CE45FE3C301B2010F9407A787 +:102ED0009B01AC0104C020E030E046E153E469818D +:102EE0007A818B819C810F9432A487FF72C041014B +:102EF000880C991CF401E059F84E8081918101966B +:102F000091838083AA2019F020E130E002C028E0FC +:102F100030E0281739070CF05CC0F801EC58F84E87 +:102F2000208131814281538169817A818B819C81A9 +:102F30000F9458A320E030E040E050E40F9432A416 +:102F40009101220F331F3C872B8787FF09C0F401B3 +:102F5000E459F84E8081918101969183808306C067 +:102F6000EB85FC85E459F84E11821082F401E45996 +:102F7000F84E20813181AA2019F082E090E002C051 +:102F800085E090E0821793079CF48091DD188823F8 +:102F900021F080E090E00F94AE3B6A2D81E00BDEE3 +:102FA0008091DD18882321F08BE590E00F94AE3BF3 +:102FB000F801EC58F84E89819A81AB81BC818083FD +:102FC0009183A283B383EB85FC85E059F84E11828F +:102FD0001082A301920169817A818B819C810F9477 +:102FE00035A687FD19C0D801AD5DB74E4D0120E073 +:102FF00030E040E85FE36D917D918D919C910F945D +:1030000032A4811109C080E090E0A0E0B0E4F401B6 +:1030100080839183A283B38320E030E0A901C701BC +:10302000B6010F9435A618160CF074C02D813E81A0 +:103030004F815885C301B2010F9458A329813A8169 +:103040004B815C810F9432A487FF1AC02D813E8191 +:103050004F815885C301B2010F9459A39B01AC0164 +:1030600069817A818B819C810F9432A487FF08C08B +:10307000F101EE0FFF1FE550F84E118210824AC099 +:10308000F801ED5DF74E20E030E040E85FE360815D +:103090007181828193810F9435A61816DCF5F101B8 +:1030A000EE0FFF1FE550F84E8081918101969183CC +:1030B0008083880F991F29853A852817390754F589 +:1030C0008091DD18882321F080E090E00F94AE3BE2 +:1030D0006A2D80E070DD8091DD188823D9F08AE5C3 +:1030E00090E02C960FB6F894DEBF0FBECDBFDF91F7 +:1030F000CF911F910F91FF90EF90DF90CF90AF9005 +:103100009F908F907F906F905F904F903F902F9007 +:103110000D94AE3B2C960FB6F894DEBF0FBECDBF1C +:10312000DF91CF911F910F91FF90EF90DF90CF90A3 +:10313000AF909F908F907F906F905F904F903F9057 +:103140002F9008952F923F924F925F926F927F92AD +:103150008F929F92AF92BF92CF92DF92EF92FF92A7 +:103160000F931F93CF93DF93CDB7DEB728970FB69A +:10317000F894DEBF0FBECDBFA8958091C8178823F5 +:1031800009F447C3B6DB6091CF1770E080E090E0B0 +:103190000F94D4A46B017C014090E1175090E2178A +:1031A0006090E3177090E4176091F7177091F8172B +:1031B000882777FD8095982F0F94D4A4AB01BC018C +:1031C000AA24A3949301820180E090E0B7DD60918E +:1031D000861770E080E090E00F94D4A46B017C012E +:1031E0004090F1175090F2176090F3177090F41719 +:1031F0006091F9177091FA17882777FD8095982FBD +:103200000F94D4A4AB01BC01A12C9301820181E0F5 +:1032100090E094DD8090F1179090F217A090F31752 +:10322000B090F4170091F9171091FA17B801882798 +:1032300077FD8095982F0F94D4A4A50194010F9445 +:1032400058A36B017C016093B0177093B117809302 +:10325000B2179093B31720E030E040E251E40F94AE +:1032600035A6181624F481E08093A717F7C020E054 +:1032700030E040E251ECC701B6010F9432A487FD63 +:1032800002C0012B21F481E08093A7170CC180912B +:10329000A717882351F01092C4171092C5171092E7 +:1032A000C6171092C7171092A7172091AA02309143 +:1032B000AB024091AC025091AD02C701B6010F9430 +:1032C00007A769837A838B839C836093BC17709371 +:1032D000BD178093BE179093BF172091C4173091EC +:1032E000C5174091C6175091C717C701B6010F9473 +:1032F00059A32B013C012090AC173090AD171091D1 +:10330000AE170091AF179101412F502F0F9432A4A7 +:1033100087FD14C02090A8173090A9171091AA1704 +:103320000091AB179101412F502FB201C3010F94AF +:1033300035A618161CF01201162D072DC101A12F5C +:10334000B02F8093C4179093C517A093C617B0935E +:10335000C7172091A6023091A7024091A802509170 +:10336000A902B101812F902F0F9407A76D837E834F +:103370008F8398876093B8177093B9178093BA17A3 +:103380009093BB172091C0173091C1174091C2177D +:103390005091C317C501B4010F9458A32091A20204 +:1033A0003091A3024091A4025091A5020F9407A767 +:1033B00020ED3CEC4CE45DE30F9407A72B013C01AE +:1033C00023E333E343E75FE36091B4177091B517EC +:1033D0008091B6179091B7170F9407A79B01AC0186 +:1033E000C301B2010F9459A32B013C016093B417A0 +:1033F0007093B5178093B6179093B7172D813E81C0 +:103400004F81588569817A818B819C810F9459A362 +:10341000A30192010F9458A32B013C0120E030E05E +:103420004FE753E40F9435A620E030E0A9011816C9 +:10343000E4F4C701B6010F9435A618167CF4A70171 +:103440009601B101812F902F0F9458A36093C41758 +:103450007093C5178093C6179093C717412C512CB2 +:103460001FE7612E13E4712E21C0C301B2010F9436 +:1034700032A487FF1BC020E030E0A901C701B601DC +:103480000F9432A487FF0FC0A7019601B101812FCD +:10349000902F0F9458A36093C4177093C51780930F +:1034A000C6179093C717412C512C32018092C01738 +:1034B0009092C117A092C217B092C31760917E1765 +:1034C00070917F17882777FD8095982F0F94D4A44B +:1034D0009B01AC01C501B4010F9435A61816DCF4AC +:1034E00060918E0270918F02882777FD8095982FCA +:1034F0000F94D4A49B01AC01C501B4010F9432A474 +:1035000087FF09C0C301B2010F94A1A47595679507 +:103510006093861702C0109286170F945B9B0091F0 +:103520008217109183172091841730918517601BA3 +:10353000710B820B930B693E73408105910558F026 +:1035400051DA0F945B9B609382177093831780937B +:103550008417909385178090E1179090E217A090C0 +:10356000E317B090E4176091F7177091F817882768 +:1035700077FD8095982F0F94D4A4A50194010F9402 +:1035800058A36B017C0160938F1770939017809301 +:1035900091179093921720919A0230919B0240913B +:1035A0009C0250919D020F9407A769837A838B83B5 +:1035B0009C8360939B1770939C1780939D179093A7 +:1035C0009E172091A3173091A4174091A5175091F1 +:1035D000A617C701B6010F9459A38B011C01609077 +:1035E0008B1770908C1750908D1740908E17930109 +:1035F000452D542D0F9432A487FD11C0609087177C +:10360000709088175090891740908A179301452D24 +:10361000542DB801C1010F9435A618161CF483016E +:10362000252C342CC801D1018093A3179093A417A3 +:10363000A093A517B093A6172091960230919702F8 +:103640004091980250919902B801C1010F9407A7C7 +:103650006D837E838F8398876093971770939817F5 +:103660008093991790939A1720919F173091A017E4 +:103670004091A1175091A217C501B4010F9458A30E +:1036800020919202309193024091940250919502C0 +:103690000F9407A720ED3CEC4CE45DE30F9407A7E3 +:1036A0002B013C0123E333E343E75FE3609193178E +:1036B0007091941780919517909196170F9407A782 +:1036C0009B01AC01C301B2010F9459A32B013C0132 +:1036D0006093931770939417809395179093961710 +:1036E00080929F179092A017A092A117B092A21754 +:1036F0002D813E814F81588569817A818B819C81A2 +:103700000F9459A3A30192010F9458A32B013C01DC +:1037100020E030E04FE753E40F9435A620E030E09E +:10372000A9011816ACF4C701B6010F9435A61816F6 +:103730006CF5A7019601B801C1010F9458A36093DD +:10374000A3177093A4178093A5179093A6171EC074 +:10375000C301B2010F9432A487FF22C020E030E001 +:10376000A901C701B6010F9432A487FF16C0A701B3 +:103770009601B801C1010F9458A36093A3177093E9 +:10378000A4178093A5179093A61707C0412C512C1E +:10379000AFE76A2EA3E47A2E03C0412C512C3201EC +:1037A00020E030E040E751E4C501B4010F9435A6B4 +:1037B00018169CF420E030E04AEF52E4C501B40151 +:1037C0000F9432A487FF09C0C301B2010F94A1A4D2 +:1037D000759567956093CF1702C01092CF17289602 +:1037E0000FB6F894DEBF0FBECDBFDF91CF911F9112 +:1037F0000F91FF90EF90DF90CF90BF90AF909F9090 +:103800008F907F906F905F904F903F902F900C948F +:103810000B4628960FB6F894DEBF0FBECDBFDF91E2 +:10382000CF911F910F91FF90EF90DF90CF90BF90BD +:10383000AF909F908F907F906F905F904F903F9050 +:103840002F9008952F923F924F925F926F927F92A6 +:103850008F929F92AF92BF92CF92DF92EF92FF92A0 +:103860000F931F93CF93DF93CDB7DEB7E7970FB6D4 +:10387000F894DEBF0FBECDBF6F8F78A389A39AA344 +:103880005B874A873DA72CA73093D2172093D11787 +:103890001092D0171092D4171092D3170F945B9BED +:1038A0006B017C014A845B8457FE03C00DE20FA3C9 +:1038B00002C01AE01FA30F945B9B68A779A78AA791 +:1038C0009BA74A845B84141415041CF00DED14E0CE +:1038D0000BC000EF14E0D8018D918D01882309F40D +:1038E00055C20F94C513F7CFF80181918F0188233A +:1038F00019F00F94C513F8CF8AE00F94C51348D977 +:103900004A845B848FE7452871F18093CF17CC8A76 +:10391000DD8AEE8AFF8AC88AD98AEA8AFB8A1986F2 +:10392000198200E40C8F1CE11D8F06E40E8F188EA7 +:10393000198E1A8E1B8E3FE7432E512C612C712C51 +:103940004D825E826F8278864AAA5BAA6CAA7DAAA3 +:103950001BA21CA21DA21EA201E00C87212C312C4F +:103960001FAA1EAA06C080938617D1CF80E00F94AD +:10397000186BA8958091C817882309F402C10F9489 +:1039800079144A845B84452859F02090E1173090DF +:10399000E2175090E3175FAA6090E4176EAA0AC07E +:1039A0002090F1173090F2177090F3177FAA0091D2 +:1039B000F4170EAB91014FA95EA9688D798D8A8DA0 +:1039C0009B8D0F9435A6181634F0288E398E1FA9BA +:1039D0001A8F4EA84B8E91014FA95EA969817C8DEB +:1039E0008D8D9E8D0F9432A487FD06C029823C8E5A +:1039F0005FA85D8E6EA86E8E0F945B9B48A459A441 +:103A00006AA47BA46419750986099709653C794005 +:103A10008105910540F00F94F2140F945B9B68A709 +:103A200079A78AA79BA71C85112309F451C02F8D64 +:103A300038A149A15AA1B1018FA99EA90F9435A619 +:103A400018160CF09EC00F945B9B4C885D886E88A6 +:103A50007F8864197509860997096938734181055A +:103A6000910508F48EC08AA99BA9ACA9BDA94D8077 +:103A70005E806F80788484199509A609B7096A84E5 +:103A80007B84B595A79597958795672819F08093BE +:103A9000CF1702C0809386170F945B9B688B798B3E +:103AA0008A8B9B8B2B013C010C891D892E893F89B8 +:103AB000401A510A620A730A4BA25CA26DA27EA24E +:103AC0001F8D188F48A0498E59A05A8E6AA06B8E00 +:103AD0002F8D38A149A15AA1B1018FA99EA90F9498 +:103AE00032A487FF32C30F945B9B488859886A8849 +:103AF0007B886419750986099709693873418105BE +:103B0000910508F422C30F945B9B6C8B7D8B8E8B8D +:103B10009F8BAB01BC014419550966097709809157 +:103B2000D3179091D417181619060CF43AC18D8149 +:103B30009E81AF81B8854AA85BA86CA87DA8840D3A +:103B4000951DA61DB71D6A847B84B595A79597958D +:103B50008795672809F4F6C28093CF178091D31711 +:103B60009091D41701969093D4178093D3177F8C9C +:103B7000798208A10C8F19A11D8F4AA04E8E01E0F9 +:103B80000C8720E030E040EA51E46F8D78A189A1F4 +:103B90009AA10F9459A39B01AC01B1018FA99EA9D1 +:103BA0000F9435A6181674F4EFE2F4E584918F01B2 +:103BB000882309F4EBC00F94C5130F5F1F4FF80162 +:103BC0008491F6CF0F945B9B6C197D098E099F0938 +:103BD000613D77408105910508F492C04A845B8479 +:103BE000452881F0E090CF17F12CECE2F4E58491C8 +:103BF0008F018823B9F00F94C5130F5F1F4FF80191 +:103C00008491F7CFE0908617F12CE9E2F4E58491F6 +:103C10008F01882339F00F94C5130F5F1F4FF801F0 +:103C20008491F7CF22E030E0A1016FA97EA98CE159 +:103C300097E00E94E93EE5E2F4E584918F01882354 +:103C400039F00F94C5130F5F1F4FF8018491F7CF20 +:103C50004AE050E0B7018CE197E00E942D3E8AE0F7 +:103C60000F94C5134984442009F43EC05FA0451455 +:103C700018F4042D0F5F3FC019854FA014113CC0EC +:103C80001F5F19872EA53FA548A959A9B1018FA982 +:103C90009EA90F9458A36B017C0120E030E0A9019C +:103CA0000F9435A618165CF420E030E040EA50E4AA +:103CB000C701B6010F9432A487FF1EC00AC020E0DE +:103CC00030E040EA50ECC701B6010F9435A6181653 +:103CD0009CF46B85661F6627661F80E00F94DB15DA +:103CE00081E08093D01733C22EA63FA65FA858AAC2 +:103CF0006EA869AA01E009870F945B9B6B017C01A8 +:103D00000F945B9B4B015C010F945B9B0C891D899D +:103D10002E893F89488859886A887B88040D151D3B +:103D2000261D371D801A910AA20AB30A860E971E15 +:103D3000A81EB91E01E880160FE4900602E1A00655 +:103D4000B10468F0E8E0F4E584918F018823F1F094 +:103D50000F94C5130F5F1F4FF8018491F7CF809127 +:103D6000D3179091D4174CA45DA4481659060CF0B3 +:103D7000FDCDECEAF3E584918F01882339F00F94AF +:103D8000C5130F5F1F4FF8018491F7CF8AE00F949E +:103D9000C51381E08093D0171092D4171092D317D7 +:103DA000D6C14BA05CA06DA07EA0440E551E661E21 +:103DB000771E0BA11CA12DA13EA1041B150B260BE8 +:103DC000370BC901B8012D813E814F8158850F9471 +:103DD000C6A8A30192010F942BA98AA99BA9ACA9FB +:103DE000BDA9280F391F4A1F5B1F2431310541052A +:103DF00051051CF12AAB3BAB4CAB5DAB2C3E310506 +:103E00004105510544F00BEE10E020E030E00AAB34 +:103E10001BAB2CAB3DAB2AA93BA94CA95DA9203813 +:103E2000310541055105D4F08EEF90E0A0E0B0E0FF +:103E3000821B930BA40BB50B15C004E110E020E02E +:103E400030E00AAB1BAB2CAB3DAB24E130E040E0F3 +:103E500050E02D833E834F83588708C08AA99BA9D1 +:103E6000ACA9BDA98D839E83AF83B887E8E9F4E54B +:103E700084918F01882339F00F94C5130F5F1F4F72 +:103E8000F8018491F7CF2AE030E04AA95BA96CA938 +:103E90007DA98CE197E00E941B3EE3E9F4E5849163 +:103EA0008F01882339F00F94C5130F5F1F4FF8015E +:103EB0008491F7CF2AE030E04D815E816F81788573 +:103EC0008CE197E00E941B3EECE8F4E584918F01C1 +:103ED000882339F00F94C5130F5F1F4FF8018491A9 +:103EE000F7CF22E030E049815C8D6D8D7E8D8CE1D5 +:103EF00097E00E94E93EE5E8F4E584918F0188238C +:103F000039F00F94C5130F5F1F4FF8018491F7CF5D +:103F100022E030E0488D598D6A8D7B8D8CE197E0F1 +:103F20000E94E93E8AE00F94C5138091D3179091C7 +:103F3000D41703970CF4FBCD6D817E818F8198851A +:103F40000F94D4A420E030E040E850E40F9407A799 +:103F50004B015C0129813C8D4D8D5E8D688D798D85 +:103F60008A8D9B8D0F9458A320ED3FE049E450E4E7 +:103F70000F9407A720E030E040E05FE30F9407A72D +:103F80009B01AC01C501B4010F9439A44B015C0144 +:103F9000C301B2010F94D4A420E030E04AE754E416 +:103FA0000F9439A42B013C01EFE7F4E584918F01D4 +:103FB000882339F00F94C5130F5F1F4FF8018491C8 +:103FC000F7CF22E030E0B501A4018CE197E00E9438 +:103FD000E93EE9E7F4E584918F01882339F00F94F5 +:103FE000C5130F5F1F4FF8018491F7CF22E030E037 +:103FF000B301A2018CE197E00E94E93E8AE00F94B0 +:10400000C5132AE939E949E15FE3C501B4010F9419 +:1040100007A74B015C016093DD177093DE17809357 +:10402000DF179093E0179B01AC010F9459A3A301F4 +:1040300092010F9439A46093D9177093DA17809383 +:10404000DB179093DC17A3019201C501B4010F9413 +:1040500007A720E030E040E05EE30F9407A76093FD +:10406000D5177093D6178093D7179093D817EBE690 +:10407000F4E584918F01882339F00F94C5130F5F05 +:104080001F4FF8018491F7CF8AE00F94C513E5E63E +:10409000F4E584918F01882339F00F94C5130F5FE5 +:1040A0001F4FF8018491F7CF4091DD175091DE1733 +:1040B0006091DF177091E01722E030E08CE197E02B +:1040C0000E94E93E8AE00F94C513EFE5F4E5849180 +:1040D0008F01882339F00F94C5130F5F1F4FF8012C +:1040E0008491F7CF4091D9175091DA176091DB177F +:1040F0007091DC1722E030E08CE197E00E94E93E0D +:104100008AE00F94C513E9E5F4E584918F018823D3 +:1041100039F00F94C5130F5F1F4FF8018491F7CF4B +:104120004091D5175091D6176091D7177091D81735 +:1041300022E030E08CE197E00E94E93E8AE00F94B3 +:10414000C513F5CC8093861709CD1C861ACDE7964A +:104150000FB6F894DEBF0FBECDBFDF91CF911F9198 +:104160000F91FF90EF90DF90CF90BF90AF909F9016 +:104170008F907F906F905F904F903F902F90089519 +:104180001F93CF93DF93182F0F94C8150E94B35538 +:1041900081112AC0E9EFFBE08491EF01882331F01F +:1041A0000F94C5132196FE018491F8CF612F70E022 +:1041B0004AE050E08CE197E00E942D3E8AE00F94A7 +:1041C000C513E3ECF2E58491EF01882331F00F94FD +:1041D000C5132196FE018491F8CF8AE00F94C51390 +:1041E00086EB92E50F9454300E9472558091010144 +:1041F00080628093010180910101886080930101B8 +:10420000809101018460809301019FB7F8948091AF +:1042100002018860809302019FBF9FB7F89480914C +:1042200002018062809302019FBF9FB7F894809142 +:1042300002018460809302019FBF8FEF90E0909312 +:104240006908809368088091DD18882339F08DE52E +:1042500090E0DF91CF911F910D94AE3BDF91CF9114 +:104260001F9108951F93CF93DF93182F0F94C815B4 +:104270000E94B35581112AC0E9EFFBE08491EF0160 +:10428000882331F00F94C5132196FE018491F8CF55 +:10429000612F70E04AE050E08CE197E00E942D3EF3 +:1042A0008AE00F94C513E9E8F2E58491EF018823D1 +:1042B00031F00F94C5132196FE018491F8CF8AE066 +:1042C0000F94C5138CE792E50F9454300E947255F9 +:1042D0008091DD18882339F08CE590E0DF91CF9153 +:1042E0001F910D94AE3BDF91CF911F910895CF9315 +:1042F000DF93A5980E94B35581111FC0E9EFFBE041 +:104300008491EF01882331F00F94C5132196FE01AB +:104310008491F8CFE3E4F2E58491EF01882331F052 +:104320000F94C5132196FE018491F8CF8AE00F9473 +:10433000C51382E392E50F945430DF91CF910C9432 +:104340007255CF93DF93A5980E94B35581111FC07A +:10435000E9EFFBE08491EF01882331F00F94C5135E +:104360002196FE018491F8CFE9EFF1E58491EF0108 +:10437000882331F00F94C5132196FE018491F8CF64 +:104380008AE00F94C51388EE91E50F945430DF91C5 +:10439000CF910C94725580913B1990913C19909358 +:1043A000F6178093F51780913F19909140199093DB +:1043B000E6178093E51780914119909142199093E7 +:1043C000F0178093EF1780914319909144199093BF +:1043D000EA178093E91780914719909148199093B3 +:1043E000E8178093E71781E08093C817089520911C +:1043F000F5173091F61780918017909181178217E9 +:10440000930714F080E0BCDE2091E5173091E617A9 +:1044100080917C1790917D17821793072CF0109252 +:10442000F8171092F71763CF08952091F517309180 +:10443000F61780919002909191022817390714F095 +:1044400080E010CF08952091E5173091E617809114 +:104450008C0290918D02281739070CF072CF0895C5 +:10446000E4DFF1CF1F920F920FB60F9211240BB61B +:104470000F920F931F932F933F934F935F936F93DD +:104480007F938F939F93AF93BF93CF93DF93EF93DC +:10449000FF9380916B17811168C081E080936B1747 +:1044A00078948091C817811103C00E94353002C0F2 +:1044B0009EDFD6DF0F945C3080918B02811112C099 +:1044C0008091861780936A17882311F0759A01C02E +:1044D00075988091CF1780936917882311F0A59A5A +:1044E00001C0A59890916A1780918B02981708F4E3 +:1044F00075989091691780918B02981708F4A59888 +:1045000080918B028F5F8F7780938B02C0E0D0E029 +:104510008C2F8E01000F111FF801E753F84E2081F8 +:1045200031811216130664F4F89461E08C2F0F9415 +:10453000E90DF801E753F84E8081918101970CC095 +:10454000232B69F0F89460E00F94E90DF801E7532C +:10455000F84E808191810196918380837894219691 +:10456000C330D105A9F610926B17FF91EF91DF913F +:10457000CF91BF91AF919F918F917F916F915F91FB +:104580004F913F912F911F910F910F900BBE0F9064 +:104590000FBE0F901F9018952CEA35EC47E25EE3B2 +:1045A0000D9407A72CEA35EC47E25EE30D9439A49D +:1045B0002CEA35EC47E25EE30D9439A42CEA35ECA5 +:1045C00047E25EE30D9407A7FC019491903249F015 +:1045D000892F8B7F893029F081E09A3019F080E0B3 +:1045E000089581E00895CF93DF93CDB7DEB7C0542F +:1045F000D1090FB6F894DEBF0FBECDBF88E0E9EF5A +:10460000F2E0DE01D99601900D928A95E1F788E0FB +:10461000E1E0F3E0DE01D19601900D928A95E1F799 +:1046200088E0E9E0F3E0DE01999601900D928A9529 +:10463000E1F788E0E1E1F3E0DE01919601900D926F +:104640008A95E1F788E0E9E1F3E0DE01599601900F +:104650000D928A95E1F788E0E1E2F3E0DE01519600 +:1046600001900D928A95E1F788E0E9E2F3E0DE013E +:10467000199601900D928A95E1F788E0E1E3F3E065 +:10468000DE01119601900D928A95E1F7AE01475C2B +:104690005F4F60E08CE598E10E94E33BAE014F5C28 +:1046A0005F4F61E08CE598E10E94E33BAE01475D1E +:1046B0005F4F62E08CE598E10E94E33BAE014F5D05 +:1046C0005F4F63E08CE598E10E94E33BAE01475EFB +:1046D0005F4F64E08CE598E10E94E33BAE014F5EE2 +:1046E0005F4F65E08CE598E10E94E33BAE01475FD8 +:1046F0005F4F66E08CE598E10E94E33BAE014F5FBF +:104700005F4F67E08CE598E10E94E33BC05CDF4FC0 +:104710000FB6F894DEBF0FBECDBFDF91CF910895E5 +:104720000F931F93CF93DF93EB01142F022F482F8A +:1047300060E08CE598E10E945B39612F8CE598E19F +:104740000F941B9E11E1FE016491662311F011117B +:1047500017C0112339F060E28CE598E10F941B9E9D +:104760001150F7CF602F8CE598E10F941B9E60E20B +:104770008CE598E1DF91CF911F910F910D941B9ED5 +:104780008CE598E10F941B9E21961150DCCFEF929F +:10479000FF920F931F93CF93DF93EB01E42E8901D8 +:1047A000F90101900020E9F7F22EFE1A92E1F90ECC +:1047B000482F60E08CE598E10E945B396E2D8CE516 +:1047C00098E10F941B9EFE016491662311F0F11095 +:1047D00019C06AE38CE598E10F941B9EFF2039F025 +:1047E00060E28CE598E10F941B9EFA94F7CFB80134 +:1047F0008CE598E1DF91CF911F910F91FF90EF90A1 +:104800000D941A9E8CE598E10F941B9E2196FA94C4 +:10481000DACFCF92DF92EF92FF920F931F93CF9355 +:10482000DF93D82EC62E7A01E901482F8CE598E156 +:104830000E945B3981E0E816F10469F182E0E81634 +:10484000F10409F04FC0BE018CE598E10F941A9E67 +:10485000FE0101900020E9F73197EC1BFD0B6C2D58 +:104860006E0F4D2D8CE598E10E945B3965E873E091 +:104870008CE598E10F941A9EFE0101900020E9F763 +:104880006C2D6C1B6E0F4D2D8CE598E10E945B39F1 +:104890006AE175E028C0BE018CE598E10F941A9E8C +:1048A000FE0101900020E9F73197EC1BFD0B6C2D08 +:1048B0006E0F4D2D8CE598E10E945B3965E873E041 +:1048C0008CE598E10F941A9EFE0101900020E9F713 +:1048D0006C2D6C1B6E0F4D2D8CE598E10E945B39A1 +:1048E000B80101C0BE018CE598E1DF91CF911F9125 +:1048F0000F91FF90EF90DF90CF900D941A9E8093D0 +:10490000CC0891E09093B202682F8EEF9FE00F9455 +:104910006FB080914618813019F482E08093461878 +:104920000895EFE3FBE0608181E0682760838BEB13 +:104930009FE00D946FB0CF938091010184608093CC +:104940000101CAE09FB7F8948091020184608093CE +:1049500002019FBF84E690E00F94C19B9FB7F8943B +:10496000809102018B7F809302019FBF84E690E0DB +:104970000F94C19BC15031F7CF91089582E080938D +:10498000AF021092C718D7CF1092E51886E099E0D1 +:104990000E94B8B310925A1808950F93F894E091BA +:1049A000B002F091B102E817F907D1F09093B1028B +:1049B0008093B0024093551850935618609357183F +:1049C000709358187894002339F08DE1E7EEF8E100 +:1049D000DF011D928A95E9F7222319F00F91CECFBE +:1049E00078940F9108950F9361E080EC9FE00F940D +:1049F0006FB060E08FEB9FE00F946FB060E08EEBE4 +:104A00009FE00F946FB060E08DEB9FE00F946FB06C +:104A100060E08CEB9FE00F946FB001E020E040E09D +:104A200050E0BA018AE891E0B8DF1092F7180F91D0 +:104A300008950F93DC01FB01CA01A901F8942091AC +:104A4000B0023091B1023093E8182093E71820911A +:104A50005518309156183093EA182093E918789435 +:104A600022E02093AF02B093EC18A093EB18709360 +:104A7000EE186093ED18AA2797FDA095BA2F8093A2 +:104A8000EF189093F018A093F118B093F2186627DE +:104A900057FD6095762F481B590B6A0B7B0B409393 +:104AA000F3185093F4186093F5187093F61840813A +:104AB0005181662757FD6095762F481B590B6A0B6D +:104AC0007B0B00E021E082E691E067DF0F91089523 +:104AD0000F936091070281E068276093070287E8DF +:104AE0009FE00F946FB001E021E048E050E060E00B +:104AF00070E084E591E051DF0F9108950F9301E09C +:104B000021E040E050E0BA0148DF0F9108957F9224 +:104B10008F929F92AF92BF92CF92DF92EF92FF92CD +:104B20000F931F93CF93DF93809155189091561850 +:104B3000A0915718B091581881309048A105B1053F +:104B400040F0109255181092561810925718109263 +:104B500058188091551890915618A0915718B091F7 +:104B6000581840915A1850E060E070E0841795079B +:104B7000A607B70710F480935A18A0905A1890907F +:104B80005B1892FA992490F8B12C88248394809130 +:104B90004618811127C0AA2019F07724739425C0E4 +:104BA0008091AF028823D9F0E091CC08F0E0EE0FBD +:104BB000FF1FEE58FA4B65917491809155189091B2 +:104BC0005618A0915718B091581823E0892B8A2BBA +:104BD0008B2B11F443E001C040E28B2DA1DD91103D +:104BE0000DC0DBCF8230D9F0712C0CE017E4C0E0AF +:104BF000D0E0CA2CD12CE12CF12C60C0809155184A +:104C000090915618A0915718B0915818892B8A2B5B +:104C10008B2B09F0C2CFB2DE84E591E034C0A11045 +:104C2000BCCF8091AF028823D9F0E091CC08F0E0AE +:104C3000EE0FFF1FEA51FB4B65917491809155185F +:104C400090915618A0915718B091581823E0892BCD +:104C50008A2B8B2B11F443E001C040E28B2D60DDE9 +:104C6000992009F49ACF8091551890915618A091E7 +:104C70005718B0915818892B8A2B8B2B09F08DCFA0 +:104C80007DDE88E391E0DF91CF911F910F91FF903E +:104C9000EF90DF90CF90BF90AF909F908F907F90DC +:104CA0002DCF8091AF0281110CC0911021C073945F +:104CB00021960E5F1F4FC230D105B9F17A10F7CFA0 +:104CC000F0CFF80165917491809155189091561824 +:104CD000A0915718B091581820E28C159D05AE058B +:104CE000BF0511F44EE301C040E28B2D19DDDDCF8D +:104CF0008091551890915618A0915718B091581856 +:104D00008C159D05AE05BF0591F638DE8C2FDF9121 +:104D1000CF911F910F91FF90EF90DF90CF90BF90B8 +:104D2000AF909F908F907F90EACD472D50E060E04C +:104D300070E08091551890915618A0915718B09135 +:104D4000581884179507A607B70780F0472D50E03D +:104D500041505109662757FD6095762F40935518AD +:104D600050935618609357187093581840915518DF +:104D700080915A1890E00396242F30E08217930711 +:104D80005CF48DEF840F80935A188092AF028CEF01 +:104D9000A82EA40EBB24BA94B394A39483E08B15DD +:104DA00008F0F5CEDF91CF911F910F91FF90EF901A +:104DB000DF90CF90BF90AF909F908F907F9008959D +:104DC0000F9301E021E040E050E0BA01E6DD0F91F1 +:104DD0000895AF92BF92CF92DF92EF92FF920F931E +:104DE0001F93CF93DF938091551890915618A091FF +:104DF0005718B091581881309048A105B10540F07E +:104E00001092551810925618109257181092581860 +:104E10008091551890915618A0915718B091581834 +:104E200040915A1850E060E070E084179507A6079B +:104E3000B70710F480935A1800915A18B0905B1875 +:104E4000B2FABB24B0F810E0C0EBD6E474E0C72E91 +:104E5000D12CE12CF12CAA24A39480915518909187 +:104E60005618A0915718B0915818011135C02091CB +:104E7000AF02222399F0E091CC08F0E0EE0FFF1F83 +:104E8000EE58FA4B6591749123E0892B8A2B8B2B7A +:104E900011F443E001C040E2812F42DCBB2009F461 +:104EA000D0C08091551890915618A0915718B09184 +:104EB0005818892B8A2B8B2B09F0C3C05FDD84E542 +:104EC00091E0DF91CF911F910F91FF90EF90DF90D4 +:104ED000CF90BF90AF9012CE013059F52091AF0224 +:104EE000222399F0E091CC08F0E0EE0FFF1FE4558B +:104EF000F94B659174912EE70197A105B10511F465 +:104F00004EE301C040E2812F0BDCBB2009F499C0C5 +:104F10008091551890915618A0915718B091581833 +:104F20000197A105B10509F08CC028DD86E791E065 +:104F30007DC0023059F52091AF02222399F0E09113 +:104F4000CC08F0E0EE0FFF1FE855F94B6591749126 +:104F50002EE70297A105B10511F44EE301C040E22E +:104F6000812FDEDBBB2009F46CC080915518909135 +:104F70005618A0915718B09158180297A105B1057D +:104F800009F05FC0FBDC8AE791E050C0033051F5C7 +:104F90002091AF02222399F0E091CC08F0E0EE0FCF +:104FA000FF1FEC55F94B659174912EE70397A1050E +:104FB000B10511F44EE301C040E2812FB1DBBB200B +:104FC00009F43FC08091551890915618A091571838 +:104FD000B09158180397A105B10599F5CFDC8CE67F +:104FE00091E024C0043069F52091AF02222369F0DA +:104FF000FE01659174912EE70497A105B10511F4A6 +:105000004EE301C040E2812F8BDBBB20D1F08091C9 +:10501000551890915618A0915718B09158180497A8 +:10502000A105B10571F4AADC88E891E0DF91CF9188 +:105030001F910F91FF90EF90DF90CF90BF90AF90B6 +:10504000BFCE8091551890915618A0915718B091E5 +:1050500058180597A105B10540F0C0925518D09297 +:105060005618E0925718F0925818409155188091B0 +:105070005A1890E00396242F30E0821793074CF4DF +:105080008DEF840F80935A18A092AF020CEF040F9B +:105090001FEF1F5F0F5F143008F4DFCEDF91CF9159 +:1050A0001F910F91FF90EF90DF90CF90BF90AF9046 +:1050B000089580E090E0A0E8BFE3809342189093C9 +:1050C0004318A0934418B093451883CECF92DF9233 +:1050D000EF92FF920F931F93CF93DF938091551818 +:1050E00090915618A0915718B09158188130904857 +:1050F000A105B10540F01092551810925618109263 +:105100005718109258188091551890915618A091E0 +:105110005718B091581840915A1850E060E070E06C +:1051200084179507A607B70710F480935A18C09103 +:105130005A18D0915B18D2FBDD27D0F900E0C12CC2 +:10514000D12C7601C39411E0409155185091561816 +:105150006091571870915818C11134C08091AF02F6 +:105160008823A1F0E091CC08F0E0EE0FFF1FE85398 +:10517000F94B8591949123E0452B462B472B11F455 +:1051800043E001C040E2BC01802FCADADD2309F40C +:105190004FC08091551890915618A0915718B09112 +:1051A0005818892B8A2B8B2B09F042C0E7DB80E54E +:1051B00091E0DF91CF911F910F91FF90EF90DF90E1 +:1051C000CF909CCCC130A1F58091AF028823A9F08B +:1051D000E091CC08F0E0EE0FFF1FE850F84B85910E +:1051E00094912EE7413051056105710511F44EE3AC +:1051F00001C040E2BC01802F93DADD23C9F0409169 +:1052000055185091561860915718709158184130A0 +:1052100051056105710561F4B1DB8EE491E0DF9128 +:10522000CF911F910F91FF90EF90DF90CF90C8CD5D +:105230004091551850915618609157187091581810 +:10524000423051056105710540F0C0925518D09269 +:105250005618E0925718F0925818409155188091BE +:105260005A1890E00396242F30E0821793074CF4ED +:105270008DEF840F80935A181093AF02CCEFC40FB8 +:105280000FEF0F5FCF5F043008F45ECFDF91CF9157 +:105290001F910F91FF90EF90DF90CF9008950F93A3 +:1052A0006091060281E068276093060287E09FE034 +:1052B0000F946FB001E021E048E050E060E070E062 +:1052C00084E591E06ADB0F91089520E044E064E119 +:1052D0008CE598E10E948E3986D98CE598E10C9492 +:1052E0004F390F93F2DF01E020E040E050E0BA01D7 +:1052F00088E391E052DB0F910895F3DF85E090E0C1 +:105300009093E2188093E118089581E08093CD088E +:1053100061E088E496E50E94C9B5E3CF61E084E4EA +:1053200096E50E94C9B5DDCF61E08EE396E50E9467 +:10533000C9B5D7CF61E08AE396E50E94C9B5D1CF60 +:105340001092FA171092F9171092F8171092F71797 +:105350001092690810926808C4CFC3DF1092C51874 +:1053600086E090E09093E2188093E11808958AEF28 +:1053700090E09093FA178093F91788E290E0909369 +:10538000F8178093F7171092690810926808A9DF40 +:105390000D94C71587ED90E09093FA178093F91755 +:1053A0008CE390E09093F8178093F71710926908B8 +:1053B0001092680896DF0D94C7158FEF90E09093D8 +:1053C000FA178093F91784E690E09093F81780938A +:1053D000F717109269081092680883DF0D94C715BB +:1053E0008EEF90E09093FA178093F91784E690E09F +:1053F0009093F8178093F717109269081092680835 +:1054000070DF0D94C71586EE90E09093FA178093A5 +:10541000F91785E590E09093F8178093F7171092AD +:105420006908109268085DDF0D94C7158CED90E057 +:105430009093FA178093F91784E690E09093F81709 +:105440008093F71710926908109268084ADF0D944C +:10545000C71580EF90E09093FA178093F91782E3D5 +:1054600090E09093F8178093F717109269081092C4 +:10547000680837DF0D94C7150F936091F90881E034 +:1054800068276093F9088FEA9FE00F946FB00F943C +:10549000E40E01E021E04AE050E060E070E084E5E5 +:1054A00091E07BDA0F9108950F938091A1078130ED +:1054B00019F41092A10703C081E08093A1076091C5 +:1054C000A10788E09FE00F946FB040E052EC61E0EC +:1054D00070E08CE197E00E94C53C01E021E04BE0E8 +:1054E00050E060E070E084E591E057DA0F910895B4 +:1054F0009091A107911107C09091C00095FFFCCF3A +:105500008093C6000895913031F49091C80095FFC2 +:10551000FCCF8093CE0008950F931F93CF93DF931A +:105520008C01CDE1D5E08991882311F0E1DFFBCF3B +:105530004AE050E0B8018CE197E00E942D3EC1ECBA +:10554000D5E08991882311F0D3DFFBCFDF91CF9194 +:105550001F910F910895CF93DF93C2EAD5E089910F +:10556000882311F0C5DFFBCF6091DB187091DC1848 +:105570004AE050E08CE197E00E942D3EC1ECD5E07E +:105580008991882311F0B4DFFBCFDF91CF9108958B +:10559000CF93DF93C3E2D5E08991882311F0A8DF90 +:1055A000FBCF6091F9177091FA174AE050E08CE157 +:1055B00097E00E942D3EC9E2D5E08991882311F041 +:1055C00097DFFBCF6091F7177091F8174AE050E032 +:1055D0008CE197E00E942D3EC0E3D5E089918823BD +:1055E00011F086DFFBCF4091F1175091F2176091D7 +:1055F000F3177091F41722E030E08CE197E00E94FD +:10560000E93EC7E3D5E08991882311F071DFFBCF34 +:105610004091E1175091E2176091E3177091E41700 +:1056200022E030E08CE197E00E94E93EC1ECD5E059 +:105630008991882311F05CDFFBCFDF91CF91089532 +:105640001F93CF93DF93C62F482F60E08CE598E13E +:105650000E945B396C2F8CE598E10F941B9ECDEE78 +:10566000D8E111E16991662311F0111116C01123DF +:1056700039F060E28CE598E10F941B9E1150F7CF52 +:1056800063E08CE598E10F941B9E60E28CE598E165 +:10569000DF91CF911F910D941B9E8CE598E10F94A3 +:1056A0001B9E1150DFCF8F929F92AF92BF92EF92CD +:1056B000FF920F931F93CF93DF9380915518909192 +:1056C0005618A0915718B091581881309048A105EC +:1056D000B10540F0109255181092561810925718B4 +:1056E000109258188091551890915618A0915718FB +:1056F000B091581840915A1850E060E070E084175B +:105700009507A607B70710F480935A18D0915A1836 +:1057100010915B1812FB112710F9C0E0FF24F394DD +:10572000D1113CC08091AF028823E1F0E091CC0818 +:10573000F0E0EE0FFF1FE452F94B659174918091F8 +:10574000551890915618A0915718B091581823E009 +:10575000892B8A2B8B2B11F443E001C040E28C2F64 +:105760000F9490231123D1F08091551890915618E1 +:10577000A0915718B0915818892B8A2B8B2B71F454 +:10578000FDD88AE691E0DF91CF911F910F91FF90B4 +:10579000EF90BF90AF909F908F90B0C98091DD182F +:1057A000409155185091561860915718709158189B +:1057B000882381F1D13081F58091AF02882371F087 +:1057C00020E2413051056105710511F44EE301C03D +:1057D00040E269E87AE58C2F0F949023112309F4B5 +:1057E00053C08091551890915618A0915718B091B8 +:1057F00058180197A105B10509F046C0BFD8DF913F +:10580000CF911F910F91FF90EF90BF90AF909F901D +:105810008F90ADCD01E001C002E00D1336C0809144 +:10582000AF02882391F0802F90E0A0E0B0E020E26A +:10583000481759076A077B0711F44EE301C040E29D +:105840006AE77AE58C2F0F9490231123F1F0802FD3 +:1058500090E0A0E0B0E0409155185091561860914A +:10586000571870915818481759076A077B0769F449 +:1058700085D8DF91CF911F910F91FF90EF90BF904E +:10588000AF909F908F9086CD02E0EE24E394E00EDF +:10589000ED123DC08091AF028823D1F04D2F50E032 +:1058A00060E070E08090551890905618A0905718BE +:1058B000B090581820E284169506A606B70611F493 +:1058C0004EE301C040E26BE67AE58C2F0F94902303 +:1058D0001123E9F08E2D90E0A0E0B0E04091551842 +:1058E00050915618609157187091581848175907D9 +:1058F0006A077B0761F442D8DF91CF911F910F9126 +:10590000FF90EF90BF90AF909F908F907CCD52E032 +:10591000E52EE00EED123DC08091AF028823D1F05C +:105920004D2F50E060E070E0809055189090561830 +:10593000A0905718B090581820E284169506A60635 +:10594000B70611F44EE301C040E26BE57AE58C2F17 +:105950000F9490231123E9F08E2D90E0A0E0B0E0A9 +:1059600040915518509156186091571870915818D9 +:10597000481759076A077B0761F400D8DF91CF9178 +:105980001F910F91FF90EF90BF90AF909F908F90DD +:1059900014CD43E0E42EE00EED123EC08091AF0244 +:1059A0008823D1F04D2F50E060E070E080905518D2 +:1059B00090905618A0905718B090581820E284166E +:1059C0009506A606B70611F44EE301C040E26BE46B +:1059D0007AE58C2F0F9490231123F1F08E2D90E017 +:1059E000A0E0B0E0409155185091561860915718BA +:1059F00070915818481759076A077B0769F40F9484 +:105A0000BE24DF91CF911F910F91FF90EF90BF9037 +:105A1000AF909F908F900ACD34E0E32EE00EED1210 +:105A20003EC08091AF028823D1F04D2F50E060E05E +:105A300070E08090551890905618A0905718B0902C +:105A4000581820E284169506A606B70611F44EE310 +:105A500001C040E26BE37AE58C2F0F949023112371 +:105A6000F1F08E2D90E0A0E0B0E0409155185091FB +:105A700056186091571870915818481759076A07B7 +:105A80007B0769F40F94BE24DF91CF911F910F9192 +:105A9000FF90EF90BF90AF909F908F90A1CC25E0AA +:105AA000E22EE00EED123EC08091AF028823D1F0CD +:105AB0004D2F50E060E070E080905518909056189F +:105AC000A0905718B090581820E284169506A606A4 +:105AD000B70611F44EE301C040E26CE27AE58C2F88 +:105AE0000F9490231123F1F08E2D90E0A0E0B0E010 +:105AF0004091551850915618609157187091581848 +:105B0000481759076A077B0769F40F94BE24DF9191 +:105B1000CF911F910F91FF90EF90BF90AF909F900A +:105B20008F9097CC96E0E92EE00EED1245C0809163 +:105B3000AF02882309F1E091CC08F0E0EE0FFF1FDF +:105B4000EA52F84B659174918E2D90E0A0E0B0E0A0 +:105B50008090551890905618A0905718B0905818EB +:105B600020E288169906AA06BB0611F44EE301C08E +:105B700040E28C2F0F9490231123F1F04E2D50E032 +:105B800060E070E08091551890915618A0915718D8 +:105B9000B091581884179507A607B70769F40F94B2 +:105BA000BE24DF91CF911F910F91FF90EF90BF9096 +:105BB000AF909F908F90C4CB27E0200F422F50E0F2 +:105BC00060E070E08091551890915618A091571898 +:105BD000B091581884179507A607B70780F0422F91 +:105BE00050E041505109662757FD6095762F40934C +:105BF0005518509356186093571870935818409141 +:105C0000551880915A1890E00396242F30E082179F +:105C100093074CF48DEF840F80935A18F092AF02E3 +:105C2000DCEFD40FCFEFCF5FDF5FC43008F478CD67 +:105C3000DF91CF911F910F91FF90EF90BF90AF90A8 +:105C40009F908F900895CF93DF93CDB7DEB72897BD +:105C50000FB6F894DEBF0FBECDBF88E0E9E3F3E0F6 +:105C6000DE01119601900D928A95E1F7AE014F5F2A +:105C70005F4F61E08CE598E10E94E33B28960FB608 +:105C8000F894DEBF0FBECDBFDF91CF910895CF93C3 +:105C9000DF93CDB7DEB728970FB6F894DEBF0FBEFF +:105CA000CDBF88E0E1E4F3E0DE01119601900D92B2 +:105CB0008A95E1F7AE014F5F5F4F61E08CE598E1B7 +:105CC0000E94E33B28960FB6F894DEBF0FBECDBF0F +:105CD000DF91CF9108950F931F93CF93DF93CDB7AB +:105CE000DEB760970FB6F894DEBF0FBECDBF88E079 +:105CF000E9E4F3E0DE01199601900D928A95E1F74F +:105D000088E08E010F5F1F4FF801982F11929A952E +:105D1000E9F791E09A8393E09B8396E19C839CE171 +:105D20009D838E83AE01475F5F4F61E08CE598E114 +:105D30000E94E33BA80162E08CE598E10E94E33B0E +:105D400060960FB6F894DEBF0FBECDBFDF91CF9146 +:105D50001F910F910895CF93DF93CDB7DEB72897AA +:105D60000FB6F894DEBF0FBECDBF88E0E1E0F3E0F0 +:105D7000DE01119601900D928A95E1F7AE014F5F19 +:105D80005F4F61E08CE598E10E94E33B28960FB6F7 +:105D9000F894DEBF0FBECDBFDF91CF9108958CE5A3 +:105DA00098E10C944F394AE050E0BC018CE598E151 +:105DB0000D94C19ECF93DF93EA01462F682F8CE5A7 +:105DC00098E10E945B394AE050E0BE018CE598E121 +:105DD000DF91CF910D94C19ECF93DF93EA01462FBF +:105DE000682F8CE598E10E945B39BE018CE598E153 +:105DF000DF91CF910D941A9E8EEF9FE00F945DB0CE +:105E0000823028F48093CC0810924618089581E0DF +:105E10008093CC088093461808951F93CF93DF9307 +:105E2000EC01FB01608111810F946FB0612FCE01F5 +:105E30000196DF91CF911F910D946FB0FF920F9358 +:105E40001F93CF93DF938C01EB010F945DB0F82E7D +:105E5000C80101960F945DB0F8828983DF91CF91DC +:105E60001F910F91FF90089561E080EC9FE00F94E7 +:105E70006FB060E08FEB9FE00F946FB060E08EEB4F +:105E80009FE00F946FB060E08DEB9FE00F946FB0D8 +:105E900060E08CEB9FE00F946FB01092FD181092B1 +:105EA000FC181092F8181092FF181092FE18109219 +:105EB000F91810920119109200191092FA18109204 +:105EC0000319109202191092FB180895EF92FF9295 +:105ED0000F931F93CF93DF931F92CDB7DEB77B0154 +:105EE0008C01061B170B460FC701800F911F4983BA +:105EF0000F945DB0F70181937F0149814E13F4CF78 +:105F00000F90DF91CF911F910F91FF90EF90089527 +:105F10000F93CF93DF931F92CDB7DEB741E0BE0161 +:105F20006F5F7F4F89E09FE0D1DF8981882321F077 +:105F3000813029F482E001C081E0898301C01982A7 +:105F4000698189E09FE00F946FB081E08093E3184E +:105F500001E021E048E050E060E070E084E591E09D +:105F60000F94CD240F90DF91CF910F910895F3CE30 +:105F70008ECE6EEF8EEF9FE00D946FB081E0809338 +:105F8000B70208950F931F93CF938091DD18882354 +:105F900071F10E942CB7C82F0F945B9B00910209EE +:105FA000109103092091040930910509601B710BC0 +:105FB000820B930B0F94D2A42FE632E143E85AE30D +:105FC0000F9407A7CC2329F020E030E040E752E40B +:105FD00004C020E030E046E154E40F9435A61816E2 +:105FE0001CF41092B70203C081E08093B702CF91F6 +:105FF0001F910F91089580934818109247180895A3 +:10600000E0EBF8E101900020E9F73197E05BF8411F +:106010001E161F0634F01092C41882E08093AF025F +:10602000089580E2E431F105B4F7DF01A055B74EE1 +:106030008C933196F7CF2091C518211108C044E107 +:1060400050E0BC0180EB98E10F9422ADD9CF0895C8 +:106050002091C51821110AC044E150E0BC0180EB39 +:1060600098E10F9495AC1092C418CACF089561E0DE +:1060700087E29AE50E94C9B581E08093C00882E07A +:1060800090E09093BE088093BD08E091CC08F0E0CA +:10609000EE0FFF1FE859F84B85919491D9DF21D974 +:1060A00083E08093AF020895D3DF81E08093C51829 +:1060B00018C91092C51808950F931F93CF9380911C +:1060C000331881110FC181E080933318C09103010F +:1060D000C2FBCC27C0F9C8278091030181FFC260B1 +:1060E0008091AE02882309F4C4C08091000186FD2E +:1060F00089C00F945B9B605D7A488F4F9F4F609380 +:106100003E1870933F1880934018909341180F9455 +:106110005B9B0091C8181091C9182091CA18309142 +:10612000CB18061717072807390708F0A6C00F94E1 +:106130005B9B68537F4F8F4F9F4F6093C81870933E +:10614000C9188093CA189093CB188091C7188111F1 +:106150002EC08091D01881112AC08091B0029091F8 +:10616000B10221E08C369207A1F090934F188093F2 +:106170004E188091551890915618A0915718B091CB +:1061800058188093511890935218A0935318B093B5 +:1061900054180F945B9B6093CC187093CD18809328 +:1061A000CE189093CF1881E08093C71866C00F94E3 +:1061B0005B9B0091CC181091CD182091CE18309196 +:1061C000CF18601B710B820B930B693E73408105E6 +:1061D000910508F452C081E08093D01880E090E0EF +:1061E000A0E8BFE38093421890934318A09344180B +:1061F000B093451801E021E040E050E0BA018CE6A0 +:1062000091E02BC08091C718882381F10F945B9B8C +:1062100068537F4F8F4F9F4F6093C8187093C91872 +:106220008093CA189093CB182091D0188091B00217 +:106230009091B102211114C08C569140E9F4409123 +:10624000511850915218609153187091541801E0F0 +:1062500021E080914E1890914F180F94CD240DC0DD +:106260008C56914051F40F94BE2407C01092D01860 +:1062700004C08091000186FFC460C0935B188091C8 +:106280005B18817090915B1891FD82609091591814 +:10629000891721F18130F1F028F0823089F08330C4 +:1062A000A1F01CC0913021F4909104199F5F05C0AA +:1062B0009230A1F4909104199150909304190EC05A +:1062C000992391F3933051F4F5CF923069F39130E3 +:1062D00029F4F0CF933041F3992361F38093591857 +:1062E00010923318CF911F910F9108950F94652943 +:1062F000E4E0F1E080818B7F808380818D7F8083EB +:106300009FB7F894E5E0F1E08081846080839FBFCF +:106310009FB7F8948081826080839FBFE1E0F1E0C5 +:1063200080818F7B80839FB7F894E2E0F1E08081E9 +:10633000806480839FBF60E08FE00F94469D9FB78D +:10634000F894E5E0F1E08081816080839FBF8091D7 +:1063500003018095817080935018AEDE109204196D +:10636000089581E0089590915B1892FB882780F949 +:1063700092FD1092C71808958F929F92AF92BF928C +:10638000CF92DF92EF92FF926091E9177091EA1736 +:10639000882777FD8095982F0F94D4A420E030ECC7 +:1063A0004FE756E40F9439A420E030E040EA50E48F +:1063B0000F9407A727ED30E344E45EE30F9439A47C +:1063C0004B015C010F94A1A46B017C01882777FD30 +:1063D0008095982F0F94D4A49B01AC01C501B40102 +:1063E0000F9458A39F7720E030E040E251E40F94EF +:1063F00007A70F94A1A47F936F93DF92CF928FEAA8 +:106400009BE59F938F938DE098E09F938F930F94DC +:106410004BADA9DF2DB73EB7285F3F4F0FB6F894BD +:106420003EBF0FBE2DBF882361F00F94BE24FF90A6 +:10643000EF90DF90CF90BF90AF909F908F900D9492 +:106440007129FF90EF90DF90CF90BF90AF909F9019 +:106450008F9008951F93CF93DF931F9211E01F93A6 +:106460006091E1177091E2178091E3179091E41722 +:106470000F94A1A47F936F931F921F936091F117C4 +:106480007091F2178091F3179091F4170F94A1A4D3 +:106490007F936F9386E89BE59F938F93CDE0D8E041 +:1064A000DF93CF930F944BAD1F921F936091EB1727 +:1064B0007091EC178091ED179091EE170F94A1A4B5 +:1064C0007F936F9381E79BE59F938F93DF93CF93A8 +:1064D0000F944BAD48DF2DB73EB72C5E3F4F0FB644 +:1064E000F8943EBF0FBE2DBF882339F00F94BE2411 +:1064F000DF91CF911F910D947129DF91CF911F9161 +:106500000895CF93DF938BE59FE00F946AB0EC0181 +:106510008DE59FE00F946AB0DF93CF939F938F93A5 +:106520008BE49BE59F938F938DE098E09F938F93EF +:106530000F944BAD18DF2DB73EB7285F3F4F0FB616 +:10654000F8943EBF0FBE2DBF882331F00F94BE24B8 +:10655000DF91CF910D947129DF91CF91089584E05F +:1065600090E090931802809317020F94A21881E094 +:106570000E946F58F8DE8823C1F3F5DE8111FDCF4C +:106580006AE070E080E090E00F948A9BECDE81117D +:10659000FDCF82E090E09093180280931702089557 +:1065A000DF92EF92FF920F931F93CF93DF93CDB7BC +:1065B000DEB728970FB6F894DEBF0FBECDBF80E4DC +:1065C00095E09A83898389E495E09C838B8384E5B5 +:1065D00095E09E838D8382E695E098878F83E09097 +:1065E0000419FF24E7FCF094DADB40E060E08CE57E +:1065F00098E10E945B396EE375E08CE598E10F94B9 +:106600001A9ED12C00E010E0402F61E08CE598E16B +:106610000E945B39E0913418F0913518E00FF11FBA +:10662000EE0FFF1F81E090E08C0F9D1FE80FF91F18 +:10663000608171818CE598E10F941A9E0F5F1F4F66 +:106640000430110509F70F94A21881E00E946F58D9 +:1066500020910419332727FD3095C701821B930B26 +:1066600097FF03C091958195910905970CF46FC030 +:106670002E153F050CF4DA94E216F3060CF4D394CD +:1066800093E09D156CF4809134189091351897FF24 +:106690007FC00196909335188093341880DB78C0C2 +:1066A000D7FE0EC08091341890913518181619062F +:1066B00034F40197909335188093341870DBD12C03 +:1066C00040E060E08CE598E10E945B396AE576E0A5 +:1066D0008CE598E10F941A9E41E060E08CE598E12A +:1066E0000E945B396AE576E08CE598E10F941A9E8A +:1066F00042E060E08CE598E10E945B396AE576E073 +:106700008CE598E10F941A9E43E060E08CE598E1F7 +:106710000E945B396AE576E08CE598E10F941A9E59 +:106720004D2D60E08CE598E10E945B396EE375E0E9 +:106730008CE598E10F941A9EE0900419FF24E7FC81 +:10674000F09464E670E080E090E00F948A9B0BDEAA +:10675000882309F457CF07DE8111FDCF6AE070E08E +:1067600080E090E00F948A9BFEDD8111FDCF809147 +:1067700034188D0D28960FB6F894DEBF0FBECDBF2E +:10678000DF91CF911F910F91FF90EF90DF900895CF +:10679000B3E0DB2E95CFFC01808190E02AE030E071 +:1067A000B9010F94F6A8482FCB01B9010F94F6A8B0 +:1067B000805D80933618405D4093371810923818EA +:1067C00086E398E1089520E030E040E251E4FC01E6 +:1067D00060817181828193810F9407A70F94A1A496 +:1067E00077FD02C02BE201C02DE2209336189B01F9 +:1067F00077FF04C022273327261B370BC90168EE19 +:1068000073E00F94F6A8CB01EAE0F0E0BF010F942B +:10681000F6A8805D80933718C90164E670E00F9494 +:10682000F6A8CB01BF010F94F6A8805D80933818BD +:10683000C901BF010F94F6A8282FCB01BF010F9407 +:10684000F6A8805D809339188EE280933A18205D17 +:1068500020933B1810923C1886E398E108958F929C +:106860009F92AF92BF92CF92DF92EF92FF92CF931F +:1068700020E030E048EC52E4FC01608171818281CB +:1068800093810F9407A70F94A1A46B017C0197FD3E +:1068900012C020E137E240E050E00F942BA9CA017A +:1068A000B9012AE030E040E050E00F942BA9605D90 +:1068B0006093361803C08DE280933618F7FE08C047 +:1068C000F094E094D094C094C11CD11CE11CF11C44 +:1068D000C701B60128EE33E040E050E00F942BA949 +:1068E0009AE0892E912CA12CB12CCA01B901A501E5 +:1068F00094010F942BA9605D60933718C701B6010E +:1069000024E630E040E050E00F942BA9CA01B90121 +:10691000A50194010F942BA9605D609338188EE255 +:1069200080933918C701B601A50194010F942BA9D2 +:10693000C62FCA01B901A50194010F942BA9605D6E +:1069400060933A18C05DC0933B1810923C1886E3E0 +:1069500098E1CF91FF90EF90DF90CF90BF90AF90F4 +:106960009F908F9008958F929F92AF92BF92CF92F7 +:10697000DF92EF92FF92CF93FC01C080D180E28042 +:10698000F38020E030E0A901C701B6010F9435A6DD +:1069900018161CF4C701B60103C0C701B601905810 +:1069A0000F94A1A46B017C016031F7E27F078105A0 +:1069B000910584F020E137E240E050E00F942BA9EC +:1069C000CA01B9012AE030E040E050E00F942BA961 +:1069D000605D01C060E26093361888EEC81683E0FF +:1069E000D806E104F10494F0C701B60128EE33E0C3 +:1069F00040E050E00F942BA9CA01B9012AE030E031 +:106A000040E050E00F942BA9605D01C060E260930C +:106A10003718E4E6CE16D104E104F10494F0C7017E +:106A2000B60124E630E040E050E00F942BA9CA0103 +:106A3000B9012AE030E040E050E00F942BA9605DFE +:106A400001C060E3609338188EE2809339182AE021 +:106A5000822E912CA12CB12CC701B601A501940165 +:106A60000F942BA9C62FCA01B901A50194010F9457 +:106A70002BA9605D60933A18C05DC0933B1886E314 +:106A800098E1CF91FF90EF90DF90CF90BF90AF90C3 +:106A90009F908F9008958F929F92AF92BF92CF92C6 +:106AA000DF92EF92FF92CF9320E030E04AE754E488 +:106AB000FC0160817181828193810F9407A70F94FB +:106AC000A1A46B017C0197FD12C028EE33E040E0E9 +:106AD00050E00F942BA9CA01B9012AE030E040E050 +:106AE00050E00F942BA9605D6093361803C08DE2CF +:106AF00080933618F7FE08C0F094E094D094C094C8 +:106B0000C11CD11CE11CF11C8EE280933718C70117 +:106B1000B60124E630E040E050E00F942BA96AE093 +:106B2000862E912CA12CB12CCA01B901A50194018A +:106B30000F942BA9605D60933818C701B601A501B9 +:106B400094010F942BA9C62FCA01B901A501940184 +:106B50000F942BA9605D60933918C05DC0933A18FB +:106B600010923B1886E398E1CF91FF90EF90DF9071 +:106B7000CF90BF90AF909F908F9008958F929F92EB +:106B8000AF92BF92CF92DF92EF92FF92CF9320E02D +:106B900030E04AE754E4FC01608171818281938195 +:106BA0000F9407A70F94A1A497FD02C020E201C093 +:106BB0002DE2209336186B017C0197FF08C0F094FA +:106BC000E094D094C094C11CD11CE11CF11CC701FD +:106BD000B60128EE33E040E050E00F942BA9EAE044 +:106BE0008E2E912CA12CB12CCA01B901A5019401C2 +:106BF0000F942BA9605D609337188EE2809338184C +:106C0000C701B60124E630E040E050E00F942BA924 +:106C1000CA01B901A50194010F942BA9605D60938D +:106C20003918C701B601A50194010F942BA9C62FED +:106C3000CA01B901A50194010F942BA9605D60936D +:106C40003A18C05DC0933B1810923C1886E398E157 +:106C5000CF91FF90EF90DF90CF90BF90AF909F903B +:106C60008F9008958F929F92AF92BF92CF92DF92B2 +:106C7000EF92FF92FC0180809180A280B38020E09F +:106C800030E048EC52E4C501B4010F9407A76B0152 +:106C90007C0120E030E0A9010F9435A618161CF401 +:106CA000C701B60103C0C701B60190580F94A1A453 +:106CB0006B017C0120E030E0A901C501B4010F9413 +:106CC00032A487FF12C08DE280933618C701B60147 +:106CD00028EE33E040E050E00F942BA9CA01B9013F +:106CE0002AE030E040E050E036C0C701B60120E1C4 +:106CF00037E240E050E00F942BA9AAE08A2E912CB5 +:106D0000A12CB12CCA01B901A50194010F942BA9A2 +:106D1000662391F0605D60933618C701B60128EED6 +:106D200033E040E050E00F942BA9CA01B901A5015E +:106D300094010F942BA913C080E280933618C701E9 +:106D4000B60128EE33E040E050E00F942BA9CA01D1 +:106D5000B901A50194010F942BA9662311F0605D80 +:106D600001C060E260933718C701B60124E630E045 +:106D700040E050E00F942BA9FAE08F2E912CA12C2B +:106D8000B12CCA01B901A50194010F942BA9605D32 +:106D900060933818C701B601A50194010F942BA97F +:106DA000662381F0605D60933B18CA01B901A501BB +:106DB00094010F942BA9605D60933A188EE2809342 +:106DC000391815C0CA01B901A50194010F942BA966 +:106DD000662329F0605D60933A188EE203C080E27A +:106DE00080933A188093391880E280933B18109270 +:106DF0003C1886E398E1FF90EF90DF90CF90BF9032 +:106E0000AF909F908F900895FC012081318137FFD2 +:106E100007C08DE28093361831952195310914C051 +:106E20002436310574F0C90164E670E00F94F6A8C9 +:106E3000CB016AE070E00F94F6A8805D809336186D +:106E400006C080E2809336182A30310564F0EAE00B +:106E5000F0E0C901BF010F94F6A8CB01BF010F9468 +:106E6000F6A8805D01C080E280933718C9016AE00E +:106E700070E00F94F6A8805D80933818109239184E +:106E800086E398E108956F927F929F92BF92CF928E +:106E9000DF92EF92FF920F931F93CF93DF93809136 +:106EA000F71881115EC081E08093F7188FEB9FE0A7 +:106EB0000F945DB0082F282F332727FD309530938E +:106EC000FD182093FC188093F8188EEB9FE00F9428 +:106ED0005DB0182F282F332727FD30953093FF18EA +:106EE0002093FE188093F9188DEB9FE00F945DB00E +:106EF000D82F282F332727FD309530930119209361 +:106F000000198093FA188CEB9FE00F945DB0C82FA6 +:106F1000282F332727FD309530930319209302192A +:106F20008093FB1880EC9FE00F945DB0813009F0F6 +:106F30006EC20E5C053608F06AC21E5C153608F09B +:106F400066C2DE5CD53608F062C2CE5CC53608F09B +:106F50005EC281E08093AF0261E080EC9FE00F941D +:106F60006FB06091FC187091FD188091F818992706 +:106F700087FD90958617970731F06093F8188FEB8F +:106F80009FE00F946FB06091FE187091FF18809190 +:106F9000F918992787FD90958617970731F0609328 +:106FA000F9188EEB9FE00F946FB06091001970910B +:106FB00001198091FA18992787FD909586179707F0 +:106FC00031F06093FA188DEB9FE00F946FB06091F1 +:106FD0000219709103198091FB18992787FD9095EC +:106FE0008617970731F06093FB188CEB9FE00F94A6 +:106FF0006FB08091551890915618A0915718B09184 +:10700000581881309048A105B10540F010925518EC +:1070100010925618109257181092581880915518BF +:1070200090915618A0915718B091581840915A183D +:1070300050E060E070E084179507A607B70710F4EA +:1070400080935A1810915A1890905B1892FA9924CC +:1070500090F8B12CE4E46E2EE8E47E2EF5E0CF2E1D +:10706000D12CE12CF12C01E080915518909156180B +:10707000A0915718B091581811113AC02091AF0241 +:107080002223A1F0E091CC08F0E0EE0FFF1FEE58B4 +:10709000FA4B6591749123E0892B8A2B8B2B11F489 +:1070A00043E001C040E28B2D0F949023992009F416 +:1070B00072C18091551890915618A0915718B091AF +:1070C0005818892B8A2B8B2B09F065C10F94BE248D +:1070D00080E591E0DF91CF911F910F91FF90EF90AC +:1070E000DF90CF90BF909F907F906F900D947E2502 +:1070F000113009F042C02091AF022223E1F0E0916B +:10710000CC08F0E0EE0FFF1FE25BF74BC591D49186 +:107110000197A105B10531F48CEF98E175DE9C0172 +:107120004EE305C08CEF98E16FDE9C0140E2BE01AA +:107130008B2D0F94C723992009F42DC180915518E8 +:1071400090915618A0915718B09158180197A10521 +:10715000B10509F020C10F94BE24E091CC08F0E005 +:10716000EE0FFF1FE25BF74B8591949122E330E035 +:107170004EEC5FEF6CEF78E144C0123009F04FC085 +:107180002091AF022223E1F0E091CC08F0E0EE0F75 +:10719000FF1FE05CF74BC591D4910297A105B105A3 +:1071A00031F48EEF98E130DE9C014EE305C08EEFA6 +:1071B00098E12ADE9C0140E2BE018B2D0F94C7238B +:1071C000992009F4E8C08091551890915618A09123 +:1071D0005718B09158180297A105B10509F0DBC006 +:1071E0000F94BE24E091CC08F0E0EE0FFF1FE05CAE +:1071F000F74B8591949122E330E04EEC5FEF6EEF18 +:1072000078E1DF91CF911F910F91FF90EF90DF9088 +:10721000CF90BF909F907F906F900D941925133061 +:1072200009F042C02091AF022223E1F0E091CC08A6 +:10723000F0E0EE0FFF1FEE5AF74BC591D491039784 +:10724000A105B10531F480E099E1DEDD9C014EE35A +:1072500005C080E099E1D8DD9C0140E2BE018B2DA4 +:107260000F94C723992009F496C0809155189091E6 +:107270005618A0915718B09158180397A105B10559 +:1072800009F089C00F94BE24E091CC08F0E0EE0F25 +:10729000FF1FEE5AF74B8591949122E330E04EECBC +:1072A0005FEF60E079E1ADCF143009F042C020918A +:1072B000AF022223E1F0E091CC08F0E0EE0FFF1FD7 +:1072C000EA5BF74BC591D4910497A105B10531F460 +:1072D00082E099E199DD9C014EE305C082E099E1ED +:1072E00093DD9C0140E2BE018B2D0F94C7239920B2 +:1072F00009F451C08091551890915618A0915718D3 +:10730000B09158180497A105B10509F044C00F9435 +:10731000BE24E091CC08F0E0EE0FFF1FEA5BF74BD4 +:107320008591949122E330E04EEC5FEF62E079E1E9 +:1073300068CF153081F52091AF02222371F0F3015F +:107340006591749120E20597A105B10511F44EE312 +:1073500001C040E28B2D0F9490239920E1F08091A1 +:10736000551890915618A0915718B0915818059734 +:10737000A105B10581F40F94BE24DF91CF911F9137 +:107380000F91FF90EF90DF90CF90BF909F907F90F4 +:107390006F900D94F3248091551890915618A091F8 +:1073A0005718B09158180697A105B10540F0C09242 +:1073B0005518D0925618E0925718F09258184091EC +:1073C000551880915A1890E00396242F30E08217C8 +:1073D000930754F48DEF840F80935A180093AF02F3 +:1073E0001CEF140FBB24BA94B3941F5F83E08B157A +:1073F00008F03ACEDF91CF911F910F91FF90EF905F +:10740000DF90CF90BF909F907F906F9008951092E3 +:10741000FD181092FC181092FF181092FE1810928E +:10742000011910920019109203191092021991CDAE +:107430008F929F92AF92BF92CF92DF92EF92FF9284 +:107440000F931F93CF93DF93809155189091561807 +:10745000A0915718B091581881309048A105B105F6 +:1074600040F010925518109256181092571810921A +:1074700058188091551890915618A0915718B091AE +:10748000581840915A1850E060E070E08417950752 +:10749000A607B70710F480935A18A0905A18909036 +:1074A0005B1892FA992490F8B12C06E518E443E0B1 +:1074B000C42ED12CE12CF12C882483948091551872 +:1074C00090915618A0915718B0915818A1103AC031 +:1074D0002091AF022223A1F0E091CC08F0E0EE0F62 +:1074E000FF1FEE58FA4B6591749123E0892B8A2B8C +:1074F0008B2B11F443E001C040E28B2D0F949023BD +:10750000992009F4EEC08091551890915618A091D9 +:107510005718B0915818892B8A2B8B2B09F0E1C092 +:107520000F94BE2484E591E0DF91CF911F910F91DC +:10753000FF90EF90DF90CF90BF90AF909F908F9093 +:107540000D947E2521E0A21242C02091AF02222399 +:10755000E1F0E091CC08F0E0EE0FFF1FE457F94BAB +:10756000C591D4910197A105B10531F489EF97E157 +:107570004BDC9C014EE305C089EF97E145DC9C01A3 +:1075800040E2BE018B2D0F94C723992009F4A9C0B6 +:107590008091551890915618A0915718B09158188D +:1075A0000197A105B10509F09CC00F94BE24E0919C +:1075B000CC08F0E0EE0FFF1FE457F94B8591949152 +:1075C00027E231E040E050E069EF77E17CC022E063 +:1075D000A21237C02091AF022223B1F0F801C59169 +:1075E000D4910297A105B10531F487EF97E10CDC46 +:1075F0009C014EE305C087EF97E106DC9C0140E269 +:10760000BE018B2D0F94C723992009F46AC0809185 +:10761000551890915618A0915718B0915818029784 +:10762000A105B10509F05DC00F94BE24E6E5F8E4BC +:10763000859194912AE730E040E050E067EF77E1F0 +:1076400042C023E0A2124DC02091AF022223E1F0FC +:10765000E091CC08F0E0EE0FFF1FE057F84BC5912A +:10766000D4910397A105B10531F488E698E0CCDB0D +:107670009C014EE305C088E698E0C6DB9C0140E231 +:10768000BE018B2D0F94C723992059F18091551875 +:1076900090915618A0915718B09158180397A105CA +:1076A000B105F9F40F94BE24E091CC08F0E0EE0FA0 +:1076B000FF1FE057F84B859194912FEF30E040E0A9 +:1076C00050E068E678E0DF91CF911F910F91FF9035 +:1076D000EF90DF90CF90BF90AF909F908F900D94E0 +:1076E00019258091551890915618A0915718B0916E +:1076F00058180497A105B10540F0C0925518D092D2 +:107700005618E0925718F0925818409155188091E9 +:107710005A1890E00396242F30E0821793075CF408 +:107720008DEF840F80935A188092AF02ACEFAA2E8F +:10773000A40EBB24BA94B394A39483E08B1508F0F1 +:10774000BDCEDF91CF911F910F91FF90EF90DF9011 +:10775000CF90BF90AF909F908F9008958F929F92FF +:10776000AF92BF92CF92DF92EF92FF920F931F934F +:10777000CF93DF931F921F92CDB7DEB7883091056C +:1077800009F449C0C4F48430910509F44DC064F48F +:107790008130910509F479C18230910509F49BC1CA +:1077A000892B09F0AEC343C086309105B9F1CCF105 +:1077B00008EA15E069C28A35910521F164F4853142 +:1077C000910531F18631910501F1449709F099C392 +:1077D00008E915E0A0C28C35910571F084F08D3573 +:1077E000910539F08336910509F08BC30CEC15E057 +:1077F00055C30BE615E03AC304E715E01FC30DE7D8 +:1078000015E004C306E815E0EAC20FE815E0CAC2B5 +:1078100008E915E0A7C20AE915E057C201EB15E037 +:1078200016C20AEB15E0F5C103EC15E0D4C1809156 +:10783000080908E915E0882309F405C1F8018191D8 +:107840008F01882319F00F94782AF8CF84E090E014 +:107850000F948C2A0F94AB2A06ED15E0F801819164 +:107860008F01882319F00F94782AF8CF4091C5082A +:107870005091C6086091C7087091C8082AE030E0AE +:107880008CE197E00E94EE3D0CED15E0F80181914E +:107890008F01882319F00F94782AF8CF8091650B17 +:1078A000882319F180910F0C9091100CA091110C6C +:1078B000B091120C0097A105B105B9F0BC01CD0142 +:1078C0006D597F4F8F4F9F4F24E630E040E050E0EE +:1078D0000F9409A96091170C7091180C8091190CE4 +:1078E00090911A0C0F9409A901C020E030E03A836E +:1078F0002983CE01019688DA8C01F80181918F01EC +:10790000882319F00F94782AF8CF03EE15E0F801D8 +:1079100081918F01882319F00F94782AF8CF88E598 +:1079200092E072DA8C01F80181918F01882319F0BD +:107930000F94782AF8CF0AEE15E0F80181918F01B3 +:10794000882319F00F94782AF8CF09E718E1F80195 +:1079500081918F01882319F00F94782AF8CF01EFD5 +:1079600015E0F80181918F01882319F00F94782A8E +:10797000F8CF8091280890912908A0912A08B09109 +:107980002B08892B8A2B8B2B49F10F945B9B58EE8C +:10799000852E53E0952EA12CB12CA50194010F94B6 +:1079A00009A969017A0160912808709129088091DC +:1079B0002A0890912B08A50194010F9409A9C21AD5 +:1079C000D30AE40AF50A2AE030E0B701A6018CE107 +:1079D00097E00E94EE3D08EF15E009C04AE050E054 +:1079E00060E070E08CE197E00E942D3EF4CFF8015A +:1079F00081918F01882319F00F94782AF8CF08EB32 +:107A000013E0F80181918F01882319F00F94782AEF +:107A1000F8CF01EC15E0F80181918F01882319F06E +:107A20000F94782AF8CF00E016E0F80181918F01D9 +:107A3000882319F00F94782AF8CF8AE00F94782AD7 +:107A400084E090E01DC0F80181918F01882319F036 +:107A50000F94782AF8CF81E090E00F948C2A0F944D +:107A6000AB2A00E016E0F80181918F01882319F01C +:107A70000F94782AF8CF8AE00F94782A81E090E07A +:107A80009093CA088093C9083CC282E090E090932A +:107A9000DA188093D91808E915E0F80181918F016F +:107AA000882319F00F94782AF8CF82E090E00F94A1 +:107AB0008C2A0F94AB2A00E016E0F80181918F0127 +:107AC000882319F00F94782AF8CF8AE00F94782A47 +:107AD00082E090E079C083E090E09093DA188093A0 +:107AE000D91808E915E0F80181918F01882319F070 +:107AF0000F94782AF8CF83E090E00F948C2A0F94AB +:107B0000AB2A00E016E0F80181918F01882319F07B +:107B10000F94782AF8CF8AE00F94782A83E090E0D7 +:107B20009093CA088093C90881E090E09093B902CD +:107B30008093B80280910809811103C008E915E01B +:107B400026C084E090E09093DA188093D91808E971 +:107B500015E0F80181918F01882319F00F94782A9C +:107B6000F8CF84E090E00F948C2A0F94AB2A00E0C9 +:107B700016E0F80181918F01882319F00F94782A7B +:107B8000F8CF8AE00F94782A84E090E01DC0F801D5 +:107B900081918F01882319F00F94782AF8CF83E020 +:107BA00090E00F948C2A0F94AB2A00E016E0F801C5 +:107BB00081918F01882319F00F94782AF8CF8AE0F9 +:107BC0000F94782A83E090E09093CA088093C908C4 +:107BD00081E090E0C2C0F80181918F01882319F003 +:107BE0000F94782AF8CF8AE00F94782A8091C908F8 +:107BF0009091CA080F948C2A0F94AB2A00E016E0EB +:107C0000F80181918F01882309F47FC00F94782AAD +:107C1000F7CFF80181918F01882319F00F94782A0A +:107C2000F8CF8AE00F94782A8091C9089091CA0809 +:107C30000F948C2A0F94AB2A00E016E0F801819192 +:107C40008F01882309F461C00F94782AF7CFF801D7 +:107C500081918F01882319F00F94782AF8CF8AE058 +:107C60000F94782A0F94AB2A00E016E0F801819176 +:107C70008F01882319F00F94782AF8CF8AE00F94A7 +:107C8000782A88E090E01CC0F80181918F01882358 +:107C900019F00F94782AF8CF8AE00F94782A0F947D +:107CA000AB2A00E016E0F80181918F01882319F0DA +:107CB0000F94782AF8CF8AE00F94782A89E090E030 +:107CC0009093CA088093C90823C0F80181918F015D +:107CD000882319F00F94782AF8CF1092CA081092CE +:107CE000C9086091DB187091DC184AE050E08CE123 +:107CF00097E00E942D3E0FEF15E0F80181918F0172 +:107D0000882319F00F94782AF8CF8AE00F94782A04 +:107D100082E090E022C0F80181918F01882319F060 +:107D20000F94782AF8CF8AE00F94782A8091C908B6 +:107D30009091CA080F948C2A0F94AB2A00E016E0A9 +:107D4000F80181918F01882319F00F94782AF8CFD8 +:107D50008AE00F94782A85E090E09093B9028093AE +:107D6000B802CFC0F80181918F01882319F00F94D8 +:107D7000782AF8CF0F94C82A0F94AB2A8091C908AB +:107D80009091CA080F948C2A00E016E0F8018191C6 +:107D90008F01882319F00F94782AF8CF8AE00F9486 +:107DA000782AAFC0F80181918F01882319F00F94D0 +:107DB000782AF8CF8AE00F94782A0F94AB2A00E053 +:107DC00016E0F80181918F01882319F00F94782A29 +:107DD000F8CF8AE00F94782A85E090E051CEF80140 +:107DE00081918F01882319F00F94782AF8CF8AE0C7 +:107DF0000F94782A0F94AB2A00E016E0F8018191E5 +:107E00008F01882359F20F94782AF8CFF8018191D5 +:107E10008F01882319F00F94782AF8CF8AE00F9405 +:107E2000782A0F94AB2A00E016E0F80181918F01C7 +:107E3000882309F4B3CF0F94782AF7CFF801819102 +:107E40008F01882319F00F94782AF8CF8AE00F94D5 +:107E5000782A0F94AB2A00E016E0F80181918F0197 +:107E6000882309F49BCF0F94782AF7CFF8018191EA +:107E70008F01882319F00F94782AF8CF8AE00F94A5 +:107E8000782A0F94AB2A00E016E0F80181918F0167 +:107E9000882309F483CF0F94782AF7CFF8018191D2 +:107EA0008F01882319F00F94782AF8CF0F94C82AED +:107EB00002EA15E0F80181918F01882319F00F94EF +:107EC000782AF8CF6091DB187091DC184AE050E016 +:107ED0008CE197E00E942D3E01EC15E0F8018191C4 +:107EE0008F01882319F00F94782AF8CF00E016E06C +:107EF000F80181918F01882309F450CF0F94782ADB +:107F0000F7CF0F900F90DF91CF911F910F91FF90BE +:107F1000EF90DF90CF90BF90AF909F908F9008959B +:107F2000BF92CF92DF92EF92FF920F931F93CF9366 +:107F3000DF93C091DB18D091DC180F94CF2E40E076 +:107F400060E08CE598E10E945B3962E076E08CE5C8 +:107F500098E10F941A9EB12C64E6E62EF12C7AE09B +:107F6000C72ED12C20910419422F552741950CF48E +:107F70005095CA0157FF03C09195819591090397C8 +:107F80000CF444C027FF1FC051E0B51659F082E041 +:107F9000B81681F0B11038C0C436D105ACF1C45662 +:107FA000D10932C0CE01B7010F94F6A80A9764F147 +:107FB0002A972AC0CE01B6010F94F6A81816190602 +:107FC0001CF5219721C02223F9F041E0B41661F09D +:107FD00052E0B51691F0B11017C0C43883E0D8074D +:107FE0009CF4CC59DF4F10C0CE01B7010F94F6A816 +:107FF0008A3591054CF42A9607C0CE01B6010F943C +:10800000F6A8099709F021961092041942E060E061 +:108010008CE598E10E945B39C436D1057CF462EEB0 +:1080200076E08CE598E10F941A9ECA30D10534F4BD +:1080300062EE76E08CE598E10F941A9E4AE050E0FB +:10804000BE018CE598E10F94C19E69E576E08CE570 +:1080500098E10F941A9E43E060E08CE598E10E945D +:108060005B3968E576E08CE598E10F941A9E43E071 +:108070006B2D8CE598E10E945B396AE076E08CE537 +:1080800098E10F941A9E64E670E080E090E00F940F +:108090008A9B0F94B3318823E1F068EC70E080E0B4 +:1080A00090E00F948A9BB39443E0B41212C0D09333 +:1080B000DC18C093DB186BED78E181EC9FE00F9446 +:1080C0000D2F84E190E04ADB0F94712901E010E06C +:1080D00002C000E010E00F94A218012B09F442CF77 +:1080E000DF91CF911F910F91FF90EF90DF90CF9094 +:1080F000BF900895CF93DF931F921F92CDB7DEB745 +:10810000FC0160817181828193810F94A1A47A83A3 +:108110006983CE0101960F9404370F900F90DF9181 +:10812000CF910895FC01808191818436910524F1DD +:1081300064E670E00F94F6A8CB012AE030E0B901C4 +:108140000F94F6A8805D8093361880819181B901E3 +:108150000F94F6A8CB01B9010F94F6A8805D809327 +:10816000371880819181B9010F94F6A8805D8093C2 +:1081700038181092391823C08A309105BCF02AE0D3 +:1081800030E0B9010F94F6A8CB01B9010F94F6A81D +:10819000805D8093361880819181B9010F94F6A893 +:1081A000805D809337181092381809C06AE070E03B +:1081B0000F94F6A8805D809336181092371886E3E6 +:1081C00098E10895FC0180819181883E23E0920727 +:1081D0005CF068EE73E00F94F6A8CB016AE070E003 +:1081E0000F94F6A8805D01C080E2809336188081EC +:1081F0009181843691055CF064E670E00F94F6A8F6 +:10820000CB016AE070E00F94F6A8805D01C080E2C7 +:1082100080933718808191818A3091055CF02AE043 +:1082200030E0B9010F94F6A8CB01B9010F94F6A87C +:10823000805D01C080E280933818808191816AE07E +:1082400070E00F94F6A8805D8093391810923A1868 +:1082500086E398E10895CF92EF920F930F945B9B82 +:108260006093D5187093D6188093D7189093D81828 +:108270000F945B9B6093CC187093CD188093CE18AD +:108280009093CF180F945B9B6093C8187093C91894 +:108290008093CA189093CB18B7E4CB2E05E5E02E57 +:1082A00006E423E142E162E58CE598E10E94483A68 +:1082B0000F91EF90CF900895CF93DF93FC016491DD +:1082C000EC012196662331F08CE598E10E941D3C7B +:1082D000CE01F4CFDF91CF9108950F931F93CF93E9 +:1082E000DF938C01EB0141E061E08CE598E10E94B5 +:1082F0005B39C801E1DF6AE38CE598E10F941B9ECE +:10830000FE0101900020E9F76C2F6E1B6C5E41E0CE +:108310008CE598E10E945B39BE018CE598E1DF9124 +:10832000CF911F910F910D941A9E2F923F924F92D1 +:108330005F926F927F928F929F92AF92BF92CF92F5 +:10834000DF92EF92FF920F931F93CF93DF931C0165 +:10835000EB017A0149018091551890915618A0912E +:108360005718B0915818892B8A2B8B2B09F4AFC062 +:108370000E941C4B809164118F5F803109F480E072 +:1083800090916311981709F4A2C08E01000F111F7C +:10839000000F111FC8018258974F5C01609155185A +:1083A00070915618882777FD8095982F0F94D4A444 +:1083B000209142183091431840914418509145182B +:1083C0000F9407A7F50120813181428153810F94D9 +:1083D00059A32B013C01B701882777FD8095982F81 +:1083E0000F94D4A46B017C019B01AC01C301B201C9 +:1083F0000F9432A4F50187FD05C04082518262824C +:10840000738204C0C082D182E282F382B4018827E1 +:1084100077FD8095982F0F94D4A44B015C01C8017F +:108420008258974F7C01A5019401FC016081718104 +:10843000828193810F9435A618162CF4F70180825F +:108440009182A282B38210925518109256181092FF +:1084500057181092581862E878E08EE798E00E946A +:10846000B542F801E150F94F20E030E040E752E436 +:1084700060817181828193810F9439A44B015C01E9 +:10848000E0908608F090870800918808109189088C +:10849000209182083091830840918408509185088A +:1084A00060917E0870917F0880918008909181088A +:1084B000EAE6F8E0FF93EF93EAE8CE2EE8E0DE2E5E +:1084C0000E9488F781E08093AF020F900F90809117 +:1084D000AF02882361F0CE01880F991F880F991F82 +:1084E0008258974F0F94E333BC01C101F6DE8091AF +:1084F0005B1882FF09C001E021E040E050E0BA01D2 +:1085000080EA91E00F94CD24DF91CF911F910F91DC +:10851000FF90EF90DF90CF90BF90AF909F908F90A3 +:108520007F906F905F904F903F902F90089522ED35 +:1085300030E040E050E062E070E08CEA9AE5F5CE91 +:1085400022ED30E04CEF5FEF61E070E08AEA9AE5FF +:10855000ECCE2FEF30E040E050E060E070E088EAE1 +:108560009AE5E3CE0F93CF93DF931F921F92CDB77F +:10857000DEB78091551890915618A0915718B09178 +:108580005818B7FF08C0109255181092561810923C +:108590005718109258188091F3189091F418A091E0 +:1085A000F518B091F61840915518509156186091F1 +:1085B00057187091581884179507A607B70744F401 +:1085C0008093551890935618A0935718B093581845 +:1085D0008091AF028823B1F08091EF189091F0184C +:1085E0002091551830915618820F931F9A838983D2 +:1085F000CE0101960F940437BC018091EB18909145 +:10860000EC186BDE80915B1882FF1EC0E091ED18C4 +:10861000F091EE188091EF189091F0182091551874 +:1086200030915618820F931F918380834091E918EF +:108630005091EA1860E070E000E021E08091E718D6 +:108640009091E8180F94CD240F900F90DF91CF9167 +:108650000F9108950F931F93CF93DF938C01EB013C +:1086600041E060E08CE598E10E945B39C80124DEBE +:108670006AE38CE598E10F941B9EFE0101900020B7 +:10868000E9F7BE016E1B7F0B6B5E7F4F769567959A +:1086900043E08CE598E10E945B39BE018CE598E1EE +:1086A0000F941A9E6CE076E08CE598E1DF91CF9113 +:1086B0001F910F910D941A9E0F931F93CF93DF93E9 +:1086C000E0E6F8E4C591D4918091E71881117BC070 +:1086D00011E01093E7180E94BE5A68EE78E18CEF23 +:1086E0009FE00F941E2F6AEE78E18AEF9FE00F94CF +:1086F0001E2F6CEE78E188EF9FE00F941E2F6091A3 +:10870000E8187091E918882777FD8095982F0F94C5 +:10871000D4A42091F0163091F1164091F2165091A8 +:10872000F3160F9439A46093EE187093EF188093AA +:10873000F0189093F1186091EA187091EB1888275F +:1087400077FD8095982F0F94D4A42091F416309142 +:10875000F5164091F6165091F7160F9439A46093D0 +:10876000F2187093F3188093F4189093F5186091B1 +:10877000EC187091ED18882777FD8095982F0F944D +:10878000D4A42091F8163091F9164091FA16509120 +:10879000FB160F9439A46093F6187093F718809322 +:1087A000F8189093F9181093AF020F945B9B6057E1 +:1087B000704A8E4F9F4F60933E1870933F1880937E +:1087C0004018909341184091551850915618609157 +:1087D000571870915818452B462B472B09F46BC03E +:1087E0008091FA08882341F010925518109256187B +:1087F00010925718109258188091EC189091ED181B +:108800002091551830915618820F931F9093ED18B0 +:108810008093EC18813620EF92073CF481E690EFCC +:108820009093ED188093EC1819C0181619062CF4C3 +:108830001092ED181092EC1811C04FB7F894809177 +:10884000CD179091CE172091551830915618820F60 +:10885000931F9093CE178093CD174FBF6091EC1864 +:108860007091ED18882777FD8095982F0F94D4A4E8 +:108870002091F8163091F9164091FA165091FB1696 +:108880000F9439A46093F6187093F7188093F81832 +:108890009093F91862E370E080E090E00F948A9B77 +:1088A0001092551810925618109257181092581886 +:1088B00081E08093AF028091AF02882339F086EF88 +:1088C00098E10F94BE35BC01CE01C4DE80915B18E7 +:1088D00082FD12C08091C61881110EC080915B1874 +:1088E00082FF11C001E021E040E050E0BA018AE6D9 +:1088F00091E00F94CD2407C06CEE78E188EF9FE003 +:108900000F940D2FEBCFDF91CF911F910F91089511 +:10891000CF93DF9300D000D0CDB7DEB70E9459F1DE +:108920002091AA083091AB084CE3429FC001439FBD +:10893000900D11249A8389832091AC083091AD0861 +:10894000429FC001439F900D11249C838B8340E084 +:1089500060E08CE598E10E945B39E091CC08F0E0A2 +:10896000EE0FFF1FE45EF84B85919491A5DC40E08B +:108970006BE08CE598E10E945B3962E576E08CE57E +:1089800098E10F941A9E40E06CE08CE598E10E941B +:108990005B39CE01019616DCBC018CE598E10F94A1 +:1089A0001A9E67E873E08CE598E10F941A9E41E007 +:1089B00060E08CE598E10E945B39E091CC08F0E042 +:1089C000EE0FFF1FE85EF84B8591949175DC41E056 +:1089D0006BE08CE598E10E945B3962E576E08CE51E +:1089E00098E10F941A9E41E06CE08CE598E10E94BA +:1089F0005B39CE010396E6DBBC018CE598E10F9470 +:108A00001A9E67E873E08CE598E10F941A9E42E0A5 +:108A100060E08CE598E10E945B3960E176E08CE5EE +:108A200098E10F941A9E8AE591E10F940437BC01F6 +:108A30008CE598E10F941A9E68E576E08CE598E164 +:108A40000F941A9E42E06CE08CE598E10E945B393D +:108A500069E176E08CE598E10F941A9E88E591E152 +:108A60000F940437BC018CE598E10F941A9E43E003 +:108A700060E08CE598E10E945B396DE176E08CE581 +:108A800098E10F941A9E43E065E08CE598E10E941E +:108A90005B398091571190E09E838D83CE010596BE +:108AA0000F940437BC018CE598E10F941A9E43E0C3 +:108AB0006AE08CE598E10E945B396FE276E08CE534 +:108AC00098E10F941A9E43E06FE08CE598E10E94D4 +:108AD0005B398091561190E09E838D83CE0105967F +:108AE0000F940437BC018CE598E10F941A9E0F9403 +:108AF000B331882321F00F94BE240F947129269658 +:108B00000FB6F894DEBF0FBECDBFDF91CF910895B1 +:108B100040E060E08CE598E10E945B3982E39BE5F0 +:108B2000CBDB41E060E08CE598E10E945B391E9B65 +:108B300003C08FE29BE502C08CE29BE5BDDB42E017 +:108B400060E08CE598E10E945B391D9B03C089E2DF +:108B50009BE502C086E29BE5AFDB43E060E08CE58D +:108B600098E10E945B391C9B03C083E29BE502C035 +:108B700080E29BE5A1CB0F93CBDF80915B1882FF56 +:108B800009C001E021E040E050E0BA0180E591E059 +:108B90000F94CD240F9108950F94CF2E0F94A21807 +:108BA00081E00E946F58B4DF0F94B3318823B1F392 +:108BB0000F94B3318111FCCF6AE070E080E090E067 +:108BC0000F948A9B0F94B3318111FCCF0F94CF2E59 +:108BD0000D947129EF92FF920F931F93CF93DF9320 +:108BE0007C01EB018A010F949B241092FA171092DA +:108BF000F9171092F8171092F7170F94A21880E047 +:108C00000E946F580F94CF2E40E060E08CE598E111 +:108C10000E945B39E2EBF5E4859194914DDB41E0F4 +:108C200060E08CE598E10E945B392091CC0830E04F +:108C3000220F331F2C573A4BF901859194913CDB5D +:108C4000F7013197EB30F10508F0FDC0E658FF4F12 +:108C500042E060E08CE598E10D9447A90E945B3901 +:108C6000E0E9F5E48591949127DB43E060E08CE551 +:108C700098E10E945B39E091CC08F0E0EE0FFF1F15 +:108C8000E657FA4BDDC00E945B39EEEDF5E4C8C053 +:108C90000E945B39E6EBF5E4859194910DDB43E0AE +:108CA00060E08CE598E10E945B39E091CC08F0E04F +:108CB000EE0FFF1FEA58FA4B85919491FDDA43E0DD +:108CC00061E19BC00E945B39EEE8F5E485919491E7 +:108CD000F3DA42E062E18CE598E10E945B39BE0183 +:108CE0008CE598E10F941A9E43E060E08CE598E1F2 +:108CF0000E945B39E8EBF5E485919491DDDA43E07D +:108D000062E18CE598E10E945B39B8017BC00E946A +:108D10005B39E4EBF5E42DC00E945B39E091CC08AF +:108D2000F0E0EE0FFF1FE654FA4B09C00E945B39DA +:108D3000E091CC08F0E0EE0FFF1FE255FA4B859171 +:108D40009491BADA43E060E08CE598E10E945B39E7 +:108D5000E091CC08F0E0EE0FFF1FEA58FA4B48C054 +:108D60000E945B39E091CC08F0E0EE0FFF1FEC5061 +:108D7000F94B85919491A0DA43E060E08CE598E1AD +:108D80000E945B39EEE8F5E433C00E945B39E09164 +:108D9000CC08F0E0EE0FFF1FE052FA4B8591949162 +:108DA0008BDA43E060E08CE598E10E945B39E0916A +:108DB000CC08F0E0EE0FFF1FEC51FA4B19C00E94F7 +:108DC0005B39E091CC08F0E0EE0FFF1FE256FA4B62 +:108DD0008591949171DA43E060E08CE598E10E941E +:108DE0005B39E091CC08F0E0EE0FFF1FE658FA4B3C +:108DF0008591949161DA43E062E18CE598E10E940B +:108E00005B39BE018CE598E10F941A9E1CC00E944C +:108E10005B39E091CC08F0E0EE0FFF1FEC57F84B08 +:108E20008591949149DA43E060E08CE598E10E94F5 +:108E30005B39E091CC08F0E0EE0FFF1FEA58FA4BE7 +:108E40008591949139DA68EE73E080E090E00F94B8 +:108E50008A9B0F949B2464E670E080E090E00F947E +:108E60008A9B0F94A21880E00E946F580F94B33130 +:108E7000882389F3E091CC08F0E0EE0FFF1FEA555C +:108E8000FA4B859194910F945430DF91CF911F91BB +:108E90000F91FF90EF900D9471292F923F924F9276 +:108EA0005F926F927F928F929F92AF92BF92CF927A +:108EB000DF92EF92FF920F931F93CF93DF93CDB783 +:108EC000DEB72A970FB6F894DEBF0FBECDBF9A83E8 +:108ED00089830E941C4B81E00E946F5889810F9406 +:108EE000A00D2B013C0129813A81220F331F220F53 +:108EF000331F38872F832258374F3C832B8320E042 +:108F000030E040EA50E4AB81BC816D917D918D9160 +:108F10009C910F9459A3EB81FC81608371838283C0 +:108F20009383E0908608F09087080091880810915C +:108F300089082091820830918308409184085091DB +:108F4000850860917E0870917F08809180089091DB +:108F50008108EAE6F8E0FF93EF93812C912CE4E39B +:108F6000AE2EE2E4BE2EFAE8CF2EF8E0DF2E0E940D +:108F700088F70F900F90A5E02A2E312C0E941C4BF1 +:108F800020E030E048E452E4AB81BC816D917D91FA +:108F90008D919C910F9459A3EB81FC816083718327 +:108FA00082839383E0908608F09087080091880878 +:108FB000109189082091820830918308409184089B +:108FC0005091850860917E0870917F08809180089B +:108FD00090918108AAE6B8E0BF93AF93812C912CC1 +:108FE000E8E4AE2EE3E4BE2EFAE8CF2EF8E0DF2E62 +:108FF0000E9488F70F94350D20E030E048E452E4F9 +:10900000AB81BC816D917D918D919C910F9458A302 +:10901000EB81FC816083718382839383E090860877 +:10902000F0908708009188081091890820918208A3 +:1090300030918308409184085091850860917E08A2 +:1090400070917F088091800890918108AAE6B8E02D +:10905000BF93AF93812C912CA8E4AA2EA2E4BA2E40 +:109060000E9488F70F94350D0F900F900F900F907E +:1090700080916417811104C080916217882331F0B8 +:1090800029813A81232B09F0A6C0A2C031E0231A1E +:10909000310809F073CF0F945B9BDC01CB018C533B +:1090A000964FAF4FBF4F8B839C83AD83BE8381E0D0 +:1090B0000E946F58AF81B885A258B74FBA87A98769 +:1090C0001AE6212E18E0312E8091641781118BC091 +:1090D00080916217811187C020E030E048E452E4BB +:1090E000A985BA856D917D918D919C910F9459A31D +:1090F000E985FA856083718382839383E090860893 +:10910000F0908708009188081091890820918208C2 +:1091100030918308409184085091850860917E08C1 +:1091200070917F0880918008909181083F922F92E2 +:10913000812C912CE4E3AE2EE2E4BE2EFAE8CF2E91 +:10914000F8E0DF2E0E9488F720E030E048EC52E49F +:10915000A985BA856D917D918D919C910F9458A3AD +:10916000E985FA856083718382839383E090860822 +:10917000F090870800918808109189082091820852 +:1091800030918308409184085091850860917E0851 +:1091900070917F0880918008909181083F922F9272 +:1091A0000E9488F70F94350D0F945B9B0F900F90E2 +:1091B0000F900F902B813C814D815E8126173707E0 +:1091C0004807590708F080CF49815A81452B19F487 +:1091D00063EC76E002C06EE976E04BEB54E088E0A9 +:1091E00090E0F8DC9CC089810F94A00D6B017C019C +:1091F000EDEFFAE584918F01882339F00F94782AF6 +:109200000F5F1F4FF8018491F7CF22E030E0B301E8 +:10921000A2018CE197E00E94EA3EE0EFFAE584913A +:109220008F01882339F00F94782A0F5F1F4FF801C0 +:109230008491F7CF22E030E0B701A6018CE197E0FE +:109240000E94EA3E29813A81232B19F463EC76E0EF +:1092500002C06EE976E04BEB54E088E090E0BADCC7 +:1092600020E030E040E85FE3C301B2010F9458A36F +:10927000A70196010F9432A418160CF450C020E0F8 +:1092800030E040E85FE3C301B2010F9459A3A701A6 +:1092900096010F9435A687FD42C00F8118850258AC +:1092A000174F20E030E040E751E4D8016D917D9107 +:1092B0008D919C910F9459A3F801608371838283EF +:1092C0009383E0908608F0908708009188081091B9 +:1092D0008908209182083091830840918408509138 +:1092E000850860917E0870917F0880918008909138 +:1092F0008108EAE6F8E0FF93EF93812C912CA4E338 +:10930000AA2EA2E4BA2EBAE8CB2EB8E0DB2E0E9439 +:1093100088F70F94350D0F900F9081E001C080E029 +:109320002A960FB6F894DEBF0FBECDBFDF91CF9166 +:109330001F910F91FF90EF90DF90CF90BF90AF9073 +:109340009F908F907F906F905F904F903F902F9065 +:1093500008958F929F92AF92BF92CF92DF92EF9239 +:10936000FF920F931F9320E030E04EE353E46091AF +:10937000F1177091F2178091F3179091F4170F94F1 +:1093800035A618160CF093C0809155189091561878 +:10939000A0915718B0915818892B8A2B8B2B09F460 +:1093A0006BC00E941C4B809164118F5F803109F467 +:1093B00080E090916311981709F45EC06091551890 +:1093C00070915618882777FD8095982F0F94D4A414 +:1093D00020914218309143184091441850914518FB +:1093E0000F9407A79B01AC0160918A0870918B08CC +:1093F00080918C0890918D080F9459A360938A08EE +:1094000070938B0880938C0890938D081092551858 +:10941000109256181092571810925818E09086081B +:10942000F09087080091880810918908209182089F +:1094300030918308409184085091850860917E089E +:1094400070917F088091800890918108EAE6F8E0A9 +:10945000FF93EF93E5E58E2E982CE5EDAE2EEFE32E +:10946000BE2EFAE8CF2EF8E0DF2E0E9488F781E0CA +:109470008093AF020F900F908091AF02882349F044 +:109480008AE898E00F94E333BC018EEA9AE50F94E2 +:109490006D4180915B1882FF40C001E021E040E017 +:1094A00050E0BA0180EA91E00F94CD2436C00F94C9 +:1094B000CF2E40E060E08CE598E10E945B39E091BE +:1094C000CC08F0E0EE0FFF1FEE54F84B859194911D +:1094D0000F945C4142E060E08CE598E10E945B39CA +:1094E000E091CC08F0E0EE0FFF1FE25BF94B8591B5 +:1094F00094910F945C4160ED77E080E090E00F94F0 +:109500008A9B1F910F91FF90EF90DF90CF90BF90BB +:10951000AF909F908F900D9471291F910F91FF90A4 +:10952000EF90DF90CF90BF90AF909F908F90089575 +:1095300020E030E04EE353E46091F1177091F217B0 +:109540008091F3179091F4170F9435A6181634F400 +:1095500061E08CE896E50E94C9B52CC00F94CF2E2F +:1095600040E060E08CE598E10E945B39E091CC0836 +:10957000F0E0EE0FFF1FEE54F84B859194910F949D +:109580005C4142E060E08CE598E10E945B39E0914B +:10959000CC08F0E0EE0FFF1FE25BF94B8591949150 +:1095A0000F945C4160ED77E080E090E00F948A9B3F +:1095B0000F94CF2E0D9471290F94CF2E41E060E0CF +:1095C0008CE598E10E945B39E091CC08F0E0EE0F69 +:1095D000FF1FEC5EF84B859194910F945C4142E043 +:1095E00060E08CE598E10E945B39E091CC08F0E006 +:1095F000EE0FFF1FE65BF94B859194910D945C4152 +:109600000F94CF2E42E060E08CE598E10E945B3938 +:10961000E091CC08F0E0EE0FFF1FE451F84B85918C +:1096200094910D945C411F93CF93DF930F94CF2EB1 +:1096300040E060E08CE598E10E945B39E091CC0865 +:10964000F0E0EE0FFF1FE050F94B859194910F94DD +:109650005C4142E060E08CE598E10E945B39E0917A +:10966000CC08F0E0EE0FFF1FE85AF94B859194917A +:109670000F945C4110E043E0612F8CE598E10E947B +:109680005B3963EA74E08CE598E10F941A9ECAE0B6 +:10969000D0E00F94A21881E00E946F5865E570E059 +:1096A00080E090E00F948A9B219799F71F5F143117 +:1096B00011F7DF91CF911F9108951F93CF93DF93FF +:1096C0000F94CF2E40E060E08CE598E10E945B397A +:1096D000E091CC08F0E0EE0FFF1FE450F94B8591CC +:1096E00094910F945C4142E060E08CE598E10E9427 +:1096F0005B39E091CC08F0E0EE0FFF1FE85AF94B20 +:10970000859194910F945C4110E043E0612F8CE5CA +:1097100098E10E945B3963EA74E08CE598E10F946C +:109720001A9ECAE0D0E00F94A21881E00E946F5800 +:1097300069E870E080E090E00F948A9B219799F7A8 +:109740001F5F143111F7DF91CF911F9108950F938F +:109750001F93CF93DF930F94CF2E40E060E08CE512 +:1097600098E10E945B39E091CC08F0E0EE0FFF1F1A +:10977000EE52F84B859194910F945C4141E061E089 +:109780008CE598E10E945B39E091CC08F0E0EE0FA7 +:10979000FF1FE257FB4B859194910F945C4142E08F +:1097A00061E08CE598E10E945B39E091CC08F0E043 +:1097B000EE0FFF1FE057F94B859194910F945C4198 +:1097C00043E061E08CE598E10E945B39E091CC08D0 +:1097D000F0E0EE0FFF1FEC56F94B859194910F943A +:1097E0005C4141E060E08CE598E10E945B396EE30A +:1097F00075E08CE598E10F941A9E009104191127E9 +:1098000007FD1095C1E0D0E08091F1089091F20839 +:10981000892B09F072C00F94A21881E00E946F5842 +:1098200020910419332727FD3095C801821B930B23 +:1098300097FF03C091958195910905970CF44DC050 +:10984000201731070CF42197021713070CF4219607 +:10985000C430D1052CF4209729F4C1E0D0E002C037 +:10986000C3E0D0E041E060E08CE598E10E945B3924 +:109870006AE576E08CE598E10F941A9E42E060E09C +:109880008CE598E10E945B396AE576E08CE598E129 +:109890000F941A9E43E060E08CE598E10E945B39EA +:1098A0006AE576E08CE598E10F941A9E4C2F60E013 +:1098B0008CE598E10E945B396EE375E08CE598E1F8 +:1098C0000F941A9E00910419112707FD109564E664 +:1098D00070E080E090E00F948A9B0F94B33188236E +:1098E00009F492CFD093F208C093F10864EF71E0CD +:1098F00080E090E00F948A9B87CF0F94CF2EDF916A +:10990000CF911F910F910D9471294F925F926F9299 +:109910007F928F929F92AF92BF92CF92DF92EF92FF +:10992000FF920F931F93CF93DF93CDB7DEB72C97A2 +:109930000FB6F894DEBF0FBECDBF80910809882313 +:1099400009F4ECC0C090C508D090C608E090C708E4 +:10995000F090C808C701B60120EA36E841E050E0BF +:109960000F9409A929873A874B875C873E832D830B +:109970000F945B9B009128081091290820912A08D8 +:1099800030912B08601B710B820B930B28EE33E098 +:1099900040E050E00F9409A929013A01C90160E1B2 +:1099A0007EE00F94F6A84B0180EF91EF689F900145 +:1099B000699F300D789F300D1124C901840D951DCC +:1099C0006CE370E00F94F6A88B0144EC4603500161 +:1099D000479FB00C1124A20EB31EA40CB51C40E08E +:1099E00060E08CE598E10E945B39E091CC08F0E002 +:1099F000EE0FFF1FE05CFA4B859194910F945C4150 +:109A000041E066E08CE598E10E945B39CE01059665 +:109A10000F940437BC018CE598E10F941A9E69E31A +:109A200076E08CE598E10F941A9EA985BA8520E628 +:109A300039E74EEF5FEF0F946CA96C0D7D1D8E1D05 +:109A40009F1D2AE030E040E050E00F9409A9B901E1 +:109A5000882777FD8095982F0F94D4A469837A8303 +:109A60008B839C83CE0101960F94B334BC018CE5AB +:109A700098E10F941A9E6CE376E08CE598E10F94E0 +:109A80001A9E42E060E08CE598E10E945B39E0912B +:109A9000CC08F0E0EE0FFF1FE45CFA4B8591949147 +:109AA0000F945C4143E068E08CE598E10E945B39EB +:109AB0008982CE0101960F94CB33BC018CE598E1ED +:109AC0000F941A9E6FE376E08CE598E10F941A9E4E +:109AD0000983CE0101960F94CB33BC018CE598E14C +:109AE0000F941A9E69E376E08CE598E10F941A9E34 +:109AF000A982CE0101960F94CB33BC018CE598E18D +:109B00000F941A9E62E575E08CE598E10F941A9E19 +:109B10000F94B331882309F474C16FC181EF9FE0C2 +:109B20000F9465B06B017C018DEE9FE00F9465B0E2 +:109B30004B015C01C701B6010F94D2A469837A83FB +:109B40008B839C8320EAC21626E8D20621E0E20637 +:109B5000F10450F0C701B60120EA36E841E050E0D8 +:109B60000F9409A9D90102C0A0E0B0E0B887AF8383 +:109B70001A161B0684F420E639E74EEF5FEF0F94C8 +:109B80006CA96C0D7D1D8E1D9F1D0F94D2A4698341 +:109B90007A838B839C83C501B40120EA35E040E0E1 +:109BA00050E00F9409A9122F032FA0EAB5E00F94FB +:109BB00062A9A5019401261B370B480B590BCA015A +:109BC000B9012CE330E040E050E00F9409A9F22EF7 +:109BD00030E6139F800C11244CE3F49E801811246E +:109BE0000F94CF2E40E060E08CE598E10E945B3955 +:109BF000E091CC08F0E0EE0FFF1FE85CFA4B859196 +:109C000094910F945C41CE0101960F94B334FC0102 +:109C100001900020E9F7682F6E1B6E5E41E08CE535 +:109C200098E10E945B39CE0101960F94B334BC01D8 +:109C30008CE598E10F941A9E8F8198851816190665 +:109C40007CF5CE0101960F94B334FC010190002005 +:109C5000E9F7682F6E1B615F41E08CE598E10E9497 +:109C60005B3962E476E08CE598E10F941A9ECE01B0 +:109C700001960F94B334FC0101900020E9F7682F9E +:109C80006E1B665F41E08CE598E10E945B39CE0176 +:109C900007960F94E240BC018CE598E10F941A9E60 +:109CA00041E062E18CE598E10E945B396DE376E08A +:109CB0008CE598E10F941A9E42E060E08CE598E113 +:109CC0000E945B39E091CC08F0E0EE0FFF1FEC5CE6 +:109CD000FA4B859194910F945C4143E062E18CE5ED +:109CE00098E10E945B396DE376E08CE598E10F9492 +:109CF0001A9E43E06EE08CE598E10E945B39912C5E +:109D00009E828D82CE0105960F940437BC018CE5AE +:109D100098E10F941A9E43E06EE08CE598E10E9472 +:109D20005B3965E873E08CE598E10F941A9E43E097 +:109D30006CE08CE598E10E945B3965E476E08CE5A7 +:109D400098E10F941A9E43E069E08CE598E10E9447 +:109D50005B398F2D90E09E838D83CE0105960F9405 +:109D60000437BC018CE598E10F941A9E43E069E04A +:109D70008CE598E10E945B3965E873E08CE598E139 +:109D80000F941A9E43E067E08CE598E10E945B39EE +:109D900067E876E08CE598E10F941A9E43E064E072 +:109DA0008CE598E10E945B39812F902F9E838D83F3 +:109DB000CE0105960F940437BC018CE598E10F9411 +:109DC0001A9E84E090E090931802809317020F94FB +:109DD000B33181110CC00F94A21881E00E946F581A +:109DE00064E670E080E090E00F948A9BF0CF81E021 +:109DF00090E090931802809317020F94BE240F9462 +:109E000071292C960FB6F894DEBF0FBECDBFDF913F +:109E1000CF911F910F91FF90EF90DF90CF90BF9067 +:109E2000AF909F908F907F906F905F904F9008952C +:109E30000F931F93CF93DF93EC018430910524F0AF +:109E40008C010350110902C000E010E040E060E026 +:109E50008CE598E10E945B3967E476E08CE598E157 +:109E60000F941A9E40E061E08CE598E10E945B3916 +:109E7000000F111FF801E45FF84B859194910F9446 +:109E80005C4141E060E08CE598E10E945B3967E469 +:109E900076E08CE598E10F941A9E41E061E08CE554 +:109EA00098E10E945B39F801E25FF84B859194914B +:109EB0000F945C4142E060E08CE598E10E945B39E0 +:109EC00067E476E08CE598E10F941A9E43E060E049 +:109ED0008CE598E10E945B3967E476E08CE598E1D7 +:109EE0000F941A9EC130D10511F440E008C0C23071 +:109EF000D10511F441E003C0239734F042E060E063 +:109F00008CE598E10E945B396EE375E08CE598E1A1 +:109F1000DF91CF911F910F910D941A9E0F931F9374 +:109F2000CF93DF938FEF8093CC080F94232E0F9461 +:109F3000CF2E81E090E07CDF00910419112707FD0E +:109F40001095C1E0D0E08091CC088F3F09F048C067 +:109F50000F94A21881E00E946F58209104193327B2 +:109F600027FD3095C801821B930B97FF03C0919585 +:109F7000819591090597F4F0201731070CF421978A +:109F8000021713070CF42196C330D1052CF4209747 +:109F900029F4C1E0D0E002C0C2E0D0E0CE0148DF49 +:109FA00000910419112707FD109564E670E080E028 +:109FB00090E004C064E170E080E090E00F948A9B40 +:109FC0000F94B331882309F4BECF8C2F81500F94A6 +:109FD0007F2464EF71E080E090E00F948A9BB3CF20 +:109FE00080919D0790919E0720919F073091A00737 +:109FF000821B930B8F779927029724F01092CC083D +:10A000001092B2020F94AB2E0F94CF2EDF91CF910E +:10A010001F910F910D947129EF92FF920F931F934F +:10A02000CF93DF930F94CF2E40E060E08CE598E172 +:10A030000E945B396CE576E08CE598E10F941A9EFE +:10A0400000E010E0C1E0D0E020910419422F552734 +:10A0500041950CF45095CA0157FF03C09195819525 +:10A060009109039784F027FF02C0219702C02111B4 +:10A070002196C330D1052CF4209729F4C1E0D0E01B +:10A0800002C0C2E0D0E042E060E08CE598E10E94CE +:10A090005B3961E576E08CE598E10F941A9E43E028 +:10A0A00060E08CE598E10E945B3961E576E08CE543 +:10A0B00098E10F941A9E42E062E08CE598E10E94DC +:10A0C0005B39E091CC08F0E0EE0FFF1FE257FB4B4D +:10A0D000859194910F945C4143E062E08CE598E1B6 +:10A0E0000E945B39E091CC08F0E0EE0FFF1FE856CC +:10A0F000F94B859194910F945C414C2F4F5F60E038 +:10A100008CE598E10E945B396EE375E08CE598E19F +:10A110000F941A9E64E670E080E090E00F948A9BB2 +:10A120000F5F1F4F0536110534F083E690E00F9462 +:10A13000AE3B00E010E00F94B331882379F084E166 +:10A1400090E0C130D105D9F40F94AE3B84E090E0AB +:10A150000F94AE3BEE24E394F12C02C0E12CF12CE1 +:10A160000F94A21880E00E946F58EF2809F46CCF7A +:10A17000DF91CF911F910F91FF90EF9008950F9471 +:10A18000AE3B85E090E00F94AE3BE2E0EE2EF12C8A +:10A19000E7CF1F93CF93DF93C82F0F94CF2E40E0CC +:10A1A00060E08CE598E10E945B39E091CC08F0E03A +:10A1B000EE0FFF1FEE55FA4B859194910F945C4181 +:10A1C00041E060E08CE598E10E945B39E091CC08C9 +:10A1D000F0E0EE0FFF1FCC2319F0E255FA4B02C05E +:10A1E000E654FA4B859194910F945C418091010162 +:10A1F0008860809301016FEF70E086E00F942E9CE1 +:10A2000064EF71E080E090E00F948A9B42E061E0AF +:10A210008CE598E10E945B39E091CC08F0E0EE0F0C +:10A22000FF1FEA56FA4B859194910F945C4143E0ED +:10A2300060E08CE598E10E945B396EE375E08CE5A7 +:10A2400098E10F941A9E43E061E08CE598E10E944A +:10A250005B39E091CC08F0E0EE0FFF1FE656FA4BB9 +:10A26000859194910F945C4184E090E09093180262 +:10A27000809317021C2FD1E0DC27809101018860B8 +:10A28000809301016FEF70E086E00F942E9C809127 +:10A290000419482F552741950CF450959A0157FF02 +:10A2A00003C0319521953109233031050CF47FC06D +:10A2B00087FF3BC01D2F42E060E08CE598E10E94E3 +:10A2C0005B396EE375E08CE598E10F941A9E42E0ED +:10A2D00061E08CE598E10E945B39E091CC08F0E008 +:10A2E000EE0FFF1FEA56FA4B859194910F945C4153 +:10A2F00043E060E08CE598E10E945B396AE576E036 +:10A300008CE598E10F941A9E43E061E08CE598E1BA +:10A310000E945B39E091CC08F0E0EE0FFF1FE6569B +:10A32000FA4B859194910F945C4180910419181611 +:10A330000CF03BC042E060E08CE598E10E945B39A4 +:10A340006AE576E08CE598E10F941A9E42E061E0C0 +:10A350008CE598E10E945B39E091CC08F0E0EE0FCB +:10A36000FF1FEA56FA4B859194910F945C4143E0AC +:10A3700060E08CE598E10E945B396EE375E08CE566 +:10A3800098E10F941A9E43E061E08CE598E10E9409 +:10A390005B39E091CC08F0E0EE0FFF1FE656FA4B78 +:10A3A000859194910F945C411C2F109204190F9485 +:10A3B000A21864E670E080E090E00F948A9B0F940E +:10A3C000B331882309F459CF22E030E030931802EA +:10A3D00020931702809101018062809301019FB751 +:10A3E000F894809102018F7D809302019FBF80913C +:10A3F000010188608093010160E070E086E00F94C5 +:10A400002E9C10926908109268080F94A218812F50 +:10A41000DF91CF911F9108950F931F93CF93DF93F7 +:10A420001F92CDB7DEB7142F462F682F8CE598E129 +:10A4300059830E945B39E12F5981F52F64918F0177 +:10A440000F5F1F4F662331F08CE598E10E941D3CA1 +:10A45000F801F4CF0F90DF91CF911F910F910895E4 +:10A460006F927F928F929F92AF92BF92CF92DF9224 +:10A47000EF92FF920F931F93CF93DF931F92CDB76D +:10A48000DEB73C016B017A01580129830F945B9B75 +:10A49000605C7D4B8F4F9F4F60934A1870934B18B1 +:10A4A00080934C1890934D182981EC14FD042CF4E2 +:10A4B0008CE7882E86E0982E04C007E6802E06E002 +:10A4C000902E21110F94CF2E40E060E08CE598E1B2 +:10A4D0000E945B398FEF6816780619F061147104D9 +:10A4E00061F4E091CC08F0E0EE0FFF1FEE55FA4B5F +:10A4F000859194910F945C4130C0E1E06E16710437 +:10A5000061F4E091CC08F0E0EE0FFF1FEE55FA4B3E +:10A51000859194910F945C4130C0F2E06F16710404 +:10A5200061F4E091CC08F0E0EE0FFF1FEE52FA4B21 +:10A53000859194910F945C4140C083E0681671044A +:10A5400061F4E091CC08F0E0EE0FFF1FE653FA4B08 +:10A55000859194910F945C4140C0E4E06E167104C3 +:10A5600061F4E091CC08F0E0EE0FFF1FEA53FA4BE4 +:10A57000859194910F945C413CC0F5E06F16710495 +:10A5800061F4E091CC08F0E0EE0FFF1FEE53FA4BC0 +:10A59000859194910F945C4130C086E068167104F7 +:10A5A00061F4E091CC08F0E0EE0FFF1FE254FA4BAB +:10A5B000859194910F945C412CC0E7E06E16710474 +:10A5C00061F4E091CC08F0E0EE0FFF1FEA52FA4B85 +:10A5D000859194910F945C4128C0F8E06F16710446 +:10A5E00041F4E091CC08F0E0EE0FFF1FEA52FA4B85 +:10A5F00027C089E06816710421F0EAE06E16710444 +:10A6000041F4E091CC08F0E0EE0FFF1FE253FA4B6B +:10A6100017C0FBE06F16710441F4E091CC08F0E044 +:10A62000EE0FFF1FE652FA4B0BC08CE06816710468 +:10A6300059F4E091CC08F0E0EE0FFF1FEA55FA4B19 +:10A64000859194910F945C4141E060E08CE598E144 +:10A650000E945B3969E676E08CE598E10F941A9EDA +:10A66000C30101960397A0F5E091CC08F0E0EE0F4E +:10A67000FF1FE655FA4B4591549162E080E0CCDE35 +:10A6800042E062E18CE598E10E945B39EFEF6E16E3 +:10A690007E0611F4B40102C06AE175E08CE598E130 +:10A6A0000F941A9EE091CC08F0E0EE0FFF1FE058E7 +:10A6B000FA4B4591549163E080E0AEDE43E062E105 +:10A6C0008CE598E10E945B396A946728D9F021C033 +:10A6D000C30109970297F8F4E091CC08F0E0EE0F7F +:10A6E000FF1FEE56FA4B4591549162E080E094DEF4 +:10A6F00042E062E18CE598E10E945B3989E06816EE +:10A70000710439F06AE175E08CE598E10F941A9EC6 +:10A7100084C0B401F9CFE9E06E1671040CF07DC07D +:10A72000F3E06F16710439F083E06816710434F4B5 +:10A7300040E050E005C041E050E002C042E050E09F +:10A7400084012EE736E069E070E083E090E00F944A +:10A750000924E4E06E16710439F0F4E06F16710418 +:10A7600034F440E050E005C041E050E002C042E077 +:10A7700050E0840123EC36E062E070E082E090E09B +:10A780000F94092485E06816710439F0E5E06E162F +:10A79000710434F440E050E005C041E050E002C0F4 +:10A7A00042E050E084012EE936E068E070E082E0AB +:10A7B00090E00F940924F6E06F16710439F086E0FA +:10A7C0006816710434F440E050E005C041E050E008 +:10A7D00002C042E050E0840120EB36E06EE070E021 +:10A7E00082E090E00F940924E7E06E16710439F0DE +:10A7F000F7E06F16710434F440E050E005C041E02A +:10A8000050E002C042E050E0840125E836E060E01C +:10A8100070E083E090E00F9409241A141B041CF4E8 +:10A82000C5010E9409578FEFC81AD80AEE0CFF1C09 +:10A83000EC14FD041CF480E090E001C0C6010F9010 +:10A84000DF91CF911F910F91FF90EF90DF90CF900C +:10A85000BF90AF909F908F907F906F9008952F92B0 +:10A860003F924F925F926F927F928F929F92AF92A0 +:10A87000BF92CF92DF92EF92FF920F931F93CF93ED +:10A88000DF93CDB7DEB72C970FB6F894DEBF0FBEBF +:10A89000CDBF2C019B01CB016AE070E00F94F6A8BC +:10A8A0003B01620E731E1B821A821C861B86212CA2 +:10A8B000312C1F821E8219829201220F331F220F18 +:10A8C000331F2258374F3D832C83C201049699874A +:10A8D000888720E030E040E85FE3AC81BD816D9186 +:10A8E0007D918D919C910F9458A3EC81FD816083A3 +:10A8F000718382839383E0908608F09087080091AB +:10A90000880810918908209182083091830840912D +:10A9100084085091850860917E0870917F0880912D +:10A92000800890918108AAE6B8E0BF93AF93812C8C +:10A93000912CE4E3AE2EE2E4BE2EFAE8CF2EF8E04E +:10A94000DF2E0E9488F70F94350D0F900F901C9BFF +:10A950002EC04114510451F4F0916417F983809191 +:10A960006217811126C022E030E01EC031E043169C +:10A97000510461F480916217898380916417811179 +:10A9800074C0A2E0B0E0BC87AB8717C0B2E04B1642 +:10A99000510499F483B182958170898390916417F1 +:10A9A000E1E09E27292F30E03C872B8706C030E06E +:10A9B00005C081E090E09C878B8731E08A819B8194 +:10A9C0008630910524F401969B838A8310C000E0B1 +:10A9D00010E020E043E050E06E817F81888599851A +:10A9E0003A873EDD9F838E831B821A823A853A879F +:10A9F0000F94A21881E00E946F583A856214730484 +:10AA000034F09FEF291A390A332309F462CFA98160 +:10AA1000A1112EC0B1E04B16510439F0E2E04E1600 +:10AA2000510431F063EC76E005C06EE976E002C0D7 +:10AA300060EB76E02B853C852130310531F022300A +:10AA4000310531F043EC56E005C04EE956E002C056 +:10AA500040EB56E0261437041CF085E090E002C07D +:10AA600084E090E00F94EA4503C01C861B86A5CFC6 +:10AA700089812C960FB6F894DEBF0FBECDBFDF9153 +:10AA8000CF911F910F91FF90EF90DF90CF90BF90EB +:10AA9000AF909F908F907F906F905F904F903F907E +:10AAA0002F9008955F926F927F928F929F92AF92B4 +:10AAB000BF92CF92DF92EF92FF920F931F93CF93AB +:10AAC000DF93582E8823E1F06091E1177091E2172F +:10AAD0008091E3179091E4170F94A1A46B0160910A +:10AAE000F1177091F2178091F3179091F4170F946A +:10AAF000A1A45B01D4EB8D2E912C80E090E01BC0D3 +:10AB00006091F1177091F2178091F3179091F417FB +:10AB10000F94A1A46B016091E1177091E2178091ED +:10AB2000E3179091E4170F94A1A45B01CCE38C2E62 +:10AB3000912C88EC90E09093FA178093F9175520A8 +:10AB400019F084E690E002C080E090E09093F8175E +:10AB50008093F7170F94A21881E00E946F5881E04C +:10AB600090E09093180280931702E12CF12CC0E042 +:10AB7000D0E0B5E06B2E712C21960F94A21881E0E5 +:10AB80000E946F5800E911E020E042E050E0B70178 +:10AB9000552019F087E090E002C083E090E060DC8F +:10ABA0007C01CE01B3010F94F6A8892B11F40E9409 +:10ABB0007660C815D90504F31092FA171092F917A8 +:10ABC0001092F8171092F7170F94A218B501882762 +:10ABD00077FD8095982F552071F18090E117909026 +:10ABE000E217A090E317B090E4170F94D4A49B0150 +:10ABF000AC016091F1177091F2178091F317909169 +:10AC0000F4170F9458A30F94A1A46A3071050CF0A7 +:10AC100047C0B601882777FD8095982F0F94D4A45C +:10AC20009B01AC01C501B4010F9458A30F94A1A4DA +:10AC300083E090E02CC08090F1179090F217A090E4 +:10AC4000F317B090F4170F94D4A49B01AC0160915A +:10AC5000E1177091E2178091E3179091E4170F9438 +:10AC600058A30F94A1A463307105D4F4B6018827CA +:10AC700077FD8095982F0F94D4A49B01AC01C5015A +:10AC8000B4010F9458A30F94A1A48AE090E0681730 +:10AC900079077CF44BEB54E0BA0181E090E005C009 +:10ACA0004BEB54E0BA0182E090E00F94EA45C0E03B +:10ACB00001C0C1E00F94A21881E00E946F5822E009 +:10ACC00030E030931802209317028C2FDF91CF9140 +:10ACD0001F910F91FF90EF90DF90CF90BF90AF90BA +:10ACE0009F908F907F906F905F9008952F923F92EA +:10ACF0004F925F926F927F928F929F92AF92BF928C +:10AD0000CF92DF92EF92FF920F931F93CF93DF9337 +:10AD100000D01F92CDB7DEB78C01212C312C68EC0E +:10AD2000462E62E4562E7CE3672E712C0C30110502 +:10AD3000E8F7F801EB57FF4F0D9447A9E091CC08D5 +:10AD4000F0E0EE0FFF1FEA55FB4B8591949141E037 +:10AD500060E00F94426F882309F4D0C161E08FE571 +:10AD60009FE00F948DB001E010E0E0CF87EF9FE00F +:10AD70000F945DB0863E09F437C020F4813009F4A9 +:10AD8000BDC105C0803F31F08A3F09F4BDC102E07A +:10AD900010E0CCCF04E010E0C9CFE091CC08F0E0A7 +:10ADA000EE0FFF1FEE54FB4B859194910F945D7A4B +:10ADB0000F94DC71882309F4ADC16AEF87EF9FE03F +:10ADC0000F946FB0A1C1E091CC08F0E0EE0FFF1F2F +:10ADD000E256FB4B859194910F945D7A80E00E943E +:10ADE000D84B882309F496C105E010E09FCFE0918D +:10ADF000CC08F0E0EE0FFF1FE656FB4B85919491D7 +:10AE00000F945D7AE091CC08F0E0EE0FFF1FE05D5B +:10AE1000FA4B8591949140E060E00F943770811176 +:10AE20000BC0E091CC08F0E0EE0FFF1FEA59F94BA0 +:10AE3000859194910F945D7A81E00E94D84B88238C +:10AE400009F468C10BE010E071CF87ED90E09093BA +:10AE5000FA178093F9177092F8176092F717E0913C +:10AE6000CC08F0E0EE0FFF1FEE52FB4B8591949162 +:10AE700040E060E00F943770882309F448C108E08F +:10AE800010E054CFE091CC08F0E0EE0FFF1FEE553C +:10AE9000FB4B859194910E94CC432092860830927E +:10AEA0008708409288085092890820E030E040E707 +:10AEB00052E4609162027091630280916402909109 +:10AEC00065020F9439A44B015C01209182083091F6 +:10AED0008308409184085091850860917E087091A4 +:10AEE0007F088091800890918108AAE6B8E0BF931E +:10AEF000AF93EAE8CE2EE8E0DE2EE12CF12C08EC50 +:10AF000012E40E9488F780ED97E00E940957E091D3 +:10AF1000CC08F0E0EE0FFF1FE253FB4B85919491BC +:10AF20000E94CC430F900F9020E030E047E553E4BF +:10AF30006091F1177091F2178091F3179091F417C7 +:10AF40000F9458A36B017C0120E030E0A9010F941D +:10AF500035A618160CF051C020E030E040E450E473 +:10AF6000C701B6010F9435A618160CF050C0E09139 +:10AF7000CC08F0E0EE0FFF1FE253FB4B859194915C +:10AF80000E94CC4344E060E08CE598E10E945B398C +:10AF900062E08CE598E10F941B9E8091F1179091EF +:10AFA000F217A091F317B091F41789839A83AB83BA +:10AFB000BC83CE0101960F947A40BC018CE598E1E8 +:10AFC0000F941A9E6FE674E08CE598E10F941A9E38 +:10AFD0004AE050E067ED70E08CE598E10F94C19E87 +:10AFE0006AEB74E08CE598E10F941A9E0F94F322BB +:10AFF00088EE93E00E94095797CF20E030E040E4CC +:10B0000050ECC701B6010F9432A487FDB0CF07E022 +:10B0100010E08CCE0E9446BCE091CC08F0E0EE0F30 +:10B02000FF1FEA53FB4B859194910F945D7A80E06A +:10B030000F94E66D0F94CF2EE091CC08F0E0EE0F68 +:10B04000FF1FE450F94B4591549162E080E0E4D950 +:10B050000E942B570E9449BC4EC0E091CC08F0E002 +:10B06000EE0FFF1FEE53FB4B8591949141E060E0A2 +:10B070000F943770882309F44DC03DC0E091CC088F +:10B08000F0E0EE0FFF1FE255FB4B859194910F947A +:10B090005D7AE091CC08F0E0EE0FFF1FE655FB4B28 +:10B0A000859194910F945D7A88E090E09093E218F6 +:10B0B0008093E1182FC0E091CC08F0E0EE0FFF1F65 +:10B0C000E654FB4B8591949140E060E00F94426F11 +:10B0D000882309F4B7CE66EE87EF9FE00F946FB038 +:10B0E000E091CC08F0E0EE0FFF1FE652FB4B85919C +:10B0F00094910F945D7A09E010E018CE60E08FE53E +:10B100009FE00F948DB006C003E010E00FCE06E084 +:10B1100010E00CCEE2E3F6E584917F01882341F054 +:10B120000F94782AFFEFEF1AFF0AF7018491F6CF08 +:10B130004AE050E0B8018CE197E00E94493E0C30B3 +:10B14000110508F03BC0F801EF56FF4F0D9447A9D9 +:10B15000E091CC08F0E0EE0FFF1FE254FB4B17C06C +:10B16000E091CC08F0E0EE0FFF1FEA52FB4B0FC05E +:10B17000E091CC08F0E0EE0FFF1FE252FB4B07C05E +:10B18000E091CC08F0E0EE0FFF1FE653FB4B05917A +:10B19000149121C08091CC0890E0880F991FFC0188 +:10B1A000EA52FB4B059114911092C51884589B4BA1 +:10B1B000FC01859194910F9428300DC0E091CC084A +:10B1C000F0E0EE0FFF1FE254FB4B859194910930A4 +:10B1D000110521F08C01C8010F945D7A81E00F9474 +:10B1E000E66D0F94712982E00F94186B0F900F9009 +:10B1F0000F900F90DF91CF911F910F91FF90EF90E3 +:10B20000DF90CF90BF90AF909F908F907F906F9086 +:10B210005F904F903F902F900895AF92BF92CF9242 +:10B22000DF92EF92FF920F931F93CF93DF93CDB7EF +:10B23000DEB7AA970FB6F894DEBF0FBECDBF8091E0 +:10B24000E1189091E2180597C9F58091DF18909167 +:10B25000E018892B09F5809108098823C9F086E058 +:10B2600099E00E941EA8E091CC08F0E0EE0FFF1FCD +:10B27000E859F84B859194910F94283083E080939E +:10B28000AF0281E090E09093E0188093DF1804C053 +:10B290001092E2181092E1188091DF189091E01856 +:10B2A000019761F49091641180916311981306C025 +:10B2B0008091FA08882311F40D94B2618091E1180D +:10B2C0009091E218069709F08FC08091DF18909155 +:10B2D000E018892B49F483E08093AF0284E090E08A +:10B2E0009093E0188093DF188091DF189091E01818 +:10B2F000019759F49091641180916311981305C0DE +:10B300000E9484B681110D94CC618091DF189091D8 +:10B31000E018029709F04CC090916411809163117C +:10B32000981346C08091EC088F938091EB088F931F +:10B330008CE899E59F938F938E010F5F1F4F1F93AA +:10B340000F930F9441AE60E0C8010E94C9B56DEA49 +:10B3500076E0C8010F940DAD83EE98E00F942F3482 +:10B36000BC01C8010F94EEAC60E0C8010E94C9B5F1 +:10B370000F900F900F900F900F900F9080910109F8 +:10B3800081110D94196261E088E899E50E94C9B5C0 +:10B3900061E082E899E50E94C9B561E08EE799E530 +:10B3A0000E94C9B581E090E09093E0188093DF1887 +:10B3B0008091DF189091E018039741F49091641107 +:10B3C00080916311981711F40D941E628091DF181B +:10B3D0009091E018049741F4909164118091631169 +:10B3E000981711F40D943A628091E1189091E21847 +:10B3F000089709F004C584ED92EEA6E2BFE38FA39F +:10B4000098A7A9A7BAA78FE399EFA9E5BCE38BA3F7 +:10B410009CA3ADA3BEA38091DF189091E018029782 +:10B4200074F00F945B9B605D7A488F4F9F4F6093E1 +:10B430003E1870933F188093401890934118809164 +:10B44000DF189091E018892B31F489E090E0909317 +:10B45000E0188093DF188091DF189091E018099729 +:10B4600059F49091641180916311981305C00E9462 +:10B4700084B681110D9489628091DF189091E01853 +:10B48000089759F49091641180916311981305C045 +:10B490000E9484B681110D94C5628091DF1890914D +:10B4A000E018079759F490916411809163119813F3 +:10B4B00005C00E9484B681110D940A638091DF1843 +:10B4C0009091E018069709F012C190916411809153 +:10B4D000631198130CC10E9484B6882309F407C134 +:10B4E0000F945B9B605D7A488F4F9F4F60933E182F +:10B4F00070933F188093401890934118AA24A39406 +:10B50000B12C00E010E069E876E0CE0101960F94DE +:10B510000DADB801882777FD8095982F0F94D4A49E +:10B520002DEC3CEC4CEC5EE30F9407A79B01AC01C7 +:10B530000F9459A39B01AC0160E070E08CE092E4B1 +:10B540000F9458A36F8F78A389A39AA3CE014F9627 +:10B550000F942F34BC01CE0101960F94EEAC6FEC2A +:10B5600076E0CE0101960F94EEACCE0187960F9453 +:10B570004B35BC01CE0101960F94EEAC60E0CE01DC +:10B5800001960E94C9B562E976E0CE0101960F945A +:10B590000DADB501882777FD8095982F0F94D4A421 +:10B5A0002DEC3CEC4CEC5EE30F9407A79B01AC0147 +:10B5B00060E070E08CE092E40F9458A36B017C0192 +:10B5C0006F8F78A389A39AA3CE014F960F942F343F +:10B5D000BC01CE0101960F94EEAC6FEC76E0CE018B +:10B5E00001960F94EEACCE0183960F944B35BC01BF +:10B5F000CE0101960F94EEAC60E0CE0101960E9460 +:10B60000C9B567E976E0CE0101960F940DADCF8EF6 +:10B61000D8A2E9A2FAA2CE014F960F942F34BC0112 +:10B62000CE0101960F94EEAC6FEC76E0CE01019660 +:10B630000F94EEACCE0187960F944B35BC01CE0132 +:10B6400001960F94EEAC60E0CE0101960E94C9B560 +:10B6500062E976E0CE0101960F940DAD0F5F1F4FAA +:10B66000B801882777FD8095982F0F94D4A42DECEE +:10B670003CEC4CEC5EE30F9407A79B01AC010F94EC +:10B6800059A39B01AC0160E070E08CE092E40F9460 +:10B6900058A36F8F78A389A39AA3CE014F960F94D6 +:10B6A0002F34BC01CE0101960F94EEAC6FEC76E026 +:10B6B000CE0101960F94EEACCE0183960F944B35DC +:10B6C000BC01CE0101960F94EEAC60E0CE01019674 +:10B6D0000E94C9B522E0A20EB11C0430110509F088 +:10B6E00012CF85E090E09093E0188093DF1880916E +:10B6F000DF189091E018059709F012C1909164113C +:10B700008091631198130CC10E9484B6882309F4B8 +:10B7100007C10F945B9B605D7A488F4F9F4F60938A +:10B720003E1870933F188093401890934118A9E0F9 +:10B73000AA2EB12C04E010E069E876E0CE01019673 +:10B740000F940DADB801882777FD8095982F0F9441 +:10B75000D4A42DEC3CEC4CEC5EE30F9407A79B01CA +:10B76000AC010F9459A39B01AC0160E070E08CE048 +:10B7700092E40F9458A36F8F78A389A39AA3CE0164 +:10B780004F960F942F34BC01CE0101960F94EEAC6E +:10B790006FEC76E0CE0101960F94EEACCE01879669 +:10B7A0000F944B35BC01CE0101960F94EEAC60E0D6 +:10B7B000CE0101960E94C9B562E976E0CE010196FC +:10B7C0000F940DADB501882777FD8095982F0F94C4 +:10B7D000D4A42DEC3CEC4CEC5EE30F9407A79B014A +:10B7E000AC0160E070E08CE092E40F9458A36B0130 +:10B7F0007C016F8F78A389A39AA3CE014F960F94F3 +:10B800002F34BC01CE0101960F94EEAC6FEC76E0C4 +:10B81000CE0101960F94EEACCE0183960F944B357A +:10B82000BC01CE0101960F94EEAC60E0CE01019612 +:10B830000E94C9B567E976E0CE0101960F940DAD7F +:10B84000CF8ED8A2E9A2FAA2CE014F960F942F3440 +:10B85000BC01CE0101960F94EEAC6FEC76E0CE0108 +:10B8600001960F94EEACCE0187960F944B35BC0138 +:10B87000CE0101960F94EEAC60E0CE0101960E94DD +:10B88000C9B562E976E0CE0101960F940DAD0F5F68 +:10B890001F4FB801882777FD8095982F0F94D4A467 +:10B8A0002DEC3CEC4CEC5EE30F9407A79B01AC0144 +:10B8B0000F9459A39B01AC0160E070E08CE092E42E +:10B8C0000F9458A36F8F78A389A39AA3CE014F96A4 +:10B8D0000F942F34BC01CE0101960F94EEAC6FECA7 +:10B8E00076E0CE0101960F94EEACCE0183960F94D4 +:10B8F0004B35BC01CE0101960F94EEAC60E0CE0159 +:10B9000001960E94C9B582E0A80EB11C083011054D +:10B9100009F012CF84E090E09093E0188093DF1854 +:10B920008091DF189091E018049709F012C190916E +:10B9300064118091631198130CC10E9484B688230E +:10B9400009F407C10F945B9B605D7A488F4F9F4F4E +:10B9500060933E1870933F1880934018909341185D +:10B96000F1E1AF2EB12C08E010E069E876E0CE01FD +:10B9700001960F940DADB801882777FD8095982F1B +:10B980000F94D4A42DEC3CEC4CEC5EE30F9407A791 +:10B990009B01AC010F9459A39B01AC0160E070E0E6 +:10B9A0008CE092E40F9458A36F8F78A389A39AA395 +:10B9B000CE014F960F942F34BC01CE0101960F9407 +:10B9C000EEAC6FEC76E0CE0101960F94EEACCE01BA +:10B9D00087960F944B35BC01CE0101960F94EEACC7 +:10B9E00060E0CE0101960E94C9B562E976E0CE0121 +:10B9F00001960F940DADB501882777FD8095982F9E +:10BA00000F94D4A42DEC3CEC4CEC5EE30F9407A710 +:10BA10009B01AC0160E070E08CE092E40F9458A3CD +:10BA20006B017C016F8F78A389A39AA3CE014F96F7 +:10BA30000F942F34BC01CE0101960F94EEAC6FEC45 +:10BA400076E0CE0101960F94EEACCE0183960F9472 +:10BA50004B35BC01CE0101960F94EEAC60E0CE01F7 +:10BA600001960E94C9B567E976E0CE0101960F9470 +:10BA70000DADCF8ED8A2E9A2FAA2CE014F960F94B7 +:10BA80002F34BC01CE0101960F94EEAC6FEC76E042 +:10BA9000CE0101960F94EEACCE0187960F944B35F4 +:10BAA000BC01CE0101960F94EEAC60E0CE01019690 +:10BAB0000E94C9B562E976E0CE0101960F940DAD02 +:10BAC0000F5F1F4FB801882777FD8095982F0F943F +:10BAD000D4A42DEC3CEC4CEC5EE30F9407A79B0147 +:10BAE000AC010F9459A39B01AC0160E070E08CE0C5 +:10BAF00092E40F9458A36F8F78A389A39AA3CE01E1 +:10BB00004F960F942F34BC01CE0101960F94EEACEA +:10BB10006FEC76E0CE0101960F94EEACCE018396E9 +:10BB20000F944B35BC01CE0101960F94EEAC60E052 +:10BB3000CE0101960E94C9B5E2E0AE0EB11C0C30F8 +:10BB4000110509F012CF83E090E09093E018809304 +:10BB5000DF188091DF189091E018039709F012C167 +:10BB6000909164118091631198130CC10E9484B666 +:10BB7000882309F407C10F945B9B605D7A488F4F5F +:10BB80009F4F60933E1870933F1880934018909396 +:10BB90004118E9E1AE2EB12C0CE010E069E876E046 +:10BBA000CE0101960F940DADB801882777FD8095E1 +:10BBB000982F0F94D4A42DEC3CEC4CEC5EE30F9446 +:10BBC00007A79B01AC010F9459A39B01AC0160E056 +:10BBD00070E08CE092E40F9458A36F8F78A389A350 +:10BBE0009AA3CE014F960F942F34BC01CE0101963B +:10BBF0000F94EEAC6FEC76E0CE0101960F94EEACB4 +:10BC0000CE0187960F944B35BC01CE0101960F945F +:10BC1000EEAC60E0CE0101960E94C9B562E976E023 +:10BC2000CE0101960F940DADB501882777FD809563 +:10BC3000982F0F94D4A42DEC3CEC4CEC5EE30F94C5 +:10BC400007A79B01AC0160E070E08CE092E40F94E8 +:10BC500058A36B017C016F8F78A389A39AA3CE01AF +:10BC60004F960F942F34BC01CE0101960F94EEAC89 +:10BC70006FEC76E0CE0101960F94EEACCE01839688 +:10BC80000F944B35BC01CE0101960F94EEAC60E0F1 +:10BC9000CE0101960E94C9B567E976E0CE01019612 +:10BCA0000F940DADCF8ED8A2E9A2FAA2CE014F9685 +:10BCB0000F942F34BC01CE0101960F94EEAC6FECC3 +:10BCC00076E0CE0101960F94EEACCE0187960F94EC +:10BCD0004B35BC01CE0101960F94EEAC60E0CE0175 +:10BCE00001960E94C9B562E976E0CE0101960F94F3 +:10BCF0000DAD0F5F1F4FB801882777FD8095982FF6 +:10BD00000F94D4A42DEC3CEC4CEC5EE30F9407A70D +:10BD10009B01AC010F9459A39B01AC0160E070E062 +:10BD20008CE092E40F9458A36F8F78A389A39AA311 +:10BD3000CE014F960F942F34BC01CE0101960F9483 +:10BD4000EEAC6FEC76E0CE0101960F94EEACCE0136 +:10BD500083960F944B35BC01CE0101960F94EEAC47 +:10BD600060E0CE0101960E94C9B5F2E0AF0EB11CB1 +:10BD70000031110509F012CF82E090E09093E018B5 +:10BD80008093DF188091DF189091E018029751F4AA +:10BD90009091641180916311981304C00E9484B63D +:10BDA0008111ADC48091DF189091E018019739F5A9 +:10BDB0009091641180916311981321C00E9484B600 +:10BDC0008823E9F0E091CC08F0E0EE0FFF1FE45883 +:10BDD000FB4B859194910F9428301092E0181092AB +:10BDE000DF181092E2181092E1188FE59FE00F948F +:10BDF0005DB0813021F48AE090E00F947656809116 +:10BE0000E1189091E218029709F02FC18091DF1894 +:10BE10009091E018892B49F486E090E09093E01827 +:10BE20008093DF1881E08093C0088091DF189091A3 +:10BE3000E018019739F4909164118091631198177B +:10BE400009F4A3C48091DF189091E018029739F4A7 +:10BE50009091641180916311981709F4B2C4809194 +:10BE6000DF189091E018039739F490916411809154 +:10BE70006311981709F4C4C48091DF189091E018F9 +:10BE8000049739F49091641180916311981709F423 +:10BE9000C3C48091DF189091E018059759F59091EF +:10BEA000641180916311981325C0E091CC08F0E0F3 +:10BEB000EE0FFF1FE45CF94B859194910F942830AD +:10BEC00061E085E197E50E94C9B561E088E097E50A +:10BED0000E94C9B580916F08882309F4C2C480917B +:10BEE0007008882309F4BDC484E090E09093E018C2 +:10BEF0008093DF188091DF189091E018069739F44D +:10BF00009091641180916311981709F4ADC48091E8 +:10BF1000DF189091E018079709F09AC0909164118A +:10BF200080916311981394C00F94CF2EE091CC08A8 +:10BF3000F0E0EE0FFF1FE450FB4B4591549160E0A1 +:10BF400080E00F940C5265E873E08CE598E10F9463 +:10BF50001A9E41E060E08CE598E10E945B396EE357 +:10BF600075E08CE598E10F941A9EE091CC08F0E022 +:10BF7000EE0FFF1FEE58F74B4591549161E081E0C1 +:10BF80000F940C52E091CC08F0E0EE0FFF1FEC5044 +:10BF9000FB4B4591549162E081E00F940C52E0918B +:10BFA000CC08F0E0EE0FFF1FE453F84B459154919D +:10BFB00063E081E00F940C5284E090E090931802CB +:10BFC0008093170200E010E0FF24F3940F94A2186E +:10BFD00081E00E946F5820910419332727FD309586 +:10BFE000C801821B930B97FF03C09195819591091E +:10BFF00005970CF068C40F94B331882339F30F947C +:10C00000B3318111FCCF6AE070E080E090E00F94E2 +:10C010008A9B0F94B3318111FCCF82E090E0909322 +:10C020001802809317028FEF8F0D61E0813009F4C1 +:10C0300098C4823009F498C4811199C483E097E5CB +:10C040000E94C9B583E090E09093E0188093DF18D8 +:10C050008091DF189091E018089739F4909164115D +:10C0600080916311981709F485C48091E11890912B +:10C07000E218039721F41092E2181092E1188091CF +:10C08000E1189091E218049709F05DC08091DF18E3 +:10C090009091E018892B49F486E090E09093E018A5 +:10C0A0008093DF1881E08093C0088091DF18909121 +:10C0B000E018019739F490916411809163119817F9 +:10C0C00009F45FC48091DF189091E018029739F469 +:10C0D0009091641180916311981709F45DC4809167 +:10C0E000DF189091E018039739F4909164118091D2 +:10C0F0006311981709F457C48091DF189091E018E4 +:10C10000049739F49091641180916311981709F4A0 +:10C1100051C48091DF189091E018059739F49091FF +:10C12000641180916311981709F455C48091DF1848 +:10C130009091E018069739F4909164118091631101 +:10C14000981709F44FC48091E1189091E21807976D +:10C1500009F081C48091DF189091E018892BA9F42F +:10C1600083E090E09093BE088093BD0821E030E02A +:10C170003093BC082093BB082093C00823E0209391 +:10C18000AF029093E0188093DF188091DF189091B0 +:10C19000E018039739F49091641180916311981716 +:10C1A00009F433C48091DF189091E018029709F0E8 +:10C1B00098C08091D017882309F493C01092D017AB +:10C1C0001092BC081092BB08E091CC08F0E0EE0F92 +:10C1D000FF1FEE58F94B859194910F94283020E081 +:10C1E00030E0A9016091DD177091DE178091DF17B3 +:10C1F0009091E0170F9432A481111EC020E030E02E +:10C20000A9016091D9177091DA178091DB1790918D +:10C21000DC170F9432A481110FC020E030E0A90197 +:10C220006091D5177091D6178091D7179091D81734 +:10C230000F9432A48823C1F160EA76E0CE01019622 +:10C240000F940DAD8DED97E10F942F34BC01CE010D +:10C2500001960F94EEAC67EA76E0CE0101960F945A +:10C26000EEAC89ED97E10F942F34BC01CE0101961D +:10C270000F94EEAC6AEA76E0CE0101960F94EEAC34 +:10C2800085ED97E10F942F34BC01CE0101960F94F8 +:10C29000EEAC60E0CE0101960E94C9B561E081EC90 +:10C2A00096E50E94C9B50DC0E1E9F6E584918F01DC +:10C2B000882339F00F94782A0F5F1F4FF80184917B +:10C2C000F7CF0F945B9B6093D1187093D218809333 +:10C2D000D3189093D41881E090E09093E018809365 +:10C2E000DF188091DF189091E018019709F0B3C32F +:10C2F0000F945B9B0091D1181091D2182091D31804 +:10C300003091D418601B710B820B930B613D774009 +:10C310008105910508F49FC3E091CC08F0E0EE0F91 +:10C32000FF1FE458FB4B859194910F942830109295 +:10C33000BE081092BD081092C00880E090E0A2E50F +:10C34000B3E48093B3029093B402A093B502B09388 +:10C35000B6021092E0181092DF181092E2181092B4 +:10C36000E11879C3E091CC08F0E0EE0FFF1FE85C24 +:10C37000F94B859194910F94283081E08093DE18D9 +:10C380000E94085F1092E2181092E1181092E018D3 +:10C390001092DF180D945E598091FD088F93809163 +:10C3A000FC088F9385E999E59F938F938E010F5F2A +:10C3B0001F4F1F930F930F9441AE60E0C8010E947E +:10C3C000C9B51092DE180F945B9BC090D708D0902F +:10C3D000D808E090D908F090DA080091D3081091BD +:10C3E000D4082091D5083091D608C01AD10AE20AA3 +:10C3F000F30AC60ED71EE81EF91EC092D708D092C7 +:10C40000D808E092D908F092DA0886E099E00E9414 +:10C4100016A81092E0181092DF181092E2181092ED +:10C42000E1180F900F900F900F900F900F900D94B8 +:10C43000855961E088E799E50D94D05962EB76E083 +:10C44000CE0101960F940DAD8DEE98E00F947A40D9 +:10C45000BC01CE0101960F94EEAC60E0CE010196D6 +:10C460000E94C9B582E090E09093E0188093DF18B5 +:10C470000D94E65969EB76E0CE0101960F940DAD6F +:10C480008DEE98E00F947A40BC01CE0101960F9496 +:10C49000EEAC60E0CE0101960E94C9B561E084E790 +:10C4A00099E50E94C9B560EC76E0CE0101960F9443 +:10C4B0000DAD8BED98E00F942F34BC01CE010196A9 +:10C4C0000F94EEAC6DE976E0CE0101960F94EEACE0 +:10C4D0008FED98E00F942F34BC01CE0101960F949C +:10C4E000EEAC60E0CE0101960E94C9B5E091CC08A7 +:10C4F000F0E0EE0FFF1FEA5EF94B859194910F94E7 +:10C50000283083E090E09093E0188093DF180D943A +:10C51000F45961E08FE699E50E94C9B561E085E6CE +:10C5200099E50E94C9B561E08CE599E50E94C9B51D +:10C5300061E083E599E50E94C9B561E089E499E588 +:10C540000E94C9B5E091CC08F0E0EE0FFF1FE85162 +:10C55000F94B8591949161E00E94C9B561E085E451 +:10C5600099E50E94C9B561E081E499E50E94C9B5E9 +:10C5700061E088E399E50E94C9B588E090E0909376 +:10C58000E0188093DF180D943C5A0F94CF2E01E0F1 +:10C5900020E040E050E0BA0186EC91E00F94CD2419 +:10C5A00061E082E299E50E94C9B561E08AE099E51F +:10C5B0000E94C9B561E081E099E50E94C9B561E0DA +:10C5C0008DEF98E50E94C9B561E089EF98E50E947A +:10C5D000C9B561E085EF98E50E94C9B561E08CEDD1 +:10C5E00098E50E94C9B561E088EC98E50E94C9B55C +:10C5F00061E08DEB98E50E94C9B561E084EB98E5B8 +:10C600000E94C9B587E090E09093E0188093DF180E +:10C610000D944D5A0F945B9B605D7A488F4F9F4FEE +:10C6200060933E1870933F18809340189093411880 +:10C6300061E088EA98E50E94C9B561E08FE998E574 +:10C640000E94C9B561E08EE898E50E94C9B561E035 +:10C650008EE798E50E94C9B561E088E698E50E94FA +:10C66000C9B561E082E598E50E94C9B561E08DE356 +:10C6700098E50E94C9B561E088E298E50E94C9B5D5 +:10C6800061E082E198E50E94C9B561E08DEF97E530 +:10C690000E94C9B561E089EE97E50E94C9B561E0E5 +:10C6A00085ED97E50E94C9B561E080EC97E50E94B1 +:10C6B000C9B561E08BEA97E50E94C9B561E087E9F9 +:10C6C00097E50E94C9B565EC76E0CE0101960F941E +:10C6D0000DADCE0187960F944B35BC01CE0101966E +:10C6E0000F94EEAC60E0CE0101960E94C9B586E0E1 +:10C6F00090E09093E0188093DF180D945E5A0F94A9 +:10C700005B9B605D7A488F4F9F4F60933E1870939C +:10C710003F18809340189093411861E08EE797E5A9 +:10C720000E94C9B561E089E797E50E94C9B561E05B +:10C7300081E797E50E94C9B561E089E697E50E9427 +:10C74000C9B561E088E597E50E94C9B561E086E476 +:10C7500097E50E94C9B561E082E497E50E94C9B5FA +:10C760000F945B9B615071098109910960933E1898 +:10C7700070933F18809340189093411881E090E0A7 +:10C780009093E0188093DF180DCB1092E018109270 +:10C79000DF181092E2181092E118E091CC08F0E056 +:10C7A000EE0FFF1FE458FB4B859194910F942830B6 +:10C7B0001092BE081092BD081092C0081092DE18A8 +:10C7C00041CB1092F8171092F71761E08AE397E5D2 +:10C7D0000E94C9B50F94A218E091CC08F0E0EE0FCA +:10C7E000FF1FE458FB4B859194910F9428301092D1 +:10C7F000590881E090E09093E0188093DF182FCBE8 +:10C8000061E086E397E50E94C9B582E090E09093ED +:10C81000E0188093DF1830CBE091CC08F0E0EE0F09 +:10C82000FF1FE85AF94B859194910F94283061E0ED +:10C8300082E397E50E94C9B561E08EE297E50E9428 +:10C84000C9B561E089E197E50E94C9B51092481821 +:10C850001092471883E090E09093E0188093DF18DF +:10C8600018CB83E090E042CBE091CC08F0E0EE0FF3 +:10C87000FF1FE45CF94B859194910F94283011E0EF +:10C88000109359081092F8171092F7171092FA1790 +:10C890001092F9171092FC171092FB171092FE17C6 +:10C8A0001092FD170F94A2181093C00882E090E038 +:10C8B0009093BE088093BD0885E090E09093E018C7 +:10C8C0008093DF1824CB201731070CF4FA94021759 +:10C8D00013070CF4F39423E02F152CF01F142CF005 +:10C8E000FF24F39402C023E0F22E41E060E08CE5E7 +:10C8F00098E10E945B396AE576E08CE598E10F9457 +:10C900001A9E42E060E08CE598E10E945B396AE59E +:10C9100076E08CE598E10F941A9E43E060E08CE5A8 +:10C9200098E10E945B396AE576E08CE598E10F9426 +:10C930001A9E4F2D60E08CE598E10E945B396EE312 +:10C9400075E08CE598E10F941A9E00910419112767 +:10C9500007FD109564E670E080E090E00F948A9BFC +:10C960004ACB8CEF96E56CCB85EF96E569CB80EFF3 +:10C9700096E566CB87E090E09093E0188093DF180F +:10C9800074CB0F940C501092E0181092DF18109294 +:10C99000E2181092E11896CB81E090E09093E018B5 +:10C9A0008093DF189CCB82E090E09093E018809316 +:10C9B000DF18A2CB61E08CEE96E50E94C9B561E07C +:10C9C00087ED96E50E94C9B583E090E09093E0186A +:10C9D0008093DF189ECB84E090E09093E0188093E2 +:10C9E000DF18A4CB61E083ED96E50E94C9B561E054 +:10C9F00086EC96E50E94C9B50F94350D85E090E070 +:10CA00009093E0188093DF189ECB62ED76E0CE0124 +:10CA100001960F940DAD83EB92E00F947A40BC0128 +:10CA2000CE0101960F94EEAC60E0CE0101960E941B +:10CA3000C9B5E091CC08F0E0EE0FFF1FE259F94BC9 +:10CA4000859194910F94283082E090E09093E018C3 +:10CA50008093DF18A7CBAA960FB6F894DEBF0FBE5F +:10CA6000CDBFDF91CF911F910F91FF90EF90DF909D +:10CA7000CF90BF90AF9008958F929F92AF92BF9248 +:10CA8000CF92DF92EF92FF920F931F93CF93DF939A +:10CA9000CDB7DEB728970FB6F894DEBF0FBECDBF77 +:10CAA0008091B202813009F03FC01092B2020F941F +:10CAB000FC2E8091C518811111C0E091CC08F0E0E6 +:10CAC000EE0FFF1FE458FB4B6591749144E150E079 +:10CAD00080EB98E10F9495AC0F9400308DEE9FE0C1 +:10CAE0000F945DB08F3F01F58EEE9FE00F945DB027 +:10CAF0008F3FD1F48FEE9FE00F945DB08F3FA1F494 +:10CB000080EF9FE00F945DB08F3F71F440E050E004 +:10CB1000BA018DEE9FE00F9481B040E050E0BA0181 +:10CB200081EF9FE00F9481B080914918882321F014 +:10CB300081508093491803C081E08093AF028091B7 +:10CB4000AF02882309F4BEC48091E6188F5F8093FA +:10CB5000E6188E3129F40F9465291092E6180EC05C +:10CB60006AE00F94D5A8911109C020E044E064E187 +:10CB70008CE598E10E946D3A0F94F32220E030E0BA +:10CB800040E05FE36091F1177091F2178091F31725 +:10CB90009091F4170F9459A30F94A1A478876F83F1 +:10CBA0006091F9177091FA17882777FD8095982F73 +:10CBB0000F94D4A420E030E040E05FE30F9459A349 +:10CBC0000F94A1A47E836D8340E060E08CE598E142 +:10CBD0000E945B3962E08CE598E10F941B9ECE01C8 +:10CBE00007960F940437BC018CE598E10F941A9EC8 +:10CBF0006FE28CE598E10F941B9ECE0105960F9491 +:10CC00009240BC018CE598E10F941A9E84E29AE56B +:10CC10000F945C4181E29AE50F945C4140E06AE048 +:10CC20008CE598E10E945B398DE19AE50F945C41B7 +:10CC30008091BD089091BE08019729F485E19AE59D +:10CC40000F945C4120C02CEA35EC47E257E3609139 +:10CC500086087091870880918808909189080F94C0 +:10CC600059A369837A838B839C83CE0101960F94A9 +:10CC70003236BC018CE598E10F941A9E60E28CE597 +:10CC800098E10F941B9E41E060E08CE598E10E94E2 +:10CC90005B3920E030E040E05FE36091E1177091A4 +:10CCA000E2178091E3179091E4170F9459A30F9422 +:10CCB000A1A478876F836091F7177091F817882780 +:10CCC00077FD8095982F0F94D4A420E030E040E0C9 +:10CCD0005FE30F9459A30F94A1A47E836D8360E05A +:10CCE0008CE598E10F941B9ECE0107960F940437B4 +:10CCF000BC018CE598E10F941A9E6FE28CE598E1F7 +:10CD00000F941B9ECE0105960F949240BC018CE5BA +:10CD100098E10F941A9E82E19AE50F945C418FE0AE +:10CD20009AE50F945C4141E06AE08CE598E10E944D +:10CD30005B398CE09AE50F945C4166E08CE598E104 +:10CD40000F941B9E88E592E00F940437BC018CE59C +:10CD500098E10F941A9E85E09AE50F945C4142E0B9 +:10CD600060E08CE598E10E945B398091FB088823A4 +:10CD700019F082E09AE502C08FEF99E50F945C41CB +:10CD8000809108098823A9F18091650B882319F106 +:10CD900080910F0C9091100CA091110CB091120C7D +:10CDA0000097A105B105B9F0BC01CD016D597F4FC8 +:10CDB0008F4F9F4F24E630E040E050E00F9409A9E8 +:10CDC0006091170C7091180C8091190C90911A0CAD +:10CDD0000F9409A901C020E030E03A832983CE01F5 +:10CDE00001960F940437BC018CE598E10F941A9ECC +:10CDF0000DC08091FB08882329F08AEF99E50F94F4 +:10CE00005C4109C086EF99E50F945C4165E28CE5D1 +:10CE100098E10F941B9E8091DD18882389F183EFA0 +:10CE200099E50F945C416091DB187091DC184AE041 +:10CE300050E08CE598E10F94C19E80EF99E50F9446 +:10CE40005C4140E063E18CE598E10E945B390F941E +:10CE50005B9BC090F508D090F608E090F708F09042 +:10CE6000F8086C197D098E099F0960367A4E810594 +:10CE7000910518F48EEE99E50BC08CEE99E508C08B +:10CE800042E06AE08CE598E10E945B398AEE99E520 +:10CE90000F945C4142E06BE08CE598E10E945B39C5 +:10CEA00088EE99E50F945C4167E08CE598E10F947A +:10CEB0001B9E8091280890912908A0912A08B09182 +:10CEC0002B08892B8A2B8B2BE1F10F945B9B30E68F +:10CED000C32E3AEED32EE12CF12CA70196010F942C +:10CEE00009A949015A016091280870912908809187 +:10CEF0002A0890912B08A70196010F9409A9C40153 +:10CF0000821B930B6CE370E00F94E2A8182F6983E7 +:10CF1000CE0101960F94CB33BC018CE598E10F94C0 +:10CF20001A9E6AE38CE598E10F941B9E1983CE014B +:10CF300001960F94CB33BC018CE598E10F941A9EB7 +:10CF400004C082EE99E50F945C418FED99E50F9452 +:10CF50005C4143E060E08CE598E10E945B398091A0 +:10CF6000C3089091C408892B19F081E08093C00810 +:10CF700080910809882371F164E279E089E798E1FA +:10CF80000F9404AD892B31F109E718E1F801019004 +:10CF90000020E9F7AF01415051094957584160E07D +:10CFA00070E0C8010F94D4AC84E299E09F938F9312 +:10CFB0008CED99E59F938F931F930F930F9441AE40 +:10CFC0001092AF181092AE180F900F900F900F9014 +:10CFD0000F900F90909108098091C008992309F44F +:10CFE00054C0811152C0E4E2F9E001900020E9F759 +:10CFF000E552F940759708F445C00091AE181091BC +:10D00000AF18C12CD12C8091AE189091AF18980117 +:10D01000281B390B2431310534F001969093AF1859 +:10D020008093AE18FDC1C114D104B9F798012A5FED +:10D03000364F7901F901968D602F681B43E09111FD +:10D0400014C08CE598E10E945B39F701658D8CE591 +:10D0500098E10F941B9E1092AF181092AE1800E04A +:10D0600010E0CC24C394D12CCECF8CE598E10E9463 +:10D070005B39F701658D8CE598E10F941B9E0F5F7E +:10D080001F4FC1CF69E778E1D0C1882309F4CBC134 +:10D090008091C3089091C408892B09F48EC08091B7 +:10D0A000C1089091C20801968E30910528F49093A2 +:10D0B000C2088093C10804C01092C2081092C1082F +:10D0C00043E067E08CE598E10E945B398EEC99E5DE +:10D0D0000F945C4100E010E08091C1089091C2087B +:10D0E0000817190778F467E0600F43E08CE598E1D2 +:10D0F0000E945B396EE28CE598E10F941B9E0F5FF6 +:10D100001F4FEACF8091C3089091C40882309105E7 +:10D1100031F188F4019709F050C043E060E08CE5FC +:10D1200098E10E945B39E091CC08F0E0EE0FFF1F20 +:10D13000E65CF84B2FC083309105F9F0049709F0B5 +:10D140003CC043E060E08CE598E10E945B39E091EF +:10D15000CC08F0E0EE0FFF1FE45CF74B20C043E08B +:10D1600060E08CE598E10E945B39E091CC08F0E04A +:10D17000EE0FFF1FEA5CF84B12C043E060E08CE565 +:10D1800098E10E945B39E091CC08F0E0EE0FFF1FC0 +:10D19000E85CF74B859194910F945C410EC08591AA +:10D1A00094910F945C411092C4081092C30810929D +:10D1B000C2081092C1081092C0088091BD089091D9 +:10D1C000BE08019709F07CC08091BB089091BC0813 +:10D1D0008B30910560F143E060E08CE598E10E94BE +:10D1E0005B3989EB99E50F945C4143E060E08CE5A5 +:10D1F00098E10E945B39E091CC08F0E0EE0FFF1F50 +:10D20000E65DF84B859194910F945C4185EB99E52F +:10D210000F945C416091BB087091BC086A50710921 +:10D220004AE050E08CE598E10F94D49E49C0039702 +:10D23000E1F4E091CC08F0E0EE0FFF1FE458FB4B67 +:10D24000859194910F945C41E091CC08F0E0EE0F51 +:10D25000FF1FE458FB4B859194910F942830109256 +:10D26000C0081092BE081092BD088091BB08909132 +:10D27000BC080497079720F543E060E08CE598E14F +:10D280000E945B3981EA99E50F945C4143E060E0DC +:10D290008CE598E10E945B39E091CC08F0E0EE0F5C +:10D2A000FF1FE25DF84B859194910F945C41809152 +:10D2B000BB089091BC0801979093BC088093BB0871 +:10D2C0008091BD089091BE08029731F460EB78E13F +:10D2D0008CE598E10F941A9E8091BD089091BE084C +:10D2E0000397A1F560EB78E18CE598E10F941A9E25 +:10D2F0002091D3173091D4178091D1179091D217E4 +:10D30000821793071CF18091BB089091BC08892B70 +:10D31000E9F043E06AE08CE598E10E945B3983ED37 +:10D3200097E10F940437BC018CE598E10F941A9EA5 +:10D330006FE28CE598E10F941B9E81ED97E10F94CD +:10D340009240BC018CE598E10F941A9E8091BD0833 +:10D350009091BE08049799F543E060E08CE598E170 +:10D360000E945B39E091CC08F0E0EE0FFF1FE45E15 +:10D37000FA4B859194910F945C4143E06CE08CE50D +:10D3800098E10E945B398091BC088F938091BB0823 +:10D390008F938CED96E09F938F938E010F5F1F4FBD +:10D3A0001F930F930F9413AEB8018CE598E10F947F +:10D3B0001A9E0F900F900F900F900F900F908091EA +:10D3C000BD089091BE08059759F543E060E08CE5F3 +:10D3D00098E10E945B39E091CC08F0E0EE0FFF1F6E +:10D3E000E659F94B859194910F945C418091BB086B +:10D3F0009091BC088937910598F48EE999E50F94CE +:10D400005C416091BB087091BC084AE050E08CE53B +:10D4100098E10F94D49E60E28CE598E10F941B9EF6 +:10D4200000EB18E10BC060EB78E18CE598E10F941C +:10D430001A9EF6CFF8E1043C1F0759F0F8018191DC +:10D440008F018032BCF760E28CE598E10F941B9E5F +:10D45000F1CF8091DD18882351F18091B80290912D +:10D46000B90201979093B9028093B8021816190671 +:10D4700054F084EB90E09093B9028093B80280E07E +:10D4800090E00F94AE3B8091B8029091B9028A303F +:10D49000910529F08D9759F485E190E006C08091BF +:10D4A0000809882321F084E190E00F94AE3B8AE0E4 +:10D4B000809349188091E1189091E218892B11F01E +:10D4C0000F940D5980915B1882FB882780F9909109 +:10D4D0004818992399F090914718992339F08111B0 +:10D4E00020C010924718109248181BC08823C9F01A +:10D4F0000F94BE2481E08093471813C0882389F0DD +:10D500008091E1189091E218029759F001E021E032 +:10D5100040E050E0BA018AE691E00F94CD240F94E8 +:10D5200065298091580290915902209155183091A7 +:10D5300056188436910534F4820F931F8536910571 +:10D540004CF416C08436910599F0820F931F8436EF +:10D55000910574F41092551810925618109257189D +:10D560001092581884E690E09093590280935802E4 +:10D570002091580230915902809155189091561877 +:10D580002436310569F48B3091051CF0865A9F4F83 +:10D5900009C0863F2FEF92078CF482599F4F02C03B +:10D5A000820F931F9093590280935802109255183E +:10D5B00010925618109257181092581880915802CD +:10D5C000909159028A3091051CF48AE090E005C0E0 +:10D5D000883E934034F087EE93E090935902809315 +:10D5E00058028091DD18882381F08091B702811163 +:10D5F0000CC043E060E08CE598E10E945B39E0E418 +:10D60000F6E4859194910F945C4128960FB6F894B6 +:10D61000DEBF0FBECDBFDF91CF911F910F91FF9065 +:10D62000EF90DF90CF90BF90AF909F908F90089534 +:10D63000CF92DF92EF92FF929091AF02981710F481 +:10D640008093AF028091AE02882309F4F4C00F9456 +:10D650005C3080910301817091E0892720915018FE +:10D660008217F9F082E08093AF028091030181700C +:10D670008927809350180F9465298091501888232A +:10D6800009F4CDC086E099E00E9438B0E091CC0862 +:10D69000F0E0EE0FFF1FEE5FF94B859194910F9430 +:10D6A0002830C0904A18D0904B18E0904C18F09059 +:10D6B0004D180F945B9BC616D706E806F90608F0CE +:10D6C0009BC080910419482F552747FD509557FF5F +:10D6D00003C051954195510944305105ACF19091E9 +:10D6E000AF02911103C091E09093AF0287FD8D5F6F +:10D6F000482F45954595552747FD5095652F752F22 +:10D700008091551890915618A0915718B0915818BB +:10D71000840F951FA61FB71F809355189093561816 +:10D72000A0935718B0935818109204190F945B9B4C +:10D73000605D7A488F4F9F4F60933E1870933F18FB +:10D74000809340189093411880915B1882FF0EC01F +:10D750000F945B9B605D7A488F4F9F4F60933E189C +:10D7600070933F188093401890934118E091B00255 +:10D77000F091B1021995C0903E18D0903F18E090FA +:10D780004018F09041180F945B9BC616D706E80628 +:10D79000F906B8F4E091B002F091B10281E0E8330B +:10D7A000F80779F0309731F081E08093C618199529 +:10D7B0001092C6180F94CF2E0F94712982E0809397 +:10D7C000AF028091AF02823011F40F94CF2E80917E +:10D7D000AF02882319F081508093AF020F945B9BB6 +:10D7E0006C597F4F8F4F9F4F60934A1870934B181F +:10D7F00080934C1890934D180E94ABA0811101C0EA +:10D8000009D50F94C22F8091E1189091E2180897E2 +:10D8100091F4FF90EF90DF90CF900D940D5986E03A +:10D8200099E00E9412A8E091CC08F0E0EE0FFF1FF3 +:10D83000E850FA4B32CFFF90EF90DF90CF900895F1 +:10D84000CF92DF92EF92FF920F94CF2E40E061E0F3 +:10D850008CE598E10E945B39E091CC08F0E0EE0F96 +:10D86000FF1FE259FA4B859194910F945C416091AE +:10D87000551870915618882777FD8095982F0F942A +:10D88000D4A42091B3023091B4024091B5025091DA +:10D89000B6020F9459A36B017C0120E030E848E9FF +:10D8A00053E40F9435A618164CF0C092B302D092F0 +:10D8B000B402E092B502F092B6020CC080E090E8AB +:10D8C000A8E9B3E48093B3029093B402A093B502A5 +:10D8D000B093B60220E030E040E751E46091B3023B +:10D8E0007091B4028091B5029091B6020F9432A467 +:10D8F00087FF0CC080E090E0A0E7B1E48093B30222 +:10D900009093B402A093B502B093B602109255184A +:10D9100010925618109257181092581842E061E071 +:10D920008CE598E10E945B3983EB92E00F947A409A +:10D93000BC018CE598E10F941A9E0F94B3318823B3 +:10D9400071F087E090E09093E2188093E1180F94D3 +:10D95000712982E0FF90EF90DF90CF9069CEFF9029 +:10D96000EF90DF90CF9008950F931F9381E0809305 +:10D970005908109291108091CE08811108C08091B1 +:10D98000FA08811104C00E940DF60E9432EB0E9439 +:10D9900053B5E091CC08F0E0EE0FFF1FE45CF94BCB +:10D9A000859194910F94283082E042DE109208090C +:10D9B00060E086E099E00E9405AA0F945B9B60936B +:10D9C00024087093250880932608909327080091D7 +:10D9D00028081091290820912A0830912B08601BF3 +:10D9E000710B820B930B0091D7081091D8082091EE +:10D9F000D9083091DA08601B710B820B930B28EE6B +:10DA000033E040E050E00F9409A91092D70810923B +:10DA1000D8081092D9081092DA086091C508709160 +:10DA2000C6088091C7089091C8080E9437560F9485 +:10DA3000712981E080934818109247181092E018DD +:10DA40001092DF1882E090E09093E2188093E11842 +:10DA5000809101018860809301019FB7F8948091C3 +:10DA60000201877F809302019FBF10926908109284 +:10DA700068081F910F91089540E060E08CE598E1FF +:10DA80000E945B39E091CC08F0E0EE0FFF1FE85DEB +:10DA9000FA4B859194910F945C4142E062E08CE5F1 +:10DAA00098E10E945B39E091CC08F0E0EE0FFF1F97 +:10DAB000E856F94B859194910F945C4143E062E004 +:10DAC0008CE598E10E945B39E091CC08F0E0EE0F24 +:10DAD000FF1FE257FB4B859194910F945C4142E00C +:10DAE00060E08CE598E10E945B396AE576E08CE5C0 +:10DAF00098E10F941A9E43E060E08CE598E10E9463 +:10DB00005B396AE576E08CE598E10F941A9E809186 +:10DB1000551890915618A0915718B091581803971E +:10DB2000A105B10564F082E090E0A0E0B0E0809350 +:10DB3000551890935618A0935718B0935818809181 +:10DB4000551890915618A0915718B091581818165A +:10DB500019061A061B0664F081E090E0A0E0B0E030 +:10DB60008093551890935618A0935718B09358184F +:10DB7000409155184F5F60E08CE598E10E945B3959 +:10DB80006EE375E08CE598E10F941A9E0F94B33123 +:10DB90008823D9F08091551890915618A091571864 +:10DBA000B09158180197A105B10511F40F9471298E +:10DBB0008091551890915618A0915718B091581807 +:10DBC0000297A105B10509F4CFCE08959091AE0258 +:10DBD0009817D1F18093AE028823B1F110925518B5 +:10DBE0001092561810925718109258181092041943 +:10DBF0000F945B9B605D7A488F4F9F4F60933E18F8 +:10DC000070933F1880934018909341180F945B9B3A +:10DC1000615071098109910960934A1870934B18FA +:10DC200080934C1890934D180F94CF2E8091B00292 +:10DC30009091B1028853914019F40F94AB2E02C019 +:10DC40000F94232E82E0F4CC08958F929F92AF928E +:10DC5000BF92CF92DF92EF92FF920F931F93CF93D9 +:10DC6000DF938C015B0180E0B1DF0F94CF2E40E0A9 +:10DC700060E08CE598E10E945B397801812C912C61 +:10DC8000C8010F94E422882319F00F5F1F4FF8CFCB +:10DC9000F8018491882309F467C0492D60E08CE580 +:10DCA00098E10E945B39C8010F9466AC84319105FC +:10DCB00008F084E17801E80EF11CF3E0E7019F121F +:10DCC00014C0843191F4CE010F94E422882311F022 +:10DCD0002196F9CFFE018491882331F0E701229744 +:10DCE0007E018824839401C0812CFE0184918823C5 +:10DCF00009F455C0CE010F94E422811150C0FE01F9 +:10DD0000849192ED980F923008F449C08C3209F456 +:10DD100046C096EC980F923008F441C08F3309F456 +:10DD20003EC0813209F43BC00C171D07A8F56E01F7 +:10DD3000F1E0CF1AD108C6010F94E42281112CC062 +:10DD4000E601F2CFF80164916E3709F460E28CE5E8 +:10DD500098E10F941B9E0F5F1F4F0E151F0590F348 +:10DD60009394F4E09F128CCF882069F00F946B2E6F +:10DD700043E063E18CE598E10E945B3961E08CE56A +:10DD800098E10F941B9EF5019082811003C080E002 +:10DD900090E007C0C70105C0C017D107F1F27E01AE +:10DDA000DCCFDF91CF911F910F91FF90EF90DF902B +:10DDB000CF90BF90AF909F908F900895CF93DF93B7 +:10DDC00000D01F92CDB7DEB7E091CC08F0E0EE0FA7 +:10DDD000FF1FE253FB4B859194910E94CC4344E09A +:10DDE00060E08CE598E10E945B3962E08CE598E1A7 +:10DDF0000F941B9EE0916A0884E0E89FF0011124D3 +:10DE0000EF50F84E80819181A281B38189839A83FA +:10DE1000AB83BC83CE0101960F947A40BC018CE5A4 +:10DE200098E10F941A9E6FE674E08CE598E10F94E8 +:10DE30001A9EE0916A08F0E0EE0FFF1FE750F84EDF +:10DE400060817181882777FD8095982F0F94D4A4E5 +:10DE500069837A838B839C83CE0101960F947A40E9 +:10DE6000BC018CE598E10F941A9E6AEB74E08CE596 +:10DE700098E10F941A9E0F900F900F900F90DF91E2 +:10DE8000CF9108954F925F926F927F928F929F925F +:10DE9000AF92BF92CF92DF92EF92FF92CF93DF9338 +:10DEA000682E592E462ED42E0E94CC437C010F940E +:10DEB0005B9B4B015C01C0900419E70164E6762E80 +:10DEC00082E390E00E940957442069F00F945B9B25 +:10DED000681979098A099B0961337547810591059C +:10DEE00010F08FEFB5C00F94A21881E00E946F5818 +:10DEF0008C2D992787FD909520910419821B9109FB +:10DF000027FD939597FF03C09195819591090597FA +:10DF1000ACF1209709F097C043E060E08CE598E110 +:10DF20000E945B3980910419C81694F4DD2021F118 +:10DF300082E696E50F945C4143E067E08CE598E16A +:10DF40000E945B3980E696E50F945C41D12C14C0A9 +:10DF50008C1594F4D11010C08EE596E50F945C41B9 +:10DF600043E067E08CE598E10E945B398CE596E53B +:10DF70000F945C41DD24D394C09004190F94B33105 +:10DF80008823A9F00F94B3318111FCCF6AE070E0CF +:10DF900080E090E00F948A9B0F94B3318111FCCF05 +:10DFA000209709F050C00F94F3228D2D51C07A9420 +:10DFB00009F086CFE114F10441F0209711F4C62D49 +:10DFC000D52DCE010E94CC43EC01209709F076CFED +:10DFD00043E060E08CE598E10E945B39DD2021F0B0 +:10DFE0008AE596E50F945C4143E061E08CE598E1B9 +:10DFF0000E945B39E091CC08F0E0EE0FFF1FE25782 +:10E00000FB4B859194910F945C4143E067E08CE574 +:10E0100098E10E945B39D11004C088E596E50F9421 +:10E020005C4143E068E08CE598E10E945B39E09157 +:10E03000CC08F0E0EE0FFF1FE856F94B8591949164 +:10E040000F945C413BCFE114F10409F0BACFBDCF8E +:10E05000DF91CF91FF90EF90DF90CF90BF90AF9086 +:10E060009F908F907F906F905F904F900895BF9298 +:10E07000CF92DF92EF92FF92CF93DF93D62FC42FF0 +:10E080000E94CC4342E0CC23D9F060E08CE598E1DB +:10E090000E945B3986E596E50F945C41E091CC08DF +:10E0A000F0E0EE0FFF1FE257FB4B859194910F9428 +:10E0B0005C4143E061E08CE598E10E945B391AC065 +:10E0C00061E08CE598E10E945B39E091CC08F0E0DA +:10E0D000EE0FFF1FE257FB4B859194910F945C412B +:10E0E00043E060E08CE598E10E945B3984E596E5C9 +:10E0F0000F945C41E091CC08F0E0EE0FFF1FE85672 +:10E10000F94B859194910F945C410F945B9B6B014B +:10E110007C01B090041984E090E090931802809301 +:10E120001702DD2369F00F945B9B6C197D098E0942 +:10E130009F09613375478105910510F08FEF62C02B +:10E140000F94A21881E00E946F582B2D332727FDD2 +:10E15000309580910419281B310987FD339537FFCD +:10E1600003C0319521953109253031058CF142E00C +:10E1700060E08CE598E10E945B3980910419B81643 +:10E1800094F4CC2319F182E596E50F945C4143E0C9 +:10E1900060E08CE598E10E945B3980E596E50F949C +:10E1A0005C41C0E013C08B158CF4C1110FC08EE42C +:10E1B00096E50F945C4143E060E08CE598E10E94B5 +:10E1C0005B398CE496E50F945C41C1E0B090041992 +:10E1D0000F94B331882309F4A4CF0F94B331811184 +:10E1E000FCCF6AE070E080E090E00F948A9B0F948F +:10E1F000B3318111FCCF82E090E0909318028093BC +:10E2000017028C2FDF91CF91FF90EF90DF90CF908E +:10E21000BF900895809101018460809301019FB7B0 +:10E22000F894809102018460809302019FBF68EEA0 +:10E2300073E080E090E00F948A9B9FB7F894809100 +:10E2400002018B7F809302019FBFE091CC08F0E038 +:10E25000EE0FFF1FE85BFA4B859194910E94CC432F +:10E2600088EE93E00E940957FBCFCF93DF9300D055 +:10E270001F92CDB7DEB70F94AB2E1092FA17109203 +:10E28000F9171092F8171092F71720E030E048E4E1 +:10E2900052E46091F1177091F2178091F317909109 +:10E2A000F4170F9435A61816DCF020E030E048E4AF +:10E2B00052E46091E1177091E2178091E317909119 +:10E2C000E4170F9435A618165CF00F94232E81E006 +:10E2D0007DDC0F900F900F900F90DF91CF910895FC +:10E2E000E091CC08F0E0EE0FFF1FE651FB4B85916B +:10E2F00094910E94CC4344E060E08CE598E10E9458 +:10E300005B3962E08CE598E10F941B9E8091F117D8 +:10E310009091F217A091F317B091F41789839A8323 +:10E32000AB83BC83CE0101960F947A40BC018CE58F +:10E3300098E10F941A9E61EE76E08CE598E10F94D7 +:10E340001A9E6AEB74E08CE598E10F941A9E44E003 +:10E3500069E08CE598E10E945B3960E08CE598E12A +:10E360000F941B9E8091E1179091E217A091E31703 +:10E37000B091E41789839A83AB83BC83CE01019665 +:10E380000F947A40BC018CE598E10F941A9E61EEDF +:10E3900076E08CE598E10F941A9E6AEB74E08CE5C8 +:10E3A00098E10F941A9E0F94F32288EE93E00E9456 +:10E3B00009570E94766069CF2F923F924F925F92E9 +:10E3C0006F927F928F929F92AF92BF92CF92DF9285 +:10E3D000EF92FF920F931F93CF93DF9300D01F9282 +:10E3E000CDB7DEB742DF0F94CF2E40E060E08CE582 +:10E3F00098E10E945B39EEE7F5E4859194910F94E2 +:10E400005C4160ED77E080E090E00F948A9B82E0D1 +:10E4100090E0909318028093170200ED17E021E03E +:10E4200043E050E060E070E08FEF9FEF0F943052D8 +:10E430001C0110926908109268080F94A21861E0FC +:10E4400088E090E00F94DF1460ED77E080E090E0EA +:10E450000F948A9B0F94A2188091AA089091AB0800 +:10E46000892B31F460E070E0AB0187E090E049C0B7 +:10E4700000ED17E021E043E050E0B10180E090E0E2 +:10E480000F9430521C0186E990E0909369088093C4 +:10E49000680815E088EE93E00E94095743E062E1C6 +:10E4A0008CE598E10E945B396CE776E08CE598E1B9 +:10E4B0000F941A9E88EE93E00E94095743E062E1B0 +:10E4C0008CE598E10E945B3967E676E08CE598E19F +:10E4D0000F941A9E1150F1F6109269081092680874 +:10E4E0000F94A21881E00E946F588091AC0890911F +:10E4F000AD08009709F057C086E090E060E070E05A +:10E50000AB010F94EA4508E813E121E043E050E055 +:10E51000B1018CE090E00F943052712C1092C5182C +:10E5200061E08FE09BE50E94C9B50F94CF2E0F9458 +:10E530005B9B6C597F4F8F4F9F4F60934A1870932E +:10E540004B1880934C1890934D18772019F0E8E8F9 +:10E55000F5E407C0E091CC08F0E0EE0FFF1FEA55AC +:10E56000FA4B859194910F94543081E090E0909310 +:10E57000180280931702872D0F900F900F900F9025 +:10E58000DF91CF911F910F91FF90EF90DF90CF908F +:10E59000BF90AF909F908F907F906F905F904F90C3 +:10E5A0003F902F900895829764F481E00F94C950B2 +:10E5B000882309F43FC180E00F94C950882309F4EF +:10E5C0009BCF00ED17E021E043E050E0B10181E096 +:10E5D00090E00F94305208EE13E021E043E050E069 +:10E5E000BC0183E090E00F9430521C0180E00F9456 +:10E5F0005255882309F487CF00ED17E021E043E06E +:10E6000050E0B10184E090E00F9430521C016FEFB4 +:10E6100070E080E090E00F942F54882309F473CFCA +:10E6200000E010E021E043E050E0B10184E090E040 +:10E630000F9430521C0180E090E00F944D478823E6 +:10E6400009F461CF0CED15E021E043E050E0B101A9 +:10E6500085E090E00F9430521C0162ED70E081E0A3 +:10E6600090E00F942F54882309F44DCF00E010E080 +:10E6700021E043E050E0B10185E090E00F9430529A +:10E680001C0181E090E00F944D47882309F43BCFB3 +:10E6900020E030E040E651E460917E0870917F0810 +:10E6A00080918008909181080F9459A32B013C011F +:10E6B00060937E0870937F08809380089093810810 +:10E6C00020E030E040E451E46091820870918308DA +:10E6D00080918408909185080F9459A369837A8367 +:10E6E0008B839C8360938208709383088093840853 +:10E6F0009093850820E030E040E251E46091860884 +:10E700007091870880918808909189080F9459A387 +:10E71000609386087093870880938808909389088F +:10E720002AE638E03F932F93812C912C34E3A32EDB +:10E7300032E4B32E4AE8C42E48E0D42E7B018C018B +:10E7400029813A814B815C81C301B2010E9488F723 +:10E750000F94350D0CED15E021E043E050E0B101E0 +:10E7600086E090E00F9430521C0162ED70E082E090 +:10E7700090E00F942F54182F8FE59FE00F945DB019 +:10E780000F900F90813051F061E08AE19BE50E948B +:10E79000C9B561E083E19BE50E94C9B5112309F485 +:10E7A000B2CE00ED17E021E043E050E0B10187E098 +:10E7B00090E00F9430521C0181E00F945255782E56 +:10E7C000882309F4A0CE21E043E050E0B10188E0C5 +:10E7D00090E00F94305221E043E050E0BC0189E02A +:10E7E00090E00F9430521C010E94D34580914F104D +:10E7F000882339F060E070E0AB018BE090E00F948B +:10E80000EA4580914F1081117ECE00ED17E021E0A6 +:10E8100043E050E0B1018AE090E00F94305208E804 +:10E8200013E121E043E050E0BC018BE090E00F9465 +:10E83000305274CE8AE090E061CE0F9340E061E008 +:10E840008BEB9AE514DC882341F061E087EB9AE5D5 +:10E850000E94C9B50F94712909C001E021E040E090 +:10E8600050E0BA0184E591E00F94CD2481E0AED967 +:10E8700082E08093AF020F910895CF93DF93E091F0 +:10E88000CC08F0E0EE0FFF1FE05AF94B8591949110 +:10E8900041E060E0ECDB882339F088E090E0909381 +:10E8A000E2188093E11826C0E091CC08F0E0EE0F6A +:10E8B000FF1FE45AF94B859194910E94CC43C4E127 +:10E8C000D0E084E690E00E9409570F94B33188238A +:10E8D00079F00F94B3318111FCCF6AE070E080E0F1 +:10E8E00090E00F948A9B0F94B3318111FCCF02C04A +:10E8F000219739F70F94712981E0DF91CF9166C993 +:10E900008F929F92AF92BF92CF92DF92EF92FF923F +:10E910000F931F93CF93DF930F94CF2E40E060E0CF +:10E920008CE598E10E945B396EE375E08CE598E137 +:10E930000F941A9E0CE412E0A7EAEA2EAFE0FA2E3A +:10E94000C0E0D0E04C2F61E08CE598E10E945B399B +:10E9500064EE76E08CE598E10F941A9E4AE050E070 +:10E96000BE018CE598E10F94C19E6DEC74E08CE5DE +:10E9700098E10F941A9EB801C7010F941E2FF80159 +:10E98000608171810E5F1F4F605371094AE050E052 +:10E990008CE598E10F94C19E219682E0E80EF11C6F +:10E9A000C430D10579F600910419112707FD10959F +:10E9B000C0E0D0E00F94A21881E00E946F5820912F +:10E9C0000419332727FD3095C801821B930B97FF4D +:10E9D00003C091958195910903970CF45BC02017B2 +:10E9E00031070CF42197021713070CF42196C43059 +:10E9F000D1053CF4CF3F9FEFD90729F4C0E0D0E028 +:10EA000002C0C3E0D0E040E060E08CE598E10E9405 +:10EA10005B396AE576E08CE598E10F941A9E41E057 +:10EA200060E08CE598E10E945B396AE576E08CE570 +:10EA300098E10F941A9E42E060E08CE598E10E9414 +:10EA40005B396AE576E08CE598E10F941A9E43E025 +:10EA500060E08CE598E10E945B396AE576E08CE540 +:10EA600098E10F941A9E4C2F60E08CE598E10E948B +:10EA70005B396EE375E08CE598E10F941A9E009186 +:10EA80000419112707FD109564E670E080E090E01E +:10EA90000F948A9B0F94B331882309F48BCF0F9482 +:10EAA000B3318111FCCF6AE070E080E090E00F9418 +:10EAB0008A9B0F94B3318111FCCF0F94CF2E6E013E +:10EAC000CC0CDD1CF601E45BFD4F5F017F010F9470 +:10EAD000A21881E00E946F5841E061E08CE598E166 +:10EAE0000E945B3964EE76E08CE598E10F941A9E03 +:10EAF0004AE050E0BE018CE598E10F94C19E6DECB8 +:10EB000074E08CE598E10F941A9E41E06DE08CE58D +:10EB100098E10E945B39F501608171816053710950 +:10EB20004AE050E08CE598E10F94C19E8091041971 +:10EB3000992787FD90959801281B390B37FF03C053 +:10EB4000319521953109233031050CF443C08017EC +:10EB50009107E4F4F701808191810197918380838B +:10EB600041E06DE08CE598E10E945B39F70160813E +:10EB70007181605371094AE050E08CE598E10F948F +:10EB8000C19E00910419112707FD10958091041969 +:10EB9000992787FD909508171907E4F4F7018081FC +:10EBA000918101969183808341E06DE08CE598E14D +:10EBB0000E945B39F70160817181605371094AE0FD +:10EBC00050E08CE598E10F94C19E00910419112743 +:10EBD00007FD109564E670E080E090E00F948A9B5A +:10EBE0000F94B331882309F472CF0F94B33181119C +:10EBF000FCCF6AE070E080E090E00F948A9B0F9475 +:10EC0000B3318111FCCFB601645B7D4FC6018955DC +:10EC1000904F0F940D2F40E061E084E196E527DAF4 +:10EC2000882309F456C081E00F94E66D0F94CF2E2F +:10EC300000910419112707FD10954C2F60E08CE519 +:10EC400098E10E945B396EE375E08CE598E10F94E2 +:10EC50001A9E7CE4C72E72E0D72EE7EAAE2EEFE0D4 +:10EC6000BE2EE12CF12C4E2D61E08CE598E10E9446 +:10EC70005B3964EE76E08CE598E10F941A9E4AE0E9 +:10EC800050E0B7018CE598E10F94C19E6DEC74E003 +:10EC90008CE598E10F941A9EB601C5010F941E2FC2 +:10ECA000F60160817181F2E0CF0ED11C60537109D1 +:10ECB0004AE050E08CE598E10F94C19E8FEFE81A8E +:10ECC000F80A92E0A90EB11CE4E0EE16F10459F640 +:10ECD00071CEDF91CF911F910F91FF90EF90DF9058 +:10ECE000CF90BF90AF909F908F9008952F923F92BA +:10ECF0004F925F926F927F928F929F92AF92BF924C +:10ED0000CF92DF92EF92FF920F931F93CF93DF93F7 +:10ED1000CDB7DEB7A4970FB6F894DEBF0FBECDBF58 +:10ED200089E09FE00F945DB088A38091E318882369 +:10ED300031F01092E31886E099E00E94F1AD8091E5 +:10ED4000AF02811104C080915B1882FF9DC386E0F1 +:10ED500099E00E9482AD1C0180915518909156183F +:10ED6000A0915718B091581881309048A105B1056D +:10ED700040F0109255181092561810925718109291 +:10ED800058188091551890915618A0915718B09125 +:10ED9000581840915A1850E060E070E084179507C9 +:10EDA000A607B70710F480935A1840905A1880911C +:10EDB0005B1882FB882780F98F8F512CC101019746 +:10EDC0009BA38AA3411036C08091AF028823E1F053 +:10EDD000E091CC08F0E0EE0FFF1FE452F94B659193 +:10EDE00074918091551890915618A0915718B09130 +:10EDF000581823E0892B8A2B8B2B11F443E001C098 +:10EE000040E2852D0F9490239F8D992399F0809156 +:10EE1000551890915618A0915718B0915818892BF1 +:10EE20008A2B8B2B39F40F94BE248AE691E00F9441 +:10EE30007E252AC36BE079E081E899E00E94BA98C8 +:10EE400080910B098F3211F1E1E04E1611F022E0B2 +:10EE50001EC08091AF028823A9F08091551890912F +:10EE60005618A0915718B091581820E20197A105A3 +:10EE7000B10511F44EE301C040E264EA7AE5852D64 +:10EE80000F949023FF8DF11109C0E1CF21E000E044 +:10EE900010E0C42CD12CE12CF12C35C080915518F8 +:10EEA00090915618A0915718B09158180197A10544 +:10EEB000B10569F60F94BE240F94C424E5C2241151 +:10EEC0003AC28091DD18882311F18AA19BA1801B91 +:10EED000910B28A1223001F540E050E0BC0186E012 +:10EEE00099E00E941AAA909159098091AF02992342 +:10EEF00009F4BDC0811116C08F8D811185C021E03C +:10EF0000240D0F5F1F4F02151305C9F616C288A105 +:10EF10008D7FD9F2B80101C0BC0186E099E00E9462 +:10EF2000D5ADE1CFE091CC08F0E0EE0FFF1FE0514E +:10EF3000F84B859194918091551890915618A09115 +:10EF40005718B0915818452D60E08C159D05AE05F9 +:10EF5000BF0569F58CE598E10E945B396EE38CE5AD +:10EF600098E10F941B9E65E08CE598E10F941B9E41 +:10EF700080912409882329F01092360984E299E0CF +:10EF800002C08BE099E05C0182E1982EF50161916D +:10EF90005F01662311F091100EC2992009F4ACCFE5 +:10EFA00060E28CE598E10F941B9E9A94F6CF8CE575 +:10EFB00098E10E945B3960E28CE598E10F941B9E1A +:10EFC00065E08CE598E10F941B9E809124098823CD +:10EFD00029F01092360984E299E002C08BE099E0B2 +:10EFE0005C01B2E19B2EF50161915F01662311F096 +:10EFF0009110E7C1992009F47FCF60E28CE598E198 +:10F000000F941B9E9A94F6CF8091551890915618A4 +:10F01000A0915718B09158188C159D05AE05BF05E5 +:10F0200009F06DCF0F94BE2486E099E00E9426A8D7 +:10F03000F9E08F9F800111240157174F6BE079E0B1 +:10F04000C8010F940DADB8018CE197E00E94383EE5 +:10F050006BE079E086E099E00E9413B310925518B6 +:10F060001092561810925718109258180DC281110C +:10F0700004C02F8D2111A5C042CFE091CC08F0E053 +:10F08000EE0FFF1FE051F84B859194918091551838 +:10F0900090915618A0915718B09158188C159D054D +:10F0A000AE05BF0509F063C02091041929A3B12C56 +:10F0B0004B2D60E08CE598E10E945B3960E28CE5C5 +:10F0C00098E10F941B9EB39484E0B812F1CF452DC4 +:10F0D00060E08CE598E10E945B396EE38CE598E195 +:10F0E0000F941B9E74E2672E79E0772E812C912C71 +:10F0F000AA24A394B12CF30121913F01222361F1B1 +:10F10000452D6A2D8CE598E12CA30E945B392CA13A +:10F11000622F8CE598E10F941B9E9FEFA91AB90A04 +:10F12000E4E1AE16B10439F7FFEF8F1A9F0AC4016C +:10F130008C5D964F3C01ECE2AE2EBB24B3940F9451 +:10F14000A21880915B1882FD42C18091041929A107 +:10F15000281709F43FC13BC154E1B52EBA1860E24B +:10F160008CE598E10F941B9EBA94C9F782CF452D88 +:10F1700060E08CE598E10E945B3960E28CE598E103 +:10F180000F941B9E80912409882329F0109237093F +:10F1900084E299E002C08BE099E05C0143E1942EA7 +:10F1A000F50161915F01662311F0911029C1992049 +:10F1B00009F45FCF60E28CE598E10F941B9E9A946E +:10F1C000F6CF8091551890915618A0915718B0918C +:10F1D00058188C159D05AE05BF0509F090CE0F940B +:10F1E000BE241092BF088BE099E09F938F938DE926 +:10F1F0009AE59F938F938E010F5F1F4F1F930F937D +:10F200000F9441AE0F900F900F900F900F900F90B2 +:10F210007E01F5E0EF0EF11CF7018081882349F0B3 +:10F22000992787FD90950F9443ACF70181937F0157 +:10F23000F3CF2BE0C22E29E0D22E35E9E32E3FE0BA +:10F24000F32EF60161916F01C7010F948DB0FFEFAE +:10F25000EF1AFF0A2DE9E2162FE0F20691F786E099 +:10F2600099E00E9426A8782E682F8AE59FE00F94E7 +:10F270008DB09FE8A92E98E0B92E6501E12CF12C04 +:10F280008C2D8A198715B8F44701E8E08E0E911C81 +:10F29000F601EE0DFF1D6081C701865F904F0F9450 +:10F2A0008DB08FEFE81AF80AE814F90489F79FEF98 +:10F2B000C91AD90AE5CF21E041E06BE079E086E0A8 +:10F2C00099E00E9466AA86E099E00E948BA86131CD +:10F2D000F7E27F078105910590F0AB01BC01405139 +:10F2E0005742610971094093170C5093180C6093B1 +:10F2F000190C70931A0C82E69BE00E94229BB12CA1 +:10F30000AA24A394C090170CD090180CE090190C6C +:10F31000F0901A0C40910F0C5091100C6091110C50 +:10F320007091120CC416D506E606F70608F06EC0FA +:10F33000B1106CC0A1C02F5FE4CD822F90E0A0E09F +:10F34000B0E040915518509156186091571870913F +:10F350005818481759076A077B0778F0822F90E002 +:10F360000197AA2797FDA095BA2F809355189093DF +:10F370005618A0935718B09358184091551880917B +:10F380005A1890E00396242F30E08217930764F414 +:10F390008DEF840F80935A1881E08093AF021CEFA9 +:10F3A000412E440E55245A945394439423E025153A +:10F3B00008F008CD69C08CE598E10F941B9E9A94E3 +:10F3C000E5CD8CE598E10F941B9E9A940CCE10929B +:10F3D000360988CEF1E08F16910431F463E070E0D5 +:10F3E00080E090E00F948A9B61E070E080E090E024 +:10F3F0000F948A9B81E0A81AB10809F0A0CE78CEBC +:10F400008CE598E10F941B9E9A94CACE86E099E011 +:10F410000E94FEB3E091CC08F0E0EE0FFF1FE4582D +:10F42000FB4B6591749144E150E080EB98E10F94BF +:10F4300095AC0F940030B11013C0E091CC08F0E00F +:10F44000EE0FFF1FE458F84B8591949140E060E087 +:10F450000F943770F82E81E00F94E66DFF2049F08D +:10F4600060E0C8010E94C9B561E089E99AE50E949F +:10F47000C9B50F94712908C0A09208090E9435B738 +:10F480000E94A946B82E3ECFA4960FB6F894DEBFD0 +:10F490000FBECDBFDF91CF911F910F91FF90EF90E5 +:10F4A000DF90CF90BF90AF909F908F907F906F90A4 +:10F4B0005F904F903F902F900895EF92FF920F939F +:10F4C0001F93CF93DF93F82EE92E0E94CC43EC01DB +:10F4D00011E0009709F410E00F946B2E24E030E067 +:10F4E000309318022093170211110BC043E063E11F +:10F4F0008CE598E10E945B3962E08CE598E10F941D +:10F500001B9E04E682E390E00E9409570F94B331FA +:10F51000882321F10F94B3318111FCCF6AE070E0B0 +:10F5200080E090E00F948A9B0F94B3318111FCCF5F +:10F53000209779F582E090E090931802809317026B +:10F540000F94F32281E00F94E66D82E0DF91CF917A +:10F550001F910F91FF90EF900D94186B015091F651 +:10F56000112321F2209711F4CF2DDE2DCE010E9420 +:10F57000CC43EC01009709F0B7CF43E063E18CE5A1 +:10F5800098E10E945B3962E08CE598E10F941B9E44 +:10F59000ABCF112309F4AACFE9CFE091CC08F0E07A +:10F5A000EE0FFF1FE859F74B8591949186CFE091BC +:10F5B000CC08F0E0EE0FFF1FEE5BF84B85919491C5 +:10F5C0007CCF0F9381E09091BA02911180E08093FB +:10F5D000BA02811108C00E9471BC80910602882382 +:10F5E00041F0DBDF06C00E9454BC80914F108111B6 +:10F5F000DEDF8091080981110AC08091FB0881112A +:10F6000006C08091E1189091E218089749F401E052 +:10F6100021E047E050E060E070E088E491E008C05D +:10F6200001E021E047E050E060E070E084E591E037 +:10F630000F94CD240F9108958F929F92AF92BF9215 +:10F64000CF92DF92EF92FF920F931F93CF93DF93AE +:10F6500041E064EE78E18FEF9FE00F94662F809198 +:10F66000551890915618A0915718B091581881309C +:10F670009048A105B10540F0109255181092561807 +:10F68000109257181092581880915518909156184A +:10F69000A0915718B091581840915A1850E060E066 +:10F6A00070E084179507A607B70710F480935A18DF +:10F6B00000915A18B0905B18B2FABB24B0F810E071 +:10F6C000E6E58E2EE8E49E2EF7E0CF2ED12CE12C3D +:10F6D000F12CAA24A3948091551890915618A091CA +:10F6E0005718B091581801113AC02091AF02222347 +:10F6F000A1F0E091CC08F0E0EE0FFF1FE452F94BCF +:10F700006591749123E0892B8A2B8B2B11F443E0B4 +:10F7100001C040E2812F0F949023BB2009F4BCC1AB +:10F720008091551890915618A0915718B09158187B +:10F73000892B8A2B8B2B09F0AFC10F94BE248AE64C +:10F7400091E0DF91CF911F910F91FF90EF90DF90AB +:10F75000CF90BF90AF909F908F900D947E250130F9 +:10F7600009F044C02091AF022223F1F0E091CC08CF +:10F77000F0E0EE0FFF1FE45BFA4BC591D4910197C7 +:10F78000A105B10539F488E592E00F9404379C0196 +:10F790004EE306C088E592E00F9404379C0140E2F6 +:10F7A000BE01812F0F94C723BB2009F475C180913E +:10F7B000551890915618A0915718B0915818019764 +:10F7C000A105B10509F068C10F94BE24E091CC08F1 +:10F7D000F0E0EE0FFF1FE45BFA4B8591949127EE6A +:10F7E00033E04AE050E068E572E046C0023009F0DC +:10F7F00051C02091AF022223F1F0E091CC08F0E05B +:10F80000EE0FFF1FE457F94BC591D4910297A10564 +:10F81000B10539F489EF97E10F9404379C014EE369 +:10F8200006C089EF97E10F9404379C0140E2BE01C6 +:10F83000812F0F94C723BB2009F42EC18091551846 +:10F8400090915618A0915718B09158180297A10599 +:10F85000B10509F021C10F94BE24E091CC08F0E07D +:10F86000EE0FFF1FE457F94B8591949127E231E0A9 +:10F8700040E050E069EF77E1DF91CF911F910F9168 +:10F88000FF90EF90DF90CF90BF90AF909F908F90C0 +:10F890000D941925033009F039C02091AF022223BD +:10F8A000C1F0F401C591D4910397A105B10539F4D4 +:10F8B00087EF97E10F9404379C014EE306C087EF72 +:10F8C00097E10F9404379C0140E2BE01812F0F9411 +:10F8D000C723BB2009F4E0C08091551890915618B9 +:10F8E000A0915718B09158180397A105B10509F0D8 +:10F8F000D3C00F94BE24E6E5F8E48591949123E704 +:10F9000030E040E050E067EF77E1B6CF043009F037 +:10F9100044C02091AF022223F1F0E091CC08F0E046 +:10F92000EE0FFF1FE057F84BC591D4910497A10546 +:10F93000B10539F488E698E00F9404379C014EE352 +:10F9400006C088E698E00F9404379C0140E2BE01AF +:10F95000812F0F94C723BB2009F49EC080915518B6 +:10F9600090915618A0915718B09158180497A10576 +:10F97000B10509F091C00F94BE24E091CC08F0E0ED +:10F98000EE0FFF1FE057F84B859194912FEF30E079 +:10F9900040E050E068E678E06FCF053009F044C001 +:10F9A0002091AF022223F1F0E091CC08F0E0EE0FBD +:10F9B000FF1FEC59F84BC591D4910597A105B105EE +:10F9C00039F486E592E00F9404379C014EE306C0BB +:10F9D00086E592E00F9404379C0140E2BE01812F3E +:10F9E0000F94C723BB2009F457C0809155189091FC +:10F9F0005618A0915718B09158180597A105B10550 +:10FA000009F04AC00F94BE24E091CC08F0E0EE0F5C +:10FA1000FF1FEC59F84B8591949127EE33E04AE0B3 +:10FA200050E066E572E028CF0630B1F52091AF02D4 +:10FA30002223A1F0E091CC08F0E0EE0FFF1FE45785 +:10FA4000F84B6591749120E20697A105B10511F478 +:10FA50004EE301C040E2812F0F949023BB20E1F0E0 +:10FA60008091551890915618A0915718B091581838 +:10FA70000697A105B10581F40F94BE24DF91CF91C3 +:10FA80001F910F91FF90EF90DF90CF90BF90AF90BC +:10FA90009F908F900D9437302091BA028091551825 +:10FAA00090915618A0915718B091581821110FC075 +:10FAB000073009F043C02091AF02222301F1E09109 +:10FAC000CC08F0E0EE0FFF1FEA5AF84B0DC00730EC +:10FAD000A9F52091AF02222391F0E091CC08F0E04B +:10FAE000EE0FFF1FEE5AF84B6591749120E20797D5 +:10FAF000A105B10509F140E2812F0F949023BB20AD +:10FB0000E9F08091551890915618A0915718B0912E +:10FB100058180797A105B10589F40F94BE24DF9109 +:10FB2000CF911F910F91FF90EF90DF90CF90BF90FA +:10FB3000AF909F908F9045CD4EE3DECF80915518CA +:10FB400090915618A0915718B09158180897A10590 +:10FB5000B10540F0C0925518D0925618E09257184F +:10FB6000F09258184091551880915A1890E00396D9 +:10FB7000242F30E0821793074CF48DEF840F80938D +:10FB80005A18A092AF020CEF040F1FEF1F5F0F5F18 +:10FB9000143008F4A0CDDF91CF911F910F91FF9009 +:10FBA000EF90DF90CF90BF90AF909F908F9008958F +:10FBB0004F925F926F927F929F92AF92BF92CF923D +:10FBC000DF92EF92FF920F931F93CF93DF931F92D9 +:10FBD000CDB7DEB741E064EE78E18FEF9FE00F94A0 +:10FBE000662F8091551890915618A0915718B09192 +:10FBF000581881309048A105B10540F01092551871 +:10FC00001092561810925718109258188091551843 +:10FC100090915618A0915718B091581840915A18C1 +:10FC200050E060E070E084179507A607B70710F46E +:10FC300080935A18C0905A18B0905B18B2FABB243F +:10FC4000B0F8D12C0CE015E42AE0E22E25E4F22EE7 +:10FC5000C11037C08091AF028823E1F0E091CC0859 +:10FC6000F0E0EE0FFF1FE452F94B65917491809123 +:10FC7000551890915618A0915718B091581823E034 +:10FC8000892B8A2B8B2B11F443E001C040E28D2D90 +:10FC90000F949023BB2009F44AC08091551890918D +:10FCA0005618A0915718B0915818892B8A2B8B2B76 +:10FCB00009F03DC00F94BE248AE691E00F947E25A2 +:10FCC00035C681E0C81233C08091AF028823E1F0CD +:10FCD000E091CC08F0E0EE0FFF1FE05EFA4B65917B +:10FCE00074918091551890915618A0915718B09121 +:10FCF00058182EE70197A105B10511F44EE301C094 +:10FD000040E28D2D0F949023BB2089F080915518EF +:10FD100090915618A0915718B09158180197A105C5 +:10FD2000B10529F40F94BE248CE791E081C5809140 +:10FD3000FA08811139C022E0C21619F0B3E0AB2EE7 +:10FD400035C08091AF028823E1F0E091CC08F0E06B +:10FD5000EE0FFF1FE654F94B659174918091551891 +:10FD600090915618A0915718B09158182EE7029705 +:10FD7000A105B10511F44EE301C040E28D2D0F94B1 +:10FD80009023BB20D9F28091551890915618A091DC +:10FD90005718B09158180297A105B10579F60F943C +:10FDA000BE2488EA91E044C5E2E0AE2E8091DE18E0 +:10FDB000811143C0AC1040C08091AF02882309F18B +:10FDC000E091CC08F0E0EE0FFF1FE054F84B659196 +:10FDD00074918A2D90E0A0E0B0E0409055185090CA +:10FDE0005618609057187090581820E24816590617 +:10FDF0006A067B0611F44EE301C040E28D2D0F949C +:10FE00009023BB20C9F08A2D90E0A0E0B0E04091A3 +:10FE100055185091561860915718709158184817F6 +:10FE200059076A077B0741F40F94BE2461E08CEE0A +:10FE30009AE50E94C9B57AC5A3948091BA0281114E +:10FE400006C180914F10882309F482C0AC103CC0D9 +:10FE50008091AF02882309F1E091CC08F0E0EE0F29 +:10FE6000FF1FE65AF84B659174918A2D90E0A0E04F +:10FE7000B0E0409055185090561860905718709008 +:10FE8000581820E2481659066A067B0611F44EE31C +:10FE900001C040E28D2D0F949023BB20A9F08A2D44 +:10FEA00090E0A0E0B0E04091551850915618609154 +:10FEB000571870915818481759076A077B0721F49B +:10FEC0000F94BE247EDB32C5992493949A0C9C1027 +:10FED0007EC18091AF02882311F1E091CC08F0E05F +:10FEE000EE0FFF1FE25BF84BA591B491492D50E056 +:10FEF00060E070E040905518509056186090571888 +:10FF00007090581820E2441655066606770611F4DC +:10FF10004EE301C040E2BD018D2D0F949023BB2024 +:10FF200009F455C1892D90E0A0E0B0E0409155184A +:10FF300050915618609157187091581848175907E2 +:10FF40006A077B0709F043C10F94BE2430DBEEC47F +:10FF5000AC1039C08091AF02882309F1E091CC0840 +:10FF6000F0E0EE0FFF1FEA5AF84B659174918A2D6D +:10FF700090E0A0E0B0E04090551850905618609086 +:10FF800057187090581820E2481659066A067B06E2 +:10FF900011F44EE301C040E28D2D0F949023BB205D +:10FFA00091F08A2D90E0A0E0B0E04091551850917A +:10FFB00056186091571870915818481759076A07D2 +:10FFC0007B0709F47DCF992493949A0C9C10FFC071 +:10FFD0008091AF02882311F1E091CC08F0E0EE0FA0 +:10FFE000FF1FE25BF84BA591B491492D50E060E012 +:10FFF00070E04090551850905618609057187090C7 +:020000023000CC +:10000000581820E2441655066606770611F44EE3AA +:1000100001C040E2BD018D2D0F949023BB2009F457 +:10002000D6C0892D90E0A0E0B0E0409155185091E5 +:1000300056186091571870915818481759076A0751 +:100040007B0709F0C4C00F94BE24A7DA6FC4AC10BC +:1000500039C08091AF02882309F1E091CC08F0E02B +:10006000EE0FFF1FEE5AF84B659174918A2D90E0C8 +:10007000A0E0B0E040905518509056186090571886 +:100080007090581820E2481659066A067B0611F44B +:100090004EE301C040E28D2D0F949023BB2091F0E0 +:1000A0008A2D90E0A0E0B0E040915518509156188C +:1000B0006091571870915818481759076A077B07BD +:1000C00009F4FECE992493949A0C80910602882319 +:1000D00009F441C09C107BC08091AF02882309F1D4 +:1000E000E091CC08F0E0EE0FFF1FEA5BF84B659162 +:1000F0007491892D90E0A0E0B0E0409055185090A8 +:100100005618609057187090581820E248165906F3 +:100110006A067B0611F44EE301C040E28D2D0F9478 +:100120009023BB2009F453C0892D90E0A0E0B0E0FB +:100130004091551850915618609157187091581861 +:10014000481759076A077B0709F041C00F94BE247E +:100150000F944F29EBC39C103AC08091AF028823C3 +:1001600011F1E091CC08F0E0EE0FFF1FE65BF84BD9 +:10017000A591B491492D50E060E070E04090551891 +:1001800050905618609057187090581820E24416F6 +:1001900055066606770611F44EE301C040E2BD0144 +:1001A0008D2D0F949023BB2091F0892D90E0A0E03D +:1001B000B0E04090551850905618609057187090C5 +:1001C0005818481659066A067B0609F4BFCFA3944F +:1001D000A39480910702882309F441C0AC107AC02F +:1001E0008091AF02882309F1E091CC08F0E0EE0F96 +:1001F000FF1FEC56F84B659174918A2D90E0A0E0BA +:10020000B0E0409055185090561860905718709074 +:10021000581820E2481659066A067B0611F44EE388 +:1002200001C040E28D2D0F949023BB2009F452C0F1 +:100230008A2D90E0A0E0B0E04091551850915618FA +:100240006091571870915818481759076A077B072B +:1002500009F040C00F94BE240F94682567C3AC100A +:1002600039C08091AF02882309F1E091CC08F0E019 +:10027000EE0FFF1FE856F84B659174918A2D90E0C0 +:10028000A0E0B0E040905518509056186090571874 +:100290007090581820E2481659066A067B0611F439 +:1002A0004EE301C040E28D2D0F949023BB2091F0CE +:1002B0008A2D90E0A0E0B0E040905518509056187C +:1002C0006090571870905818481659066A067B06B1 +:1002D00009F4C0CFA3948091F908811141C0AC10FA +:1002E0007AC08091AF02882309F1E091CC08F0E058 +:1002F000EE0FFF1FEC5EFA4B659174918A2D90E032 +:10030000A0E0B0E0409055185090561860905718F3 +:100310007090581820E2481659066A067B0611F4B8 +:100320004EE301C040E28D2D0F949023BB2009F4D1 +:1003300052C08A2D90E0A0E0B0E040915518509155 +:1003400056186091571870915818481759076A073E +:100350007B0709F040C00F94BE240F943C2AE6C2EC +:10036000AC1039C08091AF02882309F1E091CC082C +:10037000F0E0EE0FFF1FE05FFA4B659174918A2D5C +:1003800090E0A0E0B0E04090551850905618609072 +:1003900057187090581820E2481659066A067B06CE +:1003A00011F44EE301C040E28D2D0F949023BB2049 +:1003B00091F08A2D90E0A0E0B0E040905518509068 +:1003C00056186090571870905818481659066A06C3 +:1003D0007B0609F4C0CFA3948091A107811141C08D +:1003E000AC107AC08091AF02882309F1E091CC086B +:1003F000F0E0EE0FFF1FE251FA4B659174918A2DE8 +:1004000090E0A0E0B0E040905518509056186090F1 +:1004100057187090581820E2481659066A067B064D +:1004200011F44EE301C040E28D2D0F949023BB20C8 +:1004300009F452C08A2D90E0A0E0B0E04091551838 +:1004400050915618609157187091581848175907CD +:100450006A077B0709F040C00F94BE240F94542A0A +:1004600065C2AC1039C08091AF02882309F1E091D8 +:10047000CC08F0E0EE0FFF1FE651FA4B6591749146 +:100480008A2D90E0A0E0B0E04090551850905618AA +:10049000609057187090581820E2481659066A065E +:1004A0007B0611F44EE301C040E28D2D0F949023A2 +:1004B000BB2091F08A2D90E0A0E0B0E0409055186C +:1004C0005090561860905718709058184816590652 +:1004D0006A067B0609F4C0CFA3948091DE188111CF +:1004E00044C08091FA08811140C0AC103DC0809199 +:1004F000AF02882309F1E091CC08F0E0EE0FFF1F76 +:10050000E45AF74B659174918A2D90E0A0E0B0E039 +:100510004090551850905618609057187090581881 +:100520002EE7481659066A067B0611F44EE301C011 +:1005300040E28D2D0F949023BB20B1F08A2D90E0E6 +:10054000A0E0B0E0409155185091561860915718AE +:1005500070915818481759076A077B0729F40F94B8 +:10056000BE2486EC91E064C1A394AC103DC08091A0 +:10057000AF02882309F1E091CC08F0E0EE0FFF1FF5 +:10058000E85FF84B659174918A2D90E0A0E0B0E0AF +:100590004090551850905618609057187090581801 +:1005A0002EE7481659066A067B0611F44EE301C091 +:1005B00040E28D2D0F949023BB20B1F08A2D90E066 +:1005C000A0E0B0E04091551850915618609157182E +:1005D00070915818481759076A077B0729F40F9438 +:1005E000BE248CE291E024C1992493949A0C8091CA +:1005F0003F0B882309F43AC09C106DC08091AF0274 +:100600008823D9F0F70165917491892D90E0A0E0DD +:10061000B0E0409055185090561860905718709060 +:10062000581820E2481659066A067B0611F44EE374 +:1006300001C040E28D2D0F949023BB2009F44BC0E4 +:10064000892D90E0A0E0B0E04091551850915618E7 +:100650006091571870915818481759076A077B0717 +:10066000D1F50F94BE240F94912460C19C1033C027 +:100670008091AF028823E1F0F801A591B491492D52 +:1006800050E060E070E0409055185090561860902F +:1006900057187090581820E24416550666067706DB +:1006A00011F44EE301C040E2BD018D2D0F94902363 +:1006B000BB2089F0892D90E0A0E0B0E04090551873 +:1006C0005090561860905718709058184816590650 +:1006D0006A067B0631F2A394A3948091DD18811100 +:1006E0006BC041E0BE016F5F7F4F89E09FE00F94D8 +:1006F000662F89814091551850915618609157186E +:1007000070915818882319F0813079F044C0AC10EA +:1007100052C08091AF02882331F1E091CC08F0E023 +:10072000EE0FFF1FE05BFA4B0DC0AC1044C0809190 +:10073000AF028823C1F0E091CC08F0E0EE0FFF1F7C +:10074000E85AFA4B859194914A2C512C612C712CCA +:1007500020E2441555056605770559F140E2BC01D4 +:100760008D2D0F949023BB2031F18A2D90E0A0E0D5 +:10077000B0E04091551850915618609157187091FB +:100780005818481759076A077B07A9F40F94BE2425 +:100790000F94882FCBC0AC100EC08091AF0288237D +:1007A00011F3E091CC08F0E0EE0FFF1FEC5AFA4B8A +:1007B000C9CF4EE3D4CFA3948091DD18882309F4E8 +:1007C00077C0AC1038C08091AF028823D1F08A2D59 +:1007D00090E0A0E0B0E0409155185091561860911B +:1007E0005718709158182EE7481759076A077B0762 +:1007F00011F44EE301C040E260EE7AE58D2D0F94D6 +:100800009023BB20C1F08A2D90E0A0E0B0E04091A1 +:1008100055185091561860915718709158184817EC +:1008200059076A077B0739F40F94BE2486E491E0E8 +:100830000F94E0267BC0992493949A0C9C1036C0A8 +:100840008091AF028823D1F04C2D50E060E070E041 +:100850008091551890915618A0915718B09158183A +:1008600020E284179507A607B70711F44EE301C0ED +:1008700040E26EEC7AE58D2D0F949023BB20B1F011 +:10088000892D90E0A0E0B0E04091551850915618A5 +:100890006091571870915818481759076A077B07D5 +:1008A00029F40F94BE240F941D7440C0A394A39404 +:1008B0004A2D50E060E070E08091551890915618F4 +:1008C000A0915718B091581884179507A607B70735 +:1008D00080F04A2D50E041505109662757FD609540 +:1008E000762F40935518509356186093571870936D +:1008F00058184091551880915A1890E00396242F6B +:1009000030E08217930764F48DEF840F80935A18B8 +:1009100081E08093AF02ACEFCA2EC40EDD24DA94DE +:10092000D394C39483E08D1508F092C90F90DF91A2 +:10093000CF911F910F91FF90EF90DF90CF90BF90DC +:10094000AF909F907F906F905F904F900895CF935E +:10095000DF9320E030E04EE353E46091F1177091B3 +:10096000F2178091F3179091F4170F9435A618168B +:100970005CF580910602882389F080916A028823C1 +:1009800069F0E091CC08F0E0EE0FFF1FE459F74B5F +:1009900085919491DF91CF910D945D7A81E0809360 +:1009A000C0088093BF0861E087E896E50E94C9B55A +:1009B000CEEED6E08991882319F00F94782AFACFE9 +:1009C0008AE00F94782A2CC00F94CF2E40E060E08C +:1009D0008CE598E10E945B39E091CC08F0E0EE0FE5 +:1009E000FF1FEE54F84B859194910F945C4142E0C7 +:1009F00060E08CE598E10E945B39E091CC08F0E082 +:100A0000EE0FFF1FE25BF94B859194910F945C41CF +:100A100060ED77E080E090E00F948A9B0F94CF2EFA +:100A2000DF91CF910D9471294F925F926F927F92D7 +:100A3000AF92BF92CF92DF92EF92FF920F931F93EC +:100A4000CF93DF931092E518809155189091561826 +:100A5000A0915718B091581881309048A105B10560 +:100A600040F0109255181092561810925718109284 +:100A700058188091551890915618A0915718B09118 +:100A8000581840915A1850E060E070E084179507BC +:100A9000A607B70710F480935A18D0915A181091EE +:100AA0005B1812FB112710F9C0E0AA24A394D111FE +:100AB00042C08091AF028823E1F0E091CC08F0E0E1 +:100AC000EE0FFF1FEA51FB4B659174918091551811 +:100AD00090915618A0915718B091581823E0892B7F +:100AE0008A2B8B2B11F443E001C040E28C2F0F9432 +:100AF0009023112301F18091551890915618A091DF +:100B00005718B0915818892B8A2B8B2BA1F40F946E +:100B1000BE2488E391E0DF91CF911F910F91FF9068 +:100B2000EF90DF90CF90BF90AF907F906F905F90ED +:100B30004F900D947E258091080981110BC0809102 +:100B4000FB08811107C08091E1189091E218089785 +:100B500009F04FC020E030E040E050E460918608AA +:100B60007091870880918808909189080F9432A429 +:100B700087FF3FC08091FA0881113BC08091CE0869 +:100B8000811137C0D13011F002E034C08091AF0242 +:100B90008823E1F0E091CC08F0E0EE0FFF1FE45A6B +:100BA000F74B659174918091551890915618A091CA +:100BB0005718B09158182EE70197A105B10511F407 +:100BC0004EE301C040E28C2F0F9490231123E1F2F9 +:100BD0008091551890915618A0915718B0915818B7 +:100BE0000197A105B10581F60F94BE2486EC91E032 +:100BF0003EC001E08091641190916311891B8F7058 +:100C00004091551850915618609157187091581886 +:100C100081110FC08091080981110BC08091FB08E0 +:100C2000811107C08091E1189091E218089709F0AE +:100C300049C00D134FC08091AF02811128C011230C +:100C400009F448C0802F90E0A0E0B0E04091551832 +:100C500050915618609157187091581848175907B5 +:100C60006A077B07B9F50F94BE2488E491E0DF9111 +:100C7000CF911F910F91FF90EF90DF90CF90BF9099 +:100C8000AF907F906F905F904F900D94E026E09131 +:100C9000CC08F0E0EE0FFF1FEA5FFA4B85919491CC +:100CA000C02ED12CE12CF12C2EE74C155D056E05E4 +:100CB0007F0511F44EE301C040E2BC018C2F0F947C +:100CC0009023BDCF0D1306C08091AF028111ADC33B +:100CD0001111C6C30F5F80910909409155185091B9 +:100CE00056186091571870915818811107C080915B +:100CF000E1189091E218089709F009C18091650BFD +:100D0000882309F4DFC08091CE08811139C1809118 +:100D1000FA08811135C180910809882309F447C078 +:100D20000D138AC08091AF028823D1F0E091CC08E6 +:100D3000F0E0EE0FFF1FE658F94B85919491C02E1D +:100D4000D12CE12CF12C20E24C155D056E057F05C0 +:100D500011F44EE301C040E2BC018C2F0F949023AC +:100D6000112309F469C0802F90E0A0E0B0E0409129 +:100D70005518509156186091571870915818481787 +:100D800059076A077B0709F057C00F94BE24DF910B +:100D9000CF911F910F91FF90EF90DF90CF90BF9078 +:100DA000AF907F906F905F904F900D947D290D13C1 +:100DB00043C08091AF028823D1F0E091CC08F0E0ED +:100DC000EE0FFF1FE25EF94B85919491C02ED12C5E +:100DD000E12CF12C20E24C155D056E057F0511F428 +:100DE0004EE301C040E2BC018C2F0F9490231123ED +:100DF00019F1802F90E0A0E0B0E04091551850919B +:100E000056186091571870915818481759076A0773 +:100E10007B0791F40F94BE24DF91CF911F910F9126 +:100E2000FF90EF90DF90CF90BF90AF907F906F904A +:100E30005F904F900D94AD29BB24B394B00EBD12BA +:100E40003EC08091AF02882311F1E091CC08F0E020 +:100E5000EE0FFF1FE85DFA4B859194914B2D50E00A +:100E600060E070E0C0905518D0905618E090571888 +:100E7000F09058182EE7C416D506E606F70611F4CA +:100E80004EE301C040E2BC018C2F0F94902311234C +:100E9000B1F04B2D50E060E070E0C0905518D0905C +:100EA0005618E0905718F0905818C416D506E60664 +:100EB000F70629F40F94BE2488EC91E0D8CE01E027 +:100EC0000B0D5EC08091E1189091E2188830910579 +:100ED00049F42091CE08211105C02091FA0822235F +:100EE00009F44EC02091FB0821114AC0089709F46B +:100EF00047C00D1344C08091AF02882331F1E091C7 +:100F0000CC08F0E0EE0FFF1FE051F84B0DC00D13C1 +:100F100036C08091AF028823C1F0E091CC08F0E0A8 +:100F2000EE0FFF1FE857F94B85919491C02ED12CFD +:100F3000E12CF12C2EE74C155D056E057F05E9F0DF +:100F400040E2BC018C2F0F9490231123C1F0802F1D +:100F500090E0A0E0B0E04091551850915618609193 +:100F6000571870915818481759076A077B0739F4C2 +:100F70000F94BE2486E991E07ACE4EE3E2CF0F5F74 +:100F80008091080940915518509156186091571852 +:100F90007091581881110AC08091FB08811106C018 +:100FA0008091E1189091E2180897B9F58091DD18C9 +:100FB000882309F465C10D132EC08091AF028823E8 +:100FC00091F0802F90E0A0E0B0E02EE7481759079D +:100FD0006A077B0711F44EE301C040E260E77CE55D +:100FE0008C2F0F9490231123B1F0802F90E0A0E07C +:100FF000B0E0409155185091561860915718709173 +:101000005818481759076A077B0729F40F94BE241C +:1010100086E491E02CCE0F5F33C1809106028823D5 +:1010200091F080916A02882371F00D1350C0809175 +:10103000AF02882331F1E091CC08F0E0EE0FFF1F02 +:10104000EC59F74B0DC00D1342C08091AF028823BD +:10105000C1F0E091CC08F0E0EE0FFF1FE850F94B33 +:1010600085919491C02ED12CE12CF12C20E24C15CD +:101070005D056E057F0549F140E2BC018C2F0F94A0 +:101080009023112321F1802F90E0A0E0B0E0409167 +:101090005518509156186091571870915818481764 +:1010A00059076A077B0799F40F94BE24DF91CF910B +:1010B0001F910F91FF90EF90DF90CF90BF90AF9076 +:1010C0007F906F905F904F9042CC4EE3D6CFFF243D +:1010D000F394F00EFD124AC08091AF02882309F10B +:1010E000E091CC08F0E0EE0FFF1FE450FB4B659160 +:1010F00074918F2D90E0A0E0B0E040905518509092 +:101100005618609057187090581820E248165906E3 +:101110006A067B0611F44EE301C040E28C2F0F9467 +:101120009023112319F18F2D90E0A0E0B0E04091C1 +:1011300055185091561860915718709158184817C3 +:1011400059076A077B0791F40F94BE24DF91CF9172 +:101150001F910F91FF90EF90DF90CF90BF90AF90D5 +:101160007F906F905F904F900D94984AEE24E39497 +:10117000EF0CED123EC08091AF02882311F1E09197 +:10118000CC08F0E0EE0FFF1FEE58FA4BA591B4919A +:101190004E2D50E060E070E0409055185090561889 +:1011A00060905718709058182EE74416550666063A +:1011B000770611F44EE301C040E2BD018C2F0F947D +:1011C00090231123B1F08E2D90E0A0E0B0E040918B +:1011D0005518509156186091571870915818481723 +:1011E00059076A077B0729F40F94BE2484E591E030 +:1011F0003ECD02E00F0D8091DE18811141C00D132C +:101200003DC08091AF02882309F1E091CC08F0E065 +:10121000EE0FFF1FE853F94B65917491802F90E01A +:10122000A0E0B0E0409055185090561860905718C4 +:10123000709058182EE7481659066A067B0611F476 +:101240004EE301C040E28C2F0F9490231123B1F0A4 +:10125000802F90E0A0E0B0E04091551850915618D2 +:101260006091571870915818481759076A077B07FB +:1012700029F40F94BE2480E591E0F9CC03E00F0D32 +:101280008091FB08811147C08091E1189091E2188C +:10129000089709F440C00D133DC08091AF02882328 +:1012A00009F1E091CC08F0E0EE0FFF1FEC5BFA4B88 +:1012B00065917491802F90E0A0E0B0E0C090551847 +:1012C000D0905618E0905718F09058182EE7C8168E +:1012D000D906EA06FB0611F44EE301C040E28C2F6A +:1012E0000F9490231123B1F0802F90E0A0E0B0E0A4 +:1012F0004091551850915618609157187091581890 +:10130000481759076A077B0729F40F94BE248EE615 +:1013100091E0ADCC0F5F0D133DC08091AF028823EB +:1013200009F1E091CC08F0E0EE0FFF1FEC5DFA4B05 +:1013300065917491802F90E0A0E0B0E0C0905518C6 +:10134000D0905618E0905718F09058182EE7C8160D +:10135000D906EA06FB0611F44EE301C040E28C2FE9 +:101360000F9490231123B1F0402F50E060E070E023 +:10137000C0905518D0905618E0905718F090581813 +:10138000C416D506E606F70629F40F94BE248CEEA3 +:1013900091E06DCCBB24B394B00E8B2D90E0A0E017 +:1013A000B0E04091551850915618609157187091BF +:1013B0005818481759076A077B0778F08B2D90E07B +:1013C0000197AA2797FDA095BA2F8093551890935F +:1013D0005618A0935718B0935818409155188091FB +:1013E0005A1890E00396242F30E0821793074CF4AC +:1013F0008DEF840F80935A18A092AF02DCEFD40FC8 +:10140000CFEFCF5FDF5FC43008F451CBDF91CF91D6 +:101410001F910F91FF90EF90DF90CF90BF90AF9012 +:101420007F906F905F904F900895E091CC08F0E02E +:10143000EE0FFF1FEE5AF94B85919491C02ED12CDF +:10144000E12CF12C2EE74C155D056E057F0511F49E +:101450004EE301C040E2BC018C2F0F94902338CCA6 +:10146000402F50E060E070E0C0905518D0905618C2 +:10147000E0905718F0905818C416D506E606F706FF +:1014800009F028CC0F94BE248EE991E0F0CB2F9286 +:101490003F924F925F926F927F928F929F92AF9204 +:1014A000BF92CF92DF92EF92FF920F931F93CF9351 +:1014B000DF9300D000D0CDB7DEB78C8310928608C2 +:1014C000109287081092880810928908209182084B +:1014D00030918308409184085091850860917E087E +:1014E00070917F088091800890918108BAE8CB2E96 +:1014F000B8E0DB2EE12CF12C87010F945802198201 +:101500000F945B9BE091CC080C81F0E0EE0FFF1F85 +:10151000002319F0EE54F94B02C0EA54F94B259020 +:101520003490C1010E94CC439B838A830F945B9BC0 +:101530002B013C0110920419109255181092561864 +:1015400010925718109258182A813B813E832D83A0 +:101550000F94A21881E00E946F5880910419992776 +:1015600087FD909597FF03C0919581959109049708 +:101570000CF488C062E370E080E090E00F948A9BF6 +:101580000F945B9B409155185091561860915718D5 +:10159000709158189091041994304CF0892F8595CA +:1015A0008595992787FD9095A92FB92F0DC097FD97 +:1015B0009D5F892F85958595992781950CF4909548 +:1015C000AA2797FDA095BA2F8C019D01040F151F26 +:1015D000261F371FC901B8010093551810935618DC +:1015E00020935718309358181092041920916411C1 +:1015F0002F5F203109F420E030916311321709F494 +:1016000041C00F94D2A42091860830918708409160 +:101610008808509189080F9459A37B018C0160932D +:1016200086087093870880938808909389081092A1 +:101630005518109256181092571810925818209159 +:101640008208309183084091840850918508609108 +:101650007E0870917F088091800890918108AAE6A9 +:10166000B8E0BF93AF93E5E58E2E982CE5E8AE2E5B +:10167000E1E4BE2EFAE8CF2EF8E0DF2E0E9488F7D4 +:101680000F900F900F94B331882389F00E940DF6CC +:101690000F94B3318111FCCF6AE070E080E090E0FC +:1016A0000F948A9B0F94B3318111FCCF12C00A8131 +:1016B0001B81012B09F44CCF0F945B9B64197509B6 +:1016C00086099709693873418105910508F440CF6F +:1016D0008BC0298121110BC0E091CC08F0E0EE0F06 +:1016E000FF1FE652F84B859194910F945D7AE0913B +:1016F000CC08F0E0EE0FFF1FE252F84B8591949179 +:1017000040E060E00F9437708F3F09F46BC0813088 +:1017100019F031E03983F4CE80E090E0AFE4B3E437 +:101720008093860890938708A0938808B0938908CF +:101730002091820830918308409184085091850857 +:1017400060917E0870917F08809180089091810857 +:10175000EAE8CE2EE8E0DE2EE12CF12C0FE413E4D3 +:101760000F945802E091CC088C81F0E0EE0FFF1F3F +:101770008823A1F0EC52F94B859194910E94CC43BF +:1017800041E050E063E080E00F94DA2EE091CC0875 +:10179000F0E0EE0FFF1FE053F94B1EC0E258F94B8B +:1017A000859194910F945D7AE091CC08F0E0EE0F72 +:1017B000FF1FE059F84B859194910E94CC4341E082 +:1017C00050E062E080E00F94DA2EE091CC08F0E087 +:1017D000EE0FFF1FE459F84B859194910F945C41F3 +:1017E00081E013C080E011C0AD81BE81AB2B11F44C +:1017F0003E822D828D819E810E94CC439E838D836B +:101800000F945B9B2B013C01A3CE26960FB6F89458 +:10181000DEBF0FBECDBFDF91CF911F910F91FF9023 +:10182000EF90DF90CF90BF90AF909F908F907F9080 +:101830006F905F904F903F902F900895CF93DF93DC +:10184000EC01E091CC08CF3F8FEFD80731F4F0E006 +:10185000EE0FFF1FE85EF74B4DC0CE3F8FEFD8076E +:1018600079F4F0E0EE0FFF1F662381F1623011F092 +:10187000673019F4E85DF74B3DC0EC5DF74B3AC0BB +:1018800061110EC0E091CC08C130D10541F1C230E8 +:10189000D10559F1CD2BE9F0F0E0EE0FFF1F16C096 +:1018A000F0E0EE0FFF1F623011F0673019F4E45FD3 +:1018B000F74B02C0E85FF74B859194910F945D7AE6 +:1018C0001C161D06FCF2DF91CF910895E05EF74BE8 +:1018D00011C0F0E0EE0FFF1FE45EF74B0BC0F0E02D +:1018E000EE0FFF1FE05FF74B05C0F0E0EE0FFF1FAC +:1018F000EC5EF74B85919491DF91CF910D945D7AD9 +:1019000087EF9FE00F945DB08F3F49F46FEF87EF53 +:101910009FE00F946FB080E090E00D947656E091D8 +:10192000CC08F0E0EE0FFF1FEA54FB4B8591949139 +:1019300040E060E00F94426F8111E8CF0F9471296D +:1019400081E00F94E66D82E00D94186B6F927F92A8 +:101950008F929F92BF92DF92EF92FF920F931F930D +:10196000CF93DF938091551890915618A0915718F6 +:10197000B091581881309048A105B10540F01092FF +:1019800055181092561810925718109258188091A6 +:10199000551890915618A0915718B0915818409129 +:1019A0005A1850E060E070E084179507A607B70763 +:1019B00010F480935A18C0915A18B0905B18B2FA7C +:1019C000BB24B0F8D12CD1E09EEB892E96E4992E61 +:1019D00028EE622E25E4722E02E618E432EEE32EA3 +:1019E00034E4F32EC11140C08091AF028823E1F0AE +:1019F000E091CC08F0E0EE0FFF1FE452F94B659147 +:101A000074918091551890915618A0915718B091E3 +:101A1000581823E0892B8A2B8B2B11F443E001C04B +:101A200040E28D2D0F949023BB20F1F0809155184A +:101A300090915618A0915718B0915818892B8A2B5D +:101A40008B2B91F40F94BE248AE691E0DF91CF9125 +:101A50001F910F91FF90EF90DF90BF909F908F901C +:101A60007F906F900D947E258091DE18811177C252 +:101A70004091551850915618609157187091581808 +:101A8000C13099F58091AF02882381F0F7018591EB +:101A9000949120E2413051056105710511F44EE346 +:101AA00001C040E2BC018D2D0F949023BB2009F4AE +:101AB000C5C18091551890915618A0915718B091B2 +:101AC00058180197A105B10509F0B8C10F94BE24BB +:101AD000DF91CF911F910F91FF90EF90DF90BF901A +:101AE0009F908F907F906F900BCFC23079F580914F +:101AF000AF028823B1F0E091CC08F0E0EE0FFF1FB9 +:101B0000E251FB4B859194912EE7423051056105DE +:101B1000710511F44EE301C040E2BC018D2D0F941C +:101B20009023BB2009F48AC18091551890915618D2 +:101B3000A0915718B09158180297A105B10509F066 +:101B40007DC10F94BE2486ED91E0FBC1C33051F5F9 +:101B50008091AF02882381F0F8018591949120E271 +:101B6000433051056105710511F44EE301C040E2B7 +:101B7000BC018D2D0F949023BB2009F45FC180918F +:101B8000551890915618A0915718B091581803976E +:101B9000A105B10509F052C10F94BE2461E085E4AE +:101BA0009BE590C1C430A1F58091AF02882381F0FC +:101BB000F3018591949120E244305105610571054E +:101BC00011F44EE301C040E2BC018D2D0F9490232F +:101BD000BB2009F433C18091551890915618A091FB +:101BE0005718B09158180497A105B10509F026C1FE +:101BF0000F94BE24DF91CF911F910F91FF90EF9032 +:101C0000DF90BF909F908F907F906F900D94DC71CC +:101C1000C530D1F58091AF028823B1F0E091CC08B6 +:101C2000F0E0EE0FFF1FE050F84B8591949120E219 +:101C3000453051056105710511F44EE301C040E2E4 +:101C4000BC018D2D0F949023BB2009F4F7C0809127 +:101C5000551890915618A0915718B091581805979B +:101C6000A105B10509F0EAC00F94BE24DF91CF9120 +:101C70001F910F91FF90EF90DF90BF909F908F90FA +:101C80007F906F900D948E29C63079F58091AF02C8 +:101C90008823B1F0E091CC08F0E0EE0FFF1FEE5C7E +:101CA000F84B859194912EE74630510561057105F9 +:101CB00011F44EE301C040E2BC018D2D0F9490233E +:101CC000BB2009F4BBC08091551890915618A09183 +:101CD0005718B09158180697A105B10509F0AEC084 +:101CE0000F94BE2482E391E02CC1C73049F5809166 +:101CF000AF02882381F0F401859194912EE747305B +:101D000051056105710511F44EE301C040E2BC01CB +:101D10008D2D0F949023BB2009F490C0809155180D +:101D200090915618A0915718B09158180797A1058F +:101D3000B10509F083C00F94BE2482EB91E001C18C +:101D4000C83079F58091AF028823B1F0E091CC08DA +:101D5000F0E0EE0FFF1FE65BF74B859194912EE7C5 +:101D6000483051056105710511F44EE301C040E2B0 +:101D7000BC018D2D0F949023BB2009F45FC080918E +:101D8000551890915618A0915718B0915818089767 +:101D9000A105B10509F052C00F94BE248AE891E074 +:101DA000D0C0C93069F58091AF028823B1F0E091CD +:101DB000CC08F0E0EE0FFF1FEA58F94B85919491A3 +:101DC0002EE7493051056105710511F44EE301C05C +:101DD00040E2BC018D2D0F949023BB2079F18091BE +:101DE000551890915618A0915718B0915818099706 +:101DF000A105B10519F50F94BE2486EE91E0A1C0AE +:101E0000CA3079F58091AF028823B1F0E091CC0817 +:101E1000F0E0EE0FFF1FEA59FA4B859194912EE7FF +:101E20004A3051056105710511F44EE301C040E2ED +:101E3000BC018D2D0F949023B11002C02DE090C0F5 +:101E40008091551890915618A0915718B091581834 +:101E50000A97A105B10591F70F94BE248EEC91E08D +:101E600070C0CB3009F03CC08091AF028823B1F044 +:101E7000E091CC08F0E0EE0FFF1FE450F84B8591A5 +:101E8000949120E24B3051056105710511F44EE348 +:101E900001C040E2BC018D2D0F949023BB2071F254 +:101EA0008091551890915618A0915718B0915818D4 +:101EB0000B97A105B10509F0C1CF0F94BE2461E0D5 +:101EC00081E49BE5DF91CF911F910F91FF90EF90FF +:101ED000DF90BF909F908F907F906F900C94C9B5CA +:101EE000CC3009F0ABCF8091AF028823B1F0E09104 +:101EF000CC08F0E0EE0FFF1FEC50F84BA591B49129 +:101F00002EE74C3051056105710511F44EE301C017 +:101F100040E2BD018D2D0F949023BB2009F48ECF9C +:101F20008091551890915618A0915718B091581853 +:101F30000C97A105B10509F081CF0F94BE2486E36B +:101F400091E0DF91CF911F910F91FF90EF90DF9083 +:101F5000BF909F908F907F906F900D94E02621E02E +:101F6000822F90E0A0E0B0E04091551850915618B3 +:101F70006091571870915818481759076A077B07DE +:101F800078F0822F90E00197AA2797FDA095BA2FAD +:101F90008093551890935618A0935718B0935818DB +:101FA0004091551880915A1890E00396242F30E004 +:101FB0008217930754F48DEF840F80935A18D093AF +:101FC000AF02CCEFC40FDD24DA94D394CF5F83E06B +:101FD0008D1508F007CDDF91CF911F910F91FF90E4 +:101FE000EF90DF90BF909F908F907F906F900895BB +:101FF000CF92DF92EF92FF921F93CF93DF930F94D4 +:10200000AB2E0E9437EB80E69FE00F9465B06B012A +:102010007C0180E00F94E66D0F94CF2EE091CC0808 +:10202000F0E0EE0FFF1FE657FB4B859194910F9464 +:102030005C41E091CC08F0E0EE0FFF1FEC5FF84B45 +:102040004591549161E080E00F940C52E091CC08EE +:10205000F0E0EE0FFF1FEE5EF94B4591549162E008 +:1020600080E00F940C52C2EBD8E011E020E030E0A9 +:1020700048E453E4688179818A819B810F9432A47A +:1020800087FF21C046E856E5612F8BE00F940C5284 +:10209000488159816A817B8122E030E08CE598E1BA +:1020A0000F94B29F20E030E0A901688179818A8194 +:1020B0009B810F9432A4881F8827881F43E856E528 +:1020C000612F805F04C04FE756E5612F8BE00F94CE +:1020D0000C5224961F5F133049F684EF91E00E9462 +:1020E000095784E090E090931802809317020F94B0 +:1020F000B331811105C084E690E00E940957F7CF03 +:1021000084EF91E00E9409570F94CF2EE091CC0804 +:10211000F0E0EE0FFF1FE852F94B859194910F9478 +:102120005C4120E030E048EC52E4C701B6010F9476 +:1021300032A487FF23C040E06FE08CE598E10E9465 +:102140005B3920E030E044E353E4C701B6010F946B +:1021500007A72BED3FE049E450E40F9439A4AB010D +:10216000BC0122E030E08CE598E10F94B29F6AEB6D +:1021700074E08CE598E10F941A9E06C04BE756E593 +:1021800060E080E10F940C5246E656E561E080E0A5 +:102190000F940C52E091CC08F0E0EE0FFF1FEE59C7 +:1021A000FA4B4591549162E080E00F940C5245E661 +:1021B00056E562E08FE00F940C5220E030E044E3FB +:1021C00053E46091D9047091DA048091DB0490911A +:1021D000DC040F9407A72BED3FE049E450E40F9493 +:1021E00039A4AB01BC0122E030E08CE598E10F940A +:1021F000B29F6AEB74E08CE598E10F941A9EE0912F +:10220000CC08F0E0EE0FFF1FE659FA4B45915491D0 +:1022100063E080E00F940C5244E656E563E08FE003 +:102220000F940C5220E030E044E353E46091D50475 +:102230007091D6048091D7049091D8040F9407A789 +:102240002BED3FE049E450E40F9439A4AB01BC010D +:1022500022E030E08CE598E10F94B29F6AEB74E0E5 +:102260008CE598E10F941A9E84EF91E00E94095743 +:102270000F94B331811103C084E690E0F7CF81E081 +:1022800090E0909318028093170284EF91E00E94EF +:1022900009570F94232E0F94712981E00F94E66D56 +:1022A00082E0DF91CF911F91FF90EF90DF90CF9070 +:1022B0000D94186B8F929F92AF92BF92CF92DF9244 +:1022C000EF92FF920F931F93CF93DF938091E718C4 +:1022D000882321F09091AF029230B1F581E0809394 +:1022E000E71880913F0B882339F069EE78E186E0AA +:1022F00099E00E9455B401C080E08093E8188823DB +:10230000E9F18091EC181F928F938091EB181F9246 +:102310008F938091EA181F928F938091E9181F92F2 +:102320008F9384E69CE59F938F938DEE98E19F9326 +:102330008F930F9441AE8DB79EB70C960FB6F8945D +:102340009EBF0FBE8DBF1AC09091E8189923B1F0BF +:102350009091E918911112C09091EA1891110EC054 +:102360009091EB1891110AC09091EC18911106C050 +:102370008F5F8093E718803109F4DEC4809155188F +:1023800090915618A0915718B091581881309048E4 +:10239000A105B10540F010925518109256181092F0 +:1023A0005718109258188091551890915618A0916E +:1023B0005718B091581840915A1850E060E070E0FA +:1023C00084179507A607B70710F480935A18009151 +:1023D0005A18F0905B18F2FAFF24F0F810E0C0E20F +:1023E000D7E4EE24E394409155185091561860912B +:1023F00057187091581801113BC08091AF02882383 +:10240000A9F0E091CC08F0E0EE0FFF1FE452F94B89 +:102410008591949123E0452B462B472B11F443E003 +:1024200001C040E2BC01812F0F949023FF2009F4EA +:102430001CC28091551890915618A0915718B091D0 +:102440005818892B8A2B8B2B09F00FC20F94BE24AE +:102450008AE691E0DF91CF911F910F91FF90EF906D +:10246000DF90CF90BF90AF909F908F900D947E257E +:10247000013019F58091AF02882371F023E04130DB +:1024800051056105710511F443E001C040E26AE5C0 +:102490007CE5812F0F949023FF2009F4E6C1809101 +:1024A000551890915618A0915718B0915818019747 +:1024B000A105B10509F0D9C1C9CF023019F5809144 +:1024C000AF02882371F023E04230510561057105A8 +:1024D00011F443E001C040E26BE47CE5812F0F94EE +:1024E0009023FF2009F4C1C180915518909156188E +:1024F000A0915718B09158180297A105B10509F09D +:10250000B4C1A4CF033019F58091AF02882371F0D4 +:1025100023E0433051056105710511F443E001C02A +:1025200040E269E37CE5812F0F949023FF2009F4BA +:102530009CC18091551890915618A0915718B09150 +:1025400058180397A105B10509F08FC17FCF04305A +:1025500059F58091AF028823B1F0E091CC08F0E00A +:10256000EE0FFF1FEC5CF94B8591949123E0443012 +:1025700051056105710511F443E001C040E2BC0161 +:10258000812F0F949023FF2009F46FC1809155187B +:1025900090915618A0915718B09158180497A1051A +:1025A000B10509F062C152CF053059F58091AF02F3 +:1025B0008823B1F0E091CC08F0E0EE0FFF1FE05D62 +:1025C000F94B8591949123E04530510561057105E2 +:1025D00011F443E001C040E2BC01812F0F9490232D +:1025E000FF2009F442C18091551890915618A0918E +:1025F0005718B09158180597A105B10509F035C1D4 +:1026000025CF063059F58091AF028823B1F0E091D3 +:10261000CC08F0E0EE0FFF1FE45DF94B859194913B +:1026200023E0463051056105710511F443E001C016 +:1026300040E2BC01812F0F949023FF2009F415C1C3 +:102640008091551890915618A0915718B09158182C +:102650000697A105B10509F008C1F8CE073019F5B4 +:102660008091AF02882371F023E047305105610566 +:10267000710511F443E001C040E26CE27CE5812F7A +:102680000F949023FF2009F4F0C080915518909189 +:102690005618A0915718B09158180797A105B10581 +:1026A00009F0E3C0D3CE083019F58091AF0288233A +:1026B00071F023E0483051056105710511F443E0E4 +:1026C00001C040E260E27CE5812F0F949023FF205F +:1026D00009F4CBC08091551890915618A0915718C5 +:1026E000B09158180897A105B10509F0BEC0AECE4B +:1026F000093019F58091AF02882371F023E0493049 +:1027000051056105710511F443E001C040E267E144 +:102710007CE5812F0F949023FF2009F4A6C08091BF +:10272000551890915618A0915718B09158180997BC +:10273000A105B10509F099C089CE0A3019F580913B +:10274000AF02882371F023E04A305105610571051D +:1027500011F443E001C040E26DE07CE5812F0F946D +:102760009023FF2009F481C080915518909156184C +:10277000A0915718B09158180A97A105B10509F012 +:1027800074C064CE0B3019F58091AF02882371F0CC +:1027900023E04B3051056105710511F443E001C0A0 +:1027A00040E260E07CE5812F0F949023FF2009F444 +:1027B0005CC08091551890915618A0915718B0910F +:1027C00058180B97A105B10509F04FC03FCE0C304A +:1027D00049F58091AF028823B1F0E091CC08F0E098 +:1027E000EE0FFF1FE853F84B8591949123E04C3096 +:1027F00051056105710511F443E001C040E2BC01DF +:10280000812F0F949023FF2081F180915518909192 +:102810005618A0915718B09158180C97A105B105FA +:1028200021F514CE0D3009F58091AF02882371F0A7 +:1028300023E04D3051056105710511F443E001C0FD +:1028400040E264EF7BE5812F0F949023FF2069F035 +:102850008091551890915618A0915718B09158181A +:102860000D97A105B10509F4F1CD8091E8188823F1 +:1028700009F474C04091551850915618609157183A +:10288000709158180E3021F58091AF02882371F0B5 +:1028900023E04E3051056105710511F443E001C09C +:1028A00040E267EE7BE5812F0F949023F11003C087 +:1028B000F1E1CF2E55C08091551890915618A091F6 +:1028C0005718B09158180E97A105B10589F7BECDDC +:1028D0000F3019F58091AF02882371F023E04F305B +:1028E00051056105710511F443E001C040E265ED59 +:1028F0007BE5812F0F949023FF2009F465C0809120 +:10290000551890915618A0915718B09158180F97D4 +:10291000A105B10509F058C099CD003149F6809163 +:10292000AF02882359F0403151056105710511F45A +:1029300063E001C060E2812F0F94202BFF2009F497 +:1029400043C08091551890915618A0915718B09196 +:1029500058184097A105B105B9F578CDEEE0CE2E17 +:10296000C01234C08091AF028823D1F08C2D90E04A +:10297000A0E0B0E04091551850915618609157185A +:102980007091581823E0481759076A077B0711F41C +:1029900043E001C040E268EC7BE5812F0F94902377 +:1029A000FF20A1F08C2D90E0A0E0B0E04091551800 +:1029B0005091561860915718709158184817590738 +:1029C0006A077B0719F442CD71E1C72EDD24D39449 +:1029D000DC0C80910809811157C08091FB0881119E +:1029E00053C08091E1189091E218089709F44CC007 +:1029F000D01247C08091AF02882309F1E091CC0842 +:102A0000F0E0EE0FFF1FEA56FB4B659174918D2DA0 +:102A100090E0A0E0B0E08090551890905618A090FB +:102A20005718B090581820E288169906AA06BB06D7 +:102A300011F44EE301C040E2812F0F949023FF2058 +:102A400001F14D2D50E060E070E0809155189091BB +:102A50005618A0915718B091581884179507A607D3 +:102A6000B70779F40F94BE24DF91CF911F910F9196 +:102A7000FF90EF90DF90CF90BF90AF909F908F909E +:102A8000B7CA52E0D52EDC0CD01237C08091AF020D +:102A90008823D9F0FE01659174918D2D90E0A0E01E +:102AA000B0E08090551890905618A0905718B090AC +:102AB00058182EE788169906AA06BB0611F44EE3AD +:102AC00001C040E2812F0F949023FF20B1F08D2DA3 +:102AD00090E0A0E0B0E040915518509156186091F8 +:102AE000571870915818481759076A077B0729F437 +:102AF0000F94BE248EE891E0C8C0CC24C394CD0CC2 +:102B0000C0123EC08091AF02882311F1E091CC0841 +:102B1000F0E0EE0FFF1FE453F94BA591B4914C2D5B +:102B200050E060E070E08090551890905618A090AA +:102B30005718B09058182EE784169506A606B706C3 +:102B400011F44EE301C040E2BD01812F0F949023A8 +:102B5000FF20B1F08C2D90E0A0E0B0E0409155183E +:102B60005091561860915718709158184817590786 +:102B70006A077B0729F40F94BE2484EE91E085C098 +:102B800032E0C32ECD0CC0123EC08091AF0288232C +:102B900011F1E091CC08F0E0EE0FFF1FEC53F94B80 +:102BA000A591B4914C2D50E060E070E080905518F4 +:102BB00090905618A0905718B09058182EE7841689 +:102BC0009506A606B70611F44EE301C040E2BD012A +:102BD000812F0F949023FF20B1F08C2D90E0A0E086 +:102BE000B0E0409155185091561860915718709167 +:102BF0005818481759076A077B0729F40F94BE2411 +:102C00008AED91E042C093E0C92ECD0CC0124BC0BA +:102C10008091AF02882311F1E091CC08F0E0EE0F33 +:102C2000FF1FE054F94BA591B4914C2D50E060E0AA +:102C300070E08090551890905618A0905718B0905A +:102C400058182EE784169506A606B70611F44EE32B +:102C500001C040E2BD01812F0F949023FF2019F1A4 +:102C60008C2D90E0A0E0B0E0809055189090561820 +:102C7000A0905718B090581888169906AA06BB0657 +:102C800091F40F94BE2488ED91E0DF91CF911F91D4 +:102C90000F91FF90EF90DF90CF90BF90AF909F90FB +:102CA0008F900D94E02624E02D0D422F50E060E03F +:102CB00070E08091551890915618A0915718B091D6 +:102CC000581884179507A607B70780F0422F50E0E1 +:102CD00041505109662757FD6095762F409355184E +:102CE0005093561860935718709358184091551880 +:102CF00080915A1890E00396242F30E082179307B2 +:102D00004CF48DEF840F80935A18E092AF020CEFD1 +:102D1000040F1FEF1F5F0F5F143008F464CBDF91C7 +:102D2000CF911F910F91FF90EF90DF90CF90BF90C8 +:102D3000AF909F908F9008951092E7181FCBBF928D +:102D4000CF92DF92EF92FF920F931F93CF93DF9377 +:102D5000E0900419FF24E7FCF0940F94CF2EE0914B +:102D6000CC08F0E0EE0FFF1FEC51F84B85919491E9 +:102D70000F945C4141E060E08CE598E10E945B3992 +:102D80006EE375E08CE598E155D711E0CEE9D7E424 +:102D90006EE9C62E67E4D62EFE0145915491612F4F +:102DA00081E00F940C521F5F143091F784E090E0A3 +:102DB0009093180280931702BB24B394C0E0D0E034 +:102DC00001E010E0F601859194910F9466AC62E009 +:102DD000680F402F8CE598E10E945B39B8016C0FB9 +:102DE0007D1F4AE050E08CE598E1CBD70F5F1F4F85 +:102DF0000430110539F70F94A21881E00E946F5832 +:102E000060910419772767FD70959701261B370B92 +:102E100037FF03C0319521953109253031050CF478 +:102E20007CC06E157F050CF4BA94E616F7060CF418 +:102E3000B39483E08B15E4F4209709F098C00F94C5 +:102E4000CF2EE091CC08F0E0EE0FFF1FEC51F84BD5 +:102E5000859194910F945C41C1E0F60145915491A4 +:102E60006C2F81E00F940C52CF5FC430B1F77DC05E +:102E70001B14ECF02097C9F021970F94CF2EE0910E +:102E8000CC08F0E0EE0FFF1FEC51F84B85919491C8 +:102E90000F945C4111E0F60145915491612F81E05E +:102EA0000F940C521F5F1430B1F7BB24B39441E070 +:102EB00060E08CE598E10E945B396AE576E08CE59C +:102EC00098E1B8D642E060E08CE598E10E945B3979 +:102ED0006AE576E08CE598E1ADD643E060E08CE50C +:102EE00098E10E945B396AE576E08CE598E1A2D62C +:102EF0004B2D60E08CE598E10E945B396EE375E054 +:102F00008CE598E197D6E0900419FF24E7FCF09453 +:102F100064E670E080E090E0FDD30F94B331882345 +:102F200009F44ECF82E00F94186B0F94B3318111E6 +:102F3000FCCF6AE070E080E090E0ECD30F94B33116 +:102F40008111FCCF82E090E09093180280931702E9 +:102F50008C2F8B0D8150DF91CF911F910F91FF909E +:102F6000EF90DF90CF90BF900895C1E0D0E033E0C4 +:102F7000B32E9DCF682F8CE598E10C941D3C89E918 +:102F80009CE50895982F9F7D51F0893041F08A305B +:102F900031F091E08D3009F090E0892F089581E0C3 +:102FA00008955F926F927F928F929F92AF92BF929D +:102FB000CF92DF92EF92FF920F931F93CF93DF9305 +:102FC00000D01F92CDB7DEB7582E8B01682E792E18 +:102FD0004301F30181913F0120ED280F2A30C0F316 +:102FE0008E3211F0712CC6C06F015601F60181912D +:102FF0006F0120ED280F2A30C0F38E3299F79F0120 +:103000007901F90140812F5F3F4F80ED840F8A30B5 +:10301000B8F3842F4B839C83B5DF4B819C81811156 +:1030200002C04D32F9F61A8219824AE050E0BE0120 +:103030006F5F7F4F852D0F940AABF801718360831A +:1030400089819A818815990569F64AE050E0BE01A8 +:103050006F5F7F4FC3010F940AABF80173836283E4 +:1030600089819A818A159B0509F0BCCF4AE050E01E +:10307000BE016F5F7F4FC6010F940AABF8017583E5 +:103080006483A980BA80AE14BF0409F0ABCF8FE788 +:1030900090E0978386836701FFEFCF1ADF0AF7017D +:1030A00080818D3201F546017401FFEF8F1A9F0A6E +:1030B000F701808167DF782E8823B1F3EC18FD08D3 +:1030C0009E2C970133272330310581F443E050E0F3 +:1030D0006BE87CE5C6010F9487AC892B41F5F801BC +:1030E0001782168247C07724739444C02530310577 +:1030F00061F445E050E065E87CE5C6010F9487ACDB +:10310000892BA9F481E090E00EC02430310579F4D8 +:1031100044E050E060E87CE5C6010F9487AC892B61 +:1031200031F482E090E0F8019783868323C08EEF2C +:103130008E0D823008F056CFF5018181823709F07B +:1031400051CF8281833609F04DCFF2E09F1203C048 +:1031500083E090E0E8CFF501238180ED820F8A3093 +:1031600008F040CF332727FD30952E523109F80162 +:1031700037832683872D0F900F900F900F90DF914C +:10318000CF911F910F91FF90EF90DF90CF90BF9064 +:10319000AF909F908F907F906F905F9008954423A1 +:1031A000B9F0FC012491FB013491231778F0FC0164 +:1031B0002491FB013491321748F0FC012491222321 +:1031C00039F0415001966F5F7F4FE9CF81E008955C +:1031D00080E008956F927F928F929F92AF92BF92FC +:1031E000CF92DF92EF92FF920F931F93CF93DF93D3 +:1031F000CDB7DEB727970FB6F894DEBF0FBECDBFB1 +:103200004C018B01FC01849180538A3010F431967B +:10321000FACF84918E3209F0F7C05F018FEFA81AC0 +:10322000B80AF501849180538A3010F43196FACFB0 +:1032300084918E3209F0E8C06F018FEFC81AD80A66 +:103240007601F701849180538A3020F4EFEFEE1A73 +:10325000FE0AF7CFF701849195DE811105C0F701D1 +:1032600084918D3209F0D0C03501681879088FEF4C +:10327000860D853008F0C8C0682E712CA301B401FA +:10328000CE0101960F944BACE1E0F0E0EC0FFD1F96 +:10329000E60DF71D10821F821E824AE050E0BE013B +:1032A0006A5F7F4FCE0101960F940AABF8017183DC +:1032B0006083EE81FF8180818111A6C046018A185A +:1032C0009B088FEF880D853008F09EC0882E912CCA +:1032D000A401B501CE0101960F944BACE1E0F0E002 +:1032E000EC0FFD1FE80DF91D10824AE050E0BE0111 +:1032F0006A5F7F4FCE0101960F940AABF80173838A +:103300006283EE81FF81808181117EC0C7018C19AB +:103310009D09853008F078C05C01BB24A501B60189 +:10332000CE0101960F944BACE1E0F0E0EC0FFD1FF5 +:10333000EA0DFB1D10824AE050E0BE016A5F7F4F3C +:10334000CE0101960F940AABF80175836483EE8178 +:10335000FF818081811158C08FE790E0F801978349 +:103360008683F70184918D3289F56701FFEFCF1ACB +:10337000DF0A5601F501849105DE982E811104C003 +:103380008FEFA81AB80AF6CFAC18BD088A2C9501A1 +:1033900033272330310541F44A2D6BE87CE5C60123 +:1033A000FEDE811107C015C025303105B1F0243093 +:1033B0003105E9F08EEF8A0D823030F542E06DE79D +:1033C0007CE5C601ECDE81111FC020C099249394D6 +:1033D00031C0F801178216822DC04A2D65E87CE5C0 +:1033E000C601DDDE8111E6CF81E090E009C04A2D03 +:1033F00060E87CE5C601D3DE8111DCCF82E090E09D +:10340000F8019783868316C0912C14C0F2E08F12C6 +:1034100003C083E090E0F4CFF701339684918053AA +:103420008A3090F7E490F12CFEE2EF1AF108F801EF +:10343000F782E682892D27960FB6F894DEBF0FBE7D +:10344000CDBFDF91CF911F910F91FF90EF90DF9053 +:10345000CF90BF90AF909F908F907F906F90089586 +:10346000DF92EF92FF920F931F93CF93DF93CDB72D +:10347000DEB761970FB6F894DEBF0FBECDBFD82E72 +:10348000E92EBE01675F7F4F8CDD811102C0F12CF8 +:1034900074C0BE016F5F7F4F89E99CE59BDEF82E0B +:1034A0008823A9F3FE013996DE011196BE016F5EF5 +:1034B0007F4F219131918D919D918217930740F01B +:1034C0002817390708F459C0E617F70791F755C0D0 +:1034D000E091CC08F0E0EE0FFF1FE056F94B85912C +:1034E00094910F94256E4CE75CE562E080E00F94C8 +:1034F0000C520D2D1E2DF801E1908F018E2D42DD15 +:10350000F82E811103C08E2D35DDF5CFE091CC086A +:10351000F0E0EE0FFF1FE456F94B4591549163E044 +:1035200080E00F940C5220E030E0A90168EE73E0D7 +:1035300084E519D582E390E00E94095784E50F9451 +:10354000D7A284EF91E00E94095720E030E0A90162 +:1035500068EE73E084E507D582E390E00E940957A6 +:1035600084E50F94D7A20F94AF3281E00F94E66DFB +:103570000F94CF2E80E00F94186B8F2D61960FB6AD +:10358000F894DEBF0FBECDBFDF91CF911F910F9199 +:10359000FF90EF90DF9008950F931F93CF93DF93E9 +:1035A000CDB7DEB728970FB6F894DEBF0FBECDBFFC +:1035B00000E010E0F801E157F34A6491C8010F946C +:1035C0006FB00F5F1F4F0A301105A1F7BE016F5F8B +:1035D0007F4F89E99CE5FEDD8823C1F069817A810E +:1035E0008AE090E00F9489B06B817C818CE090E060 +:1035F0000F9489B06D817E818EE090E00F9489B048 +:103600006F81788580E190E00F9489B028960FB69D +:10361000F894DEBF0FBECDBFDF91CF911F910F9108 +:1036200008951F920F920FB60F9211242F933F937C +:103630008F939F93AF93BF93809106199091071931 +:10364000A0910819B09109193091051923E0230FB1 +:103650002D3720F40196A11DB11D05C026E8230FCA +:103660000296A11DB11D2093051980930619909310 +:103670000719A0930819B093091980910A1990911C +:103680000B19A0910C19B0910D190196A11DB11D36 +:1036900080930A1990930B19A0930C19B0930D19EC +:1036A000BF91AF919F918F913F912F910F900FBE3E +:1036B0000F901F9018952FB7F8946091061970918C +:1036C000071980910819909109192FBF08953FB7E4 +:1036D000F89480910A1990910B19A0910C19B0914E +:1036E0000D1926B5A89B05C02F3F19F00196A11D05 +:1036F000B11D3FBF6627782F892F9A2F620F711D4A +:10370000811D911D42E0660F771F881F991F4A9502 +:10371000D1F708958F929F92AF92BF92CF92DF928E +:10372000EF92FF926B017C01D2DF4B015C01C1146F +:10373000D104E104F104E1F0BAD7C9DF68197909CD +:103740008A099B09683E73408105910580F321E059 +:10375000C21AD108E108F10888EE880E83E0981EAD +:10376000A11CB11CC114D104E104F10431F7DFCF75 +:10377000FF90EF90DF90CF90BF90AF909F908F9091 +:1037800008958230910538F0880F991F880F991F8E +:1037900005970197F1F70895789484B5826084BD08 +:1037A00084B5816084BD85B5826085BD85B5816045 +:1037B00085BDEEE6F0E0808181608083E1E8F0E0A5 +:1037C0001082808182608083808181608083E0E8D4 +:1037D000F0E0808181608083E1EBF0E080818460B3 +:1037E0008083E0EBF0E0808181608083E1E9F0E0BC +:1037F000808182608083808181608083E0E9F0E065 +:10380000808181608083E1EAF0E080818260808352 +:10381000808181608083E0EAF0E080818160808344 +:10382000E1E2F1E080818260808380818160808339 +:10383000E0E2F1E0808181608083EAE7F0E080816E +:1038400084608083808182608083808181608083C6 +:103850008081806880831092C10008951F93CF9368 +:10386000DF93182FEB0161E011D1209711F460E094 +:1038700004C0CF3FD10531F461E0812FDF91CF91BA +:103880001F913DC1E12FF0E0ED55F34A449150E026 +:10389000FA013197E231F10508F09BC0E356FF4F82 +:1038A0000D9447A984B5806884BDC7BD97C084B511 +:1038B000806284BDC8BD92C0809180008068809382 +:1038C0008000D0938900C093880088C080918000D8 +:1038D000806280938000D0938B00C0938A007EC06A +:1038E00080918000886080938000D0938D00C09389 +:1038F0008C0074C08091B00080688093B000C09349 +:10390000B3006CC08091B00080628093B000C0931F +:10391000B40064C080919000806880939000D09340 +:103920009900C09398005AC0809190008062809363 +:103930009000D0939B00C0939A0050C0809190005B +:10394000886080939000D0939D00C0939C0046C0F7 +:103950008091A00080688093A0008091A0008F7B60 +:103960008093A000D093A900C093A80037C0809195 +:10397000A00080628093A000D093AB00C093AA0007 +:103980002DC08091A00088608093A000D093AD00EE +:10399000C093AC0023C080912001806880932001F7 +:1039A000D0932901C093280119C080912001806221 +:1039B00080932001D0932B01C0932A010FC08091E6 +:1039C0002001886080932001D0932D01C0932C01A9 +:1039D00005C0C038D1050CF04FCF49CFDF91CF9152 +:1039E0001F91089590E0FC013197E231F10508F054 +:1039F0004CC0E155FF4F0D9447A9809180008F770F +:103A000003C0809180008F7D809380000895809115 +:103A10008000877FF9CF84B58F7702C084B58F7D12 +:103A200084BD08958091B0008F7703C08091B0006D +:103A30008F7D8093B0000895809190008F7707C0AC +:103A4000809190008F7D03C080919000877F80934C +:103A5000900008958091A0008F7707C08091A0000A +:103A60008F7D03C08091A000877F8093A000089580 +:103A7000809120018F7707C0809120018F7D03C046 +:103A800080912001877F809320010895CF93DF9359 +:103A900090E0FC01E750F34A2491FC01E15BF24A1B +:103AA0008491882349F190E0880F991FFC01E75227 +:103AB000F24AA591B4918154924AFC01C591D491E6 +:103AC0009FB7611108C0F8948C91209582238C9344 +:103AD000888182230AC0623051F4F8948C91322F8D +:103AE000309583238C938881822B888304C0F8943B +:103AF0008C91822B8C939FBFDF91CF9108950F9370 +:103B00001F93CF93DF931F92CDB7DEB7282F30E0FE +:103B1000F901ED55F34A8491F901E750F34A149104 +:103B2000F901E15BF24A04910023C1F0882319F006 +:103B3000698358DF6981E02FF0E0EE0FFF1FE15449 +:103B4000F24AA591B4919FB7F8948C91611103C08A +:103B50001095812301C0812B8C939FBF0F90DF9123 +:103B6000CF911F910F910895CF93DF93282F30E0CD +:103B7000F901ED55F34A8491F901E750F34AD491E4 +:103B8000F901E15BF24AC491CC2389F081112ADF6B +:103B9000EC2FF0E0EE0FFF1FEB55F24AA591B49128 +:103BA0002C912D2381E090E021F480E002C080E0A0 +:103BB00090E0DF91CF910895CF92DF92EF92FF9244 +:103BC0000F931F93CF93DF936C017A01EB01E60E05 +:103BD000F71E00E010E0CE15DF0561F06991D60117 +:103BE000ED91FC910190F081E02DC6011995080F2F +:103BF000191FF1CFC801DF91CF911F910F91FF9055 +:103C0000EF90DF90CF9008956115710581F0DB0191 +:103C10000D900020E9F7AD0141505109461B570BAB +:103C2000DC01ED91FC910280F381E02D199480E09C +:103C300090E00895E9CFDC01ED91FC910190F081D5 +:103C4000E02D19948F929F92AF92BF92CF92DF9204 +:103C5000EF92FF920F931F93CF93DF93CDB7DEB711 +:103C6000A1970FB6F894DEBF0FBECDBF7C01C42E66 +:103C7000E52FCB01D22E19A221E02D1510F02AE05C +:103C8000D22E8E010F5D1F4F8D2C912CA12CB12CAB +:103C90006C2D7E2FA50194010F9409A98C2DD29E25 +:103CA00080191124015011098A3014F4805D01C07B +:103CB000895CF8018083211531054105510521F00A +:103CC000C22EE32FCA01E4CFB801C7019DDFA19640 +:103CD0000FB6F894DEBF0FBECDBFDF91CF911F911D +:103CE0000F91FF90EF90DF90CF90BF90AF909F909B +:103CF0008F900895CF92DF92EF92FF920F931F93D0 +:103D0000CF93DF93EC016A017B012115310579F432 +:103D1000E881F9810190F081E02D642FDF91CF914E +:103D20001F910F91FF90EF90DF90CF9019942A3060 +:103D30003105D9F477FF18C06DE27DDF8C0144278F +:103D40005527BA014C195D096E097F092AE0CE0199 +:103D500079DF800F911FDF91CF911F910F91FF901D +:103D6000EF90DF90CF9008952AE0B701A601CE0131 +:103D7000DF91CF911F910F91FF90EF90DF90CF9047 +:103D800061CF9A01AB01662757FD6095762FB2CFC0 +:103D90002115310541F4DC01ED91FC910190F08198 +:103DA000E02D642F19944ECF9A01AB0160E070E0D2 +:103DB000EFCF4F925F926F927F928F929F92AF92CE +:103DC000BF92CF92DF92EF92FF920F931F93CF9308 +:103DD000DF93EC016A017B01B22E9A01AB01C701AE +:103DE000B6010F9401A8882319F06FE077E025C091 +:103DF00026013701E89477F82FEF3FEF4FE75FE7B1 +:103E0000C301B2010F9401A881110CC02FEF3FEF45 +:103E10004FE75FE7C301B20125D518161CF463E133 +:103E200077E00BC02FEF3FEF4FE75FE4C701B6012C +:103E30001CD71816A4F467E177E0CE01DF91CF918B +:103E40001F910F91FF90EF90DF90CF90BF90AF90B8 +:103E50009F908F907F906F905F904F90D5CE2FEF77 +:103E60003FEF4FE75FECC701B601FCD487FDE3CF1E +:103E700020E030E0A901C701B601F4D487FF09C0F2 +:103E80006DE2CE01D8DE8C01F7FAF094F7F8F094E9 +:103E900002C000E010E0A12C60E070E080E09FE351 +:103EA000AB1439F020E030E040E251E4E2D4A394D6 +:103EB000F7CF9B01AC01C701B601FBD36B017C01BD +:103EC00045D52B013C016ED59B01AC01C701B60164 +:103ED000EFD36B017C012AE0B301A201CE01B2DE77 +:103EE000080F191FBB2031F063EA74E0CE018CDEAD +:103EF000080F191F7B2C772019F120E030E040E2F9 +:103F000051E4C701B60183D76B017C011AD54B017F +:103F1000AA2497FCA094BA2C2AE030E0B501A401B1 +:103F2000CE01E8DE080F191FC501B4013DD59B0184 +:103F3000AC01C701B601BCD36B017C017A94DBCF25 +:103F4000C801DF91CF911F910F91FF90EF90DF900B +:103F5000CF90BF90AF909F908F907F906F905F9029 +:103F60004F90089526CF3F924F925F926F927F922B +:103F70008F929F92AF92BF92CF92DF92EF92FF9279 +:103F80000F931F93CF93DF9300D01F92CDB7DEB76F +:103F90008B0129013A019091BB02981721F09F3FB4 +:103FA00009F0B5C204C0E3EFFDE5349004C180938D +:103FB000BB02E3EFFDE5E491EF3F09F4A8C2E23074 +:103FC00009F480C074F5EE2309F45BC0E13009F018 +:103FD000F1C0109280001092810090918100986051 +:103FE0009093810090918100916090938100282F9F +:103FF00030E0F901E15BF24AE491F0E0EE0FFF1FDF +:10400000E154F24A4591549150932C1940932B1945 +:10401000F901E750F34A249120932A193324339469 +:10402000CCC0E43009F49EC00CF474C0E53009F053 +:10403000C1C010922001109221019091210198603D +:104040009093210190912101916090932101282F5B +:1040500030E0F901E15BF24AE491F0E0EE0FFF1F7E +:10406000E154F24A459154915093101940930F191D +:10407000F901E750F34A249120930E1955E0352EAB +:104080009CC014BC15BC94B5926094BD95B591606C +:1040900095BD282F30E0F901E15BF24AE491F0E0B0 +:1040A000EE0FFF1FE154F24A45915491509333199A +:1040B00040933219F901E750F34A249120933119C2 +:1040C000312C7BC01092B0001092B1009091B000E2 +:1040D00092609093B0009091B10091609093B10084 +:1040E000282F30E0F901E15BF24AE491F0E0EE0FB5 +:1040F000FF1FE154F24A4591549150932519409382 +:104100002419F901E750F34A24912093231922E05E +:10411000322E53C010929000109291009091910015 +:10412000986090939100909191009160909391008C +:10413000282F30E0F901E15BF24AE491F0E0EE0F64 +:10414000FF1FE154F24A4591549150931E19409338 +:104150001D19F901E750F34A249120931C19B3E08B +:104160003B2E2BC01092A0001092A1009091A100B4 +:1041700098609093A1009091A10091609093A1000C +:10418000282F30E0F901E15BF24AE491F0E0EE0F14 +:10419000FF1FE154F24A45915491509317194093EF +:1041A0001619F901E750F34A24912093151974E088 +:1041B000372E03C03E2E37FCAAC161E067DC480100 +:1041C000A12CB12C832D8D7F09F0C4C060E072E179 +:1041D0008AE790E0A50194010F942BA929833A83E3 +:1041E0004B835C8369017A0181E0C81AD108E10838 +:1041F000F1089FEFC916D104E104F10409F008F4B5 +:1042000097C060E472E48FE090E0A50194010F9400 +:104210002BA969017A01E1E0CE1AD108E108F10881 +:10422000F2E03F1219C08FEFC816D104E104F10487 +:1042300009F008F487C060E970ED83E090E0A50123 +:1042400094010F942BA969017A0191E0C91AD10850 +:10425000E108F10883E001C082E0EFEFCE16D1045F +:10426000E104F10409F008F464C068E478EE81E048 +:1042700090E0A5019401EFD769017A01F1E0CF1A2E +:10428000D108E108F1083320D9F082E038121AC0D1 +:104290009FEFC916D104E104F10409F008F435C117 +:1042A00064E274EF80E090E0A5019401D4D7690145 +:1042B0007A01E1E0CE1AD108E108F10885E003C0F7 +:1042C00083E001C084E0FFEFCF16D104E104F104E4 +:1042D00081F178F162E17AE780E090E0A501940154 +:1042E000BAD769017A0181E0C81AD108E108F1085A +:1042F000311002C084E001C086E09FEFC916D104EE +:10430000E104F104B1F0A8F0C980DA80EB80FC8010 +:104310009AE0F594E794D794C7949A95D1F7E1E0A1 +:10432000CE1AD108E108F108332031F087E00BC044 +:1043300081E0332011F007C085E095B5987F982B78 +:1043400095BD54C082E09091B100987F982B9093D6 +:10435000B1004CC060E072E18AE790E0A5019401F1 +:104360007AD769017A01F1E0CF1AD108E108F108A2 +:10437000C114D10481E0E806F10480F068E478EE2D +:1043800081E090E0A501940166D769017A0191E08E +:10439000C91AD108E108F10893E001C091E0E1E019 +:1043A0003E1207C080918100887F892B8093810015 +:1043B0001DC0F3E03F1207C080919100887F892BD8 +:1043C0008093910013C084E0381207C08091A1004F +:1043D000887F892B8093A10009C0E5E03E1206C0CA +:1043E00080912101887F892B809321014114510400 +:1043F0006104710461F0D801AA0FBB1FA3019201EF +:1044000061D728EE33E040E050E003D703C02FEF40 +:104410003FEFA901F2E03F1609F443C0F315BCF0E9 +:10442000332081F181E0381272C0D0928900C092AD +:10443000880020932D1930932E1940932F195093F3 +:10444000301980916F00826080936F0060C094E0AB +:10445000391609F448C03916A4F1E5E03E1257C0F8 +:10446000D0922901C092280120931119309312197A +:1044700040931319509314198091730082608093B4 +:10448000730045C0C7BC209334193093351940934D +:1044900036195093371980916E00826080936E00B8 +:1044A00036C0C092B3002093261930932719409349 +:1044B00028195093291980917000826080937000B0 +:1044C00026C0D0929900C092980020931F19309373 +:1044D0002019409321195093221980917100826014 +:1044E0008093710014C0D092A900C092A8002093BC +:1044F00018193093191940931A1950931B19809168 +:10450000720082608093720002C084E01CCF0F9022 +:104510000F900F900F90DF91CF911F910F91FF900F +:10452000EF90DF90CF90BF90AF909F908F907F9053 +:104530006F905F904F903F9008958230A9F028F4DB +:10454000882349F0813051F00895843021F1E8F05A +:10455000853039F1089510926E00089580916F00B2 +:104560008D7F80936F000895809170008D7F809380 +:10457000700081E08093B0008091B100887F8460FA +:104580008093B1001092B3000895809171008D7FE7 +:10459000809371000895809172008D7F80937200E6 +:1045A0000895809173008D7F809373000895CF9359 +:1045B000C82F8091BB028C1307C0E3EFFDE5849107 +:1045C0009FEF9093BB0201C08FEFB7DF60E08C2FAD +:1045D000CF9195CA1F920F920FB60F9211240BB66E +:1045E0000F922F933F934F935F936F937F938F938C +:1045F0009F93AF93BF93EF93FF9380912619909170 +:104600002719A0912819B0912919892B8A2B8B2B56 +:1046100051F190912319E0912419F091251980818D +:10462000892780838091261990912719A0912819B4 +:10463000B0912919181619061A061B06BCF48091A8 +:10464000261990912719A0912819B091291901973D +:10465000A109B1098093261990932719A0932819CD +:10466000B093291903C08091BB02A1DFFF91EF91A4 +:10467000BF91AF919F918F917F916F915F914F917A +:104680003F912F910F900BBE0F900FBE0F901F9078 +:104690001895089581D8FDDF0E94648EC0E0D0E0B7 +:1046A0000E948D8D2097E1F30E940000F9CF0895BC +:1046B0005058BB27AA270ED076C23FD230F044D242 +:1046C00020F031F49F3F11F41EF40FC20EF4E09578 +:1046D000E7FBDCC1E92F89D280F3BA1762077307C1 +:1046E0008407950718F071F49EF5B8C20EF4E095B2 +:1046F0000B2EBA2FA02D0B01B90190010C01CA019C +:10470000A0011124FF27591B99F0593F50F4503E46 +:1047100068F11A16F040A22F232F342F4427585F38 +:10472000F3CF469537952795A795F0405395C9F750 +:104730007EF41F16BA0B620B730B840BBAF0915008 +:10474000A1F0FF0FBB1F661F771F881FC2F70EC0A7 +:10475000BA0F621F731F841F48F48795779567957A +:10476000B795F7959E3F08F0B3CF9395880F08F063 +:104770009927EE0F979587950895DFD158F080E837 +:1047800091E009F49EEFE0D128F040E851E059F4BF +:104790005EEF09C0AAC162C2E92FE07826D268F3B1 +:1047A000092E052AC1F3261737074807590738F09D +:1047B0000E2E07F8E02569F0E025E0640AC0EF63FB +:1047C00007F8009407FADB01B9019D01DC01CA0179 +:1047D000AD01EF935DD0E7D10AD05F91552331F061 +:1047E0002BED3FE049E450FD49EC63CF0895DF93A2 +:1047F000DD27B92FBF7740E85FE316161706480795 +:104800005B0710F4D92F96D29F938F937F936F936A +:10481000F5D3E2E8F1E06CD1C6D12F913F914F91F1 +:104820005F9101D3DD2349F09058A2EA2AED3FE0E1 +:1048300049EC5FE3D0785D274DDFDF91B4C1F7D15C +:1048400080F09F3740F491110EF409C260E070E0EF +:1048500080E89FE3089526F01B16611D711D811DE0 +:104860001BC135C1EFD008F481E0089575D1E395FF +:10487000ABC10CD098C168D140F05FD130F021F4C9 +:104880005F3F19F003C15111EAC12FC1AED198F3B6 +:104890009923C9F35523B1F3951B550BBB27AA27C1 +:1048A00062177307840738F09F5F5F4F220F331F33 +:1048B000441FAA1FA9F333D00E2E3AF0E0E830D0FF +:1048C00091505040E695001CCAF729D0FE2F27D002 +:1048D000660F771F881FBB1F261737074807AB07D0 +:1048E000B0E809F0BB0B802DBF01FF2793585F4F45 +:1048F0002AF09E3F510568F0C9C0B1C15F3FECF39B +:10490000983EDCF3869577956795B795F7959F5F09 +:10491000C9F7880F911D9695879597F90895E1E05D +:10492000660F771F881FBB1F621773078407BA07BC +:1049300020F0621B730B840BBA0BEE1F88F7E09517 +:10494000089504D06894B1118AC1089556D188F0B1 +:104950009F5790F0B92F9927B751A0F0D1F0660F6B +:10496000771F881F991F1AF0BA95C9F712C0B13086 +:1049700081F074D1B1E0089571C1672F782F882735 +:10498000B85F39F0B93FCCF3869577956795B395C5 +:10499000D9F73EF490958095709561957F4F8F4F34 +:1049A0009F4F0895E89409C097FB3EF49095809539 +:1049B000709561957F4F8F4F9F4F9923A9F0F92FE5 +:1049C00096E9BB279395F695879577956795B79563 +:1049D000F111F8CFFAF4BB0F11F460FF1BC06F5F49 +:1049E0007F4F8F4F9F4F16C0882311F096E911C05B +:1049F000772321F09EE8872F762F05C0662371F07C +:104A000096E8862F70E060E02AF09A95660F771F8F +:104A1000881FDAF7880F9695879597F9089507D13B +:104A200080F09F3740F491110EF019C160E070E002 +:104A300080E89FEB089526F41B16611D711D811DF2 +:104A40002BC045C0990F0008550FAA0BE0E8FEEFF8 +:104A500016161706E807F907C0F012161306E40742 +:104A6000F50798F0621B730B840B950B39F40A263B +:104A700061F0232B242B252B21F408950A2609F419 +:104A8000A140A6958FEF811D811D089597F99F671D +:104A900080E870E060E00895882371F4772321F0C6 +:104AA0009850872B762F07C0662311F499270DC0E5 +:104AB0009051862B70E060E02AF09A95660F771F80 +:104AC000881FDAF7880F9695879597F908959F3F85 +:104AD00031F0915020F4879577956795B795880FB9 +:104AE000911D9695879597F908959FEF80EC08950D +:104AF000DF93CF931F930F93FF92EF92DF927B018F +:104B00008C01689405C0DA2EEF018DD1FE01E89486 +:104B1000A5912591359145915591AEF3EF01DADDDF +:104B2000FE019701A801DA9479F7DF90EF90FF90EA +:104B30000F911F91CF91DF91089500240A941616CA +:104B4000170618060906089500240A94121613067B +:104B5000140605060895C9CF50D0E8F3E894E0E0C4 +:104B6000BB279F57F0F02AED3FE049EC06C0EE0F5F +:104B7000BB0F661F771F881F28F0B23A62077307C2 +:104B8000840728F0B25A620B730B840BE3959A9555 +:104B900072F7803830F49A95BB0F661F771F881F15 +:104BA000D2F7904896CF092E0394000C11F4882375 +:104BB00052F0BB0F40F4BF2B11F460FF04C06F5FD5 +:104BC0007F4F8F4F9F4F0895EF93E0FF06C0A2EAFB +:104BD0002AED3FE049EC5FEB7DDDE5DF0F900394CC +:104BE00001FC9058EFEAF1E048C257FD9058440F9D +:104BF000551F59F05F3F71F04795880F97FB991F3C +:104C000061F09F3F79F087950895121613061406F8 +:104C1000551FF2CF4695F1DF08C016161706180685 +:104C2000991FF1CF86957105610508940895E5DF18 +:104C3000A0F0BEE7B91788F4BB279F3860F41616BA +:104C4000B11D672F782F8827985FF7CF86957795C6 +:104C50006795B11D93959639C8F30895E894BB27DD +:104C600066277727CB0197F90895ECDE08F48FEFDC +:104C7000089563DF19F068DF09F037CF07CFB90176 +:104C8000CA0125CF9F775F77B0DF98F39923B9F3F7 +:104C90005523B9F3FF27951758F4E52FE91BED309D +:104CA00070F75E3B10F0F1E41CC09034E0F40AC0F1 +:104CB000E92FE51BED3028F79E3B10F0F1E411C021 +:104CC000503488F4F9EA88232AF09A95660F771F02 +:104CD000881FDAF744232AF05A95220F331F441F06 +:104CE000DAF79F1B5F1BFF931F930F93FF92EF92C7 +:104CF00079018A01BB27AB2F9B01AC0196D09701AC +:104D0000A801BF937B018C01AA27BA2FB901CA0160 +:104D10008CD0AF919701A801EF90FF900F911F9158 +:104D2000D9DC41DF2DD14F9140FF0895552747FD34 +:104D3000509509C09B01AC0160E070E080E89FE302 +:104D400098CDA4CEC4CE59DFE8F39923D9F3940FBC +:104D5000511DBBF39150504094F059F0882332F02C +:104D6000660F771F881F91505040C1F79E3F510535 +:104D700044F7880F911D9695879597F908955F3FA1 +:104D8000ACF0983E9CF0BB27869577956795B795D4 +:104D900008F4B1609395C1F7BB0F58F711F460FFA9 +:104DA000E8CF6F5F7F4F8F4F9F4FE3CF58CF25DF07 +:104DB00058F19E5758F19851A0F0E9F0983020F53D +:104DC000092E9927660F771F881F991F0A94D1F71C +:104DD00012C0062E672F782F8827985F11F4000CD9 +:104DE00007C0993FB4F38695779567959395D9F762 +:104DF000611D711D811D3EF49095809570956195A2 +:104E00007F4F8F4F9F4F0895689429CF27CF0BD0A6 +:104E1000CACE93DE28F098DE18F0952309F036CE3E +:104E200064CE11241CCFE1DEA0F3959FD1F3950F42 +:104E300050E0551F629FF001729FBB27F00DB11D1E +:104E4000639FAA27F00DB11DAA1F649F6627B00DAE +:104E5000A11D661F829F2227B00DA11D621F739F97 +:104E6000B00DA11D621F839FA00D611D221F749FA5 +:104E70003327A00D611D231F849F600D211D822FEC +:104E8000762F6A2F11249F5750408AF0E1F0882333 +:104E90004AF0EE0FFF1FBB1F661F771F881F915040 +:104EA0005040A9F79E3F510570F0F0CDD8CE5F3F3E +:104EB000ECF3983EDCF3869577956795B795F79573 +:104EC000E7959F5FC1F7FE2B880F911D96958795FB +:104ED00097F90895FA01EE0FFF1F3096210531056D +:104EE00099F16115710561F48038BFE39B0749F1C1 +:104EF00068949038810561F08038BFEF9B0741F0DE +:104F0000992342F5FF3FE1053105210511F1E894B0 +:104F10000894E795D901AA2329F4AB2FBE2FF85F97 +:104F2000D0F310C0FF5F70F4A695E0F7F73950F0AA +:104F300019F0FF3A38F49F779F930CD00F9007FC3D +:104F4000905808953EF0D1CD60E070E080E89FE396 +:104F500008954FE79F775F934F933F932F93A3D08D +:104F60002F913F914F915F9152DF54C09F93F4DD99 +:104F70000F9007FCEE5F28CE11F40EF4B6CDA7CD4E +:104F80003CDED0F39923D9F3CEF39F57550B87FF1F +:104F90006DD00024A0E640EA900180585695979580 +:104FA00028F4805C660F771F881F20F026173707CC +:104FB000480730F4621B730B840B202931294A2BDC +:104FC000A69517940794202531254A2758F7660F90 +:104FD000771F881F20F026173707480730F4620B29 +:104FE000730B840B200D311D411DA09581F7B90174 +:104FF000842F9158880F9695879508959B01AC0151 +:1050000006CF20DD880B990B089519F40EF03ECDE4 +:1050100025CE6BCDF2DDC8F39638C0F707F80F92B6 +:10502000E8942BE33AEA48EB5FE7FFDE0F920F923A +:105030000F924DB75EB70F9276D0EDECF1E058DDF0 +:105040004F915F91EF91FF91E595EE1FFF1F49F0A2 +:10505000FE57E0684427EE0F441FFA95E1F74195AB +:10506000550B71DE0F9007FE65CE089591505040AC +:10507000660F771F881FD2F708959F938F937F93B2 +:105080006F93FF93EF939B01AC01C1DEEF91FF9112 +:105090002FDD2F913F914F915F91B9CE0EF017CD3B +:1050A00024CD6894F3CCA9DDC8F39923D1F3C6F3DA +:1050B000DF93CF931F930F93FF92C92FDD27882390 +:1050C0002AF02197660F771F881FDAF720E030E07B +:1050D00040E85FEB9FE3883920F0803E30F0219676 +:1050E0008F77E7DAE5EFF1E003C0E3DAE2E2F2E03E +:1050F000FFDC8B01BE01EC01FB2E6F57710975952A +:10510000771F880B990B50DC28E132E741E35FE31E +:105110008ADEAF2D9801AE01FF900F911F91CF91C4 +:10512000DF91D8DA40CDFA01DC01AA0FBB1F9B0149 +:10513000AC01BF5728F422273327442750781FC0DB +:10514000B75188F4AB2F0024469537952795011C5D +:10515000A395D2F3002069F0220F331F441FB395AB +:10516000DAF30DD0A5CA61307105A0E88A07B94607 +:1051700030F49B01AC01662777278827907830961A +:1051800021F020833183428353830895DB018F9381 +:105190009F9398D0BF91AF91A29F800D911DA39F27 +:1051A000900DB29F900D1124089587FB082E0626BE +:1051B00087FD819567FD619599D00EF4919507FC67 +:1051C00081950895AA1BBB1B51E107C0AA1FBB1FF5 +:1051D000A617B70710F0A61BB70B881F991F5A9583 +:1051E000A9F780959095BC01CD01089597FB072EF6 +:1051F00016F4009406D077FD08D0E4DF07FC05D054 +:105200003EF4909581959F4F0895709561957F4FDD +:105210000895A1E21A2EAA1BBB1BFD010DC0AA1FF7 +:10522000BB1FEE1FFF1FA217B307E407F50720F00F +:10523000A21BB30BE40BF50B661F771F881F991F8A +:105240001A9469F760957095809590959B01AC01D3 +:10525000BD01CF010895052E97FB16F400940FD0E1 +:1052600057FD05D0D6DF07FC02D046F408C05095A4 +:105270004095309521953F4F4F4F5F4F0895909542 +:105280008095709561957F4F8F4F9F4F0895EE0FDA +:10529000FF1F0590F491E02D1994A29FB001B39FD8 +:1052A000C001A39F700D811D1124911DB29F700D2F +:1052B000811D1124911D0895F0DFB7FF0895821B11 +:1052C000930B0895EADFA59F900DB49F900DA49FC6 +:1052D000800D911D11240895B7FFF4CFF3DF821BD9 +:1052E000930B08950790F691E02D1994991B79E09E +:1052F00004C0991F961708F0961B881F7A95C9F766 +:1053000080950895EF920F931F93CF93DF93E80159 +:1053100047FF02C034E101C034E0E42FFF27E7FD7E +:10532000F095F7FF03C0F195E195F109E32E022F07 +:105330002E2FAE0103D7CE01DF91CF911F910F9198 +:10534000EF9008958F929F92AF92BF92CF92DF928B +:10535000EF92FF920F931F93CF93DF938B01611511 +:10536000710521F0DB018C9311969C93EC015E0199 +:10537000BFEFAB1ABB0A7501C8808C2D90E07BD2C1 +:10538000892B11F0E501F3CFEDE2CE1208C07E01CA +:10539000F2E0EF0EF11CC980DD24D39409C02BE2AA +:1053A000C21205C07E0142E0E40EF11CC980D12C7E +:1053B000E701219743E050E06CEF7DE5CE018FD20D +:1053C000892BB9F4239645E050E067EF7DE5CE01E7 +:1053D00086D2892B09F425960115110519F0D801FB +:1053E000CD93DC93D11000C160E070E080E89FE7CE +:1053F00004C143E050E064EF7DE5CE0170D2892B1B +:1054000059F40115110509F4F4C0B2E0EB0EF11CDA +:10541000F801F182E082EDC0F70160E070E0CB01BD +:10542000C0E0D0E07F01A0EDAA2EAC0C29E02A1547 +:1054300028F14D2D4260B42E2D2D2870D2FE04C0CF +:10544000211124C0219622C021112197A5E0B0E0AE +:105450009B01AC0137DF660F771F881F991F6A0D0C +:10546000711D811D911D6839A9E97A078A07A9E193 +:105470009A0760F0BD2DB660BB2E08C02EEFA212B9 +:105480000AC0D3FC50C04D2D4860B42E3196D701D0 +:10549000CC90DB2CC7CF2C2D2F7D253409F043C0B9 +:1054A000A081AD3241F4BD2DB061DB2E7F0122E041 +:1054B000E20EF11C0CC07F01AB3231F04FEFE41A69 +:1054C000F40A21E030E006C0A2E0EA0EF11CA1815E +:1054D00022E030E0A053AA3018F0E21AF30A23C009 +:1054E000F70120E030E02038BCE03B075CF4A90184 +:1054F000440F551F440F551F240F351F220F331F14 +:105500002A0F311DAF014F5F5F4F7A01A081A05379 +:10551000AA3010F4FA01E7CFD4FE03C031952195EB +:105520003109C20FD31FD1FE09C00115110531F099 +:10553000E1E0EE1AF108D801ED92FC9233DA2D2D5C +:105540002370233019F04B015C0106C04B015C0154 +:10555000B7FAB094B7F8B09420E030E0A901C501E3 +:10556000B40180D9882309F43CC0D7FF06C0D19587 +:10557000C195D10903E11EE502C00BE21EE56801F9 +:10558000B8E1CB1AD10890E2E92EF12CCE15DF0557 +:105590006CF0F8012591359145915491C501B40104 +:1055A00036DC4B015C01CE19DF09F0CF0450110944 +:1055B000F594E7940C151D0549F78A2D880F8B2D5E +:1055C000881F8F3F41F020E030E0A901C501B40100 +:1055D00049D9811106C082E290E0909355198093D9 +:1055E0005419C501B40109C060E070E080E89FEF84 +:1055F00004C060E070E080EC9FE7DF91CF911F91E5 +:105600000F91FF90EF90DF90CF90BF90AF909F9061 +:105610008F9008952F923F925F926F927F928F9218 +:105620009F92AF92BF92CF92DF92EF92FF920F9331 +:105630001F93CF93DF938B01EA016115710521F070 +:10564000DB018C9311969C93209739F09E01225098 +:1056500031092332310508F0F8C07C016701BFEF42 +:10566000CB1ADB0A5601F7016080862D90E003D14A +:10567000892B11F07601F2CFFDE26F120AC05701BB +:1056800082E0A80EB11CD70111966C907724739418 +:105690000BC0BBE26B1207C05701E2E0AE0EB11CBB +:1056A000D70111966C90712CCE018F7E892B89F4D5 +:1056B000B0E36B1222C0F50180818F7D883541F502 +:1056C0006180F2E0AF0EB11C872D8260782EC0E1C0 +:1056D000D0E0C830D105F1F04CF4C230D10511F55D +:1056E000C12CD12CE12CB0E4FB2E2EC0CA30D10548 +:1056F00031F0C031D10519F115C0209751F7CAE03A +:10570000D0E0ACECCA2EDC2CEC2CACE0FA2E1CC0A9 +:105710002097F9F6C8E0D0E0C12CD12CE12CF0E1C3 +:10572000FF2E12C060E070E080E090E89E01442708 +:1057300037FD4095542F6DDD69017A0105C0C12CFC +:10574000D12CE12CE8E0FE2EF50160E020E030E015 +:10575000A9014E01AA2497FCA094BA2C1F0170ED58 +:10576000572E560CA9E0A51570F48FEB860D8A31E3 +:1057700018F499EC592E06C08FE9860D8A3128F568 +:1057800089EA582E560C852D90E08C179D07ECF475 +:1057900067FD17C0C216D306E406F50678F0C5010A +:1057A000B401F4DC9B01AC01250D311D411D511DDF +:1057B000213031054105B0E85B0710F06FEF01C003 +:1057C00061E03196D1016C90C9CF872D81700115B0 +:1057D000110571F0662329F03197D801ED93FC9300 +:1057E00007C071FE19C03297D801ED93FC9314C025 +:1057F00067FF12C0882329F020E030E040E050E845 +:1058000004C02FEF3FEF4FEF5FE782E290E090930D +:1058100055198093541916C0882341F0509540952E +:10582000309521953F4F4F4F5F4F0CC057FF0AC037 +:1058300082E290E090935519809354192FEF3FEF37 +:105840004FEF5FE7B901CA0104C060E070E080E09B +:1058500090E0DF91CF911F910F91FF90EF90DF903B +:10586000CF90BF90AF909F908F907F906F905F9000 +:105870003F902F9008959111B6C6803219F089504B +:105880008550D0F708959111089581548A5108F4F4 +:10589000805E855A0895FB01DC0102C005900D92DF +:1058A00041505040D8F70895FB01DC010D900020D5 +:1058B000E9F7119705900D920020E1F70895FB019B +:1058C000DC0105900D920020E1F70895FC010590A0 +:1058D0000020E9F7809590958E0F9F1F0895FB019A +:1058E000DC014150504088F08D9181341CF08B35A3 +:1058F0000CF4805E659161341CF06B350CF4605ED5 +:10590000861B611171F3990B0895881BFCCFFB0175 +:10591000DC014150504030F08D910590801919F410 +:105920000020B9F7881B990B0895FB01DC01415059 +:10593000504048F005900D920020C9F701C01D921B +:1059400041505040E0F70895FB0155915523A9F0CF +:10595000BF01DC014D9145174111E1F759F4CD012B +:105960000590002049F04D9140154111C9F3FB010C +:105970004111EFCF81E090E001970895FB01DC0138 +:1059800004C08D910190801921F441505040C8F716 +:10599000881B990B0895FB01DC0102C001900D9258 +:1059A00041505040D8F70895DC0101C06D9341503B +:1059B0005040E0F70895FB01DC018D9181341CF02B +:1059C0008B350CF4805E619161341CF06B350CF406 +:1059D000605E861B611189F3990B0895FB01DC0160 +:1059E0000D900020E9F7119701900D920020E1F74A +:1059F0000895FC018191861721F08823D9F7992712 +:105A000008953197CF010895FB01DC018D9101903C +:105A100080190110D9F3990B0895FB01DC01019065 +:105A20000D920020E1F70895FB01DC014150504048 +:105A300030F08D910190801919F40020B9F7881B7E +:105A4000990B0895FB01DC014150504048F0019052 +:105A50000D920020C9F701C01D9241505040E0F75F +:105A60000895FB0151915523A9F0BF01DC014D912F +:105A700045174111E1F759F4CD010190002049F09B +:105A80004D9140154111C9F3FB014111EFCF81E068 +:105A900090E0019708950F931F93CF93DF93CDB7B5 +:105AA000DEB708851985F801838188608383AE019C +:105AB000445F5F4F6A857B85C80111D1F80123815E +:105AC000277F2383DF91CF911F910F910895EF924C +:105AD000FF920F931F93CF93DF93EC018B01DB01B8 +:105AE00013968C9181FF17C0E12CF12CFE0184915B +:105AF000882379F0D8011896ED91FC911997B80197 +:105B00001995892B21F0EE24EA94FF24FA9421962A +:105B1000EDCFC70102C08FEF9FEFDF91CF911F91B3 +:105B20000F91FF90EF9008950F931F93CF93DF9302 +:105B3000CDB7DEB7FE0138966191719100E519E1AC +:105B4000D8018D919C91DC0113962C9113972860BC +:105B500013962C93AF01C3D0D801ED91FC91238112 +:105B6000277F2383DF91CF911F910F9108950F938A +:105B70001F93CF93DF93E0915019F0915119238136 +:105B800021FF1BC0EC0100E010E0899160915019E9 +:105B900070915119DB011896ED91FC9119978823AA +:105BA00031F01995892B89F30FEF1FEFEECF8AE0C3 +:105BB0001995892B11F4C80102C08FEF9FEFDF9177 +:105BC000CF911F910F9108950F931F93CF93DF9360 +:105BD000EC01E0915019F0915119838181FF1CC0B3 +:105BE00000E010E0FE01849160915019709151190C +:105BF000DB011896ED91FC911997882339F01995DE +:105C0000892B11F00FEF1FEF2196ECCF8AE0199549 +:105C1000892B11F4C80102C08FEF9FEFDF91CF9164 +:105C20001F910F9108950F931F93CF93DF93CDB7DB +:105C3000DEB72E970FB6F894DEBF0FBECDBF0E892C +:105C40001F8986E08C831A8309838FEF9FE79E83E9 +:105C50008D83AE01465E5F4F688D798DCE010196D2 +:105C60003ED0EF81F885E00FF11F10822E960FB61F +:105C7000F894DEBF0FBECDBFDF91CF911F910F9182 +:105C800008950F931F93CF93DF93CDB7DEB72E9771 +:105C90000FB6F894DEBF0FBECDBF0E891F898EE010 +:105CA0008C831A8309838FEF9FE79E838D83AE01D8 +:105CB000465E5F4F688D798DCE01019610D0EF81E1 +:105CC000F885E00FF11F10822E960FB6F894DEBF14 +:105CD0000FBECDBFDF91CF911F910F9108952F92ED +:105CE0003F924F925F926F927F928F929F92AF926C +:105CF000BF92CF92DF92EF92FF920F931F93CF93B9 +:105D0000DF93CDB7DEB72C970FB6F894DEBF0FBE8A +:105D1000CDBF7C016B018A01FC0117821682838151 +:105D200081FFB0C1CE0101964C01F7019381F601CC +:105D300093FD859193FF81916F01882309F49EC1A2 +:105D4000853239F493FD859193FF81916F018532FE +:105D500021F4B70190E060D4E8CF512C312C20E041 +:105D60002032A0F48B3269F030F4803259F0833263 +:105D700069F420612CC08D3239F0803339F4216010 +:105D800026C02260246023C0286021C027FD27C0D0 +:105D900030ED380F3A3078F426FF06C0FAE05F9E07 +:105DA000300D1124532E13C08AE0389E300D11247B +:105DB000332E20620CC08E3221F426FD5FC1206498 +:105DC00006C08C3611F4206802C0883641F4F60112 +:105DD00093FD859193FF81916F018111C1CF982F20 +:105DE0009F7D9554933028F40C5F1F4FFFE3F98398 +:105DF0000DC0833631F0833771F0833509F057C019 +:105E000021C0F801808189830E5F1F4F4424439491 +:105E1000512C540114C03801F2E06F0E711CF801CE +:105E2000A080B18026FF03C0652D70E002C06FEF37 +:105E30007FEFC5012C87E5D32C0183012C852F77BB +:105E4000222E16C03801F2E06F0E711CF801A080FE +:105E5000B18026FF03C0652D70E002C06FEF7FEFB9 +:105E6000C5012C87C3D32C012C852068222E8301E9 +:105E700023FC19C0832D90E048165906A0F4B70101 +:105E800080E290E0C9D33A94F5CFF50127FC8591E3 +:105E900027FE81915F01B70190E0BED331103A94A3 +:105EA000F1E04F1A51084114510479F7DEC08436ED +:105EB00011F0893631F5F80127FF07C06081718143 +:105EC000828193810C5F1F4F08C060817181882798 +:105ED00077FD8095982F0E5F1F4F2F76B22E97FF7C +:105EE00009C090958095709561957F4F8F4F9F4F1A +:105EF0002068B22E2AE030E0A401C0D3A82EA81852 +:105F000043C0853729F42F7EB22E2AE030E025C029 +:105F1000F22FF97FBF2E8F36C1F018F4883579F053 +:105F2000ADC0803719F0883721F0A8C02F2F20612D +:105F3000B22EB4FE0DC08B2D8460B82E09C024FF94 +:105F40000AC09F2F9660B92E06C028E030E005C039 +:105F500020E130E002C020E132E0F801B7FE07C0E6 +:105F600060817181828193810C5F1F4F06C06081C7 +:105F7000718180E090E00E5F1F4FA4017FD3A82EB7 +:105F8000A818FB2DFF77BF2EB6FE0BC02B2D2E7F42 +:105F9000A51450F4B4FE0AC0B2FC08C02B2D2E7E0E +:105FA00005C07A2C2B2D03C07A2C01C0752C24FF40 +:105FB0000DC0FE01EA0DF11D8081803311F4297EB0 +:105FC00009C022FF06C07394739404C0822F8678A0 +:105FD00009F0739423FD12C020FF06C05A2C7314DD +:105FE00018F4530C5718732C731460F4B70180E243 +:105FF00090E02C8711D373942C85F6CF731410F492 +:10600000371801C0312C24FF11C0B70180E390E0A4 +:106010002C8702D32C8522FF16C021FF03C088E500 +:1060200090E002C088E790E0B7010CC0822F86782C +:1060300051F021FD02C080E201C08BE227FD8DE21C +:10604000B70190E0E9D2A51430F4B70180E390E005 +:10605000E3D25A94F8CFAA94F401EA0DF11D80819D +:10606000B70190E0D9D2A110F6CF332009F45DCE6C +:10607000B70180E290E0D0D23A94F7CFF701868161 +:10608000978102C08FEF9FEF2C960FB6F894DEBF7A +:106090000FBECDBFDF91CF911F910F91FF90EF9079 +:1060A000DF90CF90BF90AF909F908F907F906F9038 +:1060B0005F904F903F902F900895F999FECF92BD39 +:1060C00081BDF89A992780B50895A6E1B0E044E033 +:1060D00050E034C3A8E1B0E042E050E02FC3262FE7 +:1060E000F999FECF92BD81BDF89A019700B40216CE +:1060F00039F01FBA20BD0FB6F894FA9AF99A0FBE7C +:1061000008950396272FECDFEADF252FE9DF242F00 +:10611000E7CF0196272FE4DFE2CF262FF999FECFB4 +:106120001FBA92BD81BD20BD0FB6F894FA9AF99AB4 +:106130000FBE01960895F1DF272FF0CF6F927F9267 +:106140009F92AF92BF92CF92DF92EF92FF920F9306 +:106150001F93CF93DF93CDB7DEB729970FB6F8948F +:10616000DEBF0FBECDBF6A01B22E102F0C3320F45C +:10617000FF24F394F00E02C04CE3F42E0F2D27E021 +:10618000AE014F5F5F4F57D17981272F29702130A2 +:1061900031F0E1FC06C0E0FC06C060E005C06DE245 +:1061A00003C06BE201C060E2AE2DA07173FF36C088 +:1061B000662311F084E001C083E08B1510F4B81A57 +:1061C00001C0B12CA1110BC0F6018B2D90E28823E8 +:1061D00019F091938150FBCFCB0CD11CB12C6623CD +:1061E00031F0F601608396012F5F3F4F6901C601D0 +:1061F0000396E2FE05C02EE4F601208331E404C0DC +:106200002EE6F601208331E631832283FC012B2D1B +:1062100030E22223F1F131932150FBCF72FF40C0D5 +:10622000662311F084E001C083E08B1510F4B81AE6 +:1062300001C0B12CA1110BC0F6018B2D90E2882377 +:1062400019F091938150FBCFCB0CD11CB12C66235C +:1062500031F0F601608396012F5F3F4F6901C6015F +:106260000396E2FE07C029E4F60120832EE4218391 +:1062700026E406C029E6F60120832EE6218326E6E1 +:106280002283FC012B2D30E2222319F0319321507F +:10629000FBCFFC01EB0DF11D10828EEF9FEFB7C01D +:1062A000B1E0611101C0B0E04B2F50E018161906A3 +:1062B00024F49C012F5F3F4F02C021E030E0240F07 +:1062C000351F112329F0412F50E04F5F5F4F02C06F +:1062D00040E050E0420F531F2B2D30E04217530790 +:1062E00014F4B41A01C0B12C2E2D287159F4F60102 +:1062F0002B2D30E2222319F031932150FBCFCB0C10 +:10630000D11CB12CBB2331F0F601608396012F5FC5 +:106310003F4F6901A1110BC0F6012B2D30E3222361 +:1063200019F031932150FBCFCB0CD11CB12CF80EBE +:106330000A81372F3071A32E74FF03C0013309F493 +:10634000FA941F142CF42F2D293018F028E001C0E6 +:1063500021E0682F392F97FF02C060E030E0462F20 +:10636000532F612C712C3EE2932EBC01621B7109EC +:106370009B01DC01A41BB50BE1E0F0E0EC0FFD1F7D +:10638000AE0FBF1FE12EF12CF194E194F1084F3FC5 +:10639000FFEF5F0731F4F6019082B6016F5F7F4F28 +:1063A0006B01841795074CF02417350734F4BD01B1 +:1063B000660D771DFB01118101C010E341505109A9 +:1063C000FFEF6F1A7F0AB6016F5F7F4F4E155F05B3 +:1063D00024F0F60110836B01DACF4817590739F41E +:1063E000063320F4053319F4A11001C011E3F601BE +:1063F0001083FB018B2D90E2882319F0919381503B +:10640000FBCFFB01EB0DF11D108280E090E029969F +:106410000FB6F894DEBF0FBECDBFDF91CF911F91B5 +:106420000F91FF90EF90DF90CF90BF90AF909F9033 +:106430007F906F900895283008F027E03327DA0125 +:10644000990F311D87FD916000966105710539F442 +:1064500032602E5F3D9330E32A95E1F708959F3F28 +:1064600030F080387105610509F03C5F3C5F3D9379 +:10647000913008F08068911DDF93CF931F930F93A5 +:10648000FF92EF92192F987F9695E92F9695969502 +:10649000E90FFF27E757F14A99273327EE24FF2416 +:1064A000A701E70105900894079428F4360FE71E2A +:1064B000F81E491F511D660F771F881F991F0694EC +:1064C000A1F70590079428F4E70EF81E491F561F00 +:1064D000C11D770F881F991F661F0694A1F70590AD +:1064E000079428F4F80E491F561FC71FD11D880FA7 +:1064F000991F661F771F0694A1F70590079420F453 +:10650000490F561FC71FD81F990F661F771F881F77 +:106510000694A9F784911095177041F0D695C79508 +:1065200057954795F794E7941A95C1F7EFE2FEE582 +:1065300068941590159135916591959105907FE23C +:106540007395E118F10A430B560BC90BD009C0F73C +:10655000E10CF11E431F561FC91FD01D7EF470337E +:1065600011F48A95E6CFE894015030F0080F0AF450 +:106570000027021708F4202F2395022F7A3328F0E2 +:1065800079E37D932A95E9F710C07D932A9589F6E2 +:10659000069497956795379517951794E118F10A22 +:1065A000430B560BC90BD00998F023957E91739538 +:1065B0007A3308F070E37C932013B8F77E91706112 +:1065C0007D9330F0839571E37D9370E32A95E1F735 +:1065D0001124EF90FF900F911F91CF91DF91992798 +:1065E00087FD90950895992788270895FC010590C7 +:1065F000615070400110D8F7809590958E0F9F1FC5 +:106600000895FC016150704001900110D8F7809509 +:1066100090958E0F9F1F08950F931F93CF93DF9335 +:10662000182F092FEB018B8181FD03C08FEF9FEFA6 +:1066300020C082FF10C04E815F812C813D814217B6 +:1066400053077CF4E881F9819F012F5F3F4F398325 +:106650002883108306C0E885F985812F1995892B39 +:1066600029F72E813F812F5F3F4F3F832E83812F5C +:10667000902FDF91CF911F910F910895FA01AA27D2 +:10668000283051F1203181F1E8946F936E7F6E5F75 +:106690007F4F8F4F9F4FAF4FB1E03ED0B4E03CD023 +:1066A000670F781F891F9A1FA11D680F791F8A1F06 +:1066B000911DA11D6A0F711D811D911DA11D20D06D +:1066C00009F468943F912AE0269F11243019305D27 +:1066D0003193DEF6CF010895462F4770405D419318 +:1066E000B3E00FD0C9F7F6CF462F4F70405D4A3365 +:1066F00018F0495D31FD4052419302D0A9F7EACF2D +:10670000B4E0A6959795879577956795BA95C9F75B +:1067100000976105710508959B01AC010A2E06944E +:106720005795479537952795BA95C9F7620F731F07 +:10673000841F951FA01D0895DC01CB01FC01F99970 +:10674000FECF06C0F2BDE1BDF89A319600B40D92BD +:1067500041505040B8F708951FE5C2E3DFE500E07F +:1067600006C022970109FE010BBF0F9472A9C43322 +:0C677000D10780E00807A9F7F894FFCFDC +:10677C000000561980000101010160EA0000008050 +:10678C00BB4402FFFFFFFF010001000000410000BD +:10679C003442000050410000404000007F430000A4 +:1067AC0052430000524300000000000080C09A9940 +:1067BC00193E0000803F00004040640081018101CF +:1067CC008101810164006400640000803B4500800D +:1067DC003B45000048440000000001180100003E49 +:1067EC004301010101019001EE02EE029001EE0263 +:1067FC00EE029001EE02EE02B1151401FF3FFF3FD5 +:10680C00FF3F4C62B045E65A343F8F42FC420000D9 +:10681C00803FB099AB43FF08433E3D0A81410102E2 +:10682C0038010100005243011E0001FF0000C84264 +:10683C000000C8420000C84300000C43000048435D +:10684C0000004843000040410000F042E803000013 +:10685C00E8030000C800000088130000000040009E +:10686C00140054001010101010001F1511151F00EB +:10687C00000C12120C00000000040A0A0A0A111182 +:10688C000E040E1F041C0000000006191803130C44 +:10689C0000001C1F11111F0000000412091204003B +:1068AC0000000E1315110E00000000000000110A6C +:1068BC00041F1F1F1F1F1F1F1F0000110A04110A96 +:1068CC00046164635F696E697400000000001D3C24 +:1068DC0098014D3834004D203834004D313137009B +:1068EC0050525553410050696E670050524E00464D +:1068FC00414E0045303A002052504D0050524E301F +:10690C003A00666E004E6F7420696E206661726D7F +:10691C00206D6F64652E006676004D323800534E44 +:10692C00003B530046697200332E312E312D5243F9 +:10693C00350052657600315F37356D6D5F4D4B32EA +:10694C00352D52414D426F3133612D4533447636EE +:10695C0066756C6C004C616E67004C7A0053455246 +:10696C0049414C204C4F570053455249414C20480B +:10697C004947480042656174004652005072757375 +:10698C0061206933204D4B322E350020703A0020A7 +:10699C00693A0020643A0020633A000000010025A7 +:1069AC000030001D000C001E00240031001C000BE8 +:1069BC0000180023002F001B000A001700FFFF0423 +:1069CC0000060022002B001A0003003600370035A9 +:1069DC0000380058595A4500000000BBA098012F00 +:1069EC00004E6F74207072696E74696E6700416E30 +:1069FC00206572726F72207768696C652077726996 +:106A0C0074696E6720746F2074686520534420434A +:106A1C006172642E0053442D5052494E54494E47D6 +:106A2C002020202020202020200001006F70656E87 +:106A3C00206661696C65642C2046696C653A20009F +:106A4C004D3131320035FA8E3B1F42093B504944DF +:106A5C00204175746F74756E652073746172740067 +:106A6C00504944204175746F74756E652066616978 +:106A7C006C65642E2042616420657874727564655F +:106A8C0072206E756D6265722E004F4B005B50521A +:106A9C004E3A005B5354303A005D5B5354423A001B +:106AAC005D5B4154303A005D5B4154423A003E001C +:106ABC004C616E67756167650053746174697374BA +:106ACC00696373005368697070696E6720707265D2 +:106ADC007000416C6C2044617461007B5B455252C8 +:106AEC003A345D007B5B4552523A335D007B5B452B +:106AFC0052523A325D007B5B4552523A315D007B1B +:106B0C005B50524E3A355D007B007B5B50524E3AE7 +:106B1C00305D5B50464E3A007B5B50524E3A395DCD +:106B2C00007B5B50524E3A385D007B5B5245533ACA +:106B3C00305D007B5B5245533A315D007B5B5052BC +:106B4C004E3A39395D005B5446553A005D5B504313 +:106B5C00443A005D5B46454D3A005D5B464E4D3A0E +:106B6C00005D5B54494D3A005D5B4657523A005DFF +:106B7C007D004661726D206E6F005E00206D6D00B1 +:106B8C0046696C2E2058643A0059643A00496E7478 +:106B9C003A202020202020202020202020200053BC +:106BAC006875743A20202020006D2000636D006809 +:106BBC0020006B6D00680020202020202020202049 +:106BCC002020202020202020202020005072696EC0 +:106BDC0074206F6B203F007C002D2D2D2D2D2D2D25 +:106BEC002D2D2D2D2D2D2D2D2D2D2D2D2D00486F99 +:106BFC0074656E640042656400473120583730205C +:106C0C005900473120590047312058353020590060 +:106C1C004D333031205000204900204400473120B2 +:106C2C005A004D3130392053004D3130342053004F +:106C3C004731205800473120583530205933352002 +:106C4C0045004D33303320453020530025642F361A +:106C5C00002F3000457874727564657220004C6F9B +:106C6C006164696E672066696C616D656E740000A5 +:106C7C00C0284500C0284500007A440000C8426E78 +:0C6C8C00616E00696E66006F76660000A5 +:00000001FF diff --git a/hex_files/1_75mm_MK3-EINSy10a-E3Dv6full.hex b/hex_files/1_75mm_MK3-EINSy10a-E3Dv6full.hex new file mode 100644 index 000000000..1b4d980b4 --- /dev/null +++ b/hex_files/1_75mm_MK3-EINSy10a-E3Dv6full.hex @@ -0,0 +1,14897 @@ +:100000000C9499320C94CA320C94CA320C94CA32B1 +:100010000C94CA320C9446690C94CA320C94CA32BD +:100020000C94CB680C94CA320C94CA320C94FFCB5B +:100030000C94CA320D94A0BD0C94CA320C94CA32EE +:100040000C94CA320D94621C0C94CA320C94CA32BD +:100050000C94CA320C94CA320D9400330D94C7B577 +:100060000C94CA320C943C3F0C94CA320C94CA32A1 +:100070000C94CA320C94CA320C94CA320C94CA3210 +:100080000C94CA320C94CA320C94CA320C94CA3200 +:100090000C94803F0C94CA320C94CA320C94CA322D +:1000A0000C94CA320C94CA320C94CA320C94CA32E0 +:1000B0000C94CA320C94CA320C94CA320C94CA32D0 +:1000C0000C94CA320C94CA320C94CA320C94CA32C0 +:1000D0000C94CA320C94CA320C94CA320C94CA32B0 +:1000E0000C94CA322B3E2F3E343E3C3E513E6A3E7B +:1000F0008F3EB93E6C014801EE01C201C001800192 +:10010000E6018A01C601A60160014001580184018F +:10011000D601CC01F40164014A01E001EC013E0189 +:100120003601D201DA012C012C012C01AE01AE0105 +:10013000AE01C401F601AE019A01700186016601AB +:10014000BC019801D40134017201880144015E01AF +:1001500050016E017A01D40154015A01E201AA0151 +:100160005201D8012A0132015601BA014E0146015D +:100170008C018201B6017601AC015601B2013C014D +:10018000EA01084AD73B3BCE016E84BCBFFDC12FBC +:100190003D6C74319ABD56833DDA3D00C77F11BE78 +:1001A000D9E4BB4C3E916BAAAABE000000803F057B +:1001B000A84CCDB2D44EB93836A9020C50B99186AC +:1001C00088083CA6AAAA2ABE000000803F07634216 +:1001D00036B79BD8A71A39685618AEBAAB558C1DDE +:1001E0003CB7CC5763BD6DEDFD753EF6177231BF60 +:1001F000000000803F08000000BE922449123EAB80 +:10020000AAAA2ABECDCCCC4C3E00000080BEABAA30 +:10021000AAAA3E00000000BF000000803F000000CE +:100220000000084178D3BB4387D1133D190E3CC36E +:10023000BD4282AD2B3E68EC8276BED98FE1A93EED +:100240004C80EFFFBE01C4FF7F3F000000000000B4 +:100250000D940E9A0D94B7B70D949F720D942E4C79 +:100260000D9492B80D94BDB70D9430B70D9465728E +:100270000D94AD420D94EFAB0D94F2B70D94427214 +:100280000D9485700D945B960D944AB70D94D2B77A +:100290000D9454600D94F1710D946A880D94CCB74F +:1002A0000D945EB70D94C4B70D9481B70D94FBB750 +:1002B0000D949D700D948BB70D9407860D9454B7D3 +:1002C0000D9418610D9445A10D9429710D9412B7E8 +:1002D0000D942D4B0D94E43F0D943F600D946DB73C +:1002E0000D9408B70D9438B70D94CC5F0D94E4B716 +:1002F0000D947C8F0D9477B70D947B3D0D948F6793 +:100300000D949D600D94DAB70D94B4700D940DB7F3 +:100310000D9440B70D94C1600D94D6B70D94B3649D +:100320000D9454410D940C880D946D5D0D94B15C49 +:100330000D9426B70D94B1720D94DD3E0D94237F7C +:100340000D9454510D94A85C0D9429540D94F060B3 +:100350000D94C35C0D94C1B70D94E8B70D94C572AC +:100360000D947A4C0D94EEB70D949B4B0D94E0B721 +:100370000D943C5B0D94C8B70D941CB70D94984236 +:100380000D9498600D9473600D94A7720D94D660CF +:100390000D94B5910D9461410D94DE700D94BA5C8D +:1003A0000D9423870D948F720D949FB70D94CA708E +:1003B0000D94B3B70D9497720D94A7420D94BC445D +:1003C0000D9414720D9495B70D94995E0D94A760D9 +:1003D0000D94A1590D94F6B70D9425720D945960A2 +:1003E0000D94004C0D943BA70D940C710D94D57297 +:1003F00048617264636F6465642044656661756C0E +:10040000742053657474696E6773204C6F61646502 +:10041000640053746F7265642073657474696E67E9 +:1004200073207265747269657665640046696C61F3 +:100430006D656E742073657474696E67733A2044D9 +:10044000697361626C6564002020204D3230302079 +:10045000440046696C616D656E74207365747469DF +:100460006E67733A002020204D323039205300410E +:1004700075746F2D526574726163743A20533D3008 +:1004800020746F2064697361626C652C2031207464 +:100490006F20696E7465727072657420657874720D +:1004A0007564652D6F6E6C79206D6F766573206154 +:1004B00073207265747261637473206F7220726549 +:1004C000636F766572696573002046002020204DB9 +:1004D0003230382053005265636F7665723A20538C +:1004E0003D4578747261206C656E67746820286D74 +:1004F0006D2920463A537065656420286D6D2F6D17 +:100500002900205A002046002020204D323037207C +:100510005300526574726163743A20533D4C656EAA +:1005200067746820286D6D2920463A5370656564AC +:1005300020286D6D2F6D29205A3A205A4C69667417 +:1005400020286D6D29002044002049002020204DE6 +:10055000333034205000504944206865617462652E +:10056000642073657474696E67733A0020440020D8 +:1005700049002020204D3330312050005049442084 +:1005800073657474696E67733A00205A00205900CD +:1005900020204D323036205800486F6D65206F6640 +:1005A0006673657420286D6D293A00204500205A35 +:1005B0000020590020580020420020540020204DE7 +:1005C000323035205300416476616E636564207675 +:1005D00061726961626C65733A20533D4D696E20AA +:1005E000666565647261746520286D6D2F73292CB2 +:1005F00020543D4D696E2074726176656C2066658D +:1006000065647261746520286D6D2F73292C2042FA +:100610003D6D696E696D756D207365676D656E748E +:100620002074696D6520286D73292C20583D6D61FB +:1006300078696D756D205859206A65726B20286D38 +:100640006D2F73292C20205A3D6D6178696D756D71 +:10065000205A206A65726B20286D6D2F73292C201B +:1006600020453D6D6178696D756D2045206A657224 +:100670006B20286D6D2F73290020540020204D32EF +:100680003034205300416363656C65726174696F37 +:100690006E3A20533D616363656C65726174696F86 +:1006A0006E2C20543D7265747261637420616363C3 +:1006B000656C65726174696F6E00204500205A0098 +:1006C00020590020204D3230312058004D6178698A +:1006D0006D756D20416363656C65726174696F6EE1 +:1006E00020286D6D2F7332293A00204500205A00D2 +:1006F00020590020204D3230332058004D61786958 +:100700006D756D2066656564726174657320286D12 +:100710006D2F73293A00204500205A0020590020EF +:10072000204D393220580053746570732070657203 +:1007300020756E69743A0053657474696E6773202E +:1007400053746F72656400454550524F4D20457299 +:10075000726F720029002C20002C200070687973C1 +:100760006963616C20636F6F7264696E6174657335 +:100770003A20280029002C20002C2000776F726C72 +:100780006420636F6F7264696E617465733A2028C8 +:10079000006F6B0A002046002045004731205A00B8 +:1007A0004D3234004D32362053256C75004D3130BA +:1007B000362053004D38320047312046256400472B +:1007C000312045322A312046343830004731205A12 +:1007D0000020463230303000205900473120580088 +:1007E0004D383300506F736974696F6E20726561A4 +:1007F000642066726F6D20656570726F6D3A004D92 +:100800003233202573002E67636F0046656564727E +:100810006174653A007265636F7665725F6D6163DE +:1008200068696E655F73746174655F616674657233 +:100830005F706F7765725F70616E69632C20696E9F +:10084000697469616C20007265636F7665725F6DB3 +:10085000616368696E655F73746174655F61667416 +:1008600065725F706F7765725F70616E69632C206F +:10087000696E697469616C200047393220450063F4 +:10088000757272656E745F706F736974696F6E5B99 +:10089000455F415849535D3A0063757272656E74E5 +:1008A0005F706F736974696F6E5B5A5F415849532B +:1008B0005D3A0043757272656E7420706F7369746F +:1008C000696F6E20595F415849533A0043757272FF +:1008D000656E7420706F736974696F6E20585F4124 +:1008E0005849533A004166746572207761697469AA +:1008F0006E6720666F722074656D703A0047312014 +:10090000452D3120463438300047312045352046CA +:10091000313230004D3833004D31393020532564A9 +:10092000004D31303920532564004732382058209B +:1009300059004731205A32352046383030004D3189 +:10094000343020532564004D313034205325640069 +:10095000494E54340055564C4F202D20656E64008E +:10096000737470730020423A0020453A00543A00F4 +:100970005A206C6976652061646A757374206F759E +:1009800074206F662072616E67652E2053657474E3 +:10099000696E6720746F20302E20436C69636B2072 +:1009A000746F20636F6E74696E75652E005A206CCB +:1009B0006976652061646A757374206F7574206F41 +:1009C000662072616E67652E2053657474696E6768 +:1009D00020746F20300020573A0020453A00543AE6 +:1009E000004B494C4C3A20004D3730310022283220 +:1009F00029005400496E76616C6964205420636F4D +:100A000064652E00556E6B6E6F776E204D20636FA0 +:100A100064653A202573200A004D32323020532578 +:100A20006900203A2000004C414E472053454C209D +:100A3000464F5243454400222831290020453A00C0 +:100A4000205A3A0020593A0020453A00205A3A00EC +:100A500020593A00583A004D3131332053002000DC +:100A60002E0020423A0020453A00543A0020413AF4 +:100A70000020503A002042403A0020403A00202F07 +:100A8000003A00205400202F0020423A00202F007E +:100A90006F6B20543A002569206D696E2C20256902 +:100AA0002073656300496E76616C6964204D206334 +:100AB0006F64653A202573200A00556E6B6E6F7760 +:100AC0006E204720636F64653A202573200A004D2D +:100AD00065736820626564206C6576656C696E6715 +:100AE000206E6F74206163746976652E000A0020A1 +:100AF00020000A4D6561737572656420706F696EC0 +:100B000074733A000A5A20736561726368206865DD +:100B1000696768743A20002C004E756D20582C5976 +:100B20003A2000206D6963726F6E730045786365CB +:100B3000737369766520626564206C6576656C699F +:100B40006E6720636F7272656374696F6E3A20001E +:100B5000473238205730003A200054656D70657276 +:100B600061747572652063616C6962726174696F2A +:100B70006E20646F6E652E20436F6E74696E7565AE +:100B80002077697468207072657373696E6720746A +:100B90006865206B6E6F622E0000205A20736869B2 +:100BA000667420286D6D293A0050494E44412074E6 +:100BB000656D70657261747572653A2000002F363C +:100BC00000537465703A200000205A2073686966EB +:100BD0007420286D6D293A0050494E4441207465B7 +:100BE0006D70657261747572653A20002F36202829 +:100BF000736B69707065642900537465703A2000E6 +:100C0000005A45524F3A2000007374617274207488 +:100C1000656D70657261747572653A200050494E59 +:100C200044412070726F62652063616C6962726119 +:100C300074696F6E20737461727400473238205784 +:100C400030000A00205A3A200020593A200020584B +:100C50003A200043616C6962726174696F6E20664C +:100C600061696C65642120436865636B2074686505 +:100C7000206178657320616E642072756E206167F3 +:100C800061696E2E0043524153485F4445544543C9 +:100C900054454458590043524153485F44455445D4 +:100CA00043544544590043524153485F44455445D9 +:100CB0004354454458004D323900627573793A20E7 +:100CC00070617573656420666F7220696E707574EB +:100CD00000627573793A2070617573656420666F80 +:100CE00072207573657200627573793A2070726F45 +:100CF00063657373696E67002055706C6F61642063 +:100D0000696E2070726F6772657373004449534156 +:100D1000424C45440A00454E41424C45440A004677 +:100D200053656E736F722000504154393132355F14 +:100D3000696E69743A25640A004665622020312094 +:100D40003230313800436F6D70696C65643A200051 +:100D5000286E6F6E652C2064656661756C74206307 +:100D60006F6E666967290046656220203120323047 +:100D700031382032303A30313A34360020332E3197 +:100D80002E312D5243352D3135310A007374617285 +:100D90007400466163746F72792052455345540064 +:100DA0001B5B324A1B5B313B31484F726967696E8E +:100DB000616C2050727573612069331B5B323B3369 +:100DC0004850727573612052657365617263680083 +:100DD000250020202020202000202020202020006E +:100DE00045524153494E4720616C6C2064617461E7 +:100DF00000466163746F7279205245534554004335 +:100E0000524153485F5245434F564552004732388E +:100E10002058205900FFFFFF0000A0400000A04024 +:100E20000000004000007F43000056439AD9514320 +:100E300000000000000080C09A99193E00007F4326 +:100E4000000052430000524300000000000080C038 +:100E50009A99193E6563686F3A004572726F723AEB +:100E60000000002110422063308440A550C660E796 +:100E700070088129914AA16BB18CC1ADD1CEE1EF4F +:100E8000F13112100273325222B5529442F772D6E7 +:100E900062399318837BB35AA3BDD39CC3FFF3DE9F +:100EA000E36224433420040114E664C774A4448537 +:100EB000546AA54BB528850995EEE5CFF5ACC58DEF +:100EC000D55336722611163006D776F6669556B487 +:100ED000465BB77AA719973887DFF7FEE79DD7BC3F +:100EE000C7C448E5588668A77840086118022823D7 +:100EF00038CCC9EDD98EE9AFF9488969990AA92B8F +:100F0000B9F55AD44AB77A966A711A500A333A1226 +:100F10002AFDDBDCCBBFFB9EEB799B588B3BBB1ADE +:100F2000ABA66C877CE44CC55C222C033C600C4176 +:100F30001CAEED8FFDECCDCDDD2AAD0BBD688D492E +:100F40009D977EB66ED55EF44E133E322E511E70C6 +:100F50000E9FFFBEEFDDDFFCCF1BBF3AAF599F787E +:100F60008F8891A981CAB1EBA10CD12DC14EF16F2F +:100F7000E18010A100C230E3200450254046706794 +:100F800060B9839893FBA3DAB33DC31CD37FE35EC0 +:100F9000F3B1029012F322D23235421452776256E4 +:100FA00072EAB5CBA5A89589856EF54FE52CD50DD0 +:100FB000C5E234C324A01481046674476424540534 +:100FC00044DBA7FAB79987B8975FE77EF71DC73C60 +:100FD000D7D326F2369106B0165766767615463484 +:100FE000564CD96DC90EF92FE9C899E9898AB9AB70 +:100FF000A94458654806782768C018E1088238A3D4 +:10100000287DCB5CDB3FEB1EFBF98BD89BBBAB9AFF +:10101000BB754A545A376A167AF10AD01AB32A9223 +:101020003A2EFD0FED6CDD4DCDAABD8BADE89DC90F +:101030008D267C076C645C454CA23C832CE01CC173 +:101040000C1FEF3EFF5DCF7CDF9BAFBABFD98FF89F +:101050009F176E367E554E745E932EB23ED10EF0C3 +:101060001E7C3C3E5E2B3D3F2F5B5D3B2C2A225C71 +:10107000004D3234004D3233202573006175746F9A +:1010800025692E67000A002F000A002E0044656CB7 +:101090006574696F6E206661696C65642C204669B1 +:1010A0006C653A200046696C652064656C65746502 +:1010B000643A002E002E002E002E004E6F77206620 +:1010C000726573682066696C653A20004E6F772000 +:1010D000646F696E672066696C653A200022207033 +:1010E0006F73002220706172656E743A220053554E +:1010F00042524F5554494E452043414C4C20746157 +:10110000726765743A2200747279696E6720746F31 +:101110002063616C6C207375622D67636F6465205A +:1011200066696C6573207769746820746F6F206DD1 +:10113000616E79206C6576656C732E204D41582068 +:101140006C6576656C2069733A00256920686F7557 +:101150007273202569206D696E757465730054493A +:101160004D454F55543A004D3131300046756C6C49 +:1011700020525820427566666572002220666169B9 +:101180006C65643A204275666665722066756C6CA3 +:101190002100456E717565696E6720746F207468F3 +:1011A000652066726F6E743A2022002200456E71CF +:1011B0007565696E6720746F207468652066726F4C +:1011C0006E743A20220022206661696C65643A20C0 +:1011D0004275666665722066756C6C210022004D52 +:1011E000363030004731204533204632303000471A +:1011F0003120452D332046323030005072757361F6 +:10120000206933204D4B33206F6B00507275736132 +:10121000206933204D4B332072656164792E007A4A +:101220005F6D696E3A20007A5F6D61783A20005AEE +:10123000204F666673657400795F6D696E3A2000B1 +:10124000795F6D61783A20005920767A64616C6527 +:101250006E6F7374206F64206D696E3A005920645C +:10126000697374616E63652066726F6D206D696E5F +:101270003A00416E6F0059657300785F6D696E3A90 +:101280002000785F6D61783A200044657461696C74 +:10129000792058595A206B616C2E0058595A206396 +:1012A000616C2E2064657461696C73004E796E699F +:1012B0002070726F76656475207A206B616C69624C +:1012C000726163692E00492077696C6C2072756EBB +:1012D000207A2063616C6962726174696F6E206E3E +:1012E0006F772E004E796E692070726F7665647527 +:1012F0002078797A206B616C6962726163692E2053 +:101300005A616265726520746F20707269626C69DF +:101310007A6E65203132206D696E2E004920776922 +:101320006C6C2072756E2078797A2063616C6962CA +:10133000726174696F6E206E6F772E20497420770A +:10134000696C6C2074616B6520617070726F782EAF +:10135000203132206D696E732E004E796E692070D7 +:10136000726564656872656A6920747279736B75F9 +:101370002070726F20504C412E004E6F7720492014 +:1013800077696C6C2070726568656174206E6F7A25 +:101390007A6C6520666F7220504C412E00446F625B +:1013A00072792064656E2C206A73656D2076617396 +:1013B00065207469736B61726E61204F7269676931 +:1013C0006E616C2050727573612069332E20436802 +:1013D000636574652061627963682056617320706B +:1013E000726F7665646C61206B616C6962726163B7 +:1013F0006E696D2070726F636573656D3F0048693B +:101400002C204920616D20796F7572204F726967B9 +:10141000696E616C2050727573612069332070723F +:10142000696E7465722E20576F756C6420796F75C4 +:10143000206C696B65206D6520746F206775696429 +:101440006520796F75207468726F7567682074689D +:10145000652073657475702070726F636573733F78 +:10146000005A61636E75207469736B6E6F757420BA +:101470006C696E6B752061205679206275646574A5 +:101480006520706F737475706E6520736E697A6F06 +:1014900076617420747279736B75206F7461636503 +:1014A0006E696D20746C616369746B6120646F6B2D +:1014B0007564206E65646F7361686E657465206F16 +:1014C0007074696D616C6E69207679736B792E200A +:1014D00050726F686C65646E657465207369206F07 +:1014E0006272617A6B792076206E61736920707206 +:1014F0006972756363652076206B617069746F6CC7 +:1015000065204B616C69627261636500492077698F +:101510006C6C20737461727420746F207072696EC9 +:1015200074206C696E6520616E6420796F75207718 +:10153000696C6C206772616475616C6C79206C6F8A +:1015400077657220746865206E6F7A7A6C652062A8 +:101550007920726F746174696E6720746865206B9E +:101560006E6F622C20756E74696C20796F752072B5 +:1015700065616368206F7074696D616C206865696E +:101580006768742E20436865636B207468652070FB +:101590006963747572657320696E206F7572206857 +:1015A000616E64626F6F6B20696E20636861707436 +:1015B00065722043616C6962726174696F6E2E009E +:1015C0004E796E69207A6B616C696272756A692006 +:1015D000767A64616C656E6F7374206D657A6920CC +:1015E0006B6F6E63656D20747279736B7920612007 +:1015F000706F76726368656D20686561746265649A +:10160000752E004E6F7720492077696C6C206361DE +:101610006C6962726174652064697374616E63657C +:10162000206265747765656E20746970206F66202E +:10163000746865206E6F7A7A6C6520616E642068CC +:1016400065617462656420737572666163652E00FE +:101650004E656A6472697620706F6D6F636920737E +:10166000656C667465737475207A6B6F6E746F6CDD +:10167000756A69206E656A63617374656A7369204F +:10168000636879627920767A6E696B616A696369E9 +:101690002070726920736573746176656E69207459 +:1016A00069736B61726E792E0046697273742C20B7 +:1016B000492077696C6C2072756E207468652073A0 +:1016C000656C667465737420746F20636865636B02 +:1016D000206D6F737420636F6D6D6F6E2061737317 +:1016E000656D626C792070726F626C656D732E002F +:1016F0005370757374656E692057697A617264619D +:101700002076796D617A6520756C6F7A656E6520DB +:101710007679736C65646B79207673656368206B8A +:10172000616C6962726163692061207370757374A2 +:1017300069206B616C69627261636E692070726F9F +:10174000636573206F64207A616361746B752E200A +:10175000506F6B7261636F7661743F0052756E6E8D +:10176000696E672057697A6172642077696C6C20B2 +:1017700064656C6574652063757272656E74206350 +:10178000616C6962726174696F6E20726573756CE9 +:10179000747320616E642073746172742066726F5A +:1017A0006D2074686520626567696E6E696E672E6C +:1017B00020436F6E74696E75653F0043686365749E +:1017C00065206F70616B6F76617420706F736C65EC +:1017D000646E69206B726F6B206120706F7A6D652B +:1017E0006E697420767A64616C656E6F7374206DB7 +:1017F000657A6920747279736B6F752061206865F2 +:1018000061746265643F00446F20796F7520776171 +:101810006E7420746F20726570656174206C6173E2 +:1018200074207374657020746F20726561646A75CA +:1018300073742064697374616E6365206265747784 +:1018400065656E206E6F7A7A6C6520616E642068C3 +:101850006561746265643F0057697A6172646120F2 +:101860006D757A657465206B64796B6F6C69762031 +:101870007A6E6F76752073707573746974207A2030 +:101880006D656E752043616C6962726174696F6E1B +:10189000202D3E2057697A61726400596F7520636C +:1018A000616E20616C7761797320726573756D6507 +:1018B000207468652057697A6172642066726F6D62 +:1018C0002043616C6962726174696F6E202D3E20E5 +:1018D00057697A6172642E004A6520746F20504CFB +:1018E000412066696C616D656E743F0049732069C3 +:1018F0007420504C412066696C616D656E743F00C8 +:1019000050726F73696D20766C6F7A746520504CDD +:10191000412066696C616D656E7420646F20657826 +:10192000747275646572752C20706F2074652073F5 +:101930007469736B6E65746520746C616369746B34 +:101940006F2070726F207A61766564656E692066BB +:10195000696C616D656E74752E00506C65617365A0 +:1019600020696E7365727420504C412066696C6109 +:101970006D656E7420746F2074686520657874726C +:10198000756465722C207468656E2070726573735F +:10199000206B6E6F6220746F206C6F6164206974BD +:1019A0002E0050726F73696D207A6176656474657C +:1019B00020504C412066696C616D656E7420612019 +:1019C000706F207465206F626E6F76746520576942 +:1019D0007A6172646120737469736B6E7574696D7A +:1019E00020726573657420746C616369746B612E19 +:1019F00000506C65617365206C6F616420504C41D0 +:101A00002066696C616D656E7420616E6420746817 +:101A1000656E20726573756D652057697A617264B1 +:101A2000206279207265626F6F74696E67207468D6 +:101A300065207072696E7465722E005072656465FF +:101A400068726976616D20747279736B752E20509F +:101A5000726F73696D2063656B656A74652E0050E3 +:101A6000726568656174696E67206E6F7A7A6C65FD +:101A70002E20506C6561736520776169742E004A71 +:101A8000652066696C616D656E74207A6176656447 +:101A9000656E3F0049732066696C616D656E7420E8 +:101AA0006C6F616465643F00567365206A652068E9 +:101AB0006F746F766F2E00416C6C20697320646FB9 +:101AC0006E652E204861707079207072696E74693D +:101AD0006E67210050726F73696D206F6369737454 +:101AE0006574652068656174626564206120737443 +:101AF00069736B6E65746520746C616369746B6F78 +:101B00002E00506C6561736520636C65616E2068A2 +:101B100065617462656420616E64207468656E201E +:101B2000707265737320746865206B6E6F622E002F +:101B300050726F73696D206E61686C65646E657458 +:101B40006520646F206D616E75616C752061206F1A +:101B50007072617674652070726F626C656D2E2094 +:101B6000506F207465206F626E6F767465205769C0 +:101B70007A61726461207265626F6F746F76616EF4 +:101B8000696D207469736B61726E792E00506C659B +:101B900061736520636865636B206F75722068618F +:101BA0006E64626F6F6B20616E642066697820746A +:101BB00068652070726F626C656D2E205468656E6A +:101BC00020726573756D65207468652057697A6148 +:101BD0007264206279207265626F6F74696E67202B +:101BE000746865207072696E7465722E0057697A28 +:101BF00061726400205761746368646F6720526586 +:101C000073657400496E666F726D61636500496E3D +:101C1000666F2073637265656E0043656B616E6904 +:101C2000206E61207A63686C61646E7574692074DB +:101C30007279736B79206120706F646C6F7A6B7945 +:101C40002E0057616974696E6720666F72206E6F2F +:101C50007A7A6C6520616E642062656420636F6FC0 +:101C60006C696E67004B616C2E207072766E692015 +:101C7000767273747679004669727374206C617938 +:101C800065722063616C2E005761697420666F7203 +:101C900020757365722E2E2E00506F757A697465EB +:101CA00020626568656D207469736B750055736596 +:101CB0006420647572696E67207072696E74004288 +:101CC000796C6F20767973756E7574692066696CAE +:101CD000616D656E74752075737065736E653F0018 +:101CE0005761732066696C616D656E7420756E6CEA +:101CF0006F6164207375636365737366756C3F0011 +:101D000056796A6D6F75742066696C616D656E7465 +:101D100000556E6C6F61642066696C616D656E74F0 +:101D2000005679736F7576616D2066696C616D65BB +:101D30006E7400556E6C6F6164696E672066696CC5 +:101D4000616D656E7400556E6B6E6F776E20636F9C +:101D50006D6D616E643A2022004C616469740054B8 +:101D6000756E650053442063617264205B466C733A +:101D7000684169725D005344206361726420205B96 +:101D80006E6F726D616C5D00537461626C65206191 +:101D90006D6269656E742074656D706572617475CD +:101DA00072652032312D323643206973206E6565AD +:101DB0006465642061207269676964207374616E70 +:101DC000642069732072657175697265642E0054B0 +:101DD00065706C2E206B616C2E20205B7A61705DCB +:101DE0000054656D702E2063616C2E2020205B6F87 +:101DF0006E5D005465706C2E206B616C2E20205B34 +:101E00007679705D0054656D702E2063616C2E20B4 +:101E1000205B6F66665D005465706C6F746E692040 +:101E20006B616C69627261636520646F6B6F6E6376 +:101E3000656E612E20506F6B726163756A746520E8 +:101E4000737469736B656D20746C616369746B6125 +:101E50002E0054656D7065726174757265206361E2 +:101E60006C6962726174696F6E2069732066696E55 +:101E700069736865642E20436C69636B20746F20FE +:101E8000636F6E74696E75652E005465706C2E20DC +:101E90006B616C2E20202020202020202020005448 +:101EA000656D702E2063616C2E2020202020202064 +:101EB000202020005465706C6F74610054656D7053 +:101EC0006572617475726500506F64706F72610045 +:101ED000537570706F7274005A61737461766974AF +:101EE000207469736B0053746F70207072696E7424 +:101EF0000053544F505045442E2000537465707267 +:101F000061746520746F6F20686967683A20004AC1 +:101F100065207469736B6F767920706C6174206EC4 +:101F20006120686561746265643F00497320737461 +:101F300065656C207368656574206F6E20686561E7 +:101F4000746265643F0043656C6B6F7679206361F2 +:101F500073203A00546F74616C207072696E742043 +:101F600074696D65203A0046696C616D656E742018 +:101F700063656C6B656D203A00546F74616C20660C +:101F8000696C616D656E74203A00436173207469F9 +:101F9000736B75203A2020005072696E742074694A +:101FA0006D653A20200046696C616D656E74203A5B +:101FB00020200046696C616D656E742075736564E0 +:101FC0003A20200053746174697374696B61202036 +:101FD00000537461746973746963732020004368EB +:101FE000796261202D20446F736C6F206B207072BA +:101FF0006570697375207374617469636B652070B3 +:10200000616D65746921004572726F72202D2073B5 +:102010007461746963206D656D6F72792068617396 +:10202000206265656E206F7665727772697474657B +:102030006E00527963686C6F7374005370656564E9 +:102040000054726964656E6920202020205B436122 +:10205000735D00536F72743A2020202020205B545F +:10206000696D655D0054726964656E692020205B4E +:102070005A61646E655D00536F72743A20202020AF +:1020800020205B4E6F6E655D0054726964656E69F9 +:10209000205B416265636564615D00536F72743AF1 +:1020A00020205B416C7068616265745D00547269E8 +:1020B00064656E6920736F75626F727500536F721D +:1020C00074696E672066696C65730020536F66746F +:1020D00077617265205265736574004C65686B6545 +:1020E000207A6B6F73656E693A00536C6967687428 +:1020F00020736B65773A004D6F6420202020205BB1 +:10210000537465616C74685D004D6F6465202020B8 +:10211000205B537465616C74685D004D6F642020B2 +:10212000202020205B4E6F726D616C5D004D6F64EE +:102130006520202020205B4E6F726D616C5D005326 +:10214000746176206B6F6E632E207370696E2E0043 +:1021500053686F7720656E642073746F70730054DA +:10216000657A6B65207A6B6F73656E693A005365AB +:102170007665726520736B65773A004E61737461A2 +:10218000767465207465706C6F74753A005365746D +:102190002074656D70657261747572653A004E6188 +:1021A00073746176656E690053657474696E6773E4 +:1021B000004368796261207A61706F6A656E6900B8 +:1021C000576972696E67206572726F720050726F24 +:1021D000686F7A656E65005377617070656400534F +:1021E000656C66207465737420737461727420204A +:1021F000005469736B6F76792076656E742E3A00A1 +:102200005072696E742066616E3A005A6B6F6E741C +:10221000726F6C756A7465203A00506C6561736505 +:1022200020636865636B203A0053656C66207465B3 +:102230007374204F4B004E657A61706F6A656E6FE4 +:1022400020202020004E6F7420636F6E6E656374D3 +:102250006564004D6F746F72004865617465722F1C +:10226000546865726D6973746F720053656E7A6F2E +:10227000722066696C616D656E74753A0046696CB2 +:10228000616D656E742073656E736F723A00546F82 +:102290006369207365005370696E6E696E67004EE6 +:1022A00065746F6369207365004E6F742073706985 +:1022B0006E6E696E6700507265646E692F6C65762C +:1022C000792076656E742E0046726F6E742F6C6581 +:1022D00066742066616E7300546573742076656E53 +:1022E00074696C61746F72750046616E20746573F9 +:1022F000740053656C66746573742073656C6861F3 +:102300006C20200053656C66746573742066616987 +:102310006C65642020004C6576792076656E742E9D +:102320003A0045787472756465722066616E3A0091 +:102330004C6576792076656E74206E6120747279B2 +:102340007363653F004C65667420686F74656E64E6 +:102350002066616E3F0053656C667465737420651A +:1023600072726F72202100456E6473746F70206EFC +:102370006F742068697400456E6473746F707300C5 +:10238000456E6473746F7000507265646E6920747A +:1023900069736B6F76792076656E743F0046726F55 +:1023A0006E74207072696E742066616E3F004B6FB0 +:1023B0006E74726F6C61205A2061786973202000FE +:1023C000436865636B696E67205A20617869732082 +:1023D00020004B6F6E74726F6C61205920617869B8 +:1023E00073202000436865636B696E672059206124 +:1023F0007869732020004B6F6E74726F6C61205887 +:102400002061786973202000436865636B696E679B +:10241000205820617869732020004B6F6E74726FB2 +:102420006C6120686F74656E64202000436865638A +:102430006B696E6720686F74656E642020004B6F57 +:102440006E74726F6C612073656E7A6F7275004383 +:102450006865636B696E672073656E736F72732056 +:10246000004B6F6E74726F6C6120656E6473746F75 +:10247000707300436865636B696E6720656E647393 +:10248000746F7073004B6F6E74726F6C6120626555 +:1024900064202020202000436865636B696E6720FC +:1024A000626564202020202000567365204F4B2059 +:1024B0002020202020202020202000416C6C206340 +:1024C0006F727265637420202020202000426564B2 +:1024D000202F204865617465720044656C6B612033 +:1024E0006F73790041786973206C656E677468005A +:1024F0004F736100417869730053656C667465734E +:10250000742020202020202020200052506920709C +:102510006F7274202020205B7A61705D00525069D8 +:1025200020706F727420202020205B6F6E5D00523F +:10253000506920706F7274202020205B7679705D66 +:102540000052506920706F7274202020205B6F66EB +:10255000665D0057726974696E6720746F206669E2 +:102560006C653A2000766F6C756D652E696E6974C6 +:10257000206661696C6564002053697A653A2000C1 +:102580004B617274612076796A6D75746100436184 +:1025900072642072656D6F766564005344207072BA +:1025A000696E74696E67206279746520006F70656A +:1025B0006E206661696C65642C2046696C653A2002 +:1025C000006F70656E526F6F74206661696C656430 +:1025D000004B6172746120766C6F7A656E610043A6 +:1025E00061726420696E736572746564005344207F +:1025F000696E6974206661696C0046696C65207358 +:10260000656C65637465640046696C65206F706510 +:102610006E65643A20006572726F72207772697419 +:10262000696E6720746F2066696C6500534420638F +:10263000617264206F6B0043616E6E6F7420656E13 +:10264000746572207375626469723A200050726119 +:1026500076793A0052696768743A004F626E6F7615 +:102660006F76616E69207469736B7500526573755E +:102670006D696E67207072696E74004F626E6F765E +:10268000656E69207469736B7500526573756D6949 +:102690006E67207072696E7400506F6B7261636F49 +:1026A00076617400526573756D65207072696E7421 +:1026B00000526573656E643A20004F6473747261F2 +:1026C0006E7465207469736B6F767920706C6174B9 +:1026D000207A20686561746265642070726F736926 +:1026E0006D2E00506C656173652072656D6F766547 +:1026F00020737465656C2073686565742066726FFD +:102700006D20686561746265642E00446574656B54 +:102710006F76616E207679706164656B2070726F80 +:102720007564752E4F626E6F766974207469736B71 +:102730003F00426C61636B6F7574206F63637572E9 +:102740007265642E205265636F76657220707269BF +:102750006E743F004F626E6F766F76616E692074A3 +:1027600069736B7520202020005265636F76657257 +:10277000696E67207072696E74202020200050728C +:102780006F73696D2076796A6D65746520757279ED +:1027900063686C656E652066696C616D656E74005A +:1027A000506C656173652070756C6C206F7574205A +:1027B00066696C616D656E7420696D6D65646961D3 +:1027C00074656C7900686F77746F2E7072757361C1 +:1027D00033642E637A00686F77746F2E707275732E +:1027E0006133642E636F6D00666F72756D2E70724B +:1027F00075736133642E637A00666F72756D2E7027 +:102800007275736133642E636F6D007072757361DE +:1028100033642E637A00707275736133642E636F54 +:102820006D005469736B20706F7A617374617665A3 +:102830006E005072696E7420706175736564005427 +:1028400069736B20707265727573656E0050726982 +:102850006E742061626F72746564005072696E7488 +:10286000657220646973636F6E6E6563746564007E +:1028700050726F20767973756E7574692066696C15 +:10288000616D656E747520737469736B6E657465C4 +:102890002070726F73696D20746C616369746B6F03 +:1028A00000506C6561736520707265737320746885 +:1028B00065206B6E6F6220746F20756E6C6F616443 +:1028C0002066696C616D656E740050726F206E6178 +:1028D000687261746920747279736B7920612070F9 +:1028E0006F6B7261636F76616E6920737469736B6D +:1028F0006E65746520746C616369746B6F2E005033 +:1029000072657373206B6E6F6220746F20707265D6 +:1029100068656174206E6F7A7A6C6520616E6420E0 +:10292000636F6E74696E75652E00612073746973D0 +:102930006B6E65746520746C616369746B6F0061A4 +:102940006E6420707265737320746865206B6E6F9F +:10295000620050726564656872656A74652074729D +:1029600079736B75210050726568656174207468B5 +:1029700065206E6F7A7A6C652100507265646568B7 +:10298000726576005072656865617400506F776596 +:102990007255700050726F73696D2063656B656A64 +:1029A000746500506C656173652077616974004ED1 +:1029B000656A6472697665207A61766564746520FB +:1029C000504C412066696C616D656E742070726F49 +:1029D00073696D2E00506C65617365206C6F616466 +:1029E00020504C412066696C616D656E742066698B +:1029F0007273742E004A6520504C412066696C61E8 +:102A00006D656E74207A61766564656E3F0049730A +:102A100020504C412066696C616D656E74206C6F4E +:102A2000616465643F002020506C616E6E65724287 +:102A3000756666657242797465733A2000556D69F2 +:102A400073746574652070726F73696D2074697337 +:102A50006B6F767920706C6174206E61206865619F +:102A60007462656400506C6561736520706C6163AD +:102A70006520737465656C207368656574206F6E7E +:102A800020686561746265642E004E6168726976C3 +:102A9000616E692050494E44410050494E444120E6 +:102AA00048656174696E6700504944206B616C2E03 +:102AB00020202020202020202020200050494420B9 +:102AC00063616C2E20202020202020202020200048 +:102AD000504944206B616C2E20756B6F6E63656E80 +:102AE00061005049442063616C2E2066696E6973F1 +:102AF00068656400504944206B616C69627261636F +:102B000065005049442063616C6962726174696F49 +:102B10006E00506F7A6173746176697420746973A2 +:102B20006B005061757365207072696E7400556D2D +:102B3000697374657465206C697374207061706961 +:102B40007275206E6120706F646C6F7A6B75206196 +:102B5000207564727A756A7465206A656A20706F80 +:102B60006420747279736B6F7520626568656D207F +:102B70006D6572656E69207072766E696368203467 +:102B800020626F64752E20506F6B756420747279AB +:102B9000736B61207A616368797469207061706910 +:102BA000722C207679706E657465207469736B6120 +:102BB000726E752E00506C616365206120736865CC +:102BC0006574206F6620706170657220756E646533 +:102BD0007220746865206E6F7A7A6C6520647572F5 +:102BE000696E67207468652063616C6962726174E4 +:102BF000696F6E206F66206669727374203420706E +:102C00006F696E74732E20496620746865206E6F3C +:102C10007A7A6C6520636174636865732074686593 +:102C20002070617065722C20706F776572206F66FE +:102C30006620746865207072696E74657220696DB3 +:102C40006D6564696174656C792E006F6B004F6609 +:102C500066004E6F206D6F76652E005A61646E615E +:102C6000205344206B61727461004E6F20534420E6 +:102C70006361726400547279736B61004E6F7A7A8B +:102C80006C650046696C616D656E74206E657A6175 +:102C9000766564656E0046696C616D656E74206E64 +:102CA0006F74206C6F6164656400426172766120AC +:102CB0006E656E6920636973746100436F6C6F7237 +:102CC000206E6F7420636F7272656374004E6500CE +:102CD0004E6F0050726F73696D20616B7475616C1B +:102CE000697A756A74652E00506C6561736520752C +:102CF0007067726164652E005679736C61206E6F27 +:102D00007661207665727A65206669726D77617288 +:102D1000653A004E6577206669726D77617265204D +:102D200076657273696F6E20617661696C61626C41 +:102D3000653A00506F73756E6F7574205A004D6F51 +:102D40007665205A00506F73756E6F757420590048 +:102D50004D6F7665205900506F73756E6F757420D6 +:102D600058004D6F7665205800457874727564651B +:102D70007200506F73756E6F7574206F7375004DB0 +:102D80006F76652061786973004D657368204265D0 +:102D900064204C6576656C696E67004E6170657481 +:102DA0006900566F6C7461676573005465706C6F71 +:102DB00074790054656D7065726174757265730025 +:102DC0004B616C6962726163650043616C69627238 +:102DD0006174696F6E00537461762072656D656E03 +:102DE000750042656C742073746174757300207A89 +:102DF000203900206F662039004D6572696D2072A0 +:102E000065666572656E636E69207679736B752091 +:102E10006B616C69627261636E69686F20626F6476 +:102E200075004D6561737572696E672072656665C0 +:102E300072656E636520686569676874206F6620D7 +:102E400063616C6962726174696F6E20706F696E24 +:102E500074004D6572656E65207A6B6F73656E697F +:102E60003A004D6561737572656420736B65773ADE +:102E700000486C61766E69206E616269646B610006 +:102E80004D61696E004D32323120496E76616C6958 +:102E90006420657874727564657220004D32313833 +:102EA00020496E76616C696420657874727564651A +:102EB0007220004D32303020496E76616C6964209A +:102EC000657874727564657220005265706F7274F3 +:102ED000696E6720656E6473746F702073746174BB +:102EE0007573004D313137204B616C2E2070727636 +:102EF0006E6920767273747679004D3131372046D1 +:102F000069727374206C617965722063616C2E0044 +:102F10004649524D574152455F4E414D453A4D61EC +:102F2000726C696E2056312E302E323B20537072F7 +:102F3000696E7465722F6772626C206D617368755B +:102F40007020666F722067656E36204649524D5775 +:102F50004152455F55524C3A68747470733A2F2F42 +:102F60006769746875622E636F6D2F707275736117 +:102F700033642F50727573612D69332D506C7573E6 +:102F80002F2050524F544F434F4C5F564552534998 +:102F90004F4E3A312E30204D414348494E455F5403 +:102FA0005950453A5072757361206933204D4B3347 +:102FB0002045585452554445525F434F554E543A5C +:102FC0003120555549443A30303030303030302D92 +:102FD000303030302D303030302D303030302D30FA +:102FE00030303030303030303030300A004D313019 +:102FF0003920496E76616C696420657874727564F5 +:10300000657220004D31303520496E76616C6964FF +:1030100020657874727564657220004D31303420FB +:10302000496E76616C696420657874727564657246 +:10303000200055766F6C6E656E612072656D656EF1 +:1030400069636B61004C6F6F73652070756C6C65A4 +:1030500079005A61766573742066696C616D656E7E +:1030600074004C6F61642066696C616D656E7400FC +:103070005A61766164656E692066696C616D656E22 +:103080007475004C6F6164696E672066696C616D70 +:10309000656E740043697374656E6920626172764F +:1030A00079004C6F6164696E6720636F6C6F7200AA +:1030B0004C6576793A004C6566743A0056796265DB +:1030C00072206A617A796B610053656C6563742064 +:1030D0006C616E67756167650043657374696E61E5 +:1030E00000456E676C697368004B494C4C45442E33 +:1030F0002000496E76616C6964206578747275642D +:10310000657200566C6F7A74652066696C616D65D6 +:103110006E7400496E736572742066696C616D65CA +:103120006E74005469736B2E2076656E743A00508D +:1031300072696E742046414E3A2000547279736B66 +:103140002E2076656E743A004E6F7A7A6C65204652 +:10315000414E3A00457874727564657220696E66F6 +:103160006F00207A203400206F662034005A6C658E +:103170007073756A6920707265736E6F7374206BFB +:10318000616C69627261636E69686F20626F6475F9 +:1031900000496D70726F76696E67206265642063A6 +:1031A000616C6962726174696F6E20706F696E74B0 +:1031B000004B616C696272756A69205A0043616CE8 +:1031C0006962726174696E67205A004B616C696252 +:1031D00072616365204F4B0043616C696272617478 +:1031E000696F6E20646F6E65004B616C6962726F0F +:1031F000766174205A0043616C6962726174652063 +:103200005A005A6168726976616E69204F4B2E00D0 +:1032100048656174696E6720646F6E652E005A613F +:1032200068726976616E690048656174696E6700ED +:103230005641524F56414E493A204E657A6E616D65 +:10324000612C206E65706F64706F726F76616E6155 +:10325000207665727A65206669726D776172652E77 +:1032600020506F757A697469206E6120766C617385 +:10327000746E69206E6562657A70656369210057B6 +:1032800041524E494E473A20546869732069732071 +:10329000616E20756E6F6666696369616C2C20755E +:1032A0006E737570706F72746564206275696C649A +:1032B0002E2055736520617420796F7572206F77A9 +:1032C0006E207269736B210043485942413A20468F +:1032D000696C616D656E742073656E7A6F72206EB5 +:1032E0006572656167756A652C207A6B6F6E7472A2 +:1032F0006F6C756A7465207A61706F6A656E692E8D +:10330000004552524F523A2046696C616D656E74A9 +:103310002073656E736F72206973206E6F742072F4 +:103320006573706F6E64696E672C20706C65617375 +:103330006520636865636B20636F6E6E6563746997 +:103340006F6E2E00462E206175746F7A61762E2086 +:103350005B7A61705D00462E206175746F6C6F61E1 +:103360006420205B6F6E5D00462E206175746F7A5D +:1033700061762E205B7679705D00462E2061757433 +:103380006F6C6F6164205B6F66665D00462E206126 +:1033900075746F7A61762E205B4E2F415D00462E4C +:1033A000206175746F6C6F6164205B4E2F415D000E +:1033B00046696C2E2073656E7A6F72205B7A61703D +:1033C0005D0046696C2E2073656E736F7220205B02 +:1033D0006F6E5D0046696C2E2073656E7A6F722089 +:1033E0005B7679705D0046696C2E2073656E736F35 +:1033F00072205B6F66665D0046696C2E2073656E99 +:103400007A6F72205B4E2F415D0046696C2E2073EF +:10341000656E736F72205B4E2F415D0020467265B2 +:1034200065204D656D6F72793A20005469736B6148 +:10343000726E61206E6562796C61206A6573746575 +:10344000207A6B616C6962726F76616E612E2050BA +:103450006F73747570756A74652070726F73696DBF +:1034600020706F646C65206D616E75616C752C20C9 +:103470006B617069746F6C61205A6163696E616D14 +:10348000652C206F6473746176656320506F73746C +:103490007570206B616C6962726163652E00507299 +:1034A000696E74657220686173206E6F7420626546 +:1034B000656E2063616C6962726174656420796510 +:1034C000742E20506C6561736520666F6C6C6F772D +:1034D00020746865206D616E75616C2C2063686175 +:1034E00070746572204669727374207374657073AA +:1034F0002C2073656374696F6E2043616C6962721E +:103500006174696F6E20666C6F772E0050727574EF +:103510006F6B00466C6F7700446F6B6F6E636F76F6 +:10352000616E6920706F687962750046696E6973B3 +:1035300068696E67206D6F76656D656E74730020C7 +:103540007A203400206F66203400486C6564616D19 +:10355000206B616C69627261636E6920626F6420C6 +:10356000706F646C6F7A6B79005365617263686920 +:103570006E67206265642063616C69627261746960 +:103580006F6E20706F696E74004974657261636557 +:103590002000497465726174696F6E2000446F6E1B +:1035A0006520736176696E672066696C652E0044DC +:1035B0006F6E65207072696E74696E672066696CE3 +:1035C0006500536F75626F72206E656B6F6D706C06 +:1035D00065746E692E20506F6B7261636F766174D3 +:1035E0003F0046696C6520696E636F6D706C657431 +:1035F000652E20436F6E74696E756520616E7977F4 +:1036000061793F004E656B7465726520736F7562FA +:103610006F7279206E656275646F75207365747260 +:103620006964656E792E204D6178696D616C6E6993 +:1036300020706F63657420736F75626F7275207090 +:10364000726F20736574726964656E69206A6520A3 +:103650003130302E00536F6D652066696C657320C4 +:1036600077696C6C206E6F7420626520736F727462 +:1036700065642E204D61782E204E6F2E206F6620BF +:1036800066696C657320696E203120666F6C6465B5 +:103690007220666F7220736F7274696E672069732F +:1036A000203130302E0053656E7A6F722066696C5F +:1036B000616D656E74750046696C616D656E742030 +:1036C00073656E736F720046696C616D656E742010 +:1036D0007679746C6163656E2061207370726176B7 +:1036E0006E652062617276793F0046696C616D6536 +:1036F0006E7420657874727564696E672026207711 +:1037000069746820636F727265637420636F6C6F95 +:10371000723F0056796D656E69742066696C616DE3 +:10372000656E74004368616E67652066696C616DE3 +:10373000656E7400527963686C6F73742076656E81 +:10374000742E0046616E207370656564004B6F6E69 +:1037500074722E2076656E742E5B7A61705D004601 +:10376000616E7320636865636B2020205B6F6E5D04 +:10377000004B6F6E74722E2076656E742E5B7679B8 +:10378000705D0046616E7320636865636B20205B2B +:103790006F66665D00656E717565696E67202200F3 +:1037A0004578747275646572002045787465726E30 +:1037B000616C205265736574005072696E74657235 +:1037C0002073746F707065642064756520746F2059 +:1037D0006572726F72732E20466978207468652056 +:1037E0006572726F7220616E6420757365204D3949 +:1037F000393920746F20726573746172742E2028B9 +:1038000054656D706572617475726520697320729C +:10381000657365742E205365742069742061667425 +:1038200065722072657374617274696E6729004EE7 +:103830006F204C696E65204E756D626572207769E8 +:10384000746820636865636B73756D2C204C6173BD +:1038500074204C696E653A20004E6F2043686563A2 +:103860006B73756D2077697468206C696E65206E66 +:10387000756D6265722C204C617374204C696E65A5 +:103880003A200020746F6F206C6F6E67206578742B +:10389000727573696F6E2070726576656E7465649B +:1038A000004C696E65204E756D62657220697320EB +:1038B0006E6F74204C617374204C696E65204E7578 +:1038C0006D6265722B312C204C617374204C696ED3 +:1038D000653A20005072696E7465722068616C747C +:1038E00065642E206B696C6C28292063616C6C65A3 +:1038F00064210020636F6C6420657874727573694D +:103900006F6E2070726576656E74656400636865BD +:10391000636B73756D206D69736D617463682C20C2 +:103920004C617374204C696E653A200043485942DB +:10393000413A004552524F523A00456E6420666942 +:103940006C65206C697374006F70656E0054524929 +:1039500047474552454400656E6473746F70732029 +:103960006869743A2000536C6565702E2E2E0056DF +:1039700079706E6F7574206D6F746F727900446921 +:103980007361626C65207374657070657273004E4C +:10399000616872616E6F20767963686F7A69206EF4 +:1039A0006173746176656E690044656661756C74F7 +:1039B0002073657474696E6773206C6F61646564ED +:1039C00000446174756D3A00446174653A00506F4B +:1039D000757A6520616B7475616C6E6900437572F0 +:1039E00072656E74001B5B324A504F5A4F523A1B3D +:1039F0005B313B3048437261736820646574656B6A +:103A000063651B5B323B30486465616B7469766F3C +:103A100076616E612076651B5B333B30485374657D +:103A2000616C7468206D6F6475001B5B324A57418E +:103A3000524E494E473A1B5B313B304843726173EB +:103A40006820646574656374696F6E1B5B323B301C +:103A50004864697361626C656420696E1B5B333B0B +:103A60003048537465616C7468206D6F6465001B29 +:103A70005B324A437261736820646574656B636589 +:103A8000206D757A651B5B313B3048627974207A12 +:103A900061706E75746120706F757A6520761B5B3E +:103AA000323B30484E6F726D616C206D6F647500F3 +:103AB0001B5B324A4372617368206465746563748A +:103AC000696F6E2063616E1B5B313B30486265201D +:103AD0007475726E6564206F6E206F6E6C792069EC +:103AE0006E1B5B323B30484E6F726D616C206D6FA8 +:103AF000646500446574656B6F76616E206E6172FB +:103B0000617A2E0043726173682064657465637422 +:103B100065642E004372617368206465742E2020F2 +:103B20005B7A61705D004372617368206465742E16 +:103B30002020205B6F6E5D004372617368206465B6 +:103B4000742E20205B7679705D004372617368206B +:103B50006465742E20205B6F66665D00437261733E +:103B600068206465742E20205B4E2F415D00204349 +:103B70006F756E7420583A200056796D656E61201D +:103B80006F6B3F004368616E67656420636F72729C +:103B90006563746C793F005A63686C616469740092 +:103BA000436F6F6C646F776E0050726F2075737027 +:103BB00065736E6F75206B616C69627261636920F9 +:103BC0006F636973746574652070726F73696D20BB +:103BD0007469736B6F766F7520747279736B752E61 +:103BE00020506F74767264746520746C61636974BC +:103BF0006B656D2E00506C6561736520636C65614B +:103C00006E20746865206E6F7A7A6C6520666F72BC +:103C10002063616C6962726174696F6E2E20436CFF +:103C200069636B207768656E20646F6E652E002077 +:103C30004C61737420557064617465643A20005659 +:103C40007962657274652065787472756465723A1C +:103C50000043686F6F736520657874727564657270 +:103C60003A0050726F73696D206F74657672657477 +:103C7000652069646C65722061206D616E75616C90 +:103C80006E65206F64737472616E74652066696C12 +:103C9000616D656E742E00506C65617365206F7088 +:103CA000656E2069646C657220616E642072656D5A +:103CB0006F76652066696C616D656E74206D616EEE +:103CC00075616C6C792E005A6D656E61207573702C +:103CD00065736E6121004368616E6765207375636B +:103CE0006365737321005469736B207A2053440019 +:103CF0005072696E742066726F6D20534400546573 +:103D0000706C6F742E206B616C6962726163650008 +:103D100054656D702E2063616C6962726174696FA5 +:103D20006E004B616C696272756A69205A0043616A +:103D30006C6962726174696E67205A005A6B616CBB +:103D40006962726F7661740043616C69627261745A +:103D5000650052657365742058595A206B616C690F +:103D600062722E0052657365742058595A2063613F +:103D70006C6962722E004B616C69627261636520CE +:103D800058595A0043616C696272617465205859D0 +:103D90005A002042726F776E206F757420526573DF +:103DA000657400426567696E2066696C65206C69A0 +:103DB0007374004B616C6962726163652058595A73 +:103DC000206E65707265736E612E204C6576792069 +:103DD000707265646E6920626F64206D6F63207617 +:103DE00070726564752E0058595A2063616C69625F +:103DF000726174696F6E20636F6D70726F6D69733D +:103E000065642E204C6566742066726F6E74206344 +:103E1000616C6962726174696F6E20706F696E7433 +:103E2000206E6F7420726561636861626C652E003C +:103E30004B616C6962726163652058595A206E65E6 +:103E4000707265736E612E20507265646E69206BAE +:103E5000616C69627261636E6920626F6479206D62 +:103E60006F63207670726564752E0058595A20630E +:103E7000616C6962726174696F6E20636F6D7072DC +:103E80006F6D697365642E2046726F6E7420636176 +:103E90006C6962726174696F6E20706F696E7473A1 +:103EA000206E6F7420726561636861626C652E00BC +:103EB0004B616C6962726163652058595A207620A3 +:103EC000706F7261646B752E20582F59206F737953 +:103ED000206D69726E65207A6B6F73656E652E203A +:103EE000446F627261207072616365210058595A93 +:103EF0002063616C6962726174696F6E20616C6CC1 +:103F00002072696768742E20582F59206178657374 +:103F10002061726520736C696768746C7920736BBB +:103F2000657765642E20476F6F64206A6F62210099 +:103F30004B616C6962726163652058595A20762022 +:103F4000706F7261646B752E205A6B6F73656E694A +:103F50002062756465206175746F6D617469636B4F +:103F600079207679726F766E616E6F20707269203B +:103F70007469736B752E0058595A2063616C6962BD +:103F8000726174696F6E20616C6C2072696768740D +:103F90002E20536B65772077696C6C2062652063F7 +:103FA0006F72726563746564206175746F6D61749E +:103FB0006963616C6C792E004B616C69627261633C +:103FC000652058595A2073656C68616C612E204BCE +:103FD000616C69627261636E6920626F6420706FE8 +:103FE000646C6F7A6B79206E656E616C657A656E54 +:103FF0002E0058595A2063616C6962726174696F4E +:104000006E206661696C65642E2042656420636180 +:104010006C6962726174696F6E20706F696E742072 +:10402000776173206E6F7420666F756E642E004B1F +:10403000616C6962726163652058595A20762070FC +:104040006F7261646B752E20582F59206F73792021 +:104050006A736F75206B6F6C6D652E20477261748B +:10406000756C756A69210058595A2063616C6962E0 +:10407000726174696F6E206F6B2E20582F5920610A +:10408000786573206172652070657270656E646911 +:1040900063756C61722E20436F6E67726174756C0C +:1040A0006174696F6E7321004B616C696272616348 +:1040B000652058595A2073656C68616C612E204EDA +:1040C00061686C65646E65746520646F206D616EF7 +:1040D00075616C752E0058595A2063616C69627263 +:1040E0006174696F6E206661696C65642E20506C26 +:1040F0006561736520636F6E73756C742074686599 +:10410000206D616E75616C2E004B616C696272612D +:1041100063652058595A2073656C68616C612E2064 +:104120004C65767920707265646E6920626F6420D8 +:104130006D6F63207670726564752E2053726F7692 +:104140006E656A7465207469736B61726E752E009A +:1041500058595A2063616C6962726174696F6E208C +:104160006661696C65642E204C6566742066726FAA +:104170006E742063616C6962726174696F6E207025 +:104180006F696E74206E6F7420726561636861621E +:104190006C652E004B616C696272616365205859D1 +:1041A0005A2073656C68616C612E20507265646E74 +:1041B00069206B616C69627261636E6920626F6411 +:1041C00079206D6F63207670726564752E2053724E +:1041D0006F766E656A7465207469736B61726E7553 +:1041E0002E0058595A2063616C6962726174696F5C +:1041F0006E206661696C65642E2046726F6E742055 +:1042000063616C6962726174696F6E20706F696E50 +:104210007473206E6F7420726561636861626C658F +:104220002E004B616C696272616365205A20736570 +:104230006C68616C612E2053656E736F72206A65C5 +:10424000206F64706F6A656E79206E65626F207092 +:104250007265727573656E79206B6162656C2E2074 +:1042600043656B616D206E612072657365742E000D +:10427000426564206C6576656C696E67206661696D +:104280006C65642E2053656E736F7220646973636E +:104290006F6E6E6563746564206F72206361626C1B +:1042A000652062726F6B656E2E2057616974696E4E +:1042B0006720666F722072657365742E004B616CA7 +:1042C000696272616365205A2073656C68616C6114 +:1042D0002E2053656E736F72206E657365706E75F8 +:1042E0006C2E205A6E6563697374656E61207472FA +:1042F00079736B613F2043656B616D206E61207245 +:10430000657365742E00426564206C6576656C6922 +:104310006E67206661696C65642E2053656E736FED +:1043200072206469646E7420747269676765722EA6 +:1043300020446562726973206F6E206E6F7A7A6CAA +:10434000653F2057616974696E6720666F722072DD +:10435000657365742E004B616C69627261636520E0 +:104360005A2073656C68616C612E2053656E736FA3 +:1043700072207365706E756C207072696C69732041 +:104380007679736F6B6F2E2043656B616D206E6164 +:104390002072657365742E00426564206C657665D5 +:1043A0006C696E67206661696C65642E2053656E6A +:1043B000736F722074726967676572656420746FC9 +:1043C0006F20686967682E2057616974696E67207D +:1043D000666F722072657365742E005A6168726927 +:1043E00076616E692062656400426564204865619B +:1043F00074696E6700426564204F4B2E004265640D +:1044000020646F6E650056707261766F205B756D0B +:104410005D00526967687420736964655B756D5DE2 +:1044200000526573657400567A61647520205B756F +:104430006D5D00526561722073696465205B756D06 +:104440005D004B6F72656B636520706F646C6F7A93 +:104450006B7900426564206C6576656C20636F72D1 +:104460007265637400566C65766F20205B756D5DB8 +:10447000004C6566742073696465205B756D5D0032 +:10448000567072656475205B756D5D0046726F6E67 +:104490007420736964655B756D5D00426564004EF0 +:1044A000656E69207A6B616C6962726F76616E61AC +:1044B00020767A64616C656E6F73742074727973A0 +:1044C0006B79206F64207469736B6F766520706FF1 +:1044D000646C6F7A6B792E20506F73747570756A87 +:1044E00074652070726F73696D20706F646C6520E5 +:1044F0006D616E75616C752C206B617069746F6C89 +:1045000061205A6163696E616D652C206F647374FC +:1045100061766563204E6173746176656E692070A3 +:1045200072766E69207672737476792E00446973A0 +:1045300074616E6365206265747765656E20746969 +:1045400070206F6620746865206E6F7A7A6C6520C3 +:10455000616E64207468652062656420737572669C +:1045600061636520686173206E6F74206265656E9B +:1045700020736574207965742E20506C65617365B5 +:1045800020666F6C6C6F7720746865206D616E7546 +:10459000616C2C2063686170746572204669727367 +:1045A000742073746570732C2073656374696F6E07 +:1045B000204669727374206C617965722063616C46 +:1045C0006962726174696F6E2E00446F6C6164651C +:1045D0006E69206F7379205A004C6976652061649A +:1045E0006A757374205A0041646A757374696E67E2 +:1045F000205A004175746F20686F6D6500417574B5 +:104600006F5A61766564656E692066696C2E00413B +:1046100075746F4C6F61642066696C616D656E7452 +:10462000004175746F6D617469636B65207A6176A2 +:104630006164656E692066696C616D656E74752074 +:10464000646F737475706E6520706F757A65207015 +:104650007269207A61706E7574656D2066696C612F +:104660006D656E742073656E7A6F72752E2E2E00D6 +:104670004175746F6C6F6164696E672066696C6107 +:104680006D656E7420617661696C61626C65206F26 +:104690006E6C79207768656E2066696C616D656EF9 +:1046A000742073656E736F72206973207475726EF7 +:1046B0006564206F6E2E2E2E004175746F6D6174CF +:1046C00069636B65207A61766164656E69206669ED +:1046D0006C616D656E747520616B7469766E692CA2 +:1046E00020737469736B6E65746520746C616369A3 +:1046F000746B6F206120766C6F7A74652066696CCC +:10470000616D656E742E2E2E004175746F6C6F6135 +:1047100064696E672066696C616D656E742069738B +:10472000206163746976652C206A757374207072D9 +:1047300065737320746865206B6E6F6220616E64B0 +:1047400020696E736572742066696C616D656E7444 +:104750002E2E2E00207C20417574686F723A200046 +:1047600056736500416C6C00416374697665204541 +:10477000787472756465723A20000B12FB111F1277 +:1047800027122F12381240125D124812761272123E +:104790007A1282129B128A12C612AC121C13E412F5 +:1047A0007A135A13FE139D130C1561140316C015CA +:1047B000A91650165C17F0160718BB179B18581847 +:1047C000EC18D8185A190019F119A2195F1A3B1AD6 +:1047D000941A7F1AB71AA81A021BD41A8D1B301B01 +:1047E000ED1BF41B0E1C041C421C1A1C771C651CC0 +:1047F000881CAD1C991CE01CBF1C111D001D331D25 +:10480000211D461D5F1D591D641D761D881DE11D5E +:10481000CF1D051EF31D521E171E9F1E8A1EBC1E95 +:10482000B41ED01EC81EE61ED81EF11EFB1E2B1F76 +:104830000F1F541F461F791F671F981F8A1FB31F22 +:10484000A61FD11FC41F0720DE1F3B20322053208C +:104850004120772065209B208920BD20AD20CB20E2 +:10486000EA20DB200921F7202D211B2150213F21A7 +:104870006E215F218D217B21A8219E21C021B121A4 +:10488000D721CD21DF210022F1211A220B2229225A +:1048900045223622532259227D226B2296228E22D5 +:1048A000A9229F22C822B622E922D8220423F2227A +:1048B000222316234523302356236723772380237F +:1048C0009D238823C023AE23E423D2230824F62388 +:1048D0002C241A244F243E247324612497248524F5 +:1048E000BB24A924CD24E424DA24F424F024F924DC +:1048F0001D250B2541252F255325652578258E253A +:1049000080259B25AD25C125DF25D125ED25FA255F +:10491000082616262C26372654264D266C265B267E +:104920008A267B26A4269926B126E326BA26322794 +:104930000B2769275427A0277E27D627C527F927C5 +:10494000E82716280B28322822284D283F285B28E4 +:10495000A1287028FF28CA283F292A296629522918 +:1049600084297A298C29A3299429D529AF290E2AAB +:10497000F529262A652A3D2A9A2A8A2ABC2AA82AA3 +:10498000E22AD02A022BF42A222B122BB52B2E2B13 +:104990004B2C4E2C522C6A2C5B2C7C2C752C962C80 +:1049A000832CBB2CAA2CD02CCD2CE82CD32C132D53 +:1049B000F82C3E2D332D502D452D622D572D692D70 +:1049C0007F2D722D892DA22D9B2DB32DAB2DCA2DA0 +:1049D000C02DE22DD62DF32DEE2D222EF92D622E97 +:1049E000522E802E712E852E9C2EB32ECA2EFA2E7C +:1049F000E32E102FED2F04301B3045303230623063 +:104A0000523083307030A2309430B630B030C9307C +:104A1000BC30E130D930E930F230133103312F317D +:104A2000233148313B3154316731623191316D313D +:104A3000BD31B131D831CB31F631E93110320232EA +:104A400028321E327F3230320133C832563344337B +:104A50007A3368339E338C33C233B033E633D43386 +:104A60000A34F8331C349E342B3413350C352B3573 +:104A7000183544353F3569354A35923589359D3588 +:104A8000AF35E235C23555360436B736A636EA3686 +:104A9000C73624371337433734375F374D378337BB +:104AA00071379537A037A937B9372F385938833838 +:104AB000A138D438F3380D3933392C393A394839DB +:104AC0004D39573966397E396F39A9398F39C83927 +:104AD000C139DD39CE392A3AE539B03A6F3A043B6B +:104AE000F33A263B143B4A3B383B5C3B6E3B843BF2 +:104AF000793BA03B973BF53BA93B2F3C513C3F3CCE +:104B0000973C623CD63CC73CF03CE63C103DFE3C4A +:104B10002E3D223D483D3C3D643D523D843D763D29 +:104B2000923DA33DE73DB33D6B3E303EED3EB03E92 +:104B3000773F303FF23FB83F67402F40D640A84014 +:104B400050410941E2419441704222420643BD4234 +:104B500098435643E943DB43FD43F543124406447F +:104B600021443344274453444244714465448C44B3 +:104B700080449B442D459F44D945CA45E745F345AC +:104B80000F46FD45704621460947B94654476447DC +:104B900060476847457872656D65207370616E2067 +:104BA0006F6620746865205A2076616C7565732184 +:104BB0000043616C63756C6174696F6E206F662071 +:104BC000746865206D616368696E6520736B6577D5 +:104BD00020616E64206F6666736574206661696C1F +:104BE00065642E00203C20005741524E494E473A02 +:104BF0002046726F6E7420706F696E74206E6F74D1 +:104C000020726561636861626C652E205920636F54 +:104C10006F7264696E6174653A000049746572610F +:104C200074696F6E3A200000004041FFFFBF4000F2 +:104C3000005C43FFFFBF4000005C430000464300B0 +:104C40000040410000464300004041FFFFBF4000DC +:104C500000E442FFFFBF4000005743FFFFBF40009A +:104C60000057430000CC420000E4420000CC420068 +:104C70000040410000CC420000404100004643009B +:104C800000E442000046430000574300004643064C +:104C90002833D036C23E013F154132423B43F244F5 +:104CA0003B45F24622473B48F2493B4AF058985967 +:104CB0000C5A085B0C5C086110679B6E22710772CE +:104CC00008FF095A0D000EFF19045E0820642B6DC1 +:104CD000322FFF5A00205A3A00590020593A005802 +:104CE0000020583A0024F4D43050C38E20C2A24091 +:104CF00017828B7011127A910D816CD90AA861E12B +:104D000008C7586607615143061E4B5D05C145A79C +:104D1000041A411104093D9803713931034036DB0F +:104D20000265339102D4305402802E1D02632CEEB2 +:104D300001752AC501B028A001102781018F2564C3 +:104D4000012B244B01E0223401AC211F018D200DE9 +:104D500001801FFC00841EED00971DDF00B81CD2EF +:104D600000E61BC600201BBC00641AB200B219A8E2 +:104D7000000A19A0006A189900D117910040178BFA +:104D800000B516840031167E00B31579003A15730C +:104D900000C7146F0058146A00EE1366008813638E +:104DA0000025135E00C7125B006C125700151254E9 +:104DB00000C111510070114F0021114B00D6104954 +:104DC000008D1047004610440002104200C00F4002 +:104DD00000800F3E00420F3C00060F3B00CB0E3818 +:104DE00000930E37005C0E3500270E3400F30D32B1 +:104DF00000C10D3100900D3000600D2E00320D2DE0 +:104E000000050D2C00D90C2B00AE0C2900850C29B7 +:104E1000005C0C2700350C27000E0C2600E80B2444 +:104E200000C40B2400A00B23007D0B23005A0B2190 +:104E300000390B2100180B2000F80A1F00D90A1EA8 +:104E400000BB0A1E009D0A1D00800A1D00630A1C8B +:104E500000470A1B002C0A1B00110A1A00F7091A46 +:104E600000DD091900C4091900AB091900920917DE +:104E7000007B091800630917004C09160036091653 +:104E800000200916000A091500F5081500E00814AD +:104E900000CC081400B8081400A4081400900813EB +:104EA000007D0812006B0813005808120046081213 +:104EB0000034081100230811001208110001081124 +:104EC00000F0071000E0071000D0071000C0071026 +:104ED00000B0070F00A107100091070E0083070F15 +:104EE0000074070F0065070E0057070E0049070EF4 +:104EF000003B070D002E070E0020070D0013070DC5 +:104F00000006070D00F9060C00ED060D00E0060C8A +:104F100000D4060C00C8060C00BC060C00B0060C41 +:104F200000A4060B0099060C008D060B0082060BF0 +:104F30000077060B006C060B0061060A0057060B93 +:104F4000004C060A0042060A0038060A002E060A2D +:104F50000024060A001A060A001006090007060ABD +:104F600000FD050900F4050900EB050900E205094B +:104F700000D9050900D0050900C7050900BE0509CB +:104F800000B5050800AD050800A50509009C050849 +:104F900000940508008C050800840508007C0508BD +:104FA00000740508006C050700650508005D05072D +:104FB00000560508004E0507004705070040050894 +:104FC0000038050700310507002A050700230507FB +:104FD000001C050600160507000F0507000805065A +:104FE0000002050700FB040600F5040700EE0406B6 +:104FF00000E8040600E2040700DB040600D504060E +:1050000000CF040600C9040600C3040600BD040660 +:1050100000B7040600B1040500AC040600A60406AF +:1050200000A00405009B04060095040500900406FA +:10503000008A04050085040500800406007A040542 +:105040000075040500700405006B04050066040586 +:1050500000610405005C04050057040500520405C6 +:10506000004D04050048040500430405003E040407 +:10507000003A04050035040500300404002C040542 +:105080000027040400230405001E0404001A04047D +:105090000016040500110404000D040400090405B1 +:1050A000000404040000040400FC030400F80304EA +:1050B00000F4030400F0030400EC030400E803041C +:1050C00000E4030400E0030400DC030400D803044C +:1050D00000D4030400D0030400CC030400C803037D +:1050E00000C503030024F404D9201BC40C5C0E98F3 +:1050F00004C4095F0265077101F405F900FB04B3FC +:105100000048048700C103690058035500030345A4 +:1051100000BE023A008402310053022A002902250F +:105120000004022000E4011C00C8011900AF0117AF +:105130000098011400840113007101100061011036 +:105140000051010E0043010D0036010B002B010B35 +:105150000020010B00150109000C010900030108E2 +:1051600000FB000800F3000800EB000700E4000665 +:1051700000DE000600D8000600D2000600CC0005C4 +:1051800000C7000500C2000500BD000400B900040E +:1051900000B5000400B1000400AD000400A9000443 +:1051A00000A5000300A20003009F0004009B000371 +:1051B0000098000300950002009300030090000394 +:1051C000008D0002008B00030088000200860002B0 +:1051D0000084000300810002007F0002007D0002C5 +:1051E000007B0002007900020077000100760002D7 +:1051F000007400020072000100710002006F0002E2 +:10520000006D0001006C0002006A000100690002EC +:1052100000670001006600010065000100640002F3 +:10522000006200010061000100600001005F0002F7 +:10523000005D0001005C0001005B0001005A0001FC +:1052400000590001005800010057000100560001FC +:1052500000550001005400010053000000530001FC +:10526000005200010051000100500001004F0001F8 +:10527000004E0000004E0001004D0001004C0001F6 +:10528000004B0000004B0001004A000100490001F2 +:1052900000480000004800010047000100460000EF +:1052A00000460001004500000045000100440001E7 +:1052B00000430000004300010042000000420001E2 +:1052C000004100000041000100400001003F0000DB +:1052D000003F0001003E0000003E0001003D0000D4 +:1052E000003D0001003C0000003C0000003C0001CB +:1052F000003B0000003B0001003A0000003A0001C2 +:1053000000390000003900010038000000380000BA +:1053100000380001003700000037000100360000AF +:1053200000360000003600010035000000350000A6 +:10533000003500010034000000340000003400019A +:105340000033000000330000003300010032000091 +:105350000032000000320001003100000031000086 +:10536000003100010030000000300000003000017A +:10537000002F0000002F0000002F0000002F000170 +:10538000002E0000002E0000002E0001002D000065 +:10539000002D0000002D0000002D0001002C000059 +:1053A000002C0000002C0000002C0001002B00004D +:1053B000002B0000002B0000002B0001002A000041 +:1053C000002A0000002A0000002A00010029000035 +:1053D0000029000000290000002900000029000128 +:1053E000002800000028000000280000002800001D +:1053F000002800010027000000270000002700000F +:105400000027000000270001002600000026000001 +:1054100000260000002600000026000100250000F4 +:1054200000250000002500000025000000250000E8 +:1054300000250001002400000024000000240000DA +:1054400000240000002400010023000000230000CD +:1054500000230000002300000023000000230000C0 +:1054600000230001002200000022000000220000B2 +:1054700000220000002200000022000100210000A4 +:105480000021000000210000002100000021000098 +:105490000021000000210001002000000020000089 +:1054A000002000000020000000200000002000007C +:1054B0000020000000200001001F0000001F00006D +:1054C000001F0000001F0000001F0000001F000060 +:1054D000001F0001001E0000001E0000001E000052 +:1054E000001E0000004572723A204D494E54454D51 +:1054F00050204245440054656D7065726174757248 +:1055000065206865617465642062656420737769ED +:105510007463686564206F66662E204D494E54455D +:105520004D5020747269676765726564202100457B +:1055300072723A204D415854454D50204245440026 +:1055400054656D706572617475726520686561740B +:10555000656420626564207377697463686564209C +:105560006F66662E204D415854454D502074726927 +:105570006767657265642021004572723A204D4963 +:105580004E54454D50003A204578747275646572EA +:10559000207377697463686564206F66662E204D9A +:1055A000494E54454D502074726967676572656451 +:1055B0002021004572723A204D415854454D50000B +:1055C0003A204578747275646572207377697463E4 +:1055D000686564206F66662E204D415854454D50D5 +:1055E0002074726967676572656420210020484FE6 +:1055F00054454E4420544845524D414C2052554E3E +:10560000415741590020484541544245442054489F +:1056100045524D414C2052554E4157415900544836 +:1056200045524D414C2052554E415741590042453B +:105630004420544845524D414C2052554E4157410B +:10564000590020544845524D414C2052554E415727 +:1056500041592028205052454845415420484F5434 +:10566000454E44290020544845524D414C20525546 +:105670004E41574159202820505245484541542019 +:1056800048454154424544290050524548454154FB +:10569000204552524F520042454420505245484501 +:1056A0004154204552524F52004572723A20505296 +:1056B000494E542046414E204552524F520050729E +:1056C000696E742066616E2073706565642069730D +:1056D000206C6F776572207468656E2065787065E0 +:1056E00063746564004572723A20455854522E2006 +:1056F00046414E204552524F5200457874727564AF +:1057000065722066616E2073706565642069732020 +:105710006C6F776572207468656E2065787065635C +:10572000746564002F2F20616374696F6E3A706135 +:1057300075736500504944204175746F74756E65CA +:105740002066696E697368656421205075742074E1 +:105750006865206C617374204B702C204B6920614C +:105760006E64204B6420636F6E7374616E7473207B +:1057700066726F6D2061626F766520696E746F204E +:10578000436F6E66696775726174696F6E2E68002B +:10579000504944204175746F74756E652066616967 +:1057A0006C6564212074696D656F75740020403AE2 +:1057B00000543A00423A00504944204175746F74D5 +:1057C000756E65206661696C6564212054656D7035 +:1057D0006572617475726520746F6F20686967689F +:1057E00000204B643A2000204B693A2000204B7087 +:1057F0003A200020436C6173736963205049442050 +:10580000002054753A2000204B753A2000206D612D +:10581000783A2000206D696E3A200020643A20001A +:1058200020626961733A200090137D00B015780002 +:10583000F0177300601A6E00F01C6900A01F64006E +:1058400050225F0020255A00E0275500902A500082 +:10585000202D4B00A02F4600F031410010343C00B9 +:10586000F0353700A037320020392D00603A28008B +:10587000703B2300603C1E00203D1900C03D140019 +:10588000403E0F00A03E0A00F03E0500403F0000F1 +:10589000703FFBFF903FF6FFB03FF1FFC03FECFFD2 +:1058A000D03FE7FFE03FE2FFF03FDDFFF03FD8FFF2 +:1058B0001000C90210012C014001220170011801E1 +:1058C000B0010E01F00104015002FA00B002F00034 +:1058D0003003E600D003DC009004D2007005C8005D +:1058E000A006BE000008B400B009AA00D00BA000BA +:1058F000600E960060118C0000158200201978005F +:10590000C01D6E00A0226400B0275A00902C5000E9 +:1059100000314600E0343C0010383200903A280054 +:10592000603C1E00A03D1400803E0A00203F0000A5 +:1059300070012C0190012701B0012201C0011D015D +:10594000F00118011002130130020E01600209017A +:1059500090020401C002FF000003FA004003F500BA +:105960008003F000D003EB002004E6007004E100A7 +:10597000E004DC004005D700C005D2004006CD00A1 +:10598000D006C8008007C3003008BE00F008B90088 +:10599000C009B400B00AAF00B00BAA00D00CA5003B +:1059A000000EA000500F9B00C010960050129100F6 +:1059B00000148C00C0158700B0178200B0197D005C +:1059C000D01B7800001E730040206E0090226900FA +:1059D000F024640040275F0090295A00E02B550016 +:1059E000102E500020304B0010324600E0334100B2 +:1059F00090353C001037370070383200A0392D0048 +:105A0000B03A2800A03B2300603C1E00103D190066 +:105A1000903D1400103E0F00703E0A00C03E05008D +:105A2000003F0000746D63323133305F7072696E15 +:105A3000745F63757272656E747328290A09480968 +:105A4000520A580925640925640A5909256409255B +:105A5000640A5A0925640925640A4509256409254B +:105A6000640A00746D63323133305F7365745F6351 +:105A7000757272656E745F7228617869733D256412 +:105A80002C2063757272656E743D25640A00746D16 +:105A900063323133305F7365745F63757272656E44 +:105AA000745F6828617869733D25642C2063757282 +:105AB00072656E743D25640A00544D43204452497A +:105AC000564552204F56455254454D502000746D56 +:105AD00063323133305F696E697428292C206D6F11 +:105AE00064653D25530A004E4F524D414C005354BE +:105AF00045414C544800436F6E74696E756520775C +:105B000069746820616E6F7468657220626F776473 +:105B1000656E3F0053746174653A20004737360064 +:105B20004D3435205A004D343500473830002000C0 +:105B30003E003E0020003E003E003E003E002000B1 +:105B40003E003E00200000002D2D2D2D2D2D2D2D51 +:105B50002D2D2D2D2D2D2D2D2D2D2D2D004E2F416B +:105B6000004E2F41006D6D00004D373031004D3734 +:105B7000303200496E76616C69642050494420637C +:105B8000616C2E20726573756C74732E204E6F7469 +:105B90002073746F72656420746F20454550524FB6 +:105BA0004D2E004D353030004731205A31352046DA +:105BB00031353030004739310047312058353020F9 +:105BC00059313930204530204637303030004739A0 +:105BD00030004D373032004D3730322043004D37E2 +:105BE00030322055004D373032004731205A3135A0 +:105BF00020463135303000473931004731205835A3 +:105C0000302059313930204530204637303030008F +:105C10004D383300473930004D3834004D31303481 +:105C2000205330004D38340047312058313020594E +:105C3000313830204634303030004731205A31304E +:105C40002046313330302E303030004D313430206A +:105C50005330004D313034205330004D3130370057 +:105C6000473120452D302E30373530302046323107 +:105C700030302E3030303030004731205835302031 +:105C80005935352045332E363237373300473120EA +:105C900058323030205935352045302E343933389C +:105CA00036004731205832303020593735204533BF +:105CB0002E363237373300473120583530205937A8 +:105CC000352045302E3439333836004731205835A9 +:105CD00030205939352045332E3632373733004797 +:105CE000312058323030205939352045302E343962 +:105CF0003338360047312058323030205931313571 +:105D00002045332E3632373733004731205835306F +:105D100020593131352045302E343933383600475B +:105D2000312058353020593133352045332E363225 +:105D3000373733004731205832303020593133352E +:105D40002045302E36363137340047312058323036 +:105D50003020593135352045322E36323737330031 +:105D60004731205831303020593135352045320007 +:105D700047312058373520593135352045322E35B9 +:105D80000047312046313038300047312058353017 +:105D90002059313535004731204634303030004D00 +:105DA000323034205331303030004731205A302ED9 +:105DB0003135302046373230302E303030004731E8 +:105DC00020452D312E3530303030204632313030C4 +:105DD0002E3030303030004D3833004739300047F6 +:105DE0003231004739322045302E300047312058BB +:105DF0003130302E30204531322E35204631303092 +:105E0000302E30004731205836302E302045392E84 +:105E1000302046313030302E300047393220453086 +:105E20002E300047323800473837004D31303920A6 +:105E300053323135004D31393020533630004D3139 +:105E4000343020533630004D313034205332313528 +:105E5000004D31303700473930004731204531009F +:105E60004D3832004731204531004D3833004D3137 +:105E7000303620532564004D3232302053256400E3 +:105E80003A20002020202020202020202020202018 +:105E900020202020202000203A2000202020202028 +:105EA0002020202020202020202020202020200012 +:105EB00020202020202020202020202020002573AA +:105EC000002020002D2D3A2D2D0020002000200044 +:105ED0004C002020002046002D2D2D003E55534221 +:105EE000005344002D2D00252020202020002020BC +:105EF000002020000120002020202D2D2D2000201A +:105F0000205A002020000120004D36303000464C41 +:105F10004558202D20203234302F3530005050206D +:105F200020202D20203235342F3130300048495088 +:105F300053202D20203232302F3130300041425357 +:105F400020202D20203235352F313030005045545F +:105F500020202D20203233302F383500504C412066 +:105F6000202D20203231352F3630006661726D20B1 +:105F7000202D20203235302F3430004D3234004D6A +:105F8000323320257300052E2E00580059005A0088 +:105F900045787472756465720047393900446973D5 +:105FA00061626C65206661726D206D6F64653F0093 +:105FB00044697361626C65206661726D206D6F6407 +:105FC00065004661726D206E756D626572004D38B8 +:105FD000340041786973206C656E67746820646969 +:105FE00066666572656E63653A004D6561737572CC +:105FF00065642061786973206C656E6774683A0027 +:1060000025632041584953205347313D25640A00F8 +:106010004D3834004731205A313500473238205747 +:10602000005A30005A3100593000593100583000C0 +:10603000583100456E642073746F70732064696119 +:1060400067004D3434004732382057001B5B303B2B +:1060500030484C617374207072696E742066616997 +:106060006C757265731B5B313B3148506F7765729D +:10607000206661696C757265732020252D33641B61 +:106080005B323B314846696C616D2E2072756E6FD4 +:106090007574732020252D33641B5B333B314843DB +:1060A0007261736820205820252D336420205920E8 +:1060B000252D3364001B5B303B3048546F74616C9A +:1060C000206661696C757265731B5B313B314850AA +:1060D0006F776572206661696C7572657320202523 +:1060E0002D33641B5B323B314846696C616D2E2059 +:1060F00072756E6F7574732020252D33641B5B33AE +:106100003B3148437261736820205820252D336449 +:1061100020205920252D336400546F74616C004C8D +:10612000617374207072696E74001B5B303B314880 +:1061300042656C74207374617475731B5B313B3200 +:1061400048582025641B5B323B32485920256400A7 +:106150001B5B323B3148416D6269656E743A2020A9 +:10616000256425631B5B333B314850494E44413A1B +:106170002020202025642563001B5B303B31484EE6 +:106180006F7A7A6C653A202020256425631B5B3189 +:106190003B31484265643A20202020202025642598 +:1061A00063001B5B313B31485057523A202020207E +:1061B000202025642E2530316456002D2D2D2D2DC7 +:1061C0002D2D2D2D2D2D2D00466C6173684169728A +:1061D00020495020416464723A002D2D2D2D2D2D23 +:1061E0002D2D2D2D2D2D00466562202031203230A1 +:1061F0003138002D2D2D2D2D2D2D2D2D2D2D2D001A +:10620000453344763666756C6C0045494E53795F6C +:1062100031306100315F37356D6D5F4D4B33002D8F +:106220002D2D2D2D2D2D2D2D2D2D2D002072657018 +:106230006F20507275736133442F4D4B3300203300 +:106240002E312E312D5243352D31353100466972B4 +:106250006D776172653A0025642E25642E25642EC3 +:106260002564004661696C20737461747300466133 +:10627000726D206E756D62657200007263006265FA +:10628000746100616C7068610064657600505255FD +:1062900053413344465700332E312E312D5243356E +:1062A0000000000A0B02090C0D0E08070304010090 +:1062B00000000000000000000000000000000000DE +:1062C000000000000000000000000000001211109B +:1062D00000000000000000000000000000000000BE +:1062E00000000000000000000000000000000000AE +:1062F000000000000000000102102020080810200B +:106300004010204080020102010804020101020441 +:106310000810204080804020100804020180040200 +:106320000180402010080402010804020101020457 +:10633000081020408001020408102040801008044A +:10634000088010204004408010204004800505058E +:1063500005070508080808020202020A0A080804DC +:10636000040404010101010101010103030303030A +:10637000030303040707070C0C0C0C0C0C0C0C0299 +:1063800002020206060606060606060B0B0B0B0BA0 +:106390000B0B0B07070A0A0A0A0A0A05050504047B +:1063A000040808000020002300260029002C002FEC +:1063B0000032000001000003010601090100002273 +:1063C00000250028002B002E0031003400020100BF +:1063D00000050108010B0100002100240027002A0C +:1063E000002D003000330001010000040107010A04 +:1063F00001024E414E494E495459494E46CDCCCCEE +:106400003D0AD7233C17B7D13877CC2B329595E688 +:10641000241FB14F0A000020410000C84200401C68 +:106420004620BCBE4CCA1B0E5AAEC59D7400407AB5 +:1064300010F35A00A0724E18090010A5D4E800000D +:10644000E87648170000E40B54020000CA9A3B00AB +:106450000000E1F505000080969800000040420F22 +:10646000000000A08601000000102700000000E8E6 +:1064700003000000006400000000000A00000000AB +:10648000000100000000002C76D888DC674F08234C +:10649000DFC1DFAE59E1B1B796E5E3E453C63AE6B2 +:1064A00051997696E8E6C28426EB898C9B62ED4092 +:1064B0007C6FFCEFBC9C9F40F2BAA56FA5F49005E1 +:1064C0005A2AF75C936B6CF9676DC11BFCE0E40D15 +:1064D00047FEF520E6B500D0ED902E030094357709 +:1064E000050080841E080000204E0A000000C80C31 +:1064F000333333330F986E12831141EF8D2114899A +:106500003BE65516CFFEE6DB18D1844B381BF77CF3 +:106510001D901DA4BBE424203284725E228100C938 +:10652000F124ECA1E53D2700D4A2C5CA63FCB80163 +:1065300005A311241FBECFEFD1E2DEBFCDBF00E027 +:106540000CBF17E0A0E0B2E0E8EEFCE903E00BBF0F +:1065500002C007900D92A43DB107D9F72AE1A4ED3E +:10656000B7E001C01D92A834B207E1F715E6C0E319 +:10657000D5E600E006C022970109FE010BBF0F948B +:1065800028C4C832D10780E00807A9F70F9400BEDD +:106590000D9462CE0C94000010923B1A10922A1AAD +:1065A00040912B1A50912C1AEDE2FAE180E090E034 +:1065B00061E070E09B01082E02C0220F331F0A9495 +:1065C000E2F724233523232B11F411821082019644 +:1065D00032968730910571F7089587E793E00F941D +:1065E0006DC810922C1A10922B1AEAE7F0E0808105 +:1065F00087608083ACE7B0E08C9180648C9380816D +:10660000806880838FE580937E0082E080937D00A8 +:10661000C3CF282F2F7090917B0083FF02C098601A +:1066200001C0977F90937B0090917C00822F8770B0 +:10663000987F892B80937C000895982F21E030E08B +:1066400080E0A9014F755270452B29F04FEF490F9B +:10665000911102C00895492F220F331F8F5F80319F +:1066600011F0942FEECF0895CF93C0913B1AC7FF3E +:1066700036C0CF70EC2FF0E021E030E00C2E02C0ED +:10668000220F331F0A94E2F740912B1A50912C1AD3 +:1066900024233523232B71F4409178005091790005 +:1066A000EE0FFF1FE35DF54E20813181240F351F72 +:1066B00031832083C73010F4CF5F0BC080912A1A3A +:1066C0008F5F80932A1A803118F00F94663264DF4E +:1066D000C0E08C2FB2DF9DDFC0933B1A0AC08091CF +:1066E0007A00806480937A0080913B1A806880935E +:1066F0003B1ACF91089590915908911107C090913C +:10670000C00095FFFCCF8093C6000895913031F40E +:106710009091C80095FFFCCF8093CE000895CF9252 +:10672000DF92EF92FF920F931F93CF93DF938C0131 +:10673000D42EC62FD72FD60EDC1671F1F801E080CB +:10674000F180C990C7010F9423CBC816F1F06C2DCE +:10675000C7010F9453CBC7010F9423CB8C15A9F01D +:10676000E7E4F7E08491EF01882329F0C4DF219664 +:10677000FE018491F9CF8AE0DF91CF911F910F91B3 +:10678000FF90EF90DF90CF90B6CFF801808191819C +:10679000019691838083D0CFDF91CF911F910F918C +:1067A000FF90EF90DF90CF900895EF92FF920F93BC +:1067B0001F93CF93DF931F92CDB7DEB78C017B0180 +:1067C000460FF8018081918149830F9423CBF70113 +:1067D00081937F01F801808191810196918380836B +:1067E00049814E11EECF0F90DF91CF911F910F9104 +:1067F000FF90EF9008950F931F93CF93DF93CDB742 +:10680000DEB72C970FB6F894DEBF0FBECDBF8C015C +:1068100040E350E360E370E04D835E836F837887ED +:106820009C878B8744E0BE016B5F7F4FCE010B9648 +:1068300076DF40E16AEA77E1CE010B9670DF40E156 +:106840006AEB77E1CE010B966ADF40E16AE977E116 +:10685000CE010B9664DF44E062E977E1CE010B964E +:106860005EDF44E06EE877E1CE010B9658DF44E04E +:1068700066E977E1CE010B9652DF44E06AE777E103 +:10688000CE010B964CDF44E06AEC77E1CE010B962B +:1068900046DF44E06EE777E1CE010B9640DF44E04F +:1068A00062E877E1CE010B963ADF44E066E877E1F3 +:1068B000CE010B9634DF44E06AE877E1CE010B9617 +:1068C0002EDF4CE06AE279E0CE010B9628DF44E04F +:1068D00063E279E0CE010B9622DF44E06AEA72E0DF +:1068E000CE010B961CDF44E066EA72E0CE010B9607 +:1068F00016DF44E062EA72E0CE010B9610DF44E05E +:106900006AE972E0CE010B960ADF44E066E972E0C4 +:10691000CE010B9604DF44E062E972E0CE010B96F3 +:10692000FEDE80E290E09A87898742E0BE01675FE1 +:106930007F4FCE010B96F3DE41E06FE179E0CE01AF +:106940000B96EDDE44E066E272E0CE010B96E7DEE8 +:1069500044E06EE172E0CE010B96E1DE44E06AE1D4 +:1069600079E0CE010B96DBDE44E066E179E0CE0112 +:106970000B96D5DE44E06AE172E0CE010B96CFDEE5 +:1069800041E066E479E0CE010B96C9DE44E066E4BE +:1069900072E0CE010B96C3DE46E552E360E070E0A4 +:1069A00049835A836B837C831C870B8744E0BE0139 +:1069B0006F5F7F4FCE010B96B2DEE4E5FEE084917F +:1069C0008F01882331F097DE0F5F1F4FF80184910C +:1069D000F8CFE7E3F7E084918F01882331F08BDE75 +:1069E0000F5F1F4FF8018491F8CF8AE084DE2C9668 +:1069F0000FB6F894DEBF0FBECDBFDF91CF911F91D0 +:106A00000F9108950F931F93CF93DF93C4E5DEE0BA +:106A1000FE0184918E01882331F06DDE0F5F1F4FE0 +:106A2000F8018491F8CFE7E2F7E084918F018823A1 +:106A300031F061DE0F5F1F4FF8018491F8CF8AE0DB +:106A40005ADEFE01849104E51EE0882331F053DE16 +:106A50000F5F1F4FF8018491F8CF4091AA17509112 +:106A6000AB176091AC177091AD178FE197E00E9462 +:106A7000F4464091AE175091AF176091B0177091E6 +:106A8000B1178CE197E00E94F4464091B217509103 +:106A9000B3176091B4177091B51789E197E00E9420 +:106AA000F4464091B6175091B7176091B81770919E +:106AB000B91786E197E00E94F4468AE01CDEFE01E9 +:106AC000849104E51EE0882331F015DE0F5F1F4F2F +:106AD000F8018491F8CFECEFF6E084918F018823E0 +:106AE00031F009DE0F5F1F4FF8018491F8CF8AE083 +:106AF00002DEFE01849104E51EE0882331F0FBDD17 +:106B00000F5F1F4FF8018491F8CF4091BA17509151 +:106B1000BB176091BC177091BD1783EF96E00E9480 +:106B2000F4464091BE175091BF176091C017709105 +:106B3000C11780EF96E00E94F4464091C217509131 +:106B4000C3176091C4177091C5178DEE96E00E942F +:106B5000F4464091C6175091C7176091C8177091BD +:106B6000C9178AEE96E00E94F4468AE0C4DDFE0171 +:106B7000849104E51EE0882331F0BDDD0F5F1F4FD7 +:106B8000F8018491F8CFECECF6E084918F01882332 +:106B900031F0B1DD0F5F1F4FF8018491F8CF8AE02B +:106BA000AADDFE01849104E51EE0882331F0A3DD17 +:106BB0000F5F1F4FF8018491F8CF40919A175091C1 +:106BC0009B1760919C1770919D1783EC96E00E9433 +:106BD0001C4740919E1750919F176091A01770918C +:106BE000A11780EC96E00E941C474091A21750919B +:106BF000A3176091A4177091A5178DEB96E00E94E2 +:106C00001C474091A6175091A7176091A817709143 +:106C1000A9178AEB96E00E941C478AE06CDDFE0112 +:106C2000849104E51EE0882331F065DD0F5F1F4F7E +:106C3000F8018491F8CFE5E8F6E084918F0188238C +:106C400031F059DD0F5F1F4FF8018491F8CF8AE0D2 +:106C500052DDFE01849104E51EE0882331F04BDD16 +:106C60000F5F1F4FF8018491F8CF40919217509118 +:106C7000931760919417709195178CE796E00E9496 +:106C8000F44640918E1750918F1760919017709134 +:106C9000911789E796E00E94F4468AE02CDDFE0118 +:106CA000849104E51EE0882331F025DD0F5F1F4F3E +:106CB000F8018491F8CFE6ECF5E084918F01882308 +:106CC00031F019DD0F5F1F4FF8018491F8CF8AE092 +:106CD00012DDFE01849104E51EE0882331F00BDD16 +:106CE0000F5F1F4FF8018491F8CF40919617509194 +:106CF000971760919817709199178DEB95E00E9406 +:106D0000F44640917A1750917B1760917C177091EF +:106D10007D178AEB95E00E94F4464091CA17509186 +:106D2000CB176091CC177091CD1787EB95E00E943F +:106D30001C4740917E1750917F176091801770918A +:106D4000811784EB95E00E94F446409182175091A0 +:106D50008317609184177091851781EB95E00E94ED +:106D6000F44640918617509187176091881770916B +:106D700089178EEA95E00E94F44640918A17509157 +:106D80008B1760918C1770918D178BEA95E00E949C +:106D9000F4468AE0B0DCFE01849104E51EE088231D +:106DA00031F0A9DC0F5F1F4FF8018491F8CFE9E9BA +:106DB000F5E084918F01882331F09DDC0F5F1F4F38 +:106DC000F8018491F8CF8AE096DCFE01849104E515 +:106DD0001EE0882331F08FDC0F5F1F4FF801849194 +:106DE000F8CF40912A0950912B0960912C0970919C +:106DF0002D0980E995E00E94F44640912E095091BA +:106E00002F0960913009709131098DE895E00E9459 +:106E1000F4464091320950913309609134097091E0 +:106E200035098AE895E00E94F4468AE064DCFE01B8 +:106E3000849104E51EE0882331F05DDC0F5F1F4F75 +:106E4000F8018491F8CFECE7F5E084918F01882375 +:106E500031F051DC0F5F1F4FF8018491F8CF8AE0C9 +:106E60004ADCFE01849104E51EE0882331F043DC16 +:106E70000F5F1F4FF8018491F8CF4091AA02509103 +:106E8000AB026091AC027091AD0282E795E00E9486 +:106E9000F4466091A6027091A7028091A802909199 +:106EA000A9020F94A133AB01BC018FE695E00E94CB +:106EB000F4466091A2027091A3028091A402909185 +:106EC000A5020F94AD33AB01BC018CE695E00E94A6 +:106ED000F4468AE010DCFE01849104E51EE088237C +:106EE00031F009DC0F5F1F4FF8018491F8CFE6E520 +:106EF000F5E084918F01882331F0FDDB0F5F1F4F98 +:106F0000F8018491F8CF8AE0F6DBFE01849104E574 +:106F10001EE0882331F0EFDB0F5F1F4FF8018491F3 +:106F2000F8CF40919A0250919B0260919C0270911F +:106F30009D028CE495E00E94F44660919602709167 +:106F4000970280919802909199020F94A133AB011E +:106F5000BC0189E495E00E94F44660919202709130 +:106F6000930280919402909195020F94AD33AB01FE +:106F7000BC0186E495E00E94F4468AE0BCDBFE0199 +:106F8000849104E51EE0882331F0B5DB0F5F1F4FCD +:106F9000F8018491F8CFE2E1F5E084918F01882334 +:106FA00031F0A9DB0F5F1F4FF8018491F8CF8AE021 +:106FB000A2DBFE01849104E51EE0882331F09BDB17 +:106FC0000F5F1F4FF8018491F8CF40912602509136 +:106FD0002702609128027091290288E095E00E94C2 +:106FE000F44620E030E040E752E460911E027091E8 +:106FF0001F0280912002909121020F94BDC1AB012C +:10700000BC0185E095E00E94F44640911A09509138 +:107010001B0960911C0970911D0982E095E00E9496 +:10702000F4468AE068DBFE01849104E51EE08823D3 +:1070300031F061DB0F5F1F4FF8018491F8CFE6ED6F +:10704000F4E084918F01882331F055DB0F5F1F4FEF +:10705000F8018491F8CF8AE04EDBFE01849104E5CB +:107060001EE0882331F047DB0F5F1F4FF80184914A +:10707000F8CF409116095091170960911809709145 +:1070800019098CEC94E00E94F44620E030E040E7DF +:1070900052E460911A0270911B0280911C0290913F +:1070A0001D020F94BDC1AB01BC0189EC94E00E94AC +:1070B000F4468AE020DBFE01849104E51EE088238B +:1070C00031F019DB0F5F1F4FF8018491F8CFEFE625 +:1070D000F4E084918F01882331F00DDB0F5F1F4FA7 +:1070E000F8018491F8CF8AE006DBFE01849104E583 +:1070F0001EE0882331F0FFDA0F5F1F4FF801849103 +:10710000F8CF40911F0950E060E070E085E694E020 +:107110000E941C478AE0EFDAFE01849104E51EE03C +:10712000882331F0E8DA0F5F1F4FF8018491F8CF20 +:1071300080914609882339F1E2E5F4E084918F01DA +:10714000882331F0D8DA0F5F1F4FF8018491F8CF10 +:107150008AE0D1DAFE01849104E51EE0882331F053 +:10716000CADA0F5F1F4FF8018491F8CF40914602B1 +:1071700050914702609148027091490288E494E07E +:107180000E94F4460BC0ECE2F4E08491EF01882306 +:1071900029F0B1DA2196FE018491F9CF8AE0DF91DE +:1071A000CF911F910F91A7CAAF92BF92CF92DF925A +:1071B000EF92FF920F931F93CF93DF93CDB7DEB77C +:1071C000E0970FB6F894DEBF0FBECDBF80E1E7EECB +:1071D000F2E0DE01919601900D928A95E1F780E14F +:1071E000E7EFF2E0DE01519601900D928A95E1F70A +:1071F00080E1E7E0F3E0DE01119601900D928A95BF +:10720000E1F76E0181E2C80ED11C8AEAE82E87E11F +:10721000F82E8E010F5E1F4F6AEB77E1AE014F5FD4 +:107220005F4F9AE9A92E97E1B92E20E030E0F601F0 +:1072300081919191A191B1916F01F7018193919306 +:10724000A193B1937F01F80181919191A191B191A5 +:107250008F01FB0181939193A193B193BF01FA0137 +:1072600081919191A191B191AF01F5018193919398 +:10727000A193B1935F012F5F3F4F24303105B9F6E1 +:107280000F94331380E090E4ACE9B4E48093921758 +:1072900090939317A0939417B093951780938E179C +:1072A00090938F17A0939017B09391171092961701 +:1072B00010929717109298171092991780E29EE4F7 +:1072C000A0E0B0E08093CA179093CB17A093CC179F +:1072D000B093CD1710927A1710927B1710927C17EB +:1072E00010927D1780E090E0A0E2B1E480937E17D9 +:1072F00090937F17A0938017B09381178093821784 +:1073000090938317A0938417B09385178DEC9CEC12 +:10731000ACECBEE38093861790938717A0938817F1 +:10732000B093891780E090E0A0E2B0E480938A17E0 +:1073300090938B17A0938C17B0938D1710923209EE +:1073400010923309109234091092350910922E09C7 +:1073500010922F09109230091092310910922A09C7 +:1073600010922B0910922C0910922D098DE39AE0AE +:10737000A1E8B1E48093AA029093AB02A093AC027F +:10738000B093AD026DEC7CEC84E99FE30F949B33EA +:107390006093A6027093A7028093A8029093A9021B +:1073A00065E87BEE80E692E40F94A7336093A20237 +:1073B0007093A3028093A4029093A5020F94B82324 +:1073C00080E090E0A0E8BFE380939E0290939F024C +:1073D000A093A002B093A10210921F0980E090E058 +:1073E000A0E4B0E48093260290932702A0932802A1 +:1073F000B093290240E050E064E372E440931E023F +:1074000050931F02609320027093210210921A0978 +:1074100010921B0910921C0910921D091092160956 +:1074200010921709109218091092190940E050E0C3 +:1074300060E071E440931A0250931B0260931C02B7 +:1074400070931D0210924609809346029093470262 +:10745000A0934802B09349020E94305CE4E5FEE04C +:1074600084918F01882331F046D90F5F1F4FF801B7 +:107470008491F8CFE0EFF3E084918F01882331F01D +:107480003AD90F5F1F4FF8018491F8CF8AE0E09658 +:107490000FB6F894DEBF0FBECDBFDF91CF911F9125 +:1074A0000F91FF90EF90DF90CF90BF90AF9023C9E6 +:1074B0000F931F93CF93DF93CDB7DEB72C970FB603 +:1074C000F894DEBF0FBECDBF8C019C878B8746E54D +:1074D00052E360E070E049835A836B837C8344E02D +:1074E000BE016B5F7F4FCE010B965FD943E050E04A +:1074F000BE016B5F7F4FCE0101960F94CAC7892BE7 +:1075000009F009C140E16AEA77E1CE010B964DD955 +:1075100040E16AEB77E1CE010B9647D940E16AE999 +:1075200077E1CE010B9641D90F94331344E062E921 +:1075300077E1CE010B9639D944E06EE877E1CE01D0 +:107540000B9633D944E066E977E1CE010B962DD94D +:1075500044E06AE777E1CE010B9627D944E06AEC74 +:1075600077E1CE010B9621D944E06EE777E1CE01B9 +:107570000B961BD944E062E877E1CE010B9615D952 +:1075800044E066E877E1CE010B960FD944E06AE863 +:1075900077E1CE010B9609D920E030E040E251E4DA +:1075A00060917E1770917F1780918017909181175D +:1075B0000F94EBC0181664F480E090E0A0E2B1E410 +:1075C00080937E1790937F17A0938017B0938117B5 +:1075D00020E030E040E251E460918217709183171F +:1075E00080918417909185170F94EBC0181664F45E +:1075F00080E090E0A0E2B1E480938217909383173B +:10760000A0938417B09385174CE06AE279E0CE012D +:107610000B96CBD844E063E279E0CE010B96C5D857 +:1076200044E06AEA72E0CE010B96BFD844E066EA15 +:1076300072E0CE010B96B9D844E062EA72E0CE0166 +:107640000B96B3D844E06AE972E0CE010B96ADD850 +:1076500044E066E972E0CE010B96A7D844E062E907 +:1076600072E0CE010B96A1D842E0BE01675F7F4F6A +:10767000CE010B969AD841E06FE179E0CE010B96EE +:1076800094D844E066E272E0CE010B968ED844E0D6 +:107690006EE172E0CE010B9688D844E06AE179E0B1 +:1076A000CE010B9682D844E066E179E0CE010B96DC +:1076B0007CD844E06AE172E0CE010B9676D841E0D6 +:1076C00066E479E0CE010B9670D844E066E472E09F +:1076D000CE010B966AD80F94B823E4E5FEE08491BE +:1076E0008F01882331F007D80F5F1F4FF801849175 +:1076F000F8CFE2E1F4E084918F01882339F00E9411 +:107700007B330F5F1F4FF8018491F7CF8AE00E940F +:107710007B3391E014C048DDC8010F9423CB8F3F29 +:1077200069F4C80101960F9423CB8F3F39F4C80147 +:1077300002960F9423CB91E08F3F09F090E0892FC0 +:107740002C960FB6F894DEBF0FBECDBFDF91CF9160 +:107750001F910F910895CF93DF93EC0160E08E812C +:107760000F9435B881E090E00F9477B661E08E8198 +:107770000F9435B881E090E00F9477B660E08E8189 +:107780000F9435B884E690E0DF91CF910D9477B6F1 +:10779000CF92DF92EF92FF920F931F93CF93DF93DD +:1077A0007C01C0E0D0E0C62ED12C87010C0F1D1F3C +:1077B00061E0F80187810F94FCB7B6010C2E02C07E +:1077C000759567950A94E2F76170F80187810F94C7 +:1077D00035B82196C430D10541F7C701DF91CF916B +:1077E0001F910F91FF90EF90DF90CF90B4CFCF9289 +:1077F000DF92EF92FF920F931F93CF93DF937C0161 +:10780000C0E0D0E0C62ED12C87010C0F1D1F61E017 +:10781000F80187810F94FCB7B6010C2E02C0759554 +:1078200067950A94E2F76170F80187810F9435B883 +:107830002196C830D10541F7C701DF91CF911F9143 +:107840000F91FF90EF90DF90CF9085CF1F93CF9354 +:10785000DF93EC01162F642F8C810F9435B88D8146 +:107860008F3F19F060E00F9435B88F85612F84FF4A +:1078700005C0CE01DF91CF911F91B9CF70E084E0B8 +:10788000759567958A95E1F7CE0182DF612FCE016C +:10789000DF91CF911F917CCF40E0D8CF61E0FCDF3A +:1078A00080E496E00D9477B662E0F6DF80E496E03F +:1078B0000D9477B6CF93DF93CDB7DEB728970FB689 +:1078C000F894DEBF0FBECDBF28E0E7E1F3E0DE01B4 +:1078D000119601900D922A95E1F7FC012389421738 +:1078E00010F04FEF420FFE013196E40FF11DE40F4F +:1078F000F11D2081260F2068622F28960FB6F8947C +:10790000DEBF0FBECDBFDF91CF91C6CFFC01608936 +:10791000262F2460208B6C60BFCFCF93DF93EC01C8 +:10792000423018F08F8588608F874B8B1C8A22230A +:1079300029F0413019F48F8584608F8780E593ECBE +:107940000F9477B660E08C810F9435B860E08E813B +:107950000F9435B88D818F3F19F060E00F9435B8E2 +:107960006F8564FD19C063E0CE0112DF84E991E107 +:107970000F9477B663E0CE010BDF84E991E10F94B9 +:1079800077B663E0CE0104DF86E990E00F9477B626 +:1079900062E0CE01FDDE13C06062CE017DDF84E9CE +:1079A00091E10F9477B66F856062CE0175DF86E94D +:1079B00090E00F9477B66F856062CE016DDF6F85C2 +:1079C0006062CE0169DF8CE390E00F9477B684E0CB +:1079D000888BCE019BDF8CE390E00F9477B6CE01CD +:1079E0005DDF88EB9BE00F9477B682E0898B66E0E1 +:1079F000CE0152DF8CE390E00F9477B61D8ADF91C1 +:107A0000CF9108956F927F928F92AF92CF92EF9223 +:107A10000F931F93CF93DF93CDB7DEB73C01162FA3 +:107A2000842F5E854F8538899989F3018483258366 +:107A30000683E782C086A18682865387448735877E +:107A4000968761E00F94FCB7F30185818F3F19F0B1 +:107A500061E00F94FCB761E0F30186810F94FCB7FD +:107A6000112319F0F301178603C080E1F301878722 +:107A700020E041E060E1C301DF91CF911F910F91C0 +:107A8000EF90CF90AF908F907F906F9046CF8F9276 +:107A9000AF92CF92EF920F93DC0113961C921E923D +:107AA0001297E4E8F3E0ED93FC931F921F921F926C +:107AB0001F928C2CAE2CC02EE22E042F2FEF462FBF +:107AC00061E0A0DF0F900F900F900F900F91EF905B +:107AD000CF90AF908F900895CF93DF93EC01423019 +:107AE00018F08F8588608F874B8B1C8A222329F0A2 +:107AF000413019F48F8584608F8780E593EC0F9473 +:107B000077B660E08C810F9435B860E08E810F9479 +:107B100035B88D818F3F19F060E00F9435B86F85CF +:107B200064FD19C063E0CE0133DE84E991E10F9476 +:107B300077B663E0CE012CDE84E991E10F9477B64D +:107B400063E0CE0125DE86E990E00F9477B662E02F +:107B5000CE011EDE13C06062CE019EDE84E991E19B +:107B60000F9477B66F856062CE0196DE86E990E06D +:107B70000F9477B66F856062CE018EDE6F8560628E +:107B8000CE018ADE8CE390E00F9477B684E0888B98 +:107B9000CE01BCDE8CE390E00F9477B6CE0184DE9C +:107BA00080E496E00F9477B682E0898B66E0CE01A0 +:107BB00073DE8CE390E00F9477B640E068E0CE018E +:107BC00079DE6FE077E0CE010F94D0B841E068E055 +:107BD000CE0170DE6FE077E0CE010F94D0B842E0C6 +:107BE00066E0CE0167DE6DE077E0CE01DF91CF91F8 +:107BF0000D94D0B8FC0160896D7F608B68604CCEBD +:107C0000CF93DF93EC01262F8D898230B0F0FE01F7 +:107C1000E80FF11D658B3E8980ED860F8A3058F4A0 +:107C2000316081E090E00D8802C0880F991F0A94AE +:107C3000E2F7382B01C03E7F3E8B4D8981E0840FF7 +:107C40008D8B50E04830510508F0B6C0FA01EE586F +:107C5000FF4F0D94FDC32B3109F0AEC0AEC01E8A9C +:107C60002B3509F0A9C0A9C0223309F4A6C02F33CF +:107C700009F4A3C08E897AC08F89823331F08F33A3 +:107C800049F4223309F098C098C02A3419F4CE017F +:107C900005DE92C08E8982FF8FC02B3309F066C04B +:107CA0008CC08F898F3341F4888D823309F084C072 +:107CB000253309F081C081C08E8982FF7DC0988DF7 +:107CC0009B3311F480FD79C083FF76C02B3309F01C +:107CD00073C073C04F894F3371F4888D823309F0BC +:107CE0006BC0898D853309F067C02C3609F064C0FC +:107CF000CE0180DF61C08E8982FF5EC0988D9B338C +:107D000039F484FF05C0283489F54053698D2CC0AF +:107D100083FF52C0998D9B3309F04EC027C08E89D6 +:107D200082FF4AC0488D4B3361F4982F9073903393 +:107D300041F4283431F44F8940536A8D6053898D62 +:107D400032C083FF39C0998D9B33B1F585FF34C0B4 +:107D5000283461F440538F89880F8056982F990FEB +:107D6000990F980F490F6A8D605324C080FF24C07B +:107D700024C08E89982F9C709C30F1F4998D9B3390 +:107D8000D9F480768036C1F42834B1F4488D40535C +:107D90008F89880F8056982F990F990F980F490F48 +:107DA0006B8D60538A8D880F8056982F990F990F8D +:107DB000980F690FCE017EDD1D8A81E090E0DF9192 +:107DC000CF910895CF92DF92EF92FF920F931F937E +:107DD000CF93DF931F921F92CDB7DEB78C016770F0 +:107DE00088E0689FB00111246064C80149835A8308 +:107DF00053DD4981C42E5A81D52EE12CF12CD601B8 +:107E00006D916D01D801ED91FC910190F081E02D13 +:107E1000C8011995BFEFEB1AFB0AE8E0EE16F10472 +:107E200071F70F900F90DF91CF911F910F91FF90FD +:107E3000EF90DF90CF900895FC012589211102C0B9 +:107E40006B3109F4DDCE41E001DD81E090E0089581 +:107E500090915908911107C09091C00095FFFCCFF7 +:107E60008093C6000895913031F49091C80095FF39 +:107E7000FCCF8093CE0008951F920F920FB60F9201 +:107E800011240BB60F922F933F934F935F936F93F1 +:107E90008F939F93EF93FF938091C00084FF03C063 +:107EA0008091C6001DC06091C60080915908811163 +:107EB00017C02091550830915608C90101968F7757 +:107EC000992740915708509158088417950741F019 +:107ED000F901EB52F84F6083909356088093550850 +:107EE000FF91EF919F918F916F915F914F913F9192 +:107EF0002F910F900BBE0F900FBE0F901F901895F3 +:107F00001F920F920FB60F9211240BB60F922F9360 +:107F10003F934F935F936F938F939F93EF93FF9351 +:107F20008091C80084FF03C08091CE001DC0609185 +:107F3000CE00809159088130B9F4209155083091D4 +:107F40005608C90101968F7799274091570850919B +:107F500058088417950741F0F901EB52F84F6083F8 +:107F60009093560880935508FF91EF919F918F91C0 +:107F70006F915F914F913F912F910F900BBE0F909A +:107F80000FBE0F901F901895CF92DF92EF92FF9245 +:107F90006A017B01411581EE58076105710509F4FD +:107FA00063C082E08093C00060E079E08DE390E000 +:107FB000A70196010F94E1C32150310941095109EC +:107FC000CA01B90122E030E040E050E00F94E1C383 +:107FD00091E03093C5002093C4008091C10080617E +:107FE0008093C1008091C10088608093C10080911E +:107FF000C10080688093C100809159088130D1F51B +:10800000992341F082E08093C80060E079E08DE33D +:1080100090E006C01092C80060E874E88EE190E03D +:10802000A70196010F94E1C321503109410951097B +:10803000CA01B90122E030E040E050E00F94E1C312 +:108040003093CD002093CC008091C9008061809353 +:10805000C9008091C90088608093C9008091C900DF +:1080600080688093C90006C01092C00090E020E1B3 +:1080700030E0AFCFFF90EF90DF90CF900895209148 +:1080800057083091580880915508909156088217EA +:10809000930771F0F901EB52F84F80812F5F3F4F4A +:1080A0002F773327309358082093570890E008958E +:1080B0008FEF9FEF08958091570890915808909303 +:1080C00056088093550808954F925F926F927F9261 +:1080D0008F929F92AF92BF92CF92DF92EF92FF92D8 +:1080E0000F931F93CF93DF93CDB7DEB7A0970FB653 +:1080F000F894DEBF0FBECDBF411551056105710576 +:10810000C1F480E3A0960FB6F894DEBF0FBECDBFDA +:10811000DF91CF911F910F91FF90EF90DF90CF9063 +:10812000BF90AF909F908F907F906F905F904F9097 +:108130008FCECE0101967C01812C912C54018C01B3 +:10814000422E512C612C712C9FEF891A990AA90A91 +:10815000B90ACB01BA01A30192010F94BFC3CA01AE +:10816000F70161937F01A901BC014115510561052A +:10817000710551F775016401F1E0CF1AD108E108EA +:10818000F108F801EC0DFD1D80818A3010F4805D4E +:1081900001C0895C5DDE81E0C81AD108E108F10800 +:1081A0009FEFC916D906E906F90659F7A0960FB64A +:1081B000F894DEBF0FBECDBFDF91CF911F910F911D +:1081C000FF90EF90DF90CF90BF90AF909F908F90F7 +:1081D0007F906F905F904F9008952115310511F4B5 +:1081E000842F36CE71CF0F931F93CF93DF9300D0A0 +:1081F0001F92CDB7DEB78C0177FF11C08DE24983A6 +:108200005A836B837C8324DE49815A816B817C8114 +:1082100070956095509541955F4F6F4F7F4F2AE065 +:10822000C8010F900F900F900F90DF91CF911F9189 +:108230000F914ACF2115310511F4842F09CE2A3030 +:10824000310509F4D0CF40CF9A01462F552747FD7D +:108250005095652F752FEECF9A01AB01662757FD1C +:108260006095762FE7CF8DE0F3DD8AE0F1CD0F93B7 +:108270001F93CF93DF938C01EB018991882311F039 +:10828000E7DDFBCFC801DF91CF911F910F91EBCFBD +:10829000CF93DF93EC019A01AB01662757FD609500 +:1082A000762FC8DFCE01DF91CF91DDCFCF93DF9363 +:1082B000EC019A01462F50E060E070E08EDFCE01C5 +:1082C000DF91CF91D0CFCF93DF93EC019A01AB0137 +:1082D00060E070E082DFCE01DF91CF91C4CFCF9319 +:1082E000DF93EC017ADFCE01DF91CF91BCCF8F928B +:1082F0009F92AF92BF92CF92DF92EF92FF921F9325 +:10830000CF93DF93EC016A017B01122F20E030E074 +:10831000A901C701B6010F94E8BE87FF06C08DE230 +:1083200097DDF7FAF094F7F8F094B12C60E070E084 +:1083300080E09FE3B11641F020E030E040E251E4FC +:108340000F94EFBEB394F6CF9B01AC01C701B60109 +:108350000F940FBE6B017C010F945CBF4B015C015D +:108360000F9488BF9B01AC01C701B6010F940EBEEC +:108370006B017C012AE0B501A401CE01A5DE112329 +:1083800059F08FE2A82E85E0B82EF50181915F01AA +:10839000882311F05DDDF9CF112319F120E030E0E1 +:1083A00040E251E4C701B6010F94BDC16B017C01ED +:1083B0000F9457BF4B01AA2497FCA094BA2CB50187 +:1083C000A401CE0110DFC501B4010F948ABF9B0147 +:1083D000AC01C701B6010F940EBE6B017C011150B8 +:1083E000DBCFDF91CF911F91FF90EF90DF90CF9087 +:1083F000BF90AF909F908F90089579CFCF93DF93E8 +:10840000EC0175DFCE01DF91CF912DCFFC0165919D +:108410007591859194910895EF92FF920F931F9318 +:10842000CF93DF93EC01CC0FDD1FCC0FDD1FCE010E +:10843000805D914FEBDF9E012A5C364F79018E0102 +:10844000065D164FF80120813181428153810F94DE +:108450000FBEF7016083718382839383CE01885BB3 +:10846000914FD4DF9E012A5C3D4F7901F8012081B4 +:108470003181428153810F940FBEF7016083718374 +:1084800082839383CE01845C914FC0DFC65DDD4F54 +:10849000F80120813181428153810F940FBE68839E +:1084A00079838A839B83DF91CF911F910F91FF90F6 +:1084B000EF90089520910C0F30910D0FBC01C90170 +:1084C0008F5E904F0F94E7C79093030F8093020F36 +:1084D00021E0892B09F420E0822F0895CF93C82F43 +:1084E00040910E0250910F026091100270911102A2 +:1084F0004093ED085093EE086093EF087093F008F6 +:1085000020915802309159023093B7092093B6094F +:1085100024E630E030935902209358020F9411B6AC +:108520006093E8087093E9088093EA089093EB0859 +:108530008C2FCF910D94CD1480E00F94CD148091A9 +:10854000ED089091EE08A091EF08B091F0088093AB +:108550000E0290930F02A0931002B093110280912B +:10856000B6099091B70990935902809358020F94DD +:1085700011B66093E8087093E9088093EA08909335 +:10858000EB080895682F772767FD709580910C0F91 +:1085900090910D0F8F5E904F0F94AFC79093030F84 +:1085A0008093020F21E0892B09F420E0822F0895A7 +:1085B0008091020F9091030F4AE050E060E070E07C +:1085C00001960F94C0C5CB0108958091020F909140 +:1085D000030F4AE050E060E070E001960D94C0C5E2 +:1085E0008091020F9091030F60E070E001960D946E +:1085F00058C490915908911107C09091C00095FFFF +:10860000FCCF8093C6000895913031F49091C8005A +:1086100095FFFCCF8093CE000895EBDF80E090E0E3 +:1086200008952F923F924F925F926F927F928F9216 +:108630009F92AF92BF92CF92DF92EF92FF920F93F1 +:108640001F93CF93DF93CDB7DEB760970FB6F89443 +:10865000DEBF0FBECDBF1C012A013B0148015901FD +:1086600020E030E04CE052E4C301B2010F940EBEB2 +:1086700025E535E547E052E40F94EFBE6B017C0140 +:108680000F94C5BF0F9457BF8B0177FF12C020E036 +:1086900030E040E85FE3C701B6010F94EBC0181665 +:1086A0000CF05DC0C12CD12CE0E8EE2EEFE3FE2EE5 +:1086B00056C066307105DCF02AEA3AE24CE453E435 +:1086C000C301B2010F940EBE25E535E547E052E443 +:1086D0000F94EFBE6B017C0120E030E0A9010F9404 +:1086E000E8BE87FF3FC0C12CD12C76013BC0882754 +:1086F00077FD8095982F0F948ABF25E535E547E0F3 +:1087000052E40F94BDC120E030E04CE052E40F94FD +:108710000FBE9B01AC01C301B2010F940EBE25E553 +:1087200035E547E052E40F94EFBE6B017C0120E099 +:1087300030E0A9010F94E8BE87FD17C020E030E0CB +:1087400040E85FE3C701B6010F94EBC0181684F44C +:10875000C12CD12C70E8E72E7FE3F72E09C000E092 +:1087600010E006C005E010E003C0C12CD12C76015A +:1087700020E030E040EC50E4C501B4010F940EBE9F +:108780002BEA3AEA42E052E40F94EFBE2B013C019F +:108790000F94C5BF0F9457BF788B6F8777FF12C0B8 +:1087A00020E030E040E85FE3C301B2010F94EBC08A +:1087B00018160CF05FC0412C512C60E8662E6FE358 +:1087C000762E58C0AF85B8891697E4F026E535E5D2 +:1087D00049E253E4C501B4010F940EBE2BEA3AEA14 +:1087E00042E052E40F94EFBE2B013C0120E030E068 +:1087F000A9010F94E8BE87FD40C0E5E0F0E0F88BEA +:10880000EF8746C0882777FD8095982F0F948ABF01 +:108810002BEA3AEA42E052E40F94BDC120E030E096 +:1088200040EC50E40F940FBE9B01AC01C501B401B4 +:108830000F940EBE2BEA3AEA42E052E40F94EFBEE8 +:108840002B013C0120E030E0A9010F94E8BE87FD38 +:108850001CC020E030E040E85FE3C301B2010F94A8 +:10886000EBC01816ACF4412C512C50E8652E5FE398 +:10887000752E0EC0188A1F860BC0412C512C320158 +:1088800025E030E0388B2F8703C0412C512C32017A +:10889000A701960160E070E080E89FE30F940EBEB0 +:1088A00069837A838B839C83C80101969E838D8321 +:1088B000AF85B8891196BA87A987A301920160E0B4 +:1088C00070E080E89FE30F940EBE6B877C878D87F6 +:1088D0009E8747E02F853889429FF001439FF00D26 +:1088E0001124F887EF83E00FF11FEE0FFF1FEE0F4B +:1088F000FF1FE20DF31D2181328143815481698183 +:108900007A818B819C810F94BDC14B015C01EF8109 +:10891000F8858D819E81E80FF91FEE0FFF1FEE0F86 +:10892000FF1FE20DF31D2181328143815481C70174 +:10893000B6010F94BDC19B01AC01C501B4010F94F8 +:108940000FBE9B01AC016B857C858D859E850F9448 +:10895000BDC14B015C0127E0E985FA852E9FD0015E +:108960002F9FB00D1124B887AF83FD01E00FF11FD9 +:10897000EE0FFF1FEE0FFF1FE20DF31D218132816D +:108980004381548169817A818B819C810F94BDC11F +:1089900069837A838B839C83AF81B8858D819E8127 +:1089A000A80FB91FAA0FBB1FAA0FBB1FA20DB31D93 +:1089B00011962D913D914D915C911497C701B6018F +:1089C0000F94BDC19B01AC0169817A818B819C812F +:1089D0000F940FBE9B01AC01C301B2010F94BDC146 +:1089E0009B01AC01C501B4010F940FBE60960FB698 +:1089F000F894DEBF0FBECDBFDF91CF911F910F91D5 +:108A0000FF90EF90DF90CF90BF90AF909F908F90AE +:108A10007F906F905F904F903F902F9008954F926E +:108A20005F926F927F929F92AF92BF92CF92DF92AE +:108A3000EF92FF920F931F93CF93DF937C015B0123 +:108A40008A01E90190904A11911014C0FC018081C3 +:108A50009181A281B381FA0180839183A283B38340 +:108A6000FB0180819181A281B38188839983AA834C +:108A7000BB837FC091FE55C0FC01208131814281C2 +:108A8000538160913A1170913B1180913C1190910A +:108A90003D110F94BDC12B013C01F50120813181B5 +:108AA0004281538160913E1170913F11809140113C +:108AB000909141110F94BDC19B01AC01C301B20162 +:108AC0000F940FBEF8016083718382839383F70153 +:108AD0002081318142815381609142117091431113 +:108AE00080914411909145110F94BDC16B017C019F +:108AF000F50120813181428153816091461170914D +:108B0000471180914811909149110F94BDC19B016B +:108B1000AC01C701B6010F940FBE688379838A83C5 +:108B20009B8390FE26C02091221130912311409109 +:108B3000241150912511F801608171818281938106 +:108B40000F940FBEF8016083718382839383209119 +:108B500026113091271140912811509129116881D7 +:108B600079818A819B810F940FBE688379838A8380 +:108B70009B83DF91CF911F910F91FF90EF90DF903A +:108B8000CF90BF90AF909F907F906F905F904F90ED +:108B900008952F923F924F925F926F927F928F92A1 +:108BA0009F92AF92BF92CF92DF92EF92FF920F937C +:108BB0001F93CF93DF93CDB7DEB728970FB6F89406 +:108BC000DEBF0FBECDBF8C011B019E012F5F3F4F4B +:108BD000AE014B5F5F4F23DF20E030E0A9016D81E4 +:108BE0007E818F8198850F94E8BE87FF07C01D8224 +:108BF0001E821F821886FF24F39401C0F12C20E00E +:108C000030E040E850EC69817A818B819C810F943F +:108C1000E8BE87FF0AC080E090E0A0E8B0EC89835E +:108C20009A83AB83BC83FF24F39420E030E04FE7CA +:108C300053E46D817E818F8198850F94EBC0181667 +:108C400054F480E090E0AFE7B3E48D839E83AF837C +:108C5000B887FF24F39420E030E042E553E46981D3 +:108C60007A818B819C810F94EBC018164CF480E0C4 +:108C700090E0A2E5B3E489839A83AB83BC8303C00D +:108C8000FF2009F483C0C980DA80EB80FC808D80EE +:108C90009E80AF80B88470904A1171100BC0F801AB +:108CA00080829182A282B382F101C082D182E2826B +:108CB000F3826AC070FE1CC02091221130912311F2 +:108CC0004091241150912511C501B4010F940EBE9D +:108CD0004B015C0120912611309127114091281100 +:108CE00050912911C701B6010F940EBE6B017C0192 +:108CF00071FE4AC020912A1130912B1140912C1104 +:108D000050912D11C501B4010F94BDC12B013C013F +:108D100020912E1130912F1140913011509131112D +:108D2000C701B6010F94BDC19B01AC01C301B201E3 +:108D30000F940FBEF8016083718382839383209127 +:108D40003211309133114091341150913511C501D8 +:108D5000B4010F94BDC14B015C01209136113091DB +:108D600037114091381150913911C701B6010F9454 +:108D7000BDC19B01AC01C501B4010F940FBEF1014F +:108D80006083718382839383FF24F3948F2D2896CD +:108D90000FB6F894DEBF0FBECDBFDF91CF911F910C +:108DA0000F91FF90EF90DF90CF90BF90AF909F908A +:108DB0008F907F906F905F904F903F902F9008958D +:108DC000CF93DF931F92CDB7DEB7BE016F5F7F4FAA +:108DD0000F94C8880F90DF91CF910895682F87EF87 +:108DE0009FE00D9435CB08950F931F93CF93DF939E +:108DF00000D01F92CDB7DEB78C01FC01849188238F +:108E000071F049835A836B837C83F3DB0F5F1F4FC1 +:108E1000F80184917C816B815A814981F0CF22E0F5 +:108E200030E084ED97E00F900F900F900F90DF915E +:108E3000CF911F910F91E1CA0F931F93CF93DF93AF +:108E400000D01F92CDB7DEB78C01FC01849188233E +:108E500071F049835A836B837C83CBDB0F5F1F4F99 +:108E6000F80184917C816B815A814981F0CF2AE09D +:108E700030E084ED97E00F900F900F900F90DF910E +:108E8000CF911F910F91A9C9CF93C1E0C093AE02BA +:108E90006FEF89E69FE00F9435CBC093E402CF914A +:108EA00008951092AE0210920C1960E089E69FE0DE +:108EB0000F9435CB1092E4020895CF93C82F0F94EE +:108EC000891C81E00F94CD870F943D4882E00F9478 +:108ED000FF84C0FF15C086E69FE00F9423CB61E0BE +:108EE000680F86E69FE00F9435CB85E09FE00F94F6 +:108EF00030CBBC016F5F7F4F85E09FE00F944FCB7D +:108F0000C1FF15C088E69FE00F9423CB61E0680F96 +:108F100088E69FE00F9435CB83E09FE00F9430CB41 +:108F2000BC016F5F7F4F83E09FE00F944FCB81E0E8 +:108F30000F94CD8782E00F94FF84E0918609F0E0E2 +:108F4000EE0FFF1FE252F54B859194910F949649D5 +:108F500061E08DE09EE00E9469C461E08FEF9DE0DA +:108F6000CF910C9469C41092C20960E080EC99E042 +:108F70000E94A5B881E08093AE02089560E086E685 +:108F80009FE00F9435CB60E088E69FE00F9435CBEF +:108F900060E085E69FE00F9435CB60E084E69FE0DB +:108FA0000D9435CBEF92FF920F931F93CF93DF93E6 +:108FB0001F92CDB7DEB789830F943D4889818230F7 +:108FC00009F495C00CF062C0882309F46EC08130AA +:108FD00009F025C19FB7F8948091020184608093C5 +:108FE00002019FBFEFEFF1EE24E0E150F04020409E +:108FF000E1F700C000009FB7F894809102018B7FD9 +:10900000809302019FBF40E050E0BA018DEE9FE0E7 +:109010000F9447CB40E050E0BA0181EF9FE00F94FE +:1090200047CB60E086E69FE00F9435CB60E088E6B2 +:109030009FE00F9435CB60E085E69FE00F9435CB41 +:1090400060E084E69FE00F9435CB60E070E085E05F +:109050009FE00F944FCB60E070E083E09FE00F94BF +:109060004FCB60E070E081E09FE00F944FCB60E079 +:1090700070E08FEF9EE00F944FCB0F90DF91CF9178 +:109080001F910F91FF90EF900D948F67833009F43B +:1090900061C0843009F0C3C00F90DF91CF911F9160 +:1090A0000F91FF90EF900D94BF8F9FB7F894809130 +:1090B00002018460809302019FBF2FEF81EE94E054 +:1090C000215080409040E1F700C000009FB7F89425 +:1090D000809102018B7F809302019FBF0F90DF91EF +:1090E000CF911F910F91FF90EF900D9427490F940E +:1090F000274980EF73DE61E08FE59FE00F9453CB4B +:109100001092CA191092C9196091CB1984EC9FE092 +:109110000F9435CB69EC79E181EC9FE00F947B48AB +:109120009FB7F894809102018460809302019FBFF1 +:109130008FEF91EEE4E081509040E040E1F700C015 +:1091400000009FB7F894809102018B7F8093020109 +:109150009FBF65C081EF9DE00F946D5B40EE5DE0C9 +:1091600062E081E00F94166D9FB7F8948091020140 +:109170008460809302019FBFFFEF21EE84E0F150F5 +:1091800020408040E1F700C000009FB7F894809134 +:1091900002018B7F809302019FBF1092D40810922E +:1091A000D30849ED5DE063E083E00F94166D4091D4 +:1091B000D3085091D40863E083E00F944848E12C31 +:1091C000F12C09E210E06FEFC7010F9453CBC701F8 +:1091D000B8010F94ACC3892BD9F48091D308909136 +:1091E000D40801969093D4088093D30842ED5DE0B3 +:1091F00063E083E00F94166D4091D3085091D4083A +:1092000063E083E00F94484880ED9DE00F946D5B30 +:109210009FEFE91AF90AE114E0E1FE06A1F60F90CA +:10922000DF91CF911F910F91FF90EF90089565EC22 +:1092300078E080EA9DE00D941DC884E090E0909372 +:109240001802809317028091000186FD39C02FEF2C +:1092500083ED90E3215080409040E1F700C0000092 +:109260008091000186FD2CC00F943D4882E99DE06D +:109270000F946D5B809101018460809301019FB721 +:10928000F894809102018460809302019FBF8091D5 +:10929000000186FFFCCF9FB7F894809102018B7F7D +:1092A000809302019FBF2FEF87EA91E62150804013 +:1092B0009040E1F700C000000F94E14C60E072DEE6 +:1092C00082E090E090931802809317020895E09155 +:1092D0008609F0E0EE0FFF1FEC5BF54B8591949152 +:1092E0000F949C9581E00D94CD871F93CF93DF93CE +:1092F0000F949700EC01DF93CF9388E29DE09F935A +:109300008F930F944AC887E69FE00F9423CB182FC2 +:109310000F900F900F900F90CD2B29F481E0809348 +:10932000091110E002C0109209118FE19DE00F9425 +:109330009AC8112349F086E19DE00F949AC8DF9105 +:10934000CF911F910C94F4CA8CE09DE00F949AC8C1 +:10935000DF91CF911F910C9411CB8F929F92AF927E +:10936000BF92CF92DF92EF92FF92CF93DF938091E3 +:10937000CB19811185C00F9411B66B017C0120912E +:109380001202222309F474C040911702509118026E +:109390004130510509F46CC0809113029091140280 +:1093A000A0911502B091160246015701881A990A38 +:1093B000AA0ABB0A30E0A8EEB3E00F9403C48616F5 +:1093C0009706A806B9060CF45BC04430510541F17C +:1093D0004CF4423051050CF44BC0E4E5FEE08491BE +:1093E000EF0109C04530510509F042C0E4E5FEE057 +:1093F0008491EF012BC0882329F0FBD82196FE0130 +:109400008491F9CFE7EEFCE08491EF01882329F005 +:10941000F0D82196FE018491F9CF8AE0EAD828C0DD +:10942000E4E5FEE08491EF01882329F0E2D821965B +:10943000FE018491F9CFE1EDFCE08491EF018823F6 +:1094400061F3D7D82196FE018491F9CF882329F0C2 +:10945000D0D82196FE018491F9CFEAEBFCE084910B +:10946000EF018823D1F2C5D82196FE018491F9CF6E +:10947000C0921302D0921402E0921502F0921602EA +:10948000DF91CF91FF90EF90DF90CF90BF90AF90A2 +:109490009F908F90089580E1E6E3F9E0A1E0B9E0C4 +:1094A00001900D928A95E1F70895CF93C0E0209145 +:1094B000080F3091090F232BB9F088E893E00E9440 +:1094C0005A4281110FC08CE893E00E945A428111E8 +:1094D00009C08091070F811102C00E9493C31092AE +:1094E000070FE5CFC1E0F5CF8C2FCF9108952F92D4 +:1094F0003F924F925F926F927F928F929F92AF9224 +:10950000BF92CF92DF92EF92FF920F931F93CF9370 +:10951000DF931F92CDB7DEB70F943D48E0918609E7 +:10952000F0E0EE0FFF1FE05FF44B4591549161E0D6 +:1095300080E00F94166D81E00F94CD148983E7E1EC +:10954000FEE0E4918E2F992781950CF490951C01F3 +:1095500084E00F947536AEE3B9E01D921D921D9222 +:109560001C921397EAE3F9E0208131814281538113 +:10957000A6E3B9E06D917D918D919C91E2E4CE2EB0 +:10958000E9E0DE2EE12CF12C87010F94981183DFA6 +:109590008CE29EE00E9406422DEC3CEC4CE85FE33E +:1095A0000F94BDC14B015C01B101882777FD809507 +:1095B000982F0F948ABF9B01AC01C501B4010F9491 +:1095C000BDC1E9E0F9E020813181428153810F94EE +:1095D0000FBE2B013C01A9E0B9E06D937D938D9303 +:1095E0009C931397E2E6F2E060817181828193811E +:1095F00060930E0270930F028093100290931102F9 +:1096000020E030E040E752E40F94EFBE4B015C01F4 +:10961000A5E0B9E02D913D914D915C91E1E0F9E03B +:109620006081718182819381A2E2B9E0BF93AF939F +:10963000FDE0CF2EF9E0DF2E830172010F942806A2 +:109640000F94891C0F94D43680E00F94CD14AEE3B0 +:10965000B9E01D921D921D921C921397EAE3F9E066 +:109660002081318142815381A6E3B9E06D917D91E2 +:109670008D919C91A2E4CA2EA9E0DA2EE12CF12C66 +:1096800087010F94981107DF8AE0829DB001839DC6 +:10969000700D1124882777FD8095982F0F948ABF2D +:1096A000E9E0F9E020813181428153810F940FBEBE +:1096B0002B013C01A9E0B9E06D937D938D939C93C0 +:1096C000139720E030E040E05FE3E2E6F2E0608103 +:1096D0007181828193810F94BDC160930E0270935A +:1096E0000F02809310029093110220E030E040E7D7 +:1096F00052E40F94EFBE4B015C01A5E0B9E02D915F +:109700003D914D915C91E1E0F9E060817181828150 +:109710009381A2E2B9E0BF93AF93BDE0CB2EB9E055 +:10972000DB2E830172010F9428060F94891C898116 +:109730000F94CD1480E090E0A4E5B3E4EEE3F9E00B +:1097400080839183A283B383AAE3B9E02D913D91F5 +:109750004D915C91E6E3F9E06081718182819381B2 +:1097600012E4C12E19E0D12EE12CF12C04E513E412 +:109770000F94981181E00F900F900F900F900F9021 +:10978000DF91CF911F910F91FF90EF90DF90CF90DD +:10979000BF90AF909F908F907F906F905F904F9011 +:1097A0003F902F9008952F923F924F925F926F9229 +:1097B0007F928F929F92AF92BF92CF92DF92EF9261 +:1097C000FF920F931F93CF93DF93CDB7DEB7299707 +:1097D0000FB6F894DEBF0FBECDBF3C0181E00F9401 +:1097E000CD148F8382E06816710408F081C2F30102 +:1097F000EB5EF14FE491D301AA0FBB1FAA0FBB1F71 +:10980000BA83A983A65ABD4FBE83AD838D919D9126 +:109810000D90BC91A02D80930E0290930F02A09307 +:109820001002B093110281E0062C01C0880F0A9447 +:10983000EAF70F947536E981FA81EA5CF64FF98709 +:10984000E8871082118212821382E0903E09F09024 +:109850003F09009140091091410920913A09309146 +:109860003B0940913C0950913D0960913609709146 +:1098700037098091380990913909E2E4CE2EE9E068 +:10988000DE2E0F949811E981FA81EF5FF64F2F01D8 +:1098900080E090E0A0E4B0E480839183A283B3836E +:1098A00020E030E040E752E460910E0270910F0238 +:1098B00080911002909111020F94EFBE4B015C0158 +:1098C000E0900909F0900A0900910B0910910C0928 +:1098D0002091050930910609409107095091080926 +:1098E0006091010970910209809103099091040926 +:1098F000F2E22F2EF9E03F2E3F922F92ADE0CA2EDA +:10990000A9E0DA2E0F9428060F94891C0F94B51441 +:1099100080E00F94CD14A885B9851D921D921D92EB +:109920001C921397E0903E09F0903F090091400986 +:109930001091410920913A0930913B0940913C092D +:1099400050913D096091360970913709809138092D +:1099500090913909B2E4CB2EB9E0DB2E0F94981127 +:1099600080E090E0A0E8BFEBF20180839183A283C6 +:10997000B38320E030E040E752E460910E02709142 +:109980000F0280911002909111020F94EFBE4B01D3 +:109990005C01E0900909F0900A0900910B0910910F +:1099A0000C09209105093091060940910709509151 +:1099B0000809609101097091020980910309909151 +:1099C00004093F922F92EDE0CE2EE9E0DE2E0F94B7 +:1099D00028060F94891C81E00F94CD1489819A8107 +:1099E0008C5D914F0E9406422DEC3CEC4CE85FEB05 +:1099F0000F94BDC1D2016D937D938D939C9313976A +:109A000020E030E040E752E460910E0270910F02D6 +:109A100080911002909111020F94EFBE4B015C01F6 +:109A2000E0900909F0900A0900910B0910910C09C6 +:109A300020910509309106094091070950910809C4 +:109A400060910109709102098091030990910409C4 +:109A50003F922F920F9428060F94891C0F94B514EF +:109A600080E00F94CD14E885F9851082118212826E +:109A70001382E0903E09F0903F0900914009109157 +:109A8000410920913A0930913B0940913C0950919C +:109A90003D0960913609709137098091380990919C +:109AA0003909F2E4CF2EF9E0DF2E0F94981180E00F +:109AB00090E0A0E2B1E4F20180839183A283B383BA +:109AC00020E030E040E752E460910E0270910F0216 +:109AD00080911002909111020F94EFBE4B015C0136 +:109AE000E0900909F0900A0900910B0910910C0906 +:109AF0002091050930910609409107095091080904 +:109B00006091010970910209809103099091040903 +:109B10003F922F92ADE0CA2EA9E0DA2E0F942806CC +:109B20000F94891C0F94B51481E00F94CD1480E03C +:109B300090E0A0E7B1ECF20180839183A283B3832C +:109B400020E030E040E05FE3AD81BE816D917D912A +:109B50008D919C910F94BDC160930E0270930F0282 +:109B6000809310029093110220E030E040E752E42D +:109B70000F94EFBE4B015C01E0900909F0900A09D7 +:109B800000910B0910910C092091050930910609EB +:109B900040910709509108096091010970910209EB +:109BA00080910309909104093F922F920F94280607 +:109BB0000F94891CC3010E940C42F301E95DF64F2A +:109BC00081E080830F94D4360F94B51480E00F9415 +:109BD000CD142AE037ED43E25FE3E885F985608143 +:109BE0007181828193810F940EBEA885B9856D9392 +:109BF0007D938D939C931397E0903E09F0903F09DD +:109C0000009140091091410920913A0930913B0996 +:109C100040913C0950913D09609136097091370996 +:109C20008091380990913909B2E4CB2EB9E0DB2E4E +:109C30000F9498112AE037ED43E25FE3E885F98558 +:109C400060817181828193810F940FBEA885B9854F +:109C50006D937D938D939C931397F2016083718331 +:109C6000828393832AE939E949E95EE360910E0230 +:109C700070910F0280911002909111020F94BDC15A +:109C800020E030E040E752E40F94EFBE4B015C016E +:109C9000E0900909F0900A0900910B0910910C0954 +:109CA0002091050930910609409107095091080952 +:109CB0006091010970910209809103099091040952 +:109CC0003F922F92EDE0CE2EE9E0DE2E0F94280693 +:109CD0000F94891C10920E0210920F021092100223 +:109CE000109211020FB6F894DEBF0FBECDBF62C155 +:109CF00092E06916710409F05DC1E7E1FEE074903D +:109D000010923E0910923F091092400910924109A9 +:109D100020913A0930913B0940913C0950913D090D +:109D2000609136097091370980913809909139090D +:109D3000F2E4CF2EF9E0DF2EE12CF12C87010F9415 +:109D400098118CE29EE00E9406424B015C01672D57 +:109D5000772767FD7095872F972F0F948ABF2B0168 +:109D60003C0120E030E040EC5FE3C501B4010F941A +:109D7000BDC1A30192010F94BDC169837A838B8316 +:109D80009C836093090970930A0980930B0990934F +:109D90000C0960916202709163028091640290915B +:109DA000650260930E0270930F02809310029093ED +:109DB000110220E030E040E752E40F94EFBE4B0187 +:109DC0005C012091050930910609409107095091E5 +:109DD000080960910109709102098091030990912D +:109DE0000409A2E22A2EA9E03A2E3F922F92BDE06A +:109DF000CB2EB9E0DB2EE980FA800B811C810F9419 +:109E000028060F94891C10923E0910923F09109267 +:109E100040091092410920913A0930913B09409143 +:109E20003C0950913D096091360970913709809144 +:109E300038099091390912E4C12E19E0D12EE12C94 +:109E4000F12C87010F94981180E29EE00E94064257 +:109E50009058A30192010F94BDC169837A838B83CB +:109E60009C836093090970930A0980930B0990936E +:109E70000C0920E030E040E752E460910E0270915E +:109E80000F0280911002909111020F94EFBE4B01CE +:109E90005C01209105093091060940910709509114 +:109EA000080960910109709102098091030990915C +:109EB00004093F922F920DE0C02E09E0D02EE980D8 +:109EC000FA800B811C810F9428060F94891C80E274 +:109ED0009EE00E9406429B01AC010F940FBEA301BD +:109EE00092010F94BDC12B013C016093090970934D +:109EF0000A0980930B0990930C0920E030E040E0C0 +:109F00005FE36091620270916302809164029091BC +:109F100065020F94BDC160930E0270930F0280938F +:109F200010029093110220E030E040E752E40F94D9 +:109F3000EFBE4B015C01209105093091060940916B +:109F400007095091080960910109709102098091F7 +:109F50000309909104093F922F92830172010F949B +:109F600028060F94891C82E090E00E940C428091A8 +:109F70003E0990913F09A0914009B0914109809319 +:109F8000090990930A09A0930B09B0930C09109248 +:109F90000E0210920F0210921002109211020F94F2 +:109FA000B51481E0809329090F900F900F900F90C6 +:109FB0000F900F908F8129960FB6F894DEBF0FBED9 +:109FC000CDBFDF91CF911F910F91FF90EF90DF9068 +:109FD000CF90BF90AF909F908F907F906F905F9049 +:109FE0004F903F902F900D94CD14CF92DF92EF922F +:109FF000FF920F931F934FDA80E090E0D4DB81E073 +:10A0000090E0D1DBE0903E09F0903F0900914009DB +:10A010001091410920913A0930913B0940913C0946 +:10A0200050913D0960913609709137098091380946 +:10A0300090913909F2E4CF2EF9E0DF2E0F949811B8 +:10A040001F910F91FF90EF90DF90CF900D94B5147A +:10A050000F9411B66093E8087093E9088093EA08BA +:10A060009093EB08089520E030E0A90168EB71E0DF +:10A0700084E50F9469BA69E170E080E090E00F94A4 +:10A0800040B684E50F948DBD64E170E080E090E01F +:10A090000D9440B68F929F92AF92BF92CF92DF9273 +:10A0A000EF92FF920F931F93CF93DF9300D01F92F5 +:10A0B000CDB7DEB71092BD181092BC181092BB1825 +:10A0C0001092BA180F943D4888EF9CE00F946D5B96 +:10A0D0008E010F5F1F4F7E0125E0E20EF11C84ED23 +:10A0E00097E00E943F408F3FEFEF9E07C1F3F801DA +:10A0F00081938F01EE15FF0591F789809A80AB80DF +:10A10000BC808BE20E94F942C12CD12C7601809157 +:10A110008509882309F447C006E718E0C814D90464 +:10A12000EA04FB04A1F084ED97E00E943F408F3FDA +:10A13000FFEF9F07C1F32FEFC21AD20AE20AF20A19 +:10A14000F80181938F01F8E0063B1F0739F766E7B6 +:10A1500078E080EC99E00E9474B88BE20E94F942AA +:10A160000F941B29C814D904EA04FB0481F67BDF91 +:10A1700060E080EC99E00E94A5B810928509EEE7B6 +:10A18000FAE4E590F490F7018491882331F00E947D +:10A19000F942FFEFEF1AFF0AF6CF8AE00E94F94278 +:10A1A00080E090E000C00F900F900F900F90DF9133 +:10A1B000CF911F910F91FF90EF90DF90CF90BF90C4 +:10A1C000AF909F908F900895CF93C82F8FEF9FE00F +:10A1D0000F9423CB8130C1F40F94891CF89491E043 +:10A1E0009C27909318190F94AC37B19A1092850060 +:10A1F0001092840080ED97E090938900809388000E +:10A200007894CF910D943C1ECF9108952F923F9258 +:10A210004F925F926F927F928F929F92AF92BF9276 +:10A22000CF92DF92EF92FF920F931F93CF93DF9322 +:10A2300000D01F921F92CDB7DEB7382E81E0C4DF69 +:10A24000311012C01092BB181092BA181092BD189B +:10A250001092BC181092BF181092BE181092C1181C +:10A260001092C0180F94A24880E00F94CD878BE421 +:10A2700091E10E9481FA0E94B0DC0E94D2F9109212 +:10A280002709109228091092290981E00E946E4244 +:10A29000EEE7FBE4859194910E94E046A6DE80E023 +:10A2A0000F94CD1420E030E040EA50E4609136098C +:10A2B0007091370980913809909139090F940FBE38 +:10A2C0002B013C016093360970933709809338095C +:10A2D0009093390920E030E040EA50E460913A0977 +:10A2E00070913B0980913C0990913D090F940FBEFC +:10A2F0006A837B838C839D8360933A0970933B09C7 +:10A3000080933C0990933D0920E030E040E252E424 +:10A310006091620270916302809164029091650283 +:10A320000F94EFBE4B015C01E0903E09F0903F09B5 +:10A33000009140091091410982E299E09F938F9327 +:10A3400022E4C22E29E0D22E2A813B814C815D81FC +:10A35000C301B2010F9428060F94891CC8D80F902E +:10A360000F90882309F4A3C173DE311058C084E034 +:10A3700090E09093180280931702E0918609F0E034 +:10A38000EE0FFF1FE25DF74B8591949140E060E096 +:10A390000F94DA8A882359F0E0918609F0E0EE0FF5 +:10A3A000FF1FE65DF64B859194910F949C95E0918B +:10A3B0008609F0E0EE0FFF1FEA50F54B859194916E +:10A3C0000F949C95E0918609F0E0EE0FFF1FE45793 +:10A3D000F64B859194910F949C9582E090E0909338 +:10A3E000180280931702E0918609F0E0EE0FFF1F3C +:10A3F000EA58F54B859194910E94E04641E050E087 +:10A4000062E080E00F944848E0918609F0E0EE0FAA +:10A41000FF1FEE58F54B859194910F946D5B80E092 +:10A4200090E0A0EAB0E480933E0990933F09A093A6 +:10A430004009B093410981E00F94CD14282E84E0A7 +:10A440000F94753620E030E040E252E46091620201 +:10A450007091630280916402909165020F94EFBE47 +:10A460004B015C01E0903E09F0903F0900914009EA +:10A470001091410920913A0930913B0940913C09E2 +:10A4800050913D09609136097091370980913809E2 +:10A4900090913909E2E2F9E0FF93EF93E2E4CE2EE6 +:10A4A000E9E0DE2E0F9428060F94891C0F94D43611 +:10A4B000822D0F94CD1482E00F94F81C0F900F9012 +:10A4C00020E030E040EA50E40F94E8BE8111EBC098 +:10A4D00086E50E94C242882361F0E091020FF0916C +:10A4E000030F8181893039F08F7D41F00E94D8427D +:10A4F00003C01A8205C081E08A8302C091E09A837A +:10A500003320B1F00E949C420E9405DD0E9457DE7C +:10A510000E942FF3882309F4C0C087EF9FE00F94B7 +:10A5200023CB803F09F0BBC081E00E94EE46B7C05C +:10A530008AEF0E94EE4660E070E088EF9FE00F94A3 +:10A540004FCB1982BE016F5F7F4F8A810E94FCEF63 +:10A550003C010E949C42212C312CB0EA4B2EB0E4ED +:10A560005B2E20923E0930923F0940924009509262 +:10A57000410920E030E040E252E4609162027091D3 +:10A58000630280916402909165020F94EFBE4B01CB +:10A590005C0120913A0930913B0940913C0950916E +:10A5A0003D09609136097091370980913809909181 +:10A5B0003909A2E2B9E0BF93AF9312E4C12E19E0CA +:10A5C000D12E820171010F9428060F94891C0F90DF +:10A5D0000F9077FC47C019828BE491E10E9481FAC9 +:10A5E0000E9477DC81E00E946E42FFDCAE014F5F8B +:10A5F0005F4F6A8181E00E9451F53C010E949C42BC +:10A6000020923E0930923F09409240095092410900 +:10A6100020E030E040E252E4609162027091630217 +:10A6200080916402909165020F94EFBE4B015C0132 +:10A6300020913A0930913B0940913C0950913D09E4 +:10A6400060913609709137098091380990913909E4 +:10A65000A2E2B9E0BF93AF930F9428060F94891C30 +:10A660000F900F906981C3010F94B3A677FC15C0BA +:10A6700086EE0E94EE468FE59FE00F9423CB81305B +:10A6800071F0E0918609F0E0EE0FFF1FEC58F44BFB +:10A69000859194910F949C9502C010E001C011E047 +:10A6A0000F94D43605C083E59CE00F949C9510E090 +:10A6B00081E00F94CD8780E087DD812F0F900F9090 +:10A6C0000F900F900F90DF91CF911F910F91FF90FE +:10A6D000EF90DF90CF90BF90AF909F908F907F9042 +:10A6E0006F905F904F903F902F900895CF93DF939E +:10A6F00084ED97E00E945B40E8E2F9E4C591D491D3 +:10A70000FE018491882321F00E94F9422196F8CF1E +:10A710004091F20E5091F30E6091F40E7091F50E8F +:10A720004F5F5F4F6F4F7F4F2AE030E084ED97E03F +:10A730000E941A418AE00E94F9420F9411B6609378 +:10A74000E8087093E9088093EA089093EB08E0E941 +:10A75000F9E4C591D491FE018491882321F00E94EF +:10A76000F9422196F8CF8AE0DF91CF910C94F9421B +:10A77000CF93DF930F9411B66093E8087093E908C4 +:10A780008093EA089093EB08E0910C0FF0910D0F85 +:10A79000E25FF04F8081813089F4E0E9F9E4C5910E +:10A7A000D491FE018491882321F00E94F9422196E0 +:10A7B000F8CF8AE0DF91CF910C94F942DF91CF91ED +:10A7C00008958F929F92AF92BF92CF92DF92EF92B5 +:10A7D000FF920F931F93CF93DF933FEEE32E34E06E +:10A7E000F32E06E319E0C1E0D9E048EBC42E49E0BE +:10A7F000D42EF70181917F010E94C242882319F172 +:10A800000E94F0424B015C01F6018081811103C07E +:10A810006091EC0801C061E070E080E090E00F948E +:10A820008ABFF80120813181428153810F94BDC1DB +:10A830009B01AC01C501B4010F940FBE68837983FD +:10A840008A839B8309C0F80180819181A281B381B1 +:10A8500088839983AA83BB830C5F1F4F2496FFEFE5 +:10A86000CF1ADF0A83EFE81684E0F80611F686E4D3 +:10A870000E94C2428823D9F00E94F0426B017C0101 +:10A880006093F1087093F2088093F3089093F408B2 +:10A8900020E030E0A9010F94EBC0181644F4C092F8 +:10A8A0000E02D0920F02E0921002F0921102DF919C +:10A8B000CF911F910F91FF90EF90DF90CF90BF90BD +:10A8C000AF909F908F9008957CDF89E40E94C242F0 +:10A8D000882359F00E94F0426093F5087093F608BF +:10A8E0008093F7089093F80808C01092F50810922A +:10A8F000F6081092F7081092F8088AE40E94C24203 +:10A90000882359F00E94F0426093F9087093FA0886 +:10A910008093FB089093FC0808951092F908109218 +:10A92000FA081092FB081092FC080895CF92DF926B +:10A93000EF92FF92CF93DF93EC01BC016C5F7F4FEE +:10A940000E94C94520E030E0A90160913E0270916B +:10A950003F0280914002909141020F940FBE6B0123 +:10A960007C019B01AC01688579858A859B850F9464 +:10A97000E8BE87FF04C0C886D986EA86FB86C090F9 +:10A980003202D0903302E0903402F0903502A701F9 +:10A990009601688579858A859B850F94EBC018168A +:10A9A00024F4C886D986EA86FB86DF91CF91FF9092 +:10A9B000EF90DF90CF9008952F923F924F925F9249 +:10A9C0006F927F928F929F92AF92BF92CF92DF92BF +:10A9D000EF92FF920F931F93CF93DF93CDB7DEB724 +:10A9E000AB970FB6F894DEBF0FBECDBF9F878E87A3 +:10A9F000798B688B5B8B4A8B3D8B2C8B1F8B0E8BE3 +:10AA0000ED82DC018D909D90AD90BC904090360918 +:10AA1000509037096090380970903909DB018D91A9 +:10AA20009D910D90BC91A02D88879987AA87BB879F +:10AA3000C0903A09D0903B09E0903C09F0903D0964 +:10AA400020913E0930913F094091400950914109C0 +:10AA5000EA89FB8960817181828193810F940EBEA6 +:10AA6000688F798F8A8F9B8F80914B11811173C072 +:10AA7000AE89BF898D909D90AD90BC90EA89FB898D +:10AA8000E080F18002811381A889B9892D913D91DF +:10AA90004D915C91EE85FF8560817181828193810A +:10AAA000FE013596FF93EF93CC88DD880F9428063E +:10AAB000EE85FF8580819181A281B38180933609E3 +:10AAC00090933709A0933809B0933909E889F98937 +:10AAD00080819181A281B38180933A0990933B094F +:10AAE000A0933C09B0933D09EA89FB89808191815B +:10AAF000A281B38180933E0990933F09A0934009BE +:10AB0000B0934109EC89FD8980819181A281B38153 +:10AB10008093420990934309A0934409B093450957 +:10AB20000F900F90AB960FB6F894DEBF0FBECDBF5F +:10AB3000DF91CF911F910F91FF90EF90DF90CF9019 +:10AB4000BF90AF909F908F907F906F905F904F904D +:10AB50003F902F900895A3019201C501B4010F9475 +:10AB60000EBE2B013C0120E030E0A9010F94EBC0A8 +:10AB700053014201181624F0B7FAB094B7F8B09414 +:10AB8000A7019601688579858A859B850F940EBEFD +:10AB9000688779878A879B8720E030E0A9010F9436 +:10ABA000EBC0288539854A855B8518160CF050580E +:10ABB000C501B4010F940FBE6B017C0120E030E0B1 +:10ABC000A9010F94EBC018160CF052CF20E030E032 +:10ABD00040EF51E4C701B6010F94EFBE0F94D5BE0C +:10ABE0000F9457BF7D876C87623071050CF440CF9E +:10ABF00020914209309143094091440950914509FF +:10AC0000AC89BD896D917D918D919C910F940EBE03 +:10AC10006C8F7D8F8E8F9F8F22242394312C8C8577 +:10AC20009D85AA2797FDA095BA2F88A799A7AAA7BF +:10AC3000BBA7DE011596BF83AE83B101882777FDE0 +:10AC40008095982F0F948ABF6B017C0168A579A528 +:10AC50008AA59BA50F948ABF9B01AC01C701B601D1 +:10AC60000F94EFBE6B017C01EE89FF89808091809B +:10AC7000A280B3802C8D3D8D4E8D5F8D0F94BDC114 +:10AC80009B01AC0160914209709143098091440994 +:10AC9000909145090F940FBE69837A838B839C83BF +:10ACA000288D398D4A8D5B8DC701B6010F94BDC1CA +:10ACB00020913E0930913F0940914009509141094E +:10ACC0000F940FBE68A379A38AA39BA32885398517 +:10ACD0004A855B85C701B6010F94BDC120913A0931 +:10ACE00030913B0940913C0950913D090F940FBEB2 +:10ACF0006CA37DA38EA39FA3A3019201C701B601FC +:10AD00000F94BDC12091360930913709409138091F +:10AD1000509139090F940FBEFF81FF932E812F931D +:10AD2000DE0111966D01E8A0F9A00AA11BA12CA1DA +:10AD30003DA14EA15FA10F942806BFEF2B1A3B0A3D +:10AD40000F900F90EC85FD852E163F0609F075CF0C +:10AD50008FCE4F925F926F927F928F929F92AF921F +:10AD6000BF92CF92DF92EF92FF920F931F93CF93F8 +:10AD7000DF93CDB7DEB728970FB6F894DEBF0FBECE +:10AD8000CDBF81E099E0D2DD0F9411B66093E80861 +:10AD90007093E9088093EA089093EB088091010989 +:10ADA00090910209A0910309B09104098D839E83BB +:10ADB000AF83B8879C01AD01609136097091370966 +:10ADC00080913809909139090F94E8BE811197C09C +:10ADD0004090050950900609609007097090080995 +:10ADE000A301920160913A0970913B0980913C095D +:10ADF00090913D090F94E8BE811181C020E030E0C0 +:10AE000040E752E460910E0270910F0280911002AF +:10AE1000909111020F94EFBE4B015C01E090090983 +:10AE2000F0900A0900910B0910910C0982E299E057 +:10AE30009F938F936DE0C62E69E0D62EA3019201F9 +:10AE40006D817E818F8198850F9428060F900F90D9 +:10AE50008091010990910209A0910309B091040920 +:10AE60008093360990933709A0933809B093390934 +:10AE70008091050990910609A0910709B0910809F0 +:10AE800080933A0990933B09A0933C09B0933D0904 +:10AE90008091090990910A09A0910B09B0910C09C0 +:10AEA00080933E0990933F09A0934009B0934109D4 +:10AEB00080910D0990910E09A0910F09B091100990 +:10AEC0008093420990934309A0934409B0934509A4 +:10AED00028960FB6F894DEBF0FBECDBFDF91CF919D +:10AEE0001F910F91FF90EF90DF90CF90BF90AF90A8 +:10AEF0009F908F907F906F905F904F900895E0901B +:10AF000022096091580270915902882777FD809537 +:10AF1000982F0F948ABF20910E0230910F0240911A +:10AF20001002509111020F94BDC12EE333EC4EE29A +:10AF300059E30F94BDC169837A838B839C838E010F +:10AF40000F5F1F4F2DE039E049E059E065E079E0FF +:10AF500081E099E031DD7CCF4F925F926F927F92DA +:10AF60008F929F92AF92BF92CF92DF92EF92FF9219 +:10AF70000F931F93CF93C62FE0912209F0E088230F +:10AF800009F4D9C0DF01A25EB64F8C918111AFC127 +:10AF90008091360990913709A0913809B09139090B +:10AFA0008093010990930209A0930309B0930409C7 +:10AFB00080913A0990913B09A0913C09B0913D09DB +:10AFC0008093050990930609A0930709B093080997 +:10AFD00080913E0990913F09A0914009B0914109AB +:10AFE0008093090990930A09A0930B09B0930C0967 +:10AFF000C0904209D0904309E0904409F09045097F +:10B00000C0920D09D0920E09E0920F09F09210093A +:10B01000EE0FFF1FEE0FFF1FEE5BFD4F2081318112 +:10B0200042815381662349F060912202709123028C +:10B03000809124029091250208C0609126027091AF +:10B04000270280912802909129020F94EFBE9B0164 +:10B05000AC01C701B6010F940FBE60934209709313 +:10B060004309809344099093450982E499E00F9441 +:10B070000D1380900E0290900F02A0901002B090DD +:10B08000110220E030E040E752E460911E0270912E +:10B090001F0280912002909121020F94BDC1609304 +:10B0A0000E0270930F028093100290931102E091B0 +:10B0B0002209F0E0E25EF64F81E080834ADE2091D3 +:10B0C0001A0930911B0940911C0950911D0960918A +:10B0D0003E0970913F0980914009909141090F9478 +:10B0E0000EBE7B018C0160933E0970933F098093F3 +:10B0F00040099093410920913A0930913B094091D0 +:10B100003C0950913D096091360970913709809151 +:10B11000380990913909E2E4CE2EE9E0DE2E0F9451 +:10B12000981117DE80920E0290920F02A0921002E8 +:10B13000B0921102DCC0E25EF64F8081882309F4F0 +:10B14000D6C08090360990903709A0903809B09009 +:10B1500039098092010990920209A0920309B092E4 +:10B16000040940903A0950903B0960903C09709066 +:10B170003D094092050950920609609207097092B4 +:10B18000080960913E0970913F09809140099091B2 +:10B1900041096093090970930A0980930B09909300 +:10B1A0000C09009142091091430920914409309102 +:10B1B000450900930D0910930E0920930F09309350 +:10B1C000100920911A0930911B0940911C095091D6 +:10B1D0001D090F940FBE7B018C0160933E09709393 +:10B1E0003F09809340099093410972E4C72E79E0AA +:10B1F000D72EA3019201C501B4010F9498111091AB +:10B200002209CC2389F02091120930911309409131 +:10B2100014095091150960912202709123028091C6 +:10B2200024029091250210C020911609309117092F +:10B2300040911809509119096091260270912702D6 +:10B2400080912802909129020F940FBE24E0129F52 +:10B25000F0011124EE5BFD4F208131814281538149 +:10B260000F94EFBE9B01AC016091420970914309BC +:10B2700080914409909145090F940EBE6093420954 +:10B2800070934309809344099093450982E499E0BF +:10B290000F940D13C0900E02D0900F02E090100298 +:10B2A000F090110220E030E040E752E460911A0291 +:10B2B00070911B0280911C0290911D020F94BDC1E0 +:10B2C00060930E0270930F0280931002909311020C +:10B2D000E0912209F0E0E25EF64F10823ADDC09282 +:10B2E0000E02D0920F02E0921002F0921102CF9162 +:10B2F0001F910F91FF90EF90DF90CF90BF90AF9094 +:10B300009F908F907F906F905F904F900895AF9235 +:10B31000BF92CF92DF92EF92FF920F931F93CF9342 +:10B32000DF93D82F2091F9083091FA084091FB085B +:10B330005091FC086091F5087091F6088091F7082B +:10B340009091F8080F94F8C0C62F172F082FF92EE8 +:10B350006091580270915902882777FD8095982F47 +:10B360000F948ABF20910E0230910F02409110027B +:10B37000509111020F94BDC120E030E040E752E44B +:10B380000F94EFBE20E030E048EC52E40F94EFBEA3 +:10B39000209122092F93DF93FF920F931F93CF9356 +:10B3A0005B016C01B2E0EB2E01E020E045EF58E0DC +:10B3B00061E079E086E399E00E9466FC80910109F2 +:10B3C00090910209A0910309B09104098093360974 +:10B3D00090933709A0933809B093390980910509F2 +:10B3E00090910609A0910709B091080980933A0944 +:10B3F00090933B09A0933C09B0933D0980910909C2 +:10B4000090910A09A0910B09B0910C0980933E0913 +:10B4100090933F09A0934009B093410980910D0991 +:10B4200090910E09A0910F09B091100980934209E3 +:10B4300090934309A0934409B09345090F9411B622 +:10B440006093E8087093E9088093EA089093EB080A +:10B450000F900F900F900F900F900F90DF91CF9162 +:10B460001F910F91FF90EF90DF90CF90BF90AF9022 +:10B470000895CF93DF931F92CDB7DEB77C01E1EE45 +:10B48000F9E084918F01882349F069830E94F94291 +:10B490000F5F1F4FF80184916981F5CF70E04AE09A +:10B4A00050E084ED97E00E944841F8940F944126C3 +:10B4B000179A10922709169A10922809149AEAE509 +:10B4C000FEE084918F01882339F00E94F9420F5FDA +:10B4D0001F4FF8018491F7CFE2EBFAE40591149144 +:10B4E000F8018491882329F00E94F9420F5F1F4FD1 +:10B4F000F7CF8AE00E94F942E114F10499F0F701D4 +:10B5000084918701882339F00E94F9420F5F1F4F11 +:10B51000F8018491F7CF8AE00E94F942C7010E94A6 +:10B52000E04606C0E6E1FAE4859194910F94C249A1 +:10B53000789406E010E00150110951F068EC70E0D9 +:10B5400080E090E00F9440B680E00F94FF84F3CF4A +:10B55000F894A895FECFCF93DF930F944126809166 +:10B56000D608811136C081E08093D6088091F20E12 +:10B570009091F30EA091F40EB091F50E8093EE0E23 +:10B580009093EF0EA093F00EB093F10EEAE5FEE07B +:10B590008491EF01882331F00E94F9422196FE0147 +:10B5A0008491F8CFE8EAFAE4C591D491FE01849140 +:10B5B000882321F00E94F9422196F8CF8AE00E9468 +:10B5C000F942EAE2F8E485919491DF91CF910D94EC +:10B5D0009649DF91CF9108958091D6080895FF9202 +:10B5E0000F931F93CF93DF93EC01809122098093F7 +:10B5F000D70884E50E94C242811102C080E06AC07F +:10B600000E94F0420F945CBFF62E6093D708662329 +:10B61000A9F3E4E5FEE084918F01882339F00E94CC +:10B62000F9420F5F1F4FF8018491F7CFCD36D10556 +:10B6300059F164F4C836D105A9F0C936D10509F02D +:10B640003DC0E6EFF9E4C591D49118C0CA3DD105DB +:10B6500029F1CD3DD10509F031C0E6EEF9E4C591FF +:10B66000D49126C0E8EFF9E4C591D491FE0184910C +:10B67000882321F10E94F9422196F8CF89918823ED +:10B68000E9F00E94F942FACFE4EFF9E4C591D491D0 +:10B690008991882399F00E94F942FACFE8EEF9E403 +:10B6A000C591D4918991882349F00E94F942FACF3B +:10B6B0008991882319F00E94F942FACF6F2D70E02A +:10B6C0004AE050E084ED97E00E942C418AE00E941D +:10B6D000F94281E0DF91CF911F910F91FF90089582 +:10B6E0004F925F926F927F928F929F92AF92BF9292 +:10B6F000CF92DF92EF92FF92CF93DF9300D01F9211 +:10B70000CDB7DEB72B013C0129833A834B835C83A1 +:10B710008DEE9FE00F9423CB8F3F01F58EEE9FE0DF +:10B720000F9423CB8F3FD1F48FEE9FE00F9423CB68 +:10B730008F3FA1F480EF9FE00F9423CB8F3F71F4F4 +:10B7400040E050E0BA018DEE9FE00F9447CB40E01F +:10B7500050E0BA0181EF9FE00F9447CB81EF9FE06B +:10B760000F942BCB4B015C018DEE9FE00F942BCB04 +:10B770006B017C0169817A818B819C812CE330E0B3 +:10B7800040E050E00F94BFC3C20ED31EE41EF51E6E +:10B79000B701A6018DEE9FE00F9447CBC301B20124 +:10B7A00028EE33E040E050E00F94BFC3BA01A90196 +:10B7B000480D591D6A1D7B1D81EF9FE00F9447CBFB +:10B7C00010927F09109280091092810910928209CB +:10B7D0000F900F900F900F90DF91CF91FF90EF900F +:10B7E000DF90CF90BF90AF909F908F907F906F90A1 +:10B7F0005F904F900895CF92DF92EF92FF92209149 +:10B8000046092223F1F020E030E040E05FE30F94AE +:10B81000BDC16B017C0120E030E0A9010F94E8BEBE +:10B82000882379F0A7019601C701B6010F94BDC125 +:10B830002BED3FE049E450E40F94BDC19B01AC0106 +:10B8400004C020E030E040E85FE360E070E080E8C2 +:10B850009FE30F94EFBEFF90EF90DF90CF9008959D +:10B86000609146027091470280914802909149028E +:10B87000C2DF60934202709343028093440290932C +:10B8800045020895CF93DF93EC010F941B2981E0CB +:10B890005FD180E00F94FF84209799F0C233D105E7 +:10B8A00040F062E370E080E090E00F9440B6E297F1 +:10B8B000ECCFBE0180E090E00F9440B6C0E0D0E055 +:10B8C000E4CFDF91CF9108958F929F92AF92BF9274 +:10B8D000CF92DF92EF92FF920F931F93CF93DF935C +:10B8E000159881E080937A0982E090E0909378093E +:10B8F00080937709E0918609F0E0EE0FFF1FEE5F7D +:10B90000F54B859194910F94964920E030E04CE8F6 +:10B9100052E46091420970914309809144099091E9 +:10B9200045090F940FBE60934209709343098093B9 +:10B93000440990934509E0903E09F0903F09009139 +:10B9400040091091410920913A0930913B094091F9 +:10B950003C0950913D0960913609709137098091F9 +:10B96000380990913909C2E2D9E0DF93CF93812C55 +:10B97000912CE0ECAE2EE0E4BE2EF2E4CF2EF9E006 +:10B98000DF2E0F94280620E030E048EC51E460916F +:10B9900042097091430980914409909145090F949F +:10B9A0000FBE6093420970934309809344099093BA +:10B9B0004509E0903E09F0903F090091400910913F +:10B9C000410920913A0930913B0940913C0950913D +:10B9D0003D0960913609709137098091380990913D +:10B9E0003909DF93CF93812C912CA0E8AA2EAFE3E5 +:10B9F000BA2E0F9428060F94891C20E030E0A9018C +:10BA000064EF71E084E50F9469BA82E390E03ADF75 +:10BA100084E50F948DBD0F900F900F900F90809143 +:10BA2000CB19882331F181E00F94CD8782E00F9408 +:10BA3000FF84E0918609F0E0EE0FFF1FE658F84B17 +:10BA4000859194910F9496491092790910927A09F0 +:10BA50001092780910927709DF91CF911F910F9181 +:10BA6000FF90EF90DF90CF90BF90AF909F908F901E +:10BA70000895809179098823B1F2E0918609F0E078 +:10BA8000EE0FFF1FE257F54B8591949141E060E086 +:10BA90000F94DA8A91E0811101C090E0C2E2D9E00E +:10BAA0009111C1CF81E00F94CD8782E00F94FF8484 +:10BAB00020E030E048EC51E4609142097091430984 +:10BAC00080914409909145090F940FBE60934209FB +:10BAD000709343098093440990934509E0903E098F +:10BAE000F0903F09009140091091410920913A09D5 +:10BAF00030913B0940913C0950913D0960913609D4 +:10BB0000709137098091380990913909DF93CF936B +:10BB1000812C912CE0E8AE2EEFE3BE2EF2E4CF2E86 +:10BB2000F9E0DF2E0F9428060F94891CE091860916 +:10BB3000F0E0EE0FFF1FE257F54B8591949141E045 +:10BB400060E00F94DA8A0F900F9081116CCFAACF2A +:10BB5000CF92DF92EF92FF920F931F93CF93C82F54 +:10BB600080916A02209104118823F1F080910602ED +:10BB70008823D1F080910811811116C080911E1286 +:10BB800090911D12891B8F7079F48091C2098111E7 +:10BB90000BC08091B509811107C08091CF19909198 +:10BBA000D019089709F067C021110E949DCB8091A0 +:10BBB000080F9091090F039714F40E94D5C50F94B4 +:10BBC00011B60091E4081091E5082091E608309143 +:10BBD000E708C090E808D090E908E090EA08F09003 +:10BBE000EB086C197D098E099F09061717072807AE +:10BBF000390740F4012B022B032B21F064E087E48A +:10BC000095E037DC40910A0250910B0260910C02E2 +:10BC100070910D02452B462B472B21F10F9411B645 +:10BC20000091E8081091E9082091EA083091EB08AA +:10BC3000601B710B820B930B00910A0210910B0297 +:10BC400020910C0230910D020617170728073907BB +:10BC500048F490911E1280911D12981303C0CC23BA +:10BC600009F470C0CF911F910F91FF90EF90DF907A +:10BC7000CF900D945604222309F461C00E94A4CBF6 +:10BC8000882309F494CF20E030E04EE353E4609140 +:10BC9000B4187091B5188091B6189091B7180F9498 +:10BCA000EBC01816CCF40E949DCB20E030E0A90137 +:10BCB00068EE73E084E50F9469BA82E390E0E2DD18 +:10BCC00084E50F948DBD81E08093790961E088EE71 +:10BCD00099E00E942DC56BCF80E00F94CD870F9423 +:10BCE0003D4840E060E08AE499E10E945A3CE091DE +:10BCF0008609F0E0EE0FFF1FE854F54B8591949113 +:10BD00000F946D5B42E060E08AE499E10E945A3C46 +:10BD1000E0918609F0E0EE0FFF1FE45AF64B8591A3 +:10BD200094910F946D5B60ED77E080E090E00F946C +:10BD300040B60F943D4881E00F94CD8738CF0E94E4 +:10BD40007FCB35CF179A10922709169A109228099F +:10BD5000149A88CF2F923F924F925F926F927F9268 +:10BD60008F929F92AF92BF92CF92DF92EF92FF920B +:10BD70000F931F93CF93DF934B015C01CC24CA94A4 +:10BD8000DC2C76015AED252E59E0352E06ED19E012 +:10BD900068EE462E63E0562E612C712C80911109BD +:10BDA000811112C12FEFC216D206E206F20651F03F +:10BDB000F7FC0AC10F9411B66C197D09683B7B40F2 +:10BDC00008F002C10F9411B6681979098A099B0914 +:10BDD000693E73408105910508F470C08091CB19CC +:10BDE000811168C0EEEDF9E08491EF01882331F014 +:10BDF0000E94F9422196FE018491F8CFE091D70884 +:10BE000024E0E29FF0011124EC54F74E408151816F +:10BE10006281738121E030E084ED97E00E94FD4172 +:10BE2000F1018491CAEDD9E0882331F00E94F942F2 +:10BE30002196FE018491F8CF6091D70870E04AE026 +:10BE400050E084ED97E00E942C41F8018491C6ED0A +:10BE5000D9E0882331F00E94F9422196FE018491B5 +:10BE6000F8CFF7FE03C0CDE1D7E01BC00F9411B6A9 +:10BE70004B015C01C701B6016854744F8F4F9F4F4F +:10BE8000681979098A099B09A30192010F94BFC31C +:10BE9000BA01A9012AE030E084ED97E00E941A413E +:10BEA00006C08991882319F00E94F942FACF8AE0EE +:10BEB0000E94F9420F9411B64B015C010F941B29AB +:10BEC00080E046DE80E00F94FF84FFEFCF16DF06B0 +:10BED000EF06FF0609F042C08091D508E091D7082F +:10BEE000F0E0EF01CC0FDD1FCC0FDD1FCC54D74E9F +:10BEF000EE0FFF1FE454F74E608171818823B9F083 +:10BF0000882777FD8095982F0F948ABF20E030E036 +:10BF100040E85FE30F940EBE9B01AC01688179811C +:10BF20008A819B810F94EBC087FF49C037CF882758 +:10BF300077FD8095982F0F948ABF20E030E040E88D +:10BF40005FE30F940FBE9B01AC01688179818A8108 +:10BF50009B810F94E8BE181694F520CFF7FC1ECFF6 +:10BF6000E091D708F0E0EF01CC0FDD1FCC0FDD1F13 +:10BF7000CC54D74EEE0FFF1FE454F74E6081718111 +:10BF8000882777FD8095982F0F948ABF9B01AC017D +:10BF9000688179818A819B810F940EBE0F9457BF6F +:10BFA00097FF07C090958095709561957F4F8F4F53 +:10BFB0009F4F66307105810591050CF4EFCE0F940B +:10BFC00011B66B017C01EACEDF91CF911F910F91E9 +:10BFD000FF90EF90DF90CF90BF90AF909F908F90A9 +:10BFE0007F906F905F904F903F902F9008950F93A8 +:10BFF0001F93CF93DF931F921F92CDB7DEB7BE0181 +:10C000006F5F7F4F88EF9FE00F948C4889819A8102 +:10C010008156904F803A9F4000F11A821982EDEAD2 +:10C02000F9E084918F01882339F00E94F9420F5F73 +:10C030001F4FF8018491F7CF8AE00E94F942BE01B8 +:10C040006F5F7F4F88EF9FE00F947B4880E799E018 +:10C050000F949C9581E00F94CD870F900F90DF9106 +:10C06000CF911F910F9108952F923F924F925F921F +:10C070006F927F928F929F92AF92BF92CF92DF92F8 +:10C08000EF92FF920F931F93CF93DF93CDB7DEB75D +:10C09000CA58D2400FB6F894DEBF0FBECDBFC95804 +:10C0A000DD4F688379838A839B83C757D240FE0123 +:10C0B000E75FFD4F88E2DF011D928A95E9F7E850BE +:10C0C000F24080E991E0DF019C011D922150304057 +:10C0D000E1F7C75ADD4F19821882C955D240CE0107 +:10C0E000875A9D4F5C014E019FE6891A9EEF990A7F +:10C0F000DE01AF51BE4F3D0190EBC92E9FE0D92E1E +:10C1000023E2E22EF12C00E010E0C359DD4F8882DB +:10C11000CD56D240CD58DD4F9882C357D240B7019B +:10C12000882777FD8095982F0F948ABFD3016D9350 +:10C130007D938D939D933D01F501619171915F0117 +:10C14000882777FD8095982F0F948ABFD4016D932F +:10C150007D938D939D934D010F5F1F4F0630110509 +:10C1600059F0B501C6010F948C48B5E0EB0EF11CF7 +:10C17000E2E0CE0ED11CD3CFCF51DE4F28813981E2 +:10C180004A815B81C15ED140C958DD4F68817981A8 +:10C190008A819B81C757D2400F94E8BE87FD2BC38D +:10C1A000FE01EF51FE4F7F016E01FFE2CF1AFEEF5D +:10C1B000DF0A3E012BEB621A2DEF720AC359DD4FE5 +:10C1C0000881CD56D240CD58DD4F1881C357D2409B +:10C1D00085E090E0CF58DD4F99838883C157D240E6 +:10C1E000CF58DD4FA881B981C157D2401197CF58A0 +:10C1F000DD4FB983A883C157D240F7012089318927 +:10C200004289538964897589868997890F940EBEFE +:10C210004B015C01D80150962D913D914D915C915F +:10C22000539754966D917D918D919C9157970F9452 +:10C230000EBEA50194010F94EFBEF6019293829376 +:10C24000729362936F01D301BE92AE929E928E92D0 +:10C250003D0104501109B4E0EB1AF108CF58DD4F4D +:10C26000E881F981C157D240EF2B09F0B9CF6E01B7 +:10C27000FFECCF1AFDEFDF0A3E0127E4621A2EEF32 +:10C28000720A2E013DE3430E511CCE0101967C0142 +:10C2900001E010E0D6018D909D90AD90BC90139779 +:10C2A00014962D913D914D915C911797C501B40164 +:10C2B0000F940FBE9B01AC010F940FBEF70164A752 +:10C2C00075A786A797A70130110541F080A691A612 +:10C2D000A2A6B3A684829582A682B7820F5F1F4F63 +:10C2E000D30114962D913D914D915C91179718961D +:10C2F0006D917D918D919C911B970F940EBE20E0C6 +:10C3000030E040EC50E40F94BDC1F20160837183D2 +:10C3100082839383F4E0CF0ED11C2CE2E20EF11C59 +:10C3200034E0630E711C88E2480E511C0530110583 +:10C3300009F0B0CF8E010B5A1F4F6E0191E5C90E67 +:10C34000D11C22242394312C2C0E3D1EA8ED2A0E44 +:10C35000311CF801B8972081318142815381F80165 +:10C3600060817181828193810F94EFBE4B015C01EA +:10C37000E12CF12C3601F8E26F1A710826014E0CFF +:10C380005F1CF301EE0DFF1D24813581468157812D +:10C39000C501B4010F94BDC19B01AC01D20114963B +:10C3A0006D917D918D919C9117970F940EBEF20126 +:10C3B0006483758386839783F4E0EF0EF11C24E198 +:10C3C000E216F104D9F6045D1F4F38E2C30ED11C0A +:10C3D0000215130509F0BDCF1E0185EB280E311C97 +:10C3E0006E0191EBC90ED11C3E01A7EE6A1AADEFAA +:10C3F0007A0A14E0E12EF12C270100E010E0812CF4 +:10C40000912CA12CB12CF601E00FF11FD301A00F4C +:10C41000B11F2D913D914D915C916081718182811F +:10C4200093810F94BDC19B01AC01B401C5010F9470 +:10C430000FBE4B015C01BFEF4B1A5B0A0C5F1F4F35 +:10C44000E5E04E165104F9F69B01AC01D1016D9166 +:10C450007D918D919C910F940EBEF60120813181CA +:10C46000428153810F94EFBED3016D937D938D93E1 +:10C470009C931397B1E0EB1AF108E8E22E1A310809 +:10C48000FCE2CF1AD10824E0621A7108E114F10429 +:10C4900009F0B2CFCB50DE4F88819981AA81BB8150 +:10C4A000C55FD140C957DD4F88839983AA83BB8379 +:10C4B000C758D2408E01075F1D4FDE01AF5CBD4FF4 +:10C4C000C558DD4FB983A883CB57D240C359DD4F40 +:10C4D0002880CD56D240CD58DD4F3880C357D2404A +:10C4E000FE01EF51FE4FC358DD4FF983E883CD576E +:10C4F000D240C358DD4FA881B981CD57D240CD90ED +:10C50000DD90ED90FD90C358DD4FB983A883CD57E2 +:10C51000D240C958DD4F288139814A815B81C75794 +:10C52000D240C701B6010F94E8BE1816B4F0C35844 +:10C53000DD4FE881F981CD57D240208131814281A0 +:10C540005381C958DD4F688179818A819B81C757A2 +:10C55000D2400F94E8BE1816FCF4CF58DD4F288166 +:10C560003981C157D2402430310509F01FC1C95764 +:10C57000DD4F288139814A815B81C758D240C95833 +:10C58000DD4F688179818A819B81C757D2400F94A2 +:10C59000EBC018160CF00AC1D80114968D919D912C +:10C5A0000D90BC91A02DC158DD4F88839983AA833B +:10C5B000BB83CF57D240F8014080518062807380A6 +:10C5C000C558DD4FA881B981CB57D2408D919D913F +:10C5D0000D90BC91A02DC359DD4F88839983AA8308 +:10C5E000BB83CD56D240D1018D919D910D90BC91D0 +:10C5F000A02DCD57DD4F88839983AA83BB83C35871 +:10C60000D240A7019601C958DD4F688179818A819E +:10C610009B81C757D2400F940EBECD58DD4F688323 +:10C6200079838A839B83C357D24020E030E040E483 +:10C6300050E40F9420C26B017C01A3019201C15808 +:10C64000DD4F688179818A819B81CF57D2400F94D9 +:10C650000EBE4B015C0120E030E040EC50E4C359D9 +:10C66000DD4F688179818A819B81CD56D2400F94BC +:10C67000BDC19B01AC01C501B4010F94EFBEA70180 +:10C6800096010F94BDC16B017C0120E030E040E0D9 +:10C690005FE3C301B2010F94BDC14B015C01CD58F2 +:10C6A000DD4F288139814A815B81C357D240CA015D +:10C6B000B9010F94BDC19B01AC01C501B4010F9438 +:10C6C000BDC19B01AC01C701B6010F940FBE6B0148 +:10C6D0007C01CD57DD4F288139814A815B81C35868 +:10C6E000D240F10164817581868197810F940EBEDD +:10C6F000C359DD4F288139814A815B81CD56D240B3 +:10C700000F94EFBE4B015C01C359DD4F2881398185 +:10C710004A815B81CD56D240CA01B9010F940FBE48 +:10C72000A30192010F94BDC12B013C01C359DD4F00 +:10C73000288139814A815B81CD56D240C158DD4F75 +:10C74000688179818A819B81CF57D2400F94BDC186 +:10C750009B01AC01C301B2010F940FBE20E030E099 +:10C7600040EC50E40F94EFBE9B01AC01C501B40155 +:10C770000F940EBECD58DD4F288139814A815B81EF +:10C78000C357D2400F94BDC19B01AC01C701B60194 +:10C790000F940FBECD57DD4F288139814A815B81CF +:10C7A000C358D2400F940FBE4B015C01CF58DD4FF0 +:10C7B00028813981C157D2402F5F3F4FCF58DD4F7D +:10C7C00039832883C157D2400C5F1F4FC558DD4FB6 +:10C7D00088819981CB57D2400496C558DD4F998303 +:10C7E0008883CB57D24094E0290E311C2530310587 +:10C7F00009F07FCE04C0812C912CA12CB12CB40166 +:10C80000C501C657DD4F0FB6F894DEBF0FBECDBFD2 +:10C81000DF91CF911F910F91FF90EF90DF90CF901C +:10C82000BF90AF909F908F907F906F905F904F9050 +:10C830003F902F900895CF92DF92EF92FF926B017D +:10C840007C018091B3098823A1F086EA9FE00F94D0 +:10C8500023CB882371F0C701B60106DC2091B21703 +:10C860003091B3174091B4175091B5170F94EFBEA4 +:10C8700003C060E070E0CB01FF90EF90DF90CF90BD +:10C8800008954F925F926F927F928F929F92AF9294 +:10C89000BF92CF92DF92EF92FF920F931F93CF93AD +:10C8A000DF93CDB7DEB728970FB6F894DEBF0FBE83 +:10C8B000CDBF0F94891C809158029091590290939A +:10C8C000B7098093B609E0912209F0E0EE0FFF1F4F +:10C8D000E454F74E60817181882777FD8095982F09 +:10C8E0000F948ABF6093A7097093A8098093A90940 +:10C8F0009093AA0980912009909121099093A6090B +:10C900008093A5090F9411B660938D0970938E09D9 +:10C9100080938F09909390098091360990913709FF +:10C92000A0913809B091390989839A83AB83BC837C +:10C930008093950990939609A0939709B0939809CD +:10C9400040903A0950903B0960903C0970903D0935 +:10C950004092990950929A0960929B0970929C09A1 +:10C9600080913E0990913F09A0914009B091410901 +:10C970008D839E83AF83B88780939D0990939E0992 +:10C98000A0939F09B093A009609142097091430957 +:10C9900080914409909145096093A1097093A2097F +:10C9A0008093A3099093A40920E030E040E85FE37E +:10C9B0000F940EBE6093420970934309809344091B +:10C9C0009093450982E299E09F938F93812C912C5B +:10C9D000B8ECAB2EB3E4BB2E12E4C12E19E0D12E7D +:10C9E000ED80FE800F811885A301920169817A8113 +:10C9F0008B819C810F94280620E030E040EA51E4CE +:10CA000060913E0970913F098091400990914109E0 +:10CA10000F940FBE2B013C010F900F9020E030E0EF +:10CA200042E553E40F94EBC018164CF040923E09D7 +:10CA300050923F0960924009709241090CC080E019 +:10CA400090E0A2E5B3E480933E0990933F09A09360 +:10CA50004009B0934109E0903E09F0903F090091F0 +:10CA600040091091410920913A0930913B094091C8 +:10CA70003C0950913D0960913609709137098091C8 +:10CA8000380990913909A2E26A2EA9E07A2E7F92A4 +:10CA90006F92812C912CB0E7AB2EB1E4BB2EE2E477 +:10CAA000CE2EE9E0DE2E0F9428061092BD181092CB +:10CAB000BC181092BF181092BE181092C118109294 +:10CAC000C01880E090E0A8E4B2E480933609909327 +:10CAD0003709A0933809B093390980E090E0AEE3BC +:10CAE000B3E480933A0990933B09A0933C09B09337 +:10CAF0003D09E0903E09F0903F09009140091091F6 +:10CB000041097F926F92812C912CF8E4AF2EF2E4D0 +:10CB1000BF2E9C01AD01C501B4010F9428061092EF +:10CB20002109109220090F900F900F900F902896D6 +:10CB30000FB6F894DEBF0FBECDBFDF91CF911F912E +:10CB40000F91FF90EF90DF90CF90BF90AF909F90AC +:10CB50008F907F906F905F904F900D94891C0F93F2 +:10CB60001F93CF93DF9300D01F92CDB7DEB7E09134 +:10CB7000220984E0E89FF0011124EC54F74E408133 +:10CB8000518162817381EDE6F9E084918F01882300 +:10CB900079F049835A836B837C830E94F9420F5F4B +:10CBA0001F4FF80184917C816B815A814981EFCFBD +:10CBB00022E030E084ED97E00E94FD41E9E6F9E0F3 +:10CBC00084918F01882339F00E94F9420F5F1F4F33 +:10CBD000F8018491F7CF6091220970E04AE050E0BB +:10CBE00084ED97E00E942C41E5E6F9E084918F0105 +:10CBF000882339F00E94F9420F5F1F4FF80184919A +:10CC0000F7CF40919E1850919F186091A018709195 +:10CC1000A11821E030E084ED97E00E94FD418AE018 +:10CC20000F900F900F900F90DF91CF911F910F9168 +:10CC30000C94F942CF93DF93CDB7DEB761970FB66F +:10CC4000F894DEBF0FBECDBF0F9411B66D877E87FF +:10CC50008F87988B2091C209298B179A10922709E8 +:10CC6000169A10922809149A64E182E00F944A37C8 +:10CC700064E182E00F947B3764E183E00F944A37EC +:10CC800064E183E00F947B3783E40F941A3A98872A +:10CC90008F834090EA0E5090EB0E6090EC0E7090F7 +:10CCA000ED0E0F949B13481A590A610871080E94EF +:10CCB00084CA481A590A6108710877FE03C0412CDA +:10CCC000512C320190911E1280911D12981799F0EB +:10CCD000E0911D1282E5E89FF0011124E15EFD4E16 +:10CCE00020E030E040E752E462A173A184A195A165 +:10CCF0000F94BDC108C060910E0270910F02809127 +:10CD00001002909111020F9457BF7E836D830F9490 +:10CD1000AD0483E00F94F81CAB01BC018EE69FE0EC +:10CD20000F9447CB6091BB0981E0682782E79FE0C1 +:10CD30000F9435CB0E94F3C31092C209789420E07F +:10CD400030E040E85FE360914209709143098091CF +:10CD50004409909145090F940EBE69837A838B83B1 +:10CD60009C83E0903E09F0903F09009140091091AA +:10CD7000410920913A0930913B0940913C09509179 +:10CD80003D09609136097091370980913809909179 +:10CD90003909E2E22E2EE9E03E2E3F922F92812CBD +:10CDA000912CFEEBAF2EF2E4BF2EDE0111966D0149 +:10CDB0000F9428060F94891C149A20E030E040E874 +:10CDC0005FE3609142097091430980914409909119 +:10CDD00045090F940EBE69837A838B839C8367E039 +:10CDE00074E0EF81F8856E1B7F0BA4E07695679564 +:10CDF000AA95E1F780E090E00F9488BF69877A8771 +:10CE00008B879C872AE037ED43E25FE360913E0920 +:10CE100070913F0980914009909141090F940FBE94 +:10CE20006B017C012091B2173091B3174091B41778 +:10CE30005091B51769857A858B859C850F94EFBED7 +:10CE40009B01AC01C701B6010F940FBE7B018C01A1 +:10CE500020913A0930913B0940913C0950913D099C +:10CE6000609136097091370980913809909139099C +:10CE70003F922F92812C912CB0E2AB2EB2E4BB2ECC +:10CE8000DE0111966D010F9428060F94891C149AE7 +:10CE900020E030E040E85FE360914209709143098F +:10CEA00080914409909145090F940EBE69837A835D +:10CEB0008B839C832AE037ED43E25FE360913E0978 +:10CEC00070913F0980914009909141090F940FBEE4 +:10CED0006B017C012091B2173091B3174091B417C8 +:10CEE0005091B51769857A858B859C850F94EFBE27 +:10CEF0009B01AC01C701B6010F940FBE7B018C01F1 +:10CF000020913A0930913B0940913C0950913D09EB +:10CF100060913609709137098091380990913909EB +:10CF20003F922F92FE0131966F010F9428060F94C5 +:10CF3000891C149AB301A20181E99FE00F9447CBA9 +:10CF40000F900F900F900F900F900F9005E71FE03C +:10CF5000F12C83E0E82E8F2D6E2D0F948BC3209142 +:10CF60004B11222321F125E18202F001112483E0FB +:10CF70009802E00DF11D1124EE0FFF1FEE0FFF1FB1 +:10CF8000E55BFE4E20E030E04AE754E461817281C7 +:10CF9000838194810F94BDC120E030E040E05FE3E5 +:10CFA0000F940FBE0F94C5BF0F9457BF02C060E02F +:10CFB00070E0C8010F944FCBF3940E5F1F4F99E0C0 +:10CFC000F912C9CF6F81788583E79FE00F944FCB2B +:10CFD00040913609509137096091380970913909AB +:10CFE0008DE99FE00F9447CB40913A0950913B095E +:10CFF00060913C0970913D0981EA9FE00F9447CB15 +:10D0000040913E0950913F0960914009709141095A +:10D010008DE89FE00F9447CBBE016B5F7F4F89E89F +:10D020009FE00F947B48E0912209F0E0EE0FFF1F94 +:10D03000E454F74E60818CE89FE00F9435CB60910B +:10D04000BA188BE89FE00F9435CB6091200988E8EF +:10D050009FE00F9435CBA989AA2329F061E085EAE6 +:10D060009FE00F9435CB0F94891CE0E6F9E08491A2 +:10D070008F01882339F00E94F9420F5F1F4FF8019A +:10D080008491F7CF83E40F941A3A4AE050E0BC0150 +:10D0900084ED97E00E94634184E69FE00F9423CBE8 +:10D0A00061E0680F84E69FE00F9435CB8FEF9EE040 +:10D0B0000F9430CBBC016F5F7F4F8FEF9EE00F94DA +:10D0C0004FCBE5E5F9E084918F01882339F00E9488 +:10D0D000F9420F5F1F4FF8018491F7CF8AE00E9459 +:10D0E000F9420F9411B6AB01BC018D859E85AF85C9 +:10D0F000B889481B590B6A0B7B0B2AE030E084EDA2 +:10D1000097E00E946F41F8941A8219828091010180 +:10D110008460809301019FB7F8948091020184603C +:10D12000809302019FBF1A82198289819A81803D72 +:10D13000974038F4000089819A8101969A83898307 +:10D14000F4CF9FB7F894809102018B7F8093020106 +:10D150009FBF9FB7F894809102018B7F809302015B +:10D160009FBF1A82198289819A8180349F4188F7F2 +:10D17000000089819A8101969A838983F4CF6F9800 +:10D180007798EAE6F0E080818F7B808380818068F9 +:10D190008083EF9A08951F920F920FB60F92112479 +:10D1A0002F933F934F935F936F937F938F939F93AF +:10D1B000AF93BF9320912009309121092B34310581 +:10D1C0000CF449C080916A0086FF11C08091F81963 +:10D1D0009091F919A091FA19B091FB1980938909DE +:10D1E00090938A09A0938B09B0938C092EC08091EB +:10D1F000F8199091F919A091FA19B091FB19409181 +:10D20000890950918A0960918B0970918C09841B5E +:10D21000950BA60BB70B253631052CF043E050E0FB +:10D2200060E070E004C044E050E060E070E084172B +:10D230009507A607B70748F080916809909169099A +:10D240000296909369098093680980916A0090E43E +:10D25000892780936A00BF91AF919F918F917F91B1 +:10D260006F915F914F913F912F910F900FBE0F9053 +:10D270001F9018956C987498EAE6F0E080818160C0 +:10D28000808380818D7F8083EC9A08951F920F9216 +:10D290000FB60F9211240BB60F922F933F934F931B +:10D2A0005F936F937F938F939F93AF93BF93CF932E +:10D2B000DF93EF93FF93EC98E0E5F9E08491EF01C1 +:10D2C000882331F00E94F9422196FE018491F8CF23 +:10D2D0008AE00E94F9428091C2098111ABDCFF9182 +:10D2E000EF91DF91CF91BF91AF919F918F917F91FE +:10D2F0006F915F914F913F912F910F900BBE0F90C7 +:10D300000FBE0F901F9018954F925F926F927F9271 +:10D310008F929F92BF92CF92DF92EF92FF920F93E4 +:10D320001F93CF93DF93CDB7DEB7EA970FB6F8948C +:10D33000DEBF0FBECDBF88E89FE00F9423CBB82E91 +:10D34000BE01675C7F4F89E89FE00F948C48EBE05B +:10D35000F8E084918F01882339F00E94F9420F5F31 +:10D360001F4FF8018491F7CF69AD7AAD4AE050E0E4 +:10D3700084ED97E00E9448418AE59FE00F9423CB1B +:10D38000882E912C4AE050E0B40184ED97E00E9491 +:10D3900048410AE01FE0E12CF12C3E01F4E36F0E5E +:10D3A000711CE814F9042CF5FE01BC962F016801EC +:10D3B000C6010F9423CBF20181932F01FFEFCF1A07 +:10D3C000DF0A46145704A1F71CAABE01645D7F4F13 +:10D3D00084ED97E00E943741BE01645D7F4F80EC91 +:10D3E00099E00E94B3C18FEFE81AF80A085F1F4F57 +:10D3F000D8CF8E01015E1F4F95E9E92E9FE0F92EEF +:10D40000D02EC12EC7010F9423CBF80181938F0139 +:10D41000FFEFEF1AFF0A8DE9E8168FE0F80691F7A3 +:10D420001FA20D2D1C2DF80181918F01882319F069 +:10D430000E94F942F8CF66E078E08D2D9C2D0F9484 +:10D440000AC7CF92DF928FEF97E09F938F938E0161 +:10D450000F5F1F4F1F930F930F94F7C80F900F90FC +:10D460000F900F900F900F907E01F5E0EF0EF11CE2 +:10D47000F7018081882349F0992787FD90950F94C3 +:10D48000F9C6F70181937F01F3CF60E0C8010E94E4 +:10D4900069C481E99FE00F942BCBF62EE72ED82E9E +:10D4A000C92EE4EEF7E084914F01882341F00E94F9 +:10D4B000F942FFEF8F1A9F0AF4018491F6CF2AE018 +:10D4C00030E04F2D5E2D6D2D7C2D84ED97E00E9478 +:10D4D0006F4161E080EE97E00E9469C46BED77E0F8 +:10D4E000C8010F9415C78DE99FE00F942BCB6DAB4E +:10D4F0007EAB8FAB98AFCE01C5960F94404EBC016A +:10D50000C8010F94A4C768ED77E0C8010F940AC75B +:10D5100081EA9FE00F942BCB6DAB7EAB8FAB98AFC6 +:10D52000CE01C5960F94404EBC01C8010F94A4C70C +:10D5300061ED77E0C8010F940AC760E0C8010E945E +:10D5400069C46CEC77E0C8010F9415C78DE89FE0C3 +:10D550000F942BCB6DAB7EAB8FAB98AFCE01C59646 +:10D560000F94404EBC01C8010F94A4C760E0C801ED +:10D570000E9469C461E08FEB97E00E9469C48AADA4 +:10D580008F9389AD8F9388EB97E09F938F931F9331 +:10D590000F930F94F7C860E0C8010E9469C482E746 +:10D5A0009FE00F9423CB0F900F900F900F900F9050 +:10D5B0000F90882329F061E084EB97E00E9469C412 +:10D5C0006DEA77E0C8010F9415C78B2D90E09EABF4 +:10D5D0008DABCE01C5960F941551BC01C8010F94B7 +:10D5E000A4C760E0C8010E9469C4CF92DF92EF92A5 +:10D5F000FF9284EA97E09F938F931F930F930F946A +:10D60000F7C860E0C8010E9469C461E080EA97E061 +:10D610000E9469C40FB6F894DEBF0FBECDBFEA9674 +:10D620000FB6F894DEBF0FBECDBFDF91CF911F9133 +:10D630000F91FF90EF90DF90CF90BF909F908F90D1 +:10D640007F906F905F904F9008954F925F926F928E +:10D650007F92AF92BF92CF92DF92EF92FF920F93A1 +:10D660001F93CF93DF93CDB7DEB7E0970FB6F89453 +:10D67000DEBF0FBECDBF2B013C0169017A01809155 +:10D6800075088111F0C0F8940F947B138091EA0E15 +:10D690009091EB0EA091EC0EB091ED0E809371087D +:10D6A00090937208A0937308B09374080F949B131F +:10D6B00040917108509172086091730870917408DC +:10D6C000481B590B61097109409371085093720806 +:10D6D00060937308709374080E9484CA4091710823 +:10D6E000509172086091730870917408481B590B2F +:10D6F000610971094093710850937208609373082F +:10D700007093740890911E1280911D12981799F0D1 +:10D71000E0911D1282E5E89FF0011124E15EFD4ECB +:10D7200020E030E040E752E462A173A184A195A11A +:10D730000F94BDC108C060910E0270910F028091DC +:10D7400010029091110260935D0870935E088093BF +:10D750005F08909360080F94AD0480E1E6E3F9E080 +:10D76000A1E6B8E001900D928A95E1F78091220937 +:10D7700080935C088091090280935B080E94F3C348 +:10D780001092C20981E080937508B19A10928500C9 +:10D790001092840080ED97E0909389008093880038 +:10D7A000789420E030E0A901C301B2010F94E8BEF3 +:10D7B00081110AC020E030E0A901C701B6010F9431 +:10D7C000E8BE882309F44FC06BE977E0FE0131968B +:10D7D0005F01CF010F9415C7F50101900020E9F713 +:10D7E0008F01015011092091690830916A08409118 +:10D7F0006B0850916C08C301B2010F940FBE23E077 +:10D8000048E00F9438C468E977E0C5010F940AC76F +:10D81000F50101900020E9F78F010150110923E083 +:10D8200046E0C701B6010F9438C465E977E0C50149 +:10D830000F940AC7F50101900020E9F78F0101500C +:10D84000110960916202709163028091640290916B +:10D85000650223E048E00F9438C460E0C5010E94EF +:10D8600069C40E94C8C5E0960FB6F894DEBF0FBE2B +:10D87000CDBFDF91CF911F910F91FF90EF90DF907F +:10D88000CF90BF90AF907F906F905F904F90089532 +:10D8900020E030E0A90160E070E080E291E4D5CEC4 +:10D8A0008F929F92AF92BF92CF92DF92EF92FF92B0 +:10D8B0000F931F93CF93DF9300D01F92CDB7DEB7A6 +:10D8C0009B01AC0180917508882309F49FC0809169 +:10D8D0005C088093220980915D0890915E08A09178 +:10D8E0005F08B091600880930E0290930F02A0939E +:10D8F0001002B093110260916D0870916E088091D2 +:10D900006F08909170080F940EBE69837A838B83A1 +:10D910009C83CE0101960F940D1320E030E040E58A +:10D9200051E460916202709163028091640290916F +:10D9300065020F94EFBE4B015C01E0906908F09026 +:10D940006A0800916B0810916C082091650830916D +:10D95000660840916708509168086091610870916D +:10D9600062088091630890916408E2E2F9E0FF9315 +:10D97000EF93EDE6CE2EE8E0DE2E0F9428060F940E +:10D98000891C80E1E1E6F8E0A6E3B9E001900D92A0 +:10D990008A95E1F780E1E6E3F9E0A1E0B9E00190E2 +:10D9A0000D928A95E1F7409171085091720860914B +:10D9B0007308709174084093D10C5093D20C60930B +:10D9C000D30C7093D40C8CE19CE00E94C2A980918E +:10D9D000710890917208A0917308B09174088093B7 +:10D9E000EA0E9093EB0EA093EC0EB093ED0E81E057 +:10D9F0008093C2091092750881E997E09F938F93F5 +:10DA00000F944AC80F900F900F900F900F900F90A7 +:10DA10000F900F90DF91CF911F910F91FF90EF909A +:10DA2000DF90CF90BF90AF909F908F90089560E06F +:10DA300070E0CB0135CFFBDF81E08093AE0208952B +:10DA40002F923F924F925F926F927F928F929F920E +:10DA5000AF92BF92CF92DF92EF92FF920F931F93FC +:10DA6000CF93DF93CDB7DEB7C755D1090FB6F89482 +:10DA7000DEBF0FBECDBF82E090E09093180280938E +:10DA8000170281E993E00E945A428823B1F0809105 +:10DA9000020F9091030F6AE270E005960F94AFC7F2 +:10DAA000009711F0DC011C928091020F9091030FFE +:10DAB00005960F9489490C94C59486E993E00E94D9 +:10DAC0005A42882381F08BE797E00E945A42182F30 +:10DAD00086E597E00E945A4281111260812F0E94D0 +:10DAE0005D470C94C59485EA93E00E945A428823CE +:10DAF00019F0A1DF0C94C59483EB93E00E945A4285 +:10DB0000882321F00E94B3470C94C59480EC93E0E5 +:10DB10000E945A42882309F4A2C186EC93E00E9435 +:10DB20005A42882391F08091CB19882311F40C94E8 +:10DB3000C5940F9411B66093BC097093BD0980938E +:10DB4000BE099093BF090C94C5948BEC93E00E949E +:10DB50005A42882361F060918309709184094AE0F8 +:10DB600050E084ED97E00E9463410C94C5948FECE3 +:10DB700093E00E945A42882309F442C003ED13E067 +:10DB8000F80181918F01882319F00E94F942F8CFA2 +:10DB900080916209909163092CE3289FB001299F2D +:10DBA000700D11244AE050E084ED97E00E942C4172 +:10DBB00067ED73E084ED97E00E9437410CED13E0D0 +:10DBC000D8018D918D01882319F00E94F942F8CF78 +:10DBD00080916409909165092CE3289FB001299FE9 +:10DBE000700D11244AE050E084ED97E00E942C4132 +:10DBF00067ED73E084ED97E00E9437410C94C59483 +:10DC000082EE93E00E945A428823C1F08091CB19A2 +:10DC1000882361F06091C9197091CA194AE050E0F7 +:10DC200084ED97E00E9448410C94C59465EE73E042 +:10DC300084ED97E00E9437410C94C59487EF93E000 +:10DC40000E945A42882369F16091020F7091030F7C +:10DC50006D5F7F4F21E041E080EC99E00E9406B9C2 +:10DC60008091240C9091250CA091260CB091270C4A +:10DC70008093D10C9093D20CA093D30CB093D40C7E +:10DC80008CE19CE00E94F9A88C010E94F9420A30C4 +:10DC9000110531F760E080EC99E00E94A5B80C9482 +:10DCA000C5948AEF93E00E945A42882399F00E941B +:10DCB000335081E0809385096091020F7091030FCA +:10DCC0006C5F7F4F21E040E080EC99E00E9406B954 +:10DCD0000C94C5948EEF93E00E945A428823D9F1A8 +:10DCE0008091CB19882309F4A1CF1092590801E043 +:10DCF00014E0F80181918F01882319F00E94F94204 +:10DD0000F8CF00E010E0FF24F39480915508909143 +:10DD100056082091570830915808821B930B8F7733 +:10DD20009927892B69F084ED97E00E943F40F0929B +:10DD300059080E94F9420F5F1F4F10925908E5CF12 +:10DD40000331110514F381E0809359088AE00E94A1 +:10DD5000F9420C94C59484E094E00E945A428823CE +:10DD600079F008E014E0D8018D918D01882319F035 +:10DD70000E94F942F8CF8AE00E94F9420C94C594BF +:10DD800082E194E00E945A42882351F006E114E0B7 +:10DD9000F80181918F01882371F30E94F942F8CF35 +:10DDA00085E394E00E945A42882321F00F9427498A +:10DDB0000C94C5948AE394E00E945A42882341F06F +:10DDC00060E070E088EF9FE00F947B480C94C5946E +:10DDD0008DE394E00E945A42882359F06DE374E089 +:10DDE00084ED97E00E94374140E052EC61E070E042 +:10DDF00010C088E494E00E945A42882381F068E4CD +:10DE000074E084ED97E00E94374140E054E961E11D +:10DE100070E084ED97E00E94C43F0C944D9A84E535 +:10DE200094E00E945A42882361F00F9411B66093E7 +:10DE3000AF097093B0098093B1099093B2090C9423 +:10DE4000C59489E594E00E945A42882311F40C9409 +:10DE5000C59461E080E00E94D2470C94C5948EE5A1 +:10DE60000E94C24281110C94C59487E40E94C24270 +:10DE7000882311F40C94157E0E94F0420F9457BF32 +:10DE80006C34710509F414C47CF56430710509F42F +:10DE900008C154F46230710509F4EBC00CF0F5C010 +:10DEA00077FF77C00C94017E6C31710509F450C185 +:10DEB0007CF46A30710509F445C16B30710511F0CD +:10DEC0000C94017E60E080E00E94AC570C94C594F5 +:10DED0006E31710509F434C36B34710511F00C9483 +:10DEE000017E08E210E0D1C36835710511F40C948D +:10DEF000C5940CF56135710511F40C94D17C64F472 +:10DF00006F34710511F40C94EC776035710511F4E0 +:10DF10000C9427780C94017E6635710511F40C94ED +:10DF2000817D6735710511F00C94017E81E00E94BE +:10DF3000EE460C94C5946C35710511F40C948A7DF1 +:10DF40007CF46A35710511F40C94867D6B3571058E +:10DF500011F00C94017E81E08093EC080C94C59440 +:10DF60006236710511F40C94EC7D6336710511F085 +:10DF70000C94017E1092CB190F942C496091CB190F +:10DF800084EC9FE00F9435CB82E00F94FF840C94D7 +:10DF9000C5948091D60881110C94C5940E94E153D8 +:10DFA00060917F0970918009809181099091820927 +:10DFB0000F9488BF6B017C01409042095090430947 +:10DFC000609044097090450980900D0990900E0969 +:10DFD000A0900F09B0901009A5019401C301B201EE +:10DFE0000F940EBE20E030E048EC52E40F94BDC127 +:10DFF0009B01AC01C701B6010F94EBC01816E4F405 +:10E00000A3019201C501B4010F940EBE20E030E0DF +:10E0100048EC52E40F94BDC19B01AC01C701B601AD +:10E020000F940FBE0F945CBF60937F0970938009BB +:10E03000809381099093820980911F098823A9F018 +:10E0400088E50E94C242811110C089E50E94C24247 +:10E0500081110BC08AE50E94C242811106C085E48D +:10E060000E94C24281110C94CE940E94A9560C9435 +:10E07000C5948091D60881110C94C5940E94645473 +:10E0800081E00E9487590C94C5948091D608811133 +:10E090000C94C5940E94645480E00E9487590C94AB +:10E0A000C59480E50E94C242882339F00E94F04264 +:10E0B0000F945CBF6B017C0103C0C12CD12C760195 +:10E0C00083E50E94C242882361F00E94F04220E072 +:10E0D00030E04AE754E40F94BDC10F945CBF6B017C +:10E0E0007C01C114D104E104F10431F0E4ECFAE460 +:10E0F000859194910F9496490F94891C0F9411B6B1 +:10E100004B015C018C0C9D1CAE1CBF1C0F9411B606 +:10E110006093E8087093E9088093EA089093EB080D +:10E120000F9411B6681579058A059B0510F00C94BB +:10E13000C5940F941B2980E00E94A85D80E00F9495 +:10E14000FF84EECF60E081E00E94AC570C94C59450 +:10E150000F94891C81E08093B40988E50E94C24233 +:10E16000182F89E50E94C242082F8AE50E94C24208 +:10E17000782E101308C0181305C07724739401E09B +:10E1800011E001C0012F0E94B0DC60904B11109291 +:10E190004B1182E00F94F81C60933E0970933F0985 +:10E1A000809340099093410971100E94B7F9409102 +:10E1B0000E0250910F026091100270911102409373 +:10E1C000ED085093EE086093EF087093F00880918B +:10E1D0005802909159029093B7098093B60984E64A +:10E1E00090E090935902809358020F9411B6609377 +:10E1F000E8087093E9088093EA089093EB0881E0BF +:10E200000F94CD1480E1E6E3F9E0A1E0B9E00190DC +:10E210000D928A95E1F710920E0210920F02109261 +:10E22000100210921102112321F080E090E00E9470 +:10E23000D34B002321F081E090E00E94D34B88E58E +:10E240000E94C242882341F00E94E542672B682B5E +:10E25000692B11F00C94FD9489E50E94C242882339 +:10E2600041F00E94E542672B682B692B11F00C945A +:10E270001395772009F4F1C080912709882321F0B4 +:10E2800080912809811108C080E090E00E94D34B62 +:10E2900081E090E00E94D34B0E9405DDEBE4FCE4BA +:10E2A00085919591A591B49189839A83AB83BC8321 +:10E2B000E7E4FCE485919591A591B4918F8F98A3A3 +:10E2C000A9A3BAA325E039E041E059E0BE016F5FA0 +:10E2D0007F4FCE014F960E940F450E9477DC20E0D1 +:10E2E00030E040E850EC609105097091060980919A +:10E2F0000709909108090F94E8BE87FF0CC080E0E1 +:10E3000090E0A0E8B0EC8093050990930609A093F3 +:10E310000709B093080980E090E0A0EAB0E4809398 +:10E32000090990930A09A0930B09B0930C0920E006 +:10E3300030E040E251E460916202709163028091AA +:10E340006402909165020F94EFBE60930E02709389 +:10E350000F02809310029093110210923E091092C6 +:10E360003F09109240091092410980E00F94CD14AA +:10E37000E0903E09F0903F09009140091091410959 +:10E3800020913A0930913B0940913C0950913D0957 +:10E390006091360970913709809138099091390957 +:10E3A000F2E4CF2EF9E0DF2E0F94981180900E0248 +:10E3B00090900F02A0901002B0901102E090090915 +:10E3C000F0900A0900910B0910910C0920910509A0 +:10E3D000309106094091070950910809609101099F +:10E3E000709102098091030990910409E2E2F9E039 +:10E3F000FF93EF93ADE0CA2EA9E0DA2E0F94280622 +:10E400000F94891C8091010990910209A091030940 +:10E41000B09104098093360990933709A093380985 +:10E42000B09339098091050990910609A0910709D7 +:10E43000B091080980933A0990933B09A0933C0955 +:10E44000B0933D0981E00F94CD140F94B51482E090 +:10E4500090E00E94D34B0F900F908AE50E94C24239 +:10E46000882341F00E94E542672B682B692B11F04D +:10E470000C942995E0903E09F0903F0900914009E5 +:10E480001091410920913A0930913B0940913C0992 +:10E4900050913D0960913609709137098091380992 +:10E4A00090913909E2E4CE2EE9E0DE2E0F94981126 +:10E4B00080E00F94CD148091ED089091EE08A0912A +:10E4C000EF08B091F00880930E0290930F02A09392 +:10E4D0001002B09311028091B6099091B709909300 +:10E4E0005902809358020F9411B66093E808709314 +:10E4F000E9088093EA089093EB080F94B5140E9402 +:10E5000005DD0E9457DE88E50E94C24281110C940D +:10E51000919489E50E94C24281110C94919487E5FF +:10E520000E94C24281110C9491948AE50E94C242D9 +:10E5300081110C9491940F94891C1092B40987C591 +:10E540000F94891C81E00E946E428091620290913A +:10E550006302A0916402B091650280930E029093D1 +:10E560000F02A0931002B093110220E030E043E0CC +:10E5700060E070E080E291EC0E94E6DEE2E7FBE41E +:10E5800005911491F8018491882329F00E94F942A1 +:10E590000F5F1F4FF7CFEEE4FCE084918F018823DB +:10E5A00039F00E94F9420F5F1F4FF8018491F7CFB5 +:10E5B00040913609509137096091380970913909B5 +:10E5C00025E030E084ED97E00E94FD41E9E4FCE0C5 +:10E5D00084918F01882339F00E94F9420F5F1F4F09 +:10E5E000F8018491F7CF40913A0950913B0960912D +:10E5F0003C0970913D0925E030E084ED97E00E94F0 +:10E60000FD41E4E4FCE084918F01882339F00E940D +:10E61000F9420F5F1F4FF8018491F7CF40913E09F7 +:10E6200050913F09609140097091410925E030E027 +:10E6300084ED97E00E94FD41E2E4FCE084918F01CB +:10E64000882339F00E94F9420F5F1F4FF80184912F +:10E65000F7CF0E949C420C94C594B801882777FD9F +:10E660008095982F0F948ABF0E943460AB01BC0143 +:10E6700022E030E084ED97E00E94FE410F5F1F4FE3 +:10E680000F36110511F40C94C5944AE050E0B8011E +:10E6900084ED97E00E942C4151E1E52E57E0F52EE4 +:10E6A000D7018D917D018823C1F20E94F942F8CFF4 +:10E6B000ECE0F8E4859194910F949C95E0918609A3 +:10E6C000F0E0EE0FFF1FE25DF74B8591949140E083 +:10E6D00060E00F94DA8A882359F0E0918609F0E02F +:10E6E000EE0FFF1FE65DF64B859194910F949C957C +:10E6F00080912709882341F080912809882321F0FF +:10E7000080912909811109C00E94C8C561E08BE38D +:10E710009CE00E942DC50C94C59481E090E09093FC +:10E72000180280931702EDE1FCE084918F018823A9 +:10E7300039F00E94F9420F5F1F4FF8018491F7CF23 +:10E740008AE00E94F9421A821982C090AE18D090D5 +:10E75000AF18E090B018F090B11820E030E040EA37 +:10E7600050E4C701B6010F94EFBE0F9457BF45E0C8 +:10E77000469F9001479F300D1124B901882777FDEE +:10E780008095982F0F948ABF2B013C0120E030E048 +:10E790004CE052E40F94E8BE87FF06C0412C512C98 +:10E7A0002CE0622E22E4722EA7019601C301B20171 +:10E7B0000F94E8BE87FF0AC020E030E040EA50E452 +:10E7C000C301B2010F940FBE2B013C01E9E0FCE054 +:10E7D00084918F01882339F00E94F9420F5F1F4F07 +:10E7E000F8018491F7CF22E030E0B301A20184ED7B +:10E7F00097E00E94FE4120E030E040EF51E4C30189 +:10E80000B2010F940EBE20E030E04CE852E40F94C9 +:10E810000FBE0F9457BF7093BB186093BA1884E073 +:10E8200090E0909378098093770981E090E090934D +:10E83000760980937509E0918609F0E0EE0FFF1FDD +:10E84000E65EF74B8591949121E0892B09F420E055 +:10E8500020937A0980E090E0A0EAB1E48093360941 +:10E8600090933709A0933809B093390980E090E07C +:10E87000A0E7B2E480933A0990933B09A0933C0946 +:10E88000B0933D098AE999E9A9E1BEE380933E0985 +:10E8900090933F09A0934009B093410982E299E027 +:10E8A0009F938F93812C912C18E4A12E12E4B12E0A +:10E8B00002E4C02E09E0D02E1AE9E12E19E9F12E6A +:10E8C00009E11EE320E030E040E752E460E070E060 +:10E8D00080EA91E40F9428060F94891C0F900F9002 +:10E8E000A30192016091AE187091AF188091B01899 +:10E8F0009091B1180F94E8BE87FF07C088EE93E0AF +:10E900000E94425C0E94AF65EBCF60E086EA9FE028 +:10E910000F9435CB80E090E0A0EAB0E480933E090C +:10E9200090933F09A0934009B093410920913A097F +:10E9300030913B0940913C0950913D096091360965 +:10E94000709137098091380990913909E2E2F9E034 +:10E95000FF93EF93812C912CE8E4AE2EE2E4BE2EDF +:10E96000F2E4CF2EF9E0DF2EE12CF12C00EA10E4E6 +:10E970000F942806E7E4FCE485919591A591B49164 +:10E980008093360990933709A0933809B0933909D9 +:10E99000EBE4FCE4259135914591549120933A099B +:10E9A00030933B0940933C0950933D09E0903E0968 +:10E9B000F0903F090091400910914109609136099A +:10E9C000709137098091380990913909E2E2F9E0B4 +:10E9D000FF93EF93812C912CB8E4AB2EB2E4BB2EC5 +:10E9E0000F9428060F94891C20E030E043E060E09B +:10E9F00070E080E89FEB0E94E6DE80913E099091F6 +:10EA00003F09A0914009B09141098AAF9BAFACAFDB +:10EA1000BDAFE8E0FCE084910F900F900F900F9055 +:10EA20008F01882339F00E94F9420F5F1F4FF801D0 +:10EA30008491F7CF8AE00E94F942E1E0FCE0849102 +:10EA40008F01882339F00E94F9420F5F1F4FF801B0 +:10EA50008491F7CF40913E0950913F096091400960 +:10EA60007091410922E030E084ED97E00E94FD4181 +:10EA7000E0E0FCE084918F01882339F00E94F942A4 +:10EA80000F5F1F4FF8018491F7CF8AE00E94F9428F +:10EA90002EEA222E2FE0322E33E2E32EF12C0FEF5E +:10EAA0001FEFB701882777FD8095982F0F948ABFB5 +:10EAB0004B015C01E9EFFBE084916F01882341F099 +:10EAC0000E94F942FFEFCF1ADF0AF6018491F6CFD8 +:10EAD0004AE050E0B8016E5F7F4F84ED97E00E94FE +:10EAE0002C41ECEEFBE084916F01882341F00E9401 +:10EAF000F942FFEFCF1ADF0AF6018491F6CF8AE0E0 +:10EB00000E94F942E8EDFBE084916F01882341F017 +:10EB10000E94F942FFEFCF1ADF0AF6018491F6CF87 +:10EB20004AE050E0B70184ED97E00E942C41E9EC07 +:10EB3000FBE084916F01882341F00E94F942FFEFCE +:10EB4000CF1ADF0AF6018491F6CF4AE050E060E088 +:10EB500070E084ED97E00E942C41E8ECFBE08491AA +:10EB60006F01882341F00E94F942FFEFCF1ADF0ABC +:10EB7000F6018491F6CF8AE00E94F9420F3FFFEF41 +:10EB80001F0731F0BE016F5F7F4FC1010F947B48BB +:10EB9000A5019401C301B2010F94E8BE181664F4F4 +:10EBA0000F5F1F4F25E0E20EF11C32E0230E311CF7 +:10EBB0000530110509F075CF380147E2641A48EFB6 +:10EBC000740A660C771C280163E0460E511C85E030 +:10EBD000809FD001819FB00D1124212C312C9D9656 +:10EBE000B9AFA8AFC201029705970CF0BCC168ADE0 +:10EBF00079AD620D731D882777FD8095982F0F944E +:10EC00008ABF22966CAF7DAF8EAF9FAF2297E1ECAB +:10EC1000FBE084918F01882339F00E94F9420F5F55 +:10EC20001F4FF8018491F7CF4AE050E0B20184ED24 +:10EC300097E00E942C41EEEBFBE084918F0188234A +:10EC400039F00E94F9420F5F1F4FF8018491F7CF0E +:10EC50008AE00E94F942509276094092750920E0BC +:10EC600030E040EF51E422966CAD7DAD8EAD9FADAE +:10EC700022970F940EBE20E030E040E251E40F9462 +:10EC8000BDC120E030E040EA50E40F94EFBE20E048 +:10EC900030E048E452E40F940FBE0F9457BF7093D6 +:10ECA000BB186093BA1880E090E0A0EAB1E48093CA +:10ECB000360990933709A0933809B093390980E059 +:10ECC00090E0A0E7B2E480933A0990933B09A093C7 +:10ECD0003C09B0933D098AE999E9A9E1BEE3809333 +:10ECE0003E0990933F09A0934009B0934109A2E2E5 +:10ECF000B9E0BF93AF93812C912CB8E4AB2EB2E472 +:10ED0000BB2E12E4C12E19E0D12E1AE9E12E19E929 +:10ED1000F12E09E11EE320E030E040E752E460E03C +:10ED200070E080EA91E40F9428060F94891C0F90FC +:10ED30000F9022962CAD3DAD4EAD5FAD2297609108 +:10ED4000AE187091AF188091B0189091B1180F94CF +:10ED5000E8BE87FF07C088EE93E00E94425C0E94F5 +:10ED6000AF65E7CF80E090E0A0EAB0E480933E0991 +:10ED700090933F09A0934009B093410920913A092B +:10ED800030913B0940913C0950913D096091360911 +:10ED9000709137098091380990913909A2E2B9E060 +:10EDA000BF93AF93812C912C08E4A02E02E4B02EE7 +:10EDB000E2E4CE2EE9E0DE2EE12CF12C00EA10E4B4 +:10EDC0000F942806E7E4FCE485919591A591B49110 +:10EDD0008093360990933709A0933809B093390985 +:10EDE000EBE4FCE4259135914591549120933A0947 +:10EDF00030933B0940933C0950933D09E0903E0914 +:10EE0000F0903F0900914009109141096091360945 +:10EE1000709137098091380990913909A2E2B9E0DF +:10EE2000BF93AF93812C912CA8E4AA2EA2E4BA2E12 +:10EE30000F9428060F94891C20E030E043E060E046 +:10EE400070E080E89FEB0E94E6DE2AAD3BAD4CAD62 +:10EE50005DAD60913E0970913F09809140099091AC +:10EE600041090F940EBE2091B2173091B317409113 +:10EE7000B4175091B5170F94BDC10F9457BF7A8343 +:10EE80006983EDEBFBE084910F900F900F900F9052 +:10EE90008F01882339F00E94F9420F5F1F4FF8015C +:10EEA0008491F7CF8AE00E94F942E9EAFBE084917D +:10EEB0008F01882339F00E94F9420F5F1F4FF8013C +:10EEC0008491F7CF4091AE185091AF186091B0186F +:10EED0007091B11822E030E084ED97E00E94FD418E +:10EEE000EAE9FBE084918F01882339F00E94F9421E +:10EEF0000F5F1F4FF8018491F7CF2AAD3BAD4CADAA +:10EF00005DAD60913E0970913F09809140099091FB +:10EF100041090F940EBEAB01BC0122E030E084ED4C +:10EF200097E00E94FD41E9E9FBE084918F0188238D +:10EF300039F00E94F9420F5F1F4FF8018491F7CF1B +:10EF40008AE00E94F942BE016F5F7F4FC3010F94B8 +:10EF50007B48F2E06F0E711C2FEF421A520A35E027 +:10EF6000230E311C3FCE109278091092770910922F +:10EF70007A0961E086EA9FE00F9435CBEAE5FBE091 +:10EF800084918F01882339F00E94F9420F5F1F4F4F +:10EF9000F8018491F7CF8AE00E94F942179A109203 +:10EFA0002709169A10922809149A1092BB181092E9 +:10EFB000BA18E0918609F0E0EE0FFF1FEA5EF74B0A +:10EFC000859194910F949C9581E00F94CD8782E078 +:10EFD0000F94FF840C94C5940FEF10E0B7E5CB2E8F +:10EFE000BBE0DB2E1093210900932009A4E6EA2E52 +:10EFF000F12C84E690E00E94425CF1E0EF1AF10807 +:10F00000C1F74AE050E0B80184ED97E00E942C413E +:10F01000F6018491F7E5EF2EFBE0FF2E882341F007 +:10F020000E94F942FFEFEF1AFF0AF7018491F6CF31 +:10F0300060916409709165094AE050E084ED97E0C1 +:10F040000E9448410550110969F60C94C59481E06D +:10F050008093880986E50E94C242882359F0E09196 +:10F06000020FF091030F8181893021F08F7D11F023 +:10F070000E94D842209127098091CF199091D019F0 +:10F08000222341F020912809222321F020912909EF +:10F0900021110FC0029749F00E94C8C561E080E5C8 +:10F0A0009BE00E942DC50C94C594109288090C9485 +:10F0B000C59410925A08029721F4109288090C9472 +:10F0C000C594F0917A092896FFAF28972091770987 +:10F0D000309178092A963FAF2EAF2A978091750913 +:10F0E000909176092C969FAF8EAF2C9781E08093FC +:10F0F0007A0981E090E0909378098093770983E121 +:10F1000090E0909376098093750981E00F94FF84D5 +:10F110008BE491E10E9481FA0E94B7F980E090E0CF +:10F12000A0EAB0E480933E0990933F09A093400980 +:10F13000B093410920E030E040E752E46091620280 +:10F140007091630280916402909165020F94EFBE0A +:10F150004B015C0120913A0930913B0940913C09F7 +:10F1600050913D09609136097091370980913809B5 +:10F1700090913909E2E2F9E0FF93EF9312E4C12E96 +:10F1800019E0D12EE12CF12C00EA10E40F942806AE +:10F19000E7E4FCE485919591A591B49180933609BB +:10F1A00090933709A0933809B0933909EBE4FCE454 +:10F1B00085919591A591B49180933A0990933B09DB +:10F1C000A0933C09B0933D096AE379E086E399E0B6 +:10F1D0000E94C94520E030E040EF51E460915A02BE +:10F1E00070915B0280915C0290915D020F94EFBE82 +:10F1F0004B015C01E0903E09F0903F09009140090D +:10F200001091410920913A0930913B0940913C0904 +:10F2100050913D0960913609709137098091380904 +:10F2200090913909E2E2F9E0FF93EF930F942806F9 +:10F230000F94891C20E030E040EA51E460915A02CA +:10F2400070915B0280915C0290915D020F94EFBE21 +:10F250000F9457BF8B0120E030E040E252E4609110 +:10F2600062027091630280916402909165020F9432 +:10F27000EFBE0F9457BF7B010E9463DC23968FAFD4 +:10F28000239780E00E946E420F900F900F900F9096 +:10F29000A7E4BCE4BBAFAAAF212C312CC701AA273D +:10F2A00097FDA095BA2F60968CAF9DAFAEAFBFAF64 +:10F2B0006097C801AA2797FDA095BA2F64968CAFD6 +:10F2C0009DAFAEAFBFAF6497C10163E070E00F9434 +:10F2D000ACC37FAF6EAF99AF88AF60FF06C0A2E04E +:10F2E000B0E0A81BB90BB9AFA8AF2396BFAD239769 +:10F2F000BB2379F12114310461F18EAD9FAD880FEC +:10F30000991FEEADFFAD8E0F9F1F28AD39AD820F57 +:10F31000931F880F991F8D53904F0F9430CBBC01D2 +:10F32000882777FD8095982F0F948ABF2AE037EDC4 +:10F3300043E25CE30F94BDC120914C1130914D111B +:10F3400040914E1150914F110F940FBE2B013C0173 +:10F3500003C0412C512C320180E090E0A0EAB0E4DF +:10F3600080933E0990933F09A0934009B0934109CF +:10F3700060966CAD7DAD8EAD9FAD60970F948ABFEA +:10F3800027966CAF7DAF8EAF9FAF279720913A093C +:10F3900030913B0940913C0950913D0960913609FB +:10F3A000709137098091380990913909A2E2B9E04A +:10F3B000BF93AF9327968CAC9DACAEACBFAC2797F8 +:10F3C000E2E4CE2EE9E0DE2EE12CF12C00EA10E49E +:10F3D0000F9428060F94891CEAADFBAD8591959199 +:10F3E000A591B4918093360990933709A093380979 +:10F3F000B0933909EAADFBAD349685919591A5910D +:10F40000B49180933A0990933B09A0933C09B0933F +:10F410003D096AE379E086E399E00E94C945649674 +:10F420006CAD7DAD8EAD9FAD64970F948ABF4B01DF +:10F430005C01E0903E09F0903F0900914009109175 +:10F44000410920913A0930913B0940913C09509182 +:10F450003D09609136097091370980913809909182 +:10F460003909A2E2B9E0BF93AF930F9428060F9435 +:10F47000891C0F900F900F900F902396FFAD23974C +:10F48000FF2361F02114310449F020E030E040E82E +:10F490005FE3C301B2010F940EBE04C060E070E0F0 +:10F4A00080E291EC20E030E043E00E94E6DE811152 +:10F4B00008C0E0918609F0E0EE0FFF1FE45BF44B1B +:10F4C0001FC0C0903E09D0903F09E0904009F090E5 +:10F4D0004109A701960160E070E080EA90E40F9492 +:10F4E0000EBE2DEC3CEC4CEC5DE30F94E8BE87FFC8 +:10F4F0000AC0E0918609F0E0EE0FFF1FE85BF44BD5 +:10F500006590749066C023962FAD23972223B9F09F +:10F51000A7019601C301B2010F940EBE9F7720E0B0 +:10F5200030E040E85FE30F94EBC0181644F4E0913C +:10F530008609F0E0EE0FFF1FE05BF44BE1CF609136 +:10F54000AE187091AF188091B0189091B1180E94C8 +:10F550001B649B01AC01A7E08EAD9FADA89F80010D +:10F56000A99F100D1124E8ADF9AD0E0F1F1F000F5C +:10F57000111F000F111F055B1E4E60913E09709117 +:10F580003F0980914009909141090F940EBED80126 +:10F5900011966D937D938D939C931497809175092B +:10F5A0009091760901979093760980937509BFEF42 +:10F5B0002B1A3B0A81E00F94FF84EAADFBAD38962D +:10F5C000FBAFEAAFF9E02F16310409F07DCE612CD4 +:10F5D000712C80E090E0A0EAB0E480933E09909323 +:10F5E0003F09A0934009B093410920913A09309115 +:10F5F0003B0940913C0950913D0960913609709159 +:10F6000037098091380990913909E2E2F9E0FF93D6 +:10F61000EF9327968CAC9DACAEACBFAC2797E2E4E1 +:10F62000CE2EE9E0DE2EE12CF12C00EA10E40F945E +:10F6300028060F94891C0F900F9029E022163104A0 +:10F6400021F060E0C3010C9422840E949C420E943D +:10F650009FF980EC9FE00F9423CBA82ECE0101965A +:10F660003C01B12C52E5952E66E4862E9CE49983EC +:10F670009A828B8282E48C83D3018D913D010E941A +:10F68000C242882319F00E94E5421DC0B1E0AB12CE +:10F6900031C1BB1528F0B11009C08FEB9FE00BC042 +:10F6A000E2E0BE1206C08DEB9FE005C08EEB9FE04E +:10F6B00002C08CEB9FE00F9423CB682F772767FD68 +:10F6C0007095872F972F611571058105910509F4B4 +:10F6D00011C10F948ABF2FE632E143E85AE30F9439 +:10F6E000BDC16B017C019F7727E139ED4EEC5DE3F5 +:10F6F0000F94EBC018160CF033C0EAE5FEE08491DD +:10F700008F01882339F00E94F9420F5F1F4FF801E3 +:10F710008491F7CFECE2FBE084918F01882339F0EC +:10F720000E94F9420F5F1F4FF8018491F7CF22E04A +:10F7300030E0B701A60184ED97E00E94FD41E3E2CD +:10F74000FBE084918F01882339F00E94F9420F5F1A +:10F750001F4FF8018491F7CF8AE00E94F942CAC096 +:10F76000F2E0BF1609F469C023E0B21609F494C0B0 +:10F7700031E0B31689F120E030E040E05FE3C701FB +:10F78000B6010F94BDC11B012C010CE411E1A201D3 +:10F790009101D80114966D917D918D919C9117974F +:10F7A0000F940FBEF8016483758386839783A70146 +:10F7B000960160817181828193810F940FBED8017F +:10F7C0006D937D938D939C931397045E1F4FB1E1CE +:10F7D000003A1B07E1F68EC020E030E040E05FE336 +:10F7E000C701B6010F94BDC11B012C0100E511E159 +:10F7F000A2019101F80160817181828193810F944E +:10F800000FBED8016D937D938D939C931397A701A1 +:10F81000960114966D917D918D919C9117970F94FF +:10F820000FBEF8016483758386839783045E1F4F40 +:10F83000F1E1043A1F07E1F65DC020E030E040E06E +:10F840005FE3C701B6010F94BDC11B012C010CE49D +:10F8500011E1A2019101D8015C966D917D918D918C +:10F860009C915F970F940FBEF801648F758F868F00 +:10F87000978FA701960160817181828193810F9496 +:10F880000FBED8016D937D938D939D938D01B1E152 +:10F8900008351B07F1F62EC020E030E040E05FE3C2 +:10F8A000C701B6010F94BDC11B012C0108E611E18F +:10F8B000A2019101F80160817181828193810F948D +:10F8C0000FBED8016D937D938D939D938D01A701FC +:10F8D000960158966D917D918D919C915B970F94B7 +:10F8E0000FBEF801608F718F828F938FF1E1043723 +:10F8F0001F07F1F6B39424E0B212B8CE8BE491E185 +:10F900000E949CFA81E080934B110E94C9F2E09121 +:10F91000220934E0E39FF0011124EC54F74E20E07B +:10F9200030E04EE353E460817181828193810F94D2 +:10F93000EBC0181694F48091B309882371F086EA1D +:10F940009FE00F9423CB882341F08091BA189091C7 +:10F95000BB18C29714F00C943F9581E090E090930F +:10F9600018028093170228964FAD289740937A0982 +:10F970002A968EAD9FAD2A97909378098093770948 +:10F980002C96AEADBFAD2C97B0937609A0937509B8 +:10F99000109288091092870982E00F94FF840C94DA +:10F9A000C59480914B11882309F49CC0E9E1FBE0E8 +:10F9B00084918F01882339F00E94F9420F5F1F4F15 +:10F9C000F8018491F7CF4AE050E067E070E084ED01 +:10F9D00097E00E942C41E7E1FBE084918F018823AE +:10F9E00039F00E94F9420F5F1F4FF8018491F7CF61 +:10F9F0004AE050E067E070E084ED97E00E942C411F +:10FA0000E4E0FBE084918F01882339F00E94F94201 +:10FA10000F5F1F4FF8018491F7CF4AE050E065E097 +:10FA200070E084ED97E00E942C41E2EFFAE08491CF +:10FA30008F01882339F00E94F9420F5F1F4FF801B0 +:10FA40008491F7CF8AE00E94F94200E010E03FEE97 +:10FA5000A32E3AE0B32E4DEE842E4AE0942EE12CF4 +:10FA6000F12C98012D503E4E6901F50184912FEE45 +:10FA7000622E2AE0722E882341F00E94F942FFEFA5 +:10FA80006F1A7F0AF3018491F6CFF601EE0DFF1D88 +:10FA9000418152816381748125E030E084ED97E0FB +:10FAA0000E94FD41F4E0EF0EF11C2CE1E216F1049E +:10FAB000E1F6F40184919DEEE92E9AE0F92E882377 +:10FAC00041F00E94F942FFEFEF1AFF0AF70184911B +:10FAD000F6CF0C5111090C33FFEF1F0709F0BFCF10 +:10FAE0000C94C594EFECFAE084918F01882311F413 +:10FAF0000C94BB6E0E94F9420F5F1F4FF801849176 +:10FB0000F5CF86EE0E94EE460C94C5941092EC0858 +:10FB10000C94C59485E40E94C242811102C00F94E6 +:10FB2000891CFFEE6F2EF4E07F2EAAE28A2EA9E058 +:10FB30009A2EB6E3AB2EB9E0BB2E512CD3018D919A +:10FB40003D010E94C2428823D9F1B3E05B120CC090 +:10FB50000E94F042F501608371838283938382E483 +:10FB600099E00F940D132CC00E94F042D4012D9106 +:10FB70003D914D915C910F940FBEF50160837183AF +:10FB800082839383E0903E09F0903F090091400901 +:10FB90001091410920913A0930913B0940913C096B +:10FBA00050913D096091360970913709809138096B +:10FBB00090913909E2E4CE2EE9E0DE2E0F949811FF +:10FBC0005394F4E08F0E911C24E0A20EB11C34E09B +:10FBD0005312B4CF0C94C59481E08093CB190F9449 +:10FBE00011B66093BC097093BD098093BE099093D0 +:10FBF000BF096091CB1984EC9FE00F9435CB0C9436 +:10FC0000C59480910C0F90910D0F8F5E904F9F9334 +:10FC10008F938AEB9AE09F938F930F944AC80F902B +:10FC20000F900F900F900C94C5948DE40E94C242E7 +:10FC3000882311F40C949B93E091020FF091030F31 +:10FC4000319681918032E9F38930D9F380538A303B +:10FC5000A0F080910C0F90910D0F8F5E904F9F93AD +:10FC60008F9385EA9AE09F938F930F944AC80F90E1 +:10FC70000F900F900F900C94C5940E94F0420F9437 +:10FC800057BF9B01693C710511F40C94BE8B0CF0BD +:10FC9000E6C06135710511F40C94AE870CF064C0B8 +:10FCA0006931710509F42AC43CF56431710509F420 +:10FCB000C5C394F46131710509F4B4C334F46230FE +:10FCC000710508F4F1C20C9488936231710511F446 +:10FCD0000C94DD870C9488936631710509F4D7C3C1 +:10FCE0000CF4CFC36731710509F4D7C368317105CE +:10FCF00009F4EEC30C9488936E31710509F447C47E +:10FD00008CF46B31710509F40DC40CF4FDC36C3136 +:10FD1000710509F40DC46D31710511F40C94C5948D +:10FD20000C9488936C32710509F458C554F46F3102 +:10FD3000710509F4FAC46032710509F460C40C94C9 +:10FD400088936D32710509F458C56F32710511F051 +:10FD50000C94889384E090E09093180280931702AB +:10FD60000F94DD5F0C94C5946E36710511F40C94FC +:10FD7000B588ACF56C35710511F40C943188A4F498 +:10FD80006335710511F40C94D88714F40C94D4875E +:10FD90006435710511F40C94DD876535710511F436 +:10FDA0000C9416880C9488936A36710511F40C949F +:10FDB000788754F46836710509F426C569367105EB +:10FDC00009F453C50C9488936B36710511F40C94A7 +:10FDD000A8876D36710509F48DC60C948893673732 +:10FDE000710511F40C94278ADCF46137710511F464 +:10FDF0000C94C8884CF46037710511F00C9488930A +:10FE000063E087E495E01EC56237710511F40C9438 +:10FE100022896337710511F40C94EE880C94889351 +:10FE20006C38710509F410C57CF46837710511F45C +:10FE30000C94228A6937710511F00C94889381E043 +:10FE40000F94CD140C94C5946E3B710509F4FCC657 +:10FE5000683C710511F40C94498B0C948893663FAF +:10FE600041E0740711F40C94958F0CF08BC0603F47 +:10FE7000710511F40C94C5940CF03FC06F3C7105F2 +:10FE800011F40C94DF8C2CF56C3C710511F40C947E +:10FE9000F88B6CF46B3C710511F00C9488930FEEA9 +:10FEA00014E03AEBE32E37E1F32E0C94E98B6D3C32 +:10FEB000710511F40C941A8C6E3C710511F00C94C0 +:10FEC00088930FEE14E02AE2E22E29E0F22E0C9441 +:10FED000D08C613D710511F40C943A8D14F40C949E +:10FEE000148D6C3D710511F40C948C8D6D3D710574 +:10FEF00011F40C949B8D0C9488936033B1E07B07D4 +:10FF000011F40C94B28EDCF46D32F1E07F0711F441 +:10FF10000C94F78D3CF42C32314011F40C94C18DCB +:10FF20000C9488932E3281E0380711F40C94468F9C +:10FF30002F32314011F40C94548F0C948893603913 +:10FF4000A1E07A0711F40C948C8F4CF46E5571403B +:10FF50006230710510F40C94C5940C948893643F3E +:10FF6000E1E07E0711F40C948F8F653FF1E07F078D +:10FF700011F00C94889360E084E190E00E94583A7C +:10FF80000C94C5946E3843E0740711F40C942592D8 +:10FF90002F3863E036070CF030C12A3582E038078D +:10FFA00011F40C94F191F4F42D3FA1E03A0711F40F +:10FFB0000C94988F54F4273F314011F00C9488939F +:10FFC00080E00E9402350C94C5942835F2E03F078A +:10FFD00011F40C9487902935324011F40C94E3917C +:10FFE0000C948893233563E0360711F40C94B58F95 +:10FFF0000CF0F6C02D3B92E0390711F40C946E938F +:020000021000EC +:100000002E3B324011F00C94889350906A0210926B +:100010006A0281E080937A0982E090E09093780907 +:1000200080937709E0918609F0E0EE0FFF1FE25020 +:10003000F84B859194910F94964920E030E044E389 +:1000400052E4609142097091430980914409909172 +:1000500045090F940EBE6093420970934309809343 +:10006000440990934509E0903E09F0903F090091C2 +:1000700040091091410920913A0930913B09409182 +:100080003C0950913D096091360970913709809182 +:10009000380990913909E2E26E2EE9E07E2E7F92D6 +:1000A0006F92812C912CFCEAAF2EF2E4BF2EA2E4D9 +:1000B000CA2EA9E0DA2E0F9428060F94891C20E09E +:1000C00030E040E751E4609142097091430980912A +:1000D0004409909145090F940EBE609342097093B4 +:1000E00043098093440990934509E0903E09F090BC +:1000F0003F09009140091091410920913A0930913E +:100100003B0940913C0950913D096091360970913D +:10011000370980913809909139097F926F92812C2B +:10012000912CB0E8AB2EB1E4BB2E0F9428060F94AF +:10013000891C20E030E040EA51E46091420970916E +:10014000430980914409909145090F940EBE609334 +:100150004209709343098093440990934509E090C4 +:100160003E09F0903F09009140091091410920910A +:100170003A0930913B0940913C0950913D09609109 +:1001800036097091370980913809909139097F9229 +:100190006F920F9428060F94891CE0918609F0E075 +:1001A000EE0FFF1FEA5CF64B859194910E94E046AA +:1001B000149A64E670E080E090E00F9440B69FB738 +:1001C000F894809102018460809302019FBF0F9098 +:1001D0000F900F900F900F900F9010E00C9483935E +:1001E0002B38B3E03B0711F40C94FF912C383340CB +:1001F00011F40C94C5940C9488932339F3E03F07D1 +:1002000011F40C948F92D4F4203963E0360711F482 +:100210000C945A9214F40C942892213993E03907E3 +:1002200011F40C948C922239334011F00C94889381 +:10023000109218190F94AC370C94C5942639B3E07A +:100240003B0711F40C943C936CF42439F3E03F0722 +:1002500011F40C9495922539334011F40C940A93BF +:100260000C948893203A63E0360709F431C2273EA4 +:10027000334011F00C9488931092D6080F94C7491C +:100280008091EE0E9091EF0EA091F00EB091F10ED4 +:100290008093F20E9093F30EA093F40EB093F50EAC +:1002A0000E9476530C94C5940091020F1091030F95 +:1002B0000E5F1F4F80E50E94C242882379F00E94A2 +:1002C000F0420F945CBF6B017C01BB24B3946115B9 +:1002D00071058105910531F4B12C04C0B12CC12CFC +:1002E000D12C760183E50E94C242882399F00E94B6 +:1002F000F04220E030E04AE754E40F94BDC10F948F +:100300005CBF6B017C01AA24A39461157105810572 +:10031000910509F4A12C6AE270E0C8010F94AFC7FF +:10032000009711F0DC011C92F801CF0121912032DD +:10033000E1F3B11007C0A11005C0222319F00F94FA +:10034000894906C0E0EFF7E4859194910F949649AE +:1003500081E00F9469490F94891C0F9411B6609342 +:10036000E8087093E9088093EA089093EB08C114B9 +:10037000D104E104F104F1F00F9411B64B015C01DA +:100380008C0C9D1CAE1CBF1C84E090E09093180266 +:10039000809317020F9411B6681579058A059B059D +:1003A00010F00C9481950F94244B81110C9481953D +:1003B0000C948C950F94224B882311F40C94C594C3 +:1003C00084E090E090931802809317020F94244BDE +:1003D000811109C00F941B2981E00E94A85D80E073 +:1003E0000F94FF84F3CF82E090E090931802809303 +:1003F00017028091C209E0918609F0E0EE0FFF1F1D +:10040000882341F0E05EF64B859194910F949649D4 +:100410000C94C594E658F84B859194910F949649A5 +:100420000C94C594E4E9F9E4859194910F9496496C +:1004300017981698159814980C94C594E2E2FBE46A +:1004400005911491F8018491882329F00E94F942C2 +:100450000F5F1F4FF7CF8AE00E94F94280EC99E0CE +:100460000E946BB6ECEBFAE405911491F8018491CB +:10047000882311F40C94BB6E0E94F9420F5F1F4F4A +:10048000F5CF80EC99E00E94D8BE0C94C59480EC26 +:1004900099E00E94B2B60C94C5948091020F90919D +:1004A000030F6AE270E004960F94AFC7009711F053 +:1004B000DC011C926091020F7091030F6C5F7F4F03 +:1004C00021E041E080EC99E00E9406B90C94C594CB +:1004D0008091C409811102C00E94BE4780EC99E05E +:1004E0000E94B6B60F9411B66093E0087093E108CD +:1004F0008093E2089093E3080C94C59480EC99E013 +:100500000E94BEB60C94C5948091C309882311F44F +:100510000C94C59483E50E94C24281110C94969577 +:100520000C94C59480EC99E00E9433B70C94C59468 +:100530008091020F9091030F6AE270E004960F948D +:10054000AFC78C010097A9F080910C0F90910D0F0F +:100550006EE470E08F5E904F0F94AFC760E270E082 +:100560000F94AFC701969093030F8093020FF80189 +:1005700010826091020F7091030F6C5F7F4F21E03A +:1005800040E080EC99E00E9406B90C94C5948091FB +:10059000C309882311F40C94C59460E080EC99E0C1 +:1005A0000E94A5B88091020F9091030F6AE270E05B +:1005B00004960F94AFC78C010097A9F080910C0F9F +:1005C00090910D0F6EE470E08F5E904F0F94AFC767 +:1005D00060E270E00F94AFC701969093030F809391 +:1005E000020FD8011C926091020F7091030F6C5F93 +:1005F0007F4F80EC99E00E948CC00C94C594809150 +:10060000C20981110F94891C0091020F1091030FF0 +:100610000C5F1F4F6AE270E0C8010F94AFC77C0106 +:1006200061E270E0C8010F94AFC7009719F08C0128 +:100630000F5F1F4FE114F10411F0F701108280E504 +:100640000E94C242F82E2091020F3091030F021730 +:10065000130708F4F12C8091C309882311F40C943A +:10066000C59421E02F2541E0B80180EC99E00E947B +:1006700006B983E50E94C2428823B9F02091020F97 +:100680003091030F2017310780F40E94E542AB013F +:10069000BC014093D10C5093D20C6093D30C709357 +:1006A000D40C8CE19CE00E94C2A980EC99E00E94ED +:1006B000B6B6F1100C94C5940F9411B66093E0088F +:1006C0007093E1088093E2089093E3080C94C5943A +:1006D0008091020F9091030F6AE270E005960F94EB +:1006E000AFC78C010097A9F080910C0F90910D0F6E +:1006F0006EE470E08F5E904F0F94AFC760E270E0E1 +:100700000F94AFC701969093030F8093020FD80107 +:100710001C926091020F7091030F6B5F7F4F80EC12 +:1007200099E00E94D6BB0C94C5940F9411B66093C7 +:10073000DC087093DD088093DE089093DF08009159 +:10074000E0081091E1082091E2083091E308601B75 +:10075000710B820B930B28EE33E040E050E00F94D6 +:10076000BFC3CA01B9012CE330E040E050E00F9470 +:10077000BFC37F936F933F932F9386E99AE09F9334 +:100780008F93CE0101969F938F930F94F7C8E4E562 +:10079000FEE084910FB6F894DEBF0FBECDBF04E536 +:1007A0001EE0882339F00E94F9420F5F1F4FF801C5 +:1007B0008491F7CF8E010F5F1F4FD8018D918D016E +:1007C000882319F00E94F942F8CF8AE00E94F9428A +:1007D000CE0101960F9489490C94C5948FEF0E9425 +:1007E000EE4660E070E088EF9FE00F944FCB0E94F0 +:1007F0001DDC0E94B0DC0C94C5948AE50E94C242C4 +:100800000E9406510C94C59488E690E00E94EF5A2D +:1008100081110C94C59483E50E94C242882371F033 +:100820000091D7080E94F04210E0000F111F0454FD +:10083000174E0F9457BFF801718360830F944026C1 +:100840000C94C5940E94395A83E50E94C2428823C1 +:1008500011F40C94C5940E94F0420F9457BF70930A +:10086000BB186093BA180C94C59489E690E00E9476 +:10087000EF5A81110C94C594E0E9FAE084918F015C +:10088000882339F00E94F9420F5F1F4FF8018491CD +:10089000F7CFE091D70824E0E29FF0011124EC5457 +:1008A000F74E408151816281738121E030E084ED17 +:1008B00097E00E94FD41EDE8FAE084918F018823E2 +:1008C00039F00E94F9420F5F1F4FF8018491F7CF72 +:1008D000E091D708F0E0EE0FFF1FE454F74E60817F +:1008E0007181882777FD8095982F0F948ABFAB017F +:1008F000BC0121E030E084ED97E00E94FD41E9E891 +:10090000FAE084918F01882339F00E94F9420F5F49 +:100910001F4FF8018491F7CF40919E1850919F1876 +:100920006091A0187091A11821E030E084ED97E06B +:100930000E94FD41E6E8FAE084918F01882339F0B6 +:100940000E94F9420F5F1F4FF8018491F7CF609129 +:10095000BA187091BB18882777FD8095982F0F944F +:100960008ABFAB01BC0121E030E084ED97E00E943A +:10097000FD41E3E8FAE084918F01882339F00E9479 +:10098000F9420F5F1F4FF8018491F7CF4AE050E022 +:1009900060E070E084ED97E00E942C41E1E8FAE02D +:1009A00084918F01882339F00E94F9420F5F1F4F15 +:1009B000F8018491F7CF4091B4185091B518609127 +:1009C000B6187091B71821E030E084ED97E00E94EE +:1009D000FD41EEE7FAE084918F01882339F00E940F +:1009E000F9420F5F1F4FF8018491F7CF6091BC1857 +:1009F0007091BD18882777FD8095982F0F948ABF36 +:100A0000AB01BC0121E030E084ED97E00E94FD41A4 +:100A1000EAE7FAE084918F01882339F00E94F942D5 +:100A20000F5F1F4FF8018491F7CF8091D70890E0B6 +:100A30000F94E5234AE050E0BC0184ED97E00E946A +:100A40002C41E5E7FAE084918F01882339F00E9478 +:100A5000F9420F5F1F4FF8018491F7CF8FEF9FEF9F +:100A60000F94E5234AE050E0BC0184ED97E00E943A +:100A70002C41E1E7FAE084918F01882339F00E944C +:100A8000F9420F5F1F4FF8018491F7CF4091AE18E4 +:100A90005091AF186091B0187091B11821E030E01A +:100AA00084ED97E00E94FD41EDE6FAE084918F012C +:100AB000882339F00E94F9420F5F1F4FF80184919B +:100AC000F7CF4091A8185091A9186091AA18709179 +:100AD000AB1821E030E084ED97E00E94FD418AE010 +:100AE0000E94F94281E090E09093180280931702EF +:100AF0000C944D9A8DE690E00E94EF5A81110C946F +:100B0000C594E0918609F0E0EE0FFF1FE05CF54B25 +:100B1000859194910F94964981E090E090937E099D +:100B200080937D098091CB19882321F081E090E0AA +:100B30000F94BF5583E50E94C242882391F0009133 +:100B4000D7080E94F04210E0000F111F0454174E06 +:100B50000F9457BFD8016D937C9381E08093080276 +:100B600015C082E50E94C242882381F00091D70817 +:100B70000E94F04210E0000F111F0454174E0F9412 +:100B800057BFF80171836083109208020F944026CA +:100B90000F9411B66B017C010091D70810E0F801A9 +:100BA000EE0FFF1FE454F74E60817181882777FDB7 +:100BB0008095982F0F948ABFF801EE0FFF1FEE0F5C +:100BC000FF1FEC54F74E11E02081318142815381A7 +:100BD0000F94EBC018160CF010E01093D50881E0CC +:100BE00090E0909318028093170210921109C701A8 +:100BF000B6010E94AA5EE0918609F0E0EE0FFF1FA9 +:100C0000E45CF54B859194910F94964982E090E0D5 +:100C1000909318028093170290937E0980937D0928 +:100C20008091CB19882321F082E090E00F94BF558A +:100C30000F9411B66093E8087093E9088093EA086E +:100C40009093EB080C94C594E0918609F0E0EE0FC8 +:100C5000FF1FEC5AF44B859194910F94964983E0D1 +:100C600090E090937E0980937D098091CB19882331 +:100C700021F081E090E00F94BF5583E50E94C242CD +:100C8000882361F00E94F0420F9457BF7093BB1805 +:100C90006093BA1881E0809308020FC082E50E9439 +:100CA000C242882351F00E94F0420F9457BF7093C4 +:100CB000BB186093BA18109208020F9411B64B013A +:100CC0005C01109211096091BA187091BB188827C5 +:100CD00077FD8095982F0F948ABF11E020919E1880 +:100CE00030919F184091A0185091A1180F94EBC01B +:100CF00018160CF010E01093D50881E090E0909366 +:100D00001802809317020AE61AE036E6E32E3AE06C +:100D1000F32E42E6C42E4AE0D42E8091D50860918D +:100D2000BA187091BB18882309F4A8C080911109E2 +:100D30008111A4C0882777FD8095982F0F948ABFD2 +:100D400020919E1830919F184091A0185091A118A1 +:100D50000F94EBC018160CF0A8C00F9411B66819C8 +:100D600079098A099B09693E73408105910508F458 +:100D70007CC08091CB19811174C0E091220924E0DC +:100D8000E29FF0011124EC54F74E408151816281C1 +:100D90007381F80184912AE6A22E2AE0B22E8823DC +:100DA00001F165964FAF659766965FAF6697679658 +:100DB0006FAF679768967FAF68970E94F942FFEF21 +:100DC000AF1ABF0AF501849168967FAD6897679660 +:100DD0006FAD679766965FAD669765964FAD659701 +:100DE000DECF22E030E084ED97E00E94FD41F70184 +:100DF000849196E6A92E9AE0B92E882341F00E94AC +:100E0000F942FFEFAF1ABF0AF5018491F6CF609166 +:100E1000220970E04AE050E084ED97E00E942C4106 +:100E2000F6018491B2E6AB2EBAE0BB2E882341F0E6 +:100E30000E94F942FFEFAF1ABF0AF5018491F6CF85 +:100E400040919E1850919F186091A0187091A11820 +:100E500021E030E084ED97E00E94FD418AE00E94AD +:100E6000F9420F9411B64B015C010F941B2980E0ED +:100E70000E94A85D80E00F94FF844FCF882777FD04 +:100E80008095982F0F948ABF20919E1830919F18BB +:100E90004091A0185091A1180F94E8BE87FF05C09B +:100EA00080910802882309F458CFE0918609F0E088 +:100EB000EE0FFF1FE85AF44B859194910F949649D9 +:100EC00082E090E0909318028093170284E090E013 +:100ED00090937E0980937D090F9411B66093E80882 +:100EE0007093E9088093EA089093EB080C94C594FA +:100EF00083E50E94C242882319F10E94F04220E05B +:100F000030E0A9010F94E8BE87FD0FC00E94F042B7 +:100F100020E030E04FE753E40F94EBC0181644F0A4 +:100F20000E94F0420F9457BF05C060E070E002C01D +:100F30006FEF70E070932109609320090C94C594C1 +:100F40008FEF90E090932109809320090C94C59431 +:100F500010922109109220090C94C5940F944126F7 +:100F60000F94891C149A0F940B1D10922109109252 +:100F7000200968EE73E080E090E00F9440B6109294 +:100F80001902E2E9F9E44591549120E63AE06EE570 +:100F90007AE08CE594E00E9432CD0F94964980E08F +:100FA0000F94FF840C94C5941092BB090C94C594C3 +:100FB00081E08093BB090C94C59483E50E94C242F2 +:100FC000882399F00E94F04220E030E04AE754E4A0 +:100FD0000F94BDC10F945CBF60930A0270930B0223 +:100FE00080930C0290930D021DC088E50E94C242BE +:100FF00081110C94A79589E50E94C24281110C943D +:10100000A7958AE50E94C24281110C94A79585E4B8 +:101010000E94C24281110C94A7950F94891C149AC6 +:101020000F940B1D109274090C94C59483E50E94D3 +:10103000C242882311F40C94C5940E94F04220E02F +:1010400030E04AE754E40F94BDC10F945CBF609355 +:10105000E4087093E5088093E6089093E7080C9401 +:10106000C5942FEE34E039AF28AF0AEA17E16AEBF6 +:10107000C62E67E1D62E7AE6E72E77E1F72E312CE1 +:10108000A8ADB9AD8D91B9AFA8AF0E94C242882377 +:1010900009F45CC0B3E03B1252C00E94F0422B0145 +:1010A0003C0120E030E040EA51E40F94E8BE87FFC5 +:1010B0003FC0A3019201F801608171818281938117 +:1010C0000F94EFBE4B015C019B01AC0160918A174C +:1010D00070918B1780918C1790918D170F94BDC1D3 +:1010E00060938A1770938B1780938C1790938D174A +:1010F000A5019401D6016D917D918D919C910F94E4 +:10110000BDC1F6016083718382839383D7016D91A2 +:101110007D918D919C910F9488BFA50194010F94AE +:10112000BDC10F945CBFF701608371838283938399 +:10113000D8014D925D926D927C92139707C00E94E8 +:10114000F042F801608371838283938333940C5F50 +:101150001F4FF4E0CF0ED11C24E0E20EF11C34E06E +:10116000331611F40C94C5948BCF8EE40E94C242C6 +:10117000882311F40C94C5940E94E5426093F20E0A +:101180007093F30E8093F40E9093F50E0C94C59427 +:1011900083E50E94C242882331F00E94D8428093A6 +:1011A00012020C94C594E4E5FEE084918F0188233B +:1011B00039F00E94F9420F5F1F4FF8018491F7CF79 +:1011C0004091120250E060E070E087E59AE00E94F2 +:1011D0001C478AE00E94F9420C94C59486E50E945F +:1011E000C242882371F00F9454B28C01F8018491AB +:1011F000882311F40C94BB6E0E94F9420F5F1F4FBD +:10120000F5CF85E50E94C242882369F08091020FE4 +:101210009091030F01969093030F8093020F0F9408 +:10122000C5B40C94C594E2EFF9E405911491F8016A +:101230008491882311F40C94C5940E94F9420F5FA5 +:101240001F4FF5CFE4E5FAE084918F01882339F050 +:101250000E94F9420F5F1F4FF8018491F7CF409130 +:10126000360950913709609138097091390922E0A7 +:1012700030E084ED97E00E94FD41E0E5FAE08491E2 +:101280008F01882339F00E94F9420F5F1F4FF80148 +:101290008491F7CF40913A0950913B0960913C0904 +:1012A00070913D0922E030E084ED97E00E94FD411D +:1012B000ECE4FAE084918F01882339F00E94F9422E +:1012C0000F5F1F4FF8018491F7CF40913E09509175 +:1012D0003F09609140097091410922E030E084EDBE +:1012E00097E00E94FD41E8E4FAE084918F018823B1 +:1012F00039F00E94F9420F5F1F4FF8018491F7CF38 +:101300004091420950914309609144097091450907 +:1013100022E030E084ED97E00E94FD41ECEEFAE43B +:1013200005911491F8018491882329F00E94F942D3 +:101330000F5F1F4FF7CF0F94EA1C0F948ABF2091C5 +:10134000AA173091AB174091AC175091AD170F947D +:10135000EFBEAB01BC0122E030E084ED97E00E94DB +:10136000FD41E4E4FAE084918F01882339F00E9482 +:10137000F9420F5F1F4FF8018491F7CF81E00F947E +:10138000EA1C0F948ABF2091AE173091AF1740919D +:10139000B0175091B1170F94EFBEAB01BC0122E022 +:1013A00030E084ED97E00E94FD41E0E4FAE08491B2 +:1013B0008F01882339F00E94F9420F5F1F4FF80117 +:1013C0008491F7CF82E00F94EA1C0F948ABF20919A +:1013D000B2173091B3174091B4175091B5170F94CD +:1013E000EFBEAB01BC0122E030E084ED97E00E944B +:1013F000FD41ECE3FAE084918F01882339F00E94EB +:10140000F9420F5F1F4FF8018491F7CF83E00F94EB +:10141000EA1C0F948ABF2091B6173091B7174091FC +:10142000B8175091B9170F94EFBEAB01BC0122E081 +:1014300030E084ED97E00E94FD418AE00E94F9428D +:101440000C94C59480E00F94CD140C94C594ECEEEC +:10145000F9E405911491F8018491882329F00E9400 +:10146000F9420F5F1F4FF7CF8AE00E94F942E0E98F +:10147000F7E405911491F8018491882329F00E94E2 +:10148000F9420F5F1F4FF7CF1E9B15C0E0ECFAE447 +:1014900005911491F8018491882329F00E94F94262 +:1014A0000F5F1F4FF7CF8AE00E94F942E2E9F7E4AD +:1014B000059114910DC0EEEBFAE405911491F80139 +:1014C0008491882381F30E94F9420F5F1F4FF7CF69 +:1014D000F8018491882329F00E94F9420F5F1F4F81 +:1014E000F7CF8091060182FF15C0E0ECFAE4059188 +:1014F0001491F8018491882329F00E94F9420F5F2A +:101500001F4FF7CF8AE00E94F942E4E8F7E4059123 +:1015100014910DC0EEEBFAE405911491F801849159 +:10152000882381F30E94F9420F5F1F4FF7CFF80124 +:101530008491882329F00E94F9420F5F1F4FF7CF53 +:101540001D9B15C0E0ECFAE405911491F80184911B +:10155000882329F00E94F9420F5F1F4FF7CF8AE0DE +:101560000E94F942E6E8F7E4059114910DC0EEEB14 +:10157000FAE405911491F8018491882381F30E9483 +:10158000F9420F5F1F4FF7CFF8018491882329F0AC +:101590000E94F9420F5F1F4FF7CF8091060187FF2E +:1015A00015C0E0ECFAE405911491F80184918823C8 +:1015B00029F00E94F9420F5F1F4FF7CF8AE00E9487 +:1015C000F942EEE7F7E4059114910DC0EEEBFAE471 +:1015D00005911491F8018491882381F30E94F942C6 +:1015E0000F5F1F4FF7CFF8018491882329F00E94E5 +:1015F000F9420F5F1F4FF7CF1C9B15C0E0ECFAE4D8 +:1016000005911491F8018491882329F00E94F942F0 +:101610000F5F1F4FF7CF8AE00E94F942E0E8F7E43E +:10162000059114910DC0EEEBFAE405911491F801C7 +:101630008491882381F30E94F9420F5F1F4FF7CFF7 +:10164000F8018491882329F00E94F9420F5F1F4F0F +:10165000F7CF01990FC0E0ECFAE405911491F8017D +:101660008491882311F40C94BB6E0E94F9420F5FA1 +:101670001F4FF5CFEEEBFAE405911491F801849138 +:10168000882311F40C94BB6E0E94F9420F5F1F4F28 +:10169000F5CF809122098093D70884E50E94C24249 +:1016A000882319F10E94F0420F945CBF6093D70821 +:1016B0006623D9F0E4E5FEE084918F01882339F0B8 +:1016C0000E94F9420F5F1F4FF8018491F7CFEAEEB5 +:1016D000F9E405911491D8018D918D01882311F4BD +:1016E0000C94C5940E94F942F6CF84E40E94C24251 +:1016F000882311F40C94C5940E94F04220E030E05D +:10170000A9010F94E8BE811103C01092460932C0AE +:101710000091D70810E00E94F042F801EE0FFF1F81 +:10172000EE0FFF1FEA5BFD4F60837183828393831B +:10173000E0904602F0904702009148021091490261 +:1017400020E030E0A901B701C8010F94E8BE811183 +:1017500004C0E12CF12C00E410E4C701D80180930F +:10176000460290934702A0934802B093490281E059 +:10177000809346090E94305C0C94C5940FEE14E0EF +:101780004AE9E42E47E1F42EF80181918F010E948D +:10179000C242882351F00E94F0420F945CBFD701EF +:1017A0006D937D938D939C931397B4E0EB0EF11C96 +:1017B000E4E0033F1E0741F70F9433130C94C594E4 +:1017C000F4E0EF0EF11C24E0033F120711F40C9437 +:1017D000C594D8018D918D010E94C242882381F366 +:1017E0000E94F042F7016083718382839383E8CF84 +:1017F00083E50E94C242882351F00E94F042609328 +:10180000921770939317809394179093951784E58C +:101810000E94C242882311F40C94C5940E94F042A5 +:1018200060938E1770938F178093901790939117F2 +:101830000C94C59483E50E94C242882351F00E9413 +:10184000F042609396177093971780939817909330 +:10185000991784E50E94C242882351F00E94F04209 +:1018600060937A1770937B1780937C1790937D1702 +:1018700082E40E94C242882361F00E94F0420F94E9 +:101880005CBF6093CA177093CB178093CC1790936B +:10189000CD1788E50E94C242882391F00E94F04251 +:1018A00060938217709383178093841790938517A2 +:1018B00060937E1770937F178093801790938117A2 +:1018C00089E50E94C242882351F00E94F042609351 +:1018D00082177093831780938417909385178AE5F6 +:1018E0000E94C242882351F00E94F0426093861702 +:1018F00070938717809388179093891785E40E94C7 +:10190000C242882351F00E94F04260938A1770937C +:101910008B1780938C1790938D1720E030E040E276 +:1019200051E460917E1770917F178091801790919C +:1019300081170F94EBC0181664F480E090E0A0E2E9 +:10194000B1E480937E1790937F17A0938017B09394 +:10195000811720E030E040E251E4609182177091FD +:10196000831780918417909185170F94EBC01816F8 +:1019700014F00C94C59480E090E0A0E2B1E4809370 +:10198000821790938317A0938417B0938517FDC790 +:10199000F4E0EF0EF11C24E0023F120709F4F5C752 +:1019A000D8018D918D010E94C242882389F30E9443 +:1019B000F042F7016083718382839383E9CF83E5EB +:1019C0000E94C242882351F00E94F0426093260296 +:1019D00070932702809328029093290286E40E9444 +:1019E000C242882381F00E94F04220E030E040E7CC +:1019F00052E40F94EFBE60931E0270931F02809317 +:101A00002002909321028AE50E94C242882309F4B1 +:101A1000BCC70E94F04260931A0970931B0980931F +:101A20001C0990931D09B1C783E50E94C242882317 +:101A300051F00E94F0426093160970931709809349 +:101A400018099093190986E40E94C242882309F478 +:101A50009CC70E94F04220E030E040E752E40F943F +:101A6000EFBE60931A0270931B0280931C02909346 +:101A70001D028BC783E50E94C242882309F485C7F3 +:101A80000E94F0420F9457BF6115710549F0613013 +:101A9000710559F481E080931F0910921E0975C7E2 +:101AA00010921F0910921E0970C7E4E5FEE08491B0 +:101AB0008F01882339F00E94F9420F5F1F4FF80110 +:101AC0008491F7CFE2E0F8E405911491F801849154 +:101AD000882329F00E94F9420F5F1F4FF7CF009132 +:101AE0000C0F10910D0F0F5E104FD8018D918D01CD +:101AF000882319F00E94F942F8CFE7E3FAE08491D5 +:101B00008F01882311F40C94BB6E0E94F9420F5F81 +:101B10001F4FF8018491F5CF83E50E94C2428823CC +:101B200009F433C70E94F0420F9457BF70935902D3 +:101B3000609358022AC783E50E94C242882309F4B1 +:101B400024C70E94F0420F9457BF6B017C0184E5CB +:101B50000E94C242882381F08DED90E00E94EF5AEE +:101B6000811113C7E091D708F0E0EE0FFF1FEC5A88 +:101B7000FD4FD182C08209C7D0925702C09256024F +:101B800004C783E50E94C242882331F00E94F042DC +:101B90000F9457BF8B0102C00EE610E080E50E9453 +:101BA000C242882331F00E94F0420F9457BFCB010C +:101BB00002C088EE93E06C01EE24D7FCE094FE2C8A +:101BC000101611067CF420E030E0A901B80184E58C +:101BD0000F9469BAC701B6010F9440B684E50F941B +:101BE0008DBDD3C6C701B6010F9440B6CEC680E501 +:101BF0000E94C242882351F00E94F0426093AA02E0 +:101C00007093AB028093AC029093AD0289E40E9482 +:101C1000C242882361F00E94F0420F949B3360938C +:101C2000A6027093A7028093A8029093A90284E46D +:101C30000E94C242882361F00E94F0420F94A733B1 +:101C40006093A2027093A3028093A4029093A502D2 +:101C500083E40E94C242882351F00E94F0426093C4 +:101C60009E0270939F028093A0029093A1020F9412 +:101C7000B823E0E9F9E405911491F80184918823EF +:101C800029F00E94F9420F5F1F4FF7CF09E614E0D9 +:101C9000D8018D918D01882319F00E94F942F8CF67 +:101CA0004091AA025091AB026091AC027091AD02DA +:101CB00022E030E084ED97E00E94FD410DE614E063 +:101CC000F80181918F01882319F00E94F942F8CF21 +:101CD0006091A6027091A7028091A8029091A9023A +:101CE0000F94A133AB01BC0122E030E084ED97E01A +:101CF0000E94FD4101E714E0D8018D918D018823F8 +:101D000019F00E94F942F8CF6091A2027091A302EB +:101D10008091A4029091A5020F94AD33AB01BC0158 +:101D200022E030E084ED97E00E94FD4105E714E0F9 +:101D3000F80181918F01882319F00E94F942F8CFB0 +:101D400040919E0250919F026091A0027091A10269 +:101D500022E030E084ED97E00E94FD418AE00E949D +:101D6000F94213C680E50E94C242882351F00E94C6 +:101D7000F04260939A0270939B0280939C0290932E +:101D80009D0289E40E94C242882361F00E94F042D1 +:101D90000F949B33609396027093970280939802FE +:101DA0009093990284E40E94C242882361F00E94C9 +:101DB000F0420F94A7336093920270939302809342 +:101DC0009402909395020F94B823E0E9F9E4059109 +:101DD0001491F8018491882329F00E94F9420F5F41 +:101DE0001F4FF7CF09E614E0D8018D918D018823AC +:101DF00019F00E94F942F8CF40919A0250919B024B +:101E000060919C0270919D0222E030E084ED97E0A9 +:101E10000E94FD410DE614E0F80181918F018823B5 +:101E200019F00E94F942F8CF6091960270919702E2 +:101E300080919802909199020F94A133AB01BC015B +:101E400022E030E084ED97E00E94FD4101E714E0DC +:101E5000D8018D918D01882319F00E94F942F8CFA5 +:101E600060919202709193028091940290919502F8 +:101E70000F94AD33AB01BC0122E030E084ED97E07C +:101E80000E94FD418AE00E94F9427FC583E50E94DD +:101E9000C242882319F00E94F04203C060E070E063 +:101EA000CB010F942A1371C585E40E94C242882396 +:101EB00041F00E94F0420F9457BF8B0177FF03C09F +:101EC00009C000E010E0C12CD12C86E1E82E83E4AB +:101ED000F82E06C0C12CD12CBCE8EB2EB2E4FB2EB0 +:101EE00083E50E94C242882321F00E94F0426B01E8 +:101EF0007C0183E40E94C242882331F00E94F042B8 +:101F00000F9457BF9B0102C025E030E0A801C70134 +:101F1000B6010F94BD2C39C50F94891C36C560E0FD +:101F200084E190E00E94FB3330C50E94D4382DC577 +:101F30000F942749E4E5FEE084918F01882339F06E +:101F40000E94F9420F5F1F4FF8018491F7CFE7E23B +:101F5000FAE084918F01882309F417C50E94F942A1 +:101F60000F5F1F4FF8018491F6CF8AE50E94C242AD +:101F7000882309F497C00E94F0426B017C0120E0A5 +:101F800030E040E751EC0F94EBC087FD43C020E008 +:101F900030E040EA50ECC701B6010F94E8BE1816D5 +:101FA0000CF438C0F7FAF094F7F8F094C0922309D3 +:101FB000D0922409E0922509F0922609E4E5FEE09A +:101FC00084918F01882339F00E94F9420F5F1F4FDF +:101FD000F8018491F7CFE0E9F9E445915491E2E802 +:101FE000F7E48591949126E23AE062E177E00E947D +:101FF00032CD8C01F8018491882329F00E94F942A6 +:102000000F5F1F4FF7CF8AE00E94F9428AE00E94DB +:10201000F942BBC4E4E5FEE084918F01882339F0E6 +:102020000E94F9420F5F1F4FF8018491F7CFE2E859 +:10203000F7E405911491F8018491882329F00E9416 +:10204000F9420F5F1F4FF7CFEEE7F7E405911491C8 +:10205000F8018491882329F00E94F9420F5F1F4FF5 +:10206000F7CF4AE050E061EF7FEF84ED97E00E9408 +:102070002C41E0E8F7E405911491F801849188235C +:1020800029F00E94F9420F5F1F4FF7CF4AE050E05E +:102090006BEF7FEF84ED97E00E942C418AE00E9475 +:1020A000F94273C4E4E5FEE084918F01882339F09E +:1020B0000E94F9420F5F1F4FF8018491F7CFE2E8C9 +:1020C000F7E48591949162E27AE00E9411CD8C014F +:1020D000F8018491882329F00E94F9420F5F1F4F75 +:1020E000F7CF8AE00E94F9424091230950912409D8 +:1020F0006091250970912609705822E030E084ED46 +:1021000097E00E94FD418AE00E94F9423EC450904F +:102110006A0210926A020F94891C8091CB1988235D +:1021200021F086E190E00F94BF5580915802909184 +:10213000590290934B0280934A02E0912209F0E009 +:10214000EE0FFF1FE454F74E60807180209020094D +:1021500030902109C0903609D0903709E0903809B5 +:10216000F0903909CF8ED8A2E9A2FAA200913A09DB +:1021700010913B0920913C0930913D090BA31CA310 +:102180002DA33EA340913E0950913F096091400923 +:10219000709141094FA358A769A77AA78091420976 +:1021A00090914309A0914409B09145098BA79CA740 +:1021B000ADA7BEA7C982DA82EB82FC820D831E83A3 +:1021C0002F83388749875A876B877C878D879E87BF +:1021D000AF87B88B85E40E94C242882359F00E94E1 +:1021E000F0429B01AC016BA57CA58DA59EA50F942B +:1021F0000FBE0AC020E030E040E050E46BA57CA5B3 +:102200008DA59EA50F940EBE6BA77CA78DA79EA73C +:10221000EFA0F8A409A51AA52BA13CA14DA15EA190 +:102220006F8D78A189A19AA1E2E2F9E0FF93EF9383 +:10223000812C912CE8EEAE2EE2E4BE2EDE019B96C0 +:102240006D010F9428068AE50E94C2420F900F90FC +:10225000882349F00E94F0429B01AC016FA178A550 +:1022600089A59AA51EC020E030E040E050E46FA1AF +:1022700078A589A59AA50F940FBE6B017C016FA369 +:1022800078A789A79AA720E030E040E251E40F94B4 +:10229000E8BE87FF0CC020E030E040E251E4C70117 +:1022A000B6010F940FBE6FA378A789A79AA7EFA0D6 +:1022B000F8A409A51AA52BA13CA14DA15EA16F8D83 +:1022C00078A189A19AA1E2E2F9E0FF93EF93812C32 +:1022D000912CB0E7AB2EB1E4BB2EFE01BB966F0193 +:1022E0000F94280688E50E94C2420F900F90882321 +:1022F00079F00E94F0429B01AC016F8D78A189A119 +:102300009AA10F940FBE6F8F78A389A39AA308C0D8 +:1023100080E090E0A3E5B3E48F8F98A3A9A3BAA3CC +:1023200089E50E94C242882339F00E94F0426BA3E3 +:102330007CA38DA39EA304C01BA21CA21DA21EA24F +:10234000EFA0F8A409A51AA52BA13CA14DA15EA15F +:102350006F8D78A189A19AA1E2E2F9E0FF93EF9352 +:10236000812C912CE8E4AE2EE2E4BE2EDE019B9699 +:102370006D010F9428060F94891C84E090E09093DF +:1023800018028093170210922109109220090F94CD +:1023900011B64B015C01E0918609F0E0EE0FFF1FE2 +:1023A000E05BF64B859194910E94E0460F900F9070 +:1023B000412C00E010E0411034C40F94244B8823DA +:1023C00009F42FC4CDC48091CF199091D019892BD5 +:1023D00009F0DBC285E090E09093D0198093CF198B +:1023E000D4C28091CF199091D019892B09F0CDC218 +:1023F00086E090E09093D0198093CF19C6C288E50B +:102400000E94C242882339F00E94F0420F9457BFC5 +:1024100080E00F940C1E8AE50E94C242882339F0A6 +:102420000E94F0420F9457BF81E00F940C1E85E488 +:102430000E94C242882309F4A8C20E94F0420F946D +:1024400057BF82E00F940C1EA0C20F94AC379DC200 +:1024500088E50E94C242882339F00E94F0420F941E +:102460005CBF80E00F944A3789E50E94C24288230E +:1024700039F00E94F0420F945CBF81E00F944A371C +:102480008AE50E94C242882339F00E94F0420F94EC +:102490005CBF82E00F944A3785E40E94C2428823E1 +:1024A00009F473C20E94F0420F945CBF83E00F9462 +:1024B0004A376BC288E50E94C242882339F00E94E5 +:1024C000F0420F945CBF80E00F947B3789E50E9457 +:1024D000C242882339F00E94F0420F945CBF81E031 +:1024E0000F947B378AE50E94C242882339F00E940C +:1024F000F0420F945CBF82E00F947B3785E40E942A +:10250000C242882309F441C20E94F0420F945CBF8A +:1025100083E00F947B3739C20F94903436C281E048 +:10252000809318190F94AC3730C288E50E94C242DC +:10253000882331F00E94F0420F945CBF6093B40294 +:1025400089E50E94C242882331F00E94F0420F9434 +:102550005CBF6093B5028AE50E94C242882331F0D5 +:102560000E94F0420F945CBF6093B60285E40E9423 +:10257000C242882331F00E94F0420F945CBF609306 +:10258000B70209E714E0D8018D918D01882319F075 +:102590000E94F942F8CF4AE050E06091B40284ED25 +:1025A00097E00E9456410CE814E0F80181918F01F8 +:1025B000882319F00E94F942F8CF4AE050E0609178 +:1025C000B50284ED97E00E9456410FE914E0D8016E +:1025D0008D918D01882319F00E94F942F8CF4AE0CD +:1025E00050E06091B60284ED97E00E94564102EB04 +:1025F00014E0F80181918F01882319F00E94F942BB +:10260000F8CF4AE050E06091B70284ED97E00E9475 +:102610005641BBC188E50E94C242882339F00E941E +:10262000F0420F945CBF80E00F947F3589E50E94F3 +:10263000C242882339F00E94F0420F945CBF81E0CF +:102640000F947F358AE50E94C242882339F00E94A8 +:10265000F0420F945CBF82E00F947F3585E40E94C6 +:10266000C242882309F491C10E94F0420F945CBFDA +:1026700083E00F947F3589C188E50E94C242882398 +:1026800039F00E94F0420F945CBF80E00F94D13586 +:1026900089E50E94C242882339F00E94F0420F94DB +:1026A0005CBF81E00F94D1358AE50E94C242882345 +:1026B00039F00E94F0420F945CBF82E00F94D13554 +:1026C00085E40E94C242882309F45FC10E94F0425F +:1026D0000F945CBF83E00F94D13557C10E94645CB6 +:1026E00054C1123309F4AFC6163040F09FB7F894C6 +:1026F000809102018B7F809302019FBF84E690E06E +:102700000E94425C1F5F0F94244B81119CC6E9CF4D +:1027100080910C0F90910D0F8F5E904F9F938F9330 +:1027200084E09AE09F938F930F944AC80F900F9084 +:102730000F900F902AC184E50E94C242882309F4B9 +:10274000B9C00F94891CE091020FF091030F3196EC +:1027500081918032E9F38930D9F390ED980F9A3066 +:10276000B0F08F3379F0E4EFF9E084918F018823A2 +:1027700011F40C94BB6E0E94F9420F5F1F4FF801D9 +:102780008491F5CF0F9434B18093D70806C00E948E +:10279000F0420F945CBF6093D7082091D708E22ED7 +:1027A000F12C81E090E0022E01C0880F0A94EAF734 +:1027B00090917409982B90937409222309F433C0E3 +:1027C000E4E5FEE084918F01882339F00E94F9420C +:1027D0000F5F1F4FF8018491F7CFE2EFF9E084918A +:1027E0008F01882339F00E94F9420F5F1F4FF801D3 +:1027F0008491F7CF4AE050E0B70184ED97E00E9462 +:102800002C418AE00E94F942E8E1FAE40591149132 +:10281000F8018491882311F40C94BB6E0E94F94254 +:102820000F5F1F4FF5CF86E40E94C2428823D9F084 +:102830000E94F0426B017C016093F1087093F208F2 +:102840008093F3089093F40820E030E0A9010F94FE +:10285000EBC0181644F4C0920E02D0920F02E09220 +:102860001002F0921102E4E5FEE084918F018823CA +:1028700039F00E94F9420F5F1F4FF8018491F7CFA2 +:10288000E2E9FBE405911491F8018491882329F091 +:102890000E94F9420F5F1F4FF7CF6091220970E04D +:1028A0004AE050E084ED97E00E942C418AE00E94CB +:1028B000F9426BC0E4E5FEE084918F01882339F092 +:1028C0000E94F9420F5F1F4FF8018491F7CFE2E0B9 +:1028D000F8E405911491F8018491882329F00E946D +:1028E000F9420F5F1F4FF7CF00910C0F10910D0FA2 +:1028F0000F5E104FD8018D918D01882319F00E9431 +:10290000F942F8CFEDEEF9E084918F01882311F4BC +:102910000C94BB6E0E94F9420F5F1F4FF801849127 +:10292000F5CF711028C0662031F181E080934B1102 +:102930000F94F81C6B017C0180E00F94F81CAB0134 +:10294000BC01970186018BE491E10E9411439B0138 +:10295000AC0160913E0970913F09809140099091CE +:1029600041090F940EBE60933E0970933F09809316 +:102970004009909341098091CB19882321F084E18B +:1029800090E00F94BF551092B40981E090E09093CD +:102990001802809317020E94B8537FC5C0900D099A +:1029A000D0900E09E0900F09F09010092091420993 +:1029B000309143094091440950914509C701B6013E +:1029C0000F940EBE2DEC3CEC4CEC5DE30F94EBC091 +:1029D000181614F00C943570C0924209D092430935 +:1029E000E0924409F092450982E499E00F940D13B6 +:1029F00060E080E00E94AC5750C50E94F0422091F8 +:102A00002A0930912B0940912C0950912D090F94DE +:102A10000FBE6093360970933709809338099093FD +:102A200039090C942C710E94F04220912E093091AA +:102A30002F0940913009509131090F940FBE6093D6 +:102A40003A0970933B0980933C0990933D090C949B +:102A500039710E94F042209132093091330940913E +:102A60003409509135090F940FBE60933E0970935D +:102A70003F0980934009909341090C943A7220E0F9 +:102A800030E040E85FE36091420970914309809132 +:102A90004409909145090F940FBE609342097093C9 +:102AA00043098093440990934509E0903E09F090D2 +:102AB0003F09009140091091410920913A09309154 +:102AC0003B0940913C0950913D0960913609709154 +:102AD00037098091380990913909E2E2F9E0FF93D2 +:102AE000EF93812C912CE8ECAE2EE3E4BE2EF2E4C1 +:102AF000CF2EF9E0DF2E0F9428060F900F900C9444 +:102B0000AD7C82E090E0909318028093170280E001 +:102B10000F9469490C94F9810F941B2981E00E945C +:102B2000A85D80E00F94FF840C94CA810E94E54266 +:102B3000AB01BC014093D10C5093D20C6093D30CE9 +:102B40007093D40C8CE19CE00E94C2A91ECF0F941C +:102B5000891C88E50E94C242882319F0179A1092B6 +:102B6000270989E50E94C242882319F0169A10921B +:102B700028098AE50E94C24285E40E94C242882355 +:102B800011F40C941288149A0C941288809101010B +:102B90008460809301010115110509F04FC09FB7B2 +:102BA000F894809102018460809302019FBF0F5FBF +:102BB0001F4FB1E04B1609F44FC04B1608F048C048 +:102BC00084E090E00E94425C0F9411B675016401AC +:102BD000F0ECCF0EF7E2DF1EF9E0EF1EF11CC61697 +:102BE000D706E806F90608F0E6CBE0918609F0E0A2 +:102BF000EE0FFF1FEC5AF64B859194910E94E04630 +:102C00001092BD181092BC181092BF181092BE18E6 +:102C10001092C1181092C0180F94891C149A442461 +:102C200043940F941B2981E00E94A85D043FF1E0CA +:102C30001F0709F0ABCF00E010E0A8CF0431110569 +:102C400009F0B5CF9FB7F894809102018B7FACCF8C +:102C5000E2E04E16B9F0AFCB84E090E00E94425C17 +:102C60000F94244B8823E9F2E0912209F0E0EE0F63 +:102C7000FF1FE454F74E718260820F94818942E015 +:102C8000442ECFCFE0902209F12CF701EE0FFF1F69 +:102C9000E454F74E60817181882777FD8095982FE5 +:102CA0000F948ABFF701EE0FFF1FEE0FFF1FEC54CA +:102CB000F74E20813181428153810F940EBE6B010A +:102CC0007C0120E030E0A9010F94EBC018165CF401 +:102CD00020E030E040E85FE3C701B6010F94E8BEB2 +:102CE00087FF1CC00AC020E030E040E85FEBC7016E +:102CF000B6010F94EBC018168CF4E0918609F0E051 +:102D0000EE0FFF1FE05BF64B859194910E94E04629 +:102D10000F9411B64B015C01412C4FCB44E061E0B4 +:102D20008AE499E10E945A3CE091220924E0E29F62 +:102D3000F0011124EC54F74E80819181A281B3817E +:102D40008FA798ABA9ABBAABCE018F960F948B5AD5 +:102D5000BC018AE499E10F94D0B804E110E061CF9E +:102D60009FB7F894809102018B7F809302019FBFEF +:102D70001092AC091092AB09E0918609F0E0EE0FD9 +:102D8000FF1FE250F84B859194910E94E04682E04B +:102D900090E0909318028093170281E080937A0963 +:102DA000E0918609F0E0EE0FFF1FE250F84B8591AD +:102DB00094910F9496498CE40E94C242882359F062 +:102DC0000E94F0429B01AC016BA57CA58DA59EA540 +:102DD0000F940FBE0AC020E030E040EA52E46BA539 +:102DE0007CA58DA59EA50F940EBE6BA77CA78DA775 +:102DF0009EA720E030E040EA52E46BA57CA58DA5BB +:102E00009EA50F940FBE20E030E044E352E40F94FF +:102E10000EBE6BA77CA78DA79EA7EFA0F8A409A55F +:102E20001AA52BA13CA14DA15EA16F8D78A189A10E +:102E30009AA1B2E26B2EB9E07B2E7F926F92812C29 +:102E4000912CECEAAE2EE2E4BE2EDE019B966D01E3 +:102E50000F9428060F94891C20E030E040E751E4ED +:102E60006BA57CA58DA59EA50F940EBE6BA77CA718 +:102E70008DA79EA7EFA0F8A409A51AA52BA13CA198 +:102E80004DA15EA16F8D78A189A19AA17F926F92C9 +:102E9000812C912CF0E8AF2EF1E4BF2E0F94280680 +:102EA0000F94891C20E030E040EA51E46BA57CA53A +:102EB0008DA59EA50F940EBE6BA77CA78DA79EA780 +:102EC000EFA0F8A409A51AA52BA13CA14DA15EA1D4 +:102ED0006F8D78A189A19AA17F926F920F94280695 +:102EE0000F94891C0F94891CE0918609F0E0EE0F85 +:102EF000FF1FEA5CF64B859194910E94E046149A7C +:102F000064E670E080E090E00F9440B69FB7F894DC +:102F1000809102018460809302019FBF0F900F9007 +:102F20000F900F900F900F9000E010E00F94244B43 +:102F3000811104C00233110509F073C29FB7F894E0 +:102F4000809102018B7F809302019FBF84E090E01B +:102F50009093180280931702E0918609F0E0EE0F3B +:102F6000FF1FEA50F84B8591949141E060E00F9487 +:102F7000DA8A992787FD90959093AC098093AB09E5 +:102F8000892B59F4E0918609F0E0EE0FFF1FE05025 +:102F9000F54B859194910F949C9581E00F94CD878A +:102FA0000F94E66584E090E09093180280931702F6 +:102FB00080910602882391F0511004C0809108117D +:102FC000882361F00E947FCB09C00F941B2981E008 +:102FD0000E94A85D80910602811105C00F94244BC8 +:102FE000882399F319C0511004C0809108118823D7 +:102FF000A9F30E94A4CB882389F320E030E0A90143 +:1030000068EE73E084E50F9469BA82E390E00E9471 +:10301000425C84E50F948DBD80910602882339F0CF +:10302000511003C08091081181110E949DCB82E054 +:1030300090E0909318028093170220E030E04CE873 +:1030400052E46BA57CA58DA59EA50F940FBE6BA722 +:103050007CA78DA79EA7EFA0F8A409A51AA52BA170 +:103060003CA14DA15EA16F8D78A189A19AA1A2E298 +:103070006A2EA9E07A2E7F926F92812C912CB0EA71 +:10308000AB2EB1E4BB2EFE01BB966F010F94280658 +:1030900020E030E048E452E46BA57CA58DA59EA518 +:1030A0000F940FBE6BA77CA78DA79EA7EFA0F8A4D7 +:1030B00009A51AA52BA13CA14DA15EA16F8D78A1F8 +:1030C00089A19AA17F926F92812C912CA12CE0E48E +:1030D000BE2E0F9428061092AC091092AB090F94E3 +:1030E000676620E030E0A90164EF71E084E50F94A9 +:1030F00069BA82E390E00E94425C84E50F948DBD42 +:103100000F900F900F900F908091AB099091AC09A8 +:10311000019709F49AC01092AC091092AB09E4E04F +:10312000F0E0F0931802E09317020F94B16622E0EA +:1031300030E030931802209317028091AB099091F0 +:10314000AC098230910571F1039709F078C020E055 +:1031500030E048E452E46BA57CA58DA59EA50F94B4 +:103160000FBE6BA77CA78DA79EA7EFA0F8A409A50B +:103170001AA52BA13CA14DA15EA16F8D78A189A1BB +:103180009AA17F926F92812C912CA12CB0E4BB2E3E +:10319000DE019B966D010F9428060F941D660F901B +:1031A0000F90B2CF20E030E04CE852E46BA57CA554 +:1031B0008DA59EA50F940FBE6BA77CA78DA79EA77C +:1031C000EFA0F8A409A51AA52BA13CA14DA15EA1D1 +:1031D0006F8D78A189A19AA17F926F92812C912CF9 +:1031E000E0EAAE2EE1E4BE2EDE019B966D010F9467 +:1031F000280620E030E048E452E46BA57CA58DA5CC +:103200009EA50F940FBE6BA77CA78DA79EA7EFA0CE +:10321000F8A409A51AA52BA13CA14DA15EA16F8D13 +:1032200078A189A19AA17F926F92812C912CA12CD7 +:10323000F0E4BF2E0F9428060F94676661CF0F94B9 +:103240000A6681E00F94CD875FCF309221092092EA +:10325000200920E030E040EA50E46BA57CA58DA574 +:103260009EA50F940FBE6BA77CA78DA79EA7EFA06E +:10327000F8A409A51AA52BA13CA14DA15EA16F8DB3 +:1032800078A189A19AA1E2E26E2EE9E07E2E7F92DA +:103290006F92812C912CA12CF0E4BF2EFE01BB96E5 +:1032A0006F010F942806A50194016BA57CA58DA53F +:1032B0009EA50F940EBE6BA77CA78DA79EA7EFA01F +:1032C000F8A409A51AA52BA13CA14DA15EA16F8D63 +:1032D00078A189A19AA17F926F92812C912CA8EE5E +:1032E000AA2EA2E4BA2E0F942806EFA0F8A409A5EE +:1032F0001AA52D813E814F81588569817A818B8104 +:103300009C817F926F92812C912CB8E4AB2EB2E419 +:10331000BB2E0F942806E984FA840B851C852D8129 +:103320003E814F81588569817A818B819C817F9212 +:103330006F92812C912CE0E7AE2EE1E4BE2E0F942B +:10334000280620E030E040E050E46BA57CA58DA588 +:103350009EA50F940FBE6BA77CA78DA79EA7E9849F +:10336000FA840B851C852D813E814F8158856981AA +:103370007A818B819C817F926F92812C912CF8EEC7 +:10338000AF2EF2E4BF2E0F942806CE010D960F94B7 +:103390000D1380914A0290914B02809358029093B2 +:1033A00059029F938F9389E19AE09F938F938E01A7 +:1033B000015D1F4F1F930F930F94F7C860E0C80182 +:1033C0000E9469C4E0918609F0E0EE0FFF1FE65805 +:1033D000F84B859194910F94964910927A09109226 +:1033E00078091092770950926A020FB6F894DEBFFE +:1033F0000FBECDBF80910811882309F4C6CA0E9470 +:1034000093C30F94891C0E94CCC5811105C00E94F2 +:10341000206D0E9493C3F7CF0E94F4CA0E94E1CAB4 +:10342000B4CA0630110544F09FB7F89480910201A8 +:103430008B7F809302019FBF84E690E00E94425CF4 +:103440000F5F1F4F73CD9FB7F894809102018B7F60 +:10345000809302019FBF0F94891C0F94244B8823F3 +:1034600029F084E690E00E94425CF7CF81E00F945F +:10347000CD87E0918609F0E0EE0FFF1FE658F84B8C +:10348000859194910F94964910927A091092780937 +:103490001092770950926A0278CAC95ADF4F0FB664 +:1034A000F894DEBF0FBECDBFDF91CF911F910F917A +:1034B000FF90EF90DF90CF90BF90AF909F908F9054 +:1034C0007F906F905F904F903F902F9008950F9353 +:1034D0001F9381E090E090931802809317028091EF +:1034E000AD099091AE09892BA1F00F9411B600910E +:1034F000D8081091D9082091DA083091DB08601BB8 +:10350000710B820B930B693E73408105910508F0A6 +:10351000ADC08091AD099091AE09892B11F4109244 +:10352000B50980918509882319F00E944A506FC01F +:103530000E94D5C560E080EC99E00E9496BF809122 +:10354000080F9091090F892B09F461C01092070FA1 +:103550008091C0098823B1F000910C0F10910D0FDC +:103560000F5E104F66EB7CE0C8010F945AC7892BA1 +:10357000E9F4B80180EC99E00E9402B88091C10999 +:10358000882319F00E94206D23C0E0E9F9E4059139 +:103590001491F8018491882329F00E94F9420F5F69 +:1035A0001F4FF7CF8AE00E94F94212C060E080EC22 +:1035B00099E00E94A5B8EEE7FAE405911491F801AC +:1035C0008491882379F30E94F9420F5F1F4FF7CF50 +:1035D0008091070F811119C08091080F9091090FF8 +:1035E000892B99F0E0910C0FF0910D0FE25FF04FF5 +:1035F0008081823041F4F89485E0808381819281DA +:103600000F94821378940E9493C30E94AD490F9443 +:103610001B298091CC19882311F081E001C080E042 +:103620000E94A85D0F940A1480E00F94FF840E940A +:10363000CCCC0F94383980910C19882371F11092F9 +:103640000C19823041F0833051F0813031F561E066 +:1036500086EA9CE007C061E086E99CE003C061E087 +:1036600085E89CE01F910F910C9469C481E08093E0 +:10367000B5098091AD099091AE0901979093AE097B +:103680008093AD090F9411B66093D8087093D90850 +:103690008093DA089093DB083CCF1F910F91089537 +:1036A000CF93DF93ECE7F7E08491EF01882331F0CB +:1036B0000E94F9422196FE018491F8CF409136098B +:1036C00050913709609138097091390923E030E051 +:1036D00084ED97E00E94FD41E9E7F7E08491EF0176 +:1036E000882331F00E94F9422196FE018491F8CF9F +:1036F00040913A0950913B0960913C0970913D0914 +:1037000023E030E084ED97E00E94FD41E6E7F7E03A +:103710008491EF01882331F00E94F9422196FE0145 +:103720008491F8CF40913E0950913F096091400942 +:103730007091410923E030E084ED97E00E94FD4163 +:10374000E4E7F7E08491EF01882331F00E94F94229 +:103750002196FE018491F8CF8AE0DF91CF910C94FD +:10376000F942CF93DF93ECE5F7E08491EF018823F2 +:1037700031F00E94F9422196FE018491F8CF0F9416 +:10378000F81CAB01BC0123E030E084ED97E00E941F +:10379000FD41E9E5F7E08491EF01882331F00E94D3 +:1037A000F9422196FE018491F8CF81E00F94F81C34 +:1037B000AB01BC0123E030E084ED97E00E94FD41C5 +:1037C000E6E5F7E08491EF01882331F00E94F942A9 +:1037D0002196FE018491F8CF82E00F94F81CAB0192 +:1037E000BC0123E030E084ED97E00E94FD41E4E578 +:1037F000F7E08491EF01882331F00E94F94221968D +:10380000FE018491F8CF8AE0DF91CF910C94F942C8 +:103810009F92AF92BF92CF92DF92EF92FF920F935F +:103820001F93CF93DF93CDB7DEB7A0970FB6F89471 +:10383000DEBF0FBECDBF8DE99FE00F942BCB609311 +:10384000360970933709809338099093390981EAD2 +:103850009FE00F942BCB60933A0970933B098093C0 +:103860003C0990933D098DE89FE00F942BCB6B01B1 +:103870007C0183E79FE00F9430CB8C012AE037ED89 +:1038800043E25FE3C701B6010F940FBE6B017C01F9 +:1038900067E074E0601B710B04E0769567950A950C +:1038A000E1F780E090E00F9488BF2091B21730914B +:1038B000B3174091B4175091B5170F94EFBE9B0109 +:1038C000AC01C701B6010F940FBE60933E0970931F +:1038D0003F09809340099093410982E79FE00F944C +:1038E00023CB882391F18EE69FE00F942BCB60933E +:1038F000420970934309809344099093450989E7ED +:1039000098E09F938F93CE0101967C01FF928F9355 +:103910000F94F7C8F70101900020E9F78F010150DB +:103920001109609142097091430980914409909175 +:10393000450923E046E00F9438C460E0C7010E94C7 +:1039400069C40F900F900F900F9080E1E6E3F9E0CB +:10395000A1E0B9E001900D928A95E1F7E7E4F8E083 +:1039600084918F01882339F00E94F9420F5F1F4F25 +:10397000F8018491F7CF94DE0E9405DD10924B117F +:10398000A5E7EA2EAFE0FA2ED12CB3E0BB2EAA2495 +:10399000A39417E0C12E8D2D6B2D0F948BC3082F90 +:1039A000992E42E050E0B701CE014F960F9413CB11 +:1039B0006F8D78A16115710511F0A0924B112C2D1E +:1039C000020380011124090D111D97FC1A95000FA7 +:1039D000111F000F111F055B1E4E882777FD809574 +:1039E000982F0F948ABF2FE632E143E85AE30F94F1 +:1039F000BDC1F8016183728383839483D394F2E021 +:103A0000EF0EF11C29E0D212C6CF80914B11882312 +:103A100021F08BE491E10E949CFA0E9490F9E090E1 +:103A20003E09F0903F090091400910914109209111 +:103A30003A0930913B0940913C0950913D09609110 +:103A40003609709137098091380990913909E2E47B +:103A5000CE2EE9E0DE2E0F94981181E080932709A5 +:103A60001798809328091698809329091598E5E1FD +:103A7000F8E084918F01882339F00E94F9420F5FAA +:103A80001F4FF8018491F7CF6CDE8CE89FE00F9414 +:103A900023CBE0912209F0E0EE0FFF1FE454F74E34 +:103AA00090E0918380838BE89FE00F9423CB90E09C +:103AB0009093BB188093BA18A0960FB6F894DEBF07 +:103AC0000FBECDBFDF91CF911F910F91FF90EF906F +:103AD000DF90CF90BF90AF909F900895FF920F938B +:103AE0001F93CF93DF93CDB7DEB76E970FB6F894E1 +:103AF000DEBF0FBECDBFF82E81E00F94CD8782E0F0 +:103B00000F94FF84E0918609F0E0EE0FFF1FEE5C5A +:103B1000F64B859194910F9496497ADEE0912209B3 +:103B2000F0E0EE0FFF1FE454F74E81818F93808108 +:103B30008F9387E499E09F938F938E010F5F1F4FC0 +:103B40001F930F930F94F7C860E0C8010E9469C4E7 +:103B50008091BB188F938091BA188F938EE399E070 +:103B60009F938F931F930F930F94F7C860E0C80142 +:103B70000E9469C40FB6F894DEBF0FBECDBF20E02F +:103B800030E048EC51E460913E0970913F0980912A +:103B90004009909141090F94E8BE87FF05C061E09C +:103BA00082E399E00E9469C461E08AE299E00E94A0 +:103BB00069C4E0912209F0E0EE0FFF1FE454F74ED4 +:103BC00081818F9380818F9321E239E03F932F93FE +:103BD0001F930F930F94F7C860E0C8010E9469C457 +:103BE0008091BB188F938091BA188F9328E139E0A8 +:103BF0003F932F931F930F930F94F7C860E0C80172 +:103C00000E9469C461E084E199E00E9469C40FB632 +:103C1000F894DEBF0FBECDBFF11005C061E089E0B2 +:103C200099E00E9469C461E08DEF98E00E9469C448 +:103C300060E085EA9FE00F9435CBE5EEF8E08491F3 +:103C40008F01882339F00E94F9420F5F1F4FF8015E +:103C50008491F7CFECECF8E084918F01882339F060 +:103C60000E94F9420F5F1F4FF8018491F7CF4091F6 +:103C7000360950913709609138097091390922E06D +:103C800030E084ED97E00E94FE41E3EBF8E08491A0 +:103C90008F01882339F00E94F9420F5F1F4FF8010E +:103CA0008491F7CF40913A0950913B0960913C09CA +:103CB00070913D0922E030E084ED97E00E94FE41E2 +:103CC0000E948469E9E9F8E084918F01882339F042 +:103CD0000E94F9420F5F1F4FF8018491F7CF409186 +:103CE0003E0950913F09609140097091410922E0DD +:103CF00030E084ED97E00E94FD41EFE7F8E0849129 +:103D00008F01882339F00E94F9420F5F1F4FF8019D +:103D10008491F7CF40914209509143096091440941 +:103D20007091450922E030E084ED97E00E94FD416A +:103D30006E960FB6F894DEBF0FBECDBFDF91CF9168 +:103D40001F910F91FF900895CF92DF92EF92FF9213 +:103D50000F931F93CF93DF930F94E74A88E093EA82 +:103D60009093CE088093CD081092D0081092CF087F +:103D700082E08093C8081092D2081092D1080E9465 +:103D8000174984EC9FE00F9423CB8093CB1969EC07 +:103D900079E181EC9FE00F948C482091CB198091C0 +:103DA000C9199091CA192F3F11F4009721F08F3F44 +:103DB0002FEF920711F41092CB19019621F4109273 +:103DC000CA191092C91988E09FE00F9423CB8F3F46 +:103DD00019F08093590802C0109259088091CB19AC +:103DE000882339F088E090E00F94BF5581E08093FC +:103DF000590840E052EC61E070E084ED97E00E94E9 +:103E0000C43F8DE093E49093C0088093BF08109264 +:103E1000C2081092C10882E08093BA081092C408C8 +:103E20001092C30887EB98E09093431A8093421A4C +:103E3000ECE8FDE08491EF01882331F00E94F94223 +:103E40002196FE018491F8CF8AE00E94F942C4E5F0 +:103E5000DEE0FE0184918E01882339F00E94F94250 +:103E60000F5F1F4FF8018491F7CF8CE79DE09F9380 +:103E70008F930F944AC814B70F900F9010FF06C08D +:103E8000E4E6F9E4859194910F949AC811FF06C075 +:103E9000E6EAFAE4859194910F949AC812FF06C05D +:103EA000E0E2FBE4859194910F949AC813FF06C059 +:103EB000E2EEF7E4859194910F949AC815FF06C03D +:103EC000EEE5F8E4859194910F949AC814BEFE0132 +:103ED000849104E51EE0882339F00E94F9420F5FC7 +:103EE0001F4FF8018491F7CFEAEFFAE4E590F490E0 +:103EF000F7018491882331F00E94F942FFEFEF1A15 +:103F0000FF0AF6CFE7E6FDE084918F01882339F0C0 +:103F10000E94F9420F5F1F4FF8018491F7CFECE840 +:103F2000FBE4E590F490F7018491882331F00E943E +:103F3000F942FFEFEF1AFF0AF6CFE0E5FDE08491CA +:103F40008F01882339F00E94F9420F5F1F4FF8015B +:103F50008491F7CF8AE00E94F942E5E4FDE0849184 +:103F60008F01882339F00E94F9420F5F1F4FF8013B +:103F70008491F7CFE9E3FDE084918F01882339F044 +:103F80000E94F9420F5F1F4FF8018491F7CF8AE03A +:103F90000E94F942FE01849104E51EE0882339F075 +:103FA0000E94F9420F5F1F4FF8018491F7CFE4E6BA +:103FB000FAE4E590F490F7018491882331F00E94AF +:103FC000F942FFEFEF1AFF0AF6CF0E9427AF4AE04F +:103FD00050E0BC0184ED97E00E942C41E2E7F9E457 +:103FE000E590F490F7018491882331F00E94F94222 +:103FF000FFEFEF1AFF0AF6CF4AE050E060E275E00B +:1040000084ED97E00E942C418AE00E94F94260E032 +:1040100084E190E00E94583AC82F0E943EAF0F946E +:1040200083250E9417490F9422040E941D498FEF97 +:104030009FE00F9423CB91E0811101C090E0909319 +:10404000181989E69FE00F9423CB882329F00E945A +:10405000444765EC74E004C00E9451476AED74E087 +:1040600084ED97E00E9437410F94A81E0E9477DCF0 +:104070000E9475498FB7F89490910B0194609093CA +:104080000B018FBF83E40F941A3A08967C01E4E099 +:10409000F694E794EA95E1F7E114F10491F0429A7D +:1040A00062E070E080E090E00F9440B6429862E0F9 +:1040B00070E080E090E00F9440B6F1E0EF1AF10874 +:1040C000EBCF159884EC9FE00F9423CB8093CB1912 +:1040D00069EC79E181EC9FE00F948C488091CB19D9 +:1040E0002091C9193091CA198F3F19F42115310552 +:1040F00021F02F3F8FEF380711F41092CB192F3F8B +:104100003F4F21F41092CA191092C9198091CB190E +:10411000882321F088E090E00F94BF558BEB9FE05F +:104120000F9423CB91E0813009F090E09093F90B4C +:104130008CEF9FE00F942BCB6F3F7F4F8F4F9F4FA4 +:10414000A9F488EF9FE00F942BCB6F3F7F4F8F4FE9 +:104150009F4F61F460E08FEF9FE00F9453CB10927C +:10416000181961E08FE59FE00F9453CB80EC99E044 +:104170000E94D8BE84E69FE00F9423CB8F3F29F4A2 +:1041800060E084E69FE00F9453CB86E69FE00F94B7 +:1041900023CB8F3F29F460E086E69FE00F9453CB5A +:1041A00088E69FE00F9423CB8F3F29F460E088E6F8 +:1041B0009FE00F9453CB85E69FE00F9423CB8F3F76 +:1041C00029F460E085E69FE00F9453CB84E69FE0FE +:1041D0000F9430CB019631F460E070E084E69FE00C +:1041E0000F9461CB86E69FE00F9430CB019631F4BB +:1041F00060E070E086E69FE00F9461CB88E69FE088 +:104200000F9430CB019631F460E070E088E69FE0D7 +:104210000F9461CB85E69FE00F9430CB019631F48B +:1042200060E070E085E69FE00F9461CB8EEF9FE049 +:104230000F9423CB80938609823010F00F94986AF4 +:104240008FEA9FE00F9423CB8F3F41F460E08FEA29 +:104250009FE00F9453CB1092B30906C091E08111F7 +:1042600001C090E09093B30986EA9FE00F9423CBBE +:104270008F3F59F561E086EA9FE00F9453CB68E0E9 +:1042800070E080EB9FE00F9461CB68E170E082EB1F +:104290009FE00F9461CB60E370E084EB9FE00F94AC +:1042A00061CB60E570E086EB9FE00F9461CB68E73F +:1042B00070E088EB9FE00F9461CB61E08FEA9FE0B4 +:1042C0000F9453CB81E08093B30985EA9FE00F946C +:1042D00023CB8F3F29F460E085EA9FE00F9453CB16 +:1042E00089E09FE00F9423CB8F3F29F460E089E0C1 +:1042F0009FE00F9453CB0E94F75F0E943A690E949F +:10430000BF680E9473CB6CE472E087EA9FE00F9471 +:104310008C486EE472E089EA9FE00F948C4860E577 +:1043200072E08BEA9FE00F948C4862E572E08DEAC0 +:104330009FE00F948C4824E030E0309318022093E3 +:1043400017020E946749C1110BC0E0918609F0E095 +:10435000EE0FFF1FE653F54B859194910F949C95BA +:104360008FE59FE00F9423CB813021F480E090E033 +:104370000F945D708FE59FE00F9423CB81111AC0DD +:1043800087EF9FE00F9423CB9FEF980F9E3F08F499 +:104390008EC060E070E088EF9FE00F944FCBE0911B +:1043A0008609F0E0EE0FFF1FEA59F54B85919491D5 +:1043B0000F949C9583E090E09093180280931702ED +:1043C00081E00F94CD870F943D4882E00F94FF84E5 +:1043D0000F9461B585EA9FE00F9423CB813009F0FB +:1043E0004CC00F941B29C0909E18D0909F18E0904D +:1043F000A018F090A1188BE89FE00F9423CB682FB2 +:1044000070E080E090E00F9488BF20E030E040EA68 +:1044100050E40F940EBE9B01AC01C701B6010F948E +:10442000EBC0181614F481E010C0E0918609F0E0AA +:10443000EE0FFF1FE25DF64B8591949140E060E046 +:104440000F94DA8A882319F080E048DB16C060E018 +:1044500085EA9FE00F9435CB81E00F94CD8782E011 +:104460000F94FF84E0918609F0E0EE0FFF1FE658FD +:10447000F84B859194910F94964981E090E0909348 +:1044800018028093170228E288E190E00FB6F894B2 +:10449000A895809360000FBE20936000DF91CF91BC +:1044A0001F910F91FF90EF90DF90CF900895863E7F +:1044B00061F4E0918609F0E0EE0FFF1FEC58F44B39 +:1044C000859194910F949C950DC0813079F48091E1 +:1044D000B309882309F46ECF86EA9FE00F9423CBBB +:1044E000811168CF81E00F94CD8764CF803F09F0C0 +:1044F00061CF55CF27EF34E0FC0131832083278142 +:10450000222319F004960C94A5AA08958F929F92E5 +:10451000AF92BF92CF92DF92EF92FF920F931F93D1 +:10452000CF93DF938C01885A9D4FE4DF680186E9C1 +:10453000C80ED11CC114D10419F1780184E3E81A22 +:104540008EEFF80AE70157018FE1A81AB10887EF4B +:10455000882E84E0982ECC15DD0591F0FE01EE1931 +:10456000FF09EA0DFB1D91828082FE017897808110 +:10457000811102C06F97EFCFCE014B97E6D7FACFEC +:10458000C80189589F4FB6DFC8018A5A9F4FDF91F3 +:10459000CF911F910F91FF90EF90DF90CF90BF9040 +:1045A000AF909F908F90A6CF80EC99E00E941DB4B1 +:1045B0000F9411B66093BC097093BD098093BE0936 +:1045C0009093BF090F9411B6605679478E4F9F4F55 +:1045D0006093AF097093B0098093B1099093B209C9 +:1045E0000F9411B660938D0970938E0980938F0993 +:1045F000909390090F9411B66093890970938A097A +:1046000080938B0990938C09089580EC99E07ECF7C +:10461000682F8AE499E10E941C3F80E090E00895B1 +:104620008FEF8EBD0DB407FEFDCF8EB508958EBD04 +:104630000DB407FEFDCF089561E0FC0180810D946B +:1046400035B8FC012281322F306A36953CBD20FD01 +:1046500006C031E0263009F430E0232F01C020E00D +:104660002DBD60E0FC0180810D9435B8CF92DF92C2 +:10467000EF92FF920F931F93CF93DF93EC018B0187 +:104680007A010F9411B66B01CBDF8B838F3F49F416 +:104690000F9411B66C197D096D327140A8F381E158 +:1046A00044C08E3F11F08FE040C0E114F104D9F016 +:1046B000C70101972FEF2EBDF8014FEF9F01201B7F +:1046C000310B2817390738F40DB407FEFDCF2EB58E +:1046D00021934EBDF3CF0DB407FEFDCF2EB5F801EB +:1046E000E80FF91F2083D801E00EF11EC12CD12C58 +:1046F000AE15BF0579F08D91ED2DFF27E827EE0F60 +:10470000FF1FEF59F14F85919491DC2CCC24C826E2 +:10471000D926EECF85DF082F10E0102F002780DF8D +:10472000082BC016D10659F080E28983CE0184DFC0 +:10473000CD81CC2369F08FEF7ADFC0E009C0CE01D4 +:104740007BDFCD81CC2319F08FEF71DF01C0C1E099 +:104750008C2FDF91CF911F910F91FF90EF90DF9001 +:10476000CF9008950F931F93CF93DF93EB010F9496 +:1047700011B68B0155DF8F3F49F00F9411B6601BC6 +:10478000710B6C177D07B0F380E001C081E0DF9111 +:10479000CF911F910F910895CF92DF92FF920F93C7 +:1047A0001F93CF93DF9300D01F92CDB7DEB76C017C +:1047B000F62E29833A834B835C8343DF6CE271E0FE +:1047C000C601D0DF8F2D806432DF08E110E05C810C +:1047D0004B813A812981DA01C901002E04C0B695C6 +:1047E000A795979587950A94D2F729833A834B83A7 +:1047F0005C831DDF0850110929813A814B815C815E +:10480000083F8FEF180739F7FF2029F0E8E0FE1680 +:1048100021F08FEF03C085E901C087E808DFFCE0E5 +:10482000FF1201C0FDDE10E0FBDEF601838387FF8F +:1048300004C01F3F11F01F5FF7CF0F900F900F9034 +:104840000F90DF91CF911F910F91FF90DF90CF904C +:104850000895BF92CF92DF92EF92FF920F931F9332 +:10486000CF93DF93EC01B62E1C82198248830F94FC +:1048700011B68B0161E088810F94FCB7CE01DCDEBC +:1048800060E082E30F94FCB761E083E30F94FCB730 +:1048900061E084E30F94FCB761E085E30F94FCB71B +:1048A00061E085E30F9435B885E08A8382E58CBDAD +:1048B0001DBC6AE0F62E8FEFBADEFA94E1F720E035 +:1048C00030E0A90160E0CE0167DFF82E8B8381E044 +:1048D000F81649F00F9411B6601B710B613D7740DB +:1048E00070F381E046C02AEA31E040E050E068E041 +:1048F000CE0152DF82FF02C0FC820CC054E0F52ED4 +:104900008FDE8B83FA94E1F78A3A11F082E031C0AE +:1049100082E08C838C81823031F4C12CD12CE12C4B +:1049200040E4F42E03C0C12CD12C760120E030E00D +:10493000A90167E3CE0130DFA701960169E2CE014C +:104940002BDF8B83882349F00F9411B6601B710B0A +:10495000613D774058F38AE00CC08C818230B1F41D +:1049600020E030E0A9016AE3CE0116DF882329F0B8 +:1049700088E08983CE0160DE14C052DE807C803CFA +:1049800011F483E08C834CDE4BDE4ADECE0154DE34 +:1049900086E08B1518F488E1898303C0BA8281E030 +:1049A00001C080E0DF91CF911F910F91FF90EF90B8 +:1049B000DF90CF90BF900895AF92BF92CF92DF92D9 +:1049C000EF92FF920F931F93CF93DF93EC016A0155 +:1049D0007B0189018C81833039F0F9E0CC0CDD1C3E +:1049E000EE1CFF1CFA95D1F773E0B72EE4E0AE2E73 +:1049F000BA94A701960161E1CE01CEDE882311F0C1 +:104A0000A98207C040E052E0B801CE012FDE81113B +:104A10000EC0CE01BB2049F00FDE20E030E0A9013E +:104A20006CE0CE01B9DE1982E3CF06DE80E0DF91D3 +:104A3000CF911F910F91FF90EF90DF90CF90BF909B +:104A4000AF900895CF93DF93EC016EBD20E030E08E +:104A50000DB407FEFDCFFA01E20FF31F80818EBD7A +:104A60000DB407FEFDCF81818EBD2E5F3F4F211516 +:104A700082E0380769F70DB407FEFDCF8FEFD7DD71 +:104A80008FEFD5DDCDDD8B838F71853031F083E104 +:104A90008983CE01D1DD80E001C081E0DF91CF913B +:104AA00008950F931F93CF93DF93EC0189018C81BD +:104AB000833039F0B9E0440F551F661F771FBA9550 +:104AC000D1F79A01AB0168E1CE0166DE882311F0CF +:104AD00086E01EC0A8016EEFCE01B4DF8823C9F0C6 +:104AE00068E572E0CE013EDE182F811102C087E139 +:104AF0000FC020E030E0A9016DE0CE014DDE811154 +:104B000006C08EDD811103C0CE0196DD05C086E1B1 +:104B10008983CE0191DD10E0812FDF91CF911F912C +:104B20000F9108950F931F93CF93DF93EC010F9490 +:104B300011B68B0175DD8B838F3F49F40F9411B64D +:104B4000601B710B6D327140A8F381E103C08E3F91 +:104B500031F08FE08983CE016FDD80E001C081E01C +:104B6000DF91CF911F910F910895CF92DF92EF9235 +:104B7000FF920F931F93CF93DF937C0169019A01FA +:104B8000AB0160E309DE882321F080E8F70181832F +:104B90001BC0C701C7DF8823B9F0E601C00ED11ED4 +:104BA000CC15DD0519F03CDD8993FACF0230F2E037 +:104BB0001F0720F435DD0F5F1F4FF8CFC7013CDD25 +:104BC0008FEF35DD81E003C0C70136DD80E0DF9186 +:104BD000CF911F910F91FF90EF90DF90CF900895AC +:104BE0004F925F926F927F928F929F92AF92BF92FD +:104BF000CF92DF92EF92FF920F931F9348015901DA +:104C000051E09522AA24BB24240135014E0C5F1CDF +:104C1000611C711C51E0451652E055066104710497 +:104C200030F0E12CE2E0FE2EE818F90804C0E114AF +:104C3000F10409F448C0462E512C612C712C7724C4 +:104C400046947794662455244424662369F047707B +:104C5000842E912CA12CB12C5CE1880C991CAA1CEF +:104C6000BB1C5A95D1F70CC04F70842E912CA12CEF +:104C7000B12C4BE1880C991CAA1CBB1C4A95D1F79E +:104C8000B901A8016170772709E0440F551F661F1D +:104C9000771F0A95D1F744295529662977292701D5 +:104CA00021E0421A510821E05222612C712C442942 +:104CB000552966297729482959296A297B29870195 +:104CC000960153DF01C081E01F910F91FF90EF909B +:104CD000DF90CF90BF90AF909F908F907F906F901C +:104CE0005F904F900895CF93DF93EC019C012C5F70 +:104CF0003F4F41E050E060E070E0898D9A8D0E9466 +:104D000065B1882399F04D895E896F89788D452B2F +:104D1000462B472B59F44C815D816E817F814D8BF1 +:104D20005E8B6F8B788F998190689983DF91CF919B +:104D30000895CF92DF92EF92FF920F931F93CF933C +:104D4000DF93EC0189899A89AB89BC89803E9F4FAA +:104D5000AF41B10510F080E06AC0CE01C4DF882306 +:104D6000D1F30E9479AF182F8823A9F3E98DFA8D2A +:104D7000CC80DD80EE80FF8032E0C31AD108E108EC +:104D8000F108058404C0CC0CDD1CEE1CFF1C0A9449 +:104D9000D2F786859785A089B189C80ED91EEA1EEB +:104DA000FB1E81E08093E20CC092E50ED092E60EED +:104DB000E092E70EF092E80E80E092E0E5EEFCE093 +:104DC000DF019C011D9221503040E1F701E0E98DA7 +:104DD000FA8D8481081788F425EE3CE0B701A6011E +:104DE000400F511D611D711D8091E30C9091E40CE9 +:104DF00058DE8823E1F00F5FEACFC12C82E0D82E85 +:104E0000E12CF12C058404C0CC0CDD1CEE1CFF1C35 +:104E10000A94D2F749895A896B897C894C0D5D1DAA +:104E20006E1D7F1D498B5A8B6B8B7C8B812FDF9185 +:104E3000CF911F910F91FF90EF90DF90CF90089549 +:104E4000CF93DF93EC0141E0611101C040E06C853C +:104E50007D858E859F850E94B9AF882341F0888922 +:104E600020E2829FC00111248B51934F02C080E049 +:104E700090E0DF91CF91089530E020E04EE2DC0138 +:104E80005C91503271F0383029F4FB01E20FF11DD2 +:104E900040832F5FFB01E20FF11DDC015C91508329 +:104EA0002F5F3F5F01963B3051F7FB01E20FF11D91 +:104EB00010820895CF93DF93EB01FC012381211130 +:104EC00002C080E00EC02250223020F48FE288839E +:104ED000198206C060E0B4DF009799F3BE01CCDF11 +:104EE00081E0DF91CF910895FB012BE030E2319317 +:104EF0002150E9F7DC0190E027E03A2FEB2F8D916C +:104F000081110AC0DA013C931196EC9381E0FB0118 +:104F10009081903239F525C08F32A1F38E3219F08D +:104F2000E1E6F0E108C02A30E1F098E02AE0E5CFC0 +:104F300031963817B1F034913111FACF291788F032 +:104F40003FED380F3E3568F431E0390FFB01E90FD2 +:104F5000F11D9FE9980F9A3108F480528083932FB6 +:104F6000CCCF80E008950F931F93CF93DF93EC0194 +:104F70008B018B81882311F080E042C0FB0187897F +:104F8000803139F18032C1F783E08B83F801428DA3 +:104F9000538D648D758D4D8B5E8B6F8B788F9E01DD +:104FA0002F5E3F4FC8010E9470B0882329F31A8FEB +:104FB000098F81E089831C821D821E821F821886D0 +:104FC00019861A861B861C861D861E861F86188AD1 +:104FD00017C082E08B831D8A1E8A1F8A188EFB01F0 +:104FE000408D518D60E070E095E0440F551F661FC5 +:104FF000771F9A95D1F7498B5A8B6B8B7C8BD7CFC8 +:10500000DF91CF911F910F9108952F923F924F9270 +:105010005F926F927F928F929F92AF92BF92CF9248 +:10502000DF92EF92FF920F931F93CF93DF93EC01E8 +:105030005B016A018B81811103C08FEF9FEFC6C0B6 +:10504000898180FFFACF49895A896B897C89888553 +:105050009985AA85BB852601612C712C8A019B014B +:10506000081B190B2A0B3B0B4016510662067306F0 +:1050700018F06A01C81AD90A76013E0124E0620ECE +:10508000711CE114F10409F476C0488559856A85DC +:105090007B854A0181E098222B811A012B01E9E0EE +:1050A0005694479437942794EA95D1F7898D9A8D31 +:1050B000FC01223049F4628D738D848D958D620DD3 +:1050C000731D841D951D3CC0148111501221811443 +:1050D0009104C1F4111116C0452B462B472B49F4FE +:1050E0008D899E89AF89B88D8C839D83AE83BF8364 +:1050F00009C04C815D816E817F81930172D78823C5 +:1051000009F49BCFE98DFA8D6C817D818E819F8121 +:105110006250710981099109058404C0660F771FE7 +:10512000881F991F0A94D2F72685378540895189AF +:10513000620F731F841F951F610F711D811D911DCB +:1051400020E032E02819390987012E153F0508F4BF +:1051500089010115F2E01F0761F52091E50E3091FC +:10516000E60E4091E70E5091E80E62177307840730 +:10517000950719F41EC0C60129C09501AB01BC01F9 +:105180008091E30C9091E40C17DC882309F455CF4F +:10519000A00EB11E88859985AA85BB85800F911FB9 +:1051A000A11DB11D88879987AA87BB87E01AF10ADC +:1051B00068CF40E0DED6882309F43FCFB4016B51BD +:1051C000734FA801C5010F9481C7E2CFDF91CF9142 +:1051D0001F910F91FF90EF90DF90CF90BF90AF9015 +:1051E0009F908F907F906F905F904F903F902F9007 +:1051F0000895CF93DF931F92CDB7DEB741E050E023 +:10520000BE016F5F7F4F01DF019719F4898190E044 +:1052100002C08FEF9FEF0F90DF91CF910895CF9253 +:10522000DF92EF92FF920F931F93CF93DF936C0166 +:10523000EB017A01FC018381823060F000851185E9 +:10524000228533850F71112722273327012B022B4B +:10525000032B11F08FEF5CC04115510511F0F701E0 +:1052600010821DE040E250E0BE01C601CEDE803279 +:10527000910539F021E0892B09F420E0822F8195F6 +:1052800047C028812223C1F0253E61F32E3251F31D +:105290003B853F733F3061F4E114F10449F04A8DDE +:1052A0005B8D452B29F42F713FEF320F343030F0F6 +:1052B0002B8523FDD7CF2CC080E02AC030E02150C1 +:1052C0003109129FC001139F900D1124F701E80FBF +:1052D000F91F298120832B8121832D8122832F8116 +:1052E0002383298524832E852583288926832A895B +:1052F00027832C8920872E892187288D22872C8D32 +:1053000023872E8D2487288126FFD2CF1586D0CFE4 +:10531000DF91CF911F910F91FF90EF90DF90CF9091 +:1053200008951F93CF93DF93EC018B81823018F4A3 +:1053300080E090E023C0488559856A857B85A5E09B +:105340007695679557954795AA95D1F7142F1F70B5 +:10535000CE014FDF97FDECCF488559856A857B8567 +:10536000415E5F4F6F4F7F4F488759876A877B87C2 +:1053700020E2129FC00111248B51934FDF91CF91F6 +:105380001F9108954F925F926F927F92AF92BF925A +:10539000CF92DF92EF92FF920F931F93CF93DF9301 +:1053A000EC016A017B012B81222349F089899A89CA +:1053B000AB89BC8984179507A607B70710F480E06E +:1053C0006BC0223009F463C0C114D104E104F104BC +:1053D00049F41C821D821E821F82188619861A8635 +:1053E0001B8659C088859985AA85BB85E98DFA8D6C +:1053F000E585F0E03996AC01BD01415051096109E4 +:1054000071090E2E04C076956795579547950A94B5 +:10541000D2F797018601015011092109310904C011 +:105420003695279517950795EA95D2F7041715072E +:105430002607370720F0892B8A2B8B2B49F48D897F +:105440009E89AF89B88D8C839D83AE83BF8304C052 +:10545000041B150B260B370B280139015E0184E074 +:10546000A80EB11C411451046104710481F04C81F7 +:105470005D816E817F819501898D9A8DB2D591E094 +:10548000491A5108610871088111ECCF05C0C8861E +:10549000D986EA86FB8681E0DF91CF911F910F913B +:1054A000FF90EF90DF90CF90BF90AF907F906F9084 +:1054B0005F904F9008950F931F93CF93DF93EC016C +:1054C0008B818823D1F1898187FF32C061E0CE01D1 +:1054D000B7DC8C01009789F1FC018081853E69F180 +:1054E0008B81823040F449895A896B897C89448F49 +:1054F000558F668F778F4D895E896F89788DF8011A +:10550000538F428F758B648BE091DC0CF091DD0C36 +:10551000309759F0B8016A5E7F4FC80148961995D7 +:10552000F801808D918D938B828B89818F77898310 +:10553000DF91CF911F910F91DCC481E0888380E0DF +:10554000DF91CF911F910F910895CF93DF93EC01DD +:10555000B2DF1B82DF91CF910895FC0123812111DD +:10556000F4CF08954F925F926F927F92AF92BF9265 +:10557000CF92DF92EF92FF920F931F93CF93DF931F +:1055800000D01F92CDB7DEB75C016A017B01FC0140 +:1055900083818130E9F4818181FF1AC0F50181891D +:1055A0009289A389B48984179507A607B70780F065 +:1055B000892B8A2B8B2B09F472C0F501408451840E +:1055C00062847384B701A601C501DCDE811102C0CB +:1055D00080E066C0F501818D928DC114D104E10493 +:1055E000F10469F4458956896789708D77D78823D6 +:1055F00079F3F501158A168A178A108E37C0F501DE +:1056000044815581668177819E012F5F3F4FE9D4A8 +:105610008823F1F249815A816B817C81F501818D6A +:10562000928DFC012789203139F4483FFFEF5F0755 +:1056300061057105D8F407C0483F2FEF5207620794 +:105640002FE0720798F44AD7882309F4C1CFF501F7 +:1056500044815581668177810FEF1FEF2FEF3FE087 +:10566000818D928DA3D5882309F4B2CFF501C18A2B +:10567000D28AE38AF48A818180688183C5011BDF35 +:10568000882309F4A5CFB701A6014C145D046E046C +:105690007F0410F4B301A201C50174DE01C081E0F2 +:1056A0000F900F900F900F90DF91CF911F910F915E +:1056B000FF90EF90DF90CF90BF90AF907F906F9072 +:1056C0005F904F900895FF920F931F93CF93DF93B6 +:1056D000EC01F42E80E2689FF0011124EB51F34FAE +:1056E0008385817121F0842F827109F04EC08091F1 +:1056F000E50E9091E60EA091E70EB091E80E8C8732 +:105700009D87AE87BF87688B4489558960E070E0CC +:10571000BA0155274427028D138D20E030E0402B3D +:10572000512B622B732B4D8B5E8B6F8B788F838508 +:10573000887151F4048D158D268D378D098B1A8B48 +:105740002B8B3C8B81E00BC08031F9F49E012F5EE6 +:105750003F4F898D9A8DC4D48823B9F084E08B8320 +:105760008F2D8F7089831C821D821E821F82188656 +:1057700019861A861B86F4FE0BC040E050E0BA0181 +:10578000CE01F0DE811104C011C01B8280E00EC08A +:10579000F5FE0BC049895A896B897C89CE01DF915E +:1057A000CF911F910F91FF90EDCD81E0DF91CF91CF +:1057B0001F910F91FF900895AF92BF92CF92DF9209 +:1057C000EF92FF920F931F93CF93DF937C01EB0136 +:1057D0006A01B22E898D9A8DF701928F818F40E0F8 +:1057E00050E0BA01CE01CEDDA12C088519852A85AD +:1057F0003B8589899A89AB89BC89081719072A07CB +:105800003B07A0F585E036952795179507958A956E +:10581000D1F70F70CE0185DD009709F481C0FC013E +:105820002081222311F0253EB9F4A1100EC0409131 +:10583000E50E5091E60E6091E70E7091E80EF701CB +:105840004487558766877787008BFC018081AA246F +:10585000A3948111CACF0AC04BE050E0BC01C6013D +:105860000F9474C7892B09F0C0CF58C08B2D827458 +:10587000823409F055C0AA2049F0F701008961E09F +:10588000C701DEDAEC01009769F44AC08B818230EF +:1058900009F446C0CE014DDA882309F441C0C5EEB3 +:1058A000DCE000E080E2FE0111928A95E9F78BE0EE +:1058B000F601DE0101900D928A95E1F7E091DC0C92 +:1058C000F091DD0C309739F0BE01625F7F4FCE0161 +:1058D0004096199508C081E298E2998B888B80E008 +:1058E00098E09F878E87888999899B8B8A8B998F6F +:1058F000888F8E859F859F8B8E8BFBD2882381F02E +:105900004B2D602FC701DF91CF911F910F91FF9019 +:10591000EF90DF90CF90BF90AF90D5CEB7FEF0CF95 +:1059200080E0DF91CF911F910F91FF90EF90DF907A +:10593000CF90BF90AF9008953F924F925F926F9239 +:105940007F928F929F92AF92BF92CF92DF92EF920F +:10595000FF920F931F93CF93DF93CDB7DEB7C3545E +:10596000D1090FB6F894DEBF0FBECDBF5C016B014D +:1059700024965FAF4EAF2497522E1C8E1F8E198235 +:105980001C826115710511F410E073C0FC01838164 +:105990008111FACF2496EEADFFAD249780818F322E +:1059A00011F076011DC02496EEADFFAD24978081E5 +:1059B0008F3231F431962496FFAFEEAF2497F3CFB8 +:1059C000F60183818250823060F3F601618D728D21 +:1059D000CE010196C8DA8823B9F2CE0101967C0186 +:1059E0008E01045E1F4F3801FE0131964F01402E9B +:1059F000312E19C08823A9F121E0AE01495C5F4F27 +:105A0000B701C801D9DE882309F4BECFEC14FD0428 +:105A100011F0C7019ADD0615170501F1942D832DAC +:105A20007801092F182FAE014E5B5F4FBE01695CF4 +:105A30007F4F24968EAD9FAD249756DA882309F4C4 +:105A4000A3CF2496EEADFFAD249780818F3291F6DF +:105A500031962496FFAFEEAF2497F3CF982D892D82 +:105A6000DFCF252DAE01495C5F4FB701C501A4DE34 +:105A7000182FCE01019671DDCE014C966EDD812F7F +:105A8000CD5BDF4F0FB6F894DEBF0FBECDBFDF9109 +:105A9000CF911F910F91FF90EF90DF90CF90BF902B +:105AA000AF909F908F907F906F905F904F903F90BE +:105AB0000895CF93DF93EC0140E050E0BA0152DD4E +:105AC000882361F061E0CE01BBD9009739F025EE63 +:105AD000FC0120831B82DF91CF910BC280E0DF911C +:105AE000CF9108951F93CF93DF93CDB7DEB76B9718 +:105AF0000FB6F894DEBF0FBECDBFAB0119821C827A +:105B000022E0BC01CE01019617DF182F882321F077 +:105B1000CE010196CEDF182FCE0101961EDD812F1A +:105B20006B960FB6F894DEBF0FBECDBFDF91CF915D +:105B30001F9108952F923F924F925F926F927F92A2 +:105B40008F929F92AF92BF92CF92DF92EF92FF928D +:105B50000F931F93CF93DF9300D01F921F92CDB767 +:105B6000DEB78C015B013A01DC0113968C9113972F +:105B70008130C1F411968C9181FF14C082FF18C04E +:105B8000F801418952896389748980859185A2854C +:105B9000B38584179507A607B70751F0C801F2DB54 +:105BA000811106C081E0F80180838FEF9FEF37C13C +:105BB000630183C0D80159968D919C915A97FC013D +:105BC000F481F1501A012B0169E0569447943794FF +:105BD00027946A95D1F7F221FD834A0121E09222B0 +:105BE000FF2309F476C080E092E0881999097601D4 +:105BF0008C159D0508F47C01D8015996ED91FC9116 +:105C00005A9714962D903D904D905C901797B2E066 +:105C10002B1A310841085108058404C0220C331C9A +:105C2000441C551C0A94D2F786859785A089B189B2 +:105C3000280E391E4A1E5B1EED812E0E311C411CA2 +:105C4000511CE114F2E0FF0609F089C08091E50ED5 +:105C50009091E60EA091E70EB091E80E82159305A3 +:105C6000A405B50569F41092E20C8FEF9FEFDC01FB +:105C70008093E50E9093E60EA093E70EB093E80EA6 +:105C80009501B201A1018091E30C9091E40C0E9476 +:105C900051A5882309F486CFF80180859185A285D6 +:105CA000B3858E0D9F1DA11DB11D80879187A28791 +:105CB000B387AE0CBF1CCE18DF08D80118964D91E3 +:105CC0005D916D917C911B97C114D10409F072CF45 +:105CD0007AC08114910409F086CF14964D915D919C +:105CE0006D917C911797411551056105710559F426 +:105CF00055968D919D910D90BC91A02D0097A10579 +:105D0000B10539F520C09E012F5F3F4F6AD188232E +:105D100009F448CF89819A81AB81BC81F801218D3A +:105D2000328DF9012789203139F4883FFFEF9F0731 +:105D3000A105B10540F40DC0883F2FEF9207A207DF +:105D40002FE0B20730F0C8010E9473A681114BCF3B +:105D500029CFF80184839583A683B78344CF811428 +:105D6000910411F5D80118964D915D916D917C913A +:105D70001B9751968D919D910D90BC91A02D481728 +:105D800059076A077B0780F0B4D0882309F40ACF4B +:105D900081E08093E20C2092E50E3092E60E409274 +:105DA000E70E5092E80E07C041E0C201B101E1D018 +:105DB000882309F4F7CEA701B501C4018B51934F95 +:105DC0000F9481C769CF51968D919D910D90BC9193 +:105DD000A02DF801218184179507A607B70738F48D +:105DE000418B528B638B748B206821830CC0809114 +:105DF000DC0C9091DD0C892B31F06114710419F0E9 +:105E00002068F8012183D80111968C9183FD02C08E +:105E1000C30105C0C8014FDB8111FACFC3CE0F907B +:105E20000F900F900F900F90DF91CF911F910F91D6 +:105E3000FF90EF90DF90CF90BF90AF909F908F90AA +:105E40007F906F905F904F903F902F900895CF93E9 +:105E5000DF931F92CDB7DEB720913C1A30913D1AE7 +:105E6000CE0101962115310519F0821B930B02C05A +:105E700088549A410F90DF91CF91089582EA92EA77 +:105E8000A0E0B0E08093481A9093491AA0934A1A70 +:105E9000B0934B1A089581E04091481A5091491AE5 +:105EA00060914A1A70914B1A423A524A6105710543 +:105EB00009F080E00895CF93DF931F92CDB7DEB74E +:105EC000698341E050E0BE016F5F7F4F049632DE90 +:105ED0000F90DF91CF91089504962CCEFB01019095 +:105EE0000020E9F7AF0141505109461B570B0496BA +:105EF00021CECF938091E20C8823B9F14091E50E39 +:105F00005091E60E6091E70E7091E80E25EE3CE0B0 +:105F10008091E30C9091E40C0E9451A5C82F81114F +:105F200002C0C0E023C04091DE0C5091DF0C6091B4 +:105F3000E00C7091E10C411551056105710591F07E +:105F400025EE3CE08091E30C9091E40C0E9451A579 +:105F5000882339F31092DE0C1092DF0C1092E00CC3 +:105F60001092E10C1092E20C01C0C1E08C2FCF9195 +:105F70000895CF92DF92EF92FF92CF936B017C0155 +:105F8000C42F8091E50E9091E60EA091E70EB0919E +:105F9000E80E8C159D05AE05BF05C9F0AADF81117D +:105FA00002C080E018C025EE3CE0B701A601809158 +:105FB000E30C9091E40C0E94DCA4882391F3C0923E +:105FC000E50ED092E60EE092E70EF092E80E81E048 +:105FD000C1118093E20CCF91FF90EF90DF90CF90B2 +:105FE00008958F929F92AF92BF92CF92DF92EF92DD +:105FF000FF920F931F93CF93DF93EC016A017B0114 +:10600000890189859A85AB85BC850196A11DB11D45 +:1060100084179507A607B70710F480E054C08F894E +:10602000803129F49927872F762F652F0BC0803276 +:10603000A1F7CB01BA0127E09695879577956795EB +:106040002A95D1F78B889C88AD88BE88680D791D0C +:106050008A1D9B1D8090E50E9090E60EA090E70EA5 +:10606000B090E80E681579058A059B0581F48F8943 +:10607000803191F4DD24EE24FF24F601EE0FFF1FA2 +:10608000EB51F34F80819181A0E0B0E016C040E079 +:1060900070DF8111ECCFC1CFE894C7F8DD24EE2486 +:1060A000FF24F601EE0FFF1FEE0FFF1FEB51F34F22 +:1060B00080819181A281B381BF70F8018083918337 +:1060C000A283B38381E0DF91CF911F910F91FF9065 +:1060D000EF90DF90CF90BF90AF909F908F900895FA +:1060E0004F925F926F927F92AF92BF92CF92DF9268 +:1060F000EF92FF920F931F93CF93DF9300D01F92E5 +:10610000CDB7DEB78C0149835A836B837C835901F9 +:10611000C12CD12C7601412C42E0542E612C712CE3 +:1061200049815A816B817C819E012F5F3F4FC8015D +:1061300058DF882341F1D301C201F801058404C06E +:10614000880F991FAA1FBB1F0A94D2F7C80ED91E29 +:10615000EA1EFB1E49815A816B817C8187898031CF +:1061600039F481E0483F5F4F6105710538F4D8CFBD +:1061700081E0483F5F4F6F4F7F4090F2F501C08252 +:10618000D182E282F3820F900F900F900F90DF91F7 +:10619000CF911F910F91FF90EF90DF90CF90BF9024 +:1061A000AF907F906F905F904F9008954F925F9265 +:1061B0006F927F928F929F92AF92BF92CF92DF9217 +:1061C000EF92FF920F931F93CF93DF93EC014A015D +:1061D0005B0128013901423051056105710508F460 +:1061E00062C049855A856B857C854F5F5F4F6F4FD5 +:1061F0007F4F481559056A057B0508F454C08F89FF +:10620000803129F4FF24EB2CDA2CC92C0CC080320D +:1062100009F049C07501640177E0F694E794D794DA +:10622000C7947A95D1F74B895C896D897E89C40EB4 +:10623000D51EE61EF71E41E0C701B6019ADE88238F +:1062400091F19F89903159F49924AA24BB24F40137 +:10625000EE0FFF1FEB51F34F5182408210C0E894C4 +:1062600087F89924AA24BB24F401EE0FFF1FEE0F38 +:10627000FF1FEB51F34F40825182628273829A89F1 +:10628000923090F04D815E816F8178854C0D5D1D5F +:106290006E1D7F1D4093DE0C5093DF0C6093E00C6D +:1062A0007093E10C01C080E0DF91CF911F910F91BD +:1062B000FF90EF90DF90CF90BF90AF909F908F9026 +:1062C0007F906F905F904F9008952F923F924F92E2 +:1062D0005F926F927F928F929F92AF92BF92CF9276 +:1062E000DF92EF92FF920F931F93CF93DF93CDB77F +:1062F000DEB72F970FB6F894DEBF0FBECDBF1C01DF +:106300004C875D876E877F873B872A87DC011996DC +:106310000D911D912D913C911C970F5F1F4F2F4F99 +:106320003F4F0D831E832F833887EA85FB8580804E +:106330009180A280B38081149104A104B10431F052 +:10634000FFEF8F1A9F0AAF0ABF0A10C0DC018D90C1 +:106350009D90AD90BC90B1E0B9870C851D852E85D0 +:106360003F85013011052105310509F019867501B8 +:106370006401412C512C3201F10181859285A38564 +:10638000B485481659066A067B0608F04EC00D8192 +:106390001E812F8138850C151D052E053F0550F4F3 +:1063A000F2E0CF2ED12CE12CF12CA2E08A2E912C00 +:1063B000A12CB12C9E012F5F3F4FB701A601C10157 +:1063C00010DE882391F149815A816B817C81D7014C +:1063D000C6010196A11DB11D452B462B472B19F077 +:1063E0004C015D010FC0AC01BD01481959096A0992 +:1063F0007B090C851D852E853F8540175107620757 +:10640000730741F01FEF411A510A610A710A6C01CA +:106410007D01B2CF0FEF1FEF2FEF3FE0B701A601D5 +:10642000C101C4DE8D83811113C01D823DC02601D0 +:10643000370121E0421A510861087108970186016D +:10644000B301A201C101B2DE882379F373016201B5 +:106450008C149D04AE04BF0450F3AA85BB854D91F6 +:106460005D916D917C914115510561057105A9F40E +:10647000EA85FB8580829182A282B382F985FF231F +:1064800099F00FEF801A900AA00AB00AD1018D92FC +:106490009D92AD92BC92139707C095018401C101F2 +:1064A00085DE8111E5CFC1CF8D812F960FB6F8948F +:1064B000DEBF0FBECDBFDF91CF911F910F91FF9037 +:1064C000EF90DF90CF90BF90AF909F908F907F9094 +:1064D0006F905F904F903F902F900895AF92BF9232 +:1064E000CF92DF92EF92FF920F931F93CF93DF93A0 +:1064F00000D01F92CDB7DEB75C016A017B0182E05C +:1065000090E0A0E0B0E0F50180839183A283B383A3 +:106510009E012F5F3F4FB701A601C50162DD8111CA +:1065200002C080E023C000E010E09801B701A6019E +:10653000C5013CDE8823A9F3C980DA80EB80FC80AA +:10654000F5018789803149F481E0F8EFCF16FFEF3C +:10655000DF06E104F10450F4DBCF81E098EFC916C7 +:106560009FEFD906E9069FE0F90690F20F900F9091 +:106570000F900F90DF91CF911F910F91FF90EF90AF +:10658000DF90CF90BF90AF9008957F928F929F92AF +:10659000AF92BF92CF92DF92EF92FF920F931F9331 +:1065A000CF93DF93EC01142F7093E40C6093E30C12 +:1065B0001F8A82E090E0A0E0B0E088839983AA83FC +:1065C000BB831092E20C1092DE0C1092DF0C109242 +:1065D000E00C1092E10C8FEF9FEFDC018093E50E51 +:1065E0009093E60EA093E70EB093E80E442349F192 +:1065F000453008F0DEC040E060E070E0CB01B9DC7F +:10660000882309F4D6C020E1129FF0011124ED5631 +:10661000F14F80818F7709F0CCC084859585A68560 +:10662000B78584369105A105B10508F4C2C0C084C0 +:10663000D184E284F384C114D104E104F10421F48F +:10664000B8C0C12CD12C760140E0C701B60191DC65 +:10665000782E882309F4ADC08091F00C9091F10C54 +:106660008115924009F0A5C03091F50C332309F44F +:10667000A0C08091F30C9091F40C892B09F499C07F +:106680002091F20C222309F494C03A8B2C831D86AE +:1066900030E041E050E06D85062FCA01062E02C0B1 +:1066A000880F991F0A94E2F72817390731F081E023 +:1066B000860F8D87683078F37CC02091FB0C309179 +:1066C000FC0C2115310519F040E050E008C0209184 +:1066D000090D30910A0D40910B0D50910C0D2D8339 +:1066E0003E834F8358878091F30C9091F40C4601C0 +:1066F0005701880E991EA11CB11C8B8A9C8AAD8AF9 +:10670000BE8AE091F60CF091F70CF98FE88FA0911A +:10671000F50CB0E00F9418C4680D791D8A1D9B1DFF +:106720006A8F7B8F8C8F9D8FB5E0EE0FFF1FBA9520 +:10673000E1F7E150FE4FEF2FFF27E695DC01CB019B +:106740008E0F9F1FA11DB11D8E879F87A88BB98BB0 +:106750008090F80C9090F90C8114910419F0A12C00 +:10676000B12C08C08090050D9090060DA090070DEB +:10677000B090080DA7019601281B390B4A0B5B0B43 +:10678000DA01C901880D991DAA1DBB1D04C0B6956B +:10679000A795979587950A95D2F789879A87AB87AA +:1067A000BC87853F3FE09307A105B10520F48CE04D +:1067B0008F8B712C15C0853F9F4FA105B10510F43B +:1067C00080E10DC08091110D9091120DA091130DDB +:1067D000B091140D8A8F9B8FAC8FBD8F80E28F8B11 +:1067E000872DDF91CF911F910F91FF90EF90DF9058 +:1067F000CF90BF90AF909F908F907F900895909191 +:106800005908911107C09091C00095FFFCCF80936B +:10681000C6000895913031F49091C80095FFFCCFE7 +:106820008093CE000895FC01148217821382128295 +:1068300087EF94E0918380830895CF92DF92EF9267 +:10684000FF920F931F93CF93DF93EC018A5A9F4FD0 +:10685000EADFCE0189589F4FE6DF7E0126E9E20E8E +:10686000F11C87016E0134E3C31A3EEFD30AC8015D +:10687000DADF015E1F4F0C151D05C9F7FE01EC5C48 +:10688000FD4F89E18183148215823696178ACE01E5 +:10689000885A9D4FC8DFFE01E253FE4F11821082DD +:1068A000E55CFE4F108211821282138238961082AC +:1068B0001182128213821A821B821C821882198210 +:1068C0006E0183EFC81A8CEFD80AF601108211828C +:1068D00012821382F80111821082FE01E958FD4FE5 +:1068E000108286E391E0F7019C0111922150304023 +:1068F000E1F7FE01EB5EFC4F81E08083CC5ADF4F75 +:10690000198218820F9411B668577C4E8F4F9F4F93 +:10691000F6016083718382839383DF91CF911F910E +:106920000F91FF90EF90DF90CF900895FC0120E051 +:106930003EE2DB014C91403241F0283011F43083CB +:106940003196DB014C91408331962F5F6F5F7F4F13 +:106950002B3079F7108208952BE1FB013496DC018E +:10696000149601900D922A95E1F7FB012281338163 +:10697000FC013383228327EF34E0318320830895A1 +:106980002F923F924F925F926F927F928F929F923F +:10699000AF92BF92CF92DF92EF92FF920F931F932D +:1069A000CF93DF93CDB7DEB7CA57D1090FB6F894AE +:1069B000DEBF0FBECDBF8C017B012A0139012DB78F +:1069C0003EB7E5963FAF2EAFE597AD961FAEAD97BC +:1069D0001A0134E0230E311C4E96E7969FAF8EAF1E +:1069E000E797F801ED5AFF4FE996FFAFEEAFE99751 +:1069F00098012A5E3C4FE1963FAF2EAFE19786505B +:106A00009D4FAF969FAF8EAFAF97580195E0A90EFF +:106A1000B11C6E01EFE5CE0ED11C20E430E02C0F4E +:106A20003D1F2C5F3F4FEB963FAF2EAFEB97E796A6 +:106A30004EAD5FADE797BE016F5F7F4FC1010E9412 +:106A40000FA918160CF024C13C85232F2871203182 +:106A500009F07AC0E196EEADFFADE19780819181BA +:106A60000197029708F470C02DB73EB7E3963FAF89 +:106A70002EAFE397BE016F5F7F4FC60157DF81E006 +:106A8000F7019081911158C0E1E0F0E0D6010D903E +:106A90000020E9F7EC19FD09EA0FFB1F31962DB72D +:106AA0003EB72E1B3F0B0FB6F8943EBF0FBE2DBF57 +:106AB000EDB7FEB731964F01882319F06BEF74E004 +:106AC00001C0B701C4010F94C3C7B601C4010F943C +:106AD000A4C76BEF74E0C4010F94A4C7CE01805C1F +:106AE0009F4FA1DE21E0A601B101EB968EAD9FADD7 +:106AF000EB970E949CACBE01605C7F4FCE018196FB +:106B00002BDF20E030E0AE014F5D5F4FB401C801E4 +:106B100037DFCE0181960E947AA2CE01805C9F4F22 +:106B20000E947AA2E3962EAD3FADE3970FB6F8949C +:106B30003EBF0FBE2DBF7BCF80E001900020E9F764 +:106B40003197EE19FF09A2CF8981882309F4A0C0EB +:106B5000853E09F46CCF8E3209F469CFF801868D39 +:106B60008E3209F464CF3A7009F061CF81E02031B0 +:106B700009F080E0E996EEADFFADE99780838111E1 +:106B800008C08985873409F052CF8A858E3709F489 +:106B90004ECFE196EEADFFADE197808191818130DE +:106BA000910569F08230910591F1892B09F03FCF71 +:106BB000BE016F5F7F4FC501B9DE47010AC0AF96C6 +:106BC000EEADFFADAF978081918101969183808377 +:106BD0002ECFF40181914F01882311F010DEF9CFFF +:106BE0004501F40181914F01882311F008DEF9CFAE +:106BF00080E205DE4D8D5E8D6F8D78A12AE030E05C +:106C000084ED97E00E94ED408AE0F9DD10CFBE01EF +:106C10006F5F7F4FC5018ADEF20180859185A28575 +:106C2000B385F801868B978BA08FB18FF201848595 +:106C30009585A685B785F801828F938FA48FB58F30 +:106C400089899A89958B848B8F859889938B828B80 +:106C50006114710439F0B501C3010F9491C7892BF8 +:106C600079F416C0AD96FFADAD972F2F30E0AF96FB +:106C7000EEADFFADAF97808191812817390741F0C4 +:106C8000AD96FFADAD97FF5FAD96FFAFAD97CFCEA1 +:106C9000E5962EAD3FADE5970FB6F8943EBF0FBE1B +:106CA0002DBFC658DF4F0FB6F894DEBF0FBECDBF65 +:106CB000DF91CF911F910F91FF90EF90DF90CF90D8 +:106CC000BF90AF909F908F907F906F905F904F900C +:106CD0003F902F9008950F931F93CF93DF93CDB7DD +:106CE000DEB76F970FB6F894DEBF0FBECDBF8C0135 +:106CF000FC01EA5EFC4F1182108240E050E0BA01D4 +:106D0000865A9F4F0E94C2A9B8016A5A7F4FCE018E +:106D1000019622DE20E030E0AE014F5F5F4F67E476 +:106D200075E0C8012DDECE0101960E947AA26F9611 +:106D30000FB6F894DEBF0FBECDBFDF91CF911F918C +:106D40000F9108952BE1FB013496DC01149601901C +:106D50000D922A95E1F7FB0122813381FC013383F7 +:106D600022830895FC01128213820895FC0183811D +:106D7000882319F081E0828314820895FC018281C6 +:106D8000882319F0128281E08483089584539E4FF2 +:106D9000FC01808191810895AF92BF92CF92DF92E2 +:106DA000EF92FF920F931F93CF93DF931F92CDB774 +:106DB000DEB78C018FE2FB0181935F01D12C41E0B2 +:106DC0007801F4E3EF1AFEEFFF0A8FE1C82E2D2DB4 +:106DD00030E0F7018081918128173907D8F4C29EED +:106DE000C001C39E900D112486569F4FB501800FA0 +:106DF000911F49830E945AA7C50149815C010196F0 +:106E0000F5012081222321F04D3810F44F5FF6CF99 +:106E1000D394DDCF47FD11C0B501C801845A9D4F01 +:106E20000F90DF91CF911F910F91FF90EF90DF9026 +:106E3000CF90BF90AF900C945AA7F50110820F909D +:106E4000DF91CF911F910F91FF90EF90DF90CF9046 +:106E5000BF90AF900895875F9C4FFC016081718166 +:106E60008281938108958F929F92AF92BF92CF9229 +:106E7000DF92EF92FF920F931F93CF93DF931F92B6 +:106E8000CDB7DEB77C01FC018281882309F49EC066 +:106E90008701025E1F4FF80181918F01882311F055 +:106EA000AEDCF9CFE9E8F0E184918F01882331F07D +:106EB000A6DC0F5F1F4FF8018491F8CFE2E0F9E400 +:106EC000C590D490F6018491882329F098DCFFEFD7 +:106ED000CF1ADF0AF7CFF701EF5EFC4F40815181F7 +:106EE000628173812AE030E084ED97E00E94ED40FA +:106EF000E7E8F0E184918F01882331F080DC0F5FB7 +:106F00001F4FF8018491F8CFF701E75FFC4F4081F4 +:106F10005181628173812AE030E084ED97E00E9424 +:106F2000ED408AE06CDC0F9411B620E6C22E2AEE0A +:106F3000D22EE12CF12CA70196010F94BFC3490179 +:106F40005A016091E0087091E1088091E208909107 +:106F5000E308A70196010F94BFC3821A930AC401E4 +:106F60006CE370E00F9498C36983CE0101960F948F +:106F7000DC4D8C01F80181918F01882311F03FDCF9 +:106F8000F9CF40E050E06AE384ED97E00E942441AD +:106F9000C4016CE370E00F9498C38983CE0101961D +:106FA0000F94DC4D8C01F80181918F01882311F041 +:106FB00026DCF9CFE5E8F0E184918F018823A1F088 +:106FC0001EDC0F5F1F4FF8018491F8CFEDEFF4E066 +:106FD00084918F01882331F012DC0F5F1F4FF8017D +:106FE0008491F8CF8AE00BDC0F90DF91CF911F9155 +:106FF0000F91FF90EF90DF90CF90BF90AF909F9058 +:107000008F900895AF92BF92CF92DF92EF92FF924E +:107010000F931F93CF93DF935C01EB01FB01019072 +:107020000020E9F78F0101501109061B170B6C01B5 +:10703000F4EACF1AFDEFDF0AF60110826EE470E089 +:10704000CE010F94AFC77C01009729F4F801319766 +:10705000EC0FFD1F0DC060E270E00F94AFC7EC01B4 +:1070600021966AE270E0C7010F94AFC7FC01319727 +:107070008DE081838AE082831382BE01C501885A34 +:107080009D4F0E946EAFF6018081882311F1EAE5E1 +:10709000FEE08491EF01882329F0B1DB2196FE0107 +:1070A0008491F9CFE2E1F9E4C591D491FE01849194 +:1070B000882319F0A4DB2196F9CF8AE0DF91CF91E4 +:1070C0001F910F91FF90EF90DF90CF90BF90AF9006 +:1070D00096CBDF91CF911F910F91FF90EF90DF90B2 +:1070E000CF90BF90AF900895CF93DF93EC0140E431 +:1070F00050E0885A9D4F0E946CAFC45ADD4F888182 +:10710000882301F1EAE5FEE08491EF01882329F06C +:1071100076DB2196FE018491F9CFE2E1F9E4C59195 +:10712000D491FE018491882319F069DB2196F9CF6F +:107130008AE065DB6AE075E084ED97E0DF91CF914E +:107140000C943741DF91CF9108950F931F93CF9304 +:10715000DF93EC018C01045A1D4FC8010E945BAA09 +:10716000C8010E94A5AA18821982DF91CF911F91B0 +:107170000F910895CF92DF92EF92FF920F931F939A +:10718000CF93DF93CDB7DEB76F970FB6F894DEBF1E +:107190000FBECDBF8C016A017C0185E7E80EF11CB2 +:1071A000C80189589F4FF70191838083EF55FD4FA8 +:1071B00022E030E03183208332967183608340E0A7 +:1071C00050E0BA0104960E94C2A9F7016081718162 +:1071D000CE010196C1DB9601AE014F5F5F4F67E4C0 +:1071E00075E0C801CDDBCE0101960E947AA26F96B0 +:1071F0000FB6F894DEBF0FBECDBFDF91CF911F91C8 +:107200000F91FF90EF90DF90CF9008953F924F92B3 +:107210005F926F927F928F929F92AF92BF92CF9226 +:10722000DF92EF92FF920F931F93CF93DF93CDB72F +:10723000DEB7AC970FB6F894DEBF0FBECDBF8C01A2 +:107240006B01342EDC0113968C91882309F496C2CD +:10725000F801E15AFD4F8081882309F4E1C0211132 +:10726000B5C07801B9E8EB1ABDEFFB0AF7018081E0 +:10727000882341F1EAE5FEE084918F01882331F013 +:10728000BEDA0F5F1F4FF8018491F8CFE7E0F1E11C +:1072900084918F01882331F0B2DA0F5F1F4FF8011C +:1072A0008491F8CF4AE050E061E070E084ED97E02F +:1072B0000E942C418AE0A3DA61E087E495E00E9415 +:1072C000395A5CC2E4E5FEE084915F01882339F01D +:1072D00096DAFFEFAF1ABF0AF5018491F7CFEEEE11 +:1072E000F0E184915F01882339F089DAFFEFAF1A6A +:1072F000BF0AF5018491F7CF5601D5018D915D014B +:10730000882311F07CDAF9CFE3EEF0E184915F019C +:10731000882339F074DABFEFAB1ABB0AF501849108 +:10732000F7CFD7018C913DE8B32EB801B89E600D20 +:10733000711D112464587D4FC8012EDDF701808135 +:107340009801B89E200D311D1124C90184589D4F0C +:107350005C01D5018D915D01882311F050DAF9CFE0 +:10736000EDEDF0E184915F01882339F048DABFEF59 +:10737000AB1ABB0AF5018491F7CF5801FFEEAF1AA3 +:10738000FCEFBF0AD5014D915D916D917C912AE092 +:1073900030E084ED97E00E94ED408AE030DAF701BA +:1073A0002081F80134E0239FE00DF11D1124E858FD +:1073B000FD4FD5014D915D916D917C91408351833D +:1073C000628373832F5FF701208324C0E4E5FEE02E +:1073D00084917F01882339F012DAFFEFEF1AFF0A58 +:1073E000F7018491F7CFECECF0E184917F018823E1 +:1073F00039F005DAFFEFEF1AFF0AF7018491F7CFB2 +:107400007601D7018D917D01882311F0F8D9F9CF4C +:107410008AE0F5D9C801845A9D4F0E94A5AA28C0C8 +:10742000F801E958FD4F1082E4E5FEE084917F0108 +:10743000882339F0E4D9BFEFEB1AFB0AF7018491F6 +:10744000F7CFEBEBF0E184917F01882339F0D7D9B6 +:10745000FFEFEF1AFF0AF7018491F7CF7601D7010A +:107460008D917D01882311F0CAD9F9CF8AE0C7D95F +:10747000F801128214829E012F5F3F4F5901C9010A +:10748000D2D9280135E7430E511CC8018A5A9F4FB3 +:10749000D2018D939C93F60180818F3209F075C0E3 +:1074A0006FE270E0C6010F94AFC701967C01E11452 +:1074B000F10409F470C06FE270E0C7010F94AFC728 +:1074C0004C01009709F468C0E816F90608F064C09A +:1074D0003C016E187F08A301B701CE0180960F947E +:1074E000D8C7E0E2F0E0EC0FFD1FE60DF71D1082BB +:1074F0009E01205E3F4F7901D7018D917D01882348 +:1075000011F07DD9F9CF8AE07AD9F20160817181D9 +:107510006115710519F06C5F7F4F02C060E070E08B +:1075200021E0AE01405E5F4FCE0105960E949CAC0B +:10753000811123C0E4E0F9E405911491F8018491EC +:10754000882321F05CD90F5F1F4FF8CF8E01005EBA +:107550001F4FD8018D918D01882311F050D9F9CF9B +:10756000E9EBF0E184918F01882309F4B8C047D991 +:107570000F5F1F4FF8018491F7CFD201AD92BC92FB +:107580007401BFEFEB1AFB0A92CFC80189589F4FD5 +:10759000F2019183808376019801245A3D4F49017D +:1075A000D2016D917C91332009F49CC06115710565 +:1075B00019F06C5F7F4F02C060E070E021E0A7012E +:1075C000C4010E949CAC882309F46AC0F40181893B +:1075D0009289A389B489F801E75FFC4F8083918386 +:1075E000A283B383E0E1F9E4C590D490F6018491DD +:1075F0009801275F3C4F4901882339F000D93FEFBC +:10760000C31AD30AF6018491F7CF6701D6018D9191 +:107610006D01882311F0F3D8F9CFECEFF8E4C590B1 +:10762000D490F6018491882329F0E9D8FFEFCF1A8E +:10763000DF0AF7CFD4014D915D916D917C912AE0E5 +:1076400030E084ED97E00E94ED408AE0D8D8F80160 +:10765000EF5EFC4F1082118212821382EEE0F9E499 +:10766000C590D490F6018491882329F0C8D8FFEF03 +:10767000CF1ADF0AF7CF8AE0C2D8A70160E070E036 +:10768000C80178DDD8015E968C91882319F0C80175 +:107690004E9601C0C7010F94894981E395E069C006 +:1076A000E4E0F9E405911491F8018491882321F034 +:1076B000A6D80F5F1F4FF8CFD7018D917D0188238A +:1076C00011F09DD8F9CFE7EBF0E184918F01882389 +:1076D00031F095D80F5F1F4FF8018491F8CF8AE001 +:1076E0008ED849C06115710519F06C5F7F4F02C0DB +:1076F00060E070E026E5A701C4010E949CAC811106 +:107700001FC0E4E0F9E405911491F8018491882305 +:1077100021F075D80F5F1F4FF8CFD7018D917D01F4 +:10772000882311F06CD8F9CFE5EBF0E184918F015B +:107730008823A9F264D80F5F1F4FF8018491F8CF16 +:1077400081E0D8018C93E8EFF8E405911491F801F9 +:107750008491882321F053D80F5F1F4FF8CFD601B3 +:107760008D916D01882311F04AD8F9CF8AE047D86E +:10777000C7010F948949C5010E947AA2AC960FB641 +:10778000F894DEBF0FBECDBFDF91CF911F910F9157 +:10779000FF90EF90DF90CF90BF90AF909F908F9031 +:1077A0007F906F905F904F903F90089521E0FC0193 +:1077B000218340E02BCDEF92FF920F931F93CF9345 +:1077C000DF93CDB7DEB7A1970FB6F894DEBF0FBE3B +:1077D000CDBF8C017C0185E7E80EF11CC8018958FA +:1077E0009F4FF70191838083EF55FD4FA2E0B0E0FA +:1077F000B183A083329611821082049628A339A304 +:107800000E94C2A9F70160817181CE010196A4D8BE +:1078100028A139A1AE014F5F5F4F67E475E0C80151 +:10782000AFD8CE0101960E947AA2A1960FB6F89425 +:10783000DEBF0FBECDBFDF91CF911F910F91FF90A3 +:10784000EF900895CF92DF92EF92FF920F931F93E4 +:10785000CF93DF93CDB7DEB76F970FB6F894DEBF47 +:107860000FBECDBF8C016C0125E7C20ED11C89581B +:107870009F4FF60191838083EF55FD4F21E030E06B +:10788000318320837801F8EEEF1AFCEFFF0AF7014D +:107890001182108240E050E0BA0104960E94C2A911 +:1078A000F60160817181CE01019656D820E030E06A +:1078B000AE014F5F5F4F67E475E0C80161D8CE014C +:1078C00001960E947AA2F701808191816F960FB68E +:1078D000F894DEBF0FBECDBFDF91CF911F910F9106 +:1078E000FF90EF90DF90CF900895FC01E253FE4FA0 +:1078F000208131816217730738F4680F791FFB010B +:10790000E053FE4F608170E040E050E033CCFC017A +:10791000E253FE4F80819181892B11F011821082F8 +:1079200008952F923F924F925F926F927F928F9223 +:107930009F92AF92BF92CF92DF92EF92FF920F93FE +:107940001F93CF93DF93CDB7DEB7C155D1090FB6E3 +:10795000F894DEBF0FBECDBF8C012DB73EB72E967B +:107960003FAF2EAF2E978091CB198111FEC1809130 +:10797000030180FDFAC189E09FE00F9423CB8BAF18 +:10798000823009F4F2C182E090E090931802809373 +:107990001702C801BCDFC80155DF5C01009709F47C +:1079A000ABC14DB75EB722965FAF4EAF229785361B +:1079B000910570F0E0918609F0E0EE0FFF1FEA57A5 +:1079C000F54B859194910F949C95E4E6AE2EB12CE5 +:1079D0000F943D480F942649E0918609F0E0EE0FA0 +:1079E000FF1FE65AF74B4591549161E080E00F94F8 +:1079F000166DC501880F991F880F991FEDB7FEB747 +:107A0000E81BF90B0FB6F894FEBF0FBEEDBF2DB704 +:107A10003EB72F5F3F4F3DAF2CAFF801128E138E54 +:107A2000148E158EF1E0AF16B10409F453C169014B +:107A3000E12CF12C8091030180FD60C10F941B2982 +:107A4000F801EE0DFF1DE053FE4FE082F801828D3C +:107A5000938DA48DB58DF60181939193A193B193EC +:107A60006F0140E050E0B701C80184DBFFEFEF1A7F +:107A7000FF0AEA14FB04F0F2B5016150710980E0DD +:107A800090E00F9488BF20E030E040E05FE30F9487 +:107A9000BDC16B017C01B50180E090E00F9488BF0F +:107AA0009B01AC01C701B6010F94BDC10F945CBF2F +:107AB0001501C12CD12C76019B0140E050E062966B +:107AC0002CAF3DAF4EAF5FAF6297A8014B5F5F4FEA +:107AD00058AF4FABC8014E969AAF89AFF801ED5A37 +:107AE000FF4FFFAFEEAF41E0241A310809F4F6C0B2 +:107AF0008091030180FD02C1A4E6B0E0A7019601D8 +:107B00000F9418C462962CAD3DAD4EAD5FAD62973B +:107B10000F94BFC3822F65E00F948BC3882E9924E6 +:107B200087FC9094612C712C6814790434F446E439 +:107B300055E062E0862D0F945A48FFEF6F1A7F0AD6 +:107B400024E16216710481F73FEFC31AD30AE30AF6 +:107B5000F30A380126961FAE26978091030180FD17 +:107B6000CDC00F941B29A30140535E4F24965FAFF5 +:107B70004EAF2497FA01508093012F523E4F289622 +:107B80003FAF2EAF2897F901F0812596FFAF2597DB +:107B90002F2F30E02A963FAF2EAF2A974FEFC41A0F +:107BA000D40AE40AF40AECADFDAD54E0559EE00DB4 +:107BB000F11D1124408151816281738120E030E008 +:107BC000C801F9DDF801868D882319F069AD7AAD19 +:107BD00002C06FA978ADCE0101960F94C3C7F8011A +:107BE00084889588228933892C963FAF2EAF2C97B5 +:107BF000EEADFFAD40802A96EEADFFAD2A97EE0FB9 +:107C0000FF1FEE0FFF1F2CAD3DADE20FF31F4081B4 +:107C100051816281738120E030E0C801CCDDF80140 +:107C2000868D882319F069AD7AAD02C06FA978AD51 +:107C3000FBADF1111CC0EEADFFAD8081481214C048 +:107C4000F801848995898816990651F48289938967 +:107C50002C962EAD3FAD2C9782179307D0F02AC0FB +:107C600088159905B0F026C0411013C023C03BAD64 +:107C7000313001F5EEADFFAD8081481208C0CE0174 +:107C800001960F9491C7181619061CF013C04110E5 +:107C900011C025962FAD25972496EEADFFAD249704 +:107CA00020832896EEADFFAD28975082F1E026960E +:107CB000FFAF26972FEF621A720AC301801B910B48 +:107CC0008215930508F449CF26963FAD26973111CA +:107CD0000ACF04C0F801E053FE4F1082F801E253CE +:107CE000FE4FB182A08222968EAD9FAD22970FB635 +:107CF000F8949EBF0FBE8DBF10E00AC02296EEAD75 +:107D0000FFAD22970FB6F894FEBF0FBEEDBF2DC09A +:107D100046E455E062E0812F0F945A481F5F14310A +:107D2000B9F76CE271E080E090E00F9440B60F94F8 +:107D300025490F943D4882E00F94FF8482E00F9420 +:107D4000FF8481E090E090931802809317020F94D3 +:107D500011B6605D7A488F4F9F4F60932C197093D6 +:107D60002D1980932E1990932F192E962EAD3FAD7D +:107D70002E970FB6F8943EBF0FBE2DBFCF5ADF4FE0 +:107D80000FB6F894DEBF0FBECDBFDF91CF911F912C +:107D90000F91FF90EF90DF90CF90BF90AF909F90AA +:107DA0008F907F906F905F904F903F902F900895AD +:107DB000EF92FF920F931F93CF93DF93EC011B82FF +:107DC000FC01E35AFF4F8081882329F0CE01865AB7 +:107DD0009F4F0E94A5AA7E018CECE81A8DEFF80A4D +:107DE0004DE460E0C7010E9429A4811133C0E4E59D +:107DF000FEE084918F01882339F00E94FFB30F5F6A +:107E00001F4FF8018491F7CFECE0F9E4059114914C +:107E1000F8018491882329F00E94FFB30F5F1F4F60 +:107E2000F7CF8AE00E94FFB38E010A5A1F4FB801B4 +:107E3000CE0189589F4F0E94A2B6FE01EB58FF4F1A +:107E400011830083CE01DF91CF911F910F91FF909D +:107E5000EF9067CD8E01065C1D4F41E0B701C80170 +:107E60000E94C5B2811122C040E0B701C8010E9442 +:107E7000C5B281111BC0EAE5FEE084918F01882321 +:107E800039F00E94FFB30F5F1F4FF8018491F7CFC5 +:107E9000EAEFF8E405911491F8018491882309F43C +:107EA000C0CF0E94FFB30F5F1F4FF6CFB801CE01C6 +:107EB000865A9F4F0E94B3A781111BC0EAE5FEE0DE +:107EC00084918F01882339F00E94FFB30F5F1F4F09 +:107ED000F8018491F7CFE6E0F9E405911491F801F7 +:107EE0008491882309F49DCF0E94FFB30F5F1F4F39 +:107EF000F6CF81E08B83E4E5FEE084918F01882357 +:107F000039F00E94FFB30F5F1F4FF8018491F7CF44 +:107F1000E4E1F9E405911491F8018491882309F4CE +:107F200080CF0E94FFB30F5F1F4FF6CF2F923F927B +:107F30004F925F926F927F928F929F92AF92BF9279 +:107F4000CF92DF92EF92FF920F931F93CF93DF9325 +:107F5000CDB7DEB7CC55D1090FB6F894DEBF0FBE52 +:107F6000CDBF4C018C010B5E1C4F662339F0F8012C +:107F70001082F401838181111DC015C0F801808138 +:107F8000882309F4AFC0F401E35FFC4FC080D180C7 +:107F9000E280F3800F9411B6C616D706E806F906FC +:107FA00008F4A0C0E4CFC40103DFF4018381882377 +:107FB00009F498C07401F4E5EF0EF11CF70181811A +:107FC0008F9380818F938CE790E19F938F938E01A5 +:107FD000015C1F4F1F930F930F94F7C80F900F90E2 +:107FE0000F900F900F900F90B12CF801019000208E +:107FF000E9F73197E01BF10BBE1684F46801CB0C56 +:10800000D11CB7FCDA94F6018081992787FD909501 +:108010000F94F9C6F6018083B394E7CFFAE58F0E8B +:10802000911C40E050E0BA01C4010E94C2A9512C49 +:10803000CE0101966C01F5E76F2EF0E17F2E5E0117 +:1080400091E2A90EB11C40E050E0B601C4010E94CB +:108050000FA91816DCF5412CF60101900020E9F774 +:108060003197EC19FD094E1674F41601240C311CDD +:1080700047FC3A94F101808190E00F94F9C6F10138 +:1080800080834394E9CF8A858E37E9F245E050E05A +:10809000B801C6010F94CAC7892BA9F61F930F9385 +:1080A0007F926F92BF92AF920F94F7C860E0C501C4 +:1080B00010D461E081E790E10CD40F900F900F9005 +:1080C0000F900F900F9055245394BDCF511004C0C2 +:1080D0008FEF9FEFF70104C0F70180819181019636 +:1080E00091838083C45ADF4F0FB6F894DEBF0FBE72 +:1080F000CDBFDF91CF911F910F91FF90EF90DF9057 +:10810000CF90BF90AF909F908F907F906F905F9037 +:108110004F903F902F9008954F925F926F927F9271 +:108120008F929F92AF92BF92CF92DF92EF92FF9287 +:108130000F931F93CF93DF93CDB7DEB7AC970FB6F6 +:10814000F894DEBF0FBECDBF7C015B01FC018381D3 +:10815000882309F4F1C0C701845A9D4F0E94A5AA43 +:10816000F7011282CE0101966C010E9413B427011F +:1081700095E7490E511CC7018A5A9F4FF20191831E +:108180008083F50180818F3209F075C06FE270E065 +:10819000C5010F94AFC78C010F5F1F4F09F471C069 +:1081A0006FE270E0C8010F94AFC74C01009709F46B +:1081B00069C00817190708F065C03C01601A710A08 +:1081C000A301B801CE0180960F94D8C7E0E2F0E099 +:1081D000EC0FFD1FE60DF71D10828E01005E1F4F94 +:1081E000F80181918F01882319F00E94FFB3F8CF25 +:1081F0008AE00E94FFB3F20160817181611571050F +:1082000019F06C5F7F4F02C060E070E021E0AE01CA +:10821000405E5F4FCE0105960E949CAC811126C046 +:10822000E8E4F5E084918F01882339F00E94FFB3E0 +:108230000F5F1F4FF8018491F7CF8E01005E1F4F33 +:10824000F80181918F01882319F00E94FFB3F8CFC4 +:10825000E3EBF0E184918F01882309F467C00E9469 +:10826000FFB30F5F1F4FF8018491F6CFF201D18267 +:10827000C082840191CFC70189589F4FF201918339 +:1082800080838501F20180819181009711F004962D +:1082900002C080E090E0B8010E9472AD882319F11D +:1082A000E5EAF0E184915F01882341F00E94FFB389 +:1082B000FFEFAF1ABF0AF5018491F6CFF801819163 +:1082C0008F01882319F00E94FFB3F8CF8AE00E9443 +:1082D000FFB3F701EF5EFC4F10821182128213820E +:1082E000C7011FDB26C0EDE8F0E184917F01882300 +:1082F00041F00E94FFB3FFEFEF1AFF0AF7018491EC +:10830000F6CFF80181918F01882319F00E94FFB305 +:10831000F8CFEBE8F0E184918F01882339F00E94D7 +:10832000FFB30F5F1F4FF8018491F7CF8AE00E94DF +:10833000FFB3C6010E947AA2AC960FB6F894DEBFD6 +:108340000FBECDBFDF91CF911F910F91FF90EF90A6 +:10835000DF90CF90BF90AF909F908F907F906F9065 +:108360005F904F900895AF92BF92CF92DF92EF92BD +:10837000FF920F931F93CF93DF93CDB7DEB76F9725 +:108380000FB6F894DEBF0FBECDBF8C017B01CE01CE +:1083900001960E9413B4F801E258FF4F80816801F2 +:1083A000811104C026E5C20ED11C03C087E7C80EA8 +:1083B000D11C21E0A701B6016C5F7F4FCE0105966D +:1083C0000E949CAC811127C0E4E5FEE084918F01FE +:1083D000882339F00E94FFB30F5F1F4FF80184918B +:1083E000F7CFE6E1F9E405911491F801849188232F +:1083F00029F00E94FFB30F5F1F4FF7CF8701F801ED +:1084000081918F01882319F00E94FFB3F8CF8AE091 +:108410000E94FFB338C0F801E453FE4F8081918180 +:108420008A30910530F59C012F5F3F4F31832083C7 +:108430002FE1289F7001299FF00C1124F6E9EF0E1F +:10844000F11CE00EF11E5C01B701C7014F960E94BE +:10845000A2B621E0A21AB1088FE1E81AF108EFEF05 +:10846000AE16BE0689F7B601C8018A569F4F0E9414 +:10847000A2B6BE016F5F7F4FC80189589F4F0E940F +:10848000A2B6C8014EDACE0101960E947AA26F967A +:108490000FB6F894DEBF0FBECDBFDF91CF911F9115 +:1084A0000F91FF90EF90DF90CF90BF90AF90089525 +:1084B000CF92DF92EF92FF920F931F93CF93DF93B0 +:1084C000EC018C0104531E4FF801808191810097CB +:1084D00061F10197918380837E01F6E9EF0EF11C33 +:1084E000B701CE0189589F4F0E94A2B6C701E12C67 +:1084F000F12C6C01EFE1CE0ED11CF801208131810D +:10850000E216F30640F42FEFE21AF20AB6010E94D7 +:10851000A2B6C601EECFCE01DF91CF911F910F9190 +:10852000FF90EF90DF90CF90FCC9DF91CF911F912A +:108530000F91FF90EF90DF90CF900895EF92FF9210 +:108540000F931F93CF93DF93EC010F94891C8E013F +:1085500009581D4FF80180819E01245A3D4F790131 +:108560008823A9F1C9010E94A5AAF8018081815040 +:108570008083BE01FDE88F9F600D711D112464583A +:108580007D4F21E041E0CE010E9406B9F8018081D3 +:10859000FE0124E0829FE00DF11D1124E858FD4FFB +:1085A0004081518162817381FE01EF5EFC4F408307 +:1085B000518362837383C7010E94C2A9CE01DF91F8 +:1085C000CF911F910F91FF90EF900C94B6B60F943E +:1085D000141DC7010E94A5AA1A82DF91CF911F9195 +:1085E0000F91FF90EF900D940B1DCF92DF92EF92C1 +:1085F000FF920F931F93FB0110821182128213824C +:108600006B01A4E0EA2EF12C00E515E020E030E05B +:1086100041E061E08C5C9D4F0E94F0A591E08111EA +:1086200001C090E0892F1F910F91FF90EF90DF9094 +:10863000CF90089590915908911107C09091C00072 +:1086400095FFFCCF8093C6000895913031F490914E +:10865000C80095FFFCCF8093CE000895CF93C62F1E +:1086600020910C0F30910D0FE0910A0FF0910B0F3C +:108670002E173F0741F44091080F5091090F14162F +:1086800015060CF44DC06091050F7091060FAF01F7 +:10869000480F591F161617067CF4E217F3077CF0F3 +:1086A000BA0163597F4F6E3E7140C0F14C5F5F4F1E +:1086B0004E3E5140C8F415C0E217F3073CF444594C +:1086C0005F4F81E04217530764F12AC0DA01A359D2 +:1086D000BF4FAE3EB14010F14C5F5F4F4E3E514038 +:1086E00018F429363105D4F484599F4F8217930723 +:1086F000BCF44DEE51E04E1B5F0B60E070E0CF012B +:10870000825F904F0F948AC7CC2309F0F89410929F +:108710000B0F10920A0FCC2309F0789481E001C06E +:1087200080E0CF9108958091080F9091090F18165D +:1087300019060CF056C001979093090F8093080F0B +:10874000892B99F48091050F9091060F892B21F4C4 +:1087500010920B0F10920A0F80910A0F90910B0F3D +:1087600090930D0F80930C0F3AC020910C0F309115 +:108770000D0F2D5F3F4F2F5F3F4FF901E35FF04F2C +:1087800040814111F8CFC901382F292F8D3E41E09A +:10879000940740F090930D0F80930C0F8D3E914005 +:1087A000F1F40EC00196FC01E35FF04F40814423D9 +:1087B00059F330930C0F20930D0F832F922FEECF90 +:1087C00080E090E0382F292F0196FC01E35FF04F05 +:1087D00040814423B9F330930C0F20930D0F81E0B7 +:1087E000089580E0089510920D0F10920C0F1092D2 +:1087F0000B0F10920A0F1092090F1092080F10928F +:10880000070F08950F931F93CF93DF93EC018036EA +:10881000910514F080E052C08091070F811104C0CF +:1088200082DF81E08093070F40910C0F50910D0F74 +:1088300080910A0F90910B0F4817590739F4209136 +:10884000080F3091090F1216130624F32091050F1B +:108850003091060F1216130624F49C012F593F4F36 +:1088600001C09C018417950744F44C1B5D0B4450D8 +:1088700051094217530774F209C0CE0103968417B9 +:1088800095074CF44C1B5D0B4450510950930D0F50 +:1088900040930C0F12C009EE11E00C1B1D0B0217C8 +:1088A00013070CF4B7CF60E070E08EE09FE00F9408 +:1088B0008AC710930D0F00930C0F81E0DF91CF91C9 +:1088C0001F910F910895803691050CF4C7CE80E07A +:1088D0000895FF920F931F93CF93DF93EC01F62E31 +:1088E000662321F00F941CC78C0109C0FC01019084 +:1088F0000020E9F78F0101501109081B190B60E0F6 +:10890000C801E1DF882309F466C080910A0F9091C5 +:108910000B0FFC01E25FF04F23E020830396BE01C2 +:10892000825F904FFF2019F00F9415C702C00F947B +:10893000C3C7E4E5FEE08491EF01882329F07ADEE5 +:108940002196FE018491F9CFE2EAFAE4C591D4912F +:10895000FE018491882319F06DDE2196F9CFC09134 +:108960000A0FD0910B0FCF5ED04F8991882311F061 +:1089700061DEFBCFEDEDF1E18491EF01882329F079 +:1089800059DE2196FE018491F9CF8AE053DE0C5F17 +:108990001F4F80910A0F90910B0F080F191F0D3E6A +:1089A000F1E01F0729F010930B0F00930A0F04C08A +:1089B00010920B0F10920A0F8091080F9091090FDF +:1089C00001969093090F8093080FDF91CF911F912B +:1089D0000F91FF900895EAE5FEE084918F018823CE +:1089E00031F028DE0F5F1F4FF8018491F8CFE2EAE3 +:1089F000FAE405911491F8018491882321F01ADE9C +:108A00000F5F1F4FF8CFFF2061F0FE018491882394 +:108A100019F010DE2196F9CFE6ECF1E18491EF0137 +:108A200005C089918823C1F305DEFBCF882329F097 +:108A300001DE2196FE018491F9CF8AE0DF91CF918A +:108A40001F910F91FF90F6CD81E02091080F30919A +:108A5000090F232B09F080E00895FF920F931F93D5 +:108A6000CF93DF93EC01F62E662319F00F941CC709 +:108A700008C0FC0101900020E9F7CF0101978C1B91 +:108A80009D0BC0DE882309F450C080910C0F90919B +:108A90000D0FFC01E25FF04F23E020830396BE013F +:108AA000825F904FFF2019F00F9415C702C00F94FA +:108AB000C3C78091080F9091090F01969093090FF9 +:108AC0008093080FE4E5FEE08491EF01882329F00C +:108AD000B1DD2196FE018491F9CFEDEAF1E18491B7 +:108AE000EF01882329F0A6DD2196FE018491F9CFBC +:108AF000C0910C0FD0910D0FCF5ED04F899188237C +:108B000011F098DDFBCFEBEAF1E18491EF018823CE +:108B100029F090DD2196FE018491F9CF8AE0DF9162 +:108B2000CF911F910F91FF9085CDEAE5FEE08491F2 +:108B30008F01882331F07EDD0F5F1F4FF801849194 +:108B4000F8CFE2E9F1E184918F01882331F072DD01 +:108B50000F5F1F4FF8018491F8CFFF2061F0FE01F5 +:108B60008491882319F066DD2196F9CFEBE7F1E1D6 +:108B70008491EF0105C089918823C1F35BDDFBCFB0 +:108B8000882309F4CBCF56DD2196FE018491F8CFDE +:108B900081E08093070F089581E02091080F3091C4 +:108BA000090F232B09F080E008952F923F924F92F6 +:108BB0005F926F927F928F929F92AF92BF92CF926D +:108BC000DF92EF92FF920F931F93CF93DF93CDB776 +:108BD000DEB76E970FB6F894DEBF0FBECDBF61E073 +:108BE0008FE590E03BDD882309F475C4809155083A +:108BF000909156082091570830915808821B930B8A +:108C00008F7799278F37910569F0BB24B39428EAB1 +:108C1000E22E2AE4F22E3AE2C32E38E4D32E44E2C6 +:108C2000A42E2EC084ED97E00E945B40ECE6F1E1BB +:108C300084918F01882331F0FDDC0F5F1F4FF80115 +:108C40008491F8CF8AE0F6DCE0CF84ED97E00E94D3 +:108C50003F40182F0F9411B66093FE0E7093FF0ED5 +:108C60008093000F9093010F0F9411B66093FA0E4A +:108C70007093FB0E8093FC0E9093FD0E17FF0FC0B8 +:108C800080915508909156082091570830915808C6 +:108C9000821B930B8F779927892BB9F697C1209167 +:108CA000050F3091060F1A3031F01D3021F02F35AD +:108CB00031050CF473C12115310519F41092040F1C +:108CC0000AC400910A0F10910B0FF901E25FF04FF7 +:108CD000E00FF11F13828091040F811145C160ECF8 +:108CE00073E0C8018F5E904F0F94E7C7892B09F09E +:108CF00080C0F801E25FF04F83818E3409F079C0C3 +:108D00004AE050E060E070E0C8018E5E904F0F9442 +:108D1000C0C56093F60E7093F70E8093F80E909393 +:108D2000F90E4090F20E5090F30E6090F40E709099 +:108D3000F50EFFEF4F1A5F0A6F0A7F0A00910A0FC4 +:108D400010910B0F641575058605970509F4E5C1AB +:108D500067E671E1C8018F5E904F0F945AC7892B67 +:108D600009F0DBC1EAE5FEE084918F01882331F050 +:108D700061DC0F5F1F4FF8018491F8CFE0EBFAE45C +:108D800005911491F8018491882321F053DC0F5F41 +:108D90001F4FF8CF4091F20E5091F30E6091F40EF8 +:108DA0007091F50E2AE030E084ED97E00E941A41C0 +:108DB0008AE040DC0E9476535DC0E091020FF091A2 +:108DC000030F1082E0910A0FF0910B0FE25FF04F5A +:108DD000A3828091F60E9091F70EA091F80EB091BB +:108DE000F90E8093F20E9093F30EA093F40EB093CD +:108DF000F50E00910A0F10910B0FF801E25FF04F92 +:108E000083810D5F1F4F8E3409F439C0843209F419 +:108E100036C06AE270E0C801825F904F0F94AFC71E +:108E2000892B69F1EAE5FEE084918F01882331F016 +:108E300001DC0F5F1F4FF8018491F8CFEAEAFAE4F2 +:108E400005911491F8018491882321F0F3DB0F5FE1 +:108E50001F4FF8CF4091F20E5091F30E6091F40E37 +:108E60007091F50E2AE030E084ED97E00E941A41FF +:108E70008AE0E0DB1092060F1092050F2CC367E426 +:108E800070E0C801825F904F0F94AFC79093030FBB +:108E90008093020F009761F12091C209211108C04F +:108EA0002AE030E03093AE092093AD09B092B509C5 +:108EB0002091D6082223E1F04AE050E060E070E023 +:108EC00001960F94C0C56430710590F4F7010591C7 +:108ED0001491F8018491882321F0ACDB0F5F1F4FC0 +:108EE000F8CF8AE0A7DBF601859194910F9496491B +:108EF00080910A0F90910B0F6CE575E08F5E904F9B +:108F00000F94BAC7892B29F462E087E495E00E94A8 +:108F1000395A80910A0F90910B0FFC01E25FF04FDC +:108F2000B082DC01AF5EB04FFD0101900020E9F797 +:108F30003197EA1BFB0B04968E0F9F1F8D3EF1E0CD +:108F40009F0729F090930B0F80930A0F04C0109293 +:108F50000B0F10920A0F8091080F9091090F019644 +:108F60009093090F8093080F1092060F1092050F2F +:108F700080915508909156082091570830915808D3 +:108F8000821B930B8F779927892B09F4A4C261E088 +:108F90008FE590E063DB811173CE9DC21B3311F42A +:108FA000B092040F8091040F81116ACEE0910A0FF4 +:108FB000F0910B0FC90101969093060F8093050F56 +:108FC000E20FF31FEF5EF04F10835ACE8091CB1962 +:108FD000882309F463C00F9411B66093FA0E70935E +:108FE000FB0E8093FC0E9093FD0E0091FE0E1091EF +:108FF000FF0E2091000F3091010FDC01CB01801B8F +:10900000910BA20BB30B81329340A105B10508F47B +:1090100045C0E091050FF091060F1E161F060CF0DB +:109020003DC080910A0F90910B0FE25FF04FE80F67 +:10903000F91F1382DC01AF5EB04FFD0101900020EB +:10904000E9F73197EA1BFB0B04968E0F9F1F8D3EAD +:1090500031E0930729F090930B0F80930A0F04C01F +:1090600010920B0F10920A0F8091080F9091090F28 +:1090700001969093090F8093080F1092060F10929B +:10908000050FEEE5F1E184918F01882309F423C2F5 +:10909000D1DA0F5F1F4FF8018491F7CF8091C20999 +:1090A000882309F418C28091050F9091060F892B2F +:1090B00009F011C28091080F9091090F892B11F4CA +:1090C0001092E90E8CE3882E912CA12CB12C90E10A +:1090D000492E9EE0592E612C712C8E010F5F1F4F7F +:1090E000222423944091D10C5091D20C6091D30C46 +:1090F0007091D40C8091C90C9091CA0CA091CB0CAA +:10910000B091CC0C481759076A077B0708F0E3C1F8 +:109110008091E90E8111DFC155C00F5E104F6AE2E8 +:1091200070E0C8010F94AFC79093030F8093020FB4 +:109130000097C9F4EAE5FEE084918F01882331F0BD +:1091400079DA0F5F1F4FF8018491F8CFECEAFAE467 +:1091500005911491F8018491882309F41BCE6ADAF1 +:109160000F5F1F4FF7CFF80110E0E817F90719F06C +:1091700021911227FACF4AE050E060E070E0CF0181 +:1091800001960F94C0C5212F30E02617370709F448 +:1091900014CEEAE5FEE084918F01882331F04ADAAB +:1091A0000F5F1F4FF8018491F8CFE6EBFAE40591C9 +:1091B0001491F8018491882309F4ECCD3BDA0F5F18 +:1091C0001F4FF7CF8091240C9091250CA091260C75 +:1091D000B091270C8093D10C9093D20CA093D30C18 +:1091E000B093D40C8CE19CE00E94F9A8382EBAE030 +:1091F0008B17C9F0FDE03F16B1F023E2321619F0EB +:109200003AE3331204C02091040F222361F020912D +:10921000050F3091060F2F3531052CF48F3F4FEF9E +:10922000940709F03DC14091D10C5091D20C60914E +:10923000D30C7091D40C8091C90C9091CA0CA09160 +:10924000CB0CB091CC0C481759076A077B0708F480 +:109250009EC0E0E8FAE4E590F490F7018491882359 +:1092600029F0E8D9FFEFEF1AFF0AF7CF8AE0E2D939 +:109270000F9411B66093DC087093DD088093DE08CC +:109280009093DF08C090E008D090E108E090E208F9 +:10929000F090E3086C197D098E099F09C09091092F +:1092A000D0909209E0909309F09094096C197D098F +:1092B0008E099F0928EE33E040E050E00F94BFC3D1 +:1092C00069017A0110929109109292091092930902 +:1092D0001092940960917F097091800980918109B1 +:1092E000909182090E94705BC701B601A5019401AB +:1092F0000F94BFC3CA01B901A50194010F94BFC364 +:109300007F936F93C701B601A30192010F94BFC36E +:109310003F932F93AAE4B1E1BF93AF931F930F93B1 +:109320000F94F7C8E4E5FEE084910FB6F894DEBF31 +:109330000FBECDBF7F01882339F07CD93FEFE31A00 +:10934000F30AF7018491F7CF7801D7018D917D0160 +:10935000882311F06FD9F9CF8AE06CD9C8010F9436 +:10936000894980EC99E0EAD861E080EC99E00E94BC +:1093700096BF8091CB19882351F086E090E00F943E +:10938000BF55E4E0F0E0F093D019E093CF19F3E299 +:109390003F1202C02092E90E2091050F3091060F76 +:1093A0002115310519F41092040F9CCE80911F0CE9 +:1093B000882349F0C090D10CD090D20CE090D30C0F +:1093C000F090D40C03C0C12CD12C760181E090E048 +:1093D0004091EA0E5091EB0E841B950B8C0D9D1D58 +:1093E00040910A0F50910B0FFA01E25FF04F62E0DB +:1093F000608381839283F901E25FF04FE40FF51FF0 +:109400001382DA01AF5EB04FFD0101900020E9F751 +:109410003197EA1BFB0BF8948091080F9091090F8C +:1094200001969093090F8093080FEC5F20910A0F2B +:1094300030910B0F2E0F311D30930B0F20930A0F1D +:1094400080911F0C882349F08091D10C9091D20C0F +:10945000A091D30CB091D40C03C080E090E0DC016B +:109460000196A11DB11D8093EA0E9093EB0EA0937F +:10947000EC0EB093ED0E2D3E314021F410920B0F07 +:1094800010920A0F78941092040F1092060F109207 +:10949000050F61E08FE590E0E1D8811121CE1BC07E +:1094A000ABE33A1203C02092040F1CCE4091040F8C +:1094B000411116CEE0910A0FF0910B0FA9014F5FF9 +:1094C0005F4F5093060F4093050FE20FF31FEF5EBF +:1094D000F04F808307CE6E960FB6F894DEBF0FBEB6 +:1094E000CDBFDF91CF911F910F91FF90EF90DF9053 +:1094F000CF90BF90AF909F908F907F906F905F9034 +:109500004F903F902F9008954091080F5091090F70 +:1095100041155105A9F180910C0F90910D0F20E09C +:1095200030E0FC01E25FF04FA081A23021F46181C4 +:109530007281260F371F4150510929F10396FC0112 +:10954000E25FF04FE0810196E111F9CF8D3EE1E05D +:109550009E0738F08D3EE1E09E0719F7EEE0FFE050 +:1095600008C0FC01E25FF04FE081E111F3CF01960A +:10957000EDCFCF018E509F40A191AA23D1F3D1CF3F +:1095800080E090E00895C90108950F9411B66093AA +:10959000FE0E7093FF0E8093000F9093010F0F94B7 +:1095A00011B66093FA0E7093FB0E8093FC0E9093AD +:1095B000FD0E089520E030E0A901CA01B9010C9424 +:1095C000256B60E070E0CB010C94506C10926A0245 +:1095D000089587E69FE00F9423CB91E0813009F056 +:1095E00090E090936A0208950F949700009719F005 +:1095F0001092091103C021E02093091161E0892B29 +:1096000009F460E060936A02109208111092071149 +:1096100087E69FE00F9435CB80916A028093E50244 +:10962000089510926A0260E087E69FE00F9435CBC0 +:109630001092E502089526EF280F92EC980F24303F +:1096400050F03EEC380F343030F0983008F041C024 +:10965000ADE6B0E040C0ABE6B0E0EBE6F0E0308174 +:10966000243010F4865009C0823399F0833399F086 +:10967000843399F0983098F48E5341E050E060E0E4 +:1096800070E004C0440F551F661F771F8A95D2F7FC +:1096900007C048E005C044E003C042E001C041E02B +:1096A000432B4C934BB331E0983018F030E081E01D +:1096B00001C084E0842B8BBB90916800243020F0A3 +:1096C000332311F084E001C081E0892B809368008E +:1096D0000895A0E0B0E0983018F4EDE6F0E0BFCFD8 +:1096E000E0E0F0E0BCCF61E08FE30F94FCB760E016 +:1096F0008FE30F9435B810920A118FE39CCF0F942B +:109700004B00809112129091131290930311809349 +:109710000211109201111092FC100F9411B6609377 +:10972000FD107093FE108093FF109093001181E064 +:10973000809304111092071108951092FC1010925A +:1097400004111092071108950F931F930F9411B6EF +:109750000091FD101091FE102091FF10309100112A +:10976000601B710B820B930B6931710581059105AB +:1097700008F43FC00F9411B66093FD107093FE1073 +:109780008093FF10909300110F944B0020911212C0 +:10979000309113128091021190910311821B930B4F +:1097A00040910111009799F097FF07C09091FC102C +:1097B000981B9093FC104D5F03C0423018F042504C +:1097C00040930111309303112093021105C04423EB +:1097D00019F041504093011180910111811103C092 +:1097E0001092FC1006C08F3020F08091FC108F3159 +:1097F00010F480E001C081E01F910F9108951F9245 +:109800000F920FB60F9211240BB60F922F933F9326 +:109810004F935F936F937F938F939F93AF93BF9378 +:10982000CF93DF93EF93FF938091060190910A11FC +:10983000892781FF40C08091060180930A118091A1 +:10984000FB10811138C081E08093FB10C09105119D +:10985000D0910611109206111092051178940F9470 +:109860004B00892B21F4DDDE81E0809309112097E4 +:10987000E1F08091121290911312009741F01CF0C8 +:10988000D7FF0CC012C01C161D0624F007C01C1602 +:109890001D065CF4809107118F5F05C08091071150 +:1098A000882319F08150809307111092131210929F +:1098B00012121092FB10FF91EF91DF91CF91BF91A7 +:1098C000AF919F918F917F916F915F914F913F9158 +:1098D0002F910F900BBE0F900FBE0F901F901895F9 +:1098E00020916A02222319F120910511309106116D +:1098F000121613062CF4FC01808D83FD07C0089519 +:10990000232BA9F0FC01808D83FD11C080910601FD +:109910009FB781FF05C0F894809108018D7F04C036 +:10992000F894809108018260809308019FBF089598 +:1099300020916A02222379F12091051130910611BC +:10994000FC01808D83FF03C0719561957109620FE1 +:10995000731F709306116093051180916B029091B3 +:109960006C026817790734F49195819591098617EF +:1099700097078CF0809106019FB781FF05C0F8948E +:10998000809108018D7F04C0F89480910801826065 +:10999000809308019FBF089580916A02882309F48B +:1099A0003FC080910711863008F43AC003DE109260 +:1099B000071161E08FEE91E150D80E94206D0E9466 +:1099C00093C30F94891C61E084EE91E146D80E9414 +:1099D000206D0E9493C30F94891C809107118111FF +:1099E00001C0EFCD85E69FE00F9423CB61E0680FC7 +:1099F00085E69FE00F9435CB81E09FE00F9430CB5C +:109A0000BC016F5F7F4F81E09FE00F944FCB61E01F +:109A10008FED91E122D881E08093081110926A02C3 +:109A200008950F931F93CF93DF93EC018B0144E1D3 +:109A300050E0BC018BE091E10F944BC7CE010F9435 +:109A40001CC7992744E150E0481B590BB801855FBA +:109A50009E4E0F944BC78BE091E1DF91CF911F9108 +:109A60000F910895AF92BF92CF92DF92EF92FF9243 +:109A70000F931F93CF93DF93EC015B017A01690190 +:109A800044E150E0BC018BE091E10F944BC7CE0163 +:109A90000F941CC7EC01DD2704E110E0A8014C1B6A +:109AA0005D0BB501CE01855F9E4E0F944BC7C5017E +:109AB0000F941CC7C80FD91FDD27A8014C1B5D0BD5 +:109AC000B701CE01855F9E4E0F944BC7C7010F941F +:109AD0001CC78C0F9D1F9927A801481B590BB60165 +:109AE000855F9E4E0F944BC78BE091E1DF91CF9144 +:109AF0001F910F91FF90EF90DF90CF90BF90AF90AC +:109B000008954F925F926F927F928F929F92AF9241 +:109B1000BF92CF92DF92EF92FF920F931F93CF935A +:109B2000DF93CDB7DEB728970FB6F894DEBF0FBE30 +:109B3000CDBFDC01CD90DD90ED90FC901397C092ED +:109B40003A11D0923B11E0923C11F0923D111496E3 +:109B50000D911D912D913C91179709831A832B83A9 +:109B60003C8300934211109343112093441130938E +:109B70004511DB010D911D912D913C9113970D83A2 +:109B80001E832F83388700933E1110933F1120933B +:109B900040113093411114964D905D906D907C90E2 +:109BA0001797409246115092471160924811709257 +:109BB0004911FA0160817181828193816093221140 +:109BC00070932311809324119093251184809580A4 +:109BD000A680B7808092261190922711A09228111A +:109BE000B092291120E030E0A9010F94E8BE811164 +:109BF0000CC020E030E0A901C501B4010F94E8BE1B +:109C0000811103C010924A1103C081E080934A1170 +:109C100020E030E040E85FE3C701B6010F94E8BE02 +:109C2000811121C020E030E0A9016D817E818F810A +:109C300098850F94E8BE811116C020E030E0A9019C +:109C400069817A818B819C810F94E8BE81110BC060 +:109C500020E030E040E85FE3C301B2010F94E8BECA +:109C6000882309F45EC080914A11826080934A1172 +:109C7000A3019201C701B6010F94BDC14B015C0164 +:109C80002D813E814F81588569817A818B819C81AC +:109C90000F94BDC19B01AC01C501B4010F940EBE70 +:109CA0004B015C019B01AC01C301B2010F94EFBEFB +:109CB00060932A1170932B1180932C1190932D1186 +:109CC0006D817E818F8198859058A50194010F94B4 +:109CD000EFBE60932E1170932F11809330119093EB +:109CE000311169817A818B819C819058A501940101 +:109CF0000F94EFBE6093321170933311809334113F +:109D000090933511A5019401C701B6010F94EFBEE0 +:109D100060933611709337118093381190933911F5 +:109D200024C080E090E0A0E8BFE380932A119093E4 +:109D30002B11A0932C11B0932D1110922E11109273 +:109D40002F11109230111092311110923211109285 +:109D50003311109234111092351180933611909373 +:109D60003711A0933811B093391128960FB6F89493 +:109D7000DEBF0FBECDBFDF91CF911F910F91FF903E +:109D8000EF90DF90CF90BF90AF909F908F907F909B +:109D90006F905F904F9008958F929F92AF92BF9275 +:109DA000CF92DF92EF92FF920F931F9345015601DE +:109DB000E2E2F9E0FF93EF93E2E4CE2EE9E0DE2E5B +:109DC0000F9428060F900F901F910F91FF90EF9026 +:109DD000DF90CF90BF90AF909F908F900D94891C93 +:109DE0008F929F92AF92BF92CF92DF92EF92FF92AB +:109DF0000F931F9347015801E0903E09F0903F09EF +:109E00000091400910914109E2E2F9E0FF93EF93DC +:109E1000F2E4CF2EF9E0DF2E0F9428060F900F907A +:109E20001F910F91FF90EF90DF90CF90BF90AF9078 +:109E30009F908F900D94891C8F929F92AF92BF92AA +:109E4000CF92DF92EF92FF920F931F934B015C0131 +:109E5000E0903E09F0903F090091400910914109BE +:109E600020913A0930913B0940913C0950913D09BC +:109E700060913609709137098091380990913909BC +:109E8000E2E2F9E0FF93EF93A2E4CA2EA9E0DA2E12 +:109E90000F9428060F900F901F910F91FF90EF9055 +:109EA000DF90CF90BF90AF909F908F900D94891CC2 +:109EB000CF92DF92EF92FF920F931F93CF93DF9396 +:109EC00080E00F94F81CC6E3D9E0688379838A8325 +:109ED0009B8381E00F94F81CBAE3CB2EB9E0DB2E14 +:109EE000F601608371838283938382E00F94F81C70 +:109EF0007B018C0160933E0970933F098093400978 +:109F000090934109F601208131814281538168811A +:109F100079818A819B81C2E4CC2EC9E0DC2E0F942A +:109F20009811DF91CF911F910F91FF90EF90DF90EB +:109F3000CF90089582E00F94F81C60933E097093CF +:109F40003F0980934009909341098EE399E00D9475 +:109F5000EA128F929F92AF92BF92CF92DF92EF92CE +:109F6000FF920F931F936B017C0120E030E040E2F1 +:109F700052E4609162027091630280916402909158 +:109F800065020F94EFBE4B015C01A7019601609141 +:109F90003E0970913F0980914009909141090F94C9 +:109FA0000EBE7B018C0120913A0930913B09409112 +:109FB0003C0950913D0960913609709137098091B3 +:109FC000380990913909E2E2F9E0FF93EF93E2E476 +:109FD000CE2EE9E0DE2E0F9428060F94891C0F90F8 +:109FE0000F908EE399E01F910F91FF90EF90DF901B +:109FF000CF90BF90AF909F908F900D94EA12CF9228 +:10A00000DF92EF92FF92823008F041C0FB01C080E6 +:10A01000D180E280F38020E030E040E85FEBC701D0 +:10A02000B6010F94EBC087FF32C020E030E040E97A +:10A0300050ECC701B6010F94E8BE87FD23C020E0B5 +:10A0400030E040E950E4C701B6010F940FBE20E0B4 +:10A0500030E040E650E40F94EFBE6B017C019B01C1 +:10A06000AC0160E070E080E89FE30F940EBE23E354 +:10A0700033E343EB5EE30F94BDC1A70196010F9458 +:10A080000FBE09C063E373E383EB9EE304C060E0AB +:10A0900070E080E89FE3FF90EF90DF90CF9008950D +:10A0A0008F929F92AF92BF92CF92DF92EF92FF92E8 +:10A0B000FC01C080D180E280F38020E030E040E805 +:10A0C0005FEBC701B6010F94EBC087FF38C020E0FB +:10A0D00030E040E950ECC701B6010F94E8BE87FDBF +:10A0E00033C020E030E040E950E4C701B6010F94EE +:10A0F0000FBE20E030E040E650E40F94EFBE6B016D +:10A100007C019B01AC0160E070E080E89FE30F946C +:10A110000EBE20E030E0A9010F94BDC14B015C01EF +:10A120002AE939E949E95EE3C701B6010F94BDC1E7 +:10A130009B01AC01C501B4010F940FBE08C06AE9D0 +:10A1400079E989E99EE303C060E070E0CB01FF900C +:10A15000EF90DF90CF90BF90AF909F908F90089539 +:10A1600090915908911107C09091C00095FFFCCFC4 +:10A170008093C6000895913031F49091C80095FF06 +:10A18000FCCF8093CE0008952F923F924F925F9222 +:10A190006F927F928F929F92AF92BF92CF92DF92F7 +:10A1A000EF92FF920F931F93CF93DF93CDB7DEB75C +:10A1B000C05CD1090FB6F894DEBF0FBECDBFE596E7 +:10A1C0009FAF8EAFE597C056DF4F6883C05AD0402F +:10A1D000C757DF4F59834883C958D040AD963FAF2A +:10A1E0002EAFAD97AF961FAF0EAFAF976B96FFAE8A +:10A1F000EEAE6B97D7011D921D921D921C92139784 +:10A20000F7011482158216821782F4E6C156DF4FD9 +:10A21000F883CF59D040A7961CAE1DAE1EAE1FAE20 +:10A22000A7976F961CAE1DAE1EAE1FAE6F97CE01E8 +:10A23000019663969FAF8EAF6397DE01AF5BBF4F12 +:10A240006596BFAFAEAF65976F966CAD7DAD8EADC9 +:10A250009FAD6F970F94ECBEE3966CAF7DAF8EAF62 +:10A260009FAFE3976F966CAD7DAD8EAD9FAD6F9751 +:10A270000F946CC2C557DF4F688379838A839B83B1 +:10A28000CB58D040A7966CAD7DAD8EAD9FADA79756 +:10A290000F94ECBEC157DF4F688379838A839B8319 +:10A2A000CF58D040A7966CAD7DAD8EAD9FADA79732 +:10A2B0000F946CC2CD56DF4F688379838A839B836A +:10A2C000C359D04080E46396EEADFFAD6397119221 +:10A2D0008A95E9F780E16596AEADBFAD65971D92B1 +:10A2E0008A95E9F780E090E00E94425CFE01EF5B16 +:10A2F000FF4FC556DF4FF983E883CB59D040CE01DD +:10A300000196E7969FAF8EAFE79700E0CD56DF4FFF +:10A3100088819981AA81BB81C359D040B058C35864 +:10A32000DF4F88839983AA83BB83CD57D040C15721 +:10A33000DF4F88819981AA81BB81CF58D040B05826 +:10A34000CF57DF4F88839983AA83BB83C158D040FE +:10A35000C557DF4F88819981AA81BB81CB58D040F6 +:10A36000B058CB57DF4F88839983AA83BB83C558E6 +:10A37000D040A1961FAE1EAEA19710E0E5962EAC80 +:10A380003FACE59766961FAE6697C12CD12C76013F +:10A3900066969FAD6697C056DF4FA881C05AD040E1 +:10A3A0009A1709F41AC1013011F40C94B3DA113080 +:10A3B00011F40C94EADA002311F1023071F4D101A6 +:10A3C0002D913D914D915C91CB57DF4F6881798103 +:10A3D0008A819B81C558D0400DC0F101248135810F +:10A3E00046815781CF57DF4F688179818A819B8170 +:10A3F000C158D0400F94BDC14B015C0106C0812CF7 +:10A40000912CB0E8AB2EBFE3BB2E112311F112301B +:10A4100071F4D1012D913D914D915C91CB57DF4F5E +:10A42000688179818A819B81C558D0400DC0F10136 +:10A430002481358146815781CF57DF4F68817981EB +:10A440008A819B81C158D0400F94BDC19B01AC0152 +:10A4500004C020E030E040E85FE3B1016C5F7F4F73 +:10A4600066968FAD6697C354DF4F2883CD5BD0408F +:10A47000C254DF4F3883CE5BD040C154DF4F488396 +:10A48000CF5BD040C054DF4F5883C05CD040B7DDB5 +:10A490002B013C01C354DF4F2881CD5BD040C25417 +:10A4A000DF4F3881CE5BD040C154DF4F4881CF5B56 +:10A4B000D040C054DF4F5881C05CD040C501B401CA +:10A4C0000F94BDC1A30192010F94BDC19B01AC01CA +:10A4D000C701B6010F940FBE6B017C01002309F484 +:10A4E00071C0112309F46EC0023011F00C94DBDA54 +:10A4F000D1012D913D914D915C91E3966CAD7DAD77 +:10A500008EAD9FADE3970F94BDC14B015C0111303F +:10A5100011F40C94CDDA123011F00C94BEDAD101A2 +:10A520002D913D914D915C91E3966CAD7DAD8EADDD +:10A530009FADE3970F94BDC19B01AC016696FFAD43 +:10A540006697F23010F00C94D3DAC1010496C3542C +:10A55000DF4F2883CD5BD040C254DF4F3883CE5BC2 +:10A56000D040C154DF4F4883CF5BD040C054DF4F51 +:10A570005883C05CD04094DD2B013C01C354DF4FB5 +:10A580002881CD5BD040C254DF4F3881CE5BD040B4 +:10A59000C154DF4F4881CF5BD040C054DF4F58815A +:10A5A000C05CD040C501B4010F94BDC1A3019201AC +:10A5B0000F94BDC19B01AC01C701B6010F940FBE42 +:10A5C0006B017C0166962FAD66972F5F66962FAF65 +:10A5D000669788E0280E311CDBCEE796EEADFFAD26 +:10A5E000E797A1968EAD9FADA197E80FF91FC082A6 +:10A5F000D182E282F3821F5F0496A1969FAF8EAF55 +:10A60000A197409709F0BACEE5962EAC3FACE597FE +:10A61000C757DF4FA881B981C958D0406796BFAFEF +:10A62000AEAF679710E0AB961CAE1DAE1EAE1FAE70 +:10A63000AB97C056DF4F2881C05AD040121709F49B +:10A6400098C1002331F1013059F1023071F4F10168 +:10A650002081318142815381CB57DF4F68817981DD +:10A660008A819B81C558D0400FC0D10114962D918D +:10A670003D914D915C911797CF57DF4F688179815C +:10A680008A819B81C158D0400F94BDC14B015C01B0 +:10A690000AC0812C912CE0E8AE2EEFE3BE2E03C061 +:10A6A000812C912C5401F10181919191A191B19151 +:10A6B000A196FFAFEEAFA197C956DF4F888399836C +:10A6C000AA83BB83C759D0409C01AD01E3966CAD12 +:10A6D0007DAD8EAD9FADE3970F94BDC16B017C0145 +:10A6E000D10114968D919D910D90BC91A02DED9668 +:10A6F0008CAF9DAFAEAFBFAFED976796EEADFFAD40 +:10A7000067974590559065907490ED962CAD3DAD52 +:10A710004EAD5FADED97CD56DF4F688179818A816F +:10A720009B81C359D0400F94BDC19B01AC01C701AF +:10A73000B6010F940EBE6B96EEADFFAD6B97208108 +:10A740003181428153810F940FBEA30192010F9476 +:10A750000EBE9B01AC01A1966EAD7FADA197812F7E +:10A76000C354DF4F2883CD5BD040C254DF4F3883C2 +:10A77000CE5BD040C154DF4F4883CF5BD040C05444 +:10A78000DF4F5883C05CD0403ADC2B013C01C354FE +:10A79000DF4F2881CD5BD040C254DF4F3881CE5B84 +:10A7A000D040C154DF4F4881CF5BD040C054DF4F11 +:10A7B0005881C05CD040C501B4010F94BDC1A30154 +:10A7C00092010F94BDC19B01AC01AB966CAD7DAD08 +:10A7D0008EAD9FADAB970F940FBEAB966CAF7DAFB8 +:10A7E0008EAF9FAFAB970023B9F00130C9F00230B4 +:10A7F000E9F0ED962CAD3DAD4EAD5FADED97C35894 +:10A80000DF4F688179818A819B81CD57D0400F9439 +:10A81000BDC16B017C010AC0C12CD12C760106C0E0 +:10A82000C12CD12C70E8E72E7FE3F72E6796EEADB2 +:10A83000FFAD6797349685909590A590B490C956D2 +:10A84000DF4F288139814A815B81C759D040C55784 +:10A85000DF4F688179818A819B81CB58D0400F94EA +:10A86000BDC12B013C01ED962CAD3DAD4EAD5FADB4 +:10A87000ED97C157DF4F688179818A819B81CF58DD +:10A88000D0400F94BDC19B01AC01C301B2010F9434 +:10A890000FBE6B96AEADBFAD6B9714962D913D91EB +:10A8A0004D915C9117970F940FBEA50194010F94E1 +:10A8B0000EBE9B01AC01123080F5A1968EAD9FAD0E +:10A8C000A197C354DF4F2883CD5BD040C254DF4FE4 +:10A8D0003883CE5BD040C154DF4F4883CF5BD0403C +:10A8E000C054DF4F5883C05CD040DADB4B015C01C1 +:10A8F000C354DF4F2881CD5BD040C254DF4F388135 +:10A90000CE5BD040C154DF4F4881CF5BD040C054B4 +:10A91000DF4F5881C05CD04006C0812C912C60E88C +:10A92000A62E6FE3B62EC701B6010F94BDC1A501D7 +:10A9300094010F94BDC19B01AC01AB966CAD7DAD94 +:10A940008EAD9FADAB970F940FBEAB966CAF7DAF46 +:10A950008EAF9FAFAB971F5F6796EEADFFAD67976A +:10A9600038966796FFAFEEAF6797F8E02F0E311C71 +:10A9700060CEAB968CAD9DADAEADBFADAB97B058D4 +:10A98000C556DF4FE881F981CB59D040819391932F +:10A99000A193B193C556DF4FF983E883CB59D040DB +:10A9A0000F5FE7968EAD9FADE7974096E7969FAF16 +:10A9B0008EAFE797043009F0DCCC25968CAD9DADC9 +:10A9C000AEADBFAD2597A3968CAF9DAFAEAFBFAF79 +:10A9D000A3978D819E81AF81B885AB968CAF9DAFDB +:10A9E000AEAFBFAFAB9789859A85AB85BC85E39643 +:10A9F0008CAF9DAFAEAFBFAFE3978D859E85AF8522 +:10AA0000B889E9968CAF9DAFAEAFBFAFE9978981AA +:10AA10009A81AB81BC81ED968CAF9DAFAEAFBFAFDD +:10AA2000ED9729968CAD9DADAEADBFAD2997C358BE +:10AA3000DF4F88839983AA83BB83CD57D040898910 +:10AA40009A89AB89BC89CF57DF4F88839983AA83C2 +:10AA5000BB83C158D040898D9A8DAB8DBC8DCB57AF +:10AA6000DF4F88839983AA83BB83C558D0408D8DDF +:10AA70009E8DAF8DB8A1C557DF4F88839983AA8378 +:10AA8000BB83CB58D0408D899E89AF89B88DC15783 +:10AA9000DF4F88839983AA83BB83CF58D0402D96FC +:10AAA0008CAD9DADAEADBFAD2D97CD56DF4F88833C +:10AAB0009983AA83BB83C359D04089A19AA1ABA132 +:10AAC000BCA1C956DF4F88839983AA83BB83C7592A +:10AAD000D0408DA19EA1AFA1B8A5C556DF4F8883F8 +:10AAE0009983AA83BB83CB59D0408DA59EA5AFA5E2 +:10AAF000B8A9CF55DF4F88839983AA83BB83C15AF6 +:10AB0000D04089A59AA5ABA5BCA5CB55DF4F8883BE +:10AB10009983AA83BB83C55AD04061968CAD9DAD05 +:10AB2000AEADBFAD6197C755DF4F88839983AA83C8 +:10AB3000BB83C95AD04089A99AA9ABA9BCA9C3555E +:10AB4000DF4F88839983AA83BB83CD5AD0408DA9D8 +:10AB50009EA9AFA9B8ADCF54DF4F88839983AA834C +:10AB6000BB83C15BD04089AD9AADABADBCADCB541E +:10AB7000DF4F88839983AA83BB83C55BD04021962E +:10AB80008CAD9DADAEADBFAD2197C754DF4F88836F +:10AB90009983AA83BB83C95BD04014E6412C512C16 +:10ABA00032015301420173016201A3019201AB968C +:10ABB0006CAD7DAD8EAD9FADAB970F94BDC19B01CC +:10ABC000AC01A3966CAD7DAD8EAD9FADA3970F94F8 +:10ABD0000EBE2B013C01A5019401E3966CAD7DAD49 +:10ABE0008EAD9FADE3970F94BDC19B01AC01C30136 +:10ABF000B2010F940EBE2B013C01A7019601E9960C +:10AC00006CAD7DAD8EAD9FADE9970F94BDC19B013D +:10AC1000AC01C301B2010F940EBEED962CAD3DAD5B +:10AC20004EAD5FADED970F94EFBE69966CAF7DAF03 +:10AC30008EAF9FAF69979B01AC01CF57DF4F688103 +:10AC400079818A819B81C158D0400F94BDC19B01FD +:10AC5000AC01C358DF4F688179818A819B81CD57D0 +:10AC6000D0400F940EBE2B013C01A5019401CB579F +:10AC7000DF4F688179818A819B81C558D0400F94CC +:10AC8000BDC19B01AC01C301B2010F940EBE4B01CB +:10AC90005C01A7019601C557DF4F688179818A81E0 +:10ACA0009B81CB58D0400F94BDC19B01AC01C50125 +:10ACB000B4010F940EBEC157DF4F288139814A81FC +:10ACC0005B81CF58D0400F94EFBE2B013C016996B9 +:10ACD0002CAD3DAD4EAD5FAD6997C956DF4F688174 +:10ACE00079818A819B81C759D0400F94BDC19B0156 +:10ACF000AC01CD56DF4F688179818A819B81C35930 +:10AD0000D0400F940EBE4B015C01A3019201C556C9 +:10AD1000DF4F688179818A819B81CB59D0400F9424 +:10AD2000BDC19B01AC01C501B4010F940EBE4B0126 +:10AD30005C01A7019601CF55DF4F688179818A8137 +:10AD40009B81C15AD0400F94BDC19B01AC01C5018C +:10AD5000B4010F940EBECB55DF4F288139814A8153 +:10AD60005B81C55AD0400F94EFBE4B015C016996E0 +:10AD70002CAD3DAD4EAD5FAD6997C355DF4F6881DA +:10AD800079818A819B81CD5AD0400F94BDC19B01AE +:10AD9000AC01C755DF4F688179818A819B81C95A8F +:10ADA000D0400F940EBE6B017C01A3019201CF54E1 +:10ADB000DF4F688179818A819B81C15BD0400F948C +:10ADC000BDC19B01AC01C701B6010F940EBE6B0162 +:10ADD0007C01A5019401CB54DF4F688179818A8180 +:10ADE0009B81C55BD0400F94BDC19B01AC01C701E5 +:10ADF000B6010F940EBEC754DF4F288139814A81B6 +:10AE00005B81C95BD0400F94EFBE6B017C01115098 +:10AE100009F0CBCE69962CAD3DAD4EAD5FAD6997D7 +:10AE20006B96AEADBFAD6B976D917D918D919C9101 +:10AE30000F940FBE6B96EEADFFAD6B976083718381 +:10AE400082839383A30192016481758186819781B6 +:10AE50000F940FBE6B96AEADBFAD6B9714966D930E +:10AE60007D938D939C931797A50194016F966CAD7C +:10AE70007DAD8EAD9FAD6F970F940FBE6F966CAF8B +:10AE80007DAF8EAF9FAF6F97A7019601A7966CAD70 +:10AE90007DAD8EAD9FADA7970F940FBEA7966CAFFB +:10AEA0007DAF8EAF9FAFA797C156DF4FB881CF5907 +:10AEB000D040B150C156DF4FB883CF59D040B11107 +:10AEC000C3C96F966CAD7DAD8EAD9FAD6F970F947E +:10AED000ECBEAD96EEADFFADAD976083718382831E +:10AEE00093836F966CAD7DAD8EAD9FAD6F970F94D4 +:10AEF0006CC2AD96AEADBFADAD9714966D937D931C +:10AF00008D939C931797A7966CAD7DAD8EAD9FAD3D +:10AF1000A7970F946CC2DC01CB01B058AF96EEAD91 +:10AF2000FFADAF9780839183A283B383A7966CAD67 +:10AF30007DAD8EAD9FADA7970F94ECBEAF96AEAD35 +:10AF4000BFADAF9714966D937D938D939C93179798 +:10AF50006F962CAD3DAD4EAD5FAD6F97A7966CADC6 +:10AF60007DAD8EAD9FADA7970F940EBE6B017C019A +:10AF7000E894F7F8B701A60180E69FE00F9447CB6D +:10AF80002FE132E449E05BE3C701B6010F94EBC067 +:10AF900018166CF425E33AEF4EE85BE3C701B601FF +:10AFA0000F94EBC0181634F402E010E005C000E086 +:10AFB00010E002C001E010E025E33AEF4EE85BE369 +:10AFC0006F966CAD7DAD8EAD9FAD6F979F770F94F3 +:10AFD000EBC018167CF025E33AEF4EE85BE3A7964A +:10AFE0006CAD7DAD8EAD9FADA7979F770F94EBC0F5 +:10AFF000181614F402E010E0C757DF4F288039809C +:10B00000C958D040E596EEADFFADE597A196FFAFEC +:10B01000EEAFA19766961FAE66976696AFAD669740 +:10B02000C056DF4FB881C05AD040AB1709F4EEC00C +:10B03000A1968EAD9FADA197DC018D909D90AD90B6 +:10B04000BD90A996BFAFAEAFA997DC0114968D91C4 +:10B050009D910D90BC91A02DE3968CAF9DAFAEAFAE +:10B06000BFAFE397F101C590D590E590F490AD9610 +:10B07000EEADFFADAD972081318142815381C50195 +:10B08000B4010F94BDC12B013C01AF96AEADBFAD75 +:10B09000AF972D913D914D915C91E3966CAD7DAD57 +:10B0A0008EAD9FADE3970F94BDC19B01AC01C30171 +:10B0B000B2010F940FBE6B96EEADFFAD6B97208182 +:10B0C0003181428153810F940FBE9B01AC01C701B6 +:10B0D000B6010F940EBE9B01AC010F94BDC16B0174 +:10B0E0007C01F10134964590559065907490AD9631 +:10B0F000AEADBFADAD9714962D913D914D915C9144 +:10B100001797C501B4010F94BDC14B015C01AF9607 +:10B11000EEADFFADAF972481358146815781E3962F +:10B120006CAD7DAD8EAD9FADE3970F94BDC19B011E +:10B13000AC01C501B4010F940FBE6B96AEADBFADAF +:10B140006B9714962D913D914D915C9117970F94AB +:10B150000FBE9B01AC01C301B2010F940EBE9B0157 +:10B16000AC010F94BDC14B015C019B01AC01C70157 +:10B17000B6010F940FBE0F9476C26696BFAD669768 +:10B18000B23030F5A9968EAD9FADA9970E9450D0F0 +:10B190002B013C01C701B6010F9476C22DEC3CECAB +:10B1A0004CE45FE30F94EBC01816D4F020E030E0DD +:10B1B000A901C301B2010F94E8BE882399F0C5012B +:10B1C000B4010F9476C220E030E040EC5FE304C0AD +:10B1D0002DEC3CEC4CE45FE30F94EBC0181614F438 +:10B1E0000EEF1FEF6696EFAD6697EF5F6696EFAFD7 +:10B1F0006697A1968EAD9FADA1970896A1969FAF39 +:10B200008EAFA19798E0290E311C07CF01151105CB +:10B2100009F0E5C1A7962CAD3DAD4EAD5FADA7974A +:10B220006F966CAD7DAD8EAD9FAD6F970F940FBED9 +:10B2300020E030E040E05FE30F94BDC14B015C01D2 +:10B240000F94ECBE6B017C01AD96EEADFFADAD97FA +:10B250006083718382839383C501B4010F946CC2B0 +:10B26000AD96AEADBFADAD9714966D937D938D93B6 +:10B270009C931797DC01CB01B058AF96EEADFFADB4 +:10B28000AF9780839183A283B383C482D582E68201 +:10B29000F7826B96EEADFFAD6B9710821182128232 +:10B2A000138214821582168217826C961FAE6C97D9 +:10B2B000A3961CAE1DAE1EAE1FAEA397A7961CAEE6 +:10B2C0001DAE1EAE1FAEA7976696FFAD6697EF2F19 +:10B2D000F0E0A996FFAFEEAFA9976C962FAD6C97F3 +:10B2E000222E332427FC3094A9968EAD9FADA997CA +:10B2F000281639060CF008C193E0220C331C9A95ED +:10B30000E1F7E596EEADFFADE597E20DF31D808028 +:10B310009180A280B380C101049667969FAF8EAFE3 +:10B320006797E596EEADFFADE597E80FF91FC08092 +:10B33000D180E280F380AD96AEADBFADAD972D91DB +:10B340003D914D915C91C501B4010F94BDC12B019C +:10B350003C01AF96EEADFFADAF97208131814281C8 +:10B360005381C701B6010F94BDC19B01AC01C3015C +:10B37000B2010F940FBE2B013C01AD96AEADBFAD37 +:10B38000AD9714962D913D914D915C911797C50104 +:10B39000B4010F94BDC14B015C01AF96EEADFFADA2 +:10B3A000AF972481358146815781C701B6010F943B +:10B3B000BDC19B01AC01C501B4010F940FBE6B016F +:10B3C0007C0169837A838B839C83BE016F5F7F4F8F +:10B3D0006C968FAD6C970E94FFCF4B015C01C757F5 +:10B3E000DF4F88819981C958D040280E391EF1015C +:10B3F0006591759185919491A30192010F940EBE70 +:10B400009B01AC01C501B4010F94BDC19B01AC010E +:10B410006B96AEADBFAD6B976D917D918D919C910B +:10B420000F940FBE6B96EEADFFAD6B97608371838B +:10B4300082839383A5019401A7966CAD7DAD8EADFB +:10B440009FADA7970F940FBEA7966CAF7DAF8EAF41 +:10B450009FAFA7976C968FAD6C97823038F4CE0172 +:10B4600001960E9450D04B015C0106C0812C912CAA +:10B4700080E8A82E8FE3B82EC757DF4FE881F98107 +:10B48000C958D04067968EAD9FAD6797E80FF91FFA +:10B490006591759185919491A70196010F940EBEC7 +:10B4A0009B01AC01C501B4010F94BDC19B01AC016E +:10B4B0006B96AEADBFAD6B9714966D917D918D91EE +:10B4C0009C9117970F940FBE6B96EEADFFAD6B97E7 +:10B4D0006483758386839783A5019401A3966CADDD +:10B4E0007DAD8EAD9FADA3970F940FBEA3966CAFAD +:10B4F0007DAF8EAF9FAFA3976C96FFAD6C97FF5F4C +:10B500006C96FFAF6C97E9CEA7962CAD3DAD4EADD6 +:10B510005FADA7976B96AEADBFAD6B976D917D910B +:10B520008D919C910F94EFBE6B96EEADFFAD6B9736 +:10B530006083718382839383A3962CAD3DAD4EAD22 +:10B540005FADA39764817581868197810F94EFBE6B +:10B550006B96AEADBFAD6B9714966D937D938D9347 +:10B560009C9317973CC0112309F42CC8812C912C73 +:10B57000A0E8AA2EAFE3BA2E0C9487D2F101248161 +:10B58000358146815781C358DF4F688179818A812F +:10B590009B81CD57D0400C949AD220E030E040E817 +:10B5A0005FE30C949ED2412C512CF0E86F2EFFE308 +:10B5B0007F2E0C94D2D2F1012481358146815781AE +:10B5C000C358DF4F688179818A819B81CD57D040F4 +:10B5D0000C9483D201110C9474D20C94E2D2AD96E7 +:10B5E000AEADBFADAD978D919D910D90BC91A02D4D +:10B5F0006F968CAF9DAFAEAFBFAF6F97AF96EEAD0E +:10B60000FFADAF9784809580A680B780AD96AEAD34 +:10B61000BFADAD9714968D919D910D90BC91A02DCD +:10B62000A7968CAF9DAFAEAFBFAFA797808191813A +:10B63000A281B38169968CAF9DAFAEAFBFAF699762 +:10B64000A50194016F966CAD7DAD8EAD9FAD6F97EA +:10B650000F94BDC16B017C0169962CAD3DAD4EAD23 +:10B660005FAD6997A7966CAD7DAD8EAD9FADA79789 +:10B670000F94BDC19B01AC01C701B6010F940EBE72 +:10B680006B017C019B01AC01C501B4010F94EFBEBD +:10B690002B013C0169966CAD7DAD8EAD9FAD699778 +:10B6A0009058A70196010F94EFBE4B015C01A7963D +:10B6B0006CAD7DAD8EAD9FADA7979058A70196015B +:10B6C0000F94EFBE69966CAF7DAF8EAF9FAF699759 +:10B6D000A70196016F966CAD7DAD8EAD9FAD6F9756 +:10B6E0000F94EFBE6B017C016B96AEADBFAD6B9757 +:10B6F0008D919D910D90BC91A02D6F968CAF9DAFBB +:10B70000AEAFBFAF6F976B96AEADBFAD6B971496F4 +:10B710008D919D910D90BC91A02DA7968CAF9DAF62 +:10B72000AEAFBFAFA797AD96EEADFFADAD97408280 +:10B7300051826282738269968CAD9DADAEADBFAD14 +:10B74000699784839583A683B783AF96AEADBFAD6B +:10B75000AF978D929D92AD92BC921397FD01C482DA +:10B76000D582E682F782C301B20190586F962CAD64 +:10B770003DAD4EAD5FAD6F970F94BDC12B013C0148 +:10B78000A7962CAD3DAD4EAD5FADA797C501B401F9 +:10B790000F94BDC19B01AC01C301B2010F940EBE59 +:10B7A0006B96AEADBFAD6B976D937D938D939C9370 +:10B7B000139769966CAD7DAD8EAD9FAD699790582E +:10B7C0006F962CAD3DAD4EAD5FAD6F970F94BDC183 +:10B7D0004B015C01A7962CAD3DAD4EAD5FADA7977B +:10B7E000C701B6010F94BDC19B01AC01C501B401F5 +:10B7F0000F940EBE6B96EEADFFAD6B9764837583B1 +:10B8000086839783C801C054DF4F0FB6F894DEBF1C +:10B810000FBECDBFDF91CF911F910F91FF90EF90A1 +:10B82000DF90CF90BF90AF909F908F907F906F9060 +:10B830005F904F903F902F9008954FEF5FEFBA01C8 +:10B8400085EE9FE00F9447CB4FEF5FEFBA0189EE93 +:10B850009FE00F9447CB4FEF5FEFBA018DED9FE074 +:10B860000F9447CB4FEF5FEFBA0181EE9FE00F944B +:10B8700047CB4FEF5FEFBA0185ED9FE00F9447CBC9 +:10B880004FEF5FEFBA0189ED9FE00F9447CB4FEF89 +:10B890005FEFBA0185EC9FE00F9447CB4FEF5FEF6E +:10B8A000BA0189EC9FE00F9447CB4FEF5FEFBA01ED +:10B8B0008DEC9FE00F9447CB4FEF5FEFBA0181ED26 +:10B8C0009FE00D9447CBCF93DF93C5ECDFE0CE0133 +:10B8D0000F9430CB019639F02296C53D8FE0D80702 +:10B8E000B1F781E001C080E0DF91CF910895CF935F +:10B8F000DF93CDB7DEB768970FB6F894DEBF0FBE03 +:10B90000CDBF80E090E0A0E8BFE3898B9A8BAB8B42 +:10B91000BC8B1D8A1E8A1F8A188E19861A861B8662 +:10B920001C868D879E87AF87B88B19821A821B82EF +:10B930001C821D821E821F821886AE014F5F5F4FE0 +:10B94000BE01675F7F4FCE0141960E9481CD689610 +:10B950000FB6F894DEBF0FBECDBFDF91CF91089533 +:10B96000CF93DF93CDB7DEB768970FB6F894DEBFFD +:10B970000FBECDBF80914A118823F1F180E090E0A5 +:10B98000A0E8BFE3898B9A8BAB8BBC8B1D8A1E8A88 +:10B990001F8A188E19861A861B861C868D879E879D +:10B9A000AF87B88B19821A821B821C821D821E826D +:10B9B0001F821886AE014F5F5F4FBE01675F7F4FEA +:10B9C000CE0141960E9481CD0F94891C80E00F9496 +:10B9D000F81C609336097093370980933809909367 +:10B9E000390981E00F94F81C60933A0970933B0980 +:10B9F00080933C0990933D0968960FB6F894DEBF9A +:10BA00000FBECDBFDF91CF9108954F925F926F929D +:10BA10007F928F929F92AF92BF92CF92DF92EF92DE +:10BA2000FF921F93CF93DF93CDB7DEB7A8970FB6E2 +:10BA3000F894DEBF0FBECDBF85EE9FE00F942BCBF9 +:10BA400069A37AA38BA39CA3698B7A8B8B8B9C8B2A +:10BA500089EE9FE00F942BCB6DA37EA38FA398A7B5 +:10BA60006D8B7E8B8F8B988F8DED9FE00F942BCB02 +:10BA70006B017C0169877A878B879C8781EE9FE0C9 +:10BA80000F942BCB4B015C016D877E878F87988B42 +:10BA900085ED9FE00F942BCB698F7A8F8B8F9C8FD6 +:10BAA00069837A838B839C8389ED9FE00F942BCBF2 +:10BAB0006D8F7E8F8F8F98A36D837E838F83988702 +:10BAC00089A19AA1ABA1BCA18F3F9F4FAF4FBF4FA0 +:10BAD000A9F08DA19EA1AFA1B8A58F3F9F4FAF4FF9 +:10BAE000BF4F61F08FEFC816D806E806F80631F0B0 +:10BAF0008FEF88169806A806B80619F49EDEF7DEC2 +:10BB0000C0C0898D9A8DAB8DBC8D8F3F9F4FAF4F3D +:10BB1000BF4FA1F38D8D9E8DAF8DB8A18F3F9F4FED +:10BB2000AF4FBF4F59F3A7019601C701B6010F945C +:10BB3000BDC12B013C01A5019401C501B4010F94C5 +:10BB4000BDC19B01AC01C301B2010F940FBE0F94A4 +:10BB500076C22B013C0126E636E646E65FE30F940B +:10BB6000E8BE87FD0DC011E02DEC3CEC4CE85FE336 +:10BB7000C301B2010F94EBC018161CF010E001C015 +:10BB800011E0298D3A8D4B8D5C8DCA01B9010F945E +:10BB9000BDC12B013C012D8D3E8D4F8D58A1CA0199 +:10BBA000B9010F94BDC19B01AC01C301B2010F9457 +:10BBB0000FBE0F9476C22B013C0126E636E646E620 +:10BBC0005FE30F94E8BE87FD0AC02DEC3CEC4CE827 +:10BBD0005FE3C301B2010F94EBC018160CF411E03F +:10BBE00029A13AA14BA15CA1CA01B9010F94BDC121 +:10BBF0002B013C012DA13EA14FA158A5CA01B901BD +:10BC00000F94BDC19B01AC01C301B2010F940FBEE3 +:10BC10000F9476C220E030E040E751E40F94EBC08F +:10BC200018160CF411E0298D3A8D4B8D5C8DC701EF +:10BC3000B6010F94BDC16B017C012D8D3E8D4F8DE2 +:10BC400058A1C501B4010F94BDC19B01AC01C7014E +:10BC5000B6010F940FBE9F772DEC3CEC4CEC5DE3EE +:10BC60000F94EBC018160CF449CF111147CFAE0159 +:10BC70004F5E5F4FBE016F5F7F4FCE0109960E94FE +:10BC800081CDA8960FB6F894DEBF0FBECDBFDF9171 +:10BC9000CF911F91FF90EF90DF90CF90BF90AF902A +:10BCA0009F908F907F906F905F904F9008954F92EC +:10BCB0005F926F927F928F929F92AF92BF92CF923C +:10BCC000DF92EF92FF920F931F93CF93DF93C6E320 +:10BCD000D9E02091221130912311409124115091EB +:10BCE0002511688179818A819B810F940EBE4B0159 +:10BCF0005C010AE319E0209126113091271140914F +:10BD0000281150912911F8016081718182819381FC +:10BD10000F940EBE6B017C0120912A1130912B11E2 +:10BD200040912C1150912D11C501B4010F94BDC14A +:10BD30002B013C0120912E1130912F114091301197 +:10BD400050913111C701B6010F94BDC19B01AC01E7 +:10BD5000C301B2010F940FBE688379838A839B83EA +:10BD6000209132113091331140913411509135119D +:10BD7000C501B4010F94BDC14B015C012091361186 +:10BD8000309137114091381150913911C701B601E6 +:10BD90000F94BDC19B01AC01C501B4010F940FBE4E +:10BDA000F8016083718382839383DF91CF911F9128 +:10BDB0000F91FF90EF90DF90CF90BF90AF909F904A +:10BDC0008F907F906F905F904F9008957F928F92A9 +:10BDD0009F92AF92BF92CF92DF92EF92FF920F931A +:10BDE0001F93CF93DF934B015C01742E81E00F947E +:10BDF000CD14182F80E00F94D314D82F0F94C814AB +:10BE000080923E0990923F09A0924009B092410968 +:10BE100020E030E040E752E46091620270916302FA +:10BE200080916402909165020F94EFBE0E941CCF36 +:10BE30000E949ACF0F94C814C82F882309F481C098 +:10BE400000E0C12CD12C7601071509F454C020E084 +:10BE500030E040E05FE360913E0970913F098091DE +:10BE60004009909141090F940FBE60933E09709371 +:10BE70003F09809340099093410920E030E040E77A +:10BE800052E4609162027091630280916402909129 +:10BE900065020F94EFBE0E941CCF80923E099092E3 +:10BEA0003F09A0924009B092410920E030E040E70C +:10BEB00053E46091620270916302809164029091F8 +:10BEC00065020F94EFBE0E941CCF0E949ACF0F9480 +:10BED000C8148823B1F120913E0930913F09409167 +:10BEE000400950914109C701B6010F940FBE6B0183 +:10BEF0007C010F5FA9CF023048F4C0923E09D09276 +:10BF00003F09E0924009F092410914C0602F70E0AF +:10BF100080E090E00F9488BF9B01AC01C701B6019F +:10BF20000F94EFBE60933E0970933F0980934009E0 +:10BF300090934109812F0F94CD148D2F0F94D3141A +:10BF400007C0812F0F94CD148D2F0F94D314C0E010 +:10BF50008C2FDF91CF911F910F91FF90EF90DF9089 +:10BF6000CF90BF90AF909F908F907F9008952F9229 +:10BF70003F924F925F926F927F928F929F92AF9279 +:10BF8000BF92CF92DF92EF92FF920F931F93CF93C6 +:10BF9000DF93CDB7DEB7A3970FB6F894DEBF0FBE21 +:10BFA000CDBF20E030E040E752E460915A0270914A +:10BFB0005B0280915C0290915D020F94EFBE2B01B9 +:10BFC0003C01C0903609D0903709E0903809F090D4 +:10BFD000390920E030E040E051E4C701B6010F9498 +:10BFE0000EBE69837A831C0120E030E040E051E41A +:10BFF000C701B6010F940FBE6F83788789879A8730 +:10C0000080903A0990903B09A0903C09B0903D097E +:10C0100020E030E040EC50E4C501B4010F940EBEC6 +:10C020006B837C838D839E8320E030E040EC50E482 +:10C03000C501B4010F940FBE6B877C878D879E87E7 +:10C0400020E030E0A90169817A81C1010F94E8BE46 +:10C0500087FF04C019821A82212C312C20E030E0A5 +:10C060004FE753E46F81788589859A850F94EBC0FB +:10C07000181634F41F8218862FE7298733E43A878D +:10C0800020E030E040E850EC6B817C818D819E8126 +:10C090000F94E8BE87FF08C080E090E0A0E8B0EC15 +:10C0A0008B839C83AD83BE8320E030E042E553E484 +:10C0B0006B857C858D859E850F94EBC0181644F4A6 +:10C0C00020E030E042E553E42B873C874D875E87D4 +:10C0D0002B813C814D815E816B857C858D859E8524 +:10C0E0000F940EBE6B8B7C8B8D8B9E8B0F94D5BE6D +:10C0F0000F9457BF4B016F8B80E00F94CD14E090ED +:10C100003E09F0903F0900914009109141096301F7 +:10C1100052012B813C814D815E8169817A81C1010F +:10C120000E94CCCE0F94B51481E00F94D31431E06B +:10C1300038A39F89892F90E0A0E0B0E08F87988B8B +:10C14000A98BBA8BC401992701979C01442737FD1D +:10C150004095542F288F398F4A8F5B8F20E030E035 +:10C1600040E251EC60913E0970913F098091400995 +:10C17000909141090F94EBC0181674F48B819C8147 +:10C18000AD81BE8180933A0990933B09A0933C090D +:10C19000B0933D091BA27AC00E9458CF1F86C401EC +:10C1A000992701979C01442737FD4095542F288FEC +:10C1B000398F4A8F5B8FA7C16F85788989899A8962 +:10C1C0000F9488BF9B01AC016DEC7CEC8CE49EE38A +:10C1D0000F94EFBE9B01AC0160913E0970913F0945 +:10C1E00080914009909141090F940EBE60933E09E1 +:10C1F00070933F09809340099093410920913A0937 +:10C2000030913B0940913C0950913D09A8A1AA23D6 +:10C2100009F442C0BF81A885E985E9A3FA856301D5 +:10C2200052017B018C016B2F7A2F89A19F2F0E94D5 +:10C23000CCCEF8A121E0F227F8A30F94C814811105 +:10C24000ABCF688D798D8A8D9B8D0F948ABF9B01B2 +:10C25000AC016B897C898D899E890F94EFBE9B010F +:10C26000AC0160913A0970913B0980913C09909131 +:10C270003D090F940FBE60933A0970933B09809378 +:10C280003C0990933D093BA13F5F3BA34BA15F89D4 +:10C29000451708F491CF05C0B981AA8129A2F32DD1 +:10C2A000BECF1BA24BA15F89451708F057CF6F8502 +:10C2B000788989899A890F9488BF9B01AC016DECBC +:10C2C0007CEC8CE49EE30F94EFBE9B01AC0160918B +:10C2D0003E0970913F0980914009909141090F9466 +:10C2E0000EBE60933E0970933F098093400990937E +:10C2F000410920913A0930913B0940913C09509104 +:10C300003D09A8A1AA2331F0BF81A885E985E9A349 +:10C31000FA8504C0B981AA8129A2F32D63015201D3 +:10C320007B018C016B2F7A2F89A19F2F0E94CCCE8D +:10C33000F8A121E0F227F8A30F94C81481112CCFA3 +:10C34000688D798D8A8D9B8D0F948ABF9B01AC017E +:10C350006B897C898D899E890F94EFBE9B01AC010E +:10C3600060913A0970913B0980913C0990913D0997 +:10C370000F940EBE60933A0970933B0980933C0979 +:10C3800090933D093BA13F5F3BA38CCF20913A099D +:10C3900030913B0940913C0950913D09AA2009F494 +:10C3A000D2C0BF81A885C984BA84830172016B2F72 +:10C3B0007A2F8C2D9B2D0E94F0CE0F94C8148111E2 +:10C3C000C7C0688D798D8A8D9B8D0F948ABF9B0124 +:10C3D000AC016B897C898D899E890F94EFBE9B018E +:10C3E000AC0160913A0970913B0980913C099091B0 +:10C3F0003D090F940FBE60933A0970933B098093F7 +:10C400003C0990933D09D39431E0A3264F89D4167B +:10C4100008F4BCCFD12C0E9458CFDD2079F1809058 +:10C420003A0990903B09A0903C09B0903D0980E00A +:10C430000F94D3148B859C85AD85BE8580933A0976 +:10C4400090933B09A0933C09B0933D09830172018D +:10C450009C01AD0169817A81C1010E94F0CE81E029 +:10C460000F94D31491E09AA3C12CFF89CF1608F43E +:10C4700072C0D12C0E9458CFD110B3C02F852F5F2E +:10C480002F87233009F4DCC18F858823E1F12AE06E +:10C4900037ED43EA5CE360913E0970913F0980917A +:10C4A0004009909141090F940EBE60933E0970932C +:10C4B0003F09809340099093410920E030E040E734 +:10C4C00052E46091620270916302809164029091E3 +:10C4D00065020F94EFBE5B016C0120913A09309127 +:10C4E0003B0940913C0950913D096091360970919A +:10C4F00037098091380990913909E12CF12C00EA33 +:10C5000010E40E94CCCE80E00F94CD1480E00F9414 +:10C51000D3142B813C814D815E8120933A09309365 +:10C520003B0940933C0950933D09830172016981A5 +:10C530007A81C1010E94F0CE81E00F94D314AA2425 +:10C54000A394D12C63CFB981AA81C22CB32C2DCF57 +:10C55000DD24D39460CF20913A0930913B0940917A +:10C560003C0950913D09AAA1AA2329F0BF81A885C1 +:10C57000E985FA8503C0B981AA81F10183017201BD +:10C580006B2F7A2FCF010E94F0CE0F94C814811127 +:10C5900071CF688D798D8A8D9B8D0F948ABF9B0199 +:10C5A000AC016B897C898D899E890F94EFBE9B01BC +:10C5B000AC0160913A0970913B0980913C099091DE +:10C5C0003D090F940EBE60933A0970933B09809326 +:10C5D0003C0990933D09C394BAA1E1E0BE27BAA3F8 +:10C5E00044CF20913A0930913B0940913C09509148 +:10C5F0003D09C501B4010F940FBE20E030E040E0DA +:10C600005FE30F94BDC160933A0970933B09809337 +:10C610003C0990933D0980E00F94D31420913A098E +:10C6200030913B0940913C0950913D0983017201D1 +:10C6300069817A81C1010E94F0CE81E00F94D31408 +:10C6400020913A0930913B0940913C0950913D09B4 +:10C650006F81788589859A850E94F0CE0E9458CF97 +:10C660000F94C814882309F409CF8090360990905C +:10C670003709A0903809B090390980E00F94D3149D +:10C6800020913A0930913B0940913C0950913D0974 +:10C690006F81788589859A850E94F0CE81E00F941C +:10C6A000D31420913A0930913B0940913C095091B3 +:10C6B0003D0969817A81C1010E94F0CE0E9458CF64 +:10C6C0000F94C814882309F4D9CE209136093091EB +:10C6D0003709409138095091390980E02C8F3D8FFE +:10C6E0004E8F5F8F0F94D3142C8D3D8D4E8D5F8DAB +:10C6F000C501B4010F940FBE20E030E040E05FE3DD +:10C700000F94BDC16093360970933709809338093F +:10C710009093390920913A0930913B0940913C09A5 +:10C7200050913D090E94F0CE80E00F94D3146091A7 +:10C7300036097091370980913809909139092B8118 +:10C740003C814D815E810E94F0CE81E00F94D31434 +:10C7500060913609709137098091380990913909B3 +:10C760002B853C854D855E850E94F0CE0E9458CF7A +:10C770000F94C814882309F481CE80903A099090D0 +:10C780003B09A0903C09B0903D0980E00F94D31480 +:10C790006091360970913709809138099091390973 +:10C7A0002B853C854D855E850E94F0CE81E00F94FF +:10C7B000D3146091360970913709809138099091AE +:10C7C00039092B813C814D815E810E94F0CE0E940F +:10C7D00058CF0F94C814882309F450CE20913A09F9 +:10C7E00030913B0940913C0950913D0980E02C8FEC +:10C7F0003D8F4E8F5F8F0F94D3142C8D3D8D4E8DBA +:10C800005F8DC501B4010F940FBE20E030E040E021 +:10C810005FE30F94BDC19B01AC0160933A09709333 +:10C820003B0980933C0990933D09609136097091D2 +:10C83000370980913809909139090E94F0CE01C0E2 +:10C84000D12C80E00F94D3148D2DA3960FB6F894BD +:10C85000DEBF0FBECDBFDF91CF911F910F91FF9033 +:10C86000EF90DF90CF90BF90AF909F908F907F9090 +:10C870006F905F904F903F902F9008952F923F922E +:10C880004F925F926F927F928F929F92AF92BF92E0 +:10C89000CF92DF92EF92FF920F931F93CF93DF938C +:10C8A000CDB7DEB769970FB6F894DEBF0FBECDBF28 +:10C8B00080E00F94CD14898F80E00F94D314382E2C +:10C8C00020E030E040E752E460915A0270915B0250 +:10C8D00080915C0290915D020F94EFBE698B7A8B20 +:10C8E0008B8B9C8B409036095090370960903809AB +:10C8F0007090390980903A0990903B09A0903C09CA +:10C90000B0903D09212C19861A861B861C861D8233 +:10C910001E821F82188681E02816B9F0281660F062 +:10C9200092E029122CC024EF3DEF44EB50E4C30108 +:10C93000B2010F940FBE12C024EF3DEF44EB50E460 +:10C94000C301B2010F940EBE09C024EF3DEF44EBCA +:10C9500050E4C301B2010F940FBE19C060930109E6 +:10C9600070930209809303099093040924EF3DEF2B +:10C9700044EB50E4C501B4010F940EBE18C024EF7F +:10C980003DEF44EB50E4C301B2010F940EBE60933F +:10C99000010970930209809303099093040924EF1D +:10C9A0003DEF44EB50E4C501B4010F940FBE60931A +:10C9B00005097093060980930709909308098091EF +:10C9C000010990910209A0910309B09104098D8B8E +:10C9D0009E8BAF8BB88FA3019201BC01CD010F9448 +:10C9E0000EBE6D877E878F87988BA501940160911D +:10C9F00005097091060980910709909108090F9423 +:10CA00000EBE69837A838B839C832D853E854F85FB +:10CA10005889CA01B9010F94BDC16B017C012981FC +:10CA20003A814B815C81CA01B9010F94BDC19B0160 +:10CA3000AC01C701B6010F940FBE0F9476C26B0113 +:10CA40007C0120E030E0A9016D897E898F89988D75 +:10CA50000F94E8BE87FF0FC01092010910920209DF +:10CA60001092030910920409A70196016D817E813D +:10CA70008F81988522C020E030E04FE753E46D8934 +:10CA80007E898F89988D0F94EBC0181664F580E02D +:10CA900090E0AFE7B3E48093010990930209A0937B +:10CAA0000309B09304092D813E814F815885BC0153 +:10CAB000CD010F940EBEA70196010F94EFBE298100 +:10CAC0003A814B815C810F94BDC19B01AC01C501D2 +:10CAD000B4010F940FBE609305097093060980930B +:10CAE0000709909308098091050990910609A09182 +:10CAF0000709B091080989839A83AB83BC8320E03E +:10CB000030E040E850ECBC01CD010F94E8BE87FF57 +:10CB100027C020E030E040E850E469857A858B85C5 +:10CB20009C850F940FBEA70196010F94EFBE2D8533 +:10CB30003E854F8558890F94BDC19B01AC01C3014F +:10CB4000B2010F940FBE60930109709302098093A4 +:10CB500003099093040980E090E0A0E8B0EC32C0B3 +:10CB600020E030E042E553E469817A818B819C8149 +:10CB70000F94EBC0181674F529853A854B855C85B2 +:10CB800060E070E082E593E40F940EBEA701960189 +:10CB90000F94EFBE2D853E854F8558890F94BDC1FA +:10CBA0009B01AC01C301B2010F940FBE6093010958 +:10CBB00070930209809303099093040980E090E048 +:10CBC000A2E5B3E48093050990930609A0930709B1 +:10CBD000B093080980E00F94CD142091050930919D +:10CBE0000609409107095091080960910109709167 +:10CBF00002098091030990910409E988FA880B8958 +:10CC00001C890E94F0CE81E00F94CD14E988FA8847 +:10CC10000B891C89A5019401C301B2010E94F0CEC9 +:10CC20000E9458CF20913609309137094091380938 +:10CC3000509139096D817E818F8198850F940FBE47 +:10CC40006D837E838F83988720913A0930913B09C9 +:10CC500040913C0950913D0969857A858B859C8579 +:10CC60000F940FBE69877A878B879C87239494E003 +:10CC7000291251CE20E030E040E85EE36D817E81F4 +:10CC80008F8198850F94BDC16093360970933709E1 +:10CC9000809338099093390920E030E040E85EE362 +:10CCA00069857A858B859C850F94BDC160933A090F +:10CCB00070933B0980933C0990933D0980E00F9469 +:10CCC000CD1420913A0930913B0940913C09509193 +:10CCD0003D0960913609709137098091380990912A +:10CCE0003909E988FA880B891C890E94F0CE898D60 +:10CCF0000F94CD14832D0F94D31480E069960FB652 +:10CD0000F894DEBF0FBECDBFDF91CF911F910F9181 +:10CD1000FF90EF90DF90CF90BF90AF909F908F905B +:10CD20007F906F905F904F903F902F9008953F922B +:10CD30004F925F926F927F928F929F92AF92BF922B +:10CD4000CF92DF92EF92FF920F931F93CF93DF93D7 +:10CD5000CDB7DEB72C970FB6F894DEBF0FBECDBFB0 +:10CD6000D82E8091360990913709A0913809B09159 +:10CD7000390989839A83AB83BC8380913A09909166 +:10CD80003B09A0913C09B0913D098D839E83AF83FF +:10CD9000B88780E00F94CD1420E030E040E051E40B +:10CDA00069817A818B819C810F940EBE4B015C015D +:10CDB00020E030E040E051E469817A818B819C8100 +:10CDC0000F940FBE2B013C0120E030E0A901C5010A +:10CDD000B4010F94E8BE87FF03C0812C912C54014D +:10CDE00020E030E04FE753E4C301B2010F94EBC001 +:10CDF000181634F4412C512CAFE76A2EA3E47A2E96 +:10CE000080E00F94D31420E030E040E752E46091DA +:10CE10005A0270915B0280915C0290915D020F94C6 +:10CE2000EFBE20913A0930913B0940913C09509165 +:10CE30003D097B018C01C501B4010E94F0CE81E067 +:10CE40000F94D31420E030E040E752E460915A029E +:10CE500070915B0280915C0290915D020F94EFBE35 +:10CE600020913A0930913B0940913C0950913D098C +:10CE70007B018C01C301B2010E94F0CE0E9458CF09 +:10CE80000F94C814882309F474C0809136099091D6 +:10CE90003709A0913809B091390989879A87AB87FA +:10CEA000BC8780E00F94D31420E030E040E752E4E8 +:10CEB00060915A0270915B0280915C0290915D02D8 +:10CEC0000F94EFBE20913A0930913B0940913C0903 +:10CED00050913D097B018C01C301B2010E94F0CE4B +:10CEE00081E00F94D31420E030E040E752E46091F9 +:10CEF0005A0270915B0280915C0290915D020F94E6 +:10CF0000EFBE20913A0930913B0940913C09509184 +:10CF10003D097B018C01C501B4010E94F0CE0E9445 +:10CF200058CF0F94C814882321F18090360990902F +:10CF30003709A0903809B090390929853A854B8581 +:10CF40005C85C501B4010F940EBE2B013C0120E0AD +:10CF500030E040E050E40F94E8BE87FF17C020E0C7 +:10CF600030E040E85FE3C301B2010F94E8BE87FF01 +:10CF70000FC089819A81AB81BC81809336099093DF +:10CF80003709A0933809B0933909CEC1312C02C0BA +:10CF90003324339480E00F94D314A5019401698560 +:10CFA0007A858B859C850F940FBE20E030E040E0B1 +:10CFB0005FE30F94BDC14B015C0160933609709330 +:10CFC0003709809338099093390920E030E040E731 +:10CFD00052E460915A0270915B0280915C029091E0 +:10CFE0005D020F94EFBE20913A0930913B094091C8 +:10CFF0003C0950913D097B018C01C501B4010E949F +:10D00000F0CE20E030E040E051E46D817E818F8100 +:10D0100098850F940EBE2B013C0120E030E040E0EB +:10D0200051E46D817E818F8198850F940FBE698355 +:10D030007A838B839C8320E030E040E850ECC3018E +:10D04000B2010F94E8BE87FF06C0412C512CF0E8D6 +:10D050006F2EF0EC7F2E20E030E042E553E4698152 +:10D060007A818B819C810F94EBC0181644F480E088 +:10D0700090E0A2E5B3E489839A83AB83BC8380E02C +:10D080000F94D31420E030E040E752E460915A025C +:10D0900070915B0280915C0290915D020F94EFBEF3 +:10D0A0008090360990903709A0903809B0903909DE +:10D0B0007B018C01A3019201C501B4010E94F0CE55 +:10D0C000DD2009F452C020E030E040E752E46091F6 +:10D0D00062027091630280916402909165020F94E4 +:10D0E000EFBE5B016C0120E030E040EC5FE360915B +:10D0F0003E0970913F0980914009909141090F9438 +:10D100000FBE7B018C0160913609709137098091C7 +:10D11000380990913909A30192010E94CCCE20E0F8 +:10D1200030E040E752E460916202709163028091C6 +:10D130006402909165020F94EFBE5B016C01E09078 +:10D140003E09F0903F09009140091091410960911A +:10D150003609709137098091380990913909A301F6 +:10D1600092010E94CCCE1C9928C081E00F94D31468 +:10D1700020E030E040E752E460915A0270915B0297 +:10D1800080915C0290915D020F94EFBE7B018C0157 +:10D190006091360970913709809138099091390969 +:10D1A00029813A814B815C810E94F0CE0E9458CF48 +:10D1B0000F94C814882309F470C080903A099090A5 +:10D1C0003B09A0903C09B0903D0980E00F94D31436 +:10D1D00020E030E040E752E460915A0270915B0237 +:10D1E00080915C0290915D020F94EFBE7B018C01F7 +:10D1F0006091360970913709809138099091390909 +:10D2000029813A814B815C810E94F0CE81E00F94AC +:10D21000D31420E030E040E752E460915A0270916C +:10D220005B0280915C0290915D020F94EFBE7B01E6 +:10D230008C0160913609709137098091380990917D +:10D240003909A30192010E94F0CE0E9458CF0F9499 +:10D25000C814882311F140903A0950903B0960901E +:10D260003C0970903D09A5019401C301B2010F94DE +:10D270000EBE6B017C0120E030E040E050E40F94F2 +:10D28000E8BE87FF19C020E030E040E85FE3C70157 +:10D29000B6010F94E8BE87FF0DC08D819E81AF81DE +:10D2A000B88580933A0990933B09A0933C09B093C9 +:10D2B0003D093AC03324339480E00F94D314A30182 +:10D2C0009201C501B4010F940FBE20E030E040E0B0 +:10D2D0005FE30F94BDC14B015C0160933A09709309 +:10D2E0003B0980933C0990933D0920E030E040E702 +:10D2F00052E460915A0270915B0280915C029091BD +:10D300005D020F94EFBE7B018C0160913609709134 +:10D3100037098091380990913909A50194010E943B +:10D32000F0CE81E0832526C080E00F94D31420E066 +:10D3300030E040E752E460915A0270915B028091C4 +:10D340005C0290915D020F94EFBE7B018C012091F5 +:10D350003A0930913B0940913C0950913D09609157 +:10D3600036097091370980913809909139090E94E6 +:10D37000F0CE80E02C960FB6F894DEBF0FBECDBF86 +:10D38000DF91CF911F910F91FF90EF90DF90CF90A1 +:10D39000BF90AF909F908F907F906F905F904F90D5 +:10D3A0003F9008952F923F924F925F926F927F929B +:10D3B0008F929F92AF92BF92CF92DF92EF92FF92A5 +:10D3C0000F931F93CF93DF93CDB7DEB7A5970FB61B +:10D3D000F894DEBF0FBECDBF40903609509037099C +:10D3E000609038097090390980913A0990913B0911 +:10D3F000A0913C09B0913D098B8F9C8FAD8FBE8F62 +:10D4000020E030E040E850E4C301B2010F940EBECA +:10D410006E877F87888B998B20E030E040E850E46E +:10D42000C301B2010F940FBE6E8B7F8B888F998FD3 +:10D4300020E030E040E850E46B8D7C8D8D8D9E8D3A +:10D440000F940EBE6D837E838F83988720E030E03B +:10D4500040E850E46B8D7C8D8D8D9E8D0F940FBEBA +:10D460004B015C0120E030E0A9016E857F85888951 +:10D4700099890F94E8BE87FF04C01E861F86188A0C +:10D48000198A20E030E04FE753E46E897F89888D68 +:10D49000998D0F94EBC0181644F480E090E0AFE74C +:10D4A000B3E48E8B9F8BA88FB98F20E030E040E8EB +:10D4B00050EC6D817E818F8198850F94E8BE87FF47 +:10D4C00006C01D821E8290E89F83A0ECA88720E002 +:10D4D00030E042E553E4C501B4010F94EBC01816E7 +:10D4E00034F4812C912CB2E5AB2EB3E4BB2E3D80FD +:10D4F0002E80BF81B8A3E885EF8F1A8A1B8A1C8A09 +:10D500001D8A19821A821B821C82A5019401632D37 +:10D51000722D88A19F8D0F94E8BE87FFECC080E03C +:10D520000F94D31420E030E040E752E460915A02B7 +:10D5300070915B0280915C0290915D020F94EFBE4E +:10D540007B018C01232D322D48A15F8D6E857F8557 +:10D55000888999890E94F0CE81E00F94D31420E04D +:10D5600030E040E752E460915A0270915B02809192 +:10D570005C0290915D020F94EFBE7B018C01232D24 +:10D58000322D48A15F8D6E897F89888D998D0E948B +:10D59000F0CE0E9458CF0F94C814882309F49CC081 +:10D5A0008091360990913709A0913809B0913909D5 +:10D5B00089879A87AB87BC8780E00F94D31420E0DB +:10D5C00030E040E752E460915A0270915B02809132 +:10D5D0005C0290915D020F94EFBE7B018C01232DC4 +:10D5E000322D48A15F8D6E897F89888D998D0E942B +:10D5F000F0CE81E00F94D31420E030E040E752E415 +:10D6000060915A0270915B0280915C0290915D0280 +:10D610000F94EFBE7B018C01232D322D48A15F8D2D +:10D620006E857F85888999890E94F0CE0E9458CFA7 +:10D630000F94C814882309F44FC0C0903609D090C5 +:10D640003709E0903809F090390929853A854B85EA +:10D650005C85C701B6010F940EBE162F7D878A8F99 +:10D66000092F29813A814B815C810F94EBC01816F8 +:10D67000CCF4A701960169857A858B859C850F94EA +:10D680000FBE20E030E040E05FE30F94BDC16A8B45 +:10D690007B8B8C8B9D8B19839D859A83AA8DAB8305 +:10D6A0000C831AC020E030E0A90169817A818B8166 +:10D6B0009C810F94EBC018167CF42DEC3CEC4CECE8 +:10D6C0005DE3632D722D88A19F8D0F940EBE6D8337 +:10D6D0007E838F8398870FC02DEC3CEC4CEC5DE390 +:10D6E000632D722D88A19F8D0F940FBE362E272E8D +:10D6F00088A39F8F0ACF20E030E0A90169817A8159 +:10D700008B819C810F94E8BE811109C0409236093B +:10D71000509237096092380970923909E6C280E068 +:10D720000F94D31420E030E040E752E460915A02B5 +:10D7300070915B0280915C0290915D020F94EFBE4C +:10D740006B017C0120E030E040E051E46D817E819E +:10D750008F8198850F940FBE9B01AC0187017601E4 +:10D760006A897B898C899D890E94F0CE81E00F9423 +:10D77000D31420E030E040E752E460915A02709107 +:10D780005B0280915C0290915D020F94EFBE6B0191 +:10D790007C0120E030E040E051E46D817E818F81AA +:10D7A00098850F940EBE8B015C0120E030E040E8CC +:10D7B00050EC0F94EBC018162CF080E090E070E86D +:10D7C00060EC03C0C8017A2D6B2D870176019C01A6 +:10D7D000472F562F6A897B898C899D890E94F0CEBC +:10D7E0000E9458CF0F94C814882309F47EC29091E8 +:10D7F0003A099A8FA0913B09AF8FB0913C09B8A329 +:10D80000E0913D09E9A32D813E814F815885692F23 +:10D810007A2F8B2F9E2F0F94E8BE18160CF065C23E +:10D820007A8C6F8C58A049A01AA21BA21CA21DA220 +:10D830001B821C8219861D862D813E814F81588551 +:10D84000672D762D852D942D0F94EBC087FDE2C0BA +:10D8500080E00F94D31420E030E040E752E4609180 +:10D860005A0270915B0280915C0290915D020F946C +:10D87000EFBE7B018C01272D362D452D542D6E8555 +:10D880007F85888999890E94F0CE81E00F94D31416 +:10D8900020E030E040E752E460915A0270915B0270 +:10D8A00080915C0290915D020F94EFBE7B018C0130 +:10D8B000272D362D452D542D6E897F89888D998D84 +:10D8C0000E94F0CE0E9458CF0F94C814882309F408 +:10D8D00092C08090360990903709A0903809B09096 +:10D8E000390980E00F94D31420E030E040E752E49F +:10D8F00060915A0270915B0280915C0290915D028E +:10D900000F94EFBE7B018C01272D362D452D542D14 +:10D910006E897F89888D998D0E94F0CE81E00F9469 +:10D92000D31420E030E040E752E460915A02709155 +:10D930005B0280915C0290915D020F94EFBE7B01CF +:10D940008C01272D362D452D542D6E857F85888998 +:10D9500099890E94F0CE0E9458CF0F94C814882352 +:10D9600009F449C0C0903609D0903709E0903809D1 +:10D97000F0903909A5019401C701B6010F940EBEBC +:10D98000162F272E382E092F2B813C8149855D8546 +:10D990000F94EBC01816ACF4A7019601C501B401B1 +:10D9A0000F940FBE20E030E040E05FE30F94BDC174 +:10D9B0006AA37BA38CA39DA31B832C8239860D872E +:10D9C0001AC020E030E0A9016B817C8189859D85AA +:10D9D0000F94EBC018167CF42DEC3CEC4CEC5DE3A2 +:10D9E000672D762D852D942D0F940FBE6A8F7F8F16 +:10D9F00088A399A30FC02DEC3CEC4CEC5DE3672DA4 +:10DA0000762D852D942D0F940EBE762E672E582ED2 +:10DA1000492E12CF20E030E0A9016B817C818985FD +:10DA20009D850F94E8BE882309F4F3C02A8D3F8DAD +:10DA300048A159A16D817E818F8198850F940FBE79 +:10DA400020E030E040E05FE30F94BDC169837A835A +:10DA50001C019AA19A8BABA1AB8BBCA1BC8BEDA195 +:10DA6000ED8B2D813E814F815885672D762D852D3B +:10DA7000942D0F94EBC087FDD2C080E00F94D31497 +:10DA800020E030E040E752E460915A0270915B027E +:10DA900080915C0290915D020F94EFBE7B018C013E +:10DAA000272D362D452D542D6E857F8588899989A2 +:10DAB0000E94F0CE81E00F94D31420E030E040E7E4 +:10DAC00052E460915A0270915B0280915C029091E5 +:10DAD0005D020F94EFBE7B018C01272D362D452D65 +:10DAE000542D6E897F89888D998D0E94F0CE0E9479 +:10DAF00058CF0F94C814882309F47CC0809036094D +:10DB000090903709A0903809B090390980E00F94BF +:10DB1000D31420E030E040E752E460915A02709163 +:10DB20005B0280915C0290915D020F94EFBE7B01DD +:10DB30008C01272D362D452D542D6E897F89888D9A +:10DB4000998D0E94F0CE81E00F94D31420E030E054 +:10DB500040E752E460915A0270915B0280915C024E +:10DB600090915D020F94EFBE7B018C01272D362D25 +:10DB7000452D542D6E857F85888999890E94F0CE28 +:10DB80000E9458CF0F94C8148823A1F1C090360981 +:10DB9000D0903709E0903809F0903909A501940137 +:10DBA000C701B6010F940EBE162F7BA38AA3092FBF +:10DBB0002B813C8149855D850F94EBC01816D4F408 +:10DBC000A7019601C501B4010F940FBE20E030E01B +:10DBD00040E05FE30F94BDC16A8B7B8B8C8B9D8B88 +:10DBE00079826A82252C342C1B83FBA1FC838AA1B9 +:10DBF00089870D872DEC3CEC4CEC5DE3672D762D91 +:10DC0000852D942D0F940EBE762E672E582E492EFC +:10DC100028CF9D819983AE81AA832F80388480E0AC +:10DC20000F94D31420E030E040E752E460915A02B0 +:10DC300070915B0280915C0290915D020F94EFBE47 +:10DC40006B017C0120E030E040E051E469817A81A1 +:10DC5000C1010F940FBE9B01AC01870176016A8957 +:10DC60007B898C899D890E94F0CE81E00F94D3142A +:10DC700020E030E040E752E460915A0270915B028C +:10DC800080915C0290915D020F94EFBE6B017C016C +:10DC900020E030E040E051E469817A81C1010F94D5 +:10DCA0000EBE8B015C0120E030E040E850EC0F94A8 +:10DCB000EBC018162CF080E090E070E860EC03C038 +:10DCC000C8017A2D6B2D870176019C01472F562FB5 +:10DCD0006A897B898C899D890E94F0CE0E9458CFE9 +:10DCE0000F94C8148E8B81110DC08B8D9C8DAD8DC2 +:10DCF000BE8D80933A0990933B09A0933C09B09361 +:10DD00003D091EC1C0903A09D0903B09E0903C0902 +:10DD1000F0903D0920E030E040E05FE36B817C81E2 +:10DD200089859D850F94BDC16E877F87888B998B70 +:10DD300020E030E040E850E4C701B6010F940FBE88 +:10DD40002E853F85488959890F94E8BE87FF6CC0AE +:10DD500029813A81A101C701B6010F94E8BE87FD70 +:10DD6000A2C020E030E040E85FE36B817C818985E0 +:10DD70009D850F94E8BE87FD96C029813A81A10157 +:10DD8000C701B6010F940EBE4B015C012B813C8193 +:10DD900049855D856B817C8189859D850F94BDC199 +:10DDA0002B013C0120E030E040E051E4C501B4012A +:10DDB0000F94BDC19B01AC01C301B2010F94EFBE32 +:10DDC0002B013C0120E030E040E05FE3C501B401FD +:10DDD0000F94BDC19B01AC01C301B2010F940FBEF2 +:10DDE0004B015C012DEC3CEC4CEC5FE30F94E8BE86 +:10DDF00087FD59C0A50194016E857F858889998921 +:10DE00000F940FBE20E030E040E05FE30F94BDC10F +:10DE10009B01AC01C701B6010F940EBE69837A83E2 +:10DE20001C01BB24B39440C0BB24B39420E030E079 +:10DE300040E050E46A897B898C899D890F94EBC00E +:10DE400087FDB12C23E333E343E750EC6D817E8102 +:10DE50008F8198850F94EBC0181634F520E030E0E0 +:10DE600040E05FE369817A81C1010F94BDC16B011C +:10DE70007C012A8D3F8D48A159A16D817E818F81C2 +:10DE800098850F940FBE20E030E040E85EE30F94E9 +:10DE9000BDC19B01AC01C701B6010F940FBE6983E0 +:10DEA0007A831C0101C0B12C80E00F94D3148A89BD +:10DEB0009B89AC89BD898093360990933709A093DB +:10DEC0003809B093390989819A81D10180933A093F +:10DED00090933B09A0933C09B0933D0920E030E0CA +:10DEE00040E752E460915A0270915B0280915C02BB +:10DEF00090915D020F94EFBE6B017C0120E030E059 +:10DF000040E850EC69817A81C1010F94E8BE87FF37 +:10DF100005C070E060E090E880EC04C079816A811F +:10DF2000922D832D87017601272F362F492F582FC9 +:10DF30006A897B898C899D890E94F0CEB11042C08C +:10DF400080E00F94D31420E030E040E850EC609182 +:10DF50003A0970913B0980913C0990913D090F94D9 +:10DF6000E8BE87FF0CC080E090E0A0E8B0EC8093B2 +:10DF70003A0990933B09A0933C09B0933D0920E0F6 +:10DF800030E040E752E460915A0270915B02809168 +:10DF90005C0290915D020F94EFBE7B018C01209199 +:10DFA0003A0930913B0940913C0950913D096091FB +:10DFB00036097091370980913809909139090E948A +:10DFC000F0CE1E8A8E89A5960FB6F894DEBF0FBEDE +:10DFD000CDBFDF91CF911F910F91FF90EF90DF9018 +:10DFE000CF90BF90AF909F908F907F906F905F90F9 +:10DFF0004F903F902F9008952F923F924F925F92B3 +:10E000006F927F928F929F92AF92BF92CF92DF9248 +:10E01000EF92FF920F931F93CF93DF93CDB7DEB7AD +:10E0200067970FB6F894DEBF0FBECDBF8C877F8396 +:10E030006E830E94285084ECECE4F1E1DF011D9234 +:10E040008A95E9F7E12CF12CEC85FF27E7FDF095A7 +:10E05000FE87ED87EBE1FCE484918F01882339F0A2 +:10E060000E94B0D00F5F1F4FF8018491F7CF1701C6 +:10E07000FFEF2F1A3F0A4AE050E0B10184ED97E02C +:10E080000E944841E0918609F0E0EE0FFF1FEA5838 +:10E09000F54B85919491BE016F5F7F4F0F94C888B7 +:10E0A0008981843010F083E08983B701882777FD68 +:10E0B0008095982F0F948ABF6A837B838C839D837E +:10E0C0002DEC3CEC4CE45EE30F94BDC12AE939E948 +:10E0D00049E95EE30F94BDC1688779878A879B878A +:10E0E00020E030E040EA50E40F940FBE60933E0918 +:10E0F00070933F0980934009909341093CE4432E7B +:10E1000031E1532E47E2642E4CE4742E00E010E01F +:10E11000EB8AC101AA2797FDA095BA2F8C8B9D8B06 +:10E12000AE8BBF8B0E9428500F5F1F4FA8016981E3 +:10E1300080E00F944848E0918609F0E0EE0FFF1F61 +:10E14000EE58F54B859194910F946D5B9B899923C3 +:10E1500089F0E0918609F0E0EE0FFF1FE658F54BDD +:10E160004591549169816F5F80E00F94166DC101F4 +:10E170000F94414820E030E040E752E460916202B1 +:10E180007091630280916402909165020F94EFBEDA +:10E190000E941CCFF30185919591A591B491809334 +:10E1A000360990933709A0933809B0933909F301E0 +:10E1B000349685919591A591B49180933A09909365 +:10E1C0003B09A0933C09B0933D0920E030E040E7D3 +:10E1D00052E460915A0270915B0280915C029091CE +:10E1E0005D020F94EFBE0E941CCF8D859E850E941C +:10E1F000B7DF882309F4AEC1C80101970297D0F5B3 +:10E2000020E030E043E060E070E080E291EC0E94CA +:10E21000E6DE84E0F82E8D859E85C4D881112AC063 +:10E22000FA9409F497C12DEC3CEC4CEC5CE3609162 +:10E230003E0970913F0980914009909141090F94E6 +:10E240000EBE60933E0970933F09809340099093FE +:10E25000410980E00F94CD1480E00F94D3146091B5 +:10E2600062027091630280916402909165020E9443 +:10E270001CCFD1CF6C897D898E899F890F948ABFED +:10E280006B017C01D2012D913D914D915C916A8190 +:10E290007B818C819D810F94BDC1A70196010F9454 +:10E2A000EFBE4B015C01A7019601609136097091A8 +:10E2B000370980913809909139090F94EFBE9B017D +:10E2C000AC01C501B4010F940FBEF20160837183EC +:10E2D0008283938380903A0990903B09A0903C09F7 +:10E2E000B0903D0924813581468157816A817B81C7 +:10E2F0008C819D810F94BDC1A70196010F94EFBE43 +:10E300006F87788B898B9A8BA7019601C501B40121 +:10E310000F94EFBE9B01AC016F85788989899A893A +:10E320000F940FBED20114966D937D938D939C93A1 +:10E33000179720E030E040E850ECC501B4010F949D +:10E34000E8BE87FF0CC080E090E0A0E8B0EC8093CE +:10E350003A0990933B09A0933C09B0933D0920E012 +:10E3600030E040E450E4688579858A859B850F9488 +:10E370000FBE9B01AC0160913E0970913F098091F5 +:10E380004009909141090F940FBE60933E0970932C +:10E390003F098093400990934109B8E04B0E511C0E +:10E3A000E8E06E0E711C0430110509F0BBCE80E070 +:10E3B00090E00E94425C20E030E040E950EC609147 +:10E3C00050117091511180915211909153110F94ED +:10E3D000E8BE87FF47C0AE81BF818C9182608C937D +:10E3E000EAE1FCE484918F01882339F00E94B0D0E7 +:10E3F0000F5F1F4FF8018491F7CF8AE00E94B0D0E1 +:10E40000E8EEFBE484918F01882339F00E94B0D0BC +:10E410000F5F1F4FF8018491F7CF40915011509139 +:10E420005111609152117091531122E030E084ED4E +:10E4300097E00E94FD41E4EEFBE484918F01882384 +:10E4400039F00E94B0D00F5F1F4FF8018491F7CFD1 +:10E4500022E030E040E050E060E970EC84ED97E0CD +:10E460000E94FE41CC840CE7E02E01E1F02E04E78F +:10E4700011E12CE631E147E25CE464E08CE491E1F7 +:10E480000E94C4D08C0180E090E00E94425C17FDA5 +:10E4900052C0A70164E771E18CE691E10E9481CD51 +:10E4A00040917C1150917D1160917E1170917F118E +:10E4B00085EE9FE00F9447CB4091801150918111E0 +:10E4C000609182117091831189EE9FE00F9447CB88 +:10E4D00040916C1150916D1160916E1170916F119E +:10E4E0008DED9FE00F9447CB4091701150917111C9 +:10E4F000609172117091731181EE9FE00F9447CB80 +:10E50000409174115091751160917611709177114D +:10E5100085ED9FE00F9447CB409178115091791190 +:10E5200060917A1170917B1189ED9FE00F9447CB38 +:10E530000E9457DE14C00E3FFFEF1F0729F4AE8183 +:10E54000BF818C91823041F0B3E02B16310439F059 +:10E55000710180CD8FEF01C08EEF9FEF01C0C80128 +:10E5600067960FB6F894DEBF0FBECDBFDF91CF9197 +:10E570001F910F91FF90EF90DF90CF90BF90AF90E1 +:10E580009F908F907F906F905F904F903F902F90D3 +:10E5900008950F931F93CF93DF930E9428500EE3AB +:10E5A00019E080E090E0A0EAB0E4F8018083918374 +:10E5B000A283B383C2E6D2E020E030E040E752E439 +:10E5C000688179818A819B810F94EFBE0E941CCF64 +:10E5D0008DEC9CECACE4BEE3809336099093370954 +:10E5E000A0933809B093390983E393E3A3E7B0EC30 +:10E5F00080933A0990933B09A0933C09B0933D095D +:10E600006AE379E086E399E00E94C94520E030E0C2 +:10E6100040E752E460915A0270915B0280915C0283 +:10E6200090915D020F94EFBE0E941CCF8AE999E998 +:10E63000A9E1BEE3F80180839183A283B38320E044 +:10E6400030E040E752E4688179818A819B810F94B0 +:10E65000EFBEDF91CF911F910F910C941CCF2F92A1 +:10E660003F924F925F926F927F928F929F92AF9262 +:10E67000BF92CF92DF92EF92FF920F931F93CF93AF +:10E68000DF9300D0CDB7DEB780E00F94CD148A833E +:10E6900080E00F94D3148B830E942850E091860968 +:10E6A000F0E0EE0FFF1FE652F64B85919491BE010C +:10E6B0006F5F7F4F0F94C8888981843010F083E0AA +:10E6C000898341E050E0698180E00F944848E091FF +:10E6D0008609F0E0EE0FFF1FEA52F64B8591949108 +:10E6E0000F946D5B80E090E0A0EAB0E480933E0977 +:10E6F00090933F09A0934009B093410920E030E096 +:10E7000040E752E46091620270916302809164027A +:10E71000909165020F94EFBE0E941CCFE7E4FCE4E9 +:10E7200085919591A591B49180933609909337097D +:10E73000A0933809B0933909EBE4FCE485919591F5 +:10E74000A591B49180933A0990933B09A0933C0919 +:10E75000B0933D096AE379E086E399E00E94C945F8 +:10E7600020E030E040E752E460915A0270915B0291 +:10E7700080915C0290915D020F94EFBE0E941CCFCD +:10E7800080E1E6E3F9E0A1E0B9E001900D928A951D +:10E79000E1F781E00F94CD1482E090E00E94D34B2A +:10E7A00080E00F94CD1420E030E043E060E070E0C2 +:10E7B00080E291EC0E94E6DE80913E0990913F0953 +:10E7C000A0914009B091410980934C1190934D1153 +:10E7D000A0934E11B0934F110FE4E02E0CE4F02EF5 +:10E7E00002E010E0412C512C80EA682E80E4782E63 +:10E7F00092E0892E27E0922E0E94285040923E09F6 +:10E8000050923F09609240097092410920E030E047 +:10E8100040E752E460916202709163028091640269 +:10E82000909165020F94EFBE0E941CCFF701859175 +:10E830009591A591B4918093360990933709A0934F +:10E840003809B0933909F701349685919591A591CE +:10E85000B49180933A0990933B09A0933C09B093FB +:10E860003D096AE379E086E399E00E94C94520E02A +:10E8700030E040E752E460915A0270915B0280916F +:10E880005C0290915D020F94EFBE0E941CCFA80124 +:10E89000698180E00F944848E0918609F0E0EE0F2E +:10E8A000FF1FEA52F64B859194910F946D5B20E027 +:10E8B00030E043E060E070E080E291EC0E94E6DE50 +:10E8C0008FEF800F63E00F948BC380FF03C0282D70 +:10E8D000291B922F392D282F2303F0011124E90F32 +:10E8E000F11D97FDFA95EE0FFF1FEE0FFF1FE55B81 +:10E8F000FE4E40913E0950913F0960914009709150 +:10E900004109418352836383748338E0E30EF11C31 +:10E910000F5F1F4F0A30110509F06ECF80904C1128 +:10E9200090904D1160904E1170904F11EBE4EE2ECF +:10E93000E1E1FE2E1501260100E010E0F701E00FF5 +:10E94000F11FA180B280C380D4809501A601B401DB +:10E95000C3010F94E8BE87FD02C045013601950151 +:10E96000A601B101C2010F94E8BE87FF02C05101A8 +:10E9700062010C5F1F4F0C30110519F015012601C3 +:10E98000DDCF8CE1E80EF11CEFE9EE16E1E1FE06C9 +:10E9900089F69401A301B501C6010F940EBE20E0D3 +:10E9A00030E040E450E40F94EBC0181654F06BE4F0 +:10E9B000C62E61E1D62EA12C75ECE72E7FE0F72E56 +:10E9C00012C0E4E9FBE484918F01882339F00E94AE +:10E9D000B0D00F5F1F4FF8018491F7CF8AE00E94FB +:10E9E000B0D080E048C000E010E0B12CB11002C00F +:10E9F000AA2039F120914C1130914D1140914E11C6 +:10EA000050914F11F601E00FF11F618172818381F6 +:10EA100094810F940EBE20E030E048EC52E40F9455 +:10EA2000BDC120E030E040E05FE30F940FBE0F94E3 +:10EA3000C5BF0F9457BFC7010F944FCBF2E0EF0E45 +:10EA4000F11CB3940C5F1F4F23E0B212CFCFA394FD +:10EA50003CE1C30ED11CA212C6CF8BE491E16CD570 +:10EA600081E080934B1195DD8A810F94CD148B81C9 +:10EA70000F94D31481E00F900F900F90DF91CF91FE +:10EA80001F910F91FF90EF90DF90CF90BF90AF90CC +:10EA90009F908F907F906F905F904F903F902F90BE +:10EAA00008952F923F924F925F926F927F928F9232 +:10EAB0009F92AF92BF92CF92DF92EF92FF920F930D +:10EAC0001F93CF93DF93CDB7DEB729970FB6F89496 +:10EAD000DEBF0FBECDBFD82EC62E3A010E942850F1 +:10EAE000D3011C9284ECECE4F1E1DF011D928A95E4 +:10EAF000E9F70E9405DD80913A1190913B11A091B8 +:10EB00003C11B0913D118093941190939511A09375 +:10EB10009611B09397118091421190914311A09159 +:10EB20004411B09145118093981190939911A0933D +:10EB30009A11B0939B1180913E1190913F11A09139 +:10EB40004011B091411180939C1190939D11A0931D +:10EB50009E11B0939F118091461190914711A09101 +:10EB60004811B09149118093A0119093A111A093E5 +:10EB7000A211B093A3118091221190912311A09121 +:10EB80002411B09125118093A4119093A511A09305 +:10EB9000A611B093A7118091261190912711A091F1 +:10EBA0002811B09129118093A8119093A911A093D5 +:10EBB000AA11B093AB110E9477DC80E00F94CD14C2 +:10EBC0008E8380E00F94D3148F83E0918609F0E068 +:10EBD000EE0FFF1FE45DF54B85919491BE016F5FD1 +:10EBE0007F4F0F94C8888981843010F083E0898337 +:10EBF000ECE44E2EE1E15E2EF7E2EF2EFCE4FF2E78 +:10EC000022242394312CEC2DFF27E7FDF095F98782 +:10EC1000E8870E942850A101698180E00F9448484C +:10EC2000E0918609F0E0EE0FFF1FE85DF54B85915E +:10EC300094910F946D5B20E030E040EA50E4209323 +:10EC40003E0930933F09409340095093410980E0C9 +:10EC50000F94CD1480E00F94D31420E030E040E70F +:10EC600052E460916202709163028091640290911B +:10EC700065020F94EFBE0E941CCFF701659175915C +:10EC80008591949187010C5F1F4FF8012591359173 +:10EC9000459154912A833B834C835D832091941149 +:10ECA0003091951140919611509197110F94BDC1DB +:10ECB0004B015C0120919C1130919D1140919E115E +:10ECC00050919F116A817B818C819D810F94BDC180 +:10ECD0009B01AC01C501B4010F940FBE2091A4119A +:10ECE0003091A5114091A6115091A7110F940FBE1C +:10ECF00060933609709337098093380990933909E6 +:10ED0000F7016591759185919491F801259135915F +:10ED1000459154912A833B834C835D8320919811C4 +:10ED20003091991140919A1150919B110F94BDC14E +:10ED30004B015C012091A0113091A1114091A211D1 +:10ED40005091A3116A817B818C819D810F94BDC1FB +:10ED50009B01AC01C501B4010F940FBE2091A81115 +:10ED60003091A9114091AA115091AB110F940FBE8F +:10ED70004B015C0120E030E040E850EC0F94E8BE2D +:10ED800087FD09C080923A0990923B09A0923C0904 +:10ED9000B0923D090CC080E090E0A0E8B0EC809318 +:10EDA0003A0990933B09A0933C09B0933D0920E0B8 +:10EDB00030E040E752E460915A0270915B0280912A +:10EDC0005C0290915D020F94EFBE0E941CCF20E088 +:10EDD00030E043E060E070E080E291EC0E94E6DE2B +:10EDE0002DEC3CEC4CEC5CE360913E0970913F09EA +:10EDF00080914009909141090F940EBE60933E09A5 +:10EE000070933F09809340099093410900E063E0CB +:10EE1000B62EAA24AA94A20C31E03A152CF08885CB +:10EE200099850E94D2E90CC0DD2041F041E0D41266 +:10EE300053C06C2D80E00E9497E602C00E943EE421 +:10EE4000882309F449C004304CF1209136093091EF +:10EE500037094091380950913909D2016D917D915E +:10EE60008D919C910F940FBEF20160837183828318 +:10EE7000938320913A0930913B0940913C0950918C +:10EE80003D0964817581868197810F940FBED201FF +:10EE900014966D937D938D939C93179720E030E0AB +:10EEA00040E850EC60913A0970913B0980913C092F +:10EEB00090913D090F94E8BE87FF0CC080E090E080 +:10EEC000A0E8B0EC80933A0990933B09A0933C09E9 +:10EED000B0933D090F5F2DC099249A949B0CBB20E1 +:10EEE00009F4DCC12DEC3CEC4CE45DE360913E099F +:10EEF00070913F0980914009909141090F940EBE95 +:10EF000060933E0970933F098093400990934109B3 +:10EF100080E00F94CD1480E00F94D31460916202CE +:10EF20007091630280916402909165020E941CCFEF +:10EF3000B92C08300CF470CFBFEF2B1A3B0AE8E075 +:10EF4000EE0EF11CF8E04F0E511C25E022163104A4 +:10EF500009F05FCE0E9428500CE411E120E030E07F +:10EF600040E85EE3D8016D917D918D919C910F9465 +:10EF7000BDC1F80161937193819391938F01F1E188 +:10EF80000C361F0759F780E00F94CD1480E00F94E2 +:10EF9000D31420E030E040E950EC609150117091C2 +:10EFA000511180915211909153110F94E8BE87FF37 +:10EFB00004C0D3018C9181608C9320E030E040E963 +:10EFC00050EC609158117091591180915A119091A3 +:10EFD0005B110F94E8BE87FF04C0F301808182605B +:10EFE000808354EAE52E51E1F52E0CE911E124E984 +:10EFF00031E147E25CE464E08CE491E10E94C4D03A +:10F000008C0197FD39C1E7E2FCE46591759185912A +:10F010009491EBE2FCE4C590D590E590F4902091BA +:10F0200098113091991140919A1150919B110F9420 +:10F03000BDC14B015C012091A0113091A111409103 +:10F04000A2115091A311C701B6010F94BDC19B013C +:10F05000AC01C501B4010F940FBE2091A8113091ED +:10F06000A9114091AA115091AB110F940FBE4B0101 +:10F070005C0120E030E040E950E40F940FBE609363 +:10F080006C0970936D0980936E0990936F0920E06D +:10F0900030E040E950ECC501B4010F94E8BE87FFB1 +:10F0A00004C0D3018C9181608C93EFE2FCE4659104 +:10F0B000759185919491E3E3FCE4C590D590E5903A +:10F0C000F490209198113091991140919A1150919A +:10F0D0009B110F94BDC14B015C012091A011309197 +:10F0E000A1114091A2115091A311C701B6010F9433 +:10F0F000BDC19B01AC01C501B4010F940FBE2091AD +:10F10000A8113091A9114091AA115091AB110F94FF +:10F110000FBE4B015C0120E030E040E950E40F9469 +:10F120000FBE609370097093710980937209909378 +:10F13000730920E030E040E950ECC501B4010F94C0 +:10F14000E8BE87FF04C0F30180818260808344EAC7 +:10F1500051E16CE971E184E991E10E9481CD409136 +:10F16000A4115091A5116091A6117091A71185EE7F +:10F170009FE00F9447CB4091A8115091A911609145 +:10F18000AA117091AB1189EE9FE00F9447CB40918B +:10F1900094115091951160919611709197118DED88 +:10F1A0009FE00F9447CB4091981150919911609135 +:10F1B0009A1170919B1181EE9FE00F9447CB409183 +:10F1C0009C1150919D1160919E1170919F1185ED40 +:10F1D0009FE00F9447CB4091A0115091A1116091F5 +:10F1E000A2117091A31189ED9FE00F9447CB0E946B +:10F1F00057DE80E00F94CD1480E00F94D31420E00C +:10F2000030E046E153E460913E0970913F098091FE +:10F210004009909141090F940FBE60933E0970938D +:10F220003F09809340099093410920E030E040E796 +:10F2300052E4609162027091630280916402909145 +:10F2400065020F94EFBE0E941CCFE0918609F0E0AA +:10F25000EE0FFF1FEC58F64B859194910F949C95FF +:10F26000FED98823E9F08E810F94CD148F810F94FD +:10F27000D3140E9428503AC0E1EBFBE484917F0153 +:10F28000882341F00E94B0D0FFEFEF1AFF0AF70188 +:10F290008491F6CF8AE00E94B0D002C00FEF1FEF3A +:10F2A0000E94285080E090E0A0EAB0E480933E09FC +:10F2B00090933F09A0934009B093410920E030E0CA +:10F2C00040E752E4609162027091630280916402AF +:10F2D000909165020F94EFBE0E941CCF0E941DDC2E +:10F2E0008E810F94CD148F810F94D314C801299669 +:10F2F0000FB6F894DEBF0FBECDBFDF91CF911F9147 +:10F300000F91FF90EF90DF90CF90BF90AF909F90C4 +:10F310008F907F906F905F904F903F902F900895C7 +:10F3200087EF9FE00F9423CB863E40F40E94F75F67 +:10F3300060E271E188EF9FE00D948C480895F0DF62 +:10F340006091201170912111882777FD8095982F69 +:10F350000F948ABF90582091B2173091B317409103 +:10F36000B4175091B5170F94EFBE0C94A9CF6091CC +:10F37000201170912111882777FD8095982F0F9487 +:10F380008ABF2091B2173091B3174091B4175091B2 +:10F39000B5170F94EFBE0E94A9CF109221111092C1 +:10F3A00020110895109221111092201108954F926A +:10F3B0005F926F927F928F929F92AF92BF92CF9205 +:10F3C000DF92EF92FF92CF93DF93CDB7DEB728970E +:10F3D0000FB6F894DEBF0FBECDBF89EE9FE00F944D +:10F3E0002BCB69837A838B839C8381EE9FE00F9480 +:10F3F0002BCB4B015C0189ED9FE00F942BCB6B0174 +:10F400007C01E7E2FCE425913591459154916BE252 +:10F410007CE4FB0185919591A591B4918D839E83A8 +:10F42000AF83B887C501B4010F94BDC12B013C0166 +:10F430002D813E814F815885C701B6010F94BDC112 +:10F440009B01AC01C301B2010F940FBE29813A8127 +:10F450004B815C810F940FBE20E030E040E950E426 +:10F460000F940FBE60936C0970936D0980936E09C1 +:10F4700090936F09EFE2FCE4259135914591549109 +:10F48000E3E3FCE44590559065907490C501B401A8 +:10F490000F94BDC14B015C01A3019201C701B601EC +:10F4A0000F94BDC19B01AC01C501B4010F940FBE07 +:10F4B00029813A814B815C810F940FBE20E030E0BE +:10F4C00040E950E40F940FBE609370097093710986 +:10F4D000809372099093730928960FB6F894DEBF53 +:10F4E0000FBECDBFDF91CF91FF90EF90DF90CF9017 +:10F4F000BF90AF909F908F907F906F905F904F9054 +:10F500000895FC01108220E030E040E050E0BC01B2 +:10F51000620F731FFB01E40FF51F11821282138229 +:10F5200014824C5F5F4F4C315105A1F7245E3F4F71 +:10F53000243C310551F708952F923F924F925F92EC +:10F540006F927F928F929F92AF92BF92CF92DF92F3 +:10F55000EF92FF920F931F93CF93DF93CDB7DEB758 +:10F5600060970FB6F894DEBF0FBECDBF8B839D832F +:10F570008B879C8703E010E0EB85FC858185928575 +:10F58000A385B485818F928FA38FB48F8581968157 +:10F59000A781B08585879687A787B08B222423947F +:10F5A000312CF3E02F16310409F491C0B101882702 +:10F5B00077FD8095982F0F948ABF25E535E547E0C4 +:10F5C00052E40F94BDC120E030E04CE052E40F94CF +:10F5D0000FBE6B017C0120E030E848E053E40F945B +:10F5E0000EBE2B013C0120E030E04EE653E4C701A3 +:10F5F000B6010F940EBE4B015C0120E030E04CE000 +:10F6000052E4C701B6010F940EBE6B017C0191015B +:10F61000220F331F220F331F8B859C85280F391F24 +:10F620003A832983FC012181328143815481C301C2 +:10F63000B2010F94BDC1A50194010F94BDC120E09A +:10F6400039EF40EA56E40F94EFBE6F8378878987DD +:10F650009A87EB85FC852585368547855089C701C6 +:10F66000B6010F94BDC1A50194010F94BDC120E066 +:10F6700039EF40E256EC0F94EFBE9B01AC016F8175 +:10F68000788589859A850F940FBE4B015C01EB85C7 +:10F69000FC85218D328D438D548DC701B6010F94A9 +:10F6A000BDC1A30192010F94BDC120E039EF40EA32 +:10F6B00056E40F94EFBE9B01AC01C501B4010F9459 +:10F6C0000FBEE981FA816183728383839483FFEFA4 +:10F6D0002F1A3F0A26E02216310409F062CF0150AA +:10F6E00011098B859C854C969C878B87011511058C +:10F6F00009F042CF9B819F87ED81E88B27E030E0C6 +:10F700003A832983EF85F88981AD92ADA3ADB4AD7D +:10F71000E755FF4FFC83EB8380839183A283B38300 +:10F72000EF85F889858D968DA78DB0A1EB5AFF4F97 +:10F73000FE83ED8380839183A283B383212C312CBC +:10F7400001E010E00330110509F48DC0B8018827ED +:10F7500077FD8095982F0F948ABF2BEA3AEA42E012 +:10F7600052E40F94BDC120E030E040EC50E40F942F +:10F770000FBE6B017C0120E030E040ED52E40F94BD +:10F780000EBE2B013C0120E030E04AE453E4C70107 +:10F79000B6010F940EBE4B015C0120E030E040EC5E +:10F7A00050E4C701B6010F940EBE6B017C012F859A +:10F7B0003889220D331D38872F83EF85F889218101 +:10F7C000328143815481C301B2010F94BDC1A501AF +:10F7D00094010F94BDC120E030E146E956E40F9456 +:10F7E000EFBE6B877C878D879E87ED81FE812081B0 +:10F7F000318142815381C701B6010F94BDC1A5017A +:10F8000094010F94BDC120E030E146E156EC0F9425 +:10F81000EFBE9B01AC016B857C858D859E850F9429 +:10F820000FBE4B015C01EB81FC8120813181428163 +:10F830005381C701B6010F94BDC1A30192010F947A +:10F84000BDC120E030E146E956E40F94EFBE9B01D4 +:10F85000AC01C501B4010F940FBEEF81F885658F2F +:10F86000768F878F90A30F5F1F4FFCE12F0E311C07 +:10F870000630110509F066CF29813A8121503109FE +:10F880003A8329838F8598890496988B8F87232BB9 +:10F8900009F038CF60960FB6F894DEBF0FBECDBF2B +:10F8A000DF91CF911F910F91FF90EF90DF90CF905C +:10F8B000BF90AF909F908F907F906F905F904F9090 +:10F8C0003F902F9008958BE491E11BCE2F923F92B1 +:10F8D0004F925F926F927F928F929F92AF92BF9260 +:10F8E000CF92DF92EF92FF920F931F93CF93DF930C +:10F8F000CDB7DEB7C155D1090FB6F894DEBF0FBE44 +:10F90000CDBF1C0178A36F8F4A012DAB0FAB2A9698 +:10F91000EFAE2A972E96ACAEBDAECEAEDFAE2E9732 +:10F9200034E0239F50011124FC01EA0DFB1D80816E +:10F930009181A281B3818F8B988FA98FBA8FDA01C1 +:10F94000AA0DBB1DBEAFADAF4D905D906D907C908C +:10F95000A30192016F89788D898D9A8D0F940FBEC6 +:10F9600023966CAF7DAF8EAF9FAF2397B4E00B9F14 +:10F9700080011124F101E00FF11F208131814281CA +:10F98000538129A33AA34BA35CA3A401400F511FA9 +:10F9900025965FAF4EAF2597DA01CD90DD90ED90C3 +:10F9A000FC90A701960169A17AA18BA19CA10F945B +:10F9B0000FBE29966CAF7DAF8EAF9FAF29972A9669 +:10F9C000EFAD2A97B4E0EB9FC0011124F101E80FDD +:10F9D000F91F20813181428153812B8F3C8F4D8FC4 +:10F9E0005E8FEF8DF8A1E80FF91F60817181828130 +:10F9F00093810F940EBE6DA37EA38FA398A7AF8DA6 +:10FA0000B8A11C968D919D910D90BC91A02D6296F0 +:10FA10008CAF9DAFAEAFBFAF6297D1011C962D9159 +:10FA20003D914D915C911F9729A73AA74BA75CA7E1 +:10FA300077FA709477F87094A701960150582B8B41 +:10FA40003C8B4D8B5E8BEF8DF8A1EA0DFB1D808109 +:10FA50009181A281B3818DA79EA7AFA7B8AB239652 +:10FA60002CAD3DAD4EAD5FAD2397BC01CD010F94E4 +:10FA70000EBE6B017C01EF8DF8A1E00FF11F20811C +:10FA800031814281538129AB3AAB4BAB5CAB2996B8 +:10FA90002CAD3DAD4EAD5FAD299769A97AA98BA973 +:10FAA0009CA90F940EBE4B015C01A7019601C301F6 +:10FAB000B2010F94BDC169AF7AAF8BAF9CAFA50106 +:10FAC00094016B897C898D899E890F94BDC19B01AE +:10FAD000AC0169AD7AAD8BAD9CAD0F940FBE69AF33 +:10FAE0007AAF8BAF9CAFA5019401C301B2010F9413 +:10FAF000BDC14B015C01A70196016B897C898D8991 +:10FB00009E890F94BDC19B01AC01C501B4010F9446 +:10FB10000EBE29AD3AAD4BAD5CAD0F9482BE6B010C +:10FB20007C0120E030E0A9010F94E8BE87FF0AC005 +:10FB30002BED3FE049EC50E4C701B6010F940FBE36 +:10FB40006B017C01AC968FADAC97882351F02BED07 +:10FB50003FE049EC50E4C701B6010F940EBE6B01C3 +:10FB60007C012DA53EA54FA558A96F89788D898D5B +:10FB70009A8D0F94E8BE81111FC029A93AA94BA9FB +:10FB80005CA969A17AA18BA19CA10F94E8BE811107 +:10FB900013C020E030E0A901C701B6010F94E8BE10 +:10FBA00081110AC02BED3FE049EC50E4C701B601DA +:10FBB0000F940FBE6B017C01AB962CAD3DAD4EADED +:10FBC0005FADAB97C701B6010F94BDC12DA13EA19A +:10FBD0004FA158A55F770F94F8C04B015C012FE649 +:10FBE00032E143E85AE30F94E8BE87FDD6C1C50170 +:10FBF000B4010F94C5BF0F945CBF7AA369A36115CC +:10FC0000710521F481E090E09AA389A3A9A1BAA18A +:10FC1000BD0180E090E00F9488BF4B015C019B0127 +:10FC2000AC01C701B6010F94EFBE6F8B788F898F3F +:10FC30009A8FA50194016DA17EA18FA198A50F9423 +:10FC4000EFBE6DA77EA78FA798AB29A53AA54BA5B8 +:10FC50005CA562966CAD7DAD8EAD9FAD62970F9445 +:10FC60000EBEA50194010F94EFBE69AB7AAB8BABCE +:10FC70009CAB20E030E040E05FE36F89788D898DB8 +:10FC80009A8D0F94BDC12F89388D498D5A8D0F944F +:10FC9000BDC19B01AC0160E070E080E89FE30F9480 +:10FCA0000EBE6DA37EA38FA398A7CE010196FC0183 +:10FCB0002A962FAD2A97B4E02B9FE00DF11D112459 +:10FCC0002B8D3C8D4D8D5E8D2083318342835383FC +:10FCD00029A53AA54BA55CA52D873E874F87588B54 +:10FCE0001B8E22242394312CAC019DA984E0989F83 +:10FCF000400D511D11245EAB4DABA1E0B0E0AC0F47 +:10FD0000BD1F3FA924E0329FA00DB11D1124B8AF43 +:10FD1000AFABFAA7E9A7AE0144595F4F5A8B498BA5 +:10FD2000E9A1FAA12E163F0608F012C15B8D5931E8 +:10FD30000CF040C02DA13EA14FA158A56B897C8934 +:10FD40008D899E890F94BDC16B017C012F89388DEF +:10FD5000498D5A8DC301B2010F94BDC1A70196010F +:10FD60000F940FBE7B018C012DA13EA14FA158A580 +:10FD7000C301B2010F94BDC14B015C012F89388DC5 +:10FD8000498D5A8D6B897C898D899E890F94BDC15F +:10FD90009B01AC01C501B4010F940EBE2B013C01C7 +:10FDA0008B8D8F5F8B8FA701B8014B8B5C8B6D8B1D +:10FDB0007E8B66C0B10180E090E00F9488BF2F89F0 +:10FDC000388D498D5A8D0F94BDC16B017C010F9404 +:10FDD000ECBE6B8B7C8B8D8B9E8BC701B6010F9419 +:10FDE0006CC24B015C01ADADBEADCD90DD90ED9030 +:10FDF000FC90F7FAF094F7F8F0942596AEADBFAD0D +:10FE000025972D913D914D915C912B8F3C8F4D8F7E +:10FE10005E8F2B893C894D895E89C701B6010F949D +:10FE2000BDC12B013C01A50194016B8D7C8D8D8D95 +:10FE30009E8D0F94BDC19B01AC01C301B2010F9413 +:10FE40000FBE2B013C01A5019401C701B6010F941F +:10FE5000BDC16B017C012B893C894D895E896B8D0D +:10FE60007C8D8D8D9E8D0F94BDC19B01AC01C70112 +:10FE7000B6010F940EBE6B8B7C8B8D8B9E8B1B8E75 +:10FE8000A301920123966CAD7DAD8EAD9FAD2397FE +:10FE90000F940FBEEDA9FEA96083718382839383C3 +:10FEA0002B893C894D895E8929966CAD7DAD8EADDF +:10FEB0009FAD29970F940FBEAFA9B8AD6D937D93F9 +:10FEC0008D939C9313972DA53EA54FA558A9E9A501 +:10FED000FAA560817181828193810F940FBEA9A5DB +:10FEE000BAA56D937D938D939C93139729A93AA9F5 +:10FEF0004BA95CA96D857E858F8598890F940FBE6F +:10FF00006D877E878F87988BCE0101960E949654CD +:10FF1000E984FA840B851C852D813E814F815885AB +:10FF200069817A818B819C81BA89BF93E989EF933A +:10FF30002E968CAC9DACAEACBFAC2E97DE011D9660 +:10FF40006D0186D6BFEF2B1A3B0A0F900F90E8CEBB +:10FF5000CF8CD8A0FCE0CF0ED11CAF8DB8A11896E5 +:10FF6000ED90FD900D911C911B9714962D913D9154 +:10FF70004D915C9117976D917D918D919C91FE01B2 +:10FF8000E459FF4FFF93EF932E968CAC9DACAEAC33 +:10FF9000BFAC2E975DD60F900F90CF5ADF4F0FB6A4 +:10FFA000F894DEBF0FBECDBFDF91CF911F910F91AF +:10FFB000FF90EF90DF90CF90BF90AF909F908F9089 +:10FFC0007F906F905F904F903F902F900895CF93C8 +:10FFD000DF931F92CDB7DEB71982AE014F5F5F4F3F +:10FFE000682F85E70F94642089810F90DF91CF916E +:10FFF0000895CF93DF9380911712813309F043C0A6 +:020000022000DC +:1000000080911612813909F03EC082E0E0DFC82FEE +:1000100087E1DDDF8093111284E1D9DF8093101234 +:10002000C7FF34C083E0D3DFD82F84E0D0DFC82FF0 +:1000300082E1CDDF282F30E0A90184E0440F551F75 +:100040008A95E1F744275F704D2B322F2227222714 +:100050003F702C2B53FD505133FD305180911412C1 +:1000600090911512840F951F90931512809314127E +:100070008091121290911312821B930B9093131282 +:100080008093121203C080E090E002C081E090E013 +:10009000DF91CF910895CF9380911712813309F5A5 +:1000A000809116128139E9F482E091DF87FF1CC04C +:1000B00084E08DDFC82F82E18ADF282F30E0322FE5 +:1000C000222722273F702C2B33FD305180911212B2 +:1000D00090911312821B930B909313128093121220 +:1000E00003C080E090E002C081E090E0CF910895ED +:1000F000CF93DF931F92CDB7DEB76983AE014F5F19 +:100100005F4F682F85E70F94C9200F90DF91CF9143 +:100110000895CF93DF93D82FC62FEADF8D2F57DFB7 +:1001200091E08C1390E0892FDF91CF910895CF93C8 +:10013000DF9341EB65E184E10F94541F80E047DFDA +:100140008093171281E043DF80931612909117126B +:10015000913319F080E090E035C08139D9F760E043 +:100160008FE7C6DF67E986E0C3DF88EE93E00F9490 +:1001700077B6C2ECDCE4FE0184918F3F39F0229621 +:1001800031966491C6DF8111F6CFE4CF80E197E22A +:100190000F9477B661E08FE7ABDFCFE8DCE4FE01D8 +:1001A00084918F3F39F0229631966491B2DF8111AC +:1001B000F6CFD0CF60E08FE79BDF60E089E098DF8B +:1001C00081E090E0DF91CF910895909159089111CD +:1001D00007C09091C00095FFFCCF8093C6000895A2 +:1001E000913031F49091C80095FFFCCF8093CE0000 +:1001F00008952F923F924F925F926F927F928F92CB +:100200009F92AF92BF92CF92DF92EF92FF920F93A5 +:100210001F93CF93DF93CDB7DEB768970FB6F894EF +:10022000DEBF0FBECDBF1C01CB01BA0128013901D1 +:10023000F101E45BFF4FC080D180E280F380A70131 +:1002400096010F94BDC10F94D5BE0F945CBF4B01B6 +:100250005C01A7019601C301B2010F94BDC10F94C7 +:10026000D5BE0F945CBF08E780169104A104B104C9 +:1002700028F4B8E78B2E912CA12CB12CD101D79664 +:10028000CD90DD90ED90FC90DA9724013501C814F3 +:10029000D904EA04FB0410F426013701683771051C +:1002A0008105910520F468E770E080E090E06987BF +:1002B0007A878B879C87C616D706E806F90620F44E +:1002C000C986DA86EB86FC8691012D5B3F4FD9010A +:1002D0008D919D910D90BC91A02D89839A83AB83C4 +:1002E000BC83892B8A2B8B2B41F401E010E020E0AA +:1002F00030E009831A832B833C83A3019201C3015D +:10030000B2010F947CC36D877E878F87988BA7017E +:100310009601C701B6010F947CC34B015C0129858E +:100320003A854B855C85CA01B9010F947CC3698B02 +:100330007A8B8B8B9C8BE980FA800B811C81EE0C75 +:10034000FF1C001F111FED82FE820F831887C5015D +:10035000B40161507109810991090D851E852F85B0 +:100360003889601B710B820B930BED80FE800F812F +:1003700018856E0D7F1D801F911FA80197010F9496 +:10038000BFC369017A01C501B40109891A892B89A2 +:100390003C89601B710B820B930B2D813E814F8139 +:1003A00058850F94BFC32C0D3D1D4E1D5F1DD101FF +:1003B00050968D909D90AD90BC905397281539051F +:1003C0004A055B0548F4D501C401821B930BA40BBD +:1003D000B50BAC01BD0194C029813A814B815C8190 +:1003E000E2E0220F331F441F551FEA95D1F7D501D4 +:1003F000C40181709927AA27BB278D8B9E8BAF8B59 +:10040000B88F8501740116950795F794E794E982F2 +:10041000FA820B831C83E988FA880B891C898D85F5 +:100420009E85AF85B889E816F9060A071B0790F183 +:10043000BC01CD0160957095809590956E0D7F1DE6 +:10044000801F911F620F731F841F951FED88FE8808 +:100450000F89188DEF28E02AE12A41F0ED80FE8017 +:100460000F8118856E0D7F1D801F911F0F94BFC3D4 +:1004700069017A0109811A812B813C81C00ED11E4C +:10048000E21EF31E8C149D04AE04BF04B0F575018A +:10049000640133C06D857E858F859889E988FA88E7 +:1004A0000B891C896E197F09800B910BED88FE88E2 +:1004B0000F89188DEF28E02AE12A41F0ED80FE80B7 +:1004C0000F8118856E0D7F1D801F911F0F94BFC374 +:1004D000E980FA800B811C812E0D3F1D401F511FAA +:1004E00082169306A406B50610F4A50194017501C1 +:1004F0006401C21AD30AE40AF50A40E050E0BA01E6 +:100500008FB7F894F101E55BFF4F9081911120C006 +:10051000D1015A96CD92DD92ED92FC925D97C40E78 +:10052000D51EE61EF71EF101C68ED78EE0A2F1A2FF +:10053000DB964D925D926D927C92DE97DF96E98418 +:10054000FA840B851C85ED92FD920D931C931397F5 +:100550008FBF68960FB6F894DEBF0FBECDBFDF9198 +:10056000CF911F910F91FF90EF90DF90CF90BF90B0 +:10057000AF909F908F907F906F905F904F903F9043 +:100580002F9008952F923F924F925F926F927F9299 +:100590008F929F92AF92BF92CF92DF92EF92FF9293 +:1005A0000F931F93CF93DF935C0170901D12809186 +:1005B0001E1287198F70833008F486C080911E1236 +:1005C000811101C080E1815022E5829F80011124C8 +:1005D000015E1D4E811101C080E1FF24FA94F80EE6 +:1005E00082E5F89EE0011124C15EDD4EF71409F4A6 +:1005F0006DC09AA4CBA4DCA4EDA4292D3C2D4D2DD7 +:100600005E2D6EA17FA188A599A50F94E8BE8823D1 +:1006100009F44CC0F80126A037A040A451A4A201BF +:100620009101692D7C2D8D2D9E2D0F94E8BE1816FD +:100630009CF5A2019101C201B1010F94BDC11B0142 +:100640002C018AA99BA9ACA9BDA9BC01CD019058D8 +:100650009B01AC010F940FBE2EA53FA548A959A937 +:100660000F94BDC19B01AC01C201B1010F940EBE3C +:100670000F9476C2662E872E8C01262F372FAC0161 +:10068000692D7C2D8D2D9E2D0F94E8BE87FD04C015 +:10069000962CC82CD02EE12E892D9C2DAD2DBE2D53 +:1006A0008EA39FA3A8A7B9A7F1E0FEAB8F2DF110F1 +:1006B00001C080E1FF24FA94F80E22E5F29EC00109 +:1006C00011248E01EC0190CF823061F482E5789E96 +:1006D000E0011124C15EDD4E81E0870D803141F4DF +:1006E00080E006C0C0911E12C11186C0C0E184C066 +:1006F000782E92E5899F40011124F401E15EFD4EC0 +:100700004F0144244394CEA0DFA0E8A4F9A4F4014F +:1007100056A067A000A511A5252D362DA801C7015B +:10072000B6010F94E8BE87FF40C0A7019601C7013C +:10073000B6010F94BDC16B017C018AA99BA9ACA92C +:10074000BDA9BC01CD0190589B01AC010F940FBE17 +:100750002EA53FA548A959A90F94BDC19B01AC0185 +:10076000C701B6010F940EBE0F9476C26B017C01D7 +:100770009B01AC01652D762DC8010F94E8BE87FF63 +:1007800003C0C52CD62C78019601A701652D762DC6 +:10079000C8010F94E8BE882341F0C601D701F401D7 +:1007A00086A397A3A0A7B1A746AAF40186A98111A1 +:1007B00003C08EA9882361F0F40106A117A120A52A +:1007C00031A54EA15FA168A579A5CE0112DD1EAAB3 +:1007D00081E0870D803109F480E0782EF2E58F9F6B +:1007E000C0011124815E9D4E20911E12721609F4E3 +:1007F00079CFE4014C0187CFC15022E5C202E0016C +:100800001124C15EDD4EF501008111812281338109 +:100810004EA15FA168A579A5CE01EBDC1EAADF91F0 +:10082000CF911F910F91FF90EF90DF90CF90BF90ED +:10083000AF909F908F907F906F905F904F903F9080 +:100840002F90089510921E1210921D1280E1EAE579 +:10085000F7E1DF011D928A95E9F710924A1710928D +:100860004B1710924C1710924D1710924E17109272 +:100870004F17109250171092511710925217109252 +:100880005317109254171092551710925617109232 +:100890005717109258171092591710924617109226 +:1008A000471710924817109249170895CF92DF9278 +:1008B000EF92FF92CF93C091200990911D128091E9 +:1008C0001E12981781F080911D1292E5899FF00108 +:1008D0001124EA59FD4EC08190911E12891719F01A +:1008E0008F5F8F70F9CFCC2321F1C0901812D09078 +:1008F0001912E0901A12F0901B12C114D104E104F5 +:10090000F10479F40F9411B6605E7C4F8F4F9F4FC6 +:10091000609318127093191280931A1290931B12FD +:1009200011C00F9411B66C157D058E059F0550F012 +:100930000AC0109218121092191210921A121092E4 +:100940001B1201C0CFEF6C2F70E086E0CF91FF90BB +:10095000EF90DF90CF900D94E4B64F925F926F923C +:100960007F928F929F92AF92BF92CF92DF92EF923F +:10097000FF920F931F9380916F008D7F80936F0084 +:1009800080E00F94EA1C60935A1770935B17809372 +:100990005C1790935D1781E00F94EA1C60935E17DB +:1009A00070935F17809360179093611782E00F94A4 +:1009B000EA1C609362177093631780936417909397 +:1009C000651783E00F94EA1C6093661770936717AE +:1009D000809368179093691780E00F94F81C6093D8 +:1009E000360970933709809338099093390981E06B +:1009F0000F94F81C60933A0970933B0980933C096B +:100A000090933D0982E00F94F81C60933E09709327 +:100A10003F09809340099093410983E00F94F81CAB +:100A20006093420970934309809344099093450968 +:100A300080914B11882341F100913A0910913B09B3 +:100A400020913C0930913D09409136095091370978 +:100A500060913809709139098BE491E10E9411434A +:100A60009B01AC0160913E0970913F098091400962 +:100A7000909141090F940EBE60933E0970933F0917 +:100A800080934009909341090F94141D10914A11CD +:100A9000112309F49AC010FF34C020912211309123 +:100AA00023114091241150912511609136097091C4 +:100AB000370980913809909139090F940EBE6093DF +:100AC000360970933709809338099093390920913A +:100AD00026113091271140912811509129116091D0 +:100AE0003A0970913B0980913C0990913D090F941E +:100AF0000EBE60933A0970933B0980933C09909332 +:100B00003D0911FF62C08090360990903709A0908E +:100B10003809B0903909C0903A09D0903B09E0906B +:100B20003C09F0903D0920913211309133114091F0 +:100B3000341150913511C501B4010F94BDC12B0181 +:100B40003C0120913611309137114091381150916C +:100B50003911C701B6010F94BDC19B01AC01C3019E +:100B6000B2010F940FBE2B013C0120912A1130914C +:100B70002B1140912C1150912D11C501B4010F94EE +:100B8000BDC14B015C0120912E1130912F1140917C +:100B9000301150913111C701B6010F94BDC19B01B5 +:100BA000AC01C501B4010F940FBE60933609709378 +:100BB0003709809338099093390940923A09509245 +:100BC0003B0960923C0970923D0980E1E6E3F9E05F +:100BD000A1E0B9E001900D928A95E1F710924617D5 +:100BE00010924717109248171092491710924A17FF +:100BF00010924B1710924C1710924D1710924E17DF +:100C000010924F17109250171092511710925217BE +:100C1000109253171092541710925517109256179E +:100C200010925717109258171092591781E080931D +:100C30001C121F910F91FF90EF90DF90CF90BF900B +:100C4000AF909F908F907F906F905F904F9008959E +:100C50002F923F924F925F926F927F928F929F92CC +:100C6000AF92BF92CF92DF92EF92FF920F931F93BA +:100C7000CF93DF93CDB7DEB7CA56D1090FB6F8943C +:100C8000DEBF0FBECDBF362E272E8FA39BA7290117 +:100C90003A012396ECAEFDAE0EAF1FAF2397D8AA54 +:100CA000CFA68FAA2A969FAE2A972496AFAE2497F6 +:100CB0002696BFAE269720911E122F5F66962FAF05 +:100CC0006697203119F466961FAE669700911D1243 +:100CD00010E066963FAD6697832F992787FD909524 +:100CE0000817190729F010914A11111117C084C073 +:100CF00010921C120F941B2980E00E94A85D80E0D6 +:100D00000F94FF8480911D1290E08017910791F35A +:100D100080911C1281110D947E11E5CF11FF4AC004 +:100D200020913A1130913B1140913C1150913D116D +:100D3000632D722D8FA19BA50F94BDC16B017C010A +:100D400020913E1130913F1140914011509141113D +:100D5000C301B2010F94BDC19B01AC01C701B60133 +:100D60000F940FBE4B015C01209146113091471149 +:100D70004091481150914911C301B2010F94BDC176 +:100D80006B017C012091421130914311409144113B +:100D900050914511632D722D8FA19BA50F94BDC15C +:100DA000A70196010F940FBE2B013C01382C292C72 +:100DB000AFA2BBA610FF20C02091221130912311B9 +:100DC0004091241150912511632D722D8FA19BA567 +:100DD0000F940FBE362E272E8FA39BA7209126118E +:100DE000309127114091281150912911C301B2016E +:100DF0000F940FBE2B013C012091AA173091AB1725 +:100E00004091AC175091AD17632D722D8FA19BA50A +:100E10000F94BDC10F948DC1A6966CAF7DAF8EAF00 +:100E20009FAFA6972091AE173091AF174091B017A2 +:100E30005091B117C301B2010F94BDC10F948DC180 +:100E4000AA966CAF7DAF8EAF9FAFAA9780914B11E2 +:100E50008823E9F093018201432D522D6FA17BA5D8 +:100E60008BE491E10E9411439B01AC0123966CAD90 +:100E70007DAD8EAD9FAD23970F940FBE2091B2171D +:100E80003091B3174091B4175091B5170EC020910F +:100E9000B2173091B3174091B4175091B5172396FC +:100EA0006CAD7DAD8EAD9FAD23970F94BDC10F94FA +:100EB0008DC16A966CAF7DAF8EAF9FAF6A97209160 +:100EC000B6173091B7174091B8175091B917AFA521 +:100ED000B8A96D917D918D919C910F94BDC10F9496 +:100EE0008DC123966CAF7DAF8EAF9FAF239780915E +:100EF000661790916717A0916817B09169172396AC +:100F00002CAD3DAD4EAD5FAD2397281739074A078D +:100F10005B0709F49FC0E091220934E0E39FF001F0 +:100F20001124EC54F74E20916D0230916E024091E5 +:100F30006F025091700260817181828193810F9460 +:100F4000E8BE87FF28C023968CAD9DADAEADBFAD8A +:100F500023978093661790936717A0936817B093B1 +:100F60006917E4E5FEE084918F01882331F02DD9E3 +:100F70000F5F1F4FF8018491F8CFE4EBFAE405917D +:100F80001491F8018491882321F01FD90F5F1F4F1E +:100F9000F8CF8AE01AD98091661790916717A091CF +:100FA0006817B091691723962CAD3DAD4EAD5FAD7E +:100FB0002397281B390B4A0B5B0BCA01B90157FF5A +:100FC00007C090958095709561957F4F8F4F9F4F8B +:100FD0000F948ABF6B017C0120E030E84AEE53E4B5 +:100FE0006091B6177091B7178091B8179091B917A3 +:100FF0000F94BDC19B01AC01C701B6010F94EBC0BA +:10100000181644F523968CAD9DADAEADBFAD2397BC +:101010008093661790936717A0936817B09369172A +:10102000E4E5FEE084918F01882331F0CED80F5F94 +:101030001F4FF8018491F8CFEEEAFAE4059114917C +:10104000F8018491882321F0C0D80F5F1F4FF8CF9B +:101050008AE0BBD880911E12F2E58F9F1001112407 +:101060009101215E3D4E1901F901E05BFF4F1182B4 +:1010700010823597108280915A1790915B17A0913A +:101080005C17B0915D178BA79CA7ADA7BEA7A696CE +:101090008CAC9DACAEACBFACA697881A990AAA0AD4 +:1010A000BB0AB7FE08C0B094A09490948094811CB1 +:1010B000911CA11CB11CD1018D929D92AD92BC924C +:1010C000139720915E1730915F17409160175091F0 +:1010D00061172FA738AB49AB5AABAA968CAD9DAD23 +:1010E000AEADBFADAA97821B930BA40BB50B8FA31C +:1010F00098A7A9A7BAA7B7FF0BC0B095A0959095E0 +:1011000081959F4FAF4FBF4F8FA398A7A9A7BAA7AD +:101110002FA138A549A55AA5D10114962D933D9329 +:101120004D935C931797209162173091631740910C +:101130006417509165172BAB3CAB4DAB5EAB6A9619 +:101140004CAC5DAC6EAC7FAC6A97421A530A640A31 +:10115000750A77FE08C07094609450944094411CC6 +:10116000511C611C711CD10118964D925D926D92BB +:101170007C921B97209166173091671740916817F2 +:10118000509169172BAF3CAF4DAF5EAF2396CCACFF +:10119000DDACEEACFFAC2397C21AD30AE40AF50A21 +:1011A000F7FE08C0F094E094D094C094C11CD11C08 +:1011B000E11CF11CD1011C96CD92DD92ED92FC92C6 +:1011C0001F97E0912209B4E0EB9FF0011124EE5B40 +:1011D000FD4F208131814281538161962CAF3DAF1B +:1011E0004EAF5FAF619720E030E040E85FE361968B +:1011F0006CAD7DAD8EAD9FAD61970F94E8BE882339 +:10120000A9F0C701B6010F948ABF61962CAD3DAD20 +:101210004EAD5FAD61970F94BDC10F9457BFD10123 +:101220001C966D937D938D939C931F97A09156026E +:10123000B0915702A436B105A1F0F101248535859E +:10124000468557850F9422C424E630E040E050E004 +:101250000F94E1C3D1011C962D933D934D935C9364 +:101260001F97F10144855585668577858FA198A5DF +:10127000A9A5BAA584179507A607B70714F4DB013B +:10128000CA0184159505A605B70514F4D301C2015A +:10129000B501A40188169906AA06BB0614F4AC0190 +:1012A000BD01D10150964D935D936D937C935397FF +:1012B000463051056105710510F40D947E11F10160 +:1012C000E95BFF4F8091200990912109AA2797FDA2 +:1012D000A095BA2F80839183A283B383A6962CAD69 +:1012E0003DAD4EAD5FADA6978BA59CA5ADA5BEA5AA +:1012F000281739074A075B0724F0D10158961C923A +:1013000003C081E0F101808FAA962CAD3DAD4EADBA +:101310005FADAA978FA598A9A9A9BAA928173907D7 +:101320004A075B073CF4D10158968C91589782602C +:1013300058968C936A962CAD3DAD4EAD5FAD6A97D5 +:101340008BA99CA9ADA9BEA9281739074A075B0735 +:101350003CF4D10158968C915897846058968C93A0 +:1013600023962CAD3DAD4EAD5FAD23978BAD9CADBF +:10137000ADADBEAD281739074A075B073CF4D10174 +:1013800058968C915897886058968C93C058DF4F28 +:10139000E881F981C058D0408081D10159968C9361 +:1013A00089288A288B2809F01798F1018481958172 +:1013B000A681B781892B8A2B8B2B09F01698F10116 +:1013C00080859185A285B385892B8A2B8B2B09F08B +:1013D0001598F10184859585A685B785892B8A2B7B +:1013E0008B2B91F180913F17882319F081508093C6 +:1013F0003F1780914017882319F081508093401740 +:1014000080914117882319F0815080934117C0586B +:10141000DF4FA881B981C058D0408C91813061F0F4 +:1014200030F0823089F480E28093411708C014982C +:1014300080E280933F1708C080E28093401780913C +:101440003F17811101C0149AD1011C962D913D9135 +:101450004D915C911F9761962CAF3DAF4EAF5FAF42 +:101460006197232B242B252B49F5B0917A17BFA325 +:10147000E0917B17EBA710917C1700917D172B2F24 +:101480003E2F412F502F6FA92A967FAD2A97249681 +:101490008FAD249726969FAD26970F94E8BE87FDC3 +:1014A0001AC0FFA9FFA32A962FAD2A972BA724962F +:1014B0001FAD249726960FAD26970DC03091961735 +:1014C0003FA3409197174BA7109198170091991738 +:1014D000232F342FD6CF80915A1790915B17A0916C +:1014E0005C17B0915D17A6962CAD3DAD4EAD5FADCE +:1014F000A697281B390B4A0B5B0BCA01B9010F9445 +:101500008ABF2091AA173091AB174091AC17509128 +:10151000AD170F94EFBE6FAB78AF89AF9AAF698B01 +:101520007A8B8B8B9C8BAA966CAD7DAD8EAD9FAD6F +:10153000AA972FA538A949A95AA9621B730B840B36 +:10154000950B0F948ABF2091AE173091AF17409141 +:10155000B0175091B1170F94EFBE4B015C016D8B2A +:101560007E8B8F8B988F6A966CAD7DAD8EAD9FAD67 +:101570006A972BA93CA94DA95EA9621B730B840B2A +:10158000950B0F948ABF2091B2173091B3174091F9 +:10159000B4175091B5170F94EFBE6B017C01698FA2 +:1015A0007A8F8B8F9C8F23966CAD7DAD8EAD9FAD6A +:1015B00023972BAD3CAD4DAD5EAD621B730B840B21 +:1015C000950B0F948ABF2091B6173091B7174091B1 +:1015D000B8175091B9170F94EFBEE091220934E08B +:1015E000E39FF0011124EE5BFD4F208131814281A8 +:1015F00053810F94BDC12B013C0160915602709143 +:101600005702882777FD8095982F0F948ABF9B01FA +:10161000AC01C301B2010F94BDC120E030E048EC41 +:1016200052E40F94EFBE6D8F7E8F8F8F98A3D10100 +:101630002D913D914D915C9113972BAB3CAB4DABF4 +:101640005EAB263031054105510504F514964D90E9 +:101650005D906D907C901797B6E04B165104610435 +:101660007104A4F4F1014084518462847384F6E02F +:101670004F165104610471044CF4DC01CB01BF77B7 +:10168000F10186A797A7A0ABB1AB27C06FA978AD32 +:1016900089AD9AAD0F94B4C22B013C01C501B401D0 +:1016A0000F94B4C29B01AC01C301B2010F940FBEF1 +:1016B0004B015C01C701B6010F94B4C29B01AC01A0 +:1016C000C501B4010F940FBE0F9476C2D1019E964E +:1016D0006D937D938D939C93D197D1019E962D917F +:1016E0003D914D915C91D1972D962CAF3DAF4EAF72 +:1016F0005FAF2D9760E070E080E89FE30F94EFBE4E +:101700009B01AC016FA17BA5812F902F0F94BDC1D0 +:101710004B015C0110911E1280911D12181B1F704D +:10172000E12FF0E02596FFAFEEAF2597CF010297AE +:10173000069708F03FC0A501940160E074E284E7D9 +:1017400099E40F94EFBE0F948DC16B017C018091E1 +:10175000CA179091CB17A091CC17B091CD17C8168E +:10176000D906EA06FB0630F5BC01CD016C197D09EE +:101770008E099F09660F771F881F991F212F30E060 +:1017800040E050E00F94BFC3CA01B9010F9488BF75 +:101790000F948DC16C0D7D1D8E1D9F1D0F9488BFF4 +:1017A0009B01AC0160E074E284E799E40F94EFBE22 +:1017B0004B015C01A50194012D966CAD7DAD8EAD04 +:1017C0009FAD2D970F94BDC16FAB78AF89AF9AAF26 +:1017D000D10192966D937D938D939C93959750969E +:1017E0002D913D914D915C91539729962CAF3DAF32 +:1017F0004EAF5FAF2997CA01B9010F9488BF6FA39D +:1018000078A789A79AA7A50194010F94BDC10F9449 +:10181000D5BE0F945CBF65966CAF7DAF8EAF9FAFAA +:101820006597F10167AB70AF81AF92AFF091181976 +:10183000AB96FFAFAB979E012F5E3F4FA0963FAF99 +:101840002EAFA0974AEB57E1A2965FAF4EAFA2979B +:10185000CE0101966C969FAF8EAF6C971CAE1BAEFF +:101860001BA61FA610E80FE3A096AEADBFADA097D4 +:101870006D917D918D919D91A096BFAFAEAFA097D8 +:10188000A50194010F94BDC12B013C016C96EEADF6 +:10189000FFAD6C9761937193819391936C96FFAFB9 +:1018A000EEAF6C97A296AEADBFADA297CD90DD9096 +:1018B000ED90FD90A296BFAFAEAFA297EBADFCADA1 +:1018C000329734F5AB96FFADAB97F13089F420E059 +:1018D00030E04CE253E4C701B6010F94EBC0181698 +:1018E000BCF4C12CD12C5CE2E52E53E4F52E10C0E3 +:1018F00020E030E048E453E4C701B6010F94EBC0A8 +:10190000181634F4C12CD12C48E4E42E43E4F42E10 +:10191000E89477F8A7019601C301B2010F94EBC0D8 +:101920001816D4F4A3019201C701B6010F94EFBEBB +:10193000C62EF72EE82ED92E262F372F482F592FB7 +:101940006BA57FA5812F902F0F94E8BE87FD04C063 +:10195000CBA6FFA61E2D0D2D2BAD3CAD2F5F3F4F0F +:101960003CAF2BAF2430310509F07ECF20E030E0D2 +:1019700040E85FE36BA57FA5812F902F0F94E8BE11 +:1019800087FF42C06E0131E1C30ED11CAE014F5F33 +:101990005F4F7A012BA53FA5412F502FD7016D91A5 +:1019A0007D918D919C910F94BDC1F70161937193CD +:1019B000819391937F01EC15FD0561F72BA53FA560 +:1019C000412F502F6FA978AD89AD9AAD0F94BDC14D +:1019D000D10192966D937D938D939C939597659687 +:1019E0006CAD7DAD8EAD9FAD65970F9488BF2BA577 +:1019F0003FA5412F502F0F94BDC10F945CBFF10143 +:101A000067AB70AF81AF92AF2D962CAD3DAD4EADB3 +:101A10005FAD2D976FA178A589A59AA50F94EFBE0C +:101A20006B017C012BA93CA94DA95EA9232B242B7A +:101A3000252B59F5F10184819581A681B781892BE8 +:101A40008A2B8B2B11F580859185A285B385892BF7 +:101A50008A2B8B2BD1F420918E1730918F174091C8 +:101A6000901750919117C701B6010F94BDC10F9403 +:101A7000D5BE81010D5B1F4F0F945CBFD8016D93E4 +:101A80007D938D939C93139750C120919217309121 +:101A900093174091941750919517C701B6010F9471 +:101AA000BDC10F94D5BE0F945CBFF101ED5BFF4F3C +:101AB00060837183828393832091181929964CAC9B +:101AC0005DAC6EAC7FAC299776946794579447943D +:101AD0002130F9F42BA93CA94DA95EA94216530661 +:101AE0006406750660F0D10114968D909D90AD90BE +:101AF000BC901797481459046A047B0478F5613048 +:101B000077478105910550F180E097E7A0E0B0E0CC +:101B10001EC02BA93CA94DA95EA942165306640616 +:101B2000750660F0D10114968D909D90AD90BC909B +:101B30001797481459046A047B0480F46139704D86 +:101B40008F4F9F4F58F080E990EDAFEFBFEFF1015D +:101B5000ED5BFF4F80839183A283B38340906A172C +:101B600050906B1760906C1770906D1781010D5B32 +:101B70001F4FF80160817181828193810F9488BF2A +:101B80004B015C016BA97CA98DA99EA90F948ABF0A +:101B90009B01AC01C501B4010F94BDC12FA138A5B3 +:101BA00049A55AA50F94EFBE4B015C01C301B201D8 +:101BB0000F9488BF9B01AC01C501B4010F94EBC029 +:101BC000181634F4D8014D925D926D927C92139761 +:101BD00040906E1750906F1760907017709071174B +:101BE000F80160817181828193810F9488BF4B01DC +:101BF0005C01D10114966D917D918D919C91179707 +:101C00000F948ABF9B01AC01C501B4010F94BDC103 +:101C10002FA138A549A55AA50F94EFBE4B015C0131 +:101C2000C301B2010F9488BF9B01AC01C501B4018F +:101C30000F94EBC018162CF4F80140825182628296 +:101C40007382409072175090731760907417709061 +:101C5000751781010D5B1F4FD8016D917D918D919D +:101C60009C910F9488BF4B015C01F10160857185E7 +:101C7000828593850F948ABF9B01AC01C501B40195 +:101C80000F94BDC12FA138A549A55AA50F94EFBE49 +:101C90004B015C01C301B2010F9488BF9B01AC01F1 +:101CA000C501B4010F94EBC0181634F4D8014D925D +:101CB0005D926D927C9213974090761750907717B3 +:101CC0006090781770907917F80160817181828136 +:101CD00093810F9488BF4B015C0161966CAD7DAD23 +:101CE0008EAD9FAD61970F948ABF9B01AC01C5017A +:101CF000B4010F94BDC12FA138A549A55AA50F94D1 +:101D0000EFBE4B015C01C301B2010F9488BF9B0180 +:101D1000AC01C501B4010F94EBC0181634F4D8011E +:101D20004D925D926D927C921397F101ED5BFF4FA6 +:101D300060817181828193810F9488BF4B015C0126 +:101D4000A70196010F94EFBE61966CAF7DAF8EAF89 +:101D50009FAF6197F10162AB73AB84AB95AB2DEB99 +:101D600037E346E051E4C501B4010F94BDC10F94BF +:101D700057BFD10154966D937D938D939C93579744 +:101D80009296BC91BFA7F101F3A1FBABD101949650 +:101D9000BC91BBAFF101F5A1FFAB9E012F5E3F4FA0 +:101DA0003EA32DA34EE757E15CA74BA7CE010196BA +:101DB00098A78FA35FA46BA87B2E1F2F00E0AFA175 +:101DC000B8A58D909D90AD90BD90B8A7AFA3E894B5 +:101DD000B7F8EBA5FCA5C190D190E190F190FCA7DC +:101DE000EBA7A7019601C501B4010F94EBC018162B +:101DF000B4F5002379F1252D362D472D512FC5013E +:101E0000B4010F94BDC14B015C012FA53BA94BADA3 +:101E10005FA9C701B6010F94BDC16B017C019B0195 +:101E2000AC01C501B4010F94EBC01816C4F4A501B0 +:101E30009401C701B6010F94EFBE9B01AC01652D63 +:101E4000762D872D912F0F94BDC1562E672E782E9B +:101E5000192F05C05C2C6D2C7E2C1F2D01E02FA1AD +:101E600038A54DA15EA12417350709F0A8CF852D0F +:101E7000962DA72DB12F89A39AA3ABA3BCA325961A +:101E80008EAD9FAD259702970CF460C10091461767 +:101E9000909147179FA3A0914817ABA7109149179E +:101EA00027E137EB41ED58E3602F792F8A2F912FEF +:101EB0000F94EBC018160CF049C1B1E06296BFAFA9 +:101EC00062972FA53BA94BAD5FA9602F7FA18BA582 +:101ED000912F0F94EBC01816A4F062961FAE629774 +:101EE0002FA53BA94BAD5FA9602F7FA18BA5912F9B +:101EF0000F94EFBE6E966CAF7DAF8EAF9FAF6E97B7 +:101F000016C0202F3FA14BA5512F6FA57BA98BADEC +:101F10009FA90F94EFBE6E966CAF7DAF8EAF9FAF53 +:101F20006E970FA5EBA9EFA3FBADFBA71FA92AE4B2 +:101F300037E127963FAF2EAF27974EE757E1A096A0 +:101F40005FAF4EAFA097CE010196A2969FAF8EAF26 +:101F5000A297412C512C80E8682E8FE3782E24968E +:101F60001FAE24972796AEADBFAD27978D909D905D +:101F7000AD90BD902796BFAFAEAF2797A296EEADBE +:101F8000FFADA297C190D190E190F190A296FFAFE2 +:101F9000EEAFA2976296FFAD6297FF2361F06E9657 +:101FA0002CAD3DAD4EAD5FAD6E97C501B4010F9444 +:101FB000BDC14B015C0124962FAD2497222381F0F3 +:101FC000A3019201C501B4010F94BDC14B015C0195 +:101FD000A3019201C701B6010F94BDC16B017C0141 +:101FE000A7019601C501B4010F94EBC020E030E0D9 +:101FF000A9011816CCF4C701B6010F94EBC018164E +:102000004CF020E030E0A901C501B4010F94E8BE16 +:1020100087FF05C0A7019601C501B40118C0F7FAF2 +:10202000F094F7F8F0941CC0C701B6010F94E8BE15 +:1020300087FD09C020E030E0A901C501B4010F947B +:10204000EBC018164CF4A5019401C701B6010F941A +:102050000EBE6B017C010EC0B7FAB094B7F8B09415 +:10206000A7019601C501B4010F94EBC0181614F432 +:1020700075016401A096AEADBFADA0978D909D9007 +:10208000AD90BD90A096BFAFAEAFA097A501940153 +:10209000C701B6010F94EBC0181694F4A70196017E +:1020A000C501B4010F94EFBE9B01AC01C301B201A5 +:1020B0000F94BDC12B013C01B1E02496BFAF249722 +:1020C0002796EEADFFAD2797EA55F74109F04ACFC5 +:1020D00024963FAD2497332361F0A3019201602F32 +:1020E0007FA18BA5912F0F94BDC1062F7FA38BA736 +:1020F000192F24EA30E74DE75FE3602F7FA18BA51E +:10210000912F0F94BDC16B017C019B01AC016091CB +:1021100042177091431780914417909145170F947F +:10212000EBC01816CCF489A0BAA0ABA09CA0A70164 +:102130009601682D7B2D8A2D992D0F94EBC01816D2 +:102140005CF4082DBFA2ABA6192D06C009A14AA1B7 +:102150004FA35BA15BA71CA1802F9FA1ABA5B12FB3 +:10216000F10182A793A7A4A7B5A7C9A0DAA0EBA005 +:10217000FCA0A7019601C701B6010F94BDC14B0198 +:102180005C0161966CAD7DAD8EAD9FAD6197905851 +:102190009B01AC010F940FBE2D962CAD3DAD4EAD05 +:1021A0005FAD2D970F94BDC19B01AC01C501B4017A +:1021B0000F940EBE0F9476C2862EB72EA82E992E9F +:1021C000262F372F482F592F602F7FA18BA5912FB6 +:1021D0000F94E8BE87FF04C0802EBFA0ABA4912E51 +:1021E000882D9B2DAA2DB92DF10186A397A3A0A719 +:1021F000B1A781E086AB80E1FE013196AAE4B7E1A8 +:1022000001900D928A95E1F78FA59BA9ABADBFA96F +:102210008093461790934717A0934817B093491798 +:10222000C0924217D0924317E0924417F09245179C +:102230008101045B1F4FD101D7966D917D918D91E6 +:102240009C91DA970F9488BF2FA53BA94BAD5FA94E +:102250000F94EFBEF80160837183828393839701AB +:102260008601482D5B2D6A2D792DC1010F94F9004F +:102270006696FFAD6697F0931E12A6962CAD3DAD07 +:102280004EAD5FADA69720935A1730935B174093DE +:102290005C1750935D17AA968CAD9DADAEADBFADEA +:1022A000AA9780935E1790935F17A0936017B093DF +:1022B00061176A962CAD3DAD4EAD5FAD6A97209328 +:1022C00062173093631740936417509365172396F2 +:1022D0008CAD9DADAEADBFAD239780936617909347 +:1022E0006717A0936817B0936917CE0181960F9472 +:1022F000C20280916F00826080936F00C659DF4FE9 +:102300000FB6F894DEBF0FBECDBFDF91CF911F9106 +:102310000F91FF90EF90DF90CF90BF90AF909F9084 +:102320008F907F906F905F904F903F902F90089587 +:102330002F923F924F925F926F927F928F929F92D5 +:10234000AF92BF92CF92DF92EF92FF920F931F93C3 +:10235000CF93DF93CDB7DEB727970FB6F894DEBFE4 +:102360000FBECDBF362E7F838B83292E49015A01A4 +:1023700027013801DA82C98280914A11882309F441 +:1023800063C020913A1130913B1140913C11509122 +:102390003D118B810F94BDC16B017C0120913E11D9 +:1023A00030913F114091401150914111C501B4014C +:1023B0000F94BDC19B01AC01C701B6010F940FBEC4 +:1023C0002091221130912311409124115091251117 +:1023D0000F940FBEF62EE72ED82EC92E2091421153 +:1023E000309143114091441150914511632D7F81EB +:1023F0008B81922D0F94BDC16B837C838D839E83D3 +:102400002091461130914711409148115091491146 +:10241000C501B4010F94BDC19B01AC016B817C81EE +:102420008D819E810F940FBE20912611309127112E +:1024300040912811509129110F940FBE4B015C015E +:102440003F2CEF82DB822C2C2091AA173091AB1706 +:102450004091AC175091AD17632D7F818B81922DE8 +:102460000F94BDC10F948DC160935A1770935B1781 +:1024700080935C1790935D172091AE173091AF1742 +:102480004091B0175091B117C501B4010F94BDC16F +:102490000F948DC160935E1770935F1780936017E0 +:1024A0009093611780914B118823C9F095018401A5 +:1024B000432D5F816B81722D8BE491E10E9411436A +:1024C0009B01AC01C301B2010F940FBE2091B21762 +:1024D0003091B3174091B4175091B5170AC02091AD +:1024E000B2173091B3174091B4175091B517C3018B +:1024F000B2010F94BDC10F948DC1609362177093A8 +:10250000631780936417909365172091B6173091E5 +:10251000B7174091B8175091B917E981FA816081D6 +:102520007181828193810F94BDC10F948DC160939D +:10253000661770936717809368179093691726E65C +:1025400037E142E657E16EE577E18AE597E10F94DE +:102550009D1C109246171092471710924817109220 +:10256000491710924A1710924B1710924C1710925D +:102570004D1710924E1710924F171092501710923D +:10258000511710925217109253171092541710921D +:1025900055171092561710925717109258171092FD +:1025A000591727960FB6F894DEBF0FBECDBFDF9147 +:1025B000CF911F910F91FF90EF90DF90CF90BF9040 +:1025C000AF909F908F907F906F905F904F903F90D3 +:1025D0002F9008952091B2173091B3174091B417FE +:1025E0005091B517FC0160817181828193810F94B4 +:1025F000BDC10F948DC16093621770936317809370 +:1026000064179093651726E637E142E657E16EE5D9 +:1026100077E18AE597E10D949D1C2091B6173091E2 +:10262000B7174091B8175091B917FC0160817181BB +:10263000828193810F94BDC10F948DC16093661701 +:1026400070936717809368179093691786E697E1F0 +:102650000D94D91C60936D0270936E0280936F028B +:10266000909370020895CF92DF92EF92FF920F93B2 +:102670001F93CF93DF9300D01F92CDB7DEB7FAE957 +:10268000CF2EF7E1DF2EAAEAEA2EA7E1FA2E0AE61C +:1026900017E1F60161917191819191916F01F701BB +:1026A00021913191419151917F0129833A834B834B +:1026B0005C830F9488BF29813A814B815C810F94A0 +:1026C000BDC10F945CBFF8016193719381939193A5 +:1026D0008F01FAEACF16F7E1DF06D9F60F900F90D7 +:1026E0000F900F90DF91CF911F910F91FF90EF907E +:1026F000DF90CF90089580911E1290911D12891B3A +:102700008F70089530911E1220911D12321791F092 +:10271000E0911E12E11101C0E0E1E15022E5E20288 +:10272000F0011124E159FD4E20813181280F391F1C +:1027300031832083089550911E1240911D1280E034 +:1027400090E062E5541761F0649FF0011124E159B3 +:10275000FD4E20813181820F931F4F5F4F70F2CF6A +:10276000089590915908911107C09091C00095FF6C +:10277000FCCF8093C6000895913031F49091C80049 +:1027800095FFFCCF8093CE000895CF93DF931F92E7 +:102790001F92CDB7DEB78091590881110FC080918B +:1027A000C00087FF32C08091C00084FF04C08091C8 +:1027B000C6008A832AC06091C60010C0813029F506 +:1027C0008091C80087FF21C08091C80084FF04C0A9 +:1027D0008091CE00898319C06091CE002091550868 +:1027E00030915608C90101968F7799274091570873 +:1027F000509158088417950741F0F901EB52F84FB2 +:10280000608390935608809355080F900F90DF9146 +:10281000CF9108950F931F93CF93DF938091E91782 +:10282000811109C08091E817811105C08091E717D7 +:10283000882309F495C0E4E5FEE08491EF01882344 +:1028400029F08FDF2196FE018491F9CFC2ECDAE402 +:10285000FE0105911491F8018491882321F081DF14 +:102860000F5F1F4FF8CF8091E917882319F160910E +:10287000EA177091EB178091EC179091ED170F9478 +:102880008ABF2091AA173091AB174091AC17509195 +:10289000AD170F94EFBEAB01BC0181EE9CE40E942A +:1028A000F446FE01859194916FED7CE40E9411CD78 +:1028B0000F9496498091E817882319F16091EE17DB +:1028C0007091EF178091F0179091F1170F948ABFD4 +:1028D0002091AE173091AF174091B0175091B117BA +:1028E0000F94EFBEAB01BC018BED9CE40E94F4465B +:1028F000FE018591949169ED7CE40E9411CD0F94C5 +:1029000096498091E717882319F16091F217709129 +:10291000F3178091F4179091F5170F948ABF2091C7 +:10292000B2173091B3174091B4175091B5170F9467 +:10293000EFBEAB01BC0185ED9CE40E94F446FE01B4 +:102940008591949163ED7CE40E9411CD0F9496499A +:102950008AE007DF1092E9171092E8171092E71744 +:10296000DF91CF911F910F9108958091E917811107 +:1029700007C08091E817811103C08091E71701C05B +:1029800081E01092E9171092E8171092E717089566 +:102990008091E7171092E717089590917502809340 +:1029A0007502892F08959091E0178093E017109297 +:1029B000E717892F08950F931F93CF93DF9380918B +:1029C0001F1890912018892B09F085C190911E1233 +:1029D00080911D12981771F080911D1222E5829F3F +:1029E000C0011124815E9D4EFC01E55BFF4F21E09B +:1029F000208302C080E090E09093201880931F18FD +:102A0000009709F462C110922218109221180E94B6 +:102A100070CC1092FC171092FD171092FE171092B6 +:102A2000FF17E0911F18F091201867A970AD61346D +:102A30008CE9780728F46132EEE47E0748F002C0A2 +:102A400060E47CE9769567957695679584E007C0A4 +:102A50006131F7E27F0730F07695679582E08093E9 +:102A6000F91708C081E08093F9176032710510F4FE +:102A700060E270E08B0100521109011528E0120795 +:102A8000D0F0812F9927880F991F880F991F8B519C +:102A90009F4AFC01329645915491AA27059F9001C7 +:102AA000049F210D3A1F06942A1F3A1F1124FC018E +:102AB000859194911DC0C801969587958C7F8B5107 +:102AC000934BFC01459154910296FC0185919491A0 +:102AD000B80167707727869F9001879F300D969F7A +:102AE000300D1124B3E036952795BA95E1F7CA0168 +:102AF000821B930B8436910590F4ECE2F8E4C591C7 +:102B0000D4918991882311F02CDEFBCF4AE050E06C +:102B1000B80184ED97E00E94634184E690E09093D1 +:102B2000F8178093F7178091F9178093F617E091C3 +:102B30001F18F091201863AD74AD7093FB1760936C +:102B4000FA1761348CE9780728F46132EEE47E07E5 +:102B500048F002C060E47CE97695679576956795C4 +:102B600084E007C06131F7E27F0730F07695679522 +:102B700082E08093F91708C081E08093F9176032F2 +:102B8000710510F460E270E08B010052110901152B +:102B900028E01207E0F0812F9927880F991F880FEE +:102BA000991F8B519F4AFC01329625913491AA2797 +:102BB000039FA001029F410D5A1F06944A1F5A1FEE +:102BC0001124FC0125913491241B350B1EC0C80132 +:102BD000969587958C7F8B51934BFC012591349171 +:102BE0000296FC0145915491B80167707727469F82 +:102BF000C001479F900D569F900D112443E096957C +:102C000087954A95E1F7281B390B2436310590F456 +:102C1000ECE2F8E4C591D4918991882311F0A1DD0B +:102C2000FBCF4AE050E0B80184ED97E00E94634199 +:102C300024E630E0C901A0E0B0E080930018909352 +:102C40000118A0930218B0930318309389002093C1 +:102C50008800E0911F18F091201880899189A2893D +:102C6000B389B695A79597958795B095A0959095BA +:102C700081959F4FAF4FBF4F8093141890931518B5 +:102C8000A0931618B09317188093101890931118EA +:102C9000A0931218B093131880930C1890930D18EA +:102CA000A0930E18B0930F188093081890930918EA +:102CB000A0930A18B0930B181092041810920518DC +:102CC000109206181092071806C080ED97E09093B6 +:102CD0008900809388001092CE17E0911F18F09120 +:102CE0002018309709F4E6C5808D8093181880FF6E +:102CF00007C080910B01816080930B018FEF06C0AC +:102D000080910B018E7F80930B0181E08093710293 +:102D10008091181881FF07C080910B018D7F8093EF +:102D20000B018FEF06C080910B01826080930B0135 +:102D300081E080937202209118183091750220FF73 +:102D40003FC0332309F479C04091060142FB442778 +:102D500040F940931E18442381F18091E61788239F +:102D600061F1E0911F18F091201880819181A2817A +:102D7000B381181619061A061B06FCF48091CF17AA +:102D80009091D017A091D117B091D2178093EA17E4 +:102D90009093EB17A093EC17B093ED1781E080931D +:102DA000E91780899189A289B38980930418909347 +:102DB0000518A0930618B09307184093E6173DC076 +:102DC0003323D9F14091060142FB442740F9409357 +:102DD0001D18442381F18091E517882361F1E0916A +:102DE0001F18F091201880819181A281B38118165B +:102DF00019061A061B06FCF48091CF179091D01784 +:102E0000A091D117B091D2178093EA179093EB1746 +:102E1000A093EC17B093ED1781E08093E9178089B8 +:102E20009189A289B3898093041890930518A0937F +:102E30000618B09307184093E51721FF3FC03323CE +:102E400009F479C030910601331F3327331F3093C3 +:102E50001C18332381F18091E417882361F1E091FC +:102E60001F18F091201884819581A681B7811816CA +:102E700019061A061B06FCF48091D3179091D417FB +:102E8000A091D517B091D6178093EE179093EF17B6 +:102E9000A093F017B093F11781E08093E817808931 +:102EA0009189A289B3898093041890930518A093FF +:102EB0000618B09307183093E4173DC03323D9F1B7 +:102EC00030910601331F3327331F30931B183323F0 +:102ED00081F18091E317882361F1E0911F18F0914F +:102EE000201884819581A681B781181619061A06C3 +:102EF0001B06FCF48091D3179091D417A091D5179D +:102F0000B091D6178093EE179093EF17A093F01718 +:102F1000B093F11781E08093E81780899189A289A5 +:102F2000B3898093041890930518A0930618B09362 +:102F300007183093E31780910B0122FF4FC0846084 +:102F400080930B018FEF8093730280917502882329 +:102F500009F488C08091E017811184C01C9906C0D3 +:102F60002091060126FB222720F901C021E02093B1 +:102F70001A18222381F18091E217882361F1E091F0 +:102F80001F18F091201880859185A285B3851816A9 +:102F900019061A061B06FCF48091D7179091D817D2 +:102FA000A091D917B091DA178093F2179093F31785 +:102FB000A093F417B093F51781E08093E717808909 +:102FC0009189A289B3898093041890930518A093DE +:102FD0000618B09307182093E21744C08B7F8093A4 +:102FE0000B0131E030937302809175028823D1F197 +:102FF0002091060126FB222720F92093191822236D +:1030000079F18091E117882359F1E0911F18F0912F +:10301000201880859185A285B385181619061A0691 +:103020001B06F4F48091D7179091D817A091D91767 +:10303000B091DA178093F2179093F317A093F417D7 +:10304000B093F5173093E71780899189A289B389E6 +:103050008093041890930518A0930618B09307184E +:103060002093E1178091E0178823B1F11C9906C0E5 +:103070002091060126FB222720F901C021E02093A0 +:103080001A18222339F18091E217882319F18091CF +:10309000D7179091D817A091D917B091DA178093CC +:1030A000F2179093F317A093F417B093F51781E0FC +:1030B0008093E717E0911F18F0912018808991897B +:1030C000A289B3898093041890930518A0930618D9 +:1030D000B09307182093E217809118189FB783FFC9 +:1030E00009C0F89480910B018F7B80930B019FBFE7 +:1030F0008FEF08C0F89480910B01806480930B01DE +:103100009FBF81E08093740210E08091F917181737 +:1031100008F0ACC184ED97E038DBE0911F18F09126 +:1031200020188091141890911518A0911618B0913C +:1031300017184081518162817381840F951FA61FEA +:10314000B71F8093141890931518A0931618B09376 +:103150001718181619061A061B06F4F5409A8091DE +:10316000CE1781608093CE17E0911F18F091201840 +:103170008091141890911518A0911618B0911718F5 +:103180004089518962897389841B950BA60BB70B03 +:103190008093141890931518A0931618B0931718CD +:1031A000409171028091CF179091D017A091D117C3 +:1031B000B091D217552747FD5095652F752F840F75 +:1031C000951FA61FB71F8093CF179093D017A0937A +:1031D000D117B093D2174098E0911F18F0912018A2 +:1031E0008091101890911118A0911218B091131895 +:1031F0004481558166817781840F951FA61FB71F73 +:103200008093101890931118A0931218B09313186C +:10321000181619061A061B06F4F5419A8091CE1766 +:1032200082608093CE17E0911F18F0912018809152 +:10323000101890911118A0911218B091131840898C +:10324000518962897389841B950BA60BB70B8093F8 +:10325000101890931118A0931218B093131840915E +:1032600072028091D3179091D417A091D517B09185 +:10327000D617552747FD5095652F752F840F951F3D +:10328000A61FB71F8093D3179093D417A093D51779 +:10329000B093D6174198E0911F18F09120188091B3 +:1032A0000C1890910D18A0910E18B0910F18408530 +:1032B000518562857385840F951FA61FB71F809364 +:1032C0000C1890930D18A0930E18B0930F181816A1 +:1032D00019061A061B06F4F5429A8091CE178460EF +:1032E0008093CE17E0911F18F091201880910C1850 +:1032F00090910D18A0910E18B0910F184089518926 +:1033000062897389841B950BA60BB70B80930C18ED +:1033100090930D18A0930E18B0930F18409173025C +:103320008091D7179091D817A091D917B091DA173B +:10333000552747FD5095652F752F840F951FA61FA4 +:10334000B71F8093D7179093D817A093D917B0932E +:10335000DA174298E0911F18F09120188091081810 +:1033600090910918A0910A18B0910B1844855585C1 +:1033700066857785840F951FA61FB71F8093081851 +:1033800090930918A0930A18B0930B1818161906F1 +:103390001A061B060CF042C0439AE0911F18F091E8 +:1033A00020188091081890910918A0910A18B091DE +:1033B0000B184089518962897389841B950BA60B70 +:1033C000B70B8093081890930918A0930A18B0932C +:1033D0000B18409174028091DB179091DC17A0913B +:1033E000DD17B091DE17552747FD5095652F752FD6 +:1033F000840F951FA61FB71F8093DB179093DC17D0 +:10340000A093DD17B093DE17439880912118909117 +:103410002218019690932218809321188091041805 +:1034200090910518A0910618B09107180196A11D5A +:10343000B11D8093041890930518A0930618B093BB +:103440000718409104185091051860910618709162 +:103450000718E0911F18F091201880899189A2899E +:10346000B389481759076A077B07B0F040910418E1 +:10347000509105186091061870910718E0911F1877 +:10348000F0912018828D938DA48DB58D84179507AA +:10349000A607B70718F4D9C01F5F37CE40910018B0 +:1034A00050910118609102187091031804891589D0 +:1034B00026893789AA27419FB12D529FC001629F5B +:1034C000900D619F800D911D429FB00D811D9A1F2F +:1034D000519FB00D811D9A1F609FB00D811D9A1FD5 +:1034E000509FB10D8A1F9A1FB6958A1F9A1F1124EB +:1034F00043AD54AD480F591F5093FB174093FA1733 +:1035000087A990ADA1ADB2AD60E070E084179507DA +:10351000A607B70720F49093FB178093FA176091E2 +:10352000FA177091FB1761348CE9780728F461323F +:10353000EEE47E0748F002C060E47CE9769567958A +:103540007695679584E007C06131F7E27F0730F038 +:103550007695679582E08093F91708C081E08093A3 +:10356000F9176032710510F460E270E08B010052CF +:103570001109011528E01207E0F0812F9927880F23 +:10358000991F880F991F8B519F4AFC0132962591F4 +:103590003491AA27039FA001029F410D5A1F069450 +:1035A0004A1F5A1F1124FC0125913491241B350B0D +:1035B0001EC0C801969587958C7F8B51934BFC015B +:1035C000259134910296FC0145915491B8016770A0 +:1035D0007727469FC001479F900D569F900D11245D +:1035E000A3E096958795AA95E1F7281B390B243619 +:1035F000310590F4ECE2F8E4C591D49189918823E7 +:1036000011F0AFD8FBCF4AE050E0B80184ED97E06D +:103610000E94634124E630E03093890020938800C3 +:103620008091001890910118A0910218B091031890 +:10363000820F931FA11DB11D809300189093011854 +:10364000A0930218B0930318F5C04091041850914C +:1036500005186091061870910718868D978DA0A1A6 +:10366000B1A184179507A607B70708F0D7C0409106 +:10367000FC175091FD176091FE177091FF17048998 +:10368000158926893789AA27419FB12D529FC001EC +:10369000629F900D619F800D911D429FB00D811D15 +:1036A0009A1F519FB00D811D9A1F609FB00D811D03 +:1036B0009A1F509FB10D8A1F9A1FB6958A1F9A1F95 +:1036C00011242091FA173091FB17FF96281739071C +:1036D00018F42081318102C0281B390B808191812F +:1036E000A281B381A90160E070E0481759076A0719 +:1036F0007B0708F49C0121348CE9380728F4213237 +:10370000EEE43E0748F002C020E43CE936952795F8 +:103710003695279584E007C02131F7E23F0730F066 +:103720003695279582E08093F91708C081E0809351 +:10373000F9172032310510F420E230E089010052FF +:103740001109011528E01207E0F0812F9927880F51 +:10375000991F880F991F8B519F4AFC013296259122 +:103760003491AA27039FA001029F410D5A1F06947E +:103770004A1F5A1F1124FC0125913491241B350B3B +:103780001EC0C801969587958C7F8B51934BFC0189 +:10379000259134910296FC0145915491B8016770CE +:1037A0007727469FC001479F900D569F900D11248B +:1037B00043E0969587954A95E1F7281B390B243607 +:1037C000310598F4ECE2F8E4C591D491899188230D +:1037D00019F00F94B113FACF4AE050E0B80184ED2C +:1037E00097E00E94634124E630E030938900209303 +:1037F00088008091FC179091FD17A091FE17B09161 +:10380000FF17820F931FA11DB11D8093FC1790938A +:10381000FD17A093FE17B093FF170CC08091F71708 +:103820009091F81790938900809388008091F61703 +:103830008093F9170091041810910518209106182B +:103840003091071880911F1890912018FC01408931 +:10385000518962897389E0912118F0912218041727 +:10386000150726073707C0F0BF010E9498CC1092B9 +:103870002218109221181092201810921F1890915F +:103880001E1280911D129817A9F080911D128F5F52 +:103890008F7080931D120EC020916B0230916C02CC +:1038A000E217F3073CF0BF010E9498CC1092221857 +:1038B000109221188091CE17DF91CF911F910F9117 +:1038C0000D9403341F920F920FB60F9211240BB672 +:1038D0000F922F933F934F935F936F937F938F93A9 +:1038E0009F93AF93BF93EF93FF9365D8FF91EF91B1 +:1038F000BF91AF919F918F917F916F915F914F9108 +:103900003F912F910F900BBE0F900FBE0F901F9005 +:10391000189590911E1280911D12981769F00F94BE +:103920001B290F944B3A8111F4CF81E00E94A85DCE +:1039300080E00F94FF84EDCF0895CF93DF93EFB72E +:10394000F894EC0188819981AA81BB818093CF177B +:103950009093D017A093D117B093D217EB01888121 +:103960009981AA81BB818093D3179093D417A09398 +:10397000D517B093D617EA0188819981AA81BB81B6 +:103980008093D7179093D817A093D917B093DA17CD +:10399000E90188819981AA81BB818093DB1790938B +:1039A000DC17A093DD17B093DE17EFBFDF91CF9147 +:1039B00008952FB7F894FC0180819181A281B38191 +:1039C0008093DB179093DC17A093DD17B093DE177D +:1039D0002FBF08952FB7F89494E0899FF001112428 +:1039E000E153F84E60817181828193812FBF0895E8 +:1039F000CF93C82FEFDF0F948ABF24E0C29FF0015E +:103A00001124E655F84E20813181428153810F9473 +:103A1000EFBECF9108957DDF179A10922709169A6D +:103A200010922809149A089580916F008D7F8093D9 +:103A30006F0090911E1280911D12981769F090915D +:103A40001E1280911D129817A1F380911D128F5F95 +:103A50008F7080931D12EDCF1092201810921F18B6 +:103A6000B19A109285001092840080ED97E09093B7 +:103A700089008093880080916F00826080936F003E +:103A80000895CF93DF93CDB7DEB72C970FB6F89498 +:103A9000DEBF0FBECDBF8130A1F120F0823009F42E +:103AA0005FC08FC017982091090121709FB76111E5 +:103AB00005C0F89480910B01816004C0F894809156 +:103AC0000B018E7F80930B019FBF409A8091CE1790 +:103AD00081608093CE1780E090E0A0E0BFE389870B +:103AE0009A87AB87BC8740989FB7222329F0F89428 +:103AF00080910B01816062C0F89480910B018E7FF0 +:103B00005DC016982091090122709FB7662329F0A5 +:103B1000F89480910B01826004C0F89480910B01AD +:103B20008D7F80930B019FBF419A8091CE17826059 +:103B30008093CE178BEA9AEAAAE2BEE38D839E8336 +:103B4000AF83B88741989FB7222329F0F8948091DA +:103B50000B01826033C0F89480910B018D7F2EC0E1 +:103B600015982091090124709FB7611105C0F89440 +:103B700080910B01846004C0F89480910B018B7FCD +:103B800080930B019FBF429A8091CE1784608093EF +:103B9000CE178BEA9AEAAAEABEE389839A83AB83BB +:103BA000BC8342989FB7222329F0F89480910B019F +:103BB000846004C0F89480910B018B7F80930B018B +:103BC0009FBF2C960FB6F894DEBF0FBECDBFDF911E +:103BD000CF910895EF92FF920F931F93CF93DF93AE +:103BE0001F92CDB7DEB77B018C01061B170B460F6A +:103BF000C701800F911F49830F9423CBF701819355 +:103C00007F0149814E13F4CF0F90DF91CF911F9127 +:103C10000F91FF90EF900895DB0181110DC02FEF00 +:103C200030E00F9412C420ED37E040E050E00F94F4 +:103C3000E1C3B9018EE21DC0813069F42FEF30E09D +:103C40000F9412C420ED37E040E050E00F94E1C340 +:103C5000B9018DE20EC0823071F42FEF30E00F9485 +:103C600012C420ED37E040E050E00F94E1C3B90109 +:103C70008CE20D94E4B6089541E06FED77E18FEFAB +:103C80009FE0A8DF61E08EE20F94FCB761E08DE277 +:103C90000F94FCB761E08CE20F94FCB78091DF17C2 +:103CA000882321F08091CB198823A9F08091760296 +:103CB00090917702909383028093820280917802A0 +:103CC00090917902909385028093840280917A0288 +:103CD00090917B0214C080917C0290917D02909320 +:103CE00083028093820280917E0290917F02909362 +:103CF000850280938402809180029091810290934A +:103D0000870280938602609182027091830280E034 +:103D100083DF609184027091850281E07DDFA09154 +:103D20008602B09187022FEF30E00F9412C420ED8D +:103D300037E040E050E00F94E1C3B9018CE20F940A +:103D4000E4B680912101887F8160809321010895EC +:103D50000F94AC3791DFEAE0F1E0808181608083ED +:103D600080818260808380818460808380818064A0 +:103D700080830F9A179A0E9A169A0D9A159A0C9A92 +:103D8000149AE7E0F1E080818B7F80839FB7F894FD +:103D9000E8E0F1E08081846080839FBFE7E0F1E0AC +:103DA00080818F7780839FB7F894E8E0F1E080818D +:103DB000806880839FBFE7E0F1E080818F7B808314 +:103DC0009FB7F894E8E0F1E08081806480839FBF32 +:103DD000E7E0F1E08081877F80839FB7F894E8E097 +:103DE000F1E08081886080839FBF26982E9A259875 +:103DF0002D9A24982C9AE7E0F1E080818B7F8083D4 +:103E00009FB7F894E8E0F1E08081846080839FBFF1 +:103E1000E7E0F1E080818F7780839FB7F894E8E056 +:103E2000F1E08081806880839FBF0998119A389A59 +:103E30004098179A10922709399A4198169A109229 +:103E400028093A9A42983B9A4398149AA1E8B0E01C +:103E50008C918F7E8C938C9188608C93E0E8F0E05D +:103E600080818D7F808380818E7F808380818F732E +:103E7000808380818F7C80838C91887F82608C930B +:103E800080E090E4909389008093880010928500F0 +:103E900010928400EFE6F0E080818260808381E010 +:103EA000809375027894089580938A0260938902C2 +:103EB0004093880261E00F94FCB761E08091890231 +:103EC0000F94FCB761E080918A020F9435B861E0ED +:103ED000809189020F9435B888EE93E00D9477B6FF +:103EE000CF93DF93EC0160E080918A020F9435B8A4 +:103EF000CE010F9477B660E0809189020F9435B8B7 +:103F0000CE01DF91CF910D9477B6CF93DF93EC0183 +:103F100061E0809189020F9435B8CE010F9477B695 +:103F200061E080918A020F9435B8CE01DF91CF9184 +:103F30000D9477B60F931F93CF93DF93EC018B0112 +:103F400060E080918A020F94FCB7CE010F9477B69F +:103F5000CE010F9477B661E0809189020F9435B855 +:103F600080918A020F946AB8892B19F401E010E05D +:103F70000CC00115110519F400E010E006C0015055 +:103F80001109CE010F9477B6EBCF60E080918902E2 +:103F90000F9435B8CE010F9477B661E080918A0214 +:103FA0000F94FCB7CE010F9477B660E080918A023F +:103FB0000F9435B8CE010F9477B6C801DF91CF9139 +:103FC0001F910F910895DF92EF92FF920F931F932D +:103FD000CF93DF937C0161E080918A020F9435B822 +:103FE000C7010F9477B660E080918A020F94FCB706 +:103FF00007E010E0D12C61E0809189020F9435B880 +:10400000C7010F9477B680918A020F946AB8C1E015 +:10401000D0E0892B11F4C0E0D0E0002E01C0CC0F1D +:104020000A94EAF7CD29DC2E60E0809189020F9492 +:1040300035B8C7010F9477B601501109E0F661E079 +:1040400080918A020F94FCB78C2FDF91CF911F9142 +:104050000F91FF90EF90DF900895EF92FF920F93F2 +:104060001F93CF93DF938C01C7E0D0E0E62EF12CB5 +:10407000C7010C2E02C0959587950A94E2F780FF40 +:1040800002C061E001C060E080918A020F9435B8FF +:10409000C8010F9477B661E0809189020F9435B81A +:1040A000C8010F9477B660E0809189020F9435B80B +:1040B000C8010F9477B62197D8F6DF91CF911F9161 +:1040C0000F91FF90EF9008959F92AF92BF92CF9281 +:1040D000DF92EF92FF920F931F93CF93DF93E82E1F +:1040E000962E5A0190918802C92FCF7021E030E0BE +:1040F000A90102C0440F551FCA95E2F7EA01929543 +:104100009F70690102C0CC0CDD1C9A95E2F7CA01D0 +:10411000E7DEF12CEE0CFF1C6E2DCE019EDFB6010A +:10412000CE0108DF8C01009719F4CE01EEDE24C029 +:10413000692DCE0192DFB601CE01FCDE892B19F488 +:1041400000E010E019C0CE01E0DECE01C9DE6E2D28 +:104150006160CE0182DFB601CE01ECDE892B81F3F6 +:10416000CE0131DF182FCE01D0DEA114B10411F041 +:10417000F501108301E010E0C801DF91CF911F919C +:104180000F91FF90EF90DF90CF90BF90AF909F90F6 +:104190000895BF92CF92DF92EF92FF920F931F93F9 +:1041A000CF93DF93182FB62E6A0190918802C92F02 +:1041B000CF7021E030E0A90102C0440F551FCA951D +:1041C000E2F7EA0192959F70790102C0EE0CFF1CA4 +:1041D0009A95E2F7CA0184DE612F70E0660F771FBF +:1041E000CE013BDFB701CE01A5DE8C01009719F4AB +:1041F000CE018BDE18C06B2DCE012FDFB701CE01B3 +:1042000099DE892B19F400E010E00DC0F601608101 +:10421000CE0123DFB701CE018DDE892BA1F3CE01C4 +:1042200074DE01E010E0C801DF91CF911F910F9182 +:10423000FF90EF90DF90CF90BF9008954F925F92E4 +:104240006F927F928F929F92AF92BF92CF92DF92A6 +:10425000EF92FF920F931F93CF93DF932C0124E3F0 +:1042600039E581E090E0F9014591549144165506F5 +:104270000CF062C0AC0141505109DA01AA0FBB1F1A +:10428000AA0FBB1FAE5CB64AFD0165917491440F45 +:10429000551F440F551F405D564AFA0165907490B2 +:1042A000FC01EE0FFF1FEE0FFF1FEE5CF64AA5901C +:1042B000B490FD0105911491F901C591D491FA01D1 +:1042C00085909490882777FD8095982F0F948ABFCA +:1042D0006B017C01B20166197709882777FD80950B +:1042E000982F0F948ABF2B013C01B501601B710B05 +:1042F000882777FD8095982F0F948ABF9B01AC018A +:10430000C301B2010F94BDC12B013C01BE0168196C +:104310007909882777FD8095982F0F948ABF9B0194 +:10432000AC01C301B2010F94EFBE9B01AC01C70108 +:10433000B6010F940FBE11C001962C5F3F4F8D3315 +:10434000910509F090CFE2E2FAE565917491882732 +:1043500077FD8095982F0F948ABF6B017C0120E038 +:1043600030E040E252E4C701B6010F94EBC087FD94 +:104370001BC020E030E048E452E4C701B6010F94CE +:10438000E8BE18168CF020E030E040E252E4C701AD +:10439000B6010F940EBE20E030E040E05FE30F94E2 +:1043A000BDC19B01AC013FC020E030E048E452E4D5 +:1043B000C701B6010F94EBC018163CF520E030E0C1 +:1043C00048EC52E4C701B6010F94E8BE1816ECF0B1 +:1043D00020E030E040EA50E4C701B6010F940FBE80 +:1043E0004B015C0120E030E048E452E4C701B60133 +:1043F0000F940EBE2DEC3CEC4CEC5DE30F94BDC174 +:104400009B01AC01C501B40110C020E030E048ECD4 +:1044100052E4C701B6010F94EBC0181654F420E023 +:1044200030E040E251E4C701B6010F940FBE6B01CA +:104430007C01C701B601DF91CF911F910F91FF90D1 +:10444000EF90DF90CF90BF90AF909F908F907F9034 +:104450006F905F904F90089590915908911107C007 +:104460009091C00095FFFCCF8093C60008959130D5 +:1044700031F49091C80095FFFCCF8093CE00089551 +:104480004F925F926F927F928F929F92AF92BF9264 +:10449000CF92DF92EF92FF920F931F93CF93DF9310 +:1044A0002C0124EB38E581E090E0F901459154912D +:1044B000441655060CF062C0AC0141505109DA01B6 +:1044C000AA0FBB1FAA0FBB1FAE54B74AFD016591CF +:1044D0007491440F551F440F551F4055574AFA0118 +:1044E00065907490FC01EE0FFF1FEE0FFF1FEE545E +:1044F000F74AA590B490FD0105911491F901C59179 +:10450000D491FA0185909490882777FD8095982F13 +:104510000F948ABF6B017C01B20166197709882765 +:1045200077FD8095982F0F948ABF2B013C01B50130 +:10453000601B710B882777FD8095982F0F948ABF99 +:104540009B01AC01C301B2010F94BDC12B013C0121 +:10455000BE0168197909882777FD8095982F0F94F7 +:104560008ABF9B01AC01C301B2010F94EFBE9B0156 +:10457000AC01C701B6010F940FBE11C001962C5FAC +:104580003F4F8032910509F090CFEEE2F9E5659159 +:104590007491882777FD8095982F0F948ABFDF91BB +:1045A000CF911F910F91FF90EF90DF90CF90BF9030 +:1045B000AF909F908F907F906F905F904F900895F5 +:1045C0004F925F926F927F928F929F92AF92BF9223 +:1045D000CF92DF92EF92FF920F931F93CF93DF93CF +:1045E00060E08091B8189091B9184ADF6093B418D0 +:1045F0007093B5188093B6189093B7188091B2183D +:104600009091B3181BDE6093AE187093AF1880932F +:10461000B0189093B1184090AC185090AD182CE29F +:1046200038E581E090E0F901459154914416550632 +:104630000CF062C0AC0141505109DA01AA0FBB1F56 +:10464000AA0FBB1FA65DB74AFD0165917491440F87 +:10465000551F440F551F485D574AFA0165907490E5 +:10466000FC01EE0FFF1FEE0FFF1FE65DF74AA5905E +:10467000B490FD0105911491F901C591D491FA010D +:1046800085909490882777FD8095982F0F948ABF06 +:104690006B017C01B20166197709882777FD809547 +:1046A000982F0F948ABF2B013C01B501601B710B41 +:1046B000882777FD8095982F0F948ABF9B01AC01C6 +:1046C000C301B2010F94BDC12B013C01BE016819A9 +:1046D0007909882777FD8095982F0F948ABF9B01D1 +:1046E000AC01C301B2010F94EFBE9B01AC01C70145 +:1046F000B6010F940FBE11C001962C5F3F4F82325E +:10470000910509F090CFEEEAF8E56591749188275C +:1047100077FD8095982F0F948ABF6093A8187093A7 +:10472000A9188093AA189093AB188091A218909121 +:10473000A31884DD60939E1870939F188093A0182F +:104740009093A1188FB7F894109285188FBFDF91BE +:10475000CF911F910F91FF90EF90DF90CF90BF907E +:10476000AF909F908F907F906F905F904F90089543 +:104770002091A6023091A7024091A8025091A9026F +:1047800060E070E08FE793E40F94EFBE60936518EC +:10479000709366188093671890936818209196021A +:1047A00030919702409198025091990260E070E038 +:1047B0008FE793E40F94EFBE60934418709345180D +:1047C0008093461890934718089597FF03C08091EF +:1047D0008C1804C0FC01ED5BF74E808190E00895D9 +:1047E000CF93DF93D82FC62FC19561E00F94FCB70C +:1047F0006C2F8D2F0F9435B86C2F70E08D2FDF91BB +:10480000CF910D94E4B68F929F92AF92BF92CF92C8 +:10481000DF92EF92FF920F931F93CF93DF93C6E641 +:10482000D9E068817981882777FD8095982F0F944A +:104830008ABF6B017C010F9411B600913F18109153 +:1048400040182091411830914218601B710B820B67 +:10485000930B0F9488BF9B01AC0160E070E08AE786 +:1048600093E40F94EFBE9B01AC01C701B6010F9416 +:10487000BDC10F9457BF709363096093620908E646 +:1048800019E0F80160817181882777FD8095982F64 +:104890000F948ABF6B017C010F9411B680903F1872 +:1048A00090904018A0904118B0904218681979096A +:1048B0008A099B090F9488BF9B01AC0160E070E0FE +:1048C0008AE793E40F94EFBE9B01AC01C701B601E8 +:1048D0000F94BDC10F9457BF70936509609364092D +:1048E00019821882F80111821082DF91CF911F91F5 +:1048F0000F91FF90EF90DF90CF90BF90AF909F907F +:104900008F9008951F93CF93DF93182F0F94CA4968 +:10491000882321F08091CC19811186C08091C20931 +:10492000882379F020917D0930917E09232B19F09D +:104930000F949B8617C081E08093CC190F9490420E +:1049400011C01092BD181092BC18E4E2F7E58491F2 +:10495000EF01882329F080DD2196FE018491F9CFB3 +:104960008AE07ADD112341F0113009F05DC0EEEBF1 +:10497000F6E58491EF012CC0EAEFF6E58491EF01B2 +:10498000882329F069DD2196FE018491F9CF8AE020 +:1049900063DD0F94CA49811147C09FB7F894809195 +:1049A00002018460809302019FBF88EC90E00F9425 +:1049B00077B69FB7F894809102018B7F80930201B4 +:1049C0009FBF84E690E00F9477B685EE96E527C00A +:1049D000882329F041DD2196FE018491F9CF8AE0F8 +:1049E0003BDD0F94CA4981111FC09FB7F894809195 +:1049F00002018460809302019FBF88EC90E00F94D5 +:104A000077B69FB7F894809102018B7F8093020163 +:104A10009FBF84E690E00F9477B689EA96E5DF9130 +:104A2000CF911F910D94C249DF91CF911F910895AD +:104A3000CF9387E89FE00F9423CBC1E0811101C0A1 +:104A4000C0E0C09307028091620990916309892BAD +:104A5000B1F420E030E048E452E46091B418709181 +:104A6000B5188091B6189091B7180F94EBC018162E +:104A700034F4809137188F5F8093371802C01092FA +:104A800037188091640990916509892B69F48091A8 +:104A90002009909121098C34910534F080913818C7 +:104AA0008F5F8093381802C01092381880913718A1 +:104AB000863020F0CC2311F080E024DF809138187C +:104AC000803138F080910702882319F081E0CF917E +:104AD00019CFCF910895CF93C1E020E030E048E4B2 +:104AE00052E46091B4187091B5188091B618909105 +:104AF000B7180F94EBC018160CF0C0E06C2F88E0CC +:104B000090E0CF916DCE1092691810926A181092B1 +:104B10006B1810926C182091A6023091A702409158 +:104B2000A8025091A90260E070E08FE793E40F942F +:104B3000EFBE609365187093661880936718909322 +:104B40006818109248181092491810924A1810923A +:104B50004B18209196023091970240919802509103 +:104B6000990260E070E08FE793E40F94EFBE6093EA +:104B700044187093451880934618909347186D9A7F +:104B80009D9A809101018860809301010E94ED321D +:104B900080E888BD80916E00846080936E006AEF2B +:104BA00070E080E090E00F9440B68FE090E090934A +:104BB0003C1880933B1860E08091900290919102A4 +:104BC0005FDC20E030E040E751E40F94E8BE87FF6F +:104BD0000AC0809190029091910240979093910227 +:104BE00080939002E8CF81E391E090938F028093CD +:104BF0008E0260E080913D1890913E1841DC20E0EB +:104C000030E848E953E40F94EBC0181654F480914F +:104C10003D1890913E18409690933E1880933D1811 +:104C2000E8CF80918C0290918D0208DB20E030E08B +:104C300040E751E40F94E8BE87FF0AC080918C02E0 +:104C400090918D02409790938D0280938C02E9CFD2 +:104C50008091391890913A18F1DA20E030E04AEF6B +:104C600052E40F94EBC0181654F4809139189091C7 +:104C70003A18409690933A1880933918E9CF0895DE +:104C800008951092BD181092BC181092BB18109283 +:104C9000BA181092431875981092BB181092BA184F +:104CA00010928C18A59808951F93CF93DF93C82F67 +:104CB000162F81E0809311090F94141D8091C20971 +:104CC000882339F01092C20960E080EC99E00E94DC +:104CD000A5B80E94F3C3D5DF179A10922709169A38 +:104CE00010922809149AA7D280E00F94FF848FB7FE +:104CF000F894909102019460909302018FBF84EF29 +:104D000091E00F9477B68FB7F894909102019B7F52 +:104D1000909302018FBF84E690E00F9477B6CC2386 +:104D200009F454C00E94AB5A112319F087E996E5A3 +:104D300002C089E896E50F94C249EAE5FEE0849155 +:104D4000EF01882329F088DB2196FE018491F9CFB9 +:104D5000112389F1E5E6F6E58491EF01882329F036 +:104D60007BDB2196FE018491F9CF8AE075DB80918F +:104D7000010180628093010180910101886080932C +:104D800001019FB7F8948091020180628093020133 +:104D90009FBF6FEF70E086E00F94E4B68FEF90E076 +:104DA000909321098093200980ED97E0DF91CF91C6 +:104DB0001F910D9477B6E2E4F6E58491EF01882324 +:104DC000A1F24ADB2196FE018491F9CF112319F05B +:104DD0008EE296E502C08EE196E50F94C249EAE5BF +:104DE000FEE08491EF01882329F036DB2196FE0155 +:104DF0008491F9CF112381F0E5E0F6E58491EF018C +:104E0000882329F029DB2196FE018491F9CF8AE0DD +:104E1000DF91CF911F9120CBEDEEF5E58491EF016D +:104E20008823A9F319DB2196FE018491F9CF2F92F3 +:104E30003F924F925F926F927F928F929F92AF922A +:104E4000CF92DF92EF92FF920F931F93CF93DF9356 +:104E5000CDB7DEB72C970FB6F894DEBF0FBECDBF2F +:104E60001C012A013B0109831A832B833C83AA205E +:104E700049F028E631E03A87298780E090E0A0EA0F +:104E8000B0E408C0ADE2B0E0BA87A98780E090E066 +:104E9000A0E7B1E48D839E83AF83B8870F9411B6EA +:104EA0000F9488BF8101000F111F000F111FD8013F +:104EB000AA53B74E4D012D913D914D915C910F94A8 +:104EC0000EBE20E030E04AEF54E40F94EBC0181619 +:104ED0000CF099C10F9411B60F9488BFF401608350 +:104EE00071838283938320E030E0A901C701B6017A +:104EF0000F94E8BE811107C0F101EE0FFF1FE254CD +:104F0000F74E1182108298012A52374E4901A301AF +:104F10009201D4016D917D918D919C910F94E8BE89 +:104F20008823B1F120E030E0A901C301B2010F9460 +:104F3000EBC0F801EA51F74E181604F580E090E056 +:104F4000A0E8BFE380839183A283B383F40140820E +:104F5000518262827382F801E15DF74E89819A8104 +:104F6000AB81BC8180839183A283B383F101EE0F77 +:104F7000FF1FE55DF74E118210820AC01082118278 +:104F800012821382D4014D925D926D927C9213979E +:104F900020E030E040E85FE3F801EA51F74E60813D +:104FA0007181828193810F94E8BE81118BC0AA2008 +:104FB00059F02DEC3CEC4CE45FE3C301B2010F94DB +:104FC000BDC19B01AC0104C020E030E046E153E4E8 +:104FD00069817A818B819C810F94E8BE87FF72C0C2 +:104FE0004101880C991CF401E55DF74E80819181A7 +:104FF000019691838083AA2019F020E130E002C05D +:1050000028E030E0281739070CF05CC0F801E15DBA +:10501000F74E208131814281538169817A818B8170 +:105020009C810F940EBE20E030E040E050E40F94ED +:10503000E8BE9101220F331F3C872B8787FF09C0F1 +:10504000F401E95DF74E808191810196918380831F +:1050500006C0EB85FC85E95DF74E11821082F401F4 +:10506000E95DF74E20813181AA2019F082E090E0BD +:1050700002C085E090E0821793079CF48091CB19E1 +:10508000882321F080E090E00F94BF556A2D81E0E5 +:105090000BDE8091CB19882321F08BE590E00F94F3 +:1050A000BF55F801E15DF74E89819A81AB81BC81E2 +:1050B00080839183A283B383EB85FC85E55DF74E06 +:1050C00011821082A301920169817A818B819C8176 +:1050D0000F94EBC087FD19C0D801AA51B74E4D01FE +:1050E00020E030E040E85FE36D917D918D919C91EF +:1050F0000F94E8BE811109C080E090E0A0E0B0E428 +:10510000F40180839183A283B38320E030E0A9017E +:10511000C701B6010F94EBC018160CF074C02D81B6 +:105120003E814F815885C301B2010F940EBE298183 +:105130003A814B815C810F94E8BE87FF1AC02D81B4 +:105140003E814F815885C301B2010F940FBE9B0170 +:10515000AC0169817A818B819C810F94E8BE87FFC5 +:1051600008C0F101EE0FFF1FE254F74E11821082CA +:105170004AC0F801EA51F74E20E030E040E85FE332 +:1051800060817181828193810F94EBC01816DCF5E8 +:10519000F101EE0FFF1FE254F74E808191810196DD +:1051A00091838083880F991F29853A8528173907AD +:1051B00054F58091CB19882321F080E090E00F9482 +:1051C000BF556A2D80E070DD8091CB198823D9F01E +:1051D0008AE590E02C960FB6F894DEBF0FBECDBFE7 +:1051E000DF91CF911F910F91FF90EF90DF90CF90C3 +:1051F000AF909F908F907F906F905F904F903F9077 +:105200002F900D94BF552C960FB6F894DEBF0FBEAD +:10521000CDBFDF91CF911F910F91FF90EF90DF9065 +:10522000CF90AF909F908F907F906F905F904F90B6 +:105230003F902F9008952F923F924F925F926F92DE +:105240007F928F929F92AF92BF92CF92DF92EF9216 +:10525000FF920F931F93CF93DF93CDB7DEB72897BD +:105260000FB6F894DEBF0FBECDBFA895809185180C +:10527000882309F469C3A4D960918C1870E080E098 +:1052800090E00F948ABF6B017C0140909E18509073 +:105290009F186090A0187090A1186091BA18709132 +:1052A000BB18882777FD8095982F0F948ABFAB0194 +:1052B000BC01AA24A3949301820180E090E0B7DDB1 +:1052C0006091431870E080E090E00F948ABF6B011A +:1052D0007C014090B4185090B5186090B61870904A +:1052E000B7186091BC187091BD18882777FD80951C +:1052F000982F0F948ABFAB01BC01A12C93018201AE +:1053000081E090E094DD8090B4189090B518A09062 +:10531000B618B090B7180091BC181091BD18B8011C +:10532000882777FD8095982F0F948ABFA501940157 +:105330000F940EBE6B017C0160936D1870936E1814 +:1053400080936F189093701820E030E040E251E4B1 +:105350000F94EBC0181624F481E080936418F7C012 +:1053600020E030E040E251ECC701B6010F94E8BE06 +:1053700087FD02C0012B21F481E0809364180CC1E9 +:1053800080916418882351F010928118109282182D +:105390001092831810928418109264182091AA0217 +:1053A0003091AB024091AC025091AD02C701B60101 +:1053B0000F94BDC169837A838B839C836093791832 +:1053C00070937A1880937B1890937C1820918118A1 +:1053D000309182184091831850918418C701B6010A +:1053E0000F940FBE2B013C012090691830906A1871 +:1053F00010916B1800916C189101412F502F0F9450 +:10540000E8BE87FD14C02090651830906618109192 +:105410006718009168189101412F502FB201C30104 +:105420000F94EBC018161CF01201162D072DC101A8 +:10543000A12FB02F8093811890938218A093831886 +:10544000B09384182091A6023091A7024091A8023F +:105450005091A902B101812F902F0F94BDC16D838E +:105460007E838F83988760937518709376188093E6 +:1054700077189093781820917D1830917E1840917C +:105480007F1850918018C501B4010F940EBE209171 +:10549000A2023091A3024091A4025091A5020F9460 +:1054A000BDC120ED3CEC4CE45DE30F94BDC12B018C +:1054B0003C0123E333E343E75FE3609171187091AC +:1054C000721880917318909174180F94BDC19B014C +:1054D000AC01C301B2010F940FBE2B013C016093DC +:1054E00071187093721880937318909374182D81AB +:1054F0003E814F81588569817A818B819C810F948F +:105500000FBEA30192010F940EBE2B013C0120E0BF +:1055100030E04FE753E40F94EBC020E030E0A90106 +:105520001816E4F4C701B6010F94EBC018167CF40A +:10553000A7019601B101812F902F0F940EBE6093A9 +:105540008118709382188093831890938418412C4B +:10555000512CBFE76B2EB3E47B2E21C0C301B201F7 +:105560000F94E8BE87FF1BC020E030E0A901C7010F +:10557000B6010F94E8BE87FF0FC0A7019601B101E5 +:10558000812F902F0F940EBE609381187093821814 +:105590008093831890938418412C512C320180926F +:1055A0007D1890927E18A0927F18B092801820E00B +:1055B00030E048EC51E46091A8187091A9188091EE +:1055C000AA189091AB180F94E8BE87FD12C06091A5 +:1055D0003B1870913C18882777FD8095982F0F9481 +:1055E0008ABF9B01AC01C501B4010F94EBC0181632 +:1055F000DCF460918E0270918F02882777FD809590 +:10560000982F0F948ABF9B01AC01C501B4010F9480 +:10561000E8BE87FF09C0C301B2010F9457BF75955B +:1056200067956093431802C0109243180F9411B607 +:1056300000913F1810914018209141183091421864 +:10564000601B710B820B930B693E734081059105C2 +:1056500068F0D9D8EDD93FDA0F9411B660933F18AE +:1056600070934018809341189093421880909E1830 +:1056700090909F18A090A018B090A1186091BA18AF +:105680007091BB18882777FD8095982F0F948ABF5B +:10569000A50194010F940EBE6B017C0160934C1820 +:1056A00070934D1880934E1890934F1820919A0242 +:1056B00030919B0240919C0250919D020F94BDC17C +:1056C00069837A838B839C836093581870935918ED +:1056D00080935A1890935B1820916018309161184C +:1056E0004091621850916318C701B6010F940FBE24 +:1056F0008B011C01609048187090491850904A180E +:1057000040904B189301452D542D0F94E8BE87FD12 +:1057100011C0609044187090451850904618409001 +:1057200047189301452D542DB801C1010F94EBC0CA +:1057300018161CF48301252C342CC801D101809348 +:10574000601890936118A0936218B0936318209129 +:105750009602309197024091980250919902B801B7 +:10576000C1010F94BDC16D837E838F839887609341 +:105770005418709355188093561890935718209189 +:105780005C1830915D1840915E1850915F18C5010A +:10579000B4010F940EBE2091920230919302409179 +:1057A0009402509195020F94BDC120ED3CEC4CE465 +:1057B0005DE30F94BDC12B013C0123E333E343E7D9 +:1057C0005FE3609150187091511880915218909138 +:1057D00053180F94BDC19B01AC01C301B2010F94DA +:1057E0000FBE2B013C0160935018709351188093A9 +:1057F00052189093531880925C1890925D18A09262 +:105800005E18B0925F182D813E814F815885698165 +:105810007A818B819C810F940FBEA30192010F941A +:105820000EBE2B013C0120E030E04FE753E40F9423 +:10583000EBC020E030E0A9011816ACF4C701B601B6 +:105840000F94EBC018166CF5A7019601B801C101C1 +:105850000F940EBE60936018709361188093621865 +:10586000909363181EC0C301B2010F94E8BE87FF76 +:1058700022C020E030E0A901C701B6010F94E8BEC4 +:1058800087FF16C0A7019601B801C1010F940EBE93 +:1058900060936018709361188093621890936318F6 +:1058A00007C0412C512CFFE76F2EF3E47F2E03C07D +:1058B000412C512C320120E030E040E751E4C50199 +:1058C000B4010F94EBC0181684F020E030E048ECEF +:1058D00051E46091A8187091A9188091AA1890912C +:1058E000AB180F94E8BE87FF13C020E030E04AEF0A +:1058F00052E4C501B4010F94E8BE87FF09C0C3019B +:10590000B2010F9457BF7595679560938C1802C0CC +:1059100010928C1828960FB6F894DEBF0FBECDBF3C +:10592000DF91CF911F910F91FF90EF90DF90CF907B +:10593000BF90AF909F908F907F906F905F904F90AF +:105940003F902F900C94AD4928960FB6F894DEBF87 +:105950000FBECDBFDF91CF911F910F91FF90EF90C0 +:10596000DF90CF90BF90AF909F908F907F906F907F +:105970005F904F903F902F9008952F923F924F92BB +:105980005F926F927F928F929F92AF92BF92CF92CF +:10599000DF92EF92FF920F931F93CF93DF93CDB7D8 +:1059A000DEB7E7970FB6F894DEBF0FBECDBF6F8F9F +:1059B00078A389A39AA35B874A873DA72CA7309336 +:1059C0008F1820938E1810928D18109291181092A3 +:1059D00090180F9411B66B017C014A845B8457FECA +:1059E00003C00DE20FA302C01AE01FA30F9411B66B +:1059F00068A779A78AA79BA74A845B841414150417 +:105A00001CF009E615E00BC00CE715E0D8018D91FC +:105A10008D01882309F455C20F942C22F7CFF80189 +:105A200081918F01882319F00F942C22F8CF8AE0FE +:105A30000F942C2226D94A845B848FE7452871F184 +:105A400080938C18CC8ADD8AEE8AFF8AC88AD98A2C +:105A5000EA8AFB8A1986198200E40C8F1CE11D8FEB +:105A600006E40E8F188E198E1A8E1B8E8FE7482E25 +:105A7000512C612C712C4D825E826F8278864AAAED +:105A80005BAA6CAA7DAA1BA21CA21DA21EA201E0F9 +:105A90000C87212C312C1FAA1EAA06C08093431804 +:105AA000D1CF80E00F94FF84A8958091851888233A +:105AB00009F402C10F94E0224A845B84452859F01E +:105AC00020909E1830909F185090A0185FAA609068 +:105AD000A1186EAA0AC02090B4183090B518709022 +:105AE000B6187FAA0091B7180EAB91014FA95EA915 +:105AF000688D798D8A8D9B8D0F94EBC0181634F0CC +:105B0000288E398E1FA91A8F4EA84B8E91014FA94E +:105B10005EA969817C8D8D8D9E8D0F94E8BE87FD79 +:105B200006C029823C8E5FA85D8E6EA86E8E0F9493 +:105B300011B648A459A46AA47BA4641975098609FE +:105B40009709653C79408105910540F00F946B25DC +:105B50000F9411B668A779A78AA79BA71C85112364 +:105B600009F451C02F8D38A149A15AA1B1018FA9C3 +:105B70009EA90F94EBC018160CF09EC00F9411B69E +:105B80004C885D886E887F88641975098609970935 +:105B9000693873418105910508F48EC08AA99BA9D3 +:105BA000ACA9BDA94D805E806F8078848419950969 +:105BB000A609B7096A847B84B595A79597958795BB +:105BC000672819F080938C1802C0809343180F94B3 +:105BD00011B6688B798B8A8B9B8B2B013C010C89CE +:105BE0001D892E893F89401A510A620A730A4BA205 +:105BF0005CA26DA27EA21F8D188F48A0498E59A06D +:105C00005A8E6AA06B8E2F8D38A149A15AA1B1017D +:105C10008FA99EA90F94E8BE87FF32C30F9411B6D7 +:105C2000488859886A887B886419750986099709A4 +:105C3000693873418105910508F422C30F9411B6A8 +:105C40006C8B7D8B8E8B9F8BAB01BC0144195509EE +:105C50006609770980919018909191181816190685 +:105C60000CF43AC18D819E81AF81B8854AA85BA8AA +:105C70006CA87DA8840D951DA61DB71D6A847B8424 +:105C8000B595A79597958795672809F4F6C28093EF +:105C90008C1880919018909191180196909391187A +:105CA000809390187F8C798208A10C8F19A11D8F89 +:105CB0004AA04E8E01E00C8720E030E040EA51E43B +:105CC0006F8D78A189A19AA10F940FBE9B01AC01A1 +:105CD000B1018FA99EA90F94EBC0181674F4E7EBDD +:105CE000F7E584918F01882309F4EBC00F942C22EF +:105CF0000F5F1F4FF8018491F6CF0F9411B66C1906 +:105D00007D098E099F09613D77408105910508F461 +:105D100092C04A845B84452881F0E0908C18F12C75 +:105D2000E4EBF7E584918F018823B9F00F942C22DE +:105D30000F5F1F4FF8018491F7CFE0904318F12CCB +:105D4000E1EBF7E584918F01882339F00F942C2241 +:105D50000F5F1F4FF8018491F7CF22E030E0A101DF +:105D60006FA97EA984ED97E00E94FD41EDEAF7E579 +:105D700084918F01882339F00F942C220F5F1F4FDD +:105D8000F8018491F7CF4AE050E0B70184ED97E045 +:105D90000E942C418AE00F942C224984442009F46B +:105DA0003EC05FA0451418F4042D0F5F3FC0198555 +:105DB0004FA014113CC01F5F19872EA53FA548A90D +:105DC00059A9B1018FA99EA90F940EBE6B017C0148 +:105DD00020E030E0A9010F94EBC018165CF420E03D +:105DE00030E040EA50E4C701B6010F94E8BE87FFF7 +:105DF0001EC00AC020E030E040EA50ECC701B60106 +:105E00000F94EBC018169CF46B85661F6627661FFF +:105E100080E00F94542681E080938D1833C22EA623 +:105E20003FA65FA858AA6EA869AA01E009870F9447 +:105E300011B66B017C010F9411B64B015C010F94FC +:105E400011B60C891D892E893F89488859886A882E +:105E50007B88040D151D261D371D801A910AA20A84 +:105E6000B30A860E971EA81EB91E01E880160FE41D +:105E7000900602E1A006B10468F0E0E9F7E584913C +:105E80008F018823F1F00F942C220F5F1F4FF80130 +:105E90008491F7CF80919018909191184CA45DA4B3 +:105EA000481659060CF0FDCDE4E3F7E584918F0127 +:105EB000882339F00F942C220F5F1F4FF801849133 +:105EC000F7CF8AE00F942C2281E080938D181092F6 +:105ED000911810929018D6C14BA05CA06DA07EA026 +:105EE000440E551E661E771E0BA11CA12DA13EA1BE +:105EF000041B150B260B370BC901B8012D813E8100 +:105F00004F8158850F947CC3A30192010F94E1C384 +:105F10008AA99BA9ACA9BDA9280F391F4A1F5B1FDD +:105F200024313105410551051CF12AAB3BAB4CAB8B +:105F30005DAB2C3E31054105510544F00BEE10E000 +:105F400020E030E00AAB1BAB2CAB3DAB2AA93BA950 +:105F50004CA95DA92038310541055105D4F08EEFDB +:105F600090E0A0E0B0E0821B930BA40BB50B15C032 +:105F700004E110E020E030E00AAB1BAB2CAB3DAB02 +:105F800024E130E040E050E02D833E834F8358878A +:105F900008C08AA99BA9ACA9BDA98D839E83AF83A4 +:105FA000B887E0E2F8E584918F01882339F00F94F7 +:105FB0002C220F5F1F4FF8018491F7CF2AE030E0C9 +:105FC0004AA95BA96CA97DA984ED97E00E941A41BA +:105FD000EBE1F8E584918F01882339F00F942C22AE +:105FE0000F5F1F4FF8018491F7CF2AE030E04D8119 +:105FF0005E816F81788584ED97E00E941A41E4E12B +:10600000F8E584918F01882339F00F942C220F5FDB +:106010001F4FF8018491F7CF22E030E049815C8D79 +:106020006D8D7E8D84ED97E00E94FD41EDE0F8E5F9 +:1060300084918F01882339F00F942C220F5F1F4F1A +:10604000F8018491F7CF22E030E0488D598D6A8DB8 +:106050007B8D84ED97E00E94FD418AE00F942C2215 +:10606000809190189091911803970CF4FBCD6D815D +:106070007E818F8198850F948ABF20E030E040E8D0 +:1060800050E40F94BDC14B015C0129813C8D4D8DC5 +:106090005E8D688D798D8A8D9B8D0F940EBE20ED5F +:1060A0003FE049E450E40F94BDC120E030E040E01F +:1060B0005FE30F94BDC19B01AC01C501B4010F9416 +:1060C000EFBE4B015C01C301B2010F948ABF20E017 +:1060D00030E04AE754E40F94EFBE2B013C01E7E0C7 +:1060E000F8E584918F01882339F00F942C220F5FFB +:1060F0001F4FF8018491F7CF22E030E0B501A401F1 +:1061000084ED97E00E94FD41E1E0F8E584918F0184 +:10611000882339F00F942C220F5F1F4FF8018491D0 +:10612000F7CF22E030E0B301A20184ED97E00E94B6 +:10613000FD418AE00F942C222AE939E949E15FE325 +:10614000C501B4010F94BDC14B015C0160939A1865 +:1061500070939B1880939C1890939D189B01AC01A1 +:106160000F940FBEA30192010F94EFBE6093961897 +:10617000709397188093981890939918A30192019F +:10618000C501B4010F94BDC120E030E040E05EE302 +:106190000F94BDC1609392187093931880939418D4 +:1061A00090939518E3EFF7E584918F01882339F0F8 +:1061B0000F942C220F5F1F4FF8018491F7CF8AE0D4 +:1061C0000F942C22EDEEF7E584918F01882339F0AE +:1061D0000F942C220F5F1F4FF8018491F7CF40914D +:1061E0009A1850919B1860919C1870919D1822E00C +:1061F00030E084ED97E00E94FD418AE00F942C226C +:10620000E7EEF7E584918F01882339F00F942C2273 +:106210000F5F1F4FF8018491F7CF4091961850916E +:106220009718609198187091991822E030E084EDE9 +:1062300097E00E94FD418AE00F942C22E1EEF7E501 +:1062400084918F01882339F00F942C220F5F1F4F08 +:10625000F8018491F7CF4091921850919318609172 +:1062600094187091951822E030E084ED97E00E9438 +:10627000FD418AE00F942C22F5CC8093431809CD80 +:106280001C861ACDE7960FB6F894DEBF0FBECDBFC1 +:10629000DF91CF911F910F91FF90EF90DF90CF9002 +:1062A000BF90AF909F908F907F906F905F904F9036 +:1062B0003F902F9008951F93CF93DF93182F0F9443 +:1062C00041260E94EC5A81112AC0EAE5FEE0849141 +:1062D000EF01882331F00F942C222196FE01849146 +:1062E000F8CF612F70E04AE050E084ED97E00E9423 +:1062F0002C418AE00F942C22E0ECF5E58491EF012B +:10630000882331F00F942C222196FE018491F8CF3E +:106310008AE00F942C2283EB95E50F94C2490E94EA +:10632000AB5A80910101806280930101809101014B +:106330008860809301018091010184608093010154 +:106340009FB7F894809102018860809302019FBFFB +:106350009FB7F894809102018062809302019FBFF1 +:106360009FB7F894809102018460809302019FBFDF +:106370008FEF90E090932109809320098091CB19B1 +:10638000882339F08DE590E0DF91CF911F910D9436 +:10639000BF55DF91CF911F9108951F93CF93DF9346 +:1063A000182F0F9441260E94EC5A81112AC0EAE569 +:1063B000FEE08491EF01882331F00F942C22219686 +:1063C000FE018491F8CF612F70E04AE050E084ED47 +:1063D00097E00E942C418AE00F942C22E6E8F5E534 +:1063E0008491EF01882331F00F942C222196FE0135 +:1063F0008491F8CF8AE00F942C2289E795E50F94D9 +:10640000C2490E94AB5A8091CB19882339F08CE5A0 +:1064100090E0DF91CF911F910D94BF55DF91CF9107 +:106420001F910895CF93DF93A5980E94EC5A811194 +:106430001FC0EAE5FEE08491EF01882331F00F945C +:106440002C222196FE018491F8CFE0E4F5E58491B9 +:10645000EF01882331F00F942C222196FE018491C4 +:10646000F8CF8AE00F942C228FE295E50F94C24971 +:10647000DF91CF910C94AB5ACF93DF93A5980E94F4 +:10648000EC5A81111FC0EAE5FEE08491EF018823F8 +:1064900031F00F942C222196FE018491F8CFE6EF83 +:1064A000F4E58491EF01882331F00F942C2221969A +:1064B000FE018491F8CF8AE00F942C2285EE94E5BA +:1064C0000F94C249DF91CF910C94AB5A80912D1A51 +:1064D00090912E1A9093B9188093B8188091311A20 +:1064E0009091321A9093A3188093A2188091331A36 +:1064F0009091341A9093B3188093B2188091351A02 +:106500009091361A9093A7188093A6188091371A05 +:106510009091381A9093AD188093AC188091391AE5 +:1065200090913A1A9093A5188093A41881E08093D3 +:10653000851808952091B8183091B91880913D18A8 +:1065400090913E188217930714F080E0B4DE2091FA +:10655000A2183091A3188091391890913A18821797 +:1065600093072CF01092BB181092BA185BCF0895C5 +:106570002091B8183091B9188091900290919102B1 +:106580002817390714F080E008CF08952091A21849 +:106590003091A31880918C0290918D0228173907B1 +:1065A0000CF06ACF08958091AC189091AD188132AB +:1065B0009D432CF0659905C0109223180895D8DFEB +:1065C000E5CF80912318833308F0D2CF8F5F80937B +:1065D000231808958CB120916A0986FB882780F9D9 +:1065E000821769F0809166099091670901969093EE +:1065F00067098093660981E0822780936A0908957C +:106600001F920F920FB60F9211240BB60F920F9399 +:106610001F932F933F934F935F936F937F938F932A +:106620009F93AF93BF93CF93DF93EF93FF938091AB +:106630002618811169C081E0809326187894809192 +:106640008518811103C00E94343302C073DFABDFB1 +:106650000F94CD4980918B02811112C08091431813 +:1066600080932518882311F0759A01C07598809140 +:106670008C1880932418882311F0A59A01C0A5983E +:106680009091251880918B02981708F47598909135 +:10669000241880918B02981708F4A59880918B029A +:1066A0008F5F8F7780938B02C0E0D0E08C2F8E01BC +:1066B000000F111FF801EA57F74E208131811216A1 +:1066C000130664F4F89461E08C2F0F94411DF801D7 +:1066D000EA57F74E8081918101970CC0232B69F016 +:1066E000F89460E00F94411DF801EA57F74E80815D +:1066F000918101969183808378942196C330D1054E +:10670000A9F668DF10922618FF91EF91DF91CF91E3 +:10671000BF91AF919F918F917F916F915F914F91B9 +:106720003F912F911F910F910F900BBE0F900FBEB5 +:106730000F901F9018952CEA35EC47E25EE30D941C +:10674000BDC12CEA35EC47E25EE30D94EFBE2CEAC6 +:1067500035EC47E25EE30D94EFBE2CEA35EC47E200 +:106760005EE30D94BDC190915908911107C09091BD +:10677000C00095FFFCCF8093C6000895913031F49E +:106780009091C80095FFFCCF8093CE000895209192 +:10679000F519222399F03FB7F8942091F51921308B +:1067A00059F42DB32093F3194DB32091F41920958A +:1067B00024232DBB3FBF02C03093F3198CBD9DBD78 +:1067C00008958EBD00000DB407FEFDCF8EB508956F +:1067D0008091F519882361F09FB7F8942091F519FD +:1067E0008091F319213019F48DBB9FBF08958FBF9D +:1067F00008958091060182FB882780F99091060117 +:1068000097FD82600895FF920F931F93CF93DF93BC +:1068100080911819813009F459C08091AE02882303 +:1068200009F454C0E6DFF82E8091FB18ACEFB8E114 +:10683000E4E0F9E120E030E090E0C1E0D0E0BE012A +:10684000022E01C0660F0A94EAF74F2D462329F065 +:10685000408151814F5F5F4F07C040815181411599 +:10686000510521F0415051095183408340815181AC +:106870000D911C9111970417150750F411965C9314 +:106880004E934034510518F011821082962B81E00E +:106890002F5F3F4F129632962330310581F6809359 +:1068A000FB1880911319811111C08091AE028823C9 +:1068B00069F0992359F090930C191092AE02DF9170 +:1068C000CF911F910F91FF900C94486CDF91CF9165 +:1068D0001F910F91FF9008958093AF0210921219AB +:1068E0001092111910920D1910920E1910920F1981 +:1068F0001092101908958FEF8093AF022091111913 +:106900003091121940E050E060910D1970910E190C +:1069100080910F19909110190F94BFC3C901089568 +:106920008091CF021F928F938091D3021F928F93F9 +:106930008091CE021F928F938091D2021F928F93EB +:106940008091CD021F928F938091D1021F928F93DD +:106950008091CC021F928F938091D0021F928F93CF +:1069600084E29AE59F938F930F944AC88DB79EB7A0 +:1069700042960FB6F8949EBF0FBE8DBF0895AF929A +:10698000BF92CF92DF92EF92FF920F931F93CF931C +:10699000DF9300D01F92CDB7DEB7B82EF62E8CE570 +:1069A00090E02C833B834A835983F1DE60E08B2D9A +:1069B0000F9435B88F2D05DF5981852F02DF4A816D +:1069C000842FFFDE3B81832FFCDE2C81822FF9DEBA +:1069D00061E08B2D0F9435B8FBDE8CE590E0D7DEBF +:1069E00060E08B2D0F9435B880E0EBDEA82E80E0C0 +:1069F000E8DEC82ED12CE12CF12CFE2CED2CDC2C69 +:106A0000CC2480E0DEDEC82AFE2CED2CDC2CCC244D +:106A100080E0D7DEC82AFE2CED2CDC2CCC2480E0D4 +:106A2000D0DEC82A61E08B2D0F9435B8D1DE011578 +:106A3000110529F0F801C082D182E282F3828A2D09 +:106A40000F900F900F900F90DF91CF911F910F91AA +:106A5000FF90EF90DF90CF90BF90AF9008950F938D +:106A60001F93606800E010E08ADF1F910F91089586 +:106A70008F929F92AF92BF92CF92DF92EF92FF924E +:106A80000F93742F922F2E2DEC2D217030E040E0CB +:106A900050E0F3E1220F331F441F551FFA95D1F741 +:106AA000E3708E2E912CA12CB12CA4E1880C991CA2 +:106AB000AA1CBB1CAA95D1F7282939294A295B2988 +:106AC0000170C02ED12CE12CF12CB2E1CC0CDD1CDC +:106AD000EE1CFF1CBA95D1F72C293D294E295F29C0 +:106AE000262B372B9370492B60E70F91FF90EF9087 +:106AF000DF90CF90BF90AF909F908F90B0CFCF920C +:106B0000EF92FF920F931F93CF93DF93E82EF62E11 +:106B1000C6EAD5E08991882311F025DEFBCFCE2D82 +:106B2000D0E04AE050E0BE0184ED97E00E942C41A5 +:106B300002E117E0F80181918F01882311F013DE43 +:106B4000F9CF6F2D70E04AE050E084ED97E00E94AD +:106B50004841FE01EC53FD4FF082F1E0FE15C8F014 +:106B6000809118198130A9F4CE0184549D4FDE0123 +:106B7000A854BD4FAE0140545D4FCC52DD4FC12CE7 +:106B8000E12CFC0100812C91FA0140816F2D88815C +:106B90006FDFDF91CF911F910F91FF90EF90CF901A +:106BA0000895CF92EF92FF920F931F93CF93DF93AD +:106BB000E82EF62ECCEBD5E08991882311F0D3DDB9 +:106BC000FBCFCE2DD0E04AE050E0BE0184ED97E04F +:106BD0000E942C4102E117E0F80181918F01882386 +:106BE00011F0C1DDF9CF6F2D70E04AE050E084ED87 +:106BF00097E00E944841FE01E054FD4FF082F1E031 +:106C0000FE15C8F0809118198130A9F4CE01845482 +:106C10009D4FDE01A854BD4FBE016C537D4FCC5239 +:106C2000DD4FC12CE12CFC0100812C914F2DFB018B +:106C3000608188811DDFDF91CF911F910F91FF90BF +:106C4000EF90CF9008959A01AB0163E108CF0F93C5 +:106C50001F93CF93DF93042FE82FF0E0EC52FD4F0A +:106C600010816F70C22FD0E0862F90E0A0E0B0E0DE +:106C7000203288F4582F442733272227236D43607E +:106C800050616CE6812FEBDE202F2F7130E040E069 +:106C900050E04F6019C0582F442733272227236D17 +:106CA000416050616CE6812FDADE202F30E03595AF +:106CB00027952F713327442737FD4095542F4F6078 +:106CC000D595C795CF71DD279C2F8827AA2797FDDB +:106CD000A095BA2F282B392B4A2B5B2B60E1812FF3 +:106CE000DF91CF911F910F91BACECF92DF92EF92A9 +:106CF000FF920F931F93CF93DF93C82E04ED12E002 +:106D0000C0E0D0E0EE24E394F12C97010C2E01C0FA +:106D1000220F0A94EAF7F801D1908F018C2D82237B +:106D2000A9F180911319822B8093131920E030E090 +:106D3000A90160E08D2D93DEFE01E055FD4F20811D +:106D4000822F90E0A0E0B0E0AC01332722276DE66F +:106D50008D2D85DE2EEA31E040E050E064E18D2D9E +:106D60007EDEFE01E853FD4F2081FE01E053FD4F22 +:106D70004081FE01EC5EF64E60818C2F68DF20E8DA +:106D800031E340E050E060E08D2D69DE2196C330B4 +:106D9000D10509F0BACFDF91CF911F910F91FF90EC +:106DA000EF90DF90CF900895EF92FF920F931F9393 +:106DB000CF93DF9380911319882309F462C004ED07 +:106DC00012E0C0E0D0E0EE24E394F12C20911319FE +:106DD0002370C7010C2E01C0880F0A94EAF72823FC +:106DE00009F446C080911819813069F424E030E03C +:106DF00040E050E060E0F801808131DE20E030E0EA +:106E0000A90164E132C0FE01E453FD4F2081FE017F +:106E1000E053FD4F4081FE01EC5EF64E60818C2F09 +:106E200016DFFE01EC54FD4F2081822F90E0A0E0A0 +:106E3000B0E0AC01332722276DE6F80180810FDE38 +:106E400080911819813021F420E030E0A90104C0BC +:106E50002EEA31E040E050E064E1F8018081FFDD9E +:106E600020E831E340E050E060E0F8018081F7DDA8 +:106E700021960F5F1F4FC330D10509F0A7CF1092A5 +:106E8000131910920C19DF91CF911F910F91FF9060 +:106E9000EF900895EF92FF921F93CF93DF931F928D +:106EA000CDB7DEB7182FE82EF12C1F926F931F92EB +:106EB0008F932EE83AE53F932F9369830F944AC846 +:106EC000F701E053FD4F498140830F900F900F90E1 +:106ED0000F900F900F90F701E453FD4FD701AC5E78 +:106EE000B64E20816C91812F0F90DF91CF911F9131 +:106EF000FF90EF90ACCEEF92FF921F93CF93DF9372 +:106F00001F92CDB7DEB7182FE82EF12C1F926F938A +:106F10001F928F9343E65AE55F934F9369830F94D3 +:106F20004AC8F701E453FD4F298120830F900F9049 +:106F30000F900F900F900F90F701E053FD4FD70186 +:106F4000AC5EB64E40816C91812F0F90DF91CF9156 +:106F50001F91FF90EF907BCE2F923F924F925F92C6 +:106F60006F927F928F929F92AF92BF92CF92EF9249 +:106F70000F931F93CF93DF93CDB7DEB728970FB64C +:106F8000F894DEBF0FBECDBF80911819882319F089 +:106F90008EEE9AE502C087EE9AE59F938F938EEC72 +:106FA0009AE59F938F930F944AC884E080931419B5 +:106FB000809315198093161983E080931719A09A6E +:106FC000A29A9FB7F894809108018062809308018B +:106FD0009FBF9FB7F894809108018061809308015A +:106FE0009FBF989A9A9A80910701806280930701C7 +:106FF00080910701806180930701809107018B7F59 +:1070000080930701809107018F778093070180911A +:1070100007018F7B8093070180910701877F809311 +:1070200007010F94A6B55CEC452E52E0552E60ED9D +:10703000662E62E0762E74E1A72E79E1B72E84EDFC +:1070400092E098878F83E4EB8E2EE2E09E2EFCEB9D +:107050002F2EF2E03F2EE8EBF2E0FE83ED8380EC92 +:1070600092E09C838B83E4ECF2E0FA83E9830F9057 +:107070000F900F900F9010E0F20121912F01F3017A +:1070800041913F01F50161915F01812FE0DD20E039 +:1070900030E0A90161E1EF81F8858081E0DCF40155 +:1070A00021914F01822F90E0A0E0B0E0AC013327A6 +:1070B00022276DE6EF81F8858081D1DC8091181957 +:1070C000813021F420E030E0A90104C02EEA31E053 +:1070D00040E050E064E1EF81F8858081C0DC809180 +:1070E0001819813029F424E030E040E050E004C079 +:1070F00020E831E340E050E060E0EF81F8858081F6 +:10710000AEDCF10101911F01ED81FE812191FE8331 +:10711000ED83EB81FC814191FC83EB83E981FA8172 +:107120006191FA83E983C12CE12CEF81F88580819C +:107130009FDC40E050E0BA01EF81F8858191F8874B +:10714000EF8381DD1F5F123009F096CF2091CE02D0 +:107150004091D2026091161982E079DD20E030E0A2 +:10716000A90161E18091D6027ADC20E831E340E0B8 +:1071700050E060E08091D60272DC2091CF02409115 +:10718000D3026091171983E062DD20E030E0A901AD +:1071900061E18091D70263DC20E831E340E050E018 +:1071A00060E08091D7025BDC1092051910920419FF +:1071B00010920719109206191092091910920819C5 +:1071C00010920B1910920A191092FD181092FC18C7 +:1071D0001092FF181092FE181092011910920019C7 +:1071E000109203191092021928960FB6F894DEBF78 +:1071F0000FBECDBFDF91CF911F910F91EF90CF9038 +:10720000BF90AF909F908F907F906F905F904F90C6 +:107210003F902F900895EF92FF920F931F93CF937B +:10722000DF9300D01F92CDB7DEB77A0119821A82A0 +:107230001B821C828E010F5F1F4F20E030E0A901EE +:107240009EDBE114F10449F009811A812B813C8114 +:10725000F70100831183228333830F900F900F90E7 +:107260000F90DF91CF911F910F91FF90EF900895B4 +:107270009F92AF92BF92CF92DF92EF92FF920F93C5 +:107280001F93CF93DF9300D01F92CDB7DEB70F943B +:1072900011B60091F6181091F7182091F818309156 +:1072A000F918601B710B820B930B693E73408105CB +:1072B000910508F462C014EDE12E12E0F12E00E019 +:1072C00010E09924939489EBC82E8AE5D82E198270 +:1072D0001A821B821C829092FA18AE014F5F5F4F98 +:1072E0006FE6F70181917F0196DF89819A81AB81F9 +:1072F000BC81B2FF2FC0F6018491B9EBAB2EBAE589 +:10730000BB2E882339F02FDAFFEFAF1ABF0AF50141 +:107310008491F7CF4AE050E0B80184ED97E00E94F5 +:107320002C418AE020DAA4EDAA2EA2E0BA2E20E0B9 +:1073300030E041E050E06CE6F50181915F018FDBC8 +:10734000F8EDAF16F2E0BF0691F760E089EB9AE541 +:107350000E94395A0F5F1F4F0430110509F0B7CF53 +:107360000F9411B66093F6187093F7188093F8187D +:107370009093F91881E08093FB180F900F900F9075 +:107380000F90DF91CF911F910F91FF90EF90DF90C1 +:10739000CF90BF90AF909F9008950F931F93CF937E +:1073A000DF93CDB7DEB729970FB6F894DEBF0FBED7 +:1073B000CDBF8C01101611068CF51D821E821F8216 +:1073C000188619821A821B821C82AE014B5F5F4FA6 +:1073D0006FE68091D4021FDFAE014F5F5F4F6FE613 +:1073E0008091D50218DF4D815E816F81788577FFAE +:1073F0000CC049815A816B817C81442777FD43957C +:10740000552766277727842F01C080E0898730DFE2 +:10741000015011098985882369F201C080E029960D +:107420000FB6F894DEBF0FBECDBFDF91CF911F9195 +:107430000F910895CF93DF9300D01F92CDB7DEB7A1 +:1074400019821A821B821C82AE014F5F5F4F6AE66F +:10745000E2DE89819A8193700F900F900F900F90C8 +:10746000DF91CF910895CF93DF9300D01F92CDB7D6 +:10747000DEB719821A821B821C82AE014F5F5F4FFA +:107480006FE6C9DE89819A810F900F900F900F905F +:10749000DF91CF910895E091AF02E43028F5F0E05C +:1074A000EC52FD4F8081DFDF937040910D195091B8 +:1074B0000E1960910F1970911019480F591F611D15 +:1074C000711D40930D1950930E1960930F1970930D +:1074D0001019809111199091121901969093121917 +:1074E0008093111981E0089580E00895FC01949142 +:1074F000903249F0892F8B7F893029F081E09A30D2 +:1075000019F080E0089581E00895CF93DF93CDB71F +:10751000DEB7C054D1090FB6F894DEBF0FBECDBFA1 +:1075200088E0EFE1F3E0DE01D99601900D928A95B3 +:10753000E1F788E0E7E2F3E0DE01D19601900D92F9 +:107540008A95E1F788E0EFE2F3E0DE019996019099 +:107550000D928A95E1F788E0E7E3F3E0DE0191968A +:1075600001900D928A95E1F788E0EFE3F3E0DE0108 +:10757000599601900D928A95E1F788E0E7E4F3E0EF +:10758000DE01519601900D928A95E1F788E0EFE4D3 +:10759000F3E0DE01199601900D928A95E1F788E0FB +:1075A000E7E5F3E0DE01119601900D928A95E1F78F +:1075B000AE01475C5F4F60E08AE499E10E94E23EE1 +:1075C000AE014F5C5F4F61E08AE499E10E94E23EC8 +:1075D000AE01475D5F4F62E08AE499E10E94E23EBE +:1075E000AE014F5D5F4F63E08AE499E10E94E23EA5 +:1075F000AE01475E5F4F64E08AE499E10E94E23E9B +:10760000AE014F5E5F4F65E08AE499E10E94E23E81 +:10761000AE01475F5F4F66E08AE499E10E94E23E77 +:10762000AE014F5F5F4F67E08AE499E10E94E23E5E +:10763000C05CDF4F0FB6F894DEBF0FBECDBFDF9149 +:10764000CF9108950F931F93CF93DF93EB01142FE6 +:10765000022F482F60E08AE499E10E945A3C612F92 +:107660008AE499E10F94D1B811E1FE016491662397 +:1076700011F0111117C0112339F060E28AE499E189 +:107680000F94D1B81150F7CF602F8AE499E10F948D +:10769000D1B860E28AE499E1DF91CF911F910F9117 +:1076A0000D94D1B88AE499E10F94D1B82196115084 +:1076B000DCCFEF92FF920F931F93CF93DF93EB01F9 +:1076C000E42E8901F90101900020E9F7F22EFE1A5B +:1076D00092E1F90E482F60E08AE499E10E945A3C59 +:1076E0006E2D8AE499E10F94D1B8FE01649166236E +:1076F00011F0F11019C06AE38AE499E10F94D1B84E +:10770000FF2039F060E28AE499E10F94D1B8FA944D +:10771000F7CFB8018AE499E1DF91CF911F910F91E2 +:10772000FF90EF900D94D0B88AE499E10F94D1B80E +:107730002196FA94DACFCF92DF92EF92FF920F93D5 +:107740001F93CF93DF93D82EC62E7A01E901482FDD +:107750008AE499E10E945A3C81E0E816F10469F15B +:1077600082E0E816F10409F04FC0BE018AE499E115 +:107770000F94D0B8FE0101900020E9F73197EC1B7F +:10778000FD0B6C2D6E0F4D2D8AE499E10E945A3C41 +:1077900065ED73E08AE499E10F94D0B8FE010190A1 +:1077A0000020E9F76C2D6C1B6E0F4D2D8AE499E1DA +:1077B0000E945A3C62ED75E028C0BE018AE499E15E +:1077C0000F94D0B8FE0101900020E9F73197EC1B2F +:1077D000FD0B6C2D6E0F4D2D8AE499E10E945A3CF1 +:1077E00065ED73E08AE499E10F94D0B8FE01019051 +:1077F0000020E9F76C2D6C1B6E0F4D2D8AE499E18A +:107800000E945A3CB80101C0BE018AE499E1DF91AF +:10781000CF911F910F91FF90EF90DF90CF900D943B +:10782000D0B88093860991E09093DC02682F8EEFA8 +:107830009FE00F9435CB80913419813019F482E0A8 +:10784000809334190895E9EFFBE0608181E06827B7 +:1078500060838BEB9FE00D9435CB8F929F92AF921C +:10786000BF92CF92DF92EF92FF920F931F93CF932D +:10787000DF9394E08902E0011124CA5CD64F20E036 +:1078800030E040E251E4688179818A819B810F94E4 +:107890000FBE688379838A839B83E0903E09F090D2 +:1078A0003F09009140091091410920913A09309116 +:1078B0003B0940913C0950913D0960913609709116 +:1078C00037098091380990913909E2E2F9E0FF9394 +:1078D000EF93812C912CE4E3AE2EE2E4BE2EF2E491 +:1078E000CF2EF9E0DF2E0F9428060F94891C89E62D +:1078F0009FE00F9423CB0F900F90882319F081E025 +:107900008093AE02DF91CF911F910F91FF90EF9086 +:10791000DF90CF90BF90AF909F908F900895CF93BE +:1079200080910101846080930101CAE09FB7F894BF +:10793000809102018460809302019FBF84E690E001 +:107940000F9477B69FB7F894809102018B7F809354 +:1079500002019FBF84E690E00F9477B6C15031F7E3 +:10796000CF91089582E08093D9021092B519D7CFB4 +:107970001092D31980EC99E00E9458C210924819D5 +:1079800008950F93F894E091DA02F091DB02E81782 +:10799000F907D1F09093DB028093DA024093431908 +:1079A00050934419609345197093461978940023B5 +:1079B00039F08DE1E5EDF9E1DF011D928A95E9F7F6 +:1079C000222319F00F91CECF78940F9108950F9341 +:1079D00061E080EC9FE00F9435CB60E08FEB9FE09F +:1079E0000F9435CB60E08EEB9FE00F9435CB60E0D9 +:1079F0008DEB9FE00F9435CB60E08CEB9FE00F9414 +:107A000035CB01E020E040E050E0BA0180EA91E0AF +:107A1000B8DF1092E5190F9108950F93DC01FB0177 +:107A2000CA01A901F8942091DA023091DB02309367 +:107A3000D6192093D51920914319309144193093C8 +:107A4000D8192093D719789422E02093D902B093C3 +:107A5000DA19A093D9197093DC196093DB19AA275E +:107A600097FDA095BA2F8093DD199093DE19A0930E +:107A7000DF19B093E019662757FD6095762F481BF4 +:107A8000590B6A0B7B0B4093E1195093E2196093F9 +:107A9000E3197093E41940815181662757FD609581 +:107AA000762F481B590B6A0B7B0B00E021E088EA1C +:107AB00091E067DF0F9108950F936091070281E0D5 +:107AC00068276093070287E89FE00F9435CB01E0B9 +:107AD00021E048E050E060E070E088E291E051DFB2 +:107AE0000F9108950F9301E021E040E050E0BA01CA +:107AF00048DF0F9108957F928F929F92AF92BF922D +:107B0000CF92DF92EF92FF920F931F93CF93DF9369 +:107B10008091431990914419A0914519B09146194B +:107B200081309048A105B10540F0109243191092A0 +:107B30004419109245191092461980914319909159 +:107B40004419A0914519B09146194091481950E047 +:107B500060E070E084179507A607B70710F48093DC +:107B60004819A09048199090491992FA992490F8D0 +:107B7000B12C8824839480913419811127C0AA20C4 +:107B800019F07724739425C08091D9028823D9F005 +:107B9000E0918609F0E0EE0FFF1FE858F74B659182 +:107BA00074918091431990914419A0914519B09115 +:107BB000461923E0892B8A2B8B2B11F443E001C05B +:107BC00040E28B2D3FDD91100DC0DBCF8230D9F02C +:107BD000712C02E11AE4C0E0D0E0CA2CD12CE12CD7 +:107BE000F12C60C08091431990914419A0914519DE +:107BF000B0914619892B8A2B8B2B09F0C2CFB2DEAC +:107C000088E291E034C0A110BCCF8091D9028823D2 +:107C1000D9F0E0918609F0E0EE0FFF1FEC51F84B30 +:107C2000659174918091431990914419A0914519DF +:107C3000B091461923E0892B8A2B8B2B11F443E05A +:107C400001C040E28B2DFEDC992009F49ACF80918F +:107C5000431990914419A0914519B0914619892B67 +:107C60008A2B8B2B09F08DCF7DDE8EE991E0DF91A1 +:107C7000CF911F910F91FF90EF90DF90CF90BF9029 +:107C8000AF909F908F907F902DCF8091D9028111DE +:107C90000CC0911021C0739421960E5F1F4FC2300B +:107CA000D105B9F17A10F7CFF0CFF8016591749151 +:107CB0008091431990914419A0914519B0914619AA +:107CC00020E28C159D05AE05BF0511F44EE301C001 +:107CD00040E28B2DB7DCDDCF8091431990914419A0 +:107CE000A0914519B09146198C159D05AE05BF05AB +:107CF00091F638DE8C2FDF91CF911F910F91FF907D +:107D0000EF90DF90CF90BF90AF909F908F907F903B +:107D100088CD472D50E060E070E08091431990914C +:107D20004419A0914519B091461984179507A607E3 +:107D3000B70780F0472D50E041505109662757FDA5 +:107D40006095762F409343195093441960934519D9 +:107D500070934619409143198091481990E0039619 +:107D6000242F30E0821793075CF48DEF840F80930B +:107D700048198092D902ACEFAA2EA40EBB24BA9463 +:107D8000B394A39483E08B1508F0F5CEDF91CF91E7 +:107D90001F910F91FF90EF90DF90CF90BF90AF9029 +:107DA0009F908F907F9008950F9301E021E040E035 +:107DB00050E0BA01E6DD0F910895CF92DF92EF9285 +:107DC000FF920F931F93CF93DF938091431990916C +:107DD0004419A0914519B091461981309048A105E8 +:107DE000B10540F0109243191092441910924519B0 +:107DF000109246198091431990914419A091451908 +:107E0000B09146194091481950E060E070E0841745 +:107E10009507A607B70710F480934819D091481921 +:107E20001091491912FB112710F9C0E092E0C92EF8 +:107E3000D12CE12CF12C01E04091431950914419CF +:107E40006091451970914619D11134C08091D902C1 +:107E50008823A1F0E0918609F0E0EE0FFF1FEE51BC +:107E6000F64B8591949123E0452B462B472B11F43B +:107E700043E001C040E2BC018C2FE4DB112309F494 +:107E80006CC08091431990914419A0914519B0910B +:107E90004619892B8A2B8B2B09F05FC063DD82E6A4 +:107EA00091E0DF91CF911F910F91FF90EF90DF90C4 +:107EB000CF9018CED13021F58091D902882369F076 +:107EC0002EE7413051056105710511F44EE301C003 +:107ED00040E26FE171E68C2FB5DB112309F43DC060 +:107EE0008091431990914419A0914519B091461978 +:107EF0000197A105B10589F535DD80EB91E024C03E +:107F0000D23059F58091D902882369F02EE74230AA +:107F100051056105710511F44EE301C040E269E1CC +:107F200071E68C2F8FDB1123C1F080914319909162 +:107F30004419A0914519B09146190297A105B105C0 +:107F400061F410DD8EE291E0DF91CF911F910F91EE +:107F5000FF90EF90DF90CF9027CF40914319509141 +:107F600044196091451970914619433051056105D6 +:107F7000710540F0C0924319D0924419E09245191E +:107F8000F0924619409143198091481990E0039668 +:107F9000242F30E0821793074CF48DEF840F8093E9 +:107FA00048190093D902DCEFD40FCFEFCF5FDF5F2A +:107FB000C43008F441CFDF91CF911F910F91FF9012 +:107FC000EF90DF90CF900895AF92BF92CF92DF9263 +:107FD000EF92FF920F931F93CF93DF9380914319FA +:107FE00090914419A0914519B0914619813090485B +:107FF000A105B10540F01092431910924419109256 +:108000004519109246198091431990914419A091F5 +:108010004519B09146194091481950E060E070E070 +:1080200084179507A607B70710F4809348190091A5 +:108030004819B0904919B2FABB24B0F810E0CEEB61 +:10804000D9E464E0C62ED12CE12CF12CAA24A3940F +:108050008091431990914419A0914519B091461906 +:10806000011135C02091D902222399F0E0918609AF +:10807000F0E0EE0FFF1FE858F74B6591749123E095 +:10808000892B8A2B8B2B11F443E001C040E2812F16 +:10809000D9DABB2009F4D0C08091431990914419DA +:1080A000A0914519B0914619892B8A2B8B2B09F089 +:1080B000C3C058DC88E291E0DF91CF911F910F910E +:1080C000FF90EF90DF90CF90BF90AF900BCD01303D +:1080D00059F52091D902222399F0E0918609F0E028 +:1080E000EE0FFF1FE654F64B659174912EE7019752 +:1080F000A105B10511F44EE301C040E2812FA2DADF +:10810000BB2009F499C08091431990914419A09122 +:108110004519B09146190197A105B10509F08CC028 +:1081200021DC8EEC91E07DC0023059F52091D9021E +:10813000222399F0E0918609F0E0EE0FFF1FEA5448 +:10814000F64B659174912EE70297A105B10511F4E4 +:108150004EE301C040E2812F75DABB2009F46CC008 +:108160008091431990914419A0914519B0914619F5 +:108170000297A105B10509F05FC0F4DB86E991E043 +:1081800050C0033051F52091D902222399F0E0919B +:108190008609F0E0EE0FFF1FEE54F64B65917491E7 +:1081A0002EE70397A105B10511F44EE301C040E2AB +:1081B000812F48DABB2009F43FC080914319909188 +:1081C0004419A0914519B09146190397A105B1052D +:1081D00099F5C8DB82EA91E024C0043069F520916A +:1081E000D902222369F0FE01659174912EE704976C +:1081F000A105B10511F44EE301C040E2812F22DA5E +:10820000BB20D1F08091431990914419A091451958 +:10821000B09146190497A105B10571F4A3DB8EE86E +:1082200091E0DF91CF911F910F91FF90EF90DF9040 +:10823000CF90BF90AF90B8CD8091431990914419E1 +:10824000A0914519B09146190597A105B10540F0D7 +:10825000C0924319D0924419E0924519F092461900 +:10826000409143198091481990E00396242F30E003 +:10827000821793074CF48DEF840F80934819A092D6 +:10828000D9020CEF040F1FEF1F5F0F5F143008F4CB +:10829000DFCEDF91CF911F910F91FF90EF90DF9094 +:1082A000CF90BF90AF90089580E090E0A0E8BFE34A +:1082B0008093301990933119A0933219B0933319E8 +:1082C00083CECF92DF92EF92FF920F931F93CF93C3 +:1082D000DF938091431990914419A0914519B09171 +:1082E000461981309048A105B10540F0109243191C +:1082F0001092441910924519109246198091431911 +:1083000090914419A0914519B0914619409148198E +:1083100050E060E070E084179507A607B70710F4F7 +:1083200080934819C0914819D0914919D2FBDD2793 +:10833000D0F900E0C12CD12C7601C39411E040911A +:108340004319509144196091451970914619C11112 +:1083500034C08091D9028823A1F0E0918609F0E031 +:10836000EE0FFF1FE253F64B8591949123E0452BCE +:10837000462B472B11F443E001C040E2BC01802FA3 +:1083800061D9DD2309F44FC08091431990914419BC +:10839000A0914519B0914619892B8A2B8B2B09F096 +:1083A00042C0E0DA82EF91E0DF91CF911F910F910F +:1083B000FF90EF90DF90CF9095CBC130A1F58091E9 +:1083C000D9028823A9F0E0918609F0E0EE0FFF1FA3 +:1083D000EC5EF44B859194912EE741305105610597 +:1083E000710511F44EE301C040E2BC01802F2AD98F +:1083F000DD23C9F04091431950914419609145190A +:1084000070914619413051056105710561F4AADA90 +:1084100088E391E0DF91CF911F910F91FF90EF9052 +:10842000DF90CF90C1CC4091431950914419609195 +:10843000451970914619423051056105710540F0AA +:10844000C0924319D0924419E0924519F09246190E +:10845000409143198091481990E00396242F30E011 +:10846000821793074CF48DEF840F80934819109373 +:10847000D902CCEFC40F0FEF0F5FCF5F043008F4C9 +:108480005ECFDF91CF911F910F91FF90EF90DF9022 +:10849000CF9008950F936091060281E06827609362 +:1084A000060287E09FE00F9435CB01E021E048E031 +:1084B00050E060E070E088E291E063DA0F910895A7 +:1084C0000F936091B30981E068276093B3098FEA45 +:1084D0009FE00F9435CB0F943C1E01E021E04AE071 +:1084E00050E060E070E088E291E04BDA0F9108958F +:1084F00020E044E064E18AE499E10E948D3C05D8E3 +:108500008AE499E10C944E3C0F93F2DF01E020E005 +:1085100040E050E0BA018EE991E033DA0F9108951E +:10852000F3DF85E090E09093D0198093CF19089500 +:1085300081E08093870961E08AE29BE50E9469C43B +:10854000E3CF61E086E29BE50E9469C4DDCF61E094 +:1085500080E29BE50E9469C4D7CF61E08CE19BE596 +:108560000E9469C4D1CF1092BD181092BC1810920D +:10857000BB181092BA181092210910922009C4CF8A +:10858000C3DF1092B31986E090E09093D0198093E6 +:10859000CF1908958AEF90E09093BD188093BC188E +:1085A00088E290E09093BB188093BA18109221094A +:1085B00010922009A9DF0D94402687ED90E090935A +:1085C000BD188093BC188CE390E09093BB18809307 +:1085D000BA18109221091092200996DF0D944026B6 +:1085E0008FEF90E09093BD188093BC1884E690E0E4 +:1085F0009093BB188093BA18109221091092200909 +:1086000083DF0D9440268EEF90E09093BD18809309 +:10861000BC1884E690E09093BB188093BA1810922F +:1086200021091092200970DF0D94402686EE90E01B +:108630009093BD188093BC1885E590E09093BB188B +:108640008093BA1810922109109220095DDF0D94D1 +:1086500040268CED90E09093BD188093BC1884E682 +:1086600090E09093BB188093BA1810922109109251 +:1086700020094ADF0D94402680EF90E09093BD18CA +:108680008093BC1882E390E09093BB188093BA1853 +:10869000109221091092200937DF0D9440260F9384 +:1086A00080915908813019F41092590803C081E073 +:1086B000809359086091590888E09FE00F9435CB6A +:1086C00040E052EC61E070E084ED97E00E94C43F2E +:1086D00001E021E04BE050E060E070E088E291E0F2 +:1086E00050D90F9108950F9381E09091E402911178 +:1086F00080E08093E402811103C00E94514702C0D0 +:108700000E9444478091C20981110AC08091B50935 +:10871000811106C08091CF199091D019089749F422 +:1087200001E021E049E050E060E070E082E491E0A7 +:1087300008C001E021E049E050E060E070E088E23C +:1087400091E01FD90F91089590915908911107C098 +:108750009091C00095FFFCCF8093C60008959130A2 +:1087600031F49091C80095FFFCCF8093CE0008951E +:108770000F931F93CF93DF938C01C5EDD5E08991C3 +:10878000882311F0E1DFFBCF4AE050E0B80184ED2F +:1087900097E00E942C41C9E7D6E08991882311F027 +:1087A000D3DFFBCFDF91CF911F910F910895CF932E +:1087B000DF93CAE5D6E08991882311F0C5DFFBCFAE +:1087C0006091C9197091CA194AE050E084ED97E0B0 +:1087D0000E942C41C9E7D6E08991882311F0B4DFCB +:1087E000FBCFDF91CF910895CF93DF93CBEDD5E011 +:1087F0008991882311F0A8DFFBCF6091BC1870919C +:10880000BD184AE050E084ED97E00E942C41C1EE93 +:10881000D5E08991882311F097DFFBCF6091BA18DA +:108820007091BB184AE050E084ED97E00E942C4123 +:10883000C8EED5E08991882311F086DFFBCF409107 +:10884000B4185091B5186091B6187091B71822E01D +:1088500030E084ED97E00E94FD41CFEED5E08991B4 +:10886000882311F071DFFBCF40919E1850919F1823 +:108870006091A0187091A11822E030E084ED97E09B +:108880000E94FD41C9E7D6E08991882311F05CDFA1 +:10889000FBCFDF91CF9108950F9361E08091D219C2 +:1088A000811160E06093D2198FEF9FE00F9435CB78 +:1088B0000F94891C88EE93E00F94CD39F89481E0F1 +:1088C0009091D219911101C080E0809318190F94F2 +:1088D000AC37B19A109285001092840080ED97E039 +:1088E000909389008093880078940F943C1E809127 +:1088F000E402882361F08091D219882341F001E0DD +:1089000021E040E050E0BA018CE491E03AD80F91C8 +:1089100008951F93CF93DF93C62F482F60E08AE41A +:1089200099E10E945A3C6C2F8AE499E10F94D1B8E6 +:10893000CBEDD9E111E16991662311F0111116C057 +:10894000112339F060E28AE499E10F94D1B8115013 +:10895000F7CF63E08AE499E10F94D1B860E28AE44A +:1089600099E1DF91CF911F910D94D1B88AE499E1FB +:108970000F94D1B81150DFCF8F929F92AF92BF92D8 +:10898000EF92FF920F931F93CF93DF938091431940 +:1089900090914419A0914519B091461981309048A1 +:1089A000A105B10540F0109243191092441910929C +:1089B0004519109246198091431990914419A0913C +:1089C0004519B09146194091481950E060E070E0B7 +:1089D00084179507A607B70710F480934819D0911C +:1089E00048191091491912FB112710F9C0E0FF2412 +:1089F000F394D1113DC08091D9028823E1F0E09138 +:108A00008609F0E0EE0FFF1FEE51F64B6591749171 +:108A10008091431990914419A0914519B09146193C +:108A200023E0892B8A2B8B2B11F443E001C040E219 +:108A30008C2F0F94223B1123D9F0809143199091F0 +:108A40004419A0914519B0914619892B8A2B8B2B7B +:108A500079F40F94B23C82E691E0DF91CF911F91BF +:108A60000F91FF90EF90BF90AF909F908F903AC87A +:108A70008091CB1940914319509144196091451947 +:108A800070914619882389F1D13089F58091D902F6 +:108A9000882371F020E2413051056105710511F420 +:108AA0004EE301C040E26BE67FE58C2F0F94223B42 +:108AB000112309F455C08091431990914419A09154 +:108AC0004519B09146190197A105B10509F048C0B3 +:108AD0000F94B23CDF91CF911F910F91FF90EF90D7 +:108AE000BF90AF909F908F9055CD01E001C002E004 +:108AF0000D1337C08091D902882391F0802F90E028 +:108B0000A0E0B0E020E2481759076A077B0711F49C +:108B10004EE301C040E26CE57FE58C2F0F94223BD1 +:108B20001123F9F0802F90E0A0E0B0E040914319CC +:108B30005091441960914519709146194817590789 +:108B40006A077B0771F40F94B23CDF91CF911F91BC +:108B50000F91FF90EF90BF90AF909F908F902DCD91 +:108B600002E0EE24E394E00EED123EC08091D902C3 +:108B70008823D1F04D2F50E060E070E080904319E1 +:108B800090904419A0904519B090461920E284169F +:108B90009506A606B70611F44EE301C040E26DE467 +:108BA0007FE58C2F0F94223B1123F1F08E2D90E066 +:108BB000A0E0B0E0409143195091441960914519EB +:108BC00070914619481759076A077B0769F40F9493 +:108BD000B23CDF91CF911F910F91FF90EF90BF902A +:108BE000AF909F908F9022CD52E0E52EE00EED12D7 +:108BF0003EC08091D9028823D1F04D2F50E060E033 +:108C000070E08090431990904419A0904519B0905D +:108C1000461920E284169506A606B70611F44EE31F +:108C200001C040E26DE37FE58C2F0F94223B1123BE +:108C3000F1F08E2D90E0A0E0B0E04091431950910A +:108C400044196091451970914619481759076A07E8 +:108C50007B0769F40F94B23CDF91CF911F910F9184 +:108C6000FF90EF90BF90AF909F908F90B9CC43E072 +:108C7000E42EE00EED123EC08091D9028823D1F09F +:108C80004D2F50E060E070E08090431990904419BF +:108C9000A0904519B090461920E284169506A606C4 +:108CA000B70611F44EE301C040E26DE27FE58C2F80 +:108CB0000F94223B1123F1F08E2D90E0A0E0B0E064 +:108CC000409143195091441960914519709146198A +:108CD000481759076A077B0769F40F94B23CDF9184 +:108CE000CF911F910F91FF90EF90BF90AF909F9009 +:108CF0008F90AFCC34E0E32EE00EED123EC08091B9 +:108D0000D9028823D1F04D2F50E060E070E08090D0 +:108D1000431990904419A0904519B090461920E24B +:108D200084169506A606B70611F44EE301C040E28C +:108D30006DE17FE58C2F0F94223B1123F1F08E2DF6 +:108D400090E0A0E0B0E04091431950914419609147 +:108D5000451970914619481759076A077B0769F446 +:108D60000F94B23CDF91CF911F910F91FF90EF9044 +:108D7000BF90AF909F908F9046CC25E0E22EE00E02 +:108D8000ED123EC08091D9028823D1F04D2F50E0E2 +:108D900060E070E08090431990904419A0904519CC +:108DA000B090461920E284169506A606B70611F47F +:108DB0004EE301C040E26EE07FE58C2F0F94223B32 +:108DC0001123F1F08E2D90E0A0E0B0E04091431926 +:108DD00050914419609145197091461948175907E7 +:108DE0006A077B0769F40F94B23CDF91CF911F9122 +:108DF0000F91FF90EF90BF90AF909F908F903CCCE1 +:108E000096E0E92EE00EED1245C08091D90288234C +:108E100009F1E0918609F0E0EE0FFF1FEE50F54BEF +:108E2000659174918E2D90E0A0E0B0E080904319A0 +:108E300090904419A0904519B090461920E28816E8 +:108E40009906AA06BB0611F44EE301C040E28C2F3E +:108E50000F94223B1123F1F04E2D50E060E070E0C2 +:108E60008091431990914419A0914519B0914619E8 +:108E700084179507A607B70769F40F94B23CDF91F2 +:108E8000CF911F910F91FF90EF90BF90AF909F9067 +:108E90008F9069CB27E0200F422F50E060E070E018 +:108EA0008091431990914419A0914519B0914619A8 +:108EB00084179507A607B70780F0422F50E041506E +:108EC0005109662757FD6095762F409343195093BB +:108ED0004419609345197093461940914319809144 +:108EE000481990E00396242F30E0821793074CF442 +:108EF0008DEF840F80934819F092D902DCEFD40FE4 +:108F0000CFEFCF5FDF5FC43008F473CDDF91CF9137 +:108F10001F910F91FF90EF90BF90AF909F908F9017 +:108F20000895CF93DF93CDB7DEB728970FB6F894A7 +:108F3000DEBF0FBECDBF88E0EFE5F3E0DE011196A6 +:108F400001900D928A95E1F7AE014F5F5F4F61E0AE +:108F50008AE499E10E94E23E28960FB6F894DEBFBB +:108F60000FBECDBFDF91CF910895CF93DF93CDB7E3 +:108F7000DEB728970FB6F894DEBF0FBECDBF88E0EE +:108F8000E7E6F3E0DE01119601900D928A95E1F794 +:108F9000AE014F5F5F4F61E08AE499E10E94E23EDB +:108FA00028960FB6F894DEBF0FBECDBFDF91CF91EC +:108FB00008950F931F93CF93DF93CDB7DEB76097DC +:108FC0000FB6F894DEBF0FBECDBF88E0EFE6F3E04A +:108FD000DE01199601900D928A95E1F788E08E01E5 +:108FE0000F5F1F4FF801982F11929A95E9F791E0C2 +:108FF0009A8393E09B8396E19C839CE19D838E837F +:10900000AE01475F5F4F61E08AE499E10E94E23E72 +:10901000A80162E08AE499E10E94E23E60960FB600 +:10902000F894DEBF0FBECDBFDF91CF911F910F919E +:109030000895CF93DF93CDB7DEB728970FB6F89496 +:10904000DEBF0FBECDBF88E0E7E2F3E0DE011196A0 +:1090500001900D928A95E1F7AE014F5F5F4F61E09D +:109060008AE499E10E94E23E28960FB6F894DEBFAA +:109070000FBECDBFDF91CF9108958AE499E10C94A2 +:109080004E3C4AE050E0BC018AE499E10D9477B986 +:10909000CF93DF93EA01462F682F8AE499E10E947B +:1090A0005A3C4AE050E0BE018AE499E1DF91CF9159 +:1090B0000D9477B9CF93DF93EA01462F682F8AE4A6 +:1090C00099E10E945A3CBE018AE499E1DF91CF9177 +:1090D0000D94D0B88EEF9FE00F9423CB823028F40C +:1090E0008093860910923419089581E0809386094F +:1090F0008093341908951F93CF93DF93EC01FB0104 +:10910000608111810F9435CB612FCE010196DF91E3 +:10911000CF911F910D9435CBFF920F931F93CF9357 +:10912000DF938C01EB010F9423CBF82EC80101963D +:109130000F9423CBF8828983DF91CF911F910F91F8 +:10914000FF90089561E080EC9FE00F9435CB60E0E4 +:109150008FEB9FE00F9435CB60E08EEB9FE00F9498 +:1091600035CB60E08DEB9FE00F9435CB60E08CEB6E +:109170009FE00F9435CB1092EB191092EA191092E0 +:10918000E6191092ED191092EC191092E71910924D +:10919000EF191092EE191092E8191092F11910922D +:1091A000F0191092E9190895EF92FF920F931F930F +:1091B000CF93DF931F92CDB7DEB77B018C01061BE7 +:1091C000170B460FC701800F911F49830F9423CBC4 +:1091D000F70181937F0149814E13F4CF0F90DF9106 +:1091E000CF911F910F91FF90EF9008950F93CF9320 +:1091F000DF931F92CDB7DEB741E0BE016F5F7F4FB7 +:1092000089E09FE0D1DF8981882321F0813029F432 +:1092100082E001C081E0898301C01982698189E00F +:109220009FE00F9435CB81E08093D11901E021E0DC +:1092300048E050E060E070E088E291E00F94C13CCB +:109240000F90DF91CF910F910895F3CE8ECE6EEFF8 +:109250008EEF9FE00D9435CB81E08093E10208957D +:109260000F931F93CF938091CB19882371F10E94A4 +:10927000CCC5C82F0F9411B60091BC091091BD093F +:109280002091BE093091BF09601B710B820B930BBB +:109290000F9488BF2FE632E143E85AE30F94BDC133 +:1092A000CC2329F020E030E040E752E404C020E085 +:1092B00030E046E154E40F94EBC018161CF4109211 +:1092C000E10203C081E08093E102CF911F910F91F1 +:1092D000089580933619109235190895EEE9F9E151 +:1092E00001900020E9F73197EE59F9411E161F064B +:1092F00034F01092B21982E08093D902089580E28E +:10930000E431F105B4F7DF01A256B64E8C933196E5 +:10931000F7CF2091B319211108C044E150E0BC01FE +:109320008EE999E10F94D8C7D9CF08952091B31948 +:1093300021110AC044E150E0BC018EE999E10F948B +:109340004BC71092B219CACF089561E089E09FE53A +:109350000E9469C481E080937A0982E090E0909352 +:10936000780980937709E0918609F0E0EE0FFF1FFE +:10937000E259F54B85919491D9DFC6D883E080936B +:10938000D9020895D3DF81E08093B319BDC810924C +:10939000B31908958091B31908950F931F93CF9334 +:1093A0008091191981110FC181E080931919C09121 +:1093B0000301C2FBCC27C0F9C8278091030181FFBC +:1093C000C2608091D802882309F4C4C08091000152 +:1093D00086FD89C00F9411B6605D7A488F4F9F4F0C +:1093E00060932C1970932D1980932E1990932F1937 +:1093F0000F9411B60091B6191091B7192091B819B0 +:109400003091B919061717072807390708F0A6C0C1 +:109410000F9411B668537F4F8F4F9F4F6093B619CB +:109420007093B7198093B8199093B9198091B519B1 +:1094300081112EC08091BE1981112AC08091DA025B +:109440009091DB0221E0823A9207A1F090933D19BE +:1094500080933C198091431990914419A09145192A +:10946000B091461980933F1990934019A0934119E8 +:10947000B09342190F9411B66093BA197093BB1947 +:109480008093BC199093BD1981E08093B51966C093 +:109490000F9411B60091BA191091BB192091BC1903 +:1094A0003091BD19601B710B820B930B693E7340A9 +:1094B0008105910508F452C081E08093BE1980E0D7 +:1094C00090E0A0E8BFE38093301990933119A09306 +:1094D0003219B093331901E021E040E050E0BA01C5 +:1094E00082EA91E02BC08091B519882381F10F9415 +:1094F00011B668537F4F8F4F9F4F6093B61970938B +:10950000B7198093B8199093B9192091BE19809119 +:10951000DA029091DB02211114C0825A9140E9F4E1 +:1095200040913F1950914019609141197091421931 +:1095300001E021E080913C1990913D190F94C13CCC +:109540000DC0825A914051F40F94B23C07C0109262 +:10955000BE1904C08091000186FFC460C093491900 +:109560008091491981709091491991FD8260909183 +:109570004719891721F18130F1F028F0823089F004 +:109580008330A1F01CC0913021F49091F2199F5FBB +:1095900005C09230A1F49091F21991509093F21974 +:1095A0000EC0992391F3933051F4F5CF923069F3C3 +:1095B000913029F4F0CF933041F3992361F38093F4 +:1095C000471910921919CF911F910F9108950F9477 +:1095D0007842E4E0F1E080818B7F808380818D7F21 +:1095E00080839FB7F894E5E0F1E080818460808318 +:1095F0009FBF9FB7F8948081826080839FBFE1E026 +:10960000F1E080818F7B80839FB7F894E2E0F1E006 +:109610008081806480839FBF60E08FE00F94FCB7FF +:109620009FB7F894E5E0F1E08081816080839FBF7F +:10963000809103018095817080933E19AEDE109277 +:10964000F219089581E008959091491992FB8827B5 +:1096500080F992FD1092B51908958F929F92AF9262 +:10966000BF92CF92DF92EF92FF926091A618709115 +:10967000A718882777FD8095982F0F948ABF20E040 +:1096800030EC4FE756E40F94EFBE20E030E040EAC4 +:1096900050E40F94BDC127ED30E344E45EE30F9442 +:1096A000EFBE4B015C010F9457BF6B017C01882713 +:1096B00077FD8095982F0F948ABF9B01AC01C5015F +:1096C000B4010F940EBE9F7720E030E040E251E4F9 +:1096D0000F94BDC10F9457BF7F936F93DF92CF92CA +:1096E00082EA91E69F938F9385EC98E09F938F9306 +:1096F0000F9401C8A9DF2DB73EB7285F3F4F0FB6C3 +:10970000F8943EBF0FBE2DBF882361F00F94B23C8A +:10971000FF90EF90DF90CF90BF90AF909F908F9091 +:109720000D948442FF90EF90DF90CF90BF90AF9068 +:109730009F908F9008951F93CF93DF931F9211E016 +:109740001F9360919E1870919F188091A01890911E +:10975000A1180F9457BF7F936F931F921F9360912F +:10976000B4187091B5188091B6189091B7180F94ED +:1097700057BF7F936F9389E791E69F938F93C5ECD3 +:10978000D8E0DF93CF930F9401C81F921F9360918D +:10979000AE187091AF188091B0189091B1180F94D5 +:1097A00057BF7F936F931F921F936091A81870917A +:1097B000A9188091AA189091AB180F9457BF7F9366 +:1097C0006F9380E591E69F938F93DF93CF930F94F0 +:1097D00001C83ADF2DB73EB7285E3F4F0FB6F89469 +:1097E0003EBF0FBE2DBF882339F00F94B23CDF91EE +:1097F000CF911F910D948442DF91CF911F910895D5 +:10980000CF93DF938BE59FE00F9430CBEC018DE598 +:109810009FE00F9430CBDF93CF939F938F938AE297 +:1098200091E69F938F9385EC98E09F938F930F948D +:1098300001C80ADF2DB73EB7285F3F4F0FB6F89437 +:109840003EBF0FBE2DBF882331F00F94B23CDF9195 +:10985000CF910D948442DF91CF910895EF92FF92C2 +:109860000F931F93CF93DF938FEF9EE00F9430CB36 +:10987000EC0181E09FE00F9430CB182F092F85E099 +:109880009FE00F9430CBF82EE92E83E09FE00F94F9 +:1098900030CB9F938F93EF92FF920F931F93DF93A1 +:1098A000CF9385EB90E69F938F9385EC98E09F9301 +:1098B0008F930F9401C8C8DE2DB73EB7245F3F4F8A +:1098C0000FB6F8943EBF0FBE2DBF882361F00F94F2 +:1098D000B23C01E021E044E050E060E070E08CE95F +:1098E00091E00F94C13CDF91CF911F910F91FF90B8 +:1098F000EF9008950F931F93CF93DF9384E69FE03B +:109900000F9423CBC82F85E69FE00F9423CBD82F4D +:1099100086E69FE00F9423CB182F88E69FE00F94F4 +:1099200023CB1F928F931F921F931F92DF931F923F +:10993000CF938CE490E69F938F9385EC98E09F9370 +:109940008F930F9401C880DE2DB73EB7245F3F4F41 +:109950000FB6F8943EBF0FBE2DBF882361F00F9461 +:10996000B23C01E021E042E050E060E070E08CE9D0 +:1099700091E00F94C13CDF91CF911F910F91089519 +:1099800084E090E090931802809317020F941B29B3 +:1099900081E00E94A85D58DE8823C1F355DE811165 +:1099A000FDCF6AE070E080E090E00F9440B64CDEBE +:1099B0008111FDCF82E090E090931802809317020E +:1099C0000895DF92EF92FF920F931F93CF93DF934F +:1099D000CDB7DEB728970FB6F894DEBF0FBECDBF68 +:1099E00088EF95E09A83898381E096E09C838B835E +:1099F0008CE096E09E838D838AE196E098878F8342 +:109A0000E090F219FF24E7FCF09437DB40E060E0DF +:109A10008AE499E10E945A3C66EF75E08AE499E194 +:109A20000F94D0B8D12C00E010E0402F61E08AE420 +:109A300099E10E945A3CE0911A19F0911B19E00F2C +:109A4000F11FEE0FFF1F81E090E08C0F9D1FE80FCC +:109A5000F91F608171818AE499E10F94D0B80F5F9A +:109A60001F4F0430110509F70F941B2981E00E9454 +:109A7000A85D2091F219332727FD3095C701821B7D +:109A8000930B97FF03C091958195910905970CF46D +:109A90006FC02E153F050CF4DA94E216F3060CF4B1 +:109AA000D39493E09D156CF480911A1990911B1931 +:109AB00097FF7FC0019690931B1980931A19DDDAE6 +:109AC00078C0D7FE0EC080911A1990911B191816F4 +:109AD000190634F4019790931B1980931A19CDDA63 +:109AE000D12C40E060E08AE499E10E945A3C62E1B6 +:109AF00077E08AE499E10F94D0B841E060E08AE42D +:109B000099E10E945A3C62E177E08AE499E10F947E +:109B1000D0B842E060E08AE499E10E945A3C62E1F8 +:109B200077E08AE499E10F94D0B843E060E08AE4FA +:109B300099E10E945A3C62E177E08AE499E10F944E +:109B4000D0B84D2D60E08AE499E10E945A3C66EF5E +:109B500075E08AE499E10F94D0B8E090F219FF24FF +:109B6000E7FCF09464E670E080E090E00F9440B68B +:109B70006BDD882309F457CF67DD8111FDCF6AE0E3 +:109B800070E080E090E00F9440B65EDD8111FDCF83 +:109B900080911A198D0D28960FB6F894DEBF0FBE6E +:109BA000CDBFDF91CF911F910F91FF90EF90DF908C +:109BB0000895B3E0DB2E95CFFC01808190E02AE090 +:109BC00030E0B9010F94ACC3482FCB01B9010F9419 +:109BD000ACC3805D80932419405D40932519109299 +:109BE000261984E299E1089520E030E040E251E452 +:109BF000FC0160817181828193810F94BDC10F94BA +:109C000057BF77FD02C02BE201C02DE2209324193B +:109C10009B0177FF04C022273327261B370BC9017E +:109C200068EE73E00F94ACC3CB01EAE0F0E0BF0153 +:109C30000F94ACC3805D80932519C90164E670E080 +:109C40000F94ACC3CB01BF010F94ACC3805D809374 +:109C50002619C901BF010F94ACC3282FCB01BF0146 +:109C60000F94ACC3805D809327198EE280932819EE +:109C7000205D2093291910922A1984E299E1089510 +:109C80008F929F92AF92BF92CF92DF92EF92FF920C +:109C9000CF9320E030E048EC52E4FC016081718118 +:109CA000828193810F94BDC10F9457BF6B017C01DA +:109CB00097FD12C020E137E240E050E00F94E1C38D +:109CC000CA01B9012AE030E040E050E00F94E1C35E +:109CD000605D6093241903C08DE280932419F7FE20 +:109CE00008C0F094E094D094C094C11CD11CE11C35 +:109CF000F11CC701B60128EE33E040E050E00F94BC +:109D0000E1C39AE0892E912CA12CB12CCA01B90192 +:109D1000A50194010F94E1C3605D60932519C7010B +:109D2000B60124E630E040E050E00F94E1C3CA0100 +:109D3000B901A50194010F94E1C3605D60932619F8 +:109D40008EE280932719C701B601A50194010F94F3 +:109D5000E1C3C62FCA01B901A50194010F94E1C363 +:109D6000605D60932819C05DC093291910922A196B +:109D700084E299E1CF91FF90EF90DF90CF90BF9078 +:109D8000AF909F908F9008958F929F92AF92BF92C5 +:109D9000CF92DF92EF92FF92CF93FC01C080D180EF +:109DA000E280F38020E030E0A901C701B6010F9402 +:109DB000EBC018161CF4C701B60103C0C701B601F9 +:109DC00090580F9457BF6B017C016031F7E27F0719 +:109DD0008105910584F020E137E240E050E00F94E6 +:109DE000E1C3CA01B9012AE030E040E050E00F943D +:109DF000E1C3605D01C060E26093241988EEC8167B +:109E000083E0D806E104F10494F0C701B60128EE1E +:109E100033E040E050E00F94E1C3CA01B9012AE009 +:109E200030E040E050E00F94E1C3605D01C060E2CB +:109E300060932519E4E6CE16D104E104F10494F010 +:109E4000C701B60124E630E040E050E00F94E1C3E2 +:109E5000CA01B9012AE030E040E050E00F94E1C3CC +:109E6000605D01C060E3609326198EE2809327193C +:109E70002AE0822E912CA12CB12CC701B601A5019C +:109E800094010F94E1C3C62FCA01B901A501940141 +:109E90000F94E1C3605D60932819C05DC0932919D8 +:109EA00084E299E1CF91FF90EF90DF90CF90BF9047 +:109EB000AF909F908F9008958F929F92AF92BF9294 +:109EC000CF92DF92EF92FF92CF9320E030E04AE70B +:109ED00054E4FC0160817181828193810F94BDC142 +:109EE0000F9457BF6B017C0197FD12C028EE33E041 +:109EF00040E050E00F94E1C3CA01B9012AE030E02C +:109F000040E050E00F94E1C3605D6093241903C00A +:109F10008DE280932419F7FE08C0F094E094D09469 +:109F2000C094C11CD11CE11CF11C8EE28093251948 +:109F3000C701B60124E630E040E050E00F94E1C3F1 +:109F40006AE0862E912CA12CB12CCA01B901A50181 +:109F500094010F94E1C3605D60932619C701B601B7 +:109F6000A50194010F94E1C3C62FCA01B901A5014F +:109F700094010F94E1C3605D60932719C05DC093A5 +:109F800028191092291984E299E1CF91FF90EF905E +:109F9000DF90CF90BF90AF909F908F9008958F9259 +:109FA0009F92AF92BF92CF92DF92EF92FF92CF93A8 +:109FB00020E030E04AE754E4FC0160817181828155 +:109FC00093810F94BDC10F9457BF97FD02C020E24B +:109FD00001C02DE2209324196B017C0197FF08C07A +:109FE000F094E094D094C094C11CD11CE11CF11CED +:109FF000C701B60128EE33E040E050E00F94E1C322 +:10A00000EAE08E2E912CA12CB12CCA01B901A50138 +:10A0100094010F94E1C3605D609325198EE28093F3 +:10A020002619C701B60124E630E040E050E00F9465 +:10A03000E1C3CA01B901A50194010F94E1C3605DB8 +:10A0400060932719C701B601A50194010F94E1C3DC +:10A05000C62FCA01B901A50194010F94E1C3605D47 +:10A0600060932819C05DC093291910922A1984E2BF +:10A0700099E1CF91FF90EF90DF90CF90BF90AF909C +:10A080009F908F9008958F929F92AF92BF92CF92A0 +:10A09000DF92EF92FF92FC0180809180A280B380DA +:10A0A00020E030E048EC52E4C501B4010F94BDC19A +:10A0B0006B017C0120E030E0A9010F94EBC0181681 +:10A0C0001CF4C701B60103C0C701B60190580F9434 +:10A0D00057BF6B017C0120E030E0A901C501B4014C +:10A0E0000F94E8BE87FF12C08DE280932419C70148 +:10A0F000B60128EE33E040E050E00F94E1C3CA011E +:10A10000B9012AE030E040E050E036C0C701B601B6 +:10A1100020E137E240E050E00F94E1C3AAE08A2E4C +:10A12000912CA12CB12CCA01B901A50194010F9465 +:10A13000E1C3662391F0605D60932419C701B60105 +:10A1400028EE33E040E050E00F94E1C3CA01B901CA +:10A15000A50194010F94E1C313C080E280932419F8 +:10A16000C701B60128EE33E040E050E00F94E1C3B0 +:10A17000CA01B901A50194010F94E1C3662311F04E +:10A18000605D01C060E260932519C701B60124E655 +:10A1900030E040E050E00F94E1C3FAE08F2E912CC4 +:10A1A000A12CB12CCA01B901A50194010F94E1C3FE +:10A1B000605D60932619C701B601A50194010F9453 +:10A1C000E1C3662381F0605D60932919CA01B9017A +:10A1D000A50194010F94E1C3605D609328198EE29C +:10A1E0008093271915C0CA01B901A50194010F94E4 +:10A1F000E1C3662329F0605D609328198EE203C0F5 +:10A2000080E2809328198093271980E2809329198E +:10A2100010922A1984E299E1FF90EF90DF90CF909D +:10A22000BF90AF909F908F900895FC012081318165 +:10A2300037FF07C08DE280932419319521953109AC +:10A2400014C02436310574F0C90164E670E00F943F +:10A25000ACC3CB016AE070E00F94ACC3805D809327 +:10A26000241906C080E2809324192A30310564F055 +:10A27000EAE0F0E0C901BF010F94ACC3CB01BF011C +:10A280000F94ACC3805D01C080E280932519C901A1 +:10A290006AE070E00F94ACC3805D80932619109241 +:10A2A000271984E299E108956F927F929F92BF925D +:10A2B000CF92DF92EF92FF920F931F93CF93DF9392 +:10A2C0008091E51981115EC081E08093E5198FEBE3 +:10A2D0009FE00F9423CB082F282F332727FD30959D +:10A2E0003093EB192093EA198093E6198EEB9FE0E7 +:10A2F0000F9423CB182F282F332727FD3095309329 +:10A30000ED192093EC198093E7198DEB9FE00F94E2 +:10A3100023CBD82F282F332727FD30953093EF19E3 +:10A320002093EE198093E8198CEB9FE00F9423CBD8 +:10A33000C82F282F332727FD30953093F11920930C +:10A34000F0198093E91980EC9FE00F9423CB8130C2 +:10A3500009F06EC20E5C053608F06AC21E5C153646 +:10A3600008F066C2DE5CD53608F062C2CE5CC53647 +:10A3700008F05EC281E08093D90261E080EC9FE04A +:10A380000F9435CB6091EA197091EB198091E61921 +:10A39000992787FD90958617970731F06093E61906 +:10A3A0008FEB9FE00F9435CB6091EC197091ED1914 +:10A3B0008091E719992787FD90958617970731F0C7 +:10A3C0006093E7198EEB9FE00F9435CB6091EE1907 +:10A3D0007091EF198091E819992787FD909586175C +:10A3E000970731F06093E8198DEB9FE00F9435CB20 +:10A3F0006091F0197091F1198091E919992787FD01 +:10A4000090958617970731F06093E9198CEB9FE0E0 +:10A410000F9435CB8091431990914419A09145191F +:10A42000B091461981309048A105B10540F01092D5 +:10A4300043191092441910924519109246198091AF +:10A44000431990914419A0914519B0914619409132 +:10A45000481950E060E070E084179507A607B70739 +:10A4600010F480934819109148199090491992FA64 +:10A47000992490F8B12CE0E66E2EEBE47E2EF5E008 +:10A48000CF2ED12CE12CF12C01E080914319909139 +:10A490004419A0914519B091461911113AC0209163 +:10A4A000D9022223A1F0E0918609F0E0EE0FFF1F10 +:10A4B000E858F74B6591749123E0892B8A2B8B2BFD +:10A4C00011F443E001C040E28B2D0F94223B992010 +:10A4D00009F472C18091431990914419A0914519D2 +:10A4E000B0914619892B8A2B8B2B09F065C10F94EB +:10A4F000B23C82EF91E0DF91CF911F910F91FF90DD +:10A50000EF90DF90CF90BF909F907F906F900D94D1 +:10A51000723D113009F042C02091D9022223E1F0AE +:10A52000E0918609F0E0EE0FFF1FE659F44BC5916C +:10A53000D4910197A105B10531F48AEE99E175DE58 +:10A540009C014EE305C08AEE99E16FDE9C0140E27A +:10A55000BE018B2D0F94593B992009F42DC1809198 +:10A56000431990914419A0914519B091461901974A +:10A57000A105B10509F020C10F94B23CE091860914 +:10A58000F0E0EE0FFF1FE659F44B8591949122E322 +:10A5900030E04EEC5FEF6AEE79E144C0123009F032 +:10A5A0004FC02091D9022223E1F0E0918609F0E02A +:10A5B000EE0FFF1FE45AF44BC591D4910297A10509 +:10A5C000B10531F48CEE99E130DE9C014EE305C01B +:10A5D0008CEE99E12ADE9C0140E2BE018B2D0F94A6 +:10A5E000593B992009F4E8C080914319909144198E +:10A5F000A0914519B09146190297A105B10509F03E +:10A60000DBC00F94B23CE0918609F0E0EE0FFF1F33 +:10A61000E45AF44B8591949122E330E04EEC5FEFE5 +:10A620006CEE79E1DF91CF911F910F91FF90EF9048 +:10A63000DF90CF90BF909F907F906F900D940D3DD5 +:10A64000133009F042C02091D9022223E1F0E091B9 +:10A650008609F0E0EE0FFF1FE259F44BC591D4914B +:10A660000397A105B10531F48EEE99E1DEDD9C0181 +:10A670004EE305C08EEE99E1D8DD9C0140E2BE01BB +:10A680008B2D0F94593B992009F496C08091431962 +:10A6900090914419A0914519B09146190397A105CD +:10A6A000B10509F089C00F94B23CE0918609F0E051 +:10A6B000EE0FFF1FE259F44B8591949122E330E0B5 +:10A6C0004EEC5FEF6EEE79E1ADCF143009F042C091 +:10A6D0002091D9022223E1F0E0918609F0E0EE0F0B +:10A6E000FF1FEE59F44BC591D4910497A105B10514 +:10A6F00031F480EF99E199DD9C014EE305C080EFD4 +:10A7000099E193DD9C0140E2BE018B2D0F94593BF2 +:10A71000992009F451C08091431990914419A09156 +:10A720004519B09146190497A105B10509F044C037 +:10A730000F94B23CE0918609F0E0EE0FFF1FEE5956 +:10A74000F44B8591949122E330E04EEC5FEF60EFA3 +:10A7500079E168CF153081F52091D902222371F07B +:10A76000F3016591749120E20597A105B10511F4FB +:10A770004EE301C040E28B2D0F94223B9920E1F083 +:10A780008091431990914419A0914519B0914619AF +:10A790000597A105B10581F40F94B23CDF91CF91EB +:10A7A0001F910F91FF90EF90DF90CF90BF909F90FF +:10A7B0007F906F900D94E73C8091431990914419DC +:10A7C000A0914519B09146190697A105B10540F031 +:10A7D000C0924319D0924419E0924519F09246195B +:10A7E000409143198091481990E00396242F30E05E +:10A7F0008217930754F48DEF840F809348190093C8 +:10A80000D9021CEF140FBB24BA94B3941F5F83E0EA +:10A810008B1508F03ACEDF91CF911F910F91FF90E9 +:10A82000EF90DF90CF90BF909F907F906F900895B2 +:10A830001092EB191092EA191092ED191092EC197E +:10A840001092EF191092EE191092F1191092F0195E +:10A8500091CD8F929F92AF92BF92CF92DF92EF9263 +:10A86000FF920F931F93CF93DF93809143199091A1 +:10A870004419A0914519B091461981309048A1051D +:10A88000B10540F0109243191092441910924519E5 +:10A89000109246198091431990914419A09145193D +:10A8A000B09146194091481950E060E070E084177B +:10A8B0009507A607B70710F480934819A090481988 +:10A8C0009090491992FA992490F8B12C02E71BE470 +:10A8D00043E0C42ED12CE12CF12C88248394809168 +:10A8E000431990914419A0914519B0914619A110AE +:10A8F0003AC02091D9022223A1F0E0918609F0E02C +:10A90000EE0FFF1FE858F74B6591749123E0892BF8 +:10A910008A2B8B2B11F443E001C040E28B2D0F9466 +:10A92000223B992009F4EEC080914319909144197B +:10A93000A0914519B0914619892B8A2B8B2B09F0D0 +:10A94000E1C00F94B23C88E291E0DF91CF911F917A +:10A950000F91FF90EF90DF90CF90BF90AF909F90BE +:10A960008F900D94723D21E0A21242C02091D90235 +:10A970002223E1F0E0918609F0E0EE0FFF1FE6569A +:10A98000F64BC591D4910197A105B10531F48CEB3B +:10A9900098E14BDC9C014EE305C08CEB98E145DC73 +:10A9A0009C0140E2BE018B2D0F94593B992009F484 +:10A9B000A9C08091431990914419A0914519B09173 +:10A9C00046190197A105B10509F09CC00F94B23C4E +:10A9D000E0918609F0E0EE0FFF1FE656F64B8591F9 +:10A9E000949127E231E040E050E06CEB78E17CC0EC +:10A9F00022E0A21237C02091D9022223B1F0F8013F +:10AA0000C591D4910297A105B10531F48AEB98E183 +:10AA10000CDC9C014EE305C08AEB98E106DC9C014E +:10AA200040E2BE018B2D0F94593B992009F46AC076 +:10AA30008091431990914419A0914519B0914619FC +:10AA40000297A105B10509F05DC00F94B23CE2E7A1 +:10AA5000FBE4859194912AE730E040E050E06AEB16 +:10AA600078E142C023E0A2124DC02091D9022223F6 +:10AA7000E1F0E0918609F0E0EE0FFF1FEA56F54B9A +:10AA8000C591D4910397A105B10531F480E299E015 +:10AA9000CCDB9C014EE305C080E299E0C6DB9C0163 +:10AAA00040E2BE018B2D0F94593B992059F18091C2 +:10AAB000431990914419A0914519B09146190397F3 +:10AAC000A105B105F9F40F94B23CE0918609F0E0DC +:10AAD000EE0FFF1FEA56F54B859194912FEF30E072 +:10AAE00040E050E060E279E0DF91CF911F910F915B +:10AAF000FF90EF90DF90CF90BF90AF909F908F909E +:10AB00000D940D3D8091431990914419A0914519E0 +:10AB1000B09146190497A105B10540F0C0924319C0 +:10AB2000D0924419E0924519F09246194091431988 +:10AB30008091481990E00396242F30E08217930704 +:10AB40005CF48DEF840F809348198092D902ACEFAA +:10AB5000AA2EA40EBB24BA94B394A39483E08B15BD +:10AB600008F0BDCEDF91CF911F910F91FF90EF9034 +:10AB7000DF90CF90BF90AF909F908F9008958F926D +:10AB80009F92AF92BF92CF92DF92EF92FF920F937C +:10AB90001F93CF93DF931F921F92CDB7DEB78830FC +:10ABA000910509F449C0C4F48430910509F44DC0FD +:10ABB00064F48130910509F479C18230910509F47A +:10ABC0009BC1892B09F0AEC343C086309105B9F112 +:10ABD000CCF100E616E069C28A35910521F164F4F2 +:10ABE0008531910531F18631910501F1449709F0E4 +:10ABF00099C300E516E0A0C28C35910571F084F090 +:10AC00008D35910539F08336910509F08BC304E841 +:10AC100016E055C303E216E03AC30CE216E01FC388 +:10AC200005E316E004C30EE316E0EAC207E416E00B +:10AC3000CAC200E516E0A7C202E516E057C209E65F +:10AC400016E016C202E716E0F5C10BE716E0D4C124 +:10AC50008091C20900E516E0882309F405C1F801D6 +:10AC600081918F01882319F00F94A443F8CF84E0D9 +:10AC700090E00F94B8430F94D7430EE816E0F80124 +:10AC800081918F01882319F00F94A443F8CF40914C +:10AC90007F095091800960918109709182092AE0B1 +:10ACA00030E084ED97E00E94ED4004E916E0F80101 +:10ACB00081918F01882319F00F94A443F8CF8091DC +:10ACC0001F0C882319F18091C90C9091CA0CA09196 +:10ACD000CB0CB091CC0C0097A105B105B9F0BC012B +:10ACE000CD016D597F4F8F4F9F4F24E630E040E0FC +:10ACF00050E00F94BFC36091D10C7091D20C809141 +:10AD0000D30C9091D40C0F94BFC301C020E030E06D +:10AD10003A832983CE01019688DA8C01F80181916A +:10AD20008F01882319F00F94A443F8CF0BE916E0A4 +:10AD3000F80181918F01882319F00F94A443F8CF73 +:10AD400088E592E072DA8C01F80181918F01882305 +:10AD500019F00F94A443F8CF02EA16E0F8018191AC +:10AD60008F01882319F00F94A443F8CF07E619E167 +:10AD7000F80181918F01882319F00F94A443F8CF33 +:10AD800009EA16E0F80181918F01882319F00F94E8 +:10AD9000A443F8CF8091E0089091E108A091E208E7 +:10ADA000B091E308892B8A2B8B2B49F10F9411B6B4 +:10ADB00058EE852E53E0952EA12CB12CA5019401BF +:10ADC0000F94BFC369017A016091E0087091E108B6 +:10ADD0008091E2089091E308A50194010F94BFC30C +:10ADE000C21AD30AE40AF50A2AE030E0B701A60144 +:10ADF00084ED97E00E94ED4000EB16E009C04AE0C8 +:10AE000050E060E070E084ED97E00E942C41F4CFC8 +:10AE1000F80181918F01882319F00F94A443F8CF92 +:10AE200008E014E0F80181918F01882319F00F9454 +:10AE3000A443F8CF09E716E0F80181918F01882338 +:10AE400019F00F94A443F8CF08EB16E0F8018191B4 +:10AE50008F01882319F00F94A443F8CF8AE00F9450 +:10AE6000A44384E090E01DC0F80181918F01882304 +:10AE700019F00F94A443F8CF81E090E00F94B84309 +:10AE80000F94D74308EB16E0F80181918F018823D6 +:10AE900019F00F94A443F8CF8AE00F94A44381E003 +:10AEA00090E090938409809383093CC282E090E013 +:10AEB0009093C8198093C71900E516E0F8018191B5 +:10AEC0008F01882319F00F94A443F8CF82E090E01B +:10AED0000F94B8430F94D74308EB16E0F801819123 +:10AEE0008F01882319F00F94A443F8CF8AE00F94C0 +:10AEF000A44382E090E079C083E090E09093C81989 +:10AF00008093C71900E516E0F80181918F0188232D +:10AF100019F00F94A443F8CF83E090E00F94B84366 +:10AF20000F94D74308EB16E0F80181918F01882335 +:10AF300019F00F94A443F8CF8AE00F94A44383E060 +:10AF400090E0909384098093830981E090E090934E +:10AF5000E3028093E2028091C209811103C000E5FF +:10AF600016E026C084E090E09093C8198093C7193A +:10AF700000E516E0F80181918F01882319F00F9404 +:10AF8000A443F8CF84E090E00F94B8430F94D743E4 +:10AF900008EB16E0F80181918F01882319F00F94D6 +:10AFA000A443F8CF8AE00F94A44384E090E01DC04E +:10AFB000F80181918F01882319F00F94A443F8CFF1 +:10AFC00083E090E00F94B8430F94D74308EB16E06A +:10AFD000F80181918F01882319F00F94A443F8CFD1 +:10AFE0008AE00F94A44383E090E0909384098093D7 +:10AFF000830981E090E0C2C0F80181918F0188232C +:10B0000019F00F94A443F8CF8AE00F94A4438091E1 +:10B010008309909184090F94B8430F94D74308EBA8 +:10B0200016E0F80181918F01882309F47FC00F9405 +:10B03000A443F7CFF80181918F01882319F00F9471 +:10B04000A443F8CF8AE00F94A443809183099091A0 +:10B0500084090F94B8430F94D74308EB16E0F80126 +:10B0600081918F01882309F461C00F94A443F7CF25 +:10B07000F80181918F01882319F00F94A443F8CF30 +:10B080008AE00F94A4430F94D74308EB16E0F8012D +:10B0900081918F01882319F00F94A443F8CF8AE09F +:10B0A0000F94A44388E090E01CC0F80181918F01C7 +:10B0B000882319F00F94A443F8CF8AE00F94A44397 +:10B0C0000F94D74308EB16E0F80181918F01882394 +:10B0D00019F00F94A443F8CF8AE00F94A44389E0B9 +:10B0E00090E0909384098093830923C0F8018191B3 +:10B0F0008F01882319F00F94A443F8CF109284098C +:10B10000109283096091C9197091CA194AE050E000 +:10B1100084ED97E00E942C4107EB16E0F801819145 +:10B120008F01882319F00F94A443F8CF8AE00F947D +:10B13000A44382E090E022C0F80181918F0188232E +:10B1400019F00F94A443F8CF8AE00F94A4438091A0 +:10B150008309909184090F94B8430F94D74308EB67 +:10B1600016E0F80181918F01882319F00F94A44310 +:10B17000F8CF8AE00F94A44385E090E09093E30237 +:10B180008093E202CFC0F80181918F01882319F0EA +:10B190000F94A443F8CF0F94F4430F94D7438091B6 +:10B1A0008309909184090F94B84308EB16E0F801E5 +:10B1B00081918F01882319F00F94A443F8CF8AE07E +:10B1C0000F94A443AFC0F80181918F01882319F037 +:10B1D0000F94A443F8CF8AE00F94A4430F94D7436D +:10B1E00008EB16E0F80181918F01882319F00F9484 +:10B1F000A443F8CF8AE00F94A44385E090E051CEB9 +:10B20000F80181918F01882319F00F94A443F8CF9E +:10B210008AE00F94A4430F94D74308EB16E0F8019B +:10B2200081918F01882359F20F94A443F8CFF8013C +:10B2300081918F01882319F00F94A443F8CF8AE0FD +:10B240000F94A4430F94D74308EB16E0F8018191C3 +:10B250008F01882309F4B3CF0F94A443F7CFF801EB +:10B2600081918F01882319F00F94A443F8CF8AE0CD +:10B270000F94A4430F94D74308EB16E0F801819193 +:10B280008F01882309F49BCF0F94A443F7CFF801D3 +:10B2900081918F01882319F00F94A443F8CF8AE09D +:10B2A0000F94A4430F94D74308EB16E0F801819163 +:10B2B0008F01882309F483CF0F94A443F7CFF801BB +:10B2C00081918F01882319F00F94A443F8CF0F9434 +:10B2D000F4430AE516E0F80181918F01882319F003 +:10B2E0000F94A443F8CF6091C9197091CA194AE02C +:10B2F00050E084ED97E00E942C4109E716E0F80148 +:10B3000081918F01882319F00F94A443F8CF08EBA3 +:10B3100016E0F80181918F01882309F450CF0F9432 +:10B32000A443F7CF0F900F90DF91CF911F910F9112 +:10B33000FF90EF90DF90CF90BF90AF909F908F9055 +:10B340000895BF92CF92DF92EF92FF920F931F93D7 +:10B35000CF93DF93C091C919D091CA190F943D487A +:10B3600040E060E08AE499E10E945A3C6AEB76E0B2 +:10B370008AE499E10F94D0B8B12C64E6E62EF12C62 +:10B380007AE0C72ED12C2091F219422F55274195F2 +:10B390000CF45095CA0157FF03C09195819591090E +:10B3A00003970CF444C027FF1FC051E0B51659F0B5 +:10B3B00082E0B81681F0B11038C0C436D105ACF1C6 +:10B3C000C456D10932C0CE01B7010F94ACC30A975D +:10B3D00064F12A972AC0CE01B6010F94ACC31816A7 +:10B3E00019061CF5219721C02223F9F041E0B4167B +:10B3F00061F052E0B51691F0B11017C0C43883E087 +:10B40000D8079CF4CC59DF4F10C0CE01B7010F9480 +:10B41000ACC38A3591054CF42A9607C0CE01B6011B +:10B420000F94ACC3099709F021961092F21942E0EB +:10B4300060E08AE499E10E945A3CC436D1057CF46C +:10B440006AE977E08AE499E10F94D0B8CA30D1056F +:10B4500034F46AE977E08AE499E10F94D0B84AE0DD +:10B4600050E0BE018AE499E10F9477B961E177E099 +:10B470008AE499E10F94D0B843E060E08AE499E16E +:10B480000E945A3C60E177E08AE499E10F94D0B8D9 +:10B4900043E06B2D8AE499E10E945A3C62EC76E02D +:10B4A0008AE499E10F94D0B864E670E080E090E01F +:10B4B0000F9440B60F94244B8823E1F068EC70E0C1 +:10B4C00080E090E00F9440B6B39443E0B41212C011 +:10B4D000D093CA19C093C91969EC79E181EC9FE056 +:10B4E0000F947B4884E190E04ADB0F94844201E0B2 +:10B4F00010E002C000E010E00F941B29012B09F4BA +:10B5000042CFDF91CF911F910F91FF90EF90DF908D +:10B51000CF90BF900895CF93DF931F921F92CDB726 +:10B52000DEB7FC0160817181828193810F9457BFE6 +:10B530007A836983CE0101960F9415510F900F9075 +:10B54000DF91CF910895FC0180819181843691052E +:10B5500024F164E670E00F94ACC3CB012AE030E044 +:10B56000B9010F94ACC3805D8093241980819181CF +:10B57000B9010F94ACC3CB01B9010F94ACC3805D8A +:10B580008093251980819181B9010F94ACC3805DAE +:10B59000809326191092271923C08A309105BCF098 +:10B5A0002AE030E0B9010F94ACC3CB01B9010F948C +:10B5B000ACC3805D8093241980819181B9010F947F +:10B5C000ACC3805D809325191092261909C06AE0EA +:10B5D00070E00F94ACC3805D8093241910922519FC +:10B5E00084E299E10895FC0180819181883E23E005 +:10B5F00092075CF068EE73E00F94ACC3CB016AE095 +:10B6000070E00F94ACC3805D01C080E28093241988 +:10B6100080819181843691055CF064E670E00F943E +:10B62000ACC3CB016AE070E00F94ACC3805D01C095 +:10B6300080E280932519808191818A3091055CF0A8 +:10B640002AE030E0B9010F94ACC3CB01B9010F94EB +:10B65000ACC3805D01C080E2809326198081918116 +:10B660006AE070E00F94ACC3805D8093271910925C +:10B67000281984E299E10895CF92EF920F930F94E5 +:10B6800011B66093C3197093C4198093C519909330 +:10B69000C6190F9411B66093BA197093BB198093B1 +:10B6A000BC199093BD190F9411B66093B61970939D +:10B6B000B7198093B8199093B919B7E4CB2E05E563 +:10B6C000E02E06E42BE34DE362E58AE499E10E9473 +:10B6D000473D0F91EF90CF900895CF93DF93FC01FA +:10B6E0006491EC012196662331F08AE499E10E948D +:10B6F0001C3FCE01F4CFDF91CF9108950F931F939C +:10B70000CF93DF938C01EB0141E061E08AE499E1A2 +:10B710000E945A3CC801E1DF6AE38AE499E10F9490 +:10B72000D1B8FE0101900020E9F76C2F6E1B6C5E12 +:10B7300041E08AE499E10E945A3CBE018AE499E121 +:10B74000DF91CF911F910F910D94D0B82F923F921E +:10B750004F925F926F927F928F929F92AF92BF9221 +:10B76000CF92DF92EF92FF920F931F93CF93DF93CD +:10B770001C01EB017A014901809143199091441910 +:10B78000A0914519B0914619892B8A2B8B2B09F46E +:10B79000AFC00E94285080911E128F5F803109F443 +:10B7A00080E090911D12981709F4A2C08E01000F3D +:10B7B000111F000F111FC8018A5C964F5C01609138 +:10B7C000431970914419882777FD8095982F0F941D +:10B7D0008ABF20913019309131194091321950911E +:10B7E00033190F94BDC1F50120813181428153810C +:10B7F0000F940FBE2B013C01B701882777FD809580 +:10B80000982F0F948ABF6B017C019B01AC01C3018F +:10B81000B2010F94E8BEF50187FD05C04082518258 +:10B820006282738204C0C082D182E282F382B40158 +:10B83000882777FD8095982F0F948ABF4B015C0174 +:10B84000C8018A5C964F7C01A5019401FC016081CE +:10B850007181828193810F94EBC018162CF4F7014B +:10B8600080829182A282B38210924319109244196D +:10B8700010924519109246196AE379E086E399E03F +:10B880000E94C945F801E954F84F20E030E040E754 +:10B8900052E460817181828193810F94EFBE4B01EC +:10B8A0005C01E0903E09F0903F0900914009109141 +:10B8B000410920913A0930913B0940913C0950914E +:10B8C0003D0960913609709137098091380990914E +:10B8D0003909E2E2F9E0FF93EF93E2E4CE2EE9E0EA +:10B8E000DE2E0F94280681E08093D9020F900F90EE +:10B8F0008091D902882361F0CE01880F991F880FAB +:10B90000991F8A5C964F0F94F44DBC01C101F6DE7D +:10B910008091491982FF09C001E021E040E050E038 +:10B92000BA018AE691E00F94C13CDF91CF911F915B +:10B930000F91FF90EF90DF90CF90BF90AF909F90CE +:10B940008F907F906F905F904F903F902F900895D1 +:10B9500022ED30E040E050E062E070E08EE89FE5EC +:10B96000F5CE22ED30E04CEF5FEF61E070E08CE867 +:10B970009FE5ECCE2FEF30E040E050E060E070E07B +:10B980008AE89FE5E3CE0F93CF93DF931F921F9238 +:10B99000CDB7DEB78091431990914419A091451914 +:10B9A000B0914619B7FF08C010924319109244197C +:10B9B00010924519109246198091E1199091E2195F +:10B9C000A091E319B091E4194091431950914419A1 +:10B9D000609145197091461984179507A607B70716 +:10B9E00044F48093431990934419A0934519B0935C +:10B9F00046198091D9028823B1F08091DD19909188 +:10BA0000DE192091431930914419820F931F9A83B4 +:10BA10008983CE0101960F941551BC018091D919EB +:10BA20009091DA196BDE8091491982FF1EC0E09176 +:10BA3000DB19F091DC198091DD199091DE192091CC +:10BA4000431930914419820F931F91838083409151 +:10BA5000D7195091D81960E070E000E021E08091A2 +:10BA6000D5199091D6190F94C13C0F900F90DF918A +:10BA7000CF910F9108950F931F93CF93DF938C0174 +:10BA8000EB0141E060E08AE499E10E945A3CC80180 +:10BA900024DE6AE38AE499E10F94D1B8FE010190B3 +:10BAA0000020E9F7BE016E1B7F0B6B5E7F4F769522 +:10BAB000679543E08AE499E10E945A3CBE018AE41A +:10BAC00099E10F94D0B864EC76E08AE499E1DF91D3 +:10BAD000CF911F910F910D94D0B80F931F93CF93D7 +:10BAE000DF93ECE7FBE4C591D4918091D5198111E6 +:10BAF0007BC011E01093D5190E94F75F66ED79E1E4 +:10BB00008CEF9FE00F948C4868ED79E18AEF9FE01D +:10BB10000F948C486AED79E188EF9FE00F948C4890 +:10BB20006091D6197091D719882777FD8095982F45 +:10BB30000F948ABF2091AA173091AB174091AC1790 +:10BB40005091AD170F94EFBE6093DC197093DD191F +:10BB50008093DE199093DF196091D8197091D919EB +:10BB6000882777FD8095982F0F948ABF2091AE1774 +:10BB70003091AF174091B0175091B1170F94EFBEAD +:10BB80006093E0197093E1198093E2199093E3199F +:10BB90006091DA197091DB19882777FD8095982FCD +:10BBA0000F948ABF2091B2173091B3174091B41708 +:10BBB0005091B5170F94EFBE6093E4197093E51997 +:10BBC0008093E6199093E7191093D9020F9411B658 +:10BBD0006057704A8E4F9F4F60932C1970932D19A8 +:10BBE00080932E1990932F19409143195091441925 +:10BBF0006091451970914619452B462B472B09F446 +:10BC00006BC08091B409882341F0109243191092BF +:10BC1000441910924519109246198091DA199091A1 +:10BC2000DB192091431930914419820F931F90938F +:10BC3000DB198093DA19813620EF92073CF481E614 +:10BC400090EF9093DB198093DA1919C01816190632 +:10BC50002CF41092DB191092DA1911C04FB7F89436 +:10BC600080918A1890918B18209143193091441932 +:10BC7000820F931F90938B1880938A184FBF609107 +:10BC8000DA197091DB19882777FD8095982F0F942A +:10BC90008ABF2091B2173091B3174091B4175091D9 +:10BCA000B5170F94EFBE6093E4197093E519809374 +:10BCB000E6199093E71962E370E080E090E00F945A +:10BCC00040B61092431910924419109245191092DF +:10BCD000461981E08093D9028091D902882339F0F6 +:10BCE00084EE99E10F94CF4FBC01CE01C4DE809168 +:10BCF000491982FD12C08091B41981110EC0809142 +:10BD0000491982FF11C001E021E040E050E0BA0192 +:10BD100082E691E00F94C13C07C06AED79E188EFBB +:10BD20009FE00F947B48EBCFDF91CF911F910F9154 +:10BD30000895CF93DF9300D000D0CDB7DEB70E9437 +:10BD4000F9FF20916209309163094CE3429FC001E1 +:10BD5000439F900D11249A83898320916409309127 +:10BD60006509429FC001439F900D11249C838B83E2 +:10BD700040E060E08AE499E10E945A3CE091860943 +:10BD8000F0E0EE0FFF1FEE5DF54B85919491A5DC81 +:10BD900040E06BE08AE499E10E945A3C6AE077E077 +:10BDA0008AE499E10F94D0B840E06CE08AE499E12C +:10BDB0000E945A3CCE01019616DCBC018AE499E14E +:10BDC0000F94D0B867ED73E08AE499E10F94D0B88E +:10BDD00041E060E08AE499E10E945A3CE0918609E2 +:10BDE000F0E0EE0FFF1FE25EF54B8591949175DC5C +:10BDF00041E06BE08AE499E10E945A3C6AE077E016 +:10BE00008AE499E10F94D0B841E06CE08AE499E1CA +:10BE10000E945A3CCE010396E6DBBC018AE499E11C +:10BE20000F94D0B867ED73E08AE499E10F94D0B82D +:10BE300042E060E08AE499E10E945A3C68EC76E0D6 +:10BE40008AE499E10F94D0B884E192E10F941551FE +:10BE5000BC018AE499E10F94D0B860E177E08AE40C +:10BE600099E10F94D0B842E06CE08AE499E10E9435 +:10BE70005A3C61ED76E08AE499E10F94D0B882E112 +:10BE800092E10F941551BC018AE499E10F94D0B866 +:10BE900043E060E08AE499E10E945A3C65ED76E077 +:10BEA0008AE499E10F94D0B843E065E08AE499E12F +:10BEB0000E945A3C8091111290E09E838D83CE01A6 +:10BEC00005960F941551BC018AE499E10F94D0B8FE +:10BED00043E06AE08AE499E10E945A3C67EE76E02A +:10BEE0008AE499E10F94D0B843E06FE08AE499E1E5 +:10BEF0000E945A3C8091101290E09E838D83CE0167 +:10BF000005960F941551BC018AE499E10F94D0B8BD +:10BF10000F94244B882321F00F94B23C0F94844259 +:10BF200026960FB6F894DEBF0FBECDBFDF91CF913E +:10BF3000089540E060E08AE499E10E945A3C83E37E +:10BF400090E6CBDB41E060E08AE499E10E945A3C54 +:10BF50001E9B03C080E390E602C08DE290E6BDDB4D +:10BF600042E060E08AE499E10E945A3C1D9B03C0D4 +:10BF70008AE290E602C087E290E6AFDB43E060E051 +:10BF80008AE499E10E945A3C1C9B03C084E290E63B +:10BF900002C081E290E6A1CB0F93CBDF80914919DB +:10BFA00082FF09C001E021E040E050E0BA0182EFE9 +:10BFB00091E00F94C13C0F9108950F943D480F9468 +:10BFC0001B2981E00E94A85DB4DF0F94244B8823D5 +:10BFD000B1F30F94244B8111FCCF6AE070E080E054 +:10BFE00090E00F9440B60F94244B8111FCCF0F9436 +:10BFF0003D480D948442EF92FF920F931F93CF938D +:10C00000DF937C01EB018A010F948F3C1092BD18E5 +:10C010001092BC181092BB181092BA180F941B29DA +:10C0200080E00E94A85D0F943D4840E060E08AE413 +:10C0300099E10E945A3CE8EBF8E4859194914DDB3C +:10C0400041E060E08AE499E10E945A3C209186092F +:10C0500030E0220F331F2657374BF9018591949119 +:10C060003CDBF7013197EB30F10508F0FDC0E658F5 +:10C07000FF4F42E060E08AE499E10D94FDC30E9425 +:10C080005A3CE6E9F8E48591949127DB43E060E0CF +:10C090008AE499E10E945A3CE0918609F0E0EE0FB3 +:10C0A000FF1FE057F74BDDC00E945A3CE4EEF8E476 +:10C0B000C8C00E945A3CECEBF8E4859194910DDBEA +:10C0C00043E060E08AE499E10E945A3CE0918609ED +:10C0D000F0E0EE0FFF1FE458F74B85919491FDDAE5 +:10C0E00043E061E19BC00E945A3CE4E9F8E4859199 +:10C0F0009491F3DA42E062E18AE499E10E945A3CC9 +:10C10000BE018AE499E10F94D0B843E060E08AE48C +:10C1100099E10E945A3CEEEBF8E485919491DDDAC6 +:10C1200043E062E18AE499E10E945A3CB8017BC095 +:10C130000E945A3CEAEBF8E42DC00E945A3CE09180 +:10C140008609F0E0EE0FFF1FE054F74B09C00E9494 +:10C150005A3CE0918609F0E0EE0FFF1FEC54F74BDC +:10C1600085919491BADA43E060E08AE499E10E9413 +:10C170005A3CE0918609F0E0EE0FFF1FE458F74BC0 +:10C1800048C00E945A3CE0918609F0E0EE0FFF1F84 +:10C19000E650F64B85919491A0DA43E060E08AE4A2 +:10C1A00099E10E945A3CE4E9F8E433C00E945A3C09 +:10C1B000E0918609F0E0EE0FFF1FEA51F74B859101 +:10C1C00094918BDA43E060E08AE499E10E945A3C62 +:10C1D000E0918609F0E0EE0FFF1FE651F74B19C022 +:10C1E0000E945A3CE0918609F0E0EE0FFF1FEC55EB +:10C1F000F74B8591949171DA43E060E08AE499E12C +:10C200000E945A3CE0918609F0E0EE0FFF1FE058D3 +:10C21000F74B8591949161DA43E062E18AE499E118 +:10C220000E945A3CBE018AE499E10F94D0B81CC028 +:10C230000E945A3CE0918609F0E0EE0FFF1FE6579E +:10C24000F54B8591949149DA43E060E08AE499E105 +:10C250000E945A3CE0918609F0E0EE0FFF1FE4587F +:10C26000F74B8591949139DA68EE73E080E090E0C5 +:10C270000F9440B60F948F3C64E670E080E090E04D +:10C280000F9440B60F941B2980E00E94A85D0F9484 +:10C29000244B882389F3E0918609F0E0EE0FFF1F1D +:10C2A000E455F74B859194910F94C249DF91CF915A +:10C2B0001F910F91FF90EF900D9484423F924F9207 +:10C2C0005F926F927F928F929F92AF92BF92CF9226 +:10C2D000DF92EF92FF920F931F93CF93DF93CDB72F +:10C2E000DEB76C970FB6F894DEBF0FBECDBF382E09 +:10C2F000882341F081E0381651F080E090E0A2E51B +:10C30000B3E409C080E090E0AFE7B3E404C080E0AC +:10C3100090E0AAE5B3E48B879C87AD87BE87109237 +:10C32000AE020F94D43681E00F94CD14311041C089 +:10C3300020E030E048E851E460913E0970913F0907 +:10C3400080914009909141090F940FBE7B018C01AF +:10C3500060933E0970933F0980934009909341098F +:10C3600020913A0930913B0940913C0950913D0997 +:10C370006091360970913709809138099091390997 +:10C38000E2E2F9E0FF93EF93812C912CA4E3AA2E33 +:10C39000A2E4BA2EB2E4CB2EB9E0DB2E0F9428062D +:10C3A00084E00F9475360F94891C0F94D4360F9047 +:10C3B0000F90A1E0B0E0032C02C0AA0FBB1F0A94AB +:10C3C000E2F7B88BAF878F850F94753620E030E0A9 +:10C3D00040E752E46B857C858D859E850F940FBE6A +:10C3E0006F8B788F898F9A8FE32DFF27E7FDF0956C +:10C3F000FA87E987EE0FFF1FEE0FFF1FFA8BE98B1D +:10C40000EA5CF64F3F019B01AC0160817181828142 +:10C4100093810F940EBED3016D937D938D939C9366 +:10C420001397E0903E09F0903F0900914009109168 +:10C43000410920913A0930913B0940913C095091C2 +:10C440003D096091360970913709809138099091C2 +:10C450003909B2E24B2EB9E05B2E5F924F92812CEC +:10C46000912CE4E3AE2EE2E4BE2EF2E4CF2EF9E00E +:10C47000DF2E0F9428060F94891C0F94D436832D39 +:10C480000F946C34832D0F94F81C6B8B7C8B8D8BED +:10C490009E8B20E030E040EF52E4F3016081718137 +:10C4A000828193810F940FBED3016D937D938D9301 +:10C4B0009C931397E0903E09F0903F09009140094A +:10C4C0001091410920913A0930913B0940913C0972 +:10C4D00050913D0960913609709137098091380972 +:10C4E000909139095F924F920F9428060F94891CFE +:10C4F0002B853C854D855E85F3016081718182814C +:10C5000093810F940FBED3016D937D938D939C9374 +:10C510001397E0903E09F0903F0900914009109177 +:10C52000410920913A0930913B0940913C095091D1 +:10C530003D096091360970913709809138099091D1 +:10C5400039095F924F920F9428068F850F947536A4 +:10C550000F94891C0F94D4360F947B34BC017F93C5 +:10C560008F9329853A85285A3F4F3F932F9320E098 +:10C5700030E63F932F938B8F7C8F0F944AC80FB672 +:10C58000F894DEBF0FBECDBF6B8D7C8D311003C024 +:10C590008DE59FE002C08BE59FE00F9461CB832D7A +:10C5A0000F94F81C2B013C012B893C894D895E8935 +:10C5B0000F940EBE6B017C0120E030E0A9010F94C6 +:10C5C000EBC0181644F0D701C601B0588B8B9C8B7A +:10C5D000AD8BBE8B04C0CB8ADC8AED8AFE8A8B8948 +:10C5E0009C89AD89BE8989839A83AB83BC83A989E1 +:10C5F000BA89AA5CB64FBA87A98720E030E040E745 +:10C6000052E46D917D918D919C910F940EBEE985C0 +:10C61000FA856083718382839383E0903E09F09072 +:10C620003F09009140091091410920913A09309148 +:10C630003B0940913C0950913D0960913609709148 +:10C6400037098091380990913909A2E2B9E0BF9386 +:10C65000AF93812C912CE4E3AE2EE2E4BE2EF2E403 +:10C66000CF2EF9E0DF2E0F9428060F94891C8F85BA +:10C670000F9475362F89388D498D5A8DA985BA85C5 +:10C680006D917D918D919C910F940EBEE985FA85F7 +:10C690006083718382839383E0903E09F0903F0929 +:10C6A000009140091091410920913A0930913B09CC +:10C6B00040913C0950913D096091360970913709CC +:10C6C0008091380990913909A2E2B9E0BF93AF9304 +:10C6D0000F9428060F94891C0F94D436832D0F9441 +:10C6E000F81C9B01AC01C301B2010F940EBE2B01DB +:10C6F0003C010F900F900F900F9020E030E0A901C7 +:10C700000F94EBC0181624F077FA709477F87094B1 +:10C710004D825E826F8278868E010F5F1F4F5E01B1 +:10C72000F9E0AF0EB11CBAEE8B2EBFE59B2EF401E3 +:10C730008491AAEEEA2EAFE5FA2E882341F00F94F9 +:10C74000A443FFEFEF1AFF0AF7018491F6CFD80157 +:10C75000CD90DD90ED90FD908D0122E030E0B701AD +:10C76000A60184ED97E00E94FE412B853C854D8516 +:10C770005E85C701B6010F940EBE6B017C0120E0FF +:10C7800030E0A9010F94EBC0181624F0C701B601E0 +:10C79000905802C0C701B60120E030E040EA50E402 +:10C7A0000F94EBC01816B4F480E00F94CD14B1E0F0 +:10C7B0003B1631F0E2E03E1631F06BE777E005C062 +:10C7C00066E577E002C068E677E040E050E089E0A7 +:10C7D00090E05BC00A151B0509F0A9CFE2EDFFE56B +:10C7E00084918F01882339F00F94A4430F5F1F4F6A +:10C7F000F8018491F7CFA30192016B897C898D891F +:10C800009E890F940EBE6B017C0120E030E0A901EF +:10C810000F94EBC0B701A60118160CF0705822E077 +:10C8200030E084ED97E00E94FE4120E030E0A90175 +:10C83000C701B6010F94EBC018165CF420E030E09D +:10C8400040E85FE3C701B6010F94EBC018165CF037 +:10C8500048C020E030E040E85FEBC701B6010F942C +:10C86000E8BE87FF3EC0F1E03F1631F082E03816A7 +:10C8700031F06BE777E005C066E577E002C068E677 +:10C8800077E040E050E088E090E0B5DBE989FA89A4 +:10C89000EA5CF64F1082118212821382E0903E0908 +:10C8A000F0903F09009140091091410920913A0907 +:10C8B00030913B0940913C0950913D096091360906 +:10C8C000709137098091380990913909F2E4CF2E9F +:10C8D000F9E0DF2E0F949811832D0F942D3C80E00A +:10C8E0002AC0E989FA89EA5CF64F10821182128225 +:10C8F0001382E0903E09F0903F09009140091091A9 +:10C90000410920913A0930913B0940913C095091ED +:10C910003D096091360970913709809138099091ED +:10C920003909E2E4CE2EE9E0DE2E0F949811832D32 +:10C930000F942D3C81E06C960FB6F894DEBF0FBECD +:10C94000CDBFDF91CF911F910F91FF90EF90DF90BE +:10C95000CF90BF90AF909F908F907F906F905F909F +:10C960004F903F9008958F929F92AF92BF92CF9237 +:10C97000DF92EF92FF920F931F9320E030E04EE39F +:10C9800053E46091B4187091B5188091B6189091E5 +:10C99000B7180F94EBC018160CF093C08091431990 +:10C9A00090914419A0914519B0914619892B8A2B71 +:10C9B0008B2B09F46BC00E94285080911E128F5F50 +:10C9C000803109F480E090911D12981709F45EC03F +:10C9D0006091431970914419882777FD8095982FAD +:10C9E0000F948ABF2091301930913119409132193A +:10C9F000509133190F94BDC19B01AC016091420964 +:10CA00007091430980914409909145090F940FBE9C +:10CA100060934209709343098093440990934509B8 +:10CA20001092431910924419109245191092461908 +:10CA3000E0903E09F0903F090091400910914109B2 +:10CA400020913A0930913B0940913C0950913D09B0 +:10CA500060913609709137098091380990913909B0 +:10CA6000E2E2F9E0FF93EF93E5E58E2E982CE5EDF9 +:10CA7000AE2EEFE3BE2EF2E4CF2EF9E0DF2E0F94C0 +:10CA8000280681E08093D9020F900F908091D902FF +:10CA9000882349F082E499E00F94F44DBC0180E9C9 +:10CAA0009FE50F947E5B8091491982FF40C001E0B1 +:10CAB00021E040E050E0BA018AE691E00F94C13CE9 +:10CAC00036C00F943D4840E060E08AE499E10E945E +:10CAD0005A3CE0918609F0E0EE0FFF1FE854F54B59 +:10CAE000859194910F946D5B42E060E08AE499E156 +:10CAF0000E945A3CE0918609F0E0EE0FFF1FE45AD5 +:10CB0000F64B859194910F946D5B60ED77E080E03A +:10CB100090E00F9440B61F910F91FF90EF90DF903F +:10CB2000CF90BF90AF909F908F900D9484421F91B3 +:10CB30000F91FF90EF90DF90CF90BF90AF909F90BC +:10CB40008F90089520E030E04EE353E46091B418F4 +:10CB50007091B5188091B6189091B7180F94EBC0EA +:10CB6000181634F461E08EE69BE50E9469C42CC07F +:10CB70000F943D4840E060E08AE499E10E945A3C0D +:10CB8000E0918609F0E0EE0FFF1FE854F54B859128 +:10CB900094910F946D5B42E060E08AE499E10E9419 +:10CBA0005A3CE0918609F0E0EE0FFF1FE45AF64B85 +:10CBB000859194910F946D5B60ED77E080E090E05B +:10CBC0000F9440B60F943D480D9484420F943D4815 +:10CBD00041E060E08AE499E10E945A3CE0918609D4 +:10CBE000F0E0EE0FFF1FE65EF54B859194910F94F8 +:10CBF0006D5B42E060E08AE499E10E945A3CE0917A +:10CC00008609F0E0EE0FFF1FE85AF64B85919491EC +:10CC10000D946D5B0F943D4842E060E08AE499E139 +:10CC20000E945A3CE0918609F0E0EE0FFF1FEC5F96 +:10CC3000F44B859194910D946D5B1F93CF93DF938B +:10CC40000F943D4840E060E08AE499E10E945A3C3C +:10CC5000E0918609F0E0EE0FFF1FEA5FF54B85914A +:10CC600094910F946D5B42E060E08AE499E10E9448 +:10CC70005A3CE0918609F0E0EE0FFF1FEA59F64BAF +:10CC8000859194910F946D5B10E043E0612F8AE4ED +:10CC900099E10E945A3C6FE275E08AE499E10F94B1 +:10CCA000D0B8CAE0D0E00F941B2981E00E94A85DB3 +:10CCB00065E570E080E090E00F9440B6219799F729 +:10CCC0001F5F143111F7DF91CF911F9108951F93CA +:10CCD000CF93DF930F943D4840E060E08AE499E110 +:10CCE0000E945A3CE0918609F0E0EE0FFF1FEE5FD4 +:10CCF000F54B859194910F946D5B42E060E08AE47E +:10CD000099E10E945A3CE0918609F0E0EE0FFF1F86 +:10CD1000EA59F64B859194910F946D5B10E043E0D6 +:10CD2000612F8AE499E10E945A3C6FE275E08AE43F +:10CD300099E10F94D0B8CAE0D0E00F941B2981E0AC +:10CD40000E94A85D69E870E080E090E00F9440B632 +:10CD5000219799F71F5F143111F7DF91CF911F9140 +:10CD600008950F931F93CF93DF930F943D4840E0B6 +:10CD700060E08AE499E10E945A3CE0918609F0E083 +:10CD8000EE0FFF1FE251F54B859194910F946D5B6F +:10CD900041E061E08AE499E10E945A3CE091860911 +:10CDA000F0E0EE0FFF1FE457F84B859194910F943C +:10CDB0006D5B42E061E08AE499E10E945A3CE091B7 +:10CDC0008609F0E0EE0FFF1FE256F64B8591949135 +:10CDD0000F946D5B43E061E08AE499E10E945A3C64 +:10CDE000E0918609F0E0EE0FFF1FEE55F64B8591BE +:10CDF00094910F946D5B41E060E08AE499E10E94B8 +:10CE00005A3C66EF75E08AE499E10F94D0B800913E +:10CE1000F219112707FD1095C1E0D0E08091AB0910 +:10CE20009091AC09892B09F072C00F941B2981E005 +:10CE30000E94A85D2091F219332727FD3095C80183 +:10CE4000821B930B97FF03C09195819591090597DC +:10CE50000CF44DC0201731070CF42197021713076B +:10CE60000CF42196C430D1052CF4209729F4C1E0AC +:10CE7000D0E002C0C3E0D0E041E060E08AE499E1A4 +:10CE80000E945A3C62E177E08AE499E10F94D0B8BD +:10CE900042E060E08AE499E10E945A3C62E177E076 +:10CEA0008AE499E10F94D0B843E060E08AE499E124 +:10CEB0000E945A3C62E177E08AE499E10F94D0B88D +:10CEC0004C2F60E08AE499E10E945A3C66EF75E0DD +:10CED0008AE499E10F94D0B80091F219112707FD67 +:10CEE000109564E670E080E090E00F9440B60F94F7 +:10CEF000244B882309F492CFD093AC09C093AB099B +:10CF000064EF71E080E090E00F9440B687CF0F941B +:10CF10003D48DF91CF911F910F910D9484424F9224 +:10CF20005F926F927F928F929F92AF92BF92CF92B9 +:10CF3000DF92EF92FF920F931F93CF93DF93CDB7C2 +:10CF4000DEB72C970FB6F894DEBF0FBECDBF809131 +:10CF5000C209882309F4ECC0C0907F09D0908009F1 +:10CF6000E0908109F0908209C701B60120EA36E815 +:10CF700041E050E00F94BFC329873A874B875C8715 +:10CF80003E832D830F9411B60091E0081091E108C3 +:10CF90002091E2083091E308601B710B820B930B28 +:10CFA00028EE33E040E050E00F94BFC329013A017E +:10CFB000C90160E17EE00F94ACC34B0180EF91EFBB +:10CFC000689F9001699F300D789F300D1124C90131 +:10CFD000840D951D6CE370E00F94ACC38B0144ECA1 +:10CFE00046035001479FB00C1124A20EB31EA40C9F +:10CFF000B51C40E060E08AE499E10E945A3CE0916F +:10D000008609F0E0EE0FFF1FE25CF74B85919491EB +:10D010000F946D5B41E066E08AE499E10E945A3C1E +:10D02000CE0105960F941551BC018AE499E10F9445 +:10D03000D0B861EF76E08AE499E10F94D0B8A98581 +:10D04000BA8520E639E74EEF5FEF0F9422C46C0DEE +:10D050007D1D8E1D9F1D2AE030E040E050E00F94C2 +:10D06000BFC3B901882777FD8095982F0F948ABF99 +:10D0700069837A838B839C83CE0101960F94C44E7F +:10D08000BC018AE499E10F94D0B864EF76E08AE4B9 +:10D0900099E10F94D0B842E060E08AE499E10E94FF +:10D0A0005A3CE0918609F0E0EE0FFF1FE65CF74B7B +:10D0B000859194910F946D5B43E068E08AE499E177 +:10D0C0000E945A3C8982CE0101960F94DC4DBC012E +:10D0D0008AE499E10F94D0B867EF76E08AE499E1A9 +:10D0E0000F94D0B80983CE0101960F94DC4DBC019A +:10D0F0008AE499E10F94D0B861EF76E08AE499E18F +:10D100000F94D0B8A982CE0101960F94DC4DBC01DA +:10D110008AE499E10F94D0B86AE076E08AE499E174 +:10D120000F94D0B80F94244B882309F474C16FC1B5 +:10D1300081EF9FE00F942BCB6B017C018DEE9FE084 +:10D140000F942BCB4B015C01C701B6010F9488BF34 +:10D1500069837A838B839C8320EAC21626E8D206F1 +:10D1600021E0E206F10450F0C701B60120EA36E8FA +:10D1700041E050E00F94BFC3D90102C0A0E0B0E08D +:10D18000B887AF831A161B0684F420E639E74EEF02 +:10D190005FEF0F9422C46C0D7D1D8E1D9F1D0F949B +:10D1A00088BF69837A838B839C83C501B40120EA9D +:10D1B00035E040E050E00F94BFC3122F032FA0EAE8 +:10D1C000B5E00F9418C4A5019401261B370B480B3A +:10D1D000590BCA01B9012CE330E040E050E00F9454 +:10D1E000BFC3F22E30E6139F800C11244CE3F49E53 +:10D1F000801811240F943D4840E060E08AE499E1F2 +:10D200000E945A3CE0918609F0E0EE0FFF1FEA5CB5 +:10D21000F74B859194910F946D5BCE0101960F941D +:10D22000C44EFC0101900020E9F7682F6E1B6E5E72 +:10D2300041E08AE499E10E945A3CCE0101960F94A4 +:10D24000C44EBC018AE499E10F94D0B88F819885CF +:10D25000181619067CF5CE0101960F94C44EFC01F8 +:10D2600001900020E9F7682F6E1B615F41E08AE4BE +:10D2700099E10E945A3C6AEF76E08AE499E10F94C2 +:10D28000D0B8CE0101960F94C44EFC01019000204D +:10D29000E9F7682F6E1B665F41E08AE499E10E941E +:10D2A0005A3CCE0107960F94F35ABC018AE499E1E7 +:10D2B0000F94D0B841E062E18AE499E10E945A3CBF +:10D2C00065EF76E08AE499E10F94D0B842E060E03F +:10D2D0008AE499E10E945A3CE0918609F0E0EE0F61 +:10D2E000FF1FEE5CF74B859194910F946D5B43E0CB +:10D2F00062E18AE499E10E945A3C65EF76E08AE4B3 +:10D3000099E10F94D0B843E06EE08AE499E10E947D +:10D310005A3C912C9E828D82CE0105960F94155118 +:10D32000BC018AE499E10F94D0B843E06EE08AE44E +:10D3300099E10E945A3C65ED73E08AE499E10F940B +:10D34000D0B843E06CE08AE499E10E945A3C6DEF6A +:10D3500076E08AE499E10F94D0B843E069E08AE48A +:10D3600099E10E945A3C8F2D90E09E838D83CE01DF +:10D3700005960F941551BC018AE499E10F94D0B839 +:10D3800043E069E08AE499E10E945A3C65ED73E06C +:10D390008AE499E10F94D0B843E067E08AE499E128 +:10D3A0000E945A3C6FE377E08AE499E10F94D0B889 +:10D3B00043E064E08AE499E10E945A3C812F902F77 +:10D3C0009E838D83CE0105960F941551BC018AE48E +:10D3D00099E10F94D0B884E090E090931802809384 +:10D3E00017020F94244B81110CC00F941B2981E06C +:10D3F0000E94A85D64E670E080E090E00F9440B683 +:10D40000F0CF81E090E090931802809317020F9480 +:10D41000B23C0F9484422C960FB6F894DEBF0FBE38 +:10D42000CDBFDF91CF911F910F91FF90EF90DF90D3 +:10D43000CF90BF90AF909F908F907F906F905F90B4 +:10D440004F9008950F931F93CF93DF93EC01843097 +:10D45000910524F08C010350110902C000E010E096 +:10D4600040E060E08AE499E10E945A3C6FEF76E088 +:10D470008AE499E10F94D0B840E061E08AE499E150 +:10D480000E945A3C000F111FF801EE5EF54B85918A +:10D4900094910F946D5B41E060E08AE499E10E9411 +:10D4A0005A3C6FEF76E08AE499E10F94D0B841E0FE +:10D4B00061E08AE499E10E945A3CF801EC5EF54B88 +:10D4C000859194910F946D5B42E060E08AE499E16C +:10D4D0000E945A3C6FEF76E08AE499E10F94D0B84D +:10D4E00043E060E08AE499E10E945A3C6FEF76E005 +:10D4F0008AE499E10F94D0B8C130D10511F440E02D +:10D5000008C0C230D10511F441E003C0239734F0C4 +:10D5100042E060E08AE499E10E945A3C66EF75E0DF +:10D520008AE499E1DF91CF911F910F910D94D0B8CA +:10D530000F931F93CF93DF938FEF809386090F9400 +:10D5400091470F943D4881E090E07CDF0091F21913 +:10D55000112707FD1095C1E0D0E0809186098F3F2B +:10D5600009F048C00F941B2981E00E94A85D20911A +:10D57000F219332727FD3095C801821B930B97FFC3 +:10D5800003C09195819591090597F4F02017310713 +:10D590000CF42197021713070CF42196C330D10520 +:10D5A0002CF4209729F4C1E0D0E002C0C2E0D0E022 +:10D5B000CE0148DF0091F219112707FD109564E6AE +:10D5C00070E080E090E004C064E170E080E090E012 +:10D5D0000F9440B60F94244B882309F4BECF8C2FB0 +:10D5E00081500F94113C64EF71E080E090E00F9463 +:10D5F00040B6B3CF809155089091560820915708B6 +:10D6000030915808821B930B8F779927029724F04B +:10D61000109286091092DC020F9419480F943D482D +:10D62000DF91CF911F910F910D948442EF92FF9261 +:10D630000F931F93CF93DF930F943D4840E060E03A +:10D640008AE499E10E945A3C64E177E08AE499E136 +:10D650000F94D0B800E010E0C1E0D0E02091F219C2 +:10D66000422F552741950CF45095CA0157FF03C02E +:10D67000919581959109039784F027FF02C0219726 +:10D6800002C021112196C330D1052CF4209729F432 +:10D69000C1E0D0E002C0C2E0D0E042E060E08AE455 +:10D6A00099E10E945A3C69E077E08AE499E10F949D +:10D6B000D0B843E060E08AE499E10E945A3C69E016 +:10D6C00077E08AE499E10F94D0B842E062E08AE41E +:10D6D00099E10E945A3CE0918609F0E0EE0FFF1FAD +:10D6E000E457F84B859194910F946D5B43E062E0B1 +:10D6F0008AE499E10E945A3CE0918609F0E0EE0F3D +:10D70000FF1FEA55F64B859194910F946D5B4C2F5A +:10D710004F5F60E08AE499E10E945A3C66EF75E051 +:10D720008AE499E10F94D0B864E670E080E090E07C +:10D730000F9440B60F5F1F4F0536110534F083E696 +:10D7400090E00F94BF5500E010E00F94244B882325 +:10D7500079F084E190E0C130D105D9F40F94BF5540 +:10D7600084E090E00F94BF55EE24E394F12C02C0C6 +:10D77000E12CF12C0F941B2980E00E94A85DEF287A +:10D7800009F46CCFDF91CF911F910F91FF90EF9033 +:10D7900008950F94BF5585E090E00F94BF55E2E0E7 +:10D7A000EE2EF12CE7CF1F93CF93DF93C82F0F946A +:10D7B0003D4840E060E08AE499E10E945A3CE091F3 +:10D7C0008609F0E0EE0FFF1FE855F74B8591949125 +:10D7D0000F946D5B41E060E08AE499E10E945A3C5D +:10D7E000E0918609F0E0EE0FFF1FCC2319F0EC5416 +:10D7F000F74B02C0E054F74B859194910F946D5B09 +:10D80000809101018860809301016FEF70E086E0F4 +:10D810000F94E4B664EF71E080E090E00F9440B6BE +:10D8200042E061E08AE499E10E945A3CE091860975 +:10D83000F0E0EE0FFF1FE456F74B859194910F94A3 +:10D840006D5B43E060E08AE499E10E945A3C66EF38 +:10D8500075E08AE499E10F94D0B843E061E08AE48E +:10D8600099E10E945A3CE0918609F0E0EE0FFF1F1B +:10D87000E056F74B859194910F946D5B84E090E0B6 +:10D8800090931802809317021C2FD1E0DC2780911F +:10D8900001018860809301016FEF70E086E00F94D2 +:10D8A000E4B68091F219482F552741950CF4509514 +:10D8B0009A0157FF03C03195219531092330310575 +:10D8C0000CF47FC087FF3BC01D2F42E060E08AE47C +:10D8D00099E10E945A3C66EF75E08AE499E10F9461 +:10D8E000D0B842E061E08AE499E10E945A3CE091BC +:10D8F0008609F0E0EE0FFF1FE456F74B85919491F7 +:10D900000F946D5B43E060E08AE499E10E945A3C29 +:10D9100062E177E08AE499E10F94D0B843E061E0F6 +:10D920008AE499E10E945A3CE0918609F0E0EE0F0A +:10D93000FF1FE056F74B859194910F946D5B80919A +:10D94000F21918160CF03BC042E060E08AE499E15D +:10D950000E945A3C62E177E08AE499E10F94D0B8E2 +:10D9600042E061E08AE499E10E945A3CE091860934 +:10D97000F0E0EE0FFF1FE456F74B859194910F9462 +:10D980006D5B43E060E08AE499E10E945A3C66EFF7 +:10D9900075E08AE499E10F94D0B843E061E08AE44D +:10D9A00099E10E945A3CE0918609F0E0EE0FFF1FDA +:10D9B000E056F74B859194910F946D5B1C2F10925C +:10D9C000F2190F941B2964E670E080E090E00F9458 +:10D9D00040B60F94244B882309F459CF22E030E05D +:10D9E0003093180220931702809101018062809386 +:10D9F00001019FB7F894809102018F7D809302010D +:10DA00009FBF8091010188608093010160E070E018 +:10DA100086E00F94E4B610922109109220090F9429 +:10DA20001B29812FDF91CF911F9108950F931F9391 +:10DA3000CF93DF931F92CDB7DEB7142F462F682FF9 +:10DA40008AE499E159830E945A3CE12F5981F52FCC +:10DA500064918F010F5F1F4F662331F08AE499E1D3 +:10DA60000E941C3FF801F4CF0F90DF91CF911F91DE +:10DA70000F9108956F927F928F929F92AF92BF9273 +:10DA8000CF92DF92EF92FF920F931F93CF93DF938A +:10DA90001F92CDB7DEB73C016B017A015801298393 +:10DAA0000F9411B6605C7D4B8F4F9F4F6093381978 +:10DAB0007093391980933A1990933B192981EC148A +:10DAC000FD042CF484E3882E87E0982E04C00FE137 +:10DAD000802E07E0902E21110F943D4840E060E039 +:10DAE0008AE499E10E945A3C8FEF6816780619F093 +:10DAF0006114710461F4E0918609F0E0EE0FFF1FFC +:10DB0000E855F74B859194910F946D5B30C0E1E03F +:10DB10006E16710461F4E0918609F0E0EE0FFF1FCC +:10DB2000E855F74B859194910F946D5B30C0F2E00E +:10DB30006F16710461F4E0918609F0E0EE0FFF1FAB +:10DB4000E852F74B859194910F946D5B40C083E050 +:10DB50006816710461F4E0918609F0E0EE0FFF1F92 +:10DB6000E053F74B859194910F946D5B40C0E4E0D6 +:10DB70006E16710461F4E0918609F0E0EE0FFF1F6C +:10DB8000E453F74B859194910F946D5B3CC0F5E0A5 +:10DB90006F16710461F4E0918609F0E0EE0FFF1F4B +:10DBA000E853F74B859194910F946D5B30C086E0FC +:10DBB0006816710461F4E0918609F0E0EE0FFF1F32 +:10DBC000EC53F74B859194910F946D5B2CC0E7E07B +:10DBD0006E16710461F4E0918609F0E0EE0FFF1F0C +:10DBE000E452F74B859194910F946D5B28C0F8E057 +:10DBF0006F16710441F4E0918609F0E0EE0FFF1F0B +:10DC0000E452F74B27C089E06816710421F0EAE07E +:10DC10006E16710441F4E0918609F0E0EE0FFF1FEB +:10DC2000EC52F74B17C0FBE06F16710441F4E09122 +:10DC30008609F0E0EE0FFF1FE052F74B0BC08CE0BF +:10DC40006816710459F4E0918609F0E0EE0FFF1FA9 +:10DC5000E455F74B859194910F946D5B41E060E042 +:10DC60008AE499E10E945A3C61E277E08AE499E112 +:10DC70000F94D0B8C30101960397A0F5E0918609EF +:10DC8000F0E0EE0FFF1FE055F74B4591549162E035 +:10DC900080E0CCDE42E062E18AE499E10E945A3CF5 +:10DCA000EFEF6E167E0611F4B40102C062ED75E06E +:10DCB0008AE499E10F94D0B8E0918609F0E0EE0F84 +:10DCC000FF1FEA57F74B4591549163E080E0AEDEC9 +:10DCD00043E062E18AE499E10E945A3C6A94672831 +:10DCE000D9F021C0C30109970297F8F4E0918609A1 +:10DCF000F0E0EE0FFF1FE856F74B4591549162E0BC +:10DD000080E094DE42E062E18AE499E10E945A3CBC +:10DD100089E06816710439F062ED75E08AE499E1F2 +:10DD20000F94D0B884C0B401F9CFE9E06E16710445 +:10DD30000CF07DC0F3E06F16710439F083E06816D3 +:10DD4000710434F440E050E005C041E050E002C00E +:10DD500042E050E0840126E337E069E070E083E0D0 +:10DD600090E00F949B3BE4E06E16710439F0F4E010 +:10DD70006F16710434F440E050E005C041E050E01B +:10DD800002C042E050E084012BE737E062E070E03F +:10DD900082E090E00F949B3B85E06816710439F0B7 +:10DDA000E5E06E16710434F440E050E005C041E057 +:10DDB00050E002C042E050E0840126E537E068E030 +:10DDC00070E082E090E00F949B3BF6E06F167104E8 +:10DDD00039F086E06816710434F440E050E005C084 +:10DDE00041E050E002C042E050E0840128E637E024 +:10DDF0006EE070E082E090E00F949B3BE7E06E16EF +:10DE0000710439F0F7E06F16710434F440E050E02B +:10DE100005C041E050E002C042E050E084012DE343 +:10DE200037E060E070E083E090E00F949B3B1A14D1 +:10DE30001B041CF4C5010E94425C8FEFC81AD80A6B +:10DE4000EE0CFF1CEC14FD041CF480E090E001C01B +:10DE5000C6010F90DF91CF911F910F91FF90EF902E +:10DE6000DF90CF90BF90AF909F908F907F906F90FA +:10DE700008955F926F927F928F929F92AF92BF921E +:10DE8000CF92DF92EF92FF920F931F93CF93DF9386 +:10DE9000582E8823E1F060919E1870919F18809110 +:10DEA000A0189091A1180F9457BF6B016091B418FE +:10DEB0007091B5188091B6189091B7180F9457BF0C +:10DEC0005B0134EB832E912C80E090E01BC06091CD +:10DED000B4187091B5188091B6189091B7180F9436 +:10DEE00057BF6B0160919E1870919F188091A01888 +:10DEF0009091A1180F9457BF5B012CE3822E912CB7 +:10DF000088EC90E09093BD188093BC18552019F0D0 +:10DF100084E690E002C080E090E09093BB1880938C +:10DF2000BA180F941B2981E00E94A85D81E090E05F +:10DF30009093180280931702E12CF12CC0E0D0E0FE +:10DF400095E0692E712C21960F941B2981E00E9487 +:10DF5000A85D00E911E020E042E050E0B701552063 +:10DF600019F087E090E002C083E090E083DD7C015F +:10DF7000CE01B3010F94ACC3892B11F40E94AF659D +:10DF8000C815D90504F31092BD181092BC18109250 +:10DF9000BB181092BA180F941B29B501882777FD7A +:10DFA0008095982F552071F180909E1890909F1821 +:10DFB000A090A018B090A1180F948ABF9B01AC014B +:10DFC0006091B4187091B5188091B6189091B718F7 +:10DFD0000F940EBE0F9457BF6A3071050CF047C006 +:10DFE000B601882777FD8095982F0F948ABF9B01F3 +:10DFF000AC01C501B4010F940EBE0F9457BF83E06E +:10E0000090E02CC08090B4189090B518A090B618ED +:10E01000B090B7180F948ABF9B01AC0160919E1815 +:10E0200070919F188091A0189091A1180F940EBE26 +:10E030000F9457BF63307105D4F4B601882777FD7C +:10E040008095982F0F948ABF9B01AC01C501B40144 +:10E050000F940EBE0F9457BF8AE090E068177907BF +:10E060007CF447E455E0BA0181E090E005C047E464 +:10E0700055E0BA0182E090E00F94FB5FC0E001C080 +:10E08000C1E00F941B2981E00E94A85D22E030E0EE +:10E0900030931802209317028C2FDF91CF911F919C +:10E0A0000F91FF90EF90DF90CF90BF90AF909F9037 +:10E0B0008F907F906F905F9008952F923F924F9234 +:10E0C0005F926F927F928F929F92AF92BF92CF9208 +:10E0D000DF92EF92FF920F931F93CF93DF9300D0C5 +:10E0E0001F92CDB7DEB78C01212C312C68EC462E67 +:10E0F00062E4562E7CE3672E712C0C301105E8F794 +:10E10000F801EB57FF4F0D94FDC3E0918609F0E055 +:10E11000EE0FFF1FEC55F84B8591949141E060E0C4 +:10E120000F94E589882309F4D0C161E08FE59FE071 +:10E130000F9453CB01E010E0E0CF87EF9FE00F9406 +:10E1400023CB863E09F437C020F4813009F4BDC1E9 +:10E1500005C0803F31F08A3F09F4BDC102E010E004 +:10E16000CCCF04E010E0C9CFE0918609F0E0EE0FDB +:10E17000FF1FE055F84B859194910F949C950F9457 +:10E180007F8C882309F4ADC16AEF87EF9FE00F947D +:10E1900035CBA1C1E0918609F0E0EE0FFF1FE456F8 +:10E1A000F84B859194910F949C9580E00E940651C4 +:10E1B000882309F496C105E010E09FCFE09186091D +:10E1C000F0E0EE0FFF1FE856F84B859194910F9405 +:10E1D0009C95E0918609F0E0EE0FFF1FE25DF74BA2 +:10E1E0008591949140E060E00F94DA8A81110BC030 +:10E1F000E0918609F0E0EE0FFF1FEC58F64B859199 +:10E2000094910F949C9581E00E940651882309F413 +:10E2100068C10BE010E071CF87ED90E09093BD18DE +:10E220008093BC187092BB186092BA18E09186096E +:10E23000F0E0EE0FFF1FE053F84B8591949140E022 +:10E2400060E00F94DA8A882309F448C108E010E0FE +:10E2500054CFE0918609F0E0EE0FFF1FE056F84B37 +:10E26000859194910E94E04620923E0930923F09A8 +:10E27000409240095092410920E030E040E752E4EA +:10E2800060916202709163028091640290916502D4 +:10E290000F94EFBE4B015C0120913A0930913B098C +:10E2A00040913C0950913D096091360970913709C0 +:10E2B0008091380990913909A2E2B9E0BF93AF93F8 +:10E2C000E2E4CE2EE9E0DE2EE12CF12C08EC12E4A3 +:10E2D0000F94280680ED97E00E94425CE091860949 +:10E2E000F0E0EE0FFF1FE453F84B859194910E94EC +:10E2F000E0460F900F9020E030E047E553E4609156 +:10E30000B4187091B5188091B6189091B7180F9401 +:10E310000EBE6B017C0120E030E0A9010F94EBC040 +:10E3200018160CF051C020E030E040E450E4C70182 +:10E33000B6010F94EBC018160CF050C0E09186099E +:10E34000F0E0EE0FFF1FE453F84B859194910E948B +:10E35000E04644E060E08AE499E10E945A3C62E0D1 +:10E360008AE499E10F94D1B88091B4189091B518CE +:10E37000A091B618B091B71889839A83AB83BC83F8 +:10E38000CE0101960F948B5ABC018AE499E10F9457 +:10E39000D0B86BEF74E08AE499E10F94D0B84AE00A +:10E3A00050E067ED70E08AE499E10F9477B966E494 +:10E3B00075E08AE499E10F94D0B80F94853A88EE1D +:10E3C00093E00E94425C97CF20E030E040E450ECC4 +:10E3D000C701B6010F94E8BE87FDB0CF07E010E09B +:10E3E0008CCE0E94E6CAE0918609F0E0EE0FFF1F96 +:10E3F000EC53F84B859194910F949C9580E00F9489 +:10E40000CD870F943D48E0918609F0E0EE0FFF1FA5 +:10E41000EE5FF54B4591549162E080E007DB0E948E +:10E42000645C0E94E9CA4EC0E0918609F0E0EE0FFC +:10E43000FF1FE054F84B8591949141E060E00F9408 +:10E44000DA8A882309F44DC03DC0E0918609F0E0E6 +:10E45000EE0FFF1FE455F84B859194910F949C9516 +:10E46000E0918609F0E0EE0FFF1FE855F84B85912B +:10E4700094910F949C9588E090E09093D0198093AC +:10E48000CF192FC0E0918609F0E0EE0FFF1FE8548E +:10E49000F84B8591949140E060E00F94E5898823E2 +:10E4A00009F4B7CE66EE87EF9FE00F9435CBE0918D +:10E4B0008609F0E0EE0FFF1FE852F84B859194912A +:10E4C0000F949C9509E010E018CE60E08FE59FE086 +:10E4D0000F9453CB06C003E010E00FCE06E010E02F +:10E4E0000CCEE4E1FBE584917F01882341F00F9499 +:10E4F000A443FFEFEF1AFF0AF7018491F6CF4AE039 +:10E5000050E0B80184ED97E00E9448410C301105BD +:10E5100008F03BC0F801EF56FF4F0D94FDC3E091AA +:10E520008609F0E0EE0FFF1FE454F84B17C0E091AE +:10E530008609F0E0EE0FFF1FEC52F84B0FC0E091A0 +:10E540008609F0E0EE0FFF1FE452F84B07C0E091A0 +:10E550008609F0E0EE0FFF1FE853F84B0591149188 +:10E5600021C08091860990E0880F991FFC01EC5230 +:10E57000F84B059114911092B3198658984BFC01F1 +:10E58000859194910F9496490DC0E0918609F0E031 +:10E59000EE0FFF1FE454F84B85919491093011055B +:10E5A00021F08C01C8010F949C9581E00F94CD87D8 +:10E5B0000F94844282E00F94FF840F900F900F908D +:10E5C0000F90DF91CF911F910F91FF90EF90DF900F +:10E5D000CF90BF90AF909F908F907F906F905F9003 +:10E5E0004F903F902F900895AF92BF92CF92DF92BD +:10E5F000EF92FF920F931F93CF93DF93CDB7DEB7C8 +:10E60000AA970FB6F894DEBF0FBECDBF8091CF1989 +:10E610009091D0190597C9F58091CD199091CE1997 +:10E62000892B09F58091C2098823C9F080EC99E013 +:10E630000E94BEB6E0918609F0E0EE0FFF1FE2599E +:10E64000F54B859194910F94964983E08093D9027C +:10E6500081E090E09093CE198093CD1904C0109280 +:10E66000D0191092CF198091CD199091CE190197A0 +:10E6700061F490911E1280911D12981306C0809132 +:10E68000B409882311F40D94997B8091CF1990914E +:10E69000D019069709F08FC08091CD199091CE19AD +:10E6A000892B49F483E08093D90284E090E0909331 +:10E6B000CE198093CD198091CD199091CE190197E3 +:10E6C00059F490911E1280911D12981305C00E945A +:10E6D00024C581110D94B37B8091CD199091CE19F1 +:10E6E000029709F04CC090911E1280911D12981350 +:10E6F00046C08091A6098F938091A5098F938EE6DD +:10E700009EE59F938F938E010F5F1F4F1F930F9373 +:10E710000F94F7C860E0C8010E9469C465E677E01D +:10E72000C8010F94C3C78DE999E00F94404EBC0116 +:10E73000C8010F94A4C760E0C8010E9469C40F908B +:10E740000F900F900F900F900F908091BB09811147 +:10E750000D94007C61E08AE69EE50E9469C461E058 +:10E7600084E69EE50E9469C461E080E69EE50E9421 +:10E7700069C481E090E09093CE198093CD19809187 +:10E78000CD199091CE19039741F490911E1280916A +:10E790001D12981711F40D94057C8091CD1990915C +:10E7A000CE19049741F490911E1280911D12981772 +:10E7B00011F40D94217C8091CF199091D019089774 +:10E7C00009F004C584ED92EEA6E2BFE38FA398A7FB +:10E7D000A9A7BAA78FE399EFA9E5BCE38BA39CA3F4 +:10E7E000ADA3BEA38091CD199091CE19029774F07C +:10E7F0000F9411B6605D7A488F4F9F4F60932C192C +:10E8000070932D1980932E1990932F198091CD1903 +:10E810009091CE19892B31F489E090E09093CE1934 +:10E820008093CD198091CD199091CE19099759F403 +:10E8300090911E1280911D12981305C00E9424C54C +:10E8400081110D94707C8091CD199091CE1908970B +:10E8500059F490911E1280911D12981305C00E94C8 +:10E8600024C581110D94AC7C8091CD199091CE1965 +:10E87000079759F490911E1280911D12981305C0AC +:10E880000E9424C581110D94F17C8091CD19909145 +:10E89000CE19069709F012C190911E1280911D1297 +:10E8A00098130CC10E9424C5882309F407C10F9452 +:10E8B00011B6605D7A488F4F9F4F60932C1970930B +:10E8C0002D1980932E1990932F19AA24A394B12C5B +:10E8D00000E010E061E477E0CE0101960F94C3C739 +:10E8E000B801882777FD8095982F0F948ABF2DEC6B +:10E8F0003CEC4CEC5EE30F94BDC19B01AC010F946A +:10E900000FBE9B01AC0160E070E08CE092E40F94DC +:10E910000EBE6F8F78A389A39AA3CE014F960F9452 +:10E92000404EBC01CE0101960F94A4C767E877E082 +:10E93000CE0101960F94A4C7CE0187960F945C4F29 +:10E94000BC01CE0101960F94A4C760E0CE010196F0 +:10E950000E9469C46AE477E0CE0101960F94C3C7B0 +:10E96000B501882777FD8095982F0F948ABF2DECED +:10E970003CEC4CEC5EE30F94BDC19B01AC0160E04C +:10E9800070E08CE092E40F940EBE6B017C016F8FFF +:10E9900078A389A39AA3CE014F960F94404EBC0151 +:10E9A000CE0101960F94A4C767E877E0CE010196E7 +:10E9B0000F94A4C7CE0183960F945C4FBC01CE0187 +:10E9C00001960F94A4C760E0CE0101960E9469C42D +:10E9D0006FE477E0CE0101960F94C3C7CF8ED8A223 +:10E9E000E9A2FAA2CE014F960F94404EBC01CE018F +:10E9F00001960F94A4C767E877E0CE0101960F94C3 +:10EA0000A4C7CE0187960F945C4FBC01CE0101963E +:10EA10000F94A4C760E0CE0101960E9469C46AE425 +:10EA200077E0CE0101960F94C3C70F5F1F4FB80167 +:10EA3000882777FD8095982F0F948ABF2DEC3CECAA +:10EA40004CEC5EE30F94BDC19B01AC010F940FBE73 +:10EA50009B01AC0160E070E08CE092E40F940EBE8C +:10EA60006F8F78A389A39AA3CE014F960F94404E3F +:10EA7000BC01CE0101960F94A4C767E877E0CE01F0 +:10EA800001960F94A4C7CE0183960F945C4FBC01EE +:10EA9000CE0101960F94A4C760E0CE0101960E94BA +:10EAA00069C422E0A20EB11C0430110509F012CF96 +:10EAB00085E090E09093CE198093CD198091CD1987 +:10EAC0009091CE19059709F012C190911E12809174 +:10EAD0001D1298130CC10E9424C5882309F407C194 +:10EAE0000F9411B6605D7A488F4F9F4F60932C1939 +:10EAF00070932D1980932E1990932F19A9E0AA2EA7 +:10EB0000B12C04E010E061E477E0CE0101960F94AF +:10EB1000C3C7B801882777FD8095982F0F948ABFC7 +:10EB20002DEC3CEC4CEC5EE30F94BDC19B01AC01C1 +:10EB30000F940FBE9B01AC0160E070E08CE092E4AA +:10EB40000F940EBE6F8F78A389A39AA3CE014F9620 +:10EB50000F94404EBC01CE0101960F94A4C767E804 +:10EB600077E0CE0101960F94A4C7CE0187960F944B +:10EB70005C4FBC01CE0101960F94A4C760E0CE01AA +:10EB800001960E9469C46AE477E0CE0101960F9471 +:10EB9000C3C7B501882777FD8095982F0F948ABF4A +:10EBA0002DEC3CEC4CEC5EE30F94BDC19B01AC0141 +:10EBB00060E070E08CE092E40F940EBE6B017C018B +:10EBC0006F8F78A389A39AA3CE014F960F94404EDE +:10EBD000BC01CE0101960F94A4C767E877E0CE018F +:10EBE00001960F94A4C7CE0183960F945C4FBC018D +:10EBF000CE0101960F94A4C760E0CE0101960E9459 +:10EC000069C46FE477E0CE0101960F94C3C7CF8E3D +:10EC1000D8A2E9A2FAA2CE014F960F94404EBC01B1 +:10EC2000CE0101960F94A4C767E877E0CE01019664 +:10EC30000F94A4C7CE0187960F945C4FBC01CE0100 +:10EC400001960F94A4C760E0CE0101960E9469C4AA +:10EC50006AE477E0CE0101960F94C3C70F5F1F4FA0 +:10EC6000B801882777FD8095982F0F948ABF2DECE7 +:10EC70003CEC4CEC5EE30F94BDC19B01AC010F94E6 +:10EC80000FBE9B01AC0160E070E08CE092E40F9459 +:10EC90000EBE6F8F78A389A39AA3CE014F960F94CF +:10ECA000404EBC01CE0101960F94A4C767E877E0FF +:10ECB000CE0101960F94A4C7CE0183960F945C4FAA +:10ECC000BC01CE0101960F94A4C760E0CE0101966D +:10ECD0000E9469C482E0A80EB11C0830110509F039 +:10ECE00012CF84E090E09093CE198093CD1980915B +:10ECF000CD199091CE19049709F012C190911E126E +:10ED000080911D1298130CC10E9424C5882309F418 +:10ED100007C10F9411B6605D7A488F4F9F4F609383 +:10ED20002C1970932D1980932E1990932F19F1E1BE +:10ED3000AF2EB12C08E010E061E477E0CE0101963F +:10ED40000F94C3C7B801882777FD8095982F0F943B +:10ED50008ABF2DEC3CEC4CEC5EE30F94BDC19B01F3 +:10ED6000AC010F940FBE9B01AC0160E070E08CE041 +:10ED700092E40F940EBE6F8F78A389A39AA3CE015D +:10ED80004F960F94404EBC01CE0101960F94A4C73C +:10ED900067E877E0CE0101960F94A4C7CE0187966D +:10EDA0000F945C4FBC01CE0101960F94A4C760E0A4 +:10EDB000CE0101960E9469C46AE477E0CE01019613 +:10EDC0000F94C3C7B501882777FD8095982F0F94BE +:10EDD0008ABF2DEC3CEC4CEC5EE30F94BDC19B0173 +:10EDE000AC0160E070E08CE092E40F940EBE6B0129 +:10EDF0007C016F8F78A389A39AA3CE014F960F94BD +:10EE0000404EBC01CE0101960F94A4C767E877E09D +:10EE1000CE0101960F94A4C7CE0183960F945C4F48 +:10EE2000BC01CE0101960F94A4C760E0CE0101960B +:10EE30000E9469C46FE477E0CE0101960F94C3C7C6 +:10EE4000CF8ED8A2E9A2FAA2CE014F960F94404EDF +:10EE5000BC01CE0101960F94A4C767E877E0CE010C +:10EE600001960F94A4C7CE0187960F945C4FBC0106 +:10EE7000CE0101960F94A4C760E0CE0101960E94D6 +:10EE800069C46AE477E0CE0101960F94C3C70F5FAF +:10EE90001F4FB801882777FD8095982F0F948ABF60 +:10EEA0002DEC3CEC4CEC5EE30F94BDC19B01AC013E +:10EEB0000F940FBE9B01AC0160E070E08CE092E427 +:10EEC0000F940EBE6F8F78A389A39AA3CE014F969D +:10EED0000F94404EBC01CE0101960F94A4C767E881 +:10EEE00077E0CE0101960F94A4C7CE0183960F94CC +:10EEF0005C4FBC01CE0101960F94A4C760E0CE0127 +:10EF000001960E9469C4E2E0AE0EB11C0C301105FE +:10EF100009F012CF83E090E09093CE198093CD1941 +:10EF20008091CD199091CE19039709F012C190915B +:10EF30001E1280911D1298130CC10E9424C58823B3 +:10EF400009F407C10F9411B6605D7A488F4F9F4F47 +:10EF500060932C1970932D1980932E1990932F196B +:10EF6000E9E1AE2EB12C0CE010E061E477E0CE01D7 +:10EF700001960F94C3C7B801882777FD8095982F15 +:10EF80000F948ABF2DEC3CEC4CEC5EE30F94BDC1BA +:10EF90009B01AC010F940FBE9B01AC0160E070E0DF +:10EFA0008CE092E40F940EBE6F8F78A389A39AA38E +:10EFB000CE014F960F94404EBC01CE0101960F94A6 +:10EFC000A4C767E877E0CE0101960F94A4C7CE01ED +:10EFD00087960F945C4FBC01CE0101960F94A4C795 +:10EFE00060E0CE0101960E9469C46AE477E0CE0138 +:10EFF00001960F94C3C7B501882777FD8095982F98 +:10F000000F948ABF2DEC3CEC4CEC5EE30F94BDC139 +:10F010009B01AC0160E070E08CE092E40F940EBEC6 +:10F020006B017C016F8F78A389A39AA3CE014F96C1 +:10F030000F94404EBC01CE0101960F94A4C767E81F +:10F0400077E0CE0101960F94A4C7CE0183960F946A +:10F050005C4FBC01CE0101960F94A4C760E0CE01C5 +:10F0600001960E9469C46FE477E0CE0101960F9487 +:10F07000C3C7CF8ED8A2E9A2FAA2CE014F960F94B1 +:10F08000404EBC01CE0101960F94A4C767E877E01B +:10F09000CE0101960F94A4C7CE0187960F945C4FC2 +:10F0A000BC01CE0101960F94A4C760E0CE01019689 +:10F0B0000E9469C46AE477E0CE0101960F94C3C749 +:10F0C0000F5F1F4FB801882777FD8095982F0F9409 +:10F0D0008ABF2DEC3CEC4CEC5EE30F94BDC19B0170 +:10F0E000AC010F940FBE9B01AC0160E070E08CE0BE +:10F0F00092E40F940EBE6F8F78A389A39AA3CE01DA +:10F100004F960F94404EBC01CE0101960F94A4C7B8 +:10F1100067E877E0CE0101960F94A4C7CE018396ED +:10F120000F945C4FBC01CE0101960F94A4C760E020 +:10F13000CE0101960E9469C4F2E0AF0EB11C00310D +:10F14000110509F012CF82E090E09093CE198093E0 +:10F15000CD198091CD199091CE19029751F49091CB +:10F160001E1280911D12981304C00E9424C58111A3 +:10F17000ADC48091CD199091CE19019739F5909138 +:10F180001E1280911D12981321C00E9424C588234D +:10F19000E9F0E0918609F0E0EE0FFF1FE658F84B2A +:10F1A000859194910F9496491092CE191092CD1991 +:10F1B0001092D0191092CF198FE59FE00F9423CBB6 +:10F1C000813021F48AE090E00F945D708091CF1936 +:10F1D0009091D019029709F02FC18091CD1990918B +:10F1E000CE19892B49F486E090E09093CE19809354 +:10F1F000CD1981E080937A098091CD199091CE1933 +:10F20000019739F490911E1280911D12981709F4FC +:10F21000A3C48091CD199091CE19029739F49091A1 +:10F220001E1280911D12981709F4B2C48091CD1955 +:10F230009091CE19039739F490911E1280911D126E +:10F24000981709F4C4C48091CD199091CE190497F0 +:10F2500039F490911E1280911D12981709F4C3C4BD +:10F260008091CD199091CE19059759F590911E1264 +:10F2700080911D12981325C0E0918609F0E0EE0FF1 +:10F28000FF1FE65BF64B859194910F94964961E0E0 +:10F2900087EF9BE50E9469C461E08AEE9BE50E94CE +:10F2A00069C480912709882309F4C2C48091280980 +:10F2B000882309F4BDC484E090E09093CE19809334 +:10F2C000CD198091CD199091CE19069739F490916E +:10F2D0001E1280911D12981709F4ADC48091CD19AA +:10F2E0009091CE19079709F09AC090911E128091C3 +:10F2F0001D12981394C00F943D48E0918609F0E0E8 +:10F30000EE0FFF1FE650F84B4591549160E080E00E +:10F310000F94166D65ED73E08AE499E10F94D0B80F +:10F3200041E060E08AE499E10E945A3C66EF75E0B2 +:10F330008AE499E10F94D0B8E0918609F0E0EE0FED +:10F34000FF1FE257F44B4591549161E081E00F9427 +:10F35000166DE0918609F0E0EE0FFF1FEE50F84BBE +:10F360004591549162E081E00F94166DE091860919 +:10F37000F0E0EE0FFF1FEE52F54B4591549163E024 +:10F3800081E00F94166D84E090E0909318028093D2 +:10F39000170200E010E0FF24F3940F941B2981E092 +:10F3A0000E94A85D2091F219332727FD3095C801EE +:10F3B000821B930B97FF03C0919581959109059747 +:10F3C0000CF068C40F94244B882339F30F94244B1A +:10F3D0008111FCCF6AE070E080E090E00F9440B6CD +:10F3E0000F94244B8111FCCF82E090E0909318029F +:10F3F000809317028FEF8F0D61E0813009F498C47C +:10F40000823009F498C4811199C485EE9BE50E946D +:10F4100069C483E090E09093CE198093CD198091D8 +:10F42000CD199091CE19089739F490911E128091C0 +:10F430001D12981709F485C48091CF199091D019A5 +:10F44000039721F41092D0191092CF198091CF19FF +:10F450009091D019049709F05DC08091CD199091D9 +:10F46000CE19892B49F486E090E09093CE198093D1 +:10F47000CD1981E080937A098091CD199091CE19B0 +:10F48000019739F490911E1280911D12981709F47A +:10F490005FC48091CD199091CE19029739F4909163 +:10F4A0001E1280911D12981709F45DC48091CD1928 +:10F4B0009091CE19039739F490911E1280911D12EC +:10F4C000981709F457C48091CD199091CE190497DB +:10F4D00039F490911E1280911D12981709F451C4AD +:10F4E0008091CD199091CE19059739F490911E1203 +:10F4F00080911D12981709F455C48091CD199091EF +:10F50000CE19069739F490911E1280911D1298170A +:10F5100009F44FC48091CF199091D019079709F041 +:10F5200081C48091CD199091CE19892BA9F483E0E3 +:10F5300090E0909378098093770921E030E0309350 +:10F5400076092093750920937A0923E02093D90244 +:10F550009093CE198093CD198091CD199091CE19A9 +:10F56000039739F490911E1280911D12981709F497 +:10F5700033C48091CD199091CE19029709F098C0AB +:10F5800080918D18882309F493C010928D181092E1 +:10F59000760910927509E0918609F0E0EE0FFF1FE1 +:10F5A000E058F64B859194910F94964920E030E015 +:10F5B000A90160919A1870919B1880919C18909164 +:10F5C0009D180F94E8BE81111EC020E030E0A90113 +:10F5D0006091961870919718809198189091991849 +:10F5E0000F94E8BE81110FC020E030E0A9016091C6 +:10F5F00092187091931880919418909195180F9487 +:10F60000E8BE8823C1F168E577E0CE0101960F944A +:10F61000C3C78AE998E10F94404EBC01CE01019620 +:10F620000F94A4C76FE577E0CE0101960F94A4C7AD +:10F6300086E998E10F94404EBC01CE0101960F94EB +:10F64000A4C762E677E0CE0101960F94A4C782E9D1 +:10F6500098E10F94404EBC01CE0101960F94A4C7CF +:10F6600060E0CE0101960E9469C461E083EA9BE5F7 +:10F670000E9469C40DC0E3E7FBE584918F018823F4 +:10F6800039F00F94A4430F5F1F4FF8018491F7CF17 +:10F690000F9411B66093BF197093C0198093C1196C +:10F6A0009093C21981E090E09093CE198093CD1988 +:10F6B0008091CD199091CE19019709F0B3C30F94A1 +:10F6C00011B60091BF191091C0192091C119309144 +:10F6D000C219601B710B820B930B613D7740810552 +:10F6E000910508F49FC3E0918609F0E0EE0FFF1F3B +:10F6F000E658F84B859194910F94964910927809A9 +:10F700001092770910927A0980E090E0A2E5B3E4C4 +:10F710008093DD029093DE02A093DF02B093E002BB +:10F720001092CE191092CD191092D0191092CF19B3 +:10F7300079C3E0918609F0E0EE0FFF1FEA5BF64B1C +:10F74000859194910F94964981E08093CC190E9401 +:10F7500041641092D0191092CF191092CE191092C4 +:10F76000CD190D9445738091B7098F938091B60997 +:10F770008F9387E79EE59F938F938E010F5F1F4FB7 +:10F780001F930F930F94F7C860E0C8010E9469C4EB +:10F790001092CC190F9411B6C0909109D090920993 +:10F7A000E0909309F090940900918D0910918E09D1 +:10F7B00020918F0930919009C01AD10AE20AF30A08 +:10F7C000C60ED71EE81EF91EC0929109D09292096A +:10F7D000E0929309F092940980EC99E00E94B6B609 +:10F7E0001092CE191092CD191092D0191092CF19F3 +:10F7F0000F900F900F900F900F900F900D946C73CF +:10F8000061E08AE59EE50D94B7736AE677E0CE0184 +:10F8100001960F94C3C787EA99E00F948B5ABC01F5 +:10F82000CE0101960F94A4C760E0CE0101960E941C +:10F8300069C482E090E09093CE198093CD190D9425 +:10F84000CD7361E777E0CE0101960F94C3C787EAD5 +:10F8500099E00F948B5ABC01CE0101960F94A4C776 +:10F8600060E0CE0101960E9469C461E086E59EE5F4 +:10F870000E9469C468E777E0CE0101960F94C3C780 +:10F8800085E999E00F94404EBC01CE0101960F949A +:10F89000A4C765E577E0CE0101960F94A4C789E976 +:10F8A00099E00F94404EBC01CE0101960F94A4C77D +:10F8B00060E0CE0101960E9469C4E0918609F0E003 +:10F8C000EE0FFF1FE45EF64B859194910F949649DD +:10F8D00083E090E09093CE198093CD190D94DB7363 +:10F8E00061E081E59EE50E9469C461E087E49EE5F0 +:10F8F0000E9469C461E08EE39EE50E9469C461E0F4 +:10F9000085E39EE50E9469C461E08BE29EE50E946A +:10F9100069C4E0918609F0E0EE0FFF1FE251F64B5B +:10F920008591949161E00E9469C461E087E29EE55F +:10F930000E9469C461E083E29EE50E9469C461E0BF +:10F940008AE19EE50E9469C488E090E09093CE1918 +:10F950008093CD190D9423740F943D4801E020E06D +:10F9600040E050E0BA0184E991E00F94C13C61E0CD +:10F9700084E09EE50E9469C461E08CEE9DE50E94F2 +:10F9800069C461E083EE9DE50E9469C461E08FED8A +:10F990009DE50E9469C461E08BED9DE50E9469C40C +:10F9A00061E087ED9DE50E9469C461E08EEB9DE515 +:10F9B0000E9469C461E08AEA9DE50E9469C461E031 +:10F9C0008FE99DE50E9469C461E086E99DE50E949A +:10F9D00069C487E090E09093CE198093CD190D947F +:10F9E00034740F9411B6605D7A488F4F9F4F6093C7 +:10F9F0002C1970932D1980932E1990932F1961E073 +:10FA00008AE89DE50E9469C461E081E89DE50E9465 +:10FA100069C461E080E79DE50E9469C461E080E619 +:10FA20009DE50E9469C461E08AE49DE50E9469C485 +:10FA300061E084E39DE50E9469C461E08FE19DE59A +:10FA40000E9469C461E08AE09DE50E9469C461E0AA +:10FA500084EF9CE50E9469C461E08FED9CE50E9403 +:10FA600069C461E08BEC9CE50E9469C461E087EBAE +:10FA70009CE50E9469C461E082EA9CE50E9469C439 +:10FA800061E08DE89CE50E9469C461E089E79CE53E +:10FA90000E9469C46DE777E0CE0101960F94C3C759 +:10FAA000CE0187960F945C4FBC01CE0101960F9456 +:10FAB000A4C760E0CE0101960E9469C486E090E090 +:10FAC0009093CE198093CD190D9445740F9411B66F +:10FAD000605D7A488F4F9F4F60932C1970932D195A +:10FAE00080932E1990932F1961E080E69CE50E9487 +:10FAF00069C461E08BE59CE50E9469C461E083E52F +:10FB00009CE50E9469C461E08BE49CE50E9469C4A5 +:10FB100061E08AE39CE50E9469C461E088E29CE5BB +:10FB20000E9469C461E084E29CE50E9469C40F946C +:10FB300011B6615071098109910960932C19709374 +:10FB40002D1980932E1990932F1981E090E09093B6 +:10FB5000CE198093CD190DCB1092CE191092CD19DC +:10FB60001092D0191092CF19E0918609F0E0EE0FB3 +:10FB7000FF1FE658F84B859194910F949649109287 +:10FB800078091092770910927A091092CC1941CB1A +:10FB90001092BB181092BA1861E08CE19CE50E94AB +:10FBA00069C40F941B29E0918609F0E0EE0FFF1F56 +:10FBB000E658F84B859194910F949649109211094B +:10FBC00081E090E09093CE198093CD192FCB61E026 +:10FBD00088E19CE50E9469C482E090E09093CE1990 +:10FBE0008093CD1930CBE0918609F0E0EE0FFF1F36 +:10FBF000EA59F64B859194910F94964961E084E11E +:10FC00009CE50E9469C461E080E19CE50E9469C4B2 +:10FC100061E08BEF9BE50E9469C410923619109247 +:10FC2000351983E090E09093CE198093CD1918CBCD +:10FC300083E090E042CBE0918609F0E0EE0FFF1FF9 +:10FC4000E65BF64B859194910F94964911E01093E1 +:10FC500011091092BB181092BA181092BD18109288 +:10FC6000BC181092BF181092BE181092C1181092B2 +:10FC7000C0180F941B2910937A0982E090E09093AA +:10FC800078098093770985E090E09093CE1980936E +:10FC9000CD1924CB201731070CF4FA94021713075F +:10FCA0000CF4F39423E02F152CF01F142CF0FF24F8 +:10FCB000F39402C023E0F22E41E060E08AE499E18F +:10FCC0000E945A3C62E177E08AE499E10F94D0B84F +:10FCD00042E060E08AE499E10E945A3C62E177E008 +:10FCE0008AE499E10F94D0B843E060E08AE499E1B6 +:10FCF0000E945A3C62E177E08AE499E10F94D0B81F +:10FD00004F2D60E08AE499E10E945A3C66EF75E06D +:10FD10008AE499E10F94D0B80091F219112707FDF8 +:10FD2000109564E670E080E090E00F9440B64ACB16 +:10FD30008EED9BE56CCB87ED9BE569CB82ED9BE57A +:10FD400066CB87E090E09093CE198093CD1974CB69 +:10FD50000F94166B1092CE191092CD191092D019E3 +:10FD60001092CF1996CB81E090E09093CE198093BA +:10FD7000CD199CCB82E090E09093CE198093CD1961 +:10FD8000A2CB61E08EEC9BE50E9469C461E089EB47 +:10FD90009BE50E9469C483E090E09093CE19809324 +:10FDA000CD199ECB84E090E09093CE198093CD192D +:10FDB000A4CB61E085EB9BE50E9469C461E088EA21 +:10FDC0009BE50E9469C40F94891C85E090E09093A4 +:10FDD000CE198093CD199ECB6AE877E0CE010196CB +:10FDE0000F94C3C78DED92E00F948B5ABC01CE01E6 +:10FDF00001960F94A4C760E0CE0101960E9469C4E9 +:10FE0000E0918609F0E0EE0FFF1FE458F64B859174 +:10FE100094910F94964982E090E09093CE1980934C +:10FE2000CD19A7CBAA960FB6F894DEBF0FBECDBFF3 +:10FE3000DF91CF911F910F91FF90EF90DF90CF90C6 +:10FE4000BF90AF9008958F929F92AF92BF92CF9242 +:10FE5000DF92EF92FF920F931F93CF93DF93CDB773 +:10FE6000DEB728970FB6F894DEBF0FBECDBF8091E6 +:10FE7000DC02813009F03FC01092DC020F946A4826 +:10FE80008091B319811111C0E0918609F0E0EE0F65 +:10FE9000FF1FE658F84B6591749144E150E08EE9FC +:10FEA00099E10F944BC70F946E498DEE9FE00F942C +:10FEB00023CB8F3F01F58EEE9FE00F9423CB8F3F36 +:10FEC000D1F48FEE9FE00F9423CB8F3FA1F480EF0E +:10FED0009FE00F9423CB8F3F71F440E050E0BA01D4 +:10FEE0008DEE9FE00F9447CB40E050E0BA0181EFE8 +:10FEF0009FE00F9447CB80913719882321F08150E0 +:10FF00008093371903C081E08093D9028091D90290 +:10FF1000882309F4BEC48091D4198F5F8093D419CB +:10FF20008E3129F40F9478421092D4190EC06AE0F1 +:10FF30000F948BC3911109C020E044E064E18AE48E +:10FF400099E10E946C3D0F94853A20E030E040E05A +:10FF50005FE36091B4187091B5188091B6189091D4 +:10FF6000B7180F940FBE0F9457BF78876F836091B7 +:10FF7000BC187091BD18882777FD8095982F0F9435 +:10FF80008ABF20E030E040E05FE30F940FBE0F94A3 +:10FF900057BF7E836D8340E060E08AE499E10E9470 +:10FFA0005A3C62E08AE499E10F94D1B8CE010796F9 +:10FFB0000F941551BC018AE499E10F94D0B86FE217 +:10FFC0008AE499E10F94D1B8CE0105960F94A35A13 +:10FFD000BC018AE499E10F94D0B886E09FE50F94C4 +:10FFE0006D5B83E09FE50F946D5B40E06AE08AE41F +:10FFF00099E10E945A3C8FEF9EE50F946D5B8091D2 +:020000023000CC +:10000000770990917809019729F487EF9EE50F947D +:100010006D5B20C02CEA35EC47E257E360913E0966 +:1000200070913F0980914009909141090F940FBE52 +:1000300069837A838B839C83CE0101960F9443500E +:10004000BC018AE499E10F94D0B860E28AE499E1B6 +:100050000F94D1B841E060E08AE499E10E945A3CF3 +:1000600020E030E040E05FE360919E1870919F18BF +:100070008091A0189091A1180F940FBE0F9457BFB4 +:1000800078876F836091BA187091BB18882777FDC5 +:100090008095982F0F948ABF20E030E040E05FE326 +:1000A0000F940FBE0F9457BF7E836D8360E08AE488 +:1000B00099E10F94D1B8CE0107960F941551BC0168 +:1000C0008AE499E10F94D0B86FE28AE499E10F9441 +:1000D000D1B8CE0105960F94A35ABC018AE499E1E8 +:1000E0000F94D0B884EF9EE50F946D5B81EF9EE591 +:1000F0000F946D5B41E06AE08AE499E10E945A3C0A +:100100008EEE9EE50F946D5B66E08AE499E10F94B4 +:10011000D1B888E592E00F941551BC018AE499E1C9 +:100120000F94D0B887EE9EE50F946D5B42E060E0DF +:100130008AE499E10E945A3C8091B509882319F01C +:1001400084EE9EE502C081EE9EE50F946D5B80918A +:10015000C2098823A9F180911F0C882319F180918D +:10016000C90C9091CA0CA091CB0CB091CC0C00970B +:10017000A105B105B9F0BC01CD016D597F4F8F4F7D +:100180009F4F24E630E040E050E00F94BFC3609101 +:10019000D10C7091D20C8091D30C9091D40C0F940F +:1001A000BFC301C020E030E03A832983CE0101962D +:1001B0000F941551BC018AE499E10F94D0B80DC099 +:1001C0008091B509882329F08CED9EE50F946D5B35 +:1001D00009C088ED9EE50F946D5B65E28AE499E1C4 +:1001E0000F94D1B88091CB19882389F185ED9EE5D4 +:1001F0000F946D5B6091C9197091CA194AE050E083 +:100200008AE499E10F9477B982ED9EE50F946D5BD6 +:1002100040E063E18AE499E10E945A3C0F9411B6F0 +:10022000C090AF09D090B009E090B109F090B20948 +:100230006C197D098E099F0960367A4E81059105FA +:1002400018F480ED9EE50BC08EEC9EE508C042E000 +:100250006AE08AE499E10E945A3C8CEC9EE50F9496 +:100260006D5B42E06BE08AE499E10E945A3C8AECC3 +:100270009EE50F946D5B67E08AE499E10F94D1B835 +:100280008091E0089091E108A091E208B091E30824 +:10029000892B8A2B8B2BE1F10F9411B630E6C32EFC +:1002A0003AEED32EE12CF12CA70196010F94BFC397 +:1002B00049015A016091E0087091E1088091E208DB +:1002C0009091E308A70196010F94BFC3C401821B5C +:1002D000930B6CE370E00F9498C3182F6983CE01E1 +:1002E00001960F94DC4DBC018AE499E10F94D0B8DB +:1002F0006AE38AE499E10F94D1B81983CE0101969B +:100300000F94DC4DBC018AE499E10F94D0B804C08D +:1003100084EC9EE50F946D5B81EC9EE50F946D5B24 +:1003200043E060E08AE499E10E945A3C80917D09B3 +:1003300090917E09892B19F081E080937A09809150 +:10034000C209882371F16EED79E087E699E10F9497 +:10035000BAC7892B31F107E619E1F80101900020B5 +:10036000E9F7AF01415051094756594160E070E04B +:10037000C8010F948AC78EED99E09F938F938EEBFF +:100380009EE59F938F931F930F930F94F7C810923E +:100390009D1910929C190F900F900F900F900F9035 +:1003A0000F909091C20980917A09992309F454C061 +:1003B000811152C0EEEDF9E001900020E9F7EF5D08 +:1003C000F940759708F445C000919C1910919D194A +:1003D000C12CD12C80919C1990919D199801281BBA +:1003E000390B2431310534F0019690939D19809397 +:1003F0009C19FDC1C114D104B9F798012054364F9E +:100400007901F901968D602F681B43E0911114C0AA +:100410008AE499E10E945A3CF701658D8AE499E1EA +:100420000F94D1B810929D1910929C1900E010E021 +:10043000CC24C394D12CCECF8AE499E10E945A3CBB +:10044000F701658D8AE499E10F94D1B80F5F1F4FD2 +:10045000C1CF67E679E1D0C1882309F4CBC180918F +:100460007D0990917E09892B09F48EC080917B09CA +:1004700090917C0901968E30910528F490937C0927 +:1004800080937B0904C010927C0910927B0943E0A1 +:1004900067E08AE499E10E945A3C80EB9EE50F9464 +:1004A0006D5B00E010E080917B0990917C0908175A +:1004B000190778F467E0600F43E08AE499E10E944D +:1004C0005A3C6EE28AE499E10F94D1B80F5F1F4F56 +:1004D000EACF80917D0990917E098230910531F1BA +:1004E00088F4019709F050C043E060E08AE499E1A4 +:1004F0000E945A3CE0918609F0E0EE0FFF1FE05C9D +:10050000F54B2FC083309105F9F0049709F03CC0FA +:1005100043E060E08AE499E10E945A3CE091860958 +:10052000F0E0EE0FFF1FE85AF44B20C043E060E01C +:100530008AE499E10E945A3CE0918609F0E0EE0FCE +:10054000FF1FE45CF54B12C043E060E08AE499E1F0 +:100550000E945A3CE0918609F0E0EE0FFF1FEC5A32 +:10056000F44B859194910F946D5B0EC0859194919D +:100570000F946D5B10927E0910927D0910927C0998 +:1005800010927B0910927A098091770990917809ED +:10059000019709F07CC080917509909176098B30A4 +:1005A000910560F143E060E08AE499E10E945A3CE1 +:1005B0008BE99EE50F946D5B43E060E08AE499E18E +:1005C0000E945A3CE0918609F0E0EE0FFF1FE05DCB +:1005D000F54B859194910F946D5B87E99EE50F949F +:1005E0006D5B60917509709176096A5071094AE0F6 +:1005F00050E08AE499E10F948AB949C00397E1F485 +:10060000E0918609F0E0EE0FFF1FE658F84B859168 +:1006100094910F946D5BE0918609F0E0EE0FFF1F5F +:10062000E658F84B859194910F94964910927A0967 +:100630001092780910927709809175099091760946 +:100640000497079720F543E060E08AE499E10E946F +:100650005A3C83E89EE50F946D5B43E060E08AE4DA +:1006600099E10E945A3CE0918609F0E0EE0FFF1FED +:10067000EC5CF54B859194910F946D5B80917509BD +:1006800090917609019790937609809375098091EE +:10069000770990917809029731F46EE979E18AE45B +:1006A00099E10F94D0B880917709909178090397D8 +:1006B000A1F56EE979E18AE499E10F94D0B820912F +:1006C00090183091911880918E1890918F18821700 +:1006D00093071CF18091750990917609892BE9F0B7 +:1006E00043E06AE08AE499E10E945A3C80E998E19B +:1006F0000F941551BC018AE499E10F94D0B86FE2D0 +:100700008AE499E10F94D1B88EE898E10F94A35A46 +:10071000BC018AE499E10F94D0B880917709909157 +:100720007809049799F543E060E08AE499E10E9432 +:100730005A3CE0918609F0E0EE0FFF1FE65EF74BB2 +:10074000859194910F946D5B43E06CE08AE499E1AC +:100750000E945A3C809176098F93809175098F93FE +:1007600084E997E09F938F938E010F5F1F4F1F9334 +:100770000F930F94C9C8B8018AE499E10F94D0B8D7 +:100780000F900F900F900F900F900F90809177091E +:1007900090917809059759F543E060E08AE499E182 +:1007A0000E945A3CE0918609F0E0EE0FFF1FE858E6 +:1007B000F64B859194910F946D5B809175099091A2 +:1007C00076098937910598F480E89EE50F946D5B72 +:1007D00060917509709176094AE050E08AE499E1E8 +:1007E0000F948AB960E28AE499E10F94D1B80EE9D6 +:1007F00019E10BC06EE979E18AE499E10F94D0B870 +:10080000F6CFF9E1023B1F0759F0F80181918F0102 +:100810008032BCF760E28AE499E10F94D1B8F1CF5D +:100820008091CB19882351F18091E2029091E302EB +:1008300001979093E3028093E2021816190654F090 +:1008400084EB90E09093E3028093E20280E090E0FA +:100850000F94BF558091E2029091E3028A30910596 +:1008600029F08D9759F485E190E006C08091C20986 +:10087000882321F084E190E00F94BF558AE08093B3 +:1008800037198091CF199091D019892B11F00F94BD +:10089000F4728091491982FB882780F9909136196A +:1008A000992399F090913519992339F0811120C03D +:1008B00010923519109236191BC08823C9F00F9475 +:1008C000B23C81E08093351913C0882389F0809170 +:1008D000CF199091D019029759F001E021E040E042 +:1008E00050E0BA0182E691E00F94C13C0F94784247 +:1008F00080915802909159022091431930914419E6 +:100900008436910534F4820F931F853691054CF49B +:1009100016C08436910599F0820F931F8436910595 +:1009200074F41092431910924419109245191092C0 +:10093000461984E690E090935902809358022091E2 +:1009400058023091590280914319909144192436EC +:10095000310569F48B3091051CF0865A9F4F09C010 +:10096000863F2FEF92078CF482599F4F02C0820F6F +:10097000931F90935902809358021092431910923A +:10098000441910924519109246198091580290917D +:1009900059028A3091051CF48AE090E005C0883E37 +:1009A000934034F087EE93E090935902809358027D +:1009B0008091CB19882381F08091E10281110CC0D4 +:1009C00043E060E08AE499E10E945A3CEEE4F9E4F5 +:1009D000859194910F946D5B28960FB6F894DEBFC5 +:1009E0000FBECDBFDF91CF911F910F91FF90EF9080 +:1009F000DF90CF90BF90AF909F908F900895CF924F +:100A0000DF92EF92FF929091D902981710F48093A1 +:100A1000D9028091D802882309F4F4C00F94CD49FB +:100A200080910301817091E0892720913E198217FE +:100A3000F9F082E08093D9028091030181708927C7 +:100A400080933E190F94784280913E19882309F4CF +:100A5000CDC080EC99E00E94D8BEE0918609F0E01C +:100A6000EE0FFF1FE85FF64B859194910F94964926 +:100A7000C0903819D0903919E0903A19F0903B198C +:100A80000F9411B6C616D706E806F90608F09BC003 +:100A90008091F219482F552747FD509557FF03C005 +:100AA00051954195510944305105ACF19091D902CD +:100AB000911103C091E09093D90287FD8D5F482F7B +:100AC00045954595552747FD5095652F752F809184 +:100AD000431990914419A0914519B0914619840F7A +:100AE000951FA61FB71F8093431990934419A09395 +:100AF0004519B09346191092F2190F9411B6605D22 +:100B00007A488F4F9F4F60932C1970932D198093C3 +:100B10002E1990932F198091491982FF0EC00F94BE +:100B200011B6605D7A488F4F9F4F60932C19709378 +:100B30002D1980932E1990932F19E091DA02F091DC +:100B4000DB021995C0902C19D0902D19E0902E1928 +:100B5000F0902F190F9411B6C616D706E806F906BD +:100B6000B8F4E091DA02F091DB0281E0EE39F807A7 +:100B700079F0309731F081E08093B4191995109293 +:100B8000B4190F943D480F94844282E08093D902B7 +:100B90008091D902823011F40F943D488091D9029E +:100BA000882319F081508093D9020F9411B66C59A3 +:100BB0007F4F8F4F9F4F60933819709339198093EF +:100BC0003A1990933B190E944BAF811101C0C5D5D2 +:100BD0000F9430498091CF199091D019089791F4D2 +:100BE000FF90EF90DF90CF900D94F47280EC99E03D +:100BF0000E94B2B6E0918609F0E0EE0FFF1FE250CE +:100C0000F74B32CFFF90EF90DF90CF900895CF92C7 +:100C1000DF92EF92FF920F943D4840E061E08AE45A +:100C200099E10E945A3CE0918609F0E0EE0FFF1F27 +:100C3000EC58F74B859194910F946D5B609143193B +:100C400070914419882777FD8095982F0F948ABF5B +:100C50002091DD023091DE024091DF025091E002EE +:100C60000F940FBE6B017C0120E030E848E953E4AB +:100C70000F94EBC018164CF0C092DD02D092DE0249 +:100C8000E092DF02F092E0020CC080E090E8A8E978 +:100C9000B3E48093DD029093DE02A093DF02B09371 +:100CA000E00220E030E040E751E46091DD02709125 +:100CB000DE028091DF029091E0020F94E8BE87FF90 +:100CC0000CC080E090E0A0E7B1E48093DD02909357 +:100CD000DE02A093DF02B093E0021092431910925B +:100CE0004419109245191092461942E061E08AE4D5 +:100CF00099E10E945A3C8DED92E00F948B5ABC0111 +:100D00008AE499E10F94D0B80F94244B882371F0B2 +:100D100087E090E09093D0198093CF190F9484428C +:100D200082E0FF90EF90DF90CF9069CEFF90EF9040 +:100D3000DF90CF9008950F931F9381E08093110966 +:100D400010924B1180918809811108C08091B409DB +:100D5000811104C00F94AD040E94D2F90E94F3C324 +:100D6000E0918609F0E0EE0FFF1FE65BF64B859100 +:100D700094910F94964982E042DE1092C20960E09D +:100D800080EC99E00E94A5B80F9411B66093DC083E +:100D90007093DD088093DE089093DF080091E008EF +:100DA0001091E1082091E2083091E308601B710B7B +:100DB000820B930B00919109109192092091930954 +:100DC00030919409601B710B820B930B28EE33E07A +:100DD00040E050E00F94BFC3109291091092920925 +:100DE000109293091092940960917F097091800983 +:100DF00080918109909182090E94705B0F948442D6 +:100E000081E080933619109235191092CE19109204 +:100E1000CD1982E090E09093D0198093CF19809102 +:100E200001018860809301019FB7F89480910201CD +:100E3000877F809302019FBF1092210910922009A1 +:100E40001F910F91089540E060E08AE499E10E94CB +:100E50005A3CE0918609F0E0EE0FFF1FEA5DF74B88 +:100E6000859194910F946D5B42E062E08AE499E190 +:100E70000E945A3CE0918609F0E0EE0FFF1FEA5510 +:100E8000F64B859194910F946D5B43E062E08AE4A8 +:100E900099E10E945A3CE0918609F0E0EE0FFF1FB5 +:100EA000E457F84B859194910F946D5B42E060E0BC +:100EB0008AE499E10E945A3C62E177E08AE499E190 +:100EC0000F94D0B843E060E08AE499E10E945A3C74 +:100ED00062E177E08AE499E10F94D0B880914319F8 +:100EE00090914419A0914519B09146190397A10515 +:100EF000B10564F082E090E0A0E0B0E08093431997 +:100F000090934419A0934519B093461980914319C1 +:100F100090914419A0914519B091461918161906D7 +:100F20001A061B0664F081E090E0A0E0B0E0809338 +:100F3000431990934419A0934519B09346194091D1 +:100F400043194F5F60E08AE499E10E945A3C66EFE2 +:100F500075E08AE499E10F94D0B80F94244B88236C +:100F6000D9F08091431990914419A0914519B091FD +:100F700046190197A105B10511F40F94844280919F +:100F8000431990914419A0914519B09146190297BF +:100F9000A105B10509F4CFCE08959091D802981714 +:100FA000D1F18093D8028823B1F1109243191092A5 +:100FB000441910924519109246191092F2190F9483 +:100FC00011B6605D7A488F4F9F4F60932C197093D4 +:100FD0002D1980932E1990932F190F9411B66150EB +:100FE00071098109910960933819709339198093B7 +:100FF0003A1990933B190F943D488091DA029091F1 +:10100000DB028E59914019F40F94194802C00F94D5 +:10101000914782E0F4CC0895CF92DF92EF92FF9255 +:101020000F9381E0BADFC0902019D0902119E09091 +:101030002219F090231988EEC80E83E0D81EE11C17 +:10104000F11C0F9411B6C616D706E806F906B8F4D7 +:10105000E0918609F0E0EE0FFF1FE652F54B859117 +:10106000949165EC78E00F941DC80F9411B66093CD +:1010700020197093211980932219909323190F94AA +:10108000244B882309F18091C20981110AC0809103 +:10109000B509811106C08091CF199091D019089798 +:1010A00049F401E021E042E150E060E070E082E4D8 +:1010B00091E008C001E021E040E150E060E070E034 +:1010C00088E291E00F94C13C0F91FF90EF90DF9088 +:1010D000CF900895CF92DF92EF92FF920F9381E02D +:1010E0005CDFC0901C19D0901D19E0901E19F09083 +:1010F0001F1988EEC80E83E0D81EE11CF11C0F9466 +:1011000011B6C616D706E806F906B8F4E0918609C6 +:10111000F0E0EE0FFF1FEA52F54B8591949165ECDC +:1011200078E00F941DC80F9411B660931C1970934A +:101130001D1980931E1990931F190F94244B882317 +:1011400009F18091C20981110AC08091B50981110C +:1011500006C08091CF199091D019089749F401E009 +:1011600021E040E150E060E070E082E491E008C0FE +:1011700001E021E04EE050E060E070E088E291E0C4 +:101180000F94C13C0F91FF90EF90DF90CF900895A6 +:101190008F929F92AF92BF92CF92DF92EF92FF9287 +:1011A0000F931F93CF93DF938C015B0180E0F5DEFB +:1011B0000F943D4840E060E08AE499E10E945A3C87 +:1011C0007801812C912CC8010F94763A882319F06C +:1011D0000F5F1F4FF8CFF8018491882309F467C08F +:1011E000492D60E08AE499E10E945A3CC8010F94BD +:1011F0001CC78431910508F084E17801E80EF11CE8 +:10120000F3E0E7019F1214C0843191F4CE010F94F2 +:10121000763A882311F02196F9CFFE018491882334 +:1012200031F0E70122977E018824839401C0812C4C +:10123000FE018491882309F455C0CE010F94763ABB +:10124000811150C0FE01849192ED980F923008F404 +:1012500049C08C3209F446C096EC980F923008F4DD +:1012600041C08F3309F43EC0813209F43BC00C17F2 +:101270001D07A8F56E01F1E0CF1AD108C6010F9441 +:10128000763A81112CC0E601F2CFF80164916E37F5 +:1012900009F460E28AE499E10F94D1B80F5F1F4F1F +:1012A0000E151F0590F39394F4E09F128CCF8820C5 +:1012B00069F00F94D94743E063E18AE499E10E9421 +:1012C0005A3C61E08AE499E10F94D1B8F50190822B +:1012D000811003C080E090E007C0C70105C0C017BF +:1012E000D107F1F27E01DCCFDF91CF911F910F91F9 +:1012F000FF90EF90DF90CF90BF90AF909F908F9036 +:101300000895CF93DF9300D01F92CDB7DEB7E09161 +:101310008609F0E0EE0FFF1FE453F84B859194919E +:101320000E94E04644E060E08AE499E10E945A3C71 +:1013300062E08AE499E10F94D1B8E091220984E057 +:10134000E89FF0011124EC54F74E80819181A28135 +:10135000B38189839A83AB83BC83CE0101960F94BA +:101360008B5ABC018AE499E10F94D0B86BEF74E01A +:101370008AE499E10F94D0B8E0912209F0E0EE0FF1 +:10138000FF1FE454F74E60817181882777FD8095B7 +:10139000982F0F948ABF69837A838B839C83CE01B5 +:1013A00001960F948B5ABC018AE499E10F94D0B84E +:1013B00066E475E08AE499E10F94D0B80F900F903D +:1013C0000F900F90DF91CF9108954F925F926F929F +:1013D0007F928F929F92AF92BF92CF92DF92EF92C5 +:1013E000FF92CF93DF93682E592E462ED42E0E9463 +:1013F000E0467C010F9411B64B015C01C090F219DC +:10140000E701E4E67E2E82E390E00E94425C442005 +:1014100069F00F9411B6681979098A099B0961333B +:1014200075478105910510F08FEFB5C00F941B290A +:1014300081E00E94A85D8C2D992787FD90952091D1 +:10144000F219821B910927FD939597FF03C091958F +:10145000819591090597ACF1209709F097C043E079 +:1014600060E08AE499E10E945A3C8091F219C81622 +:1014700094F4DD2021F184E49BE50F946D5B43E05F +:1014800067E08AE499E10E945A3C82E49BE50F946C +:101490006D5BD12C14C08C1594F4D11010C080E475 +:1014A0009BE50F946D5B43E067E08AE499E10E945D +:1014B0005A3C8EE39BE50F946D5BDD24D394C09082 +:1014C000F2190F94244B8823A9F00F94244B811117 +:1014D000FCCF6AE070E080E090E00F9440B60F949B +:1014E000244B8111FCCF209709F050C00F94853A0E +:1014F0008D2D51C07A9409F086CFE114F10441F0AA +:10150000209711F4C62DD52DCE010E94E046EC01A6 +:10151000209709F076CF43E060E08AE499E10E94E9 +:101520005A3CDD2021F08CE39BE50F946D5B43E09A +:1015300061E08AE499E10E945A3CE0918609F0E07A +:10154000EE0FFF1FE457F84B859194910F946D5B5C +:1015500043E067E08AE499E10E945A3CD11004C05C +:101560008AE39BE50F946D5B43E068E08AE499E1D0 +:101570000E945A3CE0918609F0E0EE0FFF1FEA5509 +:10158000F64B859194910F946D5B3BCFE114F10480 +:1015900009F0BACFBDCFDF91CF91FF90EF90DF90F0 +:1015A000CF90BF90AF909F908F907F906F905F9003 +:1015B0004F900895BF92CF92DF92EF92FF92CF9318 +:1015C000DF93D62FC42F0E94E04642E0CC23D9F00F +:1015D00060E08AE499E10E945A3C88E39BE50F941D +:1015E0006D5BE0918609F0E0EE0FFF1FE457F84BCA +:1015F000859194910F946D5B43E061E08AE499E1F9 +:101600000E945A3C1AC061E08AE499E10E945A3C67 +:10161000E0918609F0E0EE0FFF1FE457F84B85914B +:1016200094910F946D5B43E060E08AE499E10E943D +:101630005A3C86E39BE50F946D5BE0918609F0E0F0 +:10164000EE0FFF1FEA55F64B859194910F946D5B59 +:101650000F9411B66B017C01B090F21984E090E018 +:101660009093180280931702DD2369F00F9411B64E +:101670006C197D098E099F096133754781059105B4 +:1016800010F08FEF62C00F941B2981E00E94A85DCB +:101690002B2D332727FD30958091F219281B310916 +:1016A00087FD339537FF03C03195219531092530EA +:1016B00031058CF142E060E08AE499E10E945A3CF5 +:1016C0008091F219B81694F4CC2319F184E39BE5C8 +:1016D0000F946D5B43E060E08AE499E10E945A3C1C +:1016E00082E39BE50F946D5BC0E013C08B158CF417 +:1016F000C1110FC080E39BE50F946D5B43E060E098 +:101700008AE499E10E945A3C8EE29BE50F946D5B5E +:10171000C1E0B090F2190F94244B882309F4A4CFB0 +:101720000F94244B8111FCCF6AE070E080E090E0E0 +:101730000F9440B60F94244B8111FCCF82E090E0CF +:1017400090931802809317028C2FDF91CF91FF9016 +:10175000EF90DF90CF90BF90089580910101846059 +:10176000809301019FB7F894809102018460809377 +:1017700002019FBF68EE73E080E090E00F9440B6F6 +:101780009FB7F894809102018B7F809302019FBFE5 +:10179000E0918609F0E0EE0FFF1FEA5BF74B8591C1 +:1017A00094910E94E04688EE93E00E94425CFBCF59 +:1017B000CF93DF9300D01F92CDB7DEB70F941948B7 +:1017C0001092BD181092BC181092BB181092BA1843 +:1017D00020E030E048E452E46091B4187091B5180C +:1017E0008091B6189091B7180F94EBC01816DCF0E2 +:1017F00020E030E048E452E460919E1870919F1818 +:101800008091A0189091A1180F94EBC018165CF06D +:101810000F94914781E0C1DB0F900F900F900F90D4 +:10182000DF91CF910895E0918609F0E0EE0FFF1F60 +:10183000E851F84B859194910E94E04644E060E0C5 +:101840008AE499E10E945A3C62E08AE499E10F94AB +:10185000D1B88091B4189091B518A091B618B091F4 +:10186000B71889839A83AB83BC83CE0101960F940A +:101870008B5ABC018AE499E10F94D0B869E977E00A +:101880008AE499E10F94D0B866E475E08AE499E1BE +:101890000F94D0B844E069E08AE499E10E945A3C90 +:1018A00060E08AE499E10F94D1B880919E189091FC +:1018B0009F18A091A018B091A11889839A83AB8337 +:1018C000BC83CE0101960F948B5ABC018AE499E146 +:1018D0000F94D0B869E977E08AE499E10F94D0B821 +:1018E00066E475E08AE499E10F94D0B80F94853AE4 +:1018F00088EE93E00E94425C0E94AF6569CF2F9210 +:101900003F924F925F926F927F928F929F92AF928F +:10191000BF92CF92DF92EF92FF920F931F93CF93DC +:10192000DF93CDB7DEB728970FB6F894DEBF0FBEB2 +:10193000CDBF3EDF0F943D4840E060E08AE499E18E +:101940000E945A3CE4E8F8E4859194910F946D5B11 +:1019500081E00E94E45060ED77E080E090E00F9439 +:1019600040B682E090E0909318028093170200ED59 +:1019700017E021E043E050E060E070E08FEF9FEF80 +:101980000F943A6D98878F83109221091092200945 +:101990000F941B2961E088E090E00F94F02360ED44 +:1019A00077E080E090E00F9440B60F941B2980917F +:1019B000620990916309892B31F460E070E0AB011A +:1019C00087E090E04BC000ED17E021E043E050E0FD +:1019D0006F81788580E090E00F943A6D98878F83CF +:1019E00086E990E0909321098093200915E088EE24 +:1019F00093E00E94425C43E062E18AE499E10E9444 +:101A00005A3C64E377E08AE499E10F94D0B888EE19 +:101A100093E00E94425C43E062E18AE499E10E9423 +:101A20005A3C6FE177E08AE499E10F94D0B8115005 +:101A3000F1F610922109109220090F941B2981E0E0 +:101A40000E94A85D8091640990916509009709F052 +:101A50005DC086E090E060E070E0AB010F94FB5F5A +:101A600008E813E121E043E050E06F8178858CE0E5 +:101A700090E00F943A6DF12C1092B31961E080E17F +:101A800090E60E9469C40F943D480F9411B66C59BA +:101A90007F4F8F4F9F4F6093381970933919809300 +:101AA0003A1990933B19FF2019F0EEE8F8E407C0CB +:101AB000E0918609F0E0EE0FFF1FE455F74B8591AA +:101AC00094910F94C24980E00E94E45081E090E03C +:101AD00090931802809317028F2D28960FB6F894D2 +:101AE000DEBF0FBECDBFDF91CF911F910F91FF9051 +:101AF000EF90DF90CF90BF90AF909F908F907F90AE +:101B00006F905F904F903F902F900895829774F45C +:101B100081E00F94D36B882331F080E00F94D36B76 +:101B2000811104C096CF8AE090E095CF00ED17E0D8 +:101B300021E043E050E06F81788581E090E00F94F0 +:101B40003A6D08EE13E021E043E050E0BC0183E091 +:101B500090E00F943A6D98878F8380E00F94396FEF +:101B6000882309F47DCF00ED17E021E043E050E049 +:101B70006F81788584E090E00F943A6D98878F8329 +:101B800080E00F945E61882309F46ACF00E010E0E2 +:101B900021E043E050E06F81788584E090E00F948D +:101BA0003A6D0CED15E021E043E050E0BC0185E02A +:101BB00090E00F943A6D98878F8381E00F945E6177 +:101BC000882309F44DCF00E010E021E043E050E02D +:101BD0006F81788585E090E00F943A6D1C010F9439 +:101BE000D43680E00F94CD1420E030E040E651E49C +:101BF00060913609709137098091380990913909BF +:101C00000F940FBE2B013C01609336097093370986 +:101C1000809338099093390920E030E040E451E4A2 +:101C200060913A0970913B0980913C0990913D097E +:101C30000F940FBE69837A838B839C8360933A09E8 +:101C400070933B0980933C0990933D0920E030E07C +:101C500040E251E460913E0970913F098091400952 +:101C6000909141090F940FBE60933E0970933F0914 +:101C7000809340099093410922E239E03F932F93EA +:101C8000812C912CA4E3AA2EA2E4BA2EB2E4CB2E8E +:101C9000B9E0DB2E7B018C0129813A814B815C818B +:101CA000C301B2010F9428060F94891C0CED15E0B6 +:101CB00021E043E050E0B10186E090E00F943A6DFE +:101CC00098878F830F900F90612C712C212C312CD1 +:101CD000412C512C1E821D82198220E030E040E808 +:101CE0005FE360913E0970913F09809140099091B6 +:101CF00041090F940EBE7B018C0160933E097093E5 +:101D00003F09809340099093410920913A0930910D +:101D10003B0940913C0950913D0960913609709111 +:101D200037098091380990913909A2E2B9E0BF934F +:101D3000AF93812C912CE4E3AE2EE2E4BE2EF2E4CC +:101D4000CF2EF9E0DF2E0F9428060F94891C0F90F8 +:101D50000F901C9B0EC033B034FA332430F8398214 +:101D600080911E18F1E08F27282E312CFF24F39448 +:101D700001C0F12C0F94D43686E06816710424F467 +:101D80009FEF691A790A0FC000E010E020E043E0FD +:101D900050E06D817E8186E090E00F943A6D9E83E5 +:101DA0008D83612C712C0F941B2981E00E94A85D0A +:101DB000A8EE4A16510431F0BFEF4B1A5B0AFF2020 +:101DC00009F48BCFE981E11115C02A94232819F079 +:101DD0004BE757E002C046E557E068E677E087EE5C +:101DE000481651041CF085E090E002C084E090E0C9 +:101DF0000F94FB5F8FE59FE00F9423CB813051F070 +:101E000061E08BE190E60E9469C461E084E190E6C4 +:101E10000E9469C49981992309F422CE00ED17E04C +:101E200021E043E050E06F81788587E090E00F94F7 +:101E30003A6D98878F8381E00F94396FF82E88234D +:101E400009F40ECE21E043E050E06F81788588E010 +:101E500090E00F943A6D21E043E050E0BC0189E04E +:101E600090E00F943A6D98878F830E947549809116 +:101E70000911882339F060E070E0AB018BE090E05D +:101E80000F94FB5F809109118111EACD00ED17E0FD +:101E900021E043E050E06F8178858AE090E00F9484 +:101EA0003A6D08E813E121E043E050E0BC018BE02B +:101EB00090E00F943A6DE0CD0F9340E061E08DE942 +:101EC0009FE578DB882341F061E089E99FE50E9486 +:101ED00069C40F94844209C001E021E040E050E071 +:101EE000BA0188E291E00F94C13C81E056D882E0CB +:101EF0008093D9020F910895CF93DF93E0918609E3 +:101F0000F0E0EE0FFF1FE259F64B8591949141E00E +:101F100060E050DB882339F088E090E09093D0199E +:101F20008093CF1926C0E0918609F0E0EE0FFF1FE5 +:101F3000E659F64B859194910E94E046C4E1D0E0C9 +:101F400084E690E00E94425C0F94244B882379F051 +:101F50000F94244B8111FCCF6AE070E080E090E0A8 +:101F60000F9440B60F94244B8111FCCF02C02197EF +:101F700039F70F94844281E0DF91CF910EC88F92A0 +:101F80009F92AF92BF92CF92DF92EF92FF920F9308 +:101F90001F93CF93DF930F943D4840E060E08AE4C5 +:101FA00099E10E945A3C66EF75E08AE499E10F944A +:101FB000D0B80CE412E037EAE32E3FE0F32EC0E0A5 +:101FC000D0E04C2F61E08AE499E10E945A3C6CE930 +:101FD00077E08AE499E10F94D0B84AE050E0BE017E +:101FE0008AE499E10F9477B969E575E08AE499E1AB +:101FF0000F94D0B8B801C7010F948C48F8016081E4 +:1020000071810E5F1F4F605371094AE050E08AE40E +:1020100099E10F9477B9219682E0E80EF11CC43063 +:10202000D10579F60091F219112707FD1095C0E04E +:10203000D0E00F941B2981E00E94A85D2091F21945 +:10204000332727FD3095C801821B930B97FF03C0F0 +:1020500091958195910903970CF45BC02017310786 +:102060000CF42197021713070CF42196C430D10504 +:102070003CF4CF3F9FEFD90729F4C0E0D0E002C085 +:10208000C3E0D0E040E060E08AE499E10E945A3C7D +:1020900062E177E08AE499E10F94D0B841E060E032 +:1020A0008AE499E10E945A3C62E177E08AE499E18E +:1020B0000F94D0B842E060E08AE499E10E945A3C73 +:1020C00062E177E08AE499E10F94D0B843E060E000 +:1020D0008AE499E10E945A3C62E177E08AE499E15E +:1020E0000F94D0B84C2F60E08AE499E10E945A3CEA +:1020F00066EF75E08AE499E10F94D0B80091F21987 +:10210000112707FD109564E670E080E090E00F94E1 +:1021100040B60F94244B882309F48BCF0F94244BA3 +:102120008111FCCF6AE070E080E090E00F9440B64F +:102130000F94244B8111FCCF0F943D486E01CC0CC1 +:10214000DD1CF601E45BFD4F5F017F010F941B294D +:1021500081E00E94A85D41E061E08AE499E10E948B +:102160005A3C6CE977E08AE499E10F94D0B84AE0F0 +:1021700050E0BE018AE499E10F9477B969E575E012 +:102180008AE499E10F94D0B841E06DE08AE499E1E6 +:102190000E945A3CF50160817181605371094AE0E7 +:1021A00050E08AE499E10F9477B98091F219992768 +:1021B00087FD90959801281B390B37FF03C0319597 +:1021C00021953109233031050CF443C08017910764 +:1021D000E4F4F7018081918101979183808341E04C +:1021E0006DE08AE499E10E945A3CF70160817181B7 +:1021F000605371094AE050E08AE499E10F9477B99D +:102200000091F219112707FD10958091F219992775 +:1022100087FD909508171907E4F4F70180819181F3 +:1022200001969183808341E06DE08AE499E10E9408 +:102230005A3CF70160817181605371094AE050E0B6 +:102240008AE499E10F9477B90091F219112707FDFB +:10225000109564E670E080E090E00F9440B60F9433 +:10226000244B882309F472CF0F94244B8111FCCFA7 +:102270006AE070E080E090E00F9440B60F94244B49 +:102280008111FCCFB601645B7D4FC6018955904F2B +:102290000F947B4840E061E086EF9AE58BD9882374 +:1022A00009F456C081E00F94CD870F943D4800910A +:1022B000F219112707FD10954C2F60E08AE499E18F +:1022C0000E945A3C66EF75E08AE499E10F94D0B819 +:1022D0008CE4C82E82E0D82E97EAA92E9FE0B92E72 +:1022E000E12CF12C4E2D61E08AE499E10E945A3CE8 +:1022F0006CE977E08AE499E10F94D0B84AE050E0C5 +:10230000B7018AE499E10F9477B969E575E08AE449 +:1023100099E10F94D0B8B601C5010F948C48F6012D +:1023200060817181F2E0CF0ED11C605371094AE0E7 +:1023300050E08AE499E10F9477B98FEFE81AF80A30 +:1023400092E0A90EB11CE4E0EE16F10459F671CE4C +:10235000DF91CF911F910F91FF90EF90DF90CF9081 +:10236000BF90AF909F908F9008952F923F924F9281 +:102370005F926F927F928F929F92AF92BF92CF9215 +:10238000DF92EF92FF920F931F93CF93DF93CDB71E +:10239000DEB7A4970FB6F894DEBF0FBECDBF89E0BD +:1023A0009FE00F9423CB88A38091D119882331F02B +:1023B0001092D11980EC99E00E9491BC8091D902D1 +:1023C000811104C08091491982FF9DC380EC99E07E +:1023D0000E9422BC1C018091431990914419A09144 +:1023E0004519B091461981309048A105B10540F0DA +:1023F00010924319109244191092451910924619DF +:102400008091431990914419A0914519B0914619B2 +:102410004091481950E060E070E084179507A607E6 +:10242000B70710F4809348194090481980914919D2 +:1024300082FB882780F98F8F512CC10101979BA3C4 +:102440008AA3411036C08091D9028823E1F0E0913F +:102450008609F0E0EE0FFF1FEE51F64B6591749187 +:102460008091431990914419A0914519B091461952 +:1024700023E0892B8A2B8B2B11F443E001C040E22F +:10248000852D0F94223B9F8D992399F080914319BC +:1024900090914419A0914519B0914619892B8A2B26 +:1024A0008B2B39F40F94B23C82E691E00F94723D8D +:1024B0002AC365EC79E08BE39AE00E945AA78091E9 +:1024C000C5098F3211F1E1E04E1611F022E01EC075 +:1024D0008091D9028823A9F08091431990914419E1 +:1024E000A0914519B091461920E20197A105B105C7 +:1024F00011F44EE301C040E266E87FE5852D0F94BC +:10250000223BFF8DF11109C0E1CF21E000E010E096 +:10251000C42CD12CE12CF12C35C080914319909121 +:102520004419A0914519B09146190197A105B1052B +:1025300069F60F94B23C0F94B83CE5C224113AC23C +:102540008091CB19882311F18AA19BA1801B910B4B +:1025500028A1223001F540E050E0BC0180EC99E078 +:102560000E94BAB89091130A8091D902992309F474 +:10257000BDC0811116C08F8D811185C021E0240D51 +:102580000F5F1F4F02151305C9F616C288A18D7F74 +:10259000D9F2B80101C0BC0180EC99E00E9475BC81 +:1025A000E1CFE0918609F0E0EE0FFF1FE85FF44B0A +:1025B000859194918091431990914419A091451966 +:1025C000B0914619452D60E08C159D05AE05BF05FF +:1025D00069F58AE499E10E945A3C6EE38AE499E144 +:1025E0000F94D1B865E08AE499E10F94D1B8809155 +:1025F000DE09882329F01092F0098EED99E002C0DF +:1026000085EC99E05C0152E1952EF50161915F0145 +:10261000662311F091100EC2992009F4ACCF60E24C +:102620008AE499E10F94D1B89A94F6CF8AE499E1BB +:102630000E945A3C60E28AE499E10F94D1B865E0C7 +:102640008AE499E10F94D1B88091DE09882329F0BA +:102650001092F0098EED99E002C085EC99E05C01E2 +:1026600042E1942EF50161915F01662311F0911012 +:10267000E7C1992009F47FCF60E28AE499E10F94E1 +:10268000D1B89A94F6CF8091431990914419A091B2 +:102690004519B09146198C159D05AE05BF0509F089 +:1026A0006DCF0F94B23C80EC99E00E94C6B6F9E081 +:1026B0008F9F80011124095B164F65EC79E0C801FA +:1026C0000F94C3C7B80184ED97E00E94374165ECD1 +:1026D00079E080EC99E00E94B3C110924319109206 +:1026E000441910924519109246190DC2811104C067 +:1026F0002F8D2111A5C042CFE0918609F0E0EE0FA9 +:10270000FF1FE85FF44B859194918091431990915C +:102710004419A0914519B09146198C159D05AE0537 +:10272000BF0509F063C02091F21929A3B12C4B2DEC +:1027300060E08AE499E10E945A3C60E28AE499E10F +:102740000F94D1B8B39484E0B812F1CF452D60E076 +:102750008AE499E10E945A3C6EE38AE499E10F947D +:10276000D1B89EED692E99E0792E812C912CAA2466 +:10277000A394B12CF30121913F01222361F1452D56 +:102780006A2D8AE499E12CA30E945A3C2CA1622F65 +:102790008AE499E10F94D1B89FEFA91AB90AE4E14C +:1027A000AE16B10439F7FFEF8F1A9F0AC4018252A7 +:1027B000964F3C012CE2A22EBB24B3940F941B290C +:1027C0008091491982FD42C18091F21929A12817EF +:1027D00009F43FC13BC1B4E1BB2EBA1860E28AE400 +:1027E00099E10F94D1B8BA94C9F782CF452D60E032 +:1027F0008AE499E10E945A3C60E28AE499E10F94EC +:10280000D1B88091DE09882329F01092F1098EED6C +:1028100099E002C085EC99E05C01A3E19A2EF501F4 +:1028200061915F01662311F0911029C1992009F48B +:102830005FCF60E28AE499E10F94D1B89A94F6CF21 +:102840008091431990914419A0914519B09146196E +:102850008C159D05AE05BF0509F090CE0F94B23CD6 +:102860001092790985EC99E09F938F938FE79FE50C +:102870009F938F938E010F5F1F4F1F930F930F94A2 +:10288000F7C80F900F900F900F900F900F907E0150 +:10289000F5E0EF0EF11CF7018081882349F09927BC +:1028A00087FD90950F94F9C6F70181937F01F3CFCF +:1028B000E5ECCE2EE9E0DE2EF5E9EF2EFFE0FF2E6F +:1028C000F60161916F01C7010F9453CBFFEFEF1A2F +:1028D000FF0A2DE9E2162FE0F20691F780EC99E06D +:1028E0000E94C6B6782E682F8AE59FE00F9453CBDE +:1028F00077E4A72E79E0B72E6501E12CF12C8C2D21 +:102900008A198715B8F44701E8E08E0E911CF6018C +:10291000EE0DFF1D6081C701865F904F0F9453CB72 +:102920008FEFE81AF80AE814F90489F79FEFC91A3B +:10293000D90AE5CF21E041E065EC79E080EC99E04F +:102940000E9406B980EC99E00E942BB76131F7E252 +:102950007F078105910590F0AB01BC0140515742C2 +:10296000610971094093D10C5093D20C6093D30C40 +:102970007093D40C8CE19CE00E94C2A9B12CAA24D3 +:10298000A394C090D10CD090D20CE090D30CF090D6 +:10299000D40C4091C90C5091CA0C6091CB0C709131 +:1029A000CC0CC416D506E606F70608F06EC0B110CA +:1029B0006CC0A1C02F5FE4CD822F90E0A0E0B0E01A +:1029C00040914319509144196091451970914619ED +:1029D000481759076A077B0778F0822F90E0019724 +:1029E000AA2797FDA095BA2F809343199093441975 +:1029F000A0934519B0934619409143198091481905 +:102A000090E00396242F30E08217930764F48DEF53 +:102A1000840F8093481981E08093D9025CEF452EA2 +:102A2000440E55245A945394439423E0251508F0FA +:102A300008CD69C08AE499E10F94D1B89A94E5CDA4 +:102A40008AE499E10F94D1B89A940CCE1092F009CF +:102A500088CEF1E08F16910431F463E070E080E0FD +:102A600090E00F9440B661E070E080E090E00F9459 +:102A700040B681E0A81AB10809F0A0CE78CE8AE469 +:102A800099E10F94D1B89A94CACE80EC99E00E9453 +:102A90009EC2E0918609F0E0EE0FFF1FE658F84B6A +:102AA0006591749144E150E08EE999E10F944BC730 +:102AB0000F946E49B11013C0E0918609F0E0EE0F5B +:102AC000FF1FEE57F54B8591949140E060E00F9425 +:102AD000DA8AF82E81E00F94CD87FF2049F060E07C +:102AE000C8010E9469C461E08BE79FE50E9469C448 +:102AF0000F94844208C0A092C2090E94D5C50E94CA +:102B0000554AB82E3ECFA4960FB6F894DEBF0FBE3E +:102B1000CDBFDF91CF911F910F91FF90EF90DF908C +:102B2000CF90BF90AF909F908F907F906F905F906D +:102B30004F903F902F900895EF92FF920F931F9325 +:102B4000CF93DF93F82EE92E0E94E046EC0111E0CE +:102B5000009709F410E00F94D94724E030E0309357 +:102B600018022093170211110BC043E063E18AE4BD +:102B700099E10E945A3C62E08AE499E10F94D1B84D +:102B800004E682E390E00E94425C0F94244B882389 +:102B900021F10F94244B8111FCCF6AE070E080E0BA +:102BA00090E00F9440B60F94244B8111FCCF2097F6 +:102BB00079F582E090E090931802809317020F94C9 +:102BC000853A81E00F94CD8782E0DF91CF911F910C +:102BD0000F91FF90EF900D94FF84015091F6112317 +:102BE00021F2209711F4CF2DDE2DCE010E94E04678 +:102BF000EC01009709F0B7CF43E063E18AE499E183 +:102C00000E945A3C62E08AE499E10F94D1B8ABCFBC +:102C1000112309F4AACFE9CFE0918609F0E0EE0F85 +:102C2000FF1FEC57F44B8591949186CFE091860974 +:102C3000F0E0EE0FFF1FE85BF54B859194917CCFA0 +:102C40000F9381E09091E502911180E08093E5027D +:102C5000811108C00E9411CB80910602882341F0A7 +:102C6000DBDF06C00E94F4CA809109118111DEDF0A +:102C70008091C20981110AC08091B509811106C0F5 +:102C80008091CF199091D019089749F401E021E083 +:102C900047E050E060E070E082E491E008C001E0CD +:102CA00021E047E050E060E070E088E291E00F94BE +:102CB000C13C0F9108956F927F928F929F92AF9235 +:102CC000BF92CF92DF92EF92FF920F931F93CF9319 +:102CD000DF9341E062ED79E18FEF9FE00F94D448FC +:102CE0008091431990914419A0914519B0914619CA +:102CF00081309048A105B10540F01092431910921F +:102D000044191092451910924619809143199091D7 +:102D10004419A0914519B09146194091481950E0C5 +:102D200060E070E084179507A607B70710F480935A +:102D3000481900914819B0904919B2FABB24B0F86B +:102D400010E0E2E76E2EEBE47E2EFAEE8F2EFAE430 +:102D50009F2EA9E0CA2ED12CE12CF12CAA24A394F9 +:102D60008091431990914419A0914519B091461949 +:102D700001113CC02091D9022223A1F0E0918609E3 +:102D8000F0E0EE0FFF1FEE51F64B6591749123E0DA +:102D9000892B8A2B8B2B11F443E001C040E2812F59 +:102DA0000F94223BBB2009F4C2C18091431990913A +:102DB0004419A0914519B0914619892B8A2B8B2B68 +:102DC00009F0B5C10F94B23C82E691E0DF91CF915A +:102DD0001F910F91FF90EF90DF90CF90BF90AF9039 +:102DE0009F908F907F906F900D94723D013009F00D +:102DF00044C02091D9022223F1F0E0918609F0E04D +:102E0000EE0FFF1FE65BF74BC591D4910197A1052B +:102E1000B10539F488E592E00F9415519C014EE319 +:102E200006C088E592E00F9415519C0140E2BE0176 +:102E3000812F0F94593BBB2009F479C1809143192C +:102E400090914419A0914519B09146190197A10597 +:102E5000B10509F06CC10F94B23CE0918609F0E035 +:102E6000EE0FFF1FE65BF74B8591949127EE33E061 +:102E70004AE050E068E572E046C0023009F053C015 +:102E80002091D9022223F1F0E0918609F0E0EE0FC3 +:102E9000FF1FE656F64BC591D4910297A105B105E7 +:102EA00039F48CEB98E10F9415519C014EE306C068 +:102EB0008CEB98E10F9415519C0140E2BE01812FEB +:102EC0000F94593BBB2009F432C180914319909172 +:102ED0004419A0914519B09146190297A105B10571 +:102EE00009F025C10F94B23CE0918609F0E0EE0FA5 +:102EF000FF1FE656F64B8591949127E231E040E0C2 +:102F000050E06CEB78E1DF91CF911F910F91FF9032 +:102F1000EF90DF90CF90BF90AF909F908F907F9079 +:102F20006F900D940D3D033009F039C02091D90206 +:102F30002223C1F0F301C591D4910397A105B105F6 +:102F400039F48AEB98E10F9415519C014EE306C0C9 +:102F50008AEB98E10F9415519C0140E2BE01812F4C +:102F60000F94593BBB2009F4E2C080914319909122 +:102F70004419A0914519B09146190397A105B105CF +:102F800009F0D5C00F94B23CE2E7FBE4859194913F +:102F900023E730E040E050E06AEB78E1B4CF043062 +:102FA00009F044C02091D9022223F1F0E091860972 +:102FB000F0E0EE0FFF1FEA56F54BC591D491049750 +:102FC000A105B10539F480E299E00F9415519C01F7 +:102FD0004EE306C080E299E00F9415519C0140E257 +:102FE000BE01812F0F94593BBB2009F4A0C08091F2 +:102FF000431990914419A0914519B091461904972D +:10300000A105B10509F093C00F94B23CE091860987 +:10301000F0E0EE0FFF1FEA56F54B859194912FEFEC +:1030200030E040E050E060E279E06DCF053009F03B +:1030300044C02091D9022223F1F0E0918609F0E00A +:10304000EE0FFF1FE659F54BC591D4910597A105E9 +:10305000B10539F486E592E00F9415519C014EE3D9 +:1030600006C086E592E00F9415519C0140E2BE0136 +:10307000812F0F94593BBB2009F459C0809143190B +:1030800090914419A0914519B09146190597A10551 +:10309000B10509F04CC00F94B23CE0918609F0E014 +:1030A000EE0FFF1FE659F54B8591949127EE33E023 +:1030B0004AE050E066E572E026CF0630C1F5209187 +:1030C000D9022223A1F0E0918609F0E0EE0FFF1F64 +:1030D000EE56F54B6591749120E20697A105B10576 +:1030E00011F44EE301C040E2812F0F94223BBB203C +:1030F000F1F08091431990914419A0914519B09134 +:1031000046190697A105B10591F40F94B23CDF91E1 +:10311000CF911F910F91FF90EF90DF90CF90BF90D4 +:10312000AF909F908F907F906F900D94A5492091C4 +:10313000E5028091431990914419A0914519B091ED +:10314000461921110FC0073009F045C02091D9025E +:10315000222301F1E0918609F0E0EE0FFF1FE45A0F +:10316000F54B0DC00730B9F52091D902222391F01B +:10317000E0918609F0E0EE0FFF1FE85AF54B6591EC +:10318000749120E20797A105B10519F140E2812F62 +:103190000F94223BBB20F9F0809143199091441980 +:1031A000A0914519B09146190797A105B10599F469 +:1031B0000F94B23CDF91CF911F910F91FF90EF9050 +:1031C000DF90CF90BF90AF909F908F907F906F9047 +:1031D00037CD4EE3DCCF2091D219809143199091E5 +:1031E0004419A0914519B091461921110FC008301A +:1031F00009F046C02091D902222301F1E09186090D +:10320000F0E0EE0FFF1FE859F74B0DC00830C1F595 +:103210002091D902222391F0E0918609F0E0EE0F8F +:10322000FF1FEC59F74B6591749120E20897A105B7 +:10323000B10521F140E2812F0F94223BBB2001F127 +:103240008091431990914419A0914519B091461964 +:103250000897A105B105A1F40F94B23CDF91CF917D +:103260001F910F91FF90EF90DF90CF90BF90AF90A4 +:103270009F908F907F906F900D944C444EE3DBCFE6 +:103280002091D2198091431990914419A091451928 +:10329000B0914619211150C02091E40221110FC0B4 +:1032A000093009F07FC02091D902222309F1E09171 +:1032B0008609F0E0EE0FFF1FEA51F54B0EC0093012 +:1032C00009F070C02091D902222391F0E091860983 +:1032D000F0E0EE0FFF1FEE51F54B6591749120E287 +:1032E0000997A105B10531F140E2812F0F94223BEE +:1032F000BB2009F457C08091431990914419A091C3 +:103300004519B09146190997A105B10509F04AC0C0 +:103310000F94B23CDF91CF911F910F91FF90EF90EE +:10332000DF90CF90BF90AF909F908F907F906F90E5 +:103330000D9473434EE3D9CF0930A1F52091D90202 +:10334000222371F0F401659174912EE70997A1058C +:10335000B10511F44EE301C040E2812F0F94223BEE +:10336000BB2001F18091431990914419A091451916 +:10337000B09146190997A105B105A1F40F94B23C8B +:1033800082E991E0DF91CF911F910F91FF90EF9033 +:10339000DF90CF90BF90AF909F908F907F906F9075 +:1033A0000D94D43E8091431990914419A0914519F0 +:1033B000B09146190A97A105B10540F0C092431992 +:1033C000D0924419E0924519F09246194091431960 +:1033D0008091481990E00396242F30E082179307DC +:1033E0004CF48DEF840F80934819A092D9020CEF12 +:1033F000040F1FEF1F5F0F5F143008F4B1CCDF9193 +:10340000CF911F910F91FF90EF90DF90CF90BF90E1 +:10341000AF909F908F907F906F9008953F924F92C2 +:103420005F926F927F928F929F92AF92BF92CF9254 +:10343000DF92EF92FF920F931F93CF93DF931F9230 +:10344000CDB7DEB741E062ED79E18FEF9FE00F94F9 +:10345000D4488091431990914419A0914519B09195 +:10346000461981309048A105B10540F010924319EA +:1034700010924419109245191092461980914319DF +:1034800090914419A0914519B0914619409148195D +:1034900050E060E070E084179507A607B70710F4C6 +:1034A00080934819A09048199090491992FA99244C +:1034B00090F8B12C0AEE1AE48AE0E82E88E4F82E9F +:1034C00098E0C92E98E4D92EA11037C08091D90276 +:1034D0008823E1F0E0918609F0E0EE0FFF1FEE5146 +:1034E000F64B659174918091431990914419A09184 +:1034F0004519B091461923E0892B8A2B8B2B11F4A7 +:1035000043E001C040E28B2D0F94223B992009F447 +:103510004AC08091431990914419A0914519B091E6 +:103520004619892B8A2B8B2B09F03DC00F94B23C96 +:1035300082E691E00F94723D28C681E0A81233C064 +:103540008091D9028823E1F0E0918609F0E0EE0F46 +:10355000FF1FE25EF74B6591749180914319909142 +:103560004419A0914519B09146192EE70197A1057C +:10357000B10511F44EE301C040E28B2D0F94223BC4 +:10358000992089F08091431990914419A09145198F +:10359000B09146190197A105B10529F40F94B23CE9 +:1035A00084EA91E075C58091B409811139C022E0A7 +:1035B000A21619F073E0872E35C08091D9028823B6 +:1035C000E1F0E0918609F0E0EE0FFF1FE054F64BCA +:1035D000659174918091431990914419A091451976 +:1035E000B09146192EE70297A105B10511F44EE3FB +:1035F00001C040E28B2D0F94223B9920D9F280919B +:10360000431990914419A0914519B0914619029718 +:10361000A105B10579F60F94B23C80E991E038C577 +:1036200052E0852E8091CC19811143C08A1040C090 +:103630008091D902882309F1E0918609F0E0EE0F2C +:10364000FF1FEA53F54B65917491882D90E0A0E03F +:10365000B0E0409043195090441960904519709023 +:10366000461920E2481659066A067B0611F44EE315 +:1036700001C040E28B2D0F94223B9920C9F0882D88 +:1036800090E0A0E0B0E0409143195091441960915E +:10369000451970914619481759076A077B0741F485 +:1036A0000F94B23C61E08EEC9FE50E9469C46DC549 +:1036B00083948091E502811104C1809109118823CE +:1036C00009F481C08A103CC08091D902882309F195 +:1036D000E0918609F0E0EE0FFF1FE05AF54B65918F +:1036E0007491882D90E0A0E0B0E040904319509094 +:1036F0004419609045197090461920E24816590601 +:103700006A067B0611F44EE301C040E28B2D0F9454 +:10371000223B9920A9F0882D90E0A0E0B0E04091F4 +:1037200043195091441960914519709146194817F1 +:1037300059076A077B0721F40F94B23C81DA25C54B +:1037400033243394380C3A104CC18091D902882329 +:1037500009F1E0918609F0E0EE0FFF1FEC5AF54BFE +:1037600065917491432C512C612C712C80914319DB +:1037700090914419A0914519B091461920E2841501 +:103780009505A605B70511F44EE301C040E28B2D67 +:103790000F94223B992009F424C1832D90E0A0E0EE +:1037A000B0E04091431950914419609145197091CE +:1037B0004619481759076A077B0709F012C10F9489 +:1037C000B23C34DAE2C48A1039C08091D90288232D +:1037D00009F1E0918609F0E0EE0FFF1FE45AF54B86 +:1037E00065917491882D90E0A0E0B0E0409043197D +:1037F00050904419609045197090461920E248167F +:1038000059066A067B0611F44EE301C040E28B2D97 +:103810000F94223B992091F0882D90E0A0E0B0E039 +:10382000409143195091441960914519709146197E +:10383000481759076A077B0709F47ECF332433946E +:10384000380C3A10CEC08091D902882309F1E0915A +:103850008609F0E0EE0FFF1FEC5AF54B659174916D +:10386000432C512C612C712C809143199091441957 +:10387000A0914519B091461920E284159505A60539 +:10388000B70511F44EE301C040E28B2D0F94223BAB +:10389000992009F4A6C0832D90E0A0E0B0E040910B +:1038A0004319509144196091451970914619481770 +:1038B00059076A077B0709F094C00F94B23CACD952 +:1038C00064C48A1039C08091D902882309F1E0913B +:1038D0008609F0E0EE0FFF1FE85AF54B65917491F1 +:1038E000882D90E0A0E0B0E040904319509044193A +:1038F000609045197090461920E2481659066A06EC +:103900007B0611F44EE301C040E28B2D0F94223B65 +:10391000992091F0882D90E0A0E0B0E0409143190B +:1039200050914419609145197091461948175907EB +:103930006A077B0709F400CF77247394780C809191 +:103940000602882371F07A104CC08091D902882336 +:1039500069F1E0918609F0E0EE0FFF1FE45BF54BA3 +:103960000DC07A103EC08091D9028823F9F0E09111 +:103970008609F0E0EE0FFF1FE05BF54B6591749157 +:10398000872D90E0A0E0B0E02091431930914419D8 +:103990004091451950914619281739074A075B0786 +:1039A000E9F020E240E28B2D0F94223B9920C9F0F0 +:1039B000872D90E0A0E0B0E0409143195091441968 +:1039C0006091451970914619481759076A077B0796 +:1039D00041F40F94B23C0F944A42D7C320E24EE325 +:1039E000E2CF8394839480910702882371F08A1038 +:1039F0004BC08091D902882369F1E0918609F0E0FB +:103A0000EE0FFF1FE656F54B0DC08A103DC08091AA +:103A1000D9028823F9F0E0918609F0E0EE0FFF1F4C +:103A2000E256F54B65917491882D90E0A0E0B0E0EE +:103A30004090431950904419609045197090461970 +:103A400020E2481659066A067B06E1F040E28B2D1B +:103A50000F94223B9920C1F0882D90E0A0E0B0E0C7 +:103A6000409143195091441960914519709146193C +:103A7000481759076A077B0739F40F94B23C0F9433 +:103A80005C3D83C34EE3E3CF83948091D2198111CF +:103A90000EC08A104BC08091D902882369F1E09151 +:103AA0008609F0E0EE0FFF1FE859F74B0DC08A10B2 +:103AB0003DC08091D9028823F9F0E0918609F0E0B9 +:103AC000EE0FFF1FEC59F74B65917491882D90E034 +:103AD000A0E0B0E04090431950904419609045191F +:103AE0007090461920E2481659066A067B06E1F0F6 +:103AF00040E28B2D0F94223B9920C1F0882D90E05D +:103B0000A0E0B0E0409143195091441960914519EB +:103B100070914619481759076A077B0739F40F94C3 +:103B2000B23C0F944C4431C34EE3E3CF8394809175 +:103B3000D219811153C08091E40281110EC08A1004 +:103B400086C08091D902882369F1E0918609F0E06E +:103B5000EE0FFF1FEA51F54B0DC08A1078C080911F +:103B6000D9028823F9F0E0918609F0E0EE0FFF1FFB +:103B7000EE51F54B65917491882D90E0A0E0B0E096 +:103B8000409043195090441960904519709046191F +:103B900020E2481659066A067B06F1F040E28B2DBA +:103BA0000F94223B992009F452C0882D90E0A0E0A8 +:103BB000B0E04091431950914419609145197091BA +:103BC0004619481759076A077B0709F040C00F9448 +:103BD000B23C0F947343D9C24EE3E1CF8A1037C091 +:103BE0008091D9028823D9F0F80165917491882DCC +:103BF00090E0A0E0B0E040904319509044196090EC +:103C00004519709046192EE7481659066A067B0634 +:103C100011F44EE301C040E28B2D0F94223B99201A +:103C2000B1F0882D90E0A0E0B0E0409143195091B0 +:103C300044196091451970914619481759076A0748 +:103C40007B0729F40F94B23C82E991E021C283946E +:103C50008091B30981110EC08A104BC08091D902A6 +:103C6000882369F1E0918609F0E0EE0FFF1FEE5E18 +:103C7000F74B0DC08A103DC08091D9028823F9F01E +:103C8000E0918609F0E0EE0FFF1FE25FF74B6591D0 +:103C90007491882D90E0A0E0B0E0409043195090DE +:103CA0004419609045197090461920E2481659064B +:103CB0006A067B06E1F040E28B2D0F94223B9920AF +:103CC000C1F0882D90E0A0E0B0E040914319509100 +:103CD00044196091451970914619481759076A07A8 +:103CE0007B0739F40F94B23C0F9460424EC24EE30E +:103CF000E3CF83948091590881110EC08A104BC084 +:103D00008091D902882369F1E0918609F0E0EE0FF5 +:103D1000FF1FEC50F74B0DC08A103DC08091D902B7 +:103D20008823F9F0E0918609F0E0EE0FFF1FE051E3 +:103D3000F74B65917491882D90E0A0E0B0E0409041 +:103D4000431950904419609045197090461920E22B +:103D5000481659066A067B06E1F040E28B2D0F9467 +:103D6000223B9920C1F0882D90E0A0E0B0E0409186 +:103D7000431950914419609145197091461948179B +:103D800059076A077B0739F40F94B23C0F944F43ED +:103D9000FCC14EE3E3CF83948091CC19811144C0E0 +:103DA0008091B409811140C08A103DC08091D90230 +:103DB000882309F1E0918609F0E0EE0FFF1FE85833 +:103DC000F44B65917491882D90E0A0E0B0E04090B4 +:103DD00043195090441960904519709046192EE788 +:103DE000481659066A067B0611F44EE301C040E20C +:103DF0008B2D0F94223B9920B1F0882D90E0A0E00C +:103E0000B0E0409143195091441960914519709167 +:103E10004619481759076A077B0729F40F94B23CE3 +:103E200084E991E035C183948A103DC08091D90224 +:103E3000882309F1E0918609F0E0EE0FFF1FE25FB1 +:103E4000F54B65917491882D90E0A0E0B0E0409032 +:103E500043195090441960904519709046192EE707 +:103E6000481659066A067B0611F44EE301C040E28B +:103E70008B2D0F94223B9920B1F0882D90E0A0E08B +:103E8000B0E04091431950914419609145197091E7 +:103E90004619481759076A077B0729F40F94B23C63 +:103EA0008CE791E0F5C077247394780C8091F90B3E +:103EB000882341F07A1040C08091D902882309F10B +:103EC000F60107C07A1038C08091D9028823C9F062 +:103ED000F70165917491872D90E0A0E0B0E020910A +:103EE00043193091441940914519509146192817AA +:103EF00039074A075B07E9F020E240E28B2D0F9477 +:103F0000223B9920C9F0872D90E0A0E0B0E04091DD +:103F100043195091441960914519709146194817F9 +:103F200059076A077B0741F40F94B23C0F94233C76 +:103F30002CC120E24EE3E2CF839483948091CB198D +:103F400081116AC041E0BE016F5F7F4F89E09FE051 +:103F50000F94D44829818091431990914419A091DC +:103F60004519B0914619222319F0213079F043C048 +:103F70008A1051C02091D902222329F1E0918609AB +:103F8000F0E0EE0FFF1FE25BF74B0DC08A1043C05D +:103F90002091D9022223B9F0E0918609F0E0EE0FDA +:103FA000FF1FEA5AF74B65917491482C512C612CF4 +:103FB000712C20E284159505A605B70551F140E264 +:103FC0008B2D0F94223B992031F1882D90E0A0E0B9 +:103FD000B0E0409143195091441960914519709196 +:103FE0004619481759076A077B07A9F40F94B23C92 +:103FF0000F94F648CAC08A100EC02091D90222231D +:1040000011F3E0918609F0E0EE0FFF1FEE5AF74B37 +:10401000CACF4EE3D5CF83948091CB19882309F47E +:1040200077C08A1038C08091D9028823D1F0882DBA +:1040300090E0A0E0B0E040914319509144196091A4 +:104040004519709146192EE7481759076A077B07EB +:1040500011F44EE301C040E262EC7FE58B2D0F943A +:10406000223B9920C1F0882D90E0A0E0B0E0409183 +:104070004319509144196091451970914619481798 +:1040800059076A077B0739F40F94B23C88EE91E038 +:104090000F94D43E7AC077247394780C7A1036C08B +:1040A0008091D9028823D1F04A2D50E060E070E081 +:1040B0008091431990914419A0914519B0914619E6 +:1040C00020E284179507A607B70711F44EE301C055 +:1040D00040E260EB7FE58B2D0F94223B9920B1F0FD +:1040E000872D90E0A0E0B0E0409143195091441931 +:1040F0006091451970914619481759076A077B075F +:1041000029F40F94B23C0F945C8F3FC08394839446 +:10411000882D90E0A0E0B0E04091431950914419FF +:104120006091451970914619481759076A077B072E +:1041300078F0882D90E00197AA2797FDA095BA2FD7 +:104140008093431990934419A0934519B09346194D +:10415000409143198091481990E00396242F30E054 +:104160008217930764F48DEF840F8093481981E0E0 +:104170008093D902BCEFAB2EA40EBB24BA94B394A7 +:10418000A39483E08B1508F09FC90F90DF91CF9126 +:104190001F910F91FF90EF90DF90CF90BF90AF9065 +:1041A0009F908F907F906F905F904F903F90089579 +:1041B000CF93DF9320E030E04EE353E46091B418F6 +:1041C0007091B5188091B6189091B7180F94EBC004 +:1041D00018165CF580910602882389F080916A02A6 +:1041E000882369F0E0918609F0E0EE0FFF1FE857A1 +:1041F000F44B85919491DF91CF910D949C9581E042 +:1042000080937A098093790961E089E69BE50E94B1 +:1042100069C4C6EAD7E08991882319F00F94A443B2 +:10422000FACF8AE00F94A4432CC00F943D4840E09D +:1042300060E08AE499E10E945A3CE0918609F0E04E +:10424000EE0FFF1FE854F54B859194910F946D5B31 +:1042500042E060E08AE499E10E945A3CE0918609DC +:10426000F0E0EE0FFF1FE45AF64B859194910F9406 +:104270006D5B60ED77E080E090E00F9440B60F94C6 +:104280003D48DF91CF910D9484424F925F926F929F +:104290007F92AF92BF92CF92DF92EF92FF920F93F5 +:1042A0001F93CF93DF931092D3198091431990916C +:1042B0004419A0914519B091461981309048A10543 +:1042C000B10540F01092431910924419109245190B +:1042D000109246198091431990914419A091451963 +:1042E000B09146194091481950E060E070E08417A1 +:1042F0009507A607B70710F480934819D09148197D +:104300001091491912FB112710F9C0E0AA24A394B7 +:10431000D11142C08091D9028823E1F0E091860951 +:10432000F0E0EE0FFF1FEC51F84B65917491809116 +:10433000431990914419A0914519B091461923E071 +:10434000892B8A2B8B2B11F443E001C040E28C2F88 +:104350000F94223B112301F180914319909144194C +:10436000A0914519B0914619892B8A2B8B2BA1F46A +:104370000F94B23C8EE991E0DF91CF911F910F91A4 +:10438000FF90EF90DF90CF90BF90AF907F906F90B5 +:104390005F904F900D94723D8091C20981110BC0C6 +:1043A0008091B509811107C08091CF199091D019E2 +:1043B000089709F04FC020E030E040E050E4609101 +:1043C0003E0970913F0980914009909141090F94F5 +:1043D000E8BE87FF3FC08091B40981113BC0809146 +:1043E0008809811137C0D13011F002E034C08091CA +:1043F000D9028823E1F0E0918609F0E0EE0FFF1F7B +:10440000E858F44B65917491809143199091441947 +:10441000A0914519B09146192EE70197A105B10564 +:1044200011F44EE301C040E28C2F0F94223B112384 +:10443000E1F28091431990914419A0914519B091EE +:1044400046190197A105B10581F60F94B23C84E9A4 +:1044500091E03EC001E080911E1290911D12891BD7 +:104460008F70409143195091441960914519709192 +:10447000461981110FC08091C20981110BC0809132 +:10448000B509811107C08091CF199091D019089773 +:1044900009F049C00D134FC08091D902811128C085 +:1044A000112309F448C0802F90E0A0E0B0E04091D3 +:1044B0004319509144196091451970914619481754 +:1044C00059076A077B07B9F50F94B23C82E491E083 +:1044D000DF91CF911F910F91FF90EF90DF90CF90E0 +:1044E000BF90AF907F906F905F904F900D94D43EAF +:1044F000E0918609F0E0EE0FFF1FEC5FF74B85912E +:104500009491C02ED12CE12CF12C2EE74C155D0599 +:104510006E057F0511F44EE301C040E2BC018C2F13 +:104520000F94223BBDCF0D1306C08091D90281119B +:10453000E8C3111101C40F5F8091C3094091431971 +:10454000509144196091451970914619811107C025 +:104550008091CF199091D019089709F009C18091E5 +:104560001F0C882309F4DFC080918809811139C1AB +:104570008091B409811135C18091C209882309F461 +:1045800047C00D138AC08091D9028823D1F0E091F1 +:104590008609F0E0EE0FFF1FE857F64B85919491E6 +:1045A000C02ED12CE12CF12C20E24C155D056E05BE +:1045B0007F0511F44EE301C040E2BC018C2F0F9443 +:1045C000223B112309F469C0802F90E0A0E0B0E005 +:1045D00040914319509144196091451970914619C1 +:1045E000481759076A077B0709F057C00F94B23C78 +:1045F000DF91CF911F910F91FF90EF90DF90CF90BF +:10460000BF90AF907F906F905F904F900D949042CD +:104610000D1343C08091D9028823D1F0E09186091F +:10462000F0E0EE0FFF1FEC5DF64B85919491C02EEC +:10463000D12CE12CF12C20E24C155D056E057F0597 +:1046400011F44EE301C040E2BC018C2F0F94223BD9 +:10465000112319F1802F90E0A0E0B0E040914319C0 +:10466000509144196091451970914619481759079E +:104670006A077B0791F40F94B23CDF91CF911F91B1 +:104680000F91FF90EF90DF90CF90BF90AF907F9011 +:104690006F905F904F900D94C042BB24B394B00EC6 +:1046A000BD123EC08091D902882311F1E0918609A4 +:1046B000F0E0EE0FFF1FEA5DF74B859194914B2DD3 +:1046C00050E060E070E0C0904319D0904419E09051 +:1046D0004519F09046192EE7C416D506E606F706EA +:1046E00011F44EE301C040E2BC018C2F0F94223B39 +:1046F0001123B1F04B2D50E060E070E0C090431901 +:10470000D0904419E0904519F0904619C416D5068A +:10471000E606F70629F40F94B23C80ED91E0D8CE7E +:1047200001E00B0D5EC08091CF199091D0198830B7 +:10473000910549F420918809211105C02091B409FF +:10474000222309F44EC02091B50921114AC00897CF +:1047500009F447C00D1344C08091D902882331F178 +:10476000E0918609F0E0EE0FFF1FE85FF44B0DC00B +:104770000D1336C08091D9028823C1F0E0918609DB +:10478000F0E0EE0FFF1FEA56F64B85919491C02E94 +:10479000D12CE12CF12C2EE74C155D056E057F0523 +:1047A000E9F040E2BC018C2F0F94223B1123C1F0B1 +:1047B000802F90E0A0E0B0E040914319509144195F +:1047C0006091451970914619481759076A077B0788 +:1047D00039F40F94B23C88EC91E07ACE4EE3E2CF0C +:1047E0000F5F8091C2094091431950914419609123 +:1047F00045197091461981110AC08091B50981113E +:1048000006C08091CF199091D0190897B9F5809181 +:10481000CB19882309F465C10D132EC08091D902EC +:10482000882391F0802F90E0A0E0B0E02EE74817B9 +:1048300059076A077B0711F44EE301C040E26EE6B8 +:1048400072E68C2F0F94223B1123B1F0802F90E061 +:10485000A0E0B0E04091431950914419609145198E +:1048600070914619481759076A077B0729F40F9476 +:10487000B23C88EE91E02CCE0F5F33C180910602EE +:10488000882391F080916A02882371F00D1350C043 +:104890008091D902882331F1E0918609F0E0EE0F92 +:1048A000FF1FE058F44B0DC00D1342C08091D90298 +:1048B0008823C1F0E0918609F0E0EE0FFF1FE2507F +:1048C000F64B85919491C02ED12CE12CF12C20E255 +:1048D0004C155D056E057F0549F140E2BC018C2F4A +:1048E0000F94223B112321F1802F90E0A0E0B0E053 +:1048F000409143195091441960914519709146199E +:10490000481759076A077B0799F40F94B23CDF9167 +:10491000CF911F910F91FF90EF90DF90CF90BF90BC +:10492000AF907F906F905F904F9042CC4EE3D6CF88 +:10493000FF24F394F00EFD124AC08091D90288231F +:1049400009F1E0918609F0E0EE0FFF1FE650F84B09 +:10495000659174918F2D90E0A0E0B0E040904319F4 +:1049600050904419609045197090461920E24816FD +:1049700059066A067B0611F44EE301C040E28C2F13 +:104980000F94223B112319F18F2D90E0A0E0B0E0AD +:1049900040914319509144196091451970914619FD +:1049A000481759076A077B0791F40F94B23CDF91CF +:1049B000CF911F910F91FF90EF90DF90CF90BF901C +:1049C000AF907F906F905F904F900D94A265EE2412 +:1049D000E394EF0CED123EC08091D902882311F1CF +:1049E000E0918609F0E0EE0FFF1FE858F74BA59124 +:1049F000B4914E2D50E060E070E04090431950902B +:104A0000441960904519709046192EE744165506D2 +:104A10006606770611F44EE301C040E2BD018C2F1B +:104A20000F94223B1123B1F08E2D90E0A0E0B0E076 +:104A3000409143195091441960914519709146195C +:104A4000481759076A077B0729F40F94B23C88E29C +:104A500091E03ECD02E00F0D8091CC19811141C053 +:104A60000D133DC08091D902882309F1E091860998 +:104A7000F0E0EE0FFF1FE253F64B65917491802F2B +:104A800090E0A0E0B0E0409043195090441960904D +:104A90004519709046192EE7481659066A067B0696 +:104AA00011F44EE301C040E28C2F0F94223B1123FE +:104AB000B1F0802F90E0A0E0B0E040914319509118 +:104AC00044196091451970914619481759076A07AA +:104AD0007B0729F40F94B23C82EF91E0F9CC03E01C +:104AE0000F0D8091B509811147C08091CF19909128 +:104AF000D019089709F440C00D133DC08091D90228 +:104B0000882309F1E0918609F0E0EE0FFF1FEE5BCC +:104B1000F74B65917491802F90E0A0E0B0E0C090D9 +:104B20004319D0904419E0904519F09046192EE7AA +:104B3000C816D906EA06FB0611F44EE301C040E2AE +:104B40008C2F0F94223B1123B1F0802F90E0A0E036 +:104B5000B0E040914319509144196091451970910A +:104B60004619481759076A077B0729F40F94B23C86 +:104B70008EE791E0ADCC0F5F0D1336C08091D90266 +:104B80008823D1F0802F90E0A0E0B0E0409143195D +:104B90005091441960914519709146192EE74817B4 +:104BA00059076A077B0711F44EE301C040E263E650 +:104BB00072E68C2F0F94223B1123B1F0802F90E0EE +:104BC000A0E0B0E04091431950914419609145191B +:104BD00070914619481759076A077B0729F40F9403 +:104BE000B23C8CE991E074CC77247394700E7D1202 +:104BF0003DC08091D902882309F1E0918609F0E057 +:104C0000EE0FFF1FEE5DF74B65917491872D90E0DD +:104C1000A0E0B0E0C0904319D0904419E09045194D +:104C2000F09046192EE7C816D906EA06FB0611F4DD +:104C30004EE301C040E28C2F0F94223B1123B1F0D0 +:104C4000472D50E060E070E0C0904319D0904419C7 +:104C5000E0904519F0904619C416D506E606F70609 +:104C600029F40F94B23C8AE391E032CC52E0B52EA5 +:104C7000B00E8B2D90E0A0E0B0E040914319509130 +:104C800044196091451970914619481759076A07E8 +:104C90007B0778F08B2D90E00197AA2797FDA095D0 +:104CA000BA2F8093431990934419A0934519B09358 +:104CB0004619409143198091481990E00396242F9A +:104CC00030E0821793074CF48DEF840F80934819DE +:104CD000A092D902DCEFD40FCFEFCF5FDF5FC430FB +:104CE00008F416CBDF91CF911F910F91FF90EF90B9 +:104CF000DF90CF90BF90AF907F906F905F904F907C +:104D00000895E0918609F0E0EE0FFF1FE05AF64BA0 +:104D100085919491C02ED12CE12CF12C2EE74C15CD +:104D20005D056E057F0511F44EE301C040E2BC0154 +:104D30008C2F0F94223BFDCB402F50E060E070E0C1 +:104D4000C0904319D0904419E0904519F09046194D +:104D5000C416D506E606F70609F0EDCB0F94B23C73 +:104D60008EED91E0B5CBCF93DF93EC01E091860916 +:104D7000CF3F8FEFD80731F4F0E0EE0FFF1FEC5C70 +:104D8000F44B4DC0CE3F8FEFD80779F4F0E0EE0F33 +:104D9000FF1F662381F1623011F0673019F4EC5B7C +:104DA000F44B3DC0E05CF44B3AC061110EC0E091A1 +:104DB0008609C130D10541F1C230D10559F1CD2B61 +:104DC000E9F0F0E0EE0FFF1F16C0F0E0EE0FFF1F5E +:104DD000623011F0673019F4E85DF44B02C0EC5D0D +:104DE000F44B859194910F949C951C161D06FCF232 +:104DF000DF91CF910895E45CF44B11C0F0E0EE0F29 +:104E0000FF1FE85CF44B0BC0F0E0EE0FFF1FE45D0A +:104E1000F44B05C0F0E0EE0FFF1FE05DF44B859111 +:104E20009491DF91CF910D949C9587EF9FE00F9423 +:104E300023CB8F3F49F46FEF87EF9FE00F9435CB83 +:104E400080E090E00D945D70E0918609F0E0EE0F57 +:104E5000FF1FEC54F84B8591949140E060E00F9473 +:104E6000E5898111E8CF0F94844281E00F94CD87CA +:104E700082E00D94FF846F927F928F929F92BF92F7 +:104E8000DF92EF92FF920F931F93CF93DF93809166 +:104E9000431990914419A0914519B0914619813058 +:104EA0009048A105B10540F01092431910924419A1 +:104EB0001092451910924619809143199091441906 +:104EC000A0914519B09146194091481950E060E011 +:104ED00070E084179507A607B70710F48093481968 +:104EE000C0914819B0904919B2FABB24B0F8D12C3E +:104EF000D1E044EC842E49E4942E5EEE652E58E415 +:104F0000752E0EE71BE460EEE62E67E4F62EC11167 +:104F100040C08091D9028823E1F0E0918609F0E059 +:104F2000EE0FFF1FEE51F64B65917491809143197E +:104F300090914419A0914519B091461923E0892B0D +:104F40008A2B8B2B11F443E001C040E28D2D0F948E +:104F5000223BBB20F1F08091431990914419A0911C +:104F60004519B0914619892B8A2B8B2B91F40F94FC +:104F7000B23C82E691E0DF91CF911F910F91FF90BB +:104F8000EF90DF90BF909F908F907F906F900D94E7 +:104F9000723D8091CC19811177C240914319509193 +:104FA00044196091451970914619C13099F5809165 +:104FB000D902882381F0F7018591949120E2413054 +:104FC00051056105710511F44EE301C040E2BC01D9 +:104FD0008D2D0F94223BBB2009F4C5C1809143194C +:104FE00090914419A0914519B09146190197A105D6 +:104FF000B10509F0B8C10F94B23CDF91CF911F9178 +:105000000F91FF90EF90DF90BF909F908F907F90D7 +:105010006F900BCFC23079F58091D9028823B1F01F +:10502000E0918609F0E0EE0FFF1FE451F84B859107 +:1050300094912EE7423051056105710511F44EE35C +:1050400001C040E2BC018D2D0F94223BBB2009F42E +:105050008AC18091431990914419A0914519B0914A +:1050600046190297A105B10509F07DC10F94B23C24 +:1050700088E791E0FBC1C33051F58091D9028823C4 +:1050800081F0F8018591949120E24330510561054A +:10509000710511F44EE301C040E2BC018D2D0F9467 +:1050A000223BBB2009F45FC18091431990914419C0 +:1050B000A0914519B09146190397A105B10509F0D2 +:1050C00052C10F94B23C61E086E490E690C1C430D6 +:1050D000A1F58091D902882381F0F3018591949103 +:1050E00020E2443051056105710511F44EE301C021 +:1050F00040E2BC018D2D0F94223BBB2009F433C14B +:105100008091431990914419A0914519B091461985 +:105110000497A105B10509F026C10F94B23CDF91B7 +:10512000CF911F910F91FF90EF90DF90BF909F90D4 +:105130008F907F906F900D947F8CC530D1F58091CA +:10514000D9028823B1F0E0918609F0E0EE0FFF1F4D +:10515000E45EF44B8591949120E245305105610560 +:10516000710511F44EE301C040E2BC018D2D0F9496 +:10517000223BBB2009F4F7C0809143199091441958 +:10518000A0914519B09146190597A105B10509F0FF +:10519000EAC00F94B23CDF91CF911F910F91FF9025 +:1051A000EF90DF90BF909F908F907F906F900D94C5 +:1051B000A142C63079F58091D9028823B1F0E091FF +:1051C0008609F0E0EE0FFF1FE85CF54B85919491A6 +:1051D0002EE7463051056105710511F44EE301C01B +:1051E00040E2BC018D2D0F94223BBB2009F4BBC0D3 +:1051F0008091431990914419A0914519B091461995 +:105200000697A105B10509F0AEC00F94B23C8CED34 +:1052100091E02CC1C73049F58091D902882381F0F3 +:10522000F401859194912EE7473051056105710590 +:1052300011F44EE301C040E2BC018D2D0F94223BDE +:10524000BB2009F490C08091431990914419A0911A +:105250004519B09146190797A105B10509F083C01A +:105260000F94B23C8EEB91E001C1C83079F580918A +:10527000D9028823B1F0E0918609F0E0EE0FFF1F1C +:10528000EA59F44B859194912EE748305105610518 +:10529000710511F44EE301C040E2BC018D2D0F9465 +:1052A000223BBB2009F45FC08091431990914419BF +:1052B000A0914519B09146190897A105B10509F0CB +:1052C00052C00F94B23C80EA91E0D0C0C93069F579 +:1052D0008091D9028823B1F0E0918609F0E0EE0FC9 +:1052E000FF1FEC57F64B859194912EE749305105FD +:1052F0006105710511F44EE301C040E2BC018D2D42 +:105300000F94223BBB2079F180914319909144196D +:10531000A0914519B09146190997A105B10519F554 +:105320000F94B23C8CE591E0A1C0CA3079F5809130 +:10533000D9028823B1F0E0918609F0E0EE0FFF1F5B +:10534000E459F74B859194912EE74A305105610558 +:10535000710511F44EE301C040E2BC018D2D0F94A4 +:10536000223BB11002C02DE090C080914319909172 +:105370004419A0914519B09146190A97A105B105A4 +:1053800091F70F94B23C84E791E070C0CB3009F004 +:105390003CC08091D9028823B1F0E0918609F0E009 +:1053A000EE0FFF1FE85EF44B8591949120E24B30A5 +:1053B00051056105710511F44EE301C040E2BC01E5 +:1053C0008D2D0F94223BBB2071F280914319909157 +:1053D0004419A0914519B09146190B97A105B10543 +:1053E00009F0C1CF0F94B23C61E082E490E6DF9116 +:1053F000CF911F910F91FF90EF90DF90BF909F9002 +:105400008F907F906F900C9469C4CC3009F0ABCF33 +:105410008091D9028823B1F0E0918609F0E0EE0F87 +:10542000FF1FE45FF44BA591B4912EE74C3051057A +:105430006105710511F44EE301C040E2BD018D2DFF +:105440000F94223BBB2009F48ECF80914319909199 +:105450004419A0914519B09146190C97A105B105C1 +:1054600009F081CF0F94B23C8AEC91E0DF91CF91AB +:105470001F910F91FF90EF90DF90BF909F908F90C2 +:105480007F906F900D94D43E21E0822F90E0A0E0B9 +:10549000B0E04091431950914419609145197091C1 +:1054A0004619481759076A077B0778F0822F90E062 +:1054B0000197AA2797FDA095BA2F8093431990933F +:1054C0004419A0934519B09346194091431980910E +:1054D000481990E00396242F30E08217930754F484 +:1054E0008DEF840F80934819D093D902CCEFC40F6D +:1054F000DD24DA94D394CF5F83E08D1508F007CDD7 +:10550000DF91CF911F910F91FF90EF90DF90BF90AF +:105510009F908F907F906F900895CF92DF92EF923F +:10552000FF921F93CF93DF930F9419480E94D7F9EE +:1055300080E69FE00F942BCB6B017C0180E00F9401 +:10554000CD870F943D48E0918609F0E0EE0FFF1FF4 +:10555000E857F84B859194910F946D5BE091860923 +:10556000F0E0EE0FFF1FE65FF54B4591549161E0CF +:1055700080E00F94166DE0918609F0E0EE0FFF1FBA +:10558000E85EF64B4591549162E080E00F94166D11 +:10559000CCE6D9E011E020E030E048E453E4688153 +:1055A00079818A819B810F94E8BE87FF21C048E6FC +:1055B0005BE5612F8BE00F94166D488159816A81FC +:1055C0007B8122E030E08AE499E10F9468BA20E020 +:1055D00030E0A901688179818A819B810F94E8BEBE +:1055E000881F8827881F45E65BE5612F805F04C020 +:1055F00041E65BE5612F8BE00F94166D24961F5FEB +:10560000133049F684EF91E00E94425C84E090E020 +:1056100090931802809317020F94244B811105C0B8 +:1056200084E690E00E94425CF7CF84EF91E00E9414 +:10563000425C0F943D48E0918609F0E0EE0FFF1FB9 +:10564000E252F64B859194910F946D5B20E030E02F +:1056500048EC52E4C701B6010F94E8BE87FF23C0AF +:1056600040E06FE08AE499E10E945A3C20E030E09B +:1056700044E353E4C701B6010F94BDC12BED3FE0F5 +:1056800049E450E40F94EFBEAB01BC0122E030E0EE +:105690008AE499E10F9468BA66E475E08AE499E1D6 +:1056A0000F94D0B806C04DE55BE560E080E10F9453 +:1056B000166D48E45BE561E080E00F94166DE091C3 +:1056C0008609F0E0EE0FFF1FE05AF74B4591549129 +:1056D00062E080E00F94166D47E45BE562E08FE0E6 +:1056E0000F94166D20E030E044E353E460916505CB +:1056F0007091660580916705909168050F94BDC112 +:105700002BED3FE049E450E40F94EFBEAB01BC0148 +:1057100022E030E08AE499E10F9468BA66E475E02B +:105720008AE499E10F94D0B8E0918609F0E0EE0F99 +:10573000FF1FE059F74B4591549163E080E00F94CF +:10574000166D46E45BE563E08FE00F94166D20E094 +:1057500030E044E353E4609161057091620580910B +:105760006305909164050F94BDC12BED3FE049E4C2 +:1057700050E40F94EFBEAB01BC0122E030E08AE4BC +:1057800099E10F9468BA66E475E08AE499E10F94B0 +:10579000D0B884EF91E00E94425C0F94244B8111B9 +:1057A00003C084E690E0F7CF81E090E09093180288 +:1057B0008093170284EF91E00E94425C0F9491471E +:1057C0000F94844281E00F94CD8782E0DF91CF91E6 +:1057D0001F91FF90EF90DF90CF900D94FF848F92F8 +:1057E0009F92AF92BF92CF92DF92EF92FF920F9370 +:1057F0001F93CF93DF938091D519882321F0909147 +:10580000D9029230B1F581E08093D5198091F90BDE +:10581000882339F067ED79E180EC99E00E94F5C2C8 +:1058200001C080E08093D6198823E9F18091DA19CC +:105830001F928F938091D9191F928F938091D819BD +:105840001F928F938091D7191F928F9387E592E6CD +:105850009F938F938BED99E19F938F930F94F7C84C +:105860008DB79EB70C960FB6F8949EBF0FBE8DBF36 +:105870001AC09091D6199923B1F09091D71991112E +:1058800012C09091D81991110EC09091D91991110F +:105890000AC09091DA19911106C08F5F8093D519D3 +:1058A000803109F4DEC48091431990914419A0918C +:1058B0004519B091461981309048A105B10540F0D5 +:1058C00010924319109244191092451910924619DA +:1058D0008091431990914419A0914519B0914619AE +:1058E0004091481950E060E070E084179507A607E2 +:1058F000B70710F48093481900914819F09049199E +:10590000F2FAFF24F0F810E0C6E2DAE4EE24E394C1 +:10591000409143195091441960914519709146196D +:1059200001113BC08091D9028823A9F0E09186093A +:10593000F0E0EE0FFF1FEE51F64B8591949123E0BE +:10594000452B462B472B11F443E001C040E2BC013C +:10595000812F0F94223BFF2009F41CC28091431930 +:1059600090914419A0914519B0914619892B8A2B21 +:105970008B2B09F00FC20F94B23C82E691E0DF91CD +:10598000CF911F910F91FF90EF90DF90CF90BF903C +:10599000AF909F908F900D94723D013019F58091DA +:1059A000D902882371F023E041305105610571056A +:1059B00011F443E001C040E26DE472E6812F0F94E0 +:1059C000223BFF2009F4E6C18091431990914419CC +:1059D000A0914519B09146190197A105B10509F0AB +:1059E000D9C1C9CF023019F58091D902882371F04D +:1059F00023E0423051056105710511F443E001C017 +:105A000040E26EE372E6812F0F94223BFF2009F4FF +:105A1000C1C18091431990914419A0914519B09149 +:105A200046190297A105B10509F0B4C1A4CF03300E +:105A300019F58091D902882371F023E04330510594 +:105A40006105710511F443E001C040E26CE272E6C9 +:105A5000812F0F94223BFF2009F49CC180914319B0 +:105A600090914419A0914519B09146190397A10549 +:105A7000B10509F08FC17FCF043059F58091D9026B +:105A80008823B1F0E0918609F0E0EE0FFF1FEE5B96 +:105A9000F64B8591949123E04430510561057105E1 +:105AA00011F443E001C040E2BC01812F0F94223B7E +:105AB000FF2009F46FC18091431990914419A0917E +:105AC0004519B09146190497A105B10509F062C1C5 +:105AD00052CF053059F58091D9028823B1F0E09179 +:105AE0008609F0E0EE0FFF1FE25CF64B8591949182 +:105AF00023E0453051056105710511F443E001C013 +:105B000040E2BC01812F0F94223BFF2009F442C1E7 +:105B10008091431990914419A0914519B09146196B +:105B20000597A105B10509F035C125CF063059F516 +:105B30008091D9028823B1F0E0918609F0E0EE0F60 +:105B4000FF1FE65CF64B8591949123E046305105AA +:105B50006105710511F443E001C040E2BC01812FF1 +:105B60000F94223BFF2009F415C1809143199091B5 +:105B70004419A0914519B09146190697A105B105A0 +:105B800009F008C1F8CE073019F58091D9028823B1 +:105B900071F023E0473051056105710511F443E0D0 +:105BA00001C040E26FE172E6812F0F94223BFF209B +:105BB00009F4F0C08091431990914419A0914519BE +:105BC000B09146190797A105B10509F0E3C0D3CEFE +:105BD000083019F58091D902882371F023E048300C +:105BE00051056105710511F443E001C040E264E133 +:105BF00072E6812F0F94223BFF2009F4CBC08091E5 +:105C0000431990914419A0914519B09146190897EC +:105C1000A105B10509F0BEC0AECE093019F58091DD +:105C2000D902882371F023E04930510561057105DF +:105C300011F443E001C040E26AE072E6812F0F9464 +:105C4000223BFF2009F4A6C080914319909144198A +:105C5000A0914519B09146190997A105B10509F020 +:105C600099C089CE0A3019F58091D902882371F044 +:105C700023E04A3051056105710511F443E001C08C +:105C800040E260E072E6812F0F94223BFF2009F48E +:105C900081C08091431990914419A0914519B09108 +:105CA00046190A97A105B10509F074C064CE0B30FE +:105CB00019F58091D902882371F023E04B3051050A +:105CC0006105710511F443E001C040E263EF71E644 +:105CD000812F0F94223BFF2009F45CC0809143196F +:105CE00090914419A0914519B09146190B97A105BF +:105CF000B10509F04FC03FCE0C3049F58091D90273 +:105D00008823B1F0E0918609F0E0EE0FFF1FE25327 +:105D1000F54B8591949123E04C3051056105710557 +:105D200011F443E001C040E2BC01812F0F94223BFB +:105D3000FF2081F18091431990914419A091451958 +:105D4000B09146190C97A105B10521F514CE0D307F +:105D500009F58091D902882371F023E04D30510577 +:105D60006105710511F443E001C040E267EE71E6A0 +:105D7000812F0F94223BFF2069F08091431990916D +:105D80004419A0914519B09146190D97A105B10587 +:105D900009F4F1CD8091D619882309F474C040919B +:105DA00043195091441960914519709146190E306C +:105DB00021F58091D902882371F023E04E305105FE +:105DC0006105710511F443E001C040E26AED71E63E +:105DD000812F0F94223BF11003C0F1E1CF2E55C06B +:105DE0008091431990914419A0914519B091461999 +:105DF0000E97A105B10589F7BECD0F3019F5809139 +:105E0000D902882371F023E04F30510561057105F7 +:105E100011F443E001C040E268EC71E6812F0F9479 +:105E2000223BFF2009F465C08091431990914419E9 +:105E3000A0914519B09146190F97A105B10509F038 +:105E400058C099CD003149F68091D902882359F084 +:105E5000403151056105710511F463E001C060E254 +:105E6000812F0F948944FF2009F443C08091431986 +:105E700090914419A0914519B09146194097A105F8 +:105E8000B105B9F578CDEEE0CE2EC01234C08091C8 +:105E9000D9028823D1F08C2D90E0A0E0B0E04091B1 +:105EA000431950914419609145197091461923E0A6 +:105EB000481759076A077B0711F443E001C040E225 +:105EC0006BEB71E6812F0F94223BFF20A1F08C2D0C +:105ED00090E0A0E0B0E040914319509144196091E6 +:105EE000451970914619481759076A077B0719F435 +:105EF00042CD71E1C72EDD24D394DC0C8091C20920 +:105F0000811157C08091B509811153C08091CF197B +:105F10009091D019089709F44CC0D01247C08091D5 +:105F2000D902882309F1E0918609F0E0EE0FFF1F06 +:105F3000EC56F84B659174918D2D90E0A0E0B0E0A7 +:105F40008090431990904419A0904519B09046193B +:105F500020E288169906AA06BB0611F44EE301C09A +:105F600040E2812F0F94223BFF2001F14D2D50E0A4 +:105F700060E070E08091431990914419A091451917 +:105F8000B091461984179507A607B70779F40F94BF +:105F9000B23CDF91CF911F910F91FF90EF90DF9076 +:105FA000CF90BF90AF909F908F90B7CA52E0D52E00 +:105FB000DC0CD01237C08091D9028823D9F0FE01C1 +:105FC000659174918D2D90E0A0E0B0E08090431930 +:105FD00090904419A0904519B09046192EE7881664 +:105FE0009906AA06BB0611F44EE301C040E2812FD8 +:105FF0000F94223BFF20B1F08D2D90E0A0E0B0E0A7 +:106000004091431950914419609145197091461976 +:10601000481759076A077B0729F40F94B23C84EEAE +:1060200091E0C8C0CC24C394CD0CC0123EC0809176 +:10603000D902882311F1E0918609F0E0EE0FFF1FED +:10604000EE52F64BA591B4914C2D50E060E070E01B +:106050008090431990904419A0904519B09046192A +:106060002EE784169506A606B70611F44EE301C086 +:1060700040E2BD01812F0F94223BFF20B1F08C2D17 +:1060800090E0A0E0B0E04091431950914419609134 +:10609000451970914619481759076A077B0729F473 +:1060A0000F94B23C80EF91E085C032E0C32ECD0C5E +:1060B000C0123EC08091D902882311F1E091860977 +:1060C000F0E0EE0FFF1FE653F64BA591B4914C2D77 +:1060D00050E060E070E08090431990904419A090E7 +:1060E0004519B09046192EE784169506A606B70600 +:1060F00011F44EE301C040E2BD01812F0F94223B19 +:10610000FF20B1F08C2D90E0A0E0B0E04091431969 +:1061100050914419609145197091461948175907D3 +:106120006A077B0729F40F94B23C84EB91E042C0EC +:1061300093E0C92ECD0CC0124BC08091D9028823A8 +:1061400011F1E0918609F0E0EE0FFF1FEA53F64BE4 +:10615000A591B4914C2D50E060E070E0809043191F +:1061600090904419A0904519B09046192EE78416D6 +:106170009506A606B70611F44EE301C040E2BD0144 +:10618000812F0F94223BFF2019F18C2D90E0A0E08D +:10619000B0E08090431990904419A0904519B090B8 +:1061A000461988169906AA06BB0691F40F94B23CCC +:1061B00088E691E0DF91CF911F910F91FF90EF90D2 +:1061C000DF90CF90BF90AF909F908F900D94D43E72 +:1061D00024E02D0D422F50E060E070E080914319E3 +:1061E00090914419A0914519B091461984179507CB +:1061F000A607B70780F0422F50E0415051096627AB +:1062000057FD6095762F409343195093441960933E +:10621000451970934619409143198091481990E0AF +:106220000396242F30E0821793074CF48DEF840FF0 +:1062300080934819E092D9020CEF040F1FEF1F5F03 +:106240000F5F143008F464CBDF91CF911F910F9151 +:10625000FF90EF90DF90CF90BF90AF909F908F9086 +:1062600008951092D5191FCBBF92CF92DF92EF9273 +:10627000FF920F931F93CF93DF93E090F219FF24C7 +:10628000E7FCF0940F943D48E0918609F0E0EE0FB2 +:10629000FF1FE450F54B859194910F946D5B41E0A5 +:1062A00060E08AE499E10E945A3C66EF75E08AE476 +:1062B00099E176D711E0C4EADAE464EAC62E6AE42A +:1062C000D62EFE0145915491612F81E00F94166DF9 +:1062D0001F5F143091F784E090E090931802809350 +:1062E0001702BB24B394C0E0D0E001E010E0F60157 +:1062F000859194910F941CC762E0680F402F8AE447 +:1063000099E10E945A3CB8016C0F7D1F4AE050E0B1 +:106310008AE499E1ECD70F5F1F4F0430110539F77C +:106320000F941B2981E00E94A85D6091F2197727E4 +:1063300067FD70959701261B370B37FF03C031951A +:1063400021953109253031050CF47CC06E157F058F +:106350000CF4BA94E616F7060CF4B39483E08B15AC +:10636000E4F4209709F098C00F943D48E091860925 +:10637000F0E0EE0FFF1FE450F54B859194910F94E0 +:106380006D5BC1E0F601459154916C2F81E00F9453 +:10639000166DCF5FC430B1F77DC01B14ECF02097B1 +:1063A000C9F021970F943D48E0918609F0E0EE0F87 +:1063B000FF1FE450F54B859194910F946D5B11E0B4 +:1063C000F60145915491612F81E00F94166D1F5F86 +:1063D0001430B1F7BB24B39441E060E08AE499E162 +:1063E0000E945A3C62E177E08AE499E1D9D642E022 +:1063F00060E08AE499E10E945A3C62E177E08AE435 +:1064000099E1CED643E060E08AE499E10E945A3CEB +:1064100062E177E08AE499E1C3D64B2D60E08AE43B +:1064200099E10E945A3C66EF75E08AE499E1B8D69A +:10643000E090F219FF24E7FCF09464E670E080E05D +:1064400090E01ED40F94244B882309F44ECF82E0B1 +:106450000F94FF840F94244B8111FCCF6AE070E00D +:1064600080E090E00DD40F94244B8111FCCF82E0AA +:1064700090E090931802809317028C2F8B0D81501F +:10648000DF91CF911F910F91FF90EF90DF90CF9010 +:10649000BF900895C1E0D0E033E0B32E9DCF682FC8 +:1064A0008AE499E10C941C3F87E992E60895982FBD +:1064B0009F7D51F0893041F08A3031F091E08D308C +:1064C00009F090E0892F089581E008955F926F921E +:1064D0007F928F929F92AF92BF92CF92DF92EF9274 +:1064E000FF920F931F93CF93DF9300D01F92CDB7EE +:1064F000DEB7582E8B01682E792E4301F30181916E +:106500003F0120ED280F2A30C0F38E3211F0712C9C +:10651000C6C06F015601F60181916F0120ED280F71 +:106520002A30C0F38E3299F79F017901F901408139 +:106530002F5F3F4F80ED840F8A30B8F3842F4B8359 +:106540009C83B5DF4B819C81811102C04D32F9F6ED +:106550001A8219824AE050E0BE016F5F7F4F852D9D +:106560000F94C0C5F8017183608389819A81881571 +:10657000990569F64AE050E0BE016F5F7F4FC301A5 +:106580000F94C0C5F8017383628389819A818A154B +:106590009B0509F0BCCF4AE050E0BE016F5F7F4F22 +:1065A000C6010F94C0C5F80175836483A980BA80C1 +:1065B000AE14BF0409F0ABCF8FE790E097838683DA +:1065C0006701FFEFCF1ADF0AF70180818D3201F5F5 +:1065D00046017401FFEF8F1A9F0AF701808167DF80 +:1065E000782E8823B1F3EC18FD089E2C97013327F1 +:1065F0002330310581F443E050E069E872E6C601DA +:106600000F943DC7892B41F5F8011782168247C0C8 +:106610007724739444C02530310561F445E050E09F +:1066200063E872E6C6010F943DC7892BA9F481E0A7 +:1066300090E00EC02430310579F444E050E06EE77C +:1066400072E6C6010F943DC7892B31F482E090E0D9 +:10665000F8019783868323C08EEF8E0D823008F079 +:1066600056CFF5018181823709F051CF828183367F +:1066700009F04DCFF2E09F1203C083E090E0E8CF35 +:10668000F501238180ED820F8A3008F040CF332757 +:1066900027FD30952E523109F80137832683872D47 +:1066A0000F900F900F900F90DF91CF911F910F914E +:1066B000FF90EF90DF90CF90BF90AF909F908F9022 +:1066C0007F906F905F9008954423B9F0FC0124916E +:1066D000FB013491231778F0FC012491FB013491E4 +:1066E000321748F0FC012491222339F041500196E1 +:1066F0006F5F7F4FE9CF81E0089580E008956F924A +:106700007F928F929F92AF92BF92CF92DF92EF9241 +:10671000FF920F931F93CF93DF93CDB7DEB72797E9 +:106720000FB6F894DEBF0FBECDBF4C018B01FC014C +:10673000849180538A3010F43196FACF84918E324E +:1067400009F0F7C05F018FEFA81AB80AF50184912C +:1067500080538A3010F43196FACF84918E3209F04A +:10676000E8C06F018FEFC81AD80A7601F70184914B +:1067700080538A3020F4EFEFEE1AFE0AF7CFF701CC +:10678000849195DE811105C0F70184918D3209F065 +:10679000D0C03501681879088FEF860D853008F074 +:1067A000C8C0682E712CA301B401CE0101960F94CC +:1067B00001C7E1E0F0E0EC0FFD1FE60DF71D1082D0 +:1067C0001F821E824AE050E0BE016A5F7F4FCE0109 +:1067D00001960F94C0C5F80171836083EE81FF813B +:1067E00080818111A6C046018A189B088FEF880D11 +:1067F000853008F09EC0882E912CA401B501CE01F1 +:1068000001960F9401C7E1E0F0E0EC0FFD1FE80DE9 +:10681000F91D10824AE050E0BE016A5F7F4FCE0151 +:1068200001960F94C0C5F80173836283EE81FF81E6 +:10683000808181117EC0C7018C199D09853008F0C7 +:1068400078C05C01BB24A501B601CE0101960F946E +:1068500001C7E1E0F0E0EC0FFD1FEA0DFB1D108227 +:106860004AE050E0BE016A5F7F4FCE0101960F946F +:10687000C0C5F80175836483EE81FF818081811139 +:1068800058C08FE790E0F80197838683F7018491E1 +:106890008D3289F56701FFEFCF1ADF0A5601F50146 +:1068A000849105DE982E811104C08FEFA81AB80AD2 +:1068B000F6CFAC18BD088A2C95013327233031055B +:1068C00041F44A2D69E872E6C601FEDE811107C077 +:1068D00015C025303105B1F024303105E9F08EEFD7 +:1068E0008A0D823030F542E06BE772E6C601ECDEDD +:1068F00081111FC020C09924939431C0F8011782E0 +:1069000016822DC04A2D63E872E6C601DDDE8111D4 +:10691000E6CF81E090E009C04A2D6EE772E6C6013D +:10692000D3DE8111DCCF82E090E0F801978386838B +:1069300016C0912C14C0F2E08F1203C083E090E0E7 +:10694000F4CFF7013396849180538A3090F7E49026 +:10695000F12CFEE2EF1AF108F801F782E682892DA8 +:1069600027960FB6F894DEBF0FBECDBFDF91CF9153 +:106970001F910F91FF90EF90DF90CF90BF90AF905D +:106980009F908F907F906F900895DF92EF92FF928B +:106990000F931F93CF93DF93CDB7DEB761970FB6F9 +:1069A000F894DEBF0FBECDBFD82EE92EBE01675FC3 +:1069B0007F4F8CDD811102C0F12C74C0BE016F5F6E +:1069C0007F4F87E992E69BDEF82E8823A9F3FE012C +:1069D0003996DE011196BE016F5E7F4F2191319194 +:1069E0008D919D918217930740F02817390708F47D +:1069F00059C0E617F70791F755C0E0918609F0E016 +:106A0000EE0FFF1FE255F64B859194910F94C888C5 +:106A10004AE752E662E080E00F94166D0D2D1E2DC0 +:106A2000F801E1908F018E2D42DDF82E811103C017 +:106A30008E2D35DDF5CFE0918609F0E0EE0FFF1FDA +:106A4000E655F64B4591549163E080E00F94166D46 +:106A500020E030E0A90168EE73E084E53AD582E3F6 +:106A600090E00E94425C84E50F948DBD84EF91E03C +:106A70000E94425C20E030E0A90168EE73E084E50A +:106A800028D582E390E00E94425C84E50F948DBD9E +:106A90000F94C04C81E00F94CD870F943D4880E067 +:106AA0000F94FF848F2D61960FB6F894DEBF0FBE52 +:106AB000CDBFDF91CF911F910F91FF90EF90DF90AD +:106AC00008950F931F93CF93DF93CDB7DEB7289729 +:106AD0000FB6F894DEBF0FBECDBF00E010E0F801A6 +:106AE000E357FD496491C8010F9435CB0F5F1F4FE9 +:106AF0000A301105A1F7BE016F5F7F4F87E992E66B +:106B0000FEDD8823C1F069817A818AE090E00F94EC +:106B10004FCB6B817C818CE090E00F944FCB6D81EB +:106B20007E818EE090E00F944FCB6F81788580E17D +:106B300090E00F944FCB28960FB6F894DEBF0FBEAF +:106B4000CDBFDF91CF911F910F910895CF93CFB714 +:106B5000F8948091F619811112C061E085E385D225 +:106B600061E085E349D28CB580618CBD8CB58064D1 +:106B70008CBD61E084E340D261E083E33DD280914B +:106B8000F6198F5F8093F619CFBFCF9108951F92AA +:106B90000F920FB60F9211242F933F938F939F93D1 +:106BA000AF93BF938091F8199091F919A091FA19B8 +:106BB000B091FB193091F71923E0230F2D3720F402 +:106BC0000196A11DB11D05C026E8230F0296A11D47 +:106BD000B11D2093F7198093F8199093F919A09398 +:106BE000FA19B093FB198091FC199091FD19A091AD +:106BF000FE19B091FF190196A11DB11D8093FC19DA +:106C00009093FD19A093FE19B093FF19BF91AF9116 +:106C10009F918F913F912F910F900FBE0F901F90DA +:106C200018952FB7F8946091F8197091F91980911F +:106C3000FA199091FB192FBF08953FB7F8948091EE +:106C4000FC199091FD19A091FE19B091FF1926B57C +:106C5000A89B05C02F3F19F00196A11DB11D3FBF94 +:106C60006627782F892F9A2F620F711D811D911D24 +:106C700042E0660F771F881F991F4A95D1F7089544 +:106C80008F929F92AF92BF92CF92DF92EF92FF923C +:106C90006B017C01D2DF4B015C01C114D104E10422 +:106CA000F104E1F0BAD7C9DF681979098A099B09AB +:106CB000683E73408105910580F321E0C21AD10836 +:106CC000E108F10888EE880E83E0981EA11CB11C33 +:106CD000C114D104E104F10431F7DFCFFF90EF904C +:106CE000DF90CF90BF90AF909F908F9008958230AB +:106CF000910538F0880F991F880F991F0597019704 +:106D0000F1F70895789484B5826084BD84B581607C +:106D100084BD85B5826085BD85B5816085BDEEE6A3 +:106D2000F0E0808181608083E1E8F0E01082808182 +:106D300082608083808181608083E0E8F0E08081F0 +:106D400081608083E1EBF0E0808184608083E0EB10 +:106D5000F0E0808181608083E1E9F0E08081826001 +:106D60008083808181608083E0E9F0E080818160C0 +:106D70008083E1EAF0E080818260808380818160AD +:106D80008083E0EAF0E0808181608083E1E2F1E0ED +:106D9000808182608083808181608083E0E2F1E095 +:106DA000808181608083EAE7F0E080818460808375 +:106DB000808182608083808181608083808180681F +:106DC00080831092C10008951F93CF93DF93182FF3 +:106DD000EB0161E011D1209711F460E004C0CF3FD6 +:106DE000D10531F461E0812FDF91CF911F913DC139 +:106DF000E12FF0E0EF55FD49449150E0FA01319761 +:106E0000E231F10508F09BC0E356FF4F0D94FDC33E +:106E100084B5806884BDC7BD97C084B5806284BDD9 +:106E2000C8BD92C080918000806880938000D0931C +:106E30008900C093880088C0809180008062809320 +:106E40008000D0938B00C0938A007EC08091800028 +:106E5000886080938000D0938D00C0938C0074C0B4 +:106E60008091B00080688093B000C093B3006CC084 +:106E70008091B00080628093B000C093B40064C081 +:106E800080919000806880939000D0939900C09387 +:106E900098005AC080919000806280939000D093B7 +:106EA0009B00C0939A0050C08091900088608093AE +:106EB0009000D0939D00C0939C0046C08091A0009C +:106EC00080688093A0008091A0008F7B8093A000B9 +:106ED000D093A900C093A80037C08091A000806221 +:106EE0008093A000D093AB00C093AA002DC08091E6 +:106EF000A00088608093A000D093AD00C093AC0048 +:106F000023C080912001806880932001D0932901C3 +:106F1000C093280119C080912001806280932001D4 +:106F2000D0932B01C0932A010FC08091200188606B +:106F300080932001D0932D01C0932C0105C0C0384F +:106F4000D1050CF04FCF49CFDF91CF911F9108951C +:106F500090E0FC013197E231F10508F04CC0E155B9 +:106F6000FF4F0D94FDC3809180008F7703C0809107 +:106F700080008F7D80938000089580918000877FBE +:106F8000F9CF84B58F7702C084B58F7D84BD089515 +:106F90008091B0008F7703C08091B0008F7D809387 +:106FA000B0000895809190008F7707C08091900085 +:106FB0008F7D03C080919000877F8093900008951B +:106FC0008091A0008F7707C08091A0008F7D03C0C3 +:106FD0008091A000877F8093A00008958091200178 +:106FE0008F7707C0809120018F7D03C080912001A1 +:106FF000877F809320010895CF93DF9390E0FC0179 +:10700000E950FD492491FC01E35BFC49849188230C +:1070100049F190E0880F991FFC01E952FC49A591C4 +:10702000B49183549C49FC01C591D4919FB76111DF +:1070300008C0F8948C91209582238C9388818223B8 +:107040000AC0623051F4F8948C91322F309583232A +:107050008C938881822B888304C0F8948C91822B36 +:107060008C939FBFDF91CF9108950F931F93CF9380 +:10707000DF931F92CDB7DEB7282F30E0F901EF552F +:10708000FD498491F901E950FD491491F901E35B4F +:10709000FC4904910023C1F0882319F0698358DF6B +:1070A0006981E02FF0E0EE0FFF1FE354FC49A5914A +:1070B000B4919FB7F8948C91611103C0109581230E +:1070C00001C0812B8C939FBF0F90DF91CF911F91B7 +:1070D0000F910895CF93DF93282F30E0F901EF55FA +:1070E000FD498491F901E950FD49D491F901E35B2F +:1070F000FC49C491CC2389F081112ADFEC2FF0E008 +:10710000EE0FFF1FED55FC49A591B4912C912D2355 +:1071100081E090E021F480E002C080E090E0DF9127 +:10712000CF910895CF92DF92EF92FF920F931F932A +:10713000CF93DF936C017A01EB01E60EF71E00E0BE +:1071400010E0CE15DF0561F06991D601ED91FC915B +:107150000190F081E02DC6011995080F191FF1CF9C +:10716000C801DF91CF911F910F91FF90EF90DF90B9 +:10717000CF9008956115710581F0DB010D9000201D +:10718000E9F7AD0141505109461B570BDC01ED9168 +:10719000FC910280F381E02D199480E090E0089545 +:1071A000E9CFDC01ED91FC910190F081E02D199483 +:1071B0008F929F92AF92BF92CF92DF92EF92FF9207 +:1071C0000F931F93CF93DF93CDB7DEB7A1970FB681 +:1071D000F894DEBF0FBECDBF7C01C42EE52FCB01DE +:1071E000D22E19A221E02D1510F02AE0D22E8E0108 +:1071F0000F5D1F4F8D2C912CA12CB12C6C2D7E2F4F +:10720000A50194010F94BFC38C2DD29E8019112427 +:10721000015011098A3014F4805D01C0895CF801C5 +:107220008083211531054105510521F0C22EE32F40 +:10723000CA01E4CFB801C7019DDFA1960FB6F8944B +:10724000DEBF0FBECDBFDF91CF911F910F91FF9099 +:10725000EF90DF90CF90BF90AF909F908F90089568 +:10726000CF92DF92EF92FF920F931F93CF93DF9312 +:10727000EC016A017B012115310579F4E881F9817E +:107280000190F081E02D642FDF91CF911F910F913C +:10729000FF90EF90DF90CF9019942A303105D9F408 +:1072A00077FF18C06DE27DDF8C0144275527BA01B6 +:1072B0004C195D096E097F092AE0CE0179DF800F44 +:1072C000911FDF91CF911F910F91FF90EF90DF9071 +:1072D000CF9008952AE0B701A601CE01DF91CF91AA +:1072E0001F910F91FF90EF90DF90CF9061CF9A01A7 +:1072F000AB01662757FD6095762FB2CF211531057A +:1073000041F4DC01ED91FC910190F081E02D642FBE +:1073100019944ECF9A01AB0160E070E0EFCF4F922D +:107320005F926F927F928F929F92AF92BF92CF9215 +:10733000DF92EF92FF920F931F93CF93DF93EC01B5 +:107340006A017B01B22E9A01AB01C701B6010F940D +:10735000B7C2882319F067EC77E025C02601370112 +:10736000E89477F82FEF3FEF4FE75FE7C301B201F3 +:107370000F94B7C281110CC02FEF3FEF4FE75FE7CB +:10738000C301B20125D518161CF46BEC77E00BC0D5 +:107390002FEF3FEF4FE75FE4C701B6011CD7181688 +:1073A000A4F46FEC77E0CE01DF91CF911F910F91A4 +:1073B000FF90EF90DF90CF90BF90AF909F908F9015 +:1073C0007F906F905F904F90D5CE2FEF3FEF4FE7BC +:1073D0005FECC701B601FCD487FDE3CF20E030E0CD +:1073E000A901C701B601F4D487FF09C06DE2CE013F +:1073F000D8DE8C01F7FAF094F7F8F09402C000E0C0 +:1074000010E0A12C60E070E080E09FE3AB1439F065 +:1074100020E030E040E251E4E2D4A394F7CF9B01B6 +:10742000AC01C701B601FBD36B017C0145D52B0133 +:107430003C016ED59B01AC01C701B601EFD36B01D6 +:107440007C012AE0B301A201CE01B2DE080F191FB0 +:10745000BB2031F06FE275E0CE018CDE080F191F02 +:107460007B2C772019F120E030E040E251E4C701A5 +:10747000B60183D76B017C011AD54B01AA2497FC76 +:10748000A094BA2C2AE030E0B501A401CE01E8DED8 +:10749000080F191FC501B4013DD59B01AC01C701FF +:1074A000B601BCD36B017C017A94DBCFC801DF91BC +:1074B000CF911F910F91FF90EF90DF90CF90BF90F1 +:1074C000AF909F908F907F906F905F904F900895B6 +:1074D00026CF3F924F925F926F927F928F929F92B0 +:1074E000AF92BF92CF92DF92EF92FF920F931F93D2 +:1074F000CF93DF9300D01F92CDB7DEB78B01290168 +:107500003A019091E602981721F09F3F09F0B5C229 +:1075100004C0E1EFF3E6349004C18093E602E1EFAA +:10752000F3E6E491EF3F09F4A8C2E23009F480C029 +:1075300074F5EE2309F45BC0E13009F0F1C010925C +:10754000800010928100909181009860909381005A +:1075500090918100916090938100282F30E0F90193 +:10756000E35BFC49E491F0E0EE0FFF1FE354FC49BC +:107570004591549150931E1A40931D1AF901E950F8 +:10758000FD49249120931C1A33243394CCC0E43059 +:1075900009F49EC00CF474C0E53009F0C1C010922B +:1075A0002001109221019091210198609093210176 +:1075B00090912101916090932101282F30E0F901F1 +:1075C000E35BFC49E491F0E0EE0FFF1FE354FC495C +:1075D000459154915093021A4093011AF901E950D0 +:1075E000FD4924912093001A55E0352E9CC014BC0F +:1075F00015BC94B5926094BD95B5916095BD282F4A +:1076000030E0F901E35BFC49E491F0E0EE0FFF1F8D +:10761000E354FC49459154915093251A4093241A00 +:10762000F901E950FD4924912093231A312C7BC0A4 +:107630001092B0001092B1009091B00092609093BF +:10764000B0009091B10091609093B100282F30E08C +:10765000F901E35BFC49E491F0E0EE0FFF1FE35416 +:10766000FC49459154915093171A4093161AF90109 +:10767000E950FD4924912093151A22E0322E53C07F +:1076800010929000109291009091910098609093C8 +:10769000910090919100916090939100282F30E09B +:1076A000F901E35BFC49E491F0E0EE0FFF1FE354C6 +:1076B000FC49459154915093101A40930F1AF901C7 +:1076C000E950FD49249120930E1AB3E03B2E2BC0C4 +:1076D0001092A0001092A1009091A1009860909348 +:1076E000A1009091A10091609093A100282F30E01B +:1076F000F901E35BFC49E491F0E0EE0FFF1FE35476 +:10770000FC49459154915093091A4093081AF90184 +:10771000E950FD4924912093071A74E0372E03C0E5 +:107720003E2E37FCAAC161E067DC4801A12CB12CD8 +:10773000832D8D7F09F0C4C060E072E18AE790E09C +:10774000A50194010F94E1C329833A834B835C83A1 +:1077500069017A0181E0C81AD108E108F1089FEFB8 +:10776000C916D104E104F10409F008F497C060E4FB +:1077700072E48FE090E0A50194010F94E1C36901E8 +:107780007A01E1E0CE1AD108E108F108F2E03F12F7 +:1077900019C08FEFC816D104E104F10409F008F410 +:1077A00087C060E970ED83E090E0A50194010F943B +:1077B000E1C369017A0191E0C91AD108E108F10831 +:1077C00083E001C082E0EFEFCE16D104E104F104C2 +:1077D00009F008F464C068E478EE81E090E0A50167 +:1077E0009401EFD769017A01F1E0CF1AD108E108DD +:1077F000F1083320D9F082E038121AC09FEFC91681 +:10780000D104E104F10409F008F435C164E274EF35 +:1078100080E090E0A5019401D4D769017A01E1E00C +:10782000CE1AD108E108F10885E003C083E001C069 +:1078300084E0FFEFCF16D104E104F10481F178F187 +:1078400062E17AE780E090E0A5019401BAD769018E +:107850007A0181E0C81AD108E108F108311002C0AC +:1078600084E001C086E09FEFC916D104E104F10471 +:10787000B1F0A8F0C980DA80EB80FC809AE0F59442 +:10788000E794D794C7949A95D1F7E1E0CE1AD1083E +:10789000E108F108332031F087E00BC081E03320AC +:1078A00011F007C085E095B5987F982B95BD54C021 +:1078B00082E09091B100987F982B9093B1004CC0DA +:1078C00060E072E18AE790E0A50194017AD769014E +:1078D0007A01F1E0CF1AD108E108F108C114D1040E +:1078E00081E0E806F10480F068E478EE81E090E061 +:1078F000A501940166D769017A0191E0C91AD108FE +:10790000E108F10893E001C091E0E1E03E1207C018 +:1079100080918100887F892B809381001DC0F3E0D6 +:107920003F1207C080919100887F892B809391003E +:1079300013C084E0381207C08091A100887F892B92 +:107940008093A10009C0E5E03E1206C080912101AC +:10795000887F892B809321014114510461047104B3 +:1079600061F0D801AA0FBB1FA301920161D728EED5 +:1079700033E040E050E003D703C02FEF3FEFA90111 +:10798000F2E03F1609F443C0F315BCF0332081F157 +:1079900081E0381272C0D0928900C0928800209392 +:1079A0001F1A3093201A4093211A5093221A809163 +:1079B0006F00826080936F0060C094E0391609F414 +:1079C00048C03916A4F1E5E03E1257C0D092290113 +:1079D000C09228012093031A3093041A4093051A89 +:1079E0005093061A8091730082608093730045C0A3 +:1079F000C7BC2093261A3093271A4093281A509315 +:107A0000291A80916E00826080936E0036C0C09209 +:107A1000B3002093181A3093191A40931A1A5093EE +:107A20001B1A8091700082608093700026C0D092F3 +:107A30009900C09298002093111A3093121A409323 +:107A4000131A5093141A8091710082608093710010 +:107A500014C0D092A900C092A80020930A1A3093B3 +:107A60000B1A40930C1A50930D1A80917200826089 +:107A70008093720002C084E01CCF0F900F900F9093 +:107A80000F90DF91CF911F910F91FF90EF90DF90BA +:107A9000CF90BF90AF909F908F907F906F905F90AE +:107AA0004F903F9008958230A9F028F4882349F040 +:107AB000813051F00895843021F1E8F0853039F1BA +:107AC000089510926E00089580916F008D7F8093CD +:107AD0006F000895809170008D7F8093700081E029 +:107AE0008093B0008091B100887F84608093B10062 +:107AF0001092B3000895809171008D7F8093710082 +:107B00000895809172008D7F809372000895809116 +:107B100073008D7F809373000895CF93C82F809159 +:107B2000E6028C1307C0E1EFF3E684919FEF909398 +:107B3000E60201C08FEFB7DF60E08C2FCF9195CACE +:107B40001F920F920FB60F9211240BB60F922F9324 +:107B50003F934F935F936F937F938F939F93AF93D5 +:107B6000BF93EF93FF938091181A9091191AA091E7 +:107B70001A1AB0911B1A892B8A2B8B2B51F19091D9 +:107B8000151AE091161AF091171A808189278083BF +:107B90008091181A9091191AA0911A1AB0911B1A73 +:107BA000181619061A061B06BCF48091181A909133 +:107BB000191AA0911A1AB0911B1A0197A109B109BB +:107BC0008093181A9093191AA0931A1AB0931B1A3B +:107BD00003C08091E602A1DFFF91EF91BF91AF91C9 +:107BE0009F918F917F916F915F914F913F912F91D5 +:107BF0000F900BBE0F900FBE0F901F901895089519 +:107C000081D8FDDF0E94A49EC0E0D0E00E94679A68 +:107C10002097E1F30E940000F9CF08955058BB2748 +:107C2000AA270ED076C23FD230F044D220F031F4F1 +:107C30009F3F11F41EF40FC20EF4E095E7FBDCC188 +:107C4000E92F89D280F3BA17620773078407950773 +:107C500018F071F49EF5B8C20EF4E0950B2EBA2F11 +:107C6000A02D0B01B90190010C01CA01A001112442 +:107C7000FF27591B99F0593F50F4503E68F11A16EE +:107C8000F040A22F232F342F4427585FF3CF46957F +:107C900037952795A795F0405395C9F77EF41F16A1 +:107CA000BA0B620B730B840BBAF09150A1F0FF0F6B +:107CB000BB1F661F771F881FC2F70EC0BA0F621F57 +:107CC000731F841F48F4879577956795B795F79547 +:107CD0009E3F08F0B3CF9395880F08F09927EE0FD9 +:107CE000979587950895DFD158F080E891E009F4E1 +:107CF0009EEFE0D128F040E851E059F45EEF09C072 +:107D0000AAC162C2E92FE07826D268F3092E052ABB +:107D1000C1F3261737074807590738F00E2E07F822 +:107D2000E02569F0E025E0640AC0EF6307F80094FD +:107D300007FADB01B9019D01DC01CA01AD01EF9336 +:107D40005DD0E7D10AD05F91552331F02BED3FE0B4 +:107D500049E450FD49EC63CF0895DF93DD27B92F47 +:107D6000BF7740E85FE31616170648075B0710F475 +:107D7000D92F96D29F938F937F936F93F5D3E2E899 +:107D8000F1E06CD1C6D12F913F914F915F9101D31A +:107D9000DD2349F09058A2EA2AED3FE049EC5FE389 +:107DA000D0785D274DDFDF91B4C1F7D180F09F37E8 +:107DB00040F491110EF409C260E070E080E89FE3A6 +:107DC000089526F01B16611D711D811D1BC135C153 +:107DD000EFD008F481E0089575D1E395ABC10CD0E4 +:107DE00098C168D140F05FD130F021F45F3F19F0C5 +:107DF00003C15111EAC12FC1AED198F39923C9F340 +:107E00005523B1F3951B550BBB27AA2762177307A0 +:107E1000840738F09F5F5F4F220F331F441FAA1F54 +:107E2000A9F333D00E2E3AF0E0E830D09150504014 +:107E3000E695001CCAF729D0FE2F27D0660F771FC2 +:107E4000881FBB1F261737074807AB07B0E809F0A4 +:107E5000BB0B802DBF01FF2793585F4F2AF09E3F39 +:107E6000510568F0C9C0B1C15F3FECF3983EDCF347 +:107E7000869577956795B795F7959F5FC9F7880FB2 +:107E8000911D9695879597F90895E1E0660F771F04 +:107E9000881FBB1F621773078407BA0720F0621B95 +:107EA000730B840BBA0BEE1F88F7E095089504D08E +:107EB0006894B1118AC1089556D188F09F5790F007 +:107EC000B92F9927B751A0F0D1F0660F771F881FFF +:107ED000991F1AF0BA95C9F712C0B13081F074D168 +:107EE000B1E0089571C1672F782F8827B85F39F006 +:107EF000B93FCCF3869577956795B395D9F73EF45E +:107F000090958095709561957F4F8F4F9F4F089505 +:107F1000E89409C097FB3EF4909580957095619523 +:107F20007F4F8F4F9F4F9923A9F0F92F96E9BB27D9 +:107F30009395F695879577956795B795F111F8CF55 +:107F4000FAF4BB0F11F460FF1BC06F5F7F4F8F4FC0 +:107F50009F4F16C0882311F096E911C0772321F0B6 +:107F60009EE8872F762F05C0662371F096E8862F4E +:107F700070E060E02AF09A95660F771F881FDAF7A5 +:107F8000880F9695879597F9089507D180F09F37C8 +:107F900040F491110EF019C160E070E080E89FEBB1 +:107FA000089526F41B16611D711D811D2BC045C04F +:107FB000990F0008550FAA0BE0E8FEEF16161706FA +:107FC000E807F907C0F012161306E407F50798F062 +:107FD000621B730B840B950B39F40A2661F0232B7B +:107FE000242B252B21F408950A2609F4A140A695F7 +:107FF0008FEF811D811D089597F99F6780E870E0DC +:1080000060E00895882371F4772321F09850872B3E +:10801000762F07C0662311F499270DC09051862B47 +:1080200070E060E02AF09A95660F771F881FDAF7F4 +:10803000880F9695879597F908959F3F31F0915055 +:1080400020F4879577956795B795880F911D96953C +:10805000879597F908959FEF80EC0895DF93CF936C +:108060001F930F93FF92EF92DF927B018C01689434 +:1080700005C0DA2EEF018DD1FE01E894A59125917E +:10808000359145915591AEF3EF01DADDFE0197018F +:10809000A801DA9479F7DF90EF90FF900F911F918C +:1080A000CF91DF91089500240A941616170618063A +:1080B0000906089500240A941216130614060506EC +:1080C0000895C9CF50D0E8F3E894E0E0BB279F576C +:1080D000F0F02AED3FE049EC06C0EE0FBB0F661F43 +:1080E000771F881F28F0B23A62077307840728F0C9 +:1080F000B25A620B730B840BE3959A9572F7803832 +:1081000030F49A95BB0F661F771F881FD2F79048EF +:1081100096CF092E0394000C11F4882352F0BB0F64 +:1081200040F4BF2B11F460FF04C06F5F7F4F8F4F8F +:108130009F4F0895EF93E0FF06C0A2EA2AED3FE0CB +:1081400049EC5FEB7DDDE5DF0F90039401FC905877 +:10815000EFEAF1E048C257FD9058440F551F59F01F +:108160005F3F71F04795880F97FB991F61F09F3F24 +:1081700079F087950895121613061406551FF2CF4D +:108180004695F1DF08C0161617061806991FF1CF9D +:1081900086957105610508940895E5DFA0F0BEE7B6 +:1081A000B91788F4BB279F3860F41616B11D672FE6 +:1081B000782F8827985FF7CF869577956795B11DBB +:1081C00093959639C8F30895E894BB2766277727D7 +:1081D000CB0197F90895ECDE08F48FEF089563DF83 +:1081E00019F068DF09F037CF07CFB901CA0125CFF1 +:1081F0009F775F77B0DF98F39923B9F35523B9F3ED +:10820000FF27951758F4E52FE91BED3070F75E3B1B +:1082100010F0F1E41CC09034E0F40AC0E92FE51B33 +:10822000ED3028F79E3B10F0F1E411C0503488F493 +:10823000F9EA88232AF09A95660F771F881FDAF7E4 +:1082400044232AF05A95220F331F441FDAF79F1B4D +:108250005F1BFF931F930F93FF92EF9279018A01A7 +:10826000BB27AB2F9B01AC0196D09701A801BF9310 +:108270007B018C01AA27BA2FB901CA018CD0AF911A +:108280009701A801EF90FF900F911F91D9DC41DF7A +:108290002DD14F9140FF0895552747FD509509C0B6 +:1082A0009B01AC0160E070E080E89FE398CDA4CE34 +:1082B000C4CE59DFE8F39923D9F3940F511DBBF3D2 +:1082C0009150504094F059F0882332F0660F771F98 +:1082D000881F91505040C1F79E3F510544F7880FC9 +:1082E000911D9695879597F908955F3FACF0983E5C +:1082F0009CF0BB27869577956795B79508F4B16094 +:108300009395C1F7BB0F58F711F460FFE8CF6F5F8B +:108310007F4F8F4F9F4FE3CF58CF25DF58F19E57A8 +:1083200058F19851A0F0E9F0983020F5092E9927DE +:10833000660F771F881F991F0A94D1F712C0062E67 +:10834000672F782F8827985F11F4000C07C0993F9A +:10835000B4F38695779567959395D9F7611D711D4F +:10836000811D3EF490958095709561957F4F8F4F5C +:108370009F4F0895689429CF27CF0BD0CACE93DEA4 +:1083800028F098DE18F0952309F036CE64CE11243B +:108390001CCFE1DEA0F3959FD1F3950F50E0551F60 +:1083A000629FF001729FBB27F00DB11D639FAA274A +:1083B000F00DB11DAA1F649F6627B00DA11D661F99 +:1083C000829F2227B00DA11D621F739FB00DA11DBA +:1083D000621F839FA00D611D221F749F3327A00D74 +:1083E000611D231F849F600D211D822F762F6A2F10 +:1083F00011249F5750408AF0E1F088234AF0EE0F95 +:10840000FF1FBB1F661F771F881F91505040A9F7A1 +:108410009E3F510570F0F0CDD8CE5F3FECF3983E13 +:10842000DCF3869577956795B795F795E7959F5F08 +:10843000C1F7FE2B880F911D9695879597F90895A2 +:10844000FA01EE0FFF1F30962105310599F16115F4 +:10845000710561F48038BFE39B0749F16894903857 +:10846000810561F08038BFEF9B0741F0992342F509 +:10847000FF3FE1053105210511F1E8940894E795E6 +:10848000D901AA2329F4AB2FBE2FF85FD0F310C077 +:10849000FF5F70F4A695E0F7F73950F019F0FF3A56 +:1084A00038F49F779F930CD00F9007FC9058089555 +:1084B0003EF0D1CD60E070E080E89FE308954FE7A3 +:1084C0009F775F934F933F932F93A3D02F913F912B +:1084D0004F915F9152DF54C09F93F4DD0F9007FCE2 +:1084E000EE5F28CE11F40EF4B6CDA7CD3CDED0F36E +:1084F0009923D9F3CEF39F57550B87FF6DD00024F6 +:10850000A0E640EA900180585695979528F4805C43 +:10851000660F771F881F20F026173707480730F4AB +:10852000621B730B840B202931294A2BA6951794C3 +:108530000794202531254A2758F7660F771F881F93 +:1085400020F026173707480730F4620B730B840BB3 +:10855000200D311D411DA09581F7B901842F91583F +:10856000880F9695879508959B01AC0106CF20DD75 +:10857000880B990B089519F40EF03ECD25CE6BCDE6 +:10858000F2DDC8F39638C0F707F80F92E8942BE3B2 +:108590003AEA48EB5FE7FFDE0F920F920F924DB77A +:1085A0005EB70F9276D0EDECF1E058DD4F915F9120 +:1085B000EF91FF91E595EE1FFF1F49F0FE57E06830 +:1085C0004427EE0F441FFA95E1F74195550B71DEF4 +:1085D0000F9007FE65CE089591505040660F771FAB +:1085E000881FD2F708959F938F937F936F93FF9384 +:1085F000EF939B01AC01C1DEEF91FF912FDD2F9135 +:108600003F914F915F91B9CE0EF017CD24CD689474 +:10861000F3CCA9DDC8F39923D1F3C6F3DF93CF934D +:108620001F930F93FF92C92FDD2788232AF02197EC +:10863000660F771F881FDAF720E030E040E85FEB35 +:108640009FE3883920F0803E30F021968F77E7DA7B +:10865000E5EFF1E003C0E3DAE2E2F2E0FFDC8B01F8 +:10866000BE01EC01FB2E6F5771097595771F880BC2 +:10867000990B50DC28E132E741E35FE38ADEAF2D5E +:108680009801AE01FF900F911F91CF91DF91D8DA41 +:1086900040CDFA01DC01AA0FBB1F9B01AC01BF5703 +:1086A00028F422273327442750781FC0B75188F475 +:1086B000AB2F0024469537952795011CA395D2F33F +:1086C000002069F0220F331F441FB395DAF30DD059 +:1086D000A5CA61307105A0E88A07B94630F49B014C +:1086E000AC016627772788279078309621F0208381 +:1086F0003183428353830895DB018F939F9398D0F6 +:10870000BF91AF91A29F800D911DA39F900DB29F2D +:10871000900D1124089587FB082E062687FD81956C +:1087200067FD619599D00EF4919507FC81950895A8 +:10873000AA1BBB1B51E107C0AA1FBB1FA617B70787 +:1087400010F0A61BB70B881F991F5A95A9F78095A3 +:108750009095BC01CD01089597FB072E16F4009467 +:1087600006D077FD08D0E4DF07FC05D03EF49095F5 +:1087700081959F4F0895709561957F4F0895A1E26F +:108780001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F8B +:10879000FF1FA217B307E407F50720F0A21BB30BD6 +:1087A000E40BF50B661F771F881F991F1A9469F752 +:1087B00060957095809590959B01AC01BD01CF01AE +:1087C0000895052E97FB16F400940FD057FD05D0A1 +:1087D000D6DF07FC02D046F408C05095409530958E +:1087E00021953F4F4F4F5F4F08959095809570951D +:1087F00061957F4F8F4F9F4F0895EE0FFF1F05909C +:10880000F491E02D1994A29FB001B39FC001A39FE2 +:10881000700D811D1124911DB29F700D811D1124B9 +:10882000911D0895F0DFB7FF0895821B930B089503 +:10883000EADFA59F900DB49F900DA49F800D911D20 +:1088400011240895B7FFF4CFF3DF821B930B089533 +:108850000790F691E02D1994991B79E004C0991FB7 +:10886000961708F0961B881F7A95C9F7809508958A +:10887000EF920F931F93CF93DF93E80147FF02C05E +:1088800034E101C034E0E42FFF27E7FDF095F7FF66 +:1088900003C0F195E195F109E32E022F2E2FAE01D1 +:1088A00013D7CE01DF91CF911F910F91EF900895D3 +:1088B0008F929F92AF92BF92CF92DF92EF92FF92F0 +:1088C0000F931F93CF93DF938B016115710521F0F7 +:1088D000DB018C9311969C93EC015E01BFEFAB1A08 +:1088E000BB0A7501C8808C2D90E07BD2892B11F0DA +:1088F000E501F3CFEDE2CE1208C07E01F2E0EF0E0B +:10890000F11CC980DD24D39409C02BE2C21205C03A +:108910007E0142E0E40EF11CC980D12CE7012197D1 +:1089200043E050E06AEF73E6CE018FD2892BB9F4B1 +:10893000239645E050E065EF73E6CE0186D2892BA1 +:1089400009F425960115110519F0D801CD93DC9392 +:10895000D11000C160E070E080E89FE704C143E00F +:1089600050E062EF73E6CE0170D2892B59F4011505 +:10897000110509F4F4C0B2E0EB0EF11CF801F1822C +:10898000E082EDC0F70160E070E0CB01C0E0D0E034 +:108990007F01A0EDAA2EAC0C29E02A1528F14D2D5F +:1089A0004260B42E2D2D2870D2FE04C0211124C0A7 +:1089B000219622C021112197A5E0B0E09B01AC01D6 +:1089C00037DF660F771F881F991F6A0D711D811D84 +:1089D000911D6839A9E97A078A07A9E19A0760F029 +:1089E000BD2DB660BB2E08C02EEFA2120AC0D3FC6C +:1089F00050C04D2D4860B42E3196D701CC90DB2C61 +:108A0000C7CF2C2D2F7D253409F043C0A081AD3276 +:108A100041F4BD2DB061DB2E7F0122E0E20EF11C9E +:108A20000CC07F01AB3231F04FEFE41AF40A21E0C1 +:108A300030E006C0A2E0EA0EF11CA18122E030E0A5 +:108A4000A053AA3018F0E21AF30A23C0F70120E07D +:108A500030E02038BCE03B075CF4A901440F551F0F +:108A6000440F551F240F351F220F331F2A0F311DAE +:108A7000AF014F5F5F4F7A01A081A053AA3010F47D +:108A8000FA01E7CFD4FE03C0319521953109C20F19 +:108A9000D31FD1FE09C00115110531F0E1E0EE1A36 +:108AA000F108D801ED92FC9233DA2D2D237023309A +:108AB00019F04B015C0106C04B015C01B7FAB094A0 +:108AC000B7F8B09420E030E0A901C501B40180D925 +:108AD000882309F43CC0D7FF06C0D195C195D109C0 +:108AE00001E114E602C009E214E66801B8E1CB1A1C +:108AF000D10890E2E92EF12CCE15DF056CF0F801DB +:108B00002591359145915491C501B40136DC4B0155 +:108B10005C01CE19DF09F0CF04501109F594E794F8 +:108B20000C151D0549F78A2D880F8B2D881F8F3F47 +:108B300041F020E030E0A901C501B40149D981111B +:108B400006C082E290E09093471A8093461AC501CE +:108B5000B40109C060E070E080E89FEF04C060E00D +:108B600070E080EC9FE7DF91CF911F910F91FF9014 +:108B7000EF90DF90CF90BF90AF909F908F9008952F +:108B80002F923F925F926F927F928F929F92AF92BD +:108B9000BF92CF92DF92EF92FF920F931F93CF93EA +:108BA000DF938B01EA016115710521F0DB018C93E4 +:108BB00011969C93209739F09E012250310923325F +:108BC000310508F0F8C07C016701BFEFCB1ADB0A62 +:108BD0005601F7016080862D90E003D1892B11F0BA +:108BE0007601F2CFFDE26F120AC0570182E0A80EB3 +:108BF000B11CD70111966C90772473940BC0BBE223 +:108C00006B1207C05701E2E0AE0EB11CD7011196FE +:108C10006C90712CCE018F7E892B89F4B0E36B129E +:108C200022C0F50180818F7D883541F56180F2E0B9 +:108C3000AF0EB11C872D8260782EC0E1D0E0C83025 +:108C4000D105F1F04CF4C230D10511F5C12CD12C75 +:108C5000E12CB0E4FB2E2EC0CA30D10531F0C0317A +:108C6000D10519F115C0209751F7CAE0D0E0ACEC5E +:108C7000CA2EDC2CEC2CACE0FA2E1CC02097F9F6A6 +:108C8000C8E0D0E0C12CD12CE12CF0E1FF2E12C0C5 +:108C900060E070E080E090E89E01442737FD409559 +:108CA000542F6DDD69017A0105C0C12CD12CE12C56 +:108CB000E8E0FE2EF50160E020E030E0A9014E0181 +:108CC000AA2497FCA094BA2C1F0170ED572E560CC5 +:108CD000A9E0A51570F48FEB860D8A3118F499EC94 +:108CE000592E06C08FE9860D8A3128F589EA582E5B +:108CF000560C852D90E08C179D07ECF467FD17C08E +:108D0000C216D306E406F50678F0C501B401F4DC1A +:108D10009B01AC01250D311D411D511D2130310537 +:108D20004105B0E85B0710F06FEF01C061E03196DC +:108D3000D1016C90C9CF872D81700115110571F09B +:108D4000662329F03197D801ED93FC9307C071FE9B +:108D500019C03297D801ED93FC9314C067FF12C07D +:108D6000882329F020E030E040E050E804C02FEFF5 +:108D70003FEF4FEF5FE782E290E09093471A8093D6 +:108D8000461A16C0882341F050954095309521959C +:108D90003F4F4F4F5F4F0CC057FF0AC082E290E039 +:108DA0009093471A8093461A2FEF3FEF4FEF5FE7FC +:108DB000B901CA0104C060E070E080E090E0DF919A +:108DC000CF911F910F91FF90EF90DF90CF90BF90C8 +:108DD000AF909F908F907F906F905F903F902F907B +:108DE00008959111C6C6803219F089508550D0F788 +:108DF00008959111089581548A5108F4805E855A2E +:108E00000895FB01DC0102C005900D9241505040D5 +:108E1000D8F70895FB01DC010D900020E9F71197C8 +:108E200005900D920020E1F70895FB01DC0105900B +:108E30000D920020E1F70895FC0105900020E9F76C +:108E4000809590958E0F9F1F0895FB01DC01415086 +:108E5000504088F08D9181341CF08B350CF4805E8D +:108E6000659161341CF06B350CF4605E861B6111FA +:108E700071F3990B0895881BFCCFFB01DC01415075 +:108E8000504030F08D910590801919F40020B9F709 +:108E9000881B990B0895FB01DC014150504048F0BC +:108EA00005900D920020C9F701C01D92415050401D +:108EB000E0F70895FB0155915523A9F0BF01DC01AE +:108EC0004D9145174111E1F759F4CD01059000206E +:108ED00049F04D9140154111C9F3FB014111EFCF0C +:108EE00081E090E001970895FB01DC0104C08D91C1 +:108EF0000190801921F441505040C8F7881B990B0C +:108F00000895FB01DC0102C001900D9241505040D8 +:108F1000D8F70895DC0101C06D9341505040E0F74F +:108F20000895FB01DC018D9181341CF08B350CF42C +:108F3000805E619161341CF06B350CF4605E861BC1 +:108F4000611189F3990B0895FB01DC010D9000205C +:108F5000E9F7119701900D920020E1F70895FC01C7 +:108F60008191861721F08823D9F7992708953197A1 +:108F7000CF010895FB01DC018D9101908019011052 +:108F8000D9F3990B0895FB01DC0101900D920020AB +:108F9000E1F70895FB01DC014150504030F08D9124 +:108FA0000190801919F40020B9F7881B990B0895D6 +:108FB000FB01DC014150504048F001900D9200202F +:108FC000C9F701C01D9241505040E0F70895FB01E0 +:108FD00051915523A9F0BF01DC014D914517411175 +:108FE000E1F759F4CD010190002049F04D91401571 +:108FF0004111C9F3FB014111EFCF81E090E00197EE +:1090000008950F931F93CF93DF93CDB7DEB70885F5 +:109010001985F801838188608383AE01445F5F4FC7 +:109020006A857B85C80111D1F8012381277F2383BD +:10903000DF91CF911F910F910895EF92FF920F93BF +:109040001F93CF93DF93EC018B01DB0113968C917F +:1090500081FF17C0E12CF12CFE018491882379F067 +:10906000D8011896ED91FC911997B8011995892BA3 +:1090700021F0EE24EA94FF24FA942196EDCFC70163 +:1090800002C08FEF9FEFDF91CF911F910F91FF9063 +:10909000EF9008950F931F93CF93DF93CDB7DEB773 +:1090A000FE0138966191719102E41AE1D8018D9127 +:1090B0009C91DC0113962C911397286013962C93A6 +:1090C000AF01C3D0D801ED91FC912381277F238389 +:1090D000DF91CF911F910F9108950F931F93CF931D +:1090E000DF93E091421AF091431A238121FF1BC0C4 +:1090F000EC0100E010E089916091421A7091431AEE +:10910000DB011896ED91FC911997882331F01995A0 +:10911000892B89F30FEF1FEFEECF8AE01995892B8A +:1091200011F4C80102C08FEF9FEFDF91CF911F9123 +:109130000F9108950F931F93CF93DF93EC01E0916C +:10914000421AF091431A838181FF1CC000E010E0B5 +:10915000FE0184916091421A7091431ADB011896C6 +:10916000ED91FC911997882339F01995892B11F00D +:109170000FEF1FEF2196ECCF8AE01995892B11F4A0 +:10918000C80102C08FEF9FEFDF91CF911F910F9128 +:1091900008950F931F93CF93DF93CDB7DEB72E972C +:1091A0000FB6F894DEBF0FBECDBF0E891F8986E0D3 +:1091B0008C831A8309838FEF9FE79E838D83AE0193 +:1091C000465E5F4F688D798DCE0101963ED0EF816E +:1091D000F885E00FF11F10822E960FB6F894DEBFCF +:1091E0000FBECDBFDF91CF911F910F9108950F93C7 +:1091F0001F93CF93DF93CDB7DEB72E970FB6F894BA +:10920000DEBF0FBECDBF0E891F898EE08C831A830F +:1092100009838FEF9FE79E838D83AE01465E5F4F8C +:10922000688D798DCE01019610D0EF81F885E00F21 +:10923000F11F10822E960FB6F894DEBF0FBECDBF81 +:10924000DF91CF911F910F9108952F923F924F92EE +:109250005F926F927F928F929F92AF92BF92CF92C6 +:10926000DF92EF92FF920F931F93CF93DF93CDB7CF +:10927000DEB72C970FB6F894DEBF0FBECDBF7C01D2 +:109280006B018A01FC0117821682838181FFB0C1C4 +:10929000CE0101964C01F7019381F60193FD859172 +:1092A00093FF81916F01882309F49EC1853239F4BF +:1092B00093FD859193FF81916F01853221F4B70170 +:1092C00090E070D4E8CF512C312C20E02032A0F473 +:1092D0008B3269F030F4803259F0833269F42061C6 +:1092E0002CC08D3239F0803339F4216026C02260E1 +:1092F000246023C0286021C027FD27C030ED380F2F +:109300003A3078F426FF06C0FAE05F9E300D112453 +:10931000532E13C08AE0389E300D1124332E206264 +:109320000CC08E3221F426FD5FC1206406C08C364D +:1093300011F4206802C0883641F4F60193FD85914E +:1093400093FF81916F018111C1CF982F9F7D95541B +:10935000933028F40C5F1F4FFFE3F9830DC0833671 +:1093600031F0833771F0833509F057C021C0F8011F +:10937000808189830E5F1F4F44244394512C5401F4 +:1093800014C03801F2E06F0E711CF801A080B180AA +:1093900026FF03C0652D70E002C06FEF7FEFC501AF +:1093A0002C87F5D32C0183012C852F77222E16C014 +:1093B0003801F2E06F0E711CF801A080B18026FF29 +:1093C00003C0652D70E002C06FEF7FEFC5012C87F1 +:1093D000D3D32C012C852068222E830123FC19C0B5 +:1093E000832D90E048165906A0F4B70180E290E082 +:1093F000D9D33A94F5CFF50127FC859127FE8191C9 +:109400005F01B70190E0CED331103A94F1E04F1AEA +:1094100051084114510479F7DEC0843611F08936C1 +:1094200031F5F80127FF07C0608171818281938146 +:109430000C5F1F4F08C060817181882777FD809580 +:10944000982F0E5F1F4F2F76B22E97FF09C0909571 +:109450008095709561957F4F8F4F9F4F2068B22EFA +:109460002AE030E0A401D0D3A82EA81843C0853745 +:1094700029F42F7EB22E2AE030E025C0F22FF97FAA +:10948000BF2E8F36C1F018F4883579F0ADC0803723 +:1094900019F0883721F0A8C02F2F2061B22EB4FE1A +:1094A0000DC08B2D8460B82E09C024FF0AC09F2FE9 +:1094B0009660B92E06C028E030E005C020E130E01B +:1094C00002C020E132E0F801B7FE07C0608171817F +:1094D000828193810C5F1F4F06C06081718180E0A3 +:1094E00090E00E5F1F4FA4018FD3A82EA818FB2D6C +:1094F000FF77BF2EB6FE0BC02B2D2E7FA51450F488 +:10950000B4FE0AC0B2FC08C02B2D2E7E05C07A2CFA +:109510002B2D03C07A2C01C0752C24FF0DC0FE0139 +:10952000EA0DF11D8081803311F4297E09C022FFEC +:1095300006C07394739404C0822F867809F07394E4 +:1095400023FD12C020FF06C05A2C731418F4530CCC +:109550005718732C731460F4B70180E290E02C87E5 +:1095600021D373942C85F6CF731410F4371801C0EF +:10957000312C24FF11C0B70180E390E02C8712D377 +:109580002C8522FF16C021FF03C088E590E002C0B1 +:1095900088E790E0B7010CC0822F867851F021FD5A +:1095A00002C080E201C08BE227FD8DE2B70190E0AE +:1095B000F9D2A51430F4B70180E390E0F3D25A94C5 +:1095C000F8CFAA94F401EA0DF11D8081B70190E073 +:1095D000E9D2A110F6CF332009F45DCEB70180E2C5 +:1095E00090E0E0D23A94F7CFF7018681978102C0EC +:1095F0008FEF9FEF2C960FB6F894DEBF0FBECDBF56 +:10960000DF91CF911F910F91FF90EF90DF90CF905E +:10961000BF90AF909F908F907F906F905F904F9092 +:109620003F902F900895DC01CB01FC01F999FECF0A +:1096300006C0F2BDE1BDF89A319600B40D924150DA +:109640005040B8F70895F999FECF92BD81BDF89AC0 +:10965000992780B50895A6E1B0E044E050E0E5CF59 +:10966000A8E1B0E042E050E0E0CF262FF999FECF2C +:1096700092BD81BDF89A019700B4021639F01FBA65 +:1096800020BD0FB6F894FA9AF99A0FBE0895039682 +:10969000272FECDFEADF252FE9DF242FE7CF019624 +:1096A000272FE4DFE2CF262FF999FECF1FBA92BD14 +:1096B00081BD20BD0FB6F894FA9AF99A0FBE0196B3 +:1096C0000895F1DF272FF0CF6F927F929F92AF9294 +:1096D000BF92CF92DF92EF92FF920F931F93CF939F +:1096E000DF93CDB7DEB729970FB6F894DEBF0FBE74 +:1096F000CDBF6A01B22E102F0C3320F4FF24F39457 +:10970000F00E02C04CE3F42E0F2D27E0AE014F5FA8 +:109710005F4F57D17981272F2970213031F0E1FC3B +:1097200006C0E0FC06C060E005C06DE203C06BE26D +:1097300001C060E2AE2DA07173FF36C0662311F048 +:1097400084E001C083E08B1510F4B81A01C0B12C7D +:10975000A1110BC0F6018B2D90E2882319F0919393 +:109760008150FBCFCB0CD11CB12C662331F0F6011C +:10977000608396012F5F3F4F6901C6010396E2FEA9 +:1097800005C02EE4F601208331E404C02EE6F60184 +:10979000208331E631832283FC012B2D30E222230A +:1097A000F1F131932150FBCF72FF40C0662311F0DD +:1097B00084E001C083E08B1510F4B81A01C0B12C0D +:1097C000A1110BC0F6018B2D90E2882319F0919323 +:1097D0008150FBCFCB0CD11CB12C662331F0F601AC +:1097E000608396012F5F3F4F6901C6010396E2FE39 +:1097F00007C029E4F60120832EE4218326E406C075 +:1098000029E6F60120832EE6218326E62283FC0149 +:109810002B2D30E2222319F031932150FBCFFC0194 +:10982000EB0DF11D10828EEF9FEFB7C0B1E061111B +:1098300001C0B0E04B2F50E01816190624F49C012B +:109840002F5F3F4F02C021E030E0240F351F11236E +:1098500029F0412F50E04F5F5F4F02C040E050E0E1 +:10986000420F531F2B2D30E04217530714F4B41A44 +:1098700001C0B12C2E2D287159F4F6012B2D30E2A8 +:10988000222319F031932150FBCFCB0CD11CB12CEA +:10989000BB2331F0F601608396012F5F3F4F6901D2 +:1098A000A1110BC0F6012B2D30E3222319F03193C7 +:1098B0002150FBCFCB0CD11CB12CF80E0A81372FD5 +:1098C0003071A32E74FF03C0013309F4FA941F14FE +:1098D0002CF42F2D293018F028E001C021E0682F4A +:1098E000392F97FF02C060E030E0462F532F612CE4 +:1098F000712C3EE2932EBC01621B71099B01DC01BD +:10990000A41BB50BE1E0F0E0EC0FFD1FAE0FBF1F95 +:10991000E12EF12CF194E194F1084F3FFFEF5F0746 +:1099200031F4F6019082B6016F5F7F4F6B018417AF +:1099300095074CF02417350734F4BD01660D771DEB +:10994000FB01118101C010E341505109FFEF6F1A73 +:109950007F0AB6016F5F7F4F4E155F0524F0F60159 +:1099600010836B01DACF4817590739F4063320F416 +:10997000053319F4A11001C011E3F6011083FB01B6 +:109980008B2D90E2882319F091938150FBCFFB013E +:10999000EB0DF11D108280E090E029960FB6F8944F +:1099A000DEBF0FBECDBFDF91CF911F910F91FF9012 +:1099B000EF90DF90CF90BF90AF909F907F906F908F +:1099C0000895283008F027E03327DA01990F311D78 +:1099D00087FD916000966105710539F432602E5F54 +:1099E0003D9330E32A95E1F708959F3F30F08038AA +:1099F0007105610509F03C5F3C5F3D93913008F0D3 +:109A00008068911DDF93CF931F930F93FF92EF9286 +:109A1000192F987F9695E92F96959695E90FFF2730 +:109A2000E957FB4999273327EE24FF24A701E701D3 +:109A300005900894079428F4360FE71EF81E491F76 +:109A4000511D660F771F881F991F0694A1F7059077 +:109A5000079428F4E70EF81E491F561FC11D770F03 +:109A6000881F991F661F0694A1F70590079428F494 +:109A7000F80E491F561FC71FD11D880F991F661F5B +:109A8000771F0694A1F70590079420F4490F561FFD +:109A9000C71FD81F990F661F771F881F0694A9F745 +:109AA00084911095177041F0D695C79557954795B5 +:109AB000F794E7941A95C1F7EDE2F4E668941590EF +:109AC000159135916591959105907FE27395E11817 +:109AD000F10A430B560BC90BD009C0F7E10CF11E7C +:109AE000431F561FC91FD01D7EF4703311F48A9591 +:109AF000E6CFE894015030F0080F0AF4002702176F +:109B000008F4202F2395022F7A3328F079E37D93F0 +:109B10002A95E9F710C07D932A9589F606949795C2 +:109B20006795379517951794E118F10A430B560B73 +:109B3000C90BD00998F023957E9173957A3308F07C +:109B400070E37C932013B8F77E9170617D9330F0C1 +:109B5000839571E37D9370E32A95E1F71124EF90EB +:109B6000FF900F911F91CF91DF91992787FD9095DD +:109B70000895992788270895FC0105906150704049 +:109B80000110D8F7809590958E0F9F1F0895FC01C6 +:109B90006150704001900110D8F7809590958E0F1C +:109BA0009F1F08950F931F93CF93DF93182F092FB3 +:109BB000EB018B8181FD03C08FEF9FEF20C082FFFF +:109BC00010C04E815F812C813D81421753077CF488 +:109BD000E881F9819F012F5F3F4F398328831083EC +:109BE00006C0E885F985812F1995892B29F72E81E3 +:109BF0003F812F5F3F4F3F832E83812F902FDF9137 +:109C0000CF911F910F910895FA01AA27283051F1A1 +:109C1000203181F1E8946F936E7F6E5F7F4F8F4F9D +:109C20009F4FAF4FB1E03ED0B4E03CD0670F781FFC +:109C3000891F9A1FA11D680F791F8A1F911DA11DE1 +:109C40006A0F711D811D911DA11D20D009F468941A +:109C50003F912AE0269F11243019305D3193DEF6C2 +:109C6000CF010895462F4770405D4193B3E00FD078 +:109C7000C9F7F6CF462F4F70405D4A3318F0495D63 +:109C800031FD4052419302D0A9F7EACFB4E0A69546 +:109C90009795879577956795BA95C9F70097610568 +:109CA000710508959B01AC010A2E069457954795BE +:109CB00037952795BA95C9F7620F731F841F951FB3 +:109CC000A01D089515E6C0E3D5E600E006C0229782 +:109CD0000109FE010BBF0F9428C4C233D10780E0F5 +:089CE0000807A9F7F894FFCF73 +:109CE8000000481A80000101010160EA00000080BC +:109CF800BB4402FFFFFFFF0100010000004100001C +:109D08003442000050410000404000007F43000002 +:109D180052430000524300000000000080C09A999E +:109D2800193E0000803F000040406400810181012D +:109D38008101810164006400640000803B4500806B +:109D48003B45000048440000000001180100003EA7 +:109D58004301010101019001EE02EE029001EE02C1 +:109D6800EE029001EE02EE02B1151401FF3FFF3F33 +:109D7800FF3F4C62B045E65A343F8F42FC42000038 +:109D8800803FB099AB43FF08433E3D0A814101FF44 +:109D98000303030303030303020202020101010197 +:109DA80002020404E6EBC8F00A0A140A0D14192387 +:109DB8000D1419232927434201029E010100005274 +:109DC80043011E000101FF0000C8420000C8420014 +:109DD80000C84300008C430000484300004843008B +:109DE8000040410000F042E8030000E8030000C81A +:109DF8000000008813000000004000140054000018 +:109E08001F1511151F00000C12120C000000000491 +:109E18000A0A0A0A11110E040E1F041C0000000091 +:109E280006191803130C00001C1F11111F00000055 +:109E380004120912040000000E1315110E00000090 +:109E480000000000110A041F1F1F1F1F1F1F1F00F3 +:109E580000110A04110A046164635F696E69740081 +:109E6800000000001C3F30014D3834004D203834CC +:109E7800004D3131370043524153485F4445544502 +:109E8800435445440043524153485F5245434F565B +:109E980045520043524153485F43414E43454C00AD +:109EA80050525553410050696E670050524E00465B +:109EB800414E0045303A002052504D0050524E302D +:109EC8003A00666E004E6F7420696E206661726D8E +:109ED800206D6F64652E006676004D323800534E53 +:109EE800003B530046697200332E312E312D524308 +:109EF800350052657600315F37356D6D5F4D4B33F8 +:109F08002D45494E53795F3130612D4533447636BE +:109F180066756C6C004C616E67004C7A0053455254 +:109F280049414C204C4F570053455249414C204819 +:109F38004947480042656174004652005072757383 +:109F480061206933204D4B330020703A0020693A74 +:109F58000020643A0020633A00746D633231333074 +:109F68005F73675F7468725B585D3D00746D633240 +:109F78003133305F73675F7468725B595D3D00749D +:109F88006D63323133305F73675F7468725B5A5D3B +:109F98003D00746D63323133305F73675F7468728C +:109FA8005B455D3D00437261736844657465637425 +:109FB80020454E41424C4544210043726173684438 +:109FC80065746563742044495341424C45440058C4 +:109FD800595A45000000005BAF30012F004E6F74E6 +:109FE800207072696E74696E6700416E20657272C6 +:109FF8006F72207768696C652077726974696E671B +:10A0080020746F2074686520534420436172642E65 +:10A018000053442D5052494E54494E472020202089 +:10A0280020202020200001006F70656E2066616985 +:10A038006C65642C2046696C653A20004D313132DC +:10A048000035FA8E3B1F42093B5049442041757444 +:10A058006F74756E65207374617274005049442082 +:10A068004175746F74756E65206661696C65642EE0 +:10A0780020426164206578747275646572206E751B +:10A088006D6265722E00746D63323133305F7365B3 +:10A09800745F70776D5F616D706C2000746D6332F2 +:10A0A8003133305F7365745F70776D5F67726164B9 +:10A0B80020004F4B005B50524E3A005B5354303AED +:10A0C800005D5B5354423A005D5B4154303A005D99 +:10A0D8005B4154423A003E004C616E6775616765AA +:10A0E80000537461746973746963730053686970A9 +:10A0F80070696E67207072657000416C6C204461F5 +:10A108007461007B5B4552523A345D007B5B45527B +:10A11800523A335D007B5B4552523A325D007B5BBD +:10A128004552523A315D007B5B50524E3A355D00E4 +:10A138007B007B5B50524E3A305D5B50464E3A0096 +:10A148007B5B50524E3A395D007B5B50524E3A3839 +:10A158005D007B5B5245533A305D007B5B52455353 +:10A168003A315D007B5B50524E3A39395D005B54A1 +:10A1780046553A005D5B5043443A005D5B46454DA9 +:10A188003A005D5B464E4D3A005D5B54494D3A00DE +:10A198005D5B4657523A005D7D004661726D206EE8 +:10A1A8006F005E00206D6D0046696C2E2058643A81 +:10A1B8000059643A00496E743A202020202020205B +:10A1C80020202020202000536875743A2020202069 +:10A1D800006D2000636D006820006B6D0068002032 +:10A1E8002020202020202020202020202020202067 +:10A1F800202020005072696E74206F6B203F007C15 +:10A20800002D2D2D2D2D2D2D2D2D2D2D2D2D2D2DA3 +:10A218002D2D2D2D2D00486F74656E6400426564E8 +:10A22800004731205837302059004731205900471E +:10A2380031205835302059004D333031205000201E +:10A2480049002044004731205A004D31303920530D +:10A25800004D313034205300473120580047312019 +:10A26800583530205933352045004D33303320459B +:10A278003020530025642F36002F30004578747243 +:10A288007564657220004C6F6164696E6720666949 +:10A298006C616D656E740000C0284500C0284500DB +:10A2A800007A440000C8426E616E00696E66006FF5 +:04A2B80076660000C6 +:00000001FF From 485355274e1d40445e6c635a382297cd6b2e5e0d Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 2 Feb 2018 20:25:19 +0100 Subject: [PATCH 010/926] Optimized the MarlinSerial class by declaring all methods static. The MarlinSerial defines no member variable, though the AVR GCC stored a "this" pointer onto stack when calling the non-static methods anyway. --- Firmware/MarlinSerial.cpp | 7 ----- Firmware/MarlinSerial.h | 65 +++++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 40 deletions(-) diff --git a/Firmware/MarlinSerial.cpp b/Firmware/MarlinSerial.cpp index 0464fe41f..02903a776 100644 --- a/Firmware/MarlinSerial.cpp +++ b/Firmware/MarlinSerial.cpp @@ -99,13 +99,6 @@ ISR(USART1_RX_vect) #endif #endif -// Constructors //////////////////////////////////////////////////////////////// - -MarlinSerial::MarlinSerial() -{ - -} - // Public Methods ////////////////////////////////////////////////////////////// void MarlinSerial::begin(long baud) diff --git a/Firmware/MarlinSerial.h b/Firmware/MarlinSerial.h index d23b69f09..5c2245df9 100644 --- a/Firmware/MarlinSerial.h +++ b/Firmware/MarlinSerial.h @@ -90,14 +90,13 @@ class MarlinSerial //: public Stream { public: - MarlinSerial(); - void begin(long); - void end(); - int peek(void); - int read(void); - void flush(void); + static void begin(long); + static void end(); + static int peek(void); + static int read(void); + static void flush(void); - FORCE_INLINE int available(void) + static FORCE_INLINE int available(void) { return (unsigned int)(RX_BUFFER_SIZE + rx_buffer.head - rx_buffer.tail) % RX_BUFFER_SIZE; } @@ -110,7 +109,7 @@ class MarlinSerial //: public Stream M_UDRx = c; } */ - void write(uint8_t c) + static void write(uint8_t c) { if (selectedSerialPort == 0) { @@ -124,7 +123,7 @@ class MarlinSerial //: public Stream } } - void checkRx(void) + static void checkRx(void) { if (selectedSerialPort == 0) { if((M_UCSRxA & (1< Date: Fri, 2 Feb 2018 20:37:03 +0100 Subject: [PATCH 011/926] Adjusted the features for the debug buid: Removed DEBUG_DISABLE_STARTMSGS. This macro defeats the purpose of the build server and the build messages of the non-release builds. Removed DEBUG_DUMP_TO_2ND_SERIAL for performance reasons. --- Firmware/Configuration_prusa.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index df209fe61..74b146c30 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -119,7 +119,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored //#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored //#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages +//#define DEBUG_DISABLE_STARTMSGS //no startup messages //#define DEBUG_DISABLE_MINTEMP //mintemp error ignored //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line @@ -130,7 +130,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_BLINK_ACTIVE //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) //#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) -#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line +//#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line #define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #endif /* DEBUG_BUILD */ From c2950b01a6b99a29ac568b3d8617ad8ed6cbfb12 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 2 Feb 2018 20:42:09 +0100 Subject: [PATCH 012/926] Added macros for outputting serial data onto the logical analyzer line at 2 megabaud, 9bits, 1 stop bit. At this high rate the serial output takes next to no time, so it does not slow down the debugged firmware too much, and the data is nicely aligned with the other debug signals on the logical analyzer screen. --- Firmware/pins_Einy_0_4.h | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/Firmware/pins_Einy_0_4.h b/Firmware/pins_Einy_0_4.h index 1c408d45c..dd63d86e9 100644 --- a/Firmware/pins_Einy_0_4.h +++ b/Firmware/pins_Einy_0_4.h @@ -142,11 +142,24 @@ #define LOGIC_ANALYZER_CH6 17 // PH1 (TXD2) #define LOGIC_ANALYZER_CH7 76 // PJ5 -#define LOGIC_ANALYZER_CH0_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH0) -#define LOGIC_ANALYZER_CH1_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH1) -#define LOGIC_ANALYZER_CH2_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH2) -#define LOGIC_ANALYZER_CH3_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH3) -#define LOGIC_ANALYZER_CH4_ENABLE do { DDRK |= 1 << 0; } while (0) -#define LOGIC_ANALYZER_CH5_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH5); } while (0) -#define LOGIC_ANALYZER_CH6_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH6); } while (0) -#define LOGIC_ANALYZER_CH7_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH7) +#define LOGIC_ANALYZER_CH0_ENABLE do { SET_OUTPUT(LOGIC_ANALYZER_CH0); WRITE(LOGIC_ANALYZER_CH0, false); } while (0) +#define LOGIC_ANALYZER_CH1_ENABLE do { SET_OUTPUT(LOGIC_ANALYZER_CH1); WRITE(LOGIC_ANALYZER_CH1, false); } while (0) +#define LOGIC_ANALYZER_CH2_ENABLE do { SET_OUTPUT(LOGIC_ANALYZER_CH2); WRITE(LOGIC_ANALYZER_CH2, false); } while (0) +#define LOGIC_ANALYZER_CH3_ENABLE do { SET_OUTPUT(LOGIC_ANALYZER_CH3); WRITE(LOGIC_ANALYZER_CH3, false); } while (0) +#define LOGIC_ANALYZER_CH4_ENABLE do { DDRK |= 1 << 0; WRITE_LOGIC_ANALYZER_CH4(false); } while (0) +#define LOGIC_ANALYZER_CH5_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH5); WRITE(LOGIC_ANALYZER_CH5, false); } while (0) +#define LOGIC_ANALYZER_CH6_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH6); WRITE(LOGIC_ANALYZER_CH6, false); } while (0) +#define LOGIC_ANALYZER_CH7_ENABLE do { SET_OUTPUT(LOGIC_ANALYZER_CH7); WRITE(LOGIC_ANALYZER_CH7, false); } while (0) + +// Async output on channel 5 of the logical analyzer. +// Baud rate 2MBit, 9 bits, 1 stop bit. +#define LOGIC_ANALYZER_SERIAL_TX_ENABLE do { UBRR2H = 0; UBRR2L = 0; UCSR2B = (1 << TXEN2) | (1 << UCSZ02); UCSR2C = 0x06; } while (0) +// Non-checked (quicker) variant. Use it if you are sure that the transmit buffer is already empty. +#define LOGIC_ANALYZER_SERIAL_TX_WRITE_NC(C) do { if (C & 0x100) UCSR2B |= 1; else UCSR2B &= ~1; UDR2 = C; } while (0) +#define LOGIC_ANALYZER_SERIAL_TX_WRITE(C) do { \ + /* Wait for empty transmit buffer */ \ + while (!(UCSR2A & (1< Date: Fri, 2 Feb 2018 20:45:45 +0100 Subject: [PATCH 013/926] A bit of documentation. --- Firmware/planner.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index d7f30d23f..880ab650d 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -186,12 +186,16 @@ FORCE_INLINE float intersection_distance(float initial_rate, float final_rate, f } } +// Minimum stepper rate 120Hz. #define MINIMAL_STEP_RATE 120 // 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_speed, float exit_speed) { // These two lines are the only floating point calculations performed in this routine. + // initial_rate, final_rate in Hz. + // Minimum stepper rate 120Hz, maximum 40kHz. If the stepper rate goes above 10kHz, + // the stepper interrupt routine groups the pulses by 2 or 4 pulses per interrupt tick. uint32_t initial_rate = ceil(entry_speed * block->speed_factor); // (step/min) uint32_t final_rate = ceil(exit_speed * block->speed_factor); // (step/min) From 9acd41a942f4a24febea7c01bf4273de3835e4ca Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 2 Feb 2018 22:55:50 +0100 Subject: [PATCH 014/926] Reworked the stepper routine: 1) The computational load is spread more evenly along the stepper ISR ticks by moving some of the timer and linear advance calculation from the block initialization into the 1st tick of the steady phase of the trapezoid. 2) Reworked planning of the Linear Advance ISR ticks to fit the time slot allocated for the main stepper ISR tick. This is achieved by grouping the Linear Advance extruder ticks by a power of two to tick the Linear Advance interrupts at a maximum 7kHz. Also some of the extruder ticks are performed just after the XYZ ticks and if the remaining time slot for the Linear Advance ticks is too short, all the Linear Advance steps are ticked inside the main stepper ISR invocation. 3) Added some calls to MSerial.checkRx() if the stepper ISR routine is delayed for too long by the additional LinearAdvance ticks. This implementation differs significantly from the original implementation by @Sebastianv650, as this implementation tries to follow the exact timing of the XYZ axes with the drawback of possibly ticking the extruder faster than it could handle, while the original implementation by @Sebastianv650 ticks the extruder slower with the drawback of possibly spreading the XYZ ticks, thus introducing jerk in the cartesian movement. --- Firmware/stepper.cpp | 502 +++++++++++++++++++++++++------------------ 1 file changed, 291 insertions(+), 211 deletions(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 61a2f7f63..c636ae391 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -109,22 +109,24 @@ uint8_t LastStepMask = 0; #ifdef LIN_ADVANCE - uint16_t ADV_NEVER = 65535; - static uint16_t nextMainISR = 0; - static uint16_t nextAdvanceISR = ADV_NEVER; - static uint16_t eISR_Rate = ADV_NEVER; + static uint16_t eISR_Rate; - static volatile int e_steps; //Extrusion steps to be executed by the stepper - static int final_estep_rate; //Speed of extruder at cruising speed - static int current_estep_rate; //The current speed of the extruder - static int current_adv_steps; //The current pretension of filament expressed in steps - - #define ADV_RATE(T, L) (e_steps ? (T) * (L) / abs(e_steps) : ADV_NEVER) - #define _NEXT_ISR(T) nextMainISR = T + // Extrusion steps to be executed by the stepper. + // If set to non zero, the timer ISR routine will tick the Linear Advance extruder ticks first. + // If e_steps is zero, then the timer ISR routine will perform the usual DDA step. + static volatile int16_t e_steps = 0; + // How many extruder steps shall be ticked at a single ISR invocation? + static uint8_t estep_loops; + // The current speed of the extruder, scaled by the linear advance constant, so it has the same measure + // as current_adv_steps. + static int current_estep_rate; + // The current pretension of filament expressed in extruder micro steps. + static int current_adv_steps; + #define _NEXT_ISR(T) nextMainISR = T #else - #define _NEXT_ISR(T) OCR1A = T + #define _NEXT_ISR(T) OCR1A = T #endif #ifdef DEBUG_STEPPER_TIMER_MISSED @@ -339,26 +341,6 @@ FORCE_INLINE unsigned short calc_timer(uint16_t step_rate) { return timer; } -// Initializes the trapezoid generator from the current block. Called whenever a new -// block begins. -FORCE_INLINE void trapezoid_generator_reset() { - deceleration_time = 0; - // step_rate to timer interval - OCR1A_nominal = calc_timer(uint16_t(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 = uint16_t(current_block->initial_rate); - acceleration_time = calc_timer(acc_step_rate); - _NEXT_ISR(acceleration_time); - - #ifdef LIN_ADVANCE - if (current_block->use_advance_lead) { - current_estep_rate = ((unsigned long)acc_step_rate * current_block->abs_adv_steps_multiplier8) >> 17; - final_estep_rate = (current_block->nominal_rate * current_block->abs_adv_steps_multiplier8) >> 17; - } - #endif -} - // "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) { @@ -366,16 +348,61 @@ ISR(TIMER1_COMPA_vect) { uint16_t sp = SPL + 256 * SPH; if (sp < SP_min) SP_min = sp; #endif //DEBUG_STACK_MONITOR - #ifdef LIN_ADVANCE - advance_isr_scheduler(); - #else - isr(); - #endif + +#ifdef LIN_ADVANCE + // If there are any e_steps planned, tick them. + bool run_main_isr = false; + if (e_steps) { + //WRITE_NC(LOGIC_ANALYZER_CH7, true); + for (uint8_t i = estep_loops; e_steps && i --;) { + WRITE_NC(E0_STEP_PIN, !INVERT_E_STEP_PIN); + -- e_steps; + WRITE_NC(E0_STEP_PIN, INVERT_E_STEP_PIN); + } + if (e_steps) { + // Plan another Linear Advance tick. + OCR1A = eISR_Rate; + nextMainISR -= eISR_Rate; + } else if (! (nextMainISR & 0x8000) || nextMainISR < 16) { + // The timer did not overflow and it is big enough, so it makes sense to plan it. + OCR1A = nextMainISR; + } else { + // The timer has overflown, or it is too small. Run the main ISR just after the Linear Advance routine + // in the current interrupt tick. + run_main_isr = true; + //FIXME pick the serial line. + } + //WRITE_NC(LOGIC_ANALYZER_CH7, false); + } else + run_main_isr = true; + + if (run_main_isr) +#endif + isr(); + + // Don't run the ISR faster than possible +// if (OCR1A < TCNT1 + 16) OCR1A = TCNT1 + 16; +#ifdef DEBUG_STEPPER_TIMER_MISSED + // Verify whether the next planned timer interrupt has not been missed already. + // This debugging test takes < 1.125us + // This skews the profiling slightly as the fastest stepper timer + // interrupt repeats at a 100us rate (10kHz). + if (OCR1A < TCNT1) { + stepper_timer_overflow_state = true; + WRITE_NC(BEEPER, HIGH); + SERIAL_PROTOCOLPGM("Stepper timer overflow "); + SERIAL_PROTOCOL(OCR1A); + SERIAL_PROTOCOLPGM("<"); + SERIAL_PROTOCOL(TCNT1); + SERIAL_PROTOCOLLN("!"); + } +#endif } FORCE_INLINE void stepper_next_block() { // Anything in the buffer? + //WRITE_NC(LOGIC_ANALYZER_CH2, true); current_block = plan_get_current_block(); if (current_block != NULL) { #ifdef PAT9125 @@ -384,7 +411,19 @@ FORCE_INLINE void stepper_next_block() #endif //PAT9125 // The busy flag is set by the plan_get_current_block() call. // current_block->busy = true; - trapezoid_generator_reset(); + // Initializes the trapezoid generator from the current block. Called whenever a new + // block begins. + deceleration_time = 0; + // Set the nominal step loops to zero to indicate, that the timer value is not known yet. + // That means, delay the initialization of nominal step rate and step loops until the steady + // state is reached. + step_loops_nominal = 0; + acc_step_rate = uint16_t(current_block->initial_rate); + acceleration_time = calc_timer(acc_step_rate); +#ifdef LIN_ADVANCE + current_estep_rate = ((unsigned long)acc_step_rate * current_block->abs_adv_steps_multiplier8) >> 17; +#endif /* LIN_ADVANCE */ + if (current_block->flag & BLOCK_FLAG_DDA_LOWRES) { counter_x.lo = -(current_block->step_event_count.lo >> 1); counter_y.lo = counter_x.lo; @@ -421,27 +460,30 @@ FORCE_INLINE void stepper_next_block() WRITE_NC(Z_DIR_PIN,!INVERT_Z_DIR); count_direction[Z_AXIS]=1; } -#ifndef LIN_ADVANCE if ((out_bits & (1 << E_AXIS)) != 0) { // -direction +#ifndef LIN_ADVANCE WRITE(E0_DIR_PIN, #ifdef SNMM (snmm_extruder == 0 || snmm_extruder == 2) ? !INVERT_E0_DIR : #endif // SNMM INVERT_E0_DIR); +#endif /* LIN_ADVANCE */ count_direction[E_AXIS] = -1; } else { // +direction +#ifndef LIN_ADVANCE WRITE(E0_DIR_PIN, #ifdef SNMM (snmm_extruder == 0 || snmm_extruder == 2) ? INVERT_E0_DIR : #endif // SNMM !INVERT_E0_DIR); +#endif /* LIN_ADVANCE */ count_direction[E_AXIS] = 1; } -#endif /* LIN_ADVANCE */ } else { - _NEXT_ISR(2000); // 1kHz. + OCR1A = 2000; // 1kHz. } + //WRITE_NC(LOGIC_ANALYZER_CH2, false); } // Check limit switches. @@ -588,14 +630,6 @@ FORCE_INLINE void stepper_tick_lowres() { for (uint8_t i=0; i < step_loops; ++ i) { // Take multiple steps per interrupt (For high speed moves) MSerial.checkRx(); // Check for serial chars. -#ifdef LIN_ADVANCE - counter_e.lo += current_block->steps_e.lo; - if (counter_e.lo > 0) { - counter_e.lo -= current_block->step_event_count.lo; - count_position[E_AXIS] += count_direction[E_AXIS]; - ((out_bits&(1<steps_x.lo; if (counter_x.lo > 0) { @@ -635,19 +669,23 @@ FORCE_INLINE void stepper_tick_lowres() count_position[Z_AXIS]+=count_direction[Z_AXIS]; WRITE_NC(Z_STEP_PIN, INVERT_Z_STEP_PIN); } -#ifndef LIN_ADVANCE // Step in E axis counter_e.lo += current_block->steps_e.lo; if (counter_e.lo > 0) { +#ifndef LIN_ADVANCE WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN); +#endif /* LIN_ADVANCE */ counter_e.lo -= current_block->step_event_count.lo; - count_position[E_AXIS]+=count_direction[E_AXIS]; - WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); -#ifdef PAT9125 + count_position[E_AXIS] += count_direction[E_AXIS]; +#ifdef LIN_ADVANCE + ++ e_steps; +#else + #ifdef PAT9125 ++ fsensor_counter; -#endif //PAT9125 - } + #endif //PAT9125 + WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); #endif + } if(++ step_events_completed.lo >= current_block->step_event_count.lo) break; } @@ -657,14 +695,6 @@ FORCE_INLINE void stepper_tick_highres() { for (uint8_t i=0; i < step_loops; ++ i) { // Take multiple steps per interrupt (For high speed moves) MSerial.checkRx(); // Check for serial chars. -#ifdef LIN_ADVANCE - counter_e.wide += current_block->steps_e.wide; - if (counter_e.wide > 0) { - counter_e.wide -= current_block->step_event_count.wide; - count_position[E_AXIS] += count_direction[E_AXIS]; - ((out_bits&(1<steps_x.wide; if (counter_x.wide > 0) { @@ -704,25 +734,34 @@ FORCE_INLINE void stepper_tick_highres() count_position[Z_AXIS]+=count_direction[Z_AXIS]; WRITE_NC(Z_STEP_PIN, INVERT_Z_STEP_PIN); } -#ifndef LIN_ADVANCE // Step in E axis counter_e.wide += current_block->steps_e.wide; if (counter_e.wide > 0) { +#ifndef LIN_ADVANCE WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN); +#endif /* LIN_ADVANCE */ counter_e.wide -= current_block->step_event_count.wide; count_position[E_AXIS]+=count_direction[E_AXIS]; - WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); -#ifdef PAT9125 +#ifdef LIN_ADVANCE + ++ e_steps; +#else + #ifdef PAT9125 ++ fsensor_counter; -#endif //PAT9125 - } + #endif //PAT9125 + WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); #endif + } if(++ step_events_completed.wide >= current_block->step_event_count.wide) break; } } -void isr() { +// 50us delay +#define LIN_ADV_FIRST_TICK_DELAY 100 + +FORCE_INLINE void isr() { + //WRITE_NC(LOGIC_ANALYZER_CH0, true); + //if (UVLO) uvlo(); // If there is no current block, attempt to pop one from the buffer if (current_block == NULL) @@ -733,101 +772,215 @@ void isr() { if (current_block != NULL) { stepper_check_endstops(); +#ifdef LIN_ADVANCE + e_steps = 0; +#endif /* LIN_ADVANCE */ if (current_block->flag & BLOCK_FLAG_DDA_LOWRES) stepper_tick_lowres(); else stepper_tick_highres(); #ifdef LIN_ADVANCE + if (out_bits&(1<use_advance_lead) { - const int delta_adv_steps = current_estep_rate - current_adv_steps; - current_adv_steps += delta_adv_steps; - e_steps += delta_adv_steps; - } - // If we have esteps to execute, fire the next advance_isr "now" - if (e_steps) nextAdvanceISR = 0; -#endif - - // Calculare new timer value - unsigned short timer; - uint16_t step_rate; - if (step_events_completed.wide <= (unsigned long int)current_block->accelerate_until) { - // v = t * a -> acc_step_rate = acceleration_time * current_block->acceleration_rate - MultiU24X24toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); - acc_step_rate += uint16_t(current_block->initial_rate); - - // upper limit - if(acc_step_rate > uint16_t(current_block->nominal_rate)) - acc_step_rate = current_block->nominal_rate; - - // step_rate to timer interval - timer = calc_timer(acc_step_rate); - _NEXT_ISR(timer); - acceleration_time += timer; - -#ifdef LIN_ADVANCE - if (current_block->use_advance_lead) { - current_estep_rate = ((uint32_t)acc_step_rate * current_block->abs_adv_steps_multiplier8) >> 17; + //int esteps_inc = 0; + //esteps_inc = current_estep_rate - current_adv_steps; + //e_steps += esteps_inc; + e_steps += current_estep_rate - current_adv_steps; +#if 0 + if (abs(esteps_inc) > 4) { + LOGIC_ANALYZER_SERIAL_TX_WRITE(esteps_inc); + if (esteps_inc < -511 || esteps_inc > 511) + LOGIC_ANALYZER_SERIAL_TX_WRITE(esteps_inc >> 9); } - eISR_Rate = ADV_RATE(timer, step_loops); #endif - } - else if (step_events_completed.wide > (unsigned long int)current_block->decelerate_after) { - MultiU24X24toH16(step_rate, deceleration_time, current_block->acceleration_rate); + current_adv_steps = current_estep_rate; + } + // If we have esteps to execute, step some of them now. + if (e_steps) { + //WRITE_NC(LOGIC_ANALYZER_CH7, true); + // Set the step direction. + { + bool neg = e_steps < 0; + bool dir = + #ifdef SNMM + (neg == (snmm_extruder & 1)) + #else + neg + #endif + ? INVERT_E0_DIR : !INVERT_E0_DIR; //If we have SNMM, reverse every second extruder. + WRITE_NC(E0_DIR_PIN, dir); + if (neg) + // Flip the e_steps counter to be always positive. + e_steps = - e_steps; + } + // Tick min(step_loops, abs(e_steps)). + estep_loops = (e_steps & 0x0ff00) ? 4 : e_steps; + if (step_loops < estep_loops) + estep_loops = step_loops; + #ifdef PAT9125 + fsensor_counter += estep_loops; + #endif //PAT9125 + do { + WRITE_NC(E0_STEP_PIN, !INVERT_E_STEP_PIN); + -- e_steps; + WRITE_NC(E0_STEP_PIN, INVERT_E_STEP_PIN); + } while (-- estep_loops != 0); + //WRITE_NC(LOGIC_ANALYZER_CH7, false); + MSerial.checkRx(); // Check for serial chars. + } +#endif - if(step_rate > acc_step_rate) { // Check step_rate stays positive - step_rate = uint16_t(current_block->final_rate); + // Calculare new timer value + // 13.38-14.63us for steady state, + // 25.12us for acceleration / deceleration. + { + //WRITE_NC(LOGIC_ANALYZER_CH1, true); + if (step_events_completed.wide <= (unsigned long int)current_block->accelerate_until) { + // v = t * a -> acc_step_rate = acceleration_time * current_block->acceleration_rate + MultiU24X24toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); + acc_step_rate += uint16_t(current_block->initial_rate); + // upper limit + if(acc_step_rate > uint16_t(current_block->nominal_rate)) + acc_step_rate = current_block->nominal_rate; + // step_rate to timer interval + uint16_t timer = calc_timer(acc_step_rate); + _NEXT_ISR(timer); + acceleration_time += timer; + #ifdef LIN_ADVANCE + if (current_block->use_advance_lead) + // int32_t = (uint16_t * uint32_t) >> 17 + current_estep_rate = ((uint32_t)acc_step_rate * current_block->abs_adv_steps_multiplier8) >> 17; + #endif + } + else if (step_events_completed.wide > (unsigned long int)current_block->decelerate_after) { + uint16_t step_rate; + MultiU24X24toH16(step_rate, deceleration_time, current_block->acceleration_rate); + step_rate = acc_step_rate - step_rate; // Decelerate from aceleration end point. + if ((step_rate & 0x8000) || step_rate < uint16_t(current_block->final_rate)) { + // Result is negative or too small. + step_rate = uint16_t(current_block->final_rate); + } + // Step_rate to timer interval. + uint16_t timer = calc_timer(step_rate); + _NEXT_ISR(timer); + deceleration_time += timer; + #ifdef LIN_ADVANCE + if (current_block->use_advance_lead) + current_estep_rate = ((uint32_t)step_rate * current_block->abs_adv_steps_multiplier8) >> 17; + #endif } else { - step_rate = acc_step_rate - step_rate; // Decelerate from aceleration end point. - } - - // lower limit - if(step_rate < uint16_t(current_block->final_rate)) - step_rate = uint16_t(current_block->final_rate); - - // step_rate to timer interval - timer = calc_timer(step_rate); - _NEXT_ISR(timer); - deceleration_time += timer; - -#ifdef LIN_ADVANCE - if (current_block->use_advance_lead) { - current_estep_rate = ((uint32_t)step_rate * current_block->abs_adv_steps_multiplier8) >> 17; + if (! step_loops_nominal) { + // Calculation of the steady state timer rate has been delayed to the 1st tick of the steady state to lower + // the initial interrupt blocking. + OCR1A_nominal = calc_timer(uint16_t(current_block->nominal_rate)); + step_loops_nominal = step_loops; + #ifdef LIN_ADVANCE + if (current_block->use_advance_lead) + current_estep_rate = (current_block->nominal_rate * current_block->abs_adv_steps_multiplier8) >> 17; + #endif } - eISR_Rate = ADV_RATE(timer, step_loops); -#endif + _NEXT_ISR(OCR1A_nominal); + } + //WRITE_NC(LOGIC_ANALYZER_CH1, false); } - else { + #ifdef LIN_ADVANCE - if (current_block->use_advance_lead) - current_estep_rate = final_estep_rate; - - eISR_Rate = ADV_RATE(OCR1A_nominal, step_loops_nominal); + if (e_steps && current_block->use_advance_lead) { + //WRITE_NC(LOGIC_ANALYZER_CH7, true); + MSerial.checkRx(); // Check for serial chars. + // Some of the E steps were not ticked yet. Plan additional interrupts. + uint16_t now = TCNT1; + // Plan the first linear advance interrupt after 50us from now. + uint16_t to_go = nextMainISR - now - LIN_ADV_FIRST_TICK_DELAY; + eISR_Rate = 0; + if ((to_go & 0x8000) == 0) { + // The to_go number is not negative. + // Count the number of 7812,5 ticks, that fit into to_go 2MHz ticks. + uint8_t ticks = to_go >> 8; + if (ticks == 1) { + // Avoid running the following loop for a very short interval. + estep_loops = 255; + eISR_Rate = 1; + } else if ((e_steps & 0x0ff00) == 0) { + // e_steps <= 0x0ff + if (uint8_t(e_steps) <= ticks) { + // Spread the e_steps along the whole go_to interval. + eISR_Rate = to_go / uint8_t(e_steps); + estep_loops = 1; + } else if (ticks != 0) { + // At least one tick fits into the to_go interval. Calculate the e-step grouping. + uint8_t e = uint8_t(e_steps) >> 1; + estep_loops = 2; + while (e > ticks) { + e >>= 1; + estep_loops <<= 1; + } + // Now the estep_loops contains the number of loops of power of 2, that will be sufficient + // to squeeze enough of Linear Advance ticks until nextMainISR. + // Calculate the tick rate. + eISR_Rate = to_go / ticks; + } + } else { + // This is an exterme case with too many e_steps inserted by the linear advance. + // At least one tick fits into the to_go interval. Calculate the e-step grouping. + estep_loops = 2; + uint16_t e = e_steps >> 1; + while (e & 0x0ff00) { + e >>= 1; + estep_loops <<= 1; + } + while (uint8_t(e) > ticks) { + e >>= 1; + estep_loops <<= 1; + } + // Now the estep_loops contains the number of loops of power of 2, that will be sufficient + // to squeeze enough of Linear Advance ticks until nextMainISR. + // Calculate the tick rate. + eISR_Rate = to_go / ticks; + } + } + if (eISR_Rate == 0) { + // There is not enough time to fit even a single additional tick. + // Tick all the extruder ticks now. + #ifdef PAT9125 + fsensor_counter += e_steps; + #endif //PAT9125 + MSerial.checkRx(); // Check for serial chars. + do { + WRITE_NC(E0_STEP_PIN, !INVERT_E_STEP_PIN); + -- e_steps; + WRITE_NC(E0_STEP_PIN, INVERT_E_STEP_PIN); + } while (e_steps); + OCR1A = nextMainISR; + } else { + // Tick the 1st Linear Advance interrupt after 50us from now. + nextMainISR -= LIN_ADV_FIRST_TICK_DELAY; + OCR1A = now + LIN_ADV_FIRST_TICK_DELAY; + } + //WRITE_NC(LOGIC_ANALYZER_CH7, false); + } else + OCR1A = nextMainISR; #endif - _NEXT_ISR(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.wide >= current_block->step_event_count.wide) { - #ifdef PAT9125 fsensor_st_block_chunk(current_block, fsensor_counter); - fsensor_counter = 0; + fsensor_counter = 0; #endif //PAT9125 - current_block = NULL; plan_discard_current_block(); } #ifdef PAT9125 - else if (fsensor_counter >= fsensor_chunk_len) - { + else if (fsensor_counter >= fsensor_chunk_len) + { fsensor_st_block_chunk(current_block, fsensor_counter); - fsensor_counter = 0; - } + fsensor_counter = 0; + } #endif //PAT9125 } @@ -835,83 +988,10 @@ void isr() { tmc2130_st_isr(LastStepMask); #endif //TMC2130 -#ifdef DEBUG_STEPPER_TIMER_MISSED - // Verify whether the next planned timer interrupt has not been missed already. - // This debugging test takes < 1.125us - // This skews the profiling slightly as the fastest stepper timer - // interrupt repeats at a 100us rate (10kHz). - if (OCR1A < TCNT1) { - stepper_timer_overflow_state = true; - WRITE_NC(BEEPER, HIGH); - SERIAL_PROTOCOLPGM("Stepper timer overflow "); - SERIAL_PROTOCOL(OCR1A); - SERIAL_PROTOCOLPGM("<"); - SERIAL_PROTOCOL(TCNT1); - SERIAL_PROTOCOLLN("!"); - } -#endif + //WRITE_NC(LOGIC_ANALYZER_CH0, false); } #ifdef LIN_ADVANCE - - // Timer interrupt for E. e_steps is set in the main routine. - -void advance_isr() { - if (e_steps) { - bool dir = -#ifdef SNMM - ((e_steps < 0) == (snmm_extruder & 1)) -#else - (e_steps < 0) -#endif - ? INVERT_E0_DIR : !INVERT_E0_DIR; //If we have SNMM, reverse every second extruder. - WRITE_NC(E0_DIR_PIN, dir); - - for (uint8_t i = step_loops; e_steps && i--;) { - WRITE_NC(E0_STEP_PIN, !INVERT_E_STEP_PIN); - e_steps < 0 ? ++e_steps : --e_steps; - WRITE_NC(E0_STEP_PIN, INVERT_E_STEP_PIN); -#ifdef PAT9125 - fsensor_counter++; -#endif //PAT9125 - - } - } - else { - eISR_Rate = ADV_NEVER; - } - nextAdvanceISR = eISR_Rate; -} - -void advance_isr_scheduler() { - // Run main stepping ISR if flagged - if (!nextMainISR) isr(); - - // Run Advance stepping ISR if flagged - if (!nextAdvanceISR) advance_isr(); - - // Is the next advance ISR scheduled before the next main ISR? - if (nextAdvanceISR <= nextMainISR) { - // Set up the next interrupt - OCR1A = nextAdvanceISR; - // New interval for the next main ISR - if (nextMainISR) nextMainISR -= nextAdvanceISR; - // Will call Stepper::advance_isr on the next interrupt - nextAdvanceISR = 0; - } - else { - // The next main ISR comes first - OCR1A = nextMainISR; - // New interval for the next advance ISR, if any - if (nextAdvanceISR && nextAdvanceISR != ADV_NEVER) - nextAdvanceISR -= nextMainISR; - // Will call Stepper::isr on the next interrupt - nextMainISR = 0; - } - - // Don't run the ISR faster than possible - if (OCR1A < TCNT1 + 16) OCR1A = TCNT1 + 16; -} void clear_current_adv_vars() { e_steps = 0; //Should be already 0 at an filament change event, but just to be sure.. From 2babbb3b112566e1076a98c27a5a1d02fe0ab687 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 2 Feb 2018 22:56:13 +0100 Subject: [PATCH 015/926] Enabled linear advance. --- Firmware/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Configuration_adv.h b/Firmware/Configuration_adv.h index 90f72462b..318036cde 100644 --- a/Firmware/Configuration_adv.h +++ b/Firmware/Configuration_adv.h @@ -316,7 +316,7 @@ * K=0 means advance disabled. * See Marlin documentation for calibration instructions. */ -//#define LIN_ADVANCE +#define LIN_ADVANCE #ifdef LIN_ADVANCE #define LIN_ADVANCE_K 0 //Try around 45 for PLA, around 25 for ABS. From abf956b86f331060ca6ee77090d94548db353670 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 6 Feb 2018 09:19:27 +0100 Subject: [PATCH 016/926] init --- Firmware/Configuration_prusa.h | 2 ++ Firmware/Marlin_main.cpp | 6 ++++-- Firmware/pins_Rambo_1_3.h | 4 ++++ Firmware/ultralcd.cpp | 7 +++++-- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 18edb0f15..4529582f4 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -237,6 +237,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} #endif +#define RPM_FANS + /*------------------------------------ PAT9125 SETTINGS *------------------------------------*/ diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 4c53d2851..195e2bb41 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5771,9 +5771,10 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp target[E_AXIS] -= FILAMENTCHANGE_FINALRETRACT; st_synchronize(); +#ifdef TMC2130 uint8_t tmc2130_current_r_bckp = tmc2130_current_r[E_AXIS]; tmc2130_set_current_r(E_AXIS, TMC2130_UNLOAD_CURRENT_R); - +#endif //TMC2130 target[E_AXIS] -= 45; plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 5200 / 60, active_extruder); st_synchronize(); @@ -5783,8 +5784,9 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp target[E_AXIS] -= 20; plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1000 / 60, active_extruder); st_synchronize(); - +#ifdef TMC2130 tmc2130_set_current_r(E_AXIS, tmc2130_current_r_bckp); +#endif //TMC2130 #endif // SNMM diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h index 314114c20..12f966dc2 100644 --- a/Firmware/pins_Rambo_1_3.h +++ b/Firmware/pins_Rambo_1_3.h @@ -134,3 +134,7 @@ #define LOGIC_ANALYZER_CH5_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH5); } while (0) #define LOGIC_ANALYZER_CH6_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH6); } while (0) #define LOGIC_ANALYZER_CH7_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH7) + + +TACH_0 +TACH_1 \ No newline at end of file diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 977691540..575325703 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5635,8 +5635,11 @@ static bool lcd_selftest() if (_result) { _progress = lcd_selftest_screen(1, _progress, 3, true, 2000); - //_progress = lcd_selftest_screen(2, _progress, 3, true, 2000); - _result = true;// lcd_selfcheck_endstops(); +#ifndef TMC2130 + _result = lcd_selfcheck_endstops(); +#else + _result = true; +#endif } if (_result) From 0c98ec5f6b6cda2ebc5c87e9fe7c1f388d080513 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 6 Feb 2018 17:01:09 +0100 Subject: [PATCH 017/926] selftest, max endstops undefined, initialization of extruder fan, y offset from extruder --- Firmware/Configuration_prusa.h | 6 +- Firmware/pins_Rambo_1_3.h | 8 +- Firmware/stepper.cpp | 7 ++ Firmware/temperature.cpp | 14 +-- Firmware/temperature.h | 2 +- Firmware/ultralcd.cpp | 204 ++++++++++++++------------------- Firmware/ultralcd.h | 11 +- 7 files changed, 117 insertions(+), 135 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 4529582f4..6ab962cd5 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -237,8 +237,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} #endif -#define RPM_FANS - /*------------------------------------ PAT9125 SETTINGS *------------------------------------*/ @@ -273,7 +271,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif @@ -463,6 +461,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define M600_TIMEOUT 600 //seconds +#define TACH0PULLUP + //#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h index 12f966dc2..a9fbd98d0 100644 --- a/Firmware/pins_Rambo_1_3.h +++ b/Firmware/pins_Rambo_1_3.h @@ -26,7 +26,7 @@ #define X_STEP_PIN 37 #define X_DIR_PIN 48 #define X_MIN_PIN 12 -#define X_MAX_PIN 30 +#define X_MAX_PIN -1 #define X_ENABLE_PIN 29 #define X_MS1_PIN 40 #define X_MS2_PIN 41 @@ -34,7 +34,7 @@ #define Y_STEP_PIN 36 #define Y_DIR_PIN 49 #define Y_MIN_PIN 11 -#define Y_MAX_PIN 24 +#define Y_MAX_PIN -1 #define Y_ENABLE_PIN 28 #define Y_MS1_PIN 69 #define Y_MS2_PIN 39 @@ -85,6 +85,7 @@ #define PS_ON_PIN -1 #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 TACH_0 30 // noctua extruder fan #ifdef ULTRA_LCD @@ -135,6 +136,3 @@ #define LOGIC_ANALYZER_CH6_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH6); } while (0) #define LOGIC_ANALYZER_CH7_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH7) - -TACH_0 -TACH_1 \ No newline at end of file diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 91f9b0158..645b2fdb2 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -1056,6 +1056,13 @@ void st_init() #endif #endif + #if defined(TACH_0) && TACH_0 > -1 + SET_INPUT(TACH_0); + #ifdef TACH0PULLUP + WRITE(TACH_0, HIGH); + #endif + #endif + //Initialize Step Pins #if defined(X_STEP_PIN) && (X_STEP_PIN > -1) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 01f115053..6458df35b 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -454,7 +454,7 @@ void setExtruderAutoFanState(int pin, bool state) analogWrite(pin, newFanSpeed); } -#if (defined(TACH_0)) +#if (defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) void countFanSpeed() { @@ -528,7 +528,7 @@ void fanSpeedError(unsigned char _fan) { break; } } -#endif //(defined(TACH_0)) +#endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) void checkExtruderAutoFans() @@ -711,10 +711,10 @@ void manage_heater() (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1) if(millis() - extruder_autofan_last_check > 1000) // only need to check fan state very infrequently { -#if (defined(TACH_0)) +#if (defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) countFanSpeed(); checkFanSpeed(); -#endif //(defined(TACH_0)) +#endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) checkExtruderAutoFans(); extruder_autofan_last_check = millis(); } @@ -1913,7 +1913,7 @@ ISR(TIMER0_COMPB_vect) } #endif //BABYSTEPPING -#if (defined(TACH_0)) +#if (defined(TACH_0) && TACH_0 > -1) check_fans(); #endif //(defined(TACH_0)) @@ -1990,8 +1990,8 @@ void check_min_temp() check_min_temp_heater0(); check_min_temp_bed(); } - -#if (defined(TACH_0)) + +#if (defined(TACH_0) && TACH_0 > -1) void check_fans() { if (READ(TACH_0) != fan_state[0]) { fan_edge_counter[0] ++; diff --git a/Firmware/temperature.h b/Firmware/temperature.h index cc07621f5..952a9df35 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -227,7 +227,7 @@ void setExtruderAutoFanState(int pin, bool state); void checkExtruderAutoFans(); -#if (defined(TACH_0)) +#if (defined(TACH_0) && TACH_0 > -1) void countFanSpeed(); void checkFanSpeed(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 575325703..537507c3f 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1483,6 +1483,7 @@ static void lcd_menu_extruder_info() // Display Nozzle fan RPM +#if (defined(TACH_1)) lcd.setCursor(0, 1); lcd_printPGM(MSG_INFO_PRINT_FAN); @@ -1491,7 +1492,7 @@ static void lcd_menu_extruder_info() lcd.setCursor(12, 1); lcd.print(itostr4(fan_speed_RPM[1])); lcd.print(" RPM"); - +#endif // Display X and Y difference from Filament sensor @@ -3707,7 +3708,7 @@ void lcd_wizard(int state) { case CALIBRATION_STATUS_CALIBRATED: end = true; eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); break; default: state = 2; break; //if calibration status is unknown, run wizard from the beginning } - break; + break; case 2: //selftest lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_SELFTEST); wizard_event = lcd_selftest(); @@ -5629,7 +5630,11 @@ static bool lcd_selftest() if (_result) { _progress = lcd_selftest_screen(0, _progress, 3, true, 2000); +#if (defined(TACH_1)) _result = lcd_selftest_fan_dialog(1); +#else //defined(TACH_1) + _result = lcd_selftest_manual_fan_check(1, false); +#endif //defined(TACH_1) } if (_result) @@ -5888,13 +5893,11 @@ static bool lcd_selfcheck_axis_sg(char axis) { return true; } #endif //TMC2130 - - +#ifndef TMC2130 static bool lcd_selfcheck_axis(int _axis, int _travel) { - bool _stepdone = false; bool _stepresult = false; int _progress = 0; @@ -5902,41 +5905,39 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) int _err_endstop = 0; int _lcd_refresh = 0; _travel = _travel + (_travel / 10); + do { - current_position[_axis] = current_position[_axis] - 1; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); st_synchronize(); - - if (/*x_min_endstop || y_min_endstop || */(READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1)) + + if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1)) { if (_axis == 0) { - _stepresult = (x_min_endstop) ? true : false; - _err_endstop = (y_min_endstop) ? 1 : 2; - + _stepresult = ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? true : false; + _err_endstop = ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ? 1 : 2; + } if (_axis == 1) { - _stepresult = (y_min_endstop) ? true : false; - _err_endstop = (x_min_endstop) ? 0 : 2; - + _stepresult = ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ? true : false; + _err_endstop = ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? 0 : 2; + } if (_axis == 2) { - _stepresult = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? true : false; - _err_endstop = (x_min_endstop) ? 0 : 1; + _stepresult = ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) ? true : false; + _err_endstop = ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? 0 : 1; /*disable_x(); disable_y(); disable_z();*/ } _stepdone = true; } -#ifdef TMC2130 - tmc2130_home_exit(); -#endif if (_lcd_refresh < 6) { @@ -5944,7 +5945,7 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) } else { - _progress = lcd_selftest_screen(4 + _axis, _progress, 3, false, 0); + _progress = lcd_selftest_screen(2 + _axis, _progress, 3, false, 0); _lcd_refresh = 0; } @@ -5953,7 +5954,7 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) //delay(100); (_travel_done <= _travel) ? _travel_done++ : _stepdone = true; - + } while (!_stepdone); @@ -5983,7 +5984,6 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) } } - return _stepresult; } @@ -5991,124 +5991,100 @@ static bool lcd_selfcheck_pulleys(int axis) { float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; - float current_position_init, current_position_final; + float current_position_init; float move; bool endstop_triggered = false; - bool result = true; int i; unsigned long timeout_counter; refresh_cmd_timeout(); manage_inactivity(true); if (axis == 0) move = 50; //X_AXIS - else move = 50; //Y_AXIS + else move = 50; //Y_AXIS - //current_position_init = current_position[axis]; - current_position_init = st_get_position_mm(axis); - current_position[axis] += 5; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - for (i = 0; i < 5; i++) { - refresh_cmd_timeout(); - current_position[axis] = current_position[axis] + move; - //digipot_current(0, 850); //set motor current higher - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 200, active_extruder); - st_synchronize(); - //if (SilentModeMenu == 1) digipot_current(0, tmp_motor[0]); //set back to normal operation currents - //else digipot_current(0, tmp_motor_loud[0]); //set motor current back - current_position[axis] = current_position[axis] - move; -#ifdef TMC2130 - tmc2130_home_enter(X_AXIS_MASK << axis); -#endif - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder); - - st_synchronize(); - if ((x_min_endstop) || (y_min_endstop)) { + current_position_init = current_position[axis]; + + current_position[axis] += 2; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + for (i = 0; i < 5; i++) { + refresh_cmd_timeout(); + current_position[axis] = current_position[axis] + move; + digipot_current(0, 850); //set motor current higher + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 200, active_extruder); + st_synchronize(); + if (SilentModeMenu == 1) digipot_current(0, tmp_motor[0]); //set back to normal operation currents + else digipot_current(0, tmp_motor_loud[0]); //set motor current back + current_position[axis] = current_position[axis] - move; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder); + st_synchronize(); + if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1)) { + lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); + return(false); + } + } + timeout_counter = millis() + 2500; + endstop_triggered = false; + manage_inactivity(true); + while (!endstop_triggered) { + if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1)) { + endstop_triggered = true; + if (current_position_init - 1 <= current_position[axis] && current_position_init + 1 >= current_position[axis]) { + current_position[axis] += 15; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + return(true); + } + else { lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); return(false); } -#ifdef TMC2130 - tmc2130_home_exit(); -#endif } - timeout_counter = millis() + 2500; - endstop_triggered = false; - manage_inactivity(true); - while (!endstop_triggered) { - if ((x_min_endstop) || (y_min_endstop)) { -#ifdef TMC2130 - tmc2130_home_exit(); -#endif - endstop_triggered = true; - current_position_final = st_get_position_mm(axis); - - SERIAL_ECHOPGM("current_pos_init:"); - MYSERIAL.println(current_position_init); - SERIAL_ECHOPGM("current_pos:"); - MYSERIAL.println(current_position_final); + else { + current_position[axis] -= 1; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + if (millis() > timeout_counter) { lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); - - if (current_position_init - 1 <= current_position_final && current_position_init + 1 >= current_position_final) { - current_position[axis] += 15; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - return(true); - } - else { - - return(false); - } + return(false); } - else { -#ifdef TMC2130 - tmc2130_home_exit(); -#endif - //current_position[axis] -= 1; - current_position[axis] += 50; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - current_position[axis] -= 100; -#ifdef TMC2130 - tmc2130_home_enter(X_AXIS_MASK << axis); -#endif - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - - if (millis() > timeout_counter) { - lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); - return(false); - } - } - } - - + } + } + return(true); } static bool lcd_selfcheck_endstops() -{/* +{ bool _result = true; - if (x_min_endstop || y_min_endstop || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) + if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1)) { - current_position[0] = (x_min_endstop) ? current_position[0] = current_position[0] + 10 : current_position[0]; - current_position[1] = (y_min_endstop) ? current_position[1] = current_position[1] + 10 : current_position[1]; - current_position[2] = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? current_position[2] = current_position[2] + 10 : current_position[2]; + if ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) current_position[0] += 10; + if ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) current_position[1] += 10; + if ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) current_position[2] += 10; } plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[0] / 60, active_extruder); delay(500); - if (x_min_endstop || y_min_endstop || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) + if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) || + ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1)) { _result = false; char _error[4] = ""; - if (x_min_endstop) strcat(_error, "X"); - if (y_min_endstop) strcat(_error, "Y"); - if (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) strcat(_error, "Z"); + if ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) strcat(_error, "X"); + if ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) strcat(_error, "Y"); + if ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) strcat(_error, "Z"); lcd_selftest_error(3, _error, ""); } manage_heater(); manage_inactivity(true); return _result; - */ } +#endif //not defined TMC2130 static bool lcd_selfcheck_check_heater(bool _isbed) { @@ -6321,7 +6297,7 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) switch (_fan) { - case 1: + case 0: // extruder cooling fan lcd.setCursor(0, 1); if(check_opposite == true) lcd_printPGM(MSG_SELFTEST_COOLING_FAN); @@ -6329,7 +6305,7 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1); break; - case 2: + case 1: // object cooling fan lcd.setCursor(0, 1); if (check_opposite == true) lcd_printPGM(MSG_SELFTEST_EXTRUDER_FAN); @@ -6350,12 +6326,12 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) { switch (_fan) { - case 1: + case 0: // extruder cooling fan SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1); break; - case 2: + case 1: // object cooling fan SET_OUTPUT(FAN_PIN); analogWrite(FAN_PIN, 255); @@ -6440,9 +6416,9 @@ static bool lcd_selftest_fan_dialog(int _fan) else if (fan_speed[1] < 34) { //fan is spinning, but measured RPM are too low for print fan, it must be left extruder fan //check fans manually - _result = lcd_selftest_manual_fan_check(2, true); //turn on print fan and check that left extruder fan is not spinning + _result = lcd_selftest_manual_fan_check(1, true); //turn on print fan and check that left extruder fan is not spinning if (_result) { - _result = lcd_selftest_manual_fan_check(2, false); //print fan is stil turned on; check that it is spinning + _result = lcd_selftest_manual_fan_check(1, false); //print fan is stil turned on; check that it is spinning if (!_result) _errno = 6; //print fan not spinning } else { @@ -6466,8 +6442,6 @@ static bool lcd_selftest_fan_dialog(int _fan) static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay) { - //SERIAL_ECHOPGM("Step:"); - //MYSERIAL.println(_step); lcd_next_update_millis = millis() + (LCD_UPDATE_INTERVAL * 10000); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 0940a9d8e..e3f0bb0e4 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -36,21 +36,24 @@ void lcd_mylang(); static void lcd_selftest_v(); static bool lcd_selftest(); - static bool lcd_selfcheck_endstops(); #ifdef TMC2130 static void reset_crash_det(char axis); static bool lcd_selfcheck_axis_sg(char axis); -#endif //TMC2130 +#else + static bool lcd_selfcheck_endstops(); static bool lcd_selfcheck_axis(int _axis, int _travel); + static bool lcd_selfcheck_pulleys(int axis); +#endif //TMC2130 + static bool lcd_selfcheck_check_heater(bool _isbed); static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay); static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator); + static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite); static bool lcd_selftest_fan_dialog(int _fan); static bool lcd_selftest_fsensor(); static void lcd_selftest_error(int _error_no, const char *_error_1, const char *_error_2); - void lcd_menu_statistics(); - static bool lcd_selfcheck_pulleys(int axis); + void lcd_menu_statistics(); extern const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines); inline const char* lcd_display_message_fullscreen_P(const char *msg) From b202f2b297c1c628686d81ee1161210214b927c2 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 6 Feb 2018 17:04:35 +0100 Subject: [PATCH 018/926] version changed --- Firmware/Configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 3773527dd..391935f16 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,7 +7,7 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.1.1" +#define FW_VERSION "3.1.2-alpha" #define FW_COMMIT_NR 201 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. From 29978c4126e0e81cdd080176ac4a2b62643c54f9 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 7 Feb 2018 11:10:04 +0100 Subject: [PATCH 019/926] TACH_1 must be defined to enable print fan error --- Firmware/Marlin.h | 3 +++ Firmware/Marlin_main.cpp | 7 ++++++- Firmware/temperature.cpp | 6 ++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 68ad18f6b..941816326 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -392,7 +392,10 @@ bool check_commands(); void uvlo_(); void recover_print(uint8_t automatic); void setup_uvlo_interrupt(); + +#if defined(TACH_1) && TACH_1 >-1 void setup_fan_interrupt(); +#endif extern void recover_machine_state_after_power_panic(); extern void restore_print_from_eeprom(); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 195e2bb41..cd601620c 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1179,9 +1179,10 @@ void setup() setup_uvlo_interrupt(); #endif //UVLO_SUPPORT -#ifndef DEBUG_DISABLE_FANCHECK +#if !defined(DEBUG_DISABLE_FANCHECK) && defined(TACH_1) && TACH_1 >-1 setup_fan_interrupt(); #endif //DEBUG_DISABLE_FANCHECK + #ifndef DEBUG_DISABLE_FSENSORCHECK fsensor_setup_interrupt(); #endif //DEBUG_DISABLE_FSENSORCHECK @@ -7648,6 +7649,8 @@ void uvlo_() } #endif //UVLO_SUPPORT +#if defined(TACH_1) && TACH_1 >-1 + void setup_fan_interrupt() { //INT7 DDRE &= ~(1 << 7); //input pin @@ -7678,6 +7681,8 @@ ISR(INT7_vect) { EICRB ^= (1 << 6); //change edge } +#endif + #ifdef UVLO_SUPPORT void setup_uvlo_interrupt() { DDRE &= ~(1 << 4); //input pin diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 6458df35b..81144a2d4 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -475,12 +475,14 @@ void checkFanSpeed() { fans_check_enabled = (eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED) > 0); static unsigned char fan_speed_errors[2] = { 0,0 }; - +#if defined(TACH_0) && TACH_0 >-1 if (fan_speed[0] == 0 && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)) fan_speed_errors[0]++; else fan_speed_errors[0] = 0; - +#endif +#if defined(TACH_1) && TACH_1 >-1 if ((fan_speed[1] == 0)&& (fanSpeed > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; else fan_speed_errors[1] = 0; +#endif if ((fan_speed_errors[0] > 5) && fans_check_enabled) fanSpeedError(0); //extruder fan if ((fan_speed_errors[1] > 15) && fans_check_enabled) fanSpeedError(1); //print fan From 9c4ce3623d1d097634d069f34fe2764df6db3042 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 8 Feb 2018 16:11:51 +0100 Subject: [PATCH 020/926] M600 unload current --- Firmware/Configuration_prusa.h | 8 +++++--- Firmware/Marlin_main.cpp | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 6ab962cd5..c3bb9ca8b 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -231,10 +231,12 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 310 +#if MOTHERBOARD == 203 || MOTHERBOARD == 200 #define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} +#define Z_SILENT 0 +#define Z_HIGH_POWER 200 #endif /*------------------------------------ diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index cd601620c..ab5a04691 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5775,8 +5775,15 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp #ifdef TMC2130 uint8_t tmc2130_current_r_bckp = tmc2130_current_r[E_AXIS]; tmc2130_set_current_r(E_AXIS, TMC2130_UNLOAD_CURRENT_R); +#else + + digipot_current(2, 450); //set motor current for unload + float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; + float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; + #endif //TMC2130 - target[E_AXIS] -= 45; + + target[E_AXIS] -= 45; plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 5200 / 60, active_extruder); st_synchronize(); target[E_AXIS] -= 15; @@ -5784,10 +5791,16 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp st_synchronize(); target[E_AXIS] -= 20; plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1000 / 60, active_extruder); - st_synchronize(); + st_synchronize(); + #ifdef TMC2130 tmc2130_set_current_r(E_AXIS, tmc2130_current_r_bckp); +#else + uint8_t silentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); + if(silentMode) digipot_current(2, tmp_motor[2]); //set E back to normal operation currents + else digipot_current(2, tmp_motor_loud[2]); #endif //TMC2130 + #endif // SNMM From ebe1c10423fa9504b1c1992bd7948020152839c3 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 8 Feb 2018 16:32:27 +0100 Subject: [PATCH 021/926] lower current for unload --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index ab5a04691..cffec399f 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5777,7 +5777,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp tmc2130_set_current_r(E_AXIS, TMC2130_UNLOAD_CURRENT_R); #else - digipot_current(2, 450); //set motor current for unload + digipot_current(2, 200); //set lower E motor current for unload to protect filament sensor and ptfe tube float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; From a719ae1b018a9e853febff25efe58eccfc5117f2 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 8 Feb 2018 16:33:43 +0100 Subject: [PATCH 022/926] whitespace --- Firmware/Marlin_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index cffec399f..31216f8ec 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5783,7 +5783,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp #endif //TMC2130 - target[E_AXIS] -= 45; + target[E_AXIS] -= 45; plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 5200 / 60, active_extruder); st_synchronize(); target[E_AXIS] -= 15; @@ -5791,7 +5791,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp st_synchronize(); target[E_AXIS] -= 20; plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1000 / 60, active_extruder); - st_synchronize(); + st_synchronize(); #ifdef TMC2130 tmc2130_set_current_r(E_AXIS, tmc2130_current_r_bckp); From 80f353e8ff526132d6f8409658bbf93ba9bf432b Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 8 Feb 2018 16:52:05 +0100 Subject: [PATCH 023/926] Z_MAX_POS --- Firmware/Configuration_prusa.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index c3bb9ca8b..5346f2a8b 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -56,7 +56,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define X_MIN_POS 0 #define Y_MAX_POS 210 #define Y_MIN_POS -4 //orig -4 -#define Z_MAX_POS 210 +#define Z_MAX_POS 200 #define Z_MIN_POS 0.15 // Canceled home position From b08636c554b330f1aade8b65c9e1dab3eb61a054 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 8 Feb 2018 18:56:15 +0100 Subject: [PATCH 024/926] fix - conditional translation for DEBUG build --- Firmware/Configuration_prusa.h | 8 ++++---- Firmware/Dcodes.cpp | 17 +++++++++++++---- Firmware/Dcodes.h | 6 ++++++ Firmware/Marlin_main.cpp | 6 ++++++ 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 6ab962cd5..112db3063 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -101,7 +101,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored //#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored //#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages +//#define DEBUG_DISABLE_STARTMSGS //no startup messages //#define DEBUG_DISABLE_MINTEMP //mintemp error ignored //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line @@ -112,9 +112,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_BLINK_ACTIVE //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) //#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) -#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line -#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. -#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. +//#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line +//#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. +//#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #endif /* DEBUG_BUILD */ diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index 46dd76735..f7939099a 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -400,6 +400,7 @@ extern int current_temperature_raw_pinda; extern int current_temperature_raw_ambient; extern int current_voltage_raw_pwr; extern int current_voltage_raw_bed; + uint16_t dcode_9_ADC_val(uint8_t i) { switch (i) @@ -408,9 +409,13 @@ uint16_t dcode_9_ADC_val(uint8_t i) case 1: return 0; case 2: return current_temperature_bed_raw; case 3: return current_temperature_raw_pinda; +#ifdef VOLT_PWR_PIN case 4: return current_voltage_raw_pwr; - case 5: return current_temperature_raw_ambient; case 6: return current_voltage_raw_bed; +#endif //VOLT_PWR_PIN +#ifdef AMBIENT_THERMISTOR + case 5: return current_temperature_raw_ambient; +#endif //AMBIENT_THERMISTOR } return 0; } @@ -454,11 +459,11 @@ void dcode_12() eeprom_update_byte((uint8_t*)EEPROM_POWER_COUNT, 0x00); } -#include "tmc2130.h" -#include "Marlin.h" + +#ifdef TMC2130 #include "planner.h" extern void st_synchronize(); - +#include "tmc2130.h" void dcode_2130() { // printf("test"); @@ -485,7 +490,9 @@ void dcode_2130() printf_P(PSTR("Meassure avg = %d\n"), sg); } } +#endif //TMC2130 +#ifdef PAT9125 void dcode_9125() { LOG("D9125 - PAT9125\n"); @@ -524,5 +531,7 @@ void dcode_9125() LOG("fsensor_log=%d\n", fsensor_log); } } +#endif //PAT9125 + #endif //DEBUG_DCODES diff --git a/Firmware/Dcodes.h b/Firmware/Dcodes.h index d97f7dc96..69a55b13b 100644 --- a/Firmware/Dcodes.h +++ b/Firmware/Dcodes.h @@ -17,7 +17,13 @@ extern void dcode_9(); //D9 - Read/Write ADC (Write=enable simulated, Read=disab extern void dcode_10(); //D10 - XYZ calibration = OK extern void dcode_12(); //D12 - Reset failstat counters +#ifdef TMC2130 extern void dcode_2130(); //D2130 - TMC2130 +#endif //TMC2130 + +#ifdef PAT9125 extern void dcode_9125(); //D9125 - PAT9125 +#endif //PAT9125 + #endif //DCODES_H diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index cd601620c..d31b115ea 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6401,10 +6401,16 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp case 12: //D12 - Reset failstat counters dcode_12(); break; +#ifdef TMC2130 case 2130: // D9125 - TMC2130 dcode_2130(); break; +#endif //TMC2130 + +#ifdef PAT9125 case 9125: // D9125 - PAT9125 dcode_9125(); break; +#endif //PAT9125 + } } #endif //DEBUG_DCODES From 31e6271b2c603ece75855d12ac38fe78c8178464 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 8 Feb 2018 21:07:17 +0100 Subject: [PATCH 025/926] Voltage measurement - conditional translation --- Firmware/Dcodes.cpp | 13 ++++++++++++- Firmware/pins_Rambo_1_3.h | 2 -- Firmware/temperature.cpp | 4 ++++ Firmware/ultralcd.cpp | 10 +++++++++- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index f7939099a..7f7681739 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -397,9 +397,18 @@ const char* dcode_9_ADC_name(uint8_t i) extern int current_temperature_raw[EXTRUDERS]; extern int current_temperature_bed_raw; extern int current_temperature_raw_pinda; + +#ifdef AMBIENT_THERMISTOR extern int current_temperature_raw_ambient; +#endif //AMBIENT_THERMISTOR + +#ifdef VOLT_PWR_PIN extern int current_voltage_raw_pwr; +#endif //VOLT_PWR_PIN + +#ifdef VOLT_BED_PIN extern int current_voltage_raw_bed; +#endif //VOLT_BED_PIN uint16_t dcode_9_ADC_val(uint8_t i) { @@ -411,11 +420,13 @@ uint16_t dcode_9_ADC_val(uint8_t i) case 3: return current_temperature_raw_pinda; #ifdef VOLT_PWR_PIN case 4: return current_voltage_raw_pwr; - case 6: return current_voltage_raw_bed; #endif //VOLT_PWR_PIN #ifdef AMBIENT_THERMISTOR case 5: return current_temperature_raw_ambient; #endif //AMBIENT_THERMISTOR +#ifdef VOLT_BED_PIN + case 6: return current_voltage_raw_bed; +#endif //VOLT_BED_PIN } return 0; } diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h index a9fbd98d0..ccac2b1fb 100644 --- a/Firmware/pins_Rambo_1_3.h +++ b/Firmware/pins_Rambo_1_3.h @@ -63,8 +63,6 @@ #define TEMP_PINDA_PIN 3 //A3 -#define VOLT_PWR_PIN 4 //A4 -#define VOLT_BED_PIN 9 //A9 #define E0_STEP_PIN 34 diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 81144a2d4..77da9bcba 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1554,11 +1554,15 @@ void adc_ready(void) //callback from adc when sampling finished current_temperature_raw[0] = adc_values[0]; current_temperature_bed_raw = adc_values[2]; current_temperature_raw_pinda = adc_values[3]; +#ifdef VOLT_PWR_PIN current_voltage_raw_pwr = adc_values[4]; +#endif #ifdef AMBIENT_THERMISTOR current_temperature_raw_ambient = adc_values[5]; #endif //AMBIENT_THERMISTOR +#ifdef VOLT_BED_PIN current_voltage_raw_bed = adc_values[6]; +#endif temp_meas_ready = true; } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 537507c3f..084602a5a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1620,6 +1620,7 @@ static void lcd_menu_temperatures() } } +#ifdef defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) #define VOLT_DIV_R1 10000 #define VOLT_DIV_R2 2370 #define VOLT_DIV_FAC ((float)VOLT_DIV_R2 / (VOLT_DIV_R2 + VOLT_DIV_R1)) @@ -1636,7 +1637,9 @@ static void lcd_menu_voltages() lcd_return_to_status(); } } +#endif //defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) +#ifdef TMC2130 static void lcd_menu_belt_status() { fprintf_P(lcdout, PSTR(ESC_H(1,0) "Belt status" ESC_H(2,1) "X %d" ESC_H(2,2) "Y %d" ), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_X)), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y))); @@ -1646,6 +1649,7 @@ static void lcd_menu_belt_status() lcd_return_to_status(); } } +#endif //TMC2130 extern void stop_and_save_print_to_ram(float z_move, float e_move); extern void restore_print_from_ram_and_continue(float e_move); @@ -1738,12 +1742,16 @@ static void lcd_support_menu() MENU_ITEM(back, PSTR("------------"), lcd_main_menu); if (!IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) MENU_ITEM(function, MSG_XYZ_DETAILS, lcd_service_mode_show_result); MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info); - + +#ifdef TMC2130 MENU_ITEM(submenu, MSG_MENU_BELT_STATUS, lcd_menu_belt_status); +#endif //TMC2130 MENU_ITEM(submenu, MSG_MENU_TEMPERATURES, lcd_menu_temperatures); +#ifdef defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) MENU_ITEM(submenu, MSG_MENU_VOLTAGES, lcd_menu_voltages); +#endif //defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) #ifdef DEBUG_BUILD MENU_ITEM(submenu, PSTR("Debug"), lcd_menu_debug); From 081b3852fc0492cf39952cd47c0a43d6450051c3 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Fri, 9 Feb 2018 20:26:42 +0100 Subject: [PATCH 026/926] Menu - encoder position stack --- Firmware/ultralcd.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 084602a5a..ff487e264 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -318,8 +318,8 @@ volatile uint8_t slow_buttons;//Contains the bits of the currently pressed butto #endif uint8_t currentMenuViewOffset; /* scroll offset in the current menu */ uint8_t lastEncoderBits; -uint32_t encoderPosition; -uint32_t savedEncoderPosition; +uint16_t encoderPosition; +uint16_t savedEncoderPosition; #if (SDCARDDETECT > 0) bool lcd_oldcardstatus; #endif @@ -6554,11 +6554,32 @@ static void lcd_quick_feedback() lcd_implementation_quick_feedback(); } +#define ENC_STACK_SIZE 3 +static uint8_t enc_stack[ENC_STACK_SIZE]; //encoder is originaly uint16, but for menu +static uint8_t enc_stack_cnt = 0; + +static void lcd_push_encoder(void) +{ + if (enc_stack_cnt >= ENC_STACK_SIZE) return; + enc_stack[enc_stack_cnt] = encoderPosition; + enc_stack_cnt++; +} + +static void lcd_pop_encoder(void) +{ + if (enc_stack_cnt == 0) return; + enc_stack_cnt--; + encoderPosition = enc_stack[enc_stack_cnt]; +} + + /** Menu action functions **/ static void menu_action_back(menuFunc_t data) { lcd_goto_menu(data); + lcd_pop_encoder(); } static void menu_action_submenu(menuFunc_t data) { + lcd_push_encoder(); lcd_goto_menu(data); } static void menu_action_gcode(const char* pgcode) { From 79caf3d9c6b81a709a83501a5f9b797aa96e06d9 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 15 Feb 2018 04:17:58 +0100 Subject: [PATCH 027/926] tmc2130 optimalization, accurate homing and microstep linearity correction dcode D12 removed (no longer needed) homeaxis optimized + xy home calibration support new eeprom variables new lcd menu edit types (byte3, mres, wfac), new menu "Experimental" currents adjusted --- Firmware/Configuration.h | 39 ++ Firmware/Configuration_prusa.h | 4 +- Firmware/Dcodes.cpp | 101 ++- Firmware/Dcodes.h | 1 - Firmware/Marlin.h | 2 +- Firmware/Marlin_main.cpp | 162 +++-- Firmware/dogm_lcd_implementation.h | 9 + Firmware/tmc2130.cpp | 650 ++++++++++++++---- Firmware/tmc2130.h | 37 +- Firmware/ultralcd.cpp | 241 +++++++ .../ultralcd_implementation_hitachi_HD44780.h | 11 + 11 files changed, 1029 insertions(+), 228 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index d2e75a09e..8a9d85c11 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -133,6 +133,45 @@ #define EEPROM_POWER_COUNT_TOT (EEPROM_FERROR_COUNT_TOT - 2) // uint16 +//////////////////////////////////////// +// TMC2130 Accurate sensorless homing + +// X-axis home origin (stepper phase in microsteps, 0..63 for 16ustep resolution) +#define EEPROM_TMC2130_HOME_X_ORIGIN (EEPROM_POWER_COUNT_TOT - 1) // uint8 +// X-axis home bsteps (number of microsteps backward) +#define EEPROM_TMC2130_HOME_X_BSTEPS (EEPROM_TMC2130_HOME_X_ORIGIN - 1) // uint8 +// X-axis home fsteps (number of microsteps forward) +#define EEPROM_TMC2130_HOME_X_FSTEPS (EEPROM_TMC2130_HOME_X_BSTEPS - 1) // uint8 +// Y-axis home origin (stepper phase in microsteps, 0..63 for 16ustep resolution) +#define EEPROM_TMC2130_HOME_Y_ORIGIN (EEPROM_TMC2130_HOME_X_FSTEPS - 1) // uint8 +// X-axis home bsteps (number of microsteps backward) +#define EEPROM_TMC2130_HOME_Y_BSTEPS (EEPROM_TMC2130_HOME_Y_ORIGIN - 1) // uint8 +// X-axis home fsteps (number of microsteps forward) +#define EEPROM_TMC2130_HOME_Y_FSTEPS (EEPROM_TMC2130_HOME_Y_BSTEPS - 1) // uint8 +// Accurate homing enabled +#define EEPROM_TMC2130_HOME_ENABLED (EEPROM_TMC2130_HOME_Y_FSTEPS - 1) // uint8 + + +//////////////////////////////////////// +// TMC2130 uStep linearity correction + +// Linearity correction factor (XYZE) encoded as uint8 (0=>1, 1=>1.001, 254=>1.254, 255=>clear eeprom/disabled) +#define EEPROM_TMC2130_WAVE_X_FAC (EEPROM_TMC2130_HOME_ENABLED - 1) // uint8 +#define EEPROM_TMC2130_WAVE_Y_FAC (EEPROM_TMC2130_WAVE_X_FAC - 1) // uint8 +#define EEPROM_TMC2130_WAVE_Z_FAC (EEPROM_TMC2130_WAVE_Y_FAC - 1) // uint8 +#define EEPROM_TMC2130_WAVE_E_FAC (EEPROM_TMC2130_WAVE_Z_FAC - 1) // uint8 + + +//////////////////////////////////////// +// TMC2130 uStep resolution + +// microstep resolution (XYZE): usteps = (256 >> mres) +#define EEPROM_TMC2130_X_MRES (EEPROM_TMC2130_WAVE_E_FAC - 1) // uint8 +#define EEPROM_TMC2130_Y_MRES (EEPROM_TMC2130_X_MRES - 1) // uint8 +#define EEPROM_TMC2130_Z_MRES (EEPROM_TMC2130_Y_MRES - 1) // uint8 +#define EEPROM_TMC2130_E_MRES (EEPROM_TMC2130_Z_MRES - 1) // uint8 + + //TMC2130 configuration #define EEPROM_TMC_AXIS_SIZE //axis configuration block size #define EEPROM_TMC_X (EEPROM_TMC + 0 * EEPROM_TMC_AXIS_SIZE) //X axis configuration blok diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index df209fe61..e13b87533 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -203,8 +203,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis //new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {13, 20, 25, 35} // default holding currents for all axes -#define TMC2130_CURRENTS_R {13, 20, 25, 35} // default running currents for all axes +#define TMC2130_CURRENTS_H {16, 20, 28, 36} // default holding currents for all axes +#define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes #define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor //#define TMC2130_DEBUG diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index 46dd76735..3ac40909c 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -446,14 +446,6 @@ void dcode_10() calibration_status_store(CALIBRATION_STATUS_LIVE_ADJUST); } -void dcode_12() -{//Reset Filament error, Power loss and crash counter ( Do it before every print and you can get stats for the print ) - LOG("D12 - Reset failstat counters\n"); - eeprom_update_byte((uint8_t*)EEPROM_CRASH_COUNT_X, 0x00); - eeprom_update_byte((uint8_t*)EEPROM_FERROR_COUNT, 0x00); - eeprom_update_byte((uint8_t*)EEPROM_POWER_COUNT, 0x00); -} - #include "tmc2130.h" #include "Marlin.h" #include "planner.h" @@ -461,28 +453,85 @@ extern void st_synchronize(); void dcode_2130() { -// printf("test"); printf_P(PSTR("D2130 - TMC2130\n")); uint8_t axis = 0xff; - if (code_seen('X')) - axis = X_AXIS; - else if (code_seen('Y')) - axis = Y_AXIS; + switch (strchr_pointer[1+4]) + { + case 'X': axis = X_AXIS; break; + case 'Y': axis = Y_AXIS; break; + case 'Z': axis = Z_AXIS; break; + case 'E': axis = E_AXIS; break; + } if (axis != 0xff) { - homeaxis(axis); - tmc2130_sg_meassure_start(axis); - memcpy(destination, current_position, sizeof(destination)); - destination[axis] = 200; - plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], homing_feedrate[X_AXIS]/60, active_extruder); - st_synchronize(); - memcpy(destination, current_position, sizeof(destination)); - destination[axis] = 0; - plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], homing_feedrate[X_AXIS]/60, active_extruder); - st_synchronize(); - uint16_t sg = tmc2130_sg_meassure_stop(); - tmc2130_sg_meassure = 0xff; - printf_P(PSTR("Meassure avg = %d\n"), sg); + char ch_axis = strchr_pointer[1+4]; + if (strchr_pointer[1+5] == '0') { tmc2130_set_pwr(axis, 0); } + else if (strchr_pointer[1+5] == '1') { tmc2130_set_pwr(axis, 1); } + else if (strchr_pointer[1+5] == '+') + { + if (strchr_pointer[1+6] == 0) + { + tmc2130_set_dir(axis, 0); + tmc2130_do_step(axis); + } + else + { + uint8_t steps = atoi(strchr_pointer + 1 + 6); + tmc2130_do_steps(axis, steps, 0, 1000); + } + } + else if (strchr_pointer[1+5] == '-') + { + if (strchr_pointer[1+6] == 0) + { + tmc2130_set_dir(axis, 1); + tmc2130_do_step(axis); + } + else + { + uint8_t steps = atoi(strchr_pointer + 1 + 6); + tmc2130_do_steps(axis, steps, 1, 1000); + } + } + else if (strchr_pointer[1+5] == '?') + { + if (strcmp(strchr_pointer + 7, "step") == 0) printf_P(PSTR("%c step=%d\n"), ch_axis, tmc2130_rd_MSCNT(axis) >> tmc2130_mres[axis]); + else if (strcmp(strchr_pointer + 7, "mscnt") == 0) printf_P(PSTR("%c MSCNT=%d\n"), ch_axis, tmc2130_rd_MSCNT(axis)); + else if (strcmp(strchr_pointer + 7, "mscuract") == 0) + { + uint32_t val = tmc2130_rd_MSCURACT(axis); + int curA = (val & 0xff); + int curB = ((val >> 16) & 0xff); + if ((val << 7) & 0x8000) curA -= 256; + if ((val >> 9) & 0x8000) curB -= 256; + printf_P(PSTR("%c MSCURACT=0x%08lx A=%d B=%d\n"), ch_axis, val, curA, curB); + } + else if (strcmp(strchr_pointer + 7, "wave") == 0) + { + tmc2130_get_wave(axis, 0, stdout); + } + } + else if (strchr_pointer[1+5] == '!') + { + if (strncmp(strchr_pointer + 7, "step", 4) == 0) + { + uint8_t step = atoi(strchr_pointer + 11); + uint16_t res = tmc2130_get_res(axis); + tmc2130_goto_step(axis, step & (4*res - 1), 2, 1000, res); + } + else if (strncmp(strchr_pointer + 7, "wave", 4) == 0) + { + uint8_t fac200 = atoi(strchr_pointer + 11) & 0xfe; + if (fac200 < TMC2130_WAVE_FAC200_MIN) fac200 = 0; + if (fac200 > TMC2130_WAVE_FAC200_MAX) fac200 = TMC2130_WAVE_FAC200_MAX; + tmc2130_set_wave(axis, fac200); + tmc2130_wave_fac[axis] = fac200; + } + } + else if (strchr_pointer[1+5] == '@') + { + tmc2130_home_calibrate(axis); + } } } diff --git a/Firmware/Dcodes.h b/Firmware/Dcodes.h index d97f7dc96..7223b4252 100644 --- a/Firmware/Dcodes.h +++ b/Firmware/Dcodes.h @@ -15,7 +15,6 @@ extern void dcode_8(); //D8 - Read/Write PINDA extern void dcode_9(); //D9 - Read/Write ADC (Write=enable simulated, Read=disable simulated) extern void dcode_10(); //D10 - XYZ calibration = OK -extern void dcode_12(); //D12 - Reset failstat counters extern void dcode_2130(); //D2130 - TMC2130 extern void dcode_9125(); //D9125 - PAT9125 diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 68ad18f6b..a24970aae 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -276,7 +276,7 @@ extern float max_pos[3]; extern bool axis_known_position[3]; extern float zprobe_zoffset; extern int fanSpeed; -extern void homeaxis(int axis); +extern void homeaxis(int axis, uint8_t cnt = 1, uint8_t* pstep = 0); #ifdef FAN_SOFT_PWM diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 67d2e9156..3f2322ee5 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1031,6 +1031,7 @@ void setup() #ifdef TMC2130 uint8_t silentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); + if (silentMode == 0xff) silentMode = 0; tmc2130_mode = silentMode?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; uint8_t crashdet = eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET); if (crashdet) @@ -1044,6 +1045,28 @@ void setup() MYSERIAL.println("CrashDetect DISABLED"); } + tmc2130_wave_fac[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC); + tmc2130_wave_fac[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC); + tmc2130_wave_fac[Z_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC); + tmc2130_wave_fac[E_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC); + if (tmc2130_wave_fac[X_AXIS] == 0xff) tmc2130_wave_fac[X_AXIS] = 0; + if (tmc2130_wave_fac[Y_AXIS] == 0xff) tmc2130_wave_fac[Y_AXIS] = 0; + if (tmc2130_wave_fac[Z_AXIS] == 0xff) tmc2130_wave_fac[Z_AXIS] = 0; + if (tmc2130_wave_fac[E_AXIS] == 0xff) tmc2130_wave_fac[E_AXIS] = 0; + + tmc2130_mres[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_X_MRES); + tmc2130_mres[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Y_MRES); + tmc2130_mres[Z_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Z_MRES); + tmc2130_mres[E_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_E_MRES); + if (tmc2130_mres[X_AXIS] == 0xff) tmc2130_mres[X_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + if (tmc2130_mres[Y_AXIS] == 0xff) tmc2130_mres[Y_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + if (tmc2130_mres[Z_AXIS] == 0xff) tmc2130_mres[Z_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_Z); + if (tmc2130_mres[E_AXIS] == 0xff) tmc2130_mres[E_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_E); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_X_MRES, tmc2130_mres[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Y_MRES, tmc2130_mres[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Z_MRES, tmc2130_mres[Z_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_E_MRES, tmc2130_mres[E_AXIS]); + #endif //TMC2130 st_init(); // Initialize stepper, this enables interrupts! @@ -1071,19 +1094,19 @@ void setup() setup_homepin(); if (1) { -/// SERIAL_ECHOPGM("initial zsteps on power up: "); MYSERIAL.println(tmc2130_rd_MSCNT(Z_TMC2130_CS)); +/// SERIAL_ECHOPGM("initial zsteps on power up: "); MYSERIAL.println(tmc2130_rd_MSCNT(Z_AXIS)); // try to run to zero phase before powering the Z motor. // Move in negative direction WRITE(Z_DIR_PIN,INVERT_Z_DIR); // Round the current micro-micro steps to micro steps. - for (uint16_t phase = (tmc2130_rd_MSCNT(Z_TMC2130_CS) + 8) >> 4; phase > 0; -- phase) { + for (uint16_t phase = (tmc2130_rd_MSCNT(Z_AXIS) + 8) >> 4; phase > 0; -- phase) { // Until the phase counter is reset to zero. WRITE(Z_STEP_PIN, !INVERT_Z_STEP_PIN); delay(2); WRITE(Z_STEP_PIN, INVERT_Z_STEP_PIN); delay(2); } -// SERIAL_ECHOPGM("initial zsteps after reset: "); MYSERIAL.println(tmc2130_rd_MSCNT(Z_TMC2130_CS)); +// SERIAL_ECHOPGM("initial zsteps after reset: "); MYSERIAL.println(tmc2130_rd_MSCNT(Z_AXIS)); } #if defined(Z_AXIS_ALWAYS_ON) @@ -1216,7 +1239,24 @@ void setup() // Store the currently running firmware into an eeprom, // so the next time the firmware gets updated, it will know from which version it has been updated. update_current_firmware_version_to_eeprom(); - + + tmc2130_home_origin[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_X_ORIGIN); + tmc2130_home_bsteps[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_X_BSTEPS); + tmc2130_home_fsteps[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_X_FSTEPS); + if (tmc2130_home_origin[X_AXIS] == 0xff) tmc2130_home_origin[X_AXIS] = 0; + if (tmc2130_home_bsteps[X_AXIS] == 0xff) tmc2130_home_bsteps[X_AXIS] = 48; + if (tmc2130_home_fsteps[X_AXIS] == 0xff) tmc2130_home_fsteps[X_AXIS] = 48; + + tmc2130_home_origin[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_ORIGIN); + tmc2130_home_bsteps[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_BSTEPS); + tmc2130_home_fsteps[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_FSTEPS); + if (tmc2130_home_origin[Y_AXIS] == 0xff) tmc2130_home_origin[Y_AXIS] = 0; + if (tmc2130_home_bsteps[Y_AXIS] == 0xff) tmc2130_home_bsteps[Y_AXIS] = 48; + if (tmc2130_home_fsteps[Y_AXIS] == 0xff) tmc2130_home_fsteps[Y_AXIS] = 48; + + tmc2130_home_enabled = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED); + if (tmc2130_home_enabled == 0xff) tmc2130_home_enabled = 0; + if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 1) { //previous print was terminated by UVLO /* if (lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_RECOVER_PRINT, false)) recover_print(); @@ -1785,9 +1825,9 @@ bool calibrate_z_auto() } #endif //TMC2130 -void homeaxis(int axis) +void homeaxis(int axis, uint8_t cnt, uint8_t* pstep) { - bool endstops_enabled = enable_endstops(true); //RP: endstops should be allways enabled durring homming + bool endstops_enabled = enable_endstops(true); //RP: endstops should be allways enabled durring homing #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):0) @@ -1797,7 +1837,8 @@ void homeaxis(int axis) #ifdef TMC2130 tmc2130_home_enter(X_AXIS_MASK << axis); -#endif +#endif //TMC2130 + // Move right a bit, so that the print head does not touch the left end position, // and the following left movement has a chance to achieve the required velocity @@ -1821,44 +1862,66 @@ void homeaxis(int axis) destination[axis] = - 1.1 * max_length(axis); plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); st_synchronize(); - // Move right from the collision to a known distance from the left end stop with the collision detection disabled. - endstops_hit_on_purpose(); - enable_endstops(false); - 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] = 10.f; - 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(); - // Now move left up to the collision, this time with a repeatable velocity. - enable_endstops(true); - destination[axis] = - 15.f; - feedrate = homing_feedrate[axis]/2; - plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); - st_synchronize(); + for (uint8_t i = 0; i < cnt; i++) + { + // Move right from the collision to a known distance from the left end stop with the collision detection disabled. + endstops_hit_on_purpose(); + enable_endstops(false); + 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] = 10.f; + 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(); + // Now move left up to the collision, this time with a repeatable velocity. + enable_endstops(true); + destination[axis] = - 11.f; +#ifdef TMC2130 + feedrate = homing_feedrate[axis]; +#else //TMC2130 + feedrate = homing_feedrate[axis] / 2; +#endif //TMC2130 + plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); + st_synchronize(); +#ifdef TMC2130 + uint16_t mscnt = tmc2130_rd_MSCNT(axis); + if (pstep) pstep[i] = mscnt >> 4; + printf_P(PSTR("%3d step=%2d mscnt=%4d\n"), i, mscnt >> 4, mscnt); +#endif //TMC2130 + } + endstops_hit_on_purpose(); + enable_endstops(false); + +#ifdef TMC2130 + uint8_t orig = tmc2130_home_origin[axis]; + uint8_t back = tmc2130_home_bsteps[axis]; + if (tmc2130_home_enabled && (orig <= 63)) + { + tmc2130_goto_step(axis, orig, 2, 1000, tmc2130_get_res(axis)); + if (back > 0) + tmc2130_do_steps(axis, back, 1, 1000); + } + else + tmc2130_do_steps(axis, 8, 2, 1000); + tmc2130_home_exit(); +#endif //TMC2130 axis_is_at_home(axis); axis_known_position[axis] = true; - + // Move from minimum #ifdef TMC2130 - tmc2130_home_exit(); -#endif - // Move the X carriage away from the collision. - // If this is not done, the X cariage will jump from the collision at the instant the Trinamic driver reduces power on idle. - endstops_hit_on_purpose(); - enable_endstops(false); - { - // Two full periods (4 full steps). - float gap = 0.32f * 2.f; - current_position[axis] -= gap; - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - current_position[axis] += gap; - } + float dist = 0.01f * tmc2130_home_fsteps[axis]; +#else //TMC2130 + float dist = 0.01f * 64; +#endif //TMC2130 + current_position[axis] -= dist; + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + current_position[axis] += dist; destination[axis] = current_position[axis]; - plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], 0.3f*feedrate/60, active_extruder); + plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], 0.5f*feedrate/60, active_extruder); st_synchronize(); - feedrate = 0.0; + feedrate = 0.0; } else if ((axis==Z_AXIS)?HOMEAXIS_DO(Z):0) { @@ -2698,6 +2761,8 @@ void process_commands() bool home_x = code_seen(axis_codes[X_AXIS]); bool home_y = code_seen(axis_codes[Y_AXIS]); bool home_z = code_seen(axis_codes[Z_AXIS]); + // calibrate? + bool calib = code_seen('C'); // Either all X,Y,Z codes are present, or none of them. bool home_all_axes = home_x == home_y && home_x == home_z; if (home_all_axes) @@ -2782,10 +2847,20 @@ void process_commands() if(home_x) - homeaxis(X_AXIS); + { + if (!calib) + homeaxis(X_AXIS); + else + tmc2130_home_calibrate(X_AXIS); + } if(home_y) - homeaxis(Y_AXIS); + { + if (!calib) + homeaxis(Y_AXIS); + else + tmc2130_home_calibrate(Y_AXIS); + } if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; @@ -6370,9 +6445,6 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp case 10: // D10 - XYZ calibration = OK dcode_10(); break; - case 12: //D12 - Reset failstat counters - dcode_12(); break; - case 2130: // D9125 - TMC2130 dcode_2130(); break; case 9125: // D9125 - PAT9125 @@ -7483,7 +7555,7 @@ void uvlo_() // Read out the current Z motor microstep counter. This will be later used // for reaching the zero full step before powering off. - uint16_t z_microsteps = tmc2130_rd_MSCNT(Z_TMC2130_CS); + uint16_t z_microsteps = tmc2130_rd_MSCNT(Z_AXIS); // Calculate the file position, from which to resume this print. long sd_position = sdpos_atomic; //atomic sd position of last command added in queue @@ -7575,7 +7647,7 @@ void uvlo_() st_synchronize(); SERIAL_ECHOPGM("stps"); - MYSERIAL.println(tmc2130_rd_MSCNT(Z_TMC2130_CS)); + MYSERIAL.println(tmc2130_rd_MSCNT(Z_AXIS)); disable_z(); diff --git a/Firmware/dogm_lcd_implementation.h b/Firmware/dogm_lcd_implementation.h index 73088d955..170d7d7ac 100644 --- a/Firmware/dogm_lcd_implementation.h +++ b/Firmware/dogm_lcd_implementation.h @@ -360,6 +360,15 @@ static void _drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char p #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) +extern char *wfac_to_str5(const uint8_t &x); +extern char *mres_to_str3(const uint8_t &x); + +#define lcd_implementation_drawmenu_setting_edit_wfac_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', wfac_to_str5(*(data))) +#define lcd_implementation_drawmenu_setting_edit_wfac(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', wfac_to_str5(*(data))) +#define lcd_implementation_drawmenu_setting_edit_mres_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', mres_to_str3(*(data))) +#define lcd_implementation_drawmenu_setting_edit_mres(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', mres_to_str3(*(data))) +#define lcd_implementation_drawmenu_setting_edit_byte3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3((uint8_t)*(data))) +#define lcd_implementation_drawmenu_setting_edit_byte3(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', itostr3((uint8_t)*(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))) diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 7b248b12d..0b2c33310 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -20,8 +20,6 @@ extern long st_get_position(uint8_t axis); extern void crashdet_stop_and_save_print(); extern void crashdet_stop_and_save_print2(); -//chipselect pins -uint8_t tmc2130_cs[4] = { X_TMC2130_CS, Y_TMC2130_CS, Z_TMC2130_CS, E0_TMC2130_CS }; //mode uint8_t tmc2130_mode = TMC2130_MODE_NORMAL; //holding currents @@ -30,7 +28,7 @@ uint8_t tmc2130_current_h[4] = TMC2130_CURRENTS_H; uint8_t tmc2130_current_r[4] = TMC2130_CURRENTS_R; //running currents for homing -uint8_t tmc2130_current_r_home[4] = {10, 10, 20, 10}; +uint8_t tmc2130_current_r_home[4] = {8, 10, 20, 18}; //pwm_ampl @@ -55,6 +53,12 @@ uint8_t tmc2130_sg_meassure = 0xff; uint16_t tmc2130_sg_meassure_cnt = 0; uint32_t tmc2130_sg_meassure_val = 0; +uint8_t tmc2130_home_enabled = 0; +uint8_t tmc2130_home_origin[2] = {0, 0}; +uint8_t tmc2130_home_bsteps[2] = {48, 48}; +uint8_t tmc2130_home_fsteps[2] = {48, 48}; + +uint8_t tmc2130_wave_fac[4] = {0, 0, 0, 0}; bool tmc2130_sg_stop_on_crash = true; uint8_t tmc2130_sg_diag_mask = 0x00; @@ -104,21 +108,19 @@ bool skip_debug_msg = false; #define TMC2130_REG_LOST_STEPS 0x73 // 20 bits -uint16_t tmc2130_rd_TSTEP(uint8_t cs); -uint16_t tmc2130_rd_MSCNT(uint8_t cs); -uint16_t tmc2130_rd_DRV_STATUS(uint8_t cs); +uint16_t tmc2130_rd_TSTEP(uint8_t axis); +uint16_t tmc2130_rd_MSCNT(uint8_t axis); +uint32_t tmc2130_rd_MSCURACT(uint8_t axis); -void tmc2130_wr_CHOPCONF(uint8_t cs, uint8_t toff = 3, uint8_t hstrt = 4, uint8_t hend = 1, uint8_t fd3 = 0, uint8_t disfdcc = 0, uint8_t rndtf = 0, uint8_t chm = 0, uint8_t tbl = 2, uint8_t vsense = 0, uint8_t vhighfs = 0, uint8_t vhighchm = 0, uint8_t sync = 0, uint8_t mres = 0b0100, uint8_t intpol = 1, uint8_t dedge = 0, uint8_t diss2g = 0); -void tmc2130_wr_PWMCONF(uint8_t cs, uint8_t pwm_ampl, uint8_t pwm_grad, uint8_t pwm_freq, uint8_t pwm_auto, uint8_t pwm_symm, uint8_t freewheel); -void tmc2130_wr_TPWMTHRS(uint8_t cs, uint32_t val32); -void tmc2130_wr_THIGH(uint8_t cs, uint32_t val32); +void tmc2130_wr_CHOPCONF(uint8_t axis, uint8_t toff = 3, uint8_t hstrt = 4, uint8_t hend = 1, uint8_t fd3 = 0, uint8_t disfdcc = 0, uint8_t rndtf = 0, uint8_t chm = 0, uint8_t tbl = 2, uint8_t vsense = 0, uint8_t vhighfs = 0, uint8_t vhighchm = 0, uint8_t sync = 0, uint8_t mres = 0b0100, uint8_t intpol = 1, uint8_t dedge = 0, uint8_t diss2g = 0); +void tmc2130_wr_PWMCONF(uint8_t axis, uint8_t pwm_ampl, uint8_t pwm_grad, uint8_t pwm_freq, uint8_t pwm_auto, uint8_t pwm_symm, uint8_t freewheel); +void tmc2130_wr_TPWMTHRS(uint8_t axis, uint32_t val32); +void tmc2130_wr_THIGH(uint8_t axis, uint32_t val32); -uint8_t tmc2130_axis_by_cs(uint8_t cs); -uint8_t tmc2130_calc_mres(uint16_t microstep_resolution); -uint8_t tmc2130_wr(uint8_t cs, uint8_t addr, uint32_t wval); -uint8_t tmc2130_rd(uint8_t cs, uint8_t addr, uint32_t* rval); -uint8_t tmc2130_txrx(uint8_t cs, uint8_t addr, uint32_t wval, uint32_t* rval); +uint8_t tmc2130_wr(uint8_t axis, uint8_t addr, uint32_t wval); +uint8_t tmc2130_rd(uint8_t axis, uint8_t addr, uint32_t* rval); +uint8_t tmc2130_txrx(uint8_t axis, uint8_t addr, uint32_t wval, uint32_t* rval); void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_t current_r); @@ -128,10 +130,10 @@ void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_ void tmc2130_init() { DBG(_n("tmc2130_init(), mode=%S\n"), tmc2130_mode?_n("STEALTH"):_n("NORMAL")); - tmc2130_mres[0] = tmc2130_calc_mres(TMC2130_USTEPS_XY); - tmc2130_mres[1] = tmc2130_calc_mres(TMC2130_USTEPS_XY); - tmc2130_mres[2] = tmc2130_calc_mres(TMC2130_USTEPS_Z); - tmc2130_mres[3] = tmc2130_calc_mres(TMC2130_USTEPS_E); +/* tmc2130_mres[X_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Y_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Z_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_Z); + tmc2130_mres[E_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_E);*/ WRITE(X_TMC2130_CS, HIGH); WRITE(Y_TMC2130_CS, HIGH); WRITE(Z_TMC2130_CS, HIGH); @@ -147,65 +149,33 @@ void tmc2130_init() SPI.begin(); for (int axis = 0; axis < 2; axis++) // X Y axes { -/* if (tmc2130_current_r[axis] <= 31) - { - tmc2130_wr_CHOPCONF(tmc2130_cs[axis], 3, 5, 1, 0, 0, 0, 0, 2, 1, 0, 0, 0, mres, TMC2130_INTPOL_XY, 0, 0); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_IHOLD_IRUN, 0x000f0000 | ((tmc2130_current_r[axis] & 0x1f) << 8) | (tmc2130_current_h[axis] & 0x1f)); - } - else - { - tmc2130_wr_CHOPCONF(tmc2130_cs[axis], 3, 5, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, mres, TMC2130_INTPOL_XY, 0, 0); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_IHOLD_IRUN, 0x000f0000 | (((tmc2130_current_r[axis] >> 1) & 0x1f) << 8) | ((tmc2130_current_h[axis] >> 1) & 0x1f)); - }*/ tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); - -// tmc2130_wr_CHOPCONF(tmc2130_cs[axis], 3, 5, 1, 0, 0, 0, 0, 2, 1, 0, 0, 0, mres, TMC2130_INTPOL_XY, 0, 0); -// tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_IHOLD_IRUN, 0x000f0000 | ((tmc2130_current_r[axis] & 0x1f) << 8) | (tmc2130_current_h[axis] & 0x1f)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_TPOWERDOWN, 0x00000000); -// tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:((axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_GCONF, (tmc2130_mode == TMC2130_MODE_SILENT)?TMC2130_GCONF_SILENT:TMC2130_GCONF_SGSENS); - tmc2130_wr_PWMCONF(tmc2130_cs[axis], tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); - tmc2130_wr_TPWMTHRS(tmc2130_cs[axis], TMC2130_TPWMTHRS); - //tmc2130_wr_THIGH(tmc2130_cs[axis], TMC2130_THIGH); + tmc2130_wr(axis, TMC2130_REG_TPOWERDOWN, 0x00000000); + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:((axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y)); + tmc2130_wr(axis, TMC2130_REG_GCONF, (tmc2130_mode == TMC2130_MODE_SILENT)?TMC2130_GCONF_SILENT:TMC2130_GCONF_SGSENS); + tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); + tmc2130_wr_TPWMTHRS(axis, TMC2130_TPWMTHRS); + //tmc2130_wr_THIGH(axis, TMC2130_THIGH); } for (int axis = 2; axis < 3; axis++) // Z axis { -// uint8_t mres = tmc2130_mres(TMC2130_USTEPS_Z); -/* if (tmc2130_current_r[axis] <= 31) - { - tmc2130_wr_CHOPCONF(tmc2130_cs[axis], 3, 5, 1, 0, 0, 0, 0, 2, 1, 0, 0, 0, mres, TMC2130_INTPOL_Z, 0, 0); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_IHOLD_IRUN, 0x000f0000 | ((tmc2130_current_r[axis] & 0x1f) << 8) | (tmc2130_current_h[axis] & 0x1f)); - } - else - { - tmc2130_wr_CHOPCONF(tmc2130_cs[axis], 3, 5, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, mres, TMC2130_INTPOL_Z, 0, 0); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_IHOLD_IRUN, 0x000f0000 | (((tmc2130_current_r[axis] >> 1) & 0x1f) << 8) | ((tmc2130_current_h[axis] >> 1) & 0x1f)); - }*/ tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); - - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_TPOWERDOWN, 0x00000000); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); - + tmc2130_wr(axis, TMC2130_REG_TPOWERDOWN, 0x00000000); + tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); } for (int axis = 3; axis < 4; axis++) // E axis { -// uint8_t mres = tmc2130_mres(TMC2130_USTEPS_E); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); - -// tmc2130_wr_CHOPCONF(tmc2130_cs[axis], 3, 5, 1, 0, 0, 0, 0, 2, 1, 0, 0, 0, mres, TMC2130_INTPOL_E, 0, 0); -// tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_IHOLD_IRUN, 0x000f0000 | ((tmc2130_current_r[axis] & 0x1f) << 8) | (tmc2130_current_h[axis] & 0x1f)); - - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_TPOWERDOWN, 0x00000000); + tmc2130_wr(axis, TMC2130_REG_TPOWERDOWN, 0x00000000); #ifndef TMC2130_STEALTH_E - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); + tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); #else //TMC2130_STEALTH_E - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_TCOOLTHRS, 0); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_GCONF, TMC2130_GCONF_SILENT); - tmc2130_wr_PWMCONF(tmc2130_cs[axis], tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); - tmc2130_wr_TPWMTHRS(tmc2130_cs[axis], TMC2130_TPWMTHRS); + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, 0); + tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SILENT); + tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); + tmc2130_wr_TPWMTHRS(axis, TMC2130_TPWMTHRS); #endif //TMC2130_STEALTH_E } @@ -217,6 +187,11 @@ void tmc2130_init() tmc2130_sg_cnt[1] = 0; tmc2130_sg_cnt[2] = 0; tmc2130_sg_cnt[3] = 0; + + tmc2130_set_wave(X_AXIS, tmc2130_wave_fac[X_AXIS]); + tmc2130_set_wave(Y_AXIS, tmc2130_wave_fac[Y_AXIS]); + tmc2130_set_wave(Z_AXIS, tmc2130_wave_fac[Z_AXIS]); + tmc2130_set_wave(E_AXIS, tmc2130_wave_fac[E_AXIS]); } uint8_t tmc2130_sample_diag() @@ -279,11 +254,10 @@ bool tmc2130_update_sg() { if (tmc2130_sg_meassure <= E_AXIS) { - uint8_t cs = tmc2130_cs[tmc2130_sg_meassure]; - uint16_t sg = tmc2130_rd_DRV_STATUS(cs) & 0x3ff; - tmc2130_sg_meassure_val += sg; + uint32_t val32 = 0; + tmc2130_rd(tmc2130_sg_meassure, TMC2130_REG_DRV_STATUS, &val32); + tmc2130_sg_meassure_val += (val32 & 0x3ff); tmc2130_sg_meassure_cnt++; -// printf_P(PSTR("tmc2130_update_sg - meassure - sg=%d\n"), sg); return true; } return false; @@ -296,18 +270,17 @@ void tmc2130_home_enter(uint8_t axes_mask) for (uint8_t axis = X_AXIS; axis <= Z_AXIS; axis++) //X Y and Z axes { uint8_t mask = (X_AXIS_MASK << axis); - uint8_t cs = tmc2130_cs[axis]; if (axes_mask & mask) { sg_homing_axes_mask |= mask; //Configuration to spreadCycle - tmc2130_wr(cs, TMC2130_REG_GCONF, TMC2130_GCONF_NORMAL); - tmc2130_wr(cs, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr_home[axis]) << 16)); -// tmc2130_wr(cs, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); - tmc2130_wr(cs, TMC2130_REG_TCOOLTHRS, (axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y); + tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_NORMAL); + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr_home[axis]) << 16)); +// tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r_home[axis]); if (mask & (X_AXIS_MASK | Y_AXIS_MASK | Z_AXIS_MASK)) - tmc2130_wr(cs, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); //stallguard output DIAG1, DIAG1 = pushpull + tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); //stallguard output DIAG1, DIAG1 = pushpull } } #endif //TMC2130_SG_HOMING @@ -326,18 +299,18 @@ void tmc2130_home_exit() { if (tmc2130_mode == TMC2130_MODE_SILENT) { - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_GCONF, TMC2130_GCONF_SILENT); // Configuration back to stealthChop - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_TCOOLTHRS, 0); -// tmc2130_wr_PWMCONF(tmc2130_cs[i], tmc2130_pwm_ampl[i], tmc2130_pwm_grad[i], tmc2130_pwm_freq[i], tmc2130_pwm_auto[i], 0, 0); + tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SILENT); // Configuration back to stealthChop + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, 0); +// tmc2130_wr_PWMCONF(i, tmc2130_pwm_ampl[i], tmc2130_pwm_grad[i], tmc2130_pwm_freq[i], tmc2130_pwm_auto[i], 0, 0); } else { -// tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_GCONF, TMC2130_GCONF_NORMAL); +// tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_NORMAL); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); -// tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:((axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y)); - tmc2130_wr(tmc2130_cs[axis], TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); +// tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:((axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y)); + tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); } } } @@ -369,8 +342,8 @@ bool tmc2130_wait_standstill_xy(int timeout) { uint32_t drv_status_x = 0; uint32_t drv_status_y = 0; - tmc2130_rd(tmc2130_cs[X_AXIS], TMC2130_REG_DRV_STATUS, &drv_status_x); - tmc2130_rd(tmc2130_cs[Y_AXIS], TMC2130_REG_DRV_STATUS, &drv_status_y); + tmc2130_rd(X_AXIS, TMC2130_REG_DRV_STATUS, &drv_status_x); + tmc2130_rd(Y_AXIS, TMC2130_REG_DRV_STATUS, &drv_status_y); // DBG(_n("\tdrv_status_x=0x%08x drv_status_x=0x%08x\n"), drv_status_x, drv_status_y); standstill = (drv_status_x & 0x80000000) && (drv_status_y & 0x80000000); tmc2130_check_overtemp(); @@ -390,13 +363,13 @@ void tmc2130_check_overtemp() { uint32_t drv_status = 0; skip_debug_msg = true; - tmc2130_rd(tmc2130_cs[i], TMC2130_REG_DRV_STATUS, &drv_status); + tmc2130_rd(i, TMC2130_REG_DRV_STATUS, &drv_status); if (drv_status & ((uint32_t)1 << 26)) { // BIT 26 - over temp prewarning ~120C (+-20C) SERIAL_ERRORRPGM(TMC_OVERTEMP_MSG); SERIAL_ECHOLN(i); for (int j = 0; j < 4; j++) - tmc2130_wr(tmc2130_cs[j], TMC2130_REG_CHOPCONF, 0x00010000); + tmc2130_wr(j, TMC2130_REG_CHOPCONF, 0x00010000); kill(TMC_OVERTEMP_MSG); } @@ -420,7 +393,6 @@ void tmc2130_check_overtemp() void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_t current_r) { - uint8_t cs = tmc2130_cs[axis]; uint8_t intpol = 1; uint8_t toff = TMC2130_TOFF_XYZ; // toff = 3 (fchop = 27.778kHz) uint8_t hstrt = 5; //initial 4, modified to 5 @@ -443,13 +415,13 @@ void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_ } if (current_r <= 31) { - tmc2130_wr_CHOPCONF(cs, toff, hstrt, hend, fd3, 0, rndtf, chm, tbl, 1, 0, 0, 0, mres, intpol, 0, 0); - tmc2130_wr(cs, TMC2130_REG_IHOLD_IRUN, 0x000f0000 | ((current_r & 0x1f) << 8) | (current_h & 0x1f)); + tmc2130_wr_CHOPCONF(axis, toff, hstrt, hend, fd3, 0, rndtf, chm, tbl, 1, 0, 0, 0, mres, intpol, 0, 0); + tmc2130_wr(axis, TMC2130_REG_IHOLD_IRUN, 0x000f0000 | ((current_r & 0x1f) << 8) | (current_h & 0x1f)); } else { - tmc2130_wr_CHOPCONF(cs, toff, hstrt, hend, fd3, 0, 0, 0, tbl, 0, 0, 0, 0, mres, intpol, 0, 0); - tmc2130_wr(cs, TMC2130_REG_IHOLD_IRUN, 0x000f0000 | (((current_r >> 1) & 0x1f) << 8) | ((current_h >> 1) & 0x1f)); + tmc2130_wr_CHOPCONF(axis, toff, hstrt, hend, fd3, 0, 0, 0, tbl, 0, 0, 0, 0, mres, intpol, 0, 0); + tmc2130_wr(axis, TMC2130_REG_IHOLD_IRUN, 0x000f0000 | (((current_r >> 1) & 0x1f) << 8) | ((current_h >> 1) & 0x1f)); } } @@ -485,7 +457,7 @@ void tmc2130_set_pwm_ampl(uint8_t axis, uint8_t pwm_ampl) MYSERIAL.println((int)pwm_ampl); tmc2130_pwm_ampl[axis] = pwm_ampl; if (((axis == 0) || (axis == 1)) && (tmc2130_mode == TMC2130_MODE_SILENT)) - tmc2130_wr_PWMCONF(tmc2130_cs[axis], tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); + tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); } void tmc2130_set_pwm_grad(uint8_t axis, uint8_t pwm_grad) @@ -496,32 +468,58 @@ void tmc2130_set_pwm_grad(uint8_t axis, uint8_t pwm_grad) MYSERIAL.println((int)pwm_grad); tmc2130_pwm_grad[axis] = pwm_grad; if (((axis == 0) || (axis == 1)) && (tmc2130_mode == TMC2130_MODE_SILENT)) - tmc2130_wr_PWMCONF(tmc2130_cs[axis], tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); + tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); } -uint16_t tmc2130_rd_TSTEP(uint8_t cs) +uint16_t tmc2130_rd_TSTEP(uint8_t axis) { uint32_t val32 = 0; - tmc2130_rd(cs, TMC2130_REG_TSTEP, &val32); + tmc2130_rd(axis, TMC2130_REG_TSTEP, &val32); if (val32 & 0x000f0000) return 0xffff; return val32 & 0xffff; } -uint16_t tmc2130_rd_MSCNT(uint8_t cs) +uint16_t tmc2130_rd_MSCNT(uint8_t axis) { uint32_t val32 = 0; - tmc2130_rd(cs, TMC2130_REG_MSCNT, &val32); + tmc2130_rd(axis, TMC2130_REG_MSCNT, &val32); return val32 & 0x3ff; } -uint16_t tmc2130_rd_DRV_STATUS(uint8_t cs) +uint32_t tmc2130_rd_MSCURACT(uint8_t axis) { uint32_t val32 = 0; - tmc2130_rd(cs, TMC2130_REG_DRV_STATUS, &val32); + tmc2130_rd(axis, TMC2130_REG_MSCURACT, &val32); return val32; } -void tmc2130_wr_CHOPCONF(uint8_t cs, uint8_t toff, uint8_t hstrt, uint8_t hend, uint8_t fd3, uint8_t disfdcc, uint8_t rndtf, uint8_t chm, uint8_t tbl, uint8_t vsense, uint8_t vhighfs, uint8_t vhighchm, uint8_t sync, uint8_t mres, uint8_t intpol, uint8_t dedge, uint8_t diss2g) +void tmc2130_wr_MSLUTSTART(uint8_t axis, uint8_t start_sin, uint8_t start_sin90) +{ + uint32_t val = 0; + val |= (uint32_t)start_sin; + val |= ((uint32_t)start_sin90) << 16; + tmc2130_wr(axis, TMC2130_REG_MSLUTSTART, val); +} + +void tmc2130_wr_MSLUTSEL(uint8_t axis, uint8_t x1, uint8_t x2, uint8_t x3, uint8_t w0, uint8_t w1, uint8_t w2, uint8_t w3) +{ + uint32_t val = 0; + val |= ((uint32_t)w0); + val |= ((uint32_t)w1) << 2; + val |= ((uint32_t)w2) << 4; + val |= ((uint32_t)w3) << 6; + val |= ((uint32_t)x1) << 8; + val |= ((uint32_t)x2) << 16; + val |= ((uint32_t)x3) << 24; + tmc2130_wr(axis, TMC2130_REG_MSLUTSEL, val); +} + +void tmc2130_wr_MSLUT(uint8_t axis, uint8_t i, uint32_t val) +{ + tmc2130_wr(axis, TMC2130_REG_MSLUT0 + (i & 7), val); +} + +void tmc2130_wr_CHOPCONF(uint8_t axis, uint8_t toff, uint8_t hstrt, uint8_t hend, uint8_t fd3, uint8_t disfdcc, uint8_t rndtf, uint8_t chm, uint8_t tbl, uint8_t vsense, uint8_t vhighfs, uint8_t vhighchm, uint8_t sync, uint8_t mres, uint8_t intpol, uint8_t dedge, uint8_t diss2g) { uint32_t val = 0; val |= (uint32_t)(toff & 15); @@ -540,11 +538,11 @@ void tmc2130_wr_CHOPCONF(uint8_t cs, uint8_t toff, uint8_t hstrt, uint8_t hend, val |= (uint32_t)(intpol & 1) << 28; val |= (uint32_t)(dedge & 1) << 29; val |= (uint32_t)(diss2g & 1) << 30; - tmc2130_wr(cs, TMC2130_REG_CHOPCONF, val); + tmc2130_wr(axis, TMC2130_REG_CHOPCONF, val); } -//void tmc2130_wr_PWMCONF(uint8_t cs, uint8_t PWMautoScale, uint8_t PWMfreq, uint8_t PWMgrad, uint8_t PWMampl) -void tmc2130_wr_PWMCONF(uint8_t cs, uint8_t pwm_ampl, uint8_t pwm_grad, uint8_t pwm_freq, uint8_t pwm_auto, uint8_t pwm_symm, uint8_t freewheel) +//void tmc2130_wr_PWMCONF(uint8_t axis, uint8_t PWMautoScale, uint8_t PWMfreq, uint8_t PWMgrad, uint8_t PWMampl) +void tmc2130_wr_PWMCONF(uint8_t axis, uint8_t pwm_ampl, uint8_t pwm_grad, uint8_t pwm_freq, uint8_t pwm_auto, uint8_t pwm_symm, uint8_t freewheel) { uint32_t val = 0; val |= (uint32_t)(pwm_ampl & 255); @@ -553,54 +551,32 @@ void tmc2130_wr_PWMCONF(uint8_t cs, uint8_t pwm_ampl, uint8_t pwm_grad, uint8_t val |= (uint32_t)(pwm_auto & 1) << 18; val |= (uint32_t)(pwm_symm & 1) << 19; val |= (uint32_t)(freewheel & 3) << 20; - tmc2130_wr(cs, TMC2130_REG_PWMCONF, val); -// tmc2130_wr(cs, TMC2130_REG_PWMCONF, ((uint32_t)(PWMautoScale+PWMfreq) << 16) | ((uint32_t)PWMgrad << 8) | PWMampl); // TMC LJ -> For better readability changed to 0x00 and added PWMautoScale and PWMfreq + tmc2130_wr(axis, TMC2130_REG_PWMCONF, val); +// tmc2130_wr(axis, TMC2130_REG_PWMCONF, ((uint32_t)(PWMautoScale+PWMfreq) << 16) | ((uint32_t)PWMgrad << 8) | PWMampl); // TMC LJ -> For better readability changed to 0x00 and added PWMautoScale and PWMfreq } -void tmc2130_wr_TPWMTHRS(uint8_t cs, uint32_t val32) +void tmc2130_wr_TPWMTHRS(uint8_t axis, uint32_t val32) { - tmc2130_wr(cs, TMC2130_REG_TPWMTHRS, val32); + tmc2130_wr(axis, TMC2130_REG_TPWMTHRS, val32); } -void tmc2130_wr_THIGH(uint8_t cs, uint32_t val32) +void tmc2130_wr_THIGH(uint8_t axis, uint32_t val32) { - tmc2130_wr(cs, TMC2130_REG_THIGH, val32); + tmc2130_wr(axis, TMC2130_REG_THIGH, val32); } -#if defined(TMC2130_DEBUG_RD) || defined(TMC2130_DEBUG_WR) -uint8_t tmc2130_axis_by_cs(uint8_t cs) -{ - switch (cs) - { - case X_TMC2130_CS: return 0; - case Y_TMC2130_CS: return 1; - case Z_TMC2130_CS: return 2; - case E0_TMC2130_CS: return 3; - } - return -1; -} -#endif //TMC2130_DEBUG +uint8_t tmc2130_usteps2mres(uint16_t usteps) +{ + uint8_t mres = 8; while (mres && (usteps >>= 1)) mres--; + return mres; +} -uint8_t tmc2130_calc_mres(uint16_t microstep_resolution) +uint8_t tmc2130_wr(uint8_t axis, uint8_t addr, uint32_t wval) { - if (microstep_resolution == 256) return 0b0000; - if (microstep_resolution == 128) return 0b0001; - if (microstep_resolution == 64) return 0b0010; - if (microstep_resolution == 32) return 0b0011; - if (microstep_resolution == 16) return 0b0100; - if (microstep_resolution == 8) return 0b0101; - if (microstep_resolution == 4) return 0b0110; - if (microstep_resolution == 2) return 0b0111; - if (microstep_resolution == 1) return 0b1000; - return 0; -} - -uint8_t tmc2130_wr(uint8_t cs, uint8_t addr, uint32_t wval) -{ - uint8_t stat = tmc2130_txrx(cs, addr | 0x80, wval, 0); + uint8_t stat = tmc2130_txrx(axis, addr | 0x80, wval, 0); #ifdef TMC2130_DEBUG_WR MYSERIAL.print("tmc2130_wr("); - MYSERIAL.print((unsigned char)tmc2130_axis_by_cs(cs), DEC); + MYSERIAL.print((unsigned char)axis, DEC); MYSERIAL.print(", 0x"); MYSERIAL.print((unsigned char)addr, HEX); MYSERIAL.print(", 0x"); @@ -611,16 +587,16 @@ uint8_t tmc2130_wr(uint8_t cs, uint8_t addr, uint32_t wval) return stat; } -uint8_t tmc2130_rd(uint8_t cs, uint8_t addr, uint32_t* rval) +uint8_t tmc2130_rd(uint8_t axis, uint8_t addr, uint32_t* rval) { uint32_t val32 = 0; - uint8_t stat = tmc2130_txrx(cs, addr, 0x00000000, &val32); + uint8_t stat = tmc2130_txrx(axis, addr, 0x00000000, &val32); if (rval != 0) *rval = val32; #ifdef TMC2130_DEBUG_RD if (!skip_debug_msg) { MYSERIAL.print("tmc2130_rd("); - MYSERIAL.print((unsigned char)tmc2130_axis_by_cs(cs), DEC); + MYSERIAL.print((unsigned char)axis, DEC); MYSERIAL.print(", 0x"); MYSERIAL.print((unsigned char)addr, HEX); MYSERIAL.print(", 0x"); @@ -633,28 +609,50 @@ uint8_t tmc2130_rd(uint8_t cs, uint8_t addr, uint32_t* rval) return stat; } -uint8_t tmc2130_txrx(uint8_t cs, uint8_t addr, uint32_t wval, uint32_t* rval) +inline void tmc2130_cs_low(uint8_t axis) +{ + switch (axis) + { + case X_AXIS: WRITE(X_TMC2130_CS, LOW); break; + case Y_AXIS: WRITE(Y_TMC2130_CS, LOW); break; + case Z_AXIS: WRITE(Z_TMC2130_CS, LOW); break; + case E_AXIS: WRITE(E0_TMC2130_CS, LOW); break; + } +} + +inline void tmc2130_cs_high(uint8_t axis) +{ + switch (axis) + { + case X_AXIS: WRITE(X_TMC2130_CS, HIGH); break; + case Y_AXIS: WRITE(Y_TMC2130_CS, HIGH); break; + case Z_AXIS: WRITE(Z_TMC2130_CS, HIGH); break; + case E_AXIS: WRITE(E0_TMC2130_CS, HIGH); break; + } +} + +uint8_t tmc2130_txrx(uint8_t axis, uint8_t addr, uint32_t wval, uint32_t* rval) { //datagram1 - request SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3)); - digitalWrite(cs, LOW); + tmc2130_cs_low(axis); SPI.transfer(addr); // address SPI.transfer((wval >> 24) & 0xff); // MSB SPI.transfer((wval >> 16) & 0xff); SPI.transfer((wval >> 8) & 0xff); SPI.transfer(wval & 0xff); // LSB - digitalWrite(cs, HIGH); + tmc2130_cs_high(axis); SPI.endTransaction(); //datagram2 - response SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3)); - digitalWrite(cs, LOW); + tmc2130_cs_low(axis); uint8_t stat = SPI.transfer(0); // status uint32_t val32 = 0; val32 = SPI.transfer(0); // MSB val32 = (val32 << 8) | SPI.transfer(0); val32 = (val32 << 8) | SPI.transfer(0); val32 = (val32 << 8) | SPI.transfer(0); // LSB - digitalWrite(cs, HIGH); + tmc2130_cs_high(axis); SPI.endTransaction(); if (rval != 0) *rval = val32; return stat; @@ -669,5 +667,357 @@ void tmc2130_eeprom_save_config() } +#define _GET_PWR_X (READ(X_ENABLE_PIN) == X_ENABLE_ON) +#define _GET_PWR_Y (READ(Y_ENABLE_PIN) == Y_ENABLE_ON) +#define _GET_PWR_Z (READ(Z_ENABLE_PIN) == Z_ENABLE_ON) +#define _GET_PWR_E (READ(E0_ENABLE_PIN) == E_ENABLE_ON) + +#define _SET_PWR_X(ena) { WRITE(X_ENABLE_PIN, ena?X_ENABLE_ON:!X_ENABLE_ON); asm("nop"); } +#define _SET_PWR_Y(ena) { WRITE(Y_ENABLE_PIN, ena?Y_ENABLE_ON:!Y_ENABLE_ON); asm("nop"); } +#define _SET_PWR_Z(ena) { WRITE(Z_ENABLE_PIN, ena?Z_ENABLE_ON:!Z_ENABLE_ON); asm("nop"); } +#define _SET_PWR_E(ena) { WRITE(E0_ENABLE_PIN, ena?E_ENABLE_ON:!E_ENABLE_ON); asm("nop"); } + +#define _GET_DIR_X (READ(X_DIR_PIN) == INVERT_X_DIR) +#define _GET_DIR_Y (READ(Y_DIR_PIN) == INVERT_Y_DIR) +#define _GET_DIR_Z (READ(Z_DIR_PIN) == INVERT_Z_DIR) +#define _GET_DIR_E (READ(E0_DIR_PIN) == INVERT_E0_DIR) + +#define _SET_DIR_X(dir) { WRITE(X_DIR_PIN, dir?INVERT_X_DIR:!INVERT_X_DIR); asm("nop"); } +#define _SET_DIR_Y(dir) { WRITE(Y_DIR_PIN, dir?INVERT_Y_DIR:!INVERT_Y_DIR); asm("nop"); } +#define _SET_DIR_Z(dir) { WRITE(Z_DIR_PIN, dir?INVERT_Z_DIR:!INVERT_Z_DIR); asm("nop"); } +#define _SET_DIR_E(dir) { WRITE(E0_DIR_PIN, dir?INVERT_E0_DIR:!INVERT_E0_DIR); asm("nop"); } + +#define _DO_STEP_X { WRITE(X_STEP_PIN, !INVERT_X_STEP_PIN); asm("nop"); WRITE(X_STEP_PIN, INVERT_X_STEP_PIN); asm("nop"); } +#define _DO_STEP_Y { WRITE(Y_STEP_PIN, !INVERT_Y_STEP_PIN); asm("nop"); WRITE(Y_STEP_PIN, INVERT_Y_STEP_PIN); asm("nop"); } +#define _DO_STEP_Z { WRITE(Z_STEP_PIN, !INVERT_Z_STEP_PIN); asm("nop"); WRITE(Z_STEP_PIN, INVERT_Z_STEP_PIN); asm("nop"); } +#define _DO_STEP_E { WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN); asm("nop"); WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN); asm("nop"); } + + +uint16_t tmc2130_get_res(uint8_t axis) +{ + return tmc2130_mres2usteps(tmc2130_mres[axis]); +} + +uint8_t tmc2130_get_pwr(uint8_t axis) +{ + switch (axis) + { + case X_AXIS: return _GET_PWR_X; + case Y_AXIS: return _GET_PWR_Y; + case Z_AXIS: return _GET_PWR_Z; + case E_AXIS: return _GET_PWR_E; + } + return 0; +} + +void tmc2130_set_pwr(uint8_t axis, uint8_t pwr) +{ + switch (axis) + { + case X_AXIS: _SET_PWR_X(pwr); break; + case Y_AXIS: _SET_PWR_Y(pwr); break; + case Z_AXIS: _SET_PWR_Z(pwr); break; + case E_AXIS: _SET_PWR_E(pwr); break; + } +} + +uint8_t tmc2130_get_inv(uint8_t axis) +{ + switch (axis) + { + case X_AXIS: return INVERT_X_DIR; + case Y_AXIS: return INVERT_Y_DIR; + case Z_AXIS: return INVERT_Z_DIR; + case E_AXIS: return INVERT_E0_DIR; + } + return 0; +} + +uint8_t tmc2130_get_dir(uint8_t axis) +{ + switch (axis) + { + case X_AXIS: return _GET_DIR_X; + case Y_AXIS: return _GET_DIR_Y; + case Z_AXIS: return _GET_DIR_Z; + case E_AXIS: return _GET_DIR_E; + } + return 0; +} + + +void tmc2130_set_dir(uint8_t axis, uint8_t dir) +{ + switch (axis) + { + case X_AXIS: _SET_DIR_X(dir); break; + case Y_AXIS: _SET_DIR_Y(dir); break; + case Z_AXIS: _SET_DIR_Z(dir); break; + case E_AXIS: _SET_DIR_E(dir); break; + } +} + +void tmc2130_do_step(uint8_t axis) +{ + switch (axis) + { + case X_AXIS: _DO_STEP_X; break; + case Y_AXIS: _DO_STEP_Y; break; + case Z_AXIS: _DO_STEP_Z; break; + case E_AXIS: _DO_STEP_E; break; + } +} + +void tmc2130_do_steps(uint8_t axis, uint16_t steps, uint8_t dir, uint16_t delay_us) +{ + tmc2130_set_dir(axis, dir); + delayMicroseconds(100); + while (steps--) + { + tmc2130_do_step(axis); + delayMicroseconds(delay_us); + } +} + +void tmc2130_goto_step(uint8_t axis, uint8_t step, uint8_t dir, uint16_t delay_us, uint16_t microstep_resolution) +{ + printf_P(PSTR("tmc2130_goto_step %d %d %d %d \n"), axis, step, dir, delay_us, microstep_resolution); + uint8_t shift; for (shift = 0; shift < 8; shift++) if (microstep_resolution == (256 >> shift)) break; + uint16_t cnt = 4 * (1 << (8 - shift)); + uint16_t mscnt = tmc2130_rd_MSCNT(axis); + if (dir == 2) + { + dir = tmc2130_get_inv(axis)?0:1; + int steps = (int)step - (int)(mscnt >> shift); + if (steps < 0) + { + dir ^= 1; + steps = -steps; + } + if (steps > (cnt / 2)) + { + dir ^= 1; + steps = cnt - steps; + } + cnt = steps; + } + tmc2130_set_dir(axis, dir); + delayMicroseconds(100); + mscnt = tmc2130_rd_MSCNT(axis); + while ((cnt--) && ((mscnt >> shift) != step)) + { + tmc2130_do_step(axis); + delayMicroseconds(delay_us); + mscnt = tmc2130_rd_MSCNT(axis); + } +} + +void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream) +{ + uint8_t pwr = tmc2130_get_pwr(axis); + tmc2130_set_pwr(axis, 0); + tmc2130_setup_chopper(axis, tmc2130_usteps2mres(256), tmc2130_current_h[axis], tmc2130_current_r[axis]); + tmc2130_goto_step(axis, 0, 2, 100, 256); + tmc2130_set_dir(axis, tmc2130_get_inv(axis)?0:1); + for (int i = 0; i <= 255; i++) + { + uint32_t val = tmc2130_rd_MSCURACT(axis); + uint16_t mscnt = tmc2130_rd_MSCNT(axis); + int curA = (val & 0xff) | ((val << 7) & 0x8000); + if (stream) + { + if (mscnt == i) + fprintf_P(stream, PSTR("%d\t%d\n"), i, curA); + else //TODO - remove this check + fprintf_P(stream, PSTR("!! (i=%d MSCNT=%d)\n"), i, mscnt); + } + if (data) *(data++) = curA; + tmc2130_do_step(axis); + delayMicroseconds(100); + } + tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); +} + +void tmc2130_set_wave(uint8_t axis, uint8_t fac200) +{ +// printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac200); + if (fac200 < TMC2130_WAVE_FAC200_MIN) fac200 = 0; + if (fac200 > TMC2130_WAVE_FAC200_MAX) fac200 = TMC2130_WAVE_FAC200_MAX; +// printf_P(PSTR(" tmc2130_set_wave %d %d\n"), axis, fac200); + switch (fac200) + { + case 0: //default TMC wave 247/0 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0xaaaab556); + tmc2130_wr_MSLUT(axis, 1, 0x4a9554aa); + tmc2130_wr_MSLUT(axis, 2, 0x24492929); + tmc2130_wr_MSLUT(axis, 3, 0x10104222); + tmc2130_wr_MSLUT(axis, 4, 0xf8000000); + tmc2130_wr_MSLUT(axis, 5, 0xb5bb777d); + tmc2130_wr_MSLUT(axis, 6, 0x49295556); + tmc2130_wr_MSLUT(axis, 7, 0x00404222); + tmc2130_wr_MSLUTSEL(axis, 2, 154, 255, 1, 2, 1, 1); + break; +/* case 215: //calculated wave 247/1.075 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x4a52491e); + tmc2130_wr_MSLUT(axis, 1, 0xa54a54a9); + tmc2130_wr_MSLUT(axis, 2, 0x49249494); + tmc2130_wr_MSLUT(axis, 3, 0x10421122); + tmc2130_wr_MSLUT(axis, 4, 0x00000008); + tmc2130_wr_MSLUT(axis, 5, 0x6ddbdefc); + tmc2130_wr_MSLUT(axis, 6, 0x94a555ad); + tmc2130_wr_MSLUT(axis, 7, 0x00408444); + tmc2130_wr_MSLUTSEL(axis, 4, 161, 255, 1, 2, 1, 1); + break;*/ + case 216: //calculated wave 247/1.080 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x9494911e); + tmc2130_wr_MSLUT(axis, 1, 0x4a94a94a); + tmc2130_wr_MSLUT(axis, 2, 0x92492929); + tmc2130_wr_MSLUT(axis, 3, 0x41044444); + tmc2130_wr_MSLUT(axis, 4, 0x00000040); + tmc2130_wr_MSLUT(axis, 5, 0xaedddf7f); + tmc2130_wr_MSLUT(axis, 6, 0x94a956ad); + tmc2130_wr_MSLUT(axis, 7, 0x00808448); + tmc2130_wr_MSLUTSEL(axis, 4, 159, 255, 1, 2, 1, 1); + break; + case 218: //calculated wave 247/1.090 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x4a49223e); + tmc2130_wr_MSLUT(axis, 1, 0x4a52a529); + tmc2130_wr_MSLUT(axis, 2, 0x49252529); + tmc2130_wr_MSLUT(axis, 3, 0x08422224); + tmc2130_wr_MSLUT(axis, 4, 0xfc008004); + tmc2130_wr_MSLUT(axis, 5, 0xb6eef7df); + tmc2130_wr_MSLUT(axis, 6, 0xa4aaaab5); + tmc2130_wr_MSLUT(axis, 7, 0x00808448); + tmc2130_wr_MSLUTSEL(axis, 5, 153, 255, 1, 2, 1, 1); + break; + case 220: //calculated wave 247/1.100 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0xa492487e); + tmc2130_wr_MSLUT(axis, 1, 0x294a52a4); + tmc2130_wr_MSLUT(axis, 2, 0x492494a5); + tmc2130_wr_MSLUT(axis, 3, 0x82110912); + tmc2130_wr_MSLUT(axis, 4, 0x00000080); + tmc2130_wr_MSLUT(axis, 5, 0xdb777df8); + tmc2130_wr_MSLUT(axis, 6, 0x252aaad6); + tmc2130_wr_MSLUT(axis, 7, 0x00808449); + tmc2130_wr_MSLUTSEL(axis, 6, 162, 255, 1, 2, 1, 1); + break; + case 222: //calculated wave 247/1.110 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x524910fe); + tmc2130_wr_MSLUT(axis, 1, 0xa5294a52); + tmc2130_wr_MSLUT(axis, 2, 0x24929294); + tmc2130_wr_MSLUT(axis, 3, 0x20844489); + tmc2130_wr_MSLUT(axis, 4, 0xc0004008); + tmc2130_wr_MSLUT(axis, 5, 0xdbbbdf7f); + tmc2130_wr_MSLUT(axis, 6, 0x252aab5a); + tmc2130_wr_MSLUT(axis, 7, 0x00808449); + tmc2130_wr_MSLUTSEL(axis, 7, 157, 255, 1, 2, 1, 1); + break; + case 224: //calculated wave 247/1.120 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x292223fe); + tmc2130_wr_MSLUT(axis, 1, 0x94a52949); + tmc2130_wr_MSLUT(axis, 2, 0x92524a52); + tmc2130_wr_MSLUT(axis, 3, 0x04222244); + tmc2130_wr_MSLUT(axis, 4, 0x00000101); + tmc2130_wr_MSLUT(axis, 5, 0x6dddefe0); + tmc2130_wr_MSLUT(axis, 6, 0x254aad5b); + tmc2130_wr_MSLUT(axis, 7, 0x00810889); + tmc2130_wr_MSLUTSEL(axis, 9, 164, 255, 1, 2, 1, 1); + break; +/* case 230: //calculated wave 247/1.150 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x24444076); + tmc2130_wr_MSLUT(axis, 1, 0x29294949); + tmc2130_wr_MSLUT(axis, 2, 0x24a494a5); + tmc2130_wr_MSLUT(axis, 3, 0x84222449); + tmc2130_wr_MSLUT(axis, 4, 0x00004020); + tmc2130_wr_MSLUT(axis, 5, 0xdbbbefe0); + tmc2130_wr_MSLUT(axis, 6, 0x495556b5); + tmc2130_wr_MSLUT(axis, 7, 0x00810889); + tmc2130_wr_MSLUTSEL(axis, 6, 164, 255, 1, 2, 1, 1); + break;*/ + } +} + +void bubblesort_uint8(uint8_t* data, uint8_t size, uint8_t* data2) +{ + uint8_t changed = 1; + while (changed) + { + changed = 0; + for (uint8_t i = 0; i < (size - 1); i++) + if (data[i] > data[i+1]) + { + uint8_t register d = data[i]; + data[i] = data[i+1]; + data[i+1] = d; + if (data2) + { + d = data2[i]; + data2[i] = data2[i+1]; + data2[i+1] = d; + } + changed = 1; + } + } +} + +uint8_t clusterize_uint8(uint8_t* data, uint8_t size, uint8_t* ccnt, uint8_t* cval, uint8_t tol) +{ + uint8_t cnt = 1; + uint16_t sum = data[0]; + uint8_t cl = 0; + for (uint8_t i = 1; i < size; i++) + { + uint8_t d = data[i]; + uint8_t val = sum / cnt; + uint8_t dif = 0; + if (val > d) dif = val - d; + else dif = d - val; + if (dif <= tol) + { + cnt += 1; + sum += d; + } + else + { + if (ccnt) ccnt[cl] = cnt; + if (cval) cval[cl] = val; + cnt = 1; + sum = d; + cl += 1; + } + } + if (ccnt) ccnt[cl] = cnt; + if (cval) cval[cl] = sum / cnt; + return ++cl; +} + +void tmc2130_home_calibrate(uint8_t axis) +{ + uint8_t step[16]; + uint8_t cnt[16]; + uint8_t val[16]; + homeaxis(axis, 16, step); + bubblesort_uint8(step, 16, 0); + printf_P(PSTR("sorted samples:\n")); + for (uint8_t i = 0; i < 16; i++) + printf_P(PSTR(" i=%2d step=%2d\n"), i, step[i]); + uint8_t cl = clusterize_uint8(step, 16, cnt, val, 1); + printf_P(PSTR("clusters:\n")); + for (uint8_t i = 0; i < cl; i++) + printf_P(PSTR(" i=%2d cnt=%2d val=%2d\n"), i, cnt[i], val[i]); + bubblesort_uint8(cnt, cl, val); + tmc2130_home_origin[axis] = val[cl-1]; + printf_P(PSTR("result value: %d\n"), tmc2130_home_origin[axis]); + if (axis == X_AXIS) eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_ORIGIN, tmc2130_home_origin[X_AXIS]); + else if (axis == Y_AXIS) eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_ORIGIN, tmc2130_home_origin[Y_AXIS]); +} #endif //TMC2130 diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index 3c64aff75..0ac0c03bf 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -1,15 +1,16 @@ #ifndef TMC2130_H #define TMC2130_H -extern uint8_t tmc2130_cs[4]; //mode extern uint8_t tmc2130_mode; //holding and running currents extern uint8_t tmc2130_current_h[4]; extern uint8_t tmc2130_current_r[4]; -//flags for axis stall detection +//microstep resolution (0 means 256usteps, 8 means 1ustep +extern uint8_t tmc2130_mres[4]; +//flags for axis stall detection extern uint8_t tmc2130_sg_thr[4]; extern bool tmc2130_sg_stop_on_crash; @@ -22,6 +23,18 @@ extern uint32_t tmc2130_sg_meassure_val; #define TMC2130_MODE_NORMAL 0 #define TMC2130_MODE_SILENT 1 +#define TMC2130_WAVE_FAC200_MIN 216 +#define TMC2130_WAVE_FAC200_MAX 224 +#define TMC2130_WAVE_FAC200_STP 2 + +extern uint8_t tmc2130_home_enabled; +extern uint8_t tmc2130_home_origin[2]; +extern uint8_t tmc2130_home_bsteps[2]; +extern uint8_t tmc2130_home_fsteps[2]; + +extern uint8_t tmc2130_wave_fac[4]; + + //initialize tmc2130 extern void tmc2130_init(); //check diag pins (called from stepper isr) @@ -54,7 +67,11 @@ extern void tmc2130_set_pwm_ampl(uint8_t axis, uint8_t pwm_ampl); extern void tmc2130_set_pwm_grad(uint8_t axis, uint8_t pwm_ampl); -extern uint16_t tmc2130_rd_MSCNT(uint8_t cs); +extern uint16_t tmc2130_rd_MSCNT(uint8_t axis); +extern uint32_t tmc2130_rd_MSCURACT(uint8_t axis); + +extern uint8_t tmc2130_usteps2mres(uint16_t usteps); +#define tmc2130_mres2usteps(mres) ((uint16_t)256 >> mres) extern bool tmc2130_wait_standstill_xy(int timeout); @@ -89,4 +106,18 @@ struct } tmc2130_axis_config; #pragma pack(pop) +extern uint16_t tmc2130_get_res(uint8_t axis); +extern uint8_t tmc2130_get_pwr(uint8_t axis); +extern void tmc2130_set_pwr(uint8_t axis, uint8_t pwr); +extern uint8_t tmc2130_get_inv(uint8_t axis); +extern uint8_t tmc2130_get_dir(uint8_t axis); +extern void tmc2130_set_dir(uint8_t axis, uint8_t dir); +extern void tmc2130_do_step(uint8_t axis); +extern void tmc2130_do_steps(uint8_t axis, uint16_t steps, uint8_t dir, uint16_t delay_us); +extern void tmc2130_goto_step(uint8_t axis, uint8_t step, uint8_t dir, uint16_t delay_us, uint16_t microstep_resolution); +extern void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream); +extern void tmc2130_set_wave(uint8_t axis, uint8_t fac200); + +extern void tmc2130_home_calibrate(uint8_t axis); + #endif //TMC2130_H \ No newline at end of file diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 29c0ed40c..6eeb55a80 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -228,6 +228,9 @@ static void menu_action_setlang(unsigned char lang); 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_wfac(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); +static void menu_action_setting_edit_mres(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); +static void menu_action_setting_edit_byte3(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); 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); @@ -3946,6 +3949,219 @@ static void lcd_selftest_() lcd_selftest(); } + +static void lcd_experimantal_menu(); +static void lcd_homing_accuracy_menu(); + +static void lcd_accurate_home_set() +{ + tmc2130_home_enabled = tmc2130_home_enabled?0:1; + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, tmc2130_home_enabled); +} + +static void lcd_homing_accuracy_menu_advanced_reset() +{ + tmc2130_home_bsteps[X_AXIS] = 48; + tmc2130_home_fsteps[X_AXIS] = 48; + tmc2130_home_bsteps[Y_AXIS] = 48; + tmc2130_home_fsteps[Y_AXIS] = 48; +} + +static void lcd_homing_accuracy_menu_advanced_save() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_ORIGIN, tmc2130_home_origin[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_BSTEPS, tmc2130_home_bsteps[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_FSTEPS, tmc2130_home_fsteps[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_ORIGIN, tmc2130_home_origin[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_BSTEPS, tmc2130_home_bsteps[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_FSTEPS, tmc2130_home_fsteps[Y_AXIS]); +} + +static void lcd_homing_accuracy_menu_advanced_back() +{ + lcd_homing_accuracy_menu_advanced_save(); + currentMenu = lcd_homing_accuracy_menu; + lcd_homing_accuracy_menu(); +} + +static void lcd_homing_accuracy_menu_advanced() +{ + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + START_MENU(); + MENU_ITEM(back, PSTR("Homing accuracy"), lcd_homing_accuracy_menu_advanced_back); + MENU_ITEM(function, PSTR("Reset def. steps"), lcd_homing_accuracy_menu_advanced_reset); + MENU_ITEM_EDIT(byte3, PSTR("X-origin"), &tmc2130_home_origin[X_AXIS], 0, 63); + MENU_ITEM_EDIT(byte3, PSTR("Y-origin"), &tmc2130_home_origin[Y_AXIS], 0, 63); + MENU_ITEM_EDIT(byte3, PSTR("X-bsteps"), &tmc2130_home_bsteps[X_AXIS], 0, 128); + MENU_ITEM_EDIT(byte3, PSTR("Y-bsteps"), &tmc2130_home_bsteps[Y_AXIS], 0, 128); + MENU_ITEM_EDIT(byte3, PSTR("X-fsteps"), &tmc2130_home_fsteps[X_AXIS], 0, 128); + MENU_ITEM_EDIT(byte3, PSTR("Y-fsteps"), &tmc2130_home_fsteps[Y_AXIS], 0, 128); + END_MENU(); +} + +static void lcd_homing_accuracy_menu() +{ + START_MENU(); + MENU_ITEM(back, PSTR("Experimental"), lcd_experimantal_menu); + MENU_ITEM(function, tmc2130_home_enabled?PSTR("Accur. homing On"):PSTR("Accur. homing Off"), lcd_accurate_home_set); + MENU_ITEM(gcode, PSTR("Calibrate X"), PSTR("G28XC")); + MENU_ITEM(gcode, PSTR("Calibrate Y"), PSTR("G28YC")); + MENU_ITEM(submenu, PSTR("Advanced"), lcd_homing_accuracy_menu_advanced); + END_MENU(); +} + +static void lcd_ustep_resolution_menu_save() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_X_MRES, tmc2130_mres[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Y_MRES, tmc2130_mres[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Z_MRES, tmc2130_mres[Z_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_E_MRES, tmc2130_mres[E_AXIS]); +} + +static void lcd_ustep_resolution_menu_back() +{ + float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT; + bool changed = false; + if (tmc2130_mres[X_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_X_MRES)) + { + axis_steps_per_unit[X_AXIS] = tmp1[X_AXIS] * tmc2130_mres2usteps(tmc2130_mres[X_AXIS]) / TMC2130_USTEPS_XY; + changed = true; + } + if (tmc2130_mres[Y_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Y_MRES)) + { + axis_steps_per_unit[Y_AXIS] = tmp1[Y_AXIS] * tmc2130_mres2usteps(tmc2130_mres[Y_AXIS]) / TMC2130_USTEPS_XY; + changed = true; + } + if (tmc2130_mres[Z_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Z_MRES)) + { + axis_steps_per_unit[Z_AXIS] = tmp1[Z_AXIS] * tmc2130_mres2usteps(tmc2130_mres[Z_AXIS]) / TMC2130_USTEPS_Z; + changed = true; + } + if (tmc2130_mres[E_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_E_MRES)) + { + axis_steps_per_unit[E_AXIS] = tmp1[E_AXIS] * tmc2130_mres2usteps(tmc2130_mres[E_AXIS]) / TMC2130_USTEPS_E; + changed = true; + } + if (changed) + { + lcd_ustep_resolution_menu_save(); + Config_StoreSettings(EEPROM_OFFSET); + tmc2130_init(); + } + currentMenu = lcd_experimantal_menu; + lcd_experimantal_menu(); +} + +static void lcd_ustep_resolution_reset_def_xyze() +{ + tmc2130_mres[X_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Y_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Z_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_Z); + tmc2130_mres[E_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_E); + float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT; + axis_steps_per_unit[X_AXIS] = tmp1[X_AXIS]; + axis_steps_per_unit[Y_AXIS] = tmp1[Y_AXIS]; + axis_steps_per_unit[Z_AXIS] = tmp1[Z_AXIS]; + axis_steps_per_unit[E_AXIS] = tmp1[E_AXIS]; +} + +static void lcd_ustep_resolution_menu() +{ + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + START_MENU(); + MENU_ITEM(back, PSTR("Experimental"), lcd_ustep_resolution_menu_back); + MENU_ITEM(function, PSTR("Reset defaults"), lcd_ustep_resolution_reset_def_xyze); + MENU_ITEM_EDIT(mres, PSTR("X-resolution"), &tmc2130_mres[X_AXIS], 4, 4); + MENU_ITEM_EDIT(mres, PSTR("Y-resolution"), &tmc2130_mres[Y_AXIS], 4, 4); + MENU_ITEM_EDIT(mres, PSTR("Z-resolution"), &tmc2130_mres[Z_AXIS], 4, 4); + MENU_ITEM_EDIT(mres, PSTR("E-resolution"), &tmc2130_mres[E_AXIS], 2, 5); + END_MENU(); +} + +static void lcd_ustep_linearity_menu_save() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC, tmc2130_wave_fac[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC, tmc2130_wave_fac[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC, tmc2130_wave_fac[Z_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC, tmc2130_wave_fac[E_AXIS]); +} + +static void lcd_ustep_linearity_menu_back() +{ + bool changed = false; + if (tmc2130_wave_fac[X_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[X_AXIS] = 0; + if (tmc2130_wave_fac[Y_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Y_AXIS] = 0; + if (tmc2130_wave_fac[Z_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Z_AXIS] = 0; + if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[E_AXIS] = 0; + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC) != tmc2130_wave_fac[X_AXIS]); + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC) != tmc2130_wave_fac[Y_AXIS]); + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC) != tmc2130_wave_fac[Z_AXIS]); + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC) != tmc2130_wave_fac[E_AXIS]); + lcd_ustep_linearity_menu_save(); + if (changed) tmc2130_init(); + currentMenu = lcd_experimantal_menu; + lcd_experimantal_menu(); +} + +static void lcd_ustep_linearity_menu_recomended() +{ + tmc2130_wave_fac[X_AXIS] = 220; + tmc2130_wave_fac[Y_AXIS] = 220; + tmc2130_wave_fac[Z_AXIS] = 220; + tmc2130_wave_fac[E_AXIS] = 220; +} + +static void lcd_ustep_linearity_menu_reset() +{ + tmc2130_wave_fac[X_AXIS] = 0; + tmc2130_wave_fac[Y_AXIS] = 0; + tmc2130_wave_fac[Z_AXIS] = 0; + tmc2130_wave_fac[E_AXIS] = 0; +} + +static void lcd_ustep_linearity_menu() +{ + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + START_MENU(); + MENU_ITEM(back, PSTR("Experimental"), lcd_ustep_linearity_menu_back); + MENU_ITEM(function, PSTR("Reset correction"), lcd_ustep_linearity_menu_reset); + MENU_ITEM(function, PSTR("Recomended config"), lcd_ustep_linearity_menu_recomended); + MENU_ITEM_EDIT(wfac, PSTR("X-correction"), &tmc2130_wave_fac[X_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + MENU_ITEM_EDIT(wfac, PSTR("Y-correction"), &tmc2130_wave_fac[Y_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + MENU_ITEM_EDIT(wfac, PSTR("Z-correction"), &tmc2130_wave_fac[Z_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + MENU_ITEM_EDIT(wfac, PSTR("E-correction"), &tmc2130_wave_fac[E_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + END_MENU(); +} + +static void lcd_experimantal_menu_save_all() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, tmc2130_home_enabled); + lcd_ustep_resolution_menu_save(); + lcd_ustep_linearity_menu_save(); + Config_StoreSettings(EEPROM_OFFSET); +} + +static void lcd_experimantal_menu_disable_all() +{ + tmc2130_home_enabled = 0; + lcd_ustep_resolution_reset_def_xyze(); + lcd_ustep_linearity_menu_reset(); + lcd_experimantal_menu_save_all(); + tmc2130_init(); +} + +static void lcd_experimantal_menu() +{ + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(function, PSTR("All Xfeatures off"), lcd_experimantal_menu_disable_all); + MENU_ITEM(submenu, PSTR("Homing accuracy"), lcd_homing_accuracy_menu); + MENU_ITEM(submenu, PSTR("uStep resolution"), lcd_ustep_resolution_menu); + MENU_ITEM(submenu, PSTR("uStep linearity"), lcd_ustep_linearity_menu); + END_MENU(); +} + + static void lcd_calibration_menu() { START_MENU(); @@ -5155,6 +5371,7 @@ static void lcd_main_menu() #endif MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu); if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu); + MENU_ITEM(submenu, PSTR("Experimantal"), lcd_experimantal_menu); } if (!is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) @@ -5578,6 +5795,30 @@ void lcd_sdcard_menu() } */ +// Convert tmc2130 mres to string +char *mres_to_str3(const uint8_t &x) +{ + return itostr3(256 >> x); +} + +extern char conv[8]; + +// Convert tmc2130 wfac to string +char *wfac_to_str5(const uint8_t &x) +{ + if (x>=TMC2130_WAVE_FAC200_MIN) return ftostr43(((float)(x & 0xfe))/200); + conv[0] = ' '; + conv[1] = ' '; + conv[2] = 'O'; + conv[3] = 'f'; + conv[4] = 'f'; + conv[5] = 0; + return conv; +} + +menu_edit_type(uint8_t, wfac, wfac_to_str5, 1) +menu_edit_type(uint8_t, mres, mres_to_str3, 1) +menu_edit_type(uint8_t, byte3, itostr3, 1) menu_edit_type(int, int3, itostr3, 1) menu_edit_type(float, float3, ftostr3, 1) menu_edit_type(float, float32, ftostr32, 100) diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 0785b44db..0d9db3e7b 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -1144,6 +1144,17 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(uint8_t row, cons lcd.print(' '); lcd_printPGM(data); } + + +extern char *wfac_to_str5(const uint8_t &x); +extern char *mres_to_str3(const uint8_t &x); + +#define lcd_implementation_drawmenu_setting_edit_wfac_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', wfac_to_str5(*(data))) +#define lcd_implementation_drawmenu_setting_edit_wfac(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', wfac_to_str5(*(data))) +#define lcd_implementation_drawmenu_setting_edit_mres_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', mres_to_str3(*(data))) +#define lcd_implementation_drawmenu_setting_edit_mres(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', mres_to_str3(*(data))) +#define lcd_implementation_drawmenu_setting_edit_byte3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3((uint8_t)*(data))) +#define lcd_implementation_drawmenu_setting_edit_byte3(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', itostr3((uint8_t)*(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))) From dd2468d306b358d0645afa92baa162ccfd0220ac Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 15 Feb 2018 11:44:19 +0100 Subject: [PATCH 028/926] Avoid the stepper interrupt being missed by extending the tick time beyond the current time. This is a trick borrwed from upstream Marlin. In debug mode, watch for the missed stepper interrupt ticks where the interrupts are missed by more than 20% of the 10kHz stepper interrupt repeat rate, and show the statistics (number of missed ticks and by how many micro seconds was the interrupt missed, and what was the maximum missed interrupt delay) on the display and send it to the serial line. --- Firmware/stepper.cpp | 32 ++++++++++++++++++-------------- Firmware/ultralcd.cpp | 19 +++++++++++++------ 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index c636ae391..3ac2ffc29 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -131,6 +131,7 @@ uint8_t LastStepMask = 0; #ifdef DEBUG_STEPPER_TIMER_MISSED extern bool stepper_timer_overflow_state; +extern uint16_t stepper_timer_overflow_last; #endif /* DEBUG_STEPPER_TIMER_MISSED */ //=========================================================================== @@ -381,22 +382,25 @@ ISR(TIMER1_COMPA_vect) { isr(); // Don't run the ISR faster than possible -// if (OCR1A < TCNT1 + 16) OCR1A = TCNT1 + 16; + // Is there a 8us time left before the next interrupt triggers? + if (OCR1A < TCNT1 + 16) { #ifdef DEBUG_STEPPER_TIMER_MISSED - // Verify whether the next planned timer interrupt has not been missed already. - // This debugging test takes < 1.125us - // This skews the profiling slightly as the fastest stepper timer - // interrupt repeats at a 100us rate (10kHz). - if (OCR1A < TCNT1) { - stepper_timer_overflow_state = true; - WRITE_NC(BEEPER, HIGH); - SERIAL_PROTOCOLPGM("Stepper timer overflow "); - SERIAL_PROTOCOL(OCR1A); - SERIAL_PROTOCOLPGM("<"); - SERIAL_PROTOCOL(TCNT1); - SERIAL_PROTOCOLLN("!"); - } + // Verify whether the next planned timer interrupt has not been missed already. + // This debugging test takes < 1.125us + // This skews the profiling slightly as the fastest stepper timer + // interrupt repeats at a 100us rate (10kHz). + if (OCR1A + 40 < TCNT1) { + // The interrupt was delayed by more than 20us (which is 1/5th of the 10kHz ISR repeat rate). + // Give a warning. + stepper_timer_overflow_state = true; + stepper_timer_overflow_last = TCNT1 - OCR1A; + // Beep, the beeper will be cleared at the stepper_timer_overflow() called from the main thread. + WRITE(BEEPER, HIGH); + } #endif + // Fix the next interrupt to be executed after 8us from now. + OCR1A = TCNT1 + 16; + } } FORCE_INLINE void stepper_next_block() diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 29c0ed40c..6a14a9164 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5182,14 +5182,21 @@ void stack_error() { #ifdef DEBUG_STEPPER_TIMER_MISSED bool stepper_timer_overflow_state = false; +uint16_t stepper_timer_overflow_max = 0; +uint16_t stepper_timer_overflow_last = 0; +uint16_t stepper_timer_overflow_cnt = 0; void stepper_timer_overflow() { - SET_OUTPUT(BEEPER); - WRITE(BEEPER, HIGH); - delay(1000); + char msg[28]; + sprintf_P(msg, PSTR("#%d %d max %d"), ++ stepper_timer_overflow_cnt, stepper_timer_overflow_last >> 1, stepper_timer_overflow_max >> 1); + lcd_setstatus(msg); + stepper_timer_overflow_state = false; + if (stepper_timer_overflow_last > stepper_timer_overflow_max) + stepper_timer_overflow_max = stepper_timer_overflow_last; + SERIAL_ECHOPGM("Stepper timer overflow: "); + MYSERIAL.print(msg); + SERIAL_ECHOLNPGM(""); + WRITE(BEEPER, LOW); - lcd_display_message_fullscreen_P(MSG_STEPPER_TIMER_OVERFLOW_ERROR); - //err_triggered = 1; - while (1) delay_keep_alive(1000); } #endif /* DEBUG_STEPPER_TIMER_MISSED */ From 57499dc6a0f30f94b0e3230e3800260023772fa7 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 15 Feb 2018 15:40:49 +0100 Subject: [PATCH 029/926] M350 for E axis (8, 16, 32, 64, 128 microsteps) --- Firmware/Dcodes.cpp | 23 ++++++++++- Firmware/Marlin_main.cpp | 26 +++++++++++++ Firmware/planner.h | 2 + Firmware/stepper.cpp | 4 ++ Firmware/tmc2130.cpp | 83 ++++++++++++++++++++++------------------ Firmware/tmc2130.h | 5 ++- 6 files changed, 103 insertions(+), 40 deletions(-) diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index 3ac40909c..eb0d09fa4 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -446,6 +446,11 @@ void dcode_10() calibration_status_store(CALIBRATION_STATUS_LIVE_ADJUST); } +void dcode_12() +{//Time + LOG("D12 - Time\n"); +} + #include "tmc2130.h" #include "Marlin.h" #include "planner.h" @@ -495,7 +500,8 @@ void dcode_2130() } else if (strchr_pointer[1+5] == '?') { - if (strcmp(strchr_pointer + 7, "step") == 0) printf_P(PSTR("%c step=%d\n"), ch_axis, tmc2130_rd_MSCNT(axis) >> tmc2130_mres[axis]); + if (strcmp(strchr_pointer + 7, "mres") == 0) printf_P(PSTR("%c mres=%d\n"), ch_axis, tmc2130_mres[axis]); + else if (strcmp(strchr_pointer + 7, "step") == 0) printf_P(PSTR("%c step=%d\n"), ch_axis, tmc2130_rd_MSCNT(axis) >> tmc2130_mres[axis]); else if (strcmp(strchr_pointer + 7, "mscnt") == 0) printf_P(PSTR("%c MSCNT=%d\n"), ch_axis, tmc2130_rd_MSCNT(axis)); else if (strcmp(strchr_pointer + 7, "mscuract") == 0) { @@ -519,6 +525,21 @@ void dcode_2130() uint16_t res = tmc2130_get_res(axis); tmc2130_goto_step(axis, step & (4*res - 1), 2, 1000, res); } + else if (strncmp(strchr_pointer + 7, "mres", 4) == 0) + { + uint8_t mres = strchr_pointer[11] - '0'; + if ((mres >= 0) && (mres <= 8)) + { + st_synchronize(); + uint16_t res = tmc2130_get_res(axis); + uint16_t res_new = tmc2130_mres2usteps(mres); + tmc2130_set_res(axis, res_new); + if (res_new > res) + axis_steps_per_unit[axis] *= (res_new / res); + else + axis_steps_per_unit[axis] /= (res / res_new); + } + } else if (strncmp(strchr_pointer + 7, "wave", 4) == 0) { uint8_t fac200 = atoi(strchr_pointer + 11) & 0xfe; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 3f2322ee5..e16e8869b 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6195,12 +6195,38 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp case 350: // M350 Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers. { + #ifdef TMC2130 + if(code_seen('E')) + { + uint16_t res_new = code_value(); + if ((res_new == 8) || (res_new == 16) || (res_new == 32) || (res_new == 64) || (res_new == 128)) + { + st_synchronize(); + uint8_t axis = E_AXIS; + uint16_t res = tmc2130_get_res(axis); + tmc2130_set_res(axis, res_new); + if (res_new > res) + { + uint16_t fac = (res_new / res); + axis_steps_per_unit[axis] *= fac; + position[E_AXIS] *= fac; + } + else + { + uint16_t fac = (res / res_new); + axis_steps_per_unit[axis] /= fac; + position[E_AXIS] /= fac; + } + } + } + #else //TMC2130 #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 -1) switch(driver) @@ -1490,3 +1493,4 @@ void microstep_readings() SERIAL_PROTOCOLLN( digitalRead(E1_MS2_PIN)); #endif } +#endif //TMC2130 diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 0b2c33310..8c836f046 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -565,11 +565,11 @@ void tmc2130_wr_THIGH(uint8_t axis, uint32_t val32) tmc2130_wr(axis, TMC2130_REG_THIGH, val32); } -uint8_t tmc2130_usteps2mres(uint16_t usteps) -{ - uint8_t mres = 8; while (mres && (usteps >>= 1)) mres--; - return mres; -} +uint8_t tmc2130_usteps2mres(uint16_t usteps) +{ + uint8_t mres = 8; while (mres && (usteps >>= 1)) mres--; + return mres; +} uint8_t tmc2130_wr(uint8_t axis, uint8_t addr, uint32_t wval) { @@ -698,6 +698,15 @@ uint16_t tmc2130_get_res(uint8_t axis) return tmc2130_mres2usteps(tmc2130_mres[axis]); } +void tmc2130_set_res(uint8_t axis, uint16_t res) +{ + tmc2130_mres[axis] = tmc2130_usteps2mres(res); +// uint32_t u = micros(); + tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); +// u = micros() - u; +// printf_P(PSTR("tmc2130_setup_chopper %c %lu us"), "XYZE"[axis], u); +} + uint8_t tmc2130_get_pwr(uint8_t axis) { switch (axis) @@ -872,26 +881,26 @@ void tmc2130_set_wave(uint8_t axis, uint8_t fac200) break;*/ case 216: //calculated wave 247/1.080 tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x9494911e); - tmc2130_wr_MSLUT(axis, 1, 0x4a94a94a); - tmc2130_wr_MSLUT(axis, 2, 0x92492929); - tmc2130_wr_MSLUT(axis, 3, 0x41044444); - tmc2130_wr_MSLUT(axis, 4, 0x00000040); - tmc2130_wr_MSLUT(axis, 5, 0xaedddf7f); - tmc2130_wr_MSLUT(axis, 6, 0x94a956ad); - tmc2130_wr_MSLUT(axis, 7, 0x00808448); + tmc2130_wr_MSLUT(axis, 0, 0x9494911e); + tmc2130_wr_MSLUT(axis, 1, 0x4a94a94a); + tmc2130_wr_MSLUT(axis, 2, 0x92492929); + tmc2130_wr_MSLUT(axis, 3, 0x41044444); + tmc2130_wr_MSLUT(axis, 4, 0x00000040); + tmc2130_wr_MSLUT(axis, 5, 0xaedddf7f); + tmc2130_wr_MSLUT(axis, 6, 0x94a956ad); + tmc2130_wr_MSLUT(axis, 7, 0x00808448); tmc2130_wr_MSLUTSEL(axis, 4, 159, 255, 1, 2, 1, 1); break; case 218: //calculated wave 247/1.090 tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x4a49223e); - tmc2130_wr_MSLUT(axis, 1, 0x4a52a529); - tmc2130_wr_MSLUT(axis, 2, 0x49252529); - tmc2130_wr_MSLUT(axis, 3, 0x08422224); - tmc2130_wr_MSLUT(axis, 4, 0xfc008004); - tmc2130_wr_MSLUT(axis, 5, 0xb6eef7df); - tmc2130_wr_MSLUT(axis, 6, 0xa4aaaab5); - tmc2130_wr_MSLUT(axis, 7, 0x00808448); + tmc2130_wr_MSLUT(axis, 0, 0x4a49223e); + tmc2130_wr_MSLUT(axis, 1, 0x4a52a529); + tmc2130_wr_MSLUT(axis, 2, 0x49252529); + tmc2130_wr_MSLUT(axis, 3, 0x08422224); + tmc2130_wr_MSLUT(axis, 4, 0xfc008004); + tmc2130_wr_MSLUT(axis, 5, 0xb6eef7df); + tmc2130_wr_MSLUT(axis, 6, 0xa4aaaab5); + tmc2130_wr_MSLUT(axis, 7, 0x00808448); tmc2130_wr_MSLUTSEL(axis, 5, 153, 255, 1, 2, 1, 1); break; case 220: //calculated wave 247/1.100 @@ -908,26 +917,26 @@ void tmc2130_set_wave(uint8_t axis, uint8_t fac200) break; case 222: //calculated wave 247/1.110 tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x524910fe); - tmc2130_wr_MSLUT(axis, 1, 0xa5294a52); - tmc2130_wr_MSLUT(axis, 2, 0x24929294); - tmc2130_wr_MSLUT(axis, 3, 0x20844489); - tmc2130_wr_MSLUT(axis, 4, 0xc0004008); - tmc2130_wr_MSLUT(axis, 5, 0xdbbbdf7f); - tmc2130_wr_MSLUT(axis, 6, 0x252aab5a); - tmc2130_wr_MSLUT(axis, 7, 0x00808449); + tmc2130_wr_MSLUT(axis, 0, 0x524910fe); + tmc2130_wr_MSLUT(axis, 1, 0xa5294a52); + tmc2130_wr_MSLUT(axis, 2, 0x24929294); + tmc2130_wr_MSLUT(axis, 3, 0x20844489); + tmc2130_wr_MSLUT(axis, 4, 0xc0004008); + tmc2130_wr_MSLUT(axis, 5, 0xdbbbdf7f); + tmc2130_wr_MSLUT(axis, 6, 0x252aab5a); + tmc2130_wr_MSLUT(axis, 7, 0x00808449); tmc2130_wr_MSLUTSEL(axis, 7, 157, 255, 1, 2, 1, 1); break; case 224: //calculated wave 247/1.120 tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x292223fe); - tmc2130_wr_MSLUT(axis, 1, 0x94a52949); - tmc2130_wr_MSLUT(axis, 2, 0x92524a52); - tmc2130_wr_MSLUT(axis, 3, 0x04222244); - tmc2130_wr_MSLUT(axis, 4, 0x00000101); - tmc2130_wr_MSLUT(axis, 5, 0x6dddefe0); - tmc2130_wr_MSLUT(axis, 6, 0x254aad5b); - tmc2130_wr_MSLUT(axis, 7, 0x00810889); + tmc2130_wr_MSLUT(axis, 0, 0x292223fe); + tmc2130_wr_MSLUT(axis, 1, 0x94a52949); + tmc2130_wr_MSLUT(axis, 2, 0x92524a52); + tmc2130_wr_MSLUT(axis, 3, 0x04222244); + tmc2130_wr_MSLUT(axis, 4, 0x00000101); + tmc2130_wr_MSLUT(axis, 5, 0x6dddefe0); + tmc2130_wr_MSLUT(axis, 6, 0x254aad5b); + tmc2130_wr_MSLUT(axis, 7, 0x00810889); tmc2130_wr_MSLUTSEL(axis, 9, 164, 255, 1, 2, 1, 1); break; /* case 230: //calculated wave 247/1.150 diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index 0ac0c03bf..0ec12c5f3 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -70,8 +70,8 @@ extern void tmc2130_set_pwm_grad(uint8_t axis, uint8_t pwm_ampl); extern uint16_t tmc2130_rd_MSCNT(uint8_t axis); extern uint32_t tmc2130_rd_MSCURACT(uint8_t axis); -extern uint8_t tmc2130_usteps2mres(uint16_t usteps); -#define tmc2130_mres2usteps(mres) ((uint16_t)256 >> mres) +extern uint8_t tmc2130_usteps2mres(uint16_t usteps); +#define tmc2130_mres2usteps(mres) ((uint16_t)256 >> mres) extern bool tmc2130_wait_standstill_xy(int timeout); @@ -107,6 +107,7 @@ struct #pragma pack(pop) extern uint16_t tmc2130_get_res(uint8_t axis); +extern void tmc2130_set_res(uint8_t axis, uint16_t res); extern uint8_t tmc2130_get_pwr(uint8_t axis); extern void tmc2130_set_pwr(uint8_t axis, uint8_t pwr); extern uint8_t tmc2130_get_inv(uint8_t axis); From dff8c29362fef5890c93eb7b723be063176d4f7f Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Sat, 17 Feb 2018 19:58:40 +0100 Subject: [PATCH 030/926] Microstep linearity correction, optimized wave compression. Correction factor can be adjusted from 0.9 to 1.25 by 0.005 steps. --- Firmware/Dcodes.cpp | 4 +- Firmware/tmc2130.cpp | 140 +++++++++++++++++++++++++++++++++++------- Firmware/tmc2130.h | 8 +-- Firmware/ultralcd.cpp | 2 +- 4 files changed, 126 insertions(+), 28 deletions(-) diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index eb0d09fa4..f01d2f5a3 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -542,10 +542,10 @@ void dcode_2130() } else if (strncmp(strchr_pointer + 7, "wave", 4) == 0) { - uint8_t fac200 = atoi(strchr_pointer + 11) & 0xfe; + uint8_t fac200 = atoi(strchr_pointer + 11) & 0xff; if (fac200 < TMC2130_WAVE_FAC200_MIN) fac200 = 0; if (fac200 > TMC2130_WAVE_FAC200_MAX) fac200 = TMC2130_WAVE_FAC200_MAX; - tmc2130_set_wave(axis, fac200); + tmc2130_set_wave(axis, 247, fac200); tmc2130_wave_fac[axis] = fac200; } } diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 8c836f046..91b21d84b 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -188,10 +188,10 @@ void tmc2130_init() tmc2130_sg_cnt[2] = 0; tmc2130_sg_cnt[3] = 0; - tmc2130_set_wave(X_AXIS, tmc2130_wave_fac[X_AXIS]); - tmc2130_set_wave(Y_AXIS, tmc2130_wave_fac[Y_AXIS]); - tmc2130_set_wave(Z_AXIS, tmc2130_wave_fac[Z_AXIS]); - tmc2130_set_wave(E_AXIS, tmc2130_wave_fac[E_AXIS]); + tmc2130_set_wave(X_AXIS, 247, tmc2130_wave_fac[X_AXIS]); + tmc2130_set_wave(Y_AXIS, 247, tmc2130_wave_fac[Y_AXIS]); + tmc2130_set_wave(Z_AXIS, 247, tmc2130_wave_fac[Z_AXIS]); + tmc2130_set_wave(E_AXIS, 247, tmc2130_wave_fac[E_AXIS]); } uint8_t tmc2130_sample_diag() @@ -499,6 +499,7 @@ void tmc2130_wr_MSLUTSTART(uint8_t axis, uint8_t start_sin, uint8_t start_sin90) val |= (uint32_t)start_sin; val |= ((uint32_t)start_sin90) << 16; tmc2130_wr(axis, TMC2130_REG_MSLUTSTART, val); + //printf_P(PSTR("MSLUTSTART=%08lx (start_sin=%d start_sin90=%d)\n"), val, start_sin, start_sin90); } void tmc2130_wr_MSLUTSEL(uint8_t axis, uint8_t x1, uint8_t x2, uint8_t x3, uint8_t w0, uint8_t w1, uint8_t w2, uint8_t w3) @@ -512,11 +513,13 @@ void tmc2130_wr_MSLUTSEL(uint8_t axis, uint8_t x1, uint8_t x2, uint8_t x3, uint8 val |= ((uint32_t)x2) << 16; val |= ((uint32_t)x3) << 24; tmc2130_wr(axis, TMC2130_REG_MSLUTSEL, val); + //printf_P(PSTR("MSLUTSEL=%08lx (x1=%d x2=%d x3=%d w0=%d w1=%d w2=%d w3=%d)\n"), val, x1, x2, x3, w0, w1, w2, w3); } void tmc2130_wr_MSLUT(uint8_t axis, uint8_t i, uint32_t val) { tmc2130_wr(axis, TMC2130_REG_MSLUT0 + (i & 7), val); + //printf_P(PSTR("MSLUT[%d]=%08lx\n"), i, val); } void tmc2130_wr_CHOPCONF(uint8_t axis, uint8_t toff, uint8_t hstrt, uint8_t hend, uint8_t fd3, uint8_t disfdcc, uint8_t rndtf, uint8_t chm, uint8_t tbl, uint8_t vsense, uint8_t vhighfs, uint8_t vhighchm, uint8_t sync, uint8_t mres, uint8_t intpol, uint8_t dedge, uint8_t diss2g) @@ -847,11 +850,82 @@ void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream) tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); } -void tmc2130_set_wave(uint8_t axis, uint8_t fac200) +void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200) { -// printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac200); +// TMC2130 wave compression algorithm +// optimized for minimal memory requirements + printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac200); if (fac200 < TMC2130_WAVE_FAC200_MIN) fac200 = 0; if (fac200 > TMC2130_WAVE_FAC200_MAX) fac200 = TMC2130_WAVE_FAC200_MAX; + float fac = (float)fac200/200; //correction factor + uint8_t vA = 0; //value of currentA + uint8_t va = 0; //previous vA + uint8_t d0 = 0; //delta0 + uint8_t d1 = 1; //delta1 + uint8_t w[4] = {1,1,1,1}; //W bits (MSLUTSEL) + uint8_t x[3] = {255,255,255}; //X segment bounds (MSLUTSEL) + uint8_t s = 0; //current segment + int8_t b; //encoded bit value + uint8_t dA; //delta value + int i; //microstep index + uint32_t reg; //tmc2130 register + tmc2130_wr_MSLUTSTART(axis, 0, amp); + for (i = 0; i < 256; i++) + { + if ((i & 31) == 0) + reg = 0; + // calculate value + if (fac == 0) // default TMC wave + vA = (uint8_t)((amp+1) * sin((2*PI*i + PI)/1024) + 0.5) - 1; + else // corrected wave + vA = (uint8_t)(amp * pow(sin(2*PI*i/1024), fac) + 0.5); + dA = vA - va; // calculate delta + va = vA; + b = -1; + if (dA == d0) b = 0; //delta == delta0 => bit=0 + else if (dA == d1) b = 1; //delta == delta1 => bit=1 + else + { + if (dA < d0) // delta < delta0 => switch wbit down + { + //printf("dn\n"); + b = 0; + switch (dA) + { + case -1: d0 = -1; d1 = 0; w[s+1] = 0; break; + case 0: d0 = 0; d1 = 1; w[s+1] = 1; break; + case 1: d0 = 1; d1 = 2; w[s+1] = 2; break; + default: b = -1; break; + } + if (b >= 0) { x[s] = i; s++; } + } + else if (dA > d1) // delta > delta0 => switch wbit up + { + //printf("up\n"); + b = 1; + switch (dA) + { + case 1: d0 = 0; d1 = 1; w[s+1] = 1; break; + case 2: d0 = 1; d1 = 2; w[s+1] = 2; break; + case 3: d0 = 2; d1 = 3; w[s+1] = 3; break; + default: b = -1; break; + } + if (b >= 0) { x[s] = i; s++; } + } + } + if (b < 0) break; // delta out of range (<-1 or >3) + if (s > 3) break; // segment out of range (> 3) + //printf("%d\n", vA); + if (b == 1) reg |= 0x80000000; + if ((i & 31) == 31) + tmc2130_wr_MSLUT(axis, (uint8_t)(i >> 5), reg); + else + reg >>= 1; +// printf("%3d\t%3d\t%2d\t%2d\t%2d\t%2d %08x\n", i, vA, dA, b, w[s], s, reg); + } + tmc2130_wr_MSLUTSEL(axis, x[0], x[1], x[2], w[0], w[1], w[2], w[3]); + +/* // printf_P(PSTR(" tmc2130_set_wave %d %d\n"), axis, fac200); switch (fac200) { @@ -867,7 +941,43 @@ void tmc2130_set_wave(uint8_t axis, uint8_t fac200) tmc2130_wr_MSLUT(axis, 7, 0x00404222); tmc2130_wr_MSLUTSEL(axis, 2, 154, 255, 1, 2, 1, 1); break; -/* case 215: //calculated wave 247/1.075 + case 210: //calculated wave 247/1.050 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x55294a4e); + tmc2130_wr_MSLUT(axis, 1, 0xa52a552a); + tmc2130_wr_MSLUT(axis, 2, 0x48949294); + tmc2130_wr_MSLUT(axis, 3, 0x81042222); + tmc2130_wr_MSLUT(axis, 4, 0x00000000); + tmc2130_wr_MSLUT(axis, 5, 0xdb6eef7e); + tmc2130_wr_MSLUT(axis, 6, 0x9295555a); + tmc2130_wr_MSLUT(axis, 7, 0x00408444); + tmc2130_wr_MSLUTSEL(axis, 3, 160, 255, 1, 2, 1, 1); + break; + case 212: //calculated wave 247/1.060 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0x4a94948e); + tmc2130_wr_MSLUT(axis, 1, 0x94a952a5); + tmc2130_wr_MSLUT(axis, 2, 0x24925252); + tmc2130_wr_MSLUT(axis, 3, 0x10421112); + tmc2130_wr_MSLUT(axis, 4, 0xc0000020); + tmc2130_wr_MSLUT(axis, 5, 0xdb7777df); + tmc2130_wr_MSLUT(axis, 6, 0x9295556a); + tmc2130_wr_MSLUT(axis, 7, 0x00408444); + tmc2130_wr_MSLUTSEL(axis, 3, 157, 255, 1, 2, 1, 1); + break; + case 214: //calculated wave 247/1.070 + tmc2130_wr_MSLUTSTART(axis, 0, 247); + tmc2130_wr_MSLUT(axis, 0, 0xa949489e); + tmc2130_wr_MSLUT(axis, 1, 0x52a54a54); + tmc2130_wr_MSLUT(axis, 2, 0x224a494a); + tmc2130_wr_MSLUT(axis, 3, 0x04108889); + tmc2130_wr_MSLUT(axis, 4, 0xffc08002); + tmc2130_wr_MSLUT(axis, 5, 0x6dbbbdfb); + tmc2130_wr_MSLUT(axis, 6, 0x94a555ab); + tmc2130_wr_MSLUT(axis, 7, 0x00408444); + tmc2130_wr_MSLUTSEL(axis, 4, 149, 255, 1, 2, 1, 1); + break; + case 215: //calculated wave 247/1.075 tmc2130_wr_MSLUTSTART(axis, 0, 247); tmc2130_wr_MSLUT(axis, 0, 0x4a52491e); tmc2130_wr_MSLUT(axis, 1, 0xa54a54a9); @@ -878,7 +988,7 @@ void tmc2130_set_wave(uint8_t axis, uint8_t fac200) tmc2130_wr_MSLUT(axis, 6, 0x94a555ad); tmc2130_wr_MSLUT(axis, 7, 0x00408444); tmc2130_wr_MSLUTSEL(axis, 4, 161, 255, 1, 2, 1, 1); - break;*/ + break; case 216: //calculated wave 247/1.080 tmc2130_wr_MSLUTSTART(axis, 0, 247); tmc2130_wr_MSLUT(axis, 0, 0x9494911e); @@ -939,19 +1049,7 @@ void tmc2130_set_wave(uint8_t axis, uint8_t fac200) tmc2130_wr_MSLUT(axis, 7, 0x00810889); tmc2130_wr_MSLUTSEL(axis, 9, 164, 255, 1, 2, 1, 1); break; -/* case 230: //calculated wave 247/1.150 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x24444076); - tmc2130_wr_MSLUT(axis, 1, 0x29294949); - tmc2130_wr_MSLUT(axis, 2, 0x24a494a5); - tmc2130_wr_MSLUT(axis, 3, 0x84222449); - tmc2130_wr_MSLUT(axis, 4, 0x00004020); - tmc2130_wr_MSLUT(axis, 5, 0xdbbbefe0); - tmc2130_wr_MSLUT(axis, 6, 0x495556b5); - tmc2130_wr_MSLUT(axis, 7, 0x00810889); - tmc2130_wr_MSLUTSEL(axis, 6, 164, 255, 1, 2, 1, 1); - break;*/ - } + }*/ } void bubblesort_uint8(uint8_t* data, uint8_t size, uint8_t* data2) diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index 0ec12c5f3..ee0ce1baa 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -23,9 +23,9 @@ extern uint32_t tmc2130_sg_meassure_val; #define TMC2130_MODE_NORMAL 0 #define TMC2130_MODE_SILENT 1 -#define TMC2130_WAVE_FAC200_MIN 216 -#define TMC2130_WAVE_FAC200_MAX 224 -#define TMC2130_WAVE_FAC200_STP 2 +#define TMC2130_WAVE_FAC200_MIN 180 +#define TMC2130_WAVE_FAC200_MAX 250 +#define TMC2130_WAVE_FAC200_STP 1 extern uint8_t tmc2130_home_enabled; extern uint8_t tmc2130_home_origin[2]; @@ -117,7 +117,7 @@ extern void tmc2130_do_step(uint8_t axis); extern void tmc2130_do_steps(uint8_t axis, uint16_t steps, uint8_t dir, uint16_t delay_us); extern void tmc2130_goto_step(uint8_t axis, uint8_t step, uint8_t dir, uint16_t delay_us, uint16_t microstep_resolution); extern void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream); -extern void tmc2130_set_wave(uint8_t axis, uint8_t fac200); +extern void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200); extern void tmc2130_home_calibrate(uint8_t axis); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 6eeb55a80..5b1038e90 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5806,7 +5806,7 @@ extern char conv[8]; // Convert tmc2130 wfac to string char *wfac_to_str5(const uint8_t &x) { - if (x>=TMC2130_WAVE_FAC200_MIN) return ftostr43(((float)(x & 0xfe))/200); + if (x>=TMC2130_WAVE_FAC200_MIN) return ftostr43(((float)(x & 0xff))/200); conv[0] = ' '; conv[1] = ' '; conv[2] = 'O'; From 4457961d408c9fa949c069531b360d0da0721888 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 19 Feb 2018 01:03:13 +0100 Subject: [PATCH 031/926] x_max_pos --- Firmware/Configuration_prusa.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index f86572641..75e97a405 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -52,7 +52,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MANUAL_Z_HOME_POS 0.2 // Travel limits after homing -#define X_MAX_POS 255 +#define X_MAX_POS 250 #define X_MIN_POS 0 #define Y_MAX_POS 210 #define Y_MIN_POS -4 //orig -4 From 43b8b125bcf1e1e999521a7d7497dac510ab8373 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 19 Feb 2018 11:38:52 +0100 Subject: [PATCH 032/926] calibration points/offset corrections --- Firmware/Configuration_prusa.h | 2 +- Firmware/mesh_bed_calibration.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index f86572641..0d0c12396 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -273,7 +273,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 0d6cd87e6..f330408be 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -56,10 +56,10 @@ const float bed_skew_angle_extreme = (0.25f * M_PI / 180.f); // Positions of the bed reference points in the machine coordinates, referenced to the P.I.N.D.A sensor. // The points are the following: center front, center right, center rear, center left. const float bed_ref_points_4[] PROGMEM = { - 13.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, - 221.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, - 221.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y, - 13.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y + 13.f - BED_ZERO_REF_X, 10.4f - 4.f - BED_ZERO_REF_Y, + 221.f - BED_ZERO_REF_X, 10.4f - 4.f - BED_ZERO_REF_Y, + 221.f - BED_ZERO_REF_X, 202.4f - 4.f - BED_ZERO_REF_Y, + 13.f - BED_ZERO_REF_X, 202.4f - 4.f - BED_ZERO_REF_Y }; const float bed_ref_points[] PROGMEM = { From ee5949c56eae0f7d59990d26d6dfb2060a3edc4f Mon Sep 17 00:00:00 2001 From: bubnikv Date: Tue, 20 Feb 2018 15:30:18 +0100 Subject: [PATCH 033/926] Fix of a loss in precission when the extruder multiplier is set with M221. For 50um layers, the precision loss leads to holes in the print. --- Firmware/Marlin_main.cpp | 6 +++++- Firmware/planner.cpp | 6 +----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e16e8869b..8b6668908 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6515,7 +6515,11 @@ void get_coordinates() 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]; + destination[i] = (float)code_value(); + if (i == E_AXIS && extrudemultiply != 100) + destination[i] *= (extrudemultiply * 0.01f); + if (axis_relative_modes[i] || relative_mode) + destination[i] += current_position[i]; seen[i]=true; } else destination[i] = current_position[i]; //Are these else lines really needed? diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index d7f30d23f..2f5f358ef 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -784,10 +784,6 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi block->steps_e = labs(target[E_AXIS]-position[E_AXIS]); if (volumetric_multiplier[active_extruder] != 1.f) block->steps_e *= volumetric_multiplier[active_extruder]; - if (extrudemultiply != 100) { - 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 @@ -919,7 +915,7 @@ Having the real displacement of the head, we can calculate the total movement le 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; + delta_mm[E_AXIS] = ((target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS])*volumetric_multiplier[active_extruder]; if ( block->steps_x <=dropsegments && block->steps_y <=dropsegments && block->steps_z <=dropsegments ) { block->millimeters = fabs(delta_mm[E_AXIS]); From d91dbc73c95eb80afb212de8add4235c7b503e11 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 20 Feb 2018 17:06:37 +0100 Subject: [PATCH 034/926] tmc2130 - optimalization, removed unused code --- Firmware/tmc2130.cpp | 258 +++++++++---------------------------------- 1 file changed, 50 insertions(+), 208 deletions(-) diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 91b21d84b..98ae11e1e 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -117,10 +117,11 @@ void tmc2130_wr_PWMCONF(uint8_t axis, uint8_t pwm_ampl, uint8_t pwm_grad, uint8_ void tmc2130_wr_TPWMTHRS(uint8_t axis, uint32_t val32); void tmc2130_wr_THIGH(uint8_t axis, uint32_t val32); +#define tmc2130_rd(axis, addr, rval) tmc2130_rx(axis, addr, rval) +#define tmc2130_wr(axis, addr, wval) tmc2130_tx(axis, addr | 0x80, wval) -uint8_t tmc2130_wr(uint8_t axis, uint8_t addr, uint32_t wval); -uint8_t tmc2130_rd(uint8_t axis, uint8_t addr, uint32_t* rval); -uint8_t tmc2130_txrx(uint8_t axis, uint8_t addr, uint32_t wval, uint32_t* rval); +uint8_t tmc2130_tx(uint8_t axis, uint8_t addr, uint32_t wval); +uint8_t tmc2130_rx(uint8_t axis, uint8_t addr, uint32_t* rval); void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_t current_r); @@ -130,10 +131,6 @@ void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_ void tmc2130_init() { DBG(_n("tmc2130_init(), mode=%S\n"), tmc2130_mode?_n("STEALTH"):_n("NORMAL")); -/* tmc2130_mres[X_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); - tmc2130_mres[Y_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); - tmc2130_mres[Z_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_Z); - tmc2130_mres[E_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_E);*/ WRITE(X_TMC2130_CS, HIGH); WRITE(Y_TMC2130_CS, HIGH); WRITE(Z_TMC2130_CS, HIGH); @@ -233,14 +230,7 @@ void tmc2130_st_isr(uint8_t last_step_mask) } if (sg_homing_axes_mask == 0) { -/* if (crash) - { - if (diag_mask & 0x01) tmc2130_sg_cnt[0]++; - if (diag_mask & 0x02) tmc2130_sg_cnt[1]++; - if (diag_mask & 0x04) tmc2130_sg_cnt[2]++; - if (diag_mask & 0x08) tmc2130_sg_cnt[3]++; - }*/ - if (/*!is_usb_printing && */tmc2130_sg_stop_on_crash && crash) + if (tmc2130_sg_stop_on_crash && crash) { tmc2130_sg_crash = crash; tmc2130_sg_stop_on_crash = false; @@ -499,7 +489,7 @@ void tmc2130_wr_MSLUTSTART(uint8_t axis, uint8_t start_sin, uint8_t start_sin90) val |= (uint32_t)start_sin; val |= ((uint32_t)start_sin90) << 16; tmc2130_wr(axis, TMC2130_REG_MSLUTSTART, val); - //printf_P(PSTR("MSLUTSTART=%08lx (start_sin=%d start_sin90=%d)\n"), val, start_sin, start_sin90); + //printf_P(PSTR("MSLUTSTART=%08lx (start_sin=%d start_sin90=%d)\n"), val, start_sin, start_sin90); } void tmc2130_wr_MSLUTSEL(uint8_t axis, uint8_t x1, uint8_t x2, uint8_t x3, uint8_t w0, uint8_t w1, uint8_t w2, uint8_t w3) @@ -513,13 +503,13 @@ void tmc2130_wr_MSLUTSEL(uint8_t axis, uint8_t x1, uint8_t x2, uint8_t x3, uint8 val |= ((uint32_t)x2) << 16; val |= ((uint32_t)x3) << 24; tmc2130_wr(axis, TMC2130_REG_MSLUTSEL, val); - //printf_P(PSTR("MSLUTSEL=%08lx (x1=%d x2=%d x3=%d w0=%d w1=%d w2=%d w3=%d)\n"), val, x1, x2, x3, w0, w1, w2, w3); + //printf_P(PSTR("MSLUTSEL=%08lx (x1=%d x2=%d x3=%d w0=%d w1=%d w2=%d w3=%d)\n"), val, x1, x2, x3, w0, w1, w2, w3); } void tmc2130_wr_MSLUT(uint8_t axis, uint8_t i, uint32_t val) { tmc2130_wr(axis, TMC2130_REG_MSLUT0 + (i & 7), val); - //printf_P(PSTR("MSLUT[%d]=%08lx\n"), i, val); + //printf_P(PSTR("MSLUT[%d]=%08lx\n"), i, val); } void tmc2130_wr_CHOPCONF(uint8_t axis, uint8_t toff, uint8_t hstrt, uint8_t hend, uint8_t fd3, uint8_t disfdcc, uint8_t rndtf, uint8_t chm, uint8_t tbl, uint8_t vsense, uint8_t vhighfs, uint8_t vhighchm, uint8_t sync, uint8_t mres, uint8_t intpol, uint8_t dedge, uint8_t diss2g) @@ -574,43 +564,6 @@ uint8_t tmc2130_usteps2mres(uint16_t usteps) return mres; } -uint8_t tmc2130_wr(uint8_t axis, uint8_t addr, uint32_t wval) -{ - uint8_t stat = tmc2130_txrx(axis, addr | 0x80, wval, 0); -#ifdef TMC2130_DEBUG_WR - MYSERIAL.print("tmc2130_wr("); - MYSERIAL.print((unsigned char)axis, DEC); - MYSERIAL.print(", 0x"); - MYSERIAL.print((unsigned char)addr, HEX); - MYSERIAL.print(", 0x"); - MYSERIAL.print((unsigned long)wval, HEX); - MYSERIAL.print(")=0x"); - MYSERIAL.println((unsigned char)stat, HEX); -#endif //TMC2130_DEBUG_WR - return stat; -} - -uint8_t tmc2130_rd(uint8_t axis, uint8_t addr, uint32_t* rval) -{ - uint32_t val32 = 0; - uint8_t stat = tmc2130_txrx(axis, addr, 0x00000000, &val32); - if (rval != 0) *rval = val32; -#ifdef TMC2130_DEBUG_RD - if (!skip_debug_msg) - { - MYSERIAL.print("tmc2130_rd("); - MYSERIAL.print((unsigned char)axis, DEC); - MYSERIAL.print(", 0x"); - MYSERIAL.print((unsigned char)addr, HEX); - MYSERIAL.print(", 0x"); - MYSERIAL.print((unsigned long)val32, HEX); - MYSERIAL.print(")=0x"); - MYSERIAL.println((unsigned char)stat, HEX); - } - skip_debug_msg = false; -#endif //TMC2130_DEBUG_RD - return stat; -} inline void tmc2130_cs_low(uint8_t axis) { @@ -634,7 +587,8 @@ inline void tmc2130_cs_high(uint8_t axis) } } -uint8_t tmc2130_txrx(uint8_t axis, uint8_t addr, uint32_t wval, uint32_t* rval) + +uint8_t tmc2130_tx(uint8_t axis, uint8_t addr, uint32_t wval) { //datagram1 - request SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3)); @@ -646,6 +600,20 @@ uint8_t tmc2130_txrx(uint8_t axis, uint8_t addr, uint32_t wval, uint32_t* rval) SPI.transfer(wval & 0xff); // LSB tmc2130_cs_high(axis); SPI.endTransaction(); +} + +uint8_t tmc2130_rx(uint8_t axis, uint8_t addr, uint32_t* rval) +{ + //datagram1 - request + SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3)); + tmc2130_cs_low(axis); + SPI.transfer(addr); // address + SPI.transfer(0); // MSB + SPI.transfer(0); + SPI.transfer(0); + SPI.transfer(0); // LSB + tmc2130_cs_high(axis); + SPI.endTransaction(); //datagram2 - response SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3)); tmc2130_cs_low(axis); @@ -704,10 +672,10 @@ uint16_t tmc2130_get_res(uint8_t axis) void tmc2130_set_res(uint8_t axis, uint16_t res) { tmc2130_mres[axis] = tmc2130_usteps2mres(res); -// uint32_t u = micros(); + uint32_t u = micros(); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); -// u = micros() - u; -// printf_P(PSTR("tmc2130_setup_chopper %c %lu us"), "XYZE"[axis], u); + u = micros() - u; + printf_P(PSTR("tmc2130_setup_chopper %c %lu us"), "XYZE"[axis], u); } uint8_t tmc2130_get_pwr(uint8_t axis) @@ -852,8 +820,8 @@ void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream) void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200) { -// TMC2130 wave compression algorithm -// optimized for minimal memory requirements +// TMC2130 wave compression algorithm +// optimized for minimal memory requirements printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac200); if (fac200 < TMC2130_WAVE_FAC200_MIN) fac200 = 0; if (fac200 > TMC2130_WAVE_FAC200_MAX) fac200 = TMC2130_WAVE_FAC200_MAX; @@ -865,15 +833,15 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200) uint8_t w[4] = {1,1,1,1}; //W bits (MSLUTSEL) uint8_t x[3] = {255,255,255}; //X segment bounds (MSLUTSEL) uint8_t s = 0; //current segment - int8_t b; //encoded bit value + int8_t b; //encoded bit value uint8_t dA; //delta value - int i; //microstep index - uint32_t reg; //tmc2130 register - tmc2130_wr_MSLUTSTART(axis, 0, amp); + int i; //microstep index + uint32_t reg; //tmc2130 register + tmc2130_wr_MSLUTSTART(axis, 0, amp); for (i = 0; i < 256; i++) - { - if ((i & 31) == 0) - reg = 0; + { + if ((i & 31) == 0) + reg = 0; // calculate value if (fac == 0) // default TMC wave vA = (uint8_t)((amp+1) * sin((2*PI*i + PI)/1024) + 0.5) - 1; @@ -887,7 +855,7 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200) else { if (dA < d0) // delta < delta0 => switch wbit down - { + { //printf("dn\n"); b = 0; switch (dA) @@ -897,11 +865,11 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200) case 1: d0 = 1; d1 = 2; w[s+1] = 2; break; default: b = -1; break; } - if (b >= 0) { x[s] = i; s++; } + if (b >= 0) { x[s] = i; s++; } } else if (dA > d1) // delta > delta0 => switch wbit up { - //printf("up\n"); + //printf("up\n"); b = 1; switch (dA) { @@ -910,146 +878,20 @@ void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200) case 3: d0 = 2; d1 = 3; w[s+1] = 3; break; default: b = -1; break; } - if (b >= 0) { x[s] = i; s++; } + if (b >= 0) { x[s] = i; s++; } } } - if (b < 0) break; // delta out of range (<-1 or >3) - if (s > 3) break; // segment out of range (> 3) - //printf("%d\n", vA); - if (b == 1) reg |= 0x80000000; - if ((i & 31) == 31) - tmc2130_wr_MSLUT(axis, (uint8_t)(i >> 5), reg); - else - reg >>= 1; -// printf("%3d\t%3d\t%2d\t%2d\t%2d\t%2d %08x\n", i, vA, dA, b, w[s], s, reg); + if (b < 0) break; // delta out of range (<-1 or >3) + if (s > 3) break; // segment out of range (> 3) + //printf("%d\n", vA); + if (b == 1) reg |= 0x80000000; + if ((i & 31) == 31) + tmc2130_wr_MSLUT(axis, (uint8_t)(i >> 5), reg); + else + reg >>= 1; +// printf("%3d\t%3d\t%2d\t%2d\t%2d\t%2d %08x\n", i, vA, dA, b, w[s], s, reg); } - tmc2130_wr_MSLUTSEL(axis, x[0], x[1], x[2], w[0], w[1], w[2], w[3]); - -/* -// printf_P(PSTR(" tmc2130_set_wave %d %d\n"), axis, fac200); - switch (fac200) - { - case 0: //default TMC wave 247/0 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0xaaaab556); - tmc2130_wr_MSLUT(axis, 1, 0x4a9554aa); - tmc2130_wr_MSLUT(axis, 2, 0x24492929); - tmc2130_wr_MSLUT(axis, 3, 0x10104222); - tmc2130_wr_MSLUT(axis, 4, 0xf8000000); - tmc2130_wr_MSLUT(axis, 5, 0xb5bb777d); - tmc2130_wr_MSLUT(axis, 6, 0x49295556); - tmc2130_wr_MSLUT(axis, 7, 0x00404222); - tmc2130_wr_MSLUTSEL(axis, 2, 154, 255, 1, 2, 1, 1); - break; - case 210: //calculated wave 247/1.050 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x55294a4e); - tmc2130_wr_MSLUT(axis, 1, 0xa52a552a); - tmc2130_wr_MSLUT(axis, 2, 0x48949294); - tmc2130_wr_MSLUT(axis, 3, 0x81042222); - tmc2130_wr_MSLUT(axis, 4, 0x00000000); - tmc2130_wr_MSLUT(axis, 5, 0xdb6eef7e); - tmc2130_wr_MSLUT(axis, 6, 0x9295555a); - tmc2130_wr_MSLUT(axis, 7, 0x00408444); - tmc2130_wr_MSLUTSEL(axis, 3, 160, 255, 1, 2, 1, 1); - break; - case 212: //calculated wave 247/1.060 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x4a94948e); - tmc2130_wr_MSLUT(axis, 1, 0x94a952a5); - tmc2130_wr_MSLUT(axis, 2, 0x24925252); - tmc2130_wr_MSLUT(axis, 3, 0x10421112); - tmc2130_wr_MSLUT(axis, 4, 0xc0000020); - tmc2130_wr_MSLUT(axis, 5, 0xdb7777df); - tmc2130_wr_MSLUT(axis, 6, 0x9295556a); - tmc2130_wr_MSLUT(axis, 7, 0x00408444); - tmc2130_wr_MSLUTSEL(axis, 3, 157, 255, 1, 2, 1, 1); - break; - case 214: //calculated wave 247/1.070 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0xa949489e); - tmc2130_wr_MSLUT(axis, 1, 0x52a54a54); - tmc2130_wr_MSLUT(axis, 2, 0x224a494a); - tmc2130_wr_MSLUT(axis, 3, 0x04108889); - tmc2130_wr_MSLUT(axis, 4, 0xffc08002); - tmc2130_wr_MSLUT(axis, 5, 0x6dbbbdfb); - tmc2130_wr_MSLUT(axis, 6, 0x94a555ab); - tmc2130_wr_MSLUT(axis, 7, 0x00408444); - tmc2130_wr_MSLUTSEL(axis, 4, 149, 255, 1, 2, 1, 1); - break; - case 215: //calculated wave 247/1.075 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x4a52491e); - tmc2130_wr_MSLUT(axis, 1, 0xa54a54a9); - tmc2130_wr_MSLUT(axis, 2, 0x49249494); - tmc2130_wr_MSLUT(axis, 3, 0x10421122); - tmc2130_wr_MSLUT(axis, 4, 0x00000008); - tmc2130_wr_MSLUT(axis, 5, 0x6ddbdefc); - tmc2130_wr_MSLUT(axis, 6, 0x94a555ad); - tmc2130_wr_MSLUT(axis, 7, 0x00408444); - tmc2130_wr_MSLUTSEL(axis, 4, 161, 255, 1, 2, 1, 1); - break; - case 216: //calculated wave 247/1.080 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x9494911e); - tmc2130_wr_MSLUT(axis, 1, 0x4a94a94a); - tmc2130_wr_MSLUT(axis, 2, 0x92492929); - tmc2130_wr_MSLUT(axis, 3, 0x41044444); - tmc2130_wr_MSLUT(axis, 4, 0x00000040); - tmc2130_wr_MSLUT(axis, 5, 0xaedddf7f); - tmc2130_wr_MSLUT(axis, 6, 0x94a956ad); - tmc2130_wr_MSLUT(axis, 7, 0x00808448); - tmc2130_wr_MSLUTSEL(axis, 4, 159, 255, 1, 2, 1, 1); - break; - case 218: //calculated wave 247/1.090 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x4a49223e); - tmc2130_wr_MSLUT(axis, 1, 0x4a52a529); - tmc2130_wr_MSLUT(axis, 2, 0x49252529); - tmc2130_wr_MSLUT(axis, 3, 0x08422224); - tmc2130_wr_MSLUT(axis, 4, 0xfc008004); - tmc2130_wr_MSLUT(axis, 5, 0xb6eef7df); - tmc2130_wr_MSLUT(axis, 6, 0xa4aaaab5); - tmc2130_wr_MSLUT(axis, 7, 0x00808448); - tmc2130_wr_MSLUTSEL(axis, 5, 153, 255, 1, 2, 1, 1); - break; - case 220: //calculated wave 247/1.100 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0xa492487e); - tmc2130_wr_MSLUT(axis, 1, 0x294a52a4); - tmc2130_wr_MSLUT(axis, 2, 0x492494a5); - tmc2130_wr_MSLUT(axis, 3, 0x82110912); - tmc2130_wr_MSLUT(axis, 4, 0x00000080); - tmc2130_wr_MSLUT(axis, 5, 0xdb777df8); - tmc2130_wr_MSLUT(axis, 6, 0x252aaad6); - tmc2130_wr_MSLUT(axis, 7, 0x00808449); - tmc2130_wr_MSLUTSEL(axis, 6, 162, 255, 1, 2, 1, 1); - break; - case 222: //calculated wave 247/1.110 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x524910fe); - tmc2130_wr_MSLUT(axis, 1, 0xa5294a52); - tmc2130_wr_MSLUT(axis, 2, 0x24929294); - tmc2130_wr_MSLUT(axis, 3, 0x20844489); - tmc2130_wr_MSLUT(axis, 4, 0xc0004008); - tmc2130_wr_MSLUT(axis, 5, 0xdbbbdf7f); - tmc2130_wr_MSLUT(axis, 6, 0x252aab5a); - tmc2130_wr_MSLUT(axis, 7, 0x00808449); - tmc2130_wr_MSLUTSEL(axis, 7, 157, 255, 1, 2, 1, 1); - break; - case 224: //calculated wave 247/1.120 - tmc2130_wr_MSLUTSTART(axis, 0, 247); - tmc2130_wr_MSLUT(axis, 0, 0x292223fe); - tmc2130_wr_MSLUT(axis, 1, 0x94a52949); - tmc2130_wr_MSLUT(axis, 2, 0x92524a52); - tmc2130_wr_MSLUT(axis, 3, 0x04222244); - tmc2130_wr_MSLUT(axis, 4, 0x00000101); - tmc2130_wr_MSLUT(axis, 5, 0x6dddefe0); - tmc2130_wr_MSLUT(axis, 6, 0x254aad5b); - tmc2130_wr_MSLUT(axis, 7, 0x00810889); - tmc2130_wr_MSLUTSEL(axis, 9, 164, 255, 1, 2, 1, 1); - break; - }*/ + tmc2130_wr_MSLUTSEL(axis, x[0], x[1], x[2], w[0], w[1], w[2], w[3]); } void bubblesort_uint8(uint8_t* data, uint8_t size, uint8_t* data2) From e2e48bfd71832f165c004d74df63d662e24553dc Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 20 Feb 2018 18:50:20 +0100 Subject: [PATCH 035/926] SD speed test (DEBUG) homeaxis - fix set_destination_to_current --- Firmware/Marlin_main.cpp | 51 ++++++++++++++++++++++++++++++++++++++++ Firmware/cardreader.h | 5 ++++ 2 files changed, 56 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e16e8869b..18e78016a 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1140,6 +1140,51 @@ void setup() // Force SD card update. Otherwise the SD card update is done from loop() on card.checkautostart(false), // but this times out if a blocking dialog is shown in setup(). card.initsd(); +#ifdef DEBUG_SD_SPEED_TEST + if (card.cardOK) + { + uint8_t* buff = (uint8_t*)block_buffer; + uint32_t block = 0; + uint32_t sumr = 0; + uint32_t sumw = 0; + for (int i = 0; i < 1024; i++) + { + uint32_t u = micros(); + bool res = card.card.readBlock(i, buff); + u = micros() - u; + if (res) + { + printf_P(PSTR("readBlock %4d 512 bytes %lu us\n"), i, u); + sumr += u; + u = micros(); + res = card.card.writeBlock(i, buff); + u = micros() - u; + if (res) + { + printf_P(PSTR("writeBlock %4d 512 bytes %lu us\n"), i, u); + sumw += u; + } + else + { + printf_P(PSTR("writeBlock %4d error\n"), i); + break; + } + } + else + { + printf_P(PSTR("readBlock %4d error\n"), i); + break; + } + } + uint32_t avg_rspeed = (1024 * 1000000) / (sumr / 512); + uint32_t avg_wspeed = (1024 * 1000000) / (sumw / 512); + printf_P(PSTR("avg read speed %lu bytes/s\n"), avg_rspeed); + printf_P(PSTR("avg write speed %lu bytes/s\n"), avg_wspeed); + } + else + printf_P(PSTR("Card NG!\n")); +#endif DEBUG_SD_SPEED_TEST + if (eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_POWER_COUNT, 0); if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_X, 0); if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_Y) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_Y, 0); @@ -1845,6 +1890,7 @@ void homeaxis(int axis, uint8_t cnt, uint8_t* pstep) // for the stall guard to work. current_position[axis] = 0; plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + set_destination_to_current(); // destination[axis] = 11.f; destination[axis] = 3.f; plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); @@ -6527,6 +6573,11 @@ void get_coordinates() if (next_feedrate > MAX_SILENT_FEEDRATE) next_feedrate = MAX_SILENT_FEEDRATE; #endif //MAX_SILENT_FEEDRATE if(next_feedrate > 0.0) feedrate = next_feedrate; + if (!seen[0] && !seen[1] && !seen[2] && seen[3]) + { +// float e_max_speed = +// printf_P(PSTR("E MOVE speed %7.3f\n"), feedrate / 60) + } } } diff --git a/Firmware/cardreader.h b/Firmware/cardreader.h index f9d30a769..4d1367a99 100644 --- a/Firmware/cardreader.h +++ b/Firmware/cardreader.h @@ -131,7 +131,12 @@ private: #endif // SDCARD_SORT_ALPHA +#ifdef DEBUG_SD_SPEED_TEST +public: +#endif DEBUG_SD_SPEED_TEST Sd2Card card; + +private: SdVolume volume; SdFile file; #define SD_PROCEDURE_DEPTH 1 From 66161062cfe34d2895163e798123c5dd86253382 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 20 Feb 2018 19:02:55 +0100 Subject: [PATCH 036/926] Homing accuracy calibration in selftest. --- Firmware/ultralcd.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5b1038e90..aec66143a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1585,13 +1585,17 @@ static void lcd_menu_fails_stats() #ifdef DEBUG_BUILD +#ifdef DEBUG_STACK_MONITOR extern uint16_t SP_min; extern char* __malloc_heap_start; extern char* __malloc_heap_end; +#endif //DEBUG_STACK_MONITOR static void lcd_menu_debug() { +#ifdef DEBUG_STACK_MONITOR fprintf_P(lcdout, PSTR(ESC_H(1,1)"RAM statistics"ESC_H(5,1)"SP_min: 0x%04x"ESC_H(1,2)"heap_start: 0x%04x"ESC_H(3,3)"heap_end: 0x%04x"), SP_min, __malloc_heap_start, __malloc_heap_end); +#endif //DEBUG_STACK_MONITOR if (lcd_clicked()) { @@ -5836,7 +5840,7 @@ static void lcd_selftest_v() static bool lcd_selftest() { int _progress = 0; - bool _result = false; + bool _result = true; lcd_wait_for_cool_down(); lcd_implementation_clear(); lcd.setCursor(0, 0); lcd_printPGM(MSG_SELFTEST_START); @@ -5845,8 +5849,12 @@ static bool lcd_selftest() #endif // TMC2130 delay(2000); KEEPALIVE_STATE(IN_HANDLER); - _progress = lcd_selftest_screen(-1, _progress, 3, true, 2000); - _result = lcd_selftest_fan_dialog(0); + + if (_result) + { + _progress = lcd_selftest_screen(-1, _progress, 3, true, 2000); + _result = lcd_selftest_fan_dialog(0); + } if (_result) { @@ -5929,6 +5937,15 @@ static bool lcd_selftest() } } + if (_result) + { + _progress = lcd_selftest_screen(13, 0, 2, true, 0); + tmc2130_home_calibrate(X_AXIS); + _progress = lcd_selftest_screen(13, 1, 2, true, 0); + tmc2130_home_calibrate(Y_AXIS); + _progress = lcd_selftest_screen(13, 2, 2, true, 0); + } + if (_result) { _progress = lcd_selftest_screen(7, _progress, 3, true, 2000); //check bed @@ -6712,6 +6729,7 @@ static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bo if (_step == 10) lcd_printPGM(MSG_SELFTEST_CHECK_FSENSOR); if (_step == 11) lcd_printPGM(MSG_SELFTEST_CHECK_ALLCORRECT); if (_step == 12) lcd_printPGM(MSG_SELFTEST_FAILED); + if (_step == 13) lcd_printPGM(PSTR("Calibrating home")); lcd.setCursor(0, 1); lcd.print("--------------------"); From ba49c21f171ecceb4722e5b03996c259a0e95be6 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 21 Feb 2018 11:25:21 +0100 Subject: [PATCH 037/926] Unified the volumetric_multiplier with extrusion_multiply to improve numeric accuracy and to reduce compuatitonal load. With this commit, the numeric rounding is fixed not only for the M221 G-code (as implemented by the preceding commit), but also for the volumetric extrusion in general. Removed the old FILAMENT_SENSOR code, which served the purpose to modulate the volumetric multiplayer in real time depending on the measured filament diameter. This feature will certainly not be used by Prusa Research in the near future as we know of no sensor, which would offer sufficient accuracy for a reasonable price. --- Firmware/Configuration.h | 29 +------ Firmware/ConfigurationStore.cpp | 2 +- Firmware/Marlin.h | 13 +-- Firmware/Marlin_main.cpp | 135 +++++++------------------------- Firmware/planner.cpp | 51 +----------- Firmware/temperature.cpp | 60 +------------- Firmware/temperature.h | 8 -- 7 files changed, 32 insertions(+), 266 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 8a9d85c11..a0d8091a7 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -831,34 +831,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of // //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -/**********************************************************************\ - * 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 - +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm). Used by the volumetric extrusion. // Calibration status of the machine, to be stored into the EEPROM, // (unsigned char*)EEPROM_CALIBRATION_STATUS diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 9b0d0e878..253452fed 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -472,7 +472,7 @@ void Config_ResetDefault() filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; #endif #endif - calculate_volumetric_multipliers(); + calculate_extruder_multipliers(); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded"); diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index a24970aae..a238579e5 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -283,17 +283,6 @@ extern void homeaxis(int axis, uint8_t cnt = 1, uint8_t* pstep = 0); 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]; @@ -358,7 +347,7 @@ extern bool sortAlpha; extern char dir_names[3][9]; -extern void calculate_volumetric_multipliers(); +extern void calculate_extruder_multipliers(); // Similar to the default Arduino delay function, // but it keeps the background tasks running. diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 8b6668908..bc4d6e772 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -333,7 +333,7 @@ float filament_size[EXTRUDERS] = { DEFAULT_NOMINAL_FILAMENT_DIA #endif #endif }; -float volumetric_multiplier[EXTRUDERS] = {1.0 +float extruder_multiplier[EXTRUDERS] = {1.0 #if EXTRUDERS > 1 , 1.0 #if EXTRUDERS > 2 @@ -410,18 +410,6 @@ bool cancel_heatup = false ; #define KEEPALIVE_STATE(n); #endif -#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:"; @@ -1972,11 +1960,7 @@ void refresh_cmd_timeout(void) 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]; - } + current_position[E_AXIS]+=(swapretract?retract_length_swap:retract_length)*float(extrudemultiply)*0.01f; plan_set_e_position(current_position[E_AXIS]); float oldFeedrate = feedrate; feedrate=retract_feedrate*60; @@ -1993,12 +1977,7 @@ void refresh_cmd_timeout(void) destination[E_AXIS]=current_position[E_AXIS]; current_position[Z_AXIS]+=retract_zlift; plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - //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]; - } + current_position[E_AXIS]-=(swapretract?(retract_length_swap+retract_recover_length_swap):(retract_length+retract_recover_length))*float(extrudemultiply)*0.01f; plan_set_e_position(current_position[E_AXIS]); float oldFeedrate = feedrate; feedrate=retract_recover_feedrate*60; @@ -5061,7 +5040,7 @@ Sigma_Exit: //reserved for setting filament diameter via UFID or filament measuring device break; } - calculate_volumetric_multipliers(); + calculate_extruder_multipliers(); } break; case 201: // M201 @@ -5229,6 +5208,7 @@ Sigma_Exit: extrudemultiply = tmp_code ; } } + calculate_extruder_multipliers(); } break; @@ -5467,69 +5447,6 @@ Sigma_Exit: } break; -#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(EEPROM_OFFSET); @@ -6515,10 +6432,19 @@ void get_coordinates() for(int8_t i=0; i < NUM_AXIS; i++) { if(code_seen(axis_codes[i])) { + bool relative = axis_relative_modes[i] || relative_mode; destination[i] = (float)code_value(); - if (i == E_AXIS && extrudemultiply != 100) - destination[i] *= (extrudemultiply * 0.01f); - if (axis_relative_modes[i] || relative_mode) + if (i == E_AXIS) { + float emult = extruder_multiplier[active_extruder]; + if (emult != 1.) { + if (! relative) { + destination[i] -= current_position[i]; + relative = true; + } + destination[i] *= emult; + } + } + if (relative) destination[i] += current_position[i]; seen[i]=true; } @@ -7033,27 +6959,20 @@ void save_statistics(unsigned long _total_filament_used, unsigned long _total_pr } -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; +float calculate_extruder_multiplier(float diameter) { + bool enabled = volumetric_enabled && diameter > 0; + float area = enabled ? (M_PI * pow(diameter * .5, 2)) : 0; + return (extrudemultiply == 100) ? + (enabled ? (1.f / area) : 1.f) : + (enabled ? ((float(extrudemultiply) * 0.01f) / area) : 1.f); } -void calculate_volumetric_multipliers() { - volumetric_multiplier[0] = calculate_volumetric_multiplier(filament_size[0]); +void calculate_extruder_multipliers() { + extruder_multiplier[0] = calculate_extruder_multiplier(filament_size[0]); #if EXTRUDERS > 1 - volumetric_multiplier[1] = calculate_volumetric_multiplier(filament_size[1]); + extruder_multiplier[1] = calculate_extruder_multiplier(filament_size[1]); #if EXTRUDERS > 2 - volumetric_multiplier[2] = calculate_volumetric_multiplier(filament_size[2]); + extruder_multiplier[2] = calculate_extruder_multiplier(filament_size[2]); #endif #endif } diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index 2f5f358ef..b7c22d44f 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -126,10 +126,6 @@ static uint8_t g_cntr_planner_queue_min = 0; float extrude_min_temp=EXTRUDE_MINTEMP; #endif -#ifdef FILAMENT_SENSOR - static char meas_sample; //temporary variable to hold filament measurement sample -#endif - #ifdef LIN_ADVANCE float extruder_advance_k = LIN_ADVANCE_K, advance_ed_ratio = LIN_ADVANCE_E_D_RATIO, @@ -782,8 +778,6 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi #endif block->steps_z = labs(target[Z_AXIS]-position[Z_AXIS]); block->steps_e = labs(target[E_AXIS]-position[E_AXIS]); - if (volumetric_multiplier[active_extruder] != 1.f) - block->steps_e *= volumetric_multiplier[active_extruder]; 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 @@ -915,7 +909,7 @@ Having the real displacement of the head, we can calculate the total movement le 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]; + delta_mm[E_AXIS] = (target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS]; if ( block->steps_x <=dropsegments && block->steps_y <=dropsegments && block->steps_z <=dropsegments ) { block->millimeters = fabs(delta_mm[E_AXIS]); @@ -951,49 +945,6 @@ Having the real displacement of the head, we can calculate the total movement le 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 diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index e2150d096..291757d17 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -104,9 +104,6 @@ unsigned char soft_pwm_bed; 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============================ //=========================================================================== @@ -204,9 +201,6 @@ unsigned long watchmillis[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0); #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 ============================ //=========================================================================== @@ -794,27 +788,6 @@ void manage_heater() #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 #ifdef HOST_KEEPALIVE_FEATURE host_keepalive(); #endif @@ -967,9 +940,7 @@ static void updateTemperaturesFromRawValues() #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(); @@ -979,35 +950,6 @@ static void updateTemperaturesFromRawValues() } -// 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_measMEASURED_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)) diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 72f7c6878..4414e7627 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -31,14 +31,6 @@ 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]; From c5175e97ec18f067f86a9e8a6efbcd164410e346 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 21 Feb 2018 15:19:34 +0100 Subject: [PATCH 038/926] Pinout, conditional translation and variant file for MK2 --- Firmware/Configuration_prusa.h | 3 + Firmware/Marlin_main.cpp | 17 +- Firmware/pins_Einsy_1_0.h | 2 - Firmware/pins_Rambo_1_3.h | 2 - Firmware/stepper.cpp | 2 +- Firmware/temperature.cpp | 12 +- Firmware/temperature.h | 2 +- Firmware/ultralcd.cpp | 39 +- Firmware/ultralcd.h | 1 + .../variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 426 ++++++++++++++++++ .../variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 25 +- .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 4 + 12 files changed, 504 insertions(+), 31 deletions(-) create mode 100644 Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index f86572641..d7cc579d2 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -164,6 +164,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +#define PAT9125 +#define FANCHECK + /*------------------------------------ LOAD/UNLOAD FILAMENT SETTINGS diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b1425192a..6a5427fa0 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1179,13 +1179,15 @@ void setup() setup_uvlo_interrupt(); #endif //UVLO_SUPPORT -#if !defined(DEBUG_DISABLE_FANCHECK) && defined(TACH_1) && TACH_1 >-1 +#if !defined(DEBUG_DISABLE_FANCHECK) && defined(FANCHECK) && defined(TACH_1) && TACH_1 >-1 setup_fan_interrupt(); #endif //DEBUG_DISABLE_FANCHECK +#ifdef PAT9125 #ifndef DEBUG_DISABLE_FSENSORCHECK fsensor_setup_interrupt(); #endif //DEBUG_DISABLE_FSENSORCHECK +#endif //PAT9125 for (int i = 0; i<4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); #ifndef DEBUG_DISABLE_STARTMSGS @@ -5551,8 +5553,10 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp #ifdef FILAMENTCHANGEENABLE case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] { +#ifdef PAT9125 bool old_fsensor_enabled = fsensor_enabled; fsensor_enabled = false; //temporary solution for unexpected restarting +#endif //PAT9125 st_synchronize(); float target[4]; @@ -6003,9 +6007,8 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp custom_message = false; custom_message_type = 0; - fsensor_enabled = old_fsensor_enabled; //temporary solution for unexpected restarting - #ifdef PAT9125 + fsensor_enabled = old_fsensor_enabled; //temporary solution for unexpected restarting if (fsensor_M600) { @@ -6205,8 +6208,10 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp extr_unload_all(); //unload all filaments } #else +#ifdef PAT9125 bool old_fsensor_enabled = fsensor_enabled; fsensor_enabled = false; +#endif //PAT9125 custom_message = true; custom_message_type = 2; lcd_setstatuspgm(MSG_UNLOADING_FILAMENT); @@ -6248,7 +6253,9 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp lcd_setstatuspgm(WELCOME_MSG); custom_message = false; custom_message_type = 0; +#ifdef PAT9125 fsensor_enabled = old_fsensor_enabled; +#endif //PAT9125 #endif } break; @@ -6679,6 +6686,7 @@ void handle_status_leds(void) { void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument set in Marlin.h { +#ifdef PAT9125 if (fsensor_enabled && filament_autoload_enabled && !fsensor_M600 && !moves_planned() && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) { if (fsensor_autoload_enabled) @@ -6716,6 +6724,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s else if (fsensor_autoload_enabled) fsensor_autoload_check_stop(); +#endif //PAT9125 #if defined(KILL_PIN) && KILL_PIN > -1 static int killCount = 0; // make the inactivity button a bit less responsive @@ -7668,7 +7677,7 @@ void uvlo_() } #endif //UVLO_SUPPORT -#if defined(TACH_1) && TACH_1 >-1 +#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) void setup_fan_interrupt() { //INT7 diff --git a/Firmware/pins_Einsy_1_0.h b/Firmware/pins_Einsy_1_0.h index c86c1e5e3..944103040 100644 --- a/Firmware/pins_Einsy_1_0.h +++ b/Firmware/pins_Einsy_1_0.h @@ -10,8 +10,6 @@ #endif #define TMC2130 -#define PAT9125 -#define UVLO_SUPPORT #define UVLO_SUPPORT #define AMBIENT_THERMISTOR diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h index ccac2b1fb..b8ef9d435 100644 --- a/Firmware/pins_Rambo_1_3.h +++ b/Firmware/pins_Rambo_1_3.h @@ -9,8 +9,6 @@ #error Oops! Make sure you have 'Arduino Mega 2560 or Rambo' selected from the 'Tools -> Boards' menu. #endif -#define PAT9125 - #define PINDA_THERMISTOR #define SWI2C // enable software i2c diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 645b2fdb2..8510daf9b 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -1056,7 +1056,7 @@ void st_init() #endif #endif - #if defined(TACH_0) && TACH_0 > -1 + #if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) SET_INPUT(TACH_0); #ifdef TACH0PULLUP WRITE(TACH_0, HIGH); diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 77da9bcba..5e7704b8d 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -454,7 +454,7 @@ void setExtruderAutoFanState(int pin, bool state) analogWrite(pin, newFanSpeed); } -#if (defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) +#if (defined(FANCHECK) && (((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1))))) void countFanSpeed() { @@ -475,11 +475,11 @@ void checkFanSpeed() { fans_check_enabled = (eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED) > 0); static unsigned char fan_speed_errors[2] = { 0,0 }; -#if defined(TACH_0) && TACH_0 >-1 +#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 >-1)) if (fan_speed[0] == 0 && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)) fan_speed_errors[0]++; else fan_speed_errors[0] = 0; #endif -#if defined(TACH_1) && TACH_1 >-1 +#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) if ((fan_speed[1] == 0)&& (fanSpeed > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; else fan_speed_errors[1] = 0; #endif @@ -713,7 +713,7 @@ void manage_heater() (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1) if(millis() - extruder_autofan_last_check > 1000) // only need to check fan state very infrequently { -#if (defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) +#if (defined(FANCHECK) && ((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1)))) countFanSpeed(); checkFanSpeed(); #endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) @@ -1919,7 +1919,7 @@ ISR(TIMER0_COMPB_vect) } #endif //BABYSTEPPING -#if (defined(TACH_0) && TACH_0 > -1) +#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) check_fans(); #endif //(defined(TACH_0)) @@ -1997,7 +1997,7 @@ void check_min_temp() check_min_temp_bed(); } -#if (defined(TACH_0) && TACH_0 > -1) +#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) void check_fans() { if (READ(TACH_0) != fan_state[0]) { fan_edge_counter[0] ++; diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 952a9df35..73c503bcf 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -227,7 +227,7 @@ void setExtruderAutoFanState(int pin, bool state); void checkExtruderAutoFans(); -#if (defined(TACH_0) && TACH_0 > -1) +#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) void countFanSpeed(); void checkFanSpeed(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index ff487e264..88150ec10 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -33,9 +33,10 @@ extern int lcd_change_fil_state; extern bool fans_check_enabled; extern bool filament_autoload_enabled; +#ifdef PAT9125 extern bool fsensor_not_responding; - extern bool fsensor_enabled; +#endif //PAT9125 //Function pointer to menu functions. typedef void (*menuFunc_t)(); @@ -1465,7 +1466,9 @@ static void lcd_menu_extruder_info() { int fan_speed_RPM[2]; +#ifdef PAT9125 pat9125_update(); +#endif //PAT9125 fan_speed_RPM[0] = 60*fan_speed[0]; fan_speed_RPM[1] = 60*fan_speed[1]; @@ -1494,8 +1497,8 @@ static void lcd_menu_extruder_info() lcd.print(" RPM"); #endif - // Display X and Y difference from Filament sensor - +#ifdef PAT9125 + // Display X and Y difference from Filament sensor lcd.setCursor(0, 2); lcd.print("Fil. Xd:"); lcd.print(itostr3(pat9125_x)); @@ -1524,6 +1527,7 @@ static void lcd_menu_extruder_info() lcd.print("Shut: "); lcd.setCursor(15, 3); lcd.print(itostr3(pat9125_s)); +#endif //PAT9125 if (lcd_clicked()) @@ -1991,11 +1995,13 @@ void lcd_LoadFilament() { if (degHotend0() > EXTRUDE_MINTEMP) { +#ifdef PAT9125 if (filament_autoload_enabled && fsensor_enabled) { lcd_show_fullscreen_message_and_wait_P(MSG_AUTOLOADING_ENABLED); return; } +#endif //PAT9125 custom_message = true; loading_flag = true; enquecommand_P(PSTR("M701")); //load filament @@ -3392,6 +3398,7 @@ static void lcd_crash_mode_info2() } #endif //TMC2130 +#ifdef PAT9125 static void lcd_filament_autoload_info() { lcd_show_fullscreen_message_and_wait_P(MSG_AUTOLOADING_ONLY_IF_FSENS_ON); @@ -3401,6 +3408,8 @@ static void lcd_fsensor_fail() { lcd_show_fullscreen_message_and_wait_P(MSG_FSENS_NOT_RESPONDING); } +#endif //PAT9125 + static void lcd_silent_mode_set() { SilentModeMenu = !SilentModeMenu; @@ -3454,6 +3463,7 @@ static void lcd_set_lang(unsigned char lang) { langsel = LANGSEL_ACTIVE; } +#ifdef PAT9125 static void lcd_fsensor_state_set() { FSensorStateMenu = !FSensorStateMenu; //set also from fsensor_enable() and fsensor_disable() @@ -3473,6 +3483,8 @@ static void lcd_fsensor_state_set() else lcd_goto_menu(lcd_settings_menu, 7); } +#endif //PAT9125 + #if !SDSORT_USES_RAM void lcd_set_degree() { @@ -3772,7 +3784,9 @@ void lcd_wizard(int state) { state = 7; break; case 7: //load filament +#ifdef PAT9125 fsensor_block(); +#endif //PAT9125 lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_LOAD_FILAMENT); lcd_update_enable(false); lcd_implementation_clear(); @@ -3781,7 +3795,9 @@ void lcd_wizard(int state) { change_extr(0); #endif gcode_M701(); +#ifdef PAT9125 fsensor_unblock(); +#endif //PAT9125 state = 9; break; case 8: @@ -3875,6 +3891,8 @@ static void lcd_settings_menu() { MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); } + +#ifdef PAT9125 #ifndef DEBUG_DISABLE_FSENSORCHECK if (FSensorStateMenu == 0) { if (fsensor_not_responding){ @@ -3900,6 +3918,7 @@ static void lcd_settings_menu() } #endif //DEBUG_DISABLE_FSENSORCHECK +#endif //PAT9125 if (fans_check_enabled == true) { MENU_ITEM(function, MSG_FANS_CHECK_ON, lcd_set_fan_check); @@ -5166,9 +5185,11 @@ static void lcd_main_menu() else { #ifndef SNMM +#ifdef PAT9125 if ( ((filament_autoload_enabled == true) && (fsensor_enabled == true))) MENU_ITEM(function, MSG_AUTOLOAD_FILAMENT, lcd_LoadFilament); else +#endif //PAT9125 MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament); MENU_ITEM(function, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament); #endif @@ -5260,6 +5281,7 @@ static void lcd_tune_menu() MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 #endif +#ifdef PAT9125 #ifndef DEBUG_DISABLE_FSENSORCHECK if (FSensorStateMenu == 0) { MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); @@ -5267,6 +5289,7 @@ static void lcd_tune_menu() MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); } #endif //DEBUG_DISABLE_FSENSORCHECK +#endif //PAT9125 #ifdef TMC2130 if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); @@ -5633,12 +5656,16 @@ static bool lcd_selftest() delay(2000); KEEPALIVE_STATE(IN_HANDLER); _progress = lcd_selftest_screen(-1, _progress, 3, true, 2000); +#if (defined(FANCHECK) && defined(TACH_0)) _result = lcd_selftest_fan_dialog(0); +#else //defined(TACH_0) + _result = lcd_selftest_manual_fan_check(0, false); +#endif //defined(TACH_0) if (_result) { _progress = lcd_selftest_screen(0, _progress, 3, true, 2000); -#if (defined(TACH_1)) +#if (defined(FANCHECK) && defined(TACH_1)) _result = lcd_selftest_fan_dialog(1); #else //defined(TACH_1) _result = lcd_selftest_manual_fan_check(1, false); @@ -5902,7 +5929,7 @@ static bool lcd_selfcheck_axis_sg(char axis) { } #endif //TMC2130 -#ifndef TMC2130 +//#ifndef TMC2130 static bool lcd_selfcheck_axis(int _axis, int _travel) { @@ -6092,7 +6119,7 @@ static bool lcd_selfcheck_endstops() manage_inactivity(true); return _result; } -#endif //not defined TMC2130 +//#endif //not defined TMC2130 static bool lcd_selfcheck_check_heater(bool _isbed) { diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index e3f0bb0e4..1dde5128c 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -40,6 +40,7 @@ void lcd_mylang(); #ifdef TMC2130 static void reset_crash_det(char axis); static bool lcd_selfcheck_axis_sg(char axis); + static bool lcd_selfcheck_axis(int _axis, int _travel); #else static bool lcd_selfcheck_endstops(); static bool lcd_selfcheck_axis(int _axis, int _travel); diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h new file mode 100644 index 000000000..2324daf68 --- /dev/null +++ b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -0,0 +1,426 @@ +#ifndef CONFIGURATION_PRUSA_H +#define CONFIGURATION_PRUSA_H + +/*------------------------------------ +GENERAL SETTINGS +*------------------------------------*/ + +// Printer revision +#define FILAMENT_SIZE "1_75mm_MK2" +#define NOZZLE_TYPE "E3Dv6full" + +// Developer flag +#define DEVELOPER + +// Printer name +#define CUSTOM_MENDEL_NAME "Prusa i3 MK2" + +// Electronics +#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 + +// Prusa Single extruder multiple material suport +//#define SNMM + +// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) +//#define E3D_PT100_EXTRUDER_WITH_AMP +//#define E3D_PT100_EXTRUDER_NO_AMP +//#define E3D_PT100_BED_WITH_AMP +//#define E3D_PT100_BED_NO_AMP + + +/*------------------------------------ +AXIS SETTINGS +*------------------------------------*/ + +// Steps per unit {X,Y,Z,E} +#ifdef SNMM +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} +#else +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3} +#endif + + +// 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. + +// Direction inverting +#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 true // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false + + +// Home position +#define MANUAL_X_HOME_POS 0 +#define MANUAL_Y_HOME_POS -2.2 +#define MANUAL_Z_HOME_POS 0.15 + +// Travel limits after homing +#define X_MAX_POS 250 +#define X_MIN_POS 0 +#define Y_MAX_POS 210 +#define Y_MIN_POS -2.2 +#define Z_MAX_POS 210 +#define Z_MIN_POS 0.15 + +// Canceled home position +#define X_CANCEL_POS 50 +#define Y_CANCEL_POS 190 + +//Pause print position +#define X_PAUSE_POS 50 +#define Y_PAUSE_POS 190 +#define Z_PAUSE_LIFT 20 + +#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E +#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) + +#define DEFAULT_MAX_FEEDRATE {500, 500, 12, 120} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {9000,9000,500,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 1500 // X, Y, Z and E max acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 1500 // X, Y, Z and E max acceleration in mm/s^2 for retracts + + +#define MANUAL_FEEDRATE {3000, 3000, 1000, 100} // set the speeds for manual moves (mm/min) + +#define Z_AXIS_ALWAYS_ON 1 + +/*------------------------------------ +EXTRUDER SETTINGS +*------------------------------------*/ + +// Mintemps +#define HEATER_0_MINTEMP 15 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define BED_MINTEMP 15 + +// Maxtemps +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) +#define HEATER_0_MAXTEMP 410 +#else +#define HEATER_0_MAXTEMP 305 +#endif +#define HEATER_1_MAXTEMP 305 +#define HEATER_2_MAXTEMP 305 +#define BED_MAXTEMP 150 + +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) +// Define PID constants for extruder with PT100 +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else +// Define PID constants for extruder +#define DEFAULT_Kp 40.925 +#define DEFAULT_Ki 4.875 +#define DEFAULT_Kd 86.085 +#endif + +// Extrude mintemp +#define EXTRUDE_MINTEMP 130 + +// 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 + + +#ifdef SNMM +//#define BOWDEN_LENGTH 408 +#define BOWDEN_LENGTH 433 //default total length for filament fast loading part; max length for extrusion is 465 mm!; this length can be adjusted in service menu +#define FIL_LOAD_LENGTH 102 //length for loading filament into the nozzle +#define FIL_COOLING 10 //length for cooling moves +#define E_MOTOR_LOW_CURRENT 350 // current for PRUSAY code +#define E_MOTOR_HIGH_CURRENT 700 //current for unloading filament, stop print, PRUSAY ramming +#endif //SNMM + +//#define DIS //for measuring bed heigth and PINDa detection heigth relative to auto home point, experimental function + + +/*------------------------------------ +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 +#define FILAMENTCHANGE_RECFEED 5 + +#define FILAMENTCHANGE_XYFEED 50 +#define FILAMENTCHANGE_EFEED 20 +#define FILAMENTCHANGE_RFEED 400 +#define FILAMENTCHANGE_EXFEED 2 +#define FILAMENTCHANGE_ZFEED 15 + +#endif + +/*------------------------------------ +ADDITIONAL FEATURES SETTINGS +*------------------------------------*/ + +// Define Prusa filament runout sensor +//#define FILAMENT_RUNOUT_SUPPORT + +#ifdef FILAMENT_RUNOUT_SUPPORT +#define FILAMENT_RUNOUT_SENSOR 1 +#define FILAMENT_RUNOUT_SCRIPT "M600" +#endif + +// temperature runaway +#define TEMP_RUNAWAY_BED_HYSTERESIS 5 +#define TEMP_RUNAWAY_BED_TIMEOUT 360 + +#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 +#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 + +/*------------------------------------ +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) +#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} + +// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range +#if MOTHERBOARD == 203 || MOTHERBOARD == 200 +#define MOTOR_CURRENT_PWM_RANGE 2000 +#define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} +#define Z_SILENT 0 +#define Z_HIGH_POWER 200 +#endif + +/*------------------------------------ +BED SETTINGS +*------------------------------------*/ + +// Define Mesh Bed Leveling system to enable it +#define MESH_BED_LEVELING +#ifdef MESH_BED_LEVELING + +#define MBL_Z_STEP 0.01 + +// Mesh definitions +#define MESH_MIN_X 35 +#define MESH_MAX_X 238 +#define MESH_MIN_Y 6 +#define MESH_MAX_Y 202 + +// Mesh upsample definition +#define MESH_NUM_X_POINTS 7 +#define MESH_NUM_Y_POINTS 7 +// Mesh measure definition +#define MESH_MEAS_NUM_X_POINTS 3 +#define MESH_MEAS_NUM_Y_POINTS 3 + +#define MESH_HOME_Z_CALIB 0.2 +#define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. + +#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right +#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind +#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) +#endif + +// 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 + +// Bed temperature compensation settings +#define BED_OFFSET 10 +#define BED_OFFSET_START 40 +#define BED_OFFSET_CENTER 50 + + +#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) +#if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) +// Define PID constants for extruder with PT100 +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif + +//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 + + +/*----------------------------------- +PREHEAT SETTINGS +*------------------------------------*/ + +#define FARM_PREHEAT_HOTEND_TEMP 250 +#define FARM_PREHEAT_HPB_TEMP 40 +#define FARM_PREHEAT_FAN_SPEED 0 + +#define PLA_PREHEAT_HOTEND_TEMP 215 +#define PLA_PREHEAT_HPB_TEMP 55 +#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 +// 148 is E3D Pt100 with 4k7 pullup and no PT100 Amplifier on a MiniRambo 1.3a +// 247 is Pt100 with 4k7 pullup and PT100 Amplifier +// 110 is Pt100 with 1k pullup (non standard) + +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) +#define TEMP_SENSOR_0 247 +#elif defined(E3D_PT100_EXTRUDER_NO_AMP) +#define TEMP_SENSOR_0 148 +#else +#define TEMP_SENSOR_0 5 +#endif +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#if defined(E3D_PT100_BED_WITH_AMP) +#define TEMP_SENSOR_BED 247 +#elif defined(E3D_PT100_BED_NO_AMP) +#define TEMP_SENSOR_BED 148 +#else +#define TEMP_SENSOR_BED 1 +#endif + +#define STACK_GUARD_TEST_VALUE 0xA2A2 + +#define MAX_BED_TEMP_CALIBRATION 50 +#define MAX_HOTEND_TEMP_CALIBRATION 50 + +#define MAX_E_STEPS_PER_UNIT 250 +#define MIN_E_STEPS_PER_UNIT 100 + +#define Z_BABYSTEP_MIN -3999 +#define Z_BABYSTEP_MAX 0 + +#define PINDA_PREHEAT_X 70 +#define PINDA_PREHEAT_Y -3 +#define PINDA_PREHEAT_Z 1 +#define PINDA_HEAT_T 120 //time in s + +#define PINDA_MIN_T 50 +#define PINDA_STEP_T 10 +#define PINDA_MAX_T 100 + +#define PING_TIME 60 //time in s +#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes +#define PING_ALLERT_PERIOD 60 //time in s + +#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring +#define NC_BUTTON_LONG_PRESS 15 //time in s + +#define LONG_PRESS_TIME 1000 //time in ms for button long press +#define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release + +#define DEFAULT_PID_TEMP 210 + +#ifdef SNMM +#define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print +#else +#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print +#endif + +#define END_FILE_SECTION 10000 //number of bytes from end of file used for checking if file is complete + +#define M600_TIMEOUT 600 //seconds + +#ifndef SNMM +#define SUPPORT_VERBOSITY +#endif + +#endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index 18edb0f15..d7cc579d2 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -56,7 +56,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define X_MIN_POS 0 #define Y_MAX_POS 210 #define Y_MIN_POS -4 //orig -4 -#define Z_MAX_POS 210 +#define Z_MAX_POS 200 #define Z_MIN_POS 0.15 // Canceled home position @@ -101,7 +101,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored //#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored //#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages +//#define DEBUG_DISABLE_STARTMSGS //no startup messages //#define DEBUG_DISABLE_MINTEMP //mintemp error ignored //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line @@ -112,9 +112,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_BLINK_ACTIVE //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) //#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) -#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line -#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. -#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. +//#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line +//#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. +//#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #endif /* DEBUG_BUILD */ @@ -164,6 +164,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +#define PAT9125 +#define FANCHECK + /*------------------------------------ LOAD/UNLOAD FILAMENT SETTINGS @@ -231,10 +234,12 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 310 +#if MOTHERBOARD == 203 || MOTHERBOARD == 200 #define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} +#define Z_SILENT 0 +#define Z_HIGH_POWER 200 #endif /*------------------------------------ @@ -271,7 +276,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif @@ -461,6 +466,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define M600_TIMEOUT 600 //seconds +#define TACH0PULLUP + //#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 11ad3dc84..a00ca8f11 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -213,6 +213,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) #define TMC2130_CURRENTS_H {13, 20, 25, 35} // default holding currents for all axes #define TMC2130_CURRENTS_R {13, 20, 25, 35} // default running currents for all axes +#define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor //#define TMC2130_DEBUG //#define TMC2130_DEBUG_WR @@ -265,6 +266,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +#define PAT9125 +#define FANCHECK + /*------------------------------------ LOAD/UNLOAD FILAMENT SETTINGS From 0323af531d03b1e10d06cfbfc5a281cb2505fb2d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 22 Feb 2018 00:09:12 +0100 Subject: [PATCH 039/926] printer types and motherboard types added to eeprom; min extrude temp lowered because of woodfil --- Firmware/Configuration.h | 3 +++ Firmware/Configuration_prusa.h | 3 ++- Firmware/Marlin.h | 1 + Firmware/Marlin_main.cpp | 47 ++++++++++++++++++++++++++++++++-- Firmware/language_all.cpp | 21 +++++++++++++++ Firmware/language_all.h | 6 +++++ Firmware/language_cz.h | 4 +++ Firmware/language_en.h | 3 +++ Firmware/printers.h | 14 ++++++++++ 9 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 Firmware/printers.h diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 391935f16..b8669c220 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -132,6 +132,9 @@ // Power loss errors (total) #define EEPROM_POWER_COUNT_TOT (EEPROM_FERROR_COUNT_TOT - 2) // uint16 +#define EEPROM_PRINTER_TYPE (EEPROM_POWER_COUNT_TOT - 2) // uint16 +#define EEPROM_BOARD_TYPE (EEPROM_PRINTER_TYPE - 2) // uint16 + //TMC2130 configuration #define EEPROM_TMC_AXIS_SIZE //axis configuration block size diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 0d0c12396..5b97faca0 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -6,6 +6,7 @@ *------------------------------------*/ // Printer revision +#define PRINTER_TYPE PRINTER_MK25 #define FILAMENT_SIZE "1_75mm_MK25" #define NOZZLE_TYPE "E3Dv6full" @@ -154,7 +155,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif // Extrude mintemp -#define EXTRUDE_MINTEMP 190 +#define EXTRUDE_MINTEMP 180 // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 941816326..4b2f9cca8 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -380,6 +380,7 @@ void temp_compensation_apply(); void temp_compensation_start(); void show_fw_version_warnings(); void erase_eeprom_section(uint16_t offset, uint16_t bytes); +uint8_t check_printer_version(); #ifdef PINDA_THERMISTOR float temp_compensation_pinda_thermistor_offset(float temperature_pinda); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b1425192a..b284d8dbc 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -41,6 +41,7 @@ #include "mesh_bed_calibration.h" #endif +#include "printers.h" #include "ultralcd.h" #include "Configuration_prusa.h" #include "planner.h" @@ -935,7 +936,22 @@ void show_fw_version_warnings() { lcd_update_enable(true); } +uint8_t check_printer_version() +{ + uint8_t version_changed = 0; + uint16_t printer_type = eeprom_read_word((uint16_t*)EEPROM_PRINTER_TYPE); + uint16_t motherboard = eeprom_read_word((uint16_t*)EEPROM_BOARD_TYPE); + if (printer_type != PRINTER_TYPE) { + if (printer_type == 0xffff) eeprom_write_word((uint16_t*)EEPROM_PRINTER_TYPE, PRINTER_TYPE); + else version_changed |= 0b10; + } + if (motherboard != MOTHERBOARD) { + if(motherboard == 0xffff) eeprom_write_word((uint16_t*)EEPROM_BOARD_TYPE, MOTHERBOARD); + else version_changed |= 0b01; + } + return version_changed; +} void erase_eeprom_section(uint16_t offset, uint16_t bytes) { @@ -1022,7 +1038,15 @@ void setup() SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE); //lcd_update_enable(false); // why do we need this?? - andre // loads data from EEPROM if available else uses defaults (and resets step acceleration rate) - bool previous_settings_retrieved = Config_RetrieveSettings(EEPROM_OFFSET); + + bool previous_settings_retrieved = false; + uint8_t hw_changed = check_printer_version(); + if (!(hw_changed & 0b10)) { //if printer version wasn't changed, check for eeprom version and retrieve settings from eeprom in case that version wasn't changed + previous_settings_retrieved = Config_RetrieveSettings(EEPROM_OFFSET); + } + else { //printer version was changed so use default settings + Config_ResetDefault(); + } SdFatUtil::set_stack_guard(); //writes magic number at the end of static variables to protect against overwriting static memory by stack tp_init(); // Initialize temperature loop @@ -1193,8 +1217,27 @@ void setup() show_fw_version_warnings(); + switch (hw_changed) { + //if motherboard or printer type was changed inform user as it can indicate flashing wrong firmware version + //if user confirms with knob, new hw version (printer and/or motherboard) is written to eeprom and message will be not shown next time + case(0b01): + lcd_show_fullscreen_message_and_wait_P(MSG_CHANGED_MOTHERBOARD); + eeprom_write_word((uint16_t*)EEPROM_BOARD_TYPE, MOTHERBOARD); + break; + case(0b10): + lcd_show_fullscreen_message_and_wait_P(MSG_CHANGED_PRINTER); + eeprom_write_word((uint16_t*)EEPROM_PRINTER_TYPE, PRINTER_TYPE); + break; + case(0b11): + lcd_show_fullscreen_message_and_wait_P(MSG_CHANGED_BOTH); + eeprom_write_word((uint16_t*)EEPROM_PRINTER_TYPE, PRINTER_TYPE); + eeprom_write_word((uint16_t*)EEPROM_BOARD_TYPE, MOTHERBOARD); + break; + default: break; //no change, show no message + } + if (!previous_settings_retrieved) { - lcd_show_fullscreen_message_and_wait_P(MSG_DEFAULT_SETTINGS_LOADED); //if EEPROM version was changed, inform user that default setting were loaded + lcd_show_fullscreen_message_and_wait_P(MSG_DEFAULT_SETTINGS_LOADED); //if EEPROM version or printer type was changed, inform user that default setting were loaded erase_eeprom_section(EEPROM_OFFSET, 156); //erase M500 part of eeprom } if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index ac9b84a55..6d72bb189 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -320,6 +320,27 @@ const char * const MSG_CARD_MENU_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_CARD_MENU_CZ }; +const char MSG_CHANGED_BOTH_EN[] PROGMEM = "Warning: both printer type and motherboard type changed."; +const char MSG_CHANGED_BOTH_CZ[] PROGMEM = "Varovani: doslo ke zmene typu tiskarny a motherboardu."; +const char * const MSG_CHANGED_BOTH_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_CHANGED_BOTH_EN, + MSG_CHANGED_BOTH_CZ +}; + +const char MSG_CHANGED_MOTHERBOARD_EN[] PROGMEM = "Warning: motherboard type changed."; +const char MSG_CHANGED_MOTHERBOARD_CZ[] PROGMEM = "Varovani: doslo ke zmene typu motherboardu."; +const char * const MSG_CHANGED_MOTHERBOARD_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_CHANGED_MOTHERBOARD_EN, + MSG_CHANGED_MOTHERBOARD_CZ +}; + +const char MSG_CHANGED_PRINTER_EN[] PROGMEM = "Warning: printer type changed."; +const char MSG_CHANGED_PRINTER_CZ[] PROGMEM = "Varovani: doslo ke zmene typu tiskarny."; +const char * const MSG_CHANGED_PRINTER_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_CHANGED_PRINTER_EN, + MSG_CHANGED_PRINTER_CZ +}; + const char MSG_CHANGE_EXTR_EN[] PROGMEM = "Change extruder"; const char MSG_CHANGE_EXTR_CZ[] PROGMEM = "Zmenit extruder"; const char * const MSG_CHANGE_EXTR_LANG_TABLE[LANG_NUM] PROGMEM = { diff --git a/Firmware/language_all.h b/Firmware/language_all.h index 895b9fbeb..a055e3612 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -120,6 +120,12 @@ extern const char* const MSG_CALIBRATION_PINDA_MENU_LANG_TABLE[LANG_NUM]; #define MSG_CALIBRATION_PINDA_MENU LANG_TABLE_SELECT(MSG_CALIBRATION_PINDA_MENU_LANG_TABLE) extern const char* const MSG_CARD_MENU_LANG_TABLE[LANG_NUM]; #define MSG_CARD_MENU LANG_TABLE_SELECT(MSG_CARD_MENU_LANG_TABLE) +extern const char* const MSG_CHANGED_BOTH_LANG_TABLE[LANG_NUM]; +#define MSG_CHANGED_BOTH LANG_TABLE_SELECT(MSG_CHANGED_BOTH_LANG_TABLE) +extern const char* const MSG_CHANGED_MOTHERBOARD_LANG_TABLE[LANG_NUM]; +#define MSG_CHANGED_MOTHERBOARD LANG_TABLE_SELECT(MSG_CHANGED_MOTHERBOARD_LANG_TABLE) +extern const char* const MSG_CHANGED_PRINTER_LANG_TABLE[LANG_NUM]; +#define MSG_CHANGED_PRINTER LANG_TABLE_SELECT(MSG_CHANGED_PRINTER_LANG_TABLE) extern const char* const MSG_CHANGE_EXTR_LANG_TABLE[LANG_NUM]; #define MSG_CHANGE_EXTR LANG_TABLE_SELECT(MSG_CHANGE_EXTR_LANG_TABLE) extern const char* const MSG_CHANGE_SUCCESS_LANG_TABLE[LANG_NUM]; diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index a570b34e0..355b786e8 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -406,3 +406,7 @@ #define MSG_FW_VERSION_ALPHA "Pouzivate alpha verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny." #define MSG_FW_VERSION_BETA "Pouzivate beta verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny." #define MSG_FW_VERSION_RC "Tato verze firmware je release candidate. Nektere z funkci nemusi pracovat spolehlive." + +#define MSG_CHANGED_MOTHERBOARD "Varovani: doslo ke zmene typu motherboardu." +#define MSG_CHANGED_PRINTER "Varovani: doslo ke zmene typu tiskarny." +#define MSG_CHANGED_BOTH "Varovani: doslo ke zmene typu tiskarny a motherboardu." diff --git a/Firmware/language_en.h b/Firmware/language_en.h index fd8c93104..c22d9fb40 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -412,3 +412,6 @@ #define(length=20, lines=8) MSG_FW_VERSION_ALPHA "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage." #define(length=20, lines=8) MSG_FW_VERSION_BETA "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage." #define(length=20, lines=8) MSG_FW_VERSION_RC "This firmware version is release candidate. Some of the features may not work properly." +#define(length=20, lines=4) MSG_CHANGED_MOTHERBOARD "Warning: motherboard type changed." +#define(length=20, lines=4) MSG_CHANGED_PRINTER "Warning: printer type changed." +#define(length=20, lines=4) MSG_CHANGED_BOTH "Warning: both printer type and motherboard type changed." \ No newline at end of file diff --git a/Firmware/printers.h b/Firmware/printers.h new file mode 100644 index 000000000..513b690ca --- /dev/null +++ b/Firmware/printers.h @@ -0,0 +1,14 @@ +#ifndef PRINTERS_H +#define PRINTERS_H + +#define PRINTER_UNKNOWN 0 + +#define PRINTER_MK1 100 +#define PRINTER_MK2 200 +#define PRINTER_MK2_SNMM 201 +#define PRINTER_MK25 250 +#define PRINTER_MK25_SNMM 251 +#define PRINTER_MK3 300 +#define PRINTER_MK3_SNMM 301 + +#endif //PRINTERS_H From 0fb471f528af325576ed33a5ee3127ac562f5eed Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 22 Feb 2018 00:11:17 +0100 Subject: [PATCH 040/926] whitespace --- Firmware/printers.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Firmware/printers.h b/Firmware/printers.h index 513b690ca..b0b5e2ba0 100644 --- a/Firmware/printers.h +++ b/Firmware/printers.h @@ -3,12 +3,12 @@ #define PRINTER_UNKNOWN 0 -#define PRINTER_MK1 100 -#define PRINTER_MK2 200 -#define PRINTER_MK2_SNMM 201 -#define PRINTER_MK25 250 -#define PRINTER_MK25_SNMM 251 -#define PRINTER_MK3 300 -#define PRINTER_MK3_SNMM 301 +#define PRINTER_MK1 100 +#define PRINTER_MK2 200 +#define PRINTER_MK2_SNMM 201 +#define PRINTER_MK25 250 +#define PRINTER_MK25_SNMM 251 +#define PRINTER_MK3 300 +#define PRINTER_MK3_SNMM 301 #endif //PRINTERS_H From a4b3389dfac61b462198c4499bd269141619cae0 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 22 Feb 2018 10:38:46 +0100 Subject: [PATCH 041/926] M45 verbosity, steel sheet define, minor modifications in xyz cal --- Firmware/Configuration_prusa.h | 3 ++- Firmware/Marlin.h | 2 +- Firmware/Marlin_main.cpp | 25 +++++++++++++++++++------ Firmware/mesh_bed_calibration.cpp | 10 +++++----- Firmware/ultralcd.cpp | 6 +++--- 5 files changed, 30 insertions(+), 16 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 0d0c12396..4ae801bc1 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -55,7 +55,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define X_MAX_POS 255 #define X_MIN_POS 0 #define Y_MAX_POS 210 -#define Y_MIN_POS -4 //orig -4 +#define Y_MIN_POS -4 #define Z_MAX_POS 200 #define Z_MIN_POS 0.15 @@ -460,6 +460,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif #define HEATBED_V2 +#define STEEL_SHEET #define M600_TIMEOUT 600 //seconds diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 941816326..9e686bcb7 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -444,7 +444,7 @@ void force_high_power_mode(bool start_high_power_section); #endif //TMC2130 // G-codes -bool gcode_M45(bool onlyZ); +bool gcode_M45(bool onlyZ, int8_t verbosity_level); void gcode_M701(); #define UVLO !(PINE & (1<<4)) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b1425192a..33fa28154 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2075,7 +2075,7 @@ void force_high_power_mode(bool start_high_power_section) { } #endif //TMC2130 -bool gcode_M45(bool onlyZ) +bool gcode_M45(bool onlyZ, int8_t verbosity_level); { bool final_result = false; #ifdef TMC2130 @@ -2125,14 +2125,18 @@ bool gcode_M45(bool onlyZ) { #endif //TMC2130 refresh_cmd_timeout(); - //if (((degHotend(0) > MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) && (!onlyZ)) - //{ - // lcd_wait_for_cool_down(); - //} + #ifndef STEEL_SHEET + if (((degHotend(0) > MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) && (!onlyZ)) + { + lcd_wait_for_cool_down(); + } + #endif //STEEL_SHEET if(!onlyZ) { KEEPALIVE_STATE(PAUSED_FOR_USER); + #ifdef STEEL_SHEET bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); + #endif //STEEL_SHEET if(result) lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); lcd_show_fullscreen_message_and_wait_P(MSG_CONFIRM_NOZZLE_CLEAN); lcd_show_fullscreen_message_and_wait_P(MSG_PAPER); @@ -4174,8 +4178,17 @@ void process_commands() case 45: // M45: Prusa3D: bed skew and offset with manual Z up { + int8_t verbosity_level = 0; bool only_Z = code_seen('Z'); - gcode_M45(only_Z); + #ifdef SUPPORT_VERBOSITY + if (code_seen('V')) + { + // Just 'V' without a number counts as V1. + char c = strchr_pointer[1]; + verbosity_level = (c == ' ' || c == '\t' || c == 0) ? 1 : code_value_short(); + } + #endif //SUPPORT_VERBOSITY + gcode_M45(only_Z, verbosity_level); } break; diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index f330408be..15e4743bf 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -902,7 +902,7 @@ error: // look for the induction sensor response. // Adjust the current_position[X,Y,Z] to the center of the target dot and its response Z coordinate. #define FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS (8.f) -#define FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS (6.f) +#define FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS (4.f) #define FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP (1.f) #define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (0.2f) inline bool find_bed_induction_sensor_point_xy(int verbosity_level) @@ -957,7 +957,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) while (current_position[Z_AXIS] > -10.f) { // Do nsteps_y zig-zag movements. current_position[Y_AXIS] = y0; - for (i = 0; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { + for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); @@ -965,7 +965,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) if (endstop_z_hit_on_purpose()) goto endloop; } - for (i = 0; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { + for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); @@ -996,7 +996,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) go_xy(x0, current_position[Y_AXIS], feedrate); enable_z_endstop(true); found = false; - for (i = 0, dir_positive = true; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { + for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); if (endstop_z_hit_on_purpose()) { found = true; @@ -1016,7 +1016,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) go_xy(x0, current_position[Y_AXIS], feedrate); enable_z_endstop(true); found = false; - for (i = 0, dir_positive = true; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { + for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); if (endstop_z_hit_on_purpose()) { found = true; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index ff487e264..9c88257b0 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2629,7 +2629,7 @@ calibrated: lcd_implementation_print_at(0, 3, 1); lcd_printPGM(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2); }else{ - lcd_show_fullscreen_message_and_wait_P(MSG_PAPER); + //lcd_show_fullscreen_message_and_wait_P(MSG_PAPER); lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1); lcd_implementation_print_at(0, 2, 1); lcd_printPGM(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2); @@ -3728,7 +3728,7 @@ void lcd_wizard(int state) { break; case 3: //xyz cal. lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_XYZ_CAL); - wizard_event = gcode_M45(false); + wizard_event = gcode_M45(false, 0); if (wizard_event) state = 5; else end = true; break; @@ -3736,7 +3736,7 @@ void lcd_wizard(int state) { lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_Z_CAL); wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); if (!wizard_event) lcd_show_fullscreen_message_and_wait_P(MSG_PLACE_STEEL_SHEET); - wizard_event = gcode_M45(true); + wizard_event = gcode_M45(true, 0); if (wizard_event) state = 11; //shipped, no need to set first layer, go to final message directly else end = true; break; From 90e00b56a57a32ddf4d9cddb1a1b8a0b3eada58f Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 22 Feb 2018 10:42:02 +0100 Subject: [PATCH 042/926] some defines moved to another position --- Firmware/Configuration_prusa.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 4ae801bc1..773cdc891 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -18,6 +18,9 @@ // Electronics #define MOTHERBOARD BOARD_RAMBO_MINI_1_3 +#define HEATBED_V2 +#define STEEL_SHEET +#define TACH0PULLUP // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -459,13 +462,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print #endif -#define HEATBED_V2 -#define STEEL_SHEET - #define M600_TIMEOUT 600 //seconds -#define TACH0PULLUP - //#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H From 819f2fd2b32fd15f47eef0a245ae14bd7488b6b0 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 22 Feb 2018 13:40:31 +0100 Subject: [PATCH 043/926] typo fixed --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 33fa28154..01778bbc6 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2075,7 +2075,7 @@ void force_high_power_mode(bool start_high_power_section) { } #endif //TMC2130 -bool gcode_M45(bool onlyZ, int8_t verbosity_level); +bool gcode_M45(bool onlyZ, int8_t verbosity_level) { bool final_result = false; #ifdef TMC2130 From 4e3ea41ba4b4704e7d14756233dbd2cb0c43f532 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Tue, 20 Feb 2018 15:30:18 +0100 Subject: [PATCH 044/926] Fix of a loss in precission when the extruder multiplier is set with M221. For 50um layers, the precision loss leads to holes in the print. --- Firmware/Marlin_main.cpp | 6 +++++- Firmware/planner.cpp | 6 +----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7d3b0d5ae..a96abe2e6 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6527,7 +6527,11 @@ void get_coordinates() 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]; + destination[i] = (float)code_value(); + if (i == E_AXIS && extrudemultiply != 100) + destination[i] *= (extrudemultiply * 0.01f); + if (axis_relative_modes[i] || relative_mode) + destination[i] += current_position[i]; seen[i]=true; } else destination[i] = current_position[i]; //Are these else lines really needed? diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index d7f30d23f..2f5f358ef 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -784,10 +784,6 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi block->steps_e = labs(target[E_AXIS]-position[E_AXIS]); if (volumetric_multiplier[active_extruder] != 1.f) block->steps_e *= volumetric_multiplier[active_extruder]; - if (extrudemultiply != 100) { - 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 @@ -919,7 +915,7 @@ Having the real displacement of the head, we can calculate the total movement le 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; + delta_mm[E_AXIS] = ((target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS])*volumetric_multiplier[active_extruder]; if ( block->steps_x <=dropsegments && block->steps_y <=dropsegments && block->steps_z <=dropsegments ) { block->millimeters = fabs(delta_mm[E_AXIS]); From cff7b9b39647593fe90de7b73c6199b756c4d97c Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 21 Feb 2018 11:25:21 +0100 Subject: [PATCH 045/926] Unified the volumetric_multiplier with extrusion_multiply to improve numeric accuracy and to reduce compuatitonal load. With this commit, the numeric rounding is fixed not only for the M221 G-code (as implemented by the preceding commit), but also for the volumetric extrusion in general. Removed the old FILAMENT_SENSOR code, which served the purpose to modulate the volumetric multiplayer in real time depending on the measured filament diameter. This feature will certainly not be used by Prusa Research in the near future as we know of no sensor, which would offer sufficient accuracy for a reasonable price. --- Firmware/Configuration.h | 29 +------ Firmware/ConfigurationStore.cpp | 2 +- Firmware/Marlin.h | 13 +-- Firmware/Marlin_main.cpp | 135 +++++++------------------------- Firmware/planner.cpp | 51 +----------- Firmware/temperature.cpp | 60 +------------- Firmware/temperature.h | 8 -- 7 files changed, 32 insertions(+), 266 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index b8669c220..322ea8b22 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -789,34 +789,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of // //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -/**********************************************************************\ - * 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 - +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm). Used by the volumetric extrusion. // Calibration status of the machine, to be stored into the EEPROM, // (unsigned char*)EEPROM_CALIBRATION_STATUS diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 9b0d0e878..253452fed 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -472,7 +472,7 @@ void Config_ResetDefault() filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; #endif #endif - calculate_volumetric_multipliers(); + calculate_extruder_multipliers(); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded"); diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index f3f134630..a576a1f26 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -283,17 +283,6 @@ extern void homeaxis(int axis); 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]; @@ -358,7 +347,7 @@ extern bool sortAlpha; extern char dir_names[3][9]; -extern void calculate_volumetric_multipliers(); +extern void calculate_extruder_multipliers(); // Similar to the default Arduino delay function, // but it keeps the background tasks running. diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index a96abe2e6..3b51a67c4 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -334,7 +334,7 @@ float filament_size[EXTRUDERS] = { DEFAULT_NOMINAL_FILAMENT_DIA #endif #endif }; -float volumetric_multiplier[EXTRUDERS] = {1.0 +float extruder_multiplier[EXTRUDERS] = {1.0 #if EXTRUDERS > 1 , 1.0 #if EXTRUDERS > 2 @@ -411,18 +411,6 @@ bool cancel_heatup = false ; #define KEEPALIVE_STATE(n); #endif -#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:"; @@ -1971,11 +1959,7 @@ void refresh_cmd_timeout(void) 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]; - } + current_position[E_AXIS]+=(swapretract?retract_length_swap:retract_length)*float(extrudemultiply)*0.01f; plan_set_e_position(current_position[E_AXIS]); float oldFeedrate = feedrate; feedrate=retract_feedrate*60; @@ -1992,12 +1976,7 @@ void refresh_cmd_timeout(void) destination[E_AXIS]=current_position[E_AXIS]; current_position[Z_AXIS]+=retract_zlift; plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - //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]; - } + current_position[E_AXIS]-=(swapretract?(retract_length_swap+retract_recover_length_swap):(retract_length+retract_recover_length))*float(extrudemultiply)*0.01f; plan_set_e_position(current_position[E_AXIS]); float oldFeedrate = feedrate; feedrate=retract_recover_feedrate*60; @@ -5066,7 +5045,7 @@ Sigma_Exit: //reserved for setting filament diameter via UFID or filament measuring device break; } - calculate_volumetric_multipliers(); + calculate_extruder_multipliers(); } break; case 201: // M201 @@ -5234,6 +5213,7 @@ Sigma_Exit: extrudemultiply = tmp_code ; } } + calculate_extruder_multipliers(); } break; @@ -5472,69 +5452,6 @@ Sigma_Exit: } break; -#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(EEPROM_OFFSET); @@ -6527,10 +6444,19 @@ void get_coordinates() for(int8_t i=0; i < NUM_AXIS; i++) { if(code_seen(axis_codes[i])) { + bool relative = axis_relative_modes[i] || relative_mode; destination[i] = (float)code_value(); - if (i == E_AXIS && extrudemultiply != 100) - destination[i] *= (extrudemultiply * 0.01f); - if (axis_relative_modes[i] || relative_mode) + if (i == E_AXIS) { + float emult = extruder_multiplier[active_extruder]; + if (emult != 1.) { + if (! relative) { + destination[i] -= current_position[i]; + relative = true; + } + destination[i] *= emult; + } + } + if (relative) destination[i] += current_position[i]; seen[i]=true; } @@ -7047,27 +6973,20 @@ void save_statistics(unsigned long _total_filament_used, unsigned long _total_pr } -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; +float calculate_extruder_multiplier(float diameter) { + bool enabled = volumetric_enabled && diameter > 0; + float area = enabled ? (M_PI * pow(diameter * .5, 2)) : 0; + return (extrudemultiply == 100) ? + (enabled ? (1.f / area) : 1.f) : + (enabled ? ((float(extrudemultiply) * 0.01f) / area) : 1.f); } -void calculate_volumetric_multipliers() { - volumetric_multiplier[0] = calculate_volumetric_multiplier(filament_size[0]); +void calculate_extruder_multipliers() { + extruder_multiplier[0] = calculate_extruder_multiplier(filament_size[0]); #if EXTRUDERS > 1 - volumetric_multiplier[1] = calculate_volumetric_multiplier(filament_size[1]); + extruder_multiplier[1] = calculate_extruder_multiplier(filament_size[1]); #if EXTRUDERS > 2 - volumetric_multiplier[2] = calculate_volumetric_multiplier(filament_size[2]); + extruder_multiplier[2] = calculate_extruder_multiplier(filament_size[2]); #endif #endif } diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index 2f5f358ef..b7c22d44f 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -126,10 +126,6 @@ static uint8_t g_cntr_planner_queue_min = 0; float extrude_min_temp=EXTRUDE_MINTEMP; #endif -#ifdef FILAMENT_SENSOR - static char meas_sample; //temporary variable to hold filament measurement sample -#endif - #ifdef LIN_ADVANCE float extruder_advance_k = LIN_ADVANCE_K, advance_ed_ratio = LIN_ADVANCE_E_D_RATIO, @@ -782,8 +778,6 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi #endif block->steps_z = labs(target[Z_AXIS]-position[Z_AXIS]); block->steps_e = labs(target[E_AXIS]-position[E_AXIS]); - if (volumetric_multiplier[active_extruder] != 1.f) - block->steps_e *= volumetric_multiplier[active_extruder]; 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 @@ -915,7 +909,7 @@ Having the real displacement of the head, we can calculate the total movement le 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]; + delta_mm[E_AXIS] = (target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS]; if ( block->steps_x <=dropsegments && block->steps_y <=dropsegments && block->steps_z <=dropsegments ) { block->millimeters = fabs(delta_mm[E_AXIS]); @@ -951,49 +945,6 @@ Having the real displacement of the head, we can calculate the total movement le 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 diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 5e7704b8d..870e60e9c 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -104,9 +104,6 @@ unsigned char soft_pwm_bed; 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============================ //=========================================================================== @@ -204,9 +201,6 @@ unsigned long watchmillis[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0); #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 ============================ //=========================================================================== @@ -810,27 +804,6 @@ void manage_heater() #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 #ifdef HOST_KEEPALIVE_FEATURE host_keepalive(); #endif @@ -985,9 +958,7 @@ static void updateTemperaturesFromRawValues() #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(); @@ -997,35 +968,6 @@ static void updateTemperaturesFromRawValues() } -// 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_measMEASURED_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)) diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 73c503bcf..91791c4cf 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -31,14 +31,6 @@ 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]; From 49832d4d3b63cdf4790422f1adfae44c518e3dd1 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 22 Feb 2018 16:46:17 +0100 Subject: [PATCH 046/926] Safety timer (disable heaters after 15min idle) --- Firmware/Configuration_prusa.h | 1 + Firmware/Marlin_main.cpp | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 5654506e7..97e721c0e 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -170,6 +170,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PAT9125 #define FANCHECK +#define SAFETYTIMER /*------------------------------------ diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7d3b0d5ae..60cd760fd 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5895,6 +5895,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp lcd_wait_interact(); //load_filament_time = millis(); KEEPALIVE_STATE(PAUSED_FOR_USER); + #ifdef PAT9125 if (filament_autoload_enabled && (old_fsensor_enabled || fsensor_M600)) fsensor_autoload_check_start(); #endif //PAT9125 @@ -5925,6 +5926,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp //WRITE(BEEPER, LOW); KEEPALIVE_STATE(IN_HANDLER); + #ifdef SNMM display_loading(); KEEPALIVE_STATE(PAUSED_FOR_USER); @@ -6782,6 +6784,22 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s fsensor_autoload_check_stop(); #endif //PAT9125 +#ifdef SAFETYTIMER + static uint32_t safety_timer = 0; + if (degTargetBed() || degTargetHotend(0)) + { + if ((safety_timer == 0) || IS_SD_PRINTING || is_usb_printing || (custom_message_type == 4) || (lcd_commands_type == LCD_COMMAND_V2_CAL)) + safety_timer = millis(); + else if ((safety_timer + (15*60*1000)) < millis()) + { + setTargetBed(0); + setTargetHotend(0, 0); + safety_timer = 0; + } + } +#endif //SAFETYTIMER + + #if defined(KILL_PIN) && KILL_PIN > -1 static int killCount = 0; // make the inactivity button a bit less responsive const int KILL_DELAY = 10000; From ae50a1a7687ee65fb3f88e31d63bc869842804a6 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 22 Feb 2018 17:12:24 +0100 Subject: [PATCH 047/926] checking fan speed synchronized with block currently processed --- Firmware/temperature.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 291757d17..80bcf2c41 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -468,14 +468,20 @@ void checkFanSpeed() fans_check_enabled = (eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED) > 0); static unsigned char fan_speed_errors[2] = { 0,0 }; - if (fan_speed[0] == 0 && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)) fan_speed_errors[0]++; + if ((fan_speed[0] == 0) && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)) fan_speed_errors[0]++; else fan_speed_errors[0] = 0; - if ((fan_speed[1] == 0)&& (fanSpeed > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; + if ((fan_speed[1] == 0) && (block_buffer[block_buffer_tail].fan_speed > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; else fan_speed_errors[1] = 0; - if ((fan_speed_errors[0] > 5) && fans_check_enabled) fanSpeedError(0); //extruder fan - if ((fan_speed_errors[1] > 15) && fans_check_enabled) fanSpeedError(1); //print fan + if ((fan_speed_errors[0] > 5) && fans_check_enabled) { + fan_speed_errors[0] = 0; + fanSpeedError(0); //extruder fan + } + if ((fan_speed_errors[1] > 15) && fans_check_enabled) { + fan_speed_errors[1] = 0; + fanSpeedError(1); //print fan + } } extern void stop_and_save_print_to_ram(float z_move, float e_move); From 06da2bb91595b4aee6574c9f23b1ba2645230eee Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 22 Feb 2018 20:50:34 +0100 Subject: [PATCH 048/926] Accurate homing, fix - enabled after selftest. Experimantal menu - conditional translation. --- Firmware/Configuration_prusa.h | 1 + Firmware/tmc2130.cpp | 9 +++++---- Firmware/tmc2130.h | 2 +- Firmware/ultralcd.cpp | 12 ++++++++++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index e13b87533..42f63c96e 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -135,6 +135,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #endif /* DEBUG_BUILD */ +//#define EXPERIMENTAL_FEATURES /*------------------------------------ TMC2130 default settings diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 98ae11e1e..cb6c52522 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -672,10 +672,10 @@ uint16_t tmc2130_get_res(uint8_t axis) void tmc2130_set_res(uint8_t axis, uint16_t res) { tmc2130_mres[axis] = tmc2130_usteps2mres(res); - uint32_t u = micros(); +// uint32_t u = micros(); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); - u = micros() - u; - printf_P(PSTR("tmc2130_setup_chopper %c %lu us"), "XYZE"[axis], u); +// u = micros() - u; +// printf_P(PSTR("tmc2130_setup_chopper %c %lu us"), "XYZE"[axis], u); } uint8_t tmc2130_get_pwr(uint8_t axis) @@ -948,7 +948,7 @@ uint8_t clusterize_uint8(uint8_t* data, uint8_t size, uint8_t* ccnt, uint8_t* cv return ++cl; } -void tmc2130_home_calibrate(uint8_t axis) +bool tmc2130_home_calibrate(uint8_t axis) { uint8_t step[16]; uint8_t cnt[16]; @@ -967,6 +967,7 @@ void tmc2130_home_calibrate(uint8_t axis) printf_P(PSTR("result value: %d\n"), tmc2130_home_origin[axis]); if (axis == X_AXIS) eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_ORIGIN, tmc2130_home_origin[X_AXIS]); else if (axis == Y_AXIS) eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_ORIGIN, tmc2130_home_origin[Y_AXIS]); + return true; } #endif //TMC2130 diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index ee0ce1baa..6dd9f59d1 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -119,6 +119,6 @@ extern void tmc2130_goto_step(uint8_t axis, uint8_t step, uint8_t dir, uint16_t extern void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream); extern void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200); -extern void tmc2130_home_calibrate(uint8_t axis); +extern bool tmc2130_home_calibrate(uint8_t axis); #endif //TMC2130_H \ No newline at end of file diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index aec66143a..86af480b2 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3953,6 +3953,7 @@ static void lcd_selftest_() lcd_selftest(); } +#ifdef EXPERIMENTAL_FEATURES static void lcd_experimantal_menu(); static void lcd_homing_accuracy_menu(); @@ -4164,6 +4165,7 @@ static void lcd_experimantal_menu() MENU_ITEM(submenu, PSTR("uStep linearity"), lcd_ustep_linearity_menu); END_MENU(); } +#endif //EXPERIMENTAL_FEATURES static void lcd_calibration_menu() @@ -5375,7 +5377,10 @@ static void lcd_main_menu() #endif MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu); if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu); + +#ifdef EXPERIMENTAL_FEATURES MENU_ITEM(submenu, PSTR("Experimantal"), lcd_experimantal_menu); +#endif //EXPERIMENTAL_FEATURES } if (!is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) @@ -5940,10 +5945,13 @@ static bool lcd_selftest() if (_result) { _progress = lcd_selftest_screen(13, 0, 2, true, 0); - tmc2130_home_calibrate(X_AXIS); + bool bres = tmc2130_home_calibrate(X_AXIS); _progress = lcd_selftest_screen(13, 1, 2, true, 0); - tmc2130_home_calibrate(Y_AXIS); + bres &= tmc2130_home_calibrate(Y_AXIS); _progress = lcd_selftest_screen(13, 2, 2, true, 0); + if (bres) + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, 1); + _result = bres; } if (_result) From 73b0349898fa7e905ce1195d7ae35a6e52a45d6e Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Fri, 23 Feb 2018 16:31:24 +0100 Subject: [PATCH 049/926] fix - Z movement speed in selftest conditional translation for linearity correction and variable resolution --- Firmware/Configuration_prusa.h | 4 ++++ Firmware/Marlin_main.cpp | 9 +++++++++ Firmware/tmc2130.cpp | 3 +++ Firmware/ultralcd.cpp | 2 +- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 42f63c96e..4538b226a 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -136,6 +136,10 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif /* DEBUG_BUILD */ //#define EXPERIMENTAL_FEATURES +//#define TMC2130_LINEARITY_CORRECTION +//#define TMC2130_VARIABLE_RESOLUTION + + /*------------------------------------ TMC2130 default settings diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 536c8031f..0f562e18a 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1033,6 +1033,7 @@ void setup() MYSERIAL.println("CrashDetect DISABLED"); } +#ifdef TMC2130_LINEARITY_CORRECTION tmc2130_wave_fac[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC); tmc2130_wave_fac[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC); tmc2130_wave_fac[Z_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC); @@ -1041,7 +1042,9 @@ void setup() if (tmc2130_wave_fac[Y_AXIS] == 0xff) tmc2130_wave_fac[Y_AXIS] = 0; if (tmc2130_wave_fac[Z_AXIS] == 0xff) tmc2130_wave_fac[Z_AXIS] = 0; if (tmc2130_wave_fac[E_AXIS] == 0xff) tmc2130_wave_fac[E_AXIS] = 0; +#endif //TMC2130_LINEARITY_CORRECTION +#ifdef TMC2130_VARIABLE_RESOLUTION tmc2130_mres[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_X_MRES); tmc2130_mres[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Y_MRES); tmc2130_mres[Z_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Z_MRES); @@ -1054,6 +1057,12 @@ void setup() eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Y_MRES, tmc2130_mres[Y_AXIS]); eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Z_MRES, tmc2130_mres[Z_AXIS]); eeprom_update_byte((uint8_t*)EEPROM_TMC2130_E_MRES, tmc2130_mres[E_AXIS]); +#else //TMC2130_VARIABLE_RESOLUTION + tmc2130_mres[X_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Y_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Z_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_Z); + tmc2130_mres[E_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_E); +#endif //TMC2130_VARIABLE_RESOLUTION #endif //TMC2130 diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index cb6c52522..109712bda 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -185,10 +185,13 @@ void tmc2130_init() tmc2130_sg_cnt[2] = 0; tmc2130_sg_cnt[3] = 0; +#ifdef TMC2130_LINEARITY_CORRECTION tmc2130_set_wave(X_AXIS, 247, tmc2130_wave_fac[X_AXIS]); tmc2130_set_wave(Y_AXIS, 247, tmc2130_wave_fac[Y_AXIS]); tmc2130_set_wave(Z_AXIS, 247, tmc2130_wave_fac[Z_AXIS]); tmc2130_set_wave(E_AXIS, 247, tmc2130_wave_fac[E_AXIS]); +#endif //TMC2130_LINEARITY_CORRECTION + } uint8_t tmc2130_sample_diag() diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 86af480b2..8de9e2eba 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5938,7 +5938,7 @@ static bool lcd_selftest() _result = lcd_selfcheck_axis(2, Z_MAX_POS); if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) != 1) { enquecommand_P(PSTR("G28 W")); - enquecommand_P(PSTR("G1 Z15")); + enquecommand_P(PSTR("G1 Z15 F1000")); } } From 4309c8951c5775955b4e8ebcd6f09319966cad0b Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Fri, 23 Feb 2018 17:40:16 +0100 Subject: [PATCH 050/926] fix - false fancheck error at end of print --- Firmware/temperature.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 80bcf2c41..4a56868f0 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -471,7 +471,7 @@ void checkFanSpeed() if ((fan_speed[0] == 0) && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)) fan_speed_errors[0]++; else fan_speed_errors[0] = 0; - if ((fan_speed[1] == 0) && (block_buffer[block_buffer_tail].fan_speed > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; + if ((fan_speed[1] == 0) && ((blocks_queued()?block_buffer[block_buffer_tail].fan_speed:fanSpeed) > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; else fan_speed_errors[1] = 0; if ((fan_speed_errors[0] > 5) && fans_check_enabled) { From e2b835b881cbced617afdcfafbdd06c8b0dc68ea Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 23 Feb 2018 17:53:15 +0100 Subject: [PATCH 051/926] version change --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index a0d8091a7..fc81153d9 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.1.1" -#define FW_COMMIT_NR 201 +#define FW_VERSION "3.1.2-RC1" +#define FW_COMMIT_NR 224 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN From e249e854dad078b1abce7b892a1e95a4f9ef3108 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 26 Feb 2018 18:25:47 +0100 Subject: [PATCH 052/926] dev version: print m114 coordinates when z endstop was triggered --- Firmware/Configuration_prusa.h | 2 +- Firmware/Marlin.h | 1 + Firmware/Marlin_main.cpp | 49 +++++++++++++++++-------------- Firmware/mesh_bed_calibration.cpp | 31 ++++++++++++++----- Firmware/mesh_bed_calibration.h | 1 + Firmware/stepper.cpp | 1 + 6 files changed, 55 insertions(+), 30 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 5654506e7..41df5902a 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -60,7 +60,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define X_MIN_POS 0 #define Y_MAX_POS 210 #define Y_MIN_POS -4 -#define Z_MAX_POS 200 +#define Z_MAX_POS 210 #define Z_MIN_POS 0.15 // Canceled home position diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index a576a1f26..4b2271eec 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -435,6 +435,7 @@ void force_high_power_mode(bool start_high_power_section); // G-codes bool gcode_M45(bool onlyZ, int8_t verbosity_level); +void gcode_M114(); void gcode_M701(); #define UVLO !(PINE & (1<<4)) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 3b51a67c4..d1ca24552 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1429,8 +1429,8 @@ void host_keepalive() { switch (busy_state) { case IN_HANDLER: case IN_PROCESS: - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("busy: processing"); + //SERIAL_ECHO_START; + //SERIAL_ECHOLNPGM("busy: processing"); break; case PAUSED_FOR_USER: SERIAL_ECHO_START; @@ -2276,6 +2276,29 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) return final_result; } +void gcode_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_PROTOCOLRPGM(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_PROTOCOLPGM(" E:"); + SERIAL_PROTOCOL(float(st_get_position(E_AXIS)) / axis_steps_per_unit[E_AXIS]); + + SERIAL_PROTOCOLLN(""); +} + void gcode_M701() { #ifdef SNMM @@ -4246,7 +4269,7 @@ void process_commands() KEEPALIVE_STATE(IN_HANDLER); break; -#if 0 +#if 1 case 48: // M48: scan the bed induction sensor points, print the sensor trigger coordinates to the serial line for visualization on the PC. { // Disable the default update procedure of the display. We will do a modal dialog. @@ -4908,25 +4931,7 @@ Sigma_Exit: 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_PROTOCOLRPGM(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_PROTOCOLPGM(" E:"); - SERIAL_PROTOCOL(float(st_get_position(E_AXIS))/axis_steps_per_unit[E_AXIS]); - - SERIAL_PROTOCOLLN(""); + gcode_M114(); break; case 120: // M120 enable_endstops(false) ; diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 15e4743bf..3442b5527 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -975,13 +975,26 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } } endloop: -// SERIAL_ECHOLN("First hit"); + SERIAL_ECHO("First hit"); + SERIAL_ECHO("- X: "); + MYSERIAL.print(current_position[X_AXIS]); + SERIAL_ECHO("; Y: "); + MYSERIAL.print(current_position[Y_AXIS]); + SERIAL_ECHO("; Z: "); + MYSERIAL.println(current_position[Z_AXIS]); + + //scan + //if (current_position[X_AXIS] > 100 && current_position[Y_AXIS] > 100) { + // scan(); + //} // we have to let the planner know where we are right now as it is not where we said to go. update_current_position_xyz(); // Search in this plane for the first hit. Zig-zag first in X, then in Y axis. for (int8_t iter = 0; iter < 3; ++ iter) { + SERIAL_ECHOPGM("iter: "); + MYSERIAL.println(iter); if (iter > 0) { // Slightly lower the Z axis to get a reliable trigger. current_position[Z_AXIS] -= 0.02f; @@ -998,7 +1011,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) found = false; for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); - if (endstop_z_hit_on_purpose()) { + if (endstop_z_hit_on_purpose()) { found = true; break; } @@ -1368,7 +1381,7 @@ canceled: // Searching in a zig-zag movement in a plane for the maximum width of the response. // This function may set the current_position[Y_AXIS] below Y_MIN_POS, if the function succeeded. // If this function failed, the Y coordinate will never be outside the working space. -#define IMPROVE_BED_INDUCTION_SENSOR_POINT3_SEARCH_RADIUS (4.f) +#define IMPROVE_BED_INDUCTION_SENSOR_POINT3_SEARCH_RADIUS (8.f) #define IMPROVE_BED_INDUCTION_SENSOR_POINT3_SEARCH_STEP_FINE_Y (0.1f) inline bool improve_bed_induction_sensor_point3(int verbosity_level) { @@ -2462,6 +2475,10 @@ bool sample_mesh_and_store_reference() return true; } +void scan() { + scan_bed_induction_sensor_point(); +} + bool scan_bed_induction_points(int8_t verbosity_level) { // Don't let the manage_inactivity() function remove power from the motors. @@ -2490,7 +2507,7 @@ bool scan_bed_induction_points(int8_t verbosity_level) bool endstop_z_enabled = enable_z_endstop(false); // Collect a matrix of 9x9 points. - for (int8_t mesh_point = 0; mesh_point < 9; ++ mesh_point) { + for (int8_t mesh_point = 2; mesh_point < 3; ++ mesh_point) { // Don't let the manage_inactivity() function remove power from the motors. refresh_cmd_timeout(); @@ -2501,14 +2518,14 @@ bool scan_bed_induction_points(int8_t verbosity_level) go_to_current(homing_feedrate[Z_AXIS]/60); // Go to the measurement point. // Use the coorrected coordinate, which is a result of find_bed_offset_and_skew(). - current_position[X_AXIS] = vec_x[0] * pgm_read_float(bed_ref_points+mesh_point*2) + vec_y[0] * pgm_read_float(bed_ref_points+mesh_point*2+1) + cntr[0]; - current_position[Y_AXIS] = vec_x[1] * pgm_read_float(bed_ref_points+mesh_point*2) + vec_y[1] * pgm_read_float(bed_ref_points+mesh_point*2+1) + cntr[1]; + current_position[X_AXIS] = vec_x[0] * pgm_read_float(bed_ref_points_4+mesh_point*2) + vec_y[0] * pgm_read_float(bed_ref_points_4+mesh_point*2+1) + cntr[0]; + current_position[Y_AXIS] = vec_x[1] * pgm_read_float(bed_ref_points_4+mesh_point*2) + vec_y[1] * pgm_read_float(bed_ref_points_4+mesh_point*2+1) + cntr[1]; // The calibration points are very close to the min Y. if (current_position[Y_AXIS] < Y_MIN_POS_FOR_BED_CALIBRATION) current_position[Y_AXIS] = Y_MIN_POS_FOR_BED_CALIBRATION; go_to_current(homing_feedrate[X_AXIS]/60); find_bed_induction_sensor_point_z(); - scan_bed_induction_sensor_point(); + scan_bed_induction_sensor_point(); } // Don't let the manage_inactivity() function remove power from the motors. refresh_cmd_timeout(); diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 4f6ebd724..0fa7d8757 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -172,6 +172,7 @@ extern bool is_bed_z_jitter_data_valid(); // write the trigger coordinates to the serial line. // Useful for visualizing the behavior of the bed induction detector. extern bool scan_bed_induction_points(int8_t verbosity_level); +extern void scan(); // Load Z babystep value from the EEPROM into babystepLoadZ, // but don't apply it through the planner. This is useful on wake up diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 8510daf9b..957d5ae8a 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -270,6 +270,7 @@ bool endstop_z_hit_on_purpose() { bool hit = endstop_z_hit; endstop_z_hit=false; + if (hit == true) gcode_M114(); return hit; } From 0d1cafded5596c2f8fa153d02fe75bf6d703be3c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 26 Feb 2018 19:26:49 +0100 Subject: [PATCH 053/926] dont improve position of point in first row --- Firmware/mesh_bed_calibration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 3442b5527..91dbffbc9 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -1868,7 +1868,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level #endif // SUPPORT_VERBOSITY if (!find_bed_induction_sensor_point_xy(verbosity_level)) return BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; -#if 1 +#if 0 if (k == 0 || k == 1) { // Improve the position of the 1st row sensor points by a zig-zag movement. From 85bc19b77cdb4d7f43fc2048f6fe0ceecd5e81d9 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 27 Feb 2018 17:52:13 +0100 Subject: [PATCH 054/926] force selftest if user upgraded from 3.1.2-RC1 or older fw version --- Firmware/Marlin_main.cpp | 6 ++++++ Firmware/language_all.cpp | 7 +++++++ Firmware/language_all.h | 2 ++ Firmware/language_cz.h | 1 + Firmware/language_en.h | 1 + Firmware/ultralcd.cpp | 2 +- Firmware/ultralcd.h | 2 +- Firmware/util.cpp | 24 ++++++++++++++++++++++++ Firmware/util.h | 1 + 9 files changed, 44 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 0f562e18a..198a28be0 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1273,6 +1273,12 @@ void setup() lcd_show_fullscreen_message_and_wait_P(MSG_FOLLOW_CALIBRATION_FLOW); } } + + if (force_selftest_if_fw_version() && calibration_status() < CALIBRATION_STATUS_ASSEMBLED ) { + lcd_show_fullscreen_message_and_wait_P(MSG_FORCE_SELFTEST); + update_current_firmware_version_to_eeprom(); + lcd_selftest(); + } KEEPALIVE_STATE(IN_PROCESS); #endif //DEBUG_DISABLE_STARTMSGS lcd_update_enable(true); diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index ac9b84a55..7f5e4eb74 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -779,6 +779,13 @@ const char * const MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_FOLLOW_CALIBRATION_FLOW_CZ }; +const char MSG_FORCE_SELFTEST_EN[] PROGMEM = "Selftest will be run to calibrate accurate sensorless rehoming."; +const char MSG_FORCE_SELFTEST_CZ[] PROGMEM = "Pro kalibraci presneho rehomovani bude nyni spusten selftest."; +const char * const MSG_FORCE_SELFTEST_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_FORCE_SELFTEST_EN, + MSG_FORCE_SELFTEST_CZ +}; + const char MSG_FREE_MEMORY_EN[] PROGMEM = " Free Memory: "; const char * const MSG_FREE_MEMORY_LANG_TABLE[1] PROGMEM = { MSG_FREE_MEMORY_EN diff --git a/Firmware/language_all.h b/Firmware/language_all.h index 895b9fbeb..b8da54644 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -270,6 +270,8 @@ extern const char* const MSG_FLOW2_LANG_TABLE[1]; #define MSG_FLOW2 LANG_TABLE_SELECT_EXPLICIT(MSG_FLOW2_LANG_TABLE, 0) extern const char* const MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE[LANG_NUM]; #define MSG_FOLLOW_CALIBRATION_FLOW LANG_TABLE_SELECT(MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE) +extern const char* const MSG_FORCE_SELFTEST_LANG_TABLE[LANG_NUM]; +#define MSG_FORCE_SELFTEST LANG_TABLE_SELECT(MSG_FORCE_SELFTEST_LANG_TABLE) extern const char* const MSG_FREE_MEMORY_LANG_TABLE[1]; #define MSG_FREE_MEMORY LANG_TABLE_SELECT_EXPLICIT(MSG_FREE_MEMORY_LANG_TABLE, 0) extern const char* const MSG_FSENSOR_NA_LANG_TABLE[LANG_NUM]; diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index a570b34e0..aaf9e1602 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -406,3 +406,4 @@ #define MSG_FW_VERSION_ALPHA "Pouzivate alpha verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny." #define MSG_FW_VERSION_BETA "Pouzivate beta verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny." #define MSG_FW_VERSION_RC "Tato verze firmware je release candidate. Nektere z funkci nemusi pracovat spolehlive." +#define MSG_FORCE_SELFTEST "Pro kalibraci presneho rehomovani bude nyni spusten selftest." diff --git a/Firmware/language_en.h b/Firmware/language_en.h index fd8c93104..a3ab5fb31 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -412,3 +412,4 @@ #define(length=20, lines=8) MSG_FW_VERSION_ALPHA "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage." #define(length=20, lines=8) MSG_FW_VERSION_BETA "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage." #define(length=20, lines=8) MSG_FW_VERSION_RC "This firmware version is release candidate. Some of the features may not work properly." +#define(length=20, lines=8) MSG_FORCE_SELFTEST "Selftest will be run to calibrate accurate sensorless rehoming." diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 8de9e2eba..9cd4a932d 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5842,7 +5842,7 @@ static void lcd_selftest_v() (void)lcd_selftest(); } -static bool lcd_selftest() +bool lcd_selftest() { int _progress = 0; bool _result = true; diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 0940a9d8e..53ced8a1b 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -35,7 +35,7 @@ void lcd_mylang(); bool lcd_detected(void); static void lcd_selftest_v(); - static bool lcd_selftest(); + extern bool lcd_selftest(); static bool lcd_selfcheck_endstops(); #ifdef TMC2130 diff --git a/Firmware/util.cpp b/Firmware/util.cpp index 23acbee38..8aea54ab2 100644 --- a/Firmware/util.cpp +++ b/Firmware/util.cpp @@ -239,6 +239,30 @@ inline int8_t is_provided_version_newer(const char *version_string) return 0; } +bool force_selftest_if_fw_version() +{ + //if fw version used before flashing new firmware (fw version currently stored in eeprom) is lower then 3.1.2-RC2, function returns true to force selftest + + uint16_t ver_eeprom[4]; + uint16_t ver_with_calibration[4] = {3, 1, 2, 4}; //hardcoded 3.1.2-RC2 version + bool force_selftest = false; + + ver_eeprom[0] = eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MAJOR); + ver_eeprom[1] = eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MINOR); + ver_eeprom[2] = eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_REVISION); + ver_eeprom[3] = eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_FLAVOR); + + for (uint8_t i = 0; i < 4; ++i) { + if (ver_with_calibration[i] > ver_eeprom[i]) { + force_selftest = true; + break; + } + else if (ver_with_calibration[i] < ver_eeprom[i]) + break; + } + return force_selftest; +} + bool show_upgrade_dialog_if_version_newer(const char *version_string) { uint16_t ver_gcode[4], ver_current[4]; diff --git a/Firmware/util.h b/Firmware/util.h index 52e4b6bce..7cbcb027b 100644 --- a/Firmware/util.h +++ b/Firmware/util.h @@ -18,6 +18,7 @@ enum FirmwareRevisionFlavorType }; extern bool show_upgrade_dialog_if_version_newer(const char *version_string); +extern bool force_selftest_if_fw_version(); extern void update_current_firmware_version_to_eeprom(); From 98f0efbc66a3bef9a3b364d30c232904540393f9 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 28 Feb 2018 11:09:34 +0100 Subject: [PATCH 055/926] debug --- Firmware/Configuration_prusa.h | 2 +- Firmware/mesh_bed_calibration.cpp | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 41df5902a..46c751046 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -468,6 +468,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define M600_TIMEOUT 600 //seconds -//#define SUPPORT_VERBOSITY +#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 91dbffbc9..cd0c0c8db 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -983,6 +983,10 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) SERIAL_ECHO("; Z: "); MYSERIAL.println(current_position[Z_AXIS]); + lcd_show_fullscreen_message_and_wait_P(PSTR("First hit")); + lcd_update_enable(true); + + //scan //if (current_position[X_AXIS] > 100 && current_position[Y_AXIS] > 100) { // scan(); @@ -1011,6 +1015,8 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) found = false; for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); + SERIAL_ECHOPGM("current position Z: "); + MYSERIAL.println(current_position[Z_AXIS]); if (endstop_z_hit_on_purpose()) { found = true; break; @@ -1018,7 +1024,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } update_current_position_xyz(); if (! found) { -// SERIAL_ECHOLN("Search in Y - not found"); + SERIAL_ECHOLN("Search in Y - not found"); continue; } // SERIAL_ECHOLN("Search in Y - found"); @@ -1031,14 +1037,16 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) found = false; for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); - if (endstop_z_hit_on_purpose()) { + SERIAL_ECHOPGM("current position Z: "); + MYSERIAL.println(current_position[Z_AXIS]); + if (endstop_z_hit_on_purpose()) { found = true; break; } } update_current_position_xyz(); if (! found) { -// SERIAL_ECHOLN("Search in Y2 - not found"); + SERIAL_ECHOLN("Search in Y2 - not found"); continue; } // SERIAL_ECHOLN("Search in Y2 - found"); From fb8a28d1208cb03d824577d9ea6b1ef44952e585 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 1 Mar 2018 14:34:21 +0100 Subject: [PATCH 056/926] bugfix - beltstatus overflow --- Firmware/tmc2130.cpp | 2 +- Firmware/tmc2130.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 109712bda..58f84cf43 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -50,7 +50,7 @@ uint8_t tmc2130_sg_thr_home[4] = {3, 3, TMC2130_SG_THRS_Z, TMC2130_SG_THRS_E}; uint8_t sg_homing_axes_mask = 0x00; uint8_t tmc2130_sg_meassure = 0xff; -uint16_t tmc2130_sg_meassure_cnt = 0; +uint32_t tmc2130_sg_meassure_cnt = 0; uint32_t tmc2130_sg_meassure_val = 0; uint8_t tmc2130_home_enabled = 0; diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index 6dd9f59d1..4f93a0c37 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -17,7 +17,7 @@ extern bool tmc2130_sg_stop_on_crash; extern uint8_t tmc2130_sg_crash; //crash mask extern uint8_t tmc2130_sg_meassure; -extern uint16_t tmc2130_sg_meassure_cnt; +extern uint32_t tmc2130_sg_meassure_cnt; extern uint32_t tmc2130_sg_meassure_val; #define TMC2130_MODE_NORMAL 0 From 1f2c4fc5ad233a31775e16928189cacc63c7610a Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 1 Mar 2018 15:52:53 +0100 Subject: [PATCH 057/926] version changed --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index fc81153d9..4eb4270c4 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.1.2-RC1" -#define FW_COMMIT_NR 224 +#define FW_VERSION "3.1.2" +#define FW_COMMIT_NR 231 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN From 15a7699fe0263d21e7c79e92030516fe38196481 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Sat, 3 Mar 2018 20:05:43 +0100 Subject: [PATCH 058/926] max error for searching in xy --- Firmware/mesh_bed_calibration.cpp | 89 +++++++++++++++++++++++++------ Firmware/stepper.cpp | 2 +- 2 files changed, 73 insertions(+), 18 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index cd0c0c8db..baad04abd 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -904,7 +904,9 @@ error: #define FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS (8.f) #define FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS (4.f) #define FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP (1.f) -#define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (0.2f) +#define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (2.f) +#define FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR (0.01f) + inline bool find_bed_induction_sensor_point_xy(int verbosity_level) { #ifdef SUPPORT_VERBOSITY @@ -948,33 +950,70 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) enable_endstops(false); bool dir_positive = true; + float z_error = 2 * FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP; + float find_bed_induction_sensor_point_z_step = FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP; + float initial_z_position = current_position[Z_AXIS]; // go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); go_xyz(x0, y0, current_position[Z_AXIS], feedrate); // Continously lower the Z axis. endstops_hit_on_purpose(); enable_z_endstop(true); - while (current_position[Z_AXIS] > -10.f) { + while (current_position[Z_AXIS] > -10.f && z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { // Do nsteps_y zig-zag movements. + /*SERIAL_ECHOLNPGM("---------------"); + SERIAL_ECHOPGM("Y coordinate:"); + MYSERIAL.println(current_position[Y_AXIS]); + SERIAL_ECHOPGM("Z coordinate:"); + MYSERIAL.println(current_position[Z_AXIS]);*/ + SERIAL_ECHOPGM("z_error: "); + MYSERIAL.println(z_error); current_position[Y_AXIS] = y0; - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { + initial_z_position = current_position[Z_AXIS]; + for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = ! dir_positive; - if (endstop_z_hit_on_purpose()) - goto endloop; + if (endstop_z_hit_on_purpose()) { + update_current_position_xyz(); + z_error = 2 * (initial_z_position - current_position[Z_AXIS]); + if (z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { + find_bed_induction_sensor_point_z_step = z_error / 2; + current_position[Z_AXIS] += z_error; + enable_z_endstop(false); + go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + enable_z_endstop(true); + } + goto endloop; + } } - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { + initial_z_position = current_position[Z_AXIS]; + for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = ! dir_positive; - if (endstop_z_hit_on_purpose()) - goto endloop; + if (endstop_z_hit_on_purpose()) { + update_current_position_xyz(); + z_error = 2 * (initial_z_position - current_position[Z_AXIS]); + if (z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { + find_bed_induction_sensor_point_z_step = z_error / 2; + current_position[Z_AXIS] += z_error; + enable_z_endstop(false); + go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + enable_z_endstop(true); + } + goto endloop; + } } + endloop: ; + /*SERIAL_ECHOPGM("Y coordinate:"); + MYSERIAL.println(current_position[Y_AXIS]); + SERIAL_ECHOPGM("Z coordinate:"); + MYSERIAL.println(current_position[Z_AXIS]);*/ } - endloop: + // endloop: SERIAL_ECHO("First hit"); SERIAL_ECHO("- X: "); MYSERIAL.print(current_position[X_AXIS]); @@ -995,16 +1034,19 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) // we have to let the planner know where we are right now as it is not where we said to go. update_current_position_xyz(); + // Search in this plane for the first hit. Zig-zag first in X, then in Y axis. - for (int8_t iter = 0; iter < 3; ++ iter) { + for (int8_t iter = 0; iter < 9; ++ iter) { SERIAL_ECHOPGM("iter: "); MYSERIAL.println(iter); if (iter > 0) { // Slightly lower the Z axis to get a reliable trigger. - current_position[Z_AXIS] -= 0.02f; + current_position[Z_AXIS] -= 0.005f; go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); } + SERIAL_ECHOPGM("current_position[Z_AXIS]: "); + MYSERIAL.println(current_position[Z_AXIS]); // Do nsteps_y zig-zag movements. float a, b; enable_endstops(false); @@ -1015,8 +1057,8 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) found = false; for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); - SERIAL_ECHOPGM("current position Z: "); - MYSERIAL.println(current_position[Z_AXIS]); + //SERIAL_ECHOPGM("current position Z: "); + //MYSERIAL.println(current_position[Z_AXIS]); if (endstop_z_hit_on_purpose()) { found = true; break; @@ -1028,6 +1070,8 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) continue; } // SERIAL_ECHOLN("Search in Y - found"); + lcd_show_fullscreen_message_and_wait_P(PSTR("first Y1 found")); + lcd_update_enable(true); a = current_position[Y_AXIS]; enable_z_endstop(false); @@ -1049,6 +1093,8 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) SERIAL_ECHOLN("Search in Y2 - not found"); continue; } + lcd_show_fullscreen_message_and_wait_P(PSTR("first Y2 found")); + lcd_update_enable(true); // SERIAL_ECHOLN("Search in Y2 - found"); b = current_position[Y_AXIS]; current_position[Y_AXIS] = 0.5f * (a + b); @@ -1058,23 +1104,27 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) enable_z_endstop(false); go_xy(x0, current_position[Y_AXIS], feedrate); enable_z_endstop(true); - go_xy(x1, current_position[Y_AXIS], feedrate); + go_xy(x1, current_position[Y_AXIS], feedrate/10); update_current_position_xyz(); if (! endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search X span 0 - not found"); continue; } + lcd_show_fullscreen_message_and_wait_P(PSTR("X1 found")); + lcd_update_enable(true); // SERIAL_ECHOLN("Search X span 0 - found"); a = current_position[X_AXIS]; enable_z_endstop(false); go_xy(x1, current_position[Y_AXIS], feedrate); enable_z_endstop(true); - go_xy(x0, current_position[Y_AXIS], feedrate); + go_xy(x0, current_position[Y_AXIS], feedrate/10); update_current_position_xyz(); if (! endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search X span 1 - not found"); continue; } + lcd_show_fullscreen_message_and_wait_P(PSTR("X2 found")); + lcd_update_enable(true); // SERIAL_ECHOLN("Search X span 1 - found"); b = current_position[X_AXIS]; // Go to the center. @@ -1095,6 +1145,8 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) // SERIAL_ECHOLN("Search Y2 span 0 - not found"); continue; } + lcd_show_fullscreen_message_and_wait_P(PSTR("Y1 found")); + lcd_update_enable(true); // SERIAL_ECHOLN("Search Y2 span 0 - found"); a = current_position[Y_AXIS]; enable_z_endstop(false); @@ -1108,6 +1160,9 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } // SERIAL_ECHOLN("Search Y2 span 1 - found"); b = current_position[Y_AXIS]; + lcd_show_fullscreen_message_and_wait_P(PSTR("Y2 found")); + lcd_update_enable(true); + // Go to the center. enable_z_endstop(false); current_position[Y_AXIS] = 0.5f * (a + b); diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 957d5ae8a..19283ff0c 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -270,7 +270,7 @@ bool endstop_z_hit_on_purpose() { bool hit = endstop_z_hit; endstop_z_hit=false; - if (hit == true) gcode_M114(); + //if (hit == true) gcode_M114(); return hit; } From ad702c6d1f145de96503b9ec820531e59df5b629 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Sun, 4 Mar 2018 20:21:31 +0100 Subject: [PATCH 059/926] improved algorithm for first hit, improving sensor point changed, just one calibration round for 4point heatbed (no second run for improving measured coordinates) --- Firmware/Marlin_main.cpp | 2 + Firmware/mesh_bed_calibration.cpp | 572 ++++++++++++++++++++---------- Firmware/stepper.cpp | 12 +- Firmware/stepper.h | 1 + 4 files changed, 391 insertions(+), 196 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d1ca24552..c553badad 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2228,6 +2228,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); + #ifndef HEATBED_V2 if (result >= 0) { point_too_far_mask = 0; @@ -2246,6 +2247,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) st_synchronize(); // if (result >= 0) babystep_apply(); } + #endif //HEATBED_V2 lcd_bed_calibration_show_result(result, point_too_far_mask); if (result >= 0) { diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index baad04abd..996839c7b 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -907,21 +907,22 @@ error: #define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (2.f) #define FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR (0.01f) +#ifdef HEATBED_V2 inline bool find_bed_induction_sensor_point_xy(int verbosity_level) { #ifdef SUPPORT_VERBOSITY - if(verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); + if (verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); #endif // SUPPORT_VERBOSITY float feedrate = homing_feedrate[X_AXIS] / 60.f; - bool found = false; + bool found = false; - { - float x0 = current_position[X_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; - float x1 = current_position[X_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; - float y0 = current_position[Y_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; - float y1 = current_position[Y_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; - uint8_t nsteps_y; - uint8_t i; + { + float x0 = current_position[X_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float x1 = current_position[X_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float y0 = current_position[Y_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + float y1 = current_position[Y_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + uint8_t nsteps_y; + uint8_t i; if (x0 < X_MIN_POS) { x0 = X_MIN_POS; #ifdef SUPPORT_VERBOSITY @@ -946,35 +947,31 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) if (verbosity_level >= 20) SERIAL_ECHOLNPGM("Y searching radius higher than X_MAX. Clamping was done."); #endif // SUPPORT_VERBOSITY } - nsteps_y = int(ceil((y1 - y0) / FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP)); + nsteps_y = int(ceil((y1 - y0) / FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP)); - enable_endstops(false); - bool dir_positive = true; + enable_endstops(false); + bool dir_positive = true; float z_error = 2 * FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP; float find_bed_induction_sensor_point_z_step = FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP; float initial_z_position = current_position[Z_AXIS]; -// go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); - go_xyz(x0, y0, current_position[Z_AXIS], feedrate); - // Continously lower the Z axis. - endstops_hit_on_purpose(); - enable_z_endstop(true); - while (current_position[Z_AXIS] > -10.f && z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { - // Do nsteps_y zig-zag movements. - /*SERIAL_ECHOLNPGM("---------------"); - SERIAL_ECHOPGM("Y coordinate:"); - MYSERIAL.println(current_position[Y_AXIS]); - SERIAL_ECHOPGM("Z coordinate:"); - MYSERIAL.println(current_position[Z_AXIS]);*/ - SERIAL_ECHOPGM("z_error: "); - MYSERIAL.println(z_error); - current_position[Y_AXIS] = y0; + // go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); + go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + // Continously lower the Z axis. + endstops_hit_on_purpose(); + enable_z_endstop(true); + while (current_position[Z_AXIS] > -10.f && z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { + // Do nsteps_y zig-zag movements. + + //SERIAL_ECHOPGM("z_error: "); + //MYSERIAL.println(z_error); + current_position[Y_AXIS] = y0; initial_z_position = current_position[Z_AXIS]; - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { - // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); - go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); - dir_positive = ! dir_positive; + for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; if (endstop_z_hit_on_purpose()) { update_current_position_xyz(); z_error = 2 * (initial_z_position - current_position[Z_AXIS]); @@ -987,13 +984,13 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } goto endloop; } - } + } initial_z_position = current_position[Z_AXIS]; - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { - // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); - go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); - dir_positive = ! dir_positive; + for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; if (endstop_z_hit_on_purpose()) { update_current_position_xyz(); z_error = 2 * (initial_z_position - current_position[Z_AXIS]); @@ -1006,177 +1003,356 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } goto endloop; } - } - endloop: ; - /*SERIAL_ECHOPGM("Y coordinate:"); - MYSERIAL.println(current_position[Y_AXIS]); - SERIAL_ECHOPGM("Z coordinate:"); - MYSERIAL.println(current_position[Z_AXIS]);*/ - } - // endloop: - SERIAL_ECHO("First hit"); - SERIAL_ECHO("- X: "); - MYSERIAL.print(current_position[X_AXIS]); - SERIAL_ECHO("; Y: "); - MYSERIAL.print(current_position[Y_AXIS]); - SERIAL_ECHO("; Z: "); - MYSERIAL.println(current_position[Z_AXIS]); + } + endloop:; + } + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + SERIAL_ECHO("First hit"); + SERIAL_ECHO("- X: "); + MYSERIAL.print(current_position[X_AXIS]); + SERIAL_ECHO("; Y: "); + MYSERIAL.print(current_position[Y_AXIS]); + SERIAL_ECHO("; Z: "); + MYSERIAL.println(current_position[Z_AXIS]); + } + #endif //SUPPORT_VERBOSITY + //lcd_show_fullscreen_message_and_wait_P(PSTR("First hit")); + //lcd_update_enable(true); - lcd_show_fullscreen_message_and_wait_P(PSTR("First hit")); - lcd_update_enable(true); + float init_x_position = current_position[X_AXIS]; + float init_y_position = current_position[Y_AXIS]; - - //scan - //if (current_position[X_AXIS] > 100 && current_position[Y_AXIS] > 100) { - // scan(); - //} - - // we have to let the planner know where we are right now as it is not where we said to go. - update_current_position_xyz(); - - - // Search in this plane for the first hit. Zig-zag first in X, then in Y axis. - for (int8_t iter = 0; iter < 9; ++ iter) { - SERIAL_ECHOPGM("iter: "); + // we have to let the planner know where we are right now as it is not where we said to go. + update_current_position_xyz(); + enable_z_endstop(false); + + for (int8_t iter = 0; iter < 2; ++iter) { + /*SERIAL_ECHOPGM("iter: "); MYSERIAL.println(iter); - if (iter > 0) { - // Slightly lower the Z axis to get a reliable trigger. - current_position[Z_AXIS] -= 0.005f; - go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); - } + SERIAL_ECHOPGM("1 - current_position[Z_AXIS]: "); + MYSERIAL.println(current_position[Z_AXIS]);*/ - SERIAL_ECHOPGM("current_position[Z_AXIS]: "); - MYSERIAL.println(current_position[Z_AXIS]); - // Do nsteps_y zig-zag movements. - float a, b; - enable_endstops(false); - enable_z_endstop(false); - current_position[Y_AXIS] = y0; - go_xy(x0, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - found = false; - for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { - go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); - //SERIAL_ECHOPGM("current position Z: "); - //MYSERIAL.println(current_position[Z_AXIS]); - if (endstop_z_hit_on_purpose()) { - found = true; - break; - } - } - update_current_position_xyz(); - if (! found) { - SERIAL_ECHOLN("Search in Y - not found"); - continue; - } -// SERIAL_ECHOLN("Search in Y - found"); - lcd_show_fullscreen_message_and_wait_P(PSTR("first Y1 found")); + // Slightly lower the Z axis to get a reliable trigger. + current_position[Z_AXIS] -= 0.05f; + go_xyz(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], homing_feedrate[Z_AXIS] / (60 * 10)); + + SERIAL_ECHOPGM("2 - current_position[Z_AXIS]: "); + MYSERIAL.println(current_position[Z_AXIS]); + // Do nsteps_y zig-zag movements. + float a, b; + float avg[2] = { 0,0 }; + + for (int iteration = 0; iteration < 8; iteration++) { + + found = false; + enable_z_endstop(true, true); + go_xy(x0, current_position[Y_AXIS], feedrate / 3); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 0 - not found"); + continue; + } + + //lcd_show_fullscreen_message_and_wait_P(PSTR("X1 found")); + //lcd_update_enable(true); + // SERIAL_ECHOLN("Search X span 0 - found"); + a = current_position[X_AXIS]; + enable_z_endstop(false); + go_xy(init_x_position, current_position[Y_AXIS], feedrate / 3); + enable_z_endstop(true); + go_xy(x1, current_position[Y_AXIS], feedrate / 3); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 1 - not found"); + continue; + } + //lcd_show_fullscreen_message_and_wait_P(PSTR("X2 found")); + //lcd_update_enable(true); + // SERIAL_ECHOLN("Search X span 1 - found"); + b = current_position[X_AXIS]; + // Go to the center. + enable_z_endstop(false); + current_position[X_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 3); + found = true; + + // Search in the Y direction along a cross. + found = false; + enable_z_endstop(true); + go_xy(current_position[X_AXIS], y0, feedrate / 3); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 0 - not found"); + continue; + } + //lcd_show_fullscreen_message_and_wait_P(PSTR("Y1 found")); + //lcd_update_enable(true); + // SERIAL_ECHOLN("Search Y2 span 0 - found"); + a = current_position[Y_AXIS]; + enable_z_endstop(false); + go_xy(current_position[X_AXIS], init_y_position, feedrate / 3); + enable_z_endstop(true); + go_xy(current_position[X_AXIS], y1, feedrate / 3); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 1 - not found"); + continue; + } + // SERIAL_ECHOLN("Search Y2 span 1 - found"); + b = current_position[Y_AXIS]; + //lcd_show_fullscreen_message_and_wait_P(PSTR("Y2 found")); + //lcd_update_enable(true); + + // Go to the center. + enable_z_endstop(false, false); + current_position[Y_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 3); + + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + SERIAL_ECHOPGM("ITERATION: "); + MYSERIAL.println(iteration); + SERIAL_ECHOPGM("CURRENT POSITION X: "); + MYSERIAL.println(current_position[X_AXIS]); + SERIAL_ECHOPGM("CURRENT POSITION Y: "); + MYSERIAL.println(current_position[Y_AXIS]); + } + #endif //SUPPORT_VERBOSITY + + if (iteration > 3) { + // Average the last 4 measurements. + avg[X_AXIS] += current_position[X_AXIS]; + avg[Y_AXIS] += current_position[Y_AXIS]; + } + + found = true; + + } + avg[X_AXIS] *= (1.f / 4.f); + avg[Y_AXIS] *= (1.f / 4.f); + + current_position[X_AXIS] = avg[X_AXIS]; + current_position[Y_AXIS] = avg[Y_AXIS]; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + SERIAL_ECHOPGM("AVG CURRENT POSITION X: "); + MYSERIAL.println(current_position[X_AXIS]); + SERIAL_ECHOPGM("AVG CURRENT POSITION Y: "); + MYSERIAL.println(current_position[Y_AXIS]); + } + #endif // SUPPORT_VERBOSITY + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); + lcd_show_fullscreen_message_and_wait_P(PSTR("Final position")); lcd_update_enable(true); - a = current_position[Y_AXIS]; - enable_z_endstop(false); - current_position[Y_AXIS] = y1; - go_xy(x0, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - found = false; - for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { - go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); - SERIAL_ECHOPGM("current position Z: "); - MYSERIAL.println(current_position[Z_AXIS]); + break; + } + } + + enable_z_endstop(false); + return found; + +} +#else //HEATBED_V2 +inline bool find_bed_induction_sensor_point_xy(int verbosity_level) +{ + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); + #endif // SUPPORT_VERBOSITY + float feedrate = homing_feedrate[X_AXIS] / 60.f; + bool found = false; + + { + float x0 = current_position[X_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float x1 = current_position[X_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float y0 = current_position[Y_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + float y1 = current_position[Y_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + uint8_t nsteps_y; + uint8_t i; + if (x0 < X_MIN_POS) { + x0 = X_MIN_POS; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("X searching radius lower than X_MIN. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + if (x1 > X_MAX_POS) { + x1 = X_MAX_POS; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("X searching radius higher than X_MAX. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + if (y0 < Y_MIN_POS_FOR_BED_CALIBRATION) { + y0 = Y_MIN_POS_FOR_BED_CALIBRATION; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("Y searching radius lower than Y_MIN. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + if (y1 > Y_MAX_POS) { + y1 = Y_MAX_POS; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("Y searching radius higher than X_MAX. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + nsteps_y = int(ceil((y1 - y0) / FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP)); + + enable_endstops(false); + bool dir_positive = true; + + // go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); + go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + // Continously lower the Z axis. + endstops_hit_on_purpose(); + enable_z_endstop(true); + while (current_position[Z_AXIS] > -10.f) { + // Do nsteps_y zig-zag movements. + current_position[Y_AXIS] = y0; + for (i = 0; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; + if (endstop_z_hit_on_purpose()) + goto endloop; + } + for (i = 0; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; + if (endstop_z_hit_on_purpose()) + goto endloop; + } + } + endloop: + // SERIAL_ECHOLN("First hit"); + + // we have to let the planner know where we are right now as it is not where we said to go. + update_current_position_xyz(); + + // Search in this plane for the first hit. Zig-zag first in X, then in Y axis. + for (int8_t iter = 0; iter < 3; ++iter) { + if (iter > 0) { + // Slightly lower the Z axis to get a reliable trigger. + current_position[Z_AXIS] -= 0.02f; + go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS] / 60); + } + + // Do nsteps_y zig-zag movements. + float a, b; + enable_endstops(false); + enable_z_endstop(false); + current_position[Y_AXIS] = y0; + go_xy(x0, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + found = false; + for (i = 0, dir_positive = true; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++i, dir_positive = !dir_positive) { + go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); if (endstop_z_hit_on_purpose()) { - found = true; - break; - } - } - update_current_position_xyz(); - if (! found) { - SERIAL_ECHOLN("Search in Y2 - not found"); - continue; - } - lcd_show_fullscreen_message_and_wait_P(PSTR("first Y2 found")); - lcd_update_enable(true); -// SERIAL_ECHOLN("Search in Y2 - found"); - b = current_position[Y_AXIS]; - current_position[Y_AXIS] = 0.5f * (a + b); + found = true; + break; + } + } + update_current_position_xyz(); + if (!found) { + // SERIAL_ECHOLN("Search in Y - not found"); + continue; + } + // SERIAL_ECHOLN("Search in Y - found"); + a = current_position[Y_AXIS]; - // Search in the X direction along a cross. - found = false; - enable_z_endstop(false); - go_xy(x0, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - go_xy(x1, current_position[Y_AXIS], feedrate/10); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search X span 0 - not found"); - continue; - } - lcd_show_fullscreen_message_and_wait_P(PSTR("X1 found")); - lcd_update_enable(true); -// SERIAL_ECHOLN("Search X span 0 - found"); - a = current_position[X_AXIS]; - enable_z_endstop(false); - go_xy(x1, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - go_xy(x0, current_position[Y_AXIS], feedrate/10); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search X span 1 - not found"); - continue; - } - lcd_show_fullscreen_message_and_wait_P(PSTR("X2 found")); - lcd_update_enable(true); -// SERIAL_ECHOLN("Search X span 1 - found"); - b = current_position[X_AXIS]; - // Go to the center. - enable_z_endstop(false); - current_position[X_AXIS] = 0.5f * (a + b); - go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); - found = true; + enable_z_endstop(false); + current_position[Y_AXIS] = y1; + go_xy(x0, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + found = false; + for (i = 0, dir_positive = true; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++i, dir_positive = !dir_positive) { + go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); + if (endstop_z_hit_on_purpose()) { + found = true; + break; + } + } + update_current_position_xyz(); + if (!found) { + // SERIAL_ECHOLN("Search in Y2 - not found"); + continue; + } + // SERIAL_ECHOLN("Search in Y2 - found"); + b = current_position[Y_AXIS]; + current_position[Y_AXIS] = 0.5f * (a + b); + + // Search in the X direction along a cross. + found = false; + enable_z_endstop(false); + go_xy(x0, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + go_xy(x1, current_position[Y_AXIS], feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 0 - not found"); + continue; + } + // SERIAL_ECHOLN("Search X span 0 - found"); + a = current_position[X_AXIS]; + enable_z_endstop(false); + go_xy(x1, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + go_xy(x0, current_position[Y_AXIS], feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 1 - not found"); + continue; + } + // SERIAL_ECHOLN("Search X span 1 - found"); + b = current_position[X_AXIS]; + // Go to the center. + enable_z_endstop(false); + current_position[X_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); + found = true; #if 1 - // Search in the Y direction along a cross. - found = false; - enable_z_endstop(false); - go_xy(current_position[X_AXIS], y0, feedrate); - enable_z_endstop(true); - go_xy(current_position[X_AXIS], y1, feedrate); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search Y2 span 0 - not found"); - continue; - } - lcd_show_fullscreen_message_and_wait_P(PSTR("Y1 found")); - lcd_update_enable(true); -// SERIAL_ECHOLN("Search Y2 span 0 - found"); - a = current_position[Y_AXIS]; - enable_z_endstop(false); - go_xy(current_position[X_AXIS], y1, feedrate); - enable_z_endstop(true); - go_xy(current_position[X_AXIS], y0, feedrate); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search Y2 span 1 - not found"); - continue; - } -// SERIAL_ECHOLN("Search Y2 span 1 - found"); - b = current_position[Y_AXIS]; - lcd_show_fullscreen_message_and_wait_P(PSTR("Y2 found")); - lcd_update_enable(true); - - // Go to the center. - enable_z_endstop(false); - current_position[Y_AXIS] = 0.5f * (a + b); - go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); - found = true; + // Search in the Y direction along a cross. + found = false; + enable_z_endstop(false); + go_xy(current_position[X_AXIS], y0, feedrate); + enable_z_endstop(true); + go_xy(current_position[X_AXIS], y1, feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 0 - not found"); + continue; + } + // SERIAL_ECHOLN("Search Y2 span 0 - found"); + a = current_position[Y_AXIS]; + enable_z_endstop(false); + go_xy(current_position[X_AXIS], y1, feedrate); + enable_z_endstop(true); + go_xy(current_position[X_AXIS], y0, feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 1 - not found"); + continue; + } + // SERIAL_ECHOLN("Search Y2 span 1 - found"); + b = current_position[Y_AXIS]; + // Go to the center. + enable_z_endstop(false); + current_position[Y_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); + found = true; #endif - break; - } - } + break; + } + } - enable_z_endstop(false); - return found; + enable_z_endstop(false); + return found; } +#endif //HEATBED_V2 + // Search around the current_position[X,Y,Z]. // It is expected, that the induction sensor is switched on at the current position. // Look around this center point by painting a star around the point. @@ -2211,6 +2387,9 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8 // by a cross center method. // Use a zig-zag search for the first row of the points. found = improve_bed_induction_sensor_point3(verbosity_level); + //found = improve_bed_induction_sensor_point2(mesh_point < 2, verbosity_level); + SERIAL_ECHOPGM("ITER: "); + SERIAL_ECHO(iter); } else { switch (method) { case 0: found = improve_bed_induction_sensor_point(); break; @@ -2219,6 +2398,9 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8 } } if (found) { + lcd_show_fullscreen_message_and_wait_P(PSTR("found")); + lcd_update_enable(true); + if (iter > 3) { // Average the last 4 measurements. pts[mesh_point*2 ] += current_position[X_AXIS]; diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 19283ff0c..29d4c84ce 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -98,6 +98,7 @@ static bool old_z_max_endstop=false; static bool check_endstops = true; static bool check_z_endstop = false; +static bool z_endstop_invert = false; int8_t SilentMode = 0; @@ -283,6 +284,15 @@ bool enable_endstops(bool check) bool enable_z_endstop(bool check) { + bool old = check_z_endstop; + check_z_endstop = check; + endstop_z_hit = false; + return old; +} + +bool enable_z_endstop(bool check, bool endstop_invert) +{ + z_endstop_invert = endstop_invert; bool old = check_z_endstop; check_z_endstop = check; endstop_z_hit=false; @@ -606,7 +616,7 @@ void isr() { // Stall guard homing turned on z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); #else - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert); #endif //TMC2130_SG_HOMING if(z_min_endstop && old_z_min_endstop) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; diff --git a/Firmware/stepper.h b/Firmware/stepper.h index 2fdec2d6c..915483feb 100644 --- a/Firmware/stepper.h +++ b/Firmware/stepper.h @@ -93,6 +93,7 @@ bool endstop_z_hit_on_purpose(); bool enable_endstops(bool check); // Enable/disable endstop checking. Return the old value. bool enable_z_endstop(bool check); +bool enable_z_endstop(bool check, bool endstop_invert); void checkStepperErrors(); //Print errors detected by the stepper From 8800793dd16b6ae51593275f3f5907517a0b3e05 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Sun, 4 Mar 2018 20:49:34 +0100 Subject: [PATCH 060/926] removing debug code --- Firmware/Marlin_main.cpp | 6 +++--- Firmware/mesh_bed_calibration.cpp | 22 ++++++++-------------- Firmware/mesh_bed_calibration.h | 1 - Firmware/stepper.cpp | 9 ++------- Firmware/stepper.h | 2 +- 5 files changed, 14 insertions(+), 26 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c553badad..c1e627f4f 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1429,8 +1429,8 @@ void host_keepalive() { switch (busy_state) { case IN_HANDLER: case IN_PROCESS: - //SERIAL_ECHO_START; - //SERIAL_ECHOLNPGM("busy: processing"); + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("busy: processing"); break; case PAUSED_FOR_USER: SERIAL_ECHO_START; @@ -4271,7 +4271,7 @@ void process_commands() KEEPALIVE_STATE(IN_HANDLER); break; -#if 1 +#if 0 case 48: // M48: scan the bed induction sensor points, print the sensor trigger coordinates to the serial line for visualization on the PC. { // Disable the default update procedure of the display. We will do a modal dialog. diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 996839c7b..9f6999bf6 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -904,8 +904,12 @@ error: #define FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS (8.f) #define FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS (4.f) #define FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP (1.f) +#ifdef HEATBED_V2 #define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (2.f) #define FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR (0.01f) +#else //HEATBED_V2 +#define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (0.2f) +#endif //HEATBED_V2 #ifdef HEATBED_V2 inline bool find_bed_induction_sensor_point_xy(int verbosity_level) @@ -2107,7 +2111,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level #endif // SUPPORT_VERBOSITY if (!find_bed_induction_sensor_point_xy(verbosity_level)) return BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; -#if 0 +#if 1 if (k == 0 || k == 1) { // Improve the position of the 1st row sensor points by a zig-zag movement. @@ -2387,9 +2391,6 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8 // by a cross center method. // Use a zig-zag search for the first row of the points. found = improve_bed_induction_sensor_point3(verbosity_level); - //found = improve_bed_induction_sensor_point2(mesh_point < 2, verbosity_level); - SERIAL_ECHOPGM("ITER: "); - SERIAL_ECHO(iter); } else { switch (method) { case 0: found = improve_bed_induction_sensor_point(); break; @@ -2398,9 +2399,6 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8 } } if (found) { - lcd_show_fullscreen_message_and_wait_P(PSTR("found")); - lcd_update_enable(true); - if (iter > 3) { // Average the last 4 measurements. pts[mesh_point*2 ] += current_position[X_AXIS]; @@ -2720,10 +2718,6 @@ bool sample_mesh_and_store_reference() return true; } -void scan() { - scan_bed_induction_sensor_point(); -} - bool scan_bed_induction_points(int8_t verbosity_level) { // Don't let the manage_inactivity() function remove power from the motors. @@ -2752,7 +2746,7 @@ bool scan_bed_induction_points(int8_t verbosity_level) bool endstop_z_enabled = enable_z_endstop(false); // Collect a matrix of 9x9 points. - for (int8_t mesh_point = 2; mesh_point < 3; ++ mesh_point) { + for (int8_t mesh_point = 0; mesh_point < 9; ++ mesh_point) { // Don't let the manage_inactivity() function remove power from the motors. refresh_cmd_timeout(); @@ -2763,8 +2757,8 @@ bool scan_bed_induction_points(int8_t verbosity_level) go_to_current(homing_feedrate[Z_AXIS]/60); // Go to the measurement point. // Use the coorrected coordinate, which is a result of find_bed_offset_and_skew(). - current_position[X_AXIS] = vec_x[0] * pgm_read_float(bed_ref_points_4+mesh_point*2) + vec_y[0] * pgm_read_float(bed_ref_points_4+mesh_point*2+1) + cntr[0]; - current_position[Y_AXIS] = vec_x[1] * pgm_read_float(bed_ref_points_4+mesh_point*2) + vec_y[1] * pgm_read_float(bed_ref_points_4+mesh_point*2+1) + cntr[1]; + current_position[X_AXIS] = vec_x[0] * pgm_read_float(bed_ref_points+mesh_point*2) + vec_y[0] * pgm_read_float(bed_ref_points+mesh_point*2+1) + cntr[0]; + current_position[Y_AXIS] = vec_x[1] * pgm_read_float(bed_ref_points+mesh_point*2) + vec_y[1] * pgm_read_float(bed_ref_points+mesh_point*2+1) + cntr[1]; // The calibration points are very close to the min Y. if (current_position[Y_AXIS] < Y_MIN_POS_FOR_BED_CALIBRATION) current_position[Y_AXIS] = Y_MIN_POS_FOR_BED_CALIBRATION; diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 0fa7d8757..4f6ebd724 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -172,7 +172,6 @@ extern bool is_bed_z_jitter_data_valid(); // write the trigger coordinates to the serial line. // Useful for visualizing the behavior of the bed induction detector. extern bool scan_bed_induction_points(int8_t verbosity_level); -extern void scan(); // Load Z babystep value from the EEPROM into babystepLoadZ, // but don't apply it through the planner. This is useful on wake up diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 29d4c84ce..27c200817 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -271,7 +271,6 @@ bool endstop_z_hit_on_purpose() { bool hit = endstop_z_hit; endstop_z_hit=false; - //if (hit == true) gcode_M114(); return hit; } @@ -290,13 +289,9 @@ bool enable_z_endstop(bool check) return old; } -bool enable_z_endstop(bool check, bool endstop_invert) +void invert_z_endstop(bool endstop_invert) { z_endstop_invert = endstop_invert; - bool old = check_z_endstop; - check_z_endstop = check; - endstop_z_hit=false; - return old; } // __________________________ @@ -614,7 +609,7 @@ void isr() { // Good for searching for the center of an induction target. #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); + z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert) || (READ(Z_TMC2130_DIAG) != 0); #else z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert); #endif //TMC2130_SG_HOMING diff --git a/Firmware/stepper.h b/Firmware/stepper.h index 915483feb..3c1e6ffed 100644 --- a/Firmware/stepper.h +++ b/Firmware/stepper.h @@ -93,7 +93,7 @@ bool endstop_z_hit_on_purpose(); bool enable_endstops(bool check); // Enable/disable endstop checking. Return the old value. bool enable_z_endstop(bool check); -bool enable_z_endstop(bool check, bool endstop_invert); +void invert_z_endstop(bool endstop_invert); void checkStepperErrors(); //Print errors detected by the stepper From f1410a37f2b3faa3a770919ef166c9d9785f4d8c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Sun, 4 Mar 2018 23:49:54 +0100 Subject: [PATCH 061/926] samle z after xyz cal. added, find_point_xy: initial z coordinate after first hit lowered --- Firmware/Marlin_main.cpp | 10 +++-- Firmware/mesh_bed_calibration.cpp | 66 ++++++++++++++++++------------- Firmware/mesh_bed_calibration.h | 1 + Firmware/stepper.cpp | 2 +- 4 files changed, 48 insertions(+), 31 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c1e627f4f..d33ff0200 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2228,9 +2228,12 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); - #ifndef HEATBED_V2 + if (result >= 0) { + #ifdef HEATBED_V2 + sample_z(); + #else //HEATBED_V2 point_too_far_mask = 0; // Second half: The fine adjustment. // Let the planner use the uncorrected coordinates. @@ -2245,9 +2248,10 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); - // if (result >= 0) babystep_apply(); + // if (result >= 0) babystep_apply(); + #endif //HEATBED_V2 } - #endif //HEATBED_V2 + lcd_bed_calibration_show_result(result, point_too_far_mask); if (result >= 0) { diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 9f6999bf6..044df2349 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -1038,7 +1038,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) MYSERIAL.println(current_position[Z_AXIS]);*/ // Slightly lower the Z axis to get a reliable trigger. - current_position[Z_AXIS] -= 0.05f; + current_position[Z_AXIS] -= 0.1f; go_xyz(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], homing_feedrate[Z_AXIS] / (60 * 10)); SERIAL_ECHOPGM("2 - current_position[Z_AXIS]: "); @@ -1050,8 +1050,9 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) for (int iteration = 0; iteration < 8; iteration++) { found = false; - enable_z_endstop(true, true); - go_xy(x0, current_position[Y_AXIS], feedrate / 3); + invert_z_endstop(true); + enable_z_endstop(true); + go_xy(x0, current_position[Y_AXIS], feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search X span 0 - not found"); @@ -1063,9 +1064,9 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) // SERIAL_ECHOLN("Search X span 0 - found"); a = current_position[X_AXIS]; enable_z_endstop(false); - go_xy(init_x_position, current_position[Y_AXIS], feedrate / 3); + go_xy(init_x_position, current_position[Y_AXIS], feedrate / 5); enable_z_endstop(true); - go_xy(x1, current_position[Y_AXIS], feedrate / 3); + go_xy(x1, current_position[Y_AXIS], feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search X span 1 - not found"); @@ -1078,13 +1079,13 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) // Go to the center. enable_z_endstop(false); current_position[X_AXIS] = 0.5f * (a + b); - go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 3); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 5); found = true; // Search in the Y direction along a cross. found = false; enable_z_endstop(true); - go_xy(current_position[X_AXIS], y0, feedrate / 3); + go_xy(current_position[X_AXIS], y0, feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search Y2 span 0 - not found"); @@ -1095,9 +1096,9 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) // SERIAL_ECHOLN("Search Y2 span 0 - found"); a = current_position[Y_AXIS]; enable_z_endstop(false); - go_xy(current_position[X_AXIS], init_y_position, feedrate / 3); + go_xy(current_position[X_AXIS], init_y_position, feedrate / 5); enable_z_endstop(true); - go_xy(current_position[X_AXIS], y1, feedrate / 3); + go_xy(current_position[X_AXIS], y1, feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search Y2 span 1 - not found"); @@ -1109,9 +1110,10 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) //lcd_update_enable(true); // Go to the center. - enable_z_endstop(false, false); + enable_z_endstop(false); + invert_z_endstop(false); current_position[Y_AXIS] = 0.5f * (a + b); - go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 3); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 5); #ifdef SUPPORT_VERBOSITY if (verbosity_level >= 20) { @@ -1124,17 +1126,20 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } #endif //SUPPORT_VERBOSITY - if (iteration > 3) { - // Average the last 4 measurements. + if (iteration > 0) { + // Average the last 7 measurements. avg[X_AXIS] += current_position[X_AXIS]; avg[Y_AXIS] += current_position[Y_AXIS]; } + init_x_position = current_position[X_AXIS]; + init_y_position = current_position[Y_AXIS]; + found = true; } - avg[X_AXIS] *= (1.f / 4.f); - avg[Y_AXIS] *= (1.f / 4.f); + avg[X_AXIS] *= (1.f / 7.f); + avg[Y_AXIS] *= (1.f / 7.f); current_position[X_AXIS] = avg[X_AXIS]; current_position[Y_AXIS] = avg[Y_AXIS]; @@ -2111,7 +2116,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level #endif // SUPPORT_VERBOSITY if (!find_bed_induction_sensor_point_xy(verbosity_level)) return BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; -#if 1 +#ifndef HEATBED_V2 if (k == 0 || k == 1) { // Improve the position of the 1st row sensor points by a zig-zag movement. @@ -2132,7 +2137,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level // not found return BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; } -#endif +#endif //HEATBED_V2 #ifdef SUPPORT_VERBOSITY if (verbosity_level >= 10) delay_keep_alive(3000); @@ -2548,16 +2553,7 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8 } #endif // SUPPORT_VERBOSITY - //make space - current_position[Z_AXIS] += 150; - go_to_current(homing_feedrate[Z_AXIS] / 60); - //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder);); - - lcd_show_fullscreen_message_and_wait_P(MSG_PLACE_STEEL_SHEET); - - // Sample Z heights for the mesh bed leveling. - // In addition, store the results into an eeprom, to be used later for verification of the bed leveling process. - if (! sample_mesh_and_store_reference()) + if(!sample_z()) goto canceled; enable_endstops(endstops_enabled); @@ -2579,6 +2575,22 @@ canceled: return result; } +bool sample_z() { + bool sampled = true; + //make space + current_position[Z_AXIS] += 150; + go_to_current(homing_feedrate[Z_AXIS] / 60); + //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder);); + + lcd_show_fullscreen_message_and_wait_P(MSG_PLACE_STEEL_SHEET); + + // Sample Z heights for the mesh bed leveling. + // In addition, store the results into an eeprom, to be used later for verification of the bed leveling process. + if (!sample_mesh_and_store_reference()) sampled = false; + + return sampled; +} + void go_home_with_z_lift() { // Don't let the manage_inactivity() function remove power from the motors. diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 4f6ebd724..5f5a98aa2 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -187,5 +187,6 @@ extern void babystep_undo(); // Reset the current babystep counter without moving the axes. extern void babystep_reset(); extern void count_xyz_details(); +extern bool sample_z(); #endif /* MESH_BED_CALIBRATION_H */ diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 27c200817..28aee746e 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -611,7 +611,7 @@ void isr() { // Stall guard homing turned on z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert) || (READ(Z_TMC2130_DIAG) != 0); #else - z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert); + z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert); #endif //TMC2130_SG_HOMING if(z_min_endstop && old_z_min_endstop) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; From 5254044816125488af89f2a166e94555071b71aa Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 5 Mar 2018 00:17:43 +0100 Subject: [PATCH 062/926] no points on first row for new xyz cal. version, waiting for user to press knob on found points when verbosity level >=20 --- Firmware/mesh_bed_calibration.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 044df2349..2a942da1b 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -104,10 +104,17 @@ const float bed_ref_points[] PROGMEM = { static inline float sqr(float x) { return x * x; } +#ifdef HEATBED_V2 static inline bool point_on_1st_row(const uint8_t i) { - return (i < 2); + return false; } +#else //HEATBED_V2 +static inline bool point_on_1st_row(const uint8_t i) +{ + return (i < 3); +} +#endif //HEATBED_V2 // Weight of a point coordinate in a least squares optimization. // The first row of points may not be fully reachable @@ -1152,8 +1159,12 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } #endif // SUPPORT_VERBOSITY go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); - lcd_show_fullscreen_message_and_wait_P(PSTR("Final position")); - lcd_update_enable(true); + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + lcd_show_fullscreen_message_and_wait_P(PSTR("Final position")); + lcd_update_enable(true); + } + #endif //SUPPORT_VERBOSITY break; } From ca3ba55ca7e1198a4494c8334db592ba24e16aac Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 15 Sep 2017 18:04:19 +0200 Subject: [PATCH 063/926] initial version --- Firmware/Marlin_main.cpp | 38 ++++++++++++++++++++++++++++++++++++++ Firmware/language_all.cpp | 5 +++++ Firmware/language_en.h | 5 +++-- Firmware/ultralcd.cpp | 35 +++++++++++++++++------------------ Firmware/ultralcd.h | 1 + 5 files changed, 64 insertions(+), 20 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 3b51a67c4..6f93df246 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6438,6 +6438,43 @@ void ClearToSend() SERIAL_PROTOCOLLNRPGM(MSG_OK); } +update_currents() { + float current_high[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; + float current_low[3] = DEFAULT_PWM_MOTOR_CURRENT; + float tmp_motor[3]; + + SERIAL_ECHOLNPGM("Currents updated: "); + + if (destination[Z_AXIS] < Z_SILENT) { + SERIAL_ECHOLNPGM("LOW"); + for (uint8_t i = 0; i < 3; i++) { + digipot_current(i, current_low[i]); + MYSERIAL.print(int(i)); + SERIAL_ECHOPGM(": "); + MYSERIAL.println(current_low[i]); + } + } + else if (destination[Z_AXIS] > Z_HIGH_POWER) { + SERIAL_ECHOLNPGM("HIGH"); + for (uint8_t i = 0; i < 3; i++) { + digipot_current(i, current_high[i]); + MYSERIAL.print(int(i)); + SERIAL_ECHOPGM(": "); + MYSERIAL.println(current_high[i]); + } + } + else { + for (uint8_t i = 0; i < 3; i++) { + float q = current_low[i] - Z_SILENT*((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT)); + tmp_motor[i] = ((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT))*destination[Z_AXIS] + q; + digipot_current(i, tmp_motor[i]); + MYSERIAL.print(int(i)); + SERIAL_ECHOPGM(": "); + MYSERIAL.println(tmp_motor[i]); + } + } +} + void get_coordinates() { bool seen[4]={false,false,false,false}; @@ -6459,6 +6496,7 @@ void get_coordinates() if (relative) destination[i] += current_position[i]; seen[i]=true; + if (i == Z_AXIS && SilentModeMenu == 2) update_currents(); } else destination[i] = current_position[i]; //Are these else lines really needed? } diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 6d72bb189..b9d056b88 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -60,6 +60,11 @@ const char * const MSG_AUTO_HOME_LANG_TABLE[1] PROGMEM = { MSG_AUTO_HOME_EN }; +const char MSG_AUTO_MODE_ON_EN[] PROGMEM = "Mode [auto power]"; +const char * const MSG_AUTO_MODE_ON_LANG_TABLE[1] PROGMEM = { + MSG_AUTO_MODE_ON_EN +}; + const char MSG_A_RETRACT_EN[] PROGMEM = "A-retract"; const char * const MSG_A_RETRACT_LANG_TABLE[1] PROGMEM = { MSG_A_RETRACT_EN diff --git a/Firmware/language_en.h b/Firmware/language_en.h index c22d9fb40..1a576d426 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -102,8 +102,9 @@ #define(length=20) MSG_CHANGING_FILAMENT "Changing filament!" -#define MSG_SILENT_MODE_ON "Mode [Stealth]" -#define MSG_SILENT_MODE_OFF "Mode [Normal]" +#define MSG_SILENT_MODE_ON "Mode [silent]" +#define MSG_SILENT_MODE_OFF "Mode [high power]" +#define MSG_AUTO_MODE_ON "Mode [auto power]" #define(length=20) MSG_REBOOT "Reboot the printer" #define(length=20) MSG_TAKE_EFFECT " for take effect" diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 3b3d0706c..35e95468e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3412,7 +3412,12 @@ static void lcd_fsensor_fail() static void lcd_silent_mode_set() { - SilentModeMenu = !SilentModeMenu; + switch (SilentModeMenu) { + case 0: SilentModeMenu = 1; break; + case 1: SilentModeMenu = 2; break; + case 2: SilentModeMenu = 0; break; + default: SilentModeMenu = 0; break; + } eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); #ifdef TMC2130 // Wait until the planner queue is drained and the stepper routine achieves @@ -3891,6 +3896,13 @@ static void lcd_settings_menu() { MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); } + if (!farm_mode) { //dont show in menu if we are in farm mode + switch (SilentModeMenu) { + case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; + case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; + default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + } #ifdef PAT9125 #ifndef DEBUG_DISABLE_FSENSORCHECK @@ -3951,6 +3963,7 @@ static void lcd_settings_menu() MENU_ITEM(function, MSG_SECOND_SERIAL_ON, lcd_second_serial_set); } + if (!isPrintPaused && !homing_flag) { MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z); @@ -5281,24 +5294,10 @@ static void lcd_tune_menu() MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 #endif -#ifdef PAT9125 -#ifndef DEBUG_DISABLE_FSENSORCHECK - if (FSensorStateMenu == 0) { - MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); + if (SilentModeMenu == 0) { + MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set_tune); } else { - MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); - } -#endif //DEBUG_DISABLE_FSENSORCHECK -#endif //PAT9125 - -#ifdef TMC2130 - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); - - if (SilentModeMenu == 0) - { - if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); - else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); + MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set_tune); } else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); #endif //TMC2130 diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 1dde5128c..87a589346 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -118,6 +118,7 @@ void lcd_mylang(); extern int farm_no; extern int farm_timer; extern int farm_status; + extern int8_t SilentModeMenu; #ifdef SNMM extern uint8_t snmm_extruder; From a369c7900e3fec504938bf424a71470db34789c5 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 18 Sep 2017 12:46:50 +0200 Subject: [PATCH 064/926] tune menu updated --- Firmware/stepper.cpp | 5 ++--- Firmware/ultralcd.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 8510daf9b..0ee53e0d5 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -1361,10 +1361,9 @@ void EEPROM_read_st(int pos, uint8_t* value, uint8_t size) void digipot_init() //Initialize Digipot Motor Current -{ - +{ EEPROM_read_st(EEPROM_SILENT,(uint8_t*)&SilentMode,sizeof(SilentMode)); - + SilentModeMenu = SilentMode; #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1 if(SilentMode == 0){ const uint8_t digipot_motor_current[] = DIGIPOT_MOTOR_CURRENT_LOUD; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 35e95468e..a0e269b49 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5264,6 +5264,18 @@ static void lcd_autostart_sd() +static void lcd_silent_mode_set_tune() { + switch (SilentModeMenu) { + case 0: SilentModeMenu = 1; break; + case 1: SilentModeMenu = 2; break; + case 2: SilentModeMenu = 0; break; + default: SilentModeMenu = 0; break; + } + eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); + digipot_init(); + lcd_goto_menu(lcd_tune_menu, 9); +} + static void lcd_colorprint_change() { enquecommand_P(PSTR("M600")); From 1033bd3cf94a47d58bc40128d6fbccdf04160537 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 18 Sep 2017 12:48:49 +0200 Subject: [PATCH 065/926] info on serial not used --- Firmware/Marlin_main.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 6f93df246..e09cdad31 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6443,24 +6443,24 @@ update_currents() { float current_low[3] = DEFAULT_PWM_MOTOR_CURRENT; float tmp_motor[3]; - SERIAL_ECHOLNPGM("Currents updated: "); + //SERIAL_ECHOLNPGM("Currents updated: "); if (destination[Z_AXIS] < Z_SILENT) { - SERIAL_ECHOLNPGM("LOW"); + //SERIAL_ECHOLNPGM("LOW"); for (uint8_t i = 0; i < 3; i++) { digipot_current(i, current_low[i]); - MYSERIAL.print(int(i)); + /*MYSERIAL.print(int(i)); SERIAL_ECHOPGM(": "); - MYSERIAL.println(current_low[i]); + MYSERIAL.println(current_low[i]);*/ } } else if (destination[Z_AXIS] > Z_HIGH_POWER) { - SERIAL_ECHOLNPGM("HIGH"); + //SERIAL_ECHOLNPGM("HIGH"); for (uint8_t i = 0; i < 3; i++) { digipot_current(i, current_high[i]); - MYSERIAL.print(int(i)); + /*MYSERIAL.print(int(i)); SERIAL_ECHOPGM(": "); - MYSERIAL.println(current_high[i]); + MYSERIAL.println(current_high[i]);*/ } } else { @@ -6468,9 +6468,9 @@ update_currents() { float q = current_low[i] - Z_SILENT*((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT)); tmp_motor[i] = ((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT))*destination[Z_AXIS] + q; digipot_current(i, tmp_motor[i]); - MYSERIAL.print(int(i)); + /*MYSERIAL.print(int(i)); SERIAL_ECHOPGM(": "); - MYSERIAL.println(tmp_motor[i]); + MYSERIAL.println(tmp_motor[i]);*/ } } } From 917689b5ce4ee4405a06c3d29a2d2b58bf10aad0 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 5 Mar 2018 01:23:18 +0100 Subject: [PATCH 066/926] tune menu --- Firmware/Marlin.h | 1 + Firmware/Marlin_main.cpp | 2 +- Firmware/language_all.cpp | 4 +-- Firmware/language_all.h | 2 ++ Firmware/ultralcd.cpp | 63 +++++++++++++++++++++++++-------------- 5 files changed, 47 insertions(+), 25 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index a576a1f26..c79513833 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -218,6 +218,7 @@ 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 update_currents(); void get_coordinates(); void prepare_move(); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e09cdad31..793dfdd15 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6438,7 +6438,7 @@ void ClearToSend() SERIAL_PROTOCOLLNRPGM(MSG_OK); } -update_currents() { +void update_currents() { float current_high[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; float current_low[3] = DEFAULT_PWM_MOTOR_CURRENT; float tmp_motor[3]; diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index b9d056b88..3eb8ba85b 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -1985,14 +1985,14 @@ const char * const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SHOW_END_STOPS_CZ }; -const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [Normal]"; +const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [high power]"; const char MSG_SILENT_MODE_OFF_CZ[] PROGMEM = "Mod [Normal]"; const char * const MSG_SILENT_MODE_OFF_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SILENT_MODE_OFF_EN, MSG_SILENT_MODE_OFF_CZ }; -const char MSG_SILENT_MODE_ON_EN[] PROGMEM = "Mode [Stealth]"; +const char MSG_SILENT_MODE_ON_EN[] PROGMEM = "Mode [silent]"; const char MSG_SILENT_MODE_ON_CZ[] PROGMEM = "Mod [Stealth]"; const char * const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SILENT_MODE_ON_EN, diff --git a/Firmware/language_all.h b/Firmware/language_all.h index a055e3612..bbc8e6fef 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -40,6 +40,8 @@ extern const char* const MSG_AUTOLOAD_FILAMENT_LANG_TABLE[LANG_NUM]; #define MSG_AUTOLOAD_FILAMENT LANG_TABLE_SELECT(MSG_AUTOLOAD_FILAMENT_LANG_TABLE) extern const char* const MSG_AUTO_HOME_LANG_TABLE[1]; #define MSG_AUTO_HOME LANG_TABLE_SELECT_EXPLICIT(MSG_AUTO_HOME_LANG_TABLE, 0) +extern const char* const MSG_AUTO_MODE_ON_LANG_TABLE[1]; +#define MSG_AUTO_MODE_ON LANG_TABLE_SELECT_EXPLICIT(MSG_AUTO_MODE_ON_LANG_TABLE, 0) extern const char* const MSG_A_RETRACT_LANG_TABLE[1]; #define MSG_A_RETRACT LANG_TABLE_SELECT_EXPLICIT(MSG_A_RETRACT_LANG_TABLE, 0) extern const char* const MSG_BABYSTEPPING_X_LANG_TABLE[1]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a0e269b49..df8276f60 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3902,6 +3902,7 @@ static void lcd_settings_menu() case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + } } #ifdef PAT9125 @@ -5289,37 +5290,55 @@ static void lcd_colorprint_change() { static void lcd_tune_menu() { - EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); + EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); - - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 - MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 - MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 - MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 + MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 - MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 - MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 + MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 + MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 + + MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 + MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 #ifdef FILAMENTCHANGEENABLE - MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 + MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 #endif - - if (SilentModeMenu == 0) { - MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set_tune); - } else { - MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set_tune); - } - else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); + +#ifndef DEBUG_DISABLE_FSENSORCHECK + if (FSensorStateMenu == 0) { + MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); + } + else { + MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); + } +#endif //DEBUG_DISABLE_FSENSORCHECK + +#ifdef TMC2130 + if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); + + if (SilentModeMenu == 0) + { + if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); + else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); + } + else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); +#else //TMC2130 + if (!farm_mode) { //dont show in menu if we are in farm mode + switch (SilentModeMenu) { + case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; + case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; + default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + } + } #endif //TMC2130 - - END_MENU(); + END_MENU(); } - - - static void lcd_move_menu_01mm() { move_menu_scale = 0.1; From 74fa599f48c40b3f73e9dce79f5f0bc579b6a3d2 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Fri, 2 Mar 2018 18:50:16 +0100 Subject: [PATCH 067/926] Remove Rpi port menu item for MK25. --- Firmware/ultralcd.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 3b3d0706c..3754d0a88 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3944,12 +3944,14 @@ static void lcd_settings_menu() else { MENU_ITEM(function, MSG_TEMP_CALIBRATION_ON, lcd_temp_calibration_set); } +#ifdef HAS_SECOND_SERIAL_PORT if (selectedSerialPort == 0) { MENU_ITEM(function, MSG_SECOND_SERIAL_OFF, lcd_second_serial_set); } else { MENU_ITEM(function, MSG_SECOND_SERIAL_ON, lcd_second_serial_set); } +#endif //HAS_SECOND_SERIAL if (!isPrintPaused && !homing_flag) { From 7164e66e4d757c900df3b4e504384d45e269b6ba Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 5 Mar 2018 17:14:20 +0100 Subject: [PATCH 068/926] Remove Rpi port menu item for MK25. --- Firmware/Configuration_prusa.h | 1 + Firmware/ultralcd.cpp | 2 ++ Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h | 1 + Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h | 1 + Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h | 1 + 5 files changed, 6 insertions(+) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 4538b226a..52ce678f9 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -17,6 +17,7 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_0_4a +#define HAS_SECOND_SERIAL_PORT // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 9cd4a932d..3d5738147 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3908,12 +3908,14 @@ static void lcd_settings_menu() else { MENU_ITEM(function, MSG_TEMP_CALIBRATION_ON, lcd_temp_calibration_set); } +#ifdef HAS_SECOND_SERIAL_PORT if (selectedSerialPort == 0) { MENU_ITEM(function, MSG_SECOND_SERIAL_OFF, lcd_second_serial_set); } else { MENU_ITEM(function, MSG_SECOND_SERIAL_ON, lcd_second_serial_set); } +#endif //HAS_SECOND_SERIAL if (!isPrintPaused && !homing_flag) { diff --git a/Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h index 41afcb87c..fccd58a94 100644 --- a/Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINY03-E3Dv6full.h @@ -17,6 +17,7 @@ // Electronics #define MOTHERBOARD BOARD_EINY_0_3a +#define HAS_SECOND_SERIAL_PORT // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) diff --git a/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h index 251d01e7f..63deeddbc 100644 --- a/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h @@ -17,6 +17,7 @@ // Electronics #define MOTHERBOARD BOARD_EINY_0_4a +#define HAS_SECOND_SERIAL_PORT // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) diff --git a/Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h index dbc6cb756..be2663942 100644 --- a/Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINY10a-E3Dv6full.h @@ -17,6 +17,7 @@ // Electronics #define MOTHERBOARD BOARD_EINY_0_4a +#define HAS_SECOND_SERIAL_PORT // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) From c9b5ab0e88174753f8e69f5585c20e3bb934d836 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 5 Mar 2018 18:09:48 +0100 Subject: [PATCH 069/926] area for improving calibration point enlarged --- Firmware/mesh_bed_calibration.cpp | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 2a942da1b..564cf5067 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -1053,59 +1053,51 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) // Do nsteps_y zig-zag movements. float a, b; float avg[2] = { 0,0 }; - + invert_z_endstop(true); for (int iteration = 0; iteration < 8; iteration++) { - found = false; - invert_z_endstop(true); + found = false; enable_z_endstop(true); - go_xy(x0, current_position[Y_AXIS], feedrate / 5); + go_xy(init_x_position + 16.0f, current_position[Y_AXIS], feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search X span 0 - not found"); continue; } - - //lcd_show_fullscreen_message_and_wait_P(PSTR("X1 found")); - //lcd_update_enable(true); // SERIAL_ECHOLN("Search X span 0 - found"); a = current_position[X_AXIS]; enable_z_endstop(false); go_xy(init_x_position, current_position[Y_AXIS], feedrate / 5); enable_z_endstop(true); - go_xy(x1, current_position[Y_AXIS], feedrate / 5); + go_xy(init_x_position - 16.0f, current_position[Y_AXIS], feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search X span 1 - not found"); continue; } - //lcd_show_fullscreen_message_and_wait_P(PSTR("X2 found")); - //lcd_update_enable(true); // SERIAL_ECHOLN("Search X span 1 - found"); b = current_position[X_AXIS]; // Go to the center. enable_z_endstop(false); current_position[X_AXIS] = 0.5f * (a + b); - go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 5); + go_xy(current_position[X_AXIS], init_y_position, feedrate / 5); found = true; // Search in the Y direction along a cross. found = false; enable_z_endstop(true); - go_xy(current_position[X_AXIS], y0, feedrate / 5); + go_xy(current_position[X_AXIS], init_y_position + 16.0f, feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search Y2 span 0 - not found"); continue; } - //lcd_show_fullscreen_message_and_wait_P(PSTR("Y1 found")); - //lcd_update_enable(true); // SERIAL_ECHOLN("Search Y2 span 0 - found"); a = current_position[Y_AXIS]; enable_z_endstop(false); go_xy(current_position[X_AXIS], init_y_position, feedrate / 5); enable_z_endstop(true); - go_xy(current_position[X_AXIS], y1, feedrate / 5); + go_xy(current_position[X_AXIS], init_y_position - 16.0f, feedrate / 5); update_current_position_xyz(); if (!endstop_z_hit_on_purpose()) { // SERIAL_ECHOLN("Search Y2 span 1 - not found"); @@ -1113,12 +1105,8 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } // SERIAL_ECHOLN("Search Y2 span 1 - found"); b = current_position[Y_AXIS]; - //lcd_show_fullscreen_message_and_wait_P(PSTR("Y2 found")); - //lcd_update_enable(true); - // Go to the center. enable_z_endstop(false); - invert_z_endstop(false); current_position[Y_AXIS] = 0.5f * (a + b); go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 5); @@ -1145,6 +1133,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) found = true; } + invert_z_endstop(false); avg[X_AXIS] *= (1.f / 7.f); avg[Y_AXIS] *= (1.f / 7.f); @@ -1169,8 +1158,9 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) break; } } - + enable_z_endstop(false); + invert_z_endstop(false); return found; } From a0bcfc7d95c5b9275872599dcf45a00a38eaa4bd Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 5 Mar 2018 19:28:57 +0100 Subject: [PATCH 070/926] Fix after merge (symbol calculate_volumetric_multipliers() renamed to calculate_extruder_multipliers()) --- Firmware/ConfigurationStore.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 253452fed..26cbc8228 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -378,8 +378,8 @@ bool Config_RetrieveSettings(uint16_t offset, uint8_t level) EEPROM_READ_VAR(i, extruder_advance_k); EEPROM_READ_VAR(i, advance_ed_ratio); } - calculate_volumetric_multipliers(); #endif //LIN_ADVANCE + calculate_extruder_multipliers(); // Call updatePID (similar to when we have processed M301) updatePID(); From fc3af0533a2f51cddb179531e4f57a1b1a5fd6ea Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 5 Mar 2018 21:31:31 +0100 Subject: [PATCH 071/926] Fix of calculate_extrusion_multipliers(). This is a fix of a bug made in the previous commit. --- Firmware/ConfigurationStore.cpp | 2 +- Firmware/Marlin_main.cpp | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 253452fed..26cbc8228 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -378,8 +378,8 @@ bool Config_RetrieveSettings(uint16_t offset, uint8_t level) EEPROM_READ_VAR(i, extruder_advance_k); EEPROM_READ_VAR(i, advance_ed_ratio); } - calculate_volumetric_multipliers(); #endif //LIN_ADVANCE + calculate_extruder_multipliers(); // Call updatePID (similar to when we have processed M301) updatePID(); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 198a28be0..60afe10a5 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -7026,11 +7026,14 @@ void save_statistics(unsigned long _total_filament_used, unsigned long _total_pr } float calculate_extruder_multiplier(float diameter) { - bool enabled = volumetric_enabled && diameter > 0; - float area = enabled ? (M_PI * pow(diameter * .5, 2)) : 0; - return (extrudemultiply == 100) ? - (enabled ? (1.f / area) : 1.f) : - (enabled ? ((float(extrudemultiply) * 0.01f) / area) : 1.f); + float out = 1.f; + if (volumetric_enabled && diameter > 0.f) { + float area = M_PI * diameter * diameter * 0.25; + out = 1.f / area; + } + if (extrudemultiply != 100) + out *= float(extrudemultiply) * 0.01f; + return out; } void calculate_extruder_multipliers() { From 67fd467ebe6f1b6f56667c06ce55fb55e26fe99b Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 5 Mar 2018 21:42:04 +0100 Subject: [PATCH 072/926] Add fail statistics menu item for MK25. As there is only filament sensor and no crash and power interruption detection, squash everything into single screen. --- Firmware/Configuration_prusa.h | 2 +- Firmware/Marlin_main.cpp | 4 +-- Firmware/ultralcd.cpp | 46 +++++++++++++++++++++++++++++----- 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 46c751046..014c2f7f4 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -168,7 +168,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed -#define PAT9125 +#define PAT9125 //!< Filament sensor #define FANCHECK diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index baa618fe0..e71c99576 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -681,6 +681,7 @@ void crashdet_cancel() card.closefile(); tmc2130_sg_stop_on_crash = true; } +#endif //TMC2130 void failstats_reset_print() { @@ -690,7 +691,6 @@ void failstats_reset_print() eeprom_update_byte((uint8_t *)EEPROM_POWER_COUNT, 0); } -#endif //TMC2130 #ifdef MESH_BED_LEVELING @@ -4081,10 +4081,8 @@ void process_commands() card.openFile(strchr_pointer + 4,true); break; case 24: //M24 - Start SD print -#ifdef TMC2130 if (!card.paused) failstats_reset_print(); -#endif //TMC2130 card.startFileprint(); starttime=millis(); break; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index df8276f60..eb44ef368 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -204,9 +204,9 @@ static void prusa_stat_temperatures(); static void prusa_stat_printinfo(); static void lcd_farm_no(); static void lcd_menu_extruder_info(); -#ifdef TMC2130 +#if defined(TMC2130) || defined(PAT9125) static void lcd_menu_fails_stats(); -#endif //TMC2130 +#endif //TMC2130 or PAT9125 void lcd_finishstatus(); @@ -1537,7 +1537,7 @@ static void lcd_menu_extruder_info() } } -#ifdef TMC2130 +#if defined(TMC2130) && defined(PAT9125) static void lcd_menu_fails_stats_total() { //01234567890123456789 @@ -1579,7 +1579,13 @@ static void lcd_menu_fails_stats_print() lcd_goto_menu(lcd_menu_fails_stats, 2); } } - +/** + * @brief Open fail statistics menu + * + * This version of function is used, when there is filament sensor, + * power failure and crash detection. + * There are Last print and Total menu items. + */ static void lcd_menu_fails_stats() { START_MENU(); @@ -1588,6 +1594,34 @@ static void lcd_menu_fails_stats() MENU_ITEM(submenu, PSTR("Total"), lcd_menu_fails_stats_total); END_MENU(); } +#else if defined(PAT9125) +/** + * @brief Print last print and total filament run outs + * + * This version of function is used, when there is filament sensor, + * but no other sensors (e.g. power failure, crash detection). + * + * Example screen: + * @code + * 01234567890123456789 + * Last print failures + * Filam. runouts 0 + * Total failures + * Filam. runouts 5 + * @endcode + */ +static void lcd_menu_fails_stats() +{ + uint8_t filamentLast = eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT); + uint16_t filamentTotal = eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT); + fprintf_P(lcdout, PSTR(ESC_H(0,0)"Last print failures"ESC_H(1,1)"Filam. runouts %-3d"ESC_H(0,2)"Total failures"ESC_H(1,3)"Filam. runouts %-3d"), filamentLast, filamentTotal); + if (lcd_clicked()) + { + lcd_quick_feedback(); + //lcd_return_to_status(); + lcd_goto_menu(lcd_main_menu, 8); //TODO: Remove hard coded encoder value. + } +} #endif //TMC2130 @@ -5221,9 +5255,9 @@ static void lcd_main_menu() MENU_ITEM(submenu, MSG_STATISTICS, lcd_menu_statistics); } -#ifdef TMC2130 +#if defined(TMC2130) || defined(PAT9125) MENU_ITEM(submenu, PSTR("Fail stats"), lcd_menu_fails_stats); -#endif //TMC2130 +#endif MENU_ITEM(submenu, MSG_SUPPORT, lcd_support_menu); From ee2de71d266316340f7294e9a47ef647e83fbb68 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 6 Mar 2018 11:51:31 +0100 Subject: [PATCH 073/926] searching for point xy updated to be more reliable, max z error enlarged to speed up calibration --- Firmware/Configuration.h | 2 +- Firmware/mesh_bed_calibration.cpp | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 322ea8b22..20296e399 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -8,7 +8,7 @@ // Firmware version #define FW_VERSION "3.1.2-alpha" -#define FW_COMMIT_NR 201 +#define FW_COMMIT_NR 255 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 564cf5067..8db94cd42 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -913,7 +913,7 @@ error: #define FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP (1.f) #ifdef HEATBED_V2 #define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (2.f) -#define FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR (0.01f) +#define FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR (0.03f) #else //HEATBED_V2 #define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (0.2f) #endif //HEATBED_V2 @@ -971,45 +971,46 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) // Continously lower the Z axis. endstops_hit_on_purpose(); enable_z_endstop(true); + bool direction = false; while (current_position[Z_AXIS] > -10.f && z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { // Do nsteps_y zig-zag movements. - //SERIAL_ECHOPGM("z_error: "); - //MYSERIAL.println(z_error); - current_position[Y_AXIS] = y0; + SERIAL_ECHOPGM("z_error: "); + MYSERIAL.println(z_error); + current_position[Y_AXIS] = direction ? y1 : y0; initial_z_position = current_position[Z_AXIS]; - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++i) { + for (i = 0; i < (nsteps_y - 1); (direction == false) ? (current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1)) : (current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1)), ++i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = !dir_positive; if (endstop_z_hit_on_purpose()) { update_current_position_xyz(); - z_error = 2 * (initial_z_position - current_position[Z_AXIS]); + z_error = initial_z_position - current_position[Z_AXIS] + find_bed_induction_sensor_point_z_step; if (z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { find_bed_induction_sensor_point_z_step = z_error / 2; current_position[Z_AXIS] += z_error; enable_z_endstop(false); - go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + (direction == false) ? go_xyz(x0, y0, current_position[Z_AXIS], feedrate) : go_xyz(x0, y1, current_position[Z_AXIS], feedrate); enable_z_endstop(true); } goto endloop; } } - initial_z_position = current_position[Z_AXIS]; - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++i) { + for (i = 0; i < (nsteps_y - 1); (direction == false) ? (current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1)) : (current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1)), ++i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = !dir_positive; if (endstop_z_hit_on_purpose()) { update_current_position_xyz(); - z_error = 2 * (initial_z_position - current_position[Z_AXIS]); + z_error = initial_z_position - current_position[Z_AXIS]; if (z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { find_bed_induction_sensor_point_z_step = z_error / 2; current_position[Z_AXIS] += z_error; enable_z_endstop(false); - go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + direction = !direction; + (direction == false) ? go_xyz(x0, y0, current_position[Z_AXIS], feedrate) : go_xyz(x0, y1, current_position[Z_AXIS], feedrate); enable_z_endstop(true); } goto endloop; From 2b7e50e45b50d5ee52b170fb47f1a978d6dafb71 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 5 Mar 2018 21:31:31 +0100 Subject: [PATCH 074/926] Fix of calculate_extrusion_multipliers(). This is a fix of a bug made in the previous commit. --- Firmware/ConfigurationStore.cpp | 2 +- Firmware/Marlin_main.cpp | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 253452fed..26cbc8228 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -378,8 +378,8 @@ bool Config_RetrieveSettings(uint16_t offset, uint8_t level) EEPROM_READ_VAR(i, extruder_advance_k); EEPROM_READ_VAR(i, advance_ed_ratio); } - calculate_volumetric_multipliers(); #endif //LIN_ADVANCE + calculate_extruder_multipliers(); // Call updatePID (similar to when we have processed M301) updatePID(); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e71c99576..f6327fc78 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -7021,11 +7021,14 @@ void save_statistics(unsigned long _total_filament_used, unsigned long _total_pr } float calculate_extruder_multiplier(float diameter) { - bool enabled = volumetric_enabled && diameter > 0; - float area = enabled ? (M_PI * pow(diameter * .5, 2)) : 0; - return (extrudemultiply == 100) ? - (enabled ? (1.f / area) : 1.f) : - (enabled ? ((float(extrudemultiply) * 0.01f) / area) : 1.f); + float out = 1.f; + if (volumetric_enabled && diameter > 0.f) { + float area = M_PI * diameter * diameter * 0.25; + out = 1.f / area; + } + if (extrudemultiply != 100) + out *= float(extrudemultiply) * 0.01f; + return out; } void calculate_extruder_multipliers() { From a6f900fd3cc2acb605de183548879b9dd469d964 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 6 Mar 2018 15:11:50 +0100 Subject: [PATCH 075/926] Merge remote-tracking branch 'upstream/MK25' into MK25 # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit. --- Firmware/Configuration.h | 31 +- Firmware/ConfigurationStore.cpp | 4 +- Firmware/Configuration_prusa.h | 6 +- Firmware/Marlin.h | 15 +- Firmware/Marlin_main.cpp | 231 +++++------- Firmware/language_all.cpp | 9 +- Firmware/language_all.h | 2 + Firmware/language_en.h | 5 +- Firmware/mesh_bed_calibration.cpp | 606 +++++++++++++++++++++--------- Firmware/mesh_bed_calibration.h | 1 + Firmware/planner.cpp | 55 +-- Firmware/stepper.cpp | 23 +- Firmware/stepper.h | 1 + Firmware/temperature.cpp | 60 +-- Firmware/temperature.h | 8 - Firmware/ultralcd.cpp | 142 +++++-- Firmware/ultralcd.h | 1 + 17 files changed, 685 insertions(+), 515 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index b8669c220..20296e399 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -8,7 +8,7 @@ // Firmware version #define FW_VERSION "3.1.2-alpha" -#define FW_COMMIT_NR 201 +#define FW_COMMIT_NR 255 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN @@ -789,34 +789,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of // //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command -/**********************************************************************\ - * 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 - +#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm). Used by the volumetric extrusion. // Calibration status of the machine, to be stored into the EEPROM, // (unsigned char*)EEPROM_CALIBRATION_STATUS diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 9b0d0e878..26cbc8228 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -378,8 +378,8 @@ bool Config_RetrieveSettings(uint16_t offset, uint8_t level) EEPROM_READ_VAR(i, extruder_advance_k); EEPROM_READ_VAR(i, advance_ed_ratio); } - calculate_volumetric_multipliers(); #endif //LIN_ADVANCE + calculate_extruder_multipliers(); // Call updatePID (similar to when we have processed M301) updatePID(); @@ -472,7 +472,7 @@ void Config_ResetDefault() filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; #endif #endif - calculate_volumetric_multipliers(); + calculate_extruder_multipliers(); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded"); diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 97e721c0e..23da83c4a 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -60,7 +60,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define X_MIN_POS 0 #define Y_MAX_POS 210 #define Y_MIN_POS -4 -#define Z_MAX_POS 200 +#define Z_MAX_POS 210 #define Z_MIN_POS 0.15 // Canceled home position @@ -168,7 +168,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed -#define PAT9125 +#define PAT9125 //!< Filament sensor #define FANCHECK #define SAFETYTIMER @@ -469,6 +469,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define M600_TIMEOUT 600 //seconds -//#define SUPPORT_VERBOSITY +#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index f3f134630..72aeffb67 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -218,6 +218,7 @@ 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 update_currents(); void get_coordinates(); void prepare_move(); @@ -283,17 +284,6 @@ extern void homeaxis(int axis); 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]; @@ -358,7 +348,7 @@ extern bool sortAlpha; extern char dir_names[3][9]; -extern void calculate_volumetric_multipliers(); +extern void calculate_extruder_multipliers(); // Similar to the default Arduino delay function, // but it keeps the background tasks running. @@ -446,6 +436,7 @@ void force_high_power_mode(bool start_high_power_section); // G-codes bool gcode_M45(bool onlyZ, int8_t verbosity_level); +void gcode_M114(); void gcode_M701(); #define UVLO !(PINE & (1<<4)) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 60cd760fd..88c13722b 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -334,7 +334,7 @@ float filament_size[EXTRUDERS] = { DEFAULT_NOMINAL_FILAMENT_DIA #endif #endif }; -float volumetric_multiplier[EXTRUDERS] = {1.0 +float extruder_multiplier[EXTRUDERS] = {1.0 #if EXTRUDERS > 1 , 1.0 #if EXTRUDERS > 2 @@ -411,18 +411,6 @@ bool cancel_heatup = false ; #define KEEPALIVE_STATE(n); #endif -#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:"; @@ -693,6 +681,7 @@ void crashdet_cancel() card.closefile(); tmc2130_sg_stop_on_crash = true; } +#endif //TMC2130 void failstats_reset_print() { @@ -702,7 +691,6 @@ void failstats_reset_print() eeprom_update_byte((uint8_t *)EEPROM_POWER_COUNT, 0); } -#endif //TMC2130 #ifdef MESH_BED_LEVELING @@ -1971,11 +1959,7 @@ void refresh_cmd_timeout(void) 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]; - } + current_position[E_AXIS]+=(swapretract?retract_length_swap:retract_length)*float(extrudemultiply)*0.01f; plan_set_e_position(current_position[E_AXIS]); float oldFeedrate = feedrate; feedrate=retract_feedrate*60; @@ -1992,12 +1976,7 @@ void refresh_cmd_timeout(void) destination[E_AXIS]=current_position[E_AXIS]; current_position[Z_AXIS]+=retract_zlift; plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - //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]; - } + current_position[E_AXIS]-=(swapretract?(retract_length_swap+retract_recover_length_swap):(retract_length+retract_recover_length))*float(extrudemultiply)*0.01f; plan_set_e_position(current_position[E_AXIS]); float oldFeedrate = feedrate; feedrate=retract_recover_feedrate*60; @@ -2249,8 +2228,12 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); + if (result >= 0) { + #ifdef HEATBED_V2 + sample_z(); + #else //HEATBED_V2 point_too_far_mask = 0; // Second half: The fine adjustment. // Let the planner use the uncorrected coordinates. @@ -2265,8 +2248,10 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); - // if (result >= 0) babystep_apply(); + // if (result >= 0) babystep_apply(); + #endif //HEATBED_V2 } + lcd_bed_calibration_show_result(result, point_too_far_mask); if (result >= 0) { @@ -2297,6 +2282,29 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) return final_result; } +void gcode_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_PROTOCOLRPGM(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_PROTOCOLPGM(" E:"); + SERIAL_PROTOCOL(float(st_get_position(E_AXIS)) / axis_steps_per_unit[E_AXIS]); + + SERIAL_PROTOCOLLN(""); +} + void gcode_M701() { #ifdef SNMM @@ -4073,10 +4081,8 @@ void process_commands() card.openFile(strchr_pointer + 4,true); break; case 24: //M24 - Start SD print -#ifdef TMC2130 if (!card.paused) failstats_reset_print(); -#endif //TMC2130 card.startFileprint(); starttime=millis(); break; @@ -4929,25 +4935,7 @@ Sigma_Exit: 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_PROTOCOLRPGM(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_PROTOCOLPGM(" E:"); - SERIAL_PROTOCOL(float(st_get_position(E_AXIS))/axis_steps_per_unit[E_AXIS]); - - SERIAL_PROTOCOLLN(""); + gcode_M114(); break; case 120: // M120 enable_endstops(false) ; @@ -5066,7 +5054,7 @@ Sigma_Exit: //reserved for setting filament diameter via UFID or filament measuring device break; } - calculate_volumetric_multipliers(); + calculate_extruder_multipliers(); } break; case 201: // M201 @@ -5234,6 +5222,7 @@ Sigma_Exit: extrudemultiply = tmp_code ; } } + calculate_extruder_multipliers(); } break; @@ -5472,69 +5461,6 @@ Sigma_Exit: } break; -#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(EEPROM_OFFSET); @@ -6523,14 +6449,65 @@ void ClearToSend() SERIAL_PROTOCOLLNRPGM(MSG_OK); } +void update_currents() { + float current_high[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; + float current_low[3] = DEFAULT_PWM_MOTOR_CURRENT; + float tmp_motor[3]; + + //SERIAL_ECHOLNPGM("Currents updated: "); + + if (destination[Z_AXIS] < Z_SILENT) { + //SERIAL_ECHOLNPGM("LOW"); + for (uint8_t i = 0; i < 3; i++) { + digipot_current(i, current_low[i]); + /*MYSERIAL.print(int(i)); + SERIAL_ECHOPGM(": "); + MYSERIAL.println(current_low[i]);*/ + } + } + else if (destination[Z_AXIS] > Z_HIGH_POWER) { + //SERIAL_ECHOLNPGM("HIGH"); + for (uint8_t i = 0; i < 3; i++) { + digipot_current(i, current_high[i]); + /*MYSERIAL.print(int(i)); + SERIAL_ECHOPGM(": "); + MYSERIAL.println(current_high[i]);*/ + } + } + else { + for (uint8_t i = 0; i < 3; i++) { + float q = current_low[i] - Z_SILENT*((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT)); + tmp_motor[i] = ((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT))*destination[Z_AXIS] + q; + digipot_current(i, tmp_motor[i]); + /*MYSERIAL.print(int(i)); + SERIAL_ECHOPGM(": "); + MYSERIAL.println(tmp_motor[i]);*/ + } + } +} + 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]; + bool relative = axis_relative_modes[i] || relative_mode; + destination[i] = (float)code_value(); + if (i == E_AXIS) { + float emult = extruder_multiplier[active_extruder]; + if (emult != 1.) { + if (! relative) { + destination[i] -= current_position[i]; + relative = true; + } + destination[i] *= emult; + } + } + if (relative) + destination[i] += current_position[i]; seen[i]=true; + if (i == Z_AXIS && SilentModeMenu == 2) update_currents(); } else destination[i] = current_position[i]; //Are these else lines really needed? } @@ -7061,27 +7038,23 @@ void save_statistics(unsigned long _total_filament_used, unsigned long _total_pr } -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; +float calculate_extruder_multiplier(float diameter) { + float out = 1.f; + if (volumetric_enabled && diameter > 0.f) { + float area = M_PI * diameter * diameter * 0.25; + out = 1.f / area; + } + if (extrudemultiply != 100) + out *= float(extrudemultiply) * 0.01f; + return out; } -void calculate_volumetric_multipliers() { - volumetric_multiplier[0] = calculate_volumetric_multiplier(filament_size[0]); +void calculate_extruder_multipliers() { + extruder_multiplier[0] = calculate_extruder_multiplier(filament_size[0]); #if EXTRUDERS > 1 - volumetric_multiplier[1] = calculate_volumetric_multiplier(filament_size[1]); + extruder_multiplier[1] = calculate_extruder_multiplier(filament_size[1]); #if EXTRUDERS > 2 - volumetric_multiplier[2] = calculate_volumetric_multiplier(filament_size[2]); + extruder_multiplier[2] = calculate_extruder_multiplier(filament_size[2]); #endif #endif } diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 6d72bb189..3eb8ba85b 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -60,6 +60,11 @@ const char * const MSG_AUTO_HOME_LANG_TABLE[1] PROGMEM = { MSG_AUTO_HOME_EN }; +const char MSG_AUTO_MODE_ON_EN[] PROGMEM = "Mode [auto power]"; +const char * const MSG_AUTO_MODE_ON_LANG_TABLE[1] PROGMEM = { + MSG_AUTO_MODE_ON_EN +}; + const char MSG_A_RETRACT_EN[] PROGMEM = "A-retract"; const char * const MSG_A_RETRACT_LANG_TABLE[1] PROGMEM = { MSG_A_RETRACT_EN @@ -1980,14 +1985,14 @@ const char * const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SHOW_END_STOPS_CZ }; -const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [Normal]"; +const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [high power]"; const char MSG_SILENT_MODE_OFF_CZ[] PROGMEM = "Mod [Normal]"; const char * const MSG_SILENT_MODE_OFF_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SILENT_MODE_OFF_EN, MSG_SILENT_MODE_OFF_CZ }; -const char MSG_SILENT_MODE_ON_EN[] PROGMEM = "Mode [Stealth]"; +const char MSG_SILENT_MODE_ON_EN[] PROGMEM = "Mode [silent]"; const char MSG_SILENT_MODE_ON_CZ[] PROGMEM = "Mod [Stealth]"; const char * const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SILENT_MODE_ON_EN, diff --git a/Firmware/language_all.h b/Firmware/language_all.h index a055e3612..bbc8e6fef 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -40,6 +40,8 @@ extern const char* const MSG_AUTOLOAD_FILAMENT_LANG_TABLE[LANG_NUM]; #define MSG_AUTOLOAD_FILAMENT LANG_TABLE_SELECT(MSG_AUTOLOAD_FILAMENT_LANG_TABLE) extern const char* const MSG_AUTO_HOME_LANG_TABLE[1]; #define MSG_AUTO_HOME LANG_TABLE_SELECT_EXPLICIT(MSG_AUTO_HOME_LANG_TABLE, 0) +extern const char* const MSG_AUTO_MODE_ON_LANG_TABLE[1]; +#define MSG_AUTO_MODE_ON LANG_TABLE_SELECT_EXPLICIT(MSG_AUTO_MODE_ON_LANG_TABLE, 0) extern const char* const MSG_A_RETRACT_LANG_TABLE[1]; #define MSG_A_RETRACT LANG_TABLE_SELECT_EXPLICIT(MSG_A_RETRACT_LANG_TABLE, 0) extern const char* const MSG_BABYSTEPPING_X_LANG_TABLE[1]; diff --git a/Firmware/language_en.h b/Firmware/language_en.h index c22d9fb40..1a576d426 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -102,8 +102,9 @@ #define(length=20) MSG_CHANGING_FILAMENT "Changing filament!" -#define MSG_SILENT_MODE_ON "Mode [Stealth]" -#define MSG_SILENT_MODE_OFF "Mode [Normal]" +#define MSG_SILENT_MODE_ON "Mode [silent]" +#define MSG_SILENT_MODE_OFF "Mode [high power]" +#define MSG_AUTO_MODE_ON "Mode [auto power]" #define(length=20) MSG_REBOOT "Reboot the printer" #define(length=20) MSG_TAKE_EFFECT " for take effect" diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 15e4743bf..8db94cd42 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -104,10 +104,17 @@ const float bed_ref_points[] PROGMEM = { static inline float sqr(float x) { return x * x; } +#ifdef HEATBED_V2 static inline bool point_on_1st_row(const uint8_t i) { - return (i < 2); + return false; } +#else //HEATBED_V2 +static inline bool point_on_1st_row(const uint8_t i) +{ + return (i < 3); +} +#endif //HEATBED_V2 // Weight of a point coordinate in a least squares optimization. // The first row of points may not be fully reachable @@ -904,22 +911,29 @@ error: #define FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS (8.f) #define FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS (4.f) #define FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP (1.f) +#ifdef HEATBED_V2 +#define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (2.f) +#define FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR (0.03f) +#else //HEATBED_V2 #define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (0.2f) +#endif //HEATBED_V2 + +#ifdef HEATBED_V2 inline bool find_bed_induction_sensor_point_xy(int verbosity_level) { #ifdef SUPPORT_VERBOSITY - if(verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); + if (verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); #endif // SUPPORT_VERBOSITY float feedrate = homing_feedrate[X_AXIS] / 60.f; - bool found = false; + bool found = false; - { - float x0 = current_position[X_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; - float x1 = current_position[X_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; - float y0 = current_position[Y_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; - float y1 = current_position[Y_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; - uint8_t nsteps_y; - uint8_t i; + { + float x0 = current_position[X_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float x1 = current_position[X_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float y0 = current_position[Y_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + float y1 = current_position[Y_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + uint8_t nsteps_y; + uint8_t i; if (x0 < X_MIN_POS) { x0 = X_MIN_POS; #ifdef SUPPORT_VERBOSITY @@ -944,163 +958,412 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) if (verbosity_level >= 20) SERIAL_ECHOLNPGM("Y searching radius higher than X_MAX. Clamping was done."); #endif // SUPPORT_VERBOSITY } - nsteps_y = int(ceil((y1 - y0) / FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP)); + nsteps_y = int(ceil((y1 - y0) / FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP)); - enable_endstops(false); - bool dir_positive = true; + enable_endstops(false); + bool dir_positive = true; + float z_error = 2 * FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP; + float find_bed_induction_sensor_point_z_step = FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP; + float initial_z_position = current_position[Z_AXIS]; -// go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); - go_xyz(x0, y0, current_position[Z_AXIS], feedrate); - // Continously lower the Z axis. - endstops_hit_on_purpose(); - enable_z_endstop(true); - while (current_position[Z_AXIS] > -10.f) { - // Do nsteps_y zig-zag movements. - current_position[Y_AXIS] = y0; - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { - // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); - go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); - dir_positive = ! dir_positive; - if (endstop_z_hit_on_purpose()) - goto endloop; - } - for (i = 0; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { - // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); - go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); - dir_positive = ! dir_positive; - if (endstop_z_hit_on_purpose()) - goto endloop; - } - } - endloop: -// SERIAL_ECHOLN("First hit"); + // go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); + go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + // Continously lower the Z axis. + endstops_hit_on_purpose(); + enable_z_endstop(true); + bool direction = false; + while (current_position[Z_AXIS] > -10.f && z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { + // Do nsteps_y zig-zag movements. - // we have to let the planner know where we are right now as it is not where we said to go. - update_current_position_xyz(); + SERIAL_ECHOPGM("z_error: "); + MYSERIAL.println(z_error); + current_position[Y_AXIS] = direction ? y1 : y0; + initial_z_position = current_position[Z_AXIS]; + for (i = 0; i < (nsteps_y - 1); (direction == false) ? (current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1)) : (current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1)), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; + if (endstop_z_hit_on_purpose()) { + update_current_position_xyz(); + z_error = initial_z_position - current_position[Z_AXIS] + find_bed_induction_sensor_point_z_step; + if (z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { + find_bed_induction_sensor_point_z_step = z_error / 2; + current_position[Z_AXIS] += z_error; + enable_z_endstop(false); + (direction == false) ? go_xyz(x0, y0, current_position[Z_AXIS], feedrate) : go_xyz(x0, y1, current_position[Z_AXIS], feedrate); + enable_z_endstop(true); + } + goto endloop; + } + } + for (i = 0; i < (nsteps_y - 1); (direction == false) ? (current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1)) : (current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1)), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= find_bed_induction_sensor_point_z_step / float(nsteps_y - 1); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; + if (endstop_z_hit_on_purpose()) { + update_current_position_xyz(); + z_error = initial_z_position - current_position[Z_AXIS]; + if (z_error > FIND_BED_INDUCTION_SENSOR_POINT_MAX_Z_ERROR) { + find_bed_induction_sensor_point_z_step = z_error / 2; + current_position[Z_AXIS] += z_error; + enable_z_endstop(false); + direction = !direction; + (direction == false) ? go_xyz(x0, y0, current_position[Z_AXIS], feedrate) : go_xyz(x0, y1, current_position[Z_AXIS], feedrate); + enable_z_endstop(true); + } + goto endloop; + } + } + endloop:; + } + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + SERIAL_ECHO("First hit"); + SERIAL_ECHO("- X: "); + MYSERIAL.print(current_position[X_AXIS]); + SERIAL_ECHO("; Y: "); + MYSERIAL.print(current_position[Y_AXIS]); + SERIAL_ECHO("; Z: "); + MYSERIAL.println(current_position[Z_AXIS]); + } + #endif //SUPPORT_VERBOSITY + //lcd_show_fullscreen_message_and_wait_P(PSTR("First hit")); + //lcd_update_enable(true); - // Search in this plane for the first hit. Zig-zag first in X, then in Y axis. - for (int8_t iter = 0; iter < 3; ++ iter) { - if (iter > 0) { - // Slightly lower the Z axis to get a reliable trigger. - current_position[Z_AXIS] -= 0.02f; - go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); - } + float init_x_position = current_position[X_AXIS]; + float init_y_position = current_position[Y_AXIS]; - // Do nsteps_y zig-zag movements. - float a, b; - enable_endstops(false); - enable_z_endstop(false); - current_position[Y_AXIS] = y0; - go_xy(x0, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - found = false; - for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { - go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); - if (endstop_z_hit_on_purpose()) { - found = true; - break; - } - } - update_current_position_xyz(); - if (! found) { -// SERIAL_ECHOLN("Search in Y - not found"); - continue; - } -// SERIAL_ECHOLN("Search in Y - found"); - a = current_position[Y_AXIS]; + // we have to let the planner know where we are right now as it is not where we said to go. + update_current_position_xyz(); + enable_z_endstop(false); + + for (int8_t iter = 0; iter < 2; ++iter) { + /*SERIAL_ECHOPGM("iter: "); + MYSERIAL.println(iter); + SERIAL_ECHOPGM("1 - current_position[Z_AXIS]: "); + MYSERIAL.println(current_position[Z_AXIS]);*/ - enable_z_endstop(false); - current_position[Y_AXIS] = y1; - go_xy(x0, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - found = false; - for (i = 0, dir_positive = true; i < (nsteps_y - 1); current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i, dir_positive = ! dir_positive) { - go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); - if (endstop_z_hit_on_purpose()) { - found = true; - break; - } - } - update_current_position_xyz(); - if (! found) { -// SERIAL_ECHOLN("Search in Y2 - not found"); - continue; - } -// SERIAL_ECHOLN("Search in Y2 - found"); - b = current_position[Y_AXIS]; - current_position[Y_AXIS] = 0.5f * (a + b); + // Slightly lower the Z axis to get a reliable trigger. + current_position[Z_AXIS] -= 0.1f; + go_xyz(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], homing_feedrate[Z_AXIS] / (60 * 10)); - // Search in the X direction along a cross. - found = false; - enable_z_endstop(false); - go_xy(x0, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - go_xy(x1, current_position[Y_AXIS], feedrate); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search X span 0 - not found"); - continue; - } -// SERIAL_ECHOLN("Search X span 0 - found"); - a = current_position[X_AXIS]; - enable_z_endstop(false); - go_xy(x1, current_position[Y_AXIS], feedrate); - enable_z_endstop(true); - go_xy(x0, current_position[Y_AXIS], feedrate); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search X span 1 - not found"); - continue; - } -// SERIAL_ECHOLN("Search X span 1 - found"); - b = current_position[X_AXIS]; - // Go to the center. - enable_z_endstop(false); - current_position[X_AXIS] = 0.5f * (a + b); - go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); - found = true; + SERIAL_ECHOPGM("2 - current_position[Z_AXIS]: "); + MYSERIAL.println(current_position[Z_AXIS]); + // Do nsteps_y zig-zag movements. + float a, b; + float avg[2] = { 0,0 }; + invert_z_endstop(true); + for (int iteration = 0; iteration < 8; iteration++) { + + found = false; + enable_z_endstop(true); + go_xy(init_x_position + 16.0f, current_position[Y_AXIS], feedrate / 5); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 0 - not found"); + continue; + } + // SERIAL_ECHOLN("Search X span 0 - found"); + a = current_position[X_AXIS]; + enable_z_endstop(false); + go_xy(init_x_position, current_position[Y_AXIS], feedrate / 5); + enable_z_endstop(true); + go_xy(init_x_position - 16.0f, current_position[Y_AXIS], feedrate / 5); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 1 - not found"); + continue; + } + // SERIAL_ECHOLN("Search X span 1 - found"); + b = current_position[X_AXIS]; + // Go to the center. + enable_z_endstop(false); + current_position[X_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], init_y_position, feedrate / 5); + found = true; + + // Search in the Y direction along a cross. + found = false; + enable_z_endstop(true); + go_xy(current_position[X_AXIS], init_y_position + 16.0f, feedrate / 5); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 0 - not found"); + continue; + } + // SERIAL_ECHOLN("Search Y2 span 0 - found"); + a = current_position[Y_AXIS]; + enable_z_endstop(false); + go_xy(current_position[X_AXIS], init_y_position, feedrate / 5); + enable_z_endstop(true); + go_xy(current_position[X_AXIS], init_y_position - 16.0f, feedrate / 5); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 1 - not found"); + continue; + } + // SERIAL_ECHOLN("Search Y2 span 1 - found"); + b = current_position[Y_AXIS]; + // Go to the center. + enable_z_endstop(false); + current_position[Y_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 5); + + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + SERIAL_ECHOPGM("ITERATION: "); + MYSERIAL.println(iteration); + SERIAL_ECHOPGM("CURRENT POSITION X: "); + MYSERIAL.println(current_position[X_AXIS]); + SERIAL_ECHOPGM("CURRENT POSITION Y: "); + MYSERIAL.println(current_position[Y_AXIS]); + } + #endif //SUPPORT_VERBOSITY + + if (iteration > 0) { + // Average the last 7 measurements. + avg[X_AXIS] += current_position[X_AXIS]; + avg[Y_AXIS] += current_position[Y_AXIS]; + } + + init_x_position = current_position[X_AXIS]; + init_y_position = current_position[Y_AXIS]; + + found = true; + + } + invert_z_endstop(false); + avg[X_AXIS] *= (1.f / 7.f); + avg[Y_AXIS] *= (1.f / 7.f); + + current_position[X_AXIS] = avg[X_AXIS]; + current_position[Y_AXIS] = avg[Y_AXIS]; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + SERIAL_ECHOPGM("AVG CURRENT POSITION X: "); + MYSERIAL.println(current_position[X_AXIS]); + SERIAL_ECHOPGM("AVG CURRENT POSITION Y: "); + MYSERIAL.println(current_position[Y_AXIS]); + } + #endif // SUPPORT_VERBOSITY + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) { + lcd_show_fullscreen_message_and_wait_P(PSTR("Final position")); + lcd_update_enable(true); + } + #endif //SUPPORT_VERBOSITY + + break; + } + } + + enable_z_endstop(false); + invert_z_endstop(false); + return found; + +} +#else //HEATBED_V2 +inline bool find_bed_induction_sensor_point_xy(int verbosity_level) +{ + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); + #endif // SUPPORT_VERBOSITY + float feedrate = homing_feedrate[X_AXIS] / 60.f; + bool found = false; + + { + float x0 = current_position[X_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float x1 = current_position[X_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_X_RADIUS; + float y0 = current_position[Y_AXIS] - FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + float y1 = current_position[Y_AXIS] + FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS; + uint8_t nsteps_y; + uint8_t i; + if (x0 < X_MIN_POS) { + x0 = X_MIN_POS; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("X searching radius lower than X_MIN. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + if (x1 > X_MAX_POS) { + x1 = X_MAX_POS; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("X searching radius higher than X_MAX. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + if (y0 < Y_MIN_POS_FOR_BED_CALIBRATION) { + y0 = Y_MIN_POS_FOR_BED_CALIBRATION; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("Y searching radius lower than Y_MIN. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + if (y1 > Y_MAX_POS) { + y1 = Y_MAX_POS; + #ifdef SUPPORT_VERBOSITY + if (verbosity_level >= 20) SERIAL_ECHOLNPGM("Y searching radius higher than X_MAX. Clamping was done."); + #endif // SUPPORT_VERBOSITY + } + nsteps_y = int(ceil((y1 - y0) / FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP)); + + enable_endstops(false); + bool dir_positive = true; + + // go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS]/60); + go_xyz(x0, y0, current_position[Z_AXIS], feedrate); + // Continously lower the Z axis. + endstops_hit_on_purpose(); + enable_z_endstop(true); + while (current_position[Z_AXIS] > -10.f) { + // Do nsteps_y zig-zag movements. + current_position[Y_AXIS] = y0; + for (i = 0; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; + if (endstop_z_hit_on_purpose()) + goto endloop; + } + for (i = 0; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++i) { + // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); + dir_positive = !dir_positive; + if (endstop_z_hit_on_purpose()) + goto endloop; + } + } + endloop: + // SERIAL_ECHOLN("First hit"); + + // we have to let the planner know where we are right now as it is not where we said to go. + update_current_position_xyz(); + + // Search in this plane for the first hit. Zig-zag first in X, then in Y axis. + for (int8_t iter = 0; iter < 3; ++iter) { + if (iter > 0) { + // Slightly lower the Z axis to get a reliable trigger. + current_position[Z_AXIS] -= 0.02f; + go_xyz(current_position[X_AXIS], current_position[Y_AXIS], MESH_HOME_Z_SEARCH, homing_feedrate[Z_AXIS] / 60); + } + + // Do nsteps_y zig-zag movements. + float a, b; + enable_endstops(false); + enable_z_endstop(false); + current_position[Y_AXIS] = y0; + go_xy(x0, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + found = false; + for (i = 0, dir_positive = true; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++i, dir_positive = !dir_positive) { + go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); + if (endstop_z_hit_on_purpose()) { + found = true; + break; + } + } + update_current_position_xyz(); + if (!found) { + // SERIAL_ECHOLN("Search in Y - not found"); + continue; + } + // SERIAL_ECHOLN("Search in Y - found"); + a = current_position[Y_AXIS]; + + enable_z_endstop(false); + current_position[Y_AXIS] = y1; + go_xy(x0, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + found = false; + for (i = 0, dir_positive = true; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++i, dir_positive = !dir_positive) { + go_xy(dir_positive ? x1 : x0, current_position[Y_AXIS], feedrate); + if (endstop_z_hit_on_purpose()) { + found = true; + break; + } + } + update_current_position_xyz(); + if (!found) { + // SERIAL_ECHOLN("Search in Y2 - not found"); + continue; + } + // SERIAL_ECHOLN("Search in Y2 - found"); + b = current_position[Y_AXIS]; + current_position[Y_AXIS] = 0.5f * (a + b); + + // Search in the X direction along a cross. + found = false; + enable_z_endstop(false); + go_xy(x0, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + go_xy(x1, current_position[Y_AXIS], feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 0 - not found"); + continue; + } + // SERIAL_ECHOLN("Search X span 0 - found"); + a = current_position[X_AXIS]; + enable_z_endstop(false); + go_xy(x1, current_position[Y_AXIS], feedrate); + enable_z_endstop(true); + go_xy(x0, current_position[Y_AXIS], feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search X span 1 - not found"); + continue; + } + // SERIAL_ECHOLN("Search X span 1 - found"); + b = current_position[X_AXIS]; + // Go to the center. + enable_z_endstop(false); + current_position[X_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); + found = true; #if 1 - // Search in the Y direction along a cross. - found = false; - enable_z_endstop(false); - go_xy(current_position[X_AXIS], y0, feedrate); - enable_z_endstop(true); - go_xy(current_position[X_AXIS], y1, feedrate); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search Y2 span 0 - not found"); - continue; - } -// SERIAL_ECHOLN("Search Y2 span 0 - found"); - a = current_position[Y_AXIS]; - enable_z_endstop(false); - go_xy(current_position[X_AXIS], y1, feedrate); - enable_z_endstop(true); - go_xy(current_position[X_AXIS], y0, feedrate); - update_current_position_xyz(); - if (! endstop_z_hit_on_purpose()) { -// SERIAL_ECHOLN("Search Y2 span 1 - not found"); - continue; - } -// SERIAL_ECHOLN("Search Y2 span 1 - found"); - b = current_position[Y_AXIS]; - // Go to the center. - enable_z_endstop(false); - current_position[Y_AXIS] = 0.5f * (a + b); - go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); - found = true; + // Search in the Y direction along a cross. + found = false; + enable_z_endstop(false); + go_xy(current_position[X_AXIS], y0, feedrate); + enable_z_endstop(true); + go_xy(current_position[X_AXIS], y1, feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 0 - not found"); + continue; + } + // SERIAL_ECHOLN("Search Y2 span 0 - found"); + a = current_position[Y_AXIS]; + enable_z_endstop(false); + go_xy(current_position[X_AXIS], y1, feedrate); + enable_z_endstop(true); + go_xy(current_position[X_AXIS], y0, feedrate); + update_current_position_xyz(); + if (!endstop_z_hit_on_purpose()) { + // SERIAL_ECHOLN("Search Y2 span 1 - not found"); + continue; + } + // SERIAL_ECHOLN("Search Y2 span 1 - found"); + b = current_position[Y_AXIS]; + // Go to the center. + enable_z_endstop(false); + current_position[Y_AXIS] = 0.5f * (a + b); + go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate); + found = true; #endif - break; - } - } + break; + } + } - enable_z_endstop(false); - return found; + enable_z_endstop(false); + return found; } +#endif //HEATBED_V2 + // Search around the current_position[X,Y,Z]. // It is expected, that the induction sensor is switched on at the current position. // Look around this center point by painting a star around the point. @@ -1368,7 +1631,7 @@ canceled: // Searching in a zig-zag movement in a plane for the maximum width of the response. // This function may set the current_position[Y_AXIS] below Y_MIN_POS, if the function succeeded. // If this function failed, the Y coordinate will never be outside the working space. -#define IMPROVE_BED_INDUCTION_SENSOR_POINT3_SEARCH_RADIUS (4.f) +#define IMPROVE_BED_INDUCTION_SENSOR_POINT3_SEARCH_RADIUS (8.f) #define IMPROVE_BED_INDUCTION_SENSOR_POINT3_SEARCH_STEP_FINE_Y (0.1f) inline bool improve_bed_induction_sensor_point3(int verbosity_level) { @@ -1855,7 +2118,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level #endif // SUPPORT_VERBOSITY if (!find_bed_induction_sensor_point_xy(verbosity_level)) return BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; -#if 1 +#ifndef HEATBED_V2 if (k == 0 || k == 1) { // Improve the position of the 1st row sensor points by a zig-zag movement. @@ -1876,7 +2139,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level // not found return BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; } -#endif +#endif //HEATBED_V2 #ifdef SUPPORT_VERBOSITY if (verbosity_level >= 10) delay_keep_alive(3000); @@ -2292,16 +2555,7 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8 } #endif // SUPPORT_VERBOSITY - //make space - current_position[Z_AXIS] += 150; - go_to_current(homing_feedrate[Z_AXIS] / 60); - //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder);); - - lcd_show_fullscreen_message_and_wait_P(MSG_PLACE_STEEL_SHEET); - - // Sample Z heights for the mesh bed leveling. - // In addition, store the results into an eeprom, to be used later for verification of the bed leveling process. - if (! sample_mesh_and_store_reference()) + if(!sample_z()) goto canceled; enable_endstops(endstops_enabled); @@ -2323,6 +2577,22 @@ canceled: return result; } +bool sample_z() { + bool sampled = true; + //make space + current_position[Z_AXIS] += 150; + go_to_current(homing_feedrate[Z_AXIS] / 60); + //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder);); + + lcd_show_fullscreen_message_and_wait_P(MSG_PLACE_STEEL_SHEET); + + // Sample Z heights for the mesh bed leveling. + // In addition, store the results into an eeprom, to be used later for verification of the bed leveling process. + if (!sample_mesh_and_store_reference()) sampled = false; + + return sampled; +} + void go_home_with_z_lift() { // Don't let the manage_inactivity() function remove power from the motors. @@ -2508,7 +2778,7 @@ bool scan_bed_induction_points(int8_t verbosity_level) current_position[Y_AXIS] = Y_MIN_POS_FOR_BED_CALIBRATION; go_to_current(homing_feedrate[X_AXIS]/60); find_bed_induction_sensor_point_z(); - scan_bed_induction_sensor_point(); + scan_bed_induction_sensor_point(); } // Don't let the manage_inactivity() function remove power from the motors. refresh_cmd_timeout(); diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 4f6ebd724..5f5a98aa2 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -187,5 +187,6 @@ extern void babystep_undo(); // Reset the current babystep counter without moving the axes. extern void babystep_reset(); extern void count_xyz_details(); +extern bool sample_z(); #endif /* MESH_BED_CALIBRATION_H */ diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index d7f30d23f..b7c22d44f 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -126,10 +126,6 @@ static uint8_t g_cntr_planner_queue_min = 0; float extrude_min_temp=EXTRUDE_MINTEMP; #endif -#ifdef FILAMENT_SENSOR - static char meas_sample; //temporary variable to hold filament measurement sample -#endif - #ifdef LIN_ADVANCE float extruder_advance_k = LIN_ADVANCE_K, advance_ed_ratio = LIN_ADVANCE_E_D_RATIO, @@ -782,12 +778,6 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi #endif block->steps_z = labs(target[Z_AXIS]-position[Z_AXIS]); block->steps_e = labs(target[E_AXIS]-position[E_AXIS]); - if (volumetric_multiplier[active_extruder] != 1.f) - block->steps_e *= volumetric_multiplier[active_extruder]; - if (extrudemultiply != 100) { - 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 @@ -919,7 +909,7 @@ Having the real displacement of the head, we can calculate the total movement le 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; + delta_mm[E_AXIS] = (target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS]; if ( block->steps_x <=dropsegments && block->steps_y <=dropsegments && block->steps_z <=dropsegments ) { block->millimeters = fabs(delta_mm[E_AXIS]); @@ -955,49 +945,6 @@ Having the real displacement of the head, we can calculate the total movement le 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 diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 8510daf9b..8f21c7f93 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -98,6 +98,7 @@ static bool old_z_max_endstop=false; static bool check_endstops = true; static bool check_z_endstop = false; +static bool z_endstop_invert = false; int8_t SilentMode = 0; @@ -282,10 +283,15 @@ bool enable_endstops(bool check) bool enable_z_endstop(bool check) { - bool old = check_z_endstop; - check_z_endstop = check; - endstop_z_hit=false; - return old; + bool old = check_z_endstop; + check_z_endstop = check; + endstop_z_hit = false; + return old; +} + +void invert_z_endstop(bool endstop_invert) +{ + z_endstop_invert = endstop_invert; } // __________________________ @@ -603,9 +609,9 @@ void isr() { // Good for searching for the center of an induction target. #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); + z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert) || (READ(Z_TMC2130_DIAG) != 0); #else - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + z_min_endstop = (READ(Z_MIN_PIN) != z_endstop_invert); #endif //TMC2130_SG_HOMING if(z_min_endstop && old_z_min_endstop) { endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS]; @@ -1361,10 +1367,9 @@ void EEPROM_read_st(int pos, uint8_t* value, uint8_t size) void digipot_init() //Initialize Digipot Motor Current -{ - +{ EEPROM_read_st(EEPROM_SILENT,(uint8_t*)&SilentMode,sizeof(SilentMode)); - + SilentModeMenu = SilentMode; #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1 if(SilentMode == 0){ const uint8_t digipot_motor_current[] = DIGIPOT_MOTOR_CURRENT_LOUD; diff --git a/Firmware/stepper.h b/Firmware/stepper.h index 2fdec2d6c..3c1e6ffed 100644 --- a/Firmware/stepper.h +++ b/Firmware/stepper.h @@ -93,6 +93,7 @@ bool endstop_z_hit_on_purpose(); bool enable_endstops(bool check); // Enable/disable endstop checking. Return the old value. bool enable_z_endstop(bool check); +void invert_z_endstop(bool endstop_invert); void checkStepperErrors(); //Print errors detected by the stepper diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 5e7704b8d..870e60e9c 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -104,9 +104,6 @@ unsigned char soft_pwm_bed; 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============================ //=========================================================================== @@ -204,9 +201,6 @@ unsigned long watchmillis[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0); #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 ============================ //=========================================================================== @@ -810,27 +804,6 @@ void manage_heater() #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 #ifdef HOST_KEEPALIVE_FEATURE host_keepalive(); #endif @@ -985,9 +958,7 @@ static void updateTemperaturesFromRawValues() #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(); @@ -997,35 +968,6 @@ static void updateTemperaturesFromRawValues() } -// 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_measMEASURED_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)) diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 73c503bcf..91791c4cf 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -31,14 +31,6 @@ 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]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 3b3d0706c..b892dca5e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -204,9 +204,9 @@ static void prusa_stat_temperatures(); static void prusa_stat_printinfo(); static void lcd_farm_no(); static void lcd_menu_extruder_info(); -#ifdef TMC2130 +#if defined(TMC2130) || defined(PAT9125) static void lcd_menu_fails_stats(); -#endif //TMC2130 +#endif //TMC2130 or PAT9125 void lcd_finishstatus(); @@ -1537,7 +1537,7 @@ static void lcd_menu_extruder_info() } } -#ifdef TMC2130 +#if defined(TMC2130) && defined(PAT9125) static void lcd_menu_fails_stats_total() { //01234567890123456789 @@ -1579,7 +1579,13 @@ static void lcd_menu_fails_stats_print() lcd_goto_menu(lcd_menu_fails_stats, 2); } } - +/** + * @brief Open fail statistics menu + * + * This version of function is used, when there is filament sensor, + * power failure and crash detection. + * There are Last print and Total menu items. + */ static void lcd_menu_fails_stats() { START_MENU(); @@ -1588,6 +1594,34 @@ static void lcd_menu_fails_stats() MENU_ITEM(submenu, PSTR("Total"), lcd_menu_fails_stats_total); END_MENU(); } +#else if defined(PAT9125) +/** + * @brief Print last print and total filament run outs + * + * This version of function is used, when there is filament sensor, + * but no other sensors (e.g. power failure, crash detection). + * + * Example screen: + * @code + * 01234567890123456789 + * Last print failures + * Filam. runouts 0 + * Total failures + * Filam. runouts 5 + * @endcode + */ +static void lcd_menu_fails_stats() +{ + uint8_t filamentLast = eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT); + uint16_t filamentTotal = eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT); + fprintf_P(lcdout, PSTR(ESC_H(0,0)"Last print failures"ESC_H(1,1)"Filam. runouts %-3d"ESC_H(0,2)"Total failures"ESC_H(1,3)"Filam. runouts %-3d"), filamentLast, filamentTotal); + if (lcd_clicked()) + { + lcd_quick_feedback(); + //lcd_return_to_status(); + lcd_goto_menu(lcd_main_menu, 8); //TODO: Remove hard coded encoder value. + } +} #endif //TMC2130 @@ -3412,7 +3446,12 @@ static void lcd_fsensor_fail() static void lcd_silent_mode_set() { - SilentModeMenu = !SilentModeMenu; + switch (SilentModeMenu) { + case 0: SilentModeMenu = 1; break; + case 1: SilentModeMenu = 2; break; + case 2: SilentModeMenu = 0; break; + default: SilentModeMenu = 0; break; + } eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); #ifdef TMC2130 // Wait until the planner queue is drained and the stepper routine achieves @@ -3891,6 +3930,14 @@ static void lcd_settings_menu() { MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); } + if (!farm_mode) { //dont show in menu if we are in farm mode + switch (SilentModeMenu) { + case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; + case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; + default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + } + } #ifdef PAT9125 #ifndef DEBUG_DISABLE_FSENSORCHECK @@ -3944,12 +3991,15 @@ static void lcd_settings_menu() else { MENU_ITEM(function, MSG_TEMP_CALIBRATION_ON, lcd_temp_calibration_set); } +#ifdef HAS_SECOND_SERIAL_PORT if (selectedSerialPort == 0) { MENU_ITEM(function, MSG_SECOND_SERIAL_OFF, lcd_second_serial_set); } else { MENU_ITEM(function, MSG_SECOND_SERIAL_ON, lcd_second_serial_set); } +#endif //HAS_SECOND_SERIAL + if (!isPrintPaused && !homing_flag) { @@ -5207,9 +5257,9 @@ static void lcd_main_menu() MENU_ITEM(submenu, MSG_STATISTICS, lcd_menu_statistics); } -#ifdef TMC2130 +#if defined(TMC2130) || defined(PAT9125) MENU_ITEM(submenu, PSTR("Fail stats"), lcd_menu_fails_stats); -#endif //TMC2130 +#endif MENU_ITEM(submenu, MSG_SUPPORT, lcd_support_menu); @@ -5251,6 +5301,18 @@ static void lcd_autostart_sd() +static void lcd_silent_mode_set_tune() { + switch (SilentModeMenu) { + case 0: SilentModeMenu = 1; break; + case 1: SilentModeMenu = 2; break; + case 2: SilentModeMenu = 0; break; + default: SilentModeMenu = 0; break; + } + eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); + digipot_init(); + lcd_goto_menu(lcd_tune_menu, 9); +} + static void lcd_colorprint_change() { enquecommand_P(PSTR("M600")); @@ -5264,51 +5326,55 @@ static void lcd_colorprint_change() { static void lcd_tune_menu() { - EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); + EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); - - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 - MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 - MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 - MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 + MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 - MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 - MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 + MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 + MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 + + MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 + MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 #ifdef FILAMENTCHANGEENABLE - MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 + MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 #endif - -#ifdef PAT9125 + #ifndef DEBUG_DISABLE_FSENSORCHECK - if (FSensorStateMenu == 0) { - MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); - } else { - MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); - } + if (FSensorStateMenu == 0) { + MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); + } + else { + MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); + } #endif //DEBUG_DISABLE_FSENSORCHECK -#endif //PAT9125 #ifdef TMC2130 - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); + if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); - if (SilentModeMenu == 0) - { - if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); - else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); - } - else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); + if (SilentModeMenu == 0) + { + if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); + else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); + } + else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); +#else //TMC2130 + if (!farm_mode) { //dont show in menu if we are in farm mode + switch (SilentModeMenu) { + case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; + case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; + default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + } + } #endif //TMC2130 - - END_MENU(); + END_MENU(); } - - - static void lcd_move_menu_01mm() { move_menu_scale = 0.1; diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 1dde5128c..87a589346 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -118,6 +118,7 @@ void lcd_mylang(); extern int farm_no; extern int farm_timer; extern int farm_status; + extern int8_t SilentModeMenu; #ifdef SNMM extern uint8_t snmm_extruder; From 27659ae69e64618e569384b60fbe6da4b7c9fc10 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 6 Mar 2018 16:48:39 +0100 Subject: [PATCH 076/926] steps per unit changed to 0.95%; changed temp cal. warnings, changed pin for PINDA probe --- Firmware/Configuration_prusa.h | 2 +- Firmware/Marlin_main.cpp | 7 ++++--- Firmware/pins_Rambo_1_3.h | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 014c2f7f4..d9d84e588 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -35,7 +35,7 @@ *------------------------------------*/ // Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} // Endstop inverting const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f6327fc78..fc0ed271b 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3228,9 +3228,6 @@ void process_commands() #ifdef PINDA_THERMISTOR if (true) { - lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); - bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); - if(result) lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) { // We don't know where we are! HOME! // Push the commands to the front of the message queue in the reverse order! @@ -3239,6 +3236,10 @@ void process_commands() enquecommand_front_P((PSTR("G28 W0"))); break; } + lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); + bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); + if (result) lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); + lcd_update_enable(true); KEEPALIVE_STATE(NOT_BUSY); //no need to print busy messages as we print current temperatures periodicaly SERIAL_ECHOLNPGM("PINDA probe calibration start"); diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h index b8ef9d435..2f2c4dd0a 100644 --- a/Firmware/pins_Rambo_1_3.h +++ b/Firmware/pins_Rambo_1_3.h @@ -52,14 +52,14 @@ #define TEMP_0_PIN 0 //A0 #define HEATER_1_PIN -1 -#define TEMP_1_PIN 1 //A1 +#define TEMP_1_PIN -1 //A1 #define HEATER_2_PIN -1 #define TEMP_2_PIN -1 #define TEMP_AMBIENT_PIN 6 //A6 -#define TEMP_PINDA_PIN 3 //A3 +#define TEMP_PINDA_PIN 1 //A1 From c986ac14ecbf3474a765270e9a9eacb2922647e2 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 6 Mar 2018 18:09:25 +0100 Subject: [PATCH 077/926] pinda thermistor pin changed --- Firmware/temperature.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 870e60e9c..bfbed8807 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -1494,8 +1494,8 @@ extern "C" { void adc_ready(void) //callback from adc when sampling finished { current_temperature_raw[0] = adc_values[0]; - current_temperature_bed_raw = adc_values[2]; - current_temperature_raw_pinda = adc_values[3]; + current_temperature_raw_pinda = adc_values[1]; + current_temperature_bed_raw = adc_values[2]; #ifdef VOLT_PWR_PIN current_voltage_raw_pwr = adc_values[4]; #endif From 235803bc2a2d46bc34dd4a426c68e2ac23c30963 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Tue, 6 Mar 2018 19:47:27 +0100 Subject: [PATCH 078/926] Move encoder stack to separate class MenuStack. Add menu record to MenuStack. It was needed to add menuFunc_t menu to stack, as in some places in menu, it is impossible to hardcode parent menu. Example: lcd_babystep_z can be invoked both from main_menu() and settings_menu() depending on printer status. --- Firmware/MenuStack.cpp | 29 ++++++++++++++++++++ Firmware/MenuStack.h | 33 +++++++++++++++++++++++ Firmware/ultralcd.cpp | 60 ++++++++++++++++++++++++------------------ 3 files changed, 97 insertions(+), 25 deletions(-) create mode 100644 Firmware/MenuStack.cpp create mode 100644 Firmware/MenuStack.h diff --git a/Firmware/MenuStack.cpp b/Firmware/MenuStack.cpp new file mode 100644 index 000000000..5e17a7d92 --- /dev/null +++ b/Firmware/MenuStack.cpp @@ -0,0 +1,29 @@ +/** + * @file + * @author Marek Bel + */ + +#include "MenuStack.h" +/** + * @brief Push menu on stack + * @param menu + * @param position selected position in menu being pushed + */ +void MenuStack::push(menuFunc_t menu, uint8_t position) +{ + if (m_index >= max_depth) return; + m_stack[m_index].menu = menu; + m_stack[m_index].position = position; + ++m_index; +} + +/** + * @brief Pop menu from stack + * @return Record containing menu function pointer and previously selected line number + */ +MenuStack::Record MenuStack::pop() +{ + if (m_index != 0) m_index--; + + return m_stack[m_index]; +} diff --git a/Firmware/MenuStack.h b/Firmware/MenuStack.h new file mode 100644 index 000000000..55c836905 --- /dev/null +++ b/Firmware/MenuStack.h @@ -0,0 +1,33 @@ +/** + * @file + * @author Marek Bel + */ + +#ifndef MENUSTACK_H +#define MENUSTACK_H + +#include + +/** Pointer to function implementing menu.*/ +typedef void (*menuFunc_t)(); +/** + * @brief Stack implementation for navigating menu structure + */ +class MenuStack +{ +public: + struct Record + { + menuFunc_t menu; + uint8_t position; + }; + MenuStack():m_stack(),m_index(0) {} + void push(menuFunc_t menu, uint8_t position); + Record pop(); +private: + static const int max_depth = 3; + Record m_stack[max_depth]; + uint8_t m_index; +}; + +#endif /* FIRMWARE_MENUSTACK_H_ */ diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index b892dca5e..bdf7775f8 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1,6 +1,7 @@ #include "temperature.h" #include "ultralcd.h" #ifdef ULTRA_LCD +#include "MenuStack.h" #include "Marlin.h" #include "language.h" #include "cardreader.h" @@ -39,7 +40,7 @@ extern bool fsensor_enabled; #endif //PAT9125 //Function pointer to menu functions. -typedef void (*menuFunc_t)(); + static void lcd_sd_updir(); @@ -223,7 +224,7 @@ static void lcd_delta_calibrate_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_back(menuFunc_t data = 0); #define menu_action_back_RAM menu_action_back static void menu_action_submenu(menuFunc_t data); static void menu_action_gcode(const char* pgcode); @@ -339,6 +340,22 @@ uint8_t lcdDrawUpdate = 2; /* Set to none-zero when the LCD nee // float raw_Ki, raw_Kd; #endif + +/** + * @brief Go to menu + * + * This function should not be used directly, use + * menu_action_back and menu_action_submenu instead. + * + * @param menu target menu + * @param encoder position in target menu + * @param feedback + * * true sound feedback (click) + * * false no feedback + * @param reset_menu_state + * * true reset menu state global union + * * false do not reset menu state global union + */ static void lcd_goto_menu(menuFunc_t menu, const uint32_t encoder = 0, const bool feedback = true, bool reset_menu_state = true) { asm("cli"); @@ -6647,32 +6664,25 @@ static void lcd_quick_feedback() lcd_implementation_quick_feedback(); } -#define ENC_STACK_SIZE 3 -static uint8_t enc_stack[ENC_STACK_SIZE]; //encoder is originaly uint16, but for menu -static uint8_t enc_stack_cnt = 0; - -static void lcd_push_encoder(void) -{ - if (enc_stack_cnt >= ENC_STACK_SIZE) return; - enc_stack[enc_stack_cnt] = encoderPosition; - enc_stack_cnt++; -} - -static void lcd_pop_encoder(void) -{ - if (enc_stack_cnt == 0) return; - enc_stack_cnt--; - encoderPosition = enc_stack[enc_stack_cnt]; -} - - /** Menu action functions **/ -static void menu_action_back(menuFunc_t data) { - lcd_goto_menu(data); - lcd_pop_encoder(); +static MenuStack menuStack; + +/** + * @brief Go up in menu structure + * @param data unused parameter + */ +static void menu_action_back(menuFunc_t data) +{ + MenuStack::Record record = menuStack.pop(); + lcd_goto_menu(record.menu); + encoderPosition = record.position; } +/** + * @brief Go deeper into menu structure + * @param data nested menu + */ static void menu_action_submenu(menuFunc_t data) { - lcd_push_encoder(); + menuStack.push(currentMenu, encoderPosition); lcd_goto_menu(data); } static void menu_action_gcode(const char* pgcode) { From e551ed1f6e394978dfeb32daf86eff56b0e56552 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Tue, 6 Mar 2018 19:51:13 +0100 Subject: [PATCH 079/926] Replace lcd_goto_menu(...) by menu_action_back() in lcd_menu_fails_stats(); --- Firmware/ultralcd.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index bdf7775f8..e80d8046f 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1634,9 +1634,7 @@ static void lcd_menu_fails_stats() fprintf_P(lcdout, PSTR(ESC_H(0,0)"Last print failures"ESC_H(1,1)"Filam. runouts %-3d"ESC_H(0,2)"Total failures"ESC_H(1,3)"Filam. runouts %-3d"), filamentLast, filamentTotal); if (lcd_clicked()) { - lcd_quick_feedback(); - //lcd_return_to_status(); - lcd_goto_menu(lcd_main_menu, 8); //TODO: Remove hard coded encoder value. + menu_action_back(); } } #endif //TMC2130 From 020269a83c00bb398fbdc0aab06bab1f0ccf8fd3 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Tue, 6 Mar 2018 21:26:14 +0100 Subject: [PATCH 080/926] Fix unable to go back from main menu to status screen. --- Firmware/MenuStack.h | 3 ++- Firmware/ultralcd.cpp | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Firmware/MenuStack.h b/Firmware/MenuStack.h index 55c836905..04754449c 100644 --- a/Firmware/MenuStack.h +++ b/Firmware/MenuStack.h @@ -24,8 +24,9 @@ public: MenuStack():m_stack(),m_index(0) {} void push(menuFunc_t menu, uint8_t position); Record pop(); + void reset(){m_index = 0;} private: - static const int max_depth = 3; + static const int max_depth = 4; Record m_stack[max_depth]; uint8_t m_index; }; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index e80d8046f..a3a08bccb 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -106,7 +106,7 @@ union Data byte b[2]; int value; }; - +static MenuStack menuStack; int8_t ReInitLCD = 0; int8_t SDscrool = 0; @@ -527,8 +527,8 @@ static void lcd_status_screen() if (current_click && (lcd_commands_type != LCD_COMMAND_STOP_PRINT)) //click is aborted unless stop print finishes { - - lcd_goto_menu(lcd_main_menu); + menuStack.reset(); + menu_action_submenu(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 @@ -6663,7 +6663,6 @@ static void lcd_quick_feedback() } /** Menu action functions **/ -static MenuStack menuStack; /** * @brief Go up in menu structure From ed0e7a8b58516976c3be7782c2bab11bb8b0d01d Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Tue, 6 Mar 2018 21:27:06 +0100 Subject: [PATCH 081/926] Preserve position in menu move axis. --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a3a08bccb..43692d0a9 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1534,7 +1534,7 @@ static void lcd_menu_extruder_info() lcd.print(itostr3(pat9125_b)); // Display LASER shutter time from Filament sensor - /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chips internal + /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chip�s internal auto-exposure algorithm. When the chip is tracking on a good reflection surface, the Shutter is small. When the chip is tracking on a poor reflection surface, the Shutter is large. Value ranges from 0 to 46. */ @@ -2199,7 +2199,7 @@ static void _lcd_move(const char *name, int axis, int min, int max) { } } if (lcdDrawUpdate) lcd_implementation_drawedit(name, ftostr31(current_position[axis])); - if (LCD_CLICKED) lcd_goto_menu(lcd_move_menu_axis); { + if (LCD_CLICKED) menu_action_back(); { } } From b7df176a466ac4690e79332726c2b696099c2a56 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Tue, 6 Mar 2018 22:45:47 +0100 Subject: [PATCH 082/926] Preserve position in menu Live adjust Z. --- Firmware/ultralcd.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 43692d0a9..917479c32 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -972,7 +972,8 @@ void lcd_commands() { lcd_implementation_clear(); - lcd_goto_menu(lcd_babystep_z, 0, false); + menuStack.reset(); + menu_action_submenu(lcd_babystep_z); enquecommand_P(PSTR("G1 X60.0 E9.0 F1000.0")); //intro line enquecommand_P(PSTR("G1 X100.0 E12.5 F1000.0")); //intro line enquecommand_P(PSTR("G92 E0.0")); @@ -2373,7 +2374,7 @@ static void _lcd_babystep(int axis, const char *msg) (axis == 0) ? EEPROM_BABYSTEP_X : ((axis == 1) ? EEPROM_BABYSTEP_Y : EEPROM_BABYSTEP_Z), &menuData.babyStep.babystepMem[axis]); } - if (LCD_CLICKED) lcd_goto_menu(lcd_main_menu); + if (LCD_CLICKED) menu_action_back(); } static void lcd_babystep_x() { From e3967e444b2535037ff93e6dad915647d9093271 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 7 Mar 2018 14:13:34 +0100 Subject: [PATCH 083/926] SafetyTimer disabled Watchdog disabled watchdog.cpp and watchdog.h source code removed (using directly ) --- Firmware/Configuration_adv.h | 10 ------ Firmware/Configuration_prusa.h | 3 +- Firmware/Marlin_main.cpp | 8 +++-- Firmware/temperature.cpp | 13 +++++--- Firmware/watchdog.cpp | 56 ---------------------------------- Firmware/watchdog.h | 17 ----------- 6 files changed, 16 insertions(+), 91 deletions(-) delete mode 100644 Firmware/watchdog.cpp delete mode 100644 Firmware/watchdog.h diff --git a/Firmware/Configuration_adv.h b/Firmware/Configuration_adv.h index 36b247cd5..04e29a025 100644 --- a/Firmware/Configuration_adv.h +++ b/Firmware/Configuration_adv.h @@ -284,16 +284,6 @@ //#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 diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 861fac87f..47939e07a 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -170,7 +170,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PAT9125 //!< Filament sensor #define FANCHECK -#define SAFETYTIMER +//#define WATCHDOG +//#define SAFETYTIMER /*------------------------------------ diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index ecb8e30ab..102482401 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -49,7 +49,6 @@ #include "temperature.h" #include "motion_control.h" #include "cardreader.h" -#include "watchdog.h" #include "ConfigurationStore.h" #include "language.h" #include "pins_arduino.h" @@ -1042,7 +1041,6 @@ void setup() lcd_splash(); // we need to do this again, because tp_init() kills lcd plan_init(); // Initialize planner; - watchdog_init(); factory_reset(); @@ -1307,7 +1305,9 @@ void setup() #endif //UVLO_SUPPORT KEEPALIVE_STATE(NOT_BUSY); +#ifdef WATCHDOG wdt_enable(WDTO_4S); +#endif //WATCHDOG } #ifdef PAT9125 @@ -6901,7 +6901,9 @@ void kill(const char *full_screen_message, unsigned char id) suicide(); while(1) { - wdt_reset(); +#ifdef WATCHDOG + wdt_reset(); +#endif //WATCHDOG /* Intentionally left empty */ } // Wait for reset diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index bfbed8807..de18de260 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -32,7 +32,6 @@ #include "Marlin.h" #include "ultralcd.h" #include "temperature.h" -#include "watchdog.h" #include "cardreader.h" #include "Sd2PinMap.h" @@ -262,7 +261,9 @@ unsigned long watchmillis[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0); for(;;) { - wdt_reset(); +#ifdef WATCHDOG + wdt_reset(); +#endif //WATCHDOG if(temp_meas_ready == true) { // temp sample ready updateTemperaturesFromRawValues(); @@ -576,7 +577,9 @@ void checkExtruderAutoFans() void manage_heater() { - wdt_reset(); +#ifdef WATCHDOG + wdt_reset(); +#endif //WATCHDOG float pid_input; float pid_output; @@ -960,7 +963,9 @@ static void updateTemperaturesFromRawValues() #endif //Reset the watchdog after we know we have a temperature measurement. - watchdog_reset(); +#ifdef WATCHDOG + wdt_reset(); +#endif //WATCHDOG CRITICAL_SECTION_START; temp_meas_ready = false; diff --git a/Firmware/watchdog.cpp b/Firmware/watchdog.cpp deleted file mode 100644 index b378ca706..000000000 --- a/Firmware/watchdog.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "Marlin.h" - -#ifdef USE_WATCHDOG -#include - -#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 diff --git a/Firmware/watchdog.h b/Firmware/watchdog.h deleted file mode 100644 index a73f3a846..000000000 --- a/Firmware/watchdog.h +++ /dev/null @@ -1,17 +0,0 @@ -#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 From fb4230f80d3308af568ce35566fa5278e6c38c02 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 7 Mar 2018 15:46:46 +0100 Subject: [PATCH 084/926] Fix of a regression bug, caused by pre-calculating the extrudemultiply for precission and performance: calculate_extruder_multipliers() has to be called after extrudemultiply is changed from the printer panel. --- Firmware/ultralcd.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 9cd4a932d..2c9f7f1f6 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -90,6 +90,18 @@ union MenuData int rear2; } adjustBed; + struct TuneMenu + { + // editMenuParentState is used when an edit menu is entered, so it knows + // the return menu and encoder state. + struct EditMenuParentState editMenuParentState; + // To recognize, whether the menu has been just initialized. + int8_t status; + // Backup of extrudemultiply, to recognize, that the value has been changed and + // it needs to be applied. + int16_t extrudemultiply; + } tuneMenu; + // editMenuParentState is used when an edit menu is entered, so it knows // the return menu and encoder state. struct EditMenuParentState editMenuParentState; @@ -5443,6 +5455,16 @@ static void lcd_colorprint_change() { static void lcd_tune_menu() { + if (menuData.tuneMenu.status == 0) { + // Menu was entered. Mark the menu as entered and save the current extrudemultiply value. + menuData.tuneMenu.status = 1; + menuData.tuneMenu.extrudemultiply = extrudemultiply; + } else if (menuData.tuneMenu.extrudemultiply != extrudemultiply) { + // extrudemultiply has been changed from the child menu. Apply the new value. + menuData.tuneMenu.extrudemultiply = extrudemultiply; + calculate_extruder_multipliers(); + } + EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); From 6ba07a358b915d0bafadef43d172eb97c5258901 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 7 Mar 2018 15:46:46 +0100 Subject: [PATCH 085/926] Fix of a regression bug, caused by pre-calculating the extrudemultiply for precission and performance: calculate_extruder_multipliers() has to be called after extrudemultiply is changed from the printer panel. --- Firmware/ultralcd.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index b892dca5e..f00748b43 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -91,6 +91,18 @@ union MenuData int rear2; } adjustBed; + struct TuneMenu + { + // editMenuParentState is used when an edit menu is entered, so it knows + // the return menu and encoder state. + struct EditMenuParentState editMenuParentState; + // To recognize, whether the menu has been just initialized. + int8_t status; + // Backup of extrudemultiply, to recognize, that the value has been changed and + // it needs to be applied. + int16_t extrudemultiply; + } tuneMenu; + // editMenuParentState is used when an edit menu is entered, so it knows // the return menu and encoder state. struct EditMenuParentState editMenuParentState; @@ -5326,7 +5338,17 @@ static void lcd_colorprint_change() { static void lcd_tune_menu() { - EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); + if (menuData.tuneMenu.status == 0) { + // Menu was entered. Mark the menu as entered and save the current extrudemultiply value. + menuData.tuneMenu.status = 1; + menuData.tuneMenu.extrudemultiply = extrudemultiply; + } else if (menuData.tuneMenu.extrudemultiply != extrudemultiply) { + // extrudemultiply has been changed from the child menu. Apply the new value. + menuData.tuneMenu.extrudemultiply = extrudemultiply; + calculate_extruder_multipliers(); + } + + EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); From 77c3d7d7f7b7e7a6d7664c7c4d39acf2c33c6d30 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 16:47:20 +0100 Subject: [PATCH 086/926] Review and document lcd_adjust_bed_reset() lcd_goto_menu() usage. --- Firmware/ultralcd.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 917479c32..228fd7635 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2389,6 +2389,14 @@ static void lcd_babystep_z() { static void lcd_adjust_bed(); +/** + * @brief adjust bed reset menu item function + * + * To be used as MENU_ITEM(function,...) inside lcd_adjust_bed submenu. In such case lcd_goto_menu usage + * is correct and doesn't break menuStack. + * Because we did not leave the menu, the menuData did not reset. + * Force refresh of the bed leveling data. + */ static void lcd_adjust_bed_reset() { eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1); @@ -2396,9 +2404,7 @@ static void lcd_adjust_bed_reset() eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, 0); eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_FRONT, 0); eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_REAR , 0); - lcd_goto_menu(lcd_adjust_bed, 0, false); - // Because we did not leave the menu, the menuData did not reset. - // Force refresh of the bed leveling data. + lcd_goto_menu(lcd_adjust_bed, 0, false); //doesn't break menuStack menuData.adjustBed.status = 0; } From 0871925353ffa8371ed57c5de0d28df8b3b9a168 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 17:03:17 +0100 Subject: [PATCH 087/926] Remove special handling of lcd_move_z after long button press. Convert lcd_move_z after long button press to ordinary menu_action_submenu. Known bug (feature) is, that with current maximum stack depth, when long press is activated in menu > settings > move axis > Move X and then Move Z is deactivated, menu is returned to "move axis" and not to "Move X". --- Firmware/ultralcd.cpp | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 228fd7635..13694ff99 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -321,14 +321,12 @@ volatile uint8_t slow_buttons;//Contains the bits of the currently pressed butto uint8_t currentMenuViewOffset; /* scroll offset in the current menu */ uint8_t lastEncoderBits; uint16_t encoderPosition; -uint16_t savedEncoderPosition; #if (SDCARDDETECT > 0) bool lcd_oldcardstatus; #endif #endif //ULTIPANEL menuFunc_t currentMenu = lcd_status_screen; /* function pointer to the currently active menu */ -menuFunc_t savedMenu; uint32_t lcd_next_update_millis; uint8_t lcd_status_update_delay; bool ignore_click = false; @@ -7107,10 +7105,6 @@ void lcd_buttons_update() if (millis() > button_blanking_time) { button_blanking_time = millis() + BUTTON_BLANKING_TIME; if (button_pressed == false && long_press_active == false) { - if (currentMenu != lcd_move_z) { - savedMenu = currentMenu; - savedEncoderPosition = encoderPosition; - } long_press_timer = millis(); button_pressed = true; } @@ -7119,7 +7113,7 @@ void lcd_buttons_update() long_press_active = true; move_menu_scale = 1.0; - lcd_goto_menu(lcd_move_z); + menu_action_submenu(lcd_move_z); } } } @@ -7129,13 +7123,7 @@ void lcd_buttons_update() button_blanking_time = millis() + BUTTON_BLANKING_TIME; if (long_press_active == false) { //button released before long press gets activated - if (currentMenu == lcd_move_z) { - //return to previously active menu and previous encoder position - lcd_goto_menu(savedMenu, savedEncoderPosition); - } - else { newbutton |= EN_C; - } } else if (currentMenu == lcd_move_z) lcd_quick_feedback(); //button_pressed is set back to false via lcd_quick_feedback function From d0a98dc6cc3148ee5f133f28445f4c219b54f254 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 17:18:10 +0100 Subject: [PATCH 088/926] Document valid usage of lcd_goto_menu(). --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 13694ff99..d4a0d6920 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3539,7 +3539,7 @@ static void lcd_fsensor_state_set() } } if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 7); - else lcd_goto_menu(lcd_settings_menu, 7); + else lcd_goto_menu(lcd_settings_menu, 7); //doesn't break menuStack } #endif //PAT9125 @@ -4627,7 +4627,7 @@ static void lcd_disable_farm_mode() { lcd_return_to_status(); } else { - lcd_goto_menu(lcd_settings_menu); + lcd_goto_menu(lcd_settings_menu); //doesn't break menuStack } lcd_update_enable(true); lcdDrawUpdate = 2; From 716098c4349c98b701b1436799879c84429a71fd Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 17:27:27 +0100 Subject: [PATCH 089/926] Preserve position in menu move axis Extruder. --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d4a0d6920..e212dae00 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2220,7 +2220,7 @@ static void lcd_move_e() { lcd_implementation_drawedit(PSTR("Extruder"), ftostr31(current_position[E_AXIS])); } - if (LCD_CLICKED) lcd_goto_menu(lcd_move_menu_axis); + if (LCD_CLICKED) menu_action_back(); } else { lcd_implementation_clear(); From 0c961dedc4898ba475872cdfbf5decbc658c14ce Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 18:15:24 +0100 Subject: [PATCH 090/926] Reset menu stack in lcd_return_to_status(). Mark menuStack.reset() as redundant in lcd_status_screen(), but leave it there to be sure. --- Firmware/ultralcd.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index e212dae00..0fb581ae7 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -525,7 +525,7 @@ static void lcd_status_screen() if (current_click && (lcd_commands_type != LCD_COMMAND_STOP_PRINT)) //click is aborted unless stop print finishes { - menuStack.reset(); + menuStack.reset(); //redundant, as already done in lcd_return_to_status(), just to be sure menu_action_submenu(lcd_main_menu); lcd_implementation_init( // to maybe revive the LCD if static electricity killed it. #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) @@ -1381,6 +1381,7 @@ static void lcd_return_to_status() { ); lcd_goto_menu(lcd_status_screen, 0, false); + menuStack.reset(); } From 1aba60813329e3d0d018fd10c14a5b8615d5aa32 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 18:30:33 +0100 Subject: [PATCH 091/926] Document valid usage of lcd_goto_menu(), wrap lcd_second_serial_set() by HAS_SECOND_SERIAL_PORT macro. --- Firmware/ultralcd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 0fb581ae7..461c19f65 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3608,13 +3608,15 @@ void lcd_temp_calibration_set() { lcd_goto_menu(lcd_settings_menu, 10); } +#ifdef HAS_SECOND_SERIAL_PORT void lcd_second_serial_set() { if(selectedSerialPort == 1) selectedSerialPort = 0; else selectedSerialPort = 1; eeprom_update_byte((unsigned char *)EEPROM_SECOND_SERIAL_ACTIVE, selectedSerialPort); MYSERIAL.begin(BAUDRATE); - lcd_goto_menu(lcd_settings_menu, 11); + lcd_goto_menu(lcd_settings_menu, 11);//doesn't break menuStack } +#endif //HAS_SECOND_SERIAL_PORT void lcd_calibrate_pinda() { enquecommand_P(PSTR("G76")); From 2a53686d2fa1a4f827c39b0a4338b9b70948fbec Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 19:33:40 +0100 Subject: [PATCH 092/926] Document valid usage of lcd_goto_menu(), remove redundant parameter. --- Firmware/ultralcd.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 461c19f65..39ef3c90c 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -342,8 +342,11 @@ uint8_t lcdDrawUpdate = 2; /* Set to none-zero when the LCD nee /** * @brief Go to menu * - * This function should not be used directly, use - * menu_action_back and menu_action_submenu instead. + * In MENU_ITEM(submenu,... ) use MENU_ITEM(back,...) or + * menu_action_back() and menu_action_submenu() instead, otherwise menuStack will be broken. + * + * It is acceptable to call lcd_goto_menu(menu) directly from MENU_ITEM(function,...), if destination menu + * is the same, from which function was called. * * @param menu target menu * @param encoder position in target menu @@ -1817,13 +1820,13 @@ static void lcd_support_menu() void lcd_set_fan_check() { fans_check_enabled = !fans_check_enabled; eeprom_update_byte((unsigned char *)EEPROM_FAN_CHECK_ENABLED, fans_check_enabled); - lcd_goto_menu(lcd_settings_menu, 8); + lcd_goto_menu(lcd_settings_menu); //doesn't break menuStack } void lcd_set_filament_autoload() { filament_autoload_enabled = !filament_autoload_enabled; eeprom_update_byte((unsigned char *)EEPROM_FSENS_AUTOLOAD_ENABLED, filament_autoload_enabled); - lcd_goto_menu(lcd_settings_menu, 8); + lcd_goto_menu(lcd_settings_menu); //doesn't break menuStack } void lcd_unLoadFilament() @@ -3027,7 +3030,7 @@ static void lcd_show_end_stops() { static void menu_show_end_stops() { lcd_show_end_stops(); - if (LCD_CLICKED) lcd_goto_menu(lcd_calibration_menu); + if (LCD_CLICKED) lcd_goto_menu(lcd_calibration_menu); //doesn't break menuStack } // Lets the user move the Z carriage up to the end stoppers. @@ -3415,7 +3418,7 @@ static void lcd_sort_type_set() { } eeprom_update_byte((unsigned char *)EEPROM_SD_SORT, sdSort); presort_flag = true; - lcd_goto_menu(lcd_settings_menu, 8); + lcd_goto_menu(lcd_settings_menu); //doesn't break menuStack } #endif //SDCARD_SORT_ALPHA @@ -3605,7 +3608,7 @@ void lcd_temp_calibration_set() { temp_cal_active = !temp_cal_active; eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, temp_cal_active); digipot_init(); - lcd_goto_menu(lcd_settings_menu, 10); + lcd_goto_menu(lcd_settings_menu); //doesn't break menuStack } #ifdef HAS_SECOND_SERIAL_PORT @@ -3614,7 +3617,7 @@ void lcd_second_serial_set() { else selectedSerialPort = 1; eeprom_update_byte((unsigned char *)EEPROM_SECOND_SERIAL_ACTIVE, selectedSerialPort); MYSERIAL.begin(BAUDRATE); - lcd_goto_menu(lcd_settings_menu, 11);//doesn't break menuStack + lcd_goto_menu(lcd_settings_menu);//doesn't break menuStack } #endif //HAS_SECOND_SERIAL_PORT From abb9aa0a16d42eb55fe28deb338b611ead027efe Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 7 Mar 2018 20:42:15 +0100 Subject: [PATCH 093/926] not using homing currents in axis selftest --- Firmware/ultralcd.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 90242b317..0ddd61409 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6057,14 +6057,12 @@ static bool lcd_selfcheck_axis_sg(char axis) { } // first axis length measurement begin - - tmc2130_home_enter(X_AXIS_MASK << axis); + current_position[axis] -= (axis_length + margin); plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); st_synchronize(); - tmc2130_home_exit(); tmc2130_sg_meassure_start(axis); @@ -6077,9 +6075,7 @@ static bool lcd_selfcheck_axis_sg(char axis) { current_position[axis] += axis_length; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - tmc2130_home_enter(X_AXIS_MASK << axis); st_synchronize(); - tmc2130_home_exit(); uint16_t sg1 = tmc2130_sg_meassure_stop(); printf_P(PSTR("%c AXIS SG1=%d\n"), 'X'+axis, sg1); @@ -6096,12 +6092,10 @@ static bool lcd_selfcheck_axis_sg(char axis) { plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); st_synchronize(); - tmc2130_home_enter(X_AXIS_MASK << axis); current_position[axis] -= (axis_length + margin); plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); st_synchronize(); - tmc2130_home_exit(); current_position_init = st_get_position_mm(axis); @@ -6109,7 +6103,7 @@ static bool lcd_selfcheck_axis_sg(char axis) { //end of second measurement, now check for possible errors: - + for(int i = 0; i < 2; i++){ //check if measured axis length corresponds to expected length SERIAL_ECHOPGM("Measured axis length:"); MYSERIAL.println(measured_axis_length[i]); From 8ff028820a8805a0133b68633b9cadead9cf8fa5 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 20:55:01 +0100 Subject: [PATCH 094/926] Remove redundant parameter. --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 39ef3c90c..6dab1bd2a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3542,8 +3542,8 @@ static void lcd_fsensor_state_set() lcd_fsensor_fail(); } } - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 7); - else lcd_goto_menu(lcd_settings_menu, 7); //doesn't break menuStack + if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu); + else lcd_goto_menu(lcd_settings_menu); //doesn't break menuStack } #endif //PAT9125 From b41d680adf75b0171690a9105790e21126bdbc69 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 7 Mar 2018 20:58:15 +0100 Subject: [PATCH 095/926] Replace problematic character in comment. --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 6dab1bd2a..2d3464844 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1537,7 +1537,7 @@ static void lcd_menu_extruder_info() lcd.print(itostr3(pat9125_b)); // Display LASER shutter time from Filament sensor - /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chip�s internal + /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chip's internal auto-exposure algorithm. When the chip is tracking on a good reflection surface, the Shutter is small. When the chip is tracking on a poor reflection surface, the Shutter is large. Value ranges from 0 to 46. */ From b902d9176021b71d01e7ba6c0f7c2f38cea49f9e Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 7 Mar 2018 21:02:07 +0100 Subject: [PATCH 096/926] changed version --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 20296e399..b89a59b15 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.1.2-alpha" -#define FW_COMMIT_NR 255 +#define FW_VERSION "3.1.3-RC1" +#define FW_COMMIT_NR 276 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN From 976e5a6a19e56fed90d380f687854c64dca40215 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 7 Mar 2018 21:45:55 +0100 Subject: [PATCH 097/926] Temperature calibration - remove steel --- Firmware/Marlin_main.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 60afe10a5..7360ab9af 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3266,10 +3266,8 @@ void process_commands() #ifdef PINDA_THERMISTOR if (true) { - lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); - bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); - if(result) lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); - if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) { + if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) + { // We don't know where we are! HOME! // Push the commands to the front of the message queue in the reverse order! // There shall be always enough space reserved for these commands. @@ -3277,6 +3275,17 @@ void process_commands() enquecommand_front_P((PSTR("G28 W0"))); break; } + lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); + bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); + if (result) + { + current_position[Z_AXIS] = 50; + current_position[Y_AXIS] = 190; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); + st_synchronize(); + lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); + } + lcd_update_enable(true); KEEPALIVE_STATE(NOT_BUSY); //no need to print busy messages as we print current temperatures periodicaly SERIAL_ECHOLNPGM("PINDA probe calibration start"); From d512c9c9c2ed22cc2f4687f1c97fb1025d494fc8 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 8 Mar 2018 14:48:01 +0100 Subject: [PATCH 098/926] version changed --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 4eb4270c4..d793c3fdf 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.1.2" -#define FW_COMMIT_NR 231 +#define FW_VERSION "3.1.3-RC1" +#define FW_COMMIT_NR 243 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN From 66dc65ecd4e2b76273da54c64f9263dd08741dab Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Fri, 9 Mar 2018 14:15:47 +0100 Subject: [PATCH 099/926] version changed --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index d793c3fdf..b46731f49 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.1.3-RC1" -#define FW_COMMIT_NR 243 +#define FW_VERSION "3.1.3" +#define FW_COMMIT_NR 245 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN From 1df91e56565dd66857a4843dc1966c8537708c52 Mon Sep 17 00:00:00 2001 From: Christoph Stahl Date: Fri, 9 Mar 2018 20:46:07 +0100 Subject: [PATCH 100/926] MK3 Add Gcode to wait for minimum PINDA temp The PINDA temperature compensation is defined for values above 35C. To achieve an optimal first layer consistently it is vital to start the print with a temperature of >= 35C on the pinda probe. When doing a manual pinda temperature calibration it is necessary to begin homing and mesh bed leveling at an exact temperature. This gcode is perfect for this. Example startup code: G28 W ; home all without mesh bed level G0 Z50 ; raise Z to not heat PINDA before bed is warm M104 S215 ; set extruder temp M140 S60 ; set bed temp M190 S60 ; wait for bed temp M109 S215 ; wait for extruder temp G0 X50 Y50 Z0.15 ; this is a good PINDA heating position M666 S35 ; the new code - wait until PINDA is >= 35C G28 W ; home all without mesh bed level G80 ; mesh bed leveling See my forum post later for more explaination on my manual temperature calibration procedure. I will link it then. --- Firmware/Marlin_main.cpp | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7360ab9af..1d6a47e64 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -226,6 +226,7 @@ // 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] // M605 - Set dual x-carriage movement mode: S [ X R ] +// M666 - Wait for PINDA thermistor to reach target temperature. // M900 - Set LIN_ADVANCE options, if enabled. See Configuration_adv.h for details. // M907 - Set digital trimpot motor current using axis codes. // M908 - Control digital trimpot directly. @@ -4806,6 +4807,48 @@ Sigma_Exit: #endif break; +#ifdef PINDA_THERMISTOR +case 666: // M666 - Wait for PINDA thermistor to reach target temperature. + { + int setTargetPinda = 0; + + if (code_seen('S')) { + setTargetPinda = code_value(); + } else { + break; + } + + LCD_MESSAGERPGM(MSG_PLEASE_WAIT); + + SERIAL_PROTOCOLPGM("Wait for PINDA target temperature:"); + SERIAL_PROTOCOL(setTargetPinda); + SERIAL_PROTOCOLLN(""); + + codenum = millis(); + cancel_heatup = false; + + KEEPALIVE_STATE(NOT_BUSY); + + while ( (!cancel_heatup) && current_temperature_pinda < setTargetPinda) { + if(( millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while waiting. + { + SERIAL_PROTOCOLPGM("P:"); + SERIAL_PROTOCOL_F(current_temperature_pinda,1); + SERIAL_PROTOCOLPGM("/"); + SERIAL_PROTOCOL(setTargetPinda); + SERIAL_PROTOCOLLN(""); + codenum = millis(); + } + manage_heater(); + manage_inactivity(); + lcd_update(); + } + LCD_MESSAGERPGM(MSG_OK); + + break; + } +#endif //PINDA_THERMISTOR + #if defined(FAN_PIN) && FAN_PIN > -1 case 106: //M106 Fan On if (code_seen('S')){ From 262e800db790bac621b2f7f90eee09d4ea078c90 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 12 Mar 2018 23:35:50 +0100 Subject: [PATCH 101/926] Safety timer (disable heaters after 15min idle) --- Firmware/Configuration_prusa.h | 2 +- Firmware/Marlin_main.cpp | 39 ++++++++++++++++-------- Firmware/Timer.cpp | 55 ++++++++++++++++++++++++++++++++++ Firmware/Timer.h | 30 +++++++++++++++++++ 4 files changed, 113 insertions(+), 13 deletions(-) create mode 100644 Firmware/Timer.cpp create mode 100644 Firmware/Timer.h diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 47939e07a..63ffa05c9 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -171,7 +171,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PAT9125 //!< Filament sensor #define FANCHECK //#define WATCHDOG -//#define SAFETYTIMER +#define SAFETYTIMER /*------------------------------------ diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 102482401..a7240bf5c 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -54,6 +54,7 @@ #include "pins_arduino.h" #include "math.h" #include "util.h" +#include "Timer.h" #include @@ -6720,6 +6721,31 @@ void handle_status_leds(void) { } #endif +#ifdef SAFETYTIMER +/** + * @brief Turn off heating after 15 minutes of inactivity + */ +static void handleSafetyTimer() +{ + static_assert(EXTRUDERS == 1,"Implemented only for one extruder."); + static Timer safetyTimer; + if (IS_SD_PRINTING || is_usb_printing || (custom_message_type == 4) || (lcd_commands_type == LCD_COMMAND_V2_CAL) || + (!degTargetBed() && !degTargetHotend(0))) + { + safetyTimer.stop(); + } + else if ((degTargetBed() || degTargetHotend(0)) && (!safetyTimer.running())) + { + safetyTimer.start(); + } + else if (safetyTimer.expired(15*60*1000)) + { + setTargetBed(0); + setTargetHotend(0, 0); + } +} +#endif //SAFETYTIMER + void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument set in Marlin.h { #ifdef PAT9125 @@ -6763,18 +6789,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s #endif //PAT9125 #ifdef SAFETYTIMER - static uint32_t safety_timer = 0; - if (degTargetBed() || degTargetHotend(0)) - { - if ((safety_timer == 0) || IS_SD_PRINTING || is_usb_printing || (custom_message_type == 4) || (lcd_commands_type == LCD_COMMAND_V2_CAL)) - safety_timer = millis(); - else if ((safety_timer + (15*60*1000)) < millis()) - { - setTargetBed(0); - setTargetHotend(0, 0); - safety_timer = 0; - } - } + handleSafetyTimer(); #endif //SAFETYTIMER diff --git a/Firmware/Timer.cpp b/Firmware/Timer.cpp new file mode 100644 index 000000000..78f47a45b --- /dev/null +++ b/Firmware/Timer.cpp @@ -0,0 +1,55 @@ +/** + * @file + * @author Marek Bel + */ + +#include "Timer.h" +#include "Arduino.h" + +Timer::Timer() : m_isRunning(false), m_started() +{ +} + +/** + * @brief Start timer + */ +void Timer::start() +{ + m_started = millis(); + m_isRunning = true; +} + +/** + * @brief Timer has expired + * + * Timer is considered expired after msPeriod has passed from time the timer was started. + * This function must be called at least each (unsigned long maximum value - msPeriod) milliseconds to be sure to + * catch first expiration. + * This function is expected to handle wrap around of time register well. + * + * @param msPeriod Time interval in milliseconds. + * @retval true Timer has expired + * @retval false Timer not expired yet, or is not running, or time window in which is timer considered expired passed. + */ +bool Timer::expired(unsigned long msPeriod) +{ + if (!m_isRunning) return false; + bool expired = false; + const unsigned long now = millis(); + if (m_started <= m_started + msPeriod) + { + if ((now >= m_started + msPeriod) || (now < m_started)) + { + expired = true; + } + } + else + { + if ((now >= m_started + msPeriod) && (now < m_started)) + { + expired = true; + } + } + if (expired) m_isRunning = false; + return expired; +} diff --git a/Firmware/Timer.h b/Firmware/Timer.h new file mode 100644 index 000000000..0d3a89dcb --- /dev/null +++ b/Firmware/Timer.h @@ -0,0 +1,30 @@ +/* + * @file + * @author Marek Bel + */ + +#ifndef TIMER_H +#define TIMER_H + +/** + * @brief simple timer + * + * Simple and memory saving implementation. Should handle timer register wrap around well. + * Maximum period is at least 49 days. Resolution is one millisecond. To save memory, doesn't store timer period. + * If you wish timer which is storing period, derive from this. If you need time intervals smaller than 65 seconds + * consider implementing timer with smaller underlying type. + */ +class Timer +{ +public: + Timer(); + void start(); + void stop(){m_isRunning = false;} + bool running(){return m_isRunning;} + bool expired(unsigned long msPeriod); +private: + bool m_isRunning; + unsigned long m_started; +}; + +#endif /* TIMER_H */ From 6b08cdeaf16ebdbeb7215cb532487fc02246fe3a Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 12 Mar 2018 23:35:50 +0100 Subject: [PATCH 102/926] Safety timer (disable heaters after 15min idle) --- Firmware/Configuration_prusa.h | 3 +- Firmware/Marlin_main.cpp | 30 +++++++++++++++++++ Firmware/Timer.cpp | 55 ++++++++++++++++++++++++++++++++++ Firmware/Timer.h | 30 +++++++++++++++++++ 4 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 Firmware/Timer.cpp create mode 100644 Firmware/Timer.h diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 52ce678f9..937f8ae3d 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -262,8 +262,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_2_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed - - +#define SAFETYTIMER /*------------------------------------ LOAD/UNLOAD FILAMENT SETTINGS diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7360ab9af..e2018ee1b 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -54,6 +54,7 @@ #include "pins_arduino.h" #include "math.h" #include "util.h" +#include "Timer.h" #include @@ -6733,6 +6734,31 @@ void handle_status_leds(void) { } #endif +#ifdef SAFETYTIMER +/** + * @brief Turn off heating after 15 minutes of inactivity + */ +static void handleSafetyTimer() +{ + static_assert(EXTRUDERS == 1,"Implemented only for one extruder."); + static Timer safetyTimer; + if (IS_SD_PRINTING || is_usb_printing || (custom_message_type == 4) || (lcd_commands_type == LCD_COMMAND_V2_CAL) || + (!degTargetBed() && !degTargetHotend(0))) + { + safetyTimer.stop(); + } + else if ((degTargetBed() || degTargetHotend(0)) && (!safetyTimer.running())) + { + safetyTimer.start(); + } + else if (safetyTimer.expired(15*60*1000)) + { + setTargetBed(0); + setTargetHotend(0, 0); + } +} +#endif //SAFETYTIMER + void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument set in Marlin.h { if (fsensor_enabled && filament_autoload_enabled && !fsensor_M600 && !moves_planned() && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) @@ -6773,6 +6799,10 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s if (fsensor_autoload_enabled) fsensor_autoload_check_stop(); +#ifdef SAFETYTIMER + handleSafetyTimer(); +#endif //SAFETYTIMER + #if defined(KILL_PIN) && KILL_PIN > -1 static int killCount = 0; // make the inactivity button a bit less responsive const int KILL_DELAY = 10000; diff --git a/Firmware/Timer.cpp b/Firmware/Timer.cpp new file mode 100644 index 000000000..78f47a45b --- /dev/null +++ b/Firmware/Timer.cpp @@ -0,0 +1,55 @@ +/** + * @file + * @author Marek Bel + */ + +#include "Timer.h" +#include "Arduino.h" + +Timer::Timer() : m_isRunning(false), m_started() +{ +} + +/** + * @brief Start timer + */ +void Timer::start() +{ + m_started = millis(); + m_isRunning = true; +} + +/** + * @brief Timer has expired + * + * Timer is considered expired after msPeriod has passed from time the timer was started. + * This function must be called at least each (unsigned long maximum value - msPeriod) milliseconds to be sure to + * catch first expiration. + * This function is expected to handle wrap around of time register well. + * + * @param msPeriod Time interval in milliseconds. + * @retval true Timer has expired + * @retval false Timer not expired yet, or is not running, or time window in which is timer considered expired passed. + */ +bool Timer::expired(unsigned long msPeriod) +{ + if (!m_isRunning) return false; + bool expired = false; + const unsigned long now = millis(); + if (m_started <= m_started + msPeriod) + { + if ((now >= m_started + msPeriod) || (now < m_started)) + { + expired = true; + } + } + else + { + if ((now >= m_started + msPeriod) && (now < m_started)) + { + expired = true; + } + } + if (expired) m_isRunning = false; + return expired; +} diff --git a/Firmware/Timer.h b/Firmware/Timer.h new file mode 100644 index 000000000..0d3a89dcb --- /dev/null +++ b/Firmware/Timer.h @@ -0,0 +1,30 @@ +/* + * @file + * @author Marek Bel + */ + +#ifndef TIMER_H +#define TIMER_H + +/** + * @brief simple timer + * + * Simple and memory saving implementation. Should handle timer register wrap around well. + * Maximum period is at least 49 days. Resolution is one millisecond. To save memory, doesn't store timer period. + * If you wish timer which is storing period, derive from this. If you need time intervals smaller than 65 seconds + * consider implementing timer with smaller underlying type. + */ +class Timer +{ +public: + Timer(); + void start(); + void stop(){m_isRunning = false;} + bool running(){return m_isRunning;} + bool expired(unsigned long msPeriod); +private: + bool m_isRunning; + unsigned long m_started; +}; + +#endif /* TIMER_H */ From 65a91b366d675caec0c2fa8cd840b8e6873e3bf8 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 13 Mar 2018 12:55:35 +0100 Subject: [PATCH 103/926] New XYZ calibration with image processing --- Firmware/Configuration_prusa.h | 6 + Firmware/Marlin_main.cpp | 17 +- Firmware/config.h | 3 + Firmware/mesh_bed_calibration.cpp | 25 +- Firmware/mesh_bed_calibration.h | 2 + Firmware/sm4.c | 194 +++++++++ Firmware/sm4.h | 56 +++ Firmware/temperature.h | 3 + Firmware/xyzcal.cpp | 682 ++++++++++++++++++++++++++++++ Firmware/xyzcal.h | 39 ++ 10 files changed, 1018 insertions(+), 9 deletions(-) create mode 100644 Firmware/sm4.c create mode 100644 Firmware/sm4.h create mode 100644 Firmware/xyzcal.cpp create mode 100644 Firmware/xyzcal.h diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 52ce678f9..c06501714 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -95,6 +95,12 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o // Automatic recovery after crash is detected #define AUTOMATIC_RECOVERY_AFTER_CRASH +// New XYZ calibration +#define NEW_XYZCAL + +// Watchdog support +#define WATCHDOG + // Disable some commands #define _DISABLE_M42_M226 diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7360ab9af..09d7b1433 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2285,6 +2285,7 @@ bool gcode_M45(bool onlyZ) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); +#ifndef NEW_XYZCAL if (result >= 0) { point_too_far_mask = 0; @@ -2303,6 +2304,8 @@ bool gcode_M45(bool onlyZ) st_synchronize(); // if (result >= 0) babystep_apply(); } +#endif //NEW_XYZCAL + lcd_bed_calibration_show_result(result, point_too_far_mask); if (result >= 0) { @@ -3275,17 +3278,17 @@ void process_commands() enquecommand_front_P((PSTR("G28 W0"))); break; } - lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); - bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); - if (result) - { + lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); + bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); + if (result) + { current_position[Z_AXIS] = 50; current_position[Y_AXIS] = 190; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); - lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); - } - lcd_update_enable(true); + lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); + } + lcd_update_enable(true); KEEPALIVE_STATE(NOT_BUSY); //no need to print busy messages as we print current temperatures periodicaly SERIAL_ECHOLNPGM("PINDA probe calibration start"); diff --git a/Firmware/config.h b/Firmware/config.h index a1014ca34..8bd1a16e2 100644 --- a/Firmware/config.h +++ b/Firmware/config.h @@ -8,5 +8,8 @@ #define ADC_OVRSAMPL 16 //oversampling multiplier #define ADC_CALLBACK adc_ready //callback function () +//SM4 configuration +#define SM4_DEFDELAY 500 //default step delay [us] + #endif //_CONFIG_H diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 0d6cd87e6..bcdfb0d2e 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -898,6 +898,9 @@ error: return false; } +#ifdef NEW_XYZCAL +extern bool xyzcal_find_bed_induction_sensor_point_xy(); +#endif //NEW_XYZCAL // Search around the current_position[X,Y], // look for the induction sensor response. // Adjust the current_position[X,Y,Z] to the center of the target dot and its response Z coordinate. @@ -905,8 +908,11 @@ error: #define FIND_BED_INDUCTION_SENSOR_POINT_Y_RADIUS (6.f) #define FIND_BED_INDUCTION_SENSOR_POINT_XY_STEP (1.f) #define FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP (0.2f) -inline bool find_bed_induction_sensor_point_xy(int verbosity_level) +/*inline */bool find_bed_induction_sensor_point_xy(int verbosity_level) { +#ifdef NEW_XYZCAL + return xyzcal_find_bed_induction_sensor_point_xy(); +#else //NEW_XYZCAL #ifdef SUPPORT_VERBOSITY if(verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); #endif // SUPPORT_VERBOSITY @@ -1099,8 +1105,10 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) enable_z_endstop(false); return found; +#endif //NEW_XYZCAL } +#ifndef NEW_XYZCAL // Search around the current_position[X,Y,Z]. // It is expected, that the induction sensor is switched on at the current position. // Look around this center point by painting a star around the point. @@ -1190,7 +1198,9 @@ inline bool improve_bed_induction_sensor_point() enable_z_endstop(endstop_z_enabled); return found; } +#endif //NEW_XYZCAL +#ifndef NEW_XYZCAL static inline void debug_output_point(const char *type, const float &x, const float &y, const float &z) { SERIAL_ECHOPGM("Measured "); @@ -1203,7 +1213,9 @@ static inline void debug_output_point(const char *type, const float &x, const fl MYSERIAL.print(z, 5); SERIAL_ECHOLNPGM(""); } +#endif //NEW_XYZCAL +#ifndef NEW_XYZCAL // Search around the current_position[X,Y,Z]. // It is expected, that the induction sensor is switched on at the current position. // Look around this center point by painting a star around the point. @@ -1363,7 +1375,9 @@ canceled: go_xy(current_position[X_AXIS], current_position[Y_AXIS], homing_feedrate[X_AXIS] / 60.f); return false; } +#endif //NEW_XYZCAL +#ifndef NEW_XYZCAL // Searching the front points, where one cannot move the sensor head in front of the sensor point. // Searching in a zig-zag movement in a plane for the maximum width of the response. // This function may set the current_position[Y_AXIS] below Y_MIN_POS, if the function succeeded. @@ -1684,7 +1698,9 @@ canceled: go_xy(current_position[X_AXIS], current_position[Y_AXIS], homing_feedrate[X_AXIS] / 60.f); return false; } +#endif //NEW_XYZCAL +#ifndef NEW_XYZCAL // Scan the mesh bed induction points one by one by a left-right zig-zag movement, // write the trigger coordinates to the serial line. // Useful for visualizing the behavior of the bed induction detector. @@ -1729,6 +1745,7 @@ inline void scan_bed_induction_sensor_point() current_position[Y_AXIS] = center_old_y; go_xy(current_position[X_AXIS], current_position[Y_AXIS], homing_feedrate[X_AXIS] / 60.f); } +#endif //NEW_XYZCAL #define MESH_BED_CALIBRATION_SHOW_LCD @@ -1855,7 +1872,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level #endif // SUPPORT_VERBOSITY if (!find_bed_induction_sensor_point_xy(verbosity_level)) return BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; -#if 1 +#ifndef NEW_XYZCAL if (k == 0 || k == 1) { // Improve the position of the 1st row sensor points by a zig-zag movement. @@ -2017,6 +2034,7 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level return result; } +#ifndef NEW_XYZCAL BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8_t verbosity_level, uint8_t &too_far_mask) { // Don't let the manage_inactivity() function remove power from the motors. @@ -2322,6 +2340,7 @@ canceled: enable_z_endstop(endstop_z_enabled); return result; } +#endif //NEW_XYZCAL void go_home_with_z_lift() { @@ -2462,6 +2481,7 @@ bool sample_mesh_and_store_reference() return true; } +#ifndef NEW_XYZCAL bool scan_bed_induction_points(int8_t verbosity_level) { // Don't let the manage_inactivity() function remove power from the motors. @@ -2523,6 +2543,7 @@ bool scan_bed_induction_points(int8_t verbosity_level) enable_z_endstop(endstop_z_enabled); return true; } +#endif //NEW_XYZCAL // Shift a Z axis by a given delta. // To replace loading of the babystep correction. diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 4f6ebd724..c5789fac3 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -161,7 +161,9 @@ enum BedSkewOffsetDetectionResultType { }; extern BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level, uint8_t &too_far_mask); +#ifndef NEW_XYZCAL extern BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8_t verbosity_level, uint8_t &too_far_mask); +#endif //NEW_XYZCAL extern bool sample_mesh_and_store_reference(); diff --git a/Firmware/sm4.c b/Firmware/sm4.c new file mode 100644 index 000000000..4ea472715 --- /dev/null +++ b/Firmware/sm4.c @@ -0,0 +1,194 @@ +//sm4.c - simple 4-axis stepper control + +#include "sm4.h" +#include +#include + +#include "boards.h" +#define bool int8_t +#define false 0 +#define true 1 +#include "Configuration_prusa.h" + + +#ifdef NEW_XYZCAL + + +// Signal pinouts + +// direction signal - MiniRambo +//#define X_DIR_PIN 48 //PL1 (-) +//#define Y_DIR_PIN 49 //PL0 (-) +//#define Z_DIR_PIN 47 //PL2 (-) +//#define E0_DIR_PIN 43 //PL6 (+) + +//direction signal - EinsyRambo +//#define X_DIR_PIN 49 //PL0 (+) +//#define Y_DIR_PIN 48 //PL1 (-) +//#define Z_DIR_PIN 47 //PL2 (+) +//#define E0_DIR_PIN 43 //PL6 (-) + +//step signal pinout - common for all rambo boards +//#define X_STEP_PIN 37 //PC0 (+) +//#define Y_STEP_PIN 36 //PC1 (+) +//#define Z_STEP_PIN 35 //PC2 (+) +//#define E0_STEP_PIN 34 //PC3 (+) + + +sm4_stop_cb_t sm4_stop_cb = 0; + +sm4_update_pos_cb_t sm4_update_pos_cb = 0; + +sm4_calc_delay_cb_t sm4_calc_delay_cb = 0; + +uint16_t sm4_cpu_time = 0; + + +uint8_t sm4_get_dir(uint8_t axis) +{ + switch (axis) + { +#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) + case 0: return (PORTL & 2)?0:1; + case 1: return (PORTL & 1)?0:1; + case 2: return (PORTL & 4)?0:1; + case 3: return (PORTL & 64)?1:0; +#else if ((MOTHERBOARD == 303) || (MOTHERBOARD == 304)) + case 0: return (PORTL & 1)?1:0; + case 1: return (PORTL & 2)?0:1; + case 2: return (PORTL & 4)?1:0; + case 3: return (PORTL & 64)?0:1; +#endif + } + return 0; +} + +void sm4_set_dir(uint8_t axis, uint8_t dir) +{ + switch (axis) + { +#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) + case 0: if (!dir) PORTL |= 2; else PORTL &= ~2; break; + case 1: if (!dir) PORTL |= 1; else PORTL &= ~1; break; + case 2: if (!dir) PORTL |= 4; else PORTL &= ~4; break; + case 3: if (dir) PORTL |= 64; else PORTL &= ~64; break; +#else if ((MOTHERBOARD == 303) || (MOTHERBOARD == 304)) + case 0: if (dir) PORTL |= 1; else PORTL &= ~1; break; + case 1: if (!dir) PORTL |= 2; else PORTL &= ~2; break; + case 2: if (dir) PORTL |= 4; else PORTL &= ~4; break; + case 3: if (!dir) PORTL |= 64; else PORTL &= ~64; break; +#endif + } + asm("nop"); +} + +uint8_t sm4_get_dir_bits(void) +{ + uint8_t register dir_bits = 0; + uint8_t register portL = PORTL; + //TODO -optimize in asm +#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) + if (portL & 2) dir_bits |= 1; + if (portL & 1) dir_bits |= 2; + if (portL & 4) dir_bits |= 4; + if (portL & 64) dir_bits |= 8; + dir_bits ^= 0x07; //invert XYZ, do not invert E +#else if ((MOTHERBOARD == 303) || (MOTHERBOARD == 304)) + if (portL & 1) dir_bits |= 1; + if (portL & 2) dir_bits |= 2; + if (portL & 4) dir_bits |= 4; + if (portL & 64) dir_bits |= 8; + dir_bits ^= 0x0a; //invert YE, do not invert XZ +#endif + return dir_bits; +} + +void sm4_set_dir_bits(uint8_t dir_bits) +{ + uint8_t register portL = PORTL; + portL &= 0xb8; //set direction bits to zero + //TODO -optimize in asm +#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) + dir_bits ^= 0x07; //invert XYZ, do not invert E + if (dir_bits & 1) portL |= 2; //set X direction bit + if (dir_bits & 2) portL |= 1; //set Y direction bit + if (dir_bits & 4) portL |= 4; //set Z direction bit + if (dir_bits & 8) portL |= 64; //set E direction bit +#else if ((MOTHERBOARD == 303) || (MOTHERBOARD == 304)) + dir_bits ^= 0x0a; //invert YE, do not invert XZ + if (dir_bits & 1) portL |= 1; //set X direction bit + if (dir_bits & 2) portL |= 2; //set Y direction bit + if (dir_bits & 4) portL |= 4; //set Z direction bit + if (dir_bits & 8) portL |= 64; //set E direction bit +#endif + PORTL = portL; + asm("nop"); +} + +void sm4_do_step(uint8_t axes_mask) +{ +#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203) || (MOTHERBOARD == 303) || (MOTHERBOARD == 304)) + uint8_t register portC = PORTC & 0xf0; + PORTC = portC | (axes_mask & 0x0f); //set step signals by mask + asm("nop"); + PORTC = portC; //set step signals to zero + asm("nop"); +#endif //((MOTHERBOARD == 200) || (MOTHERBOARD == 203) || (MOTHERBOARD == 303) || (MOTHERBOARD == 304)) +} + +uint16_t sm4_line_xyze_ui(uint16_t dx, uint16_t dy, uint16_t dz, uint16_t de) +{ + uint16_t dd = (uint16_t)(sqrt((float)(((uint32_t)dx)*dx + ((uint32_t)dy*dy) + ((uint32_t)dz*dz) + ((uint32_t)de*de))) + 0.5); + uint16_t nd = dd; + uint16_t cx = dd; + uint16_t cy = dd; + uint16_t cz = dd; + uint16_t ce = dd; + uint16_t x = 0; + uint16_t y = 0; + uint16_t z = 0; + uint16_t e = 0; + while (nd) + { + if (sm4_stop_cb && (*sm4_stop_cb)()) break; + uint8_t sm = 0; //step mask + if (cx <= dx) + { + sm |= 1; + cx += dd; + x++; + } + if (cy <= dy) + { + sm |= 2; + cy += dd; + y++; + } + if (cz <= dz) + { + sm |= 4; + cz += dd; + z++; + } + if (ce <= de) + { + sm |= 4; + ce += dd; + e++; + } + cx -= dx; + cy -= dy; + cz -= dz; + ce -= de; + sm4_do_step(sm); + uint16_t delay = SM4_DEFDELAY; + if (sm4_calc_delay_cb) delay = (*sm4_calc_delay_cb)(nd, dd); + if (delay) delayMicroseconds(delay); + nd--; + } + if (sm4_update_pos_cb) (*sm4_update_pos_cb)(x, y, z, e); + return nd; +} + + +#endif //NEW_XYZCAL \ No newline at end of file diff --git a/Firmware/sm4.h b/Firmware/sm4.h new file mode 100644 index 000000000..fc64f7a66 --- /dev/null +++ b/Firmware/sm4.h @@ -0,0 +1,56 @@ +//sm4.h - simple 4-axis stepper control +#ifndef _SM4_H +#define _SM4_H + +#include +#include "config.h" + + +#if defined(__cplusplus) +extern "C" { +#endif //defined(__cplusplus) + + +// callback prototype for stop condition (return 0 - continue, return 1 - stop) +typedef uint8_t (*sm4_stop_cb_t)(); + +// callback prototype for updating position counters +typedef void (*sm4_update_pos_cb_t)(uint16_t dx, uint16_t dy, uint16_t dz, uint16_t de); + +// callback prototype for calculating delay +typedef uint16_t (*sm4_calc_delay_cb_t)(uint16_t nd, uint16_t dd); + + +// callback pointer - stop +extern sm4_stop_cb_t sm4_stop_cb; + +// callback pointer - update_pos +extern sm4_update_pos_cb_t sm4_update_pos_cb; + +// callback pointer - calc_delay +extern sm4_calc_delay_cb_t sm4_calc_delay_cb; + + +// returns direction for single axis (0 - positive, 1 - negative) +extern uint8_t sm4_get_dir(uint8_t axis); + +// set direction for single axis (0 - positive, 1 - negative) +extern void sm4_set_dir(uint8_t axis, uint8_t dir); + +// returns direction of all axes as bitmask (0 - positive, 1 - negative) +extern uint8_t sm4_get_dir_bits(void); + +// set direction for all axes as bitmask (0 - positive, 1 - negative) +extern void sm4_set_dir_bits(uint8_t dir_bits); + +// step axes by bitmask +extern void sm4_do_step(uint8_t axes_mask); + +// xyze linear-interpolated relative move, returns remaining diagonal steps (>0 means stoped) +extern uint16_t sm4_line_xyze_ui(uint16_t dx, uint16_t dy, uint16_t dz, uint16_t de); + + +#if defined(__cplusplus) +} +#endif //defined(__cplusplus) +#endif //_SM4_H diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 4414e7627..a8b70b6a9 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -27,6 +27,9 @@ #include "stepper.h" #endif +#define ENABLE_TEMPERATURE_INTERRUPT() TIMSK0 |= (1< +#include "stepper.h" +#include "temperature.h" +#include "sm4.h" + + +#define XYZCAL_PINDA_HYST_MIN 20 //50um +#define XYZCAL_PINDA_HYST_MAX 100 //250um +#define XYZCAL_PINDA_HYST_DIF 5 //12.5um + +#define ENABLE_FANCHECK_INTERRUPT() EIMSK |= (1<<7) +#define DISABLE_FANCHECK_INTERRUPT() EIMSK &= ~(1<<7) + +#define _PINDA ((READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)?1:0) + +//#define DBG(args...) printf_P(args) +#define DBG(args...) +#define _n PSTR + +#define _X ((int16_t)count_position[X_AXIS]) +#define _Y ((int16_t)count_position[Y_AXIS]) +#define _Z ((int16_t)count_position[Z_AXIS]) +#define _E ((int16_t)count_position[E_AXIS]) + +#define _PI 3.14159265F + +extern long count_position[NUM_AXIS]; + +uint8_t check_pinda_0(); +uint8_t check_pinda_1(); +void xyzcal_update_pos(uint16_t dx, uint16_t dy, uint16_t dz, uint16_t de); +uint16_t xyzcal_calc_delay(uint16_t nd, uint16_t dd); + + +void xyzcal_meassure_enter(void) +{ + DBG(_n("xyzcal_meassure_enter\n")); + disable_heater(); + DISABLE_TEMPERATURE_INTERRUPT(); +#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) + DISABLE_FANCHECK_INTERRUPT(); +#endif //(defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) + DISABLE_STEPPER_DRIVER_INTERRUPT(); +#ifdef WATCHDOG + wdt_disable(); +#endif //WATCHDOG + sm4_stop_cb = 0; + sm4_update_pos_cb = xyzcal_update_pos; + sm4_calc_delay_cb = xyzcal_calc_delay; +} + +void xyzcal_meassure_leave(void) +{ + DBG(_n("xyzcal_meassure_leave\n")); + planner_abort_hard(); + ENABLE_TEMPERATURE_INTERRUPT(); +#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) + ENABLE_FANCHECK_INTERRUPT(); +#endif //(defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) + ENABLE_STEPPER_DRIVER_INTERRUPT(); +#ifdef WATCHDOG + wdt_enable(WDTO_4S); +#endif //WATCHDOG + sm4_stop_cb = 0; + sm4_update_pos_cb = 0; + sm4_calc_delay_cb = 0; +} + + +uint8_t check_pinda_0() +{ + return _PINDA?0:1; +} + +uint8_t check_pinda_1() +{ + return _PINDA?1:0; +} + +uint8_t xyzcal_dm = 0; + +void xyzcal_update_pos(uint16_t dx, uint16_t dy, uint16_t dz, uint16_t de) +{ + DBG(_n("xyzcal_update_pos dx=%d dy=%d dz=%d dir=%02x\n"), dx, dy, dz, xyzcal_dm); + if (xyzcal_dm&1) count_position[0] -= dx; else count_position[0] += dx; + if (xyzcal_dm&2) count_position[1] -= dy; else count_position[1] += dy; + if (xyzcal_dm&4) count_position[2] -= dz; else count_position[2] += dz; + DBG(_n(" after xyzcal_update_pos x=%ld y=%ld z=%ld\n"), count_position[0], count_position[1], count_position[2]); +} + +uint16_t xyzcal_sm4_delay = 0; + +//#define SM4_ACCEL_TEST +#ifdef SM4_ACCEL_TEST +uint16_t xyzcal_sm4_v0 = 2000; +uint16_t xyzcal_sm4_vm = 45000; +uint16_t xyzcal_sm4_v = xyzcal_sm4_v0; +uint16_t xyzcal_sm4_ac = 2000; +uint16_t xyzcal_sm4_ac2 = (uint32_t)xyzcal_sm4_ac * 1024 / 10000; +//float xyzcal_sm4_vm = 10000; +#endif //SM4_ACCEL_TEST + +uint16_t xyzcal_calc_delay(uint16_t nd, uint16_t dd) +{ + return xyzcal_sm4_delay; +#ifdef SM4_ACCEL_TEST + + uint16_t del_us = 0; + if (xyzcal_sm4_v & 0xf000) //>=4096 + { + del_us = (uint16_t)62500 / (uint16_t)(xyzcal_sm4_v >> 4); + xyzcal_sm4_v += (xyzcal_sm4_ac2 * del_us + 512) >> 10; + if (xyzcal_sm4_v > xyzcal_sm4_vm) xyzcal_sm4_v = xyzcal_sm4_vm; + if (del_us > 25) return del_us - 25; + } + else + { + del_us = (uint32_t)1000000 / xyzcal_sm4_v; + xyzcal_sm4_v += ((uint32_t)xyzcal_sm4_ac2 * del_us + 512) >> 10; + if (xyzcal_sm4_v > xyzcal_sm4_vm) xyzcal_sm4_v = xyzcal_sm4_vm; + if (del_us > 50) return del_us - 50; + } + +// uint16_t del_us = (uint16_t)(((float)1000000 / xyzcal_sm4_v) + 0.5); +// uint16_t del_us = (uint32_t)1000000 / xyzcal_sm4_v; +// uint16_t del_us = 100; +// uint16_t del_us = (uint16_t)10000 / xyzcal_sm4_v; +// v += (ac * del_us + 500) / 1000; +// xyzcal_sm4_v += (xyzcal_sm4_ac * del_us) / 1000; +// return xyzcal_sm4_delay; +// DBG(_n("xyzcal_calc_delay nd=%d dd=%d v=%d del_us=%d\n"), nd, dd, xyzcal_sm4_v, del_us); + return 0; +#endif //SM4_ACCEL_TEST +} + + +bool xyzcal_lineXYZ_to(int16_t x, int16_t y, int16_t z, uint16_t delay_us, int8_t check_pinda) +{ + DBG(_n("xyzcal_lineXYZ_to x=%d y=%d z=%d check=%d\n"), x, y, z, check_pinda); + x -= (int16_t)count_position[0]; + y -= (int16_t)count_position[1]; + z -= (int16_t)count_position[2]; + xyzcal_dm = ((x<0)?1:0) | ((y<0)?2:0) | ((z<0)?4:0); + sm4_set_dir_bits(xyzcal_dm); + sm4_stop_cb = check_pinda?((check_pinda<0)?check_pinda_0:check_pinda_1):0; + xyzcal_sm4_delay = delay_us; +// uint32_t u = micros(); + bool ret = sm4_line_xyze_ui(abs(x), abs(y), abs(z), 0)?true:false; +// u = micros() - u; + return ret; +} + +bool xyzcal_spiral2(int16_t cx, int16_t cy, int16_t z0, int16_t dz, int16_t radius, int16_t rotation, uint16_t delay_us, int8_t check_pinda, uint16_t* pad) +{ + bool ret = false; + float r = 0; //radius + uint8_t n = 0; //point number + uint16_t ad = 0; //angle [deg] + float ar; //angle [rad] + uint8_t dad = 0; //delta angle [deg] + uint8_t dad_min = 4; //delta angle min [deg] + uint8_t dad_max = 16; //delta angle max [deg] + uint8_t k = 720 / (dad_max - dad_min); //delta calculation constant + ad = 0; + if (pad) ad = *pad % 720; + DBG(_n("xyzcal_spiral2 cx=%d cy=%d z0=%d dz=%d radius=%d ad=%d\n"), cx, cy, z0, dz, radius, ad); + for (; ad < 720; ad++) + { + if (radius > 0) + { + dad = dad_max - (ad / k); + r = (float)(((uint32_t)ad) * radius) / 720; + } + else + { + dad = dad_max - ((719 - ad) / k); + r = (float)(((uint32_t)(719 - ad)) * (-radius)) / 720; + } + ar = (ad + rotation)* (float)_PI / 180; + float _cos = cos(ar); + float _sin = sin(ar); + int x = (int)(cx + (_cos * r)); + int y = (int)(cy + (_sin * r)); + int z = (int)(z0 - ((float)((int32_t)dz * ad) / 720)); + if (xyzcal_lineXYZ_to(x, y, z, delay_us, check_pinda)) + { + ad += dad + 1; + ret = true; + break; + } + n++; + ad += dad; + } + if (pad) *pad = ad; + return ret; +} + +bool xyzcal_spiral8(int16_t cx, int16_t cy, int16_t z0, int16_t dz, int16_t radius, uint16_t delay_us, int8_t check_pinda, uint16_t* pad) +{ + bool ret = false; + uint16_t ad = 0; + if (pad) ad = *pad; + DBG(_n("xyzcal_spiral8 cx=%d cy=%d z0=%d dz=%d radius=%d ad=%d\n"), cx, cy, z0, dz, radius, ad); + if (!ret && (ad < 720)) + if (ret = xyzcal_spiral2(cx, cy, z0 - 0*dz, dz, radius, 0, delay_us, check_pinda, &ad)) + ad += 0; + if (!ret && (ad < 1440)) + if (ret = xyzcal_spiral2(cx, cy, z0 - 1*dz, dz, -radius, 0, delay_us, check_pinda, &ad)) + ad += 720; + if (!ret && (ad < 2160)) + if (ret = xyzcal_spiral2(cx, cy, z0 - 2*dz, dz, radius, 180, delay_us, check_pinda, &ad)) + ad += 1440; + if (!ret && (ad < 2880)) + if (ret = xyzcal_spiral2(cx, cy, z0 - 3*dz, dz, -radius, 180, delay_us, check_pinda, &ad)) + ad += 2160; + if (pad) *pad = ad; + return ret; +} + +#ifdef XYZCAL_MEASSURE_PINDA_HYSTEREZIS +int8_t xyzcal_meassure_pinda_hysterezis(int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t samples) +{ + DBG(_n("xyzcal_meassure_pinda_hysterezis\n")); + int8_t ret = -1; // PINDA signal error + int16_t z = _Z; + int16_t sum_up = 0; + int16_t sum_dn = 0; + int16_t up; + int16_t dn; + uint8_t sample; + xyzcal_lineXYZ_to(_X, _Y, min_z, delay_us, 1); + xyzcal_lineXYZ_to(_X, _Y, max_z, delay_us, -1); + if (!_PINDA) + { + for (sample = 0; sample < samples; sample++) + { + dn = _Z; + if (!xyzcal_lineXYZ_to(_X, _Y, min_z, delay_us, 1)) break; + dn = dn - _Z; + up = _Z; + if (!xyzcal_lineXYZ_to(_X, _Y, max_z, delay_us, -1)) break; + up = _Z - up; + DBG(_n("%d. up=%d dn=%d\n"), sample, up, dn); + sum_up += up; + sum_dn += dn; + if (abs(up - dn) > XYZCAL_PINDA_HYST_DIF) + { + ret = -2; // difference between up-dn to high + break; + } + } + if (sample == samples) + { + up = sum_up / samples; + dn = sum_dn / samples; + uint16_t hyst = (up + dn) / 2; + if (abs(up - dn) > XYZCAL_PINDA_HYST_DIF) + ret = -2; // difference between up-dn to high + else if ((hyst < XYZCAL_PINDA_HYST_MIN) || (hyst > XYZCAL_PINDA_HYST_MAX)) + ret = -3; // hysterezis out of range + else + ret = hyst; + } + } + xyzcal_lineXYZ_to(_X, _Y, z, delay_us, 0); + return ret; +} +#endif //XYZCAL_MEASSURE_PINDA_HYSTEREZIS + + +void xyzcal_scan_pixels_32x32(int16_t cx, int16_t cy, int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t* pixels) +{ + DBG(_n("xyzcal_scan_pixels_32x32 cx=%d cy=%d min_z=%d max_z=%d\n"), cx, cy, min_z, max_z); +// xyzcal_lineXYZ_to(cx - 1024, cy - 1024, max_z, 2*delay_us, 0); +// xyzcal_lineXYZ_to(cx, cy, max_z, delay_us, 0); + int16_t z = (int16_t)count_position[2]; + xyzcal_lineXYZ_to(cx, cy, z, 2*delay_us, 0); + for (uint8_t r = 0; r < 32; r++) + { + int8_t _pinda = _PINDA; + xyzcal_lineXYZ_to((r&1)?(cx+1024):(cx-1024), cy - 1024 + r*64, z, 2*delay_us, 0); + xyzcal_lineXYZ_to(_X, _Y, min_z, delay_us, 1); + xyzcal_lineXYZ_to(_X, _Y, max_z, delay_us, -1); + z = (int16_t)count_position[2]; + sm4_set_dir(X_AXIS, (r&1)?1:0); + for (uint8_t c = 0; c < 32; c++) + { + uint16_t sum = 0; + int16_t z_sum = 0; + for (uint8_t i = 0; i < 64; i++) + { + int8_t pinda = _PINDA; + int16_t pix = z - min_z; + pix += (pinda)?23:-24; + if (pix < 0) pix = 0; + if (pix > 255) pix = 255; + sum += pix; + z_sum += z; +// if (_pinda != pinda) +// { +// if (pinda) +// DBG(_n("!1 x=%d z=%d\n"), c*64+i, z+23); +// else +// DBG(_n("!0 x=%d z=%d\n"), c*64+i, z-24); +// } + sm4_set_dir(Z_AXIS, !pinda); + if (!pinda) + { + if (z > min_z) + { + sm4_do_step(Z_AXIS_MASK); + z--; + } + } + else + { + if (z < max_z) + { + sm4_do_step(Z_AXIS_MASK); + z++; + } + } + sm4_do_step(X_AXIS_MASK); + delayMicroseconds(600); + _pinda = pinda; + } + sum >>= 6; //div 64 + if (z_sum < 0) + { + z_sum = -z_sum; + z_sum >>= 6; //div 64 + z_sum = -z_sum; + } + else + z_sum >>= 6; //div 64 + if (pixels) pixels[((uint16_t)r<<5) + ((r&1)?(31-c):c)] = sum; +// DBG(_n("c=%d r=%d l=%d z=%d\n"), c, r, sum, z_sum); + count_position[0] += (r&1)?-64:64; + count_position[2] = z; + } + if (pixels) + for (uint8_t c = 0; c < 32; c++) + DBG(_n("%02x"), pixels[((uint16_t)r<<5) + c]); + DBG(_n("\n")); + } +// xyzcal_lineXYZ_to(cx, cy, z, 2*delay_us, 0); +} + +void xyzcal_histo_pixels_32x32(uint8_t* pixels, uint16_t* histo) +{ + for (uint8_t l = 0; l < 16; l++) + histo[l] = 0; + for (uint8_t r = 0; r < 32; r++) + for (uint8_t c = 0; c < 32; c++) + { + uint8_t pix = pixels[((uint16_t)r<<5) + c]; + histo[pix >> 4]++; + } + for (uint8_t l = 0; l < 16; l++) + DBG(_n(" %2d %d\n"), l, histo[l]); +} + +void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) +{ + uint8_t l; + uint16_t max_c = histo[0]; + uint8_t max_l = 0; + for (l = 1; l < 16; l++) + { + uint16_t c = histo[l]; + if (c > max_c) + { + max_c = c; + max_l = l; + } + } + DBG(_n("max_c=%2d max_l=%d\n"), max_c, max_l); + for (l = 15; l > 8; l--) + if (histo[l] >= 10) + break; + uint8_t pix_min = (max_l + 3) << 4; + uint8_t pix_max = l << 4; + uint8_t pix_dif = pix_max - pix_min; + DBG(_n(" min=%d max=%d dif=%d\n"), pix_min, pix_max, pix_dif); + for (int16_t i = 0; i < 32*32; i++) + { + uint16_t pix = pixels[i]; + if (pix > pix_min) pix -= pix_min; + else pix = 0; + pix <<= 8; + pix /= pix_dif; +// if (pix < 0) pix = 0; + if (pix > 255) pix = 255; + pixels[i] = (uint8_t)pix; + } + for (uint8_t r = 0; r < 32; r++) + { + for (uint8_t c = 0; c < 32; c++) + DBG(_n("%02x"), pixels[((uint16_t)r<<5) + c]); + DBG(_n("\n")); + } +} + +/* +void xyzcal_draw_pattern_12x12_in_32x32(uint8_t* pattern, uint32_t* pixels, int w, int h, uint8_t x, uint8_t y, uint32_t and, uint32_t or) +{ + for (int i = 0; i < 8; i++) + for (int j = 0; j < 8; j++) + { + int idx = (x + j) + w * (y + i); + if (pattern[i] & (1 << j)) + { + pixels[idx] &= and; + pixels[idx] |= or; + } + } +} +*/ + +int16_t xyzcal_match_pattern_12x12_in_32x32(uint16_t* pattern, uint8_t* pixels, uint8_t c, uint8_t r) +{ + uint8_t thr = 64; + int16_t match = 0; + for (uint8_t i = 0; i < 12; i++) + for (uint8_t j = 0; j < 12; j++) + { + if (((i == 0) || (i == 11)) && ((j < 2) || (j >= 10))) continue; //skip corners + if (((j == 0) || (j == 11)) && ((i < 2) || (i >= 10))) continue; + uint16_t idx = (c + j) + 32 * (r + i); + uint8_t val = pixels[idx]; + if (pattern[i] & (1 << j)) + { + if (val > thr) match ++; + else match --; + } + else + { + if (val <= thr) match ++; + else match --; + } + } + return match; +} + +int16_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, uint8_t* pc, uint8_t* pr) +{ + uint8_t max_c = 0; + uint8_t max_r = 0; + int16_t max_match = 0; + for (uint8_t r = 0; r < (32 - 12); r++) + for (uint8_t c = 0; c < (32 - 12); c++) + { + int16_t match = xyzcal_match_pattern_12x12_in_32x32(pattern, pixels, c, r); + if (max_match < match) + { + max_c = c; + max_r = r; + max_match = match; + } + } + DBG(_n("max_c=%d max_r=%d max_match=%d\n"), max_c, max_r, max_match); + if (pc) *pc = max_c; + if (pr) *pr = max_r; + return max_match; +} + +#ifdef XYZCAL_FIND_POINT_CENTER +int8_t xyzcal_find_point_center(int16_t x0, int16_t y0, int16_t z0, int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t turns) +{ + uint8_t n; + uint16_t ad; + float ar; + float _cos; + float _sin; + int16_t r_min = 0; + int16_t r_max = 0; + int16_t x_min = 0; + int16_t x_max = 0; + int16_t y_min = 0; + int16_t y_max = 0; + int16_t r = 10; + int16_t x = x0; + int16_t y = y0; + int16_t z = z0; + int8_t _pinda = _PINDA; + for (n = 0; n < turns; n++) + { + uint32_t r_sum = 0; + for (ad = 0; ad < 720; ad++) + { + ar = ad * _PI / 360; + _cos = cos(ar); + _sin = sin(ar); + x = x0 + (int)(_cos * r); + y = y0 + (int)(_sin * r); + xyzcal_lineXYZ_to(x, y, z, 1000, 0); + int8_t pinda = _PINDA; + if (pinda) + r += 1; + else + { + r -= 1; + ad--; + r_sum -= r; + } + if (ad == 0) + { + x_min = x0; + x_max = x0; + y_min = y0; + y_max = y0; + r_min = r; + r_max = r; + } + else if (pinda) + { + if (x_min > x) x_min = (2*x + x_min) / 3; + if (x_max < x) x_max = (2*x + x_max) / 3; + if (y_min > y) y_min = (2*y + y_min) / 3; + if (y_max < y) y_max = (2*y + y_max) / 3; +/* if (x_min > x) x_min = x; + if (x_max < x) x_max = x; + if (y_min > y) y_min = y; + if (y_max < y) y_max = y;*/ + if (r_min > r) r_min = r; + if (r_max < r) r_max = r; + } + r_sum += r; +/* if (_pinda != pinda) + { + if (pinda) + DBG(_n("!1 x=%d y=%d\n"), x, y); + else + DBG(_n("!0 x=%d y=%d\n"), x, y); + }*/ + _pinda = pinda; +// DBG(_n("x=%d y=%d rx=%d ry=%d\n"), x, y, rx, ry); + } + DBG(_n("x_min=%d x_max=%d y_min=%d y_max=%d r_min=%d r_max=%d r_avg=%d\n"), x_min, x_max, y_min, y_max, r_min, r_max, r_sum / 720); + if ((n > 2) && (n & 1)) + { + x0 += (x_min + x_max); + y0 += (y_min + y_max); + x0 /= 3; + y0 /= 3; + int rx = (x_max - x_min) / 2; + int ry = (y_max - y_min) / 2; + r = (rx + ry) / 3;//(rx < ry)?rx:ry; + DBG(_n("x0=%d y0=%d r=%d\n"), x0, y0, r); + } + } + xyzcal_lineXYZ_to(x0, y0, z, 200, 0); +} +#endif //XYZCAL_FIND_POINT_CENTER + + +uint8_t xyzcal_xycoords2point(int16_t x, int16_t y) +{ + uint8_t ix = (x > 10000)?1:0; + uint8_t iy = (y > 10000)?1:0; + return iy?(3-ix):ix; +} + +//MK3 +#if ((MOTHERBOARD == 303) || (MOTHERBOARD == 304)) +const int16_t PROGMEM xyzcal_point_xcoords[4] = {1200, 22000, 22000, 1200}; +const int16_t PROGMEM xyzcal_point_ycoords[4] = {600, 600, 19800, 19800}; +#endif //((MOTHERBOARD == 303) || (MOTHERBOARD == 304)) + +//MK2.5 +#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) +const int16_t PROGMEM xyzcal_point_xcoords[4] = {1200, 22000, 22000, 1200}; +const int16_t PROGMEM xyzcal_point_ycoords[4] = {700, 700, 19800, 19800}; +#endif //((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) + +const uint16_t PROGMEM xyzcal_point_pattern[12] = {0x000, 0x0f0, 0x1f8, 0x3fc, 0x7fe, 0x7fe, 0x7fe, 0x7fe, 0x3fc, 0x1f8, 0x0f0, 0x000}; + +bool xyzcal_searchZ(void) +{ + DBG(_n("xyzcal_searchZ x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]); + int16_t x0 = _X; + int16_t y0 = _Y; + int16_t z0 = _Z; +// int16_t min_z = -6000; +// int16_t dz = 100; + int16_t z = z0; + while (z > -2300) //-6mm + 0.25mm + { + uint16_t ad = 0; + if (xyzcal_spiral8(x0, y0, z, 100, 900, 320, 1, &ad)) //dz=100 radius=900 delay=400 + { + int16_t x_on = _X; + int16_t y_on = _Y; + int16_t z_on = _Z; + DBG(_n(" ON-SIGNAL at x=%d y=%d z=%d ad=%d\n"), x_on, y_on, z_on, ad); + return true; + } + z -= 400; + } + DBG(_n("xyzcal_searchZ no signal\n x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]); + return false; +} + +bool xyzcal_scan_and_process(void) +{ + DBG(_n("sizeof(block_buffer)=%d\n"), sizeof(block_t)*BLOCK_BUFFER_SIZE); +// DBG(_n("sizeof(pixels)=%d\n"), 32*32); +// DBG(_n("sizeof(histo)=%d\n"), 2*16); +// DBG(_n("sizeof(pattern)=%d\n"), 2*12); + DBG(_n("sizeof(total)=%d\n"), 32*32+2*16+2*12); + bool ret = false; + int16_t x = _X; + int16_t y = _Y; + int16_t z = _Z; + + uint8_t* pixels = (uint8_t*)block_buffer; + xyzcal_scan_pixels_32x32(x, y, z - 128, 2400, 200, pixels); + + uint16_t* histo = (uint16_t*)(pixels + 32*32); + xyzcal_histo_pixels_32x32(pixels, histo); + + xyzcal_adjust_pixels(pixels, histo); + + uint16_t* pattern = (uint16_t*)(histo + 2*16); + for (uint8_t i = 0; i < 12; i++) + { + pattern[i] = pgm_read_word_far((uint16_t*)(xyzcal_point_pattern + i)); +// DBG(_n(" pattern[%d]=%d\n"), i, pattern[i]); + } + uint8_t c = 0; + uint8_t r = 0; + if (xyzcal_find_pattern_12x12_in_32x32(pixels, pattern, &c, &r) > 66) //total pixels=144, corner=12 (1/2 = 66) + { + DBG(_n(" pattern found at %d %d\n"), c, r); + c += 6; + r += 6; + x += ((int16_t)c - 16) << 6; + y += ((int16_t)r - 16) << 6; + DBG(_n(" x=%d y=%d z=%d\n"), x, y, z); + xyzcal_lineXYZ_to(x, y, z, 200, 0); + ret = true; + } + for (uint16_t i = 0; i < sizeof(block_t)*BLOCK_BUFFER_SIZE; i++) + pixels[i] = 0; + return ret; +} + +bool xyzcal_find_bed_induction_sensor_point_xy(void) +{ + DBG(_n("xyzcal_find_bed_induction_sensor_point_xy x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]); + bool ret = false; + st_synchronize(); + int16_t x = _X; + int16_t y = _Y; + int16_t z = _Z; + uint8_t point = xyzcal_xycoords2point(x, y); + x = pgm_read_word_far((uint16_t*)(xyzcal_point_xcoords + point)); + y = pgm_read_word_far((uint16_t*)(xyzcal_point_ycoords + point)); + DBG(_n("point=%d x=%d y=%d z=%d\n"), point, x, y, z); + xyzcal_meassure_enter(); + xyzcal_lineXYZ_to(x, y, z, 200, 0); + if (xyzcal_searchZ()) + { + int16_t z = _Z; + xyzcal_lineXYZ_to(x, y, z, 200, 0); + if (xyzcal_scan_and_process()) + { + ret = true; + } + } + xyzcal_meassure_leave(); + return ret; +} + + +#endif //NEW_XYZCAL diff --git a/Firmware/xyzcal.h b/Firmware/xyzcal.h new file mode 100644 index 000000000..a91b1c18d --- /dev/null +++ b/Firmware/xyzcal.h @@ -0,0 +1,39 @@ +//xyzcal.h - xyz calibration with image processing +#ifndef _XYZCAL_H +#define _XYZCAL_H + +#include + + +extern void xyzcal_meassure_enter(void); + +extern void xyzcal_meassure_leave(void); + +extern bool xyzcal_lineXYZ_to(int16_t x, int16_t y, int16_t z, uint16_t delay_us, int8_t check_pinda); + +extern bool xyzcal_spiral2(int16_t cx, int16_t cy, int16_t z0, int16_t dz, int16_t radius, int16_t rotation, uint16_t delay_us, int8_t check_pinda, uint16_t* pad); + +extern bool xyzcal_spiral8(int16_t cx, int16_t cy, int16_t z0, int16_t dz, int16_t radius, uint16_t delay_us, int8_t check_pinda, uint16_t* pad); + +//extern int8_t xyzcal_meassure_pinda_hysterezis(int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t samples); + +extern void xyzcal_scan_pixels_32x32(int16_t cx, int16_t cy, int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t* pixels); + +extern void xyzcal_histo_pixels_32x32(uint8_t* pixels, uint16_t* histo); + +extern void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo); + +extern int16_t xyzcal_match_pattern_12x12_in_32x32(uint16_t* pattern, uint8_t* pixels, uint8_t x, uint8_t y); + +extern int16_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, uint8_t* pc, uint8_t* pr); + +//extern int8_t xyzcal_find_point_center(int16_t x0, int16_t y0, int16_t z0, int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t turns); + +extern bool xyzcal_searchZ(void); + +extern bool xyzcal_scan_and_process(void); + +extern bool xyzcal_find_bed_induction_sensor_point_xy(void); + + +#endif //_XYZCAL_H From 16f9f35451970abc0838559d5faf389fdff4c751 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 13 Mar 2018 16:47:38 +0100 Subject: [PATCH 104/926] static_assert replaced with error directive --- Firmware/Marlin_main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f91bf32a3..435d5865b 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6743,7 +6743,9 @@ void handle_status_leds(void) { */ static void handleSafetyTimer() { - static_assert(EXTRUDERS == 1,"Implemented only for one extruder."); +#if (EXTRUDERS > 1) +#error Implemented only for one extruder. +#endif //(EXTRUDERS > 1) static Timer safetyTimer; if (IS_SD_PRINTING || is_usb_printing || (custom_message_type == 4) || (lcd_commands_type == LCD_COMMAND_V2_CAL) || (!degTargetBed() && !degTargetHotend(0))) From ddeb7b8c846f4c7804c04594c59dfd0c6355ecf0 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 29 Aug 2017 15:52:53 +0200 Subject: [PATCH 105/926] statistics improved, initial version of function which forces user to connect printer to monitoring --- Firmware/Marlin.h | 4 + Firmware/Marlin_main.cpp | 10 +++ Firmware/ultralcd.cpp | 74 ++++++++++++++++--- Firmware/ultralcd.h | 3 + .../ultralcd_implementation_hitachi_HD44780.h | 53 ++++++------- 5 files changed, 107 insertions(+), 37 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index a238579e5..5107d3a20 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -315,6 +315,10 @@ extern unsigned int custom_message_type; extern unsigned int custom_message_state; extern char snmm_filaments_used; extern unsigned long PingTime; +extern unsigned long NcTime; +extern bool no_response; +extern uint8_t important_status; +extern uint8_t saved_filament_type; extern bool fan_state[2]; extern int fan_edge_counter[2]; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e2018ee1b..6b66d82ce 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -251,6 +251,8 @@ CardReader card; #endif unsigned long PingTime = millis(); +unsigned long NcTime; + union Data { byte b[2]; @@ -414,6 +416,10 @@ bool cancel_heatup = false ; const char errormagic[] PROGMEM = "Error:"; const char echomagic[] PROGMEM = "echo:"; +bool no_response = false; +uint8_t important_status; +uint8_t saved_filament_type; + //=========================================================================== //=============================Private Variables============================= //=========================================================================== @@ -2382,6 +2388,7 @@ void gcode_M701() void process_commands() { + if (!buflen) return; //empty command #ifdef FILAMENT_RUNOUT_SUPPORT SET_INPUT(FR_SENS); #endif @@ -2455,6 +2462,9 @@ void process_commands() MYSERIAL.println("Not in farm mode."); } + } + else if (code_seen("thx")) { + no_response = false; }else if (code_seen("fv")) { // get file version #ifdef SDSUPPORT diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index c0452c36e..7995fc568 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3077,14 +3077,14 @@ void prusa_statistics(int _message) { farm_timer = 2; break; case 6: // print done - SERIAL_ECHOLN("{[PRN:8]"); + SERIAL_ECHO("{[PRN:8]"); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); status_number = 8; farm_timer = 2; break; case 7: // print done - stopped - SERIAL_ECHOLN("{[PRN:9]"); + SERIAL_ECHO("{[PRN:9]"); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); status_number = 9; @@ -3098,7 +3098,7 @@ void prusa_statistics(int _message) { farm_timer = 2; break; case 20: // echo farm no - SERIAL_ECHOLN("{"); + SERIAL_ECHO("{"); prusa_stat_printerstatus(status_number); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); @@ -3112,19 +3112,19 @@ void prusa_statistics(int _message) { SERIAL_ECHOLN("}"); break; case 22: // waiting for filament change - SERIAL_ECHOLN("{[PRN:5]"); + SERIAL_ECHO("{[PRN:5]"); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); status_number = 5; break; case 90: // Error - Thermal Runaway - SERIAL_ECHOLN("{[ERR:1]"); + SERIAL_ECHO("{[ERR:1]"); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); break; case 91: // Error - Thermal Runaway Preheat - SERIAL_ECHOLN("{[ERR:2]"); + SERIAL_ECHO("{[ERR:2]"); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); break; @@ -3134,7 +3134,7 @@ void prusa_statistics(int _message) { SERIAL_ECHOLN("}"); break; case 93: // Error - Max temp - SERIAL_ECHOLN("{[ERR:4]"); + SERIAL_ECHO("{[ERR:4]"); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); break; @@ -5220,14 +5220,22 @@ void lcd_confirm_print() if (cursor_pos == 1) { _ret = 1; - prusa_statistics(20); - prusa_statistics(4); + filament_type = lcd_choose_color(); + prusa_statistics(4, filament_type); + no_response = true; //we need confirmation by recieving PRUSA thx + important_status = 4; + saved_filament_type = filament_type; + NcTime = millis(); } if (cursor_pos == 2) { _ret = 2; - prusa_statistics(20); - prusa_statistics(5); + filament_type = lcd_choose_color(); + prusa_statistics(5, filament_type); + no_response = true; //we need confirmation by recieving PRUSA thx + important_status = 5; + saved_filament_type = filament_type; + NcTime = millis(); } } @@ -7162,6 +7170,7 @@ void lcd_update(uint8_t lcdDrawUpdateOverride) if (stepper_timer_overflow_state) stepper_timer_overflow(); #endif /* DEBUG_STEPPER_TIMER_MISSED */ lcd_ping(); //check that we have received ping command if we are in farm mode + lcd_send_status(); if (lcd_commands_type == LCD_COMMAND_V2_CAL) lcd_commands(); } @@ -7169,6 +7178,49 @@ void lcd_printer_connected() { printer_connected = true; } +static void lcd_send_status() { + if (farm_mode && no_response && ((millis() - NcTime) > (NC_TIME * 1000))) { + //send important status messages periodicaly + prusa_statistics(important_status, saved_filament_type); + NcTime = millis(); + lcd_connect_printer(); + } +}; + +static void lcd_connect_printer() { + lcd_update_enable(false); + lcd_implementation_clear(); + + bool pressed = false; + int i = 0; + int t = 0; + lcd_set_custom_characters_progress(); + lcd_implementation_print_at(0, 0, "Connect printer to"); + lcd_implementation_print_at(0, 1, "monitoring or hold"); + lcd_implementation_print_at(0, 2, "the knob to continue"); + while (no_response) { + i++; + t++; + delay_keep_alive(100); + process_commands(); + if (t == 10) { + prusa_statistics(important_status, saved_filament_type); + t = 0; + } + if (READ(BTN_ENC)) { //if button is not pressed + i = 0; + lcd_implementation_print_at(0, 3, " "); + } + if (i!=0) lcd_implementation_print_at((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, "\x01"); + if (i == NC_BUTTON_LONG_PRESS * 10) { + no_response = false; + } + } + lcd_set_custom_characters_degree(); + lcd_update_enable(true); + lcd_update(2); +} + void lcd_ping() { //chceck if printer is connected to monitoring when in farm mode if (farm_mode) { bool empty = is_buffer_empty(); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 53ced8a1b..389d6e641 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -285,4 +285,7 @@ void lcd_service_mode_show_result(); void lcd_wizard(); void lcd_wizard(int state); +static void lcd_send_status(); +static void lcd_connect_printer(); + #endif //ULTRALCD_H \ No newline at end of file diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 0d9db3e7b..c784d31fa 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -877,34 +877,35 @@ if (print_sd_status) if(strlen(card.longFilename) > LCD_WIDTH) { - int inters = 0; - int gh = scrollstuff; - while( ((gh-scrollstuff) Date: Tue, 29 Aug 2017 16:52:14 +0200 Subject: [PATCH 106/926] sorting files disabled in farm mode, start printer status needs reponse from monitoring --- Firmware/Marlin.h | 1 + Firmware/Marlin_main.cpp | 14 +++++++------- Firmware/ultralcd.cpp | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 5107d3a20..330338ae8 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -440,3 +440,4 @@ void gcode_M701(); #define UVLO !(PINE & (1<<4)) void extr_unload2(); +void proc_commands(); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 6b66d82ce..bd444e108 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3286,17 +3286,17 @@ void process_commands() enquecommand_front_P((PSTR("G28 W0"))); break; } - lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); - bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); - if (result) - { + lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); + bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); + if (result) + { current_position[Z_AXIS] = 50; current_position[Y_AXIS] = 190; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); - lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); - } - lcd_update_enable(true); + lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); + } + lcd_update_enable(true); KEEPALIVE_STATE(NOT_BUSY); //no need to print busy messages as we print current temperatures periodicaly SERIAL_ECHOLNPGM("PINDA probe calibration start"); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7995fc568..5597702a0 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7202,7 +7202,7 @@ static void lcd_connect_printer() { i++; t++; delay_keep_alive(100); - process_commands(); + process_command_small(); if (t == 10) { prusa_statistics(important_status, saved_filament_type); t = 0; From 8ec3c0fd7e25e31b91e5f99da3d9480e63ded86c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 29 Aug 2017 17:13:55 +0200 Subject: [PATCH 107/926] removed "Printer disconnected" message --- Firmware/ultralcd.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5597702a0..6331201b5 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -565,10 +565,10 @@ static void lcd_status_screen() feedmultiply = 999; #endif //ULTIPANEL - if (farm_mode && !printer_connected) { + /*if (farm_mode && !printer_connected) { lcd.setCursor(0, 3); lcd_printPGM(MSG_PRINTER_DISCONNECTED); - } + }*/ //#define FSENS_FACTOR (2580.8/50) //filament sensor factor [steps / encoder counts] @@ -7202,7 +7202,7 @@ static void lcd_connect_printer() { i++; t++; delay_keep_alive(100); - process_command_small(); + proc_commands(); if (t == 10) { prusa_statistics(important_status, saved_filament_type); t = 0; From a3ad74a6be2c898de35746b9f9cf9a0862e1636c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 13 Mar 2018 19:08:19 +0100 Subject: [PATCH 108/926] status screen fix --- .../ultralcd_implementation_hitachi_HD44780.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index c784d31fa..2b4ee3de3 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -875,7 +875,7 @@ if (print_sd_status) { if(strlen(card.longFilename) > LCD_WIDTH) - { + { int inters = 0; int gh = scrollstuff; @@ -900,15 +900,13 @@ if (print_sd_status) } scrollstuff++; - } - else - { + } + else + { lcd.print(longFilenameOLD); - } - } - - - } + } + } + // If not, check for other special events else { @@ -1409,6 +1407,7 @@ static uint8_t lcd_implementation_read_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()) { From 5d389a2c363da4ad7f2282c20bed407b2a2f6f7c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 21 Jul 2017 20:17:00 +0200 Subject: [PATCH 109/926] Farm mode: when print finishes, ask which filament was used for print; statistics modified --- Firmware/ultralcd.cpp | 15538 ++++++++++++++++++++-------------------- Firmware/ultralcd.h | 2 + 2 files changed, 7771 insertions(+), 7769 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 6331201b5..644f3e68f 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1,7769 +1,7769 @@ -#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 - -#include "util.h" -#include "mesh_bed_leveling.h" -//#include "Configuration.h" -#include "cmdqueue.h" - -#include "SdFatUtil.h" - -#ifdef PAT9125 -#include "pat9125.h" -#endif //PAT9125 - -#ifdef TMC2130 -#include "tmc2130.h" -#endif //TMC2130 - -#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; -extern bool fans_check_enabled; -extern bool filament_autoload_enabled; - -extern bool fsensor_not_responding; - -extern bool fsensor_enabled; - -//Function pointer to menu functions. -typedef void (*menuFunc_t)(); - -static void lcd_sd_updir(); - -struct EditMenuParentState -{ - //prevMenu and prevEncoderPosition are used to store the previous menu location when editing settings. - menuFunc_t prevMenu; - uint16_t prevEncoderPosition; - //Variables used when editing values. - const char* editLabel; - void* editValue; - int32_t minEditValue, maxEditValue; - // menuFunc_t callbackFunc; -}; - -union MenuData -{ - struct BabyStep - { - // 29B total - int8_t status; - int babystepMem[3]; - float babystepMemMM[3]; - } babyStep; - - struct SupportMenu - { - // 6B+16B=22B total - int8_t status; - bool is_flash_air; - uint8_t ip[4]; - char ip_str[3*4+3+1]; - } supportMenu; - - struct AdjustBed - { - // 6+13+16=35B - // editMenuParentState is used when an edit menu is entered, so it knows - // the return menu and encoder state. - struct EditMenuParentState editMenuParentState; - int8_t status; - int8_t left; - int8_t right; - int8_t front; - int8_t rear; - int left2; - int right2; - int front2; - int rear2; - } adjustBed; - - struct TuneMenu - { - // editMenuParentState is used when an edit menu is entered, so it knows - // the return menu and encoder state. - struct EditMenuParentState editMenuParentState; - // To recognize, whether the menu has been just initialized. - int8_t status; - // Backup of extrudemultiply, to recognize, that the value has been changed and - // it needs to be applied. - int16_t extrudemultiply; - } tuneMenu; - - // editMenuParentState is used when an edit menu is entered, so it knows - // the return menu and encoder state. - struct EditMenuParentState editMenuParentState; -}; - -// State of the currently active menu. -// C Union manages sharing of the static memory by all the menus. -union MenuData menuData = { 0 }; - -union Data -{ - byte b[2]; - int value; -}; - -int8_t ReInitLCD = 0; - -int8_t SDscrool = 0; - -int8_t SilentModeMenu = 0; - -int8_t FSensorStateMenu = 1; - -int8_t CrashDetectMenu = 1; - -extern void fsensor_block(); -extern void fsensor_unblock(); - -extern bool fsensor_enable(); -extern void fsensor_disable(); - -extern void crashdet_enable(); -extern void crashdet_disable(); - - -#ifdef SNMM -uint8_t snmm_extruder = 0; -#endif - -#ifdef SDCARD_SORT_ALPHA - bool presort_flag = false; -#endif - -int lcd_commands_type=LCD_COMMAND_IDLE; -int lcd_commands_step=0; -bool isPrintPaused = false; -uint8_t farm_mode = 0; -int farm_no = 0; -int farm_timer = 30; -int farm_status = 0; -unsigned long allert_timer = millis(); -bool printer_connected = true; - -unsigned long display_time; //just timer for showing pid finished message on lcd; -float pid_temp = DEFAULT_PID_TEMP; - -bool long_press_active = false; -long long_press_timer = millis(); -long button_blanking_time = millis(); -bool button_pressed = false; - -bool menuExiting = false; - -#ifdef FILAMENT_LCD_DISPLAY -unsigned long message_millis = 0; -#endif - -#ifdef ULTIPANEL -static float manual_feedrate[] = MANUAL_FEEDRATE; -#endif // ULTIPANEL - -/* !Configuration settings */ - -uint8_t lcd_status_message_level; -char lcd_status_message[LCD_WIDTH + 1] = ""; //////WELCOME! -unsigned char firstrun = 1; - -#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_crash_menu(); -static void lcd_settings_menu(); -static void lcd_calibration_menu(); -static void lcd_language_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(); - -static void prusa_stat_printerstatus(int _status); -static void prusa_stat_farm_number(); -static void prusa_stat_temperatures(); -static void prusa_stat_printinfo(); -static void lcd_farm_no(); -static void lcd_menu_extruder_info(); -static void lcd_menu_fails_stats(); - -void lcd_finishstatus(); - -#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); -#define menu_action_back_RAM menu_action_back -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_setlang(unsigned char lang); -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_wfac(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); -static void menu_action_setting_edit_mres(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); -static void menu_action_setting_edit_byte3(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); -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 = (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, (label) , ## args ) -#define MENU_ITEM_EDIT_CALLBACK(type, label, args...) MENU_ITEM(setting_edit_callback_ ## type, label, (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 */ -uint8_t lastEncoderBits; -uint32_t encoderPosition; -uint32_t savedEncoderPosition; -#if (SDCARDDETECT > 0) -bool lcd_oldcardstatus; -#endif -#endif //ULTIPANEL - -menuFunc_t currentMenu = lcd_status_screen; /* function pointer to the currently active menu */ -menuFunc_t savedMenu; -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) */ - -// place-holders for Ki and Kd edits -#ifdef PIDTEMP -// float raw_Ki, raw_Kd; -#endif - -static void lcd_goto_menu(menuFunc_t menu, const uint32_t encoder = 0, const bool feedback = true, bool reset_menu_state = true) -{ - asm("cli"); - if (currentMenu != menu) - { - currentMenu = menu; - encoderPosition = encoder; - asm("sei"); - if (reset_menu_state) - { - // Resets the global shared C union. - // This ensures, that the menu entered will find out, that it shall initialize itself. - memset(&menuData, 0, sizeof(menuData)); - } - 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 - } - else - asm("sei"); -} - -/* Main status screen. It's up to the implementation specific part to show what is needed. As this is very display dependent */ - -// Language selection dialog not active. -#define LANGSEL_OFF 0 -// Language selection dialog modal, entered from the info screen. This is the case on firmware boot up, -// if the language index stored in the EEPROM is not valid. -#define LANGSEL_MODAL 1 -// Language selection dialog entered from the Setup menu. -#define LANGSEL_ACTIVE 2 -// Language selection dialog status -unsigned char langsel = LANGSEL_OFF; - -void set_language_from_EEPROM() { - unsigned char eep = eeprom_read_byte((unsigned char*)EEPROM_LANG); - if (eep < LANG_NUM) - { - lang_selected = eep; - // Language is valid, no need to enter the language selection screen. - langsel = LANGSEL_OFF; - } - else - { - lang_selected = LANG_ID_DEFAULT; - // Invalid language, enter the language selection screen in a modal mode. - langsel = LANGSEL_MODAL; - } -} - -static void lcd_status_screen() -{ - if (firstrun == 1) - { - firstrun = 0; - set_language_from_EEPROM(); - - if(lcd_status_message_level == 0){ - strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH); - lcd_finishstatus(); - } - if (eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 1) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 2) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 3) == 255) - { - eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0); - eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0); - } - - if (langsel) { - //strncpy_P(lcd_status_message, PSTR(">>>>>>>>>>>> PRESS v"), LCD_WIDTH); - // Entering the language selection screen in a modal mode. - - } - } - - - 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(); - - if (farm_mode) - { - farm_timer--; - if (farm_timer < 1) - { - farm_timer = 180; - prusa_statistics(0); - } - switch (farm_timer) - { - case 45: - prusa_statistics(21); - break; - case 10: - if (IS_SD_PRINTING) - { - prusa_statistics(20); - } - break; - } - } // end of farm_mode - - - - - - 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 */ - if (lcd_commands_type != LCD_COMMAND_IDLE) - { - lcd_commands(); - } - - - } // end of lcdDrawUpdate -#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 (--langsel ==0) {langsel=1;current_click=true;} - - if (current_click && (lcd_commands_type != LCD_COMMAND_STOP_PRINT)) //click is aborted unless stop print finishes - { - - 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 - - /*if (farm_mode && !printer_connected) { - lcd.setCursor(0, 3); - lcd_printPGM(MSG_PRINTER_DISCONNECTED); - }*/ - - -//#define FSENS_FACTOR (2580.8/50) //filament sensor factor [steps / encoder counts] -//#define FSENS_FACTOR (2580.8/45.3) //filament sensor factor [steps / encoder counts] - //lcd.setCursor(0, 3); - //lcd_implementation_print(" "); - //lcd.setCursor(0, 3); - //lcd_implementation_print(pat9125_x); - //lcd.setCursor(6, 3); - //lcd_implementation_print(pat9125_y); - //lcd.setCursor(12, 3); - //lcd_implementation_print(pat9125_b); - -} - -#ifdef ULTIPANEL - -void lcd_commands() -{ - if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE) - { - if(lcd_commands_step == 0) { - if (card.sdprinting) { - card.pauseSDPrint(); - lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS); - lcdDrawUpdate = 3; - lcd_commands_step = 1; - } - else { - lcd_commands_type = 0; - } - } - if (lcd_commands_step == 1 && !blocks_queued() && !homing_flag) { - lcd_setstatuspgm(MSG_PRINT_PAUSED); - isPrintPaused = true; - long_pause(); - lcd_commands_type = 0; - lcd_commands_step = 0; - } - - } - - if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE_RESUME) { - char cmd1[30]; - if (lcd_commands_step == 0) { - - lcdDrawUpdate = 3; - lcd_commands_step = 4; - } - if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) { //recover feedmultiply; cmd_buffer_empty() ensures that card.sdprinting is synchronized with buffered commands and thus print cant be paused until resume is finished - - sprintf_P(cmd1, PSTR("M220 S%d"), saved_feedmultiply); - enquecommand(cmd1); - isPrintPaused = false; - pause_time += (millis() - start_pause_print); //accumulate time when print is paused for correct statistics calculation - card.startFileprint(); - lcd_commands_step = 0; - lcd_commands_type = 0; - } - if (lcd_commands_step == 2 && !blocks_queued()) { //turn on fan, move Z and unretract - - sprintf_P(cmd1, PSTR("M106 S%d"), fanSpeedBckp); - enquecommand(cmd1); - strcpy(cmd1, "G1 Z"); - strcat(cmd1, ftostr32(pause_lastpos[Z_AXIS])); - enquecommand(cmd1); - - if (axis_relative_modes[3] == false) { - enquecommand_P(PSTR("M83")); // set extruder to relative mode - enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract - enquecommand_P(PSTR("M82")); // set extruder to absolute mode - } - else { - enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract - } - - lcd_commands_step = 1; - } - if (lcd_commands_step == 3 && !blocks_queued()) { //wait for nozzle to reach target temp - - strcpy(cmd1, "M109 S"); - strcat(cmd1, ftostr3(HotendTempBckp)); - enquecommand(cmd1); - lcd_commands_step = 2; - } - if (lcd_commands_step == 4 && !blocks_queued()) { //set temperature back and move xy - - strcpy(cmd1, "M104 S"); - strcat(cmd1, ftostr3(HotendTempBckp)); - enquecommand(cmd1); - enquecommand_P(PSTR("G90")); //absolute positioning - strcpy(cmd1, "G1 X"); - strcat(cmd1, ftostr32(pause_lastpos[X_AXIS])); - strcat(cmd1, " Y"); - strcat(cmd1, ftostr32(pause_lastpos[Y_AXIS])); - enquecommand(cmd1); - - lcd_setstatuspgm(MSG_RESUMING_PRINT); - lcd_commands_step = 3; - } - } - -#ifdef SNMM - if (lcd_commands_type == LCD_COMMAND_V2_CAL) - { - char cmd1[30]; - float width = 0.4; - float length = 20 - width; - float extr = count_e(0.2, width, length); - float extr_short_segment = count_e(0.2, width, width); - - if (lcd_commands_step>1) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen - if (lcd_commands_step == 0) - { - lcd_commands_step = 10; - } - if (lcd_commands_step == 10 && !blocks_queued() && cmd_buffer_empty()) - { - enquecommand_P(PSTR("M107")); - enquecommand_P(PSTR("M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); - enquecommand_P(PSTR("M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); - enquecommand_P(PSTR("M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); - enquecommand_P(PSTR("M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); - enquecommand_P(PSTR("T0")); - enquecommand_P(MSG_M117_V2_CALIBRATION); - enquecommand_P(PSTR("G87")); //sets calibration status - enquecommand_P(PSTR("G28")); - enquecommand_P(PSTR("G21")); //set units to millimeters - enquecommand_P(PSTR("G90")); //use absolute coordinates - enquecommand_P(PSTR("M83")); //use relative distances for extrusion - enquecommand_P(PSTR("G92 E0")); - enquecommand_P(PSTR("M203 E100")); - enquecommand_P(PSTR("M92 E140")); - lcd_commands_step = 9; - } - if (lcd_commands_step == 9 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - enquecommand_P(PSTR("G1 Z0.250 F7200.000")); - enquecommand_P(PSTR("G1 X50.0 E80.0 F1000.0")); - enquecommand_P(PSTR("G1 X160.0 E20.0 F1000.0")); - enquecommand_P(PSTR("G1 Z0.200 F7200.000")); - enquecommand_P(PSTR("G1 X220.0 E13 F1000.0")); - enquecommand_P(PSTR("G1 X240.0 E0 F1000.0")); - enquecommand_P(PSTR("G92 E0.0")); - enquecommand_P(PSTR("G21")); - enquecommand_P(PSTR("G90")); - enquecommand_P(PSTR("M83")); - enquecommand_P(PSTR("G1 E-4 F2100.00000")); - enquecommand_P(PSTR("G1 Z0.150 F7200.000")); - enquecommand_P(PSTR("M204 S1000")); - enquecommand_P(PSTR("G1 F4000")); - - lcd_implementation_clear(); - lcd_goto_menu(lcd_babystep_z, 0, false); - - - lcd_commands_step = 8; - } - if (lcd_commands_step == 8 && !blocks_queued() && cmd_buffer_empty()) //draw meander - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - - - enquecommand_P(PSTR("G1 X50 Y155")); - enquecommand_P(PSTR("G1 X60 Y155 E4")); - enquecommand_P(PSTR("G1 F1080")); - enquecommand_P(PSTR("G1 X75 Y155 E2.5")); - enquecommand_P(PSTR("G1 X100 Y155 E2")); - enquecommand_P(PSTR("G1 X200 Y155 E2.62773")); - enquecommand_P(PSTR("G1 X200 Y135 E0.66174")); - enquecommand_P(PSTR("G1 X50 Y135 E3.62773")); - enquecommand_P(PSTR("G1 X50 Y115 E0.49386")); - enquecommand_P(PSTR("G1 X200 Y115 E3.62773")); - enquecommand_P(PSTR("G1 X200 Y95 E0.49386")); - enquecommand_P(PSTR("G1 X50 Y95 E3.62773")); - enquecommand_P(PSTR("G1 X50 Y75 E0.49386")); - enquecommand_P(PSTR("G1 X200 Y75 E3.62773")); - enquecommand_P(PSTR("G1 X200 Y55 E0.49386")); - enquecommand_P(PSTR("G1 X50 Y55 E3.62773")); - - lcd_commands_step = 7; - } - - if (lcd_commands_step == 7 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - strcpy(cmd1, "G1 X50 Y35 E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - - for (int i = 0; i < 4; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 6; - } - - if (lcd_commands_step == 6 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - for (int i = 4; i < 8; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 5; - } - - if (lcd_commands_step == 5 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - for (int i = 8; i < 12; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 4; - } - - if (lcd_commands_step == 4 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - for (int i = 12; i < 16; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 3; - } - - if (lcd_commands_step == 3 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - enquecommand_P(PSTR("G1 E-0.07500 F2100.00000")); - enquecommand_P(PSTR("G4 S0")); - enquecommand_P(PSTR("G1 E-4 F2100.00000")); - enquecommand_P(PSTR("G1 Z0.5 F7200.000")); - enquecommand_P(PSTR("G1 X245 Y1")); - enquecommand_P(PSTR("G1 X240 E4")); - enquecommand_P(PSTR("G1 F4000")); - enquecommand_P(PSTR("G1 X190 E2.7")); - enquecommand_P(PSTR("G1 F4600")); - enquecommand_P(PSTR("G1 X110 E2.8")); - enquecommand_P(PSTR("G1 F5200")); - enquecommand_P(PSTR("G1 X40 E3")); - enquecommand_P(PSTR("G1 E-15.0000 F5000")); - enquecommand_P(PSTR("G1 E-50.0000 F5400")); - enquecommand_P(PSTR("G1 E-15.0000 F3000")); - enquecommand_P(PSTR("G1 E-12.0000 F2000")); - enquecommand_P(PSTR("G1 F1600")); - - lcd_commands_step = 2; - } - if (lcd_commands_step == 2 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - - enquecommand_P(PSTR("G1 X0 Y1 E3.0000")); - enquecommand_P(PSTR("G1 X50 Y1 E-5.0000")); - enquecommand_P(PSTR("G1 F2000")); - enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); - enquecommand_P(PSTR("G1 X50 Y1 E-5.0000")); - enquecommand_P(PSTR("G1 F2400")); - enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); - enquecommand_P(PSTR("G1 X50 Y1 E-5.0000")); - enquecommand_P(PSTR("G1 F2400")); - enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); - enquecommand_P(PSTR("G1 X50 Y1 E-3.0000")); - enquecommand_P(PSTR("G4 S0")); - enquecommand_P(PSTR("M107")); - enquecommand_P(PSTR("M104 S0")); - enquecommand_P(PSTR("M140 S0")); - enquecommand_P(PSTR("G1 X10 Y180 F4000")); - enquecommand_P(PSTR("G1 Z10 F1300.000")); - enquecommand_P(PSTR("M84")); - - lcd_commands_step = 1; - - } - - if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_setstatuspgm(WELCOME_MSG); - lcd_commands_step = 0; - lcd_commands_type = 0; - if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { - lcd_wizard(10); - } - } - - } - -#else //if not SNMM - - if (lcd_commands_type == LCD_COMMAND_V2_CAL) - { - char cmd1[30]; - float width = 0.4; - float length = 20 - width; - float extr = count_e(0.2, width, length); - float extr_short_segment = count_e(0.2, width, width); - if(lcd_commands_step>1) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen - if (lcd_commands_step == 0) - { - lcd_commands_step = 9; - } - if (lcd_commands_step == 9 && !blocks_queued() && cmd_buffer_empty()) - { - enquecommand_P(PSTR("M107")); - enquecommand_P(PSTR("M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); - enquecommand_P(PSTR("M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); - enquecommand_P(PSTR("M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); - enquecommand_P(PSTR("M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); - enquecommand_P(MSG_M117_V2_CALIBRATION); - enquecommand_P(PSTR("G87")); //sets calibration status - enquecommand_P(PSTR("G28")); - enquecommand_P(PSTR("G92 E0.0")); - lcd_commands_step = 8; - } - if (lcd_commands_step == 8 && !blocks_queued() && cmd_buffer_empty()) - { - - lcd_implementation_clear(); - lcd_goto_menu(lcd_babystep_z, 0, false); - enquecommand_P(PSTR("G1 X60.0 E9.0 F1000.0")); //intro line - enquecommand_P(PSTR("G1 X100.0 E12.5 F1000.0")); //intro line - enquecommand_P(PSTR("G92 E0.0")); - enquecommand_P(PSTR("G21")); //set units to millimeters - enquecommand_P(PSTR("G90")); //use absolute coordinates - enquecommand_P(PSTR("M83")); //use relative distances for extrusion - enquecommand_P(PSTR("G1 E-1.50000 F2100.00000")); - enquecommand_P(PSTR("G1 Z0.150 F7200.000")); - enquecommand_P(PSTR("M204 S1000")); //set acceleration - enquecommand_P(PSTR("G1 F4000")); - lcd_commands_step = 7; - } - if (lcd_commands_step == 7 && !blocks_queued() && cmd_buffer_empty()) //draw meander - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - - - //just opposite direction - /*enquecommand_P(PSTR("G1 X50 Y55")); - enquecommand_P(PSTR("G1 F1080")); - enquecommand_P(PSTR("G1 X200 Y55 E3.62773")); - enquecommand_P(PSTR("G1 X200 Y75 E0.49386")); - enquecommand_P(PSTR("G1 X50 Y75 E3.62773")); - enquecommand_P(PSTR("G1 X50 Y95 E0.49386")); - enquecommand_P(PSTR("G1 X200 Y95 E3.62773")); - enquecommand_P(PSTR("G1 X200 Y115 E0.49386")); - enquecommand_P(PSTR("G1 X50 Y115 E3.62773")); - enquecommand_P(PSTR("G1 X50 Y135 E0.49386")); - enquecommand_P(PSTR("G1 X200 Y135 E3.62773")); - enquecommand_P(PSTR("G1 X200 Y155 E0.66174")); - enquecommand_P(PSTR("G1 X100 Y155 E2.62773")); - enquecommand_P(PSTR("G1 X75 Y155 E2")); - enquecommand_P(PSTR("G1 X50 Y155 E2.5")); - enquecommand_P(PSTR("G1 E - 0.07500 F2100.00000"));*/ - - - enquecommand_P(PSTR("G1 X50 Y155")); - enquecommand_P(PSTR("G1 F1080")); - enquecommand_P(PSTR("G1 X75 Y155 E2.5")); - enquecommand_P(PSTR("G1 X100 Y155 E2")); - enquecommand_P(PSTR("G1 X200 Y155 E2.62773")); - enquecommand_P(PSTR("G1 X200 Y135 E0.66174")); - enquecommand_P(PSTR("G1 X50 Y135 E3.62773")); - enquecommand_P(PSTR("G1 X50 Y115 E0.49386")); - enquecommand_P(PSTR("G1 X200 Y115 E3.62773")); - enquecommand_P(PSTR("G1 X200 Y95 E0.49386")); - enquecommand_P(PSTR("G1 X50 Y95 E3.62773")); - enquecommand_P(PSTR("G1 X50 Y75 E0.49386")); - enquecommand_P(PSTR("G1 X200 Y75 E3.62773")); - enquecommand_P(PSTR("G1 X200 Y55 E0.49386")); - enquecommand_P(PSTR("G1 X50 Y55 E3.62773")); - - strcpy(cmd1, "G1 X50 Y35 E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - - lcd_commands_step = 6; - } - - if (lcd_commands_step == 6 && !blocks_queued() && cmd_buffer_empty()) - { - - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - - for (int i = 0; i < 4; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 5; - } - - if (lcd_commands_step == 5 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - for (int i = 4; i < 8; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 4; - } - - if (lcd_commands_step == 4 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - for (int i = 8; i < 12; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 3; - } - - if (lcd_commands_step == 3 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - for (int i = 12; i < 16; i++) { - strcpy(cmd1, "G1 X70 Y"); - strcat(cmd1, ftostr32(35 - i*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - strcpy(cmd1, "G1 X50 Y"); - strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr)); - enquecommand(cmd1); - strcpy(cmd1, "G1 Y"); - strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); - strcat(cmd1, " E"); - strcat(cmd1, ftostr43(extr_short_segment)); - enquecommand(cmd1); - } - - lcd_commands_step = 2; - } - - if (lcd_commands_step == 2 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - enquecommand_P(PSTR("G1 E-0.07500 F2100.00000")); - enquecommand_P(PSTR("M107")); //turn off printer fan - enquecommand_P(PSTR("M104 S0")); // turn off temperature - enquecommand_P(PSTR("M140 S0")); // turn off heatbed - enquecommand_P(PSTR("G1 Z10 F1300.000")); - enquecommand_P(PSTR("G1 X10 Y180 F4000")); //home X axis - enquecommand_P(PSTR("M84"));// disable motors - lcd_timeoutToStatus = millis() - 1; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen - lcd_commands_step = 1; - } - if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) - { - lcd_setstatuspgm(WELCOME_MSG); - lcd_commands_step = 0; - lcd_commands_type = 0; - if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { - lcd_wizard(10); - } - } - - } - -#endif // not SNMM - - if (lcd_commands_type == LCD_COMMAND_STOP_PRINT) /// stop print - { - - - if (lcd_commands_step == 0) - { - lcd_commands_step = 6; - custom_message = true; - } - - if (lcd_commands_step == 1 && !blocks_queued()) - { - lcd_commands_step = 0; - lcd_commands_type = 0; - lcd_setstatuspgm(WELCOME_MSG); - custom_message_type = 0; - custom_message = false; - isPrintPaused = false; - } - if (lcd_commands_step == 2 && !blocks_queued()) - { - setTargetBed(0); - enquecommand_P(PSTR("M104 S0")); //set hotend temp to 0 - - manage_heater(); - lcd_setstatuspgm(WELCOME_MSG); - cancel_heatup = false; - lcd_commands_step = 1; - } - if (lcd_commands_step == 3 && !blocks_queued()) - { - // M84: Disable steppers. - enquecommand_P(PSTR("M84")); - autotempShutdown(); - lcd_commands_step = 2; - } - if (lcd_commands_step == 4 && !blocks_queued()) - { - lcd_setstatuspgm(MSG_PLEASE_WAIT); - // G90: Absolute positioning. - enquecommand_P(PSTR("G90")); - // M83: Set extruder to relative mode. - enquecommand_P(PSTR("M83")); - #ifdef X_CANCEL_POS - enquecommand_P(PSTR("G1 X" STRINGIFY(X_CANCEL_POS) " Y" STRINGIFY(Y_CANCEL_POS) " E0 F7000")); - #else - enquecommand_P(PSTR("G1 X50 Y" STRINGIFY(Y_MAX_POS) " E0 F7000")); - #endif - lcd_ignore_click(false); - #ifdef SNMM - lcd_commands_step = 8; - #else - lcd_commands_step = 3; - #endif - } - if (lcd_commands_step == 5 && !blocks_queued()) - { - lcd_setstatuspgm(MSG_PRINT_ABORTED); - // G91: Set to relative positioning. - enquecommand_P(PSTR("G91")); - // Lift up. - enquecommand_P(PSTR("G1 Z15 F1500")); - if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) lcd_commands_step = 4; - else lcd_commands_step = 3; - } - if (lcd_commands_step == 6 && !blocks_queued()) - { - lcd_setstatuspgm(MSG_PRINT_ABORTED); - cancel_heatup = true; - setTargetBed(0); - #ifndef SNMM - setTargetHotend(0, 0); //heating when changing filament for multicolor - setTargetHotend(0, 1); - setTargetHotend(0, 2); - #endif - manage_heater(); - custom_message = true; - custom_message_type = 2; - lcd_commands_step = 5; - } - if (lcd_commands_step == 7 && !blocks_queued()) { - switch(snmm_stop_print_menu()) { - case 0: enquecommand_P(PSTR("M702")); break;//all - case 1: enquecommand_P(PSTR("M702 U")); break; //used - case 2: enquecommand_P(PSTR("M702 C")); break; //current - default: enquecommand_P(PSTR("M702")); break; - } - lcd_commands_step = 3; - } - if (lcd_commands_step == 8 && !blocks_queued()) { //step 8 is here for delay (going to next step after execution of all gcodes from step 4) - lcd_commands_step = 7; - } - } - - if (lcd_commands_type == 3) - { - lcd_commands_type = 0; - } - - if (lcd_commands_type == LCD_COMMAND_FARM_MODE_CONFIRM) /// farm mode confirm - { - - if (lcd_commands_step == 0) { lcd_commands_step = 6; custom_message = true; } - - if (lcd_commands_step == 1 && !blocks_queued()) - { - lcd_confirm_print(); - lcd_commands_step = 0; - lcd_commands_type = 0; - } - if (lcd_commands_step == 2 && !blocks_queued()) - { - lcd_commands_step = 1; - } - if (lcd_commands_step == 3 && !blocks_queued()) - { - lcd_commands_step = 2; - } - if (lcd_commands_step == 4 && !blocks_queued()) - { - enquecommand_P(PSTR("G90")); - enquecommand_P(PSTR("G1 X" STRINGIFY(X_CANCEL_POS) " Y" STRINGIFY(Y_CANCEL_POS) " E0 F7000")); - lcd_commands_step = 3; - } - if (lcd_commands_step == 5 && !blocks_queued()) - { - lcd_commands_step = 4; - } - if (lcd_commands_step == 6 && !blocks_queued()) - { - enquecommand_P(PSTR("G91")); - enquecommand_P(PSTR("G1 Z15 F1500")); - st_synchronize(); - #ifdef SNMM - lcd_commands_step = 7; - #else - lcd_commands_step = 5; - #endif - } - - } - if (lcd_commands_type == LCD_COMMAND_PID_EXTRUDER) { - char cmd1[30]; - - if (lcd_commands_step == 0) { - custom_message_type = 3; - custom_message_state = 1; - custom_message = true; - lcdDrawUpdate = 3; - lcd_commands_step = 3; - } - if (lcd_commands_step == 3 && !blocks_queued()) { //PID calibration - strcpy(cmd1, "M303 E0 S"); - strcat(cmd1, ftostr3(pid_temp)); - enquecommand(cmd1); - lcd_setstatuspgm(MSG_PID_RUNNING); - lcd_commands_step = 2; - } - if (lcd_commands_step == 2 && pid_tuning_finished) { //saving to eeprom - pid_tuning_finished = false; - custom_message_state = 0; - lcd_setstatuspgm(MSG_PID_FINISHED); - if (_Kp != 0 || _Ki != 0 || _Kd != 0) { - strcpy(cmd1, "M301 P"); - strcat(cmd1, ftostr32(_Kp)); - strcat(cmd1, " I"); - strcat(cmd1, ftostr32(_Ki)); - strcat(cmd1, " D"); - strcat(cmd1, ftostr32(_Kd)); - enquecommand(cmd1); - enquecommand_P(PSTR("M500")); - } - else { - SERIAL_ECHOPGM("Invalid PID cal. results. Not stored to EEPROM."); - } - display_time = millis(); - lcd_commands_step = 1; - } - if ((lcd_commands_step == 1) && ((millis()- display_time)>2000)) { //calibration finished message - lcd_setstatuspgm(WELCOME_MSG); - custom_message_type = 0; - custom_message = false; - pid_temp = DEFAULT_PID_TEMP; - lcd_commands_step = 0; - lcd_commands_type = 0; - } - } - - -} - -static float count_e(float layer_heigth, float extrusion_width, float extrusion_length) { - //returns filament length in mm which needs to be extrude to form line with extrusion_length * extrusion_width * layer heigth dimensions - float extr = extrusion_length * layer_heigth * extrusion_width / (M_PI * pow(1.75, 2) / 4); - return extr; -} - -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); -} - - -void lcd_sdcard_pause() { - lcd_return_to_status(); - lcd_commands_type = LCD_COMMAND_LONG_PAUSE; - -} - -static void lcd_sdcard_resume() { - lcd_return_to_status(); - lcd_reset_alert_level(); //for fan speed error - lcd_commands_type = LCD_COMMAND_LONG_PAUSE_RESUME; -} - -float move_menu_scale; -static void lcd_move_menu_axis(); - - - -/* Menu implementation */ - -void lcd_preheat_farm() -{ - setTargetHotend0(FARM_PREHEAT_HOTEND_TEMP); - setTargetBed(FARM_PREHEAT_HPB_TEMP); - fanSpeed = 0; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -void lcd_preheat_pla() -{ - setTargetHotend0(PLA_PREHEAT_HOTEND_TEMP); - setTargetBed(PLA_PREHEAT_HPB_TEMP); - fanSpeed = 0; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -void lcd_preheat_abs() -{ - setTargetHotend0(ABS_PREHEAT_HOTEND_TEMP); - setTargetBed(ABS_PREHEAT_HPB_TEMP); - fanSpeed = 0; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -void lcd_preheat_pp() -{ - setTargetHotend0(PP_PREHEAT_HOTEND_TEMP); - setTargetBed(PP_PREHEAT_HPB_TEMP); - fanSpeed = 0; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -void lcd_preheat_pet() -{ - setTargetHotend0(PET_PREHEAT_HOTEND_TEMP); - setTargetBed(PET_PREHEAT_HPB_TEMP); - fanSpeed = 0; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -void lcd_preheat_hips() -{ - setTargetHotend0(HIPS_PREHEAT_HOTEND_TEMP); - setTargetBed(HIPS_PREHEAT_HPB_TEMP); - fanSpeed = 0; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -void lcd_preheat_flex() -{ - setTargetHotend0(FLEX_PREHEAT_HOTEND_TEMP); - setTargetBed(FLEX_PREHEAT_HPB_TEMP); - 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_menu_extruder_info() -{ - int fan_speed_RPM[2]; - - pat9125_update(); - - fan_speed_RPM[0] = 60*fan_speed[0]; - fan_speed_RPM[1] = 60*fan_speed[1]; - - // Display Nozzle fan RPM - - lcd.setCursor(0, 0); - lcd_printPGM(MSG_INFO_NOZZLE_FAN); - - lcd.setCursor(11, 0); - lcd.print(" "); - lcd.setCursor(12, 0); - lcd.print(itostr4(fan_speed_RPM[0])); - lcd.print(" RPM"); - - // Display Nozzle fan RPM - - lcd.setCursor(0, 1); - lcd_printPGM(MSG_INFO_PRINT_FAN); - - lcd.setCursor(11, 1); - lcd.print(" "); - lcd.setCursor(12, 1); - lcd.print(itostr4(fan_speed_RPM[1])); - lcd.print(" RPM"); - - - // Display X and Y difference from Filament sensor - - lcd.setCursor(0, 2); - lcd.print("Fil. Xd:"); - lcd.print(itostr3(pat9125_x)); - lcd.print(" "); - lcd.setCursor(12, 2); - lcd.print("Yd:"); - lcd.print(itostr3(pat9125_y)); - - // Display Light intensity from Filament sensor - /* Frame_Avg register represents the average brightness of all pixels within a frame (324 pixels). This - value ranges from 0(darkest) to 255(brightest). */ - lcd.setCursor(0, 3); - - lcd.print("Int: "); - lcd.setCursor(5, 3); - lcd.print(itostr3(pat9125_b)); - - // Display LASER shutter time from Filament sensor - /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chips internal - auto-exposure algorithm. When the chip is tracking on a good reflection surface, the Shutter is small. - When the chip is tracking on a poor reflection surface, the Shutter is large. Value ranges from 0 to - 46. */ - - lcd.setCursor(10, 3); - - lcd.print("Shut: "); - lcd.setCursor(15, 3); - lcd.print(itostr3(pat9125_s)); - - - if (lcd_clicked()) - { - lcd_quick_feedback(); - lcd_return_to_status(); - } -} - -static void lcd_menu_fails_stats_total() -{ -//01234567890123456789 -//Total failures -// Power failures 000 -// Filam. runouts 000 -// Crash X 000 Y 000 -////////////////////// - uint16_t power = eeprom_read_word((uint16_t*)EEPROM_POWER_COUNT_TOT); - uint16_t filam = eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT); - uint16_t crashX = eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_X_TOT); - uint16_t crashY = eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_Y_TOT); - fprintf_P(lcdout, PSTR(ESC_H(0,0)"Total failures"ESC_H(1,1)"Power failures %-3d"ESC_H(1,2)"Filam. runouts %-3d"ESC_H(1,3)"Crash X %-3d Y %-3d"), power, filam, crashX, crashY); - if (lcd_clicked()) - { - lcd_quick_feedback(); - //lcd_return_to_status(); - lcd_goto_menu(lcd_menu_fails_stats, 4); - } -} - -static void lcd_menu_fails_stats_print() -{ -//01234567890123456789 -//Last print failures -// Power failures 000 -// Filam. runouts 000 -// Crash X 000 Y 000 -////////////////////// - uint8_t power = eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT); - uint8_t filam = eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT); - uint8_t crashX = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X); - uint8_t crashY = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_Y); - fprintf_P(lcdout, PSTR(ESC_H(0,0)"Last print failures"ESC_H(1,1)"Power failures %-3d"ESC_H(1,2)"Filam. runouts %-3d"ESC_H(1,3)"Crash X %-3d Y %-3d"), power, filam, crashX, crashY); - if (lcd_clicked()) - { - lcd_quick_feedback(); - //lcd_return_to_status(); - lcd_goto_menu(lcd_menu_fails_stats, 2); - } -} - -static void lcd_menu_fails_stats() -{ - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - MENU_ITEM(submenu, PSTR("Last print"), lcd_menu_fails_stats_print); - MENU_ITEM(submenu, PSTR("Total"), lcd_menu_fails_stats_total); - END_MENU(); -} - - -#ifdef DEBUG_BUILD -#ifdef DEBUG_STACK_MONITOR -extern uint16_t SP_min; -extern char* __malloc_heap_start; -extern char* __malloc_heap_end; -#endif //DEBUG_STACK_MONITOR - -static void lcd_menu_debug() -{ -#ifdef DEBUG_STACK_MONITOR - fprintf_P(lcdout, PSTR(ESC_H(1,1)"RAM statistics"ESC_H(5,1)"SP_min: 0x%04x"ESC_H(1,2)"heap_start: 0x%04x"ESC_H(3,3)"heap_end: 0x%04x"), SP_min, __malloc_heap_start, __malloc_heap_end); -#endif //DEBUG_STACK_MONITOR - - if (lcd_clicked()) - { - lcd_quick_feedback(); - lcd_return_to_status(); - } -} -#endif /* DEBUG_BUILD */ - -static void lcd_menu_temperatures() -{ - fprintf_P(lcdout, PSTR(ESC_H(1,0)"Nozzle: %d%c" ESC_H(1,1)"Bed: %d%c"), (int)current_temperature[0], '\x01', (int)current_temperature_bed, '\x01'); - fprintf_P(lcdout, PSTR(ESC_H(1,2)"Ambient: %d%c" ESC_H(1,3)"PINDA: %d%c"), (int)current_temperature_ambient, '\x01', (int)current_temperature_pinda, '\x01'); - if (lcd_clicked()) - { - lcd_quick_feedback(); - lcd_return_to_status(); - } -} - -#define VOLT_DIV_R1 10000 -#define VOLT_DIV_R2 2370 -#define VOLT_DIV_FAC ((float)VOLT_DIV_R2 / (VOLT_DIV_R2 + VOLT_DIV_R1)) -#define VOLT_DIV_REF 5 -static void lcd_menu_voltages() -{ - float volt_pwr = VOLT_DIV_REF * ((float)current_voltage_raw_pwr / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; - //float volt_bed = VOLT_DIV_REF * ((float)current_voltage_raw_bed / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; - //fprintf_P(lcdout, PSTR(ESC_H(1,1)"PWR: %d.%01dV" ESC_H(1,2)"BED: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed))); - fprintf_P(lcdout, PSTR( ESC_H(1,1)"PWR: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr))) ; - if (lcd_clicked()) - { - lcd_quick_feedback(); - lcd_return_to_status(); - } -} - -static void lcd_menu_belt_status() -{ - fprintf_P(lcdout, PSTR(ESC_H(1,0) "Belt status" ESC_H(2,1) "X %d" ESC_H(2,2) "Y %d" ), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_X)), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y))); - if (lcd_clicked()) - { - lcd_quick_feedback(); - lcd_return_to_status(); - } -} - -extern void stop_and_save_print_to_ram(float z_move, float e_move); -extern void restore_print_from_ram_and_continue(float e_move); - -static void lcd_menu_test_save() -{ - stop_and_save_print_to_ram(10, -0.8); -} - -static void lcd_menu_test_restore() -{ - restore_print_from_ram_and_continue(0.8); -} - -static void lcd_preheat_menu() -{ - START_MENU(); - - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - - if (farm_mode) - MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); - - MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla); - MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet); - MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); - MENU_ITEM(function, PSTR("HIPS - " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP)), lcd_preheat_hips); - MENU_ITEM(function, PSTR("PP - " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP)), lcd_preheat_pp); - MENU_ITEM(function, PSTR("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() -{ - if (menuData.supportMenu.status == 0 || lcdDrawUpdate == 2) { - // Menu was entered or SD card status has changed (plugged in or removed). - // Initialize its status. - menuData.supportMenu.status = 1; - menuData.supportMenu.is_flash_air = card.ToshibaFlashAir_isEnabled() && card.ToshibaFlashAir_GetIP(menuData.supportMenu.ip); - if (menuData.supportMenu.is_flash_air) - sprintf_P(menuData.supportMenu.ip_str, PSTR("%d.%d.%d.%d"), - menuData.supportMenu.ip[0], menuData.supportMenu.ip[1], - menuData.supportMenu.ip[2], menuData.supportMenu.ip[3]); - } else if (menuData.supportMenu.is_flash_air && - menuData.supportMenu.ip[0] == 0 && menuData.supportMenu.ip[1] == 0 && - menuData.supportMenu.ip[2] == 0 && menuData.supportMenu.ip[3] == 0 && - ++ menuData.supportMenu.status == 16) { - // Waiting for the FlashAir card to get an IP address from a router. Force an update. - menuData.supportMenu.status = 0; - } - - START_MENU(); - - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - - MENU_ITEM(back, PSTR("Firmware:"), lcd_main_menu); - MENU_ITEM(back, PSTR(" " FW_VERSION_FULL), lcd_main_menu); -#if (FW_DEV_VERSION != FW_VERSION_GOLD) && (FW_DEV_VERSION != FW_VERSION_RC) - MENU_ITEM(back, PSTR(" repo " FW_REPOSITORY), lcd_main_menu); -#endif - // Ideally this block would be optimized out by the compiler. -/* const uint8_t fw_string_len = strlen_P(FW_VERSION_STR_P()); - if (fw_string_len < 6) { - MENU_ITEM(back, PSTR(MSG_FW_VERSION " - " FW_version), lcd_main_menu); - } else { - MENU_ITEM(back, PSTR("FW - " FW_version), lcd_main_menu); - }*/ - - MENU_ITEM(back, MSG_PRUSA3D, lcd_main_menu); - MENU_ITEM(back, MSG_PRUSA3D_FORUM, lcd_main_menu); - MENU_ITEM(back, MSG_PRUSA3D_HOWTO, lcd_main_menu); - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); - MENU_ITEM(back, PSTR(FILAMENT_SIZE), lcd_main_menu); - MENU_ITEM(back, PSTR(ELECTRONICS),lcd_main_menu); - MENU_ITEM(back, PSTR(NOZZLE_TYPE),lcd_main_menu); - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); - MENU_ITEM(back, MSG_DATE, lcd_main_menu); - MENU_ITEM(back, PSTR(__DATE__), lcd_main_menu); - - // Show the FlashAir IP address, if the card is available. - if (menuData.supportMenu.is_flash_air) { - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); - MENU_ITEM(back, PSTR("FlashAir IP Addr:"), lcd_main_menu); - MENU_ITEM(back_RAM, menuData.supportMenu.ip_str, lcd_main_menu); - } - #ifndef MK1BP - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); - if (!IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) MENU_ITEM(function, MSG_XYZ_DETAILS, lcd_service_mode_show_result); - MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info); - - MENU_ITEM(submenu, MSG_MENU_BELT_STATUS, lcd_menu_belt_status); - - MENU_ITEM(submenu, MSG_MENU_TEMPERATURES, lcd_menu_temperatures); - - MENU_ITEM(submenu, MSG_MENU_VOLTAGES, lcd_menu_voltages); - -#ifdef DEBUG_BUILD - MENU_ITEM(submenu, PSTR("Debug"), lcd_menu_debug); -#endif /* DEBUG_BUILD */ - - #endif //MK1BP - END_MENU(); -} - -void lcd_set_fan_check() { - fans_check_enabled = !fans_check_enabled; - eeprom_update_byte((unsigned char *)EEPROM_FAN_CHECK_ENABLED, fans_check_enabled); - lcd_goto_menu(lcd_settings_menu, 8); -} - -void lcd_set_filament_autoload() { - filament_autoload_enabled = !filament_autoload_enabled; - eeprom_update_byte((unsigned char *)EEPROM_FSENS_AUTOLOAD_ENABLED, filament_autoload_enabled); - lcd_goto_menu(lcd_settings_menu, 8); -} - -void lcd_unLoadFilament() -{ - - if (degHotend0() > EXTRUDE_MINTEMP) { - - enquecommand_P(PSTR("M702")); //unload filament - - } else { - - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - - delay(2000); - lcd_implementation_clear(); - } - - lcd_return_to_status(); -} - -void lcd_change_filament() { - - lcd_implementation_clear(); - - lcd.setCursor(0, 1); - - lcd_printPGM(MSG_CHANGING_FILAMENT); - - -} - - -void lcd_wait_interact() { - - lcd_implementation_clear(); - - lcd.setCursor(0, 1); -#ifdef SNMM - lcd_printPGM(MSG_PREPARE_FILAMENT); -#else - lcd_printPGM(MSG_INSERT_FILAMENT); -#endif - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PRESS); - -} - - -void lcd_change_success() { - - lcd_implementation_clear(); - - lcd.setCursor(0, 2); - - lcd_printPGM(MSG_CHANGE_SUCCESS); - - -} - - -void lcd_loading_color() { - - lcd_implementation_clear(); - - lcd.setCursor(0, 0); - - lcd_printPGM(MSG_LOADING_COLOR); - lcd.setCursor(0, 2); - lcd_printPGM(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_printPGM(MSG_LOADING_FILAMENT); - lcd.setCursor(0, 2); - lcd_printPGM(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); -#ifdef SNMM - delay(153); -#else - delay(137); -#endif - - } - - - } - -} - - - - -void lcd_alright() { - int enc_dif = 0; - int cursor_pos = 1; - - - - - lcd_implementation_clear(); - - lcd.setCursor(0, 0); - - lcd_printPGM(MSG_CORRECTLY); - - lcd.setCursor(1, 1); - - lcd_printPGM(MSG_YES); - - lcd.setCursor(1, 2); - - lcd_printPGM(MSG_NOT_LOADED); - - - lcd.setCursor(1, 3); - lcd_printPGM(MSG_NOT_COLOR); - - - lcd.setCursor(0, 1); - - lcd.print(">"); - - - enc_dif = encoderDiff; - - while (lcd_change_fil_state == 0) { - - manage_heater(); - manage_inactivity(true); - - if ( abs((enc_dif - encoderDiff)) > 4 ) { - - 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) - { - if (filament_autoload_enabled && fsensor_enabled) - { - lcd_show_fullscreen_message_and_wait_P(MSG_AUTOLOADING_ENABLED); - return; - } - custom_message = true; - loading_flag = true; - enquecommand_P(PSTR("M701")); //load filament - SERIAL_ECHOLN("Loading filament"); - } - else - { - - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - delay(2000); - lcd_implementation_clear(); - } - lcd_return_to_status(); -} - - -void lcd_menu_statistics() -{ - - if (IS_SD_PRINTING) - { - int _met = total_filament_used / 100000; - int _cm = (total_filament_used - (_met * 100000))/10; - - int _t = (millis() - starttime) / 1000; - int _h = _t / 3600; - int _m = (_t - (_h * 3600)) / 60; - int _s = _t - ((_h * 3600) + (_m * 60)); - - lcd.setCursor(0, 0); - lcd_printPGM(MSG_STATS_FILAMENTUSED); - - lcd.setCursor(6, 1); - lcd.print(itostr3(_met)); - lcd.print("m "); - lcd.print(ftostr32ns(_cm)); - lcd.print("cm"); - - lcd.setCursor(0, 2); - lcd_printPGM(MSG_STATS_PRINTTIME); - - lcd.setCursor(8, 3); - lcd.print(itostr2(_h)); - lcd.print("h "); - lcd.print(itostr2(_m)); - lcd.print("m "); - lcd.print(itostr2(_s)); - lcd.print("s"); - - if (lcd_clicked()) - { - lcd_quick_feedback(); - lcd_return_to_status(); - } - } - else - { - unsigned long _filament = eeprom_read_dword((uint32_t *)EEPROM_FILAMENTUSED); - unsigned long _time = eeprom_read_dword((uint32_t *)EEPROM_TOTALTIME); //in minutes - - uint8_t _hours, _minutes; - uint32_t _days; - - float _filament_m = (float)_filament; - int _filament_km = (_filament >= 100000) ? _filament / 100000 : 0; - if (_filament_km > 0) _filament_m = _filament - (_filament_km * 100000); - - _days = _time / 1440; - _hours = (_time - (_days * 1440)) / 60; - _minutes = _time - ((_days * 1440) + (_hours * 60)); - - lcd_implementation_clear(); - - lcd.setCursor(0, 0); - lcd_printPGM(MSG_STATS_TOTALFILAMENT); - lcd.setCursor(17 - strlen(ftostr32ns(_filament_m)), 1); - lcd.print(ftostr32ns(_filament_m)); - - if (_filament_km > 0) - { - lcd.setCursor(17 - strlen(ftostr32ns(_filament_m)) - 3, 1); - lcd.print("km"); - lcd.setCursor(17 - strlen(ftostr32ns(_filament_m)) - 8, 1); - lcd.print(itostr4(_filament_km)); - } - - - lcd.setCursor(18, 1); - lcd.print("m"); - - lcd.setCursor(0, 2); - lcd_printPGM(MSG_STATS_TOTALPRINTTIME);; - - lcd.setCursor(18, 3); - lcd.print("m"); - lcd.setCursor(14, 3); - lcd.print(itostr3(_minutes)); - - lcd.setCursor(14, 3); - lcd.print(":"); - - lcd.setCursor(12, 3); - lcd.print("h"); - lcd.setCursor(9, 3); - lcd.print(itostr3(_hours)); - - lcd.setCursor(9, 3); - lcd.print(":"); - - lcd.setCursor(7, 3); - lcd.print("d"); - lcd.setCursor(4, 3); - lcd.print(itostr3(_days)); - - - KEEPALIVE_STATE(PAUSED_FOR_USER); - while (!lcd_clicked()) - { - manage_heater(); - manage_inactivity(true); - delay(100); - } - KEEPALIVE_STATE(NOT_BUSY); - - lcd_quick_feedback(); - lcd_return_to_status(); - } -} - - -static void _lcd_move(const char *name, int axis, int min, int max) { - if (encoderPosition != 0) { - refresh_cmd_timeout(); - if (! planner_queue_full()) { - 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; - world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]); - 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); - 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 (degHotend0() > EXTRUDE_MINTEMP) { - if (encoderPosition != 0) - { - refresh_cmd_timeout(); - if (! planner_queue_full()) { - current_position[E_AXIS] += float((int)encoderPosition) * move_menu_scale; - encoderPosition = 0; - 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); - lcdDrawUpdate = 1; - } - } - if (lcdDrawUpdate) - { - lcd_implementation_drawedit(PSTR("Extruder"), ftostr31(current_position[E_AXIS])); - } - if (LCD_CLICKED) lcd_goto_menu(lcd_move_menu_axis); -} - else { - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - - delay(2000); - lcd_return_to_status(); - } -} - -void lcd_service_mode_show_result() { - float angleDiff; - lcd_set_custom_characters_degree(); - count_xyz_details(); - angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW)); - lcd_update_enable(false); - lcd_implementation_clear(); - lcd_printPGM(MSG_Y_DISTANCE_FROM_MIN); - lcd_print_at_PGM(0, 1, MSG_LEFT); - lcd_print_at_PGM(0, 2, MSG_RIGHT); - - for (int i = 0; i < 2; i++) { - if(distance_from_min[i] < 200) { - lcd_print_at_PGM(11, i + 1, PSTR("")); - lcd.print(distance_from_min[i]); - lcd_print_at_PGM((distance_from_min[i] < 0) ? 17 : 16, i + 1, PSTR("mm")); - } else lcd_print_at_PGM(11, i + 1, PSTR("N/A")); - } - delay_keep_alive(500); - KEEPALIVE_STATE(PAUSED_FOR_USER); - while (!lcd_clicked()) { - delay_keep_alive(100); - } - delay_keep_alive(500); - lcd_implementation_clear(); - - - lcd_printPGM(MSG_MEASURED_SKEW); - if (angleDiff < 100) { - lcd.setCursor(15, 0); - lcd.print(angleDiff * 180 / M_PI); - lcd.print(LCD_STR_DEGREE); - }else lcd_print_at_PGM(16, 0, PSTR("N/A")); - lcd_print_at_PGM(0, 1, PSTR("--------------------")); - lcd_print_at_PGM(0, 2, MSG_SLIGHT_SKEW); - lcd_print_at_PGM(15, 2, PSTR("")); - lcd.print(bed_skew_angle_mild * 180 / M_PI); - lcd.print(LCD_STR_DEGREE); - lcd_print_at_PGM(0, 3, MSG_SEVERE_SKEW); - lcd_print_at_PGM(15, 3, PSTR("")); - lcd.print(bed_skew_angle_extreme * 180 / M_PI); - lcd.print(LCD_STR_DEGREE); - delay_keep_alive(500); - while (!lcd_clicked()) { - delay_keep_alive(100); - } - KEEPALIVE_STATE(NOT_BUSY); - delay_keep_alive(500); - lcd_set_custom_characters_arrows(); - lcd_return_to_status(); - lcd_update_enable(true); - lcd_update(2); -} - - - - -// Save a single axis babystep value. -void EEPROM_save_B(int pos, int* value) -{ - union Data data; - data.value = *value; - - eeprom_update_byte((unsigned char*)pos, data.b[0]); - eeprom_update_byte((unsigned char*)pos + 1, data.b[1]); -} - -// Read a single axis babystep value. -void EEPROM_read_B(int pos, int* value) -{ - union Data data; - data.b[0] = eeprom_read_byte((unsigned char*)pos); - data.b[1] = eeprom_read_byte((unsigned char*)pos + 1); - *value = data.value; -} - - -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); -} - - - -static void _lcd_babystep(int axis, const char *msg) -{ - if (menuData.babyStep.status == 0) { - // Menu was entered. - // Initialize its status. - menuData.babyStep.status = 1; - check_babystep(); - - EEPROM_read_B(EEPROM_BABYSTEP_X, &menuData.babyStep.babystepMem[0]); - EEPROM_read_B(EEPROM_BABYSTEP_Y, &menuData.babyStep.babystepMem[1]); - EEPROM_read_B(EEPROM_BABYSTEP_Z, &menuData.babyStep.babystepMem[2]); - - menuData.babyStep.babystepMemMM[0] = menuData.babyStep.babystepMem[0]/axis_steps_per_unit[X_AXIS]; - menuData.babyStep.babystepMemMM[1] = menuData.babyStep.babystepMem[1]/axis_steps_per_unit[Y_AXIS]; - menuData.babyStep.babystepMemMM[2] = menuData.babyStep.babystepMem[2]/axis_steps_per_unit[Z_AXIS]; - lcdDrawUpdate = 1; - //SERIAL_ECHO("Z baby step: "); - //SERIAL_ECHO(menuData.babyStep.babystepMem[2]); - // Wait 90 seconds before closing the live adjust dialog. - lcd_timeoutToStatus = millis() + 90000; - } - - if (encoderPosition != 0) - { - if (homing_flag) encoderPosition = 0; - - menuData.babyStep.babystepMem[axis] += (int)encoderPosition; - if (axis == 2) { - if (menuData.babyStep.babystepMem[axis] < Z_BABYSTEP_MIN) menuData.babyStep.babystepMem[axis] = Z_BABYSTEP_MIN; //-3999 -> -9.99 mm - else if (menuData.babyStep.babystepMem[axis] > Z_BABYSTEP_MAX) menuData.babyStep.babystepMem[axis] = Z_BABYSTEP_MAX; //0 - else { - CRITICAL_SECTION_START - babystepsTodo[axis] += (int)encoderPosition; - CRITICAL_SECTION_END - } - } - menuData.babyStep.babystepMemMM[axis] = menuData.babyStep.babystepMem[axis]/axis_steps_per_unit[axis]; - delay(50); - encoderPosition = 0; - lcdDrawUpdate = 1; - } - if (lcdDrawUpdate) - lcd_implementation_drawedit_2(msg, ftostr13ns(menuData.babyStep.babystepMemMM[axis])); - if (LCD_CLICKED || menuExiting) { - // Only update the EEPROM when leaving the menu. - EEPROM_save_B( - (axis == 0) ? EEPROM_BABYSTEP_X : ((axis == 1) ? EEPROM_BABYSTEP_Y : EEPROM_BABYSTEP_Z), - &menuData.babyStep.babystepMem[axis]); - } - if (LCD_CLICKED) lcd_goto_menu(lcd_main_menu); -} - -static void lcd_babystep_x() { - _lcd_babystep(X_AXIS, (MSG_BABYSTEPPING_X)); -} -static void lcd_babystep_y() { - _lcd_babystep(Y_AXIS, (MSG_BABYSTEPPING_Y)); -} -static void lcd_babystep_z() { - _lcd_babystep(Z_AXIS, (MSG_BABYSTEPPING_Z)); -} - -static void lcd_adjust_bed(); - -static void lcd_adjust_bed_reset() -{ - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_LEFT , 0); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, 0); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_FRONT, 0); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_REAR , 0); - lcd_goto_menu(lcd_adjust_bed, 0, false); - // Because we did not leave the menu, the menuData did not reset. - // Force refresh of the bed leveling data. - menuData.adjustBed.status = 0; -} - -void adjust_bed_reset() { - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_LEFT, 0); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, 0); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_FRONT, 0); - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_REAR, 0); - menuData.adjustBed.left = menuData.adjustBed.left2 = 0; - menuData.adjustBed.right = menuData.adjustBed.right2 = 0; - menuData.adjustBed.front = menuData.adjustBed.front2 = 0; - menuData.adjustBed.rear = menuData.adjustBed.rear2 = 0; -} -#define BED_ADJUSTMENT_UM_MAX 50 - -static void lcd_adjust_bed() -{ - if (menuData.adjustBed.status == 0) { - // Menu was entered. - // Initialize its status. - menuData.adjustBed.status = 1; - bool valid = false; - menuData.adjustBed.left = menuData.adjustBed.left2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT); - menuData.adjustBed.right = menuData.adjustBed.right2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT); - menuData.adjustBed.front = menuData.adjustBed.front2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT); - menuData.adjustBed.rear = menuData.adjustBed.rear2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR); - if (eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1 && - menuData.adjustBed.left >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.left <= BED_ADJUSTMENT_UM_MAX && - menuData.adjustBed.right >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.right <= BED_ADJUSTMENT_UM_MAX && - menuData.adjustBed.front >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.front <= BED_ADJUSTMENT_UM_MAX && - menuData.adjustBed.rear >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.rear <= BED_ADJUSTMENT_UM_MAX) - valid = true; - if (! valid) { - // Reset the values: simulate an edit. - menuData.adjustBed.left2 = 0; - menuData.adjustBed.right2 = 0; - menuData.adjustBed.front2 = 0; - menuData.adjustBed.rear2 = 0; - } - lcdDrawUpdate = 1; - eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1); - } - - if (menuData.adjustBed.left != menuData.adjustBed.left2) - eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT, menuData.adjustBed.left = menuData.adjustBed.left2); - if (menuData.adjustBed.right != menuData.adjustBed.right2) - eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, menuData.adjustBed.right = menuData.adjustBed.right2); - if (menuData.adjustBed.front != menuData.adjustBed.front2) - eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT, menuData.adjustBed.front = menuData.adjustBed.front2); - if (menuData.adjustBed.rear != menuData.adjustBed.rear2) - eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR, menuData.adjustBed.rear = menuData.adjustBed.rear2); - - START_MENU(); - MENU_ITEM(back, MSG_SETTINGS, lcd_calibration_menu); - MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_LEFT, &menuData.adjustBed.left2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); - MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_RIGHT, &menuData.adjustBed.right2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); - MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_FRONT, &menuData.adjustBed.front2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); - MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_REAR, &menuData.adjustBed.rear2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); - MENU_ITEM(function, MSG_BED_CORRECTION_RESET, lcd_adjust_bed_reset); - END_MENU(); -} - -void pid_extruder() { - - lcd_implementation_clear(); - lcd.setCursor(1, 0); - lcd_printPGM(MSG_SET_TEMPERATURE); - pid_temp += int(encoderPosition); - if (pid_temp > HEATER_0_MAXTEMP) pid_temp = HEATER_0_MAXTEMP; - if (pid_temp < HEATER_0_MINTEMP) pid_temp = HEATER_0_MINTEMP; - encoderPosition = 0; - lcd.setCursor(1, 2); - lcd.print(ftostr3(pid_temp)); - if (lcd_clicked()) { - lcd_commands_type = LCD_COMMAND_PID_EXTRUDER; - lcd_return_to_status(); - lcd_update(2); - } - -} - -void lcd_adjust_z() { - int enc_dif = 0; - int cursor_pos = 1; - int fsm = 0; - - - - - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ADJUSTZ); - lcd.setCursor(1, 1); - lcd_printPGM(MSG_YES); - - lcd.setCursor(1, 2); - - lcd_printPGM(MSG_NO); - - lcd.setCursor(0, 1); - - lcd.print(">"); - - - enc_dif = encoderDiff; - - while (fsm == 0) { - - manage_heater(); - manage_inactivity(true); - - if ( abs((enc_dif - encoderDiff)) > 4 ) { - - if ( (abs(enc_dif - encoderDiff)) > 1 ) { - if (enc_dif > encoderDiff ) { - cursor_pos --; - } - - if (enc_dif < encoderDiff ) { - cursor_pos ++; - } - - if (cursor_pos > 2) { - cursor_pos = 2; - } - - if (cursor_pos < 1) { - cursor_pos = 1; - } - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); - enc_dif = encoderDiff; - delay(100); - } - - } - - - if (lcd_clicked()) { - fsm = cursor_pos; - if (fsm == 1) { - int babystepLoadZ = 0; - EEPROM_read_B(EEPROM_BABYSTEP_Z, &babystepLoadZ); - CRITICAL_SECTION_START - babystepsTodo[Z_AXIS] = babystepLoadZ; - CRITICAL_SECTION_END - } else { - int zero = 0; - EEPROM_save_B(EEPROM_BABYSTEP_X, &zero); - EEPROM_save_B(EEPROM_BABYSTEP_Y, &zero); - EEPROM_save_B(EEPROM_BABYSTEP_Z, &zero); - } - delay(500); - } - }; - - lcd_implementation_clear(); - lcd_return_to_status(); - -} - -void lcd_wait_for_heater() { - lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING); - - lcd.setCursor(0, 4); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(ftostr3(degHotend(active_extruder))); - lcd.print("/"); - lcd.print(ftostr3(degTargetHotend(active_extruder))); - lcd.print(LCD_STR_DEGREE); -} - -void lcd_wait_for_cool_down() { - lcd_set_custom_characters_degree(); - setTargetHotend(0,0); - setTargetBed(0); - while ((degHotend(0)>MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) { - lcd_display_message_fullscreen_P(MSG_WAITING_TEMP); - - lcd.setCursor(0, 4); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(ftostr3(degHotend(0))); - lcd.print("/0"); - lcd.print(LCD_STR_DEGREE); - - lcd.setCursor(9, 4); - lcd.print(LCD_STR_BEDTEMP[0]); - lcd.print(ftostr3(degBed())); - lcd.print("/0"); - lcd.print(LCD_STR_DEGREE); - lcd_set_custom_characters(); - delay_keep_alive(1000); - serialecho_temperatures(); - } - lcd_set_custom_characters_arrows(); - lcd_update_enable(true); -} - -// Lets the user move the Z carriage up to the end stoppers. -// When done, it sets the current Z to Z_MAX_POS and returns true. -// Otherwise the Z calibration is not changed and false is returned. - -#ifndef TMC2130 -bool lcd_calibrate_z_end_stop_manual(bool only_z) -{ - bool clean_nozzle_asked = false; - - // Don't know where we are. Let's claim we are Z=0, so the soft end stops will not be triggered when moving up. - current_position[Z_AXIS] = 0; - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - - // Until confirmed by the confirmation dialog. - for (;;) { - unsigned long previous_millis_cmd = millis(); - const char *msg = only_z ? MSG_MOVE_CARRIAGE_TO_THE_TOP_Z : MSG_MOVE_CARRIAGE_TO_THE_TOP; - const char *msg_next = lcd_display_message_fullscreen_P(msg); - const bool multi_screen = msg_next != NULL; - unsigned long previous_millis_msg = millis(); - // Until the user finishes the z up movement. - encoderDiff = 0; - encoderPosition = 0; - for (;;) { -// if (millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) -// goto canceled; - manage_heater(); - manage_inactivity(true); - if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP) { - delay(50); - previous_millis_cmd = millis(); - encoderPosition += abs(encoderDiff / ENCODER_PULSES_PER_STEP); - encoderDiff = 0; - if (! planner_queue_full()) { - // Only move up, whatever direction the user rotates the encoder. - current_position[Z_AXIS] += fabs(encoderPosition); - encoderPosition = 0; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS] / 60, active_extruder); - } - } - if (lcd_clicked()) { - // Abort a move if in progress. - planner_abort_hard(); - while (lcd_clicked()) ; - delay(10); - while (lcd_clicked()) ; - break; - } - if (multi_screen && millis() - previous_millis_msg > 5000) { - if (msg_next == NULL) - msg_next = msg; - msg_next = lcd_display_message_fullscreen_P(msg_next); - previous_millis_msg = millis(); - } - } - - if (! clean_nozzle_asked) { - lcd_show_fullscreen_message_and_wait_P(MSG_CONFIRM_NOZZLE_CLEAN); - clean_nozzle_asked = true; - } - - - // Let the user confirm, that the Z carriage is at the top end stoppers. - int8_t result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_CONFIRM_CARRIAGE_AT_THE_TOP, false); - if (result == -1) - goto canceled; - else if (result == 1) - goto calibrated; - // otherwise perform another round of the Z up dialog. - } - -calibrated: - // Let the machine think the Z axis is a bit higher than it is, so it will not home into the bed - // during the search for the induction points. - current_position[Z_AXIS] = Z_MAX_POS-3.f; - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - - - if(only_z){ - lcd_display_message_fullscreen_P(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1); - lcd_implementation_print_at(0, 3, 1); - lcd_printPGM(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2); - }else{ - lcd_show_fullscreen_message_and_wait_P(MSG_PAPER); - lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1); - lcd_implementation_print_at(0, 2, 1); - lcd_printPGM(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2); - } - - - return true; - -canceled: - return false; -} - -#endif // TMC2130 - -static inline bool pgm_is_whitespace(const char *c_addr) -{ - const char c = pgm_read_byte(c_addr); - return c == ' ' || c == '\t' || c == '\r' || c == '\n'; -} - -static inline bool pgm_is_interpunction(const char *c_addr) -{ - const char c = pgm_read_byte(c_addr); - return c == '.' || c == ',' || c == ':'|| c == ';' || c == '?' || c == '!' || c == '/'; -} - -const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines) -{ - // Disable update of the screen by the usual lcd_update() routine. - lcd_update_enable(false); - lcd_implementation_clear(); - lcd.setCursor(0, 0); - const char *msgend = msg; - uint8_t row = 0; - bool multi_screen = false; - for (; row < 4; ++ row) { - while (pgm_is_whitespace(msg)) - ++ msg; - if (pgm_read_byte(msg) == 0) - // End of the message. - break; - lcd.setCursor(0, row); - uint8_t linelen = min(strlen_P(msg), 20); - const char *msgend2 = msg + linelen; - msgend = msgend2; - if (row == 3 && linelen == 20) { - // Last line of the display, full line shall be displayed. - // Find out, whether this message will be split into multiple screens. - while (pgm_is_whitespace(msgend)) - ++ msgend; - multi_screen = pgm_read_byte(msgend) != 0; - if (multi_screen) - msgend = (msgend2 -= 2); - } - if (pgm_read_byte(msgend) != 0 && ! pgm_is_whitespace(msgend) && ! pgm_is_interpunction(msgend)) { - // Splitting a word. Find the start of the current word. - while (msgend > msg && ! pgm_is_whitespace(msgend - 1)) - -- msgend; - if (msgend == msg) - // Found a single long word, which cannot be split. Just cut it. - msgend = msgend2; - } - for (; msg < msgend; ++ msg) { - char c = char(pgm_read_byte(msg)); - if (c == '~') - c = ' '; - lcd.print(c); - } - } - - if (multi_screen) { - // Display the "next screen" indicator character. - // lcd_set_custom_characters_arrows(); - lcd_set_custom_characters_nextpage(); - lcd.setCursor(19, 3); - // Display the down arrow. - lcd.print(char(1)); - } - - nlines = row; - return multi_screen ? msgend : NULL; -} - -void lcd_show_fullscreen_message_and_wait_P(const char *msg) -{ - const char *msg_next = lcd_display_message_fullscreen_P(msg); - bool multi_screen = msg_next != NULL; - lcd_set_custom_characters_nextpage(); - KEEPALIVE_STATE(PAUSED_FOR_USER); - // Until confirmed by a button click. - for (;;) { - if (!multi_screen) { - lcd.setCursor(19, 3); - // Display the confirm char. - lcd.print(char(2)); - } - // Wait for 5 seconds before displaying the next text. - for (uint8_t i = 0; i < 100; ++ i) { - delay_keep_alive(50); - if (lcd_clicked()) { - while (lcd_clicked()) ; - delay(10); - while (lcd_clicked()) ; - if (msg_next == NULL) { - KEEPALIVE_STATE(IN_HANDLER); - lcd_set_custom_characters(); - lcd_update_enable(true); - lcd_update(2); - return; - } - else { - break; - } - } - } - if (multi_screen) { - if (msg_next == NULL) - msg_next = msg; - msg_next = lcd_display_message_fullscreen_P(msg_next); - if (msg_next == NULL) { - - lcd.setCursor(19, 3); - // Display the confirm char. - lcd.print(char(2)); - } - } - } -} - -void lcd_wait_for_click() -{ - KEEPALIVE_STATE(PAUSED_FOR_USER); - for (;;) { - manage_heater(); - manage_inactivity(true); - if (lcd_clicked()) { - while (lcd_clicked()) ; - delay(10); - while (lcd_clicked()) ; - KEEPALIVE_STATE(IN_HANDLER); - return; - } - } -} - -int8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes) //currently just max. n*4 + 3 lines supported (set in language header files) -{ - const char *msg_next = lcd_display_message_fullscreen_P(msg); - bool multi_screen = msg_next != NULL; - bool yes = default_yes ? true : false; - - // Wait for user confirmation or a timeout. - unsigned long previous_millis_cmd = millis(); - int8_t enc_dif = encoderDiff; - //KEEPALIVE_STATE(PAUSED_FOR_USER); - for (;;) { - for (uint8_t i = 0; i < 100; ++i) { - delay_keep_alive(50); - if (allow_timeouting && millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) - return -1; - manage_heater(); - manage_inactivity(true); - - if (abs(enc_dif - encoderDiff) > 4) { - if (msg_next == NULL) { - lcd.setCursor(0, 3); - if (enc_dif < encoderDiff && yes) { - lcd_printPGM((PSTR(" "))); - lcd.setCursor(7, 3); - lcd_printPGM((PSTR(">"))); - yes = false; - } - else if (enc_dif > encoderDiff && !yes) { - lcd_printPGM((PSTR(">"))); - lcd.setCursor(7, 3); - lcd_printPGM((PSTR(" "))); - yes = true; - } - enc_dif = encoderDiff; - } - else { - break; //turning knob skips waiting loop - } - } - if (lcd_clicked()) { - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - if (msg_next == NULL) { - //KEEPALIVE_STATE(IN_HANDLER); - lcd_set_custom_characters(); - return yes; - } - else break; - } - } - if (multi_screen) { - if (msg_next == NULL) { - msg_next = msg; - } - msg_next = lcd_display_message_fullscreen_P(msg_next); - } - if (msg_next == NULL) { - lcd.setCursor(0, 3); - if (yes) lcd_printPGM(PSTR(">")); - lcd.setCursor(1, 3); - lcd_printPGM(MSG_YES); - lcd.setCursor(7, 3); - if (!yes) lcd_printPGM(PSTR(">")); - lcd.setCursor(8, 3); - lcd_printPGM(MSG_NO); - } - } -} - -int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes) -{ - - lcd_display_message_fullscreen_P(msg); - - if (default_yes) { - lcd.setCursor(0, 2); - lcd_printPGM(PSTR(">")); - lcd_printPGM(MSG_YES); - lcd.setCursor(1, 3); - lcd_printPGM(MSG_NO); - } - else { - lcd.setCursor(1, 2); - lcd_printPGM(MSG_YES); - lcd.setCursor(0, 3); - lcd_printPGM(PSTR(">")); - lcd_printPGM(MSG_NO); - } - bool yes = default_yes ? true : false; - - // Wait for user confirmation or a timeout. - unsigned long previous_millis_cmd = millis(); - int8_t enc_dif = encoderDiff; - KEEPALIVE_STATE(PAUSED_FOR_USER); - for (;;) { - if (allow_timeouting && millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) - return -1; - manage_heater(); - manage_inactivity(true); - if (abs(enc_dif - encoderDiff) > 4) { - lcd.setCursor(0, 2); - if (enc_dif < encoderDiff && yes) { - lcd_printPGM((PSTR(" "))); - lcd.setCursor(0, 3); - lcd_printPGM((PSTR(">"))); - yes = false; - } - else if (enc_dif > encoderDiff && !yes) { - lcd_printPGM((PSTR(">"))); - lcd.setCursor(0, 3); - lcd_printPGM((PSTR(" "))); - yes = true; - } - enc_dif = encoderDiff; - } - if (lcd_clicked()) { - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - KEEPALIVE_STATE(IN_HANDLER); - return yes; - } - } -} - -void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, uint8_t point_too_far_mask) -{ - const char *msg = NULL; - if (result == BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND) { - lcd_show_fullscreen_message_and_wait_P(MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND); - } else if (result == BED_SKEW_OFFSET_DETECTION_FITTING_FAILED) { - if (point_too_far_mask == 0) - msg = MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED; - else if (point_too_far_mask == 2 || point_too_far_mask == 7) - // Only the center point or all the three front points. - msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR; - else if (point_too_far_mask & 1 == 0) - // The right and maybe the center point out of reach. - msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR; - else - // The left and maybe the center point out of reach. - msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR; - lcd_show_fullscreen_message_and_wait_P(msg); - } else { - if (point_too_far_mask != 0) { - if (point_too_far_mask == 2 || point_too_far_mask == 7) - // Only the center point or all the three front points. - msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR; - else if (point_too_far_mask & 1 == 0) - // The right and maybe the center point out of reach. - msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR; - else - // The left and maybe the center point out of reach. - msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR; - lcd_show_fullscreen_message_and_wait_P(msg); - } - if (point_too_far_mask == 0 || result > 0) { - switch (result) { - default: - // should not happen - msg = MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED; - break; - case BED_SKEW_OFFSET_DETECTION_PERFECT: - msg = MSG_BED_SKEW_OFFSET_DETECTION_PERFECT; - break; - case BED_SKEW_OFFSET_DETECTION_SKEW_MILD: - msg = MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD; - break; - case BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME: - msg = MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME; - break; - } - lcd_show_fullscreen_message_and_wait_P(msg); - } - } -} - -static void lcd_show_end_stops() { - lcd.setCursor(0, 0); - lcd_printPGM((PSTR("End stops diag"))); - lcd.setCursor(0, 1); - lcd_printPGM((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("X1")) : (PSTR("X0"))); - lcd.setCursor(0, 2); - lcd_printPGM((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("Y1")) : (PSTR("Y0"))); - lcd.setCursor(0, 3); - lcd_printPGM((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("Z1")) : (PSTR("Z0"))); -} - -static void menu_show_end_stops() { - lcd_show_end_stops(); - if (LCD_CLICKED) lcd_goto_menu(lcd_calibration_menu); -} - -// Lets the user move the Z carriage up to the end stoppers. -// When done, it sets the current Z to Z_MAX_POS and returns true. -// Otherwise the Z calibration is not changed and false is returned. -void lcd_diag_show_end_stops() -{ - int enc_dif = encoderDiff; - lcd_implementation_clear(); - for (;;) { - manage_heater(); - manage_inactivity(true); - lcd_show_end_stops(); - if (lcd_clicked()) { - while (lcd_clicked()) ; - delay(10); - while (lcd_clicked()) ; - break; - } - } - lcd_implementation_clear(); - lcd_return_to_status(); -} - - - -void prusa_statistics(int _message) { -#ifdef DEBUG_DISABLE_PRUSA_STATISTICS - return; -#endif //DEBUG_DISABLE_PRUSA_STATISTICS - switch (_message) - { - - case 0: // default message - if (IS_SD_PRINTING) - { - SERIAL_ECHO("{"); - prusa_stat_printerstatus(4); - prusa_stat_farm_number(); - prusa_stat_printinfo(); - SERIAL_ECHOLN("}"); - status_number = 4; - } - else - { - SERIAL_ECHO("{"); - prusa_stat_printerstatus(1); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 1; - } - break; - - case 1: // 1 heating - farm_status = 2; - SERIAL_ECHO("{"); - prusa_stat_printerstatus(2); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 2; - farm_timer = 1; - break; - - case 2: // heating done - farm_status = 3; - SERIAL_ECHO("{"); - prusa_stat_printerstatus(3); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 3; - farm_timer = 1; - - if (IS_SD_PRINTING) - { - farm_status = 4; - SERIAL_ECHO("{"); - prusa_stat_printerstatus(4); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 4; - } - else - { - SERIAL_ECHO("{"); - prusa_stat_printerstatus(3); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 3; - } - farm_timer = 1; - break; - - case 3: // filament change - - break; - case 4: // print succesfull - SERIAL_ECHOLN("{[RES:1]"); - prusa_stat_printerstatus(status_number); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - farm_timer = 2; - break; - case 5: // print not succesfull - SERIAL_ECHOLN("{[RES:0]"); - prusa_stat_printerstatus(status_number); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - farm_timer = 2; - break; - case 6: // print done - SERIAL_ECHO("{[PRN:8]"); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 8; - farm_timer = 2; - break; - case 7: // print done - stopped - SERIAL_ECHO("{[PRN:9]"); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 9; - farm_timer = 2; - break; - case 8: // printer started - SERIAL_ECHO("{[PRN:0][PFN:"); - status_number = 0; - SERIAL_ECHO(farm_no); - SERIAL_ECHOLN("]}"); - farm_timer = 2; - break; - case 20: // echo farm no - SERIAL_ECHO("{"); - prusa_stat_printerstatus(status_number); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - farm_timer = 5; - break; - case 21: // temperatures - SERIAL_ECHO("{"); - prusa_stat_temperatures(); - prusa_stat_farm_number(); - prusa_stat_printerstatus(status_number); - SERIAL_ECHOLN("}"); - break; - case 22: // waiting for filament change - SERIAL_ECHO("{[PRN:5]"); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - status_number = 5; - break; - - case 90: // Error - Thermal Runaway - SERIAL_ECHO("{[ERR:1]"); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - break; - case 91: // Error - Thermal Runaway Preheat - SERIAL_ECHO("{[ERR:2]"); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - break; - case 92: // Error - Min temp - SERIAL_ECHOLN("{[ERR:3]"); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - break; - case 93: // Error - Max temp - SERIAL_ECHO("{[ERR:4]"); - prusa_stat_farm_number(); - SERIAL_ECHOLN("}"); - break; - - case 99: // heartbeat - SERIAL_ECHO("{[PRN:99]"); - prusa_stat_temperatures(); - SERIAL_ECHO("[PFN:"); - SERIAL_ECHO(farm_no); - SERIAL_ECHO("]"); - SERIAL_ECHOLN("}"); - - break; - } - -} - -static void prusa_stat_printerstatus(int _status) -{ - SERIAL_ECHO("[PRN:"); - SERIAL_ECHO(_status); - SERIAL_ECHO("]"); -} - -static void prusa_stat_farm_number() { - SERIAL_ECHO("[PFN:"); - SERIAL_ECHO(farm_no); - SERIAL_ECHO("]"); -} - -static void prusa_stat_temperatures() -{ - SERIAL_ECHO("[ST0:"); - SERIAL_ECHO(target_temperature[0]); - SERIAL_ECHO("][STB:"); - SERIAL_ECHO(target_temperature_bed); - SERIAL_ECHO("][AT0:"); - SERIAL_ECHO(current_temperature[0]); - SERIAL_ECHO("][ATB:"); - SERIAL_ECHO(current_temperature_bed); - SERIAL_ECHO("]"); -} - -static void prusa_stat_printinfo() -{ - SERIAL_ECHO("[TFU:"); - SERIAL_ECHO(total_filament_used); - SERIAL_ECHO("][PCD:"); - SERIAL_ECHO(itostr3(card.percentDone())); - SERIAL_ECHO("][FEM:"); - SERIAL_ECHO(itostr3(feedmultiply)); - SERIAL_ECHO("][FNM:"); - SERIAL_ECHO(longFilenameOLD); - SERIAL_ECHO("][TIM:"); - if (starttime != 0) - { - SERIAL_ECHO(millis() / 1000 - starttime / 1000); - } - else - { - SERIAL_ECHO(0); - } - SERIAL_ECHO("][FWR:"); - SERIAL_ECHO(FW_VERSION); - SERIAL_ECHO("]"); -} - -/* -void lcd_pick_babystep(){ - int enc_dif = 0; - int cursor_pos = 1; - int fsm = 0; - - - - - lcd_implementation_clear(); - - lcd.setCursor(0, 0); - - lcd_printPGM(MSG_PICK_Z); - - - lcd.setCursor(3, 2); - - lcd.print("1"); - - lcd.setCursor(3, 3); - - lcd.print("2"); - - lcd.setCursor(12, 2); - - lcd.print("3"); - - lcd.setCursor(12, 3); - - lcd.print("4"); - - lcd.setCursor(1, 2); - - lcd.print(">"); - - - enc_dif = encoderDiff; - - while (fsm == 0) { - - manage_heater(); - manage_inactivity(true); - - if ( abs((enc_dif - encoderDiff)) > 4 ) { - - if ( (abs(enc_dif - encoderDiff)) > 1 ) { - if (enc_dif > encoderDiff ) { - cursor_pos --; - } - - if (enc_dif < encoderDiff ) { - cursor_pos ++; - } - - if (cursor_pos > 4) { - cursor_pos = 4; - } - - if (cursor_pos < 1) { - cursor_pos = 1; - } - - - lcd.setCursor(1, 2); - lcd.print(" "); - lcd.setCursor(1, 3); - lcd.print(" "); - lcd.setCursor(10, 2); - lcd.print(" "); - lcd.setCursor(10, 3); - lcd.print(" "); - - if (cursor_pos < 3) { - lcd.setCursor(1, cursor_pos+1); - lcd.print(">"); - }else{ - lcd.setCursor(10, cursor_pos-1); - lcd.print(">"); - } - - - enc_dif = encoderDiff; - delay(100); - } - - } - - if (lcd_clicked()) { - fsm = cursor_pos; - int babyStepZ; - EEPROM_read_B(EEPROM_BABYSTEP_Z0+((fsm-1)*2),&babyStepZ); - EEPROM_save_B(EEPROM_BABYSTEP_Z,&babyStepZ); - calibration_status_store(CALIBRATION_STATUS_CALIBRATED); - delay(500); - - } - }; - - lcd_implementation_clear(); - lcd_return_to_status(); -} -*/ -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); - 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(); -} - - -void EEPROM_save(int pos, uint8_t* value, uint8_t size) -{ - do - { - eeprom_write_byte((unsigned char*)pos, *value); - pos++; - value++; - } while (--size); -} - -void EEPROM_read(int pos, uint8_t* value, uint8_t size) -{ - do - { - *value = eeprom_read_byte((unsigned char*)pos); - pos++; - value++; - } while (--size); -} - -#ifdef SDCARD_SORT_ALPHA -static void lcd_sort_type_set() { - uint8_t sdSort; - EEPROM_read(EEPROM_SD_SORT, (uint8_t*)&sdSort, sizeof(sdSort)); - switch (sdSort) { - case SD_SORT_TIME: sdSort = SD_SORT_ALPHA; break; - case SD_SORT_ALPHA: sdSort = SD_SORT_NONE; break; - default: sdSort = SD_SORT_TIME; - } - eeprom_update_byte((unsigned char *)EEPROM_SD_SORT, sdSort); - presort_flag = true; - lcd_goto_menu(lcd_settings_menu, 8); -} -#endif //SDCARD_SORT_ALPHA - -static void lcd_crash_mode_info() -{ - lcd_update_enable(true); - static uint32_t tim = 0; - if ((tim + 1000) < millis()) - { - fputs_P(MSG_CRASH_DET_ONLY_IN_NORMAL, lcdout); - tim = millis(); - } - if (lcd_clicked()) - { - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 18); - else lcd_goto_menu(lcd_settings_menu, 16, true, true); - } -} - -static void lcd_crash_mode_info2() -{ - lcd_update_enable(true); - static uint32_t tim = 0; - if ((tim + 1000) < millis()) - { - fputs_P(MSG_CRASH_DET_STEALTH_FORCE_OFF, lcdout); - tim = millis(); - } - if (lcd_clicked()) - { - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 16); - else lcd_goto_menu(lcd_settings_menu, 14, true, true); - } -} - -static void lcd_filament_autoload_info() -{ - lcd_show_fullscreen_message_and_wait_P(MSG_AUTOLOADING_ONLY_IF_FSENS_ON); -} - -static void lcd_fsensor_fail() -{ - lcd_show_fullscreen_message_and_wait_P(MSG_FSENS_NOT_RESPONDING); -} - -static void lcd_silent_mode_set() { - SilentModeMenu = !SilentModeMenu; - eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); -#ifdef TMC2130 - // Wait until the planner queue is drained and the stepper routine achieves - // an idle state. - st_synchronize(); - if (tmc2130_wait_standstill_xy(1000)) {} -// MYSERIAL.print("standstill OK"); -// else -// MYSERIAL.print("standstill NG!"); - cli(); - tmc2130_mode = SilentModeMenu?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; - tmc2130_init(); - // We may have missed a stepper timer interrupt due to the time spent in tmc2130_init. - // Be safe than sorry, reset the stepper timer before re-enabling interrupts. - st_reset_timer(); - sei(); -#endif //TMC2130 - digipot_init(); - if (CrashDetectMenu && SilentModeMenu) - lcd_goto_menu(lcd_crash_mode_info2); -} - -static void lcd_crash_mode_set() -{ - CrashDetectMenu = !CrashDetectMenu; //set also from crashdet_enable() and crashdet_disable() - if (CrashDetectMenu==0) { - crashdet_disable(); - }else{ - crashdet_enable(); - } - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 9); - else lcd_goto_menu(lcd_settings_menu, 9); - -} - -static void lcd_set_lang(unsigned char lang) { - lang_selected = lang; - firstrun = 1; - eeprom_update_byte((unsigned char *)EEPROM_LANG, lang); - /*langsel=0;*/ - if (langsel == LANGSEL_MODAL) - // From modal mode to an active mode? This forces the menu to return to the setup menu. - langsel = LANGSEL_ACTIVE; -} - -static void lcd_fsensor_state_set() -{ - FSensorStateMenu = !FSensorStateMenu; //set also from fsensor_enable() and fsensor_disable() - if (FSensorStateMenu==0) { - fsensor_disable(); - if ((filament_autoload_enabled == true)){ - lcd_filament_autoload_info(); - } - }else{ - fsensor_enable(); - if (fsensor_not_responding) - { - lcd_fsensor_fail(); - } - } - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 7); - else lcd_goto_menu(lcd_settings_menu, 7); - -} - -#if !SDSORT_USES_RAM -void lcd_set_degree() { - lcd_set_custom_characters_degree(); -} - -void lcd_set_progress() { - lcd_set_custom_characters_progress(); -} -#endif - -void lcd_force_language_selection() { - eeprom_update_byte((unsigned char *)EEPROM_LANG, LANG_ID_FORCE_SELECTION); -} - -static void lcd_language_menu() -{ - START_MENU(); - if (langsel == LANGSEL_OFF) { - MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu); - } else if (langsel == LANGSEL_ACTIVE) { - MENU_ITEM(back, MSG_WATCH, lcd_status_screen); - } - for (int i=0;i EXTRUDE_MINTEMP) - { - current_position[E_AXIS] = 0; //set initial position to zero - plan_set_e_position(current_position[E_AXIS]); - - //long steps_start = st_get_position(E_AXIS); - - long steps_final; - float e_steps_per_unit; - float feedrate = (180 / axis_steps_per_unit[E_AXIS]) * 1; //3 //initial automatic extrusion feedrate (depends on current value of axis_steps_per_unit to avoid too fast extrusion) - float e_shift_calibration = (axis_steps_per_unit[E_AXIS] > 180 ) ? ((180 / axis_steps_per_unit[E_AXIS]) * 70): 70; //length of initial automatic extrusion sequence - const char *msg_e_cal_knob = MSG_E_CAL_KNOB; - const char *msg_next_e_cal_knob = lcd_display_message_fullscreen_P(msg_e_cal_knob); - const bool multi_screen = msg_next_e_cal_knob != NULL; - unsigned long msg_millis; - - lcd_show_fullscreen_message_and_wait_P(MSG_MARK_FIL); - lcd_implementation_clear(); - - - lcd.setCursor(0, 1); lcd_printPGM(MSG_PLEASE_WAIT); - current_position[E_AXIS] += e_shift_calibration; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder); - st_synchronize(); - - lcd_display_message_fullscreen_P(msg_e_cal_knob); - msg_millis = millis(); - while (!LCD_CLICKED) { - if (multi_screen && millis() - msg_millis > 5000) { - if (msg_next_e_cal_knob == NULL) - msg_next_e_cal_knob = msg_e_cal_knob; - msg_next_e_cal_knob = lcd_display_message_fullscreen_P(msg_next_e_cal_knob); - msg_millis = millis(); - } - - //manage_inactivity(true); - manage_heater(); - if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP) { //adjusting mark by knob rotation - delay_keep_alive(50); - //previous_millis_cmd = millis(); - encoderPosition += (encoderDiff / ENCODER_PULSES_PER_STEP); - encoderDiff = 0; - if (!planner_queue_full()) { - current_position[E_AXIS] += float(abs((int)encoderPosition)) * 0.01; //0.05 - encoderPosition = 0; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder); - - } - } - } - - steps_final = current_position[E_AXIS] * axis_steps_per_unit[E_AXIS]; - //steps_final = st_get_position(E_AXIS); - lcdDrawUpdate = 1; - e_steps_per_unit = ((float)(steps_final)) / 100.0f; - if (e_steps_per_unit < MIN_E_STEPS_PER_UNIT) e_steps_per_unit = MIN_E_STEPS_PER_UNIT; - if (e_steps_per_unit > MAX_E_STEPS_PER_UNIT) e_steps_per_unit = MAX_E_STEPS_PER_UNIT; - - lcd_implementation_clear(); - - axis_steps_per_unit[E_AXIS] = e_steps_per_unit; - enquecommand_P(PSTR("M500")); //store settings to eeprom - - //lcd_implementation_drawedit(PSTR("Result"), ftostr31(axis_steps_per_unit[E_AXIS])); - //delay_keep_alive(2000); - delay_keep_alive(500); - lcd_show_fullscreen_message_and_wait_P(MSG_CLEAN_NOZZLE_E); - lcd_update_enable(true); - lcdDrawUpdate = 2; - - } - else - { - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - delay(2000); - lcd_implementation_clear(); - } - lcd_return_to_status(); -} - -void lcd_extr_cal_reset() { - float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT; - axis_steps_per_unit[E_AXIS] = tmp1[3]; - //extrudemultiply = 100; - enquecommand_P(PSTR("M500")); -}*/ - -#endif - -void lcd_toshiba_flash_air_compatibility_toggle() -{ - card.ToshibaFlashAir_enable(! card.ToshibaFlashAir_isEnabled()); - eeprom_update_byte((uint8_t*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY, card.ToshibaFlashAir_isEnabled()); -} - -void lcd_v2_calibration() { - bool loaded = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_PLA_FILAMENT_LOADED, false, true); - if (loaded) { - lcd_commands_type = LCD_COMMAND_V2_CAL; - } - else { - lcd_display_message_fullscreen_P(MSG_PLEASE_LOAD_PLA); - for (int i = 0; i < 20; i++) { //wait max. 2s - delay_keep_alive(100); - if (lcd_clicked()) { - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - break; - } - } - } - lcd_return_to_status(); - lcd_update_enable(true); -} - -void lcd_wizard() { - bool result = true; - if (calibration_status() != CALIBRATION_STATUS_ASSEMBLED) { - result = lcd_show_multiscreen_message_yes_no_and_wait_P(MSG_WIZARD_RERUN, false, false); - } - if (result) { - calibration_status_store(CALIBRATION_STATUS_ASSEMBLED); - lcd_wizard(0); - } - else { - lcd_return_to_status(); - lcd_update_enable(true); - lcd_update(2); - } -} - -void lcd_wizard(int state) { - - bool end = false; - int wizard_event; - const char *msg = NULL; - while (!end) { - switch (state) { - case 0: // run wizard? - wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(MSG_WIZARD_WELCOME, false, true); - if (wizard_event) { - state = 1; - eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); - } - else { - eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); - end = true; - } - break; - case 1: // restore calibration status - switch (calibration_status()) { - case CALIBRATION_STATUS_ASSEMBLED: state = 2; break; //run selftest - case CALIBRATION_STATUS_XYZ_CALIBRATION: state = 3; break; //run xyz cal. - case CALIBRATION_STATUS_Z_CALIBRATION: state = 4; break; //run z cal. - case CALIBRATION_STATUS_LIVE_ADJUST: state = 5; break; //run live adjust - case CALIBRATION_STATUS_CALIBRATED: end = true; eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); break; - default: state = 2; break; //if calibration status is unknown, run wizard from the beginning - } - break; - case 2: //selftest - lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_SELFTEST); - wizard_event = lcd_selftest(); - if (wizard_event) { - calibration_status_store(CALIBRATION_STATUS_XYZ_CALIBRATION); - state = 3; - } - else end = true; - break; - case 3: //xyz cal. - lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_XYZ_CAL); - wizard_event = gcode_M45(false); - if (wizard_event) state = 5; - else end = true; - break; - case 4: //z cal. - lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_Z_CAL); - wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); - if (!wizard_event) lcd_show_fullscreen_message_and_wait_P(MSG_PLACE_STEEL_SHEET); - wizard_event = gcode_M45(true); - if (wizard_event) state = 11; //shipped, no need to set first layer, go to final message directly - else end = true; - break; - case 5: //is filament loaded? - //start to preheat nozzle and bed to save some time later - setTargetHotend(PLA_PREHEAT_HOTEND_TEMP, 0); - setTargetBed(PLA_PREHEAT_HPB_TEMP); - wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_WIZARD_FILAMENT_LOADED, false); - if (wizard_event) state = 8; - else state = 6; - - break; - case 6: //waiting for preheat nozzle for PLA; -#ifndef SNMM - lcd_display_message_fullscreen_P(MSG_WIZARD_WILL_PREHEAT); - current_position[Z_AXIS] = 100; //move in z axis to make space for loading filament - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 60, active_extruder); - delay_keep_alive(2000); - lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING); - while (abs(degHotend(0) - PLA_PREHEAT_HOTEND_TEMP) > 3) { - lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING); - - lcd.setCursor(0, 4); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(ftostr3(degHotend(0))); - lcd.print("/"); - lcd.print(PLA_PREHEAT_HOTEND_TEMP); - lcd.print(LCD_STR_DEGREE); - lcd_set_custom_characters(); - delay_keep_alive(1000); - } -#endif //not SNMM - state = 7; - break; - case 7: //load filament - fsensor_block(); - lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_LOAD_FILAMENT); - lcd_update_enable(false); - lcd_implementation_clear(); - lcd_print_at_PGM(0, 2, MSG_LOADING_FILAMENT); -#ifdef SNMM - change_extr(0); -#endif - gcode_M701(); - fsensor_unblock(); - state = 9; - break; - case 8: - wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_WIZARD_PLA_FILAMENT, false, true); - if (wizard_event) state = 9; - else end = true; - break; - case 9: - lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_V2_CAL); - lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_V2_CAL_2); - lcd_commands_type = LCD_COMMAND_V2_CAL; - end = true; - break; - case 10: //repeat first layer cal.? - wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(MSG_WIZARD_REPEAT_V2_CAL, false); - if (wizard_event) { - //reset status and live adjust z value in eeprom - calibration_status_store(CALIBRATION_STATUS_LIVE_ADJUST); - lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_CLEAN_HEATBED); - state = 9; - } - else { - state = 11; - } - break; - case 11: //we are finished - eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); - end = true; - break; - - default: break; - } - } - - SERIAL_ECHOPGM("State: "); - MYSERIAL.println(state); - switch (state) { //final message - case 0: //user dont want to use wizard - msg = MSG_WIZARD_QUIT; - break; - - case 1: //printer was already calibrated - msg = MSG_WIZARD_DONE; - break; - case 2: //selftest - msg = MSG_WIZARD_CALIBRATION_FAILED; - break; - case 3: //xyz cal. - msg = MSG_WIZARD_CALIBRATION_FAILED; - break; - case 4: //z cal. - msg = MSG_WIZARD_CALIBRATION_FAILED; - break; - case 8: - msg = MSG_WIZARD_INSERT_CORRECT_FILAMENT; - break; - case 9: break; //exit wizard for v2 calibration, which is implemted in lcd_commands (we need lcd_update running) - case 11: //we are finished - - msg = MSG_WIZARD_DONE; - lcd_reset_alert_level(); - lcd_setstatuspgm(WELCOME_MSG); - break; - - default: - msg = MSG_WIZARD_QUIT; - break; - - } - if (state != 9) lcd_show_fullscreen_message_and_wait_P(msg); - lcd_update_enable(true); - lcd_return_to_status(); - lcd_update(2); -} - -static void lcd_crash_menu() -{ -} - - - -static void lcd_settings_menu() -{ - EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); - START_MENU(); - - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - - MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu); - if (!homing_flag) - { - MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu_1mm); - } - if (!isPrintPaused) - { - MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); - } -#ifndef DEBUG_DISABLE_FSENSORCHECK - if (FSensorStateMenu == 0) { - if (fsensor_not_responding){ - // Filament sensor not working - MENU_ITEM(function, MSG_FSENSOR_NA, lcd_fsensor_state_set); - MENU_ITEM(function, MSG_FSENS_AUTOLOAD_NA, lcd_fsensor_fail); - } - else{ - // Filament sensor turned off, working, no problems - MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); - MENU_ITEM(function, MSG_FSENS_AUTOLOAD_NA, lcd_filament_autoload_info); - } - } else { - // Filament sensor turned on, working, no problems - MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); - - if ((filament_autoload_enabled == true)) { - MENU_ITEM(function, MSG_FSENS_AUTOLOAD_ON, lcd_set_filament_autoload); - } - else { - MENU_ITEM(function, MSG_FSENS_AUTOLOAD_OFF, lcd_set_filament_autoload); - } - - } -#endif //DEBUG_DISABLE_FSENSORCHECK - - if (fans_check_enabled == true) { - MENU_ITEM(function, MSG_FANS_CHECK_ON, lcd_set_fan_check); - } - else { - MENU_ITEM(function, MSG_FANS_CHECK_OFF, lcd_set_fan_check); - } - - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); - if (SilentModeMenu == 0) - { - if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); - else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); - } - else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); - - if (temp_cal_active == false) { - MENU_ITEM(function, MSG_TEMP_CALIBRATION_OFF, lcd_temp_calibration_set); - } - else { - MENU_ITEM(function, MSG_TEMP_CALIBRATION_ON, lcd_temp_calibration_set); - } -#ifdef HAS_SECOND_SERIAL_PORT - if (selectedSerialPort == 0) { - MENU_ITEM(function, MSG_SECOND_SERIAL_OFF, lcd_second_serial_set); - } - else { - MENU_ITEM(function, MSG_SECOND_SERIAL_ON, lcd_second_serial_set); - } -#endif //HAS_SECOND_SERIAL - - if (!isPrintPaused && !homing_flag) - { - MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z); - } - MENU_ITEM(submenu, MSG_LANGUAGE_SELECT, lcd_language_menu); - - if (card.ToshibaFlashAir_isEnabled()) { - MENU_ITEM(function, MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON, lcd_toshiba_flash_air_compatibility_toggle); - } else { - MENU_ITEM(function, MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF, lcd_toshiba_flash_air_compatibility_toggle); - } - - #ifdef SDCARD_SORT_ALPHA - if (!farm_mode) { - uint8_t sdSort; - EEPROM_read(EEPROM_SD_SORT, (uint8_t*)&sdSort, sizeof(sdSort)); - switch (sdSort) { - case SD_SORT_TIME: MENU_ITEM(function, MSG_SORT_TIME, lcd_sort_type_set); break; - case SD_SORT_ALPHA: MENU_ITEM(function, MSG_SORT_ALPHA, lcd_sort_type_set); break; - default: MENU_ITEM(function, MSG_SORT_NONE, lcd_sort_type_set); - } - } - #endif // SDCARD_SORT_ALPHA - - if (farm_mode) - { - MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no); - MENU_ITEM(function, PSTR("Disable farm mode"), lcd_disable_farm_mode); - } - - END_MENU(); -} - -static void lcd_selftest_() -{ - lcd_selftest(); -} - -#ifdef EXPERIMENTAL_FEATURES - -static void lcd_experimantal_menu(); -static void lcd_homing_accuracy_menu(); - -static void lcd_accurate_home_set() -{ - tmc2130_home_enabled = tmc2130_home_enabled?0:1; - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, tmc2130_home_enabled); -} - -static void lcd_homing_accuracy_menu_advanced_reset() -{ - tmc2130_home_bsteps[X_AXIS] = 48; - tmc2130_home_fsteps[X_AXIS] = 48; - tmc2130_home_bsteps[Y_AXIS] = 48; - tmc2130_home_fsteps[Y_AXIS] = 48; -} - -static void lcd_homing_accuracy_menu_advanced_save() -{ - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_ORIGIN, tmc2130_home_origin[X_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_BSTEPS, tmc2130_home_bsteps[X_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_FSTEPS, tmc2130_home_fsteps[X_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_ORIGIN, tmc2130_home_origin[Y_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_BSTEPS, tmc2130_home_bsteps[Y_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_FSTEPS, tmc2130_home_fsteps[Y_AXIS]); -} - -static void lcd_homing_accuracy_menu_advanced_back() -{ - lcd_homing_accuracy_menu_advanced_save(); - currentMenu = lcd_homing_accuracy_menu; - lcd_homing_accuracy_menu(); -} - -static void lcd_homing_accuracy_menu_advanced() -{ - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - START_MENU(); - MENU_ITEM(back, PSTR("Homing accuracy"), lcd_homing_accuracy_menu_advanced_back); - MENU_ITEM(function, PSTR("Reset def. steps"), lcd_homing_accuracy_menu_advanced_reset); - MENU_ITEM_EDIT(byte3, PSTR("X-origin"), &tmc2130_home_origin[X_AXIS], 0, 63); - MENU_ITEM_EDIT(byte3, PSTR("Y-origin"), &tmc2130_home_origin[Y_AXIS], 0, 63); - MENU_ITEM_EDIT(byte3, PSTR("X-bsteps"), &tmc2130_home_bsteps[X_AXIS], 0, 128); - MENU_ITEM_EDIT(byte3, PSTR("Y-bsteps"), &tmc2130_home_bsteps[Y_AXIS], 0, 128); - MENU_ITEM_EDIT(byte3, PSTR("X-fsteps"), &tmc2130_home_fsteps[X_AXIS], 0, 128); - MENU_ITEM_EDIT(byte3, PSTR("Y-fsteps"), &tmc2130_home_fsteps[Y_AXIS], 0, 128); - END_MENU(); -} - -static void lcd_homing_accuracy_menu() -{ - START_MENU(); - MENU_ITEM(back, PSTR("Experimental"), lcd_experimantal_menu); - MENU_ITEM(function, tmc2130_home_enabled?PSTR("Accur. homing On"):PSTR("Accur. homing Off"), lcd_accurate_home_set); - MENU_ITEM(gcode, PSTR("Calibrate X"), PSTR("G28XC")); - MENU_ITEM(gcode, PSTR("Calibrate Y"), PSTR("G28YC")); - MENU_ITEM(submenu, PSTR("Advanced"), lcd_homing_accuracy_menu_advanced); - END_MENU(); -} - -static void lcd_ustep_resolution_menu_save() -{ - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_X_MRES, tmc2130_mres[X_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Y_MRES, tmc2130_mres[Y_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Z_MRES, tmc2130_mres[Z_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_E_MRES, tmc2130_mres[E_AXIS]); -} - -static void lcd_ustep_resolution_menu_back() -{ - float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT; - bool changed = false; - if (tmc2130_mres[X_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_X_MRES)) - { - axis_steps_per_unit[X_AXIS] = tmp1[X_AXIS] * tmc2130_mres2usteps(tmc2130_mres[X_AXIS]) / TMC2130_USTEPS_XY; - changed = true; - } - if (tmc2130_mres[Y_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Y_MRES)) - { - axis_steps_per_unit[Y_AXIS] = tmp1[Y_AXIS] * tmc2130_mres2usteps(tmc2130_mres[Y_AXIS]) / TMC2130_USTEPS_XY; - changed = true; - } - if (tmc2130_mres[Z_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Z_MRES)) - { - axis_steps_per_unit[Z_AXIS] = tmp1[Z_AXIS] * tmc2130_mres2usteps(tmc2130_mres[Z_AXIS]) / TMC2130_USTEPS_Z; - changed = true; - } - if (tmc2130_mres[E_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_E_MRES)) - { - axis_steps_per_unit[E_AXIS] = tmp1[E_AXIS] * tmc2130_mres2usteps(tmc2130_mres[E_AXIS]) / TMC2130_USTEPS_E; - changed = true; - } - if (changed) - { - lcd_ustep_resolution_menu_save(); - Config_StoreSettings(EEPROM_OFFSET); - tmc2130_init(); - } - currentMenu = lcd_experimantal_menu; - lcd_experimantal_menu(); -} - -static void lcd_ustep_resolution_reset_def_xyze() -{ - tmc2130_mres[X_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); - tmc2130_mres[Y_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); - tmc2130_mres[Z_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_Z); - tmc2130_mres[E_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_E); - float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT; - axis_steps_per_unit[X_AXIS] = tmp1[X_AXIS]; - axis_steps_per_unit[Y_AXIS] = tmp1[Y_AXIS]; - axis_steps_per_unit[Z_AXIS] = tmp1[Z_AXIS]; - axis_steps_per_unit[E_AXIS] = tmp1[E_AXIS]; -} - -static void lcd_ustep_resolution_menu() -{ - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - START_MENU(); - MENU_ITEM(back, PSTR("Experimental"), lcd_ustep_resolution_menu_back); - MENU_ITEM(function, PSTR("Reset defaults"), lcd_ustep_resolution_reset_def_xyze); - MENU_ITEM_EDIT(mres, PSTR("X-resolution"), &tmc2130_mres[X_AXIS], 4, 4); - MENU_ITEM_EDIT(mres, PSTR("Y-resolution"), &tmc2130_mres[Y_AXIS], 4, 4); - MENU_ITEM_EDIT(mres, PSTR("Z-resolution"), &tmc2130_mres[Z_AXIS], 4, 4); - MENU_ITEM_EDIT(mres, PSTR("E-resolution"), &tmc2130_mres[E_AXIS], 2, 5); - END_MENU(); -} - -static void lcd_ustep_linearity_menu_save() -{ - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC, tmc2130_wave_fac[X_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC, tmc2130_wave_fac[Y_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC, tmc2130_wave_fac[Z_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC, tmc2130_wave_fac[E_AXIS]); -} - -static void lcd_ustep_linearity_menu_back() -{ - bool changed = false; - if (tmc2130_wave_fac[X_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[X_AXIS] = 0; - if (tmc2130_wave_fac[Y_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Y_AXIS] = 0; - if (tmc2130_wave_fac[Z_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Z_AXIS] = 0; - if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[E_AXIS] = 0; - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC) != tmc2130_wave_fac[X_AXIS]); - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC) != tmc2130_wave_fac[Y_AXIS]); - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC) != tmc2130_wave_fac[Z_AXIS]); - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC) != tmc2130_wave_fac[E_AXIS]); - lcd_ustep_linearity_menu_save(); - if (changed) tmc2130_init(); - currentMenu = lcd_experimantal_menu; - lcd_experimantal_menu(); -} - -static void lcd_ustep_linearity_menu_recomended() -{ - tmc2130_wave_fac[X_AXIS] = 220; - tmc2130_wave_fac[Y_AXIS] = 220; - tmc2130_wave_fac[Z_AXIS] = 220; - tmc2130_wave_fac[E_AXIS] = 220; -} - -static void lcd_ustep_linearity_menu_reset() -{ - tmc2130_wave_fac[X_AXIS] = 0; - tmc2130_wave_fac[Y_AXIS] = 0; - tmc2130_wave_fac[Z_AXIS] = 0; - tmc2130_wave_fac[E_AXIS] = 0; -} - -static void lcd_ustep_linearity_menu() -{ - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - START_MENU(); - MENU_ITEM(back, PSTR("Experimental"), lcd_ustep_linearity_menu_back); - MENU_ITEM(function, PSTR("Reset correction"), lcd_ustep_linearity_menu_reset); - MENU_ITEM(function, PSTR("Recomended config"), lcd_ustep_linearity_menu_recomended); - MENU_ITEM_EDIT(wfac, PSTR("X-correction"), &tmc2130_wave_fac[X_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); - MENU_ITEM_EDIT(wfac, PSTR("Y-correction"), &tmc2130_wave_fac[Y_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); - MENU_ITEM_EDIT(wfac, PSTR("Z-correction"), &tmc2130_wave_fac[Z_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); - MENU_ITEM_EDIT(wfac, PSTR("E-correction"), &tmc2130_wave_fac[E_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); - END_MENU(); -} - -static void lcd_experimantal_menu_save_all() -{ - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, tmc2130_home_enabled); - lcd_ustep_resolution_menu_save(); - lcd_ustep_linearity_menu_save(); - Config_StoreSettings(EEPROM_OFFSET); -} - -static void lcd_experimantal_menu_disable_all() -{ - tmc2130_home_enabled = 0; - lcd_ustep_resolution_reset_def_xyze(); - lcd_ustep_linearity_menu_reset(); - lcd_experimantal_menu_save_all(); - tmc2130_init(); -} - -static void lcd_experimantal_menu() -{ - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - MENU_ITEM(function, PSTR("All Xfeatures off"), lcd_experimantal_menu_disable_all); - MENU_ITEM(submenu, PSTR("Homing accuracy"), lcd_homing_accuracy_menu); - MENU_ITEM(submenu, PSTR("uStep resolution"), lcd_ustep_resolution_menu); - MENU_ITEM(submenu, PSTR("uStep linearity"), lcd_ustep_linearity_menu); - END_MENU(); -} -#endif //EXPERIMENTAL_FEATURES - - -static void lcd_calibration_menu() -{ - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - if (!isPrintPaused) - { - MENU_ITEM(function, MSG_WIZARD, lcd_wizard); - MENU_ITEM(submenu, MSG_V2_CALIBRATION, lcd_v2_calibration); - MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28 W")); - MENU_ITEM(function, MSG_SELFTEST, lcd_selftest_v); -#ifdef MK1BP - // MK1 - // "Calibrate Z" - MENU_ITEM(gcode, MSG_HOMEYZ, PSTR("G28 Z")); -#else //MK1BP - // MK2 - MENU_ITEM(function, MSG_CALIBRATE_BED, lcd_mesh_calibration); - // "Calibrate Z" with storing the reference values to EEPROM. - MENU_ITEM(submenu, MSG_HOMEYZ, lcd_mesh_calibration_z); -#ifndef SNMM - //MENU_ITEM(function, MSG_CALIBRATE_E, lcd_calibrate_extruder); -#endif - // "Mesh Bed Leveling" - MENU_ITEM(submenu, MSG_MESH_BED_LEVELING, lcd_mesh_bedleveling); - -#endif //MK1BP - MENU_ITEM(submenu, MSG_BED_CORRECTION_MENU, lcd_adjust_bed); - MENU_ITEM(submenu, MSG_PID_EXTRUDER, pid_extruder); - MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops); -#ifndef MK1BP - MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44")); -#endif //MK1BP -#ifndef SNMM - //MENU_ITEM(function, MSG_RESET_CALIBRATE_E, lcd_extr_cal_reset); -#endif -#ifndef MK1BP - MENU_ITEM(submenu, MSG_CALIBRATION_PINDA_MENU, lcd_pinda_calibration_menu); -#endif //MK1BP - } - - END_MENU(); -} -/* -void lcd_mylang_top(int hlaska) { - lcd.setCursor(0,0); - lcd.print(" "); - lcd.setCursor(0,0); - lcd_printPGM(MSG_ALL[hlaska-1][LANGUAGE_SELECT]); -} - -void lcd_mylang_drawmenu(int cursor) { - int first = 0; - if (cursor>2) first = cursor-2; - if (cursor==LANG_NUM) first = LANG_NUM-3; - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(1, 1); - lcd_printPGM(MSG_ALL[first][LANGUAGE_NAME]); - - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(1, 2); - lcd_printPGM(MSG_ALL[first+1][LANGUAGE_NAME]); - - lcd.setCursor(0, 3); - lcd.print(" "); - lcd.setCursor(1, 3); - lcd_printPGM(MSG_ALL[first+2][LANGUAGE_NAME]); - - if (cursor==1) lcd.setCursor(0, 1); - if (cursor>1 && cursor"); - - if (cursor2) { - lcd.setCursor(19,1); - lcd.print("^"); - } -} -*/ - -void lcd_mylang_drawmenu(int cursor) { - int first = 0; - if (cursor>3) first = cursor-3; - if (cursor==LANG_NUM && LANG_NUM>4) first = LANG_NUM-4; - if (cursor==LANG_NUM && LANG_NUM==4) first = LANG_NUM-4; - - - lcd.setCursor(0, 0); - lcd.print(" "); - lcd.setCursor(1, 0); - lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+0)); - - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(1, 1); - lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+1)); - - lcd.setCursor(0, 2); - lcd.print(" "); - - if (LANG_NUM > 2){ - lcd.setCursor(1, 2); - lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+2)); - } - - lcd.setCursor(0, 3); - lcd.print(" "); - if (LANG_NUM>3) { - lcd.setCursor(1, 3); - lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+3)); - } - - if (cursor==1) lcd.setCursor(0, 0); - if (cursor==2) lcd.setCursor(0, 1); - if (cursor>2) lcd.setCursor(0, 2); - if (cursor==LANG_NUM && LANG_NUM>3) lcd.setCursor(0, 3); - - lcd.print(">"); - - if (cursor4) { - lcd.setCursor(19,3); - lcd.print("\x01"); - } - if (cursor>3 && LANG_NUM>4) { - lcd.setCursor(19,0); - lcd.print("^"); - } -} - -void lcd_mylang_drawcursor(int cursor) { - - if (cursor==1) lcd.setCursor(0, 1); - if (cursor>1 && cursor"); - -} - -void lcd_mylang() { - int enc_dif = 0; - int cursor_pos = 1; - lang_selected=255; - int hlaska=1; - int counter=0; - lcd_set_custom_characters_arrows(); - - lcd_implementation_clear(); - - //lcd_mylang_top(hlaska); - - lcd_mylang_drawmenu(cursor_pos); - - - enc_dif = encoderDiff; - - while ( (lang_selected == 255) ) { - - manage_heater(); - manage_inactivity(true); - - if ( abs((enc_dif - encoderDiff)) > 4 ) { - - //if ( (abs(enc_dif - encoderDiff)) > 1 ) { - if (enc_dif > encoderDiff ) { - cursor_pos --; - } - - if (enc_dif < encoderDiff ) { - cursor_pos ++; - } - - if (cursor_pos > LANG_NUM) { - cursor_pos = LANG_NUM; - } - - if (cursor_pos < 1) { - cursor_pos = 1; - } - - lcd_mylang_drawmenu(cursor_pos); - enc_dif = encoderDiff; - delay(100); - //} - - } else delay(20); - - - if (lcd_clicked()) { - - lcd_set_lang(cursor_pos-1); - delay(500); - - } - /* - if (++counter == 80) { - hlaska++; - if(hlaska>LANG_NUM) hlaska=1; - lcd_mylang_top(hlaska); - lcd_mylang_drawcursor(cursor_pos); - counter=0; - } - */ - }; - - if(MYSERIAL.available() > 1){ - lang_selected = 0; - firstrun = 0; - } - - lcd_set_custom_characters_degree(); - lcd_implementation_clear(); - lcd_return_to_status(); - -} - -void bowden_menu() { - int enc_dif = encoderDiff; - int cursor_pos = 0; - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd.print(">"); - for (int i = 0; i < 4; i++) { - lcd.setCursor(1, i); - lcd.print("Extruder "); - lcd.print(i); - lcd.print(": "); - EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); - lcd.print(bowden_length[i] - 48); - - } - enc_dif = encoderDiff; - - while (1) { - - manage_heater(); - manage_inactivity(true); - - if (abs((enc_dif - encoderDiff)) > 2) { - - if (enc_dif > encoderDiff) { - cursor_pos--; - } - - if (enc_dif < encoderDiff) { - cursor_pos++; - } - - if (cursor_pos > 3) { - cursor_pos = 3; - } - - if (cursor_pos < 0) { - cursor_pos = 0; - } - - lcd.setCursor(0, 0); - lcd.print(" "); - 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()) { - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - - lcd_implementation_clear(); - while (1) { - - manage_heater(); - manage_inactivity(true); - - lcd.setCursor(1, 1); - lcd.print("Extruder "); - lcd.print(cursor_pos); - lcd.print(": "); - lcd.setCursor(13, 1); - lcd.print(bowden_length[cursor_pos] - 48); - - if (abs((enc_dif - encoderDiff)) > 2) { - if (enc_dif > encoderDiff) { - bowden_length[cursor_pos]--; - lcd.setCursor(13, 1); - lcd.print(bowden_length[cursor_pos] - 48); - enc_dif = encoderDiff; - } - - if (enc_dif < encoderDiff) { - bowden_length[cursor_pos]++; - lcd.setCursor(13, 1); - lcd.print(bowden_length[cursor_pos] - 48); - enc_dif = encoderDiff; - } - } - delay(100); - if (lcd_clicked()) { - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - EEPROM_save_B(EEPROM_BOWDEN_LENGTH + cursor_pos * 2, &bowden_length[cursor_pos]); - if (lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Continue with another bowden?"))) { - lcd_update_enable(true); - lcd_implementation_clear(); - enc_dif = encoderDiff; - lcd.setCursor(0, cursor_pos); - lcd.print(">"); - for (int i = 0; i < 4; i++) { - lcd.setCursor(1, i); - lcd.print("Extruder "); - lcd.print(i); - lcd.print(": "); - EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); - lcd.print(bowden_length[i] - 48); - - } - break; - } - else return; - } - } - } - } -} - -static char snmm_stop_print_menu() { //menu for choosing which filaments will be unloaded in stop print - lcd_implementation_clear(); - lcd_print_at_PGM(0,0,MSG_UNLOAD_FILAMENT); lcd.print(":"); - lcd.setCursor(0, 1); lcd.print(">"); - lcd_print_at_PGM(1,1,MSG_ALL); - lcd_print_at_PGM(1,2,MSG_USED); - lcd_print_at_PGM(1,3,MSG_CURRENT); - char cursor_pos = 1; - int enc_dif = 0; - KEEPALIVE_STATE(PAUSED_FOR_USER); - while (1) { - manage_heater(); - manage_inactivity(true); - if (abs((enc_dif - encoderDiff)) > 4) { - - 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()) { - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - KEEPALIVE_STATE(IN_HANDLER); - return(cursor_pos - 1); - } - } - -} - -char choose_extruder_menu() { - - int items_no = 4; - int first = 0; - int enc_dif = 0; - char cursor_pos = 1; - - enc_dif = encoderDiff; - lcd_implementation_clear(); - - lcd_printPGM(MSG_CHOOSE_EXTRUDER); - lcd.setCursor(0, 1); - lcd.print(">"); - for (int i = 0; i < 3; i++) { - lcd_print_at_PGM(1, i + 1, MSG_EXTRUDER); - } - KEEPALIVE_STATE(PAUSED_FOR_USER); - while (1) { - - for (int i = 0; i < 3; i++) { - lcd.setCursor(2 + strlen_P(MSG_EXTRUDER), i+1); - lcd.print(first + i + 1); - } - - manage_heater(); - manage_inactivity(true); - - if (abs((enc_dif - encoderDiff)) > 4) { - - 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 (first < items_no - 3) { - first++; - lcd_implementation_clear(); - lcd_printPGM(MSG_CHOOSE_EXTRUDER); - for (int i = 0; i < 3; i++) { - lcd_print_at_PGM(1, i + 1, MSG_EXTRUDER); - } - } - } - - if (cursor_pos < 1) { - cursor_pos = 1; - if (first > 0) { - first--; - lcd_implementation_clear(); - lcd_printPGM(MSG_CHOOSE_EXTRUDER); - for (int i = 0; i < 3; i++) { - lcd_print_at_PGM(1, i + 1, MSG_EXTRUDER); - } - } - } - 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_update(2); - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - KEEPALIVE_STATE(IN_HANDLER); - return(cursor_pos + first - 1); - - } - - } - -} - - -char reset_menu() { -#ifdef SNMM - int items_no = 5; -#else - int items_no = 4; -#endif - static int first = 0; - int enc_dif = 0; - char cursor_pos = 0; - const char *item [items_no]; - - item[0] = "Language"; - item[1] = "Statistics"; - item[2] = "Shipping prep"; - item[3] = "All Data"; -#ifdef SNMM - item[4] = "Bowden length"; -#endif // SNMM - - enc_dif = encoderDiff; - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd.print(">"); - - while (1) { - - for (int i = 0; i < 4; i++) { - lcd.setCursor(1, i); - lcd.print(item[first + i]); - } - - manage_heater(); - manage_inactivity(true); - - if (abs((enc_dif - encoderDiff)) > 4) { - - 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 (first < items_no - 4) { - first++; - lcd_implementation_clear(); - } - } - - if (cursor_pos < 0) { - cursor_pos = 0; - if (first > 0) { - first--; - lcd_implementation_clear(); - } - } - lcd.setCursor(0, 0); - lcd.print(" "); - 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()) { - while (lcd_clicked()); - delay(10); - while (lcd_clicked()); - return(cursor_pos + first); - } - - } - -} - -static void lcd_disable_farm_mode() { - int8_t disable = lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Disable farm mode?"), true, false); //allow timeouting, default no - if (disable) { - enquecommand_P(PSTR("G99")); - lcd_return_to_status(); - } - else { - lcd_goto_menu(lcd_settings_menu); - } - lcd_update_enable(true); - lcdDrawUpdate = 2; - -} - -static void lcd_ping_allert() { - if ((abs(millis() - allert_timer)*0.001) > PING_ALLERT_PERIOD) { - allert_timer = millis(); - SET_OUTPUT(BEEPER); - for (int i = 0; i < 2; i++) { - WRITE(BEEPER, HIGH); - delay(50); - WRITE(BEEPER, LOW); - delay(100); - } - } - -}; - - -#ifdef SNMM - -static void extr_mov(float shift, float feed_rate) { //move extruder no matter what the current heater temperature is - set_extrude_min_temp(.0); - current_position[E_AXIS] += shift; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feed_rate, active_extruder); - set_extrude_min_temp(EXTRUDE_MINTEMP); -} - - -void change_extr(int extr) { //switches multiplexer for extruders - st_synchronize(); - delay(100); - - disable_e0(); - disable_e1(); - disable_e2(); - -#ifdef SNMM - snmm_extruder = extr; -#endif - - pinMode(E_MUX0_PIN, OUTPUT); - pinMode(E_MUX1_PIN, OUTPUT); - pinMode(E_MUX2_PIN, OUTPUT); - - switch (extr) { - case 1: - WRITE(E_MUX0_PIN, HIGH); - WRITE(E_MUX1_PIN, LOW); - WRITE(E_MUX2_PIN, LOW); - - break; - case 2: - WRITE(E_MUX0_PIN, LOW); - WRITE(E_MUX1_PIN, HIGH); - WRITE(E_MUX2_PIN, LOW); - - break; - case 3: - WRITE(E_MUX0_PIN, HIGH); - WRITE(E_MUX1_PIN, HIGH); - WRITE(E_MUX2_PIN, LOW); - - break; - default: - WRITE(E_MUX0_PIN, LOW); - WRITE(E_MUX1_PIN, LOW); - WRITE(E_MUX2_PIN, LOW); - - break; - } - delay(100); -} - -static int get_ext_nr() { //reads multiplexer input pins and return current extruder number (counted from 0) - return(4 * READ(E_MUX2_PIN) + 2 * READ(E_MUX1_PIN) + READ(E_MUX0_PIN)); -} - - -void display_loading() { - switch (snmm_extruder) { - case 1: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T1); break; - case 2: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T2); break; - case 3: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T3); break; - default: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T0); break; - } -} - -static void extr_adj(int extruder) //loading filament for SNMM -{ - bool correct; - max_feedrate[E_AXIS] =80; - //max_feedrate[E_AXIS] = 50; - START: - lcd_implementation_clear(); - lcd.setCursor(0, 0); - switch (extruder) { - case 1: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T1); break; - case 2: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T2); break; - case 3: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T3); break; - default: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T0); break; - } - KEEPALIVE_STATE(PAUSED_FOR_USER); - do{ - extr_mov(0.001,1000); - delay_keep_alive(2); - } while (!lcd_clicked()); - //delay_keep_alive(500); - KEEPALIVE_STATE(IN_HANDLER); - st_synchronize(); - //correct = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_FIL_LOADED_CHECK, false); - //if (!correct) goto START; - //extr_mov(BOWDEN_LENGTH/2.f, 500); //dividing by 2 is there because of max. extrusion length limitation (x_max + y_max) - //extr_mov(BOWDEN_LENGTH/2.f, 500); - extr_mov(bowden_length[extruder], 500); - lcd_implementation_clear(); - lcd.setCursor(0, 0); lcd_printPGM(MSG_LOADING_FILAMENT); - if(strlen(MSG_LOADING_FILAMENT)>18) lcd.setCursor(0, 1); - else lcd.print(" "); - lcd.print(snmm_extruder + 1); - lcd.setCursor(0, 2); lcd_printPGM(MSG_PLEASE_WAIT); - st_synchronize(); - max_feedrate[E_AXIS] = 50; - lcd_update_enable(true); - lcd_return_to_status(); - lcdDrawUpdate = 2; -} - - -void extr_unload() { //unloads filament - float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; - float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; - int8_t SilentMode; - - if (degHotend0() > EXTRUDE_MINTEMP) { - lcd_implementation_clear(); - lcd_display_message_fullscreen_P(PSTR("")); - max_feedrate[E_AXIS] = 50; - lcd.setCursor(0, 0); lcd_printPGM(MSG_UNLOADING_FILAMENT); - lcd.print(" "); - lcd.print(snmm_extruder + 1); - lcd.setCursor(0, 2); lcd_printPGM(MSG_PLEASE_WAIT); - if (current_position[Z_AXIS] < 15) { - current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 25, active_extruder); - } - - current_position[E_AXIS] += 10; //extrusion - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder); - digipot_current(2, E_MOTOR_HIGH_CURRENT); - if (current_temperature[0] < 230) { //PLA & all other filaments - current_position[E_AXIS] += 5.4; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2800 / 60, active_extruder); - current_position[E_AXIS] += 3.2; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); - current_position[E_AXIS] += 3; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3400 / 60, active_extruder); - } - else { //ABS - current_position[E_AXIS] += 3.1; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2000 / 60, active_extruder); - current_position[E_AXIS] += 3.1; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2500 / 60, active_extruder); - current_position[E_AXIS] += 4; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); - /*current_position[X_AXIS] += 23; //delay - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder); //delay - current_position[X_AXIS] -= 23; //delay - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder); //delay*/ - delay_keep_alive(4700); - } - - max_feedrate[E_AXIS] = 80; - current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); - current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); - st_synchronize(); - //digipot_init(); - if (SilentMode == 1) digipot_current(2, tmp_motor[2]); //set back to normal operation currents - else digipot_current(2, tmp_motor_loud[2]); - lcd_update_enable(true); - lcd_return_to_status(); - max_feedrate[E_AXIS] = 50; - } - else { - - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - - delay(2000); - lcd_implementation_clear(); - } - - lcd_return_to_status(); - - - - -} - -//wrapper functions for loading filament -static void extr_adj_0(){ - change_extr(0); - extr_adj(0); -} -static void extr_adj_1() { - change_extr(1); - extr_adj(1); -} -static void extr_adj_2() { - change_extr(2); - extr_adj(2); -} -static void extr_adj_3() { - change_extr(3); - extr_adj(3); -} - -static void load_all() { - for (int i = 0; i < 4; i++) { - change_extr(i); - extr_adj(i); - } -} - -//wrapper functions for changing extruders -static void extr_change_0() { - change_extr(0); - lcd_return_to_status(); -} -static void extr_change_1() { - change_extr(1); - lcd_return_to_status(); -} -static void extr_change_2() { - change_extr(2); - lcd_return_to_status(); -} -static void extr_change_3() { - change_extr(3); - lcd_return_to_status(); -} - -//wrapper functions for unloading filament -void extr_unload_all() { - if (degHotend0() > EXTRUDE_MINTEMP) { - for (int i = 0; i < 4; i++) { - change_extr(i); - extr_unload(); - } - } - else { - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - delay(2000); - lcd_implementation_clear(); - lcd_return_to_status(); - } -} - -//unloading just used filament (for snmm) - -void extr_unload_used() { - if (degHotend0() > EXTRUDE_MINTEMP) { - for (int i = 0; i < 4; i++) { - if (snmm_filaments_used & (1 << i)) { - change_extr(i); - extr_unload(); - } - } - snmm_filaments_used = 0; - } - else { - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - delay(2000); - lcd_implementation_clear(); - lcd_return_to_status(); - } -} - - - -static void extr_unload_0() { - change_extr(0); - extr_unload(); -} -static void extr_unload_1() { - change_extr(1); - extr_unload(); -} -static void extr_unload_2() { - change_extr(2); - extr_unload(); -} -static void extr_unload_3() { - change_extr(3); - extr_unload(); -} - - -static void fil_load_menu() -{ - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - MENU_ITEM(function, MSG_LOAD_ALL, load_all); - MENU_ITEM(function, MSG_LOAD_FILAMENT_1, extr_adj_0); - MENU_ITEM(function, MSG_LOAD_FILAMENT_2, extr_adj_1); - MENU_ITEM(function, MSG_LOAD_FILAMENT_3, extr_adj_2); - MENU_ITEM(function, MSG_LOAD_FILAMENT_4, extr_adj_3); - - END_MENU(); -} - -static void fil_unload_menu() -{ - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - MENU_ITEM(function, MSG_UNLOAD_ALL, extr_unload_all); - MENU_ITEM(function, MSG_UNLOAD_FILAMENT_1, extr_unload_0); - MENU_ITEM(function, MSG_UNLOAD_FILAMENT_2, extr_unload_1); - MENU_ITEM(function, MSG_UNLOAD_FILAMENT_3, extr_unload_2); - MENU_ITEM(function, MSG_UNLOAD_FILAMENT_4, extr_unload_3); - - END_MENU(); -} - -static void change_extr_menu(){ - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - MENU_ITEM(function, MSG_EXTRUDER_1, extr_change_0); - MENU_ITEM(function, MSG_EXTRUDER_2, extr_change_1); - MENU_ITEM(function, MSG_EXTRUDER_3, extr_change_2); - MENU_ITEM(function, MSG_EXTRUDER_4, extr_change_3); - - END_MENU(); -} - -#endif - -static void lcd_farm_no() -{ - char step = 0; - int enc_dif = 0; - int _farmno = farm_no; - int _ret = 0; - lcd_implementation_clear(); - - lcd.setCursor(0, 0); - lcd.print("Farm no"); - - do - { - - if (abs((enc_dif - encoderDiff)) > 2) { - if (enc_dif > encoderDiff) { - switch (step) { - case(0): if (_farmno >= 100) _farmno -= 100; break; - case(1): if (_farmno % 100 >= 10) _farmno -= 10; break; - case(2): if (_farmno % 10 >= 1) _farmno--; break; - default: break; - } - } - - if (enc_dif < encoderDiff) { - switch (step) { - case(0): if (_farmno < 900) _farmno += 100; break; - case(1): if (_farmno % 100 < 90) _farmno += 10; break; - case(2): if (_farmno % 10 <= 8)_farmno++; break; - default: break; - } - } - enc_dif = 0; - encoderDiff = 0; - } - - lcd.setCursor(0, 2); - if (_farmno < 100) lcd.print("0"); - if (_farmno < 10) lcd.print("0"); - lcd.print(_farmno); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); - - - lcd.setCursor(step, 3); - lcd.print("^"); - delay(100); - - if (lcd_clicked()) - { - delay(200); - step++; - if(step == 3) { - _ret = 1; - farm_no = _farmno; - EEPROM_save_B(EEPROM_FARM_NUMBER, &farm_no); - prusa_statistics(20); - lcd_return_to_status(); - } - } - - manage_heater(); - } while (_ret == 0); - -} - -void lcd_confirm_print() -{ - int enc_dif = 0; - int cursor_pos = 1; - int _ret = 0; - int _t = 0; - - - lcd_implementation_clear(); - - lcd.setCursor(0, 0); - lcd.print("Print ok ?"); - - do - { - - if (abs((enc_dif - encoderDiff)) > 2) { - if (enc_dif > encoderDiff) { - cursor_pos--; - } - - if (enc_dif < encoderDiff) { - cursor_pos++; - } - } - - if (cursor_pos > 2) { cursor_pos = 2; } - if (cursor_pos < 1) { cursor_pos = 1; } - - lcd.setCursor(0, 2); lcd.print(" "); - lcd.setCursor(0, 3); lcd.print(" "); - lcd.setCursor(2, 2); - lcd_printPGM(MSG_YES); - lcd.setCursor(2, 3); - lcd_printPGM(MSG_NO); - lcd.setCursor(0, 1 + cursor_pos); - lcd.print(">"); - delay(100); - - _t = _t + 1; - if (_t>100) - { - prusa_statistics(99); - _t = 0; - } - if (lcd_clicked()) - { - if (cursor_pos == 1) - { - _ret = 1; - filament_type = lcd_choose_color(); - prusa_statistics(4, filament_type); - no_response = true; //we need confirmation by recieving PRUSA thx - important_status = 4; - saved_filament_type = filament_type; - NcTime = millis(); - } - if (cursor_pos == 2) - { - _ret = 2; - filament_type = lcd_choose_color(); - prusa_statistics(5, filament_type); - no_response = true; //we need confirmation by recieving PRUSA thx - important_status = 5; - saved_filament_type = filament_type; - NcTime = millis(); - } - } - - manage_heater(); - manage_inactivity(); - - } while (_ret == 0); - -} - -extern bool saved_printing; - -static void lcd_main_menu() -{ - - SDscrool = 0; - START_MENU(); - - // Majkl superawesome menu - - - MENU_ITEM(back, MSG_WATCH, lcd_status_screen); - -#ifdef RESUME_DEBUG - if (!saved_printing) - MENU_ITEM(function, PSTR("tst - Save"), lcd_menu_test_save); - else - MENU_ITEM(function, PSTR("tst - Restore"), lcd_menu_test_restore); -#endif //RESUME_DEBUG - -#ifdef TMC2130_DEBUG - MENU_ITEM(function, PSTR("recover print"), recover_print); - MENU_ITEM(function, PSTR("power panic"), uvlo_); -#endif //TMC2130_DEBUG - - /* if (farm_mode && !IS_SD_PRINTING ) - { - - 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(); - - card.getWorkDirName(); - if (card.filename[0] == '/') - { -#if SDCARDDETECT == -1 - MENU_ITEM(function, MSG_REFRESH, lcd_sd_refresh); -#endif - } else { - MENU_ITEM(function, PSTR(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(); - } - } - - MENU_ITEM(back, PSTR("- - - - - - - - -"), lcd_status_screen); - - - }*/ - - if ( ( IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) && !homing_flag && !mesh_bed_leveling_flag) - { - MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);//8 - } - - - if ( moves_planned() || IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) - { - MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu); - } else - { - MENU_ITEM(submenu, MSG_PREHEAT, lcd_preheat_menu); - } - -#ifdef SDSUPPORT - if (card.cardOK || lcd_commands_type == LCD_COMMAND_V2_CAL) - { - if (card.isFileOpen()) - { - if (mesh_bed_leveling_flag == false && homing_flag == false) { - if (card.sdprinting) - { - MENU_ITEM(function, MSG_PAUSE_PRINT, lcd_sdcard_pause); - } - else - { - MENU_ITEM(function, MSG_RESUME_PRINT, lcd_sdcard_resume); - } - MENU_ITEM(submenu, MSG_STOP_PRINT, lcd_sdcard_stop); - } - } - else if (lcd_commands_type == LCD_COMMAND_V2_CAL && mesh_bed_leveling_flag == false && homing_flag == false) { - //MENU_ITEM(submenu, MSG_STOP_PRINT, lcd_sdcard_stop); - } - else - { - if (!is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) - { - //if (farm_mode) MENU_ITEM(submenu, MSG_FARM_CARD_MENU, lcd_farm_sdcard_menu); - /*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 || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) - { - if (farm_mode) - { - MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no); - } - } - else - { - #ifndef SNMM - if ( ((filament_autoload_enabled == true) && (fsensor_enabled == true))) - MENU_ITEM(function, MSG_AUTOLOAD_FILAMENT, lcd_LoadFilament); - else - MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament); - MENU_ITEM(function, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament); - #endif - #ifdef SNMM - MENU_ITEM(submenu, MSG_LOAD_FILAMENT, fil_load_menu); - MENU_ITEM(submenu, MSG_UNLOAD_FILAMENT, fil_unload_menu); - MENU_ITEM(submenu, MSG_CHANGE_EXTR, change_extr_menu); - #endif - MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu); - if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu); - -#ifdef EXPERIMENTAL_FEATURES - MENU_ITEM(submenu, PSTR("Experimantal"), lcd_experimantal_menu); -#endif //EXPERIMENTAL_FEATURES - } - - if (!is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) - { - MENU_ITEM(submenu, MSG_STATISTICS, lcd_menu_statistics); - } - - MENU_ITEM(submenu, PSTR("Fail stats"), lcd_menu_fails_stats); - - MENU_ITEM(submenu, MSG_SUPPORT, lcd_support_menu); - - END_MENU(); - -} - -void stack_error() { - SET_OUTPUT(BEEPER); - WRITE(BEEPER, HIGH); - delay(1000); - WRITE(BEEPER, LOW); - lcd_display_message_fullscreen_P(MSG_STACK_ERROR); - //err_triggered = 1; - while (1) delay_keep_alive(1000); -} - -#ifdef DEBUG_STEPPER_TIMER_MISSED -bool stepper_timer_overflow_state = false; -uint16_t stepper_timer_overflow_max = 0; -uint16_t stepper_timer_overflow_last = 0; -uint16_t stepper_timer_overflow_cnt = 0; -void stepper_timer_overflow() { - char msg[28]; - sprintf_P(msg, PSTR("#%d %d max %d"), ++ stepper_timer_overflow_cnt, stepper_timer_overflow_last >> 1, stepper_timer_overflow_max >> 1); - lcd_setstatus(msg); - stepper_timer_overflow_state = false; - if (stepper_timer_overflow_last > stepper_timer_overflow_max) - stepper_timer_overflow_max = stepper_timer_overflow_last; - SERIAL_ECHOPGM("Stepper timer overflow: "); - MYSERIAL.print(msg); - SERIAL_ECHOLNPGM(""); - - WRITE(BEEPER, LOW); -} -#endif /* DEBUG_STEPPER_TIMER_MISSED */ - -#ifdef SDSUPPORT -static void lcd_autostart_sd() -{ - card.lastnr = 0; - card.setroot(); - card.checkautostart(true); -} -#endif - - - -static void lcd_colorprint_change() { - - enquecommand_P(PSTR("M600")); - - custom_message = true; - custom_message_type = 2; //just print status message - lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS); - lcd_return_to_status(); - lcdDrawUpdate = 3; -} - -static void lcd_tune_menu() -{ - if (menuData.tuneMenu.status == 0) { - // Menu was entered. Mark the menu as entered and save the current extrudemultiply value. - menuData.tuneMenu.status = 1; - menuData.tuneMenu.extrudemultiply = extrudemultiply; - } else if (menuData.tuneMenu.extrudemultiply != extrudemultiply) { - // extrudemultiply has been changed from the child menu. Apply the new value. - menuData.tuneMenu.extrudemultiply = extrudemultiply; - calculate_extruder_multipliers(); - } - - EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); - - - - START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 - MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 - - MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 - MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 - - MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 - MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 -#ifdef FILAMENTCHANGEENABLE - MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 -#endif - -#ifndef DEBUG_DISABLE_FSENSORCHECK - if (FSensorStateMenu == 0) { - MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); - } else { - MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); - } -#endif //DEBUG_DISABLE_FSENSORCHECK - - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); - - if (SilentModeMenu == 0) - { - if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); - else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); - } - else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); - - 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); -#if TEMP_SENSOR_0 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10); -#endif -#if TEMP_SENSOR_1 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE1, &target_temperature[1], 0, HEATER_1_MAXTEMP - 10); -#endif -#if TEMP_SENSOR_2 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE2, &target_temperature[2], 0, HEATER_2_MAXTEMP - 10); -#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 - 10); - MENU_ITEM_EDIT(float3, MSG_MAX, &autotemp_max, 0, HEATER_0_MAXTEMP - 10); - 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_print_stop() { - cancel_heatup = true; -#ifdef MESH_BED_LEVELING - mbl.active = false; -#endif - // Stop the stoppers, update the position from the stoppers. - if (mesh_bed_leveling_flag == false && homing_flag == false) { - planner_abort_hard(); - // Because the planner_abort_hard() initialized current_position[Z] from the stepper, - // Z baystep is no more applied. Reset it. - babystep_reset(); - } - // Clean the input command queue. - cmdqueue_reset(); - lcd_setstatuspgm(MSG_PRINT_ABORTED); - lcd_update(2); - card.sdprinting = false; - card.closefile(); - - stoptime = millis(); - unsigned long t = (stoptime - starttime - pause_time) / 1000; //time in s - pause_time = 0; - save_statistics(total_filament_used, t); - - lcd_return_to_status(); - lcd_ignore_click(true); - lcd_commands_step = 0; - lcd_commands_type = LCD_COMMAND_STOP_PRINT; - - // Turn off the print fan - SET_OUTPUT(FAN_PIN); - WRITE(FAN_PIN, 0); - fanSpeed = 0; -} - -void lcd_sdcard_stop() -{ - - lcd.setCursor(0, 0); - lcd_printPGM(MSG_STOP_PRINT); - lcd.setCursor(2, 2); - lcd_printPGM(MSG_NO); - lcd.setCursor(2, 3); - lcd_printPGM(MSG_YES); - lcd.setCursor(0, 2); lcd.print(" "); - lcd.setCursor(0, 3); lcd.print(" "); - - if ((int32_t)encoderPosition > 2) { encoderPosition = 2; } - if ((int32_t)encoderPosition < 1) { encoderPosition = 1; } - - lcd.setCursor(0, 1 + encoderPosition); - lcd.print(">"); - - if (lcd_clicked()) - { - if ((int32_t)encoderPosition == 1) - { - lcd_return_to_status(); - } - if ((int32_t)encoderPosition == 2) - { - lcd_print_stop(); - } - } - -} -/* -void getFileDescription(char *name, char *description) { - // get file description, ie the REAL filenam, ie the second line - card.openFile(name, true); - int i = 0; - // skip the first line (which is the version line) - while (true) { - uint16_t readByte = card.get(); - if (readByte == '\n') { - break; - } - } - // read the second line (which is the description line) - while (true) { - uint16_t readByte = card.get(); - if (i == 0) { - // skip the first '^' - readByte = card.get(); - } - description[i] = readByte; - i++; - if (readByte == '\n') { - break; - } - } - card.closefile(); - description[i-1] = 0; -} -*/ - -void lcd_sdcard_menu() -{ - uint8_t sdSort = eeprom_read_byte((uint8_t*)EEPROM_SD_SORT); - int tempScrool = 0; - if (presort_flag == true) { - presort_flag = false; - card.presort(); - } - 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, MSG_REFRESH, lcd_sd_refresh); -#endif - } else { - MENU_ITEM(function, PSTR(LCD_STR_FOLDER ".."), lcd_sd_updir); - } - - for (uint16_t i = 0; i < fileCnt; i++) - { - if (_menuItemNr == _lineNr) - { - const uint16_t nr = ((sdSort == SD_SORT_NONE) || farm_mode || (sdSort == SD_SORT_TIME)) ? (fileCnt - 1 - i) : i; - /*#ifdef SDCARD_RATHERRECENTFIRST - #ifndef SDCARD_SORT_ALPHA - fileCnt - 1 - - #endif - #endif - i;*/ - #ifdef SDCARD_SORT_ALPHA - if (sdSort == SD_SORT_NONE) card.getfilename(nr); - else card.getfilename_sorted(nr); - #else - card.getfilename(nr); - #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(); -} - -//char description [10] [31]; - -/*void get_description() { - uint16_t fileCnt = card.getnrfilenames(); - for (uint16_t i = 0; i < fileCnt; i++) - { - card.getfilename(fileCnt - 1 - i); - getFileDescription(card.filename, description[i]); - } -}*/ - -/*void lcd_farm_sdcard_menu() -{ - static int i = 0; - if (i == 0) { - get_description(); - i++; - } - //int j; - //char description[31]; - 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, MSG_REFRESH, lcd_sd_refresh); -#endif - } - else { - MENU_ITEM(function, PSTR(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, description[i]); - } - } - 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 > menuData.editMenuParentState.maxEditValue) encoderPosition = menuData.editMenuParentState.maxEditValue; \ - if (lcdDrawUpdate) \ - lcd_implementation_drawedit(menuData.editMenuParentState.editLabel, _strFunc(((_type)((int32_t)encoderPosition + menuData.editMenuParentState.minEditValue)) / scale)); \ - if (LCD_CLICKED) \ - { \ - *((_type*)menuData.editMenuParentState.editValue) = ((_type)((int32_t)encoderPosition + menuData.editMenuParentState.minEditValue)) / scale; \ - lcd_goto_menu(menuData.editMenuParentState.prevMenu, menuData.editMenuParentState.prevEncoderPosition, true, false); \ - } \ - } \ - static void menu_action_setting_edit_ ## _name (const char* pstr, _type* ptr, _type minValue, _type maxValue) \ - { \ - asm("cli"); \ - menuData.editMenuParentState.prevMenu = currentMenu; \ - menuData.editMenuParentState.prevEncoderPosition = encoderPosition; \ - asm("sei"); \ - \ - lcdDrawUpdate = 2; \ - menuData.editMenuParentState.editLabel = pstr; \ - menuData.editMenuParentState.editValue = ptr; \ - menuData.editMenuParentState.minEditValue = minValue * scale; \ - menuData.editMenuParentState.maxEditValue = maxValue * scale - menuData.editMenuParentState.minEditValue; \ - lcd_goto_menu(menu_edit_ ## _name, (*ptr) * scale - menuData.editMenuParentState.minEditValue, true, false); \ - \ - }\ - /* - void menu_edit_callback_ ## _name () { \ - menu_edit_ ## _name (); \ - if (LCD_CLICKED) (*callbackFunc)(); \ - } \ - static void menu_action_setting_edit_callback_ ## _name (const char* pstr, _type* ptr, _type minValue, _type maxValue, menuFunc_t callback) \ - { \ - menuData.editMenuParentState.prevMenu = currentMenu; \ - menuData.editMenuParentState.prevEncoderPosition = encoderPosition; \ - \ - lcdDrawUpdate = 2; \ - lcd_goto_menu(menu_edit_callback_ ## _name, (*ptr) * scale - menuData.editMenuParentState.minEditValue, true, false); \ - \ - menuData.editMenuParentState.editLabel = pstr; \ - menuData.editMenuParentState.editValue = ptr; \ - menuData.editMenuParentState.minEditValue = minValue * scale; \ - menuData.editMenuParentState.maxEditValue = maxValue * scale - menuData.editMenuParentState.minEditValue; \ - callbackFunc = callback;\ - } - */ - -// Convert tmc2130 mres to string -char *mres_to_str3(const uint8_t &x) -{ - return itostr3(256 >> x); -} - -extern char conv[8]; - -// Convert tmc2130 wfac to string -char *wfac_to_str5(const uint8_t &x) -{ - if (x>=TMC2130_WAVE_FAC200_MIN) return ftostr43(((float)(x & 0xff))/200); - conv[0] = ' '; - conv[1] = ' '; - conv[2] = 'O'; - conv[3] = 'f'; - conv[4] = 'f'; - conv[5] = 0; - return conv; -} - -menu_edit_type(uint8_t, wfac, wfac_to_str5, 1) -menu_edit_type(uint8_t, mres, mres_to_str3, 1) -menu_edit_type(uint8_t, byte3, itostr3, 1) -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) - -static void lcd_selftest_v() -{ - (void)lcd_selftest(); -} - -bool lcd_selftest() -{ - int _progress = 0; - bool _result = true; - lcd_wait_for_cool_down(); - lcd_implementation_clear(); - lcd.setCursor(0, 0); lcd_printPGM(MSG_SELFTEST_START); - #ifdef TMC2130 - FORCE_HIGH_POWER_START; - #endif // TMC2130 - delay(2000); - KEEPALIVE_STATE(IN_HANDLER); - - if (_result) - { - _progress = lcd_selftest_screen(-1, _progress, 3, true, 2000); - _result = lcd_selftest_fan_dialog(0); - } - - if (_result) - { - _progress = lcd_selftest_screen(0, _progress, 3, true, 2000); - _result = lcd_selftest_fan_dialog(1); - } - - if (_result) - { - _progress = lcd_selftest_screen(1, _progress, 3, true, 2000); - //_progress = lcd_selftest_screen(2, _progress, 3, true, 2000); - _result = true;// lcd_selfcheck_endstops(); - } - - if (_result) - { - _progress = lcd_selftest_screen(3, _progress, 3, true, 1000); - _result = lcd_selfcheck_check_heater(false); - } - - if (_result) - { - //current_position[Z_AXIS] += 15; //move Z axis higher to avoid false triggering of Z end stop in case that we are very low - just above heatbed - _progress = lcd_selftest_screen(4, _progress, 3, true, 2000); -#ifdef TMC2130 - _result = lcd_selfcheck_axis_sg(X_AXIS); -#else - _result = lcd_selfcheck_axis(X_AXIS, X_MAX_POS); -#endif //TMC2130 - } - - if (_result) - { - _progress = lcd_selftest_screen(4, _progress, 3, true, 0); - -#ifndef TMC2130 - _result = lcd_selfcheck_pulleys(X_AXIS); -#endif - } - - - if (_result) - { - _progress = lcd_selftest_screen(5, _progress, 3, true, 1500); -#ifdef TMC2130 - _result = lcd_selfcheck_axis_sg(Y_AXIS); -#else - _result = lcd_selfcheck_axis(Y_AXIS, Y_MAX_POS); -#endif // TMC2130 - } - - if (_result) - { - _progress = lcd_selftest_screen(5, _progress, 3, true, 0); -#ifndef TMC2130 - _result = lcd_selfcheck_pulleys(Y_AXIS); -#endif // TMC2130 - } - - - if (_result) - { -#ifdef TMC2130 - tmc2130_home_exit(); - enable_endstops(false); -#endif - current_position[X_AXIS] = current_position[X_AXIS] + 14; - current_position[Y_AXIS] = current_position[Y_AXIS] + 12; - - //homeaxis(X_AXIS); - //homeaxis(Y_AXIS); - current_position[Z_AXIS] = current_position[Z_AXIS] + 10; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - _progress = lcd_selftest_screen(6, _progress, 3, true, 1500); - _result = lcd_selfcheck_axis(2, Z_MAX_POS); - if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) != 1) { - enquecommand_P(PSTR("G28 W")); - enquecommand_P(PSTR("G1 Z15 F1000")); - } - } - - if (_result) - { - _progress = lcd_selftest_screen(13, 0, 2, true, 0); - bool bres = tmc2130_home_calibrate(X_AXIS); - _progress = lcd_selftest_screen(13, 1, 2, true, 0); - bres &= tmc2130_home_calibrate(Y_AXIS); - _progress = lcd_selftest_screen(13, 2, 2, true, 0); - if (bres) - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, 1); - _result = bres; - } - - if (_result) - { - _progress = lcd_selftest_screen(7, _progress, 3, true, 2000); //check bed - _result = lcd_selfcheck_check_heater(true); - } - if (_result) - { - _progress = lcd_selftest_screen(8, _progress, 3, true, 2000); //bed ok -#ifdef PAT9125 - _progress = lcd_selftest_screen(9, _progress, 3, true, 2000); //check filaments sensor - _result = lcd_selftest_fsensor(); -#endif // PAT9125 - } - if (_result) - { -#ifdef PAT9125 - _progress = lcd_selftest_screen(10, _progress, 3, true, 2000); //fil sensor OK -#endif // PAT9125 - _progress = lcd_selftest_screen(11, _progress, 3, true, 5000); //all correct - } - else - { - _progress = lcd_selftest_screen(12, _progress, 3, true, 5000); - } - lcd_reset_alert_level(); - enquecommand_P(PSTR("M84")); - lcd_implementation_clear(); - lcd_next_update_millis = millis() + LCD_UPDATE_INTERVAL; - - if (_result) - { - LCD_ALERTMESSAGERPGM(MSG_SELFTEST_OK); - } - else - { - LCD_ALERTMESSAGERPGM(MSG_SELFTEST_FAILED); - } - #ifdef TMC2130 - FORCE_HIGH_POWER_END; - #endif // TMC2130 - KEEPALIVE_STATE(NOT_BUSY); - return(_result); -} - -#ifdef TMC2130 - -static void reset_crash_det(char axis) { - current_position[axis] += 10; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET)) tmc2130_sg_stop_on_crash = true; -} - -static bool lcd_selfcheck_axis_sg(char axis) { -// each axis length is measured twice - float axis_length, current_position_init, current_position_final; - float measured_axis_length[2]; - float margin = 60; - float max_error_mm = 5; - switch (axis) { - case 0: axis_length = X_MAX_POS; break; - case 1: axis_length = Y_MAX_POS + 8; break; - default: axis_length = 210; break; - } - - tmc2130_sg_stop_on_crash = false; - tmc2130_home_exit(); - enable_endstops(true); - - if (axis == X_AXIS) { //there is collision between cables and PSU cover in X axis if Z coordinate is too low - - current_position[Z_AXIS] += 17; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - tmc2130_home_enter(Z_AXIS_MASK); - st_synchronize(); - tmc2130_home_exit(); - } - -// first axis length measurement begin - - current_position[axis] -= (axis_length + margin); - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - - - st_synchronize(); - - tmc2130_sg_meassure_start(axis); - - current_position_init = st_get_position_mm(axis); - - current_position[axis] += 2 * margin; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - - current_position[axis] += axis_length; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - - st_synchronize(); - - uint16_t sg1 = tmc2130_sg_meassure_stop(); - printf_P(PSTR("%c AXIS SG1=%d\n"), 'X'+axis, sg1); - eeprom_write_word(((uint16_t*)((axis == X_AXIS)?EEPROM_BELTSTATUS_X:EEPROM_BELTSTATUS_Y)), sg1); - - current_position_final = st_get_position_mm(axis); - measured_axis_length[0] = abs(current_position_final - current_position_init); - - -// first measurement end and second measurement begin - - - current_position[axis] -= margin; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - - current_position[axis] -= (axis_length + margin); - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - - st_synchronize(); - - current_position_init = st_get_position_mm(axis); - - measured_axis_length[1] = abs(current_position_final - current_position_init); - - -//end of second measurement, now check for possible errors: - - for(int i = 0; i < 2; i++){ //check if measured axis length corresponds to expected length - SERIAL_ECHOPGM("Measured axis length:"); - MYSERIAL.println(measured_axis_length[i]); - if (abs(measured_axis_length[i] - axis_length) > max_error_mm) { - enable_endstops(false); - - const char *_error_1; - const char *_error_2; - - if (axis == X_AXIS) _error_1 = "X"; - if (axis == Y_AXIS) _error_1 = "Y"; - if (axis == Z_AXIS) _error_1 = "Z"; - - lcd_selftest_error(9, _error_1, _error_2); - current_position[axis] = 0; - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - reset_crash_det(axis); - return false; - } - } - - SERIAL_ECHOPGM("Axis length difference:"); - MYSERIAL.println(abs(measured_axis_length[0] - measured_axis_length[1])); - - if (abs(measured_axis_length[0] - measured_axis_length[1]) > 1) { //check if difference between first and second measurement is low - //loose pulleys - const char *_error_1; - const char *_error_2; - - if (axis == X_AXIS) _error_1 = "X"; - if (axis == Y_AXIS) _error_1 = "Y"; - if (axis == Z_AXIS) _error_1 = "Z"; - - lcd_selftest_error(8, _error_1, _error_2); - current_position[axis] = 0; - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - reset_crash_det(axis); - - return false; - } - current_position[axis] = 0; - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - reset_crash_det(axis); - return true; -} -#endif //TMC2130 - - - - -static bool lcd_selfcheck_axis(int _axis, int _travel) -{ - - bool _stepdone = false; - bool _stepresult = false; - int _progress = 0; - int _travel_done = 0; - int _err_endstop = 0; - int _lcd_refresh = 0; - _travel = _travel + (_travel / 10); - do { - - current_position[_axis] = current_position[_axis] - 1; - - - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - - if (/*x_min_endstop || y_min_endstop || */(READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1)) - { - if (_axis == 0) - { - _stepresult = (x_min_endstop) ? true : false; - _err_endstop = (y_min_endstop) ? 1 : 2; - - } - if (_axis == 1) - { - _stepresult = (y_min_endstop) ? true : false; - _err_endstop = (x_min_endstop) ? 0 : 2; - - } - if (_axis == 2) - { - _stepresult = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? true : false; - _err_endstop = (x_min_endstop) ? 0 : 1; - /*disable_x(); - disable_y(); - disable_z();*/ - } - _stepdone = true; - } -#ifdef TMC2130 - tmc2130_home_exit(); -#endif - - if (_lcd_refresh < 6) - { - _lcd_refresh++; - } - else - { - _progress = lcd_selftest_screen(4 + _axis, _progress, 3, false, 0); - _lcd_refresh = 0; - } - - manage_heater(); - manage_inactivity(true); - - //delay(100); - (_travel_done <= _travel) ? _travel_done++ : _stepdone = true; - - } while (!_stepdone); - - - //current_position[_axis] = current_position[_axis] + 15; - //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - - if (!_stepresult) - { - const char *_error_1; - const char *_error_2; - - if (_axis == X_AXIS) _error_1 = "X"; - if (_axis == Y_AXIS) _error_1 = "Y"; - if (_axis == Z_AXIS) _error_1 = "Z"; - - if (_err_endstop == 0) _error_2 = "X"; - if (_err_endstop == 1) _error_2 = "Y"; - if (_err_endstop == 2) _error_2 = "Z"; - - if (_travel_done >= _travel) - { - lcd_selftest_error(5, _error_1, _error_2); - } - else - { - lcd_selftest_error(4, _error_1, _error_2); - } - } - - - return _stepresult; -} - -static bool lcd_selfcheck_pulleys(int axis) -{ - float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; - float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; - float current_position_init, current_position_final; - float move; - bool endstop_triggered = false; - bool result = true; - int i; - unsigned long timeout_counter; - refresh_cmd_timeout(); - manage_inactivity(true); - - if (axis == 0) move = 50; //X_AXIS - else move = 50; //Y_AXIS - - //current_position_init = current_position[axis]; - current_position_init = st_get_position_mm(axis); - current_position[axis] += 5; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - for (i = 0; i < 5; i++) { - refresh_cmd_timeout(); - current_position[axis] = current_position[axis] + move; - //digipot_current(0, 850); //set motor current higher - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 200, active_extruder); - st_synchronize(); - //if (SilentModeMenu == 1) digipot_current(0, tmp_motor[0]); //set back to normal operation currents - //else digipot_current(0, tmp_motor_loud[0]); //set motor current back - current_position[axis] = current_position[axis] - move; -#ifdef TMC2130 - tmc2130_home_enter(X_AXIS_MASK << axis); -#endif - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder); - - st_synchronize(); - if ((x_min_endstop) || (y_min_endstop)) { - lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); - return(false); - } -#ifdef TMC2130 - tmc2130_home_exit(); -#endif - } - timeout_counter = millis() + 2500; - endstop_triggered = false; - manage_inactivity(true); - while (!endstop_triggered) { - if ((x_min_endstop) || (y_min_endstop)) { -#ifdef TMC2130 - tmc2130_home_exit(); -#endif - endstop_triggered = true; - current_position_final = st_get_position_mm(axis); - - SERIAL_ECHOPGM("current_pos_init:"); - MYSERIAL.println(current_position_init); - SERIAL_ECHOPGM("current_pos:"); - MYSERIAL.println(current_position_final); - lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); - - if (current_position_init - 1 <= current_position_final && current_position_init + 1 >= current_position_final) { - current_position[axis] += 15; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - return(true); - } - else { - - return(false); - } - } - else { -#ifdef TMC2130 - tmc2130_home_exit(); -#endif - //current_position[axis] -= 1; - current_position[axis] += 50; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - current_position[axis] -= 100; -#ifdef TMC2130 - tmc2130_home_enter(X_AXIS_MASK << axis); -#endif - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); - st_synchronize(); - - if (millis() > timeout_counter) { - lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); - return(false); - } - } - } - - -} - -static bool lcd_selfcheck_endstops() -{/* - bool _result = true; - - if (x_min_endstop || y_min_endstop || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) - { - current_position[0] = (x_min_endstop) ? current_position[0] = current_position[0] + 10 : current_position[0]; - current_position[1] = (y_min_endstop) ? current_position[1] = current_position[1] + 10 : current_position[1]; - current_position[2] = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? current_position[2] = current_position[2] + 10 : current_position[2]; - } - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[0] / 60, active_extruder); - delay(500); - - if (x_min_endstop || y_min_endstop || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) - { - _result = false; - char _error[4] = ""; - if (x_min_endstop) strcat(_error, "X"); - if (y_min_endstop) strcat(_error, "Y"); - if (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) strcat(_error, "Z"); - lcd_selftest_error(3, _error, ""); - } - manage_heater(); - manage_inactivity(true); - return _result; - */ -} - -static bool lcd_selfcheck_check_heater(bool _isbed) -{ - int _counter = 0; - int _progress = 0; - bool _stepresult = false; - bool _docycle = true; - - int _checked_snapshot = (_isbed) ? degBed() : degHotend(0); - int _opposite_snapshot = (_isbed) ? degHotend(0) : degBed(); - int _cycles = (_isbed) ? 180 : 60; //~ 90s / 30s - - target_temperature[0] = (_isbed) ? 0 : 200; - target_temperature_bed = (_isbed) ? 100 : 0; - manage_heater(); - manage_inactivity(true); - KEEPALIVE_STATE(NOT_BUSY); //we are sending temperatures on serial line, so no need to send host keepalive messages - - do { - _counter++; - _docycle = (_counter < _cycles) ? true : false; - - manage_heater(); - manage_inactivity(true); - _progress = (_isbed) ? lcd_selftest_screen(7, _progress, 2, false, 400) : lcd_selftest_screen(3, _progress, 2, false, 400); - /*if (_isbed) { - MYSERIAL.print("Bed temp:"); - MYSERIAL.println(degBed()); - } - else { - MYSERIAL.print("Hotend temp:"); - MYSERIAL.println(degHotend(0)); - }*/ - if(_counter%5 == 0) serialecho_temperatures(); //show temperatures once in two seconds - - } while (_docycle); - - target_temperature[0] = 0; - target_temperature_bed = 0; - manage_heater(); - - int _checked_result = (_isbed) ? degBed() - _checked_snapshot : degHotend(0) - _checked_snapshot; - int _opposite_result = (_isbed) ? degHotend(0) - _opposite_snapshot : degBed() - _opposite_snapshot; - /* - MYSERIAL.println(""); - MYSERIAL.print("Checked result:"); - MYSERIAL.println(_checked_result); - MYSERIAL.print("Opposite result:"); - MYSERIAL.println(_opposite_result); - */ - if (_opposite_result < ((_isbed) ? 10 : 3)) - { - if (_checked_result >= ((_isbed) ? 3 : 10)) - { - _stepresult = true; - } - else - { - lcd_selftest_error(1, "", ""); - } - } - else - { - lcd_selftest_error(2, "", ""); - } - - manage_heater(); - manage_inactivity(true); - KEEPALIVE_STATE(IN_HANDLER); - return _stepresult; - -} -static void lcd_selftest_error(int _error_no, const char *_error_1, const char *_error_2) -{ - lcd_implementation_quick_feedback(); - - target_temperature[0] = 0; - target_temperature_bed = 0; - manage_heater(); - manage_inactivity(); - - lcd_implementation_clear(); - - lcd.setCursor(0, 0); - lcd_printPGM(MSG_SELFTEST_ERROR); - lcd.setCursor(0, 1); - lcd_printPGM(MSG_SELFTEST_PLEASECHECK); - - switch (_error_no) - { - case 1: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_HEATERTHERMISTOR); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_NOTCONNECTED); - break; - case 2: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_BEDHEATER); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_WIRINGERROR); - break; - case 3: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_ENDSTOPS); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_WIRINGERROR); - lcd.setCursor(17, 3); - lcd.print(_error_1); - break; - case 4: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_MOTOR); - lcd.setCursor(18, 2); - lcd.print(_error_1); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_ENDSTOP); - lcd.setCursor(18, 3); - lcd.print(_error_2); - break; - case 5: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_ENDSTOP_NOTHIT); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_MOTOR); - lcd.setCursor(18, 3); - lcd.print(_error_1); - break; - case 6: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_COOLING_FAN); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_WIRINGERROR); - lcd.setCursor(18, 3); - lcd.print(_error_1); - break; - case 7: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_EXTRUDER_FAN); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_WIRINGERROR); - lcd.setCursor(18, 3); - lcd.print(_error_1); - break; - case 8: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_LOOSE_PULLEY); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_MOTOR); - lcd.setCursor(18, 3); - lcd.print(_error_1); - break; - case 9: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_AXIS_LENGTH); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_AXIS); - lcd.setCursor(18, 3); - lcd.print(_error_1); - break; - case 10: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_SELFTEST_FANS); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_SWAPPED); - lcd.setCursor(18, 3); - lcd.print(_error_1); - break; - case 11: - lcd.setCursor(0, 2); - lcd_printPGM(MSG_FILAMENT_SENSOR); - lcd.setCursor(0, 3); - lcd_printPGM(MSG_SELFTEST_WIRINGERROR); - break; - } - - delay(1000); - lcd_implementation_quick_feedback(); - - do { - delay(100); - manage_heater(); - manage_inactivity(); - } while (!lcd_clicked()); - - LCD_ALERTMESSAGERPGM(MSG_SELFTEST_FAILED); - lcd_return_to_status(); - -} - -#ifdef PAT9125 -static bool lcd_selftest_fsensor() { - fsensor_init(); - if (fsensor_not_responding) - { - const char *_err; - lcd_selftest_error(11, _err, _err); - } - return(!fsensor_not_responding); -} -#endif //PAT9125 - -static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) -{ - - bool _result = check_opposite; - lcd_implementation_clear(); - - lcd.setCursor(0, 0); lcd_printPGM(MSG_SELFTEST_FAN); - - switch (_fan) - { - case 1: - // extruder cooling fan - lcd.setCursor(0, 1); - if(check_opposite == true) lcd_printPGM(MSG_SELFTEST_COOLING_FAN); - else lcd_printPGM(MSG_SELFTEST_EXTRUDER_FAN); - SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); - WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1); - break; - case 2: - // object cooling fan - lcd.setCursor(0, 1); - if (check_opposite == true) lcd_printPGM(MSG_SELFTEST_EXTRUDER_FAN); - else lcd_printPGM(MSG_SELFTEST_COOLING_FAN); - SET_OUTPUT(FAN_PIN); - analogWrite(FAN_PIN, 255); - break; - } - delay(500); - - lcd.setCursor(1, 2); lcd_printPGM(MSG_SELFTEST_FAN_YES); - lcd.setCursor(0, 3); lcd.print(">"); - lcd.setCursor(1, 3); lcd_printPGM(MSG_SELFTEST_FAN_NO); - - int8_t enc_dif = 0; - KEEPALIVE_STATE(PAUSED_FOR_USER); - do - { - switch (_fan) - { - case 1: - // extruder cooling fan - SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); - WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1); - break; - case 2: - // object cooling fan - SET_OUTPUT(FAN_PIN); - analogWrite(FAN_PIN, 255); - break; - } - - if (abs((enc_dif - encoderDiff)) > 2) { - if (enc_dif > encoderDiff) { - _result = !check_opposite; - lcd.setCursor(0, 2); lcd.print(">"); - lcd.setCursor(1, 2); lcd_printPGM(MSG_SELFTEST_FAN_YES); - lcd.setCursor(0, 3); lcd.print(" "); - lcd.setCursor(1, 3); lcd_printPGM(MSG_SELFTEST_FAN_NO); - } - - if (enc_dif < encoderDiff) { - _result = check_opposite; - lcd.setCursor(0, 2); lcd.print(" "); - lcd.setCursor(1, 2); lcd_printPGM(MSG_SELFTEST_FAN_YES); - lcd.setCursor(0, 3); lcd.print(">"); - lcd.setCursor(1, 3); lcd_printPGM(MSG_SELFTEST_FAN_NO); - } - enc_dif = 0; - encoderDiff = 0; - } - - - manage_heater(); - delay(100); - - } while (!lcd_clicked()); - KEEPALIVE_STATE(IN_HANDLER); - SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); - WRITE(EXTRUDER_0_AUTO_FAN_PIN, 0); - SET_OUTPUT(FAN_PIN); - analogWrite(FAN_PIN, 0); - - fanSpeed = 0; - manage_heater(); - - return _result; - -} - - -static bool lcd_selftest_fan_dialog(int _fan) -{ - bool _result = true; - int _errno = 7; - - switch (_fan) { - case 0: - fanSpeed = 0; - manage_heater(); //turn off fan - setExtruderAutoFanState(EXTRUDER_0_AUTO_FAN_PIN, 1); //extruder fan - delay(2000); //delay_keep_alive would turn off extruder fan, because temerature is too low - manage_heater(); //count average fan speed from 2s delay and turn off fans - if (!fan_speed[0]) _result = false; - //SERIAL_ECHOPGM("Extruder fan speed: "); - //MYSERIAL.println(fan_speed[0]); - //SERIAL_ECHOPGM("Print fan speed: "); - //MYSERIAL.print(fan_speed[1]); - break; - - case 1: - //will it work with Thotend > 50 C ? - fanSpeed = 150; //print fan - for (uint8_t i = 0; i < 5; i++) { - delay_keep_alive(1000); - lcd.setCursor(18, 3); - lcd.print("-"); - delay_keep_alive(1000); - lcd.setCursor(18, 3); - lcd.print("|"); - } - fanSpeed = 0; - manage_heater(); //turn off fan - manage_inactivity(true); //to turn off print fan - if (!fan_speed[1]) { - _result = false; _errno = 6; //print fan not spinning - } - else if (fan_speed[1] < 34) { //fan is spinning, but measured RPM are too low for print fan, it must be left extruder fan - //check fans manually - - _result = lcd_selftest_manual_fan_check(2, true); //turn on print fan and check that left extruder fan is not spinning - if (_result) { - _result = lcd_selftest_manual_fan_check(2, false); //print fan is stil turned on; check that it is spinning - if (!_result) _errno = 6; //print fan not spinning - } - else { - _errno = 10; //swapped fans - } - } - - //SERIAL_ECHOPGM("Extruder fan speed: "); - //MYSERIAL.println(fan_speed[0]); - //SERIAL_ECHOPGM("Print fan speed: "); - //MYSERIAL.println(fan_speed[1]); - break; - } - if (!_result) - { - const char *_err; - lcd_selftest_error(_errno, _err, _err); - } - return _result; -} - -static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay) -{ - //SERIAL_ECHOPGM("Step:"); - //MYSERIAL.println(_step); - - lcd_next_update_millis = millis() + (LCD_UPDATE_INTERVAL * 10000); - - int _step_block = 0; - const char *_indicator = (_progress > _progress_scale) ? "-" : "|"; - - if (_clear) lcd_implementation_clear(); - - - lcd.setCursor(0, 0); - - if (_step == -1) lcd_printPGM(MSG_SELFTEST_FAN); - if (_step == 0) lcd_printPGM(MSG_SELFTEST_FAN); - if (_step == 1) lcd_printPGM(MSG_SELFTEST_FAN); - if (_step == 2) lcd_printPGM(MSG_SELFTEST_CHECK_ENDSTOPS); - if (_step == 3) lcd_printPGM(MSG_SELFTEST_CHECK_HOTEND); - if (_step == 4) lcd_printPGM(MSG_SELFTEST_CHECK_X); - if (_step == 5) lcd_printPGM(MSG_SELFTEST_CHECK_Y); - if (_step == 6) lcd_printPGM(MSG_SELFTEST_CHECK_Z); - if (_step == 7) lcd_printPGM(MSG_SELFTEST_CHECK_BED); - if (_step == 8) lcd_printPGM(MSG_SELFTEST_CHECK_BED); - if (_step == 9) lcd_printPGM(MSG_SELFTEST_CHECK_FSENSOR); - if (_step == 10) lcd_printPGM(MSG_SELFTEST_CHECK_FSENSOR); - if (_step == 11) lcd_printPGM(MSG_SELFTEST_CHECK_ALLCORRECT); - if (_step == 12) lcd_printPGM(MSG_SELFTEST_FAILED); - if (_step == 13) lcd_printPGM(PSTR("Calibrating home")); - - lcd.setCursor(0, 1); - lcd.print("--------------------"); - if ((_step >= -1) && (_step <= 1)) - { - //SERIAL_ECHOLNPGM("Fan test"); - lcd_print_at_PGM(0, 2, MSG_SELFTEST_EXTRUDER_FAN_SPEED); - lcd.setCursor(18, 2); - (_step < 0) ? lcd.print(_indicator) : lcd.print("OK"); - lcd_print_at_PGM(0, 3, MSG_SELFTEST_PRINT_FAN_SPEED); - lcd.setCursor(18, 3); - (_step < 1) ? lcd.print(_indicator) : lcd.print("OK"); - } - else if (_step >= 9 && _step <= 10) - { - lcd_print_at_PGM(0, 2, MSG_SELFTEST_FILAMENT_SENSOR); - lcd.setCursor(18, 2); - (_step == 9) ? lcd.print(_indicator) : lcd.print("OK"); - } - else if (_step < 9) - { - //SERIAL_ECHOLNPGM("Other tests"); - _step_block = 3; - lcd_selftest_screen_step(3, 9, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Hotend", _indicator); - - _step_block = 4; - lcd_selftest_screen_step(2, 2, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "X", _indicator); - - _step_block = 5; - lcd_selftest_screen_step(2, 8, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Y", _indicator); - - _step_block = 6; - lcd_selftest_screen_step(2, 14, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Z", _indicator); - - _step_block = 7; - lcd_selftest_screen_step(3, 0, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Bed", _indicator); - } - - if (_delay > 0) delay_keep_alive(_delay); - _progress++; - - return (_progress > _progress_scale * 2) ? 0 : _progress; -} - -static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator) -{ - lcd.setCursor(_col, _row); - - switch (_state) - { - case 1: - lcd.print(_name); - lcd.setCursor(_col + strlen(_name), _row); - lcd.print(":"); - lcd.setCursor(_col + strlen(_name) + 1, _row); - lcd.print(_indicator); - break; - case 2: - lcd.print(_name); - lcd.setCursor(_col + strlen(_name), _row); - lcd.print(":"); - lcd.setCursor(_col + strlen(_name) + 1, _row); - lcd.print("OK"); - break; - default: - lcd.print(_name); - } -} - - -/** End of menus **/ - -static void lcd_quick_feedback() -{ - lcdDrawUpdate = 2; - button_pressed = false; - 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_setlang(unsigned char lang) { - lcd_set_lang(lang); -} -static void menu_action_function(menuFunc_t data) { - (*data)(); -} - -static bool check_file(const char* filename) { - bool result = false; - uint32_t filesize; - card.openFile((char*)filename, true); - filesize = card.getFileSize(); - if (filesize > END_FILE_SECTION) { - card.setIndex(filesize - END_FILE_SECTION); - - } - - while (!card.eof() && !result) { - card.sdprinting = true; - get_command(); - result = check_commands(); - - } - card.printingHasFinished(); - strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH); - lcd_finishstatus(); - return result; - -} - -static void menu_action_sdfile(const char* filename, char* longFilename) -{ - loading_flag = false; - char cmd[30]; - char* c; - bool result = true; - sprintf_P(cmd, PSTR("M23 %s"), filename); - for (c = &cmd[4]; *c; c++) - *c = tolower(*c); - - for (int i = 0; i < 8; i++) { - eeprom_write_byte((uint8_t*)EEPROM_FILENAME + i, filename[i]); - } - - uint8_t depth = (uint8_t)card.getWorkDirDepth(); - eeprom_write_byte((uint8_t*)EEPROM_DIR_DEPTH, depth); - - for (uint8_t i = 0; i < depth; i++) { - for (int j = 0; j < 8; j++) { - eeprom_write_byte((uint8_t*)EEPROM_DIRS + j + 8 * i, dir_names[i][j]); - } - } - - if (!check_file(filename)) { - result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_FILE_INCOMPLETE, false, false); - lcd_update_enable(true); - } - if (result) { - enquecommand(cmd); - enquecommand_P(PSTR("M24")); - } - - lcd_return_to_status(); -} -static void menu_action_sddirectory(const char* filename, char* longFilename) -{ - uint8_t depth = (uint8_t)card.getWorkDirDepth(); - - strcpy(dir_names[depth], filename); - MYSERIAL.println(dir_names[depth]); - 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 -} - - - - -//#include - -static volatile bool lcd_update_enabled = true; -unsigned long lcd_timeoutToStatus = 0; - -void lcd_update_enable(bool enabled) -{ - if (lcd_update_enabled != enabled) { - lcd_update_enabled = enabled; - if (enabled) { - // Reset encoder position. This is equivalent to re-entering a menu. - encoderPosition = 0; - encoderDiff = 0; - // Enabling the normal LCD update procedure. - // Reset the timeout interval. - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - // Force the keypad update now. - lcd_next_update_millis = millis() - 1; - // Full update. - lcd_implementation_clear(); - #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) - lcd_set_custom_characters(currentMenu == lcd_status_screen); - #else - if (currentMenu == lcd_status_screen) - lcd_set_custom_characters_degree(); - else - lcd_set_custom_characters_arrows(); - #endif - lcd_update(2); - } else { - // Clear the LCD always, or let it to the caller? - } - } -} - -void lcd_update(uint8_t lcdDrawUpdateOverride) -{ - - if (lcdDrawUpdate < lcdDrawUpdateOverride) - lcdDrawUpdate = lcdDrawUpdateOverride; - - if (!lcd_update_enabled) - return; - -#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_MESSAGERPGM(MSG_SD_INSERTED); - //get_description(); - } - else - { - card.release(); - LCD_MESSAGERPGM(MSG_SD_REMOVED); - } - } -#endif//CARDINSERTED - - if (lcd_next_update_millis < millis()) - { -#ifdef DEBUG_BLINK_ACTIVE - static bool active_led = false; - active_led = !active_led; - pinMode(LED_PIN, OUTPUT); - digitalWrite(LED_PIN, active_led?HIGH:LOW); -#endif //DEBUG_BLINK_ACTIVE - -#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) - { - if (lcdDrawUpdate == 0) - lcdDrawUpdate = 1; - encoderPosition += encoderDiff / ENCODER_PULSES_PER_STEP; - encoderDiff = 0; - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - } - - if (LCD_CLICKED) lcd_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 (lcd_timeoutToStatus < millis() && currentMenu != lcd_status_screen) - { - // Exiting a menu. Let's call the menu function the last time with menuExiting flag set to true - // to give it a chance to save its state. - // This is useful for example, when the babystep value has to be written into EEPROM. - if (currentMenu != NULL) { - menuExiting = true; - (*currentMenu)(); - menuExiting = false; - } - lcd_implementation_clear(); - 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; - } - if (!SdFatUtil::test_stack_integrity()) stack_error(); -#ifdef DEBUG_STEPPER_TIMER_MISSED - if (stepper_timer_overflow_state) stepper_timer_overflow(); -#endif /* DEBUG_STEPPER_TIMER_MISSED */ - lcd_ping(); //check that we have received ping command if we are in farm mode - lcd_send_status(); - if (lcd_commands_type == LCD_COMMAND_V2_CAL) lcd_commands(); -} - -void lcd_printer_connected() { - printer_connected = true; -} - -static void lcd_send_status() { - if (farm_mode && no_response && ((millis() - NcTime) > (NC_TIME * 1000))) { - //send important status messages periodicaly - prusa_statistics(important_status, saved_filament_type); - NcTime = millis(); - lcd_connect_printer(); - } -}; - -static void lcd_connect_printer() { - lcd_update_enable(false); - lcd_implementation_clear(); - - bool pressed = false; - int i = 0; - int t = 0; - lcd_set_custom_characters_progress(); - lcd_implementation_print_at(0, 0, "Connect printer to"); - lcd_implementation_print_at(0, 1, "monitoring or hold"); - lcd_implementation_print_at(0, 2, "the knob to continue"); - while (no_response) { - i++; - t++; - delay_keep_alive(100); - proc_commands(); - if (t == 10) { - prusa_statistics(important_status, saved_filament_type); - t = 0; - } - if (READ(BTN_ENC)) { //if button is not pressed - i = 0; - lcd_implementation_print_at(0, 3, " "); - } - if (i!=0) lcd_implementation_print_at((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, "\x01"); - if (i == NC_BUTTON_LONG_PRESS * 10) { - no_response = false; - } - } - lcd_set_custom_characters_degree(); - lcd_update_enable(true); - lcd_update(2); -} - -void lcd_ping() { //chceck if printer is connected to monitoring when in farm mode - if (farm_mode) { - bool empty = is_buffer_empty(); - if ((millis() - PingTime) * 0.001 > (empty ? PING_TIME : PING_TIME_LONG)) { //if commands buffer is empty use shorter time period - //if there are comamnds in buffer, some long gcodes can delay execution of ping command - //therefore longer period is used - printer_connected = false; - //lcd_ping_allert(); //acustic signals - } - else { - lcd_printer_connected(); - } - } -} -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_status_message[LCD_WIDTH] = 0; - 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; -} - -uint8_t get_message_level() -{ - return lcd_status_message_level; -} -#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() -{ - static bool _lock = false; - if (_lock) return; - _lock = true; -#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 (lcd_update_enabled == true) { //if we are in non-modal mode, long press can be used and short press triggers with button release - if (READ(BTN_ENC) == 0) { //button is pressed - lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; - if (millis() > button_blanking_time) { - button_blanking_time = millis() + BUTTON_BLANKING_TIME; - if (button_pressed == false && long_press_active == false) { - if (currentMenu != lcd_move_z) { - savedMenu = currentMenu; - savedEncoderPosition = encoderPosition; - } - long_press_timer = millis(); - button_pressed = true; - } - else { - if (millis() - long_press_timer > LONG_PRESS_TIME) { //long press activated - - long_press_active = true; - move_menu_scale = 1.0; - lcd_goto_menu(lcd_move_z); - } - } - } - } - else { //button not pressed - if (button_pressed) { //button was released - button_blanking_time = millis() + BUTTON_BLANKING_TIME; - - if (long_press_active == false) { //button released before long press gets activated - if (currentMenu == lcd_move_z) { - //return to previously active menu and previous encoder position - lcd_goto_menu(savedMenu, savedEncoderPosition); - } - else { - newbutton |= EN_C; - } - } - else if (currentMenu == lcd_move_z) lcd_quick_feedback(); - //button_pressed is set back to false via lcd_quick_feedback function - } - else { - long_press_active = false; - } - } - } - else { //we are in modal mode - if (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; - _lock = false; -} - -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() -{ - bool clicked = LCD_CLICKED; - if(clicked) button_pressed = false; - return 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 rj string with 123.45 format -char *ftostr32ns(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' : '0'; - conv[3] = '.'; - conv[4] = (xx / 10) % 10 + '0'; - conv[5] = xx % 10 + '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; -} - -//Float to string with 1.234 format -char *ftostr13ns(const float &x) -{ - long xx = x * 1000; - if (xx >= 0) - conv[0] = ' '; - else - conv[0] = '-'; - xx = abs(xx); - conv[1] = (xx / 1000) % 10 + '0'; - conv[2] = '.'; - conv[3] = (xx / 100) % 10 + '0'; - conv[4] = (xx / 10) % 10 + '0'; - conv[5] = (xx) % 10 + '0'; - conv[6] = 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 +#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 + +#include "util.h" +#include "mesh_bed_leveling.h" +//#include "Configuration.h" +#include "cmdqueue.h" + +#include "SdFatUtil.h" + +#ifdef PAT9125 +#include "pat9125.h" +#endif //PAT9125 + +#ifdef TMC2130 +#include "tmc2130.h" +#endif //TMC2130 + +#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; +extern bool fans_check_enabled; +extern bool filament_autoload_enabled; + +extern bool fsensor_not_responding; + +extern bool fsensor_enabled; + +//Function pointer to menu functions. +typedef void (*menuFunc_t)(); + +static void lcd_sd_updir(); + +struct EditMenuParentState +{ + //prevMenu and prevEncoderPosition are used to store the previous menu location when editing settings. + menuFunc_t prevMenu; + uint16_t prevEncoderPosition; + //Variables used when editing values. + const char* editLabel; + void* editValue; + int32_t minEditValue, maxEditValue; + // menuFunc_t callbackFunc; +}; + +union MenuData +{ + struct BabyStep + { + // 29B total + int8_t status; + int babystepMem[3]; + float babystepMemMM[3]; + } babyStep; + + struct SupportMenu + { + // 6B+16B=22B total + int8_t status; + bool is_flash_air; + uint8_t ip[4]; + char ip_str[3*4+3+1]; + } supportMenu; + + struct AdjustBed + { + // 6+13+16=35B + // editMenuParentState is used when an edit menu is entered, so it knows + // the return menu and encoder state. + struct EditMenuParentState editMenuParentState; + int8_t status; + int8_t left; + int8_t right; + int8_t front; + int8_t rear; + int left2; + int right2; + int front2; + int rear2; + } adjustBed; + + struct TuneMenu + { + // editMenuParentState is used when an edit menu is entered, so it knows + // the return menu and encoder state. + struct EditMenuParentState editMenuParentState; + // To recognize, whether the menu has been just initialized. + int8_t status; + // Backup of extrudemultiply, to recognize, that the value has been changed and + // it needs to be applied. + int16_t extrudemultiply; + } tuneMenu; + + // editMenuParentState is used when an edit menu is entered, so it knows + // the return menu and encoder state. + struct EditMenuParentState editMenuParentState; +}; + +// State of the currently active menu. +// C Union manages sharing of the static memory by all the menus. +union MenuData menuData = { 0 }; + +union Data +{ + byte b[2]; + int value; +}; + +int8_t ReInitLCD = 0; + +int8_t SDscrool = 0; + +int8_t SilentModeMenu = 0; + +int8_t FSensorStateMenu = 1; + +int8_t CrashDetectMenu = 1; + +extern void fsensor_block(); +extern void fsensor_unblock(); + +extern bool fsensor_enable(); +extern void fsensor_disable(); + +extern void crashdet_enable(); +extern void crashdet_disable(); + + +#ifdef SNMM +uint8_t snmm_extruder = 0; +#endif + +#ifdef SDCARD_SORT_ALPHA + bool presort_flag = false; +#endif + +int lcd_commands_type=LCD_COMMAND_IDLE; +int lcd_commands_step=0; +bool isPrintPaused = false; +uint8_t farm_mode = 0; +int farm_no = 0; +int farm_timer = 30; +int farm_status = 0; +unsigned long allert_timer = millis(); +bool printer_connected = true; + +unsigned long display_time; //just timer for showing pid finished message on lcd; +float pid_temp = DEFAULT_PID_TEMP; + +bool long_press_active = false; +long long_press_timer = millis(); +long button_blanking_time = millis(); +bool button_pressed = false; + +bool menuExiting = false; + +#ifdef FILAMENT_LCD_DISPLAY +unsigned long message_millis = 0; +#endif + +#ifdef ULTIPANEL +static float manual_feedrate[] = MANUAL_FEEDRATE; +#endif // ULTIPANEL + +/* !Configuration settings */ + +uint8_t lcd_status_message_level; +char lcd_status_message[LCD_WIDTH + 1] = ""; //////WELCOME! +unsigned char firstrun = 1; + +#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_crash_menu(); +static void lcd_settings_menu(); +static void lcd_calibration_menu(); +static void lcd_language_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(); + +static void prusa_stat_printerstatus(int _status); +static void prusa_stat_farm_number(); +static void prusa_stat_temperatures(); +static void prusa_stat_printinfo(); +static void lcd_farm_no(); +static void lcd_menu_extruder_info(); +static void lcd_menu_fails_stats(); + +void lcd_finishstatus(); + +#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); +#define menu_action_back_RAM menu_action_back +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_setlang(unsigned char lang); +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_wfac(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); +static void menu_action_setting_edit_mres(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); +static void menu_action_setting_edit_byte3(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); +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 = (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, (label) , ## args ) +#define MENU_ITEM_EDIT_CALLBACK(type, label, args...) MENU_ITEM(setting_edit_callback_ ## type, label, (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 */ +uint8_t lastEncoderBits; +uint32_t encoderPosition; +uint32_t savedEncoderPosition; +#if (SDCARDDETECT > 0) +bool lcd_oldcardstatus; +#endif +#endif //ULTIPANEL + +menuFunc_t currentMenu = lcd_status_screen; /* function pointer to the currently active menu */ +menuFunc_t savedMenu; +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) */ + +// place-holders for Ki and Kd edits +#ifdef PIDTEMP +// float raw_Ki, raw_Kd; +#endif + +static void lcd_goto_menu(menuFunc_t menu, const uint32_t encoder = 0, const bool feedback = true, bool reset_menu_state = true) +{ + asm("cli"); + if (currentMenu != menu) + { + currentMenu = menu; + encoderPosition = encoder; + asm("sei"); + if (reset_menu_state) + { + // Resets the global shared C union. + // This ensures, that the menu entered will find out, that it shall initialize itself. + memset(&menuData, 0, sizeof(menuData)); + } + 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 + } + else + asm("sei"); +} + +/* Main status screen. It's up to the implementation specific part to show what is needed. As this is very display dependent */ + +// Language selection dialog not active. +#define LANGSEL_OFF 0 +// Language selection dialog modal, entered from the info screen. This is the case on firmware boot up, +// if the language index stored in the EEPROM is not valid. +#define LANGSEL_MODAL 1 +// Language selection dialog entered from the Setup menu. +#define LANGSEL_ACTIVE 2 +// Language selection dialog status +unsigned char langsel = LANGSEL_OFF; + +void set_language_from_EEPROM() { + unsigned char eep = eeprom_read_byte((unsigned char*)EEPROM_LANG); + if (eep < LANG_NUM) + { + lang_selected = eep; + // Language is valid, no need to enter the language selection screen. + langsel = LANGSEL_OFF; + } + else + { + lang_selected = LANG_ID_DEFAULT; + // Invalid language, enter the language selection screen in a modal mode. + langsel = LANGSEL_MODAL; + } +} + +static void lcd_status_screen() +{ + if (firstrun == 1) + { + firstrun = 0; + set_language_from_EEPROM(); + + if(lcd_status_message_level == 0){ + strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH); + lcd_finishstatus(); + } + if (eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 1) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 2) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 3) == 255) + { + eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0); + eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0); + } + + if (langsel) { + //strncpy_P(lcd_status_message, PSTR(">>>>>>>>>>>> PRESS v"), LCD_WIDTH); + // Entering the language selection screen in a modal mode. + + } + } + + + 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(); + + if (farm_mode) + { + farm_timer--; + if (farm_timer < 1) + { + farm_timer = 180; + prusa_statistics(0); + } + switch (farm_timer) + { + case 45: + prusa_statistics(21); + break; + case 10: + if (IS_SD_PRINTING) + { + prusa_statistics(20); + } + break; + } + } // end of farm_mode + + + + + + 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 */ + if (lcd_commands_type != LCD_COMMAND_IDLE) + { + lcd_commands(); + } + + + } // end of lcdDrawUpdate +#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 (--langsel ==0) {langsel=1;current_click=true;} + + if (current_click && (lcd_commands_type != LCD_COMMAND_STOP_PRINT)) //click is aborted unless stop print finishes + { + + 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 + + /*if (farm_mode && !printer_connected) { + lcd.setCursor(0, 3); + lcd_printPGM(MSG_PRINTER_DISCONNECTED); + }*/ + + +//#define FSENS_FACTOR (2580.8/50) //filament sensor factor [steps / encoder counts] +//#define FSENS_FACTOR (2580.8/45.3) //filament sensor factor [steps / encoder counts] + //lcd.setCursor(0, 3); + //lcd_implementation_print(" "); + //lcd.setCursor(0, 3); + //lcd_implementation_print(pat9125_x); + //lcd.setCursor(6, 3); + //lcd_implementation_print(pat9125_y); + //lcd.setCursor(12, 3); + //lcd_implementation_print(pat9125_b); + +} + +#ifdef ULTIPANEL + +void lcd_commands() +{ + if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE) + { + if(lcd_commands_step == 0) { + if (card.sdprinting) { + card.pauseSDPrint(); + lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS); + lcdDrawUpdate = 3; + lcd_commands_step = 1; + } + else { + lcd_commands_type = 0; + } + } + if (lcd_commands_step == 1 && !blocks_queued() && !homing_flag) { + lcd_setstatuspgm(MSG_PRINT_PAUSED); + isPrintPaused = true; + long_pause(); + lcd_commands_type = 0; + lcd_commands_step = 0; + } + + } + + if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE_RESUME) { + char cmd1[30]; + if (lcd_commands_step == 0) { + + lcdDrawUpdate = 3; + lcd_commands_step = 4; + } + if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) { //recover feedmultiply; cmd_buffer_empty() ensures that card.sdprinting is synchronized with buffered commands and thus print cant be paused until resume is finished + + sprintf_P(cmd1, PSTR("M220 S%d"), saved_feedmultiply); + enquecommand(cmd1); + isPrintPaused = false; + pause_time += (millis() - start_pause_print); //accumulate time when print is paused for correct statistics calculation + card.startFileprint(); + lcd_commands_step = 0; + lcd_commands_type = 0; + } + if (lcd_commands_step == 2 && !blocks_queued()) { //turn on fan, move Z and unretract + + sprintf_P(cmd1, PSTR("M106 S%d"), fanSpeedBckp); + enquecommand(cmd1); + strcpy(cmd1, "G1 Z"); + strcat(cmd1, ftostr32(pause_lastpos[Z_AXIS])); + enquecommand(cmd1); + + if (axis_relative_modes[3] == false) { + enquecommand_P(PSTR("M83")); // set extruder to relative mode + enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract + enquecommand_P(PSTR("M82")); // set extruder to absolute mode + } + else { + enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract + } + + lcd_commands_step = 1; + } + if (lcd_commands_step == 3 && !blocks_queued()) { //wait for nozzle to reach target temp + + strcpy(cmd1, "M109 S"); + strcat(cmd1, ftostr3(HotendTempBckp)); + enquecommand(cmd1); + lcd_commands_step = 2; + } + if (lcd_commands_step == 4 && !blocks_queued()) { //set temperature back and move xy + + strcpy(cmd1, "M104 S"); + strcat(cmd1, ftostr3(HotendTempBckp)); + enquecommand(cmd1); + enquecommand_P(PSTR("G90")); //absolute positioning + strcpy(cmd1, "G1 X"); + strcat(cmd1, ftostr32(pause_lastpos[X_AXIS])); + strcat(cmd1, " Y"); + strcat(cmd1, ftostr32(pause_lastpos[Y_AXIS])); + enquecommand(cmd1); + + lcd_setstatuspgm(MSG_RESUMING_PRINT); + lcd_commands_step = 3; + } + } + +#ifdef SNMM + if (lcd_commands_type == LCD_COMMAND_V2_CAL) + { + char cmd1[30]; + float width = 0.4; + float length = 20 - width; + float extr = count_e(0.2, width, length); + float extr_short_segment = count_e(0.2, width, width); + + if (lcd_commands_step>1) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen + if (lcd_commands_step == 0) + { + lcd_commands_step = 10; + } + if (lcd_commands_step == 10 && !blocks_queued() && cmd_buffer_empty()) + { + enquecommand_P(PSTR("M107")); + enquecommand_P(PSTR("M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); + enquecommand_P(PSTR("M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); + enquecommand_P(PSTR("M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); + enquecommand_P(PSTR("M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); + enquecommand_P(PSTR("T0")); + enquecommand_P(MSG_M117_V2_CALIBRATION); + enquecommand_P(PSTR("G87")); //sets calibration status + enquecommand_P(PSTR("G28")); + enquecommand_P(PSTR("G21")); //set units to millimeters + enquecommand_P(PSTR("G90")); //use absolute coordinates + enquecommand_P(PSTR("M83")); //use relative distances for extrusion + enquecommand_P(PSTR("G92 E0")); + enquecommand_P(PSTR("M203 E100")); + enquecommand_P(PSTR("M92 E140")); + lcd_commands_step = 9; + } + if (lcd_commands_step == 9 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + enquecommand_P(PSTR("G1 Z0.250 F7200.000")); + enquecommand_P(PSTR("G1 X50.0 E80.0 F1000.0")); + enquecommand_P(PSTR("G1 X160.0 E20.0 F1000.0")); + enquecommand_P(PSTR("G1 Z0.200 F7200.000")); + enquecommand_P(PSTR("G1 X220.0 E13 F1000.0")); + enquecommand_P(PSTR("G1 X240.0 E0 F1000.0")); + enquecommand_P(PSTR("G92 E0.0")); + enquecommand_P(PSTR("G21")); + enquecommand_P(PSTR("G90")); + enquecommand_P(PSTR("M83")); + enquecommand_P(PSTR("G1 E-4 F2100.00000")); + enquecommand_P(PSTR("G1 Z0.150 F7200.000")); + enquecommand_P(PSTR("M204 S1000")); + enquecommand_P(PSTR("G1 F4000")); + + lcd_implementation_clear(); + lcd_goto_menu(lcd_babystep_z, 0, false); + + + lcd_commands_step = 8; + } + if (lcd_commands_step == 8 && !blocks_queued() && cmd_buffer_empty()) //draw meander + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + + + enquecommand_P(PSTR("G1 X50 Y155")); + enquecommand_P(PSTR("G1 X60 Y155 E4")); + enquecommand_P(PSTR("G1 F1080")); + enquecommand_P(PSTR("G1 X75 Y155 E2.5")); + enquecommand_P(PSTR("G1 X100 Y155 E2")); + enquecommand_P(PSTR("G1 X200 Y155 E2.62773")); + enquecommand_P(PSTR("G1 X200 Y135 E0.66174")); + enquecommand_P(PSTR("G1 X50 Y135 E3.62773")); + enquecommand_P(PSTR("G1 X50 Y115 E0.49386")); + enquecommand_P(PSTR("G1 X200 Y115 E3.62773")); + enquecommand_P(PSTR("G1 X200 Y95 E0.49386")); + enquecommand_P(PSTR("G1 X50 Y95 E3.62773")); + enquecommand_P(PSTR("G1 X50 Y75 E0.49386")); + enquecommand_P(PSTR("G1 X200 Y75 E3.62773")); + enquecommand_P(PSTR("G1 X200 Y55 E0.49386")); + enquecommand_P(PSTR("G1 X50 Y55 E3.62773")); + + lcd_commands_step = 7; + } + + if (lcd_commands_step == 7 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + strcpy(cmd1, "G1 X50 Y35 E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + + for (int i = 0; i < 4; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 6; + } + + if (lcd_commands_step == 6 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + for (int i = 4; i < 8; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 5; + } + + if (lcd_commands_step == 5 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + for (int i = 8; i < 12; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 4; + } + + if (lcd_commands_step == 4 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + for (int i = 12; i < 16; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 3; + } + + if (lcd_commands_step == 3 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + enquecommand_P(PSTR("G1 E-0.07500 F2100.00000")); + enquecommand_P(PSTR("G4 S0")); + enquecommand_P(PSTR("G1 E-4 F2100.00000")); + enquecommand_P(PSTR("G1 Z0.5 F7200.000")); + enquecommand_P(PSTR("G1 X245 Y1")); + enquecommand_P(PSTR("G1 X240 E4")); + enquecommand_P(PSTR("G1 F4000")); + enquecommand_P(PSTR("G1 X190 E2.7")); + enquecommand_P(PSTR("G1 F4600")); + enquecommand_P(PSTR("G1 X110 E2.8")); + enquecommand_P(PSTR("G1 F5200")); + enquecommand_P(PSTR("G1 X40 E3")); + enquecommand_P(PSTR("G1 E-15.0000 F5000")); + enquecommand_P(PSTR("G1 E-50.0000 F5400")); + enquecommand_P(PSTR("G1 E-15.0000 F3000")); + enquecommand_P(PSTR("G1 E-12.0000 F2000")); + enquecommand_P(PSTR("G1 F1600")); + + lcd_commands_step = 2; + } + if (lcd_commands_step == 2 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + + enquecommand_P(PSTR("G1 X0 Y1 E3.0000")); + enquecommand_P(PSTR("G1 X50 Y1 E-5.0000")); + enquecommand_P(PSTR("G1 F2000")); + enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); + enquecommand_P(PSTR("G1 X50 Y1 E-5.0000")); + enquecommand_P(PSTR("G1 F2400")); + enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); + enquecommand_P(PSTR("G1 X50 Y1 E-5.0000")); + enquecommand_P(PSTR("G1 F2400")); + enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); + enquecommand_P(PSTR("G1 X50 Y1 E-3.0000")); + enquecommand_P(PSTR("G4 S0")); + enquecommand_P(PSTR("M107")); + enquecommand_P(PSTR("M104 S0")); + enquecommand_P(PSTR("M140 S0")); + enquecommand_P(PSTR("G1 X10 Y180 F4000")); + enquecommand_P(PSTR("G1 Z10 F1300.000")); + enquecommand_P(PSTR("M84")); + + lcd_commands_step = 1; + + } + + if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_setstatuspgm(WELCOME_MSG); + lcd_commands_step = 0; + lcd_commands_type = 0; + if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { + lcd_wizard(10); + } + } + + } + +#else //if not SNMM + + if (lcd_commands_type == LCD_COMMAND_V2_CAL) + { + char cmd1[30]; + float width = 0.4; + float length = 20 - width; + float extr = count_e(0.2, width, length); + float extr_short_segment = count_e(0.2, width, width); + if(lcd_commands_step>1) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen + if (lcd_commands_step == 0) + { + lcd_commands_step = 9; + } + if (lcd_commands_step == 9 && !blocks_queued() && cmd_buffer_empty()) + { + enquecommand_P(PSTR("M107")); + enquecommand_P(PSTR("M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); + enquecommand_P(PSTR("M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); + enquecommand_P(PSTR("M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP))); + enquecommand_P(PSTR("M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP))); + enquecommand_P(MSG_M117_V2_CALIBRATION); + enquecommand_P(PSTR("G87")); //sets calibration status + enquecommand_P(PSTR("G28")); + enquecommand_P(PSTR("G92 E0.0")); + lcd_commands_step = 8; + } + if (lcd_commands_step == 8 && !blocks_queued() && cmd_buffer_empty()) + { + + lcd_implementation_clear(); + lcd_goto_menu(lcd_babystep_z, 0, false); + enquecommand_P(PSTR("G1 X60.0 E9.0 F1000.0")); //intro line + enquecommand_P(PSTR("G1 X100.0 E12.5 F1000.0")); //intro line + enquecommand_P(PSTR("G92 E0.0")); + enquecommand_P(PSTR("G21")); //set units to millimeters + enquecommand_P(PSTR("G90")); //use absolute coordinates + enquecommand_P(PSTR("M83")); //use relative distances for extrusion + enquecommand_P(PSTR("G1 E-1.50000 F2100.00000")); + enquecommand_P(PSTR("G1 Z0.150 F7200.000")); + enquecommand_P(PSTR("M204 S1000")); //set acceleration + enquecommand_P(PSTR("G1 F4000")); + lcd_commands_step = 7; + } + if (lcd_commands_step == 7 && !blocks_queued() && cmd_buffer_empty()) //draw meander + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + + + //just opposite direction + /*enquecommand_P(PSTR("G1 X50 Y55")); + enquecommand_P(PSTR("G1 F1080")); + enquecommand_P(PSTR("G1 X200 Y55 E3.62773")); + enquecommand_P(PSTR("G1 X200 Y75 E0.49386")); + enquecommand_P(PSTR("G1 X50 Y75 E3.62773")); + enquecommand_P(PSTR("G1 X50 Y95 E0.49386")); + enquecommand_P(PSTR("G1 X200 Y95 E3.62773")); + enquecommand_P(PSTR("G1 X200 Y115 E0.49386")); + enquecommand_P(PSTR("G1 X50 Y115 E3.62773")); + enquecommand_P(PSTR("G1 X50 Y135 E0.49386")); + enquecommand_P(PSTR("G1 X200 Y135 E3.62773")); + enquecommand_P(PSTR("G1 X200 Y155 E0.66174")); + enquecommand_P(PSTR("G1 X100 Y155 E2.62773")); + enquecommand_P(PSTR("G1 X75 Y155 E2")); + enquecommand_P(PSTR("G1 X50 Y155 E2.5")); + enquecommand_P(PSTR("G1 E - 0.07500 F2100.00000"));*/ + + + enquecommand_P(PSTR("G1 X50 Y155")); + enquecommand_P(PSTR("G1 F1080")); + enquecommand_P(PSTR("G1 X75 Y155 E2.5")); + enquecommand_P(PSTR("G1 X100 Y155 E2")); + enquecommand_P(PSTR("G1 X200 Y155 E2.62773")); + enquecommand_P(PSTR("G1 X200 Y135 E0.66174")); + enquecommand_P(PSTR("G1 X50 Y135 E3.62773")); + enquecommand_P(PSTR("G1 X50 Y115 E0.49386")); + enquecommand_P(PSTR("G1 X200 Y115 E3.62773")); + enquecommand_P(PSTR("G1 X200 Y95 E0.49386")); + enquecommand_P(PSTR("G1 X50 Y95 E3.62773")); + enquecommand_P(PSTR("G1 X50 Y75 E0.49386")); + enquecommand_P(PSTR("G1 X200 Y75 E3.62773")); + enquecommand_P(PSTR("G1 X200 Y55 E0.49386")); + enquecommand_P(PSTR("G1 X50 Y55 E3.62773")); + + strcpy(cmd1, "G1 X50 Y35 E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + + lcd_commands_step = 6; + } + + if (lcd_commands_step == 6 && !blocks_queued() && cmd_buffer_empty()) + { + + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + + for (int i = 0; i < 4; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 5; + } + + if (lcd_commands_step == 5 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + for (int i = 4; i < 8; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 4; + } + + if (lcd_commands_step == 4 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + for (int i = 8; i < 12; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 3; + } + + if (lcd_commands_step == 3 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + for (int i = 12; i < 16; i++) { + strcpy(cmd1, "G1 X70 Y"); + strcat(cmd1, ftostr32(35 - i*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + strcpy(cmd1, "G1 X50 Y"); + strcat(cmd1, ftostr32(35 - (2 * i + 1)*width)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr)); + enquecommand(cmd1); + strcpy(cmd1, "G1 Y"); + strcat(cmd1, ftostr32(35 - (i + 1)*width * 2)); + strcat(cmd1, " E"); + strcat(cmd1, ftostr43(extr_short_segment)); + enquecommand(cmd1); + } + + lcd_commands_step = 2; + } + + if (lcd_commands_step == 2 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + enquecommand_P(PSTR("G1 E-0.07500 F2100.00000")); + enquecommand_P(PSTR("M107")); //turn off printer fan + enquecommand_P(PSTR("M104 S0")); // turn off temperature + enquecommand_P(PSTR("M140 S0")); // turn off heatbed + enquecommand_P(PSTR("G1 Z10 F1300.000")); + enquecommand_P(PSTR("G1 X10 Y180 F4000")); //home X axis + enquecommand_P(PSTR("M84"));// disable motors + lcd_timeoutToStatus = millis() - 1; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen + lcd_commands_step = 1; + } + if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) + { + lcd_setstatuspgm(WELCOME_MSG); + lcd_commands_step = 0; + lcd_commands_type = 0; + if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { + lcd_wizard(10); + } + } + + } + +#endif // not SNMM + + if (lcd_commands_type == LCD_COMMAND_STOP_PRINT) /// stop print + { + + + if (lcd_commands_step == 0) + { + lcd_commands_step = 6; + custom_message = true; + } + + if (lcd_commands_step == 1 && !blocks_queued()) + { + lcd_commands_step = 0; + lcd_commands_type = 0; + lcd_setstatuspgm(WELCOME_MSG); + custom_message_type = 0; + custom_message = false; + isPrintPaused = false; + } + if (lcd_commands_step == 2 && !blocks_queued()) + { + setTargetBed(0); + enquecommand_P(PSTR("M104 S0")); //set hotend temp to 0 + + manage_heater(); + lcd_setstatuspgm(WELCOME_MSG); + cancel_heatup = false; + lcd_commands_step = 1; + } + if (lcd_commands_step == 3 && !blocks_queued()) + { + // M84: Disable steppers. + enquecommand_P(PSTR("M84")); + autotempShutdown(); + lcd_commands_step = 2; + } + if (lcd_commands_step == 4 && !blocks_queued()) + { + lcd_setstatuspgm(MSG_PLEASE_WAIT); + // G90: Absolute positioning. + enquecommand_P(PSTR("G90")); + // M83: Set extruder to relative mode. + enquecommand_P(PSTR("M83")); + #ifdef X_CANCEL_POS + enquecommand_P(PSTR("G1 X" STRINGIFY(X_CANCEL_POS) " Y" STRINGIFY(Y_CANCEL_POS) " E0 F7000")); + #else + enquecommand_P(PSTR("G1 X50 Y" STRINGIFY(Y_MAX_POS) " E0 F7000")); + #endif + lcd_ignore_click(false); + #ifdef SNMM + lcd_commands_step = 8; + #else + lcd_commands_step = 3; + #endif + } + if (lcd_commands_step == 5 && !blocks_queued()) + { + lcd_setstatuspgm(MSG_PRINT_ABORTED); + // G91: Set to relative positioning. + enquecommand_P(PSTR("G91")); + // Lift up. + enquecommand_P(PSTR("G1 Z15 F1500")); + if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) lcd_commands_step = 4; + else lcd_commands_step = 3; + } + if (lcd_commands_step == 6 && !blocks_queued()) + { + lcd_setstatuspgm(MSG_PRINT_ABORTED); + cancel_heatup = true; + setTargetBed(0); + #ifndef SNMM + setTargetHotend(0, 0); //heating when changing filament for multicolor + setTargetHotend(0, 1); + setTargetHotend(0, 2); + #endif + manage_heater(); + custom_message = true; + custom_message_type = 2; + lcd_commands_step = 5; + } + if (lcd_commands_step == 7 && !blocks_queued()) { + switch(snmm_stop_print_menu()) { + case 0: enquecommand_P(PSTR("M702")); break;//all + case 1: enquecommand_P(PSTR("M702 U")); break; //used + case 2: enquecommand_P(PSTR("M702 C")); break; //current + default: enquecommand_P(PSTR("M702")); break; + } + lcd_commands_step = 3; + } + if (lcd_commands_step == 8 && !blocks_queued()) { //step 8 is here for delay (going to next step after execution of all gcodes from step 4) + lcd_commands_step = 7; + } + } + + if (lcd_commands_type == 3) + { + lcd_commands_type = 0; + } + + if (lcd_commands_type == LCD_COMMAND_FARM_MODE_CONFIRM) /// farm mode confirm + { + + if (lcd_commands_step == 0) { lcd_commands_step = 6; custom_message = true; } + + if (lcd_commands_step == 1 && !blocks_queued()) + { + lcd_confirm_print(); + lcd_commands_step = 0; + lcd_commands_type = 0; + } + if (lcd_commands_step == 2 && !blocks_queued()) + { + lcd_commands_step = 1; + } + if (lcd_commands_step == 3 && !blocks_queued()) + { + lcd_commands_step = 2; + } + if (lcd_commands_step == 4 && !blocks_queued()) + { + enquecommand_P(PSTR("G90")); + enquecommand_P(PSTR("G1 X" STRINGIFY(X_CANCEL_POS) " Y" STRINGIFY(Y_CANCEL_POS) " E0 F7000")); + lcd_commands_step = 3; + } + if (lcd_commands_step == 5 && !blocks_queued()) + { + lcd_commands_step = 4; + } + if (lcd_commands_step == 6 && !blocks_queued()) + { + enquecommand_P(PSTR("G91")); + enquecommand_P(PSTR("G1 Z15 F1500")); + st_synchronize(); + #ifdef SNMM + lcd_commands_step = 7; + #else + lcd_commands_step = 5; + #endif + } + + } + if (lcd_commands_type == LCD_COMMAND_PID_EXTRUDER) { + char cmd1[30]; + + if (lcd_commands_step == 0) { + custom_message_type = 3; + custom_message_state = 1; + custom_message = true; + lcdDrawUpdate = 3; + lcd_commands_step = 3; + } + if (lcd_commands_step == 3 && !blocks_queued()) { //PID calibration + strcpy(cmd1, "M303 E0 S"); + strcat(cmd1, ftostr3(pid_temp)); + enquecommand(cmd1); + lcd_setstatuspgm(MSG_PID_RUNNING); + lcd_commands_step = 2; + } + if (lcd_commands_step == 2 && pid_tuning_finished) { //saving to eeprom + pid_tuning_finished = false; + custom_message_state = 0; + lcd_setstatuspgm(MSG_PID_FINISHED); + if (_Kp != 0 || _Ki != 0 || _Kd != 0) { + strcpy(cmd1, "M301 P"); + strcat(cmd1, ftostr32(_Kp)); + strcat(cmd1, " I"); + strcat(cmd1, ftostr32(_Ki)); + strcat(cmd1, " D"); + strcat(cmd1, ftostr32(_Kd)); + enquecommand(cmd1); + enquecommand_P(PSTR("M500")); + } + else { + SERIAL_ECHOPGM("Invalid PID cal. results. Not stored to EEPROM."); + } + display_time = millis(); + lcd_commands_step = 1; + } + if ((lcd_commands_step == 1) && ((millis()- display_time)>2000)) { //calibration finished message + lcd_setstatuspgm(WELCOME_MSG); + custom_message_type = 0; + custom_message = false; + pid_temp = DEFAULT_PID_TEMP; + lcd_commands_step = 0; + lcd_commands_type = 0; + } + } + + +} + +static float count_e(float layer_heigth, float extrusion_width, float extrusion_length) { + //returns filament length in mm which needs to be extrude to form line with extrusion_length * extrusion_width * layer heigth dimensions + float extr = extrusion_length * layer_heigth * extrusion_width / (M_PI * pow(1.75, 2) / 4); + return extr; +} + +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); +} + + +void lcd_sdcard_pause() { + lcd_return_to_status(); + lcd_commands_type = LCD_COMMAND_LONG_PAUSE; + +} + +static void lcd_sdcard_resume() { + lcd_return_to_status(); + lcd_reset_alert_level(); //for fan speed error + lcd_commands_type = LCD_COMMAND_LONG_PAUSE_RESUME; +} + +float move_menu_scale; +static void lcd_move_menu_axis(); + + + +/* Menu implementation */ + +void lcd_preheat_farm() +{ + setTargetHotend0(FARM_PREHEAT_HOTEND_TEMP); + setTargetBed(FARM_PREHEAT_HPB_TEMP); + fanSpeed = 0; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_pla() +{ + setTargetHotend0(PLA_PREHEAT_HOTEND_TEMP); + setTargetBed(PLA_PREHEAT_HPB_TEMP); + fanSpeed = 0; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_abs() +{ + setTargetHotend0(ABS_PREHEAT_HOTEND_TEMP); + setTargetBed(ABS_PREHEAT_HPB_TEMP); + fanSpeed = 0; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_pp() +{ + setTargetHotend0(PP_PREHEAT_HOTEND_TEMP); + setTargetBed(PP_PREHEAT_HPB_TEMP); + fanSpeed = 0; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_pet() +{ + setTargetHotend0(PET_PREHEAT_HOTEND_TEMP); + setTargetBed(PET_PREHEAT_HPB_TEMP); + fanSpeed = 0; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_hips() +{ + setTargetHotend0(HIPS_PREHEAT_HOTEND_TEMP); + setTargetBed(HIPS_PREHEAT_HPB_TEMP); + fanSpeed = 0; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_flex() +{ + setTargetHotend0(FLEX_PREHEAT_HOTEND_TEMP); + setTargetBed(FLEX_PREHEAT_HPB_TEMP); + 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_menu_extruder_info() +{ + int fan_speed_RPM[2]; + + pat9125_update(); + + fan_speed_RPM[0] = 60*fan_speed[0]; + fan_speed_RPM[1] = 60*fan_speed[1]; + + // Display Nozzle fan RPM + + lcd.setCursor(0, 0); + lcd_printPGM(MSG_INFO_NOZZLE_FAN); + + lcd.setCursor(11, 0); + lcd.print(" "); + lcd.setCursor(12, 0); + lcd.print(itostr4(fan_speed_RPM[0])); + lcd.print(" RPM"); + + // Display Nozzle fan RPM + + lcd.setCursor(0, 1); + lcd_printPGM(MSG_INFO_PRINT_FAN); + + lcd.setCursor(11, 1); + lcd.print(" "); + lcd.setCursor(12, 1); + lcd.print(itostr4(fan_speed_RPM[1])); + lcd.print(" RPM"); + + + // Display X and Y difference from Filament sensor + + lcd.setCursor(0, 2); + lcd.print("Fil. Xd:"); + lcd.print(itostr3(pat9125_x)); + lcd.print(" "); + lcd.setCursor(12, 2); + lcd.print("Yd:"); + lcd.print(itostr3(pat9125_y)); + + // Display Light intensity from Filament sensor + /* Frame_Avg register represents the average brightness of all pixels within a frame (324 pixels). This + value ranges from 0(darkest) to 255(brightest). */ + lcd.setCursor(0, 3); + + lcd.print("Int: "); + lcd.setCursor(5, 3); + lcd.print(itostr3(pat9125_b)); + + // Display LASER shutter time from Filament sensor + /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chips internal + auto-exposure algorithm. When the chip is tracking on a good reflection surface, the Shutter is small. + When the chip is tracking on a poor reflection surface, the Shutter is large. Value ranges from 0 to + 46. */ + + lcd.setCursor(10, 3); + + lcd.print("Shut: "); + lcd.setCursor(15, 3); + lcd.print(itostr3(pat9125_s)); + + + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_return_to_status(); + } +} + +static void lcd_menu_fails_stats_total() +{ +//01234567890123456789 +//Total failures +// Power failures 000 +// Filam. runouts 000 +// Crash X 000 Y 000 +////////////////////// + uint16_t power = eeprom_read_word((uint16_t*)EEPROM_POWER_COUNT_TOT); + uint16_t filam = eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT); + uint16_t crashX = eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_X_TOT); + uint16_t crashY = eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_Y_TOT); + fprintf_P(lcdout, PSTR(ESC_H(0,0)"Total failures"ESC_H(1,1)"Power failures %-3d"ESC_H(1,2)"Filam. runouts %-3d"ESC_H(1,3)"Crash X %-3d Y %-3d"), power, filam, crashX, crashY); + if (lcd_clicked()) + { + lcd_quick_feedback(); + //lcd_return_to_status(); + lcd_goto_menu(lcd_menu_fails_stats, 4); + } +} + +static void lcd_menu_fails_stats_print() +{ +//01234567890123456789 +//Last print failures +// Power failures 000 +// Filam. runouts 000 +// Crash X 000 Y 000 +////////////////////// + uint8_t power = eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT); + uint8_t filam = eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT); + uint8_t crashX = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X); + uint8_t crashY = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_Y); + fprintf_P(lcdout, PSTR(ESC_H(0,0)"Last print failures"ESC_H(1,1)"Power failures %-3d"ESC_H(1,2)"Filam. runouts %-3d"ESC_H(1,3)"Crash X %-3d Y %-3d"), power, filam, crashX, crashY); + if (lcd_clicked()) + { + lcd_quick_feedback(); + //lcd_return_to_status(); + lcd_goto_menu(lcd_menu_fails_stats, 2); + } +} + +static void lcd_menu_fails_stats() +{ + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(submenu, PSTR("Last print"), lcd_menu_fails_stats_print); + MENU_ITEM(submenu, PSTR("Total"), lcd_menu_fails_stats_total); + END_MENU(); +} + + +#ifdef DEBUG_BUILD +#ifdef DEBUG_STACK_MONITOR +extern uint16_t SP_min; +extern char* __malloc_heap_start; +extern char* __malloc_heap_end; +#endif //DEBUG_STACK_MONITOR + +static void lcd_menu_debug() +{ +#ifdef DEBUG_STACK_MONITOR + fprintf_P(lcdout, PSTR(ESC_H(1,1)"RAM statistics"ESC_H(5,1)"SP_min: 0x%04x"ESC_H(1,2)"heap_start: 0x%04x"ESC_H(3,3)"heap_end: 0x%04x"), SP_min, __malloc_heap_start, __malloc_heap_end); +#endif //DEBUG_STACK_MONITOR + + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_return_to_status(); + } +} +#endif /* DEBUG_BUILD */ + +static void lcd_menu_temperatures() +{ + fprintf_P(lcdout, PSTR(ESC_H(1,0)"Nozzle: %d%c" ESC_H(1,1)"Bed: %d%c"), (int)current_temperature[0], '\x01', (int)current_temperature_bed, '\x01'); + fprintf_P(lcdout, PSTR(ESC_H(1,2)"Ambient: %d%c" ESC_H(1,3)"PINDA: %d%c"), (int)current_temperature_ambient, '\x01', (int)current_temperature_pinda, '\x01'); + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_return_to_status(); + } +} + +#define VOLT_DIV_R1 10000 +#define VOLT_DIV_R2 2370 +#define VOLT_DIV_FAC ((float)VOLT_DIV_R2 / (VOLT_DIV_R2 + VOLT_DIV_R1)) +#define VOLT_DIV_REF 5 +static void lcd_menu_voltages() +{ + float volt_pwr = VOLT_DIV_REF * ((float)current_voltage_raw_pwr / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; + //float volt_bed = VOLT_DIV_REF * ((float)current_voltage_raw_bed / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; + //fprintf_P(lcdout, PSTR(ESC_H(1,1)"PWR: %d.%01dV" ESC_H(1,2)"BED: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed))); + fprintf_P(lcdout, PSTR( ESC_H(1,1)"PWR: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr))) ; + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_return_to_status(); + } +} + +static void lcd_menu_belt_status() +{ + fprintf_P(lcdout, PSTR(ESC_H(1,0) "Belt status" ESC_H(2,1) "X %d" ESC_H(2,2) "Y %d" ), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_X)), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y))); + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_return_to_status(); + } +} + +extern void stop_and_save_print_to_ram(float z_move, float e_move); +extern void restore_print_from_ram_and_continue(float e_move); + +static void lcd_menu_test_save() +{ + stop_and_save_print_to_ram(10, -0.8); +} + +static void lcd_menu_test_restore() +{ + restore_print_from_ram_and_continue(0.8); +} + +static void lcd_preheat_menu() +{ + START_MENU(); + + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + + if (farm_mode) + MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); + + MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla); + MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet); + MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); + MENU_ITEM(function, PSTR("HIPS - " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP)), lcd_preheat_hips); + MENU_ITEM(function, PSTR("PP - " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP)), lcd_preheat_pp); + MENU_ITEM(function, PSTR("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() +{ + if (menuData.supportMenu.status == 0 || lcdDrawUpdate == 2) { + // Menu was entered or SD card status has changed (plugged in or removed). + // Initialize its status. + menuData.supportMenu.status = 1; + menuData.supportMenu.is_flash_air = card.ToshibaFlashAir_isEnabled() && card.ToshibaFlashAir_GetIP(menuData.supportMenu.ip); + if (menuData.supportMenu.is_flash_air) + sprintf_P(menuData.supportMenu.ip_str, PSTR("%d.%d.%d.%d"), + menuData.supportMenu.ip[0], menuData.supportMenu.ip[1], + menuData.supportMenu.ip[2], menuData.supportMenu.ip[3]); + } else if (menuData.supportMenu.is_flash_air && + menuData.supportMenu.ip[0] == 0 && menuData.supportMenu.ip[1] == 0 && + menuData.supportMenu.ip[2] == 0 && menuData.supportMenu.ip[3] == 0 && + ++ menuData.supportMenu.status == 16) { + // Waiting for the FlashAir card to get an IP address from a router. Force an update. + menuData.supportMenu.status = 0; + } + + START_MENU(); + + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + + MENU_ITEM(back, PSTR("Firmware:"), lcd_main_menu); + MENU_ITEM(back, PSTR(" " FW_VERSION_FULL), lcd_main_menu); +#if (FW_DEV_VERSION != FW_VERSION_GOLD) && (FW_DEV_VERSION != FW_VERSION_RC) + MENU_ITEM(back, PSTR(" repo " FW_REPOSITORY), lcd_main_menu); +#endif + // Ideally this block would be optimized out by the compiler. +/* const uint8_t fw_string_len = strlen_P(FW_VERSION_STR_P()); + if (fw_string_len < 6) { + MENU_ITEM(back, PSTR(MSG_FW_VERSION " - " FW_version), lcd_main_menu); + } else { + MENU_ITEM(back, PSTR("FW - " FW_version), lcd_main_menu); + }*/ + + MENU_ITEM(back, MSG_PRUSA3D, lcd_main_menu); + MENU_ITEM(back, MSG_PRUSA3D_FORUM, lcd_main_menu); + MENU_ITEM(back, MSG_PRUSA3D_HOWTO, lcd_main_menu); + MENU_ITEM(back, PSTR("------------"), lcd_main_menu); + MENU_ITEM(back, PSTR(FILAMENT_SIZE), lcd_main_menu); + MENU_ITEM(back, PSTR(ELECTRONICS),lcd_main_menu); + MENU_ITEM(back, PSTR(NOZZLE_TYPE),lcd_main_menu); + MENU_ITEM(back, PSTR("------------"), lcd_main_menu); + MENU_ITEM(back, MSG_DATE, lcd_main_menu); + MENU_ITEM(back, PSTR(__DATE__), lcd_main_menu); + + // Show the FlashAir IP address, if the card is available. + if (menuData.supportMenu.is_flash_air) { + MENU_ITEM(back, PSTR("------------"), lcd_main_menu); + MENU_ITEM(back, PSTR("FlashAir IP Addr:"), lcd_main_menu); + MENU_ITEM(back_RAM, menuData.supportMenu.ip_str, lcd_main_menu); + } + #ifndef MK1BP + MENU_ITEM(back, PSTR("------------"), lcd_main_menu); + if (!IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) MENU_ITEM(function, MSG_XYZ_DETAILS, lcd_service_mode_show_result); + MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info); + + MENU_ITEM(submenu, MSG_MENU_BELT_STATUS, lcd_menu_belt_status); + + MENU_ITEM(submenu, MSG_MENU_TEMPERATURES, lcd_menu_temperatures); + + MENU_ITEM(submenu, MSG_MENU_VOLTAGES, lcd_menu_voltages); + +#ifdef DEBUG_BUILD + MENU_ITEM(submenu, PSTR("Debug"), lcd_menu_debug); +#endif /* DEBUG_BUILD */ + + #endif //MK1BP + END_MENU(); +} + +void lcd_set_fan_check() { + fans_check_enabled = !fans_check_enabled; + eeprom_update_byte((unsigned char *)EEPROM_FAN_CHECK_ENABLED, fans_check_enabled); + lcd_goto_menu(lcd_settings_menu, 8); +} + +void lcd_set_filament_autoload() { + filament_autoload_enabled = !filament_autoload_enabled; + eeprom_update_byte((unsigned char *)EEPROM_FSENS_AUTOLOAD_ENABLED, filament_autoload_enabled); + lcd_goto_menu(lcd_settings_menu, 8); +} + +void lcd_unLoadFilament() +{ + + if (degHotend0() > EXTRUDE_MINTEMP) { + + enquecommand_P(PSTR("M702")); //unload filament + + } else { + + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + + delay(2000); + lcd_implementation_clear(); + } + + lcd_return_to_status(); +} + +void lcd_change_filament() { + + lcd_implementation_clear(); + + lcd.setCursor(0, 1); + + lcd_printPGM(MSG_CHANGING_FILAMENT); + + +} + + +void lcd_wait_interact() { + + lcd_implementation_clear(); + + lcd.setCursor(0, 1); +#ifdef SNMM + lcd_printPGM(MSG_PREPARE_FILAMENT); +#else + lcd_printPGM(MSG_INSERT_FILAMENT); +#endif + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PRESS); + +} + + +void lcd_change_success() { + + lcd_implementation_clear(); + + lcd.setCursor(0, 2); + + lcd_printPGM(MSG_CHANGE_SUCCESS); + + +} + + +void lcd_loading_color() { + + lcd_implementation_clear(); + + lcd.setCursor(0, 0); + + lcd_printPGM(MSG_LOADING_COLOR); + lcd.setCursor(0, 2); + lcd_printPGM(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_printPGM(MSG_LOADING_FILAMENT); + lcd.setCursor(0, 2); + lcd_printPGM(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); +#ifdef SNMM + delay(153); +#else + delay(137); +#endif + + } + + + } + +} + + + + +void lcd_alright() { + int enc_dif = 0; + int cursor_pos = 1; + + + + + lcd_implementation_clear(); + + lcd.setCursor(0, 0); + + lcd_printPGM(MSG_CORRECTLY); + + lcd.setCursor(1, 1); + + lcd_printPGM(MSG_YES); + + lcd.setCursor(1, 2); + + lcd_printPGM(MSG_NOT_LOADED); + + + lcd.setCursor(1, 3); + lcd_printPGM(MSG_NOT_COLOR); + + + lcd.setCursor(0, 1); + + lcd.print(">"); + + + enc_dif = encoderDiff; + + while (lcd_change_fil_state == 0) { + + manage_heater(); + manage_inactivity(true); + + if ( abs((enc_dif - encoderDiff)) > 4 ) { + + 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) + { + if (filament_autoload_enabled && fsensor_enabled) + { + lcd_show_fullscreen_message_and_wait_P(MSG_AUTOLOADING_ENABLED); + return; + } + custom_message = true; + loading_flag = true; + enquecommand_P(PSTR("M701")); //load filament + SERIAL_ECHOLN("Loading filament"); + } + else + { + + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + delay(2000); + lcd_implementation_clear(); + } + lcd_return_to_status(); +} + + +void lcd_menu_statistics() +{ + + if (IS_SD_PRINTING) + { + int _met = total_filament_used / 100000; + int _cm = (total_filament_used - (_met * 100000))/10; + + int _t = (millis() - starttime) / 1000; + int _h = _t / 3600; + int _m = (_t - (_h * 3600)) / 60; + int _s = _t - ((_h * 3600) + (_m * 60)); + + lcd.setCursor(0, 0); + lcd_printPGM(MSG_STATS_FILAMENTUSED); + + lcd.setCursor(6, 1); + lcd.print(itostr3(_met)); + lcd.print("m "); + lcd.print(ftostr32ns(_cm)); + lcd.print("cm"); + + lcd.setCursor(0, 2); + lcd_printPGM(MSG_STATS_PRINTTIME); + + lcd.setCursor(8, 3); + lcd.print(itostr2(_h)); + lcd.print("h "); + lcd.print(itostr2(_m)); + lcd.print("m "); + lcd.print(itostr2(_s)); + lcd.print("s"); + + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_return_to_status(); + } + } + else + { + unsigned long _filament = eeprom_read_dword((uint32_t *)EEPROM_FILAMENTUSED); + unsigned long _time = eeprom_read_dword((uint32_t *)EEPROM_TOTALTIME); //in minutes + + uint8_t _hours, _minutes; + uint32_t _days; + + float _filament_m = (float)_filament; + int _filament_km = (_filament >= 100000) ? _filament / 100000 : 0; + if (_filament_km > 0) _filament_m = _filament - (_filament_km * 100000); + + _days = _time / 1440; + _hours = (_time - (_days * 1440)) / 60; + _minutes = _time - ((_days * 1440) + (_hours * 60)); + + lcd_implementation_clear(); + + lcd.setCursor(0, 0); + lcd_printPGM(MSG_STATS_TOTALFILAMENT); + lcd.setCursor(17 - strlen(ftostr32ns(_filament_m)), 1); + lcd.print(ftostr32ns(_filament_m)); + + if (_filament_km > 0) + { + lcd.setCursor(17 - strlen(ftostr32ns(_filament_m)) - 3, 1); + lcd.print("km"); + lcd.setCursor(17 - strlen(ftostr32ns(_filament_m)) - 8, 1); + lcd.print(itostr4(_filament_km)); + } + + + lcd.setCursor(18, 1); + lcd.print("m"); + + lcd.setCursor(0, 2); + lcd_printPGM(MSG_STATS_TOTALPRINTTIME);; + + lcd.setCursor(18, 3); + lcd.print("m"); + lcd.setCursor(14, 3); + lcd.print(itostr3(_minutes)); + + lcd.setCursor(14, 3); + lcd.print(":"); + + lcd.setCursor(12, 3); + lcd.print("h"); + lcd.setCursor(9, 3); + lcd.print(itostr3(_hours)); + + lcd.setCursor(9, 3); + lcd.print(":"); + + lcd.setCursor(7, 3); + lcd.print("d"); + lcd.setCursor(4, 3); + lcd.print(itostr3(_days)); + + + KEEPALIVE_STATE(PAUSED_FOR_USER); + while (!lcd_clicked()) + { + manage_heater(); + manage_inactivity(true); + delay(100); + } + KEEPALIVE_STATE(NOT_BUSY); + + lcd_quick_feedback(); + lcd_return_to_status(); + } +} + + +static void _lcd_move(const char *name, int axis, int min, int max) { + if (encoderPosition != 0) { + refresh_cmd_timeout(); + if (! planner_queue_full()) { + 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; + world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]); + 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); + 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 (degHotend0() > EXTRUDE_MINTEMP) { + if (encoderPosition != 0) + { + refresh_cmd_timeout(); + if (! planner_queue_full()) { + current_position[E_AXIS] += float((int)encoderPosition) * move_menu_scale; + encoderPosition = 0; + 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); + lcdDrawUpdate = 1; + } + } + if (lcdDrawUpdate) + { + lcd_implementation_drawedit(PSTR("Extruder"), ftostr31(current_position[E_AXIS])); + } + if (LCD_CLICKED) lcd_goto_menu(lcd_move_menu_axis); +} + else { + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + + delay(2000); + lcd_return_to_status(); + } +} + +void lcd_service_mode_show_result() { + float angleDiff; + lcd_set_custom_characters_degree(); + count_xyz_details(); + angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW)); + lcd_update_enable(false); + lcd_implementation_clear(); + lcd_printPGM(MSG_Y_DISTANCE_FROM_MIN); + lcd_print_at_PGM(0, 1, MSG_LEFT); + lcd_print_at_PGM(0, 2, MSG_RIGHT); + + for (int i = 0; i < 2; i++) { + if(distance_from_min[i] < 200) { + lcd_print_at_PGM(11, i + 1, PSTR("")); + lcd.print(distance_from_min[i]); + lcd_print_at_PGM((distance_from_min[i] < 0) ? 17 : 16, i + 1, PSTR("mm")); + } else lcd_print_at_PGM(11, i + 1, PSTR("N/A")); + } + delay_keep_alive(500); + KEEPALIVE_STATE(PAUSED_FOR_USER); + while (!lcd_clicked()) { + delay_keep_alive(100); + } + delay_keep_alive(500); + lcd_implementation_clear(); + + + lcd_printPGM(MSG_MEASURED_SKEW); + if (angleDiff < 100) { + lcd.setCursor(15, 0); + lcd.print(angleDiff * 180 / M_PI); + lcd.print(LCD_STR_DEGREE); + }else lcd_print_at_PGM(16, 0, PSTR("N/A")); + lcd_print_at_PGM(0, 1, PSTR("--------------------")); + lcd_print_at_PGM(0, 2, MSG_SLIGHT_SKEW); + lcd_print_at_PGM(15, 2, PSTR("")); + lcd.print(bed_skew_angle_mild * 180 / M_PI); + lcd.print(LCD_STR_DEGREE); + lcd_print_at_PGM(0, 3, MSG_SEVERE_SKEW); + lcd_print_at_PGM(15, 3, PSTR("")); + lcd.print(bed_skew_angle_extreme * 180 / M_PI); + lcd.print(LCD_STR_DEGREE); + delay_keep_alive(500); + while (!lcd_clicked()) { + delay_keep_alive(100); + } + KEEPALIVE_STATE(NOT_BUSY); + delay_keep_alive(500); + lcd_set_custom_characters_arrows(); + lcd_return_to_status(); + lcd_update_enable(true); + lcd_update(2); +} + + + + +// Save a single axis babystep value. +void EEPROM_save_B(int pos, int* value) +{ + union Data data; + data.value = *value; + + eeprom_update_byte((unsigned char*)pos, data.b[0]); + eeprom_update_byte((unsigned char*)pos + 1, data.b[1]); +} + +// Read a single axis babystep value. +void EEPROM_read_B(int pos, int* value) +{ + union Data data; + data.b[0] = eeprom_read_byte((unsigned char*)pos); + data.b[1] = eeprom_read_byte((unsigned char*)pos + 1); + *value = data.value; +} + + +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); +} + + + +static void _lcd_babystep(int axis, const char *msg) +{ + if (menuData.babyStep.status == 0) { + // Menu was entered. + // Initialize its status. + menuData.babyStep.status = 1; + check_babystep(); + + EEPROM_read_B(EEPROM_BABYSTEP_X, &menuData.babyStep.babystepMem[0]); + EEPROM_read_B(EEPROM_BABYSTEP_Y, &menuData.babyStep.babystepMem[1]); + EEPROM_read_B(EEPROM_BABYSTEP_Z, &menuData.babyStep.babystepMem[2]); + + menuData.babyStep.babystepMemMM[0] = menuData.babyStep.babystepMem[0]/axis_steps_per_unit[X_AXIS]; + menuData.babyStep.babystepMemMM[1] = menuData.babyStep.babystepMem[1]/axis_steps_per_unit[Y_AXIS]; + menuData.babyStep.babystepMemMM[2] = menuData.babyStep.babystepMem[2]/axis_steps_per_unit[Z_AXIS]; + lcdDrawUpdate = 1; + //SERIAL_ECHO("Z baby step: "); + //SERIAL_ECHO(menuData.babyStep.babystepMem[2]); + // Wait 90 seconds before closing the live adjust dialog. + lcd_timeoutToStatus = millis() + 90000; + } + + if (encoderPosition != 0) + { + if (homing_flag) encoderPosition = 0; + + menuData.babyStep.babystepMem[axis] += (int)encoderPosition; + if (axis == 2) { + if (menuData.babyStep.babystepMem[axis] < Z_BABYSTEP_MIN) menuData.babyStep.babystepMem[axis] = Z_BABYSTEP_MIN; //-3999 -> -9.99 mm + else if (menuData.babyStep.babystepMem[axis] > Z_BABYSTEP_MAX) menuData.babyStep.babystepMem[axis] = Z_BABYSTEP_MAX; //0 + else { + CRITICAL_SECTION_START + babystepsTodo[axis] += (int)encoderPosition; + CRITICAL_SECTION_END + } + } + menuData.babyStep.babystepMemMM[axis] = menuData.babyStep.babystepMem[axis]/axis_steps_per_unit[axis]; + delay(50); + encoderPosition = 0; + lcdDrawUpdate = 1; + } + if (lcdDrawUpdate) + lcd_implementation_drawedit_2(msg, ftostr13ns(menuData.babyStep.babystepMemMM[axis])); + if (LCD_CLICKED || menuExiting) { + // Only update the EEPROM when leaving the menu. + EEPROM_save_B( + (axis == 0) ? EEPROM_BABYSTEP_X : ((axis == 1) ? EEPROM_BABYSTEP_Y : EEPROM_BABYSTEP_Z), + &menuData.babyStep.babystepMem[axis]); + } + if (LCD_CLICKED) lcd_goto_menu(lcd_main_menu); +} + +static void lcd_babystep_x() { + _lcd_babystep(X_AXIS, (MSG_BABYSTEPPING_X)); +} +static void lcd_babystep_y() { + _lcd_babystep(Y_AXIS, (MSG_BABYSTEPPING_Y)); +} +static void lcd_babystep_z() { + _lcd_babystep(Z_AXIS, (MSG_BABYSTEPPING_Z)); +} + +static void lcd_adjust_bed(); + +static void lcd_adjust_bed_reset() +{ + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_LEFT , 0); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, 0); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_FRONT, 0); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_REAR , 0); + lcd_goto_menu(lcd_adjust_bed, 0, false); + // Because we did not leave the menu, the menuData did not reset. + // Force refresh of the bed leveling data. + menuData.adjustBed.status = 0; +} + +void adjust_bed_reset() { + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_LEFT, 0); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, 0); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_FRONT, 0); + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_REAR, 0); + menuData.adjustBed.left = menuData.adjustBed.left2 = 0; + menuData.adjustBed.right = menuData.adjustBed.right2 = 0; + menuData.adjustBed.front = menuData.adjustBed.front2 = 0; + menuData.adjustBed.rear = menuData.adjustBed.rear2 = 0; +} +#define BED_ADJUSTMENT_UM_MAX 50 + +static void lcd_adjust_bed() +{ + if (menuData.adjustBed.status == 0) { + // Menu was entered. + // Initialize its status. + menuData.adjustBed.status = 1; + bool valid = false; + menuData.adjustBed.left = menuData.adjustBed.left2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT); + menuData.adjustBed.right = menuData.adjustBed.right2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT); + menuData.adjustBed.front = menuData.adjustBed.front2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT); + menuData.adjustBed.rear = menuData.adjustBed.rear2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR); + if (eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1 && + menuData.adjustBed.left >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.left <= BED_ADJUSTMENT_UM_MAX && + menuData.adjustBed.right >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.right <= BED_ADJUSTMENT_UM_MAX && + menuData.adjustBed.front >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.front <= BED_ADJUSTMENT_UM_MAX && + menuData.adjustBed.rear >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.rear <= BED_ADJUSTMENT_UM_MAX) + valid = true; + if (! valid) { + // Reset the values: simulate an edit. + menuData.adjustBed.left2 = 0; + menuData.adjustBed.right2 = 0; + menuData.adjustBed.front2 = 0; + menuData.adjustBed.rear2 = 0; + } + lcdDrawUpdate = 1; + eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1); + } + + if (menuData.adjustBed.left != menuData.adjustBed.left2) + eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT, menuData.adjustBed.left = menuData.adjustBed.left2); + if (menuData.adjustBed.right != menuData.adjustBed.right2) + eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, menuData.adjustBed.right = menuData.adjustBed.right2); + if (menuData.adjustBed.front != menuData.adjustBed.front2) + eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT, menuData.adjustBed.front = menuData.adjustBed.front2); + if (menuData.adjustBed.rear != menuData.adjustBed.rear2) + eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR, menuData.adjustBed.rear = menuData.adjustBed.rear2); + + START_MENU(); + MENU_ITEM(back, MSG_SETTINGS, lcd_calibration_menu); + MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_LEFT, &menuData.adjustBed.left2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); + MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_RIGHT, &menuData.adjustBed.right2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); + MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_FRONT, &menuData.adjustBed.front2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); + MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_REAR, &menuData.adjustBed.rear2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); + MENU_ITEM(function, MSG_BED_CORRECTION_RESET, lcd_adjust_bed_reset); + END_MENU(); +} + +void pid_extruder() { + + lcd_implementation_clear(); + lcd.setCursor(1, 0); + lcd_printPGM(MSG_SET_TEMPERATURE); + pid_temp += int(encoderPosition); + if (pid_temp > HEATER_0_MAXTEMP) pid_temp = HEATER_0_MAXTEMP; + if (pid_temp < HEATER_0_MINTEMP) pid_temp = HEATER_0_MINTEMP; + encoderPosition = 0; + lcd.setCursor(1, 2); + lcd.print(ftostr3(pid_temp)); + if (lcd_clicked()) { + lcd_commands_type = LCD_COMMAND_PID_EXTRUDER; + lcd_return_to_status(); + lcd_update(2); + } + +} + +void lcd_adjust_z() { + int enc_dif = 0; + int cursor_pos = 1; + int fsm = 0; + + + + + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ADJUSTZ); + lcd.setCursor(1, 1); + lcd_printPGM(MSG_YES); + + lcd.setCursor(1, 2); + + lcd_printPGM(MSG_NO); + + lcd.setCursor(0, 1); + + lcd.print(">"); + + + enc_dif = encoderDiff; + + while (fsm == 0) { + + manage_heater(); + manage_inactivity(true); + + if ( abs((enc_dif - encoderDiff)) > 4 ) { + + if ( (abs(enc_dif - encoderDiff)) > 1 ) { + if (enc_dif > encoderDiff ) { + cursor_pos --; + } + + if (enc_dif < encoderDiff ) { + cursor_pos ++; + } + + if (cursor_pos > 2) { + cursor_pos = 2; + } + + if (cursor_pos < 1) { + cursor_pos = 1; + } + lcd.setCursor(0, 1); + lcd.print(" "); + lcd.setCursor(0, 2); + lcd.print(" "); + lcd.setCursor(0, cursor_pos); + lcd.print(">"); + enc_dif = encoderDiff; + delay(100); + } + + } + + + if (lcd_clicked()) { + fsm = cursor_pos; + if (fsm == 1) { + int babystepLoadZ = 0; + EEPROM_read_B(EEPROM_BABYSTEP_Z, &babystepLoadZ); + CRITICAL_SECTION_START + babystepsTodo[Z_AXIS] = babystepLoadZ; + CRITICAL_SECTION_END + } else { + int zero = 0; + EEPROM_save_B(EEPROM_BABYSTEP_X, &zero); + EEPROM_save_B(EEPROM_BABYSTEP_Y, &zero); + EEPROM_save_B(EEPROM_BABYSTEP_Z, &zero); + } + delay(500); + } + }; + + lcd_implementation_clear(); + lcd_return_to_status(); + +} + +void lcd_wait_for_heater() { + lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING); + + lcd.setCursor(0, 4); + lcd.print(LCD_STR_THERMOMETER[0]); + lcd.print(ftostr3(degHotend(active_extruder))); + lcd.print("/"); + lcd.print(ftostr3(degTargetHotend(active_extruder))); + lcd.print(LCD_STR_DEGREE); +} + +void lcd_wait_for_cool_down() { + lcd_set_custom_characters_degree(); + setTargetHotend(0,0); + setTargetBed(0); + while ((degHotend(0)>MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) { + lcd_display_message_fullscreen_P(MSG_WAITING_TEMP); + + lcd.setCursor(0, 4); + lcd.print(LCD_STR_THERMOMETER[0]); + lcd.print(ftostr3(degHotend(0))); + lcd.print("/0"); + lcd.print(LCD_STR_DEGREE); + + lcd.setCursor(9, 4); + lcd.print(LCD_STR_BEDTEMP[0]); + lcd.print(ftostr3(degBed())); + lcd.print("/0"); + lcd.print(LCD_STR_DEGREE); + lcd_set_custom_characters(); + delay_keep_alive(1000); + serialecho_temperatures(); + } + lcd_set_custom_characters_arrows(); + lcd_update_enable(true); +} + +// Lets the user move the Z carriage up to the end stoppers. +// When done, it sets the current Z to Z_MAX_POS and returns true. +// Otherwise the Z calibration is not changed and false is returned. + +#ifndef TMC2130 +bool lcd_calibrate_z_end_stop_manual(bool only_z) +{ + bool clean_nozzle_asked = false; + + // Don't know where we are. Let's claim we are Z=0, so the soft end stops will not be triggered when moving up. + current_position[Z_AXIS] = 0; + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + + // Until confirmed by the confirmation dialog. + for (;;) { + unsigned long previous_millis_cmd = millis(); + const char *msg = only_z ? MSG_MOVE_CARRIAGE_TO_THE_TOP_Z : MSG_MOVE_CARRIAGE_TO_THE_TOP; + const char *msg_next = lcd_display_message_fullscreen_P(msg); + const bool multi_screen = msg_next != NULL; + unsigned long previous_millis_msg = millis(); + // Until the user finishes the z up movement. + encoderDiff = 0; + encoderPosition = 0; + for (;;) { +// if (millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) +// goto canceled; + manage_heater(); + manage_inactivity(true); + if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP) { + delay(50); + previous_millis_cmd = millis(); + encoderPosition += abs(encoderDiff / ENCODER_PULSES_PER_STEP); + encoderDiff = 0; + if (! planner_queue_full()) { + // Only move up, whatever direction the user rotates the encoder. + current_position[Z_AXIS] += fabs(encoderPosition); + encoderPosition = 0; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS] / 60, active_extruder); + } + } + if (lcd_clicked()) { + // Abort a move if in progress. + planner_abort_hard(); + while (lcd_clicked()) ; + delay(10); + while (lcd_clicked()) ; + break; + } + if (multi_screen && millis() - previous_millis_msg > 5000) { + if (msg_next == NULL) + msg_next = msg; + msg_next = lcd_display_message_fullscreen_P(msg_next); + previous_millis_msg = millis(); + } + } + + if (! clean_nozzle_asked) { + lcd_show_fullscreen_message_and_wait_P(MSG_CONFIRM_NOZZLE_CLEAN); + clean_nozzle_asked = true; + } + + + // Let the user confirm, that the Z carriage is at the top end stoppers. + int8_t result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_CONFIRM_CARRIAGE_AT_THE_TOP, false); + if (result == -1) + goto canceled; + else if (result == 1) + goto calibrated; + // otherwise perform another round of the Z up dialog. + } + +calibrated: + // Let the machine think the Z axis is a bit higher than it is, so it will not home into the bed + // during the search for the induction points. + current_position[Z_AXIS] = Z_MAX_POS-3.f; + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + + + if(only_z){ + lcd_display_message_fullscreen_P(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1); + lcd_implementation_print_at(0, 3, 1); + lcd_printPGM(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2); + }else{ + lcd_show_fullscreen_message_and_wait_P(MSG_PAPER); + lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1); + lcd_implementation_print_at(0, 2, 1); + lcd_printPGM(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2); + } + + + return true; + +canceled: + return false; +} + +#endif // TMC2130 + +static inline bool pgm_is_whitespace(const char *c_addr) +{ + const char c = pgm_read_byte(c_addr); + return c == ' ' || c == '\t' || c == '\r' || c == '\n'; +} + +static inline bool pgm_is_interpunction(const char *c_addr) +{ + const char c = pgm_read_byte(c_addr); + return c == '.' || c == ',' || c == ':'|| c == ';' || c == '?' || c == '!' || c == '/'; +} + +const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines) +{ + // Disable update of the screen by the usual lcd_update() routine. + lcd_update_enable(false); + lcd_implementation_clear(); + lcd.setCursor(0, 0); + const char *msgend = msg; + uint8_t row = 0; + bool multi_screen = false; + for (; row < 4; ++ row) { + while (pgm_is_whitespace(msg)) + ++ msg; + if (pgm_read_byte(msg) == 0) + // End of the message. + break; + lcd.setCursor(0, row); + uint8_t linelen = min(strlen_P(msg), 20); + const char *msgend2 = msg + linelen; + msgend = msgend2; + if (row == 3 && linelen == 20) { + // Last line of the display, full line shall be displayed. + // Find out, whether this message will be split into multiple screens. + while (pgm_is_whitespace(msgend)) + ++ msgend; + multi_screen = pgm_read_byte(msgend) != 0; + if (multi_screen) + msgend = (msgend2 -= 2); + } + if (pgm_read_byte(msgend) != 0 && ! pgm_is_whitespace(msgend) && ! pgm_is_interpunction(msgend)) { + // Splitting a word. Find the start of the current word. + while (msgend > msg && ! pgm_is_whitespace(msgend - 1)) + -- msgend; + if (msgend == msg) + // Found a single long word, which cannot be split. Just cut it. + msgend = msgend2; + } + for (; msg < msgend; ++ msg) { + char c = char(pgm_read_byte(msg)); + if (c == '~') + c = ' '; + lcd.print(c); + } + } + + if (multi_screen) { + // Display the "next screen" indicator character. + // lcd_set_custom_characters_arrows(); + lcd_set_custom_characters_nextpage(); + lcd.setCursor(19, 3); + // Display the down arrow. + lcd.print(char(1)); + } + + nlines = row; + return multi_screen ? msgend : NULL; +} + +void lcd_show_fullscreen_message_and_wait_P(const char *msg) +{ + const char *msg_next = lcd_display_message_fullscreen_P(msg); + bool multi_screen = msg_next != NULL; + lcd_set_custom_characters_nextpage(); + KEEPALIVE_STATE(PAUSED_FOR_USER); + // Until confirmed by a button click. + for (;;) { + if (!multi_screen) { + lcd.setCursor(19, 3); + // Display the confirm char. + lcd.print(char(2)); + } + // Wait for 5 seconds before displaying the next text. + for (uint8_t i = 0; i < 100; ++ i) { + delay_keep_alive(50); + if (lcd_clicked()) { + while (lcd_clicked()) ; + delay(10); + while (lcd_clicked()) ; + if (msg_next == NULL) { + KEEPALIVE_STATE(IN_HANDLER); + lcd_set_custom_characters(); + lcd_update_enable(true); + lcd_update(2); + return; + } + else { + break; + } + } + } + if (multi_screen) { + if (msg_next == NULL) + msg_next = msg; + msg_next = lcd_display_message_fullscreen_P(msg_next); + if (msg_next == NULL) { + + lcd.setCursor(19, 3); + // Display the confirm char. + lcd.print(char(2)); + } + } + } +} + +void lcd_wait_for_click() +{ + KEEPALIVE_STATE(PAUSED_FOR_USER); + for (;;) { + manage_heater(); + manage_inactivity(true); + if (lcd_clicked()) { + while (lcd_clicked()) ; + delay(10); + while (lcd_clicked()) ; + KEEPALIVE_STATE(IN_HANDLER); + return; + } + } +} + +int8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes) //currently just max. n*4 + 3 lines supported (set in language header files) +{ + const char *msg_next = lcd_display_message_fullscreen_P(msg); + bool multi_screen = msg_next != NULL; + bool yes = default_yes ? true : false; + + // Wait for user confirmation or a timeout. + unsigned long previous_millis_cmd = millis(); + int8_t enc_dif = encoderDiff; + //KEEPALIVE_STATE(PAUSED_FOR_USER); + for (;;) { + for (uint8_t i = 0; i < 100; ++i) { + delay_keep_alive(50); + if (allow_timeouting && millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) + return -1; + manage_heater(); + manage_inactivity(true); + + if (abs(enc_dif - encoderDiff) > 4) { + if (msg_next == NULL) { + lcd.setCursor(0, 3); + if (enc_dif < encoderDiff && yes) { + lcd_printPGM((PSTR(" "))); + lcd.setCursor(7, 3); + lcd_printPGM((PSTR(">"))); + yes = false; + } + else if (enc_dif > encoderDiff && !yes) { + lcd_printPGM((PSTR(">"))); + lcd.setCursor(7, 3); + lcd_printPGM((PSTR(" "))); + yes = true; + } + enc_dif = encoderDiff; + } + else { + break; //turning knob skips waiting loop + } + } + if (lcd_clicked()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + if (msg_next == NULL) { + //KEEPALIVE_STATE(IN_HANDLER); + lcd_set_custom_characters(); + return yes; + } + else break; + } + } + if (multi_screen) { + if (msg_next == NULL) { + msg_next = msg; + } + msg_next = lcd_display_message_fullscreen_P(msg_next); + } + if (msg_next == NULL) { + lcd.setCursor(0, 3); + if (yes) lcd_printPGM(PSTR(">")); + lcd.setCursor(1, 3); + lcd_printPGM(MSG_YES); + lcd.setCursor(7, 3); + if (!yes) lcd_printPGM(PSTR(">")); + lcd.setCursor(8, 3); + lcd_printPGM(MSG_NO); + } + } +} + +int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes) +{ + + lcd_display_message_fullscreen_P(msg); + + if (default_yes) { + lcd.setCursor(0, 2); + lcd_printPGM(PSTR(">")); + lcd_printPGM(MSG_YES); + lcd.setCursor(1, 3); + lcd_printPGM(MSG_NO); + } + else { + lcd.setCursor(1, 2); + lcd_printPGM(MSG_YES); + lcd.setCursor(0, 3); + lcd_printPGM(PSTR(">")); + lcd_printPGM(MSG_NO); + } + bool yes = default_yes ? true : false; + + // Wait for user confirmation or a timeout. + unsigned long previous_millis_cmd = millis(); + int8_t enc_dif = encoderDiff; + KEEPALIVE_STATE(PAUSED_FOR_USER); + for (;;) { + if (allow_timeouting && millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) + return -1; + manage_heater(); + manage_inactivity(true); + if (abs(enc_dif - encoderDiff) > 4) { + lcd.setCursor(0, 2); + if (enc_dif < encoderDiff && yes) { + lcd_printPGM((PSTR(" "))); + lcd.setCursor(0, 3); + lcd_printPGM((PSTR(">"))); + yes = false; + } + else if (enc_dif > encoderDiff && !yes) { + lcd_printPGM((PSTR(">"))); + lcd.setCursor(0, 3); + lcd_printPGM((PSTR(" "))); + yes = true; + } + enc_dif = encoderDiff; + } + if (lcd_clicked()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + KEEPALIVE_STATE(IN_HANDLER); + return yes; + } + } +} + +void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, uint8_t point_too_far_mask) +{ + const char *msg = NULL; + if (result == BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND) { + lcd_show_fullscreen_message_and_wait_P(MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND); + } else if (result == BED_SKEW_OFFSET_DETECTION_FITTING_FAILED) { + if (point_too_far_mask == 0) + msg = MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED; + else if (point_too_far_mask == 2 || point_too_far_mask == 7) + // Only the center point or all the three front points. + msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR; + else if (point_too_far_mask & 1 == 0) + // The right and maybe the center point out of reach. + msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR; + else + // The left and maybe the center point out of reach. + msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR; + lcd_show_fullscreen_message_and_wait_P(msg); + } else { + if (point_too_far_mask != 0) { + if (point_too_far_mask == 2 || point_too_far_mask == 7) + // Only the center point or all the three front points. + msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR; + else if (point_too_far_mask & 1 == 0) + // The right and maybe the center point out of reach. + msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR; + else + // The left and maybe the center point out of reach. + msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR; + lcd_show_fullscreen_message_and_wait_P(msg); + } + if (point_too_far_mask == 0 || result > 0) { + switch (result) { + default: + // should not happen + msg = MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED; + break; + case BED_SKEW_OFFSET_DETECTION_PERFECT: + msg = MSG_BED_SKEW_OFFSET_DETECTION_PERFECT; + break; + case BED_SKEW_OFFSET_DETECTION_SKEW_MILD: + msg = MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD; + break; + case BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME: + msg = MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME; + break; + } + lcd_show_fullscreen_message_and_wait_P(msg); + } + } +} + +static void lcd_show_end_stops() { + lcd.setCursor(0, 0); + lcd_printPGM((PSTR("End stops diag"))); + lcd.setCursor(0, 1); + lcd_printPGM((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("X1")) : (PSTR("X0"))); + lcd.setCursor(0, 2); + lcd_printPGM((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("Y1")) : (PSTR("Y0"))); + lcd.setCursor(0, 3); + lcd_printPGM((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("Z1")) : (PSTR("Z0"))); +} + +static void menu_show_end_stops() { + lcd_show_end_stops(); + if (LCD_CLICKED) lcd_goto_menu(lcd_calibration_menu); +} + +// Lets the user move the Z carriage up to the end stoppers. +// When done, it sets the current Z to Z_MAX_POS and returns true. +// Otherwise the Z calibration is not changed and false is returned. +void lcd_diag_show_end_stops() +{ + int enc_dif = encoderDiff; + lcd_implementation_clear(); + for (;;) { + manage_heater(); + manage_inactivity(true); + lcd_show_end_stops(); + if (lcd_clicked()) { + while (lcd_clicked()) ; + delay(10); + while (lcd_clicked()) ; + break; + } + } + lcd_implementation_clear(); + lcd_return_to_status(); +} + + + +void prusa_statistics(int _message) { +#ifdef DEBUG_DISABLE_PRUSA_STATISTICS + return; +#endif //DEBUG_DISABLE_PRUSA_STATISTICS + switch (_message) + { + + case 0: // default message + if (IS_SD_PRINTING) + { + SERIAL_ECHO("{"); + prusa_stat_printerstatus(4); + prusa_stat_farm_number(); + prusa_stat_printinfo(); + SERIAL_ECHOLN("}"); + status_number = 4; + } + else + { + SERIAL_ECHO("{"); + prusa_stat_printerstatus(1); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 1; + } + break; + + case 1: // 1 heating + farm_status = 2; + SERIAL_ECHO("{"); + prusa_stat_printerstatus(2); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 2; + farm_timer = 1; + break; + + case 2: // heating done + farm_status = 3; + SERIAL_ECHO("{"); + prusa_stat_printerstatus(3); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 3; + farm_timer = 1; + + if (IS_SD_PRINTING) + { + farm_status = 4; + SERIAL_ECHO("{"); + prusa_stat_printerstatus(4); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 4; + } + else + { + SERIAL_ECHO("{"); + prusa_stat_printerstatus(3); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 3; + } + farm_timer = 1; + break; + + case 3: // filament change + + break; + case 4: // print succesfull + SERIAL_ECHOLN("{[RES:1]"); + prusa_stat_printerstatus(status_number); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + farm_timer = 2; + break; + case 5: // print not succesfull + SERIAL_ECHOLN("{[RES:0]"); + prusa_stat_printerstatus(status_number); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + farm_timer = 2; + break; + case 6: // print done + SERIAL_ECHO("{[PRN:8]"); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 8; + farm_timer = 2; + break; + case 7: // print done - stopped + SERIAL_ECHO("{[PRN:9]"); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 9; + farm_timer = 2; + break; + case 8: // printer started + SERIAL_ECHO("{[PRN:0][PFN:"); + status_number = 0; + SERIAL_ECHO(farm_no); + SERIAL_ECHOLN("]}"); + farm_timer = 2; + break; + case 20: // echo farm no + SERIAL_ECHO("{"); + prusa_stat_printerstatus(status_number); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + farm_timer = 5; + break; + case 21: // temperatures + SERIAL_ECHO("{"); + prusa_stat_temperatures(); + prusa_stat_farm_number(); + prusa_stat_printerstatus(status_number); + SERIAL_ECHOLN("}"); + break; + case 22: // waiting for filament change + SERIAL_ECHO("{[PRN:5]"); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + status_number = 5; + break; + + case 90: // Error - Thermal Runaway + SERIAL_ECHO("{[ERR:1]"); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + break; + case 91: // Error - Thermal Runaway Preheat + SERIAL_ECHO("{[ERR:2]"); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + break; + case 92: // Error - Min temp + SERIAL_ECHOLN("{[ERR:3]"); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + break; + case 93: // Error - Max temp + SERIAL_ECHO("{[ERR:4]"); + prusa_stat_farm_number(); + SERIAL_ECHOLN("}"); + break; + + case 99: // heartbeat + SERIAL_ECHO("{[PRN:99]"); + prusa_stat_temperatures(); + SERIAL_ECHO("[PFN:"); + SERIAL_ECHO(farm_no); + SERIAL_ECHO("]"); + SERIAL_ECHOLN("}"); + + break; + } + +} + +static void prusa_stat_printerstatus(int _status) +{ + SERIAL_ECHO("[PRN:"); + SERIAL_ECHO(_status); + SERIAL_ECHO("]"); +} + +static void prusa_stat_farm_number() { + SERIAL_ECHO("[PFN:"); + SERIAL_ECHO(farm_no); + SERIAL_ECHO("]"); +} + +static void prusa_stat_temperatures() +{ + SERIAL_ECHO("[ST0:"); + SERIAL_ECHO(target_temperature[0]); + SERIAL_ECHO("][STB:"); + SERIAL_ECHO(target_temperature_bed); + SERIAL_ECHO("][AT0:"); + SERIAL_ECHO(current_temperature[0]); + SERIAL_ECHO("][ATB:"); + SERIAL_ECHO(current_temperature_bed); + SERIAL_ECHO("]"); +} + +static void prusa_stat_printinfo() +{ + SERIAL_ECHO("[TFU:"); + SERIAL_ECHO(total_filament_used); + SERIAL_ECHO("][PCD:"); + SERIAL_ECHO(itostr3(card.percentDone())); + SERIAL_ECHO("][FEM:"); + SERIAL_ECHO(itostr3(feedmultiply)); + SERIAL_ECHO("][FNM:"); + SERIAL_ECHO(longFilenameOLD); + SERIAL_ECHO("][TIM:"); + if (starttime != 0) + { + SERIAL_ECHO(millis() / 1000 - starttime / 1000); + } + else + { + SERIAL_ECHO(0); + } + SERIAL_ECHO("][FWR:"); + SERIAL_ECHO(FW_VERSION); + SERIAL_ECHO("]"); +} + +/* +void lcd_pick_babystep(){ + int enc_dif = 0; + int cursor_pos = 1; + int fsm = 0; + + + + + lcd_implementation_clear(); + + lcd.setCursor(0, 0); + + lcd_printPGM(MSG_PICK_Z); + + + lcd.setCursor(3, 2); + + lcd.print("1"); + + lcd.setCursor(3, 3); + + lcd.print("2"); + + lcd.setCursor(12, 2); + + lcd.print("3"); + + lcd.setCursor(12, 3); + + lcd.print("4"); + + lcd.setCursor(1, 2); + + lcd.print(">"); + + + enc_dif = encoderDiff; + + while (fsm == 0) { + + manage_heater(); + manage_inactivity(true); + + if ( abs((enc_dif - encoderDiff)) > 4 ) { + + if ( (abs(enc_dif - encoderDiff)) > 1 ) { + if (enc_dif > encoderDiff ) { + cursor_pos --; + } + + if (enc_dif < encoderDiff ) { + cursor_pos ++; + } + + if (cursor_pos > 4) { + cursor_pos = 4; + } + + if (cursor_pos < 1) { + cursor_pos = 1; + } + + + lcd.setCursor(1, 2); + lcd.print(" "); + lcd.setCursor(1, 3); + lcd.print(" "); + lcd.setCursor(10, 2); + lcd.print(" "); + lcd.setCursor(10, 3); + lcd.print(" "); + + if (cursor_pos < 3) { + lcd.setCursor(1, cursor_pos+1); + lcd.print(">"); + }else{ + lcd.setCursor(10, cursor_pos-1); + lcd.print(">"); + } + + + enc_dif = encoderDiff; + delay(100); + } + + } + + if (lcd_clicked()) { + fsm = cursor_pos; + int babyStepZ; + EEPROM_read_B(EEPROM_BABYSTEP_Z0+((fsm-1)*2),&babyStepZ); + EEPROM_save_B(EEPROM_BABYSTEP_Z,&babyStepZ); + calibration_status_store(CALIBRATION_STATUS_CALIBRATED); + delay(500); + + } + }; + + lcd_implementation_clear(); + lcd_return_to_status(); +} +*/ +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); + 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(); +} + + +void EEPROM_save(int pos, uint8_t* value, uint8_t size) +{ + do + { + eeprom_write_byte((unsigned char*)pos, *value); + pos++; + value++; + } while (--size); +} + +void EEPROM_read(int pos, uint8_t* value, uint8_t size) +{ + do + { + *value = eeprom_read_byte((unsigned char*)pos); + pos++; + value++; + } while (--size); +} + +#ifdef SDCARD_SORT_ALPHA +static void lcd_sort_type_set() { + uint8_t sdSort; + EEPROM_read(EEPROM_SD_SORT, (uint8_t*)&sdSort, sizeof(sdSort)); + switch (sdSort) { + case SD_SORT_TIME: sdSort = SD_SORT_ALPHA; break; + case SD_SORT_ALPHA: sdSort = SD_SORT_NONE; break; + default: sdSort = SD_SORT_TIME; + } + eeprom_update_byte((unsigned char *)EEPROM_SD_SORT, sdSort); + presort_flag = true; + lcd_goto_menu(lcd_settings_menu, 8); +} +#endif //SDCARD_SORT_ALPHA + +static void lcd_crash_mode_info() +{ + lcd_update_enable(true); + static uint32_t tim = 0; + if ((tim + 1000) < millis()) + { + fputs_P(MSG_CRASH_DET_ONLY_IN_NORMAL, lcdout); + tim = millis(); + } + if (lcd_clicked()) + { + if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 18); + else lcd_goto_menu(lcd_settings_menu, 16, true, true); + } +} + +static void lcd_crash_mode_info2() +{ + lcd_update_enable(true); + static uint32_t tim = 0; + if ((tim + 1000) < millis()) + { + fputs_P(MSG_CRASH_DET_STEALTH_FORCE_OFF, lcdout); + tim = millis(); + } + if (lcd_clicked()) + { + if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 16); + else lcd_goto_menu(lcd_settings_menu, 14, true, true); + } +} + +static void lcd_filament_autoload_info() +{ + lcd_show_fullscreen_message_and_wait_P(MSG_AUTOLOADING_ONLY_IF_FSENS_ON); +} + +static void lcd_fsensor_fail() +{ + lcd_show_fullscreen_message_and_wait_P(MSG_FSENS_NOT_RESPONDING); +} + +static void lcd_silent_mode_set() { + SilentModeMenu = !SilentModeMenu; + eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); +#ifdef TMC2130 + // Wait until the planner queue is drained and the stepper routine achieves + // an idle state. + st_synchronize(); + if (tmc2130_wait_standstill_xy(1000)) {} +// MYSERIAL.print("standstill OK"); +// else +// MYSERIAL.print("standstill NG!"); + cli(); + tmc2130_mode = SilentModeMenu?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; + tmc2130_init(); + // We may have missed a stepper timer interrupt due to the time spent in tmc2130_init. + // Be safe than sorry, reset the stepper timer before re-enabling interrupts. + st_reset_timer(); + sei(); +#endif //TMC2130 + digipot_init(); + if (CrashDetectMenu && SilentModeMenu) + lcd_goto_menu(lcd_crash_mode_info2); +} + +static void lcd_crash_mode_set() +{ + CrashDetectMenu = !CrashDetectMenu; //set also from crashdet_enable() and crashdet_disable() + if (CrashDetectMenu==0) { + crashdet_disable(); + }else{ + crashdet_enable(); + } + if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 9); + else lcd_goto_menu(lcd_settings_menu, 9); + +} + +static void lcd_set_lang(unsigned char lang) { + lang_selected = lang; + firstrun = 1; + eeprom_update_byte((unsigned char *)EEPROM_LANG, lang); + /*langsel=0;*/ + if (langsel == LANGSEL_MODAL) + // From modal mode to an active mode? This forces the menu to return to the setup menu. + langsel = LANGSEL_ACTIVE; +} + +static void lcd_fsensor_state_set() +{ + FSensorStateMenu = !FSensorStateMenu; //set also from fsensor_enable() and fsensor_disable() + if (FSensorStateMenu==0) { + fsensor_disable(); + if ((filament_autoload_enabled == true)){ + lcd_filament_autoload_info(); + } + }else{ + fsensor_enable(); + if (fsensor_not_responding) + { + lcd_fsensor_fail(); + } + } + if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 7); + else lcd_goto_menu(lcd_settings_menu, 7); + +} + +#if !SDSORT_USES_RAM +void lcd_set_degree() { + lcd_set_custom_characters_degree(); +} + +void lcd_set_progress() { + lcd_set_custom_characters_progress(); +} +#endif + +void lcd_force_language_selection() { + eeprom_update_byte((unsigned char *)EEPROM_LANG, LANG_ID_FORCE_SELECTION); +} + +static void lcd_language_menu() +{ + START_MENU(); + if (langsel == LANGSEL_OFF) { + MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu); + } else if (langsel == LANGSEL_ACTIVE) { + MENU_ITEM(back, MSG_WATCH, lcd_status_screen); + } + for (int i=0;i EXTRUDE_MINTEMP) + { + current_position[E_AXIS] = 0; //set initial position to zero + plan_set_e_position(current_position[E_AXIS]); + + //long steps_start = st_get_position(E_AXIS); + + long steps_final; + float e_steps_per_unit; + float feedrate = (180 / axis_steps_per_unit[E_AXIS]) * 1; //3 //initial automatic extrusion feedrate (depends on current value of axis_steps_per_unit to avoid too fast extrusion) + float e_shift_calibration = (axis_steps_per_unit[E_AXIS] > 180 ) ? ((180 / axis_steps_per_unit[E_AXIS]) * 70): 70; //length of initial automatic extrusion sequence + const char *msg_e_cal_knob = MSG_E_CAL_KNOB; + const char *msg_next_e_cal_knob = lcd_display_message_fullscreen_P(msg_e_cal_knob); + const bool multi_screen = msg_next_e_cal_knob != NULL; + unsigned long msg_millis; + + lcd_show_fullscreen_message_and_wait_P(MSG_MARK_FIL); + lcd_implementation_clear(); + + + lcd.setCursor(0, 1); lcd_printPGM(MSG_PLEASE_WAIT); + current_position[E_AXIS] += e_shift_calibration; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder); + st_synchronize(); + + lcd_display_message_fullscreen_P(msg_e_cal_knob); + msg_millis = millis(); + while (!LCD_CLICKED) { + if (multi_screen && millis() - msg_millis > 5000) { + if (msg_next_e_cal_knob == NULL) + msg_next_e_cal_knob = msg_e_cal_knob; + msg_next_e_cal_knob = lcd_display_message_fullscreen_P(msg_next_e_cal_knob); + msg_millis = millis(); + } + + //manage_inactivity(true); + manage_heater(); + if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP) { //adjusting mark by knob rotation + delay_keep_alive(50); + //previous_millis_cmd = millis(); + encoderPosition += (encoderDiff / ENCODER_PULSES_PER_STEP); + encoderDiff = 0; + if (!planner_queue_full()) { + current_position[E_AXIS] += float(abs((int)encoderPosition)) * 0.01; //0.05 + encoderPosition = 0; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder); + + } + } + } + + steps_final = current_position[E_AXIS] * axis_steps_per_unit[E_AXIS]; + //steps_final = st_get_position(E_AXIS); + lcdDrawUpdate = 1; + e_steps_per_unit = ((float)(steps_final)) / 100.0f; + if (e_steps_per_unit < MIN_E_STEPS_PER_UNIT) e_steps_per_unit = MIN_E_STEPS_PER_UNIT; + if (e_steps_per_unit > MAX_E_STEPS_PER_UNIT) e_steps_per_unit = MAX_E_STEPS_PER_UNIT; + + lcd_implementation_clear(); + + axis_steps_per_unit[E_AXIS] = e_steps_per_unit; + enquecommand_P(PSTR("M500")); //store settings to eeprom + + //lcd_implementation_drawedit(PSTR("Result"), ftostr31(axis_steps_per_unit[E_AXIS])); + //delay_keep_alive(2000); + delay_keep_alive(500); + lcd_show_fullscreen_message_and_wait_P(MSG_CLEAN_NOZZLE_E); + lcd_update_enable(true); + lcdDrawUpdate = 2; + + } + else + { + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + delay(2000); + lcd_implementation_clear(); + } + lcd_return_to_status(); +} + +void lcd_extr_cal_reset() { + float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT; + axis_steps_per_unit[E_AXIS] = tmp1[3]; + //extrudemultiply = 100; + enquecommand_P(PSTR("M500")); +}*/ + +#endif + +void lcd_toshiba_flash_air_compatibility_toggle() +{ + card.ToshibaFlashAir_enable(! card.ToshibaFlashAir_isEnabled()); + eeprom_update_byte((uint8_t*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY, card.ToshibaFlashAir_isEnabled()); +} + +void lcd_v2_calibration() { + bool loaded = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_PLA_FILAMENT_LOADED, false, true); + if (loaded) { + lcd_commands_type = LCD_COMMAND_V2_CAL; + } + else { + lcd_display_message_fullscreen_P(MSG_PLEASE_LOAD_PLA); + for (int i = 0; i < 20; i++) { //wait max. 2s + delay_keep_alive(100); + if (lcd_clicked()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + break; + } + } + } + lcd_return_to_status(); + lcd_update_enable(true); +} + +void lcd_wizard() { + bool result = true; + if (calibration_status() != CALIBRATION_STATUS_ASSEMBLED) { + result = lcd_show_multiscreen_message_yes_no_and_wait_P(MSG_WIZARD_RERUN, false, false); + } + if (result) { + calibration_status_store(CALIBRATION_STATUS_ASSEMBLED); + lcd_wizard(0); + } + else { + lcd_return_to_status(); + lcd_update_enable(true); + lcd_update(2); + } +} + +void lcd_wizard(int state) { + + bool end = false; + int wizard_event; + const char *msg = NULL; + while (!end) { + switch (state) { + case 0: // run wizard? + wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(MSG_WIZARD_WELCOME, false, true); + if (wizard_event) { + state = 1; + eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); + } + else { + eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); + end = true; + } + break; + case 1: // restore calibration status + switch (calibration_status()) { + case CALIBRATION_STATUS_ASSEMBLED: state = 2; break; //run selftest + case CALIBRATION_STATUS_XYZ_CALIBRATION: state = 3; break; //run xyz cal. + case CALIBRATION_STATUS_Z_CALIBRATION: state = 4; break; //run z cal. + case CALIBRATION_STATUS_LIVE_ADJUST: state = 5; break; //run live adjust + case CALIBRATION_STATUS_CALIBRATED: end = true; eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); break; + default: state = 2; break; //if calibration status is unknown, run wizard from the beginning + } + break; + case 2: //selftest + lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_SELFTEST); + wizard_event = lcd_selftest(); + if (wizard_event) { + calibration_status_store(CALIBRATION_STATUS_XYZ_CALIBRATION); + state = 3; + } + else end = true; + break; + case 3: //xyz cal. + lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_XYZ_CAL); + wizard_event = gcode_M45(false); + if (wizard_event) state = 5; + else end = true; + break; + case 4: //z cal. + lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_Z_CAL); + wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); + if (!wizard_event) lcd_show_fullscreen_message_and_wait_P(MSG_PLACE_STEEL_SHEET); + wizard_event = gcode_M45(true); + if (wizard_event) state = 11; //shipped, no need to set first layer, go to final message directly + else end = true; + break; + case 5: //is filament loaded? + //start to preheat nozzle and bed to save some time later + setTargetHotend(PLA_PREHEAT_HOTEND_TEMP, 0); + setTargetBed(PLA_PREHEAT_HPB_TEMP); + wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_WIZARD_FILAMENT_LOADED, false); + if (wizard_event) state = 8; + else state = 6; + + break; + case 6: //waiting for preheat nozzle for PLA; +#ifndef SNMM + lcd_display_message_fullscreen_P(MSG_WIZARD_WILL_PREHEAT); + current_position[Z_AXIS] = 100; //move in z axis to make space for loading filament + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 60, active_extruder); + delay_keep_alive(2000); + lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING); + while (abs(degHotend(0) - PLA_PREHEAT_HOTEND_TEMP) > 3) { + lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING); + + lcd.setCursor(0, 4); + lcd.print(LCD_STR_THERMOMETER[0]); + lcd.print(ftostr3(degHotend(0))); + lcd.print("/"); + lcd.print(PLA_PREHEAT_HOTEND_TEMP); + lcd.print(LCD_STR_DEGREE); + lcd_set_custom_characters(); + delay_keep_alive(1000); + } +#endif //not SNMM + state = 7; + break; + case 7: //load filament + fsensor_block(); + lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_LOAD_FILAMENT); + lcd_update_enable(false); + lcd_implementation_clear(); + lcd_print_at_PGM(0, 2, MSG_LOADING_FILAMENT); +#ifdef SNMM + change_extr(0); +#endif + gcode_M701(); + fsensor_unblock(); + state = 9; + break; + case 8: + wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_WIZARD_PLA_FILAMENT, false, true); + if (wizard_event) state = 9; + else end = true; + break; + case 9: + lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_V2_CAL); + lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_V2_CAL_2); + lcd_commands_type = LCD_COMMAND_V2_CAL; + end = true; + break; + case 10: //repeat first layer cal.? + wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(MSG_WIZARD_REPEAT_V2_CAL, false); + if (wizard_event) { + //reset status and live adjust z value in eeprom + calibration_status_store(CALIBRATION_STATUS_LIVE_ADJUST); + lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_CLEAN_HEATBED); + state = 9; + } + else { + state = 11; + } + break; + case 11: //we are finished + eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); + end = true; + break; + + default: break; + } + } + + SERIAL_ECHOPGM("State: "); + MYSERIAL.println(state); + switch (state) { //final message + case 0: //user dont want to use wizard + msg = MSG_WIZARD_QUIT; + break; + + case 1: //printer was already calibrated + msg = MSG_WIZARD_DONE; + break; + case 2: //selftest + msg = MSG_WIZARD_CALIBRATION_FAILED; + break; + case 3: //xyz cal. + msg = MSG_WIZARD_CALIBRATION_FAILED; + break; + case 4: //z cal. + msg = MSG_WIZARD_CALIBRATION_FAILED; + break; + case 8: + msg = MSG_WIZARD_INSERT_CORRECT_FILAMENT; + break; + case 9: break; //exit wizard for v2 calibration, which is implemted in lcd_commands (we need lcd_update running) + case 11: //we are finished + + msg = MSG_WIZARD_DONE; + lcd_reset_alert_level(); + lcd_setstatuspgm(WELCOME_MSG); + break; + + default: + msg = MSG_WIZARD_QUIT; + break; + + } + if (state != 9) lcd_show_fullscreen_message_and_wait_P(msg); + lcd_update_enable(true); + lcd_return_to_status(); + lcd_update(2); +} + +static void lcd_crash_menu() +{ +} + + + +static void lcd_settings_menu() +{ + EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); + START_MENU(); + + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + + MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu); + if (!homing_flag) + { + MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu_1mm); + } + if (!isPrintPaused) + { + MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); + } +#ifndef DEBUG_DISABLE_FSENSORCHECK + if (FSensorStateMenu == 0) { + if (fsensor_not_responding){ + // Filament sensor not working + MENU_ITEM(function, MSG_FSENSOR_NA, lcd_fsensor_state_set); + MENU_ITEM(function, MSG_FSENS_AUTOLOAD_NA, lcd_fsensor_fail); + } + else{ + // Filament sensor turned off, working, no problems + MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); + MENU_ITEM(function, MSG_FSENS_AUTOLOAD_NA, lcd_filament_autoload_info); + } + } else { + // Filament sensor turned on, working, no problems + MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); + + if ((filament_autoload_enabled == true)) { + MENU_ITEM(function, MSG_FSENS_AUTOLOAD_ON, lcd_set_filament_autoload); + } + else { + MENU_ITEM(function, MSG_FSENS_AUTOLOAD_OFF, lcd_set_filament_autoload); + } + + } +#endif //DEBUG_DISABLE_FSENSORCHECK + + if (fans_check_enabled == true) { + MENU_ITEM(function, MSG_FANS_CHECK_ON, lcd_set_fan_check); + } + else { + MENU_ITEM(function, MSG_FANS_CHECK_OFF, lcd_set_fan_check); + } + + if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); + if (SilentModeMenu == 0) + { + if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); + else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); + } + else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); + + if (temp_cal_active == false) { + MENU_ITEM(function, MSG_TEMP_CALIBRATION_OFF, lcd_temp_calibration_set); + } + else { + MENU_ITEM(function, MSG_TEMP_CALIBRATION_ON, lcd_temp_calibration_set); + } +#ifdef HAS_SECOND_SERIAL_PORT + if (selectedSerialPort == 0) { + MENU_ITEM(function, MSG_SECOND_SERIAL_OFF, lcd_second_serial_set); + } + else { + MENU_ITEM(function, MSG_SECOND_SERIAL_ON, lcd_second_serial_set); + } +#endif //HAS_SECOND_SERIAL + + if (!isPrintPaused && !homing_flag) + { + MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z); + } + MENU_ITEM(submenu, MSG_LANGUAGE_SELECT, lcd_language_menu); + + if (card.ToshibaFlashAir_isEnabled()) { + MENU_ITEM(function, MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON, lcd_toshiba_flash_air_compatibility_toggle); + } else { + MENU_ITEM(function, MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF, lcd_toshiba_flash_air_compatibility_toggle); + } + + #ifdef SDCARD_SORT_ALPHA + if (!farm_mode) { + uint8_t sdSort; + EEPROM_read(EEPROM_SD_SORT, (uint8_t*)&sdSort, sizeof(sdSort)); + switch (sdSort) { + case SD_SORT_TIME: MENU_ITEM(function, MSG_SORT_TIME, lcd_sort_type_set); break; + case SD_SORT_ALPHA: MENU_ITEM(function, MSG_SORT_ALPHA, lcd_sort_type_set); break; + default: MENU_ITEM(function, MSG_SORT_NONE, lcd_sort_type_set); + } + } + #endif // SDCARD_SORT_ALPHA + + if (farm_mode) + { + MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no); + MENU_ITEM(function, PSTR("Disable farm mode"), lcd_disable_farm_mode); + } + + END_MENU(); +} + +static void lcd_selftest_() +{ + lcd_selftest(); +} + +#ifdef EXPERIMENTAL_FEATURES + +static void lcd_experimantal_menu(); +static void lcd_homing_accuracy_menu(); + +static void lcd_accurate_home_set() +{ + tmc2130_home_enabled = tmc2130_home_enabled?0:1; + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, tmc2130_home_enabled); +} + +static void lcd_homing_accuracy_menu_advanced_reset() +{ + tmc2130_home_bsteps[X_AXIS] = 48; + tmc2130_home_fsteps[X_AXIS] = 48; + tmc2130_home_bsteps[Y_AXIS] = 48; + tmc2130_home_fsteps[Y_AXIS] = 48; +} + +static void lcd_homing_accuracy_menu_advanced_save() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_ORIGIN, tmc2130_home_origin[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_BSTEPS, tmc2130_home_bsteps[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_X_FSTEPS, tmc2130_home_fsteps[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_ORIGIN, tmc2130_home_origin[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_BSTEPS, tmc2130_home_bsteps[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_Y_FSTEPS, tmc2130_home_fsteps[Y_AXIS]); +} + +static void lcd_homing_accuracy_menu_advanced_back() +{ + lcd_homing_accuracy_menu_advanced_save(); + currentMenu = lcd_homing_accuracy_menu; + lcd_homing_accuracy_menu(); +} + +static void lcd_homing_accuracy_menu_advanced() +{ + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + START_MENU(); + MENU_ITEM(back, PSTR("Homing accuracy"), lcd_homing_accuracy_menu_advanced_back); + MENU_ITEM(function, PSTR("Reset def. steps"), lcd_homing_accuracy_menu_advanced_reset); + MENU_ITEM_EDIT(byte3, PSTR("X-origin"), &tmc2130_home_origin[X_AXIS], 0, 63); + MENU_ITEM_EDIT(byte3, PSTR("Y-origin"), &tmc2130_home_origin[Y_AXIS], 0, 63); + MENU_ITEM_EDIT(byte3, PSTR("X-bsteps"), &tmc2130_home_bsteps[X_AXIS], 0, 128); + MENU_ITEM_EDIT(byte3, PSTR("Y-bsteps"), &tmc2130_home_bsteps[Y_AXIS], 0, 128); + MENU_ITEM_EDIT(byte3, PSTR("X-fsteps"), &tmc2130_home_fsteps[X_AXIS], 0, 128); + MENU_ITEM_EDIT(byte3, PSTR("Y-fsteps"), &tmc2130_home_fsteps[Y_AXIS], 0, 128); + END_MENU(); +} + +static void lcd_homing_accuracy_menu() +{ + START_MENU(); + MENU_ITEM(back, PSTR("Experimental"), lcd_experimantal_menu); + MENU_ITEM(function, tmc2130_home_enabled?PSTR("Accur. homing On"):PSTR("Accur. homing Off"), lcd_accurate_home_set); + MENU_ITEM(gcode, PSTR("Calibrate X"), PSTR("G28XC")); + MENU_ITEM(gcode, PSTR("Calibrate Y"), PSTR("G28YC")); + MENU_ITEM(submenu, PSTR("Advanced"), lcd_homing_accuracy_menu_advanced); + END_MENU(); +} + +static void lcd_ustep_resolution_menu_save() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_X_MRES, tmc2130_mres[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Y_MRES, tmc2130_mres[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_Z_MRES, tmc2130_mres[Z_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_E_MRES, tmc2130_mres[E_AXIS]); +} + +static void lcd_ustep_resolution_menu_back() +{ + float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT; + bool changed = false; + if (tmc2130_mres[X_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_X_MRES)) + { + axis_steps_per_unit[X_AXIS] = tmp1[X_AXIS] * tmc2130_mres2usteps(tmc2130_mres[X_AXIS]) / TMC2130_USTEPS_XY; + changed = true; + } + if (tmc2130_mres[Y_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Y_MRES)) + { + axis_steps_per_unit[Y_AXIS] = tmp1[Y_AXIS] * tmc2130_mres2usteps(tmc2130_mres[Y_AXIS]) / TMC2130_USTEPS_XY; + changed = true; + } + if (tmc2130_mres[Z_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_Z_MRES)) + { + axis_steps_per_unit[Z_AXIS] = tmp1[Z_AXIS] * tmc2130_mres2usteps(tmc2130_mres[Z_AXIS]) / TMC2130_USTEPS_Z; + changed = true; + } + if (tmc2130_mres[E_AXIS] != eeprom_read_byte((uint8_t*)EEPROM_TMC2130_E_MRES)) + { + axis_steps_per_unit[E_AXIS] = tmp1[E_AXIS] * tmc2130_mres2usteps(tmc2130_mres[E_AXIS]) / TMC2130_USTEPS_E; + changed = true; + } + if (changed) + { + lcd_ustep_resolution_menu_save(); + Config_StoreSettings(EEPROM_OFFSET); + tmc2130_init(); + } + currentMenu = lcd_experimantal_menu; + lcd_experimantal_menu(); +} + +static void lcd_ustep_resolution_reset_def_xyze() +{ + tmc2130_mres[X_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Y_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_XY); + tmc2130_mres[Z_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_Z); + tmc2130_mres[E_AXIS] = tmc2130_usteps2mres(TMC2130_USTEPS_E); + float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT; + axis_steps_per_unit[X_AXIS] = tmp1[X_AXIS]; + axis_steps_per_unit[Y_AXIS] = tmp1[Y_AXIS]; + axis_steps_per_unit[Z_AXIS] = tmp1[Z_AXIS]; + axis_steps_per_unit[E_AXIS] = tmp1[E_AXIS]; +} + +static void lcd_ustep_resolution_menu() +{ + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + START_MENU(); + MENU_ITEM(back, PSTR("Experimental"), lcd_ustep_resolution_menu_back); + MENU_ITEM(function, PSTR("Reset defaults"), lcd_ustep_resolution_reset_def_xyze); + MENU_ITEM_EDIT(mres, PSTR("X-resolution"), &tmc2130_mres[X_AXIS], 4, 4); + MENU_ITEM_EDIT(mres, PSTR("Y-resolution"), &tmc2130_mres[Y_AXIS], 4, 4); + MENU_ITEM_EDIT(mres, PSTR("Z-resolution"), &tmc2130_mres[Z_AXIS], 4, 4); + MENU_ITEM_EDIT(mres, PSTR("E-resolution"), &tmc2130_mres[E_AXIS], 2, 5); + END_MENU(); +} + +static void lcd_ustep_linearity_menu_save() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC, tmc2130_wave_fac[X_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC, tmc2130_wave_fac[Y_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC, tmc2130_wave_fac[Z_AXIS]); + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC, tmc2130_wave_fac[E_AXIS]); +} + +static void lcd_ustep_linearity_menu_back() +{ + bool changed = false; + if (tmc2130_wave_fac[X_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[X_AXIS] = 0; + if (tmc2130_wave_fac[Y_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Y_AXIS] = 0; + if (tmc2130_wave_fac[Z_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Z_AXIS] = 0; + if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[E_AXIS] = 0; + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC) != tmc2130_wave_fac[X_AXIS]); + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC) != tmc2130_wave_fac[Y_AXIS]); + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC) != tmc2130_wave_fac[Z_AXIS]); + changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC) != tmc2130_wave_fac[E_AXIS]); + lcd_ustep_linearity_menu_save(); + if (changed) tmc2130_init(); + currentMenu = lcd_experimantal_menu; + lcd_experimantal_menu(); +} + +static void lcd_ustep_linearity_menu_recomended() +{ + tmc2130_wave_fac[X_AXIS] = 220; + tmc2130_wave_fac[Y_AXIS] = 220; + tmc2130_wave_fac[Z_AXIS] = 220; + tmc2130_wave_fac[E_AXIS] = 220; +} + +static void lcd_ustep_linearity_menu_reset() +{ + tmc2130_wave_fac[X_AXIS] = 0; + tmc2130_wave_fac[Y_AXIS] = 0; + tmc2130_wave_fac[Z_AXIS] = 0; + tmc2130_wave_fac[E_AXIS] = 0; +} + +static void lcd_ustep_linearity_menu() +{ + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + START_MENU(); + MENU_ITEM(back, PSTR("Experimental"), lcd_ustep_linearity_menu_back); + MENU_ITEM(function, PSTR("Reset correction"), lcd_ustep_linearity_menu_reset); + MENU_ITEM(function, PSTR("Recomended config"), lcd_ustep_linearity_menu_recomended); + MENU_ITEM_EDIT(wfac, PSTR("X-correction"), &tmc2130_wave_fac[X_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + MENU_ITEM_EDIT(wfac, PSTR("Y-correction"), &tmc2130_wave_fac[Y_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + MENU_ITEM_EDIT(wfac, PSTR("Z-correction"), &tmc2130_wave_fac[Z_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + MENU_ITEM_EDIT(wfac, PSTR("E-correction"), &tmc2130_wave_fac[E_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + END_MENU(); +} + +static void lcd_experimantal_menu_save_all() +{ + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, tmc2130_home_enabled); + lcd_ustep_resolution_menu_save(); + lcd_ustep_linearity_menu_save(); + Config_StoreSettings(EEPROM_OFFSET); +} + +static void lcd_experimantal_menu_disable_all() +{ + tmc2130_home_enabled = 0; + lcd_ustep_resolution_reset_def_xyze(); + lcd_ustep_linearity_menu_reset(); + lcd_experimantal_menu_save_all(); + tmc2130_init(); +} + +static void lcd_experimantal_menu() +{ + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(function, PSTR("All Xfeatures off"), lcd_experimantal_menu_disable_all); + MENU_ITEM(submenu, PSTR("Homing accuracy"), lcd_homing_accuracy_menu); + MENU_ITEM(submenu, PSTR("uStep resolution"), lcd_ustep_resolution_menu); + MENU_ITEM(submenu, PSTR("uStep linearity"), lcd_ustep_linearity_menu); + END_MENU(); +} +#endif //EXPERIMENTAL_FEATURES + + +static void lcd_calibration_menu() +{ + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + if (!isPrintPaused) + { + MENU_ITEM(function, MSG_WIZARD, lcd_wizard); + MENU_ITEM(submenu, MSG_V2_CALIBRATION, lcd_v2_calibration); + MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28 W")); + MENU_ITEM(function, MSG_SELFTEST, lcd_selftest_v); +#ifdef MK1BP + // MK1 + // "Calibrate Z" + MENU_ITEM(gcode, MSG_HOMEYZ, PSTR("G28 Z")); +#else //MK1BP + // MK2 + MENU_ITEM(function, MSG_CALIBRATE_BED, lcd_mesh_calibration); + // "Calibrate Z" with storing the reference values to EEPROM. + MENU_ITEM(submenu, MSG_HOMEYZ, lcd_mesh_calibration_z); +#ifndef SNMM + //MENU_ITEM(function, MSG_CALIBRATE_E, lcd_calibrate_extruder); +#endif + // "Mesh Bed Leveling" + MENU_ITEM(submenu, MSG_MESH_BED_LEVELING, lcd_mesh_bedleveling); + +#endif //MK1BP + MENU_ITEM(submenu, MSG_BED_CORRECTION_MENU, lcd_adjust_bed); + MENU_ITEM(submenu, MSG_PID_EXTRUDER, pid_extruder); + MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops); +#ifndef MK1BP + MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44")); +#endif //MK1BP +#ifndef SNMM + //MENU_ITEM(function, MSG_RESET_CALIBRATE_E, lcd_extr_cal_reset); +#endif +#ifndef MK1BP + MENU_ITEM(submenu, MSG_CALIBRATION_PINDA_MENU, lcd_pinda_calibration_menu); +#endif //MK1BP + } + + END_MENU(); +} +/* +void lcd_mylang_top(int hlaska) { + lcd.setCursor(0,0); + lcd.print(" "); + lcd.setCursor(0,0); + lcd_printPGM(MSG_ALL[hlaska-1][LANGUAGE_SELECT]); +} + +void lcd_mylang_drawmenu(int cursor) { + int first = 0; + if (cursor>2) first = cursor-2; + if (cursor==LANG_NUM) first = LANG_NUM-3; + lcd.setCursor(0, 1); + lcd.print(" "); + lcd.setCursor(1, 1); + lcd_printPGM(MSG_ALL[first][LANGUAGE_NAME]); + + lcd.setCursor(0, 2); + lcd.print(" "); + lcd.setCursor(1, 2); + lcd_printPGM(MSG_ALL[first+1][LANGUAGE_NAME]); + + lcd.setCursor(0, 3); + lcd.print(" "); + lcd.setCursor(1, 3); + lcd_printPGM(MSG_ALL[first+2][LANGUAGE_NAME]); + + if (cursor==1) lcd.setCursor(0, 1); + if (cursor>1 && cursor"); + + if (cursor2) { + lcd.setCursor(19,1); + lcd.print("^"); + } +} +*/ + +void lcd_mylang_drawmenu(int cursor) { + int first = 0; + if (cursor>3) first = cursor-3; + if (cursor==LANG_NUM && LANG_NUM>4) first = LANG_NUM-4; + if (cursor==LANG_NUM && LANG_NUM==4) first = LANG_NUM-4; + + + lcd.setCursor(0, 0); + lcd.print(" "); + lcd.setCursor(1, 0); + lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+0)); + + lcd.setCursor(0, 1); + lcd.print(" "); + lcd.setCursor(1, 1); + lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+1)); + + lcd.setCursor(0, 2); + lcd.print(" "); + + if (LANG_NUM > 2){ + lcd.setCursor(1, 2); + lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+2)); + } + + lcd.setCursor(0, 3); + lcd.print(" "); + if (LANG_NUM>3) { + lcd.setCursor(1, 3); + lcd_printPGM(MSG_LANGUAGE_NAME_EXPLICIT(first+3)); + } + + if (cursor==1) lcd.setCursor(0, 0); + if (cursor==2) lcd.setCursor(0, 1); + if (cursor>2) lcd.setCursor(0, 2); + if (cursor==LANG_NUM && LANG_NUM>3) lcd.setCursor(0, 3); + + lcd.print(">"); + + if (cursor4) { + lcd.setCursor(19,3); + lcd.print("\x01"); + } + if (cursor>3 && LANG_NUM>4) { + lcd.setCursor(19,0); + lcd.print("^"); + } +} + +void lcd_mylang_drawcursor(int cursor) { + + if (cursor==1) lcd.setCursor(0, 1); + if (cursor>1 && cursor"); + +} + +void lcd_mylang() { + int enc_dif = 0; + int cursor_pos = 1; + lang_selected=255; + int hlaska=1; + int counter=0; + lcd_set_custom_characters_arrows(); + + lcd_implementation_clear(); + + //lcd_mylang_top(hlaska); + + lcd_mylang_drawmenu(cursor_pos); + + + enc_dif = encoderDiff; + + while ( (lang_selected == 255) ) { + + manage_heater(); + manage_inactivity(true); + + if ( abs((enc_dif - encoderDiff)) > 4 ) { + + //if ( (abs(enc_dif - encoderDiff)) > 1 ) { + if (enc_dif > encoderDiff ) { + cursor_pos --; + } + + if (enc_dif < encoderDiff ) { + cursor_pos ++; + } + + if (cursor_pos > LANG_NUM) { + cursor_pos = LANG_NUM; + } + + if (cursor_pos < 1) { + cursor_pos = 1; + } + + lcd_mylang_drawmenu(cursor_pos); + enc_dif = encoderDiff; + delay(100); + //} + + } else delay(20); + + + if (lcd_clicked()) { + + lcd_set_lang(cursor_pos-1); + delay(500); + + } + /* + if (++counter == 80) { + hlaska++; + if(hlaska>LANG_NUM) hlaska=1; + lcd_mylang_top(hlaska); + lcd_mylang_drawcursor(cursor_pos); + counter=0; + } + */ + }; + + if(MYSERIAL.available() > 1){ + lang_selected = 0; + firstrun = 0; + } + + lcd_set_custom_characters_degree(); + lcd_implementation_clear(); + lcd_return_to_status(); + +} + +void bowden_menu() { + int enc_dif = encoderDiff; + int cursor_pos = 0; + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd.print(">"); + for (int i = 0; i < 4; i++) { + lcd.setCursor(1, i); + lcd.print("Extruder "); + lcd.print(i); + lcd.print(": "); + EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); + lcd.print(bowden_length[i] - 48); + + } + enc_dif = encoderDiff; + + while (1) { + + manage_heater(); + manage_inactivity(true); + + if (abs((enc_dif - encoderDiff)) > 2) { + + if (enc_dif > encoderDiff) { + cursor_pos--; + } + + if (enc_dif < encoderDiff) { + cursor_pos++; + } + + if (cursor_pos > 3) { + cursor_pos = 3; + } + + if (cursor_pos < 0) { + cursor_pos = 0; + } + + lcd.setCursor(0, 0); + lcd.print(" "); + 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()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + + lcd_implementation_clear(); + while (1) { + + manage_heater(); + manage_inactivity(true); + + lcd.setCursor(1, 1); + lcd.print("Extruder "); + lcd.print(cursor_pos); + lcd.print(": "); + lcd.setCursor(13, 1); + lcd.print(bowden_length[cursor_pos] - 48); + + if (abs((enc_dif - encoderDiff)) > 2) { + if (enc_dif > encoderDiff) { + bowden_length[cursor_pos]--; + lcd.setCursor(13, 1); + lcd.print(bowden_length[cursor_pos] - 48); + enc_dif = encoderDiff; + } + + if (enc_dif < encoderDiff) { + bowden_length[cursor_pos]++; + lcd.setCursor(13, 1); + lcd.print(bowden_length[cursor_pos] - 48); + enc_dif = encoderDiff; + } + } + delay(100); + if (lcd_clicked()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + EEPROM_save_B(EEPROM_BOWDEN_LENGTH + cursor_pos * 2, &bowden_length[cursor_pos]); + if (lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Continue with another bowden?"))) { + lcd_update_enable(true); + lcd_implementation_clear(); + enc_dif = encoderDiff; + lcd.setCursor(0, cursor_pos); + lcd.print(">"); + for (int i = 0; i < 4; i++) { + lcd.setCursor(1, i); + lcd.print("Extruder "); + lcd.print(i); + lcd.print(": "); + EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); + lcd.print(bowden_length[i] - 48); + + } + break; + } + else return; + } + } + } + } +} + +static char snmm_stop_print_menu() { //menu for choosing which filaments will be unloaded in stop print + lcd_implementation_clear(); + lcd_print_at_PGM(0,0,MSG_UNLOAD_FILAMENT); lcd.print(":"); + lcd.setCursor(0, 1); lcd.print(">"); + lcd_print_at_PGM(1,1,MSG_ALL); + lcd_print_at_PGM(1,2,MSG_USED); + lcd_print_at_PGM(1,3,MSG_CURRENT); + char cursor_pos = 1; + int enc_dif = 0; + KEEPALIVE_STATE(PAUSED_FOR_USER); + while (1) { + manage_heater(); + manage_inactivity(true); + if (abs((enc_dif - encoderDiff)) > 4) { + + 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()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + KEEPALIVE_STATE(IN_HANDLER); + return(cursor_pos - 1); + } + } + +} + +char choose_extruder_menu() { + + int items_no = 4; + int first = 0; + int enc_dif = 0; + char cursor_pos = 1; + + enc_dif = encoderDiff; + lcd_implementation_clear(); + + lcd_printPGM(MSG_CHOOSE_EXTRUDER); + lcd.setCursor(0, 1); + lcd.print(">"); + for (int i = 0; i < 3; i++) { + lcd_print_at_PGM(1, i + 1, MSG_EXTRUDER); + } + KEEPALIVE_STATE(PAUSED_FOR_USER); + while (1) { + + for (int i = 0; i < 3; i++) { + lcd.setCursor(2 + strlen_P(MSG_EXTRUDER), i+1); + lcd.print(first + i + 1); + } + + manage_heater(); + manage_inactivity(true); + + if (abs((enc_dif - encoderDiff)) > 4) { + + 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 (first < items_no - 3) { + first++; + lcd_implementation_clear(); + lcd_printPGM(MSG_CHOOSE_EXTRUDER); + for (int i = 0; i < 3; i++) { + lcd_print_at_PGM(1, i + 1, MSG_EXTRUDER); + } + } + } + + if (cursor_pos < 1) { + cursor_pos = 1; + if (first > 0) { + first--; + lcd_implementation_clear(); + lcd_printPGM(MSG_CHOOSE_EXTRUDER); + for (int i = 0; i < 3; i++) { + lcd_print_at_PGM(1, i + 1, MSG_EXTRUDER); + } + } + } + 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_update(2); + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + KEEPALIVE_STATE(IN_HANDLER); + return(cursor_pos + first - 1); + + } + + } + +} + + +char reset_menu() { +#ifdef SNMM + int items_no = 5; +#else + int items_no = 4; +#endif + static int first = 0; + int enc_dif = 0; + char cursor_pos = 0; + const char *item [items_no]; + + item[0] = "Language"; + item[1] = "Statistics"; + item[2] = "Shipping prep"; + item[3] = "All Data"; +#ifdef SNMM + item[4] = "Bowden length"; +#endif // SNMM + + enc_dif = encoderDiff; + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd.print(">"); + + while (1) { + + for (int i = 0; i < 4; i++) { + lcd.setCursor(1, i); + lcd.print(item[first + i]); + } + + manage_heater(); + manage_inactivity(true); + + if (abs((enc_dif - encoderDiff)) > 4) { + + 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 (first < items_no - 4) { + first++; + lcd_implementation_clear(); + } + } + + if (cursor_pos < 0) { + cursor_pos = 0; + if (first > 0) { + first--; + lcd_implementation_clear(); + } + } + lcd.setCursor(0, 0); + lcd.print(" "); + 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()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + return(cursor_pos + first); + } + + } + +} + +static void lcd_disable_farm_mode() { + int8_t disable = lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Disable farm mode?"), true, false); //allow timeouting, default no + if (disable) { + enquecommand_P(PSTR("G99")); + lcd_return_to_status(); + } + else { + lcd_goto_menu(lcd_settings_menu); + } + lcd_update_enable(true); + lcdDrawUpdate = 2; + +} + +static void lcd_ping_allert() { + if ((abs(millis() - allert_timer)*0.001) > PING_ALLERT_PERIOD) { + allert_timer = millis(); + SET_OUTPUT(BEEPER); + for (int i = 0; i < 2; i++) { + WRITE(BEEPER, HIGH); + delay(50); + WRITE(BEEPER, LOW); + delay(100); + } + } + +}; + + +#ifdef SNMM + +static void extr_mov(float shift, float feed_rate) { //move extruder no matter what the current heater temperature is + set_extrude_min_temp(.0); + current_position[E_AXIS] += shift; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feed_rate, active_extruder); + set_extrude_min_temp(EXTRUDE_MINTEMP); +} + + +void change_extr(int extr) { //switches multiplexer for extruders + st_synchronize(); + delay(100); + + disable_e0(); + disable_e1(); + disable_e2(); + +#ifdef SNMM + snmm_extruder = extr; +#endif + + pinMode(E_MUX0_PIN, OUTPUT); + pinMode(E_MUX1_PIN, OUTPUT); + pinMode(E_MUX2_PIN, OUTPUT); + + switch (extr) { + case 1: + WRITE(E_MUX0_PIN, HIGH); + WRITE(E_MUX1_PIN, LOW); + WRITE(E_MUX2_PIN, LOW); + + break; + case 2: + WRITE(E_MUX0_PIN, LOW); + WRITE(E_MUX1_PIN, HIGH); + WRITE(E_MUX2_PIN, LOW); + + break; + case 3: + WRITE(E_MUX0_PIN, HIGH); + WRITE(E_MUX1_PIN, HIGH); + WRITE(E_MUX2_PIN, LOW); + + break; + default: + WRITE(E_MUX0_PIN, LOW); + WRITE(E_MUX1_PIN, LOW); + WRITE(E_MUX2_PIN, LOW); + + break; + } + delay(100); +} + +static int get_ext_nr() { //reads multiplexer input pins and return current extruder number (counted from 0) + return(4 * READ(E_MUX2_PIN) + 2 * READ(E_MUX1_PIN) + READ(E_MUX0_PIN)); +} + + +void display_loading() { + switch (snmm_extruder) { + case 1: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T1); break; + case 2: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T2); break; + case 3: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T3); break; + default: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T0); break; + } +} + +static void extr_adj(int extruder) //loading filament for SNMM +{ + bool correct; + max_feedrate[E_AXIS] =80; + //max_feedrate[E_AXIS] = 50; + START: + lcd_implementation_clear(); + lcd.setCursor(0, 0); + switch (extruder) { + case 1: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T1); break; + case 2: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T2); break; + case 3: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T3); break; + default: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T0); break; + } + KEEPALIVE_STATE(PAUSED_FOR_USER); + do{ + extr_mov(0.001,1000); + delay_keep_alive(2); + } while (!lcd_clicked()); + //delay_keep_alive(500); + KEEPALIVE_STATE(IN_HANDLER); + st_synchronize(); + //correct = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_FIL_LOADED_CHECK, false); + //if (!correct) goto START; + //extr_mov(BOWDEN_LENGTH/2.f, 500); //dividing by 2 is there because of max. extrusion length limitation (x_max + y_max) + //extr_mov(BOWDEN_LENGTH/2.f, 500); + extr_mov(bowden_length[extruder], 500); + lcd_implementation_clear(); + lcd.setCursor(0, 0); lcd_printPGM(MSG_LOADING_FILAMENT); + if(strlen(MSG_LOADING_FILAMENT)>18) lcd.setCursor(0, 1); + else lcd.print(" "); + lcd.print(snmm_extruder + 1); + lcd.setCursor(0, 2); lcd_printPGM(MSG_PLEASE_WAIT); + st_synchronize(); + max_feedrate[E_AXIS] = 50; + lcd_update_enable(true); + lcd_return_to_status(); + lcdDrawUpdate = 2; +} + + +void extr_unload() { //unloads filament + float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; + float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; + int8_t SilentMode; + + if (degHotend0() > EXTRUDE_MINTEMP) { + lcd_implementation_clear(); + lcd_display_message_fullscreen_P(PSTR("")); + max_feedrate[E_AXIS] = 50; + lcd.setCursor(0, 0); lcd_printPGM(MSG_UNLOADING_FILAMENT); + lcd.print(" "); + lcd.print(snmm_extruder + 1); + lcd.setCursor(0, 2); lcd_printPGM(MSG_PLEASE_WAIT); + if (current_position[Z_AXIS] < 15) { + current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 25, active_extruder); + } + + current_position[E_AXIS] += 10; //extrusion + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder); + digipot_current(2, E_MOTOR_HIGH_CURRENT); + if (current_temperature[0] < 230) { //PLA & all other filaments + current_position[E_AXIS] += 5.4; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2800 / 60, active_extruder); + current_position[E_AXIS] += 3.2; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); + current_position[E_AXIS] += 3; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3400 / 60, active_extruder); + } + else { //ABS + current_position[E_AXIS] += 3.1; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2000 / 60, active_extruder); + current_position[E_AXIS] += 3.1; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2500 / 60, active_extruder); + current_position[E_AXIS] += 4; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); + /*current_position[X_AXIS] += 23; //delay + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder); //delay + current_position[X_AXIS] -= 23; //delay + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder); //delay*/ + delay_keep_alive(4700); + } + + max_feedrate[E_AXIS] = 80; + current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); + current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); + st_synchronize(); + //digipot_init(); + if (SilentMode == 1) digipot_current(2, tmp_motor[2]); //set back to normal operation currents + else digipot_current(2, tmp_motor_loud[2]); + lcd_update_enable(true); + lcd_return_to_status(); + max_feedrate[E_AXIS] = 50; + } + else { + + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + + delay(2000); + lcd_implementation_clear(); + } + + lcd_return_to_status(); + + + + +} + +//wrapper functions for loading filament +static void extr_adj_0(){ + change_extr(0); + extr_adj(0); +} +static void extr_adj_1() { + change_extr(1); + extr_adj(1); +} +static void extr_adj_2() { + change_extr(2); + extr_adj(2); +} +static void extr_adj_3() { + change_extr(3); + extr_adj(3); +} + +static void load_all() { + for (int i = 0; i < 4; i++) { + change_extr(i); + extr_adj(i); + } +} + +//wrapper functions for changing extruders +static void extr_change_0() { + change_extr(0); + lcd_return_to_status(); +} +static void extr_change_1() { + change_extr(1); + lcd_return_to_status(); +} +static void extr_change_2() { + change_extr(2); + lcd_return_to_status(); +} +static void extr_change_3() { + change_extr(3); + lcd_return_to_status(); +} + +//wrapper functions for unloading filament +void extr_unload_all() { + if (degHotend0() > EXTRUDE_MINTEMP) { + for (int i = 0; i < 4; i++) { + change_extr(i); + extr_unload(); + } + } + else { + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + delay(2000); + lcd_implementation_clear(); + lcd_return_to_status(); + } +} + +//unloading just used filament (for snmm) + +void extr_unload_used() { + if (degHotend0() > EXTRUDE_MINTEMP) { + for (int i = 0; i < 4; i++) { + if (snmm_filaments_used & (1 << i)) { + change_extr(i); + extr_unload(); + } + } + snmm_filaments_used = 0; + } + else { + lcd_implementation_clear(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + delay(2000); + lcd_implementation_clear(); + lcd_return_to_status(); + } +} + + + +static void extr_unload_0() { + change_extr(0); + extr_unload(); +} +static void extr_unload_1() { + change_extr(1); + extr_unload(); +} +static void extr_unload_2() { + change_extr(2); + extr_unload(); +} +static void extr_unload_3() { + change_extr(3); + extr_unload(); +} + + +static void fil_load_menu() +{ + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(function, MSG_LOAD_ALL, load_all); + MENU_ITEM(function, MSG_LOAD_FILAMENT_1, extr_adj_0); + MENU_ITEM(function, MSG_LOAD_FILAMENT_2, extr_adj_1); + MENU_ITEM(function, MSG_LOAD_FILAMENT_3, extr_adj_2); + MENU_ITEM(function, MSG_LOAD_FILAMENT_4, extr_adj_3); + + END_MENU(); +} + +static void fil_unload_menu() +{ + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(function, MSG_UNLOAD_ALL, extr_unload_all); + MENU_ITEM(function, MSG_UNLOAD_FILAMENT_1, extr_unload_0); + MENU_ITEM(function, MSG_UNLOAD_FILAMENT_2, extr_unload_1); + MENU_ITEM(function, MSG_UNLOAD_FILAMENT_3, extr_unload_2); + MENU_ITEM(function, MSG_UNLOAD_FILAMENT_4, extr_unload_3); + + END_MENU(); +} + +static void change_extr_menu(){ + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(function, MSG_EXTRUDER_1, extr_change_0); + MENU_ITEM(function, MSG_EXTRUDER_2, extr_change_1); + MENU_ITEM(function, MSG_EXTRUDER_3, extr_change_2); + MENU_ITEM(function, MSG_EXTRUDER_4, extr_change_3); + + END_MENU(); +} + +#endif + +static void lcd_farm_no() +{ + char step = 0; + int enc_dif = 0; + int _farmno = farm_no; + int _ret = 0; + lcd_implementation_clear(); + + lcd.setCursor(0, 0); + lcd.print("Farm no"); + + do + { + + if (abs((enc_dif - encoderDiff)) > 2) { + if (enc_dif > encoderDiff) { + switch (step) { + case(0): if (_farmno >= 100) _farmno -= 100; break; + case(1): if (_farmno % 100 >= 10) _farmno -= 10; break; + case(2): if (_farmno % 10 >= 1) _farmno--; break; + default: break; + } + } + + if (enc_dif < encoderDiff) { + switch (step) { + case(0): if (_farmno < 900) _farmno += 100; break; + case(1): if (_farmno % 100 < 90) _farmno += 10; break; + case(2): if (_farmno % 10 <= 8)_farmno++; break; + default: break; + } + } + enc_dif = 0; + encoderDiff = 0; + } + + lcd.setCursor(0, 2); + if (_farmno < 100) lcd.print("0"); + if (_farmno < 10) lcd.print("0"); + lcd.print(_farmno); + lcd.print(" "); + lcd.setCursor(0, 3); + lcd.print(" "); + + + lcd.setCursor(step, 3); + lcd.print("^"); + delay(100); + + if (lcd_clicked()) + { + delay(200); + step++; + if(step == 3) { + _ret = 1; + farm_no = _farmno; + EEPROM_save_B(EEPROM_FARM_NUMBER, &farm_no); + prusa_statistics(20); + lcd_return_to_status(); + } + } + + manage_heater(); + } while (_ret == 0); + +} + +void lcd_confirm_print() +{ + int enc_dif = 0; + int cursor_pos = 1; + int _ret = 0; + int _t = 0; + + + lcd_implementation_clear(); + + lcd.setCursor(0, 0); + lcd.print("Print ok ?"); + + do + { + + if (abs((enc_dif - encoderDiff)) > 2) { + if (enc_dif > encoderDiff) { + cursor_pos--; + } + + if (enc_dif < encoderDiff) { + cursor_pos++; + } + } + + if (cursor_pos > 2) { cursor_pos = 2; } + if (cursor_pos < 1) { cursor_pos = 1; } + + lcd.setCursor(0, 2); lcd.print(" "); + lcd.setCursor(0, 3); lcd.print(" "); + lcd.setCursor(2, 2); + lcd_printPGM(MSG_YES); + lcd.setCursor(2, 3); + lcd_printPGM(MSG_NO); + lcd.setCursor(0, 1 + cursor_pos); + lcd.print(">"); + delay(100); + + _t = _t + 1; + if (_t>100) + { + prusa_statistics(99); + _t = 0; + } + if (lcd_clicked()) + { + if (cursor_pos == 1) + { + _ret = 1; + filament_type = lcd_choose_color(); + prusa_statistics(4, filament_type); + no_response = true; //we need confirmation by recieving PRUSA thx + important_status = 4; + saved_filament_type = filament_type; + NcTime = millis(); + } + if (cursor_pos == 2) + { + _ret = 2; + filament_type = lcd_choose_color(); + prusa_statistics(5, filament_type); + no_response = true; //we need confirmation by recieving PRUSA thx + important_status = 5; + saved_filament_type = filament_type; + NcTime = millis(); + } + } + + manage_heater(); + manage_inactivity(); + + } while (_ret == 0); + +} + +extern bool saved_printing; + +static void lcd_main_menu() +{ + + SDscrool = 0; + START_MENU(); + + // Majkl superawesome menu + + + MENU_ITEM(back, MSG_WATCH, lcd_status_screen); + +#ifdef RESUME_DEBUG + if (!saved_printing) + MENU_ITEM(function, PSTR("tst - Save"), lcd_menu_test_save); + else + MENU_ITEM(function, PSTR("tst - Restore"), lcd_menu_test_restore); +#endif //RESUME_DEBUG + +#ifdef TMC2130_DEBUG + MENU_ITEM(function, PSTR("recover print"), recover_print); + MENU_ITEM(function, PSTR("power panic"), uvlo_); +#endif //TMC2130_DEBUG + + /* if (farm_mode && !IS_SD_PRINTING ) + { + + 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(); + + card.getWorkDirName(); + if (card.filename[0] == '/') + { +#if SDCARDDETECT == -1 + MENU_ITEM(function, MSG_REFRESH, lcd_sd_refresh); +#endif + } else { + MENU_ITEM(function, PSTR(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(); + } + } + + MENU_ITEM(back, PSTR("- - - - - - - - -"), lcd_status_screen); + + + }*/ + + if ( ( IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) && !homing_flag && !mesh_bed_leveling_flag) + { + MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);//8 + } + + + if ( moves_planned() || IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) + { + MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu); + } else + { + MENU_ITEM(submenu, MSG_PREHEAT, lcd_preheat_menu); + } + +#ifdef SDSUPPORT + if (card.cardOK || lcd_commands_type == LCD_COMMAND_V2_CAL) + { + if (card.isFileOpen()) + { + if (mesh_bed_leveling_flag == false && homing_flag == false) { + if (card.sdprinting) + { + MENU_ITEM(function, MSG_PAUSE_PRINT, lcd_sdcard_pause); + } + else + { + MENU_ITEM(function, MSG_RESUME_PRINT, lcd_sdcard_resume); + } + MENU_ITEM(submenu, MSG_STOP_PRINT, lcd_sdcard_stop); + } + } + else if (lcd_commands_type == LCD_COMMAND_V2_CAL && mesh_bed_leveling_flag == false && homing_flag == false) { + //MENU_ITEM(submenu, MSG_STOP_PRINT, lcd_sdcard_stop); + } + else + { + if (!is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) + { + //if (farm_mode) MENU_ITEM(submenu, MSG_FARM_CARD_MENU, lcd_farm_sdcard_menu); + /*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 || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) + { + if (farm_mode) + { + MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no); + } + } + else + { + #ifndef SNMM + if ( ((filament_autoload_enabled == true) && (fsensor_enabled == true))) + MENU_ITEM(function, MSG_AUTOLOAD_FILAMENT, lcd_LoadFilament); + else + MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament); + MENU_ITEM(function, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament); + #endif + #ifdef SNMM + MENU_ITEM(submenu, MSG_LOAD_FILAMENT, fil_load_menu); + MENU_ITEM(submenu, MSG_UNLOAD_FILAMENT, fil_unload_menu); + MENU_ITEM(submenu, MSG_CHANGE_EXTR, change_extr_menu); + #endif + MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu); + if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu); + +#ifdef EXPERIMENTAL_FEATURES + MENU_ITEM(submenu, PSTR("Experimantal"), lcd_experimantal_menu); +#endif //EXPERIMENTAL_FEATURES + } + + if (!is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) + { + MENU_ITEM(submenu, MSG_STATISTICS, lcd_menu_statistics); + } + + MENU_ITEM(submenu, PSTR("Fail stats"), lcd_menu_fails_stats); + + MENU_ITEM(submenu, MSG_SUPPORT, lcd_support_menu); + + END_MENU(); + +} + +void stack_error() { + SET_OUTPUT(BEEPER); + WRITE(BEEPER, HIGH); + delay(1000); + WRITE(BEEPER, LOW); + lcd_display_message_fullscreen_P(MSG_STACK_ERROR); + //err_triggered = 1; + while (1) delay_keep_alive(1000); +} + +#ifdef DEBUG_STEPPER_TIMER_MISSED +bool stepper_timer_overflow_state = false; +uint16_t stepper_timer_overflow_max = 0; +uint16_t stepper_timer_overflow_last = 0; +uint16_t stepper_timer_overflow_cnt = 0; +void stepper_timer_overflow() { + char msg[28]; + sprintf_P(msg, PSTR("#%d %d max %d"), ++ stepper_timer_overflow_cnt, stepper_timer_overflow_last >> 1, stepper_timer_overflow_max >> 1); + lcd_setstatus(msg); + stepper_timer_overflow_state = false; + if (stepper_timer_overflow_last > stepper_timer_overflow_max) + stepper_timer_overflow_max = stepper_timer_overflow_last; + SERIAL_ECHOPGM("Stepper timer overflow: "); + MYSERIAL.print(msg); + SERIAL_ECHOLNPGM(""); + + WRITE(BEEPER, LOW); +} +#endif /* DEBUG_STEPPER_TIMER_MISSED */ + +#ifdef SDSUPPORT +static void lcd_autostart_sd() +{ + card.lastnr = 0; + card.setroot(); + card.checkautostart(true); +} +#endif + + + +static void lcd_colorprint_change() { + + enquecommand_P(PSTR("M600")); + + custom_message = true; + custom_message_type = 2; //just print status message + lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS); + lcd_return_to_status(); + lcdDrawUpdate = 3; +} + +static void lcd_tune_menu() +{ + if (menuData.tuneMenu.status == 0) { + // Menu was entered. Mark the menu as entered and save the current extrudemultiply value. + menuData.tuneMenu.status = 1; + menuData.tuneMenu.extrudemultiply = extrudemultiply; + } else if (menuData.tuneMenu.extrudemultiply != extrudemultiply) { + // extrudemultiply has been changed from the child menu. Apply the new value. + menuData.tuneMenu.extrudemultiply = extrudemultiply; + calculate_extruder_multipliers(); + } + + EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); + + + + START_MENU(); + MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 + MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 + + MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 + MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 + + MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 + MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 +#ifdef FILAMENTCHANGEENABLE + MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 +#endif + +#ifndef DEBUG_DISABLE_FSENSORCHECK + if (FSensorStateMenu == 0) { + MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); + } else { + MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); + } +#endif //DEBUG_DISABLE_FSENSORCHECK + + if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); + + if (SilentModeMenu == 0) + { + if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); + else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); + } + else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); + + 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); +#if TEMP_SENSOR_0 != 0 + MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10); +#endif +#if TEMP_SENSOR_1 != 0 + MENU_ITEM_EDIT(int3, MSG_NOZZLE1, &target_temperature[1], 0, HEATER_1_MAXTEMP - 10); +#endif +#if TEMP_SENSOR_2 != 0 + MENU_ITEM_EDIT(int3, MSG_NOZZLE2, &target_temperature[2], 0, HEATER_2_MAXTEMP - 10); +#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 - 10); + MENU_ITEM_EDIT(float3, MSG_MAX, &autotemp_max, 0, HEATER_0_MAXTEMP - 10); + 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_print_stop() { + cancel_heatup = true; +#ifdef MESH_BED_LEVELING + mbl.active = false; +#endif + // Stop the stoppers, update the position from the stoppers. + if (mesh_bed_leveling_flag == false && homing_flag == false) { + planner_abort_hard(); + // Because the planner_abort_hard() initialized current_position[Z] from the stepper, + // Z baystep is no more applied. Reset it. + babystep_reset(); + } + // Clean the input command queue. + cmdqueue_reset(); + lcd_setstatuspgm(MSG_PRINT_ABORTED); + lcd_update(2); + card.sdprinting = false; + card.closefile(); + + stoptime = millis(); + unsigned long t = (stoptime - starttime - pause_time) / 1000; //time in s + pause_time = 0; + save_statistics(total_filament_used, t); + + lcd_return_to_status(); + lcd_ignore_click(true); + lcd_commands_step = 0; + lcd_commands_type = LCD_COMMAND_STOP_PRINT; + + // Turn off the print fan + SET_OUTPUT(FAN_PIN); + WRITE(FAN_PIN, 0); + fanSpeed = 0; +} + +void lcd_sdcard_stop() +{ + + lcd.setCursor(0, 0); + lcd_printPGM(MSG_STOP_PRINT); + lcd.setCursor(2, 2); + lcd_printPGM(MSG_NO); + lcd.setCursor(2, 3); + lcd_printPGM(MSG_YES); + lcd.setCursor(0, 2); lcd.print(" "); + lcd.setCursor(0, 3); lcd.print(" "); + + if ((int32_t)encoderPosition > 2) { encoderPosition = 2; } + if ((int32_t)encoderPosition < 1) { encoderPosition = 1; } + + lcd.setCursor(0, 1 + encoderPosition); + lcd.print(">"); + + if (lcd_clicked()) + { + if ((int32_t)encoderPosition == 1) + { + lcd_return_to_status(); + } + if ((int32_t)encoderPosition == 2) + { + lcd_print_stop(); + } + } + +} +/* +void getFileDescription(char *name, char *description) { + // get file description, ie the REAL filenam, ie the second line + card.openFile(name, true); + int i = 0; + // skip the first line (which is the version line) + while (true) { + uint16_t readByte = card.get(); + if (readByte == '\n') { + break; + } + } + // read the second line (which is the description line) + while (true) { + uint16_t readByte = card.get(); + if (i == 0) { + // skip the first '^' + readByte = card.get(); + } + description[i] = readByte; + i++; + if (readByte == '\n') { + break; + } + } + card.closefile(); + description[i-1] = 0; +} +*/ + +void lcd_sdcard_menu() +{ + uint8_t sdSort = eeprom_read_byte((uint8_t*)EEPROM_SD_SORT); + int tempScrool = 0; + if (presort_flag == true) { + presort_flag = false; + card.presort(); + } + 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, MSG_REFRESH, lcd_sd_refresh); +#endif + } else { + MENU_ITEM(function, PSTR(LCD_STR_FOLDER ".."), lcd_sd_updir); + } + + for (uint16_t i = 0; i < fileCnt; i++) + { + if (_menuItemNr == _lineNr) + { + const uint16_t nr = ((sdSort == SD_SORT_NONE) || farm_mode || (sdSort == SD_SORT_TIME)) ? (fileCnt - 1 - i) : i; + /*#ifdef SDCARD_RATHERRECENTFIRST + #ifndef SDCARD_SORT_ALPHA + fileCnt - 1 - + #endif + #endif + i;*/ + #ifdef SDCARD_SORT_ALPHA + if (sdSort == SD_SORT_NONE) card.getfilename(nr); + else card.getfilename_sorted(nr); + #else + card.getfilename(nr); + #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(); +} + +//char description [10] [31]; + +/*void get_description() { + uint16_t fileCnt = card.getnrfilenames(); + for (uint16_t i = 0; i < fileCnt; i++) + { + card.getfilename(fileCnt - 1 - i); + getFileDescription(card.filename, description[i]); + } +}*/ + +/*void lcd_farm_sdcard_menu() +{ + static int i = 0; + if (i == 0) { + get_description(); + i++; + } + //int j; + //char description[31]; + 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, MSG_REFRESH, lcd_sd_refresh); +#endif + } + else { + MENU_ITEM(function, PSTR(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, description[i]); + } + } + 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 > menuData.editMenuParentState.maxEditValue) encoderPosition = menuData.editMenuParentState.maxEditValue; \ + if (lcdDrawUpdate) \ + lcd_implementation_drawedit(menuData.editMenuParentState.editLabel, _strFunc(((_type)((int32_t)encoderPosition + menuData.editMenuParentState.minEditValue)) / scale)); \ + if (LCD_CLICKED) \ + { \ + *((_type*)menuData.editMenuParentState.editValue) = ((_type)((int32_t)encoderPosition + menuData.editMenuParentState.minEditValue)) / scale; \ + lcd_goto_menu(menuData.editMenuParentState.prevMenu, menuData.editMenuParentState.prevEncoderPosition, true, false); \ + } \ + } \ + static void menu_action_setting_edit_ ## _name (const char* pstr, _type* ptr, _type minValue, _type maxValue) \ + { \ + asm("cli"); \ + menuData.editMenuParentState.prevMenu = currentMenu; \ + menuData.editMenuParentState.prevEncoderPosition = encoderPosition; \ + asm("sei"); \ + \ + lcdDrawUpdate = 2; \ + menuData.editMenuParentState.editLabel = pstr; \ + menuData.editMenuParentState.editValue = ptr; \ + menuData.editMenuParentState.minEditValue = minValue * scale; \ + menuData.editMenuParentState.maxEditValue = maxValue * scale - menuData.editMenuParentState.minEditValue; \ + lcd_goto_menu(menu_edit_ ## _name, (*ptr) * scale - menuData.editMenuParentState.minEditValue, true, false); \ + \ + }\ + /* + void menu_edit_callback_ ## _name () { \ + menu_edit_ ## _name (); \ + if (LCD_CLICKED) (*callbackFunc)(); \ + } \ + static void menu_action_setting_edit_callback_ ## _name (const char* pstr, _type* ptr, _type minValue, _type maxValue, menuFunc_t callback) \ + { \ + menuData.editMenuParentState.prevMenu = currentMenu; \ + menuData.editMenuParentState.prevEncoderPosition = encoderPosition; \ + \ + lcdDrawUpdate = 2; \ + lcd_goto_menu(menu_edit_callback_ ## _name, (*ptr) * scale - menuData.editMenuParentState.minEditValue, true, false); \ + \ + menuData.editMenuParentState.editLabel = pstr; \ + menuData.editMenuParentState.editValue = ptr; \ + menuData.editMenuParentState.minEditValue = minValue * scale; \ + menuData.editMenuParentState.maxEditValue = maxValue * scale - menuData.editMenuParentState.minEditValue; \ + callbackFunc = callback;\ + } + */ + +// Convert tmc2130 mres to string +char *mres_to_str3(const uint8_t &x) +{ + return itostr3(256 >> x); +} + +extern char conv[8]; + +// Convert tmc2130 wfac to string +char *wfac_to_str5(const uint8_t &x) +{ + if (x>=TMC2130_WAVE_FAC200_MIN) return ftostr43(((float)(x & 0xff))/200); + conv[0] = ' '; + conv[1] = ' '; + conv[2] = 'O'; + conv[3] = 'f'; + conv[4] = 'f'; + conv[5] = 0; + return conv; +} + +menu_edit_type(uint8_t, wfac, wfac_to_str5, 1) +menu_edit_type(uint8_t, mres, mres_to_str3, 1) +menu_edit_type(uint8_t, byte3, itostr3, 1) +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) + +static void lcd_selftest_v() +{ + (void)lcd_selftest(); +} + +bool lcd_selftest() +{ + int _progress = 0; + bool _result = true; + lcd_wait_for_cool_down(); + lcd_implementation_clear(); + lcd.setCursor(0, 0); lcd_printPGM(MSG_SELFTEST_START); + #ifdef TMC2130 + FORCE_HIGH_POWER_START; + #endif // TMC2130 + delay(2000); + KEEPALIVE_STATE(IN_HANDLER); + + if (_result) + { + _progress = lcd_selftest_screen(-1, _progress, 3, true, 2000); + _result = lcd_selftest_fan_dialog(0); + } + + if (_result) + { + _progress = lcd_selftest_screen(0, _progress, 3, true, 2000); + _result = lcd_selftest_fan_dialog(1); + } + + if (_result) + { + _progress = lcd_selftest_screen(1, _progress, 3, true, 2000); + //_progress = lcd_selftest_screen(2, _progress, 3, true, 2000); + _result = true;// lcd_selfcheck_endstops(); + } + + if (_result) + { + _progress = lcd_selftest_screen(3, _progress, 3, true, 1000); + _result = lcd_selfcheck_check_heater(false); + } + + if (_result) + { + //current_position[Z_AXIS] += 15; //move Z axis higher to avoid false triggering of Z end stop in case that we are very low - just above heatbed + _progress = lcd_selftest_screen(4, _progress, 3, true, 2000); +#ifdef TMC2130 + _result = lcd_selfcheck_axis_sg(X_AXIS); +#else + _result = lcd_selfcheck_axis(X_AXIS, X_MAX_POS); +#endif //TMC2130 + } + + if (_result) + { + _progress = lcd_selftest_screen(4, _progress, 3, true, 0); + +#ifndef TMC2130 + _result = lcd_selfcheck_pulleys(X_AXIS); +#endif + } + + + if (_result) + { + _progress = lcd_selftest_screen(5, _progress, 3, true, 1500); +#ifdef TMC2130 + _result = lcd_selfcheck_axis_sg(Y_AXIS); +#else + _result = lcd_selfcheck_axis(Y_AXIS, Y_MAX_POS); +#endif // TMC2130 + } + + if (_result) + { + _progress = lcd_selftest_screen(5, _progress, 3, true, 0); +#ifndef TMC2130 + _result = lcd_selfcheck_pulleys(Y_AXIS); +#endif // TMC2130 + } + + + if (_result) + { +#ifdef TMC2130 + tmc2130_home_exit(); + enable_endstops(false); +#endif + current_position[X_AXIS] = current_position[X_AXIS] + 14; + current_position[Y_AXIS] = current_position[Y_AXIS] + 12; + + //homeaxis(X_AXIS); + //homeaxis(Y_AXIS); + current_position[Z_AXIS] = current_position[Z_AXIS] + 10; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + _progress = lcd_selftest_screen(6, _progress, 3, true, 1500); + _result = lcd_selfcheck_axis(2, Z_MAX_POS); + if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) != 1) { + enquecommand_P(PSTR("G28 W")); + enquecommand_P(PSTR("G1 Z15 F1000")); + } + } + + if (_result) + { + _progress = lcd_selftest_screen(13, 0, 2, true, 0); + bool bres = tmc2130_home_calibrate(X_AXIS); + _progress = lcd_selftest_screen(13, 1, 2, true, 0); + bres &= tmc2130_home_calibrate(Y_AXIS); + _progress = lcd_selftest_screen(13, 2, 2, true, 0); + if (bres) + eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, 1); + _result = bres; + } + + if (_result) + { + _progress = lcd_selftest_screen(7, _progress, 3, true, 2000); //check bed + _result = lcd_selfcheck_check_heater(true); + } + if (_result) + { + _progress = lcd_selftest_screen(8, _progress, 3, true, 2000); //bed ok +#ifdef PAT9125 + _progress = lcd_selftest_screen(9, _progress, 3, true, 2000); //check filaments sensor + _result = lcd_selftest_fsensor(); +#endif // PAT9125 + } + if (_result) + { +#ifdef PAT9125 + _progress = lcd_selftest_screen(10, _progress, 3, true, 2000); //fil sensor OK +#endif // PAT9125 + _progress = lcd_selftest_screen(11, _progress, 3, true, 5000); //all correct + } + else + { + _progress = lcd_selftest_screen(12, _progress, 3, true, 5000); + } + lcd_reset_alert_level(); + enquecommand_P(PSTR("M84")); + lcd_implementation_clear(); + lcd_next_update_millis = millis() + LCD_UPDATE_INTERVAL; + + if (_result) + { + LCD_ALERTMESSAGERPGM(MSG_SELFTEST_OK); + } + else + { + LCD_ALERTMESSAGERPGM(MSG_SELFTEST_FAILED); + } + #ifdef TMC2130 + FORCE_HIGH_POWER_END; + #endif // TMC2130 + KEEPALIVE_STATE(NOT_BUSY); + return(_result); +} + +#ifdef TMC2130 + +static void reset_crash_det(char axis) { + current_position[axis] += 10; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET)) tmc2130_sg_stop_on_crash = true; +} + +static bool lcd_selfcheck_axis_sg(char axis) { +// each axis length is measured twice + float axis_length, current_position_init, current_position_final; + float measured_axis_length[2]; + float margin = 60; + float max_error_mm = 5; + switch (axis) { + case 0: axis_length = X_MAX_POS; break; + case 1: axis_length = Y_MAX_POS + 8; break; + default: axis_length = 210; break; + } + + tmc2130_sg_stop_on_crash = false; + tmc2130_home_exit(); + enable_endstops(true); + + if (axis == X_AXIS) { //there is collision between cables and PSU cover in X axis if Z coordinate is too low + + current_position[Z_AXIS] += 17; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + tmc2130_home_enter(Z_AXIS_MASK); + st_synchronize(); + tmc2130_home_exit(); + } + +// first axis length measurement begin + + current_position[axis] -= (axis_length + margin); + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + + + st_synchronize(); + + tmc2130_sg_meassure_start(axis); + + current_position_init = st_get_position_mm(axis); + + current_position[axis] += 2 * margin; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + + current_position[axis] += axis_length; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + + st_synchronize(); + + uint16_t sg1 = tmc2130_sg_meassure_stop(); + printf_P(PSTR("%c AXIS SG1=%d\n"), 'X'+axis, sg1); + eeprom_write_word(((uint16_t*)((axis == X_AXIS)?EEPROM_BELTSTATUS_X:EEPROM_BELTSTATUS_Y)), sg1); + + current_position_final = st_get_position_mm(axis); + measured_axis_length[0] = abs(current_position_final - current_position_init); + + +// first measurement end and second measurement begin + + + current_position[axis] -= margin; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + + current_position[axis] -= (axis_length + margin); + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + + st_synchronize(); + + current_position_init = st_get_position_mm(axis); + + measured_axis_length[1] = abs(current_position_final - current_position_init); + + +//end of second measurement, now check for possible errors: + + for(int i = 0; i < 2; i++){ //check if measured axis length corresponds to expected length + SERIAL_ECHOPGM("Measured axis length:"); + MYSERIAL.println(measured_axis_length[i]); + if (abs(measured_axis_length[i] - axis_length) > max_error_mm) { + enable_endstops(false); + + const char *_error_1; + const char *_error_2; + + if (axis == X_AXIS) _error_1 = "X"; + if (axis == Y_AXIS) _error_1 = "Y"; + if (axis == Z_AXIS) _error_1 = "Z"; + + lcd_selftest_error(9, _error_1, _error_2); + current_position[axis] = 0; + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + reset_crash_det(axis); + return false; + } + } + + SERIAL_ECHOPGM("Axis length difference:"); + MYSERIAL.println(abs(measured_axis_length[0] - measured_axis_length[1])); + + if (abs(measured_axis_length[0] - measured_axis_length[1]) > 1) { //check if difference between first and second measurement is low + //loose pulleys + const char *_error_1; + const char *_error_2; + + if (axis == X_AXIS) _error_1 = "X"; + if (axis == Y_AXIS) _error_1 = "Y"; + if (axis == Z_AXIS) _error_1 = "Z"; + + lcd_selftest_error(8, _error_1, _error_2); + current_position[axis] = 0; + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + reset_crash_det(axis); + + return false; + } + current_position[axis] = 0; + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + reset_crash_det(axis); + return true; +} +#endif //TMC2130 + + + + +static bool lcd_selfcheck_axis(int _axis, int _travel) +{ + + bool _stepdone = false; + bool _stepresult = false; + int _progress = 0; + int _travel_done = 0; + int _err_endstop = 0; + int _lcd_refresh = 0; + _travel = _travel + (_travel / 10); + do { + + current_position[_axis] = current_position[_axis] - 1; + + + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + + if (/*x_min_endstop || y_min_endstop || */(READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1)) + { + if (_axis == 0) + { + _stepresult = (x_min_endstop) ? true : false; + _err_endstop = (y_min_endstop) ? 1 : 2; + + } + if (_axis == 1) + { + _stepresult = (y_min_endstop) ? true : false; + _err_endstop = (x_min_endstop) ? 0 : 2; + + } + if (_axis == 2) + { + _stepresult = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? true : false; + _err_endstop = (x_min_endstop) ? 0 : 1; + /*disable_x(); + disable_y(); + disable_z();*/ + } + _stepdone = true; + } +#ifdef TMC2130 + tmc2130_home_exit(); +#endif + + if (_lcd_refresh < 6) + { + _lcd_refresh++; + } + else + { + _progress = lcd_selftest_screen(4 + _axis, _progress, 3, false, 0); + _lcd_refresh = 0; + } + + manage_heater(); + manage_inactivity(true); + + //delay(100); + (_travel_done <= _travel) ? _travel_done++ : _stepdone = true; + + } while (!_stepdone); + + + //current_position[_axis] = current_position[_axis] + 15; + //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + + if (!_stepresult) + { + const char *_error_1; + const char *_error_2; + + if (_axis == X_AXIS) _error_1 = "X"; + if (_axis == Y_AXIS) _error_1 = "Y"; + if (_axis == Z_AXIS) _error_1 = "Z"; + + if (_err_endstop == 0) _error_2 = "X"; + if (_err_endstop == 1) _error_2 = "Y"; + if (_err_endstop == 2) _error_2 = "Z"; + + if (_travel_done >= _travel) + { + lcd_selftest_error(5, _error_1, _error_2); + } + else + { + lcd_selftest_error(4, _error_1, _error_2); + } + } + + + return _stepresult; +} + +static bool lcd_selfcheck_pulleys(int axis) +{ + float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; + float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; + float current_position_init, current_position_final; + float move; + bool endstop_triggered = false; + bool result = true; + int i; + unsigned long timeout_counter; + refresh_cmd_timeout(); + manage_inactivity(true); + + if (axis == 0) move = 50; //X_AXIS + else move = 50; //Y_AXIS + + //current_position_init = current_position[axis]; + current_position_init = st_get_position_mm(axis); + current_position[axis] += 5; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + for (i = 0; i < 5; i++) { + refresh_cmd_timeout(); + current_position[axis] = current_position[axis] + move; + //digipot_current(0, 850); //set motor current higher + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 200, active_extruder); + st_synchronize(); + //if (SilentModeMenu == 1) digipot_current(0, tmp_motor[0]); //set back to normal operation currents + //else digipot_current(0, tmp_motor_loud[0]); //set motor current back + current_position[axis] = current_position[axis] - move; +#ifdef TMC2130 + tmc2130_home_enter(X_AXIS_MASK << axis); +#endif + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder); + + st_synchronize(); + if ((x_min_endstop) || (y_min_endstop)) { + lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); + return(false); + } +#ifdef TMC2130 + tmc2130_home_exit(); +#endif + } + timeout_counter = millis() + 2500; + endstop_triggered = false; + manage_inactivity(true); + while (!endstop_triggered) { + if ((x_min_endstop) || (y_min_endstop)) { +#ifdef TMC2130 + tmc2130_home_exit(); +#endif + endstop_triggered = true; + current_position_final = st_get_position_mm(axis); + + SERIAL_ECHOPGM("current_pos_init:"); + MYSERIAL.println(current_position_init); + SERIAL_ECHOPGM("current_pos:"); + MYSERIAL.println(current_position_final); + lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); + + if (current_position_init - 1 <= current_position_final && current_position_init + 1 >= current_position_final) { + current_position[axis] += 15; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + return(true); + } + else { + + return(false); + } + } + else { +#ifdef TMC2130 + tmc2130_home_exit(); +#endif + //current_position[axis] -= 1; + current_position[axis] += 50; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + current_position[axis] -= 100; +#ifdef TMC2130 + tmc2130_home_enter(X_AXIS_MASK << axis); +#endif + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); + st_synchronize(); + + if (millis() > timeout_counter) { + lcd_selftest_error(8, (axis == 0) ? "X" : "Y", ""); + return(false); + } + } + } + + +} + +static bool lcd_selfcheck_endstops() +{/* + bool _result = true; + + if (x_min_endstop || y_min_endstop || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) + { + current_position[0] = (x_min_endstop) ? current_position[0] = current_position[0] + 10 : current_position[0]; + current_position[1] = (y_min_endstop) ? current_position[1] = current_position[1] + 10 : current_position[1]; + current_position[2] = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? current_position[2] = current_position[2] + 10 : current_position[2]; + } + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[0] / 60, active_extruder); + delay(500); + + if (x_min_endstop || y_min_endstop || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) + { + _result = false; + char _error[4] = ""; + if (x_min_endstop) strcat(_error, "X"); + if (y_min_endstop) strcat(_error, "Y"); + if (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) strcat(_error, "Z"); + lcd_selftest_error(3, _error, ""); + } + manage_heater(); + manage_inactivity(true); + return _result; + */ +} + +static bool lcd_selfcheck_check_heater(bool _isbed) +{ + int _counter = 0; + int _progress = 0; + bool _stepresult = false; + bool _docycle = true; + + int _checked_snapshot = (_isbed) ? degBed() : degHotend(0); + int _opposite_snapshot = (_isbed) ? degHotend(0) : degBed(); + int _cycles = (_isbed) ? 180 : 60; //~ 90s / 30s + + target_temperature[0] = (_isbed) ? 0 : 200; + target_temperature_bed = (_isbed) ? 100 : 0; + manage_heater(); + manage_inactivity(true); + KEEPALIVE_STATE(NOT_BUSY); //we are sending temperatures on serial line, so no need to send host keepalive messages + + do { + _counter++; + _docycle = (_counter < _cycles) ? true : false; + + manage_heater(); + manage_inactivity(true); + _progress = (_isbed) ? lcd_selftest_screen(7, _progress, 2, false, 400) : lcd_selftest_screen(3, _progress, 2, false, 400); + /*if (_isbed) { + MYSERIAL.print("Bed temp:"); + MYSERIAL.println(degBed()); + } + else { + MYSERIAL.print("Hotend temp:"); + MYSERIAL.println(degHotend(0)); + }*/ + if(_counter%5 == 0) serialecho_temperatures(); //show temperatures once in two seconds + + } while (_docycle); + + target_temperature[0] = 0; + target_temperature_bed = 0; + manage_heater(); + + int _checked_result = (_isbed) ? degBed() - _checked_snapshot : degHotend(0) - _checked_snapshot; + int _opposite_result = (_isbed) ? degHotend(0) - _opposite_snapshot : degBed() - _opposite_snapshot; + /* + MYSERIAL.println(""); + MYSERIAL.print("Checked result:"); + MYSERIAL.println(_checked_result); + MYSERIAL.print("Opposite result:"); + MYSERIAL.println(_opposite_result); + */ + if (_opposite_result < ((_isbed) ? 10 : 3)) + { + if (_checked_result >= ((_isbed) ? 3 : 10)) + { + _stepresult = true; + } + else + { + lcd_selftest_error(1, "", ""); + } + } + else + { + lcd_selftest_error(2, "", ""); + } + + manage_heater(); + manage_inactivity(true); + KEEPALIVE_STATE(IN_HANDLER); + return _stepresult; + +} +static void lcd_selftest_error(int _error_no, const char *_error_1, const char *_error_2) +{ + lcd_implementation_quick_feedback(); + + target_temperature[0] = 0; + target_temperature_bed = 0; + manage_heater(); + manage_inactivity(); + + lcd_implementation_clear(); + + lcd.setCursor(0, 0); + lcd_printPGM(MSG_SELFTEST_ERROR); + lcd.setCursor(0, 1); + lcd_printPGM(MSG_SELFTEST_PLEASECHECK); + + switch (_error_no) + { + case 1: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_HEATERTHERMISTOR); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_NOTCONNECTED); + break; + case 2: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_BEDHEATER); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_WIRINGERROR); + break; + case 3: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_ENDSTOPS); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_WIRINGERROR); + lcd.setCursor(17, 3); + lcd.print(_error_1); + break; + case 4: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_MOTOR); + lcd.setCursor(18, 2); + lcd.print(_error_1); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_ENDSTOP); + lcd.setCursor(18, 3); + lcd.print(_error_2); + break; + case 5: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_ENDSTOP_NOTHIT); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_MOTOR); + lcd.setCursor(18, 3); + lcd.print(_error_1); + break; + case 6: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_COOLING_FAN); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_WIRINGERROR); + lcd.setCursor(18, 3); + lcd.print(_error_1); + break; + case 7: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_EXTRUDER_FAN); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_WIRINGERROR); + lcd.setCursor(18, 3); + lcd.print(_error_1); + break; + case 8: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_LOOSE_PULLEY); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_MOTOR); + lcd.setCursor(18, 3); + lcd.print(_error_1); + break; + case 9: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_AXIS_LENGTH); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_AXIS); + lcd.setCursor(18, 3); + lcd.print(_error_1); + break; + case 10: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_SELFTEST_FANS); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_SWAPPED); + lcd.setCursor(18, 3); + lcd.print(_error_1); + break; + case 11: + lcd.setCursor(0, 2); + lcd_printPGM(MSG_FILAMENT_SENSOR); + lcd.setCursor(0, 3); + lcd_printPGM(MSG_SELFTEST_WIRINGERROR); + break; + } + + delay(1000); + lcd_implementation_quick_feedback(); + + do { + delay(100); + manage_heater(); + manage_inactivity(); + } while (!lcd_clicked()); + + LCD_ALERTMESSAGERPGM(MSG_SELFTEST_FAILED); + lcd_return_to_status(); + +} + +#ifdef PAT9125 +static bool lcd_selftest_fsensor() { + fsensor_init(); + if (fsensor_not_responding) + { + const char *_err; + lcd_selftest_error(11, _err, _err); + } + return(!fsensor_not_responding); +} +#endif //PAT9125 + +static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) +{ + + bool _result = check_opposite; + lcd_implementation_clear(); + + lcd.setCursor(0, 0); lcd_printPGM(MSG_SELFTEST_FAN); + + switch (_fan) + { + case 1: + // extruder cooling fan + lcd.setCursor(0, 1); + if(check_opposite == true) lcd_printPGM(MSG_SELFTEST_COOLING_FAN); + else lcd_printPGM(MSG_SELFTEST_EXTRUDER_FAN); + SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); + WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1); + break; + case 2: + // object cooling fan + lcd.setCursor(0, 1); + if (check_opposite == true) lcd_printPGM(MSG_SELFTEST_EXTRUDER_FAN); + else lcd_printPGM(MSG_SELFTEST_COOLING_FAN); + SET_OUTPUT(FAN_PIN); + analogWrite(FAN_PIN, 255); + break; + } + delay(500); + + lcd.setCursor(1, 2); lcd_printPGM(MSG_SELFTEST_FAN_YES); + lcd.setCursor(0, 3); lcd.print(">"); + lcd.setCursor(1, 3); lcd_printPGM(MSG_SELFTEST_FAN_NO); + + int8_t enc_dif = 0; + KEEPALIVE_STATE(PAUSED_FOR_USER); + do + { + switch (_fan) + { + case 1: + // extruder cooling fan + SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); + WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1); + break; + case 2: + // object cooling fan + SET_OUTPUT(FAN_PIN); + analogWrite(FAN_PIN, 255); + break; + } + + if (abs((enc_dif - encoderDiff)) > 2) { + if (enc_dif > encoderDiff) { + _result = !check_opposite; + lcd.setCursor(0, 2); lcd.print(">"); + lcd.setCursor(1, 2); lcd_printPGM(MSG_SELFTEST_FAN_YES); + lcd.setCursor(0, 3); lcd.print(" "); + lcd.setCursor(1, 3); lcd_printPGM(MSG_SELFTEST_FAN_NO); + } + + if (enc_dif < encoderDiff) { + _result = check_opposite; + lcd.setCursor(0, 2); lcd.print(" "); + lcd.setCursor(1, 2); lcd_printPGM(MSG_SELFTEST_FAN_YES); + lcd.setCursor(0, 3); lcd.print(">"); + lcd.setCursor(1, 3); lcd_printPGM(MSG_SELFTEST_FAN_NO); + } + enc_dif = 0; + encoderDiff = 0; + } + + + manage_heater(); + delay(100); + + } while (!lcd_clicked()); + KEEPALIVE_STATE(IN_HANDLER); + SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); + WRITE(EXTRUDER_0_AUTO_FAN_PIN, 0); + SET_OUTPUT(FAN_PIN); + analogWrite(FAN_PIN, 0); + + fanSpeed = 0; + manage_heater(); + + return _result; + +} + + +static bool lcd_selftest_fan_dialog(int _fan) +{ + bool _result = true; + int _errno = 7; + + switch (_fan) { + case 0: + fanSpeed = 0; + manage_heater(); //turn off fan + setExtruderAutoFanState(EXTRUDER_0_AUTO_FAN_PIN, 1); //extruder fan + delay(2000); //delay_keep_alive would turn off extruder fan, because temerature is too low + manage_heater(); //count average fan speed from 2s delay and turn off fans + if (!fan_speed[0]) _result = false; + //SERIAL_ECHOPGM("Extruder fan speed: "); + //MYSERIAL.println(fan_speed[0]); + //SERIAL_ECHOPGM("Print fan speed: "); + //MYSERIAL.print(fan_speed[1]); + break; + + case 1: + //will it work with Thotend > 50 C ? + fanSpeed = 150; //print fan + for (uint8_t i = 0; i < 5; i++) { + delay_keep_alive(1000); + lcd.setCursor(18, 3); + lcd.print("-"); + delay_keep_alive(1000); + lcd.setCursor(18, 3); + lcd.print("|"); + } + fanSpeed = 0; + manage_heater(); //turn off fan + manage_inactivity(true); //to turn off print fan + if (!fan_speed[1]) { + _result = false; _errno = 6; //print fan not spinning + } + else if (fan_speed[1] < 34) { //fan is spinning, but measured RPM are too low for print fan, it must be left extruder fan + //check fans manually + + _result = lcd_selftest_manual_fan_check(2, true); //turn on print fan and check that left extruder fan is not spinning + if (_result) { + _result = lcd_selftest_manual_fan_check(2, false); //print fan is stil turned on; check that it is spinning + if (!_result) _errno = 6; //print fan not spinning + } + else { + _errno = 10; //swapped fans + } + } + + //SERIAL_ECHOPGM("Extruder fan speed: "); + //MYSERIAL.println(fan_speed[0]); + //SERIAL_ECHOPGM("Print fan speed: "); + //MYSERIAL.println(fan_speed[1]); + break; + } + if (!_result) + { + const char *_err; + lcd_selftest_error(_errno, _err, _err); + } + return _result; +} + +static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay) +{ + //SERIAL_ECHOPGM("Step:"); + //MYSERIAL.println(_step); + + lcd_next_update_millis = millis() + (LCD_UPDATE_INTERVAL * 10000); + + int _step_block = 0; + const char *_indicator = (_progress > _progress_scale) ? "-" : "|"; + + if (_clear) lcd_implementation_clear(); + + + lcd.setCursor(0, 0); + + if (_step == -1) lcd_printPGM(MSG_SELFTEST_FAN); + if (_step == 0) lcd_printPGM(MSG_SELFTEST_FAN); + if (_step == 1) lcd_printPGM(MSG_SELFTEST_FAN); + if (_step == 2) lcd_printPGM(MSG_SELFTEST_CHECK_ENDSTOPS); + if (_step == 3) lcd_printPGM(MSG_SELFTEST_CHECK_HOTEND); + if (_step == 4) lcd_printPGM(MSG_SELFTEST_CHECK_X); + if (_step == 5) lcd_printPGM(MSG_SELFTEST_CHECK_Y); + if (_step == 6) lcd_printPGM(MSG_SELFTEST_CHECK_Z); + if (_step == 7) lcd_printPGM(MSG_SELFTEST_CHECK_BED); + if (_step == 8) lcd_printPGM(MSG_SELFTEST_CHECK_BED); + if (_step == 9) lcd_printPGM(MSG_SELFTEST_CHECK_FSENSOR); + if (_step == 10) lcd_printPGM(MSG_SELFTEST_CHECK_FSENSOR); + if (_step == 11) lcd_printPGM(MSG_SELFTEST_CHECK_ALLCORRECT); + if (_step == 12) lcd_printPGM(MSG_SELFTEST_FAILED); + if (_step == 13) lcd_printPGM(PSTR("Calibrating home")); + + lcd.setCursor(0, 1); + lcd.print("--------------------"); + if ((_step >= -1) && (_step <= 1)) + { + //SERIAL_ECHOLNPGM("Fan test"); + lcd_print_at_PGM(0, 2, MSG_SELFTEST_EXTRUDER_FAN_SPEED); + lcd.setCursor(18, 2); + (_step < 0) ? lcd.print(_indicator) : lcd.print("OK"); + lcd_print_at_PGM(0, 3, MSG_SELFTEST_PRINT_FAN_SPEED); + lcd.setCursor(18, 3); + (_step < 1) ? lcd.print(_indicator) : lcd.print("OK"); + } + else if (_step >= 9 && _step <= 10) + { + lcd_print_at_PGM(0, 2, MSG_SELFTEST_FILAMENT_SENSOR); + lcd.setCursor(18, 2); + (_step == 9) ? lcd.print(_indicator) : lcd.print("OK"); + } + else if (_step < 9) + { + //SERIAL_ECHOLNPGM("Other tests"); + _step_block = 3; + lcd_selftest_screen_step(3, 9, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Hotend", _indicator); + + _step_block = 4; + lcd_selftest_screen_step(2, 2, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "X", _indicator); + + _step_block = 5; + lcd_selftest_screen_step(2, 8, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Y", _indicator); + + _step_block = 6; + lcd_selftest_screen_step(2, 14, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Z", _indicator); + + _step_block = 7; + lcd_selftest_screen_step(3, 0, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Bed", _indicator); + } + + if (_delay > 0) delay_keep_alive(_delay); + _progress++; + + return (_progress > _progress_scale * 2) ? 0 : _progress; +} + +static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator) +{ + lcd.setCursor(_col, _row); + + switch (_state) + { + case 1: + lcd.print(_name); + lcd.setCursor(_col + strlen(_name), _row); + lcd.print(":"); + lcd.setCursor(_col + strlen(_name) + 1, _row); + lcd.print(_indicator); + break; + case 2: + lcd.print(_name); + lcd.setCursor(_col + strlen(_name), _row); + lcd.print(":"); + lcd.setCursor(_col + strlen(_name) + 1, _row); + lcd.print("OK"); + break; + default: + lcd.print(_name); + } +} + + +/** End of menus **/ + +static void lcd_quick_feedback() +{ + lcdDrawUpdate = 2; + button_pressed = false; + 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_setlang(unsigned char lang) { + lcd_set_lang(lang); +} +static void menu_action_function(menuFunc_t data) { + (*data)(); +} + +static bool check_file(const char* filename) { + bool result = false; + uint32_t filesize; + card.openFile((char*)filename, true); + filesize = card.getFileSize(); + if (filesize > END_FILE_SECTION) { + card.setIndex(filesize - END_FILE_SECTION); + + } + + while (!card.eof() && !result) { + card.sdprinting = true; + get_command(); + result = check_commands(); + + } + card.printingHasFinished(); + strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH); + lcd_finishstatus(); + return result; + +} + +static void menu_action_sdfile(const char* filename, char* longFilename) +{ + loading_flag = false; + char cmd[30]; + char* c; + bool result = true; + sprintf_P(cmd, PSTR("M23 %s"), filename); + for (c = &cmd[4]; *c; c++) + *c = tolower(*c); + + for (int i = 0; i < 8; i++) { + eeprom_write_byte((uint8_t*)EEPROM_FILENAME + i, filename[i]); + } + + uint8_t depth = (uint8_t)card.getWorkDirDepth(); + eeprom_write_byte((uint8_t*)EEPROM_DIR_DEPTH, depth); + + for (uint8_t i = 0; i < depth; i++) { + for (int j = 0; j < 8; j++) { + eeprom_write_byte((uint8_t*)EEPROM_DIRS + j + 8 * i, dir_names[i][j]); + } + } + + if (!check_file(filename)) { + result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_FILE_INCOMPLETE, false, false); + lcd_update_enable(true); + } + if (result) { + enquecommand(cmd); + enquecommand_P(PSTR("M24")); + } + + lcd_return_to_status(); +} +static void menu_action_sddirectory(const char* filename, char* longFilename) +{ + uint8_t depth = (uint8_t)card.getWorkDirDepth(); + + strcpy(dir_names[depth], filename); + MYSERIAL.println(dir_names[depth]); + 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 +} + + + + +//#include + +static volatile bool lcd_update_enabled = true; +unsigned long lcd_timeoutToStatus = 0; + +void lcd_update_enable(bool enabled) +{ + if (lcd_update_enabled != enabled) { + lcd_update_enabled = enabled; + if (enabled) { + // Reset encoder position. This is equivalent to re-entering a menu. + encoderPosition = 0; + encoderDiff = 0; + // Enabling the normal LCD update procedure. + // Reset the timeout interval. + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + // Force the keypad update now. + lcd_next_update_millis = millis() - 1; + // Full update. + lcd_implementation_clear(); + #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) + lcd_set_custom_characters(currentMenu == lcd_status_screen); + #else + if (currentMenu == lcd_status_screen) + lcd_set_custom_characters_degree(); + else + lcd_set_custom_characters_arrows(); + #endif + lcd_update(2); + } else { + // Clear the LCD always, or let it to the caller? + } + } +} + +void lcd_update(uint8_t lcdDrawUpdateOverride) +{ + + if (lcdDrawUpdate < lcdDrawUpdateOverride) + lcdDrawUpdate = lcdDrawUpdateOverride; + + if (!lcd_update_enabled) + return; + +#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_MESSAGERPGM(MSG_SD_INSERTED); + //get_description(); + } + else + { + card.release(); + LCD_MESSAGERPGM(MSG_SD_REMOVED); + } + } +#endif//CARDINSERTED + + if (lcd_next_update_millis < millis()) + { +#ifdef DEBUG_BLINK_ACTIVE + static bool active_led = false; + active_led = !active_led; + pinMode(LED_PIN, OUTPUT); + digitalWrite(LED_PIN, active_led?HIGH:LOW); +#endif //DEBUG_BLINK_ACTIVE + +#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) + { + if (lcdDrawUpdate == 0) + lcdDrawUpdate = 1; + encoderPosition += encoderDiff / ENCODER_PULSES_PER_STEP; + encoderDiff = 0; + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + } + + if (LCD_CLICKED) lcd_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 (lcd_timeoutToStatus < millis() && currentMenu != lcd_status_screen) + { + // Exiting a menu. Let's call the menu function the last time with menuExiting flag set to true + // to give it a chance to save its state. + // This is useful for example, when the babystep value has to be written into EEPROM. + if (currentMenu != NULL) { + menuExiting = true; + (*currentMenu)(); + menuExiting = false; + } + lcd_implementation_clear(); + 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; + } + if (!SdFatUtil::test_stack_integrity()) stack_error(); +#ifdef DEBUG_STEPPER_TIMER_MISSED + if (stepper_timer_overflow_state) stepper_timer_overflow(); +#endif /* DEBUG_STEPPER_TIMER_MISSED */ + lcd_ping(); //check that we have received ping command if we are in farm mode + lcd_send_status(); + if (lcd_commands_type == LCD_COMMAND_V2_CAL) lcd_commands(); +} + +void lcd_printer_connected() { + printer_connected = true; +} + +static void lcd_send_status() { + if (farm_mode && no_response && ((millis() - NcTime) > (NC_TIME * 1000))) { + //send important status messages periodicaly + prusa_statistics(important_status, saved_filament_type); + NcTime = millis(); + lcd_connect_printer(); + } +}; + +static void lcd_connect_printer() { + lcd_update_enable(false); + lcd_implementation_clear(); + + bool pressed = false; + int i = 0; + int t = 0; + lcd_set_custom_characters_progress(); + lcd_implementation_print_at(0, 0, "Connect printer to"); + lcd_implementation_print_at(0, 1, "monitoring or hold"); + lcd_implementation_print_at(0, 2, "the knob to continue"); + while (no_response) { + i++; + t++; + delay_keep_alive(100); + proc_commands(); + if (t == 10) { + prusa_statistics(important_status, saved_filament_type); + t = 0; + } + if (READ(BTN_ENC)) { //if button is not pressed + i = 0; + lcd_implementation_print_at(0, 3, " "); + } + if (i!=0) lcd_implementation_print_at((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, "\x01"); + if (i == NC_BUTTON_LONG_PRESS * 10) { + no_response = false; + } + } + lcd_set_custom_characters_degree(); + lcd_update_enable(true); + lcd_update(2); +} + +void lcd_ping() { //chceck if printer is connected to monitoring when in farm mode + if (farm_mode) { + bool empty = is_buffer_empty(); + if ((millis() - PingTime) * 0.001 > (empty ? PING_TIME : PING_TIME_LONG)) { //if commands buffer is empty use shorter time period + //if there are comamnds in buffer, some long gcodes can delay execution of ping command + //therefore longer period is used + printer_connected = false; + //lcd_ping_allert(); //acustic signals + } + else { + lcd_printer_connected(); + } + } +} +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_status_message[LCD_WIDTH] = 0; + 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; +} + +uint8_t get_message_level() +{ + return lcd_status_message_level; +} +#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() +{ + static bool _lock = false; + if (_lock) return; + _lock = true; +#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 (lcd_update_enabled == true) { //if we are in non-modal mode, long press can be used and short press triggers with button release + if (READ(BTN_ENC) == 0) { //button is pressed + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + if (millis() > button_blanking_time) { + button_blanking_time = millis() + BUTTON_BLANKING_TIME; + if (button_pressed == false && long_press_active == false) { + if (currentMenu != lcd_move_z) { + savedMenu = currentMenu; + savedEncoderPosition = encoderPosition; + } + long_press_timer = millis(); + button_pressed = true; + } + else { + if (millis() - long_press_timer > LONG_PRESS_TIME) { //long press activated + + long_press_active = true; + move_menu_scale = 1.0; + lcd_goto_menu(lcd_move_z); + } + } + } + } + else { //button not pressed + if (button_pressed) { //button was released + button_blanking_time = millis() + BUTTON_BLANKING_TIME; + + if (long_press_active == false) { //button released before long press gets activated + if (currentMenu == lcd_move_z) { + //return to previously active menu and previous encoder position + lcd_goto_menu(savedMenu, savedEncoderPosition); + } + else { + newbutton |= EN_C; + } + } + else if (currentMenu == lcd_move_z) lcd_quick_feedback(); + //button_pressed is set back to false via lcd_quick_feedback function + } + else { + long_press_active = false; + } + } + } + else { //we are in modal mode + if (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; + _lock = false; +} + +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() +{ + bool clicked = LCD_CLICKED; + if(clicked) button_pressed = false; + return 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 rj string with 123.45 format +char *ftostr32ns(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' : '0'; + conv[3] = '.'; + conv[4] = (xx / 10) % 10 + '0'; + conv[5] = xx % 10 + '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; +} + +//Float to string with 1.234 format +char *ftostr13ns(const float &x) +{ + long xx = x * 1000; + if (xx >= 0) + conv[0] = ' '; + else + conv[0] = '-'; + xx = abs(xx); + conv[1] = (xx / 1000) % 10 + '0'; + conv[2] = '.'; + conv[3] = (xx / 100) % 10 + '0'; + conv[4] = (xx / 10) % 10 + '0'; + conv[5] = (xx) % 10 + '0'; + conv[6] = 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 \ No newline at end of file diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 389d6e641..a4713e752 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -30,7 +30,9 @@ void lcd_sdcard_pause(); void lcd_print_stop(); void prusa_statistics(int _message); + void prusa_statistics(int _message, uint8_t _col_nr = 0); void lcd_confirm_print(); + unsigned char lcd_choose_color(); void lcd_mylang(); bool lcd_detected(void); From 27cc5e51c320669e0650c0a31ce08bd864fedbaa Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 13 Mar 2018 19:12:36 +0100 Subject: [PATCH 110/926] removed duplicit declaration of prusa_statistics function --- Firmware/ultralcd.h | 1 - 1 file changed, 1 deletion(-) diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index a4713e752..cd3efb9c0 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -29,7 +29,6 @@ void lcd_sdcard_stop(); void lcd_sdcard_pause(); void lcd_print_stop(); - void prusa_statistics(int _message); void prusa_statistics(int _message, uint8_t _col_nr = 0); void lcd_confirm_print(); unsigned char lcd_choose_color(); From 46cecb1bdf9d02f8a98019941e1656714b1f11b7 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 13 Mar 2018 20:44:06 +0100 Subject: [PATCH 111/926] deleted unused file --- .../variants/1_75mm_MK3-EINY04-E3Dv6full.h | 492 ------------------ 1 file changed, 492 deletions(-) delete mode 100644 Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h diff --git a/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h deleted file mode 100644 index 251d01e7f..000000000 --- a/Firmware/variants/1_75mm_MK3-EINY04-E3Dv6full.h +++ /dev/null @@ -1,492 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS - *------------------------------------*/ - -// Printer revision -#define FILAMENT_SIZE "1_75mm_MK3" -#define NOZZLE_TYPE "E3Dv6full" - -// Developer flag -#define DEVELOPER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK3" - -// Electronics -#define MOTHERBOARD BOARD_EINY_0_4a - - -// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) -//#define E3D_PT100_EXTRUDER_WITH_AMP -//#define E3D_PT100_EXTRUDER_NO_AMP -//#define E3D_PT100_BED_WITH_AMP -//#define E3D_PT100_BED_NO_AMP - - -/*------------------------------------ - AXIS SETTINGS - *------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} - -// 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 -2.2 -#define MANUAL_Z_HOME_POS 0.2 - -// Travel limits after homing -#define X_MAX_POS 255 -#define X_MIN_POS 0 -#define Y_MAX_POS 210 -#define Y_MIN_POS -12 //orig -4 -#define Z_MAX_POS 210 -#define Z_MIN_POS 0.15 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 190 - -//Pause print position -#define X_PAUSE_POS 50 -#define Y_PAUSE_POS 190 -#define Z_PAUSE_LIFT 20 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {2500, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 - -//#define DEFAULT_MAX_FEEDRATE {400, 400, 12, 120} // (mm/sec) -#define DEFAULT_MAX_FEEDRATE {500, 500, 12, 120} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // 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 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves -#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts - -#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) -//#define MAX_SILENT_FEEDRATE 2700 // - -#define Z_AXIS_ALWAYS_ON 1 - -//DEBUG -#define DEBUG_DCODES //D codes -#if 0 -#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored -#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored -#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored -#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored -#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored -#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages -#define DEBUG_DISABLE_MINTEMP //mintemp error ignored -#define DEBUG_DISABLE_SWLIMITS //sw limits ignored -#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line -#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages -//#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) -//#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) -//#define DEBUG_BLINK_ACTIVE -#endif - -/*------------------------------------ - TMC2130 default settings - *------------------------------------*/ - -#define TMC2130_FCLK 12000000 // fclk = 12MHz - -#define TMC2130_USTEPS_XY 16 // microstep resolution for XY axes -#define TMC2130_USTEPS_Z 16 // microstep resolution for Z axis -#define TMC2130_USTEPS_E 32 // microstep resolution for E axis -#define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes -#define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis -#define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis - -#define TMC2130_PWM_GRAD_X 4 // PWMCONF -#define TMC2130_PWM_AMPL_X 200 // PWMCONF -#define TMC2130_PWM_AUTO_X 1 // PWMCONF -#define TMC2130_PWM_FREQ_X 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Y 4 // PWMCONF -#define TMC2130_PWM_AMPL_Y 215 // PWMCONF -#define TMC2130_PWM_AUTO_Y 1 // PWMCONF -#define TMC2130_PWM_FREQ_Y 2 // PWMCONF - -/* //not used - #define TMC2130_PWM_GRAD_Z 4 // PWMCONF - #define TMC2130_PWM_AMPL_Z 200 // PWMCONF - #define TMC2130_PWM_AUTO_Z 1 // PWMCONF - #define TMC2130_PWM_FREQ_Z 2 // PWMCONF - #define TMC2130_PWM_GRAD_E 4 // PWMCONF - #define TMC2130_PWM_AMPL_E 200 // PWMCONF - #define TMC2130_PWM_AUTO_E 1 // PWMCONF - #define TMC2130_PWM_FREQ_E 2 // PWMCONF - */ - -//#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV) // PWM frequency (23.4kHz, 35.1kHz, 46.9kHz, 58.5kHz for 12MHz fclk) - -#define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode -#define TMC2130_THIGH 0 // THIGH - unused - -#define TMC2130_TCOOLTHRS 500 // TCOOLTHRS - coolstep treshold - -#define TMC2130_SG_HOMING 1 // stallguard homing -#define TMC2130_SG_HOMING_SW_Z 1 // stallguard "software" homing for Z axis -#define TMC2130_SG_THRS_X 6 // stallguard sensitivity for X axis -#define TMC2130_SG_THRS_Y 6 // stallguard sensitivity for Y axis -#define TMC2130_SG_THRS_Z 3 // stallguard sensitivity for Z axis -#define TMC2130_SG_DELTA 128 // stallguard delta [usteps] (minimum usteps before stallguard readed - SW homing) - -//new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {3, 3, 5, 8} // default holding currents for all axes -#define TMC2130_CURRENTS_R {13, 31, 20, 22} // default running currents for all axes - -//#define TMC2130_DEBUG -//#define TMC2130_DEBUG_WR -//#define TMC2130_DEBUG_RD - - -/*------------------------------------ - EXTRUDER SETTINGS - *------------------------------------*/ - -// Mintemps -#define HEATER_0_MINTEMP 15 -#define HEATER_1_MINTEMP 5 -#define HEATER_2_MINTEMP 5 -#define BED_MINTEMP 15 - -// Maxtemps -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -#define HEATER_0_MAXTEMP 410 -#else -#define HEATER_0_MAXTEMP 305 -#endif -#define HEATER_1_MAXTEMP 305 -#define HEATER_2_MAXTEMP 305 -#define BED_MAXTEMP 150 - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else -// Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif - -// Extrude mintemp -#define EXTRUDE_MINTEMP 130 - -// 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 F7000" - -/*------------------------------------ - 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 -#define FILAMENTCHANGE_RECFEED 5 - -#define FILAMENTCHANGE_XYFEED 50 -#define FILAMENTCHANGE_EFEED 20 -#define FILAMENTCHANGE_RFEED 400 -#define FILAMENTCHANGE_EXFEED 2 -#define FILAMENTCHANGE_ZFEED 15 - -#endif - -/*------------------------------------ - ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ - -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#endif - -// temperature runaway -//#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -//#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 303 || MOTHERBOARD == 304 || MOTHERBOARD == 305 -#define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} -#endif - -/*------------------------------------ - BED SETTINGS - *------------------------------------*/ - -// Define Mesh Bed Leveling system to enable it -#define MESH_BED_LEVELING -#ifdef MESH_BED_LEVELING - -#define MBL_Z_STEP 0.01 - -// Mesh definitions -#define MESH_MIN_X 35 -#define MESH_MAX_X 238 -#define MESH_MIN_Y 6 -#define MESH_MAX_Y 202 - -// Mesh upsample definition -#define MESH_NUM_X_POINTS 7 -#define MESH_NUM_Y_POINTS 7 -// Mesh measure definition -#define MESH_MEAS_NUM_X_POINTS 3 -#define MESH_MEAS_NUM_Y_POINTS 3 - -#define MESH_HOME_Z_CALIB 0.2 -#define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. - -#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif - -// 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 - -// Bed temperature compensation settings -#define BED_OFFSET 10 -#define BED_OFFSET_START 40 -#define BED_OFFSET_CENTER 50 - - -#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) -#if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif - -//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 - - -/*----------------------------------- - PREHEAT SETTINGS - *------------------------------------*/ - -#define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 55 -#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 -// 148 is E3D Pt100 with 4k7 pullup and no PT100 Amplifier on a MiniRambo 1.3a -// 247 is Pt100 with 4k7 pullup and PT100 Amplifier -// 110 is Pt100 with 1k pullup (non standard) - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) -#define TEMP_SENSOR_0 247 -#elif defined(E3D_PT100_EXTRUDER_NO_AMP) -#define TEMP_SENSOR_0 148 -#else -#define TEMP_SENSOR_0 5 -#endif -#define TEMP_SENSOR_1 0 -#define TEMP_SENSOR_2 0 -#if defined(E3D_PT100_BED_WITH_AMP) -#define TEMP_SENSOR_BED 247 -#elif defined(E3D_PT100_BED_NO_AMP) -#define TEMP_SENSOR_BED 148 -#else -#define TEMP_SENSOR_BED 1 -#endif -#define TEMP_SENSOR_PINDA 1 -#define TEMP_SENSOR_AMBIENT 2000 - -#define STACK_GUARD_TEST_VALUE 0xA2A2 - -#define MAX_BED_TEMP_CALIBRATION 50 -#define MAX_HOTEND_TEMP_CALIBRATION 50 - -#define MAX_E_STEPS_PER_UNIT 250 -#define MIN_E_STEPS_PER_UNIT 100 - -#define Z_BABYSTEP_MIN -3999 -#define Z_BABYSTEP_MAX 0 - -#define PINDA_PREHEAT_X 70 -#define PINDA_PREHEAT_Y -3 -#define PINDA_PREHEAT_Z 1 -#define PINDA_HEAT_T 120 //time in s - -#define PINDA_MIN_T 50 -#define PINDA_STEP_T 10 -#define PINDA_MAX_T 100 - -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define LONG_PRESS_TIME 1000 //time in ms for button long press -#define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release - -#define DEFAULT_PID_TEMP 210 - -#define MIN_PRINT_FAN_SPEED 75 - -#ifdef SNMM -#define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print -#else -#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print -#endif - -// How much shall the print head be lifted on power panic? -// Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, -// UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. -// For example, the Prusa i3 MK2 with 16 microsteps per full step has Z stepping of 400 microsteps per mm. -// At 400 microsteps per mm, a full step lifts the Z axis by 0.04mm, and a stepper driver cycle is 0.16mm. -// The following example, 12 * (4 * 16 / 400) = 12 * 0.16mm = 1.92mm. -#define UVLO_Z_AXIS_SHIFT 1.92 - -#define HEATBED_V2 - -#endif //__CONFIGURATION_PRUSA_H From c163d8a9f7c7c250471d556eb5cf8ddfe303eefe Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 13 Mar 2018 22:40:20 +0100 Subject: [PATCH 112/926] Variant file for MK3 --- .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index a00ca8f11..a74750b6a 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -6,6 +6,7 @@ *------------------------------------*/ // Printer revision +#define PRINTER_TYPE PRINTER_MK3 #define FILAMENT_SIZE "1_75mm_MK3" #define NOZZLE_TYPE "E3Dv6full" @@ -17,6 +18,7 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a +#define HAS_SECOND_SERIAL_PORT // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -102,6 +104,25 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o // Automatic recovery after crash is detected #define AUTOMATIC_RECOVERY_AFTER_CRASH +// New XYZ calibration +#define NEW_XYZCAL + +// Watchdog support +#define WATCHDOG + +// Power panic +#define UVLO_SUPPORT + +// Fan check +#define FANCHECK + +// Safety timer +#define SAFETYTIMER + +// Filament sensor +#define PAT9125 + + // Disable some commands #define _DISABLE_M42_M226 @@ -143,6 +164,11 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #endif /* DEBUG_BUILD */ +//#define EXPERIMENTAL_FEATURES +//#define TMC2130_LINEARITY_CORRECTION +//#define TMC2130_VARIABLE_RESOLUTION + + /*------------------------------------ TMC2130 default settings @@ -211,8 +237,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis //new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {13, 20, 25, 35} // default holding currents for all axes -#define TMC2130_CURRENTS_R {13, 20, 25, 35} // default running currents for all axes +#define TMC2130_CURRENTS_H {16, 20, 28, 36} // default holding currents for all axes +#define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes #define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor //#define TMC2130_DEBUG @@ -266,9 +292,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed -#define PAT9125 -#define FANCHECK - /*------------------------------------ LOAD/UNLOAD FILAMENT SETTINGS @@ -336,7 +359,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 || MOTHERBOARD == 310 +#if MOTHERBOARD == 200 || MOTHERBOARD == 203 #define MOTOR_CURRENT_PWM_RANGE 2000 #define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} From 81cd96b8fe900e454955cb7a97acae52b1e3f31a Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 13 Mar 2018 23:02:46 +0100 Subject: [PATCH 113/926] Variant file for MK25 + cond. translation --- Firmware/Configuration_prusa.h | 193 +++--------------- Firmware/Marlin_main.cpp | 6 +- Firmware/ultralcd.cpp | 4 + .../variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 26 +-- 4 files changed, 54 insertions(+), 175 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index a74750b6a..63ffa05c9 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -6,20 +6,22 @@ *------------------------------------*/ // Printer revision -#define PRINTER_TYPE PRINTER_MK3 -#define FILAMENT_SIZE "1_75mm_MK3" +#define PRINTER_TYPE PRINTER_MK25 +#define FILAMENT_SIZE "1_75mm_MK25" #define NOZZLE_TYPE "E3Dv6full" // Developer flag #define DEVELOPER // Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK3" +#define CUSTOM_MENDEL_NAME "Prusa i3 MK2.5" // Electronics -#define MOTHERBOARD BOARD_EINSY_1_0a -#define HAS_SECOND_SERIAL_PORT +#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 +#define HEATBED_V2 +#define STEEL_SHEET +#define TACH0PULLUP // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -33,9 +35,7 @@ *------------------------------------*/ // Steps per unit {X,Y,Z,E} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,560} +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} // Endstop inverting const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. @@ -43,12 +43,12 @@ const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. // Direction inverting -#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true +#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 true // for Mendel set to false, for Orca set to true -#define INVERT_E0_DIR false // 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 +#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 true // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false // Home position #define MANUAL_X_HOME_POS 0 @@ -56,10 +56,10 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MANUAL_Z_HOME_POS 0.2 // Travel limits after homing -#define X_MAX_POS 255 +#define X_MAX_POS 250 #define X_MIN_POS 0 #define Y_MAX_POS 210 -#define Y_MIN_POS -4 //orig -4 +#define Y_MIN_POS -4 #define Z_MAX_POS 210 #define Z_MIN_POS 0.15 @@ -84,54 +84,11 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) -//Silent mode limits -#define SILENT_MAX_ACCEL 960 // max axxeleration in silent mode in mm/s^2 -#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2 -#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) - -//Normal mode limits -#define NORMAL_MAX_ACCEL 2500 // Y-axis max axxeleration in normal mode in mm/s^2 -#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2 -#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) - -//#define SIMPLE_ACCEL_LIMIT //new limitation method for normal/silent - //number of bytes from end of the file to start check #define END_FILE_SECTION 10000 #define Z_AXIS_ALWAYS_ON 1 -// Automatic recovery after crash is detected -#define AUTOMATIC_RECOVERY_AFTER_CRASH - -// New XYZ calibration -#define NEW_XYZCAL - -// Watchdog support -#define WATCHDOG - -// Power panic -#define UVLO_SUPPORT - -// Fan check -#define FANCHECK - -// Safety timer -#define SAFETYTIMER - -// Filament sensor -#define PAT9125 - - -// Disable some commands -#define _DISABLE_M42_M226 - -// Minimum ambient temperature limit to start triggering MINTEMP errors [C] -// this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, -// temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle -// the real limit is 15C (same as MINTEMP limit), this is because 15C is end of scale for both used thermistors (bed, heater) -#define MINTEMP_MINAMBIENT 25 -#define MINTEMP_MINAMBIENT_RAW 978 //#define DEBUG_BUILD #ifdef DEBUG_BUILD @@ -148,7 +105,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored //#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored //#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages +//#define DEBUG_DISABLE_STARTMSGS //no startup messages //#define DEBUG_DISABLE_MINTEMP //mintemp error ignored //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line @@ -159,92 +116,11 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_BLINK_ACTIVE //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) //#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) -#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line -#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. -#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. +//#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line +//#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. +//#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #endif /* DEBUG_BUILD */ -//#define EXPERIMENTAL_FEATURES -//#define TMC2130_LINEARITY_CORRECTION -//#define TMC2130_VARIABLE_RESOLUTION - - - -/*------------------------------------ - TMC2130 default settings - *------------------------------------*/ - -#define TMC2130_FCLK 12000000 // fclk = 12MHz - -#define TMC2130_USTEPS_XY 16 // microstep resolution for XY axes -#define TMC2130_USTEPS_Z 16 // microstep resolution for Z axis -#define TMC2130_USTEPS_E 32 // microstep resolution for E axis -#define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes -#define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis -#define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis - -#define TMC2130_PWM_GRAD_X 2 // PWMCONF -#define TMC2130_PWM_AMPL_X 230 // PWMCONF -#define TMC2130_PWM_AUTO_X 1 // PWMCONF -#define TMC2130_PWM_FREQ_X 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Y 2 // PWMCONF -#define TMC2130_PWM_AMPL_Y 235 // PWMCONF -#define TMC2130_PWM_AUTO_Y 1 // PWMCONF -#define TMC2130_PWM_FREQ_Y 2 // PWMCONF - -#define TMC2130_PWM_GRAD_E 2 // PWMCONF -#define TMC2130_PWM_AMPL_E 235 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Z 4 // PWMCONF -#define TMC2130_PWM_AMPL_Z 200 // PWMCONF -#define TMC2130_PWM_AUTO_Z 1 // PWMCONF -#define TMC2130_PWM_FREQ_Z 2 // PWMCONF - -#define TMC2130_PWM_GRAD_E 4 // PWMCONF -#define TMC2130_PWM_AMPL_E 240 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF - -#define TMC2130_TOFF_XYZ 3 // CHOPCONF // fchop = 27.778kHz -#define TMC2130_TOFF_E 3 // CHOPCONF // fchop = 27.778kHz -//#define TMC2130_TOFF_E 4 // CHOPCONF // fchop = 21.429kHz -//#define TMC2130_TOFF_E 5 // CHOPCONF // fchop = 17.442kHz - -//#define TMC2130_STEALTH_E // Extruder stealthChop mode -//#define TMC2130_CNSTOFF_E // Extruder constant-off-time mode (similar to MK2) - -//#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV) // PWM frequency (23.4kHz, 35.1kHz, 46.9kHz, 58.5kHz for 12MHz fclk) - -#define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode -#define TMC2130_THIGH 0 // THIGH - unused - -//#define TMC2130_TCOOLTHRS_X 450 // TCOOLTHRS - coolstep treshold -//#define TMC2130_TCOOLTHRS_Y 450 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_X 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Y 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Z 500 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_E 500 // TCOOLTHRS - coolstep treshold - -#define TMC2130_SG_HOMING 1 // stallguard homing -#define TMC2130_SG_THRS_X 3 // stallguard sensitivity for X axis -#define TMC2130_SG_THRS_Y 3 // stallguard sensitivity for Y axis -#define TMC2130_SG_THRS_Z 3 // stallguard sensitivity for Z axis -#define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis - -//new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {16, 20, 28, 36} // default holding currents for all axes -#define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes -#define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor - -//#define TMC2130_DEBUG -//#define TMC2130_DEBUG_WR -//#define TMC2130_DEBUG_RD - /*------------------------------------ EXTRUDER SETTINGS @@ -282,7 +158,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif // Extrude mintemp -#define EXTRUDE_MINTEMP 190 +#define EXTRUDE_MINTEMP 180 // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 @@ -292,6 +168,11 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +#define PAT9125 //!< Filament sensor +#define FANCHECK +//#define WATCHDOG +#define SAFETYTIMER + /*------------------------------------ LOAD/UNLOAD FILAMENT SETTINGS @@ -359,10 +240,12 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 +#if MOTHERBOARD == 203 || MOTHERBOARD == 200 #define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} +#define Z_SILENT 0 +#define Z_HIGH_POWER 200 #endif /*------------------------------------ @@ -543,7 +426,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TEMP_SENSOR_BED 1 #endif #define TEMP_SENSOR_PINDA 1 -#define TEMP_SENSOR_AMBIENT 2000 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -586,21 +468,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print #endif -// How much shall the print head be lifted on power panic? -// Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, -// UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. -// For example, the Prusa i3 MK2 with 16 microsteps per full step has Z stepping of 400 microsteps per mm. -// At 400 microsteps per mm, a full step lifts the Z axis by 0.04mm, and a stepper driver cycle is 0.16mm. -// The following example, 12 * (4 * 16 / 400) = 12 * 0.16mm = 1.92mm. -//#define UVLO_Z_AXIS_SHIFT 1.92 -#define UVLO_Z_AXIS_SHIFT 0.64 -// If power panic occured, and the current temperature is higher then target temperature before interrupt minus this offset, print will be recovered automatically. -#define AUTOMATIC_UVLO_BED_TEMP_OFFSET 5 - -#define HEATBED_V2 - #define M600_TIMEOUT 600 //seconds -//#define SUPPORT_VERBOSITY +#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 0c34cf881..b9ef2d35b 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1346,6 +1346,7 @@ void setup() // so the next time the firmware gets updated, it will know from which version it has been updated. update_current_firmware_version_to_eeprom(); +#ifdef TMC2130 tmc2130_home_origin[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_X_ORIGIN); tmc2130_home_bsteps[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_X_BSTEPS); tmc2130_home_fsteps[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_X_FSTEPS); @@ -1362,6 +1363,7 @@ void setup() tmc2130_home_enabled = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED); if (tmc2130_home_enabled == 0xff) tmc2130_home_enabled = 0; +#endif //TMC2130 #ifdef UVLO_SUPPORT if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 1) { //previous print was terminated by UVLO @@ -2985,7 +2987,7 @@ void process_commands() } #endif /* QUICK_HOME */ - +#ifdef TMC2130 if(home_x) { if (!calib) @@ -3001,6 +3003,8 @@ void process_commands() else tmc2130_home_calibrate(Y_AXIS); } +#endif //TMC2130 + if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 207a1beae..d5156fdd1 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5986,6 +5986,7 @@ extern char conv[8]; // Convert tmc2130 wfac to string char *wfac_to_str5(const uint8_t &x) { +#ifdef TMC2130 if (x>=TMC2130_WAVE_FAC200_MIN) return ftostr43(((float)(x & 0xff))/200); conv[0] = ' '; conv[1] = ' '; @@ -5993,6 +5994,7 @@ char *wfac_to_str5(const uint8_t &x) conv[3] = 'f'; conv[4] = 'f'; conv[5] = 0; +#endif //TMC2130 return conv; } @@ -6121,6 +6123,7 @@ bool lcd_selftest() } } +#ifdef TMC2130 if (_result) { _progress = lcd_selftest_screen(13, 0, 2, true, 0); @@ -6132,6 +6135,7 @@ bool lcd_selftest() eeprom_update_byte((uint8_t*)EEPROM_TMC2130_HOME_ENABLED, 1); _result = bres; } +#endif //TMC2130 if (_result) { diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index d7cc579d2..63ffa05c9 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -6,6 +6,7 @@ *------------------------------------*/ // Printer revision +#define PRINTER_TYPE PRINTER_MK25 #define FILAMENT_SIZE "1_75mm_MK25" #define NOZZLE_TYPE "E3Dv6full" @@ -18,6 +19,9 @@ // Electronics #define MOTHERBOARD BOARD_RAMBO_MINI_1_3 +#define HEATBED_V2 +#define STEEL_SHEET +#define TACH0PULLUP // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -31,7 +35,7 @@ *------------------------------------*/ // Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} // Endstop inverting const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. @@ -52,11 +56,11 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MANUAL_Z_HOME_POS 0.2 // Travel limits after homing -#define X_MAX_POS 255 +#define X_MAX_POS 250 #define X_MIN_POS 0 #define Y_MAX_POS 210 -#define Y_MIN_POS -4 //orig -4 -#define Z_MAX_POS 200 +#define Y_MIN_POS -4 +#define Z_MAX_POS 210 #define Z_MIN_POS 0.15 // Canceled home position @@ -154,7 +158,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif // Extrude mintemp -#define EXTRUDE_MINTEMP 190 +#define EXTRUDE_MINTEMP 180 // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 @@ -164,8 +168,10 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed -#define PAT9125 +#define PAT9125 //!< Filament sensor #define FANCHECK +//#define WATCHDOG +#define SAFETYTIMER /*------------------------------------ @@ -276,7 +282,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif @@ -462,12 +468,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print #endif -#define HEATBED_V2 - #define M600_TIMEOUT 600 //seconds -#define TACH0PULLUP - -//#define SUPPORT_VERBOSITY +#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H From 2f98ac989a4fc909aa41a15377631057072d3c8e Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 13 Mar 2018 23:14:44 +0100 Subject: [PATCH 114/926] Variant file for MK2 + cond. translation --- Firmware/Configuration_prusa.h | 202 +++++++----------- Firmware/ultralcd.cpp | 2 + .../variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 1 + 3 files changed, 80 insertions(+), 125 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 63ffa05c9..5f3e19c2d 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -2,26 +2,25 @@ #define CONFIGURATION_PRUSA_H /*------------------------------------ - GENERAL SETTINGS - *------------------------------------*/ +GENERAL SETTINGS +*------------------------------------*/ // Printer revision -#define PRINTER_TYPE PRINTER_MK25 -#define FILAMENT_SIZE "1_75mm_MK25" +#define PRINTER_TYPE PRINTER_MK2 +#define FILAMENT_SIZE "1_75mm_MK2" #define NOZZLE_TYPE "E3Dv6full" // Developer flag #define DEVELOPER // Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK2.5" +#define CUSTOM_MENDEL_NAME "Prusa i3 MK2" // Electronics #define MOTHERBOARD BOARD_RAMBO_MINI_1_3 -#define HEATBED_V2 -#define STEEL_SHEET -#define TACH0PULLUP +// Prusa Single extruder multiple material suport +//#define SNMM // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -31,11 +30,16 @@ /*------------------------------------ - AXIS SETTINGS - *------------------------------------*/ +AXIS SETTINGS +*------------------------------------*/ // Steps per unit {X,Y,Z,E} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} +#ifdef SNMM +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} +#else +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3} +#endif + // Endstop inverting const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. @@ -50,16 +54,17 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define INVERT_E1_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false + // Home position #define MANUAL_X_HOME_POS 0 #define MANUAL_Y_HOME_POS -2.2 -#define MANUAL_Z_HOME_POS 0.2 +#define MANUAL_Z_HOME_POS 0.15 // Travel limits after homing #define X_MAX_POS 250 #define X_MIN_POS 0 #define Y_MAX_POS 210 -#define Y_MIN_POS -4 +#define Y_MIN_POS -2.2 #define Z_MAX_POS 210 #define Z_MIN_POS 0.15 @@ -73,58 +78,22 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define Z_PAUSE_LIFT 20 #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 +#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) -#define DEFAULT_MAX_FEEDRATE {200, 200, 12, 120} // (mm/sec) max feedrate (M203) -#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) +#define DEFAULT_MAX_FEEDRATE {500, 500, 12, 120} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {9000,9000,500,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 1500 // X, Y, Z and E max acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 1500 // X, Y, Z and E max acceleration in mm/s^2 for retracts -#define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204S) -#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204T) - -#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) - -//number of bytes from end of the file to start check -#define END_FILE_SECTION 10000 +#define MANUAL_FEEDRATE {3000, 3000, 1000, 100} // set the speeds for manual moves (mm/min) #define Z_AXIS_ALWAYS_ON 1 - -//#define DEBUG_BUILD -#ifdef DEBUG_BUILD -//#define _NO_ASM -#define DEBUG_DCODES //D codes -#define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial -//#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD -//#define DEBUG_RESUME_PRINT //Resume/save print debug enable -//#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output -//#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored -//#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored -//#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored -//#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored -//#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored -//#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -//#define DEBUG_DISABLE_STARTMSGS //no startup messages -//#define DEBUG_DISABLE_MINTEMP //mintemp error ignored -//#define DEBUG_DISABLE_SWLIMITS //sw limits ignored -//#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line -//#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages -//#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) -//#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) -//#define DEBUG_BLINK_ACTIVE -//#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) -//#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) -//#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line -//#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. -//#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. -#endif /* DEBUG_BUILD */ - - /*------------------------------------ - EXTRUDER SETTINGS - *------------------------------------*/ +EXTRUDER SETTINGS +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 15 @@ -140,7 +109,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif #define HEATER_1_MAXTEMP 305 #define HEATER_2_MAXTEMP 305 -#define BED_MAXTEMP 125 +#define BED_MAXTEMP 150 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 @@ -149,16 +118,13 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DEFAULT_Kd 73.76 #else // Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 +#define DEFAULT_Kp 40.925 +#define DEFAULT_Ki 4.875 +#define DEFAULT_Kd 86.085 #endif // Extrude mintemp -#define EXTRUDE_MINTEMP 180 +#define EXTRUDE_MINTEMP 130 // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 @@ -168,28 +134,21 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed -#define PAT9125 //!< Filament sensor -#define FANCHECK -//#define WATCHDOG -#define SAFETYTIMER +#ifdef SNMM +//#define BOWDEN_LENGTH 408 +#define BOWDEN_LENGTH 433 //default total length for filament fast loading part; max length for extrusion is 465 mm!; this length can be adjusted in service menu +#define FIL_LOAD_LENGTH 102 //length for loading filament into the nozzle +#define FIL_COOLING 10 //length for cooling moves +#define E_MOTOR_LOW_CURRENT 350 // current for PRUSAY code +#define E_MOTOR_HIGH_CURRENT 700 //current for unloading filament, stop print, PRUSAY ramming +#endif //SNMM + +//#define DIS //for measuring bed heigth and PINDa detection heigth relative to auto home point, experimental function /*------------------------------------ - 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 F7000" - -/*------------------------------------ - CHANGE FILAMENT SETTINGS - *------------------------------------*/ +CHANGE FILAMENT SETTINGS +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -206,22 +165,22 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define FILAMENTCHANGE_XYFEED 50 #define FILAMENTCHANGE_EFEED 20 -//#define FILAMENTCHANGE_RFEED 400 -#define FILAMENTCHANGE_RFEED 7000 / 60 +#define FILAMENTCHANGE_RFEED 400 #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 #endif /*------------------------------------ - ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +ADDITIONAL FEATURES SETTINGS +*------------------------------------*/ // Define Prusa filament runout sensor //#define FILAMENT_RUNOUT_SUPPORT #ifdef FILAMENT_RUNOUT_SUPPORT #define FILAMENT_RUNOUT_SENSOR 1 +#define FILAMENT_RUNOUT_SCRIPT "M600" #endif // temperature runaway @@ -232,8 +191,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 /*------------------------------------ - MOTOR CURRENT SETTINGS - *------------------------------------*/ +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) @@ -249,15 +208,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif /*------------------------------------ - PAT9125 SETTINGS - *------------------------------------*/ - -#define PAT9125_XRES 0 -#define PAT9125_YRES 255 - -/*------------------------------------ - BED SETTINGS - *------------------------------------*/ +BED SETTINGS +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -282,7 +234,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif @@ -337,40 +289,40 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o /*----------------------------------- - PREHEAT SETTINGS - *------------------------------------*/ +PREHEAT SETTINGS +*------------------------------------*/ #define FARM_PREHEAT_HOTEND_TEMP 250 #define FARM_PREHEAT_HPB_TEMP 40 #define FARM_PREHEAT_FAN_SPEED 0 #define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 60 -#define PLA_PREHEAT_FAN_SPEED 0 +#define PLA_PREHEAT_HPB_TEMP 55 +#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 ABS_PREHEAT_FAN_SPEED 0 #define HIPS_PREHEAT_HOTEND_TEMP 220 #define HIPS_PREHEAT_HPB_TEMP 100 -#define HIPS_PREHEAT_FAN_SPEED 0 +#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 PP_PREHEAT_FAN_SPEED 0 -#define PET_PREHEAT_HOTEND_TEMP 230 -#define PET_PREHEAT_HPB_TEMP 85 -#define PET_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 240 +#define FLEX_PREHEAT_HOTEND_TEMP 230 #define FLEX_PREHEAT_HPB_TEMP 50 -#define FLEX_PREHEAT_FAN_SPEED 0 +#define FLEX_PREHEAT_FAN_SPEED 0 /*------------------------------------ - THERMISTORS SETTINGS - *------------------------------------*/ +THERMISTORS SETTINGS +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -392,7 +344,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o // 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" +// 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 // @@ -425,7 +377,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #else #define TEMP_SENSOR_BED 1 #endif -#define TEMP_SENSOR_PINDA 1 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -438,13 +389,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define Z_BABYSTEP_MIN -3999 #define Z_BABYSTEP_MAX 0 -#define PINDA_PREHEAT_X 20 -#define PINDA_PREHEAT_Y 60 -#define PINDA_PREHEAT_Z 0.15 -/* #define PINDA_PREHEAT_X 70 #define PINDA_PREHEAT_Y -3 -#define PINDA_PREHEAT_Z 1*/ +#define PINDA_PREHEAT_Z 1 #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 @@ -455,21 +402,26 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes #define PING_ALLERT_PERIOD 60 //time in s -#define LONG_PRESS_TIME 1000 //time in ms for button long press +#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring +#define NC_BUTTON_LONG_PRESS 15 //time in s + +#define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release #define DEFAULT_PID_TEMP 210 -#define MIN_PRINT_FAN_SPEED 75 - #ifdef SNMM #define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print #else #define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print #endif +#define END_FILE_SECTION 10000 //number of bytes from end of file used for checking if file is complete + #define M600_TIMEOUT 600 //seconds +#ifndef SNMM #define SUPPORT_VERBOSITY +#endif #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d5156fdd1..2fbf2a63e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5624,12 +5624,14 @@ static void lcd_tune_menu() #endif #ifndef DEBUG_DISABLE_FSENSORCHECK +#ifdef PAT9125 if (FSensorStateMenu == 0) { MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); } else { MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); } +#endif //PAT9125 #endif //DEBUG_DISABLE_FSENSORCHECK #ifdef TMC2130 diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h index 2324daf68..5f3e19c2d 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -6,6 +6,7 @@ GENERAL SETTINGS *------------------------------------*/ // Printer revision +#define PRINTER_TYPE PRINTER_MK2 #define FILAMENT_SIZE "1_75mm_MK2" #define NOZZLE_TYPE "E3Dv6full" From 3ff5686336f0182f2fd8a379dfb26c3ab33a029a Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 14 Mar 2018 13:53:36 +0100 Subject: [PATCH 115/926] MK2-25-3 variant files --- Firmware/Configuration_prusa.h | 359 +++++++++++++----- Firmware/mesh_bed_calibration.cpp | 6 +- .../variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 4 + .../variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 19 +- 4 files changed, 291 insertions(+), 97 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 5f3e19c2d..a74750b6a 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -2,25 +2,24 @@ #define CONFIGURATION_PRUSA_H /*------------------------------------ -GENERAL SETTINGS -*------------------------------------*/ + GENERAL SETTINGS + *------------------------------------*/ // Printer revision -#define PRINTER_TYPE PRINTER_MK2 -#define FILAMENT_SIZE "1_75mm_MK2" +#define PRINTER_TYPE PRINTER_MK3 +#define FILAMENT_SIZE "1_75mm_MK3" #define NOZZLE_TYPE "E3Dv6full" // Developer flag #define DEVELOPER // Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK2" +#define CUSTOM_MENDEL_NAME "Prusa i3 MK3" // Electronics -#define MOTHERBOARD BOARD_RAMBO_MINI_1_3 +#define MOTHERBOARD BOARD_EINSY_1_0a +#define HAS_SECOND_SERIAL_PORT -// Prusa Single extruder multiple material suport -//#define SNMM // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -30,16 +29,13 @@ GENERAL SETTINGS /*------------------------------------ -AXIS SETTINGS -*------------------------------------*/ + AXIS SETTINGS + *------------------------------------*/ // Steps per unit {X,Y,Z,E} -#ifdef SNMM -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} -#else -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3} -#endif - +//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} +#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} +//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,560} // Endstop inverting const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. @@ -47,24 +43,23 @@ const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. // Direction inverting -#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true +#define INVERT_X_DIR true // 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 true // for direct drive extruder v9 set to true, for geared extruder set to false -#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false - +#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_E0_DIR false // 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 // Home position #define MANUAL_X_HOME_POS 0 #define MANUAL_Y_HOME_POS -2.2 -#define MANUAL_Z_HOME_POS 0.15 +#define MANUAL_Z_HOME_POS 0.2 // Travel limits after homing -#define X_MAX_POS 250 +#define X_MAX_POS 255 #define X_MIN_POS 0 #define Y_MAX_POS 210 -#define Y_MIN_POS -2.2 +#define Y_MIN_POS -4 //orig -4 #define Z_MAX_POS 210 #define Z_MIN_POS 0.15 @@ -78,22 +73,182 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define Z_PAUSE_LIFT 20 #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) +#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 -#define DEFAULT_MAX_FEEDRATE {500, 500, 12, 120} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {9000,9000,500,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 1500 // X, Y, Z and E max acceleration in mm/s^2 for printing moves -#define DEFAULT_RETRACT_ACCELERATION 1500 // X, Y, Z and E max acceleration in mm/s^2 for retracts +#define DEFAULT_MAX_FEEDRATE {200, 200, 12, 120} // (mm/sec) max feedrate (M203) +#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) -#define MANUAL_FEEDRATE {3000, 3000, 1000, 100} // set the speeds for manual moves (mm/min) +#define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204S) +#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204T) + +#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) + +//Silent mode limits +#define SILENT_MAX_ACCEL 960 // max axxeleration in silent mode in mm/s^2 +#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2 +#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) + +//Normal mode limits +#define NORMAL_MAX_ACCEL 2500 // Y-axis max axxeleration in normal mode in mm/s^2 +#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2 +#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) + +//#define SIMPLE_ACCEL_LIMIT //new limitation method for normal/silent + +//number of bytes from end of the file to start check +#define END_FILE_SECTION 10000 #define Z_AXIS_ALWAYS_ON 1 +// Automatic recovery after crash is detected +#define AUTOMATIC_RECOVERY_AFTER_CRASH + +// New XYZ calibration +#define NEW_XYZCAL + +// Watchdog support +#define WATCHDOG + +// Power panic +#define UVLO_SUPPORT + +// Fan check +#define FANCHECK + +// Safety timer +#define SAFETYTIMER + +// Filament sensor +#define PAT9125 + + +// Disable some commands +#define _DISABLE_M42_M226 + +// Minimum ambient temperature limit to start triggering MINTEMP errors [C] +// this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, +// temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle +// the real limit is 15C (same as MINTEMP limit), this is because 15C is end of scale for both used thermistors (bed, heater) +#define MINTEMP_MINAMBIENT 25 +#define MINTEMP_MINAMBIENT_RAW 978 + +//#define DEBUG_BUILD +#ifdef DEBUG_BUILD +//#define _NO_ASM +#define DEBUG_DCODES //D codes +#define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR +//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial +//#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD +//#define DEBUG_RESUME_PRINT //Resume/save print debug enable +//#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output +//#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored +//#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored +//#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored +//#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored +//#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored +//#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored +#define DEBUG_DISABLE_STARTMSGS //no startup messages +//#define DEBUG_DISABLE_MINTEMP //mintemp error ignored +//#define DEBUG_DISABLE_SWLIMITS //sw limits ignored +//#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line +//#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed +//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages +//#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) +//#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) +//#define DEBUG_BLINK_ACTIVE +//#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) +//#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) +#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line +#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. +#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. +#endif /* DEBUG_BUILD */ + +//#define EXPERIMENTAL_FEATURES +//#define TMC2130_LINEARITY_CORRECTION +//#define TMC2130_VARIABLE_RESOLUTION + + + /*------------------------------------ -EXTRUDER SETTINGS -*------------------------------------*/ + TMC2130 default settings + *------------------------------------*/ + +#define TMC2130_FCLK 12000000 // fclk = 12MHz + +#define TMC2130_USTEPS_XY 16 // microstep resolution for XY axes +#define TMC2130_USTEPS_Z 16 // microstep resolution for Z axis +#define TMC2130_USTEPS_E 32 // microstep resolution for E axis +#define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes +#define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis +#define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis + +#define TMC2130_PWM_GRAD_X 2 // PWMCONF +#define TMC2130_PWM_AMPL_X 230 // PWMCONF +#define TMC2130_PWM_AUTO_X 1 // PWMCONF +#define TMC2130_PWM_FREQ_X 2 // PWMCONF + +#define TMC2130_PWM_GRAD_Y 2 // PWMCONF +#define TMC2130_PWM_AMPL_Y 235 // PWMCONF +#define TMC2130_PWM_AUTO_Y 1 // PWMCONF +#define TMC2130_PWM_FREQ_Y 2 // PWMCONF + +#define TMC2130_PWM_GRAD_E 2 // PWMCONF +#define TMC2130_PWM_AMPL_E 235 // PWMCONF +#define TMC2130_PWM_AUTO_E 1 // PWMCONF +#define TMC2130_PWM_FREQ_E 2 // PWMCONF + +#define TMC2130_PWM_GRAD_Z 4 // PWMCONF +#define TMC2130_PWM_AMPL_Z 200 // PWMCONF +#define TMC2130_PWM_AUTO_Z 1 // PWMCONF +#define TMC2130_PWM_FREQ_Z 2 // PWMCONF + +#define TMC2130_PWM_GRAD_E 4 // PWMCONF +#define TMC2130_PWM_AMPL_E 240 // PWMCONF +#define TMC2130_PWM_AUTO_E 1 // PWMCONF +#define TMC2130_PWM_FREQ_E 2 // PWMCONF + +#define TMC2130_TOFF_XYZ 3 // CHOPCONF // fchop = 27.778kHz +#define TMC2130_TOFF_E 3 // CHOPCONF // fchop = 27.778kHz +//#define TMC2130_TOFF_E 4 // CHOPCONF // fchop = 21.429kHz +//#define TMC2130_TOFF_E 5 // CHOPCONF // fchop = 17.442kHz + +//#define TMC2130_STEALTH_E // Extruder stealthChop mode +//#define TMC2130_CNSTOFF_E // Extruder constant-off-time mode (similar to MK2) + +//#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) +#define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) +#define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV) // PWM frequency (23.4kHz, 35.1kHz, 46.9kHz, 58.5kHz for 12MHz fclk) + +#define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode +#define TMC2130_THIGH 0 // THIGH - unused + +//#define TMC2130_TCOOLTHRS_X 450 // TCOOLTHRS - coolstep treshold +//#define TMC2130_TCOOLTHRS_Y 450 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_X 430 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_Y 430 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_Z 500 // TCOOLTHRS - coolstep treshold +#define TMC2130_TCOOLTHRS_E 500 // TCOOLTHRS - coolstep treshold + +#define TMC2130_SG_HOMING 1 // stallguard homing +#define TMC2130_SG_THRS_X 3 // stallguard sensitivity for X axis +#define TMC2130_SG_THRS_Y 3 // stallguard sensitivity for Y axis +#define TMC2130_SG_THRS_Z 3 // stallguard sensitivity for Z axis +#define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis + +//new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) +#define TMC2130_CURRENTS_H {16, 20, 28, 36} // default holding currents for all axes +#define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes +#define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor + +//#define TMC2130_DEBUG +//#define TMC2130_DEBUG_WR +//#define TMC2130_DEBUG_RD + + +/*------------------------------------ + EXTRUDER SETTINGS + *------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 15 @@ -109,7 +264,7 @@ EXTRUDER SETTINGS #endif #define HEATER_1_MAXTEMP 305 #define HEATER_2_MAXTEMP 305 -#define BED_MAXTEMP 150 +#define BED_MAXTEMP 125 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 @@ -118,13 +273,16 @@ EXTRUDER SETTINGS #define DEFAULT_Kd 73.76 #else // Define PID constants for extruder -#define DEFAULT_Kp 40.925 -#define DEFAULT_Ki 4.875 -#define DEFAULT_Kd 86.085 +//#define DEFAULT_Kp 40.925 +//#define DEFAULT_Ki 4.875 +//#define DEFAULT_Kd 86.085 +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 #endif // Extrude mintemp -#define EXTRUDE_MINTEMP 130 +#define EXTRUDE_MINTEMP 190 // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 @@ -134,21 +292,23 @@ EXTRUDER SETTINGS #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed -#ifdef SNMM -//#define BOWDEN_LENGTH 408 -#define BOWDEN_LENGTH 433 //default total length for filament fast loading part; max length for extrusion is 465 mm!; this length can be adjusted in service menu -#define FIL_LOAD_LENGTH 102 //length for loading filament into the nozzle -#define FIL_COOLING 10 //length for cooling moves -#define E_MOTOR_LOW_CURRENT 350 // current for PRUSAY code -#define E_MOTOR_HIGH_CURRENT 700 //current for unloading filament, stop print, PRUSAY ramming -#endif //SNMM - -//#define DIS //for measuring bed heigth and PINDa detection heigth relative to auto home point, experimental function - /*------------------------------------ -CHANGE FILAMENT SETTINGS -*------------------------------------*/ + 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 F7000" + +/*------------------------------------ + CHANGE FILAMENT SETTINGS + *------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -165,22 +325,22 @@ CHANGE FILAMENT SETTINGS #define FILAMENTCHANGE_XYFEED 50 #define FILAMENTCHANGE_EFEED 20 -#define FILAMENTCHANGE_RFEED 400 +//#define FILAMENTCHANGE_RFEED 400 +#define FILAMENTCHANGE_RFEED 7000 / 60 #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 #endif /*------------------------------------ -ADDITIONAL FEATURES SETTINGS -*------------------------------------*/ + ADDITIONAL FEATURES SETTINGS + *------------------------------------*/ // Define Prusa filament runout sensor //#define FILAMENT_RUNOUT_SUPPORT #ifdef FILAMENT_RUNOUT_SUPPORT #define FILAMENT_RUNOUT_SENSOR 1 -#define FILAMENT_RUNOUT_SCRIPT "M600" #endif // temperature runaway @@ -191,25 +351,30 @@ ADDITIONAL FEATURES SETTINGS #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 /*------------------------------------ -MOTOR CURRENT SETTINGS -*------------------------------------*/ + 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) #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 203 || MOTHERBOARD == 200 +#if MOTHERBOARD == 200 || MOTHERBOARD == 203 #define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} -#define Z_SILENT 0 -#define Z_HIGH_POWER 200 +#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} +#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} #endif /*------------------------------------ -BED SETTINGS -*------------------------------------*/ + PAT9125 SETTINGS + *------------------------------------*/ + +#define PAT9125_XRES 0 +#define PAT9125_YRES 255 + +/*------------------------------------ + BED SETTINGS + *------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -234,7 +399,7 @@ BED SETTINGS #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif @@ -289,40 +454,40 @@ BED SETTINGS /*----------------------------------- -PREHEAT SETTINGS -*------------------------------------*/ + PREHEAT SETTINGS + *------------------------------------*/ #define FARM_PREHEAT_HOTEND_TEMP 250 #define FARM_PREHEAT_HPB_TEMP 40 #define FARM_PREHEAT_FAN_SPEED 0 #define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 55 -#define PLA_PREHEAT_FAN_SPEED 0 +#define PLA_PREHEAT_HPB_TEMP 60 +#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 ABS_PREHEAT_FAN_SPEED 0 #define HIPS_PREHEAT_HOTEND_TEMP 220 #define HIPS_PREHEAT_HPB_TEMP 100 -#define HIPS_PREHEAT_FAN_SPEED 0 +#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 PP_PREHEAT_FAN_SPEED 0 -#define PET_PREHEAT_HOTEND_TEMP 240 -#define PET_PREHEAT_HPB_TEMP 90 -#define PET_PREHEAT_FAN_SPEED 0 +#define PET_PREHEAT_HOTEND_TEMP 230 +#define PET_PREHEAT_HPB_TEMP 85 +#define PET_PREHEAT_FAN_SPEED 0 -#define FLEX_PREHEAT_HOTEND_TEMP 230 +#define FLEX_PREHEAT_HOTEND_TEMP 240 #define FLEX_PREHEAT_HPB_TEMP 50 -#define FLEX_PREHEAT_FAN_SPEED 0 +#define FLEX_PREHEAT_FAN_SPEED 0 /*------------------------------------ -THERMISTORS SETTINGS -*------------------------------------*/ + THERMISTORS SETTINGS + *------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -344,7 +509,7 @@ THERMISTORS SETTINGS // 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" +// 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 // @@ -377,6 +542,8 @@ THERMISTORS SETTINGS #else #define TEMP_SENSOR_BED 1 #endif +#define TEMP_SENSOR_PINDA 1 +#define TEMP_SENSOR_AMBIENT 2000 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -389,9 +556,13 @@ THERMISTORS SETTINGS #define Z_BABYSTEP_MIN -3999 #define Z_BABYSTEP_MAX 0 +#define PINDA_PREHEAT_X 20 +#define PINDA_PREHEAT_Y 60 +#define PINDA_PREHEAT_Z 0.15 +/* #define PINDA_PREHEAT_X 70 #define PINDA_PREHEAT_Y -3 -#define PINDA_PREHEAT_Z 1 +#define PINDA_PREHEAT_Z 1*/ #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 @@ -402,26 +573,34 @@ THERMISTORS SETTINGS #define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes #define PING_ALLERT_PERIOD 60 //time in s -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - -#define LONG_PRESS_TIME 1000 //time in ms for button long press +#define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release #define DEFAULT_PID_TEMP 210 +#define MIN_PRINT_FAN_SPEED 75 + #ifdef SNMM #define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print #else #define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print #endif -#define END_FILE_SECTION 10000 //number of bytes from end of file used for checking if file is complete +// How much shall the print head be lifted on power panic? +// Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, +// UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. +// For example, the Prusa i3 MK2 with 16 microsteps per full step has Z stepping of 400 microsteps per mm. +// At 400 microsteps per mm, a full step lifts the Z axis by 0.04mm, and a stepper driver cycle is 0.16mm. +// The following example, 12 * (4 * 16 / 400) = 12 * 0.16mm = 1.92mm. +//#define UVLO_Z_AXIS_SHIFT 1.92 +#define UVLO_Z_AXIS_SHIFT 0.64 +// If power panic occured, and the current temperature is higher then target temperature before interrupt minus this offset, print will be recovered automatically. +#define AUTOMATIC_UVLO_BED_TEMP_OFFSET 5 + +#define HEATBED_V2 #define M600_TIMEOUT 600 //seconds -#ifndef SNMM -#define SUPPORT_VERBOSITY -#endif +//#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 3657dca43..60501256d 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -922,7 +922,7 @@ extern bool xyzcal_find_bed_induction_sensor_point_xy(); #endif //HEATBED_V2 #ifdef HEATBED_V2 -/*inline */bool find_bed_induction_sensor_point_xy(int verbosity_level) +inline bool find_bed_induction_sensor_point_xy(int verbosity_level) { #ifdef NEW_XYZCAL return xyzcal_find_bed_induction_sensor_point_xy(); @@ -1174,6 +1174,9 @@ extern bool xyzcal_find_bed_induction_sensor_point_xy(); #else //HEATBED_V2 inline bool find_bed_induction_sensor_point_xy(int verbosity_level) { +#ifdef NEW_XYZCAL + return xyzcal_find_bed_induction_sensor_point_xy(); +#else //NEW_XYZCAL #ifdef SUPPORT_VERBOSITY if (verbosity_level >= 10) MYSERIAL.println("find bed induction sensor point xy"); #endif // SUPPORT_VERBOSITY @@ -1366,6 +1369,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) enable_z_endstop(false); return found; +#endif //NEW_XYZCAL } #endif //HEATBED_V2 diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h index 5f3e19c2d..c1d34eec8 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -91,6 +91,10 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define Z_AXIS_ALWAYS_ON 1 +// New XYZ calibration +//#define NEW_XYZCAL + + /*------------------------------------ EXTRUDER SETTINGS *------------------------------------*/ diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index 63ffa05c9..08929f69f 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -89,6 +89,19 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define Z_AXIS_ALWAYS_ON 1 +// New XYZ calibration +#define NEW_XYZCAL + +// Fan check +#define FANCHECK + +// Safety timer +#define SAFETYTIMER + +// Filament sensor +#define PAT9125 + + //#define DEBUG_BUILD #ifdef DEBUG_BUILD @@ -168,12 +181,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed -#define PAT9125 //!< Filament sensor -#define FANCHECK -//#define WATCHDOG -#define SAFETYTIMER - - /*------------------------------------ LOAD/UNLOAD FILAMENT SETTINGS *------------------------------------*/ From 863fe1f054ba93fbe5d2cc6b4788b4fe65250772 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 14 Mar 2018 15:35:39 +0100 Subject: [PATCH 116/926] show message that printer is not connected to monitoring on printer start --- Firmware/Configuration_prusa.h | 2 + Firmware/Marlin_main.cpp | 11 ++-- Firmware/cmdqueue.cpp | 10 +++ Firmware/ultralcd.cpp | 116 +++++++++++++++++++++++++++++---- 4 files changed, 122 insertions(+), 17 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 7cf413c37..4591db85b 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -543,6 +543,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PING_TIME 60 //time in s #define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes #define PING_ALLERT_PERIOD 60 //time in s +#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring +#define NC_BUTTON_LONG_PRESS 15 //time in s #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index bd444e108..8235f9145 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -942,18 +942,21 @@ void setup() lcd_splash(); setup_killpin(); setup_powerhold(); - + farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE); EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no); - if ((farm_mode == 0xFF && farm_no == 0) || (farm_no == 0xFFFF)) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode - if (farm_no == 0xFFFF) farm_no = 0; + if ((farm_mode == 0xFF && farm_no == 0) || ((uint16_t)farm_no == 0xFFFF)) + farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode + if ((uint16_t)farm_no == 0xFFFF) farm_no = 0; selectedSerialPort = eeprom_read_byte((uint8_t*)EEPROM_SECOND_SERIAL_ACTIVE); if (selectedSerialPort == 0xFF) selectedSerialPort = 0; if (farm_mode) { + no_response = true; //we need confirmation by recieving PRUSA thx + important_status = 8; prusa_statistics(8); - selectedSerialPort = 1; + //selectedSerialPort = 1; } MYSERIAL.begin(BAUDRATE); fdev_setup_stream(uartout, uart_putchar, NULL, _FDEV_SETUP_WRITE); //setup uart out stream diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index bdf4c3abf..7daec45b1 100644 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -360,6 +360,16 @@ bool is_buffer_empty() else return false; } +void proc_commands() { + if (buflen) + { + process_commands(); + if (!cmdbuffer_front_already_processed) + cmdqueue_pop_front(); + cmdbuffer_front_already_processed = false; + } +} + void get_command() { // Test and reserve space for the new command string. diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 644f3e68f..2dbcafcb5 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -150,7 +150,7 @@ int lcd_commands_step=0; bool isPrintPaused = false; uint8_t farm_mode = 0; int farm_no = 0; -int farm_timer = 30; +int farm_timer = 8; int farm_status = 0; unsigned long allert_timer = millis(); bool printer_connected = true; @@ -160,7 +160,7 @@ float pid_temp = DEFAULT_PID_TEMP; bool long_press_active = false; long long_press_timer = millis(); -long button_blanking_time = millis(); +unsigned long button_blanking_time = millis(); bool button_pressed = false; bool menuExiting = false; @@ -467,15 +467,15 @@ static void lcd_status_screen() farm_timer--; if (farm_timer < 1) { - farm_timer = 180; + farm_timer = 10; prusa_statistics(0); } switch (farm_timer) { - case 45: + case 8: prusa_statistics(21); break; - case 10: + case 5: if (IS_SD_PRINTING) { prusa_statistics(20); @@ -2993,7 +2993,7 @@ void lcd_diag_show_end_stops() -void prusa_statistics(int _message) { +void prusa_statistics(int _message, uint8_t _fil_nr) { #ifdef DEBUG_DISABLE_PRUSA_STATISTICS return; #endif //DEBUG_DISABLE_PRUSA_STATISTICS @@ -3063,14 +3063,18 @@ void prusa_statistics(int _message) { break; case 4: // print succesfull - SERIAL_ECHOLN("{[RES:1]"); + SERIAL_ECHO("{[RES:1][FIL:"); + MYSERIAL.print(int(_fil_nr)); + SERIAL_ECHO("]"); prusa_stat_printerstatus(status_number); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); farm_timer = 2; break; case 5: // print not succesfull - SERIAL_ECHOLN("{[RES:0]"); + SERIAL_ECHO("{[RES:0][FIL:"); + MYSERIAL.print(int(_fil_nr)); + SERIAL_ECHO("]"); prusa_stat_printerstatus(status_number); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); @@ -3102,7 +3106,7 @@ void prusa_statistics(int _message) { prusa_stat_printerstatus(status_number); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); - farm_timer = 5; + farm_timer = 4; break; case 21: // temperatures SERIAL_ECHO("{"); @@ -3129,7 +3133,7 @@ void prusa_statistics(int _message) { SERIAL_ECHOLN("}"); break; case 92: // Error - Min temp - SERIAL_ECHOLN("{[ERR:3]"); + SERIAL_ECHO("{[ERR:3]"); prusa_stat_farm_number(); SERIAL_ECHOLN("}"); break; @@ -5170,14 +5174,99 @@ static void lcd_farm_no() } + +unsigned char lcd_choose_color() { + //function returns index of currently chosen item + //following part can be modified from 2 to 255 items: + //----------------------------------------------------- + unsigned char items_no = 2; + const char *item[items_no]; + item[0] = "Orange"; + item[1] = "Black"; + //----------------------------------------------------- + unsigned char active_rows; + static int first = 0; + int enc_dif = 0; + unsigned char cursor_pos = 1; + enc_dif = encoderDiff; + lcd_implementation_clear(); + lcd.setCursor(0, 1); + lcd.print(">"); + + active_rows = items_no < 3 ? items_no : 3; + + while (1) { + lcd_print_at_PGM(0, 0, PSTR("Choose color:")); + for (int i = 0; i < active_rows; i++) { + lcd.setCursor(1, i+1); + lcd.print(item[first + i]); + } + + manage_heater(); + manage_inactivity(true); + proc_commands(); + if (abs((enc_dif - encoderDiff)) > 12) { + + if (enc_dif > encoderDiff) { + cursor_pos--; + } + + if (enc_dif < encoderDiff) { + cursor_pos++; + } + + if (cursor_pos > active_rows) { + cursor_pos = active_rows; + if (first < items_no - active_rows) { + first++; + lcd_implementation_clear(); + } + } + + if (cursor_pos < 1) { + cursor_pos = 1; + if (first > 0) { + first--; + lcd_implementation_clear(); + } + } + 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()) { + while (lcd_clicked()); + delay(10); + while (lcd_clicked()); + switch(cursor_pos + first - 1) { + case 0: return 1; break; + case 1: return 0; break; + default: return 99; break; + } + } + + } + +} + void lcd_confirm_print() { + uint8_t filament_type; int enc_dif = 0; int cursor_pos = 1; int _ret = 0; int _t = 0; - + enc_dif = encoderDiff; lcd_implementation_clear(); lcd.setCursor(0, 0); @@ -5185,8 +5274,7 @@ void lcd_confirm_print() do { - - if (abs((enc_dif - encoderDiff)) > 2) { + if (abs(enc_dif - encoderDiff) > 12) { if (enc_dif > encoderDiff) { cursor_pos--; } @@ -5194,6 +5282,7 @@ void lcd_confirm_print() if (enc_dif < encoderDiff) { cursor_pos++; } + enc_dif = encoderDiff; } if (cursor_pos > 2) { cursor_pos = 2; } @@ -5241,6 +5330,7 @@ void lcd_confirm_print() manage_heater(); manage_inactivity(); + proc_commands(); } while (_ret == 0); From 67e90b576a3563907cf9ea5f557646ace19c6939 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 14 Mar 2018 16:25:32 +0100 Subject: [PATCH 117/926] Disabled force selftest XYZ calibration tunning --- Firmware/Configuration_prusa.h | 2 ++ Firmware/Marlin_main.cpp | 3 +++ Firmware/xyzcal.cpp | 16 ++++++++-------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index a74750b6a..4c45b6c50 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -133,6 +133,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MINTEMP_MINAMBIENT 25 #define MINTEMP_MINAMBIENT_RAW 978 +#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest //#define DEBUG_BUILD #ifdef DEBUG_BUILD //#define _NO_ASM @@ -154,6 +155,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed //#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages +#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_BLINK_ACTIVE diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b9ef2d35b..cc1237ea2 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1332,11 +1332,14 @@ void setup() } } +#ifndef DEBUG_DISABLE_FORCE_SELFTEST if (force_selftest_if_fw_version() && calibration_status() < CALIBRATION_STATUS_ASSEMBLED ) { lcd_show_fullscreen_message_and_wait_P(MSG_FORCE_SELFTEST); update_current_firmware_version_to_eeprom(); lcd_selftest(); } +#endif //DEBUG_DISABLE_FORCE_SELFTEST + KEEPALIVE_STATE(IN_PROCESS); #endif //DEBUG_DISABLE_STARTMSGS lcd_update_enable(true); diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 5d0aaacca..c6a1750a0 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -19,8 +19,8 @@ #define _PINDA ((READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)?1:0) -//#define DBG(args...) printf_P(args) -#define DBG(args...) +#define DBG(args...) printf_P(args) +//#define DBG(args...) #define _n PSTR #define _X ((int16_t)count_position[X_AXIS]) @@ -87,11 +87,11 @@ uint8_t xyzcal_dm = 0; void xyzcal_update_pos(uint16_t dx, uint16_t dy, uint16_t dz, uint16_t de) { - DBG(_n("xyzcal_update_pos dx=%d dy=%d dz=%d dir=%02x\n"), dx, dy, dz, xyzcal_dm); +// DBG(_n("xyzcal_update_pos dx=%d dy=%d dz=%d dir=%02x\n"), dx, dy, dz, xyzcal_dm); if (xyzcal_dm&1) count_position[0] -= dx; else count_position[0] += dx; if (xyzcal_dm&2) count_position[1] -= dy; else count_position[1] += dy; if (xyzcal_dm&4) count_position[2] -= dz; else count_position[2] += dz; - DBG(_n(" after xyzcal_update_pos x=%ld y=%ld z=%ld\n"), count_position[0], count_position[1], count_position[2]); +// DBG(_n(" after xyzcal_update_pos x=%ld y=%ld z=%ld\n"), count_position[0], count_position[1], count_position[2]); } uint16_t xyzcal_sm4_delay = 0; @@ -142,7 +142,7 @@ uint16_t xyzcal_calc_delay(uint16_t nd, uint16_t dd) bool xyzcal_lineXYZ_to(int16_t x, int16_t y, int16_t z, uint16_t delay_us, int8_t check_pinda) { - DBG(_n("xyzcal_lineXYZ_to x=%d y=%d z=%d check=%d\n"), x, y, z, check_pinda); +// DBG(_n("xyzcal_lineXYZ_to x=%d y=%d z=%d check=%d\n"), x, y, z, check_pinda); x -= (int16_t)count_position[0]; y -= (int16_t)count_position[1]; z -= (int16_t)count_position[2]; @@ -384,7 +384,7 @@ void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) for (l = 15; l > 8; l--) if (histo[l] >= 10) break; - uint8_t pix_min = (max_l + 3) << 4; + uint8_t pix_min = (max_l + 2) << 4; uint8_t pix_max = l << 4; uint8_t pix_dif = pix_max - pix_min; DBG(_n(" min=%d max=%d dif=%d\n"), pix_min, pix_max, pix_dif); @@ -425,7 +425,7 @@ void xyzcal_draw_pattern_12x12_in_32x32(uint8_t* pattern, uint32_t* pixels, int int16_t xyzcal_match_pattern_12x12_in_32x32(uint16_t* pattern, uint8_t* pixels, uint8_t c, uint8_t r) { - uint8_t thr = 64; + uint8_t thr = 32; int16_t match = 0; for (uint8_t i = 0; i < 12; i++) for (uint8_t j = 0; j < 12; j++) @@ -620,7 +620,7 @@ bool xyzcal_scan_and_process(void) int16_t z = _Z; uint8_t* pixels = (uint8_t*)block_buffer; - xyzcal_scan_pixels_32x32(x, y, z - 128, 2400, 200, pixels); + xyzcal_scan_pixels_32x32(x, y, z - 72, 2400, 200, pixels); uint16_t* histo = (uint16_t*)(pixels + 32*32); xyzcal_histo_pixels_32x32(pixels, histo); From 4bc16719537804c195e39bb53a0e3b783d694224 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 14 Mar 2018 16:33:50 +0100 Subject: [PATCH 118/926] version=3.2.0-alpha buildnumber=370 repository=Unknown --- Firmware/Configuration.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 1404456bc..18016ca3f 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,12 +7,12 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.1.3" -#define FW_COMMIT_NR 245 +#define FW_VERSION "3.2.0-alpha" +#define FW_COMMIT_NR 370 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN -#define FW_REPOSITORY "Prusa3D/MK3" +#define FW_REPOSITORY "Unknown" #define FW_VERSION_FULL FW_VERSION "-" STR(FW_COMMIT_NR) // Debug version has debugging enabled (the symbol DEBUG_BUILD is set). From 3d299cc412ac8e1dbec59725a1dba7c1a446f14d Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 14 Mar 2018 21:05:47 +0100 Subject: [PATCH 119/926] Document. --- Firmware/Dcodes.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index f01d2f5a3..c4663db57 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -456,6 +456,38 @@ void dcode_12() #include "planner.h" extern void st_synchronize(); +/** + * @brief D2130 Trinamic stepper controller + * D2130[subcommand][value] + * * Axis + * * * 'X' + * * * 'Y' + * * * 'Z' + * * * 'E' + * * command + * * * '0' current off + * * * '1' current on + * * * '+' single step + * * * * value sereval steps + * * * '-' dtto oposite direction + * * * '?' read register + * * * * "mres" + * * * * "step" + * * * * "mscnt" + * * * * "mscuract" + * * * * "wave" + * * * '!' set register + * * * * "mres" + * * * * "step" + * * * * "wave" + * * * * *0, 180..250 meaning: off, 0.9..1.25, recommended value is 1.1 + * * * '@' home calibrate axis + * + * Example: + * D2130E?wave //print extruder microstep linearity compensation curve + * D2130E!wave0 //disable extruder linearity compensation curve, (sine curve is used) + * D2130E!wave220 // (sin(x))^1.1 extruder microstep compensation curve used + */ void dcode_2130() { printf_P(PSTR("D2130 - TMC2130\n")); From e5faba72267e7fbe0150861d2c2745b03f95d0d8 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 15 Mar 2018 14:42:03 +0100 Subject: [PATCH 120/926] serial port set back (was previously changed for debugging purposes) --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 8d2d7a5d0..240bc1b99 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -976,7 +976,7 @@ void setup() no_response = true; //we need confirmation by recieving PRUSA thx important_status = 8; prusa_statistics(8); - //selectedSerialPort = 1; + selectedSerialPort = 1; } MYSERIAL.begin(BAUDRATE); fdev_setup_stream(uartout, uart_putchar, NULL, _FDEV_SETUP_WRITE); //setup uart out stream From 78f9f6b611b9691e1750e2f8ec693442e2bef9cf Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 16 Mar 2018 11:01:06 +0100 Subject: [PATCH 121/926] use defines for adc pins, temp table for PIDNA update --- Firmware/pins_Einsy_1_0.h | 2 +- Firmware/temperature.cpp | 44 ++++++++++++++++++++++++++++++++------- Firmware/ultralcd.cpp | 12 +++++------ 3 files changed, 44 insertions(+), 14 deletions(-) diff --git a/Firmware/pins_Einsy_1_0.h b/Firmware/pins_Einsy_1_0.h index 8595a0a35..0267b3fcf 100644 --- a/Firmware/pins_Einsy_1_0.h +++ b/Firmware/pins_Einsy_1_0.h @@ -73,7 +73,7 @@ #define HEATER_2_PIN -1 #define TEMP_2_PIN -1 -#define TEMP_AMBIENT_PIN 6 //A6 +#define TEMP_AMBIENT_PIN 5 //A5 #define TEMP_PINDA_PIN 3 //A3 diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 08e423bdc..3afccf998 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -182,6 +182,7 @@ static int bed_maxttemp_raw = HEATER_BED_RAW_HI_TEMP; static float analog2temp(int raw, uint8_t e); static float analog2tempBed(int raw); static float analog2tempAmbient(int raw); +static float analog2tempPINDA(int raw); static void updateTemperaturesFromRawValues(); enum TempRunawayStates @@ -922,6 +923,35 @@ static float analog2tempBed(int raw) { #endif } +#ifdef PINDA_THERMISTOR + +static float analog2tempPINDA(int raw) { + + float celsius = 0; + byte i; + + for (i = 1; i 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; +} + + +#endif //PINDA_THERMISTOR + + #ifdef AMBIENT_THERMISTOR static float analog2tempAmbient(int raw) { @@ -955,7 +985,7 @@ static void updateTemperaturesFromRawValues() } #ifdef PINDA_THERMISTOR - current_temperature_pinda = analog2tempBed(current_temperature_raw_pinda); //thermistor for pinda is the same as for bed + current_temperature_pinda = analog2tempPINDA(current_temperature_raw_pinda); #endif #ifdef AMBIENT_THERMISTOR @@ -1504,17 +1534,17 @@ extern "C" { void adc_ready(void) //callback from adc when sampling finished { - current_temperature_raw[0] = adc_values[0]; - current_temperature_raw_pinda = adc_values[1]; - current_temperature_bed_raw = adc_values[2]; + current_temperature_raw[0] = adc_values[TEMP_0_PIN]; //heater + current_temperature_raw_pinda = adc_values[TEMP_PINDA_PIN]; + current_temperature_bed_raw = adc_values[TEMP_BED_PIN]; #ifdef VOLT_PWR_PIN - current_voltage_raw_pwr = adc_values[4]; + current_voltage_raw_pwr = adc_values[VOLT_PWR_PIN]; #endif #ifdef AMBIENT_THERMISTOR - current_temperature_raw_ambient = adc_values[5]; + current_temperature_raw_ambient = adc_values[TEMP_AMBIENT_PIN]; #endif //AMBIENT_THERMISTOR #ifdef VOLT_BED_PIN - current_voltage_raw_bed = adc_values[6]; + current_voltage_raw_bed = adc_values[VOLT_BED_PIN]; // 6->9 #endif temp_meas_ready = true; } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2fbf2a63e..56fa8dd0d 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1695,7 +1695,7 @@ static void lcd_menu_temperatures() } } -#ifdef defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) +#if defined VOLT_BED_PIN || defined VOLT_PWR_PIN #define VOLT_DIV_R1 10000 #define VOLT_DIV_R2 2370 #define VOLT_DIV_FAC ((float)VOLT_DIV_R2 / (VOLT_DIV_R2 + VOLT_DIV_R1)) @@ -1703,8 +1703,8 @@ static void lcd_menu_temperatures() static void lcd_menu_voltages() { float volt_pwr = VOLT_DIV_REF * ((float)current_voltage_raw_pwr / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; - //float volt_bed = VOLT_DIV_REF * ((float)current_voltage_raw_bed / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; - //fprintf_P(lcdout, PSTR(ESC_H(1,1)"PWR: %d.%01dV" ESC_H(1,2)"BED: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed))); + float volt_bed = VOLT_DIV_REF * ((float)current_voltage_raw_bed / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; + fprintf_P(lcdout, PSTR(ESC_H(1,1)"PWR: %d.%01dV" ESC_H(1,2)"BED: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed))); fprintf_P(lcdout, PSTR( ESC_H(1,1)"PWR: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr))) ; if (lcd_clicked()) { @@ -1712,7 +1712,7 @@ static void lcd_menu_voltages() lcd_return_to_status(); } } -#endif //defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) +#endif //defined VOLT_BED_PIN || defined VOLT_PWR_PIN #ifdef TMC2130 static void lcd_menu_belt_status() @@ -1824,9 +1824,9 @@ static void lcd_support_menu() MENU_ITEM(submenu, MSG_MENU_TEMPERATURES, lcd_menu_temperatures); -#ifdef defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) +#if defined VOLT_BED_PIN || defined VOLT_BED_PIN MENU_ITEM(submenu, MSG_MENU_VOLTAGES, lcd_menu_voltages); -#endif //defined(VOLT_BED_PIN) || defined(VOLT_BED_PIN) +#endif //defined VOLT_BED_PIN || defined VOLT_BED_PIN #ifdef DEBUG_BUILD MENU_ITEM(submenu, PSTR("Debug"), lcd_menu_debug); From 7ad6fb526c2c66bf440e9ca0c67963de8e763487 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 23 Mar 2018 15:53:44 +0100 Subject: [PATCH 122/926] typo removed --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7bd4415c3..7631114bd 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7414,7 +7414,7 @@ static void lcd_send_status() { NcTime = millis(); lcd_connect_printer(); } -}; +} static void lcd_connect_printer() { lcd_update_enable(false); From 2d30261976f9371ee2682e3d12c0e705840b311d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 23 Mar 2018 16:49:06 +0100 Subject: [PATCH 123/926] bed voltage menu hidden --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 56fa8dd0d..a55dcb4f8 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1703,8 +1703,8 @@ static void lcd_menu_temperatures() static void lcd_menu_voltages() { float volt_pwr = VOLT_DIV_REF * ((float)current_voltage_raw_pwr / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; - float volt_bed = VOLT_DIV_REF * ((float)current_voltage_raw_bed / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; - fprintf_P(lcdout, PSTR(ESC_H(1,1)"PWR: %d.%01dV" ESC_H(1,2)"BED: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed))); + //float volt_bed = VOLT_DIV_REF * ((float)current_voltage_raw_bed / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC; + //fprintf_P(lcdout, PSTR(ESC_H(1,1)"PWR: %d.%01dV" ESC_H(1,2)"BED: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed))); fprintf_P(lcdout, PSTR( ESC_H(1,1)"PWR: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr))) ; if (lcd_clicked()) { From dc32bd24fc9758ff6493c90d005ab4b0eaf5330c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 23 Mar 2018 18:20:55 +0100 Subject: [PATCH 124/926] correction --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a55dcb4f8..b1a5abf9f 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1695,7 +1695,7 @@ static void lcd_menu_temperatures() } } -#if defined VOLT_BED_PIN || defined VOLT_PWR_PIN +#if defined (VOLT_BED_PIN) || defined (VOLT_PWR_PIN) #define VOLT_DIV_R1 10000 #define VOLT_DIV_R2 2370 #define VOLT_DIV_FAC ((float)VOLT_DIV_R2 / (VOLT_DIV_R2 + VOLT_DIV_R1)) @@ -1824,7 +1824,7 @@ static void lcd_support_menu() MENU_ITEM(submenu, MSG_MENU_TEMPERATURES, lcd_menu_temperatures); -#if defined VOLT_BED_PIN || defined VOLT_BED_PIN +#if defined (VOLT_BED_PIN) || defined (VOLT_BED_PIN) MENU_ITEM(submenu, MSG_MENU_VOLTAGES, lcd_menu_voltages); #endif //defined VOLT_BED_PIN || defined VOLT_BED_PIN From 2ce75293f3e85b0129ab8750fa0a23f844dac738 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 23 Mar 2018 19:49:59 +0100 Subject: [PATCH 125/926] stealth mode / silent mode --- Firmware/language_all.cpp | 24 ++++++++++++++++++++---- Firmware/language_all.h | 8 ++++++-- Firmware/language_cz.h | 8 ++++++-- Firmware/language_en.h | 3 +++ Firmware/ultralcd.cpp | 10 ++++++---- 5 files changed, 41 insertions(+), 12 deletions(-) diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 4dfc4c892..64b91f807 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -61,8 +61,10 @@ const char * const MSG_AUTO_HOME_LANG_TABLE[1] PROGMEM = { }; const char MSG_AUTO_MODE_ON_EN[] PROGMEM = "Mode [auto power]"; -const char * const MSG_AUTO_MODE_ON_LANG_TABLE[1] PROGMEM = { - MSG_AUTO_MODE_ON_EN +const char MSG_AUTO_MODE_ON_CZ[] PROGMEM = "Mod [automaticky]"; +const char * const MSG_AUTO_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_AUTO_MODE_ON_EN, + MSG_AUTO_MODE_ON_CZ }; const char MSG_A_RETRACT_EN[] PROGMEM = "A-retract"; @@ -1993,14 +1995,14 @@ const char * const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM] PROGMEM = { }; const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [high power]"; -const char MSG_SILENT_MODE_OFF_CZ[] PROGMEM = "Mod [Normal]"; +const char MSG_SILENT_MODE_OFF_CZ[] PROGMEM = "Mod [vys. vykon]"; const char * const MSG_SILENT_MODE_OFF_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SILENT_MODE_OFF_EN, MSG_SILENT_MODE_OFF_CZ }; const char MSG_SILENT_MODE_ON_EN[] PROGMEM = "Mode [silent]"; -const char MSG_SILENT_MODE_ON_CZ[] PROGMEM = "Mod [Stealth]"; +const char MSG_SILENT_MODE_ON_CZ[] PROGMEM = "Mod [tichy]"; const char * const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SILENT_MODE_ON_EN, MSG_SILENT_MODE_ON_CZ @@ -2095,6 +2097,20 @@ const char * const MSG_STATS_TOTALPRINTTIME_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_STATS_TOTALPRINTTIME_CZ }; +const char MSG_STEALTH_MODE_OFF_EN[] PROGMEM = "Mode [Normal]"; +const char MSG_STEALTH_MODE_OFF_CZ[] PROGMEM = "Mod [Normal]"; +const char * const MSG_STEALTH_MODE_OFF_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_STEALTH_MODE_OFF_EN, + MSG_STEALTH_MODE_OFF_CZ +}; + +const char MSG_STEALTH_MODE_ON_EN[] PROGMEM = "Mode [Stealth]"; +const char MSG_STEALTH_MODE_ON_CZ[] PROGMEM = "Mod [Stealth]"; +const char * const MSG_STEALTH_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_STEALTH_MODE_ON_EN, + MSG_STEALTH_MODE_ON_CZ +}; + const char MSG_STEEL_SHEET_CHECK_EN[] PROGMEM = "Is steel sheet on heatbed?"; const char MSG_STEEL_SHEET_CHECK_CZ[] PROGMEM = "Je tiskovy plat na heatbed?"; const char * const MSG_STEEL_SHEET_CHECK_LANG_TABLE[LANG_NUM] PROGMEM = { diff --git a/Firmware/language_all.h b/Firmware/language_all.h index ec44ba428..1995f99c3 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -40,8 +40,8 @@ extern const char* const MSG_AUTOLOAD_FILAMENT_LANG_TABLE[LANG_NUM]; #define MSG_AUTOLOAD_FILAMENT LANG_TABLE_SELECT(MSG_AUTOLOAD_FILAMENT_LANG_TABLE) extern const char* const MSG_AUTO_HOME_LANG_TABLE[1]; #define MSG_AUTO_HOME LANG_TABLE_SELECT_EXPLICIT(MSG_AUTO_HOME_LANG_TABLE, 0) -extern const char* const MSG_AUTO_MODE_ON_LANG_TABLE[1]; -#define MSG_AUTO_MODE_ON LANG_TABLE_SELECT_EXPLICIT(MSG_AUTO_MODE_ON_LANG_TABLE, 0) +extern const char* const MSG_AUTO_MODE_ON_LANG_TABLE[LANG_NUM]; +#define MSG_AUTO_MODE_ON LANG_TABLE_SELECT(MSG_AUTO_MODE_ON_LANG_TABLE) extern const char* const MSG_A_RETRACT_LANG_TABLE[1]; #define MSG_A_RETRACT LANG_TABLE_SELECT_EXPLICIT(MSG_A_RETRACT_LANG_TABLE, 0) extern const char* const MSG_BABYSTEPPING_X_LANG_TABLE[1]; @@ -688,6 +688,10 @@ extern const char* const MSG_STATS_TOTALFILAMENT_LANG_TABLE[LANG_NUM]; #define MSG_STATS_TOTALFILAMENT LANG_TABLE_SELECT(MSG_STATS_TOTALFILAMENT_LANG_TABLE) extern const char* const MSG_STATS_TOTALPRINTTIME_LANG_TABLE[LANG_NUM]; #define MSG_STATS_TOTALPRINTTIME LANG_TABLE_SELECT(MSG_STATS_TOTALPRINTTIME_LANG_TABLE) +extern const char* const MSG_STEALTH_MODE_OFF_LANG_TABLE[LANG_NUM]; +#define MSG_STEALTH_MODE_OFF LANG_TABLE_SELECT(MSG_STEALTH_MODE_OFF_LANG_TABLE) +extern const char* const MSG_STEALTH_MODE_ON_LANG_TABLE[LANG_NUM]; +#define MSG_STEALTH_MODE_ON LANG_TABLE_SELECT(MSG_STEALTH_MODE_ON_LANG_TABLE) extern const char* const MSG_STEEL_SHEET_CHECK_LANG_TABLE[LANG_NUM]; #define MSG_STEEL_SHEET_CHECK LANG_TABLE_SELECT(MSG_STEEL_SHEET_CHECK_LANG_TABLE) extern const char* const MSG_STEPPER_TIMER_OVERFLOW_ERROR_LANG_TABLE[1]; diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index 911ffd664..a332770a7 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -103,8 +103,12 @@ #define MSG_INSERT_FILAMENT "Vlozte filament" #define MSG_CHANGING_FILAMENT "Vymena filamentu!" -#define MSG_SILENT_MODE_ON "Mod [Stealth]" -#define MSG_SILENT_MODE_OFF "Mod [Normal]" +#define MSG_SILENT_MODE_ON "Mod [tichy]" +#define MSG_SILENT_MODE_OFF "Mod [vys. vykon]" +#define MSG_AUTO_MODE_ON "Mod [automaticky]" +#define MSG_STEALTH_MODE_OFF "Mod [Normal]" +#define MSG_STEALTH_MODE_ON "Mod [Stealth]" + #define MSG_REBOOT "Restartujte tiskarnu" #define MSG_TAKE_EFFECT " pro projeveni zmen" diff --git a/Firmware/language_en.h b/Firmware/language_en.h index b1bb54622..948caf80c 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -105,6 +105,9 @@ #define MSG_SILENT_MODE_ON "Mode [silent]" #define MSG_SILENT_MODE_OFF "Mode [high power]" #define MSG_AUTO_MODE_ON "Mode [auto power]" +#define MSG_STEALTH_MODE_OFF "Mode [Normal]" +#define MSG_STEALTH_MODE_ON "Mode [Stealth]" + #define(length=20) MSG_REBOOT "Reboot the printer" #define(length=20) MSG_TAKE_EFFECT " for take effect" diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2fbf2a63e..96d57c76a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3975,6 +3975,7 @@ static void lcd_settings_menu() { MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); } +#ifndef TMC2130 if (!farm_mode) { //dont show in menu if we are in farm mode switch (SilentModeMenu) { case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; @@ -3983,6 +3984,7 @@ static void lcd_settings_menu() default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; } } +#endif //TMC2130 #ifdef PAT9125 #ifndef DEBUG_DISABLE_FSENSORCHECK @@ -4020,8 +4022,8 @@ static void lcd_settings_menu() } #ifdef TMC2130 - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); + if (SilentModeMenu == 0) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); if (SilentModeMenu == 0) { if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); @@ -5635,8 +5637,8 @@ static void lcd_tune_menu() #endif //DEBUG_DISABLE_FSENSORCHECK #ifdef TMC2130 - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); + if (SilentModeMenu == 0) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); if (SilentModeMenu == 0) { From 397e7d47919470cce0f04ee9ee8b00e9034b6a58 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 22 Mar 2018 19:53:58 +0100 Subject: [PATCH 126/926] Increase resolution of wave factor. --- Firmware/Dcodes.cpp | 10 +++---- Firmware/tmc2130.cpp | 12 ++++----- Firmware/tmc2130.h | 12 ++++----- Firmware/ultralcd.cpp | 26 +++++++++---------- .../ultralcd_implementation_hitachi_HD44780.h | 2 +- 5 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index c4663db57..4b47a762d 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -574,11 +574,11 @@ void dcode_2130() } else if (strncmp(strchr_pointer + 7, "wave", 4) == 0) { - uint8_t fac200 = atoi(strchr_pointer + 11) & 0xff; - if (fac200 < TMC2130_WAVE_FAC200_MIN) fac200 = 0; - if (fac200 > TMC2130_WAVE_FAC200_MAX) fac200 = TMC2130_WAVE_FAC200_MAX; - tmc2130_set_wave(axis, 247, fac200); - tmc2130_wave_fac[axis] = fac200; + uint16_t fac1000 = atoi(strchr_pointer + 11) & 0xffff; + if (fac1000 < TMC2130_WAVE_FAC1000_MIN) fac1000 = 0; + if (fac1000 > TMC2130_WAVE_FAC1000_MAX) fac1000 = TMC2130_WAVE_FAC1000_MAX; + tmc2130_set_wave(axis, 247, fac1000); + tmc2130_wave_fac[axis] = fac1000; } } else if (strchr_pointer[1+5] == '@') diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 58f84cf43..b17e4f30f 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -58,7 +58,7 @@ uint8_t tmc2130_home_origin[2] = {0, 0}; uint8_t tmc2130_home_bsteps[2] = {48, 48}; uint8_t tmc2130_home_fsteps[2] = {48, 48}; -uint8_t tmc2130_wave_fac[4] = {0, 0, 0, 0}; +uint16_t tmc2130_wave_fac[4] = {0, 0, 0, 0}; bool tmc2130_sg_stop_on_crash = true; uint8_t tmc2130_sg_diag_mask = 0x00; @@ -821,14 +821,14 @@ void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream) tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); } -void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200) +void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint16_t fac1000) { // TMC2130 wave compression algorithm // optimized for minimal memory requirements - printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac200); - if (fac200 < TMC2130_WAVE_FAC200_MIN) fac200 = 0; - if (fac200 > TMC2130_WAVE_FAC200_MAX) fac200 = TMC2130_WAVE_FAC200_MAX; - float fac = (float)fac200/200; //correction factor + printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac1000); + if (fac1000 < TMC2130_WAVE_FAC1000_MIN) fac1000 = 0; + if (fac1000 > TMC2130_WAVE_FAC1000_MAX) fac1000 = TMC2130_WAVE_FAC1000_MAX; + float fac = (float)fac1000/1000; //correction factor uint8_t vA = 0; //value of currentA uint8_t va = 0; //previous vA uint8_t d0 = 0; //delta0 diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index 4f93a0c37..a81fad263 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -23,16 +23,16 @@ extern uint32_t tmc2130_sg_meassure_val; #define TMC2130_MODE_NORMAL 0 #define TMC2130_MODE_SILENT 1 -#define TMC2130_WAVE_FAC200_MIN 180 -#define TMC2130_WAVE_FAC200_MAX 250 -#define TMC2130_WAVE_FAC200_STP 1 +#define TMC2130_WAVE_FAC1000_MIN 900 +#define TMC2130_WAVE_FAC1000_MAX 1250 +#define TMC2130_WAVE_FAC1000_STP 1 extern uint8_t tmc2130_home_enabled; extern uint8_t tmc2130_home_origin[2]; extern uint8_t tmc2130_home_bsteps[2]; extern uint8_t tmc2130_home_fsteps[2]; -extern uint8_t tmc2130_wave_fac[4]; +extern uint16_t tmc2130_wave_fac[4]; //initialize tmc2130 @@ -117,8 +117,8 @@ extern void tmc2130_do_step(uint8_t axis); extern void tmc2130_do_steps(uint8_t axis, uint16_t steps, uint8_t dir, uint16_t delay_us); extern void tmc2130_goto_step(uint8_t axis, uint8_t step, uint8_t dir, uint16_t delay_us, uint16_t microstep_resolution); extern void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream); -extern void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac200); +extern void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint16_t fac1000); extern bool tmc2130_home_calibrate(uint8_t axis); -#endif //TMC2130_H \ No newline at end of file +#endif //TMC2130_H diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index c0452c36e..f51171f4d 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -240,7 +240,7 @@ static void menu_action_setlang(unsigned char lang); 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_wfac(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); +static void menu_action_setting_edit_wfac(const char* pstr, uint16_t* ptr, uint16_t minValue, uint16_t maxValue); static void menu_action_setting_edit_mres(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); static void menu_action_setting_edit_byte3(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); static void menu_action_setting_edit_int3(const char* pstr, int* ptr, int minValue, int maxValue); @@ -1525,7 +1525,7 @@ static void lcd_menu_extruder_info() lcd.print(itostr3(pat9125_b)); // Display LASER shutter time from Filament sensor - /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chips internal + /* Shutter register is an index of LASER shutter time. It is automatically controlled by the chip�s internal auto-exposure algorithm. When the chip is tracking on a good reflection surface, the Shutter is small. When the chip is tracking on a poor reflection surface, the Shutter is large. Value ranges from 0 to 46. */ @@ -4108,10 +4108,10 @@ static void lcd_ustep_linearity_menu_save() static void lcd_ustep_linearity_menu_back() { bool changed = false; - if (tmc2130_wave_fac[X_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[X_AXIS] = 0; - if (tmc2130_wave_fac[Y_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Y_AXIS] = 0; - if (tmc2130_wave_fac[Z_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[Z_AXIS] = 0; - if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC200_MIN) tmc2130_wave_fac[E_AXIS] = 0; + if (tmc2130_wave_fac[X_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[X_AXIS] = 0; + if (tmc2130_wave_fac[Y_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[Y_AXIS] = 0; + if (tmc2130_wave_fac[Z_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[Z_AXIS] = 0; + if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[E_AXIS] = 0; changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC) != tmc2130_wave_fac[X_AXIS]); changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC) != tmc2130_wave_fac[Y_AXIS]); changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC) != tmc2130_wave_fac[Z_AXIS]); @@ -4145,10 +4145,10 @@ static void lcd_ustep_linearity_menu() MENU_ITEM(back, PSTR("Experimental"), lcd_ustep_linearity_menu_back); MENU_ITEM(function, PSTR("Reset correction"), lcd_ustep_linearity_menu_reset); MENU_ITEM(function, PSTR("Recomended config"), lcd_ustep_linearity_menu_recomended); - MENU_ITEM_EDIT(wfac, PSTR("X-correction"), &tmc2130_wave_fac[X_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); - MENU_ITEM_EDIT(wfac, PSTR("Y-correction"), &tmc2130_wave_fac[Y_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); - MENU_ITEM_EDIT(wfac, PSTR("Z-correction"), &tmc2130_wave_fac[Z_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); - MENU_ITEM_EDIT(wfac, PSTR("E-correction"), &tmc2130_wave_fac[E_AXIS], TMC2130_WAVE_FAC200_MIN-TMC2130_WAVE_FAC200_STP, TMC2130_WAVE_FAC200_MAX); + MENU_ITEM_EDIT(wfac, PSTR("X-correction"), &tmc2130_wave_fac[X_AXIS], TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX); + MENU_ITEM_EDIT(wfac, PSTR("Y-correction"), &tmc2130_wave_fac[Y_AXIS], TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX); + MENU_ITEM_EDIT(wfac, PSTR("Z-correction"), &tmc2130_wave_fac[Z_AXIS], TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX); + MENU_ITEM_EDIT(wfac, PSTR("E-correction"), &tmc2130_wave_fac[E_AXIS], TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX); END_MENU(); } @@ -5844,9 +5844,9 @@ char *mres_to_str3(const uint8_t &x) extern char conv[8]; // Convert tmc2130 wfac to string -char *wfac_to_str5(const uint8_t &x) +char *wfac_to_str5(const uint16_t &x) { - if (x>=TMC2130_WAVE_FAC200_MIN) return ftostr43(((float)(x & 0xff))/200); + if (x>=TMC2130_WAVE_FAC1000_MIN) return ftostr43(((float)(x & 0xffff))/1000); conv[0] = ' '; conv[1] = ' '; conv[2] = 'O'; @@ -5856,7 +5856,7 @@ char *wfac_to_str5(const uint8_t &x) return conv; } -menu_edit_type(uint8_t, wfac, wfac_to_str5, 1) +menu_edit_type(uint16_t, wfac, wfac_to_str5, 1) menu_edit_type(uint8_t, mres, mres_to_str3, 1) menu_edit_type(uint8_t, byte3, itostr3, 1) menu_edit_type(int, int3, itostr3, 1) diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 0d9db3e7b..48c91fe8d 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -1146,7 +1146,7 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(uint8_t row, cons } -extern char *wfac_to_str5(const uint8_t &x); +extern char *wfac_to_str5(const uint16_t &x); extern char *mres_to_str3(const uint8_t &x); #define lcd_implementation_drawmenu_setting_edit_wfac_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', wfac_to_str5(*(data))) From 57bbb0e17d9ba1a0f25578e5a300860ab8860cf4 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 26 Mar 2018 20:25:23 +0200 Subject: [PATCH 127/926] Fix wraparound from lowest value to highest value in menu value edit. --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a55fc2ed0..c7cf7431e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -335,7 +335,7 @@ volatile uint8_t slow_buttons;//Contains the bits of the currently pressed butto #endif uint8_t currentMenuViewOffset; /* scroll offset in the current menu */ uint8_t lastEncoderBits; -uint16_t encoderPosition; +uint32_t encoderPosition; #if (SDCARDDETECT > 0) bool lcd_oldcardstatus; #endif @@ -7987,4 +7987,4 @@ void copy_and_scalePID_d() } */ -#endif //ULTRA_LCD \ No newline at end of file +#endif //ULTRA_LCD From cf43b85de951f84a8a94a1e205905603ab9446f5 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 27 Mar 2018 17:27:41 +0200 Subject: [PATCH 128/926] XYZ calibration - accuracy improvement --- Firmware/Marlin_main.cpp | 6 ++- Firmware/xyzcal.cpp | 93 +++++++++++++++++++++++++++++++++++++++- Firmware/xyzcal.h | 2 + 3 files changed, 98 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 240bc1b99..0f8b93b03 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2367,7 +2367,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder); st_synchronize(); -#ifndef NEW_XYZCAL +//#ifndef NEW_XYZCAL if (result >= 0) { #ifdef HEATBED_V2 @@ -2390,7 +2390,9 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) // if (result >= 0) babystep_apply(); #endif //HEATBED_V2 } -#endif //NEW_XYZCAL +//#endif //NEW_XYZCAL + lcd_update_enable(true); + lcd_update(2); lcd_bed_calibration_show_result(result, point_too_far_mask); if (result >= 0) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index c6a1750a0..b59918f70 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -470,6 +470,82 @@ int16_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, u return max_match; } +#define MAX_DIAMETR 600 + +int8_t xyzcal_find_point_center2(uint16_t delay_us) +{ + printf_P(PSTR("xyzcal_find_point_center2\n")); + int16_t x0 = _X; + int16_t y0 = _Y; + int16_t z0 = _Z; + printf_P(PSTR(" x0=%d\n"), x0); + printf_P(PSTR(" y0=%d\n"), y0); + printf_P(PSTR(" z0=%d\n"), z0); + + xyzcal_lineXYZ_to(_X, _Y, z0 + 400, 500, -1); + xyzcal_lineXYZ_to(_X, _Y, z0 - 400, 500, 1); + xyzcal_lineXYZ_to(_X, _Y, z0 + 400, 500, -1); + xyzcal_lineXYZ_to(_X, _Y, z0 - 400, 500, 1); + + z0 = _Z; + +// xyzcal_lineXYZ_to(x0, y0, z0 - 100, 500, 1); +// z0 = _Z; +// printf_P(PSTR(" z0=%d\n"), z0); +// xyzcal_lineXYZ_to(x0, y0, z0 + 100, 500, -1); +// z0 += _Z; +// z0 /= 2; + printf_P(PSTR(" z0=%d\n"), z0); +// xyzcal_lineXYZ_to(x0, y0, z0 - 100, 500, 1); +// z0 = _Z - 10; + + xyzcal_lineXYZ_to(x0 - MAX_DIAMETR, y0, z0, delay_us, -1); + int16_t dx1 = x0 - _X; + if (dx1 >= MAX_DIAMETR) + { + printf_P(PSTR("!!! dx1 = %d\n"), dx1); + return 0; + } + xyzcal_lineXYZ_to(x0, y0, z0, delay_us, 0); + xyzcal_lineXYZ_to(x0 + MAX_DIAMETR, y0, z0, delay_us, -1); + int16_t dx2 = _X - x0; + if (dx2 >= MAX_DIAMETR) + { + printf_P(PSTR("!!! dx2 = %d\n"), dx2); + return 0; + } + xyzcal_lineXYZ_to(x0, y0, z0, delay_us, 0); + xyzcal_lineXYZ_to(x0 , y0 - MAX_DIAMETR, z0, delay_us, -1); + int16_t dy1 = y0 - _Y; + if (dy1 >= MAX_DIAMETR) + { + printf_P(PSTR("!!! dy1 = %d\n"), dy1); + return 0; + } + xyzcal_lineXYZ_to(x0, y0, z0, delay_us, 0); + xyzcal_lineXYZ_to(x0, y0 + MAX_DIAMETR, z0, delay_us, -1); + int16_t dy2 = _Y - y0; + if (dy2 >= MAX_DIAMETR) + { + printf_P(PSTR("!!! dy2 = %d\n"), dy2); + return 0; + } + printf_P(PSTR("dx1=%d\n"), dx1); + printf_P(PSTR("dx2=%d\n"), dx2); + printf_P(PSTR("dy1=%d\n"), dy1); + printf_P(PSTR("dy2=%d\n"), dy2); + + x0 += (dx2 - dx1) / 2; + y0 += (dy2 - dy1) / 2; + + printf_P(PSTR(" x0=%d\n"), x0); + printf_P(PSTR(" y0=%d\n"), y0); + + xyzcal_lineXYZ_to(x0, y0, z0, delay_us, 0); + + return 1; +} + #ifdef XYZCAL_FIND_POINT_CENTER int8_t xyzcal_find_point_center(int16_t x0, int16_t y0, int16_t z0, int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t turns) { @@ -671,7 +747,22 @@ bool xyzcal_find_bed_induction_sensor_point_xy(void) xyzcal_lineXYZ_to(x, y, z, 200, 0); if (xyzcal_scan_and_process()) { - ret = true; + if (xyzcal_find_point_center2(500)) + { + uint32_t x_avg = 0; + uint32_t y_avg = 0; + uint8_t n; for (n = 0; n < 4; n++) + { + if (!xyzcal_find_point_center2(1000)) break; + x_avg += _X; + y_avg += _Y; + } + if (n == 4) + { + xyzcal_lineXYZ_to(x_avg >> 2, y_avg >> 2, _Z, 200, 0); + ret = true; + } + } } } xyzcal_meassure_leave(); diff --git a/Firmware/xyzcal.h b/Firmware/xyzcal.h index a91b1c18d..5590396e4 100644 --- a/Firmware/xyzcal.h +++ b/Firmware/xyzcal.h @@ -27,6 +27,8 @@ extern int16_t xyzcal_match_pattern_12x12_in_32x32(uint16_t* pattern, uint8_t* p extern int16_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, uint8_t* pc, uint8_t* pr); +extern int8_t xyzcal_find_point_center2(uint16_t delay_us); + //extern int8_t xyzcal_find_point_center(int16_t x0, int16_t y0, int16_t z0, int16_t min_z, int16_t max_z, uint16_t delay_us, uint8_t turns); extern bool xyzcal_searchZ(void); From 678cd17e7be56338266b9a2529f62810a8bb7ee7 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 28 Mar 2018 16:13:16 +0200 Subject: [PATCH 129/926] Increase size of EEPROM_TMC2130_WAVE_*_FAC to 16 bits. --- Firmware/Configuration.h | 10 +++++----- Firmware/Marlin_main.cpp | 16 ++++++++-------- Firmware/ultralcd.cpp | 23 ++++++++++++----------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index b46731f49..888a6c914 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -155,11 +155,11 @@ //////////////////////////////////////// // TMC2130 uStep linearity correction -// Linearity correction factor (XYZE) encoded as uint8 (0=>1, 1=>1.001, 254=>1.254, 255=>clear eeprom/disabled) -#define EEPROM_TMC2130_WAVE_X_FAC (EEPROM_TMC2130_HOME_ENABLED - 1) // uint8 -#define EEPROM_TMC2130_WAVE_Y_FAC (EEPROM_TMC2130_WAVE_X_FAC - 1) // uint8 -#define EEPROM_TMC2130_WAVE_Z_FAC (EEPROM_TMC2130_WAVE_Y_FAC - 1) // uint8 -#define EEPROM_TMC2130_WAVE_E_FAC (EEPROM_TMC2130_WAVE_Z_FAC - 1) // uint8 +// Linearity correction factor (XYZE) +#define EEPROM_TMC2130_WAVE_X_FAC (EEPROM_TMC2130_HOME_ENABLED - 2) // uint16 +#define EEPROM_TMC2130_WAVE_Y_FAC (EEPROM_TMC2130_WAVE_X_FAC - 2) // uint16 +#define EEPROM_TMC2130_WAVE_Z_FAC (EEPROM_TMC2130_WAVE_Y_FAC - 2) // uint16 +#define EEPROM_TMC2130_WAVE_E_FAC (EEPROM_TMC2130_WAVE_Z_FAC - 2) // uint16 //////////////////////////////////////// diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e2018ee1b..1d0e0d601 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1035,14 +1035,14 @@ void setup() } #ifdef TMC2130_LINEARITY_CORRECTION - tmc2130_wave_fac[X_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC); - tmc2130_wave_fac[Y_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC); - tmc2130_wave_fac[Z_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC); - tmc2130_wave_fac[E_AXIS] = eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC); - if (tmc2130_wave_fac[X_AXIS] == 0xff) tmc2130_wave_fac[X_AXIS] = 0; - if (tmc2130_wave_fac[Y_AXIS] == 0xff) tmc2130_wave_fac[Y_AXIS] = 0; - if (tmc2130_wave_fac[Z_AXIS] == 0xff) tmc2130_wave_fac[Z_AXIS] = 0; - if (tmc2130_wave_fac[E_AXIS] == 0xff) tmc2130_wave_fac[E_AXIS] = 0; + tmc2130_wave_fac[X_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_X_FAC); + tmc2130_wave_fac[Y_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Y_FAC); + tmc2130_wave_fac[Z_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Z_FAC); + tmc2130_wave_fac[E_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC); + if (tmc2130_wave_fac[X_AXIS] == 0xffff) tmc2130_wave_fac[X_AXIS] = 0; + if (tmc2130_wave_fac[Y_AXIS] == 0xffff) tmc2130_wave_fac[Y_AXIS] = 0; + if (tmc2130_wave_fac[Z_AXIS] == 0xffff) tmc2130_wave_fac[Z_AXIS] = 0; + if (tmc2130_wave_fac[E_AXIS] == 0xffff) tmc2130_wave_fac[E_AXIS] = 0; #endif //TMC2130_LINEARITY_CORRECTION #ifdef TMC2130_VARIABLE_RESOLUTION diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index f51171f4d..1de7d375e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3967,6 +3967,13 @@ static void lcd_selftest_() lcd_selftest(); } +static void lcd_ustep_linearity_menu_save() +{ + eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_X_FAC, tmc2130_wave_fac[X_AXIS]); + eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_Y_FAC, tmc2130_wave_fac[Y_AXIS]); + eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_Z_FAC, tmc2130_wave_fac[Z_AXIS]); + eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC, tmc2130_wave_fac[E_AXIS]); +} #ifdef EXPERIMENTAL_FEATURES static void lcd_experimantal_menu(); @@ -4097,13 +4104,7 @@ static void lcd_ustep_resolution_menu() END_MENU(); } -static void lcd_ustep_linearity_menu_save() -{ - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC, tmc2130_wave_fac[X_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC, tmc2130_wave_fac[Y_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC, tmc2130_wave_fac[Z_AXIS]); - eeprom_update_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC, tmc2130_wave_fac[E_AXIS]); -} + static void lcd_ustep_linearity_menu_back() { @@ -4112,10 +4113,10 @@ static void lcd_ustep_linearity_menu_back() if (tmc2130_wave_fac[Y_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[Y_AXIS] = 0; if (tmc2130_wave_fac[Z_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[Z_AXIS] = 0; if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[E_AXIS] = 0; - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC) != tmc2130_wave_fac[X_AXIS]); - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC) != tmc2130_wave_fac[Y_AXIS]); - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC) != tmc2130_wave_fac[Z_AXIS]); - changed |= (eeprom_read_byte((uint8_t*)EEPROM_TMC2130_WAVE_E_FAC) != tmc2130_wave_fac[E_AXIS]); + changed |= (eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_X_FAC) != tmc2130_wave_fac[X_AXIS]); + changed |= (eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Y_FAC) != tmc2130_wave_fac[Y_AXIS]); + changed |= (eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Z_FAC) != tmc2130_wave_fac[Z_AXIS]); + changed |= (eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC) != tmc2130_wave_fac[E_AXIS]); lcd_ustep_linearity_menu_save(); if (changed) tmc2130_init(); currentMenu = lcd_experimantal_menu; From 8ba83a97890c408440fcca0d8a3676fc39f9bdb7 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 28 Mar 2018 16:13:54 +0200 Subject: [PATCH 130/926] bugfix - PFW226 - selftest error --- Firmware/ultralcd.cpp | 10 +++++++++- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2fbf2a63e..9ca7f6467 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6037,6 +6037,7 @@ bool lcd_selftest() _result = lcd_selftest_manual_fan_check(0, false); #endif //defined(TACH_0) + if (_result) { _progress = lcd_selftest_screen(0, _progress, 3, true, 2000); @@ -6063,6 +6064,7 @@ bool lcd_selftest() _result = lcd_selfcheck_check_heater(false); } + if (_result) { //current_position[Z_AXIS] += 15; //move Z axis higher to avoid false triggering of Z end stop in case that we are very low - just above heatbed @@ -6316,6 +6318,7 @@ static bool lcd_selfcheck_axis_sg(char axis) { static bool lcd_selfcheck_axis(int _axis, int _travel) { +// printf_P(PSTR("lcd_selfcheck_axis %d, %d\n"), _axis, _travel); bool _stepdone = false; bool _stepresult = false; int _progress = 0; @@ -6329,10 +6332,13 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); st_synchronize(); - +#ifdef TMC2130 + if ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1)) +#else //TMC2130 if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) || ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) || ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1)) +#endif //TMC2130 { if (_axis == 0) { @@ -6350,6 +6356,7 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) { _stepresult = ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) ? true : false; _err_endstop = ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? 0 : 1; + printf_P(PSTR("lcd_selfcheck_axis %d, %d\n"), _stepresult, _err_endstop); /*disable_x(); disable_y(); disable_z();*/ @@ -6392,6 +6399,7 @@ static bool lcd_selfcheck_axis(int _axis, int _travel) if (_err_endstop == 1) _error_2 = "Y"; if (_err_endstop == 2) _error_2 = "Z"; + if (_travel_done >= _travel) { lcd_selftest_error(5, _error_1, _error_2); diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index a74750b6a..b128f0f8e 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -154,6 +154,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed //#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages +//#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_BLINK_ACTIVE From 2c3c6c54f305c81aa6d62774a7eeb0c47b58e97d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 28 Mar 2018 17:00:17 +0200 Subject: [PATCH 131/926] checking if file is complete temporarily not active in farm mode --- Firmware/ultralcd.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7631114bd..ac17b24b6 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -7097,6 +7097,7 @@ static void menu_action_function(menuFunc_t data) { } static bool check_file(const char* filename) { + if (farm_mode) return true; bool result = false; uint32_t filesize; card.openFile((char*)filename, true); From 95e751dd65cfebe7647f72523fecbb93d09fc1b9 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 28 Mar 2018 17:04:46 +0200 Subject: [PATCH 132/926] farm mode: preheat menu update --- Firmware/ultralcd.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index ac17b24b6..8ba772f1a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1746,15 +1746,15 @@ static void lcd_preheat_menu() MENU_ITEM(back, MSG_MAIN, lcd_main_menu); if (farm_mode) - MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); - - MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla); - MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet); - MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); - MENU_ITEM(function, PSTR("HIPS - " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP)), lcd_preheat_hips); - MENU_ITEM(function, PSTR("PP - " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP)), lcd_preheat_pp); - MENU_ITEM(function, PSTR("FLEX - " STRINGIFY(FLEX_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FLEX_PREHEAT_HPB_TEMP)), lcd_preheat_flex); - + MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); + else { + MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla); + MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet); + MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); + MENU_ITEM(function, PSTR("HIPS - " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP)), lcd_preheat_hips); + MENU_ITEM(function, PSTR("PP - " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP)), lcd_preheat_pp); + MENU_ITEM(function, PSTR("FLEX - " STRINGIFY(FLEX_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FLEX_PREHEAT_HPB_TEMP)), lcd_preheat_flex); + } MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); END_MENU(); From 6e15a77c9b25ddaecdc0998ec3f9f739d07fee5d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 28 Mar 2018 17:50:16 +0200 Subject: [PATCH 133/926] preheat menu update --- Firmware/ultralcd.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 8ba772f1a..28b578b0c 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1431,6 +1431,15 @@ void lcd_preheat_farm() setWatch(); // heater sanity check timer } +void lcd_preheat_farm_nozzle() +{ + setTargetHotend0(FARM_PREHEAT_HOTEND_TEMP); + setTargetBed(0); + fanSpeed = 0; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + void lcd_preheat_pla() { setTargetHotend0(PLA_PREHEAT_HOTEND_TEMP); @@ -1745,17 +1754,21 @@ static void lcd_preheat_menu() MENU_ITEM(back, MSG_MAIN, lcd_main_menu); - if (farm_mode) - MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); - else { + if (farm_mode) { + MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); + MENU_ITEM(function, PSTR("nozzle - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/0"), lcd_preheat_farm_nozzle); + MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); + MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); + } else { MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla); MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet); MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); MENU_ITEM(function, PSTR("HIPS - " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP)), lcd_preheat_hips); MENU_ITEM(function, PSTR("PP - " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP)), lcd_preheat_pp); MENU_ITEM(function, PSTR("FLEX - " STRINGIFY(FLEX_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FLEX_PREHEAT_HPB_TEMP)), lcd_preheat_flex); + MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); } - MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); + END_MENU(); } From 40a064ffbcd619ed3f655c0ccb51a5c167659145 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 28 Mar 2018 18:53:37 +0200 Subject: [PATCH 134/926] Add extruder linearity correction to settings menu. --- Firmware/Configuration_prusa.h | 2 +- Firmware/Marlin_main.cpp | 2 ++ Firmware/langtool.pl | 0 Firmware/language_all.cpp | 10 +++++++ Firmware/language_all.h | 4 +++ Firmware/language_en.h | 2 ++ Firmware/ultralcd.cpp | 48 ++++++++++++++++++++++------------ Firmware/ultralcd.h | 4 +-- 8 files changed, 53 insertions(+), 19 deletions(-) mode change 100644 => 100755 Firmware/langtool.pl diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 7cf413c37..6d781dce9 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -137,7 +137,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif /* DEBUG_BUILD */ //#define EXPERIMENTAL_FEATURES -//#define TMC2130_LINEARITY_CORRECTION +#define TMC2130_LINEARITY_CORRECTION //#define TMC2130_VARIABLE_RESOLUTION diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 1d0e0d601..488b726aa 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1035,9 +1035,11 @@ void setup() } #ifdef TMC2130_LINEARITY_CORRECTION +#ifdef EXPERIMENTAL_FEATURES tmc2130_wave_fac[X_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_X_FAC); tmc2130_wave_fac[Y_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Y_FAC); tmc2130_wave_fac[Z_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Z_FAC); +#endif //EXPERIMENTAL_FEATURES tmc2130_wave_fac[E_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC); if (tmc2130_wave_fac[X_AXIS] == 0xffff) tmc2130_wave_fac[X_AXIS] = 0; if (tmc2130_wave_fac[Y_AXIS] == 0xffff) tmc2130_wave_fac[Y_AXIS] = 0; diff --git a/Firmware/langtool.pl b/Firmware/langtool.pl old mode 100644 new mode 100755 diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 7f5e4eb74..7acf23bf2 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -599,6 +599,16 @@ const char * const MSG_EXTRUDER_4_LANG_TABLE[1] PROGMEM = { MSG_EXTRUDER_4_EN }; +const char MSG_EXTRUDER_CORRECTION_EN[] PROGMEM = "E-correct"; +const char * const MSG_EXTRUDER_CORRECTION_LANG_TABLE[1] PROGMEM = { + MSG_EXTRUDER_CORRECTION_EN +}; + +const char MSG_EXTRUDER_CORRECTION_OFF_EN[] PROGMEM = " [off"; +const char * const MSG_EXTRUDER_CORRECTION_OFF_LANG_TABLE[1] PROGMEM = { + MSG_EXTRUDER_CORRECTION_OFF_EN +}; + const char MSG_E_CAL_KNOB_EN[] PROGMEM = "Rotate knob until mark reaches extruder body. Click when done."; const char MSG_E_CAL_KNOB_CZ[] PROGMEM = "Otacejte tlacitkem dokud znacka nedosahne tela extruderu. Potvrdte tlacitkem."; const char * const MSG_E_CAL_KNOB_LANG_TABLE[LANG_NUM] PROGMEM = { diff --git a/Firmware/language_all.h b/Firmware/language_all.h index b8da54644..937a4a5b3 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -214,6 +214,10 @@ extern const char* const MSG_EXTRUDER_3_LANG_TABLE[1]; #define MSG_EXTRUDER_3 LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_3_LANG_TABLE, 0) extern const char* const MSG_EXTRUDER_4_LANG_TABLE[1]; #define MSG_EXTRUDER_4 LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_4_LANG_TABLE, 0) +extern const char* const MSG_EXTRUDER_CORRECTION_LANG_TABLE[1]; +#define MSG_EXTRUDER_CORRECTION LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_CORRECTION_LANG_TABLE, 0) +extern const char* const MSG_EXTRUDER_CORRECTION_OFF_LANG_TABLE[1]; +#define MSG_EXTRUDER_CORRECTION_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_CORRECTION_OFF_LANG_TABLE, 0) extern const char* const MSG_E_CAL_KNOB_LANG_TABLE[LANG_NUM]; #define MSG_E_CAL_KNOB LANG_TABLE_SELECT(MSG_E_CAL_KNOB_LANG_TABLE) extern const char* const MSG_Enqueing_LANG_TABLE[1]; diff --git a/Firmware/language_en.h b/Firmware/language_en.h index a3ab5fb31..a0cf83e4e 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -356,6 +356,8 @@ #define MSG_FSENSOR_OFF "Fil. sensor [off]" #define MSG_FSENSOR_NA "Fil. sensor [N/A]" #define MSG_FSENSOR_ON "Fil. sensor [on]" +#define(length=9)MSG_EXTRUDER_CORRECTION "E-correct" +#define(length=6)MSG_EXTRUDER_CORRECTION_OFF " [off" #define(length=20, lines=4) MSG_PLACE_STEEL_SHEET "Please place steel sheet on heatbed." #define(length=20, lines=4) MSG_REMOVE_STEEL_SHEET "Please remove steel sheet from heatbed." diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 1de7d375e..f35ecbcb0 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -207,6 +207,7 @@ 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(); +static void lcd_settings_menu_back(); static void prusa_stat_printerstatus(int _status); static void prusa_stat_farm_number(); @@ -3861,7 +3862,7 @@ static void lcd_settings_menu() EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(back, MSG_MAIN, lcd_settings_menu_back); MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu); if (!homing_flag) @@ -3913,6 +3914,7 @@ static void lcd_settings_menu() else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); } else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); + MENU_ITEM_EDIT(wfac, MSG_EXTRUDER_CORRECTION, &tmc2130_wave_fac[E_AXIS], TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX); if (temp_cal_active == false) { MENU_ITEM(function, MSG_TEMP_CALIBRATION_OFF, lcd_temp_calibration_set); @@ -3974,6 +3976,16 @@ static void lcd_ustep_linearity_menu_save() eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_Z_FAC, tmc2130_wave_fac[Z_AXIS]); eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC, tmc2130_wave_fac[E_AXIS]); } +static void lcd_settings_menu_back() +{ + bool changed = false; + if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[E_AXIS] = 0; + changed |= (eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC) != tmc2130_wave_fac[E_AXIS]); + lcd_ustep_linearity_menu_save(); + if (changed) tmc2130_init(); + currentMenu = lcd_main_menu; + lcd_main_menu(); +} #ifdef EXPERIMENTAL_FEATURES static void lcd_experimantal_menu(); @@ -5847,13 +5859,15 @@ extern char conv[8]; // Convert tmc2130 wfac to string char *wfac_to_str5(const uint16_t &x) { - if (x>=TMC2130_WAVE_FAC1000_MIN) return ftostr43(((float)(x & 0xffff))/1000); - conv[0] = ' '; - conv[1] = ' '; - conv[2] = 'O'; - conv[3] = 'f'; - conv[4] = 'f'; - conv[5] = 0; + if (x>=TMC2130_WAVE_FAC1000_MIN) + { + conv[0] = '['; + ftostr43(((float)(x & 0xffff)/1000),1); + } + else strcpy_P(conv,MSG_EXTRUDER_CORRECTION_OFF); + conv[6] = ']'; + conv[7] = ' '; + conv[8] = 0; return conv; } @@ -7489,19 +7503,21 @@ char *ftostr32ns(const float &x) { // Convert float to string with 1.234 format -char *ftostr43(const float &x) +char *ftostr43(const float &x, uint8_t offset) { + const size_t maxOffset = sizeof(conv)/sizeof(conv[0]) - 6; + if (offset>maxOffset) offset = maxOffset; long xx = x * 1000; if (xx >= 0) - conv[0] = (xx / 1000) % 10 + '0'; + conv[offset] = (xx / 1000) % 10 + '0'; else - conv[0] = '-'; + conv[offset] = '-'; 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; + conv[offset + 1] = '.'; + conv[offset + 2] = (xx / 100) % 10 + '0'; + conv[offset + 3] = (xx / 10) % 10 + '0'; + conv[offset + 4] = (xx) % 10 + '0'; + conv[offset + 5] = 0; return conv; } diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 53ced8a1b..aad628ec0 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -197,7 +197,7 @@ char *ftostr31ns(const float &x); // float to string without sign character char *ftostr31(const float &x); char *ftostr32(const float &x); char *ftostr32ns(const float &x); -char *ftostr43(const float &x); +char *ftostr43(const float &x, uint8_t offset = 0); char *ftostr12ns(const float &x); char *ftostr13ns(const float &x); char *ftostr32sp(const float &x); // remove zero-padding from ftostr32 @@ -285,4 +285,4 @@ void lcd_service_mode_show_result(); void lcd_wizard(); void lcd_wizard(int state); -#endif //ULTRALCD_H \ No newline at end of file +#endif //ULTRALCD_H From bde097cad128e1ad4516887d3caab3bf519a01ba Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 28 Mar 2018 19:22:20 +0200 Subject: [PATCH 135/926] bugfix - PFW233 - first homing in silent mode Y crash. --- Firmware/Marlin_main.cpp | 8 +++++++- Firmware/tmc2130.cpp | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index cc1237ea2..73cd2edf3 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1048,7 +1048,8 @@ void setup() #ifdef TMC2130 uint8_t silentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); if (silentMode == 0xff) silentMode = 0; - tmc2130_mode = silentMode?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; +// tmc2130_mode = silentMode?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; + tmc2130_mode = TMC2130_MODE_NORMAL; uint8_t crashdet = eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET); if (crashdet) { @@ -1095,6 +1096,11 @@ void setup() #endif //TMC2130 st_init(); // Initialize stepper, this enables interrupts! + +#ifdef TMC2130 + tmc2130_mode = silentMode?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; + tmc2130_init(); +#endif //TMC2130 setup_photpin(); diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 58f84cf43..9f87de82e 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -260,6 +260,8 @@ void tmc2130_home_enter(uint8_t axes_mask) { // printf_P(PSTR("tmc2130_home_enter(axes_mask=0x%02x)\n"), axes_mask); #ifdef TMC2130_SG_HOMING + if (axes_mask & 0x03) //X or Y + tmc2130_wait_standstill_xy(1000); for (uint8_t axis = X_AXIS; axis <= Z_AXIS; axis++) //X Y and Z axes { uint8_t mask = (X_AXIS_MASK << axis); @@ -283,6 +285,8 @@ void tmc2130_home_exit() { // printf_P(PSTR("tmc2130_home_exit sg_homing_axes_mask=0x%02x\n"), sg_homing_axes_mask); #ifdef TMC2130_SG_HOMING + if (sg_homing_axes_mask & 0x03) //X or Y + tmc2130_wait_standstill_xy(1000); if (sg_homing_axes_mask) { for (uint8_t axis = X_AXIS; axis <= Z_AXIS; axis++) //X Y and Z axes From cedb30303f8f17749001d55801fec8b39c415201 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 29 Mar 2018 11:42:44 +0200 Subject: [PATCH 136/926] Add possible action on menu item back. This fixes broken Merge pull request #586 from mkbel/ustep_linearity_2 06d5ec5. --- Firmware/ultralcd.cpp | 81 ++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index bcccc01a7..8bd186043 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1634,7 +1634,7 @@ static void lcd_menu_fails_stats_print() static void lcd_menu_fails_stats() { START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(back, MSG_MAIN, 0); MENU_ITEM(submenu, PSTR("Last print"), lcd_menu_fails_stats_print); MENU_ITEM(submenu, PSTR("Total"), lcd_menu_fails_stats_total); END_MENU(); @@ -1753,7 +1753,7 @@ static void lcd_preheat_menu() { START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(back, MSG_MAIN, 0); if (farm_mode) { MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); @@ -1795,40 +1795,40 @@ static void lcd_support_menu() START_MENU(); - MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(back, MSG_MAIN, 0); - MENU_ITEM(back, PSTR("Firmware:"), lcd_main_menu); - MENU_ITEM(back, PSTR(" " FW_VERSION_FULL), lcd_main_menu); + MENU_ITEM(back, PSTR("Firmware:"), 0); + MENU_ITEM(back, PSTR(" " FW_VERSION_FULL), 0); #if (FW_DEV_VERSION != FW_VERSION_GOLD) && (FW_DEV_VERSION != FW_VERSION_RC) - MENU_ITEM(back, PSTR(" repo " FW_REPOSITORY), lcd_main_menu); + MENU_ITEM(back, PSTR(" repo " FW_REPOSITORY), 0); #endif // Ideally this block would be optimized out by the compiler. /* const uint8_t fw_string_len = strlen_P(FW_VERSION_STR_P()); if (fw_string_len < 6) { - MENU_ITEM(back, PSTR(MSG_FW_VERSION " - " FW_version), lcd_main_menu); + MENU_ITEM(back, PSTR(MSG_FW_VERSION " - " FW_version), 0); } else { - MENU_ITEM(back, PSTR("FW - " FW_version), lcd_main_menu); + MENU_ITEM(back, PSTR("FW - " FW_version), 0); }*/ - MENU_ITEM(back, MSG_PRUSA3D, lcd_main_menu); - MENU_ITEM(back, MSG_PRUSA3D_FORUM, lcd_main_menu); - MENU_ITEM(back, MSG_PRUSA3D_HOWTO, lcd_main_menu); - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); - MENU_ITEM(back, PSTR(FILAMENT_SIZE), lcd_main_menu); - MENU_ITEM(back, PSTR(ELECTRONICS),lcd_main_menu); - MENU_ITEM(back, PSTR(NOZZLE_TYPE),lcd_main_menu); - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); - MENU_ITEM(back, MSG_DATE, lcd_main_menu); - MENU_ITEM(back, PSTR(__DATE__), lcd_main_menu); + MENU_ITEM(back, MSG_PRUSA3D, 0); + MENU_ITEM(back, MSG_PRUSA3D_FORUM, 0); + MENU_ITEM(back, MSG_PRUSA3D_HOWTO, 0); + MENU_ITEM(back, PSTR("------------"), 0); + MENU_ITEM(back, PSTR(FILAMENT_SIZE), 0); + MENU_ITEM(back, PSTR(ELECTRONICS),0); + MENU_ITEM(back, PSTR(NOZZLE_TYPE),0); + MENU_ITEM(back, PSTR("------------"), 0); + MENU_ITEM(back, MSG_DATE, 0); + MENU_ITEM(back, PSTR(__DATE__), 0); // Show the FlashAir IP address, if the card is available. if (menuData.supportMenu.is_flash_air) { - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); - MENU_ITEM(back, PSTR("FlashAir IP Addr:"), lcd_main_menu); - MENU_ITEM(back_RAM, menuData.supportMenu.ip_str, lcd_main_menu); + MENU_ITEM(back, PSTR("------------"), 0); + MENU_ITEM(back, PSTR("FlashAir IP Addr:"), 0); + MENU_ITEM(back_RAM, menuData.supportMenu.ip_str, 0); } #ifndef MK1BP - MENU_ITEM(back, PSTR("------------"), lcd_main_menu); + MENU_ITEM(back, PSTR("------------"), 0); if (!IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) MENU_ITEM(function, MSG_XYZ_DETAILS, lcd_service_mode_show_result); MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info); @@ -2494,7 +2494,7 @@ static void lcd_adjust_bed() eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR, menuData.adjustBed.rear = menuData.adjustBed.rear2); START_MENU(); - MENU_ITEM(back, MSG_SETTINGS, lcd_calibration_menu); + MENU_ITEM(back, MSG_SETTINGS, 0); MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_LEFT, &menuData.adjustBed.left2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_RIGHT, &menuData.adjustBed.right2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_FRONT, &menuData.adjustBed.front2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); @@ -3409,7 +3409,7 @@ void lcd_pick_babystep(){ void lcd_move_menu_axis() { START_MENU(); - MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu); + MENU_ITEM(back, MSG_SETTINGS, 0); MENU_ITEM(submenu, MSG_MOVE_X, lcd_move_x); MENU_ITEM(submenu, MSG_MOVE_Y, lcd_move_y); MENU_ITEM(submenu, MSG_MOVE_Z, lcd_move_z); @@ -3604,9 +3604,9 @@ static void lcd_language_menu() { START_MENU(); if (langsel == LANGSEL_OFF) { - MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu); + MENU_ITEM(back, MSG_SETTINGS, 0); } else if (langsel == LANGSEL_ACTIVE) { - MENU_ITEM(back, MSG_WATCH, lcd_status_screen); + MENU_ITEM(back, MSG_WATCH, 0); } for (int i=0;i Date: Thu, 29 Mar 2018 17:42:41 +0200 Subject: [PATCH 137/926] New SPI (do not use Arduino SPI class) saved ~300bytes flash, 4bytes ram --- Firmware/Configuration_prusa.h | 3 ++ Firmware/Marlin_main.cpp | 8 ++++ Firmware/config.h | 6 +++ Firmware/spi.c | 8 ++++ Firmware/spi.h | 41 ++++++++++++++++++++ Firmware/tmc2130.cpp | 69 +++++++++++++++++++++++++++++++++- 6 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 Firmware/spi.c create mode 100644 Firmware/spi.h diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 319337783..8622ea1b0 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -107,6 +107,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o // New XYZ calibration #define NEW_XYZCAL +// Do not use Arduino SPI +#define NEW_SPI + // Watchdog support #define WATCHDOG diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index da972579f..d6f9b20d0 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -65,6 +65,10 @@ #include "swspi.h" #endif //SWSPI +#ifdef NEW_SPI +#include "spi.h" +#endif //NEW_SPI + #ifdef SWI2C #include "swi2c.h" #endif //SWI2C @@ -1106,6 +1110,10 @@ void setup() #endif //TMC2130 +#ifdef NEW_SPI + spi_init(); +#endif //NEW_SPI + st_init(); // Initialize stepper, this enables interrupts! #ifdef TMC2130 diff --git a/Firmware/config.h b/Firmware/config.h index 8bd1a16e2..e6430ee62 100644 --- a/Firmware/config.h +++ b/Firmware/config.h @@ -11,5 +11,11 @@ //SM4 configuration #define SM4_DEFDELAY 500 //default step delay [us] +//TMC2130 - Trinamic stepper driver +//pinout - hardcoded +//spi: +#define TMC2130_SPI_RATE 0 // fosc/4 = 4MHz +#define TMC2130_SPCR SPI_SPCR(TMC2130_SPI_RATE, 1, 1, 1, 0) +#define TMC2130_SPSR SPI_SPSR(TMC2130_SPI_RATE) #endif //_CONFIG_H diff --git a/Firmware/spi.c b/Firmware/spi.c new file mode 100644 index 000000000..66a2c1818 --- /dev/null +++ b/Firmware/spi.c @@ -0,0 +1,8 @@ +//spi.c - hardware SPI +//#ifdef __SPI + +#include "spi.h" +#include + + +//#endif //__SPI diff --git a/Firmware/spi.h b/Firmware/spi.h new file mode 100644 index 000000000..a144a1531 --- /dev/null +++ b/Firmware/spi.h @@ -0,0 +1,41 @@ +//spi.h - hardware SPI +#ifndef SPI_H +#define SPI_H + +#include +#include +#include "config.h" + + +#define SPI_SPCR(rat, pha, pol, mst, dor) ((rat & 3) | (pha?(1< #include "LiquidCrystal.h" #include "ultralcd.h" +#ifndef NEW_SPI +#include +#else //NEW_SPI +#include "spi.h" +#endif //NEW_SPI + extern LiquidCrystal lcd; @@ -143,7 +148,9 @@ void tmc2130_init() SET_INPUT(Y_TMC2130_DIAG); SET_INPUT(Z_TMC2130_DIAG); SET_INPUT(E0_TMC2130_DIAG); +#ifndef NEW_SPI SPI.begin(); +#endif //NEW_SPI for (int axis = 0; axis < 2; axis++) // X Y axes { tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); @@ -594,11 +601,15 @@ inline void tmc2130_cs_high(uint8_t axis) } } +#ifndef NEW_SPI uint8_t tmc2130_tx(uint8_t axis, uint8_t addr, uint32_t wval) { //datagram1 - request + printf_P(PSTR("tmc2130_tx %d 0x%02hhx, 0x%08lx\n"), axis, addr, wval); SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3)); + printf_P(PSTR(" SPCR = 0x%02hhx\n"), SPCR); + printf_P(PSTR(" SPSR = 0x%02hhx\n"), SPSR); tmc2130_cs_low(axis); SPI.transfer(addr); // address SPI.transfer((wval >> 24) & 0xff); // MSB @@ -636,6 +647,62 @@ uint8_t tmc2130_rx(uint8_t axis, uint8_t addr, uint32_t* rval) return stat; } +#else //NEW_SPI + +//Arduino SPI +//#define TMC2130_SPI_ENTER() SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE3)) +//#define TMC2130_SPI_TXRX SPI.transfer +//#define TMC2130_SPI_LEAVE SPI.endTransaction + +//spi +#define TMC2130_SPI_ENTER() spi_setup(TMC2130_SPCR, TMC2130_SPSR) +#define TMC2130_SPI_TXRX spi_txrx +#define TMC2130_SPI_LEAVE() + +uint8_t tmc2130_tx(uint8_t axis, uint8_t addr, uint32_t wval) +{ + //datagram1 - request + TMC2130_SPI_ENTER(); + tmc2130_cs_low(axis); + TMC2130_SPI_TXRX(addr); // address + TMC2130_SPI_TXRX((wval >> 24) & 0xff); // MSB + TMC2130_SPI_TXRX((wval >> 16) & 0xff); + TMC2130_SPI_TXRX((wval >> 8) & 0xff); + TMC2130_SPI_TXRX(wval & 0xff); // LSB + tmc2130_cs_high(axis); + TMC2130_SPI_LEAVE(); +} + +uint8_t tmc2130_rx(uint8_t axis, uint8_t addr, uint32_t* rval) +{ + //datagram1 - request + TMC2130_SPI_ENTER(); + tmc2130_cs_low(axis); + TMC2130_SPI_TXRX(addr); // address + TMC2130_SPI_TXRX(0); // MSB + TMC2130_SPI_TXRX(0); + TMC2130_SPI_TXRX(0); + TMC2130_SPI_TXRX(0); // LSB + tmc2130_cs_high(axis); + TMC2130_SPI_LEAVE(); + //datagram2 - response + TMC2130_SPI_ENTER(); + tmc2130_cs_low(axis); + uint8_t stat = TMC2130_SPI_TXRX(0); // status + uint32_t val32 = 0; + val32 = TMC2130_SPI_TXRX(0); // MSB + val32 = (val32 << 8) | TMC2130_SPI_TXRX(0); + val32 = (val32 << 8) | TMC2130_SPI_TXRX(0); + val32 = (val32 << 8) | TMC2130_SPI_TXRX(0); // LSB + tmc2130_cs_high(axis); + TMC2130_SPI_LEAVE(); + if (rval != 0) *rval = val32; + return stat; +} + +#endif //NEW_SPI + + void tmc2130_eeprom_load_config() { } From 363a9d24b3810d7b275d71344dac64e84a3b0fb1 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 29 Mar 2018 17:50:43 +0200 Subject: [PATCH 138/926] LiquidCrystal class renamed to LiquidCrystal_Prusa --- Firmware/Configuration.h | 4 +- Firmware/Firmware.ino | 2 +- ...uidCrystal.cpp => LiquidCrystal_Prusa.cpp} | 64 +++++++++---------- ...{LiquidCrystal.h => LiquidCrystal_Prusa.h} | 14 ++-- Firmware/Marlin_main.cpp | 4 +- Firmware/dogm_lcd_implementation.h | 8 +-- Firmware/fsensor.cpp | 4 +- Firmware/tmc2130.cpp | 4 +- .../ultralcd_implementation_hitachi_HD44780.h | 10 +-- 9 files changed, 57 insertions(+), 57 deletions(-) rename Firmware/{LiquidCrystal.cpp => LiquidCrystal_Prusa.cpp} (88%) rename Firmware/{LiquidCrystal.h => LiquidCrystal_Prusa.h} (89%) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 857f91874..000d6bd12 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -690,7 +690,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //#define LCD_I2C_SAINSMART_YWROBOT #ifdef LCD_I2C_SAINSMART_YWROBOT - // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) + // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-LiquidCrystal_Prusa/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 @@ -745,7 +745,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of // Shift register panels // --------------------- // 2 wire Non-latching LCD SR from: -// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection +// https://bitbucket.org/fmalpartida/new-LiquidCrystal_Prusa/wiki/schematics#!shiftregister-connection //#define SAV_3DLCD #ifdef SAV_3DLCD diff --git a/Firmware/Firmware.ino b/Firmware/Firmware.ino index 1ff31cd3f..555f5f0a9 100644 --- a/Firmware/Firmware.ino +++ b/Firmware/Firmware.ino @@ -43,7 +43,7 @@ #elif defined(DOGLCD) #include // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/) #else - #include "LiquidCrystal.h" // library for character LCD + #include "LiquidCrystal_Prusa.h" // library for character LCD #endif #endif diff --git a/Firmware/LiquidCrystal.cpp b/Firmware/LiquidCrystal_Prusa.cpp similarity index 88% rename from Firmware/LiquidCrystal.cpp rename to Firmware/LiquidCrystal_Prusa.cpp index cd5727562..1f0b69cd7 100644 --- a/Firmware/LiquidCrystal.cpp +++ b/Firmware/LiquidCrystal_Prusa.cpp @@ -1,4 +1,4 @@ -#include "LiquidCrystal.h" +#include "LiquidCrystal_Prusa.h" #include #include @@ -22,35 +22,35 @@ // // 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_Prusa constructor is called). -LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, +LiquidCrystal_Prusa::LiquidCrystal_Prusa(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, +LiquidCrystal_Prusa::LiquidCrystal_Prusa(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, +LiquidCrystal_Prusa::LiquidCrystal_Prusa(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, +LiquidCrystal_Prusa::LiquidCrystal_Prusa(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, +void LiquidCrystal_Prusa::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) { @@ -82,7 +82,7 @@ void LiquidCrystal::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t en begin(16, 1); } -void LiquidCrystal::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) { +void LiquidCrystal_Prusa::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) { if (lines > 1) { _displayfunction |= LCD_2LINE; } @@ -162,7 +162,7 @@ void LiquidCrystal::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) { -void LiquidCrystal::begin_noclear(uint8_t cols, uint8_t lines, uint8_t dotsize) { +void LiquidCrystal_Prusa::begin_noclear(uint8_t cols, uint8_t lines, uint8_t dotsize) { if (lines > 1) { _displayfunction |= LCD_2LINE; } @@ -253,21 +253,21 @@ void LiquidCrystal::begin_noclear(uint8_t cols, uint8_t lines, uint8_t dotsize) /********** high level commands, for the user! */ -void LiquidCrystal::clear() +void LiquidCrystal_Prusa::clear() { command(LCD_CLEARDISPLAY); // clear display, set cursor position to zero delayMicroseconds(1600); // this command takes a long time } -void LiquidCrystal::home() +void LiquidCrystal_Prusa::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) +void LiquidCrystal_Prusa::setCursor(uint8_t col, uint8_t row) { int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; if ( row >= _numlines ) { @@ -278,70 +278,70 @@ void LiquidCrystal::setCursor(uint8_t col, uint8_t row) } // Turn the display on/off (quickly) -void LiquidCrystal::noDisplay() { +void LiquidCrystal_Prusa::noDisplay() { _displaycontrol &= ~LCD_DISPLAYON; command(LCD_DISPLAYCONTROL | _displaycontrol); } -void LiquidCrystal::display() { +void LiquidCrystal_Prusa::display() { _displaycontrol |= LCD_DISPLAYON; command(LCD_DISPLAYCONTROL | _displaycontrol); } // Turns the underline cursor on/off -void LiquidCrystal::noCursor() { +void LiquidCrystal_Prusa::noCursor() { _displaycontrol &= ~LCD_CURSORON; command(LCD_DISPLAYCONTROL | _displaycontrol); } -void LiquidCrystal::cursor() { +void LiquidCrystal_Prusa::cursor() { _displaycontrol |= LCD_CURSORON; command(LCD_DISPLAYCONTROL | _displaycontrol); } // Turn on and off the blinking cursor -void LiquidCrystal::noBlink() { +void LiquidCrystal_Prusa::noBlink() { _displaycontrol &= ~LCD_BLINKON; command(LCD_DISPLAYCONTROL | _displaycontrol); } -void LiquidCrystal::blink() { +void LiquidCrystal_Prusa::blink() { _displaycontrol |= LCD_BLINKON; command(LCD_DISPLAYCONTROL | _displaycontrol); } // These commands scroll the display without changing the RAM -void LiquidCrystal::scrollDisplayLeft(void) { +void LiquidCrystal_Prusa::scrollDisplayLeft(void) { command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVELEFT); } -void LiquidCrystal::scrollDisplayRight(void) { +void LiquidCrystal_Prusa::scrollDisplayRight(void) { command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVERIGHT); } // This is for text that flows Left to Right -void LiquidCrystal::leftToRight(void) { +void LiquidCrystal_Prusa::leftToRight(void) { _displaymode |= LCD_ENTRYLEFT; command(LCD_ENTRYMODESET | _displaymode); } // This is for text that flows Right to Left -void LiquidCrystal::rightToLeft(void) { +void LiquidCrystal_Prusa::rightToLeft(void) { _displaymode &= ~LCD_ENTRYLEFT; command(LCD_ENTRYMODESET | _displaymode); } // This will 'right justify' text from the cursor -void LiquidCrystal::autoscroll(void) { +void LiquidCrystal_Prusa::autoscroll(void) { _displaymode |= LCD_ENTRYSHIFTINCREMENT; command(LCD_ENTRYMODESET | _displaymode); } // This will 'left justify' text from the cursor -void LiquidCrystal::noAutoscroll(void) { +void LiquidCrystal_Prusa::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[]) { +void LiquidCrystal_Prusa::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++) { @@ -351,11 +351,11 @@ void LiquidCrystal::createChar(uint8_t location, uint8_t charmap[]) { /*********** mid level commands, for sending data/cmds */ -inline void LiquidCrystal::command(uint8_t value) { +inline void LiquidCrystal_Prusa::command(uint8_t value) { send(value, LOW); } -inline size_t LiquidCrystal::write(uint8_t value) { +inline size_t LiquidCrystal_Prusa::write(uint8_t value) { if (_escape[0] || (value == 0x1b)) return escape_write(value); send(value, HIGH); @@ -368,7 +368,7 @@ inline size_t LiquidCrystal::write(uint8_t value) { //CursorShow "\x1b[?25h" //CursorHide "\x1b[?25l" -inline size_t LiquidCrystal::escape_write(uint8_t chr) +inline size_t LiquidCrystal_Prusa::escape_write(uint8_t chr) { #define escape_cnt (_escape[0]) //escape character counter #define is_num_msk (_escape[1]) //numeric character bit mask @@ -502,7 +502,7 @@ end: /************ 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) { +void LiquidCrystal_Prusa::send(uint8_t value, uint8_t mode) { digitalWrite(_rs_pin, mode); // if there is a RW pin indicated, set it low to Write @@ -518,7 +518,7 @@ void LiquidCrystal::send(uint8_t value, uint8_t mode) { } } -void LiquidCrystal::pulseEnable(void) { +void LiquidCrystal_Prusa::pulseEnable(void) { digitalWrite(_enable_pin, LOW); delayMicroseconds(1); digitalWrite(_enable_pin, HIGH); @@ -527,7 +527,7 @@ void LiquidCrystal::pulseEnable(void) { delayMicroseconds(100); // commands need > 37us to settle } -void LiquidCrystal::write4bits(uint8_t value) { +void LiquidCrystal_Prusa::write4bits(uint8_t value) { for (int i = 0; i < 4; i++) { pinMode(_data_pins[i], OUTPUT); digitalWrite(_data_pins[i], (value >> i) & 0x01); @@ -536,7 +536,7 @@ void LiquidCrystal::write4bits(uint8_t value) { pulseEnable(); } -void LiquidCrystal::write8bits(uint8_t value) { +void LiquidCrystal_Prusa::write8bits(uint8_t value) { for (int i = 0; i < 8; i++) { pinMode(_data_pins[i], OUTPUT); digitalWrite(_data_pins[i], (value >> i) & 0x01); diff --git a/Firmware/LiquidCrystal.h b/Firmware/LiquidCrystal_Prusa.h similarity index 89% rename from Firmware/LiquidCrystal.h rename to Firmware/LiquidCrystal_Prusa.h index ad3d5caad..7b72d0989 100644 --- a/Firmware/LiquidCrystal.h +++ b/Firmware/LiquidCrystal_Prusa.h @@ -1,5 +1,5 @@ -#ifndef LiquidCrystal_h -#define LiquidCrystal_h +#ifndef LiquidCrystal_Prusa_h +#define LiquidCrystal_Prusa_h #include #include "Print.h" @@ -42,17 +42,17 @@ #define LCD_5x10DOTS 0x04 #define LCD_5x8DOTS 0x00 -class LiquidCrystal : public Print { +class LiquidCrystal_Prusa : public Print { public: - LiquidCrystal(uint8_t rs, uint8_t enable, + LiquidCrystal_Prusa(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, + LiquidCrystal_Prusa(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, + LiquidCrystal_Prusa(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, + LiquidCrystal_Prusa(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, diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d6f9b20d0..b23d189f9 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -810,8 +810,8 @@ void factory_reset(char level, bool quiet) } -#include "LiquidCrystal.h" -extern LiquidCrystal lcd; +#include "LiquidCrystal_Prusa.h" +extern LiquidCrystal_Prusa lcd; FILE _lcdout = {0}; diff --git a/Firmware/dogm_lcd_implementation.h b/Firmware/dogm_lcd_implementation.h index 170d7d7ac..3c89f11bb 100644 --- a/Firmware/dogm_lcd_implementation.h +++ b/Firmware/dogm_lcd_implementation.h @@ -42,11 +42,11 @@ /* Russian language not supported yet, needs custom font #ifdef LANGUAGE_RU -#include "LiquidCrystalRus.h" -#define LCD_CLASS LiquidCrystalRus +#include "LiquidCrystal_Rus.h" +#define LCD_CLASS LiquidCrystal_Rus #else -#include -#define LCD_CLASS LiquidCrystal +#include +#define LCD_CLASS LiquidCrystal_Prusa #endif */ diff --git a/Firmware/fsensor.cpp b/Firmware/fsensor.cpp index ce5b4ad7e..359d2e10e 100644 --- a/Firmware/fsensor.cpp +++ b/Firmware/fsensor.cpp @@ -9,8 +9,8 @@ #include "fastio.h" #include "cmdqueue.h" -//#include "LiquidCrystal.h" -//extern LiquidCrystal lcd; +//#include "LiquidCrystal_Prusa.h" +//extern LiquidCrystal_Prusa lcd; #define FSENSOR_ERR_MAX 5 //filament sensor max error count diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index c1cdc9009..7faeddcad 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -3,7 +3,7 @@ #ifdef TMC2130 #include "tmc2130.h" -#include "LiquidCrystal.h" +#include "LiquidCrystal_Prusa.h" #include "ultralcd.h" #ifndef NEW_SPI #include @@ -12,7 +12,7 @@ #endif //NEW_SPI -extern LiquidCrystal lcd; +extern LiquidCrystal_Prusa lcd; #define TMC2130_GCONF_NORMAL 0x00000000 // spreadCycle #define TMC2130_GCONF_SGSENS 0x00003180 // spreadCycle with stallguard (stall activates DIAG0 and DIAG1 [pushpull]) diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index cd6d75e79..6092f82e4 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -194,7 +194,7 @@ extern volatile uint16_t buttons; //an extended version of the last checked but 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 +// https://bitbucket.org/fmalpartida/new-LiquidCrystal_Prusa/wiki/schematics#!shiftregister-connection #elif defined(SR_LCD_2W_NL) extern "C" void __cxa_pure_virtual() { while (1); } @@ -206,11 +206,11 @@ extern volatile uint16_t buttons; //an extended version of the last checked but #else // Standard directly connected LCD implementations #ifdef LANGUAGE_RU - #include "LiquidCrystalRus.h" - #define LCD_CLASS LiquidCrystalRus + #include "LiquidCrystal_Rus.h" + #define LCD_CLASS LiquidCrystal_Rus #else - #include "LiquidCrystal.h" - #define LCD_CLASS LiquidCrystal + #include "LiquidCrystal_Prusa.h" + #define LCD_CLASS LiquidCrystal_Prusa #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 From baade7db6178220b879b29cd992316b72bd1b161 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 29 Mar 2018 23:01:13 +0200 Subject: [PATCH 139/926] Removed unused files (ST7565R-dogm, digipot) renamed functions digipot_init and digipot_current fixed cond. trans. (menus) fixed variant files - MK25, MK3 --- Firmware/Configuration.h | 20 - Firmware/Configuration_adv.h | 8 - Firmware/Configuration_prusa.h | 6 +- Firmware/DOGMbitmaps.h | 225 -------- Firmware/Firmware.sublime-project | 59 --- Firmware/Marlin.h | 4 - Firmware/Marlin_main.cpp | 42 +- Firmware/digipot_mcp4451.cpp | 59 --- Firmware/dogm_font_data_marlin.h | 337 ------------ Firmware/dogm_lcd_implementation.h | 481 ------------------ Firmware/stepper.cpp | 28 +- Firmware/stepper.h | 4 +- Firmware/ultralcd.cpp | 55 +- Firmware/ultralcd_st7920_u8glib_rrd.h | 131 ----- .../variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 3 + .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 6 + 16 files changed, 57 insertions(+), 1411 deletions(-) delete mode 100644 Firmware/DOGMbitmaps.h delete mode 100644 Firmware/Firmware.sublime-project delete mode 100644 Firmware/digipot_mcp4451.cpp delete mode 100644 Firmware/dogm_font_data_marlin.h delete mode 100644 Firmware/dogm_lcd_implementation.h delete mode 100644 Firmware/ultralcd_st7920_u8glib_rrd.h diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 000d6bd12..561126dce 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -616,7 +616,6 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //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 @@ -639,12 +638,6 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of // 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 @@ -657,19 +650,12 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //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 @@ -778,12 +764,6 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #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 diff --git a/Firmware/Configuration_adv.h b/Firmware/Configuration_adv.h index 65c8b3161..bb18a427b 100644 --- a/Firmware/Configuration_adv.h +++ b/Firmware/Configuration_adv.h @@ -199,14 +199,6 @@ #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=========================== //=========================================================================== diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 8622ea1b0..9279dbf4e 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -136,7 +136,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MINTEMP_MINAMBIENT 25 #define MINTEMP_MINAMBIENT_RAW 978 -#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest //#define DEBUG_BUILD #ifdef DEBUG_BUILD //#define _NO_ASM @@ -158,7 +157,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed //#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages -#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest +//#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_BLINK_ACTIVE @@ -170,7 +169,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif /* DEBUG_BUILD */ //#define EXPERIMENTAL_FEATURES -#define TMC2130_LINEARITY_CORRECTION +//#define TMC2130_LINEARITY_CORRECTION //#define TMC2130_VARIABLE_RESOLUTION @@ -577,6 +576,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PING_TIME 60 //time in s #define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes #define PING_ALLERT_PERIOD 60 //time in s + #define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring #define NC_BUTTON_LONG_PRESS 15 //time in s diff --git a/Firmware/DOGMbitmaps.h b/Firmware/DOGMbitmaps.h deleted file mode 100644 index de4365437..000000000 --- a/Firmware/DOGMbitmaps.h +++ /dev/null @@ -1,225 +0,0 @@ -#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 - - diff --git a/Firmware/Firmware.sublime-project b/Firmware/Firmware.sublime-project deleted file mode 100644 index 528d604a2..000000000 --- a/Firmware/Firmware.sublime-project +++ /dev/null @@ -1,59 +0,0 @@ -{ - "build_systems": - [ - { - "name": "compile", - "working_dir": "$project_path", - "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", - // Arduino build process: - // https://www.arduino.cc/en/Hacking/BuildProcess - "shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\arduino_debug.exe\" --pref build.path=..\\output --verify --board marlinAddon:avr:rambo -v --preserve-temp-files Firmware.ino" - }, - { - "name": "compile & upload", - "working_dir": "$project_path", - "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", - //FIXME - // Better to use avrdude directly? - // http://www.nongnu.org/avrdude/user-manual/avrdude_4.html - // avrdude -F -v -pm168 -cstk500v1 -P\\.\COM4 -b19200 -D -Uflash:w:"file.hex":i - // may need add path to avrdude config file: -C"c:\utils\arduino-0016\hardware\tools\avr\etc\avrdude.conf" if Arduino IDE installed in "c:\utils\arduino-0016\" - // https://typeunsafe.wordpress.com/2011/07/22/programming-arduino-with-avrdude/ - "shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\arduino_debug.exe\" --pref build.path=..\\output --upload --port COM9 --board marlinAddon:avr:rambo -v --preserve-temp-files Firmware.ino" - }, - { - "name": "map-data", - "working_dir": "$project_path", - // https://sourceware.org/binutils/docs-2.21/binutils/objdump.html - // Maybe it is better to generate map files by the linker? - // avr-gcc -g -mmcu=atmega8 -Wl,-Map,demo.map -o demo.elf demo.o - "shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -x -S -C -j .data ..\\output\\Firmware.ino.elf > ..\\output\\Firmware-data.map" - }, - { - "name": "map-bss", - "working_dir": "$project_path", - // https://sourceware.org/binutils/docs-2.21/binutils/objdump.html - "shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -x -S -C -j .bss ..\\output\\Firmware.ino.elf > ..\\output\\Firmware-bss.map" - }, - { - "name": "map-all", - "working_dir": "$project_path", - // https://sourceware.org/binutils/docs-2.21/binutils/objdump.html - "shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -x -S -C ..\\output\\Firmware.ino.elf > ..\\output\\Firmware-all.map" - }, - { - "name": "disassemble", - "working_dir": "$project_path", - // https://sourceware.org/binutils/docs-2.21/binutils/objdump.html - "shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -h -w -S ..\\output\\Firmware.ino.elf > ..\\output\\Firmware.asm" - } - ], - "folders": - [ - { - "path": "." -// "folder_exclude_patterns": [".svn", "._d", ".metadata", ".settings"], -// "file_exclude_patterns": ["XS.c"] - } - ] -} diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 2d4f9f3ef..93915ba23 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -328,10 +328,6 @@ extern int fan_speed[2]; // 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 diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b23d189f9..7935f9e10 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1138,9 +1138,6 @@ void setup() #endif -#ifdef DIGIPOT_I2C - digipot_i2c_init(); -#endif setup_homepin(); #ifdef TMC2130 @@ -2249,7 +2246,6 @@ void force_high_power_mode(bool start_high_power_section) { // Be safe than sorry, reset the stepper timer before re-enabling interrupts. st_reset_timer(); sei(); - digipot_init(); } } #endif //TMC2130 @@ -5948,7 +5944,7 @@ Sigma_Exit: tmc2130_set_current_r(E_AXIS, TMC2130_UNLOAD_CURRENT_R); #else - digipot_current(2, 200); //set lower E motor current for unload to protect filament sensor and ptfe tube + st_current_set(2, 200); //set lower E motor current for unload to protect filament sensor and ptfe tube float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; @@ -5968,8 +5964,8 @@ Sigma_Exit: tmc2130_set_current_r(E_AXIS, tmc2130_current_r_bckp); #else uint8_t silentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); - if(silentMode) digipot_current(2, tmp_motor[2]); //set E back to normal operation currents - else digipot_current(2, tmp_motor_loud[2]); + if(silentMode) st_current_set(2, tmp_motor[2]); //set E back to normal operation currents + else st_current_set(2, tmp_motor_loud[2]); #endif //TMC2130 #endif // SNMM @@ -6216,24 +6212,18 @@ Sigma_Exit: case 907: // M907 Set digital trimpot motor current using axis codes. { #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1 - for(int i=0;i Z_HIGH_POWER) { //SERIAL_ECHOLNPGM("HIGH"); for (uint8_t i = 0; i < 3; i++) { - digipot_current(i, current_high[i]); + st_current_set(i, current_high[i]); /*MYSERIAL.print(int(i)); SERIAL_ECHOPGM(": "); MYSERIAL.println(current_high[i]);*/ @@ -6688,7 +6678,7 @@ void update_currents() { for (uint8_t i = 0; i < 3; i++) { float q = current_low[i] - Z_SILENT*((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT)); tmp_motor[i] = ((current_high[i] - current_low[i]) / (Z_HIGH_POWER - Z_SILENT))*destination[Z_AXIS] + q; - digipot_current(i, tmp_motor[i]); + st_current_set(i, tmp_motor[i]); /*MYSERIAL.print(int(i)); SERIAL_ECHOPGM(": "); MYSERIAL.println(tmp_motor[i]);*/ @@ -8446,7 +8436,7 @@ void extr_unload2() { //unloads filament current_position[E_AXIS] += 10; //extrusion plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder); -// digipot_current(2, E_MOTOR_HIGH_CURRENT); +// st_current_set(2, E_MOTOR_HIGH_CURRENT); if (current_temperature[0] < 230) { //PLA & all other filaments current_position[E_AXIS] += 5.4; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2800 / 60, active_extruder); @@ -8475,9 +8465,9 @@ void extr_unload2() { //unloads filament current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); st_synchronize(); - //digipot_init(); -// if (SilentMode == 1) digipot_current(2, tmp_motor[2]); //set back to normal operation currents -// else digipot_current(2, tmp_motor_loud[2]); + //st_current_init(); +// if (SilentMode == 1) st_current_set(2, tmp_motor[2]); //set back to normal operation currents +// else st_current_set(2, tmp_motor_loud[2]); lcd_update_enable(true); // lcd_return_to_status(); max_feedrate[E_AXIS] = 50; diff --git a/Firmware/digipot_mcp4451.cpp b/Firmware/digipot_mcp4451.cpp deleted file mode 100644 index 0ced287aa..000000000 --- a/Firmware/digipot_mcp4451.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#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 diff --git a/Firmware/dogm_font_data_marlin.h b/Firmware/dogm_font_data_marlin.h deleted file mode 100644 index 6b83903cf..000000000 --- a/Firmware/dogm_font_data_marlin.h +++ /dev/null @@ -1,337 +0,0 @@ -/* - 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 -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 -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}; - diff --git a/Firmware/dogm_lcd_implementation.h b/Firmware/dogm_lcd_implementation.h deleted file mode 100644 index 3c89f11bb..000000000 --- a/Firmware/dogm_lcd_implementation.h +++ /dev/null @@ -1,481 +0,0 @@ -/** - *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< -#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 "LiquidCrystal_Rus.h" -#define LCD_CLASS LiquidCrystal_Rus -#else -#include -#define LCD_CLASS LiquidCrystal_Prusa -#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) - -extern char *wfac_to_str5(const uint8_t &x); -extern char *mres_to_str3(const uint8_t &x); - -#define lcd_implementation_drawmenu_setting_edit_wfac_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', wfac_to_str5(*(data))) -#define lcd_implementation_drawmenu_setting_edit_wfac(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', wfac_to_str5(*(data))) -#define lcd_implementation_drawmenu_setting_edit_mres_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', mres_to_str3(*(data))) -#define lcd_implementation_drawmenu_setting_edit_mres(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', mres_to_str3(*(data))) -#define lcd_implementation_drawmenu_setting_edit_byte3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3((uint8_t)*(data))) -#define lcd_implementation_drawmenu_setting_edit_byte3(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', itostr3((uint8_t)*(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) -{ - 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 - - diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 67baa6193..35d2f50f1 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -1017,7 +1017,7 @@ void st_init() tmc2130_init(); #endif //TMC2130 - digipot_init(); //Initialize Digipot Motor Current + st_current_init(); //Initialize Digipot Motor Current microstep_init(); //Initialize Microstepping Pins //Initialize Dir Pins @@ -1455,22 +1455,10 @@ void EEPROM_read_st(int pos, uint8_t* value, uint8_t size) } -void digipot_init() //Initialize Digipot Motor Current +void st_current_init() //Initialize Digipot Motor Current { EEPROM_read_st(EEPROM_SILENT,(uint8_t*)&SilentMode,sizeof(SilentMode)); SilentModeMenu = SilentMode; - #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1 - if(SilentMode == 0){ - const uint8_t digipot_motor_current[] = DIGIPOT_MOTOR_CURRENT_LOUD; - }else{ - 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); @@ -1488,9 +1476,9 @@ void digipot_init() //Initialize Digipot Motor Current motor_current_setting[2] = motor_current_setting_silent[2]; } - digipot_current(0, motor_current_setting[0]); - digipot_current(1, motor_current_setting[1]); - digipot_current(2, motor_current_setting[2]); + st_current_set(0, motor_current_setting[0]); + st_current_set(1, motor_current_setting[1]); + st_current_set(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 @@ -1499,12 +1487,8 @@ void digipot_init() //Initialize Digipot Motor Current -void digipot_current(uint8_t driver, int current) +void st_current_set(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); diff --git a/Firmware/stepper.h b/Firmware/stepper.h index 5be1e4095..ac5089441 100644 --- a/Firmware/stepper.h +++ b/Firmware/stepper.h @@ -96,8 +96,8 @@ 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 st_current_init(); +void st_current_set(uint8_t driver, int current); void microstep_init(); void microstep_readings(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 8bd186043..5e46c1a54 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -183,11 +183,7 @@ uint8_t lcd_status_message_level; char lcd_status_message[LCD_WIDTH + 1] = ""; //////WELCOME! unsigned char firstrun = 1; -#ifdef DOGLCD -#include "dogm_lcd_implementation.h" -#else #include "ultralcd_implementation_hitachi_HD44780.h" -#endif /** forward declarations **/ @@ -3530,7 +3526,7 @@ static void lcd_silent_mode_set() { st_reset_timer(); sei(); #endif //TMC2130 - digipot_init(); + st_current_init(); #ifdef TMC2130 if (CrashDetectMenu && SilentModeMenu) lcd_goto_menu(lcd_crash_mode_info2); @@ -3644,7 +3640,7 @@ void lcd_pinda_calibration_menu() void lcd_temp_calibration_set() { temp_cal_active = !temp_cal_active; eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, temp_cal_active); - digipot_init(); + st_current_init(); lcd_goto_menu(lcd_settings_menu); //doesn't break menuStack } @@ -4104,6 +4100,7 @@ static void lcd_selftest_() lcd_selftest(); } +#ifdef TMC2130 static void lcd_ustep_linearity_menu_save() { eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_X_FAC, tmc2130_wave_fac[X_AXIS]); @@ -4111,13 +4108,17 @@ static void lcd_ustep_linearity_menu_save() eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_Z_FAC, tmc2130_wave_fac[Z_AXIS]); eeprom_update_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC, tmc2130_wave_fac[E_AXIS]); } +#endif //TMC2130 + static void lcd_settings_menu_back() { +#ifdef TMC2130 bool changed = false; if (tmc2130_wave_fac[E_AXIS] < TMC2130_WAVE_FAC1000_MIN) tmc2130_wave_fac[E_AXIS] = 0; changed |= (eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC) != tmc2130_wave_fac[E_AXIS]); lcd_ustep_linearity_menu_save(); if (changed) tmc2130_init(); +#endif //TMC2130 currentMenu = lcd_main_menu; lcd_main_menu(); } @@ -5050,7 +5051,7 @@ void extr_unload() { //unloads filament current_position[E_AXIS] += 10; //extrusion plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder); - digipot_current(2, E_MOTOR_HIGH_CURRENT); + st_current_set(2, E_MOTOR_HIGH_CURRENT); if (current_temperature[0] < 230) { //PLA & all other filaments current_position[E_AXIS] += 5.4; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2800 / 60, active_extruder); @@ -5079,9 +5080,9 @@ void extr_unload() { //unloads filament current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); st_synchronize(); - //digipot_init(); - if (SilentMode == 1) digipot_current(2, tmp_motor[2]); //set back to normal operation currents - else digipot_current(2, tmp_motor_loud[2]); + //st_current_init(); + if (SilentMode == 1) st_current_set(2, tmp_motor[2]); //set back to normal operation currents + else st_current_set(2, tmp_motor_loud[2]); lcd_update_enable(true); lcd_return_to_status(); max_feedrate[E_AXIS] = 50; @@ -5705,7 +5706,7 @@ static void lcd_silent_mode_set_tune() { default: SilentModeMenu = 0; break; } eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); - digipot_init(); + st_current_init(); lcd_goto_menu(lcd_tune_menu, 9); } @@ -6103,14 +6104,15 @@ void lcd_sdcard_menu() } */ + +#ifdef TMC2130 +extern char conv[8]; // Convert tmc2130 mres to string char *mres_to_str3(const uint8_t &x) { return itostr3(256 >> x); } - -extern char conv[8]; - +menu_edit_type(uint8_t, mres, mres_to_str3, 1) // Convert tmc2130 wfac to string char *wfac_to_str5(const uint16_t &x) { @@ -6125,9 +6127,9 @@ char *wfac_to_str5(const uint16_t &x) conv[8] = 0; return conv; } - menu_edit_type(uint16_t, wfac, wfac_to_str5, 1) -menu_edit_type(uint8_t, mres, mres_to_str3, 1) +#endif //TMC2130 + menu_edit_type(uint8_t, byte3, itostr3, 1) menu_edit_type(int, int3, itostr3, 1) menu_edit_type(float, float3, ftostr3, 1) @@ -6562,11 +6564,11 @@ static bool lcd_selfcheck_pulleys(int axis) for (i = 0; i < 5; i++) { refresh_cmd_timeout(); current_position[axis] = current_position[axis] + move; - digipot_current(0, 850); //set motor current higher + st_current_set(0, 850); //set motor current higher plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 200, active_extruder); st_synchronize(); - if (SilentModeMenu == 1) digipot_current(0, tmp_motor[0]); //set back to normal operation currents - else digipot_current(0, tmp_motor_loud[0]); //set motor current back + if (SilentModeMenu == 1) st_current_set(0, tmp_motor[0]); //set back to normal operation currents + else st_current_set(0, tmp_motor_loud[0]); //set motor current back current_position[axis] = current_position[axis] - move; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder); st_synchronize(); @@ -7391,22 +7393,7 @@ void lcd_update(uint8_t lcdDrawUpdateOverride) if (LCD_CLICKED) lcd_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(); diff --git a/Firmware/ultralcd_st7920_u8glib_rrd.h b/Firmware/ultralcd_st7920_u8glib_rrd.h deleted file mode 100644 index 386e312e5..000000000 --- a/Firmware/ultralcd_st7920_u8glib_rrd.h +++ /dev/null @@ -1,131 +0,0 @@ -#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 - -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;idev_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 diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index 08929f69f..cd1bf9f93 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -462,6 +462,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes #define PING_ALLERT_PERIOD 60 //time in s +#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring +#define NC_BUTTON_LONG_PRESS 15 //time in s + #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index b128f0f8e..9279dbf4e 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -107,6 +107,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o // New XYZ calibration #define NEW_XYZCAL +// Do not use Arduino SPI +#define NEW_SPI + // Watchdog support #define WATCHDOG @@ -574,6 +577,9 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes #define PING_ALLERT_PERIOD 60 //time in s +#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring +#define NC_BUTTON_LONG_PRESS 15 //time in s + #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release From 92997204a1be0f62022ac5ae176c120c3231d17c Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 12:30:35 +0200 Subject: [PATCH 140/926] Linearity correction - TMC codes for calibration object, variable stored as uint8, range from 1.03 to 1.20 --- Firmware/Configuration.h | 8 +-- Firmware/Dcodes.cpp | 3 +- Firmware/Marlin_main.cpp | 58 ++++++++++++------- Firmware/temperature.cpp | 4 ++ Firmware/tmc2130.cpp | 16 ++--- Firmware/tmc2130.h | 8 +-- Firmware/ultralcd.cpp | 12 ++-- .../ultralcd_implementation_hitachi_HD44780.h | 2 +- .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 +- 9 files changed, 69 insertions(+), 44 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 561126dce..0a898b8b0 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -159,10 +159,10 @@ // TMC2130 uStep linearity correction // Linearity correction factor (XYZE) -#define EEPROM_TMC2130_WAVE_X_FAC (EEPROM_TMC2130_HOME_ENABLED - 2) // uint16 -#define EEPROM_TMC2130_WAVE_Y_FAC (EEPROM_TMC2130_WAVE_X_FAC - 2) // uint16 -#define EEPROM_TMC2130_WAVE_Z_FAC (EEPROM_TMC2130_WAVE_Y_FAC - 2) // uint16 -#define EEPROM_TMC2130_WAVE_E_FAC (EEPROM_TMC2130_WAVE_Z_FAC - 2) // uint16 +#define EEPROM_TMC2130_WAVE_X_FAC (EEPROM_TMC2130_HOME_ENABLED - 1) // uint8 +#define EEPROM_TMC2130_WAVE_Y_FAC (EEPROM_TMC2130_WAVE_X_FAC - 1) // uint8 +#define EEPROM_TMC2130_WAVE_Z_FAC (EEPROM_TMC2130_WAVE_Y_FAC - 1) // uint8 +#define EEPROM_TMC2130_WAVE_E_FAC (EEPROM_TMC2130_WAVE_Z_FAC - 1) // uint8 //////////////////////////////////////// diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index a224ab1bf..f3abac3fd 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -465,6 +465,7 @@ void dcode_10() void dcode_12() {//Time LOG("D12 - Time\n"); + } @@ -590,7 +591,7 @@ void dcode_2130() } else if (strncmp(strchr_pointer + 7, "wave", 4) == 0) { - uint16_t fac1000 = atoi(strchr_pointer + 11) & 0xffff; + uint8_t fac1000 = atoi(strchr_pointer + 11) & 0xffff; if (fac1000 < TMC2130_WAVE_FAC1000_MIN) fac1000 = 0; if (fac1000 > TMC2130_WAVE_FAC1000_MAX) fac1000 = TMC2130_WAVE_FAC1000_MAX; tmc2130_set_wave(axis, 247, fac1000); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7935f9e10..dbbd54348 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -57,6 +57,7 @@ #include "Timer.h" #include +#include #include "Dcodes.h" @@ -1077,15 +1078,15 @@ void setup() #ifdef TMC2130_LINEARITY_CORRECTION #ifdef EXPERIMENTAL_FEATURES - tmc2130_wave_fac[X_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_X_FAC); - tmc2130_wave_fac[Y_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Y_FAC); - tmc2130_wave_fac[Z_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_Z_FAC); + tmc2130_wave_fac[X_AXIS] = eeprom_read_word((uint8_t*)EEPROM_TMC2130_WAVE_X_FAC); + tmc2130_wave_fac[Y_AXIS] = eeprom_read_word((uint8_t*)EEPROM_TMC2130_WAVE_Y_FAC); + tmc2130_wave_fac[Z_AXIS] = eeprom_read_word((uint8_t*)EEPROM_TMC2130_WAVE_Z_FAC); #endif //EXPERIMENTAL_FEATURES tmc2130_wave_fac[E_AXIS] = eeprom_read_word((uint16_t*)EEPROM_TMC2130_WAVE_E_FAC); - if (tmc2130_wave_fac[X_AXIS] == 0xffff) tmc2130_wave_fac[X_AXIS] = 0; - if (tmc2130_wave_fac[Y_AXIS] == 0xffff) tmc2130_wave_fac[Y_AXIS] = 0; - if (tmc2130_wave_fac[Z_AXIS] == 0xffff) tmc2130_wave_fac[Z_AXIS] = 0; - if (tmc2130_wave_fac[E_AXIS] == 0xffff) tmc2130_wave_fac[E_AXIS] = 0; + if (tmc2130_wave_fac[X_AXIS] == 0xff) tmc2130_wave_fac[X_AXIS] = 0; + if (tmc2130_wave_fac[Y_AXIS] == 0xff) tmc2130_wave_fac[Y_AXIS] = 0; + if (tmc2130_wave_fac[Z_AXIS] == 0xff) tmc2130_wave_fac[Z_AXIS] = 0; + if (tmc2130_wave_fac[E_AXIS] == 0xff) tmc2130_wave_fac[E_AXIS] = 0; #endif //TMC2130_LINEARITY_CORRECTION #ifdef TMC2130_VARIABLE_RESOLUTION @@ -2543,19 +2544,36 @@ void process_commands() lcd_setstatus(strchr_pointer + 5); } -#ifdef TMC2130 - else if(code_seen("CRASH_DETECTED")) - { - uint8_t mask = 0; - if (code_seen("X")) mask |= X_AXIS_MASK; - if (code_seen("Y")) mask |= Y_AXIS_MASK; - crashdet_detected(mask); - } - else if(code_seen("CRASH_RECOVER")) - crashdet_recover(); - else if(code_seen("CRASH_CANCEL")) - crashdet_cancel(); -#endif //TMC2130 +//#ifdef TMC2130 + else if (strncmp_P(CMDBUFFER_CURRENT_STRING, PSTR("CRASH_"), 6) == 0) + { + if(code_seen("CRASH_DETECTED")) + { + uint8_t mask = 0; + if (code_seen("X")) mask |= X_AXIS_MASK; + if (code_seen("Y")) mask |= Y_AXIS_MASK; + crashdet_detected(mask); + } + else if(code_seen("CRASH_RECOVER")) + crashdet_recover(); + else if(code_seen("CRASH_CANCEL")) + crashdet_cancel(); + } + else if (strncmp_P(CMDBUFFER_CURRENT_STRING, PSTR("TMC_"), 4) == 0) + { + if (strncmp_P(CMDBUFFER_CURRENT_STRING + 4, PSTR("SET_WAVE_E"), 10) == 0) + { + uint8_t fac = (uint8_t)strtol(CMDBUFFER_CURRENT_STRING + 14, NULL, 10); + tmc2130_set_wave(E_AXIS, 247, fac); + } + else if (strncmp_P(CMDBUFFER_CURRENT_STRING + 4, PSTR("SET_STEP_E"), 10) == 0) + { + uint8_t step = (uint8_t)strtol(CMDBUFFER_CURRENT_STRING + 14, NULL, 10); + uint16_t res = tmc2130_get_res(E_AXIS); + tmc2130_goto_step(E_AXIS, step & (4*res - 1), 2, 1000, res); + } + } +//#endif //TMC2130 else if(code_seen("PRUSA")){ if (code_seen("Ping")) { //PRUSA Ping diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 3afccf998..aff973039 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -992,7 +992,11 @@ static void updateTemperaturesFromRawValues() current_temperature_ambient = analog2tempAmbient(current_temperature_raw_ambient); //thermistor for ambient is NTCG104LH104JT1 (2000) #endif +#ifdef DEBUG_HEATER_BED_SIM + current_temperature_bed = target_temperature_bed; +#else //DEBUG_HEATER_BED_SIM current_temperature_bed = analog2tempBed(current_temperature_bed_raw); +#endif //DEBUG_HEATER_BED_SIM #ifdef TEMP_SENSOR_1_AS_REDUNDANT redundant_temperature = analog2temp(redundant_temperature_raw, 1); diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 7faeddcad..01689be32 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -63,7 +63,7 @@ uint8_t tmc2130_home_origin[2] = {0, 0}; uint8_t tmc2130_home_bsteps[2] = {48, 48}; uint8_t tmc2130_home_fsteps[2] = {48, 48}; -uint16_t tmc2130_wave_fac[4] = {0, 0, 0, 0}; +uint8_t tmc2130_wave_fac[4] = {0, 0, 0, 0}; bool tmc2130_sg_stop_on_crash = true; uint8_t tmc2130_sg_diag_mask = 0x00; @@ -193,9 +193,9 @@ void tmc2130_init() tmc2130_sg_cnt[3] = 0; #ifdef TMC2130_LINEARITY_CORRECTION - tmc2130_set_wave(X_AXIS, 247, tmc2130_wave_fac[X_AXIS]); - tmc2130_set_wave(Y_AXIS, 247, tmc2130_wave_fac[Y_AXIS]); - tmc2130_set_wave(Z_AXIS, 247, tmc2130_wave_fac[Z_AXIS]); +// tmc2130_set_wave(X_AXIS, 247, tmc2130_wave_fac[X_AXIS]); +// tmc2130_set_wave(Y_AXIS, 247, tmc2130_wave_fac[Y_AXIS]); +// tmc2130_set_wave(Z_AXIS, 247, tmc2130_wave_fac[Z_AXIS]); tmc2130_set_wave(E_AXIS, 247, tmc2130_wave_fac[E_AXIS]); #endif //TMC2130_LINEARITY_CORRECTION @@ -892,14 +892,16 @@ void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream) tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); } -void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint16_t fac1000) +void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac1000) { // TMC2130 wave compression algorithm // optimized for minimal memory requirements - printf_P(PSTR("tmc2130_set_wave %d %d\n"), axis, fac1000); + printf_P(PSTR("tmc2130_set_wave %hhd %hhd\n"), axis, fac1000); if (fac1000 < TMC2130_WAVE_FAC1000_MIN) fac1000 = 0; if (fac1000 > TMC2130_WAVE_FAC1000_MAX) fac1000 = TMC2130_WAVE_FAC1000_MAX; - float fac = (float)fac1000/1000; //correction factor + float fac = 0; + if (fac1000) fac = (float)((uint16_t)fac1000 + 1000) / 1000; //correction factor + printf_P(PSTR(" factor: %s\n"), ftostr43(fac)); uint8_t vA = 0; //value of currentA uint8_t va = 0; //previous vA uint8_t d0 = 0; //delta0 diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index a81fad263..2fe8d3e1c 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -23,8 +23,8 @@ extern uint32_t tmc2130_sg_meassure_val; #define TMC2130_MODE_NORMAL 0 #define TMC2130_MODE_SILENT 1 -#define TMC2130_WAVE_FAC1000_MIN 900 -#define TMC2130_WAVE_FAC1000_MAX 1250 +#define TMC2130_WAVE_FAC1000_MIN 30 +#define TMC2130_WAVE_FAC1000_MAX 200 #define TMC2130_WAVE_FAC1000_STP 1 extern uint8_t tmc2130_home_enabled; @@ -32,7 +32,7 @@ extern uint8_t tmc2130_home_origin[2]; extern uint8_t tmc2130_home_bsteps[2]; extern uint8_t tmc2130_home_fsteps[2]; -extern uint16_t tmc2130_wave_fac[4]; +extern uint8_t tmc2130_wave_fac[4]; //initialize tmc2130 @@ -117,7 +117,7 @@ extern void tmc2130_do_step(uint8_t axis); extern void tmc2130_do_steps(uint8_t axis, uint16_t steps, uint8_t dir, uint16_t delay_us); extern void tmc2130_goto_step(uint8_t axis, uint8_t step, uint8_t dir, uint16_t delay_us, uint16_t microstep_resolution); extern void tmc2130_get_wave(uint8_t axis, uint8_t* data, FILE* stream); -extern void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint16_t fac1000); +extern void tmc2130_set_wave(uint8_t axis, uint8_t amp, uint8_t fac1000); extern bool tmc2130_home_calibrate(uint8_t axis); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5e46c1a54..7e4a742e1 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -242,7 +242,7 @@ static void menu_action_setlang(unsigned char lang); 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_wfac(const char* pstr, uint16_t* ptr, uint16_t minValue, uint16_t maxValue); +static void menu_action_setting_edit_wfac(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); static void menu_action_setting_edit_mres(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); static void menu_action_setting_edit_byte3(const char* pstr, uint8_t* ptr, uint8_t minValue, uint8_t maxValue); static void menu_action_setting_edit_int3(const char* pstr, int* ptr, int minValue, int maxValue); @@ -6114,20 +6114,20 @@ char *mres_to_str3(const uint8_t &x) } menu_edit_type(uint8_t, mres, mres_to_str3, 1) // Convert tmc2130 wfac to string -char *wfac_to_str5(const uint16_t &x) +char *wfac_to_str5(const uint8_t &x) { - if (x>=TMC2130_WAVE_FAC1000_MIN) + if (x >= TMC2130_WAVE_FAC1000_MIN) { conv[0] = '['; - ftostr43(((float)(x & 0xffff)/1000),1); + ftostr43(((float)((uint16_t)x + 1000) / 1000), 1); } - else strcpy_P(conv,MSG_EXTRUDER_CORRECTION_OFF); + else strcpy_P(conv, MSG_EXTRUDER_CORRECTION_OFF); conv[6] = ']'; conv[7] = ' '; conv[8] = 0; return conv; } -menu_edit_type(uint16_t, wfac, wfac_to_str5, 1) +menu_edit_type(uint8_t, wfac, wfac_to_str5, 1) #endif //TMC2130 menu_edit_type(uint8_t, byte3, itostr3, 1) diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 6092f82e4..60e6ed079 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -1145,7 +1145,7 @@ static void lcd_implementation_drawmenu_setting_edit_generic_P(uint8_t row, cons } -extern char *wfac_to_str5(const uint16_t &x); +extern char *wfac_to_str5(const uint8_t &x); extern char *mres_to_str3(const uint8_t &x); #define lcd_implementation_drawmenu_setting_edit_wfac_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', wfac_to_str5(*(data))) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 9279dbf4e..92c5f7df4 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -169,7 +169,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif /* DEBUG_BUILD */ //#define EXPERIMENTAL_FEATURES -//#define TMC2130_LINEARITY_CORRECTION +#define TMC2130_LINEARITY_CORRECTION //#define TMC2130_VARIABLE_RESOLUTION From 869a99d8ad5b15c0c9679c47d59b9fa3663ba762 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 15:05:57 +0200 Subject: [PATCH 141/926] XYZ calibration - diagonal find_point_center --- Firmware/xyzcal.cpp | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index b59918f70..506f60d45 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -471,6 +471,7 @@ int16_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, u } #define MAX_DIAMETR 600 +#define XYZCAL_FIND_CENTER_DIAGONAL int8_t xyzcal_find_point_center2(uint16_t delay_us) { @@ -499,6 +500,37 @@ int8_t xyzcal_find_point_center2(uint16_t delay_us) // xyzcal_lineXYZ_to(x0, y0, z0 - 100, 500, 1); // z0 = _Z - 10; + int8_t ret = 1; + +#ifdef XYZCAL_FIND_CENTER_DIAGONAL + int32_t xc = 0; + int32_t yc = 0; + int16_t ad = 45; + for (; ad < 360; ad += 90) + { + float ar = (float)ad * _PI / 180; + int16_t x = x0 + MAX_DIAMETR * cos(ar); + int16_t y = y0 + MAX_DIAMETR * sin(ar); + if (!xyzcal_lineXYZ_to(x, y, z0, delay_us, -1)) + { + printf_P(PSTR("ERROR ad=%d\n"), ad); + ret = 0; + break; + } + xc += _X; + yc += _Y; + xyzcal_lineXYZ_to(x0, y0, z0, delay_us, 0); + } + if (ret) + { + printf_P(PSTR("OK\n"), ad); + x0 = xc / 4; + y0 = yc / 4; + printf_P(PSTR(" x0=%d\n"), x0); + printf_P(PSTR(" y0=%d\n"), y0); + } + +#else //XYZCAL_FIND_CENTER_DIAGONAL xyzcal_lineXYZ_to(x0 - MAX_DIAMETR, y0, z0, delay_us, -1); int16_t dx1 = x0 - _X; if (dx1 >= MAX_DIAMETR) @@ -541,9 +573,11 @@ int8_t xyzcal_find_point_center2(uint16_t delay_us) printf_P(PSTR(" x0=%d\n"), x0); printf_P(PSTR(" y0=%d\n"), y0); +#endif //XYZCAL_FIND_CENTER_DIAGONAL + xyzcal_lineXYZ_to(x0, y0, z0, delay_us, 0); - return 1; + return ret; } #ifdef XYZCAL_FIND_POINT_CENTER From 339d2ebdef74c6c50e6e1646521a9054cde36689 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 18:26:39 +0200 Subject: [PATCH 142/926] Z-axis stealth mode XYZcal fix --- Firmware/mesh_bed_calibration.cpp | 4 ++ Firmware/stepper.cpp | 19 +++++++- Firmware/tmc2130.cpp | 47 ++++++++++++++----- Firmware/tmc2130.h | 2 + .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 + 5 files changed, 59 insertions(+), 15 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 60501256d..360ba1814 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2034,7 +2034,11 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level // SERIAL_ECHO(int(verbosity_level)); // SERIAL_ECHOPGM(""); +#ifdef NEW_XYZCAL + { +#else //NEW_XYZCAL while (iteration < 3) { +#endif //NEW_XYZCAL SERIAL_ECHOPGM("Iteration: "); MYSERIAL.println(int(iteration + 1)); diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 35d2f50f1..567d1565d 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -585,7 +585,12 @@ FORCE_INLINE void stepper_check_endstops() if (! check_z_endstop) { #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); +#ifdef TMC2130_STEALTH_Z + if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + else +#endif //TMC2130_STEALTH_Z + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); #else z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); #endif //TMC2130_SG_HOMING @@ -601,6 +606,11 @@ FORCE_INLINE void stepper_check_endstops() #if defined(Z_MAX_PIN) && (Z_MAX_PIN > -1) && !defined(DEBUG_DISABLE_ZMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on +#ifdef TMC2130_STEALTH_Z + if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) + z_max_endstop = false; + else +#endif //TMC2130_STEALTH_Z z_max_endstop = (READ(Z_TMC2130_DIAG) != 0); #else z_max_endstop = (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING); @@ -622,7 +632,12 @@ FORCE_INLINE void stepper_check_endstops() // Good for searching for the center of an induction target. #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); +#ifdef TMC2130_STEALTH_Z + if ((tmc2130_mode == TMC2130_MODE_SILENT) && !(tmc2130_sg_homing_axes_mask & 0x04)) + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); + else +#endif //TMC2130_STEALTH_Z + z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0); #else z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); #endif //TMC2130_SG_HOMING diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 01689be32..33991c078 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -52,7 +52,7 @@ uint8_t tmc2130_sg_thr[4] = {TMC2130_SG_THRS_X, TMC2130_SG_THRS_Y, TMC2130_SG_TH uint8_t tmc2130_sg_thr_home[4] = {3, 3, TMC2130_SG_THRS_Z, TMC2130_SG_THRS_E}; -uint8_t sg_homing_axes_mask = 0x00; +uint8_t tmc2130_sg_homing_axes_mask = 0x00; uint8_t tmc2130_sg_meassure = 0xff; uint32_t tmc2130_sg_meassure_cnt = 0; @@ -131,7 +131,16 @@ uint8_t tmc2130_rx(uint8_t axis, uint8_t addr, uint32_t* rval); void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_t current_r); - +uint16_t __tcoolthrs(uint8_t axis) +{ + switch (axis) + { + case X_AXIS: return TMC2130_TCOOLTHRS_X; + case Y_AXIS: return TMC2130_TCOOLTHRS_Y; + case Z_AXIS: return TMC2130_TCOOLTHRS_Z; + } + return 0; +} void tmc2130_init() { @@ -156,7 +165,7 @@ void tmc2130_init() tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); tmc2130_wr(axis, TMC2130_REG_TPOWERDOWN, 0x00000000); tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); - tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:((axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y)); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:__tcoolthrs(axis)); tmc2130_wr(axis, TMC2130_REG_GCONF, (tmc2130_mode == TMC2130_MODE_SILENT)?TMC2130_GCONF_SILENT:TMC2130_GCONF_SGSENS); tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); tmc2130_wr_TPWMTHRS(axis, TMC2130_TPWMTHRS); @@ -166,7 +175,15 @@ void tmc2130_init() { tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); tmc2130_wr(axis, TMC2130_REG_TPOWERDOWN, 0x00000000); +#ifndef TMC2130_STEALTH_Z tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); +#else //TMC2130_STEALTH_Z + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:__tcoolthrs(axis)); + tmc2130_wr(axis, TMC2130_REG_GCONF, (tmc2130_mode == TMC2130_MODE_SILENT)?TMC2130_GCONF_SILENT:TMC2130_GCONF_SGSENS); + tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); + tmc2130_wr_TPWMTHRS(axis, TMC2130_TPWMTHRS); +#endif //TMC2130_STEALTH_Z } for (int axis = 3; axis < 4; axis++) // E axis { @@ -238,7 +255,7 @@ void tmc2130_st_isr(uint8_t last_step_mask) } } } - if (sg_homing_axes_mask == 0) + if (tmc2130_sg_homing_axes_mask == 0) { if (tmc2130_sg_stop_on_crash && crash) { @@ -265,7 +282,7 @@ bool tmc2130_update_sg() void tmc2130_home_enter(uint8_t axes_mask) { -// printf_P(PSTR("tmc2130_home_enter(axes_mask=0x%02x)\n"), axes_mask); + printf_P(PSTR("tmc2130_home_enter(axes_mask=0x%02x)\n"), axes_mask); #ifdef TMC2130_SG_HOMING if (axes_mask & 0x03) //X or Y tmc2130_wait_standstill_xy(1000); @@ -274,12 +291,12 @@ void tmc2130_home_enter(uint8_t axes_mask) uint8_t mask = (X_AXIS_MASK << axis); if (axes_mask & mask) { - sg_homing_axes_mask |= mask; + tmc2130_sg_homing_axes_mask |= mask; //Configuration to spreadCycle tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_NORMAL); tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr_home[axis]) << 16)); // tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); - tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, __tcoolthrs(axis)); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r_home[axis]); if (mask & (X_AXIS_MASK | Y_AXIS_MASK | Z_AXIS_MASK)) tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); //stallguard output DIAG1, DIAG1 = pushpull @@ -290,18 +307,22 @@ void tmc2130_home_enter(uint8_t axes_mask) void tmc2130_home_exit() { -// printf_P(PSTR("tmc2130_home_exit sg_homing_axes_mask=0x%02x\n"), sg_homing_axes_mask); + printf_P(PSTR("tmc2130_home_exit tmc2130_sg_homing_axes_mask=0x%02x\n"), tmc2130_sg_homing_axes_mask); #ifdef TMC2130_SG_HOMING - if (sg_homing_axes_mask & 0x03) //X or Y + if (tmc2130_sg_homing_axes_mask & 0x03) //X or Y tmc2130_wait_standstill_xy(1000); - if (sg_homing_axes_mask) + if (tmc2130_sg_homing_axes_mask) { for (uint8_t axis = X_AXIS; axis <= Z_AXIS; axis++) //X Y and Z axes { uint8_t mask = (X_AXIS_MASK << axis); - if (sg_homing_axes_mask & mask & (X_AXIS_MASK | Y_AXIS_MASK)) + if (tmc2130_sg_homing_axes_mask & mask & (X_AXIS_MASK | Y_AXIS_MASK | Z_AXIS_MASK)) { +#ifndef TMC2130_STEALTH_Z + if ((tmc2130_mode == TMC2130_MODE_SILENT) && (axis != Z_AXIS)) +#else //TMC2130_STEALTH_Z if (tmc2130_mode == TMC2130_MODE_SILENT) +#endif //TMC2130_STEALTH_Z { tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SILENT); // Configuration back to stealthChop tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, 0); @@ -313,12 +334,12 @@ void tmc2130_home_exit() tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); // tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); - tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:((axis==X_AXIS)?TMC2130_TCOOLTHRS_X:TMC2130_TCOOLTHRS_Y)); + tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, __tcoolthrs(axis)); tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); } } } - sg_homing_axes_mask = 0x00; + tmc2130_sg_homing_axes_mask = 0x00; } tmc2130_sg_crash = false; #endif diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h index 2fe8d3e1c..d5d531118 100644 --- a/Firmware/tmc2130.h +++ b/Firmware/tmc2130.h @@ -20,6 +20,8 @@ extern uint8_t tmc2130_sg_meassure; extern uint32_t tmc2130_sg_meassure_cnt; extern uint32_t tmc2130_sg_meassure_val; +extern uint8_t tmc2130_sg_homing_axes_mask; + #define TMC2130_MODE_NORMAL 0 #define TMC2130_MODE_SILENT 1 diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 92c5f7df4..652a23af2 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -245,6 +245,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes #define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor +#define TMC2130_STEALTH_Z + //#define TMC2130_DEBUG //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD From 630041ecb20a38355ce2957071674422ef2a7310 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 18:49:15 +0200 Subject: [PATCH 143/926] XYZcal - threshold changed from 32 to 16 --- Firmware/xyzcal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 506f60d45..fb80082ba 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -425,7 +425,7 @@ void xyzcal_draw_pattern_12x12_in_32x32(uint8_t* pattern, uint32_t* pixels, int int16_t xyzcal_match_pattern_12x12_in_32x32(uint16_t* pattern, uint8_t* pixels, uint8_t c, uint8_t r) { - uint8_t thr = 32; + uint8_t thr = 16; int16_t match = 0; for (uint8_t i = 0; i < 12; i++) for (uint8_t j = 0; j < 12; j++) From 3b26e1635a6fc7d465812b2615f9321c84417d6e Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 3 Apr 2018 20:10:50 +0200 Subject: [PATCH 144/926] XYZcal - better filtering. --- Firmware/xyzcal.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index fb80082ba..725150f31 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -370,7 +370,7 @@ void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) { uint8_t l; uint16_t max_c = histo[0]; - uint8_t max_l = 0; + uint8_t max_l = 1; for (l = 1; l < 16; l++) { uint16_t c = histo[l]; @@ -384,7 +384,7 @@ void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) for (l = 15; l > 8; l--) if (histo[l] >= 10) break; - uint8_t pix_min = (max_l + 2) << 4; + uint8_t pix_min = (max_l + 1) << 4; uint8_t pix_max = l << 4; uint8_t pix_dif = pix_max - pix_min; DBG(_n(" min=%d max=%d dif=%d\n"), pix_min, pix_max, pix_dif); From da43aa025042762d852348cd76bfdd964bf444a3 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 4 Apr 2018 20:03:39 +0200 Subject: [PATCH 145/926] XYZ calibration tunning --- Firmware/xyzcal.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 725150f31..4e4309b38 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -369,7 +369,7 @@ void xyzcal_histo_pixels_32x32(uint8_t* pixels, uint16_t* histo) void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) { uint8_t l; - uint16_t max_c = histo[0]; + uint16_t max_c = histo[1]; uint8_t max_l = 1; for (l = 1; l < 16; l++) { @@ -381,10 +381,10 @@ void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) } } DBG(_n("max_c=%2d max_l=%d\n"), max_c, max_l); - for (l = 15; l > 8; l--) + for (l = 14; l > 8; l--) if (histo[l] >= 10) break; - uint8_t pix_min = (max_l + 1) << 4; + uint8_t pix_min = (max_l << 4) / 2; uint8_t pix_max = l << 4; uint8_t pix_dif = pix_max - pix_min; DBG(_n(" min=%d max=%d dif=%d\n"), pix_min, pix_max, pix_dif); From 02fda70529573aafec9350c8fd9b6f7f42079bfc Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 10 Apr 2018 14:07:44 +0200 Subject: [PATCH 146/926] farm mode: preheat menu updated --- Firmware/Configuration_prusa.h | 2 +- Firmware/ultralcd.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 9279dbf4e..216990f45 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -462,7 +462,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o *------------------------------------*/ #define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 40 +#define FARM_PREHEAT_HPB_TEMP 60 #define FARM_PREHEAT_FAN_SPEED 0 #define PLA_PREHEAT_HOTEND_TEMP 215 diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7e4a742e1..e67549f6e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1752,10 +1752,10 @@ static void lcd_preheat_menu() MENU_ITEM(back, MSG_MAIN, 0); if (farm_mode) { - MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); - MENU_ITEM(function, PSTR("nozzle - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/0"), lcd_preheat_farm_nozzle); + MENU_ITEM(function, PSTR("farm - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FARM_PREHEAT_HPB_TEMP)), lcd_preheat_farm); + MENU_ITEM(function, PSTR("nozzle - " STRINGIFY(FARM_PREHEAT_HOTEND_TEMP) "/0"), lcd_preheat_farm_nozzle); MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); - MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); + MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs); } else { MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla); MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet); From c7ffb4b2dcc87e5a6b1e0a13bc6167281f8a50e9 Mon Sep 17 00:00:00 2001 From: MRprusa3d <38257799+MRprusa3d@users.noreply.github.com> Date: Tue, 10 Apr 2018 18:02:16 +0000 Subject: [PATCH 147/926] Add files via upload --- README.md | 93 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 50 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 99d17c3e2..0e2dea392 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,50 @@ -# Original Prusa i3 MK2 Firmware - -## General instructions - -Pre-compiled hex output on PRUSA RESEARCH site: http://prusa3d.com/downloads/firmware/ - -Just download and flash it to the electronics - - -## Build instructions - -### Step 1 - -Install arduino - -### Step 2 - -Remove Liquid Crystal library from your arduino or rename it - -### Step 3 - -Install the arduino addon located in the root of this repo. Don't forget to install correct version! - -### Step 4 - -Copy the configuration file matching your printer from variants folder to the the Firmware folder - -### Step 5 - -Rename it to "Configuration_prusa.h" - -### Step 6 - -Compile the firmware - -### Step 7 - -Upload the firmware to board - - - - - +# 1. Developement environment preparing + + 1. install `"Arduino Software IDE"` for your preferred operating system +`https://www.arduino.cc -> Software->Downloads` +it is strongly recommended to use older version `"1.6.8"`, by which we can assure correct compilation results +_note: in versions `1.7.x` and `1.8.x` there are known some C/C++ compilator disasters, which disallow correct source code compilation (you can obtain `"... internal compiler error: in extract_insn, at ..."` error message, for example); we are not able to affect this situation afraid_ +_note: name collision for `"LiquidCrystal"` library known from previous versions is now obsolete (so there is no need to delete or rename original file/-s)_ + + 2. add (`UltiMachine`) `RAMBo` board into the list of Arduino target boards +`File->Preferences->Settings` +into text field `"Additional Boards Manager URLs"` +type location +`"https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json"` +or you can 'manually' modify the item +`"boardsmanager.additional.urls=....."` +at the file `"preferences.txt"` (this parameter allows you to write a comma-separated list of addresses) +_note: you can find location of this file on your disk by following way: +`File->Preferences->Settings` (`"More preferences can be edited in file ..."`)_ +than do it +`Tools->Board->BoardsManager` +from viewed list select an item `"RAMBo"` (will probably be labeled as `"RepRap Arduino-compatible Mother Board (RAMBo) by UltiMachine"` +_note: select this item for any variant of board used in printers `'Prusa i3 MKx'`, that is for `RAMBo-mini x.y` and `EINSy x.y` to_ +'clicking' the item will display the installation button; select choice `"1.0.1"` from the list(last known version as of the date of issue of this document) +_(after installation, the item is labeled as `"INSTALLED"` and can then be used for target board selection)_ + + +# 2. Source code compilation + +place the source codes corresponding to your printer model obtained from the repository into the selected directory on your disk +`https://github.com/prusa3d/Prusa-Firmware/` +in the subdirectory `"Firmware/variants/"` select the configuration file (`.h`) corresponding to your printer model, make copy named `"Configuration_prusa.h"` (or make simple renaming) and copy them into `"Firmware/"` directory + +run `"Arduino IDE"`; select the file `"Firmware.ino"` from the subdirectory `"Firmware/"` at the location, where you placed the source codes +`File->Open` +make the desired code customizations; **all changes are on your own risk!** + +select the target board `"RAMBo"` +`Tools->Board->RAMBo` +_note: it is not possible to use any of the variants `"Arduino Mega …"`, even though it is the same MCU_ + +run the compilation +`Sketch->Verify/Compile` + +upload the result code into the connected printer +`Sketch->Upload` + +or you can also save the output code to the file (in so called `HEX`-format) `"Firmware.ino.rambo.hex"`: +`Sketch->ExportCompiledBinary` +and then upload it to the printer using the program `"FirmwareUpdater"` +_note: this file is created in the directory `"Firmware/"`_ From 6b77e689244c833dab1cb15d7ebab9e49a0f1b37 Mon Sep 17 00:00:00 2001 From: MRprusa3d <38257799+MRprusa3d@users.noreply.github.com> Date: Tue, 10 Apr 2018 18:07:08 +0000 Subject: [PATCH 148/926] Add files via upload --- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 652a23af2..3f12358fc 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -18,6 +18,7 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a +#define STEEL_SHEET #define HAS_SECOND_SERIAL_PORT From 716f1c63bfceb393ae7c67a1bed316fbe8e7796c Mon Sep 17 00:00:00 2001 From: MRprusa3d <38257799+MRprusa3d@users.noreply.github.com> Date: Tue, 10 Apr 2018 18:08:57 +0000 Subject: [PATCH 149/926] Add files via upload --- Firmware/Configuration_prusa.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 9279dbf4e..3f12358fc 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -18,6 +18,7 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a +#define STEEL_SHEET #define HAS_SECOND_SERIAL_PORT @@ -169,7 +170,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #endif /* DEBUG_BUILD */ //#define EXPERIMENTAL_FEATURES -//#define TMC2130_LINEARITY_CORRECTION +#define TMC2130_LINEARITY_CORRECTION //#define TMC2130_VARIABLE_RESOLUTION @@ -245,6 +246,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes #define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor +#define TMC2130_STEALTH_Z + //#define TMC2130_DEBUG //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD From 8da2330b935aeddd4276f13472d1ef59e2acb06d Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 11 Apr 2018 16:03:54 +0200 Subject: [PATCH 150/926] FSensor PAT9125 - i2c ACK check + two attempts in init function (PFW). ultralcd_implementation_hitachi - fixed link --- Firmware/fsensor.cpp | 26 ++++++++++++---- Firmware/pat9125.cpp | 31 ++++++++++++++++++- .../ultralcd_implementation_hitachi_HD44780.h | 2 +- 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/Firmware/fsensor.cpp b/Firmware/fsensor.cpp index 359d2e10e..bebcf8109 100644 --- a/Firmware/fsensor.cpp +++ b/Firmware/fsensor.cpp @@ -63,7 +63,7 @@ bool fsensor_enable() { // puts_P(PSTR("fsensor_enable\n")); int pat9125 = pat9125_init(); -// printf_P(PSTR("PAT9125_init:%d\n"), pat9125); + printf_P(PSTR("PAT9125_init:%d\n"), pat9125); if (pat9125) fsensor_not_responding = false; else @@ -74,6 +74,7 @@ bool fsensor_enable() fsensor_err_cnt = 0; eeprom_update_byte((uint8_t*)EEPROM_FSENSOR, fsensor_enabled?0x01:0x00); FSensorStateMenu = fsensor_enabled?1:0; +// printf_P(PSTR("fsensor_enable - end %d\n"), fsensor_enabled?1:0); return fsensor_enabled; } @@ -108,7 +109,14 @@ void fsensor_setup_interrupt() void fsensor_autoload_check_start(void) { // puts_P(PSTR("fsensor_autoload_check_start\n")); - pat9125_update_y(); //update sensor + if (!pat9125_update_y()) //update sensor + { + puts_P(PSTR("pat9125 not responding (3).\n")); + fsensor_disable(); + fsensor_not_responding = true; + fsensor_autoload_enabled = false; + return; + } fsensor_autoload_y = pat9125_y; //save current y value fsensor_autoload_c = 0; //reset number of changes counter fsensor_autoload_sum = 0; @@ -130,7 +138,13 @@ bool fsensor_check_autoload(void) uint8_t fsensor_autoload_c_old = fsensor_autoload_c; if ((millis() - fsensor_autoload_last_millis) < 25) return false; fsensor_autoload_last_millis = millis(); - pat9125_update_y(); //update sensor + if (!pat9125_update_y()) + { + puts_P(PSTR("pat9125 not responding (2).\n")); + fsensor_disable(); + fsensor_not_responding = true; + return false; //update sensor + } int16_t dy = fsensor_autoload_y - pat9125_y; if (dy) //? y value is different { @@ -170,9 +184,9 @@ ISR(PCINT2_vect) *digitalPinToPCMSK(fsensor_int_pin) |= bit(digitalPinToPCMSKbit(fsensor_int_pin));*/ if (!pat9125_update_y()) { -#ifdef DEBUG_FSENSOR_LOG - puts_P(PSTR("pat9125 not responding.\n")); -#endif //DEBUG_FSENSOR_LOG +//#ifdef DEBUG_FSENSOR_LOG + puts_P(PSTR("pat9125 not responding (1).\n")); +//#endif //DEBUG_FSENSOR_LOG fsensor_disable(); fsensor_not_responding = true; } diff --git a/Firmware/pat9125.cpp b/Firmware/pat9125.cpp index 9af8e03a7..4894c85f9 100755 --- a/Firmware/pat9125.cpp +++ b/Firmware/pat9125.cpp @@ -92,7 +92,10 @@ int pat9125_init() // pat9125_PID2 = 0x91; if ((pat9125_PID1 != 0x31) || (pat9125_PID2 != 0x91)) { - return 0; + pat9125_PID1 = pat9125_rd_reg(PAT9125_PID1); + pat9125_PID2 = pat9125_rd_reg(PAT9125_PID2); + if ((pat9125_PID1 != 0x31) || (pat9125_PID2 != 0x91)) + return 0; } // Switch to bank0, not allowed to perform OTS_RegWriteRead. pat9125_wr_reg(PAT9125_BANK_SELECTION, 0); @@ -132,6 +135,9 @@ int pat9125_init() pat9125_wr_reg(PAT9125_BANK_SELECTION, 0x00); // Enable write protect. pat9125_wr_reg(PAT9125_WP, 0x00); + + pat9125_PID1 = pat9125_rd_reg(PAT9125_PID1); + pat9125_PID2 = pat9125_rd_reg(PAT9125_PID2); return 1; } @@ -142,11 +148,13 @@ int pat9125_update() unsigned char ucMotion = pat9125_rd_reg(PAT9125_MOTION); pat9125_b = pat9125_rd_reg(PAT9125_FRAME); pat9125_s = pat9125_rd_reg(PAT9125_SHUTTER); + if (pat9125_PID1 == 0xff) return 0; if (ucMotion & 0x80) { unsigned char ucXL = pat9125_rd_reg(PAT9125_DELTA_XL); unsigned char ucYL = pat9125_rd_reg(PAT9125_DELTA_YL); unsigned char ucXYH = pat9125_rd_reg(PAT9125_DELTA_XYH); + if (pat9125_PID1 == 0xff) return 0; int iDX = ucXL | ((ucXYH << 4) & 0xf00); int iDY = ucYL | ((ucXYH << 8) & 0xf00); if (iDX & 0x800) iDX -= 4096; @@ -164,10 +172,12 @@ int pat9125_update_y() if ((pat9125_PID1 == 0x31) && (pat9125_PID2 == 0x91)) { unsigned char ucMotion = pat9125_rd_reg(PAT9125_MOTION); + if (pat9125_PID1 == 0xff) return 0; if (ucMotion & 0x80) { unsigned char ucYL = pat9125_rd_reg(PAT9125_DELTA_YL); unsigned char ucXYH = pat9125_rd_reg(PAT9125_DELTA_XYH); + if (pat9125_PID1 == 0xff) return 0; int iDY = ucYL | ((ucXYH << 8) & 0xf00); if (iDY & 0x800) iDY -= 4096; pat9125_y -= iDY; //negative number, because direction switching does not work @@ -179,6 +189,7 @@ int pat9125_update_y() unsigned char pat9125_rd_reg(unsigned char addr) { +// printf_P(PSTR("pat9125_rd_reg 0x%hhx "), addr); unsigned char data = 0; #ifdef PAT9125_SWSPI swspi_start(); @@ -188,6 +199,14 @@ unsigned char pat9125_rd_reg(unsigned char addr) #endif //PAT9125_SWSPI #ifdef PAT9125_SWI2C int iret = swi2c_readByte_A8(PAT9125_I2C_ADDR, addr, &data); + if (!iret) //NO ACK error + { + pat9125_PID1 = 0xff; + pat9125_PID2 = 0xff; +// printf_P(PSTR("ERR\n")); + return 0; + } +// printf_P(PSTR("0x%hhx OK\n"), data); #endif //PAT9125_SWI2C #ifdef PAT9125_HWI2C Wire.beginTransmission(PAT9125_I2C_ADDR); @@ -202,6 +221,7 @@ unsigned char pat9125_rd_reg(unsigned char addr) void pat9125_wr_reg(unsigned char addr, unsigned char data) { +// printf_P(PSTR("pat9125_wr_reg 0x%hhx 0x%hhx "), addr, data); #ifdef PAT9125_SWSPI swspi_start(); swspi_tx(addr | 0x80); @@ -210,6 +230,15 @@ void pat9125_wr_reg(unsigned char addr, unsigned char data) #endif //PAT9125_SWSPI #ifdef PAT9125_SWI2C int iret = swi2c_writeByte_A8(PAT9125_I2C_ADDR, addr, &data); + if (!iret) //NO ACK error + { + pat9125_PID1 = 0xff; + pat9125_PID2 = 0xff; +// printf_P(PSTR("ERR\n")); + return; + } +// printf_P(PSTR("OK\n")); + #endif //PAT9125_SWI2C #ifdef PAT9125_HWI2C Wire.beginTransmission(PAT9125_I2C_ADDR); diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 60e6ed079..cfffeb364 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -194,7 +194,7 @@ extern volatile uint16_t buttons; //an extended version of the last checked but LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_WIDTH, LCD_HEIGHT); // 2 wire Non-latching LCD SR from: -// https://bitbucket.org/fmalpartida/new-LiquidCrystal_Prusa/wiki/schematics#!shiftregister-connection +// https://bitbucket.org/fmalpartida/new-LiquidCrystal/wiki/schematics#!shiftregister-connection #elif defined(SR_LCD_2W_NL) extern "C" void __cxa_pure_virtual() { while (1); } From c8f1c55ec0b38c23b2df71d76249a09b50b011e3 Mon Sep 17 00:00:00 2001 From: MRprusa3d <38257799+MRprusa3d@users.noreply.github.com> Date: Wed, 11 Apr 2018 14:41:41 +0000 Subject: [PATCH 151/926] Add files via upload --- Firmware/ultralcd.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7e4a742e1..909d9ef04 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3505,8 +3505,12 @@ static void lcd_fsensor_fail() static void lcd_silent_mode_set() { switch (SilentModeMenu) { case 0: SilentModeMenu = 1; break; +#ifdef TMC2130 + case 1: SilentModeMenu = 0; break; +#else case 1: SilentModeMenu = 2; break; case 2: SilentModeMenu = 0; break; +#endif //TMC2130 default: SilentModeMenu = 0; break; } eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); From 919fba531a6d8d347c2a28e977010ce8aba63106 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Apr 2018 16:48:47 +0200 Subject: [PATCH 152/926] wait for PINDA gcode changed --- Firmware/Marlin_main.cpp | 87 ++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index dbbca14dd..f1c175885 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -232,7 +232,7 @@ // 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] // M605 - Set dual x-carriage movement mode: S [ X R ] -// M666 - Wait for PINDA thermistor to reach target temperature. +// M860 - Wait for PINDA thermistor to reach target temperature. // M900 - Set LIN_ADVANCE options, if enabled. See Configuration_adv.h for details. // M907 - Set digital trimpot motor current using axis codes. // M908 - Control digital trimpot directly. @@ -4968,48 +4968,6 @@ Sigma_Exit: #endif break; -#ifdef PINDA_THERMISTOR -case 666: // M666 - Wait for PINDA thermistor to reach target temperature. - { - int setTargetPinda = 0; - - if (code_seen('S')) { - setTargetPinda = code_value(); - } else { - break; - } - - LCD_MESSAGERPGM(MSG_PLEASE_WAIT); - - SERIAL_PROTOCOLPGM("Wait for PINDA target temperature:"); - SERIAL_PROTOCOL(setTargetPinda); - SERIAL_PROTOCOLLN(""); - - codenum = millis(); - cancel_heatup = false; - - KEEPALIVE_STATE(NOT_BUSY); - - while ( (!cancel_heatup) && current_temperature_pinda < setTargetPinda) { - if(( millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while waiting. - { - SERIAL_PROTOCOLPGM("P:"); - SERIAL_PROTOCOL_F(current_temperature_pinda,1); - SERIAL_PROTOCOLPGM("/"); - SERIAL_PROTOCOL(setTargetPinda); - SERIAL_PROTOCOLLN(""); - codenum = millis(); - } - manage_heater(); - manage_inactivity(); - lcd_update(); - } - LCD_MESSAGERPGM(MSG_OK); - - break; - } -#endif //PINDA_THERMISTOR - #if defined(FAN_PIN) && FAN_PIN > -1 case 106: //M106 Fan On if (code_seen('S')){ @@ -6264,6 +6222,49 @@ case 666: // M666 - Wait for PINDA thermistor to reach target temperature. } break; +#ifdef PINDA_THERMISTOR + case 860: // M860 - Wait for PINDA thermistor to reach target temperature. + { + int setTargetPinda = 0; + + if (code_seen('S')) { + setTargetPinda = code_value(); + } + else { + break; + } + + LCD_MESSAGERPGM(MSG_PLEASE_WAIT); + + SERIAL_PROTOCOLPGM("Wait for PINDA target temperature:"); + SERIAL_PROTOCOL(setTargetPinda); + SERIAL_PROTOCOLLN(""); + + codenum = millis(); + cancel_heatup = false; + + KEEPALIVE_STATE(NOT_BUSY); + + while ((!cancel_heatup) && current_temperature_pinda < setTargetPinda) { + if ((millis() - codenum) > 1000) //Print Temp Reading every 1 second while waiting. + { + SERIAL_PROTOCOLPGM("P:"); + SERIAL_PROTOCOL_F(current_temperature_pinda, 1); + SERIAL_PROTOCOLPGM("/"); + SERIAL_PROTOCOL(setTargetPinda); + SERIAL_PROTOCOLLN(""); + codenum = millis(); + } + manage_heater(); + manage_inactivity(); + lcd_update(); + } + LCD_MESSAGERPGM(MSG_OK); + + break; + } +#endif //PINDA_THERMISTOR + #ifdef LIN_ADVANCE case 900: // M900: Set LIN_ADVANCE options. gcode_M900(); From 89efcb84b1ee8600261641c89fabf1e12cc74b3d Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 11 Apr 2018 17:32:31 +0200 Subject: [PATCH 153/926] removed Configuration_prusa.h fixed - compilation for MK25 --- Firmware/Configuration_prusa.h | 616 --------------------------------- Firmware/Marlin_main.cpp | 4 +- 2 files changed, 2 insertions(+), 618 deletions(-) delete mode 100644 Firmware/Configuration_prusa.h diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h deleted file mode 100644 index 3f12358fc..000000000 --- a/Firmware/Configuration_prusa.h +++ /dev/null @@ -1,616 +0,0 @@ -#ifndef CONFIGURATION_PRUSA_H -#define CONFIGURATION_PRUSA_H - -/*------------------------------------ - GENERAL SETTINGS - *------------------------------------*/ - -// Printer revision -#define PRINTER_TYPE PRINTER_MK3 -#define FILAMENT_SIZE "1_75mm_MK3" -#define NOZZLE_TYPE "E3Dv6full" - -// Developer flag -#define DEVELOPER - -// Printer name -#define CUSTOM_MENDEL_NAME "Prusa i3 MK3" - -// Electronics -#define MOTHERBOARD BOARD_EINSY_1_0a -#define STEEL_SHEET -#define HAS_SECOND_SERIAL_PORT - - -// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) -//#define E3D_PT100_EXTRUDER_WITH_AMP -//#define E3D_PT100_EXTRUDER_NO_AMP -//#define E3D_PT100_BED_WITH_AMP -//#define E3D_PT100_BED_NO_AMP - - -/*------------------------------------ - AXIS SETTINGS - *------------------------------------*/ - -// Steps per unit {X,Y,Z,E} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140} -#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} -//#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,560} - -// 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. - -// Direction inverting -#define INVERT_X_DIR true // 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 true // for Mendel set to false, for Orca set to true -#define INVERT_E0_DIR false // 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 - -// Home position -#define MANUAL_X_HOME_POS 0 -#define MANUAL_Y_HOME_POS -2.2 -#define MANUAL_Z_HOME_POS 0.2 - -// Travel limits after homing -#define X_MAX_POS 255 -#define X_MIN_POS 0 -#define Y_MAX_POS 210 -#define Y_MIN_POS -4 //orig -4 -#define Z_MAX_POS 210 -#define Z_MIN_POS 0.15 - -// Canceled home position -#define X_CANCEL_POS 50 -#define Y_CANCEL_POS 190 - -//Pause print position -#define X_PAUSE_POS 50 -#define Y_PAUSE_POS 190 -#define Z_PAUSE_LIFT 20 - -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 - -#define DEFAULT_MAX_FEEDRATE {200, 200, 12, 120} // (mm/sec) max feedrate (M203) -#define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) - - -#define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204S) -#define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204T) - -#define MANUAL_FEEDRATE {2700, 2700, 1000, 100} // set the speeds for manual moves (mm/min) - -//Silent mode limits -#define SILENT_MAX_ACCEL 960 // max axxeleration in silent mode in mm/s^2 -#define SILENT_MAX_ACCEL_ST (100*SILENT_MAX_ACCEL) // max accel in steps/s^2 -#define SILENT_MAX_FEEDRATE 172 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) - -//Normal mode limits -#define NORMAL_MAX_ACCEL 2500 // Y-axis max axxeleration in normal mode in mm/s^2 -#define NORMAL_MAX_ACCEL_ST (100*NORMAL_MAX_ACCEL) // max accel in steps/s^2 -#define NORMAL_MAX_FEEDRATE 200 //max feedrate in mm/s, because mode switched to normal for homming , this value limits also homing, it should be greater (172mm/s=9600mm/min>2700mm/min) - -//#define SIMPLE_ACCEL_LIMIT //new limitation method for normal/silent - -//number of bytes from end of the file to start check -#define END_FILE_SECTION 10000 - -#define Z_AXIS_ALWAYS_ON 1 - -// Automatic recovery after crash is detected -#define AUTOMATIC_RECOVERY_AFTER_CRASH - -// New XYZ calibration -#define NEW_XYZCAL - -// Do not use Arduino SPI -#define NEW_SPI - -// Watchdog support -#define WATCHDOG - -// Power panic -#define UVLO_SUPPORT - -// Fan check -#define FANCHECK - -// Safety timer -#define SAFETYTIMER - -// Filament sensor -#define PAT9125 - - -// Disable some commands -#define _DISABLE_M42_M226 - -// Minimum ambient temperature limit to start triggering MINTEMP errors [C] -// this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, -// temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle -// the real limit is 15C (same as MINTEMP limit), this is because 15C is end of scale for both used thermistors (bed, heater) -#define MINTEMP_MINAMBIENT 25 -#define MINTEMP_MINAMBIENT_RAW 978 - -//#define DEBUG_BUILD -#ifdef DEBUG_BUILD -//#define _NO_ASM -#define DEBUG_DCODES //D codes -#define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial -//#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD -//#define DEBUG_RESUME_PRINT //Resume/save print debug enable -//#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output -//#define DEBUG_DISABLE_XMINLIMIT //x min limit ignored -//#define DEBUG_DISABLE_XMAXLIMIT //x max limit ignored -//#define DEBUG_DISABLE_YMINLIMIT //y min limit ignored -//#define DEBUG_DISABLE_YMAXLIMIT //y max limit ignored -//#define DEBUG_DISABLE_ZMINLIMIT //z min limit ignored -//#define DEBUG_DISABLE_ZMAXLIMIT //z max limit ignored -#define DEBUG_DISABLE_STARTMSGS //no startup messages -//#define DEBUG_DISABLE_MINTEMP //mintemp error ignored -//#define DEBUG_DISABLE_SWLIMITS //sw limits ignored -//#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line -//#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages -//#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest -//#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) -//#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) -//#define DEBUG_BLINK_ACTIVE -//#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) -//#define DEBUG_DISABLE_FSENSORCHECK //disable fsensor check (no ISR INT7, check disabled) -#define DEBUG_DUMP_TO_2ND_SERIAL //dump received characters to 2nd serial line -#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. -#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. -#endif /* DEBUG_BUILD */ - -//#define EXPERIMENTAL_FEATURES -#define TMC2130_LINEARITY_CORRECTION -//#define TMC2130_VARIABLE_RESOLUTION - - - -/*------------------------------------ - TMC2130 default settings - *------------------------------------*/ - -#define TMC2130_FCLK 12000000 // fclk = 12MHz - -#define TMC2130_USTEPS_XY 16 // microstep resolution for XY axes -#define TMC2130_USTEPS_Z 16 // microstep resolution for Z axis -#define TMC2130_USTEPS_E 32 // microstep resolution for E axis -#define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes -#define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis -#define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis - -#define TMC2130_PWM_GRAD_X 2 // PWMCONF -#define TMC2130_PWM_AMPL_X 230 // PWMCONF -#define TMC2130_PWM_AUTO_X 1 // PWMCONF -#define TMC2130_PWM_FREQ_X 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Y 2 // PWMCONF -#define TMC2130_PWM_AMPL_Y 235 // PWMCONF -#define TMC2130_PWM_AUTO_Y 1 // PWMCONF -#define TMC2130_PWM_FREQ_Y 2 // PWMCONF - -#define TMC2130_PWM_GRAD_E 2 // PWMCONF -#define TMC2130_PWM_AMPL_E 235 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF - -#define TMC2130_PWM_GRAD_Z 4 // PWMCONF -#define TMC2130_PWM_AMPL_Z 200 // PWMCONF -#define TMC2130_PWM_AUTO_Z 1 // PWMCONF -#define TMC2130_PWM_FREQ_Z 2 // PWMCONF - -#define TMC2130_PWM_GRAD_E 4 // PWMCONF -#define TMC2130_PWM_AMPL_E 240 // PWMCONF -#define TMC2130_PWM_AUTO_E 1 // PWMCONF -#define TMC2130_PWM_FREQ_E 2 // PWMCONF - -#define TMC2130_TOFF_XYZ 3 // CHOPCONF // fchop = 27.778kHz -#define TMC2130_TOFF_E 3 // CHOPCONF // fchop = 27.778kHz -//#define TMC2130_TOFF_E 4 // CHOPCONF // fchop = 21.429kHz -//#define TMC2130_TOFF_E 5 // CHOPCONF // fchop = 17.442kHz - -//#define TMC2130_STEALTH_E // Extruder stealthChop mode -//#define TMC2130_CNSTOFF_E // Extruder constant-off-time mode (similar to MK2) - -//#define TMC2130_PWM_DIV 683 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_DIV 512 // PWM frequency divider (1024, 683, 512, 410) -#define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV) // PWM frequency (23.4kHz, 35.1kHz, 46.9kHz, 58.5kHz for 12MHz fclk) - -#define TMC2130_TPWMTHRS 0 // TPWMTHRS - Sets the switching speed threshold based on TSTEP from stealthChop to spreadCycle mode -#define TMC2130_THIGH 0 // THIGH - unused - -//#define TMC2130_TCOOLTHRS_X 450 // TCOOLTHRS - coolstep treshold -//#define TMC2130_TCOOLTHRS_Y 450 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_X 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Y 430 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_Z 500 // TCOOLTHRS - coolstep treshold -#define TMC2130_TCOOLTHRS_E 500 // TCOOLTHRS - coolstep treshold - -#define TMC2130_SG_HOMING 1 // stallguard homing -#define TMC2130_SG_THRS_X 3 // stallguard sensitivity for X axis -#define TMC2130_SG_THRS_Y 3 // stallguard sensitivity for Y axis -#define TMC2130_SG_THRS_Z 3 // stallguard sensitivity for Z axis -#define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis - -//new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {16, 20, 28, 36} // default holding currents for all axes -#define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes -#define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor - -#define TMC2130_STEALTH_Z - -//#define TMC2130_DEBUG -//#define TMC2130_DEBUG_WR -//#define TMC2130_DEBUG_RD - - -/*------------------------------------ - EXTRUDER SETTINGS - *------------------------------------*/ - -// Mintemps -#define HEATER_0_MINTEMP 15 -#define HEATER_1_MINTEMP 5 -#define HEATER_2_MINTEMP 5 -#define BED_MINTEMP 15 - -// Maxtemps -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -#define HEATER_0_MAXTEMP 410 -#else -#define HEATER_0_MAXTEMP 305 -#endif -#define HEATER_1_MAXTEMP 305 -#define HEATER_2_MAXTEMP 305 -#define BED_MAXTEMP 125 - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else -// Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif - -// 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 F7000" - -/*------------------------------------ - 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 -#define FILAMENTCHANGE_RECFEED 5 - -#define FILAMENTCHANGE_XYFEED 50 -#define FILAMENTCHANGE_EFEED 20 -//#define FILAMENTCHANGE_RFEED 400 -#define FILAMENTCHANGE_RFEED 7000 / 60 -#define FILAMENTCHANGE_EXFEED 2 -#define FILAMENTCHANGE_ZFEED 15 - -#endif - -/*------------------------------------ - ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ - -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#endif - -// temperature runaway -#define TEMP_RUNAWAY_BED_HYSTERESIS 5 -#define TEMP_RUNAWAY_BED_TIMEOUT 360 - -#define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 -#define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 - -/*------------------------------------ - 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) -#define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} - -// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 -#define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} -#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} -#endif - -/*------------------------------------ - PAT9125 SETTINGS - *------------------------------------*/ - -#define PAT9125_XRES 0 -#define PAT9125_YRES 255 - -/*------------------------------------ - BED SETTINGS - *------------------------------------*/ - -// Define Mesh Bed Leveling system to enable it -#define MESH_BED_LEVELING -#ifdef MESH_BED_LEVELING - -#define MBL_Z_STEP 0.01 - -// Mesh definitions -#define MESH_MIN_X 35 -#define MESH_MAX_X 238 -#define MESH_MIN_Y 6 -#define MESH_MAX_Y 202 - -// Mesh upsample definition -#define MESH_NUM_X_POINTS 7 -#define MESH_NUM_Y_POINTS 7 -// Mesh measure definition -#define MESH_MEAS_NUM_X_POINTS 3 -#define MESH_MEAS_NUM_Y_POINTS 3 - -#define MESH_HOME_Z_CALIB 0.2 -#define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. - -#define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind -#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif - -// 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 - -// Bed temperature compensation settings -#define BED_OFFSET 10 -#define BED_OFFSET_START 40 -#define BED_OFFSET_CENTER 50 - - -#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) -#if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) -// Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif - -//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 - - -/*----------------------------------- - PREHEAT SETTINGS - *------------------------------------*/ - -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 40 -#define FARM_PREHEAT_FAN_SPEED 0 - -#define PLA_PREHEAT_HOTEND_TEMP 215 -#define PLA_PREHEAT_HPB_TEMP 60 -#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 230 -#define PET_PREHEAT_HPB_TEMP 85 -#define PET_PREHEAT_FAN_SPEED 0 - -#define FLEX_PREHEAT_HOTEND_TEMP 240 -#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 -// 148 is E3D Pt100 with 4k7 pullup and no PT100 Amplifier on a MiniRambo 1.3a -// 247 is Pt100 with 4k7 pullup and PT100 Amplifier -// 110 is Pt100 with 1k pullup (non standard) - -#if defined(E3D_PT100_EXTRUDER_WITH_AMP) -#define TEMP_SENSOR_0 247 -#elif defined(E3D_PT100_EXTRUDER_NO_AMP) -#define TEMP_SENSOR_0 148 -#else -#define TEMP_SENSOR_0 5 -#endif -#define TEMP_SENSOR_1 0 -#define TEMP_SENSOR_2 0 -#if defined(E3D_PT100_BED_WITH_AMP) -#define TEMP_SENSOR_BED 247 -#elif defined(E3D_PT100_BED_NO_AMP) -#define TEMP_SENSOR_BED 148 -#else -#define TEMP_SENSOR_BED 1 -#endif -#define TEMP_SENSOR_PINDA 1 -#define TEMP_SENSOR_AMBIENT 2000 - -#define STACK_GUARD_TEST_VALUE 0xA2A2 - -#define MAX_BED_TEMP_CALIBRATION 50 -#define MAX_HOTEND_TEMP_CALIBRATION 50 - -#define MAX_E_STEPS_PER_UNIT 250 -#define MIN_E_STEPS_PER_UNIT 100 - -#define Z_BABYSTEP_MIN -3999 -#define Z_BABYSTEP_MAX 0 - -#define PINDA_PREHEAT_X 20 -#define PINDA_PREHEAT_Y 60 -#define PINDA_PREHEAT_Z 0.15 -/* -#define PINDA_PREHEAT_X 70 -#define PINDA_PREHEAT_Y -3 -#define PINDA_PREHEAT_Z 1*/ -#define PINDA_HEAT_T 120 //time in s - -#define PINDA_MIN_T 50 -#define PINDA_STEP_T 10 -#define PINDA_MAX_T 100 - -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid false triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - -#define LONG_PRESS_TIME 1000 //time in ms for button long press -#define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release - -#define DEFAULT_PID_TEMP 210 - -#define MIN_PRINT_FAN_SPEED 75 - -#ifdef SNMM -#define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print -#else -#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration and pause print -#endif - -// How much shall the print head be lifted on power panic? -// Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, -// UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. -// For example, the Prusa i3 MK2 with 16 microsteps per full step has Z stepping of 400 microsteps per mm. -// At 400 microsteps per mm, a full step lifts the Z axis by 0.04mm, and a stepper driver cycle is 0.16mm. -// The following example, 12 * (4 * 16 / 400) = 12 * 0.16mm = 1.92mm. -//#define UVLO_Z_AXIS_SHIFT 1.92 -#define UVLO_Z_AXIS_SHIFT 0.64 -// If power panic occured, and the current temperature is higher then target temperature before interrupt minus this offset, print will be recovered automatically. -#define AUTOMATIC_UVLO_BED_TEMP_OFFSET 5 - -#define HEATBED_V2 - -#define M600_TIMEOUT 600 //seconds - -//#define SUPPORT_VERBOSITY - -#endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index dbbd54348..1c3f3be50 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2544,7 +2544,7 @@ void process_commands() lcd_setstatus(strchr_pointer + 5); } -//#ifdef TMC2130 +#ifdef TMC2130 else if (strncmp_P(CMDBUFFER_CURRENT_STRING, PSTR("CRASH_"), 6) == 0) { if(code_seen("CRASH_DETECTED")) @@ -2573,7 +2573,7 @@ void process_commands() tmc2130_goto_step(E_AXIS, step & (4*res - 1), 2, 1000, res); } } -//#endif //TMC2130 +#endif //TMC2130 else if(code_seen("PRUSA")){ if (code_seen("Ping")) { //PRUSA Ping From 0ba7850146df98e576b33b16f26facb0e224530c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Apr 2018 17:40:04 +0200 Subject: [PATCH 154/926] pinda temp table changed back --- Firmware/Marlin_main.cpp | 69 ++++++++++++++++++++++++++++++++++++++++ Firmware/temperature.cpp | 2 +- 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f1c175885..0c3736ba7 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -233,6 +233,7 @@ // M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] // M605 - Set dual x-carriage movement mode: S [ X R ] // M860 - Wait for PINDA thermistor to reach target temperature. +// M861 - Set / Read PINDA temperature compensation offsets // M900 - Set LIN_ADVANCE options, if enabled. See Configuration_adv.h for details. // M907 - Set digital trimpot motor current using axis codes. // M908 - Control digital trimpot directly. @@ -6263,6 +6264,74 @@ Sigma_Exit: break; } + case 861: // M861 - Set/Read PINDA temperature compensation offsets + if (code_seen('?')) { // ? - Print out current EEPRO offset values + uint8_t cal_status = calibration_status_pinda(); + cal_status ? SERIAL_PROTOCOLLN("PINDA cal status: 1") : SERIAL_PROTOCOLLN("PINDA cal status: 0"); + SERIAL_PROTOCOLLN("index, temp, ustep, um"); + for (uint8_t i = 0; i < 6; i++) + { + uint16_t usteps = 0; + if (i > 0) usteps = eeprom_read_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + (i - 1)); + float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; + i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(35 + (i * 5)); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(usteps); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(mm * 1000); + SERIAL_PROTOCOLLN(""); + } + } + else if (code_seen('!')) { // ! - Set factory default values + eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 8); //40C - 20um - 8usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 24); //45C - 60um - 24usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 48); //50C - 120um - 48usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 80); //55C - 200um - 80usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 120); //60C - 300um - 120usteps + SERIAL_PROTOCOLLN("factory restored"); + } + else if (code_seen('Z')) { // Z - Set all values to 0 (effectively disabling PINDA temperature compensation) + eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 0); + SERIAL_PROTOCOLLN("zerorized"); + } + else if (code_seen('S')) { // Sxxx Iyyy - Set compensation ustep value S for compensation table index I + uint16_t usteps = code_value(); + if (code_seen('I')) { + byte index = code_value(); + if ((index >= 0) && (index < 5)) { + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + index, usteps); + SERIAL_PROTOCOLLN("OK"); + SERIAL_PROTOCOLLN("index, temp, ustep, um"); + for (uint8_t i = 0; i < 6; i++) + { + uint16_t usteps = 0; + if (i > 0) usteps = eeprom_read_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + (i - 1)); + float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; + i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(35 + (i * 5)); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(usteps); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(mm * 1000); + SERIAL_PROTOCOLLN(""); + } + } + } + } + else { + SERIAL_PROTOCOLPGM("no valid command"); + } + break; + #endif //PINDA_THERMISTOR #ifdef LIN_ADVANCE diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index aff973039..50d47db17 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -985,7 +985,7 @@ static void updateTemperaturesFromRawValues() } #ifdef PINDA_THERMISTOR - current_temperature_pinda = analog2tempPINDA(current_temperature_raw_pinda); + current_temperature_pinda = analog2tempBed(current_temperature_raw_pinda); #endif #ifdef AMBIENT_THERMISTOR From 47eab97d2da08e41a562c4913a436a9759ede6e0 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Apr 2018 18:16:16 +0200 Subject: [PATCH 155/926] temp. calibration is automaticly activated after calibration process --- Firmware/Marlin_main.cpp | 5 +++++ Firmware/language_all.cpp | 4 ++-- Firmware/language_cz.h | 2 +- Firmware/language_en.h | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 0c3736ba7..715b9b4ec 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3556,6 +3556,9 @@ void process_commands() setTargetBed(0); //set bed target temperature back to 0 // setTargetHotend(0,0); //set hotend target temperature back to 0 lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CALIBRATION_DONE); + temp_cal_active = true; + eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, 1); + lcd_update_enable(true); lcd_update(2); break; @@ -3669,6 +3672,8 @@ void process_commands() disable_e2(); setTargetBed(0); //set bed target temperature back to 0 lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CALIBRATION_DONE); + temp_cal_active = true; + eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, 1); lcd_update_enable(true); lcd_update(2); diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index ea499cf50..713a81d2c 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -2197,8 +2197,8 @@ const char * const MSG_TEMP_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_TEMP_CALIBRATION_CZ }; -const char MSG_TEMP_CALIBRATION_DONE_EN[] PROGMEM = "Temperature calibration is finished. Click to continue."; -const char MSG_TEMP_CALIBRATION_DONE_CZ[] PROGMEM = "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka."; +const char MSG_TEMP_CALIBRATION_DONE_EN[] PROGMEM = "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."; +const char MSG_TEMP_CALIBRATION_DONE_CZ[] PROGMEM = "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal."; const char * const MSG_TEMP_CALIBRATION_DONE_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_TEMP_CALIBRATION_DONE_EN, MSG_TEMP_CALIBRATION_DONE_CZ diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index a332770a7..0ce9233d6 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -303,7 +303,7 @@ #define MSG_PINDA_NOT_CALIBRATED "Tiskarna nebyla teplotne zkalibrovana" #define MSG_PINDA_PREHEAT "Nahrivani PINDA" #define MSG_TEMP_CALIBRATION "Tepl. kal. " -#define MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka." +#define MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal." #define MSG_TEMP_CALIBRATION_ON "Tepl. kal. [zap]" #define MSG_TEMP_CALIBRATION_OFF "Tepl. kal. [vyp]" #define MSG_PREPARE_FILAMENT "Pripravte filament" diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 661aaf8c5..88510854e 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -303,7 +303,7 @@ #define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "Temperature calibration has not been run yet" #define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating" #define(length=20, lines=1) MSG_TEMP_CALIBRATION "Temp. cal. " -#define(length=20, lines=4) MSG_TEMP_CALIBRATION_DONE "Temperature calibration is finished. Click to continue." +#define(length=20, lines=12) MSG_TEMP_CALIBRATION_DONE "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal." #define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "Temp. cal. [on]" #define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF "Temp. cal. [off]" #define(length=20, lines=1) MSG_PREPARE_FILAMENT "Prepare new filament" From 52de4891fe775ba2f94b84801a8ca4f18c39bdf6 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Apr 2018 18:32:27 +0200 Subject: [PATCH 156/926] typo fixed --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7e4a742e1..4b4cb7ccd 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1834,9 +1834,9 @@ static void lcd_support_menu() MENU_ITEM(submenu, MSG_MENU_TEMPERATURES, lcd_menu_temperatures); -#if defined (VOLT_BED_PIN) || defined (VOLT_BED_PIN) +#if defined (VOLT_BED_PIN) || defined (VOLT_PWR_PIN) MENU_ITEM(submenu, MSG_MENU_VOLTAGES, lcd_menu_voltages); -#endif //defined VOLT_BED_PIN || defined VOLT_BED_PIN +#endif //defined VOLT_BED_PIN || defined VOLT_PWR_PIN #ifdef DEBUG_BUILD MENU_ITEM(submenu, PSTR("Debug"), lcd_menu_debug); From ce666993401b14370577648e1ac7511da40432e0 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Apr 2018 18:36:38 +0200 Subject: [PATCH 157/926] dont use default temp table for new printers and dont automaticly activate temp. cal. (new pinda probes have different characteristics) --- Firmware/Marlin_main.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 715b9b4ec..c254dcbbf 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1270,13 +1270,13 @@ void setup() if (eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA) == 255) { //eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 8); //40C - 20um - 8usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 24); //45C - 60um - 24usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 48); //50C - 120um - 48usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 80); //55C - 200um - 80usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 120); //60C - 300um - 120usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 0); //40C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 0); //45C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 0); //50C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 0); //55C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 0); //60C - eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 1); + eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 0); temp_cal_active = true; } if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 255) { From 45d1dbbfe0a0c10ce999e6a95eb8567abf6e142d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Apr 2018 18:37:07 +0200 Subject: [PATCH 158/926] temp cal. active set to false --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c254dcbbf..d1c145ed8 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1277,7 +1277,7 @@ void setup() eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 0); //60C eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 0); - temp_cal_active = true; + temp_cal_active = false; } if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 255) { eeprom_write_byte((uint8_t*)EEPROM_UVLO, 0); From 78245ce566862b79a64855fd4c41d94db3cfa5ee Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 11 Apr 2018 18:54:27 +0200 Subject: [PATCH 159/926] farm preheat temperature for heatbed --- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 3f12358fc..9d302af7b 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -465,7 +465,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o *------------------------------------*/ #define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 40 +#define FARM_PREHEAT_HPB_TEMP 60 #define FARM_PREHEAT_FAN_SPEED 0 #define PLA_PREHEAT_HOTEND_TEMP 215 From d09f190c2b9948e79247a2489e1bd7904e0a59d8 Mon Sep 17 00:00:00 2001 From: MRprusa3d <38257799+MRprusa3d@users.noreply.github.com> Date: Wed, 11 Apr 2018 18:48:50 +0000 Subject: [PATCH 160/926] Add files via upload --- Firmware/ultralcd.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 909d9ef04..7b0270cf9 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3483,8 +3483,11 @@ static void lcd_crash_mode_info2() } if (lcd_clicked()) { - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 16); - else lcd_goto_menu(lcd_settings_menu, 14, true, true); +//-// if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 16); + if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) menu_action_back(); +//-// else lcd_goto_menu(lcd_settings_menu, 14, true, true); +//-// else lcd_goto_menu(lcd_settings_menu, 7, true, true); + else menu_action_back(); } } #endif //TMC2130 @@ -3533,7 +3536,8 @@ static void lcd_silent_mode_set() { st_current_init(); #ifdef TMC2130 if (CrashDetectMenu && SilentModeMenu) - lcd_goto_menu(lcd_crash_mode_info2); +//-// lcd_goto_menu(lcd_crash_mode_info2); + menu_action_submenu(lcd_crash_mode_info2); #endif //TMC2130 } @@ -5705,13 +5709,18 @@ static void lcd_autostart_sd() static void lcd_silent_mode_set_tune() { switch (SilentModeMenu) { case 0: SilentModeMenu = 1; break; +#ifdef TMC2130 + case 1: SilentModeMenu = 0; break; +#else case 1: SilentModeMenu = 2; break; case 2: SilentModeMenu = 0; break; +#endif //TMC2130 default: SilentModeMenu = 0; break; } eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); st_current_init(); - lcd_goto_menu(lcd_tune_menu, 9); +//-// lcd_goto_menu(lcd_tune_menu, 9); + menu_action_back(); } static void lcd_colorprint_change() { From 591cb881cc24e99bcc715bb822686ddf3b5f66d2 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 12 Apr 2018 18:24:30 +0200 Subject: [PATCH 161/926] selftest: false fan error fix, added message in case that manual fan error fails --- Firmware/ultralcd.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index ad69f6275..a56d5a1c4 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6167,6 +6167,11 @@ bool lcd_selftest() _result = lcd_selftest_fan_dialog(0); #else //defined(TACH_0) _result = lcd_selftest_manual_fan_check(0, false); + if (!_result) + { + const char *_err; + lcd_selftest_error(7, _err, _err); //extruder fan not spinning + } #endif //defined(TACH_0) @@ -6177,6 +6182,12 @@ bool lcd_selftest() _result = lcd_selftest_fan_dialog(1); #else //defined(TACH_1) _result = lcd_selftest_manual_fan_check(1, false); + if (!_result) + { + const char *_err; + lcd_selftest_error(6, _err, _err); //print fan not spinning + } + #endif //defined(TACH_1) } @@ -6883,6 +6894,8 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) int8_t enc_dif = 0; KEEPALIVE_STATE(PAUSED_FOR_USER); + + button_pressed = false; do { switch (_fan) From 08740356b8003c40a9565b8507fa56698109152a Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 12 Apr 2018 18:41:11 +0200 Subject: [PATCH 162/926] Move "PRUSA SN" gcode to separate function. --- Firmware/Marlin_main.cpp | 60 ++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 5d0bcb3a7..c9c487f07 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2506,6 +2506,38 @@ void gcode_M701() #endif } +/** + * @brief Get serial number from 32U2 processor + */ +static void gcode_PRUSA_SN() +{ + if (farm_mode) { + selectedSerialPort = 0; + MSerial.write(";S"); + // S/N is:CZPX0917X003XC13518 + int numbersRead = 0; + + while (numbersRead < 19) { + while (MSerial.available() > 0) { + uint8_t serial_char = MSerial.read(); + selectedSerialPort = 1; + MSerial.write(serial_char); + numbersRead++; + selectedSerialPort = 0; + } + } + selectedSerialPort = 1; + MSerial.write('\n'); + /*for (int b = 0; b < 3; b++) { + tone(BEEPER, 110); + delay(50); + noTone(BEEPER); + delay(50); + }*/ + } else { + MYSERIAL.println("Not in farm mode."); + } +} void process_commands() { @@ -2625,33 +2657,7 @@ void process_commands() prusa_sd_card_upload = true; card.openFile(strchr_pointer+4,false); } else if (code_seen("SN")) { - if (farm_mode) { - selectedSerialPort = 0; - MSerial.write(";S"); - // S/N is:CZPX0917X003XC13518 - int numbersRead = 0; - - while (numbersRead < 19) { - while (MSerial.available() > 0) { - uint8_t serial_char = MSerial.read(); - selectedSerialPort = 1; - MSerial.write(serial_char); - numbersRead++; - selectedSerialPort = 0; - } - } - selectedSerialPort = 1; - MSerial.write('\n'); - /*for (int b = 0; b < 3; b++) { - tone(BEEPER, 110); - delay(50); - noTone(BEEPER); - delay(50); - }*/ - } else { - MYSERIAL.println("Not in farm mode."); - } - + gcode_PRUSA_SN(); } else if(code_seen("Fir")){ SERIAL_PROTOCOLLN(FW_VERSION); From 388d6eea36a409a156a83e0b02388c79534bdd60 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 12 Apr 2018 18:44:33 +0200 Subject: [PATCH 163/926] Fix printer resets in farm mode if command "PRUSA SN" is received and 32U2 processor is not responding. --- Firmware/Marlin_main.cpp | 64 ++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 25 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c9c487f07..d4b2b9859 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2508,35 +2508,49 @@ void gcode_M701() } /** * @brief Get serial number from 32U2 processor + * + * Typical format of S/N is:CZPX0917X003XC13518 + * + * Command operates only in farm mode, if not in farm mode, "Not in farm mode." is written to MYSERIAL. + * + * Send command ;S to serial port 0 to retrieve serial number stored in 32U2 processor, + * reply is transmitted to serial port 1 character by character. + * Operation takes typically 23 ms. If the retransmit is not finished until 100 ms, + * it is interrupted, so less, or no characters are retransmitted, only newline character is send + * in any case. */ static void gcode_PRUSA_SN() { - if (farm_mode) { - selectedSerialPort = 0; - MSerial.write(";S"); - // S/N is:CZPX0917X003XC13518 - int numbersRead = 0; + if (farm_mode) { + selectedSerialPort = 0; + MSerial.write(";S"); + int numbersRead = 0; + Timer timeout; + timeout.start(); - while (numbersRead < 19) { - while (MSerial.available() > 0) { - uint8_t serial_char = MSerial.read(); - selectedSerialPort = 1; - MSerial.write(serial_char); - numbersRead++; - selectedSerialPort = 0; - } - } - selectedSerialPort = 1; - MSerial.write('\n'); - /*for (int b = 0; b < 3; b++) { - tone(BEEPER, 110); - delay(50); - noTone(BEEPER); - delay(50); - }*/ - } else { - MYSERIAL.println("Not in farm mode."); - } + while (numbersRead < 19) { + while (MSerial.available() > 0) { + uint8_t serial_char = MSerial.read(); + selectedSerialPort = 1; + MSerial.write(serial_char); + numbersRead++; + selectedSerialPort = 0; + } + if (timeout.expired(100)) break; + } + selectedSerialPort = 1; + MSerial.write('\n'); +#if 0 + for (int b = 0; b < 3; b++) { + tone(BEEPER, 110); + delay(50); + noTone(BEEPER); + delay(50); + } +#endif + } else { + MYSERIAL.println("Not in farm mode."); + } } void process_commands() From f3209e1aec35191f709db9e4148673ac44985aa7 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 13 Apr 2018 10:27:55 +0200 Subject: [PATCH 164/926] fixed possible feedmultiply change cause by entering main menu with negative encoder position --- Firmware/MenuStack.cpp | 2 +- Firmware/MenuStack.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/MenuStack.cpp b/Firmware/MenuStack.cpp index 5e17a7d92..94d745431 100644 --- a/Firmware/MenuStack.cpp +++ b/Firmware/MenuStack.cpp @@ -9,7 +9,7 @@ * @param menu * @param position selected position in menu being pushed */ -void MenuStack::push(menuFunc_t menu, uint8_t position) +void MenuStack::push(menuFunc_t menu, int8_t position) { if (m_index >= max_depth) return; m_stack[m_index].menu = menu; diff --git a/Firmware/MenuStack.h b/Firmware/MenuStack.h index 04754449c..ef3205432 100644 --- a/Firmware/MenuStack.h +++ b/Firmware/MenuStack.h @@ -19,10 +19,10 @@ public: struct Record { menuFunc_t menu; - uint8_t position; + int8_t position; }; MenuStack():m_stack(),m_index(0) {} - void push(menuFunc_t menu, uint8_t position); + void push(menuFunc_t menu, int8_t position); Record pop(); void reset(){m_index = 0;} private: From 03d03aeac4f7ae1898902a253331c599bb08b339 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Fri, 13 Apr 2018 16:51:47 +0200 Subject: [PATCH 165/926] Return to main menu from filament unloading. --- Firmware/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 68392dfda..ce63b0b66 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1877,7 +1877,7 @@ void lcd_unLoadFilament() lcd_implementation_clear(); } - lcd_return_to_status(); + menu_action_back(); } void lcd_change_filament() { @@ -5635,7 +5635,7 @@ static void lcd_main_menu() else #endif //PAT9125 MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament); - MENU_ITEM(function, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament); + MENU_ITEM(submenu, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament); #endif #ifdef SNMM MENU_ITEM(submenu, MSG_LOAD_FILAMENT, fil_load_menu); From 6f985d23d65fa0091fa3aa3ea18826610e04b391 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Fri, 13 Apr 2018 17:20:30 +0200 Subject: [PATCH 166/926] Fix returning from Fail stats menu. --- Firmware/ultralcd.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 68392dfda..cb066e5b4 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1595,8 +1595,7 @@ static void lcd_menu_fails_stats_total() if (lcd_clicked()) { lcd_quick_feedback(); - //lcd_return_to_status(); - lcd_goto_menu(lcd_menu_fails_stats, 4); + menu_action_back(); } } @@ -1616,8 +1615,7 @@ static void lcd_menu_fails_stats_print() if (lcd_clicked()) { lcd_quick_feedback(); - //lcd_return_to_status(); - lcd_goto_menu(lcd_menu_fails_stats, 2); + menu_action_back(); } } /** From c88f0108af00c73bd5e325c887b1b4d110367996 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Fri, 13 Apr 2018 19:30:08 +0200 Subject: [PATCH 167/926] Fix safety timer. Constant parameter greater than 16 bits must by stated as unsigned long. --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 091175421..48182e104 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -7102,7 +7102,7 @@ static void handleSafetyTimer() { safetyTimer.start(); } - else if (safetyTimer.expired(15*60*1000)) + else if (safetyTimer.expired(900000ul)) { setTargetBed(0); setTargetHotend(0, 0); From af6c1f8acb5f673df91570f6e49e14614fb10429 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Fri, 13 Apr 2018 19:53:51 +0200 Subject: [PATCH 168/926] Update version. --- Firmware/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 0a898b8b0..fedb4f2a8 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,8 +7,8 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.2.0-alpha" -#define FW_COMMIT_NR 370 +#define FW_VERSION "3.2.0-RC1" +#define FW_COMMIT_NR 461 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. #define FW_DEV_VERSION FW_VERSION_UNKNOWN From 5791d9f0d8d9aead6f9e696259c8529cf5627c31 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 18 Apr 2018 14:11:42 +0200 Subject: [PATCH 169/926] EEPROM address conflict fix; forcing selftest can happen only in case that we have TMC2130 drivers --- Firmware/Configuration.h | 8 +++----- Firmware/Marlin_main.cpp | 9 +++++---- Firmware/util.cpp | 4 ++++ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index fedb4f2a8..34d526f93 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -7,7 +7,7 @@ #define STR(x) STR_HELPER(x) // Firmware version -#define FW_VERSION "3.2.0-RC1" +#define FW_VERSION "3.2.0-RC2" #define FW_COMMIT_NR 461 // FW_VERSION_UNKNOWN means this is an unofficial build. // The firmware should only be checked into github with this symbol. @@ -132,10 +132,6 @@ // Power loss errors (total) #define EEPROM_POWER_COUNT_TOT (EEPROM_FERROR_COUNT_TOT - 2) // uint16 -#define EEPROM_PRINTER_TYPE (EEPROM_POWER_COUNT_TOT - 2) // uint16 -#define EEPROM_BOARD_TYPE (EEPROM_PRINTER_TYPE - 2) // uint16 - - //////////////////////////////////////// // TMC2130 Accurate sensorless homing @@ -174,6 +170,8 @@ #define EEPROM_TMC2130_Z_MRES (EEPROM_TMC2130_Y_MRES - 1) // uint8 #define EEPROM_TMC2130_E_MRES (EEPROM_TMC2130_Z_MRES - 1) // uint8 +#define EEPROM_PRINTER_TYPE (EEPROM_TMC2130_E_MRES - 2) // uint16 +#define EEPROM_BOARD_TYPE (EEPROM_PRINTER_TYPE - 2) // uint16 //TMC2130 configuration #define EEPROM_TMC_AXIS_SIZE //axis configuration block size diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 48182e104..b16c81d2f 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1336,7 +1336,8 @@ void setup() } if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 0) { //dont show calibration status messages if wizard is currently active if (calibration_status() == CALIBRATION_STATUS_ASSEMBLED || - calibration_status() == CALIBRATION_STATUS_UNKNOWN) { + calibration_status() == CALIBRATION_STATUS_UNKNOWN || + calibration_status() == CALIBRATION_STATUS_XYZ_CALIBRATION) { // Reset the babystepping values, so the printer will not move the Z axis up when the babystepping is enabled. eeprom_update_word((uint16_t*)EEPROM_BABYSTEP_Z, 0); // Show the message. @@ -1357,13 +1358,13 @@ void setup() } } -#ifndef DEBUG_DISABLE_FORCE_SELFTEST - if (force_selftest_if_fw_version() && calibration_status() < CALIBRATION_STATUS_ASSEMBLED ) { +#if !defined (DEBUG_DISABLE_FORCE_SELFTEST) && defined (TMC2130) + if (force_selftest_if_fw_version() && calibration_status() < CALIBRATION_STATUS_ASSEMBLED) { lcd_show_fullscreen_message_and_wait_P(MSG_FORCE_SELFTEST); update_current_firmware_version_to_eeprom(); lcd_selftest(); } -#endif //DEBUG_DISABLE_FORCE_SELFTEST +#endif //TMC2130 && !DEBUG_DISABLE_FORCE_SELFTEST KEEPALIVE_STATE(IN_PROCESS); #endif //DEBUG_DISABLE_STARTMSGS diff --git a/Firmware/util.cpp b/Firmware/util.cpp index 8aea54ab2..ce0421a52 100644 --- a/Firmware/util.cpp +++ b/Firmware/util.cpp @@ -260,6 +260,10 @@ bool force_selftest_if_fw_version() else if (ver_with_calibration[i] < ver_eeprom[i]) break; } + + //force selftest also in case that version used before flashing new firmware was 3.2.0-RC1 + if ((ver_eeprom[0] == 3) && (ver_eeprom[1] == 2) && (ver_eeprom[2] == 0) && (ver_eeprom[3] == 3)) force_selftest = true; + return force_selftest; } From 31ae097dba53eca01cb5e07cdb7650486d460aa2 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 18 Apr 2018 17:09:12 +0200 Subject: [PATCH 170/926] mesh bed leveling / auto home Y coordinates updated --- Firmware/mesh_bed_calibration.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 360ba1814..9b2dd2fba 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -20,7 +20,7 @@ float world2machine_shift[2]; #define WEIGHT_FIRST_ROW_Y_LOW (0.0f) #define BED_ZERO_REF_X (- 22.f + X_PROBE_OFFSET_FROM_EXTRUDER) // -22 + 23 = 1 -#define BED_ZERO_REF_Y (- 0.6f + Y_PROBE_OFFSET_FROM_EXTRUDER) // -0.6 + 5 = 4.4 +#define BED_ZERO_REF_Y (- 0.6f + Y_PROBE_OFFSET_FROM_EXTRUDER + 4.f) // -0.6 + 5 + 4 = 8.4 // Scaling of the real machine axes against the programmed dimensions in the firmware. // The correction is tiny, here around 0.5mm on 250mm length. @@ -56,10 +56,10 @@ const float bed_skew_angle_extreme = (0.25f * M_PI / 180.f); // Positions of the bed reference points in the machine coordinates, referenced to the P.I.N.D.A sensor. // The points are the following: center front, center right, center rear, center left. const float bed_ref_points_4[] PROGMEM = { - 13.f - BED_ZERO_REF_X, 10.4f - 4.f - BED_ZERO_REF_Y, - 221.f - BED_ZERO_REF_X, 10.4f - 4.f - BED_ZERO_REF_Y, - 221.f - BED_ZERO_REF_X, 202.4f - 4.f - BED_ZERO_REF_Y, - 13.f - BED_ZERO_REF_X, 202.4f - 4.f - BED_ZERO_REF_Y + 13.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, + 221.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, + 221.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y, + 13.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y }; const float bed_ref_points[] PROGMEM = { From 043c8c66be1cb269f58ed432f915fe9208421b9f Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 19 Apr 2018 16:55:00 +0200 Subject: [PATCH 171/926] waiting for pinda probe cooling --- Firmware/Marlin_main.cpp | 4 ++++ Firmware/language_all.cpp | 7 +++++++ Firmware/language_all.h | 2 ++ Firmware/language_cz.h | 1 + Firmware/language_en.h | 1 + Firmware/ultralcd.cpp | 19 +++++++++++++++++++ Firmware/ultralcd.h | 1 + 7 files changed, 35 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 48182e104..c3e561cb7 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3459,6 +3459,10 @@ void process_commands() st_synchronize(); lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); } + if ((current_temperature_pinda > 35) && (farm_mode == false)) { + //waiting for PIDNA probe to cool down in case that we are not in farm mode + lcd_wait_for_pinda(35); + } lcd_update_enable(true); KEEPALIVE_STATE(NOT_BUSY); //no need to print busy messages as we print current temperatures periodicaly SERIAL_ECHOLNPGM("PINDA probe calibration start"); diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 713a81d2c..98ee8ec62 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -2354,6 +2354,13 @@ const char * const MSG_WAITING_TEMP_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_WAITING_TEMP_CZ }; +const char MSG_WAITING_TEMP_PINDA_EN[] PROGMEM = "Waiting for PINDA probe cooling"; +const char MSG_WAITING_TEMP_PINDA_CZ[] PROGMEM = "Cekani na zchladnuti PINDA"; +const char * const MSG_WAITING_TEMP_PINDA_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_WAITING_TEMP_PINDA_EN, + MSG_WAITING_TEMP_PINDA_CZ +}; + const char MSG_WATCH_EN[] PROGMEM = "Info screen"; const char MSG_WATCH_CZ[] PROGMEM = "Informace"; const char * const MSG_WATCH_LANG_TABLE[LANG_NUM] PROGMEM = { diff --git a/Firmware/language_all.h b/Firmware/language_all.h index 1b82353b9..ae8278732 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -770,6 +770,8 @@ extern const char* const MSG_VTRAV_MIN_LANG_TABLE[1]; #define MSG_VTRAV_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_VTRAV_MIN_LANG_TABLE, 0) extern const char* const MSG_WAITING_TEMP_LANG_TABLE[LANG_NUM]; #define MSG_WAITING_TEMP LANG_TABLE_SELECT(MSG_WAITING_TEMP_LANG_TABLE) +extern const char* const MSG_WAITING_TEMP_PINDA_LANG_TABLE[LANG_NUM]; +#define MSG_WAITING_TEMP_PINDA LANG_TABLE_SELECT(MSG_WAITING_TEMP_PINDA_LANG_TABLE) extern const char* const MSG_WATCH_LANG_TABLE[LANG_NUM]; #define MSG_WATCH LANG_TABLE_SELECT(MSG_WATCH_LANG_TABLE) extern const char* const MSG_WATCHDOG_RESET_LANG_TABLE[1]; diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index 0ce9233d6..f7eb4f1b5 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -414,3 +414,4 @@ #define MSG_CHANGED_MOTHERBOARD "Varovani: doslo ke zmene typu motherboardu." #define MSG_CHANGED_PRINTER "Varovani: doslo ke zmene typu tiskarny." #define MSG_CHANGED_BOTH "Varovani: doslo ke zmene typu tiskarny a motherboardu." +#define MSG_WAITING_TEMP_PINDA "Cekani na zchladnuti PINDA" diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 88510854e..4cb5b20c4 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -422,3 +422,4 @@ #define(length=20, lines=4) MSG_CHANGED_MOTHERBOARD "Warning: motherboard type changed." #define(length=20, lines=4) MSG_CHANGED_PRINTER "Warning: printer type changed." #define(length=20, lines=4) MSG_CHANGED_BOTH "Warning: both printer type and motherboard type changed." +#define(length=20, lines=3) MSG_WAITING_TEMP_PINDA "Waiting for PINDA probe cooling" \ No newline at end of file diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index e5d692279..5996272b3 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2600,6 +2600,25 @@ void lcd_adjust_z() { } +void lcd_wait_for_pinda(uint8_t temp) { + lcd_set_custom_characters_degree(); + setTargetHotend(0, 0); + setTargetBed(0); + while (current_temperature_pinda > temp){ + lcd_display_message_fullscreen_P(MSG_WAITING_TEMP_PINDA); + + lcd.setCursor(0, 4); + lcd.print(LCD_STR_THERMOMETER[0]); + lcd.print(ftostr3(current_temperature_pinda)); + lcd.print("/35"); + lcd.print(LCD_STR_DEGREE); + delay_keep_alive(1000); + serialecho_temperatures(); + } + lcd_set_custom_characters_arrows(); + lcd_update_enable(true); +} + void lcd_wait_for_heater() { lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 6e20dc800..c53ac8b93 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -267,6 +267,7 @@ void lcd_farm_sdcard_menu_w(); void lcd_wait_for_heater(); void lcd_wait_for_cool_down(); +void lcd_wait_for_pinda(uint8_t temp); void adjust_bed_reset(); void lcd_extr_cal_reset(); From 65aa62ebabf5b21e32906f6656af2c6219badb05 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Fri, 20 Apr 2018 13:17:18 +0200 Subject: [PATCH 172/926] XYZ cal fix (better histogram processing) --- Firmware/xyzcal.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 4e4309b38..b8739640f 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -384,8 +384,12 @@ void xyzcal_adjust_pixels(uint8_t* pixels, uint16_t* histo) for (l = 14; l > 8; l--) if (histo[l] >= 10) break; - uint8_t pix_min = (max_l << 4) / 2; + uint8_t pix_min = 0; uint8_t pix_max = l << 4; + if (histo[0] < (32*32 - 144)) + { + pix_min = (max_l << 4) / 2; + } uint8_t pix_dif = pix_max - pix_min; DBG(_n(" min=%d max=%d dif=%d\n"), pix_min, pix_max, pix_dif); for (int16_t i = 0; i < 32*32; i++) From 82b31e8552babb5cbe70af58b05cbb96252812d9 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Fri, 20 Apr 2018 15:01:11 +0200 Subject: [PATCH 173/926] Set [0;0] point offset for uncalibrated printer. --- Firmware/mesh_bed_calibration.cpp | 4 ++++ Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 9b2dd2fba..5a9bf4eed 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -707,7 +707,11 @@ void world2machine_reset() { const float vx[] = { 1.f, 0.f }; const float vy[] = { 0.f, 1.f }; +#ifdef DEFAULT_Y_OFFSET + const float cntr[] = { 0.f, DEFAULT_Y_OFFSET }; +#else const float cntr[] = { 0.f, 0.f }; +#endif world2machine_update(vx, vy, cntr); } diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 9d302af7b..0a75c34a4 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -76,6 +76,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 +#define DEFAULT_Y_OFFSET 2.5f // Offset of [0;0] point, when the printer is not calibrated + #define DEFAULT_MAX_FEEDRATE {200, 200, 12, 120} // (mm/sec) max feedrate (M203) #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) From 864284f043b724a9f77abb7cae17add43ffa6dec Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Mon, 23 Apr 2018 20:17:45 +0200 Subject: [PATCH 174/926] New current setting for MK3 X, Y: no change Z: +26.1% E: -28.5% --- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 9d302af7b..67174ea4c 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -242,8 +242,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis //new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only) -#define TMC2130_CURRENTS_H {16, 20, 28, 36} // default holding currents for all axes -#define TMC2130_CURRENTS_R {16, 20, 28, 36} // default running currents for all axes +#define TMC2130_CURRENTS_H {16, 20, 35, 26} // default holding currents for all axes +#define TMC2130_CURRENTS_R {16, 20, 35, 26} // default running currents for all axes #define TMC2130_UNLOAD_CURRENT_R 12 // lowe current for M600 to protect filament sensor #define TMC2130_STEALTH_Z From cccd8246abd42d790012ce3b0f7287317378b1cd Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 23 Apr 2018 20:15:33 +0200 Subject: [PATCH 175/926] Fix world2machine(const float &x, const float &y, float &out_x, float &out_y) not using input parameters if only WORLD2MACHINE_CORRECTION_SHIFT is applied. --- Firmware/Marlin_main.cpp | 11 +++++++++++ Firmware/mesh_bed_calibration.h | 27 +++++++-------------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 48182e104..585c25573 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3107,7 +3107,18 @@ void process_commands() feedrate = homing_feedrate[Z_AXIS]/10; current_position[Z_AXIS] = 0; enable_endstops(false); +#ifdef DEBUG_BUILD + SERIAL_ECHOLNPGM("plan_set_position()"); + MYSERIAL.println(current_position[X_AXIS]);MYSERIAL.println(current_position[Y_AXIS]); + MYSERIAL.println(current_position[Z_AXIS]);MYSERIAL.println(current_position[E_AXIS]); +#endif plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); +#ifdef DEBUG_BUILD + SERIAL_ECHOLNPGM("plan_buffer_line()"); + MYSERIAL.println(destination[X_AXIS]);MYSERIAL.println(destination[Y_AXIS]); + MYSERIAL.println(destination[Z_AXIS]);MYSERIAL.println(destination[E_AXIS]); + MYSERIAL.println(feedrate);MYSERIAL.println(active_extruder); +#endif 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]; diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 5dd2202e1..349397a91 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -37,26 +37,6 @@ extern void world2machine_initialize(); // to current_position[x,y]. extern void world2machine_update_current(); -inline void world2machine(const float &x, const float &y, float &out_x, float &out_y) -{ - if (world2machine_correction_mode == WORLD2MACHINE_CORRECTION_NONE) { - // No correction. - out_x = x; - out_y = y; - } else { - if (world2machine_correction_mode & WORLD2MACHINE_CORRECTION_SKEW) { - // Firs the skew & rotation correction. - out_x = world2machine_rotation_and_skew[0][0] * x + world2machine_rotation_and_skew[0][1] * y; - out_y = world2machine_rotation_and_skew[1][0] * x + world2machine_rotation_and_skew[1][1] * y; - } - if (world2machine_correction_mode & WORLD2MACHINE_CORRECTION_SHIFT) { - // Then add the offset. - out_x += world2machine_shift[0]; - out_y += world2machine_shift[1]; - } - } -} - inline void world2machine(float &x, float &y) { if (world2machine_correction_mode == WORLD2MACHINE_CORRECTION_NONE) { @@ -77,6 +57,13 @@ inline void world2machine(float &x, float &y) } } +inline void world2machine(const float &x, const float &y, float &out_x, float &out_y) +{ + out_x = x; + out_y = y; + world2machine(out_x, out_y); +} + inline void machine2world(float x, float y, float &out_x, float &out_y) { if (world2machine_correction_mode == WORLD2MACHINE_CORRECTION_NONE) { From 9bd4d580d72e964efff7273408e72dbf0df1d9e3 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 23 Apr 2018 20:27:35 +0200 Subject: [PATCH 176/926] Use right calibration point. This change is only formal, as both original and new point have same coordinates. --- Firmware/Marlin_main.cpp | 2 +- Firmware/mesh_bed_calibration.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 585c25573..7e2ed58de 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3099,7 +3099,7 @@ void process_commands() } // 1st mesh bed leveling measurement point, corrected. world2machine_initialize(); - world2machine(pgm_read_float(bed_ref_points), pgm_read_float(bed_ref_points+1), destination[X_AXIS], destination[Y_AXIS]); + world2machine(pgm_read_float(bed_ref_points_4), pgm_read_float(bed_ref_points_4+1), destination[X_AXIS], destination[Y_AXIS]); world2machine_reset(); if (destination[Y_AXIS] < Y_MIN_POS) destination[Y_AXIS] = Y_MIN_POS; diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 349397a91..305e473d1 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -5,6 +5,7 @@ // The world coordinates match the machine coordinates only in case, when the machine // is built properly, the end stops are at the correct positions and the axes are perpendicular. extern const float bed_ref_points[] PROGMEM; +extern const float bed_ref_points_4[] PROGMEM; extern const float bed_skew_angle_mild; extern const float bed_skew_angle_extreme; From 37ebe5c35d6d74c6a0bfaaaa1d0b9057d8024849 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 23 Apr 2018 20:31:08 +0200 Subject: [PATCH 177/926] Move default correction matrix of not calibrated printer to world2machine_default() function. Use world2machine_reset() to uncorrected matrix. Call it from world2machine_revert_to_uncorrected() and from world2machine_default() if there is no default shift to remove code duplication. --- Firmware/mesh_bed_calibration.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 5a9bf4eed..9c5b12719 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -707,22 +707,26 @@ void world2machine_reset() { const float vx[] = { 1.f, 0.f }; const float vy[] = { 0.f, 1.f }; -#ifdef DEFAULT_Y_OFFSET - const float cntr[] = { 0.f, DEFAULT_Y_OFFSET }; -#else const float cntr[] = { 0.f, 0.f }; -#endif world2machine_update(vx, vy, cntr); } +static void world2machine_default() +{ +#ifdef DEFAULT_Y_OFFSET + const float vx[] = { 1.f, 0.f }; + const float vy[] = { 0.f, 1.f }; + const float cntr[] = { 0.f, DEFAULT_Y_OFFSET }; + world2machine_update(vx, vy, cntr); +#else + world2machine_reset(); +#endif +} + void world2machine_revert_to_uncorrected() { if (world2machine_correction_mode != WORLD2MACHINE_CORRECTION_NONE) { - // Reset the machine correction matrix. - const float vx[] = { 1.f, 0.f }; - const float vy[] = { 0.f, 1.f }; - const float cntr[] = { 0.f, 0.f }; - world2machine_update(vx, vy, cntr); + world2machine_reset(); // Wait for the motors to stop and update the current position with the absolute values. st_synchronize(); current_position[X_AXIS] = st_get_position_mm(X_AXIS); @@ -793,7 +797,7 @@ void world2machine_initialize() if (reset) { // SERIAL_ECHOLNPGM("Invalid bed correction matrix. Resetting to identity."); reset_bed_offset_and_skew(); - world2machine_reset(); + world2machine_default(); } else { world2machine_update(vec_x, vec_y, cntr); /* From 468645e92ef181bb501f46a7146c9772ba6d6790 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 23 Apr 2018 20:31:39 +0200 Subject: [PATCH 178/926] Set DEFAULT_Y_OFFSET to 4 mm for MK3 printer. --- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 0a75c34a4..39d4154c7 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -76,7 +76,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #define HOMING_FEEDRATE {3000, 3000, 800, 0} // set the homing speeds (mm/min) // 3000 is also valid for stallGuard homing. Valid range: 2200 - 3000 -#define DEFAULT_Y_OFFSET 2.5f // Offset of [0;0] point, when the printer is not calibrated +#define DEFAULT_Y_OFFSET 4.f // Offset of [0;0] point, when the printer is not calibrated #define DEFAULT_MAX_FEEDRATE {200, 200, 12, 120} // (mm/sec) max feedrate (M203) #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) From 010ceceff969e406b6e1e11370de50ea3992335b Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 24 Apr 2018 13:43:51 +0200 Subject: [PATCH 179/926] add another homing after steel sheet is removed; added timeout for pinda cooling; if PINDA doesn't trigger before reaching Z = -1mm, temp. calibration fails --- Firmware/Marlin_main.cpp | 478 +++++++++++++++++++------------------- Firmware/language_all.cpp | 7 + Firmware/language_all.h | 2 + Firmware/language_cz.h | 1 + Firmware/language_en.h | 3 +- Firmware/ultralcd.cpp | 45 +++- Firmware/ultralcd.h | 5 +- 7 files changed, 299 insertions(+), 242 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c3e561cb7..33ad82956 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2959,254 +2959,254 @@ void process_commands() #endif //FWRETRACT case 28: //G28 Home all Axis one at a time { - st_synchronize(); + st_synchronize(); #if 0 - SERIAL_ECHOPGM("G28, initial "); print_world_coordinates(); - SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates(); + SERIAL_ECHOPGM("G28, initial "); print_world_coordinates(); + SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates(); #endif - // Flag for the display update routine and to disable the print cancelation during homing. - homing_flag = true; - - // Which axes should be homed? - bool home_x = code_seen(axis_codes[X_AXIS]); - bool home_y = code_seen(axis_codes[Y_AXIS]); - bool home_z = code_seen(axis_codes[Z_AXIS]); - // calibrate? - bool calib = code_seen('C'); - // Either all X,Y,Z codes are present, or none of them. - bool home_all_axes = home_x == home_y && home_x == home_z; - if (home_all_axes) - // No X/Y/Z code provided means to home all axes. - home_x = home_y = home_z = true; + // Flag for the display update routine and to disable the print cancelation during homing. + homing_flag = true; + + // Which axes should be homed? + bool home_x = code_seen(axis_codes[X_AXIS]); + bool home_y = code_seen(axis_codes[Y_AXIS]); + bool home_z = code_seen(axis_codes[Z_AXIS]); + // calibrate? + bool calib = code_seen('C'); + // Either all X,Y,Z codes are present, or none of them. + bool home_all_axes = home_x == home_y && home_x == home_z; + if (home_all_axes) + // No X/Y/Z code provided means to home all axes. + home_x = home_y = home_z = true; #ifdef ENABLE_AUTO_BED_LEVELING - plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) + plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) #endif //ENABLE_AUTO_BED_LEVELING - - // Reset world2machine_rotation_and_skew and world2machine_shift, therefore - // the planner will not perform any adjustments in the XY plane. - // Wait for the motors to stop and update the current position with the absolute values. - world2machine_revert_to_uncorrected(); - // For mesh bed leveling deactivate the matrix temporarily. - // It is necessary to disable the bed leveling for the X and Y homing moves, so that the move is performed - // in a single axis only. - // In case of re-homing the X or Y axes only, the mesh bed leveling is restored after G28. + // Reset world2machine_rotation_and_skew and world2machine_shift, therefore + // the planner will not perform any adjustments in the XY plane. + // Wait for the motors to stop and update the current position with the absolute values. + world2machine_revert_to_uncorrected(); + + // For mesh bed leveling deactivate the matrix temporarily. + // It is necessary to disable the bed leveling for the X and Y homing moves, so that the move is performed + // in a single axis only. + // In case of re-homing the X or Y axes only, the mesh bed leveling is restored after G28. #ifdef MESH_BED_LEVELING - uint8_t mbl_was_active = mbl.active; - mbl.active = 0; - current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); + uint8_t mbl_was_active = mbl.active; + mbl.active = 0; + current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); #endif - // Reset baby stepping to zero, if the babystepping has already been loaded before. The babystepsTodo value will be - // consumed during the first movements following this statement. - if (home_z) - babystep_undo(); + // Reset baby stepping to zero, if the babystepping has already been loaded before. The babystepsTodo value will be + // consumed during the first movements following this statement. + if (home_z) + babystep_undo(); - saved_feedrate = feedrate; - saved_feedmultiply = feedmultiply; - feedmultiply = 100; - previous_millis_cmd = millis(); + saved_feedrate = feedrate; + saved_feedmultiply = feedmultiply; + feedmultiply = 100; + previous_millis_cmd = millis(); - enable_endstops(true); + enable_endstops(true); - memcpy(destination, current_position, sizeof(destination)); - feedrate = 0.0; + memcpy(destination, current_position, sizeof(destination)); + feedrate = 0.0; - #if Z_HOME_DIR > 0 // If homing away from BED do Z first - if(home_z) - homeaxis(Z_AXIS); - #endif +#if Z_HOME_DIR > 0 // If homing away from BED do Z first + if(home_z) + homeaxis(Z_AXIS); +#endif - #ifdef QUICK_HOME - // In the quick mode, if both x and y are to be homed, a diagonal move will be performed initially. - if(home_x && home_y) //first diagonal move - { - current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0; +#ifdef QUICK_HOME + // In the quick mode, if both x and y are to be homed, a diagonal move will be performed initially. + if(home_x && home_y) //first diagonal move + { + current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0; - int x_axis_home_dir = home_dir(X_AXIS); + int x_axis_home_dir = home_dir(X_AXIS); - 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] 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(); + 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] 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(); + 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]; - current_position[Z_AXIS] = destination[Z_AXIS]; - } - #endif /* QUICK_HOME */ + current_position[X_AXIS] = destination[X_AXIS]; + current_position[Y_AXIS] = destination[Y_AXIS]; + current_position[Z_AXIS] = destination[Z_AXIS]; + } +#endif /* QUICK_HOME */ #ifdef TMC2130 - if(home_x) - { - if (!calib) - homeaxis(X_AXIS); - else - tmc2130_home_calibrate(X_AXIS); - } + if(home_x) + { + if (!calib) + homeaxis(X_AXIS); + else + tmc2130_home_calibrate(X_AXIS); + } - if(home_y) - { - if (!calib) - homeaxis(Y_AXIS); - else - tmc2130_home_calibrate(Y_AXIS); - } + if(home_y) + { + if (!calib) + homeaxis(Y_AXIS); + else + tmc2130_home_calibrate(Y_AXIS); + } #endif //TMC2130 - if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) - current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; + if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) + current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; - if(code_seen(axis_codes[Y_AXIS]) && code_value_long() != 0) - current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS]; + if(code_seen(axis_codes[Y_AXIS]) && code_value_long() != 0) + current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS]; - #if Z_HOME_DIR < 0 // If homing towards BED do Z last - #ifndef Z_SAFE_HOMING - if(home_z) { - #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 // defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0) - #if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) // If Mesh bed leveling, moxve X&Y to safe position for home - if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] )) - { - homeaxis(X_AXIS); - homeaxis(Y_AXIS); - } - // 1st mesh bed leveling measurement point, corrected. - world2machine_initialize(); - world2machine(pgm_read_float(bed_ref_points), pgm_read_float(bed_ref_points+1), destination[X_AXIS], destination[Y_AXIS]); - world2machine_reset(); - if (destination[Y_AXIS] < Y_MIN_POS) - destination[Y_AXIS] = Y_MIN_POS; - destination[Z_AXIS] = MESH_HOME_Z_SEARCH; // Set destination away from bed - feedrate = homing_feedrate[Z_AXIS]/10; - current_position[Z_AXIS] = 0; - enable_endstops(false); - 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]; - enable_endstops(true); - endstops_hit_on_purpose(); - homeaxis(Z_AXIS); - #else // MESH_BED_LEVELING - homeaxis(Z_AXIS); - #endif // MESH_BED_LEVELING - } - #else // defined(Z_SAFE_HOMING): Z Safe mode activated. - if(home_all_axes) { - 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; +#if Z_HOME_DIR < 0 // If homing towards BED do Z last +#ifndef Z_SAFE_HOMING + if(home_z) { +#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 // defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0) +#if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) // If Mesh bed leveling, moxve X&Y to safe position for home + if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] )) + { + homeaxis(X_AXIS); + homeaxis(Y_AXIS); + } + // 1st mesh bed leveling measurement point, corrected. + world2machine_initialize(); + world2machine(pgm_read_float(bed_ref_points), pgm_read_float(bed_ref_points+1), destination[X_AXIS], destination[Y_AXIS]); + world2machine_reset(); + if (destination[Y_AXIS] < Y_MIN_POS) + destination[Y_AXIS] = Y_MIN_POS; + destination[Z_AXIS] = MESH_HOME_Z_SEARCH; // Set destination away from bed + feedrate = homing_feedrate[Z_AXIS]/10; + current_position[Z_AXIS] = 0; + enable_endstops(false); + 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]; + enable_endstops(true); + endstops_hit_on_purpose(); + homeaxis(Z_AXIS); +#else // MESH_BED_LEVELING + homeaxis(Z_AXIS); +#endif // MESH_BED_LEVELING + } +#else // defined(Z_SAFE_HOMING): Z Safe mode activated. + if(home_all_axes) { + 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]; + 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_AXIS); - } - // Let's see if X and Y are homed and probe is inside bed area. - if(home_z) { - 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)) { + homeaxis(Z_AXIS); + } + // Let's see if X and Y are homed and probe is inside bed area. + if(home_z) { + 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(); + 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_AXIS); - } else if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) { - LCD_MESSAGERPGM(MSG_POSITION_UNKNOWN); - SERIAL_ECHO_START; - SERIAL_ECHOLNRPGM(MSG_POSITION_UNKNOWN); - } else { - LCD_MESSAGERPGM(MSG_ZPROBE_OUT); - SERIAL_ECHO_START; - SERIAL_ECHOLNRPGM(MSG_ZPROBE_OUT); - } - } - #endif // Z_SAFE_HOMING - #endif // Z_HOME_DIR < 0 + homeaxis(Z_AXIS); + } else if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) { + LCD_MESSAGERPGM(MSG_POSITION_UNKNOWN); + SERIAL_ECHO_START; + SERIAL_ECHOLNRPGM(MSG_POSITION_UNKNOWN); + } else { + LCD_MESSAGERPGM(MSG_ZPROBE_OUT); + SERIAL_ECHO_START; + SERIAL_ECHOLNRPGM(MSG_ZPROBE_OUT); + } + } +#endif // Z_SAFE_HOMING +#endif // Z_HOME_DIR < 0 - if(code_seen(axis_codes[Z_AXIS]) && code_value_long() != 0) - current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS]; - #ifdef ENABLE_AUTO_BED_LEVELING - if(home_z) - current_position[Z_AXIS] += zprobe_zoffset; //Add Z_Probe offset (the distance is negative) - #endif - - // Set the planner and stepper routine positions. - // At this point the mesh bed leveling and world2machine corrections are disabled and current_position - // contains the machine coordinates. - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - - #ifdef ENDSTOPS_ONLY_FOR_HOMING - enable_endstops(false); - #endif - - feedrate = saved_feedrate; - feedmultiply = saved_feedmultiply; - previous_millis_cmd = millis(); - endstops_hit_on_purpose(); -#ifndef MESH_BED_LEVELING - // If MESH_BED_LEVELING is not active, then it is the original Prusa i3. - // Offer the user to load the baby step value, which has been adjusted at the previous print session. - if(card.sdprinting && eeprom_read_word((uint16_t *)EEPROM_BABYSTEP_Z)) - lcd_adjust_z(); + if(code_seen(axis_codes[Z_AXIS]) && code_value_long() != 0) + current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS]; +#ifdef ENABLE_AUTO_BED_LEVELING + if(home_z) + current_position[Z_AXIS] += zprobe_zoffset; //Add Z_Probe offset (the distance is negative) #endif - // Load the machine correction matrix - world2machine_initialize(); - // and correct the current_position XY axes to match the transformed coordinate system. - world2machine_update_current(); + // Set the planner and stepper routine positions. + // At this point the mesh bed leveling and world2machine corrections are disabled and current_position + // contains the machine coordinates. + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + +#ifdef ENDSTOPS_ONLY_FOR_HOMING + enable_endstops(false); +#endif + + feedrate = saved_feedrate; + feedmultiply = saved_feedmultiply; + previous_millis_cmd = millis(); + endstops_hit_on_purpose(); +#ifndef MESH_BED_LEVELING + // If MESH_BED_LEVELING is not active, then it is the original Prusa i3. + // Offer the user to load the baby step value, which has been adjusted at the previous print session. + if(card.sdprinting && eeprom_read_word((uint16_t *)EEPROM_BABYSTEP_Z)) + lcd_adjust_z(); +#endif + + // Load the machine correction matrix + world2machine_initialize(); + // and correct the current_position XY axes to match the transformed coordinate system. + world2machine_update_current(); #if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) - if (code_seen(axis_codes[X_AXIS]) || code_seen(axis_codes[Y_AXIS]) || code_seen('W') || code_seen(axis_codes[Z_AXIS])) + if (code_seen(axis_codes[X_AXIS]) || code_seen(axis_codes[Y_AXIS]) || code_seen('W') || code_seen(axis_codes[Z_AXIS])) { - if (! home_z && mbl_was_active) { - // Re-enable the mesh bed leveling if only the X and Y axes were re-homed. - mbl.active = true; - // and re-adjust the current logical Z axis with the bed leveling offset applicable at the current XY position. - current_position[Z_AXIS] -= mbl.get_z(st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS)); - } + if (! home_z && mbl_was_active) { + // Re-enable the mesh bed leveling if only the X and Y axes were re-homed. + mbl.active = true; + // and re-adjust the current logical Z axis with the bed leveling offset applicable at the current XY position. + current_position[Z_AXIS] -= mbl.get_z(st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS)); + } } - else + else { st_synchronize(); homing_flag = false; @@ -3214,18 +3214,18 @@ void process_commands() // There shall be always enough space reserved for these commands. // enquecommand_front_P((PSTR("G80"))); goto case_G80; - } + } #endif - if (farm_mode) { prusa_statistics(20); }; + if (farm_mode) { prusa_statistics(20); }; - homing_flag = false; + homing_flag = false; #if 0 - SERIAL_ECHOPGM("G28, final "); print_world_coordinates(); - SERIAL_ECHOPGM("G28, final "); print_physical_coordinates(); - SERIAL_ECHOPGM("G28, final "); print_mesh_bed_leveling_table(); + SERIAL_ECHOPGM("G28, final "); print_world_coordinates(); + SERIAL_ECHOPGM("G28, final "); print_physical_coordinates(); + SERIAL_ECHOPGM("G28, final "); print_mesh_bed_leveling_table(); #endif - break; + break; } #ifdef ENABLE_AUTO_BED_LEVELING case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points. @@ -3451,17 +3451,32 @@ void process_commands() } lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_WARNING); bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); + if (result) { current_position[Z_AXIS] = 50; - current_position[Y_AXIS] = 190; + current_position[Y_AXIS] += 180; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); + current_position[Y_AXIS] -= 180; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); + st_synchronize(); + feedrate = homing_feedrate[Z_AXIS] / 10; + enable_endstops(true); + endstops_hit_on_purpose(); + homeaxis(Z_AXIS); + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + enable_endstops(false); } if ((current_temperature_pinda > 35) && (farm_mode == false)) { //waiting for PIDNA probe to cool down in case that we are not in farm mode - lcd_wait_for_pinda(35); + current_position[Z_AXIS] = 100; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); + if (lcd_wait_for_pinda(35) == false) { //waiting for PINDA probe to cool, if this takes more then time expected, temp. cal. fails + lcd_temp_cal_show_result(false); + break; + } } lcd_update_enable(true); KEEPALIVE_STATE(NOT_BUSY); //no need to print busy messages as we print current temperatures periodicaly @@ -3504,7 +3519,9 @@ void process_commands() plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); - find_bed_induction_sensor_point_z(-1.f); + bool find_z_result = find_bed_induction_sensor_point_z(-1.f); + if(find_z_result == false) lcd_temp_cal_show_result(find_z_result); + zero_z = current_position[Z_AXIS]; //current_position[Z_AXIS] @@ -3553,7 +3570,9 @@ void process_commands() current_position[Y_AXIS] = pgm_read_float(bed_ref_points + 1); plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); - find_bed_induction_sensor_point_z(-1.f); + find_z_result = find_bed_induction_sensor_point_z(-1.f); + if (find_z_result == false) lcd_temp_cal_show_result(find_z_result); + z_shift = (int)((current_position[Z_AXIS] - zero_z)*axis_steps_per_unit[Z_AXIS]); SERIAL_ECHOLNPGM(""); @@ -3566,25 +3585,8 @@ void process_commands() EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); } - custom_message_type = 0; - custom_message = false; + lcd_temp_cal_show_result(true); - eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - SERIAL_ECHOLNPGM("Temperature calibration done. Continue with pressing the knob."); - disable_x(); - disable_y(); - disable_z(); - disable_e0(); - disable_e1(); - disable_e2(); - setTargetBed(0); //set bed target temperature back to 0 -// setTargetHotend(0,0); //set hotend target temperature back to 0 - lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CALIBRATION_DONE); - temp_cal_active = true; - eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, 1); - - lcd_update_enable(true); - lcd_update(2); break; } #endif //PINDA_THERMISTOR diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 98ee8ec62..18f742bfb 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -2218,6 +2218,13 @@ const char * const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_TEMP_CALIBRATION_ON_CZ }; +const char MSG_TEMP_CAL_FAILED_EN[] PROGMEM = "Temperature calibration failed"; +const char MSG_TEMP_CAL_FAILED_CZ[] PROGMEM = "Teplotni kalibrace selhala"; +const char * const MSG_TEMP_CAL_FAILED_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_TEMP_CAL_FAILED_EN, + MSG_TEMP_CAL_FAILED_CZ +}; + const char MSG_TEMP_CAL_WARNING_EN[] PROGMEM = "Stable ambient temperature 21-26C is needed a rigid stand is required."; const char * const MSG_TEMP_CAL_WARNING_LANG_TABLE[1] PROGMEM = { MSG_TEMP_CAL_WARNING_EN diff --git a/Firmware/language_all.h b/Firmware/language_all.h index ae8278732..e4711773e 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -726,6 +726,8 @@ extern const char* const MSG_TEMP_CALIBRATION_OFF_LANG_TABLE[LANG_NUM]; #define MSG_TEMP_CALIBRATION_OFF LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_OFF_LANG_TABLE) extern const char* const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM]; #define MSG_TEMP_CALIBRATION_ON LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_ON_LANG_TABLE) +extern const char* const MSG_TEMP_CAL_FAILED_LANG_TABLE[LANG_NUM]; +#define MSG_TEMP_CAL_FAILED LANG_TABLE_SELECT(MSG_TEMP_CAL_FAILED_LANG_TABLE) extern const char* const MSG_TEMP_CAL_WARNING_LANG_TABLE[1]; #define MSG_TEMP_CAL_WARNING LANG_TABLE_SELECT_EXPLICIT(MSG_TEMP_CAL_WARNING_LANG_TABLE, 0) extern const char* const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[1]; diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index f7eb4f1b5..5069d8020 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -415,3 +415,4 @@ #define MSG_CHANGED_PRINTER "Varovani: doslo ke zmene typu tiskarny." #define MSG_CHANGED_BOTH "Varovani: doslo ke zmene typu tiskarny a motherboardu." #define MSG_WAITING_TEMP_PINDA "Cekani na zchladnuti PINDA" +#define MSG_TEMP_CAL_FAILED "Teplotni kalibrace selhala" \ No newline at end of file diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 4cb5b20c4..84d58e664 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -422,4 +422,5 @@ #define(length=20, lines=4) MSG_CHANGED_MOTHERBOARD "Warning: motherboard type changed." #define(length=20, lines=4) MSG_CHANGED_PRINTER "Warning: printer type changed." #define(length=20, lines=4) MSG_CHANGED_BOTH "Warning: both printer type and motherboard type changed." -#define(length=20, lines=3) MSG_WAITING_TEMP_PINDA "Waiting for PINDA probe cooling" \ No newline at end of file +#define(length=20, lines=3) MSG_WAITING_TEMP_PINDA "Waiting for PINDA probe cooling" +#define(length=20, lines=8) MSG_TEMP_CAL_FAILED "Temperature calibration failed" \ No newline at end of file diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5996272b3..25d65d74b 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -9,6 +9,7 @@ #include "stepper.h" #include "ConfigurationStore.h" #include +#include "Timer.h" #include "util.h" #include "mesh_bed_leveling.h" @@ -2600,23 +2601,33 @@ void lcd_adjust_z() { } -void lcd_wait_for_pinda(uint8_t temp) { +bool lcd_wait_for_pinda(float temp) { lcd_set_custom_characters_degree(); setTargetHotend(0, 0); setTargetBed(0); + Timer pinda_timeout; + pinda_timeout.start(); + bool target_temp_reached = true; + while (current_temperature_pinda > temp){ lcd_display_message_fullscreen_P(MSG_WAITING_TEMP_PINDA); lcd.setCursor(0, 4); lcd.print(LCD_STR_THERMOMETER[0]); lcd.print(ftostr3(current_temperature_pinda)); - lcd.print("/35"); + lcd.print("/"); + lcd.print(ftostr3(temp)); lcd.print(LCD_STR_DEGREE); delay_keep_alive(1000); serialecho_temperatures(); + if (pinda_timeout.expired(8 * 60 * 1000ul)) { //PINDA cooling from 60 C to 35 C takes about 7 minutes + target_temp_reached = false; + break; + } } lcd_set_custom_characters_arrows(); lcd_update_enable(true); + return(target_temp_reached); } void lcd_wait_for_heater() { @@ -3063,6 +3074,36 @@ void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, ui } } +void lcd_temp_cal_show_result(bool result) { + + custom_message_type = 0; + custom_message = false; + disable_x(); + disable_y(); + disable_z(); + disable_e0(); + disable_e1(); + disable_e2(); + setTargetBed(0); //set bed target temperature back to 0 + + if (result == true) { + eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + SERIAL_ECHOLNPGM("Temperature calibration done. Continue with pressing the knob."); + lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CALIBRATION_DONE); + temp_cal_active = true; + eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, 1); + } + else { + eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); + SERIAL_ECHOLNPGM("Temperature calibration failed. Continue with pressing the knob."); + lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CAL_FAILED); + temp_cal_active = false; + eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, 0); + } + lcd_update_enable(true); + lcd_update(2); +} + static void lcd_show_end_stops() { lcd.setCursor(0, 0); lcd_printPGM((PSTR("End stops diag"))); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index c53ac8b93..79fc70d41 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -267,10 +267,13 @@ void lcd_farm_sdcard_menu_w(); void lcd_wait_for_heater(); void lcd_wait_for_cool_down(); -void lcd_wait_for_pinda(uint8_t temp); void adjust_bed_reset(); void lcd_extr_cal_reset(); +void lcd_temp_cal_show_result(bool result); +bool lcd_wait_for_pinda(float temp); + + union MenuData; void bowden_menu(); From cc74edfa13be38051f654fa95d07fdabb8564338 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 24 Apr 2018 14:23:52 +0200 Subject: [PATCH 180/926] whitespace --- Firmware/Marlin_main.cpp | 402 +++++++++++++++++++-------------------- 1 file changed, 201 insertions(+), 201 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 33ad82956..0609b739d 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2959,273 +2959,273 @@ void process_commands() #endif //FWRETRACT case 28: //G28 Home all Axis one at a time { - st_synchronize(); + st_synchronize(); #if 0 - SERIAL_ECHOPGM("G28, initial "); print_world_coordinates(); - SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates(); + SERIAL_ECHOPGM("G28, initial "); print_world_coordinates(); + SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates(); #endif - // Flag for the display update routine and to disable the print cancelation during homing. - homing_flag = true; + // Flag for the display update routine and to disable the print cancelation during homing. + homing_flag = true; - // Which axes should be homed? - bool home_x = code_seen(axis_codes[X_AXIS]); - bool home_y = code_seen(axis_codes[Y_AXIS]); - bool home_z = code_seen(axis_codes[Z_AXIS]); - // calibrate? - bool calib = code_seen('C'); - // Either all X,Y,Z codes are present, or none of them. - bool home_all_axes = home_x == home_y && home_x == home_z; - if (home_all_axes) - // No X/Y/Z code provided means to home all axes. - home_x = home_y = home_z = true; + // Which axes should be homed? + bool home_x = code_seen(axis_codes[X_AXIS]); + bool home_y = code_seen(axis_codes[Y_AXIS]); + bool home_z = code_seen(axis_codes[Z_AXIS]); + // calibrate? + bool calib = code_seen('C'); + // Either all X,Y,Z codes are present, or none of them. + bool home_all_axes = home_x == home_y && home_x == home_z; + if (home_all_axes) + // No X/Y/Z code provided means to home all axes. + home_x = home_y = home_z = true; #ifdef ENABLE_AUTO_BED_LEVELING - plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) + plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) #endif //ENABLE_AUTO_BED_LEVELING - // Reset world2machine_rotation_and_skew and world2machine_shift, therefore - // the planner will not perform any adjustments in the XY plane. - // Wait for the motors to stop and update the current position with the absolute values. - world2machine_revert_to_uncorrected(); + // Reset world2machine_rotation_and_skew and world2machine_shift, therefore + // the planner will not perform any adjustments in the XY plane. + // Wait for the motors to stop and update the current position with the absolute values. + world2machine_revert_to_uncorrected(); - // For mesh bed leveling deactivate the matrix temporarily. - // It is necessary to disable the bed leveling for the X and Y homing moves, so that the move is performed - // in a single axis only. - // In case of re-homing the X or Y axes only, the mesh bed leveling is restored after G28. + // For mesh bed leveling deactivate the matrix temporarily. + // It is necessary to disable the bed leveling for the X and Y homing moves, so that the move is performed + // in a single axis only. + // In case of re-homing the X or Y axes only, the mesh bed leveling is restored after G28. #ifdef MESH_BED_LEVELING - uint8_t mbl_was_active = mbl.active; - mbl.active = 0; - current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); + uint8_t mbl_was_active = mbl.active; + mbl.active = 0; + current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); #endif - // Reset baby stepping to zero, if the babystepping has already been loaded before. The babystepsTodo value will be - // consumed during the first movements following this statement. - if (home_z) - babystep_undo(); + // Reset baby stepping to zero, if the babystepping has already been loaded before. The babystepsTodo value will be + // consumed during the first movements following this statement. + if (home_z) + babystep_undo(); - saved_feedrate = feedrate; - saved_feedmultiply = feedmultiply; - feedmultiply = 100; - previous_millis_cmd = millis(); + saved_feedrate = feedrate; + saved_feedmultiply = feedmultiply; + feedmultiply = 100; + previous_millis_cmd = millis(); - enable_endstops(true); + enable_endstops(true); - memcpy(destination, current_position, sizeof(destination)); - feedrate = 0.0; + memcpy(destination, current_position, sizeof(destination)); + feedrate = 0.0; #if Z_HOME_DIR > 0 // If homing away from BED do Z first - if(home_z) - homeaxis(Z_AXIS); + if(home_z) + homeaxis(Z_AXIS); #endif #ifdef QUICK_HOME - // In the quick mode, if both x and y are to be homed, a diagonal move will be performed initially. - if(home_x && home_y) //first diagonal move - { - current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0; + // In the quick mode, if both x and y are to be homed, a diagonal move will be performed initially. + if(home_x && home_y) //first diagonal move + { + current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0; - int x_axis_home_dir = home_dir(X_AXIS); + int x_axis_home_dir = home_dir(X_AXIS); - 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] 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(); + 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] 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(); + 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]; - current_position[Z_AXIS] = destination[Z_AXIS]; - } + current_position[X_AXIS] = destination[X_AXIS]; + current_position[Y_AXIS] = destination[Y_AXIS]; + current_position[Z_AXIS] = destination[Z_AXIS]; + } #endif /* QUICK_HOME */ #ifdef TMC2130 - if(home_x) - { - if (!calib) - homeaxis(X_AXIS); - else - tmc2130_home_calibrate(X_AXIS); - } + if(home_x) + { + if (!calib) + homeaxis(X_AXIS); + else + tmc2130_home_calibrate(X_AXIS); + } - if(home_y) - { - if (!calib) - homeaxis(Y_AXIS); - else - tmc2130_home_calibrate(Y_AXIS); - } + if(home_y) + { + if (!calib) + homeaxis(Y_AXIS); + else + tmc2130_home_calibrate(Y_AXIS); + } #endif //TMC2130 - if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) - current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; + if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) + current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; - if(code_seen(axis_codes[Y_AXIS]) && code_value_long() != 0) - current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS]; + if(code_seen(axis_codes[Y_AXIS]) && code_value_long() != 0) + current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS]; #if Z_HOME_DIR < 0 // If homing towards BED do Z last #ifndef Z_SAFE_HOMING - if(home_z) { + if(home_z) { #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(); + 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 // defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0) #if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) // If Mesh bed leveling, moxve X&Y to safe position for home - if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] )) - { - homeaxis(X_AXIS); - homeaxis(Y_AXIS); - } - // 1st mesh bed leveling measurement point, corrected. - world2machine_initialize(); - world2machine(pgm_read_float(bed_ref_points), pgm_read_float(bed_ref_points+1), destination[X_AXIS], destination[Y_AXIS]); - world2machine_reset(); - if (destination[Y_AXIS] < Y_MIN_POS) - destination[Y_AXIS] = Y_MIN_POS; - destination[Z_AXIS] = MESH_HOME_Z_SEARCH; // Set destination away from bed - feedrate = homing_feedrate[Z_AXIS]/10; - current_position[Z_AXIS] = 0; - enable_endstops(false); - 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]; - enable_endstops(true); - endstops_hit_on_purpose(); - homeaxis(Z_AXIS); + if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] )) + { + homeaxis(X_AXIS); + homeaxis(Y_AXIS); + } + // 1st mesh bed leveling measurement point, corrected. + world2machine_initialize(); + world2machine(pgm_read_float(bed_ref_points), pgm_read_float(bed_ref_points+1), destination[X_AXIS], destination[Y_AXIS]); + world2machine_reset(); + if (destination[Y_AXIS] < Y_MIN_POS) + destination[Y_AXIS] = Y_MIN_POS; + destination[Z_AXIS] = MESH_HOME_Z_SEARCH; // Set destination away from bed + feedrate = homing_feedrate[Z_AXIS]/10; + current_position[Z_AXIS] = 0; + enable_endstops(false); + 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]; + enable_endstops(true); + endstops_hit_on_purpose(); + homeaxis(Z_AXIS); #else // MESH_BED_LEVELING - homeaxis(Z_AXIS); + homeaxis(Z_AXIS); #endif // MESH_BED_LEVELING - } + } #else // defined(Z_SAFE_HOMING): Z Safe mode activated. - if(home_all_axes) { - 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; + if(home_all_axes) { + 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]; + 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_AXIS); - } - // Let's see if X and Y are homed and probe is inside bed area. - if(home_z) { - 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)) { + homeaxis(Z_AXIS); + } + // Let's see if X and Y are homed and probe is inside bed area. + if(home_z) { + 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(); + 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_AXIS); - } else if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) { - LCD_MESSAGERPGM(MSG_POSITION_UNKNOWN); - SERIAL_ECHO_START; - SERIAL_ECHOLNRPGM(MSG_POSITION_UNKNOWN); - } else { - LCD_MESSAGERPGM(MSG_ZPROBE_OUT); - SERIAL_ECHO_START; - SERIAL_ECHOLNRPGM(MSG_ZPROBE_OUT); - } - } + homeaxis(Z_AXIS); + } else if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) { + LCD_MESSAGERPGM(MSG_POSITION_UNKNOWN); + SERIAL_ECHO_START; + SERIAL_ECHOLNRPGM(MSG_POSITION_UNKNOWN); + } else { + LCD_MESSAGERPGM(MSG_ZPROBE_OUT); + SERIAL_ECHO_START; + SERIAL_ECHOLNRPGM(MSG_ZPROBE_OUT); + } + } #endif // Z_SAFE_HOMING #endif // Z_HOME_DIR < 0 - if(code_seen(axis_codes[Z_AXIS]) && code_value_long() != 0) - current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS]; + if(code_seen(axis_codes[Z_AXIS]) && code_value_long() != 0) + current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS]; #ifdef ENABLE_AUTO_BED_LEVELING - if(home_z) - current_position[Z_AXIS] += zprobe_zoffset; //Add Z_Probe offset (the distance is negative) + if(home_z) + current_position[Z_AXIS] += zprobe_zoffset; //Add Z_Probe offset (the distance is negative) #endif - // Set the planner and stepper routine positions. - // At this point the mesh bed leveling and world2machine corrections are disabled and current_position - // contains the machine coordinates. - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); + // Set the planner and stepper routine positions. + // At this point the mesh bed leveling and world2machine corrections are disabled and current_position + // contains the machine coordinates. + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); #ifdef ENDSTOPS_ONLY_FOR_HOMING - enable_endstops(false); + enable_endstops(false); #endif - feedrate = saved_feedrate; - feedmultiply = saved_feedmultiply; - previous_millis_cmd = millis(); - endstops_hit_on_purpose(); + feedrate = saved_feedrate; + feedmultiply = saved_feedmultiply; + previous_millis_cmd = millis(); + endstops_hit_on_purpose(); #ifndef MESH_BED_LEVELING - // If MESH_BED_LEVELING is not active, then it is the original Prusa i3. - // Offer the user to load the baby step value, which has been adjusted at the previous print session. - if(card.sdprinting && eeprom_read_word((uint16_t *)EEPROM_BABYSTEP_Z)) - lcd_adjust_z(); + // If MESH_BED_LEVELING is not active, then it is the original Prusa i3. + // Offer the user to load the baby step value, which has been adjusted at the previous print session. + if(card.sdprinting && eeprom_read_word((uint16_t *)EEPROM_BABYSTEP_Z)) + lcd_adjust_z(); #endif - // Load the machine correction matrix - world2machine_initialize(); - // and correct the current_position XY axes to match the transformed coordinate system. - world2machine_update_current(); + // Load the machine correction matrix + world2machine_initialize(); + // and correct the current_position XY axes to match the transformed coordinate system. + world2machine_update_current(); #if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) - if (code_seen(axis_codes[X_AXIS]) || code_seen(axis_codes[Y_AXIS]) || code_seen('W') || code_seen(axis_codes[Z_AXIS])) - { - if (! home_z && mbl_was_active) { - // Re-enable the mesh bed leveling if only the X and Y axes were re-homed. - mbl.active = true; - // and re-adjust the current logical Z axis with the bed leveling offset applicable at the current XY position. - current_position[Z_AXIS] -= mbl.get_z(st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS)); - } - } - else - { - st_synchronize(); - homing_flag = false; - // Push the commands to the front of the message queue in the reverse order! - // There shall be always enough space reserved for these commands. - // enquecommand_front_P((PSTR("G80"))); - goto case_G80; - } + if (code_seen(axis_codes[X_AXIS]) || code_seen(axis_codes[Y_AXIS]) || code_seen('W') || code_seen(axis_codes[Z_AXIS])) + { + if (! home_z && mbl_was_active) { + // Re-enable the mesh bed leveling if only the X and Y axes were re-homed. + mbl.active = true; + // and re-adjust the current logical Z axis with the bed leveling offset applicable at the current XY position. + current_position[Z_AXIS] -= mbl.get_z(st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS)); + } + } + else + { + st_synchronize(); + homing_flag = false; + // Push the commands to the front of the message queue in the reverse order! + // There shall be always enough space reserved for these commands. + // enquecommand_front_P((PSTR("G80"))); + goto case_G80; + } #endif - if (farm_mode) { prusa_statistics(20); }; + if (farm_mode) { prusa_statistics(20); }; - homing_flag = false; + homing_flag = false; #if 0 - SERIAL_ECHOPGM("G28, final "); print_world_coordinates(); - SERIAL_ECHOPGM("G28, final "); print_physical_coordinates(); - SERIAL_ECHOPGM("G28, final "); print_mesh_bed_leveling_table(); + SERIAL_ECHOPGM("G28, final "); print_world_coordinates(); + SERIAL_ECHOPGM("G28, final "); print_physical_coordinates(); + SERIAL_ECHOPGM("G28, final "); print_mesh_bed_leveling_table(); #endif - break; + break; } #ifdef ENABLE_AUTO_BED_LEVELING case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points. From ffe93b2ca95c825c47a4199b460543e561e2e69c Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 24 Apr 2018 14:33:48 +0200 Subject: [PATCH 181/926] whitespace correction --- Firmware/Marlin_main.cpp | 398 +++++++++++++++++++-------------------- 1 file changed, 199 insertions(+), 199 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 0609b739d..2a256e09d 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2958,169 +2958,169 @@ void process_commands() break; #endif //FWRETRACT case 28: //G28 Home all Axis one at a time - { - st_synchronize(); + { + st_synchronize(); #if 0 - SERIAL_ECHOPGM("G28, initial "); print_world_coordinates(); - SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates(); + SERIAL_ECHOPGM("G28, initial "); print_world_coordinates(); + SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates(); #endif - // Flag for the display update routine and to disable the print cancelation during homing. - homing_flag = true; - - // Which axes should be homed? - bool home_x = code_seen(axis_codes[X_AXIS]); - bool home_y = code_seen(axis_codes[Y_AXIS]); - bool home_z = code_seen(axis_codes[Z_AXIS]); - // calibrate? - bool calib = code_seen('C'); - // Either all X,Y,Z codes are present, or none of them. - bool home_all_axes = home_x == home_y && home_x == home_z; - if (home_all_axes) - // No X/Y/Z code provided means to home all axes. - home_x = home_y = home_z = true; + // Flag for the display update routine and to disable the print cancelation during homing. + homing_flag = true; + + // Which axes should be homed? + bool home_x = code_seen(axis_codes[X_AXIS]); + bool home_y = code_seen(axis_codes[Y_AXIS]); + bool home_z = code_seen(axis_codes[Z_AXIS]); + // calibrate? + bool calib = code_seen('C'); + // Either all X,Y,Z codes are present, or none of them. + bool home_all_axes = home_x == home_y && home_x == home_z; + if (home_all_axes) + // No X/Y/Z code provided means to home all axes. + home_x = home_y = home_z = true; #ifdef ENABLE_AUTO_BED_LEVELING - plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) + plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) #endif //ENABLE_AUTO_BED_LEVELING + + // Reset world2machine_rotation_and_skew and world2machine_shift, therefore + // the planner will not perform any adjustments in the XY plane. + // Wait for the motors to stop and update the current position with the absolute values. + world2machine_revert_to_uncorrected(); - // Reset world2machine_rotation_and_skew and world2machine_shift, therefore - // the planner will not perform any adjustments in the XY plane. - // Wait for the motors to stop and update the current position with the absolute values. - world2machine_revert_to_uncorrected(); - - // For mesh bed leveling deactivate the matrix temporarily. - // It is necessary to disable the bed leveling for the X and Y homing moves, so that the move is performed - // in a single axis only. - // In case of re-homing the X or Y axes only, the mesh bed leveling is restored after G28. + // For mesh bed leveling deactivate the matrix temporarily. + // It is necessary to disable the bed leveling for the X and Y homing moves, so that the move is performed + // in a single axis only. + // In case of re-homing the X or Y axes only, the mesh bed leveling is restored after G28. #ifdef MESH_BED_LEVELING - uint8_t mbl_was_active = mbl.active; - mbl.active = 0; - current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); + uint8_t mbl_was_active = mbl.active; + mbl.active = 0; + current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); #endif - // Reset baby stepping to zero, if the babystepping has already been loaded before. The babystepsTodo value will be - // consumed during the first movements following this statement. - if (home_z) - babystep_undo(); + // Reset baby stepping to zero, if the babystepping has already been loaded before. The babystepsTodo value will be + // consumed during the first movements following this statement. + if (home_z) + babystep_undo(); - saved_feedrate = feedrate; - saved_feedmultiply = feedmultiply; - feedmultiply = 100; - previous_millis_cmd = millis(); + saved_feedrate = feedrate; + saved_feedmultiply = feedmultiply; + feedmultiply = 100; + previous_millis_cmd = millis(); - enable_endstops(true); + enable_endstops(true); - memcpy(destination, current_position, sizeof(destination)); - feedrate = 0.0; + memcpy(destination, current_position, sizeof(destination)); + feedrate = 0.0; -#if Z_HOME_DIR > 0 // If homing away from BED do Z first - if(home_z) - homeaxis(Z_AXIS); -#endif + #if Z_HOME_DIR > 0 // If homing away from BED do Z first + if(home_z) + homeaxis(Z_AXIS); + #endif -#ifdef QUICK_HOME - // In the quick mode, if both x and y are to be homed, a diagonal move will be performed initially. - if(home_x && home_y) //first diagonal move - { - current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0; + #ifdef QUICK_HOME + // In the quick mode, if both x and y are to be homed, a diagonal move will be performed initially. + if(home_x && home_y) //first diagonal move + { + current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0; - int x_axis_home_dir = home_dir(X_AXIS); + int x_axis_home_dir = home_dir(X_AXIS); - 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] 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]; - current_position[Z_AXIS] = destination[Z_AXIS]; + 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] 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); } -#endif /* QUICK_HOME */ + 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]; + current_position[Z_AXIS] = destination[Z_AXIS]; + } + #endif /* QUICK_HOME */ #ifdef TMC2130 - if(home_x) - { - if (!calib) - homeaxis(X_AXIS); - else - tmc2130_home_calibrate(X_AXIS); - } + if(home_x) + { + if (!calib) + homeaxis(X_AXIS); + else + tmc2130_home_calibrate(X_AXIS); + } - if(home_y) - { - if (!calib) - homeaxis(Y_AXIS); - else - tmc2130_home_calibrate(Y_AXIS); - } + if(home_y) + { + if (!calib) + homeaxis(Y_AXIS); + else + tmc2130_home_calibrate(Y_AXIS); + } #endif //TMC2130 - if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) - current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; + if(code_seen(axis_codes[X_AXIS]) && code_value_long() != 0) + current_position[X_AXIS]=code_value()+add_homing[X_AXIS]; - if(code_seen(axis_codes[Y_AXIS]) && code_value_long() != 0) - current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS]; + if(code_seen(axis_codes[Y_AXIS]) && code_value_long() != 0) + current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS]; -#if Z_HOME_DIR < 0 // If homing towards BED do Z last -#ifndef Z_SAFE_HOMING - if(home_z) { -#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 // defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0) -#if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) // If Mesh bed leveling, moxve X&Y to safe position for home - if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] )) - { + #if Z_HOME_DIR < 0 // If homing towards BED do Z last + #ifndef Z_SAFE_HOMING + if(home_z) { + #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 // defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0) + #if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) // If Mesh bed leveling, moxve X&Y to safe position for home + if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] )) + { homeaxis(X_AXIS); homeaxis(Y_AXIS); - } - // 1st mesh bed leveling measurement point, corrected. - world2machine_initialize(); - world2machine(pgm_read_float(bed_ref_points), pgm_read_float(bed_ref_points+1), destination[X_AXIS], destination[Y_AXIS]); - world2machine_reset(); - if (destination[Y_AXIS] < Y_MIN_POS) - destination[Y_AXIS] = Y_MIN_POS; - destination[Z_AXIS] = MESH_HOME_Z_SEARCH; // Set destination away from bed - feedrate = homing_feedrate[Z_AXIS]/10; - current_position[Z_AXIS] = 0; - enable_endstops(false); - 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]; - enable_endstops(true); - endstops_hit_on_purpose(); - homeaxis(Z_AXIS); -#else // MESH_BED_LEVELING - homeaxis(Z_AXIS); -#endif // MESH_BED_LEVELING - } -#else // defined(Z_SAFE_HOMING): Z Safe mode activated. - if(home_all_axes) { + } + // 1st mesh bed leveling measurement point, corrected. + world2machine_initialize(); + world2machine(pgm_read_float(bed_ref_points), pgm_read_float(bed_ref_points+1), destination[X_AXIS], destination[Y_AXIS]); + world2machine_reset(); + if (destination[Y_AXIS] < Y_MIN_POS) + destination[Y_AXIS] = Y_MIN_POS; + destination[Z_AXIS] = MESH_HOME_Z_SEARCH; // Set destination away from bed + feedrate = homing_feedrate[Z_AXIS]/10; + current_position[Z_AXIS] = 0; + enable_endstops(false); + 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]; + enable_endstops(true); + endstops_hit_on_purpose(); + homeaxis(Z_AXIS); + #else // MESH_BED_LEVELING + homeaxis(Z_AXIS); + #endif // MESH_BED_LEVELING + } + #else // defined(Z_SAFE_HOMING): Z Safe mode activated. + if(home_all_axes) { 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 @@ -3134,23 +3134,23 @@ void process_commands() current_position[Y_AXIS] = destination[Y_AXIS]; homeaxis(Z_AXIS); - } - // Let's see if X and Y are homed and probe is inside bed area. - if(home_z) { + } + // Let's see if X and Y are homed and probe is inside bed area. + if(home_z) { 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[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(); + 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_AXIS); + homeaxis(Z_AXIS); } else if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) { LCD_MESSAGERPGM(MSG_POSITION_UNKNOWN); SERIAL_ECHO_START; @@ -3160,72 +3160,72 @@ void process_commands() SERIAL_ECHO_START; SERIAL_ECHOLNRPGM(MSG_ZPROBE_OUT); } - } -#endif // Z_SAFE_HOMING -#endif // Z_HOME_DIR < 0 + } + #endif // Z_SAFE_HOMING + #endif // Z_HOME_DIR < 0 - if(code_seen(axis_codes[Z_AXIS]) && code_value_long() != 0) - current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS]; -#ifdef ENABLE_AUTO_BED_LEVELING + if(code_seen(axis_codes[Z_AXIS]) && code_value_long() != 0) + current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS]; + #ifdef ENABLE_AUTO_BED_LEVELING if(home_z) - current_position[Z_AXIS] += zprobe_zoffset; //Add Z_Probe offset (the distance is negative) -#endif + current_position[Z_AXIS] += zprobe_zoffset; //Add Z_Probe offset (the distance is negative) + #endif + + // Set the planner and stepper routine positions. + // At this point the mesh bed leveling and world2machine corrections are disabled and current_position + // contains the machine coordinates. + plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - // Set the planner and stepper routine positions. - // At this point the mesh bed leveling and world2machine corrections are disabled and current_position - // contains the machine coordinates. - plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); - -#ifdef ENDSTOPS_ONLY_FOR_HOMING + #ifdef ENDSTOPS_ONLY_FOR_HOMING enable_endstops(false); -#endif + #endif - feedrate = saved_feedrate; - feedmultiply = saved_feedmultiply; - previous_millis_cmd = millis(); - endstops_hit_on_purpose(); + feedrate = saved_feedrate; + feedmultiply = saved_feedmultiply; + previous_millis_cmd = millis(); + endstops_hit_on_purpose(); #ifndef MESH_BED_LEVELING - // If MESH_BED_LEVELING is not active, then it is the original Prusa i3. - // Offer the user to load the baby step value, which has been adjusted at the previous print session. - if(card.sdprinting && eeprom_read_word((uint16_t *)EEPROM_BABYSTEP_Z)) - lcd_adjust_z(); + // If MESH_BED_LEVELING is not active, then it is the original Prusa i3. + // Offer the user to load the baby step value, which has been adjusted at the previous print session. + if(card.sdprinting && eeprom_read_word((uint16_t *)EEPROM_BABYSTEP_Z)) + lcd_adjust_z(); #endif - // Load the machine correction matrix - world2machine_initialize(); - // and correct the current_position XY axes to match the transformed coordinate system. - world2machine_update_current(); + // Load the machine correction matrix + world2machine_initialize(); + // and correct the current_position XY axes to match the transformed coordinate system. + world2machine_update_current(); #if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) - if (code_seen(axis_codes[X_AXIS]) || code_seen(axis_codes[Y_AXIS]) || code_seen('W') || code_seen(axis_codes[Z_AXIS])) - { - if (! home_z && mbl_was_active) { - // Re-enable the mesh bed leveling if only the X and Y axes were re-homed. - mbl.active = true; - // and re-adjust the current logical Z axis with the bed leveling offset applicable at the current XY position. - current_position[Z_AXIS] -= mbl.get_z(st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS)); - } - } - else - { - st_synchronize(); - homing_flag = false; - // Push the commands to the front of the message queue in the reverse order! - // There shall be always enough space reserved for these commands. - // enquecommand_front_P((PSTR("G80"))); - goto case_G80; - } + if (code_seen(axis_codes[X_AXIS]) || code_seen(axis_codes[Y_AXIS]) || code_seen('W') || code_seen(axis_codes[Z_AXIS])) + { + if (! home_z && mbl_was_active) { + // Re-enable the mesh bed leveling if only the X and Y axes were re-homed. + mbl.active = true; + // and re-adjust the current logical Z axis with the bed leveling offset applicable at the current XY position. + current_position[Z_AXIS] -= mbl.get_z(st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS)); + } + } + else + { + st_synchronize(); + homing_flag = false; + // Push the commands to the front of the message queue in the reverse order! + // There shall be always enough space reserved for these commands. + // enquecommand_front_P((PSTR("G80"))); + goto case_G80; + } #endif - if (farm_mode) { prusa_statistics(20); }; + if (farm_mode) { prusa_statistics(20); }; - homing_flag = false; + homing_flag = false; #if 0 - SERIAL_ECHOPGM("G28, final "); print_world_coordinates(); - SERIAL_ECHOPGM("G28, final "); print_physical_coordinates(); - SERIAL_ECHOPGM("G28, final "); print_mesh_bed_leveling_table(); + SERIAL_ECHOPGM("G28, final "); print_world_coordinates(); + SERIAL_ECHOPGM("G28, final "); print_physical_coordinates(); + SERIAL_ECHOPGM("G28, final "); print_mesh_bed_leveling_table(); #endif - break; + break; } #ifdef ENABLE_AUTO_BED_LEVELING case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points. From 8efe66ef99eb62710cb8e23d838d8301f804a64d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 24 Apr 2018 14:34:49 +0200 Subject: [PATCH 182/926] remove tab --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 2a256e09d..e7b9ba881 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2958,7 +2958,7 @@ void process_commands() break; #endif //FWRETRACT case 28: //G28 Home all Axis one at a time - { + { st_synchronize(); #if 0 From 1553e99d8eddaaf708f0f5c9d37f4cc9546945c0 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Tue, 24 Apr 2018 20:12:29 +0200 Subject: [PATCH 183/926] Meshbedleveling/MK3 - check crash Z after homeaxis (kill with message "debris on nozzle...") --- Firmware/Marlin_main.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b16c81d2f..6cf620e48 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2075,6 +2075,9 @@ void homeaxis(int axis, uint8_t cnt, uint8_t* pstep) 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(); +#ifdef TMC2130 + if (READ(Z_TMC2130_DIAG) != 0) return; //Z crash +#endif //TMC2130 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; @@ -2084,6 +2087,9 @@ void homeaxis(int axis, uint8_t cnt, uint8_t* pstep) feedrate = homing_feedrate[axis]/2 ; plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); st_synchronize(); +#ifdef TMC2130 + if (READ(Z_TMC2130_DIAG) != 0) return; //Z crash +#endif //TMC2130 axis_is_at_home(axis); destination[axis] = current_position[axis]; feedrate = 0.0; @@ -3765,6 +3771,15 @@ void process_commands() #endif //MK1BP case_G80: { +#ifdef TMC2130 + //previously enqueued "G28 W0" failed (crash Z) + if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && !axis_known_position[Z_AXIS] && (READ(Z_TMC2130_DIAG) != 0)) + { + kill(MSG_BED_LEVELING_FAILED_POINT_LOW); + break; + } +#endif //TMC2130 + mesh_bed_leveling_flag = true; int8_t verbosity_level = 0; static bool run = false; From 3abfeb831f10e0b472cd538016de059baf2fe5dc Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 25 Apr 2018 12:21:20 +0200 Subject: [PATCH 184/926] Update documentation of mesh_bed_calibration.cpp. --- Firmware/mesh_bed_calibration.cpp | 67 ++++++++++++++++++++++++------- Firmware/mesh_bed_calibration.h | 19 +++++---- 2 files changed, 64 insertions(+), 22 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 9c5b12719..18b914e7c 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -159,22 +159,29 @@ static inline float point_weight_y(const uint8_t i, const uint8_t npts, const fl } return w; } - -// Non-Linear Least Squares fitting of the bed to the measured induction points -// using the Gauss-Newton method. -// This method will maintain a unity length of the machine axes, -// which is the correct approach if the sensor points are not measured precisely. +/** + * @brief Calculate machine skew and offset + * + * Non-Linear Least Squares fitting of the bed to the measured induction points + * using the Gauss-Newton method. + * This method will maintain a unity length of the machine axes, + * which is the correct approach if the sensor points are not measured precisely. + * @param measured_pts Matrix of 2D points (maximum 18 floats) + * @param npts Number of points (maximum 9) + * @param true_pts + * @param [out] vec_x Resulting correction matrix. X axis vector + * @param [out] vec_y Resulting correction matrix. Y axis vector + * @param [out] cntr Resulting correction matrix. [0;0] pont offset + * @param verbosity_level + * @return BedSkewOffsetDetectionResultType + */ BedSkewOffsetDetectionResultType calculate_machine_skew_and_offset_LS( - // Matrix of maximum 9 2D points (18 floats) const float *measured_pts, uint8_t npts, const float *true_pts, - // Resulting correction matrix. float *vec_x, float *vec_y, float *cntr, - // Temporary values, 49-18-(2*3)=25 floats - // , float *temp int8_t verbosity_level ) { @@ -649,6 +656,9 @@ BedSkewOffsetDetectionResultType calculate_machine_skew_and_offset_LS( return result; } +/** + * @brief Erase calibration data stored in EEPROM + */ void reset_bed_offset_and_skew() { eeprom_update_dword((uint32_t*)(EEPROM_BED_CALIBRATION_CENTER+0), 0x0FFFFFFFF); @@ -703,6 +713,12 @@ static void world2machine_update(const float vec_x[2], const float vec_y[2], con } } +/** + * @brief Set calibration matrix to identity + * + * In contrast with world2machine_revert_to_uncorrected(), it doesn't wait for finishing moves + * nor updates the current position with the absolute values. + */ void world2machine_reset() { const float vx[] = { 1.f, 0.f }; @@ -711,6 +727,11 @@ void world2machine_reset() world2machine_update(vx, vy, cntr); } +/** + * @brief Set calibration matrix to default value + * + * This is used if no valid calibration data can be read from EEPROM. + */ static void world2machine_default() { #ifdef DEFAULT_Y_OFFSET @@ -722,12 +743,15 @@ static void world2machine_default() world2machine_reset(); #endif } - +/** + * @brief Set calibration matrix to identity and update current position with absolute position + * + * Wait for the motors to stop and then update the current position with the absolute values. + */ void world2machine_revert_to_uncorrected() { if (world2machine_correction_mode != WORLD2MACHINE_CORRECTION_NONE) { world2machine_reset(); - // Wait for the motors to stop and update the current position with the absolute values. st_synchronize(); current_position[X_AXIS] = st_get_position_mm(X_AXIS); current_position[Y_AXIS] = st_get_position_mm(Y_AXIS); @@ -740,6 +764,15 @@ static inline bool vec_undef(const float v[2]) return vx[0] == 0x0FFFFFFFF || vx[1] == 0x0FFFFFFFF; } +/** + * @brief Read and apply calibration data from EEPROM + * + * If no calibration data has been stored in EEPROM or invalid, + * world2machine_default() is used. + * + * If stored calibration data is invalid, EEPROM storage is cleared. + * + */ void world2machine_initialize() { //SERIAL_ECHOLNPGM("world2machine_initialize"); @@ -818,10 +851,14 @@ void world2machine_initialize() } } -// When switching from absolute to corrected coordinates, -// this will get the absolute coordinates from the servos, -// applies the inverse world2machine transformation -// and stores the result into current_position[x,y]. +/** + * @brief Update current position after switching to corrected coordinates + * + * When switching from absolute to corrected coordinates, + * this will get the absolute coordinates from the servos, + * applies the inverse world2machine transformation + * and stores the result into current_position[x,y]. + */ void world2machine_update_current() { float x = current_position[X_AXIS] - world2machine_shift[0]; diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 305e473d1..ced77cf61 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -135,17 +135,22 @@ extern bool find_bed_induction_sensor_point_z(float minimum_z = -10.f, uint8_t n extern bool find_bed_induction_sensor_point_xy(int verbosity_level = 0); extern void go_home_with_z_lift(); -// Positive or zero: ok -// Negative: failed +/** + * @brief Bed skew and offest detection result + * + * Positive or zero: ok + * Negative: failed + */ + enum BedSkewOffsetDetectionResultType { // Detection failed, some point was not found. - BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND = -1, - BED_SKEW_OFFSET_DETECTION_FITTING_FAILED = -2, + BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND = -1, //!< Point not found. + BED_SKEW_OFFSET_DETECTION_FITTING_FAILED = -2, //!< Fitting failed // Detection finished with success. - BED_SKEW_OFFSET_DETECTION_PERFECT = 0, - BED_SKEW_OFFSET_DETECTION_SKEW_MILD = 1, - BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME = 2 + BED_SKEW_OFFSET_DETECTION_PERFECT = 0, //!< Perfect. + BED_SKEW_OFFSET_DETECTION_SKEW_MILD = 1, //!< Mildly skewed. + BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME = 2 //!< Extremely skewed. }; extern BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level, uint8_t &too_far_mask); From 5f12289339cbef144aad57e5904d2d7b4a600d71 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 25 Apr 2018 14:43:32 +0200 Subject: [PATCH 185/926] CalibrationZ/MK3 - check crash Z after homeaxis (kill with message "debris on nozzle...") --- Firmware/mesh_bed_calibration.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 9c5b12719..e8ed5cda8 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2683,6 +2683,15 @@ bool sample_mesh_and_store_reference() memcpy(destination, current_position, sizeof(destination)); enable_endstops(true); homeaxis(Z_AXIS); + +#ifdef TMC2130 + if (!axis_known_position[Z_AXIS] && (READ(Z_TMC2130_DIAG) != 0)) //Z crash + { + kill(MSG_BED_LEVELING_FAILED_POINT_LOW); + return false; + } +#endif //TMC2130 + enable_endstops(false); find_bed_induction_sensor_point_z(); mbl.set_z(0, 0, current_position[Z_AXIS]); From 0271ab364377596073145bd8e52580a4b9dfc9cf Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Wed, 25 Apr 2018 16:19:16 +0200 Subject: [PATCH 186/926] Meshbedleveling, calibration Z check crash Z (MK3) check deviation of Z-probe (>50um == error, all printers) kill with message "debris on nozzle..." --- Firmware/Marlin_main.cpp | 4 ++-- Firmware/mesh_bed_calibration.cpp | 29 +++++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7db287350..21c5dd6cb 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2076,7 +2076,7 @@ void homeaxis(int axis, uint8_t cnt, uint8_t* pstep) plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); st_synchronize(); #ifdef TMC2130 - if (READ(Z_TMC2130_DIAG) != 0) return; //Z crash + if ((tmc2130_mode == TMC2130_MODE_NORMAL) && (READ(Z_TMC2130_DIAG) != 0)) return; //Z crash #endif //TMC2130 current_position[axis] = 0; plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); @@ -2088,7 +2088,7 @@ void homeaxis(int axis, uint8_t cnt, uint8_t* pstep) plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); st_synchronize(); #ifdef TMC2130 - if (READ(Z_TMC2130_DIAG) != 0) return; //Z crash + if ((tmc2130_mode == TMC2130_MODE_NORMAL) && (READ(Z_TMC2130_DIAG) != 0)) return; //Z crash #endif //TMC2130 axis_is_at_home(axis); destination[axis] = current_position[axis]; diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index e8ed5cda8..946a623ec 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -7,6 +7,10 @@ #include "stepper.h" #include "ultralcd.h" +#ifdef TMC2130 +#include "tmc2130.h" +#endif //TMC2130 + uint8_t world2machine_correction_mode; float world2machine_rotation_and_skew[2][2]; float world2machine_rotation_and_skew_inv[2][2]; @@ -880,8 +884,11 @@ inline bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, i update_current_position_z(); if (! endstop_z_hit_on_purpose()) goto error; - - for (uint8_t i = 0; i < n_iter; ++ i) { +#ifdef TMC2130 + if ((tmc2130_mode == TMC2130_MODE_NORMAL) && (READ(Z_TMC2130_DIAG) != 0)) goto error; //crash Z detected +#endif //TMC2130 + for (uint8_t i = 0; i < n_iter; ++ i) + { // Move up the retract distance. current_position[Z_AXIS] += .5f; go_to_current(homing_feedrate[Z_AXIS]/60); @@ -892,10 +899,16 @@ inline bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, i update_current_position_z(); if (! endstop_z_hit_on_purpose()) goto error; +#ifdef TMC2130 + if ((tmc2130_mode == TMC2130_MODE_NORMAL) && (READ(Z_TMC2130_DIAG) != 0)) goto error; //crash Z detected +#endif //TMC2130 // SERIAL_ECHOPGM("Bed find_bed_induction_sensor_point_z low, height: "); // MYSERIAL.print(current_position[Z_AXIS], 5); // SERIAL_ECHOLNPGM(""); + float dz = i?abs(current_position[Z_AXIS] - (z / i)):0; z += current_position[Z_AXIS]; +// printf_P(PSTR(" Z[%d] = %d, dz=%d\n"), i, (int)(current_position[Z_AXIS] * 1000), (int)(dz * 1000)); + if (dz > 0.05) goto error;//deviation > 50um } current_position[Z_AXIS] = z; if (n_iter > 1) @@ -2693,7 +2706,11 @@ bool sample_mesh_and_store_reference() #endif //TMC2130 enable_endstops(false); - find_bed_induction_sensor_point_z(); + if (!find_bed_induction_sensor_point_z()) //Z crash or deviation > 50um + { + kill(MSG_BED_LEVELING_FAILED_POINT_LOW); + return false; + } mbl.set_z(0, 0, current_position[Z_AXIS]); } for (int8_t mesh_point = 1; mesh_point != MESH_MEAS_NUM_X_POINTS * MESH_MEAS_NUM_Y_POINTS; ++ mesh_point) { @@ -2711,7 +2728,11 @@ bool sample_mesh_and_store_reference() lcd_implementation_print_at(0, next_line, mesh_point+1); lcd_printPGM(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2); #endif /* MESH_BED_CALIBRATION_SHOW_LCD */ - find_bed_induction_sensor_point_z(); + if (!find_bed_induction_sensor_point_z()) //Z crash or deviation > 50um + { + kill(MSG_BED_LEVELING_FAILED_POINT_LOW); + return false; + } // Get cords of measuring point int8_t ix = mesh_point % MESH_MEAS_NUM_X_POINTS; int8_t iy = mesh_point / MESH_MEAS_NUM_X_POINTS; From f2071457527b29dd508d5d15dc7553542f5ed502 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 25 Apr 2018 16:51:35 +0200 Subject: [PATCH 187/926] Return from Autoload filament and Load filament menu item to parent menu. Exception is Load filament, when temperature is sufficient to load filament, in such case, load filament is started and GUI returns to status screen. --- Firmware/Timer.cpp | 6 +++ Firmware/ultralcd.cpp | 85 +++++++++++++++++++++++++++++++------------ 2 files changed, 67 insertions(+), 24 deletions(-) diff --git a/Firmware/Timer.cpp b/Firmware/Timer.cpp index 78f47a45b..29866a670 100644 --- a/Firmware/Timer.cpp +++ b/Firmware/Timer.cpp @@ -6,6 +6,12 @@ #include "Timer.h" #include "Arduino.h" +/** + * @brief construct Timer + * + * It is guaranteed, that construction is equivalent with zeroing all members. + * This property can be exploited in MenuData union. + */ Timer::Timer() : m_isRunning(false), m_started() { } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 25d65d74b..19522eca3 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -108,6 +108,11 @@ union MenuData // editMenuParentState is used when an edit menu is entered, so it knows // the return menu and encoder state. struct EditMenuParentState editMenuParentState; + + struct AutoLoadFilamentMenu + { + Timer timer; + } autoLoadFilamentMenu; }; // State of the currently active menu. @@ -188,6 +193,7 @@ unsigned char firstrun = 1; /** forward declarations **/ +static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, uint8_t &nlines); // void copy_and_scalePID_i(); // void copy_and_scalePID_d(); @@ -2069,39 +2075,50 @@ void lcd_alright() { } - - -void lcd_LoadFilament() -{ - if (degHotend0() > EXTRUDE_MINTEMP) - { #ifdef PAT9125 - if (filament_autoload_enabled && fsensor_enabled) - { - lcd_show_fullscreen_message_and_wait_P(MSG_AUTOLOADING_ENABLED); - return; - } +static void lcd_menu_AutoLoadFilament() +{ + if (degHotend0() > EXTRUDE_MINTEMP) + { + uint8_t nlines; + lcd_display_message_fullscreen_nonBlocking_P(MSG_AUTOLOADING_ENABLED,nlines); + } + else + { + if (!menuData.autoLoadFilamentMenu.timer.running()) menuData.autoLoadFilamentMenu.timer.start(); + lcd.setCursor(0, 0); + lcd_printPGM(MSG_ERROR); + lcd.setCursor(0, 2); + lcd_printPGM(MSG_PREHEAT_NOZZLE); + if (menuData.autoLoadFilamentMenu.timer.expired(2000ul)) menu_action_back(); + } + if (lcd_clicked()) menu_action_back(); +} #endif //PAT9125 - custom_message = true; - loading_flag = true; - enquecommand_P(PSTR("M701")); //load filament - SERIAL_ECHOLN("Loading filament"); + +static void lcd_LoadFilament() +{ + if (degHotend0() > EXTRUDE_MINTEMP) + { + custom_message = true; + loading_flag = true; + enquecommand_P(PSTR("M701")); //load filament + SERIAL_ECHOLN("Loading filament"); + lcd_return_to_status(); } - else + else { lcd_implementation_clear(); lcd.setCursor(0, 0); lcd_printPGM(MSG_ERROR); lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); + lcd_printPGM(MSG_PREHEAT_NOZZLE); delay(2000); lcd_implementation_clear(); } - lcd_return_to_status(); } - void lcd_menu_statistics() { @@ -2777,11 +2794,16 @@ static inline bool pgm_is_interpunction(const char *c_addr) return c == '.' || c == ',' || c == ':'|| c == ';' || c == '?' || c == '!' || c == '/'; } -const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines) +/** + * @brief show full screen message + * + * This function is non-blocking + * @param msg message to be displayed from PROGMEM + * @param nlines + * @return rest of the text (to be displayed on next page) + */ +static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, uint8_t &nlines) { - // Disable update of the screen by the usual lcd_update() routine. - lcd_update_enable(false); - lcd_implementation_clear(); lcd.setCursor(0, 0); const char *msgend = msg; uint8_t row = 0; @@ -2834,6 +2856,21 @@ const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines) return multi_screen ? msgend : NULL; } +const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines) +{ + // Disable update of the screen by the usual lcd_update() routine. + lcd_update_enable(false); + lcd_implementation_clear(); + return lcd_display_message_fullscreen_nonBlocking_P(msg, nlines); +} + + +/** + * @brief show full screen message and wait + * + * This function is blocking. + * @param msg message to be displayed from PROGMEM + */ void lcd_show_fullscreen_message_and_wait_P(const char *msg) { const char *msg_next = lcd_display_message_fullscreen_P(msg); @@ -5689,7 +5726,7 @@ static void lcd_main_menu() #ifndef SNMM #ifdef PAT9125 if ( ((filament_autoload_enabled == true) && (fsensor_enabled == true))) - MENU_ITEM(function, MSG_AUTOLOAD_FILAMENT, lcd_LoadFilament); + MENU_ITEM(submenu, MSG_AUTOLOAD_FILAMENT, lcd_menu_AutoLoadFilament); else #endif //PAT9125 MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament); From d85a8077a8af21d6cabafd1f90d9dc07b83423a3 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 25 Apr 2018 20:39:10 +0200 Subject: [PATCH 188/926] M115 update --- Firmware/Marlin_main.cpp | 11 ++++++++++- Firmware/langtool.pl | 8 ++++---- Firmware/language.h | 25 +++---------------------- Firmware/language_all.cpp | 5 ----- Firmware/language_all.h | 2 -- Firmware/language_common.h | 1 - Firmware/language_cz.h | 1 - Firmware/language_de.h | 1 - Firmware/language_en.h | 1 - Firmware/language_es.h | 1 - Firmware/language_it.h | 1 - Firmware/language_pl.h | 1 - 12 files changed, 17 insertions(+), 41 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 21c5dd6cb..8abc20b90 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5184,7 +5184,16 @@ Sigma_Exit: // pause the print and ask the user to upgrade the firmware. show_upgrade_dialog_if_version_newer(++ strchr_pointer); } else { - SERIAL_PROTOCOLRPGM(MSG_M115_REPORT); + SERIAL_ECHOPGM("FIRMWARE_NAME:Prusa-Firmware "); + SERIAL_ECHORPGM(FW_VERSION_STR_P()); + SERIAL_ECHOPGM(" based on Marlin FIRMWARE_URL:https://github.com/prusa3d/Prusa-Firmware PROTOCOL_VERSION:"); + SERIAL_ECHOPGM(PROTOCOL_VERSION); + SERIAL_ECHOPGM(" MACHINE_TYPE:"); + SERIAL_ECHOPGM(CUSTOM_MENDEL_NAME); + SERIAL_ECHOPGM(" EXTRUDER_COUNT:"); + SERIAL_ECHOPGM(STRINGIFY(EXTRUDERS)); + SERIAL_ECHOPGM(" UUID:"); + SERIAL_ECHOLNPGM(MACHINE_UUID); } break; /* case 117: // M117 display message diff --git a/Firmware/langtool.pl b/Firmware/langtool.pl index a91af44de..f7622aa8d 100755 --- a/Firmware/langtool.pl +++ b/Firmware/langtool.pl @@ -41,10 +41,10 @@ sub parselang # Trim whitespaces from both sides $value =~ s/^\s+|\s+$//g; #$string =~ s/" MACHINE_NAME "/Prusa i3/; - $value =~ s/" FIRMWARE_URL "/https:\/\/github.com\/prusa3d\/Prusa-i3-Plus\//; - $value =~ s/" PROTOCOL_VERSION "/1.0/; - $value =~ s/" STRINGIFY\(EXTRUDERS\) "/1/; - $value =~ s/" MACHINE_UUID "/00000000-0000-0000-0000-000000000000/; + #$value =~ s/" FIRMWARE_URL "/https:\/\/github.com\/prusa3d\/Prusa-Firmware\//; + #$value =~ s/" PROTOCOL_VERSION "/1.0/; + #$value =~ s/" STRINGIFY\(EXTRUDERS\) "/1/; + #$value =~ s/" MACHINE_UUID "/00000000-0000-0000-0000-000000000000/; ${$out}{$symbol} = { value=>$value, %$modifiers }; } return $out; diff --git a/Firmware/language.h b/Firmware/language.h index 32ec21bb5..cff631d8b 100644 --- a/Firmware/language.h +++ b/Firmware/language.h @@ -3,33 +3,14 @@ #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 +#ifdef CUSTOM_MENDEL_NAME // #define CUSTOM_MENDEL_NAME CUSTOM_MENDEL_NAME - #else +#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 diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 18f742bfb..2be14ede8 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -1115,11 +1115,6 @@ const char * const MSG_M109_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = { MSG_M109_INVALID_EXTRUDER_EN }; -const char MSG_M115_REPORT_EN[] PROGMEM = "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:https://github.com/prusa3d/Prusa-i3-Plus/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000\n"; -const char * const MSG_M115_REPORT_LANG_TABLE[1] PROGMEM = { - MSG_M115_REPORT_EN -}; - const char MSG_M117_V2_CALIBRATION_EN[] PROGMEM = "M117 First layer cal."; const char MSG_M117_V2_CALIBRATION_CZ[] PROGMEM = "M117 Kal. prvni vrstvy"; const char * const MSG_M117_V2_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = { diff --git a/Firmware/language_all.h b/Firmware/language_all.h index e4711773e..992d602c9 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -376,8 +376,6 @@ extern const char* const MSG_M105_INVALID_EXTRUDER_LANG_TABLE[1]; #define MSG_M105_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M105_INVALID_EXTRUDER_LANG_TABLE, 0) extern const char* const MSG_M109_INVALID_EXTRUDER_LANG_TABLE[1]; #define MSG_M109_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M109_INVALID_EXTRUDER_LANG_TABLE, 0) -extern const char* const MSG_M115_REPORT_LANG_TABLE[1]; -#define MSG_M115_REPORT LANG_TABLE_SELECT_EXPLICIT(MSG_M115_REPORT_LANG_TABLE, 0) extern const char* const MSG_M117_V2_CALIBRATION_LANG_TABLE[LANG_NUM]; #define MSG_M117_V2_CALIBRATION LANG_TABLE_SELECT(MSG_M117_V2_CALIBRATION_LANG_TABLE) extern const char* const MSG_M119_REPORT_LANG_TABLE[1]; diff --git a/Firmware/language_common.h b/Firmware/language_common.h index 515908644..3e28c5d9d 100644 --- a/Firmware/language_common.h +++ b/Firmware/language_common.h @@ -26,7 +26,6 @@ define MSG_FILE_PRINTED "Done printing file" +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_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_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)" diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index 5069d8020..01ca0dbf6 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -133,7 +133,6 @@ #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:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" #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: " diff --git a/Firmware/language_de.h b/Firmware/language_de.h index c158f81c2..3881489b3 100644 --- a/Firmware/language_de.h +++ b/Firmware/language_de.h @@ -116,7 +116,6 @@ + #define(length = 20) MSG_HEATING_COMPLETE "Aufwaermen OK" + #define MSG_BED_HEATING "Bett aufwaermen" + #define MSG_BED_DONE "Bett 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:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" + #define MSG_ERR_KILLED "Printer gestoppt. kill() aufgerufen!" + #define MSG_ERR_STOPPED "Drucker aufgrund von Fehlern gestoppt. Fehler beheben und mit M999 neu starten. (Temperatur wird zurueckgesetzt. Nach dem Neustart neu einstellen!)" + #define MSG_RESEND "Wiederholen: " diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 84d58e664..695546a85 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -132,7 +132,6 @@ #define(length=20) 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:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" #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: " diff --git a/Firmware/language_es.h b/Firmware/language_es.h index 82b3c7edd..d861f9c4e 100644 --- a/Firmware/language_es.h +++ b/Firmware/language_es.h @@ -96,7 +96,6 @@ #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_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" #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: " diff --git a/Firmware/language_it.h b/Firmware/language_it.h index 8cf73f20b..accd540f2 100644 --- a/Firmware/language_it.h +++ b/Firmware/language_it.h @@ -105,7 +105,6 @@ #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_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" #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: " diff --git a/Firmware/language_pl.h b/Firmware/language_pl.h index 6a4a72d8a..254a905f8 100644 --- a/Firmware/language_pl.h +++ b/Firmware/language_pl.h @@ -96,7 +96,6 @@ #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_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" #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: " From 0b6644915a104193c210072e0db83bd0a6c90745 Mon Sep 17 00:00:00 2001 From: MRprusa3d <38257799+MRprusa3d@users.noreply.github.com> Date: Wed, 25 Apr 2018 18:47:19 +0000 Subject: [PATCH 189/926] Add files via upload --- Firmware/Marlin.h | 1 - Firmware/Marlin_main.cpp | 299 +++++++++++++++++++++++--------------- Firmware/pins.h | 12 +- Firmware/pins_Rambo_1_3.h | 5 + Firmware/sm4.c | 20 +-- Firmware/stepper.cpp | 7 +- Firmware/ultralcd.cpp | 89 +++++------- Firmware/ultralcd.h | 12 +- Firmware/xyzcal.cpp | 8 +- 9 files changed, 259 insertions(+), 194 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 93915ba23..c540b13b4 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -441,5 +441,4 @@ void gcode_M701(); #define UVLO !(PINE & (1<<4)) -void extr_unload2(); void proc_commands(); diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index dbbd54348..a3332d408 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -232,6 +232,8 @@ // 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] // M605 - Set dual x-carriage movement mode: S [ X R ] +// M860 - Wait for PINDA thermistor to reach target temperature. +// M861 - Set / Read PINDA temperature compensation offsets // M900 - Set LIN_ADVANCE options, if enabled. See Configuration_adv.h for details. // M907 - Set digital trimpot motor current using axis codes. // M908 - Control digital trimpot directly. @@ -1268,14 +1270,14 @@ void setup() if (eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA) == 255) { //eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 8); //40C - 20um - 8usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 24); //45C - 60um - 24usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 48); //50C - 120um - 48usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 80); //55C - 200um - 80usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 120); //60C - 300um - 120usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 0); //40C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 0); //45C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 0); //50C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 0); //55C + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 0); //60C - eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 1); - temp_cal_active = true; + eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 0); + temp_cal_active = false; } if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 255) { eeprom_write_byte((uint8_t*)EEPROM_UVLO, 0); @@ -2505,6 +2507,52 @@ void gcode_M701() #endif } +/** + * @brief Get serial number from 32U2 processor + * + * Typical format of S/N is:CZPX0917X003XC13518 + * + * Command operates only in farm mode, if not in farm mode, "Not in farm mode." is written to MYSERIAL. + * + * Send command ;S to serial port 0 to retrieve serial number stored in 32U2 processor, + * reply is transmitted to serial port 1 character by character. + * Operation takes typically 23 ms. If the retransmit is not finished until 100 ms, + * it is interrupted, so less, or no characters are retransmitted, only newline character is send + * in any case. + */ +static void gcode_PRUSA_SN() +{ + if (farm_mode) { + selectedSerialPort = 0; + MSerial.write(";S"); + int numbersRead = 0; + Timer timeout; + timeout.start(); + + while (numbersRead < 19) { + while (MSerial.available() > 0) { + uint8_t serial_char = MSerial.read(); + selectedSerialPort = 1; + MSerial.write(serial_char); + numbersRead++; + selectedSerialPort = 0; + } + if (timeout.expired(100)) break; + } + selectedSerialPort = 1; + MSerial.write('\n'); +#if 0 + for (int b = 0; b < 3; b++) { + tone(BEEPER, 110); + delay(50); + noTone(BEEPER); + delay(50); + } +#endif + } else { + MYSERIAL.println("Not in farm mode."); + } +} void process_commands() { @@ -2544,7 +2592,7 @@ void process_commands() lcd_setstatus(strchr_pointer + 5); } -//#ifdef TMC2130 +#ifdef TMC2130 else if (strncmp_P(CMDBUFFER_CURRENT_STRING, PSTR("CRASH_"), 6) == 0) { if(code_seen("CRASH_DETECTED")) @@ -2573,7 +2621,7 @@ void process_commands() tmc2130_goto_step(E_AXIS, step & (4*res - 1), 2, 1000, res); } } -//#endif //TMC2130 +#endif //TMC2130 else if(code_seen("PRUSA")){ if (code_seen("Ping")) { //PRUSA Ping @@ -2624,33 +2672,7 @@ void process_commands() prusa_sd_card_upload = true; card.openFile(strchr_pointer+4,false); } else if (code_seen("SN")) { - if (farm_mode) { - selectedSerialPort = 0; - MSerial.write(";S"); - // S/N is:CZPX0917X003XC13518 - int numbersRead = 0; - - while (numbersRead < 19) { - while (MSerial.available() > 0) { - uint8_t serial_char = MSerial.read(); - selectedSerialPort = 1; - MSerial.write(serial_char); - numbersRead++; - selectedSerialPort = 0; - } - } - selectedSerialPort = 1; - MSerial.write('\n'); - /*for (int b = 0; b < 3; b++) { - tone(BEEPER, 110); - delay(50); - noTone(BEEPER); - delay(50); - }*/ - } else { - MYSERIAL.println("Not in farm mode."); - } - + gcode_PRUSA_SN(); } else if(code_seen("Fir")){ SERIAL_PROTOCOLLN(FW_VERSION); @@ -3554,6 +3576,9 @@ void process_commands() setTargetBed(0); //set bed target temperature back to 0 // setTargetHotend(0,0); //set hotend target temperature back to 0 lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CALIBRATION_DONE); + temp_cal_active = true; + eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, 1); + lcd_update_enable(true); lcd_update(2); break; @@ -3667,6 +3692,8 @@ void process_commands() disable_e2(); setTargetBed(0); //set bed target temperature back to 0 lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CALIBRATION_DONE); + temp_cal_active = true; + eeprom_update_byte((unsigned char *)EEPROM_TEMP_CAL_ACTIVE, 1); lcd_update_enable(true); lcd_update(2); @@ -5982,7 +6009,7 @@ Sigma_Exit: tmc2130_set_current_r(E_AXIS, tmc2130_current_r_bckp); #else uint8_t silentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); - if(silentMode) st_current_set(2, tmp_motor[2]); //set E back to normal operation currents + if(silentMode != SILENT_MODE_NORMAL) st_current_set(2, tmp_motor[2]); //set E back to normal operation currents else st_current_set(2, tmp_motor_loud[2]); #endif //TMC2130 @@ -6221,6 +6248,117 @@ Sigma_Exit: } break; +#ifdef PINDA_THERMISTOR + case 860: // M860 - Wait for PINDA thermistor to reach target temperature. + { + int setTargetPinda = 0; + + if (code_seen('S')) { + setTargetPinda = code_value(); + } + else { + break; + } + + LCD_MESSAGERPGM(MSG_PLEASE_WAIT); + + SERIAL_PROTOCOLPGM("Wait for PINDA target temperature:"); + SERIAL_PROTOCOL(setTargetPinda); + SERIAL_PROTOCOLLN(""); + + codenum = millis(); + cancel_heatup = false; + + KEEPALIVE_STATE(NOT_BUSY); + + while ((!cancel_heatup) && current_temperature_pinda < setTargetPinda) { + if ((millis() - codenum) > 1000) //Print Temp Reading every 1 second while waiting. + { + SERIAL_PROTOCOLPGM("P:"); + SERIAL_PROTOCOL_F(current_temperature_pinda, 1); + SERIAL_PROTOCOLPGM("/"); + SERIAL_PROTOCOL(setTargetPinda); + SERIAL_PROTOCOLLN(""); + codenum = millis(); + } + manage_heater(); + manage_inactivity(); + lcd_update(); + } + LCD_MESSAGERPGM(MSG_OK); + + break; + } + case 861: // M861 - Set/Read PINDA temperature compensation offsets + if (code_seen('?')) { // ? - Print out current EEPRO offset values + uint8_t cal_status = calibration_status_pinda(); + cal_status ? SERIAL_PROTOCOLLN("PINDA cal status: 1") : SERIAL_PROTOCOLLN("PINDA cal status: 0"); + SERIAL_PROTOCOLLN("index, temp, ustep, um"); + for (uint8_t i = 0; i < 6; i++) + { + uint16_t usteps = 0; + if (i > 0) usteps = eeprom_read_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + (i - 1)); + float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; + i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(35 + (i * 5)); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(usteps); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(mm * 1000); + SERIAL_PROTOCOLLN(""); + } + } + else if (code_seen('!')) { // ! - Set factory default values + eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 8); //40C - 20um - 8usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 24); //45C - 60um - 24usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 48); //50C - 120um - 48usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 80); //55C - 200um - 80usteps + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 120); //60C - 300um - 120usteps + SERIAL_PROTOCOLLN("factory restored"); + } + else if (code_seen('Z')) { // Z - Set all values to 0 (effectively disabling PINDA temperature compensation) + eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 0); + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 0); + SERIAL_PROTOCOLLN("zerorized"); + } + else if (code_seen('S')) { // Sxxx Iyyy - Set compensation ustep value S for compensation table index I + uint16_t usteps = code_value(); + if (code_seen('I')) { + byte index = code_value(); + if ((index >= 0) && (index < 5)) { + eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + index, usteps); + SERIAL_PROTOCOLLN("OK"); + SERIAL_PROTOCOLLN("index, temp, ustep, um"); + for (uint8_t i = 0; i < 6; i++) + { + uint16_t usteps = 0; + if (i > 0) usteps = eeprom_read_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + (i - 1)); + float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; + i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(35 + (i * 5)); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(usteps); + SERIAL_PROTOCOLPGM(", "); + SERIAL_PROTOCOL(mm * 1000); + SERIAL_PROTOCOLLN(""); + } + } + } + } + else { + SERIAL_PROTOCOLPGM("no valid command"); + } + break; + +#endif //PINDA_THERMISTOR + #ifdef LIN_ADVANCE case 900: // M900: Set LIN_ADVANCE options. gcode_M900(); @@ -6510,7 +6648,6 @@ Sigma_Exit: pinMode(E_MUX0_PIN, OUTPUT); pinMode(E_MUX1_PIN, OUTPUT); - pinMode(E_MUX2_PIN, OUTPUT); delay(100); SERIAL_ECHO_START; @@ -6520,25 +6657,21 @@ Sigma_Exit: case 1: WRITE(E_MUX0_PIN, HIGH); WRITE(E_MUX1_PIN, LOW); - WRITE(E_MUX2_PIN, LOW); break; case 2: WRITE(E_MUX0_PIN, LOW); WRITE(E_MUX1_PIN, HIGH); - WRITE(E_MUX2_PIN, LOW); break; case 3: WRITE(E_MUX0_PIN, HIGH); WRITE(E_MUX1_PIN, HIGH); - WRITE(E_MUX2_PIN, LOW); break; default: WRITE(E_MUX0_PIN, LOW); WRITE(E_MUX1_PIN, LOW); - WRITE(E_MUX2_PIN, LOW); break; } @@ -6666,7 +6799,7 @@ void ClearToSend() SERIAL_PROTOCOLLNRPGM(MSG_OK); } -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 +#if MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 void update_currents() { float current_high[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; float current_low[3] = DEFAULT_PWM_MOTOR_CURRENT; @@ -6703,7 +6836,7 @@ void update_currents() { } } } -#endif //MOTHERBOARD == 200 || MOTHERBOARD == 203 +#endif //MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 void get_coordinates() { @@ -6726,9 +6859,9 @@ void get_coordinates() if (relative) destination[i] += current_position[i]; seen[i]=true; -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 - if (i == Z_AXIS && SilentModeMenu == 2) update_currents(); -#endif //MOTHERBOARD == 200 || MOTHERBOARD == 203 +#if MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 + if (i == Z_AXIS && SilentModeMenu == SILENT_MODE_AUTO) update_currents(); +#endif //MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 } else destination[i] = current_position[i]; //Are these else lines really needed? } @@ -6964,7 +7097,7 @@ static void handleSafetyTimer() { safetyTimer.start(); } - else if (safetyTimer.expired(15*60*1000)) + else if (safetyTimer.expired(900000ul)) { setTargetBed(0); setTargetHotend(0, 0); @@ -8433,73 +8566,3 @@ void print_mesh_bed_leveling_table() #define FIL_LOAD_LENGTH 60 - -void extr_unload2() { //unloads filament -// float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; -// float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; -// int8_t SilentMode; - uint8_t snmm_extruder = 0; - if (degHotend0() > EXTRUDE_MINTEMP) { - lcd_implementation_clear(); - lcd_display_message_fullscreen_P(PSTR("")); - max_feedrate[E_AXIS] = 50; - lcd.setCursor(0, 0); lcd_printPGM(MSG_UNLOADING_FILAMENT); -// lcd.print(" "); -// lcd.print(snmm_extruder + 1); - lcd.setCursor(0, 2); lcd_printPGM(MSG_PLEASE_WAIT); - if (current_position[Z_AXIS] < 15) { - current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 25, active_extruder); - } - - current_position[E_AXIS] += 10; //extrusion - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder); -// st_current_set(2, E_MOTOR_HIGH_CURRENT); - if (current_temperature[0] < 230) { //PLA & all other filaments - current_position[E_AXIS] += 5.4; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2800 / 60, active_extruder); - current_position[E_AXIS] += 3.2; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); - current_position[E_AXIS] += 3; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3400 / 60, active_extruder); - } - else { //ABS - current_position[E_AXIS] += 3.1; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2000 / 60, active_extruder); - current_position[E_AXIS] += 3.1; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2500 / 60, active_extruder); - current_position[E_AXIS] += 4; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); - /*current_position[X_AXIS] += 23; //delay - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder); //delay - current_position[X_AXIS] -= 23; //delay - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder); //delay*/ - delay_keep_alive(4700); - } - - max_feedrate[E_AXIS] = 80; - current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); - current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); - st_synchronize(); - //st_current_init(); -// if (SilentMode == 1) st_current_set(2, tmp_motor[2]); //set back to normal operation currents -// else st_current_set(2, tmp_motor_loud[2]); - lcd_update_enable(true); -// lcd_return_to_status(); - max_feedrate[E_AXIS] = 50; - } - else { - - lcd_implementation_clear(); - lcd.setCursor(0, 0); - lcd_printPGM(MSG_ERROR); - lcd.setCursor(0, 2); - lcd_printPGM(MSG_PREHEAT_NOZZLE); - - delay(2000); - lcd_implementation_clear(); - } -// lcd_return_to_status(); -} diff --git a/Firmware/pins.h b/Firmware/pins.h index 1c2cee11e..a0b6f462f 100644 --- a/Firmware/pins.h +++ b/Firmware/pins.h @@ -23,17 +23,17 @@ * Rambo Pin Assignments 1.3 ******************************************************************/ -#if MOTHERBOARD == 200 //200 - orig 102 +#if MOTHERBOARD == BOARD_RAMBO_MINI_1_0 //200 - orig 102 #include "pins_Rambo_1_0.h" -#endif //MOTHERBOARD == 200 +#endif //MOTHERBOARD == BOARD_RAMBO_MINI_1_0 -#if MOTHERBOARD == 203 //203 - orig 302 +#if MOTHERBOARD == BOARD_RAMBO_MINI_1_3 //203 - orig 302 #include "pins_Rambo_1_3.h" -#endif //MOTHERBOARD == 203 +#endif //MOTHERBOARD == BOARD_RAMBO_MINI_1_3 -#if MOTHERBOARD == 310 //310 - new +#if MOTHERBOARD == BOARD_EINSY_1_0a //310 - new #include "pins_Einsy_1_0.h" -#endif //MOTHERBOARD == 310 +#endif //MOTHERBOARD == BOARD_EINSY_1_0a #ifndef KNOWN_BOARD #error Unknown MOTHERBOARD value in configuration.h diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h index 2f2c4dd0a..d2fb31be2 100644 --- a/Firmware/pins_Rambo_1_3.h +++ b/Firmware/pins_Rambo_1_3.h @@ -69,6 +69,11 @@ #define E0_MS1_PIN 65 #define E0_MS2_PIN 66 +#ifdef SNMM + #define E_MUX0_PIN 17 + #define E_MUX1_PIN 16 +#endif + #define MOTOR_CURRENT_PWM_XY_PIN 46 #define MOTOR_CURRENT_PWM_Z_PIN 45 diff --git a/Firmware/sm4.c b/Firmware/sm4.c index 165426cf8..15c928465 100644 --- a/Firmware/sm4.c +++ b/Firmware/sm4.c @@ -48,12 +48,12 @@ uint8_t sm4_get_dir(uint8_t axis) { switch (axis) { -#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) +#if ((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3)) case 0: return (PORTL & 2)?0:1; case 1: return (PORTL & 1)?0:1; case 2: return (PORTL & 4)?0:1; case 3: return (PORTL & 64)?1:0; -#else if ((MOTHERBOARD == 310)) +#else if ((MOTHERBOARD == BOARD_EINSY_1_0a)) case 0: return (PORTL & 1)?1:0; case 1: return (PORTL & 2)?0:1; case 2: return (PORTL & 4)?1:0; @@ -67,12 +67,12 @@ void sm4_set_dir(uint8_t axis, uint8_t dir) { switch (axis) { -#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) +#if ((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3)) case 0: if (!dir) PORTL |= 2; else PORTL &= ~2; break; case 1: if (!dir) PORTL |= 1; else PORTL &= ~1; break; case 2: if (!dir) PORTL |= 4; else PORTL &= ~4; break; case 3: if (dir) PORTL |= 64; else PORTL &= ~64; break; -#else if ((MOTHERBOARD == 310)) +#else if ((MOTHERBOARD == BOARD_EINSY_1_0a)) case 0: if (dir) PORTL |= 1; else PORTL &= ~1; break; case 1: if (!dir) PORTL |= 2; else PORTL &= ~2; break; case 2: if (dir) PORTL |= 4; else PORTL &= ~4; break; @@ -87,13 +87,13 @@ uint8_t sm4_get_dir_bits(void) uint8_t register dir_bits = 0; uint8_t register portL = PORTL; //TODO -optimize in asm -#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) +#if ((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3)) if (portL & 2) dir_bits |= 1; if (portL & 1) dir_bits |= 2; if (portL & 4) dir_bits |= 4; if (portL & 64) dir_bits |= 8; dir_bits ^= 0x07; //invert XYZ, do not invert E -#else if ((MOTHERBOARD == 310)) +#else if ((MOTHERBOARD == BOARD_EINSY_1_0a)) if (portL & 1) dir_bits |= 1; if (portL & 2) dir_bits |= 2; if (portL & 4) dir_bits |= 4; @@ -108,13 +108,13 @@ void sm4_set_dir_bits(uint8_t dir_bits) uint8_t register portL = PORTL; portL &= 0xb8; //set direction bits to zero //TODO -optimize in asm -#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) +#if ((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3)) dir_bits ^= 0x07; //invert XYZ, do not invert E if (dir_bits & 1) portL |= 2; //set X direction bit if (dir_bits & 2) portL |= 1; //set Y direction bit if (dir_bits & 4) portL |= 4; //set Z direction bit if (dir_bits & 8) portL |= 64; //set E direction bit -#else if ((MOTHERBOARD == 310)) +#else if ((MOTHERBOARD == BOARD_EINSY_1_0a)) dir_bits ^= 0x0a; //invert YE, do not invert XZ if (dir_bits & 1) portL |= 1; //set X direction bit if (dir_bits & 2) portL |= 2; //set Y direction bit @@ -127,13 +127,13 @@ void sm4_set_dir_bits(uint8_t dir_bits) void sm4_do_step(uint8_t axes_mask) { -#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203) || (MOTHERBOARD == 310)) +#if ((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3) || (MOTHERBOARD == BOARD_EINSY_1_0a)) uint8_t register portC = PORTC & 0xf0; PORTC = portC | (axes_mask & 0x0f); //set step signals by mask asm("nop"); PORTC = portC; //set step signals to zero asm("nop"); -#endif //((MOTHERBOARD == 200) || (MOTHERBOARD == 203) || (MOTHERBOARD == 310)) +#endif //((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3) || (MOTHERBOARD == BOARD_EINSY_1_0a)) } uint16_t sm4_line_xyze_ui(uint16_t dx, uint16_t dy, uint16_t dz, uint16_t de) diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 567d1565d..993589898 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -101,8 +101,6 @@ static bool check_endstops = true; static bool check_z_endstop = false; static bool z_endstop_invert = false; -int8_t SilentMode = 0; - volatile long count_position[NUM_AXIS] = { 0, 0, 0, 0}; volatile signed char count_direction[NUM_AXIS] = { 1, 1, 1, 1}; @@ -1459,6 +1457,7 @@ void digitalPotWrite(int address, int value) // From Arduino DigitalPotControl e #endif } +//*** MaR::180416_03 void EEPROM_read_st(int pos, uint8_t* value, uint8_t size) { do @@ -1472,13 +1471,13 @@ void EEPROM_read_st(int pos, uint8_t* value, uint8_t size) void st_current_init() //Initialize Digipot Motor Current { - EEPROM_read_st(EEPROM_SILENT,(uint8_t*)&SilentMode,sizeof(SilentMode)); +uint8_t SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); SilentModeMenu = SilentMode; #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); - if((SilentMode == 0) || (farm_mode) ){ + if((SilentMode == SILENT_MODE_OFF) || (farm_mode) ){ motor_current_setting[0] = motor_current_setting_loud[0]; motor_current_setting[1] = motor_current_setting_loud[1]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7b0270cf9..ab8191765 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -123,7 +123,7 @@ int8_t ReInitLCD = 0; int8_t SDscrool = 0; -int8_t SilentModeMenu = 0; +int8_t SilentModeMenu = SILENT_MODE_OFF; int8_t FSensorStateMenu = 1; @@ -3466,10 +3466,7 @@ static void lcd_crash_mode_info() tim = millis(); } if (lcd_clicked()) - { - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 18); - else lcd_goto_menu(lcd_settings_menu, 16, true, true); - } + menu_action_back(); } static void lcd_crash_mode_info2() @@ -3482,13 +3479,7 @@ static void lcd_crash_mode_info2() tim = millis(); } if (lcd_clicked()) - { -//-// if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) lcd_goto_menu(lcd_tune_menu, 16); - if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL)) menu_action_back(); -//-// else lcd_goto_menu(lcd_settings_menu, 14, true, true); -//-// else lcd_goto_menu(lcd_settings_menu, 7, true, true); - else menu_action_back(); - } + menu_action_back(); } #endif //TMC2130 @@ -3507,14 +3498,16 @@ static void lcd_fsensor_fail() static void lcd_silent_mode_set() { switch (SilentModeMenu) { - case 0: SilentModeMenu = 1; break; #ifdef TMC2130 - case 1: SilentModeMenu = 0; break; + case SILENT_MODE_NORMAL: SilentModeMenu = SILENT_MODE_STEALTH; break; + case SILENT_MODE_STEALTH: SilentModeMenu = SILENT_MODE_NORMAL; break; + default: SilentModeMenu = SILENT_MODE_NORMAL; break; // (probably) not needed #else - case 1: SilentModeMenu = 2; break; - case 2: SilentModeMenu = 0; break; + case SILENT_MODE_POWER: SilentModeMenu = SILENT_MODE_SILENT; break; + case SILENT_MODE_SILENT: SilentModeMenu = SILENT_MODE_AUTO; break; + case SILENT_MODE_AUTO: SilentModeMenu = SILENT_MODE_POWER; break; + default: SilentModeMenu = SILENT_MODE_POWER; break; // (probably) not needed #endif //TMC2130 - default: SilentModeMenu = 0; break; } eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); #ifdef TMC2130 @@ -3526,7 +3519,7 @@ static void lcd_silent_mode_set() { // else // MYSERIAL.print("standstill NG!"); cli(); - tmc2130_mode = SilentModeMenu?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; + tmc2130_mode = (SilentModeMenu != SILENT_MODE_NORMAL)?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; tmc2130_init(); // We may have missed a stepper timer interrupt due to the time spent in tmc2130_init. // Be safe than sorry, reset the stepper timer before re-enabling interrupts. @@ -3535,8 +3528,7 @@ static void lcd_silent_mode_set() { #endif //TMC2130 st_current_init(); #ifdef TMC2130 - if (CrashDetectMenu && SilentModeMenu) -//-// lcd_goto_menu(lcd_crash_mode_info2); + if (CrashDetectMenu && (SilentModeMenu != SILENT_MODE_NORMAL)) menu_action_submenu(lcd_crash_mode_info2); #endif //TMC2130 } @@ -4000,10 +3992,10 @@ static void lcd_settings_menu() #ifndef TMC2130 if (!farm_mode) { //dont show in menu if we are in farm mode switch (SilentModeMenu) { - case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; - case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; - case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; - default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case SILENT_MODE_POWER: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case SILENT_MODE_SILENT: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; + case SILENT_MODE_AUTO: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; + default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; // (probably) not needed } } #endif //TMC2130 @@ -4044,9 +4036,10 @@ static void lcd_settings_menu() } #ifdef TMC2130 - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); +//*** MaR::180416_01a + if (SilentModeMenu == SILENT_MODE_NORMAL) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); - if (SilentModeMenu == 0) + if (SilentModeMenu == SILENT_MODE_NORMAL) { if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); @@ -4947,37 +4940,30 @@ void change_extr(int extr) { //switches multiplexer for extruders disable_e1(); disable_e2(); -#ifdef SNMM snmm_extruder = extr; -#endif pinMode(E_MUX0_PIN, OUTPUT); pinMode(E_MUX1_PIN, OUTPUT); - pinMode(E_MUX2_PIN, OUTPUT); switch (extr) { case 1: WRITE(E_MUX0_PIN, HIGH); WRITE(E_MUX1_PIN, LOW); - WRITE(E_MUX2_PIN, LOW); break; case 2: WRITE(E_MUX0_PIN, LOW); WRITE(E_MUX1_PIN, HIGH); - WRITE(E_MUX2_PIN, LOW); break; case 3: WRITE(E_MUX0_PIN, HIGH); WRITE(E_MUX1_PIN, HIGH); - WRITE(E_MUX2_PIN, LOW); break; default: WRITE(E_MUX0_PIN, LOW); WRITE(E_MUX1_PIN, LOW); - WRITE(E_MUX2_PIN, LOW); break; } @@ -4985,7 +4971,7 @@ void change_extr(int extr) { //switches multiplexer for extruders } static int get_ext_nr() { //reads multiplexer input pins and return current extruder number (counted from 0) - return(4 * READ(E_MUX2_PIN) + 2 * READ(E_MUX1_PIN) + READ(E_MUX0_PIN)); + return(2 * READ(E_MUX1_PIN) + READ(E_MUX0_PIN)); } @@ -4998,7 +4984,7 @@ void display_loading() { } } -static void extr_adj(int extruder) //loading filament for SNMM +void extr_adj(int extruder) //loading filament for SNMM { bool correct; max_feedrate[E_AXIS] =80; @@ -5042,7 +5028,7 @@ static void extr_adj(int extruder) //loading filament for SNMM void extr_unload() { //unloads filament float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; - int8_t SilentMode; + uint8_t SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); if (degHotend0() > EXTRUDE_MINTEMP) { lcd_implementation_clear(); @@ -5089,7 +5075,7 @@ void extr_unload() { //unloads filament plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder); st_synchronize(); //st_current_init(); - if (SilentMode == 1) st_current_set(2, tmp_motor[2]); //set back to normal operation currents + if (SilentMode != SILENT_MODE_OFF) st_current_set(2, tmp_motor[2]); //set back to normal operation currents else st_current_set(2, tmp_motor_loud[2]); lcd_update_enable(true); lcd_return_to_status(); @@ -5708,18 +5694,19 @@ static void lcd_autostart_sd() static void lcd_silent_mode_set_tune() { switch (SilentModeMenu) { - case 0: SilentModeMenu = 1; break; #ifdef TMC2130 - case 1: SilentModeMenu = 0; break; + case SILENT_MODE_NORMAL: SilentModeMenu = SILENT_MODE_STEALTH; break; + case SILENT_MODE_STEALTH: SilentModeMenu = SILENT_MODE_NORMAL; break; + default: SilentModeMenu = SILENT_MODE_NORMAL; break; // (probably) not needed #else - case 1: SilentModeMenu = 2; break; - case 2: SilentModeMenu = 0; break; + case SILENT_MODE_POWER: SilentModeMenu = SILENT_MODE_SILENT; break; + case SILENT_MODE_SILENT: SilentModeMenu = SILENT_MODE_AUTO; break; + case SILENT_MODE_AUTO: SilentModeMenu = SILENT_MODE_POWER; break; + default: SilentModeMenu = SILENT_MODE_POWER; break; // (probably) not needed #endif //TMC2130 - default: SilentModeMenu = 0; break; } eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); st_current_init(); -//-// lcd_goto_menu(lcd_tune_menu, 9); menu_action_back(); } @@ -5775,10 +5762,11 @@ static void lcd_tune_menu() #endif //DEBUG_DISABLE_FSENSORCHECK #ifdef TMC2130 - if (SilentModeMenu == 0) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); +//*** MaR::180416_01b + if (SilentModeMenu == SILENT_MODE_NORMAL) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); - if (SilentModeMenu == 0) + if (SilentModeMenu == SILENT_MODE_NORMAL) { if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); @@ -5787,10 +5775,10 @@ static void lcd_tune_menu() #else //TMC2130 if (!farm_mode) { //dont show in menu if we are in farm mode switch (SilentModeMenu) { - case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; - case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; - case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; - default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case SILENT_MODE_POWER: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; + case SILENT_MODE_SILENT: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; + case SILENT_MODE_AUTO: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; + default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; // (probably) not needed } } #endif //TMC2130 @@ -6580,7 +6568,8 @@ static bool lcd_selfcheck_pulleys(int axis) st_current_set(0, 850); //set motor current higher plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 200, active_extruder); st_synchronize(); - if (SilentModeMenu == 1) st_current_set(0, tmp_motor[0]); //set back to normal operation currents +//*** MaR::180416_02 + if (SilentModeMenu != SILENT_MODE_OFF) st_current_set(0, tmp_motor[0]); //set back to normal operation currents else st_current_set(0, tmp_motor_loud[0]); //set motor current back current_position[axis] = current_position[axis] - move; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 6e20dc800..d4cf22848 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -120,6 +120,16 @@ void lcd_mylang(); extern int farm_no; extern int farm_timer; extern int farm_status; + #ifdef TMC2130 + #define SILENT_MODE_NORMAL 0 + #define SILENT_MODE_STEALTH 1 + #define SILENT_MODE_OFF SILENT_MODE_NORMAL + #else + #define SILENT_MODE_POWER 0 + #define SILENT_MODE_SILENT 1 + #define SILENT_MODE_AUTO 2 + #define SILENT_MODE_OFF SILENT_MODE_POWER + #endif extern int8_t SilentModeMenu; #ifdef SNMM @@ -229,7 +239,7 @@ extern void lcd_implementation_print_at(uint8_t x, uint8_t y, const char *str); void change_extr(int extr); static void lcd_colorprint_change(); static int get_ext_nr(); -static void extr_adj(int extruder); +void extr_adj(int extruder); static void extr_adj_0(); static void extr_adj_1(); static void extr_adj_2(); diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 4e4309b38..24132e6eb 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -678,16 +678,16 @@ uint8_t xyzcal_xycoords2point(int16_t x, int16_t y) } //MK3 -#if ((MOTHERBOARD == 310)) +#if ((MOTHERBOARD == BOARD_EINSY_1_0a)) const int16_t PROGMEM xyzcal_point_xcoords[4] = {1200, 22000, 22000, 1200}; const int16_t PROGMEM xyzcal_point_ycoords[4] = {600, 600, 19800, 19800}; -#endif //((MOTHERBOARD == 310)) +#endif //((MOTHERBOARD == BOARD_EINSY_1_0a)) //MK2.5 -#if ((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) +#if ((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3)) const int16_t PROGMEM xyzcal_point_xcoords[4] = {1200, 22000, 22000, 1200}; const int16_t PROGMEM xyzcal_point_ycoords[4] = {700, 700, 19800, 19800}; -#endif //((MOTHERBOARD == 200) || (MOTHERBOARD == 203)) +#endif //((MOTHERBOARD == BOARD_RAMBO_MINI_1_0) || (MOTHERBOARD == BOARD_RAMBO_MINI_1_3)) const uint16_t PROGMEM xyzcal_point_pattern[12] = {0x000, 0x0f0, 0x1f8, 0x3fc, 0x7fe, 0x7fe, 0x7fe, 0x7fe, 0x3fc, 0x1f8, 0x0f0, 0x000}; From 2f49574822bb3c421ed73b3cb58e0dbccbbc6a58 Mon Sep 17 00:00:00 2001 From: MRprusa3d <38257799+MRprusa3d@users.noreply.github.com> Date: Wed, 25 Apr 2018 18:48:15 +0000 Subject: [PATCH 190/926] Add files via upload --- Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 2 +- Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 2 +- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h index c1d34eec8..538f62b02 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -203,7 +203,7 @@ MOTOR CURRENT SETTINGS #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 203 || MOTHERBOARD == 200 +#if MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 #define MOTOR_CURRENT_PWM_RANGE 2000 #define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index cd1bf9f93..2879f975d 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -247,7 +247,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 203 || MOTHERBOARD == 200 +#if MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 #define MOTOR_CURRENT_PWM_RANGE 2000 #define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 3f12358fc..d087ca4e6 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -366,7 +366,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define DIGIPOT_MOTOR_CURRENT_LOUD {135,135,135,135,135} // Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range -#if MOTHERBOARD == 200 || MOTHERBOARD == 203 +#if MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 #define MOTOR_CURRENT_PWM_RANGE 2000 #define DEFAULT_PWM_MOTOR_CURRENT {400, 750, 750} // {XY,Z,E} #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {400, 750, 750} // {XY,Z,E} @@ -465,7 +465,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o *------------------------------------*/ #define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 40 +#define FARM_PREHEAT_HPB_TEMP 60 #define FARM_PREHEAT_FAN_SPEED 0 #define PLA_PREHEAT_HOTEND_TEMP 215 From cf0c83a6c1205d0aed5e33f2db0903d8c6389243 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 25 Apr 2018 21:23:38 +0200 Subject: [PATCH 191/926] M27 fix --- Firmware/cardreader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 021ab2690..26c9ef40e 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -524,7 +524,7 @@ void CardReader::getStatus() SERIAL_PROTOCOLPGM("\n"); } else{ - SERIAL_PROTOCOLLNRPGM("Not printing"); + SERIAL_PROTOCOLLNPGM("Not printing"); } } void CardReader::write_command(char *buf) From 46813618838e6f31c13f6ef6a5b7ee32e7212640 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 26 Apr 2018 11:50:48 +0200 Subject: [PATCH 192/926] correction in M27 message --- Firmware/cardreader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 26c9ef40e..740a9cc61 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -524,7 +524,7 @@ void CardReader::getStatus() SERIAL_PROTOCOLPGM("\n"); } else{ - SERIAL_PROTOCOLLNPGM("Not printing"); + SERIAL_PROTOCOLLNPGM("Not SD printing"); } } void CardReader::write_command(char *buf) From f64d266c895a84ea5e300700018b13f1048137b2 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 26 Apr 2018 14:50:01 +0200 Subject: [PATCH 193/926] Timer in autoloadmenu - dirty hack (unable to compile under 4.8.1) --- Firmware/ultralcd.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 1140bde20..a9518158e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -111,7 +111,8 @@ union MenuData struct AutoLoadFilamentMenu { - Timer timer; + //Timer timer; + char dummy; } autoLoadFilamentMenu; }; @@ -2085,12 +2086,13 @@ static void lcd_menu_AutoLoadFilament() } else { - if (!menuData.autoLoadFilamentMenu.timer.running()) menuData.autoLoadFilamentMenu.timer.start(); + Timer* ptimer = (Timer*)&(menuData.autoLoadFilamentMenu.dummy); + if (!ptimer->running()) ptimer->start(); lcd.setCursor(0, 0); lcd_printPGM(MSG_ERROR); lcd.setCursor(0, 2); lcd_printPGM(MSG_PREHEAT_NOZZLE); - if (menuData.autoLoadFilamentMenu.timer.expired(2000ul)) menu_action_back(); + if (ptimer->expired(2000ul)) menu_action_back(); } if (lcd_clicked()) menu_action_back(); } From 84a53370d36f73b0f3cdc273f38ca9ccb8eb7783 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 26 Apr 2018 14:50:16 +0200 Subject: [PATCH 194/926] temporary change in MK3 variants file: disable forced selftest --- Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index bbb114991..6468b73f5 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -615,4 +615,6 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o //#define SUPPORT_VERBOSITY +#define DEBUG_DISABLE_FORCE_SELFTEST //temporary change for test purposes + #endif //__CONFIGURATION_PRUSA_H From 2657d3febde27bb79665d8b1716c59d85d4f1a5d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 26 Apr 2018 15:12:45 +0200 Subject: [PATCH 195/926] MK25: SILENT_MODE_NORMAL changed to SILENT_MODE_POWER --- Firmware/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 981d34de8..1102e1114 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6051,7 +6051,7 @@ Sigma_Exit: tmc2130_set_current_r(E_AXIS, tmc2130_current_r_bckp); #else uint8_t silentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); - if(silentMode != SILENT_MODE_NORMAL) st_current_set(2, tmp_motor[2]); //set E back to normal operation currents + if(silentMode != SILENT_MODE_POWER) st_current_set(2, tmp_motor[2]); //set E back to normal operation currents else st_current_set(2, tmp_motor_loud[2]); #endif //TMC2130 From ae08788c99ea77ad5a08e22fc156430b537322ac Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Wed, 18 Apr 2018 23:30:01 +0200 Subject: [PATCH 196/926] Split lcd_service_mode_show_result screens to separate functions. Make them non blocking. Remove global array distance_from_min, pass it as function return value. Make Support submenus returning to Support menu. --- Firmware/Marlin.h | 1 - Firmware/Marlin_main.cpp | 2 - Firmware/mesh_bed_calibration.cpp | 11 +-- Firmware/mesh_bed_calibration.h | 3 +- Firmware/ultralcd.cpp | 112 +++++++++++++++--------------- Firmware/ultralcd.h | 2 - 6 files changed, 65 insertions(+), 66 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c540b13b4..5767b8b21 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -343,7 +343,6 @@ extern unsigned long t_fan_rising_edge; extern bool mesh_bed_leveling_flag; extern bool mesh_bed_run_from_menu; -extern float distance_from_min[2]; extern bool sortAlpha; extern char dir_names[3][9]; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 1102e1114..833cea94d 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -324,8 +324,6 @@ unsigned int custom_message_type; unsigned int custom_message_state; char snmm_filaments_used = 0; -float distance_from_min[2]; - bool fan_state[2]; int fan_edge_counter[2]; int fan_speed[2]; diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 266733c8c..907136b64 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2960,8 +2960,8 @@ void babystep_reset() babystepLoadZ = 0; } -void count_xyz_details() { - float a1, a2; +DistanceMin count_xyz_details() { + DistanceMin distanceMin; float cntr[2] = { eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_CENTER + 0)), eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_CENTER + 4)) @@ -2974,12 +2974,15 @@ void count_xyz_details() { eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y + 0)), eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y + 4)) }; +#if 0 a2 = -1 * asin(vec_y[0] / MACHINE_AXIS_SCALE_Y); a1 = asin(vec_x[1] / MACHINE_AXIS_SCALE_X); - //angleDiff = fabs(a2 - a1); + angleDiff = fabs(a2 - a1); +#endif for (uint8_t mesh_point = 0; mesh_point < 2; ++mesh_point) { float y = vec_x[1] * pgm_read_float(bed_ref_points_4 + mesh_point * 2) + vec_y[1] * pgm_read_float(bed_ref_points_4 + mesh_point * 2 + 1) + cntr[1]; - distance_from_min[mesh_point] = (y - Y_MIN_POS_CALIBRATION_POINT_OUT_OF_REACH); + distanceMin.d[mesh_point] = (y - Y_MIN_POS_CALIBRATION_POINT_OUT_OF_REACH); } + return distanceMin; } diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index ced77cf61..34def34a1 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -181,7 +181,8 @@ extern void babystep_undo(); // Reset the current babystep counter without moving the axes. extern void babystep_reset(); -extern void count_xyz_details(); +typedef struct{ float d[2];} DistanceMin; +extern DistanceMin count_xyz_details(); extern bool sample_z(); #endif /* MESH_BED_CALIBRATION_H */ diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a9518158e..ac5d3bcf4 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -222,6 +222,8 @@ static void prusa_stat_temperatures(); static void prusa_stat_printinfo(); static void lcd_farm_no(); static void lcd_menu_extruder_info(); +static void lcd_menu_xyz_y_min(); +static void lcd_menu_xyz_skew(); #if defined(TMC2130) || defined(PAT9125) static void lcd_menu_fails_stats(); #endif //TMC2130 or PAT9125 @@ -1582,7 +1584,7 @@ static void lcd_menu_extruder_info() if (lcd_clicked()) { lcd_quick_feedback(); - lcd_return_to_status(); + menu_action_back(); } } @@ -1686,7 +1688,7 @@ static void lcd_menu_debug() if (lcd_clicked()) { lcd_quick_feedback(); - lcd_return_to_status(); + menu_action_back(); } } #endif /* DEBUG_BUILD */ @@ -1703,7 +1705,7 @@ static void lcd_menu_temperatures() if (lcd_clicked()) { lcd_quick_feedback(); - lcd_return_to_status(); + menu_action_back(); } } @@ -1721,7 +1723,7 @@ static void lcd_menu_voltages() if (lcd_clicked()) { lcd_quick_feedback(); - lcd_return_to_status(); + menu_action_back(); } } #endif //defined VOLT_BED_PIN || defined VOLT_PWR_PIN @@ -1733,7 +1735,7 @@ static void lcd_menu_belt_status() if (lcd_clicked()) { lcd_quick_feedback(); - lcd_return_to_status(); + menu_action_back(); } } #endif //TMC2130 @@ -1831,7 +1833,7 @@ static void lcd_support_menu() } #ifndef MK1BP MENU_ITEM(back, PSTR("------------"), 0); - if (!IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) MENU_ITEM(function, MSG_XYZ_DETAILS, lcd_service_mode_show_result); + if (!IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) MENU_ITEM(submenu, MSG_XYZ_DETAILS, lcd_menu_xyz_y_min); MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info); #ifdef TMC2130 @@ -2285,62 +2287,60 @@ static void lcd_move_e() } } -void lcd_service_mode_show_result() { - float angleDiff; - lcd_set_custom_characters_degree(); - count_xyz_details(); - angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW)); - lcd_update_enable(false); - lcd_implementation_clear(); - lcd_printPGM(MSG_Y_DISTANCE_FROM_MIN); - lcd_print_at_PGM(0, 1, MSG_LEFT); - lcd_print_at_PGM(0, 2, MSG_RIGHT); +static void lcd_menu_xyz_y_min() +{ + lcd.setCursor(0,0); + lcd_printPGM(MSG_Y_DISTANCE_FROM_MIN); + lcd_print_at_PGM(0, 1, PSTR("--------------------")); + lcd_print_at_PGM(0, 2, MSG_LEFT); + lcd_print_at_PGM(0, 3, MSG_RIGHT); - for (int i = 0; i < 2; i++) { - if(distance_from_min[i] < 200) { - lcd_print_at_PGM(11, i + 1, PSTR("")); - lcd.print(distance_from_min[i]); - lcd_print_at_PGM((distance_from_min[i] < 0) ? 17 : 16, i + 1, PSTR("mm")); - } else lcd_print_at_PGM(11, i + 1, PSTR("N/A")); - } - delay_keep_alive(500); - KEEPALIVE_STATE(PAUSED_FOR_USER); - while (!lcd_clicked()) { - delay_keep_alive(100); - } - delay_keep_alive(500); - lcd_implementation_clear(); - + DistanceMin distanceMin = count_xyz_details(); - lcd_printPGM(MSG_MEASURED_SKEW); - if (angleDiff < 100) { - lcd.setCursor(15, 0); - lcd.print(angleDiff * 180 / M_PI); - lcd.print(LCD_STR_DEGREE); - }else lcd_print_at_PGM(16, 0, PSTR("N/A")); - lcd_print_at_PGM(0, 1, PSTR("--------------------")); - lcd_print_at_PGM(0, 2, MSG_SLIGHT_SKEW); - lcd_print_at_PGM(15, 2, PSTR("")); - lcd.print(bed_skew_angle_mild * 180 / M_PI); - lcd.print(LCD_STR_DEGREE); - lcd_print_at_PGM(0, 3, MSG_SEVERE_SKEW); - lcd_print_at_PGM(15, 3, PSTR("")); - lcd.print(bed_skew_angle_extreme * 180 / M_PI); - lcd.print(LCD_STR_DEGREE); - delay_keep_alive(500); - while (!lcd_clicked()) { - delay_keep_alive(100); - } - KEEPALIVE_STATE(NOT_BUSY); - delay_keep_alive(500); - lcd_set_custom_characters_arrows(); - lcd_return_to_status(); - lcd_update_enable(true); - lcd_update(2); + for (int i = 0; i < 2; i++) { + if(distanceMin.d[i] < 200) { + lcd_print_at_PGM(11, i + 2, PSTR("")); + lcd.print(distanceMin.d[i]); + lcd_print_at_PGM((distanceMin.d[i] < 0) ? 17 : 16, i + 2, PSTR("mm")); + } else lcd_print_at_PGM(11, i + 2, PSTR("N/A")); + } + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_set_custom_characters_degree(); + lcd_goto_menu(lcd_menu_xyz_skew); + } } +static void lcd_menu_xyz_skew() +{ + float angleDiff; + angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW)); + lcd.setCursor(0,0); + lcd_printPGM(MSG_MEASURED_SKEW); + if (angleDiff < 100) { + lcd.setCursor(15, 0); + lcd.print(angleDiff * 180 / M_PI); + lcd.print(LCD_STR_DEGREE); + }else lcd_print_at_PGM(16, 0, PSTR("N/A")); + lcd_print_at_PGM(0, 1, PSTR("--------------------")); + lcd_print_at_PGM(0, 2, MSG_SLIGHT_SKEW); + lcd_print_at_PGM(15, 2, PSTR("")); + lcd.print(bed_skew_angle_mild * 180 / M_PI); + lcd.print(LCD_STR_DEGREE); + lcd_print_at_PGM(0, 3, MSG_SEVERE_SKEW); + lcd_print_at_PGM(15, 3, PSTR("")); + lcd.print(bed_skew_angle_extreme * 180 / M_PI); + lcd.print(LCD_STR_DEGREE); + if (lcd_clicked()) + { + lcd_set_custom_characters_arrows(); + lcd_quick_feedback(); + menu_action_back(); + } +} // Save a single axis babystep value. void EEPROM_save_B(int pos, int* value) diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 740dd738d..4107bc72b 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -296,8 +296,6 @@ void lcd_temp_calibration_set(); void display_loading(); -void lcd_service_mode_show_result(); - #if !SDSORT_USES_RAM void lcd_set_degree(); void lcd_set_progress(); From d6aa149cfa37de60b8d5a50d2cee15cb1fd9a6ee Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 19 Apr 2018 00:15:08 +0200 Subject: [PATCH 197/926] Conserve 58 bytes of flash by returning by reference. --- Firmware/mesh_bed_calibration.cpp | 6 ++---- Firmware/mesh_bed_calibration.h | 4 ++-- Firmware/ultralcd.cpp | 9 +++++---- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 907136b64..b82966620 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2960,8 +2960,7 @@ void babystep_reset() babystepLoadZ = 0; } -DistanceMin count_xyz_details() { - DistanceMin distanceMin; +void count_xyz_details(float (&distanceMin)[2]) { float cntr[2] = { eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_CENTER + 0)), eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_CENTER + 4)) @@ -2981,8 +2980,7 @@ DistanceMin count_xyz_details() { #endif for (uint8_t mesh_point = 0; mesh_point < 2; ++mesh_point) { float y = vec_x[1] * pgm_read_float(bed_ref_points_4 + mesh_point * 2) + vec_y[1] * pgm_read_float(bed_ref_points_4 + mesh_point * 2 + 1) + cntr[1]; - distanceMin.d[mesh_point] = (y - Y_MIN_POS_CALIBRATION_POINT_OUT_OF_REACH); + distanceMin[mesh_point] = (y - Y_MIN_POS_CALIBRATION_POINT_OUT_OF_REACH); } - return distanceMin; } diff --git a/Firmware/mesh_bed_calibration.h b/Firmware/mesh_bed_calibration.h index 34def34a1..d1fa65236 100644 --- a/Firmware/mesh_bed_calibration.h +++ b/Firmware/mesh_bed_calibration.h @@ -181,8 +181,8 @@ extern void babystep_undo(); // Reset the current babystep counter without moving the axes. extern void babystep_reset(); -typedef struct{ float d[2];} DistanceMin; -extern DistanceMin count_xyz_details(); + +extern void count_xyz_details(float (&distanceMin)[2]); extern bool sample_z(); #endif /* MESH_BED_CALIBRATION_H */ diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index ac5d3bcf4..32f03f80e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2295,13 +2295,14 @@ static void lcd_menu_xyz_y_min() lcd_print_at_PGM(0, 2, MSG_LEFT); lcd_print_at_PGM(0, 3, MSG_RIGHT); - DistanceMin distanceMin = count_xyz_details(); + float distanceMin[2]; + count_xyz_details(distanceMin); for (int i = 0; i < 2; i++) { - if(distanceMin.d[i] < 200) { + if(distanceMin[i] < 200) { lcd_print_at_PGM(11, i + 2, PSTR("")); - lcd.print(distanceMin.d[i]); - lcd_print_at_PGM((distanceMin.d[i] < 0) ? 17 : 16, i + 2, PSTR("mm")); + lcd.print(distanceMin[i]); + lcd_print_at_PGM((distanceMin[i] < 0) ? 17 : 16, i + 2, PSTR("mm")); } else lcd_print_at_PGM(11, i + 2, PSTR("N/A")); } if (lcd_clicked()) From c1dd269a9278674c50ec42e53060488a9751631b Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 19 Apr 2018 00:22:21 +0200 Subject: [PATCH 198/926] Fix missing degree symbol after returning to status screen. Those lcd_set_custom_characters* calls were redundant. --- Firmware/ultralcd.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 32f03f80e..71134c305 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2308,7 +2308,6 @@ static void lcd_menu_xyz_y_min() if (lcd_clicked()) { lcd_quick_feedback(); - lcd_set_custom_characters_degree(); lcd_goto_menu(lcd_menu_xyz_skew); } } @@ -2337,7 +2336,6 @@ static void lcd_menu_xyz_skew() if (lcd_clicked()) { - lcd_set_custom_characters_arrows(); lcd_quick_feedback(); menu_action_back(); } From b6888470cfa80451e34755474b6a5b8edc02700d Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 19 Apr 2018 00:49:42 +0200 Subject: [PATCH 199/926] Save 42 bytes of flash by removing duplicate string "--------------------". --- Firmware/ultralcd.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 71134c305..08ba18ca4 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -192,6 +192,8 @@ unsigned char firstrun = 1; #include "ultralcd_implementation_hitachi_HD44780.h" +static const char separator[] PROGMEM = "--------------------"; + /** forward declarations **/ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, uint8_t &nlines); @@ -2291,7 +2293,7 @@ static void lcd_menu_xyz_y_min() { lcd.setCursor(0,0); lcd_printPGM(MSG_Y_DISTANCE_FROM_MIN); - lcd_print_at_PGM(0, 1, PSTR("--------------------")); + lcd_print_at_PGM(0, 1, separator); lcd_print_at_PGM(0, 2, MSG_LEFT); lcd_print_at_PGM(0, 3, MSG_RIGHT); @@ -2324,7 +2326,7 @@ static void lcd_menu_xyz_skew() lcd.print(angleDiff * 180 / M_PI); lcd.print(LCD_STR_DEGREE); }else lcd_print_at_PGM(16, 0, PSTR("N/A")); - lcd_print_at_PGM(0, 1, PSTR("--------------------")); + lcd_print_at_PGM(0, 1, separator); lcd_print_at_PGM(0, 2, MSG_SLIGHT_SKEW); lcd_print_at_PGM(15, 2, PSTR("")); lcd.print(bed_skew_angle_mild * 180 / M_PI); @@ -7138,7 +7140,7 @@ static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bo if (_step == 13) lcd_printPGM(PSTR("Calibrating home")); lcd.setCursor(0, 1); - lcd.print("--------------------"); + lcd_printPGM(separator); if ((_step >= -1) && (_step <= 1)) { //SERIAL_ECHOLNPGM("Fan test"); From 1a80fc28e8779315a2653fb206eef07729396ea5 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 19 Apr 2018 14:17:46 +0200 Subject: [PATCH 200/926] Add zero point offset information support menu. Note: XYZ menu is shown only if not printing and printer must me homed to show non-zero value. --- Firmware/language_all.cpp | 5 +++++ Firmware/language_all.h | 2 ++ Firmware/language_en.h | 1 + Firmware/ultralcd.cpp | 22 ++++++++++++++++++++++ 4 files changed, 30 insertions(+) diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 2be14ede8..510d2e68f 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -1161,6 +1161,11 @@ const char * const MSG_MAX_LANG_TABLE[1] PROGMEM = { MSG_MAX_EN }; +const char MSG_MEASURED_OFFSET_EN[] PROGMEM = "[0;0] point offset"; +const char * const MSG_MEASURED_OFFSET_LANG_TABLE[1] PROGMEM = { + MSG_MEASURED_OFFSET_EN +}; + const char MSG_MEASURED_SKEW_EN[] PROGMEM = "Measured skew:"; const char MSG_MEASURED_SKEW_CZ[] PROGMEM = "Merene zkoseni:"; const char * const MSG_MEASURED_SKEW_LANG_TABLE[LANG_NUM] PROGMEM = { diff --git a/Firmware/language_all.h b/Firmware/language_all.h index 992d602c9..c7353d966 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -392,6 +392,8 @@ extern const char* const MSG_MARK_FIL_LANG_TABLE[LANG_NUM]; #define MSG_MARK_FIL LANG_TABLE_SELECT(MSG_MARK_FIL_LANG_TABLE) extern const char* const MSG_MAX_LANG_TABLE[1]; #define MSG_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_MAX_LANG_TABLE, 0) +extern const char* const MSG_MEASURED_OFFSET_LANG_TABLE[1]; +#define MSG_MEASURED_OFFSET LANG_TABLE_SELECT_EXPLICIT(MSG_MEASURED_OFFSET_LANG_TABLE, 0) extern const char* const MSG_MEASURED_SKEW_LANG_TABLE[LANG_NUM]; #define MSG_MEASURED_SKEW LANG_TABLE_SELECT(MSG_MEASURED_SKEW_LANG_TABLE) extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE[LANG_NUM]; diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 695546a85..9b1e86e52 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -218,6 +218,7 @@ #define(length=17,lines=1) MSG_SHOW_END_STOPS "Show end stops" #define MSG_CALIBRATE_BED "Calibrate XYZ" #define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr." +#define MSG_MEASURED_OFFSET "[0;0] point offset" #define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." #define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done." diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 08ba18ca4..ec9252ab1 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -226,6 +226,7 @@ static void lcd_farm_no(); static void lcd_menu_extruder_info(); static void lcd_menu_xyz_y_min(); static void lcd_menu_xyz_skew(); +static void lcd_menu_xyz_offset(); #if defined(TMC2130) || defined(PAT9125) static void lcd_menu_fails_stats(); #endif //TMC2130 or PAT9125 @@ -2336,6 +2337,27 @@ static void lcd_menu_xyz_skew() lcd.print(bed_skew_angle_extreme * 180 / M_PI); lcd.print(LCD_STR_DEGREE); + if (lcd_clicked()) + { + lcd_quick_feedback(); + lcd_goto_menu(lcd_menu_xyz_offset); + } +} + +static void lcd_menu_xyz_offset() +{ + lcd.setCursor(0,0); + lcd_printPGM(MSG_MEASURED_OFFSET); + lcd_print_at_PGM(0, 1, separator); + lcd_print_at_PGM(0, 2, PSTR("X")); + lcd_print_at_PGM(0, 3, PSTR("Y")); + + for (int i = 0; i < 2; i++) + { + lcd_print_at_PGM(11, i + 2, PSTR("")); + lcd.print(world2machine_shift[i]); + lcd_print_at_PGM((world2machine_shift[i] < 0) ? 17 : 16, i + 2, PSTR("mm")); + } if (lcd_clicked()) { lcd_quick_feedback(); From ab68221976c3a6ac95215ac407defe4d218e328e Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Mon, 23 Apr 2018 21:23:36 +0200 Subject: [PATCH 201/926] Always show XYZ cal. details menu. --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index ec9252ab1..ef3926772 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1836,7 +1836,7 @@ static void lcd_support_menu() } #ifndef MK1BP MENU_ITEM(back, PSTR("------------"), 0); - if (!IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) MENU_ITEM(submenu, MSG_XYZ_DETAILS, lcd_menu_xyz_y_min); + MENU_ITEM(submenu, MSG_XYZ_DETAILS, lcd_menu_xyz_y_min); MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info); #ifdef TMC2130 From d50dd9a6e90300036a4e395b6feb33c5a7f04f36 Mon Sep 17 00:00:00 2001 From: Robert Pelnar Date: Thu, 26 Apr 2018 18:41:56 +0200 Subject: [PATCH 202/926] XYZcal - findpointcenter starting Z coordinate down by 50um --- Firmware/xyzcal.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 14ff7475d..9eb58fd93 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -492,7 +492,8 @@ int8_t xyzcal_find_point_center2(uint16_t delay_us) xyzcal_lineXYZ_to(_X, _Y, z0 + 400, 500, -1); xyzcal_lineXYZ_to(_X, _Y, z0 - 400, 500, 1); - z0 = _Z; + z0 = _Z - 20; + xyzcal_lineXYZ_to(_X, _Y, z0, 500, 0); // xyzcal_lineXYZ_to(x0, y0, z0 - 100, 500, 1); // z0 = _Z; From 9c3e0aab36c55ae9983d3442ae26491f2a87149d Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 26 Apr 2018 18:55:08 +0200 Subject: [PATCH 203/926] M861 update: use signed values --- Firmware/Marlin_main.cpp | 57 +++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 1102e1114..a36843710 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1270,13 +1270,9 @@ void setup() if (eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA) == 255) { //eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 0); //40C - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 0); //45C - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 0); //50C - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 0); //55C - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 0); //60C - - eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 0); + int16_t z_shift = 0; + for (uint8_t i = 0; i < 5; i++) EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); + eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 0); temp_cal_active = false; } if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 255) { @@ -6332,14 +6328,15 @@ Sigma_Exit: break; } case 861: // M861 - Set/Read PINDA temperature compensation offsets - if (code_seen('?')) { // ? - Print out current EEPRO offset values + if (code_seen('?')) { // ? - Print out current EEPROM offset values uint8_t cal_status = calibration_status_pinda(); - cal_status ? SERIAL_PROTOCOLLN("PINDA cal status: 1") : SERIAL_PROTOCOLLN("PINDA cal status: 0"); + int16_t usteps = 0; + int16_t z_shift = 0; + cal_status ? SERIAL_PROTOCOLLN("PINDA cal status: 1") : SERIAL_PROTOCOLLN("PINDA cal status: 0"); SERIAL_PROTOCOLLN("index, temp, ustep, um"); - for (uint8_t i = 0; i < 6; i++) + for (uint8_t i = 0; i < 6; i++) { - uint16_t usteps = 0; - if (i > 0) usteps = eeprom_read_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + (i - 1)); + if(i>0) EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + (i-1) * 2, &usteps); float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); SERIAL_PROTOCOLPGM(", "); @@ -6351,36 +6348,36 @@ Sigma_Exit: SERIAL_PROTOCOLLN(""); } } - else if (code_seen('!')) { // ! - Set factory default values - eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 8); //40C - 20um - 8usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 24); //45C - 60um - 24usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 48); //50C - 120um - 48usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 80); //55C - 200um - 80usteps - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 120); //60C - 300um - 120usteps - SERIAL_PROTOCOLLN("factory restored"); - } + else if (code_seen('!')) { // ! - Set factory default values + eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + z_shift = 8; //40C - 20um - 8usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT, &z_shift); + z_shift = 24; //45C - 60um - 24usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 2, &z_shift); + z_shift = 48; //50C - 120um - 48usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 4, &z_shift); + z_shift = 80; //55C - 200um - 80usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 6, &z_shift); + z_shift = 120; //60C - 300um - 120usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 8, &z_shift); + SERIAL_PROTOCOLLN("factory restored"); + } else if (code_seen('Z')) { // Z - Set all values to 0 (effectively disabling PINDA temperature compensation) eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 0, 0); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 1, 0); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 2, 0); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 3, 0); - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + 4, 0); + for (uint8_t i = 0; i < 5; i++) EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); SERIAL_PROTOCOLLN("zerorized"); } else if (code_seen('S')) { // Sxxx Iyyy - Set compensation ustep value S for compensation table index I - uint16_t usteps = code_value(); + usteps = code_value(); if (code_seen('I')) { byte index = code_value(); if ((index >= 0) && (index < 5)) { - eeprom_write_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + index, usteps); + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + index * 2, &usteps); SERIAL_PROTOCOLLN("OK"); SERIAL_PROTOCOLLN("index, temp, ustep, um"); for (uint8_t i = 0; i < 6; i++) { - uint16_t usteps = 0; - if (i > 0) usteps = eeprom_read_word(((uint16_t*)EEPROM_PROBE_TEMP_SHIFT) + (i - 1)); + if (i>0) EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + (i - 1) * 2, &usteps); float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); SERIAL_PROTOCOLPGM(", "); From 2dd0d84845876e1b6e3d3eeee04ba8ad6491343a Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 26 Apr 2018 19:14:28 +0200 Subject: [PATCH 204/926] M861: usteps and z_shift variables correction --- Firmware/Marlin_main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index a36843710..a7ee593d3 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6328,10 +6328,9 @@ Sigma_Exit: break; } case 861: // M861 - Set/Read PINDA temperature compensation offsets - if (code_seen('?')) { // ? - Print out current EEPROM offset values + if (code_seen('?')) { // ? - Print out current EEPROM offset values uint8_t cal_status = calibration_status_pinda(); int16_t usteps = 0; - int16_t z_shift = 0; cal_status ? SERIAL_PROTOCOLLN("PINDA cal status: 1") : SERIAL_PROTOCOLLN("PINDA cal status: 0"); SERIAL_PROTOCOLLN("index, temp, ustep, um"); for (uint8_t i = 0; i < 6; i++) @@ -6350,7 +6349,7 @@ Sigma_Exit: } else if (code_seen('!')) { // ! - Set factory default values eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - z_shift = 8; //40C - 20um - 8usteps + int16_t z_shift = 8; //40C - 20um - 8usteps EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT, &z_shift); z_shift = 24; //45C - 60um - 24usteps EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 2, &z_shift); @@ -6364,11 +6363,12 @@ Sigma_Exit: } else if (code_seen('Z')) { // Z - Set all values to 0 (effectively disabling PINDA temperature compensation) eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + int16_t z_shift = 0; for (uint8_t i = 0; i < 5; i++) EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); SERIAL_PROTOCOLLN("zerorized"); } else if (code_seen('S')) { // Sxxx Iyyy - Set compensation ustep value S for compensation table index I - usteps = code_value(); + int16_t usteps = code_value(); if (code_seen('I')) { byte index = code_value(); if ((index >= 0) && (index < 5)) { From e7cf68e038aed4301d1b786b60101975145eb8f7 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 26 Apr 2018 19:27:07 +0200 Subject: [PATCH 205/926] whitespace --- Firmware/Marlin_main.cpp | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index a7ee593d3..7eec062bf 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1270,9 +1270,9 @@ void setup() if (eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA) == 255) { //eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - int16_t z_shift = 0; - for (uint8_t i = 0; i < 5; i++) EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); - eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 0); + int16_t z_shift = 0; + for (uint8_t i = 0; i < 5; i++) EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); + eeprom_write_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE, 0); temp_cal_active = false; } if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == 255) { @@ -6328,14 +6328,14 @@ Sigma_Exit: break; } case 861: // M861 - Set/Read PINDA temperature compensation offsets - if (code_seen('?')) { // ? - Print out current EEPROM offset values + if (code_seen('?')) { // ? - Print out current EEPROM offset values uint8_t cal_status = calibration_status_pinda(); - int16_t usteps = 0; - cal_status ? SERIAL_PROTOCOLLN("PINDA cal status: 1") : SERIAL_PROTOCOLLN("PINDA cal status: 0"); + int16_t usteps = 0; + cal_status ? SERIAL_PROTOCOLLN("PINDA cal status: 1") : SERIAL_PROTOCOLLN("PINDA cal status: 0"); SERIAL_PROTOCOLLN("index, temp, ustep, um"); - for (uint8_t i = 0; i < 6; i++) + for (uint8_t i = 0; i < 6; i++) { - if(i>0) EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + (i-1) * 2, &usteps); + if(i>0) EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + (i-1) * 2, &usteps); float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); SERIAL_PROTOCOLPGM(", "); @@ -6347,24 +6347,24 @@ Sigma_Exit: SERIAL_PROTOCOLLN(""); } } - else if (code_seen('!')) { // ! - Set factory default values - eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - int16_t z_shift = 8; //40C - 20um - 8usteps - EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT, &z_shift); - z_shift = 24; //45C - 60um - 24usteps - EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 2, &z_shift); - z_shift = 48; //50C - 120um - 48usteps - EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 4, &z_shift); - z_shift = 80; //55C - 200um - 80usteps - EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 6, &z_shift); - z_shift = 120; //60C - 300um - 120usteps - EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 8, &z_shift); - SERIAL_PROTOCOLLN("factory restored"); - } + else if (code_seen('!')) { // ! - Set factory default values + eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); + int16_t z_shift = 8; //40C - 20um - 8usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT, &z_shift); + z_shift = 24; //45C - 60um - 24usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 2, &z_shift); + z_shift = 48; //50C - 120um - 48usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 4, &z_shift); + z_shift = 80; //55C - 200um - 80usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 6, &z_shift); + z_shift = 120; //60C - 300um - 120usteps + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + 8, &z_shift); + SERIAL_PROTOCOLLN("factory restored"); + } else if (code_seen('Z')) { // Z - Set all values to 0 (effectively disabling PINDA temperature compensation) eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1); - int16_t z_shift = 0; - for (uint8_t i = 0; i < 5; i++) EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); + int16_t z_shift = 0; + for (uint8_t i = 0; i < 5; i++) EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + i * 2, &z_shift); SERIAL_PROTOCOLLN("zerorized"); } else if (code_seen('S')) { // Sxxx Iyyy - Set compensation ustep value S for compensation table index I @@ -6372,12 +6372,12 @@ Sigma_Exit: if (code_seen('I')) { byte index = code_value(); if ((index >= 0) && (index < 5)) { - EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + index * 2, &usteps); + EEPROM_save_B(EEPROM_PROBE_TEMP_SHIFT + index * 2, &usteps); SERIAL_PROTOCOLLN("OK"); SERIAL_PROTOCOLLN("index, temp, ustep, um"); for (uint8_t i = 0; i < 6; i++) { - if (i>0) EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + (i - 1) * 2, &usteps); + if (i>0) EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + (i - 1) * 2, &usteps); float mm = ((float)usteps) / axis_steps_per_unit[Z_AXIS]; i == 0 ? SERIAL_PROTOCOLPGM("n/a") : SERIAL_PROTOCOL(i - 1); SERIAL_PROTOCOLPGM(", "); From bfad069dbf77fc65cba30dc18bb8643dace388e9 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 26 Apr 2018 20:04:56 +0200 Subject: [PATCH 206/926] ArduinoAddons removed --- .../Arduino_1.0.x/hardware/OMC_tkj/boards.txt | 23 - .../bootloaders/OMC/bootloader-644-20MHz.hex | 75 - .../bootloaders/atmega644p/ATmegaBOOT.c | 713 - .../atmega644p/ATmegaBOOT_324P.hex | 121 - .../bootloaders/atmega644p/ATmegaBOOT_644.hex | 120 - .../atmega644p/ATmegaBOOT_644P.hex | 121 - .../OMC_tkj/bootloaders/atmega644p/Makefile | 56 - .../OMC_tkj/bootloaders/atmega644p/README.txt | 3 - .../OMC_tkj/variants/sanguino/pins_arduino.h | 269 - .../hardware/Sanguino/boards.txt | 83 - .../bootloaders/atmega/ATmegaBOOT_168.c | 1071 - .../atmega/ATmegaBOOT_168_atmega1284p.hex | 130 - .../atmega/ATmegaBOOT_168_atmega1284p_8m.hex | 130 - .../atmega/ATmegaBOOT_168_atmega644p.hex | 126 - .../Sanguino/bootloaders/atmega/Makefile | 254 - .../bootloaders/atmega644p/ATmegaBOOT.c | 717 - .../bootloaders/atmega644p/ATmegaBOOT.c.tst | 388 - .../atmega644p/ATmegaBOOT_644P.elf | Bin 13832 -> 0 bytes .../atmega644p/ATmegaBOOT_644P.hex | 110 - .../Sanguino/bootloaders/atmega644p/Makefile | 56 - .../bootloaders/atmega644p/README.txt | 3 - .../hardware/Sanguino/cores/arduino/Arduino.h | 215 - .../hardware/Sanguino/cores/arduino/CDC.cpp | 239 - .../hardware/Sanguino/cores/arduino/Client.h | 26 - .../hardware/Sanguino/cores/arduino/HID.cpp | 520 - .../Sanguino/cores/arduino/HardwareSerial.cpp | 519 - .../Sanguino/cores/arduino/HardwareSerial.h | 115 - .../Sanguino/cores/arduino/IPAddress.cpp | 56 - .../Sanguino/cores/arduino/IPAddress.h | 76 - .../Sanguino/cores/arduino/Platform.h | 23 - .../hardware/Sanguino/cores/arduino/Print.cpp | 268 - .../hardware/Sanguino/cores/arduino/Print.h | 81 - .../Sanguino/cores/arduino/Printable.h | 40 - .../hardware/Sanguino/cores/arduino/Server.h | 9 - .../Sanguino/cores/arduino/Stream.cpp | 270 - .../hardware/Sanguino/cores/arduino/Stream.h | 96 - .../hardware/Sanguino/cores/arduino/Tone.cpp | 616 - .../hardware/Sanguino/cores/arduino/USBAPI.h | 196 - .../Sanguino/cores/arduino/USBCore.cpp | 684 - .../hardware/Sanguino/cores/arduino/USBCore.h | 303 - .../hardware/Sanguino/cores/arduino/USBDesc.h | 63 - .../hardware/Sanguino/cores/arduino/Udp.h | 88 - .../Sanguino/cores/arduino/WCharacter.h | 168 - .../Sanguino/cores/arduino/WInterrupts.c | 322 - .../hardware/Sanguino/cores/arduino/WMath.cpp | 60 - .../Sanguino/cores/arduino/WString.cpp | 645 - .../hardware/Sanguino/cores/arduino/WString.h | 205 - .../hardware/Sanguino/cores/arduino/binary.h | 515 - .../hardware/Sanguino/cores/arduino/main.cpp | 20 - .../hardware/Sanguino/cores/arduino/new.cpp | 18 - .../hardware/Sanguino/cores/arduino/new.h | 22 - .../hardware/Sanguino/cores/arduino/wiring.c | 324 - .../Sanguino/cores/arduino/wiring_analog.c | 282 - .../Sanguino/cores/arduino/wiring_digital.c | 178 - .../Sanguino/cores/arduino/wiring_private.h | 71 - .../Sanguino/cores/arduino/wiring_pulse.c | 69 - .../Sanguino/cores/arduino/wiring_shift.c | 55 - .../Sanguino/variants/standard/pins_arduino.h | 285 - .../Arduino_1.0.x/hardware/rambo/boards.txt | 22 - .../hardware/rambo/cores/arduino/Arduino.h | 215 - .../hardware/rambo/cores/arduino/CDC.cpp | 239 - .../hardware/rambo/cores/arduino/Client.h | 26 - .../hardware/rambo/cores/arduino/HID.cpp | 520 - .../rambo/cores/arduino/HardwareSerial.cpp | 519 - .../rambo/cores/arduino/HardwareSerial.h | 115 - .../rambo/cores/arduino/IPAddress.cpp | 56 - .../hardware/rambo/cores/arduino/IPAddress.h | 76 - .../hardware/rambo/cores/arduino/Platform.h | 23 - .../hardware/rambo/cores/arduino/Print.cpp | 268 - .../hardware/rambo/cores/arduino/Print.h | 81 - .../hardware/rambo/cores/arduino/Printable.h | 40 - .../hardware/rambo/cores/arduino/Server.h | 9 - .../hardware/rambo/cores/arduino/Stream.cpp | 270 - .../hardware/rambo/cores/arduino/Stream.h | 96 - .../hardware/rambo/cores/arduino/Tone.cpp | 616 - .../hardware/rambo/cores/arduino/USBAPI.h | 196 - .../hardware/rambo/cores/arduino/USBCore.cpp | 684 - .../hardware/rambo/cores/arduino/USBCore.h | 303 - .../hardware/rambo/cores/arduino/USBDesc.h | 63 - .../hardware/rambo/cores/arduino/Udp.h | 88 - .../hardware/rambo/cores/arduino/WCharacter.h | 168 - .../rambo/cores/arduino/WInterrupts.c | 322 - .../hardware/rambo/cores/arduino/WMath.cpp | 60 - .../hardware/rambo/cores/arduino/WString.cpp | 645 - .../hardware/rambo/cores/arduino/WString.h | 205 - .../hardware/rambo/cores/arduino/binary.h | 515 - .../hardware/rambo/cores/arduino/main.cpp | 20 - .../hardware/rambo/cores/arduino/new.cpp | 18 - .../hardware/rambo/cores/arduino/new.h | 22 - .../hardware/rambo/cores/arduino/wiring.c | 324 - .../rambo/cores/arduino/wiring_analog.c | 282 - .../rambo/cores/arduino/wiring_digital.c | 178 - .../rambo/cores/arduino/wiring_private.h | 71 - .../rambo/cores/arduino/wiring_pulse.c | 69 - .../rambo/cores/arduino/wiring_shift.c | 55 - .../rambo/variants/standard/pins_arduino.h | 411 - .../libraries/LiquidCrystal/LiquidCrystal.cpp | 310 - .../libraries/LiquidCrystal/LiquidCrystal.h | 106 - .../libraries/LiquidCrystal/keywords.txt | 37 - .../Arduino_1.0.x/libraries/SPI/SPI.cpp | 66 - .../Arduino_1.0.x/libraries/SPI/SPI.h | 70 - .../Arduino_1.0.x/libraries/SPI/keywords.txt | 36 - .../Arduino_1.0.x/libraries/U8glib/ChangeLog | 162 - .../libraries/U8glib/INSTALL.TXT | 26 - .../Arduino_1.0.x/libraries/U8glib/U8glib.cpp | 79 - .../Arduino_1.0.x/libraries/U8glib/U8glib.h | 1268 - .../U8glib/examples/A2Printer/A2Printer.ino | 131 - .../U8glib/examples/Bitmap/Bitmap.ino | 166 - .../libraries/U8glib/examples/Chess/Chess.ino | 216 - .../libraries/U8glib/examples/Color/Color.ino | 201 - .../U8glib/examples/Console/Console.ino | 266 - .../libraries/U8glib/examples/F/F.ino | 175 - .../libraries/U8glib/examples/FPS/FPS.ino | 398 - .../examples/GraphicsTest/GraphicsTest.ino | 300 - .../U8glib/examples/HelloWorld/HelloWorld.ino | 177 - .../libraries/U8glib/examples/Menu/Menu.ino | 273 - .../U8glib/examples/PrintTest/PrintTest.ino | 160 - .../U8glib/examples/Rotation/Rotation.ino | 188 - .../libraries/U8glib/examples/Scale/Scale.ino | 177 - .../U8glib/examples/TextRotX/TextRotX.ino | 190 - .../examples/Touch4WSetup/Touch4WSetup.ino | 348 - .../examples/Touch4WTest/Touch4WTest.ino | 335 - .../U8glib/examples/U8gLogo/U8gLogo.ino | 230 - .../libraries/U8glib/examples/XBM/XBM.ino | 172 - .../libraries/U8glib/license.txt | 81 - .../libraries/U8glib/utility/chessengine.c | 2392 - .../libraries/U8glib/utility/u8g.h | 1977 - .../libraries/U8glib/utility/u8g_bitmap.c | 177 - .../libraries/U8glib/utility/u8g_circle.c | 382 - .../libraries/U8glib/utility/u8g_clip.c | 156 - .../libraries/U8glib/utility/u8g_com_api.c | 173 - .../U8glib/utility/u8g_com_api_16gr.c | 94 - .../utility/u8g_com_arduino_attiny85_hw_spi.c | 160 - .../U8glib/utility/u8g_com_arduino_common.c | 75 - .../utility/u8g_com_arduino_fast_parallel.c | 254 - .../U8glib/utility/u8g_com_arduino_hw_spi.c | 438 - .../utility/u8g_com_arduino_hw_usart_spi.c | 159 - .../utility/u8g_com_arduino_no_en_parallel.c | 234 - .../U8glib/utility/u8g_com_arduino_parallel.c | 184 - .../utility/u8g_com_arduino_port_d_wr.c | 177 - .../U8glib/utility/u8g_com_arduino_ssd_i2c.c | 212 - .../utility/u8g_com_arduino_st7920_custom.c | 330 - .../utility/u8g_com_arduino_st7920_hw_spi.c | 293 - .../utility/u8g_com_arduino_st7920_spi.c | 330 - .../utility/u8g_com_arduino_std_sw_spi.c | 143 - .../U8glib/utility/u8g_com_arduino_sw_spi.c | 301 - .../U8glib/utility/u8g_com_arduino_t6963.c | 403 - .../U8glib/utility/u8g_com_arduino_uc_i2c.c | 206 - .../U8glib/utility/u8g_com_atmega_hw_spi.c | 188 - .../U8glib/utility/u8g_com_atmega_parallel.c | 183 - .../utility/u8g_com_atmega_st7920_hw_spi.c | 216 - .../utility/u8g_com_atmega_st7920_spi.c | 170 - .../U8glib/utility/u8g_com_atmega_sw_spi.c | 141 - .../libraries/U8glib/utility/u8g_com_i2c.c | 642 - .../libraries/U8glib/utility/u8g_com_io.c | 273 - .../libraries/U8glib/utility/u8g_com_null.c | 63 - .../utility/u8g_com_raspberrypi_hw_spi.c | 124 - .../utility/u8g_com_raspberrypi_ssd_i2c.c | 176 - .../libraries/U8glib/utility/u8g_cursor.c | 99 - .../libraries/U8glib/utility/u8g_delay.c | 262 - .../U8glib/utility/u8g_dev_a2_micro_printer.c | 199 - .../U8glib/utility/u8g_dev_flipdisc_2x7.c | 92 - .../libraries/U8glib/utility/u8g_dev_gprof.c | 130 - .../libraries/U8glib/utility/u8g_dev_ht1632.c | 281 - .../U8glib/utility/u8g_dev_ili9325d_320x240.c | 326 - .../U8glib/utility/u8g_dev_ks0108_128x64.c | 110 - .../U8glib/utility/u8g_dev_lc7981_160x80.c | 147 - .../U8glib/utility/u8g_dev_lc7981_240x128.c | 145 - .../U8glib/utility/u8g_dev_lc7981_240x64.c | 145 - .../U8glib/utility/u8g_dev_lc7981_320x64.c | 151 - .../U8glib/utility/u8g_dev_ld7032_60x32.c | 232 - .../libraries/U8glib/utility/u8g_dev_null.c | 67 - .../U8glib/utility/u8g_dev_pcd8544_84x48.c | 141 - .../U8glib/utility/u8g_dev_pcf8812_96x65.c | 138 - .../U8glib/utility/u8g_dev_sbn1661_122x32.c | 107 - .../U8glib/utility/u8g_dev_ssd1306_128x32.c | 289 - .../U8glib/utility/u8g_dev_ssd1306_128x64.c | 412 - .../U8glib/utility/u8g_dev_ssd1309_128x64.c | 144 - .../utility/u8g_dev_ssd1322_nhd31oled_bw.c | 338 - .../utility/u8g_dev_ssd1322_nhd31oled_gr.c | 338 - .../utility/u8g_dev_ssd1325_nhd27oled_bw.c | 263 - .../u8g_dev_ssd1325_nhd27oled_bw_new.c | 232 - .../utility/u8g_dev_ssd1325_nhd27oled_gr.c | 255 - .../u8g_dev_ssd1325_nhd27oled_gr_new.c | 227 - .../U8glib/utility/u8g_dev_ssd1327_96x96_gr.c | 299 - .../U8glib/utility/u8g_dev_ssd1351_128x128.c | 787 - .../U8glib/utility/u8g_dev_st7565_64128n.c | 203 - .../U8glib/utility/u8g_dev_st7565_dogm128.c | 190 - .../U8glib/utility/u8g_dev_st7565_dogm132.c | 157 - .../U8glib/utility/u8g_dev_st7565_lm6059.c | 205 - .../U8glib/utility/u8g_dev_st7565_lm6063.c | 236 - .../utility/u8g_dev_st7565_nhd_c12832.c | 145 - .../utility/u8g_dev_st7565_nhd_c12864.c | 194 - .../U8glib/utility/u8g_dev_st7687_c144mvgd.c | 420 - .../U8glib/utility/u8g_dev_st7920_128x64.c | 175 - .../U8glib/utility/u8g_dev_st7920_192x32.c | 151 - .../U8glib/utility/u8g_dev_st7920_202x32.c | 154 - .../U8glib/utility/u8g_dev_t6963_128x128.c | 193 - .../U8glib/utility/u8g_dev_t6963_128x64.c | 191 - .../U8glib/utility/u8g_dev_t6963_240x128.c | 195 - .../U8glib/utility/u8g_dev_t6963_240x64.c | 195 - .../U8glib/utility/u8g_dev_tls8204_84x48.c | 115 - .../U8glib/utility/u8g_dev_uc1601_c128032.c | 201 - .../U8glib/utility/u8g_dev_uc1608_240x128.c | 200 - .../U8glib/utility/u8g_dev_uc1608_240x64.c | 168 - .../U8glib/utility/u8g_dev_uc1610_dogxl160.c | 290 - .../U8glib/utility/u8g_dev_uc1611_dogm240.c | 116 - .../U8glib/utility/u8g_dev_uc1611_dogxl240.c | 116 - .../U8glib/utility/u8g_dev_uc1701_dogs102.c | 157 - .../U8glib/utility/u8g_dev_uc1701_mini12864.c | 158 - .../libraries/U8glib/utility/u8g_ellipse.c | 393 - .../libraries/U8glib/utility/u8g_font.c | 1500 - .../libraries/U8glib/utility/u8g_font_data.c | 88464 ---------------- .../libraries/U8glib/utility/u8g_line.c | 81 - .../libraries/U8glib/utility/u8g_ll_api.c | 573 - .../libraries/U8glib/utility/u8g_page.c | 81 - .../libraries/U8glib/utility/u8g_pb.c | 191 - .../libraries/U8glib/utility/u8g_pb14v1.c | 200 - .../libraries/U8glib/utility/u8g_pb16h1.c | 213 - .../libraries/U8glib/utility/u8g_pb16h2.c | 208 - .../libraries/U8glib/utility/u8g_pb16v1.c | 200 - .../libraries/U8glib/utility/u8g_pb16v2.c | 172 - .../libraries/U8glib/utility/u8g_pb32h1.c | 208 - .../libraries/U8glib/utility/u8g_pb8h1.c | 389 - .../libraries/U8glib/utility/u8g_pb8h1f.c | 194 - .../libraries/U8glib/utility/u8g_pb8h2.c | 167 - .../libraries/U8glib/utility/u8g_pb8h8.c | 185 - .../libraries/U8glib/utility/u8g_pb8v1.c | 184 - .../libraries/U8glib/utility/u8g_pb8v2.c | 153 - .../libraries/U8glib/utility/u8g_pbxh16.c | 184 - .../libraries/U8glib/utility/u8g_pbxh24.c | 287 - .../libraries/U8glib/utility/u8g_polygon.c | 334 - .../libraries/U8glib/utility/u8g_rect.c | 232 - .../libraries/U8glib/utility/u8g_rot.c | 409 - .../libraries/U8glib/utility/u8g_scale.c | 188 - .../libraries/U8glib/utility/u8g_state.c | 158 - .../libraries/U8glib/utility/u8g_u16toa.c | 68 - .../libraries/U8glib/utility/u8g_u8toa.c | 68 - .../U8glib/utility/u8g_virtual_screen.c | 145 - .../hardware/marlin/avr/boards.txt | 159 - .../avr/bootloaders/atmega/ATmegaBOOT_168.c | 1071 - .../atmega/ATmegaBOOT_168_atmega1284p.hex | 130 - .../atmega/ATmegaBOOT_168_atmega1284p_8m.hex | 130 - .../atmega/ATmegaBOOT_168_atmega644p.hex | 126 - .../marlin/avr/bootloaders/atmega/Makefile | 254 - .../bootloaders/brainwave/BootloaderHID.hex | 139 - .../brainwave/Brainwave-646-LUFA.hex | 239 - .../brainwave/BrainwavePro-1286-LUFA.hex | 247 - .../marlin/avr/cores/brainwave/Arduino.h | 215 - .../marlin/avr/cores/brainwave/CDC.cpp | 236 - .../marlin/avr/cores/brainwave/Client.h | 26 - .../marlin/avr/cores/brainwave/HID.cpp | 520 - .../avr/cores/brainwave/HardwareSerial.cpp | 428 - .../avr/cores/brainwave/HardwareSerial.h | 81 - .../marlin/avr/cores/brainwave/IPAddress.cpp | 56 - .../marlin/avr/cores/brainwave/IPAddress.h | 76 - .../marlin/avr/cores/brainwave/Platform.h | 23 - .../marlin/avr/cores/brainwave/Print.cpp | 263 - .../marlin/avr/cores/brainwave/Print.h | 78 - .../marlin/avr/cores/brainwave/Printable.h | 40 - .../marlin/avr/cores/brainwave/Server.h | 9 - .../marlin/avr/cores/brainwave/Stream.cpp | 270 - .../marlin/avr/cores/brainwave/Stream.h | 96 - .../marlin/avr/cores/brainwave/Tone.cpp | 601 - .../marlin/avr/cores/brainwave/USBAPI.h | 195 - .../marlin/avr/cores/brainwave/USBCore.cpp | 670 - .../marlin/avr/cores/brainwave/USBCore.h | 307 - .../marlin/avr/cores/brainwave/USBDesc.h | 62 - .../hardware/marlin/avr/cores/brainwave/Udp.h | 88 - .../marlin/avr/cores/brainwave/WCharacter.h | 168 - .../marlin/avr/cores/brainwave/WInterrupts.c | 298 - .../marlin/avr/cores/brainwave/WMath.cpp | 60 - .../marlin/avr/cores/brainwave/WString.cpp | 645 - .../marlin/avr/cores/brainwave/WString.h | 205 - .../marlin/avr/cores/brainwave/binary.h | 515 - .../marlin/avr/cores/brainwave/main.cpp | 20 - .../marlin/avr/cores/brainwave/new.cpp | 18 - .../hardware/marlin/avr/cores/brainwave/new.h | 22 - .../marlin/avr/cores/brainwave/wiring.c | 324 - .../avr/cores/brainwave/wiring_analog.c | 282 - .../avr/cores/brainwave/wiring_digital.c | 178 - .../avr/cores/brainwave/wiring_private.h | 69 - .../marlin/avr/cores/brainwave/wiring_pulse.c | 69 - .../marlin/avr/cores/brainwave/wiring_shift.c | 55 - .../marlin/avr/firmwares/Brainwave.inf | 106 - .../libraries/LiquidCrystal/LiquidCrystal.cpp | 310 - .../libraries/LiquidCrystal/LiquidCrystal.h | 106 - .../avr/libraries/LiquidCrystal/keywords.txt | 37 - .../hardware/marlin/avr/libraries/SPI/SPI.cpp | 66 - .../hardware/marlin/avr/libraries/SPI/SPI.h | 70 - .../marlin/avr/libraries/SPI/keywords.txt | 36 - .../marlin/avr/libraries/U8glib/ChangeLog | 114 - .../marlin/avr/libraries/U8glib/INSTALL.TXT | 21 - .../marlin/avr/libraries/U8glib/U8glib.cpp | 80 - .../marlin/avr/libraries/U8glib/U8glib.h | 826 - .../U8glib/examples/Bitmap/Bitmap.pde | 130 - .../libraries/U8glib/examples/Chess/Chess.pde | 180 - .../U8glib/examples/Console/Console.pde | 230 - .../avr/libraries/U8glib/examples/F/F.pde | 139 - .../examples/GraphicsTest/GraphicsTest.pde | 223 - .../U8glib/examples/HelloWorld/HelloWorld.pde | 136 - .../libraries/U8glib/examples/Menu/Menu.pde | 234 - .../U8glib/examples/PrintTest/PrintTest.pde | 124 - .../U8glib/examples/Rotation/Rotation.pde | 152 - .../libraries/U8glib/examples/Scale/Scale.pde | 141 - .../U8glib/examples/TextRotX/TextRotX.pde | 154 - .../U8glib/examples/U8gLogo/U8gLogo.pde | 179 - .../avr/libraries/U8glib/examples/XBM/XBM.pde | 136 - .../marlin/avr/libraries/U8glib/license.txt | 80 - .../libraries/U8glib/utility/chessengine.c | 2392 - .../marlin/avr/libraries/U8glib/utility/u8g.h | 1607 - .../avr/libraries/U8glib/utility/u8g_bitmap.c | 177 - .../avr/libraries/U8glib/utility/u8g_circle.c | 382 - .../avr/libraries/U8glib/utility/u8g_clip.c | 156 - .../libraries/U8glib/utility/u8g_com_api.c | 173 - .../U8glib/utility/u8g_com_api_16gr.c | 94 - .../U8glib/utility/u8g_com_arduino_common.c | 75 - .../utility/u8g_com_arduino_fast_parallel.c | 245 - .../U8glib/utility/u8g_com_arduino_hw_spi.c | 191 - .../utility/u8g_com_arduino_no_en_parallel.c | 221 - .../U8glib/utility/u8g_com_arduino_parallel.c | 187 - .../utility/u8g_com_arduino_port_d_wr.c | 168 - .../U8glib/utility/u8g_com_arduino_ssd_i2c.c | 201 - .../utility/u8g_com_arduino_st7920_hw_spi.c | 220 - .../utility/u8g_com_arduino_st7920_spi.c | 295 - .../utility/u8g_com_arduino_std_sw_spi.c | 144 - .../U8glib/utility/u8g_com_arduino_sw_spi.c | 239 - .../U8glib/utility/u8g_com_arduino_t6963.c | 385 - .../U8glib/utility/u8g_com_atmega_hw_spi.c | 174 - .../U8glib/utility/u8g_com_atmega_parallel.c | 183 - .../utility/u8g_com_atmega_st7920_hw_spi.c | 205 - .../utility/u8g_com_atmega_st7920_spi.c | 170 - .../U8glib/utility/u8g_com_atmega_sw_spi.c | 141 - .../libraries/U8glib/utility/u8g_com_i2c.c | 249 - .../avr/libraries/U8glib/utility/u8g_com_io.c | 218 - .../libraries/U8glib/utility/u8g_com_null.c | 63 - .../avr/libraries/U8glib/utility/u8g_cursor.c | 99 - .../avr/libraries/U8glib/utility/u8g_delay.c | 215 - .../U8glib/utility/u8g_dev_flipdisc_2x7.c | 92 - .../libraries/U8glib/utility/u8g_dev_gprof.c | 130 - .../U8glib/utility/u8g_dev_ili9325d_320x240.c | 326 - .../U8glib/utility/u8g_dev_ks0108_128x64.c | 110 - .../U8glib/utility/u8g_dev_lc7981_160x80.c | 147 - .../U8glib/utility/u8g_dev_lc7981_240x128.c | 145 - .../U8glib/utility/u8g_dev_lc7981_240x64.c | 145 - .../U8glib/utility/u8g_dev_lc7981_320x64.c | 145 - .../libraries/U8glib/utility/u8g_dev_null.c | 67 - .../U8glib/utility/u8g_dev_pcd8544_84x48.c | 110 - .../U8glib/utility/u8g_dev_pcf8812_96x65.c | 123 - .../U8glib/utility/u8g_dev_sbn1661_122x32.c | 107 - .../U8glib/utility/u8g_dev_ssd1306_128x32.c | 247 - .../U8glib/utility/u8g_dev_ssd1306_128x64.c | 237 - .../U8glib/utility/u8g_dev_ssd1309_128x64.c | 144 - .../utility/u8g_dev_ssd1322_nhd31oled_bw.c | 334 - .../utility/u8g_dev_ssd1322_nhd31oled_gr.c | 333 - .../utility/u8g_dev_ssd1325_nhd27oled_bw.c | 263 - .../u8g_dev_ssd1325_nhd27oled_bw_new.c | 232 - .../utility/u8g_dev_ssd1325_nhd27oled_gr.c | 255 - .../u8g_dev_ssd1325_nhd27oled_gr_new.c | 227 - .../U8glib/utility/u8g_dev_ssd1327_96x96_gr.c | 299 - .../U8glib/utility/u8g_dev_st7565_64128n.c | 153 - .../U8glib/utility/u8g_dev_st7565_dogm128.c | 140 - .../U8glib/utility/u8g_dev_st7565_dogm132.c | 157 - .../U8glib/utility/u8g_dev_st7565_lm6059.c | 157 - .../U8glib/utility/u8g_dev_st7565_lm6063.c | 188 - .../utility/u8g_dev_st7565_nhd_c12832.c | 143 - .../utility/u8g_dev_st7565_nhd_c12864.c | 145 - .../U8glib/utility/u8g_dev_st7687_c144mvgd.c | 420 - .../U8glib/utility/u8g_dev_st7920_128x64.c | 171 - .../U8glib/utility/u8g_dev_st7920_192x32.c | 151 - .../U8glib/utility/u8g_dev_st7920_202x32.c | 154 - .../U8glib/utility/u8g_dev_t6963_128x64.c | 191 - .../U8glib/utility/u8g_dev_t6963_240x128.c | 195 - .../U8glib/utility/u8g_dev_t6963_240x64.c | 195 - .../U8glib/utility/u8g_dev_tls8204_84x48.c | 115 - .../U8glib/utility/u8g_dev_uc1610_dogxl160.c | 290 - .../U8glib/utility/u8g_dev_uc1701_dogs102.c | 113 - .../U8glib/utility/u8g_dev_uc1701_mini12864.c | 114 - .../libraries/U8glib/utility/u8g_ellipse.c | 100 - .../avr/libraries/U8glib/utility/u8g_font.c | 1422 - .../libraries/U8glib/utility/u8g_font_data.c | 84486 --------------- .../avr/libraries/U8glib/utility/u8g_line.c | 81 - .../avr/libraries/U8glib/utility/u8g_ll_api.c | 456 - .../avr/libraries/U8glib/utility/u8g_page.c | 81 - .../avr/libraries/U8glib/utility/u8g_pb.c | 191 - .../avr/libraries/U8glib/utility/u8g_pb14v1.c | 200 - .../avr/libraries/U8glib/utility/u8g_pb16h1.c | 213 - .../avr/libraries/U8glib/utility/u8g_pb16h2.c | 182 - .../avr/libraries/U8glib/utility/u8g_pb16v1.c | 200 - .../avr/libraries/U8glib/utility/u8g_pb16v2.c | 172 - .../avr/libraries/U8glib/utility/u8g_pb32h1.c | 208 - .../avr/libraries/U8glib/utility/u8g_pb8h1.c | 389 - .../avr/libraries/U8glib/utility/u8g_pb8h1f.c | 194 - .../avr/libraries/U8glib/utility/u8g_pb8h2.c | 167 - .../avr/libraries/U8glib/utility/u8g_pb8h8.c | 179 - .../avr/libraries/U8glib/utility/u8g_pb8v1.c | 184 - .../avr/libraries/U8glib/utility/u8g_pb8v2.c | 153 - .../avr/libraries/U8glib/utility/u8g_rect.c | 232 - .../avr/libraries/U8glib/utility/u8g_rot.c | 398 - .../avr/libraries/U8glib/utility/u8g_scale.c | 188 - .../avr/libraries/U8glib/utility/u8g_state.c | 102 - .../avr/libraries/U8glib/utility/u8g_u16toa.c | 68 - .../avr/libraries/U8glib/utility/u8g_u8toa.c | 68 - .../U8glib/utility/u8g_virtual_screen.c | 145 - .../marlin/avr/libraries/Wire/Wire.cpp | 303 - .../hardware/marlin/avr/libraries/Wire/Wire.h | 80 - .../SFRRanger_reader/SFRRanger_reader.ino | 87 - .../digital_potentiometer.ino | 39 - .../examples/master_reader/master_reader.ino | 32 - .../examples/master_writer/master_writer.ino | 31 - .../slave_receiver/slave_receiver.ino | 38 - .../examples/slave_sender/slave_sender.ino | 32 - .../marlin/avr/libraries/Wire/keywords.txt | 32 - .../avr/libraries/Wire/library.properties | 8 - .../marlin/avr/libraries/Wire/utility/twi.c | 527 - .../marlin/avr/libraries/Wire/utility/twi.h | 53 - .../hardware/marlin/avr/platform.local.txt | 0 .../hardware/marlin/avr/platform.txt | 119 - .../avr/variants/brainwave/pins_arduino.h | 281 - .../avr/variants/brainwavepro/pins_arduino.h | 278 - .../marlin/avr/variants/rambo/pins_arduino.h | 411 - .../avr/variants/sanguino/pins_arduino.h | 285 - .../hardware/marlin/avr/boards.txt | 284 - .../avr/bootloaders/SAVMkI/BootloaderHID.hex | 139 - .../bootloaders/SAVMkI/SAVMkI-1286-LUFA.hex | 247 - .../avr/bootloaders/SAVMkI/SAVMkI-CDC.hex | 249 - .../avr/bootloaders/at90usb/BootloaderHID.hex | 139 - .../at90usb/Brainwave-646-LUFA.hex | 239 - .../at90usb/BrainwavePro-1286-LUFA.hex | 247 - .../avr/bootloaders/atmega/ATmegaBOOT_168.c | 1071 - .../atmega/ATmegaBOOT_168_atmega1284p.hex | 130 - .../atmega/ATmegaBOOT_168_atmega1284p_8m.hex | 130 - .../atmega/ATmegaBOOT_168_atmega644p.hex | 126 - .../marlin/avr/bootloaders/atmega/Makefile | 254 - .../marlin/avr/cores/arduino/Arduino.h | 249 - .../hardware/marlin/avr/cores/arduino/CDC.cpp | 211 - .../marlin/avr/cores/arduino/Client.h | 45 - .../hardware/marlin/avr/cores/arduino/HID.cpp | 518 - .../avr/cores/arduino/HardwareSerial.cpp | 252 - .../marlin/avr/cores/arduino/HardwareSerial.h | 151 - .../avr/cores/arduino/HardwareSerial0.cpp | 79 - .../avr/cores/arduino/HardwareSerial1.cpp | 69 - .../avr/cores/arduino/HardwareSerial2.cpp | 57 - .../avr/cores/arduino/HardwareSerial3.cpp | 57 - .../cores/arduino/HardwareSerial_private.h | 123 - .../marlin/avr/cores/arduino/IPAddress.cpp | 74 - .../marlin/avr/cores/arduino/IPAddress.h | 75 - .../marlin/avr/cores/arduino/Print.cpp | 309 - .../hardware/marlin/avr/cores/arduino/Print.h | 94 - .../marlin/avr/cores/arduino/Printable.h | 40 - .../marlin/avr/cores/arduino/Server.h | 30 - .../marlin/avr/cores/arduino/Stream.cpp | 317 - .../marlin/avr/cores/arduino/Stream.h | 113 - .../marlin/avr/cores/arduino/Tone.cpp | 618 - .../marlin/avr/cores/arduino/USBAPI.h | 244 - .../marlin/avr/cores/arduino/USBCore.cpp | 699 - .../marlin/avr/cores/arduino/USBCore.h | 303 - .../marlin/avr/cores/arduino/USBDesc.h | 63 - .../hardware/marlin/avr/cores/arduino/Udp.h | 88 - .../marlin/avr/cores/arduino/WCharacter.h | 168 - .../marlin/avr/cores/arduino/WInterrupts.c | 334 - .../marlin/avr/cores/arduino/WMath.cpp | 60 - .../marlin/avr/cores/arduino/WString.cpp | 745 - .../marlin/avr/cores/arduino/WString.h | 224 - .../hardware/marlin/avr/cores/arduino/abi.cpp | 35 - .../marlin/avr/cores/arduino/binary.h | 534 - .../hardware/marlin/avr/cores/arduino/hooks.c | 31 - .../marlin/avr/cores/arduino/main.cpp | 49 - .../hardware/marlin/avr/cores/arduino/new.cpp | 36 - .../hardware/marlin/avr/cores/arduino/new.h | 30 - .../marlin/avr/cores/arduino/wiring.c | 325 - .../marlin/avr/cores/arduino/wiring_analog.c | 292 - .../marlin/avr/cores/arduino/wiring_digital.c | 181 - .../marlin/avr/cores/arduino/wiring_private.h | 71 - .../marlin/avr/cores/arduino/wiring_pulse.c | 85 - .../marlin/avr/cores/arduino/wiring_shift.c | 55 - .../marlin/avr/cores/at90usb/Arduino.h | 215 - .../hardware/marlin/avr/cores/at90usb/CDC.cpp | 236 - .../marlin/avr/cores/at90usb/Client.h | 26 - .../hardware/marlin/avr/cores/at90usb/HID.cpp | 520 - .../avr/cores/at90usb/HardwareSerial.cpp | 428 - .../marlin/avr/cores/at90usb/HardwareSerial.h | 81 - .../marlin/avr/cores/at90usb/IPAddress.cpp | 56 - .../marlin/avr/cores/at90usb/IPAddress.h | 76 - .../marlin/avr/cores/at90usb/Platform.h | 23 - .../marlin/avr/cores/at90usb/Print.cpp | 263 - .../hardware/marlin/avr/cores/at90usb/Print.h | 78 - .../marlin/avr/cores/at90usb/Printable.h | 40 - .../marlin/avr/cores/at90usb/Server.h | 9 - .../marlin/avr/cores/at90usb/Stream.cpp | 270 - .../marlin/avr/cores/at90usb/Stream.h | 96 - .../marlin/avr/cores/at90usb/Tone.cpp | 601 - .../marlin/avr/cores/at90usb/USBAPI.h | 195 - .../marlin/avr/cores/at90usb/USBCore.cpp | 670 - .../marlin/avr/cores/at90usb/USBCore.h | 307 - .../marlin/avr/cores/at90usb/USBDesc.h | 62 - .../hardware/marlin/avr/cores/at90usb/Udp.h | 88 - .../marlin/avr/cores/at90usb/WCharacter.h | 168 - .../marlin/avr/cores/at90usb/WInterrupts.c | 298 - .../marlin/avr/cores/at90usb/WMath.cpp | 60 - .../marlin/avr/cores/at90usb/WString.cpp | 645 - .../marlin/avr/cores/at90usb/WString.h | 205 - .../marlin/avr/cores/at90usb/binary.h | 515 - .../marlin/avr/cores/at90usb/main.cpp | 20 - .../hardware/marlin/avr/cores/at90usb/new.cpp | 18 - .../hardware/marlin/avr/cores/at90usb/new.h | 22 - .../marlin/avr/cores/at90usb/wiring.c | 324 - .../marlin/avr/cores/at90usb/wiring_analog.c | 282 - .../marlin/avr/cores/at90usb/wiring_digital.c | 178 - .../marlin/avr/cores/at90usb/wiring_private.h | 69 - .../marlin/avr/cores/at90usb/wiring_pulse.c | 69 - .../marlin/avr/cores/at90usb/wiring_shift.c | 55 - .../marlin/avr/firmwares/Brainwave.inf | 106 - .../avr/libraries/LiquidCrystal/README.adoc | 24 - .../examples/Autoscroll/Autoscroll.ino | 74 - .../LiquidCrystal/examples/Blink/Blink.ino | 61 - .../LiquidCrystal/examples/Cursor/Cursor.ino | 61 - .../CustomCharacter/CustomCharacter.ino | 140 - .../examples/Display/Display.ino | 61 - .../examples/HelloWorld/HelloWorld.ino | 60 - .../LiquidCrystal/examples/Scroll/Scroll.ino | 86 - .../examples/SerialDisplay/SerialDisplay.ino | 65 - .../examples/TextDirection/TextDirection.ino | 86 - .../examples/setCursor/setCursor.ino | 72 - .../avr/libraries/LiquidCrystal/keywords.txt | 38 - .../LiquidCrystal/library.properties | 9 - .../LiquidCrystal/src/LiquidCrystal.cpp | 322 - .../LiquidCrystal/src/LiquidCrystal.h | 108 - .../hardware/marlin/avr/libraries/SPI/SPI.cpp | 66 - .../hardware/marlin/avr/libraries/SPI/SPI.h | 70 - .../marlin/avr/libraries/SPI/keywords.txt | 36 - .../marlin/avr/libraries/U8glib/ChangeLog | 162 - .../marlin/avr/libraries/U8glib/INSTALL.TXT | 26 - .../marlin/avr/libraries/U8glib/U8glib.cpp | 79 - .../marlin/avr/libraries/U8glib/U8glib.h | 1268 - .../U8glib/examples/A2Printer/A2Printer.ino | 131 - .../U8glib/examples/Bitmap/Bitmap.ino | 166 - .../libraries/U8glib/examples/Chess/Chess.ino | 216 - .../libraries/U8glib/examples/Color/Color.ino | 201 - .../U8glib/examples/Console/Console.ino | 266 - .../avr/libraries/U8glib/examples/F/F.ino | 175 - .../avr/libraries/U8glib/examples/FPS/FPS.ino | 398 - .../examples/GraphicsTest/GraphicsTest.ino | 300 - .../U8glib/examples/HelloWorld/HelloWorld.ino | 177 - .../libraries/U8glib/examples/Menu/Menu.ino | 273 - .../U8glib/examples/PrintTest/PrintTest.ino | 160 - .../U8glib/examples/Rotation/Rotation.ino | 188 - .../libraries/U8glib/examples/Scale/Scale.ino | 177 - .../U8glib/examples/TextRotX/TextRotX.ino | 190 - .../examples/Touch4WSetup/Touch4WSetup.ino | 348 - .../examples/Touch4WTest/Touch4WTest.ino | 335 - .../U8glib/examples/U8gLogo/U8gLogo.ino | 230 - .../avr/libraries/U8glib/examples/XBM/XBM.ino | 172 - .../marlin/avr/libraries/U8glib/license.txt | 81 - .../libraries/U8glib/utility/chessengine.c | 2392 - .../marlin/avr/libraries/U8glib/utility/u8g.h | 1977 - .../avr/libraries/U8glib/utility/u8g_bitmap.c | 177 - .../avr/libraries/U8glib/utility/u8g_circle.c | 382 - .../avr/libraries/U8glib/utility/u8g_clip.c | 156 - .../libraries/U8glib/utility/u8g_com_api.c | 173 - .../U8glib/utility/u8g_com_api_16gr.c | 94 - .../utility/u8g_com_arduino_attiny85_hw_spi.c | 160 - .../U8glib/utility/u8g_com_arduino_common.c | 75 - .../utility/u8g_com_arduino_fast_parallel.c | 254 - .../U8glib/utility/u8g_com_arduino_hw_spi.c | 438 - .../utility/u8g_com_arduino_hw_usart_spi.c | 159 - .../utility/u8g_com_arduino_no_en_parallel.c | 234 - .../U8glib/utility/u8g_com_arduino_parallel.c | 184 - .../utility/u8g_com_arduino_port_d_wr.c | 177 - .../U8glib/utility/u8g_com_arduino_ssd_i2c.c | 212 - .../utility/u8g_com_arduino_st7920_custom.c | 330 - .../utility/u8g_com_arduino_st7920_hw_spi.c | 293 - .../utility/u8g_com_arduino_st7920_spi.c | 330 - .../utility/u8g_com_arduino_std_sw_spi.c | 143 - .../U8glib/utility/u8g_com_arduino_sw_spi.c | 301 - .../U8glib/utility/u8g_com_arduino_t6963.c | 403 - .../U8glib/utility/u8g_com_arduino_uc_i2c.c | 206 - .../U8glib/utility/u8g_com_atmega_hw_spi.c | 188 - .../U8glib/utility/u8g_com_atmega_parallel.c | 183 - .../utility/u8g_com_atmega_st7920_hw_spi.c | 216 - .../utility/u8g_com_atmega_st7920_spi.c | 170 - .../U8glib/utility/u8g_com_atmega_sw_spi.c | 141 - .../libraries/U8glib/utility/u8g_com_i2c.c | 642 - .../avr/libraries/U8glib/utility/u8g_com_io.c | 273 - .../libraries/U8glib/utility/u8g_com_null.c | 63 - .../utility/u8g_com_raspberrypi_hw_spi.c | 124 - .../utility/u8g_com_raspberrypi_ssd_i2c.c | 176 - .../avr/libraries/U8glib/utility/u8g_cursor.c | 99 - .../avr/libraries/U8glib/utility/u8g_delay.c | 262 - .../U8glib/utility/u8g_dev_a2_micro_printer.c | 199 - .../U8glib/utility/u8g_dev_flipdisc_2x7.c | 92 - .../libraries/U8glib/utility/u8g_dev_gprof.c | 130 - .../libraries/U8glib/utility/u8g_dev_ht1632.c | 281 - .../U8glib/utility/u8g_dev_ili9325d_320x240.c | 326 - .../U8glib/utility/u8g_dev_ks0108_128x64.c | 110 - .../U8glib/utility/u8g_dev_lc7981_160x80.c | 147 - .../U8glib/utility/u8g_dev_lc7981_240x128.c | 145 - .../U8glib/utility/u8g_dev_lc7981_240x64.c | 145 - .../U8glib/utility/u8g_dev_lc7981_320x64.c | 151 - .../U8glib/utility/u8g_dev_ld7032_60x32.c | 232 - .../libraries/U8glib/utility/u8g_dev_null.c | 67 - .../U8glib/utility/u8g_dev_pcd8544_84x48.c | 141 - .../U8glib/utility/u8g_dev_pcf8812_96x65.c | 138 - .../U8glib/utility/u8g_dev_sbn1661_122x32.c | 107 - .../U8glib/utility/u8g_dev_ssd1306_128x32.c | 289 - .../U8glib/utility/u8g_dev_ssd1306_128x64.c | 412 - .../U8glib/utility/u8g_dev_ssd1309_128x64.c | 144 - .../utility/u8g_dev_ssd1322_nhd31oled_bw.c | 338 - .../utility/u8g_dev_ssd1322_nhd31oled_gr.c | 338 - .../utility/u8g_dev_ssd1325_nhd27oled_bw.c | 263 - .../u8g_dev_ssd1325_nhd27oled_bw_new.c | 232 - .../utility/u8g_dev_ssd1325_nhd27oled_gr.c | 255 - .../u8g_dev_ssd1325_nhd27oled_gr_new.c | 227 - .../U8glib/utility/u8g_dev_ssd1327_96x96_gr.c | 299 - .../U8glib/utility/u8g_dev_ssd1351_128x128.c | 787 - .../U8glib/utility/u8g_dev_st7565_64128n.c | 203 - .../U8glib/utility/u8g_dev_st7565_dogm128.c | 190 - .../U8glib/utility/u8g_dev_st7565_dogm132.c | 157 - .../U8glib/utility/u8g_dev_st7565_lm6059.c | 205 - .../U8glib/utility/u8g_dev_st7565_lm6063.c | 236 - .../utility/u8g_dev_st7565_nhd_c12832.c | 145 - .../utility/u8g_dev_st7565_nhd_c12864.c | 194 - .../U8glib/utility/u8g_dev_st7687_c144mvgd.c | 420 - .../U8glib/utility/u8g_dev_st7920_128x64.c | 175 - .../U8glib/utility/u8g_dev_st7920_192x32.c | 151 - .../U8glib/utility/u8g_dev_st7920_202x32.c | 154 - .../U8glib/utility/u8g_dev_t6963_128x128.c | 193 - .../U8glib/utility/u8g_dev_t6963_128x64.c | 191 - .../U8glib/utility/u8g_dev_t6963_240x128.c | 195 - .../U8glib/utility/u8g_dev_t6963_240x64.c | 195 - .../U8glib/utility/u8g_dev_tls8204_84x48.c | 115 - .../U8glib/utility/u8g_dev_uc1601_c128032.c | 201 - .../U8glib/utility/u8g_dev_uc1608_240x128.c | 200 - .../U8glib/utility/u8g_dev_uc1608_240x64.c | 168 - .../U8glib/utility/u8g_dev_uc1610_dogxl160.c | 290 - .../U8glib/utility/u8g_dev_uc1611_dogm240.c | 116 - .../U8glib/utility/u8g_dev_uc1611_dogxl240.c | 116 - .../U8glib/utility/u8g_dev_uc1701_dogs102.c | 157 - .../U8glib/utility/u8g_dev_uc1701_mini12864.c | 158 - .../libraries/U8glib/utility/u8g_ellipse.c | 393 - .../avr/libraries/U8glib/utility/u8g_font.c | 1500 - .../libraries/U8glib/utility/u8g_font_data.c | 88464 ---------------- .../avr/libraries/U8glib/utility/u8g_line.c | 81 - .../avr/libraries/U8glib/utility/u8g_ll_api.c | 573 - .../avr/libraries/U8glib/utility/u8g_page.c | 81 - .../avr/libraries/U8glib/utility/u8g_pb.c | 191 - .../avr/libraries/U8glib/utility/u8g_pb14v1.c | 200 - .../avr/libraries/U8glib/utility/u8g_pb16h1.c | 213 - .../avr/libraries/U8glib/utility/u8g_pb16h2.c | 208 - .../avr/libraries/U8glib/utility/u8g_pb16v1.c | 200 - .../avr/libraries/U8glib/utility/u8g_pb16v2.c | 172 - .../avr/libraries/U8glib/utility/u8g_pb32h1.c | 208 - .../avr/libraries/U8glib/utility/u8g_pb8h1.c | 389 - .../avr/libraries/U8glib/utility/u8g_pb8h1f.c | 194 - .../avr/libraries/U8glib/utility/u8g_pb8h2.c | 167 - .../avr/libraries/U8glib/utility/u8g_pb8h8.c | 185 - .../avr/libraries/U8glib/utility/u8g_pb8v1.c | 184 - .../avr/libraries/U8glib/utility/u8g_pb8v2.c | 153 - .../avr/libraries/U8glib/utility/u8g_pbxh16.c | 184 - .../avr/libraries/U8glib/utility/u8g_pbxh24.c | 287 - .../libraries/U8glib/utility/u8g_polygon.c | 334 - .../avr/libraries/U8glib/utility/u8g_rect.c | 232 - .../avr/libraries/U8glib/utility/u8g_rot.c | 409 - .../avr/libraries/U8glib/utility/u8g_scale.c | 188 - .../avr/libraries/U8glib/utility/u8g_state.c | 158 - .../avr/libraries/U8glib/utility/u8g_u16toa.c | 68 - .../avr/libraries/U8glib/utility/u8g_u8toa.c | 68 - .../U8glib/utility/u8g_virtual_screen.c | 145 - .../marlin/avr/libraries/Wire/Wire.cpp | 303 - .../hardware/marlin/avr/libraries/Wire/Wire.h | 80 - .../SFRRanger_reader/SFRRanger_reader.ino | 87 - .../digital_potentiometer.ino | 39 - .../examples/master_reader/master_reader.ino | 32 - .../examples/master_writer/master_writer.ino | 31 - .../slave_receiver/slave_receiver.ino | 38 - .../examples/slave_sender/slave_sender.ino | 32 - .../marlin/avr/libraries/Wire/keywords.txt | 32 - .../avr/libraries/Wire/library.properties | 8 - .../marlin/avr/libraries/Wire/utility/twi.c | 527 - .../marlin/avr/libraries/Wire/utility/twi.h | 53 - .../hardware/marlin/avr/platform.local.txt | 7 - .../hardware/marlin/avr/platform.txt | 120 - .../avr/variants/at90usb/pins_arduino.h | 278 - .../avr/variants/brainwave/pins_arduino.h | 281 - .../marlin/avr/variants/mega/pins_arduino.h | 389 - .../marlin/avr/variants/rambo/pins_arduino.h | 411 - .../avr/variants/sanguino/pins_arduino.h | 285 - .../avr/variants/standard/pins_arduino.h | 238 - .../Arduino_1.6.x/libraries/L6470/L6470.cpp | 723 - .../Arduino_1.6.x/libraries/L6470/L6470.h | 286 - .../libraries/L6470/keywords.txt | 53 - .../libraries/TMC26XStepper/.gitignore | 17 - .../libraries/TMC26XStepper/Doxyfile | 1813 - .../libraries/TMC26XStepper/LICENSE | 10 - .../libraries/TMC26XStepper/README.rst | 71 - .../libraries/TMC26XStepper/TMC26XStepper.cpp | 999 - .../libraries/TMC26XStepper/TMC26XStepper.h | 607 - .../html/_t_m_c26_x_stepper_8cpp.html | 848 - .../html/_t_m_c26_x_stepper_8cpp_source.html | 1067 - .../html/_t_m_c26_x_stepper_8h.html | 212 - .../html/_t_m_c26_x_stepper_8h_source.html | 256 - .../documentation/html/annotated.html | 72 - .../TMC26XStepper/documentation/html/bc_s.png | Bin 677 -> 0 bytes .../html/class_t_m_c26_x_stepper-members.html | 117 - .../html/class_t_m_c26_x_stepper.html | 1463 - .../documentation/html/classes.html | 78 - .../documentation/html/closed.png | Bin 126 -> 0 bytes .../documentation/html/doxygen.css | 949 - .../documentation/html/doxygen.png | Bin 3942 -> 0 bytes .../documentation/html/files.html | 72 - .../documentation/html/functions.html | 261 - .../documentation/html/functions_func.html | 261 - .../documentation/html/globals.html | 289 - .../documentation/html/globals_defs.html | 289 - .../documentation/html/index.html | 72 - .../documentation/html/jquery.js | 64 - .../documentation/html/mainpage_8dox.html | 68 - .../documentation/html/nav_f.png | Bin 159 -> 0 bytes .../documentation/html/nav_h.png | Bin 97 -> 0 bytes .../TMC26XStepper/documentation/html/open.png | Bin 118 -> 0 bytes .../documentation/html/tab_a.png | Bin 140 -> 0 bytes .../documentation/html/tab_b.png | Bin 178 -> 0 bytes .../documentation/html/tab_h.png | Bin 192 -> 0 bytes .../documentation/html/tab_s.png | Bin 189 -> 0 bytes .../TMC26XStepper/documentation/html/tabs.css | 59 - .../examples/TMC26XExample/TMC26XExample.ino | 82 - .../examples/TMC26XMotorTester/Motor.ino | 176 - .../examples/TMC26XMotorTester/Serial.ino | 369 - .../TMC26XMotorTester/TMC26XMotorTester.ino | 61 - .../processing/TMC26XMotorTest/Arduino.pde | 306 - .../TMC26XMotorTest/ChopperConfiguration.pde | 175 - .../TMC26XMotorTest/DataRendering.pde | 327 - .../processing/TMC26XMotorTest/DataTable.pde | 49 - .../TMC26XMotorTest/RunConfiguration.pde | 335 - .../TMC26XMotorTest/TMC26XMotorTest.pde | 156 - .../TMC26XMotorTest/data/mc_logo.jpg | Bin 8814 -> 0 bytes .../TMC26XMotorTest/data/tmc_logo.jpg | Bin 8079 -> 0 bytes .../processing/TMC26XMotorTest/hysteresis.png | Bin 33102 -> 0 bytes .../TMC26XMotorTest/sketch.properties | 2 - .../libraries/TMC26XStepper/keywords.txt | 75 - .../libraries/TMC26XStepper/mainpage.dox | 30 - .../schematics/tmc-260-shield.brd | 9797 -- .../schematics/tmc-260-shield.sch | 11079 -- .../hardware/Gen7-dist/boards.txt | 108 - .../Gen7-dist/cores/arduino/Arduino.h | 222 - .../hardware/Gen7-dist/cores/arduino/CDC.cpp | 239 - .../hardware/Gen7-dist/cores/arduino/Client.h | 26 - .../hardware/Gen7-dist/cores/arduino/HID.cpp | 520 - .../cores/arduino/HardwareSerial.cpp | 519 - .../Gen7-dist/cores/arduino/HardwareSerial.h | 115 - .../Gen7-dist/cores/arduino/IPAddress.cpp | 56 - .../Gen7-dist/cores/arduino/IPAddress.h | 76 - .../Gen7-dist/cores/arduino/Platform.h | 23 - .../Gen7-dist/cores/arduino/Print.cpp | 268 - .../hardware/Gen7-dist/cores/arduino/Print.h | 81 - .../Gen7-dist/cores/arduino/Printable.h | 40 - .../hardware/Gen7-dist/cores/arduino/Server.h | 9 - .../Gen7-dist/cores/arduino/Stream.cpp | 270 - .../hardware/Gen7-dist/cores/arduino/Stream.h | 96 - .../hardware/Gen7-dist/cores/arduino/Tone.cpp | 617 - .../hardware/Gen7-dist/cores/arduino/USBAPI.h | 196 - .../Gen7-dist/cores/arduino/USBCore.cpp | 684 - .../Gen7-dist/cores/arduino/USBCore.h | 303 - .../Gen7-dist/cores/arduino/USBDesc.h | 63 - .../hardware/Gen7-dist/cores/arduino/Udp.h | 88 - .../Gen7-dist/cores/arduino/WCharacter.h | 168 - .../Gen7-dist/cores/arduino/WInterrupts.c | 322 - .../Gen7-dist/cores/arduino/WMath.cpp | 60 - .../Gen7-dist/cores/arduino/WString.cpp | 645 - .../Gen7-dist/cores/arduino/WString.h | 205 - .../hardware/Gen7-dist/cores/arduino/binary.h | 515 - .../hardware/Gen7-dist/cores/arduino/main.cpp | 20 - .../hardware/Gen7-dist/cores/arduino/new.cpp | 18 - .../hardware/Gen7-dist/cores/arduino/new.h | 22 - .../hardware/Gen7-dist/cores/arduino/wiring.c | 324 - .../Gen7-dist/cores/arduino/wiring_analog.c | 282 - .../Gen7-dist/cores/arduino/wiring_digital.c | 178 - .../Gen7-dist/cores/arduino/wiring_private.h | 71 - .../Gen7-dist/cores/arduino/wiring_pulse.c | 69 - .../Gen7-dist/cores/arduino/wiring_shift.c | 55 - .../Gen7-dist/variants/gen7/pins_arduino.h | 235 - .../Arduino_1.x.x/hardware/Melzi/boards.txt | 20 - .../Melzi/bootloaders/atmega644p/ATmegaBOOT.c | 1090 - .../atmega644p/ATmegaBOOT_1284P.hex | 117 - .../Melzi/bootloaders/atmega644p/Makefile | 56 - .../hardware/Melzi/cores/arduino/Arduino.h | 215 - .../hardware/Melzi/cores/arduino/CDC.cpp | 239 - .../hardware/Melzi/cores/arduino/Client.h | 26 - .../hardware/Melzi/cores/arduino/HID.cpp | 520 - .../Melzi/cores/arduino/HardwareSerial.cpp | 519 - .../Melzi/cores/arduino/HardwareSerial.h | 115 - .../Melzi/cores/arduino/IPAddress.cpp | 56 - .../hardware/Melzi/cores/arduino/IPAddress.h | 76 - .../hardware/Melzi/cores/arduino/Platform.h | 23 - .../hardware/Melzi/cores/arduino/Print.cpp | 268 - .../hardware/Melzi/cores/arduino/Print.h | 81 - .../hardware/Melzi/cores/arduino/Printable.h | 40 - .../hardware/Melzi/cores/arduino/Server.h | 9 - .../hardware/Melzi/cores/arduino/Stream.cpp | 270 - .../hardware/Melzi/cores/arduino/Stream.h | 96 - .../hardware/Melzi/cores/arduino/Tone.cpp | 616 - .../hardware/Melzi/cores/arduino/USBAPI.h | 196 - .../hardware/Melzi/cores/arduino/USBCore.cpp | 684 - .../hardware/Melzi/cores/arduino/USBCore.h | 303 - .../hardware/Melzi/cores/arduino/USBDesc.h | 63 - .../hardware/Melzi/cores/arduino/Udp.h | 88 - .../hardware/Melzi/cores/arduino/WCharacter.h | 168 - .../Melzi/cores/arduino/WInterrupts.c | 322 - .../hardware/Melzi/cores/arduino/WMath.cpp | 60 - .../hardware/Melzi/cores/arduino/WString.cpp | 645 - .../hardware/Melzi/cores/arduino/WString.h | 205 - .../hardware/Melzi/cores/arduino/binary.h | 515 - .../hardware/Melzi/cores/arduino/main.cpp | 20 - .../hardware/Melzi/cores/arduino/new.cpp | 18 - .../hardware/Melzi/cores/arduino/new.h | 22 - .../hardware/Melzi/cores/arduino/wiring.c | 324 - .../Melzi/cores/arduino/wiring_analog.c | 282 - .../Melzi/cores/arduino/wiring_digital.c | 178 - .../Melzi/cores/arduino/wiring_private.h | 71 - .../Melzi/cores/arduino/wiring_pulse.c | 69 - .../Melzi/cores/arduino/wiring_shift.c | 55 - .../Melzi/variants/standard/pins_arduino.h | 286 - .../Arduino_1.x.x/libraries/L6470/L6470.cpp | 723 - .../Arduino_1.x.x/libraries/L6470/L6470.h | 286 - .../libraries/L6470/keywords.txt | 53 - .../libraries/TMC26XStepper/.gitignore | 17 - .../libraries/TMC26XStepper/Doxyfile | 1813 - .../libraries/TMC26XStepper/LICENSE | 10 - .../libraries/TMC26XStepper/README.rst | 71 - .../libraries/TMC26XStepper/TMC26XStepper.cpp | 999 - .../libraries/TMC26XStepper/TMC26XStepper.h | 607 - .../html/_t_m_c26_x_stepper_8cpp.html | 848 - .../html/_t_m_c26_x_stepper_8cpp_source.html | 1067 - .../html/_t_m_c26_x_stepper_8h.html | 212 - .../html/_t_m_c26_x_stepper_8h_source.html | 256 - .../documentation/html/annotated.html | 72 - .../TMC26XStepper/documentation/html/bc_s.png | Bin 677 -> 0 bytes .../html/class_t_m_c26_x_stepper-members.html | 117 - .../html/class_t_m_c26_x_stepper.html | 1463 - .../documentation/html/classes.html | 78 - .../documentation/html/closed.png | Bin 126 -> 0 bytes .../documentation/html/doxygen.css | 949 - .../documentation/html/doxygen.png | Bin 3942 -> 0 bytes .../documentation/html/files.html | 72 - .../documentation/html/functions.html | 261 - .../documentation/html/functions_func.html | 261 - .../documentation/html/globals.html | 289 - .../documentation/html/globals_defs.html | 289 - .../documentation/html/index.html | 72 - .../documentation/html/jquery.js | 64 - .../documentation/html/mainpage_8dox.html | 68 - .../documentation/html/nav_f.png | Bin 159 -> 0 bytes .../documentation/html/nav_h.png | Bin 97 -> 0 bytes .../TMC26XStepper/documentation/html/open.png | Bin 118 -> 0 bytes .../documentation/html/tab_a.png | Bin 140 -> 0 bytes .../documentation/html/tab_b.png | Bin 178 -> 0 bytes .../documentation/html/tab_h.png | Bin 192 -> 0 bytes .../documentation/html/tab_s.png | Bin 189 -> 0 bytes .../TMC26XStepper/documentation/html/tabs.css | 59 - .../examples/TMC26XExample/TMC26XExample.ino | 82 - .../examples/TMC26XMotorTester/Motor.ino | 176 - .../examples/TMC26XMotorTester/Serial.ino | 369 - .../TMC26XMotorTester/TMC26XMotorTester.ino | 61 - .../processing/TMC26XMotorTest/Arduino.pde | 306 - .../TMC26XMotorTest/ChopperConfiguration.pde | 175 - .../TMC26XMotorTest/DataRendering.pde | 327 - .../processing/TMC26XMotorTest/DataTable.pde | 49 - .../TMC26XMotorTest/RunConfiguration.pde | 335 - .../TMC26XMotorTest/TMC26XMotorTest.pde | 156 - .../TMC26XMotorTest/data/mc_logo.jpg | Bin 8814 -> 0 bytes .../TMC26XMotorTest/data/tmc_logo.jpg | Bin 8079 -> 0 bytes .../processing/TMC26XMotorTest/hysteresis.png | Bin 33102 -> 0 bytes .../TMC26XMotorTest/sketch.properties | 2 - .../libraries/TMC26XStepper/keywords.txt | 75 - .../libraries/TMC26XStepper/mainpage.dox | 30 - .../schematics/tmc-260-shield.brd | 9797 -- .../schematics/tmc-260-shield.sch | 11079 -- 877 files changed, 500579 deletions(-) delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/boards.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/OMC/bootloader-644-20MHz.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/ATmegaBOOT.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/ATmegaBOOT_324P.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/ATmegaBOOT_644.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/ATmegaBOOT_644P.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/Makefile delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/README.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/variants/sanguino/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/boards.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/Makefile delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT.c.tst delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT_644P.elf delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT_644P.hex delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/Makefile delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/README.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Arduino.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/CDC.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Client.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HID.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Platform.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Printable.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Server.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Tone.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBAPI.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBCore.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBCore.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBDesc.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Udp.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WCharacter.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WInterrupts.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WMath.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/binary.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/main.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_analog.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_digital.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_private.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_pulse.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_shift.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/variants/standard/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/boards.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Arduino.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/CDC.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Client.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HID.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Platform.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Printable.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Server.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Tone.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBAPI.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBCore.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBCore.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBDesc.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Udp.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WCharacter.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WInterrupts.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WMath.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/binary.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/main.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_analog.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_digital.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_private.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_pulse.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_shift.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/hardware/rambo/variants/standard/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/SPI/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/ChangeLog delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/INSTALL.TXT delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.cpp delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/A2Printer/A2Printer.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Bitmap/Bitmap.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Chess/Chess.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Color/Color.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Console/Console.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/F/F.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/FPS/FPS.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/HelloWorld/HelloWorld.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Menu/Menu.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/PrintTest/PrintTest.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Rotation/Rotation.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Scale/Scale.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/TextRotX/TextRotX.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/U8gLogo/U8gLogo.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/XBM/XBM.ino delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/license.txt delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/chessengine.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g.h delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_bitmap.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_circle.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_clip.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api_16gr.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_common.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_t6963.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_io.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_null.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_cursor.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_delay.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_gprof.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ht1632.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_null.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_64128n.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_192x32.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_202x32.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x128.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ellipse.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font_data.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_line.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ll_api.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_page.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb14v1.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h1.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h2.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v1.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v2.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb32h1.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1f.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h2.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h8.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v1.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v2.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh16.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh24.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_polygon.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rect.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rot.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_scale.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_state.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u16toa.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u8toa.c delete mode 100644 ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_virtual_screen.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/boards.txt delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/Makefile delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BootloaderHID.hex delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/Brainwave-646-LUFA.hex delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BrainwavePro-1286-LUFA.hex delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Arduino.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/CDC.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Client.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HID.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Platform.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Printable.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Server.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Tone.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBAPI.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBCore.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBCore.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBDesc.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Udp.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WCharacter.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WInterrupts.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WMath.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/binary.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/main.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_analog.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_digital.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_private.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_pulse.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_shift.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/firmwares/Brainwave.inf delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/ChangeLog delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.pde delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/license.txt delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.cpp delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/library.properties delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.c delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/platform.local.txt delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/platform.txt delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwavepro/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/rambo/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/boards.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/BootloaderHID.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-1286-LUFA.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-CDC.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BootloaderHID.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/Brainwave-646-LUFA.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BrainwavePro-1286-LUFA.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/Makefile delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/CDC.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Client.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HID.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial0.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial1.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial2.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial3.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial_private.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Printable.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Server.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Tone.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBAPI.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBCore.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBCore.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBDesc.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Udp.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WCharacter.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WInterrupts.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WMath.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/abi.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/binary.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/hooks.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/main.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_analog.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_digital.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_private.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_pulse.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_shift.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/CDC.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Client.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HID.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Platform.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Printable.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Server.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Tone.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBAPI.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBCore.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBCore.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBDesc.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Udp.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WCharacter.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WInterrupts.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WMath.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/binary.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/main.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_analog.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_digital.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_private.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_pulse.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_shift.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/firmwares/Brainwave.inf delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/README.adoc delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Blink/Blink.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Cursor/Cursor.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Display/Display.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Scroll/Scroll.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/setCursor/setCursor.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/library.properties delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/A2Printer/A2Printer.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Color/Color.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/FPS/FPS.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ht1632.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x128.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh16.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh24.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_polygon.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/library.properties delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.c delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.local.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/at90usb/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/mega/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/rambo/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/standard/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/L6470/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/.gitignore delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/Doxyfile delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/LICENSE delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/README.rst delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.cpp delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.h delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp_source.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h_source.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/annotated.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/bc_s.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper-members.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/classes.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/closed.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/doxygen.css delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/doxygen.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/files.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions_func.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals_defs.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/index.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/jquery.js delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/mainpage_8dox.html delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/nav_f.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/nav_h.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/open.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/tab_a.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/tab_b.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/tab_h.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/tab_s.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/tabs.css delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XExample/TMC26XExample.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/Motor.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/Serial.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/TMC26XMotorTester.ino delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/Arduino.pde delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/ChopperConfiguration.pde delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/DataRendering.pde delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/DataTable.pde delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/RunConfiguration.pde delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/TMC26XMotorTest.pde delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/data/mc_logo.jpg delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/data/tmc_logo.jpg delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/hysteresis.png delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/sketch.properties delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/mainpage.dox delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/schematics/tmc-260-shield.brd delete mode 100644 ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/schematics/tmc-260-shield.sch delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/boards.txt delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Arduino.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/CDC.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Client.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/HID.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/HardwareSerial.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/HardwareSerial.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/IPAddress.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/IPAddress.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Platform.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Print.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Print.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Printable.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Server.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Stream.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Stream.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Tone.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/USBAPI.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/USBCore.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/USBCore.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/USBDesc.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/Udp.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/WCharacter.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/WInterrupts.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/WMath.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/WString.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/WString.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/binary.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/main.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/new.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/new.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/wiring.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/wiring_analog.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/wiring_digital.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/wiring_private.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/wiring_pulse.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/cores/arduino/wiring_shift.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Gen7-dist/variants/gen7/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/boards.txt delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/bootloaders/atmega644p/ATmegaBOOT.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/bootloaders/atmega644p/ATmegaBOOT_1284P.hex delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/bootloaders/atmega644p/Makefile delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Arduino.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/CDC.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Client.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/HID.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/HardwareSerial.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/HardwareSerial.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/IPAddress.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/IPAddress.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Platform.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Print.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Print.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Printable.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Server.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Stream.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Stream.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Tone.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/USBAPI.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/USBCore.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/USBCore.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/USBDesc.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/Udp.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/WCharacter.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/WInterrupts.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/WMath.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/WString.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/WString.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/binary.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/main.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/new.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/new.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/wiring.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/wiring_analog.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/wiring_digital.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/wiring_private.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/wiring_pulse.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/cores/arduino/wiring_shift.c delete mode 100644 ArduinoAddons/Arduino_1.x.x/hardware/Melzi/variants/standard/pins_arduino.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/L6470/L6470.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/L6470/L6470.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/L6470/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/.gitignore delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/Doxyfile delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/LICENSE delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/README.rst delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/TMC26XStepper.cpp delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/TMC26XStepper.h delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp_source.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h_source.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/annotated.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/bc_s.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper-members.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/classes.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/closed.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/doxygen.css delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/doxygen.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/files.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/functions.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/functions_func.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/globals.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/globals_defs.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/index.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/jquery.js delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/mainpage_8dox.html delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/nav_f.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/nav_h.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/open.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/tab_a.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/tab_b.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/tab_h.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/tab_s.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/documentation/html/tabs.css delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XExample/TMC26XExample.ino delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/Motor.ino delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/Serial.ino delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/TMC26XMotorTester.ino delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/Arduino.pde delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/ChopperConfiguration.pde delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/DataRendering.pde delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/DataTable.pde delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/RunConfiguration.pde delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/TMC26XMotorTest.pde delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/data/mc_logo.jpg delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/data/tmc_logo.jpg delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/hysteresis.png delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/sketch.properties delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/keywords.txt delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/mainpage.dox delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/schematics/tmc-260-shield.brd delete mode 100644 ArduinoAddons/Arduino_1.x.x/libraries/TMC26XStepper/schematics/tmc-260-shield.sch diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/boards.txt b/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/boards.txt deleted file mode 100644 index 363d61552..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/boards.txt +++ /dev/null @@ -1,23 +0,0 @@ -############################################################## - -omc.name=OMC with Atmega644 at 20Mhz - -omc.upload.maximum_size=63488 -omc.upload.maximum_data_size=4096 - -omc.upload.protocol=stk500v2 -omc.upload.speed=115200 -omc.bootloader.path=OMC -omc.bootloader.file=bootloader-644-20MHz.hex - -omc.bootloader.low_fuses=0xE7 -omc.bootloader.high_fuses=0xD4 -omc.bootloader.extended_fuses=0xFC -omc.bootloader.unlock_bits=0x3F -omc.bootloader.lock_bits=0x0F - -omc.build.mcu=atmega644 -omc.build.f_cpu=20000000L -omc.build.board=AVR_OMC -omc.build.core=arduino:arduino -omc.build.variant=sanguino \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/OMC/bootloader-644-20MHz.hex b/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/OMC/bootloader-644-20MHz.hex deleted file mode 100644 index d216c65f9..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/OMC/bootloader-644-20MHz.hex +++ /dev/null @@ -1,75 +0,0 @@ -:10F800008FEF90E19EBF8DBF11241FBE5A9A00C09A -:10F81000CDB7DEB7CD51D140DEBFCDBF1092C50010 -:10F820008AE08093C40088E18093C100EE24FF2425 -:10F8300020E0552400E010E039E0432E9BE0292E23 -:10F84000312C2C0E3D1ECFC14150504060407040C5 -:10F8500011F43FE206C08091C00087FFF5CF3091E0 -:10F86000C600933021F1943028F4913099F0923011 -:10F87000C8F407C0953049F1953000F19630D1F5C4 -:10F8800035C03B3119F491E02BE134C03F3291F5A2 -:10F890003983BBC1313011F0351559F52327532E6B -:10F8A00092E028C0B32FA0E0232793E023C0832F4A -:10F8B00090E0A82BB92B232794E01CC03E30C9F45C -:10F8C000232795E0EE24FF2415C0E1E0F0E0EC0FE3 -:10F8D000FD1FEE0DFF1D30830894E11CF11C232752 -:10F8E000EA16FB0639F4D70196E004C0321709F492 -:10F8F0008CC190E041ED5AE363E570E0ACCF90E05D -:10F9000044C08D81803311F090E00AC08F8188233C -:10F9100011F49EE105C0813011F099E001C096E933 -:10F920001A821B828D818C838E818D839E831F82A0 -:10F9300047E050E0F4C01A8288E08B8381E48C8336 -:10F9400086E58D8382E58E8389E48F8383E58887CE -:10F9500080E589878FE58A8782E38B874BE050E0DB -:10F96000DEC08A81813941F0823941F0803911F459 -:10F970008FE005C080E003C082E001C08AE01A8207 -:10F980008B8343E050E0CBC091E01A8242E050E02C -:10F99000C7C08D81882311F48EE124C0813011F01D -:10F9A00089E020C086E91EC01A82E1E0F0E04092C2 -:10F9B0005700849118C08B81803579F48C81883010 -:10F9C00031F4E2E0F0E04092570084910BC0E0E0B7 -:10F9D000F0E040925700849105C0E3E0F0E04092EF -:10F9E000570084911A828B831C8244E050E097C0B8 -:10F9F000BC80AA248D81082F10E00A291B29000F42 -:10FA0000111F1A828AC09A8088248B81682F70E027 -:10FA100068297929933109F033C0F7EF0F3F1F07A9 -:10FA200010F0A8013FC023E0F80120935700E895AB -:10FA300007B600FCFDCFA801D1018C9111962C9145 -:10FA400011971296D22ECC2490E08C299D2921E08A -:10FA5000FA010C0120935700E89511244E5F5F4F87 -:10FA60006250704051F725E0F80120935700E89567 -:10FA700007B600FCFDCF81E180935700E89512C0E6 -:10FA8000A801FB01D10141BD52BD4F5F5F4F8D9178 -:10FA900080BDFA9AF99AF999FECF3197A1F7A8019A -:10FAA000460F571F1A828A0138C07A8066248B81DC -:10FAB000A82FB0E0A629B7291A828981843191F450 -:10FAC000BD019E012D5F3F4FF80185919491F90191 -:10FAD000808391832E5F3F4F0E5F1F4F62507040B7 -:10FAE00099F713C0A801BD019E012D5F3F4F41BD95 -:10FAF00052BD4F5F5F4FF89A80B5F90181939F0126 -:10FB000061507040A1F70A0F1B1FAD014D5F5F4FA1 -:10FB1000F901108204C080EC8A8342E050E090E05A -:10FB2000FBE1F093C6008091C00086FFFCCF80917E -:10FB3000C00080648093C0005092C6008091C000D5 -:10FB400086FFFCCF8091C00080648093C000652F49 -:10FB50005093C6008091C00086FFFCCF8091C0000A -:10FB600080648093C000342F4093C6008091C00011 -:10FB700086FFFCCF8091C00080648093C0008EE03F -:10FB80008093C6008091C00086FFFCCF8091C000AA -:10FB900080648093C00025E1252523272627FE01C8 -:10FBA000319610C030813093C6008091C00086FF2E -:10FBB000FCCF31968091C00080648093C0002327E1 -:10FBC000415050404115510569F72093C60080917E -:10FBD000C00086FFFCCF8091C00080648093C0008D -:10FBE000992349F4539441ED5AE363E570E090E0C2 -:10FBF000A0E0B0E030CE5A9881E180935700E895BC -:10FC000011241F921F920895FFCF9981933109F417 -:10FC1000FACE9431C8F4963009F4EACE973050F415 -:10FC2000923009F46CCE933009F49BCE913009F0F8 -:10FC300072CF81CE913109F4A7CE923108F0E1CE96 -:10FC4000903109F068CF5BCE983109F4B4CE993188 -:10FC500050F4953109F4D7CE953108F426CF96317A -:10FC600009F059CF22CF9B3109F493CE9C3120F477 -:10FC70009A3109F050CF98CE9D3109F442CE9F328F -:06FC800009F049CFB8CFE6 -:040000030000F80001 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/ATmegaBOOT.c b/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/ATmegaBOOT.c deleted file mode 100644 index 171101445..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/ATmegaBOOT.c +++ /dev/null @@ -1,713 +0,0 @@ -/**********************************************************/ -/* Serial Bootloader for Atmel megaAVR Controllers */ -/* */ -/* tested with ATmega644 and ATmega644P */ -/* should work with other mega's, see code for details */ -/* */ -/* ATmegaBOOT.c */ -/* */ -/* 20090131: Added 324P support from Alex Leone */ -/* Marius Kintel */ -/* 20080915: applied ADABoot mods for Sanguino 644P */ -/* Brian Riley */ -/* 20080711: hacked for Sanguino by Zach Smith */ -/* and Justin Day */ -/* 20070626: hacked for Arduino Diecimila (which auto- */ -/* resets when a USB connection is made to it) */ -/* by D. Mellis */ -/* 20060802: hacked for Arduino by D. Cuartielles */ -/* based on a previous hack by D. Mellis */ -/* and D. Cuartielles */ -/* */ -/* Monitor and debug functions were added to the original */ -/* code by Dr. Erik Lins, chip45.com. (See below) */ -/* */ -/* Thanks to Karl Pitrich for fixing a bootloader pin */ -/* problem and more informative LED blinking! */ -/* */ -/* For the latest version see: */ -/* http://www.chip45.com/ */ -/* */ -/* ------------------------------------------------------ */ -/* */ -/* based on stk500boot.c */ -/* Copyright (c) 2003, Jason P. Kyle */ -/* All rights reserved. */ -/* see avr1.org for original file and information */ -/* */ -/* This program is free software; you can redistribute it */ -/* and/or modify it under the terms of the GNU General */ -/* Public License as published by the Free Software */ -/* Foundation; either version 2 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, write */ -/* to the Free Software Foundation, Inc., */ -/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* */ -/* Licence can be viewed at */ -/* http://www.fsf.org/licenses/gpl.txt */ -/* */ -/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */ -/* m8515,m8535. ATmega161 has a very small boot block so */ -/* isn't supported. */ -/* */ -/* Tested with m168 */ -/**********************************************************/ - -/* $Id$ */ - - -/* some includes */ -#include -#include -#include -#include -#include -#include - -#ifdef ADABOOT - #define NUM_LED_FLASHES 3 - #define ADABOOT_VER 1 -#endif - - -/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */ -#define MAX_ERROR_COUNT 5 - -/* set the UART baud rate */ -/* 20080711: hack by Zach Hoeken */ -#define BAUD_RATE 38400 - -/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */ -/* never allow AVR Studio to do an update !!!! */ -#define HW_VER 0x02 -#define SW_MAJOR 0x01 -#define SW_MINOR 0x10 - -/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */ -/* if monitor functions are included, LED goes on after monitor was entered */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB0 - -/* define various device id's */ -/* manufacturer byte is always the same */ -#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :( -#if defined(__AVR_ATmega644P__) -#define SIG2 0x96 -#define SIG3 0x0A -#elif defined(__AVR_ATmega644__) -#define SIG2 0x96 -#define SIG3 0x09 -#elif defined(__AVR_ATmega324P__) -#define SIG2 0x95 -#define SIG3 0x08 -#endif -#define PAGE_SIZE 0x080U //128 words -#define PAGE_SIZE_BYTES 0x100U //256 bytes - -/* function prototypes */ -void putch(char); -char getch(void); -void getNch(uint8_t); -void byte_response(uint8_t); -void nothing_response(void); -char gethex(void); -void puthex(char); -void flash_led(uint8_t); - -/* some variables */ -union address_union -{ - uint16_t word; - uint8_t byte[2]; -} address; - -union length_union -{ - uint16_t word; - uint8_t byte[2]; -} length; - -struct flags_struct -{ - unsigned eeprom : 1; - unsigned rampz : 1; -} flags; - -uint8_t buff[256]; - -uint8_t error_count = 0; -uint8_t sreg; - -void (*app_start)(void) = 0x0000; - -/* main program starts here */ -int main(void) -{ - uint8_t ch,ch2; - uint16_t w; - uint16_t i; - - asm volatile("nop\n\t"); - -#ifdef ADABOOT // BBR/LF 10/8/2007 & 9/13/2008 - ch = MCUSR; - MCUSR = 0; - - WDTCSR |= _BV(WDCE) | _BV(WDE); - WDTCSR = 0; - - // Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot. - if (! (ch & _BV(EXTRF))) // if its a not an external reset... - app_start(); // skip bootloader -#endif - - - //initialize our serial port. - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR0B = (1< 0x85) - getch(); - nothing_response(); - } - - - /* AVR ISP/STK500 board requests */ - else if(ch=='A') - { - ch2 = getch(); - if(ch2 == 0x80) - byte_response(HW_VER); // Hardware version - else if(ch2==0x81) - byte_response(SW_MAJOR); // Software major version - else if(ch2==0x82) - byte_response(SW_MINOR); // Software minor version - else if(ch2==0x98) - byte_response(0x03); // Unknown but seems to be required by avr studio 3.56 - else - byte_response(0x00); // Covers various unnecessary responses we don't care about - } - - - /* Device Parameters DON'T CARE, DEVICE IS FIXED */ - else if(ch=='B') - { - getNch(20); - nothing_response(); - } - - - /* Parallel programming stuff DON'T CARE */ - else if(ch=='E') - { - getNch(5); - nothing_response(); - } - - - /* Enter programming mode */ - else if(ch=='P') - { - nothing_response(); - } - - - /* Leave programming mode */ - else if(ch=='Q') - { - nothing_response(); -#ifdef ADABOOT - // autoreset via watchdog (sneaky!) BBR/LF 9/13/2008 - WDTCSR = _BV(WDE); - while (1); // 16 ms -#endif - } - - - /* Erase device, don't care as we will erase one page at a time anyway. */ - else if(ch=='R') - { - nothing_response(); - } - - - /* Set address, little endian. EEPROM in bytes, FLASH in words */ - /* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */ - /* This might explain why little endian was used here, big endian used everywhere else. */ - else if(ch=='U') - { - address.byte[0] = getch(); - address.byte[1] = getch(); - nothing_response(); - } - - - /* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */ - else if(ch=='V') - { - getNch(4); - byte_response(0x00); - } - - - /* Write memory, length is big endian and is in bytes */ - else if(ch=='d') - { - length.byte[1] = getch(); - length.byte[0] = getch(); - - flags.eeprom = 0; - if (getch() == 'E') - flags.eeprom = 1; - - for (i=0; i byte location - address.word = address.word << 1; - - //Even up an odd number of bytes - if ((length.byte[0] & 0x01)) - length.word++; - - // HACKME: EEPE used to be EEWE - //Wait for previous EEPROM writes to complete - //while(bit_is_set(EECR,EEPE)); - while(EECR & (1< byte location - } - - // Command terminator - if (getch() == ' ') - { - putch(0x14); - for (w=0; w= 'a') - ah = ah - 'a' + 0x0a; - else if(ah >= '0') - ah -= '0'; - if(al >= 'a') - al = al - 'a' + 0x0a; - else if(al >= '0') - al -= '0'; - - return (ah << 4) + al; -} - - -void puthex(char ch) -{ - char ah,al; - - ah = (ch & 0xf0) >> 4; - if(ah >= 0x0a) - ah = ah - 0x0a + 'a'; - else - ah += '0'; - - al = (ch & 0x0f); - if(al >= 0x0a) - al = al - 0x0a + 'a'; - else - al += '0'; - - putch(ah); - putch(al); -} - - -void putch(char ch) -{ - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; -} - - - - -char getch(void) -{ - uint32_t count = 0; - -#ifdef ADABOOT - LED_PORT &= ~_BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008 -#endif - - while(!(UCSR0A & _BV(RXC0))) - { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - -#ifdef ADABOOT - LED_PORT |= _BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008 -#endif - - return UDR0; -} - - -void getNch(uint8_t count) -{ - uint8_t i; - for(i=0;i $@ - -%.srec: %.elf - $(OBJCOPY) -j .text -j .data -O srec $< $@ - -%.bin: %.elf - $(OBJCOPY) -j .text -j .data -O binary $< $@ - -clean: - rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/README.txt b/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/README.txt deleted file mode 100644 index 828600785..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/bootloaders/atmega644p/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Note: This bootloader support ATmega644, ATmega644P and ATmega324P. -To build, set PROGRAM and MCU_TARGET in the Makefile according to your target device. - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/variants/sanguino/pins_arduino.h b/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/variants/sanguino/pins_arduino.h deleted file mode 100644 index f4298d868..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/OMC_tkj/variants/sanguino/pins_arduino.h +++ /dev/null @@ -1,269 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ - - Changelog - ----------- - 11/25/11 - ryan@ryanmsutton.com - Add pins for Sanguino 644P and 1284P - 07/15/12 - ryan@ryanmsutton.com - Updated for arduino0101 - - Improvements by Kristian Lauszus, kristianl@tkjelectronics.dk -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -const static uint8_t SS = 4; -const static uint8_t MOSI = 5; -const static uint8_t MISO = 6; -const static uint8_t SCK = 7; - -static const uint8_t SDA = 17; -static const uint8_t SCL = 16; - -#define LED_BUILTIN 0 - -static const uint8_t A0 = 31; -static const uint8_t A1 = 30; -static const uint8_t A2 = 29; -static const uint8_t A3 = 28; -static const uint8_t A4 = 27; -static const uint8_t A5 = 26; -static const uint8_t A6 = 25; -static const uint8_t A7 = 24; - -// ATMEL ATMEGA644/ATMEGA1284 / SANGUINO -// -// +---\/---+ -// (D 0) PB0 1| |40 PA0 (AI 0 / D31) -// (D 1) PB1 2| |39 PA1 (AI 1 / D30) -// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29) -// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28) -// SS PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27) -// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26) -// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25) -// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24) -// RST 9| |32 AREF -// VCC 10| |31 GND -// GND 11| |30 AVCC -// XTAL2 12| |29 PC7 (D 23) -// XTAL1 13| |28 PC6 (D 22) -// RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI -// TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO -// INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS -// INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK -// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA -// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL -// PWM (D 14) PD6 20| |21 PD7 (D 15) PWM -// +--------+ -// -#define NUM_DIGITAL_PINS 24 -#define NUM_ANALOG_INPUTS 8 - -#define analogInputToDigitalPin(p) ((p < 8) ? 31 - (p): -1) -#define analogPinToChannel(p) ((p < 8) ? (p) : 31 - (p)) - -#define digitalPinHasPWM(p) ((p) == 3 || (p) == 4 || (p) == 12 || (p) == 13 || (p) == 14 || (p) == 15 ) - -#define digitalPinToPCICR(p) ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 24) && ((p) <= 31)) ? 0 : \ - ( (((p) >= 0) && ((p) <= 7)) ? 1 : \ - ( (((p) >= 16) && ((p) <= 23)) ? 2 : \ - ( (((p) >= 8) && ((p) <= 15)) ? 3 : \ - 0 ) ) ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 24) && ((p) <= 31)) ? (&PCMSK0) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (&PCMSK1) : \ - ( (((p) >= 16) && ((p) <= 23)) ? (&PCMSK2) : \ - ( (((p) >= 8) && ((p) <= 15)) ? (&PCMSK3) : \ - ((uint8_t *)0) ) ) ) ) - - -#define digitalPinToPCMSKbit(p) ( (((p) >= 24) && ((p) <= 31)) ? (31 - (p)) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (p) : \ - ( (((p) >= 16) && ((p) <= 23)) ? ((p) - 16) : \ - ( (((p) >= 8) && ((p) <= 15)) ? ((p) - 8) : \ - 0 ) ) ) ) - -#define digitalPinToInterrupt(p) ((p) == 10 ? 0 : ((p) == 11 ? 1 : ((p) == 2 ? 2 : NOT_AN_INTERRUPT))) - -#ifdef ARDUINO_MAIN -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -const uint16_t PROGMEM port_to_mode_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, -}; -const uint16_t PROGMEM port_to_input_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, -}; -const uint8_t PROGMEM digital_pin_to_port_PGM[] = -{ - PB, /* 0 */ - PB, - PB, - PB, - PB, - PB, - PB, - PB, - PD, /* 8 */ - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PC, /* 16 */ - PC, - PC, - PC, - PC, - PC, - PC, - PC, - PA, /* 24 */ - PA, - PA, - PA, - PA, - PA, - PA, - PA /* 31 */ -}; -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = -{ - _BV(0), /* 0, port B */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 8, port D */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 16, port C */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(7), /* 24, port A */ - _BV(6), - _BV(5), - _BV(4), - _BV(3), - _BV(2), - _BV(1), - _BV(0) -}; -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = -{ - NOT_ON_TIMER, /* 0 - PB0 */ - NOT_ON_TIMER, /* 1 - PB1 */ - NOT_ON_TIMER, /* 2 - PB2 */ - TIMER0A, /* 3 - PB3 */ - TIMER0B, /* 4 - PB4 */ - NOT_ON_TIMER, /* 5 - PB5 */ - NOT_ON_TIMER, /* 6 - PB6 */ - NOT_ON_TIMER, /* 7 - PB7 */ - NOT_ON_TIMER, /* 8 - PD0 */ - NOT_ON_TIMER, /* 9 - PD1 */ - NOT_ON_TIMER, /* 10 - PD2 */ - NOT_ON_TIMER, /* 11 - PD3 */ - TIMER1B, /* 12 - PD4 */ - TIMER1A, /* 13 - PD5 */ - TIMER2B, /* 14 - PD6 */ - TIMER2A, /* 15 - PD7 */ - NOT_ON_TIMER, /* 16 - PC0 */ - NOT_ON_TIMER, /* 17 - PC1 */ - NOT_ON_TIMER, /* 18 - PC2 */ - NOT_ON_TIMER, /* 19 - PC3 */ - NOT_ON_TIMER, /* 20 - PC4 */ - NOT_ON_TIMER, /* 21 - PC5 */ - NOT_ON_TIMER, /* 22 - PC6 */ - NOT_ON_TIMER, /* 23 - PC7 */ - NOT_ON_TIMER, /* 24 - PA0 */ - NOT_ON_TIMER, /* 25 - PA1 */ - NOT_ON_TIMER, /* 26 - PA2 */ - NOT_ON_TIMER, /* 27 - PA3 */ - NOT_ON_TIMER, /* 28 - PA4 */ - NOT_ON_TIMER, /* 29 - PA5 */ - NOT_ON_TIMER, /* 30 - PA6 */ - NOT_ON_TIMER /* 31 - PA7 */ -}; -#endif - -// These serial port names are intended to allow libraries and architecture-neutral -// sketches to automatically default to the correct port name for a particular type -// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, -// the first hardware serial port whose RX/TX pins are not dedicated to another use. -// -// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor -// -// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial -// -// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library -// -// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. -// -// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX -// pins are NOT connected to anything by default. - -#define SERIAL_PORT_MONITOR Serial -#define SERIAL_PORT_HARDWARE Serial -#define SERIAL_PORT_HARDWARE1 Serial1 -#define SERIAL_PORT_HARDWARE_OPEN Serial1 - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/boards.txt b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/boards.txt deleted file mode 100644 index 2bec14eab..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/boards.txt +++ /dev/null @@ -1,83 +0,0 @@ -############################################################ - -atmega644.name=Sanguino W/ ATmega644P - -atmega644.upload.protocol=stk500 -atmega644.upload.maximum_size=63488 -atmega644.upload.speed=57600 - -atmega644.bootloader.low_fuses=0xFF -atmega644.bootloader.high_fuses=0x9A -atmega644.bootloader.extended_fuses=0xFF -atmega644.bootloader.path=atmega -atmega644.bootloader.file=ATmegaBOOT_168_atmega644p.hex -#atmega644.bootloader.file=ATmegaBOOT_644P.hex -atmega644.bootloader.unlock_bits=0x3F -atmega644.bootloader.lock_bits=0x0F - -atmega644.build.mcu=atmega644p -atmega644.build.f_cpu=16000000L -atmega644.build.core=arduino -atmega644.build.variant=standard -############################################################## - -atmega12848m.name=Sanguino W/ ATmega1284p 8mhz - -atmega12848m.upload.protocol=stk500 -atmega12848m.upload.maximum_size=131072 -atmega12848m.upload.speed=19200 - -atmega1284.bootloader.low_fuses=0xD6 -atmega1284.bootloader.high_fuses=0xDA -atmega1284.bootloader.extended_fuses=0xFD -atmega12848m.bootloader.path=atmega -atmega12848m.bootloader.file=ATmegaBOOT_168_atmega1284p_8m.hex -atmega12848m.bootloader.unlock_bits=0x3F -atmega12848m.bootloader.lock_bits=0x0F - -atmega12848m.build.mcu=atmega1284p -atmega12848m.build.f_cpu=8000000L -atmega12848m.build.core=arduino -atmega12848m.build.variant=standard - -############################################################## - -atmega1284.name=Sanguino W/ ATmega1284p 16mhz - -atmega1284.upload.protocol=stk500 -atmega1284.upload.maximum_size=131072 -atmega1284.upload.speed=57600 - -atmega1284.bootloader.low_fuses=0xD6 -atmega1284.bootloader.high_fuses=0xDA -atmega1284.bootloader.extended_fuses=0xFD -atmega1284.bootloader.path=atmega -atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex -atmega1284.bootloader.unlock_bits=0x3F -atmega1284.bootloader.lock_bits=0x0F - -atmega1284.build.mcu=atmega1284p -atmega1284.build.f_cpu=16000000L -atmega1284.build.core=arduino -atmega1284.build.variant=standard -############################################################## - -atmega1284m.name=Sanguino W/ ATmega1284p 20mhz - -atmega1284m.upload.protocol=stk500 -atmega1284m.upload.maximum_size=131072 -atmega1284m.upload.speed=57600 - -atmega1284m.bootloader.low_fuses=0xD6 -atmega1284m.bootloader.high_fuses=0xDA -atmega1284m.bootloader.extended_fuses=0xFD -atmega1284m.bootloader.path=atmega -atmega1284m.bootloader.file=ATmegaBOOT_168_atmega1284p.hex -atmega1284m.bootloader.unlock_bits=0x3F -atmega1284m.bootloader.lock_bits=0x0F - -atmega1284m.build.mcu=atmega1284p -atmega1284m.build.f_cpu=20000000L -atmega1284m.build.core=arduino -atmega1284m.build.variant=standard -# diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168.c deleted file mode 100644 index 09ef8e7ac..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168.c +++ /dev/null @@ -1,1071 +0,0 @@ -/**********************************************************/ -/* Serial Bootloader for Atmel megaAVR Controllers */ -/* */ -/* tested with ATmega8, ATmega128 and ATmega168 */ -/* should work with other mega's, see code for details */ -/* */ -/* ATmegaBOOT.c */ -/* */ -/* */ -/* 20090308: integrated Mega changes into main bootloader */ -/* source by D. Mellis */ -/* 20080930: hacked for Arduino Mega (with the 1280 */ -/* processor, backwards compatible) */ -/* by D. Cuartielles */ -/* 20070626: hacked for Arduino Diecimila (which auto- */ -/* resets when a USB connection is made to it) */ -/* by D. Mellis */ -/* 20060802: hacked for Arduino by D. Cuartielles */ -/* based on a previous hack by D. Mellis */ -/* and D. Cuartielles */ -/* */ -/* Monitor and debug functions were added to the original */ -/* code by Dr. Erik Lins, chip45.com. (See below) */ -/* */ -/* Thanks to Karl Pitrich for fixing a bootloader pin */ -/* problem and more informative LED blinking! */ -/* */ -/* For the latest version see: */ -/* http://www.chip45.com/ */ -/* */ -/* ------------------------------------------------------ */ -/* */ -/* based on stk500boot.c */ -/* Copyright (c) 2003, Jason P. Kyle */ -/* All rights reserved. */ -/* see avr1.org for original file and information */ -/* */ -/* This program is free software; you can redistribute it */ -/* and/or modify it under the terms of the GNU General */ -/* Public License as published by the Free Software */ -/* Foundation; either version 2 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, write */ -/* to the Free Software Foundation, Inc., */ -/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* */ -/* Licence can be viewed at */ -/* http://www.fsf.org/licenses/gpl.txt */ -/* */ -/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */ -/* m8515,m8535. ATmega161 has a very small boot block so */ -/* isn't supported. */ -/* */ -/* Tested with m168 */ -/**********************************************************/ - -/* $Id$ */ - - -/* some includes */ -#include -#include -#include -#include -#include -#include - -/* the current avr-libc eeprom functions do not support the ATmega168 */ -/* own eeprom write/read functions are used instead */ -#if !defined(__AVR_ATmega168__) || !defined(__AVR_ATmega328P__) -#include -#endif - -/* Use the F_CPU defined in Makefile */ - -/* 20060803: hacked by DojoCorp */ -/* 20070626: hacked by David A. Mellis to decrease waiting time for auto-reset */ -/* set the waiting time for the bootloader */ -/* get this from the Makefile instead */ -/* #define MAX_TIME_COUNT (F_CPU>>4) */ - -/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */ -#define MAX_ERROR_COUNT 5 - -/* set the UART baud rate */ -/* 20060803: hacked by DojoCorp */ -//#define BAUD_RATE 115200 -#ifndef BAUD_RATE -#define BAUD_RATE 19200 -#endif - - -/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */ -/* never allow AVR Studio to do an update !!!! */ -#define HW_VER 0x02 -#define SW_MAJOR 0x01 -#define SW_MINOR 0x10 - - -/* Adjust to suit whatever pin your hardware uses to enter the bootloader */ -/* ATmega128 has two UARTS so two pins are used to enter bootloader and select UART */ -/* ATmega1280 has four UARTS, but for Arduino Mega, we will only use RXD0 to get code */ -/* BL0... means UART0, BL1... means UART1 */ -#ifdef __AVR_ATmega128__ -#define BL_DDR DDRF -#define BL_PORT PORTF -#define BL_PIN PINF -#define BL0 PINF7 -#define BL1 PINF6 -#elif defined __AVR_ATmega1280__ -/* we just don't do anything for the MEGA and enter bootloader on reset anyway*/ -#elif defined __AVR_ATmega1284P_ || defined __AVR_ATmega644P__ - -#else -/* other ATmegas have only one UART, so only one pin is defined to enter bootloader */ -#define BL_DDR DDRD -#define BL_PORT PORTD -#define BL_PIN PIND -#define BL PIND6 -#endif - - -/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */ -/* if monitor functions are included, LED goes on after monitor was entered */ -#if defined __AVR_ATmega128__ || defined __AVR_ATmega1280__ -/* Onboard LED is connected to pin PB7 (e.g. Crumb128, PROBOmega128, Savvy128, Arduino Mega) */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB7 -#elif defined __AVR_ATmega1284P__ || defined __AVR_ATmega644P__ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB0 -#else -/* Onboard LED is connected to pin PB5 in Arduino NG, Diecimila, and Duomilanuove */ -/* other boards like e.g. Crumb8, Crumb168 are using PB2 */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB5 -#endif - - -/* monitor functions will only be compiled when using ATmega128, due to bootblock size constraints */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) -#define MONITOR 1 -#endif - - -/* define various device id's */ -/* manufacturer byte is always the same */ -#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :( - -#if defined __AVR_ATmega1280__ -#define SIG2 0x97 -#define SIG3 0x03 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega1284P__ -#define SIG2 0x97 -#define SIG3 0x05 -#define PAGE_SIZE 0x080U //128 words - -#elif defined __AVR_ATmega1281__ -#define SIG2 0x97 -#define SIG3 0x04 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega644P__ -#define SIG2 0x96 -#define SIG3 0x0A -#define PAGE_SIZE 0x080U //128 words - -#elif defined __AVR_ATmega128__ -#define SIG2 0x97 -#define SIG3 0x02 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega64__ -#define SIG2 0x96 -#define SIG3 0x02 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega32__ -#define SIG2 0x95 -#define SIG3 0x02 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega16__ -#define SIG2 0x94 -#define SIG3 0x03 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega8__ -#define SIG2 0x93 -#define SIG3 0x07 -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega88__ -#define SIG2 0x93 -#define SIG3 0x0a -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega168__ -#define SIG2 0x94 -#define SIG3 0x06 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega328P__ -#define SIG2 0x95 -#define SIG3 0x0F -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega162__ -#define SIG2 0x94 -#define SIG3 0x04 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega163__ -#define SIG2 0x94 -#define SIG3 0x02 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega169__ -#define SIG2 0x94 -#define SIG3 0x05 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega8515__ -#define SIG2 0x93 -#define SIG3 0x06 -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega8535__ -#define SIG2 0x93 -#define SIG3 0x08 -#define PAGE_SIZE 0x20U //32 words -#endif - - -/* function prototypes */ -void putch(char); -char getch(void); -void getNch(uint8_t); -void byte_response(uint8_t); -void nothing_response(void); -char gethex(void); -void puthex(char); -void flash_led(uint8_t); - -/* some variables */ -union address_union { - uint16_t word; - uint8_t byte[2]; -} address; - -union length_union { - uint16_t word; - uint8_t byte[2]; -} length; - -struct flags_struct { - unsigned eeprom : 1; - unsigned rampz : 1; -} flags; - -uint8_t buff[256]; -uint8_t address_high; - -uint8_t pagesz=0x80; - -uint8_t i; -uint8_t bootuart = 0; - -uint8_t error_count = 0; - -void (*app_start)(void) = 0x0000; - - -/* main program starts here */ -int main(void) -{ - uint8_t ch,ch2; - uint16_t w; - -#ifdef WATCHDOG_MODS - ch = MCUSR; - MCUSR = 0; - - WDTCSR |= _BV(WDCE) | _BV(WDE); - WDTCSR = 0; - - // Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot. - if (! (ch & _BV(EXTRF))) // if it's a not an external reset... - app_start(); // skip bootloader -#else - asm volatile("nop\n\t"); -#endif - - /* set pin direction for bootloader pin and enable pullup */ - /* for ATmega128, two pins need to be initialized */ -#ifdef __AVR_ATmega128__ - BL_DDR &= ~_BV(BL0); - BL_DDR &= ~_BV(BL1); - BL_PORT |= _BV(BL0); - BL_PORT |= _BV(BL1); -#else - /* We run the bootloader regardless of the state of this pin. Thus, don't - put it in a different state than the other pins. --DAM, 070709 - This also applies to Arduino Mega -- DC, 080930 - BL_DDR &= ~_BV(BL); - BL_PORT |= _BV(BL); - */ -#endif - - -#ifdef __AVR_ATmega128__ - /* check which UART should be used for booting */ - if(bit_is_clear(BL_PIN, BL0)) { - bootuart = 1; - } - else if(bit_is_clear(BL_PIN, BL1)) { - bootuart = 2; - } -#endif - -#if defined __AVR_ATmega1280__ || defined __AVR_ATmega1284P__ || defined __AVR_ATmega644P__ - /* the mega1280 chip has four serial ports ... we could eventually use any of them, or not? */ - /* however, we don't wanna confuse people, to avoid making a mess, we will stick to RXD0, TXD0 */ - bootuart = 1; -#endif - - /* check if flash is programmed already, if not start bootloader anyway */ - if(pgm_read_byte_near(0x0000) != 0xFF) { - -#ifdef __AVR_ATmega128__ - /* no UART was selected, start application */ - if(!bootuart) { - app_start(); - } -#else - /* check if bootloader pin is set low */ - /* we don't start this part neither for the m8, nor m168 */ - //if(bit_is_set(BL_PIN, BL)) { - // app_start(); - // } -#endif - } - -#ifdef __AVR_ATmega128__ - /* no bootuart was selected, default to uart 0 */ - if(!bootuart) { - bootuart = 1; - } -#endif - - - /* initialize UART(s) depending on CPU defined */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR0A = 0x00; - UCSR0C = 0x06; - UCSR0B = _BV(TXEN0)|_BV(RXEN0); - } - if(bootuart == 2) { - UBRR1L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR1H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR1A = 0x00; - UCSR1C = 0x06; - UCSR1B = _BV(TXEN1)|_BV(RXEN1); - } -#elif defined __AVR_ATmega163__ - UBRR = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRRHI = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSRA = 0x00; - UCSRB = _BV(TXEN)|_BV(RXEN); -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - -#ifdef DOUBLE_SPEED - UCSR0A = (1<> 8; -#else - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; -#endif - - UCSR0B = (1<>8; // set baud rate - UBRRL = (((F_CPU/BAUD_RATE)/16)-1); - UCSRB = (1<> 8; - UCSRA = 0x00; - UCSRC = 0x06; - UCSRB = _BV(TXEN)|_BV(RXEN); -#endif - -#if defined __AVR_ATmega1280__ - /* Enable internal pull-up resistor on pin D0 (RX), in order - to supress line noise that prevents the bootloader from - timing out (DAM: 20070509) */ - /* feature added to the Arduino Mega --DC: 080930 */ - DDRE &= ~_BV(PINE0); - PORTE |= _BV(PINE0); -#endif - - - /* set LED pin as output */ - LED_DDR |= _BV(LED); - - - /* flash onboard LED to signal entering of bootloader */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - // 4x for UART0, 5x for UART1 - flash_led(NUM_LED_FLASHES + bootuart); -#else - flash_led(NUM_LED_FLASHES); -#endif - - /* 20050803: by DojoCorp, this is one of the parts provoking the - system to stop listening, cancelled from the original */ - //putch('\0'); - - /* forever loop */ - for (;;) { - - /* get character from UART */ - ch = getch(); - - /* A bunch of if...else if... gives smaller code than switch...case ! */ - - /* Hello is anyone home ? */ - if(ch=='0') { - nothing_response(); - } - - - /* Request programmer ID */ - /* Not using PROGMEM string due to boot block in m128 being beyond 64kB boundry */ - /* Would need to selectively manipulate RAMPZ, and it's only 9 characters anyway so who cares. */ - else if(ch=='1') { - if (getch() == ' ') { - putch(0x14); - putch('A'); - putch('V'); - putch('R'); - putch(' '); - putch('I'); - putch('S'); - putch('P'); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } - } - - - /* AVR ISP/STK500 board commands DON'T CARE so default nothing_response */ - else if(ch=='@') { - ch2 = getch(); - if (ch2>0x85) getch(); - nothing_response(); - } - - - /* AVR ISP/STK500 board requests */ - else if(ch=='A') { - ch2 = getch(); - if(ch2==0x80) byte_response(HW_VER); // Hardware version - else if(ch2==0x81) byte_response(SW_MAJOR); // Software major version - else if(ch2==0x82) byte_response(SW_MINOR); // Software minor version - else if(ch2==0x98) byte_response(0x03); // Unknown but seems to be required by avr studio 3.56 - else byte_response(0x00); // Covers various unnecessary responses we don't care about - } - - - /* Device Parameters DON'T CARE, DEVICE IS FIXED */ - else if(ch=='B') { - getNch(20); - nothing_response(); - } - - - /* Parallel programming stuff DON'T CARE */ - else if(ch=='E') { - getNch(5); - nothing_response(); - } - - - /* P: Enter programming mode */ - /* R: Erase device, don't care as we will erase one page at a time anyway. */ - else if(ch=='P' || ch=='R') { - nothing_response(); - } - - - /* Leave programming mode */ - else if(ch=='Q') { - nothing_response(); -#ifdef WATCHDOG_MODS - // autoreset via watchdog (sneaky!) - WDTCSR = _BV(WDE); - while (1); // 16 ms -#endif - } - - - /* Set address, little endian. EEPROM in bytes, FLASH in words */ - /* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */ - /* This might explain why little endian was used here, big endian used everywhere else. */ - else if(ch=='U') { - address.byte[0] = getch(); - address.byte[1] = getch(); - nothing_response(); - } - - - /* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */ - else if(ch=='V') { - if (getch() == 0x30) { - getch(); - ch = getch(); - getch(); - if (ch == 0) { - byte_response(SIG1); - } else if (ch == 1) { - byte_response(SIG2); - } else { - byte_response(SIG3); - } - } else { - getNch(3); - byte_response(0x00); - } - } - - - /* Write memory, length is big endian and is in bytes */ - else if(ch=='d') { - length.byte[1] = getch(); - length.byte[0] = getch(); - flags.eeprom = 0; - if (getch() == 'E') flags.eeprom = 1; - for (w=0;w127) address_high = 0x01; //Only possible with m128, m256 will need 3rd address byte. FIXME - else address_high = 0x00; -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) - RAMPZ = address_high; -#endif - address.word = address.word << 1; //address * 2 -> byte location - /* if ((length.byte[0] & 0x01) == 0x01) length.word++; //Even up an odd number of bytes */ - if ((length.byte[0] & 0x01)) length.word++; //Even up an odd number of bytes - cli(); //Disable interrupts, just to be sure -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - while(bit_is_set(EECR,EEPE)); //Wait for previous EEPROM writes to complete -#else - while(bit_is_set(EECR,EEWE)); //Wait for previous EEPROM writes to complete -#endif - asm volatile( - "clr r17 \n\t" //page_word_count - "lds r30,address \n\t" //Address of FLASH location (in bytes) - "lds r31,address+1 \n\t" - "ldi r28,lo8(buff) \n\t" //Start of buffer array in RAM - "ldi r29,hi8(buff) \n\t" - "lds r24,length \n\t" //Length of data to be written (in bytes) - "lds r25,length+1 \n\t" - "length_loop: \n\t" //Main loop, repeat for number of words in block - "cpi r17,0x00 \n\t" //If page_word_count=0 then erase page - "brne no_page_erase \n\t" - "wait_spm1: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm1 \n\t" - "ldi r16,0x03 \n\t" //Erase page pointed to by Z - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "wait_spm2: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm2 \n\t" - - "ldi r16,0x11 \n\t" //Re-enable RWW section - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "no_page_erase: \n\t" - "ld r0,Y+ \n\t" //Write 2 bytes into page buffer - "ld r1,Y+ \n\t" - - "wait_spm3: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm3 \n\t" - "ldi r16,0x01 \n\t" //Load r0,r1 into FLASH page buffer - "sts %0,r16 \n\t" - "spm \n\t" - - "inc r17 \n\t" //page_word_count++ - "cpi r17,%1 \n\t" - "brlo same_page \n\t" //Still same page in FLASH - "write_page: \n\t" - "clr r17 \n\t" //New page, write current one first - "wait_spm4: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm4 \n\t" -#ifdef __AVR_ATmega163__ - "andi r30,0x80 \n\t" // m163 requires Z6:Z1 to be zero during page write -#endif - "ldi r16,0x05 \n\t" //Write page pointed to by Z - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" - "ori r30,0x7E \n\t" // recover Z6:Z1 state after page write (had to be zero during write) -#endif - "wait_spm5: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm5 \n\t" - "ldi r16,0x11 \n\t" //Re-enable RWW section - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "same_page: \n\t" - "adiw r30,2 \n\t" //Next word in FLASH - "sbiw r24,2 \n\t" //length-2 - "breq final_write \n\t" //Finished - "rjmp length_loop \n\t" - "final_write: \n\t" - "cpi r17,0 \n\t" - "breq block_done \n\t" - "adiw r24,2 \n\t" //length+2, fool above check on length after short page write - "rjmp write_page \n\t" - "block_done: \n\t" - "clr __zero_reg__ \n\t" //restore zero register -#if defined __AVR_ATmega168__ || __AVR_ATmega328P__ || __AVR_ATmega128__ || __AVR_ATmega1280__ || __AVR_ATmega1281__ || __AVR_ATmega1284P__ || __AVR_ATmega644P__ - : "=m" (SPMCSR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31" -#else - : "=m" (SPMCR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31" -#endif - ); - /* Should really add a wait for RWW section to be enabled, don't actually need it since we never */ - /* exit the bootloader without a power cycle anyhow */ - } - putch(0x14); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } - } - - - /* Read memory block mode, length is big endian. */ - else if(ch=='t') { - length.byte[1] = getch(); - length.byte[0] = getch(); -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if (address.word>0x7FFF) flags.rampz = 1; // No go with m256, FIXME - else flags.rampz = 0; -#endif - address.word = address.word << 1; // address * 2 -> byte location - if (getch() == 'E') flags.eeprom = 1; - else flags.eeprom = 0; - if (getch() == ' ') { // Command terminator - putch(0x14); - for (w=0;w < length.word;w++) { // Can handle odd and even lengths okay - if (flags.eeprom) { // Byte access EEPROM read -#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - while(EECR & (1<= 'a') { - return (a - 'a' + 0x0a); - } else if(a >= '0') { - return(a - '0'); - } - return a; -} - - -char gethex(void) { - return (gethexnib() << 4) + gethexnib(); -} - - -void puthex(char ch) { - char ah; - - ah = ch >> 4; - if(ah >= 0x0a) { - ah = ah - 0x0a + 'a'; - } else { - ah += '0'; - } - - ch &= 0x0f; - if(ch >= 0x0a) { - ch = ch - 0x0a + 'a'; - } else { - ch += '0'; - } - - putch(ah); - putch(ch); -} - - -void putch(char ch) -{ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; - } - else if (bootuart == 2) { - while (!(UCSR1A & _BV(UDRE1))); - UDR1 = ch; - } -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; -#else - /* m8,16,32,169,8515,8535,163 */ - while (!(UCSRA & _BV(UDRE))); - UDR = ch; -#endif -} - - -char getch(void) -{ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - uint32_t count = 0; - if(bootuart == 1) { - while(!(UCSR0A & _BV(RXC0))) { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - - return UDR0; - } - else if(bootuart == 2) { - while(!(UCSR1A & _BV(RXC1))) { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - - return UDR1; - } - return 0; -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - uint32_t count = 0; - while(!(UCSR0A & _BV(RXC0))){ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - return UDR0; -#else - /* m8,16,32,169,8515,8535,163 */ - uint32_t count = 0; - while(!(UCSRA & _BV(RXC))){ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - return UDR; -#endif -} - - -void getNch(uint8_t count) -{ - while(count--) { -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - while(!(UCSR0A & _BV(RXC0))); - UDR0; - } - else if(bootuart == 2) { - while(!(UCSR1A & _BV(RXC1))); - UDR1; - } -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - getch(); -#else - /* m8,16,32,169,8515,8535,163 */ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - //while(!(UCSRA & _BV(RXC))); - //UDR; - getch(); // need to handle time out -#endif - } -} - - -void byte_response(uint8_t val) -{ - if (getch() == ' ') { - putch(0x14); - putch(val); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } -} - - -void nothing_response(void) -{ - if (getch() == ' ') { - putch(0x14); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } -} - -void flash_led(uint8_t count) -{ - while (count--) { - LED_PORT |= _BV(LED); - _delay_ms(100); - LED_PORT &= ~_BV(LED); - _delay_ms(100); - } -} - - -/* end of file ATmegaBOOT.c */ diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex deleted file mode 100644 index 36b6e13ea..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex +++ /dev/null @@ -1,130 +0,0 @@ -:020000021000EC -:10F000000C9446F80C9465F80C9465F80C9465F82B -:10F010000C9465F80C9465F80C9465F80C9465F8FC -:10F020000C9465F80C9465F80C9465F80C9465F8EC -:10F030000C9465F80C9465F80C9465F80C9465F8DC -:10F040000C9465F80C9465F80C9465F80C9465F8CC -:10F050000C9465F80C9465F80C9465F80C9465F8BC -:10F060000C9465F80C9465F80C9465F80C9465F8AC -:10F070000C9465F80C9465F80C9465F80C9465F89C -:10F080000C9465F80C9465F80C9465F811241FBE77 -:10F09000CFEFD0E4DEBFCDBF11E0A0E0B1E0E8EDFE -:10F0A000F7EF01E00BBF02C007900D92A230B1074D -:10F0B000D9F712E0A2E0B1E001C01D92AD30B10776 -:10F0C000E1F70E947EF90C94EAFB0C9400F8909111 -:10F0D0000201913019F0923041F008959091C000F2 -:10F0E00095FFFCCF8093C60008959091C80095FFCE -:10F0F000FCCF8093CE0008951F93982F95959595FA -:10F1000095959595905D182F1F701A304CF4105DF1 -:10F11000892F0E9467F8812F0E9467F81F91089538 -:10F12000195A892F0E9467F8812F0E9467F81F9152 -:10F130000895EF92FF920F931F9380910201813007 -:10F1400069F1823031F080E01F910F91FF90EF90D4 -:10F150000895EE24FF2487018091C80087FD17C021 -:10F160000894E11CF11C011D111D81E4E81682E4E4 -:10F17000F8068FE0080780E0180770F3E0910401BB -:10F18000F091050109958091C80087FFE9CF809132 -:10F19000CE001F910F91FF90EF900895EE24FF2471 -:10F1A00087018091C00087FD17C00894E11CF11C05 -:10F1B000011D111D81E4E81682E4F8068FE00807BE -:10F1C00080E0180770F3E0910401F09105010995C2 -:10F1D0008091C00087FFE9CF8091C6001F910F91F9 -:10F1E000FF90EF9008951F930E9499F8182F0E94A6 -:10F1F00067F8113634F410330CF01053812F1F913F -:10F2000008951755812F1F9108951F930E94F3F8B9 -:10F21000182F0E94F3F81295107F810F1F91089507 -:10F2200020910201882339F0213031F0223061F041 -:10F2300081508823C9F708959091C00097FFFCCFB3 -:10F240009091C6008150F5CF9091C80097FFFCCFF8 -:10F250009091CE008150EDCF1F93182F0E9499F806 -:10F26000803281F0809103018F5F809303018530AC -:10F2700011F01F910895E0910401F09105010995A5 -:10F280001F91089584E10E9467F8812F0E9467F81A -:10F2900080E10E9467F8EDCF0E9499F8803271F00A -:10F2A000809103018F5F80930301853009F00895F9 -:10F2B000E0910401F09105010995089584E10E940F -:10F2C00067F880E10E9467F8089515C0289A2FEF2B -:10F2D00031EE44E0215030404040E1F700C00000F2 -:10F2E00028982FEF31EE44E0215030404040E1F7C4 -:10F2F00000C000008150882349F70895EF92FF92E3 -:10F300000F931F93CF93DF93000081E0809302015E -:10F3100080E18093C4001092C5001092C00086E086 -:10F320008093C20088E18093C100209A81E00E940E -:10F3300065F90E9499F88033B1F18133B9F18034D5 -:10F3400009F454C0813409F45AC0823409F469C004 -:10F35000853409F46CC0803531F1823521F1813575 -:10F3600011F1853509F469C0863509F471C0843618 -:10F3700009F47AC0843709F4E1C0853709F43FC144 -:10F38000863709F44AC0809103018F5F809303019F -:10F39000853079F6E0910401F091050109950E940C -:10F3A00099F8803351F60E944CF9C3CF0E9499F826 -:10F3B000803249F784E10E9467F881E40E9467F88F -:10F3C00086E50E9467F882E50E9467F880E20E9465 -:10F3D00067F889E40E9467F883E50E9467F880E592 -:10F3E0000E9467F880E10E9467F8A3CF0E9499F815 -:10F3F0008638C8F20E9499F80E944CF99ACF0E9470 -:10F4000099F8803809F414C1813809F415C182389B -:10F4100009F416C1883909F407C180E00E942CF96B -:10F4200088CF84E10E9410F90E944CF982CF85E0D8 -:10F430000E9410F90E944CF97CCF0E9499F88093A9 -:10F4400006010E9499F8809307010E944CF971CF40 -:10F450000E9499F8803309F405C183E00E9410F9F5 -:10F4600080E00E942CF965CF0E9499F880930902F0 -:10F470000E9499F88093080280910C028E7F8093FD -:10F480000C020E9499F8853409F4FDC080910802AD -:10F49000909109020097A1F068E0E62E61E0F62E57 -:10F4A00000E010E00E9499F8F70181937F010F5F5F -:10F4B0001F4F80910802909109020817190790F3D5 -:10F4C0000E9499F8803209F05ECF80910C0280FF93 -:10F4D000ECC08091060190910701880F991F9093CD -:10F4E000070180930601209108023091090221153D -:10F4F0003105E9F048E0E42E41E0F42E00E010E0B0 -:10F50000F70161917F010E94DCFB809106019091DF -:10F510000701019690930701809306010F5F1F4F2B -:10F5200020910802309109020217130748F384E181 -:10F530000E9467F880E10E9467F8FBCE0E9499F86C -:10F54000809309020E9499F8809308028091060135 -:10F550009091070197FDA3C020910C022D7F20936D -:10F560000C02880F991F90930701809306010E9457 -:10F5700099F8853409F48DC080910C028E7F8093B8 -:10F580000C020E9499F8803209F0D3CE84E10E94E7 -:10F5900067F88091080290910902009709F440C031 -:10F5A00000E010E0809106019091070116C0FC0177 -:10F5B00084910E9467F8809106019091070101965D -:10F5C00090930701809306010F5F1F4F209108025F -:10F5D000309109020217130718F520910C0220FD43 -:10F5E00033C021FFE4CFA0E0B0E080509040AF4FA7 -:10F5F000BF4FABBFFC0187910E9467F8DCCF0E9430 -:10F6000099F8803209F0BFCE84E10E9467F88EE15C -:10F610000E9467F887E90E9467F885E00E9467F812 -:10F6200080E10E9467F885CE83E00E942CF981CEAC -:10F6300082E00E942CF97DCE81E00E942CF979CEE7 -:10F6400080E10E942CF975CE0E94D4FB0E9467F8DD -:10F650008091060190910701019690930701809394 -:10F660000601B2CF0E9499F80E9499F8082F0E94D3 -:10F6700099F8002309F48BC0013009F48CC085E0AF -:10F680000E942CF956CE80910C02816080930C026E -:10F69000FDCE80910C02816080930C0272CF20918C -:10F6A0000C02226020930C025CCF8091070187FD41 -:10F6B00076C010920B0280E08BBF80910601909182 -:10F6C0000701880F991F909307018093060180918D -:10F6D000080280FF09C080910802909109020196FA -:10F6E0009093090280930802F894F999FECF1127AC -:10F6F000E0910601F0910701C8E0D1E08091080295 -:10F7000090910902103091F400915700017001307E -:10F71000D9F303E000935700E8950091570001707A -:10F720000130D9F301E100935700E8950990199051 -:10F730000091570001700130D9F301E000935700A8 -:10F74000E8951395103898F0112700915700017033 -:10F750000130D9F305E000935700E8950091570078 -:10F7600001700130D9F301E100935700E89532961A -:10F77000029709F0C7CF103011F00296E5CF11249F -:10F7800084E10E9467F880E10E9467F8D2CD8EE1A3 -:10F790000E942CF9CECD87E90E942CF9CACDF1E068 -:10F7A000F0930B0281E088CFF999FECF92BD81BD25 -:10F7B000F89A992780B50895262FF999FECF1FBA98 -:10F7C00092BD81BD20BD0FB6F894FA9AF99A0FBE8A -:08F7D00001960895F894FFCFA3 -:02F7D8008000AF -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex deleted file mode 100644 index a897b6755..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex +++ /dev/null @@ -1,130 +0,0 @@ -:020000021000EC -:10F000000C9446F80C9465F80C9465F80C9465F82B -:10F010000C9465F80C9465F80C9465F80C9465F8FC -:10F020000C9465F80C9465F80C9465F80C9465F8EC -:10F030000C9465F80C9465F80C9465F80C9465F8DC -:10F040000C9465F80C9465F80C9465F80C9465F8CC -:10F050000C9465F80C9465F80C9465F80C9465F8BC -:10F060000C9465F80C9465F80C9465F80C9465F8AC -:10F070000C9465F80C9465F80C9465F80C9465F89C -:10F080000C9465F80C9465F80C9465F811241FBE77 -:10F09000CFEFD0E4DEBFCDBF11E0A0E0B1E0E8EDFE -:10F0A000F7EF01E00BBF02C007900D92A230B1074D -:10F0B000D9F712E0A2E0B1E001C01D92AD30B10776 -:10F0C000E1F70E947EF90C94EAFB0C9400F8909111 -:10F0D0000201913019F0923041F008959091C000F2 -:10F0E00095FFFCCF8093C60008959091C80095FFCE -:10F0F000FCCF8093CE0008951F93982F95959595FA -:10F1000095959595905D182F1F701A304CF4105DF1 -:10F11000892F0E9467F8812F0E9467F81F91089538 -:10F12000195A892F0E9467F8812F0E9467F81F9152 -:10F130000895EF92FF920F931F9380910201813007 -:10F1400069F1823031F080E01F910F91FF90EF90D4 -:10F150000895EE24FF2487018091C80087FD17C021 -:10F160000894E11CF11C011D111D81E2E81681EAE1 -:10F17000F80687E0080780E0180770F3E0910401C3 -:10F18000F091050109958091C80087FFE9CF809132 -:10F19000CE001F910F91FF90EF900895EE24FF2471 -:10F1A00087018091C00087FD17C00894E11CF11C05 -:10F1B000011D111D81E2E81681EAF80687E00807C3 -:10F1C00080E0180770F3E0910401F09105010995C2 -:10F1D0008091C00087FFE9CF8091C6001F910F91F9 -:10F1E000FF90EF9008951F930E9499F8182F0E94A6 -:10F1F00067F8113634F410330CF01053812F1F913F -:10F2000008951755812F1F9108951F930E94F3F8B9 -:10F21000182F0E94F3F81295107F810F1F91089507 -:10F2200020910201882339F0213031F0223061F041 -:10F2300081508823C9F708959091C00097FFFCCFB3 -:10F240009091C6008150F5CF9091C80097FFFCCFF8 -:10F250009091CE008150EDCF1F93182F0E9499F806 -:10F26000803281F0809103018F5F809303018530AC -:10F2700011F01F910895E0910401F09105010995A5 -:10F280001F91089584E10E9467F8812F0E9467F81A -:10F2900080E10E9467F8EDCF0E9499F8803271F00A -:10F2A000809103018F5F80930301853009F00895F9 -:10F2B000E0910401F09105010995089584E10E940F -:10F2C00067F880E10E9467F8089515C0289A2FEF2B -:10F2D00030E742E0215030404040E1F700C00000FC -:10F2E00028982FEF30E742E0215030404040E1F7CE -:10F2F00000C000008150882349F70895EF92FF92E3 -:10F300000F931F93CF93DF93000081E0809302015E -:10F3100089E18093C4001092C5001092C00086E07D -:10F320008093C20088E18093C100209A81E00E940E -:10F3300065F90E9499F88033B1F18133B9F18034D5 -:10F3400009F454C0813409F45AC0823409F469C004 -:10F35000853409F46CC0803531F1823521F1813575 -:10F3600011F1853509F469C0863509F471C0843618 -:10F3700009F47AC0843709F4E1C0853709F43FC144 -:10F38000863709F44AC0809103018F5F809303019F -:10F39000853079F6E0910401F091050109950E940C -:10F3A00099F8803351F60E944CF9C3CF0E9499F826 -:10F3B000803249F784E10E9467F881E40E9467F88F -:10F3C00086E50E9467F882E50E9467F880E20E9465 -:10F3D00067F889E40E9467F883E50E9467F880E592 -:10F3E0000E9467F880E10E9467F8A3CF0E9499F815 -:10F3F0008638C8F20E9499F80E944CF99ACF0E9470 -:10F4000099F8803809F414C1813809F415C182389B -:10F4100009F416C1883909F407C180E00E942CF96B -:10F4200088CF84E10E9410F90E944CF982CF85E0D8 -:10F430000E9410F90E944CF97CCF0E9499F88093A9 -:10F4400006010E9499F8809307010E944CF971CF40 -:10F450000E9499F8803309F405C183E00E9410F9F5 -:10F4600080E00E942CF965CF0E9499F880930902F0 -:10F470000E9499F88093080280910C028E7F8093FD -:10F480000C020E9499F8853409F4FDC080910802AD -:10F49000909109020097A1F068E0E62E61E0F62E57 -:10F4A00000E010E00E9499F8F70181937F010F5F5F -:10F4B0001F4F80910802909109020817190790F3D5 -:10F4C0000E9499F8803209F05ECF80910C0280FF93 -:10F4D000ECC08091060190910701880F991F9093CD -:10F4E000070180930601209108023091090221153D -:10F4F0003105E9F048E0E42E41E0F42E00E010E0B0 -:10F50000F70161917F010E94DCFB809106019091DF -:10F510000701019690930701809306010F5F1F4F2B -:10F5200020910802309109020217130748F384E181 -:10F530000E9467F880E10E9467F8FBCE0E9499F86C -:10F54000809309020E9499F8809308028091060135 -:10F550009091070197FDA3C020910C022D7F20936D -:10F560000C02880F991F90930701809306010E9457 -:10F5700099F8853409F48DC080910C028E7F8093B8 -:10F580000C020E9499F8803209F0D3CE84E10E94E7 -:10F5900067F88091080290910902009709F440C031 -:10F5A00000E010E0809106019091070116C0FC0177 -:10F5B00084910E9467F8809106019091070101965D -:10F5C00090930701809306010F5F1F4F209108025F -:10F5D000309109020217130718F520910C0220FD43 -:10F5E00033C021FFE4CFA0E0B0E080509040AF4FA7 -:10F5F000BF4FABBFFC0187910E9467F8DCCF0E9430 -:10F6000099F8803209F0BFCE84E10E9467F88EE15C -:10F610000E9467F887E90E9467F885E00E9467F812 -:10F6200080E10E9467F885CE83E00E942CF981CEAC -:10F6300082E00E942CF97DCE81E00E942CF979CEE7 -:10F6400080E10E942CF975CE0E94D4FB0E9467F8DD -:10F650008091060190910701019690930701809394 -:10F660000601B2CF0E9499F80E9499F8082F0E94D3 -:10F6700099F8002309F48BC0013009F48CC085E0AF -:10F680000E942CF956CE80910C02816080930C026E -:10F69000FDCE80910C02816080930C0272CF20918C -:10F6A0000C02226020930C025CCF8091070187FD41 -:10F6B00076C010920B0280E08BBF80910601909182 -:10F6C0000701880F991F909307018093060180918D -:10F6D000080280FF09C080910802909109020196FA -:10F6E0009093090280930802F894F999FECF1127AC -:10F6F000E0910601F0910701C8E0D1E08091080295 -:10F7000090910902103091F400915700017001307E -:10F71000D9F303E000935700E8950091570001707A -:10F720000130D9F301E100935700E8950990199051 -:10F730000091570001700130D9F301E000935700A8 -:10F74000E8951395103898F0112700915700017033 -:10F750000130D9F305E000935700E8950091570078 -:10F7600001700130D9F301E100935700E89532961A -:10F77000029709F0C7CF103011F00296E5CF11249F -:10F7800084E10E9467F880E10E9467F8D2CD8EE1A3 -:10F790000E942CF9CECD87E90E942CF9CACDF1E068 -:10F7A000F0930B0281E088CFF999FECF92BD81BD25 -:10F7B000F89A992780B50895262FF999FECF1FBA98 -:10F7C00092BD81BD20BD0FB6F894FA9AF99A0FBE8A -:08F7D00001960895F894FFCFA3 -:02F7D8008000AF -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex deleted file mode 100644 index 2678e0727..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex +++ /dev/null @@ -1,126 +0,0 @@ -:10F800000C943E7C0C945B7C0C945B7C0C945B7C39 -:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C -:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC -:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC -:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC -:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC -:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC -:10F870000C945B7C0C945B7C0C945B7C11241FBE11 -:10F88000CFEFD0E1DEBFCDBF11E0A0E0B1E0EAEA0A -:10F89000FFEF02C005900D92A230B107D9F712E038 -:10F8A000A2E0B1E001C01D92AD30B107E1F70E94C6 -:10F8B000747D0C94D37F0C94007C90910201913064 -:10F8C00019F0923041F008959091C00095FFFCCF5F -:10F8D0008093C60008959091C80095FFFCCF809357 -:10F8E000CE0008951F93982F95959595959595958C -:10F8F000905D182F1F701A304CF4105D892F0E94F4 -:10F900005D7C812F0E945D7C1F910895195A892F7B -:10F910000E945D7C812F0E945D7C1F910895EF9273 -:10F92000FF920F931F9380910201813069F1823021 -:10F9300031F080E01F910F91FF90EF900895EE2439 -:10F94000FF2487018091C80087FD17C00894E11C3F -:10F95000F11C011D111D81E4E81682E4F8068FE018 -:10F96000080780E0180770F3E0910401F0910501A9 -:10F9700009958091C80087FFE9CF8091CE001F9143 -:10F980000F91FF90EF900895EE24FF24870180915E -:10F99000C00087FD17C00894E11CF11C011D111D5A -:10F9A00081E4E81682E4F8068FE0080780E0180793 -:10F9B00070F3E0910401F091050109958091C00078 -:10F9C00087FFE9CF8091C6001F910F91FF90EF90C4 -:10F9D00008951F930E948F7C182F0E945D7C113622 -:10F9E00034F410330CF01053812F1F9108951755E4 -:10F9F000812F1F9108951F930E94E97C182F0E9468 -:10FA0000E97C1295107F810F1F91089520910201CA -:10FA1000882339F0213031F0223061F08150882381 -:10FA2000C9F708959091C00097FFFCCF9091C60050 -:10FA30008150F5CF9091C80097FFFCCF9091CE00F8 -:10FA40008150EDCF1F93182F0E948F7C803281F060 -:10FA5000809103018F5F80930301853011F01F9126 -:10FA60000895E0910401F091050109951F91089511 -:10FA700084E10E945D7C812F0E945D7C80E10E9478 -:10FA80005D7CEDCF0E948F7C803271F0809103010C -:10FA90008F5F80930301853009F00895E0910401A0 -:10FAA000F09105010995089584E10E945D7C80E153 -:10FAB0000E945D7C089515C0289A2FEF31EE44E036 -:10FAC000215030404040E1F700C0000028982FEF5F -:10FAD00031EE44E0215030404040E1F700C00000EA -:10FAE0008150882349F70895EF92FF920F931F9357 -:10FAF000CF93DF93000081E08093020180E1809347 -:10FB0000C4001092C5001092C00086E08093C2002D -:10FB100088E18093C100209A81E00E945B7D0E9471 -:10FB20008F7C8033B1F18133B9F1803409F454C052 -:10FB3000813409F45AC0823409F469C0853409F467 -:10FB40006CC0803531F1823521F1813511F1853577 -:10FB500009F469C0863509F471C0843609F47AC0A5 -:10FB6000843709F4E1C0853709F439C1863709F4CF -:10FB70004AC0809103018F5F80930301853079F63D -:10FB8000E0910401F091050109950E948F7C80337A -:10FB900051F60E94427DC3CF0E948F7C803249F78C -:10FBA00084E10E945D7C81E40E945D7C86E50E9488 -:10FBB0005D7C82E50E945D7C80E20E945D7C89E440 -:10FBC0000E945D7C83E50E945D7C80E50E945D7CF7 -:10FBD00080E10E945D7CA3CF0E948F7C8638C8F2B2 -:10FBE0000E948F7C0E94427D9ACF0E948F7C803839 -:10FBF00009F40EC1813809F40FC1823809F410C12B -:10FC0000883909F401C180E00E94227D88CF84E117 -:10FC10000E94067D0E94427D82CF85E00E94067D83 -:10FC20000E94427D7CCF0E948F7C809306010E94BF -:10FC30008F7C809307010E94427D71CF0E948F7C50 -:10FC4000803309F4F1C083E00E94067D80E00E94C9 -:10FC5000227D65CF0E948F7C809309020E948F7C59 -:10FC60008093080280910C028E7F80930C020E9488 -:10FC70008F7C853409F4E9C08091080290910902D3 -:10FC80000097A1F068E0E62E61E0F62E00E010E0BB -:10FC90000E948F7CF70181937F010F5F1F4F80913E -:10FCA0000802909109020817190790F30E948F7CAF -:10FCB000803209F05ECF80910C0280FFE5C0809118 -:10FCC000060190910701880F991F90930701809377 -:10FCD0000601209108023091090221153105E9F051 -:10FCE00048E0E42E41E0F42E00E010E0F7016191DD -:10FCF0007F010E94C57F80910601909107010196C6 -:10FD000090930701809306010F5F1F4F2091080217 -:10FD1000309109020217130748F384E10E945D7CC9 -:10FD200080E10E945D7CFBCE0E948F7C8093090263 -:10FD30000E948F7C809308028091060190910701B8 -:10FD400097FD9CC020910C022D7F20930C02880F00 -:10FD5000991F90930701809306010E948F7C853440 -:10FD600009F486C080910C028E7F80930C020E9461 -:10FD70008F7C803209F0D3CE84E10E945D7C20919B -:10FD800008023091090221153105D1F100E010E09F -:10FD900080910601909107010CC041FF5CC0019663 -:10FDA00090930701809306010F5F1F4F02171307FF -:10FDB00038F540910C0240FFF0CF0E94BD7F0E94B9 -:10FDC0005D7C809106019091070101969093070157 -:10FDD000809306012091080230910902E5CF0E942C -:10FDE0008F7C803209F0C5CE84E10E945D7C8EE17B -:10FDF0000E945D7C86E90E945D7C8AE00E945D7CB9 -:10FE000080E10E945D7C8BCE83E00E94227D87CEC4 -:10FE100082E00E94227D83CE81E00E94227D7FCEFF -:10FE200080E10E94227D7BCE0E948F7C0E948F7C8D -:10FE3000082F0E948F7C002309F497C0013009F439 -:10FE400098C08AE00E94227D6ACE80910C02816077 -:10FE500080930C0211CFFC0184910E945D7C209163 -:10FE6000080230910902809106019091070197CF15 -:10FE700080910C02816080930C0279CF20910C025A -:10FE8000226020930C0263CF80910701880F880BBA -:10FE9000817080930B028091060190910701880F79 -:10FEA000991F90930701809306018091080280FFBB -:10FEB00009C080910802909109020196909309026D -:10FEC00080930802F894F999FECF1127E09106017A -:10FED000F0910701C8E0D1E08091080290910902F9 -:10FEE000103091F40091570001700130D9F303E014 -:10FEF00000935700E8950091570001700130D9F345 -:10FF000001E100935700E89509901990009157007E -:10FF100001700130D9F301E000935700E895139583 -:10FF2000103898F011270091570001700130D9F373 -:10FF300005E000935700E8950091570001700130EB -:10FF4000D9F301E100935700E8953296029709F042 -:10FF5000C7CF103011F00296E5CF112484E10E9442 -:10FF60005D7C80E10E945D7CDACD8EE10E94227D85 -:10FF7000D6CD86E90E94227DD2CDF999FECF92BDE1 -:10FF800081BDF89A992780B50895262FF999FECF5B -:10FF90001FBA92BD81BD20BD0FB6F894FA9AF99AA6 -:0AFFA0000FBE01960895F894FFCFFC -:02FFAA008000D5 -:040000030000F80001 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/Makefile b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/Makefile deleted file mode 100644 index 3f2bb6156..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega/Makefile +++ /dev/null @@ -1,254 +0,0 @@ -# Makefile for ATmegaBOOT -# E.Lins, 18.7.2005 -# $Id$ -# -# Instructions -# -# To make bootloader .hex file: -# make diecimila -# make lilypad -# make ng -# etc... -# -# To burn bootloader .hex file: -# make diecimila_isp -# make lilypad_isp -# make ng_isp -# etc... - -# program name should not be changed... -PROGRAM = ATmegaBOOT_168 - -# enter the parameters for the avrdude isp tool -ISPTOOL = stk500v2 -ISPPORT = usb -ISPSPEED = -b 115200 - -MCU_TARGET = atmega168 -LDSECTION = --section-start=.text=0x3800 - -# the efuse should really be 0xf8; since, however, only the lower -# three bits of that byte are used on the atmega168, avrdude gets -# confused if you specify 1's for the higher bits, see: -# http://tinker.it/now/2007/02/24/the-tale-of-avrdude-atmega168-and-extended-bits-fuses/ -# -# similarly, the lock bits should be 0xff instead of 0x3f (to -# unlock the bootloader section) and 0xcf instead of 0x0f (to -# lock it), but since the high two bits of the lock byte are -# unused, avrdude would get confused. - -ISPFUSES = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ --e -u -U lock:w:0x3f:m -U efuse:w:0x$(EFUSE):m -U hfuse:w:0x$(HFUSE):m -U lfuse:w:0x$(LFUSE):m -ISPFLASH = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ --U flash:w:$(PROGRAM)_$(TARGET).hex -U lock:w:0x0f:m - -STK500 = "C:\Program Files\Atmel\AVR Tools\STK500\Stk500.exe" -STK500-1 = $(STK500) -e -d$(MCU_TARGET) -pf -vf -if$(PROGRAM)_$(TARGET).hex \ --lFF -LFF -f$(HFUSE)$(LFUSE) -EF8 -ms -q -cUSB -I200kHz -s -wt -STK500-2 = $(STK500) -d$(MCU_TARGET) -ms -q -lCF -LCF -cUSB -I200kHz -s -wt - - -OBJ = $(PROGRAM).o -OPTIMIZE = -O2 - -DEFS = -LIBS = - -CC = avr-gcc - -# Override is only needed by avr-lib build system. - -override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS) -override LDFLAGS = -Wl,$(LDSECTION) -#override LDFLAGS = -Wl,-Map,$(PROGRAM).map,$(LDSECTION) - -OBJCOPY = avr-objcopy -OBJDUMP = avr-objdump - -all: - -lilypad: TARGET = lilypad -lilypad: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3' -lilypad: AVR_FREQ = 8000000L -lilypad: $(PROGRAM)_lilypad.hex - -lilypad_isp: lilypad -lilypad_isp: TARGET = lilypad -lilypad_isp: HFUSE = DD -lilypad_isp: LFUSE = E2 -lilypad_isp: EFUSE = 00 -lilypad_isp: isp - -lilypad_resonator: TARGET = lilypad_resonator -lilypad_resonator: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=3' -lilypad_resonator: AVR_FREQ = 8000000L -lilypad_resonator: $(PROGRAM)_lilypad_resonator.hex - -lilypad_resonator_isp: lilypad_resonator -lilypad_resonator_isp: TARGET = lilypad_resonator -lilypad_resonator_isp: HFUSE = DD -lilypad_resonator_isp: LFUSE = C6 -lilypad_resonator_isp: EFUSE = 00 -lilypad_resonator_isp: isp - -pro8: TARGET = pro_8MHz -pro8: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro8: AVR_FREQ = 8000000L -pro8: $(PROGRAM)_pro_8MHz.hex - -pro8_isp: pro8 -pro8_isp: TARGET = pro_8MHz -pro8_isp: HFUSE = DD -pro8_isp: LFUSE = C6 -pro8_isp: EFUSE = 00 -pro8_isp: isp - -pro16: TARGET = pro_16MHz -pro16: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro16: AVR_FREQ = 16000000L -pro16: $(PROGRAM)_pro_16MHz.hex - -pro16_isp: pro16 -pro16_isp: TARGET = pro_16MHz -pro16_isp: HFUSE = DD -pro16_isp: LFUSE = C6 -pro16_isp: EFUSE = 00 -pro16_isp: isp - -pro20: TARGET = pro_20mhz -pro20: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro20: AVR_FREQ = 20000000L -pro20: $(PROGRAM)_pro_20mhz.hex - -pro20_isp: pro20 -pro20_isp: TARGET = pro_20mhz -pro20_isp: HFUSE = DD -pro20_isp: LFUSE = C6 -pro20_isp: EFUSE = 00 -pro20_isp: isp - -diecimila: TARGET = diecimila -diecimila: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -diecimila: AVR_FREQ = 16000000L -diecimila: $(PROGRAM)_diecimila.hex - -diecimila_isp: diecimila -diecimila_isp: TARGET = diecimila -diecimila_isp: HFUSE = DD -diecimila_isp: LFUSE = FF -diecimila_isp: EFUSE = 00 -diecimila_isp: isp - -ng: TARGET = ng -ng: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3' -ng: AVR_FREQ = 16000000L -ng: $(PROGRAM)_ng.hex - -ng_isp: ng -ng_isp: TARGET = ng -ng_isp: HFUSE = DD -ng_isp: LFUSE = FF -ng_isp: EFUSE = 00 -ng_isp: isp - -atmega328: TARGET = atmega328 -atmega328: MCU_TARGET = atmega328p -atmega328: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=57600 -atmega328: AVR_FREQ = 16000000L -atmega328: LDSECTION = --section-start=.text=0x7800 -atmega328: $(PROGRAM)_atmega328.hex - -atmega328_isp: atmega328 -atmega328_isp: TARGET = atmega328 -atmega328_isp: MCU_TARGET = atmega328p -atmega328_isp: HFUSE = DA -atmega328_isp: LFUSE = FF -atmega328_isp: EFUSE = 05 -atmega328_isp: isp - -atmega328_pro8: TARGET = atmega328_pro_8MHz -atmega328_pro8: MCU_TARGET = atmega328p -atmega328_pro8: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=57600 -DDOUBLE_SPEED -atmega328_pro8: AVR_FREQ = 8000000L -atmega328_pro8: LDSECTION = --section-start=.text=0x7800 -atmega328_pro8: $(PROGRAM)_atmega328_pro_8MHz.hex - -atmega328_pro8_isp: atmega328_pro8 -atmega328_pro8_isp: TARGET = atmega328_pro_8MHz -atmega328_pro8_isp: MCU_TARGET = atmega328p -atmega328_pro8_isp: HFUSE = DA -atmega328_pro8_isp: LFUSE = FF -atmega328_pro8_isp: EFUSE = 05 -atmega328_pro8_isp: isp - -mega: TARGET = atmega1280 -mega: MCU_TARGET = atmega1280 -mega: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' -DBAUD_RATE=57600 -mega: AVR_FREQ = 16000000L -mega: LDSECTION = --section-start=.text=0x1F000 -mega: $(PROGRAM)_atmega1280.hex - -mega_isp: mega -mega_isp: TARGET = atmega1280 -mega_isp: MCU_TARGET = atmega1280 -mega_isp: HFUSE = DA -mega_isp: LFUSE = FF -mega_isp: EFUSE = F5 -mega_isp: isp - -atmega1284p: TARGET = atmega1284p -atmega1284p: MCU_TARGET = atmega1284p -atmega1284p: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=57600' -atmega1284p: AVR_FREQ = 16000000L -atmega1284p: LDSECTION = --section-start=.text=0x1F000 -atmega1284p: $(PROGRAM)_atmega1284p.hex - -atmega1284p_8m: TARGET = atmega1284p -atmega1284p_8m: MCU_TARGET = atmega1284p -atmega1284p_8m: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=19200' -atmega1284p_8m: AVR_FREQ = 8000000L -atmega1284p_8m: LDSECTION = --section-start=.text=0x1F000 -atmega1284p_8m: $(PROGRAM)_atmega1284p_8m.hex - -atmega644p: TARGET = atmega644p -atmega644p: MCU_TARGET = atmega644p -atmega644p: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=57600' -atmega644p: AVR_FREQ = 16000000L -atmega644p: LDSECTION = --section-start=.text=0xF800 -atmega644p: $(PROGRAM)_atmega644p.hex - - -atmega1284p_isp: atmega1284p -atmega1284p_isp: TARGET = atmega1284p -atmega1284p_isp: MCU_TARGET = atmega1284p -atmega1284p_isp: HFUSE = DC -atmega1284p_isp: LFUSE = FF -atmega1284p_isp: EFUSE = FD -atmega1284p_isp: isp - -isp: $(TARGET) - $(ISPFUSES) - $(ISPFLASH) - -isp-stk500: $(PROGRAM)_$(TARGET).hex - $(STK500-1) - $(STK500-2) - -%.elf: $(OBJ) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) - -clean: - rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex - -%.lst: %.elf - $(OBJDUMP) -h -S $< > $@ - -%.hex: %.elf - $(OBJCOPY) -j .text -j .data -O ihex $< $@ - -%.srec: %.elf - $(OBJCOPY) -j .text -j .data -O srec $< $@ - -%.bin: %.elf - $(OBJCOPY) -j .text -j .data -O binary $< $@ - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT.c deleted file mode 100644 index 51bd8d5f8..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT.c +++ /dev/null @@ -1,717 +0,0 @@ -/**********************************************************/ -/* Serial Bootloader for Atmel megaAVR Controllers */ -/* */ -/* tested with ATmega644 and ATmega644P */ -/* should work with other mega's, see code for details */ -/* */ -/* ATmegaBOOT.c */ -/* */ -/* 20090131: Added 324P support from Alex Leone */ -/* Marius Kintel */ -/* 20080915: applied ADABoot mods for Sanguino 644P */ -/* Brian Riley */ -/* 20080711: hacked for Sanguino by Zach Smith */ -/* and Justin Day */ -/* 20070626: hacked for Arduino Diecimila (which auto- */ -/* resets when a USB connection is made to it) */ -/* by D. Mellis */ -/* 20060802: hacked for Arduino by D. Cuartielles */ -/* based on a previous hack by D. Mellis */ -/* and D. Cuartielles */ -/* */ -/* Monitor and debug functions were added to the original */ -/* code by Dr. Erik Lins, chip45.com. (See below) */ -/* */ -/* Thanks to Karl Pitrich for fixing a bootloader pin */ -/* problem and more informative LED blinking! */ -/* */ -/* For the latest version see: */ -/* http://www.chip45.com/ */ -/* */ -/* ------------------------------------------------------ */ -/* */ -/* based on stk500boot.c */ -/* Copyright (c) 2003, Jason P. Kyle */ -/* All rights reserved. */ -/* see avr1.org for original file and information */ -/* */ -/* This program is free software; you can redistribute it */ -/* and/or modify it under the terms of the GNU General */ -/* Public License as published by the Free Software */ -/* Foundation; either version 2 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, write */ -/* to the Free Software Foundation, Inc., */ -/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* */ -/* Licence can be viewed at */ -/* http://www.fsf.org/licenses/gpl.txt */ -/* */ -/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */ -/* m8515,m8535. ATmega161 has a very small boot block so */ -/* isn't supported. */ -/* */ -/* Tested with m168 */ -/**********************************************************/ - -/* $Id$ */ - - -/* some includes */ -#include -#include -#include -#include -#include -#include - -#ifdef ADABOOT - #define NUM_LED_FLASHES 3 - #define ADABOOT_VER 1 -#endif - - -/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */ -#define MAX_ERROR_COUNT 5 - -/* set the UART baud rate */ -/* 20080711: hack by Zach Hoeken */ -#define BAUD_RATE 38400 - -/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */ -/* never allow AVR Studio to do an update !!!! */ -#define HW_VER 0x02 -#define SW_MAJOR 0x01 -#define SW_MINOR 0x10 - -/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */ -/* if monitor functions are included, LED goes on after monitor was entered */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB0 - -/* define various device id's */ -/* manufacturer byte is always the same */ -#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :( -#if defined(__AVR_ATmega1284P__) -#define SIG2 0x97 -#define SIG3 0x05 -#elif defined(__AVR_ATmega644P__) -#define SIG2 0x96 -#define SIG3 0x0A -#elif defined(__AVR_ATmega644__) -#define SIG2 0x96 -#define SIG3 0x09 -#elif defined(__AVR_ATmega324P__) -#define SIG2 0x95 -#define SIG3 0x08 -#endif - -#define PAGE_SIZE 0x080U //128 words -#define PAGE_SIZE_BYTES 0x100U //256 bytes - -/* function prototypes */ -void putch(char); -char getch(void); -void getNch(uint8_t); -void byte_response(uint8_t); -void nothing_response(void); -char gethex(void); -void puthex(char); -void flash_led(uint8_t); - -/* some variables */ -union address_union -{ - uint16_t word; - uint8_t byte[2]; -} address; - -union length_union -{ - uint16_t word; - uint8_t byte[2]; -} length; - -struct flags_struct -{ - unsigned eeprom : 1; - unsigned rampz : 1; -} flags; - -uint8_t buff[256]; - -uint8_t error_count = 0; -uint8_t sreg; - -void (*app_start)(void) = 0x0000; - -/* main program starts here */ -int main(void) -{ - uint8_t ch,ch2; - uint16_t w; - uint16_t i; - - asm volatile("nop\n\t"); - -#ifdef ADABOOT // BBR/LF 10/8/2007 & 9/13/2008 - ch = MCUSR; - MCUSR = 0; - - WDTCSR |= _BV(WDCE) | _BV(WDE); - WDTCSR = 0; - - // Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot. - if (! (ch & _BV(EXTRF))) // if it's a not an external reset... - app_start(); // skip bootloader -#endif - - - //initialize our serial port. - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR0B = (1< 0x85) - getch(); - nothing_response(); - } - - - /* AVR ISP/STK500 board requests */ - else if(ch=='A') - { - ch2 = getch(); - if(ch2 == 0x80) - byte_response(HW_VER); // Hardware version - else if(ch2==0x81) - byte_response(SW_MAJOR); // Software major version - else if(ch2==0x82) - byte_response(SW_MINOR); // Software minor version - else if(ch2==0x98) - byte_response(0x03); // Unknown but seems to be required by avr studio 3.56 - else - byte_response(0x00); // Covers various unnecessary responses we don't care about - } - - - /* Device Parameters DON'T CARE, DEVICE IS FIXED */ - else if(ch=='B') - { - getNch(20); - nothing_response(); - } - - - /* Parallel programming stuff DON'T CARE */ - else if(ch=='E') - { - getNch(5); - nothing_response(); - } - - - /* Enter programming mode */ - else if(ch=='P') - { - nothing_response(); - } - - - /* Leave programming mode */ - else if(ch=='Q') - { - nothing_response(); -#ifdef ADABOOT - // autoreset via watchdog (sneaky!) BBR/LF 9/13/2008 - WDTCSR = _BV(WDE); - while (1); // 16 ms -#endif - } - - - /* Erase device, don't care as we will erase one page at a time anyway. */ - else if(ch=='R') - { - nothing_response(); - } - - - /* Set address, little endian. EEPROM in bytes, FLASH in words */ - /* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */ - /* This might explain why little endian was used here, big endian used everywhere else. */ - else if(ch=='U') - { - address.byte[0] = getch(); - address.byte[1] = getch(); - nothing_response(); - } - - - /* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */ - else if(ch=='V') - { - getNch(4); - byte_response(0x00); - } - - - /* Write memory, length is big endian and is in bytes */ - else if(ch=='d') - { - length.byte[1] = getch(); - length.byte[0] = getch(); - - flags.eeprom = 0; - if (getch() == 'E') - flags.eeprom = 1; - - for (i=0; i byte location - address.word = address.word << 1; - - //Even up an odd number of bytes - if ((length.byte[0] & 0x01)) - length.word++; - - // HACKME: EEPE used to be EEWE - //Wait for previous EEPROM writes to complete - //while(bit_is_set(EECR,EEPE)); - while(EECR & (1< byte location - } - - // Command terminator - if (getch() == ' ') - { - putch(0x14); - for (w=0; w= 'a') - ah = ah - 'a' + 0x0a; - else if(ah >= '0') - ah -= '0'; - if(al >= 'a') - al = al - 'a' + 0x0a; - else if(al >= '0') - al -= '0'; - - return (ah << 4) + al; -} - - -void puthex(char ch) -{ - char ah,al; - - ah = (ch & 0xf0) >> 4; - if(ah >= 0x0a) - ah = ah - 0x0a + 'a'; - else - ah += '0'; - - al = (ch & 0x0f); - if(al >= 0x0a) - al = al - 0x0a + 'a'; - else - al += '0'; - - putch(ah); - putch(al); -} - - -void putch(char ch) -{ - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; -} - - - - -char getch(void) -{ - uint32_t count = 0; - -#ifdef ADABOOT - LED_PORT &= ~_BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008 -#endif - - while(!(UCSR0A & _BV(RXC0))) - { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - -#ifdef ADABOOT - LED_PORT |= _BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008 -#endif - - return UDR0; -} - - -void getNch(uint8_t count) -{ - uint8_t i; - for(i=0;i -#include -#include -#include -#include -#include -#include - -#ifdef ADABOOT - #define NUM_LED_FLASHES 3 - #define ADABOOT_VER 1 -#endif - - -/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */ -#define MAX_ERROR_COUNT 5 - -/* set the UART baud rate */ -/* 20080711: hack by Zach Hoeken */ -#define BAUD_RATE 38400 - -/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */ -/* never allow AVR Studio to do an update !!!! */ -#define HW_VER 0x02 -#define SW_MAJOR 0x01 -#define SW_MINOR 0x10 - -/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */ -/* if monitor functions are included, LED goes on after monitor was entered */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB0 - -/* define various device id's */ -/* manufacturer byte is always the same */ -#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :( -#if defined(__AVR_ATmega1284P__) -#define SIG2 0x97 -#define SIG3 0x05 -#elif defined(__AVR_ATmega644P__) -#define SIG2 0x96 -#define SIG3 0x0A -#elif defined(__AVR_ATmega644__) -#define SIG2 0x96 -#define SIG3 0x09 -#elif defined(__AVR_ATmega324P__) -#define SIG2 0x95 -#define SIG3 0x08 -#endif -#define PAGE_SIZE 0x080U //128 words -#define PAGE_SIZE_BYTES 0x100U //256 bytes - -/* function prototypes */ -void putch(char); -char getch(void); -void getNch(uint8_t); -void byte_response(uint8_t); -void nothing_response(void); -char gethex(void); -void puthex(char); -void flash_led(uint8_t); - -/* some variables */ -union address_union -{ - uint16_t word; - uint8_t byte[2]; -} address; - -union length_union -{ - uint16_t word; - uint8_t byte[2]; -} length; - -struct flags_struct -{ - unsigned eeprom : 1; - unsigned rampz : 1; -} flags; - -uint8_t buff[256]; - -uint8_t error_count = 0; -uint8_t sreg; - -void (*app_start)(void) = 0x0000; - -/* main program starts here */ -int main(void) -{ - uint8_t ch,ch2; - uint16_t w; - uint16_t i; - - asm volatile("nop\n\t"); - -#ifdef ADABOOT // BBR/LF 10/8/2007 & 9/13/2008 - ch = MCUSR; - MCUSR = 0; - - WDTCSR |= _BV(WDCE) | _BV(WDE); - WDTCSR = 0; - - // Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot. - if (! (ch & _BV(EXTRF))) // if it's a not an external reset... - app_start(); // skip bootloader -#endif - - - //initialize our serial port. - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR0B = (1<= 'a') - ah = ah - 'a' + 0x0a; - else if(ah >= '0') - ah -= '0'; - if(al >= 'a') - al = al - 'a' + 0x0a; - else if(al >= '0') - al -= '0'; - - return (ah << 4) + al; -} - - -void puthex(char ch) -{ - char ah,al; - - ah = (ch & 0xf0) >> 4; - if(ah >= 0x0a) - ah = ah - 0x0a + 'a'; - else - ah += '0'; - - al = (ch & 0x0f); - if(al >= 0x0a) - al = al - 0x0a + 'a'; - else - al += '0'; - - putch(ah); - putch(al); -} - - -void putch(char ch) -{ - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; -} - - - - -char getch(void) -{ - uint32_t count = 0; - -#ifdef ADABOOT - LED_PORT &= ~_BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008 -#endif - - while(!(UCSR0A & _BV(RXC0))) - { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - -#ifdef ADABOOT - LED_PORT |= _BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008 -#endif - - return UDR0; -} - - -void getNch(uint8_t count) -{ - uint8_t i; - for(i=0;iLGfm1A41uP9J@S^hlIRIPm?1e(GU^e8!7+sIL zub)tSOw0kGV+`u3Egd9-O6mhK50zs{g~zy_%ZJDHto(mD3T8}uVc^88N8bMFuYY=8 zYG3NfliquPo+DFFPE{8dT-=&EK5=_$cdIsJv`eHMt#dk=RHbi=Fg>aU-9`$>fPY)cu)`^ag3ZvXbyzSaY+&$X&u4`2M`#oOEa+7Glp*Y0SO zuIYc-nR7|%k(|QRQ#n_in$W5L4RjsGObqNiywjQUf$qcI06ouK@Ita{9c&9EyVpVf z&UMiB>6rd>{2VrX}+5IA{+*g7Lad>>s`@_!+Z1ENhZAqOTNS6KE zsn#+#dU=0%8%DnlMh4o-8c%I0yIOnh&Qct2ceXk@u(fRZPzR3a#o@Ap9p!n0zwFm_ zV=a9iV5?P3t<+j7b%whE>7N*3_}e;hfh`FG>Bpcv0$i#dLM$ zvZs$!Yj;HHt1Q_y#_H@EYaO5X@z`yr*uN)l@KapNxmNPiN&SWWAMg1eyb7|Et1DZ1 zo}d2wuv*l0zgqbGCw(9H(b{ui%!L@g+GX`8ag`RLM;Cf*o7A0?d#VOKWvNbVyKTar zX`N`BL|f`LIg*EUx_7m!vwN(S>>guLZw0eb*k%yh{37+6lw*_c>KcNs8$m^t>-AGv zDd@ftj`yZD>WJ3lbzayhw6@*(z4?{92McDUYsQ?_gJ+lZ0A_t4-&HVZ?K(D4Fhj2( zebv5lsG}lp@P;$ygmTx3S=-{BKGe0Y6KCRc{SR%X^WV#Wlj(0A(!L>;pSo0MedJuu zxzlRr^R3Sh_a%Rv)8G1O4qg>HGaX&Db{!kapU&(A|FjiO#&RcJnDfMkj}C09*r->T zXS;p>*}-?Lt?!bLdsAHlTPvmyC2_?a8eV%y-ji^ghtk*KibKOaBLn(-3g82E`#8-( z{NCD!--!iyPU1o3B0Oe5DFEtcBX^JznTn6UJsFY9AX_7HIev#a`U*hzTzpUo`G)7g z1%|6&vf*l&YIr^r8eV{L=;DLRITn(9a0SdY`i0;!yvRi7gT>ghEeY zmo7e73Rf9k2Fnd!1uG3-4XX`*32rj{Ww^!ga#&~h8VDM`78(q%fF{E$A!_(KNEp5z z?lim#?l!zy@C}032)ef`Yof_e~{?!`fTdV3UkpWyEyJNNtNkdt^&c@vK$0hW*O zND^SV48PivOaQ9{Zxj5w;LlrWd!OK_;6A}W6a1FoVZoEL(mv-Rw_!YAm;g{~Glh4b z&85!*^t1g&j{5h^cQL=m{8eViCZ9B0_}t2T5Azq9H!&|_PBO1yZe?y_-of0)jGKKd zeaw5Af6V+S^KY2!Q|2|y1vr}k&CC;-Nq&Sr?Behiwz-D2dzr6u zOpN_cP*3wk<%G=*=L5{dcLhlp(iQmW_#}nH3ACZMU-Sd~z~k|AS1qIQH+c z{&m*n;)W{;IzL|KKeGN-=C_zPF~7~ck6GvNMdlRik1-!%&dDR6N15j^zr(zo`4}^O zIPpYKPw`WEOt3SSdFKKg=C-|TbDH_ef0%PJbo_tr9EwMmu;9l9A4Q%4%PqPO3?eT? zo@}=%#xv=u_~06gf%#g&D=bU_7ay#&oW1J|)Qq?F*W&pp^z#Y#Rbdh9zA8rbMS3c@ z?-l;5El2Rdd}Hr}1=duy<~^-dXn2uziQ&c8Ov6`Na||!BXlzt`u*^#Dfv>X4wHozT zTk~zEu`INi#_}P?nTK;T18%U0sgOU1eXzy}8U5TW@^hnwDd6IRwN}32fOVeX8ZoX~ z5$9T~(%95n3k~09EjE0+wG??G#x0?W1;%EMn7c2EG0qipcbP>oQSm{sn7a}&cP^0= zx8>31XkTi14STIBWH;yGQqFU=&Gf8BrJq0bM+#3)4yk{KDJLD6hb5eoutmI@{e;a} zC_kj9;)96D&mDr}RytP+bB*}m4zULA5Nlw)H4*&s5=AH;ZW z6Od5$k!} zW5z-;ke-SUXa}N;4;~hIctp(Cw?$4K7cuNNK7FuX+>7?}nk272_>OhG@qfUgy%-fA z9I$TH$h_Y0x2+w5I}Lx|>Jj{q;2#-&!g>YyX&ieJ_F6Q;mv}uqcGh*JzZL2J2KF~3 z0Ojx~=4XI&xR)7KJa?q0;)8vB*8DB;?&5Js-{1C&_ZSC&*15L-E);4+KR@8Uwf+h5 z?&8OgzTTe}?>anoZ-t=zTqp> zWW!6;C5D%&nTD@X#fDcXui=$yzTxYY&+saBt>M*bjo@{L_d?L{jjGP@8r2{;YWNnl z$?#VcJwH+L!B^A{!+!Ok;edL~aGiR>aD)1h;YQVO_%`*j;oH@(3^%J+3qWAhVNGNoTua8q?}!Y4_;9}GWuVupBVmwdeQLf>Se=k zs8<-Ny4>(5YPsR#>Q=!uhO?}g;W5^F!#UO_!?{+6;XLbJ!{=C?h9_D*h9_CO z4PR*OGd#t5!e+XkKW8)D&ma0o!5{H{UI^PcPwz3`&-@9qe(uN}M>Y?zeh%{<<^{}s z%vUozcPo0gp#4KhqB&YpTN`zkF7n+}9EbIh#$Z*#y}%8A|N2mEA`**NEpglt16`QhHz6P5R8`uV!@WiaO5(V z%Trp?fYOFQEL5^85UwY6Nlhe@Aj41$O%u(b`arqY8!drFtBDt{Sh2de7V2wjJ^tEA zbF{H36f6epv??*%HP>CVAjYTa%St^J<(1X+Sy2tO*bN(aw1KCn+EwlLU`Dy6f{k}+Od}$+orbjGfc}wFJ)|BYCJm; zjS8!r8kBoEta5DNHc?5acBQ=tvZG*!XM|EAJXeU&MSI3-h&M!H2{YPCJ=)5mj67?r zGrF0l&F6_8(4$VEnHsl?f~n+DB3EDL_EhRQGXB!GIMK$|O>RA9Wz|rJ>&9LP_C#Zy z7i%FHX{l)n={170Y%db7;>^f;dn%o#`ZAzZg%hVwP|^~Ql{7Wh;M%V(39OHmc#F%5 zOVif{sT#wzO)bF?o)d|U(NMg&;cU$u%XlJ)#%H%Pmz{KP8e!8)KaIYWE&~eGRRnlN z87-!SwC*ChT-@chEoOtX+SF(<2dMS3X{pCH)#ESKrbdga6HUw5wA^c(;=)2@xi&Rg zTsEk!VAE(KX4~TGz?f~fX*I0})aw}hO`$;Cj0DF(Rd&!Bbu`SE(YdFo4Pkd#o}FkML*D5b%gIx}K7C8CsuoNkz|qmY(`m7@NmV9(kIsrSxY2bwDfZZ?%0%y><&YlQ=sKMeJ+kJ& zo%T$7MrA|jGZGPVR)L$Bays#K0a2w#grR+wtC26A$Y;F9s8L-@JcP~segYm(83$K} zOKm~Cv?;Qo3fDHS%(FZciXc;cL!cX#_9P7G3c%QCwd6H4 z3^ygAaDAdd`o|ppL;t!%`jQXS$Nlj{tfe-=kx|;?Zaq+nMaNbh3p7XXvSqxF;MEpw zNz^t}Ev3QWEF!K%q!r(iXb9bDD(XXy8P?TCT5xX}!`SgggEfvJRs|YR&kh1j4xz=h zvJY;(l1C1W>;@ZB()^g-Xe1mDnQqsk7uzx%Ni;Nu>(8{ovBw+m>nCVhHPHxZaV^#% z>Q3;BqdCwR)>as)p3SOdG;|z?PQDiB73qw!gsFs@mbyAE;A(K@)V_@MKyZH_iQ(>> zGP6vp;;~S@!+~fNrza4jN{kIJ!8vrsYp{;`$J9e{d}DJWP=n`0OrIMZO5m*$ifiI= zs?;Wd8m#1Jm;cKL{ap_|0*@tQd;m`1=@Ax40boCN!gOT%J%k^#RFePZmHy7vDGts= zg~L=g8GoDdPD=mwn~gerq~gETu^-vU43>W$fd2l-DUJ_%w=3_*2s;e^Wj9cfX8JfbGO3L{e@aDPDRH_7ujy(2nPRl*iC| z!ZXFwL$Z~Q@0%#g_`Zj-jOW=5`R6F7<3Bm_pBe3sqMV2RspMmS?`O0hMwxyi9gp>t zum8!YKL;;1`dyIL9o6TfEaRDqvJ)?j_tK2|k_@>zLtd64Uym|ielQHq&#fqL!~Uso zzNsEs=>z2~{p*jY@5u1iN%nR<#rH7E^gGELsHX88$gqDJW%@10W!L`_WhK_nZ&0S+ z6Bpa{^iIziKgIWFlqr5Hly7>UN53!7dn@YiG|Do67V7D@todlq`4zX6LcE?YLRs3+ z%#hs~@`4Qc>J0e?lyh)BIQhL9Wf^}%hMYiogl?!jPD6?Yf{gAS11;-1$#@!PQwv@ zG*BP%hhl+v2sQ*76aIL#*=@*Us1)LX<`7%MhFBx+jHsch_8KaKy2fyz$82jyv|HX%k%nHx+MUqE zj&APKyIkR=jE0M&HA8XJ3*E+WV?wAzx9$p|pO@we5c@t<%hiRV-hYpZCZ2BW5l->B zG|i--FNP-< zOZtts-(8mW=$Qw!&qalv17}8bJbE5bS9?47Lo{!Al1o7>K~Fh^?!*b;XBjjjPS1~A OYA&HK7c8B*;C}&0n-4Ys diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT_644P.hex b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT_644P.hex deleted file mode 100644 index f14ca456c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/ATmegaBOOT_644P.hex +++ /dev/null @@ -1,110 +0,0 @@ -:020000021000EC -:10F000000C943EF80C9450F80C9450F80C9450F872 -:10F010000C9450F80C9450F80C9450F80C9450F850 -:10F020000C9450F80C9450F80C9450F80C9450F840 -:10F030000C9450F80C9450F80C9450F80C9450F830 -:10F040000C9450F80C9450F80C9450F80C9450F820 -:10F050000C9450F80C9450F80C9450F80C9450F810 -:10F060000C9450F80C9450F80C9450F80C9450F800 -:10F070000C9450F80C9450F80C9450F811241FBEC6 -:10F08000CFEFD0E1DEBFCDBF12E0A0E0B1E001C024 -:10F090001D92A930B107E1F70E9471F90C944FFB62 -:10F0A0000C9400F89091C00095FFFCCF8093C600AF -:10F0B00008951F93282F332727FD3095207F307028 -:10F0C00094E0359527959A95E1F72A3014F0295A5E -:10F0D00001C0205D182F1F701A3014F0195A01C09A -:10F0E000105D822F0E9452F8812F0E9452F81F91CA -:10F0F0000895EF92FF920F931F932898EE24FF2418 -:10F10000870113C00894E11CF11C011D111D81E051 -:10F11000E81689E0F8068DE3080780E0180728F074 -:10F12000E0910101F091020109958091C00087FFF3 -:10F13000E9CF289A8091C6001F910F91FF90EF9020 -:10F1400008950F931F930E9479F8082F0E9452F898 -:10F150000E9479F8182F0E9452F8013614F00755D2 -:10F1600003C000330CF00053113614F0175503C0E0 -:10F1700010330CF01053802F8295807F810F1F91E8 -:10F180000F91089590E007C02091C00027FFFCCFA9 -:10F190002091C6009F5F9817B8F308951F93182F0A -:10F1A0000E9479F8803251F484E10E9452F8812F54 -:10F1B0000E9452F880E10E9452F80CC08091000138 -:10F1C0008F5F80930001853029F4E0910101F09177 -:10F1D000020109951F9108950E9479F8803239F44F -:10F1E00084E10E9452F880E10E9452F808958091D3 -:10F1F00000018F5F80930001853029F4E0910101C7 -:10F20000F091020109950895DF93CF9300D000D0CB -:10F21000CDB7DEB7882309F481E090E03DC0289A9D -:10F2200019821A821B821C820CC029813A814B816F -:10F230005C812F5F3F4F4F4F5F4F29833A834B8352 -:10F240005C8329813A814B815C8120386EE33607EB -:10F2500060E0460760E0560740F3289819821A825A -:10F260001B821C820CC029813A814B815C812F5FFB -:10F270003F4F4F4F5F4F29833A834B835C832981F4 -:10F280003A814B815C8120306AEF360760E04607A7 -:10F2900060E0560740F39F5F981709F619821A82BB -:10F2A0001B821C820BC089819A81AB81BC81019633 -:10F2B000A11DB11D89839A83AB83BC8389819A8107 -:10F2C000AB81BC81803021E7920722E0A20720E0D9 -:10F2D000B20748F30F900F900F900F90CF91DF91EE -:10F2E0000895CF92DF92EF92FF920F931F93CF93E7 -:10F2F000DF93000094B714BE809160008861809312 -:10F3000060001092600091FD05C0E0910101F09154 -:10F310000201099589E18093C4001092C50088E13B -:10F320008093C10086E08093C2005098589A209A3A -:10F3300083E00E9404F981E00E9404F90E9479F8B8 -:10F34000803309F441C08133E1F40E9479F88032BE -:10F3500009F097C184E10E9452F881E40E9452F8BA -:10F3600086E50E9452F882E50E9452F880E20E94EF -:10F3700052F889E40E9452F883E50E9452F880E531 -:10F380000BC1803439F40E9479F88638E8F00E9485 -:10F3900079F81AC0813499F40E9479F8803811F410 -:10F3A00082E06CC1813811F481E068C1823811F4C7 -:10F3B00080E164C1883909F060C183E05FC18234B3 -:10F3C00031F484E10E94C2F80E94ECF8B7CF853492 -:10F3D00011F485E0F7CF8035B9F3813531F40E941F -:10F3E000ECF888E080936000FFCF823569F38535C3 -:10F3F00049F40E9479F8809303010E9479F8809380 -:10F400000401E2CF863521F484E00E94C2F835C1C0 -:10F41000843609F0C7C00E9479F8809306020E94E2 -:10F4200079F880930502809108028E7F809308020C -:10F430000E9479F8853429F48091080281608093D4 -:10F44000080205E011E0F801119281E0E538F807C3 -:10F45000D9F745E0C42E41E0D42EEE24FF2408C0A5 -:10F460000E9479F8F60181936F010894E11CF11C68 -:10F470008091050290910602E816F90688F30E9431 -:10F4800079F8803209F0FDC08091080280FD17C034 -:10F4900020C0F999FECF209103013091040132BDC3 -:10F4A00021BDF80141918F0140BDFA9AF99A2F5F71 -:10F4B0003F4F3093040120930301019602C080E086 -:10F4C00090E020910502309106028217930708F31D -:10F4D00062C08091030190910401880F991F90935D -:10F4E0000401809303018091050280FF09C080918F -:10F4F0000502909106020196909306028093050200 -:10F50000F999FECF1127E0910301F0910401C5E0C4 -:10F51000D1E08091050290910602103091F40091A3 -:10F52000570001700130D9F303E000935700E895CC -:10F530000091570001700130D9F301E100935700A9 -:10F54000E895099019900091570001700130D9F3A6 -:10F5500001E000935700E8951395103898F01127B3 -:10F560000091570001700130D9F305E00093570076 -:10F57000E8950091570001700130D9F301E1009343 -:10F580005700E8953296029709F0C7CF103011F076 -:10F590000296E5CF112484E10E9452F880E10E9496 -:10F5A00052F8CCCE843709F055C00E9479F8809388 -:10F5B00006020E9479F8809305020E9479F89091E2 -:10F5C0000802853421F49160909308020DC09E7F5B -:10F5D000909308028091030190910401880F991F74 -:10F5E00090930401809303010E9479F8803209F01E -:10F5F000A5CE84E10E9452F800E010E023C0809183 -:10F60000080280FF0BC0F999FECF80910301909111 -:10F61000040192BD81BDF89A80B507C081FD07C085 -:10F62000E0910301F091040184910E9452F88091CD -:10F6300003019091040101969093040180930301CA -:10F640000F5F1F4F8091050290910602081719075E -:10F65000B0F2A4CF853779F40E9479F8803289F42A -:10F6600084E10E9452F88EE10E9452F886E90E94DD -:10F6700052F88AE091CF863721F480E00E94CEF8DC -:10F680005DCE809100018F5F80930001853009F08D -:10F6900055CEE0910101F091020109954FCEF89409 -:02F6A000FFCF9A -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/Makefile b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/Makefile deleted file mode 100644 index 2bb5e0e9c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -#Makefile for ATmegaBOOT -# E.Lins, 18.7.2005 -# $Id$ - - -# program name should not be changed... -PROGRAM = ATmegaBOOT_644P - -# enter the target CPU frequency -AVR_FREQ = 16000000L - -MCU_TARGET = atmega644p -LDSECTION = --section-start=.text=0x1F000 - -OBJ = $(PROGRAM).o -OPTIMIZE = -Os - -DEFS = -LIBS = - -CC = avr-gcc - - -# Override is only needed by avr-lib build system. - -override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS) -override LDFLAGS = -Wl,$(LDSECTION) -#override LDFLAGS = -Wl,-Map,$(PROGRAM).map,$(LDSECTION) - -OBJCOPY = avr-objcopy -OBJDUMP = avr-objdump - -all: CFLAGS += '-DMAX_TIME_COUNT=8000000L>>1' -DADABOOT -all: $(PROGRAM).hex - -$(PROGRAM).hex: $(PROGRAM).elf - $(OBJCOPY) -j .text -j .data -O ihex $< $@ - -$(PROGRAM).elf: $(OBJ) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) - -$(OBJ): ATmegaBOOT.c - avr-gcc $(CFLAGS) $(LDFLAGS) -c -g -Os -Wall -mmcu=$(MCU_TARGET) ATmegaBOOT.c -o $(PROGRAM).o - -%.lst: %.elf - $(OBJDUMP) -h -S $< > $@ - -%.srec: %.elf - $(OBJCOPY) -j .text -j .data -O srec $< $@ - -%.bin: %.elf - $(OBJCOPY) -j .text -j .data -O binary $< $@ - -clean: - rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/README.txt b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/README.txt deleted file mode 100644 index 828600785..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/bootloaders/atmega644p/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Note: This bootloader support ATmega644, ATmega644P and ATmega324P. -To build, set PROGRAM and MCU_TARGET in the Makefile according to your target device. - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Arduino.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Arduino.h deleted file mode 100644 index b26582589..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Arduino.h +++ /dev/null @@ -1,215 +0,0 @@ -#ifndef Arduino_h -#define Arduino_h - -#include -#include -#include - -#include -#include -#include - -#include "binary.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#define HIGH 0x1 -#define LOW 0x0 - -#define INPUT 0x0 -#define OUTPUT 0x1 -#define INPUT_PULLUP 0x2 - -#define true 0x1 -#define false 0x0 - -#define PI 3.1415926535897932384626433832795 -#define HALF_PI 1.5707963267948966192313216916398 -#define TWO_PI 6.283185307179586476925286766559 -#define DEG_TO_RAD 0.017453292519943295769236907684886 -#define RAD_TO_DEG 57.295779513082320876798154814105 - -#define SERIAL 0x0 -#define DISPLAY 0x1 - -#define LSBFIRST 0 -#define MSBFIRST 1 - -#define CHANGE 1 -#define FALLING 2 -#define RISING 3 - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) -#define DEFAULT 0 -#define EXTERNAL 1 -#define INTERNAL 2 -#else -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) -#define INTERNAL1V1 2 -#define INTERNAL2V56 3 -#else -#define INTERNAL 3 -#endif -#define DEFAULT 1 -#define EXTERNAL 0 -#endif - -// undefine stdlib's abs if encountered -#ifdef abs -#undef abs -#endif - -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) -#define abs(x) ((x)>0?(x):-(x)) -#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) -#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define sq(x) ((x)*(x)) - -#define interrupts() sei() -#define noInterrupts() cli() - -#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) -#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) -#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) - -#define lowByte(w) ((uint8_t) ((w) & 0xff)) -#define highByte(w) ((uint8_t) ((w) >> 8)) - -#define bitRead(value, bit) (((value) >> (bit)) & 0x01) -#define bitSet(value, bit) ((value) |= (1UL << (bit))) -#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) -#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) - - -typedef unsigned int word; - -#define bit(b) (1UL << (b)) - -typedef uint8_t boolean; -typedef uint8_t byte; - -void init(void); - -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -int digitalRead(uint8_t); -int analogRead(uint8_t); -void analogReference(uint8_t mode); -void analogWrite(uint8_t, int); - -unsigned long millis(void); -unsigned long micros(void); -void delay(unsigned long); -void delayMicroseconds(unsigned int us); -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout); - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); - -void attachInterrupt(uint8_t, void (*)(void), int mode); -void detachInterrupt(uint8_t); - -void setup(void); -void loop(void); - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. - -#define analogInPinToBit(P) (P) - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -extern const uint16_t PROGMEM port_to_mode_PGM[]; -extern const uint16_t PROGMEM port_to_input_PGM[]; -extern const uint16_t PROGMEM port_to_output_PGM[]; - -extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. -// -// These perform slightly better as macros compared to inline functions -// -#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) ) -#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) ) -#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) ) -#define analogInPinToBit(P) (P) -#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) ) -#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) ) -#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) ) - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#ifdef ARDUINO_MAIN -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 -#endif - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER4D 14 -#define TIMER5A 15 -#define TIMER5B 16 -#define TIMER5C 17 - -#ifdef __cplusplus -} // extern "C" -#endif - -#ifdef __cplusplus -#include "WCharacter.h" -#include "WString.h" -#include "HardwareSerial.h" - -uint16_t makeWord(uint16_t w); -uint16_t makeWord(byte h, byte l); - -#define word(...) makeWord(__VA_ARGS__) - -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L); - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0); -void noTone(uint8_t _pin); - -// WMath prototypes -long random(long); -long random(long, long); -void randomSeed(unsigned int); -long map(long, long, long, long, long); - -#endif - -#include "pins_arduino.h" - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/CDC.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/CDC.cpp deleted file mode 100644 index 701e48398..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/CDC.cpp +++ /dev/null @@ -1,239 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include - -#if defined(USBCON) -#ifdef CDC_ENABLED - -#if (RAMEND < 1000) -#define SERIAL_BUFFER_SIZE 16 -#else -#define SERIAL_BUFFER_SIZE 64 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile int head; - volatile int tail; -}; - -ring_buffer cdc_rx_buffer = { { 0 }, 0, 0}; - -typedef struct -{ - u32 dwDTERate; - u8 bCharFormat; - u8 bParityType; - u8 bDataBits; - u8 lineState; -} LineInfo; - -static volatile LineInfo _usbLineInfo = { 57600, 0x00, 0x00, 0x00, 0x00 }; - -#define WEAK __attribute__ ((weak)) - -extern const CDCDescriptor _cdcInterface PROGMEM; -const CDCDescriptor _cdcInterface = -{ - D_IAD(0,2,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,1), - - // CDC communication interface - D_INTERFACE(CDC_ACM_INTERFACE,1,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,0), - D_CDCCS(CDC_HEADER,0x10,0x01), // Header (1.10 bcd) - D_CDCCS(CDC_CALL_MANAGEMENT,1,1), // Device handles call management (not) - D_CDCCS4(CDC_ABSTRACT_CONTROL_MANAGEMENT,6), // SET_LINE_CODING, GET_LINE_CODING, SET_CONTROL_LINE_STATE supported - D_CDCCS(CDC_UNION,CDC_ACM_INTERFACE,CDC_DATA_INTERFACE), // Communication interface is master, data interface is slave 0 - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_ACM),USB_ENDPOINT_TYPE_INTERRUPT,0x10,0x40), - - // CDC data interface - D_INTERFACE(CDC_DATA_INTERFACE,2,CDC_DATA_INTERFACE_CLASS,0,0), - D_ENDPOINT(USB_ENDPOINT_OUT(CDC_ENDPOINT_OUT),USB_ENDPOINT_TYPE_BULK,0x40,0), - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_IN ),USB_ENDPOINT_TYPE_BULK,0x40,0) -}; - -int WEAK CDC_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 2; // uses 2 - return USB_SendControl(TRANSFER_PGM,&_cdcInterface,sizeof(_cdcInterface)); -} - -bool WEAK CDC_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (CDC_GET_LINE_CODING == r) - { - USB_SendControl(0,(void*)&_usbLineInfo,7); - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (CDC_SET_LINE_CODING == r) - { - USB_RecvControl((void*)&_usbLineInfo,7); - return true; - } - - if (CDC_SET_CONTROL_LINE_STATE == r) - { - _usbLineInfo.lineState = setup.wValueL; - - // auto-reset into the bootloader is triggered when the port, already - // open at 1200 bps, is closed. this is the signal to start the watchdog - // with a relatively long period so it can finish housekeeping tasks - // like servicing endpoints before the sketch ends - if (1200 == _usbLineInfo.dwDTERate) { - // We check DTR state to determine if host port is open (bit 0 of lineState). - if ((_usbLineInfo.lineState & 0x01) == 0) { - *(uint16_t *)0x0800 = 0x7777; - wdt_enable(WDTO_120MS); - } else { - // Most OSs do some intermediate steps when configuring ports and DTR can - // twiggle more than once before stabilizing. - // To avoid spurious resets we set the watchdog to 250ms and eventually - // cancel if DTR goes back high. - - wdt_disable(); - wdt_reset(); - *(uint16_t *)0x0800 = 0x0; - } - } - return true; - } - } - return false; -} - - -int _serialPeek = -1; -void Serial_::begin(uint16_t baud_count) -{ -} - -void Serial_::end(void) -{ -} - -void Serial_::accept(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - int i = (unsigned int)(buffer->head+1) % SERIAL_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. - - // while we have room to store a byte - while (i != buffer->tail) { - int c = USB_Recv(CDC_RX); - if (c == -1) - break; // no more data - buffer->buffer[buffer->head] = c; - buffer->head = i; - - i = (unsigned int)(buffer->head+1) % SERIAL_BUFFER_SIZE; - } -} - -int Serial_::available(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - return (unsigned int)(SERIAL_BUFFER_SIZE + buffer->head - buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int Serial_::peek(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - if (buffer->head == buffer->tail) { - return -1; - } else { - return buffer->buffer[buffer->tail]; - } -} - -int Serial_::read(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - // if the head isn't ahead of the tail, we don't have any characters - if (buffer->head == buffer->tail) { - return -1; - } else { - unsigned char c = buffer->buffer[buffer->tail]; - buffer->tail = (unsigned int)(buffer->tail + 1) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void Serial_::flush(void) -{ - USB_Flush(CDC_TX); -} - -size_t Serial_::write(uint8_t c) -{ - /* only try to send bytes if the high-level CDC connection itself - is open (not just the pipe) - the OS should set lineState when the port - is opened and clear lineState when the port is closed. - bytes sent before the user opens the connection or after - the connection is closed are lost - just like with a UART. */ - - // TODO - ZE - check behavior on different OSes and test what happens if an - // open connection isn't broken cleanly (cable is yanked out, host dies - // or locks up, or host virtual serial port hangs) - if (_usbLineInfo.lineState > 0) { - int r = USB_Send(CDC_TX,&c,1); - if (r > 0) { - return r; - } else { - setWriteError(); - return 0; - } - } - setWriteError(); - return 0; -} - -// This operator is a convenient way for a sketch to check whether the -// port has actually been configured and opened by the host (as opposed -// to just being connected to the host). It can be used, for example, in -// setup() before printing to ensure that an application on the host is -// actually ready to receive and display the data. -// We add a short delay before returning to fix a bug observed by Federico -// where the port is configured (lineState != 0) but not quite opened. -Serial_::operator bool() { - bool result = false; - if (_usbLineInfo.lineState > 0) - result = true; - delay(10); - return result; -} - -Serial_ Serial; - -#endif -#endif /* if defined(USBCON) */ diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Client.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Client.h deleted file mode 100644 index ea134838a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Client.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef client_h -#define client_h -#include "Print.h" -#include "Stream.h" -#include "IPAddress.h" - -class Client : public Stream { - -public: - virtual int connect(IPAddress ip, uint16_t port) =0; - virtual int connect(const char *host, uint16_t port) =0; - virtual size_t write(uint8_t) =0; - virtual size_t write(const uint8_t *buf, size_t size) =0; - virtual int available() = 0; - virtual int read() = 0; - virtual int read(uint8_t *buf, size_t size) = 0; - virtual int peek() = 0; - virtual void flush() = 0; - virtual void stop() = 0; - virtual uint8_t connected() = 0; - virtual operator bool() = 0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HID.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HID.cpp deleted file mode 100644 index ac6360844..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HID.cpp +++ /dev/null @@ -1,520 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) -#ifdef HID_ENABLED - -//#define RAWHID_ENABLED - -// Singletons for mouse and keyboard - -Mouse_ Mouse; -Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ - -// HID report descriptor - -#define LSB(_x) ((_x) & 0xFF) -#define MSB(_x) ((_x) >> 8) - -#define RAWHID_USAGE_PAGE 0xFFC0 -#define RAWHID_USAGE 0x0C00 -#define RAWHID_TX_SIZE 64 -#define RAWHID_RX_SIZE 64 - -extern const u8 _hidReportDescriptor[] PROGMEM; -const u8 _hidReportDescriptor[] = { - - // Mouse - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 54 - 0x09, 0x02, // USAGE (Mouse) - 0xa1, 0x01, // COLLECTION (Application) - 0x09, 0x01, // USAGE (Pointer) - 0xa1, 0x00, // COLLECTION (Physical) - 0x85, 0x01, // REPORT_ID (1) - 0x05, 0x09, // USAGE_PAGE (Button) - 0x19, 0x01, // USAGE_MINIMUM (Button 1) - 0x29, 0x03, // USAGE_MAXIMUM (Button 3) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x95, 0x03, // REPORT_COUNT (3) - 0x75, 0x01, // REPORT_SIZE (1) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x05, // REPORT_SIZE (5) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) - 0x09, 0x30, // USAGE (X) - 0x09, 0x31, // USAGE (Y) - 0x09, 0x38, // USAGE (Wheel) - 0x15, 0x81, // LOGICAL_MINIMUM (-127) - 0x25, 0x7f, // LOGICAL_MAXIMUM (127) - 0x75, 0x08, // REPORT_SIZE (8) - 0x95, 0x03, // REPORT_COUNT (3) - 0x81, 0x06, // INPUT (Data,Var,Rel) - 0xc0, // END_COLLECTION - 0xc0, // END_COLLECTION - - // Keyboard - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 47 - 0x09, 0x06, // USAGE (Keyboard) - 0xa1, 0x01, // COLLECTION (Application) - 0x85, 0x02, // REPORT_ID (2) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl) - 0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x75, 0x01, // REPORT_SIZE (1) - - 0x95, 0x08, // REPORT_COUNT (8) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x08, // REPORT_SIZE (8) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - - 0x95, 0x06, // REPORT_COUNT (6) - 0x75, 0x08, // REPORT_SIZE (8) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x65, // LOGICAL_MAXIMUM (101) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) - 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) - 0x81, 0x00, // INPUT (Data,Ary,Abs) - 0xc0, // END_COLLECTION - -#if RAWHID_ENABLED - // RAW HID - 0x06, LSB(RAWHID_USAGE_PAGE), MSB(RAWHID_USAGE_PAGE), // 30 - 0x0A, LSB(RAWHID_USAGE), MSB(RAWHID_USAGE), - - 0xA1, 0x01, // Collection 0x01 - 0x85, 0x03, // REPORT_ID (3) - 0x75, 0x08, // report size = 8 bits - 0x15, 0x00, // logical minimum = 0 - 0x26, 0xFF, 0x00, // logical maximum = 255 - - 0x95, 64, // report count TX - 0x09, 0x01, // usage - 0x81, 0x02, // Input (array) - - 0x95, 64, // report count RX - 0x09, 0x02, // usage - 0x91, 0x02, // Output (array) - 0xC0 // end collection -#endif -}; - -extern const HIDDescriptor _hidInterface PROGMEM; -const HIDDescriptor _hidInterface = -{ - D_INTERFACE(HID_INTERFACE,1,3,0,0), - D_HIDREPORT(sizeof(_hidReportDescriptor)), - D_ENDPOINT(USB_ENDPOINT_IN (HID_ENDPOINT_INT),USB_ENDPOINT_TYPE_INTERRUPT,0x40,0x01) -}; - -//================================================================================ -//================================================================================ -// Driver - -u8 _hid_protocol = 1; -u8 _hid_idle = 1; - -#define WEAK __attribute__ ((weak)) - -int WEAK HID_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 1; // uses 1 - return USB_SendControl(TRANSFER_PGM,&_hidInterface,sizeof(_hidInterface)); -} - -int WEAK HID_GetDescriptor(int i) -{ - return USB_SendControl(TRANSFER_PGM,_hidReportDescriptor,sizeof(_hidReportDescriptor)); -} - -void WEAK HID_SendReport(u8 id, const void* data, int len) -{ - USB_Send(HID_TX, &id, 1); - USB_Send(HID_TX | TRANSFER_RELEASE,data,len); -} - -bool WEAK HID_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (HID_GET_REPORT == r) - { - //HID_GetReport(); - return true; - } - if (HID_GET_PROTOCOL == r) - { - //Send8(_hid_protocol); // TODO - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (HID_SET_PROTOCOL == r) - { - _hid_protocol = setup.wValueL; - return true; - } - - if (HID_SET_IDLE == r) - { - _hid_idle = setup.wValueL; - return true; - } - } - return false; -} - -//================================================================================ -//================================================================================ -// Mouse - -Mouse_::Mouse_(void) : _buttons(0) -{ -} - -void Mouse_::begin(void) -{ -} - -void Mouse_::end(void) -{ -} - -void Mouse_::click(uint8_t b) -{ - _buttons = b; - move(0,0,0); - _buttons = 0; - move(0,0,0); -} - -void Mouse_::move(signed char x, signed char y, signed char wheel) -{ - u8 m[4]; - m[0] = _buttons; - m[1] = x; - m[2] = y; - m[3] = wheel; - HID_SendReport(1,m,4); -} - -void Mouse_::buttons(uint8_t b) -{ - if (b != _buttons) - { - _buttons = b; - move(0,0,0); - } -} - -void Mouse_::press(uint8_t b) -{ - buttons(_buttons | b); -} - -void Mouse_::release(uint8_t b) -{ - buttons(_buttons & ~b); -} - -bool Mouse_::isPressed(uint8_t b) -{ - if ((b & _buttons) > 0) - return true; - return false; -} - -//================================================================================ -//================================================================================ -// Keyboard - -Keyboard_::Keyboard_(void) -{ -} - -void Keyboard_::begin(void) -{ -} - -void Keyboard_::end(void) -{ -} - -void Keyboard_::sendReport(KeyReport* keys) -{ - HID_SendReport(2,keys,sizeof(KeyReport)); -} - -extern -const uint8_t _asciimap[128] PROGMEM; - -#define SHIFT 0x80 -const uint8_t _asciimap[128] = -{ - 0x00, // NUL - 0x00, // SOH - 0x00, // STX - 0x00, // ETX - 0x00, // EOT - 0x00, // ENQ - 0x00, // ACK - 0x00, // BEL - 0x2a, // BS Backspace - 0x2b, // TAB Tab - 0x28, // LF Enter - 0x00, // VT - 0x00, // FF - 0x00, // CR - 0x00, // SO - 0x00, // SI - 0x00, // DEL - 0x00, // DC1 - 0x00, // DC2 - 0x00, // DC3 - 0x00, // DC4 - 0x00, // NAK - 0x00, // SYN - 0x00, // ETB - 0x00, // CAN - 0x00, // EM - 0x00, // SUB - 0x00, // ESC - 0x00, // FS - 0x00, // GS - 0x00, // RS - 0x00, // US - - 0x2c, // ' ' - 0x1e|SHIFT, // ! - 0x34|SHIFT, // " - 0x20|SHIFT, // # - 0x21|SHIFT, // $ - 0x22|SHIFT, // % - 0x24|SHIFT, // & - 0x34, // ' - 0x26|SHIFT, // ( - 0x27|SHIFT, // ) - 0x25|SHIFT, // * - 0x2e|SHIFT, // + - 0x36, // , - 0x2d, // - - 0x37, // . - 0x38, // / - 0x27, // 0 - 0x1e, // 1 - 0x1f, // 2 - 0x20, // 3 - 0x21, // 4 - 0x22, // 5 - 0x23, // 6 - 0x24, // 7 - 0x25, // 8 - 0x26, // 9 - 0x33|SHIFT, // : - 0x33, // ; - 0x36|SHIFT, // < - 0x2e, // = - 0x37|SHIFT, // > - 0x38|SHIFT, // ? - 0x1f|SHIFT, // @ - 0x04|SHIFT, // A - 0x05|SHIFT, // B - 0x06|SHIFT, // C - 0x07|SHIFT, // D - 0x08|SHIFT, // E - 0x09|SHIFT, // F - 0x0a|SHIFT, // G - 0x0b|SHIFT, // H - 0x0c|SHIFT, // I - 0x0d|SHIFT, // J - 0x0e|SHIFT, // K - 0x0f|SHIFT, // L - 0x10|SHIFT, // M - 0x11|SHIFT, // N - 0x12|SHIFT, // O - 0x13|SHIFT, // P - 0x14|SHIFT, // Q - 0x15|SHIFT, // R - 0x16|SHIFT, // S - 0x17|SHIFT, // T - 0x18|SHIFT, // U - 0x19|SHIFT, // V - 0x1a|SHIFT, // W - 0x1b|SHIFT, // X - 0x1c|SHIFT, // Y - 0x1d|SHIFT, // Z - 0x2f, // [ - 0x31, // bslash - 0x30, // ] - 0x23|SHIFT, // ^ - 0x2d|SHIFT, // _ - 0x35, // ` - 0x04, // a - 0x05, // b - 0x06, // c - 0x07, // d - 0x08, // e - 0x09, // f - 0x0a, // g - 0x0b, // h - 0x0c, // i - 0x0d, // j - 0x0e, // k - 0x0f, // l - 0x10, // m - 0x11, // n - 0x12, // o - 0x13, // p - 0x14, // q - 0x15, // r - 0x16, // s - 0x17, // t - 0x18, // u - 0x19, // v - 0x1a, // w - 0x1b, // x - 0x1c, // y - 0x1d, // z - 0x2f|SHIFT, // - 0x31|SHIFT, // | - 0x30|SHIFT, // } - 0x35|SHIFT, // ~ - 0 // DEL -}; - -uint8_t USBPutChar(uint8_t c); - -// press() adds the specified key (printing, non-printing, or modifier) -// to the persistent key report and sends the report. Because of the way -// USB HID works, the host acts like the key remains pressed until we -// call release(), releaseAll(), or otherwise clear the report and resend. -size_t Keyboard_::press(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers |= (1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - setWriteError(); - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers |= 0x02; // the left shift modifier - k &= 0x7F; - } - } - - // Add k to the key report only if it's not already present - // and if there is an empty slot. - if (_keyReport.keys[0] != k && _keyReport.keys[1] != k && - _keyReport.keys[2] != k && _keyReport.keys[3] != k && - _keyReport.keys[4] != k && _keyReport.keys[5] != k) { - - for (i=0; i<6; i++) { - if (_keyReport.keys[i] == 0x00) { - _keyReport.keys[i] = k; - break; - } - } - if (i == 6) { - setWriteError(); - return 0; - } - } - sendReport(&_keyReport); - return 1; -} - -// release() takes the specified key out of the persistent key report and -// sends the report. This tells the OS the key is no longer pressed and that -// it shouldn't be repeated any more. -size_t Keyboard_::release(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers &= ~(1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers &= ~(0x02); // the left shift modifier - k &= 0x7F; - } - } - - // Test the key report to see if k is present. Clear it if it exists. - // Check all positions in case the key is present more than once (which it shouldn't be) - for (i=0; i<6; i++) { - if (0 != k && _keyReport.keys[i] == k) { - _keyReport.keys[i] = 0x00; - } - } - - sendReport(&_keyReport); - return 1; -} - -void Keyboard_::releaseAll(void) -{ - _keyReport.keys[0] = 0; - _keyReport.keys[1] = 0; - _keyReport.keys[2] = 0; - _keyReport.keys[3] = 0; - _keyReport.keys[4] = 0; - _keyReport.keys[5] = 0; - _keyReport.modifiers = 0; - sendReport(&_keyReport); -} - -size_t Keyboard_::write(uint8_t c) -{ - uint8_t p = press(c); // Keydown - uint8_t r = release(c); // Keyup - return (p); // just return the result of press() since release() almost always returns 1 -} - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.cpp deleted file mode 100644 index 794a7be89..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.cpp +++ /dev/null @@ -1,519 +0,0 @@ -/* - 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 - Modified 14 August 2012 by Alarus -*/ - -#include -#include -#include -#include -#include "Arduino.h" -#include "wiring_private.h" - -// 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) - -#include "HardwareSerial.h" - -/* - * on ATmega8, the uart and its bits are not numbered, so there is no "TXC0" - * definition. - */ -#if !defined(TXC0) -#if defined(TXC) -#define TXC0 TXC -#elif defined(TXC1) -// Some devices have uart1 but no uart0 -#define TXC0 TXC1 -#else -#error TXC0 not definable in HardwareSerial.h -#endif -#endif - -// Define constants and variables for buffering incoming serial data. We're -// using a ring buffer (I think), in which head is the index of the location -// to which to write the next incoming character and tail is the index of the -// location from which to read. -#if (RAMEND < 1000) - #define SERIAL_BUFFER_SIZE 16 -#else - #define SERIAL_BUFFER_SIZE 64 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile unsigned int head; - volatile unsigned int tail; -}; - -#if defined(USBCON) - ring_buffer rx_buffer = { { 0 }, 0, 0}; - ring_buffer tx_buffer = { { 0 }, 0, 0}; -#endif -#if defined(UBRRH) || defined(UBRR0H) - ring_buffer rx_buffer = { { 0 }, 0, 0 }; - ring_buffer tx_buffer = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR1H) - ring_buffer rx_buffer1 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer1 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR2H) - ring_buffer rx_buffer2 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer2 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR3H) - ring_buffer rx_buffer3 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer3 = { { 0 }, 0, 0 }; -#endif - -inline void store_char(unsigned char c, ring_buffer *buffer) -{ - int i = (unsigned int)(buffer->head + 1) % SERIAL_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 != buffer->tail) { - buffer->buffer[buffer->head] = c; - buffer->head = i; - } -} - -#if !defined(USART0_RX_vect) && defined(USART1_RX_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(USART_RX_vect) && !defined(SIG_USART0_RECV) && \ - !defined(SIG_UART0_RECV) && !defined(USART0_RX_vect) && \ - !defined(SIG_UART_RECV) - #error "Don't know what the Data Received vector is called for the first UART" -#else - void serialEvent() __attribute__((weak)); - void serialEvent() {} - #define serialEvent_implemented -#if defined(USART_RX_vect) - SIGNAL(USART_RX_vect) -#elif defined(SIG_USART0_RECV) - SIGNAL(SIG_USART0_RECV) -#elif defined(SIG_UART0_RECV) - SIGNAL(SIG_UART0_RECV) -#elif defined(USART0_RX_vect) - SIGNAL(USART0_RX_vect) -#elif defined(SIG_UART_RECV) - SIGNAL(SIG_UART_RECV) -#endif - { - #if defined(UDR0) - if (bit_is_clear(UCSR0A, UPE0)) { - unsigned char c = UDR0; - store_char(c, &rx_buffer); - } else { - unsigned char c = UDR0; - }; - #elif defined(UDR) - if (bit_is_clear(UCSRA, PE)) { - unsigned char c = UDR; - store_char(c, &rx_buffer); - } else { - unsigned char c = UDR; - }; - #else - #error UDR not defined - #endif - } -#endif -#endif - -#if defined(USART1_RX_vect) - void serialEvent1() __attribute__((weak)); - void serialEvent1() {} - #define serialEvent1_implemented - SIGNAL(USART1_RX_vect) - { - if (bit_is_clear(UCSR1A, UPE1)) { - unsigned char c = UDR1; - store_char(c, &rx_buffer1); - } else { - unsigned char c = UDR1; - }; - } -#elif defined(SIG_USART1_RECV) - #error SIG_USART1_RECV -#endif - -#if defined(USART2_RX_vect) && defined(UDR2) - void serialEvent2() __attribute__((weak)); - void serialEvent2() {} - #define serialEvent2_implemented - SIGNAL(USART2_RX_vect) - { - if (bit_is_clear(UCSR2A, UPE2)) { - unsigned char c = UDR2; - store_char(c, &rx_buffer2); - } else { - unsigned char c = UDR2; - }; - } -#elif defined(SIG_USART2_RECV) - #error SIG_USART2_RECV -#endif - -#if defined(USART3_RX_vect) && defined(UDR3) - void serialEvent3() __attribute__((weak)); - void serialEvent3() {} - #define serialEvent3_implemented - SIGNAL(USART3_RX_vect) - { - if (bit_is_clear(UCSR3A, UPE3)) { - unsigned char c = UDR3; - store_char(c, &rx_buffer3); - } else { - unsigned char c = UDR3; - }; - } -#elif defined(SIG_USART3_RECV) - #error SIG_USART3_RECV -#endif - -void serialEventRun(void) -{ -#ifdef serialEvent_implemented - if (Serial.available()) serialEvent(); -#endif -#ifdef serialEvent1_implemented - if (Serial1.available()) serialEvent1(); -#endif -#ifdef serialEvent2_implemented - if (Serial2.available()) serialEvent2(); -#endif -#ifdef serialEvent3_implemented - if (Serial3.available()) serialEvent3(); -#endif -} - - -#if !defined(USART0_UDRE_vect) && defined(USART1_UDRE_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(UART0_UDRE_vect) && !defined(UART_UDRE_vect) && !defined(USART0_UDRE_vect) && !defined(USART_UDRE_vect) - #error "Don't know what the Data Register Empty vector is called for the first UART" -#else -#if defined(UART0_UDRE_vect) -ISR(UART0_UDRE_vect) -#elif defined(UART_UDRE_vect) -ISR(UART_UDRE_vect) -#elif defined(USART0_UDRE_vect) -ISR(USART0_UDRE_vect) -#elif defined(USART_UDRE_vect) -ISR(USART_UDRE_vect) -#endif -{ - if (tx_buffer.head == tx_buffer.tail) { - // Buffer empty, so disable interrupts -#if defined(UCSR0B) - cbi(UCSR0B, UDRIE0); -#else - cbi(UCSRB, UDRIE); -#endif - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer.buffer[tx_buffer.tail]; - tx_buffer.tail = (tx_buffer.tail + 1) % SERIAL_BUFFER_SIZE; - - #if defined(UDR0) - UDR0 = c; - #elif defined(UDR) - UDR = c; - #else - #error UDR not defined - #endif - } -} -#endif -#endif - -#ifdef USART1_UDRE_vect -ISR(USART1_UDRE_vect) -{ - if (tx_buffer1.head == tx_buffer1.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR1B, UDRIE1); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer1.buffer[tx_buffer1.tail]; - tx_buffer1.tail = (tx_buffer1.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR1 = c; - } -} -#endif - -#ifdef USART2_UDRE_vect -ISR(USART2_UDRE_vect) -{ - if (tx_buffer2.head == tx_buffer2.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR2B, UDRIE2); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer2.buffer[tx_buffer2.tail]; - tx_buffer2.tail = (tx_buffer2.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR2 = c; - } -} -#endif - -#ifdef USART3_UDRE_vect -ISR(USART3_UDRE_vect) -{ - if (tx_buffer3.head == tx_buffer3.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR3B, UDRIE3); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer3.buffer[tx_buffer3.tail]; - tx_buffer3.tail = (tx_buffer3.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR3 = c; - } -} -#endif - - -// Constructors //////////////////////////////////////////////////////////////// - -HardwareSerial::HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x) -{ - _rx_buffer = rx_buffer; - _tx_buffer = tx_buffer; - _ubrrh = ubrrh; - _ubrrl = ubrrl; - _ucsra = ucsra; - _ucsrb = ucsrb; - _ucsrc = ucsrc; - _udr = udr; - _rxen = rxen; - _txen = txen; - _rxcie = rxcie; - _udrie = udrie; - _u2x = u2x; -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void HardwareSerial::begin(unsigned long baud) -{ - uint16_t baud_setting; - bool use_u2x = true; - -#if F_CPU == 16000000UL - // hardcoded 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) { - use_u2x = false; - } -#endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) - { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - transmitting = false; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void HardwareSerial::begin(unsigned long baud, byte config) -{ - uint16_t baud_setting; - uint8_t current_config; - bool use_u2x = true; - -#if F_CPU == 16000000UL - // hardcoded 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) { - use_u2x = false; - } -#endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) - { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - //set the data bits, parity, and stop bits -#if defined(__AVR_ATmega8__) - config |= 0x80; // select UCSRC register (shared with UBRRH) -#endif - *_ucsrc = config; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void HardwareSerial::end() -{ - // wait for transmission of outgoing data - while (_tx_buffer->head != _tx_buffer->tail) - ; - - cbi(*_ucsrb, _rxen); - cbi(*_ucsrb, _txen); - cbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); - - // clear any received data - _rx_buffer->head = _rx_buffer->tail; -} - -int HardwareSerial::available(void) -{ - return (unsigned int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int HardwareSerial::peek(void) -{ - if (_rx_buffer->head == _rx_buffer->tail) { - return -1; - } else { - return _rx_buffer->buffer[_rx_buffer->tail]; - } -} - -int HardwareSerial::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) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void HardwareSerial::flush() -{ - // UDR is kept full while the buffer is not empty, so TXC triggers when EMPTY && SENT - while (transmitting && ! (*_ucsra & _BV(TXC0))); - transmitting = false; -} - -size_t HardwareSerial::write(uint8_t c) -{ - int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE; - - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - // ???: return 0 here instead? - while (i == _tx_buffer->tail) - ; - - _tx_buffer->buffer[_tx_buffer->head] = c; - _tx_buffer->head = i; - - sbi(*_ucsrb, _udrie); - // clear the TXC bit -- "can be cleared by writing a one to its bit location" - transmitting = true; - sbi(*_ucsra, TXC0); - - return 1; -} - -HardwareSerial::operator bool() { - return true; -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -#if defined(UBRRH) && defined(UBRRL) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR, RXEN, TXEN, RXCIE, UDRIE, U2X); -#elif defined(UBRR0H) && defined(UBRR0L) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UCSR0C, &UDR0, RXEN0, TXEN0, RXCIE0, UDRIE0, U2X0); -#elif defined(USBCON) - // do nothing - Serial object and buffers are initialized in CDC code -#else - #error no serial port defined (port 0) -#endif - -#if defined(UBRR1H) - HardwareSerial Serial1(&rx_buffer1, &tx_buffer1, &UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UCSR1C, &UDR1, RXEN1, TXEN1, RXCIE1, UDRIE1, U2X1); -#endif -#if defined(UBRR2H) - HardwareSerial Serial2(&rx_buffer2, &tx_buffer2, &UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UCSR2C, &UDR2, RXEN2, TXEN2, RXCIE2, UDRIE2, U2X2); -#endif -#if defined(UBRR3H) - HardwareSerial Serial3(&rx_buffer3, &tx_buffer3, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3); -#endif - -#endif // whole file - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.h deleted file mode 100644 index a73117f56..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/HardwareSerial.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - 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 - Modified 14 August 2012 by Alarus -*/ - -#ifndef HardwareSerial_h -#define HardwareSerial_h - -#include - -#include "Stream.h" - -struct ring_buffer; - -class HardwareSerial : public Stream -{ - private: - ring_buffer *_rx_buffer; - ring_buffer *_tx_buffer; - volatile uint8_t *_ubrrh; - volatile uint8_t *_ubrrl; - volatile uint8_t *_ucsra; - volatile uint8_t *_ucsrb; - volatile uint8_t *_ucsrc; - volatile uint8_t *_udr; - uint8_t _rxen; - uint8_t _txen; - uint8_t _rxcie; - uint8_t _udrie; - uint8_t _u2x; - bool transmitting; - public: - HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x); - void begin(unsigned long); - void begin(unsigned long, uint8_t); - void end(); - virtual int available(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - inline size_t write(unsigned long n) { return write((uint8_t)n); } - inline size_t write(long n) { return write((uint8_t)n); } - inline size_t write(unsigned int n) { return write((uint8_t)n); } - inline size_t write(int n) { return write((uint8_t)n); } - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); -}; - -// Define config for Serial.begin(baud, config); -#define SERIAL_5N1 0x00 -#define SERIAL_6N1 0x02 -#define SERIAL_7N1 0x04 -#define SERIAL_8N1 0x06 -#define SERIAL_5N2 0x08 -#define SERIAL_6N2 0x0A -#define SERIAL_7N2 0x0C -#define SERIAL_8N2 0x0E -#define SERIAL_5E1 0x20 -#define SERIAL_6E1 0x22 -#define SERIAL_7E1 0x24 -#define SERIAL_8E1 0x26 -#define SERIAL_5E2 0x28 -#define SERIAL_6E2 0x2A -#define SERIAL_7E2 0x2C -#define SERIAL_8E2 0x2E -#define SERIAL_5O1 0x30 -#define SERIAL_6O1 0x32 -#define SERIAL_7O1 0x34 -#define SERIAL_8O1 0x36 -#define SERIAL_5O2 0x38 -#define SERIAL_6O2 0x3A -#define SERIAL_7O2 0x3C -#define SERIAL_8O2 0x3E - -#if defined(UBRRH) || defined(UBRR0H) - extern HardwareSerial Serial; -#elif defined(USBCON) - #include "USBAPI.h" -// extern HardwareSerial Serial_; -#endif -#if defined(UBRR1H) - extern HardwareSerial Serial1; -#endif -#if defined(UBRR2H) - extern HardwareSerial Serial2; -#endif -#if defined(UBRR3H) - extern HardwareSerial Serial3; -#endif - -extern void serialEventRun(void) __attribute__((weak)); - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.cpp deleted file mode 100644 index fe3deb77a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.cpp +++ /dev/null @@ -1,56 +0,0 @@ - -#include -#include - -IPAddress::IPAddress() -{ - memset(_address, 0, sizeof(_address)); -} - -IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet) -{ - _address[0] = first_octet; - _address[1] = second_octet; - _address[2] = third_octet; - _address[3] = fourth_octet; -} - -IPAddress::IPAddress(uint32_t address) -{ - memcpy(_address, &address, sizeof(_address)); -} - -IPAddress::IPAddress(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); -} - -IPAddress& IPAddress::operator=(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); - return *this; -} - -IPAddress& IPAddress::operator=(uint32_t address) -{ - memcpy(_address, (const uint8_t *)&address, sizeof(_address)); - return *this; -} - -bool IPAddress::operator==(const uint8_t* addr) -{ - return memcmp(addr, _address, sizeof(_address)) == 0; -} - -size_t IPAddress::printTo(Print& p) const -{ - size_t n = 0; - for (int i =0; i < 3; i++) - { - n += p.print(_address[i], DEC); - n += p.print('.'); - } - n += p.print(_address[3], DEC); - return n; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.h deleted file mode 100644 index 2585aec0e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/IPAddress.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * - * MIT License: - * Copyright (c) 2011 Adrian McEwen - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * adrianm@mcqn.com 1/1/2011 - */ - -#ifndef IPAddress_h -#define IPAddress_h - -#include - -// A class to make it easier to handle and pass around IP addresses - -class IPAddress : public Printable { -private: - uint8_t _address[4]; // IPv4 address - // Access the raw byte array containing the address. Because this returns a pointer - // to the internal structure rather than a copy of the address this function should only - // be used when you know that the usage of the returned uint8_t* will be transient and not - // stored. - uint8_t* raw_address() { return _address; }; - -public: - // Constructors - IPAddress(); - IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet); - IPAddress(uint32_t address); - IPAddress(const uint8_t *address); - - // Overloaded cast operator to allow IPAddress objects to be used where a pointer - // to a four-byte uint8_t array is expected - operator uint32_t() { return *((uint32_t*)_address); }; - bool operator==(const IPAddress& addr) { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); }; - bool operator==(const uint8_t* addr); - - // Overloaded index operator to allow getting and setting individual octets of the address - uint8_t operator[](int index) const { return _address[index]; }; - uint8_t& operator[](int index) { return _address[index]; }; - - // Overloaded copy operators to allow initialisation of IPAddress objects from other types - IPAddress& operator=(const uint8_t *address); - IPAddress& operator=(uint32_t address); - - virtual size_t printTo(Print& p) const; - - friend class EthernetClass; - friend class UDP; - friend class Client; - friend class Server; - friend class DhcpClass; - friend class DNSClient; -}; - -const IPAddress INADDR_NONE(0,0,0,0); - - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Platform.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Platform.h deleted file mode 100644 index 8b8f74277..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Platform.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef __PLATFORM_H__ -#define __PLATFORM_H__ - -#include -#include -#include -#include -#include - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -#include "Arduino.h" - -#if defined(USBCON) - #include "USBDesc.h" - #include "USBCore.h" - #include "USBAPI.h" -#endif /* if defined(USBCON) */ - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.cpp deleted file mode 100644 index 53961ec47..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.cpp +++ /dev/null @@ -1,268 +0,0 @@ -/* - Print.cpp - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 - */ - -#include -#include -#include -#include -#include "Arduino.h" - -#include "Print.h" - -// Public Methods ////////////////////////////////////////////////////////////// - -/* default implementation: may be overridden */ -size_t Print::write(const uint8_t *buffer, size_t size) -{ - size_t n = 0; - while (size--) { - n += write(*buffer++); - } - return n; -} - -size_t Print::print(const __FlashStringHelper *ifsh) -{ - const char PROGMEM *p = (const char PROGMEM *)ifsh; - size_t n = 0; - while (1) { - unsigned char c = pgm_read_byte(p++); - if (c == 0) break; - n += write(c); - } - return n; -} - -size_t Print::print(const String &s) -{ - size_t n = 0; - for (uint16_t i = 0; i < s.length(); i++) { - n += write(s[i]); - } - return n; -} - -size_t Print::print(const char str[]) -{ - return write(str); -} - -size_t Print::print(char c) -{ - return write(c); -} - -size_t Print::print(unsigned char b, int base) -{ - return print((unsigned long) b, base); -} - -size_t Print::print(int n, int base) -{ - return print((long) n, base); -} - -size_t Print::print(unsigned int n, int base) -{ - return print((unsigned long) n, base); -} - -size_t Print::print(long n, int base) -{ - if (base == 0) { - return write(n); - } else if (base == 10) { - if (n < 0) { - int t = print('-'); - n = -n; - return printNumber(n, 10) + t; - } - return printNumber(n, 10); - } else { - return printNumber(n, base); - } -} - -size_t Print::print(unsigned long n, int base) -{ - if (base == 0) return write(n); - else return printNumber(n, base); -} - -size_t Print::print(double n, int digits) -{ - return printFloat(n, digits); -} - -size_t Print::println(const __FlashStringHelper *ifsh) -{ - size_t n = print(ifsh); - n += println(); - return n; -} - -size_t Print::print(const Printable& x) -{ - return x.printTo(*this); -} - -size_t Print::println(void) -{ - size_t n = print('\r'); - n += print('\n'); - return n; -} - -size_t Print::println(const String &s) -{ - size_t n = print(s); - n += println(); - return n; -} - -size_t Print::println(const char c[]) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(char c) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(unsigned char b, int base) -{ - size_t n = print(b, base); - n += println(); - return n; -} - -size_t Print::println(int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(double num, int digits) -{ - size_t n = print(num, digits); - n += println(); - return n; -} - -size_t Print::println(const Printable& x) -{ - size_t n = print(x); - n += println(); - return n; -} - -// Private Methods ///////////////////////////////////////////////////////////// - -size_t Print::printNumber(unsigned long n, uint8_t base) { - char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte. - char *str = &buf[sizeof(buf) - 1]; - - *str = '\0'; - - // prevent crash if called with base == 1 - if (base < 2) base = 10; - - do { - unsigned long m = n; - n /= base; - char c = m - base * n; - *--str = c < 10 ? c + '0' : c + 'A' - 10; - } while(n); - - return write(str); -} - -size_t Print::printFloat(double number, uint8_t digits) -{ - size_t n = 0; - - if (isnan(number)) return print("nan"); - if (isinf(number)) return print("inf"); - if (number > 4294967040.0) return print ("ovf"); // constant determined empirically - if (number <-4294967040.0) return print ("ovf"); // constant determined empirically - - // Handle negative numbers - if (number < 0.0) - { - n += 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 0) { - n += print("."); - } - - // Extract digits from the remainder one at a time - while (digits-- > 0) - { - remainder *= 10.0; - int toPrint = int(remainder); - n += print(toPrint); - remainder -= toPrint; - } - - return n; -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.h deleted file mode 100644 index dc7615087..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Print.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - Print.h - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 Print_h -#define Print_h - -#include -#include // for size_t - -#include "WString.h" -#include "Printable.h" - -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 - -class Print -{ - private: - int write_error; - size_t printNumber(unsigned long, uint8_t); - size_t printFloat(double, uint8_t); - protected: - void setWriteError(int err = 1) { write_error = err; } - public: - Print() : write_error(0) {} - - int getWriteError() { return write_error; } - void clearWriteError() { setWriteError(0); } - - virtual size_t write(uint8_t) = 0; - size_t write(const char *str) { - if (str == NULL) return 0; - return write((const uint8_t *)str, strlen(str)); - } - virtual size_t write(const uint8_t *buffer, size_t size); - - size_t print(const __FlashStringHelper *); - size_t print(const String &); - size_t print(const char[]); - size_t print(char); - size_t print(unsigned char, int = DEC); - size_t print(int, int = DEC); - size_t print(unsigned int, int = DEC); - size_t print(long, int = DEC); - size_t print(unsigned long, int = DEC); - size_t print(double, int = 2); - size_t print(const Printable&); - - size_t println(const __FlashStringHelper *); - size_t println(const String &s); - size_t println(const char[]); - size_t println(char); - size_t println(unsigned char, int = DEC); - size_t println(int, int = DEC); - size_t println(unsigned int, int = DEC); - size_t println(long, int = DEC); - size_t println(unsigned long, int = DEC); - size_t println(double, int = 2); - size_t println(const Printable&); - size_t println(void); -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Printable.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Printable.h deleted file mode 100644 index d03c9af62..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Printable.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Printable.h - Interface class that allows printing of complex types - Copyright (c) 2011 Adrian McEwen. 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 Printable_h -#define Printable_h - -#include - -class Print; - -/** The Printable class provides a way for new classes to allow themselves to be printed. - By deriving from Printable and implementing the printTo method, it will then be possible - for users to print out instances of this class by passing them into the usual - Print::print and Print::println methods. -*/ - -class Printable -{ - public: - virtual size_t printTo(Print& p) const = 0; -}; - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Server.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Server.h deleted file mode 100644 index 9674c7626..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Server.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef server_h -#define server_h - -class Server : public Print { -public: - virtual void begin() =0; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.cpp deleted file mode 100644 index aafb7fcf9..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/* - Stream.cpp - adds parsing methods to Stream class - Copyright (c) 2008 David A. Mellis. 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 - - Created July 2011 - parsing functions based on TextFinder library by Michael Margolis - */ - -#include "Arduino.h" -#include "Stream.h" - -#define PARSE_TIMEOUT 1000 // default number of milli-seconds to wait -#define NO_SKIP_CHAR 1 // a magic char not found in a valid ASCII numeric field - -// private method to read stream with timeout -int Stream::timedRead() -{ - int c; - _startMillis = millis(); - do { - c = read(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// private method to peek stream with timeout -int Stream::timedPeek() -{ - int c; - _startMillis = millis(); - do { - c = peek(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// returns peek of the next digit in the stream or -1 if timeout -// discards non-numeric characters -int Stream::peekNextDigit() -{ - int c; - while (1) { - c = timedPeek(); - if (c < 0) return c; // timeout - if (c == '-') return c; - if (c >= '0' && c <= '9') return c; - read(); // discard non-numeric - } -} - -// Public Methods -////////////////////////////////////////////////////////////// - -void Stream::setTimeout(unsigned long timeout) // sets the maximum number of milliseconds to wait -{ - _timeout = timeout; -} - - // find returns true if the target string is found -bool Stream::find(char *target) -{ - return findUntil(target, NULL); -} - -// reads data from the stream until the target string of given length is found -// returns true if target string is found, false if timed out -bool Stream::find(char *target, size_t length) -{ - return findUntil(target, length, NULL, 0); -} - -// as find but search ends if the terminator string is found -bool Stream::findUntil(char *target, char *terminator) -{ - return findUntil(target, strlen(target), terminator, strlen(terminator)); -} - -// reads data from the stream until the target string of the given length is found -// search terminated if the terminator string is found -// returns true if target string is found, false if terminated or timed out -bool Stream::findUntil(char *target, size_t targetLen, char *terminator, size_t termLen) -{ - size_t index = 0; // maximum target string length is 64k bytes! - size_t termIndex = 0; - int c; - - if( *target == 0) - return true; // return true if target is a null string - while( (c = timedRead()) > 0){ - - if(c != target[index]) - index = 0; // reset index if any char does not match - - if( c == target[index]){ - //////Serial.print("found "); Serial.write(c); Serial.print("index now"); Serial.println(index+1); - if(++index >= targetLen){ // return true if all chars in the target match - return true; - } - } - - if(termLen > 0 && c == terminator[termIndex]){ - if(++termIndex >= termLen) - return false; // return false if terminate string found before target string - } - else - termIndex = 0; - } - return false; -} - - -// returns the first valid (long) integer value from the current position. -// initial characters that are not digits (or the minus sign) are skipped -// function is terminated by the first character that is not a digit. -long Stream::parseInt() -{ - return parseInt(NO_SKIP_CHAR); // terminate on first non-digit character (or timeout) -} - -// as above but a given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -long Stream::parseInt(char skipChar) -{ - boolean isNegative = false; - long value = 0; - int c; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore this charactor - else if(c == '-') - isNegative = true; - else if(c >= '0' && c <= '9') // is c a digit? - value = value * 10 + c - '0'; - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == skipChar ); - - if(isNegative) - value = -value; - return value; -} - - -// as parseInt but returns a floating point value -float Stream::parseFloat() -{ - return parseFloat(NO_SKIP_CHAR); -} - -// as above but the given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -float Stream::parseFloat(char skipChar){ - boolean isNegative = false; - boolean isFraction = false; - long value = 0; - char c; - float fraction = 1.0; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore - else if(c == '-') - isNegative = true; - else if (c == '.') - isFraction = true; - else if(c >= '0' && c <= '9') { // is c a digit? - value = value * 10 + c - '0'; - if(isFraction) - fraction *= 0.1; - } - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == '.' || c == skipChar ); - - if(isNegative) - value = -value; - if(isFraction) - return value * fraction; - else - return value; -} - -// read characters from stream into buffer -// terminates if length characters have been read, or timeout (see setTimeout) -// returns the number of characters placed in the buffer -// the buffer is NOT null terminated. -// -size_t Stream::readBytes(char *buffer, size_t length) -{ - size_t count = 0; - while (count < length) { - int c = timedRead(); - if (c < 0) break; - *buffer++ = (char)c; - count++; - } - return count; -} - - -// as readBytes with terminator character -// terminates if length characters have been read, timeout, or if the terminator character detected -// returns the number of characters placed in the buffer (0 means no valid data found) - -size_t Stream::readBytesUntil(char terminator, char *buffer, size_t length) -{ - if (length < 1) return 0; - size_t index = 0; - while (index < length) { - int c = timedRead(); - if (c < 0 || c == terminator) break; - *buffer++ = (char)c; - index++; - } - return index; // return number of characters, not including null terminator -} - -String Stream::readString() -{ - String ret; - int c = timedRead(); - while (c >= 0) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - -String Stream::readStringUntil(char terminator) -{ - String ret; - int c = timedRead(); - while (c >= 0 && c != terminator) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.h deleted file mode 100644 index 58bbf752f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Stream.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - Stream.h - base class for character-based streams. - Copyright (c) 2010 David A. Mellis. 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 - - parsing functions based on TextFinder library by Michael Margolis -*/ - -#ifndef Stream_h -#define Stream_h - -#include -#include "Print.h" - -// compatability macros for testing -/* -#define getInt() parseInt() -#define getInt(skipChar) parseInt(skipchar) -#define getFloat() parseFloat() -#define getFloat(skipChar) parseFloat(skipChar) -#define getString( pre_string, post_string, buffer, length) -readBytesBetween( pre_string, terminator, buffer, length) -*/ - -class Stream : public Print -{ - private: - unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read - unsigned long _startMillis; // used for timeout measurement - int timedRead(); // private method to read stream with timeout - int timedPeek(); // private method to peek stream with timeout - int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout - - public: - virtual int available() = 0; - virtual int read() = 0; - virtual int peek() = 0; - virtual void flush() = 0; - - Stream() {_timeout=1000;} - -// parsing methods - - void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second - - bool find(char *target); // reads data from the stream until the target string is found - // returns true if target string is found, false if timed out (see setTimeout) - - bool find(char *target, size_t length); // reads data from the stream until the target string of given length is found - // returns true if target string is found, false if timed out - - bool findUntil(char *target, char *terminator); // as find but search ends if the terminator string is found - - bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen); // as above but search ends if the terminate string is found - - - long parseInt(); // returns the first valid (long) integer value from the current position. - // initial characters that are not digits (or the minus sign) are skipped - // integer is terminated by the first character that is not a digit. - - float parseFloat(); // float version of parseInt - - size_t readBytes( char *buffer, size_t length); // read chars from stream into buffer - // terminates if length characters have been read or timeout (see setTimeout) - // returns the number of characters placed in the buffer (0 means no valid data found) - - size_t readBytesUntil( char terminator, char *buffer, size_t length); // as readBytes with terminator character - // terminates if length characters have been read, timeout, or if the terminator character detected - // returns the number of characters placed in the buffer (0 means no valid data found) - - // Arduino String functions to be added here - String readString(); - String readStringUntil(char terminator); - - protected: - long parseInt(char skipChar); // as above but the given skipChar is ignored - // as above but the given skipChar is ignored - // this allows format characters (typically commas) in values to be ignored - - float parseFloat(char skipChar); // as above but the given skipChar is ignored -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Tone.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Tone.cpp deleted file mode 100644 index 9bb6fe721..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Tone.cpp +++ /dev/null @@ -1,616 +0,0 @@ -/* Tone.cpp - - A Tone Generator Library - - Written by Brett Hagman - - 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 - -Version Modified By Date Comments -------- ----------- -------- -------- -0001 B Hagman 09/08/02 Initial coding -0002 B Hagman 09/08/18 Multiple pins -0003 B Hagman 09/08/18 Moved initialization from constructor to begin() -0004 B Hagman 09/09/26 Fixed problems with ATmega8 -0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers - 09/11/25 Changed pin toggle method to XOR - 09/11/25 Fixed timer0 from being excluded -0006 D Mellis 09/12/29 Replaced objects with functions -0007 M Sproul 10/08/29 Changed #ifdefs from cpu to register -0008 S Kanemoto 12/06/22 Fixed for Leonardo by @maris_HY -*************************************************/ - -#include -#include -#include "Arduino.h" -#include "pins_arduino.h" - -#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__) -#define TCCR2A TCCR2 -#define TCCR2B TCCR2 -#define COM2A1 COM21 -#define COM2A0 COM20 -#define OCR2A OCR2 -#define TIMSK2 TIMSK -#define OCIE2A OCIE2 -#define TIMER2_COMPA_vect TIMER2_COMP_vect -#define TIMSK1 TIMSK -#endif - -// timerx_toggle_count: -// > 0 - duration specified -// = 0 - stopped -// < 0 - infinitely (until stop() method called, or new play() called) - -#if !defined(__AVR_ATmega8__) -volatile long timer0_toggle_count; -volatile uint8_t *timer0_pin_port; -volatile uint8_t timer0_pin_mask; -#endif - -volatile long timer1_toggle_count; -volatile uint8_t *timer1_pin_port; -volatile uint8_t timer1_pin_mask; -volatile long timer2_toggle_count; -volatile uint8_t *timer2_pin_port; -volatile uint8_t timer2_pin_mask; - -#if defined(TIMSK3) -volatile long timer3_toggle_count; -volatile uint8_t *timer3_pin_port; -volatile uint8_t timer3_pin_mask; -#endif - -#if defined(TIMSK4) -volatile long timer4_toggle_count; -volatile uint8_t *timer4_pin_port; -volatile uint8_t timer4_pin_mask; -#endif - -#if defined(TIMSK5) -volatile long timer5_toggle_count; -volatile uint8_t *timer5_pin_port; -volatile uint8_t timer5_pin_mask; -#endif - - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ }; - -#elif defined(__AVR_ATmega8__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#elif defined(__AVR_ATmega32U4__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER3 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 3 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#else - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -// Leave timer 0 to last. -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ }; - -#endif - - - -static int8_t toneBegin(uint8_t _pin) -{ - int8_t _timer = -1; - - // if we're already using the pin, the timer should be configured. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - return pgm_read_byte(tone_pin_to_timer_PGM + i); - } - } - - // search for an unused timer. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == 255) { - tone_pins[i] = _pin; - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - break; - } - } - - if (_timer != -1) - { - // Set timer specific stuff - // All timers in CTC mode - // 8 bit timers will require changing prescalar values, - // whereas 16 bit timers are set to either ck/1 or ck/64 prescalar - switch (_timer) - { - #if defined(TCCR0A) && defined(TCCR0B) - case 0: - // 8 bit timer - TCCR0A = 0; - TCCR0B = 0; - bitWrite(TCCR0A, WGM01, 1); - bitWrite(TCCR0B, CS00, 1); - timer0_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer0_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12) - case 1: - // 16 bit timer - TCCR1A = 0; - TCCR1B = 0; - bitWrite(TCCR1B, WGM12, 1); - bitWrite(TCCR1B, CS10, 1); - timer1_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer1_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR2A) && defined(TCCR2B) - case 2: - // 8 bit timer - TCCR2A = 0; - TCCR2B = 0; - bitWrite(TCCR2A, WGM21, 1); - bitWrite(TCCR2B, CS20, 1); - timer2_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer2_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR3A) && defined(TCCR3B) && defined(TIMSK3) - case 3: - // 16 bit timer - TCCR3A = 0; - TCCR3B = 0; - bitWrite(TCCR3B, WGM32, 1); - bitWrite(TCCR3B, CS30, 1); - timer3_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer3_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR4A) && defined(TCCR4B) && defined(TIMSK4) - case 4: - // 16 bit timer - TCCR4A = 0; - TCCR4B = 0; - #if defined(WGM42) - bitWrite(TCCR4B, WGM42, 1); - #elif defined(CS43) - #warning this may not be correct - // atmega32u4 - bitWrite(TCCR4B, CS43, 1); - #endif - bitWrite(TCCR4B, CS40, 1); - timer4_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer4_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR5A) && defined(TCCR5B) && defined(TIMSK5) - case 5: - // 16 bit timer - TCCR5A = 0; - TCCR5B = 0; - bitWrite(TCCR5B, WGM52, 1); - bitWrite(TCCR5B, CS50, 1); - timer5_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer5_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - } - } - - return _timer; -} - - - -// frequency (in hertz) and duration (in milliseconds). - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration) -{ - uint8_t prescalarbits = 0b001; - long toggle_count = 0; - uint32_t ocr = 0; - int8_t _timer; - - _timer = toneBegin(_pin); - - if (_timer >= 0) - { - // Set the pinMode as OUTPUT - pinMode(_pin, OUTPUT); - - // if we are using an 8 bit timer, scan through prescalars to find the best fit - if (_timer == 0 || _timer == 2) - { - ocr = F_CPU / frequency / 2 - 1; - prescalarbits = 0b001; // ck/1: same for both timers - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 8 - 1; - prescalarbits = 0b010; // ck/8: same for both timers - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 32 - 1; - prescalarbits = 0b011; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = _timer == 0 ? 0b011 : 0b100; - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 128 - 1; - prescalarbits = 0b101; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 256 - 1; - prescalarbits = _timer == 0 ? 0b100 : 0b110; - if (ocr > 255) - { - // can't do any better than /1024 - ocr = F_CPU / frequency / 2 / 1024 - 1; - prescalarbits = _timer == 0 ? 0b101 : 0b111; - } - } - } - } - -#if defined(TCCR0B) - if (_timer == 0) - { - TCCR0B = prescalarbits; - } - else -#endif -#if defined(TCCR2B) - { - TCCR2B = prescalarbits; - } -#else - { - // dummy place holder to make the above ifdefs work - } -#endif - } - else - { - // two choices for the 16 bit timers: ck/1 or ck/64 - ocr = F_CPU / frequency / 2 - 1; - - prescalarbits = 0b001; - if (ocr > 0xffff) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = 0b011; - } - - if (_timer == 1) - { -#if defined(TCCR1B) - TCCR1B = (TCCR1B & 0b11111000) | prescalarbits; -#endif - } -#if defined(TCCR3B) - else if (_timer == 3) - TCCR3B = (TCCR3B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR4B) - else if (_timer == 4) - TCCR4B = (TCCR4B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR5B) - else if (_timer == 5) - TCCR5B = (TCCR5B & 0b11111000) | prescalarbits; -#endif - - } - - - // Calculate the toggle count - if (duration > 0) - { - toggle_count = 2 * frequency * duration / 1000; - } - else - { - toggle_count = -1; - } - - // Set the OCR for the given timer, - // set the toggle count, - // then turn on the interrupts - switch (_timer) - { - -#if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A) - case 0: - OCR0A = ocr; - timer0_toggle_count = toggle_count; - bitWrite(TIMSK0, OCIE0A, 1); - break; -#endif - - case 1: -#if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A) - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK1, OCIE1A, 1); -#elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A) - // this combination is for at least the ATmega32 - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK, OCIE1A, 1); -#endif - break; - -#if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A) - case 2: - OCR2A = ocr; - timer2_toggle_count = toggle_count; - bitWrite(TIMSK2, OCIE2A, 1); - break; -#endif - -#if defined(TIMSK3) - case 3: - OCR3A = ocr; - timer3_toggle_count = toggle_count; - bitWrite(TIMSK3, OCIE3A, 1); - break; -#endif - -#if defined(TIMSK4) - case 4: - OCR4A = ocr; - timer4_toggle_count = toggle_count; - bitWrite(TIMSK4, OCIE4A, 1); - break; -#endif - -#if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A) - case 5: - OCR5A = ocr; - timer5_toggle_count = toggle_count; - bitWrite(TIMSK5, OCIE5A, 1); - break; -#endif - - } - } -} - - -// XXX: this function only works properly for timer 2 (the only one we use -// currently). for the others, it should end the tone, but won't restore -// proper PWM functionality for the timer. -void disableTimer(uint8_t _timer) -{ - switch (_timer) - { - case 0: - #if defined(TIMSK0) - TIMSK0 = 0; - #elif defined(TIMSK) - TIMSK = 0; // atmega32 - #endif - break; - -#if defined(TIMSK1) && defined(OCIE1A) - case 1: - bitWrite(TIMSK1, OCIE1A, 0); - break; -#endif - - case 2: - #if defined(TIMSK2) && defined(OCIE2A) - bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt - #endif - #if defined(TCCR2A) && defined(WGM20) - TCCR2A = (1 << WGM20); - #endif - #if defined(TCCR2B) && defined(CS22) - TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22); - #endif - #if defined(OCR2A) - OCR2A = 0; - #endif - break; - -#if defined(TIMSK3) - case 3: - TIMSK3 = 0; - break; -#endif - -#if defined(TIMSK4) - case 4: - TIMSK4 = 0; - break; -#endif - -#if defined(TIMSK5) - case 5: - TIMSK5 = 0; - break; -#endif - } -} - - -void noTone(uint8_t _pin) -{ - int8_t _timer = -1; - - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - tone_pins[i] = 255; - } - } - - disableTimer(_timer); - - digitalWrite(_pin, 0); -} - -#ifdef USE_TIMER0 -ISR(TIMER0_COMPA_vect) -{ - if (timer0_toggle_count != 0) - { - // toggle the pin - *timer0_pin_port ^= timer0_pin_mask; - - if (timer0_toggle_count > 0) - timer0_toggle_count--; - } - else - { - disableTimer(0); - *timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER1 -ISR(TIMER1_COMPA_vect) -{ - if (timer1_toggle_count != 0) - { - // toggle the pin - *timer1_pin_port ^= timer1_pin_mask; - - if (timer1_toggle_count > 0) - timer1_toggle_count--; - } - else - { - disableTimer(1); - *timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER2 -ISR(TIMER2_COMPA_vect) -{ - - if (timer2_toggle_count != 0) - { - // toggle the pin - *timer2_pin_port ^= timer2_pin_mask; - - if (timer2_toggle_count > 0) - timer2_toggle_count--; - } - else - { - // need to call noTone() so that the tone_pins[] entry is reset, so the - // timer gets initialized next time we call tone(). - // XXX: this assumes timer 2 is always the first one used. - noTone(tone_pins[0]); -// disableTimer(2); -// *timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER3 -ISR(TIMER3_COMPA_vect) -{ - if (timer3_toggle_count != 0) - { - // toggle the pin - *timer3_pin_port ^= timer3_pin_mask; - - if (timer3_toggle_count > 0) - timer3_toggle_count--; - } - else - { - disableTimer(3); - *timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER4 -ISR(TIMER4_COMPA_vect) -{ - if (timer4_toggle_count != 0) - { - // toggle the pin - *timer4_pin_port ^= timer4_pin_mask; - - if (timer4_toggle_count > 0) - timer4_toggle_count--; - } - else - { - disableTimer(4); - *timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER5 -ISR(TIMER5_COMPA_vect) -{ - if (timer5_toggle_count != 0) - { - // toggle the pin - *timer5_pin_port ^= timer5_pin_mask; - - if (timer5_toggle_count > 0) - timer5_toggle_count--; - } - else - { - disableTimer(5); - *timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop - } -} -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBAPI.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBAPI.h deleted file mode 100644 index eb2e5937d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBAPI.h +++ /dev/null @@ -1,196 +0,0 @@ - - -#ifndef __USBAPI__ -#define __USBAPI__ - -#if defined(USBCON) - -//================================================================================ -//================================================================================ -// USB - -class USBDevice_ -{ -public: - USBDevice_(); - bool configured(); - - void attach(); - void detach(); // Serial port goes down too... - void poll(); -}; -extern USBDevice_ USBDevice; - -//================================================================================ -//================================================================================ -// Serial over CDC (Serial1 is the physical port) - -class Serial_ : public Stream -{ -private: - ring_buffer *_cdc_rx_buffer; -public: - void begin(uint16_t baud_count); - void end(void); - - virtual int available(void); - virtual void accept(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); -}; -extern Serial_ Serial; - -//================================================================================ -//================================================================================ -// Mouse - -#define MOUSE_LEFT 1 -#define MOUSE_RIGHT 2 -#define MOUSE_MIDDLE 4 -#define MOUSE_ALL (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE) - -class Mouse_ -{ -private: - uint8_t _buttons; - void buttons(uint8_t b); -public: - Mouse_(void); - void begin(void); - void end(void); - void click(uint8_t b = MOUSE_LEFT); - void move(signed char x, signed char y, signed char wheel = 0); - void press(uint8_t b = MOUSE_LEFT); // press LEFT by default - void release(uint8_t b = MOUSE_LEFT); // release LEFT by default - bool isPressed(uint8_t b = MOUSE_LEFT); // check LEFT by default -}; -extern Mouse_ Mouse; - -//================================================================================ -//================================================================================ -// Keyboard - -#define KEY_LEFT_CTRL 0x80 -#define KEY_LEFT_SHIFT 0x81 -#define KEY_LEFT_ALT 0x82 -#define KEY_LEFT_GUI 0x83 -#define KEY_RIGHT_CTRL 0x84 -#define KEY_RIGHT_SHIFT 0x85 -#define KEY_RIGHT_ALT 0x86 -#define KEY_RIGHT_GUI 0x87 - -#define KEY_UP_ARROW 0xDA -#define KEY_DOWN_ARROW 0xD9 -#define KEY_LEFT_ARROW 0xD8 -#define KEY_RIGHT_ARROW 0xD7 -#define KEY_BACKSPACE 0xB2 -#define KEY_TAB 0xB3 -#define KEY_RETURN 0xB0 -#define KEY_ESC 0xB1 -#define KEY_INSERT 0xD1 -#define KEY_DELETE 0xD4 -#define KEY_PAGE_UP 0xD3 -#define KEY_PAGE_DOWN 0xD6 -#define KEY_HOME 0xD2 -#define KEY_END 0xD5 -#define KEY_CAPS_LOCK 0xC1 -#define KEY_F1 0xC2 -#define KEY_F2 0xC3 -#define KEY_F3 0xC4 -#define KEY_F4 0xC5 -#define KEY_F5 0xC6 -#define KEY_F6 0xC7 -#define KEY_F7 0xC8 -#define KEY_F8 0xC9 -#define KEY_F9 0xCA -#define KEY_F10 0xCB -#define KEY_F11 0xCC -#define KEY_F12 0xCD - -// Low level key report: up to 6 keys and shift, ctrl etc at once -typedef struct -{ - uint8_t modifiers; - uint8_t reserved; - uint8_t keys[6]; -} KeyReport; - -class Keyboard_ : public Print -{ -private: - KeyReport _keyReport; - void sendReport(KeyReport* keys); -public: - Keyboard_(void); - void begin(void); - void end(void); - virtual size_t write(uint8_t k); - virtual size_t press(uint8_t k); - virtual size_t release(uint8_t k); - virtual void releaseAll(void); -}; -extern Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ -// Low level API - -typedef struct -{ - uint8_t bmRequestType; - uint8_t bRequest; - uint8_t wValueL; - uint8_t wValueH; - uint16_t wIndex; - uint16_t wLength; -} Setup; - -//================================================================================ -//================================================================================ -// HID 'Driver' - -int HID_GetInterface(uint8_t* interfaceNum); -int HID_GetDescriptor(int i); -bool HID_Setup(Setup& setup); -void HID_SendReport(uint8_t id, const void* data, int len); - -//================================================================================ -//================================================================================ -// MSC 'Driver' - -int MSC_GetInterface(uint8_t* interfaceNum); -int MSC_GetDescriptor(int i); -bool MSC_Setup(Setup& setup); -bool MSC_Data(uint8_t rx,uint8_t tx); - -//================================================================================ -//================================================================================ -// CSC 'Driver' - -int CDC_GetInterface(uint8_t* interfaceNum); -int CDC_GetDescriptor(int i); -bool CDC_Setup(Setup& setup); - -//================================================================================ -//================================================================================ - -#define TRANSFER_PGM 0x80 -#define TRANSFER_RELEASE 0x40 -#define TRANSFER_ZERO 0x20 - -int USB_SendControl(uint8_t flags, const void* d, int len); -int USB_RecvControl(void* d, int len); - -uint8_t USB_Available(uint8_t ep); -int USB_Send(uint8_t ep, const void* data, int len); // blocking -int USB_Recv(uint8_t ep, void* data, int len); // non-blocking -int USB_Recv(uint8_t ep); // non-blocking -void USB_Flush(uint8_t ep); - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBCore.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBCore.cpp deleted file mode 100644 index d3e017065..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBCore.cpp +++ /dev/null @@ -1,684 +0,0 @@ - - -/* Copyright (c) 2010, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) - -#define EP_TYPE_CONTROL 0x00 -#define EP_TYPE_BULK_IN 0x81 -#define EP_TYPE_BULK_OUT 0x80 -#define EP_TYPE_INTERRUPT_IN 0xC1 -#define EP_TYPE_INTERRUPT_OUT 0xC0 -#define EP_TYPE_ISOCHRONOUS_IN 0x41 -#define EP_TYPE_ISOCHRONOUS_OUT 0x40 - -/** Pulse generation counters to keep track of the number of milliseconds remaining for each pulse type */ -#define TX_RX_LED_PULSE_MS 100 -volatile u8 TxLEDPulse; /**< Milliseconds remaining for data Tx LED pulse */ -volatile u8 RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */ - -//================================================================== -//================================================================== - -extern const u16 STRING_LANGUAGE[] PROGMEM; -extern const u16 STRING_IPRODUCT[] PROGMEM; -extern const u16 STRING_IMANUFACTURER[] PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptor PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptorA PROGMEM; - -const u16 STRING_LANGUAGE[2] = { - (3<<8) | (2+2), - 0x0409 // English -}; - -const u16 STRING_IPRODUCT[17] = { - (3<<8) | (2+2*16), -#if USB_PID == 0x8036 - 'A','r','d','u','i','n','o',' ','L','e','o','n','a','r','d','o' -#elif USB_PID == 0x8037 - 'A','r','d','u','i','n','o',' ','M','i','c','r','o',' ',' ',' ' -#elif USB_PID == 0x803C - 'A','r','d','u','i','n','o',' ','E','s','p','l','o','r','a',' ' -#elif USB_PID == 0x9208 - 'L','i','l','y','P','a','d','U','S','B',' ',' ',' ',' ',' ',' ' -#else - 'U','S','B',' ','I','O',' ','B','o','a','r','d',' ',' ',' ',' ' -#endif -}; - -const u16 STRING_IMANUFACTURER[12] = { - (3<<8) | (2+2*11), -#if USB_VID == 0x2341 - 'A','r','d','u','i','n','o',' ','L','L','C' -#elif USB_VID == 0x1b4f - 'S','p','a','r','k','F','u','n',' ',' ',' ' -#else - 'U','n','k','n','o','w','n',' ',' ',' ',' ' -#endif -}; - -#ifdef CDC_ENABLED -#define DEVICE_CLASS 0x02 -#else -#define DEVICE_CLASS 0x00 -#endif - -// DEVICE DESCRIPTOR -const DeviceDescriptor USB_DeviceDescriptor = - D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -const DeviceDescriptor USB_DeviceDescriptorA = - D_DEVICE(DEVICE_CLASS,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -//================================================================== -//================================================================== - -volatile u8 _usbConfiguration = 0; - -static inline void WaitIN(void) -{ - while (!(UEINTX & (1< len) - n = len; - len -= n; - { - LockEP lock(ep); - if (ep & TRANSFER_ZERO) - { - while (n--) - Send8(0); - } - else if (ep & TRANSFER_PGM) - { - while (n--) - Send8(pgm_read_byte(data++)); - } - else - { - while (n--) - Send8(*data++); - } - if (!ReadWriteAllowed() || ((len == 0) && (ep & TRANSFER_RELEASE))) // Release full buffer - ReleaseTX(); - } - } - TXLED1; // light the TX LED - TxLEDPulse = TX_RX_LED_PULSE_MS; - return r; -} - -extern const u8 _initEndpoints[] PROGMEM; -const u8 _initEndpoints[] = -{ - 0, - -#ifdef CDC_ENABLED - EP_TYPE_INTERRUPT_IN, // CDC_ENDPOINT_ACM - EP_TYPE_BULK_OUT, // CDC_ENDPOINT_OUT - EP_TYPE_BULK_IN, // CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED - EP_TYPE_INTERRUPT_IN // HID_ENDPOINT_INT -#endif -}; - -#define EP_SINGLE_64 0x32 // EP0 -#define EP_DOUBLE_64 0x36 // Other endpoints - -static -void InitEP(u8 index, u8 type, u8 size) -{ - UENUM = index; - UECONX = 1; - UECFG0X = type; - UECFG1X = size; -} - -static -void InitEndpoints() -{ - for (u8 i = 1; i < sizeof(_initEndpoints); i++) - { - UENUM = i; - UECONX = 1; - UECFG0X = pgm_read_byte(_initEndpoints+i); - UECFG1X = EP_DOUBLE_64; - } - UERST = 0x7E; // And reset them - UERST = 0; -} - -// Handle CLASS_INTERFACE requests -static -bool ClassInterfaceRequest(Setup& setup) -{ - u8 i = setup.wIndex; - -#ifdef CDC_ENABLED - if (CDC_ACM_INTERFACE == i) - return CDC_Setup(setup); -#endif - -#ifdef HID_ENABLED - if (HID_INTERFACE == i) - return HID_Setup(setup); -#endif - return false; -} - -int _cmark; -int _cend; -void InitControl(int end) -{ - SetEP(0); - _cmark = 0; - _cend = end; -} - -static -bool SendControl(u8 d) -{ - if (_cmark < _cend) - { - if (!WaitForINOrOUT()) - return false; - Send8(d); - if (!((_cmark + 1) & 0x3F)) - ClearIN(); // Fifo is full, release this packet - } - _cmark++; - return true; -}; - -// Clipped by _cmark/_cend -int USB_SendControl(u8 flags, const void* d, int len) -{ - int sent = len; - const u8* data = (const u8*)d; - bool pgm = flags & TRANSFER_PGM; - while (len--) - { - u8 c = pgm ? pgm_read_byte(data++) : *data++; - if (!SendControl(c)) - return -1; - } - return sent; -} - -// Does not timeout or cross fifo boundaries -// Will only work for transfers <= 64 bytes -// TODO -int USB_RecvControl(void* d, int len) -{ - WaitOUT(); - Recv((u8*)d,len); - ClearOUT(); - return len; -} - -int SendInterfaces() -{ - int total = 0; - u8 interfaces = 0; - -#ifdef CDC_ENABLED - total = CDC_GetInterface(&interfaces); -#endif - -#ifdef HID_ENABLED - total += HID_GetInterface(&interfaces); -#endif - - return interfaces; -} - -// Construct a dynamic configuration descriptor -// This really needs dynamic endpoint allocation etc -// TODO -static -bool SendConfiguration(int maxlen) -{ - // Count and measure interfaces - InitControl(0); - int interfaces = SendInterfaces(); - ConfigDescriptor config = D_CONFIG(_cmark + sizeof(ConfigDescriptor),interfaces); - - // Now send them - InitControl(maxlen); - USB_SendControl(0,&config,sizeof(ConfigDescriptor)); - SendInterfaces(); - return true; -} - -u8 _cdcComposite = 0; - -static -bool SendDescriptor(Setup& setup) -{ - u8 t = setup.wValueH; - if (USB_CONFIGURATION_DESCRIPTOR_TYPE == t) - return SendConfiguration(setup.wLength); - - InitControl(setup.wLength); -#ifdef HID_ENABLED - if (HID_REPORT_DESCRIPTOR_TYPE == t) - return HID_GetDescriptor(t); -#endif - - u8 desc_length = 0; - const u8* desc_addr = 0; - if (USB_DEVICE_DESCRIPTOR_TYPE == t) - { - if (setup.wLength == 8) - _cdcComposite = 1; - desc_addr = _cdcComposite ? (const u8*)&USB_DeviceDescriptorA : (const u8*)&USB_DeviceDescriptor; - } - else if (USB_STRING_DESCRIPTOR_TYPE == t) - { - if (setup.wValueL == 0) - desc_addr = (const u8*)&STRING_LANGUAGE; - else if (setup.wValueL == IPRODUCT) - desc_addr = (const u8*)&STRING_IPRODUCT; - else if (setup.wValueL == IMANUFACTURER) - desc_addr = (const u8*)&STRING_IMANUFACTURER; - else - return false; - } - - if (desc_addr == 0) - return false; - if (desc_length == 0) - desc_length = pgm_read_byte(desc_addr); - - USB_SendControl(TRANSFER_PGM,desc_addr,desc_length); - return true; -} - -// Endpoint 0 interrupt -ISR(USB_COM_vect) -{ - SetEP(0); - if (!ReceivedSetupInt()) - return; - - Setup setup; - Recv((u8*)&setup,8); - ClearSetupInt(); - - u8 requestType = setup.bmRequestType; - if (requestType & REQUEST_DEVICETOHOST) - WaitIN(); - else - ClearIN(); - - bool ok = true; - if (REQUEST_STANDARD == (requestType & REQUEST_TYPE)) - { - // Standard Requests - u8 r = setup.bRequest; - if (GET_STATUS == r) - { - Send8(0); // TODO - Send8(0); - } - else if (CLEAR_FEATURE == r) - { - } - else if (SET_FEATURE == r) - { - } - else if (SET_ADDRESS == r) - { - WaitIN(); - UDADDR = setup.wValueL | (1<> 8) & 0xFF) - -#define CDC_V1_10 0x0110 -#define CDC_COMMUNICATION_INTERFACE_CLASS 0x02 - -#define CDC_CALL_MANAGEMENT 0x01 -#define CDC_ABSTRACT_CONTROL_MODEL 0x02 -#define CDC_HEADER 0x00 -#define CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02 -#define CDC_UNION 0x06 -#define CDC_CS_INTERFACE 0x24 -#define CDC_CS_ENDPOINT 0x25 -#define CDC_DATA_INTERFACE_CLASS 0x0A - -#define MSC_SUBCLASS_SCSI 0x06 -#define MSC_PROTOCOL_BULK_ONLY 0x50 - -#define HID_HID_DESCRIPTOR_TYPE 0x21 -#define HID_REPORT_DESCRIPTOR_TYPE 0x22 -#define HID_PHYSICAL_DESCRIPTOR_TYPE 0x23 - - -// Device -typedef struct { - u8 len; // 18 - u8 dtype; // 1 USB_DEVICE_DESCRIPTOR_TYPE - u16 usbVersion; // 0x200 - u8 deviceClass; - u8 deviceSubClass; - u8 deviceProtocol; - u8 packetSize0; // Packet 0 - u16 idVendor; - u16 idProduct; - u16 deviceVersion; // 0x100 - u8 iManufacturer; - u8 iProduct; - u8 iSerialNumber; - u8 bNumConfigurations; -} DeviceDescriptor; - -// Config -typedef struct { - u8 len; // 9 - u8 dtype; // 2 - u16 clen; // total length - u8 numInterfaces; - u8 config; - u8 iconfig; - u8 attributes; - u8 maxPower; -} ConfigDescriptor; - -// String - -// Interface -typedef struct -{ - u8 len; // 9 - u8 dtype; // 4 - u8 number; - u8 alternate; - u8 numEndpoints; - u8 interfaceClass; - u8 interfaceSubClass; - u8 protocol; - u8 iInterface; -} InterfaceDescriptor; - -// Endpoint -typedef struct -{ - u8 len; // 7 - u8 dtype; // 5 - u8 addr; - u8 attr; - u16 packetSize; - u8 interval; -} EndpointDescriptor; - -// Interface Association Descriptor -// Used to bind 2 interfaces together in CDC compostite device -typedef struct -{ - u8 len; // 8 - u8 dtype; // 11 - u8 firstInterface; - u8 interfaceCount; - u8 functionClass; - u8 funtionSubClass; - u8 functionProtocol; - u8 iInterface; -} IADDescriptor; - -// CDC CS interface descriptor -typedef struct -{ - u8 len; // 5 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; - u8 d1; -} CDCCSInterfaceDescriptor; - -typedef struct -{ - u8 len; // 4 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; -} CDCCSInterfaceDescriptor4; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; - u8 bDataInterface; -} CMFunctionalDescriptor; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; -} ACMFunctionalDescriptor; - -typedef struct -{ - // IAD - IADDescriptor iad; // Only needed on compound device - - // Control - InterfaceDescriptor cif; // - CDCCSInterfaceDescriptor header; - CMFunctionalDescriptor callManagement; // Call Management - ACMFunctionalDescriptor controlManagement; // ACM - CDCCSInterfaceDescriptor functionalDescriptor; // CDC_UNION - EndpointDescriptor cifin; - - // Data - InterfaceDescriptor dif; - EndpointDescriptor in; - EndpointDescriptor out; -} CDCDescriptor; - -typedef struct -{ - InterfaceDescriptor msc; - EndpointDescriptor in; - EndpointDescriptor out; -} MSCDescriptor; - -typedef struct -{ - u8 len; // 9 - u8 dtype; // 0x21 - u8 addr; - u8 versionL; // 0x101 - u8 versionH; // 0x101 - u8 country; - u8 desctype; // 0x22 report - u8 descLenL; - u8 descLenH; -} HIDDescDescriptor; - -typedef struct -{ - InterfaceDescriptor hid; - HIDDescDescriptor desc; - EndpointDescriptor in; -} HIDDescriptor; - - -#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \ - { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs } - -#define D_CONFIG(_totalLength,_interfaces) \ - { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED, USB_CONFIG_POWER_MA(500) } - -#define D_INTERFACE(_n,_numEndpoints,_class,_subClass,_protocol) \ - { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 } - -#define D_ENDPOINT(_addr,_attr,_packetSize, _interval) \ - { 7, 5, _addr,_attr,_packetSize, _interval } - -#define D_IAD(_firstInterface, _count, _class, _subClass, _protocol) \ - { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 } - -#define D_HIDREPORT(_descriptorLength) \ - { 9, 0x21, 0x1, 0x1, 0, 1, 0x22, _descriptorLength, 0 } - -#define D_CDCCS(_subtype,_d0,_d1) { 5, 0x24, _subtype, _d0, _d1 } -#define D_CDCCS4(_subtype,_d0) { 4, 0x24, _subtype, _d0 } - - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBDesc.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBDesc.h deleted file mode 100644 index 900713e0f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/USBDesc.h +++ /dev/null @@ -1,63 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#define CDC_ENABLED -#define HID_ENABLED - - -#ifdef CDC_ENABLED -#define CDC_INTERFACE_COUNT 2 -#define CDC_ENPOINT_COUNT 3 -#else -#define CDC_INTERFACE_COUNT 0 -#define CDC_ENPOINT_COUNT 0 -#endif - -#ifdef HID_ENABLED -#define HID_INTERFACE_COUNT 1 -#define HID_ENPOINT_COUNT 1 -#else -#define HID_INTERFACE_COUNT 0 -#define HID_ENPOINT_COUNT 0 -#endif - -#define CDC_ACM_INTERFACE 0 // CDC ACM -#define CDC_DATA_INTERFACE 1 // CDC Data -#define CDC_FIRST_ENDPOINT 1 -#define CDC_ENDPOINT_ACM (CDC_FIRST_ENDPOINT) // CDC First -#define CDC_ENDPOINT_OUT (CDC_FIRST_ENDPOINT+1) -#define CDC_ENDPOINT_IN (CDC_FIRST_ENDPOINT+2) - -#define HID_INTERFACE (CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT) // HID Interface -#define HID_FIRST_ENDPOINT (CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT) -#define HID_ENDPOINT_INT (HID_FIRST_ENDPOINT) - -#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT) - -#ifdef CDC_ENABLED -#define CDC_RX CDC_ENDPOINT_OUT -#define CDC_TX CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED -#define HID_TX HID_ENDPOINT_INT -#endif - -#define IMANUFACTURER 1 -#define IPRODUCT 2 - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Udp.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Udp.h deleted file mode 100644 index dc5644b9d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/Udp.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Udp.cpp: Library to send/receive UDP packets. - * - * NOTE: UDP is fast, but has some important limitations (thanks to Warren Gray for mentioning these) - * 1) UDP does not guarantee the order in which assembled UDP packets are received. This - * might not happen often in practice, but in larger network topologies, a UDP - * packet can be received out of sequence. - * 2) UDP does not guard against lost packets - so packets *can* disappear without the sender being - * aware of it. Again, this may not be a concern in practice on small local networks. - * For more information, see http://www.cafeaulait.org/course/week12/35.html - * - * MIT License: - * Copyright (c) 2008 Bjoern Hartmann - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * bjoern@cs.stanford.edu 12/30/2008 - */ - -#ifndef udp_h -#define udp_h - -#include -#include - -class UDP : public Stream { - -public: - virtual uint8_t begin(uint16_t) =0; // initialize, start listening on specified port. Returns 1 if successful, 0 if there are no sockets available to use - virtual void stop() =0; // Finish with the UDP socket - - // Sending UDP packets - - // Start building up a packet to send to the remote host specific in ip and port - // Returns 1 if successful, 0 if there was a problem with the supplied IP address or port - virtual int beginPacket(IPAddress ip, uint16_t port) =0; - // Start building up a packet to send to the remote host specific in host and port - // Returns 1 if successful, 0 if there was a problem resolving the hostname or port - virtual int beginPacket(const char *host, uint16_t port) =0; - // Finish off this packet and send it - // Returns 1 if the packet was sent successfully, 0 if there was an error - virtual int endPacket() =0; - // Write a single byte into the packet - virtual size_t write(uint8_t) =0; - // Write size bytes from buffer into the packet - virtual size_t write(const uint8_t *buffer, size_t size) =0; - - // Start processing the next available incoming packet - // Returns the size of the packet in bytes, or 0 if no packets are available - virtual int parsePacket() =0; - // Number of bytes remaining in the current packet - virtual int available() =0; - // Read a single byte from the current packet - virtual int read() =0; - // Read up to len bytes from the current packet and place them into buffer - // Returns the number of bytes read, or 0 if none are available - virtual int read(unsigned char* buffer, size_t len) =0; - // Read up to len characters from the current packet and place them into buffer - // Returns the number of characters read, or 0 if none are available - virtual int read(char* buffer, size_t len) =0; - // Return the next byte from the current packet without moving on to the next byte - virtual int peek() =0; - virtual void flush() =0; // Finish reading the current packet - - // Return the IP address of the host who sent the current incoming packet - virtual IPAddress remoteIP() =0; - // Return the port of the host who sent the current incoming packet - virtual uint16_t remotePort() =0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WCharacter.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WCharacter.h deleted file mode 100644 index 79733b50a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WCharacter.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - WCharacter.h - Character utility functions for Wiring & Arduino - Copyright (c) 2010 Hernando Barragan. 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 Character_h -#define Character_h - -#include - -// WCharacter.h prototypes -inline boolean isAlphaNumeric(int c) __attribute__((always_inline)); -inline boolean isAlpha(int c) __attribute__((always_inline)); -inline boolean isAscii(int c) __attribute__((always_inline)); -inline boolean isWhitespace(int c) __attribute__((always_inline)); -inline boolean isControl(int c) __attribute__((always_inline)); -inline boolean isDigit(int c) __attribute__((always_inline)); -inline boolean isGraph(int c) __attribute__((always_inline)); -inline boolean isLowerCase(int c) __attribute__((always_inline)); -inline boolean isPrintable(int c) __attribute__((always_inline)); -inline boolean isPunct(int c) __attribute__((always_inline)); -inline boolean isSpace(int c) __attribute__((always_inline)); -inline boolean isUpperCase(int c) __attribute__((always_inline)); -inline boolean isHexadecimalDigit(int c) __attribute__((always_inline)); -inline int toAscii(int c) __attribute__((always_inline)); -inline int toLowerCase(int c) __attribute__((always_inline)); -inline int toUpperCase(int c)__attribute__((always_inline)); - - -// Checks for an alphanumeric character. -// It is equivalent to (isalpha(c) || isdigit(c)). -inline boolean isAlphaNumeric(int c) -{ - return ( isalnum(c) == 0 ? false : true); -} - - -// Checks for an alphabetic character. -// It is equivalent to (isupper(c) || islower(c)). -inline boolean isAlpha(int c) -{ - return ( isalpha(c) == 0 ? false : true); -} - - -// Checks whether c is a 7-bit unsigned char value -// that fits into the ASCII character set. -inline boolean isAscii(int c) -{ - return ( isascii (c) == 0 ? false : true); -} - - -// Checks for a blank character, that is, a space or a tab. -inline boolean isWhitespace(int c) -{ - return ( isblank (c) == 0 ? false : true); -} - - -// Checks for a control character. -inline boolean isControl(int c) -{ - return ( iscntrl (c) == 0 ? false : true); -} - - -// Checks for a digit (0 through 9). -inline boolean isDigit(int c) -{ - return ( isdigit (c) == 0 ? false : true); -} - - -// Checks for any printable character except space. -inline boolean isGraph(int c) -{ - return ( isgraph (c) == 0 ? false : true); -} - - -// Checks for a lower-case character. -inline boolean isLowerCase(int c) -{ - return (islower (c) == 0 ? false : true); -} - - -// Checks for any printable character including space. -inline boolean isPrintable(int c) -{ - return ( isprint (c) == 0 ? false : true); -} - - -// Checks for any printable character which is not a space -// or an alphanumeric character. -inline boolean isPunct(int c) -{ - return ( ispunct (c) == 0 ? false : true); -} - - -// Checks for white-space characters. For the avr-libc library, -// these are: space, formfeed ('\f'), newline ('\n'), carriage -// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v'). -inline boolean isSpace(int c) -{ - return ( isspace (c) == 0 ? false : true); -} - - -// Checks for an uppercase letter. -inline boolean isUpperCase(int c) -{ - return ( isupper (c) == 0 ? false : true); -} - - -// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 -// 8 9 a b c d e f A B C D E F. -inline boolean isHexadecimalDigit(int c) -{ - return ( isxdigit (c) == 0 ? false : true); -} - - -// Converts c to a 7-bit unsigned char value that fits into the -// ASCII character set, by clearing the high-order bits. -inline int toAscii(int c) -{ - return toascii (c); -} - - -// Warning: -// Many people will be unhappy if you use this function. -// This function will convert accented letters into random -// characters. - -// Converts the letter c to lower case, if possible. -inline int toLowerCase(int c) -{ - return tolower (c); -} - - -// Converts the letter c to upper case, if possible. -inline int toUpperCase(int c) -{ - return toupper (c); -} - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WInterrupts.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WInterrupts.c deleted file mode 100644 index 62efc9cad..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WInterrupts.c +++ /dev/null @@ -1,322 +0,0 @@ -/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Wiring project - http://wiring.uniandes.edu.co - - Copyright (c) 2004-05 Hernando Barragan - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 24 November 2006 by David A. Mellis - Modified 1 August 2010 by Mark Sproul -*/ - -#include -#include -#include -#include -#include - -#include "wiring_private.h" - -static volatile voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS]; -// volatile static voidFuncPtr twiIntFunc; - -void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) { - if(interruptNum < EXTERNAL_NUM_INTERRUPTS) { - intFunc[interruptNum] = userFunc; - - // Configure the interrupt mode (trigger on low input, any change, rising - // edge, or falling edge). The mode constants were chosen to correspond - // to the configuration bits in the hardware register, so we simply shift - // the mode into place. - - // Enable the interrupt. - - switch (interruptNum) { -#if defined(__AVR_ATmega32U4__) - // I hate doing this, but the register assignment differs between the 1280/2560 - // and the 32U4. Since avrlib defines registers PCMSK1 and PCMSK2 that aren't - // even present on the 32U4 this is the only way to distinguish between them. - case 0: - EICRA = (EICRA & ~((1<= howbig) { - return howsmall; - } - long diff = howbig - howsmall; - return random(diff) + howsmall; -} - -long map(long x, long in_min, long in_max, long out_min, long out_max) -{ - return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -} - -unsigned int makeWord(unsigned int w) { return w; } -unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; } \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.cpp deleted file mode 100644 index c6839fc0d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.cpp +++ /dev/null @@ -1,645 +0,0 @@ -/* - WString.cpp - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All rights reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 "WString.h" - - -/*********************************************/ -/* Constructors */ -/*********************************************/ - -String::String(const char *cstr) -{ - init(); - if (cstr) copy(cstr, strlen(cstr)); -} - -String::String(const String &value) -{ - init(); - *this = value; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String::String(String &&rval) -{ - init(); - move(rval); -} -String::String(StringSumHelper &&rval) -{ - init(); - move(rval); -} -#endif - -String::String(char c) -{ - init(); - char buf[2]; - buf[0] = c; - buf[1] = 0; - *this = buf; -} - -String::String(unsigned char value, unsigned char base) -{ - init(); - char buf[9]; - utoa(value, buf, base); - *this = buf; -} - -String::String(int value, unsigned char base) -{ - init(); - char buf[18]; - itoa(value, buf, base); - *this = buf; -} - -String::String(unsigned int value, unsigned char base) -{ - init(); - char buf[17]; - utoa(value, buf, base); - *this = buf; -} - -String::String(long value, unsigned char base) -{ - init(); - char buf[34]; - ltoa(value, buf, base); - *this = buf; -} - -String::String(unsigned long value, unsigned char base) -{ - init(); - char buf[33]; - ultoa(value, buf, base); - *this = buf; -} - -String::~String() -{ - free(buffer); -} - -/*********************************************/ -/* Memory Management */ -/*********************************************/ - -inline void String::init(void) -{ - buffer = NULL; - capacity = 0; - len = 0; - flags = 0; -} - -void String::invalidate(void) -{ - if (buffer) free(buffer); - buffer = NULL; - capacity = len = 0; -} - -unsigned char String::reserve(unsigned int size) -{ - if (buffer && capacity >= size) return 1; - if (changeBuffer(size)) { - if (len == 0) buffer[0] = 0; - return 1; - } - return 0; -} - -unsigned char String::changeBuffer(unsigned int maxStrLen) -{ - char *newbuffer = (char *)realloc(buffer, maxStrLen + 1); - if (newbuffer) { - buffer = newbuffer; - capacity = maxStrLen; - return 1; - } - return 0; -} - -/*********************************************/ -/* Copy and Move */ -/*********************************************/ - -String & String::copy(const char *cstr, unsigned int length) -{ - if (!reserve(length)) { - invalidate(); - return *this; - } - len = length; - strcpy(buffer, cstr); - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -void String::move(String &rhs) -{ - if (buffer) { - if (capacity >= rhs.len) { - strcpy(buffer, rhs.buffer); - len = rhs.len; - rhs.len = 0; - return; - } else { - free(buffer); - } - } - buffer = rhs.buffer; - capacity = rhs.capacity; - len = rhs.len; - rhs.buffer = NULL; - rhs.capacity = 0; - rhs.len = 0; -} -#endif - -String & String::operator = (const String &rhs) -{ - if (this == &rhs) return *this; - - if (rhs.buffer) copy(rhs.buffer, rhs.len); - else invalidate(); - - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String & String::operator = (String &&rval) -{ - if (this != &rval) move(rval); - return *this; -} - -String & String::operator = (StringSumHelper &&rval) -{ - if (this != &rval) move(rval); - return *this; -} -#endif - -String & String::operator = (const char *cstr) -{ - if (cstr) copy(cstr, strlen(cstr)); - else invalidate(); - - return *this; -} - -/*********************************************/ -/* concat */ -/*********************************************/ - -unsigned char String::concat(const String &s) -{ - return concat(s.buffer, s.len); -} - -unsigned char String::concat(const char *cstr, unsigned int length) -{ - unsigned int newlen = len + length; - if (!cstr) return 0; - if (length == 0) return 1; - if (!reserve(newlen)) return 0; - strcpy(buffer + len, cstr); - len = newlen; - return 1; -} - -unsigned char String::concat(const char *cstr) -{ - if (!cstr) return 0; - return concat(cstr, strlen(cstr)); -} - -unsigned char String::concat(char c) -{ - char buf[2]; - buf[0] = c; - buf[1] = 0; - return concat(buf, 1); -} - -unsigned char String::concat(unsigned char num) -{ - char buf[4]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(int num) -{ - char buf[7]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned int num) -{ - char buf[6]; - utoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(long num) -{ - char buf[12]; - ltoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned long num) -{ - char buf[11]; - ultoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -/*********************************************/ -/* Concatenate */ -/*********************************************/ - -StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(rhs.buffer, rhs.len)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr) -{ - StringSumHelper &a = const_cast(lhs); - if (!cstr || !a.concat(cstr, strlen(cstr))) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, char c) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(c)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -/*********************************************/ -/* Comparison */ -/*********************************************/ - -int String::compareTo(const String &s) const -{ - if (!buffer || !s.buffer) { - if (s.buffer && s.len > 0) return 0 - *(unsigned char *)s.buffer; - if (buffer && len > 0) return *(unsigned char *)buffer; - return 0; - } - return strcmp(buffer, s.buffer); -} - -unsigned char String::equals(const String &s2) const -{ - return (len == s2.len && compareTo(s2) == 0); -} - -unsigned char String::equals(const char *cstr) const -{ - if (len == 0) return (cstr == NULL || *cstr == 0); - if (cstr == NULL) return buffer[0] == 0; - return strcmp(buffer, cstr) == 0; -} - -unsigned char String::operator<(const String &rhs) const -{ - return compareTo(rhs) < 0; -} - -unsigned char String::operator>(const String &rhs) const -{ - return compareTo(rhs) > 0; -} - -unsigned char String::operator<=(const String &rhs) const -{ - return compareTo(rhs) <= 0; -} - -unsigned char String::operator>=(const String &rhs) const -{ - return compareTo(rhs) >= 0; -} - -unsigned char String::equalsIgnoreCase( const String &s2 ) const -{ - if (this == &s2) return 1; - if (len != s2.len) return 0; - if (len == 0) return 1; - const char *p1 = buffer; - const char *p2 = s2.buffer; - while (*p1) { - if (tolower(*p1++) != tolower(*p2++)) return 0; - } - return 1; -} - -unsigned char String::startsWith( const String &s2 ) const -{ - if (len < s2.len) return 0; - return startsWith(s2, 0); -} - -unsigned char String::startsWith( const String &s2, unsigned int offset ) const -{ - if (offset > len - s2.len || !buffer || !s2.buffer) return 0; - return strncmp( &buffer[offset], s2.buffer, s2.len ) == 0; -} - -unsigned char String::endsWith( const String &s2 ) const -{ - if ( len < s2.len || !buffer || !s2.buffer) return 0; - return strcmp(&buffer[len - s2.len], s2.buffer) == 0; -} - -/*********************************************/ -/* Character Access */ -/*********************************************/ - -char String::charAt(unsigned int loc) const -{ - return operator[](loc); -} - -void String::setCharAt(unsigned int loc, char c) -{ - if (loc < len) buffer[loc] = c; -} - -char & String::operator[](unsigned int index) -{ - static char dummy_writable_char; - if (index >= len || !buffer) { - dummy_writable_char = 0; - return dummy_writable_char; - } - return buffer[index]; -} - -char String::operator[]( unsigned int index ) const -{ - if (index >= len || !buffer) return 0; - return buffer[index]; -} - -void String::getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index) const -{ - if (!bufsize || !buf) return; - if (index >= len) { - buf[0] = 0; - return; - } - unsigned int n = bufsize - 1; - if (n > len - index) n = len - index; - strncpy((char *)buf, buffer + index, n); - buf[n] = 0; -} - -/*********************************************/ -/* Search */ -/*********************************************/ - -int String::indexOf(char c) const -{ - return indexOf(c, 0); -} - -int String::indexOf( char ch, unsigned int fromIndex ) const -{ - if (fromIndex >= len) return -1; - const char* temp = strchr(buffer + fromIndex, ch); - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::indexOf(const String &s2) const -{ - return indexOf(s2, 0); -} - -int String::indexOf(const String &s2, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - const char *found = strstr(buffer + fromIndex, s2.buffer); - if (found == NULL) return -1; - return found - buffer; -} - -int String::lastIndexOf( char theChar ) const -{ - return lastIndexOf(theChar, len - 1); -} - -int String::lastIndexOf(char ch, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - char tempchar = buffer[fromIndex + 1]; - buffer[fromIndex + 1] = '\0'; - char* temp = strrchr( buffer, ch ); - buffer[fromIndex + 1] = tempchar; - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::lastIndexOf(const String &s2) const -{ - return lastIndexOf(s2, len - s2.len); -} - -int String::lastIndexOf(const String &s2, unsigned int fromIndex) const -{ - if (s2.len == 0 || len == 0 || s2.len > len) return -1; - if (fromIndex >= len) fromIndex = len - 1; - int found = -1; - for (char *p = buffer; p <= buffer + fromIndex; p++) { - p = strstr(p, s2.buffer); - if (!p) break; - if ((unsigned int)(p - buffer) <= fromIndex) found = p - buffer; - } - return found; -} - -String String::substring( unsigned int left ) const -{ - return substring(left, len); -} - -String String::substring(unsigned int left, unsigned int right) const -{ - if (left > right) { - unsigned int temp = right; - right = left; - left = temp; - } - String out; - if (left > len) return out; - if (right > len) right = len; - char temp = buffer[right]; // save the replaced character - buffer[right] = '\0'; - out = buffer + left; // pointer arithmetic - buffer[right] = temp; //restore character - return out; -} - -/*********************************************/ -/* Modification */ -/*********************************************/ - -void String::replace(char find, char replace) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - if (*p == find) *p = replace; - } -} - -void String::replace(const String& find, const String& replace) -{ - if (len == 0 || find.len == 0) return; - int diff = replace.len - find.len; - char *readFrom = buffer; - char *foundAt; - if (diff == 0) { - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - memcpy(foundAt, replace.buffer, replace.len); - readFrom = foundAt + replace.len; - } - } else if (diff < 0) { - char *writeTo = buffer; - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - unsigned int n = foundAt - readFrom; - memcpy(writeTo, readFrom, n); - writeTo += n; - memcpy(writeTo, replace.buffer, replace.len); - writeTo += replace.len; - readFrom = foundAt + find.len; - len += diff; - } - strcpy(writeTo, readFrom); - } else { - unsigned int size = len; // compute size needed for result - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - readFrom = foundAt + find.len; - size += diff; - } - if (size == len) return; - if (size > capacity && !changeBuffer(size)) return; // XXX: tell user! - int index = len - 1; - while (index >= 0 && (index = lastIndexOf(find, index)) >= 0) { - readFrom = buffer + index + find.len; - memmove(readFrom + diff, readFrom, len - (readFrom - buffer)); - len += diff; - buffer[len] = 0; - memcpy(buffer + index, replace.buffer, replace.len); - index--; - } - } -} - -void String::toLowerCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = tolower(*p); - } -} - -void String::toUpperCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = toupper(*p); - } -} - -void String::trim(void) -{ - if (!buffer || len == 0) return; - char *begin = buffer; - while (isspace(*begin)) begin++; - char *end = buffer + len - 1; - while (isspace(*end) && end >= begin) end--; - len = end + 1 - begin; - if (begin > buffer) memcpy(buffer, begin, len); - buffer[len] = 0; -} - -/*********************************************/ -/* Parsing / Conversion */ -/*********************************************/ - -long String::toInt(void) const -{ - if (buffer) return atol(buffer); - return 0; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.h deleted file mode 100644 index 947325e5f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/WString.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - WString.h - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All right reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 String_class_h -#define String_class_h -#ifdef __cplusplus - -#include -#include -#include -#include - -// When compiling programs with this class, the following gcc parameters -// dramatically increase performance and memory (RAM) efficiency, typically -// with little or no increase in code size. -// -felide-constructors -// -std=c++0x - -class __FlashStringHelper; -#define F(string_literal) (reinterpret_cast(PSTR(string_literal))) - -// An inherited class for holding the result of a concatenation. These -// result objects are assumed to be writable by subsequent concatenations. -class StringSumHelper; - -// The string class -class String -{ - // use a function pointer to allow for "if (s)" without the - // complications of an operator bool(). for more information, see: - // http://www.artima.com/cppsource/safebool.html - typedef void (String::*StringIfHelperType)() const; - void StringIfHelper() const {} - -public: - // constructors - // creates a copy of the initial value. - // if the initial value is null or invalid, or if memory allocation - // fails, the string will be marked as invalid (i.e. "if (s)" will - // be false). - String(const char *cstr = ""); - String(const String &str); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String(String &&rval); - String(StringSumHelper &&rval); - #endif - explicit String(char c); - explicit String(unsigned char, unsigned char base=10); - explicit String(int, unsigned char base=10); - explicit String(unsigned int, unsigned char base=10); - explicit String(long, unsigned char base=10); - explicit String(unsigned long, unsigned char base=10); - ~String(void); - - // memory management - // return true on success, false on failure (in which case, the string - // is left unchanged). reserve(0), if successful, will validate an - // invalid string (i.e., "if (s)" will be true afterwards) - unsigned char reserve(unsigned int size); - inline unsigned int length(void) const {return len;} - - // creates a copy of the assigned value. if the value is null or - // invalid, or if the memory allocation fails, the string will be - // marked as invalid ("if (s)" will be false). - String & operator = (const String &rhs); - String & operator = (const char *cstr); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String & operator = (String &&rval); - String & operator = (StringSumHelper &&rval); - #endif - - // concatenate (works w/ built-in types) - - // returns true on success, false on failure (in which case, the string - // is left unchanged). if the argument is null or invalid, the - // concatenation is considered unsucessful. - unsigned char concat(const String &str); - unsigned char concat(const char *cstr); - unsigned char concat(char c); - unsigned char concat(unsigned char c); - unsigned char concat(int num); - unsigned char concat(unsigned int num); - unsigned char concat(long num); - unsigned char concat(unsigned long num); - - // if there's not enough memory for the concatenated value, the string - // will be left unchanged (but this isn't signalled in any way) - String & operator += (const String &rhs) {concat(rhs); return (*this);} - String & operator += (const char *cstr) {concat(cstr); return (*this);} - String & operator += (char c) {concat(c); return (*this);} - String & operator += (unsigned char num) {concat(num); return (*this);} - String & operator += (int num) {concat(num); return (*this);} - String & operator += (unsigned int num) {concat(num); return (*this);} - String & operator += (long num) {concat(num); return (*this);} - String & operator += (unsigned long num) {concat(num); return (*this);} - - friend StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs); - friend StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr); - friend StringSumHelper & operator + (const StringSumHelper &lhs, char c); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, long num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num); - - // comparison (only works w/ Strings and "strings") - operator StringIfHelperType() const { return buffer ? &String::StringIfHelper : 0; } - int compareTo(const String &s) const; - unsigned char equals(const String &s) const; - unsigned char equals(const char *cstr) const; - unsigned char operator == (const String &rhs) const {return equals(rhs);} - unsigned char operator == (const char *cstr) const {return equals(cstr);} - unsigned char operator != (const String &rhs) const {return !equals(rhs);} - unsigned char operator != (const char *cstr) const {return !equals(cstr);} - unsigned char operator < (const String &rhs) const; - unsigned char operator > (const String &rhs) const; - unsigned char operator <= (const String &rhs) const; - unsigned char operator >= (const String &rhs) const; - unsigned char equalsIgnoreCase(const String &s) const; - unsigned char startsWith( const String &prefix) const; - unsigned char startsWith(const String &prefix, unsigned int offset) const; - unsigned char endsWith(const String &suffix) const; - - // character acccess - char charAt(unsigned int index) const; - void setCharAt(unsigned int index, char c); - char operator [] (unsigned int index) const; - char& operator [] (unsigned int index); - void getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index=0) const; - void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const - {getBytes((unsigned char *)buf, bufsize, index);} - - // search - int indexOf( char ch ) const; - int indexOf( char ch, unsigned int fromIndex ) const; - int indexOf( const String &str ) const; - int indexOf( const String &str, unsigned int fromIndex ) const; - int lastIndexOf( char ch ) const; - int lastIndexOf( char ch, unsigned int fromIndex ) const; - int lastIndexOf( const String &str ) const; - int lastIndexOf( const String &str, unsigned int fromIndex ) const; - String substring( unsigned int beginIndex ) const; - String substring( unsigned int beginIndex, unsigned int endIndex ) const; - - // modification - void replace(char find, char replace); - void replace(const String& find, const String& replace); - void toLowerCase(void); - void toUpperCase(void); - void trim(void); - - // parsing/conversion - long toInt(void) const; - -protected: - char *buffer; // the actual char array - unsigned int capacity; // the array length minus one (for the '\0') - unsigned int len; // the String length (not counting the '\0') - unsigned char flags; // unused, for future features -protected: - void init(void); - void invalidate(void); - unsigned char changeBuffer(unsigned int maxStrLen); - unsigned char concat(const char *cstr, unsigned int length); - - // copy and move - String & copy(const char *cstr, unsigned int length); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void move(String &rhs); - #endif -}; - -class StringSumHelper : public String -{ -public: - StringSumHelper(const String &s) : String(s) {} - StringSumHelper(const char *p) : String(p) {} - StringSumHelper(char c) : String(c) {} - StringSumHelper(unsigned char num) : String(num) {} - StringSumHelper(int num) : String(num) {} - StringSumHelper(unsigned int num) : String(num) {} - StringSumHelper(long num) : String(num) {} - StringSumHelper(unsigned long num) : String(num) {} -}; - -#endif // __cplusplus -#endif // String_class_h diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/binary.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/binary.h deleted file mode 100644 index af1498033..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/binary.h +++ /dev/null @@ -1,515 +0,0 @@ -#ifndef Binary_h -#define Binary_h - -#define B0 0 -#define B00 0 -#define B000 0 -#define B0000 0 -#define B00000 0 -#define B000000 0 -#define B0000000 0 -#define B00000000 0 -#define B1 1 -#define B01 1 -#define B001 1 -#define B0001 1 -#define B00001 1 -#define B000001 1 -#define B0000001 1 -#define B00000001 1 -#define B10 2 -#define B010 2 -#define B0010 2 -#define B00010 2 -#define B000010 2 -#define B0000010 2 -#define B00000010 2 -#define B11 3 -#define B011 3 -#define B0011 3 -#define B00011 3 -#define B000011 3 -#define B0000011 3 -#define B00000011 3 -#define B100 4 -#define B0100 4 -#define B00100 4 -#define B000100 4 -#define B0000100 4 -#define B00000100 4 -#define B101 5 -#define B0101 5 -#define B00101 5 -#define B000101 5 -#define B0000101 5 -#define B00000101 5 -#define B110 6 -#define B0110 6 -#define B00110 6 -#define B000110 6 -#define B0000110 6 -#define B00000110 6 -#define B111 7 -#define B0111 7 -#define B00111 7 -#define B000111 7 -#define B0000111 7 -#define B00000111 7 -#define B1000 8 -#define B01000 8 -#define B001000 8 -#define B0001000 8 -#define B00001000 8 -#define B1001 9 -#define B01001 9 -#define B001001 9 -#define B0001001 9 -#define B00001001 9 -#define B1010 10 -#define B01010 10 -#define B001010 10 -#define B0001010 10 -#define B00001010 10 -#define B1011 11 -#define B01011 11 -#define B001011 11 -#define B0001011 11 -#define B00001011 11 -#define B1100 12 -#define B01100 12 -#define B001100 12 -#define B0001100 12 -#define B00001100 12 -#define B1101 13 -#define B01101 13 -#define B001101 13 -#define B0001101 13 -#define B00001101 13 -#define B1110 14 -#define B01110 14 -#define B001110 14 -#define B0001110 14 -#define B00001110 14 -#define B1111 15 -#define B01111 15 -#define B001111 15 -#define B0001111 15 -#define B00001111 15 -#define B10000 16 -#define B010000 16 -#define B0010000 16 -#define B00010000 16 -#define B10001 17 -#define B010001 17 -#define B0010001 17 -#define B00010001 17 -#define B10010 18 -#define B010010 18 -#define B0010010 18 -#define B00010010 18 -#define B10011 19 -#define B010011 19 -#define B0010011 19 -#define B00010011 19 -#define B10100 20 -#define B010100 20 -#define B0010100 20 -#define B00010100 20 -#define B10101 21 -#define B010101 21 -#define B0010101 21 -#define B00010101 21 -#define B10110 22 -#define B010110 22 -#define B0010110 22 -#define B00010110 22 -#define B10111 23 -#define B010111 23 -#define B0010111 23 -#define B00010111 23 -#define B11000 24 -#define B011000 24 -#define B0011000 24 -#define B00011000 24 -#define B11001 25 -#define B011001 25 -#define B0011001 25 -#define B00011001 25 -#define B11010 26 -#define B011010 26 -#define B0011010 26 -#define B00011010 26 -#define B11011 27 -#define B011011 27 -#define B0011011 27 -#define B00011011 27 -#define B11100 28 -#define B011100 28 -#define B0011100 28 -#define B00011100 28 -#define B11101 29 -#define B011101 29 -#define B0011101 29 -#define B00011101 29 -#define B11110 30 -#define B011110 30 -#define B0011110 30 -#define B00011110 30 -#define B11111 31 -#define B011111 31 -#define B0011111 31 -#define B00011111 31 -#define B100000 32 -#define B0100000 32 -#define B00100000 32 -#define B100001 33 -#define B0100001 33 -#define B00100001 33 -#define B100010 34 -#define B0100010 34 -#define B00100010 34 -#define B100011 35 -#define B0100011 35 -#define B00100011 35 -#define B100100 36 -#define B0100100 36 -#define B00100100 36 -#define B100101 37 -#define B0100101 37 -#define B00100101 37 -#define B100110 38 -#define B0100110 38 -#define B00100110 38 -#define B100111 39 -#define B0100111 39 -#define B00100111 39 -#define B101000 40 -#define B0101000 40 -#define B00101000 40 -#define B101001 41 -#define B0101001 41 -#define B00101001 41 -#define B101010 42 -#define B0101010 42 -#define B00101010 42 -#define B101011 43 -#define B0101011 43 -#define B00101011 43 -#define B101100 44 -#define B0101100 44 -#define B00101100 44 -#define B101101 45 -#define B0101101 45 -#define B00101101 45 -#define B101110 46 -#define B0101110 46 -#define B00101110 46 -#define B101111 47 -#define B0101111 47 -#define B00101111 47 -#define B110000 48 -#define B0110000 48 -#define B00110000 48 -#define B110001 49 -#define B0110001 49 -#define B00110001 49 -#define B110010 50 -#define B0110010 50 -#define B00110010 50 -#define B110011 51 -#define B0110011 51 -#define B00110011 51 -#define B110100 52 -#define B0110100 52 -#define B00110100 52 -#define B110101 53 -#define B0110101 53 -#define B00110101 53 -#define B110110 54 -#define B0110110 54 -#define B00110110 54 -#define B110111 55 -#define B0110111 55 -#define B00110111 55 -#define B111000 56 -#define B0111000 56 -#define B00111000 56 -#define B111001 57 -#define B0111001 57 -#define B00111001 57 -#define B111010 58 -#define B0111010 58 -#define B00111010 58 -#define B111011 59 -#define B0111011 59 -#define B00111011 59 -#define B111100 60 -#define B0111100 60 -#define B00111100 60 -#define B111101 61 -#define B0111101 61 -#define B00111101 61 -#define B111110 62 -#define B0111110 62 -#define B00111110 62 -#define B111111 63 -#define B0111111 63 -#define B00111111 63 -#define B1000000 64 -#define B01000000 64 -#define B1000001 65 -#define B01000001 65 -#define B1000010 66 -#define B01000010 66 -#define B1000011 67 -#define B01000011 67 -#define B1000100 68 -#define B01000100 68 -#define B1000101 69 -#define B01000101 69 -#define B1000110 70 -#define B01000110 70 -#define B1000111 71 -#define B01000111 71 -#define B1001000 72 -#define B01001000 72 -#define B1001001 73 -#define B01001001 73 -#define B1001010 74 -#define B01001010 74 -#define B1001011 75 -#define B01001011 75 -#define B1001100 76 -#define B01001100 76 -#define B1001101 77 -#define B01001101 77 -#define B1001110 78 -#define B01001110 78 -#define B1001111 79 -#define B01001111 79 -#define B1010000 80 -#define B01010000 80 -#define B1010001 81 -#define B01010001 81 -#define B1010010 82 -#define B01010010 82 -#define B1010011 83 -#define B01010011 83 -#define B1010100 84 -#define B01010100 84 -#define B1010101 85 -#define B01010101 85 -#define B1010110 86 -#define B01010110 86 -#define B1010111 87 -#define B01010111 87 -#define B1011000 88 -#define B01011000 88 -#define B1011001 89 -#define B01011001 89 -#define B1011010 90 -#define B01011010 90 -#define B1011011 91 -#define B01011011 91 -#define B1011100 92 -#define B01011100 92 -#define B1011101 93 -#define B01011101 93 -#define B1011110 94 -#define B01011110 94 -#define B1011111 95 -#define B01011111 95 -#define B1100000 96 -#define B01100000 96 -#define B1100001 97 -#define B01100001 97 -#define B1100010 98 -#define B01100010 98 -#define B1100011 99 -#define B01100011 99 -#define B1100100 100 -#define B01100100 100 -#define B1100101 101 -#define B01100101 101 -#define B1100110 102 -#define B01100110 102 -#define B1100111 103 -#define B01100111 103 -#define B1101000 104 -#define B01101000 104 -#define B1101001 105 -#define B01101001 105 -#define B1101010 106 -#define B01101010 106 -#define B1101011 107 -#define B01101011 107 -#define B1101100 108 -#define B01101100 108 -#define B1101101 109 -#define B01101101 109 -#define B1101110 110 -#define B01101110 110 -#define B1101111 111 -#define B01101111 111 -#define B1110000 112 -#define B01110000 112 -#define B1110001 113 -#define B01110001 113 -#define B1110010 114 -#define B01110010 114 -#define B1110011 115 -#define B01110011 115 -#define B1110100 116 -#define B01110100 116 -#define B1110101 117 -#define B01110101 117 -#define B1110110 118 -#define B01110110 118 -#define B1110111 119 -#define B01110111 119 -#define B1111000 120 -#define B01111000 120 -#define B1111001 121 -#define B01111001 121 -#define B1111010 122 -#define B01111010 122 -#define B1111011 123 -#define B01111011 123 -#define B1111100 124 -#define B01111100 124 -#define B1111101 125 -#define B01111101 125 -#define B1111110 126 -#define B01111110 126 -#define B1111111 127 -#define B01111111 127 -#define B10000000 128 -#define B10000001 129 -#define B10000010 130 -#define B10000011 131 -#define B10000100 132 -#define B10000101 133 -#define B10000110 134 -#define B10000111 135 -#define B10001000 136 -#define B10001001 137 -#define B10001010 138 -#define B10001011 139 -#define B10001100 140 -#define B10001101 141 -#define B10001110 142 -#define B10001111 143 -#define B10010000 144 -#define B10010001 145 -#define B10010010 146 -#define B10010011 147 -#define B10010100 148 -#define B10010101 149 -#define B10010110 150 -#define B10010111 151 -#define B10011000 152 -#define B10011001 153 -#define B10011010 154 -#define B10011011 155 -#define B10011100 156 -#define B10011101 157 -#define B10011110 158 -#define B10011111 159 -#define B10100000 160 -#define B10100001 161 -#define B10100010 162 -#define B10100011 163 -#define B10100100 164 -#define B10100101 165 -#define B10100110 166 -#define B10100111 167 -#define B10101000 168 -#define B10101001 169 -#define B10101010 170 -#define B10101011 171 -#define B10101100 172 -#define B10101101 173 -#define B10101110 174 -#define B10101111 175 -#define B10110000 176 -#define B10110001 177 -#define B10110010 178 -#define B10110011 179 -#define B10110100 180 -#define B10110101 181 -#define B10110110 182 -#define B10110111 183 -#define B10111000 184 -#define B10111001 185 -#define B10111010 186 -#define B10111011 187 -#define B10111100 188 -#define B10111101 189 -#define B10111110 190 -#define B10111111 191 -#define B11000000 192 -#define B11000001 193 -#define B11000010 194 -#define B11000011 195 -#define B11000100 196 -#define B11000101 197 -#define B11000110 198 -#define B11000111 199 -#define B11001000 200 -#define B11001001 201 -#define B11001010 202 -#define B11001011 203 -#define B11001100 204 -#define B11001101 205 -#define B11001110 206 -#define B11001111 207 -#define B11010000 208 -#define B11010001 209 -#define B11010010 210 -#define B11010011 211 -#define B11010100 212 -#define B11010101 213 -#define B11010110 214 -#define B11010111 215 -#define B11011000 216 -#define B11011001 217 -#define B11011010 218 -#define B11011011 219 -#define B11011100 220 -#define B11011101 221 -#define B11011110 222 -#define B11011111 223 -#define B11100000 224 -#define B11100001 225 -#define B11100010 226 -#define B11100011 227 -#define B11100100 228 -#define B11100101 229 -#define B11100110 230 -#define B11100111 231 -#define B11101000 232 -#define B11101001 233 -#define B11101010 234 -#define B11101011 235 -#define B11101100 236 -#define B11101101 237 -#define B11101110 238 -#define B11101111 239 -#define B11110000 240 -#define B11110001 241 -#define B11110010 242 -#define B11110011 243 -#define B11110100 244 -#define B11110101 245 -#define B11110110 246 -#define B11110111 247 -#define B11111000 248 -#define B11111001 249 -#define B11111010 250 -#define B11111011 251 -#define B11111100 252 -#define B11111101 253 -#define B11111110 254 -#define B11111111 255 - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/main.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/main.cpp deleted file mode 100644 index 3d4e079d2..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include - -int main(void) -{ - init(); - -#if defined(USBCON) - USBDevice.attach(); -#endif - - setup(); - - for (;;) { - loop(); - if (serialEventRun) serialEventRun(); - } - - return 0; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.cpp deleted file mode 100644 index 0f6d4220e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include - -void * operator new(size_t size) -{ - return malloc(size); -} - -void operator delete(void * ptr) -{ - free(ptr); -} - -int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);}; -void __cxa_guard_release (__guard *g) {*(char *)g = 1;}; -void __cxa_guard_abort (__guard *) {}; - -void __cxa_pure_virtual(void) {}; - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.h deleted file mode 100644 index cd940ce8b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/new.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Header to define new/delete operators as they aren't provided by avr-gcc by default - Taken from http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=59453 - */ - -#ifndef NEW_H -#define NEW_H - -#include - -void * operator new(size_t size); -void operator delete(void * ptr); - -__extension__ typedef int __guard __attribute__((mode (__DI__))); - -extern "C" int __cxa_guard_acquire(__guard *); -extern "C" void __cxa_guard_release (__guard *); -extern "C" void __cxa_guard_abort (__guard *); - -extern "C" void __cxa_pure_virtual(void); - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring.c deleted file mode 100644 index ac8bb6f9b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - wiring.c - Partial implementation of the Wiring API for the ATmega8. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include "wiring_private.h" - -// the prescaler is set so that timer0 ticks every 64 clock cycles, and the -// the overflow handler is called every 256 ticks. -#define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256)) - -// the whole number of milliseconds per timer0 overflow -#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000) - -// the fractional number of milliseconds per timer0 overflow. we shift right -// by three to fit these numbers into a byte. (for the clock speeds we care -// about - 8 and 16 MHz - this doesn't lose precision.) -#define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3) -#define FRACT_MAX (1000 >> 3) - -volatile unsigned long timer0_overflow_count = 0; -volatile unsigned long timer0_millis = 0; -static unsigned char timer0_fract = 0; - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) -SIGNAL(TIM0_OVF_vect) -#else -SIGNAL(TIMER0_OVF_vect) -#endif -{ - // copy these to local variables so they can be stored in registers - // (volatile variables must be read from memory on every access) - unsigned long m = timer0_millis; - unsigned char f = timer0_fract; - - m += MILLIS_INC; - f += FRACT_INC; - if (f >= FRACT_MAX) { - f -= FRACT_MAX; - m += 1; - } - - timer0_fract = f; - timer0_millis = m; - timer0_overflow_count++; -} - -unsigned long millis() -{ - unsigned long m; - uint8_t oldSREG = SREG; - - // disable interrupts while we read timer0_millis or we might get an - // inconsistent value (e.g. in the middle of a write to timer0_millis) - cli(); - m = timer0_millis; - SREG = oldSREG; - - return m; -} - -unsigned long micros() { - unsigned long m; - uint8_t oldSREG = SREG, t; - - cli(); - m = timer0_overflow_count; -#if defined(TCNT0) - t = TCNT0; -#elif defined(TCNT0L) - t = TCNT0L; -#else - #error TIMER 0 not defined -#endif - - -#ifdef TIFR0 - if ((TIFR0 & _BV(TOV0)) && (t < 255)) - m++; -#else - if ((TIFR & _BV(TOV0)) && (t < 255)) - m++; -#endif - - SREG = oldSREG; - - return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond()); -} - -void delay(unsigned long ms) -{ - uint16_t start = (uint16_t)micros(); - - while (ms > 0) { - if (((uint16_t)micros() - start) >= 1000) { - ms--; - start += 1000; - } - } -} - -/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */ -void delayMicroseconds(unsigned int us) -{ - // calling avrlib's delay_us() function with low values (e.g. 1 or - // 2 microseconds) gives delays longer than desired. - //delay_us(us); -#if F_CPU >= 20000000L - // for the 20 MHz clock on rare Arduino boards - - // for a one-microsecond delay, simply wait 2 cycle and return. The overhead - // of the function call yields a delay of exactly a one microsecond. - __asm__ __volatile__ ( - "nop" "\n\t" - "nop"); //just waiting 2 cycle - if (--us == 0) - return; - - // the following loop takes a 1/5 of a microsecond (4 cycles) - // per iteration, so execute it five times for each microsecond of - // delay requested. - us = (us<<2) + us; // x5 us - - // account for the time taken in the preceeding commands. - us -= 2; - -#elif F_CPU >= 16000000L - // for the 16 MHz clock on most Arduino boards - - // for a one-microsecond delay, simply return. the overhead - // of the function call yields a delay of approximately 1 1/8 us. - if (--us == 0) - return; - - // the following loop takes a quarter of a microsecond (4 cycles) - // per iteration, so execute it four times for each microsecond of - // delay requested. - us <<= 2; - - // account for the time taken in the preceeding commands. - us -= 2; -#else - // for the 8 MHz internal clock on the ATmega168 - - // for a one- or two-microsecond delay, simply return. the overhead of - // the function calls takes more than two microseconds. can't just - // subtract two, since us is unsigned; we'd overflow. - if (--us == 0) - return; - if (--us == 0) - return; - - // the following loop takes half of a microsecond (4 cycles) - // per iteration, so execute it twice for each microsecond of - // delay requested. - us <<= 1; - - // partially compensate for the time taken by the preceeding commands. - // we can't subtract any more than this or we'd overflow w/ small delays. - us--; -#endif - - // busy wait - __asm__ __volatile__ ( - "1: sbiw %0,1" "\n\t" // 2 cycles - "brne 1b" : "=w" (us) : "0" (us) // 2 cycles - ); -} - -void init() -{ - // this needs to be called before setup() or some functions won't - // work there - sei(); - - // on the ATmega168, timer 0 is also used for fast hardware pwm - // (using phase-correct PWM would mean that timer 0 overflowed half as often - // resulting in different millis() behavior on the ATmega8 and ATmega168) -#if defined(TCCR0A) && defined(WGM01) - sbi(TCCR0A, WGM01); - sbi(TCCR0A, WGM00); -#endif - - // set timer 0 prescale factor to 64 -#if defined(__AVR_ATmega128__) - // CPU specific: different values for the ATmega128 - sbi(TCCR0, CS02); -#elif defined(TCCR0) && defined(CS01) && defined(CS00) - // this combination is for the standard atmega8 - sbi(TCCR0, CS01); - sbi(TCCR0, CS00); -#elif defined(TCCR0B) && defined(CS01) && defined(CS00) - // this combination is for the standard 168/328/1280/2560 - sbi(TCCR0B, CS01); - sbi(TCCR0B, CS00); -#elif defined(TCCR0A) && defined(CS01) && defined(CS00) - // this combination is for the __AVR_ATmega645__ series - sbi(TCCR0A, CS01); - sbi(TCCR0A, CS00); -#else - #error Timer 0 prescale factor 64 not set correctly -#endif - - // enable timer 0 overflow interrupt -#if defined(TIMSK) && defined(TOIE0) - sbi(TIMSK, TOIE0); -#elif defined(TIMSK0) && defined(TOIE0) - sbi(TIMSK0, TOIE0); -#else - #error Timer 0 overflow interrupt not set correctly -#endif - - // timers 1 and 2 are used for phase-correct hardware pwm - // this is better for motors as it ensures an even waveform - // note, however, that fast pwm mode can achieve a frequency of up - // 8 MHz (with a 16 MHz clock) at 50% duty cycle - -#if defined(TCCR1B) && defined(CS11) && defined(CS10) - TCCR1B = 0; - - // set timer 1 prescale factor to 64 - sbi(TCCR1B, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1B, CS10); -#endif -#elif defined(TCCR1) && defined(CS11) && defined(CS10) - sbi(TCCR1, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1, CS10); -#endif -#endif - // put timer 1 in 8-bit phase correct pwm mode -#if defined(TCCR1A) && defined(WGM10) - sbi(TCCR1A, WGM10); -#elif defined(TCCR1) - #warning this needs to be finished -#endif - - // set timer 2 prescale factor to 64 -#if defined(TCCR2) && defined(CS22) - sbi(TCCR2, CS22); -#elif defined(TCCR2B) && defined(CS22) - sbi(TCCR2B, CS22); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - - // configure timer 2 for phase correct pwm (8-bit) -#if defined(TCCR2) && defined(WGM20) - sbi(TCCR2, WGM20); -#elif defined(TCCR2A) && defined(WGM20) - sbi(TCCR2A, WGM20); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - -#if defined(TCCR3B) && defined(CS31) && defined(WGM30) - sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64 - sbi(TCCR3B, CS30); - sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode -#endif - -#if defined(TCCR4A) && defined(TCCR4B) && defined(TCCR4D) /* beginning of timer4 block for 32U4 and similar */ - sbi(TCCR4B, CS42); // set timer4 prescale factor to 64 - sbi(TCCR4B, CS41); - sbi(TCCR4B, CS40); - sbi(TCCR4D, WGM40); // put timer 4 in phase- and frequency-correct PWM mode - sbi(TCCR4A, PWM4A); // enable PWM mode for comparator OCR4A - sbi(TCCR4C, PWM4D); // enable PWM mode for comparator OCR4D -#else /* beginning of timer4 block for ATMEGA1280 and ATMEGA2560 */ -#if defined(TCCR4B) && defined(CS41) && defined(WGM40) - sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64 - sbi(TCCR4B, CS40); - sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode -#endif -#endif /* end timer4 block for ATMEGA1280/2560 and similar */ - -#if defined(TCCR5B) && defined(CS51) && defined(WGM50) - sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64 - sbi(TCCR5B, CS50); - sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode -#endif - -#if defined(ADCSRA) - // set a2d prescale factor to 128 - // 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range. - // XXX: this will not work properly for other clock speeds, and - // this code should use F_CPU to determine the prescale factor. - sbi(ADCSRA, ADPS2); - sbi(ADCSRA, ADPS1); - sbi(ADCSRA, ADPS0); - - // enable a2d conversions - sbi(ADCSRA, ADEN); -#endif - - // the bootloader connects pins 0 and 1 to the USART; disconnect them - // here so they can be used as normal digital i/o; they will be - // reconnected in Serial.begin() -#if defined(UCSRB) - UCSRB = 0; -#elif defined(UCSR0B) - UCSR0B = 0; -#endif -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_analog.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_analog.c deleted file mode 100644 index 23b01c65a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_analog.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - wiring_analog.c - analog input and output - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -uint8_t analog_reference = DEFAULT; - -void analogReference(uint8_t mode) -{ - // can't actually set the register here because the default setting - // will connect AVCC and the AREF pin, which would cause a short if - // there's something connected to AREF. - analog_reference = mode; -} - -int analogRead(uint8_t pin) -{ - uint8_t low, high; - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - if (pin >= 54) pin -= 54; // allow for channel or pin numbers -#elif defined(__AVR_ATmega32U4__) - if (pin >= 18) pin -= 18; // allow for channel or pin numbers -#elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if (pin >= 24) pin -= 24; // allow for channel or pin numbers -#else - if (pin >= 14) pin -= 14; // allow for channel or pin numbers -#endif - -#if defined(__AVR_ATmega32U4__) - pin = analogPinToChannel(pin); - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#elif defined(ADCSRB) && defined(MUX5) - // the MUX5 bit of ADCSRB selects whether we're reading from channels - // 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high). - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#endif - - // set the analog reference (high two bits of ADMUX) and select the - // channel (low 4 bits). this also sets ADLAR (left-adjust result) - // to 0 (the default). -#if defined(ADMUX) - ADMUX = (analog_reference << 6) | (pin & 0x07); -#endif - - // without a delay, we seem to read from the wrong channel - //delay(1); - -#if defined(ADCSRA) && defined(ADCL) - // start the conversion - sbi(ADCSRA, ADSC); - - // ADSC is cleared when the conversion finishes - while (bit_is_set(ADCSRA, ADSC)); - - // we have to read ADCL first; doing so locks both ADCL - // and ADCH until ADCH is read. reading ADCL second would - // cause the results of each conversion to be discarded, - // as ADCL and ADCH would be locked when it completed. - low = ADCL; - high = ADCH; -#else - // we dont have an ADC, return 0 - low = 0; - high = 0; -#endif - - // combine the two bytes - return (high << 8) | low; -} - -// Right now, PWM output only works on the pins with -// hardware support. These are defined in the appropriate -// pins_*.c file. For the rest of the pins, we default -// to digital output. -void analogWrite(uint8_t pin, int val) -{ - // We need to make sure the PWM output is enabled for those pins - // that support it, as we turn it off when digitally reading or - // writing with them. Also, make sure the pin is in output mode - // for consistenty with Wiring, which doesn't require a pinMode - // call for the analog output pins. - pinMode(pin, OUTPUT); - if (val == 0) - { - digitalWrite(pin, LOW); - } - else if (val == 255) - { - digitalWrite(pin, HIGH); - } - else - { - switch(digitalPinToTimer(pin)) - { - // XXX fix needed for atmega8 - #if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__) - case TIMER0A: - // connect pwm to pin on timer 0 - sbi(TCCR0, COM00); - OCR0 = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: - // connect pwm to pin on timer 0, channel A - sbi(TCCR0A, COM0A1); - OCR0A = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0B1) - case TIMER0B: - // connect pwm to pin on timer 0, channel B - sbi(TCCR0A, COM0B1); - OCR0B = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: - // connect pwm to pin on timer 1, channel A - sbi(TCCR1A, COM1A1); - OCR1A = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: - // connect pwm to pin on timer 1, channel B - sbi(TCCR1A, COM1B1); - OCR1B = val; // set pwm duty - break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: - // connect pwm to pin on timer 2 - sbi(TCCR2, COM21); - OCR2 = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: - // connect pwm to pin on timer 2, channel A - sbi(TCCR2A, COM2A1); - OCR2A = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: - // connect pwm to pin on timer 2, channel B - sbi(TCCR2A, COM2B1); - OCR2B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: - // connect pwm to pin on timer 3, channel A - sbi(TCCR3A, COM3A1); - OCR3A = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: - // connect pwm to pin on timer 3, channel B - sbi(TCCR3A, COM3B1); - OCR3B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: - // connect pwm to pin on timer 3, channel C - sbi(TCCR3A, COM3C1); - OCR3C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) - case TIMER4A: - //connect pwm to pin on timer 4, channel A - sbi(TCCR4A, COM4A1); - #if defined(COM4A0) // only used on 32U4 - cbi(TCCR4A, COM4A0); - #endif - OCR4A = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: - // connect pwm to pin on timer 4, channel B - sbi(TCCR4A, COM4B1); - OCR4B = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: - // connect pwm to pin on timer 4, channel C - sbi(TCCR4A, COM4C1); - OCR4C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: - // connect pwm to pin on timer 4, channel D - sbi(TCCR4C, COM4D1); - #if defined(COM4D0) // only used on 32U4 - cbi(TCCR4C, COM4D0); - #endif - OCR4D = val; // set pwm duty - break; - #endif - - - #if defined(TCCR5A) && defined(COM5A1) - case TIMER5A: - // connect pwm to pin on timer 5, channel A - sbi(TCCR5A, COM5A1); - OCR5A = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5B1) - case TIMER5B: - // connect pwm to pin on timer 5, channel B - sbi(TCCR5A, COM5B1); - OCR5B = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5C1) - case TIMER5C: - // connect pwm to pin on timer 5, channel C - sbi(TCCR5A, COM5C1); - OCR5C = val; // set pwm duty - break; - #endif - - case NOT_ON_TIMER: - default: - if (val < 128) { - digitalWrite(pin, LOW); - } else { - digitalWrite(pin, HIGH); - } - } - } -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_digital.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_digital.c deleted file mode 100644 index be323b1df..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_digital.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - wiring_digital.c - digital input and output functions - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#define ARDUINO_MAIN -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *reg, *out; - - if (port == NOT_A_PIN) return; - - // JWS: can I let the optimizer do this? - reg = portModeRegister(port); - out = portOutputRegister(port); - - if (mode == INPUT) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out &= ~bit; - SREG = oldSREG; - } else if (mode == INPUT_PULLUP) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out |= bit; - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - cli(); - *reg |= bit; - SREG = oldSREG; - } -} - -// Forcing this inline keeps the callers from having to push their own stuff -// on the stack. It is a good performance win and only takes 1 more byte per -// user than calling. (It will take more bytes on the 168.) -// -// But shouldn't this be moved into pinMode? Seems silly to check and do on -// each digitalread or write. -// -// Mark Sproul: -// - Removed inline. Save 170 bytes on atmega1280 -// - changed to a switch statment; added 32 bytes but much easier to read and maintain. -// - Added more #ifdefs, now compiles for atmega645 -// -//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline)); -//static inline void turnOffPWM(uint8_t timer) -static void turnOffPWM(uint8_t timer) -{ - switch (timer) - { - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: cbi(TCCR1A, COM1A1); break; - #endif - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: cbi(TCCR1A, COM1B1); break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: cbi(TCCR2, COM21); break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: cbi(TCCR0A, COM0A1); break; - #endif - - #if defined(TIMER0B) && defined(COM0B1) - case TIMER0B: cbi(TCCR0A, COM0B1); break; - #endif - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: cbi(TCCR2A, COM2A1); break; - #endif - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: cbi(TCCR2A, COM2B1); break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: cbi(TCCR3A, COM3A1); break; - #endif - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: cbi(TCCR3A, COM3B1); break; - #endif - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: cbi(TCCR3A, COM3C1); break; - #endif - - #if defined(TCCR4A) && defined(COM4A1) - case TIMER4A: cbi(TCCR4A, COM4A1); break; - #endif - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: cbi(TCCR4A, COM4B1); break; - #endif - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: cbi(TCCR4A, COM4C1); break; - #endif - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: cbi(TCCR4C, COM4D1); break; - #endif - - #if defined(TCCR5A) - case TIMER5A: cbi(TCCR5A, COM5A1); break; - case TIMER5B: cbi(TCCR5A, COM5B1); break; - case TIMER5C: cbi(TCCR5A, COM5C1); break; - #endif - } -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *out; - - if (port == NOT_A_PIN) return; - - // If the pin that support PWM output, we need to turn it off - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - out = portOutputRegister(port); - - uint8_t oldSREG = SREG; - cli(); - - if (val == LOW) { - *out &= ~bit; - } else { - *out |= bit; - } - - SREG = oldSREG; -} - -int digitalRead(uint8_t pin) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - - if (port == NOT_A_PIN) return LOW; - - // If the pin that support PWM output, we need to turn it off - // before getting a digital reading. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - if (*portInputRegister(port) & bit) return HIGH; - return LOW; -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_private.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_private.h deleted file mode 100644 index f67826567..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_private.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - wiring_private.h - Internal header file. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ -*/ - -#ifndef WiringPrivate_h -#define WiringPrivate_h - -#include -#include -#include -#include - -#include "Arduino.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef cbi -#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) -#endif -#ifndef sbi -#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) -#endif - -#define EXTERNAL_INT_0 0 -#define EXTERNAL_INT_1 1 -#define EXTERNAL_INT_2 2 -#define EXTERNAL_INT_3 3 -#define EXTERNAL_INT_4 4 -#define EXTERNAL_INT_5 5 -#define EXTERNAL_INT_6 6 -#define EXTERNAL_INT_7 7 - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) -#define EXTERNAL_NUM_INTERRUPTS 8 -#elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) -#define EXTERNAL_NUM_INTERRUPTS 3 -#elif defined(__AVR_ATmega32U4__) -#define EXTERNAL_NUM_INTERRUPTS 4 -#else -#define EXTERNAL_NUM_INTERRUPTS 2 -#endif - -typedef void (*voidFuncPtr)(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_pulse.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_pulse.c deleted file mode 100644 index 0d968865d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_pulse.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - wiring_pulse.c - pulseIn() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH - * or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds - * to 3 minutes in length, but must be called at least a few dozen microseconds - * before the start of the pulse. */ -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) -{ - // cache the port and bit of the pin in order to speed up the - // pulse width measuring loop and achieve finer resolution. calling - // digitalRead() instead yields much coarser resolution. - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - uint8_t stateMask = (state ? bit : 0); - unsigned long width = 0; // keep initialization out of time critical area - - // convert the timeout from microseconds to a number of times through - // the initial loop; it takes 16 clock cycles per iteration. - unsigned long numloops = 0; - unsigned long maxloops = microsecondsToClockCycles(timeout) / 16; - - // wait for any previous pulse to end - while ((*portInputRegister(port) & bit) == stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to start - while ((*portInputRegister(port) & bit) != stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to stop - while ((*portInputRegister(port) & bit) == stateMask) { - if (numloops++ == maxloops) - return 0; - width++; - } - - // convert the reading to microseconds. The loop has been determined - // to be 20 clock cycles long and have about 16 clocks between the edge - // and the start of the loop. There will be some error introduced by - // the interrupt handlers. - return clockCyclesToMicroseconds(width * 21 + 16); -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_shift.c b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_shift.c deleted file mode 100644 index cfe786758..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/cores/arduino/wiring_shift.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - wiring_shift.c - shiftOut() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" - -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { - uint8_t value = 0; - uint8_t i; - - for (i = 0; i < 8; ++i) { - digitalWrite(clockPin, HIGH); - if (bitOrder == LSBFIRST) - value |= digitalRead(dataPin) << i; - else - value |= digitalRead(dataPin) << (7 - i); - digitalWrite(clockPin, LOW); - } - return value; -} - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val) -{ - uint8_t i; - - for (i = 0; i < 8; i++) { - if (bitOrder == LSBFIRST) - digitalWrite(dataPin, !!(val & (1 << i))); - else - digitalWrite(dataPin, !!(val & (1 << (7 - i)))); - - digitalWrite(clockPin, HIGH); - digitalWrite(clockPin, LOW); - } -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/variants/standard/pins_arduino.h b/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/variants/standard/pins_arduino.h deleted file mode 100644 index 499952dc9..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/Sanguino/variants/standard/pins_arduino.h +++ /dev/null @@ -1,285 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ - - Changelog - ----------- - 11/25/11 - ryan@ryanmsutton.com - Add pins for Sanguino 644P and 1284P - 07/15/12 - ryan@ryanmsutton.com - Updated for arduino0101 -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER5A 14 -#define TIMER5B 15 -#define TIMER5C 16 - -const static uint8_t SS = 4; -const static uint8_t MOSI = 5; -const static uint8_t MISO = 6; -const static uint8_t SCK = 7; - -static const uint8_t SDA = 17; -static const uint8_t SCL = 16; -static const uint8_t LED_BUILTIN = 13; - -static const uint8_t A0 = 31; -static const uint8_t A1 = 30; -static const uint8_t A2 = 29; -static const uint8_t A3 = 28; -static const uint8_t A4 = 27; -static const uint8_t A5 = 26; -static const uint8_t A6 = 25; -static const uint8_t A7 = 24; - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -// extern const uint16_t PROGMEM port_to_mode_PGM[]; -// extern const uint16_t PROGMEM port_to_input_PGM[]; -// extern const uint16_t PROGMEM port_to_output_PGM[]; - -// extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// ATMEL ATMEGA644P / SANGUINO -// -// +---\/---+ -// INT0 (D 0) PB0 1| |40 PA0 (AI 0 / D31) -// INT1 (D 1) PB1 2| |39 PA1 (AI 1 / D30) -// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29) -// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28) -// PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27) -// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26) -// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25) -// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24) -// RST 9| |32 AREF -// VCC 10| |31 GND -// GND 11| |30 AVCC -// XTAL2 12| |29 PC7 (D 23) -// XTAL1 13| |28 PC6 (D 22) -// RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI -// TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO -// RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS -// TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK -// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA -// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL -// PWM (D 14) PD6 20| |21 PD7 (D 15) PWM -// +--------+ -// -#define NUM_DIGITAL_PINS 24 -#define NUM_ANALOG_INPUTS 8 -#define analogInputToDigitalPin(p) ((p < 7) ? (p) + 24 : -1) - -#define digitalPinHasPWM(p) ((p) == 3 || (p) == 4 || (p) == 12 || (p) == 13 || (p) == 14 || (p) == 15 ) - -#define digitalPinToPCICR(p) ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 24) && ((p) <= 31)) ? 0 : \ - ( (((p) >= 0) && ((p) <= 7)) ? 1 : \ - ( (((p) >= 16) && ((p) <= 23)) ? 2 : \ - ( (((p) >= 8) && ((p) <= 15)) ? 3 : \ - 0 ) ) ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 24) && ((p) <= 31)) ? (&PCMSK0) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (&PCMSK1) : \ - ( (((p) >= 16) && ((p) <= 23)) ? (&PCMSK2) : \ - ( (((p) >= 8) && ((p) <= 15)) ? (&PCMSK3) : \ - ((uint8_t *)0) ) ) ) ) - - -#define digitalPinToPCMSKbit(p) ( (((p) >= 24) && ((p) <= 31)) ? (31 - (p)) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (p) : \ - ( (((p) >= 16) && ((p) <= 23)) ? ((p) - 16) : \ - ( (((p) >= 8) && ((p) <= 15)) ? ((p) - 8) : \ - 0 ) ) ) ) - -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 - -#ifdef ARDUINO_MAIN -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -const uint16_t PROGMEM port_to_mode_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, -}; -const uint16_t PROGMEM port_to_input_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, -}; -const uint8_t PROGMEM digital_pin_to_port_PGM[] = -{ - PB, /* 0 */ - PB, - PB, - PB, - PB, - PB, - PB, - PB, - PD, /* 8 */ - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PC, /* 16 */ - PC, - PC, - PC, - PC, - PC, - PC, - PC, - PA, /* 24 */ - PA, - PA, - PA, - PA, - PA, - PA, - PA /* 31 */ -}; -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = -{ - _BV(0), /* 0, port B */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 8, port D */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 16, port C */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(7), /* 24, port A */ - _BV(6), - _BV(5), - _BV(4), - _BV(3), - _BV(2), - _BV(1), - _BV(0) -}; -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = -{ - NOT_ON_TIMER, /* 0 - PB0 */ - NOT_ON_TIMER, /* 1 - PB1 */ - NOT_ON_TIMER, /* 2 - PB2 */ - TIMER0A, /* 3 - PB3 */ - TIMER0B, /* 4 - PB4 */ - NOT_ON_TIMER, /* 5 - PB5 */ - NOT_ON_TIMER, /* 6 - PB6 */ - NOT_ON_TIMER, /* 7 - PB7 */ - NOT_ON_TIMER, /* 8 - PD0 */ - NOT_ON_TIMER, /* 9 - PD1 */ - NOT_ON_TIMER, /* 10 - PD2 */ - NOT_ON_TIMER, /* 11 - PD3 */ - TIMER1B, /* 12 - PD4 */ - TIMER1A, /* 13 - PD5 */ - TIMER2B, /* 14 - PD6 */ - TIMER2A, /* 15 - PD7 */ - NOT_ON_TIMER, /* 16 - PC0 */ - NOT_ON_TIMER, /* 17 - PC1 */ - NOT_ON_TIMER, /* 18 - PC2 */ - NOT_ON_TIMER, /* 19 - PC3 */ - NOT_ON_TIMER, /* 20 - PC4 */ - NOT_ON_TIMER, /* 21 - PC5 */ - NOT_ON_TIMER, /* 22 - PC6 */ - NOT_ON_TIMER, /* 23 - PC7 */ - NOT_ON_TIMER, /* 24 - PA0 */ - NOT_ON_TIMER, /* 25 - PA1 */ - NOT_ON_TIMER, /* 26 - PA2 */ - NOT_ON_TIMER, /* 27 - PA3 */ - NOT_ON_TIMER, /* 28 - PA4 */ - NOT_ON_TIMER, /* 29 - PA5 */ - NOT_ON_TIMER, /* 30 - PA6 */ - NOT_ON_TIMER /* 31 - PA7 */ -}; -#endif -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/boards.txt b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/boards.txt deleted file mode 100644 index d0901653c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/boards.txt +++ /dev/null @@ -1,22 +0,0 @@ -# See: http://code.google.com/p/arduino/wiki/Platforms - -############################################################## - -mega2560.name=RAMBo - -mega2560.upload.protocol=wiring -mega2560.upload.maximum_size=258048 -mega2560.upload.speed=115200 - -mega2560.bootloader.low_fuses=0xFF -mega2560.bootloader.high_fuses=0xD8 -mega2560.bootloader.extended_fuses=0xFD -mega2560.bootloader.path=stk500v2 -mega2560.bootloader.file=stk500boot_v2_mega2560.hex -mega2560.bootloader.unlock_bits=0x3F -mega2560.bootloader.lock_bits=0x0F - -mega2560.build.mcu=atmega2560 -mega2560.build.f_cpu=16000000L -mega2560.build.core=arduino -mega2560.build.variant=standard diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Arduino.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Arduino.h deleted file mode 100644 index b26582589..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Arduino.h +++ /dev/null @@ -1,215 +0,0 @@ -#ifndef Arduino_h -#define Arduino_h - -#include -#include -#include - -#include -#include -#include - -#include "binary.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#define HIGH 0x1 -#define LOW 0x0 - -#define INPUT 0x0 -#define OUTPUT 0x1 -#define INPUT_PULLUP 0x2 - -#define true 0x1 -#define false 0x0 - -#define PI 3.1415926535897932384626433832795 -#define HALF_PI 1.5707963267948966192313216916398 -#define TWO_PI 6.283185307179586476925286766559 -#define DEG_TO_RAD 0.017453292519943295769236907684886 -#define RAD_TO_DEG 57.295779513082320876798154814105 - -#define SERIAL 0x0 -#define DISPLAY 0x1 - -#define LSBFIRST 0 -#define MSBFIRST 1 - -#define CHANGE 1 -#define FALLING 2 -#define RISING 3 - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) -#define DEFAULT 0 -#define EXTERNAL 1 -#define INTERNAL 2 -#else -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) -#define INTERNAL1V1 2 -#define INTERNAL2V56 3 -#else -#define INTERNAL 3 -#endif -#define DEFAULT 1 -#define EXTERNAL 0 -#endif - -// undefine stdlib's abs if encountered -#ifdef abs -#undef abs -#endif - -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) -#define abs(x) ((x)>0?(x):-(x)) -#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) -#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define sq(x) ((x)*(x)) - -#define interrupts() sei() -#define noInterrupts() cli() - -#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) -#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) -#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) - -#define lowByte(w) ((uint8_t) ((w) & 0xff)) -#define highByte(w) ((uint8_t) ((w) >> 8)) - -#define bitRead(value, bit) (((value) >> (bit)) & 0x01) -#define bitSet(value, bit) ((value) |= (1UL << (bit))) -#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) -#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) - - -typedef unsigned int word; - -#define bit(b) (1UL << (b)) - -typedef uint8_t boolean; -typedef uint8_t byte; - -void init(void); - -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -int digitalRead(uint8_t); -int analogRead(uint8_t); -void analogReference(uint8_t mode); -void analogWrite(uint8_t, int); - -unsigned long millis(void); -unsigned long micros(void); -void delay(unsigned long); -void delayMicroseconds(unsigned int us); -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout); - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); - -void attachInterrupt(uint8_t, void (*)(void), int mode); -void detachInterrupt(uint8_t); - -void setup(void); -void loop(void); - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. - -#define analogInPinToBit(P) (P) - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -extern const uint16_t PROGMEM port_to_mode_PGM[]; -extern const uint16_t PROGMEM port_to_input_PGM[]; -extern const uint16_t PROGMEM port_to_output_PGM[]; - -extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. -// -// These perform slightly better as macros compared to inline functions -// -#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) ) -#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) ) -#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) ) -#define analogInPinToBit(P) (P) -#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) ) -#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) ) -#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) ) - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#ifdef ARDUINO_MAIN -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 -#endif - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER4D 14 -#define TIMER5A 15 -#define TIMER5B 16 -#define TIMER5C 17 - -#ifdef __cplusplus -} // extern "C" -#endif - -#ifdef __cplusplus -#include "WCharacter.h" -#include "WString.h" -#include "HardwareSerial.h" - -uint16_t makeWord(uint16_t w); -uint16_t makeWord(byte h, byte l); - -#define word(...) makeWord(__VA_ARGS__) - -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L); - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0); -void noTone(uint8_t _pin); - -// WMath prototypes -long random(long); -long random(long, long); -void randomSeed(unsigned int); -long map(long, long, long, long, long); - -#endif - -#include "pins_arduino.h" - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/CDC.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/CDC.cpp deleted file mode 100644 index 701e48398..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/CDC.cpp +++ /dev/null @@ -1,239 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include - -#if defined(USBCON) -#ifdef CDC_ENABLED - -#if (RAMEND < 1000) -#define SERIAL_BUFFER_SIZE 16 -#else -#define SERIAL_BUFFER_SIZE 64 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile int head; - volatile int tail; -}; - -ring_buffer cdc_rx_buffer = { { 0 }, 0, 0}; - -typedef struct -{ - u32 dwDTERate; - u8 bCharFormat; - u8 bParityType; - u8 bDataBits; - u8 lineState; -} LineInfo; - -static volatile LineInfo _usbLineInfo = { 57600, 0x00, 0x00, 0x00, 0x00 }; - -#define WEAK __attribute__ ((weak)) - -extern const CDCDescriptor _cdcInterface PROGMEM; -const CDCDescriptor _cdcInterface = -{ - D_IAD(0,2,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,1), - - // CDC communication interface - D_INTERFACE(CDC_ACM_INTERFACE,1,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,0), - D_CDCCS(CDC_HEADER,0x10,0x01), // Header (1.10 bcd) - D_CDCCS(CDC_CALL_MANAGEMENT,1,1), // Device handles call management (not) - D_CDCCS4(CDC_ABSTRACT_CONTROL_MANAGEMENT,6), // SET_LINE_CODING, GET_LINE_CODING, SET_CONTROL_LINE_STATE supported - D_CDCCS(CDC_UNION,CDC_ACM_INTERFACE,CDC_DATA_INTERFACE), // Communication interface is master, data interface is slave 0 - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_ACM),USB_ENDPOINT_TYPE_INTERRUPT,0x10,0x40), - - // CDC data interface - D_INTERFACE(CDC_DATA_INTERFACE,2,CDC_DATA_INTERFACE_CLASS,0,0), - D_ENDPOINT(USB_ENDPOINT_OUT(CDC_ENDPOINT_OUT),USB_ENDPOINT_TYPE_BULK,0x40,0), - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_IN ),USB_ENDPOINT_TYPE_BULK,0x40,0) -}; - -int WEAK CDC_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 2; // uses 2 - return USB_SendControl(TRANSFER_PGM,&_cdcInterface,sizeof(_cdcInterface)); -} - -bool WEAK CDC_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (CDC_GET_LINE_CODING == r) - { - USB_SendControl(0,(void*)&_usbLineInfo,7); - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (CDC_SET_LINE_CODING == r) - { - USB_RecvControl((void*)&_usbLineInfo,7); - return true; - } - - if (CDC_SET_CONTROL_LINE_STATE == r) - { - _usbLineInfo.lineState = setup.wValueL; - - // auto-reset into the bootloader is triggered when the port, already - // open at 1200 bps, is closed. this is the signal to start the watchdog - // with a relatively long period so it can finish housekeeping tasks - // like servicing endpoints before the sketch ends - if (1200 == _usbLineInfo.dwDTERate) { - // We check DTR state to determine if host port is open (bit 0 of lineState). - if ((_usbLineInfo.lineState & 0x01) == 0) { - *(uint16_t *)0x0800 = 0x7777; - wdt_enable(WDTO_120MS); - } else { - // Most OSs do some intermediate steps when configuring ports and DTR can - // twiggle more than once before stabilizing. - // To avoid spurious resets we set the watchdog to 250ms and eventually - // cancel if DTR goes back high. - - wdt_disable(); - wdt_reset(); - *(uint16_t *)0x0800 = 0x0; - } - } - return true; - } - } - return false; -} - - -int _serialPeek = -1; -void Serial_::begin(uint16_t baud_count) -{ -} - -void Serial_::end(void) -{ -} - -void Serial_::accept(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - int i = (unsigned int)(buffer->head+1) % SERIAL_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. - - // while we have room to store a byte - while (i != buffer->tail) { - int c = USB_Recv(CDC_RX); - if (c == -1) - break; // no more data - buffer->buffer[buffer->head] = c; - buffer->head = i; - - i = (unsigned int)(buffer->head+1) % SERIAL_BUFFER_SIZE; - } -} - -int Serial_::available(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - return (unsigned int)(SERIAL_BUFFER_SIZE + buffer->head - buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int Serial_::peek(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - if (buffer->head == buffer->tail) { - return -1; - } else { - return buffer->buffer[buffer->tail]; - } -} - -int Serial_::read(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - // if the head isn't ahead of the tail, we don't have any characters - if (buffer->head == buffer->tail) { - return -1; - } else { - unsigned char c = buffer->buffer[buffer->tail]; - buffer->tail = (unsigned int)(buffer->tail + 1) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void Serial_::flush(void) -{ - USB_Flush(CDC_TX); -} - -size_t Serial_::write(uint8_t c) -{ - /* only try to send bytes if the high-level CDC connection itself - is open (not just the pipe) - the OS should set lineState when the port - is opened and clear lineState when the port is closed. - bytes sent before the user opens the connection or after - the connection is closed are lost - just like with a UART. */ - - // TODO - ZE - check behavior on different OSes and test what happens if an - // open connection isn't broken cleanly (cable is yanked out, host dies - // or locks up, or host virtual serial port hangs) - if (_usbLineInfo.lineState > 0) { - int r = USB_Send(CDC_TX,&c,1); - if (r > 0) { - return r; - } else { - setWriteError(); - return 0; - } - } - setWriteError(); - return 0; -} - -// This operator is a convenient way for a sketch to check whether the -// port has actually been configured and opened by the host (as opposed -// to just being connected to the host). It can be used, for example, in -// setup() before printing to ensure that an application on the host is -// actually ready to receive and display the data. -// We add a short delay before returning to fix a bug observed by Federico -// where the port is configured (lineState != 0) but not quite opened. -Serial_::operator bool() { - bool result = false; - if (_usbLineInfo.lineState > 0) - result = true; - delay(10); - return result; -} - -Serial_ Serial; - -#endif -#endif /* if defined(USBCON) */ diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Client.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Client.h deleted file mode 100644 index ea134838a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Client.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef client_h -#define client_h -#include "Print.h" -#include "Stream.h" -#include "IPAddress.h" - -class Client : public Stream { - -public: - virtual int connect(IPAddress ip, uint16_t port) =0; - virtual int connect(const char *host, uint16_t port) =0; - virtual size_t write(uint8_t) =0; - virtual size_t write(const uint8_t *buf, size_t size) =0; - virtual int available() = 0; - virtual int read() = 0; - virtual int read(uint8_t *buf, size_t size) = 0; - virtual int peek() = 0; - virtual void flush() = 0; - virtual void stop() = 0; - virtual uint8_t connected() = 0; - virtual operator bool() = 0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HID.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HID.cpp deleted file mode 100644 index ac6360844..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HID.cpp +++ /dev/null @@ -1,520 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) -#ifdef HID_ENABLED - -//#define RAWHID_ENABLED - -// Singletons for mouse and keyboard - -Mouse_ Mouse; -Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ - -// HID report descriptor - -#define LSB(_x) ((_x) & 0xFF) -#define MSB(_x) ((_x) >> 8) - -#define RAWHID_USAGE_PAGE 0xFFC0 -#define RAWHID_USAGE 0x0C00 -#define RAWHID_TX_SIZE 64 -#define RAWHID_RX_SIZE 64 - -extern const u8 _hidReportDescriptor[] PROGMEM; -const u8 _hidReportDescriptor[] = { - - // Mouse - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 54 - 0x09, 0x02, // USAGE (Mouse) - 0xa1, 0x01, // COLLECTION (Application) - 0x09, 0x01, // USAGE (Pointer) - 0xa1, 0x00, // COLLECTION (Physical) - 0x85, 0x01, // REPORT_ID (1) - 0x05, 0x09, // USAGE_PAGE (Button) - 0x19, 0x01, // USAGE_MINIMUM (Button 1) - 0x29, 0x03, // USAGE_MAXIMUM (Button 3) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x95, 0x03, // REPORT_COUNT (3) - 0x75, 0x01, // REPORT_SIZE (1) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x05, // REPORT_SIZE (5) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) - 0x09, 0x30, // USAGE (X) - 0x09, 0x31, // USAGE (Y) - 0x09, 0x38, // USAGE (Wheel) - 0x15, 0x81, // LOGICAL_MINIMUM (-127) - 0x25, 0x7f, // LOGICAL_MAXIMUM (127) - 0x75, 0x08, // REPORT_SIZE (8) - 0x95, 0x03, // REPORT_COUNT (3) - 0x81, 0x06, // INPUT (Data,Var,Rel) - 0xc0, // END_COLLECTION - 0xc0, // END_COLLECTION - - // Keyboard - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 47 - 0x09, 0x06, // USAGE (Keyboard) - 0xa1, 0x01, // COLLECTION (Application) - 0x85, 0x02, // REPORT_ID (2) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl) - 0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x75, 0x01, // REPORT_SIZE (1) - - 0x95, 0x08, // REPORT_COUNT (8) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x08, // REPORT_SIZE (8) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - - 0x95, 0x06, // REPORT_COUNT (6) - 0x75, 0x08, // REPORT_SIZE (8) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x65, // LOGICAL_MAXIMUM (101) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) - 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) - 0x81, 0x00, // INPUT (Data,Ary,Abs) - 0xc0, // END_COLLECTION - -#if RAWHID_ENABLED - // RAW HID - 0x06, LSB(RAWHID_USAGE_PAGE), MSB(RAWHID_USAGE_PAGE), // 30 - 0x0A, LSB(RAWHID_USAGE), MSB(RAWHID_USAGE), - - 0xA1, 0x01, // Collection 0x01 - 0x85, 0x03, // REPORT_ID (3) - 0x75, 0x08, // report size = 8 bits - 0x15, 0x00, // logical minimum = 0 - 0x26, 0xFF, 0x00, // logical maximum = 255 - - 0x95, 64, // report count TX - 0x09, 0x01, // usage - 0x81, 0x02, // Input (array) - - 0x95, 64, // report count RX - 0x09, 0x02, // usage - 0x91, 0x02, // Output (array) - 0xC0 // end collection -#endif -}; - -extern const HIDDescriptor _hidInterface PROGMEM; -const HIDDescriptor _hidInterface = -{ - D_INTERFACE(HID_INTERFACE,1,3,0,0), - D_HIDREPORT(sizeof(_hidReportDescriptor)), - D_ENDPOINT(USB_ENDPOINT_IN (HID_ENDPOINT_INT),USB_ENDPOINT_TYPE_INTERRUPT,0x40,0x01) -}; - -//================================================================================ -//================================================================================ -// Driver - -u8 _hid_protocol = 1; -u8 _hid_idle = 1; - -#define WEAK __attribute__ ((weak)) - -int WEAK HID_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 1; // uses 1 - return USB_SendControl(TRANSFER_PGM,&_hidInterface,sizeof(_hidInterface)); -} - -int WEAK HID_GetDescriptor(int i) -{ - return USB_SendControl(TRANSFER_PGM,_hidReportDescriptor,sizeof(_hidReportDescriptor)); -} - -void WEAK HID_SendReport(u8 id, const void* data, int len) -{ - USB_Send(HID_TX, &id, 1); - USB_Send(HID_TX | TRANSFER_RELEASE,data,len); -} - -bool WEAK HID_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (HID_GET_REPORT == r) - { - //HID_GetReport(); - return true; - } - if (HID_GET_PROTOCOL == r) - { - //Send8(_hid_protocol); // TODO - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (HID_SET_PROTOCOL == r) - { - _hid_protocol = setup.wValueL; - return true; - } - - if (HID_SET_IDLE == r) - { - _hid_idle = setup.wValueL; - return true; - } - } - return false; -} - -//================================================================================ -//================================================================================ -// Mouse - -Mouse_::Mouse_(void) : _buttons(0) -{ -} - -void Mouse_::begin(void) -{ -} - -void Mouse_::end(void) -{ -} - -void Mouse_::click(uint8_t b) -{ - _buttons = b; - move(0,0,0); - _buttons = 0; - move(0,0,0); -} - -void Mouse_::move(signed char x, signed char y, signed char wheel) -{ - u8 m[4]; - m[0] = _buttons; - m[1] = x; - m[2] = y; - m[3] = wheel; - HID_SendReport(1,m,4); -} - -void Mouse_::buttons(uint8_t b) -{ - if (b != _buttons) - { - _buttons = b; - move(0,0,0); - } -} - -void Mouse_::press(uint8_t b) -{ - buttons(_buttons | b); -} - -void Mouse_::release(uint8_t b) -{ - buttons(_buttons & ~b); -} - -bool Mouse_::isPressed(uint8_t b) -{ - if ((b & _buttons) > 0) - return true; - return false; -} - -//================================================================================ -//================================================================================ -// Keyboard - -Keyboard_::Keyboard_(void) -{ -} - -void Keyboard_::begin(void) -{ -} - -void Keyboard_::end(void) -{ -} - -void Keyboard_::sendReport(KeyReport* keys) -{ - HID_SendReport(2,keys,sizeof(KeyReport)); -} - -extern -const uint8_t _asciimap[128] PROGMEM; - -#define SHIFT 0x80 -const uint8_t _asciimap[128] = -{ - 0x00, // NUL - 0x00, // SOH - 0x00, // STX - 0x00, // ETX - 0x00, // EOT - 0x00, // ENQ - 0x00, // ACK - 0x00, // BEL - 0x2a, // BS Backspace - 0x2b, // TAB Tab - 0x28, // LF Enter - 0x00, // VT - 0x00, // FF - 0x00, // CR - 0x00, // SO - 0x00, // SI - 0x00, // DEL - 0x00, // DC1 - 0x00, // DC2 - 0x00, // DC3 - 0x00, // DC4 - 0x00, // NAK - 0x00, // SYN - 0x00, // ETB - 0x00, // CAN - 0x00, // EM - 0x00, // SUB - 0x00, // ESC - 0x00, // FS - 0x00, // GS - 0x00, // RS - 0x00, // US - - 0x2c, // ' ' - 0x1e|SHIFT, // ! - 0x34|SHIFT, // " - 0x20|SHIFT, // # - 0x21|SHIFT, // $ - 0x22|SHIFT, // % - 0x24|SHIFT, // & - 0x34, // ' - 0x26|SHIFT, // ( - 0x27|SHIFT, // ) - 0x25|SHIFT, // * - 0x2e|SHIFT, // + - 0x36, // , - 0x2d, // - - 0x37, // . - 0x38, // / - 0x27, // 0 - 0x1e, // 1 - 0x1f, // 2 - 0x20, // 3 - 0x21, // 4 - 0x22, // 5 - 0x23, // 6 - 0x24, // 7 - 0x25, // 8 - 0x26, // 9 - 0x33|SHIFT, // : - 0x33, // ; - 0x36|SHIFT, // < - 0x2e, // = - 0x37|SHIFT, // > - 0x38|SHIFT, // ? - 0x1f|SHIFT, // @ - 0x04|SHIFT, // A - 0x05|SHIFT, // B - 0x06|SHIFT, // C - 0x07|SHIFT, // D - 0x08|SHIFT, // E - 0x09|SHIFT, // F - 0x0a|SHIFT, // G - 0x0b|SHIFT, // H - 0x0c|SHIFT, // I - 0x0d|SHIFT, // J - 0x0e|SHIFT, // K - 0x0f|SHIFT, // L - 0x10|SHIFT, // M - 0x11|SHIFT, // N - 0x12|SHIFT, // O - 0x13|SHIFT, // P - 0x14|SHIFT, // Q - 0x15|SHIFT, // R - 0x16|SHIFT, // S - 0x17|SHIFT, // T - 0x18|SHIFT, // U - 0x19|SHIFT, // V - 0x1a|SHIFT, // W - 0x1b|SHIFT, // X - 0x1c|SHIFT, // Y - 0x1d|SHIFT, // Z - 0x2f, // [ - 0x31, // bslash - 0x30, // ] - 0x23|SHIFT, // ^ - 0x2d|SHIFT, // _ - 0x35, // ` - 0x04, // a - 0x05, // b - 0x06, // c - 0x07, // d - 0x08, // e - 0x09, // f - 0x0a, // g - 0x0b, // h - 0x0c, // i - 0x0d, // j - 0x0e, // k - 0x0f, // l - 0x10, // m - 0x11, // n - 0x12, // o - 0x13, // p - 0x14, // q - 0x15, // r - 0x16, // s - 0x17, // t - 0x18, // u - 0x19, // v - 0x1a, // w - 0x1b, // x - 0x1c, // y - 0x1d, // z - 0x2f|SHIFT, // - 0x31|SHIFT, // | - 0x30|SHIFT, // } - 0x35|SHIFT, // ~ - 0 // DEL -}; - -uint8_t USBPutChar(uint8_t c); - -// press() adds the specified key (printing, non-printing, or modifier) -// to the persistent key report and sends the report. Because of the way -// USB HID works, the host acts like the key remains pressed until we -// call release(), releaseAll(), or otherwise clear the report and resend. -size_t Keyboard_::press(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers |= (1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - setWriteError(); - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers |= 0x02; // the left shift modifier - k &= 0x7F; - } - } - - // Add k to the key report only if it's not already present - // and if there is an empty slot. - if (_keyReport.keys[0] != k && _keyReport.keys[1] != k && - _keyReport.keys[2] != k && _keyReport.keys[3] != k && - _keyReport.keys[4] != k && _keyReport.keys[5] != k) { - - for (i=0; i<6; i++) { - if (_keyReport.keys[i] == 0x00) { - _keyReport.keys[i] = k; - break; - } - } - if (i == 6) { - setWriteError(); - return 0; - } - } - sendReport(&_keyReport); - return 1; -} - -// release() takes the specified key out of the persistent key report and -// sends the report. This tells the OS the key is no longer pressed and that -// it shouldn't be repeated any more. -size_t Keyboard_::release(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers &= ~(1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers &= ~(0x02); // the left shift modifier - k &= 0x7F; - } - } - - // Test the key report to see if k is present. Clear it if it exists. - // Check all positions in case the key is present more than once (which it shouldn't be) - for (i=0; i<6; i++) { - if (0 != k && _keyReport.keys[i] == k) { - _keyReport.keys[i] = 0x00; - } - } - - sendReport(&_keyReport); - return 1; -} - -void Keyboard_::releaseAll(void) -{ - _keyReport.keys[0] = 0; - _keyReport.keys[1] = 0; - _keyReport.keys[2] = 0; - _keyReport.keys[3] = 0; - _keyReport.keys[4] = 0; - _keyReport.keys[5] = 0; - _keyReport.modifiers = 0; - sendReport(&_keyReport); -} - -size_t Keyboard_::write(uint8_t c) -{ - uint8_t p = press(c); // Keydown - uint8_t r = release(c); // Keyup - return (p); // just return the result of press() since release() almost always returns 1 -} - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.cpp deleted file mode 100644 index 794a7be89..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.cpp +++ /dev/null @@ -1,519 +0,0 @@ -/* - 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 - Modified 14 August 2012 by Alarus -*/ - -#include -#include -#include -#include -#include "Arduino.h" -#include "wiring_private.h" - -// 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) - -#include "HardwareSerial.h" - -/* - * on ATmega8, the uart and its bits are not numbered, so there is no "TXC0" - * definition. - */ -#if !defined(TXC0) -#if defined(TXC) -#define TXC0 TXC -#elif defined(TXC1) -// Some devices have uart1 but no uart0 -#define TXC0 TXC1 -#else -#error TXC0 not definable in HardwareSerial.h -#endif -#endif - -// Define constants and variables for buffering incoming serial data. We're -// using a ring buffer (I think), in which head is the index of the location -// to which to write the next incoming character and tail is the index of the -// location from which to read. -#if (RAMEND < 1000) - #define SERIAL_BUFFER_SIZE 16 -#else - #define SERIAL_BUFFER_SIZE 64 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile unsigned int head; - volatile unsigned int tail; -}; - -#if defined(USBCON) - ring_buffer rx_buffer = { { 0 }, 0, 0}; - ring_buffer tx_buffer = { { 0 }, 0, 0}; -#endif -#if defined(UBRRH) || defined(UBRR0H) - ring_buffer rx_buffer = { { 0 }, 0, 0 }; - ring_buffer tx_buffer = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR1H) - ring_buffer rx_buffer1 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer1 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR2H) - ring_buffer rx_buffer2 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer2 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR3H) - ring_buffer rx_buffer3 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer3 = { { 0 }, 0, 0 }; -#endif - -inline void store_char(unsigned char c, ring_buffer *buffer) -{ - int i = (unsigned int)(buffer->head + 1) % SERIAL_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 != buffer->tail) { - buffer->buffer[buffer->head] = c; - buffer->head = i; - } -} - -#if !defined(USART0_RX_vect) && defined(USART1_RX_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(USART_RX_vect) && !defined(SIG_USART0_RECV) && \ - !defined(SIG_UART0_RECV) && !defined(USART0_RX_vect) && \ - !defined(SIG_UART_RECV) - #error "Don't know what the Data Received vector is called for the first UART" -#else - void serialEvent() __attribute__((weak)); - void serialEvent() {} - #define serialEvent_implemented -#if defined(USART_RX_vect) - SIGNAL(USART_RX_vect) -#elif defined(SIG_USART0_RECV) - SIGNAL(SIG_USART0_RECV) -#elif defined(SIG_UART0_RECV) - SIGNAL(SIG_UART0_RECV) -#elif defined(USART0_RX_vect) - SIGNAL(USART0_RX_vect) -#elif defined(SIG_UART_RECV) - SIGNAL(SIG_UART_RECV) -#endif - { - #if defined(UDR0) - if (bit_is_clear(UCSR0A, UPE0)) { - unsigned char c = UDR0; - store_char(c, &rx_buffer); - } else { - unsigned char c = UDR0; - }; - #elif defined(UDR) - if (bit_is_clear(UCSRA, PE)) { - unsigned char c = UDR; - store_char(c, &rx_buffer); - } else { - unsigned char c = UDR; - }; - #else - #error UDR not defined - #endif - } -#endif -#endif - -#if defined(USART1_RX_vect) - void serialEvent1() __attribute__((weak)); - void serialEvent1() {} - #define serialEvent1_implemented - SIGNAL(USART1_RX_vect) - { - if (bit_is_clear(UCSR1A, UPE1)) { - unsigned char c = UDR1; - store_char(c, &rx_buffer1); - } else { - unsigned char c = UDR1; - }; - } -#elif defined(SIG_USART1_RECV) - #error SIG_USART1_RECV -#endif - -#if defined(USART2_RX_vect) && defined(UDR2) - void serialEvent2() __attribute__((weak)); - void serialEvent2() {} - #define serialEvent2_implemented - SIGNAL(USART2_RX_vect) - { - if (bit_is_clear(UCSR2A, UPE2)) { - unsigned char c = UDR2; - store_char(c, &rx_buffer2); - } else { - unsigned char c = UDR2; - }; - } -#elif defined(SIG_USART2_RECV) - #error SIG_USART2_RECV -#endif - -#if defined(USART3_RX_vect) && defined(UDR3) - void serialEvent3() __attribute__((weak)); - void serialEvent3() {} - #define serialEvent3_implemented - SIGNAL(USART3_RX_vect) - { - if (bit_is_clear(UCSR3A, UPE3)) { - unsigned char c = UDR3; - store_char(c, &rx_buffer3); - } else { - unsigned char c = UDR3; - }; - } -#elif defined(SIG_USART3_RECV) - #error SIG_USART3_RECV -#endif - -void serialEventRun(void) -{ -#ifdef serialEvent_implemented - if (Serial.available()) serialEvent(); -#endif -#ifdef serialEvent1_implemented - if (Serial1.available()) serialEvent1(); -#endif -#ifdef serialEvent2_implemented - if (Serial2.available()) serialEvent2(); -#endif -#ifdef serialEvent3_implemented - if (Serial3.available()) serialEvent3(); -#endif -} - - -#if !defined(USART0_UDRE_vect) && defined(USART1_UDRE_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(UART0_UDRE_vect) && !defined(UART_UDRE_vect) && !defined(USART0_UDRE_vect) && !defined(USART_UDRE_vect) - #error "Don't know what the Data Register Empty vector is called for the first UART" -#else -#if defined(UART0_UDRE_vect) -ISR(UART0_UDRE_vect) -#elif defined(UART_UDRE_vect) -ISR(UART_UDRE_vect) -#elif defined(USART0_UDRE_vect) -ISR(USART0_UDRE_vect) -#elif defined(USART_UDRE_vect) -ISR(USART_UDRE_vect) -#endif -{ - if (tx_buffer.head == tx_buffer.tail) { - // Buffer empty, so disable interrupts -#if defined(UCSR0B) - cbi(UCSR0B, UDRIE0); -#else - cbi(UCSRB, UDRIE); -#endif - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer.buffer[tx_buffer.tail]; - tx_buffer.tail = (tx_buffer.tail + 1) % SERIAL_BUFFER_SIZE; - - #if defined(UDR0) - UDR0 = c; - #elif defined(UDR) - UDR = c; - #else - #error UDR not defined - #endif - } -} -#endif -#endif - -#ifdef USART1_UDRE_vect -ISR(USART1_UDRE_vect) -{ - if (tx_buffer1.head == tx_buffer1.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR1B, UDRIE1); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer1.buffer[tx_buffer1.tail]; - tx_buffer1.tail = (tx_buffer1.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR1 = c; - } -} -#endif - -#ifdef USART2_UDRE_vect -ISR(USART2_UDRE_vect) -{ - if (tx_buffer2.head == tx_buffer2.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR2B, UDRIE2); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer2.buffer[tx_buffer2.tail]; - tx_buffer2.tail = (tx_buffer2.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR2 = c; - } -} -#endif - -#ifdef USART3_UDRE_vect -ISR(USART3_UDRE_vect) -{ - if (tx_buffer3.head == tx_buffer3.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR3B, UDRIE3); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer3.buffer[tx_buffer3.tail]; - tx_buffer3.tail = (tx_buffer3.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR3 = c; - } -} -#endif - - -// Constructors //////////////////////////////////////////////////////////////// - -HardwareSerial::HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x) -{ - _rx_buffer = rx_buffer; - _tx_buffer = tx_buffer; - _ubrrh = ubrrh; - _ubrrl = ubrrl; - _ucsra = ucsra; - _ucsrb = ucsrb; - _ucsrc = ucsrc; - _udr = udr; - _rxen = rxen; - _txen = txen; - _rxcie = rxcie; - _udrie = udrie; - _u2x = u2x; -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void HardwareSerial::begin(unsigned long baud) -{ - uint16_t baud_setting; - bool use_u2x = true; - -#if F_CPU == 16000000UL - // hardcoded 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) { - use_u2x = false; - } -#endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) - { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - transmitting = false; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void HardwareSerial::begin(unsigned long baud, byte config) -{ - uint16_t baud_setting; - uint8_t current_config; - bool use_u2x = true; - -#if F_CPU == 16000000UL - // hardcoded 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) { - use_u2x = false; - } -#endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) - { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - //set the data bits, parity, and stop bits -#if defined(__AVR_ATmega8__) - config |= 0x80; // select UCSRC register (shared with UBRRH) -#endif - *_ucsrc = config; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void HardwareSerial::end() -{ - // wait for transmission of outgoing data - while (_tx_buffer->head != _tx_buffer->tail) - ; - - cbi(*_ucsrb, _rxen); - cbi(*_ucsrb, _txen); - cbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); - - // clear any received data - _rx_buffer->head = _rx_buffer->tail; -} - -int HardwareSerial::available(void) -{ - return (unsigned int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int HardwareSerial::peek(void) -{ - if (_rx_buffer->head == _rx_buffer->tail) { - return -1; - } else { - return _rx_buffer->buffer[_rx_buffer->tail]; - } -} - -int HardwareSerial::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) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void HardwareSerial::flush() -{ - // UDR is kept full while the buffer is not empty, so TXC triggers when EMPTY && SENT - while (transmitting && ! (*_ucsra & _BV(TXC0))); - transmitting = false; -} - -size_t HardwareSerial::write(uint8_t c) -{ - int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE; - - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - // ???: return 0 here instead? - while (i == _tx_buffer->tail) - ; - - _tx_buffer->buffer[_tx_buffer->head] = c; - _tx_buffer->head = i; - - sbi(*_ucsrb, _udrie); - // clear the TXC bit -- "can be cleared by writing a one to its bit location" - transmitting = true; - sbi(*_ucsra, TXC0); - - return 1; -} - -HardwareSerial::operator bool() { - return true; -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -#if defined(UBRRH) && defined(UBRRL) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR, RXEN, TXEN, RXCIE, UDRIE, U2X); -#elif defined(UBRR0H) && defined(UBRR0L) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UCSR0C, &UDR0, RXEN0, TXEN0, RXCIE0, UDRIE0, U2X0); -#elif defined(USBCON) - // do nothing - Serial object and buffers are initialized in CDC code -#else - #error no serial port defined (port 0) -#endif - -#if defined(UBRR1H) - HardwareSerial Serial1(&rx_buffer1, &tx_buffer1, &UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UCSR1C, &UDR1, RXEN1, TXEN1, RXCIE1, UDRIE1, U2X1); -#endif -#if defined(UBRR2H) - HardwareSerial Serial2(&rx_buffer2, &tx_buffer2, &UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UCSR2C, &UDR2, RXEN2, TXEN2, RXCIE2, UDRIE2, U2X2); -#endif -#if defined(UBRR3H) - HardwareSerial Serial3(&rx_buffer3, &tx_buffer3, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3); -#endif - -#endif // whole file - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.h deleted file mode 100644 index a73117f56..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/HardwareSerial.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - 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 - Modified 14 August 2012 by Alarus -*/ - -#ifndef HardwareSerial_h -#define HardwareSerial_h - -#include - -#include "Stream.h" - -struct ring_buffer; - -class HardwareSerial : public Stream -{ - private: - ring_buffer *_rx_buffer; - ring_buffer *_tx_buffer; - volatile uint8_t *_ubrrh; - volatile uint8_t *_ubrrl; - volatile uint8_t *_ucsra; - volatile uint8_t *_ucsrb; - volatile uint8_t *_ucsrc; - volatile uint8_t *_udr; - uint8_t _rxen; - uint8_t _txen; - uint8_t _rxcie; - uint8_t _udrie; - uint8_t _u2x; - bool transmitting; - public: - HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x); - void begin(unsigned long); - void begin(unsigned long, uint8_t); - void end(); - virtual int available(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - inline size_t write(unsigned long n) { return write((uint8_t)n); } - inline size_t write(long n) { return write((uint8_t)n); } - inline size_t write(unsigned int n) { return write((uint8_t)n); } - inline size_t write(int n) { return write((uint8_t)n); } - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); -}; - -// Define config for Serial.begin(baud, config); -#define SERIAL_5N1 0x00 -#define SERIAL_6N1 0x02 -#define SERIAL_7N1 0x04 -#define SERIAL_8N1 0x06 -#define SERIAL_5N2 0x08 -#define SERIAL_6N2 0x0A -#define SERIAL_7N2 0x0C -#define SERIAL_8N2 0x0E -#define SERIAL_5E1 0x20 -#define SERIAL_6E1 0x22 -#define SERIAL_7E1 0x24 -#define SERIAL_8E1 0x26 -#define SERIAL_5E2 0x28 -#define SERIAL_6E2 0x2A -#define SERIAL_7E2 0x2C -#define SERIAL_8E2 0x2E -#define SERIAL_5O1 0x30 -#define SERIAL_6O1 0x32 -#define SERIAL_7O1 0x34 -#define SERIAL_8O1 0x36 -#define SERIAL_5O2 0x38 -#define SERIAL_6O2 0x3A -#define SERIAL_7O2 0x3C -#define SERIAL_8O2 0x3E - -#if defined(UBRRH) || defined(UBRR0H) - extern HardwareSerial Serial; -#elif defined(USBCON) - #include "USBAPI.h" -// extern HardwareSerial Serial_; -#endif -#if defined(UBRR1H) - extern HardwareSerial Serial1; -#endif -#if defined(UBRR2H) - extern HardwareSerial Serial2; -#endif -#if defined(UBRR3H) - extern HardwareSerial Serial3; -#endif - -extern void serialEventRun(void) __attribute__((weak)); - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.cpp deleted file mode 100644 index fe3deb77a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.cpp +++ /dev/null @@ -1,56 +0,0 @@ - -#include -#include - -IPAddress::IPAddress() -{ - memset(_address, 0, sizeof(_address)); -} - -IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet) -{ - _address[0] = first_octet; - _address[1] = second_octet; - _address[2] = third_octet; - _address[3] = fourth_octet; -} - -IPAddress::IPAddress(uint32_t address) -{ - memcpy(_address, &address, sizeof(_address)); -} - -IPAddress::IPAddress(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); -} - -IPAddress& IPAddress::operator=(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); - return *this; -} - -IPAddress& IPAddress::operator=(uint32_t address) -{ - memcpy(_address, (const uint8_t *)&address, sizeof(_address)); - return *this; -} - -bool IPAddress::operator==(const uint8_t* addr) -{ - return memcmp(addr, _address, sizeof(_address)) == 0; -} - -size_t IPAddress::printTo(Print& p) const -{ - size_t n = 0; - for (int i =0; i < 3; i++) - { - n += p.print(_address[i], DEC); - n += p.print('.'); - } - n += p.print(_address[3], DEC); - return n; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.h deleted file mode 100644 index 2585aec0e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/IPAddress.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * - * MIT License: - * Copyright (c) 2011 Adrian McEwen - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * adrianm@mcqn.com 1/1/2011 - */ - -#ifndef IPAddress_h -#define IPAddress_h - -#include - -// A class to make it easier to handle and pass around IP addresses - -class IPAddress : public Printable { -private: - uint8_t _address[4]; // IPv4 address - // Access the raw byte array containing the address. Because this returns a pointer - // to the internal structure rather than a copy of the address this function should only - // be used when you know that the usage of the returned uint8_t* will be transient and not - // stored. - uint8_t* raw_address() { return _address; }; - -public: - // Constructors - IPAddress(); - IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet); - IPAddress(uint32_t address); - IPAddress(const uint8_t *address); - - // Overloaded cast operator to allow IPAddress objects to be used where a pointer - // to a four-byte uint8_t array is expected - operator uint32_t() { return *((uint32_t*)_address); }; - bool operator==(const IPAddress& addr) { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); }; - bool operator==(const uint8_t* addr); - - // Overloaded index operator to allow getting and setting individual octets of the address - uint8_t operator[](int index) const { return _address[index]; }; - uint8_t& operator[](int index) { return _address[index]; }; - - // Overloaded copy operators to allow initialisation of IPAddress objects from other types - IPAddress& operator=(const uint8_t *address); - IPAddress& operator=(uint32_t address); - - virtual size_t printTo(Print& p) const; - - friend class EthernetClass; - friend class UDP; - friend class Client; - friend class Server; - friend class DhcpClass; - friend class DNSClient; -}; - -const IPAddress INADDR_NONE(0,0,0,0); - - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Platform.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Platform.h deleted file mode 100644 index 8b8f74277..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Platform.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef __PLATFORM_H__ -#define __PLATFORM_H__ - -#include -#include -#include -#include -#include - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -#include "Arduino.h" - -#if defined(USBCON) - #include "USBDesc.h" - #include "USBCore.h" - #include "USBAPI.h" -#endif /* if defined(USBCON) */ - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.cpp deleted file mode 100644 index 53961ec47..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.cpp +++ /dev/null @@ -1,268 +0,0 @@ -/* - Print.cpp - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 - */ - -#include -#include -#include -#include -#include "Arduino.h" - -#include "Print.h" - -// Public Methods ////////////////////////////////////////////////////////////// - -/* default implementation: may be overridden */ -size_t Print::write(const uint8_t *buffer, size_t size) -{ - size_t n = 0; - while (size--) { - n += write(*buffer++); - } - return n; -} - -size_t Print::print(const __FlashStringHelper *ifsh) -{ - const char PROGMEM *p = (const char PROGMEM *)ifsh; - size_t n = 0; - while (1) { - unsigned char c = pgm_read_byte(p++); - if (c == 0) break; - n += write(c); - } - return n; -} - -size_t Print::print(const String &s) -{ - size_t n = 0; - for (uint16_t i = 0; i < s.length(); i++) { - n += write(s[i]); - } - return n; -} - -size_t Print::print(const char str[]) -{ - return write(str); -} - -size_t Print::print(char c) -{ - return write(c); -} - -size_t Print::print(unsigned char b, int base) -{ - return print((unsigned long) b, base); -} - -size_t Print::print(int n, int base) -{ - return print((long) n, base); -} - -size_t Print::print(unsigned int n, int base) -{ - return print((unsigned long) n, base); -} - -size_t Print::print(long n, int base) -{ - if (base == 0) { - return write(n); - } else if (base == 10) { - if (n < 0) { - int t = print('-'); - n = -n; - return printNumber(n, 10) + t; - } - return printNumber(n, 10); - } else { - return printNumber(n, base); - } -} - -size_t Print::print(unsigned long n, int base) -{ - if (base == 0) return write(n); - else return printNumber(n, base); -} - -size_t Print::print(double n, int digits) -{ - return printFloat(n, digits); -} - -size_t Print::println(const __FlashStringHelper *ifsh) -{ - size_t n = print(ifsh); - n += println(); - return n; -} - -size_t Print::print(const Printable& x) -{ - return x.printTo(*this); -} - -size_t Print::println(void) -{ - size_t n = print('\r'); - n += print('\n'); - return n; -} - -size_t Print::println(const String &s) -{ - size_t n = print(s); - n += println(); - return n; -} - -size_t Print::println(const char c[]) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(char c) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(unsigned char b, int base) -{ - size_t n = print(b, base); - n += println(); - return n; -} - -size_t Print::println(int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(double num, int digits) -{ - size_t n = print(num, digits); - n += println(); - return n; -} - -size_t Print::println(const Printable& x) -{ - size_t n = print(x); - n += println(); - return n; -} - -// Private Methods ///////////////////////////////////////////////////////////// - -size_t Print::printNumber(unsigned long n, uint8_t base) { - char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte. - char *str = &buf[sizeof(buf) - 1]; - - *str = '\0'; - - // prevent crash if called with base == 1 - if (base < 2) base = 10; - - do { - unsigned long m = n; - n /= base; - char c = m - base * n; - *--str = c < 10 ? c + '0' : c + 'A' - 10; - } while(n); - - return write(str); -} - -size_t Print::printFloat(double number, uint8_t digits) -{ - size_t n = 0; - - if (isnan(number)) return print("nan"); - if (isinf(number)) return print("inf"); - if (number > 4294967040.0) return print ("ovf"); // constant determined empirically - if (number <-4294967040.0) return print ("ovf"); // constant determined empirically - - // Handle negative numbers - if (number < 0.0) - { - n += 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 0) { - n += print("."); - } - - // Extract digits from the remainder one at a time - while (digits-- > 0) - { - remainder *= 10.0; - int toPrint = int(remainder); - n += print(toPrint); - remainder -= toPrint; - } - - return n; -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.h deleted file mode 100644 index dc7615087..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Print.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - Print.h - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 Print_h -#define Print_h - -#include -#include // for size_t - -#include "WString.h" -#include "Printable.h" - -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 - -class Print -{ - private: - int write_error; - size_t printNumber(unsigned long, uint8_t); - size_t printFloat(double, uint8_t); - protected: - void setWriteError(int err = 1) { write_error = err; } - public: - Print() : write_error(0) {} - - int getWriteError() { return write_error; } - void clearWriteError() { setWriteError(0); } - - virtual size_t write(uint8_t) = 0; - size_t write(const char *str) { - if (str == NULL) return 0; - return write((const uint8_t *)str, strlen(str)); - } - virtual size_t write(const uint8_t *buffer, size_t size); - - size_t print(const __FlashStringHelper *); - size_t print(const String &); - size_t print(const char[]); - size_t print(char); - size_t print(unsigned char, int = DEC); - size_t print(int, int = DEC); - size_t print(unsigned int, int = DEC); - size_t print(long, int = DEC); - size_t print(unsigned long, int = DEC); - size_t print(double, int = 2); - size_t print(const Printable&); - - size_t println(const __FlashStringHelper *); - size_t println(const String &s); - size_t println(const char[]); - size_t println(char); - size_t println(unsigned char, int = DEC); - size_t println(int, int = DEC); - size_t println(unsigned int, int = DEC); - size_t println(long, int = DEC); - size_t println(unsigned long, int = DEC); - size_t println(double, int = 2); - size_t println(const Printable&); - size_t println(void); -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Printable.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Printable.h deleted file mode 100644 index d03c9af62..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Printable.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Printable.h - Interface class that allows printing of complex types - Copyright (c) 2011 Adrian McEwen. 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 Printable_h -#define Printable_h - -#include - -class Print; - -/** The Printable class provides a way for new classes to allow themselves to be printed. - By deriving from Printable and implementing the printTo method, it will then be possible - for users to print out instances of this class by passing them into the usual - Print::print and Print::println methods. -*/ - -class Printable -{ - public: - virtual size_t printTo(Print& p) const = 0; -}; - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Server.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Server.h deleted file mode 100644 index 9674c7626..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Server.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef server_h -#define server_h - -class Server : public Print { -public: - virtual void begin() =0; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.cpp deleted file mode 100644 index aafb7fcf9..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/* - Stream.cpp - adds parsing methods to Stream class - Copyright (c) 2008 David A. Mellis. 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 - - Created July 2011 - parsing functions based on TextFinder library by Michael Margolis - */ - -#include "Arduino.h" -#include "Stream.h" - -#define PARSE_TIMEOUT 1000 // default number of milli-seconds to wait -#define NO_SKIP_CHAR 1 // a magic char not found in a valid ASCII numeric field - -// private method to read stream with timeout -int Stream::timedRead() -{ - int c; - _startMillis = millis(); - do { - c = read(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// private method to peek stream with timeout -int Stream::timedPeek() -{ - int c; - _startMillis = millis(); - do { - c = peek(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// returns peek of the next digit in the stream or -1 if timeout -// discards non-numeric characters -int Stream::peekNextDigit() -{ - int c; - while (1) { - c = timedPeek(); - if (c < 0) return c; // timeout - if (c == '-') return c; - if (c >= '0' && c <= '9') return c; - read(); // discard non-numeric - } -} - -// Public Methods -////////////////////////////////////////////////////////////// - -void Stream::setTimeout(unsigned long timeout) // sets the maximum number of milliseconds to wait -{ - _timeout = timeout; -} - - // find returns true if the target string is found -bool Stream::find(char *target) -{ - return findUntil(target, NULL); -} - -// reads data from the stream until the target string of given length is found -// returns true if target string is found, false if timed out -bool Stream::find(char *target, size_t length) -{ - return findUntil(target, length, NULL, 0); -} - -// as find but search ends if the terminator string is found -bool Stream::findUntil(char *target, char *terminator) -{ - return findUntil(target, strlen(target), terminator, strlen(terminator)); -} - -// reads data from the stream until the target string of the given length is found -// search terminated if the terminator string is found -// returns true if target string is found, false if terminated or timed out -bool Stream::findUntil(char *target, size_t targetLen, char *terminator, size_t termLen) -{ - size_t index = 0; // maximum target string length is 64k bytes! - size_t termIndex = 0; - int c; - - if( *target == 0) - return true; // return true if target is a null string - while( (c = timedRead()) > 0){ - - if(c != target[index]) - index = 0; // reset index if any char does not match - - if( c == target[index]){ - //////Serial.print("found "); Serial.write(c); Serial.print("index now"); Serial.println(index+1); - if(++index >= targetLen){ // return true if all chars in the target match - return true; - } - } - - if(termLen > 0 && c == terminator[termIndex]){ - if(++termIndex >= termLen) - return false; // return false if terminate string found before target string - } - else - termIndex = 0; - } - return false; -} - - -// returns the first valid (long) integer value from the current position. -// initial characters that are not digits (or the minus sign) are skipped -// function is terminated by the first character that is not a digit. -long Stream::parseInt() -{ - return parseInt(NO_SKIP_CHAR); // terminate on first non-digit character (or timeout) -} - -// as above but a given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -long Stream::parseInt(char skipChar) -{ - boolean isNegative = false; - long value = 0; - int c; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore this charactor - else if(c == '-') - isNegative = true; - else if(c >= '0' && c <= '9') // is c a digit? - value = value * 10 + c - '0'; - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == skipChar ); - - if(isNegative) - value = -value; - return value; -} - - -// as parseInt but returns a floating point value -float Stream::parseFloat() -{ - return parseFloat(NO_SKIP_CHAR); -} - -// as above but the given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -float Stream::parseFloat(char skipChar){ - boolean isNegative = false; - boolean isFraction = false; - long value = 0; - char c; - float fraction = 1.0; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore - else if(c == '-') - isNegative = true; - else if (c == '.') - isFraction = true; - else if(c >= '0' && c <= '9') { // is c a digit? - value = value * 10 + c - '0'; - if(isFraction) - fraction *= 0.1; - } - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == '.' || c == skipChar ); - - if(isNegative) - value = -value; - if(isFraction) - return value * fraction; - else - return value; -} - -// read characters from stream into buffer -// terminates if length characters have been read, or timeout (see setTimeout) -// returns the number of characters placed in the buffer -// the buffer is NOT null terminated. -// -size_t Stream::readBytes(char *buffer, size_t length) -{ - size_t count = 0; - while (count < length) { - int c = timedRead(); - if (c < 0) break; - *buffer++ = (char)c; - count++; - } - return count; -} - - -// as readBytes with terminator character -// terminates if length characters have been read, timeout, or if the terminator character detected -// returns the number of characters placed in the buffer (0 means no valid data found) - -size_t Stream::readBytesUntil(char terminator, char *buffer, size_t length) -{ - if (length < 1) return 0; - size_t index = 0; - while (index < length) { - int c = timedRead(); - if (c < 0 || c == terminator) break; - *buffer++ = (char)c; - index++; - } - return index; // return number of characters, not including null terminator -} - -String Stream::readString() -{ - String ret; - int c = timedRead(); - while (c >= 0) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - -String Stream::readStringUntil(char terminator) -{ - String ret; - int c = timedRead(); - while (c >= 0 && c != terminator) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.h deleted file mode 100644 index 58bbf752f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Stream.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - Stream.h - base class for character-based streams. - Copyright (c) 2010 David A. Mellis. 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 - - parsing functions based on TextFinder library by Michael Margolis -*/ - -#ifndef Stream_h -#define Stream_h - -#include -#include "Print.h" - -// compatability macros for testing -/* -#define getInt() parseInt() -#define getInt(skipChar) parseInt(skipchar) -#define getFloat() parseFloat() -#define getFloat(skipChar) parseFloat(skipChar) -#define getString( pre_string, post_string, buffer, length) -readBytesBetween( pre_string, terminator, buffer, length) -*/ - -class Stream : public Print -{ - private: - unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read - unsigned long _startMillis; // used for timeout measurement - int timedRead(); // private method to read stream with timeout - int timedPeek(); // private method to peek stream with timeout - int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout - - public: - virtual int available() = 0; - virtual int read() = 0; - virtual int peek() = 0; - virtual void flush() = 0; - - Stream() {_timeout=1000;} - -// parsing methods - - void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second - - bool find(char *target); // reads data from the stream until the target string is found - // returns true if target string is found, false if timed out (see setTimeout) - - bool find(char *target, size_t length); // reads data from the stream until the target string of given length is found - // returns true if target string is found, false if timed out - - bool findUntil(char *target, char *terminator); // as find but search ends if the terminator string is found - - bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen); // as above but search ends if the terminate string is found - - - long parseInt(); // returns the first valid (long) integer value from the current position. - // initial characters that are not digits (or the minus sign) are skipped - // integer is terminated by the first character that is not a digit. - - float parseFloat(); // float version of parseInt - - size_t readBytes( char *buffer, size_t length); // read chars from stream into buffer - // terminates if length characters have been read or timeout (see setTimeout) - // returns the number of characters placed in the buffer (0 means no valid data found) - - size_t readBytesUntil( char terminator, char *buffer, size_t length); // as readBytes with terminator character - // terminates if length characters have been read, timeout, or if the terminator character detected - // returns the number of characters placed in the buffer (0 means no valid data found) - - // Arduino String functions to be added here - String readString(); - String readStringUntil(char terminator); - - protected: - long parseInt(char skipChar); // as above but the given skipChar is ignored - // as above but the given skipChar is ignored - // this allows format characters (typically commas) in values to be ignored - - float parseFloat(char skipChar); // as above but the given skipChar is ignored -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Tone.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Tone.cpp deleted file mode 100644 index 9bb6fe721..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Tone.cpp +++ /dev/null @@ -1,616 +0,0 @@ -/* Tone.cpp - - A Tone Generator Library - - Written by Brett Hagman - - 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 - -Version Modified By Date Comments -------- ----------- -------- -------- -0001 B Hagman 09/08/02 Initial coding -0002 B Hagman 09/08/18 Multiple pins -0003 B Hagman 09/08/18 Moved initialization from constructor to begin() -0004 B Hagman 09/09/26 Fixed problems with ATmega8 -0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers - 09/11/25 Changed pin toggle method to XOR - 09/11/25 Fixed timer0 from being excluded -0006 D Mellis 09/12/29 Replaced objects with functions -0007 M Sproul 10/08/29 Changed #ifdefs from cpu to register -0008 S Kanemoto 12/06/22 Fixed for Leonardo by @maris_HY -*************************************************/ - -#include -#include -#include "Arduino.h" -#include "pins_arduino.h" - -#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__) -#define TCCR2A TCCR2 -#define TCCR2B TCCR2 -#define COM2A1 COM21 -#define COM2A0 COM20 -#define OCR2A OCR2 -#define TIMSK2 TIMSK -#define OCIE2A OCIE2 -#define TIMER2_COMPA_vect TIMER2_COMP_vect -#define TIMSK1 TIMSK -#endif - -// timerx_toggle_count: -// > 0 - duration specified -// = 0 - stopped -// < 0 - infinitely (until stop() method called, or new play() called) - -#if !defined(__AVR_ATmega8__) -volatile long timer0_toggle_count; -volatile uint8_t *timer0_pin_port; -volatile uint8_t timer0_pin_mask; -#endif - -volatile long timer1_toggle_count; -volatile uint8_t *timer1_pin_port; -volatile uint8_t timer1_pin_mask; -volatile long timer2_toggle_count; -volatile uint8_t *timer2_pin_port; -volatile uint8_t timer2_pin_mask; - -#if defined(TIMSK3) -volatile long timer3_toggle_count; -volatile uint8_t *timer3_pin_port; -volatile uint8_t timer3_pin_mask; -#endif - -#if defined(TIMSK4) -volatile long timer4_toggle_count; -volatile uint8_t *timer4_pin_port; -volatile uint8_t timer4_pin_mask; -#endif - -#if defined(TIMSK5) -volatile long timer5_toggle_count; -volatile uint8_t *timer5_pin_port; -volatile uint8_t timer5_pin_mask; -#endif - - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ }; - -#elif defined(__AVR_ATmega8__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#elif defined(__AVR_ATmega32U4__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER3 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 3 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#else - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -// Leave timer 0 to last. -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ }; - -#endif - - - -static int8_t toneBegin(uint8_t _pin) -{ - int8_t _timer = -1; - - // if we're already using the pin, the timer should be configured. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - return pgm_read_byte(tone_pin_to_timer_PGM + i); - } - } - - // search for an unused timer. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == 255) { - tone_pins[i] = _pin; - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - break; - } - } - - if (_timer != -1) - { - // Set timer specific stuff - // All timers in CTC mode - // 8 bit timers will require changing prescalar values, - // whereas 16 bit timers are set to either ck/1 or ck/64 prescalar - switch (_timer) - { - #if defined(TCCR0A) && defined(TCCR0B) - case 0: - // 8 bit timer - TCCR0A = 0; - TCCR0B = 0; - bitWrite(TCCR0A, WGM01, 1); - bitWrite(TCCR0B, CS00, 1); - timer0_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer0_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12) - case 1: - // 16 bit timer - TCCR1A = 0; - TCCR1B = 0; - bitWrite(TCCR1B, WGM12, 1); - bitWrite(TCCR1B, CS10, 1); - timer1_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer1_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR2A) && defined(TCCR2B) - case 2: - // 8 bit timer - TCCR2A = 0; - TCCR2B = 0; - bitWrite(TCCR2A, WGM21, 1); - bitWrite(TCCR2B, CS20, 1); - timer2_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer2_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR3A) && defined(TCCR3B) && defined(TIMSK3) - case 3: - // 16 bit timer - TCCR3A = 0; - TCCR3B = 0; - bitWrite(TCCR3B, WGM32, 1); - bitWrite(TCCR3B, CS30, 1); - timer3_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer3_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR4A) && defined(TCCR4B) && defined(TIMSK4) - case 4: - // 16 bit timer - TCCR4A = 0; - TCCR4B = 0; - #if defined(WGM42) - bitWrite(TCCR4B, WGM42, 1); - #elif defined(CS43) - #warning this may not be correct - // atmega32u4 - bitWrite(TCCR4B, CS43, 1); - #endif - bitWrite(TCCR4B, CS40, 1); - timer4_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer4_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR5A) && defined(TCCR5B) && defined(TIMSK5) - case 5: - // 16 bit timer - TCCR5A = 0; - TCCR5B = 0; - bitWrite(TCCR5B, WGM52, 1); - bitWrite(TCCR5B, CS50, 1); - timer5_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer5_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - } - } - - return _timer; -} - - - -// frequency (in hertz) and duration (in milliseconds). - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration) -{ - uint8_t prescalarbits = 0b001; - long toggle_count = 0; - uint32_t ocr = 0; - int8_t _timer; - - _timer = toneBegin(_pin); - - if (_timer >= 0) - { - // Set the pinMode as OUTPUT - pinMode(_pin, OUTPUT); - - // if we are using an 8 bit timer, scan through prescalars to find the best fit - if (_timer == 0 || _timer == 2) - { - ocr = F_CPU / frequency / 2 - 1; - prescalarbits = 0b001; // ck/1: same for both timers - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 8 - 1; - prescalarbits = 0b010; // ck/8: same for both timers - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 32 - 1; - prescalarbits = 0b011; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = _timer == 0 ? 0b011 : 0b100; - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 128 - 1; - prescalarbits = 0b101; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 256 - 1; - prescalarbits = _timer == 0 ? 0b100 : 0b110; - if (ocr > 255) - { - // can't do any better than /1024 - ocr = F_CPU / frequency / 2 / 1024 - 1; - prescalarbits = _timer == 0 ? 0b101 : 0b111; - } - } - } - } - -#if defined(TCCR0B) - if (_timer == 0) - { - TCCR0B = prescalarbits; - } - else -#endif -#if defined(TCCR2B) - { - TCCR2B = prescalarbits; - } -#else - { - // dummy place holder to make the above ifdefs work - } -#endif - } - else - { - // two choices for the 16 bit timers: ck/1 or ck/64 - ocr = F_CPU / frequency / 2 - 1; - - prescalarbits = 0b001; - if (ocr > 0xffff) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = 0b011; - } - - if (_timer == 1) - { -#if defined(TCCR1B) - TCCR1B = (TCCR1B & 0b11111000) | prescalarbits; -#endif - } -#if defined(TCCR3B) - else if (_timer == 3) - TCCR3B = (TCCR3B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR4B) - else if (_timer == 4) - TCCR4B = (TCCR4B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR5B) - else if (_timer == 5) - TCCR5B = (TCCR5B & 0b11111000) | prescalarbits; -#endif - - } - - - // Calculate the toggle count - if (duration > 0) - { - toggle_count = 2 * frequency * duration / 1000; - } - else - { - toggle_count = -1; - } - - // Set the OCR for the given timer, - // set the toggle count, - // then turn on the interrupts - switch (_timer) - { - -#if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A) - case 0: - OCR0A = ocr; - timer0_toggle_count = toggle_count; - bitWrite(TIMSK0, OCIE0A, 1); - break; -#endif - - case 1: -#if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A) - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK1, OCIE1A, 1); -#elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A) - // this combination is for at least the ATmega32 - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK, OCIE1A, 1); -#endif - break; - -#if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A) - case 2: - OCR2A = ocr; - timer2_toggle_count = toggle_count; - bitWrite(TIMSK2, OCIE2A, 1); - break; -#endif - -#if defined(TIMSK3) - case 3: - OCR3A = ocr; - timer3_toggle_count = toggle_count; - bitWrite(TIMSK3, OCIE3A, 1); - break; -#endif - -#if defined(TIMSK4) - case 4: - OCR4A = ocr; - timer4_toggle_count = toggle_count; - bitWrite(TIMSK4, OCIE4A, 1); - break; -#endif - -#if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A) - case 5: - OCR5A = ocr; - timer5_toggle_count = toggle_count; - bitWrite(TIMSK5, OCIE5A, 1); - break; -#endif - - } - } -} - - -// XXX: this function only works properly for timer 2 (the only one we use -// currently). for the others, it should end the tone, but won't restore -// proper PWM functionality for the timer. -void disableTimer(uint8_t _timer) -{ - switch (_timer) - { - case 0: - #if defined(TIMSK0) - TIMSK0 = 0; - #elif defined(TIMSK) - TIMSK = 0; // atmega32 - #endif - break; - -#if defined(TIMSK1) && defined(OCIE1A) - case 1: - bitWrite(TIMSK1, OCIE1A, 0); - break; -#endif - - case 2: - #if defined(TIMSK2) && defined(OCIE2A) - bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt - #endif - #if defined(TCCR2A) && defined(WGM20) - TCCR2A = (1 << WGM20); - #endif - #if defined(TCCR2B) && defined(CS22) - TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22); - #endif - #if defined(OCR2A) - OCR2A = 0; - #endif - break; - -#if defined(TIMSK3) - case 3: - TIMSK3 = 0; - break; -#endif - -#if defined(TIMSK4) - case 4: - TIMSK4 = 0; - break; -#endif - -#if defined(TIMSK5) - case 5: - TIMSK5 = 0; - break; -#endif - } -} - - -void noTone(uint8_t _pin) -{ - int8_t _timer = -1; - - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - tone_pins[i] = 255; - } - } - - disableTimer(_timer); - - digitalWrite(_pin, 0); -} - -#ifdef USE_TIMER0 -ISR(TIMER0_COMPA_vect) -{ - if (timer0_toggle_count != 0) - { - // toggle the pin - *timer0_pin_port ^= timer0_pin_mask; - - if (timer0_toggle_count > 0) - timer0_toggle_count--; - } - else - { - disableTimer(0); - *timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER1 -ISR(TIMER1_COMPA_vect) -{ - if (timer1_toggle_count != 0) - { - // toggle the pin - *timer1_pin_port ^= timer1_pin_mask; - - if (timer1_toggle_count > 0) - timer1_toggle_count--; - } - else - { - disableTimer(1); - *timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER2 -ISR(TIMER2_COMPA_vect) -{ - - if (timer2_toggle_count != 0) - { - // toggle the pin - *timer2_pin_port ^= timer2_pin_mask; - - if (timer2_toggle_count > 0) - timer2_toggle_count--; - } - else - { - // need to call noTone() so that the tone_pins[] entry is reset, so the - // timer gets initialized next time we call tone(). - // XXX: this assumes timer 2 is always the first one used. - noTone(tone_pins[0]); -// disableTimer(2); -// *timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER3 -ISR(TIMER3_COMPA_vect) -{ - if (timer3_toggle_count != 0) - { - // toggle the pin - *timer3_pin_port ^= timer3_pin_mask; - - if (timer3_toggle_count > 0) - timer3_toggle_count--; - } - else - { - disableTimer(3); - *timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER4 -ISR(TIMER4_COMPA_vect) -{ - if (timer4_toggle_count != 0) - { - // toggle the pin - *timer4_pin_port ^= timer4_pin_mask; - - if (timer4_toggle_count > 0) - timer4_toggle_count--; - } - else - { - disableTimer(4); - *timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER5 -ISR(TIMER5_COMPA_vect) -{ - if (timer5_toggle_count != 0) - { - // toggle the pin - *timer5_pin_port ^= timer5_pin_mask; - - if (timer5_toggle_count > 0) - timer5_toggle_count--; - } - else - { - disableTimer(5); - *timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop - } -} -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBAPI.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBAPI.h deleted file mode 100644 index eb2e5937d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBAPI.h +++ /dev/null @@ -1,196 +0,0 @@ - - -#ifndef __USBAPI__ -#define __USBAPI__ - -#if defined(USBCON) - -//================================================================================ -//================================================================================ -// USB - -class USBDevice_ -{ -public: - USBDevice_(); - bool configured(); - - void attach(); - void detach(); // Serial port goes down too... - void poll(); -}; -extern USBDevice_ USBDevice; - -//================================================================================ -//================================================================================ -// Serial over CDC (Serial1 is the physical port) - -class Serial_ : public Stream -{ -private: - ring_buffer *_cdc_rx_buffer; -public: - void begin(uint16_t baud_count); - void end(void); - - virtual int available(void); - virtual void accept(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); -}; -extern Serial_ Serial; - -//================================================================================ -//================================================================================ -// Mouse - -#define MOUSE_LEFT 1 -#define MOUSE_RIGHT 2 -#define MOUSE_MIDDLE 4 -#define MOUSE_ALL (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE) - -class Mouse_ -{ -private: - uint8_t _buttons; - void buttons(uint8_t b); -public: - Mouse_(void); - void begin(void); - void end(void); - void click(uint8_t b = MOUSE_LEFT); - void move(signed char x, signed char y, signed char wheel = 0); - void press(uint8_t b = MOUSE_LEFT); // press LEFT by default - void release(uint8_t b = MOUSE_LEFT); // release LEFT by default - bool isPressed(uint8_t b = MOUSE_LEFT); // check LEFT by default -}; -extern Mouse_ Mouse; - -//================================================================================ -//================================================================================ -// Keyboard - -#define KEY_LEFT_CTRL 0x80 -#define KEY_LEFT_SHIFT 0x81 -#define KEY_LEFT_ALT 0x82 -#define KEY_LEFT_GUI 0x83 -#define KEY_RIGHT_CTRL 0x84 -#define KEY_RIGHT_SHIFT 0x85 -#define KEY_RIGHT_ALT 0x86 -#define KEY_RIGHT_GUI 0x87 - -#define KEY_UP_ARROW 0xDA -#define KEY_DOWN_ARROW 0xD9 -#define KEY_LEFT_ARROW 0xD8 -#define KEY_RIGHT_ARROW 0xD7 -#define KEY_BACKSPACE 0xB2 -#define KEY_TAB 0xB3 -#define KEY_RETURN 0xB0 -#define KEY_ESC 0xB1 -#define KEY_INSERT 0xD1 -#define KEY_DELETE 0xD4 -#define KEY_PAGE_UP 0xD3 -#define KEY_PAGE_DOWN 0xD6 -#define KEY_HOME 0xD2 -#define KEY_END 0xD5 -#define KEY_CAPS_LOCK 0xC1 -#define KEY_F1 0xC2 -#define KEY_F2 0xC3 -#define KEY_F3 0xC4 -#define KEY_F4 0xC5 -#define KEY_F5 0xC6 -#define KEY_F6 0xC7 -#define KEY_F7 0xC8 -#define KEY_F8 0xC9 -#define KEY_F9 0xCA -#define KEY_F10 0xCB -#define KEY_F11 0xCC -#define KEY_F12 0xCD - -// Low level key report: up to 6 keys and shift, ctrl etc at once -typedef struct -{ - uint8_t modifiers; - uint8_t reserved; - uint8_t keys[6]; -} KeyReport; - -class Keyboard_ : public Print -{ -private: - KeyReport _keyReport; - void sendReport(KeyReport* keys); -public: - Keyboard_(void); - void begin(void); - void end(void); - virtual size_t write(uint8_t k); - virtual size_t press(uint8_t k); - virtual size_t release(uint8_t k); - virtual void releaseAll(void); -}; -extern Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ -// Low level API - -typedef struct -{ - uint8_t bmRequestType; - uint8_t bRequest; - uint8_t wValueL; - uint8_t wValueH; - uint16_t wIndex; - uint16_t wLength; -} Setup; - -//================================================================================ -//================================================================================ -// HID 'Driver' - -int HID_GetInterface(uint8_t* interfaceNum); -int HID_GetDescriptor(int i); -bool HID_Setup(Setup& setup); -void HID_SendReport(uint8_t id, const void* data, int len); - -//================================================================================ -//================================================================================ -// MSC 'Driver' - -int MSC_GetInterface(uint8_t* interfaceNum); -int MSC_GetDescriptor(int i); -bool MSC_Setup(Setup& setup); -bool MSC_Data(uint8_t rx,uint8_t tx); - -//================================================================================ -//================================================================================ -// CSC 'Driver' - -int CDC_GetInterface(uint8_t* interfaceNum); -int CDC_GetDescriptor(int i); -bool CDC_Setup(Setup& setup); - -//================================================================================ -//================================================================================ - -#define TRANSFER_PGM 0x80 -#define TRANSFER_RELEASE 0x40 -#define TRANSFER_ZERO 0x20 - -int USB_SendControl(uint8_t flags, const void* d, int len); -int USB_RecvControl(void* d, int len); - -uint8_t USB_Available(uint8_t ep); -int USB_Send(uint8_t ep, const void* data, int len); // blocking -int USB_Recv(uint8_t ep, void* data, int len); // non-blocking -int USB_Recv(uint8_t ep); // non-blocking -void USB_Flush(uint8_t ep); - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBCore.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBCore.cpp deleted file mode 100644 index d3e017065..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBCore.cpp +++ /dev/null @@ -1,684 +0,0 @@ - - -/* Copyright (c) 2010, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) - -#define EP_TYPE_CONTROL 0x00 -#define EP_TYPE_BULK_IN 0x81 -#define EP_TYPE_BULK_OUT 0x80 -#define EP_TYPE_INTERRUPT_IN 0xC1 -#define EP_TYPE_INTERRUPT_OUT 0xC0 -#define EP_TYPE_ISOCHRONOUS_IN 0x41 -#define EP_TYPE_ISOCHRONOUS_OUT 0x40 - -/** Pulse generation counters to keep track of the number of milliseconds remaining for each pulse type */ -#define TX_RX_LED_PULSE_MS 100 -volatile u8 TxLEDPulse; /**< Milliseconds remaining for data Tx LED pulse */ -volatile u8 RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */ - -//================================================================== -//================================================================== - -extern const u16 STRING_LANGUAGE[] PROGMEM; -extern const u16 STRING_IPRODUCT[] PROGMEM; -extern const u16 STRING_IMANUFACTURER[] PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptor PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptorA PROGMEM; - -const u16 STRING_LANGUAGE[2] = { - (3<<8) | (2+2), - 0x0409 // English -}; - -const u16 STRING_IPRODUCT[17] = { - (3<<8) | (2+2*16), -#if USB_PID == 0x8036 - 'A','r','d','u','i','n','o',' ','L','e','o','n','a','r','d','o' -#elif USB_PID == 0x8037 - 'A','r','d','u','i','n','o',' ','M','i','c','r','o',' ',' ',' ' -#elif USB_PID == 0x803C - 'A','r','d','u','i','n','o',' ','E','s','p','l','o','r','a',' ' -#elif USB_PID == 0x9208 - 'L','i','l','y','P','a','d','U','S','B',' ',' ',' ',' ',' ',' ' -#else - 'U','S','B',' ','I','O',' ','B','o','a','r','d',' ',' ',' ',' ' -#endif -}; - -const u16 STRING_IMANUFACTURER[12] = { - (3<<8) | (2+2*11), -#if USB_VID == 0x2341 - 'A','r','d','u','i','n','o',' ','L','L','C' -#elif USB_VID == 0x1b4f - 'S','p','a','r','k','F','u','n',' ',' ',' ' -#else - 'U','n','k','n','o','w','n',' ',' ',' ',' ' -#endif -}; - -#ifdef CDC_ENABLED -#define DEVICE_CLASS 0x02 -#else -#define DEVICE_CLASS 0x00 -#endif - -// DEVICE DESCRIPTOR -const DeviceDescriptor USB_DeviceDescriptor = - D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -const DeviceDescriptor USB_DeviceDescriptorA = - D_DEVICE(DEVICE_CLASS,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -//================================================================== -//================================================================== - -volatile u8 _usbConfiguration = 0; - -static inline void WaitIN(void) -{ - while (!(UEINTX & (1< len) - n = len; - len -= n; - { - LockEP lock(ep); - if (ep & TRANSFER_ZERO) - { - while (n--) - Send8(0); - } - else if (ep & TRANSFER_PGM) - { - while (n--) - Send8(pgm_read_byte(data++)); - } - else - { - while (n--) - Send8(*data++); - } - if (!ReadWriteAllowed() || ((len == 0) && (ep & TRANSFER_RELEASE))) // Release full buffer - ReleaseTX(); - } - } - TXLED1; // light the TX LED - TxLEDPulse = TX_RX_LED_PULSE_MS; - return r; -} - -extern const u8 _initEndpoints[] PROGMEM; -const u8 _initEndpoints[] = -{ - 0, - -#ifdef CDC_ENABLED - EP_TYPE_INTERRUPT_IN, // CDC_ENDPOINT_ACM - EP_TYPE_BULK_OUT, // CDC_ENDPOINT_OUT - EP_TYPE_BULK_IN, // CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED - EP_TYPE_INTERRUPT_IN // HID_ENDPOINT_INT -#endif -}; - -#define EP_SINGLE_64 0x32 // EP0 -#define EP_DOUBLE_64 0x36 // Other endpoints - -static -void InitEP(u8 index, u8 type, u8 size) -{ - UENUM = index; - UECONX = 1; - UECFG0X = type; - UECFG1X = size; -} - -static -void InitEndpoints() -{ - for (u8 i = 1; i < sizeof(_initEndpoints); i++) - { - UENUM = i; - UECONX = 1; - UECFG0X = pgm_read_byte(_initEndpoints+i); - UECFG1X = EP_DOUBLE_64; - } - UERST = 0x7E; // And reset them - UERST = 0; -} - -// Handle CLASS_INTERFACE requests -static -bool ClassInterfaceRequest(Setup& setup) -{ - u8 i = setup.wIndex; - -#ifdef CDC_ENABLED - if (CDC_ACM_INTERFACE == i) - return CDC_Setup(setup); -#endif - -#ifdef HID_ENABLED - if (HID_INTERFACE == i) - return HID_Setup(setup); -#endif - return false; -} - -int _cmark; -int _cend; -void InitControl(int end) -{ - SetEP(0); - _cmark = 0; - _cend = end; -} - -static -bool SendControl(u8 d) -{ - if (_cmark < _cend) - { - if (!WaitForINOrOUT()) - return false; - Send8(d); - if (!((_cmark + 1) & 0x3F)) - ClearIN(); // Fifo is full, release this packet - } - _cmark++; - return true; -}; - -// Clipped by _cmark/_cend -int USB_SendControl(u8 flags, const void* d, int len) -{ - int sent = len; - const u8* data = (const u8*)d; - bool pgm = flags & TRANSFER_PGM; - while (len--) - { - u8 c = pgm ? pgm_read_byte(data++) : *data++; - if (!SendControl(c)) - return -1; - } - return sent; -} - -// Does not timeout or cross fifo boundaries -// Will only work for transfers <= 64 bytes -// TODO -int USB_RecvControl(void* d, int len) -{ - WaitOUT(); - Recv((u8*)d,len); - ClearOUT(); - return len; -} - -int SendInterfaces() -{ - int total = 0; - u8 interfaces = 0; - -#ifdef CDC_ENABLED - total = CDC_GetInterface(&interfaces); -#endif - -#ifdef HID_ENABLED - total += HID_GetInterface(&interfaces); -#endif - - return interfaces; -} - -// Construct a dynamic configuration descriptor -// This really needs dynamic endpoint allocation etc -// TODO -static -bool SendConfiguration(int maxlen) -{ - // Count and measure interfaces - InitControl(0); - int interfaces = SendInterfaces(); - ConfigDescriptor config = D_CONFIG(_cmark + sizeof(ConfigDescriptor),interfaces); - - // Now send them - InitControl(maxlen); - USB_SendControl(0,&config,sizeof(ConfigDescriptor)); - SendInterfaces(); - return true; -} - -u8 _cdcComposite = 0; - -static -bool SendDescriptor(Setup& setup) -{ - u8 t = setup.wValueH; - if (USB_CONFIGURATION_DESCRIPTOR_TYPE == t) - return SendConfiguration(setup.wLength); - - InitControl(setup.wLength); -#ifdef HID_ENABLED - if (HID_REPORT_DESCRIPTOR_TYPE == t) - return HID_GetDescriptor(t); -#endif - - u8 desc_length = 0; - const u8* desc_addr = 0; - if (USB_DEVICE_DESCRIPTOR_TYPE == t) - { - if (setup.wLength == 8) - _cdcComposite = 1; - desc_addr = _cdcComposite ? (const u8*)&USB_DeviceDescriptorA : (const u8*)&USB_DeviceDescriptor; - } - else if (USB_STRING_DESCRIPTOR_TYPE == t) - { - if (setup.wValueL == 0) - desc_addr = (const u8*)&STRING_LANGUAGE; - else if (setup.wValueL == IPRODUCT) - desc_addr = (const u8*)&STRING_IPRODUCT; - else if (setup.wValueL == IMANUFACTURER) - desc_addr = (const u8*)&STRING_IMANUFACTURER; - else - return false; - } - - if (desc_addr == 0) - return false; - if (desc_length == 0) - desc_length = pgm_read_byte(desc_addr); - - USB_SendControl(TRANSFER_PGM,desc_addr,desc_length); - return true; -} - -// Endpoint 0 interrupt -ISR(USB_COM_vect) -{ - SetEP(0); - if (!ReceivedSetupInt()) - return; - - Setup setup; - Recv((u8*)&setup,8); - ClearSetupInt(); - - u8 requestType = setup.bmRequestType; - if (requestType & REQUEST_DEVICETOHOST) - WaitIN(); - else - ClearIN(); - - bool ok = true; - if (REQUEST_STANDARD == (requestType & REQUEST_TYPE)) - { - // Standard Requests - u8 r = setup.bRequest; - if (GET_STATUS == r) - { - Send8(0); // TODO - Send8(0); - } - else if (CLEAR_FEATURE == r) - { - } - else if (SET_FEATURE == r) - { - } - else if (SET_ADDRESS == r) - { - WaitIN(); - UDADDR = setup.wValueL | (1<> 8) & 0xFF) - -#define CDC_V1_10 0x0110 -#define CDC_COMMUNICATION_INTERFACE_CLASS 0x02 - -#define CDC_CALL_MANAGEMENT 0x01 -#define CDC_ABSTRACT_CONTROL_MODEL 0x02 -#define CDC_HEADER 0x00 -#define CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02 -#define CDC_UNION 0x06 -#define CDC_CS_INTERFACE 0x24 -#define CDC_CS_ENDPOINT 0x25 -#define CDC_DATA_INTERFACE_CLASS 0x0A - -#define MSC_SUBCLASS_SCSI 0x06 -#define MSC_PROTOCOL_BULK_ONLY 0x50 - -#define HID_HID_DESCRIPTOR_TYPE 0x21 -#define HID_REPORT_DESCRIPTOR_TYPE 0x22 -#define HID_PHYSICAL_DESCRIPTOR_TYPE 0x23 - - -// Device -typedef struct { - u8 len; // 18 - u8 dtype; // 1 USB_DEVICE_DESCRIPTOR_TYPE - u16 usbVersion; // 0x200 - u8 deviceClass; - u8 deviceSubClass; - u8 deviceProtocol; - u8 packetSize0; // Packet 0 - u16 idVendor; - u16 idProduct; - u16 deviceVersion; // 0x100 - u8 iManufacturer; - u8 iProduct; - u8 iSerialNumber; - u8 bNumConfigurations; -} DeviceDescriptor; - -// Config -typedef struct { - u8 len; // 9 - u8 dtype; // 2 - u16 clen; // total length - u8 numInterfaces; - u8 config; - u8 iconfig; - u8 attributes; - u8 maxPower; -} ConfigDescriptor; - -// String - -// Interface -typedef struct -{ - u8 len; // 9 - u8 dtype; // 4 - u8 number; - u8 alternate; - u8 numEndpoints; - u8 interfaceClass; - u8 interfaceSubClass; - u8 protocol; - u8 iInterface; -} InterfaceDescriptor; - -// Endpoint -typedef struct -{ - u8 len; // 7 - u8 dtype; // 5 - u8 addr; - u8 attr; - u16 packetSize; - u8 interval; -} EndpointDescriptor; - -// Interface Association Descriptor -// Used to bind 2 interfaces together in CDC compostite device -typedef struct -{ - u8 len; // 8 - u8 dtype; // 11 - u8 firstInterface; - u8 interfaceCount; - u8 functionClass; - u8 funtionSubClass; - u8 functionProtocol; - u8 iInterface; -} IADDescriptor; - -// CDC CS interface descriptor -typedef struct -{ - u8 len; // 5 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; - u8 d1; -} CDCCSInterfaceDescriptor; - -typedef struct -{ - u8 len; // 4 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; -} CDCCSInterfaceDescriptor4; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; - u8 bDataInterface; -} CMFunctionalDescriptor; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; -} ACMFunctionalDescriptor; - -typedef struct -{ - // IAD - IADDescriptor iad; // Only needed on compound device - - // Control - InterfaceDescriptor cif; // - CDCCSInterfaceDescriptor header; - CMFunctionalDescriptor callManagement; // Call Management - ACMFunctionalDescriptor controlManagement; // ACM - CDCCSInterfaceDescriptor functionalDescriptor; // CDC_UNION - EndpointDescriptor cifin; - - // Data - InterfaceDescriptor dif; - EndpointDescriptor in; - EndpointDescriptor out; -} CDCDescriptor; - -typedef struct -{ - InterfaceDescriptor msc; - EndpointDescriptor in; - EndpointDescriptor out; -} MSCDescriptor; - -typedef struct -{ - u8 len; // 9 - u8 dtype; // 0x21 - u8 addr; - u8 versionL; // 0x101 - u8 versionH; // 0x101 - u8 country; - u8 desctype; // 0x22 report - u8 descLenL; - u8 descLenH; -} HIDDescDescriptor; - -typedef struct -{ - InterfaceDescriptor hid; - HIDDescDescriptor desc; - EndpointDescriptor in; -} HIDDescriptor; - - -#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \ - { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs } - -#define D_CONFIG(_totalLength,_interfaces) \ - { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED, USB_CONFIG_POWER_MA(500) } - -#define D_INTERFACE(_n,_numEndpoints,_class,_subClass,_protocol) \ - { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 } - -#define D_ENDPOINT(_addr,_attr,_packetSize, _interval) \ - { 7, 5, _addr,_attr,_packetSize, _interval } - -#define D_IAD(_firstInterface, _count, _class, _subClass, _protocol) \ - { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 } - -#define D_HIDREPORT(_descriptorLength) \ - { 9, 0x21, 0x1, 0x1, 0, 1, 0x22, _descriptorLength, 0 } - -#define D_CDCCS(_subtype,_d0,_d1) { 5, 0x24, _subtype, _d0, _d1 } -#define D_CDCCS4(_subtype,_d0) { 4, 0x24, _subtype, _d0 } - - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBDesc.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBDesc.h deleted file mode 100644 index 900713e0f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/USBDesc.h +++ /dev/null @@ -1,63 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#define CDC_ENABLED -#define HID_ENABLED - - -#ifdef CDC_ENABLED -#define CDC_INTERFACE_COUNT 2 -#define CDC_ENPOINT_COUNT 3 -#else -#define CDC_INTERFACE_COUNT 0 -#define CDC_ENPOINT_COUNT 0 -#endif - -#ifdef HID_ENABLED -#define HID_INTERFACE_COUNT 1 -#define HID_ENPOINT_COUNT 1 -#else -#define HID_INTERFACE_COUNT 0 -#define HID_ENPOINT_COUNT 0 -#endif - -#define CDC_ACM_INTERFACE 0 // CDC ACM -#define CDC_DATA_INTERFACE 1 // CDC Data -#define CDC_FIRST_ENDPOINT 1 -#define CDC_ENDPOINT_ACM (CDC_FIRST_ENDPOINT) // CDC First -#define CDC_ENDPOINT_OUT (CDC_FIRST_ENDPOINT+1) -#define CDC_ENDPOINT_IN (CDC_FIRST_ENDPOINT+2) - -#define HID_INTERFACE (CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT) // HID Interface -#define HID_FIRST_ENDPOINT (CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT) -#define HID_ENDPOINT_INT (HID_FIRST_ENDPOINT) - -#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT) - -#ifdef CDC_ENABLED -#define CDC_RX CDC_ENDPOINT_OUT -#define CDC_TX CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED -#define HID_TX HID_ENDPOINT_INT -#endif - -#define IMANUFACTURER 1 -#define IPRODUCT 2 - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Udp.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Udp.h deleted file mode 100644 index dc5644b9d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/Udp.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Udp.cpp: Library to send/receive UDP packets. - * - * NOTE: UDP is fast, but has some important limitations (thanks to Warren Gray for mentioning these) - * 1) UDP does not guarantee the order in which assembled UDP packets are received. This - * might not happen often in practice, but in larger network topologies, a UDP - * packet can be received out of sequence. - * 2) UDP does not guard against lost packets - so packets *can* disappear without the sender being - * aware of it. Again, this may not be a concern in practice on small local networks. - * For more information, see http://www.cafeaulait.org/course/week12/35.html - * - * MIT License: - * Copyright (c) 2008 Bjoern Hartmann - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * bjoern@cs.stanford.edu 12/30/2008 - */ - -#ifndef udp_h -#define udp_h - -#include -#include - -class UDP : public Stream { - -public: - virtual uint8_t begin(uint16_t) =0; // initialize, start listening on specified port. Returns 1 if successful, 0 if there are no sockets available to use - virtual void stop() =0; // Finish with the UDP socket - - // Sending UDP packets - - // Start building up a packet to send to the remote host specific in ip and port - // Returns 1 if successful, 0 if there was a problem with the supplied IP address or port - virtual int beginPacket(IPAddress ip, uint16_t port) =0; - // Start building up a packet to send to the remote host specific in host and port - // Returns 1 if successful, 0 if there was a problem resolving the hostname or port - virtual int beginPacket(const char *host, uint16_t port) =0; - // Finish off this packet and send it - // Returns 1 if the packet was sent successfully, 0 if there was an error - virtual int endPacket() =0; - // Write a single byte into the packet - virtual size_t write(uint8_t) =0; - // Write size bytes from buffer into the packet - virtual size_t write(const uint8_t *buffer, size_t size) =0; - - // Start processing the next available incoming packet - // Returns the size of the packet in bytes, or 0 if no packets are available - virtual int parsePacket() =0; - // Number of bytes remaining in the current packet - virtual int available() =0; - // Read a single byte from the current packet - virtual int read() =0; - // Read up to len bytes from the current packet and place them into buffer - // Returns the number of bytes read, or 0 if none are available - virtual int read(unsigned char* buffer, size_t len) =0; - // Read up to len characters from the current packet and place them into buffer - // Returns the number of characters read, or 0 if none are available - virtual int read(char* buffer, size_t len) =0; - // Return the next byte from the current packet without moving on to the next byte - virtual int peek() =0; - virtual void flush() =0; // Finish reading the current packet - - // Return the IP address of the host who sent the current incoming packet - virtual IPAddress remoteIP() =0; - // Return the port of the host who sent the current incoming packet - virtual uint16_t remotePort() =0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WCharacter.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WCharacter.h deleted file mode 100644 index 79733b50a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WCharacter.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - WCharacter.h - Character utility functions for Wiring & Arduino - Copyright (c) 2010 Hernando Barragan. 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 Character_h -#define Character_h - -#include - -// WCharacter.h prototypes -inline boolean isAlphaNumeric(int c) __attribute__((always_inline)); -inline boolean isAlpha(int c) __attribute__((always_inline)); -inline boolean isAscii(int c) __attribute__((always_inline)); -inline boolean isWhitespace(int c) __attribute__((always_inline)); -inline boolean isControl(int c) __attribute__((always_inline)); -inline boolean isDigit(int c) __attribute__((always_inline)); -inline boolean isGraph(int c) __attribute__((always_inline)); -inline boolean isLowerCase(int c) __attribute__((always_inline)); -inline boolean isPrintable(int c) __attribute__((always_inline)); -inline boolean isPunct(int c) __attribute__((always_inline)); -inline boolean isSpace(int c) __attribute__((always_inline)); -inline boolean isUpperCase(int c) __attribute__((always_inline)); -inline boolean isHexadecimalDigit(int c) __attribute__((always_inline)); -inline int toAscii(int c) __attribute__((always_inline)); -inline int toLowerCase(int c) __attribute__((always_inline)); -inline int toUpperCase(int c)__attribute__((always_inline)); - - -// Checks for an alphanumeric character. -// It is equivalent to (isalpha(c) || isdigit(c)). -inline boolean isAlphaNumeric(int c) -{ - return ( isalnum(c) == 0 ? false : true); -} - - -// Checks for an alphabetic character. -// It is equivalent to (isupper(c) || islower(c)). -inline boolean isAlpha(int c) -{ - return ( isalpha(c) == 0 ? false : true); -} - - -// Checks whether c is a 7-bit unsigned char value -// that fits into the ASCII character set. -inline boolean isAscii(int c) -{ - return ( isascii (c) == 0 ? false : true); -} - - -// Checks for a blank character, that is, a space or a tab. -inline boolean isWhitespace(int c) -{ - return ( isblank (c) == 0 ? false : true); -} - - -// Checks for a control character. -inline boolean isControl(int c) -{ - return ( iscntrl (c) == 0 ? false : true); -} - - -// Checks for a digit (0 through 9). -inline boolean isDigit(int c) -{ - return ( isdigit (c) == 0 ? false : true); -} - - -// Checks for any printable character except space. -inline boolean isGraph(int c) -{ - return ( isgraph (c) == 0 ? false : true); -} - - -// Checks for a lower-case character. -inline boolean isLowerCase(int c) -{ - return (islower (c) == 0 ? false : true); -} - - -// Checks for any printable character including space. -inline boolean isPrintable(int c) -{ - return ( isprint (c) == 0 ? false : true); -} - - -// Checks for any printable character which is not a space -// or an alphanumeric character. -inline boolean isPunct(int c) -{ - return ( ispunct (c) == 0 ? false : true); -} - - -// Checks for white-space characters. For the avr-libc library, -// these are: space, formfeed ('\f'), newline ('\n'), carriage -// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v'). -inline boolean isSpace(int c) -{ - return ( isspace (c) == 0 ? false : true); -} - - -// Checks for an uppercase letter. -inline boolean isUpperCase(int c) -{ - return ( isupper (c) == 0 ? false : true); -} - - -// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 -// 8 9 a b c d e f A B C D E F. -inline boolean isHexadecimalDigit(int c) -{ - return ( isxdigit (c) == 0 ? false : true); -} - - -// Converts c to a 7-bit unsigned char value that fits into the -// ASCII character set, by clearing the high-order bits. -inline int toAscii(int c) -{ - return toascii (c); -} - - -// Warning: -// Many people will be unhappy if you use this function. -// This function will convert accented letters into random -// characters. - -// Converts the letter c to lower case, if possible. -inline int toLowerCase(int c) -{ - return tolower (c); -} - - -// Converts the letter c to upper case, if possible. -inline int toUpperCase(int c) -{ - return toupper (c); -} - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WInterrupts.c b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WInterrupts.c deleted file mode 100644 index 62efc9cad..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WInterrupts.c +++ /dev/null @@ -1,322 +0,0 @@ -/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Wiring project - http://wiring.uniandes.edu.co - - Copyright (c) 2004-05 Hernando Barragan - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 24 November 2006 by David A. Mellis - Modified 1 August 2010 by Mark Sproul -*/ - -#include -#include -#include -#include -#include - -#include "wiring_private.h" - -static volatile voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS]; -// volatile static voidFuncPtr twiIntFunc; - -void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) { - if(interruptNum < EXTERNAL_NUM_INTERRUPTS) { - intFunc[interruptNum] = userFunc; - - // Configure the interrupt mode (trigger on low input, any change, rising - // edge, or falling edge). The mode constants were chosen to correspond - // to the configuration bits in the hardware register, so we simply shift - // the mode into place. - - // Enable the interrupt. - - switch (interruptNum) { -#if defined(__AVR_ATmega32U4__) - // I hate doing this, but the register assignment differs between the 1280/2560 - // and the 32U4. Since avrlib defines registers PCMSK1 and PCMSK2 that aren't - // even present on the 32U4 this is the only way to distinguish between them. - case 0: - EICRA = (EICRA & ~((1<= howbig) { - return howsmall; - } - long diff = howbig - howsmall; - return random(diff) + howsmall; -} - -long map(long x, long in_min, long in_max, long out_min, long out_max) -{ - return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -} - -unsigned int makeWord(unsigned int w) { return w; } -unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; } \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.cpp deleted file mode 100644 index c6839fc0d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.cpp +++ /dev/null @@ -1,645 +0,0 @@ -/* - WString.cpp - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All rights reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 "WString.h" - - -/*********************************************/ -/* Constructors */ -/*********************************************/ - -String::String(const char *cstr) -{ - init(); - if (cstr) copy(cstr, strlen(cstr)); -} - -String::String(const String &value) -{ - init(); - *this = value; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String::String(String &&rval) -{ - init(); - move(rval); -} -String::String(StringSumHelper &&rval) -{ - init(); - move(rval); -} -#endif - -String::String(char c) -{ - init(); - char buf[2]; - buf[0] = c; - buf[1] = 0; - *this = buf; -} - -String::String(unsigned char value, unsigned char base) -{ - init(); - char buf[9]; - utoa(value, buf, base); - *this = buf; -} - -String::String(int value, unsigned char base) -{ - init(); - char buf[18]; - itoa(value, buf, base); - *this = buf; -} - -String::String(unsigned int value, unsigned char base) -{ - init(); - char buf[17]; - utoa(value, buf, base); - *this = buf; -} - -String::String(long value, unsigned char base) -{ - init(); - char buf[34]; - ltoa(value, buf, base); - *this = buf; -} - -String::String(unsigned long value, unsigned char base) -{ - init(); - char buf[33]; - ultoa(value, buf, base); - *this = buf; -} - -String::~String() -{ - free(buffer); -} - -/*********************************************/ -/* Memory Management */ -/*********************************************/ - -inline void String::init(void) -{ - buffer = NULL; - capacity = 0; - len = 0; - flags = 0; -} - -void String::invalidate(void) -{ - if (buffer) free(buffer); - buffer = NULL; - capacity = len = 0; -} - -unsigned char String::reserve(unsigned int size) -{ - if (buffer && capacity >= size) return 1; - if (changeBuffer(size)) { - if (len == 0) buffer[0] = 0; - return 1; - } - return 0; -} - -unsigned char String::changeBuffer(unsigned int maxStrLen) -{ - char *newbuffer = (char *)realloc(buffer, maxStrLen + 1); - if (newbuffer) { - buffer = newbuffer; - capacity = maxStrLen; - return 1; - } - return 0; -} - -/*********************************************/ -/* Copy and Move */ -/*********************************************/ - -String & String::copy(const char *cstr, unsigned int length) -{ - if (!reserve(length)) { - invalidate(); - return *this; - } - len = length; - strcpy(buffer, cstr); - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -void String::move(String &rhs) -{ - if (buffer) { - if (capacity >= rhs.len) { - strcpy(buffer, rhs.buffer); - len = rhs.len; - rhs.len = 0; - return; - } else { - free(buffer); - } - } - buffer = rhs.buffer; - capacity = rhs.capacity; - len = rhs.len; - rhs.buffer = NULL; - rhs.capacity = 0; - rhs.len = 0; -} -#endif - -String & String::operator = (const String &rhs) -{ - if (this == &rhs) return *this; - - if (rhs.buffer) copy(rhs.buffer, rhs.len); - else invalidate(); - - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String & String::operator = (String &&rval) -{ - if (this != &rval) move(rval); - return *this; -} - -String & String::operator = (StringSumHelper &&rval) -{ - if (this != &rval) move(rval); - return *this; -} -#endif - -String & String::operator = (const char *cstr) -{ - if (cstr) copy(cstr, strlen(cstr)); - else invalidate(); - - return *this; -} - -/*********************************************/ -/* concat */ -/*********************************************/ - -unsigned char String::concat(const String &s) -{ - return concat(s.buffer, s.len); -} - -unsigned char String::concat(const char *cstr, unsigned int length) -{ - unsigned int newlen = len + length; - if (!cstr) return 0; - if (length == 0) return 1; - if (!reserve(newlen)) return 0; - strcpy(buffer + len, cstr); - len = newlen; - return 1; -} - -unsigned char String::concat(const char *cstr) -{ - if (!cstr) return 0; - return concat(cstr, strlen(cstr)); -} - -unsigned char String::concat(char c) -{ - char buf[2]; - buf[0] = c; - buf[1] = 0; - return concat(buf, 1); -} - -unsigned char String::concat(unsigned char num) -{ - char buf[4]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(int num) -{ - char buf[7]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned int num) -{ - char buf[6]; - utoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(long num) -{ - char buf[12]; - ltoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned long num) -{ - char buf[11]; - ultoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -/*********************************************/ -/* Concatenate */ -/*********************************************/ - -StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(rhs.buffer, rhs.len)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr) -{ - StringSumHelper &a = const_cast(lhs); - if (!cstr || !a.concat(cstr, strlen(cstr))) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, char c) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(c)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -/*********************************************/ -/* Comparison */ -/*********************************************/ - -int String::compareTo(const String &s) const -{ - if (!buffer || !s.buffer) { - if (s.buffer && s.len > 0) return 0 - *(unsigned char *)s.buffer; - if (buffer && len > 0) return *(unsigned char *)buffer; - return 0; - } - return strcmp(buffer, s.buffer); -} - -unsigned char String::equals(const String &s2) const -{ - return (len == s2.len && compareTo(s2) == 0); -} - -unsigned char String::equals(const char *cstr) const -{ - if (len == 0) return (cstr == NULL || *cstr == 0); - if (cstr == NULL) return buffer[0] == 0; - return strcmp(buffer, cstr) == 0; -} - -unsigned char String::operator<(const String &rhs) const -{ - return compareTo(rhs) < 0; -} - -unsigned char String::operator>(const String &rhs) const -{ - return compareTo(rhs) > 0; -} - -unsigned char String::operator<=(const String &rhs) const -{ - return compareTo(rhs) <= 0; -} - -unsigned char String::operator>=(const String &rhs) const -{ - return compareTo(rhs) >= 0; -} - -unsigned char String::equalsIgnoreCase( const String &s2 ) const -{ - if (this == &s2) return 1; - if (len != s2.len) return 0; - if (len == 0) return 1; - const char *p1 = buffer; - const char *p2 = s2.buffer; - while (*p1) { - if (tolower(*p1++) != tolower(*p2++)) return 0; - } - return 1; -} - -unsigned char String::startsWith( const String &s2 ) const -{ - if (len < s2.len) return 0; - return startsWith(s2, 0); -} - -unsigned char String::startsWith( const String &s2, unsigned int offset ) const -{ - if (offset > len - s2.len || !buffer || !s2.buffer) return 0; - return strncmp( &buffer[offset], s2.buffer, s2.len ) == 0; -} - -unsigned char String::endsWith( const String &s2 ) const -{ - if ( len < s2.len || !buffer || !s2.buffer) return 0; - return strcmp(&buffer[len - s2.len], s2.buffer) == 0; -} - -/*********************************************/ -/* Character Access */ -/*********************************************/ - -char String::charAt(unsigned int loc) const -{ - return operator[](loc); -} - -void String::setCharAt(unsigned int loc, char c) -{ - if (loc < len) buffer[loc] = c; -} - -char & String::operator[](unsigned int index) -{ - static char dummy_writable_char; - if (index >= len || !buffer) { - dummy_writable_char = 0; - return dummy_writable_char; - } - return buffer[index]; -} - -char String::operator[]( unsigned int index ) const -{ - if (index >= len || !buffer) return 0; - return buffer[index]; -} - -void String::getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index) const -{ - if (!bufsize || !buf) return; - if (index >= len) { - buf[0] = 0; - return; - } - unsigned int n = bufsize - 1; - if (n > len - index) n = len - index; - strncpy((char *)buf, buffer + index, n); - buf[n] = 0; -} - -/*********************************************/ -/* Search */ -/*********************************************/ - -int String::indexOf(char c) const -{ - return indexOf(c, 0); -} - -int String::indexOf( char ch, unsigned int fromIndex ) const -{ - if (fromIndex >= len) return -1; - const char* temp = strchr(buffer + fromIndex, ch); - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::indexOf(const String &s2) const -{ - return indexOf(s2, 0); -} - -int String::indexOf(const String &s2, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - const char *found = strstr(buffer + fromIndex, s2.buffer); - if (found == NULL) return -1; - return found - buffer; -} - -int String::lastIndexOf( char theChar ) const -{ - return lastIndexOf(theChar, len - 1); -} - -int String::lastIndexOf(char ch, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - char tempchar = buffer[fromIndex + 1]; - buffer[fromIndex + 1] = '\0'; - char* temp = strrchr( buffer, ch ); - buffer[fromIndex + 1] = tempchar; - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::lastIndexOf(const String &s2) const -{ - return lastIndexOf(s2, len - s2.len); -} - -int String::lastIndexOf(const String &s2, unsigned int fromIndex) const -{ - if (s2.len == 0 || len == 0 || s2.len > len) return -1; - if (fromIndex >= len) fromIndex = len - 1; - int found = -1; - for (char *p = buffer; p <= buffer + fromIndex; p++) { - p = strstr(p, s2.buffer); - if (!p) break; - if ((unsigned int)(p - buffer) <= fromIndex) found = p - buffer; - } - return found; -} - -String String::substring( unsigned int left ) const -{ - return substring(left, len); -} - -String String::substring(unsigned int left, unsigned int right) const -{ - if (left > right) { - unsigned int temp = right; - right = left; - left = temp; - } - String out; - if (left > len) return out; - if (right > len) right = len; - char temp = buffer[right]; // save the replaced character - buffer[right] = '\0'; - out = buffer + left; // pointer arithmetic - buffer[right] = temp; //restore character - return out; -} - -/*********************************************/ -/* Modification */ -/*********************************************/ - -void String::replace(char find, char replace) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - if (*p == find) *p = replace; - } -} - -void String::replace(const String& find, const String& replace) -{ - if (len == 0 || find.len == 0) return; - int diff = replace.len - find.len; - char *readFrom = buffer; - char *foundAt; - if (diff == 0) { - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - memcpy(foundAt, replace.buffer, replace.len); - readFrom = foundAt + replace.len; - } - } else if (diff < 0) { - char *writeTo = buffer; - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - unsigned int n = foundAt - readFrom; - memcpy(writeTo, readFrom, n); - writeTo += n; - memcpy(writeTo, replace.buffer, replace.len); - writeTo += replace.len; - readFrom = foundAt + find.len; - len += diff; - } - strcpy(writeTo, readFrom); - } else { - unsigned int size = len; // compute size needed for result - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - readFrom = foundAt + find.len; - size += diff; - } - if (size == len) return; - if (size > capacity && !changeBuffer(size)) return; // XXX: tell user! - int index = len - 1; - while (index >= 0 && (index = lastIndexOf(find, index)) >= 0) { - readFrom = buffer + index + find.len; - memmove(readFrom + diff, readFrom, len - (readFrom - buffer)); - len += diff; - buffer[len] = 0; - memcpy(buffer + index, replace.buffer, replace.len); - index--; - } - } -} - -void String::toLowerCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = tolower(*p); - } -} - -void String::toUpperCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = toupper(*p); - } -} - -void String::trim(void) -{ - if (!buffer || len == 0) return; - char *begin = buffer; - while (isspace(*begin)) begin++; - char *end = buffer + len - 1; - while (isspace(*end) && end >= begin) end--; - len = end + 1 - begin; - if (begin > buffer) memcpy(buffer, begin, len); - buffer[len] = 0; -} - -/*********************************************/ -/* Parsing / Conversion */ -/*********************************************/ - -long String::toInt(void) const -{ - if (buffer) return atol(buffer); - return 0; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.h deleted file mode 100644 index 947325e5f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/WString.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - WString.h - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All right reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 String_class_h -#define String_class_h -#ifdef __cplusplus - -#include -#include -#include -#include - -// When compiling programs with this class, the following gcc parameters -// dramatically increase performance and memory (RAM) efficiency, typically -// with little or no increase in code size. -// -felide-constructors -// -std=c++0x - -class __FlashStringHelper; -#define F(string_literal) (reinterpret_cast(PSTR(string_literal))) - -// An inherited class for holding the result of a concatenation. These -// result objects are assumed to be writable by subsequent concatenations. -class StringSumHelper; - -// The string class -class String -{ - // use a function pointer to allow for "if (s)" without the - // complications of an operator bool(). for more information, see: - // http://www.artima.com/cppsource/safebool.html - typedef void (String::*StringIfHelperType)() const; - void StringIfHelper() const {} - -public: - // constructors - // creates a copy of the initial value. - // if the initial value is null or invalid, or if memory allocation - // fails, the string will be marked as invalid (i.e. "if (s)" will - // be false). - String(const char *cstr = ""); - String(const String &str); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String(String &&rval); - String(StringSumHelper &&rval); - #endif - explicit String(char c); - explicit String(unsigned char, unsigned char base=10); - explicit String(int, unsigned char base=10); - explicit String(unsigned int, unsigned char base=10); - explicit String(long, unsigned char base=10); - explicit String(unsigned long, unsigned char base=10); - ~String(void); - - // memory management - // return true on success, false on failure (in which case, the string - // is left unchanged). reserve(0), if successful, will validate an - // invalid string (i.e., "if (s)" will be true afterwards) - unsigned char reserve(unsigned int size); - inline unsigned int length(void) const {return len;} - - // creates a copy of the assigned value. if the value is null or - // invalid, or if the memory allocation fails, the string will be - // marked as invalid ("if (s)" will be false). - String & operator = (const String &rhs); - String & operator = (const char *cstr); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String & operator = (String &&rval); - String & operator = (StringSumHelper &&rval); - #endif - - // concatenate (works w/ built-in types) - - // returns true on success, false on failure (in which case, the string - // is left unchanged). if the argument is null or invalid, the - // concatenation is considered unsucessful. - unsigned char concat(const String &str); - unsigned char concat(const char *cstr); - unsigned char concat(char c); - unsigned char concat(unsigned char c); - unsigned char concat(int num); - unsigned char concat(unsigned int num); - unsigned char concat(long num); - unsigned char concat(unsigned long num); - - // if there's not enough memory for the concatenated value, the string - // will be left unchanged (but this isn't signalled in any way) - String & operator += (const String &rhs) {concat(rhs); return (*this);} - String & operator += (const char *cstr) {concat(cstr); return (*this);} - String & operator += (char c) {concat(c); return (*this);} - String & operator += (unsigned char num) {concat(num); return (*this);} - String & operator += (int num) {concat(num); return (*this);} - String & operator += (unsigned int num) {concat(num); return (*this);} - String & operator += (long num) {concat(num); return (*this);} - String & operator += (unsigned long num) {concat(num); return (*this);} - - friend StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs); - friend StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr); - friend StringSumHelper & operator + (const StringSumHelper &lhs, char c); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, long num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num); - - // comparison (only works w/ Strings and "strings") - operator StringIfHelperType() const { return buffer ? &String::StringIfHelper : 0; } - int compareTo(const String &s) const; - unsigned char equals(const String &s) const; - unsigned char equals(const char *cstr) const; - unsigned char operator == (const String &rhs) const {return equals(rhs);} - unsigned char operator == (const char *cstr) const {return equals(cstr);} - unsigned char operator != (const String &rhs) const {return !equals(rhs);} - unsigned char operator != (const char *cstr) const {return !equals(cstr);} - unsigned char operator < (const String &rhs) const; - unsigned char operator > (const String &rhs) const; - unsigned char operator <= (const String &rhs) const; - unsigned char operator >= (const String &rhs) const; - unsigned char equalsIgnoreCase(const String &s) const; - unsigned char startsWith( const String &prefix) const; - unsigned char startsWith(const String &prefix, unsigned int offset) const; - unsigned char endsWith(const String &suffix) const; - - // character acccess - char charAt(unsigned int index) const; - void setCharAt(unsigned int index, char c); - char operator [] (unsigned int index) const; - char& operator [] (unsigned int index); - void getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index=0) const; - void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const - {getBytes((unsigned char *)buf, bufsize, index);} - - // search - int indexOf( char ch ) const; - int indexOf( char ch, unsigned int fromIndex ) const; - int indexOf( const String &str ) const; - int indexOf( const String &str, unsigned int fromIndex ) const; - int lastIndexOf( char ch ) const; - int lastIndexOf( char ch, unsigned int fromIndex ) const; - int lastIndexOf( const String &str ) const; - int lastIndexOf( const String &str, unsigned int fromIndex ) const; - String substring( unsigned int beginIndex ) const; - String substring( unsigned int beginIndex, unsigned int endIndex ) const; - - // modification - void replace(char find, char replace); - void replace(const String& find, const String& replace); - void toLowerCase(void); - void toUpperCase(void); - void trim(void); - - // parsing/conversion - long toInt(void) const; - -protected: - char *buffer; // the actual char array - unsigned int capacity; // the array length minus one (for the '\0') - unsigned int len; // the String length (not counting the '\0') - unsigned char flags; // unused, for future features -protected: - void init(void); - void invalidate(void); - unsigned char changeBuffer(unsigned int maxStrLen); - unsigned char concat(const char *cstr, unsigned int length); - - // copy and move - String & copy(const char *cstr, unsigned int length); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void move(String &rhs); - #endif -}; - -class StringSumHelper : public String -{ -public: - StringSumHelper(const String &s) : String(s) {} - StringSumHelper(const char *p) : String(p) {} - StringSumHelper(char c) : String(c) {} - StringSumHelper(unsigned char num) : String(num) {} - StringSumHelper(int num) : String(num) {} - StringSumHelper(unsigned int num) : String(num) {} - StringSumHelper(long num) : String(num) {} - StringSumHelper(unsigned long num) : String(num) {} -}; - -#endif // __cplusplus -#endif // String_class_h diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/binary.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/binary.h deleted file mode 100644 index af1498033..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/binary.h +++ /dev/null @@ -1,515 +0,0 @@ -#ifndef Binary_h -#define Binary_h - -#define B0 0 -#define B00 0 -#define B000 0 -#define B0000 0 -#define B00000 0 -#define B000000 0 -#define B0000000 0 -#define B00000000 0 -#define B1 1 -#define B01 1 -#define B001 1 -#define B0001 1 -#define B00001 1 -#define B000001 1 -#define B0000001 1 -#define B00000001 1 -#define B10 2 -#define B010 2 -#define B0010 2 -#define B00010 2 -#define B000010 2 -#define B0000010 2 -#define B00000010 2 -#define B11 3 -#define B011 3 -#define B0011 3 -#define B00011 3 -#define B000011 3 -#define B0000011 3 -#define B00000011 3 -#define B100 4 -#define B0100 4 -#define B00100 4 -#define B000100 4 -#define B0000100 4 -#define B00000100 4 -#define B101 5 -#define B0101 5 -#define B00101 5 -#define B000101 5 -#define B0000101 5 -#define B00000101 5 -#define B110 6 -#define B0110 6 -#define B00110 6 -#define B000110 6 -#define B0000110 6 -#define B00000110 6 -#define B111 7 -#define B0111 7 -#define B00111 7 -#define B000111 7 -#define B0000111 7 -#define B00000111 7 -#define B1000 8 -#define B01000 8 -#define B001000 8 -#define B0001000 8 -#define B00001000 8 -#define B1001 9 -#define B01001 9 -#define B001001 9 -#define B0001001 9 -#define B00001001 9 -#define B1010 10 -#define B01010 10 -#define B001010 10 -#define B0001010 10 -#define B00001010 10 -#define B1011 11 -#define B01011 11 -#define B001011 11 -#define B0001011 11 -#define B00001011 11 -#define B1100 12 -#define B01100 12 -#define B001100 12 -#define B0001100 12 -#define B00001100 12 -#define B1101 13 -#define B01101 13 -#define B001101 13 -#define B0001101 13 -#define B00001101 13 -#define B1110 14 -#define B01110 14 -#define B001110 14 -#define B0001110 14 -#define B00001110 14 -#define B1111 15 -#define B01111 15 -#define B001111 15 -#define B0001111 15 -#define B00001111 15 -#define B10000 16 -#define B010000 16 -#define B0010000 16 -#define B00010000 16 -#define B10001 17 -#define B010001 17 -#define B0010001 17 -#define B00010001 17 -#define B10010 18 -#define B010010 18 -#define B0010010 18 -#define B00010010 18 -#define B10011 19 -#define B010011 19 -#define B0010011 19 -#define B00010011 19 -#define B10100 20 -#define B010100 20 -#define B0010100 20 -#define B00010100 20 -#define B10101 21 -#define B010101 21 -#define B0010101 21 -#define B00010101 21 -#define B10110 22 -#define B010110 22 -#define B0010110 22 -#define B00010110 22 -#define B10111 23 -#define B010111 23 -#define B0010111 23 -#define B00010111 23 -#define B11000 24 -#define B011000 24 -#define B0011000 24 -#define B00011000 24 -#define B11001 25 -#define B011001 25 -#define B0011001 25 -#define B00011001 25 -#define B11010 26 -#define B011010 26 -#define B0011010 26 -#define B00011010 26 -#define B11011 27 -#define B011011 27 -#define B0011011 27 -#define B00011011 27 -#define B11100 28 -#define B011100 28 -#define B0011100 28 -#define B00011100 28 -#define B11101 29 -#define B011101 29 -#define B0011101 29 -#define B00011101 29 -#define B11110 30 -#define B011110 30 -#define B0011110 30 -#define B00011110 30 -#define B11111 31 -#define B011111 31 -#define B0011111 31 -#define B00011111 31 -#define B100000 32 -#define B0100000 32 -#define B00100000 32 -#define B100001 33 -#define B0100001 33 -#define B00100001 33 -#define B100010 34 -#define B0100010 34 -#define B00100010 34 -#define B100011 35 -#define B0100011 35 -#define B00100011 35 -#define B100100 36 -#define B0100100 36 -#define B00100100 36 -#define B100101 37 -#define B0100101 37 -#define B00100101 37 -#define B100110 38 -#define B0100110 38 -#define B00100110 38 -#define B100111 39 -#define B0100111 39 -#define B00100111 39 -#define B101000 40 -#define B0101000 40 -#define B00101000 40 -#define B101001 41 -#define B0101001 41 -#define B00101001 41 -#define B101010 42 -#define B0101010 42 -#define B00101010 42 -#define B101011 43 -#define B0101011 43 -#define B00101011 43 -#define B101100 44 -#define B0101100 44 -#define B00101100 44 -#define B101101 45 -#define B0101101 45 -#define B00101101 45 -#define B101110 46 -#define B0101110 46 -#define B00101110 46 -#define B101111 47 -#define B0101111 47 -#define B00101111 47 -#define B110000 48 -#define B0110000 48 -#define B00110000 48 -#define B110001 49 -#define B0110001 49 -#define B00110001 49 -#define B110010 50 -#define B0110010 50 -#define B00110010 50 -#define B110011 51 -#define B0110011 51 -#define B00110011 51 -#define B110100 52 -#define B0110100 52 -#define B00110100 52 -#define B110101 53 -#define B0110101 53 -#define B00110101 53 -#define B110110 54 -#define B0110110 54 -#define B00110110 54 -#define B110111 55 -#define B0110111 55 -#define B00110111 55 -#define B111000 56 -#define B0111000 56 -#define B00111000 56 -#define B111001 57 -#define B0111001 57 -#define B00111001 57 -#define B111010 58 -#define B0111010 58 -#define B00111010 58 -#define B111011 59 -#define B0111011 59 -#define B00111011 59 -#define B111100 60 -#define B0111100 60 -#define B00111100 60 -#define B111101 61 -#define B0111101 61 -#define B00111101 61 -#define B111110 62 -#define B0111110 62 -#define B00111110 62 -#define B111111 63 -#define B0111111 63 -#define B00111111 63 -#define B1000000 64 -#define B01000000 64 -#define B1000001 65 -#define B01000001 65 -#define B1000010 66 -#define B01000010 66 -#define B1000011 67 -#define B01000011 67 -#define B1000100 68 -#define B01000100 68 -#define B1000101 69 -#define B01000101 69 -#define B1000110 70 -#define B01000110 70 -#define B1000111 71 -#define B01000111 71 -#define B1001000 72 -#define B01001000 72 -#define B1001001 73 -#define B01001001 73 -#define B1001010 74 -#define B01001010 74 -#define B1001011 75 -#define B01001011 75 -#define B1001100 76 -#define B01001100 76 -#define B1001101 77 -#define B01001101 77 -#define B1001110 78 -#define B01001110 78 -#define B1001111 79 -#define B01001111 79 -#define B1010000 80 -#define B01010000 80 -#define B1010001 81 -#define B01010001 81 -#define B1010010 82 -#define B01010010 82 -#define B1010011 83 -#define B01010011 83 -#define B1010100 84 -#define B01010100 84 -#define B1010101 85 -#define B01010101 85 -#define B1010110 86 -#define B01010110 86 -#define B1010111 87 -#define B01010111 87 -#define B1011000 88 -#define B01011000 88 -#define B1011001 89 -#define B01011001 89 -#define B1011010 90 -#define B01011010 90 -#define B1011011 91 -#define B01011011 91 -#define B1011100 92 -#define B01011100 92 -#define B1011101 93 -#define B01011101 93 -#define B1011110 94 -#define B01011110 94 -#define B1011111 95 -#define B01011111 95 -#define B1100000 96 -#define B01100000 96 -#define B1100001 97 -#define B01100001 97 -#define B1100010 98 -#define B01100010 98 -#define B1100011 99 -#define B01100011 99 -#define B1100100 100 -#define B01100100 100 -#define B1100101 101 -#define B01100101 101 -#define B1100110 102 -#define B01100110 102 -#define B1100111 103 -#define B01100111 103 -#define B1101000 104 -#define B01101000 104 -#define B1101001 105 -#define B01101001 105 -#define B1101010 106 -#define B01101010 106 -#define B1101011 107 -#define B01101011 107 -#define B1101100 108 -#define B01101100 108 -#define B1101101 109 -#define B01101101 109 -#define B1101110 110 -#define B01101110 110 -#define B1101111 111 -#define B01101111 111 -#define B1110000 112 -#define B01110000 112 -#define B1110001 113 -#define B01110001 113 -#define B1110010 114 -#define B01110010 114 -#define B1110011 115 -#define B01110011 115 -#define B1110100 116 -#define B01110100 116 -#define B1110101 117 -#define B01110101 117 -#define B1110110 118 -#define B01110110 118 -#define B1110111 119 -#define B01110111 119 -#define B1111000 120 -#define B01111000 120 -#define B1111001 121 -#define B01111001 121 -#define B1111010 122 -#define B01111010 122 -#define B1111011 123 -#define B01111011 123 -#define B1111100 124 -#define B01111100 124 -#define B1111101 125 -#define B01111101 125 -#define B1111110 126 -#define B01111110 126 -#define B1111111 127 -#define B01111111 127 -#define B10000000 128 -#define B10000001 129 -#define B10000010 130 -#define B10000011 131 -#define B10000100 132 -#define B10000101 133 -#define B10000110 134 -#define B10000111 135 -#define B10001000 136 -#define B10001001 137 -#define B10001010 138 -#define B10001011 139 -#define B10001100 140 -#define B10001101 141 -#define B10001110 142 -#define B10001111 143 -#define B10010000 144 -#define B10010001 145 -#define B10010010 146 -#define B10010011 147 -#define B10010100 148 -#define B10010101 149 -#define B10010110 150 -#define B10010111 151 -#define B10011000 152 -#define B10011001 153 -#define B10011010 154 -#define B10011011 155 -#define B10011100 156 -#define B10011101 157 -#define B10011110 158 -#define B10011111 159 -#define B10100000 160 -#define B10100001 161 -#define B10100010 162 -#define B10100011 163 -#define B10100100 164 -#define B10100101 165 -#define B10100110 166 -#define B10100111 167 -#define B10101000 168 -#define B10101001 169 -#define B10101010 170 -#define B10101011 171 -#define B10101100 172 -#define B10101101 173 -#define B10101110 174 -#define B10101111 175 -#define B10110000 176 -#define B10110001 177 -#define B10110010 178 -#define B10110011 179 -#define B10110100 180 -#define B10110101 181 -#define B10110110 182 -#define B10110111 183 -#define B10111000 184 -#define B10111001 185 -#define B10111010 186 -#define B10111011 187 -#define B10111100 188 -#define B10111101 189 -#define B10111110 190 -#define B10111111 191 -#define B11000000 192 -#define B11000001 193 -#define B11000010 194 -#define B11000011 195 -#define B11000100 196 -#define B11000101 197 -#define B11000110 198 -#define B11000111 199 -#define B11001000 200 -#define B11001001 201 -#define B11001010 202 -#define B11001011 203 -#define B11001100 204 -#define B11001101 205 -#define B11001110 206 -#define B11001111 207 -#define B11010000 208 -#define B11010001 209 -#define B11010010 210 -#define B11010011 211 -#define B11010100 212 -#define B11010101 213 -#define B11010110 214 -#define B11010111 215 -#define B11011000 216 -#define B11011001 217 -#define B11011010 218 -#define B11011011 219 -#define B11011100 220 -#define B11011101 221 -#define B11011110 222 -#define B11011111 223 -#define B11100000 224 -#define B11100001 225 -#define B11100010 226 -#define B11100011 227 -#define B11100100 228 -#define B11100101 229 -#define B11100110 230 -#define B11100111 231 -#define B11101000 232 -#define B11101001 233 -#define B11101010 234 -#define B11101011 235 -#define B11101100 236 -#define B11101101 237 -#define B11101110 238 -#define B11101111 239 -#define B11110000 240 -#define B11110001 241 -#define B11110010 242 -#define B11110011 243 -#define B11110100 244 -#define B11110101 245 -#define B11110110 246 -#define B11110111 247 -#define B11111000 248 -#define B11111001 249 -#define B11111010 250 -#define B11111011 251 -#define B11111100 252 -#define B11111101 253 -#define B11111110 254 -#define B11111111 255 - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/main.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/main.cpp deleted file mode 100644 index 3d4e079d2..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include - -int main(void) -{ - init(); - -#if defined(USBCON) - USBDevice.attach(); -#endif - - setup(); - - for (;;) { - loop(); - if (serialEventRun) serialEventRun(); - } - - return 0; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.cpp b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.cpp deleted file mode 100644 index 0f6d4220e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include - -void * operator new(size_t size) -{ - return malloc(size); -} - -void operator delete(void * ptr) -{ - free(ptr); -} - -int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);}; -void __cxa_guard_release (__guard *g) {*(char *)g = 1;}; -void __cxa_guard_abort (__guard *) {}; - -void __cxa_pure_virtual(void) {}; - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.h deleted file mode 100644 index cd940ce8b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/new.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Header to define new/delete operators as they aren't provided by avr-gcc by default - Taken from http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=59453 - */ - -#ifndef NEW_H -#define NEW_H - -#include - -void * operator new(size_t size); -void operator delete(void * ptr); - -__extension__ typedef int __guard __attribute__((mode (__DI__))); - -extern "C" int __cxa_guard_acquire(__guard *); -extern "C" void __cxa_guard_release (__guard *); -extern "C" void __cxa_guard_abort (__guard *); - -extern "C" void __cxa_pure_virtual(void); - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring.c b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring.c deleted file mode 100644 index ac8bb6f9b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - wiring.c - Partial implementation of the Wiring API for the ATmega8. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include "wiring_private.h" - -// the prescaler is set so that timer0 ticks every 64 clock cycles, and the -// the overflow handler is called every 256 ticks. -#define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256)) - -// the whole number of milliseconds per timer0 overflow -#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000) - -// the fractional number of milliseconds per timer0 overflow. we shift right -// by three to fit these numbers into a byte. (for the clock speeds we care -// about - 8 and 16 MHz - this doesn't lose precision.) -#define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3) -#define FRACT_MAX (1000 >> 3) - -volatile unsigned long timer0_overflow_count = 0; -volatile unsigned long timer0_millis = 0; -static unsigned char timer0_fract = 0; - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) -SIGNAL(TIM0_OVF_vect) -#else -SIGNAL(TIMER0_OVF_vect) -#endif -{ - // copy these to local variables so they can be stored in registers - // (volatile variables must be read from memory on every access) - unsigned long m = timer0_millis; - unsigned char f = timer0_fract; - - m += MILLIS_INC; - f += FRACT_INC; - if (f >= FRACT_MAX) { - f -= FRACT_MAX; - m += 1; - } - - timer0_fract = f; - timer0_millis = m; - timer0_overflow_count++; -} - -unsigned long millis() -{ - unsigned long m; - uint8_t oldSREG = SREG; - - // disable interrupts while we read timer0_millis or we might get an - // inconsistent value (e.g. in the middle of a write to timer0_millis) - cli(); - m = timer0_millis; - SREG = oldSREG; - - return m; -} - -unsigned long micros() { - unsigned long m; - uint8_t oldSREG = SREG, t; - - cli(); - m = timer0_overflow_count; -#if defined(TCNT0) - t = TCNT0; -#elif defined(TCNT0L) - t = TCNT0L; -#else - #error TIMER 0 not defined -#endif - - -#ifdef TIFR0 - if ((TIFR0 & _BV(TOV0)) && (t < 255)) - m++; -#else - if ((TIFR & _BV(TOV0)) && (t < 255)) - m++; -#endif - - SREG = oldSREG; - - return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond()); -} - -void delay(unsigned long ms) -{ - uint16_t start = (uint16_t)micros(); - - while (ms > 0) { - if (((uint16_t)micros() - start) >= 1000) { - ms--; - start += 1000; - } - } -} - -/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */ -void delayMicroseconds(unsigned int us) -{ - // calling avrlib's delay_us() function with low values (e.g. 1 or - // 2 microseconds) gives delays longer than desired. - //delay_us(us); -#if F_CPU >= 20000000L - // for the 20 MHz clock on rare Arduino boards - - // for a one-microsecond delay, simply wait 2 cycle and return. The overhead - // of the function call yields a delay of exactly a one microsecond. - __asm__ __volatile__ ( - "nop" "\n\t" - "nop"); //just waiting 2 cycle - if (--us == 0) - return; - - // the following loop takes a 1/5 of a microsecond (4 cycles) - // per iteration, so execute it five times for each microsecond of - // delay requested. - us = (us<<2) + us; // x5 us - - // account for the time taken in the preceeding commands. - us -= 2; - -#elif F_CPU >= 16000000L - // for the 16 MHz clock on most Arduino boards - - // for a one-microsecond delay, simply return. the overhead - // of the function call yields a delay of approximately 1 1/8 us. - if (--us == 0) - return; - - // the following loop takes a quarter of a microsecond (4 cycles) - // per iteration, so execute it four times for each microsecond of - // delay requested. - us <<= 2; - - // account for the time taken in the preceeding commands. - us -= 2; -#else - // for the 8 MHz internal clock on the ATmega168 - - // for a one- or two-microsecond delay, simply return. the overhead of - // the function calls takes more than two microseconds. can't just - // subtract two, since us is unsigned; we'd overflow. - if (--us == 0) - return; - if (--us == 0) - return; - - // the following loop takes half of a microsecond (4 cycles) - // per iteration, so execute it twice for each microsecond of - // delay requested. - us <<= 1; - - // partially compensate for the time taken by the preceeding commands. - // we can't subtract any more than this or we'd overflow w/ small delays. - us--; -#endif - - // busy wait - __asm__ __volatile__ ( - "1: sbiw %0,1" "\n\t" // 2 cycles - "brne 1b" : "=w" (us) : "0" (us) // 2 cycles - ); -} - -void init() -{ - // this needs to be called before setup() or some functions won't - // work there - sei(); - - // on the ATmega168, timer 0 is also used for fast hardware pwm - // (using phase-correct PWM would mean that timer 0 overflowed half as often - // resulting in different millis() behavior on the ATmega8 and ATmega168) -#if defined(TCCR0A) && defined(WGM01) - sbi(TCCR0A, WGM01); - sbi(TCCR0A, WGM00); -#endif - - // set timer 0 prescale factor to 64 -#if defined(__AVR_ATmega128__) - // CPU specific: different values for the ATmega128 - sbi(TCCR0, CS02); -#elif defined(TCCR0) && defined(CS01) && defined(CS00) - // this combination is for the standard atmega8 - sbi(TCCR0, CS01); - sbi(TCCR0, CS00); -#elif defined(TCCR0B) && defined(CS01) && defined(CS00) - // this combination is for the standard 168/328/1280/2560 - sbi(TCCR0B, CS01); - sbi(TCCR0B, CS00); -#elif defined(TCCR0A) && defined(CS01) && defined(CS00) - // this combination is for the __AVR_ATmega645__ series - sbi(TCCR0A, CS01); - sbi(TCCR0A, CS00); -#else - #error Timer 0 prescale factor 64 not set correctly -#endif - - // enable timer 0 overflow interrupt -#if defined(TIMSK) && defined(TOIE0) - sbi(TIMSK, TOIE0); -#elif defined(TIMSK0) && defined(TOIE0) - sbi(TIMSK0, TOIE0); -#else - #error Timer 0 overflow interrupt not set correctly -#endif - - // timers 1 and 2 are used for phase-correct hardware pwm - // this is better for motors as it ensures an even waveform - // note, however, that fast pwm mode can achieve a frequency of up - // 8 MHz (with a 16 MHz clock) at 50% duty cycle - -#if defined(TCCR1B) && defined(CS11) && defined(CS10) - TCCR1B = 0; - - // set timer 1 prescale factor to 64 - sbi(TCCR1B, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1B, CS10); -#endif -#elif defined(TCCR1) && defined(CS11) && defined(CS10) - sbi(TCCR1, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1, CS10); -#endif -#endif - // put timer 1 in 8-bit phase correct pwm mode -#if defined(TCCR1A) && defined(WGM10) - sbi(TCCR1A, WGM10); -#elif defined(TCCR1) - #warning this needs to be finished -#endif - - // set timer 2 prescale factor to 64 -#if defined(TCCR2) && defined(CS22) - sbi(TCCR2, CS22); -#elif defined(TCCR2B) && defined(CS22) - sbi(TCCR2B, CS22); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - - // configure timer 2 for phase correct pwm (8-bit) -#if defined(TCCR2) && defined(WGM20) - sbi(TCCR2, WGM20); -#elif defined(TCCR2A) && defined(WGM20) - sbi(TCCR2A, WGM20); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - -#if defined(TCCR3B) && defined(CS31) && defined(WGM30) - sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64 - sbi(TCCR3B, CS30); - sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode -#endif - -#if defined(TCCR4A) && defined(TCCR4B) && defined(TCCR4D) /* beginning of timer4 block for 32U4 and similar */ - sbi(TCCR4B, CS42); // set timer4 prescale factor to 64 - sbi(TCCR4B, CS41); - sbi(TCCR4B, CS40); - sbi(TCCR4D, WGM40); // put timer 4 in phase- and frequency-correct PWM mode - sbi(TCCR4A, PWM4A); // enable PWM mode for comparator OCR4A - sbi(TCCR4C, PWM4D); // enable PWM mode for comparator OCR4D -#else /* beginning of timer4 block for ATMEGA1280 and ATMEGA2560 */ -#if defined(TCCR4B) && defined(CS41) && defined(WGM40) - sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64 - sbi(TCCR4B, CS40); - sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode -#endif -#endif /* end timer4 block for ATMEGA1280/2560 and similar */ - -#if defined(TCCR5B) && defined(CS51) && defined(WGM50) - sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64 - sbi(TCCR5B, CS50); - sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode -#endif - -#if defined(ADCSRA) - // set a2d prescale factor to 128 - // 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range. - // XXX: this will not work properly for other clock speeds, and - // this code should use F_CPU to determine the prescale factor. - sbi(ADCSRA, ADPS2); - sbi(ADCSRA, ADPS1); - sbi(ADCSRA, ADPS0); - - // enable a2d conversions - sbi(ADCSRA, ADEN); -#endif - - // the bootloader connects pins 0 and 1 to the USART; disconnect them - // here so they can be used as normal digital i/o; they will be - // reconnected in Serial.begin() -#if defined(UCSRB) - UCSRB = 0; -#elif defined(UCSR0B) - UCSR0B = 0; -#endif -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_analog.c b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_analog.c deleted file mode 100644 index 23b01c65a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_analog.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - wiring_analog.c - analog input and output - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -uint8_t analog_reference = DEFAULT; - -void analogReference(uint8_t mode) -{ - // can't actually set the register here because the default setting - // will connect AVCC and the AREF pin, which would cause a short if - // there's something connected to AREF. - analog_reference = mode; -} - -int analogRead(uint8_t pin) -{ - uint8_t low, high; - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - if (pin >= 54) pin -= 54; // allow for channel or pin numbers -#elif defined(__AVR_ATmega32U4__) - if (pin >= 18) pin -= 18; // allow for channel or pin numbers -#elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if (pin >= 24) pin -= 24; // allow for channel or pin numbers -#else - if (pin >= 14) pin -= 14; // allow for channel or pin numbers -#endif - -#if defined(__AVR_ATmega32U4__) - pin = analogPinToChannel(pin); - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#elif defined(ADCSRB) && defined(MUX5) - // the MUX5 bit of ADCSRB selects whether we're reading from channels - // 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high). - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#endif - - // set the analog reference (high two bits of ADMUX) and select the - // channel (low 4 bits). this also sets ADLAR (left-adjust result) - // to 0 (the default). -#if defined(ADMUX) - ADMUX = (analog_reference << 6) | (pin & 0x07); -#endif - - // without a delay, we seem to read from the wrong channel - //delay(1); - -#if defined(ADCSRA) && defined(ADCL) - // start the conversion - sbi(ADCSRA, ADSC); - - // ADSC is cleared when the conversion finishes - while (bit_is_set(ADCSRA, ADSC)); - - // we have to read ADCL first; doing so locks both ADCL - // and ADCH until ADCH is read. reading ADCL second would - // cause the results of each conversion to be discarded, - // as ADCL and ADCH would be locked when it completed. - low = ADCL; - high = ADCH; -#else - // we dont have an ADC, return 0 - low = 0; - high = 0; -#endif - - // combine the two bytes - return (high << 8) | low; -} - -// Right now, PWM output only works on the pins with -// hardware support. These are defined in the appropriate -// pins_*.c file. For the rest of the pins, we default -// to digital output. -void analogWrite(uint8_t pin, int val) -{ - // We need to make sure the PWM output is enabled for those pins - // that support it, as we turn it off when digitally reading or - // writing with them. Also, make sure the pin is in output mode - // for consistenty with Wiring, which doesn't require a pinMode - // call for the analog output pins. - pinMode(pin, OUTPUT); - if (val == 0) - { - digitalWrite(pin, LOW); - } - else if (val == 255) - { - digitalWrite(pin, HIGH); - } - else - { - switch(digitalPinToTimer(pin)) - { - // XXX fix needed for atmega8 - #if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__) - case TIMER0A: - // connect pwm to pin on timer 0 - sbi(TCCR0, COM00); - OCR0 = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: - // connect pwm to pin on timer 0, channel A - sbi(TCCR0A, COM0A1); - OCR0A = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0B1) - case TIMER0B: - // connect pwm to pin on timer 0, channel B - sbi(TCCR0A, COM0B1); - OCR0B = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: - // connect pwm to pin on timer 1, channel A - sbi(TCCR1A, COM1A1); - OCR1A = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: - // connect pwm to pin on timer 1, channel B - sbi(TCCR1A, COM1B1); - OCR1B = val; // set pwm duty - break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: - // connect pwm to pin on timer 2 - sbi(TCCR2, COM21); - OCR2 = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: - // connect pwm to pin on timer 2, channel A - sbi(TCCR2A, COM2A1); - OCR2A = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: - // connect pwm to pin on timer 2, channel B - sbi(TCCR2A, COM2B1); - OCR2B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: - // connect pwm to pin on timer 3, channel A - sbi(TCCR3A, COM3A1); - OCR3A = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: - // connect pwm to pin on timer 3, channel B - sbi(TCCR3A, COM3B1); - OCR3B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: - // connect pwm to pin on timer 3, channel C - sbi(TCCR3A, COM3C1); - OCR3C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) - case TIMER4A: - //connect pwm to pin on timer 4, channel A - sbi(TCCR4A, COM4A1); - #if defined(COM4A0) // only used on 32U4 - cbi(TCCR4A, COM4A0); - #endif - OCR4A = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: - // connect pwm to pin on timer 4, channel B - sbi(TCCR4A, COM4B1); - OCR4B = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: - // connect pwm to pin on timer 4, channel C - sbi(TCCR4A, COM4C1); - OCR4C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: - // connect pwm to pin on timer 4, channel D - sbi(TCCR4C, COM4D1); - #if defined(COM4D0) // only used on 32U4 - cbi(TCCR4C, COM4D0); - #endif - OCR4D = val; // set pwm duty - break; - #endif - - - #if defined(TCCR5A) && defined(COM5A1) - case TIMER5A: - // connect pwm to pin on timer 5, channel A - sbi(TCCR5A, COM5A1); - OCR5A = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5B1) - case TIMER5B: - // connect pwm to pin on timer 5, channel B - sbi(TCCR5A, COM5B1); - OCR5B = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5C1) - case TIMER5C: - // connect pwm to pin on timer 5, channel C - sbi(TCCR5A, COM5C1); - OCR5C = val; // set pwm duty - break; - #endif - - case NOT_ON_TIMER: - default: - if (val < 128) { - digitalWrite(pin, LOW); - } else { - digitalWrite(pin, HIGH); - } - } - } -} - diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_digital.c b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_digital.c deleted file mode 100644 index be323b1df..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_digital.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - wiring_digital.c - digital input and output functions - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#define ARDUINO_MAIN -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *reg, *out; - - if (port == NOT_A_PIN) return; - - // JWS: can I let the optimizer do this? - reg = portModeRegister(port); - out = portOutputRegister(port); - - if (mode == INPUT) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out &= ~bit; - SREG = oldSREG; - } else if (mode == INPUT_PULLUP) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out |= bit; - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - cli(); - *reg |= bit; - SREG = oldSREG; - } -} - -// Forcing this inline keeps the callers from having to push their own stuff -// on the stack. It is a good performance win and only takes 1 more byte per -// user than calling. (It will take more bytes on the 168.) -// -// But shouldn't this be moved into pinMode? Seems silly to check and do on -// each digitalread or write. -// -// Mark Sproul: -// - Removed inline. Save 170 bytes on atmega1280 -// - changed to a switch statment; added 32 bytes but much easier to read and maintain. -// - Added more #ifdefs, now compiles for atmega645 -// -//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline)); -//static inline void turnOffPWM(uint8_t timer) -static void turnOffPWM(uint8_t timer) -{ - switch (timer) - { - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: cbi(TCCR1A, COM1A1); break; - #endif - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: cbi(TCCR1A, COM1B1); break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: cbi(TCCR2, COM21); break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: cbi(TCCR0A, COM0A1); break; - #endif - - #if defined(TIMER0B) && defined(COM0B1) - case TIMER0B: cbi(TCCR0A, COM0B1); break; - #endif - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: cbi(TCCR2A, COM2A1); break; - #endif - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: cbi(TCCR2A, COM2B1); break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: cbi(TCCR3A, COM3A1); break; - #endif - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: cbi(TCCR3A, COM3B1); break; - #endif - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: cbi(TCCR3A, COM3C1); break; - #endif - - #if defined(TCCR4A) && defined(COM4A1) - case TIMER4A: cbi(TCCR4A, COM4A1); break; - #endif - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: cbi(TCCR4A, COM4B1); break; - #endif - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: cbi(TCCR4A, COM4C1); break; - #endif - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: cbi(TCCR4C, COM4D1); break; - #endif - - #if defined(TCCR5A) - case TIMER5A: cbi(TCCR5A, COM5A1); break; - case TIMER5B: cbi(TCCR5A, COM5B1); break; - case TIMER5C: cbi(TCCR5A, COM5C1); break; - #endif - } -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *out; - - if (port == NOT_A_PIN) return; - - // If the pin that support PWM output, we need to turn it off - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - out = portOutputRegister(port); - - uint8_t oldSREG = SREG; - cli(); - - if (val == LOW) { - *out &= ~bit; - } else { - *out |= bit; - } - - SREG = oldSREG; -} - -int digitalRead(uint8_t pin) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - - if (port == NOT_A_PIN) return LOW; - - // If the pin that support PWM output, we need to turn it off - // before getting a digital reading. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - if (*portInputRegister(port) & bit) return HIGH; - return LOW; -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_private.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_private.h deleted file mode 100644 index f67826567..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_private.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - wiring_private.h - Internal header file. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ -*/ - -#ifndef WiringPrivate_h -#define WiringPrivate_h - -#include -#include -#include -#include - -#include "Arduino.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef cbi -#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) -#endif -#ifndef sbi -#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) -#endif - -#define EXTERNAL_INT_0 0 -#define EXTERNAL_INT_1 1 -#define EXTERNAL_INT_2 2 -#define EXTERNAL_INT_3 3 -#define EXTERNAL_INT_4 4 -#define EXTERNAL_INT_5 5 -#define EXTERNAL_INT_6 6 -#define EXTERNAL_INT_7 7 - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) -#define EXTERNAL_NUM_INTERRUPTS 8 -#elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) -#define EXTERNAL_NUM_INTERRUPTS 3 -#elif defined(__AVR_ATmega32U4__) -#define EXTERNAL_NUM_INTERRUPTS 4 -#else -#define EXTERNAL_NUM_INTERRUPTS 2 -#endif - -typedef void (*voidFuncPtr)(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_pulse.c b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_pulse.c deleted file mode 100644 index 0d968865d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_pulse.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - wiring_pulse.c - pulseIn() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH - * or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds - * to 3 minutes in length, but must be called at least a few dozen microseconds - * before the start of the pulse. */ -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) -{ - // cache the port and bit of the pin in order to speed up the - // pulse width measuring loop and achieve finer resolution. calling - // digitalRead() instead yields much coarser resolution. - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - uint8_t stateMask = (state ? bit : 0); - unsigned long width = 0; // keep initialization out of time critical area - - // convert the timeout from microseconds to a number of times through - // the initial loop; it takes 16 clock cycles per iteration. - unsigned long numloops = 0; - unsigned long maxloops = microsecondsToClockCycles(timeout) / 16; - - // wait for any previous pulse to end - while ((*portInputRegister(port) & bit) == stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to start - while ((*portInputRegister(port) & bit) != stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to stop - while ((*portInputRegister(port) & bit) == stateMask) { - if (numloops++ == maxloops) - return 0; - width++; - } - - // convert the reading to microseconds. The loop has been determined - // to be 20 clock cycles long and have about 16 clocks between the edge - // and the start of the loop. There will be some error introduced by - // the interrupt handlers. - return clockCyclesToMicroseconds(width * 21 + 16); -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_shift.c b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_shift.c deleted file mode 100644 index cfe786758..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/cores/arduino/wiring_shift.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - wiring_shift.c - shiftOut() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" - -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { - uint8_t value = 0; - uint8_t i; - - for (i = 0; i < 8; ++i) { - digitalWrite(clockPin, HIGH); - if (bitOrder == LSBFIRST) - value |= digitalRead(dataPin) << i; - else - value |= digitalRead(dataPin) << (7 - i); - digitalWrite(clockPin, LOW); - } - return value; -} - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val) -{ - uint8_t i; - - for (i = 0; i < 8; i++) { - if (bitOrder == LSBFIRST) - digitalWrite(dataPin, !!(val & (1 << i))); - else - digitalWrite(dataPin, !!(val & (1 << (7 - i)))); - - digitalWrite(clockPin, HIGH); - digitalWrite(clockPin, LOW); - } -} diff --git a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/variants/standard/pins_arduino.h b/ArduinoAddons/Arduino_1.0.x/hardware/rambo/variants/standard/pins_arduino.h deleted file mode 100644 index f49a23fc0..000000000 --- a/ArduinoAddons/Arduino_1.0.x/hardware/rambo/variants/standard/pins_arduino.h +++ /dev/null @@ -1,411 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 82 -#define NUM_ANALOG_INPUTS 16 -#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1) -#define digitalPinHasPWM(p) (((p) >= 2 && (p) <= 13) || ((p) >= 44 && (p)<= 46)) - -static const uint8_t SS = 53; -static const uint8_t MOSI = 51; -static const uint8_t MISO = 50; -static const uint8_t SCK = 52; - -static const uint8_t SDA = 20; -static const uint8_t SCL = 21; -static const uint8_t LED_BUILTIN = 13; - -static const uint8_t A0 = 54; -static const uint8_t A1 = 55; -static const uint8_t A2 = 56; -static const uint8_t A3 = 57; -static const uint8_t A4 = 58; -static const uint8_t A5 = 59; -static const uint8_t A6 = 60; -static const uint8_t A7 = 61; -static const uint8_t A8 = 62; -static const uint8_t A9 = 63; -static const uint8_t A10 = 64; -static const uint8_t A11 = 65; -static const uint8_t A12 = 66; -static const uint8_t A13 = 67; -static const uint8_t A14 = 68; -static const uint8_t A15 = 69; - -// A majority of the pins are NOT PCINTs, SO BE WARNED (i.e. you cannot use them as receive pins) -// Only pins available for RECEIVE (TRANSMIT can be on any pin): -// (I've deliberately left out pin mapping to the Hardware USARTs - seems senseless to me) -// Pins: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 - -#define digitalPinToPCICR(p) ( (((p) >= 10) && ((p) <= 13)) || \ - (((p) >= 50) && ((p) <= 53)) || \ - (((p) >= 62) && ((p) <= 69)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? 2 : \ - 0 ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? (&PCMSK0) : \ - ( (((p) >= 62) && ((p) <= 69)) ? (&PCMSK2) : \ - ((uint8_t *)0) ) ) - -#define digitalPinToPCMSKbit(p) ( (((p) >= 10) && ((p) <= 13)) ? ((p) - 6) : \ - ( ((p) == 50) ? 3 : \ - ( ((p) == 51) ? 2 : \ - ( ((p) == 52) ? 1 : \ - ( ((p) == 53) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \ - 0 ) ) ) ) ) ) - -#ifdef ARDUINO_MAIN - -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, - (uint16_t) &DDRF, - (uint16_t) &DDRG, - (uint16_t) &DDRH, - NOT_A_PORT, - (uint16_t) &DDRJ, - (uint16_t) &DDRK, - (uint16_t) &DDRL, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, - (uint16_t) &PORTF, - (uint16_t) &PORTG, - (uint16_t) &PORTH, - NOT_A_PORT, - (uint16_t) &PORTJ, - (uint16_t) &PORTK, - (uint16_t) &PORTL, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PIN, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, - (uint16_t) &PINF, - (uint16_t) &PING, - (uint16_t) &PINH, - NOT_A_PIN, - (uint16_t) &PINJ, - (uint16_t) &PINK, - (uint16_t) &PINL, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - // PORTLIST - // ------------------------------------------- - PE , // PE 0 ** 0 ** USART0_RX - PE , // PE 1 ** 1 ** USART0_TX - PE , // PE 4 ** 2 ** PWM2 - PE , // PE 5 ** 3 ** PWM3 - PG , // PG 5 ** 4 ** PWM4 - PE , // PE 3 ** 5 ** PWM5 - PH , // PH 3 ** 6 ** PWM6 - PH , // PH 4 ** 7 ** PWM7 - PH , // PH 5 ** 8 ** PWM8 - PH , // PH 6 ** 9 ** PWM9 - PB , // PB 4 ** 10 ** PWM10 - PB , // PB 5 ** 11 ** PWM11 - PB , // PB 6 ** 12 ** PWM12 - PB , // PB 7 ** 13 ** PWM13 - PJ , // PJ 1 ** 14 ** USART3_TX - PJ , // PJ 0 ** 15 ** USART3_RX - PH , // PH 1 ** 16 ** USART2_TX - PH , // PH 0 ** 17 ** USART2_RX - PD , // PD 3 ** 18 ** USART1_TX - PD , // PD 2 ** 19 ** USART1_RX - PD , // PD 1 ** 20 ** I2C_SDA - PD , // PD 0 ** 21 ** I2C_SCL - PA , // PA 0 ** 22 ** D22 - PA , // PA 1 ** 23 ** D23 - PA , // PA 2 ** 24 ** D24 - PA , // PA 3 ** 25 ** D25 - PA , // PA 4 ** 26 ** D26 - PA , // PA 5 ** 27 ** D27 - PA , // PA 6 ** 28 ** D28 - PA , // PA 7 ** 29 ** D29 - PC , // PC 7 ** 30 ** D30 - PC , // PC 6 ** 31 ** D31 - PC , // PC 5 ** 32 ** D32 - PC , // PC 4 ** 33 ** D33 - PC , // PC 3 ** 34 ** D34 - PC , // PC 2 ** 35 ** D35 - PC , // PC 1 ** 36 ** D36 - PC , // PC 0 ** 37 ** D37 - PD , // PD 7 ** 38 ** D38 - PG , // PG 2 ** 39 ** D39 - PG , // PG 1 ** 40 ** D40 - PG , // PG 0 ** 41 ** D41 - PL , // PL 7 ** 42 ** D42 - PL , // PL 6 ** 43 ** D43 - PL , // PL 5 ** 44 ** D44 - PL , // PL 4 ** 45 ** D45 - PL , // PL 3 ** 46 ** D46 - PL , // PL 2 ** 47 ** D47 - PL , // PL 1 ** 48 ** D48 - PL , // PL 0 ** 49 ** D49 - PB , // PB 3 ** 50 ** SPI_MISO - PB , // PB 2 ** 51 ** SPI_MOSI - PB , // PB 1 ** 52 ** SPI_SCK - PB , // PB 0 ** 53 ** SPI_SS - PF , // PF 0 ** 54 ** A0 - PF , // PF 1 ** 55 ** A1 - PF , // PF 2 ** 56 ** A2 - PF , // PF 3 ** 57 ** A3 - PF , // PF 4 ** 58 ** A4 - PF , // PF 5 ** 59 ** A5 - PF , // PF 6 ** 60 ** A6 - PF , // PF 7 ** 61 ** A7 - PK , // PK 0 ** 62 ** A8 - PK , // PK 1 ** 63 ** A9 - PK , // PK 2 ** 64 ** A10 - PK , // PK 3 ** 65 ** A11 - PK , // PK 4 ** 66 ** A12 - PK , // PK 5 ** 67 ** A13 - PK , // PK 6 ** 68 ** A14 - PK , // PK 7 ** 69 ** A15 - PG , // PG 4 ** 70 ** D70 - PG , // PG 3 ** 71 ** D71 - PJ , // PJ 2 ** 72 ** D72 - PJ , // PJ 3 ** 73 ** D73 - PJ , // PJ 7 ** 74 ** D74 - PJ , // PJ 4 ** 75 ** D75 - PJ , // PJ 5 ** 76 ** D76 - PJ , // PJ 6 ** 77 ** D77 - PE , // PE 2 ** 78 ** D78 - PE , // PE 6 ** 79 ** D79 - PE , // PE 7 ** 80 ** D80 - PD , // PD 4 ** 81 ** D81 - PD , // PD 5 ** 82 ** D82 - PD , // PD 6 ** 83 ** D83 - PH , // PH 2 ** 84 ** D84 - PH , // PH 7 ** 85 ** D85 -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - // PIN IN PORT - // ------------------------------------------- - _BV( 0 ) , // PE 0 ** 0 ** USART0_RX - _BV( 1 ) , // PE 1 ** 1 ** USART0_TX - _BV( 4 ) , // PE 4 ** 2 ** PWM2 - _BV( 5 ) , // PE 5 ** 3 ** PWM3 - _BV( 5 ) , // PG 5 ** 4 ** PWM4 - _BV( 3 ) , // PE 3 ** 5 ** PWM5 - _BV( 3 ) , // PH 3 ** 6 ** PWM6 - _BV( 4 ) , // PH 4 ** 7 ** PWM7 - _BV( 5 ) , // PH 5 ** 8 ** PWM8 - _BV( 6 ) , // PH 6 ** 9 ** PWM9 - _BV( 4 ) , // PB 4 ** 10 ** PWM10 - _BV( 5 ) , // PB 5 ** 11 ** PWM11 - _BV( 6 ) , // PB 6 ** 12 ** PWM12 - _BV( 7 ) , // PB 7 ** 13 ** PWM13 - _BV( 1 ) , // PJ 1 ** 14 ** USART3_TX - _BV( 0 ) , // PJ 0 ** 15 ** USART3_RX - _BV( 1 ) , // PH 1 ** 16 ** USART2_TX - _BV( 0 ) , // PH 0 ** 17 ** USART2_RX - _BV( 3 ) , // PD 3 ** 18 ** USART1_TX - _BV( 2 ) , // PD 2 ** 19 ** USART1_RX - _BV( 1 ) , // PD 1 ** 20 ** I2C_SDA - _BV( 0 ) , // PD 0 ** 21 ** I2C_SCL - _BV( 0 ) , // PA 0 ** 22 ** D22 - _BV( 1 ) , // PA 1 ** 23 ** D23 - _BV( 2 ) , // PA 2 ** 24 ** D24 - _BV( 3 ) , // PA 3 ** 25 ** D25 - _BV( 4 ) , // PA 4 ** 26 ** D26 - _BV( 5 ) , // PA 5 ** 27 ** D27 - _BV( 6 ) , // PA 6 ** 28 ** D28 - _BV( 7 ) , // PA 7 ** 29 ** D29 - _BV( 7 ) , // PC 7 ** 30 ** D30 - _BV( 6 ) , // PC 6 ** 31 ** D31 - _BV( 5 ) , // PC 5 ** 32 ** D32 - _BV( 4 ) , // PC 4 ** 33 ** D33 - _BV( 3 ) , // PC 3 ** 34 ** D34 - _BV( 2 ) , // PC 2 ** 35 ** D35 - _BV( 1 ) , // PC 1 ** 36 ** D36 - _BV( 0 ) , // PC 0 ** 37 ** D37 - _BV( 7 ) , // PD 7 ** 38 ** D38 - _BV( 2 ) , // PG 2 ** 39 ** D39 - _BV( 1 ) , // PG 1 ** 40 ** D40 - _BV( 0 ) , // PG 0 ** 41 ** D41 - _BV( 7 ) , // PL 7 ** 42 ** D42 - _BV( 6 ) , // PL 6 ** 43 ** D43 - _BV( 5 ) , // PL 5 ** 44 ** D44 - _BV( 4 ) , // PL 4 ** 45 ** D45 - _BV( 3 ) , // PL 3 ** 46 ** D46 - _BV( 2 ) , // PL 2 ** 47 ** D47 - _BV( 1 ) , // PL 1 ** 48 ** D48 - _BV( 0 ) , // PL 0 ** 49 ** D49 - _BV( 3 ) , // PB 3 ** 50 ** SPI_MISO - _BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI - _BV( 1 ) , // PB 1 ** 52 ** SPI_SCK - _BV( 0 ) , // PB 0 ** 53 ** SPI_SS - _BV( 0 ) , // PF 0 ** 54 ** A0 - _BV( 1 ) , // PF 1 ** 55 ** A1 - _BV( 2 ) , // PF 2 ** 56 ** A2 - _BV( 3 ) , // PF 3 ** 57 ** A3 - _BV( 4 ) , // PF 4 ** 58 ** A4 - _BV( 5 ) , // PF 5 ** 59 ** A5 - _BV( 6 ) , // PF 6 ** 60 ** A6 - _BV( 7 ) , // PF 7 ** 61 ** A7 - _BV( 0 ) , // PK 0 ** 62 ** A8 - _BV( 1 ) , // PK 1 ** 63 ** A9 - _BV( 2 ) , // PK 2 ** 64 ** A10 - _BV( 3 ) , // PK 3 ** 65 ** A11 - _BV( 4 ) , // PK 4 ** 66 ** A12 - _BV( 5 ) , // PK 5 ** 67 ** A13 - _BV( 6 ) , // PK 6 ** 68 ** A14 - _BV( 7 ) , // PK 7 ** 69 ** A15 - _BV( 4 ) , // PG 4 ** 70 ** D70 - _BV( 3 ) , // PG 3 ** 71 ** D71 - _BV( 2 ) , // PJ 2 ** 72 ** D72 - _BV( 3 ) , // PJ 3 ** 73 ** D73 - _BV( 7 ) , // PJ 7 ** 74 ** D74 - _BV( 4 ) , // PJ 4 ** 75 ** D75 - _BV( 5 ) , // PJ 5 ** 76 ** D76 - _BV( 6 ) , // PJ 6 ** 77 ** D77 - _BV( 2 ) , // PE 2 ** 78 ** D78 - _BV( 6 ) , // PE 6 ** 79 ** D79 - _BV( 7 ) , // PE 7 ** 80 ** D80 - _BV( 4 ) , // PD 4 ** 81 ** D81 - _BV( 5 ) , // PD 5 ** 82 ** D82 - _BV( 6 ) , // PD 6 ** 83 ** D83 - _BV( 2 ) , // PH 2 ** 84 ** D84 - _BV( 7 ) , // PH 7 ** 85 ** D85 -}; - -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - // TIMERS - // ------------------------------------------- - NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RX - NOT_ON_TIMER , // PE 1 ** 1 ** USART0_TX - TIMER3B , // PE 4 ** 2 ** PWM2 - TIMER3C , // PE 5 ** 3 ** PWM3 - TIMER0B , // PG 5 ** 4 ** PWM4 - TIMER3A , // PE 3 ** 5 ** PWM5 - TIMER4A , // PH 3 ** 6 ** PWM6 - TIMER4B , // PH 4 ** 7 ** PWM7 - TIMER4C , // PH 5 ** 8 ** PWM8 - TIMER2B , // PH 6 ** 9 ** PWM9 - TIMER2A , // PB 4 ** 10 ** PWM10 - TIMER1A , // PB 5 ** 11 ** PWM11 - TIMER1B , // PB 6 ** 12 ** PWM12 - TIMER0A , // PB 7 ** 13 ** PWM13 - NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TX - NOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RX - NOT_ON_TIMER , // PH 1 ** 16 ** USART2_TX - NOT_ON_TIMER , // PH 0 ** 17 ** USART2_RX - NOT_ON_TIMER , // PD 3 ** 18 ** USART1_TX - NOT_ON_TIMER , // PD 2 ** 19 ** USART1_RX - NOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDA - NOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCL - NOT_ON_TIMER , // PA 0 ** 22 ** D22 - NOT_ON_TIMER , // PA 1 ** 23 ** D23 - NOT_ON_TIMER , // PA 2 ** 24 ** D24 - NOT_ON_TIMER , // PA 3 ** 25 ** D25 - NOT_ON_TIMER , // PA 4 ** 26 ** D26 - NOT_ON_TIMER , // PA 5 ** 27 ** D27 - NOT_ON_TIMER , // PA 6 ** 28 ** D28 - NOT_ON_TIMER , // PA 7 ** 29 ** D29 - NOT_ON_TIMER , // PC 7 ** 30 ** D30 - NOT_ON_TIMER , // PC 6 ** 31 ** D31 - NOT_ON_TIMER , // PC 5 ** 32 ** D32 - NOT_ON_TIMER , // PC 4 ** 33 ** D33 - NOT_ON_TIMER , // PC 3 ** 34 ** D34 - NOT_ON_TIMER , // PC 2 ** 35 ** D35 - NOT_ON_TIMER , // PC 1 ** 36 ** D36 - NOT_ON_TIMER , // PC 0 ** 37 ** D37 - NOT_ON_TIMER , // PD 7 ** 38 ** D38 - NOT_ON_TIMER , // PG 2 ** 39 ** D39 - NOT_ON_TIMER , // PG 1 ** 40 ** D40 - NOT_ON_TIMER , // PG 0 ** 41 ** D41 - NOT_ON_TIMER , // PL 7 ** 42 ** D42 - NOT_ON_TIMER , // PL 6 ** 43 ** D43 - TIMER5C , // PL 5 ** 44 ** D44 - TIMER5B , // PL 4 ** 45 ** D45 - TIMER5A , // PL 3 ** 46 ** D46 - NOT_ON_TIMER , // PL 2 ** 47 ** D47 - NOT_ON_TIMER , // PL 1 ** 48 ** D48 - NOT_ON_TIMER , // PL 0 ** 49 ** D49 - NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISO - NOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSI - NOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCK - NOT_ON_TIMER , // PB 0 ** 53 ** SPI_SS - NOT_ON_TIMER , // PF 0 ** 54 ** A0 - NOT_ON_TIMER , // PF 1 ** 55 ** A1 - NOT_ON_TIMER , // PF 2 ** 56 ** A2 - NOT_ON_TIMER , // PF 3 ** 57 ** A3 - NOT_ON_TIMER , // PF 4 ** 58 ** A4 - NOT_ON_TIMER , // PF 5 ** 59 ** A5 - NOT_ON_TIMER , // PF 6 ** 60 ** A6 - NOT_ON_TIMER , // PF 7 ** 61 ** A7 - NOT_ON_TIMER , // PK 0 ** 62 ** A8 - NOT_ON_TIMER , // PK 1 ** 63 ** A9 - NOT_ON_TIMER , // PK 2 ** 64 ** A10 - NOT_ON_TIMER , // PK 3 ** 65 ** A11 - NOT_ON_TIMER , // PK 4 ** 66 ** A12 - NOT_ON_TIMER , // PK 5 ** 67 ** A13 - NOT_ON_TIMER , // PK 6 ** 68 ** A14 - NOT_ON_TIMER , // PK 7 ** 69 ** A15 - NOT_ON_TIMER , // PG 4 ** 70 ** D70 - NOT_ON_TIMER , // PG 3 ** 71 ** D71 - NOT_ON_TIMER , // PJ 2 ** 72 ** D72 - NOT_ON_TIMER , // PJ 3 ** 73 ** D73 - NOT_ON_TIMER , // PJ 7 ** 74 ** D74 - NOT_ON_TIMER , // PJ 4 ** 75 ** D75 - NOT_ON_TIMER , // PJ 5 ** 76 ** D76 - NOT_ON_TIMER , // PJ 6 ** 77 ** D77 - NOT_ON_TIMER , // PE 2 ** 78 ** D78 - NOT_ON_TIMER , // PE 6 ** 79 ** D79 - NOT_ON_TIMER , // PE 7 ** 80 ** D80 - NOT_ON_TIMER , // PD 4 ** 81 ** D81 - NOT_ON_TIMER , // PD 5 ** 82 ** D82 - NOT_ON_TIMER , // PD 6 ** 83 ** D83 - NOT_ON_TIMER , // PH 2 ** 84 ** D84 - NOT_ON_TIMER , // PH 7 ** 85 ** D85 -}; - -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.cpp b/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.cpp deleted file mode 100644 index 61efca46e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.cpp +++ /dev/null @@ -1,310 +0,0 @@ -#include "LiquidCrystal.h" - -#include -#include -#include -#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); - -} - -/********** high level commands, for the user! */ -void LiquidCrystal::clear() -{ - command(LCD_CLEARDISPLAY); // clear display, set cursor position to zero - delayMicroseconds(2000); // this command takes a long time! -} - -void LiquidCrystal::home() -{ - command(LCD_RETURNHOME); // set cursor position to zero - delayMicroseconds(2000); // 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(); -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.h b/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.h deleted file mode 100644 index 24ec5afdf..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/LiquidCrystal.h +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef LiquidCrystal_h -#define LiquidCrystal_h - -#include -#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 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 diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/keywords.txt b/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/keywords.txt deleted file mode 100644 index 132845cb6..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/LiquidCrystal/keywords.txt +++ /dev/null @@ -1,37 +0,0 @@ -####################################### -# Syntax Coloring Map For LiquidCrystal -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -LiquidCrystal KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -begin KEYWORD2 -clear KEYWORD2 -home KEYWORD2 -print KEYWORD2 -setCursor KEYWORD2 -cursor KEYWORD2 -noCursor KEYWORD2 -blink KEYWORD2 -noBlink KEYWORD2 -display KEYWORD2 -noDisplay KEYWORD2 -autoscroll KEYWORD2 -noAutoscroll KEYWORD2 -leftToRight KEYWORD2 -rightToLeft KEYWORD2 -scrollDisplayLeft KEYWORD2 -scrollDisplayRight KEYWORD2 -createChar KEYWORD2 - -####################################### -# Constants (LITERAL1) -####################################### - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.cpp b/ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.cpp deleted file mode 100644 index 5e48073f7..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2010 by Cristian Maglie - * SPI Master library for arduino. - * - * This file is free software; you can redistribute it and/or modify - * it under the terms of either the GNU General Public License version 2 - * or the GNU Lesser General Public License version 2.1, both as - * published by the Free Software Foundation. - */ - -#include "pins_arduino.h" -#include "SPI.h" - -SPIClass SPI; - -void SPIClass::begin() { - - // Set SS to high so a connected chip will be "deselected" by default - digitalWrite(SS, HIGH); - - // When the SS pin is set as OUTPUT, it can be used as - // a general purpose output port (it doesn't influence - // SPI operations). - pinMode(SS, OUTPUT); - - // Warning: if the SS pin ever becomes a LOW INPUT then SPI - // automatically switches to Slave, so the data direction of - // the SS pin MUST be kept as OUTPUT. - SPCR |= _BV(MSTR); - SPCR |= _BV(SPE); - - // Set direction register for SCK and MOSI pin. - // MISO pin automatically overrides to INPUT. - // By doing this AFTER enabling SPI, we avoid accidentally - // clocking in a single bit since the lines go directly - // from "input" to SPI control. - // http://code.google.com/p/arduino/issues/detail?id=888 - pinMode(SCK, OUTPUT); - pinMode(MOSI, OUTPUT); -} - - -void SPIClass::end() { - SPCR &= ~_BV(SPE); -} - -void SPIClass::setBitOrder(uint8_t bitOrder) -{ - if(bitOrder == LSBFIRST) { - SPCR |= _BV(DORD); - } else { - SPCR &= ~(_BV(DORD)); - } -} - -void SPIClass::setDataMode(uint8_t mode) -{ - SPCR = (SPCR & ~SPI_MODE_MASK) | mode; -} - -void SPIClass::setClockDivider(uint8_t rate) -{ - SPCR = (SPCR & ~SPI_CLOCK_MASK) | (rate & SPI_CLOCK_MASK); - SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((rate >> 2) & SPI_2XCLOCK_MASK); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.h b/ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.h deleted file mode 100644 index f647d5c89..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/SPI/SPI.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2010 by Cristian Maglie - * SPI Master library for arduino. - * - * This file is free software; you can redistribute it and/or modify - * it under the terms of either the GNU General Public License version 2 - * or the GNU Lesser General Public License version 2.1, both as - * published by the Free Software Foundation. - */ - -#ifndef _SPI_H_INCLUDED -#define _SPI_H_INCLUDED - -#include -#include -#include - -#define SPI_CLOCK_DIV4 0x00 -#define SPI_CLOCK_DIV16 0x01 -#define SPI_CLOCK_DIV64 0x02 -#define SPI_CLOCK_DIV128 0x03 -#define SPI_CLOCK_DIV2 0x04 -#define SPI_CLOCK_DIV8 0x05 -#define SPI_CLOCK_DIV32 0x06 -//#define SPI_CLOCK_DIV64 0x07 - -#define SPI_MODE0 0x00 -#define SPI_MODE1 0x04 -#define SPI_MODE2 0x08 -#define SPI_MODE3 0x0C - -#define SPI_MODE_MASK 0x0C // CPOL = bit 3, CPHA = bit 2 on SPCR -#define SPI_CLOCK_MASK 0x03 // SPR1 = bit 1, SPR0 = bit 0 on SPCR -#define SPI_2XCLOCK_MASK 0x01 // SPI2X = bit 0 on SPSR - -class SPIClass { -public: - inline static byte transfer(byte _data); - - // SPI Configuration methods - - inline static void attachInterrupt(); - inline static void detachInterrupt(); // Default - - static void begin(); // Default - static void end(); - - static void setBitOrder(uint8_t); - static void setDataMode(uint8_t); - static void setClockDivider(uint8_t); -}; - -extern SPIClass SPI; - -byte SPIClass::transfer(byte _data) { - SPDR = _data; - while (!(SPSR & _BV(SPIF))) - ; - return SPDR; -} - -void SPIClass::attachInterrupt() { - SPCR |= _BV(SPIE); -} - -void SPIClass::detachInterrupt() { - SPCR &= ~_BV(SPIE); -} - -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/SPI/keywords.txt b/ArduinoAddons/Arduino_1.0.x/libraries/SPI/keywords.txt deleted file mode 100644 index fa7616581..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/SPI/keywords.txt +++ /dev/null @@ -1,36 +0,0 @@ -####################################### -# Syntax Coloring Map SPI -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -SPI KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### -begin KEYWORD2 -end KEYWORD2 -transfer KEYWORD2 -setBitOrder KEYWORD2 -setDataMode KEYWORD2 -setClockDivider KEYWORD2 - - -####################################### -# Constants (LITERAL1) -####################################### -SPI_CLOCK_DIV4 LITERAL1 -SPI_CLOCK_DIV16 LITERAL1 -SPI_CLOCK_DIV64 LITERAL1 -SPI_CLOCK_DIV128 LITERAL1 -SPI_CLOCK_DIV2 LITERAL1 -SPI_CLOCK_DIV8 LITERAL1 -SPI_CLOCK_DIV32 LITERAL1 -SPI_CLOCK_DIV64 LITERAL1 -SPI_MODE0 LITERAL1 -SPI_MODE1 LITERAL1 -SPI_MODE2 LITERAL1 -SPI_MODE3 LITERAL1 \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/ChangeLog b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/ChangeLog deleted file mode 100644 index 9bf4b34ed..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/ChangeLog +++ /dev/null @@ -1,162 +0,0 @@ - -u8glib ChangeLog - -2012-01-01 v0.01 Oliver Kraus - * first beta release for Arduino IDE with simple SSD1325 support -2012-01-04 v0.02 Oliver Kraus - * support for some more display types -2012-01-07 v0.03 Oliver Kraus - * fixed some bugs, added more examples -2012-01-07 v0.04 Oliver Kraus - * single font file -2012-01-08 v0.05 Oliver Kraus - * Cleanup - * More examples - * SSD1325 graylevel support -2012-01-15 v0.06 Oliver Kraus - * LM6063 support -2012-01-17 v0.07 Oliver Kraus - * LM6063 support (update) -2012-01-19 v0.08 Oliver Kraus - * ST7920 beta device -2012-01-21 v0.09 Oliver Kraus - * ST7920 fixed (192x32) - * fixed bug in com layer if pins are none - * str reference position -2012-01-22 v0.10 Oliver Kraus - * Experimental LM6059 -2012-01-24 v0.11 Oliver Kraus - * new st7920 memory layout for 128x64 lcd - * experimental st7920 SPI -2012-01-25 v0.12 Oliver Kraus - * fixed st7920 memory layout for 128x64 lcd - * ST7920 SPI performance improvement -2012-01-27 v0.13 Oliver Kraus - * LM6059 (Adafruit Display) fixed -2012-02-01 v0.14 Oliver Kraus - * undoRotation() - * setRot..() can be used without restrictions - * Class U8GLIB derived from Print class. New function "print" - * Fixed memory index bug in the page management procedures -2012-02-12 v1.00 Oliver Kraus - * XBM support - * F() macro support - * str-rotation commands support ref-height and ref-position -2012-03-17 v1.02 Oliver Kraus - * U8GLIB_ST7687_C144MVGD spi experimental - * U8GLIB_LC7981_160X80 8bit - * Intersection test for frame and box procedures - * 4L double memory architecture - * setContrast infrastructure implemented, but not available for all devices - * drawCircle, drawDisc - * Bugfix for drawStr270 - * New examples: Chess (ported from dogm128 lib) and GraphicsTest -2012-03-31 v1.03 Oliver Kraus - * experimental parallel mode atmega - * more unifont code pages - * double memory, for NHD OLED and DOGXL160 - * "Menu" example - * drawLine -2012-04-13 v1.04 Oliver Kraus - * Adjust U8grelease: Same version number with AVR and Arduino variant -2012-06-10 v1.05 Oliver Kraus - * m2icon font - * experimental lc7981_240x64 device - * experimental ssd1306 - * experimental ssd1322 - * Hardware state backup/restore procedure -2012-06-15 v1.06 Oliver Kraus - * SBN1661 (SED1520?) support - * SSD1306 support - * U8G_PROGMEM bugfix -2012-07-04 v1.07 Oliver Kraus - * Added Makefiles for AVR release (issue 77) - * Fixed examples for Arduino Environment (issue 78) -2012-10-02 v1.08 Oliver Kraus - * Improved delay calculation for strobe pulse (issue 20) - * Support Chipkit (issue 39) - * Improved speed for ST7920 parallel mode (issue 79) - * Overall speed optimization (new page intersection algorithm) - * Support for Displays Newhaven NHD-C12864, CrystalFontz GFAG20232, Seeedstudio 96x96 OLED - * Added SPI support for ST7920 with plain AVR (issue 85) - * Add more LC7981 devices -2012-12-23 v1.09 Oliver Kraus - * Support for Displaytech 64128n - * Support for MINI12864 - * HW SPI for ST7920 - * Add delay after sending a byte with (ST7920 com) - * Support ATTiny - * Support I2C for SSD1306 - * bdf2u8g, Windows executable released - * LC7981 320x64 - * Scalue up: u8g::setScale2x2 - * Added more bitmap fonts - * u8g::drawRBox(), u8g::drawRFrame() - * Support for CFAG20232 (st7920_202x32) - * Fixed ST7920 SW SPI for ChipKit - * Support for tls8204 -2013-02-02 v1.10 Oliver Kraus - * Support for SSD1309 - * Support for NHD-C12832A1Z - * Bugfix: Fixed reset controll in parallel modes - * Bugfix: Fixed calculation of cursor position - * Bugfix: ST7920 parallel mode -2013-03-2 v1.11 Oliver Kraus - * Support for T6963 - * Support for Arduino Due - * Sleep Mode - * 4x mode for ST7920 - * New C++ interface for ST7920 -2013-03-24 v1.12 Oliver Kraus - * Added touch panel examples -2013-06-30 v1.13 Oliver Kraus - * Fixed missing "Arduino.h" in u8g_delay.c - * Disable interrupt for port/pin access (AVR), issue 19 - * Support for HT1632: U8GLIB_HT1632_24X16 u8g(wr, data, cs), issue 165 - * Support for SSD1351 OLED, issue 168 - * Cleaned up several compiler warnings - * Fixed conflict with scheduler (Arduino Due), issue 155 - * HW SPI for Arduino Due, issue 180 - * Performance improvement for ST7920, issue 177 - * Added ":" to the "n"umeric variant of the fonts, issue 166 - * Added additional argument u8g_InitCom(). Use U8G_SPI_CLK_CYCLE_NONE by default. - * Added double buffer option for many ST7565 devices - * Tested with Arduino 1.0.5 -2013-10-03 v1.14 Oliver Kraus - * Support for ARM controller - * Support for the A2 micro printer (issue 191) - * Ellipse drawing primitive (issue 187) - * Added software reset for UC1701 - * Fixed compiler warning (issue 196) - * Support for Freetronics SSD1351 OLED (issue 195) - * Several other fixes and improvements -2014-01-25 v1.15 Oliver Kraus - * Fixed a bug with the rotation procs: Occupied too much flash ROM (issue 219) - * Fixed issue with more than one SPI controller (SW SPI, issue 227) - * Added "drawTriangle" (issue 226) - * Added support for UC1608 (issue 214) - * Added ProFont family of fonts (issue 234) - * SW SPI support for Teensy 3 (issue 230) - * Removed Arduino/AVR specific files from ARM port (issue 209) -2014-07-05 v1.16 Oliver Kraus - * Added support for LD7032 60x32 OLED - * Added support for SSD1306 OLED, which does not send I2C ACK (issue 239) - * Added support for SH1106 128x64 OLED - * Added support for T6963 128x128 displays - * Added U8GLIB_SSD1306_ADAFRUIT_128X64 constructor -2014-12-21 v1.17 Oliver Kraus - * Added U8GLIB_UC1611_DOGM240 constructor (Issue 284) - * Added U8GLIB_UC1611_DOGXL240 constructor - * Added support for UC1608 controller (Issue 300) - * Added U8GLIB_SSD1306_ADAFRUIT_128X64 for Adafruit OLEDs (Issue 289) - * Bufix in the sleep on/off sequence (CS has not been releases, issue 298) - * helvB and helvR number only fonts (Issue 271) - * 400KHz option for I2C with U8G_I2C_OPT_FAST available for Due and Uno (Issue 303) - * I2C support for Arduino Due. 100KHz/400KHz, TWI & TWI1, ACK will be ignored (issue 285) - * Unifont update (Issue 297) - - - - - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/INSTALL.TXT b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/INSTALL.TXT deleted file mode 100644 index efcedd03b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/INSTALL.TXT +++ /dev/null @@ -1,26 +0,0 @@ - -U8GLIB -http://code.google.com/p/u8glib/ - -Install instructions for the Arduino environment. - - 1. Start Arduino IDE - 2. In the Arduino IDE, import the library from the "Add Library" Menu. - -Alternative install instructions for the Arduino environment. - - 1. Unzip u8glib_arduino_vX.XX.zip into the "libraries" folder of the - Arduino install directory - 2. Start Arduino IDE - -Install instructions for the Chipkit (Arduino) environment. - - 1. cd /libraries - 2. unzip u8glib_arduino_vX.XX.zip - 3. cd ///hardware/pic32/libraries - 4. again: u8glib_arduino_vX.XX.zip - 5. Open hardware/pic32/cores/pic32/Print.h - Remove line - #define BYTE 0 - from the file, use PRINT_BYTE instead of BYTE. - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.cpp b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.cpp deleted file mode 100644 index 542fc673a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - - U8glib.cpp - - C++ Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "U8glib.h" - - - -uint8_t U8GLIB::initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) -{ - prepare(); - return u8g_InitSPI(&u8g, dev, sck, mosi, cs, a0, reset); -} - -uint8_t U8GLIB::initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) -{ - prepare(); - return u8g_InitHWSPI(&u8g, dev, cs, a0, reset); -} - -uint8_t U8GLIB::initI2C(u8g_dev_t *dev, uint8_t options) -{ - prepare(); - return u8g_InitI2C(&u8g, dev, options); -} - -uint8_t U8GLIB::init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) -{ - prepare(); - return u8g_Init8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); -} - -uint8_t U8GLIB::init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) -{ - prepare(); - return u8g_Init8BitFixedPort(&u8g, dev, en, cs, di, rw, reset); -} - -uint8_t U8GLIB::initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) -{ - prepare(); - return u8g_InitRW8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.h b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.h deleted file mode 100644 index bff8268dc..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/U8glib.h +++ /dev/null @@ -1,1268 +0,0 @@ -/* - - U8glib.h - - C++ Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#ifndef _CPP_U8GLIB -#define _CPP_U8GLIB - -#include -#include "utility/u8g.h" - - -class U8GLIB : public Print -{ - private: - u8g_t u8g; - u8g_uint_t tx, ty; // current position for the Print base class procedures - uint8_t is_begin; - - void prepare(void) { tx = 0; ty = 0; is_begin = 0; } - void cbegin(void) { if ( is_begin == 0 ) { is_begin = 1; u8g_Begin(&u8g); } } - uint8_t initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); - uint8_t initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); - uint8_t initI2C(u8g_dev_t *dev, uint8_t options); - protected: - uint8_t init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); - private: - uint8_t init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE); - uint8_t initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); - public: - - /* constructor */ - U8GLIB(void) - { } - U8GLIB(u8g_dev_t *dev) - { prepare(); u8g_Init(&u8g, dev); } - U8GLIB(u8g_dev_t *dev, u8g_com_fnptr com_fn) - { prepare(); u8g_InitComFn(&u8g, dev, com_fn); } - U8GLIB(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) - { initSPI(dev, sck, mosi, cs, a0, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) - { initHWSPI(dev, cs, a0, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t options) - { initI2C(dev, options); } - U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) - { init8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) - { initRW8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); } - - uint8_t begin(void) { is_begin = 1; return u8g_Begin(&u8g); } - - void setPrintPos(u8g_uint_t x, u8g_uint_t y) { tx = x; ty = y; } - u8g_t *getU8g(void) { return &u8g; } - - - /* implementation of the write interface to the print class */ -#if defined(ARDUINO) && ARDUINO >= 100 - size_t write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); return 1;} -#else - void write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); } -#endif - - /* screen rotation */ - void undoRotation(void) { u8g_UndoRotation(&u8g); } - void setRot90(void) { u8g_SetRot90(&u8g); } - void setRot180(void) { u8g_SetRot180(&u8g); } - void setRot270(void) { u8g_SetRot270(&u8g); } - - /* screen scaling */ - void undoScale(void) { u8g_UndoScale(&u8g); } - void setScale2x2(void) { u8g_SetScale2x2(&u8g); } - - /* picture loop */ - void firstPage(void) { cbegin(); u8g_FirstPage(&u8g); } - uint8_t nextPage(void) { return u8g_NextPage(&u8g); } - - /* system commands */ - uint8_t setContrast(uint8_t contrast) { cbegin(); return u8g_SetContrast(&u8g, contrast); } - void sleepOn(void) { u8g_SleepOn(&u8g); } - void sleepOff(void) { u8g_SleepOff(&u8g); } - - /* graphic primitives */ - void setColorEntry(uint8_t color_index, uint8_t r, uint8_t g, uint8_t b) { u8g_SetColorEntry(&u8g, color_index, r, g, b); } - void setHiColor(uint16_t rgb) { u8g_SetHiColor(&u8g, rgb); } - void setHiColorByRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetHiColorByRGB(&u8g, r, g, b); } - void setRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetRGB(&u8g, r, g, b); } - - void setColorIndex(uint8_t color_index) { u8g_SetColorIndex(&u8g, color_index); } - uint8_t getColorIndex(void) { return u8g_GetColorIndex(&u8g); } - - void setDefaultForegroundColor(void) { u8g_SetDefaultForegroundColor(&u8g); } - void setDefaultBackgroundColor(void) { u8g_SetDefaultBackgroundColor(&u8g); } - void setDefaultMidColor(void) { u8g_SetDefaultMidColor(&u8g); } - - u8g_uint_t getWidth(void) { return u8g_GetWidth(&u8g); } - u8g_uint_t getHeight(void) { return u8g_GetHeight(&u8g); } - uint8_t getMode(void) { return u8g_GetMode(&u8g); } - - void drawPixel(u8g_uint_t x, u8g_uint_t y) { return u8g_DrawPixel(&u8g, x, y); } - void drawHLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) { u8g_DrawHLine(&u8g, x, y, w); } - void drawVLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) { u8g_DrawVLine(&u8g, x, y, h); } - void drawLine(u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) { u8g_DrawLine(&u8g, x1, y1, x2, y2); } - - void drawFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawFrame(&u8g, x, y, w, h); } - void drawRFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRFrame(&u8g, x, y, w, h,r); } - void drawBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawBox(&u8g, x, y, w, h); } - void drawRBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRBox(&u8g, x, y, w, h,r); } - - void drawCircle(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawCircle(&u8g, x0, y0, rad, opt); } - void drawDisc(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawDisc(&u8g, x0, y0, rad, opt); } - - void drawEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawEllipse(&u8g, x0, y0, rx, ry, opt); } - void drawFilledEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawFilledEllipse(&u8g, x0, y0, rx, ry, opt); } - - void drawTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) - { u8g_DrawTriangle(&u8g, x0, y0, x1, y1, x2, y2); } - - - - /* bitmap handling */ - void drawBitmap(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) - { u8g_DrawBitmap(&u8g, x, y, cnt, h, bitmap); } - void drawBitmapP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) - { u8g_DrawBitmapP(&u8g, x, y, cnt, h, bitmap); } - - void drawXBM(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) - { u8g_DrawXBM(&u8g, x, y, w, h, bitmap); } - void drawXBMP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) - { u8g_DrawXBMP(&u8g, x, y, w, h, bitmap); } - - - /* font handling */ - void setFont(const u8g_fntpgm_uint8_t *font) {u8g_SetFont(&u8g, font); } - int8_t getFontAscent(void) { return u8g_GetFontAscent(&u8g); } - int8_t getFontDescent(void) { return u8g_GetFontDescent(&u8g); } - int8_t getFontLineSpacing(void) { return u8g_GetFontLineSpacing(&u8g); } - - u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr(&u8g, x, y, s); } - u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr90(&u8g, x, y, s); } - u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr180(&u8g, x, y, s); } - u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr270(&u8g, x, y, s); } - u8g_uint_t drawStrP(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStrP(&u8g, x, y, s); } - u8g_uint_t drawStr90P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr90P(&u8g, x, y, s); } - u8g_uint_t drawStr180P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr180P(&u8g, x, y, s); } - u8g_uint_t drawStr270P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr270P(&u8g, x, y, s); } - - void setFontPosBaseline(void) { u8g_SetFontPosBaseline(&u8g); } - void setFontPosBottom(void) { u8g_SetFontPosBottom(&u8g); } - void setFontPosCenter(void) { u8g_SetFontPosCenter(&u8g); } - void setFontPosTop(void) { u8g_SetFontPosTop(&u8g); } - - void setFontRefHeightText(void) { u8g_SetFontRefHeightText(&u8g); } - void setFontRefHeightExtendedText(void) { u8g_SetFontRefHeightExtendedText(&u8g); } - void setFontRefHeightAll(void) { u8g_SetFontRefHeightAll(&u8g); } - void setFontLineSpacingFactor(uint8_t factor) { u8g_SetFontLineSpacingFactor(&u8g, factor); } - - - u8g_uint_t getStrPixelWidth(const char *s) { return u8g_GetStrPixelWidth(&u8g, s); } - u8g_uint_t getStrPixelWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrPixelWidthP(&u8g, s); } - u8g_uint_t getStrWidth(const char *s) { return u8g_GetStrWidth(&u8g, s); } - u8g_uint_t getStrWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrWidthP(&u8g, s); } - - void setHardwareBackup(u8g_state_cb backup_cb) { u8g_SetHardwareBackup(&u8g, backup_cb); } - -#if defined(ARDUINO) && ARDUINO >= 100 - // support for the F() macro - - u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStrP(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr90P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr180P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr270P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - - u8g_uint_t getStrPixelWidth(const __FlashStringHelper *s) { return u8g_GetStrPixelWidthP(&u8g, (u8g_pgm_uint8_t *)s); } - u8g_uint_t getStrWidth(const __FlashStringHelper *s) { return u8g_GetStrWidthP(&u8g, (u8g_pgm_uint8_t *)s); } -#endif - - /* cursor handling */ - void setCursorFont(const u8g_pgm_uint8_t *cursor_font) { u8g_SetCursorFont(&u8g, cursor_font); } - void setCursorStyle(uint8_t encoding) { u8g_SetCursorStyle(&u8g, encoding); } - void setCursorPos(u8g_uint_t cursor_x, u8g_uint_t cursor_y) { u8g_SetCursorPos(&u8g, cursor_x, cursor_y); } - void setCursorColor(uint8_t fg, uint8_t bg) { u8g_SetCursorColor(&u8g, fg, bg); } - void enableCursor(void) { u8g_EnableCursor(&u8g); } - void disableCursor(void) { u8g_DisableCursor(&u8g); } - void drawCursor(void) { u8g_DrawCursor(&u8g); } - - /* virtual screen */ - - void setVirtualScreenDimension(u8g_uint_t width, u8g_uint_t height) { u8g_SetVirtualScreenDimension(&u8g, width, height); } - uint8_t addToVirtualScreen(u8g_uint_t x, u8g_uint_t y, U8GLIB &child_u8g) { return u8g_AddToVirtualScreen(&u8g, x, y, &child_u8g.u8g); } - -}; - - -class U8GLIB_DOGS102 : public U8GLIB -{ - public: - U8GLIB_DOGS102(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGS102(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGS102_2X : public U8GLIB -{ - public: - U8GLIB_DOGS102_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGS102_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_MINI12864 : public U8GLIB -{ - public: - U8GLIB_MINI12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_MINI12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_MINI12864_2X : public U8GLIB -{ - public: - U8GLIB_MINI12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_MINI12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGM132 : public U8GLIB -{ - public: - U8GLIB_DOGM132(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm132_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM132(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm132_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD_C12832 : public U8GLIB -{ - public: - U8GLIB_NHD_C12832(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12832(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD_C12832(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD_C12832_USART : public U8GLIB -{ - public: - U8GLIB_NHD_C12832_USART(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_usart_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGM128 : public U8GLIB -{ - public: - U8GLIB_DOGM128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_hw_spi, cs, a0, reset) - { } - U8GLIB_DOGM128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_DOGM128_2X : public U8GLIB -{ - public: - U8GLIB_DOGM128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_DOGM128_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LM6059 : public U8GLIB -{ - public: - U8GLIB_LM6059(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6059(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6059_2X : public U8GLIB -{ - public: - U8GLIB_LM6059_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6059_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6063 : public U8GLIB -{ - public: - U8GLIB_LM6063(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6063(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6063_2X : public U8GLIB -{ - public: - U8GLIB_LM6063_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6063_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_64128N : public U8GLIB -{ - public: - U8GLIB_64128N(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_64128N(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_hw_spi, cs, a0, reset) - { } - U8GLIB_64128N(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_64128N_2X : public U8GLIB -{ - public: - U8GLIB_64128N_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_64128N_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_64128N_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD_C12864 : public U8GLIB -{ - public: - U8GLIB_NHD_C12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD_C12864_2X : public U8GLIB -{ - public: - U8GLIB_NHD_C12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1601_C128032 : public U8GLIB -{ - public: - U8GLIB_UC1601_C128032(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1601_C128032(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1601_C128032_2X : public U8GLIB -{ - public: - U8GLIB_UC1601_C128032_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1601_C128032_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X64 : public U8GLIB -{ - public: - U8GLIB_UC1608_240X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X64_2X : public U8GLIB -{ - public: - U8GLIB_UC1608_240X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X128 : public U8GLIB -{ - public: - U8GLIB_UC1608_240X128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X128_2X : public U8GLIB -{ - public: - U8GLIB_UC1608_240X128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_2x_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_UC1611_DOGM240 : public U8GLIB -{ - public: - U8GLIB_UC1611_DOGM240(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_uc1611_dogm240_i2c, options) - {} - U8GLIB_UC1611_DOGM240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogm240_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1611_DOGM240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogm240_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1611_DOGXL240 : public U8GLIB -{ - public: - U8GLIB_UC1611_DOGXL240(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_uc1611_dogxl240_i2c, options) - {} - U8GLIB_UC1611_DOGXL240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogxl240_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1611_DOGXL240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogxl240_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_ST7920_128X64 : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } - // U8GLIB_ST7920_128X64(uint8_t cs) - // : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, cs, U8G_PIN_NONE, U8G_PIN_NONE) - // { } -}; - -class U8GLIB_ST7920_128X64_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_128X64_CUSTOM_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_CUSTOM_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_custom, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_128X64_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_128X64_CUSTOM_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_CUSTOM_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_custom, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_ST7920_192X32 : public U8GLIB // OBSOLETE, use U8GLIB_ST7920_192X32_1X instead -{ - public: - U8GLIB_ST7920_192X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_192X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_192X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_ST7920_192X32_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_192X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_192X32_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_192X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_ST7920_202X32 : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_202X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_202X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_ST7920_202X32_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_202X32_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_LC7981_160X80 : public U8GLIB -{ - public: - U8GLIB_LC7981_160X80(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_160x80_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LC7981_240X64 : public U8GLIB -{ - public: - U8GLIB_LC7981_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LC7981_240X128 : public U8GLIB -{ - public: - U8GLIB_LC7981_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -// 16 bit mode required: Remove comment from "#define U8G_16BIT 1" in utility/utility/u8g.h -class U8GLIB_LC7981_320X64 : public U8GLIB -{ - public: - U8GLIB_LC7981_320X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_320x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - - - -class U8GLIB_DOGXL160_BW : public U8GLIB -{ - public: - U8GLIB_DOGXL160_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_GR : public U8GLIB -{ - public: - U8GLIB_DOGXL160_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_2X_BW : public U8GLIB -{ - public: - U8GLIB_DOGXL160_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_2X_GR : public U8GLIB -{ - public: - U8GLIB_DOGXL160_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_NHD27OLED_BW : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD27OLED_2X_BW : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD31OLED_BW : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD31OLED_2X_BW : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD31OLED_GR : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_GR(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD31OLED_2X_GR : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_SSD1306_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_i2c, options) - { } -}; - -class U8GLIB_SSD1306_ADAFRUIT_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_i2c, options) - { } -}; - - -class U8GLIB_SSD1306_128X64_2X : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_2x_i2c, options) - { } -}; - -class U8GLIB_SH1106_128X64 : public U8GLIB -{ - public: - U8GLIB_SH1106_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_i2c, options) - { } -}; - -class U8GLIB_SH1106_128X64_2X : public U8GLIB -{ - public: - U8GLIB_SH1106_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_2x_i2c, options) - { } -}; - -class U8GLIB_SSD1309_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1309_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1309_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1309_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_i2c, options) - { } -}; - -class U8GLIB_SSD1306_128X32 : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_i2c, options) - { } -}; - -class U8GLIB_SSD1306_128X32_2X : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X32_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32_2X(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_2x_i2c, options) - { } -}; - - -class U8GLIB_NHD27OLED_GR : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD27OLED_2X_GR : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1327_96X96_GR : public U8GLIB -{ - public: - U8GLIB_SSD1327_96X96_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_GR(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_i2c, options) - { } -}; - -class U8GLIB_SSD1327_96X96_2X_GR : public U8GLIB -{ - public: - U8GLIB_SSD1327_96X96_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_2X_GR(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_i2c, options) - { } -}; - - -class U8GLIB_LD7032_60x32 : public U8GLIB -{ - public: - U8GLIB_LD7032_60x32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ld7032_60x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LD7032_60x32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ld7032_60x32_hw_spi, cs, a0, reset) - { } - U8GLIB_LD7032_60x32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ld7032_60x32_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - - - -class U8GLIB_HT1632_24X16 : public U8GLIB -{ - public: - U8GLIB_HT1632_24X16(uint8_t wr, uint8_t data, uint8_t cs) - : U8GLIB(&u8g_dev_ht1632_24x16, wr, data, cs, U8G_PIN_NONE, U8G_PIN_NONE) - { } -}; - - - -class U8GLIB_PCF8812 : public U8GLIB -{ - public: - U8GLIB_PCF8812(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcf8812_96x65_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_PCF8812(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcf8812_96x65_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_PCD8544 : public U8GLIB -{ - public: - U8GLIB_PCD8544(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcd8544_84x48_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_PCD8544(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcd8544_84x48_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_TLS8204_84X48 : public U8GLIB -{ - public: - U8GLIB_TLS8204_84X48(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_tls8204_84x48_sw_spi, sck, mosi, cs, a0, reset) - { } -}; - -class U8GLIB_KS0108_128 : public U8GLIB -{ - public: - U8GLIB_KS0108_128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_SBN1661_122X32 : public U8GLIB -{ - public: - U8GLIB_SBN1661_122X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sbn1661_122x32, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_T6963_240X128 : public U8GLIB -{ - public: - U8GLIB_T6963_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_128X128 : public U8GLIB -{ - public: - U8GLIB_T6963_128X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_128x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_240X64 : public U8GLIB -{ - public: - U8GLIB_T6963_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_128X64 : public U8GLIB -{ - public: - U8GLIB_T6963_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - - -class U8GLIB_ST7687_C144MVGD: public U8GLIB -{ - public: - U8GLIB_ST7687_C144MVGD(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7687_c144mvgd_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7687_C144MVGD(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs, uint8_t a0, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs, U8G_PIN_NONE, a0, rw, reset) - { } -}; - -class U8GLIB_ILI9325D_320x240 : public U8GLIB -{ - public: - /* - U8GLIB_ILI9325D_320x240(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ili9325d_320x240_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } - */ - U8GLIB_ILI9325D_320x240( uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - { init8BitFixedPort(&u8g_dev_ili9325d_320x240_8bit, en, cs1, di, rw, reset); } -}; - - - -class U8GLIB_SSD1351_128X128_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_4X_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_4X_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_IDX : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_IDX(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_idx_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_IDX(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_idx_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_4X_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_4X_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_FLIPDISC_2X7 : public U8GLIB -{ - public: - U8GLIB_FLIPDISC_2X7(void) : U8GLIB(&u8g_dev_flipdisc_2x7) - { } -}; - -class U8GLIB_VS : public U8GLIB -{ - public: - U8GLIB_VS(void) : U8GLIB(&u8g_dev_vs) - { } -}; - - -#endif /* _CPP_U8GLIB */ diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/A2Printer/A2Printer.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/A2Printer/A2Printer.ino deleted file mode 100644 index d40bd791b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/A2Printer/A2Printer.ino +++ /dev/null @@ -1,131 +0,0 @@ -/* - - A2Printer.pde - - Special example code for the A2 Mciro Printer (https://www.sparkfun.com/products/10438) - - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// use this serial interface -#define PRINTER_SERIAL Serial -// #define PRINTER_SERIAL Serial1 - - -uint8_t u8g_com_uart(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { - switch(msg) { - case U8G_COM_MSG_WRITE_BYTE: - PRINTER_SERIAL.write(arg_val); - break; - } - return 1; -} - -// setup u8g object, please remove comment from one of the following constructor calls - -// half resolution -//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x120_ds, (u8g_com_fnptr)u8g_com_uart); - -// full resolution, requires to uncomment U8G_16BIT in u8g.h -//U8GLIB u8g(&u8g_dev_a2_micro_printer_384x240, (u8g_com_fnptr)u8g_com_uart); - -// half resolution, extra log, requires to uncomment U8G_16BIT in u8g.h -//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x360_ds, (u8g_com_fnptr)u8g_com_uart); -U8GLIB u8g(&u8g_dev_a2_micro_printer_192x720_ds, (u8g_com_fnptr)u8g_com_uart); - - - -void drawLogo(uint8_t d) { - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(0+d, 30+d, "U"); - u8g.setFont(u8g_font_gdr30n); - u8g.drawStr90(23+d,10+d,"8"); - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(53+d,30+d,"g"); - - u8g.drawHLine(2+d, 35+d, 47); - u8g.drawVLine(45+d, 32+d, 12); -} - -void drawURL(void) { - u8g.setFont(u8g_font_4x6); - if ( u8g.getHeight() < 59 ) { - u8g.drawStr(53,9,"code.google.com"); - u8g.drawStr(77,18,"/p/u8glib"); - } - else { - u8g.drawStr(1,54,"code.google.com/p/u8glib"); - } -} - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - - drawLogo(0); - drawURL(); - u8g.drawFrame(0,0,u8g.getWidth(), u8g.getHeight()); - - u8g.setFont(u8g_font_helvR24r); - u8g.setPrintPos(0, 100); - u8g.print(u8g.getWidth(), DEC); - u8g.print("x"); - u8g.print(u8g.getHeight(), DEC); -} - -void setup(void) { - PRINTER_SERIAL.begin(19200); - - // flip screen, if required - // u8g.setRot180(); - - // assign default color value - u8g.setColorIndex(1); // pixel on -} - -void loop(void) { - - // picture loop: This will print the picture - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // send manual CR to the printer - PRINTER_SERIAL.write('\n'); - - // reprint the picture after 10 seconds - delay(10000); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Bitmap/Bitmap.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Bitmap/Bitmap.ino deleted file mode 100644 index e9a30e2d1..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Bitmap/Bitmap.ino +++ /dev/null @@ -1,166 +0,0 @@ -/* - - Bitmap.pde - - Show simple bitmap - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -const uint8_t rook_bitmap[] PROGMEM = { - 0x00, // 00000000 - 0x55, // 01010101 - 0x7f, // 01111111 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x7f // 01111111 -}; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.drawBitmapP( 0, 0, 1, 8, rook_bitmap); -} - -void setup(void) { -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(1000); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Chess/Chess.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Chess/Chess.ino deleted file mode 100644 index eeebe4ac2..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Chess/Chess.ino +++ /dev/null @@ -1,216 +0,0 @@ -/* - - Chess.pde - - Little Rook Chess - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -// DOGS102 shield configuration values -uint8_t uiKeyPrev = 2; -uint8_t uiKeyNext = 4; -uint8_t uiKeySelect = 5; -uint8_t uiKeyBack = 3; - -// DOGM128-Shield configuration values -// DOGXL60-Shield configuration values -//uint8_t uiKeyPrev = 7; -//uint8_t uiKeyNext = 3; -//uint8_t uiKeySelect = 2; -//uint8_t uiKeyBack = 8; - -uint8_t uiKeyCodeFirst = CHESS_KEY_NONE; -uint8_t uiKeyCodeSecond = CHESS_KEY_NONE; -uint8_t uiKeyCode = CHESS_KEY_NONE; - - -void uiSetup(void) { - // configure input keys - - pinMode(uiKeyPrev, INPUT); // set pin to input - digitalWrite(uiKeyPrev, HIGH); // turn on pullup resistors - pinMode(uiKeyNext, INPUT); // set pin to input - digitalWrite(uiKeyNext, HIGH); // turn on pullup resistors - pinMode(uiKeySelect, INPUT); // set pin to input - digitalWrite(uiKeySelect, HIGH); // turn on pullup resistors - pinMode(uiKeyBack, INPUT); // set pin to input - digitalWrite(uiKeyBack, HIGH); // turn on pullup resistors -} - -void uiStep(void) -{ - uiKeyCodeSecond = uiKeyCodeFirst; - if ( digitalRead(uiKeyPrev) == LOW ) - uiKeyCodeFirst = CHESS_KEY_PREV; - else if ( digitalRead(uiKeyNext) == LOW ) - uiKeyCodeFirst = CHESS_KEY_NEXT; - else if ( digitalRead(uiKeySelect) == LOW ) - uiKeyCodeFirst = CHESS_KEY_SELECT; - else if ( digitalRead(uiKeyBack) == LOW ) - uiKeyCodeFirst = CHESS_KEY_BACK; - else - uiKeyCodeFirst = CHESS_KEY_NONE; - - if ( uiKeyCodeSecond == uiKeyCodeFirst ) - uiKeyCode = uiKeyCodeFirst; - else - uiKeyCode = CHESS_KEY_NONE; -} - - -void setup() { - // rotate screen, if required - u8g.setRot180(); - - uiSetup(); - chess_Init(u8g.getU8g(), 0); -} - -void loop() { - uint8_t keyCode = CHESS_KEY_NONE; - - u8g.firstPage(); - do { - chess_Draw(); - uiStep(); - if ( uiKeyCode != CHESS_KEY_NONE ) - keyCode = uiKeyCode; - } while( u8g.nextPage() ); - - u8g_Delay(10); - chess_Step(keyCode); - uiStep(); - keyCode = uiKeyCode; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Color/Color.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Color/Color.ino deleted file mode 100644 index a389e3224..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Color/Color.ino +++ /dev/null @@ -1,201 +0,0 @@ -/* - - Color.pde - - "Hello World!" example code with color. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -void draw(void) { - - if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) { - /* draw background (area is 128x128) */ - u8g_uint_t r, g, b; - for( b = 0; b < 4; b++ ) - { - for( g = 0; g < 32; g++ ) - { - for( r = 0; r < 32; r++ ) - { - u8g.setRGB(r<<3, g<<3, b<<4 ); - u8g.drawPixel(g + b*32, r); - u8g.setRGB(r<<3, g<<3, (b<<4)+64 ); - u8g.drawPixel(g + b*32, r+32); - u8g.setRGB(r<<3, g<<3, (b<<4)+128 ); - u8g.drawPixel(g + b*32, r+32+32); - u8g.setRGB(r<<3, g<<3, (b<<4)+128+64 ); - u8g.drawPixel(g + b*32, r+32+32+32); - } - } - } - } - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { - u8g.setColorIndex(255); // white - } - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) { - u8g.setColorIndex(3); // max intensity - } - else if ( u8g.getMode() == U8G_MODE_BW ) { - u8g.setColorIndex(1); // pixel on - } - else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - u8g.setFont(u8g_font_unifont); - u8g.drawStr( 0, 22, "Hello World!"); - - -} - -void setup(void) { - - // flip screen, if required - // u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Console/Console.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Console/Console.ino deleted file mode 100644 index 70e0e2f09..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Console/Console.ino +++ /dev/null @@ -1,266 +0,0 @@ -/* - - Console.pde - - Read from serial monitor, output to display - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -// setup input buffer -#define LINE_MAX 30 -uint8_t line_buf[LINE_MAX] = "U8GLIB Console"; -uint8_t line_pos = 0; - -// setup a text screen to support scrolling -#define ROW_MAX 12 - - -uint8_t screen[ROW_MAX][LINE_MAX]; -uint8_t rows, cols; - -// line height, which matches the selected font (5x7) -#define LINE_PIXEL_HEIGHT 7 - -// clear entire screen, called during setup -void clear_screen(void) { - uint8_t i, j; - for( i = 0; i < ROW_MAX; i++ ) - for( j = 0; j < LINE_MAX; j++ ) - screen[i][j] = 0; -} - -// append a line to the screen, scroll up -void add_line_to_screen(void) { - uint8_t i, j; - for( j = 0; j < LINE_MAX; j++ ) - for( i = 0; i < rows-1; i++ ) - screen[i][j] = screen[i+1][j]; - - for( j = 0; j < LINE_MAX; j++ ) - screen[rows-1][j] = line_buf[j]; -} - -// U8GLIB draw procedure: output the screen -void draw(void) { - uint8_t i, y; - // graphic commands to redraw the complete screen are placed here - y = 0; // reference is the top left -1 position of the string - y--; // correct the -1 position of the drawStr - for( i = 0; i < rows; i++ ) - { - u8g.drawStr( 0, y, (char *)(screen[i])); - y += u8g.getFontLineSpacing(); - } -} - -void exec_line(void) { - // echo line to the serial monitor - Serial.println((const char *)line_buf); - - // add the line to the screen - add_line_to_screen(); - - // U8GLIB picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); -} - -// clear current input buffer -void reset_line(void) { - line_pos = 0; - line_buf[line_pos] = '\0'; -} - -// add a single character to the input buffer -void char_to_line(uint8_t c) { - line_buf[line_pos] = c; - line_pos++; - line_buf[line_pos] = '\0'; -} - -// check serial in and handle the character -void read_line(void) { - if ( Serial.available() ) - { - uint8_t c; - c = Serial.read(); - if ( line_pos >= cols-1 ) { - exec_line(); - reset_line(); - char_to_line(c); - } - else if ( c == '\n' ) { - // ignore '\n' - } - else if ( c == '\r' ) { - exec_line(); - reset_line(); - } - else { - char_to_line(c); - } - } -} - -// Arduino master setup -void setup(void) { - // set font for the console window - u8g.setFont(u8g_font_5x7); - //u8g.setFont(u8g_font_9x15); - - // set upper left position for the string draw procedure - u8g.setFontPosTop(); - - // calculate the number of rows for the display - rows = u8g.getHeight() / u8g.getFontLineSpacing(); - if ( rows > ROW_MAX ) - rows = ROW_MAX; - - // estimate the number of columns for the display - cols = u8g.getWidth() / u8g.getStrWidth("m"); - if ( cols > LINE_MAX-1 ) - cols = LINE_MAX-1; - - clear_screen(); // clear screen - delay(1000); // do some delay - Serial.begin(9600); // init serial - exec_line(); // place the input buffer into the screen - reset_line(); // clear input buffer -} - -// Arduino main loop -void loop(void) { - read_line(); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/F/F.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/F/F.ino deleted file mode 100644 index 4393ddfe4..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/F/F.ino +++ /dev/null @@ -1,175 +0,0 @@ -/* - - F.pde - - Example code for the F() macro. - - >>> This example requires Arduino 1.0 and above. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - - // assign default font - u8g.setFont(u8g_font_unifont); - - // pointer to strings in flash memory can be stored in a special type - const __FlashStringHelper *flash_ptr; - - // the result of the F() macro can be assigned to this pointer - flash_ptr = F("Hello World!"); - - // this pointer can be used as argument to the draw procedures - u8g.drawStr( 0+1, 20+1, flash_ptr); - u8g.drawStr( 0, 20, flash_ptr); - - // of course, the F() macro can be used directly - u8g.drawStr( 0, 40, F("PROGMEM")); - -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/FPS/FPS.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/FPS/FPS.ino deleted file mode 100644 index bcf93cd5b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/FPS/FPS.ino +++ /dev/null @@ -1,398 +0,0 @@ -/* - - FPS.pde - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ST7920_192X32, SPI: FPS: Box=7.6 @=9.8 iFPS: Box=11.4 @=14.7 - ST7920_192X32, 8Bit: FPS: Box=6.2 @=7.5 iFPS: Box=9.3 @=11.2 - DOGM128 SW SPI: FPS: Box=5.1 @=5.9 Pix=2.6 iFPS: Box=10.2 @=11.8 Pix=5.2 - DOGM128 HW SPI: FPS: Box=5.5 @=6.3 iFPS: Box=11.0 @=12.6 - DOGXL160 SW SPI: FPS: Box=1.7 @=1.9 iFPS: Box=6.9 @=7.7 - DOGXL160 HW SPI: FPS: Box=1.8 @=2.1 - - NHD27OLED_BW, SW SPI: FPS: Box=3.0 @=3.7 - NHD27OLED_BW, HW SPI: FPS: Box=3.5 @=4.5 - NHD27OLED_2X_BW, SW SPI: FPS: Box=3.8 @=4.9 - NHD27OLED_2X_BW, HW SPI: FPS: Box=4.6 @=6.4 - - 30 Sep 2012 - NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.9 @=4.4 NEW_CODE - NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.6 @=4.5 - NHD27OLED_BW, HW SPI: FPS: Clip=16.3 Box=4.7 @=5.6 - NHD27OLED_2X_BW, SW SPI: FPS: Clip=9.7 Box=4.5 @=5.8 - NHD27OLED_2X_BW, SW SPI: FPS: Clip=18.0 Box=5.8 @=7.9 - - 1 Oct 2012 - ST7920_192X32, 8Bit: FPS: Box=7.2 @=10.0 - DOGM128 SW SPI: FPS: Box=5.2 @=6.6 Pix=2.6 - DOGM128 HW SPI: FPS: Clip=33.2 Box=5.5 @=7.1 - DOGXL160 SW SPI: FPS: Box=1.7 @=2.0 - DOGXL160 HW SPI: FPS: Box=1.8 @=2.2 - - DOGXL160 GR SW SPI: FPS: Box=1.1 @=1.3 - - 1 Mar 2013 - ST7920_192X32_1X, SPI: FPS: Clip=10.3 Box=5.5 @=7.2 Pix=3.9 - ST7920_192X32_4X, SPI: FPS: Clip=10.9 Box=6.7 @=8.8 Pix=7.4 - ST7920_192X32_1X, 8Bit: FPS: Clip=14.2 Box=6.1 @=8.4 Pix=4.2 - ST7920_192X32_4X, 8Bit: FPS: Clip=14.2 Box=7.8 @=10.7 Pix=8.7 - ST7920_192X32_1X, HW SPI: FPS: Clip=14.2 Box=6.3 @=8.7 Pix=4.3 - ST7920_192X32_4X, HW SPI: FPS: Clip=15.3 Box=8.0 @=11.2 Pix=9.0 - - 2 Jun 2013 - U8GLIB_DOGM128 SW SPI: FPS: Clip=23.9 Box=4.5 @=6.6 Pix=2.1 - U8GLIB_DOGM128_2X SW SPI: FPS: Clip=28.5 Box=6.6 @=9.7 Pix=3.9 - U8GLIB_DOGM128_2X HW SPI: FPS: Clip=40.8 Box=7.1 @=10.8 Pix=4.1 - - 3 Jun 2013 - U8GLIB_ST7920_192X32_1X -Os SW SPI FPS: Clip=11.0 Box=5.4 @=7.1 Pix=3.9 Size=11828 - U8GLIB_ST7920_192X32_1X -O3 SW SPI FPS: Clip=10.9 Box=5.6 @=7.5 Pix=4.0 Size=13800 - U8GLIB_ST7920_192X32_1X -Os SW SPI FPS: Clip=16.8 Box=6.7 @=9.6 Pix=4.5 Size=11858 (new seq data output) - U8GLIB_ST7920_192X32_1X -Os HW SPI FPS: Clip=25.7 Box=7.5 @=11.3 Pix=4.8 (new seq data output) - - 6 Jun 2013 - U8GLIB_DOGS102 u8g(13, 11, 10, 9); STD SW SPI FPS: Clip=9.5 Box=7.6 @=8.2 Pix=6.2 Size=15652 - U8GLIB_DOGS102 u8g(13, 11, 10, 9); SW SPI FPS: Clip=19.1 Box=12.8 @=14.0 Pix=9.2 Size=15532 - - - 12 Jun 2013 - SSD1351_128X128_332 SW SPI Clip=1.3 Box=0.7 @=0.9 Pix=0.4 - SSD1351_128X128_332 HW SPI Clip=3.6 Box=1.1 @=1.5 Pix=0.5 - - 24 Jun 2013 - Uno SSD1351_128X128_332 SW SPI Clip=1.4 Box=0.8 @=0.9 Pix=0.4 - - Uno SSD1351_128X128_332 HW SPI Clip=4.4 Box=1.2 @=1.6 Pix=0.5 - Uno SSD1351_128X128_HICOLOR HW SPI Clip=3.7 Box=0.8 @=1.0 Pix=0.3 - - Mega2560 SSD1351_128X128_332 HW SPI Clip=4.4 Box=1.2 @=1.6 Pix=0.5 - Mega2560 SSD1351_128X128_4X_332 HW SPI Clip=4.6 Box=2.3 @=2.8 Pix=1.5 - Mega2560 SSD1351_128X128_HICOLOR HW SPI Clip=3.6 Box=0.8 @=1.0 Pix=0.3 - Mega2560 SSD1351_128X128_4X_HICOLOR HW SPI Clip=4.2 Box=1.7 @=2.1 Pix=1.0 - - Due SSD1351_128X128_332 HW SPI Clip=24.6 Box=6.3 @=7.8 Pix=2.8 - Due SSD1351_128X128_4X_332 HW SPI Clip=28.1 Box=13.0 @=15.1 Pix=8.5 - Due SSD1351_128X128_HICOLOR HW SPI Clip=20.8 Box=3.4 @=4.5 Pix=1.4 - Due SSD1351_128X128_4X_HICOLOR HW SPI Clip=26.3 Box=8.9 @=11.1 Pix=4.8 - - Due SSD1351_128X128_4X_HICOLOR SW SPI Clip=0.4 Box=0.4 @=0.4 Pix=0.4 - - Due DOGS102 u8g(13, 11, 10, 9); SW SPI FPS: Clip=19.1 Box=13.1 @=14.3 Pix=9.4 - Due DOGS102 u8g(10, 9); HW SPI FPS: Clip=128.9 Box=30.7 @=40.6 Pix=15.4 - - Due NHD27OLED_BW u8g(10, 9) HW SPI FPS: Clip=53.0 Box=19.6 @=23.8 Pix=10.6 - Due NHD27OLED_2X_BW u8g(10, 9) HW SPI FPS: Clip=57.0 Box=25.3 @=31.7 Pix=18.1 - Due NHD27OLED_GR u8g(10, 9) HW SPI FPS: Clip=34.1 Box=11.7 @=13.7 Pix=5.6 - Due NHD27OLED_2X_GR u8g(10, 9) HW SPI FPS: Clip=38.1 Box=15.5 @=20.0 Pix=8.8 - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -#define SECONDS 10 -uint8_t flip_color = 0; -uint8_t draw_color = 1; - -void draw_set_screen(void) { - // graphic commands to redraw the complete screen should be placed here - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - if ( flip_color == 0 ) - u8g.setHiColorByRGB(0,0,0); - else - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(flip_color); - } - u8g.drawBox( 0, 0, u8g.getWidth(), u8g.getHeight() ); -} - -void draw_clip_test(void) { - u8g_uint_t i, j, k; - char buf[3] = "AB"; - k = 0; - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - u8g.setFont(u8g_font_6x10); - - for( i = 0; i < 6; i++ ) { - for( j = 1; j < 8; j++ ) { - u8g.drawHLine(i-3, k, j); - u8g.drawHLine(i-3+10, k, j); - - u8g.drawVLine(k+20, i-3, j); - u8g.drawVLine(k+20, i-3+10, j); - - k++; - } - } - u8g.drawStr(0-3, 50, buf); - u8g.drawStr180(0+3, 50, buf); - - u8g.drawStr(u8g.getWidth()-3, 40, buf); - u8g.drawStr180(u8g.getWidth()+3, 40, buf); - - u8g.drawStr90(u8g.getWidth()-10, 0-3, buf); - u8g.drawStr270(u8g.getWidth()-10, 3, buf); - - u8g.drawStr90(u8g.getWidth()-20, u8g.getHeight()-3, buf); - u8g.drawStr270(u8g.getWidth()-20, u8g.getHeight()+3, buf); - -} - -void draw_char(void) { - char buf[2] = "@"; - u8g_uint_t i, j; - // graphic commands to redraw the complete screen should be placed here - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - u8g.setFont(u8g_font_6x10); - j = 8; - for(;;) { - i = 0; - for(;;) { - u8g.drawStr( i, j, buf); - i += 8; - if ( i > u8g.getWidth() ) - break; - } - j += 8; - if ( j > u8g.getHeight() ) - break; - } - -} - -void draw_pixel(void) { - u8g_uint_t x, y, w2, h2; - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - w2 = u8g.getWidth(); - h2 = u8g.getHeight(); - w2 /= 2; - h2 /= 2; - for( y = 0; y < h2; y++ ) { - for( x = 0; x < w2; x++ ) { - if ( (x + y) & 1 ) { - u8g.drawPixel(x,y); - u8g.drawPixel(x,y+h2); - u8g.drawPixel(x+w2,y); - u8g.drawPixel(x+w2,y+h2); - } - } - } -} - -// returns unadjusted FPS -uint16_t picture_loop_with_fps(void (*draw_fn)(void)) { - uint16_t FPS10 = 0; - uint32_t time; - - time = millis() + SECONDS*1000; - - // picture loop - do { - u8g.firstPage(); - do { - draw_fn(); - } while( u8g.nextPage() ); - FPS10++; - flip_color = flip_color ^ 1; - } while( millis() < time ); - return FPS10; -} - -const char *convert_FPS(uint16_t fps) { - static char buf[6]; - strcpy(buf, u8g_u8toa( (uint8_t)(fps/10), 3)); - buf[3] = '.'; - buf[4] = (fps % 10) + '0'; - buf[5] = '\0'; - return buf; -} - -void show_result(const char *s, uint16_t fps) { - // assign default color value - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - u8g.setFont(u8g_font_8x13B); - u8g.firstPage(); - do { - u8g.drawStr(0,12, s); - u8g.drawStr(0,24, convert_FPS(fps)); - } while( u8g.nextPage() ); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) - draw_color = 255; // white - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - draw_color = 3; // max intensity - else if ( u8g.getMode() == U8G_MODE_BW ) - draw_color = 1; // pixel on - else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } -} - -void loop(void) { - uint16_t fps; - fps = picture_loop_with_fps(draw_clip_test); - show_result("draw clip test", fps); - delay(5000); - fps = picture_loop_with_fps(draw_set_screen); - show_result("clear screen", fps); - delay(5000); - fps = picture_loop_with_fps(draw_char); - show_result("draw @", fps); - delay(5000); - fps = picture_loop_with_fps(draw_pixel); - show_result("draw pixel", fps); - delay(5000); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino deleted file mode 100644 index f159b8ddc..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino +++ /dev/null @@ -1,300 +0,0 @@ -/* - - GraphicsTest.pde - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -void u8g_prepare(void) { - u8g.setFont(u8g_font_6x10); - u8g.setFontRefHeightExtendedText(); - u8g.setDefaultForegroundColor(); - u8g.setFontPosTop(); -} - -void u8g_box_frame(uint8_t a) { - u8g.drawStr( 0, 0, "drawBox"); - u8g.drawBox(5,10,20,10); - u8g.drawBox(10+a,15,30,7); - u8g.drawStr( 0, 30, "drawFrame"); - u8g.drawFrame(5,10+30,20,10); - u8g.drawFrame(10+a,15+30,30,7); -} - -void u8g_disc_circle(uint8_t a) { - u8g.drawStr( 0, 0, "drawDisc"); - u8g.drawDisc(10,18,9); - u8g.drawDisc(24+a,16,7); - u8g.drawStr( 0, 30, "drawCircle"); - u8g.drawCircle(10,18+30,9); - u8g.drawCircle(24+a,16+30,7); -} - -void u8g_r_frame(uint8_t a) { - u8g.drawStr( 0, 0, "drawRFrame/Box"); - u8g.drawRFrame(5, 10,40,30, a+1); - u8g.drawRBox(50, 10,25,40, a+1); -} - -void u8g_string(uint8_t a) { - u8g.drawStr(30+a,31, " 0"); - u8g.drawStr90(30,31+a, " 90"); - u8g.drawStr180(30-a,31, " 180"); - u8g.drawStr270(30,31-a, " 270"); -} - -void u8g_line(uint8_t a) { - u8g.drawStr( 0, 0, "drawLine"); - u8g.drawLine(7+a, 10, 40, 55); - u8g.drawLine(7+a*2, 10, 60, 55); - u8g.drawLine(7+a*3, 10, 80, 55); - u8g.drawLine(7+a*4, 10, 100, 55); -} - -void u8g_triangle(uint8_t a) { - uint16_t offset = a; - u8g.drawStr( 0, 0, "drawTriangle"); - u8g.drawTriangle(14,7, 45,30, 10,40); - u8g.drawTriangle(14+offset,7-offset, 45+offset,30-offset, 57+offset,10-offset); - u8g.drawTriangle(57+offset*2,10, 45+offset*2,30, 86+offset*2,53); - u8g.drawTriangle(10+offset,40+offset, 45+offset,30+offset, 86+offset,53+offset); -} - -void u8g_ascii_1() { - char s[2] = " "; - uint8_t x, y; - u8g.drawStr( 0, 0, "ASCII page 1"); - for( y = 0; y < 6; y++ ) { - for( x = 0; x < 16; x++ ) { - s[0] = y*16 + x + 32; - u8g.drawStr(x*7, y*10+10, s); - } - } -} - -void u8g_ascii_2() { - char s[2] = " "; - uint8_t x, y; - u8g.drawStr( 0, 0, "ASCII page 2"); - for( y = 0; y < 6; y++ ) { - for( x = 0; x < 16; x++ ) { - s[0] = y*16 + x + 160; - u8g.drawStr(x*7, y*10+10, s); - } - } -} - -void u8g_extra_page(uint8_t a) -{ - if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) { - /* draw background (area is 128x128) */ - u8g_uint_t r, g, b; - b = a << 5; - for( g = 0; g < 64; g++ ) - { - for( r = 0; r < 64; r++ ) - { - u8g.setRGB(r<<2, g<<2, b ); - u8g.drawPixel(g, r); - } - } - u8g.setRGB(255,255,255); - u8g.drawStr( 66, 0, "Color Page"); - } - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - { - u8g.drawStr( 66, 0, "Gray Level"); - u8g.setColorIndex(1); - u8g.drawBox(0, 4, 64, 32); - u8g.drawBox(70, 20, 4, 12); - u8g.setColorIndex(2); - u8g.drawBox(0+1*a, 4+1*a, 64-2*a, 32-2*a); - u8g.drawBox(74, 20, 4, 12); - u8g.setColorIndex(3); - u8g.drawBox(0+2*a, 4+2*a, 64-4*a, 32-4*a); - u8g.drawBox(78, 20, 4, 12); - } - else - { - u8g.drawStr( 0, 12, "setScale2x2"); - u8g.setScale2x2(); - u8g.drawStr( 0, 6+a, "setScale2x2"); - u8g.undoScale(); - } -} - - -uint8_t draw_state = 0; - -void draw(void) { - u8g_prepare(); - switch(draw_state >> 3) { - case 0: u8g_box_frame(draw_state&7); break; - case 1: u8g_disc_circle(draw_state&7); break; - case 2: u8g_r_frame(draw_state&7); break; - case 3: u8g_string(draw_state&7); break; - case 4: u8g_line(draw_state&7); break; - case 5: u8g_triangle(draw_state&7); break; - case 6: u8g_ascii_1(); break; - case 7: u8g_ascii_2(); break; - case 8: u8g_extra_page(draw_state&7); break; - } -} - -void setup(void) { - - // flip screen, if required - //u8g.setRot180(); - - - pinMode(13, OUTPUT); - digitalWrite(13, HIGH); -} - -void loop(void) { - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // increase the state - draw_state++; - if ( draw_state >= 9*8 ) - draw_state = 0; - - // rebuild the picture after some delay - //delay(150); - -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/HelloWorld/HelloWorld.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/HelloWorld/HelloWorld.ino deleted file mode 100644 index f71bf8e4f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/HelloWorld/HelloWorld.ino +++ /dev/null @@ -1,177 +0,0 @@ -/* - - HelloWorld.pde - - "Hello World!" example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - //u8g.setFont(u8g_font_osb21); - u8g.drawStr( 0, 22, "Hello World!"); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { - u8g.setColorIndex(255); // white - } - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) { - u8g.setColorIndex(3); // max intensity - } - else if ( u8g.getMode() == U8G_MODE_BW ) { - u8g.setColorIndex(1); // pixel on - } - else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(50); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Menu/Menu.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Menu/Menu.ino deleted file mode 100644 index d8ab6f0df..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Menu/Menu.ino +++ /dev/null @@ -1,273 +0,0 @@ -/* - - Menu.pde - - Simple Menu Selection - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -#define KEY_NONE 0 -#define KEY_PREV 1 -#define KEY_NEXT 2 -#define KEY_SELECT 3 -#define KEY_BACK 4 - -// DOGS102 shield configuration values -//uint8_t uiKeyPrev = 2; -//uint8_t uiKeyNext = 4; -//uint8_t uiKeySelect = 5; -//uint8_t uiKeyBack = 3; - -// DOGM128-Shield configuration values -// DOGXL60-Shield configuration values -uint8_t uiKeyPrev = 7; -uint8_t uiKeyNext = 3; -uint8_t uiKeySelect = 2; -uint8_t uiKeyBack = 8; - -uint8_t uiKeyCodeFirst = KEY_NONE; -uint8_t uiKeyCodeSecond = KEY_NONE; -uint8_t uiKeyCode = KEY_NONE; - - -void uiSetup(void) { - // configure input keys - - pinMode(uiKeyPrev, INPUT); // set pin to input - digitalWrite(uiKeyPrev, HIGH); // turn on pullup resistors - pinMode(uiKeyNext, INPUT); // set pin to input - digitalWrite(uiKeyNext, HIGH); // turn on pullup resistors - pinMode(uiKeySelect, INPUT); // set pin to input - digitalWrite(uiKeySelect, HIGH); // turn on pullup resistors - pinMode(uiKeyBack, INPUT); // set pin to input - digitalWrite(uiKeyBack, HIGH); // turn on pullup resistors -} - -void uiStep(void) { - uiKeyCodeSecond = uiKeyCodeFirst; - if ( digitalRead(uiKeyPrev) == LOW ) - uiKeyCodeFirst = KEY_PREV; - else if ( digitalRead(uiKeyNext) == LOW ) - uiKeyCodeFirst = KEY_NEXT; - else if ( digitalRead(uiKeySelect) == LOW ) - uiKeyCodeFirst = KEY_SELECT; - else if ( digitalRead(uiKeyBack) == LOW ) - uiKeyCodeFirst = KEY_BACK; - else - uiKeyCodeFirst = KEY_NONE; - - if ( uiKeyCodeSecond == uiKeyCodeFirst ) - uiKeyCode = uiKeyCodeFirst; - else - uiKeyCode = KEY_NONE; -} - - -#define MENU_ITEMS 4 -char *menu_strings[MENU_ITEMS] = { "First Line", "Second Item", "3333333", "abcdefg" }; - -uint8_t menu_current = 0; -uint8_t menu_redraw_required = 0; -uint8_t last_key_code = KEY_NONE; - - -void drawMenu(void) { - uint8_t i, h; - u8g_uint_t w, d; - - u8g.setFont(u8g_font_6x13); - u8g.setFontRefHeightText(); - u8g.setFontPosTop(); - - h = u8g.getFontAscent()-u8g.getFontDescent(); - w = u8g.getWidth(); - for( i = 0; i < MENU_ITEMS; i++ ) { - d = (w-u8g.getStrWidth(menu_strings[i]))/2; - u8g.setDefaultForegroundColor(); - if ( i == menu_current ) { - u8g.drawBox(0, i*h+1, w, h); - u8g.setDefaultBackgroundColor(); - } - u8g.drawStr(d, i*h, menu_strings[i]); - } -} - -void updateMenu(void) { - if ( uiKeyCode != KEY_NONE && last_key_code == uiKeyCode ) { - return; - } - last_key_code = uiKeyCode; - - switch ( uiKeyCode ) { - case KEY_NEXT: - menu_current++; - if ( menu_current >= MENU_ITEMS ) - menu_current = 0; - menu_redraw_required = 1; - break; - case KEY_PREV: - if ( menu_current == 0 ) - menu_current = MENU_ITEMS; - menu_current--; - menu_redraw_required = 1; - break; - } -} - - -void setup() { - // rotate screen, if required - // u8g.setRot180(); - - uiSetup(); // setup key detection and debounce algorithm - menu_redraw_required = 1; // force initial redraw -} - -void loop() { - - uiStep(); // check for key press - - if ( menu_redraw_required != 0 ) { - u8g.firstPage(); - do { - drawMenu(); - } while( u8g.nextPage() ); - menu_redraw_required = 0; - } - - updateMenu(); // update menu bar - -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/PrintTest/PrintTest.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/PrintTest/PrintTest.ino deleted file mode 100644 index edc9afa8c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/PrintTest/PrintTest.ino +++ /dev/null @@ -1,160 +0,0 @@ -/* - - PrintTest.pde - - How to use the base class "Print" - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.setPrintPos(0, 20); - // call procedure from base class, http://arduino.cc/en/Serial/Print - u8g.print("Hello World!"); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Rotation/Rotation.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Rotation/Rotation.ino deleted file mode 100644 index f4008138b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Rotation/Rotation.ino +++ /dev/null @@ -1,188 +0,0 @@ -/* - - Rotation.pde - - Example code for RotXXX functions. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -uint8_t offset = 0; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.drawStr( 0+0, 20+0, "Hello!"); - u8g.drawStr( 0+2, 20+16, "Hello!"); - - u8g.drawBox(0, 0, 3, 3); - u8g.drawBox(u8g.getWidth()-6, 0, 6, 6); - u8g.drawBox(u8g.getWidth()-9, u8g.getHeight()-9, 9, 9); - u8g.drawBox(0, u8g.getHeight()-12, 12, 12); -} - -void setup(void) { -} - - -void rotate(void) { - static uint8_t dir = 0; - static unsigned long next_rotation = 0; - - if ( next_rotation < millis() ) - { - switch(dir) { - case 0: u8g.undoRotation(); break; - case 1: u8g.setRot90(); break; - case 2: u8g.setRot180(); break; - case 3: u8g.setRot270(); offset = ( offset + 1 ) & 0x0f; break; - } - - dir++; - dir &= 3; - next_rotation = millis(); - next_rotation += 1000; - } -} - -void loop(void) { - // screen rotation - rotate(); - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(100); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Scale/Scale.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Scale/Scale.ino deleted file mode 100644 index 5fc5d331f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Scale/Scale.ino +++ /dev/null @@ -1,177 +0,0 @@ -/* - - Scale.pde - - Example code for the 2x2 scale function. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.setFontPosTop(); - u8g.drawStr(0, 1, "Hello"); - u8g.drawHLine(0, 1+14, 40); - u8g.setScale2x2(); // Scale up all draw procedures - u8g.drawStr(0, 12, "Hello"); // actual display position is (0,24) - u8g.drawHLine(0, 12+14, 40); // All other procedures are also affected - u8g.undoScale(); // IMPORTANT: Switch back to normal mode -} - -void setup(void) { - - // flip screen, if required - u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) - u8g.setColorIndex(255); // white - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - u8g.setColorIndex(3); // max intensity - else if ( u8g.getMode() == U8G_MODE_BW ) - u8g.setColorIndex(1); // pixel on -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/TextRotX/TextRotX.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/TextRotX/TextRotX.ino deleted file mode 100644 index 352780828..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/TextRotX/TextRotX.ino +++ /dev/null @@ -1,190 +0,0 @@ -/* - - TextRotX.pde - - Text rotation example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -// graphic commands to redraw the complete screen should be placed here -void draw(void) { - u8g_uint_t mx, my; - - mx = u8g.getWidth(); - mx >>= 1; - - my = u8g.getHeight(); - my >>= 1; - - u8g.drawStr( mx, my, "Ag"); - u8g.drawStr90( mx, my, "Ag"); - u8g.drawStr180( mx, my, "Ag"); - u8g.drawStr270( mx, my, "Ag"); -} - -void setup(void) { - u8g.setFont(u8g_font_9x18); -} - -void change_font_pos(void) { - static uint8_t dir = 0; - static unsigned long next = 0; - - if ( next < millis() ) - { - switch(dir) { - case 0: u8g.setFontPosBottom(); break; - case 1: u8g.setFontPosBaseline(); break; - case 2: u8g.setFontPosCenter(); break; - case 3: u8g.setFontPosTop(); break; - } - - dir++; - dir &= 3; - next = millis(); - next += 1000; - } -} - -void loop(void) { - // change the font position - change_font_pos(); - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(100); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino deleted file mode 100644 index 9ce10e941..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino +++ /dev/null @@ -1,348 +0,0 @@ -/* - - Touch4WSetup.pde - - Use this example to figure out the ranges for of the active area of a 4-wire resistive - touch panel. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -//================================================================ -// Setup 4-Wire Resistive Touch Panel - -uint8_t tp_left = A3; -uint8_t tp_right = A5; -uint8_t tp_top = A4; -uint8_t tp_bottom = A2; - -#define X_START 120 -#define X_END 140 -#define Y_START 120 -#define Y_END 140 - -#define PULLUP_THRESHOLD 235 - -//================================================================ -// Touch Panel Code - -/* touch panel dimension */ -struct tpd_struct -{ - /* raw value */ - uint8_t raw; - - /* calibration values */ - uint8_t start; - uint8_t end; - - /* user values */ - uint8_t range; /* result will have range fron 0..range (including the value of range) */ - - uint8_t result; /* output value: position [0...range] */ - uint8_t is_pressed; /* output value: pressed (=1) or not pressed (=0) */ - uint8_t is_update; /* will be set to 1 if result or is_pressed has been updated */ -}; - -struct tp_struct -{ - struct tpd_struct x; - struct tpd_struct y; - uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */ - uint8_t is_update; -}; - -struct tp_struct tp; - -/* map raw value to 0...range (result) */ -void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw) -{ - uint8_t is_pressed; - uint16_t p; - uint8_t start, end; - - d->raw = raw; - - start = d->start; - end = d->end; - - /* check if position is within active area; store result in "is_pressed" */ - is_pressed = 1; - if ( raw >= PULLUP_THRESHOLD ) - { - d->result = 0; - is_pressed = 0; - } - else - { - /* update start and end */ - if ( raw < start ) - { - start = raw; - d->start = raw; - } - if ( raw > end ) - { - end = raw; - d->end = raw; - } - } - - /* store "is_pressed" in the global structure, set update flag */ - if ( d->is_pressed != is_pressed ) - d->is_update = 1; - d->is_pressed = is_pressed; - - /* map "raw" value into target range */ - if ( is_pressed != 0 ) - { - p = raw; - p -= start; - p *= d->range; - end -= start; - p /= end; - - if ( d->result != p ) - d->is_update = 1; - d->result = p; - } -} - -void tp_Init(uint8_t width, uint8_t height) -{ - tp.x.start = X_START; - tp.x.end = X_END; - tp.x.range = width-1; - - tp.y.start = Y_START; - tp.y.end = Y_END; - tp.y.range = height-1; - - tp.is_update = 1; -} - -void setTouchRawValues(uint8_t x, uint8_t y) -{ - tpd_map_touch_position(&(tp.x), x); - tpd_map_touch_position(&(tp.y), y); - - tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed; - if ( tp.x.is_update || tp.y.is_update ) - tp.is_update = 1; -} - - -uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin) -{ - uint8_t val; - pinMode(dcPin, INPUT); - pinMode(sensePin, INPUT_PULLUP); - pinMode(hiPin, OUTPUT); - pinMode(lowPin, OUTPUT); - - digitalWrite(hiPin, HIGH); - digitalWrite(lowPin, LOW); - delay(10); - val = analogRead(sensePin) >> 2; - pinMode(hiPin, INPUT); - pinMode(lowPin, INPUT); - delay(10); - return val; -} - -void updateTouchPanel(void) -{ - uint8_t tp_raw_x; - uint8_t tp_raw_y; - - tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top); - tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right); - - setTouchRawValues(tp_raw_x, tp_raw_y); -} - -//================================================================ -// graphics output and picture loop - -void center(u8g_uint_t y, const char *str) -{ - u8g_uint_t x; - x = u8g.getWidth(); - x -= u8g.getStrWidth(str); - x /= 2; - u8g.drawStr(x, y, str); -} - - -void draw(void) { - u8g.setFont(u8g_font_6x10); - center( 10, "Touch Panel Setup"); - u8g.setPrintPos(0, 20); u8g.print("x_start=");u8g.print((int)tp.x.start);u8g.print(" x_end=");u8g.print((int)tp.x.end); - u8g.setPrintPos(0, 30); u8g.print("y_start=");u8g.print((int)tp.y.start);u8g.print(" y_end=");u8g.print((int)tp.y.end); - u8g.setPrintPos(0, 40); u8g.print("x=");u8g.print((int)tp.x.raw); - u8g.setPrintPos(0, 50); u8g.print("y=");u8g.print((int)tp.y.raw); -} - -void setup(void) { - - // flip screen, if required - // u8g.setRot180(); - u8g.setCursorFont(u8g_font_cursor); - u8g.setCursorStyle(32); - - tp_Init(u8g.getWidth(), u8g.getHeight()); - - tp.is_update = 1; -} - -void loop(void) { - - // update touch panel and handle return values - updateTouchPanel(); - - if ( tp.is_pressed != 0 ) - u8g.enableCursor(); - else - u8g.disableCursor(); - - u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1); - - // picture loop - if ( tp.is_update != 0 ) - { - tp.is_update = 0; - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - } - -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino deleted file mode 100644 index ebe15838f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino +++ /dev/null @@ -1,335 +0,0 @@ -/* - - Touch4WTest.pde - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -//================================================================ -// Setup 4-Wire Resistive Touch Panel - -uint8_t tp_left = A3; -uint8_t tp_right = A5; -uint8_t tp_top = A4; -uint8_t tp_bottom = A2; - -/* Run "Touch4WSetup" and enter values here */ -#define X_START 64 -#define X_END 200 -#define Y_START 105 -#define Y_END 160 - -//================================================================ -// Touch Panel Code - -/* touch panel dimension */ -struct tpd_struct -{ - /* raw value */ - uint8_t raw; - - /* calibration values */ - uint8_t start; - uint8_t end; - - /* user values */ - uint8_t range; /* result will have range fron 0..range (including the value of range) */ - - uint8_t result; /* output value: position [0...range] */ - uint8_t is_pressed; /* output value: pressed (=1) or not pressed (=0) */ - uint8_t is_update; /* will be set to 1 if result or is_pressed has been updated */ -}; - -struct tp_struct -{ - struct tpd_struct x; - struct tpd_struct y; - uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */ - uint8_t is_update; -}; - -struct tp_struct tp; - -/* map raw value to 0...range (result) */ -void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw) -{ - uint8_t is_pressed; - uint16_t p; - uint8_t start, end; - - d->raw = raw; - - start = d->start; - end = d->end; - - /* check if position is within active area; store result in "is_pressed" */ - is_pressed = 1; - if ( raw < start ) - { - d->result = 0; - is_pressed = 0; - } - if ( raw >= end ) - { - d->result = d->range; - is_pressed = 0; - } - - /* store "is_pressed" in the global structure, set update flag */ - if ( d->is_pressed != is_pressed ) - d->is_update = 1; - d->is_pressed = is_pressed; - - /* map "raw" value into target range */ - if ( is_pressed != 0 ) - { - p = raw; - p -= start; - p *= d->range; - end -= start; - p /= end; - - if ( d->result != p ) - d->is_update = 1; - d->result = p; - } -} - -void tp_Init(uint8_t width, uint8_t height) -{ - tp.x.start = X_START; - tp.x.end = X_END; - tp.x.range = width-1; - - tp.y.start = Y_START; - tp.y.end = Y_END; - tp.y.range = height-1; - - tp.is_update = 1; -} - -void setTouchRawValues(uint8_t x, uint8_t y) -{ - tpd_map_touch_position(&(tp.x), x); - tpd_map_touch_position(&(tp.y), y); - - tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed; - if ( tp.x.is_update || tp.y.is_update ) - tp.is_update = 1; -} - - -uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin) -{ - uint8_t val; - pinMode(dcPin, INPUT); - pinMode(sensePin, INPUT_PULLUP); - pinMode(hiPin, OUTPUT); - pinMode(lowPin, OUTPUT); - - digitalWrite(hiPin, HIGH); - digitalWrite(lowPin, LOW); - delay(10); - val = analogRead(sensePin) >> 2; - pinMode(hiPin, INPUT); - pinMode(lowPin, INPUT); - delay(10); - return val; -} - -void updateTouchPanel(void) -{ - uint8_t tp_raw_x; - uint8_t tp_raw_y; - - tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top); - tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right); - - setTouchRawValues(tp_raw_x, tp_raw_y); -} - -//================================================================ -// graphics output and picture loop - -void center(u8g_uint_t y, const char *str) -{ - u8g_uint_t x; - x = u8g.getWidth(); - x -= u8g.getStrWidth(str); - x /= 2; - u8g.drawStr(x, y, str); -} - - -void draw(void) { - u8g.setFont(u8g_font_6x10); - center( 10, "Touch Panel Test"); - if ( tp.is_pressed != 0 ) - { - u8g.setPrintPos(0, 20); u8g.print("x=");u8g.print((int)tp.x.result); - u8g.setPrintPos(0, 30); u8g.print("y=");u8g.print((int)(u8g.getHeight()-tp.y.result-1)); - //u8g.setPrintPos(0, 40); u8g.print("x: ");u8g.print((int)tp.x.start);u8g.print("..");u8g.print((int)tp.x.end); - //u8g.setPrintPos(0, 50); u8g.print("y: ");u8g.print((int)tp.y.start);u8g.print("..");u8g.print((int)tp.y.end); - } -} - -void setup(void) { - - // flip screen, if required - // u8g.setRot180(); - u8g.setCursorFont(u8g_font_cursor); - u8g.setCursorStyle(32); - - tp_Init(u8g.getWidth(), u8g.getHeight()); -} - -void loop(void) { - - // update touch panel and handle return values - updateTouchPanel(); - - if ( tp.is_pressed != 0 ) - u8g.enableCursor(); - else - u8g.disableCursor(); - - u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1); - - // picture loop - if ( tp.is_update != 0 ) { - tp.is_update = 0; - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - } - -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/U8gLogo/U8gLogo.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/U8gLogo/U8gLogo.ino deleted file mode 100644 index 151542dcf..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/U8gLogo/U8gLogo.ino +++ /dev/null @@ -1,230 +0,0 @@ -/* - - U8gLogo.pde - - Put the U8GLIB logo on the display. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -//#define MINI_LOGO - -void drawColorBox(void) -{ - u8g_uint_t w,h; - u8g_uint_t r, g, b; - - w = u8g.getWidth()/32; - h = u8g.getHeight()/8; - for( b = 0; b < 4; b++ ) - for( g = 0; g < 8; g++ ) - for( r = 0; r < 8; r++ ) - { - u8g.setColorIndex((r<<5) | (g<<2) | b ); - u8g.drawBox(g*w + b*w*8, r*h, w, h); - } -} - -void drawLogo(uint8_t d) -{ -#ifdef MINI_LOGO - u8g.setFont(u8g_font_gdr17r); - u8g.drawStr(0+d, 22+d, "U"); - u8g.setFont(u8g_font_gdr20n); - u8g.drawStr90(17+d,8+d,"8"); - u8g.setFont(u8g_font_gdr17r); - u8g.drawStr(39+d,22+d,"g"); - - u8g.drawHLine(2+d, 25+d, 34); - u8g.drawVLine(32+d, 22+d, 12); -#else - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(0+d, 30+d, "U"); - u8g.setFont(u8g_font_gdr30n); - u8g.drawStr90(23+d,10+d,"8"); - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(53+d,30+d,"g"); - - u8g.drawHLine(2+d, 35+d, 47); - u8g.drawVLine(45+d, 32+d, 12); -#endif -} - -void drawURL(void) -{ -#ifndef MINI_LOGO - u8g.setFont(u8g_font_4x6); - if ( u8g.getHeight() < 59 ) - { - u8g.drawStr(53,9,"code.google.com"); - u8g.drawStr(77,18,"/p/u8glib"); - } - else - { - u8g.drawStr(1,54,"code.google.com/p/u8glib"); - } -#endif -} - - -void draw(void) { - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { - drawColorBox(); - } - u8g.setColorIndex(1); - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g.getMode()) > 1 ) { - drawLogo(2); - u8g.setColorIndex(2); - drawLogo(1); - u8g.setColorIndex(3); - } - drawLogo(0); - drawURL(); - -} - -void setup(void) { - // flip screen, if required - //u8g.setRot180(); -} - -void loop(void) { - - // picture loop - u8g.firstPage(); - do { - draw(); - u8g.setColorIndex(1); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(200); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/XBM/XBM.ino b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/XBM/XBM.ino deleted file mode 100644 index 65b183187..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/examples/XBM/XBM.ino +++ /dev/null @@ -1,172 +0,0 @@ -/* - - XBM.pde - - drawXBM example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -#define u8g_logo_width 38 -#define u8g_logo_height 24 -//static unsigned char u8g_logo_bits[] = { -static unsigned char u8g_logo_bits[] U8G_PROGMEM = { - 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xe0, 0xe0, - 0xff, 0xff, 0x3f, 0xe3, 0xe1, 0xff, 0xff, 0x3f, 0xf3, 0xf1, 0xff, 0xff, - 0x3f, 0xf3, 0xf1, 0xfe, 0xbf, 0x37, 0xf3, 0x11, 0x1c, 0x1f, 0x30, 0xf3, - 0x01, 0x08, 0x8c, 0x20, 0xf3, 0x01, 0x00, 0xc0, 0x39, 0xf3, 0x81, 0xc7, - 0xc1, 0x39, 0xf3, 0xc1, 0xc7, 0xc9, 0x38, 0xf3, 0xc1, 0xc3, 0x19, 0x3c, - 0xe3, 0x89, 0x01, 0x98, 0x3f, 0xc7, 0x18, 0x00, 0x08, 0x3e, 0x0f, 0x3c, - 0x70, 0x1c, 0x30, 0x3f, 0xff, 0xfc, 0x87, 0x31, 0xff, 0xff, 0xbf, 0xc7, - 0x23, 0x01, 0x00, 0x00, 0xc6, 0x23, 0x03, 0x00, 0x00, 0x0e, 0x30, 0xff, - 0xff, 0x3f, 0x1f, 0x3c, 0xff, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0xff, 0x3f, - 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f }; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.drawXBMP( 0, 0, u8g_logo_width, u8g_logo_height, u8g_logo_bits); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/license.txt b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/license.txt deleted file mode 100644 index f1a9615c7..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/license.txt +++ /dev/null @@ -1,81 +0,0 @@ - -The U8glib code (http://code.google.com/p/u8glib/) is licensed under the terms of -the new-bsd license (two-clause bsd license). -See also: http://www.opensource.org/licenses/bsd-license.php - -The repository and optionally the releases contain icons, which are -derived from the WPZOOM Developer Icon Set: -http://www.wpzoom.com/wpzoom/new-freebie-wpzoom-developer-icon-set-154-free-icons/ -WPZOOM Developer Icon Set by WPZOOM is licensed under a Creative Commons -Attribution-ShareAlike 3.0 Unported License. - -Fonts are licensed under different conditions. -See http://code.google.com/p/u8glib/wiki/fontgroup for -detailed information on the licensing conditions for each font. - -============ X11 Fonts COUR, HELV, NCEN, TIM, SYMB ============ - -For fonts derived from the following files, the license below applies. -COURB08.BDF COURB10.BDF COURB12.BDF COURB14.BDF COURB18.BDF -COURB24.BDF COURR08.BDF COURR10.BDF COURR12.BDF COURR14.BDF -COURR18.BDF COURR24.BDF HELVB08.BDF HELVB10.BDF HELVB12.BDF HELVB14.BDF -HELVB18.BDF HELVB24.BDF HELVR08.BDF HELVR10.BDF HELVR12.BDF HELVR14.BDF -HELVR18.BDF HELVR24.BDF NCENB08.BDF NCENB10.BDF NCENB12.BDF -NCENB14.BDF NCENB18.BDF NCENB24.BDF NCENR08.BDF NCENR10.BDF -NCENR12.BDF NCENR14.BDF NCENR18.BDF NCENR24.BDF SYMB08.BDF SYMB10.BDF -SYMB12.BDF SYMB14.BDF SYMB18.BDF SYMB24.BDF TIMB08.BDF TIMB10.BDF -TIMB12.BDF TIMB14.BDF TIMB18.BDF TIMB24.BDF TIMR08.BDF TIMR10.BDF -TIMR12.BDF TIMR14.BDF TIMR18.BDF TIMR24.BDF - -Copyright 1984-1989, 1994 Adobe Systems Incorporated. -Copyright 1988, 1994 Digital Equipment Corporation. - -Adobe is a trademark of Adobe Systems Incorporated which may be -registered in certain jurisdictions. -Permission to use these trademarks is hereby granted only in -association with the images described in this file. - -Permission to use, copy, modify, distribute and sell this software -and its documentation for any purpose and without fee is hereby -granted, provided that the above copyright notices appear in all -copies and that both those copyright notices and this permission -notice appear in supporting documentation, and that the names of -Adobe Systems and Digital Equipment Corporation not be used in -advertising or publicity pertaining to distribution of the software -without specific, written prior permission. Adobe Systems and -Digital Equipment Corporation make no representations about the -suitability of this software for any purpose. It is provided "as -is" without express or implied warranty. - - -============ BSD License for U8glib Code ============ - -Universal 8bit Graphics Library (http://code.google.com/p/u8glib/) - -Copyright (c) 2011, olikraus@gmail.com -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/chessengine.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/chessengine.c deleted file mode 100644 index f86bf0687..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/chessengine.c +++ /dev/null @@ -1,2392 +0,0 @@ -/* - chessengine.c - - "Little Rook Chess" (lrc) - - Port to u8g library - - chess for embedded 8-Bit controllers - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Note: - UNIX_MAIN --> unix console executable - - Current Rule Limitation - - no minor promotion, only "Queening" of the pawn - - threefold repetition is not detected (same board situation appears three times) - Note: Could be implemented, but requires tracking of the complete game - - Fifty-move rule is not checked (no pawn move, no capture within last 50 moves) - - Words - Ply a half move - - General Links - http://chessprogramming.wikispaces.com/ - - Arduino specific - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1260055596 - - Prefixes - chess_ Generic Chess Application Interface - ce_ Chess engine, used internally, these function should not be called directly - cu_ Chess utility function - stack_ Internal function for stack handling - - Issues - 10.01.2011 - - castling to the right does not move the rook - --> done - - castling to the left: King can only move two squares - --> done - - 11.01.2011 - Next Steps: - - replace stack_NextCurrentPos with cu_NextPos, cleanup code according to the loop variable - --> done - - Castling: Need to check for fields under attack - --> done - - - Check for WIN / LOOSE situation, perhaps call ce_Eval() once on the top-level board setup - just after the real move - - cleanup cu_Move - --> almost done - - add some heuristics to the eval procedure - - add right side menu - --> done - - clean up chess_ManualMove - --> done - - finish menu (consider is_game_end, undo move) - - end condition: if KING is under attack and if KING can not move to a field which is under attack... - then the game is lost. What will be returned by the Eval procedure? is it -INF? - --> finished - - - reduce the use of variable color, all should be reduced to board_orientation and ply&1 - - - chess_GetNextMarked shoud make use of cu_NextPos - --> done - - chess_ManualMove: again cleanup, solve draw issue (KING is not in check and no legal moves are available) - --> done - 22.01.2011 - - simplify eval_t ce_Eval(void) - - position eval does not work, still moves side pawn :-( - maybe because all pieces are considered - --> done - -*/ - -#include "u8g.h" - -//#ifndef __unix__ -//#else -//#include -//#define U8G_NOINLINE -//#endif - -/* -SAN identifies each piece by a single upper case letter. The standard English -values: pawn = "P", knight = "N", bishop = "B", rook = "R", queen = "Q", and -king = "K". -*/ - -/* numbers for the various pieces */ -#define PIECE_NONE 0 -#define PIECE_PAWN 1 -#define PIECE_KNIGHT 2 -#define PIECE_BISHOP 3 -#define PIECE_ROOK 4 -#define PIECE_QUEEN 5 -#define PIECE_KING 6 - -/* color definitions */ -#define COLOR_WHITE 0 -#define COLOR_BLACK 1 - -/* a mask, which includes COLOR and PIECE number */ -#define COLOR_PIECE_MASK 0x01f - -#define CP_MARK_MASK 0x20 - -#define ILLEGAL_POSITION 255 - -/* This is the build in upper limit of the search stack */ -/* This value defines the amount of memory allocated for the search stack */ -/* The search depth of this chess engine can never exceed this value */ -#define STACK_MAX_SIZE 5 - -/* chess half move stack: twice the number of undo's, a user can do */ -#define CHM_USER_SIZE 6 - -/* the CHM_LIST_SIZE must be larger than the maximum search depth */ -/* the overall size of ste half move stack */ -#define CHM_LIST_SIZE (STACK_MAX_SIZE+CHM_USER_SIZE+2) - -typedef int16_t eval_t; /* a variable type to store results from the evaluation */ -//#define EVAL_T_LOST -32768 -#define EVAL_T_MIN -32767 -#define EVAL_T_MAX 32767 -//#define EVAL_T_WIN 32767 - -/* for maintainance of our own stack: this is the definition of one element on the stack */ -struct _stack_element_struct -{ - /* the current source position which is investigated */ - uint8_t current_pos; - uint8_t current_cp; - uint8_t current_color; /* COLOR_WHITE or COLOR_BLACK: must be predefines */ - - /* the move which belongs to that value, both values are game positions */ - uint8_t best_from_pos; - uint8_t best_to_pos; - /* the best value, which has been dicovered so far */ - eval_t best_eval; -}; -typedef struct _stack_element_struct stack_element_t; -typedef struct _stack_element_struct *stack_element_p; - -/* chess half move history */ -struct _chm_struct -{ - uint8_t main_cp; /* the main piece, which is moved */ - uint8_t main_src; /* the source position of the main piece */ - uint8_t main_dest; /* the destination of the main piece */ - - uint8_t other_cp; /* another piece: the captured one, the ROOK in case of castling or PIECE_NONE */ - uint8_t other_src; /* the delete position of other_cp. Often identical to main_dest except for e.p. and castling */ - uint8_t other_dest; /* only used for castling: ROOK destination pos */ - - /* the position of the last pawn, which did a double move forward */ - /* this is required to check en passant conditions */ - /* this array can be indexed by the color of the current player */ - /* this is the condition BEFORE the move was done */ - uint8_t pawn_dbl_move[2]; - - /* flags for the movement of rook and king; required for castling */ - /* a 1 means: castling is (still) possible */ - /* a 0 means: castling not possible */ - /* bit 0 left side white */ - /* bit 1 right side white */ - /* bit 2 left side black */ - /* bit 3 right side black */ - /* this is the condition BEFORE the move was done */ - uint8_t castling_possible; -}; - -typedef struct _chm_struct chm_t; -typedef struct _chm_struct *chm_p; - -/* little rook chess, main structure */ -struct _lrc_struct -{ - /* half-move (ply) counter: Counts the number of half-moves so far. Starts with 0 */ - /* the lowest bit is used to derive the color of the current player */ - /* will be set to zero in chess_SetupBoard() */ - uint8_t ply_count; - - /* the half move stack position counter, counts the number of elements in chm_list */ - uint8_t chm_pos; - - /* each element contains a colored piece, empty fields have value 0 */ - /* the field with index 0 is black (lower left) */ - uint8_t board[64]; - /* the position of the last pawn, which did a double move forward */ - /* this is required to check en passant conditions */ - /* this array can be indexed by the color of the current player */ - uint8_t pawn_dbl_move[2]; - - /* flags for the movement of rook and king; required for castling */ - /* a 1 means: castling is (still) possible */ - /* a 0 means: castling not possible */ - /* bit 0 left side white */ - /* bit 1 right side white */ - /* bit 2 left side black */ - /* bit 3 right side black */ - uint8_t castling_possible; - - /* board orientation */ - /* 0: white is below COLOR_WHITE */ - /* 1: black is below COLOR_BLACK */ - /* bascially, this can be used as a color */ - uint8_t orientation; - - /* exchange colors of the pieces */ - /* 0: white has an empty body, use this for bright background color */ - /* 1: black has an empty body, use this for dark backround color */ - uint8_t strike_out_color; - - /* 0, when the game is ongoing */ - /* 1, when the game is stopped (lost or draw) */ - uint8_t is_game_end; - /* the color of the side which lost the game */ - /* this value is only valid, when is_game_end is not 0 */ - /* values 0 and 1 represent WHITE and BLACK, 2 means a draw */ - uint8_t lost_side_color; - - - - /* checks are executed in ce_LoopRecur */ - /* these checks will put some marks on the board */ - /* this will be used by the interface to find out */ - /* legal moves */ - uint8_t check_src_pos; - uint8_t check_mode; /* CHECK_MODE_NONE, CHECK_MODE_MOVEABLE, CHECK_MODE_TARGET_MOVE */ - - - /* count of the attacking pieces, indexed by color */ - uint8_t find_piece_cnt[2]; - - /* sum of the attacking pieces, indexed by color */ - uint8_t find_piece_weight[2]; - - /* points to the current element of the search stack */ - /* this stack is NEVER empty. The value 0 points to the first element of the stack */ - /* actually "curr_depth" represent half-moves (plies) */ - uint8_t curr_depth; - uint8_t max_depth; - stack_element_p curr_element; - - /* allocated memory for the search stack */ - stack_element_t stack_memory[STACK_MAX_SIZE]; - - /* the half move stack, used for move undo and depth search, size is stored in chm_pos */ - chm_t chm_list[CHM_LIST_SIZE]; -}; -typedef struct _lrc_struct lrc_t; - -#define CHECK_MODE_NONE 0 -#define CHECK_MODE_MOVEABLE 1 -#define CHECK_MODE_TARGET_MOVE 2 - - - -/*==============================================================*/ -/* global variables */ -/*==============================================================*/ - -u8g_t *lrc_u8g; - -lrc_t lrc_obj; - - -/*==============================================================*/ -/* forward declarations */ -/*==============================================================*/ - -/* - apply no inline to some of the functions: - avr-gcc very often inlines functions, however not inline saves a lot of program memory! - On the other hand there are some really short procedures which should be inlined (like cp_GetColor) - These procedures are marked static to prevent the generation of the expanded procedure, which - also saves space. -*/ - -uint8_t stack_Push(uint8_t color) U8G_NOINLINE; -void stack_Pop(void) U8G_NOINLINE; -void stack_InitCurrElement(void) U8G_NOINLINE; -void stack_Init(uint8_t max) U8G_NOINLINE; -void stack_SetMove(eval_t val, uint8_t to_pos) U8G_NOINLINE; -uint8_t cu_NextPos(uint8_t pos) U8G_NOINLINE; -static uint8_t cu_gpos2bpos(uint8_t gpos); -static uint8_t cp_Construct(uint8_t color, uint8_t piece); -static uint8_t cp_GetPiece(uint8_t cp); -static uint8_t cp_GetColor(uint8_t cp); -uint8_t cp_GetFromBoard(uint8_t pos) U8G_NOINLINE; -void cp_SetOnBoard(uint8_t pos, uint8_t cp) U8G_NOINLINE; - -void cu_ClearBoard(void) U8G_NOINLINE; -void chess_SetupBoard(void) U8G_NOINLINE; -eval_t ce_Eval(void); - -void cu_ClearMoveHistory(void) U8G_NOINLINE; -void cu_ReduceHistoryByFullMove(void) U8G_NOINLINE; -void cu_UndoHalfMove(void) U8G_NOINLINE; -chm_p cu_PushHalfMove(void) U8G_NOINLINE; - - -void ce_CalculatePositionWeight(uint8_t pos); -uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color); - -void chess_Thinking(void); -void ce_LoopPieces(void); - - -/*==============================================================*/ -/* search stack */ -/*==============================================================*/ - -/* get current element from stack */ -stack_element_p stack_GetCurrElement(void) -{ - return lrc_obj.curr_element; -} - -uint8_t stack_Push(uint8_t color) -{ - if ( lrc_obj.curr_depth == lrc_obj.max_depth ) - return 0; - lrc_obj.curr_depth++; - lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; - - /* change view for the evaluation */ - color ^= 1; - stack_GetCurrElement()->current_color = color; - - return 1; -} - -void stack_Pop(void) -{ - lrc_obj.curr_depth--; - lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; -} - -/* reset the current element on the stack */ -void stack_InitCurrElement(void) -{ - stack_element_p e = stack_GetCurrElement(); - e->best_eval = EVAL_T_MIN; - e->best_from_pos = ILLEGAL_POSITION; - e->best_to_pos = ILLEGAL_POSITION; -} - -/* resets the search stack (and the check mode) */ -void stack_Init(uint8_t max) -{ - lrc_obj.curr_depth = 0; - lrc_obj.curr_element = lrc_obj.stack_memory; - lrc_obj.max_depth = max; - lrc_obj.check_mode = CHECK_MODE_NONE; - stack_InitCurrElement(); - stack_GetCurrElement()->current_color = lrc_obj.ply_count; - stack_GetCurrElement()->current_color &= 1; -} - -/* assign evaluation value and store the move, if this is the best move */ -/* assumes, that current_pos contains the source position */ -void stack_SetMove(eval_t val, uint8_t to_pos) -{ - stack_element_p e = stack_GetCurrElement(); - if ( e->best_eval < val ) - { - e->best_eval = val; - e->best_from_pos = e->current_pos; - e->best_to_pos = to_pos; - } -} - -/* - calculate next position on a 0x88 board - loop is constructed in this way: - i = 0; - do - { - ... - i = cu_NextPos(i); - } while( i != 0 ); - - next pos might be started with an illegal position like 255 -*/ -uint8_t cu_NextPos(uint8_t pos) -{ - /* calculate next gpos */ - pos++; - if ( ( pos & 0x08 ) != 0 ) - { - pos+= 0x10; - pos&= 0xf0; - } - if ( ( pos & 0x80 ) != 0 ) - pos = 0; - return pos; -} - -uint8_t cu_PrevPos(uint8_t pos) -{ - /* calculate prev gpos */ - pos--; - if ( ( pos & 0x80 ) != 0 ) - pos = 0x077; - else if ( ( pos & 0x08 ) != 0 ) - { - pos &= 0xf0; - pos |= 0x07; - } - return pos; -} - - -/*==============================================================*/ -/* position transltion */ -/*==============================================================*/ -/* - there are two positions - 1. game position (gpos): BCD encoded x-y values - 2. board position (bpos): a number between 0 and 63, only used to access the board. -*/ -/* - gpos: game position value - returns: board position - note: does not do any checks -*/ -static uint8_t cu_gpos2bpos(uint8_t gpos) -{ - uint8_t bpos = gpos; - bpos &= 0xf0; - bpos >>= 1; - gpos &= 0x0f; - bpos |= gpos; - return bpos; -} - -#define gpos_IsIllegal(gpos) ((gpos) & 0x088) - - -/*==============================================================*/ -/* colored piece handling */ -/*==============================================================*/ - -#define cp_IsMarked(cp) ((cp) & CP_MARK_MASK) - - -/* - piece: one of PIECE_xxx - color: COLOR_WHITE or COLOR_BLACK - - returns: A colored piece -*/ -static uint8_t cp_Construct(uint8_t color, uint8_t piece) -{ - color <<= 4; - color |= piece; - return color; -} - -/* inline is better than a macro */ -static uint8_t cp_GetPiece(uint8_t cp) -{ - cp &= 0x0f; - return cp; -} - -/* - we could use a macro: - #define cp_GetColor(cp) (((cp) >> 4)&1) - however, inlined functions are sometimes much better -*/ -static uint8_t cp_GetColor(uint8_t cp) -{ - cp >>= 4; - cp &= 1; - return cp; -} - -/* - pos: game position - returns the colored piece at the given position -*/ -uint8_t cp_GetFromBoard(uint8_t pos) -{ - return lrc_obj.board[cu_gpos2bpos(pos)]; -} - -/* - pos: game position - cp: colored piece -*/ -void cp_SetOnBoard(uint8_t pos, uint8_t cp) -{ - /*printf("cp_SetOnBoard gpos:%02x cp:%02x\n", pos, cp);*/ - lrc_obj.board[cu_gpos2bpos(pos)] = cp; -} - -/*==============================================================*/ -/* global board access */ -/*==============================================================*/ - -void cu_ClearBoard(void) -{ - uint8_t i; - /* clear the board */ - for( i = 0; i < 64; i++ ) - lrc_obj.board[i] = PIECE_NONE; - - lrc_obj.ply_count = 0; - lrc_obj.orientation = COLOR_WHITE; - - lrc_obj.pawn_dbl_move[0] = ILLEGAL_POSITION; - lrc_obj.pawn_dbl_move[1] = ILLEGAL_POSITION; - - lrc_obj.castling_possible = 0x0f; - - lrc_obj.is_game_end = 0; - lrc_obj.lost_side_color = 0; - - /* clear half move history */ - cu_ClearMoveHistory(); - -} - -/* - test setup - white wins in one move -*/ -void chess_SetupBoardTest01(void) -{ - cu_ClearBoard(); - lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); - lrc_obj.board[7+5*8] = cp_Construct(COLOR_WHITE, PIECE_PAWN); - lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_KING); - lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); -} - -/* setup the global board */ -void chess_SetupBoard(void) -{ - uint8_t i; - register uint8_t bp, wp; - - /* clear the board */ - cu_ClearBoard(); - - /* precronstruct pawns */ - wp = cp_Construct(COLOR_WHITE, PIECE_PAWN); - bp = cp_Construct(COLOR_BLACK, PIECE_PAWN); - - /* setup pawn */ - for( i = 0; i < 8; i++ ) - { - lrc_obj.board[i+8] = wp; - lrc_obj.board[i+6*8] = bp; - } - - /* assign remaining pieces */ - - lrc_obj.board[0] = cp_Construct(COLOR_WHITE, PIECE_ROOK); - lrc_obj.board[1] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); - lrc_obj.board[2] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); - lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); - lrc_obj.board[4] = cp_Construct(COLOR_WHITE, PIECE_KING); - lrc_obj.board[5] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); - lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); - lrc_obj.board[7] = cp_Construct(COLOR_WHITE, PIECE_ROOK); - - lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - lrc_obj.board[1+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); - lrc_obj.board[2+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); - lrc_obj.board[3+7*8] = cp_Construct(COLOR_BLACK, PIECE_QUEEN); - lrc_obj.board[4+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); - lrc_obj.board[5+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); - lrc_obj.board[6+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); - lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - - //chess_SetupBoardTest01(); - -} - - - -/*==============================================================*/ -/* checks */ -/*==============================================================*/ - -/* - checks if the position is somehow illegal -*/ -uint8_t cu_IsIllegalPosition(uint8_t pos, uint8_t my_color) -{ - uint8_t board_cp; - /* check, if the position is offboard */ - if ( gpos_IsIllegal(pos) != 0 ) - return 1; - /* get the piece from the board */ - board_cp = cp_GetFromBoard(pos); - /* check if hit our own pieces */ - if ( board_cp != 0 ) - if ( cp_GetColor(board_cp) == my_color ) - return 1; - /* all ok, we could go to this position */ - return 0; -} - -/*==============================================================*/ -/* evaluation procedure */ -/*==============================================================*/ - -/* - basic idea is to return a value between EVAL_T_MIN and EVAL_T_MAX -*/ - -/* - the weight table uses the PIECE number as index: - #define PIECE_NONE 0 - #define PIECE_PAWN 1 - #define PIECE_KNIGHT 2 - #define PIECE_BISHOP 3 - #define PIECE_ROOK 4 - #define PIECE_QUEEN 5 - #define PIECE_KING 6 - the king itself is not counted -*/ -uint8_t ce_piece_weight[] = { 0, 1, 3, 3, 5, 9, 0 }; -uint8_t ce_pos_weight[] = { 0, 1, 1, 2, 2, 1, 1, 0}; -/* - evaluate the current situation on the global board -*/ -eval_t ce_Eval(void) -{ - uint8_t cp; - uint8_t is_my_king_present = 0; - uint8_t is_opposit_king_present = 0; - eval_t material_my_color = 0; - eval_t material_opposit_color = 0; - eval_t position_my_color = 0; - eval_t position_opposit_color = 0; - eval_t result; - uint8_t pos; - - pos = 0; - do - { - /* get colored piece from the board */ - cp = cp_GetFromBoard(pos); - - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - if ( stack_GetCurrElement()->current_color == cp_GetColor(cp) ) - { - /* this is our color */ - /* check if we found our king */ - if ( cp_GetPiece(cp) == PIECE_KING ) - is_my_king_present = 1; - material_my_color += ce_piece_weight[cp_GetPiece(cp)]; - if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) - { - position_my_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; - } - } - else - { - /* this is the opposit color */ - if ( cp_GetPiece(cp) == PIECE_KING ) - is_opposit_king_present = 1; - material_opposit_color += ce_piece_weight[cp_GetPiece(cp)]; - if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) - { - position_opposit_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; - } - } - } - pos = cu_NextPos(pos); - } while( pos != 0 ); - - - /* decide if we lost or won the game */ - if ( is_my_king_present == 0 ) - return EVAL_T_MIN; /*_LOST*/ - if ( is_opposit_king_present == 0 ) - return EVAL_T_MAX; /*_WIN*/ - - /* here is the evaluation function */ - - result = material_my_color - material_opposit_color; - result <<= 3; - result += position_my_color - position_opposit_color; - return result; -} - -/*==============================================================*/ -/* move backup and restore */ -/*==============================================================*/ - - -/* this procedure must be called to keep the size as low as possible */ -/* if the chm_list is large enough, it could hold the complete history */ -/* but for an embedded controler... it is deleted for every engine search */ -void cu_ClearMoveHistory(void) -{ - lrc_obj.chm_pos = 0; -} - -void cu_ReduceHistoryByFullMove(void) -{ - uint8_t i; - while( lrc_obj.chm_pos > CHM_USER_SIZE ) - { - i = 0; - for(;;) - { - if ( i+2 >= lrc_obj.chm_pos ) - break; - lrc_obj.chm_list[i] = lrc_obj.chm_list[i+2]; - i++; - } - lrc_obj.chm_pos -= 2; - } -} - -void cu_UndoHalfMove(void) -{ - chm_p chm; - - if ( lrc_obj.chm_pos == 0 ) - return; - - lrc_obj.chm_pos--; - - chm = lrc_obj.chm_list+lrc_obj.chm_pos; - - lrc_obj.pawn_dbl_move[0] = chm->pawn_dbl_move[0]; - lrc_obj.pawn_dbl_move[1] = chm->pawn_dbl_move[1]; - lrc_obj.castling_possible = chm->castling_possible; - - cp_SetOnBoard(chm->main_src, chm->main_cp); - cp_SetOnBoard(chm->main_dest, PIECE_NONE); - - if ( chm->other_src != ILLEGAL_POSITION ) - cp_SetOnBoard(chm->other_src, chm->other_cp); - if ( chm->other_dest != ILLEGAL_POSITION ) - cp_SetOnBoard(chm->other_dest, PIECE_NONE); - -} - -/* - assumes, that the following members of the returned chm structure are filled - uint8_t main_cp; the main piece, which is moved - uint8_t main_src; the source position of the main piece - uint8_t main_dest; the destination of the main piece - - uint8_t other_cp; another piece: the captured one, the ROOK in case of castling or PIECE_NONE - uint8_t other_src; the delete position of other_cp. Often identical to main_dest except for e.p. and castling - uint8_t other_dest; only used for castling: ROOK destination pos - -*/ -chm_p cu_PushHalfMove(void) -{ - chm_p chm; - - chm = lrc_obj.chm_list+lrc_obj.chm_pos; - if ( lrc_obj.chm_pos < CHM_LIST_SIZE-1) - lrc_obj.chm_pos++; - - chm->pawn_dbl_move[0] = lrc_obj.pawn_dbl_move[0]; - chm->pawn_dbl_move[1] = lrc_obj.pawn_dbl_move[1]; - chm->castling_possible = lrc_obj.castling_possible; - return chm; -} - - -char chess_piece_to_char[] = "NBRQK"; - -/* - simple moves on empty field: Ka1-b2 - capture moves: Ka1xb2 - castling: 0-0 or 0-0-0 -*/ - -static void cu_add_pos(char *s, uint8_t pos) U8G_NOINLINE; - -static void cu_add_pos(char *s, uint8_t pos) -{ - *s = pos; - *s >>= 4; - *s += 'a'; - s++; - *s = pos; - *s &= 15; - *s += '1'; -} - -const char *cu_GetHalfMoveStr(uint8_t idx) -{ - chm_p chm; - static char buf[7]; /*Ka1-b2*/ - char *p = buf; - chm = lrc_obj.chm_list+idx; - - if ( cp_GetPiece(chm->main_cp) != PIECE_NONE ) - { - if ( cp_GetPiece(chm->main_cp) > PIECE_PAWN ) - { - *p++ = chess_piece_to_char[cp_GetPiece(chm->main_cp)-2]; - } - cu_add_pos(p, chm->main_src); - p+=2; - if ( cp_GetPiece(chm->other_cp) == PIECE_NONE ) - *p++ = '-'; - else - *p++ = 'x'; - cu_add_pos(p, chm->main_dest); - p+=2; - } - *p = '\0'; - return buf; -} - - - - - -/*==============================================================*/ -/* move */ -/*==============================================================*/ - -/* - Move a piece from source position to a destination on the board - This function - - does not perform any checking - - however it processes "en passant" and casteling - - backup the move and allow 1x undo - - 2011-02-05: - - fill pawn_dbl_move[] for double pawn moves - --> done - - Implement casteling - --> done - - en passant - --> done - - pawn conversion/promotion - --> done - - half-move backup - --> done - - cleanup everything, minimize variables - --> done -*/ - -void cu_Move(uint8_t src, uint8_t dest) -{ - /* start backup structure */ - chm_p chm = cu_PushHalfMove(); - - /* these are the values from the board at the positions, provided as arguments to this function */ - uint8_t cp_src, cp_dest; - - /* Maybe a second position is cleared and one additional location is set */ - uint8_t clr_pos2; - uint8_t set_pos2; - uint8_t set_cp2; - - /* get values from board */ - cp_src = cp_GetFromBoard(src); - cp_dest = cp_GetFromBoard(dest); - - /* fill backup structure */ - - chm->main_cp = cp_src; - chm->main_src = src; - chm->main_dest = dest; - - chm->other_cp = cp_dest; /* prepace capture backup */ - chm->other_src = dest; - chm->other_dest = ILLEGAL_POSITION; - - /* setup results as far as possible with some suitable values */ - - clr_pos2 = ILLEGAL_POSITION; /* for en passant and castling, two positions might be cleared */ - set_pos2 = ILLEGAL_POSITION; /* only used for castling */ - set_cp2 = PIECE_NONE; /* ROOK for castling */ - - /* check for PAWN */ - if ( cp_GetPiece(cp_src) == PIECE_PAWN ) - { - - /* double step: is the distance 2 rows */ - if ( (src - dest == 32) || ( dest - src == 32 ) ) - { - /* remember the destination position */ - lrc_obj.pawn_dbl_move[cp_GetColor(cp_src)] = dest; - } - - /* check if the PAWN is able to promote */ - else if ( (dest>>4) == 0 || (dest>>4) == 7 ) - { - /* do simple "queening" */ - cp_src &= ~PIECE_PAWN; - cp_src |= PIECE_QUEEN; - } - - /* is it en passant capture? */ - /* check for side move */ - else if ( ((src + dest) & 1) != 0 ) - { - /* check, if target field is empty */ - if ( cp_GetPiece(cp_dest) == PIECE_NONE ) - { - /* this is en passant */ - /* no further checking required, because legal moves are assumed here */ - /* however... the captured pawn position must be valid */ - clr_pos2 = lrc_obj.pawn_dbl_move[cp_GetColor(cp_src) ^ 1]; - chm->other_src = clr_pos2; - chm->other_cp = cp_GetFromBoard(clr_pos2); - } - } - } - - /* check for the KING */ - else if ( cp_GetPiece(cp_src) == PIECE_KING ) - { - /* disallow castling, if the KING has moved */ - if ( cp_GetColor(cp_src) == COLOR_WHITE ) - { - /* if white KING has moved, disallow castling for white */ - lrc_obj.castling_possible &= 0x0c; - } - else - { - /* if black KING has moved, disallow castling for black */ - lrc_obj.castling_possible &= 0x03; - } - - /* has it been castling to the left? */ - if ( src - dest == 2 ) - { - /* let the ROOK move to pos2 */ - set_pos2 = src-1; - set_cp2 = cp_GetFromBoard(src-4); - - /* the ROOK must be cleared from the original position */ - clr_pos2 = src-4; - - chm->other_cp = set_cp2; - chm->other_src = clr_pos2; - chm->other_dest = set_pos2; - } - - /* has it been castling to the right? */ - else if ( dest - src == 2 ) - { - /* let the ROOK move to pos2 */ - set_pos2 = src+1; - set_cp2 = cp_GetFromBoard(src+3); - - /* the ROOK must be cleared from the original position */ - clr_pos2 = src+3; - - chm->other_cp = set_cp2; - chm->other_src = clr_pos2; - chm->other_dest = set_pos2; - - } - - } - - /* check for the ROOK */ - else if ( cp_GetPiece(cp_src) == PIECE_ROOK ) - { - /* disallow white left castling */ - if ( src == 0x00 ) - lrc_obj.castling_possible &= ~0x01; - /* disallow white right castling */ - if ( src == 0x07 ) - lrc_obj.castling_possible &= ~0x02; - /* disallow black left castling */ - if ( src == 0x70 ) - lrc_obj.castling_possible &= ~0x04; - /* disallow black right castling */ - if ( src == 0x77 ) - lrc_obj.castling_possible &= ~0x08; - } - - - /* apply new board situation */ - - cp_SetOnBoard(dest, cp_src); - - if ( set_pos2 != ILLEGAL_POSITION ) - cp_SetOnBoard(set_pos2, set_cp2); - - cp_SetOnBoard(src, PIECE_NONE); - - if ( clr_pos2 != ILLEGAL_POSITION ) - cp_SetOnBoard(clr_pos2, PIECE_NONE); - - -} - -/* - this subprocedure decides for evaluation of the current board situation or further (deeper) investigation - Argument pos is the new target position if the current piece - -*/ -uint8_t ce_LoopRecur(uint8_t pos) -{ - eval_t eval; - - /* 1. check if target position is occupied by the same player (my_color) */ - /* of if pos is somehow illegal or not valid */ - if ( cu_IsIllegalPosition(pos, stack_GetCurrElement()->current_color) != 0 ) - return 0; - - /* 2. move piece to the specified position, capture opponent piece if required */ - cu_Move(stack_GetCurrElement()->current_pos, pos); - - - /* 3. */ - /* if depth reached: evaluate */ - /* else: go down next level */ - /* no eval if there had been any valid half-moves, so the default value (MIN) will be returned. */ - if ( stack_Push(stack_GetCurrElement()->current_color) == 0 ) - { - eval = ce_Eval(); - } - else - { - /* init the element, which has been pushed */ - stack_InitCurrElement(); - /* start over with ntext level */ - ce_LoopPieces(); - /* get the best move from opponents view, so invert the result */ - eval = -stack_GetCurrElement()->best_eval; - stack_Pop(); - } - - /* 4. store result */ - stack_SetMove(eval, pos); - - /* 5. undo the move */ - cu_UndoHalfMove(); - - /* 6. check special modes */ - /* the purpose of these checks is to mark special pieces and positions on the board */ - /* these marks can be checked by the user interface to highlight special positions */ - if ( lrc_obj.check_mode != 0 ) - { - stack_element_p e = stack_GetCurrElement(); - if ( lrc_obj.check_mode == CHECK_MODE_MOVEABLE ) - { - cp_SetOnBoard(e->current_pos, e->current_cp | CP_MARK_MASK ); - } - else if ( lrc_obj.check_mode == CHECK_MODE_TARGET_MOVE ) - { - if ( e->current_pos == lrc_obj.check_src_pos ) - { - cp_SetOnBoard(pos, cp_GetFromBoard(pos) | CP_MARK_MASK ); - } - } - } - return 1; -} - -/*==============================================================*/ -/* move pieces which can move one or more steps into a direction */ -/*==============================================================*/ - -/* - subprocedure to generate various target positions for some pieces - special cases are handled in the piece specific sub-procedure - - Arguments: - d: a list of potential directions - is_multi_step: if the piece can only do one step (zero for KING and KNIGHT) -*/ -static const uint8_t ce_dir_offset_rook[] PROGMEM = { 1, 16, -16, -1, 0 }; -static const uint8_t ce_dir_offset_bishop[] PROGMEM = { 15, 17, -17, -15, 0 }; -static const uint8_t ce_dir_offset_queen[] PROGMEM = { 1, 16, -16, -1, 15, 17, -17, -15, 0 }; -static const uint8_t ce_dir_offset_knight[] PROGMEM = {14, -14, 18, -18, 31, -31, 33, -33, 0}; - -void ce_LoopDirsSingleMultiStep(const uint8_t *d, uint8_t is_multi_step) -{ - uint8_t loop_pos; - - /* with all directions */ - for(;;) - { - if ( u8g_pgm_read(d) == 0 ) - break; - - /* start again from the initial position */ - loop_pos = stack_GetCurrElement()->current_pos; - - /* check direction */ - do - { - /* check next position into one direction */ - loop_pos += u8g_pgm_read(d); - - /* - go further to ce_LoopRecur() - 0 will be returned if the target position is illegal or a piece of the own color - this is used to stop walking into one direction - */ - if ( ce_LoopRecur(loop_pos) == 0 ) - break; - - /* stop if we had hit another piece */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) - break; - } while( is_multi_step ); - d++; - } -} - -void ce_LoopRook(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_rook, 1); -} - -void ce_LoopBishop(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_bishop, 1); -} - -void ce_LoopQueen(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 1); -} - -void ce_LoopKnight(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_knight, 0); -} - - - -/*==============================================================*/ -/* move king */ -/*==============================================================*/ - -uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) U8G_NOINLINE; - -/* - checks, if the king can do castling - - Arguments: - mask: the bit-mask for the global "castling possible" flag - direction: left castling: -1, right castling 1 - cnt: number of fields to be checked: 3 or 2 -*/ -uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) -{ - uint8_t pos; - uint8_t opponent_color; - - /* check if the current board state allows castling */ - if ( (lrc_obj.castling_possible & mask) == 0 ) - return 0; /* castling not allowed */ - - /* get the position of the KING, could be white or black king */ - pos = stack_GetCurrElement()->current_pos; - - /* calculate the color of the opponent */ - opponent_color = 1; - opponent_color -= stack_GetCurrElement()->current_color; - - /* if the KING itself is given check... */ - if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) - return 0; - - - /* check if fields in the desired direction are emtpy */ - for(;;) - { - /* go to the next field */ - pos += direction; - /* check for a piece */ - if ( cp_GetPiece(cp_GetFromBoard(pos)) != PIECE_NONE ) - return 0; /* castling not allowed */ - - /* if some of the fields are under attack */ - if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) - return 0; - - cnt--; - if ( cnt == 0 ) - break; - } - return 1; /* castling allowed */ -} - -void ce_LoopKing(void) -{ - /* - there is an interessting timing problem in this procedure - it must be checked for castling first and as second step the normal - KING movement. If we would first check for normal moves, than - any marks might be overwritten by the ROOK in the case of castling. - */ - - /* castling (this must be done before checking normal moves (see above) */ - if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) - { - /* white left castling */ - if ( cu_IsKingCastling(1, -1, 3) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos-2); - } - /* white right castling */ - if ( cu_IsKingCastling(2, 1, 2) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos+2); - } - } - else - { - /* black left castling */ - if ( cu_IsKingCastling(4, -1, 3) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos-2); - } - /* black right castling */ - if ( cu_IsKingCastling(8, 1, 2) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos+2); - } - } - - /* reuse queen directions */ - ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 0); -} - - -/*==============================================================*/ -/* move pawn */ -/*==============================================================*/ - -/* - doppelschritt: nur von der grundlinie aus, beide (!) felder vor dem bauern mssen frei sein - en passant: nur unmittelbar nachdem ein doppelschritt ausgefhrt wurde. -*/ -void ce_LoopPawnSideCapture(uint8_t loop_pos) -{ - if ( gpos_IsIllegal(loop_pos) == 0 ) - { - /* get the piece from the board */ - /* if the field is NOT empty */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) - { - /* normal capture */ - ce_LoopRecur(loop_pos); - /* TODO: check for pawn conversion/promotion */ - } - else - { - /* check conditions for en passant capture */ - if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) - { - if ( lrc_obj.pawn_dbl_move[COLOR_BLACK]+16 == loop_pos ) - { - ce_LoopRecur(loop_pos); - /* note: pawn conversion/promotion can not occur */ - } - } - else - { - if ( lrc_obj.pawn_dbl_move[COLOR_WHITE] == loop_pos+16 ) - { - ce_LoopRecur(loop_pos); - /* note: pawn conversion/promotion can not occur */ - } - } - } - } -} - -void ce_LoopPawn(void) -{ - uint8_t initial_pos = stack_GetCurrElement()->current_pos; - uint8_t my_color = stack_GetCurrElement()->current_color; - - uint8_t loop_pos; - uint8_t line; - - /* one step forward */ - - loop_pos = initial_pos; - line = initial_pos; - line >>= 4; - if ( my_color == COLOR_WHITE ) - loop_pos += 16; - else - loop_pos -= 16; - if ( gpos_IsIllegal(loop_pos) == 0 ) - { - /* if the field is empty */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) - { - /* TODO: check for and loop through piece conversion/promotion */ - ce_LoopRecur(loop_pos); - - /* second step forward */ - - /* if pawn is on his starting line */ - if ( (my_color == COLOR_WHITE && line == 1) || (my_color == COLOR_BLACK && line == 6 ) ) - { - /* the place before the pawn is not occupied, so we can do double moves, see above */ - - if ( my_color == COLOR_WHITE ) - loop_pos += 16; - else - loop_pos -= 16; - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) - { - /* this is a special case, other promotions of the pawn can not occur */ - ce_LoopRecur(loop_pos); - } - } - } - } - - /* capture */ - - loop_pos = initial_pos; - if ( my_color == COLOR_WHITE ) - loop_pos += 15; - else - loop_pos -= 15; - ce_LoopPawnSideCapture(loop_pos); - - - loop_pos = initial_pos; - if ( my_color == COLOR_WHITE ) - loop_pos += 17; - else - loop_pos -= 17; - ce_LoopPawnSideCapture(loop_pos); -} - -/*==============================================================*/ -/* attacked */ -/*==============================================================*/ - -/* - from a starting position, search for a piece, that might jump to that postion. - return: - the two global variables - lrc_obj.find_piece_weight[0]; - lrc_obj.find_piece_weight[1]; - will be increased by the weight of the attacked pieces of that color. - it is usually required to reset these global variables to zero, before using - this function. -*/ - -void ce_FindPieceByStep(uint8_t start_pos, uint8_t piece, const uint8_t *d, uint8_t is_multi_step) -{ - uint8_t loop_pos, cp; - - /* with all directions */ - for(;;) - { - if ( u8g_pgm_read(d) == 0 ) - break; - - /* start again from the initial position */ - loop_pos = start_pos; - - /* check direction */ - do - { - /* check next position into one direction */ - loop_pos += u8g_pgm_read(d); - - /* check if the board boundary has been crossed */ - if ( (loop_pos & 0x088) != 0 ) - break; - - /* get the colored piece from the board */ - cp = cp_GetFromBoard(loop_pos); - - /* stop if we had hit another piece */ - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - /* if it is the piece we are looking for, then add the weight */ - if ( cp_GetPiece(cp) == piece ) - { - lrc_obj.find_piece_weight[cp_GetColor(cp)] += ce_piece_weight[piece]; - lrc_obj.find_piece_cnt[cp_GetColor(cp)]++; - } - /* in any case, break out of the inner loop */ - break; - } - } while( is_multi_step ); - d++; - } -} - -void ce_FindPawnPiece(uint8_t dest_pos, uint8_t color) -{ - uint8_t cp; - /* check if the board boundary has been crossed */ - if ( (dest_pos & 0x088) == 0 ) - { - /* get the colored piece from the board */ - cp = cp_GetFromBoard(dest_pos); - /* only if there is a pawn of the matching color */ - if ( cp_GetPiece(cp) == PIECE_PAWN ) - { - if ( cp_GetColor(cp) == color ) - { - /* the weight of the PAWN */ - lrc_obj.find_piece_weight[color] += 1; - lrc_obj.find_piece_cnt[color]++; - } - } - } -} - - -/* - find out, which pieces do attack a specified field - used to - - check if the KING can do castling - - check if the KING must move - - may be used in the eval procedure ... once... - - the result is stored in the global array - uint8_t lrc_obj.find_piece_weight[2]; - which is indexed with the color. - lrc_obj.find_piece_weight[COLOR_WHITE] is the sum of all white pieces - which can directly move to this field. - - example: - if the black KING is at "pos" and lrc_obj.find_piece_weight[COLOR_WHITE] is not zero - (after executing ce_CalculatePositionWeight(pos)) then the KING must be protected or moveed, because - the KING was given check. -*/ - -void ce_CalculatePositionWeight(uint8_t pos) -{ - - lrc_obj.find_piece_weight[0] = 0; - lrc_obj.find_piece_weight[1] = 0; - lrc_obj.find_piece_cnt[0] = 0; - lrc_obj.find_piece_cnt[1] = 0; - - if ( (pos & 0x088) != 0 ) - return; - - ce_FindPieceByStep(pos, PIECE_ROOK, ce_dir_offset_rook, 1); - ce_FindPieceByStep(pos, PIECE_BISHOP, ce_dir_offset_bishop, 1); - ce_FindPieceByStep(pos, PIECE_QUEEN, ce_dir_offset_queen, 1); - ce_FindPieceByStep(pos, PIECE_KNIGHT, ce_dir_offset_knight, 0); - ce_FindPieceByStep(pos, PIECE_KING, ce_dir_offset_queen, 0); - - ce_FindPawnPiece(pos+17, COLOR_BLACK); - ce_FindPawnPiece(pos+15, COLOR_BLACK); - ce_FindPawnPiece(pos-17, COLOR_WHITE); - ce_FindPawnPiece(pos-15, COLOR_WHITE); -} - -/* - calculate the summed weight of pieces with specified color which can move to a specified position - - argument: - pos: the position which should be analysed - color: the color of those pieces which should be analysed - e.g. if a black piece is at 'pos' and 'color' is white then this procedure returns the white atting count -*/ -uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color) -{ - ce_CalculatePositionWeight(pos); - return lrc_obj.find_piece_weight[color]; -} - -uint8_t ce_GetPositionAttackCount(uint8_t pos, uint8_t color) -{ - ce_CalculatePositionWeight(pos); - return lrc_obj.find_piece_cnt[color]; -} - - -/*==============================================================*/ -/* depth search starts here: loop over all pieces of the current color on the board */ -/*==============================================================*/ - -void ce_LoopPieces(void) -{ - stack_element_p e = stack_GetCurrElement(); - /* start with lower left position (A1) */ - e->current_pos = 0; - do - { - e->current_cp = cp_GetFromBoard(e->current_pos); - /* check if the position on the board is empty */ - if ( e->current_cp != 0 ) - { - /* only generate moves for the current color */ - if ( e->current_color == cp_GetColor(e->current_cp) ) - { - chess_Thinking(); - - /* find out which piece is used */ - switch(cp_GetPiece(e->current_cp)) - { - case PIECE_NONE: - break; - case PIECE_PAWN: - ce_LoopPawn(); - break; - case PIECE_KNIGHT: - ce_LoopKnight(); - break; - case PIECE_BISHOP: - ce_LoopBishop(); - break; - case PIECE_ROOK: - ce_LoopRook(); - break; - case PIECE_QUEEN: - ce_LoopQueen(); - break; - case PIECE_KING: - ce_LoopKing(); - break; - } - } - } - e->current_pos = cu_NextPos(e->current_pos); - } while( e->current_pos != 0 ); -} - -/*==============================================================*/ -/* user interface */ -/*==============================================================*/ - -/* -eval_t chess_EvalCurrBoard(uint8_t color) -{ - stack_Init(0); - stack_GetCurrElement()->current_color = color; - ce_LoopPieces(); - return stack_GetCurrElement()->best_eval; -} -*/ - -/* clear any marks on the board */ -void chess_ClearMarks(void) -{ - uint8_t i; - for( i = 0; i < 64; i++ ) - lrc_obj.board[i] &= ~CP_MARK_MASK; -} - -/* - Mark all pieces which can do moves. This is done by setting flags on the global board -*/ -void chess_MarkMovable(void) -{ - stack_Init(0); - //stack_GetCurrElement()->current_color = color; - lrc_obj.check_mode = CHECK_MODE_MOVEABLE; - ce_LoopPieces(); -} - -/* - Checks, if the piece can move from src_pos to dest_pos - - src_pos: The game position of a piece on the chess board -*/ -void chess_MarkTargetMoves(uint8_t src_pos) -{ - stack_Init(0); - stack_GetCurrElement()->current_color = cp_GetColor(cp_GetFromBoard(src_pos)); - lrc_obj.check_src_pos = src_pos; - lrc_obj.check_mode = CHECK_MODE_TARGET_MOVE; - ce_LoopPieces(); -} - -/* - first call should start with 255 - this procedure will return 255 if - - there are no marks at all - - it has looped over all marks once -*/ -uint8_t chess_GetNextMarked(uint8_t arg, uint8_t is_prev) -{ - uint8_t i; - uint8_t pos = arg; - for(i = 0; i < 64; i++) - { - if ( is_prev != 0 ) - pos = cu_PrevPos(pos); - else - pos = cu_NextPos(pos); - if ( arg != 255 && pos == 0 ) - return 255; - if ( cp_IsMarked(cp_GetFromBoard(pos)) ) - return pos; - } - return 255; -} - - -/* make a manual move: this is a little bit more than cu_Move() */ -void chess_ManualMove(uint8_t src, uint8_t dest) -{ - uint8_t cp; - - /* printf("chess_ManualMove %02x -> %02x\n", src, dest); */ - - /* if all other things fail, this is the place where the game is to be decided: */ - /* ... if the KING is captured */ - cp = cp_GetFromBoard(dest); - if ( cp_GetPiece(cp) == PIECE_KING ) - { - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = cp_GetColor(cp); - } - - /* clear ply history here, to avoid memory overflow */ - /* may be the last X moves can be kept here */ - cu_ReduceHistoryByFullMove(); - /* perform the move on the board */ - cu_Move(src, dest); - - /* update en passant double move positions: en passant position is removed after two half moves */ - lrc_obj.pawn_dbl_move[lrc_obj.ply_count&1] = ILLEGAL_POSITION; - - /* update the global half move counter */ - lrc_obj.ply_count++; - - - /* make a small check about the end of the game */ - /* use at least depth 1, because we must know if the king can still move */ - /* this is: King moves at level 0 and will be captured at level 1 */ - /* so we check if the king can move and will not be captured at search level 1 */ - - stack_Init(1); - ce_LoopPieces(); - - /* printf("chess_ManualMove/analysis best_from_pos %02x -> best_to_pos %02x\n", stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); */ - - /* analyse the eval result */ - - /* check if the other player has any moves left */ - if ( stack_GetCurrElement()->best_from_pos == ILLEGAL_POSITION ) - { - uint8_t color; - /* conditions: */ - /* 1. no King, should never happen, opposite color has won */ - /* this is already checked above at the beginning if this procedure */ - /* 2. King is under attack, opposite color has won */ - /* 3. King is not under attack, game is a draw */ - - uint8_t i = 0; - color = lrc_obj.ply_count; - color &= 1; - do - { - cp = cp_GetFromBoard(i); - /* look for the King */ - if ( cp_GetPiece(cp) == PIECE_KING ) - { - if ( cp_GetColor(cp) == color ) - { - /* check if KING is attacked */ - if ( ce_GetPositionAttackCount(i, color^1) != 0 ) - { - /* KING is under attack (check) and can not move: Game is lost */ - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = color; - } - else - { - /* KING is NOT under attack (check) but can not move: Game is a draw */ - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = 2; - } - /* break out of the loop */ - break; - } - } - i = cu_NextPos(i); - } while( i != 0 ); - } -} - -/* let the computer do a move */ -void chess_ComputerMove(uint8_t depth) -{ - stack_Init(depth); - - //stack_GetCurrElement()->current_color = lrc_obj.ply_count; - //stack_GetCurrElement()->current_color &= 1; - - cu_ReduceHistoryByFullMove(); - ce_LoopPieces(); - - chess_ManualMove(stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); -} - - -/*==============================================================*/ -/* unix code */ -/*==============================================================*/ - -#ifdef UNIX_MAIN - -#include -#include - -char *piece_str[] = { - /* 0x00 */ - " ", - "wP", - "wN", - "wB", - - /* 0x04 */ - "wR", - "wQ", - "wK", - "w?", - - /* 0x08 */ - "w?", - "w?", - "w?", - "w?", - - /* 0x0c */ - "w?", - "w?", - "w?", - "w?", - - /* 0x10 */ - "b ", - "bP", - "bN", - "bB", - "bR", - "bQ", - "bK", - "b?", - - "b?", - "b?", - "b?", - "b?", - "b?", - "b?", - "b?", - "b?" -}; - -void chess_Thinking(void) -{ - uint8_t i; - uint8_t cp = cp_GetPiece(stack_GetCurrElement()->current_cp); - - printf("Thinking: ", piece_str[cp], stack_GetCurrElement()->current_pos); - - for( i = 0; i <= lrc_obj.curr_depth; i++ ) - printf("%s ", piece_str[(lrc_obj.stack_memory+i)->current_cp]); - - printf(" \r"); -} - -void board_Show(void) -{ - uint8_t i, j, cp; - char buf[10]; - for ( i = 0; i < 8; i++ ) - { - printf("%1d ", 7-i); - for ( j = 0; j < 8; j++ ) - { - /* get piece from global board */ - cp = lrc_obj.board[(7-i)*8+j]; - strcpy(buf, piece_str[cp&COLOR_PIECE_MASK]); - - if ( (cp & CP_MARK_MASK) != 0 ) - { - buf[0] = '#'; - } - - /* mask out any bits except color and piece index */ - cp &= COLOR_PIECE_MASK; - printf("%s %02x ", buf, cp); - - } - printf("\n"); - } -} - -int main(void) -{ - uint8_t depth = 3; - chess_SetupBoard(); - board_Show(); - puts(""); - - - /* - chess_ClearMarks(); - chess_MarkMovable(COLOR_WHITE); - board_Show(); - */ - - chess_ManualMove(0x006, 0x066); - - printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); - printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); - - chess_ComputerMove(2); - - printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); - printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); - - board_Show(); - -} - - - -#else - -/*==============================================================*/ -/* display menu */ -/*==============================================================*/ - -//#define MNU_FONT font_5x7 -#define MNU_FONT u8g_font_5x8r -//#define MNU_FONT font_6x9 -#define MNU_ENTRY_HEIGHT 9 - -char *mnu_title = "Little Rook Chess"; -char *mnu_list[] = { "New Game (White)", "New Game (Black)", "Undo Move", "Return" }; -uint8_t mnu_pos = 0; -uint8_t mnu_max = 4; - -void mnu_DrawHome(uint8_t is_highlight) -{ - uint8_t x = lrc_u8g->width - 35; - uint8_t y = (lrc_u8g->height-1); - uint8_t t; - - u8g_SetFont(lrc_u8g, u8g_font_5x7r); - u8g_SetDefaultForegroundColor(lrc_u8g); - t = u8g_DrawStrP(lrc_u8g, x, y -1, U8G_PSTR("Options")); - - if ( is_highlight ) - u8g_DrawFrame(lrc_u8g, x-1, y - MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); -} - -void mnu_DrawEntry(uint8_t y, char *str, uint8_t is_clr_background, uint8_t is_highlight) -{ - uint8_t t, x; - u8g_SetFont(lrc_u8g, MNU_FONT); - t = u8g_GetStrWidth(lrc_u8g, str); - x = u8g_GetWidth(lrc_u8g); - x -= t; - x >>= 1; - - if ( is_clr_background ) - { - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBox(lrc_u8g, x-3, (lrc_u8g->height-1) - (y+MNU_ENTRY_HEIGHT-1+2), t+5, MNU_ENTRY_HEIGHT+4); - } - - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawStr(lrc_u8g, x, (lrc_u8g->height-1) - y, str); - - if ( is_highlight ) - { - u8g_DrawFrame(lrc_u8g, x-1, (lrc_u8g->height-1) - y -MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); - } -} - -void mnu_Draw(void) -{ - uint8_t i; - uint8_t t,y; - /* calculate hight of the complete menu */ - y = mnu_max; - y++; /* consider also some space for the title */ - y++; /* consider also some space for the title */ - y *= MNU_ENTRY_HEIGHT; - - /* calculate how much space will be left */ - t = u8g_GetHeight(lrc_u8g); - t -= y; - - /* topmost pos start half of that empty space from the top */ - t >>= 1; - y = u8g_GetHeight(lrc_u8g); - y -= t; - - y -= MNU_ENTRY_HEIGHT; - mnu_DrawEntry(y, mnu_title, 0, 0); - - y -= MNU_ENTRY_HEIGHT; - - - for( i = 0; i < mnu_max; i++ ) - { - y -= MNU_ENTRY_HEIGHT; - mnu_DrawEntry(y, mnu_list[i], 0, i == mnu_pos); - } -} - -void mnu_Step(uint8_t key_cmd) -{ - if ( key_cmd == CHESS_KEY_NEXT ) - { - if ( mnu_pos+1 < mnu_max ) - mnu_pos++; - } - else if ( key_cmd == CHESS_KEY_PREV ) - { - if ( mnu_pos > 0 ) - mnu_pos--; - } -} - - - - -uint8_t chess_key_code = 0; -uint8_t chess_key_cmd = 0; -#define CHESS_STATE_MENU 0 -#define CHESS_STATE_SELECT_START 1 -#define CHESS_STATE_SELECT_PIECE 2 -#define CHESS_STATE_SELECT_TARGET_POS 3 -#define CHESS_STATE_THINKING 4 -#define CHESS_STATE_GAME_END 5 -uint8_t chess_state = CHESS_STATE_MENU; -uint8_t chess_source_pos = 255; -uint8_t chess_target_pos = 255; - -const uint8_t chess_pieces_body_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, /* 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x00, */ - /* KNIGHT */ 0x00, 0x00, 0x1c, 0x2c, 0x04, 0x04, 0x0e, 0x00, - /* BISHOP */ 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x08, 0x00, 0x00, /* 0x00, 0x00, 0x08, 0x1c, 0x1c, 0x08, 0x00, 0x00, */ - /* ROOK */ 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, - /* QUEEN */ 0x00, 0x00, 0x14, 0x1c, 0x08, 0x1c, 0x08, 0x00, - /* KING */ 0x00, 0x00, 0x00, 0x08, 0x3e, 0x1c, 0x08, 0x00, -}; - -#ifdef NOT_REQUIRED -/* white pieces are constructed by painting black pieces and cutting out the white area */ -const uint8_t chess_white_pieces_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x0c, 0x12, 0x12, 0x0c, 0x1e, 0x00, - /* KNIGHT */ 0x00, 0x1c, 0x22, 0x52, 0x6a, 0x0a, 0x11, 0x1f, - /* BISHOP */ 0x00, 0x08, 0x14, 0x22, 0x22, 0x14, 0x08, 0x7f, - /* ROOK */ 0x00, 0x55, 0x7f, 0x22, 0x22, 0x22, 0x22, 0x7f, - /* QUEEN */ 0x00, 0x55, 0x2a, 0x22, 0x14, 0x22, 0x14, 0x7f, - /* KING */ 0x08, 0x1c, 0x49, 0x77, 0x41, 0x22, 0x14, 0x7f, -}; -#endif - -const uint8_t chess_black_pieces_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x3c, 0x00, /* 0x00, 0x00, 0x0c, 0x1e, 0x1e, 0x0c, 0x1e, 0x00, */ - /* KNIGHT */ 0x00, 0x1c, 0x3e, 0x7e, 0x6e, 0x0e, 0x1f, 0x1f, - /* BISHOP */ 0x00, 0x1c, 0x2e, 0x3e, 0x3e, 0x1c, 0x08, 0x7f, /*0x00, 0x08, 0x1c, 0x3e, 0x3e, 0x1c, 0x08, 0x7f,*/ - /* ROOK */ 0x00, 0x55, 0x7f, 0x3e, 0x3e, 0x3e, 0x3e, 0x7f, - /* QUEEN */ 0x00, 0x55, 0x3e, 0x3e, 0x1c, 0x3e, 0x1c, 0x7f, - /* KING -*/ 0x08, 0x1c, 0x49, 0x7f, 0x7f, 0x3e, 0x1c, 0x7f, -}; - - -#if defined(DOGXL160_HW_GR) -#define BOXSIZE 13 -#define BOXOFFSET 3 -#else -#define BOXSIZE 8 -#define BOXOFFSET 1 -#endif - -u8g_uint_t chess_low_edge; -uint8_t chess_boxsize = 8; -uint8_t chess_boxoffset = 1; - - -void chess_DrawFrame(uint8_t pos, uint8_t is_bold) -{ - u8g_uint_t x0, y0; - - x0 = pos; - x0 &= 15; - if ( lrc_obj.orientation != COLOR_WHITE ) - x0 ^= 7; - - y0 = pos; - y0>>= 4; - if ( lrc_obj.orientation != COLOR_WHITE ) - y0 ^= 7; - - x0 *= chess_boxsize; - y0 *= chess_boxsize; - - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize+1, chess_boxsize, chess_boxsize); - - - if ( is_bold ) - { - x0--; - y0++; - - u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize +1, chess_boxsize+2, chess_boxsize+2); - } -} - - -void chess_DrawBoard(void) -{ - uint8_t i, j, cp; - const uint8_t *ptr; /* pointer into PROGMEM */ - - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) > 1 ) - { - for( i = 0; i < 8; i++ ) - for( j = 0; j < 8; j++ ) - { - uint8_t x,y; - x = i; - x*=chess_boxsize; - y = j; - y*=chess_boxsize; - if ( ((i^j) & 1) == 0 ) - u8g_SetDefaultMidColor(lrc_u8g); - else - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBox(lrc_u8g, x,chess_low_edge-y-chess_boxsize+1,chess_boxsize,chess_boxsize); - } - //u8g_SetDefaultForegroundColor(lrc_u8g); - } - else - { - uint8_t x_offset = 1; - u8g_SetDefaultForegroundColor(lrc_u8g); - for( i = 0; i < 8*8; i+=8 ) - { - for( j = 0; j < 8*8; j+=8 ) - { - if ( ((i^j) & 8) == 0 ) - { - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-2); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-4); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-2); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-4); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-6); - } - } - } - } - - for ( i = 0; i < 8; i++ ) - { - for ( j = 0; j < 8; j++ ) - { - /* get piece from global board */ - if ( lrc_obj.orientation == COLOR_WHITE ) - { - cp = lrc_obj.board[i*8+j]; - } - else - { - cp = lrc_obj.board[(7-i)*8+7-j]; - } - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - ptr = chess_black_pieces_bm; - ptr += (cp_GetPiece(cp)-1)*8; - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); - - if ( cp_GetColor(cp) == lrc_obj.strike_out_color ) - { - ptr = chess_pieces_body_bm; - ptr += (cp_GetPiece(cp)-1)*8; - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); - } - } - } - } - - if ( (chess_source_pos & 0x88) == 0 ) - { - chess_DrawFrame(chess_source_pos, 1); - } - - if ( (chess_target_pos & 0x88) == 0 ) - { - chess_DrawFrame(chess_target_pos, 0); - } - -} - - -void chess_Thinking(void) -{ -} - -void chess_Init(u8g_t *u8g, uint8_t body_color) -{ - lrc_u8g = u8g; - - chess_low_edge = u8g_GetHeight(lrc_u8g); - chess_low_edge--; - - - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) == 1 ) - { - - chess_boxsize = 8; - chess_boxoffset = 1; - } - else - { - - /* - if ( u8g_GetHeight(lrc_u8g) >= 12*8 ) - { - chess_boxsize = 12; - chess_boxoffset = 3; - } - else */ if ( u8g_GetHeight(lrc_u8g) >= 11*8 ) - { - chess_boxsize = 10; - chess_boxoffset = 2; - } - else - { - chess_boxsize = 8; - chess_boxoffset = 1; - } - - if ( u8g_GetHeight(lrc_u8g) > 64 ) - chess_low_edge -= (u8g_GetHeight(lrc_u8g)-chess_boxsize*8) / 2; - - } - - lrc_obj.strike_out_color = body_color; - chess_SetupBoard(); -} - - - -void chess_Draw(void) -{ - if ( chess_state == CHESS_STATE_MENU ) - { - if ( lrc_obj.ply_count == 0) - mnu_max = 2; - else - mnu_max = 4; - mnu_Draw(); - } - else - { - chess_DrawBoard(); - - { - uint8_t i; - uint8_t entries = lrc_obj.chm_pos; - if ( entries > 4 ) - entries = 4; - - u8g_SetFont(lrc_u8g, u8g_font_5x7); - u8g_SetDefaultForegroundColor(lrc_u8g); - for( i = 0; i < entries; i++ ) - { - -#if defined(DOGXL160_HW_GR) || defined(DOGXL160_HW_BW) - dog_DrawStr(u8g_GetWidth(lrc_u8g)-35, u8g_GetHeight(lrc_u8g)-8*(i+1), font_5x7, cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); -#else - u8g_DrawStr(lrc_u8g, u8g_GetWidth(lrc_u8g)-35, 8*(i+1), cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); -#endif - - } - - } - - if ( chess_state == CHESS_STATE_SELECT_PIECE ) - mnu_DrawHome(chess_source_pos == 255); - else if ( chess_state == CHESS_STATE_SELECT_TARGET_POS ) - mnu_DrawHome(chess_target_pos == 255); - else - mnu_DrawHome(0); - - if ( chess_state == CHESS_STATE_GAME_END ) - { - switch( lrc_obj.lost_side_color ) - { - case COLOR_WHITE: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Black wins", 1, 1); - break; - case COLOR_BLACK: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "White wins", 1, 1); - break; - default: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Stalemate", 1, 1); - break; - } - } - } -} - - -void chess_Step(uint8_t keycode) -{ - if ( keycode == CHESS_KEY_NONE ) - { - chess_key_cmd = chess_key_code; - chess_key_code = CHESS_KEY_NONE; - } - else - { - chess_key_cmd = CHESS_KEY_NONE; - chess_key_code = keycode; - } - //chess_ComputerMove(2); - switch(chess_state) - { - case CHESS_STATE_MENU: - mnu_Step(chess_key_cmd); - if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - if ( mnu_pos == 0 ) - { - chess_SetupBoard(); - lrc_obj.orientation = 0; - chess_state = CHESS_STATE_SELECT_START; - } - else if ( mnu_pos == 1 ) - { - chess_SetupBoard(); - lrc_obj.orientation = 1; - chess_state = CHESS_STATE_THINKING; - } - else if ( mnu_pos == 2 ) - { - if ( lrc_obj.ply_count >= 2 ) - { - cu_UndoHalfMove(); - cu_UndoHalfMove(); - lrc_obj.ply_count-=2; - if ( lrc_obj.ply_count == 0 ) - mnu_pos = 0; - } - chess_state = CHESS_STATE_SELECT_START; - } - else if ( mnu_pos == 3 ) - { - chess_state = CHESS_STATE_SELECT_START; - } - } - break; - case CHESS_STATE_SELECT_START: - chess_ClearMarks(); - chess_MarkMovable(); - chess_source_pos = chess_GetNextMarked(255, 0); - chess_target_pos = ILLEGAL_POSITION; - chess_state = CHESS_STATE_SELECT_PIECE; - break; - - case CHESS_STATE_SELECT_PIECE: - if ( chess_key_cmd == CHESS_KEY_NEXT ) - { - chess_source_pos = chess_GetNextMarked(chess_source_pos, 0); - } - else if ( chess_key_cmd == CHESS_KEY_PREV ) - { - chess_source_pos = chess_GetNextMarked(chess_source_pos, 1); - } - else if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - if ( chess_source_pos == 255 ) - { - chess_state = CHESS_STATE_MENU; - } - else - { - chess_ClearMarks(); - chess_MarkTargetMoves(chess_source_pos); - chess_target_pos = chess_GetNextMarked(255, 0); - chess_state = CHESS_STATE_SELECT_TARGET_POS; - } - } - break; - case CHESS_STATE_SELECT_TARGET_POS: - if ( chess_key_cmd == CHESS_KEY_NEXT ) - { - chess_target_pos = chess_GetNextMarked(chess_target_pos, 0); - } - else if ( chess_key_cmd == CHESS_KEY_PREV ) - { - chess_target_pos = chess_GetNextMarked(chess_target_pos, 1); - } - else if ( chess_key_cmd == CHESS_KEY_BACK ) - { - chess_ClearMarks(); - chess_MarkMovable(); - chess_target_pos = ILLEGAL_POSITION; - chess_state = CHESS_STATE_SELECT_PIECE; - } - else if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - chess_ManualMove(chess_source_pos, chess_target_pos); - if ( lrc_obj.is_game_end != 0 ) - chess_state = CHESS_STATE_GAME_END; - else - chess_state = CHESS_STATE_THINKING; - /* clear marks as some kind of feedback to the user... it simply looks better */ - chess_source_pos = ILLEGAL_POSITION; - chess_target_pos = ILLEGAL_POSITION; - chess_ClearMarks(); - } - break; - case CHESS_STATE_THINKING: - chess_ComputerMove(2); - if ( lrc_obj.is_game_end != 0 ) - chess_state = CHESS_STATE_GAME_END; - else - chess_state = CHESS_STATE_SELECT_START; - break; - case CHESS_STATE_GAME_END: - if ( chess_key_cmd != CHESS_KEY_NONE ) - { - chess_state = CHESS_STATE_MENU; - chess_SetupBoard(); - } - break; - } - -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g.h b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g.h deleted file mode 100644 index afe161fc6..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g.h +++ /dev/null @@ -1,1977 +0,0 @@ -/* - - u8g.h - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#ifndef _U8G_H -#define _U8G_H - -/* uncomment the following line to support displays larger than 240x240 */ -//#define U8G_16BIT 1 - -/* comment the following line to generate more compact but interrupt unsafe code */ -#define U8G_INTERRUPT_SAFE 1 - - -#include - -#ifdef __18CXX -typedef unsigned char uint8_t; -typedef signed char int8_t; -typedef unsigned short uint16_t; -typedef signed short int16_t; -#else -#include -#endif - -#if defined(__AVR__) -#include -#endif - -/* - use the com interface directly on any systems which are not AVR or ARDUINO -*/ -#if defined(__AVR__) || defined(ARDUINO) -#define U8G_WITH_PINLIST -#endif -#define U8G_WITH_PINLIST - - -#ifdef __cplusplus -extern "C" { -#endif - - -/*===============================================================*/ -#ifdef __GNUC__ -# define U8G_NOINLINE __attribute__((noinline)) -# define U8G_PURE __attribute__ ((pure)) -# define U8G_NOCOMMON __attribute__ ((nocommon)) -# define U8G_SECTION(name) __attribute__ ((section (name))) -# if defined(__MSPGCC__) -/* mspgcc does not have .progmem sections. Use -fdata-sections. */ -# define U8G_FONT_SECTION(name) -# endif -# if defined(__AVR__) -# define U8G_FONT_SECTION(name) U8G_SECTION(".progmem." name) -# endif -#else -# define U8G_NOINLINE -# define U8G_PURE -# define U8G_NOCOMMON -# define U8G_SECTION(name) -# define U8G_FONT_SECTION(name) -#endif - -#ifndef U8G_FONT_SECTION -# define U8G_FONT_SECTION(name) -#endif - - -/*===============================================================*/ -/* flash memory access */ - -#if defined(__AVR__) -/* U8G_PROGMEM is used by the XBM example */ -#define U8G_PROGMEM U8G_SECTION(".progmem.data") -typedef uint8_t PROGMEM u8g_pgm_uint8_t; -typedef uint8_t u8g_fntpgm_uint8_t; -#define u8g_pgm_read(adr) pgm_read_byte_near(adr) -#define U8G_PSTR(s) ((u8g_pgm_uint8_t *)PSTR(s)) - -#else - -#define U8G_PROGMEM -#define PROGMEM -typedef uint8_t u8g_pgm_uint8_t; -typedef uint8_t u8g_fntpgm_uint8_t; -#define u8g_pgm_read(adr) (*(const u8g_pgm_uint8_t *)(adr)) -#define U8G_PSTR(s) ((u8g_pgm_uint8_t *)(s)) - -#endif - -/*===============================================================*/ -/* interrupt safe code */ -#if defined(U8G_INTERRUPT_SAFE) -# if defined(__AVR__) -extern uint8_t global_SREG_backup; /* u8g_state.c */ -# define U8G_ATOMIC_START() do { global_SREG_backup = SREG; cli(); } while(0) -# define U8G_ATOMIC_END() SREG = global_SREG_backup -# define U8G_ATOMIC_OR(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) |= (val)); SREG = tmpSREG; } while(0) -# define U8G_ATOMIC_AND(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) &= (val)); SREG = tmpSREG; } while(0) -# else -# define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) -# define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) -# define U8G_ATOMIC_START() -# define U8G_ATOMIC_END() -# endif /* __AVR__ */ -#else -# define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) -# define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) -# define U8G_ATOMIC_START() -# define U8G_ATOMIC_END() -#endif /* U8G_INTERRUPT_SAFE */ - - -/*===============================================================*/ -/* forward */ -typedef struct _u8g_t u8g_t; -typedef struct _u8g_dev_t u8g_dev_t; - -typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; -typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; -typedef struct _u8g_box_t u8g_box_t; -typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; - - -/*===============================================================*/ -/* generic */ -#if defined(U8G_16BIT) -typedef uint16_t u8g_uint_t; -typedef int16_t u8g_int_t; -#else -typedef uint8_t u8g_uint_t; -typedef int8_t u8g_int_t; -#endif - -#ifdef OBSOLETE -struct _u8g_box_t -{ - u8g_uint_t x0, y0, x1, y1; -}; -typedef struct _u8g_box_t u8g_box_t; -#endif /* OBSOLETE */ - - -/*===============================================================*/ -/* device structure */ - -#ifdef __XC8 -/* device prototype */ -typedef uint8_t (*u8g_dev_fnptr)(void *u8g, void *dev, uint8_t msg, void *arg); - -/* com prototype */ -typedef uint8_t (*u8g_com_fnptr)(void *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -#else -/* device prototype */ -typedef uint8_t (*u8g_dev_fnptr)(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* com prototype */ -typedef uint8_t (*u8g_com_fnptr)(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -#endif - - - -struct _u8g_dev_t -{ - u8g_dev_fnptr dev_fn; /* device procedure */ - void *dev_mem; /* device memory */ - u8g_com_fnptr com_fn; /* communication procedure */ -}; - - -/*===============================================================*/ -/* device list */ - -/* Size: 128x64 SDL, u8g_dev_sdl.c */ -extern u8g_dev_t u8g_dev_sdl_1bit; -extern u8g_dev_t u8g_dev_sdl_1bit_h; -extern u8g_dev_t u8g_dev_sdl_2bit; -extern u8g_dev_t u8g_dev_sdl_2bit_double_mem; -extern u8g_dev_t u8g_dev_sdl_8bit; -extern u8g_dev_t u8g_dev_sdl_hicolor; -extern u8g_dev_t u8g_dev_sdl_fullcolor; -int u8g_sdl_get_key(void); - -/* Size: 70x30 monochrom, stdout */ -extern u8g_dev_t u8g_dev_stdout; - -/* Size: monochrom, writes "u8g.pbm" */ -extern u8g_dev_t u8g_dev_pbm; -extern u8g_dev_t u8g_dev_pbm_8h1; -extern u8g_dev_t u8g_dev_pbm_8h2; /* grayscale simulation */ - -/* Size: 128x64 monochrom, no output, used for performance measure */ -extern u8g_dev_t u8g_dev_gprof; - -/* Display: EA DOGS102, Size: 102x64 monochrom */ -extern u8g_dev_t u8g_dev_uc1701_dogs102_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_dogs102_hw_spi; - -extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi; - -/* Display: Mini12864 (dealextreme), Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_uc1701_mini12864_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_mini12864_hw_spi; - -extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi; - -/* Display: EA DOGM132, Size: 128x32 monochrom */ -extern u8g_dev_t u8g_dev_st7565_dogm132_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm132_hw_spi; - -/* Display: EA DOGM128, Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_st7565_dogm128_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_hw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_parallel; - -extern u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel; - -/* EA DOGM 240-6 */ -extern u8g_dev_t u8g_dev_uc1611_dogm240_i2c; -extern u8g_dev_t u8g_dev_uc1611_dogm240_hw_spi; -extern u8g_dev_t u8g_dev_uc1611_dogm240_sw_spi; - -/* EA DOGXL 240 */ -extern u8g_dev_t u8g_dev_uc1611_dogxl240_i2c; -extern u8g_dev_t u8g_dev_uc1611_dogxl240_hw_spi; -extern u8g_dev_t u8g_dev_uc1611_dogxl240_sw_spi; - -/* Display: Topway LM6059 128x64 (Adafruit) */ -extern u8g_dev_t u8g_dev_st7565_lm6059_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6059_hw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi; -/* Display: Topway LM6063 128x64 */ -extern u8g_dev_t u8g_dev_st7565_lm6063_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6063_hw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi; -/* Display: Newhaven NHD-C12864 */ -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_hw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi; - -/* Display: Newhaven NHD-C12832 */ -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_parallel; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_usart_spi; - -/* Display: Displaytech 64128N */ -extern u8g_dev_t u8g_dev_st7565_64128n_sw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_hw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_parallel; - -extern u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_2x_parallel; - -/* Display: LCD-AG-C128032R-DIW W/KK E6 PBF */ -extern u8g_dev_t u8g_dev_uc1601_c128032_sw_spi; -extern u8g_dev_t u8g_dev_uc1601_c128032_hw_spi; - -extern u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi; - -/* East Rising/buy-display.com ERC24064-1 */ -extern u8g_dev_t u8g_dev_uc1608_240x64_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x64_hw_spi; - -extern u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi; - -/* UC1608 240x128 */ -extern u8g_dev_t u8g_dev_uc1608_240x128_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x128_hw_spi; - -extern u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi; - -/* dfrobot 128x64 Graphic LCD (SKU:FIT0021) */ -extern u8g_dev_t u8g_dev_st7920_128x64_sw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_hw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_8bit; -extern u8g_dev_t u8g_dev_st7920_128x64_custom; - -extern u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_8bit; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_custom; - -/* NHD-19232WG */ -extern u8g_dev_t u8g_dev_st7920_192x32_sw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_hw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_8bit; - -extern u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_4x_8bit; - -/* CrystalFontz CFAG20232 */ -extern u8g_dev_t u8g_dev_st7920_202x32_sw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_hw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_8bit; - -extern u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_4x_8bit; - -/* LC7981 160x80 display */ -extern u8g_dev_t u8g_dev_lc7981_160x80_8bit; -/* LC7981 240x64 display */ -extern u8g_dev_t u8g_dev_lc7981_240x64_8bit; -/* LC7981 240x128 display */ -extern u8g_dev_t u8g_dev_lc7981_240x128_8bit; -/* LC7981 320x64 display */ -extern u8g_dev_t u8g_dev_lc7981_320x64_8bit; - -/* T6963, all t6963 devices have double page (2x) */ -extern u8g_dev_t u8g_dev_t6963_240x128_8bit; -extern u8g_dev_t u8g_dev_t6963_128x128_8bit; -extern u8g_dev_t u8g_dev_t6963_240x64_8bit; -extern u8g_dev_t u8g_dev_t6963_128x64_8bit; - -/* Display: EA DOGXL160, Size: 160x104 monochrom & gray level */ -extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_hw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_hw_spi; - -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi; - -/* Display: Generic KS0108b, Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_ks0108_128x64; /* official Arduino Library interface */ -extern u8g_dev_t u8g_dev_ks0108_128x64_fast; /* faster, but uses private tables from the Arduino Library */ - -/* Nokia 84x48 Display with PCD8544 */ -extern u8g_dev_t u8g_dev_pcd8544_84x48_sw_spi; -extern u8g_dev_t u8g_dev_pcd8544_84x48_hw_spi; -extern u8g_dev_t u8g_dev_tls8204_84x48_sw_spi; - -/* Nokia 96x65 Display with PCF8812 */ -extern u8g_dev_t u8g_dev_pcf8812_96x65_sw_spi; -extern u8g_dev_t u8g_dev_pcf8812_96x65_hw_spi; - -/* NHD-2.7-12864UCY3 OLED Display with SSD1325 Controller */ -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_hw_spi; - -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi; - -/* LY120 OLED with SSD1327 Controller (tested with Seeedstudio module) */ -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_i2c; - -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c; - -/* NHD-3.12-25664 OLED Display with SSD1322 Controller */ -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi; - -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_parallel; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi; - -/* OLED 128x64 Display with SSD1306 Controller */ -extern u8g_dev_t u8g_dev_ssd1306_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_i2c; - -extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_i2c; - -extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c; - -/* OLED 128x64 Display with SH1106 Controller */ -extern u8g_dev_t u8g_dev_sh1106_128x64_sw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_hw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_i2c; - -extern u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c; - -/* OLED 128x64 Display with SSD1309 Controller */ -extern u8g_dev_t u8g_dev_ssd1309_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1309_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1309_128x64_i2c; - -/* OLED 128x32 Display with SSD1306 Controller */ -extern u8g_dev_t u8g_dev_ssd1306_128x32_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_i2c; - -extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c; - -/* OLED 60x32 Display with LD7032 Controller */ -extern u8g_dev_t u8g_dev_ld7032_60x32_sw_spi; -extern u8g_dev_t u8g_dev_ld7032_60x32_hw_spi; -extern u8g_dev_t u8g_dev_ld7032_60x32_parallel; - -/* experimental 65K TFT with st7687 controller */ -extern u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi; -extern u8g_dev_t u8g_dev_st7687_c144mvgd_8bit; - -/* SBN1661/SED1520 display with 122x32 */ -extern u8g_dev_t u8g_dev_sbn1661_122x32; - -/* flip disc matrix */ -extern u8g_dev_t u8g_dev_flipdisc_2x7; -void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)); - -/* ILI9325D based TFT */ -extern u8g_dev_t u8g_dev_ili9325d_320x240_8bit; - - -/* SSD1351 OLED (breakout board from http://www.kickstarter.com/projects/ilsoftltd/colour-oled-breakout-board) */ -extern u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi; - -/* SSD1351 OLED (Freetronics, GPIOs set to high level) */ -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi; - -/* HT1632 */ -extern u8g_dev_t u8g_dev_ht1632_24x16; - -/* A2 Micro Printer */ -extern u8g_dev_t u8g_dev_a2_micro_printer_384x240; -extern u8g_dev_t u8g_dev_a2_micro_printer_192x120_ds; -extern u8g_dev_t u8g_dev_a2_micro_printer_192x360_ds; -extern u8g_dev_t u8g_dev_a2_micro_printer_192x720_ds; - -/* u8g_virtual_screen.c */ -extern u8g_dev_t u8g_dev_vs; - - -/*===============================================================*/ -/* device messages */ - -struct _u8g_dev_arg_pixel_t -{ - u8g_uint_t x, y; /* will be modified */ - uint8_t pixel; /* will be modified, pixel sequence or transparency value */ - uint8_t dir; - uint8_t color; /* color or index value, red value for true color mode */ - uint8_t hi_color; /* high byte for 64K color mode, low byte is in "color", green value for true color mode */ - uint8_t blue; /* blue value in true color mode */ -}; -/* typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; */ /* forward decl */ - -/* range for r,g,b: 0..255 */ -#define U8G_GET_HICOLOR_BY_RGB(r,g,b) (((uint16_t)((r)&0x0f8))<<8)|(((uint16_t)((g)&0x0fc))<<3)|(((uint16_t)((b)>>3))) - -struct _u8g_dev_arg_bbx_t -{ - u8g_uint_t x, y, w, h; -}; -/* typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; */ /* forward decl */ - -struct _u8g_box_t -{ - u8g_uint_t x0, y0, x1, y1; -}; -/* typedef struct _u8g_box_t u8g_box_t; */ /* forward decl */ - -struct _u8g_dev_arg_irgb_t -{ - u8g_uint_t idx, r, g, b; /* index with rgb value */ -}; -/* typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; */ /* forward decl */ - - - -#define U8G_DEV_MSG_INIT 10 -#define U8G_DEV_MSG_STOP 11 - -/* arg: pointer to uint8_t, contranst value between 0 and 255 */ -#define U8G_DEV_MSG_CONTRAST 15 - -#define U8G_DEV_MSG_SLEEP_ON 16 -#define U8G_DEV_MSG_SLEEP_OFF 17 - -#define U8G_DEV_MSG_PAGE_FIRST 20 -#define U8G_DEV_MSG_PAGE_NEXT 21 - -/* arg: u8g_dev_arg_bbx_t * */ -/* new algorithm with U8G_DEV_MSG_GET_PAGE_BOX makes this msg obsolete */ -/* #define U8G_DEV_MSG_IS_BBX_INTERSECTION 22 */ - -/* arg: u8g_box_t *, fill structure with current page properties */ -#define U8G_DEV_MSG_GET_PAGE_BOX 23 - -/* -#define U8G_DEV_MSG_PRIMITIVE_START 30 -#define U8G_DEV_MSG_PRIMITIVE_END 31 -*/ - -/* arg: u8g_dev_arg_pixel_t * */ -#define U8G_DEV_MSG_SET_TPIXEL 44 -#define U8G_DEV_MSG_SET_4TPIXEL 45 - -#define U8G_DEV_MSG_SET_PIXEL 50 -#define U8G_DEV_MSG_SET_8PIXEL 59 - -#define U8G_DEV_MSG_SET_COLOR_ENTRY 60 - -#define U8G_DEV_MSG_SET_XY_CB 61 - -#define U8G_DEV_MSG_GET_WIDTH 70 -#define U8G_DEV_MSG_GET_HEIGHT 71 -#define U8G_DEV_MSG_GET_MODE 72 - -/*===============================================================*/ -/* device modes */ -#define U8G_MODE(is_index_mode, is_color, bits_per_pixel) (((is_index_mode)<<6) | ((is_color)<<5)|(bits_per_pixel)) - -#define U8G_MODE_UNKNOWN 0 -#define U8G_MODE_BW U8G_MODE(0, 0, 1) -#define U8G_MODE_GRAY2BIT U8G_MODE(0, 0, 2) -#define U8G_MODE_R3G3B2 U8G_MODE(0, 1, 8) -#define U8G_MODE_INDEX U8G_MODE(1, 1, 8) -/* hicolor is R5G6B5 */ -#define U8G_MODE_HICOLOR U8G_MODE(0, 1, 16) -/* truecolor */ -#define U8G_MODE_TRUECOLOR U8G_MODE(0, 1, 24) - - -#define U8G_MODE_GET_BITS_PER_PIXEL(mode) ((mode)&31) -#define U8G_MODE_IS_COLOR(mode) (((mode)&32)==0?0:1) -#define U8G_MODE_IS_INDEX_MODE(mode) (((mode)&64)==0?0:1) - - -/*===============================================================*/ -/* com options */ - -/* uncomment the following line for Atmega HW SPI double speed, issue 89 */ -/* #define U8G_HW_SPI_2X 1 */ - -/* com messages */ - -#define U8G_COM_MSG_STOP 0 -#define U8G_COM_MSG_INIT 1 - -#define U8G_COM_MSG_ADDRESS 2 - -/* CHIP_SELECT argument: number of the chip which needs to be activated, so this is more like high active */ -#define U8G_COM_MSG_CHIP_SELECT 3 - -#define U8G_COM_MSG_RESET 4 - -#define U8G_COM_MSG_WRITE_BYTE 5 -#define U8G_COM_MSG_WRITE_SEQ 6 -#define U8G_COM_MSG_WRITE_SEQ_P 7 - - -/* com driver */ -uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_null.c */ -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_std_sw_spi.c */ -uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_usart_spi.c */ -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_sw_spi.c */ -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_hw_spi.c */ -uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_arduino_ATTiny85_std_hw_spi.c */ -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_spi.c */ -uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_custom.c */ -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_hw_spi.c */ -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_parallel.c */ -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_fast_parallel.c */ -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_port_d_wr.c */ -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_no_en_parallel.c */ -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_ssd_i2c.c */ -uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_t6963.c */ - - -uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_spi.c */ -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_sw_spi.c */ -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_st7920_spi.c */ -uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_parallel.c */ - -uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_rasperrypi_hw_spi.c */ -uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_raspberrypi_ssd_i2c.c */ - - -/* - Translation of system specific com drives to generic com names - At the moment, the following generic com drives are available - U8G_COM_HW_SPI - U8G_COM_SW_SPI - U8G_COM_PARALLEL - U8G_COM_T6963 - U8G_COM_FAST_PARALLEL - U8G_COM_SSD_I2C - U8G_COM_UC_I2C - -defined(__18CXX) || defined(__PIC32MX) - -*/ - -/* ==== HW SPI, Raspberry PI ====*/ -#if defined(U8G_RASPBERRY_PI) -#define U8G_COM_HW_SPI u8g_com_raspberrypi_hw_spi_fn -#define U8G_COM_SW_SPI u8g_com_null_fn - -/* I'm sure there must be some mad reason for needing this */ -#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif - -/* ==== HW SPI, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) - -#if defined(__AVR_ATtiny85__) -#define U8G_COM_HW_SPI u8g_com_arduino_ATtiny85_std_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#else - -#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn -#if defined(__AVR_ATmega32U4__) -#define U8G_COM_HW_USART_SPI u8g_com_arduino_hw_usart_spi_fn -#endif /* __AVR_ATmega32U4__ */ -#define U8G_COM_ST7920_HW_SPI u8g_com_arduino_st7920_hw_spi_fn -#endif /* __AVR_ATtiny85__ */ - -#elif defined(__18CXX) || defined(__PIC32MX) -#define U8G_COM_HW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#elif defined(__SAM3X8E__) /* Arduino Due */ -#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif -#endif -/* ==== HW SPI, not Arduino ====*/ -#ifndef U8G_COM_HW_SPI -#if defined(__AVR__) -#define U8G_COM_HW_SPI u8g_com_atmega_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_atmega_st7920_hw_spi_fn -#endif -#endif -#ifndef U8G_COM_HW_SPI -#define U8G_COM_HW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif -#ifndef U8G_COM_HW_USART_SPI -#define U8G_COM_HW_USART_SPI u8g_com_null_fn -#endif - - -/* ==== SW SPI, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__18CXX) || defined(__PIC32MX) -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__SAM3X8E__) /* Arduino Due */ -//#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__arm__) /* Teensy */ -#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#endif -#endif - -#ifndef U8G_COM_SW_SPI -/* ==== SW SPI, not Arduino ====*/ -#if defined(__AVR__) -#define U8G_COM_SW_SPI u8g_com_atmega_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_atmega_st7920_sw_spi_fn -#endif -#endif -#ifndef U8G_COM_SW_SPI -#define U8G_COM_SW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn -#endif - -/* ==== Parallel interface, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_arduino_fast_parallel_fn -#define U8G_COM_T6963 u8g_com_arduino_t6963_fn -#else /* Arduino Due, Chipkit PIC32 */ -#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif -#endif -#ifndef U8G_COM_PARALLEL -#if defined(__AVR__) -#define U8G_COM_PARALLEL u8g_com_atmega_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_atmega_parallel_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif -#endif -#ifndef U8G_COM_PARALLEL -#define U8G_COM_PARALLEL u8g_com_null_fn -#define U8G_COM_FAST_PARALLEL u8g_com_null_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif - -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn -#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn -#endif -#endif - -#ifndef U8G_COM_SSD_I2C -#if defined(__AVR__) || defined(__SAM3X8E__) -/* AVR variant and also DUE can use the arduino version at the moment */ -#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn -#endif -#endif - -#ifndef U8G_COM_SSD_I2C -#if defined(U8G_RASPBERRY_PI) -#define U8G_COM_SSD_I2C u8g_com_raspberrypi_ssd_i2c_fn -#endif -#endif - -#ifndef U8G_COM_SSD_I2C -#define U8G_COM_SSD_I2C u8g_com_null_fn -#endif - -#ifndef U8G_COM_UC_I2C -#if defined(__AVR__) -/* AVR variant can use the arduino version at the moment */ -#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn -#endif -#endif -#ifndef U8G_COM_UC_I2C -#define U8G_COM_UC_I2C u8g_com_null_fn -#endif - - -/*===============================================================*/ -/* com api */ - -#define U8G_SPI_CLK_CYCLE_50NS 1 -#define U8G_SPI_CLK_CYCLE_300NS 2 -#define U8G_SPI_CLK_CYCLE_400NS 3 -#define U8G_SPI_CLK_CYCLE_NONE 255 - -uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time); -void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev); -void u8g_EnableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ -void u8g_DisableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ -void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs); -void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev); -void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev); -void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address); -uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val); -uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq); -uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq); - - - -#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) -#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) -#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) -#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) -#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) -#define U8G_ESC_END 255, 254 -#define U8G_ESC_255 255, 255 -//uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, u8g_pgm_uint8_t *esc_seq); -uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq); - - -/* u8g_com_api_16gr.c */ -uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); -uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); -uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); -uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); - - -/*===============================================================*/ -/* u8g_arduino_common.c */ -void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value); -void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g); - -/*===============================================================*/ -/* u8g_com_io.c */ - -/* create internal number from port and pin */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos); -#define PN(port,bitpos) u8g_Pin(port,bitpos) - -/* low level procedures */ -void u8g_SetPinOutput(uint8_t internal_pin_number); -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level); -void u8g_SetPinInput(uint8_t internal_pin_number); -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number); - -/* u8g level procedures, expect U8G_PI_xxx macro */ -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi); -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level); - - -/*===============================================================*/ -/* page */ -struct _u8g_page_t -{ - u8g_uint_t page_height; - u8g_uint_t total_height; - u8g_uint_t page_y0; - u8g_uint_t page_y1; - uint8_t page; -}; -typedef struct _u8g_page_t u8g_page_t; - -void u8g_page_First(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ -void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) U8G_NOINLINE; /* u8g_page.c */ -uint8_t u8g_page_Next(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ - -/*===============================================================*/ -/* page buffer (pb) */ - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; /* pixel width */ - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -/* u8g_pb.c */ -void u8g_pb_Clear(u8g_pb_t *b); -uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx); -void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box); -uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel); -uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); - -/* - note on __attribute__ ((nocommon)) - AVR scripts often use --gc-sections on the linker to remove unused section. - This works fine for initialed data and text sections. In principle .bss is also - handled, but the name##_pb definition is not removed. Reason is, that - array definitions are placed in the COMMON section, by default - The attribute "nocommon" removes this automatic assignment to the - COMMON section and directly puts it into .bss. As a result, if more - than one buffer is defined in one file, then it will be removed with --gc-sections - - .. not sure if Arduino IDE uses -fno-common... if yes, then the attribute is - redundant. -*/ -#define U8G_PB_DEV(name, width, height, page_height, dev_fn, com_fn) \ -uint8_t name##_buf[width] U8G_NOCOMMON ; \ -u8g_pb_t name##_pb = { {page_height, height, 0, 0, 0}, width, name##_buf}; \ -u8g_dev_t name = { dev_fn, &name##_pb, com_fn } - - -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8v1_Clear(u8g_pb_t *b) U8G_NOINLINE; - -uint8_t u8g_pb8v1_IsYIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb8v1_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb8v1_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); - -uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16v1.c */ -uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb14v1.c */ -uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb8v2.c */ -uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16v2.c (double memory of pb8v2) */ -uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/* u8g_pb8h1.c */ -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16h1.c */ -uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb32h1.c */ -uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/* u8g_pb8h2.c 8 pixel rows, byte has horzontal orientation */ -uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16h2.c */ -uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - - -/* u8g_pb8h1f.c */ -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb8h8.c */ -uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pbxh16.c */ -uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pbxh24.c */ -uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/*===============================================================*/ -/* u8g_ll_api.c */ - -/* cursor draw callback */ -typedef void (*u8g_draw_cursor_fn)(u8g_t *u8g); - -/* vertical reference point calculation callback */ -typedef u8g_uint_t (*u8g_font_calc_vref_fnptr)(u8g_t *u8g); - -/* state backup and restore procedure */ -typedef void (*u8g_state_cb)(uint8_t msg); - - -/* PI = Pin Index */ - -/* reset pin, usually optional */ -#define U8G_PI_RESET 0 - -/* address / data or instruction */ -#define U8G_PI_A0 1 -#define U8G_PI_DI 1 - -/* chip select line */ -#define U8G_PI_CS 2 -#define U8G_PI_CS1 2 -#define U8G_PI_CS2 3 -/* Feb 2013: A0 state moved from 7 to 3 for t6963 controller*/ -#define U8G_PI_A0_STATE 3 - -/* enable / clock signal */ -#define U8G_PI_EN 4 -#define U8G_PI_CS_STATE 4 -#define U8G_PI_SCK 4 -#define U8G_PI_SCL 4 -#define U8G_PI_RD 4 - - -/* data pins, shared with SPI and I2C pins */ -#define U8G_PI_D0 5 -#define U8G_PI_MOSI 5 -#define U8G_PI_SDA 5 -#define U8G_PI_D1 6 -#define U8G_PI_MISO 6 -#define U8G_PI_D2 7 -#define U8G_PI_D3 8 -#define U8G_PI_SET_A0 8 -#define U8G_PI_D4 9 -#define U8G_PI_D5 10 -#define U8G_PI_I2C_OPTION 11 -#define U8G_PI_D6 11 -#define U8G_PI_D7 12 - -/* read/write pin, must be the last pin in the list, this means U8G_PIN_LIST_LEN = U8G_PI_RW + 1*/ -#define U8G_PI_WR 13 -#define U8G_PI_RW 13 - -#define U8G_PIN_LIST_LEN 14 - - -#define U8G_PIN_DUMMY 254 -#define U8G_PIN_NONE 255 - -#define U8G_FONT_HEIGHT_MODE_TEXT 0 -#define U8G_FONT_HEIGHT_MODE_XTEXT 1 -#define U8G_FONT_HEIGHT_MODE_ALL 2 - -struct _u8g_t -{ - u8g_uint_t width; - u8g_uint_t height; - - - u8g_dev_t *dev; /* first device in the device chain */ - const u8g_pgm_uint8_t *font; /* regular font for all text procedures */ - const u8g_pgm_uint8_t *cursor_font; /* special font for cursor procedures */ - uint8_t cursor_fg_color, cursor_bg_color; - uint8_t cursor_encoding; - uint8_t mode; /* display mode, one of U8G_MODE_xxx */ - u8g_uint_t cursor_x; - u8g_uint_t cursor_y; - u8g_draw_cursor_fn cursor_fn; - - int8_t glyph_dx; - int8_t glyph_x; - int8_t glyph_y; - uint8_t glyph_width; - uint8_t glyph_height; - - u8g_font_calc_vref_fnptr font_calc_vref; - uint8_t font_height_mode; - int8_t font_ref_ascent; - int8_t font_ref_descent; - uint8_t font_line_spacing_factor; /* line_spacing = factor * (ascent - descent) / 64 */ - uint8_t line_spacing; - - u8g_dev_arg_pixel_t arg_pixel; - /* uint8_t color_index; */ - -#ifdef U8G_WITH_PINLIST - uint8_t pin_list[U8G_PIN_LIST_LEN]; -#endif - - u8g_state_cb state_cb; - - u8g_box_t current_page; /* current box of the visible page */ - -}; - -#define u8g_GetFontAscent(u8g) ((u8g)->font_ref_ascent) -#define u8g_GetFontDescent(u8g) ((u8g)->font_ref_descent) -#define u8g_GetFontLineSpacing(u8g) ((u8g)->line_spacing) - -uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev); -void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev); -uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev); -uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast); -void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y); -void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); -void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); -uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); /* obsolete */ -u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev); -u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev); - -void u8g_UpdateDimension(u8g_t *u8g); -uint8_t u8g_Begin(u8g_t *u8g); /* reset device, put it into default state and call u8g_UpdateDimension() */ -uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev); /* only usefull if the device only as hardcoded ports */ -uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn); /* Init procedure for anything which is not Arduino or AVR (e.g. ARM, but not Due, which is Arduino) */ -uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset); -uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset); -uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options); /* use U8G_I2C_OPT_NONE as options */ -uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); -uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset); -uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); -void u8g_FirstPage(u8g_t *u8g); -uint8_t u8g_NextPage(u8g_t *u8g); -uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast); -void u8g_SleepOn(u8g_t *u8g); -void u8g_SleepOff(u8g_t *u8g); -void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y); -void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); -void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); - -uint8_t u8g_Stop(u8g_t *u8g); -void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b); -void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx); -void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb); -void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); -void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); -uint8_t u8g_GetColorIndex(u8g_t *u8g); - -uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g); -void u8g_SetDefaultForegroundColor(u8g_t *u8g); - -uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g); -void u8g_SetDefaultBackgroundColor(u8g_t *u8g); - -uint8_t u8g_GetDefaultMidColor(u8g_t *u8g); -void u8g_SetDefaultMidColor(u8g_t *u8g); - -#define u8g_GetWidth(u8g) ((u8g)->width) -#define u8g_GetHeight(u8g) ((u8g)->height) -#define u8g_GetMode(u8g) ((u8g)->mode) -/* - U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(u8g)) - U8G_MODE_IS_COLOR(u8g_GetMode(u8g)) -*/ - -/* u8g_state.c */ -#define U8G_STATE_ENV_IDX 0 -#define U8G_STATE_U8G_IDX 1 -#define U8G_STATE_RESTORE 0 -#define U8G_STATE_BACKUP 1 -#define U8G_STATE_MSG_COMPOSE(cmd,idx) (((cmd)<<1) | (idx)) - -#define U8G_STATE_MSG_RESTORE_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_ENV_IDX) -#define U8G_STATE_MSG_BACKUP_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_ENV_IDX) -#define U8G_STATE_MSG_RESTORE_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_U8G_IDX) -#define U8G_STATE_MSG_BACKUP_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_U8G_IDX) - -#define U8G_STATE_MSG_GET_IDX(msg) ((msg)&1) -#define U8G_STATE_MSG_IS_BACKUP(msg) ((msg)&2) - - - -void u8g_state_dummy_cb(uint8_t msg); -void u8g_backup_spi(uint8_t msg); /* backup SPI state controller */ -/* backward compatible definition */ -#define u8g_backup_avr_spi u8g_backup_spi - -void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb); - -/* u8g_clip.c */ - -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); - - -/* u8g_rot.c */ - -void u8g_UndoRotation(u8g_t *u8g); -void u8g_SetRot90(u8g_t *u8g); -void u8g_SetRot180(u8g_t *u8g); -void u8g_SetRot270(u8g_t *u8g); - -/* u8g_scale.c */ - -void u8g_UndoScale(u8g_t *u8g); -void u8g_SetScale2x2(u8g_t *u8g); - - -/* u8g_font.c */ - -size_t u8g_font_GetSize(const void *font); -uint8_t u8g_font_GetFontStartEncoding(const void *font) U8G_NOINLINE; -uint8_t u8g_font_GetFontEndEncoding(const void *font) U8G_NOINLINE; - -void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font); - -uint8_t u8g_GetFontBBXWidth(u8g_t *u8g); -uint8_t u8g_GetFontBBXHeight(u8g_t *u8g); -int8_t u8g_GetFontBBXOffX(u8g_t *u8g); -int8_t u8g_GetFontBBXOffY(u8g_t *u8g); -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g); - -uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding); -int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding); - -int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); /* used by u8g_cursor.c */ - -int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); -int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); - -u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); - -u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); - - -u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); - - -void u8g_SetFontRefHeightText(u8g_t *u8g); -void u8g_SetFontRefHeightExtendedText(u8g_t *u8g); -void u8g_SetFontRefHeightAll(u8g_t *u8g); -void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor); - -u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g); - -void u8g_SetFontPosBaseline(u8g_t *u8g); -void u8g_SetFontPosBottom(u8g_t *u8g); -void u8g_SetFontPosCenter(u8g_t *u8g); -void u8g_SetFontPosTop(u8g_t *u8g); - - -u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s); -u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); -int8_t u8g_GetStrX(u8g_t *u8g, const char *s); -int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) U8G_NOINLINE; -u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); - -u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); - -void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); -void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); - - -u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); - -/* u8g_rect.c */ - -void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; - -void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE; -void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE; -void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; -void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; - -void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE; -void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE; - -/* u8g_bitmap.c */ - -void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap); -void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap); -void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap); -void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); - -void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap); -void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); - - -/* u8g_line.c */ -void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2); - - -/* u8g_circle.c */ - -/* the following, commented code has been rewritten or is not yet finished -#define U8G_CIRC_UPPER_RIGHT 0x01 -#define U8G_CIRC_UPPER_LEFT 0x02 -#define U8G_CIRC_LOWER_LEFT 0x04 -#define U8G_CIRC_LOWER_RIGHT 0x08 -#define U8G_CIRC_ALL (U8G_CIRC_UPPER_RIGHT|U8G_CIRC_UPPER_LEFT|U8G_CIRC_LOWER_RIGHT|U8G_CIRC_LOWER_LEFT) -void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1); -*/ - -#define U8G_DRAW_UPPER_RIGHT 0x01 -#define U8G_DRAW_UPPER_LEFT 0x02 -#define U8G_DRAW_LOWER_LEFT 0x04 -#define U8G_DRAW_LOWER_RIGHT 0x08 -#define U8G_DRAW_ALL (U8G_DRAW_UPPER_RIGHT|U8G_DRAW_UPPER_LEFT|U8G_DRAW_LOWER_RIGHT|U8G_DRAW_LOWER_LEFT) - -void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; -void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; - -void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); - -/* u8g_ellipse.c */ -void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); -void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); - -/* u8g_clip.c */ -uint8_t u8g_is_box_bbx_intersection(u8g_box_t *box, u8g_dev_arg_bbx_t *bbx); - - -/* u8g_cursor.c */ -void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font); -void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding); -void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y); -void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg); -void u8g_EnableCursor(u8g_t *u8g); -void u8g_DisableCursor(u8g_t *u8g); -void u8g_DrawCursor(u8g_t *u8g); - -/* u8g_polygon.c */ - -typedef int16_t pg_word_t; - -#define PG_NOINLINE U8G_NOINLINE - -struct pg_point_struct -{ - pg_word_t x; - pg_word_t y; -}; - -typedef struct _pg_struct pg_struct; /* forward declaration */ - -struct pg_edge_struct -{ - pg_word_t x_direction; /* 1, if x2 is greater than x1, -1 otherwise */ - pg_word_t height; - pg_word_t current_x_offset; - pg_word_t error_offset; - - /* --- line loop --- */ - pg_word_t current_y; - pg_word_t max_y; - pg_word_t current_x; - pg_word_t error; - - /* --- outer loop --- */ - uint8_t (*next_idx_fn)(pg_struct *pg, uint8_t i); - uint8_t curr_idx; -}; - -/* maximum number of points in the polygon */ -/* can be redefined, but highest possible value is 254 */ -#define PG_MAX_POINTS 6 - -/* index numbers for the pge structures below */ -#define PG_LEFT 0 -#define PG_RIGHT 1 - - -struct _pg_struct -{ - struct pg_point_struct list[PG_MAX_POINTS]; - uint8_t cnt; - uint8_t is_min_y_not_flat; - pg_word_t total_scan_line_cnt; - struct pg_edge_struct pge[2]; /* left and right line draw structures */ -}; - -void pg_ClearPolygonXY(pg_struct *pg); -void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y); -void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g); -void u8g_ClearPolygonXY(void); -void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y); -void u8g_DrawPolygon(u8g_t *u8g); -void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2); - - -/*===============================================================*/ -/* u8g_virtual_screen.c */ -void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height); -uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g); - -/*===============================================================*/ -void st_Draw(uint8_t fps); -void st_Step(uint8_t player_pos, uint8_t is_auto_fire, uint8_t is_fire); - -/*===============================================================*/ -/* u8g_com_i2c.c */ - -/* options for u8g_i2c_init() */ -#define U8G_I2C_OPT_NONE 0 -#define U8G_I2C_OPT_NO_ACK 2 -#define U8G_I2C_OPT_DEV_0 0 -#define U8G_I2C_OPT_DEV_1 4 -#define U8G_I2C_OPT_FAST 16 - -/* retrun values from u8g_twi_get_error() */ -#define U8G_I2C_ERR_NONE 0x00 -/* the following values are bit masks */ -#define U8G_I2C_ERR_TIMEOUT 0x01 -#define U8G_I2C_ERR_BUS 0x02 - -void u8g_i2c_clear_error(void) U8G_NOINLINE; -uint8_t u8g_i2c_get_error(void) U8G_NOINLINE; -uint8_t u8g_i2c_get_err_pos(void) U8G_NOINLINE; -void u8g_i2c_init(uint8_t options) U8G_NOINLINE; /* use U8G_I2C_OPT_NONE as options */ -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) U8G_NOINLINE; -uint8_t u8g_i2c_start(uint8_t sla) U8G_NOINLINE; -uint8_t u8g_i2c_send_byte(uint8_t data) U8G_NOINLINE; -uint8_t u8g_i2c_send_mode(uint8_t mode) U8G_NOINLINE; -void u8g_i2c_stop(void) U8G_NOINLINE; - - -/*===============================================================*/ -/* u8g_u8toa.c */ -/* v = value, d = number of digits */ -const char *u8g_u8toa(uint8_t v, uint8_t d); - -/* u8g_u8toa.c */ -/* v = value, d = number of digits */ -const char *u8g_u16toa(uint16_t v, uint8_t d); - -/*===============================================================*/ -/* u8g_delay.c */ - -/* delay by the specified number of milliseconds */ -void u8g_Delay(uint16_t val); - -/* delay by one microsecond */ -void u8g_MicroDelay(void); - -/* delay by 10 microseconds */ -void u8g_10MicroDelay(void); - -/*===============================================================*/ -/* chessengine.c */ -#define CHESS_KEY_NONE 0 -#define CHESS_KEY_NEXT 1 -#define CHESS_KEY_PREV 2 -#define CHESS_KEY_SELECT 3 -#define CHESS_KEY_BACK 4 - -void chess_Init(u8g_t *u8g, uint8_t empty_body_color); -void chess_Draw(void); -void chess_Step(uint8_t keycode); - -/*===============================================================*/ -/* font definitions */ -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5[] U8G_FONT_SECTION("u8g_font_m2icon_5"); -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7[] U8G_FONT_SECTION("u8g_font_m2icon_7"); -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9[] U8G_FONT_SECTION("u8g_font_m2icon_9"); - -extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4[] U8G_FONT_SECTION("u8g_font_u8glib_4"); -extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[] U8G_FONT_SECTION("u8g_font_u8glib_4r"); - - -extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r[] U8G_FONT_SECTION("u8g_font_6x12_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r[] U8G_FONT_SECTION("u8g_font_6x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_75r[] U8G_FONT_SECTION("u8g_font_7x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13_75r[] U8G_FONT_SECTION("u8g_font_8x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15_75r[] U8G_FONT_SECTION("u8g_font_9x15_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18_75r[] U8G_FONT_SECTION("u8g_font_9x18_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12_75r[] U8G_FONT_SECTION("u8g_font_cu12_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_75r[] U8G_FONT_SECTION("u8g_font_unifont_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20_75r[] U8G_FONT_SECTION("u8g_font_10x20_75r"); - -extern const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[] U8G_FONT_SECTION("u8g_font_10x20_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[] U8G_FONT_SECTION("u8g_font_10x20_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20[] U8G_FONT_SECTION("u8g_font_10x20"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20r[] U8G_FONT_SECTION("u8g_font_10x20r"); -extern const u8g_fntpgm_uint8_t u8g_font_4x6[] U8G_FONT_SECTION("u8g_font_4x6"); -extern const u8g_fntpgm_uint8_t u8g_font_4x6r[] U8G_FONT_SECTION("u8g_font_4x6r"); -//extern const u8g_fntpgm_uint8_t u8g_font_4x6n[] U8G_FONT_SECTION("u8g_font_4x6n"); -extern const u8g_fntpgm_uint8_t u8g_font_5x7[] U8G_FONT_SECTION("u8g_font_5x7"); -extern const u8g_fntpgm_uint8_t u8g_font_5x7r[] U8G_FONT_SECTION("u8g_font_5x7r"); -extern const u8g_fntpgm_uint8_t u8g_font_5x8[] U8G_FONT_SECTION("u8g_font_5x8"); -extern const u8g_fntpgm_uint8_t u8g_font_5x8r[] U8G_FONT_SECTION("u8g_font_5x8r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x10[] U8G_FONT_SECTION("u8g_font_6x10"); -extern const u8g_fntpgm_uint8_t u8g_font_6x10r[] U8G_FONT_SECTION("u8g_font_6x10r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[] U8G_FONT_SECTION("u8g_font_6x12_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[] U8G_FONT_SECTION("u8g_font_6x12_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12[] U8G_FONT_SECTION("u8g_font_6x12"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12r[] U8G_FONT_SECTION("u8g_font_6x12r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[] U8G_FONT_SECTION("u8g_font_6x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[] U8G_FONT_SECTION("u8g_font_6x13_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13B[] U8G_FONT_SECTION("u8g_font_6x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13Br[] U8G_FONT_SECTION("u8g_font_6x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13[] U8G_FONT_SECTION("u8g_font_6x13"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13r[] U8G_FONT_SECTION("u8g_font_6x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13O[] U8G_FONT_SECTION("u8g_font_6x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13Or[] U8G_FONT_SECTION("u8g_font_6x13Or"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[] U8G_FONT_SECTION("u8g_font_7x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_78_79[] U8G_FONT_SECTION("u8g_font_7x13_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13B[] U8G_FONT_SECTION("u8g_font_7x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13Br[] U8G_FONT_SECTION("u8g_font_7x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13[] U8G_FONT_SECTION("u8g_font_7x13"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13r[] U8G_FONT_SECTION("u8g_font_7x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13O[] U8G_FONT_SECTION("u8g_font_7x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13Or[] U8G_FONT_SECTION("u8g_font_7x13Or"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14B[] U8G_FONT_SECTION("u8g_font_7x14B"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14Br[] U8G_FONT_SECTION("u8g_font_7x14Br"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14[] U8G_FONT_SECTION("u8g_font_7x14"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14r[] U8G_FONT_SECTION("u8g_font_7x14r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[] U8G_FONT_SECTION("u8g_font_8x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13B[] U8G_FONT_SECTION("u8g_font_8x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13Br[] U8G_FONT_SECTION("u8g_font_8x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13[] U8G_FONT_SECTION("u8g_font_8x13"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13r[] U8G_FONT_SECTION("u8g_font_8x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13O[] U8G_FONT_SECTION("u8g_font_8x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13Or[] U8G_FONT_SECTION("u8g_font_8x13Or"); - -extern const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[] U8G_FONT_SECTION("u8g_font_9x15_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[] U8G_FONT_SECTION("u8g_font_9x15_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15B[] U8G_FONT_SECTION("u8g_font_9x15B"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15Br[] U8G_FONT_SECTION("u8g_font_9x15Br"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15[] U8G_FONT_SECTION("u8g_font_9x15"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15r[] U8G_FONT_SECTION("u8g_font_9x15r"); - -extern const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[] U8G_FONT_SECTION("u8g_font_9x18_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[] U8G_FONT_SECTION("u8g_font_9x18_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18B[] U8G_FONT_SECTION("u8g_font_9x18B"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18[] U8G_FONT_SECTION("u8g_font_9x18"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18Br[] U8G_FONT_SECTION("u8g_font_9x18Br"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18r[] U8G_FONT_SECTION("u8g_font_9x18r"); - -extern const u8g_fntpgm_uint8_t u8g_font_cursor[] U8G_FONT_SECTION("u8g_font_cursor"); -extern const u8g_fntpgm_uint8_t u8g_font_cursorr[] U8G_FONT_SECTION("u8g_font_cursorr"); -extern const u8g_fntpgm_uint8_t u8g_font_micro[] U8G_FONT_SECTION("u8g_font_micro"); - -extern const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[] U8G_FONT_SECTION("u8g_font_cu12_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12_78_79[] U8G_FONT_SECTION("u8g_font_cu12_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_FONT_SECTION("u8g_font_cu12"); - -/* - Free-Universal Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_fub11[] U8G_FONT_SECTION("u8g_font_fub11"); -extern const u8g_fntpgm_uint8_t u8g_font_fub11r[] U8G_FONT_SECTION("u8g_font_fub11r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub11n[] U8G_FONT_SECTION("u8g_font_fub11n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14[] U8G_FONT_SECTION("u8g_font_fub14"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14r[] U8G_FONT_SECTION("u8g_font_fub14r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14n[] U8G_FONT_SECTION("u8g_font_fub14n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17[] U8G_FONT_SECTION("u8g_font_fub17"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17r[] U8G_FONT_SECTION("u8g_font_fub17r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17n[] U8G_FONT_SECTION("u8g_font_fub17n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20[] U8G_FONT_SECTION("u8g_font_fub20"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20r[] U8G_FONT_SECTION("u8g_font_fub20r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20n[] U8G_FONT_SECTION("u8g_font_fub20n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25[] U8G_FONT_SECTION("u8g_font_fub25"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25r[] U8G_FONT_SECTION("u8g_font_fub25r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25n[] U8G_FONT_SECTION("u8g_font_fub25n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30[] U8G_FONT_SECTION("u8g_font_fub30"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30r[] U8G_FONT_SECTION("u8g_font_fub30r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30n[] U8G_FONT_SECTION("u8g_font_fub30n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub35n[] U8G_FONT_SECTION("u8g_font_fub35n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub42n[] U8G_FONT_SECTION("u8g_font_fub42n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_FONT_SECTION("u8g_font_fub49n"); - -/* - Free-Universal Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_fur11[] U8G_FONT_SECTION("u8g_font_fur11"); -extern const u8g_fntpgm_uint8_t u8g_font_fur11r[] U8G_FONT_SECTION("u8g_font_fur11r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur11n[] U8G_FONT_SECTION("u8g_font_fur11n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14[] U8G_FONT_SECTION("u8g_font_fur14"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14r[] U8G_FONT_SECTION("u8g_font_fur14r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14n[] U8G_FONT_SECTION("u8g_font_fur14n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17[] U8G_FONT_SECTION("u8g_font_fur17"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17r[] U8G_FONT_SECTION("u8g_font_fur17r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17n[] U8G_FONT_SECTION("u8g_font_fur17n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20[] U8G_FONT_SECTION("u8g_font_fur20"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20r[] U8G_FONT_SECTION("u8g_font_fur20r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20n[] U8G_FONT_SECTION("u8g_font_fur20n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25[] U8G_FONT_SECTION("u8g_font_fur25"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25r[] U8G_FONT_SECTION("u8g_font_fur25r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25n[] U8G_FONT_SECTION("u8g_font_fur25n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30[] U8G_FONT_SECTION("u8g_font_fur30"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30r[] U8G_FONT_SECTION("u8g_font_fur30r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30n[] U8G_FONT_SECTION("u8g_font_fur30n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur35n[] U8G_FONT_SECTION("u8g_font_fur35n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur42n[] U8G_FONT_SECTION("u8g_font_fur42n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_FONT_SECTION("u8g_font_fur49n"); - -/* - Gentium Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11[] U8G_FONT_SECTION("u8g_font_gdb11"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12[] U8G_FONT_SECTION("u8g_font_gdb12"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14[] U8G_FONT_SECTION("u8g_font_gdb14"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17[] U8G_FONT_SECTION("u8g_font_gdb17"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20[] U8G_FONT_SECTION("u8g_font_gdb20"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25[] U8G_FONT_SECTION("u8g_font_gdb25"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30[] U8G_FONT_SECTION("u8g_font_gdb30"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11r[] U8G_FONT_SECTION("u8g_font_gdb11r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12r[] U8G_FONT_SECTION("u8g_font_gdb12r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14r[] U8G_FONT_SECTION("u8g_font_gdb14r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17r[] U8G_FONT_SECTION("u8g_font_gdb17r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20r[] U8G_FONT_SECTION("u8g_font_gdb20r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25r[] U8G_FONT_SECTION("u8g_font_gdb25r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30r[] U8G_FONT_SECTION("u8g_font_gdb30r"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11n[] U8G_FONT_SECTION("u8g_font_gdb11n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12n[] U8G_FONT_SECTION("u8g_font_gdb12n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14n[] U8G_FONT_SECTION("u8g_font_gdb14n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17n[] U8G_FONT_SECTION("u8g_font_gdb17n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20n[] U8G_FONT_SECTION("u8g_font_gdb20n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25n[] U8G_FONT_SECTION("u8g_font_gdb25n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_FONT_SECTION("u8g_font_gdb30n"); - -/* - Gentium Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9[] U8G_FONT_SECTION("u8g_font_gdr9"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10[] U8G_FONT_SECTION("u8g_font_gdr10"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11[] U8G_FONT_SECTION("u8g_font_gdr11"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12[] U8G_FONT_SECTION("u8g_font_gdr12"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14[] U8G_FONT_SECTION("u8g_font_gdr14"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17[] U8G_FONT_SECTION("u8g_font_gdr17"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20[] U8G_FONT_SECTION("u8g_font_gdr20"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25[] U8G_FONT_SECTION("u8g_font_gdr25"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30[] U8G_FONT_SECTION("u8g_font_gdr30"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9r[] U8G_FONT_SECTION("u8g_font_gdr9r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10r[] U8G_FONT_SECTION("u8g_font_gdr10r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11r[] U8G_FONT_SECTION("u8g_font_gdr11r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12r[] U8G_FONT_SECTION("u8g_font_gdr12r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14r[] U8G_FONT_SECTION("u8g_font_gdr14r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17r[] U8G_FONT_SECTION("u8g_font_gdr17r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20r[] U8G_FONT_SECTION("u8g_font_gdr20r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25r[] U8G_FONT_SECTION("u8g_font_gdr25r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30r[] U8G_FONT_SECTION("u8g_font_gdr30r"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9n[] U8G_FONT_SECTION("u8g_font_gdr9n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10n[] U8G_FONT_SECTION("u8g_font_gdr10n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11n[] U8G_FONT_SECTION("u8g_font_gdr11n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12n[] U8G_FONT_SECTION("u8g_font_gdr12n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14n[] U8G_FONT_SECTION("u8g_font_gdr14n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17n[] U8G_FONT_SECTION("u8g_font_gdr17n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20n[] U8G_FONT_SECTION("u8g_font_gdr20n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25n[] U8G_FONT_SECTION("u8g_font_gdr25n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_FONT_SECTION("u8g_font_gdr30n"); - -/* - Old-Standard Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_osb18[] U8G_FONT_SECTION("u8g_font_osb18"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21[] U8G_FONT_SECTION("u8g_font_osb21"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26[] U8G_FONT_SECTION("u8g_font_osb26"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29[] U8G_FONT_SECTION("u8g_font_osb29"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35[] U8G_FONT_SECTION("u8g_font_osb35"); - -extern const u8g_fntpgm_uint8_t u8g_font_osb18r[] U8G_FONT_SECTION("u8g_font_osb18r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21r[] U8G_FONT_SECTION("u8g_font_osb21r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26r[] U8G_FONT_SECTION("u8g_font_osb26r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29r[] U8G_FONT_SECTION("u8g_font_osb29r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35r[] U8G_FONT_SECTION("u8g_font_osb35r"); - -extern const u8g_fntpgm_uint8_t u8g_font_osb18n[] U8G_FONT_SECTION("u8g_font_osb18n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21n[] U8G_FONT_SECTION("u8g_font_osb21n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26n[] U8G_FONT_SECTION("u8g_font_osb26n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29n[] U8G_FONT_SECTION("u8g_font_osb29n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_FONT_SECTION("u8g_font_osb35n"); - -/* - Old-Standard Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_osr18[] U8G_FONT_SECTION("u8g_font_osr18"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21[] U8G_FONT_SECTION("u8g_font_osr21"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26[] U8G_FONT_SECTION("u8g_font_osr26"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29[] U8G_FONT_SECTION("u8g_font_osr29"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35[] U8G_FONT_SECTION("u8g_font_osr35"); - -extern const u8g_fntpgm_uint8_t u8g_font_osr18r[] U8G_FONT_SECTION("u8g_font_osr18r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21r[] U8G_FONT_SECTION("u8g_font_osr21r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26r[] U8G_FONT_SECTION("u8g_font_osr26r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29r[] U8G_FONT_SECTION("u8g_font_osr29r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35r[] U8G_FONT_SECTION("u8g_font_osr35r"); - -extern const u8g_fntpgm_uint8_t u8g_font_osr18n[] U8G_FONT_SECTION("u8g_font_osr18n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21n[] U8G_FONT_SECTION("u8g_font_osr21n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26n[] U8G_FONT_SECTION("u8g_font_osr26n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29n[] U8G_FONT_SECTION("u8g_font_osr29n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35n[] U8G_FONT_SECTION("u8g_font_osr35n"); - -//extern const u8g_fntpgm_uint8_t u8g_font_osr41[] U8G_FONT_SECTION("u8g_font_osr41"); - -/* GNU unifont */ - -extern const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[] U8G_FONT_SECTION("u8g_font_unifont_18_19"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[] U8G_FONT_SECTION("u8g_font_unifont_72_73"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[] U8G_FONT_SECTION("u8g_font_unifont_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_76[] U8G_FONT_SECTION("u8g_font_unifont_76"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_77[] U8G_FONT_SECTION("u8g_font_unifont_77"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[] U8G_FONT_SECTION("u8g_font_unifont_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_86[] U8G_FONT_SECTION("u8g_font_unifont_86"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont[] U8G_FONT_SECTION("u8g_font_unifont"); -extern const u8g_fntpgm_uint8_t u8g_font_unifontr[] U8G_FONT_SECTION("u8g_font_unifontr"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[] U8G_FONT_SECTION("u8g_font_unifont_0_8"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[] U8G_FONT_SECTION("u8g_font_unifont_2_3"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[] U8G_FONT_SECTION("u8g_font_unifont_4_5"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[] U8G_FONT_SECTION("u8g_font_unifont_8_9"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[] U8G_FONT_SECTION("u8g_font_unifont_12_13"); - - -/* 04b fonts */ - -extern const u8g_fntpgm_uint8_t u8g_font_04b_03b[] U8G_FONT_SECTION("u8g_font_04b_03b"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03bn[] U8G_FONT_SECTION("u8g_font_04b_03bn"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03br[] U8G_FONT_SECTION("u8g_font_04b_03br"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03[] U8G_FONT_SECTION("u8g_font_04b_03"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03n[] U8G_FONT_SECTION("u8g_font_04b_03n"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03r[] U8G_FONT_SECTION("u8g_font_04b_03r"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24[] U8G_FONT_SECTION("u8g_font_04b_24"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24n[] U8G_FONT_SECTION("u8g_font_04b_24n"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24r[] U8G_FONT_SECTION("u8g_font_04b_24r"); - -/* orgdot fonts */ - -extern const u8g_fntpgm_uint8_t u8g_font_orgv01[] U8G_FONT_SECTION("u8g_font_orgv01"); -extern const u8g_fntpgm_uint8_t u8g_font_orgv01r[] U8G_FONT_SECTION("u8g_font_orgv01r"); -extern const u8g_fntpgm_uint8_t u8g_font_orgv01n[] U8G_FONT_SECTION("u8g_font_orgv01n"); - -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0[] U8G_FONT_SECTION("u8g_font_fixed_v0"); -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[] U8G_FONT_SECTION("u8g_font_fixed_v0r"); -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[] U8G_FONT_SECTION("u8g_font_fixed_v0n"); - -extern const u8g_fntpgm_uint8_t u8g_font_tpssb[] U8G_FONT_SECTION("u8g_font_tpssb"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssbr[] U8G_FONT_SECTION("u8g_font_tpssbr"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssbn[] U8G_FONT_SECTION("u8g_font_tpssbn"); - -extern const u8g_fntpgm_uint8_t u8g_font_tpss[] U8G_FONT_SECTION("u8g_font_tpss"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssr[] U8G_FONT_SECTION("u8g_font_tpssr"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssn[] U8G_FONT_SECTION("u8g_font_tpssn"); - -/* contributed */ - -extern const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[] U8G_FONT_SECTION("u8g_font_freedoomr25n"); -extern const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[] U8G_FONT_SECTION("u8g_font_freedoomr10r"); - -/* adobe X11 */ -extern const u8g_fntpgm_uint8_t u8g_font_courB08[] U8G_FONT_SECTION("u8g_font_courB08"); -extern const u8g_fntpgm_uint8_t u8g_font_courB08r[] U8G_FONT_SECTION("u8g_font_courB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB10[] U8G_FONT_SECTION("u8g_font_courB10"); -extern const u8g_fntpgm_uint8_t u8g_font_courB10r[] U8G_FONT_SECTION("u8g_font_courB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB12[] U8G_FONT_SECTION("u8g_font_courB12"); -extern const u8g_fntpgm_uint8_t u8g_font_courB12r[] U8G_FONT_SECTION("u8g_font_courB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB14[] U8G_FONT_SECTION("u8g_font_courB14"); -extern const u8g_fntpgm_uint8_t u8g_font_courB14r[] U8G_FONT_SECTION("u8g_font_courB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB18[] U8G_FONT_SECTION("u8g_font_courB18"); -extern const u8g_fntpgm_uint8_t u8g_font_courB18r[] U8G_FONT_SECTION("u8g_font_courB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24[] U8G_FONT_SECTION("u8g_font_courB24"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24r[] U8G_FONT_SECTION("u8g_font_courB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24n[] U8G_FONT_SECTION("u8g_font_courB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_courR08[] U8G_FONT_SECTION("u8g_font_courR08"); -extern const u8g_fntpgm_uint8_t u8g_font_courR08r[] U8G_FONT_SECTION("u8g_font_courR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR10[] U8G_FONT_SECTION("u8g_font_courR10"); -extern const u8g_fntpgm_uint8_t u8g_font_courR10r[] U8G_FONT_SECTION("u8g_font_courR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR12[] U8G_FONT_SECTION("u8g_font_courR12"); -extern const u8g_fntpgm_uint8_t u8g_font_courR12r[] U8G_FONT_SECTION("u8g_font_courR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR14[] U8G_FONT_SECTION("u8g_font_courR14"); -extern const u8g_fntpgm_uint8_t u8g_font_courR14r[] U8G_FONT_SECTION("u8g_font_courR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR18[] U8G_FONT_SECTION("u8g_font_courR18"); -extern const u8g_fntpgm_uint8_t u8g_font_courR18r[] U8G_FONT_SECTION("u8g_font_courR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24[] U8G_FONT_SECTION("u8g_font_courR24"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24r[] U8G_FONT_SECTION("u8g_font_courR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24n[] U8G_FONT_SECTION("u8g_font_courR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_helvB08[] U8G_FONT_SECTION("u8g_font_helvB08"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB08r[] U8G_FONT_SECTION("u8g_font_helvB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB08n[] U8G_FONT_SECTION("u8g_font_helvB08n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10[] U8G_FONT_SECTION("u8g_font_helvB10"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10r[] U8G_FONT_SECTION("u8g_font_helvB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10n[] U8G_FONT_SECTION("u8g_font_helvB10n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12[] U8G_FONT_SECTION("u8g_font_helvB12"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12r[] U8G_FONT_SECTION("u8g_font_helvB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12n[] U8G_FONT_SECTION("u8g_font_helvB12n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14[] U8G_FONT_SECTION("u8g_font_helvB14"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14r[] U8G_FONT_SECTION("u8g_font_helvB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14n[] U8G_FONT_SECTION("u8g_font_helvB14n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18[] U8G_FONT_SECTION("u8g_font_helvB18"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18r[] U8G_FONT_SECTION("u8g_font_helvB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18n[] U8G_FONT_SECTION("u8g_font_helvB18n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24[] U8G_FONT_SECTION("u8g_font_helvB24"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24r[] U8G_FONT_SECTION("u8g_font_helvB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24n[] U8G_FONT_SECTION("u8g_font_helvB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_helvR08[] U8G_FONT_SECTION("u8g_font_helvR08"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR08r[] U8G_FONT_SECTION("u8g_font_helvR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR08n[] U8G_FONT_SECTION("u8g_font_helvR08n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10[] U8G_FONT_SECTION("u8g_font_helvR10"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10r[] U8G_FONT_SECTION("u8g_font_helvR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10n[] U8G_FONT_SECTION("u8g_font_helvR10n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12[] U8G_FONT_SECTION("u8g_font_helvR12"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12r[] U8G_FONT_SECTION("u8g_font_helvR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12n[] U8G_FONT_SECTION("u8g_font_helvR12n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14[] U8G_FONT_SECTION("u8g_font_helvR14"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14r[] U8G_FONT_SECTION("u8g_font_helvR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14n[] U8G_FONT_SECTION("u8g_font_helvR14n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18[] U8G_FONT_SECTION("u8g_font_helvR18"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18r[] U8G_FONT_SECTION("u8g_font_helvR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18n[] U8G_FONT_SECTION("u8g_font_helvR18n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24[] U8G_FONT_SECTION("u8g_font_helvR24"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24r[] U8G_FONT_SECTION("u8g_font_helvR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24n[] U8G_FONT_SECTION("u8g_font_helvR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_ncenB08[] U8G_FONT_SECTION("u8g_font_ncenB08"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB08r[] U8G_FONT_SECTION("u8g_font_ncenB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB10[] U8G_FONT_SECTION("u8g_font_ncenB10"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB10r[] U8G_FONT_SECTION("u8g_font_ncenB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB12[] U8G_FONT_SECTION("u8g_font_ncenB12"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB12r[] U8G_FONT_SECTION("u8g_font_ncenB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB14[] U8G_FONT_SECTION("u8g_font_ncenB14"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB14r[] U8G_FONT_SECTION("u8g_font_ncenB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB18[] U8G_FONT_SECTION("u8g_font_ncenB18"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB18r[] U8G_FONT_SECTION("u8g_font_ncenB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24[] U8G_FONT_SECTION("u8g_font_ncenB24"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24r[] U8G_FONT_SECTION("u8g_font_ncenB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24n[] U8G_FONT_SECTION("u8g_font_ncenB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_ncenR08[] U8G_FONT_SECTION("u8g_font_ncenR08"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR08r[] U8G_FONT_SECTION("u8g_font_ncenR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR10[] U8G_FONT_SECTION("u8g_font_ncenR10"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR10r[] U8G_FONT_SECTION("u8g_font_ncenR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR12[] U8G_FONT_SECTION("u8g_font_ncenR12"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR12r[] U8G_FONT_SECTION("u8g_font_ncenR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR14[] U8G_FONT_SECTION("u8g_font_ncenR14"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR14r[] U8G_FONT_SECTION("u8g_font_ncenR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR18[] U8G_FONT_SECTION("u8g_font_ncenR18"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR18r[] U8G_FONT_SECTION("u8g_font_ncenR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24[] U8G_FONT_SECTION("u8g_font_ncenR24"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24r[] U8G_FONT_SECTION("u8g_font_ncenR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24n[] U8G_FONT_SECTION("u8g_font_ncenR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_symb08[] U8G_FONT_SECTION("u8g_font_symb08"); -extern const u8g_fntpgm_uint8_t u8g_font_symb08r[] U8G_FONT_SECTION("u8g_font_symb08r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb10[] U8G_FONT_SECTION("u8g_font_symb10"); -extern const u8g_fntpgm_uint8_t u8g_font_symb10r[] U8G_FONT_SECTION("u8g_font_symb10r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb12[] U8G_FONT_SECTION("u8g_font_symb12"); -extern const u8g_fntpgm_uint8_t u8g_font_symb12r[] U8G_FONT_SECTION("u8g_font_symb12r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb14[] U8G_FONT_SECTION("u8g_font_symb14"); -extern const u8g_fntpgm_uint8_t u8g_font_symb14r[] U8G_FONT_SECTION("u8g_font_symb14r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb18[] U8G_FONT_SECTION("u8g_font_symb18"); -extern const u8g_fntpgm_uint8_t u8g_font_symb18r[] U8G_FONT_SECTION("u8g_font_symb18r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb24[] U8G_FONT_SECTION("u8g_font_symb24"); -extern const u8g_fntpgm_uint8_t u8g_font_symb24r[] U8G_FONT_SECTION("u8g_font_symb24r"); - -extern const u8g_fntpgm_uint8_t u8g_font_timB08[] U8G_FONT_SECTION("u8g_font_timB08"); -extern const u8g_fntpgm_uint8_t u8g_font_timB08r[] U8G_FONT_SECTION("u8g_font_timB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB10[] U8G_FONT_SECTION("u8g_font_timB10"); -extern const u8g_fntpgm_uint8_t u8g_font_timB10r[] U8G_FONT_SECTION("u8g_font_timB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB12[] U8G_FONT_SECTION("u8g_font_timB12"); -extern const u8g_fntpgm_uint8_t u8g_font_timB12r[] U8G_FONT_SECTION("u8g_font_timB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB14[] U8G_FONT_SECTION("u8g_font_timB14"); -extern const u8g_fntpgm_uint8_t u8g_font_timB14r[] U8G_FONT_SECTION("u8g_font_timB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB18[] U8G_FONT_SECTION("u8g_font_timB18"); -extern const u8g_fntpgm_uint8_t u8g_font_timB18r[] U8G_FONT_SECTION("u8g_font_timB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24[] U8G_FONT_SECTION("u8g_font_timB24"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24r[] U8G_FONT_SECTION("u8g_font_timB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24n[] U8G_FONT_SECTION("u8g_font_timB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_timR08[] U8G_FONT_SECTION("u8g_font_timR08"); -extern const u8g_fntpgm_uint8_t u8g_font_timR08r[] U8G_FONT_SECTION("u8g_font_timR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR10[] U8G_FONT_SECTION("u8g_font_timR10"); -extern const u8g_fntpgm_uint8_t u8g_font_timR10r[] U8G_FONT_SECTION("u8g_font_timR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR12[] U8G_FONT_SECTION("u8g_font_timR12"); -extern const u8g_fntpgm_uint8_t u8g_font_timR12r[] U8G_FONT_SECTION("u8g_font_timR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR14[] U8G_FONT_SECTION("u8g_font_timR14"); -extern const u8g_fntpgm_uint8_t u8g_font_timR14r[] U8G_FONT_SECTION("u8g_font_timR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR18[] U8G_FONT_SECTION("u8g_font_timR18"); -extern const u8g_fntpgm_uint8_t u8g_font_timR18r[] U8G_FONT_SECTION("u8g_font_timR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24[] U8G_FONT_SECTION("u8g_font_timR24"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24r[] U8G_FONT_SECTION("u8g_font_timR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24n[] U8G_FONT_SECTION("u8g_font_timR24n"); - -/* fontstruct */ - -extern const u8g_fntpgm_uint8_t u8g_font_p01type[] U8G_FONT_SECTION("u8g_font_p01type"); -extern const u8g_fntpgm_uint8_t u8g_font_p01typer[] U8G_FONT_SECTION("u8g_font_p01typer"); -extern const u8g_fntpgm_uint8_t u8g_font_p01typen[] U8G_FONT_SECTION("u8g_font_p01typen"); - -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[] U8G_FONT_SECTION("u8g_font_lucasfont_alternate"); -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[] U8G_FONT_SECTION("u8g_font_lucasfont_alternater"); -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten"); - -extern const u8g_fntpgm_uint8_t u8g_font_chikita[] U8G_FONT_SECTION("u8g_font_chikita"); -extern const u8g_fntpgm_uint8_t u8g_font_chikitar[] U8G_FONT_SECTION("u8g_font_chikitar"); -extern const u8g_fntpgm_uint8_t u8g_font_chikitan[] U8G_FONT_SECTION("u8g_font_chikitan"); - -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[] U8G_FONT_SECTION("u8g_font_pixelle_micro"); -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[] U8G_FONT_SECTION("u8g_font_pixelle_micror"); -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[] U8G_FONT_SECTION("u8g_font_pixelle_micron"); - -extern const u8g_fntpgm_uint8_t u8g_font_trixel_square[] U8G_FONT_SECTION("u8g_font_trixel_square"); -extern const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[] U8G_FONT_SECTION("u8g_font_trixel_squarer"); -extern const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[] U8G_FONT_SECTION("u8g_font_trixel_squaren"); - -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[] U8G_FONT_SECTION("u8g_font_robot_de_niro"); -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[] U8G_FONT_SECTION("u8g_font_robot_de_niror"); -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[] U8G_FONT_SECTION("u8g_font_robot_de_niron"); - -extern const u8g_fntpgm_uint8_t u8g_font_baby[] U8G_FONT_SECTION("u8g_font_baby"); -extern const u8g_fntpgm_uint8_t u8g_font_babyr[] U8G_FONT_SECTION("u8g_font_babyr"); -extern const u8g_fntpgm_uint8_t u8g_font_babyn[] U8G_FONT_SECTION("u8g_font_babyn"); - -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07[] U8G_FONT_SECTION("u8g_font_blipfest_07"); -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[] U8G_FONT_SECTION("u8g_font_blipfest_07r"); -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[] U8G_FONT_SECTION("u8g_font_blipfest_07n"); - -/* profont */ - -extern const u8g_fntpgm_uint8_t u8g_font_profont10[] U8G_FONT_SECTION("u8g_font_profont10"); -extern const u8g_fntpgm_uint8_t u8g_font_profont10r[] U8G_FONT_SECTION("u8g_font_profont10r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont11[] U8G_FONT_SECTION("u8g_font_profont11"); -extern const u8g_fntpgm_uint8_t u8g_font_profont11r[] U8G_FONT_SECTION("u8g_font_profont11r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont12[] U8G_FONT_SECTION("u8g_font_profont12"); -extern const u8g_fntpgm_uint8_t u8g_font_profont12r[] U8G_FONT_SECTION("u8g_font_profont12r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont15[] U8G_FONT_SECTION("u8g_font_profont15"); -extern const u8g_fntpgm_uint8_t u8g_font_profont15r[] U8G_FONT_SECTION("u8g_font_profont15r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont17[] U8G_FONT_SECTION("u8g_font_profont17"); -extern const u8g_fntpgm_uint8_t u8g_font_profont17r[] U8G_FONT_SECTION("u8g_font_profont17r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont22[] U8G_FONT_SECTION("u8g_font_profont22"); -extern const u8g_fntpgm_uint8_t u8g_font_profont22r[] U8G_FONT_SECTION("u8g_font_profont22r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont29[] U8G_FONT_SECTION("u8g_font_profont29"); -extern const u8g_fntpgm_uint8_t u8g_font_profont29r[] U8G_FONT_SECTION("u8g_font_profont29r"); - - -#ifdef __cplusplus -} -#endif - -#endif /* _U8G_H */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_bitmap.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_bitmap.c deleted file mode 100644 index dc742d1d7..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_bitmap.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - - u8g_bitmap.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap) -{ - while( cnt > 0 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, *bitmap); - bitmap++; - cnt--; - x+=8; - } -} - -void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHBitmap(u8g, x, y, cnt, bitmap); - bitmap += cnt; - y++; - h--; - } -} - - -void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap) -{ - while( cnt > 0 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, u8g_pgm_read(bitmap)); - bitmap++; - cnt--; - x+=8; - } -} - -void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHBitmapP(u8g, x, y, cnt, bitmap); - bitmap += cnt; - y++; - h--; - } -} - -/*=========================================================================*/ - -static void u8g_DrawHXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const uint8_t *bitmap) -{ - uint8_t d; - x+=7; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 2, *bitmap); - bitmap++; - w-= 8; - x+=8; - } - if ( w > 0 ) - { - d = *bitmap; - x -= 7; - do - { - if ( d & 1 ) - u8g_DrawPixel(u8g, x, y); - x++; - w--; - d >>= 1; - } while ( w > 0 ); - } -} - -void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) -{ - u8g_uint_t b; - b = w; - b += 7; - b >>= 3; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - while( h > 0 ) - { - u8g_DrawHXBM(u8g, x, y, w, bitmap); - bitmap += b; - y++; - h--; - } -} - -static void u8g_DrawHXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const u8g_pgm_uint8_t *bitmap) -{ - uint8_t d; - x+=7; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 2, u8g_pgm_read(bitmap)); - bitmap++; - w-= 8; - x+=8; - } - if ( w > 0 ) - { - d = u8g_pgm_read(bitmap); - x -= 7; - do - { - if ( d & 1 ) - u8g_DrawPixel(u8g, x, y); - x++; - w--; - d >>= 1; - } while ( w > 0 ); - } -} - -void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) -{ - u8g_uint_t b; - b = w; - b += 7; - b >>= 3; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHXBMP(u8g, x, y, w, bitmap); - bitmap += b; - y++; - h--; - } -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_circle.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_circle.c deleted file mode 100644 index 8f4a0525d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_circle.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - - u8g_circle.c - - Utility to draw empty and filled circles. - - Universal 8bit Graphics Library - - Copyright (c) 2011, bjthom@gmail.com - u8g_DrawCircle & u8g_DrawDisc by olikraus@gmail.com - - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Addition to the U8G Library 02/25/12 - - -*/ - -#include "u8g.h" - -#ifdef OLD_CODE - -void circ_upperRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - u8g_DrawPixel(u8g, x0 + y, y0 - x); -} - -void circ_upperLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - u8g_DrawPixel(u8g, x0 - y, y0 - x); -} - -void circ_lowerRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - u8g_DrawPixel(u8g, x0 + y, y0 + x); -} - -void circ_lowerLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - u8g_DrawPixel(u8g, x0 - y, y0 + x); -} - -void circ_all(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - circ_upperRight(u8g, x, y, x0, y0); - circ_upperLeft(u8g, x, y, x0, y0); - circ_lowerRight(u8g, x, y, x0, y0); - circ_lowerLeft(u8g, x, y, x0, y0); -} - -void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) - return; - - int f = 1 - rad; - int ddF_x = 1; - int ddF_y = -2*rad; - uint8_t x = 0; - uint8_t y = rad; - - void ( *circ_util )(u8g_t *, u8g_uint_t, u8g_uint_t, u8g_uint_t, u8g_uint_t); - - switch (option) - { - case U8G_CIRC_UPPER_RIGHT: - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - circ_util = circ_upperRight; - break; - case U8G_CIRC_UPPER_LEFT: - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_upperLeft; - break; - case U8G_CIRC_LOWER_RIGHT: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - circ_util = circ_lowerRight; - break; - case U8G_CIRC_LOWER_LEFT: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_lowerLeft; - break; - default: - case U8G_CIRC_ALL: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_all; - break; - } - - while( x < y ) - { - if(f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - circ_util(u8g, x, y, x0, y0); - } -} - - -void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) - return; - - int f = 1 - rad; - int ddF_x = 1; - int ddF_y = -2*rad; - uint8_t x = 0; - uint8_t y = rad; - - // Draw vertical diameter at the horiz. center - // u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); - - if (option == U8G_CIRC_UPPER_LEFT || option == U8G_CIRC_UPPER_RIGHT) { - u8g_DrawVLine(u8g, x0, y0 - rad, rad+1); - } - else if (option == U8G_CIRC_LOWER_LEFT || option == U8G_CIRC_LOWER_RIGHT) { - u8g_DrawVLine(u8g, x0, y0, rad+1); - } - else { - u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); - } - - while( x < y ) - { - if(f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - //Draw vertical lines from one point to another - - switch (option) - { - case U8G_CIRC_UPPER_RIGHT: - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, x+1); - break; - case U8G_CIRC_UPPER_LEFT: - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - u8g_DrawVLine(u8g, x0-y, y0-x, x+1); - break; - case U8G_CIRC_LOWER_RIGHT: - u8g_DrawVLine(u8g, x0+x, y0, y+1); - u8g_DrawVLine(u8g, x0+y, y0, x+1); - break; - case U8G_CIRC_LOWER_LEFT: - u8g_DrawVLine(u8g, x0-x, y0, y+1); - u8g_DrawVLine(u8g, x0-y, y0, x+1); - break; - case U8G_CIRC_ALL: - u8g_DrawVLine(u8g, x0+x, y0-y, 2*y+1); - u8g_DrawVLine(u8g, x0-x, y0-y, 2*y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, 2*x+1); - u8g_DrawVLine(u8g, x0-y, y0-x, 2*x+1); - break; - } - } -} - -#endif - -/*=========================================================================*/ - -static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; - -static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - u8g_DrawPixel(u8g, x0 + y, y0 - x); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - u8g_DrawPixel(u8g, x0 - y, y0 - x); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - u8g_DrawPixel(u8g, x0 + y, y0 + x); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - u8g_DrawPixel(u8g, x0 - y, y0 + x); - } -} - -void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - u8g_int_t f; - u8g_int_t ddF_x; - u8g_int_t ddF_y; - u8g_uint_t x; - u8g_uint_t y; - - f = 1; - f -= rad; - ddF_x = 1; - ddF_y = 0; - ddF_y -= rad; - ddF_y *= 2; - x = 0; - y = rad; - - u8g_draw_circle_section(u8g, x, y, x0, y0, option); - - while ( x < y ) - { - if (f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - u8g_draw_circle_section(u8g, x, y, x0, y0, option); - } -} - -void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t radp, radp2; - - radp = rad; - radp++; - radp2 = radp; - radp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) - return; - } - - /* draw circle */ - u8g_draw_circle(u8g, x0, y0, rad, option); -} - -static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; - -static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, x+1); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - u8g_DrawVLine(u8g, x0-y, y0-x, x+1); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0, y+1); - u8g_DrawVLine(u8g, x0+y, y0, x+1); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0, y+1); - u8g_DrawVLine(u8g, x0-y, y0, x+1); - } -} - -void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - u8g_int_t f; - u8g_int_t ddF_x; - u8g_int_t ddF_y; - u8g_uint_t x; - u8g_uint_t y; - - f = 1; - f -= rad; - ddF_x = 1; - ddF_y = 0; - ddF_y -= rad; - ddF_y *= 2; - x = 0; - y = rad; - - u8g_draw_disc_section(u8g, x, y, x0, y0, option); - - while ( x < y ) - { - if (f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - u8g_draw_disc_section(u8g, x, y, x0, y0, option); - } -} - -void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t radp, radp2; - - radp = rad; - radp++; - radp2 = radp; - radp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) - return; - } - - /* draw disc */ - u8g_draw_disc(u8g, x0, y0, rad, option); -} - - - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_clip.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_clip.c deleted file mode 100644 index 1ca223e43..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_clip.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - - u8g_clip.c - - procedures for clipping - taken over from procs in u8g_pb.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Notes - - This is one of the most critical parts of u8glib. It must be fast, but still reliable. - Based on the intersection program (see tools folder), there is minimized version of - the condition for the intersaction test: - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - It includes the assumption, that a1 <= a2 is always true (correct, because - a1, a2 are the page dimensions. - - The direct implementation of the above result is done in: - uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) - However, this is slower than a decision tree version: - static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) - Also suprising is, that the macro implementation is slower than the inlined version. - - The decision tree is based on the expansion of the truth table. - -*/ - -#include "u8g.h" - -#ifdef __GNUC__ -#define U8G_ALWAYS_INLINE __inline__ __attribute__((always_inline)) -#else -#define U8G_ALWAYS_INLINE - #endif - -/* - intersection assumptions: - a1 <= a2 is always true - - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - */ - -#ifdef OLD_CODE_WHICH_IS_TOO_SLOW -static uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c1, c2, c3, tmp; - c1 = v0 <= a1; - c2 = v1 >= a0; - c3 = v0 > v1; - - tmp = c1; - c1 &= c2; - c2 &= c3; - c3 &= tmp; - c1 |= c2; - c1 |= c3; - return c1 & 1; -} -#endif - -#define U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1) ((uint8_t)( (v0) <= (a1) ) ? ( ( (v1) >= (a0) ) ? ( 1 ) : ( (v0) > (v1) ) ) : ( ( (v1) >= (a0) ) ? ( (v0) > (v1) ) : ( 0 ) )) - -//static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) U8G_ALWAYS_INLINE; -static uint8_t U8G_ALWAYS_INLINE u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) -{ - /* surprisingly the macro leads to larger code */ - /* return U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1); */ - if ( v0 <= a1 ) - { - if ( v1 >= a0 ) - { - return 1; - } - else - { - if ( v0 > v1 ) - { - return 1; - } - else - { - return 0; - } - } - } - else - { - if ( v1 >= a0 ) - { - if ( v0 > v1 ) - { - return 1; - } - else - { - return 0; - } - } - else - { - return 0; - } - } -} - - -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - register u8g_uint_t tmp; - tmp = y; - tmp += h; - tmp--; - if ( u8g_is_intersection_decision_tree(u8g->current_page.y0, u8g->current_page.y1, y, tmp) == 0 ) - return 0; - - tmp = x; - tmp += w; - tmp--; - return u8g_is_intersection_decision_tree(u8g->current_page.x0, u8g->current_page.x1, x, tmp); -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api.c deleted file mode 100644 index 0201808d7..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - - u8g_com_api.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time) -{ - return dev->com_fn(u8g, U8G_COM_MSG_INIT, clk_cycle_time, NULL); -} - -void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_STOP, 0, NULL); -} - -/* cs contains the chip number, which should be enabled */ -void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs) -{ - dev->com_fn(u8g, U8G_COM_MSG_CHIP_SELECT, cs, NULL); -} - -void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_RESET, 0, NULL); -} - -void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_RESET, 1, NULL); -} - - -void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address) -{ - dev->com_fn(u8g, U8G_COM_MSG_ADDRESS, address, NULL); -} - -uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, val, NULL); -} - -uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, cnt, seq); -} - -uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ_P, cnt, (void *)seq); -} - -/* - sequence := { direct_value | escape_sequence } - direct_value := 0..254 - escape_sequence := value_255 | sequence_end | delay | adr | cs | not_used - value_255 := 255 255 - sequence_end = 255 254 - delay := 255 0..127 - adr := 255 0x0e0 .. 0x0ef - cs := 255 0x0d0 .. 0x0df - not_used := 255 101..254 - -#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) -#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) -#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) -#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) -#define U8G_ESC_END 255, 254 -#define U8G_ESC_255 255, 255 -#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) - -*/ -uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq) -{ - uint8_t is_escape = 0; - uint8_t value; - for(;;) - { - value = u8g_pgm_read(esc_seq); - if ( is_escape == 0 ) - { - if ( value != 255 ) - { - if ( u8g_WriteByte(u8g, dev, value) == 0 ) - return 0; - } - else - { - is_escape = 1; - } - } - else - { - if ( value == 255 ) - { - if ( u8g_WriteByte(u8g, dev, value) == 0 ) - return 0; - } - else if ( value == 254 ) - { - break; - } - else if ( value >= 0x0f0 ) - { - /* not yet used, do nothing */ - } - else if ( value >= 0xe0 ) - { - u8g_SetAddress(u8g, dev, value & 0x0f); - } - else if ( value >= 0xd0 ) - { - u8g_SetChipSelect(u8g, dev, value & 0x0f); - } - else if ( value >= 0xc0 ) - { - u8g_SetResetLow(u8g, dev); - value &= 0x0f; - value <<= 4; - value+=2; - u8g_Delay(value); - u8g_SetResetHigh(u8g, dev); - u8g_Delay(value); - } - else if ( value >= 0xbe ) - { - /* not yet implemented */ - /* u8g_SetVCC(u8g, dev, value & 0x01); */ - } - else if ( value <= 127 ) - { - u8g_Delay(value); - } - is_escape = 0; - } - esc_seq++; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api_16gr.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api_16gr.c deleted file mode 100644 index 7ff03d865..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_api_16gr.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - - u8g_com_api_16gr.c - - Extension of the com api for devices with 16 graylevels (4 bit per pixel). - This should fit to the 8h and 16h architectures (pb8v1, pb8v2, pb16v1, pb16v2), - mainly intended for SSD OLEDs - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* interpret b as a monochrome bit pattern, write value 15 for high bit and value 0 for a low bit */ -/* topbit (msb) is sent last */ -/* example: b = 0x083 will send 0xff, 0x00, 0x00, 0xf0 */ -uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) -{ - static uint8_t buf[4]; - static uint8_t map[4] = { 0, 0x00f, 0x0f0, 0x0ff }; - buf [3] = map[b & 3]; - b>>=2; - buf [2] = map[b & 3]; - b>>=2; - buf [1] = map[b & 3]; - b>>=2; - buf [0] = map[b & 3]; - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, 4, buf); -} - -uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) -{ - do - { - if ( u8g_WriteByteBWTo16GrDevice(u8g, dev, *ptr++) == 0 ) - return 0; - cnt--; - } while( cnt != 0 ); - return 1; -} - -/* interpret b as a 4L bit pattern, write values 0x000, 0x004, 0x008, 0x00c */ -uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) -{ - //static uint8_t map[16] = { 0x000, 0x004, 0x008, 0x00c, 0x040, 0x044, 0x048, 0x04c, 0x080, 0x084, 0x088, 0x08c, 0x0c0, 0x0c4, 0x0c8, 0x0cc}; - //static uint8_t map[16] = { 0x000, 0x004, 0x00a, 0x00f, 0x040, 0x044, 0x04a, 0x04f, 0x0a0, 0x0a4, 0x0aa, 0x0af, 0x0f0, 0x0f4, 0x0fa, 0x0ff}; - static uint8_t map[16] = { 0x000, 0x040, 0x0a0, 0x0f0, 0x004, 0x044, 0x0a4, 0x0f4, 0x00a, 0x04a, 0x0aa, 0x0fa, 0x00f, 0x04f, 0x0af, 0x0ff}; - uint8_t bb; - bb = b; - bb &= 15; - b>>=4; - dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[bb], NULL); - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[b], NULL); -} - -uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) -{ - do - { - if ( u8g_WriteByte4LTo16GrDevice(u8g, dev, *ptr++) == 0 ) - return 0; - cnt--; - } while( cnt != 0 ); - return 1; -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c deleted file mode 100644 index 9d0191eae..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c +++ /dev/null @@ -1,160 +0,0 @@ -/* - - u8g_arduino_ATtiny85_std_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -// Uses code from tinySPI Written by Nick Gammon -// March 2013 - -// ATMEL ATTINY45 / ARDUINO pin mappings -// -// +-\/-+ -// RESET Ain0 (D 5) PB5 1| |8 Vcc -// CLK1 Ain3 (D 3) PB3 2| |7 PB2 (D 2) Ain1 SCK / USCK / SCL -// CLK0 Ain2 (D 4) PB4 3| |6 PB1 (D 1) pwm1 MISO / DO -// GND 4| |5 PB0 (D 0) pwm0 MOSI / DI / SDA -// +----+ - - -#include "u8g.h" - - -#if defined(ARDUINO) && defined(__AVR_ATtiny85__) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -const byte DI = 0; // D0, pin 5 Data In -const byte DO = 1; // D1, pin 6 Data Out (this is *not* MOSI) -const byte USCK = 2; // D2, pin 7 Universal Serial Interface clock - -uint8_t u8g_arduino_ATtiny85_spi_out(uint8_t val) -{ - USIDR = val; // byte to output - USISR = _BV (USIOIF); // clear Counter Overflow Interrupt Flag, set count to zero - do - { - USICR = _BV (USIWM0) // 3-wire mode - | _BV (USICS1) | _BV (USICLK) // Software clock strobe - | _BV (USITC); // Toggle Clock Port Pin - } - while ((USISR & _BV (USIOIF)) == 0); // until Counter Overflow Interrupt Flag set - - return USIDR; // return read data -} - -uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); // ensure SS stays high until needed - pinMode (USCK, OUTPUT); - pinMode (DO, OUTPUT); - pinMode (u8g->pin_list[U8G_PI_CS], OUTPUT); - pinMode (u8g->pin_list[U8G_PI_A0], OUTPUT); - USICR = _BV (USIWM0); // 3-wire mode - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - u8g_MicroDelay(); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - u8g_MicroDelay(); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_arduino_ATtiny85_spi_out(arg_val); - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_ATtiny85_spi_out(*ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_ATtiny85_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - u8g_MicroDelay(); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_common.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_common.c deleted file mode 100644 index ef0b2366e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_common.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - - u8g_com_arduino_common.c - - shared procedures for the arduino communication procedures - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value) -{ - uint8_t pin; - pin = u8g->pin_list[pin_index]; - if ( pin != U8G_PIN_NONE ) - digitalWrite(pin, value); -} - -/* this procedure does not set the RW pin */ -void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g) -{ - uint8_t i; - /* skip the RW pin, which is the last pin in the list */ - for( i = 0; i < U8G_PIN_LIST_LEN-1; i++ ) - { - if ( u8g->pin_list[i] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[i], OUTPUT); - digitalWrite(u8g->pin_list[i], HIGH); - } - } -} - - -#endif - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c deleted file mode 100644 index 57d4410af..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - - u8g_arduino_fast_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - - -#define PIN_D0 8 -#define PIN_D1 9 -#define PIN_D2 10 -#define PIN_D3 11 -#define PIN_D4 4 -#define PIN_D5 5 -#define PIN_D6 6 -#define PIN_D7 7 - -#define PIN_CS1 14 -#define PIN_CS2 15 -#define PIN_RW 16 -#define PIN_DI 17 -#define PIN_EN 18 - -//#define PIN_RESET - - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_data_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_data_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_fast_parallel_init(u8g_t *u8g) -{ - u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - -/* atomic protection must be done by calling function */ -static void u8g_com_arduino_fast_write_data_pin(uint8_t pin, uint8_t val) -{ - if ( val != 0 ) - *u8g_data_port[pin] |= u8g_data_mask[pin]; - else - *u8g_data_port[pin] &= ~u8g_data_mask[pin]; -} - - -void u8g_com_arduino_fast_parallel_write(u8g_t *u8g, uint8_t val) -{ - U8G_ATOMIC_START(); - u8g_com_arduino_fast_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_fast_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 7, val&1 ); - val >>= 1; - U8G_ATOMIC_END(); - - /* EN cycle time must be 1 micro second */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_fast_parallel_init(u8g); - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_fast_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_fast_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_fast_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c deleted file mode 100644 index 3c0d34a48..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c +++ /dev/null @@ -1,438 +0,0 @@ -/* - - u8g_com_arduino_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SPI Clock Cycle Type - - SSD1351 50ns 20 MHz - SSD1322 300ns 3.3 MHz - SSD1327 300ns - SSD1306 300ns - ST7565 400ns 2.5 MHz - ST7920 400ns - - Arduino DUE - - PA25 MISO - PA26 MOSI 75 - PA27 SCLK 76 - - -typedef struct { - WoReg SPI_CR; (Spi Offset: 0x00) Control Register - RwReg SPI_MR; (Spi Offset: 0x04) Mode Register - RoReg SPI_RDR; (Spi Offset: 0x08) Receive Data Register - WoReg SPI_TDR; (Spi Offset: 0x0C) Transmit Data Register - RoReg SPI_SR; (Spi Offset: 0x10) Status Register - WoReg SPI_IER; (Spi Offset: 0x14) Interrupt Enable Register - WoReg SPI_IDR; (Spi Offset: 0x18) Interrupt Disable Register - RoReg SPI_IMR; (Spi Offset: 0x1C) Interrupt Mask Register - RoReg Reserved1[4]; - RwReg SPI_CSR[4]; (Spi Offset: 0x30) Chip Select Register - RoReg Reserved2[41]; - RwReg SPI_WPMR; (Spi Offset: 0xE4) Write Protection Control Register - RoReg SPI_WPSR; (Spi Offset: 0xE8) Write Protection Status Register -} Spi; - - Power Management Controller (PMC) - arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pmc.h - - enable PIO - - REG_PMC_PCER0 = 1UL << ID_PIOA - - enable SPI - REG_PMC_PCER0 = 1UL << ID_SPI0 - - - - enable PIOA and SPI0 - REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); - - Parallel Input/Output Controller (PIO) - arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pioa.h - - enable special function of the pin: disable PIO on A26 and A27: - REG_PIOA_PDR = 0x0c000000 - PIOA->PIO_PDR = 0x0c000000 - - SPI - SPI0->SPI_CR = SPI_CR_SPIDIS - SPI0->SPI_CR = SPI_CR_SWRST ; - SPI0->SPI_CR = SPI_CR_SWRST ; - SPI0->SPI_CR = SPI_CR_SPIEN - - Bit 0: Master Mode = 1 (active) - Bit 1: Peripheral Select = 0 (fixed) - Bit 2: Chip Select Decode Mode = 1 (4 to 16) - Bit 4: Mode Fault Detection = 1 (disabled) - Bit 5: Wait Data Read = 0 (disabled) - Bit 7: Loop Back Mode = 0 (disabled) - Bit 16-19: Peripheral Chip Select = 0 (chip select 0) - SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS - - Bit 0: Clock Polarity = 0 - Bit 1: Clock Phase = 0 - Bit 4-7: Bits = 0 (8 Bit) - Bit 8-15: SCBR = 1 - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(x) Serial Baud Rate - SCBR / 84000000 > 50 / 1000000000 - SCBR / 84 > 5 / 100 - SCBR > 50 *84 / 1000 --> SCBR=5 - SCBR > 300*84 / 1000 --> SCBR=26 - SCBR > 400*84 / 1000 --> SCBR=34 - - Arduino Due test code: - REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); - REG_PIOA_PDR = 0x0c000000; - SPI0->SPI_CR = SPI_CR_SPIDIS; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SPIEN; - SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS; - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(30); - - for(;;) - { - while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 ) - ; - SPI0->SPI_TDR = 0x050; - } - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if defined(__AVR__) -#define U8G_ARDUINO_ATMEGA_HW_SPI -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif -#endif - -#if defined(U8G_ARDUINO_ATMEGA_HW_SPI) - -#include -#include - -#if ARDUINO < 100 -#include - -/* fixed pins */ -#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board -#define PIN_SCK 7 -#define PIN_MISO 6 -#define PIN_MOSI 5 -#define PIN_CS 4 -#else // Arduino Board -#define PIN_SCK 13 -#define PIN_MISO 12 -#define PIN_MOSI 11 -#define PIN_CS 10 -#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) - -#else - -#include - -/* use Arduino pin definitions */ -#define PIN_SCK SCK -#define PIN_MISO MISO -#define PIN_MOSI MOSI -#define PIN_CS SS - -#endif - - - -//static uint8_t u8g_spi_out(uint8_t data) U8G_NOINLINE; -static uint8_t u8g_spi_out(uint8_t data) -{ - /* unsigned char x = 100; */ - /* send data */ - SPDR = data; - /* wait for transmission */ - while (!(SPSR & (1<pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_spi_out(arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -/* #elif defined(__18CXX) || defined(__PIC32MX) */ - -#elif defined(__SAM3X8E__) // Arduino Due, maybe we should better check for __SAM3X8E__ - -#include - -/* use Arduino pin definitions */ -#define PIN_SCK SCK -#define PIN_MISO MISO -#define PIN_MOSI MOSI -#define PIN_CS SS - - -static uint8_t u8g_spi_out(uint8_t data) -{ - /* wait until tx register is empty */ - while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 ) - ; - /* send data */ - SPI0->SPI_TDR = (uint32_t)data; - return data; -} - - -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - - /* Arduino Due specific code */ - - /* enable PIOA and SPI0 */ - REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); - - /* disable PIO on A26 and A27 */ - REG_PIOA_PDR = 0x0c000000; - - /* reset SPI0 (from sam lib) */ - SPI0->SPI_CR = SPI_CR_SPIDIS; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SPIEN; - u8g_MicroDelay(); - - /* master mode, no fault detection, chip select 0 */ - SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS; - - /* Polarity, Phase, 8 Bit data transfer, baud rate */ - /* x * 1000 / 84 --> clock cycle in ns - 5 * 1000 / 84 = 58 ns - SCBR > 50 *84 / 1000 --> SCBR=5 - SCBR > 300*84 / 1000 --> SCBR=26 - SCBR > 400*84 / 1000 --> SCBR=34 - */ - - if ( arg_val <= U8G_SPI_CLK_CYCLE_50NS ) - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(5) | 1; - } - else if ( arg_val <= U8G_SPI_CLK_CYCLE_300NS ) - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(26) | 1; - } - else if ( arg_val <= U8G_SPI_CLK_CYCLE_400NS ) - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(34) | 1; - } - else - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(84) | 1; - } - - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_MicroDelay(); /* this delay is required to avoid that the display is switched off too early --> DOGS102 with DUE */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - u8g_MicroDelay(); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - u8g_MicroDelay(); - } - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_spi_out(arg_val); - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - - - -#else /* U8G_ARDUINO_ATMEGA_HW_SPI */ - -#endif /* U8G_ARDUINO_ATMEGA_HW_SPI */ - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c deleted file mode 100644 index 27fd8d01c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c +++ /dev/null @@ -1,159 +0,0 @@ -/* - - u8g_com_arduino_hw_usart_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SPI Clock Cycle Type - - SSD1351 50ns 20 MHz - SSD1322 300ns 3.3 MHz - SSD1327 300ns - SSD1306 300ns - ST7565 400ns 2.5 MHz - ST7920 400ns - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if defined(__AVR_ATmega32U4__ ) - -#include -#include - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - -static uint8_t u8g_usart_spi_out(uint8_t data) -{ - /* send data */ - UDR1 = data; - /* wait for empty transmit buffer */ - while(!(UCSR1A & (1 << UDRE1))); - - return UDR1; -} - - -uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_INIT: - /* SCK is already an output as we overwrite TXLED */ - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - - // Init interface at 2MHz - UBRR1 = 0x00; - UCSR1C = (1 << UMSEL11) | (1 << UMSEL10); - UCSR1B = (1 << TXEN1); - UBRR1 = 3; - - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_usart_spi_out(arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_usart_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_usart_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -/* #elif defined(__18CXX) || defined(__PIC32MX) */ -/* #elif defined(__arm__) // Arduino Due, maybe we should better check for __SAM3X8E__ */ - -#else /* __AVR_ATmega32U4__ */ - -#endif /* __AVR_ATmega32U4__ */ - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c deleted file mode 100644 index 4edb30a46..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c +++ /dev/null @@ -1,234 +0,0 @@ -/* - - u8g_arduino_no_en_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - Update for ATOMIC operation done (01 Jun 2013) - - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - -//#define PIN_RESET - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_data_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_data_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_no_en_parallel_init(u8g_t *u8g) -{ - u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - -/* No atomic protcetion. This is done by caller */ -static void u8g_com_arduino_no_en_write_data_pin(uint8_t pin, uint8_t val) -{ - if ( val != 0 ) - { - *u8g_data_port[pin] |= u8g_data_mask[pin]; - } - else - { - *u8g_data_port[pin] &= ~u8g_data_mask[pin]; - } -} - - -void u8g_com_arduino_no_en_parallel_write(u8g_t *u8g, uint8_t val) -{ - U8G_ATOMIC_START(); - u8g_com_arduino_no_en_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_no_en_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 7, val&1 ); - val >>= 1; - U8G_ATOMIC_END(); - - /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - if ( u8g->pin_list[U8G_PI_CS_STATE] == 1 ) - { - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_MicroDelay(); - } - else if ( u8g->pin_list[U8G_PI_CS_STATE] == 2 ) - { - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - u8g_MicroDelay(); - } -} - - -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_no_en_parallel_init(u8g); - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - /* - 0: nothing selected - 1: CS1 will be used as enable line - 2: CS2 will be used as enable line - this will be used in the u8g_com_arduino_no_en_parallel_write() procedure - */ - u8g->pin_list[U8G_PI_CS_STATE] = arg_val; - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_no_en_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_no_en_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_no_en_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_parallel.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_parallel.c deleted file mode 100644 index d5d5dd755..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_parallel.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - - u8g_com_arduino_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - - - - -void u8g_com_arduino_parallel_write(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_D0, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D1, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D2, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D3, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D4, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D5, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D6, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D7, val&1); - - /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c deleted file mode 100644 index 64a8229e1..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - - u8g_arduino_port_d_wr.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes PORTD for 8 bit data transfer. - EN is assumed to be a low active write signal (WR) - - ILI9325D_320x240 from iteadstudio.com - RS=19, WR=18, CS=17, RST=16 - - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) && defined(PORTD) - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - - - - -static void u8g_com_arduino_port_d_8bit_wr(u8g_t *u8g, uint8_t val) -{ - PORTD = val; - - /* WR cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); -} - - -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - - switch(msg) - { - case U8G_COM_MSG_INIT: - -#ifdef UCSR0B - UCSR0B = 0; // disable USART 0 -#endif - U8G_ATOMIC_START(); - DDRD = 0x0ff; - PORTD = 0x0ff; - U8G_ATOMIC_END(); - - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, HIGH); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_port_d_8bit_wr(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_port_d_8bit_wr(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_port_d_8bit_wr(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO && PORTD */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c deleted file mode 100644 index 84b24daad..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c +++ /dev/null @@ -1,212 +0,0 @@ -/* - - u8g_com_arduino_ssd_i2c.c - - com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant - I2C protocol - - ToDo: Rename this to u8g_com_avr_ssd_i2c.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Special pin usage: - U8G_PI_I2C_OPTION additional options - U8G_PI_A0_STATE used to store the last value of the command/data register selection - U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device - U8G_PI_SCL clock line (NOT USED) - U8G_PI_SDA data line (NOT USED) - - U8G_PI_RESET reset line (currently disabled, see below) - - Protocol: - SLA, Cmd/Data Selection, Arguments - The command/data register is selected by a special instruction byte, which is sent after SLA - - The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode -*/ - -#include "u8g.h" - -#if defined(U8G_WITH_PINLIST) - - -#define I2C_SLA (0x3c*2) -//#define I2C_CMD_MODE 0x080 -#define I2C_CMD_MODE 0x000 -#define I2C_DATA_MODE 0x040 - -uint8_t u8g_com_arduino_ssd_start_sequence(u8g_t *u8g) -{ - /* are we requested to set the a0 state? */ - if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) - return 1; - - /* setup bus, might be a repeated start */ - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; -} - -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); - //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); - //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ - - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - /* Currently disabled, but it could be enable. Previous restrictions have been removed */ - /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if ( arg_val == 0 ) - { - /* disable chip, send stop condition */ - u8g_i2c_stop(); - } - else - { - /* enable, do nothing: any byte writing will trigger the i2c start */ - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - if ( u8g_i2c_send_byte(arg_val) == 0 ) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(*ptr++) == 0 ) - return u8g_i2c_stop(), 0; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) - return 0; - ptr++; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - -#ifdef OLD_CODE - if ( i2c_state != 0 ) - { - u8g_i2c_stop(); - i2c_state = 0; - } - - if ( u8g_com_arduino_ssd_start_sequence(arg_val) == 0 ) - return 0; - - /* setup bus, might be a repeated start */ - /* - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( arg_val == 0 ) - { - i2c_state = 1; - - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - i2c_state = 2; - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - */ -#endif - break; - } - return 1; -} - -#else /* defined(U8G_WITH_PINLIST) */ - -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* defined(U8G_WITH_PINLIST) */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c deleted file mode 100644 index d157b9363..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c +++ /dev/null @@ -1,330 +0,0 @@ -/* - - u8g_com_arduino_st7920_custom.c - - Additional COM device, initially introduced for 3D Printer community - Implements a fast SW SPI com subsystem - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) - -static uint8_t u8g_bitData, u8g_bitNotData; -static uint8_t u8g_bitClock, u8g_bitNotClock; -static volatile uint8_t *u8g_outData; -static volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - - - U8G_ATOMIC_START(); - bitData |= *outData; - bitNotData &= *outData; - do - { - if ( val & 128 ) - *outData = bitData; - else - *outData = bitNotData; - - /* - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - */ - - val <<= 1; - *outClock &= bitNotClock; - cnt--; - // removed micro delays, because AVRs are too slow and the delay is not required - //u8g_MicroDelay(); - *outClock |= bitClock; - //u8g_MicroDelay(); - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - //u8g_MicroDelay(); - //*dog_outClock |= dog_bitClock; - *dog_outClock &= dog_bitNotClock; - cnt--; - u8g_MicroDelay(); - //*dog_outClock &= dog_bitNotClock; - *dog_outClock |= dog_bitClock; - u8g_MicroDelay(); - - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#else - -/* default interface, Arduino DUE (__arm__) */ - -uint8_t u8g_data_custom_pin; -uint8_t u8g_clock_custom_pin; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_data_custom_pin = dataPin; - u8g_clock_custom_pin = clockPin; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - do - { - if ( val & 128 ) - digitalWrite(u8g_data_custom_pin, HIGH); - else - digitalWrite(u8g_data_custom_pin, LOW); - val <<= 1; - //u8g_MicroDelay(); - digitalWrite(u8g_clock_custom_pin, LOW); - cnt--; - u8g_MicroDelay(); - digitalWrite(u8g_clock_custom_pin, HIGH); - u8g_MicroDelay(); - } while( cnt != 0 ); -} - -#endif - - -static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - while( len > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(*ptr << 4); - ptr++; - len--; - u8g_10MicroDelay(); - } - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - -static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); - -} - - -uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c deleted file mode 100644 index af44c7f86..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c +++ /dev/null @@ -1,293 +0,0 @@ -/* - - u8g_com_arduino_st7920_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special HW SPI interface for ST7920 controller - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) -#define U8G_ARDUINO_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif - -#endif - - -#if defined(U8G_ARDUINO_ATMEGA_HW_SPI) - -#include -#include - - -#if ARDUINO < 100 - -/* fixed pins */ -#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board -#define PIN_SCK 7 -#define PIN_MISO 6 -#define PIN_MOSI 5 -#define PIN_CS 4 -#else // Arduino Board -#define PIN_SCK 13 -#define PIN_MISO 12 -#define PIN_MOSI 11 -#define PIN_CS 10 -#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) - -#else - -/* use Arduino pin definitions */ -#define PIN_SCK SCK -#define PIN_MISO MISO -#define PIN_MOSI MOSI -#define PIN_CS SS - -#endif - - -static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - /* send data */ - SPDR = val; - /* wait for transmission */ - while (!(SPSR & (1< 0 ) - { - u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr & 0x0f0); - u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr << 4); - ptr++; - len--; - u8g_10MicroDelay(); - } - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - -static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0fa); - } - else - { - /* do nothing, keep same state */ - } - - u8g_arduino_st7920_hw_spi_shift_out(u8g, val & 0x0f0); - u8g_arduino_st7920_hw_spi_shift_out(u8g, val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - - - /* code from u8g_com-arduino_hw_spi.c */ - pinMode(PIN_SCK, OUTPUT); - digitalWrite(PIN_SCK, LOW); - pinMode(PIN_MOSI, OUTPUT); - digitalWrite(PIN_MOSI, LOW); - /* pinMode(PIN_MISO, INPUT); */ - - pinMode(PIN_CS, OUTPUT); /* system chip select for the atmega board */ - digitalWrite(PIN_CS, HIGH); - - - //u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - -#ifdef OBSOLETE - DDRB |= _BV(3); /* D0, MOSI */ - DDRB |= _BV(5); /* SCK */ - DDRB |= _BV(2); /* slave select */ - - PORTB &= ~_BV(3); /* D0, MOSI = 0 */ - PORTB &= ~_BV(5); /* SCK = 0 */ -#endif - - /* - SPR1 SPR0 - 0 0 fclk/4 - 0 1 fclk/16 - 1 0 fclk/64 - 1 1 fclk/128 - */ - SPCR = 0; - - /* 20 Dez 2012: set CPOL and CPHA to 1 !!! */ - SPCR = (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - // u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - u8g_com_arduino_st7920_write_byte_hw_spi_seq(u8g, u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); - /* - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - arg_val--; - } - } - */ - - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - // u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} -#endif - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c deleted file mode 100644 index 9a5c2bef3..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c +++ /dev/null @@ -1,330 +0,0 @@ -/* - - u8g_com_arduino_st7920_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) - -static uint8_t u8g_bitData, u8g_bitNotData; -static uint8_t u8g_bitClock, u8g_bitNotClock; -static volatile uint8_t *u8g_outData; -static volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - - - U8G_ATOMIC_START(); - bitData |= *outData; - bitNotData &= *outData; - do - { - if ( val & 128 ) - *outData = bitData; - else - *outData = bitNotData; - - /* - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - */ - - val <<= 1; - *outClock &= bitNotClock; - cnt--; - // removed micro delays, because AVRs are too slow and the delay is not required - //u8g_MicroDelay(); - *outClock |= bitClock; - //u8g_MicroDelay(); - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - //u8g_MicroDelay(); - //*dog_outClock |= dog_bitClock; - *dog_outClock &= dog_bitNotClock; - cnt--; - u8g_MicroDelay(); - //*dog_outClock &= dog_bitNotClock; - *dog_outClock |= dog_bitClock; - u8g_MicroDelay(); - - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#else - -/* default interface, Arduino DUE (__arm__) */ - -uint8_t u8g_data_pin; -uint8_t u8g_clock_pin; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_data_pin = dataPin; - u8g_clock_pin = clockPin; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - do - { - if ( val & 128 ) - digitalWrite(u8g_data_pin, HIGH); - else - digitalWrite(u8g_data_pin, LOW); - val <<= 1; - //u8g_MicroDelay(); - digitalWrite(u8g_clock_pin, LOW); - cnt--; - u8g_MicroDelay(); - digitalWrite(u8g_clock_pin, HIGH); - u8g_MicroDelay(); - } while( cnt != 0 ); -} - -#endif - - -static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - while( len > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(*ptr << 4); - ptr++; - len--; - u8g_10MicroDelay(); - } - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - -static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); - -} - - -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - /* 28 Dec 2013 reassign pins, fixes issue with more than one display */ - /* issue 227 */ - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c deleted file mode 100644 index 048ac1af3..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - - u8g_arduino_std_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -void u8g_arduino_sw_spi_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) -{ - uint8_t i = 8; - do - { - if ( val & 128 ) - digitalWrite(dataPin, HIGH); - else - digitalWrite(dataPin, LOW); - val <<= 1; - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - digitalWrite(clockPin, HIGH); - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - digitalWrite(clockPin, LOW); - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - i--; - } while( i != 0 ); -} - -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c deleted file mode 100644 index 7752adc82..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - - u8g_arduino_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -/*=========================================================*/ -/* Arduino, AVR */ - -#if defined(__AVR__) - -uint8_t u8g_bitData, u8g_bitNotData; -uint8_t u8g_bitClock, u8g_bitNotClock; -volatile uint8_t *u8g_outData; -volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *outData |= bitData; - else - *outData &= bitNotData; - - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -/*=========================================================*/ -/* Arduino, Chipkit */ -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - /* - There must be some delay here. However - fetching the adress dog_outClock is enough delay, so - do not place dog_outClock in a local variable. This will - break the procedure - */ - *dog_outClock |= dog_bitClock; - cnt--; - *dog_outClock &= dog_bitNotClock; - /* - little additional delay after clk pulse, done by 3x32bit reads - from I/O. Optimized for PIC32 with 80 MHz. - */ - dog_pic32_spi_tmp = *dog_outClock; - dog_pic32_spi_tmp = *dog_outClock; - dog_pic32_spi_tmp = *dog_outClock; - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -/*=========================================================*/ -/* Arduino Due */ -#elif defined(__SAM3X8E__) - -/* Due */ - -void u8g_digital_write_sam_high(uint8_t pin) -{ - PIO_Set( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ; -} - -void u8g_digital_write_sam_low(uint8_t pin) -{ - PIO_Clear( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ; -} - -static uint8_t u8g_sam_data_pin; -static uint8_t u8g_sam_clock_pin; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_sam_data_pin = dataPin; - u8g_sam_clock_pin = clockPin; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t i = 8; - do - { - if ( val & 128 ) - u8g_digital_write_sam_high(u8g_sam_data_pin); - else - u8g_digital_write_sam_low(u8g_sam_data_pin); - val <<= 1; - //u8g_MicroDelay(); - u8g_digital_write_sam_high(u8g_sam_clock_pin); - u8g_MicroDelay(); - u8g_digital_write_sam_low(u8g_sam_clock_pin); - u8g_MicroDelay(); - i--; - } while( i != 0 ); -} - - -#else -/* empty interface */ - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ -} - -#endif - - -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - /* issue 227 */ - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_do_shift_out_msb_first( arg_val ); - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first(*ptr++); - // u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first( u8g_pgm_read(ptr) ); - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_t6963.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_t6963.c deleted file mode 100644 index 50e5e93ac..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_t6963.c +++ /dev/null @@ -1,403 +0,0 @@ -/* - - u8g_com_arduino_t6963.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS 14 - PIN_A0 15 - PIN_RESET 16 - PIN_WR 17 - PIN_RD 18 - - u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_output_data_port[8]; -static volatile uint32_t *u8g_input_data_port[8]; -static volatile uint32_t *u8g_mode_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_output_data_port[8]; -static volatile uint8_t *u8g_input_data_port[8]; -static volatile uint8_t *u8g_mode_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_t6963_init(u8g_t *u8g) -{ - u8g_output_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_input_data_port[0] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_mode_port[0] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - - u8g_output_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_input_data_port[1] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_mode_port[1] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - - u8g_output_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_input_data_port[2] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_mode_port[2] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - - u8g_output_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_input_data_port[3] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_mode_port[3] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_output_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_input_data_port[4] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_mode_port[4] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - - u8g_output_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_input_data_port[5] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_mode_port[5] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - - u8g_output_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_input_data_port[6] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_mode_port[6] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - - u8g_output_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_input_data_port[7] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_mode_port[7] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - - -static void u8g_com_arduino_t6963_write_data_pin(uint8_t pin, uint8_t val) -{ - /* no ATOMIC protection required here, this is done by calling procedure */ - if ( val != 0 ) - *u8g_output_data_port[pin] |= u8g_data_mask[pin]; - else - *u8g_output_data_port[pin] &= ~u8g_data_mask[pin]; -} - -static void u8g_com_arduino_t6963_set_port_output(void) -{ - uint8_t i; - U8G_ATOMIC_START(); - for( i = 0; i < 8; i++ ) - { -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ - *u8g_mode_port[i] |= u8g_data_mask[i]; -#elif defined(__AVR__) - *u8g_mode_port[i] |= u8g_data_mask[i]; -#else - /* TODO: use generic Arduino API */ - *u8g_mode_port[i] |= u8g_data_mask[i]; -#endif - - } - U8G_ATOMIC_END(); -} - -static void u8g_com_arduino_t6963_set_port_input(void) -{ - uint8_t i; - U8G_ATOMIC_START(); - for( i = 0; i < 8; i++ ) - { -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; -#elif defined(__AVR__) -/* avr */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; - *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup -#else - /* TODO: use generic Arduino API */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; - *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup -#endif - } - U8G_ATOMIC_END(); -} - - -static void u8g_com_arduino_t6963_write(u8g_t *u8g, uint8_t val) -{ - U8G_ATOMIC_START(); - - u8g_com_arduino_t6963_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_t6963_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 7, val&1 ); - val >>= 1; - U8G_ATOMIC_END(); - - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 0); - u8g_MicroDelay(); /* 80ns, reference: t6963 datasheet */ - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 1); - u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ -} - -static uint8_t u8g_com_arduino_t6963_read(u8g_t *u8g) -{ - uint8_t val = 0; - - u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 0); - u8g_MicroDelay(); /* 150ns, reference: t6963 datasheet */ - - U8G_ATOMIC_START(); - /* only read bits 0, 1 and 3 */ - if ( (*u8g_input_data_port[3] & u8g_data_mask[3]) != 0 ) - val++; - val <<= 1; - val <<= 1; - if ( (*u8g_input_data_port[1] & u8g_data_mask[1]) != 0 ) - val++; - val <<= 1; - if ( (*u8g_input_data_port[0] & u8g_data_mask[0]) != 0 ) - val++; - U8G_ATOMIC_END(); - - u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 1); - u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ - - return val; -} - -#define U8G_STATUS_TIMEOUT 50 - -static uint8_t u8g_com_arduino_t6963_until_01_ok(u8g_t *u8g) -{ - long x; - - u8g_com_arduino_t6963_set_port_input(); - x = millis(); - x += U8G_STATUS_TIMEOUT; - - for(;;) - { - if ( (u8g_com_arduino_t6963_read(u8g) & 3) == 3 ) - break; - if ( x < millis() ) - return 0; - } - u8g_com_arduino_t6963_set_port_output(); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_until_3_ok(u8g_t *u8g) -{ - long x; - - u8g_com_arduino_t6963_set_port_input(); - x = millis(); - x += U8G_STATUS_TIMEOUT; - - for(;;) - { - if ( (u8g_com_arduino_t6963_read(u8g) & 8) == 8 ) - break; - if ( x < millis() ) - return 0; - } - u8g_com_arduino_t6963_set_port_output(); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_cmd(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_data(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_auto_data(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_3_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - - -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g_com_arduino_t6963_init(u8g); - /* setup the RW (equal to WR) pin as output and force it to high */ - if ( u8g->pin_list[U8G_PI_WR] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_WR], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, HIGH); - } - /* set all pins (except WR pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, active low chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - u8g_com_arduino_t6963_write_data(u8g, arg_val); - } - else - { - u8g_com_arduino_t6963_write_cmd(u8g, arg_val); - } - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ - while( arg_val > 0 ) - { - if ( u8g_com_arduino_t6963_write_auto_data(u8g, *ptr++) == 0 ) - break; - arg_val--; - } - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ - while( arg_val > 0 ) - { - if ( u8g_com_arduino_t6963_write_auto_data(u8g, u8g_pgm_read(ptr)) == 0 ) - break; - ptr++; - arg_val--; - } - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 1) or data mode (arg_val = 0) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - //u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c deleted file mode 100644 index 263766818..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c +++ /dev/null @@ -1,206 +0,0 @@ -/* - - u8g_com_arduino_uc_i2c.c - - com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant - I2C protocol - - ToDo: Rename this to u8g_com_avr_ssd_i2c.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Special pin usage: - U8G_PI_I2C_OPTION additional options - U8G_PI_A0_STATE used to store the last value of the command/data register selection - U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device - U8G_PI_SCL clock line (NOT USED) - U8G_PI_SDA data line (NOT USED) - - U8G_PI_RESET reset line (currently disabled, see below) - - Protocol: - SLA, Cmd/Data Selection, Arguments - The command/data register is selected by a special instruction byte, which is sent after SLA - - The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode -*/ - -#include "u8g.h" - -#if defined(U8G_WITH_PINLIST) - -#define DOGM240_SLA_CMD (0x38*2) -#define DOGM240_SLA_DATA (0x39*2) - -uint8_t u8g_com_arduino_uc_start_sequence(u8g_t *u8g) -{ - /* are we requested to set the a0 state? */ - if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) - return 1; - - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - if ( u8g_i2c_start(DOGM240_SLA_CMD) == 0 ) - return 0; - } - else - { - if ( u8g_i2c_start(DOGM240_SLA_DATA) == 0 ) - return 0; - } - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; -} - -uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); - //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); - //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ - - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - /* Currently disabled, but it could be enable. Previous restrictions have been removed */ - /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if ( arg_val == 0 ) - { - /* disable chip, send stop condition */ - u8g_i2c_stop(); - } - else - { - /* enable, do nothing: any byte writing will trigger the i2c start */ - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - if ( u8g_i2c_send_byte(arg_val) == 0 ) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(*ptr++) == 0 ) - return u8g_i2c_stop(), 0; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) - return 0; - ptr++; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - -#ifdef OLD_CODE - if ( i2c_state != 0 ) - { - u8g_i2c_stop(); - i2c_state = 0; - } - - if ( u8g_com_arduino_uc_start_sequence(arg_val) == 0 ) - return 0; - - /* setup bus, might be a repeated start */ - /* - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( arg_val == 0 ) - { - i2c_state = 1; - - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - i2c_state = 2; - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - */ -#endif - break; - } - return 1; -} - -#else /* defined(U8G_WITH_PINLIST) */ - -uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* defined(U8G_WITH_PINLIST) */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c deleted file mode 100644 index 71e378b55..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - - u8g_com_atmega_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START() - U8G_ATOMIC_END() - - - -*/ - -#include "u8g.h" - - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif -#endif - - -#if defined(U8G_ATMEGA_HW_SPI) - -#include -#include - - -static uint8_t u8g_atmega_spi_out(uint8_t data) -{ - /* unsigned char x = 100; */ - /* send data */ - SPDR = data; - /* wait for transmission */ - while (!(SPSR & (1< 0 ) - { - u8g_atmega_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - -uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_parallel.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_parallel.c deleted file mode 100644 index 2b49b04fd..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_parallel.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - - u8g_com_atmega_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) -{ - - u8g_SetPILevel(u8g, U8G_PI_D0, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D1, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D2, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D3, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D4, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D5, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D6, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D7, val&1); - - /* EN cycle time must be 1 micro second */ - u8g_SetPILevel(u8g, U8G_PI_EN, 1); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_SetPILevel(u8g, U8G_PI_EN, 0); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - /* setup the RW pin as output and force it to low */ - u8g_SetPIOutput(u8g, U8G_PI_RW); - u8g_SetPILevel(u8g, U8G_PI_RW, 0); - - u8g_SetPIOutput(u8g, U8G_PI_D0); - u8g_SetPIOutput(u8g, U8G_PI_D1); - u8g_SetPIOutput(u8g, U8G_PI_D2); - u8g_SetPIOutput(u8g, U8G_PI_D3); - u8g_SetPIOutput(u8g, U8G_PI_D4); - u8g_SetPIOutput(u8g, U8G_PI_D5); - u8g_SetPIOutput(u8g, U8G_PI_D6); - u8g_SetPIOutput(u8g, U8G_PI_D7); - u8g_SetPIOutput(u8g, U8G_PI_EN); - u8g_SetPIOutput(u8g, U8G_PI_CS1); - u8g_SetPIOutput(u8g, U8G_PI_CS2); - u8g_SetPIOutput(u8g, U8G_PI_DI); - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 0); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 0); - } - else - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 0); - u8g_SetPILevel(u8g, U8G_PI_CS2, 0); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c deleted file mode 100644 index dd0fd4e15..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c +++ /dev/null @@ -1,216 +0,0 @@ -/* - - u8g_com_atmega_st7920_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller with HW SPI Support - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START() - U8G_ATOMIC_END() - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif - -#endif - -#if defined(U8G_ATMEGA_HW_SPI) - -#include -#include - -static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - /* send data */ - SPDR = val; - /* wait for transmission */ - while (!(SPSR & (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - } - else - { - /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ - } - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c deleted file mode 100644 index 24e06028a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - - u8g_com_atmega_st7920_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - uint8_t i = 8; - do - { - u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); - val <<= 1; - u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - i--; - } while( i != 0 ); -} - -static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; -static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0fa); - } - - u8g_atmega_st7920_sw_spi_shift_out(u8g, val & 0x0f0); - u8g_atmega_st7920_sw_spi_shift_out(u8g, val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - - -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_SetPIOutput(u8g, U8G_PI_SCK); - u8g_SetPIOutput(u8g, U8G_PI_MOSI); - /* u8g_SetPIOutput(u8g, U8G_PI_A0); */ - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); - u8g_SetPILevel(u8g, U8G_PI_CS, 0 ); - /* u8g_SetPILevel(u8g, U8G_PI_A0, 0); */ - - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - } - else - { - /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ - } - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c deleted file mode 100644 index fde3153a5..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - - u8g_com_atmega_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - uint8_t i = 8; - do - { - u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); - val <<= 1; - u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - i--; - } while( i != 0 ); -} - -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_SetPIOutput(u8g, U8G_PI_SCK); - u8g_SetPIOutput(u8g, U8G_PI_MOSI); - u8g_SetPIOutput(u8g, U8G_PI_A0); - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); - u8g_SetPILevel(u8g, U8G_PI_CS, 1 ); - u8g_SetPILevel(u8g, U8G_PI_A0, 0); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - - if ( arg_val == 0 ) - { - /* disable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); - } - else - { - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); /* CS = 0 (low active) */ - } - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_atmega_sw_spi_shift_out(u8g, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_sw_spi_shift_out(u8g, *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_sw_spi_shift_out(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_i2c.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_i2c.c deleted file mode 100644 index 8e16bead3..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_i2c.c +++ /dev/null @@ -1,642 +0,0 @@ -/* - - u8g_com_i2c.c - - generic i2c interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -//#define U8G_I2C_WITH_NO_ACK - -static uint8_t u8g_i2c_err_code; -static uint8_t u8g_i2c_opt; /* U8G_I2C_OPT_NO_ACK, SAM: U8G_I2C_OPT_DEV_1 */ -/* - position values - 1: start condition - 2: sla transfer -*/ -static uint8_t u8g_i2c_err_pos; - - -void u8g_i2c_clear_error(void) -{ - u8g_i2c_err_code = U8G_I2C_ERR_NONE; - u8g_i2c_err_pos = 0; -} - -uint8_t u8g_i2c_get_error(void) -{ - return u8g_i2c_err_code; -} - -uint8_t u8g_i2c_get_err_pos(void) -{ - return u8g_i2c_err_pos; -} - -static void u8g_i2c_set_error(uint8_t code, uint8_t pos) -{ - if ( u8g_i2c_err_code > 0 ) - return; - u8g_i2c_err_code |= code; - u8g_i2c_err_pos = pos; -} - - - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_TWI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_TWI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_TWI -#endif -#endif - -#if defined(U8G_ATMEGA_HW_TWI) - -#include -#include - - - -void u8g_i2c_init(uint8_t options) -{ - /* - TWBR: bit rate register - TWSR: status register (contains preselector bits) - - prescalar - 0 1 - 1 4 - 2 16 - 3 64 - - f = F_CPU/(16+2*TWBR*prescalar) - - F_CPU = 16MHz - TWBR = 152; - TWSR = 0; - --> 50KHz - - TWBR = 72; - TWSR = 0; - --> 100KHz - - TWBR = 12; - TWSR = 0; - --> 400KHz - - F_CPU/(2*100000)-8 --> calculate TWBR value for 100KHz -*/ - u8g_i2c_opt = options; - TWSR = 0; - if ( options & U8G_I2C_OPT_FAST ) - { - TWBR = F_CPU/(2*400000)-8; - } - else - { - TWBR = F_CPU/(2*100000)-8; - } - u8g_i2c_clear_error(); -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - volatile uint16_t cnt = 2000; /* timout value should be > 280 for 50KHz Bus and 16 Mhz CPU, however the start condition might need longer */ - while( !(TWCR & mask) ) - { - if ( cnt == 0 ) - { - if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) - { - return 1; /* all ok */ - } - else - { - u8g_i2c_set_error(U8G_I2C_ERR_TIMEOUT, pos); - return 0; /* error */ - } - } - cnt--; - } - return 1; /* all ok */ -} - -/* sla includes all 8 bits (with r/w bit), assums master transmit */ -uint8_t u8g_i2c_start(uint8_t sla) -{ - register uint8_t status; - - /* send start */ - TWCR = _BV(TWINT) | _BV(TWSTA) | _BV(TWEN); - - /* wait */ - if ( u8g_i2c_wait(_BV(TWINT), 1) == 0 ) - return 0; - - status = TW_STATUS; - - /* check status after start */ - if ( status != TW_START && status != TW_REP_START ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 1); - return 0; - } - - /* set slave address */ - TWDR = sla; - - /* enable sla transfer */ - TWCR = _BV(TWINT) | _BV(TWEN); - - /* wait */ - if ( u8g_i2c_wait(_BV(TWINT), 2) == 0 ) - return 0; - - if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) - { - /* do not check for ACK */ - } - else - { - status = TW_STATUS; - /* check status after sla */ - if ( status != TW_MT_SLA_ACK ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 2); - return 0; - } - } - - return 1; -} - -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - register uint8_t status; - TWDR = data; - TWCR = _BV(TWINT) | _BV(TWEN); - if ( u8g_i2c_wait(_BV(TWINT), 3) == 0 ) - return 0; - - if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) - { - /* do not check for ACK */ - } - else - { - status = TW_STATUS; - if ( status != TW_MT_DATA_ACK ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 3); - return 0; - } - } - - return 1; -} - -void u8g_i2c_stop(void) -{ - /* write stop */ - TWCR = _BV(TWINT) | _BV(TWEN) | _BV(TWSTO); - - /* no error is checked for the stop condition */ - u8g_i2c_wait(_BV(TWSTO), 4); - -} - -/* -void twi_send(uint8_t adr, uint8_t data1, uint8_t data2) -{ - u8g_i2c_start(adr<<1); - u8g_i2c_send_byte(data1); - u8g_i2c_send_byte(data2); - u8g_i2c_stop(); -} -*/ - -#elif defined(ARDUINO) && defined(__SAM3X8E__) -/* Arduino Due */ -#include "Arduino.h" -#include "sam.h" - -/* - -Controller - -TWI0 TWCK0 PA18 A DUE PCB: SCL1 -TWI0 TWD0 PA17 A DUE PCB: SDA1 -TWI1 TWCK1 PB13 A DUE PCB: SCL 21 -TWI1 TWD1 PB12 A DUE PCB: SDA 20 - -Arduino definitions - -#define PIN_WIRE_SDA (20u) -#define PIN_WIRE_SCL (21u) -#define WIRE_INTERFACE TWI1 -#define WIRE_INTERFACE_ID ID_TWI1 -#define WIRE_ISR_HANDLER TWI1_Handler - -#define PIN_WIRE1_SDA (70u) -#define PIN_WIRE1_SCL (71u) -#define WIRE1_INTERFACE TWI0 -#define WIRE1_INTERFACE_ID ID_TWI0 -#define WIRE1_ISR_HANDLER TWI0_Handler - - -*/ - -static void i2c_400KHz_delay(void) -{ - /* should be at least 4 */ - /* should be 5 for 100KHz transfer speed */ - - - /* - Arduino Due - 0x NOP: 470KHz - 4x NOP: 450KHz - 8x NOP: 430KHz - 16x NOP: 400KHz - */ - - __NOP(); - __NOP(); - __NOP(); - __NOP(); - - __NOP(); - __NOP(); - __NOP(); - __NOP(); - - __NOP(); - __NOP(); - __NOP(); - __NOP(); - - __NOP(); - __NOP(); - __NOP(); - __NOP(); -} - -static void i2c_100KHz_delay(void) -{ - /* - 1x u8g_MicroDelay() ca. 130KHz - 2x u8g_MicroDelay() ca. 80KHz - */ - u8g_MicroDelay(); - u8g_MicroDelay(); -} - - -uint32_t i2c_started = 0; -uint32_t i2c_scl_pin = 0; -uint32_t i2c_sda_pin = 0; -void (*i2c_delay)(void) = i2c_100KHz_delay; - -const PinDescription *i2c_scl_pin_desc; -const PinDescription *i2c_sda_pin_desc; - - -/* maybe this can be optimized */ -static void i2c_init(void) -{ - i2c_sda_pin_desc = &(g_APinDescription[i2c_sda_pin]); - i2c_scl_pin_desc = &(g_APinDescription[i2c_scl_pin]); - pinMode(i2c_sda_pin, OUTPUT); - digitalWrite(i2c_sda_pin, HIGH); - pinMode(i2c_scl_pin, OUTPUT); - digitalWrite(i2c_scl_pin, HIGH); - PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN ); - PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN ); - PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ; - PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ; - PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; - PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; - i2c_delay(); -} - -/* actually, the scl line is not observed, so this procedure does not return a value */ -static void i2c_read_scl_and_delay(void) -{ - uint32_t dwMask = i2c_scl_pin_desc->ulPin; - //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; - //PIO_SetInput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; - - /* set as input */ - i2c_scl_pin_desc->pPort->PIO_ODR = dwMask ; - i2c_scl_pin_desc->pPort->PIO_PER = dwMask ; - - i2c_delay(); -} - -static void i2c_clear_scl(void) -{ - uint32_t dwMask = i2c_scl_pin_desc->ulPin; - - /* set open collector and drive low */ - //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN ); - //PIO_SetOutput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, 0, 1, 0); - - /* open drain, zero default output */ - i2c_scl_pin_desc->pPort->PIO_MDER = dwMask; - i2c_scl_pin_desc->pPort->PIO_CODR = dwMask; - i2c_scl_pin_desc->pPort->PIO_OER = dwMask; - i2c_scl_pin_desc->pPort->PIO_PER = dwMask; - - //PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ; -} - -static uint8_t i2c_read_sda(void) -{ - uint32_t dwMask = i2c_sda_pin_desc->ulPin; - //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; - //PIO_SetInput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; - - /* set as input */ - i2c_sda_pin_desc->pPort->PIO_ODR = dwMask ; - i2c_sda_pin_desc->pPort->PIO_PER = dwMask ; - - - return 1; -} - -static void i2c_clear_sda(void) -{ - uint32_t dwMask = i2c_sda_pin_desc->ulPin; - - /* set open collector and drive low */ - //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN ); - //PIO_SetOutput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, 0, 1, 0); - - /* open drain, zero default output */ - i2c_sda_pin_desc->pPort->PIO_MDER = dwMask ; - i2c_sda_pin_desc->pPort->PIO_CODR = dwMask ; - i2c_sda_pin_desc->pPort->PIO_OER = dwMask ; - i2c_sda_pin_desc->pPort->PIO_PER = dwMask ; - - //PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ; -} - -static void i2c_start(void) -{ - if ( i2c_started != 0 ) - { - /* if already started: do restart */ - i2c_read_sda(); /* SDA = 1 */ - i2c_delay(); - i2c_read_scl_and_delay(); - } - i2c_read_sda(); - /* - if (i2c_read_sda() == 0) - { - // do something because arbitration is lost - } - */ - /* send the start condition, both lines go from 1 to 0 */ - i2c_clear_sda(); - i2c_delay(); - i2c_clear_scl(); - i2c_started = 1; -} - - -static void i2c_stop(void) -{ - /* set SDA to 0 */ - i2c_clear_sda(); - i2c_delay(); - - /* now release all lines */ - i2c_read_scl_and_delay(); - - /* set SDA to 1 */ - i2c_read_sda(); - i2c_delay(); - i2c_started = 0; -} - -static void i2c_write_bit(uint8_t val) -{ - if (val) - i2c_read_sda(); - else - i2c_clear_sda(); - - i2c_delay(); - i2c_read_scl_and_delay(); - i2c_clear_scl(); -} - -static uint8_t i2c_read_bit(void) -{ - uint8_t val; - /* do not drive SDA */ - i2c_read_sda(); - i2c_delay(); - i2c_read_scl_and_delay(); - val = i2c_read_sda(); - i2c_delay(); - i2c_clear_scl(); - return val; -} - -static uint8_t i2c_write_byte(uint8_t b) -{ - i2c_write_bit(b & 128); - i2c_write_bit(b & 64); - i2c_write_bit(b & 32); - i2c_write_bit(b & 16); - i2c_write_bit(b & 8); - i2c_write_bit(b & 4); - i2c_write_bit(b & 2); - i2c_write_bit(b & 1); - - /* read ack from client */ - /* 0: ack was given by client */ - /* 1: nothing happend during ack cycle */ - return i2c_read_bit(); -} - - - -void u8g_i2c_init(uint8_t options) -{ - u8g_i2c_opt = options; - u8g_i2c_clear_error(); - - if ( u8g_i2c_opt & U8G_I2C_OPT_FAST ) - { - i2c_delay = i2c_400KHz_delay; - } - else - { - i2c_delay = i2c_100KHz_delay; - } - - - if ( u8g_i2c_opt & U8G_I2C_OPT_DEV_1 ) - { - i2c_scl_pin = PIN_WIRE1_SCL; - i2c_sda_pin = PIN_WIRE1_SDA; - - //REG_PIOA_PDR = PIO_PB12A_TWD1 | PIO_PB13A_TWCK1; - } - else - { - - i2c_scl_pin = PIN_WIRE_SCL; - i2c_sda_pin = PIN_WIRE_SDA; - - //REG_PIOA_PDR = PIO_PA17A_TWD0 | PIO_PA18A_TWCK0; - } - - i2c_init(); - -} - -/* sla includes also the r/w bit */ -uint8_t u8g_i2c_start(uint8_t sla) -{ - i2c_start(); - i2c_write_byte(sla); - return 1; -} - -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - return i2c_write_byte(data); -} - -void u8g_i2c_stop(void) -{ - i2c_stop(); -} - - -#elif defined(U8G_RASPBERRY_PI) - -#include -#include -#include -#include -#include - -#define I2C_SLA 0x3c - -static int fd=-1; -static uint8_t i2cMode = 0; - -void u8g_i2c_init(uint8_t options) { - u8g_i2c_clear_error(); - u8g_i2c_opt = options; - - if (wiringPiSetup() == -1) { - printf("wiringPi-Error\n"); - exit(1); - } - - fd = wiringPiI2CSetup(I2C_SLA); - if (fd < 0) { - printf ("Unable to open I2C device 0: %s\n", strerror (errno)) ; - exit (1) ; - } - //u8g_SetPIOutput(u8g, U8G_PI_RESET); - //u8g_SetPIOutput(u8g, U8G_PI_A0); -} -uint8_t u8g_i2c_start(uint8_t sla) { - u8g_i2c_send_mode(0); - - return 1; -} - -void u8g_i2c_stop(void) { -} - -uint8_t u8g_i2c_send_mode(uint8_t mode) { - i2cMode = mode; -} - -uint8_t u8g_i2c_send_byte(uint8_t data) { - wiringPiI2CWriteReg8(fd, i2cMode, data); - - return 1; -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - return 1; -} - -#else - -/* empty interface */ - -void u8g_i2c_init(uint8_t options) -{ - u8g_i2c_clear_error(); -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - return 1; -} - -uint8_t u8g_i2c_start(uint8_t sla) -{ - return 1; -} -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - return 1; -} - -void u8g_i2c_stop(void) -{ -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_io.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_io.c deleted file mode 100644 index 38a88a0fa..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_io.c +++ /dev/null @@ -1,273 +0,0 @@ -/* - - u8g_com_io.c - - abstraction layer for low level i/o - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) Convert to internal number: AVR: port*8+bitpos, ARM: port*16+bitpos - void u8g_SetPinOutput(uint8_t internal_pin_number) - void u8g_SetPinInput(uint8_t internal_pin_number) - void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) - uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -#include -#include - -typedef volatile uint8_t * IO_PTR; - -/* create internal pin number */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) -{ - port <<= 3; - port += bitpos; - return port; -} - -const IO_PTR u8g_avr_ddr_P[] PROGMEM = { -#ifdef DDRA - &DDRA, -#else - 0, -#endif - &DDRB, -#ifdef DDRC - &DDRC, -#ifdef DDRD - &DDRD, -#ifdef DDRE - &DDRE, -#ifdef DDRF - &DDRF, -#ifdef DDRG - &DDRG, -#ifdef DDRH - &DDRH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - - -const IO_PTR u8g_avr_port_P[] PROGMEM = { -#ifdef PORTA - &PORTA, -#else - 0, -#endif - &PORTB, -#ifdef PORTC - &PORTC, -#ifdef PORTD - &PORTD, -#ifdef PORTE - &PORTE, -#ifdef PORTF - &PORTF, -#ifdef PORTG - &PORTG, -#ifdef PORTH - &PORTH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - -const IO_PTR u8g_avr_pin_P[] PROGMEM = { -#ifdef PINA - &PINA, -#else - 0, -#endif - &PINB, -#ifdef PINC - &PINC, -#ifdef PIND - &PIND, -#ifdef PINE - &PINE, -#ifdef PINF - &PINF, -#ifdef PING - &PING, -#ifdef PINH - &PINH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - -static volatile uint8_t *u8g_get_avr_io_ptr(const IO_PTR *base, uint8_t offset) -{ - volatile uint8_t * tmp; - base += offset; - memcpy_P(&tmp, base, sizeof(volatile uint8_t * PROGMEM)); - return tmp; -} - -/* set direction to output of the specified pin (internal pin number) */ -void u8g_SetPinOutput(uint8_t internal_pin_number) -{ - *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) |= _BV(internal_pin_number&7); -} - -void u8g_SetPinInput(uint8_t internal_pin_number) -{ - *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) &= ~_BV(internal_pin_number&7); -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) -{ - volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_port_P, internal_pin_number>>3); - - if ( level == 0 ) - { - U8G_ATOMIC_AND(tmp, ~_BV(internal_pin_number&7)); - // *tmp &= ~_BV(internal_pin_number&7); - } - else - { - U8G_ATOMIC_OR(tmp, _BV(internal_pin_number&7)); - //*tmp |= _BV(internal_pin_number&7); - } - -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) -{ - volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_pin_P, internal_pin_number>>3); - if ( ((*tmp) & _BV(internal_pin_number&7)) != 0 ) - return 1; - return 0; -} - -#elif defined(U8G_RASPBERRY_PI) - -#include -//#include "/usr/local/include/wiringPi.h" - -void u8g_SetPinOutput(uint8_t internal_pin_number) { - pinMode(internal_pin_number, OUTPUT); -} - -void u8g_SetPinInput(uint8_t internal_pin_number) { - pinMode(internal_pin_number, INPUT); -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) { - digitalWrite(internal_pin_number, level); -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) { - return digitalRead(internal_pin_number); -} - - -#else - -/* convert "port" and "bitpos" to internal pin number */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) -{ - port <<= 3; - port += bitpos; - return port; -} - -void u8g_SetPinOutput(uint8_t internal_pin_number) -{ -} - -void u8g_SetPinInput(uint8_t internal_pin_number) -{ -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) -{ -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) -{ - return 0; -} - -#endif - - -#if defined(U8G_WITH_PINLIST) - -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi) -{ - uint8_t pin; - pin = u8g->pin_list[pi]; - if ( pin != U8G_PIN_NONE ) - u8g_SetPinOutput(pin); -} - -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level) -{ - uint8_t pin; - pin = u8g->pin_list[pi]; - if ( pin != U8G_PIN_NONE ) - u8g_SetPinLevel(pin, level); -} - -#else /* defined(U8G_WITH_PINLIST) */ -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi) -{ -} - -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level) -{ -} - -#endif /* defined(U8G_WITH_PINLIST) */ diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_null.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_null.c deleted file mode 100644 index 1d9deebff..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_null.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - - u8g_com_null.c - - communication null device - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - break; - case U8G_COM_MSG_STOP: - break; - - - case U8G_COM_MSG_CHIP_SELECT: - /* arg_val contains the chip number, which should be enabled */ - break; - - - case U8G_COM_MSG_WRITE_BYTE: - break; - case U8G_COM_MSG_WRITE_SEQ: - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c deleted file mode 100644 index 611391f54..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - - u8g_com_raspberrypi_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START() - U8G_ATOMIC_END() - - - -*/ - -#include "u8g.h" - - - -#if defined(U8G_RASPBERRY_PI) - -#include -#include -#include -#include -#include - -uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_INIT: - // check wiringPi setup - if (wiringPiSetup() == -1) - { - printf("wiringPi-Error\n"); - exit(1); - } - - if (wiringPiSPISetup (0, 100000) < 0) - { - printf ("Unable to open SPI device 0: %s\n", strerror (errno)) ; - exit (1) ; - } - - u8g_SetPIOutput(u8g, U8G_PI_RESET); - u8g_SetPIOutput(u8g, U8G_PI_A0); - - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - /* Done by the SPI hardware */ - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - wiringPiSPIDataRW (0, &arg_val, 1) ; - break; - - case U8G_COM_MSG_WRITE_SEQ: - wiringPiSPIDataRW (0, arg_ptr, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - wiringPiSPIDataRW (0, arg_ptr, arg_val); - break; - } - return 1; -} - -#else - -uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c deleted file mode 100644 index 88d85ded2..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c +++ /dev/null @@ -1,176 +0,0 @@ -/* - Special pin usage: - U8G_PI_I2C_OPTION additional options - U8G_PI_A0_STATE used to store the last value of the command/data register selection - U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device - U8G_PI_SCL clock line (NOT USED) - U8G_PI_SDA data line (NOT USED) - - U8G_PI_RESET reset line (currently disabled, see below) - - Protocol: - SLA, Cmd/Data Selection, Arguments - The command/data register is selected by a special instruction byte, which is sent after SLA - - The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode -*/ - -#include "u8g.h" - -#if defined(U8G_RASPBERRY_PI) - -#include -#include -#include -#include -#include - -#define I2C_SLA 0x3c -#define I2C_CMD_MODE 0x000 -#define I2C_DATA_MODE 0x040 - -#if defined(U8G_WITH_PINLIST) - -uint8_t u8g_com_raspberrypi_ssd_start_sequence(u8g_t *u8g) -{ - /* are we requested to set the a0 state? */ - if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) - return 1; - - /* setup bus, might be a repeated start */ - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - if ( u8g_i2c_send_mode(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - if ( u8g_i2c_send_mode(I2C_DATA_MODE) == 0 ) - return 0; - } - - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; -} - -uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - u8g_SetPIOutput(u8g, U8G_PI_A0); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if ( arg_val == 0 ) - { - /* disable chip, send stop condition */ - u8g_i2c_stop(); - } - else - { - /* enable, do nothing: any byte writing will trigger the i2c start */ - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - if ( u8g_i2c_send_byte(arg_val) == 0 ) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = (uint8_t *)arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(*ptr++) == 0 ) - return u8g_i2c_stop(), 0; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = (uint8_t *)arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) - return 0; - ptr++; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - -#ifdef OLD_CODE - if ( i2c_state != 0 ) - { - u8g_i2c_stop(); - i2c_state = 0; - } - - if ( u8g_com_raspberrypi_ssd_start_sequence(arg_val) == 0 ) - return 0; - - /* setup bus, might be a repeated start */ - /* - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( arg_val == 0 ) - { - i2c_state = 1; - - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - i2c_state = 2; - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - */ -#endif - break; - } - return 1; -} - -#else /* defined(U8G_WITH_PINLIST) */ - -uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { - return 1; -} - -#endif /* defined(U8G_WITH_PINLIST) */ -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_cursor.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_cursor.c deleted file mode 100644 index 62075ba6e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_cursor.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - - u8g_cursor.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font) -{ - u8g->cursor_font = cursor_font; -} - -void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding) -{ - u8g->cursor_encoding = encoding; -} - -void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg) -{ - u8g->cursor_bg_color = bg; - u8g->cursor_fg_color = fg; -} - -void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y) -{ - u8g->cursor_x = cursor_x; - u8g->cursor_y = cursor_y; -} - -void u8g_EnableCursor(u8g_t *u8g) -{ - u8g->cursor_fn = u8g_DrawCursor; -} - -void u8g_DisableCursor(u8g_t *u8g) -{ - u8g->cursor_fn = (u8g_draw_cursor_fn)0; -} - -void u8g_DrawCursor(u8g_t *u8g) -{ - const u8g_pgm_uint8_t *font; - uint8_t color; - uint8_t encoding = u8g->cursor_encoding; - - /* get current values */ - color = u8g_GetColorIndex(u8g); - font = u8g->font; - - /* draw cursor */ - u8g->font = u8g->cursor_font; - encoding++; - u8g_SetColorIndex(u8g, u8g->cursor_bg_color); - /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ - /* required, because y adjustment should not happen to the cursor fonts */ - u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); - encoding--; - u8g_SetColorIndex(u8g, u8g->cursor_fg_color); - /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ - /* required, because y adjustment should not happen to the cursor fonts */ - /* u8g_DrawGlyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); */ - u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); - - /* restore previous values */ - u8g->font = font; - u8g_SetColorIndex(u8g, color); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_delay.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_delay.c deleted file mode 100644 index a1329da1d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_delay.c +++ /dev/null @@ -1,262 +0,0 @@ -/* - - u8g_delay.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - void u8g_Delay(uint16_t val) Delay by "val" milliseconds - void u8g_MicroDelay(void) Delay be one microsecond - void u8g_10MicroDelay(void) Delay by 10 microseconds - - -*/ - - -#include "u8g.h" - -/*==== Part 1: Derive suitable delay procedure ====*/ - -#if defined(ARDUINO) - -# if ARDUINO < 100 -# include -# else -# include -# endif - -# if defined(__AVR__) -# define USE_AVR_DELAY -# elif defined(__PIC32MX) -# define USE_PIC32_DELAY -# elif defined(__arm__) /* Arduino Due & Teensy */ -# define USE_ARDUINO_DELAY -# else -# define USE_ARDUINO_DELAY -# endif -#elif defined(U8G_RASPBERRY_PI) -# define USE_RASPBERRYPI_DELAY -#elif defined(__AVR__) -# define USE_AVR_DELAY -#elif defined(__18CXX) -# define USE_PIC18_DELAY -#elif defined(__arm__) -/* do not define anything, all procedures are expected to be defined outside u8glib */ - -/* -void u8g_Delay(uint16_t val); -void u8g_MicroDelay(void); -void u8g_10MicroDelay(void); -*/ - -#else -# define USE_DUMMY_DELAY -#endif - - - -/*==== Part 2: Definition of the delay procedures ====*/ - -/*== Raspberry Pi Delay ==*/ -#if defined (USE_RASPBERRYPI_DELAY) -#include -//#include "/usr/local/include/wiringPi.h" -void u8g_Delay(uint16_t val) { - //delay(val); - //usleep((uint32_t)val*(uint32_t)1000); - delayMicroseconds((uint32_t)val*(uint32_t)1000); -} -void u8g_MicroDelay(void) -{ - usleep(1); -} -void u8g_10MicroDelay(void) -{ - usleep(10); -} -#endif - - -/*== AVR Delay ==*/ - -#if defined(USE_AVR_DELAY) -#include -#include -#include - -/* - Delay by the provided number of milliseconds. - Thus, a 16 bit value will allow a delay of 0..65 seconds - Makes use of the _delay_loop_2 - - _delay_loop_2 will do a delay of n * 4 prozessor cycles. - with f = F_CPU cycles per second, - n = f / (1000 * 4 ) - with f = 16000000 the result is 4000 - with f = 1000000 the result is 250 - - the millisec loop, gcc requires the following overhead: - - movev 1 - - subwi 2x2 - - bne i 2 - ==> 7 cycles - ==> must be devided by 4, rounded up 7/4 = 2 -*/ -void u8g_Delay(uint16_t val) -{ - /* old version did a call to the arduino lib: delay(val); */ - while( val != 0 ) - { - _delay_loop_2( (F_CPU / 4000 ) -2); - val--; - } -} - -/* delay by one micro second */ -void u8g_MicroDelay(void) -{ -#if (F_CPU / 4000000 ) > 0 - _delay_loop_2( (F_CPU / 4000000 ) ); -#endif -} - -/* delay by 10 micro seconds */ -void u8g_10MicroDelay(void) -{ -#if (F_CPU / 400000 ) > 0 - _delay_loop_2( (F_CPU / 400000 ) ); -#endif -} - -#endif - - -/*== Delay for PIC18 (not tested) ==*/ - -#if defined(USE_PIC18_DELAY) -#include -#define GetSystemClock() (64000000ul) // Hz -#define GetInstructionClock() (GetSystemClock()/4) - -void u8g_Delay(uint16_t val) -{/* - unsigned int _iTemp = (val); - while(_iTemp--) - Delay1KTCYx((GetInstructionClock()+999999)/1000000); - */ -} -void u8g_MicroDelay(void) -{ - /* not implemented */ -} -void u8g_10MicroDelay(void) -{ - /* not implemented */ -} -#endif - - -/*== Arduino Delay ==*/ -#if defined(USE_ARDUINO_DELAY) -void u8g_Delay(uint16_t val) -{ -#if defined(__arm__) - delayMicroseconds((uint32_t)val*(uint32_t)1000); -#else - delay(val); -#endif -} -void u8g_MicroDelay(void) -{ - delayMicroseconds(1); -} -void u8g_10MicroDelay(void) -{ - delayMicroseconds(10); -} -#endif - -#if defined(USE_PIC32_DELAY) -/* - Assume chipkit here with F_CPU correctly defined - The problem was, that u8g_Delay() is called within the constructor. - It seems that the chipkit is not fully setup at this time, so a - call to delay() will not work. So here is my own implementation. - -*/ -#define CPU_COUNTS_PER_SECOND (F_CPU/2UL) -#define TICKS_PER_MILLISECOND (CPU_COUNTS_PER_SECOND/1000UL) -#include "plib.h" -void u8g_Delay(uint16_t val) -{ - uint32_t d; - uint32_t s; - d = val; - d *= TICKS_PER_MILLISECOND; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -void u8g_MicroDelay(void) -{ - uint32_t d; - uint32_t s; - d = TICKS_PER_MILLISECOND/1000; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -void u8g_10MicroDelay(void) -{ - uint32_t d; - uint32_t s; - d = TICKS_PER_MILLISECOND/100; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -#endif - -/*== Any other systems: Dummy Delay ==*/ -#if defined(USE_DUMMY_DELAY) -void u8g_Delay(uint16_t val) -{ - /* do not know how to delay... */ -} -void u8g_MicroDelay(void) -{ -} -void u8g_10MicroDelay(void) -{ -} -#endif diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c deleted file mode 100644 index 8968a26da..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c +++ /dev/null @@ -1,199 +0,0 @@ -/* - - u8g_dev_a2_micro_printer_ds.c - - Use DC2 bitmap command of the A2 Micro panel termal printer - double stroke - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define LINE_DELAY 40 - - -uint8_t u8g_dev_a2_micro_printer_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - y = pb->p.page_y0; - ptr = pb->buf; - - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 160); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 20); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - u8g_WriteByte(u8g, dev, 18); /* DC2 */ - u8g_WriteByte(u8g, dev, 42 ); /* * */ - u8g_WriteByte(u8g, dev, pb->p.page_height ); - u8g_WriteByte(u8g, dev, pb->width/8 ); - - for( i = 0; i < pb->p.page_height; i ++ ) - { - for( j = 0; j < pb->width/8; j++ ) - { - u8g_WriteByte(u8g, dev, *ptr); - ptr++; - } - u8g_Delay(LINE_DELAY); - y++; - } - - /* set parameters back to their default values */ - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 80); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 2); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_expand4(uint8_t val) -{ - uint8_t a,b,c,d; - a = val&1; - b = (val&2)<<1; - c = (val&4)<<2; - d = (val&8)<<3; - a |=b; - a |=c; - a |=d; - a |= a<<1; - return a; -} - -uint8_t u8g_dev_a2_micro_printer_double_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - { - //u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - //u8g_WriteByte(u8g, dev, 18); /* DC2 */ - //u8g_WriteByte(u8g, dev, 42 ); /* * */ - //u8g_WriteByte(u8g, dev, pb->p.total_height*2 ); - //u8g_WriteByte(u8g, dev, pb->width/8*2 ); - } - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i, j; - uint8_t *ptr; - uint8_t *p2; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - y = pb->p.page_y0; - ptr = pb->buf; - //u8g_WriteByte(u8g, dev, 18); /* DC2 */ - //u8g_WriteByte(u8g, dev, 35 ); /* # */ - //u8g_WriteByte(u8g, dev, 0x0ff ); /* max */ - - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 160); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 20); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - u8g_WriteByte(u8g, dev, 18); /* DC2 */ - u8g_WriteByte(u8g, dev, 42 ); /* * */ - u8g_WriteByte(u8g, dev, pb->p.page_height*2 ); - u8g_WriteByte(u8g, dev, pb->width/8*2 ); - - for( i = 0; i < pb->p.page_height; i ++ ) - { - p2 = ptr; - for( j = 0; j < pb->width/8; j++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4)); - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15)); - p2++; - } - u8g_Delay(LINE_DELAY); - p2 = ptr; - for( j = 0; j < pb->width/8; j++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4)); - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15)); - p2++; - } - u8g_Delay(LINE_DELAY); - ptr += pb->width/8; - y++; - } - - /* set parameters back to their default values */ - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 80); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 2); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -#if defined(U8G_16BIT) -U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 384, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 360, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 720, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -#else -U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 240, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -#endif - -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x120_ds, 192, 120, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c deleted file mode 100644 index d86d08e05..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - - u8g_dev_flipdisc.c - - 1-Bit (BW) Driver for flip disc matrix - 2x 7 pixel height - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -#define WIDTH 28 -#define HEIGHT 14 -#define PAGE_HEIGHT 14 - -/* - Write data to the flip disc matrix. - This procedure must be implemented by the user. - Arguments: - id: Id for the matrix. Currently always 0. - page: A page has a height of 14 pixel. For a matrix with HEIGHT == 14 this will be always 0 - width: The width of the flip disc matrix. Always equal to WIDTH - row1: first data line (7 pixel per byte) - row2: first data line (7 pixel per byte) -*/ -void writeFlipDiscMatrix(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); - - - -void (*u8g_write_flip_disc_matrix)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); - -void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)) -{ - u8g_write_flip_disc_matrix = cb; -} - -uint8_t u8g_dev_flipdisc_2x7_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - /* current page: pb->p.page */ - /* ptr to the buffer: pb->buf */ - - (*u8g_write_flip_disc_matrix)(0, pb->p.page, WIDTH, pb->buf, (uint8_t *)(pb->buf)+WIDTH); - } - break; - case U8G_DEV_MSG_CONTRAST: - return 1; - } - return u8g_dev_pb14v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_flipdisc_2x7_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_flipdisc_2x7_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_flipdisc_2x7_bw_buf}; -u8g_dev_t u8g_dev_flipdisc_2x7 = { u8g_dev_flipdisc_2x7_bw_fn, &u8g_dev_flipdisc_2x7_bw_pb, u8g_com_null_fn }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_gprof.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_gprof.c deleted file mode 100644 index cb2342ac4..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_gprof.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - - u8g_dev_gprof.c - - Device for performance measurement with gprof. - Does not write any data, but uses a buffer. - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -*/ - -#include "u8g.h" - - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_pb_dev_gprof_buf[WIDTH]; -u8g_pb_t u8g_pb_dev_gprof = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_pb_dev_gprof_buf }; - -u8g_dev_t u8g_dev_gprof = { u8g_dev_gprof_fn, &u8g_pb_dev_gprof, NULL }; - -uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - /* - { - uint8_t i, j; - uint8_t page_height; - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( j = 0; j < page_height; j++ ) - { - printf("%02d ", j); - for( i = 0; i < WIDTH; i++ ) - { - if ( (u8g_pb_dev_stdout_buf[i] & (1<p)) == 0 ) - { - //printf("\n"); - return 0; - } - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x2, y2; - - y2 = bbx->y; - y2 += bbx->h; - y2--; - - if ( u8g_pb_IsYIntersection(pb, bbx->y, y2) == 0 ) - return 0; - - /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ - x2 = bbx->x; - x2 += bbx->w; - x2--; - - if ( u8g_pb_IsXIntersection(pb, bbx->x, x2) == 0 ) - return 0; - } - return 1; -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ht1632.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ht1632.c deleted file mode 100644 index 4977793f1..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ht1632.c +++ /dev/null @@ -1,281 +0,0 @@ -/* - - u8g_dev_ht1632.c - - 1-Bit (BW) Driver for HT1632 controller - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - U8G_PIN_NONE can be used as argument - - uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) - { - ... - u8g->pin_list[U8G_PI_SCK] = sck; - u8g->pin_list[U8G_PI_MOSI] = mosi; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - -mapping - -#define DATA_PIN --> U8G_PI_MOSI -#define WR_PIN --> U8G_PI_SCK -#define CS_PIN --> U8G_PI_CS - U8G_PI_A0 --> not used - U8G_PI_RESET --> not used - -Usage: - - u8g_InitSPI(&u8g, &u8g_dev_ht1632_24x16, WR_PIN, DATA_IN, CS_PIN, U8G_PIN_NONE, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#define WIDTH 24 -#define HEIGHT 16 -#define PAGE_HEIGHT 16 - -/* http://forum.arduino.cc/index.php?topic=168537.0 */ - -#define HT1632_CMD_SYSDIS 0x00 // CMD= 0000-0000-x Turn off oscil -#define HT1632_CMD_SYSON 0x01 // CMD= 0000-0001-x Enable system oscil -#define HT1632_CMD_LEDOFF 0x02 // CMD= 0000-0010-x LED duty cycle gen off -#define HT1632_CMD_LEDON 0x03 // CMD= 0000-0011-x LEDs ON -#define HT1632_CMD_BLOFF 0x08 // CMD= 0000-1000-x Blink OFF -#define HT1632_CMD_BLON 0x09 // CMD= 0000-1001-x Blink On -#define HT1632_CMD_SLVMD 0x10 // CMD= 0001-00xx-x Slave Mode -#define HT1632_CMD_MSTMD 0x14 // CMD= 0001-01xx-x Master Mode -#define HT1632_CMD_RCCLK 0x18 // CMD= 0001-10xx-x Use on-chip clock -#define HT1632_CMD_EXTCLK 0x1C // CMD= 0001-11xx-x Use external clock -#define HT1632_CMD_COMS00 0x20 // CMD= 0010-ABxx-x commons options -#define HT1632_CMD_COMS01 0x24 // CMD= 0010-ABxx-x commons options -#define HT1632_CMD_COMS10 0x28 // CMD= 0010-ABxx-x commons options -#define HT1632_CMD_COMS11 0x2C // P-MOS OUTPUT AND 16COMMON OPTION -#define HT1632_CMD_PWM 0xA0 // CMD= 101x-PPPP-x PWM duty cycle - -#define HT1632_ID_CMD 4 /* ID = 100 - Commands */ -#define HT1632_ID_RD 6 /* ID = 110 - Read RAM */ -#define HT1632_ID_WR 5 /* ID = 101 - Write RAM */ - -#define HT1632_ID_LEN 3 // IDs are 3 bits -#define HT1632_CMD_LEN 8 // CMDs are 8 bits -#define HT1632_DATA_LEN 8 // Data are 4*2 bits -#define HT1632_ADDR_LEN 7 // Address are 7 bits - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -//#define WR_PIN 3 -//#define DATA_PIN 2 -//#define CS_PIN 4 - -void ht1632_write_data_MSB(u8g_t *u8g, uint8_t cnt, uint8_t data, uint8_t extra) -{ - int8_t i; - uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; - uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; - - for(i = cnt - 1; i >= 0; i--) - { - if ((data >> i) & 1) - { - digitalWrite(data_pin, HIGH); - } - else - { - digitalWrite(data_pin, LOW); - } - - digitalWrite(wr_pin, LOW); - u8g_MicroDelay(); - digitalWrite(wr_pin, HIGH); - u8g_MicroDelay(); - } - - // Send an extra bit - if (extra) - { - digitalWrite(data_pin, HIGH); - digitalWrite(wr_pin, LOW); - u8g_MicroDelay(); - digitalWrite(wr_pin, HIGH); - u8g_MicroDelay(); - } -} - -void ht1632_write_data(u8g_t *u8g, uint8_t cnt, uint8_t data) -{ - uint8_t i; - uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; - uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; - for (i = 0; i < cnt; i++) - { - - if ((data >> i) & 1) { - digitalWrite(data_pin, HIGH); - } - else { - digitalWrite(data_pin, LOW); - } - - digitalWrite(wr_pin, LOW); - u8g_MicroDelay(); - digitalWrite(wr_pin, HIGH); - u8g_MicroDelay(); - } -} - - -void ht1632_init(u8g_t *u8g) -{ - //uint8_t i; - uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; - uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; - uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; - pinMode(data_pin, OUTPUT); - pinMode(wr_pin, OUTPUT); - pinMode(cs_pin, OUTPUT); - - digitalWrite(data_pin, HIGH); - digitalWrite(wr_pin, HIGH); - digitalWrite(cs_pin, HIGH); - - digitalWrite(cs_pin, LOW); - /* init display once after startup */ - ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false); // IDs are 3 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSDIS, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSON, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_COMS11, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_LEDON, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_BLOFF, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM+15, true); // 8 bits - digitalWrite(cs_pin, HIGH); - - /* removed following (debug) code */ - /* - digitalWrite(cs_pin, LOW); - ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command - ht1632_write_data_MSB(u8g, 7, 0, false); - for(i = 0; i<48; ++i) - { - ht1632_write_data(u8g, 8, 0xFF); - } - digitalWrite(cs_pin, HIGH); - */ -} - -/* - page: 0=data contain lines 0..16, 1=data contain lines 16..32 (a 24x16 display will only have page 0) - cnt: width of the display - data: pointer to a buffer with 2*cnt bytes. -*/ -void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data) -{ - uint8_t addr; - uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; - /* send data to the ht1632 */ - digitalWrite(cs_pin, LOW); - ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command - ht1632_write_data_MSB(u8g, 7, page*2*cnt, false); - - // Operating in progressive addressing mode - for (addr = 0; addr < cnt; addr++) - { - ht1632_write_data(u8g, 8, data[addr]); - ht1632_write_data(u8g, 8, data[addr+cnt]); - } - digitalWrite(cs_pin, HIGH); -} - -/* value is between 0...15 */ -void ht1632_set_contrast(u8g_t *u8g, uint8_t value) -{ - uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; - digitalWrite(cs_pin, LOW); - ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false); - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM + value, false); - digitalWrite(cs_pin, HIGH); -} - -#else -void ht1632_init(u8g_t *u8g) -{ -} - -void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data) -{ -} - -void ht1632_set_contrast(u8g_t *u8g, uint8_t value) -{ -} - -#endif /* ARDUINO */ - - -uint8_t u8g_dev_ht1632_24x16_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - ht1632_init(u8g); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - /* current page: pb->p.page */ - /* ptr to the buffer: pb->buf */ - ht1632_transfer_data(u8g, pb->p.page, WIDTH, pb->buf); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* values passed to SetContrast() are between 0 and 255, scale down to 0...15 */ - ht1632_set_contrast(u8g, (*(uint8_t *)arg) >> 4); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ht1632_24x16_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ht1632_24x16_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ht1632_24x16_buf}; -u8g_dev_t u8g_dev_ht1632_24x16 = { u8g_dev_ht1632_24x16_fn, &u8g_dev_ht1632_24x16_pb, u8g_com_null_fn }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c deleted file mode 100644 index 35db466b2..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c +++ /dev/null @@ -1,326 +0,0 @@ -/* - - u8g_dev_ili9325d_320x240.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Color format - Red: 5 Bit - Green: 6 Bit - Blue: 5 Bit - - -*/ - -#include "u8g.h" - -#define WIDTH 240 - -#if defined(U8G_16BIT) -#define HEIGHT 320 -#else -/* if the user tries to compile the 8Bit version of the lib, then restrict the height to something which fits to 8Bit */ -#define HEIGHT 240 -#endif -#define PAGE_HEIGHT 4 - - -/* - reference board for this device: - http://iteadstudio.com/store/index.php?main_page=product_info&cPath=57_58&products_id=55 - documentation: - http://iteadstudio.com/Downloadfile/ITDB02_material.rar - datasheet - http://www.newhavendisplay.com/app_notes/ILI9325D.pdf - other libs - http://henningkarlsen.com/electronics/library.php - init sequence - http://code.google.com/p/itdb02/, ITDB02.cpp, iteadstudio.com -*/ - -static const uint8_t u8g_dev_ili9325d_320x240_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - //U8G_ESC_ADR(0), 0x000, 0x0E5, /* only used for none D version: set SRAM internal timing */ - //U8G_ESC_ADR(1), 0x078, 0x0f0, - U8G_ESC_ADR(0), 0x000, 0x001, /* Driver Output Control, bits 8 & 10 */ - U8G_ESC_ADR(1), 0x001, 0x000, - U8G_ESC_ADR(0), 0x000, 0x002, /* LCD Driving Wave Control, bit 9: Set line inversion */ - U8G_ESC_ADR(1), 0x002, 0x000, /* ITDB02 none D verion: 0x007, 0x000 */ - U8G_ESC_ADR(0), 0x000, 0x003, /* Entry Mode, GRAM write direction and BGR=1 */ - U8G_ESC_ADR(1), 0x010, 0x030, - U8G_ESC_ADR(0), 0x000, 0x004, /* Resize register */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x008, /* Display Control 2: set the back porch and front porch */ - U8G_ESC_ADR(1), 0x002, 0x007, - - U8G_ESC_ADR(0), 0x000, 0x009, /* Display Control 3 */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x00a, /* Display Control 4: FMARK */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00c, /* RGB Display Interface Control 1 */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00d, /* Frame Maker Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00f, /* RGB Display Interface Control 2 */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: DC1[2:0], DC0[2:0], VC[2:0] */ - U8G_ESC_ADR(1), 0x000, 0x007, - U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VREG1OUT voltage */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, but do not display */ - U8G_ESC_ADR(1), 0x000, 0x001, - - U8G_ESC_DLY(100), /* delay 100 ms */ /* ITDB02 none D verion: 50ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x016, 0x090, /* ITDB02 none D verion: 0x010, 0x090 */ - U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x002, 0x027, - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VCI: External, VCI*1.80 */ - U8G_ESC_ADR(1), 0x000, 0x00d, /* ITDB02 none D verion: 0x000, 0x01f */ - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ - U8G_ESC_ADR(1), 0x012, 0x000, /* ITDB02 none D verion: 0x015, 0x000 */ - U8G_ESC_ADR(0), 0x000, 0x029, /* Power Control 7 */ - U8G_ESC_ADR(1), 0x000, 0x00a, /* ITDB02 none D verion: 0x000, 0x027 */ - U8G_ESC_ADR(0), 0x000, 0x02b, /* Frame Rate: 83 */ - U8G_ESC_ADR(1), 0x000, 0x00d, - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - - /* gamma control */ - U8G_ESC_ADR(0), 0x000, 0x030, - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x031, - U8G_ESC_ADR(1), 0x004, 0x004, - U8G_ESC_ADR(0), 0x000, 0x032, - U8G_ESC_ADR(1), 0x000, 0x003, - U8G_ESC_ADR(0), 0x000, 0x035, - U8G_ESC_ADR(1), 0x004, 0x005, - U8G_ESC_ADR(0), 0x000, 0x036, - U8G_ESC_ADR(1), 0x008, 0x008, - U8G_ESC_ADR(0), 0x000, 0x037, - U8G_ESC_ADR(1), 0x004, 0x007, - U8G_ESC_ADR(0), 0x000, 0x038, - U8G_ESC_ADR(1), 0x003, 0x003, - U8G_ESC_ADR(0), 0x000, 0x039, - U8G_ESC_ADR(1), 0x007, 0x007, - U8G_ESC_ADR(0), 0x000, 0x03c, - U8G_ESC_ADR(1), 0x005, 0x004, - U8G_ESC_ADR(0), 0x000, 0x03d, - U8G_ESC_ADR(1), 0x008, 0x008, - - U8G_ESC_ADR(0), 0x000, 0x050, /* Horizontal GRAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x051, /* Horizontal GRAM End Address: 239 */ - U8G_ESC_ADR(1), 0x000, 0x0EF, - U8G_ESC_ADR(0), 0x000, 0x052, /* Vertical GRAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x053, /* Vertical GRAM End Address: 319 */ - U8G_ESC_ADR(1), 0x001, 0x03F, - - U8G_ESC_ADR(0), 0x000, 0x060, /* Driver Output Control 2 */ - U8G_ESC_ADR(1), 0x0a7, 0x000, - U8G_ESC_ADR(0), 0x000, 0x061, /* Base Image Display Control: NDL,VLE, REV */ - U8G_ESC_ADR(1), 0x000, 0x001, - U8G_ESC_ADR(0), 0x000, 0x06a, /* Vertical Scroll Control */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x080, /* Partial Image 1 Display Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x081, /* Partial Image 1 RAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x082, /* Partial Image 1 RAM End Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x083, /* Partial Image 2 Display Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x084, /* Partial Image 2 RAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x085, /* Partial Image 2 RAM End Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x090, /* Panel Interface Control 1 */ - U8G_ESC_ADR(1), 0x000, 0x010, - U8G_ESC_ADR(0), 0x000, 0x092, /* Panel Interface Control 2 */ - U8G_ESC_ADR(1), 0x000, 0x000, /* 0x006, 0x000 */ - - U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, display ON */ - U8G_ESC_ADR(1), 0x001, 0x033, - - U8G_ESC_DLY(10), /* delay 10 ms */ - - /* write test pattern */ - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x010, - U8G_ESC_ADR(0), 0x000, 0x022, /* Write Data to GRAM */ - U8G_ESC_ADR(1), 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -static const uint8_t u8g_dev_ili9325d_320x240_page_seq[] PROGMEM = { - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), - U8G_ESC_END /* end of sequence */ -}; - -/* convert the internal RGB 332 to 65K high byte */ -static uint8_t u8g_dev_ili9325d_get_65K_high_byte(uint8_t color) -{ - uint8_t h; - h = color; - h &= 0x0e0; - h |= h>>3; - h &= 0x0f8; - color>>=2; - color &= 7; - h |= color; - return h; -} - -/* convert the internal RGB 332 to 65K high byte */ -static uint8_t u8g_dev_ili9325d_get_65K_low_byte(uint8_t color) -{ - uint8_t l; - l = color; - l <<= 3; - color &= 3; - color <<= 1; - l |= color; - return l; -} - - -uint8_t u8g_dev_ili9325d_320x240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - //for(;;) - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_init_seq); - - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - uint16_t y, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < pb->p.page_height; i ++ ) - { - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_page_seq); - u8g_WriteByte(u8g, dev, y >> 8 ); /* display ram (cursor) address high byte */ - u8g_WriteByte(u8g, dev, y & 255 ); /* display ram (cursor) address low byte */ - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0 ); - u8g_WriteByte(u8g, dev, 0x022 ); /* start gram data */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - - for( j = 0; j < pb->width; j++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_high_byte(*ptr) ); - u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_low_byte(*ptr) ); - - ptr++; - } - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_ili9325d_320x240_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_ili9325d_320x240_8h8_pb U8G_NOCOMMON = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_ili9325d_320x240_8h8_buf}; -u8g_dev_t u8g_dev_ili9325d_320x240_8bit U8G_NOCOMMON = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_port_d_wr_fn }; -//u8g_dev_t u8g_dev_ili9325d_320x240_8bit = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_parallel_fn }; - -//U8G_PB_DEV(u8g_dev_ili9325d_320x240_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ili9325d_320x240_fn, U8G_COM_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c deleted file mode 100644 index f30f8a38c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - - u8g_dev_ks0108_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - ADDRESS = 0 (Command Mode) - 0x03f Display On - 0x0c0 Start Display at line 0 - 0x040 | y write to y address (y:0..63) - 0x0b8 | x write to page [0..7] - - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_ks0108_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip 1 */ - 0x03f, /* display on */ - 0x0c0, /* start at line 0 */ - U8G_ESC_DLY(20), /* delay 20 ms */ - U8G_ESC_CS(2), /* enable chip 2 */ - 0x03f, /* display on */ - 0x0c0, /* start at line 0 */ - U8G_ESC_DLY(20), /* delay 20 ms */ - U8G_ESC_CS(0), /* disable all chips */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_ks0108_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ks0108_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 2); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ - u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, 64, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ - u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, 64, 64+(uint8_t *)pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ks0108_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_PARALLEL); -U8G_PB_DEV(u8g_dev_ks0108_128x64_fast, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c deleted file mode 100644 index e05fa03a9..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - - u8g_dev_lc7981_160x80.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 160 -#define HEIGHT 80 -#define PAGE_HEIGHT 8 - - -/* - code ideas: - https://github.com/vsergeev/embedded-drivers/tree/master/avr-lc7981 - data sheets: - http://www.lcd-module.de/eng/pdf/zubehoer/lc7981.pdf - http://www.lcd-module.de/pdf/grafik/w160-6.pdf -*/ - -static const uint8_t u8g_dev_lc7981_160x80_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_160x80_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_160x80_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_160x80_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_160x80_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c deleted file mode 100644 index f0b9c3148..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_lc7981_240x128.c - - Hitachi Display SP14N002 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -/* - http://www.mark-products.com/graphics.htm#240x128%20Pixel%20Format -*/ - -static const uint8_t u8g_dev_lc7981_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x128_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c deleted file mode 100644 index 9464b52ae..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_lc7981_240x64.c - - Tested with Nan Ya LM_J6_003_ - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -static const uint8_t u8g_dev_lc7981_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x64_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c deleted file mode 100644 index fe28f942e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - - u8g_dev_lc7981_320x64.c - - Note: Requires 16 bit mode (Must be enabled in u8g.h) - - Tested with Varitronix MGLS32064-03.pdf - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#ifdef U8G_16BIT -#define WIDTH 320 -#else -#define WIDTH 240 -#endif - -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* - http://www.gaw.ru/pdf/lcd/lcm/Varitronix/graf/MGLS32064-03.pdf -*/ - -static const uint8_t u8g_dev_lc7981_320x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_320x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_320x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_320x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_320x64_fn, U8G_COM_FAST_PARALLEL); - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c deleted file mode 100644 index 596d95898..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_dev_ld7032_60x32.c - - 60x32 OLED display - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* define width as 64, so that it is a multiple of 8 */ -#define WIDTH 64 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_ld7032_60x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(1), /* delay 1 ms */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0x002, /* Dot Matrix Display ON/OFF */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* ON */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x014, /* Dot Matrix Display Stand-by ON/OFF */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* ON */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x01a, /* Dot Matrix Frame Rate */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* special value for this OLED from manual */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x01d, /* Graphics Memory Writing Direction */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* reset default (right down, horizontal) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x009, /* Display Direction */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* reset default (x,y: min --> max) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x030, /* Display Size X */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* Column Start Output */ - 0x03b, /* Column End Output */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x032, /* Display Size Y */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* Row Start Output */ - 0x01f, /* Row End Output */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x010, /* Peak Pulse Width Set */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 0 SCLK */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x016, /* Peak Pulse Delay Set */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 0 SCLK */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x012, /* Dot Matrix Current Level Set */ - U8G_ESC_ADR(1), /* data mode */ - 0x050, /* 0x050 * 1 uA = 80 uA */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x018, /* Pre-Charge Pulse Width */ - U8G_ESC_ADR(1), /* data mode */ - 0x003, /* 3 SCLK */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x044, /* Pre-Charge Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x002, /* Every Time */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x048, /* Row overlap timing */ - U8G_ESC_ADR(1), /* data mode */ - 0x003, /* Pre-Charge + Peak Delay + Peak boot Timing */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x03f, /* VCC_R_SEL */ - U8G_ESC_ADR(1), /* data mode */ - 0x011, /* ??? */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x03d, /* VSS selection */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 2.8V */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x002, /* Dot Matrix Display ON/OFF */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* ON */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x008, /* write data */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* use box commands to set start adr */ -static const uint8_t u8g_dev_ld7032_60x32_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0x034, /* box x start */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 0 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x035, /* box x end */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, /* */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x037, /* box y end */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, /* */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x036, /* box y start */ - U8G_ESC_ADR(1), /* data mode */ - - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ld7032_60x32_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - /* ... */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ld7032_60x32_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - /* ... */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ld7032_60x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_data_start); - u8g_WriteByte(u8g, dev, pb->p.page_y0); /* y start */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x008); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ld7032_60x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ld7032_60x32_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_PARALLEL); -U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_USART_SPI); - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_null.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_null.c deleted file mode 100644 index c41380e8c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_null.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - - u8g_dev_null.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_null(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: /* most often used command */ - break; - case U8G_DEV_MSG_SET_PIXEL: - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - break; - case U8G_DEV_MSG_PAGE_NEXT: - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return 1; -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - } - return 1; -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c deleted file mode 100644 index dbebd7cd0..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - - u8g_dev_pcd8544_84x48.c - - Display: Nokia 84x48 - - Status: Tested with PCF8812 Display - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 84 -#define HEIGHT 48 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_pcd8544_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x013, /* bias system 1:48 */ - 0x0c0, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -static const uint8_t u8g_dev_pcd8544_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_pcd8544_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x008, /* display blank */ - 0x024, /* power down (PD=1), horizontal increment (V=0), enter normal command set (H=0) */ - - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_pcd8544_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_pcd8544_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_pcd8544_84x48_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_HW_SPI); - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c deleted file mode 100644 index 380128446..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c +++ /dev/null @@ -1,138 +0,0 @@ -/* - - u8g_dev_pcf8812_96x65.c - - Display: Nokia 96x65 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - om6206 comaptible to pcf8812 ? - - Status: Tested - - - Display Controller Seen in - LPH7366 (9 pins, 84x48) PCD8544 Nokia 5110 / 5120 / 5130 / 5160 / 6110 / 6150 - LPH7677 (8 pins, 84x48) PCD8544 Nokia 3210 - LPH7779 (8 pins, 84x48) PCD8544 Nokia 3310 / 3315 / 3330 / 3110, also 3410? - ??? PCD8544 Nokia 5110 / 6110 - LPH7690 ? (96x65) PCF8455/OM6202 Nokia 3410 - LPH7690 ? (96x65?) SED1565/S1D15605 Nokia 7110 / 3510? - LPH7690 ??? Nokia 6210 - - - -*/ - -#include "u8g.h" - -#define WIDTH 96 -#define HEIGHT 65 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_pcf8812_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x013, /* bias system 1:48 */ - 0x080 | 0x040, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_pcf8812_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcf8812_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - - /* mirrored output, not tested*/ - /* - { - uint8_t i = pb->width; - while( i > 0 ) - { - i--; - u8g_WriteByte(u8g, dev, ((unsigned char *)pb->buf)[i] ); - } - } - */ - - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ -U8G_PB_DEV(u8g_dev_pcf8812_96x65_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_pcf8812_96x65_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_HW_SPI); diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c deleted file mode 100644 index a8552cb40..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - - u8g_dev_sbn1661_122x32.c - - WG12232 display with 2xSBN1661 / SED1520 controller (122x32 display) - At the moment only available in the Arduino Environment - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 122 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_sbn1661_122x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip 1 */ - 0x0af, /* display on */ - 0x0c0, /* display start at line 0 */ - 0x0a0, /* a0: ADC forward, a1: ADC reverse */ - 0x0a9, /* a8: 1/16, a9: 1/32 duty */ - U8G_ESC_CS(2), /* enable chip 2 */ - 0x0af, /* display on */ - 0x0c0, /* display start at line 0 */ - 0x0a0, /* a0: ADC forward, a1: ADC reverse */ - 0x0a9, /* a8: 1/16, a9: 1/32 duty */ - - U8G_ESC_CS(0), /* disable chip */ - - - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_sbn1661_122x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sbn1661_122x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ - u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/2, pb->buf); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 2); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ - u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/2, WIDTH/2+(uint8_t *)pb->buf); - - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - case U8G_DEV_MSG_CONTRAST: - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ -U8G_PB_DEV(u8g_dev_sbn1661_122x32 , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sbn1661_122x32_fn, u8g_com_arduino_no_en_parallel_fn); diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c deleted file mode 100644 index 3052d6bca..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c +++ /dev/null @@ -1,289 +0,0 @@ -/* - - u8g_dev_ssd1306_128x32.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - 23 Feb 2013: Fixed, Issue 147 - -*/ - - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -/* init sequence adafruit 128x32 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit1_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* [1] set contrast control */ - 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence adafruit 128x32 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit2_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence adafruit 128x32 OLED (TESTED - WORKING 23.02.13), like adafruit3, but with page addressing mode */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit3_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x01f, /* Feb 23, 2013: 128x32 OLED: 0x01f, 128x32 OLED 0x03f */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Feb 23, 2013: 128x32 OLED: 0x002, 128x32 OLED 0x012 */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence Univision datasheet (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_univision_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* multiplex ratio */ - 0x0d3, 0x000, /* display offset */ - 0x040, /* start line */ - 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* set contrast control */ - 0x0d9, 0x022, /* pre-charge period */ - 0x0db, 0x040, /* vcomh deselect level */ - 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* select one init sequence here */ -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_univision_init_seq -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit1_init_seq -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit2_init_seq -#define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit3_init_seq - - -static const uint8_t u8g_dev_ssd1306_128x32_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr. to 0 */ - 0x000, /* set lower 4 bit of the col adr. to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1306_128x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; -} - - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1306_128x32_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1306_128x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x32_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SSD_I2C); - -uint8_t u8g_dev_ssd1306_128x32_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1306_128x32_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1306_128x32_2x_buf}; -u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SSD_I2C }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c deleted file mode 100644 index bd55e90e8..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c +++ /dev/null @@ -1,412 +0,0 @@ -/* - - u8g_dev_ssd1306_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence adafruit 128x64 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit1_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* [1] set contrast control */ - 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence adafruit 128x64 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit2_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence adafruit 128x64 OLED (NOT TESTED), like adafruit3, but with page addressing mode */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit3_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x002, /* 2012-05-27: page addressing mode */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence Univision datasheet (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_univision_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* multiplex ratio */ - 0x0d3, 0x000, /* display offset */ - 0x040, /* start line */ - 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* set contrast control */ - 0x0d9, 0x022, /* pre-charge period */ - 0x0db, 0x040, /* vcomh deselect level */ - 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* select one init sequence here */ -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_univision_init_seq -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit1_init_seq -// 26. Apr 2014: in this thead: http://forum.arduino.cc/index.php?topic=234930.msg1696754;topicseen#msg1696754 -// it is mentiond, that adafruit2_init_seq works better --> this will be used by the ssd1306_adafruit device -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit2_init_seq - -#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit3_init_seq - - -static const uint8_t u8g_dev_ssd1306_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -/* the sh1106 is compatible to the ssd1306, but is 132x64. display seems to be centered */ -static const uint8_t u8g_dev_sh1106_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x002, /* set lower 4 bit of the col adr to 2 (centered display with sh1106) */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1306_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_adafruit2_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1306_adafruit_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_sh1106_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1306_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_sh1106_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - - - - -U8G_PB_DEV(u8g_dev_ssd1306_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SSD_I2C); - -U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SSD_I2C); - - -uint8_t u8g_dev_ssd1306_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1306_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1306_128x64_2x_buf}; -u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SSD_I2C }; - - -U8G_PB_DEV(u8g_dev_sh1106_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_sh1106_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_sh1106_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SSD_I2C); - -uint8_t u8g_dev_sh1106_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_sh1106_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_sh1106_128x64_2x_buf}; -u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SSD_I2C }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c deleted file mode 100644 index 4a6411e60..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - - u8g_dev_ssd1309_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* ssd1309 ini sequence*/ -static const uint8_t u8g_dev_ssd1309_128x64_init_seq[] PROGMEM={ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0xfd,0x12, /*Command Lock */ - 0xae, /*Set Display Off */ - 0xd5,0xa0, /*set Display Clock Divide Ratio/Oscillator Frequency */ - 0xa8,0x3f, /*Set Multiplex Ratio */ - 0x3d,0x00, /*Set Display Offset*/ - 0x40, /*Set Display Start Line*/ - 0xa1, /*Set Segment Re-Map*/ - 0xc8, /*Set COM Output Scan Direction*/ - 0xda,0x12, /*Set COM Pins Hardware Configuration*/ - 0x81,0xdf, /*Set Current Control */ - 0xd9,0x82, /*Set Pre-Charge Period */ - 0xdb,0x34, /*Set VCOMH Deselect Level */ - 0xa4, /*Set Entire Display On/Off */ - 0xa6, /*Set Normal/Inverse Display*/ - U8G_ESC_VCC(1), /*Power up VCC & Stabilized */ - U8G_ESC_DLY(50), - 0xaf, /*Set Display On */ - U8G_ESC_DLY(50), - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* select one init sequence here */ - #define u8g_dev_ssd1309_128x64_init_seq u8g_dev_ssd1309_128x64_init_seq - - - static const uint8_t u8g_dev_ssd1309_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1309_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1309_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1309_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1309_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SSD_I2C); - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c deleted file mode 100644 index 4db96270d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c +++ /dev/null @@ -1,338 +0,0 @@ -/* - - u8g_dev_ssd1322_nhd31oled_bw.c - - 1-Bit (BW) Driver for SSD1322 Controller (OLED Display) - Tested with NHD-3.12-25664 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#if defined(U8G_16BIT) -#define WIDTH 256 -#else -#define WIDTH 248 -#endif -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* - http://www.newhavendisplay.com/app_notes/OLED_25664.txt - http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 -*/ - -static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0fd, /* lock command */ - U8G_ESC_ADR(1), /* data mode */ - 0x012, /* unlock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ae, /* display off, sleep mode */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b3, - U8G_ESC_ADR(1), /* data mode */ - 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ca, /* multiplex ratio */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, /* 1/64 Duty (0x0F~0x3F) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a2, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display offset, shift mapping ram counter */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a1, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display start line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a0, /* Set Re-Map / Dual COM Line Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x014, /* was 0x014 */ - 0x011, /* was 0x011 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ab, - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* Enable Internal VDD Regulator */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b4, /* Display Enhancement A */ - U8G_ESC_ADR(1), /* data mode */ - 0x0a0, - 0x005|0x0fd, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c1, /* contrast */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c7, /* Set Scale Factor of Segment Output Current Control */ - U8G_ESC_ADR(1), /* data mode */ - 0x00f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b9, /* linear gray scale */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ - U8G_ESC_ADR(1), /* data mode */ - 0x0e2, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0d1, /* Display Enhancement B */ - U8G_ESC_ADR(1), /* data mode */ - 0x082|0x020, - 0x020, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0bb, /* precharge voltage */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b6, /* precharge period */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0be, /* vcomh */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a6, /* normal display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a9, /* exit partial display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0af, /* display on */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - U8G_ESC_ADR(1), /* data mode */ - 0x01c, /* start at column 0 */ - 0x05b, /* end column */ - U8G_ESC_ADR(0), /* instruction mode */ - 0x075, /* row address... */ - U8G_ESC_ADR(1), /* data mode */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1322_1bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_ssd1322_nhd31oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x0c1); /* 21 May 2013, fixed contrast command */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_FAST_PARALLEL); - -#define DWIDTH (WIDTH*2) -uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c deleted file mode 100644 index 61f0b1922..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c +++ /dev/null @@ -1,338 +0,0 @@ -/* - - u8g_dev_ssd1322_nhd31oled_gr.c - - 2-Bit (4L) Driver for SSD1322 Controller (OLED Display) - Tested with NHD-3.12-25664 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#if defined(U8G_16BIT) -#define WIDTH 256 -#else -#define WIDTH 248 -#endif -#define HEIGHT 64 -//#define PAGE_HEIGHT 8 - -/* - http://www.newhavendisplay.com/app_notes/OLED_25664.txt - http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 -*/ - -static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0fd, /* lock command */ - U8G_ESC_ADR(1), /* data mode */ - 0x012, /* unlock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ae, /* display off, sleep mode */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b3, - U8G_ESC_ADR(1), /* data mode */ - 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ca, /* multiplex ratio */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, /* 1/64 Duty (0x0F~0x3F) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a2, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display offset, shift mapping ram counter */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a1, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display start line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a0, /* Set Re-Map / Dual COM Line Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x014, /* was 0x014 */ - 0x011, /* was 0x011 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ab, - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* Enable Internal VDD Regulator */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b4, /* Display Enhancement A */ - U8G_ESC_ADR(1), /* data mode */ - 0x0a0, - 0x005|0x0fd, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c1, /* contrast */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c7, /* Set Scale Factor of Segment Output Current Control */ - U8G_ESC_ADR(1), /* data mode */ - 0x00f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b9, /* linear gray scale */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ - U8G_ESC_ADR(1), /* data mode */ - 0x0e2, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0d1, /* Display Enhancement B */ - U8G_ESC_ADR(1), /* data mode */ - 0x082|0x020, - 0x020, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0bb, /* precharge voltage */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b6, /* precharge period */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0be, /* vcomh */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a6, /* normal display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a9, /* exit partial display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0af, /* display on */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - U8G_ESC_ADR(1), /* data mode */ - 0x01c, /* start at column 0 */ - 0x05b, /* end column */ - U8G_ESC_ADR(0), /* instruction mode */ - 0x075, /* row address... */ - U8G_ESC_ADR(1), /* data mode */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1322_2bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1322_nhd31oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; /* 23 Oct 2013, changed to 2 */ - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_parallel , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_FAST_PARALLEL); - - -#define DWIDTH (WIDTH*2) -uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_gr_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_gr_buf}; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c deleted file mode 100644 index d8895391e..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_bw.c - - 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#ifdef OBSOLETE_CODE - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1325_1bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 3; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 7; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1325_1bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 1; - page += is_odd; - - page <<= 3; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 7; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -#ifdef OLD -static void _OLD_u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, cnt; - cnt = 8; - do - { - d = 0; - if ( left & 1 ) - d |= 0x0f0; - if ( right & 1 ) - d |= 0x00f; - u8g_WriteByte(u8g, dev, d); - left >>= 1; - right >>= 1; - cnt--; - }while ( cnt > 0 ); -} -#endif - -static void u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, cnt; - static uint8_t buf[8]; - cnt = 8; - do - { - d = 0; - if ( left & 128 ) - d |= 0x0f0; - if ( right & 128 ) - d |= 0x00f; - cnt--; - buf[cnt] = d; - left <<= 1; - right <<= 1; - }while ( cnt > 0 ); - u8g_WriteSequence(u8g, dev, 8, buf); -} - -static void u8g_dev_ssd1325_1bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_1bit_write_16_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_1bit_prepare_page(u8g, dev); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); - u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -/* disabled, see bw_new.c */ -/* -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); -*/ - -/* -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; -*/ - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c deleted file mode 100644 index 7d26b2fee..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_bw.c - - 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) - Horizontal architecture, completly rewritten - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_nhd_27_12864_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a4, /* normal display mode */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_prepare_row_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1325_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_prepare_row_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -static uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - //case U8G_DEV_MSG_IS_BBX_INTERSECTION: - // return u8g_pb_IsIntersection((u8g_pb_t *)(dev->dev_mem), (u8g_dev_arg_bbx_t *)arg); - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - - - -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c deleted file mode 100644 index 6ab48135f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_gr.c - - 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#ifdef OBSOLETE_CODE - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1325_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1325_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 1; - page += is_odd; - - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -static void u8g_dev_ssd1325_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, tmp, cnt; - cnt = 4; - do - { - d = left; - d &= 3; - d <<= 4; - tmp = right; - tmp &= 3; - d |= tmp; - d <<= 2; - u8g_WriteByte(u8g, dev, d); - left >>= 2; - right >>= 2; - cnt--; - }while ( cnt > 0 ); -} - -static void u8g_dev_ssd1325_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - cnt = pb->width; - cnt >>= 1; - ptr = pb->buf; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static void u8g_dev_ssd1325_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_2bit_prepare_page(u8g, dev); - u8g_dev_ssd1325_2bit_write_buffer(u8g, dev); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 0); - u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); -//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); - -//uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; -//u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; -//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; -//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; - - -#endif /* OBSOLETE_CODE */ diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c deleted file mode 100644 index 9ac51f2ff..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c +++ /dev/null @@ -1,227 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_gr.c - - 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) - Rewritten with new architecture - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1), old values: 0x0a0 0x0a6 */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a4, /* normal display mode */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1325_gr_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - - -static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); -} - - - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c deleted file mode 100644 index 3a11e2942..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c +++ /dev/null @@ -1,299 +0,0 @@ -/* - - u8g_dev_ssd1327_96x96_gr.c - - 2-Bit (graylevel) Driver for SSD1327 Controller (OLED Display) - Tested with Seedstudio 96x96 Oled (LY120) - http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -#define WIDTH 96 -#define HEIGHT 96 -#define XOFFSET 8 - -/* - http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 -*/ -static const uint8_t u8g_dev_ssd1327_2bit_96x96_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0fd, 0x012, /* unlock display, usually not required because the display is unlocked after reset */ - 0x0ae, /* display off, sleep mode */ - 0x0a8, 0x05f, /* multiplex ratio: 0x05f * 1/64 duty */ - 0x0a1, 0x000, /* display start line */ - 0x0a2, 0x060, /* display offset, shift mapping ram counter */ - //0x0a2, 0x04c, /* NHD: display offset, shift mapping ram counter */ - 0x0a0, 0x046, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - //0x0a0, 0x056, /* NHD: remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x0ab, 0x001, /* Enable internal VDD regulator (RESET) */ - 0x081, 0x053, /* contrast, brightness, 0..128, Newhaven: 0x040, LY120 0x053, 0x070 seems also ok */ - 0x0b1, 0x051, /* phase length */ - 0x0b3, 0x001, /* set display clock divide ratio/oscillator frequency */ - 0x0b9, /* use linear lookup table */ -#if 0 - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 -#endif - 0x0bc, 0x008, /* pre-charge voltage level */ - 0x0be, 0x007, /* VCOMH voltage */ - 0x0b6, 0x001, /* second precharge */ - 0x0d5, 0x062, /* enable second precharge, internal vsl (bit0 = 0) */ - -#if 0 - // the following commands are not used by the SeeedGrayOLED sequence */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ -#endif - - 0x0a5, /* all pixel on */ - //0x02e, /* no scroll (according to SeeedGrayOLED sequence) */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - - 0x015, /* column address... */ - 0x008, /* start at column 8, special for the LY120 ??? */ - 0x037, /* end at column 55, note: there are two pixel in one column */ - - 0x075, /* row address... */ - 0x008, - 0x05f, - - U8G_ESC_ADR(1), /* data mode */ - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1327_2bit_96x96_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - XOFFSET, /* start at column 8, special for the LY120 ??? */ - 0x037, /* end at column 55, note: there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1327_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1327_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); - - page <<= 1; - page += is_odd; - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -static void u8g_dev_ssd1327_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, tmp, cnt; - static uint8_t buf[4]; - buf[0] = 0; - buf[1] = 0; - buf[2] = 0; - buf[3] = 0; - cnt = 0; - do - { - if ( left == 0 && right == 0 ) - break; - d = left; - d &= 3; - d <<= 4; - tmp = right; - tmp &= 3; - d |= tmp; - d <<= 2; - buf[cnt] = d; - left >>= 2; - right >>= 2; - cnt++; - }while ( cnt < 4 ); - u8g_WriteSequence(u8g, dev, 4, buf); -} - -static void u8g_dev_ssd1327_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - cnt = pb->width; - cnt >>= 1; - ptr = pb->buf; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static void u8g_dev_ssd1327_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -uint8_t u8g_dev_ssd1327_96x96_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1327_2bit_prepare_page(u8g, dev); - u8g_dev_ssd1327_2bit_write_buffer(u8g, dev); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1327_96x96_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 0); - u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_i2c , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SSD_I2C); - -#define DWIDTH (2*WIDTH) -uint8_t u8g_dev_ssd1327_96x96_2x_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1327_96x96_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1327_96x96_2x_buf}; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SSD_I2C }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c deleted file mode 100644 index 5c82b9b30..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c +++ /dev/null @@ -1,787 +0,0 @@ -/* - - u8g_dev_ssd1351_128x128.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, jamjardavies@gmail.com - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - History: - Initial version 20 May 2013 jamjardavies@gmail.com - indexed device 22 May 2013 olikraus@gmail.com - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_ssd1351_128x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_DLY(50), - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), - - 0xfd, /* Command Lock */ - U8G_ESC_ADR(1), - 0x12, - - U8G_ESC_ADR(0), /* instruction mode */ - 0xfd, - U8G_ESC_ADR(1), - 0xb1, /* Command Lock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xae, /* Set Display Off */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb3, - U8G_ESC_ADR(1), - 0xf1, /* Front Clock Div */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xca, - U8G_ESC_ADR(1), - 0x7f, /* Set Multiplex Ratio */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa0, - U8G_ESC_ADR(1), - 0xb4, /* Set Colour Depth */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x15, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Column Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x75, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Row Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa1, - U8G_ESC_ADR(1), - 0x00, /* Set Display Start Line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa2, - U8G_ESC_ADR(1), - 0x00, /* Set Display Offset */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb5, - U8G_ESC_ADR(1), - 0x00, /* Set GPIO */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xab, - U8G_ESC_ADR(1), - 0x01, /* Set Function Selection */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb1, - U8G_ESC_ADR(1), - 0x32, /* Set Phase Length */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb4, - U8G_ESC_ADR(1), - 0xa0, 0xb5, 0x55, /* Set Segment Low Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbb, - U8G_ESC_ADR(1), - 0x17, /* Set Precharge Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbe, - U8G_ESC_ADR(1), - 0x05, /* Set VComH Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc1, - U8G_ESC_ADR(1), - 0xc8, 0x80, 0xc8, /* Set Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc7, - U8G_ESC_ADR(1), - 0x0f, /* Set Master Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb6, - U8G_ESC_ADR(1), - 0x01, /* Set Second Precharge Period */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa6, /* Set Display Mode Reset */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb8, /* Set CMD Grayscale Lookup */ - U8G_ESC_ADR(1), - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0x0a, - 0x0b, - 0x0c, - 0x0D, - 0x0E, - 0x0F, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x15, - 0x16, - 0x18, - 0x1a, - 0x1b, - 0x1C, - 0x1D, - 0x1F, - 0x21, - 0x23, - 0x25, - 0x27, - 0x2A, - 0x2D, - 0x30, - 0x33, - 0x36, - 0x39, - 0x3C, - 0x3F, - 0x42, - 0x45, - 0x48, - 0x4C, - 0x50, - 0x54, - 0x58, - 0x5C, - 0x60, - 0x64, - 0x68, - 0x6C, - 0x70, - 0x74, - 0x78, - 0x7D, - 0x82, - 0x87, - 0x8C, - 0x91, - 0x96, - 0x9B, - 0xA0, - 0xA5, - 0xAA, - 0xAF, - 0xB4, - - U8G_ESC_ADR(0), - 0xaf, /* Set Display On */ - 0x5c, - U8G_ESC_DLY(50), - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), - U8G_ESC_END /* end of sequence */ -}; - - -/* set gpio to high */ -static const uint8_t u8g_dev_ssd1351_128x128gh_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_DLY(50), - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), - - 0xfd, /* Command Lock */ - U8G_ESC_ADR(1), - 0x12, - - U8G_ESC_ADR(0), /* instruction mode */ - 0xfd, - U8G_ESC_ADR(1), - 0xb1, /* Command Lock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xae, /* Set Display Off */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb3, - U8G_ESC_ADR(1), - 0xf1, /* Front Clock Div */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xca, - U8G_ESC_ADR(1), - 0x7f, /* Set Multiplex Ratio */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa0, - U8G_ESC_ADR(1), - 0xb4, /* Set Colour Depth */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x15, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Column Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x75, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Row Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa1, - U8G_ESC_ADR(1), - 0x00, /* Set Display Start Line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa2, - U8G_ESC_ADR(1), - 0x00, /* Set Display Offset */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb5, - U8G_ESC_ADR(1), - 0x03, /* Set GPIO to High Level */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xab, - U8G_ESC_ADR(1), - 0x01, /* Set Function Selection */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb1, - U8G_ESC_ADR(1), - 0x32, /* Set Phase Length */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb4, - U8G_ESC_ADR(1), - 0xa0, 0xb5, 0x55, /* Set Segment Low Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbb, - U8G_ESC_ADR(1), - 0x17, /* Set Precharge Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbe, - U8G_ESC_ADR(1), - 0x05, /* Set VComH Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc1, - U8G_ESC_ADR(1), - 0xc8, 0x80, 0xc8, /* Set Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc7, - U8G_ESC_ADR(1), - 0x0f, /* Set Master Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb6, - U8G_ESC_ADR(1), - 0x01, /* Set Second Precharge Period */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa6, /* Set Display Mode Reset */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb8, /* Set CMD Grayscale Lookup */ - U8G_ESC_ADR(1), - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0x0a, - 0x0b, - 0x0c, - 0x0D, - 0x0E, - 0x0F, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x15, - 0x16, - 0x18, - 0x1a, - 0x1b, - 0x1C, - 0x1D, - 0x1F, - 0x21, - 0x23, - 0x25, - 0x27, - 0x2A, - 0x2D, - 0x30, - 0x33, - 0x36, - 0x39, - 0x3C, - 0x3F, - 0x42, - 0x45, - 0x48, - 0x4C, - 0x50, - 0x54, - 0x58, - 0x5C, - 0x60, - 0x64, - 0x68, - 0x6C, - 0x70, - 0x74, - 0x78, - 0x7D, - 0x82, - 0x87, - 0x8C, - 0x91, - 0x96, - 0x9B, - 0xA0, - 0xA5, - 0xAA, - 0xAF, - 0xB4, - - U8G_ESC_ADR(0), - 0xaf, /* Set Display On */ - 0x5c, - U8G_ESC_DLY(50), - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), - U8G_ESC_END /* end of sequence */ -}; - -#define u8g_dev_ssd1351_128x128_init_seq u8g_dev_ssd1351_128x128_init_seq - -static const uint8_t u8g_dev_ssd1351_128x128_column_seq[] PROGMEM = { - U8G_ESC_CS(1), - U8G_ESC_ADR(0), 0x15, - U8G_ESC_ADR(1), 0x00, 0x7f, - U8G_ESC_ADR(0), 0x75, - U8G_ESC_ADR(1), 0x00, 0x7f, - U8G_ESC_ADR(0), 0x5c, - U8G_ESC_ADR(1), - U8G_ESC_CS(0), - U8G_ESC_END -}; - -#define RGB332_STREAM_BYTES 8 -static uint8_t u8g_ssd1351_stream_bytes[RGB332_STREAM_BYTES*3]; - -void u8g_ssd1351_to_stream(uint8_t *ptr) -{ - uint8_t cnt = RGB332_STREAM_BYTES; - uint8_t val; - uint8_t *dest = u8g_ssd1351_stream_bytes; - for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) - { - val = *ptr++; - *dest++ = ((val & 0xe0) >> 2); - *dest++ = ((val & 0x1c) << 1); - *dest++ = ((val & 0x03) << 4); - } -} - - -#ifdef OBSOLETE -// Convert the internal RGB 332 to R -static uint8_t u8g_ssd1351_get_r(uint8_t colour) -{ - //return ((colour & 0xe0) >> 5) * 9; - //return ((colour & 0xe0) >> 5) * 8; - return ((colour & 0xe0) >> 2) ; -} - -// Convert the internal RGB 332 to G -static uint8_t u8g_ssd1351_get_g(uint8_t colour) -{ - //return ((colour & 0x1c) >> 2) * 9; - //return ((colour & 0x1c) >> 2) * 8; - return ((colour & 0x1c) << 1); -} - -// Convert the internal RGB 332 to B -static uint8_t u8g_ssd1351_get_b(uint8_t colour) -{ - //return (colour & 0x03) * 21; - return (colour & 0x03) * 16; -} -#endif - - -uint8_t u8g_dev_ssd1351_128x128_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ -// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); - break; - - case U8G_DEV_MSG_STOP: - break; - - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_uint_t x; - uint8_t page_height; - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( i = 0; i < page_height; i++ ) - { - - for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES; - } - } - u8g_SetChipSelect(u8g, dev, 0); - } - - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_R3G3B2; - } - - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1351_128x128gh_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ -// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq); - break; - - case U8G_DEV_MSG_STOP: - break; - - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_uint_t x; - uint8_t page_height; - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( i = 0; i < page_height; i++ ) - { - - for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES; - } - } - u8g_SetChipSelect(u8g, dev, 0); - } - - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_R3G3B2; - } - - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1351_128x128_r[256]; -static uint8_t u8g_dev_ssd1351_128x128_g[256]; -static uint8_t u8g_dev_ssd1351_128x128_b[256]; - -uint8_t u8g_dev_ssd1351_128x128_idx_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ -// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); - break; - - case U8G_DEV_MSG_STOP: - break; - - case U8G_DEV_MSG_SET_COLOR_ENTRY: - u8g_dev_ssd1351_128x128_r[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->r; - u8g_dev_ssd1351_128x128_g[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->g; - u8g_dev_ssd1351_128x128_b[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->b; - break; - - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - - case U8G_DEV_MSG_PAGE_NEXT: - { - int x; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - for (x = 0; x < pb->width; x++) - { - u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_r[(*ptr)>>2]); - u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_g[(*ptr)>>2]); - u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_b[(*ptr)>>2]); - - ptr++; - } - - u8g_SetChipSelect(u8g, dev, 0); - } - - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_INDEX; - } - - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -void u8g_ssd1351_hicolor_to_stream(uint8_t *ptr) -{ - register uint8_t cnt = RGB332_STREAM_BYTES; - register uint8_t low, high, r, g, b; - uint8_t *dest = u8g_ssd1351_stream_bytes; - for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) - { - low = *ptr++; - high = *ptr++; - - r = high & ~7; - r >>= 2; - b = low & 31; - b <<= 1; - g = high & 7; - g <<= 3; - g |= (low>>5)&7; - - *dest++ = r; - *dest++ = g; - *dest++ = b; - } -} - - -uint8_t u8g_dev_ssd1351_128x128_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t i, j; - uint8_t page_height; - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( j = 0; j < page_height; j++ ) - { - for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_hicolor_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES*2; - } - - } - - u8g_SetChipSelect(u8g, dev, 0); - - } - break; /* continue to base fn */ - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_HICOLOR; - } - return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1351_128x128gh_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t i, j; - uint8_t page_height; - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( j = 0; j < page_height; j++ ) - { - for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_hicolor_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES*2; - } - - } - - u8g_SetChipSelect(u8g, dev, 0); - - } - break; /* continue to base fn */ - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_HICOLOR; - } - return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1351_128x128_byte_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; - -u8g_pb_t u8g_dev_ssd1351_128x128_byte_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; - -//u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; -//u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; - - -/* only half of the height, because two bytes are needed for one pixel */ -u8g_pb_t u8g_dev_ssd1351_128x128_hicolor_byte_pb = { {PAGE_HEIGHT/2, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI }; - - -uint8_t u8g_dev_ssd1351_128x128_4x_byte_buf[WIDTH*PAGE_HEIGHT*4] U8G_NOCOMMON ; - -u8g_pb_t u8g_dev_ssd1351_128x128_4x_332_byte_pb = { {PAGE_HEIGHT*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI }; - -u8g_pb_t u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb = { {PAGE_HEIGHT/2*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI }; - - -/* -U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_HW_SPI); - -U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_HW_SPI); -*/ - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_64128n.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_64128n.c deleted file mode 100644 index ff909c5e9..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_64128n.c +++ /dev/null @@ -1,203 +0,0 @@ -/* - - u8g_dev_st7565_64128n.c (Displaytech) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_64128n_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0A2, /* 0x0a2: LCD bias 1/9 (according to Displaytech 64128N datasheet) */ - 0x0A0, /* Normal ADC Select (according to Displaytech 64128N datasheet) */ - - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x040, /* Display start line for Displaytech 64128N */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x010, /* Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x01e, /* Contrast value. Setting for controlling brightness of Displaytech 64128N */ - - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0x10 */ - 0x000, /* set lower 4 bit of the col adr to 0x00. Changed for DisplayTech 64128N */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_64128n_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_64128n_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_64128n_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_64128n_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_st7565_64128n_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_PARALLEL); - -uint8_t u8g_dev_st7565_64128n_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_64128n_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_64128n_2x_buf}; -u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_st7565_64128n_2x_hw_parallel = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_PARALLEL }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c deleted file mode 100644 index e73f06153..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c +++ /dev/null @@ -1,190 +0,0 @@ -/* - - u8g_dev_st7565_dogm128.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -const uint8_t u8g_dev_st7565_dogm128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode: set scan direction normal operation */ - 0x0a6, /* display normal (none reverse) */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value, EA default: 0x016 */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0a4, /* normal display (not all on) */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_dogm128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_dogm128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_dogm128_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm128_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm128_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_PARALLEL); - - -uint8_t u8g_dev_st7565_dogm128_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_dogm128_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_dogm128_2x_buf}; -u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_PARALLEL }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c deleted file mode 100644 index 26de53924..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - - u8g_dev_st7565_dogm132.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 132 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_st7565_dogm132_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line to 0 */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x01f, /* contrast value, EA default: 0x01f */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - -#ifdef OBSOLETE_DOGM128 - 0x040, /* set display start line */ - 0x0c8, /* set scan direction inverse operation */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value, EA default: 0x016 */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ -#endif - - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_dogm132_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_dogm132_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm132_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_HW_SPI); diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c deleted file mode 100644 index 165c39097..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - - u8g_dev_st7565_lm6059.c (Adafruit display) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_lm6059_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit, 0x0a2 does not work */ - /* the LM6059 vs LM6063, ADC and SHL have inverted settings */ - 0x0a0, /* 0x0a1: ADC set to normal (suggested for the LM6059), 0x0a0: Used by Adafruit -> normal mode */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x060, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - - /*0x0ac,*/ /* indicator */ - /*0x000,*/ /* disable */ - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x001, /* set lower 4 bit of the col adr */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_st7565_lm6059_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_lm6059_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_lm6059_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_lm6059_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_HW_SPI); - - -uint8_t u8g_dev_st7565_lm6059_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_lm6059_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_lm6059_2x_buf}; -u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c deleted file mode 100644 index d0b8c816d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c +++ /dev/null @@ -1,236 +0,0 @@ -/* - - u8g_dev_st7565_lm6063.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -#ifdef OLD_ADAFRUIT_CODE -static const uint8_t OLD_u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select / 17 Jan: seems to be a bug, must be 0x0c0 */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - /*0x0f8,*/ /* set booster ratio to */ - /*0x000, */ /* 4x */ - /*0x027,*/ /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; -#endif - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit */ - 0x0a1, /* 0x0a1: ADC set to reverse (suggested for the LM6063), 0x0a0: Used by Adafruit -> normal mode */ - 0x0c0, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x040, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - - /*0x0ac,*/ /* indicator */ - /*0x000,*/ /* disable */ - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6063_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_st7565_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_st7565_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_st7565_lm6063_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_lm6063_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_lm6063_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_lm6063_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_st7565_lm6063_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_lm6063_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_lm6063_2x_buf}; -u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c deleted file mode 100644 index ed8dca2e0..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_st7565_nhd_c12832.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_st7565_c12832_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line to 0 */ - 0x0a0, /* ADC set, values: a0=normal, a1=reverse */ - 0x0c8, /* common output mode: c0=normal, c8=reverse */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x00a, /* contrast value */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_c12832_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_PARALLEL); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_USART_SPI); - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c deleted file mode 100644 index eeb5c0987..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - - u8g_dev_st7565_nhd_c12864.c - - Support for the NHD-C12864A1Z-FSB-FBW (Newhaven Display) - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -const uint8_t u8g_dev_st7565_nhd_c12864_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(10), /* do reset low pulse with (10*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode: set scan direction normal operation */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x008, /* contrast: 0x008 is a good value for NHD C12864, Nov 2012: User reports that 0x1a is much better */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_nhd_c12864_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x004, /* set lower 4 bit of the col adr to 4 (NHD C12864) */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12864_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12864_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_nhd_c12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_nhd_c12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_HW_SPI); - - -uint8_t u8g_dev_st7565_nhd_c12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_nhd_c12864_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_nhd_c12864_2x_buf}; -u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c deleted file mode 100644 index a11d3bc7d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c +++ /dev/null @@ -1,420 +0,0 @@ -/* - - u8g_dev_st7687_c144mvgd.c (1.44" TFT) - - Status: Started, but not finished - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -#ifdef FIRST_VERSION -/* -see also: read.pudn.com/downloads115/sourcecode/app/484503/LCM_Display.c__.htm -http://en.pudn.com/downloads115/sourcecode/app/detail484503_en.html -*/ - -static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x001, /* A0=0, SW reset */ - U8G_ESC_DLY(200), /* delay 200 ms */ - - 0x0d7, /* EEPROM data auto re-load control */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, /* ARD = 1 */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0e0, /* EEPROM control in */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - -#ifdef NOT_REQUIRED - 0x0fa, /* EEPROM function selection 8.1.66 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ -#endif - - 0x0e3, /* Read from EEPROM, 8.1.55 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0e1, /* EEPROM control out, 8.1.53 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - //0x028, /* display off */ - 0x011, /* Sleep out & booster on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0c0, /* Vop setting, 8.1.42 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x001, /* 3.6 + 256*0.04 = 13.84 Volt */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0c3, /* Bias selection, 8.1.45 */ - U8G_ESC_ADR(1), /* data mode */ - 0x003, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c4, /* Booster setting 8.1.46 */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c5, /* ??? */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0cb, /* FV3 with Booster x2 control, 8.1.47 */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x036, /* Memory data access control, 8.1.28 */ - U8G_ESC_ADR(1), /* data mode */ - 0x080, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b5, /* N-line control, 8.1.37 */ - U8G_ESC_ADR(1), /* data mode */ - 0x089, - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0d0, /* Analog circuit setting, 8.1.49 */ - U8G_ESC_ADR(1), /* data mode */ - 0x01d, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b7, /* Com/Seg Scan Direction, 8.1.38 */ - U8G_ESC_ADR(1), /* data mode */ - 0x040, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x025, /* Write contrast, 8.1.17 */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x03a, /* Interface pixel format, 8.1.32 */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b0, /* Display Duty setting, 8.1.34 */ - U8G_ESC_ADR(1), /* data mode */ - 0x07f, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f0, /* Frame Freq. in Temp range A,B,C and D, 8.1.59 */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - 0x00c, - 0x00c, - 0x015, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f9, /* Frame RGB Value, 8.1.65 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, - 0x005, - 0x008, - 0x00a, - 0x00c, - 0x00e, - 0x010, - 0x011, - 0x012, - 0x013, - 0x014, - 0x015, - 0x016, - 0x018, - 0x01a, - 0x01b, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f9, /* Frame RGB Value, 8.1.65 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, - 0x000, - 0x000, - 0x000, - 0x033, - 0x055, - 0x055, - 0x055, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x029, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ - -}; - -#else - -/* -http://www.waitingforfriday.com/images/e/e3/FTM144D01N_test.zip -*/ - -static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x011, /* Sleep out & booster on */ - U8G_ESC_DLY(5), /* delay 5 ms */ - - 0x03a, /* Interface pixel format, 8.1.32 */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x026, /* SET_GAMMA_CURVE */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f2, /* GAM_R_SEL */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* enable gamma adj */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0e0, /* POSITIVE_GAMMA_CORRECT */ - U8G_ESC_ADR(1), /* data mode */ - 0x3f, - 0x25, - 0x1c, - 0x1e, - 0x20, - 0x12, - 0x2a, - 0x90, - 0x24, - 0x11, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0e1, /* NEGATIVE_GAMMA_CORRECT */ - U8G_ESC_ADR(1), /* data mode */ - 0x20, - 0x20, - 0x20, - 0x20, - 0x05, - 0x00, - 0x15, - 0xa7, - 0x3d, - 0x18, - 0x25, - 0x2a, - 0x2b, - 0x2b, - 0x3a, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b1, /* FRAME_RATE_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, /* DIVA = 8 */ - 0x008, /* VPA = 8 */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0b4, /* DISPLAY_INVERSION */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, /* NLA = 1, NLB = 1, NLC = 1 (all on Frame Inversion) */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c0, /* POWER_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x00a, /* VRH = 10: GVDD = 4.30 */ - 0x002, /* VC = 2: VCI1 = 2.65 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c1, /* POWER_CONTROL2 */ - U8G_ESC_ADR(1), /* data mode */ - 0x002, /* BT = 2: AVDD = 2xVCI1, VCL = -1xVCI1, VGH = 5xVCI1, VGL = -2xVCI1 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c5, /* VCOM_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x050, /* VMH = 80: VCOMH voltage = 4.5 */ - 0x05b, /* VML = 91: VCOML voltage = -0.225 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c7, /* VCOM_OFFSET_CONTROL */ - U8G_ESC_ADR(1), /* data mode */ - 0x040, /* nVM = 0, VMF = 64: VCOMH output = VMH, VCOML output = VML */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x02a, /* SET_COLUMN_ADDRESS */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x000, /* */ - 0x000, /* */ - 0x07f, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x02b, /* SET_PAGE_ADDRESS */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x000, /* */ - 0x000, /* */ - 0x07f, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x036, /* SET_ADDRESS_MODE */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* Select display orientation */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x029, /* display on */ - - 0x02c, /* write start */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ - -}; - -#endif - - - - -/* calculate bytes for Type B 4096 color display */ -static uint8_t get_byte_1(uint8_t v) -{ - v >>= 4; - v &= 0x0e; - return v; -} - -static uint8_t get_byte_2(uint8_t v) -{ - uint8_t w; - w = v; - w &= 3; - w = (w<<2) | w; - v <<= 3; - v &= 0x0e0; - w |= v; - return w; -} - -uint8_t u8g_dev_st7687_c144mvgd_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7687_c144mvgd_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02a ); /* Column address set 8.1.20 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, 0x000 ); /* x0 */ - u8g_WriteByte(u8g, dev, WIDTH-1 ); /* x1 */ - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02b ); /* Row address set 8.1.21 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, y ); /* y0 */ - u8g_WriteByte(u8g, dev, y+PAGE_HEIGHT-1 ); /* y1 */ - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02c ); /* Memory write 8.1.22 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - - for( j = 0; j < WIDTH; j ++ ) - { - u8g_WriteByte(u8g, dev, get_byte_1(*ptr) ); - u8g_WriteByte(u8g, dev, get_byte_2(*ptr) ); - ptr++; - } - } - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_st7687_c144mvgd_8h8_buf[WIDTH*8] U8G_NOCOMMON ; -u8g_pb_t u8g_st7687_c144mvgd_8h8_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_st7687_c144mvgd_8h8_buf}; - -u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, u8g_com_arduino_sw_spi_fn }; - -u8g_dev_t u8g_dev_st7687_c144mvgd_8bit = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, U8G_COM_PARALLEL }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_128x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_128x64.c deleted file mode 100644 index 29e63134c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_128x64.c +++ /dev/null @@ -1,175 +0,0 @@ -/* - - u8g_dev_st7920_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - - if ( y < 32 ) - { - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - } - else - { - u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ - } - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_128x64_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - - if ( y < 32 ) - { - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - } - else - { - u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ - } - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7920_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_FAST_PARALLEL); -U8G_PB_DEV(u8g_dev_st7920_128x64_custom, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, u8g_com_arduino_st7920_custom_fn); - - - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_128x64_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_128x64_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_128x64_4x_buf}; -u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_128x64_4x_8bit = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_FAST_PARALLEL }; -u8g_dev_t u8g_dev_st7920_128x64_4x_custom = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, u8g_com_arduino_st7920_custom_fn }; - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_192x32.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_192x32.c deleted file mode 100644 index 736b08289..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_192x32.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - - u8g_dev_st7920_192x32.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 192 -#define HEIGHT 32 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_192x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_192x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_192x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_st7920_192x32_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_192x32_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_192x32_8bit, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_FAST_PARALLEL); - - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_192x32_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_192x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_192x32_4x_buf}; -u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_192x32_4x_8bit = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_FAST_PARALLEL }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_202x32.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_202x32.c deleted file mode 100644 index b36b7abca..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_st7920_202x32.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - - u8g_dev_st7920_202x32.c - tested with CFAG20232 - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 202 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_202x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_202x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_202x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_st7920_202x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_202x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_202x32_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_FAST_PARALLEL); - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_202x32_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_202x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_202x32_4x_buf}; -u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_202x32_4x_8bit = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_FAST_PARALLEL }; - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x128.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x128.c deleted file mode 100644 index 15f618c5f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x128.c +++ /dev/null @@ -1,193 +0,0 @@ -/* - - u8g_dev_t6963_128x128.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 128x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 128 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_128x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_128x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_128x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x128_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_128x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_128x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_128x128_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_128x128_8bit = { u8g_dev_t6963_128x128_fn, &u8g_dev_t6963_128x128_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x64.c deleted file mode 100644 index 97e158332..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_128x64.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - - u8g_dev_t6963_128x64.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 16 - - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x64_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_128x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_128x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_128x64_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_128x64_8bit = { u8g_dev_t6963_128x64_fn, &u8g_dev_t6963_128x64_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x128.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x128.c deleted file mode 100644 index 7373f3888..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x128.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - - u8g_dev_t6963_240x128.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x128_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_240x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_240x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x128_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_240x128_8bit = { u8g_dev_t6963_240x128_fn, &u8g_dev_t6963_240x128_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x64.c deleted file mode 100644 index d0c4fd230..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_t6963_240x64.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - - u8g_dev_t6963_240x64.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x64_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_240x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_240x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x64_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_240x64_8bit = { u8g_dev_t6963_240x64_fn, &u8g_dev_t6963_240x64_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c deleted file mode 100644 index d8f423666..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - - u8g_dev_tls8204_84x48.c - - Display: Nokia 84x48 - - Status: Tested with TLS8204V12 Display by Olimex MOD-LCD3310 - - Contributed: http://code.google.com/p/u8glib/issues/detail?id=126 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 84 -#define HEIGHT 48 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_tls8204_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x04 | !!((66-1)&(1u<<6)), - 0x40 | ((66-2) & ((1u<<6)-1)), - 0x013, /* bias system 1:48 */ - 0x0c0, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_tls8204_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_tls8204_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_WriteByte(u8g, dev, 0x020); /* command mode, extended function set */ - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_tls8204_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tls8204_fn, U8G_COM_SW_SPI); - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c deleted file mode 100644 index 015156676..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - - u8g_dev_uc1601_c128032.c - - LCD-AG-C128032R-DIW W/KK E6 PBF from http://www.artronic.pl/o_produkcie.php?id=1343 - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -/* init sequence */ -static const uint8_t u8g_dev_uc1601_c128032_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a3: LCD bias 1/7 , 0x0a2: LCD bias 1/9 */ - 0x0a0, /* 0x0a0: ADC set to normal, 0x0a1 ADC set to inverted */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x0c2, /* 22 May 2013: mirror x */ - - 0x040, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(10), /* delay 10 ms */ - - 0x020| 0x06, /* set V0 voltage resistor ratio to 6 */ - - 0x0af, /* display on */ - - //0x081, /* set contrast */ - //0x018, /* contrast value*/ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1601_c128032_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x004, /* set lower 4 bit of the col adr */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1601_c128032_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1601_c128032_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_uc1601_c128032_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1601) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1601_c128032_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (UC1601) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (UC1601) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1601_c128032_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1601_c128032_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1601_c128032_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1601_c128032_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1601_c128032_2x_buf}; -u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c deleted file mode 100644 index d43d78e11..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - - - u8g_dev_uc1608_240x128.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com (original 240x64 library) - Modified by thieringpeti@gmail.com for Raystar rx240128 family displays - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -/* -Display: http://www.tme.eu/en/details/rx240128a-ghw/lcd-graphic-displays/raystar-optronics/ -Connection: HW / SW SPI. -To get this display working, You need some extra capacitors: - -connect 4.7uF caps between: - PIN1 & PIN2 VB1 +- - PIN3 & PIN4 VB0 -+ -connect 0.1uF caps between: - VLCD and VSS - VBIAS and VSS -You can find some schematics with a 10M resistor parallellized with the VLCD capacitor. - -Select 4-bit SPI mode. - -Connect D7 (PIN9) To VDD (+3.3V) -Connect D1, D2, D4, D5, D6 to GND (PINS 10,11,12,14,15) -Connect WR0, WR1, BM0, BM1 to GND (PINS 17,18,22,23) - -D0: (PIN16) AVR's SCK pin (HW SPI) -D3: (PIN13) AVR's MOSI pin (HW SPI) -CD: (PIN19) used as A0 in the library -CS: (PIN21) Connect to the defined CS pin, and You can re-use the HW SPI in different routines. -RST: (PIN20) optional reset, can be defined in the function, resets on initialization. - -Adjust contrast if necessary. Default: 0x072. - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - -/* see also ERC24064-1 for init sequence example */ -static const uint8_t u8g_dev_uc1608_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(1), /* disable chip (UC1608 has positive logic for CS) */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (15*16)+2 milliseconds */ - - - U8G_ESC_CS(0), /* enable chip */ - 0x0e2, /* soft reset */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x026, /* MUX rate and temperature compensation */ - - 0x0c8, /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */ - - 0x0eb, /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/ - /* default 0x0ea for 240x128 */ - 0x081, /* set contrast (bits 0..5) and gain (bits 6/7) */ - 0x072, /* default for 240x128 displays: 0x072*/ - - 0x02f, /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x040, /* set display start line to 0 */ - 0x090, /* no fixed lines */ - 0x089, /* RAM access control */ - - 0x0af, /* disable sleep mode */ - 0x0a4, /* normal display */ - 0x0a5, /* display all points, ST7565, UC1610 */ - // 0x0a7, /* inverse display */ - 0x0a6, /* normal display */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1608_240x128_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(0), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 (UC1608) */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1608_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1608_240x128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1608_240x128_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1608_240x128_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1608_240x128_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1608_240x128_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1608_240x128_2x_buf}; -u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c deleted file mode 100644 index 6a99c6ba8..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - - u8g_dev_uc1608_240x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* see also ERC24064-1 for init sequence example */ -static const uint8_t u8g_dev_uc1608_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(1), /* disable chip (UC1608 has positive logic for CS) */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (15*16)+2 milliseconds */ - - - U8G_ESC_CS(0), /* enable chip */ - 0x0e2, /* soft reset */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ -#if HEIGHT <= 96 - 0x023, /* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */ -#else - /* 30 Nov 2013: not tested */ - 0x027, /* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */ -#endif - 0x0c8, /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */ - 0x0e8, /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/ - - 0x081, /* set contrast (bits 0..5) and gain (bits 6/7) */ - 0x014, /* ECR24064-1 default: 0x040*/ - - 0x02f, /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x040, /* set display start line to 0 */ - 0x090, /* no fixed lines */ - 0x089, /* RAM access control */ - - 0x0af, /* disable sleep mode */ - 0x0a4, /* normal display */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1608_240x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(0), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 (UC1608) */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1608_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1608_240x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1608_240x64_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1608_240x64_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1608_240x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1608_240x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1608_240x64_2x_buf}; -u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c deleted file mode 100644 index 4f361664d..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - - u8g_dev_uc1610_dogxl160.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 160 -#define HEIGHT 104 - -static const uint8_t u8g_dev_uc1610_dogxl160_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0f1, /* set display height-1 */ - 0x067, /* */ - 0x0c0, /* SEG & COM normal */ - 0x040, /* set display start line */ - 0x050, /* */ - 0x02b, /* set panelloading */ - 0x0eb, /* set bias 1/2 */ - 0x081, /* set contrast */ - 0x05f, /* */ - 0x089, /* set auto increment */ - 0x0a6, /* normal pixel mode */ - 0x0d3, /* 0xd3=40% RMS separation for gray levels */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1610_dogxl160_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static uint8_t u8g_dev_1to2(uint8_t n) -{ - register uint8_t a,b,c; - a = n; - a &= 1; - n <<= 1; - b = n; - b &= 4; - n <<= 1; - c = n; - c &= 16; - n <<= 1; - n &= 64; - n |= a; - n |= b; - n |= c; - n |= n << 1; - return n; -} - -uint8_t u8g_dev_uc1610_dogxl160_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - int i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); - } - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - int i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+1) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+2) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+3) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] >> 4 ) ); - } - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf) == 0 ) - return 0; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_WriteSequence(u8g, dev, WIDTH, (uint8_t *)(pb->buf)+WIDTH) == 0 ) - return 0; - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_HW_SPI); - -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_sw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_hw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1610_dogxl160_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1610_dogxl160_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_bw_buf}; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_HW_SPI }; - -uint8_t u8g_dev_uc1610_dogxl160_2x_gr_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1610_dogxl160_2x_gr_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_gr_buf}; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c deleted file mode 100644 index 52bf451d9..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - - u8g_dev_uc1611_dogm240.c - - Universal 8bit Graphics Library - - Copyright (c) 2014, dev.menges.jonas@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_uc1611_dogm240_init_seq[] PROGMEM = { - U8G_ESC_CS(1), // enable chip - U8G_ESC_ADR(0), // instruction mode - 0xF1, // set last COM electrode - 0x3F, // 64-1=63 - 0xF2, // set display start line - 0x00, // 0 - 0xF3, // set display end line - 0x3F, // 64-1=63 - 0x81, // set contrast (0-255) - 0xB7, // 183 - 0xC0, // set view - //0x04, // topview - 0x02, // bottomview - 0xA3, // set line rate (9.4k) - 0xE9, // set bias ratio (10) - 0xA9, // enable display - 0xD1, // set black and white mode - U8G_ESC_CS(0), // disable chip - U8G_ESC_END // end of sequence -}; - -static void setPage(u8g_t *u8g, u8g_dev_t *dev, unsigned char page) -{ - u8g_WriteByte(u8g, dev, 0x70); - u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F)); -} - -static const uint8_t u8g_dev_uc1611_dogm240_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x10, /* set upper 4 bit of the col adr to 0 */ - 0x00, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1611_dogm240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_data_start); - setPage(u8g, dev, pb->p.page); /* select current page (uc1611) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x81); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1611_dogm240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_UC_I2C); -U8G_PB_DEV(u8g_dev_uc1611_dogm240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1611_dogm240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_HW_SPI); - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c deleted file mode 100644 index 44242ecdf..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - - u8g_dev_uc1611_dogxl240.c - - Universal 8bit Graphics Library - - Copyright (c) 2014, dev.menges.jonas@gmail.com, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_uc1611_dogxl240_init_seq[] PROGMEM = { - U8G_ESC_CS(1), // enable chip - U8G_ESC_ADR(0), // instruction mode - 0xF1, // set last COM electrode - 0x7F, // DOGXL240 - 0xF2, // set display start line - 0x00, // 0 - 0xF3, // set display end line - 0x7F, // DOGXL240 - 0x81, // set contrast (0-255) - 0xAA, // DOGXL240 - 0xC0, // set view - //0x04, // topview - 0x02, // bottomview - 0xA3, // set line rate (9.4k) - 0xE9, // set bias ratio (10) - 0xA9, // enable display - 0xD1, // set black and white mode - U8G_ESC_CS(0), // disable chip - U8G_ESC_END // end of sequence -}; - -static void u8g_dev_dogxl240_set_page(u8g_t *u8g, u8g_dev_t *dev, unsigned char page) -{ - u8g_WriteByte(u8g, dev, 0x70); - u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F)); -} - -static const uint8_t u8g_dev_uc1611_dogxl240_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x10, /* set upper 4 bit of the col adr to 0 */ - 0x00, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static uint8_t u8g_dev_uc1611_dogxl240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_data_start); - u8g_dev_dogxl240_set_page(u8g, dev, pb->p.page); /* select current page (uc1611) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x81); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1611_dogxl240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_UC_I2C); -U8G_PB_DEV(u8g_dev_uc1611_dogxl240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1611_dogxl240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_HW_SPI); - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c deleted file mode 100644 index 5161ef95f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - - u8g_dev_uc1701_dogs102.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 102 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_dogs102_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0e2, /* soft reset */ - 0x040, /* set display start line to 0 */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x027, /* regulator, booster and follower */ - 0x081, /* set contrast */ - 0x00e, /* contrast value, EA default: 0x010, previous value for S102: 0x0e */ - 0x0fa, /* Set Temp compensation */ - 0x090, /* 0.11 deg/c WP Off WC Off*/ - 0x0a4, /* normal display */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_dogs102_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_dogs102_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1701_dogs102_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1701_dogs102_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1701_dogs102_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1701_dogs102_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1701_dogs102_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1701_dogs102_2x_buf}; -u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c deleted file mode 100644 index 209a7b930..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c +++ /dev/null @@ -1,158 +0,0 @@ -/* - - u8g_dev_uc1701_mini12864.c (dealextreme) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_uc1701_mini12864_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0e2, /* soft reset */ - 0x040, /* set display start line to 0 */ - 0x0a0, /* ADC set to reverse */ - 0x0c8, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x027, /* contrast value */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1701_mini12864_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1701_mini12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1701_mini12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1701_mini12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1701_mini12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1701_mini12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1701_mini12864_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1701_mini12864_2x_buf}; -u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ellipse.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ellipse.c deleted file mode 100644 index 57ff4675b..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ellipse.c +++ /dev/null @@ -1,393 +0,0 @@ -/* - - u8g_ellipse.c - - Utility to draw empty and filled ellipses. - - Universal 8bit Graphics Library - - Copyright (c) 2011, bjthom@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Addition to the U8G Library as of 02/29/12 - Adapted from Bresenham's Algorithm and the following websites: - http://free.pages.at/easyfilter/bresenham.html - http://homepage.smc.edu/kennedy_john/belipse.pdf - -*/ - -#include "u8g.h" - - -#ifdef WORK_IN_PROGRESS - -void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1) -{ - int a = abs(x1 - x0); - int b = abs(y1 - y0); //get diameters - int b1 = b&1; - long dx = 4*(1-a)*b*b; - long dy = 4*(b1+1)*a*a; - long err = dx+dy+b1*a*a; - long e2; - - if (x0 > x1) { x0 = x1; x1 += a; } - if (y0 > y1) { y0 = y1; } - y0 += (b+1)/2; - y1 = y0-b1; - a *= 8*a; - b1 = 8*b*b; - - do { - u8g_DrawPixel(u8g, x1, y0); - u8g_DrawPixel(u8g, x0, y0); - u8g_DrawPixel(u8g, x0, y1); - u8g_DrawPixel(u8g, x1, y1); - e2 = 2*err; - if (e2 >= dx) { - x0++; - x1--; - err += dx += b1; - } - if (e2 <= dy) { - y0++; - y1--; - err += dy += a; - } - } while (x0 <= x1); - - while (y0-y1 < b) { - u8g_DrawPixel(u8g, x0-1, y0); - u8g_DrawPixel(u8g, x1+1, y0++); - u8g_DrawPixel(u8g, x0-1, y1); - u8g_DrawPixel(u8g, x1+1, y1--); - } -} - -void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t xr, u8g_uint_t yr) -{ - u8g_DrawPixel(u8g, x0, y0+yr); - u8g_DrawPixel(u8g, x0, y0-yr); - u8g_DrawPixel(u8g, x0+xr, y0); - u8g_DrawPixel(u8g, x0-xr, y0); -} - -#endif - -#if defined(U8G_16BIT) -typedef int32_t u8g_long_t; -#else -typedef int16_t u8g_long_t; -#endif - - -/* - Source: - ftp://pc.fk0.name/pub/books/programming/bezier-ellipse.pdf - Foley, Computer Graphics, p 90 -*/ -static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; -static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - } -} - -void u8g_draw_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - u8g_uint_t x, y; - u8g_long_t xchg, ychg; - u8g_long_t err; - u8g_long_t rxrx2; - u8g_long_t ryry2; - u8g_long_t stopx, stopy; - - rxrx2 = rx; - rxrx2 *= rx; - rxrx2 *= 2; - - ryry2 = ry; - ryry2 *= ry; - ryry2 *= 2; - - x = rx; - y = 0; - - xchg = 1; - xchg -= rx; - xchg -= rx; - xchg *= ry; - xchg *= ry; - - ychg = rx; - ychg *= rx; - - err = 0; - - stopx = ryry2; - stopx *= rx; - stopy = 0; - - while( stopx >= stopy ) - { - u8g_draw_ellipse_section(u8g, x, y, x0, y0, option); - y++; - stopy += rxrx2; - err += ychg; - ychg += rxrx2; - if ( 2*err+xchg > 0 ) - { - x--; - stopx -= ryry2; - err += xchg; - xchg += ryry2; - } - } - - x = 0; - y = ry; - - xchg = ry; - xchg *= ry; - - ychg = 1; - ychg -= ry; - ychg -= ry; - ychg *= rx; - ychg *= rx; - - err = 0; - - stopx = 0; - - stopy = rxrx2; - stopy *= ry; - - - while( stopx <= stopy ) - { - u8g_draw_ellipse_section(u8g, x, y, x0, y0, option); - x++; - stopx += ryry2; - err += xchg; - xchg += ryry2; - if ( 2*err+ychg > 0 ) - { - y--; - stopy -= rxrx2; - err += ychg; - ychg += rxrx2; - } - } - -} - -void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t rxp, rxp2; - u8g_uint_t ryp, ryp2; - - rxp = rx; - rxp++; - rxp2 = rxp; - rxp2 *= 2; - - ryp = ry; - ryp++; - ryp2 = ryp; - ryp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0) - return; - } - - u8g_draw_ellipse(u8g, x0, y0, rx, ry, option); -} - -static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; -static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0, y+1); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0, y+1); - } -} - -void u8g_draw_filled_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - u8g_uint_t x, y; - u8g_long_t xchg, ychg; - u8g_long_t err; - u8g_long_t rxrx2; - u8g_long_t ryry2; - u8g_long_t stopx, stopy; - - rxrx2 = rx; - rxrx2 *= rx; - rxrx2 *= 2; - - ryry2 = ry; - ryry2 *= ry; - ryry2 *= 2; - - x = rx; - y = 0; - - xchg = 1; - xchg -= rx; - xchg -= rx; - xchg *= ry; - xchg *= ry; - - ychg = rx; - ychg *= rx; - - err = 0; - - stopx = ryry2; - stopx *= rx; - stopy = 0; - - while( stopx >= stopy ) - { - u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option); - y++; - stopy += rxrx2; - err += ychg; - ychg += rxrx2; - if ( 2*err+xchg > 0 ) - { - x--; - stopx -= ryry2; - err += xchg; - xchg += ryry2; - } - } - - x = 0; - y = ry; - - xchg = ry; - xchg *= ry; - - ychg = 1; - ychg -= ry; - ychg -= ry; - ychg *= rx; - ychg *= rx; - - err = 0; - - stopx = 0; - - stopy = rxrx2; - stopy *= ry; - - - while( stopx <= stopy ) - { - u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option); - x++; - stopx += ryry2; - err += xchg; - xchg += ryry2; - if ( 2*err+ychg > 0 ) - { - y--; - stopy -= rxrx2; - err += ychg; - ychg += rxrx2; - } - } - -} - -void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t rxp, rxp2; - u8g_uint_t ryp, ryp2; - - rxp = rx; - rxp++; - rxp2 = rxp; - rxp2 *= 2; - - ryp = ry; - ryp++; - ryp2 = ryp; - ryp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0) - return; - } - - u8g_draw_filled_ellipse(u8g, x0, y0, rx, ry, option); -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font.c deleted file mode 100644 index f3c1eda4c..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font.c +++ /dev/null @@ -1,1500 +0,0 @@ -/* - - u8g_font.c - - U8G Font High Level Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -/* font api */ - -/* pointer to the start adress of the glyph, points to progmem area */ -typedef void * u8g_glyph_t; - -/* size of the font data structure, there is no struct or class... */ -#define U8G_FONT_DATA_STRUCT_SIZE 17 - -/* - ... instead the fields of the font data structure are accessed directly by offset - font information - offset - 0 font format - 1 FONTBOUNDINGBOX width unsigned - 2 FONTBOUNDINGBOX height unsigned - 3 FONTBOUNDINGBOX x-offset signed - 4 FONTBOUNDINGBOX y-offset signed - 5 capital A height unsigned - 6 start 'A' - 8 start 'a' - 10 encoding start - 11 encoding end - 12 descent 'g' negative: below baseline - 13 font max ascent - 14 font min decent negative: below baseline - 15 font xascent - 16 font xdecent negative: below baseline - -*/ - -/* use case: What is the width and the height of the minimal box into which string s fints? */ -void u8g_font_GetStrSize(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); -void u8g_font_GetStrSizeP(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); - -/* use case: lower left edge of a minimal box is known, what is the correct x, y position for the string draw procedure */ -void u8g_font_AdjustXYToDraw(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); -void u8g_font_AdjustXYToDrawP(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); - -/* use case: Baseline origin known, return minimal box */ -void u8g_font_GetStrMinBox(u8g_t *u8g, const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); - -/* procedures */ - -/*========================================================================*/ -/* low level byte and word access */ - -/* removed NOINLINE, because it leads to smaller code, might also be faster */ -//static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; -static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) -{ - font += offset; - return u8g_pgm_read( (u8g_pgm_uint8_t *)font ); -} - -static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; -static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) -{ - uint16_t pos; - font += offset; - pos = u8g_pgm_read( (u8g_pgm_uint8_t *)font ); - font++; - pos <<= 8; - pos += u8g_pgm_read( (u8g_pgm_uint8_t *)font); - return pos; -} - -/*========================================================================*/ -/* direct access on the font */ - -static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; -static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) -{ - return u8g_font_get_byte(font, 0); -} - -static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; -static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) -{ - switch(u8g_font_GetFormat(font)) - { - case 0: return 6; - case 1: return 3; - case 2: return 6; - } - return 3; -} - -static uint8_t u8g_font_GetBBXWidth(const void *font) -{ - return u8g_font_get_byte(font, 1); -} - -static uint8_t u8g_font_GetBBXHeight(const void *font) -{ - return u8g_font_get_byte(font, 2); -} - -static int8_t u8g_font_GetBBXOffX(const void *font) -{ - return u8g_font_get_byte(font, 3); -} - -static int8_t u8g_font_GetBBXOffY(const void *font) -{ - return u8g_font_get_byte(font, 4); -} - -uint8_t u8g_font_GetCapitalAHeight(const void *font) -{ - return u8g_font_get_byte(font, 5); -} - -uint16_t u8g_font_GetEncoding65Pos(const void *font) U8G_NOINLINE; -uint16_t u8g_font_GetEncoding65Pos(const void *font) -{ - return u8g_font_get_word(font, 6); -} - -uint16_t u8g_font_GetEncoding97Pos(const void *font) U8G_NOINLINE; -uint16_t u8g_font_GetEncoding97Pos(const void *font) -{ - return u8g_font_get_word(font, 8); -} - -uint8_t u8g_font_GetFontStartEncoding(const void *font) -{ - return u8g_font_get_byte(font, 10); -} - -uint8_t u8g_font_GetFontEndEncoding(const void *font) -{ - return u8g_font_get_byte(font, 11); -} - -int8_t u8g_font_GetLowerGDescent(const void *font) -{ - return u8g_font_get_byte(font, 12); -} - -int8_t u8g_font_GetFontAscent(const void *font) -{ - return u8g_font_get_byte(font, 13); -} - -int8_t u8g_font_GetFontDescent(const void *font) -{ - return u8g_font_get_byte(font, 14); -} - -int8_t u8g_font_GetFontXAscent(const void *font) -{ - return u8g_font_get_byte(font, 15); -} - -int8_t u8g_font_GetFontXDescent(const void *font) -{ - return u8g_font_get_byte(font, 16); -} - - -/* return the data start for a font and the glyph pointer */ -static uint8_t *u8g_font_GetGlyphDataStart(const void *font, u8g_glyph_t g) -{ - return ((u8g_fntpgm_uint8_t *)g) + u8g_font_GetFontGlyphStructureSize(font); -} - -/* calculate the overall length of the font, only used to create the picture for the google wiki */ -size_t u8g_font_GetSize(const void *font) -{ - uint8_t *p = (uint8_t *)(font); - uint8_t font_format = u8g_font_GetFormat(font); - uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(font); - uint8_t start, end; - uint8_t i; - uint8_t mask = 255; - - start = u8g_font_GetFontStartEncoding(font); - end = u8g_font_GetFontEndEncoding(font); - - if ( font_format == 1 ) - mask = 15; - - p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ - - i = start; - for(;;) - { - if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) - { - p += 1; - } - else - { - p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; - p += data_structure_size; - } - if ( i == end ) - break; - i++; - } - - return p - (uint8_t *)font; -} - -/*========================================================================*/ -/* u8g interface, font access */ - -uint8_t u8g_GetFontBBXWidth(u8g_t *u8g) -{ - return u8g_font_GetBBXWidth(u8g->font); -} - -uint8_t u8g_GetFontBBXHeight(u8g_t *u8g) -{ - return u8g_font_GetBBXHeight(u8g->font); -} - -int8_t u8g_GetFontBBXOffX(u8g_t *u8g) U8G_NOINLINE; -int8_t u8g_GetFontBBXOffX(u8g_t *u8g) -{ - return u8g_font_GetBBXOffX(u8g->font); -} - -int8_t u8g_GetFontBBXOffY(u8g_t *u8g) U8G_NOINLINE; -int8_t u8g_GetFontBBXOffY(u8g_t *u8g) -{ - return u8g_font_GetBBXOffY(u8g->font); -} - -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) U8G_NOINLINE; -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) -{ - return u8g_font_GetCapitalAHeight(u8g->font); -} - -/*========================================================================*/ -/* glyph handling */ - -static void u8g_CopyGlyphDataToCache(u8g_t *u8g, u8g_glyph_t g) -{ - uint8_t tmp; - switch( u8g_font_GetFormat(u8g->font) ) - { - case 0: - case 2: - /* - format 0 - glyph information - offset - 0 BBX width unsigned - 1 BBX height unsigned - 2 data size unsigned (BBX width + 7)/8 * BBX height - 3 DWIDTH signed - 4 BBX xoffset signed - 5 BBX yoffset signed - byte 0 == 255 indicates empty glyph - */ - u8g->glyph_width = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); - u8g->glyph_height = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); - u8g->glyph_dx = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 3 ); - u8g->glyph_x = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 4 ); - u8g->glyph_y = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 5 ); - break; - case 1: - default: - /* -format 1 - 0 BBX xoffset signed --> upper 4 Bit - 0 BBX yoffset signed --> lower 4 Bit - 1 BBX width unsigned --> upper 4 Bit - 1 BBX height unsigned --> lower 4 Bit - 2 data size unsigned -(BBX width + 7)/8 * BBX height --> lower 4 Bit - 2 DWIDTH signed --> upper 4 Bit - byte 0 == 255 indicates empty glyph - */ - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); - u8g->glyph_y = tmp & 15; - u8g->glyph_y-=2; - tmp >>= 4; - u8g->glyph_x = tmp; - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); - u8g->glyph_height = tmp & 15; - tmp >>= 4; - u8g->glyph_width = tmp; - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 2 ); - tmp >>= 4; - u8g->glyph_dx = tmp; - - - break; - } -} - -//void u8g_FillEmptyGlyphCache(u8g_t *u8g) U8G_NOINLINE; -static void u8g_FillEmptyGlyphCache(u8g_t *u8g) -{ - u8g->glyph_dx = 0; - u8g->glyph_width = 0; - u8g->glyph_height = 0; - u8g->glyph_x = 0; - u8g->glyph_y = 0; -} - -/* - Find (with some speed optimization) and return a pointer to the glyph data structure - Also uncompress (format 1) and copy the content of the data structure to the u8g structure -*/ -u8g_glyph_t u8g_GetGlyph(u8g_t *u8g, uint8_t requested_encoding) -{ - uint8_t *p = (uint8_t *)(u8g->font); - uint8_t font_format = u8g_font_GetFormat(u8g->font); - uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(u8g->font); - uint8_t start, end; - uint16_t pos; - uint8_t i; - uint8_t mask = 255; - - if ( font_format == 1 ) - mask = 15; - - start = u8g_font_GetFontStartEncoding(u8g->font); - end = u8g_font_GetFontEndEncoding(u8g->font); - - pos = u8g_font_GetEncoding97Pos(u8g->font); - if ( requested_encoding >= 97 && pos > 0 ) - { - p+= pos; - start = 97; - } - else - { - pos = u8g_font_GetEncoding65Pos(u8g->font); - if ( requested_encoding >= 65 && pos > 0 ) - { - p+= pos; - start = 65; - } - else - p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ - } - - if ( requested_encoding > end ) - { - u8g_FillEmptyGlyphCache(u8g); - return NULL; /* not found */ - } - - i = start; - if ( i <= end ) - { - for(;;) - { - if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) - { - p += 1; - } - else - { - if ( i == requested_encoding ) - { - u8g_CopyGlyphDataToCache(u8g, p); - return p; - } - p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; - p += data_structure_size; - } - if ( i == end ) - break; - i++; - } - } - - u8g_FillEmptyGlyphCache(u8g); - - return NULL; -} - -uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding) -{ - if ( u8g_GetGlyph(u8g, requested_encoding) != NULL ) - return 1; - return 0; -} - -int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding) -{ - if ( u8g_GetGlyph(u8g, requested_encoding) == NULL ) - return 0; /* should never happen, so return something */ - return u8g->glyph_dx; -} - - -/*========================================================================*/ -/* glyph drawing procedures */ - -#ifdef OBSOLETE -/* - Draw a glyph - x,y: left baseline position of the glyph -*/ -int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - u8g_glyph_t g; - uint8_t w, h, i, j; - const u8g_pgm_uint8_t *data; - uint8_t bytes_per_line; - u8g_uint_t ix, iy; - - g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - w = u8g->glyph_width; - h = u8g->glyph_height; - - bytes_per_line = w; - bytes_per_line += 7; - bytes_per_line /= 8; - - data = u8g_font_GetGlyphDataStart(u8g->font, g); - - switch(dir) - { - case 0: - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - //u8g_DrawFrame(u8g, x, y-h+1, w, h); - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - ix+=8; - } - iy++; - } - break; - case 1: - x += u8g->glyph_y; - x++; - y += u8g->glyph_x; - //printf("enc %d, dir %d, x %d, y %d, w %d, h %d\n", encoding, dir, x, y, w, h); - //u8g_DrawFrame(u8g, x, y, h, w); - if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) - return u8g->glyph_dx; - - ix = x; - ix += h; - ix--; - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - iy+=8; - } - ix--; - } - break; - case 2: - x -= u8g->glyph_x; - y += u8g->glyph_y; - y++; - if ( u8g_IsBBXIntersection(u8g, x-w-1, y, w, h) == 0 ) - return u8g->glyph_dx; - - iy = y; - iy += h; - iy--; - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - ix-=8; - } - iy--; - } - break; - case 3: - x -= u8g->glyph_y; - x--; - y -= u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x-h-1, y-w-1, h, w) == 0 ) - return u8g->glyph_dx; - - ix = x; - ix -= h; - ix++; - - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - iy-=8; - } - ix++; - } - break; - } - return u8g->glyph_dx; -} -#endif - -int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 0, u8g_pgm_read(data)); - data++; - ix+=8; - } - iy++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y += u8g->font_calc_vref(u8g); - return u8g_draw_glyph(u8g, x, y, encoding); -} - -int8_t u8g_draw_glyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_y; - x++; - y += u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - ix = x; - ix += h; - ix--; - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 1, u8g_pgm_read(data)); - data++; - iy+=8; - } - ix--; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - x -= u8g->font_calc_vref(u8g); - return u8g_draw_glyph90(u8g, x, y, encoding); -} - - -int8_t u8g_draw_glyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x -= u8g->glyph_x; - y += u8g->glyph_y; - y++; - - if ( u8g_IsBBXIntersection(u8g, x-(w-1), y, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - iy = y; - iy += h; - iy--; - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 2, u8g_pgm_read(data)); - data++; - ix-=8; - } - iy--; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y -= u8g->font_calc_vref(u8g); - return u8g_draw_glyph180(u8g, x, y, encoding); -} - - -int8_t u8g_draw_glyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x -= u8g->glyph_y; - x--; - y -= u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x-(h-1), y-(w-1), h, w) == 0 ) - return u8g->glyph_dx; - - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - ix = x; - ix -= h; - ix++; - - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 3, u8g_pgm_read(data)); - data++; - iy-=8; - } - ix++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - x += u8g->font_calc_vref(u8g); - return u8g_draw_glyph270(u8g, x, y, encoding); -} - - - -#ifdef OBSOLETE -/* - Draw a glyph - x,y: lower left corner of the font bounding box -*/ -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - /* TODO: apply "dir" */ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - return u8g_DrawGlyphDir(u8g, x, y, dir, encoding); -} -#endif - -/*========================================================================*/ -/* string drawing procedures */ - - -u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - //u8g_uint_t u8g_GetStrWidth(u8g, s); - //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font); - - y += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph(u8g, x, y, *s); - x += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph90(u8g, x, y, *s); - y += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - y -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph180(u8g, x, y, *s); - x -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph270(u8g, x, y, *s); - y -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) -{ - switch(dir) - { - case 0: - return u8g_DrawStr(u8g, x, y, s); - case 1: - return u8g_DrawStr90(u8g, x, y, s); - case 2: - return u8g_DrawStr180(u8g, x, y, s); - case 3: - return u8g_DrawStr270(u8g, x, y, s); - } - return 0; -} - -u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - uint8_t c; - - y += u8g->font_calc_vref(u8g); - - for(;;) - { - c = u8g_pgm_read(s); - if ( c == '\0' ) - break; - d = u8g_draw_glyph(u8g, x, y, c); - x += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph90(u8g, x, y, u8g_pgm_read(s)); - y += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - y -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph180(u8g, x, y, u8g_pgm_read(s)); - x -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph270(u8g, x, y, u8g_pgm_read(s)); - y -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) -{ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - return u8g_DrawStrDir(u8g, x, y, dir, s); -} - -/* still used by picgen.c, dir argument is ignored */ -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - u8g_draw_glyph(u8g, x, y, encoding); - return 0; -} - - -/*========================================================================*/ -/* set ascent/descent for reference point calculation */ - -void u8g_UpdateRefHeight(u8g_t *u8g) -{ - uint16_t ls; - if ( u8g->font == NULL ) - return; - if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_TEXT ) - { - u8g->font_ref_ascent = u8g_font_GetCapitalAHeight(u8g->font); - u8g->font_ref_descent = u8g_font_GetLowerGDescent(u8g->font); - } - else if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_XTEXT ) - { - u8g->font_ref_ascent = u8g_font_GetFontXAscent(u8g->font); - u8g->font_ref_descent = u8g_font_GetFontXDescent(u8g->font); - } - else - { - u8g->font_ref_ascent = u8g_font_GetFontAscent(u8g->font); - u8g->font_ref_descent = u8g_font_GetFontDescent(u8g->font); - } - - ls = u8g->font_ref_ascent - u8g->font_ref_descent; - if ( u8g->font_line_spacing_factor != 64 ) - { - ls &= 255; - ls *= u8g->font_line_spacing_factor; - ls >>= 6; - } - u8g->line_spacing = ls; -} - -void u8g_SetFontRefHeightText(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_TEXT; - u8g_UpdateRefHeight(u8g); -} - -void u8g_SetFontRefHeightExtendedText(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; - u8g_UpdateRefHeight(u8g); -} - - -void u8g_SetFontRefHeightAll(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_ALL; - u8g_UpdateRefHeight(u8g); -} - -/* factor = 64: linespaceing == ascent and descent */ -void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor) -{ - u8g->font_line_spacing_factor = factor; - u8g_UpdateRefHeight(u8g); -} - - - -/*========================================================================*/ -/* callback procedures to correct the y position */ - -u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g) -{ - return 0; -} - -void u8g_SetFontPosBaseline(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_font; -} - - -u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g) -{ - /* y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); */ - return (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); -} - -void u8g_SetFontPosBottom(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_bottom; -} - -u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g) -{ - u8g_uint_t tmp; - /* reference pos is one pixel above the upper edge of the reference glyph */ - - /* - y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); - y++; - */ - tmp = (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); - tmp++; - return tmp; -} - -void u8g_SetFontPosTop(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_top; -} - -u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g) -{ - int8_t tmp; - tmp = u8g->font_ref_ascent; - tmp -= u8g->font_ref_descent; - tmp /= 2; - tmp += u8g->font_ref_descent; - /* y += (u8g_uint_t)(u8g_int_t)(tmp); */ - return tmp; -} - -void u8g_SetFontPosCenter(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_center; -} - -/*========================================================================*/ -/* string pixel width calculation */ - -char u8g_font_get_char(const void *s) -{ - return *(const char *)(s); -} - -char u8g_font_get_charP(const void *s) -{ - return u8g_pgm_read(s); -} - -typedef char (*u8g_font_get_char_fn)(const void *s); - - -u8g_uint_t u8g_font_calc_str_pixel_width(u8g_t *u8g, const char *s, u8g_font_get_char_fn get_char ) -{ - u8g_uint_t w; - uint8_t enc; - - /* reset the total minimal width to zero, this will be expanded during calculation */ - w = 0; - - enc = get_char(s); - - /* check for empty string, width is already 0 */ - if ( enc == '\0' ) - { - return w; - } - - /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ - /* if *s is not inside the font, then the cached parameters of the glyph are all zero */ - u8g_GetGlyph(u8g, enc); - - /* strlen(s) == 1: width = width(s[0]) */ - /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ - /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ - - /* assume that the string has size 2 or more, than start with negative offset-x */ - /* for string with size 1, this will be nullified after the loop */ - w = -u8g->glyph_x; - for(;;) - { - - /* check and stop if the end of the string is reached */ - s++; - if ( get_char(s) == '\0' ) - break; - - /* if there are still more characters, add the delta to the next glyph */ - w += u8g->glyph_dx; - - /* store the encoding in a local variable, used also after the for(;;) loop */ - enc = get_char(s); - - /* load the next glyph information */ - u8g_GetGlyph(u8g, enc); - } - - /* finally calculate the width of the last char */ - /* here is another exception, if the last char is a black, use the dx value instead */ - if ( enc != ' ' ) - { - /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ - w += u8g->glyph_width; - w += u8g->glyph_x; - } - else - { - w += u8g->glyph_dx; - } - - - return w; -} - -u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s) -{ - return u8g_font_calc_str_pixel_width(u8g, s, u8g_font_get_char); -} - -u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - return u8g_font_calc_str_pixel_width(u8g, (const char *)s, u8g_font_get_charP); -} - -int8_t u8g_GetStrX(u8g_t *u8g, const char *s) -{ - u8g_GetGlyph(u8g, *s); - return u8g->glyph_x; -} - -int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - u8g_GetGlyph(u8g, u8g_pgm_read(s)); - return u8g->glyph_x; -} - -/*========================================================================*/ -/* string width calculation */ - -u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) -{ - u8g_uint_t w; - uint8_t encoding; - - /* reset the total width to zero, this will be expanded during calculation */ - w = 0; - - for(;;) - { - encoding = *s; - if ( encoding == 0 ) - break; - - /* load glyph information */ - u8g_GetGlyph(u8g, encoding); - w += u8g->glyph_dx; - - /* goto next char */ - s++; - } - - return w; -} - - -u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t w; - uint8_t encoding; - - /* reset the total width to zero, this will be expanded during calculation */ - w = 0; - - for(;;) - { - encoding = u8g_pgm_read(s); - if ( encoding == 0 ) - break; - - /* load glyph information */ - u8g_GetGlyph(u8g, encoding); - w += u8g->glyph_dx; - - /* goto next char */ - s++; - } - - return w; -} - - -/*========================================================================*/ -/* calculation of font/glyph/string characteristics */ - - -/* - Description: - Calculate parameter for the minimal bounding box on a given string - Output - buf->y_min extend of the lower left edge if the string below (y_min<0) or above (y_min>0) baseline (descent) - buf->y_max extend of the upper left edge if the string below (y_min<0) or above (y_min>0) baseline (ascent) - buf->w the width of the string -*/ -struct u8g_str_size_struct -{ - int8_t y_min; /* descent */ - int8_t y_max; /* ascent */ - int8_t x, y; /* the reference point of the font (negated!) */ - u8g_uint_t w; /* width of the overall string */ -}; -typedef struct u8g_str_size_struct u8g_str_size_t; - -static void u8g_font_calc_str_min_box(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - /* u8g_glyph_t g; */ - int8_t tmp; - - /* reset the total minimal width to zero, this will be expanded during calculation */ - buf->w = 0; - - /* check for empty string, width is already 0, but also reset y_min and y_max to 0 */ - if ( *s == '\0' ) - { - buf->y_min = 0; - buf->y_max = 0; - buf->x = 0; - buf->y = 0; - return; - } - - /* reset y_min to the largest possible value. Later we search for the smallest value */ - /* y_min contains the position [pixel] of the lower left edge of the glyph above (y_min>0) or below (y_min<0) baseline */ - buf->y_min = 127; - /* reset y_max to the smallest possible value. Later we search for the highest value */ - /* y_max contains the position [pixel] of the upper left edge of the glyph above (y_max>0) or below (y_max<0) baseline */ - buf->y_max = -128; - - /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ - u8g_GetGlyph(u8g, *s); - - /* strlen(s) == 1: width = width(s[0]) */ - /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ - /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ - - /* assume that the string has size 2 or more, than start with negative offset-x */ - /* for string with size 1, this will be nullified after the loop */ - // buf->w = - u8g_font_GetGlyphBBXOffX(u8g->font, g); - buf->w = - u8g->glyph_x; - - /* Also copy the position of the first glyph. This is the reference point of the string (negated) */ - buf->x = u8g->glyph_x; - buf->y = u8g->glyph_y; - - for(;;) - { - - /* calculated y position of the upper left corner (y_max) and lower left corner (y_min) of the string */ - /* relative to the base line */ - - tmp = u8g->glyph_y; - if ( buf->y_min > tmp ) - buf->y_min = tmp; - - tmp +=u8g->glyph_height; - if ( buf->y_max < tmp ) - buf->y_max = tmp; - - /* check and stop if the end of the string is reached */ - s++; - if ( *s == '\0' ) - break; - - /* if there are still more characters, add the delta to the next glyph */ - buf->w += u8g->glyph_dx; - - /* load the next glyph information */ - u8g_GetGlyph(u8g, *s); - } - - /* finally calculate the width of the last char */ - /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ - buf->w += u8g->glyph_width; - // buf->w += u8g_font_GetGlyphBBXOffX(u8g->font, g); - - buf->w += u8g->glyph_x; -} - -/* calculate minimal box */ -void u8g_font_box_min(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - u8g_font_calc_str_min_box(u8g, s, buf); -} - -/* calculate gA box, but do not calculate the overall width */ -void u8g_font_box_left_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - -} - -/* calculate gA box, including overall width */ -void u8g_font_box_all_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - -} - - -static void u8g_font_get_str_box_fill_args(u8g_t *u8g, const char *s, u8g_str_size_t *buf, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - /* - u8g_glyph_t g; - g = - */ - u8g_GetGlyph(u8g, *s); - *x += u8g->glyph_x; - *width = buf->w; - *y -= buf->y_max; - /* +1 because y_max is a height, this compensates the next step */ - //*y += 1; - /* because the reference point is one below the string, this compensates the previous step */ - //*y -= 1; - *height = buf->y_max; - *height -= buf->y_min; -} - - -void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - u8g_str_size_t buf; - - if ( *s == '\0' ) - { - *width= 0; - *height = 0; - return; - } - - u8g_font_calc_str_min_box(u8g, s, &buf); - u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); -} - - -void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - u8g_str_size_t buf; - uint8_t cap_a; - - if ( *s == '\0' ) - { - *width= 0; - *height = 0; - return; - } - - cap_a = u8g_font_GetCapitalAHeight(u8g->font); - u8g_font_calc_str_min_box(u8g, s, &buf); - if ( buf.y_max < cap_a ) - buf.y_max = cap_a; - u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); -} - -void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font) -{ - if ( u8g->font != font ) - { - u8g->font = font; - u8g_UpdateRefHeight(u8g); - u8g_SetFontPosBaseline(u8g); - } -} - -/*========================================================================*/ -/* anti aliasing fonts */ - -int8_t u8g_draw_aa_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 3; - w /= 4; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw4TPixel(u8g, ix, iy, 0, u8g_pgm_read(data)); - data++; - ix+=4; - } - iy++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawAAGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y += u8g->font_calc_vref(u8g); - return u8g_draw_aa_glyph(u8g, x, y, encoding); -} - -u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - if ( u8g_font_GetFormat(u8g->font) != 2 ) - return 0; - //u8g_uint_t u8g_GetStrWidth(u8g, s); - //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font); - - y += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_aa_glyph(u8g, x, y, *s); - x += d; - t += d; - s++; - } - return t; -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font_data.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font_data.c deleted file mode 100644 index 091080897..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_font_data.c +++ /dev/null @@ -1,88464 +0,0 @@ -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03b[826] U8G_FONT_SECTION("u8g_font_04b_03b") = { - 1,5,6,0,255,5,0,250,1,240,32,255,255,5,255,5, - 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, - 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, - 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, - 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, - 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, - 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, - 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, - 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, - 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, - 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, - 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, - 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, - 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, - 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, - 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, - 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, - 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, - 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, - 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, - 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, - 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, - 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, - 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, - 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, - 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, - 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, - 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, - 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, - 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, - 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, - 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, - 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, - 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, - 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, - 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, - 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, - 64,192,5,66,82,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,2,0,64,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,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,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}; -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03bn[136] U8G_FONT_SECTION("u8g_font_04b_03bn") = { - 1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, - 64,128,2,69,85,240,144,144,144,240,2,37,53,192,64,64, - 64,64,2,69,85,240,16,240,128,240,2,69,85,240,16,240, - 16,240,2,69,85,144,144,144,240,16,2,69,85,240,128,240, - 16,240,2,69,85,224,128,240,144,240,2,69,85,240,16,32, - 64,64,2,69,85,240,144,240,144,240,2,69,85,240,144,240, - 16,112,3,19,35,128,0,128}; -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03br[696] U8G_FONT_SECTION("u8g_font_04b_03br") = { - 1,5,6,0,255,5,0,250,1,240,32,127,255,5,255,5, - 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, - 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, - 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, - 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, - 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, - 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, - 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, - 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, - 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, - 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, - 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, - 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, - 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, - 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, - 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, - 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, - 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, - 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, - 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, - 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, - 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, - 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, - 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, - 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, - 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, - 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, - 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, - 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, - 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, - 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, - 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, - 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, - 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, - 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, - 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, - 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, - 64,192,5,66,82,80,160,255}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 5 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03[859] U8G_FONT_SECTION("u8g_font_04b_03") = { - 1,5,7,0,254,5,0,251,1,242,32,255,254,5,254,5, - 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, - 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, - 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, - 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, - 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, - 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, - 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, - 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, - 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, - 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, - 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, - 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, - 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, - 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, - 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, - 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, - 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, - 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, - 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, - 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, - 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, - 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, - 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, - 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, - 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, - 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, - 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, - 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, - 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, - 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, - 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, - 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, - 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, - 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, - 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, - 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, - 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, - 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, - 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, - 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, - 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, - 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, - 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, - 32,64,192,5,66,82,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,2,0,64,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,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,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}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03n[136] U8G_FONT_SECTION("u8g_font_04b_03n") = { - 1,5,7,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, - 64,128,2,69,85,96,144,144,144,96,2,37,53,192,64,64, - 64,64,2,69,85,224,16,96,128,240,2,69,85,224,16,96, - 16,224,2,69,85,32,96,160,240,32,2,69,85,240,128,224, - 16,224,2,69,85,96,128,224,144,96,2,69,85,240,16,32, - 64,64,2,69,85,96,144,96,144,96,2,69,85,96,144,112, - 16,96,3,19,35,128,0,128}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 5 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03r[729] U8G_FONT_SECTION("u8g_font_04b_03r") = { - 1,5,7,0,254,5,0,251,1,242,32,127,254,5,254,5, - 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, - 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, - 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, - 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, - 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, - 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, - 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, - 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, - 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, - 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, - 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, - 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, - 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, - 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, - 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, - 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, - 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, - 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, - 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, - 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, - 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, - 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, - 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, - 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, - 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, - 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, - 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, - 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, - 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, - 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, - 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, - 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, - 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, - 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, - 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, - 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, - 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, - 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, - 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, - 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, - 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, - 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, - 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, - 32,64,192,5,66,82,80,160,255}; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24[912] U8G_FONT_SECTION("u8g_font_04b_24") = { - 1,5,6,0,255,5,0,250,1,241,32,255,0,5,255,5, - 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, - 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, - 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, - 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, - 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, - 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, - 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, - 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, - 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, - 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, - 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, - 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, - 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, - 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, - 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, - 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, - 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, - 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, - 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, - 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, - 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, - 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, - 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, - 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, - 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, - 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, - 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, - 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, - 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, - 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, - 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, - 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, - 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, - 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, - 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, - 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, - 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, - 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, - 128,128,2,53,69,192,64,96,64,192,6,33,49,192,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,255, - 2,37,53,128,64,64,64,64,2,53,69,160,160,160,96,32, - 2,53,69,192,32,192,32,192,255,255,255,2,53,69,128,192, - 160,160,64,255,255,2,53,69,64,160,160,96,32,255,255,255, - 255,255,255,255,255,255,255,255,2,53,69,224,32,32,64,128, - 255,255,255,2,53,69,64,160,160,160,64,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,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,255,255,255 - }; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24n[136] U8G_FONT_SECTION("u8g_font_04b_24n") = { - 1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,53,69,32,32,64, - 128,128,2,53,69,224,160,160,160,224,2,37,53,192,64,64, - 64,64,2,53,69,224,32,224,128,224,2,53,69,224,32,224, - 32,224,2,53,69,160,160,160,224,32,2,53,69,224,128,224, - 32,224,2,53,69,128,224,160,160,224,2,53,69,224,32,32, - 64,128,2,53,69,224,160,224,160,224,2,53,69,224,160,160, - 224,32,3,19,35,128,0,128}; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24r[735] U8G_FONT_SECTION("u8g_font_04b_24r") = { - 1,5,6,0,255,5,0,250,1,241,32,127,0,5,255,5, - 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, - 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, - 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, - 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, - 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, - 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, - 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, - 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, - 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, - 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, - 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, - 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, - 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, - 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, - 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, - 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, - 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, - 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, - 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, - 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, - 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, - 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, - 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, - 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, - 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, - 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, - 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, - 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, - 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, - 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, - 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, - 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, - 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, - 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, - 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, - 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, - 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, - 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, - 128,128,2,53,69,192,64,96,64,192,6,33,49,192,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 13 - Calculated Max Values w=10 h=20 x= 9 y=13 dx=10 dy= 0 ascent=16 len=40 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent =13 descent= 0 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[4734] U8G_FONT_SECTION("u8g_font_10x20_67_75") = { - 0,10,20,0,252,5,2,211,5,193,32,255,0,16,252,13, - 0,9,6,12,10,0,3,54,0,27,0,255,128,255,128,27, - 0,54,0,8,13,13,10,1,0,24,24,24,24,153,219,126, - 60,153,219,126,60,24,9,8,16,10,0,2,25,128,51,0, - 102,0,252,0,252,0,102,0,51,0,25,128,9,8,16,10, - 0,2,204,0,102,0,51,0,31,128,31,128,51,0,102,0, - 204,0,9,8,16,10,0,2,25,128,49,128,97,128,255,128, - 255,128,97,128,49,128,25,128,8,13,13,10,1,0,24,60, - 126,219,153,24,24,24,24,24,24,255,255,9,8,16,10,0, - 2,204,0,198,0,195,0,255,128,255,128,195,0,198,0,204, - 0,8,13,13,10,1,0,255,255,24,24,24,24,24,24,153, - 219,126,60,24,8,13,13,10,1,0,24,60,126,219,153,24, - 153,219,126,60,24,255,255,9,8,16,10,0,2,27,0,51, - 128,97,128,255,128,255,0,96,0,48,0,24,0,9,8,16, - 10,0,2,108,0,230,0,195,0,255,128,127,128,3,0,6, - 0,12,0,9,8,16,10,0,2,25,0,51,128,98,128,255, - 128,255,0,98,0,50,0,24,0,9,8,16,10,0,2,76, - 0,230,0,163,0,255,128,127,128,35,0,38,0,12,0,10, - 8,16,10,0,2,18,0,51,0,109,128,255,192,243,192,97, - 128,51,0,18,0,10,8,16,10,0,2,18,0,55,0,101, - 128,255,192,255,192,105,128,59,0,18,0,10,15,30,10,0, - 0,1,192,3,128,7,0,14,0,28,0,63,192,127,192,3, - 128,7,0,206,0,220,0,248,0,240,0,252,0,252,0,8, - 13,13,10,1,0,48,96,255,255,99,51,3,3,3,3,3, - 3,3,8,13,13,10,1,0,12,6,255,255,198,204,192,192, - 192,192,192,192,192,8,13,13,10,1,0,3,3,3,3,3, - 3,3,51,99,255,255,96,48,8,13,13,10,1,0,192,192, - 192,192,192,192,192,204,198,255,255,6,12,8,13,13,10,1, - 0,252,252,12,12,12,12,12,12,12,45,63,30,12,8,9, - 9,10,1,1,3,3,3,51,99,255,255,96,48,9,8,16, - 10,0,0,14,0,31,0,59,128,49,128,181,128,253,128,121, - 128,49,128,9,8,16,10,0,0,56,0,124,0,238,0,198, - 0,214,128,223,128,207,0,198,0,9,13,26,10,0,0,255, - 128,255,128,32,0,124,0,127,0,122,0,216,0,204,0,140, - 0,6,0,6,0,3,0,3,0,9,13,26,10,0,0,204, - 0,216,0,255,128,255,128,216,0,204,0,0,0,25,128,13, - 128,255,128,255,128,13,128,25,128,9,10,20,10,0,2,31, - 0,31,0,30,0,31,0,219,128,193,128,193,128,227,128,127, - 0,62,0,9,10,20,10,0,2,124,0,124,0,60,0,124, - 0,237,128,193,128,193,128,227,128,127,0,62,0,9,5,10, - 10,0,5,24,0,48,0,96,0,255,128,255,128,9,5,10, - 10,0,2,255,128,255,128,96,0,48,0,24,0,5,13,13, - 10,4,0,192,224,240,216,200,192,192,192,192,192,192,192,192, - 5,13,13,10,1,0,24,56,120,216,152,24,24,24,24,24, - 24,24,24,9,5,10,10,0,5,12,0,6,0,3,0,255, - 128,255,128,9,5,10,10,0,2,255,128,255,128,3,0,6, - 0,12,0,5,13,13,10,4,0,192,192,192,192,192,192,192, - 192,200,216,240,224,192,5,13,13,10,1,0,24,24,24,24, - 24,24,24,24,152,216,120,56,24,9,11,22,10,0,1,6, - 0,3,0,255,128,255,128,3,0,54,0,96,0,255,128,255, - 128,96,0,48,0,10,13,26,10,0,0,51,0,123,0,255, - 0,183,0,51,0,51,0,51,0,51,0,51,0,59,64,63, - 192,55,128,51,0,9,11,22,10,0,1,48,0,96,0,255, - 128,255,128,96,0,54,0,3,0,255,128,255,128,3,0,6, - 0,9,11,22,10,0,1,48,0,96,0,255,128,255,128,96, - 0,48,0,96,0,255,128,255,128,96,0,48,0,9,13,26, - 10,0,0,34,0,119,0,170,128,34,0,34,0,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,9,11,22, - 10,0,1,6,0,3,0,255,128,255,128,3,0,6,0,3, - 0,255,128,255,128,3,0,6,0,9,13,26,10,0,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, - 0,34,0,170,128,119,0,34,0,8,9,9,10,1,2,48, - 96,255,255,0,255,255,6,12,8,9,9,10,1,2,12,6, - 255,255,0,255,255,96,48,8,7,7,10,1,2,2,34,127, - 132,127,40,8,10,7,14,10,0,2,4,0,37,0,127,128, - 140,64,127,128,41,0,8,0,8,7,7,10,1,2,16,20, - 254,33,254,68,64,9,9,18,10,0,2,12,0,24,0,63, - 128,127,128,192,0,127,128,63,128,24,0,12,0,9,13,26, - 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, - 0,54,0,54,0,54,0,54,0,54,0,54,0,9,9,18, - 10,0,2,24,0,12,0,254,0,255,0,1,128,255,0,254, - 0,12,0,24,0,9,13,26,10,0,0,54,0,54,0,54, - 0,54,0,54,0,54,0,54,0,182,128,247,128,119,0,54, - 0,28,0,8,0,10,9,18,10,0,2,18,0,51,0,127, - 128,255,192,128,192,255,192,127,128,51,0,18,0,9,13,26, - 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, - 0,182,128,247,128,119,0,54,0,28,0,8,0,9,9,18, - 10,0,2,254,0,254,0,204,0,198,0,227,0,241,128,216, - 128,12,0,6,0,9,9,18,10,0,2,63,128,63,128,25, - 128,49,128,99,128,199,128,141,128,24,0,48,0,9,9,18, - 10,0,2,48,0,24,0,141,128,199,128,99,128,49,128,25, - 128,63,128,63,128,9,9,18,10,0,2,6,0,12,0,216, - 128,241,128,227,0,198,0,204,0,254,0,254,0,9,11,22, - 10,0,1,4,0,8,0,16,0,63,128,64,0,255,128,64, - 0,63,128,16,0,8,0,4,0,9,11,22,10,0,1,16, - 0,8,0,4,0,254,0,1,0,255,128,1,0,254,0,4, - 0,8,0,16,0,9,5,10,10,0,3,32,0,66,0,245, - 128,72,0,32,0,9,5,10,10,0,3,2,0,33,0,215, - 128,9,0,2,0,8,13,13,10,1,0,24,60,126,219,153, - 24,126,126,24,126,126,24,24,8,13,13,10,1,0,24,24, - 126,126,24,126,126,24,153,219,126,60,24,9,8,16,10,0, - 2,24,0,48,0,96,0,237,128,237,128,96,0,48,0,24, - 0,8,13,13,10,1,0,24,60,126,219,129,24,24,0,24, - 24,0,24,24,9,8,16,10,0,2,12,0,6,0,3,0, - 219,128,219,128,3,0,6,0,12,0,8,13,13,10,1,0, - 24,24,0,24,24,0,24,24,129,219,126,60,24,9,8,16, - 10,0,2,198,0,204,0,216,0,255,128,255,128,216,0,204, - 0,198,0,9,8,16,10,0,2,49,128,25,128,13,128,255, - 128,255,128,13,128,25,128,49,128,9,8,16,10,0,2,24, - 0,40,0,79,128,128,128,128,128,79,128,40,0,24,0,8, - 13,13,10,1,0,24,36,66,129,231,36,36,36,36,36,36, - 36,60,9,8,16,10,0,2,12,0,10,0,249,0,128,128, - 128,128,249,0,10,0,12,0,8,13,13,10,1,0,60,36, - 36,36,36,36,36,36,231,129,66,36,24,8,13,13,10,1, - 0,24,36,66,129,231,36,36,60,0,60,36,36,60,8,13, - 13,10,1,0,24,36,66,129,231,36,36,36,36,36,231,129, - 255,8,13,13,10,1,0,24,36,126,129,231,36,36,36,36, - 36,231,129,255,9,14,28,10,0,0,8,0,28,0,42,0, - 73,0,136,128,235,128,42,0,42,0,42,0,42,0,42,0, - 235,128,136,128,255,128,8,13,13,10,1,0,24,36,90,231, - 66,231,36,36,36,36,36,36,60,8,13,13,10,1,0,24, - 36,90,231,66,231,36,36,36,36,231,129,255,9,8,16,10, - 0,2,236,0,170,0,185,0,128,128,128,128,185,0,170,0, - 236,0,8,8,8,10,1,2,255,128,188,168,184,164,130,129, - 8,8,8,10,1,2,129,65,37,29,21,61,1,255,8,13, - 13,10,1,0,24,36,66,231,36,36,36,36,36,231,66,36, - 24,9,6,12,10,0,3,38,0,83,0,255,128,255,128,83, - 0,38,0,10,13,26,10,0,0,51,0,55,128,63,192,59, - 64,51,0,51,0,51,0,51,0,51,0,183,0,255,0,123, - 0,51,0,9,16,32,10,0,254,6,0,3,0,255,128,255, - 128,3,0,6,0,3,0,255,128,255,128,3,0,6,0,3, - 0,255,128,255,128,3,0,6,0,9,8,16,10,0,2,22, - 0,54,0,102,0,255,128,255,128,102,0,54,0,22,0,9, - 8,16,10,0,2,52,0,54,0,51,0,255,128,255,128,51, - 0,54,0,52,0,10,6,12,10,0,3,45,0,109,128,255, - 192,255,192,109,128,45,0,9,6,12,10,0,3,42,0,106, - 0,255,128,255,128,106,0,42,0,9,6,12,10,0,3,42, - 0,43,0,255,128,255,128,43,0,42,0,9,6,12,10,0, - 3,85,0,213,128,255,128,255,128,213,128,85,0,9,8,16, - 10,0,2,16,0,48,0,112,0,223,128,223,128,112,0,48, - 0,16,0,9,8,16,10,0,2,4,0,6,0,7,0,253, - 128,253,128,7,0,6,0,4,0,10,8,16,10,0,2,18, - 0,51,0,115,128,222,192,222,192,115,128,51,0,18,0,10, - 10,20,10,0,6,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,10,3,6,10,0,252,255, - 192,255,192,255,192,10,5,10,10,0,252,255,192,255,192,255, - 192,255,192,255,192,10,8,16,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,10,10,20,10,0, - 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,10,12,24,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,10,15,30,10,0,252,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,10,17,34,10,0,252,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,10, - 20,40,10,0,252,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,9,20,40, - 10,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,7,20,20,10,0, - 252,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, - 254,254,254,254,254,6,20,20,10,0,252,252,252,252,252,252, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 20,20,10,0,252,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,4,20,20,10,0,252,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,3,20,20,10,0,252,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,1,20,20, - 10,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,5,20,20,10,5,252,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,10,19,38,10,0,253,85,64,0,0,170,128,0,0,85, - 64,0,0,170,128,0,0,85,64,0,0,170,128,0,0,85, - 64,0,0,170,128,0,0,85,64,0,0,170,128,10,20,40, - 10,0,252,85,64,170,128,85,64,170,128,85,64,170,128,85, - 64,170,128,85,64,170,128,85,64,170,128,85,64,170,128,85, - 64,170,128,85,64,170,128,85,64,170,128,10,20,40,10,0, - 252,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, - 192,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, - 192,85,64,255,192,170,128,255,192,10,3,6,10,0,13,255, - 192,255,192,255,192,1,20,20,10,9,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,5, - 10,10,10,0,252,248,248,248,248,248,248,248,248,248,248,5, - 10,10,10,5,252,248,248,248,248,248,248,248,248,248,248,5, - 10,10,10,0,6,248,248,248,248,248,248,248,248,248,248,10, - 20,40,10,0,252,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,10,20,40, - 10,0,252,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,10,20,40,10,0, - 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,10,20,40,10,0,252,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,5,10,10,10,5,6,248,248,248, - 248,248,248,248,248,248,248,10,20,40,10,0,252,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,10,20,40,10,0,252,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,8,8,8,10,1,1,255,255,255,255,255,255,255, - 255,8,8,8,10,1,1,255,129,129,129,129,129,129,255,8, - 8,8,10,1,1,126,129,129,129,129,129,129,126,8,8,8, - 10,1,1,255,129,189,189,189,189,129,255,9,9,18,10,0, - 0,255,128,128,128,255,128,128,128,255,128,128,128,255,128,128, - 128,255,128,9,9,18,10,0,0,255,128,170,128,170,128,170, - 128,170,128,170,128,170,128,170,128,255,128,9,9,18,10,0, - 0,255,128,170,128,255,128,170,128,255,128,170,128,255,128,170, - 128,255,128,8,8,8,10,1,1,255,201,165,147,201,165,147, - 255,8,8,8,10,1,1,255,147,165,201,147,165,201,255,8, - 8,8,10,1,1,255,171,197,171,145,171,197,255,4,4,4, - 10,3,3,240,240,240,240,4,4,4,10,3,3,240,144,144, - 240,8,6,6,10,1,3,255,255,255,255,255,255,8,6,6, - 10,1,3,255,129,129,129,129,255,6,13,13,10,2,0,252, - 252,252,252,252,252,252,252,252,252,252,252,252,6,13,13,10, - 2,0,252,132,132,132,132,132,132,132,132,132,132,132,252,8, - 4,4,10,1,3,31,62,124,248,8,4,4,10,1,3,31, - 34,68,248,8,8,8,10,1,2,24,24,60,60,126,126,255, - 255,8,8,8,10,1,2,24,24,36,36,66,66,129,255,5, - 5,5,10,3,3,32,112,112,248,248,5,5,5,10,3,3, - 32,80,80,136,248,8,8,8,10,1,2,192,240,252,255,255, - 252,240,192,8,8,8,10,1,2,192,176,140,131,131,140,176, - 192,5,5,5,10,3,3,192,240,248,240,192,5,5,5,10, - 3,3,192,176,136,176,192,8,5,5,10,1,4,224,252,255, - 252,224,8,5,5,10,1,4,224,156,131,156,224,8,8,8, - 10,1,2,255,255,126,126,60,60,24,24,8,8,8,10,1, - 2,255,129,66,66,36,36,24,24,5,5,5,10,3,3,248, - 248,112,112,32,5,5,5,10,3,3,248,136,80,80,32,8, - 8,8,10,1,2,3,15,63,255,255,63,15,3,8,8,8, - 10,1,2,3,13,49,193,193,49,13,3,5,5,5,10,3, - 3,24,120,248,120,24,5,5,5,10,3,3,24,104,136,104, - 24,8,5,5,10,1,4,7,63,255,63,7,8,5,5,10, - 1,4,7,57,193,57,7,8,8,8,10,1,2,24,60,126, - 255,255,126,60,24,8,8,8,10,1,2,24,36,66,129,129, - 66,36,24,8,8,8,10,1,2,24,36,90,189,189,90,36, - 24,8,8,8,10,1,1,60,66,153,189,189,153,66,60,9, - 15,30,10,1,255,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,65,0,65,0,34,0,34,0,20,0,20, - 0,8,0,8,8,8,10,1,1,60,66,129,129,129,129,66, - 60,7,7,7,10,1,2,40,0,130,0,130,0,40,7,7, - 7,10,1,2,56,108,170,170,170,108,56,8,8,8,10,1, - 1,60,66,153,165,165,153,66,60,8,8,8,10,1,1,60, - 126,255,255,255,255,126,60,8,8,8,10,1,1,60,114,241, - 241,241,241,114,60,8,8,8,10,1,1,60,78,143,143,143, - 143,78,60,8,8,8,10,1,1,60,66,129,129,255,255,126, - 60,8,8,8,10,1,1,60,126,255,255,129,129,66,60,8, - 8,8,10,1,1,60,78,143,143,129,129,66,60,8,8,8, - 10,1,1,60,78,143,143,255,255,126,60,4,8,8,10,1, - 1,48,112,240,240,240,240,112,48,4,8,8,10,5,1,192, - 224,240,240,240,240,224,192,10,20,40,10,0,252,255,192,255, - 192,255,192,255,192,255,192,255,192,225,192,192,192,128,64,128, - 64,128,64,128,64,192,192,225,192,255,192,255,192,255,192,255, - 192,255,192,255,192,10,20,40,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,225,192,222,192,191,64,191,64,191, - 64,191,64,222,192,225,192,255,192,255,192,255,192,255,192,255, - 192,255,192,10,10,20,10,0,6,255,192,255,192,255,192,255, - 192,255,192,255,192,225,192,222,192,191,64,191,64,10,10,20, - 10,0,252,191,64,191,64,222,192,225,192,255,192,255,192,255, - 192,255,192,255,192,255,192,4,4,4,10,1,5,48,64,128, - 128,4,4,4,10,5,5,192,32,16,16,4,4,4,10,5, - 1,16,16,32,192,4,4,4,10,1,1,128,128,64,48,8, - 4,4,10,1,5,60,66,129,129,8,4,4,10,1,1,129, - 129,66,60,10,19,38,10,0,252,0,64,0,64,0,192,0, - 192,1,192,1,192,3,192,3,192,7,192,7,192,15,192,15, - 192,31,192,31,192,63,192,63,192,127,192,127,192,255,192,10, - 19,38,10,0,252,128,0,128,0,192,0,192,0,224,0,224, - 0,240,0,240,0,248,0,248,0,252,0,252,0,254,0,254, - 0,255,0,255,0,255,128,255,128,255,192,10,19,38,10,0, - 253,255,192,255,128,255,128,255,0,255,0,254,0,254,0,252, - 0,252,0,248,0,248,0,240,0,240,0,224,0,224,0,192, - 0,192,0,128,0,128,0,10,19,38,10,0,253,255,192,127, - 192,127,192,63,192,63,192,31,192,31,192,15,192,15,192,7, - 192,7,192,3,192,3,192,1,192,1,192,0,192,0,192,0, - 64,0,64,5,5,5,10,3,4,112,136,136,136,112,8,8, - 8,10,1,1,255,241,241,241,241,241,241,255,8,8,8,10, - 1,1,255,143,143,143,143,143,143,255,8,8,8,10,1,1, - 255,253,249,241,225,193,129,255,8,8,8,10,1,1,255,129, - 131,135,143,159,191,255,9,9,18,10,0,0,255,128,136,128, - 136,128,136,128,136,128,136,128,136,128,136,128,255,128,8,8, - 8,10,1,2,24,24,36,36,90,90,129,255,8,8,8,10, - 1,2,24,24,52,52,114,114,241,255,8,8,8,10,1,2, - 24,24,44,44,78,78,143,255,10,10,20,10,0,0,30,0, - 33,0,64,128,128,64,128,64,128,64,128,64,64,128,33,0, - 30,0,9,9,18,10,0,0,255,128,136,128,136,128,136,128, - 248,128,128,128,128,128,128,128,255,128,9,9,18,10,0,0, - 255,128,128,128,128,128,128,128,248,128,136,128,136,128,136,128, - 255,128,9,9,18,10,0,0,255,128,128,128,128,128,128,128, - 143,128,136,128,136,128,136,128,255,128,9,9,18,10,0,0, - 255,128,136,128,136,128,136,128,143,128,128,128,128,128,128,128, - 255,128,9,9,18,10,0,0,62,0,73,0,136,128,136,128, - 248,128,128,128,128,128,65,0,62,0,9,9,18,10,0,0, - 62,0,65,0,128,128,128,128,248,128,136,128,136,128,73,0, - 62,0,9,9,18,10,0,0,62,0,65,0,128,128,128,128, - 143,128,136,128,136,128,73,0,62,0,9,9,18,10,0,0, - 62,0,73,0,136,128,136,128,143,128,128,128,128,128,65,0, - 62,0,6,6,6,10,2,2,252,136,144,160,192,128,6,6, - 6,10,2,2,252,68,36,20,12,4,6,6,6,10,2,2, - 128,192,160,144,136,252,6,6,6,10,2,2,252,132,132,132, - 132,252,6,6,6,10,2,2,252,252,252,252,252,252,4,4, - 4,10,3,3,240,144,144,240,4,4,4,10,3,3,240,240, - 240,240,6,6,6,10,2,2,4,12,20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 8, '1' Height: 4 - Calculated Max Values w= 9 h=15 x= 3 y= 4 dx=10 dy= 0 ascent=14 len=30 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =14 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_75r[693] U8G_FONT_SECTION("u8g_font_10x20_75r") = { - 0,10,20,0,252,8,1,219,0,0,32,79,0,14,255,9, - 0,8,8,8,10,1,1,255,255,255,255,255,255,255,255,8, - 8,8,10,1,1,255,129,129,129,129,129,129,255,8,8,8, - 10,1,1,126,129,129,129,129,129,129,126,8,8,8,10,1, - 1,255,129,189,189,189,189,129,255,9,9,18,10,0,0,255, - 128,128,128,255,128,128,128,255,128,128,128,255,128,128,128,255, - 128,9,9,18,10,0,0,255,128,170,128,170,128,170,128,170, - 128,170,128,170,128,170,128,255,128,9,9,18,10,0,0,255, - 128,170,128,255,128,170,128,255,128,170,128,255,128,170,128,255, - 128,8,8,8,10,1,1,255,201,165,147,201,165,147,255,8, - 8,8,10,1,1,255,147,165,201,147,165,201,255,8,8,8, - 10,1,1,255,171,197,171,145,171,197,255,4,4,4,10,3, - 3,240,240,240,240,4,4,4,10,3,3,240,144,144,240,8, - 6,6,10,1,3,255,255,255,255,255,255,8,6,6,10,1, - 3,255,129,129,129,129,255,6,13,13,10,2,0,252,252,252, - 252,252,252,252,252,252,252,252,252,252,6,13,13,10,2,0, - 252,132,132,132,132,132,132,132,132,132,132,132,252,8,4,4, - 10,1,3,31,62,124,248,8,4,4,10,1,3,31,34,68, - 248,8,8,8,10,1,2,24,24,60,60,126,126,255,255,8, - 8,8,10,1,2,24,24,36,36,66,66,129,255,5,5,5, - 10,3,3,32,112,112,248,248,5,5,5,10,3,3,32,80, - 80,136,248,8,8,8,10,1,2,192,240,252,255,255,252,240, - 192,8,8,8,10,1,2,192,176,140,131,131,140,176,192,5, - 5,5,10,3,3,192,240,248,240,192,5,5,5,10,3,3, - 192,176,136,176,192,8,5,5,10,1,4,224,252,255,252,224, - 8,5,5,10,1,4,224,156,131,156,224,8,8,8,10,1, - 2,255,255,126,126,60,60,24,24,8,8,8,10,1,2,255, - 129,66,66,36,36,24,24,5,5,5,10,3,3,248,248,112, - 112,32,5,5,5,10,3,3,248,136,80,80,32,8,8,8, - 10,1,2,3,15,63,255,255,63,15,3,8,8,8,10,1, - 2,3,13,49,193,193,49,13,3,5,5,5,10,3,3,24, - 120,248,120,24,5,5,5,10,3,3,24,104,136,104,24,8, - 5,5,10,1,4,7,63,255,63,7,8,5,5,10,1,4, - 7,57,193,57,7,8,8,8,10,1,2,24,60,126,255,255, - 126,60,24,8,8,8,10,1,2,24,36,66,129,129,66,36, - 24,8,8,8,10,1,2,24,36,90,189,189,90,36,24,8, - 8,8,10,1,1,60,66,153,189,189,153,66,60,9,15,30, - 10,1,255,8,0,20,0,20,0,34,0,34,0,65,0,65, - 0,128,128,65,0,65,0,34,0,34,0,20,0,20,0,8, - 0,8,8,8,10,1,1,60,66,129,129,129,129,66,60,7, - 7,7,10,1,2,40,0,130,0,130,0,40,7,7,7,10, - 1,2,56,108,170,170,170,108,56,8,8,8,10,1,1,60, - 66,153,165,165,153,66,60,8,8,8,10,1,1,60,126,255, - 255,255,255,126,60}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w=10 h=13 x= 4 y= 5 dx=10 dy= 0 ascent=13 len=24 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =13 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[2638] U8G_FONT_SECTION("u8g_font_10x20_78_79") = { - 0,10,20,0,252,9,1,212,2,205,32,255,0,13,0,11, - 0,9,9,18,10,0,0,54,0,28,0,136,128,201,128,119, - 0,201,128,136,128,28,0,54,0,9,9,18,10,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,10,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,10,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,10,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,10,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,10,0,0,8,0,28,0,28,0,127,0,255, - 128,127,0,28,0,28,0,8,0,9,9,18,10,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,10,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,10,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,10,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,127,0,119,0,99,0,255,255,255,255, - 255,8,9,9,10,0,0,24,219,255,126,24,126,255,219,24, - 8,9,9,10,0,0,24,219,255,102,36,102,255,219,24,9, - 9,18,10,0,0,8,0,73,0,42,0,28,0,255,128,28, - 0,42,0,73,0,8,0,9,9,18,10,0,0,8,0,73, - 0,62,0,62,0,255,128,62,0,62,0,73,0,8,0,7, - 7,7,10,1,0,16,146,124,56,124,146,16,9,9,18,10, - 0,0,34,0,20,0,148,128,127,0,28,0,127,0,148,128, - 20,0,34,0,255,255,255,255,9,11,22,10,0,0,28,0, - 28,0,201,128,201,128,62,0,28,0,62,0,201,128,201,128, - 28,0,28,0,9,11,22,10,0,0,28,0,28,0,201,128, - 201,128,62,0,28,0,62,0,201,128,201,128,28,0,28,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 9,8,16,10,0,1,62,0,67,0,129,128,129,128,129,128, - 129,128,67,0,62,0,255,9,9,18,10,0,0,254,0,130, - 0,131,128,131,128,131,128,131,128,255,128,63,128,63,128,9, - 9,18,10,0,0,63,128,63,128,255,128,131,128,131,128,131, - 128,131,128,130,0,254,0,8,8,8,10,0,0,254,131,131, - 131,131,131,255,127,8,8,8,10,0,0,127,255,131,131,131, - 131,131,254,255,255,255,9,9,18,10,0,0,8,0,28,0, - 28,0,107,0,247,128,107,0,28,0,28,0,8,0,255,1, - 10,10,10,4,0,128,128,128,128,128,128,128,128,128,128,2, - 10,10,10,3,0,192,192,192,192,192,192,192,192,192,192,3, - 10,10,10,3,0,224,224,224,224,224,224,224,224,224,224,4, - 6,6,10,3,5,112,128,224,240,240,96,4,6,6,10,3, - 5,96,240,240,112,16,224,9,6,12,10,0,5,115,128,132, - 0,231,0,247,128,247,128,99,0,9,6,12,10,0,5,99, - 0,247,128,247,128,115,128,16,128,231,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,9,9,18,10,0,0,127,0,247,128,231,128,247,128, - 247,128,247,128,247,128,227,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,253,128,251,128,247,128,237,128,193,128, - 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, - 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, - 127,0,243,128,235,128,219,128,193,128,251,128,251,128,241,128, - 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, - 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, - 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, - 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, - 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, - 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, - 127,0,9,9,18,10,0,0,127,0,128,128,136,128,152,128, - 136,128,136,128,156,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,152,128,132,128,132,128,136,128,156,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,152,128,132,128, - 136,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,136,128,152,128,168,128,188,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,156,128,144,128, - 152,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,140,128,144,128,152,128,148,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,156,128,132,128, - 136,128,136,128,136,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,136,128,148,128,136,128,148,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,136,128,148,128, - 140,128,132,128,136,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,164,128,170,128,170,128,170,128,164,128,128,128, - 127,0,9,9,18,10,0,0,127,0,247,128,231,128,247,128, - 247,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,253,128,251,128,247,128,239,128,193,128, - 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, - 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, - 127,0,243,128,235,128,219,128,193,128,251,128,251,128,251,128, - 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, - 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, - 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, - 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, - 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, - 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, - 127,0,7,8,8,10,1,1,48,24,12,254,254,12,24,48, - 255,255,255,7,5,5,10,1,1,224,250,62,14,30,8,7, - 7,10,1,1,8,12,230,255,230,12,8,7,5,5,10,1, - 1,30,14,62,250,224,9,7,14,10,0,0,48,0,28,0, - 31,0,255,128,31,0,28,0,48,0,9,9,18,10,0,0, - 28,0,30,0,15,0,255,128,255,128,255,128,15,0,30,0, - 28,0,9,5,10,10,0,1,2,0,3,0,255,128,3,0, - 2,0,9,7,14,10,0,0,4,0,6,0,255,0,255,128, - 255,0,6,0,4,0,9,5,10,10,0,1,2,0,183,0, - 183,128,183,0,2,0,9,5,10,10,0,1,2,0,171,0, - 171,128,171,0,2,0,9,5,10,10,0,1,2,0,255,0, - 255,128,255,0,2,0,9,8,16,10,0,1,128,0,112,0, - 78,0,33,128,31,128,62,0,112,0,128,0,9,8,16,10, - 0,1,128,0,112,0,62,0,31,128,33,128,78,0,112,0, - 128,0,9,8,16,10,0,1,128,0,112,0,62,0,31,128, - 31,128,62,0,112,0,128,0,9,7,14,10,0,0,132,0, - 134,0,255,0,255,128,127,0,6,0,4,0,9,7,14,10, - 0,0,4,0,6,0,127,0,255,128,255,0,134,0,132,0, - 6,9,9,10,2,0,16,16,248,248,252,248,248,16,16,8, - 9,9,10,0,1,4,4,254,254,255,254,254,4,4,9,9, - 18,10,0,0,24,0,28,0,22,0,243,0,129,128,243,0, - 22,0,28,0,24,0,9,9,18,10,0,0,24,0,28,0, - 26,0,249,0,192,128,249,0,26,0,28,0,24,0,9,9, - 18,10,0,0,0,128,1,128,62,128,64,128,129,128,243,0, - 238,0,60,0,56,0,9,9,18,10,0,0,56,0,60,0, - 238,0,243,0,129,128,64,128,62,128,1,128,0,128,8,9, - 9,10,0,1,16,24,20,242,129,243,118,28,24,8,9,9, - 10,0,1,24,28,118,243,129,242,20,24,16,9,8,16,10, - 0,1,4,0,250,0,129,0,64,128,129,128,251,0,6,0, - 4,0,255,9,8,16,10,0,2,4,0,6,0,251,0,129, - 128,64,128,129,0,250,0,4,0,9,9,18,10,0,1,28, - 0,127,0,251,128,1,128,0,128,1,128,251,128,127,0,28, - 0,9,5,10,10,0,3,210,0,43,0,127,128,43,0,210, - 0,9,9,18,10,0,0,16,0,56,0,92,0,236,0,116, - 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, - 0,123,0,7,128,123,0,242,0,9,9,18,10,0,0,3, - 128,1,128,2,128,60,0,116,0,236,0,92,0,56,0,16, - 0,9,9,18,10,0,0,16,0,24,0,28,0,252,0,124, - 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, - 0,123,0,127,128,123,0,242,0,9,9,18,10,0,0,3, - 128,1,128,2,128,60,0,124,0,252,0,28,0,24,0,16, - 0,255,255,255,255,9,7,14,10,0,1,20,0,10,0,253, - 0,0,128,253,0,10,0,20,0,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,9, - 12,24,10,0,0,224,128,49,128,49,128,42,128,42,128,36, - 128,36,128,42,128,42,128,49,128,49,128,224,128,9,12,24, - 10,0,0,131,128,198,0,198,0,170,0,170,0,146,0,146, - 0,170,0,170,0,198,0,198,0,131,128,9,12,24,10,0, - 0,193,128,99,0,99,0,85,0,85,0,73,0,73,0,85, - 0,85,0,99,0,99,0,193,128,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,8,13,13,10,1,0,255,216,216, - 216,216,216,216,216,216,216,216,216,255,8,13,13,10,1,0, - 255,27,27,27,27,27,27,27,27,27,27,27,255,4,13,13, - 10,4,0,16,48,32,96,64,192,128,192,64,96,32,48,16, - 4,13,13,10,4,0,128,192,64,96,32,48,16,48,32,96, - 64,192,128,7,13,13,10,1,0,18,54,36,108,72,216,144, - 216,72,108,36,54,18,7,13,13,10,2,0,144,216,72,108, - 36,54,18,54,36,108,72,216,144,255,255,255,255,255,255,255, - 255,255,10,8,16,10,0,2,24,0,48,0,96,0,255,192, - 255,192,96,0,48,0,24,0,10,8,16,10,0,2,6,0, - 3,0,1,128,255,192,255,192,1,128,3,0,6,0,10,8, - 16,10,0,2,18,0,51,0,97,128,255,192,255,192,97,128, - 51,0,18,0,10,9,18,10,0,2,12,0,24,0,63,192, - 127,192,192,0,127,192,63,192,24,0,12,0,10,9,18,10, - 0,2,12,0,6,0,255,0,255,128,0,192,255,128,255,0, - 6,0,12,0,10,9,18,10,0,2,18,0,51,0,127,128, - 255,192,128,192,255,192,127,128,51,0,18,0,10,8,16,10, - 0,2,24,192,48,192,96,192,255,192,255,192,96,192,48,192, - 24,192,10,8,16,10,0,2,198,0,195,0,193,128,255,192, - 255,192,193,128,195,0,198,0,10,9,18,10,0,2,12,64, - 24,64,63,192,127,192,192,64,127,192,63,192,24,64,12,64, - 10,9,18,10,0,2,140,0,134,0,255,0,255,128,128,192, - 255,128,255,0,134,0,140,0,10,8,16,10,0,2,6,0, - 3,0,171,128,170,192,85,192,85,128,3,0,6,0}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w= 9 h=17 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20[3453] U8G_FONT_SECTION("u8g_font_10x20") = { - 0,10,20,0,252,13,2,74,4,153,32,255,252,16,252,13, - 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, - 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, - 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, - 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, - 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, - 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, - 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, - 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, - 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, - 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, - 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, - 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, - 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, - 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, - 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, - 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, - 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, - 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, - 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, - 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, - 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, - 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, - 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, - 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, - 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, - 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, - 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, - 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, - 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, - 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, - 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, - 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, - 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, - 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, - 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, - 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, - 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, - 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, - 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, - 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, - 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, - 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, - 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, - 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, - 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, - 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, - 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, - 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, - 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, - 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, - 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, - 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, - 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, - 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, - 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, - 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, - 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, - 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, - 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, - 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, - 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, - 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, - 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, - 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, - 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, - 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, - 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, - 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, - 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, - 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, - 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, - 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, - 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, - 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, - 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, - 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, - 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, - 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, - 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, - 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, - 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, - 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, - 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, - 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, - 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, - 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, - 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, - 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, - 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, - 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, - 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, - 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, - 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, - 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, - 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, - 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, - 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, - 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, - 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, - 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, - 219,206,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,10,0,16,2,13,13,10,4,0,192, - 192,0,192,192,192,192,192,192,192,192,192,192,7,12,12,10, - 1,0,24,24,60,102,194,192,192,194,102,60,24,24,9,12, - 24,10,1,0,30,0,51,0,51,0,48,0,48,0,252,0, - 48,0,48,0,48,0,248,0,173,128,231,0,9,9,18,10, - 0,1,128,128,221,128,127,0,99,0,99,0,99,0,127,0, - 221,128,128,128,8,11,11,10,1,0,129,195,102,60,126,24, - 126,24,24,24,24,2,13,13,10,4,0,192,192,192,192,192, - 0,0,0,192,192,192,192,192,8,13,13,10,1,0,60,102, - 198,96,120,204,102,51,30,6,99,102,60,6,2,2,10,2, - 11,204,204,8,11,11,10,1,0,60,102,195,189,165,161,165, - 189,195,102,60,8,9,9,10,1,4,62,67,3,127,195,195, - 125,0,255,9,11,22,10,0,0,4,128,13,128,27,0,54, - 0,108,0,216,0,108,0,54,0,27,0,13,128,4,128,8, - 4,4,10,1,4,255,255,3,3,6,1,1,10,2,6,252, - 8,11,11,10,1,0,60,102,195,189,165,189,169,173,195,102, - 60,8,1,1,10,1,13,255,6,6,6,10,2,7,48,120, - 204,204,120,48,8,7,7,10,1,2,24,24,255,24,24,0, - 255,5,7,7,10,2,6,112,216,24,48,96,192,248,5,7, - 7,10,2,6,112,216,24,48,24,216,112,4,3,3,10,3, - 10,48,96,192,7,10,10,10,1,253,198,198,198,198,198,238, - 250,192,192,192,8,13,13,10,1,0,127,255,251,251,251,123, - 27,27,27,27,27,27,27,3,3,3,10,4,5,224,224,224, - 5,4,4,10,2,252,48,24,216,112,4,7,7,10,2,6, - 96,224,96,96,96,96,240,7,9,9,10,1,4,56,108,198, - 198,198,108,56,0,254,9,11,22,10,1,0,144,0,216,0, - 108,0,54,0,27,0,13,128,27,0,54,0,108,0,216,0, - 144,0,8,12,12,10,1,1,64,192,65,66,228,8,18,38, - 74,158,2,2,8,12,12,10,1,1,64,192,65,66,228,8, - 22,41,65,130,4,15,8,12,12,10,1,1,224,16,97,18, - 228,8,18,38,74,159,2,2,8,13,13,10,1,0,24,24, - 0,24,24,24,48,96,195,195,195,102,60,8,15,15,10,1, - 0,96,48,24,0,24,60,102,195,195,195,255,195,195,195,195, - 8,15,15,10,1,0,6,12,24,0,24,60,102,195,195,195, - 255,195,195,195,195,8,15,15,10,1,0,24,60,102,0,24, - 60,102,195,195,195,255,195,195,195,195,8,15,15,10,1,0, - 50,126,76,0,24,60,102,195,195,195,255,195,195,195,195,8, - 15,15,10,1,0,102,102,0,24,60,102,102,195,195,195,255, - 195,195,195,195,8,16,16,10,1,0,60,102,102,60,0,24, - 60,102,195,195,195,255,195,195,195,195,8,13,13,10,1,0, - 31,60,108,108,204,204,255,204,204,204,204,204,207,8,17,17, - 10,1,252,60,102,195,192,192,192,192,192,192,192,195,102,60, - 24,12,108,56,8,15,15,10,1,0,96,48,24,0,255,192, - 192,192,192,252,192,192,192,192,255,8,15,15,10,1,0,12, - 24,48,0,255,192,192,192,192,252,192,192,192,192,255,8,15, - 15,10,1,0,24,60,102,0,255,192,192,192,192,252,192,192, - 192,192,255,8,15,15,10,1,0,102,102,0,0,255,192,192, - 192,192,252,192,192,192,192,255,6,15,15,10,2,0,96,48, - 24,0,252,48,48,48,48,48,48,48,48,48,252,6,15,15, - 10,2,0,24,48,96,0,252,48,48,48,48,48,48,48,48, - 48,252,6,15,15,10,2,0,48,120,204,0,252,48,48,48, - 48,48,48,48,48,48,252,6,15,15,10,2,0,204,204,0, - 252,48,48,48,48,48,48,48,48,48,48,252,9,13,26,10, - 0,0,126,0,99,0,97,128,97,128,97,128,97,128,249,128, - 97,128,97,128,97,128,97,128,99,0,126,0,8,15,15,10, - 1,0,50,126,76,0,195,227,243,243,219,219,207,207,199,195, - 195,8,15,15,10,1,0,48,24,12,0,60,102,195,195,195, - 195,195,195,195,102,60,8,15,15,10,1,0,12,24,48,0, - 60,102,195,195,195,195,195,195,195,102,60,8,15,15,10,1, - 0,24,60,102,0,60,102,195,195,195,195,195,195,195,102,60, - 8,15,15,10,1,0,50,126,76,0,60,102,195,195,195,195, - 195,195,195,102,60,8,15,15,10,1,0,102,102,0,60,102, - 195,195,195,195,195,195,195,195,102,60,7,8,8,10,1,0, - 130,198,108,56,56,108,198,130,8,15,15,10,1,255,1,62, - 102,199,199,203,203,203,211,211,211,227,102,124,128,8,15,15, - 10,1,0,48,24,12,0,195,195,195,195,195,195,195,195,195, - 102,60,8,15,15,10,1,0,12,24,48,0,195,195,195,195, - 195,195,195,195,195,102,60,8,15,15,10,1,0,24,60,102, - 0,195,195,195,195,195,195,195,195,195,102,60,8,15,15,10, - 1,0,102,102,0,195,195,195,195,195,195,195,195,195,195,102, - 60,8,15,15,10,1,0,12,24,48,0,195,195,102,102,60, - 60,24,24,24,24,24,7,13,13,10,2,0,192,192,192,252, - 198,198,198,198,198,252,192,192,192,8,13,13,10,1,0,28, - 54,99,99,102,236,108,102,99,99,99,102,108,8,12,12,10, - 1,0,48,24,12,0,126,195,3,127,195,195,195,125,8,12, - 12,10,1,0,12,24,48,0,126,195,3,127,195,195,195,125, - 8,12,12,10,1,0,24,60,102,0,126,195,3,127,195,195, - 195,125,8,12,12,10,1,0,50,126,76,0,126,195,3,127, - 195,195,195,125,8,11,11,10,1,0,102,102,0,126,195,3, - 127,195,195,195,125,8,13,13,10,1,0,60,102,102,60,0, - 126,195,3,127,195,195,195,125,8,8,8,10,1,0,118,155, - 27,30,120,216,217,110,8,12,12,10,1,252,62,99,192,192, - 192,192,99,62,24,12,108,56,8,12,12,10,1,0,96,48, - 24,0,60,102,195,255,192,192,99,62,8,12,12,10,1,0, - 6,12,24,0,60,102,195,255,192,192,99,62,8,12,12,10, - 1,0,24,60,102,0,60,102,195,255,192,192,99,62,8,11, - 11,10,1,0,102,102,0,60,102,195,255,192,192,99,62,8, - 12,12,10,1,0,96,48,24,0,120,24,24,24,24,24,24, - 255,8,12,12,10,1,0,12,24,48,0,120,24,24,24,24, - 24,24,255,8,12,12,10,1,0,24,60,102,0,120,24,24, - 24,24,24,24,255,8,11,11,10,1,0,102,102,0,120,24, - 24,24,24,24,24,255,8,13,13,10,1,0,136,216,112,112, - 216,140,62,103,195,195,195,102,60,8,12,12,10,1,0,50, - 126,76,0,220,230,195,195,195,195,195,195,8,12,12,10,1, - 0,96,48,24,0,60,102,195,195,195,195,102,60,8,12,12, - 10,1,0,6,12,24,0,60,102,195,195,195,195,102,60,8, - 12,12,10,1,0,24,60,102,0,60,102,195,195,195,195,102, - 60,8,12,12,10,1,0,50,126,76,0,60,102,195,195,195, - 195,102,60,8,11,11,10,1,0,102,102,0,60,102,195,195, - 195,195,102,60,8,10,10,10,1,1,24,24,0,0,255,255, - 0,0,24,24,8,10,10,10,1,255,1,62,102,203,203,211, - 211,102,124,128,8,12,12,10,1,0,48,24,12,0,195,195, - 195,195,195,195,103,59,8,12,12,10,1,0,6,12,24,0, - 195,195,195,195,195,195,103,59,8,12,12,10,1,0,24,60, - 102,0,195,195,195,195,195,195,103,59,8,11,11,10,1,0, - 102,102,0,195,195,195,195,195,195,103,59,8,16,16,10,1, - 252,12,24,48,0,195,195,195,195,195,195,103,59,3,195,102, - 60,7,17,17,10,2,252,192,192,192,192,192,192,248,204,198, - 198,198,204,248,192,192,192,192,8,15,15,10,1,252,102,102, - 0,195,195,195,195,195,195,103,59,3,195,102,60}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w= 9 h=15 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20r[1667] U8G_FONT_SECTION("u8g_font_10x20r") = { - 0,10,20,0,252,13,2,74,4,153,32,127,252,16,252,13, - 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, - 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, - 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, - 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, - 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, - 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, - 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, - 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, - 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, - 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, - 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, - 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, - 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, - 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, - 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, - 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, - 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, - 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, - 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, - 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, - 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, - 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, - 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, - 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, - 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, - 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, - 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, - 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, - 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, - 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, - 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, - 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, - 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, - 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, - 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, - 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, - 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, - 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, - 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, - 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, - 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, - 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, - 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, - 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, - 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, - 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, - 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, - 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, - 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, - 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, - 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, - 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, - 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, - 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, - 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, - 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, - 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, - 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, - 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, - 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, - 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, - 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, - 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, - 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, - 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, - 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, - 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, - 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, - 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, - 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, - 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, - 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, - 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, - 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, - 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, - 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, - 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, - 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, - 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, - 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, - 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, - 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, - 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, - 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, - 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, - 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, - 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, - 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, - 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, - 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, - 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, - 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, - 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, - 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, - 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, - 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, - 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, - 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, - 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, - 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, - 219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 4 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_4x6[1500] U8G_FONT_SECTION("u8g_font_4x6") = { - 1,4,6,0,255,5,1,3,1,250,32,255,255,5,255,5, - 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, - 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, - 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, - 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, - 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, - 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, - 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, - 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, - 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, - 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, - 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, - 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, - 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, - 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, - 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, - 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, - 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, - 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, - 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, - 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, - 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, - 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, - 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, - 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, - 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, - 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, - 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, - 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, - 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, - 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, - 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, - 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, - 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, - 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, - 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, - 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, - 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, - 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, - 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, - 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, - 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, - 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, - 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, - 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, - 54,70,128,64,96,64,64,128,5,66,66,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,7,0, - 64,18,21,69,128,0,128,128,128,2,53,69,64,224,128,224, - 64,2,53,69,32,64,96,64,160,2,68,68,144,96,96,144, - 2,53,69,160,64,224,64,64,18,21,69,128,128,0,128,128, - 1,54,70,96,192,160,96,32,192,6,49,65,160,1,70,70, - 96,144,208,208,144,96,2,53,69,96,160,96,0,224,3,67, - 67,80,160,80,3,50,66,224,32,4,49,65,224,3,68,68, - 96,240,208,96,6,49,65,224,4,51,67,64,160,64,2,53, - 69,64,224,64,0,224,3,36,68,192,64,128,192,2,37,69, - 192,64,128,64,128,21,34,66,64,128,1,53,69,160,160,160, - 192,128,2,69,69,112,208,208,80,80,20,17,65,128,18,34, - 66,64,128,3,36,68,64,192,64,64,2,53,69,64,160,64, - 0,224,3,67,67,160,80,160,1,70,70,128,128,128,80,112, - 16,1,70,70,128,128,176,16,32,48,1,70,70,192,64,128, - 80,176,16,2,53,69,64,0,64,128,96,2,53,69,128,64, - 160,224,160,2,53,69,32,64,160,224,160,2,53,69,192,64, - 160,224,160,2,53,69,96,192,160,224,160,2,53,69,160,64, - 160,224,160,2,53,69,64,64,160,224,160,2,69,69,112,160, - 240,160,176,1,54,70,64,160,128,160,64,128,2,53,69,128, - 224,192,128,224,2,53,69,32,224,192,128,224,2,53,69,96, - 224,192,128,224,2,53,69,160,224,192,128,224,2,53,69,128, - 224,64,64,224,2,53,69,32,224,64,64,224,2,53,69,64, - 224,64,64,224,2,53,69,160,64,64,64,224,2,69,69,224, - 80,208,80,224,2,69,69,80,160,224,224,160,2,53,69,128, - 64,160,160,64,2,53,69,32,64,160,160,64,2,53,69,64, - 64,160,160,64,2,69,69,112,224,160,160,64,2,53,69,160, - 64,160,160,64,3,51,67,160,64,160,2,53,69,96,160,224, - 160,192,2,53,69,128,64,160,160,224,2,53,69,32,64,160, - 160,224,2,53,69,64,0,160,160,224,2,53,69,160,0,160, - 160,224,2,53,69,32,0,160,64,64,2,53,69,128,192,160, - 192,128,1,54,70,64,160,192,160,224,128,2,53,69,128,64, - 96,160,96,2,53,69,32,64,96,160,96,2,53,69,96,0, - 96,160,96,2,69,69,80,160,96,160,96,2,53,69,160,0, - 96,160,96,2,53,69,64,0,96,160,96,2,68,68,112,176, - 160,112,1,53,69,64,160,128,96,64,2,53,69,128,64,160, - 192,96,2,53,69,32,64,160,192,96,2,53,69,192,64,160, - 192,96,2,53,69,160,64,160,192,96,2,53,69,128,64,64, - 64,224,2,53,69,32,192,64,64,224,2,53,69,64,160,64, - 64,224,2,53,69,160,0,192,64,224,2,53,69,160,64,96, - 160,64,2,69,69,80,160,192,160,160,2,53,69,128,64,64, - 160,64,2,53,69,32,64,64,160,64,2,53,69,64,0,64, - 160,64,2,53,69,224,0,64,160,64,2,53,69,160,0,64, - 160,64,2,53,69,64,0,224,0,64,2,52,68,96,160,160, - 192,2,53,69,128,64,160,160,96,2,53,69,32,64,160,160, - 96,2,53,69,64,0,160,160,96,2,53,69,160,0,160,160, - 96,1,54,70,32,64,160,224,32,192,1,54,70,128,128,192, - 160,192,128,1,54,70,160,0,160,224,32,192}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 4 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_4x6r[734] U8G_FONT_SECTION("u8g_font_4x6r") = { - 1,4,6,0,255,5,1,3,1,250,32,127,255,5,255,5, - 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, - 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, - 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, - 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, - 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, - 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, - 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, - 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, - 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, - 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, - 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, - 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, - 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, - 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, - 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, - 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, - 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, - 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, - 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, - 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, - 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, - 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, - 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, - 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, - 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, - 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, - 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, - 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, - 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, - 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, - 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, - 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, - 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, - 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, - 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, - 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, - 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, - 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, - 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, - 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, - 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, - 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, - 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, - 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, - 54,70,128,64,96,64,64,128,5,66,66,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x7[1624] U8G_FONT_SECTION("u8g_font_5x7") = { - 1,5,7,0,255,6,1,21,2,39,32,255,255,6,255,6, - 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, - 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, - 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, - 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, - 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, - 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, - 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, - 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, - 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, - 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, - 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, - 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, - 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, - 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, - 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, - 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, - 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, - 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, - 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, - 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, - 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, - 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, - 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, - 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, - 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, - 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, - 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, - 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, - 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, - 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, - 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, - 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, - 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, - 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, - 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, - 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, - 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, - 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, - 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, - 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, - 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, - 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, - 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, - 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, - 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, - 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, - 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, - 66,82,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,8,0,80,34,22,86,128,0,128,128,128, - 128,1,70,86,32,112,160,160,112,32,2,69,85,48,64,224, - 64,176,2,85,85,136,112,80,112,136,18,54,86,160,160,64, - 224,64,64,34,21,85,128,128,0,128,128,17,55,87,96,128, - 192,160,96,32,192,23,49,81,160,1,87,87,112,136,168,200, - 168,136,112,5,51,83,96,160,96,3,83,83,72,144,72,3, - 66,82,240,16,20,49,81,224,1,87,87,112,136,232,200,200, - 136,112,7,65,81,240,21,51,83,64,160,64,2,86,86,32, - 32,248,32,32,248,20,36,84,192,64,128,192,20,36,84,192, - 192,64,192,22,34,82,64,128,1,69,85,144,144,144,224,128, - 2,70,86,112,208,208,80,80,80,20,34,82,192,192,17,34, - 82,64,128,20,52,84,64,192,64,224,5,51,83,64,160,64, - 3,83,83,144,72,144,1,71,87,128,128,128,144,48,112,16, - 1,71,87,128,128,128,176,16,32,48,1,71,87,192,192,64, - 208,48,112,16,18,54,86,64,0,64,128,160,64,2,70,86, - 96,144,144,240,144,144,2,70,86,96,144,144,240,144,144,2, - 70,86,96,144,144,240,144,144,2,70,86,96,144,144,240,144, - 144,2,70,86,144,96,144,240,144,144,2,70,86,96,96,144, - 240,144,144,2,70,86,112,160,176,224,160,176,1,71,87,96, - 144,128,128,144,96,64,2,70,86,240,128,224,128,128,240,2, - 70,86,240,128,224,128,128,240,2,70,86,240,128,224,128,128, - 240,2,70,86,240,128,224,128,128,240,18,54,86,224,64,64, - 64,64,224,18,54,86,224,64,64,64,64,224,18,54,86,224, - 64,64,64,64,224,18,54,86,224,64,64,64,64,224,2,70, - 86,224,80,208,80,80,224,2,70,86,176,144,208,176,176,144, - 2,70,86,96,144,144,144,144,96,2,70,86,96,144,144,144, - 144,96,2,70,86,96,144,144,144,144,96,2,70,86,96,144, - 144,144,144,96,2,70,86,144,96,144,144,144,96,2,68,84, - 144,96,96,144,2,70,86,112,176,176,208,208,224,2,70,86, - 144,144,144,144,144,96,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,144,96,2,70,86,144,0,144,144,144, - 96,18,54,86,160,160,160,64,64,64,2,70,86,128,224,144, - 224,128,128,2,70,86,96,144,160,144,144,160,2,70,86,64, - 32,112,144,176,80,2,70,86,32,64,112,144,176,80,2,70, - 86,32,80,112,144,176,80,2,70,86,80,160,112,144,176,80, - 2,70,86,80,0,112,144,176,80,2,70,86,96,96,112,144, - 176,80,2,68,84,112,176,160,112,17,53,85,96,128,128,96, - 64,2,70,86,64,32,96,176,192,96,2,70,86,32,64,96, - 176,192,96,2,70,86,64,160,96,176,192,96,2,70,86,160, - 0,96,176,192,96,18,54,86,128,64,192,64,64,224,18,54, - 86,64,128,192,64,64,224,18,54,86,64,160,192,64,64,224, - 18,54,86,160,0,192,64,64,224,2,70,86,64,48,96,144, - 144,96,2,70,86,80,160,224,144,144,144,2,70,86,64,32, - 96,144,144,96,2,70,86,32,64,96,144,144,96,2,70,86, - 96,0,96,144,144,96,2,70,86,80,160,96,144,144,96,2, - 70,86,80,0,96,144,144,96,2,69,85,96,0,240,0,96, - 2,68,84,112,176,208,224,2,70,86,64,32,144,144,144,112, - 2,70,86,32,64,144,144,144,112,2,70,86,96,0,144,144, - 144,112,2,70,86,80,0,144,144,144,112,1,71,87,32,64, - 144,144,80,32,64,1,70,86,128,224,144,144,224,128,1,71, - 87,80,0,144,144,80,32,64}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x7r[789] U8G_FONT_SECTION("u8g_font_5x7r") = { - 1,5,7,0,255,6,1,21,2,39,32,127,255,6,255,6, - 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, - 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, - 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, - 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, - 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, - 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, - 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, - 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, - 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, - 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, - 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, - 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, - 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, - 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, - 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, - 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, - 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, - 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, - 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, - 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, - 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, - 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, - 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, - 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, - 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, - 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, - 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, - 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, - 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, - 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, - 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, - 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, - 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, - 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, - 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, - 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, - 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, - 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, - 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, - 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, - 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, - 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, - 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, - 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, - 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, - 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, - 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, - 66,82,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 - Font Bounding box w= 5 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x8[1693] U8G_FONT_SECTION("u8g_font_5x8") = { - 1,5,8,0,255,6,1,33,2,53,32,255,255,7,255,6, - 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, - 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, - 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, - 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, - 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, - 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, - 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, - 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, - 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, - 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, - 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, - 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, - 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, - 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, - 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, - 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, - 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, - 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, - 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, - 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, - 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, - 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, - 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, - 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, - 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, - 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, - 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, - 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, - 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, - 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, - 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, - 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, - 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, - 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, - 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, - 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, - 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, - 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, - 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, - 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, - 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, - 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, - 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, - 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, - 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, - 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, - 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, - 66,82,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,9,0,80,34,22,86,128,0,128,128,128, - 128,1,70,86,32,112,160,160,112,32,2,70,86,32,80,224, - 64,80,160,2,85,85,136,112,80,112,136,2,86,86,136,80, - 248,32,248,32,34,23,87,128,128,128,0,128,128,128,2,71, - 87,112,128,224,144,112,16,224,23,49,81,160,2,86,86,112, - 168,200,200,168,112,20,53,85,96,160,96,0,224,3,67,83, - 80,160,80,18,51,83,224,32,32,20,49,81,224,2,86,86, - 112,232,216,232,216,112,23,49,81,224,21,51,83,64,160,64, - 18,53,85,64,224,64,0,224,20,53,85,64,160,32,64,224, - 20,53,85,192,32,192,32,192,22,34,82,64,128,1,69,85, - 144,144,144,224,128,2,86,86,120,232,232,104,40,40,36,17, - 81,128,17,34,82,64,128,20,53,85,64,192,64,64,224,20, - 53,85,64,160,64,0,224,3,67,83,160,80,160,2,71,87, - 128,128,128,160,96,240,32,2,71,87,128,128,160,208,16,32, - 112,2,71,87,128,64,128,96,160,240,32,18,54,86,64,0, - 64,128,160,64,2,71,87,64,32,96,144,240,144,144,2,71, - 87,32,64,96,144,240,144,144,2,71,87,96,144,96,144,240, - 144,144,2,71,87,80,160,96,144,240,144,144,2,71,87,144, - 0,96,144,240,144,144,2,71,87,96,144,96,144,240,144,144, - 2,70,86,112,160,160,240,160,176,1,71,87,96,144,128,128, - 144,96,64,2,71,87,64,32,240,128,224,128,240,2,71,87, - 32,64,240,128,224,128,240,2,71,87,96,144,240,128,224,128, - 240,2,71,87,144,0,240,128,224,128,240,18,55,87,128,64, - 224,64,64,64,224,18,55,87,32,64,224,64,64,64,224,18, - 55,87,64,160,224,64,64,64,224,18,55,87,160,0,224,64, - 64,64,224,2,86,86,112,72,232,72,72,112,2,71,87,80, - 160,144,208,176,144,144,2,71,87,64,32,96,144,144,144,96, - 2,71,87,32,64,96,144,144,144,96,2,71,87,96,144,96, - 144,144,144,96,2,71,87,80,160,96,144,144,144,96,2,71, - 87,144,0,96,144,144,144,96,18,51,83,160,64,160,2,70, - 86,112,176,176,208,208,224,2,71,87,64,32,144,144,144,144, - 96,2,71,87,32,64,144,144,144,144,96,2,71,87,96,144, - 144,144,144,144,96,2,71,87,144,0,144,144,144,144,96,2, - 87,87,16,32,136,80,32,32,32,2,70,86,128,224,144,144, - 224,128,2,70,86,96,144,160,160,144,160,2,71,87,64,32, - 0,112,144,144,112,2,71,87,32,64,0,112,144,144,112,2, - 71,87,32,80,0,112,144,144,112,2,71,87,80,160,0,112, - 144,144,112,2,70,86,80,0,112,144,144,112,2,71,87,96, - 144,96,112,144,144,112,2,84,84,240,104,176,120,17,53,85, - 96,128,128,96,64,2,71,87,64,32,0,96,176,192,96,2, - 71,87,32,64,0,96,176,192,96,2,71,87,96,144,0,96, - 176,192,96,2,70,86,80,0,96,176,192,96,18,55,87,128, - 64,0,192,64,64,224,18,55,87,32,64,0,192,64,64,224, - 18,55,87,64,160,0,192,64,64,224,18,54,86,160,0,192, - 64,64,224,2,71,87,160,64,160,16,112,144,96,2,71,87, - 80,160,0,224,144,144,144,2,71,87,64,32,0,96,144,144, - 96,2,71,87,32,64,0,96,144,144,96,2,71,87,96,144, - 0,96,144,144,96,2,71,87,80,160,0,96,144,144,96,2, - 70,86,144,0,96,144,144,96,18,53,85,64,0,224,0,64, - 2,68,84,112,176,208,224,2,71,87,64,32,0,144,144,144, - 112,2,71,87,32,64,0,144,144,144,112,2,71,87,96,144, - 0,144,144,144,112,2,70,86,144,0,144,144,144,112,1,72, - 88,32,64,0,144,144,112,144,96,1,71,87,128,128,224,144, - 224,128,128,1,71,87,144,0,144,144,112,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 - Font Bounding box w= 5 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x8r[805] U8G_FONT_SECTION("u8g_font_5x8r") = { - 1,5,8,0,255,6,1,33,2,53,32,127,255,7,255,6, - 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, - 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, - 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, - 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, - 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, - 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, - 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, - 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, - 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, - 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, - 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, - 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, - 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, - 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, - 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, - 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, - 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, - 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, - 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, - 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, - 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, - 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, - 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, - 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, - 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, - 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, - 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, - 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, - 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, - 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, - 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, - 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, - 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, - 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, - 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, - 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, - 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, - 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, - 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, - 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, - 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, - 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, - 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, - 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, - 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, - 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, - 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, - 66,82,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 6 h=10 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 "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x10[1866] U8G_FONT_SECTION("u8g_font_6x10") = { - 1,6,10,0,254,7,1,54,2,104,32,255,254,8,254,7, - 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, - 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, - 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, - 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, - 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, - 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, - 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, - 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, - 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, - 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, - 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, - 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, - 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, - 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, - 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, - 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, - 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, - 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, - 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, - 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, - 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, - 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, - 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, - 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, - 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, - 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, - 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, - 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, - 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, - 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, - 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, - 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, - 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, - 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, - 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, - 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, - 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, - 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, - 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, - 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, - 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, - 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, - 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, - 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, - 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, - 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, - 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, - 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, - 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, - 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, - 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, - 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, - 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, - 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, - 32,192,6,83,99,72,168,144,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,10,0,96,34,23,103,128, - 0,128,128,128,128,128,1,87,103,32,120,160,160,160,120,32, - 2,87,103,48,72,64,224,64,72,176,2,85,101,136,112,80, - 112,136,1,88,104,136,136,80,32,248,32,32,32,34,23,103, - 128,128,128,0,128,128,128,1,88,104,112,128,224,144,72,56, - 8,112,25,49,97,160,2,87,103,112,136,168,200,168,136,112, - 19,70,102,112,144,176,80,0,240,2,101,101,36,72,144,72, - 36,20,66,98,240,16,21,65,97,240,2,87,103,112,136,232, - 200,200,136,112,9,81,97,248,22,51,99,64,160,64,2,86, - 102,32,32,248,32,32,248,21,69,101,96,144,32,64,240,21, - 69,101,224,16,96,16,224,40,34,98,64,128,1,86,102,136, - 136,136,200,176,128,2,87,103,120,232,232,104,40,40,40,37, - 17,97,128,32,34,98,64,128,21,53,101,64,192,64,64,224, - 19,70,102,96,144,144,96,0,240,2,101,101,144,72,36,72, - 144,1,105,105,64,192,64,64,228,12,20,60,4,1,105,105, - 64,192,64,64,232,20,4,8,28,1,89,105,192,32,64,32, - 200,24,40,120,8,2,87,103,32,0,32,32,64,136,112,2, - 88,104,64,32,112,136,136,248,136,136,2,88,104,16,32,112, - 136,136,248,136,136,2,88,104,32,80,112,136,136,248,136,136, - 2,88,104,72,176,112,136,136,248,136,136,2,88,104,80,0, - 112,136,136,248,136,136,2,88,104,32,80,112,136,136,248,136, - 136,2,103,103,60,80,144,156,240,144,156,0,89,105,112,136, - 128,128,128,136,112,32,64,2,88,104,64,248,128,128,240,128, - 128,248,2,88,104,16,248,128,128,240,128,128,248,2,88,104, - 32,248,128,128,240,128,128,248,2,88,104,80,248,128,128,240, - 128,128,248,18,56,104,128,64,224,64,64,64,64,224,18,56, - 104,32,64,224,64,64,64,64,224,18,56,104,64,160,224,64, - 64,64,64,224,18,56,104,160,0,224,64,64,64,64,224,2, - 87,103,240,72,72,232,72,72,240,2,88,104,40,80,136,200, - 168,152,136,136,2,88,104,64,32,112,136,136,136,136,112,2, - 88,104,16,32,112,136,136,136,136,112,2,88,104,32,80,112, - 136,136,136,136,112,2,88,104,40,80,112,136,136,136,136,112, - 2,88,104,80,0,112,136,136,136,136,112,2,85,101,136,80, - 32,80,136,2,87,103,112,152,152,168,200,200,112,2,88,104, - 64,32,136,136,136,136,136,112,2,88,104,16,32,136,136,136, - 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,88, - 104,80,0,136,136,136,136,136,112,2,88,104,16,32,136,136, - 80,32,32,32,2,87,103,128,240,136,240,128,128,128,2,87, - 103,112,136,144,160,144,136,176,2,88,104,64,32,0,112,8, - 120,136,120,2,88,104,16,32,0,112,8,120,136,120,2,88, - 104,32,80,0,112,8,120,136,120,2,88,104,40,80,0,112, - 8,120,136,120,2,87,103,80,0,112,8,120,136,120,2,88, - 104,32,80,32,112,8,120,136,120,2,101,101,120,20,124,144, - 124,0,87,103,112,136,128,136,112,32,64,2,88,104,64,32, - 0,112,136,248,128,112,2,88,104,16,32,0,112,136,248,128, - 112,2,88,104,32,80,0,112,136,248,128,112,2,87,103,80, - 0,112,136,248,128,112,18,56,104,128,64,0,192,64,64,64, - 224,18,56,104,64,128,0,192,64,64,64,224,18,56,104,64, - 160,0,192,64,64,64,224,18,55,103,160,0,192,64,64,64, - 224,2,87,103,192,48,112,136,136,136,112,2,88,104,40,80, - 0,176,200,136,136,136,2,88,104,64,32,0,112,136,136,136, - 112,2,88,104,16,32,0,112,136,136,136,112,2,88,104,32, - 80,0,112,136,136,136,112,2,88,104,40,80,0,112,136,136, - 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, - 0,248,0,32,2,85,101,120,152,168,200,240,2,88,104,64, - 32,0,136,136,136,152,104,2,88,104,16,32,0,136,136,136, - 152,104,2,88,104,32,80,0,136,136,136,152,104,2,87,103, - 80,0,136,136,136,152,104,0,89,105,16,32,136,136,152,104, - 8,136,112,0,88,104,128,240,136,136,136,240,128,128,0,89, - 105,80,0,136,136,152,104,8,136,112}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 5 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 6 h=10 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 "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x10r[889] U8G_FONT_SECTION("u8g_font_6x10r") = { - 1,6,10,0,254,7,1,54,2,104,32,127,254,8,254,7, - 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, - 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, - 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, - 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, - 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, - 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, - 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, - 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, - 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, - 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, - 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, - 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, - 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, - 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, - 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, - 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, - 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, - 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, - 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, - 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, - 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, - 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, - 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, - 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, - 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, - 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, - 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, - 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, - 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, - 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, - 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, - 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, - 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, - 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, - 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, - 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, - 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, - 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, - 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, - 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, - 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, - 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, - 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, - 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, - 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, - 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, - 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, - 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, - 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, - 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, - 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, - 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, - 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, - 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, - 32,192,6,83,99,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 3, '1' Height: 8 - Calculated Max Values w= 6 h=12 x= 5 y= 8 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[2382] U8G_FONT_SECTION("u8g_font_6x12_67_75") = { - 1,6,12,0,254,3,2,41,3,99,0,255,0,10,254,8, - 0,2,87,103,168,0,136,0,136,0,168,2,87,103,240,136, - 232,168,232,136,240,2,87,103,112,168,248,168,248,168,112,2, - 87,103,112,136,8,8,8,136,112,18,69,101,96,144,16,144, - 96,1,88,104,112,136,128,128,136,120,8,8,2,87,103,32, - 32,32,32,168,112,32,2,103,103,248,252,252,156,252,252,248, - 2,87,103,112,248,248,168,248,248,112,255,255,255,255,255,255, - 255,3,85,101,32,64,248,64,32,2,87,103,32,112,168,32, - 32,32,32,3,85,101,32,16,248,16,32,2,87,103,32,32, - 32,32,168,112,32,4,83,99,80,248,80,2,87,103,32,112, - 168,32,168,112,32,2,89,105,192,240,224,160,32,16,16,8, - 8,2,89,105,24,120,56,40,32,64,64,128,128,2,89,105, - 128,128,64,64,32,40,56,120,24,2,89,105,8,8,16,16, - 32,160,224,240,192,3,101,101,40,72,252,80,48,3,101,101, - 48,40,252,72,80,4,99,99,192,216,100,4,99,99,12,108, - 152,3,101,101,40,80,252,80,40,2,88,104,32,112,168,112, - 168,32,32,32,3,101,101,80,40,252,40,80,2,88,104,32, - 32,32,168,112,168,112,32,3,101,101,36,72,240,72,36,3, - 101,101,144,72,60,72,144,3,85,101,40,72,248,72,40,2, - 87,103,32,112,168,32,32,32,248,3,85,101,160,144,248,144, - 160,2,87,103,248,32,32,32,168,112,32,2,87,103,32,112, - 168,32,168,112,248,3,101,101,40,68,248,64,32,3,101,101, - 80,136,124,8,16,3,101,101,32,76,252,72,40,3,101,101, - 16,200,252,72,80,3,100,100,72,220,236,72,3,101,101,8, - 88,252,104,64,2,87,103,128,144,176,208,144,56,16,2,88, - 104,32,64,248,72,40,8,8,8,2,88,104,32,16,248,144, - 160,128,128,128,2,88,104,8,8,8,40,72,248,64,32,2, - 87,103,128,128,160,144,248,16,32,3,84,100,240,16,56,16, - 3,85,101,8,8,72,248,64,3,85,101,48,72,72,232,72, - 3,85,101,96,144,144,184,16,2,88,104,248,128,224,192,160, - 32,16,16,2,89,105,160,192,248,192,168,24,248,24,40,2, - 86,102,56,48,168,136,136,112,2,86,102,224,96,168,136,136, - 112,5,83,99,32,64,248,3,83,99,248,64,32,34,56,104, - 128,192,160,128,128,128,128,128,2,56,104,32,96,160,32,32, - 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, - 56,104,128,128,128,128,128,160,192,128,2,56,104,32,32,32, - 32,32,160,96,32,2,89,105,32,16,248,16,32,64,248,64, - 32,2,88,104,80,240,80,80,80,80,120,80,2,89,105,32, - 64,248,64,32,16,248,16,32,2,89,105,32,64,248,64,32, - 64,248,64,32,2,88,104,80,248,80,80,80,80,80,80,2, - 89,105,32,16,248,16,32,16,248,16,32,2,88,104,80,80, - 80,80,80,80,248,80,2,87,103,32,64,248,0,248,16,32, - 2,87,103,32,16,248,0,248,64,32,2,103,103,20,40,124, - 144,124,32,80,2,103,103,8,88,252,164,252,104,64,2,103, - 103,160,80,248,36,248,16,40,3,85,101,32,120,128,120,32, - 2,87,103,32,80,216,80,80,80,80,3,85,101,32,240,8, - 240,32,2,87,103,80,80,80,80,216,80,32,3,101,101,72, - 252,132,252,72,2,88,104,32,80,216,80,80,216,80,32,2, - 102,102,248,160,208,168,148,8,2,102,102,124,20,44,84,164, - 64,2,102,102,64,164,84,44,20,124,2,102,102,8,148,168, - 208,160,248,2,103,103,16,60,64,252,64,60,16,2,103,103, - 32,240,8,252,8,240,32,3,100,100,64,232,212,64,3,100, - 100,8,92,172,8,2,88,104,32,112,168,32,112,32,112,32, - 2,88,104,32,112,32,112,32,168,112,32,3,101,101,32,64, - 212,64,32,2,88,104,32,112,136,32,0,32,0,32,3,101, - 101,16,8,172,8,16,2,88,104,32,0,32,0,32,136,112, - 32,3,85,101,160,192,248,192,160,3,85,101,40,24,248,24, - 40,3,85,101,32,120,136,120,32,2,88,104,32,80,216,80, - 80,80,80,112,3,85,101,32,240,136,240,32,2,88,104,112, - 80,80,80,80,216,80,32,2,89,105,32,80,216,80,112,0, - 112,80,112,2,89,105,32,80,216,80,80,80,216,136,248,2, - 89,105,32,80,248,136,80,80,216,136,248,2,89,105,32,112, - 248,112,112,112,248,168,248,2,89,105,32,80,216,80,216,80, - 80,80,112,2,89,105,32,80,216,80,216,80,216,136,248,3, - 85,101,160,240,136,240,160,2,88,104,248,128,176,160,144,16, - 8,8,2,88,104,128,128,64,72,40,104,8,248,2,88,104, - 32,80,216,80,80,216,80,32,3,101,101,16,104,252,104,16, - 2,88,104,80,120,80,80,80,80,240,80,2,89,105,16,248, - 16,16,248,16,16,248,16,3,101,101,40,72,252,72,40,3, - 101,101,80,72,252,72,80,3,101,101,48,120,252,120,48,3, - 101,101,56,88,252,88,56,3,101,101,112,104,252,104,112,3, - 101,101,48,120,252,120,48,3,85,101,32,96,184,96,32,3, - 85,101,32,48,232,48,32,3,101,101,48,120,180,120,48,6, - 102,102,252,252,252,252,252,252,0,98,98,252,252,0,99,99, - 252,252,252,0,101,101,252,252,252,252,252,0,102,102,252,252, - 252,252,252,252,0,104,104,252,252,252,252,252,252,252,252,0, - 105,105,252,252,252,252,252,252,252,252,252,0,107,107,252,252, - 252,252,252,252,252,252,252,252,252,0,108,108,252,252,252,252, - 252,252,252,252,252,252,252,252,0,92,108,248,248,248,248,248, - 248,248,248,248,248,248,248,0,76,108,240,240,240,240,240,240, - 240,240,240,240,240,240,0,76,108,240,240,240,240,240,240,240, - 240,240,240,240,240,0,60,108,224,224,224,224,224,224,224,224, - 224,224,224,224,0,44,108,192,192,192,192,192,192,192,192,192, - 192,192,192,0,44,108,192,192,192,192,192,192,192,192,192,192, - 192,192,0,28,108,128,128,128,128,128,128,128,128,128,128,128, - 128,48,60,108,224,224,224,224,224,224,224,224,224,224,224,224, - 1,107,107,168,0,84,0,168,0,84,0,168,0,84,0,108, - 108,168,84,168,84,168,84,168,84,168,84,168,84,0,108,108, - 84,252,168,252,84,252,168,252,84,252,168,252,10,98,98,252, - 252,80,28,108,128,128,128,128,128,128,128,128,128,128,128,128, - 0,54,102,224,224,224,224,224,224,48,54,102,224,224,224,224, - 224,224,6,54,102,224,224,224,224,224,224,0,108,108,224,224, - 224,224,224,224,252,252,252,252,252,252,0,108,108,224,224,224, - 224,224,224,28,28,28,28,28,28,0,108,108,252,252,252,252, - 252,252,224,224,224,224,224,224,0,108,108,252,252,252,252,252, - 252,28,28,28,28,28,28,54,54,102,224,224,224,224,224,224, - 0,108,108,28,28,28,28,28,28,224,224,224,224,224,224,0, - 108,108,28,28,28,28,28,28,252,252,252,252,252,252,2,85, - 101,248,248,248,248,248,2,85,101,248,136,136,136,248,2,85, - 101,112,136,136,136,112,2,85,101,248,136,168,136,248,2,85, - 101,248,136,248,136,248,2,85,101,248,168,168,168,248,2,85, - 101,248,168,248,168,248,2,85,101,248,200,168,152,248,2,85, - 101,248,152,168,200,248,2,85,101,248,216,168,216,248,20,51, - 99,224,224,224,20,51,99,224,160,224,3,101,101,252,252,252, - 252,252,3,101,101,252,132,132,132,252,17,74,106,240,240,240, - 240,240,240,240,240,240,240,17,74,106,240,144,144,144,144,144, - 144,144,144,240,4,99,99,60,120,240,4,99,99,60,72,240, - 2,87,103,32,32,112,112,248,248,248,2,87,103,32,32,80, - 80,136,136,248,3,85,101,32,32,112,112,248,3,85,101,32, - 32,80,80,248,18,71,103,128,192,224,240,224,192,128,18,71, - 103,128,192,160,144,160,192,128,19,53,101,128,192,224,192,128, - 19,53,101,128,192,160,192,128,3,101,101,192,240,252,240,192, - 3,101,101,192,176,140,176,192,2,87,103,248,248,248,112,112, - 32,32,2,87,103,248,136,136,80,80,32,32,2,85,101,248, - 112,112,32,32,2,85,101,248,80,80,32,32,18,71,103,16, - 48,112,240,112,48,16,18,71,103,16,48,80,144,80,48,16, - 19,53,101,32,96,224,96,32,19,53,101,32,96,160,96,32, - 3,101,101,12,60,252,60,12,3,101,101,12,52,196,52,12, - 3,85,101,32,112,248,112,32,3,85,101,32,80,136,80,32, - 3,85,101,32,80,168,80,32,2,102,102,48,72,180,180,72, - 48,2,87,103,32,80,80,136,80,80,32,2,102,102,48,72, - 132,132,72,48,2,102,102,32,8,128,4,64,16,2,85,101, - 112,168,168,168,112,2,87,103,112,136,168,216,168,136,112,2, - 102,102,48,120,252,252,120,48,2,102,102,48,104,228,228,104, - 48,2,102,102,48,88,156,156,88,48,2,102,102,48,72,132, - 252,120,48,2,102,102,48,120,252,132,72,48,2,102,102,48, - 88,156,132,72,48,2,102,102,48,104,228,132,72,48,18,89, - 105,8,56,120,120,248,120,120,56,8,2,89,105,128,224,240, - 240,248,240,240,224,128,0,108,108,252,252,252,252,204,132,132, - 204,252,252,252,252,0,108,108,252,252,252,204,180,120,120,180, - 204,252,252,252,6,102,102,252,252,252,204,180,120,0,102,102, - 120,180,204,252,252,252,5,51,99,32,64,128,53,51,99,128, - 64,32,50,51,99,32,64,128,2,51,99,128,64,32,5,99, - 99,48,72,132,2,99,99,132,72,48,2,85,101,8,24,56, - 120,248,2,85,101,128,192,224,240,248,2,85,101,248,240,224, - 192,128,2,85,101,248,120,56,24,8,2,85,101,112,136,136, - 136,112,2,85,101,248,232,232,232,248,2,85,101,248,184,184, - 184,248,2,85,101,248,248,232,200,248,2,85,101,248,152,184, - 248,248,2,85,101,248,168,168,168,248,2,87,103,32,32,80, - 112,168,136,248,2,87,103,32,32,112,112,232,232,248,2,87, - 103,32,32,112,112,184,184,248,2,103,103,48,72,132,132,132, - 72,48,2,85,101,248,168,232,136,248,2,85,101,248,136,232, - 168,248,2,85,101,248,136,184,168,248,2,85,101,248,168,184, - 136,248,2,85,101,112,168,232,136,112,2,85,101,112,136,232, - 168,112,2,85,101,112,136,184,168,112,2,85,101,112,168,184, - 136,112,3,85,101,248,144,160,192,128,3,85,101,248,72,40, - 24,8,3,85,101,128,192,160,144,248,20,68,100,240,144,144, - 240,19,68,100,240,240,240,240,20,68,100,240,144,144,240,20, - 68,100,240,240,240,240,3,85,101,8,24,40,72,248}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 3 - Calculated Max Values w= 6 h=10 x= 1 y= 2 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_75r[427] U8G_FONT_SECTION("u8g_font_6x12_75r") = { - 1,6,12,0,254,7,1,41,0,0,32,79,0,9,255,7, - 0,2,85,101,248,248,248,248,248,2,85,101,248,136,136,136, - 248,2,85,101,112,136,136,136,112,2,85,101,248,136,168,136, - 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, - 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, - 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, - 248,20,51,99,224,224,224,20,51,99,224,160,224,3,101,101, - 252,252,252,252,252,3,101,101,252,132,132,132,252,17,74,106, - 240,240,240,240,240,240,240,240,240,240,17,74,106,240,144,144, - 144,144,144,144,144,144,240,4,99,99,60,120,240,4,99,99, - 60,72,240,2,87,103,32,32,112,112,248,248,248,2,87,103, - 32,32,80,80,136,136,248,3,85,101,32,32,112,112,248,3, - 85,101,32,32,80,80,248,18,71,103,128,192,224,240,224,192, - 128,18,71,103,128,192,160,144,160,192,128,19,53,101,128,192, - 224,192,128,19,53,101,128,192,160,192,128,3,101,101,192,240, - 252,240,192,3,101,101,192,176,140,176,192,2,87,103,248,248, - 248,112,112,32,32,2,87,103,248,136,136,80,80,32,32,2, - 85,101,248,112,112,32,32,2,85,101,248,80,80,32,32,18, - 71,103,16,48,112,240,112,48,16,18,71,103,16,48,80,144, - 80,48,16,19,53,101,32,96,224,96,32,19,53,101,32,96, - 160,96,32,3,101,101,12,60,252,60,12,3,101,101,12,52, - 196,52,12,3,85,101,32,112,248,112,32,3,85,101,32,80, - 136,80,32,3,85,101,32,80,168,80,32,2,102,102,48,72, - 180,180,72,48,2,87,103,32,80,80,136,80,80,32,2,102, - 102,48,72,132,132,72,48,2,102,102,32,8,128,4,64,16, - 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, - 136,112,2,102,102,48,120,252,252,120,48}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 6 h=12 x= 2 y= 4 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[2316] U8G_FONT_SECTION("u8g_font_6x12_78_79") = { - 1,6,12,0,254,6,2,80,3,53,0,255,0,10,254,9, - 0,2,87,103,168,0,136,0,136,0,168,3,101,101,144,252, - 32,64,96,3,101,101,196,200,48,200,196,3,101,101,96,64, - 32,252,144,2,103,103,204,148,232,48,232,148,204,255,1,105, - 105,120,132,180,180,164,180,180,132,120,1,105,105,120,132,180, - 132,180,132,204,132,120,3,101,101,32,176,252,176,32,2,101, - 101,252,204,180,132,252,255,255,18,72,104,144,144,80,112,240, - 240,240,112,3,102,102,4,56,124,124,64,128,2,102,102,64, - 224,80,40,20,12,3,99,99,248,140,248,2,102,102,12,20, - 40,80,224,64,3,100,100,248,132,132,248,4,99,99,248,244, - 248,2,87,103,8,8,16,16,160,224,64,2,103,103,12,12, - 28,216,248,112,48,2,85,101,136,80,32,80,136,3,85,101, - 216,248,32,248,216,2,86,102,136,80,32,80,136,128,1,103, - 103,204,204,120,112,252,204,192,1,103,103,120,204,164,244,164, - 204,120,2,102,102,48,48,252,252,48,48,3,85,101,32,32, - 216,32,32,2,102,102,48,48,204,204,48,48,2,87,103,32, - 32,248,32,32,32,32,1,90,106,112,80,216,136,216,80,80, - 80,80,112,2,105,105,120,220,188,220,88,88,88,120,120,2, - 87,103,112,32,168,248,168,32,112,2,87,103,32,248,80,80, - 80,248,32,3,85,101,32,32,248,32,32,3,102,102,48,48, - 252,252,48,48,2,104,104,48,120,48,252,252,48,120,48,2, - 87,103,32,112,168,248,168,112,32,3,85,101,32,112,248,112, - 32,3,85,101,32,112,216,112,32,255,3,85,101,32,216,80, - 32,80,2,87,103,112,216,136,216,168,248,112,3,86,102,32, - 32,248,80,112,136,3,86,102,32,32,216,32,80,136,3,86, - 102,32,32,248,112,112,136,3,86,102,32,32,248,112,112,136, - 3,86,102,32,32,232,48,80,136,2,102,102,48,88,140,88, - 172,88,2,86,102,32,168,112,112,168,32,2,87,103,32,168, - 112,80,112,168,32,2,87,103,32,168,112,248,112,168,32,2, - 87,103,32,168,112,248,112,168,32,2,87,103,32,168,112,248, - 112,168,32,2,86,102,32,168,112,112,168,32,1,88,104,80, - 32,168,112,112,168,32,80,1,88,104,80,32,168,112,112,168, - 32,80,2,103,103,80,248,124,248,124,248,80,2,103,103,80, - 168,116,248,116,168,80,2,86,102,32,168,112,112,168,32,2, - 87,103,32,168,112,80,112,168,32,2,86,102,32,168,112,112, - 168,32,2,103,103,168,216,80,168,116,168,32,3,87,103,32, - 112,248,216,112,248,216,3,87,103,32,112,216,168,80,248,216, - 3,86,102,32,112,216,112,248,32,2,87,103,112,248,168,216, - 168,248,112,2,86,102,32,168,112,112,168,32,2,86,102,32, - 168,112,112,168,32,2,86,102,32,168,112,112,168,32,2,86, - 102,32,168,112,112,168,32,2,87,103,32,168,112,248,112,168, - 32,2,87,103,32,168,112,248,112,168,32,2,87,103,32,168, - 112,248,112,168,32,2,87,103,32,168,112,248,112,168,32,2, - 87,103,32,168,112,248,112,168,32,255,3,101,101,120,140,140, - 140,120,255,2,102,102,248,140,140,140,252,124,2,102,102,124, - 252,140,140,140,248,2,102,102,248,140,140,140,252,124,2,102, - 102,124,252,140,140,140,248,255,255,255,2,103,103,16,56,84, - 236,84,56,16,255,34,23,103,128,128,128,128,128,128,128,18, - 39,103,192,192,192,192,192,192,192,18,71,103,240,240,240,240, - 240,240,240,22,69,101,96,128,224,240,96,22,69,101,96,240, - 112,16,96,6,101,101,72,144,216,252,72,6,101,101,72,252, - 108,36,72,255,255,1,106,106,8,124,200,200,200,120,8,200, - 136,112,2,89,105,112,248,248,112,32,0,32,112,32,2,88, - 104,216,248,112,32,0,32,112,32,2,85,101,216,248,248,112, - 32,2,87,103,96,240,240,120,240,240,96,2,104,104,100,184, - 32,216,248,240,228,120,2,102,102,128,88,120,220,152,64,18, - 56,104,32,64,192,192,192,192,64,32,18,56,104,128,64,96, - 96,96,96,64,128,18,40,104,64,192,192,192,192,192,192,64, - 18,40,104,128,192,192,192,192,192,192,128,17,73,105,48,48, - 96,96,192,96,96,48,48,17,73,105,192,192,96,96,48,96, - 96,192,192,2,87,103,24,48,96,192,96,48,24,2,87,103, - 192,96,48,24,48,96,192,1,89,105,56,56,112,112,224,112, - 112,56,56,1,89,105,224,224,112,112,56,112,112,224,224,17, - 57,105,32,64,128,128,128,128,128,64,32,17,57,105,128,64, - 32,32,32,32,32,64,128,17,73,105,48,96,96,96,192,96, - 96,96,48,17,73,105,192,96,96,96,48,96,96,96,192,2, - 89,105,112,248,216,152,216,216,136,248,112,2,89,105,112,248, - 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, - 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, - 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, - 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, - 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, - 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, - 172,148,148,148,172,252,120,2,89,105,112,136,168,232,168,168, - 248,136,112,2,89,105,112,136,168,216,152,168,248,136,112,2, - 89,105,112,136,232,152,168,152,232,136,112,2,89,105,112,136, - 200,200,232,248,168,136,112,2,89,105,112,136,248,200,232,152, - 232,136,112,2,89,105,112,136,184,200,232,216,168,136,112,2, - 89,105,112,136,248,152,168,168,168,136,112,2,89,105,112,136, - 168,216,168,216,168,136,112,2,89,105,112,136,168,216,184,152, - 232,136,112,2,105,105,120,132,212,236,236,236,212,132,120,2, - 89,105,112,248,216,152,216,216,216,248,112,2,89,105,112,248, - 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, - 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, - 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, - 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, - 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, - 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, - 172,148,148,148,172,252,120,3,101,101,48,24,252,24,48,255, - 255,255,2,85,101,128,64,40,24,56,3,85,101,32,48,248, - 48,32,2,85,101,56,24,40,64,128,3,101,101,64,48,252, - 48,64,2,102,102,48,56,252,252,56,48,4,99,99,8,252, - 8,2,102,102,16,24,252,252,24,16,3,99,99,8,188,8, - 2,102,102,16,24,188,188,24,16,3,101,101,16,248,252,248, - 16,2,103,103,192,176,72,60,120,240,192,2,103,103,192,240, - 120,60,72,176,192,3,101,101,224,120,60,120,224,3,102,102, - 128,144,248,252,120,16,2,102,102,16,120,252,248,144,128,2, - 103,103,32,240,248,252,248,240,32,3,101,101,32,240,252,240, - 32,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, - 16,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, - 16,2,102,102,16,232,132,132,232,16,2,102,102,16,232,132, - 132,232,16,3,101,101,16,232,132,232,16,255,3,101,101,16, - 232,132,232,16,2,103,103,120,220,12,4,12,220,120,3,99, - 99,232,124,232,2,102,102,64,224,96,16,12,12,3,99,99, - 232,124,232,2,102,102,12,12,16,96,224,64,2,102,102,96, - 224,224,20,12,28,2,101,101,192,232,124,232,192,2,102,102, - 28,12,20,224,224,96,2,101,101,16,200,252,200,16,2,101, - 101,16,200,252,200,16,3,99,99,232,124,232,3,100,100,232, - 252,252,232,2,101,101,80,232,4,232,80,255,2,85,101,136, - 144,160,192,248,2,86,102,32,32,80,112,168,248,2,86,102, - 32,32,32,32,32,248,2,87,103,120,128,144,168,144,128,120, - 2,87,103,240,8,72,168,72,8,240,18,73,105,64,160,160, - 32,32,64,64,64,48,18,73,105,32,80,80,64,64,32,32, - 32,192,2,87,103,136,168,136,80,80,32,32,2,104,104,128, - 156,160,160,160,92,64,64,2,104,104,4,228,20,20,20,232, - 8,8,18,55,103,64,64,64,224,64,64,64,255,2,103,103, - 252,64,32,32,32,32,64,255,255,255,3,85,101,32,80,168, - 80,32,2,87,103,32,32,80,80,136,168,136,2,87,103,168, - 168,168,168,168,168,112,3,85,101,8,8,40,8,248,3,85, - 101,248,128,160,128,128,3,101,101,196,108,84,108,196,3,101, - 101,140,216,168,216,140,2,101,101,204,120,72,120,204,2,87, - 103,32,32,32,32,32,32,248,2,87,103,248,32,32,32,32, - 32,32,3,85,101,80,216,80,216,80,3,85,101,80,80,216, - 80,80,4,99,99,64,188,64,4,99,99,128,252,128,4,99, - 99,4,252,4,18,55,103,64,160,64,64,64,64,224,3,85, - 101,32,80,248,80,32,3,85,101,32,80,136,80,32,3,101, - 101,16,40,196,40,16,3,101,101,32,80,140,80,32,3,101, - 101,124,68,196,68,124,3,101,101,248,136,140,136,248,1,90, - 106,248,160,160,160,160,160,160,160,160,248,1,90,106,248,40, - 40,40,40,40,40,40,40,248,17,57,105,32,32,64,64,128, - 64,64,32,32,17,57,105,128,128,64,64,32,64,64,128,128, - 0,107,107,20,40,40,80,80,160,80,80,40,40,20,0,107, - 107,160,80,80,40,40,20,40,40,80,80,160,16,75,107,16, - 32,96,160,160,160,160,160,96,32,16,16,76,108,128,64,96, - 80,80,80,80,80,80,96,64,128,17,41,105,128,64,64,64, - 64,64,64,64,128,17,41,105,64,128,128,128,128,128,128,128, - 64,2,87,103,32,112,168,168,168,168,168,2,87,103,168,168, - 168,168,168,112,32,2,103,103,56,68,228,68,4,68,56,2, - 103,103,112,136,156,136,128,136,112,4,99,99,104,252,104,3, - 101,101,32,64,252,64,32,3,101,101,16,8,252,8,16,4, - 99,99,72,252,72,2,103,103,16,32,124,128,124,32,16,2, - 103,103,32,16,248,4,248,16,32,3,101,101,72,252,132,252, - 72,3,101,101,36,68,252,68,36,3,101,101,144,136,252,136, - 144,2,103,103,20,36,124,132,124,36,20,2,103,103,160,144, - 248,132,248,144,160,3,100,100,8,92,172,8}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - 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=10 dx= 6 dy= 0 ascent=10 len=10 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12[1933] U8G_FONT_SECTION("u8g_font_6x12") = { - 1,6,12,0,254,7,1,53,2,107,32,255,254,10,254,8, - 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, - 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, - 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, - 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, - 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, - 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, - 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, - 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, - 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, - 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, - 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, - 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, - 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, - 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, - 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, - 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, - 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, - 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, - 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, - 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, - 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, - 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, - 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, - 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, - 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, - 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, - 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, - 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, - 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, - 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, - 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, - 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, - 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, - 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, - 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, - 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, - 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, - 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, - 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, - 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, - 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, - 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, - 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, - 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, - 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, - 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, - 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, - 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, - 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, - 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, - 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, - 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, - 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, - 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, - 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, - 144,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,12,0,96,34,23,103,128,0,128,128,128,128,128,1, - 87,103,32,112,168,160,168,112,32,2,87,103,48,72,64,224, - 64,72,176,2,85,101,168,80,136,80,168,2,87,103,136,80, - 248,32,248,32,32,34,23,103,128,128,128,0,128,128,128,18, - 72,104,112,128,96,144,144,96,16,224,25,49,97,160,2,103, - 103,120,132,148,164,148,132,120,22,53,101,96,160,96,0,224, - 2,85,101,40,80,160,80,40,3,83,99,248,8,8,21,49, - 97,224,2,103,103,120,132,180,164,164,132,120,9,81,97,248, - 23,68,100,96,144,144,96,2,87,103,32,32,248,32,32,0, - 248,23,53,101,64,160,32,64,224,23,53,101,192,32,64,32, - 192,23,51,99,32,64,128,0,87,103,136,136,136,152,232,128, - 128,2,88,104,120,232,232,232,104,40,40,40,37,34,98,192, - 192,16,50,98,32,192,23,53,101,64,192,64,64,224,23,53, - 101,64,160,64,0,224,2,85,101,160,80,40,80,160,2,90, - 106,64,192,64,64,80,48,80,120,16,16,2,90,106,64,192, - 64,64,80,40,8,16,32,56,2,90,106,192,32,64,32,208, - 48,80,120,16,16,2,87,103,32,0,32,32,64,136,112,2, - 90,106,64,32,0,112,136,136,248,136,136,136,2,90,106,16, - 32,0,112,136,136,248,136,136,136,2,90,106,32,80,0,112, - 136,136,248,136,136,136,2,90,106,104,176,0,112,136,136,248, - 136,136,136,2,89,105,80,0,112,136,136,248,136,136,136,2, - 90,106,32,80,32,112,136,136,248,136,136,136,2,87,103,120, - 160,160,240,160,160,184,0,89,105,112,136,128,128,128,136,112, - 16,96,2,90,106,64,32,0,248,128,128,240,128,128,248,2, - 90,106,16,32,0,248,128,128,240,128,128,248,2,90,106,32, - 80,0,248,128,128,240,128,128,248,2,89,105,80,0,248,128, - 128,240,128,128,248,18,58,106,128,64,0,224,64,64,64,64, - 64,224,18,58,106,32,64,0,224,64,64,64,64,64,224,18, - 58,106,64,160,0,224,64,64,64,64,64,224,18,57,105,160, - 0,224,64,64,64,64,64,224,2,87,103,112,72,72,232,72, - 72,112,2,90,106,104,176,0,136,136,200,168,152,136,136,2, - 90,106,64,32,0,112,136,136,136,136,136,112,2,90,106,16, - 32,0,112,136,136,136,136,136,112,2,90,106,32,80,0,112, - 136,136,136,136,136,112,2,90,106,104,176,0,112,136,136,136, - 136,136,112,2,89,105,80,0,112,136,136,136,136,136,112,3, - 85,101,136,80,32,80,136,1,89,105,8,112,152,168,168,168, - 200,112,128,2,90,106,64,32,0,136,136,136,136,136,136,112, - 2,90,106,16,32,0,136,136,136,136,136,136,112,2,90,106, - 32,80,0,136,136,136,136,136,136,112,2,89,105,80,0,136, - 136,136,136,136,136,112,2,90,106,16,32,0,136,136,80,32, - 32,32,32,18,71,103,128,224,144,144,144,224,128,2,87,103, - 112,136,144,160,144,136,176,2,88,104,64,32,0,112,8,120, - 136,120,2,88,104,16,32,0,112,8,120,136,120,2,88,104, - 32,80,0,112,8,120,136,120,2,88,104,104,176,0,112,8, - 120,136,120,2,87,103,80,0,112,8,120,136,120,2,88,104, - 32,80,32,112,8,120,136,120,2,85,101,112,40,112,160,120, - 0,87,103,112,136,128,136,112,16,96,2,88,104,64,32,0, - 112,136,240,128,112,2,88,104,16,32,0,112,136,240,128,112, - 2,88,104,32,80,0,112,136,240,128,112,2,87,103,80,0, - 112,136,240,128,112,18,56,104,128,64,0,192,64,64,64,224, - 18,56,104,32,64,0,192,64,64,64,224,18,56,104,64,160, - 0,192,64,64,64,224,18,55,103,160,0,192,64,64,64,224, - 2,89,105,80,32,80,8,120,136,136,136,112,2,88,104,104, - 176,0,176,200,136,136,136,2,88,104,64,32,0,112,136,136, - 136,112,2,88,104,16,32,0,112,136,136,136,112,2,88,104, - 32,80,0,112,136,136,136,112,2,88,104,104,176,0,112,136, - 136,136,112,2,87,103,80,0,112,136,136,136,112,3,85,101, - 32,0,248,0,32,2,85,101,120,152,168,200,240,2,88,104, - 64,32,0,136,136,136,136,112,2,88,104,16,32,0,136,136, - 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,87, - 103,80,0,136,136,136,136,112,0,90,106,16,32,0,136,136, - 136,80,32,64,128,0,89,105,128,128,240,136,136,136,240,128, - 128,0,89,105,80,0,136,136,136,80,32,64,128}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 5 h= 9 x= 2 y=10 dx= 6 dy= 0 ascent=10 len= 9 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12r[898] U8G_FONT_SECTION("u8g_font_6x12r") = { - 1,6,12,0,254,7,1,53,2,107,32,127,254,10,254,8, - 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, - 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, - 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, - 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, - 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, - 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, - 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, - 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, - 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, - 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, - 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, - 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, - 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, - 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, - 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, - 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, - 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, - 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, - 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, - 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, - 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, - 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, - 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, - 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, - 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, - 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, - 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, - 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, - 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, - 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, - 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, - 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, - 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, - 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, - 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, - 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, - 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, - 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, - 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, - 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, - 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, - 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, - 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, - 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, - 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, - 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, - 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, - 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, - 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, - 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, - 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, - 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, - 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, - 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, - 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, - 144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 9 - Calculated Max Values w= 6 h=13 x= 5 y= 9 dx= 6 dy= 0 ascent=11 len=13 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[2236] U8G_FONT_SECTION("u8g_font_6x13_67_75") = { - 1,6,13,0,254,3,1,73,2,147,32,255,0,11,254,9, - 0,3,101,101,80,40,252,40,80,2,89,105,32,32,32,32, - 168,112,168,112,32,3,101,101,36,72,240,72,36,3,101,101, - 144,72,60,72,144,3,85,101,32,72,248,72,32,2,89,105, - 32,112,168,32,32,32,32,32,248,3,85,101,32,144,248,144, - 32,2,89,105,248,32,32,32,32,32,168,112,32,2,89,105, - 32,112,168,32,32,168,112,32,248,3,101,101,40,68,248,64, - 32,3,101,101,80,136,124,8,16,3,101,101,32,76,252,72, - 40,3,101,101,16,200,252,72,80,4,100,100,72,220,236,72, - 3,101,101,8,88,252,104,64,2,89,105,128,128,144,176,208, - 144,16,56,16,2,89,105,32,64,248,72,40,8,8,8,8, - 2,89,105,32,16,248,144,160,128,128,128,128,2,89,105,8, - 8,8,8,40,72,248,64,32,2,89,105,128,128,128,128,160, - 144,248,16,32,3,85,101,240,16,16,56,16,3,86,102,8, - 8,8,72,248,64,3,85,101,48,72,72,232,72,3,85,101, - 96,144,144,184,144,2,89,105,248,128,224,192,160,32,16,16, - 8,2,89,105,160,192,248,192,168,24,248,24,40,3,86,102, - 56,48,168,136,136,112,3,86,102,224,96,168,136,136,112,5, - 83,99,32,64,248,3,83,99,248,64,32,34,57,105,128,192, - 160,128,128,128,128,128,128,2,57,105,32,96,160,32,32,32, - 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, - 57,105,128,128,128,128,128,128,160,192,128,2,57,105,32,32, - 32,32,32,32,160,96,32,2,89,105,32,16,248,16,32,64, - 248,64,32,2,89,105,80,240,80,80,80,80,80,120,80,2, - 89,105,32,64,248,64,32,16,248,16,32,2,89,105,32,64, - 248,64,32,64,248,64,32,2,89,105,80,248,80,80,80,80, - 80,80,80,2,89,105,32,16,248,16,32,16,248,16,32,2, - 89,105,80,80,80,80,80,80,80,248,80,2,87,103,32,64, - 248,0,248,16,32,2,87,103,32,16,248,0,248,64,32,2, - 103,103,20,40,124,144,124,32,80,2,103,103,8,88,252,164, - 252,104,64,2,103,103,160,80,248,36,248,16,40,2,103,103, - 16,32,124,128,124,32,16,2,89,105,32,80,216,80,80,80, - 80,80,80,2,103,103,32,16,248,4,248,16,32,2,89,105, - 80,80,80,80,80,80,216,80,32,3,101,101,72,252,132,252, - 72,2,89,105,32,80,216,80,80,80,216,80,32,3,102,102, - 248,160,208,168,148,8,3,102,102,124,20,44,84,164,64,3, - 102,102,64,164,84,44,20,124,3,102,102,8,148,168,208,160, - 248,2,103,103,16,60,64,252,64,60,16,2,103,103,32,240, - 8,252,8,240,32,4,100,100,64,232,212,64,4,100,100,8, - 92,172,8,2,89,105,32,112,168,32,112,32,112,32,32,2, - 89,105,32,32,112,32,112,32,168,112,32,3,85,101,32,64, - 168,64,32,2,89,105,32,112,168,0,32,32,0,32,32,3, - 85,101,32,16,168,16,32,2,89,105,32,32,0,32,32,0, - 168,112,32,3,85,101,160,192,248,192,160,3,85,101,40,24, - 248,24,40,3,85,101,32,120,136,120,32,2,89,105,32,80, - 216,80,80,80,80,80,112,3,85,101,32,240,136,240,32,2, - 89,105,112,80,80,80,80,80,216,80,32,2,90,106,32,80, - 216,80,80,112,0,112,80,112,2,89,105,32,80,216,80,80, - 80,216,136,248,2,89,105,32,80,248,136,80,80,216,136,248, - 2,89,105,32,112,248,112,112,112,248,168,248,2,89,105,32, - 80,216,80,216,80,80,80,112,2,89,105,32,80,216,80,216, - 80,216,136,248,3,85,101,160,240,136,240,160,3,88,104,248, - 128,176,224,144,16,8,8,2,88,104,128,128,64,72,56,104, - 8,248,2,89,105,32,80,216,80,80,80,216,80,32,3,101, - 101,16,104,252,104,16,2,89,105,80,120,80,80,80,80,80, - 240,80,2,89,105,16,248,16,16,248,16,16,248,16,3,101, - 101,40,72,252,72,40,3,101,101,80,72,252,72,80,4,101, - 101,48,120,252,120,48,3,101,101,56,88,252,88,56,3,101, - 101,112,104,252,104,112,4,101,101,48,120,252,120,48,3,85, - 101,32,96,184,96,32,3,85,101,32,48,232,48,32,4,101, - 101,48,120,180,120,48,7,102,102,252,252,252,252,252,252,0, - 98,98,252,252,0,99,99,252,252,252,0,101,101,252,252,252, - 252,252,0,103,103,252,252,252,252,252,252,252,0,104,104,252, - 252,252,252,252,252,252,252,0,106,106,252,252,252,252,252,252, - 252,252,252,252,0,107,107,252,252,252,252,252,252,252,252,252, - 252,252,0,109,109,252,252,252,252,252,252,252,252,252,252,252, - 252,252,0,93,109,248,248,248,248,248,248,248,248,248,248,248, - 248,248,0,77,109,240,240,240,240,240,240,240,240,240,240,240, - 240,240,0,77,109,240,240,240,240,240,240,240,240,240,240,240, - 240,240,0,61,109,224,224,224,224,224,224,224,224,224,224,224, - 224,224,0,45,109,192,192,192,192,192,192,192,192,192,192,192, - 192,192,0,45,109,192,192,192,192,192,192,192,192,192,192,192, - 192,192,0,29,109,128,128,128,128,128,128,128,128,128,128,128, - 128,128,48,61,109,224,224,224,224,224,224,224,224,224,224,224, - 224,224,0,109,109,168,0,84,0,168,0,84,0,168,0,84, - 0,168,0,109,109,168,84,168,84,168,84,168,84,168,84,168, - 84,168,0,109,109,84,252,168,252,84,252,168,252,84,252,168, - 252,84,11,98,98,252,252,80,29,109,128,128,128,128,128,128, - 128,128,128,128,128,128,128,0,55,103,224,224,224,224,224,224, - 224,48,55,103,224,224,224,224,224,224,224,7,54,102,224,224, - 224,224,224,224,0,109,109,224,224,224,224,224,224,252,252,252, - 252,252,252,252,0,109,109,224,224,224,224,224,224,28,28,28, - 28,28,28,28,0,109,109,252,252,252,252,252,252,224,224,224, - 224,224,224,224,0,109,109,252,252,252,252,252,252,28,28,28, - 28,28,28,28,55,54,102,224,224,224,224,224,224,0,109,109, - 28,28,28,28,28,28,224,224,224,224,224,224,224,0,109,109, - 28,28,28,28,28,28,252,252,252,252,252,252,252,3,85,101, - 248,248,248,248,248,3,85,101,248,136,136,136,248,3,85,101, - 112,136,136,136,112,3,85,101,248,136,168,136,248,2,85,101, - 248,136,248,136,248,2,85,101,248,168,168,168,248,2,85,101, - 248,168,248,168,248,2,85,101,248,200,168,152,248,2,85,101, - 248,152,168,200,248,2,85,101,248,216,168,216,248,21,51,99, - 224,224,224,21,51,99,224,160,224,4,101,101,252,252,252,252, - 252,4,101,101,252,132,132,132,252,17,75,107,240,240,240,240, - 240,240,240,240,240,240,240,17,75,107,240,144,144,144,144,144, - 144,144,144,144,240,5,99,99,60,120,240,5,99,99,60,72, - 240,2,89,105,32,32,32,112,112,112,248,248,248,2,89,105, - 32,32,32,80,80,80,136,136,248,4,85,101,32,32,112,112, - 248,4,85,101,32,32,80,80,248,2,89,105,128,192,224,240, - 248,240,224,192,128,2,89,105,128,192,160,144,136,144,160,192, - 128,20,53,101,128,192,224,192,128,20,53,101,128,192,160,192, - 128,4,101,101,192,240,252,240,192,4,101,101,192,176,140,176, - 192,2,89,105,248,248,248,112,112,112,32,32,32,2,89,105, - 248,136,136,80,80,80,32,32,32,3,85,101,248,112,112,32, - 32,3,85,101,248,80,80,32,32,2,89,105,8,24,56,120, - 248,120,56,24,8,2,89,105,8,24,40,72,136,72,40,24, - 8,20,53,101,32,96,224,96,32,20,53,101,32,96,160,96, - 32,4,101,101,12,60,252,60,12,4,101,101,12,52,196,52, - 12,4,85,101,32,112,248,112,32,4,85,101,32,80,136,80, - 32,4,85,101,32,80,168,80,32,3,102,102,48,72,180,180, - 72,48,2,89,105,32,32,80,80,136,80,80,32,32,3,102, - 102,48,72,132,132,72,48,3,102,102,32,8,128,4,64,16, - 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, - 136,112,3,102,102,48,120,252,252,120,48,3,102,102,48,104, - 228,228,104,48,3,102,102,48,88,156,156,88,48,3,102,102, - 48,72,132,252,120,48,3,102,102,48,120,252,132,72,48,3, - 102,102,48,88,156,132,72,48,3,102,102,48,88,156,252,120, - 48,18,90,106,8,56,120,120,248,248,120,120,56,8,2,90, - 106,128,224,240,240,248,248,240,240,224,128,0,109,109,252,252, - 252,252,252,204,132,132,204,252,252,252,252,0,109,109,252,252, - 252,252,204,180,120,120,180,204,252,252,252,6,103,103,252,252, - 252,252,204,180,120,0,102,102,120,180,204,252,252,252,6,51, - 99,32,64,128,54,51,99,128,64,32,51,51,99,32,64,128, - 3,51,99,128,64,32,6,99,99,48,72,132,3,99,99,132, - 72,48,3,85,101,8,24,56,120,248,3,85,101,128,192,224, - 240,248,3,85,101,248,240,224,192,128,3,85,101,248,120,56, - 24,8,4,85,101,112,136,136,136,112,3,85,101,248,232,232, - 232,248,3,85,101,248,184,184,184,248,3,85,101,248,248,232, - 200,248,3,85,101,248,152,184,248,248,3,85,101,248,168,168, - 168,248,2,89,105,32,32,32,80,80,112,168,136,248,2,89, - 105,32,32,32,112,112,112,232,232,248,2,89,105,32,32,32, - 112,112,112,184,184,248,2,103,103,48,72,132,132,132,72,48, - 3,85,101,248,168,232,136,248,3,85,101,248,136,232,168,248, - 3,85,101,248,136,184,168,248,3,85,101,248,168,184,136,248, - 3,85,101,112,168,232,136,112,3,85,101,112,136,232,168,112, - 3,85,101,112,136,184,168,112,3,85,101,112,168,184,136,112, - 3,85,101,248,144,160,192,128,3,85,101,248,72,40,24,8, - 3,85,101,128,192,160,144,248,20,68,100,240,144,144,240,20, - 68,100,240,240,240,240,20,68,100,240,144,144,240,20,68,100, - 240,240,240,240,3,85,101,8,24,40,72,248}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 3 - Calculated Max Values w= 6 h=11 x= 1 y= 3 dx= 6 dy= 0 ascent=10 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_75r[447] U8G_FONT_SECTION("u8g_font_6x13_75r") = { - 1,6,13,0,254,9,1,57,0,0,32,79,0,10,255,9, - 0,3,85,101,248,248,248,248,248,3,85,101,248,136,136,136, - 248,3,85,101,112,136,136,136,112,3,85,101,248,136,168,136, - 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, - 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, - 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, - 248,21,51,99,224,224,224,21,51,99,224,160,224,4,101,101, - 252,252,252,252,252,4,101,101,252,132,132,132,252,17,75,107, - 240,240,240,240,240,240,240,240,240,240,240,17,75,107,240,144, - 144,144,144,144,144,144,144,144,240,5,99,99,60,120,240,5, - 99,99,60,72,240,2,89,105,32,32,32,112,112,112,248,248, - 248,2,89,105,32,32,32,80,80,80,136,136,248,4,85,101, - 32,32,112,112,248,4,85,101,32,32,80,80,248,2,89,105, - 128,192,224,240,248,240,224,192,128,2,89,105,128,192,160,144, - 136,144,160,192,128,20,53,101,128,192,224,192,128,20,53,101, - 128,192,160,192,128,4,101,101,192,240,252,240,192,4,101,101, - 192,176,140,176,192,2,89,105,248,248,248,112,112,112,32,32, - 32,2,89,105,248,136,136,80,80,80,32,32,32,3,85,101, - 248,112,112,32,32,3,85,101,248,80,80,32,32,2,89,105, - 8,24,56,120,248,120,56,24,8,2,89,105,8,24,40,72, - 136,72,40,24,8,20,53,101,32,96,224,96,32,20,53,101, - 32,96,160,96,32,4,101,101,12,60,252,60,12,4,101,101, - 12,52,196,52,12,4,85,101,32,112,248,112,32,4,85,101, - 32,80,136,80,32,4,85,101,32,80,168,80,32,3,102,102, - 48,72,180,180,72,48,2,89,105,32,32,80,80,136,80,80, - 32,32,3,102,102,48,72,132,132,72,48,3,102,102,32,8, - 128,4,64,16,2,85,101,112,168,168,168,112,2,87,103,112, - 136,168,216,168,136,112,3,102,102,48,120,252,252,120,48}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 6 h=13 x= 2 y= 5 dx= 6 dy= 0 ascent=11 len=13 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[1470] U8G_FONT_SECTION("u8g_font_6x13_78_79") = { - 1,6,13,0,254,7,1,42,2,11,32,255,0,11,254,10, - 0,2,87,103,112,32,168,248,168,32,112,255,2,104,104,48, - 48,48,252,252,48,48,48,2,89,105,32,112,32,168,248,168, - 32,112,32,2,89,105,32,112,32,168,248,168,32,112,32,2, - 89,105,32,112,32,168,248,168,32,112,32,4,85,101,32,112, - 248,112,32,4,85,101,32,80,136,80,32,255,4,86,102,32, - 32,248,80,112,136,2,89,105,112,216,216,0,136,136,112,248, - 112,4,86,102,32,32,248,80,112,136,4,86,102,32,32,248, - 112,112,136,4,86,102,32,32,248,112,112,136,4,86,102,32, - 32,248,112,112,136,4,86,102,32,32,248,112,112,136,4,102, - 102,48,48,252,88,120,204,3,87,103,32,168,112,112,112,168, - 32,3,87,103,32,168,112,80,112,168,32,3,87,103,32,168, - 112,248,112,168,32,3,87,103,32,168,112,248,112,168,32,3, - 87,103,32,168,112,248,112,168,32,3,87,103,32,168,112,112, - 112,168,32,3,87,103,80,80,248,32,248,80,80,3,87,103, - 80,112,248,112,248,112,80,255,255,3,87,103,32,168,168,112, - 168,168,32,3,87,103,32,168,168,80,168,168,32,3,87,103, - 32,168,168,112,168,168,32,3,87,103,32,168,168,80,168,168, - 32,4,85,101,32,248,80,112,216,255,255,255,3,87,103,32, - 168,168,112,168,168,32,3,87,103,32,168,168,112,168,168,32, - 3,87,103,32,168,168,112,168,168,32,3,87,103,32,168,168, - 112,168,168,32,3,87,103,32,168,112,248,112,168,32,3,87, - 103,32,168,112,248,112,168,32,3,87,103,32,168,168,112,168, - 168,32,3,87,103,32,168,112,248,112,168,32,3,87,103,32, - 168,112,248,112,168,32,255,2,102,102,120,140,140,140,140,120, - 255,2,102,102,248,136,140,140,252,60,2,102,102,60,252,140, - 140,136,248,2,102,102,248,140,140,140,252,124,2,102,102,124, - 252,140,140,140,248,255,255,255,2,89,105,32,112,32,80,248, - 80,32,112,32,255,34,25,105,128,128,128,128,128,128,128,128, - 128,18,57,105,224,224,224,224,224,224,224,224,224,2,89,105, - 248,248,248,248,248,248,248,248,248,23,53,101,96,128,224,224, - 64,23,53,101,64,224,224,32,192,7,101,101,108,144,252,252, - 72,7,101,101,72,252,252,36,216,255,255,2,106,106,8,124, - 232,232,120,8,104,104,72,48,18,57,105,64,224,224,64,64, - 0,64,224,64,2,89,105,80,248,248,112,32,0,32,112,32, - 2,87,103,80,248,248,248,112,32,32,2,103,103,96,240,248, - 124,248,240,96,2,89,105,104,176,16,216,248,240,96,104,48, - 2,104,104,64,144,184,124,92,188,184,80,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,2,89,105,112,248,216,152, - 216,216,136,248,112,2,89,105,112,248,216,168,232,216,136,248, - 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, - 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, - 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, - 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, - 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, - 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, - 120,2,89,105,112,136,168,232,168,168,168,136,112,2,89,105, - 112,136,168,216,152,168,248,136,112,2,89,105,112,136,168,216, - 168,152,232,136,112,2,89,105,112,136,200,200,232,248,168,136, - 112,2,89,105,112,136,248,200,232,152,232,136,112,2,89,105, - 112,136,184,200,232,216,168,136,112,2,89,105,112,136,248,152, - 168,168,168,136,112,2,89,105,112,136,168,216,168,216,168,136, - 112,2,89,105,112,136,168,216,184,152,232,136,112,2,105,105, - 120,132,212,236,236,236,212,132,120,2,89,105,112,248,216,152, - 216,216,216,248,112,2,89,105,112,248,216,168,232,216,136,248, - 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, - 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, - 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, - 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, - 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, - 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, - 120,4,102,102,48,24,252,252,24,48,255,255,255,4,85,101, - 128,64,40,24,56,4,85,101,32,48,248,48,32,4,85,101, - 56,24,40,64,128,3,103,103,64,32,48,252,48,32,64,3, - 104,104,32,48,24,252,252,24,48,32,4,101,101,16,24,252, - 24,16,4,102,102,16,24,252,252,24,16,4,102,102,16,24, - 188,188,24,16,3,103,103,32,48,184,188,184,48,32,3,103, - 103,32,48,248,252,248,48,32,255,255,4,101,101,192,112,60, - 112,192,3,103,103,32,176,248,252,120,48,32,3,103,103,32, - 48,120,252,248,176,32,0,109,109,32,32,48,240,248,248,252, - 248,248,240,48,32,32,255,255,255,255,255,255,255,255,255,255, - 1,107,107,120,252,220,204,4,0,4,204,220,248,120,255,4, - 102,102,32,32,224,20,12,28,4,101,101,144,200,124,200,144, - 4,102,102,28,12,20,224,32,32,4,102,102,32,32,224,20, - 12,28,4,101,101,144,200,124,200,144,4,102,102,28,12,20, - 224,32,32,4,101,101,16,8,252,8,16,4,101,101,16,200, - 252,200,16,5,99,99,232,124,232,4,101,101,208,216,124,216, - 208,2,105,105,160,80,40,244,4,244,40,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,255,255, - 255,255,255,255,1,91,107,248,160,160,160,160,160,160,160,160, - 160,248,1,91,107,248,40,40,40,40,40,40,40,40,40,248, - 17,75,107,16,32,32,64,64,128,64,64,32,32,16,17,75, - 107,128,64,64,32,32,16,32,32,64,64,128,1,107,107,20, - 40,40,80,80,160,80,80,40,40,20,1,107,107,160,80,80, - 40,40,20,40,40,80,80,160,255,255,255,255,255,255,255,255, - 255,3,101,101,32,64,252,64,32,3,101,101,16,8,252,8, - 16,4,99,99,72,252,72,2,103,103,16,32,124,128,124,32, - 16,2,103,103,32,16,248,4,248,16,32,3,101,101,72,252, - 132,252,72,3,101,101,36,68,252,68,36,3,101,101,144,136, - 252,136,144,2,103,103,20,36,124,132,124,36,20,2,103,103, - 160,144,248,132,248,144,160,4,100,100,8,92,172,8}; -/* - Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13B[2171] U8G_FONT_SECTION("u8g_font_6x13B") = { - 1,6,13,0,254,9,1,99,2,211,32,255,254,11,254,10, - 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, - 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, - 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, - 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, - 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, - 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, - 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, - 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, - 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, - 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, - 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, - 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, - 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, - 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, - 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, - 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, - 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, - 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, - 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, - 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, - 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, - 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, - 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, - 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, - 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, - 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, - 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, - 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, - 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, - 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, - 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, - 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, - 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, - 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, - 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, - 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, - 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, - 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, - 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, - 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, - 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, - 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, - 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, - 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, - 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, - 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, - 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, - 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, - 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, - 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, - 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, - 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, - 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, - 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, - 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, - 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, - 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, - 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, - 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, - 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, - 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, - 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, - 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, - 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,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, - 13,0,96,34,42,106,192,192,0,192,192,192,192,192,192,192, - 3,104,104,16,120,212,208,208,212,120,16,2,105,105,56,108, - 96,96,248,96,96,100,248,3,102,102,204,252,72,72,252,204, - 2,105,105,204,204,120,120,252,48,252,48,48,34,42,106,192, - 192,192,192,0,0,192,192,192,192,2,106,106,120,204,192,120, - 204,204,120,12,204,120,9,98,98,204,204,2,105,105,120,204, - 180,236,228,236,180,204,120,4,103,103,248,12,252,140,252,0, - 252,3,103,103,52,104,208,160,208,104,52,4,100,100,252,252, - 4,4,22,65,97,240,2,105,105,120,204,188,172,188,180,172, - 204,120,9,82,98,248,248,7,100,100,120,204,204,120,2,105, - 105,48,48,252,252,48,48,0,252,252,6,70,102,224,176,48, - 96,192,240,6,70,102,224,176,96,48,176,224,26,50,98,96, - 192,0,104,104,204,204,204,204,204,252,128,128,2,105,105,124, - 252,244,244,244,116,52,52,52,38,34,98,192,192,16,50,98, - 96,192,6,70,102,96,224,96,96,96,240,5,87,103,112,248, - 136,248,112,0,248,3,103,103,176,88,44,20,44,88,176,2, - 106,106,96,224,96,96,100,252,28,52,60,12,2,106,106,96, - 224,96,96,120,236,12,24,48,60,2,106,106,224,176,96,48, - 180,236,28,52,60,12,2,106,106,48,48,0,48,48,96,192, - 204,204,120,2,106,106,96,48,0,48,120,204,204,252,204,204, - 2,106,106,24,48,0,48,120,204,204,252,204,204,2,106,106, - 56,108,0,48,120,204,204,252,204,204,2,106,106,52,88,0, - 48,120,204,204,252,204,204,2,106,106,204,204,0,48,120,204, - 204,252,204,204,2,106,106,48,72,120,48,120,204,204,252,204, - 204,2,105,105,124,176,176,176,184,240,240,176,188,0,107,107, - 120,204,192,192,192,192,192,204,120,48,96,2,106,106,96,48, - 0,252,192,192,248,192,192,252,2,106,106,24,48,0,252,192, - 192,248,192,192,252,2,106,106,56,108,0,252,192,192,248,192, - 192,252,2,106,106,204,204,0,252,192,192,248,192,192,252,18, - 74,106,192,96,0,240,96,96,96,96,96,240,18,74,106,48, - 96,0,240,96,96,96,96,96,240,2,90,106,112,216,0,120, - 48,48,48,48,48,120,2,106,106,204,204,0,120,48,48,48, - 48,48,120,2,105,105,248,108,108,108,236,108,108,108,248,2, - 106,106,52,88,0,204,236,236,252,220,220,204,2,106,106,96, - 48,0,120,204,204,204,204,204,120,2,106,106,24,48,0,120, - 204,204,204,204,204,120,2,106,106,56,108,0,120,204,204,204, - 204,204,120,2,106,106,52,88,0,120,204,204,204,204,204,120, - 2,106,106,204,204,0,120,204,204,204,204,204,120,3,101,101, - 204,120,48,120,204,1,105,105,4,120,220,220,204,236,236,120, - 128,2,106,106,96,48,0,204,204,204,204,204,204,120,2,106, - 106,24,48,0,204,204,204,204,204,204,120,2,106,106,56,108, - 0,204,204,204,204,204,204,120,2,106,106,108,108,0,204,204, - 204,204,204,204,120,2,106,106,24,48,0,204,72,120,48,48, - 48,48,2,105,105,192,248,204,204,204,248,192,192,192,1,105, - 105,120,204,204,248,204,204,204,248,128,2,105,105,96,48,0, - 120,12,124,204,220,108,2,105,105,24,48,0,120,12,124,204, - 220,108,2,105,105,56,108,0,120,12,124,204,220,108,2,105, - 105,52,88,0,120,12,124,204,220,108,2,105,105,108,108,0, - 120,12,124,204,220,108,2,106,106,56,40,56,0,120,12,124, - 204,220,108,2,102,102,120,52,120,176,180,104,0,104,104,120, - 204,192,192,204,120,48,96,2,105,105,96,48,0,120,204,252, - 192,192,120,2,105,105,24,48,0,120,204,252,192,192,120,2, - 105,105,56,108,0,120,204,252,192,192,120,2,105,105,108,108, - 0,120,204,252,192,192,120,18,73,105,192,96,0,224,96,96, - 96,96,240,18,73,105,48,96,0,224,96,96,96,96,240,2, - 89,105,112,216,0,112,48,48,48,48,120,2,89,105,216,216, - 0,112,48,48,48,48,120,2,106,106,216,112,240,152,120,204, - 204,204,204,120,2,105,105,52,88,0,216,236,204,204,204,204, - 2,105,105,96,48,0,120,204,204,204,204,120,2,105,105,24, - 48,0,120,204,204,204,204,120,2,105,105,56,108,0,120,204, - 204,204,204,120,2,105,105,52,88,0,120,204,204,204,204,120, - 2,105,105,204,204,0,120,204,204,204,204,120,3,103,103,48, - 48,0,252,0,48,48,1,105,105,4,120,204,220,204,236,204, - 120,128,2,105,105,96,48,0,204,204,204,204,220,108,2,105, - 105,24,48,0,204,204,204,204,220,108,2,105,105,56,108,0, - 204,204,204,204,220,108,2,105,105,204,204,0,204,204,204,204, - 220,108,0,107,107,24,48,0,204,204,204,220,108,12,204,120, - 0,106,106,192,192,216,236,204,236,216,192,192,192,0,107,107, - 204,204,0,204,204,204,220,108,12,204,120}; -/* - Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13Br[1040] U8G_FONT_SECTION("u8g_font_6x13Br") = { - 1,6,13,0,254,9,1,99,2,211,32,127,254,11,254,10, - 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, - 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, - 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, - 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, - 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, - 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, - 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, - 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, - 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, - 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, - 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, - 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, - 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, - 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, - 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, - 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, - 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, - 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, - 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, - 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, - 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, - 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, - 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, - 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, - 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, - 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, - 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, - 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, - 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, - 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, - 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, - 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, - 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, - 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, - 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, - 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, - 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, - 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, - 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, - 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, - 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, - 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, - 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, - 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, - 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, - 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, - 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, - 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, - 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, - 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, - 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, - 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, - 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, - 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, - 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, - 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, - 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, - 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, - 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, - 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, - 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, - 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, - 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, - 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,255 - }; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13[2160] U8G_FONT_SECTION("u8g_font_6x13") = { - 1,6,13,0,254,9,1,102,2,214,32,255,254,11,254,10, - 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, - 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, - 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, - 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, - 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, - 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, - 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, - 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, - 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, - 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, - 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, - 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, - 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, - 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, - 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, - 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, - 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, - 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, - 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, - 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, - 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, - 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, - 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, - 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, - 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, - 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, - 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, - 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, - 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, - 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, - 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, - 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, - 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, - 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, - 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, - 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, - 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, - 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, - 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, - 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, - 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, - 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, - 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, - 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, - 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, - 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, - 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, - 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, - 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, - 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, - 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, - 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, - 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, - 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, - 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, - 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, - 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, - 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, - 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, - 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, - 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, - 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, - 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, - 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, - 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,13,0,96,34,25,105,128,0,128,128,128,128,128,128,128, - 3,88,104,32,112,168,160,160,168,112,32,2,89,105,48,72, - 64,64,224,64,64,72,176,3,86,102,136,112,80,80,112,136, - 2,89,105,136,136,80,80,248,32,248,32,32,34,25,105,128, - 128,128,128,0,128,128,128,128,18,74,106,96,144,128,96,144, - 144,96,16,144,96,26,50,98,160,160,3,89,105,112,136,168, - 216,200,216,168,136,112,4,87,103,112,8,120,136,120,0,248, - 3,86,102,40,80,160,160,80,40,4,83,99,248,8,8,22, - 49,97,224,3,89,105,112,136,232,216,216,232,216,136,112,10, - 81,97,248,23,68,100,96,144,144,96,3,87,103,32,32,248, - 32,32,0,248,7,53,101,64,160,32,64,224,7,53,101,64, - 160,64,32,192,42,34,98,64,128,0,88,104,136,136,136,136, - 152,232,128,128,2,89,105,120,232,232,232,232,104,40,40,40, - 38,33,97,192,32,34,98,64,128,7,53,101,64,192,64,64, - 224,4,87,103,112,136,136,136,112,0,248,3,86,102,160,80, - 40,40,80,160,2,90,106,64,192,64,64,224,8,24,40,56, - 8,2,90,106,64,192,64,64,224,16,40,8,16,56,2,90, - 106,64,160,64,32,160,72,24,40,56,8,2,89,105,32,0, - 32,32,64,128,136,136,112,2,90,106,64,32,0,32,80,136, - 136,248,136,136,2,90,106,16,32,0,32,80,136,136,248,136, - 136,2,90,106,48,72,0,32,80,136,136,248,136,136,2,90, - 106,40,80,0,32,80,136,136,248,136,136,2,90,106,80,80, - 0,32,80,136,136,248,136,136,2,90,106,32,80,32,32,80, - 136,136,248,136,136,2,89,105,88,160,160,160,176,224,160,160, - 184,0,91,107,112,136,128,128,128,128,128,136,112,32,64,2, - 90,106,64,32,0,248,128,128,240,128,128,248,2,90,106,16, - 32,0,248,128,128,240,128,128,248,2,90,106,48,72,0,248, - 128,128,240,128,128,248,2,90,106,80,80,0,248,128,128,240, - 128,128,248,18,58,106,128,64,0,224,64,64,64,64,64,224, - 18,58,106,32,64,0,224,64,64,64,64,64,224,18,74,106, - 96,144,0,224,64,64,64,64,64,224,18,58,106,160,160,0, - 224,64,64,64,64,64,224,2,89,105,240,72,72,72,232,72, - 72,72,240,2,90,106,40,80,0,136,136,200,168,152,136,136, - 2,90,106,64,32,0,112,136,136,136,136,136,112,2,90,106, - 16,32,0,112,136,136,136,136,136,112,2,90,106,48,72,0, - 112,136,136,136,136,136,112,2,90,106,40,80,0,112,136,136, - 136,136,136,112,2,90,106,80,80,0,112,136,136,136,136,136, - 112,3,85,101,136,80,32,80,136,1,91,107,8,112,152,152, - 168,168,168,200,200,112,128,2,90,106,64,32,0,136,136,136, - 136,136,136,112,2,90,106,16,32,0,136,136,136,136,136,136, - 112,2,90,106,48,72,0,136,136,136,136,136,136,112,2,90, - 106,80,80,0,136,136,136,136,136,136,112,2,90,106,16,32, - 0,136,136,80,32,32,32,32,2,89,105,128,240,136,136,136, - 240,128,128,128,2,89,105,96,144,144,160,160,144,136,136,176, - 2,89,105,64,32,0,112,8,120,136,152,104,2,89,105,16, - 32,0,112,8,120,136,152,104,2,89,105,48,72,0,112,8, - 120,136,152,104,2,89,105,40,80,0,112,8,120,136,152,104, - 2,89,105,80,80,0,112,8,120,136,152,104,2,90,106,48, - 72,48,0,112,8,120,136,152,104,2,86,102,112,40,112,160, - 168,80,0,88,104,112,136,128,128,136,112,32,64,2,89,105, - 64,32,0,112,136,248,128,136,112,2,89,105,16,32,0,112, - 136,248,128,136,112,2,89,105,48,72,0,112,136,248,128,136, - 112,2,89,105,80,80,0,112,136,248,128,136,112,18,57,105, - 128,64,0,192,64,64,64,64,224,18,57,105,32,64,0,192, - 64,64,64,64,224,18,73,105,96,144,0,192,64,64,64,64, - 224,18,57,105,160,160,0,192,64,64,64,64,224,2,90,106, - 80,32,96,16,112,136,136,136,136,112,2,89,105,40,80,0, - 176,200,136,136,136,136,2,89,105,64,32,0,112,136,136,136, - 136,112,2,89,105,16,32,0,112,136,136,136,136,112,2,89, - 105,48,72,0,112,136,136,136,136,112,2,89,105,40,80,0, - 112,136,136,136,136,112,2,89,105,80,80,0,112,136,136,136, - 136,112,3,87,103,32,32,0,248,0,32,32,1,88,104,8, - 112,152,168,168,200,112,128,2,89,105,64,32,0,136,136,136, - 136,152,104,2,89,105,16,32,0,136,136,136,136,152,104,2, - 89,105,48,72,0,136,136,136,136,152,104,2,89,105,80,80, - 0,136,136,136,136,152,104,0,91,107,16,32,0,136,136,136, - 152,104,8,136,112,0,90,106,128,128,176,200,136,136,200,176, - 128,128,0,91,107,80,80,0,136,136,136,152,104,8,136,112 - }; -/* - Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13O[2162] U8G_FONT_SECTION("u8g_font_6x13O") = { - 1,6,13,0,254,9,1,104,2,216,32,255,254,11,254,10, - 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, - 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, - 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, - 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, - 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, - 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, - 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, - 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, - 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, - 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, - 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, - 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, - 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, - 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, - 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, - 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, - 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, - 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, - 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, - 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, - 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, - 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, - 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, - 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, - 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, - 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, - 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, - 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, - 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, - 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, - 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, - 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, - 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, - 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, - 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, - 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, - 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, - 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, - 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, - 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, - 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, - 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, - 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, - 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, - 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, - 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, - 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, - 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, - 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, - 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, - 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, - 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, - 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, - 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, - 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, - 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, - 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, - 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, - 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, - 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, - 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, - 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, - 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, - 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, - 168,144,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,13,0,96,34,41,105,64,0,64,64,64,128,128, - 128,128,3,104,104,16,56,84,80,160,168,112,32,2,105,105, - 24,36,32,32,112,32,64,72,176,3,102,102,68,56,40,80, - 112,136,2,105,105,68,68,40,40,124,32,248,32,32,34,41, - 105,64,64,64,64,0,128,128,128,128,18,90,106,48,72,64, - 48,72,72,48,16,144,96,58,50,98,160,160,2,105,105,56, - 68,84,108,100,216,168,136,112,4,103,103,56,4,124,136,120, - 0,248,19,86,102,40,80,160,160,160,80,20,83,99,248,8, - 16,38,49,97,224,3,105,105,56,68,116,108,108,232,216,136, - 112,26,81,97,248,23,68,100,96,144,144,96,19,71,103,32, - 32,240,64,64,0,240,23,69,101,32,80,32,64,224,23,69, - 101,96,16,96,32,192,58,34,98,64,128,0,104,104,36,36, - 68,72,88,168,128,128,18,89,105,120,232,232,232,232,80,80, - 80,80,54,33,97,192,32,34,98,64,128,23,53,101,32,96, - 64,64,224,4,103,103,56,68,68,136,112,0,248,19,86,102, - 80,40,40,40,80,160,18,90,106,32,96,64,64,224,8,56, - 80,112,16,18,90,106,32,96,64,64,224,16,40,16,32,112, - 18,90,106,96,16,96,32,192,8,56,80,112,16,2,89,105, - 16,0,16,16,32,64,136,136,112,2,106,106,32,16,0,16, - 40,68,68,248,136,136,2,106,106,8,16,0,16,40,68,68, - 248,136,136,2,106,106,24,36,0,16,40,68,68,248,136,136, - 2,106,106,20,40,0,16,40,68,68,248,136,136,2,106,106, - 40,40,0,16,40,68,68,248,136,136,2,106,106,16,40,16, - 16,40,68,68,248,136,136,2,105,105,44,80,80,80,88,224, - 160,160,184,0,107,107,56,68,64,64,64,128,128,136,112,32, - 64,2,106,106,32,16,0,124,64,64,120,128,128,248,2,106, - 106,8,16,0,124,64,64,120,128,128,248,2,106,106,24,36, - 0,124,64,64,120,128,128,248,2,106,106,40,40,0,124,64, - 64,120,128,128,248,18,74,106,64,32,0,112,32,32,32,64, - 64,224,18,74,106,16,32,0,112,32,32,32,64,64,224,18, - 90,106,48,72,0,112,32,32,32,64,64,224,18,74,106,80, - 80,0,112,32,32,32,64,64,224,2,105,105,120,36,36,36, - 116,36,72,72,240,2,106,106,20,40,0,68,68,100,88,136, - 136,136,2,106,106,32,16,0,56,68,68,68,136,136,112,2, - 106,106,8,16,0,56,68,68,68,136,136,112,2,106,106,24, - 36,0,56,68,68,68,136,136,112,2,106,106,20,40,0,56, - 68,68,68,136,136,112,2,106,106,40,40,0,56,68,68,68, - 136,136,112,3,101,101,68,40,48,80,136,1,107,107,4,60, - 76,76,84,84,168,232,232,112,128,2,106,106,32,16,0,68, - 68,68,136,136,136,112,2,106,106,8,16,0,68,68,68,136, - 136,136,112,2,106,106,24,36,0,68,68,68,136,136,136,112, - 2,106,106,40,40,0,68,68,68,136,136,136,112,18,90,106, - 16,32,0,136,136,80,32,64,64,64,2,105,105,64,120,68, - 68,72,240,128,128,128,2,89,105,48,72,72,80,80,144,136, - 136,176,2,105,105,32,16,0,56,4,124,136,152,104,2,105, - 105,8,16,0,56,4,124,136,152,104,2,105,105,24,36,0, - 56,4,124,136,152,104,2,105,105,20,40,0,56,4,124,136, - 152,104,2,105,105,40,40,0,56,4,124,136,152,104,2,106, - 106,24,36,24,0,56,4,124,136,152,104,2,102,102,56,20, - 120,160,168,80,0,104,104,56,68,64,128,136,112,32,64,2, - 105,105,32,16,0,56,68,124,128,136,112,2,105,105,8,16, - 0,56,68,124,128,136,112,2,105,105,24,36,0,56,68,124, - 128,136,112,2,105,105,40,40,0,56,68,124,128,136,112,18, - 57,105,64,32,0,96,32,32,64,64,224,18,73,105,16,32, - 0,96,32,32,64,64,224,18,89,105,48,72,0,96,32,32, - 64,64,224,18,73,105,80,80,0,96,32,32,64,64,224,2, - 106,106,32,24,48,8,56,68,68,136,136,112,2,105,105,20, - 40,0,88,100,68,136,136,136,2,105,105,32,16,0,56,68, - 68,136,136,112,2,105,105,8,16,0,56,68,68,136,136,112, - 2,105,105,24,36,0,56,68,68,136,136,112,2,105,105,20, - 40,0,56,68,68,136,136,112,2,105,105,40,40,0,56,68, - 68,136,136,112,19,87,103,32,32,0,248,0,64,64,1,104, - 104,4,56,76,84,168,200,112,128,2,105,105,32,16,0,68, - 68,68,136,152,104,2,105,105,8,16,0,68,68,68,136,152, - 104,2,105,105,24,36,0,68,68,68,136,152,104,2,105,105, - 40,40,0,68,68,68,136,152,104,0,107,107,8,16,0,68, - 68,136,152,104,8,144,96,0,106,106,64,64,88,100,68,136, - 200,176,128,128,0,107,107,40,40,0,68,68,136,152,104,8, - 144,96}; -/* - Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13Or[1043] U8G_FONT_SECTION("u8g_font_6x13Or") = { - 1,6,13,0,254,9,1,104,2,216,32,127,254,11,254,10, - 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, - 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, - 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, - 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, - 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, - 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, - 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, - 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, - 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, - 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, - 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, - 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, - 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, - 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, - 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, - 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, - 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, - 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, - 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, - 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, - 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, - 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, - 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, - 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, - 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, - 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, - 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, - 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, - 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, - 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, - 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, - 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, - 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, - 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, - 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, - 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, - 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, - 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, - 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, - 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, - 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, - 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, - 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, - 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, - 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, - 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, - 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, - 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, - 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, - 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, - 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, - 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, - 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, - 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, - 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, - 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, - 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, - 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, - 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, - 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, - 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, - 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, - 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, - 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, - 168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13r[1041] U8G_FONT_SECTION("u8g_font_6x13r") = { - 1,6,13,0,254,9,1,102,2,214,32,127,254,11,254,10, - 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, - 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, - 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, - 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, - 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, - 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, - 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, - 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, - 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, - 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, - 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, - 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, - 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, - 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, - 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, - 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, - 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, - 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, - 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, - 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, - 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, - 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, - 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, - 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, - 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, - 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, - 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, - 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, - 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, - 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, - 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, - 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, - 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, - 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, - 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, - 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, - 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, - 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, - 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, - 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, - 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, - 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, - 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, - 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, - 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, - 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, - 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, - 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, - 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, - 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, - 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, - 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, - 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, - 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, - 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, - 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, - 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, - 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, - 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, - 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, - 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, - 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, - 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, - 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, - 255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 10 - Calculated Max Values w= 7 h=13 x= 6 y= 9 dx= 7 dy= 0 ascent=11 len=13 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[2197] U8G_FONT_SECTION("u8g_font_7x13_67_75") = { - 1,7,13,0,254,3,1,91,2,178,32,255,0,11,254,10, - 0,4,117,117,72,36,254,36,72,18,89,121,32,32,32,168, - 112,32,168,112,32,4,101,117,36,72,248,72,36,4,101,117, - 144,72,124,72,144,4,101,117,36,68,252,68,36,18,89,121, - 32,112,168,32,32,32,32,32,248,4,101,117,144,136,252,136, - 144,18,89,121,248,32,32,32,32,32,168,112,32,18,89,121, - 32,112,168,32,32,168,112,32,248,4,117,117,36,66,252,64, - 32,4,117,117,72,132,126,4,8,4,117,117,36,74,252,72, - 40,4,117,117,72,164,126,36,40,4,117,117,40,84,238,68, - 40,4,117,117,40,84,254,84,40,2,106,122,64,64,128,152, - 104,8,16,84,56,16,2,106,122,32,64,252,68,36,4,4, - 4,4,4,2,106,122,16,8,252,136,144,128,128,128,128,128, - 2,106,122,4,4,4,4,4,36,68,252,64,32,2,106,122, - 128,128,128,128,128,144,136,252,8,16,2,104,120,240,16,16, - 16,16,84,56,16,2,90,122,8,8,8,8,8,40,72,248, - 64,32,4,119,119,28,34,34,34,170,112,32,4,119,119,112, - 136,136,136,170,28,8,2,120,120,254,0,224,192,160,16,8, - 4,2,121,121,144,160,254,160,146,10,254,10,18,4,119,119, - 72,156,170,136,136,136,112,4,119,119,36,114,170,34,34,34, - 28,6,99,115,32,64,252,4,99,115,252,64,32,50,57,121, - 128,192,160,128,128,128,128,128,128,18,57,121,32,96,160,32, - 32,32,32,32,32,6,99,115,16,8,252,4,99,115,252,8, - 16,50,57,121,128,128,128,128,128,128,160,192,128,18,57,121, - 32,32,32,32,32,32,160,96,32,2,105,121,16,8,252,8, - 48,64,252,64,32,2,122,122,40,120,168,40,40,40,40,42, - 60,40,2,105,121,32,64,252,64,48,8,252,8,16,2,105, - 121,32,64,252,64,32,64,252,64,32,2,121,121,68,238,68, - 68,68,68,68,68,68,2,105,121,16,8,252,8,16,8,252, - 8,16,2,122,122,68,68,68,68,68,68,68,68,238,68,3, - 103,119,32,64,252,0,252,8,16,3,103,119,16,8,252,0, - 252,64,32,3,119,119,16,34,126,132,126,40,16,4,117,117, - 40,124,146,124,40,3,119,119,16,40,252,66,252,136,16,3, - 119,119,16,32,126,128,126,32,16,2,121,121,16,40,108,170, - 40,40,40,40,40,3,119,119,16,8,252,2,252,8,16,2, - 121,121,40,40,40,40,40,170,108,40,16,4,117,117,40,124, - 130,124,40,2,122,122,16,40,108,170,40,40,170,108,40,16, - 2,119,119,252,144,136,196,162,144,8,2,119,119,126,18,34, - 70,138,18,32,2,119,119,32,18,138,70,34,18,126,2,119, - 119,8,144,162,196,136,144,252,2,121,121,8,16,62,64,254, - 64,62,16,8,2,121,121,32,16,248,4,254,4,248,16,32, - 4,117,117,32,72,254,68,32,4,117,117,8,36,254,68,8, - 18,89,121,32,112,168,32,248,32,248,32,32,18,89,121,32, - 32,248,32,248,32,168,112,32,3,119,119,16,32,64,182,64, - 32,16,2,122,122,16,40,84,146,0,16,16,0,16,16,3, - 119,119,16,8,4,218,4,8,16,2,122,122,16,16,0,16, - 16,0,146,84,40,16,4,117,117,144,160,254,160,144,4,117, - 117,18,10,254,10,18,3,119,119,16,48,94,130,94,48,16, - 2,121,121,16,40,68,238,40,40,40,40,56,3,119,119,16, - 24,244,130,244,24,16,2,121,121,56,40,40,40,40,238,68, - 40,16,1,124,124,16,40,68,238,40,40,40,56,0,56,40, - 56,1,122,122,16,40,68,238,40,40,40,108,68,124,1,122, - 122,16,40,68,254,40,40,40,108,68,124,1,122,122,16,40, - 68,254,56,56,56,124,68,124,2,121,121,16,40,68,238,68, - 238,40,40,56,1,122,122,16,40,68,238,68,238,40,108,68, - 124,3,119,119,144,152,244,130,244,152,144,2,119,119,254,128, - 188,176,168,164,130,2,119,119,130,74,42,26,122,2,254,2, - 121,121,16,40,68,238,40,238,68,40,16,255,255,255,255,255, - 255,255,255,255,255,255,255,7,118,118,254,254,254,254,254,254, - 0,114,114,254,254,0,115,115,254,254,254,0,117,117,254,254, - 254,254,254,0,119,119,254,254,254,254,254,254,254,0,120,120, - 254,254,254,254,254,254,254,254,0,122,122,254,254,254,254,254, - 254,254,254,254,254,0,123,123,254,254,254,254,254,254,254,254, - 254,254,254,0,125,125,254,254,254,254,254,254,254,254,254,254, - 254,254,254,0,109,125,252,252,252,252,252,252,252,252,252,252, - 252,252,252,0,93,125,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,77,125,240,240,240,240,240,240,240,240,240,240, - 240,240,240,0,77,125,240,240,240,240,240,240,240,240,240,240, - 240,240,240,0,61,125,224,224,224,224,224,224,224,224,224,224, - 224,224,224,0,45,125,192,192,192,192,192,192,192,192,192,192, - 192,192,192,0,29,125,128,128,128,128,128,128,128,128,128,128, - 128,128,128,64,61,125,224,224,224,224,224,224,224,224,224,224, - 224,224,224,1,123,123,84,0,170,0,84,0,170,0,84,0, - 170,0,125,125,170,84,170,84,170,84,170,84,170,84,170,84, - 170,0,125,125,254,84,254,170,254,84,254,170,254,84,254,170, - 254,11,114,114,254,254,96,29,125,128,128,128,128,128,128,128, - 128,128,128,128,128,128,0,71,119,240,240,240,240,240,240,240, - 64,55,119,224,224,224,224,224,224,224,7,70,118,240,240,240, - 240,240,240,0,125,125,240,240,240,240,240,240,254,254,254,254, - 254,254,254,0,125,125,240,240,240,240,240,240,14,14,14,14, - 14,14,14,0,125,125,254,254,254,254,254,254,240,240,240,240, - 240,240,240,0,125,125,254,254,254,254,254,254,14,14,14,14, - 14,14,14,71,54,118,224,224,224,224,224,224,0,125,125,14, - 14,14,14,14,14,240,240,240,240,240,240,240,0,125,125,14, - 14,14,14,14,14,254,254,254,254,254,254,254,3,119,119,254, - 254,254,254,254,254,254,3,119,119,254,130,130,130,130,130,254, - 3,119,119,124,130,130,130,130,130,124,3,119,119,254,130,186, - 186,186,130,254,3,119,119,254,130,254,130,254,130,254,3,119, - 119,254,170,170,170,170,170,254,3,119,119,254,170,254,170,254, - 170,254,3,119,119,254,146,138,198,162,146,254,3,119,119,254, - 146,162,198,138,146,254,3,119,119,254,214,170,214,170,214,254, - 20,85,117,248,248,248,248,248,20,85,117,248,136,136,136,248, - 4,117,117,254,254,254,254,254,4,117,117,254,130,130,130,254, - 19,87,119,248,248,248,248,248,248,248,19,87,119,248,136,136, - 136,136,136,248,4,117,117,62,126,254,252,248,4,117,117,62, - 66,130,132,248,2,120,120,16,16,56,56,124,124,254,254,2, - 120,120,16,16,40,40,68,68,130,254,19,86,118,32,32,112, - 112,248,248,19,86,118,32,32,80,80,136,248,3,119,119,128, - 224,248,254,248,224,128,3,119,119,128,224,152,134,152,224,128, - 4,101,117,192,240,252,240,192,4,101,117,192,176,140,176,192, - 4,117,117,128,240,254,240,128,4,117,117,128,240,142,240,128, - 2,120,120,254,254,124,124,56,56,16,16,2,120,120,254,130, - 68,68,40,40,16,16,19,86,118,248,248,112,112,32,32,19, - 86,118,248,136,80,80,32,32,3,119,119,2,14,62,254,62, - 14,2,3,119,119,2,14,50,194,50,14,2,4,101,117,12, - 60,252,60,12,4,101,117,12,52,196,52,12,4,117,117,2, - 30,254,30,2,4,117,117,2,30,226,30,2,2,119,119,16, - 56,124,254,124,56,16,2,119,119,16,40,68,130,68,40,16, - 2,119,119,16,40,84,186,84,40,16,3,119,119,56,68,146, - 186,146,68,56,18,89,121,32,32,80,80,136,80,80,32,32, - 3,119,119,56,68,130,130,130,68,56,3,119,119,40,0,130, - 0,130,0,40,3,119,119,56,108,170,170,170,108,56,3,119, - 119,56,68,146,170,146,68,56,3,119,119,56,124,254,254,254, - 124,56,3,119,119,56,116,242,242,242,116,56,3,119,119,56, - 92,158,158,158,92,56,3,119,119,56,68,130,254,254,124,56, - 3,119,119,56,124,254,254,130,68,56,3,119,119,56,92,158, - 158,130,68,56,3,119,119,56,76,142,142,254,124,56,51,71, - 119,192,224,240,240,240,224,192,3,71,119,48,112,240,240,240, - 112,48,0,125,125,254,254,254,254,198,130,130,130,198,254,254, - 254,254,0,125,125,254,254,254,254,198,186,186,186,198,254,254, - 254,254,6,119,119,254,254,254,254,198,186,186,0,119,119,186, - 186,198,254,254,254,254,6,68,116,48,64,128,128,54,68,116, - 192,32,16,16,51,68,116,16,16,32,192,3,68,116,128,128, - 64,48,6,116,116,56,68,130,130,3,116,116,130,130,68,56, - 3,119,119,2,6,14,30,62,126,254,3,119,119,128,192,224, - 240,248,252,254,3,119,119,254,252,248,240,224,192,128,3,119, - 119,254,126,62,30,14,6,2,20,85,117,112,136,136,136,112, - 3,119,119,254,226,226,226,226,226,254,3,119,119,254,142,142, - 142,142,142,254,3,119,119,254,254,250,242,226,194,254,3,119, - 119,254,134,142,158,190,254,254,3,119,119,254,146,146,146,146, - 146,254,2,120,120,16,16,40,40,84,124,146,254,2,120,120, - 16,16,56,56,116,116,242,254,2,120,120,16,16,56,56,92, - 92,158,254,3,119,119,56,68,130,130,130,68,56,2,119,119, - 254,146,146,242,130,130,254,2,119,119,254,130,130,242,146,146, - 254,2,119,119,254,130,130,158,146,146,254,2,119,119,254,146, - 146,158,130,130,254,2,119,119,56,84,146,242,130,68,56,2, - 119,119,56,68,130,242,146,84,56,2,119,119,56,68,130,158, - 146,84,56,2,119,119,56,84,146,158,130,68,56,255,255,255, - 255,255,255,255,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 7, '1' Height: 5 - Calculated Max Values w= 7 h= 9 x= 1 y= 2 dx= 7 dy= 0 ascent= 9 len= 9 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent = 9 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13_75r[471] U8G_FONT_SECTION("u8g_font_7x13_75r") = { - 1,7,13,0,254,7,1,71,0,0,32,79,0,9,0,8, - 0,3,119,119,254,254,254,254,254,254,254,3,119,119,254,130, - 130,130,130,130,254,3,119,119,124,130,130,130,130,130,124,3, - 119,119,254,130,186,186,186,130,254,3,119,119,254,130,254,130, - 254,130,254,3,119,119,254,170,170,170,170,170,254,3,119,119, - 254,170,254,170,254,170,254,3,119,119,254,146,138,198,162,146, - 254,3,119,119,254,146,162,198,138,146,254,3,119,119,254,214, - 170,214,170,214,254,20,85,117,248,248,248,248,248,20,85,117, - 248,136,136,136,248,4,117,117,254,254,254,254,254,4,117,117, - 254,130,130,130,254,19,87,119,248,248,248,248,248,248,248,19, - 87,119,248,136,136,136,136,136,248,4,117,117,62,126,254,252, - 248,4,117,117,62,66,130,132,248,2,120,120,16,16,56,56, - 124,124,254,254,2,120,120,16,16,40,40,68,68,130,254,19, - 86,118,32,32,112,112,248,248,19,86,118,32,32,80,80,136, - 248,3,119,119,128,224,248,254,248,224,128,3,119,119,128,224, - 152,134,152,224,128,4,101,117,192,240,252,240,192,4,101,117, - 192,176,140,176,192,4,117,117,128,240,254,240,128,4,117,117, - 128,240,142,240,128,2,120,120,254,254,124,124,56,56,16,16, - 2,120,120,254,130,68,68,40,40,16,16,19,86,118,248,248, - 112,112,32,32,19,86,118,248,136,80,80,32,32,3,119,119, - 2,14,62,254,62,14,2,3,119,119,2,14,50,194,50,14, - 2,4,101,117,12,60,252,60,12,4,101,117,12,52,196,52, - 12,4,117,117,2,30,254,30,2,4,117,117,2,30,226,30, - 2,2,119,119,16,56,124,254,124,56,16,2,119,119,16,40, - 68,130,68,40,16,2,119,119,16,40,84,186,84,40,16,3, - 119,119,56,68,146,186,146,68,56,18,89,121,32,32,80,80, - 136,80,80,32,32,3,119,119,56,68,130,130,130,68,56,3, - 119,119,40,0,130,0,130,0,40,3,119,119,56,108,170,170, - 170,108,56,3,119,119,56,68,146,170,146,68,56,3,119,119, - 56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13B[2172] U8G_FONT_SECTION("u8g_font_7x13B") = { - 1,7,13,0,254,9,1,105,2,216,32,255,254,11,254,9, - 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, - 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, - 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, - 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, - 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, - 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, - 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, - 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, - 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, - 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, - 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, - 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, - 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, - 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, - 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, - 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, - 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, - 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, - 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, - 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, - 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, - 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, - 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, - 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, - 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, - 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, - 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, - 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, - 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, - 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, - 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, - 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, - 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, - 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, - 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, - 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, - 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, - 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, - 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, - 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, - 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, - 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, - 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, - 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, - 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, - 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, - 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, - 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, - 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, - 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, - 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, - 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, - 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, - 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, - 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, - 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, - 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, - 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, - 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, - 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, - 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, - 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, - 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, - 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, - 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,13,0,112,34,42,122,192,192,0,192,192,192,192,192,192, - 192,3,104,120,16,124,212,208,208,212,124,16,2,105,121,56, - 108,96,96,248,96,96,108,184,3,102,118,204,252,72,72,252, - 204,2,105,121,204,204,120,120,252,48,252,48,48,34,42,122, - 192,192,192,192,0,0,192,192,192,192,2,106,122,120,204,192, - 120,204,204,120,12,204,120,26,82,114,216,216,2,106,122,120, - 204,132,180,228,228,180,132,204,120,20,87,119,240,24,248,152, - 248,0,248,3,103,119,52,104,208,160,208,104,52,3,100,116, - 252,12,12,12,21,65,113,240,2,106,122,120,204,132,188,172, - 188,180,172,204,120,27,81,113,248,7,100,116,120,204,204,120, - 3,103,119,48,48,252,48,48,0,252,6,70,118,224,176,48, - 96,192,240,6,70,118,224,176,96,48,176,224,25,67,115,48, - 96,192,1,103,119,204,204,204,204,204,252,128,2,105,121,124, - 252,244,244,244,116,52,52,52,38,34,114,192,192,16,50,114, - 96,192,6,70,118,96,224,96,96,96,240,21,87,119,112,248, - 136,248,112,0,248,3,103,119,176,88,44,20,44,88,176,2, - 106,122,96,224,96,96,100,252,28,52,60,12,2,106,122,96, - 224,96,96,120,236,12,24,48,60,2,106,122,224,176,96,48, - 180,236,28,52,60,12,2,106,122,48,48,0,48,48,96,192, - 204,204,120,2,106,122,96,48,0,48,120,204,204,252,204,204, - 2,106,122,24,48,0,48,120,204,204,252,204,204,2,106,122, - 56,108,0,48,120,204,204,252,204,204,2,106,122,52,88,0, - 48,120,204,204,252,204,204,2,106,122,204,204,0,48,120,204, - 204,252,204,204,2,106,122,120,72,120,48,120,204,204,252,204, - 204,2,105,121,124,248,216,216,220,248,216,216,220,0,107,123, - 120,204,192,192,192,192,192,204,120,48,96,2,106,122,96,48, - 0,252,192,192,240,192,192,252,2,106,122,24,48,0,252,192, - 192,240,192,192,252,2,106,122,56,108,0,252,192,192,240,192, - 192,252,2,106,122,204,204,0,252,192,192,240,192,192,252,2, - 106,122,96,48,0,252,48,48,48,48,48,252,2,106,122,24, - 48,0,252,48,48,48,48,48,252,2,106,122,56,108,0,252, - 48,48,48,48,48,252,2,106,122,204,204,0,252,48,48,48, - 48,48,252,2,105,121,248,108,108,108,236,108,108,108,248,2, - 106,122,52,88,0,204,204,236,252,220,204,204,2,106,122,96, - 48,0,120,204,204,204,204,204,120,2,106,122,24,48,0,120, - 204,204,204,204,204,120,2,106,122,56,108,0,120,204,204,204, - 204,204,120,2,106,122,52,88,0,120,204,204,204,204,204,120, - 2,106,122,204,204,0,120,204,204,204,204,204,120,3,101,117, - 204,120,48,120,204,1,106,122,4,120,220,220,220,236,236,236, - 120,128,2,106,122,96,48,0,204,204,204,204,204,204,120,2, - 106,122,24,48,0,204,204,204,204,204,204,120,2,106,122,56, - 108,0,204,204,204,204,204,204,120,2,106,122,204,204,0,204, - 204,204,204,204,204,120,2,106,122,24,48,0,204,72,120,48, - 48,48,48,2,105,121,192,248,204,204,204,248,192,192,192,2, - 105,121,120,204,204,216,216,204,204,204,216,2,105,121,48,24, - 0,120,12,124,204,220,124,2,105,121,24,48,0,120,12,124, - 204,220,124,2,105,121,56,108,0,120,12,124,204,220,124,2, - 105,121,52,88,0,120,12,124,204,220,124,2,105,121,108,108, - 0,120,12,124,204,220,124,2,106,122,56,40,56,0,120,12, - 124,204,220,124,2,102,118,120,52,124,176,180,104,0,104,120, - 120,204,192,192,204,120,48,96,2,105,121,48,24,0,120,204, - 252,192,204,120,2,105,121,24,48,0,120,204,252,192,204,120, - 2,105,121,56,108,0,120,204,252,192,204,120,2,105,121,108, - 108,0,120,204,252,192,204,120,18,73,121,192,96,0,224,96, - 96,96,96,240,18,73,121,48,96,0,224,96,96,96,96,240, - 2,89,121,112,216,0,112,48,48,48,48,120,18,89,121,216, - 216,0,224,96,96,96,96,240,2,106,122,104,48,120,12,124, - 204,204,204,204,120,2,105,121,52,88,0,248,236,204,204,204, - 204,2,105,121,96,48,0,120,204,204,204,204,120,2,105,121, - 24,48,0,120,204,204,204,204,120,2,105,121,56,108,0,120, - 204,204,204,204,120,2,105,121,52,88,0,120,204,204,204,204, - 120,2,105,121,108,108,0,120,204,204,204,204,120,3,103,119, - 48,48,0,252,0,48,48,1,105,121,4,120,204,220,204,236, - 204,120,128,2,105,121,96,48,0,204,204,204,204,220,124,2, - 105,121,24,48,0,204,204,204,204,220,124,2,105,121,56,108, - 0,204,204,204,204,220,124,2,105,121,108,108,0,204,204,204, - 204,220,124,0,107,123,24,48,0,204,204,204,220,124,12,204, - 120,0,106,122,192,192,216,236,204,204,236,216,192,192,0,107, - 123,108,108,0,204,204,204,220,108,12,204,120}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13Br[1041] U8G_FONT_SECTION("u8g_font_7x13Br") = { - 1,7,13,0,254,9,1,105,2,216,32,127,254,11,254,9, - 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, - 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, - 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, - 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, - 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, - 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, - 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, - 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, - 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, - 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, - 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, - 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, - 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, - 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, - 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, - 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, - 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, - 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, - 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, - 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, - 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, - 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, - 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, - 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, - 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, - 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, - 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, - 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, - 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, - 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, - 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, - 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, - 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, - 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, - 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, - 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, - 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, - 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, - 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, - 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, - 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, - 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, - 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, - 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, - 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, - 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, - 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, - 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, - 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, - 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, - 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, - 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, - 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, - 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, - 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, - 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, - 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, - 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, - 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, - 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, - 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, - 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, - 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, - 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, - 255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13[2157] U8G_FONT_SECTION("u8g_font_7x13") = { - 1,7,13,0,254,9,1,95,2,207,32,255,254,11,254,10, - 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, - 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, - 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, - 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, - 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, - 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, - 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, - 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, - 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, - 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, - 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, - 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, - 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, - 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, - 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, - 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, - 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, - 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, - 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, - 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, - 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, - 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, - 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, - 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, - 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, - 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, - 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, - 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, - 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, - 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, - 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, - 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, - 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, - 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, - 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, - 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, - 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, - 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, - 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, - 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, - 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, - 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, - 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, - 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, - 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, - 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, - 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, - 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, - 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, - 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, - 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, - 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, - 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, - 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, - 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, - 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, - 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, - 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, - 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, - 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, - 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, - 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, - 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, - 16,16,224,24,83,115,72,168,144,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,13,0,112,50,25,121, - 128,0,128,128,128,128,128,128,128,19,88,120,32,112,168,160, - 160,168,112,32,2,105,121,56,68,64,64,224,64,64,68,184, - 3,102,118,132,120,72,72,120,132,2,89,121,136,136,80,80, - 248,32,248,32,32,50,25,121,128,128,128,128,0,128,128,128, - 128,18,74,122,96,144,128,96,144,144,96,16,144,96,25,66, - 114,144,144,2,105,121,120,132,180,164,164,164,180,132,120,20, - 87,119,112,8,120,136,120,0,248,3,103,119,20,40,80,160, - 80,40,20,20,83,115,248,8,8,22,65,113,240,2,105,121, - 120,132,180,172,172,180,172,132,120,26,81,113,248,23,68,116, - 96,144,144,96,19,87,119,32,32,248,32,32,0,248,22,54, - 118,64,160,32,64,128,224,22,54,118,224,32,64,32,160,64, - 42,34,114,64,128,1,103,119,132,132,132,132,204,180,128,2, - 105,121,124,232,232,232,104,40,40,40,40,38,33,113,192,32, - 34,114,64,128,22,54,118,64,192,64,64,64,224,21,70,118, - 96,144,144,96,0,240,3,103,119,160,80,40,20,40,80,160, - 2,106,122,64,192,64,64,68,236,20,20,28,4,2,106,122, - 64,192,64,64,72,244,4,8,16,28,2,106,122,224,32,64, - 32,164,76,20,20,28,4,2,105,121,32,0,32,32,64,128, - 132,132,120,2,106,122,32,16,0,48,72,132,132,252,132,132, - 2,106,122,16,32,0,48,72,132,132,252,132,132,2,106,122, - 48,72,0,48,72,132,132,252,132,132,2,106,122,100,152,0, - 48,72,132,132,252,132,132,2,106,122,72,72,0,48,72,132, - 132,252,132,132,2,106,122,48,72,48,48,72,132,132,252,132, - 132,2,105,121,92,160,160,160,184,224,160,160,188,0,107,123, - 120,132,128,128,128,128,128,132,120,16,32,2,106,122,32,16, - 0,252,128,128,240,128,128,252,2,106,122,16,32,0,252,128, - 128,240,128,128,252,2,106,122,48,72,0,252,128,128,240,128, - 128,252,2,106,122,72,72,0,252,128,128,240,128,128,252,18, - 90,122,64,32,0,248,32,32,32,32,32,248,18,90,122,32, - 64,0,248,32,32,32,32,32,248,18,90,122,32,80,0,248, - 32,32,32,32,32,248,18,90,122,136,136,0,248,32,32,32, - 32,32,248,2,105,121,248,68,68,68,228,68,68,68,248,2, - 106,122,100,152,0,132,196,164,164,148,140,132,2,106,122,32, - 16,0,120,132,132,132,132,132,120,2,106,122,16,32,0,120, - 132,132,132,132,132,120,2,106,122,48,72,0,120,132,132,132, - 132,132,120,2,106,122,100,152,0,120,132,132,132,132,132,120, - 2,106,122,72,72,0,120,132,132,132,132,132,120,3,102,118, - 132,72,48,48,72,132,1,107,123,4,120,140,148,148,164,164, - 164,196,120,128,2,106,122,32,16,0,132,132,132,132,132,132, - 120,2,106,122,16,32,0,132,132,132,132,132,132,120,2,106, - 122,48,72,0,132,132,132,132,132,132,120,2,106,122,72,72, - 0,132,132,132,132,132,132,120,18,90,122,16,32,0,136,136, - 80,32,32,32,32,2,105,121,128,248,132,132,132,248,128,128, - 128,18,89,121,96,144,144,160,160,144,136,136,176,2,105,121, - 32,16,0,120,4,124,132,140,116,2,105,121,16,32,0,120, - 4,124,132,140,116,2,105,121,48,72,0,120,4,124,132,140, - 116,2,105,121,100,152,0,120,4,124,132,140,116,2,105,121, - 72,72,0,120,4,124,132,140,116,2,106,122,48,72,48,0, - 120,4,124,132,140,116,2,102,118,104,20,124,144,148,104,0, - 104,120,120,132,128,128,132,120,16,32,2,105,121,32,16,0, - 120,132,252,128,132,120,2,105,121,16,32,0,120,132,252,128, - 132,120,2,105,121,48,72,0,120,132,252,128,132,120,2,105, - 121,72,72,0,120,132,252,128,132,120,18,89,121,64,32,0, - 96,32,32,32,32,248,18,89,121,32,64,0,96,32,32,32, - 32,248,18,89,121,96,144,0,96,32,32,32,32,248,18,89, - 121,144,144,0,96,32,32,32,32,248,2,106,122,72,48,80, - 8,120,132,132,132,132,120,2,105,121,100,152,0,184,196,132, - 132,132,132,2,105,121,32,16,0,120,132,132,132,132,120,2, - 105,121,16,32,0,120,132,132,132,132,120,2,105,121,48,72, - 0,120,132,132,132,132,120,2,105,121,100,152,0,120,132,132, - 132,132,120,2,105,121,72,72,0,120,132,132,132,132,120,19, - 87,119,32,32,0,248,0,32,32,1,104,120,4,120,140,148, - 164,196,120,128,2,105,121,32,16,0,132,132,132,132,140,116, - 2,105,121,16,32,0,132,132,132,132,140,116,2,105,121,48, - 72,0,132,132,132,132,140,116,2,105,121,72,72,0,132,132, - 132,132,140,116,0,107,123,16,32,0,132,132,132,140,116,4, - 132,120,0,106,122,128,128,184,196,132,132,196,184,128,128,0, - 107,123,72,72,0,132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13O[2158] U8G_FONT_SECTION("u8g_font_7x13O") = { - 1,7,13,0,254,9,1,96,2,208,32,255,254,11,254,10, - 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, - 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, - 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, - 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, - 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, - 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, - 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, - 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, - 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, - 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, - 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, - 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, - 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, - 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, - 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, - 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, - 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, - 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, - 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, - 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, - 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, - 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, - 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, - 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, - 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, - 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, - 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, - 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, - 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, - 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, - 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, - 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, - 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, - 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, - 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, - 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, - 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, - 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, - 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, - 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, - 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, - 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, - 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, - 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, - 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, - 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, - 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, - 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, - 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, - 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, - 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, - 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, - 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, - 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, - 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, - 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, - 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, - 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, - 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, - 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, - 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, - 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, - 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, - 16,16,16,224,24,83,115,72,168,144,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,13,0,112,34,41, - 121,64,0,64,64,64,128,128,128,128,3,104,120,16,56,84, - 80,160,168,112,32,2,121,121,28,34,32,32,112,32,64,68, - 184,3,118,118,66,60,36,72,120,132,2,105,121,68,68,40, - 40,124,16,248,32,32,34,41,121,64,64,64,64,0,128,128, - 128,128,2,106,122,24,36,32,48,72,72,48,16,144,96,25, - 66,114,144,144,2,121,121,60,66,90,82,82,164,180,132,120, - 4,103,119,56,4,60,68,60,0,248,3,103,119,20,40,80, - 160,160,80,40,20,83,115,248,16,16,22,65,113,240,2,121, - 121,60,66,90,86,172,180,172,132,120,26,81,113,248,23,68, - 116,96,144,144,96,19,87,119,16,16,120,32,32,0,248,22, - 70,118,32,80,16,96,128,224,22,70,118,96,16,96,32,160, - 64,42,34,114,64,128,1,119,119,66,66,66,132,204,180,128, - 2,105,121,124,232,232,232,40,80,80,80,80,38,33,113,192, - 32,34,114,64,128,38,54,118,32,96,32,64,64,224,21,86, - 118,48,72,72,48,0,240,3,103,119,80,40,20,20,40,80, - 160,2,106,122,32,96,32,64,68,236,20,40,56,8,2,106, - 122,32,96,32,64,72,244,4,24,32,56,2,106,122,96,16, - 96,32,164,76,20,40,56,8,2,105,121,16,0,16,16,32, - 64,132,132,120,2,122,122,16,8,0,24,36,66,66,124,132, - 132,2,122,122,8,16,0,24,36,66,66,124,132,132,2,122, - 122,24,36,0,24,36,66,66,124,132,132,2,122,122,50,76, - 0,24,36,66,66,124,132,132,2,122,122,36,36,0,24,36, - 66,66,124,132,132,2,122,122,24,36,24,24,36,66,66,124, - 132,132,2,121,121,46,80,80,80,124,160,160,160,188,0,123, - 123,60,66,64,64,64,128,128,132,120,16,32,2,122,122,16, - 8,0,126,64,64,112,128,128,252,2,122,122,8,16,0,126, - 64,64,112,128,128,252,2,122,122,24,36,0,126,64,64,112, - 128,128,252,2,122,122,36,36,0,126,64,64,112,128,128,252, - 2,106,122,32,16,0,124,16,16,32,32,32,248,2,106,122, - 16,32,0,124,16,16,32,32,32,248,2,106,122,16,40,0, - 124,16,16,32,32,32,248,2,106,122,68,68,0,124,16,16, - 32,32,32,248,2,121,121,124,34,34,34,242,68,68,68,248, - 2,122,122,50,76,0,66,98,82,82,140,140,132,2,122,122, - 16,8,0,60,66,66,132,132,132,120,2,122,122,8,16,0, - 60,66,66,132,132,132,120,2,122,122,24,36,0,60,66,66, - 132,132,132,120,2,122,122,50,76,0,60,66,66,132,132,132, - 120,2,122,122,36,36,0,60,66,66,132,132,132,120,3,118, - 118,66,36,24,48,72,132,1,123,123,2,60,70,74,74,82, - 164,164,196,120,128,2,122,122,16,8,0,66,66,66,132,132, - 132,120,2,122,122,8,16,0,66,66,66,132,132,132,120,2, - 122,122,24,36,0,66,66,66,132,132,132,120,2,122,122,36, - 36,0,66,66,66,132,132,132,120,18,90,122,16,32,0,136, - 136,80,32,32,64,64,2,121,121,64,124,66,66,66,124,128, - 128,128,18,89,121,48,72,72,80,80,144,136,136,176,2,121, - 121,16,8,0,60,2,124,132,140,116,2,121,121,8,16,0, - 60,2,124,132,140,116,2,121,121,24,36,0,60,2,124,132, - 140,116,2,121,121,50,76,0,60,2,124,132,140,116,2,121, - 121,36,36,0,60,2,124,132,140,116,2,122,122,24,36,24, - 0,60,2,124,132,140,116,2,118,118,52,10,124,144,148,104, - 0,120,120,60,66,128,128,132,120,16,32,2,121,121,16,8, - 0,60,66,124,128,132,120,2,121,121,8,16,0,60,66,124, - 128,132,120,2,121,121,24,36,0,60,66,124,128,132,120,2, - 121,121,36,36,0,60,66,124,128,132,120,18,89,121,32,16, - 0,48,16,32,32,32,248,18,89,121,16,32,0,48,16,32, - 32,32,248,18,89,121,48,72,0,48,16,32,32,32,248,18, - 89,121,72,72,0,48,16,32,32,32,248,2,122,122,36,24, - 40,4,60,66,66,132,132,120,2,121,121,50,76,0,92,98, - 66,132,132,132,2,121,121,16,8,0,60,66,66,132,132,120, - 2,121,121,8,16,0,60,66,66,132,132,120,2,121,121,24, - 36,0,60,66,66,132,132,120,2,121,121,50,76,0,60,66, - 66,132,132,120,2,121,121,36,36,0,60,66,66,132,132,120, - 19,71,119,32,32,0,240,0,64,64,1,120,120,2,60,74, - 82,164,196,120,128,2,121,121,16,8,0,66,66,66,132,140, - 116,2,121,121,8,16,0,66,66,66,132,140,116,2,121,121, - 24,36,0,66,66,66,132,140,116,2,121,121,36,36,0,66, - 66,66,132,140,116,0,123,123,8,16,0,66,66,132,140,116, - 4,132,120,0,122,122,64,64,92,98,66,132,196,184,128,128, - 0,123,123,36,36,0,66,66,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13Or[1035] U8G_FONT_SECTION("u8g_font_7x13Or") = { - 1,7,13,0,254,9,1,96,2,208,32,127,254,11,254,10, - 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, - 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, - 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, - 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, - 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, - 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, - 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, - 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, - 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, - 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, - 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, - 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, - 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, - 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, - 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, - 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, - 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, - 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, - 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, - 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, - 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, - 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, - 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, - 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, - 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, - 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, - 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, - 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, - 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, - 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, - 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, - 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, - 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, - 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, - 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, - 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, - 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, - 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, - 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, - 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, - 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, - 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, - 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, - 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, - 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, - 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, - 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, - 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, - 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, - 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, - 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, - 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, - 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, - 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, - 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, - 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, - 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, - 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, - 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, - 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, - 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, - 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, - 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, - 16,16,16,224,24,83,115,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13r[1034] U8G_FONT_SECTION("u8g_font_7x13r") = { - 1,7,13,0,254,9,1,95,2,207,32,127,254,11,254,10, - 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, - 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, - 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, - 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, - 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, - 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, - 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, - 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, - 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, - 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, - 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, - 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, - 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, - 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, - 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, - 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, - 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, - 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, - 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, - 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, - 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, - 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, - 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, - 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, - 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, - 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, - 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, - 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, - 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, - 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, - 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, - 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, - 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, - 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, - 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, - 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, - 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, - 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, - 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, - 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, - 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, - 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, - 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, - 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, - 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, - 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, - 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, - 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, - 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, - 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, - 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, - 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, - 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, - 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, - 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, - 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, - 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, - 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, - 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, - 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, - 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, - 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, - 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, - 16,16,224,24,83,115,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=14 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14B[2390] U8G_FONT_SECTION("u8g_font_7x14B") = { - 1,7,14,0,254,10,1,137,3,30,32,255,254,12,254,11, - 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, - 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, - 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, - 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, - 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, - 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, - 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, - 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, - 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, - 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, - 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, - 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, - 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, - 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, - 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, - 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, - 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, - 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, - 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, - 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, - 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, - 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, - 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, - 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, - 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, - 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, - 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, - 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, - 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, - 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, - 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, - 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, - 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, - 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, - 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, - 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, - 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, - 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, - 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, - 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, - 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, - 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, - 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, - 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, - 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, - 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, - 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, - 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, - 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, - 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, - 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, - 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, - 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, - 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, - 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, - 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, - 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, - 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, - 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, - 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, - 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, - 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, - 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, - 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, - 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, - 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, - 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, - 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, - 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, - 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, - 24,48,48,48,48,48,224,9,100,116,68,244,188,136,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,14, - 0,112,34,42,122,192,192,0,192,192,192,192,192,192,192,1, - 105,121,48,124,180,176,176,176,180,124,48,2,105,121,56,108, - 96,96,240,96,96,248,108,4,102,118,204,120,104,88,120,204, - 2,106,122,132,204,120,252,48,48,252,48,48,48,34,42,122, - 192,192,192,192,0,0,192,192,192,192,2,107,123,120,204,96, - 48,120,204,120,48,24,204,120,27,82,114,216,216,2,107,123, - 120,204,252,236,236,236,236,236,252,204,120,21,88,120,112,216, - 120,216,216,120,0,248,2,103,119,28,60,120,240,120,60,28, - 2,101,117,252,252,12,12,12,22,65,113,240,2,107,123,120, - 204,252,236,236,252,236,236,236,204,120,28,81,113,248,25,84, - 116,112,216,216,112,2,102,118,48,48,252,48,48,252,22,87, - 119,112,216,24,48,96,192,248,22,87,119,112,216,24,112,24, - 216,112,26,67,115,48,96,192,0,104,120,204,204,204,204,220, - 252,192,192,0,108,124,124,236,236,236,236,108,44,44,44,44, - 44,60,39,34,114,192,192,32,51,115,96,96,192,22,54,118, - 96,224,96,96,96,96,22,86,118,112,216,216,112,0,248,2, - 103,119,224,112,56,28,56,112,224,2,106,122,100,236,104,120, - 120,52,108,92,220,140,2,106,122,100,236,104,120,120,56,116, - 76,216,156,2,106,122,196,108,232,120,240,60,108,220,156,12, - 0,107,123,96,96,0,96,96,96,96,96,204,204,120,2,108, - 124,96,48,0,120,252,204,204,204,252,204,204,204,2,108,124, - 24,48,0,120,252,204,204,204,252,204,204,204,2,108,124,48, - 120,0,120,252,204,204,204,252,204,204,204,2,108,124,104,176, - 0,120,252,204,204,204,252,204,204,204,2,108,124,204,204,0, - 120,252,204,204,204,252,204,204,204,2,108,124,48,72,48,0, - 120,252,204,204,252,204,204,204,2,122,122,126,216,216,216,220, - 248,216,216,216,222,0,108,124,120,204,204,192,192,192,192,204, - 204,120,48,96,2,108,124,96,48,0,252,192,192,192,248,192, - 192,192,252,2,108,124,24,48,0,252,192,192,192,248,192,192, - 192,252,2,108,124,48,120,0,252,192,192,192,248,192,192,192, - 252,2,108,124,204,204,0,252,192,192,192,248,192,192,192,252, - 2,108,124,96,48,0,252,48,48,48,48,48,48,48,252,2, - 108,124,24,48,0,252,48,48,48,48,48,48,48,252,2,108, - 124,48,120,0,252,48,48,48,48,48,48,48,252,2,108,124, - 204,204,0,252,48,48,48,48,48,48,48,252,2,122,122,120, - 108,102,102,254,102,102,102,108,120,2,108,124,104,176,0,204, - 236,236,236,220,220,220,204,204,2,108,124,96,48,0,120,204, - 204,204,204,204,204,204,120,2,108,124,24,48,0,120,204,204, - 204,204,204,204,204,120,2,108,124,48,120,0,120,204,204,204, - 204,204,204,204,120,2,108,124,104,176,0,120,204,204,204,204, - 204,204,204,120,2,108,124,204,204,0,120,204,204,204,204,204, - 204,204,120,2,119,119,198,108,56,56,108,198,130,0,110,126, - 4,4,120,220,220,220,220,236,236,236,236,120,128,128,2,108, - 124,96,48,0,204,204,204,204,204,204,204,204,120,2,108,124, - 24,48,0,204,204,204,204,204,204,204,204,120,2,108,124,48, - 120,0,204,204,204,204,204,204,204,204,120,2,108,124,204,204, - 0,204,204,204,204,204,204,204,204,120,2,108,124,24,48,0, - 204,204,204,120,120,120,48,48,48,2,106,122,192,192,248,204, - 204,204,204,248,192,192,2,106,122,56,108,108,108,120,108,108, - 108,108,248,2,106,122,96,48,0,120,204,60,108,204,204,124, - 2,106,122,24,48,0,120,204,60,108,204,204,124,2,106,122, - 48,120,0,120,204,60,108,204,204,124,2,106,122,104,176,0, - 120,204,60,108,204,204,124,2,106,122,204,204,0,120,204,60, - 108,204,204,124,2,107,123,48,72,48,0,120,204,60,108,204, - 204,124,2,119,119,124,218,58,94,216,222,124,0,105,121,120, - 204,192,192,192,204,120,48,96,2,106,122,96,48,0,120,204, - 204,252,192,204,120,2,106,122,24,48,0,120,204,204,252,192, - 204,120,2,106,122,48,120,0,120,204,204,252,192,204,120,2, - 106,122,204,204,0,120,204,204,252,192,204,120,34,58,122,192, - 96,0,96,96,96,96,96,96,96,34,58,122,96,192,0,192, - 192,192,192,192,192,192,18,74,122,96,240,0,96,96,96,96, - 96,96,96,2,106,122,204,204,0,48,48,48,48,48,48,48, - 2,107,123,216,112,240,152,12,124,204,204,204,204,120,2,106, - 122,104,176,0,248,204,204,204,204,204,204,2,106,122,96,48, - 0,120,204,204,204,204,204,120,2,106,122,24,48,0,120,204, - 204,204,204,204,120,2,106,122,48,120,0,120,204,204,204,204, - 204,120,2,106,122,104,176,0,120,204,204,204,204,204,120,2, - 106,122,204,204,0,120,204,204,204,204,204,120,2,104,120,48, - 48,0,252,252,0,48,48,0,107,123,4,8,120,220,220,236, - 236,204,120,128,128,2,106,122,96,48,0,204,204,204,204,204, - 204,124,2,106,122,24,48,0,204,204,204,204,204,204,124,2, - 106,122,48,120,0,204,204,204,204,204,204,124,2,106,122,204, - 204,0,204,204,204,204,204,204,124,0,108,124,24,48,0,204, - 204,204,120,56,56,48,240,96,0,108,124,192,192,192,248,204, - 204,204,204,204,248,192,192,0,108,124,204,204,0,204,204,204, - 120,56,56,48,240,96}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 6 h=13 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=13 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14Br[1151] U8G_FONT_SECTION("u8g_font_7x14Br") = { - 1,7,14,0,254,10,1,137,3,30,32,127,254,12,254,11, - 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, - 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, - 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, - 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, - 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, - 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, - 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, - 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, - 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, - 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, - 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, - 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, - 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, - 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, - 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, - 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, - 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, - 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, - 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, - 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, - 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, - 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, - 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, - 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, - 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, - 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, - 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, - 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, - 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, - 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, - 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, - 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, - 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, - 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, - 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, - 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, - 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, - 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, - 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, - 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, - 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, - 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, - 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, - 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, - 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, - 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, - 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, - 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, - 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, - 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, - 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, - 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, - 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, - 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, - 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, - 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, - 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, - 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, - 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, - 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, - 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, - 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, - 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, - 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, - 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, - 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, - 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, - 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, - 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, - 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, - 24,48,48,48,48,48,224,9,100,116,68,244,188,136,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=14 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14[2374] U8G_FONT_SECTION("u8g_font_7x14") = { - 1,7,14,0,254,10,1,138,3,30,32,255,254,12,254,11, - 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, - 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, - 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, - 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, - 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, - 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, - 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, - 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, - 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, - 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, - 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, - 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, - 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, - 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, - 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, - 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, - 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, - 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, - 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, - 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, - 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, - 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, - 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, - 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, - 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, - 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, - 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, - 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, - 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, - 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, - 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, - 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, - 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, - 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, - 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, - 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, - 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, - 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, - 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, - 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, - 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, - 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, - 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, - 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, - 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, - 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, - 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, - 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, - 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, - 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, - 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, - 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, - 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, - 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, - 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, - 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, - 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, - 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, - 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, - 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, - 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, - 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, - 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, - 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, - 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, - 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, - 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, - 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, - 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, - 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, - 16,32,32,32,32,32,192,9,100,116,64,164,148,8,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,14, - 0,112,50,26,122,128,128,0,128,128,128,128,128,128,128,1, - 105,121,32,120,164,160,160,160,164,120,32,18,89,121,48,72, - 64,64,240,64,64,240,72,4,102,118,132,120,72,72,120,132, - 18,90,122,136,80,80,32,248,32,248,32,32,32,50,26,122, - 128,128,128,128,0,0,128,128,128,128,2,107,123,120,132,64, - 48,72,132,72,48,8,132,120,27,66,114,144,144,2,107,123, - 120,132,180,204,196,196,196,204,180,132,120,21,88,120,112,136, - 120,136,152,104,0,248,2,103,119,20,40,80,160,80,40,20, - 18,84,116,248,8,8,8,22,65,113,240,2,107,123,120,132, - 244,204,204,244,204,204,204,132,120,27,81,113,248,25,68,116, - 96,144,144,96,18,86,118,32,32,248,32,32,248,22,71,119, - 96,144,16,32,64,128,240,22,71,119,96,144,16,96,16,144, - 96,42,51,115,32,64,128,16,88,120,136,136,136,136,216,168, - 128,128,16,92,124,120,168,168,168,168,104,40,40,40,40,40, - 56,55,17,113,128,32,35,115,64,64,128,38,55,119,64,192, - 64,64,64,64,224,22,70,118,96,144,144,96,0,240,2,103, - 119,160,80,40,20,40,80,160,2,106,122,64,196,72,72,80, - 36,44,84,156,132,2,106,122,64,196,72,72,80,40,52,68, - 136,156,2,106,122,196,36,72,48,208,36,76,84,156,4,0, - 107,123,32,32,0,32,32,32,32,64,132,132,120,2,108,124, - 32,16,0,48,72,132,132,252,132,132,132,132,2,108,124,16, - 32,0,48,72,132,132,252,132,132,132,132,2,108,124,48,72, - 0,48,72,132,132,252,132,132,132,132,2,108,124,100,152,0, - 48,72,132,132,252,132,132,132,132,2,107,123,72,0,48,72, - 132,132,252,132,132,132,132,2,107,123,48,72,48,72,132,132, - 252,132,132,132,132,2,106,122,60,80,144,144,252,144,144,144, - 144,156,0,108,124,120,132,132,128,128,128,128,132,132,120,16, - 32,2,108,124,32,16,0,252,128,128,128,248,128,128,128,252, - 2,108,124,16,32,0,252,128,128,128,248,128,128,128,252,2, - 108,124,48,72,0,252,128,128,128,248,128,128,128,252,2,107, - 123,72,0,252,128,128,128,248,128,128,128,252,18,92,124,64, - 32,0,248,32,32,32,32,32,32,32,248,18,92,124,16,32, - 0,248,32,32,32,32,32,32,32,248,18,92,124,32,80,0, - 248,32,32,32,32,32,32,32,248,18,91,123,80,0,248,32, - 32,32,32,32,32,32,248,2,122,122,120,68,66,66,242,66, - 66,66,68,120,2,108,124,100,152,0,196,196,164,164,148,148, - 148,140,140,2,108,124,32,16,0,120,132,132,132,132,132,132, - 132,120,2,108,124,16,32,0,120,132,132,132,132,132,132,132, - 120,2,108,124,48,72,0,120,132,132,132,132,132,132,132,120, - 2,108,124,100,152,0,120,132,132,132,132,132,132,132,120,2, - 107,123,72,0,120,132,132,132,132,132,132,132,120,2,119,119, - 130,68,40,16,40,68,130,0,110,126,4,4,120,140,148,148, - 148,164,164,164,196,120,128,128,2,108,124,32,16,0,132,132, - 132,132,132,132,132,132,120,2,108,124,16,32,0,132,132,132, - 132,132,132,132,132,120,2,108,124,48,72,0,132,132,132,132, - 132,132,132,132,120,2,107,123,72,0,132,132,132,132,132,132, - 132,132,120,18,92,124,16,32,0,136,136,80,80,32,32,32, - 32,32,2,106,122,128,128,248,132,132,132,132,248,128,128,2, - 106,122,48,72,72,72,112,72,68,68,68,248,2,106,122,32, - 16,0,120,132,4,124,132,132,124,2,106,122,8,16,0,120, - 132,4,124,132,132,124,2,106,122,48,72,0,120,132,4,124, - 132,132,124,2,106,122,100,152,0,120,132,4,124,132,132,124, - 2,105,121,72,0,120,132,4,124,132,132,124,2,107,123,48, - 72,48,0,120,132,4,124,132,132,124,2,119,119,124,146,50, - 94,144,146,124,0,105,121,120,132,128,128,128,132,120,16,32, - 2,106,122,32,16,0,120,132,132,252,128,132,120,2,106,122, - 16,32,0,120,132,132,252,128,132,120,2,106,122,48,72,0, - 120,132,132,252,128,132,120,2,105,121,72,0,120,132,132,252, - 128,132,120,18,90,122,64,32,0,96,32,32,32,32,32,248, - 18,90,122,16,32,0,96,32,32,32,32,32,248,18,90,122, - 96,144,0,96,32,32,32,32,32,248,18,89,121,80,0,96, - 32,32,32,32,32,248,18,91,123,80,32,80,8,120,136,136, - 136,136,136,112,2,106,122,100,152,0,184,196,132,132,132,132, - 132,2,106,122,32,16,0,120,132,132,132,132,132,120,2,106, - 122,16,32,0,120,132,132,132,132,132,120,2,106,122,48,72, - 0,120,132,132,132,132,132,120,2,106,122,100,152,0,120,132, - 132,132,132,132,120,2,105,121,72,0,120,132,132,132,132,132, - 120,2,101,117,48,0,252,0,48,0,107,123,4,8,120,148, - 148,164,164,196,120,128,128,2,106,122,32,16,0,132,132,132, - 132,132,140,116,2,106,122,16,32,0,132,132,132,132,132,140, - 116,2,106,122,48,72,0,132,132,132,132,132,140,116,2,105, - 121,72,0,132,132,132,132,132,140,116,0,108,124,16,32,0, - 132,132,68,72,40,56,16,144,96,0,108,124,128,128,128,184, - 196,132,132,132,196,184,128,128,0,107,123,72,0,132,132,68, - 72,40,56,16,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=13 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=13 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14r[1151] U8G_FONT_SECTION("u8g_font_7x14r") = { - 1,7,14,0,254,10,1,138,3,30,32,127,254,12,254,11, - 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, - 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, - 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, - 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, - 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, - 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, - 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, - 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, - 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, - 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, - 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, - 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, - 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, - 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, - 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, - 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, - 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, - 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, - 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, - 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, - 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, - 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, - 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, - 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, - 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, - 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, - 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, - 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, - 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, - 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, - 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, - 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, - 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, - 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, - 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, - 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, - 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, - 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, - 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, - 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, - 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, - 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, - 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, - 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, - 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, - 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, - 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, - 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, - 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, - 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, - 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, - 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, - 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, - 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, - 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, - 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, - 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, - 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, - 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, - 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, - 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, - 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, - 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, - 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, - 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, - 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, - 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, - 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, - 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, - 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, - 16,32,32,32,32,32,192,9,100,116,64,164,148,8,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 7 y= 9 dx= 8 dy= 0 ascent=11 len=13 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[2420] U8G_FONT_SECTION("u8g_font_8x13_67_75") = { - 1,8,13,0,254,3,1,94,2,193,32,255,0,11,254,10, - 0,3,133,133,36,18,255,18,36,18,88,136,32,32,168,112, - 32,168,112,32,2,119,135,16,34,68,248,68,34,16,18,119, - 135,16,136,68,62,68,136,16,3,133,133,32,65,255,65,32, - 18,89,137,32,112,168,32,32,32,32,32,112,3,133,133,4, - 130,255,130,4,18,89,137,112,32,32,32,32,32,168,112,32, - 2,122,138,16,56,84,16,16,16,84,56,16,254,3,133,133, - 34,65,254,64,32,3,133,133,68,130,127,2,4,3,133,133, - 34,69,254,68,36,3,133,133,68,162,127,34,36,3,133,133, - 36,90,231,66,36,3,133,133,36,82,255,82,36,18,106,138, - 64,64,128,152,104,8,16,84,56,16,18,106,138,32,64,252, - 68,36,4,4,4,4,4,18,106,138,16,8,252,136,144,128, - 128,128,128,128,18,106,138,4,4,4,4,4,36,68,252,64, - 32,18,106,138,128,128,128,128,128,144,136,252,8,16,18,104, - 136,240,16,16,16,16,84,56,16,18,90,138,8,8,8,8, - 8,40,72,248,64,32,4,135,135,12,18,33,33,169,112,32, - 4,135,135,48,72,132,132,149,14,4,2,136,136,255,0,112, - 96,80,8,4,2,2,136,136,136,144,190,144,9,125,9,17, - 4,135,135,100,142,149,132,132,72,48,4,135,135,38,113,169, - 33,33,18,12,5,131,131,32,64,255,3,131,131,255,64,32, - 50,57,137,128,192,160,128,128,128,128,128,128,34,57,137,32, - 96,160,32,32,32,32,32,32,5,131,131,4,2,255,3,131, - 131,255,2,4,50,57,137,128,128,128,128,128,128,160,192,128, - 34,57,137,32,32,32,32,32,32,160,96,32,2,121,137,8, - 4,254,4,40,64,254,64,32,2,138,138,36,116,172,36,36, - 36,36,53,46,36,2,121,137,32,64,254,64,40,4,254,4, - 8,2,139,139,32,64,255,64,32,0,32,64,255,64,32,2, - 122,138,68,238,68,68,68,68,68,68,68,68,2,139,139,4, - 2,255,2,4,0,4,2,255,2,4,2,122,138,68,68,68, - 68,68,68,68,68,238,68,2,119,135,32,64,254,0,254,4, - 8,2,119,135,8,4,254,0,254,64,32,2,135,135,16,33, - 127,130,127,36,16,3,133,133,36,126,153,126,36,2,135,135, - 8,36,254,65,254,132,8,2,135,135,16,32,127,128,127,32, - 16,18,121,137,16,40,108,170,40,40,40,40,40,2,135,135, - 8,4,254,1,254,4,8,2,121,137,40,40,40,40,40,170, - 108,40,16,3,133,133,36,126,129,126,36,2,123,139,16,40, - 108,170,40,40,40,170,108,40,16,2,119,135,252,144,136,196, - 162,144,8,18,119,135,126,18,34,70,138,18,32,18,119,135, - 32,18,138,70,34,18,126,2,119,135,8,144,162,196,136,144, - 252,2,137,137,8,16,63,64,255,64,63,16,8,2,137,137, - 16,8,252,2,255,2,252,8,16,2,135,135,16,32,72,245, - 66,32,16,2,135,135,8,4,18,175,66,4,8,2,122,138, - 16,56,84,146,16,124,16,124,16,16,2,122,138,16,16,124, - 16,124,16,146,84,56,16,2,119,135,16,32,64,182,64,32, - 16,2,122,138,16,40,84,146,0,16,16,0,16,16,18,119, - 135,16,8,4,218,4,8,16,2,122,138,16,16,0,16,16, - 0,146,84,40,16,3,117,133,144,160,254,160,144,19,117,133, - 18,10,254,10,18,2,135,135,16,48,95,129,95,48,16,2, - 121,137,16,40,68,238,40,40,40,40,56,2,135,135,8,12, - 250,129,250,12,8,2,121,137,56,40,40,40,40,238,68,40, - 16,1,123,139,16,40,68,238,40,40,56,0,56,40,56,1, - 122,138,16,40,68,238,40,40,40,108,68,124,1,122,138,16, - 40,68,254,40,40,40,108,68,124,1,122,138,16,40,68,254, - 56,56,56,124,68,124,2,121,137,16,40,68,238,68,238,40, - 40,56,1,122,138,16,40,68,238,68,238,40,108,68,124,2, - 135,135,136,140,250,129,250,140,136,2,119,135,254,128,188,176, - 168,164,130,2,119,135,130,74,42,26,122,2,254,2,121,137, - 16,40,68,238,40,238,68,40,16,4,133,133,36,82,255,82, - 36,2,138,138,36,46,53,36,36,36,36,172,116,36,0,141, - 141,4,2,255,2,4,2,255,2,4,2,255,2,4,4,117, - 133,40,72,254,72,40,20,117,133,40,36,254,36,40,4,117, - 133,16,84,254,84,16,4,133,133,42,74,255,74,42,4,133, - 133,84,82,255,82,84,4,133,133,24,90,255,90,24,3,135, - 135,16,48,80,159,80,48,16,3,135,135,8,12,10,249,10, - 12,8,4,133,133,36,102,189,102,36,7,134,134,255,255,255, - 255,255,255,0,130,130,255,255,0,131,131,255,255,255,0,133, - 133,255,255,255,255,255,0,135,135,255,255,255,255,255,255,255, - 0,136,136,255,255,255,255,255,255,255,255,0,138,138,255,255, - 255,255,255,255,255,255,255,255,0,139,139,255,255,255,255,255, - 255,255,255,255,255,255,0,141,141,255,255,255,255,255,255,255, - 255,255,255,255,255,255,0,125,141,254,254,254,254,254,254,254, - 254,254,254,254,254,254,0,109,141,252,252,252,252,252,252,252, - 252,252,252,252,252,252,0,93,141,248,248,248,248,248,248,248, - 248,248,248,248,248,248,0,77,141,240,240,240,240,240,240,240, - 240,240,240,240,240,240,0,61,141,224,224,224,224,224,224,224, - 224,224,224,224,224,224,0,45,141,192,192,192,192,192,192,192, - 192,192,192,192,192,192,0,29,141,128,128,128,128,128,128,128, - 128,128,128,128,128,128,64,77,141,240,240,240,240,240,240,240, - 240,240,240,240,240,240,1,139,139,85,0,170,0,85,0,170, - 0,85,0,170,0,141,141,170,85,170,85,170,85,170,85,170, - 85,170,85,170,0,141,141,255,85,255,170,255,85,255,170,255, - 85,255,170,255,11,130,130,255,255,112,29,141,128,128,128,128, - 128,128,128,128,128,128,128,128,128,0,71,135,240,240,240,240, - 240,240,240,64,71,135,240,240,240,240,240,240,240,7,70,134, - 240,240,240,240,240,240,0,141,141,240,240,240,240,240,240,255, - 255,255,255,255,255,255,0,141,141,240,240,240,240,240,240,15, - 15,15,15,15,15,15,0,141,141,255,255,255,255,255,255,240, - 240,240,240,240,240,240,0,141,141,255,255,255,255,255,255,15, - 15,15,15,15,15,15,71,70,134,240,240,240,240,240,240,0, - 141,141,15,15,15,15,15,15,240,240,240,240,240,240,240,0, - 141,141,15,15,15,15,15,15,255,255,255,255,255,255,255,2, - 119,135,254,254,254,254,254,254,254,2,119,135,254,130,130,130, - 130,130,254,2,119,135,124,130,130,130,130,130,124,2,119,135, - 254,130,186,186,186,130,254,2,119,135,254,130,254,130,254,130, - 254,2,119,135,254,170,170,170,170,170,254,2,119,135,254,170, - 254,170,254,170,254,2,119,135,254,146,138,198,162,146,254,2, - 119,135,254,146,162,198,138,146,254,2,119,135,254,214,170,214, - 170,214,254,37,51,131,224,224,224,37,51,131,224,160,224,21, - 100,132,252,252,252,252,21,100,132,252,132,132,252,18,89,137, - 248,248,248,248,248,248,248,248,248,18,89,137,248,136,136,136, - 136,136,136,136,248,5,132,132,31,62,124,248,5,132,132,31, - 34,68,248,2,136,136,24,24,60,60,126,126,255,255,2,136, - 136,24,24,36,36,66,66,129,255,18,102,134,48,48,120,120, - 252,252,18,102,134,48,48,72,72,132,252,18,107,139,128,192, - 224,240,248,252,248,240,224,192,128,18,107,139,128,192,160,144, - 136,132,136,144,160,192,128,20,101,133,192,240,252,240,192,20, - 101,133,192,176,140,176,192,3,119,135,128,224,248,254,248,224, - 128,3,119,135,128,224,152,134,152,224,128,2,136,136,255,255, - 126,126,60,60,24,24,2,136,136,255,129,66,66,36,36,24, - 24,18,102,134,252,252,120,120,48,48,18,102,134,252,132,72, - 72,48,48,18,107,139,4,12,28,60,124,252,124,60,28,12, - 4,18,107,139,4,12,20,36,68,132,68,36,20,12,4,20, - 101,133,12,60,252,60,12,20,101,133,12,52,196,52,12,3, - 119,135,2,14,62,254,62,14,2,3,119,135,2,14,50,194, - 50,14,2,3,119,135,16,56,124,254,124,56,16,3,119,135, - 16,40,68,130,68,40,16,3,119,135,16,40,84,186,84,40, - 16,3,119,135,56,68,146,186,146,68,56,18,105,137,48,48, - 72,72,132,72,72,48,48,2,136,136,60,66,129,129,129,129, - 66,60,2,136,136,24,66,0,129,129,0,66,24,2,136,136, - 60,106,171,171,171,171,106,60,2,136,136,60,66,153,165,165, - 153,66,60,2,136,136,60,126,255,255,255,255,126,60,2,136, - 136,60,114,241,241,241,241,114,60,2,136,136,60,78,143,143, - 143,143,78,60,2,136,136,60,66,129,129,255,255,126,60,2, - 136,136,60,126,255,255,129,129,66,60,2,136,136,60,78,143, - 143,129,129,66,60,2,136,136,60,78,143,143,255,255,126,60, - 2,72,136,48,112,240,240,240,240,112,48,66,72,136,192,224, - 240,240,240,240,224,192,0,141,141,255,255,255,255,195,129,129, - 129,129,195,255,255,255,0,141,141,255,255,255,255,195,153,189, - 189,153,195,255,255,255,6,135,135,255,255,255,255,195,153,189, - 0,134,134,189,153,195,255,255,255,6,68,132,48,64,128,128, - 70,68,132,192,32,16,16,66,68,132,16,16,32,192,2,68, - 132,128,128,64,48,6,132,132,60,66,129,129,2,132,132,129, - 129,66,60,2,136,136,1,3,7,15,31,63,127,255,2,136, - 136,128,192,224,240,248,252,254,255,2,136,136,255,254,252,248, - 240,224,192,128,2,136,136,255,127,63,31,15,7,3,1,20, - 85,133,112,136,136,136,112,2,120,136,254,226,226,226,226,226, - 226,254,2,120,136,254,142,142,142,142,142,142,254,2,120,136, - 254,254,250,242,226,194,130,254,2,120,136,254,130,134,142,158, - 190,254,254,2,120,136,254,146,146,146,146,146,146,254,2,122, - 138,16,16,40,40,68,84,124,146,130,254,2,122,138,16,16, - 56,56,116,116,116,242,242,254,2,122,138,16,16,56,56,92, - 92,92,158,158,254,2,136,136,60,66,129,129,129,129,66,60, - 2,119,135,254,146,146,242,130,130,254,2,119,135,254,130,130, - 242,146,146,254,2,119,135,254,130,130,158,146,146,254,2,119, - 135,254,146,146,158,130,130,254,2,119,135,124,146,146,242,130, - 130,124,2,119,135,124,130,130,242,146,146,124,2,119,135,124, - 130,130,158,146,146,124,2,119,135,124,146,146,158,130,130,124, - 19,102,134,252,136,144,160,192,128,19,102,134,252,68,36,20, - 12,4,19,102,134,128,192,160,144,136,252,19,102,134,252,132, - 132,132,132,252,19,102,134,252,252,252,252,252,252,37,68,132, - 240,144,144,240,37,68,132,240,240,240,240,19,102,134,4,12, - 20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 11, '1' Height: 4 - Calculated Max Values w= 8 h=11 x= 2 y= 3 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13_75r[496] U8G_FONT_SECTION("u8g_font_8x13_75r") = { - 1,8,13,0,254,11,1,83,0,0,32,79,0,11,0,11, - 0,2,119,135,254,254,254,254,254,254,254,2,119,135,254,130, - 130,130,130,130,254,2,119,135,124,130,130,130,130,130,124,2, - 119,135,254,130,186,186,186,130,254,2,119,135,254,130,254,130, - 254,130,254,2,119,135,254,170,170,170,170,170,254,2,119,135, - 254,170,254,170,254,170,254,2,119,135,254,146,138,198,162,146, - 254,2,119,135,254,146,162,198,138,146,254,2,119,135,254,214, - 170,214,170,214,254,37,51,131,224,224,224,37,51,131,224,160, - 224,21,100,132,252,252,252,252,21,100,132,252,132,132,252,18, - 89,137,248,248,248,248,248,248,248,248,248,18,89,137,248,136, - 136,136,136,136,136,136,248,5,132,132,31,62,124,248,5,132, - 132,31,34,68,248,2,136,136,24,24,60,60,126,126,255,255, - 2,136,136,24,24,36,36,66,66,129,255,18,102,134,48,48, - 120,120,252,252,18,102,134,48,48,72,72,132,252,18,107,139, - 128,192,224,240,248,252,248,240,224,192,128,18,107,139,128,192, - 160,144,136,132,136,144,160,192,128,20,101,133,192,240,252,240, - 192,20,101,133,192,176,140,176,192,3,119,135,128,224,248,254, - 248,224,128,3,119,135,128,224,152,134,152,224,128,2,136,136, - 255,255,126,126,60,60,24,24,2,136,136,255,129,66,66,36, - 36,24,24,18,102,134,252,252,120,120,48,48,18,102,134,252, - 132,72,72,48,48,18,107,139,4,12,28,60,124,252,124,60, - 28,12,4,18,107,139,4,12,20,36,68,132,68,36,20,12, - 4,20,101,133,12,60,252,60,12,20,101,133,12,52,196,52, - 12,3,119,135,2,14,62,254,62,14,2,3,119,135,2,14, - 50,194,50,14,2,3,119,135,16,56,124,254,124,56,16,3, - 119,135,16,40,68,130,68,40,16,3,119,135,16,40,84,186, - 84,40,16,3,119,135,56,68,146,186,146,68,56,18,105,137, - 48,48,72,72,132,72,72,48,48,2,136,136,60,66,129,129, - 129,129,66,60,2,136,136,24,66,0,129,129,0,66,24,2, - 136,136,60,106,171,171,171,171,106,60,2,136,136,60,66,153, - 165,165,153,66,60,2,136,136,60,126,255,255,255,255,126,60 - }; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=12 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=12 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13B[2302] U8G_FONT_SECTION("u8g_font_8x13B") = { - 1,8,13,0,254,10,1,127,3,12,32,255,254,11,254,10, - 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, - 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, - 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, - 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, - 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, - 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, - 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, - 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, - 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, - 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, - 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, - 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, - 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, - 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, - 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, - 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, - 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, - 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, - 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, - 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, - 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, - 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, - 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, - 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, - 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, - 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, - 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, - 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, - 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, - 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, - 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, - 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, - 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, - 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, - 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, - 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, - 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, - 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, - 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, - 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, - 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, - 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, - 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, - 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, - 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, - 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, - 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, - 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, - 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, - 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, - 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, - 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, - 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, - 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, - 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, - 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, - 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, - 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, - 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, - 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, - 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, - 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, - 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, - 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, - 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, - 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, - 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, - 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, - 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, - 254,156,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,13,0,128,50,42,138,192,192,0,192,192,192,192, - 192,192,192,3,104,136,16,124,212,208,208,212,124,16,1,123, - 139,60,102,96,96,252,96,96,96,240,190,224,3,119,135,198, - 254,108,68,108,254,198,18,106,138,204,204,204,120,120,252,48, - 252,48,48,50,42,138,192,192,192,192,0,0,192,192,192,192, - 18,106,138,120,204,192,120,204,204,120,12,204,120,26,82,130, - 216,216,3,121,137,124,198,186,234,226,234,186,198,124,21,87, - 135,240,24,248,152,248,0,248,3,119,135,54,108,216,176,216, - 108,54,3,101,133,252,252,4,4,4,22,81,129,248,3,121, - 137,124,198,186,170,186,178,170,198,124,28,97,129,252,24,100, - 132,120,204,204,120,19,103,135,48,48,252,48,48,0,252,22, - 70,134,224,176,48,96,192,240,22,70,134,224,176,96,48,176, - 224,41,67,131,48,96,192,0,121,137,198,198,198,198,198,238, - 252,192,192,1,123,139,62,122,202,202,202,122,58,10,10,10, - 14,54,34,130,192,192,16,67,131,48,144,96,22,70,134,96, - 224,96,96,96,240,21,87,135,112,248,136,248,112,0,248,3, - 119,135,216,108,54,26,54,108,216,2,122,138,96,224,96,96, - 98,246,14,26,30,6,2,122,138,96,224,96,96,124,246,6, - 12,24,30,2,122,138,224,176,96,48,178,230,14,26,30,6, - 18,106,138,48,48,0,48,48,96,192,204,204,120,2,122,138, - 48,24,0,56,124,198,198,254,198,198,2,122,138,24,48,0, - 56,124,198,198,254,198,198,2,122,138,56,108,0,56,124,198, - 198,254,198,198,2,122,138,52,88,0,56,124,198,198,254,198, - 198,2,122,138,108,108,0,56,124,198,198,254,198,198,2,123, - 139,24,36,24,0,56,124,198,198,254,198,198,2,122,138,126, - 248,216,216,216,252,216,216,216,222,0,124,140,124,230,192,192, - 192,192,192,230,124,24,72,48,2,122,138,48,24,0,254,192, - 192,248,192,192,254,2,122,138,24,48,0,254,192,192,248,192, - 192,254,2,122,138,56,108,0,254,192,192,248,192,192,254,2, - 122,138,108,108,0,254,192,192,248,192,192,254,34,74,138,192, - 96,0,240,96,96,96,96,96,240,34,74,138,48,96,0,240, - 96,96,96,96,96,240,34,90,138,112,216,0,240,96,96,96, - 96,96,240,34,90,138,216,216,0,240,96,96,96,96,96,240, - 2,120,136,252,102,102,246,102,102,102,252,2,122,138,52,88, - 0,198,230,246,214,222,206,198,2,123,139,48,24,0,124,198, - 198,198,198,198,198,124,2,123,139,24,48,0,124,198,198,198, - 198,198,198,124,2,123,139,56,108,0,124,198,198,198,198,198, - 198,124,2,123,139,52,88,0,124,198,198,198,198,198,198,124, - 2,123,139,108,108,0,124,198,198,198,198,198,198,124,2,119, - 135,198,198,124,56,124,198,198,1,122,138,2,124,206,214,214, - 214,214,230,124,128,2,122,138,48,24,0,198,198,198,198,198, - 198,124,2,122,138,24,48,0,198,198,198,198,198,198,124,2, - 122,138,56,108,0,198,198,198,198,198,198,124,2,122,138,108, - 108,0,198,198,198,198,198,198,124,18,106,138,24,48,0,204, - 72,120,48,48,48,48,2,121,137,192,252,198,198,198,252,192, - 192,192,2,122,138,60,102,102,108,236,108,102,102,102,108,2, - 122,138,48,24,0,124,6,126,198,198,206,118,2,122,138,24, - 48,0,124,6,126,198,198,206,118,2,122,138,56,108,0,124, - 6,126,198,198,206,118,2,122,138,52,88,0,124,6,126,198, - 198,206,118,2,122,138,108,108,0,124,6,126,198,198,206,118, - 2,123,139,24,36,24,0,124,6,126,198,198,206,118,2,119, - 135,108,218,26,124,216,218,108,0,122,138,124,230,192,192,192, - 230,124,24,72,48,2,122,138,48,24,0,124,198,198,254,192, - 198,124,2,122,138,24,48,0,124,198,198,254,192,198,124,2, - 122,138,56,108,0,124,198,198,254,192,198,124,2,122,138,108, - 108,0,124,198,198,254,192,198,124,34,74,138,192,96,0,224, - 96,96,96,96,96,240,34,74,138,96,192,0,224,96,96,96, - 96,96,240,18,90,138,112,216,0,112,48,48,48,48,48,120, - 18,90,138,216,216,0,112,48,48,48,48,48,120,2,122,138, - 108,56,120,12,126,198,198,198,198,124,2,122,138,52,88,0, - 220,230,198,198,198,198,198,2,122,138,48,24,0,124,198,198, - 198,198,198,124,2,122,138,24,48,0,124,198,198,198,198,198, - 124,2,122,138,56,108,0,124,198,198,198,198,198,124,2,122, - 138,52,88,0,124,198,198,198,198,198,124,2,122,138,108,108, - 0,124,198,198,198,198,198,124,19,103,135,48,48,0,252,0, - 48,48,1,121,137,2,124,206,214,214,214,230,124,128,2,122, - 138,48,24,0,198,198,198,198,198,206,118,2,122,138,24,48, - 0,198,198,198,198,198,206,118,2,122,138,56,108,0,198,198, - 198,198,198,206,118,2,122,138,108,108,0,198,198,198,198,198, - 206,118,0,124,140,24,48,0,198,198,198,198,206,118,6,198, - 124,0,123,139,192,192,220,230,198,198,198,230,220,192,192,0, - 124,140,108,108,0,198,198,198,198,206,118,6,198,124}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13Br[1123] U8G_FONT_SECTION("u8g_font_8x13Br") = { - 1,8,13,0,254,10,1,127,3,12,32,127,254,11,254,10, - 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, - 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, - 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, - 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, - 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, - 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, - 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, - 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, - 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, - 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, - 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, - 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, - 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, - 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, - 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, - 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, - 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, - 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, - 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, - 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, - 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, - 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, - 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, - 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, - 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, - 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, - 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, - 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, - 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, - 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, - 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, - 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, - 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, - 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, - 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, - 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, - 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, - 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, - 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, - 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, - 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, - 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, - 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, - 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, - 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, - 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, - 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, - 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, - 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, - 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, - 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, - 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, - 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, - 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, - 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, - 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, - 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, - 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, - 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, - 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, - 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, - 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, - 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, - 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, - 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, - 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, - 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, - 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, - 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, - 254,156,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13[2152] U8G_FONT_SECTION("u8g_font_8x13") = { - 1,8,13,0,254,9,1,97,2,205,32,255,254,11,254,9, - 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, - 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, - 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, - 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, - 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, - 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, - 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, - 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, - 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, - 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, - 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, - 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, - 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, - 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, - 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, - 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, - 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, - 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, - 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, - 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, - 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, - 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, - 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, - 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, - 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, - 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, - 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, - 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, - 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, - 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, - 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, - 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, - 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, - 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, - 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, - 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, - 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, - 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, - 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, - 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, - 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, - 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, - 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, - 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, - 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, - 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, - 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, - 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, - 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, - 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, - 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, - 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, - 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, - 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, - 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, - 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, - 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, - 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, - 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, - 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, - 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, - 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, - 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, - 72,168,144,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,13,0,128,50,25,137,128,0,128,128,128,128, - 128,128,128,19,88,136,32,112,168,160,160,168,112,32,2,121, - 137,28,34,32,112,32,32,32,98,220,19,102,134,132,120,72, - 72,120,132,2,121,137,130,130,68,40,124,16,124,16,16,50, - 25,137,128,128,128,128,0,128,128,128,128,34,74,138,96,144, - 128,96,144,144,96,16,144,96,42,66,130,144,144,3,121,137, - 56,68,146,170,162,170,146,68,56,20,87,135,112,8,120,136, - 120,0,248,3,119,135,18,36,72,144,72,36,18,19,100,132, - 252,4,4,4,38,65,129,240,3,121,137,56,68,146,170,170, - 178,170,68,56,26,97,129,252,39,68,132,96,144,144,96,19, - 87,135,32,32,248,32,32,0,248,22,70,134,96,144,16,96, - 128,240,22,70,134,96,144,32,16,144,96,58,34,130,64,128, - 17,103,135,132,132,132,132,204,180,128,18,105,137,124,232,232, - 232,104,40,40,40,40,54,33,129,192,48,34,130,64,192,22, - 54,134,64,192,64,64,64,224,21,70,134,96,144,144,96,0, - 240,3,119,135,144,72,36,18,36,72,144,2,122,138,64,192, - 64,64,66,230,10,18,26,6,2,122,138,64,192,64,64,76, - 242,2,12,16,30,2,122,138,96,144,32,16,146,102,10,18, - 26,6,18,105,137,32,0,32,32,64,128,132,132,120,18,106, - 138,32,16,0,48,72,132,132,252,132,132,18,106,138,16,32, - 0,48,72,132,132,252,132,132,18,106,138,48,72,0,48,72, - 132,132,252,132,132,18,106,138,100,152,0,48,72,132,132,252, - 132,132,18,106,138,72,72,0,48,72,132,132,252,132,132,18, - 106,138,48,72,48,48,72,132,132,252,132,132,2,121,137,110, - 144,144,144,156,240,144,144,158,16,107,139,120,132,128,128,128, - 128,128,132,120,16,32,18,106,138,32,16,0,252,128,128,240, - 128,128,252,18,106,138,16,32,0,252,128,128,240,128,128,252, - 18,106,138,48,72,0,252,128,128,240,128,128,252,18,106,138, - 72,72,0,252,128,128,240,128,128,252,18,90,138,64,32,0, - 248,32,32,32,32,32,248,18,90,138,16,32,0,248,32,32, - 32,32,32,248,18,90,138,48,72,0,248,32,32,32,32,32, - 248,18,90,138,136,136,0,248,32,32,32,32,32,248,2,121, - 137,120,68,66,66,226,66,66,68,120,2,122,138,100,152,0, - 130,194,162,146,138,134,130,2,122,138,32,16,0,124,130,130, - 130,130,130,124,2,122,138,8,16,0,124,130,130,130,130,130, - 124,2,122,138,24,36,0,124,130,130,130,130,130,124,2,122, - 138,100,152,0,124,130,130,130,130,130,124,2,122,138,68,68, - 0,124,130,130,130,130,130,124,19,102,134,132,72,48,48,72, - 132,17,107,139,4,120,140,148,148,164,164,164,196,120,128,18, - 106,138,64,32,0,132,132,132,132,132,132,120,18,106,138,16, - 32,0,132,132,132,132,132,132,120,18,106,138,48,72,0,132, - 132,132,132,132,132,120,18,106,138,72,72,0,132,132,132,132, - 132,132,120,18,90,138,16,32,0,136,136,80,32,32,32,32, - 18,105,137,128,248,132,132,132,248,128,128,128,18,105,137,112, - 136,136,144,160,152,132,132,184,18,105,137,32,16,0,120,4, - 124,132,140,116,18,105,137,8,16,0,120,4,124,132,140,116, - 18,105,137,48,72,0,120,4,124,132,140,116,18,105,137,100, - 152,0,120,4,124,132,140,116,18,105,137,72,72,0,120,4, - 124,132,140,116,18,106,138,48,72,48,0,120,4,124,132,140, - 116,2,118,134,108,18,124,144,146,108,16,104,136,120,132,128, - 128,132,120,16,32,18,105,137,32,16,0,120,132,252,128,132, - 120,18,105,137,16,32,0,120,132,252,128,132,120,18,105,137, - 48,72,0,120,132,252,128,132,120,18,105,137,72,72,0,120, - 132,252,128,132,120,18,89,137,64,32,0,96,32,32,32,32, - 248,18,89,137,32,64,0,96,32,32,32,32,248,18,89,137, - 96,144,0,96,32,32,32,32,248,18,89,137,144,144,0,96, - 32,32,32,32,248,18,106,138,72,48,80,8,120,132,132,132, - 132,120,18,105,137,100,152,0,184,196,132,132,132,132,18,105, - 137,64,32,0,120,132,132,132,132,120,18,105,137,16,32,0, - 120,132,132,132,132,120,18,105,137,48,72,0,120,132,132,132, - 132,120,18,105,137,100,152,0,120,132,132,132,132,120,18,105, - 137,72,72,0,120,132,132,132,132,120,19,87,135,32,32,0, - 248,0,32,32,17,104,136,4,120,140,148,164,196,120,128,18, - 105,137,64,32,0,136,136,136,136,136,116,18,105,137,16,32, - 0,136,136,136,136,136,116,18,105,137,48,72,0,136,136,136, - 136,136,116,18,105,137,80,80,0,136,136,136,136,136,116,16, - 107,139,16,32,0,132,132,132,140,116,4,132,120,16,106,138, - 128,128,184,196,132,132,196,184,128,128,16,107,139,72,72,0, - 132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 8 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13O[2153] U8G_FONT_SECTION("u8g_font_8x13O") = { - 1,8,13,0,254,9,1,98,2,206,32,255,254,11,254,9, - 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, - 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, - 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, - 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, - 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, - 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, - 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, - 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, - 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, - 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, - 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, - 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, - 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, - 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, - 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, - 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, - 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, - 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, - 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, - 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, - 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, - 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, - 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, - 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, - 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, - 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, - 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, - 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, - 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, - 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, - 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, - 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, - 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, - 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, - 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, - 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, - 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, - 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, - 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, - 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, - 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, - 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, - 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, - 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, - 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, - 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, - 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, - 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, - 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, - 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, - 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, - 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, - 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, - 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, - 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, - 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, - 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, - 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, - 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, - 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, - 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, - 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, - 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, - 131,72,168,144,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,13,0,128,50,41,137,64,0,64,64,64, - 128,128,128,128,19,104,136,16,56,84,80,160,168,112,32,2, - 137,137,14,17,16,56,16,32,32,98,220,3,118,134,66,60, - 36,72,120,132,2,121,137,130,130,68,40,124,16,248,32,32, - 50,41,137,64,64,64,64,0,128,128,128,128,18,90,138,48, - 72,64,48,72,144,96,16,144,96,42,66,130,144,144,2,137, - 137,28,34,73,85,162,170,146,68,56,20,103,135,56,4,120, - 136,120,0,248,3,119,135,18,36,72,144,144,72,36,19,100, - 132,252,4,8,8,38,65,129,240,2,137,137,28,34,89,85, - 170,178,170,68,56,26,97,129,252,39,68,132,96,144,144,96, - 19,103,135,16,16,124,32,32,0,248,22,86,134,48,72,8, - 112,128,240,22,86,134,112,8,48,16,144,96,58,34,130,64, - 128,1,119,135,66,66,66,132,204,180,128,18,105,137,124,232, - 232,232,104,80,80,80,80,54,33,129,192,48,34,130,64,192, - 38,54,134,32,96,32,64,64,224,21,102,134,24,36,72,48, - 0,240,3,119,135,72,36,18,18,36,72,144,18,106,138,32, - 96,32,64,68,236,20,40,60,8,2,122,138,32,96,32,64, - 76,242,4,24,32,60,18,106,138,112,8,48,16,148,108,20, - 40,60,8,18,105,137,16,0,16,16,32,64,132,136,112,2, - 122,138,16,8,0,24,36,66,66,124,132,132,2,122,138,8, - 16,0,24,36,66,66,124,132,132,2,122,138,24,36,0,24, - 36,66,66,124,132,132,2,122,138,50,76,0,24,36,66,66, - 124,132,132,2,122,138,36,36,0,24,36,66,66,124,132,132, - 2,122,138,24,36,24,24,36,66,66,124,132,132,2,137,137, - 55,72,72,72,78,112,144,144,158,0,123,139,60,66,64,64, - 64,128,128,132,120,16,32,2,122,138,16,8,0,126,64,64, - 112,128,128,252,2,122,138,8,16,0,126,64,64,112,128,128, - 252,2,122,138,24,36,0,126,64,64,112,128,128,252,2,122, - 138,36,36,0,126,64,64,112,128,128,252,18,106,138,32,16, - 0,124,16,16,32,32,32,248,18,106,138,8,16,0,124,16, - 16,32,32,32,248,18,106,138,24,36,0,124,16,16,32,32, - 32,248,18,106,138,68,68,0,124,16,16,32,32,32,248,2, - 121,137,120,68,66,66,226,68,132,136,240,2,138,138,50,76, - 0,65,97,81,146,138,134,130,2,138,138,16,8,0,62,65, - 65,130,130,130,124,2,138,138,4,8,0,62,65,65,130,130, - 130,124,2,138,138,12,18,0,62,65,65,130,130,130,124,2, - 138,138,50,76,0,62,65,65,130,130,130,124,2,138,138,34, - 34,0,62,65,65,130,130,130,124,3,118,134,66,36,24,48, - 72,132,1,123,139,2,60,70,74,74,82,164,164,196,120,128, - 2,122,138,32,16,0,66,66,66,132,132,132,120,2,122,138, - 8,16,0,66,66,66,132,132,132,120,2,122,138,24,36,0, - 66,66,66,132,132,132,120,2,122,138,36,36,0,66,66,66, - 132,132,132,120,18,90,138,16,32,0,136,136,80,96,64,64, - 64,2,121,137,64,124,66,66,66,124,128,128,128,18,105,137, - 56,68,68,72,80,136,132,132,184,2,121,137,16,8,0,60, - 2,124,132,140,116,2,121,137,4,8,0,60,2,124,132,140, - 116,2,121,137,24,36,0,60,2,124,132,140,116,2,121,137, - 50,76,0,60,2,124,132,140,116,2,121,137,36,36,0,60, - 2,124,132,140,116,2,122,138,24,36,24,0,60,2,124,132, - 140,116,2,134,134,54,9,126,144,146,108,0,120,136,60,66, - 128,128,132,120,16,32,2,121,137,16,8,0,60,66,124,128, - 132,120,2,121,137,8,16,0,60,66,124,128,132,120,2,121, - 137,24,36,0,60,66,124,128,132,120,2,121,137,36,36,0, - 60,66,124,128,132,120,18,89,137,32,16,0,48,16,16,32, - 32,248,18,89,137,16,32,0,48,16,16,32,32,248,18,89, - 137,48,72,0,48,16,16,32,32,248,18,89,137,72,72,0, - 48,16,16,32,32,248,2,122,138,36,24,40,4,60,66,66, - 132,132,120,2,121,137,50,76,0,92,98,66,132,132,132,2, - 121,137,32,16,0,60,66,66,132,132,120,2,121,137,8,16, - 0,60,66,66,132,132,120,2,121,137,24,36,0,60,66,66, - 132,132,120,2,121,137,50,76,0,60,66,66,132,132,120,2, - 121,137,36,36,0,60,66,66,132,132,120,19,103,135,16,16, - 0,252,0,32,32,1,120,136,2,60,70,90,164,196,120,128, - 18,105,137,32,16,0,68,68,68,136,136,116,18,105,137,8, - 16,0,68,68,68,136,136,116,18,105,137,24,36,0,68,68, - 68,136,136,116,18,105,137,40,40,0,68,68,68,136,136,116, - 0,123,139,8,16,0,66,66,132,140,116,4,132,120,0,122, - 138,64,64,92,98,66,132,196,184,128,128,0,123,139,36,36, - 0,66,66,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 8 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13Or[1029] U8G_FONT_SECTION("u8g_font_8x13Or") = { - 1,8,13,0,254,9,1,98,2,206,32,127,254,11,254,9, - 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, - 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, - 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, - 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, - 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, - 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, - 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, - 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, - 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, - 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, - 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, - 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, - 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, - 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, - 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, - 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, - 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, - 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, - 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, - 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, - 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, - 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, - 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, - 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, - 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, - 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, - 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, - 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, - 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, - 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, - 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, - 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, - 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, - 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, - 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, - 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, - 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, - 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, - 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, - 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, - 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, - 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, - 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, - 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, - 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, - 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, - 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, - 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, - 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, - 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, - 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, - 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, - 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, - 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, - 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, - 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, - 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, - 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, - 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, - 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, - 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, - 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, - 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, - 131,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13r[1028] U8G_FONT_SECTION("u8g_font_8x13r") = { - 1,8,13,0,254,9,1,97,2,205,32,127,254,11,254,9, - 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, - 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, - 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, - 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, - 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, - 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, - 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, - 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, - 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, - 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, - 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, - 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, - 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, - 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, - 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, - 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, - 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, - 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, - 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, - 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, - 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, - 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, - 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, - 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, - 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, - 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, - 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, - 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, - 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, - 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, - 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, - 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, - 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, - 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, - 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, - 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, - 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, - 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, - 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, - 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, - 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, - 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, - 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, - 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, - 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, - 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, - 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, - 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, - 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, - 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, - 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, - 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, - 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, - 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, - 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, - 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, - 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, - 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, - 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, - 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, - 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, - 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, - 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, - 72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 4, '1' Height: 10 - Calculated Max Values w= 9 h=15 x= 8 y=10 dx= 9 dy= 0 ascent=12 len=30 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 4 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[3804] U8G_FONT_SECTION("u8g_font_9x15_67_75") = { - 0,9,15,0,253,4,1,255,4,34,32,255,0,12,253,10, - 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, - 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, - 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, - 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, - 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, - 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, - 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, - 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, - 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, - 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, - 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, - 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, - 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, - 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, - 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, - 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, - 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, - 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, - 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, - 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, - 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, - 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, - 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, - 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, - 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, - 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, - 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, - 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, - 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, - 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, - 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, - 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, - 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, - 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, - 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, - 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, - 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, - 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, - 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, - 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, - 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, - 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, - 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, - 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, - 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, - 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, - 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, - 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, - 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, - 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, - 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, - 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, - 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, - 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, - 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, - 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, - 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, - 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, - 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, - 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, - 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, - 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, - 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, - 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, - 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, - 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, - 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, - 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, - 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, - 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, - 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, - 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, - 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, - 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, - 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, - 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, - 124,7,11,11,9,1,255,16,40,68,238,68,238,40,40,40, - 40,56,7,11,11,9,1,255,16,40,68,238,68,238,40,40, - 108,68,124,9,7,14,9,0,1,132,0,134,0,253,0,128, - 128,253,0,134,0,132,0,7,7,7,9,1,0,254,128,188, - 176,168,164,130,7,7,7,9,1,0,130,74,42,26,122,2, - 254,7,11,11,9,1,255,16,40,68,238,40,40,40,238,68, - 40,16,9,7,14,9,0,1,4,0,50,0,73,0,255,128, - 73,0,50,0,4,0,9,10,20,9,0,0,34,0,39,0, - 42,128,34,0,34,0,34,0,34,0,170,0,114,0,34,0, - 7,13,13,9,1,254,8,4,254,4,8,4,254,4,8,4, - 254,4,8,8,5,5,9,0,2,36,68,255,68,36,8,5, - 5,9,0,2,36,34,255,34,36,9,5,10,9,0,2,42, - 0,73,0,255,128,73,0,42,0,8,5,5,9,0,2,42, - 74,255,74,42,8,5,5,9,0,2,84,82,255,82,84,9, - 5,10,9,0,2,85,0,148,128,255,128,148,128,85,0,7, - 7,7,9,1,1,16,48,80,158,80,48,16,7,7,7,9, - 1,1,16,24,20,242,20,24,16,8,5,5,9,0,2,36, - 102,189,102,36,9,7,14,9,0,5,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,9,2,4,9,0,253,255,128, - 255,128,9,4,8,9,0,253,255,128,255,128,255,128,255,128, - 9,6,12,9,0,253,255,128,255,128,255,128,255,128,255,128, - 255,128,9,8,16,9,0,253,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,9,9,18,9,0,253,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 9,11,22,9,0,253,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,13,26,9, - 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,15,30,9, - 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 8,15,15,9,0,253,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,7,15,15,9,0,253,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,254,6,15,15,9,0,253, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 15,15,9,0,253,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,3,15,15,9,0,253,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,2,15,15,9,0,253,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,1,15, - 15,9,0,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,4,15,15,9,5,253,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,9,15,30,9,0,253,170,128, - 0,0,85,0,0,0,170,128,0,0,85,0,0,0,170,128, - 0,0,85,0,0,0,170,128,0,0,85,0,9,15,30,9, - 0,253,170,128,85,0,170,128,85,0,170,128,85,0,170,128, - 85,0,170,128,85,0,170,128,85,0,170,128,85,0,170,128, - 9,15,30,9,0,253,255,128,85,0,255,128,170,128,255,128, - 85,0,255,128,170,128,255,128,85,0,255,128,170,128,255,128, - 85,0,255,128,9,2,4,9,0,10,255,128,255,128,1,15, - 15,9,8,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,8,8,9,0,253,248,248,248,248,248,248,248, - 248,4,8,8,9,5,253,240,240,240,240,240,240,240,240,5, - 7,7,9,0,5,248,248,248,248,248,248,248,9,15,30,9, - 0,253,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 9,15,30,9,0,253,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,9,15,30,9,0,253,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,9,15,30,9,0,253,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,4,7,7,9, - 5,5,240,240,240,240,240,240,240,9,15,30,9,0,253,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,9,15,30, - 9,0,253,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56,7,7,7,9,1,1,56,116, - 242,242,242,116,56,7,7,7,9,1,1,56,92,158,158,158, - 92,56,7,7,7,9,1,1,56,68,130,254,254,124,56,7, - 7,7,9,1,1,56,124,254,254,130,68,56,7,7,7,9, - 1,1,56,92,158,158,130,68,56,7,7,7,9,1,1,56, - 92,158,254,254,124,56,4,7,7,9,1,1,48,112,240,240, - 240,112,48,4,7,7,9,4,1,192,224,240,240,240,224,192, - 9,15,30,9,0,253,255,128,255,128,255,128,255,128,255,128, - 227,128,193,128,193,128,193,128,227,128,255,128,255,128,255,128, - 255,128,255,128,9,15,30,9,0,253,255,128,255,128,255,128, - 255,128,227,128,221,128,190,128,190,128,190,128,221,128,227,128, - 255,128,255,128,255,128,255,128,9,8,16,9,0,4,255,128, - 255,128,255,128,255,128,227,128,221,128,190,128,190,128,9,8, - 16,9,0,253,190,128,190,128,221,128,227,128,255,128,255,128, - 255,128,255,128,4,4,4,9,1,4,48,64,128,128,4,4, - 4,9,4,4,192,32,16,16,4,4,4,9,4,1,16,16, - 32,192,4,4,4,9,1,1,128,128,64,48,7,4,4,9, - 1,4,56,68,130,130,7,4,4,9,1,1,130,130,68,56, - 7,7,7,9,1,1,2,6,14,30,62,126,254,7,7,7, - 9,1,1,128,192,224,240,248,252,254,7,7,7,9,1,1, - 254,252,248,240,224,192,128,7,7,7,9,1,1,254,126,62, - 30,14,6,2,5,5,5,9,2,2,112,136,136,136,112,7, - 7,7,9,1,1,254,242,242,242,242,242,254,7,7,7,9, - 1,1,254,158,158,158,158,158,254,7,7,7,9,1,1,254, - 254,250,242,226,194,254,7,7,7,9,1,1,254,134,142,158, - 190,254,254,7,7,7,9,1,1,254,146,146,146,146,146,254, - 9,10,20,9,0,0,8,0,8,0,20,0,20,0,34,0, - 42,0,93,0,73,0,128,128,255,128,9,10,20,9,0,0, - 8,0,8,0,28,0,28,0,58,0,58,0,121,0,121,0, - 248,128,255,128,9,10,20,9,0,0,8,0,8,0,28,0, - 28,0,46,0,46,0,79,0,79,0,143,128,255,128,9,9, - 18,9,0,0,62,0,65,0,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,7,7,7,9,1,1,254,146,146,242, - 130,130,254,7,7,7,9,1,1,254,130,130,242,146,146,254, - 7,7,7,9,1,1,254,130,130,158,146,146,254,7,7,7, - 9,1,1,254,146,146,158,130,130,254,7,7,7,9,1,1, - 124,146,146,242,130,130,124,7,7,7,9,1,1,124,130,130, - 242,146,146,124,7,7,7,9,1,1,124,130,130,158,146,146, - 124,7,7,7,9,1,1,124,146,146,158,130,130,124,6,6, - 6,9,1,1,252,136,144,160,192,128,6,6,6,9,1,1, - 252,68,36,20,12,4,6,6,6,9,1,1,128,192,160,144, - 136,252,6,6,6,9,1,1,252,132,132,132,132,252,6,6, - 6,9,1,1,252,252,252,252,252,252,5,5,5,9,2,1, - 248,136,136,136,248,5,5,5,9,2,1,248,248,248,248,248, - 6,6,6,9,1,1,4,12,20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 5 - Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_75r[792] U8G_FONT_SECTION("u8g_font_9x15_75r") = { - 0,9,15,0,253,9,2,33,0,0,32,79,0,10,0,9, - 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=26 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[3795] U8G_FONT_SECTION("u8g_font_9x15_78_79") = { - 0,9,15,0,253,9,2,231,4,175,32,255,0,12,254,11, - 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, - 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, - 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, - 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, - 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, - 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, - 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, - 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, - 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, - 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, - 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, - 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, - 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, - 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, - 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, - 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, - 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, - 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, - 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, - 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, - 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, - 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, - 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, - 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, - 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, - 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, - 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, - 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, - 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, - 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, - 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, - 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, - 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, - 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, - 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, - 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, - 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, - 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, - 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, - 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, - 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, - 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, - 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, - 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, - 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, - 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, - 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, - 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, - 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, - 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, - 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, - 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, - 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, - 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, - 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, - 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, - 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, - 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, - 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, - 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, - 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, - 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, - 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, - 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, - 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, - 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, - 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, - 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, - 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, - 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, - 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, - 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, - 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, - 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, - 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, - 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, - 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, - 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, - 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, - 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, - 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, - 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, - 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, - 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, - 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, - 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, - 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, - 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, - 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, - 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, - 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, - 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, - 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, - 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, - 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, - 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, - 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, - 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, - 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, - 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, - 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, - 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, - 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, - 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, - 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, - 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, - 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, - 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, - 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, - 10,0,20,0,255,7,7,7,9,1,0,130,132,136,144,160, - 192,254,9,10,20,9,0,0,8,0,8,0,20,0,20,0, - 42,0,42,0,85,0,93,0,128,128,255,128,7,10,10,9, - 1,0,16,16,16,16,16,16,16,16,16,254,7,7,7,9, - 1,1,62,64,132,138,132,64,62,7,7,7,9,1,1,248, - 4,66,162,66,4,248,5,12,12,9,2,255,112,136,136,16, - 16,32,32,64,64,128,128,112,5,12,12,9,2,255,112,136, - 136,64,64,32,32,16,16,8,8,112,7,8,8,9,1,0, - 130,146,84,68,40,40,16,16,8,10,10,9,0,255,128,143, - 144,80,80,80,80,47,32,32,8,10,10,9,0,255,1,241, - 9,10,10,10,10,244,4,4,3,10,10,9,3,0,64,64, - 64,64,224,64,64,64,64,64,255,255,255,255,255,9,9,18, - 9,0,0,8,0,20,0,34,0,65,0,136,128,65,0,34, - 0,20,0,8,0,7,8,8,9,1,0,16,16,40,40,68, - 84,146,130,7,7,7,9,1,1,146,146,146,146,146,84,56, - 7,7,7,9,1,1,2,2,2,18,2,2,254,7,7,7, - 9,1,1,254,128,128,144,128,128,128,8,11,11,9,0,255, - 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, - 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, - 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, - 85,0,99,0,99,0,193,128,9,13,26,9,0,254,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,9,13,26,9,0,254,255,128, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,7,7,7,9,1,1,40,40, - 238,40,238,40,40,7,7,7,9,1,1,40,40,40,238,40, - 40,40,7,3,3,9,1,3,64,190,64,9,5,10,9,0, - 2,128,0,128,0,255,128,128,0,128,0,9,5,10,9,0, - 2,0,128,0,128,255,128,0,128,0,128,5,10,10,9,2, - 0,32,80,32,32,32,32,32,32,32,248,5,9,9,9,2, - 0,32,32,80,80,248,80,80,32,32,7,9,9,9,1,0, - 16,16,16,40,198,40,16,16,16,8,9,9,9,0,0,8, - 8,8,20,227,20,8,8,8,8,9,9,9,1,0,16,16, - 16,40,199,40,16,16,16,8,7,7,9,0,1,127,65,65, - 193,65,65,127,8,7,7,9,1,1,254,130,130,131,130,130, - 254,5,12,12,9,2,255,248,160,160,160,160,160,160,160,160, - 160,160,248,5,12,12,9,2,255,248,40,40,40,40,40,40, - 40,40,40,40,248,3,10,10,9,3,0,32,32,64,64,128, - 128,64,64,32,32,3,10,10,9,3,0,128,128,64,64,32, - 32,64,64,128,128,6,10,10,9,1,0,36,36,72,72,144, - 144,72,72,36,36,6,10,10,9,2,0,144,144,72,72,36, - 36,72,72,144,144,255,255,255,255,9,11,22,9,0,0,8, - 0,20,0,54,0,85,0,213,128,85,0,85,0,85,0,85, - 0,85,0,85,0,9,11,22,9,0,255,85,0,85,0,85, - 0,85,0,85,0,85,0,213,128,85,0,54,0,20,0,8, - 0,8,8,8,9,0,0,28,34,169,113,33,1,34,28,8, - 8,8,9,0,0,56,68,149,142,132,128,68,56,9,5,10, - 9,0,2,114,0,169,0,255,128,169,0,114,0,9,5,10, - 9,0,2,32,0,64,0,255,128,64,0,32,0,9,5,10, - 9,0,2,2,0,1,0,255,128,1,0,2,0,9,5,10, - 9,0,2,34,0,65,0,255,128,65,0,34,0,9,7,14, - 9,0,1,16,0,32,0,127,128,128,0,127,128,32,0,16, - 0,9,7,14,9,0,1,4,0,2,0,255,0,0,128,255, - 0,2,0,4,0,9,7,14,9,0,1,20,0,34,0,127, - 0,128,128,127,0,34,0,20,0,9,5,10,9,0,2,32, - 128,64,128,255,128,64,128,32,128,9,5,10,9,0,2,130, - 0,129,0,255,128,129,0,130,0,9,7,14,9,0,1,16, - 128,32,128,127,128,128,128,127,128,32,128,16,128,9,7,14, - 9,0,1,132,0,130,0,255,0,128,128,255,0,130,0,132, - 0,9,6,12,9,0,1,2,0,1,0,85,128,170,128,1, - 0,2,0}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=20 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15B[2990] U8G_FONT_SECTION("u8g_font_9x15B") = { - 0,9,15,0,253,10,1,232,3,214,32,255,253,12,253,11, - 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, - 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, - 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, - 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, - 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, - 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, - 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, - 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, - 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, - 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, - 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, - 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, - 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, - 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, - 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, - 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, - 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, - 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, - 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, - 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, - 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, - 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, - 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, - 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, - 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, - 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, - 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, - 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, - 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, - 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, - 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, - 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, - 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, - 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, - 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, - 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, - 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, - 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, - 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, - 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, - 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, - 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, - 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, - 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, - 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, - 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, - 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, - 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, - 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, - 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, - 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, - 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, - 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, - 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, - 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, - 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, - 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, - 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, - 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, - 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, - 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, - 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, - 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, - 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, - 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, - 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, - 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, - 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, - 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, - 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, - 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, - 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, - 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, - 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, - 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, - 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, - 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, - 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, - 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, - 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, - 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, - 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, - 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, - 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, - 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, - 48,48,48,48,224,8,3,3,9,0,7,115,219,206,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,9,0,12,2,10,10,9,4,0,192,0,192,192,192, - 192,192,192,192,192,7,8,8,9,1,0,4,124,206,208,208, - 230,124,64,8,10,10,9,0,255,30,51,48,48,124,48,48, - 248,191,224,7,7,7,9,1,2,198,254,108,68,108,254,198, - 8,10,10,9,0,0,195,195,102,60,126,24,126,24,24,24, - 2,11,11,9,4,255,192,192,192,192,192,0,0,192,192,192, - 192,6,11,11,9,1,255,120,204,192,120,204,204,204,120,12, - 204,120,6,2,2,9,1,9,204,204,8,11,11,9,0,0, - 60,126,195,189,165,161,165,189,195,126,60,5,7,7,9,1, - 3,240,24,248,152,248,0,248,8,8,8,9,0,1,27,54, - 108,216,216,108,54,27,7,5,5,9,1,2,254,254,6,6, - 6,6,1,1,9,1,4,252,8,11,11,9,0,0,60,126, - 195,189,165,189,169,173,195,126,60,6,2,2,9,1,9,252, - 252,6,4,4,9,2,6,120,204,204,120,8,10,10,9,0, - 0,24,24,24,255,255,24,24,24,255,255,5,7,7,9,1, - 4,112,152,24,48,96,192,248,5,7,7,9,1,4,112,152, - 24,48,24,152,112,4,3,3,9,2,8,48,96,192,7,10, - 10,9,1,253,198,198,198,198,198,238,250,192,192,192,7,10, - 10,9,1,0,126,254,246,246,246,118,54,54,54,54,3,3, - 3,9,3,3,64,224,64,5,3,3,9,2,253,24,216,112, - 4,7,7,9,1,4,96,224,96,96,96,96,240,5,6,6, - 9,1,4,112,216,216,112,0,248,8,8,8,9,0,1,216, - 108,54,27,27,54,108,216,8,11,11,9,0,0,96,224,96, - 96,97,99,247,15,27,31,3,8,11,11,9,0,0,96,224, - 96,96,110,115,243,6,12,24,31,8,11,11,9,0,0,112, - 152,24,48,25,155,119,15,27,31,3,7,10,10,9,1,0, - 24,24,0,24,48,96,192,198,198,124,8,12,12,9,0,0, - 96,48,24,0,60,102,195,195,255,195,195,195,8,12,12,9, - 0,0,6,12,24,0,60,102,195,195,255,195,195,195,8,12, - 12,9,0,0,24,60,102,0,60,102,195,195,255,195,195,195, - 8,12,12,9,0,0,50,126,76,0,60,102,195,195,255,195, - 195,195,8,11,11,9,0,0,102,102,0,60,102,195,195,255, - 195,195,195,8,12,12,9,0,0,24,36,36,24,60,102,195, - 195,255,195,195,195,8,10,10,9,0,0,31,60,108,108,204, - 255,204,204,204,207,8,13,13,9,0,253,62,99,193,192,192, - 192,192,193,99,62,12,108,56,7,12,12,9,1,0,96,48, - 24,0,254,192,192,252,192,192,192,254,7,12,12,9,1,0, - 12,24,48,0,254,192,192,252,192,192,192,254,7,12,12,9, - 1,0,24,60,102,0,254,192,192,252,192,192,192,254,7,11, - 11,9,1,0,102,102,0,254,192,192,252,192,192,192,254,6, - 12,12,9,1,0,192,96,48,0,252,48,48,48,48,48,48, - 252,6,12,12,9,1,0,24,48,96,0,252,48,48,48,48, - 48,48,252,6,12,12,9,1,0,48,120,204,0,252,48,48, - 48,48,48,48,252,6,11,11,9,1,0,204,204,0,252,48, - 48,48,48,48,48,252,9,10,20,9,0,0,126,0,99,0, - 97,128,97,128,249,128,249,128,97,128,97,128,99,0,126,0, - 8,12,12,9,0,0,50,126,76,0,195,227,243,251,223,207, - 199,195,8,12,12,9,0,0,96,48,24,0,60,102,195,195, - 195,195,102,60,8,12,12,9,0,0,6,12,24,0,60,102, - 195,195,195,195,102,60,8,12,12,9,0,0,24,60,102,0, - 60,102,195,195,195,195,102,60,8,12,12,9,0,0,50,126, - 76,0,60,102,195,195,195,195,102,60,8,11,11,9,0,0, - 102,102,0,60,102,195,195,195,195,102,60,7,8,8,9,1, - 0,130,198,108,56,56,108,198,130,8,12,12,9,0,255,1, - 63,102,199,203,203,211,211,227,102,252,128,8,12,12,9,0, - 0,96,48,24,0,195,195,195,195,195,195,102,60,8,12,12, - 9,0,0,6,12,24,0,195,195,195,195,195,195,102,60,8, - 12,12,9,0,0,24,60,102,0,195,195,195,195,195,195,102, - 60,8,11,11,9,0,0,102,102,0,195,195,195,195,195,195, - 102,60,8,12,12,9,0,0,6,12,24,0,195,102,60,24, - 24,24,24,24,7,10,10,9,1,0,240,96,124,102,102,102, - 124,96,96,240,7,10,10,9,1,0,60,102,198,204,216,204, - 198,198,198,220,8,11,11,9,0,0,96,48,24,0,62,67, - 3,127,195,199,123,8,11,11,9,0,0,12,24,48,0,62, - 67,3,127,195,199,123,8,11,11,9,0,0,24,60,102,0, - 62,67,3,127,195,199,123,8,11,11,9,0,0,50,126,76, - 0,62,67,3,127,195,199,123,8,10,10,9,0,0,102,102, - 0,62,67,3,127,195,199,123,8,11,11,9,0,0,24,36, - 36,24,62,67,3,127,195,199,123,8,7,7,9,0,0,118, - 155,27,126,216,217,110,8,10,10,9,0,253,62,99,192,192, - 192,99,62,12,108,56,8,11,11,9,0,0,96,48,24,0, - 60,102,195,255,192,99,62,8,11,11,9,0,0,12,24,48, - 0,60,102,195,255,192,99,62,8,11,11,9,0,0,24,60, - 102,0,60,102,195,255,192,99,62,8,10,10,9,0,0,102, - 102,0,60,102,195,255,192,99,62,6,11,11,9,1,0,192, - 96,48,0,112,48,48,48,48,48,252,6,11,11,9,1,0, - 24,48,96,0,112,48,48,48,48,48,252,6,11,11,9,1, - 0,48,120,204,0,112,48,48,48,48,48,252,6,10,10,9, - 1,0,204,204,0,112,48,48,48,48,48,252,8,12,12,9, - 0,0,136,216,112,112,216,140,62,103,195,195,102,60,8,11, - 11,9,0,0,50,126,76,0,220,230,195,195,195,195,195,8, - 11,11,9,0,0,96,48,24,0,60,102,195,195,195,102,60, - 8,11,11,9,0,0,12,24,48,0,60,102,195,195,195,102, - 60,8,11,11,9,0,0,24,60,102,0,60,102,195,195,195, - 102,60,8,11,11,9,0,0,50,126,76,0,60,102,195,195, - 195,102,60,8,10,10,9,0,0,102,102,0,60,102,195,195, - 195,102,60,8,10,10,9,0,0,24,24,0,0,255,255,0, - 0,24,24,8,9,9,9,0,255,1,63,102,207,219,243,102, - 252,128,8,11,11,9,0,0,96,48,24,0,195,195,195,195, - 195,103,59,8,11,11,9,0,0,12,24,48,0,195,195,195, - 195,195,103,59,8,11,11,9,0,0,24,60,102,0,195,195, - 195,195,195,103,59,8,10,10,9,0,0,102,102,0,195,195, - 195,195,195,103,59,8,14,14,9,0,253,12,24,48,0,195, - 195,195,195,195,103,59,3,198,124,7,12,12,9,1,253,224, - 96,96,124,102,102,102,102,124,96,96,224,8,13,13,9,0, - 253,102,102,0,195,195,195,195,195,103,59,3,198,124}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 3 y=12 dx= 9 dy= 0 ascent=12 len=13 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15Br[1423] U8G_FONT_SECTION("u8g_font_9x15Br") = { - 0,9,15,0,253,10,1,232,3,214,32,127,253,12,253,11, - 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, - 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, - 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, - 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, - 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, - 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, - 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, - 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, - 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, - 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, - 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, - 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, - 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, - 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, - 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, - 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, - 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, - 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, - 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, - 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, - 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, - 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, - 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, - 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, - 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, - 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, - 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, - 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, - 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, - 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, - 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, - 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, - 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, - 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, - 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, - 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, - 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, - 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, - 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, - 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, - 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, - 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, - 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, - 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, - 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, - 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, - 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, - 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, - 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, - 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, - 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, - 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, - 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, - 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, - 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, - 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, - 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, - 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, - 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, - 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, - 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, - 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, - 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, - 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, - 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, - 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, - 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, - 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, - 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, - 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, - 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, - 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, - 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, - 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, - 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, - 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, - 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, - 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, - 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, - 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, - 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, - 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, - 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, - 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, - 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, - 48,48,48,48,224,8,3,3,9,0,7,115,219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=14 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15[2959] U8G_FONT_SECTION("u8g_font_9x15") = { - 0,9,15,0,253,10,1,232,3,216,32,255,253,12,253,11, - 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, - 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, - 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, - 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, - 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, - 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, - 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, - 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, - 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, - 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, - 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, - 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, - 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, - 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, - 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, - 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, - 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, - 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, - 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, - 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, - 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, - 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, - 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, - 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, - 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, - 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, - 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, - 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, - 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, - 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, - 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, - 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, - 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, - 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, - 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, - 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, - 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, - 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, - 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, - 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, - 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, - 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, - 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, - 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, - 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, - 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, - 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, - 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, - 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, - 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, - 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, - 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, - 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, - 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, - 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, - 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, - 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, - 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, - 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, - 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, - 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, - 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, - 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, - 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, - 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, - 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, - 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, - 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, - 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, - 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, - 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, - 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, - 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, - 146,140,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,9,0,12,1,11,11,9,4,0,128, - 128,0,0,128,128,128,128,128,128,128,6,8,8,9,1,0, - 8,120,148,144,160,164,120,64,7,10,10,9,1,0,28,34, - 32,32,248,32,32,96,162,92,7,6,6,9,1,3,130,124, - 68,68,124,130,7,10,10,9,1,0,130,130,68,40,124,16, - 124,16,16,16,1,11,11,9,4,255,128,128,128,128,128,0, - 128,128,128,128,128,4,11,11,9,2,255,96,144,128,96,144, - 144,144,96,16,144,96,5,2,2,9,2,9,136,136,8,9, - 9,9,0,1,60,66,153,165,161,165,153,66,60,5,7,7, - 9,1,3,96,144,112,144,120,0,248,7,8,8,9,1,1, - 18,36,72,144,144,72,36,18,6,4,4,9,1,2,252,4, - 4,4,5,1,1,9,2,4,248,8,9,9,9,0,1,60, - 66,185,165,185,169,165,66,60,6,1,1,9,1,9,252,4, - 4,4,9,3,6,96,144,144,96,7,9,9,9,1,1,16, - 16,16,254,16,16,16,0,254,4,6,6,9,1,4,96,144, - 16,96,128,240,4,6,6,9,1,4,96,144,32,16,144,96, - 3,3,3,9,3,8,32,64,128,7,9,9,9,1,254,130, - 130,130,130,130,198,186,128,128,7,10,10,9,1,0,126,138, - 138,138,122,10,10,10,10,10,2,2,2,9,4,4,192,192, - 4,3,3,9,2,253,48,144,96,3,6,6,9,1,4,64, - 192,64,64,64,224,5,6,6,9,1,4,112,136,136,112,0, - 248,7,8,8,9,1,1,144,72,36,18,18,36,72,144,7, - 10,10,9,1,0,64,192,64,64,66,230,10,18,26,6,7, - 10,10,9,1,0,64,192,64,64,76,242,2,12,16,30,7, - 10,10,9,1,0,96,144,32,16,146,102,10,18,26,6,7, - 10,10,9,1,0,16,0,16,16,32,64,128,130,130,124,7, - 12,12,9,1,0,64,32,16,0,56,68,130,130,254,130,130, - 130,7,12,12,9,1,0,4,8,16,0,56,68,130,130,254, - 130,130,130,7,12,12,9,1,0,16,40,68,0,56,68,130, - 130,254,130,130,130,7,11,11,9,1,0,98,156,0,56,68, - 130,130,254,130,130,130,7,11,11,9,1,0,68,68,0,56, - 68,130,130,254,130,130,130,7,11,11,9,1,0,56,68,56, - 40,68,130,130,254,130,130,130,7,10,10,9,1,0,110,144, - 144,144,144,252,144,144,144,158,7,13,13,9,1,253,124,130, - 128,128,128,128,128,128,130,124,24,72,48,7,12,12,9,1, - 0,64,32,16,0,254,64,64,120,64,64,64,254,7,12,12, - 9,1,0,4,8,16,0,254,64,64,120,64,64,64,254,7, - 12,12,9,1,0,16,40,68,0,254,64,64,120,64,64,64, - 254,7,11,11,9,1,0,68,68,0,254,64,64,120,64,64, - 64,254,5,12,12,9,2,0,128,64,32,0,248,32,32,32, - 32,32,32,248,5,12,12,9,2,0,8,16,32,0,248,32, - 32,32,32,32,32,248,5,12,12,9,2,0,32,80,136,0, - 248,32,32,32,32,32,32,248,5,11,11,9,2,0,136,136, - 0,248,32,32,32,32,32,32,248,8,10,10,9,0,0,124, - 66,65,65,225,65,65,65,66,124,7,11,11,9,1,0,98, - 156,0,130,194,162,146,146,138,134,130,7,12,12,9,1,0, - 64,32,16,0,124,130,130,130,130,130,130,124,7,12,12,9, - 1,0,4,8,16,0,124,130,130,130,130,130,130,124,7,12, - 12,9,1,0,16,40,68,0,124,130,130,130,130,130,130,124, - 7,11,11,9,1,0,98,156,0,124,130,130,130,130,130,130, - 124,7,11,11,9,1,0,68,68,0,124,130,130,130,130,130, - 130,124,7,7,7,9,1,1,130,68,40,16,40,68,130,7, - 12,12,9,1,255,2,124,134,138,138,146,146,162,162,194,124, - 128,7,12,12,9,1,0,64,32,16,0,130,130,130,130,130, - 130,130,124,7,12,12,9,1,0,4,8,16,0,130,130,130, - 130,130,130,130,124,7,12,12,9,1,0,16,40,68,0,130, - 130,130,130,130,130,130,124,7,11,11,9,1,0,68,68,0, - 130,130,130,130,130,130,130,124,7,12,12,9,1,0,4,8, - 16,0,130,130,68,40,16,16,16,16,7,10,10,9,1,0, - 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, - 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, - 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, - 0,4,8,16,0,124,2,2,126,130,134,122,7,11,11,9, - 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,50,76,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,68,68,0,124,2,2,126,130,134,122,7,11,11, - 9,1,0,24,36,24,0,124,2,2,126,130,134,122,7,7, - 7,9,1,0,108,146,18,124,144,146,110,7,10,10,9,1, - 253,124,130,128,128,128,130,124,24,72,48,7,11,11,9,1, - 0,64,32,16,0,124,130,130,254,128,128,124,7,11,11,9, - 1,0,4,8,16,0,124,130,130,254,128,128,124,7,11,11, - 9,1,0,16,40,68,0,124,130,130,254,128,128,124,7,10, - 10,9,1,0,68,68,0,124,130,130,254,128,128,124,5,11, - 11,9,2,0,128,64,32,0,224,32,32,32,32,32,248,5, - 11,11,9,2,0,16,32,64,0,224,32,32,32,32,32,248, - 6,11,11,9,1,0,32,80,136,0,112,16,16,16,16,16, - 124,5,10,10,9,2,0,144,144,0,224,32,32,32,32,32, - 248,7,11,11,9,1,0,72,48,80,8,124,130,130,130,130, - 130,124,7,10,10,9,1,0,98,156,0,188,194,130,130,130, - 130,130,7,11,11,9,1,0,64,32,16,0,124,130,130,130, - 130,130,124,7,11,11,9,1,0,4,8,16,0,124,130,130, - 130,130,130,124,7,11,11,9,1,0,16,40,68,0,124,130, - 130,130,130,130,124,7,10,10,9,1,0,98,156,0,124,130, - 130,130,130,130,124,7,10,10,9,1,0,68,68,0,124,130, - 130,130,130,130,124,7,9,9,9,1,0,16,56,16,0,254, - 0,16,56,16,7,9,9,9,1,255,2,124,138,138,146,162, - 162,124,128,7,11,11,9,1,0,64,32,16,0,132,132,132, - 132,132,132,122,7,11,11,9,1,0,4,8,16,0,132,132, - 132,132,132,132,122,7,11,11,9,1,0,16,40,68,0,132, - 132,132,132,132,132,122,7,10,10,9,1,0,72,72,0,132, - 132,132,132,132,132,122,6,14,14,9,1,253,8,16,32,0, - 132,132,132,132,132,140,116,4,132,120,7,12,12,9,1,253, - 128,128,128,188,194,130,130,194,188,128,128,128,6,13,13,9, - 1,253,72,72,0,132,132,132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=13 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15r[1427] U8G_FONT_SECTION("u8g_font_9x15r") = { - 0,9,15,0,253,10,1,232,3,216,32,127,253,12,253,11, - 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, - 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, - 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, - 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, - 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, - 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, - 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, - 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, - 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, - 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, - 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, - 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, - 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, - 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, - 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, - 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, - 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, - 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, - 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, - 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, - 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, - 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, - 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, - 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, - 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, - 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, - 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, - 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, - 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, - 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, - 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, - 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, - 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, - 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, - 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, - 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, - 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, - 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, - 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, - 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, - 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, - 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, - 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, - 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, - 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, - 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, - 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, - 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, - 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, - 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, - 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, - 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, - 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, - 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, - 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, - 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, - 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, - 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, - 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, - 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, - 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, - 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, - 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, - 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, - 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, - 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, - 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, - 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, - 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, - 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, - 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, - 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, - 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, - 146,140,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 4, '1' Height: 10 - Calculated Max Values w= 9 h=18 x= 8 y=12 dx= 9 dy= 0 ascent=14 len=36 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 4 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[3936] U8G_FONT_SECTION("u8g_font_9x18_67_75") = { - 0,9,18,0,252,4,1,255,4,34,32,255,0,14,252,10, - 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, - 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, - 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, - 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, - 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, - 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, - 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, - 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, - 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, - 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, - 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, - 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, - 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, - 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, - 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, - 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, - 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, - 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, - 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, - 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, - 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, - 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, - 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, - 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, - 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, - 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, - 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, - 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, - 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, - 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, - 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, - 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, - 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, - 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, - 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, - 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, - 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, - 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, - 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, - 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, - 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, - 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, - 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, - 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, - 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, - 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, - 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, - 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, - 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, - 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, - 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, - 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, - 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, - 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, - 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, - 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, - 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, - 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, - 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, - 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, - 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, - 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, - 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, - 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, - 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, - 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, - 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, - 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, - 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, - 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, - 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, - 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, - 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, - 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, - 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, - 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, - 124,7,10,10,9,1,0,16,40,68,238,68,238,40,40,40, - 56,7,11,11,9,1,255,16,40,68,238,68,238,40,40,108, - 68,124,9,7,14,9,0,1,132,0,134,0,253,0,128,128, - 253,0,134,0,132,0,7,7,7,9,1,0,252,128,184,176, - 168,132,2,7,7,7,9,1,0,128,66,42,26,58,2,126, - 7,11,11,9,1,255,16,40,68,238,40,40,40,238,68,40, - 16,9,7,14,9,0,1,4,0,50,0,73,0,255,128,73, - 0,50,0,4,0,9,10,20,9,0,0,34,0,39,0,42, - 128,34,0,34,0,34,0,34,0,170,0,114,0,34,0,7, - 13,13,9,1,254,8,4,254,4,8,4,254,4,8,4,254, - 4,8,8,5,5,9,0,2,36,68,255,68,36,8,5,5, - 9,0,2,36,34,255,34,36,9,5,10,9,0,2,42,0, - 73,0,255,128,73,0,42,0,8,5,5,9,0,2,42,74, - 255,74,42,8,5,5,9,0,2,84,82,255,82,84,9,5, - 10,9,0,2,85,0,148,128,255,128,148,128,85,0,7,7, - 7,9,1,1,16,48,80,158,80,48,16,7,7,7,9,1, - 1,16,24,20,242,20,24,16,8,5,5,9,0,2,36,102, - 189,102,36,9,9,18,9,0,5,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,9,2,4,9,0, - 252,255,128,255,128,9,4,8,9,0,252,255,128,255,128,255, - 128,255,128,9,7,14,9,0,252,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,9,9,18,9,0,252,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,9, - 11,22,9,0,252,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,9,14,28,9,0, - 252,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,9,16,32, - 9,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,9,18,36,9,0,252,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,8,18,18, - 9,0,252,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,7,18,18,9,0,252,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,254,254,254,254,6,18,18, - 9,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252, - 252,252,252,252,252,5,18,18,9,0,252,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,3,18,18, - 9,0,252,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,2,18,18,9,0,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,1,18,18, - 9,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,4,18,18,9,5,252,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,9,17,34, - 9,0,253,85,0,0,0,170,128,0,0,85,0,0,0,170, - 128,0,0,85,0,0,0,170,128,0,0,85,0,0,0,170, - 128,0,0,85,0,9,18,36,9,0,252,170,128,85,0,170, - 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,170, - 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,9, - 18,36,9,0,252,255,128,170,128,255,128,85,0,255,128,170, - 128,255,128,85,0,255,128,170,128,255,128,85,0,255,128,170, - 128,255,128,85,0,255,128,170,128,9,2,4,9,0,12,255, - 128,255,128,1,18,18,9,8,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,5,9,9,9,0, - 252,248,248,248,248,248,248,248,248,248,4,9,9,9,5,252, - 240,240,240,240,240,240,240,240,240,5,9,9,9,0,5,248, - 248,248,248,248,248,248,248,248,9,18,36,9,0,252,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,9,18,36,9,0,252,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,9,18,36,9, - 0,252,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,9,18,36,9,0,252,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 4,9,9,9,5,5,240,240,240,240,240,240,240,240,240,9, - 18,36,9,0,252,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,9,18,36,9,0,252,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,7,7,7,9,1,1,254,254,254,254,254,254,254, - 7,7,7,9,1,1,254,130,130,130,130,130,254,7,7,7, - 9,1,1,124,130,130,130,130,130,124,7,7,7,9,1,1, - 254,130,186,186,186,130,254,7,7,7,9,1,1,254,130,254, - 130,254,130,254,7,7,7,9,1,1,254,170,170,170,170,170, - 254,7,7,7,9,1,1,254,170,254,170,254,170,254,7,7, - 7,9,1,1,254,146,138,198,162,146,254,7,7,7,9,1, - 1,254,146,162,198,138,146,254,7,7,7,9,1,1,254,214, - 138,214,162,214,254,3,3,3,9,3,3,224,224,224,3,3, - 3,9,3,3,224,160,224,9,5,10,9,0,2,255,128,255, - 128,255,128,255,128,255,128,9,5,10,9,0,2,255,128,128, - 128,128,128,128,128,255,128,5,9,9,9,2,0,248,248,248, - 248,248,248,248,248,248,5,9,9,9,2,0,248,136,136,136, - 136,136,136,136,248,9,5,10,9,0,2,127,128,127,128,255, - 128,255,0,255,0,9,5,10,9,0,2,127,128,64,128,128, - 128,129,0,255,0,9,10,20,9,0,0,8,0,8,0,28, - 0,28,0,62,0,62,0,127,0,127,0,255,128,255,128,9, - 10,20,9,0,0,8,0,8,0,20,0,20,0,34,0,34, - 0,65,0,65,0,128,128,255,128,7,7,7,9,1,1,16, - 16,56,56,124,124,254,7,7,7,9,1,1,16,16,40,40, - 68,68,254,9,9,18,9,0,0,192,0,240,0,252,0,255, - 0,255,128,255,0,252,0,240,0,192,0,9,9,18,9,0, - 0,192,0,176,0,140,0,131,0,128,128,131,0,140,0,176, - 0,192,0,7,7,7,9,1,1,128,224,248,254,248,224,128, - 7,7,7,9,1,1,128,224,152,134,152,224,128,9,5,10, - 9,0,2,224,0,252,0,255,128,252,0,224,0,9,5,10, - 9,0,2,224,0,156,0,131,128,156,0,224,0,9,10,20, - 9,0,0,255,128,255,128,127,0,127,0,62,0,62,0,28, - 0,28,0,8,0,8,0,9,10,20,9,0,0,255,128,128, - 128,65,0,65,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,7,7,9,1,1,254,124,124,56,56,16,16,7,7, - 7,9,1,1,254,68,68,40,40,16,16,9,9,18,9,0, - 0,1,128,7,128,31,128,127,128,255,128,127,128,31,128,7, - 128,1,128,9,9,18,9,0,0,1,128,6,128,24,128,96, - 128,128,128,96,128,24,128,6,128,1,128,7,7,7,9,1, - 1,2,14,62,254,62,14,2,7,7,7,9,1,1,2,14, - 50,194,50,14,2,9,5,10,9,0,2,3,128,31,128,255, - 128,31,128,3,128,9,5,10,9,0,2,3,128,28,128,224, - 128,28,128,3,128,9,9,18,9,0,0,8,0,28,0,62, - 0,127,0,255,128,127,0,62,0,28,0,8,0,9,9,18, - 9,0,0,8,0,20,0,34,0,65,0,128,128,65,0,34, - 0,20,0,8,0,9,9,18,9,0,0,8,0,20,0,34, - 0,73,0,156,128,73,0,34,0,20,0,8,0,7,7,7, - 9,1,1,56,68,146,186,146,68,56,5,9,9,9,2,0, - 32,32,80,80,136,80,80,32,32,7,7,7,9,1,1,56, - 68,130,130,130,68,56,7,7,7,9,1,1,16,68,0,130, - 0,68,16,7,7,7,9,1,1,56,108,170,170,170,108,56, - 7,7,7,9,1,1,56,68,146,170,146,68,56,7,7,7, - 9,1,1,56,124,254,254,254,124,56,7,7,7,9,1,1, - 56,116,242,242,242,116,56,7,7,7,9,1,1,56,92,158, - 158,158,92,56,7,7,7,9,1,1,56,68,130,254,254,124, - 56,7,7,7,9,1,1,56,124,254,254,130,68,56,7,7, - 7,9,1,1,56,92,158,158,130,68,56,7,7,7,9,1, - 1,56,92,158,254,254,124,56,4,7,7,9,1,1,48,112, - 240,240,240,112,48,4,7,7,9,4,1,192,224,240,240,240, - 224,192,9,18,36,9,0,252,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,227,128,193,128,193,128,193,128,227,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,18,36,9, - 0,252,255,128,255,128,255,128,255,128,255,128,255,128,227,128, - 221,128,190,128,190,128,190,128,221,128,227,128,255,128,255,128, - 255,128,255,128,255,128,9,10,20,9,0,4,255,128,255,128, - 255,128,255,128,255,128,255,128,227,128,221,128,190,128,190,128, - 9,9,18,9,0,252,190,128,190,128,221,128,227,128,255,128, - 255,128,255,128,255,128,255,128,4,4,4,9,1,4,48,64, - 128,128,4,4,4,9,4,4,192,32,16,16,4,4,4,9, - 4,1,16,16,32,192,4,4,4,9,1,1,128,128,64,48, - 7,4,4,9,1,4,56,68,130,130,7,4,4,9,1,1, - 130,130,68,56,7,7,7,9,1,1,2,6,14,30,62,126, - 254,7,7,7,9,1,1,128,192,224,240,248,252,254,7,7, - 7,9,1,1,254,252,248,240,224,192,128,7,7,7,9,1, - 1,254,126,62,30,14,6,2,5,5,5,9,2,2,112,136, - 136,136,112,7,7,7,9,1,1,254,242,242,242,242,242,254, - 7,7,7,9,1,1,254,158,158,158,158,158,254,7,7,7, - 9,1,1,254,254,250,242,226,194,254,7,7,7,9,1,1, - 254,134,142,158,190,254,254,7,7,7,9,1,1,254,146,146, - 146,146,146,254,9,10,20,9,0,0,8,0,8,0,20,0, - 20,0,34,0,42,0,93,0,73,0,128,128,255,128,9,10, - 20,9,0,0,8,0,8,0,28,0,28,0,58,0,58,0, - 121,0,121,0,248,128,255,128,9,10,20,9,0,0,8,0, - 8,0,28,0,28,0,46,0,46,0,79,0,79,0,143,128, - 255,128,9,9,18,9,0,0,62,0,65,0,128,128,128,128, - 128,128,128,128,128,128,65,0,62,0,7,7,7,9,1,1, - 254,146,146,242,130,130,254,7,7,7,9,1,1,254,130,130, - 242,146,146,254,7,7,7,9,1,1,254,130,130,158,146,146, - 254,7,7,7,9,1,1,254,146,146,158,130,130,254,7,7, - 7,9,1,1,124,146,146,242,130,130,124,7,7,7,9,1, - 1,124,130,130,242,146,146,124,7,7,7,9,1,1,124,130, - 130,158,146,146,124,7,7,7,9,1,1,124,146,146,158,130, - 130,124,6,6,6,9,1,1,252,136,144,160,192,128,6,6, - 6,9,1,1,252,68,36,20,12,4,6,6,6,9,1,1, - 128,192,160,144,136,252,6,6,6,9,1,1,252,132,132,132, - 132,252,6,6,6,9,1,1,252,252,252,252,252,252,5,5, - 5,9,2,1,248,136,136,136,248,5,5,5,9,2,1,248, - 248,248,248,248,6,6,6,9,1,1,4,12,20,36,68,252 - }; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 5 - Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_75r[792] U8G_FONT_SECTION("u8g_font_9x18_75r") = { - 0,9,18,0,252,9,2,33,0,0,32,79,0,10,0,9, - 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 9 h=12 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=24 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =12 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[3336] U8G_FONT_SECTION("u8g_font_9x18_78_79") = { - 0,9,18,0,252,9,2,231,4,175,32,255,0,12,255,11, - 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, - 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, - 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, - 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, - 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, - 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, - 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, - 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, - 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, - 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, - 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, - 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, - 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, - 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, - 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, - 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, - 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, - 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, - 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, - 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, - 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, - 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, - 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, - 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, - 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, - 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, - 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, - 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, - 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, - 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, - 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, - 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, - 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, - 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, - 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, - 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, - 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, - 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, - 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, - 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, - 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, - 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, - 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, - 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, - 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, - 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, - 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, - 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, - 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, - 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, - 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, - 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, - 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, - 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, - 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, - 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, - 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, - 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, - 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, - 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, - 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, - 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, - 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, - 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, - 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, - 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, - 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, - 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, - 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, - 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, - 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, - 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, - 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, - 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, - 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, - 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, - 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, - 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, - 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, - 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, - 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, - 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, - 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, - 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, - 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, - 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, - 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, - 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, - 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, - 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, - 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, - 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, - 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, - 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, - 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, - 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, - 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, - 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, - 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, - 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, - 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, - 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, - 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, - 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, - 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, - 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, - 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, - 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, - 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, - 10,0,20,0,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,8,11,11,9,0,255, - 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, - 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, - 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, - 85,0,99,0,99,0,193,128,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,5,12,12,9,2,255,248,160,160,160, - 160,160,160,160,160,160,160,248,5,12,12,9,2,255,248,40, - 40,40,40,40,40,40,40,40,40,248,3,10,10,9,3,0, - 32,32,64,64,128,128,64,64,32,32,3,10,10,9,3,0, - 128,128,64,64,32,32,64,64,128,128,6,10,10,9,1,0, - 36,36,72,72,144,144,72,72,36,36,6,10,10,9,2,0, - 144,144,72,72,36,36,72,72,144,144,255,255,255,255,9,11, - 22,9,0,0,8,0,20,0,54,0,85,0,213,128,85,0, - 85,0,85,0,85,0,85,0,85,0,9,11,22,9,0,255, - 85,0,85,0,85,0,85,0,85,0,85,0,213,128,85,0, - 54,0,20,0,8,0,8,8,8,9,0,0,28,34,169,113, - 33,1,34,28,8,8,8,9,0,0,56,68,149,142,132,128, - 68,56,9,5,10,9,0,2,114,0,169,0,255,128,169,0, - 114,0,9,5,10,9,0,2,32,0,64,0,255,128,64,0, - 32,0,9,5,10,9,0,2,2,0,1,0,255,128,1,0, - 2,0,9,5,10,9,0,2,34,0,65,0,255,128,65,0, - 34,0,9,7,14,9,0,1,16,0,32,0,127,128,128,0, - 127,128,32,0,16,0,9,7,14,9,0,1,4,0,2,0, - 255,0,0,128,255,0,2,0,4,0,9,7,14,9,0,1, - 20,0,34,0,127,0,128,128,127,0,34,0,20,0,9,5, - 10,9,0,2,32,128,64,128,255,128,64,128,32,128,9,5, - 10,9,0,2,130,0,129,0,255,128,129,0,130,0,9,7, - 14,9,0,1,16,128,32,128,127,128,128,128,127,128,32,128, - 16,128,9,7,14,9,0,1,132,0,130,0,255,0,128,128, - 255,0,130,0,132,0,9,6,12,9,0,1,2,0,1,0, - 85,128,170,128,1,0,2,0}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18B[3026] U8G_FONT_SECTION("u8g_font_9x18B") = { - 0,9,18,0,252,10,1,242,3,225,32,255,253,14,252,11, - 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, - 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, - 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, - 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, - 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, - 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, - 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, - 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, - 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, - 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, - 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, - 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, - 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, - 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, - 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, - 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, - 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, - 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, - 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, - 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, - 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, - 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, - 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, - 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, - 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, - 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, - 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, - 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, - 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, - 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, - 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, - 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, - 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, - 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, - 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, - 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, - 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, - 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, - 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, - 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, - 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, - 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, - 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, - 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, - 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, - 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, - 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, - 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, - 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, - 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, - 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, - 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, - 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, - 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, - 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, - 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, - 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, - 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, - 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, - 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, - 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, - 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, - 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, - 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, - 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, - 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, - 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, - 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, - 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, - 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, - 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, - 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, - 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, - 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, - 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, - 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, - 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, - 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, - 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, - 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, - 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, - 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, - 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, - 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, - 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, - 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, - 8,3,3,9,0,7,115,219,206,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,9,0,14, - 2,10,10,9,4,0,192,0,192,192,192,192,192,192,192,192, - 7,8,8,9,1,0,4,124,206,208,208,230,124,64,8,10, - 10,9,0,255,30,51,48,48,124,48,48,248,191,224,7,7, - 7,9,1,2,198,254,108,68,108,254,198,8,10,10,9,0, - 0,195,195,102,60,126,24,126,24,24,24,2,11,11,9,3, - 255,192,192,192,192,192,0,192,192,192,192,192,6,11,11,9, - 1,255,120,204,192,120,204,204,204,120,12,204,120,5,2,2, - 9,2,11,216,216,8,11,11,9,0,0,60,126,195,189,165, - 161,165,189,195,126,60,5,7,7,9,1,3,112,24,120,216, - 120,0,248,8,8,8,9,0,1,27,54,108,216,216,108,54, - 27,7,5,5,9,1,2,254,254,6,6,6,6,1,1,9, - 1,4,252,8,11,11,9,0,0,60,126,195,189,165,189,169, - 173,195,126,60,6,2,2,9,1,9,252,252,5,4,4,9, - 1,8,112,216,216,112,6,9,9,9,1,1,48,48,48,252, - 48,48,48,0,252,5,6,6,9,1,4,112,216,24,48,96, - 248,5,6,6,9,1,4,112,216,48,24,216,112,4,3,3, - 9,2,10,48,96,192,7,9,9,9,1,254,198,198,198,198, - 206,222,246,192,192,7,10,10,9,1,0,126,246,246,246,118, - 54,54,54,54,54,3,2,2,9,3,4,224,224,6,3,3, - 9,1,253,24,204,120,4,6,6,9,1,4,96,224,96,96, - 96,240,5,7,7,9,1,3,112,216,216,216,112,0,248,8, - 8,8,9,0,1,216,108,54,27,27,54,108,216,8,11,11, - 9,0,0,96,224,96,96,97,99,247,15,27,31,3,8,11, - 11,9,0,0,96,224,96,96,110,115,243,6,12,24,31,8, - 11,11,9,0,0,112,152,24,48,25,155,119,15,27,31,3, - 7,10,10,9,1,0,24,24,0,24,48,96,192,198,198,124, - 7,14,14,9,1,0,96,48,24,0,16,56,56,56,108,124, - 108,198,198,198,7,14,14,9,1,0,12,24,48,0,16,56, - 56,56,108,124,108,198,198,198,7,14,14,9,1,0,16,56, - 108,0,16,56,56,56,108,124,108,198,198,198,7,13,13,9, - 1,0,118,220,0,16,56,56,56,108,124,108,198,198,198,7, - 13,13,9,1,0,108,108,0,16,56,56,56,108,124,108,198, - 198,198,7,14,14,9,1,0,56,108,108,56,16,56,56,56, - 108,124,108,198,198,198,7,10,10,9,1,0,62,60,108,108, - 110,252,204,204,204,206,7,14,14,9,1,252,60,102,192,192, - 192,192,192,192,102,60,24,12,108,56,7,14,14,9,1,0, - 96,48,24,0,254,192,192,192,248,192,192,192,192,254,7,14, - 14,9,1,0,12,24,48,0,254,192,192,192,248,192,192,192, - 192,254,7,14,14,9,1,0,16,56,108,0,254,192,192,192, - 248,192,192,192,192,254,7,13,13,9,1,0,108,108,0,254, - 192,192,192,248,192,192,192,192,254,6,14,14,9,1,0,96, - 48,24,0,252,48,48,48,48,48,48,48,48,252,6,14,14, - 9,1,0,12,24,48,0,252,48,48,48,48,48,48,48,48, - 252,6,14,14,9,1,0,16,56,108,0,252,48,48,48,48, - 48,48,48,48,252,6,13,13,9,1,0,108,108,0,252,48, - 48,48,48,48,48,48,48,252,8,10,10,9,0,0,124,102, - 99,99,243,99,99,99,102,124,7,13,13,9,1,0,118,220, - 0,198,198,230,246,222,206,198,198,198,198,7,14,14,9,1, - 0,96,48,24,0,124,198,198,198,198,198,198,198,198,124,7, - 14,14,9,1,0,12,24,48,0,124,198,198,198,198,198,198, - 198,198,124,7,14,14,9,1,0,16,56,108,0,124,198,198, - 198,198,198,198,198,198,124,7,13,13,9,1,0,118,220,0, - 124,198,198,198,198,198,198,198,198,124,7,13,13,9,1,0, - 108,108,0,124,198,198,198,198,198,198,198,198,124,8,7,7, - 9,0,1,195,102,60,24,60,102,195,7,12,12,9,1,255, - 6,126,206,206,222,222,246,246,230,230,252,192,7,14,14,9, - 1,0,96,48,24,0,198,198,198,198,198,198,198,198,108,56, - 7,14,14,9,1,0,12,24,48,0,198,198,198,198,198,198, - 198,198,108,56,7,14,14,9,1,0,16,56,108,0,198,198, - 198,198,198,198,198,198,108,56,7,13,13,9,1,0,108,108, - 0,198,198,198,198,198,198,198,198,108,56,8,14,14,9,0, - 0,12,24,48,0,195,195,102,60,24,24,24,24,24,24,7, - 10,10,9,1,0,192,192,252,198,198,198,252,192,192,192,7, - 10,10,9,1,0,60,102,102,102,236,102,102,102,102,108,7, - 11,11,9,1,0,96,48,24,0,124,6,6,126,198,198,126, - 7,11,11,9,1,0,12,24,48,0,124,6,6,126,198,198, - 126,7,11,11,9,1,0,16,56,108,0,124,6,6,126,198, - 198,126,7,10,10,9,1,0,118,220,0,124,6,6,126,198, - 198,126,7,10,10,9,1,0,108,108,0,124,6,6,126,198, - 198,126,7,11,11,9,1,0,56,108,56,0,124,6,6,126, - 198,198,126,8,7,7,9,0,0,118,27,27,127,216,219,118, - 7,11,11,9,1,252,124,198,192,192,192,198,124,24,12,108, - 56,7,11,11,9,1,0,96,48,24,0,124,198,198,254,192, - 198,124,7,11,11,9,1,0,12,24,48,0,124,198,198,254, - 192,198,124,7,11,11,9,1,0,16,56,108,0,124,198,198, - 254,192,198,124,7,10,10,9,1,0,108,108,0,124,198,198, - 254,192,198,124,6,11,11,9,1,0,192,96,48,0,240,48, - 48,48,48,48,252,6,11,11,9,1,0,12,24,48,0,240, - 48,48,48,48,48,252,6,11,11,9,1,0,32,112,216,0, - 240,48,48,48,48,48,252,6,10,10,9,1,0,108,108,0, - 240,48,48,48,48,48,252,7,11,11,9,1,0,108,56,56, - 108,12,126,198,198,198,198,124,7,10,10,9,1,0,118,220, - 0,220,230,198,198,198,198,198,7,11,11,9,1,0,96,48, - 24,0,56,108,198,198,198,108,56,7,11,11,9,1,0,12, - 24,48,0,56,108,198,198,198,108,56,7,11,11,9,1,0, - 16,56,108,0,56,108,198,198,198,108,56,7,10,10,9,1, - 0,118,220,0,56,108,198,198,198,108,56,7,10,10,9,1, - 0,108,108,0,56,108,198,198,198,108,56,8,7,7,9,0, - 1,24,24,0,255,0,24,24,8,9,9,9,0,255,1,63, - 102,207,219,243,102,252,128,7,11,11,9,1,0,96,48,24, - 0,198,198,198,198,198,198,126,7,11,11,9,1,0,12,24, - 48,0,198,198,198,198,198,198,126,7,11,11,9,1,0,16, - 56,108,0,198,198,198,198,198,198,126,7,10,10,9,1,0, - 108,108,0,198,198,198,198,198,198,126,7,14,14,9,1,253, - 12,24,48,0,198,198,108,108,108,56,56,48,176,96,7,11, - 11,9,1,254,192,192,248,204,198,198,198,204,248,192,192,7, - 13,13,9,1,253,108,108,0,198,198,108,108,108,56,56,48, - 176,96}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=13 x= 3 y=14 dx= 9 dy= 0 ascent=14 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18Br[1434] U8G_FONT_SECTION("u8g_font_9x18Br") = { - 0,9,18,0,252,10,1,242,3,225,32,127,253,14,253,11, - 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, - 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, - 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, - 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, - 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, - 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, - 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, - 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, - 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, - 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, - 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, - 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, - 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, - 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, - 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, - 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, - 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, - 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, - 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, - 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, - 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, - 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, - 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, - 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, - 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, - 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, - 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, - 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, - 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, - 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, - 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, - 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, - 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, - 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, - 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, - 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, - 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, - 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, - 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, - 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, - 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, - 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, - 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, - 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, - 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, - 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, - 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, - 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, - 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, - 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, - 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, - 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, - 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, - 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, - 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, - 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, - 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, - 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, - 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, - 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, - 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, - 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, - 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, - 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, - 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, - 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, - 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, - 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, - 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, - 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, - 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, - 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, - 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, - 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, - 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, - 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, - 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, - 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, - 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, - 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, - 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, - 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, - 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, - 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, - 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, - 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, - 8,3,3,9,0,7,115,219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=14 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18[3011] U8G_FONT_SECTION("u8g_font_9x18") = { - 0,9,18,0,252,10,1,232,3,215,32,255,253,14,253,11, - 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, - 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, - 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, - 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, - 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, - 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, - 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, - 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, - 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, - 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, - 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, - 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, - 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, - 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, - 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, - 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, - 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, - 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, - 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, - 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, - 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, - 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, - 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, - 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, - 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, - 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, - 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, - 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, - 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, - 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, - 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, - 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, - 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, - 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, - 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, - 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, - 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, - 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, - 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, - 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, - 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, - 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, - 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, - 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, - 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, - 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, - 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, - 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, - 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, - 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, - 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, - 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, - 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, - 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, - 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, - 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, - 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, - 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, - 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, - 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, - 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, - 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, - 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, - 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, - 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, - 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, - 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, - 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, - 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, - 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, - 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, - 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, - 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, - 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, - 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, - 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,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,9,0,14,1,11,11,9,4,0,128,128,0,0, - 128,128,128,128,128,128,128,6,8,8,9,1,0,8,120,148, - 144,160,164,120,64,7,10,10,9,1,0,28,34,32,32,248, - 32,32,96,162,92,7,6,6,9,1,3,130,124,68,68,124, - 130,7,10,10,9,1,0,130,130,68,40,124,16,124,16,16, - 16,1,11,11,9,4,255,128,128,128,128,128,0,128,128,128, - 128,128,4,11,11,9,2,255,96,144,128,96,144,144,144,96, - 16,144,96,3,2,2,9,3,11,160,160,8,9,9,9,0, - 1,60,66,153,165,161,165,153,66,60,5,7,7,9,1,3, - 96,144,112,144,120,0,248,7,8,8,9,1,1,18,36,72, - 144,144,72,36,18,6,4,4,9,1,2,252,4,4,4,5, - 1,1,9,2,4,248,8,9,9,9,0,1,60,66,185,165, - 189,169,165,66,60,6,1,1,9,1,9,252,4,4,4,9, - 3,6,96,144,144,96,7,9,9,9,1,1,16,16,16,254, - 16,16,16,0,254,4,6,6,9,1,4,96,144,16,96,128, - 240,4,6,6,9,1,4,96,144,32,16,144,96,3,3,3, - 9,3,10,32,64,128,7,9,9,9,1,254,130,130,130,130, - 130,198,186,128,128,7,10,10,9,1,0,126,138,138,138,122, - 10,10,10,10,10,2,2,2,9,4,4,192,192,4,3,3, - 9,2,253,32,144,96,3,6,6,9,1,4,64,192,64,64, - 64,224,5,6,6,9,1,4,112,136,136,112,0,248,7,8, - 8,9,1,1,144,72,36,18,18,36,72,144,7,10,10,9, - 1,0,64,192,64,64,66,230,10,18,26,6,7,10,10,9, - 1,0,64,192,64,64,76,242,2,12,16,30,7,10,10,9, - 1,0,96,144,32,16,146,102,10,18,26,6,7,10,10,9, - 1,0,16,0,16,16,32,64,128,130,130,124,7,14,14,9, - 1,0,32,16,8,0,16,40,40,40,68,124,68,130,130,130, - 7,14,14,9,1,0,8,16,32,0,16,40,40,40,68,124, - 68,130,130,130,7,14,14,9,1,0,16,40,68,0,16,40, - 40,40,68,124,68,130,130,130,7,13,13,9,1,0,52,88, - 0,16,40,40,40,68,124,68,130,130,130,7,13,13,9,1, - 0,40,40,0,16,40,40,40,68,124,68,130,130,130,7,14, - 14,9,1,0,16,40,40,16,16,40,40,40,68,124,68,130, - 130,130,7,10,10,9,1,0,30,40,40,40,78,120,72,136, - 136,142,7,13,13,9,1,253,60,66,128,128,128,128,128,128, - 66,60,8,36,24,7,14,14,9,1,0,32,16,8,0,254, - 128,128,128,248,128,128,128,128,254,7,14,14,9,1,0,8, - 16,32,0,254,128,128,128,248,128,128,128,128,254,7,14,14, - 9,1,0,16,40,68,0,254,128,128,128,248,128,128,128,128, - 254,7,13,13,9,1,0,40,40,0,254,128,128,128,248,128, - 128,128,128,254,5,14,14,9,2,0,64,32,16,0,248,32, - 32,32,32,32,32,32,32,248,5,14,14,9,2,0,16,32, - 64,0,248,32,32,32,32,32,32,32,32,248,5,14,14,9, - 2,0,32,80,136,0,248,32,32,32,32,32,32,32,32,248, - 5,13,13,9,2,0,80,80,0,248,32,32,32,32,32,32, - 32,32,248,7,10,10,9,1,0,120,68,66,66,242,66,66, - 66,68,120,7,13,13,9,1,0,52,88,0,130,130,194,162, - 146,138,134,130,130,130,7,14,14,9,1,0,32,16,8,0, - 124,130,130,130,130,130,130,130,130,124,7,14,14,9,1,0, - 8,16,32,0,124,130,130,130,130,130,130,130,130,124,7,14, - 14,9,1,0,16,40,68,0,124,130,130,130,130,130,130,130, - 130,124,7,13,13,9,1,0,52,88,0,124,130,130,130,130, - 130,130,130,130,124,7,13,13,9,1,0,40,40,0,124,130, - 130,130,130,130,130,130,130,124,7,7,7,9,1,1,130,68, - 40,16,40,68,130,7,12,12,9,1,255,2,124,134,138,138, - 146,146,162,162,194,124,128,7,14,14,9,1,0,32,16,8, - 0,130,130,130,130,130,130,130,130,68,56,7,14,14,9,1, - 0,8,16,32,0,130,130,130,130,130,130,130,130,68,56,7, - 14,14,9,1,0,16,40,68,0,130,130,130,130,130,130,130, - 130,68,56,7,13,13,9,1,0,40,40,0,130,130,130,130, - 130,130,130,130,68,56,7,14,14,9,1,0,8,16,32,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, - 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, - 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, - 0,8,16,32,0,124,2,2,126,130,134,122,7,11,11,9, - 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,52,88,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,40,40,0,124,2,2,126,130,134,122,7,12,12, - 9,1,0,16,40,40,16,0,124,2,2,126,130,134,122,7, - 7,7,9,1,0,108,18,18,126,144,146,108,7,10,10,9, - 1,253,124,130,128,128,128,130,124,16,72,48,7,11,11,9, - 1,0,32,16,8,0,124,130,130,254,128,130,124,7,11,11, - 9,1,0,8,16,32,0,124,130,130,254,128,130,124,7,11, - 11,9,1,0,16,40,68,0,124,130,130,254,128,130,124,7, - 10,10,9,1,0,40,40,0,124,130,130,254,128,130,124,5, - 12,12,9,2,0,128,64,32,0,0,224,32,32,32,32,32, - 248,5,12,12,9,2,0,16,32,64,0,0,224,32,32,32, - 32,32,248,5,12,12,9,2,0,32,80,136,0,0,224,32, - 32,32,32,32,248,5,11,11,9,2,0,80,80,0,0,224, - 32,32,32,32,32,248,7,11,11,9,1,0,72,48,80,8, - 60,68,130,130,130,68,56,7,10,10,9,1,0,52,88,0, - 188,194,130,130,130,130,130,7,11,11,9,1,0,32,16,8, - 0,124,130,130,130,130,130,124,7,11,11,9,1,0,8,16, - 32,0,124,130,130,130,130,130,124,7,11,11,9,1,0,16, - 40,68,0,124,130,130,130,130,130,124,7,10,10,9,1,0, - 52,88,0,124,130,130,130,130,130,124,7,10,10,9,1,0, - 40,40,0,124,130,130,130,130,130,124,7,9,9,9,1,0, - 16,56,16,0,254,0,16,56,16,7,9,9,9,1,255,2, - 124,138,138,146,162,162,124,128,7,11,11,9,1,0,64,32, - 16,0,130,130,130,130,130,134,122,7,11,11,9,1,0,8, - 16,32,0,130,130,130,130,130,134,122,7,11,11,9,1,0, - 16,40,68,0,130,130,130,130,130,134,122,7,10,10,9,1, - 0,40,40,0,130,130,130,130,130,134,122,7,14,14,9,1, - 253,4,8,16,0,66,66,36,36,36,24,24,16,144,96,7, - 11,11,9,1,254,128,128,184,196,130,130,130,196,184,128,128, - 7,13,13,9,1,253,36,36,0,66,66,36,36,36,24,24, - 16,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=13 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18r[1424] U8G_FONT_SECTION("u8g_font_9x18r") = { - 0,9,18,0,252,10,1,232,3,215,32,127,253,14,253,11, - 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, - 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, - 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, - 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, - 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, - 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, - 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, - 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, - 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, - 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, - 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, - 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, - 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, - 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, - 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, - 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, - 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, - 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, - 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, - 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, - 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, - 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, - 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, - 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, - 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, - 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, - 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, - 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, - 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, - 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, - 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, - 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, - 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, - 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, - 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, - 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, - 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, - 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, - 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, - 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, - 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, - 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, - 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, - 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, - 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, - 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, - 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, - 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, - 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, - 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, - 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, - 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, - 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, - 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, - 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, - 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, - 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, - 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, - 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, - 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, - 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, - 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, - 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, - 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, - 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, - 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, - 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, - 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, - 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, - 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, - 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, - 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, - 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, - 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, - 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, - 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,255 - }; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 9 h= 9 x= 1 y= 5 dx=10 dy= 0 ascent= 8 len=12 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_baby[2227] U8G_FONT_SECTION("u8g_font_baby") = { - 0,10,10,255,254,5,1,108,2,200,32,255,254,8,254,6, - 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, - 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, - 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, - 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, - 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, - 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, - 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, - 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, - 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, - 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, - 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, - 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, - 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, - 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, - 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, - 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, - 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, - 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, - 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, - 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, - 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, - 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, - 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, - 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, - 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, - 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, - 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, - 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, - 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, - 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, - 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, - 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, - 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, - 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, - 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, - 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, - 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, - 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, - 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, - 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, - 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, - 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, - 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, - 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, - 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, - 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, - 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, - 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, - 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, - 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, - 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, - 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, - 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, - 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, - 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, - 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, - 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, - 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, - 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, - 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, - 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, - 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,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, - 255,1,6,6,3,1,255,128,0,128,128,128,128,4,6,6, - 5,0,255,16,112,160,160,112,64,4,6,6,5,0,0,96, - 208,64,224,64,240,4,4,4,5,0,1,240,144,144,240,5, - 7,7,6,0,255,136,80,32,112,32,112,32,1,7,7,2, - 0,255,128,128,128,0,128,128,128,4,7,7,5,0,255,112, - 128,96,144,96,16,224,3,1,1,4,0,5,160,7,7,7, - 8,0,255,56,68,154,162,154,68,56,3,3,3,4,0,4, - 96,160,224,4,3,3,5,0,1,80,160,80,5,3,3,6, - 0,1,248,8,8,2,1,1,3,0,2,192,7,7,7,8, - 0,255,56,68,178,186,170,68,56,4,1,1,5,0,5,240, - 3,3,3,4,0,4,64,160,64,3,5,5,4,0,0,64, - 224,64,0,224,3,4,4,4,0,4,192,32,64,224,3,4, - 4,4,0,4,224,32,96,224,2,2,2,3,0,5,64,128, - 5,6,6,6,0,254,144,144,144,248,128,128,5,6,6,6, - 0,0,120,232,232,104,40,40,1,1,1,3,1,2,128,3, - 3,3,4,0,254,64,32,192,3,4,4,4,0,4,64,192, - 64,224,4,4,4,5,0,4,96,144,144,96,4,3,3,5, - 0,1,160,80,160,7,6,6,8,0,0,136,144,160,42,78, - 130,7,6,6,8,0,0,136,144,164,42,68,142,9,6,12, - 10,0,0,226,0,100,0,232,0,10,128,19,128,32,128,4, - 6,6,5,0,255,32,0,32,64,144,96,4,8,8,5,0, - 0,64,32,0,96,144,144,240,144,4,8,8,5,0,0,32, - 64,0,96,144,144,240,144,4,8,8,5,0,0,96,144,0, - 96,144,144,240,144,4,8,8,5,0,0,80,160,0,96,144, - 144,240,144,4,7,7,5,0,0,80,0,96,144,144,240,144, - 4,7,7,5,0,0,96,0,96,144,144,240,144,7,5,5, - 8,0,0,126,144,156,240,158,4,7,7,5,0,254,96,144, - 128,144,96,32,64,4,8,8,5,0,0,64,32,0,240,128, - 224,128,240,4,8,8,5,0,0,32,64,0,240,128,224,128, - 240,4,8,8,5,0,0,96,144,0,240,128,224,128,240,4, - 7,7,5,0,0,80,0,240,128,224,128,240,3,8,8,4, - 0,0,128,64,0,224,64,64,64,224,3,8,8,4,0,0, - 32,64,0,224,64,64,64,224,3,8,8,4,0,0,64,160, - 0,224,64,64,64,224,3,7,7,4,0,0,160,0,224,64, - 64,64,224,5,5,5,6,0,0,112,72,232,72,112,4,8, - 8,5,0,0,80,160,0,144,144,208,176,144,4,8,8,5, - 0,0,64,32,0,96,144,144,144,96,4,8,8,5,0,0, - 32,64,0,96,144,144,144,96,4,8,8,5,0,0,96,144, - 0,96,144,144,144,96,4,8,8,5,0,0,80,160,0,96, - 144,144,144,96,4,7,7,5,0,0,80,0,96,144,144,144, - 96,3,3,3,4,0,1,160,64,160,6,5,5,7,0,0, - 48,76,120,200,48,4,8,8,5,0,0,64,32,0,144,144, - 144,144,96,4,8,8,5,0,0,32,64,0,144,144,144,144, - 96,4,8,8,5,0,0,96,144,0,144,144,144,144,96,4, - 7,7,5,0,0,80,0,144,144,144,144,96,4,9,9,5, - 0,255,32,64,0,144,144,144,112,16,96,4,6,6,5,0, - 0,128,224,144,144,224,128,4,5,5,5,0,0,96,144,160, - 144,160,4,7,7,5,0,0,64,32,0,96,144,144,112,4, - 7,7,5,0,0,32,64,0,96,144,144,112,4,7,7,5, - 0,0,96,144,0,96,144,144,112,4,7,7,5,0,0,80, - 160,0,96,144,144,112,4,6,6,5,0,0,80,0,96,144, - 144,112,4,7,7,5,0,0,96,96,0,96,144,144,112,7, - 4,4,8,0,0,108,146,148,126,3,6,6,4,0,254,96, - 128,128,96,32,64,4,7,7,5,0,0,64,32,0,96,144, - 160,112,4,7,7,5,0,0,32,64,0,96,144,160,112,4, - 7,7,5,0,0,96,144,0,96,144,160,112,4,6,6,5, - 0,0,80,0,96,144,160,112,2,6,6,3,0,0,128,64, - 0,64,64,64,2,6,6,3,0,0,64,128,0,128,128,128, - 3,6,6,4,0,0,64,160,0,64,64,64,3,5,5,4, - 0,0,160,0,64,64,64,5,6,6,6,0,0,96,24,112, - 144,144,96,4,7,7,5,0,0,80,160,0,224,144,144,144, - 4,7,7,5,0,0,64,32,0,96,144,144,96,4,7,7, - 5,0,0,32,64,0,96,144,144,96,4,7,7,5,0,0, - 96,144,0,96,144,144,96,4,7,7,5,0,0,80,160,0, - 96,144,144,96,4,6,6,5,0,0,80,0,96,144,144,96, - 5,5,5,6,0,0,32,0,248,0,32,4,4,4,5,0, - 0,96,176,208,96,4,7,7,5,0,0,64,32,0,144,144, - 144,112,4,7,7,5,0,0,32,64,0,144,144,144,112,4, - 7,7,5,0,0,96,144,0,144,144,144,112,4,6,6,5, - 0,0,80,0,144,144,144,112,4,9,9,5,0,254,32,64, - 0,144,144,144,112,16,96,4,8,8,5,0,254,128,128,224, - 144,144,224,128,128,4,8,8,5,0,254,80,0,144,144,144, - 112,16,96}; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 3 dx= 5 dy= 0 ascent= 6 len= 6 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_babyn[189] U8G_FONT_SECTION("u8g_font_babyn") = { - 0,10,10,255,254,5,0,0,0,0,42,58,0,6,254,5, - 0,3,3,3,4,0,3,160,64,160,3,3,3,5,1,1, - 64,224,64,2,3,3,3,0,254,192,64,128,3,1,1,4, - 0,2,224,1,1,1,2,0,0,128,3,6,6,4,0,255, - 32,32,64,64,128,128,3,5,5,4,0,0,64,160,160,160, - 64,2,5,5,3,0,0,64,192,64,64,64,4,5,5,5, - 0,0,96,144,32,64,240,4,5,5,5,0,0,224,16,96, - 16,224,4,5,5,5,0,0,144,144,144,112,16,4,5,5, - 5,0,0,240,128,224,16,224,4,5,5,5,0,0,96,128, - 224,144,96,4,5,5,5,0,0,240,16,32,64,128,4,5, - 5,5,0,0,96,144,96,144,96,4,5,5,5,0,0,96, - 144,112,16,96,1,3,3,3,1,0,128,0,128}; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 1 y= 5 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_babyr[1040] U8G_FONT_SECTION("u8g_font_babyr") = { - 0,10,10,255,254,5,1,108,2,200,32,127,254,7,254,6, - 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, - 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, - 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, - 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, - 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, - 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, - 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, - 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, - 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, - 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, - 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, - 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, - 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, - 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, - 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, - 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, - 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, - 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, - 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, - 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, - 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, - 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, - 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, - 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, - 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, - 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, - 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, - 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, - 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, - 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, - 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, - 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, - 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, - 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, - 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, - 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, - 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, - 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, - 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, - 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, - 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, - 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, - 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, - 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, - 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, - 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, - 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, - 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, - 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, - 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, - 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, - 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, - 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, - 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, - 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, - 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, - 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, - 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, - 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, - 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, - 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, - 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,255 - }; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07[948] U8G_FONT_SECTION("u8g_font_blipfest_07") = { - 0,5,6,0,255,5,1,5,2,47,32,255,255,5,255,5, - 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, - 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, - 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, - 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, - 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, - 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, - 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, - 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, - 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, - 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, - 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, - 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, - 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, - 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, - 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, - 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, - 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, - 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, - 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, - 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, - 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, - 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, - 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, - 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, - 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, - 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, - 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, - 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, - 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, - 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, - 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, - 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, - 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, - 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, - 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, - 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, - 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, - 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, - 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, - 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, - 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, - 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, - 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, - 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, - 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,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, - 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,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,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,255}; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[169] U8G_FONT_SECTION("u8g_font_blipfest_07n") = { - 0,5,6,0,255,5,0,0,0,0,42,58,0,5,0,5, - 0,255,3,3,3,4,0,1,64,224,64,1,2,2,2,0, - 0,128,128,3,1,1,4,0,2,224,1,1,1,2,0,0, - 128,255,3,5,5,4,0,0,224,160,160,160,224,2,5,5, - 3,0,0,192,64,64,64,64,3,5,5,4,0,0,224,32, - 224,128,224,3,5,5,4,0,0,224,32,224,32,224,3,5, - 5,4,0,0,160,160,224,32,32,3,5,5,4,0,0,224, - 128,224,32,224,3,5,5,4,0,0,224,128,224,160,224,3, - 5,5,4,0,0,224,32,32,32,32,3,5,5,4,0,0, - 224,160,224,160,224,3,5,5,4,0,0,224,160,224,32,224, - 1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[820] U8G_FONT_SECTION("u8g_font_blipfest_07r") = { - 0,5,6,0,255,5,1,5,2,47,32,127,255,5,255,5, - 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, - 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, - 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, - 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, - 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, - 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, - 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, - 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, - 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, - 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, - 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, - 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, - 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, - 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, - 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, - 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, - 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, - 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, - 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, - 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, - 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, - 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, - 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, - 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, - 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, - 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, - 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, - 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, - 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, - 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, - 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, - 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, - 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, - 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, - 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, - 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, - 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, - 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, - 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, - 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, - 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, - 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, - 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, - 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, - 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,255, - 255,255,255,255}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 9 h= 8 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=10 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikita[2236] U8G_FONT_SECTION("u8g_font_chikita") = { - 0,9,10,0,254,5,1,107,2,195,32,255,254,8,254,6, - 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, - 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, - 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, - 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, - 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, - 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, - 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, - 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, - 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, - 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, - 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, - 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, - 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, - 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, - 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, - 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, - 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, - 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, - 128,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,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, - 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, - 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, - 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, - 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, - 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, - 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, - 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, - 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, - 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, - 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, - 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, - 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, - 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, - 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, - 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, - 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, - 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, - 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, - 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, - 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, - 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, - 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, - 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, - 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, - 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, - 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, - 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, - 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, - 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, - 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, - 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, - 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, - 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, - 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, - 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, - 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, - 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, - 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, - 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, - 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, - 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, - 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, - 3,6,0,1,64,168,16,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,255,1,7,7,2,0,255,128, - 0,128,128,128,128,128,3,5,5,4,0,0,64,224,128,224, - 64,5,6,6,6,0,0,112,136,72,224,64,248,5,5,5, - 6,0,0,136,112,80,112,136,5,6,6,6,0,0,136,80, - 32,112,112,32,1,5,5,2,0,0,128,128,0,128,128,4, - 7,7,5,0,254,112,128,96,144,96,16,224,3,1,1,4, - 0,6,160,7,7,7,8,0,255,124,130,186,162,186,130,124, - 3,4,4,4,0,4,96,224,160,96,6,5,5,7,0,0, - 36,72,144,72,36,5,3,3,6,0,2,248,8,8,3,1, - 1,5,1,2,224,7,7,7,8,0,255,124,130,186,178,170, - 130,124,5,1,1,6,0,6,248,4,4,4,5,0,3,96, - 144,144,96,3,5,5,5,1,0,64,224,64,0,224,4,5, - 5,5,0,2,96,144,32,64,240,4,5,5,5,0,2,224, - 16,96,16,224,2,2,2,3,0,5,64,128,5,6,6,6, - 0,254,136,136,216,168,128,128,6,7,7,7,0,254,124,232, - 232,104,40,40,40,3,3,3,5,1,1,224,224,224,3,3, - 3,5,1,254,64,32,224,2,5,5,3,0,2,64,192,64, - 64,64,4,5,5,5,0,2,96,144,144,144,96,6,5,5, - 7,0,0,144,72,36,72,144,7,8,8,8,0,254,66,196, - 72,80,38,74,142,2,7,8,8,8,0,254,66,196,72,80, - 44,66,132,14,7,8,8,8,0,254,226,68,40,208,38,74, - 142,2,5,7,7,6,0,255,32,0,32,32,72,136,112,5, - 8,8,6,0,0,64,32,0,112,136,136,248,136,5,8,8, - 6,0,0,16,32,0,112,136,136,248,136,5,8,8,6,0, - 0,32,80,0,112,136,136,248,136,5,8,8,6,0,0,40, - 80,0,112,136,136,248,136,5,7,7,6,0,0,80,0,112, - 136,136,248,136,5,8,8,6,0,0,32,80,32,112,136,136, - 248,136,9,5,10,10,0,0,63,128,72,0,143,0,248,0, - 143,128,5,7,7,6,0,254,112,136,128,136,112,16,112,5, - 8,8,6,0,0,64,32,0,248,128,240,128,248,5,8,8, - 6,0,0,16,32,0,248,128,240,128,248,5,8,8,6,0, - 0,32,80,0,248,128,240,128,248,5,7,7,6,0,0,80, - 0,248,128,240,128,248,3,8,8,4,0,0,128,64,0,224, - 64,64,64,224,3,8,8,4,0,0,32,64,0,224,64,64, - 64,224,3,8,8,4,0,0,64,160,0,224,64,64,64,224, - 3,7,7,4,0,0,160,0,224,64,64,64,224,5,5,5, - 6,0,0,112,72,232,72,112,5,8,8,6,0,0,40,80, - 0,136,200,168,152,136,5,8,8,6,0,0,64,32,0,112, - 136,136,136,112,5,8,8,6,0,0,16,32,0,112,136,136, - 136,112,5,8,8,6,0,0,32,80,0,112,136,136,136,112, - 5,8,8,6,0,0,64,168,16,112,136,136,136,112,5,7, - 7,6,0,0,80,0,112,136,136,136,112,3,3,3,4,0, - 1,160,64,160,5,5,5,6,0,0,120,152,168,200,240,5, - 8,8,6,0,0,64,32,0,136,136,136,136,112,5,8,8, - 6,0,0,16,32,0,136,136,136,136,112,5,8,8,6,0, - 0,32,80,0,136,136,136,136,112,5,7,7,6,0,0,80, - 0,136,136,136,136,112,5,8,8,6,0,0,16,32,0,136, - 136,80,32,32,5,5,5,6,0,0,128,240,136,240,128,4, - 5,5,5,0,0,96,144,160,144,160,4,7,7,5,0,0, - 64,32,0,112,144,144,240,4,7,7,5,0,0,32,64,0, - 112,144,144,240,4,7,7,5,0,0,32,80,0,112,144,144, - 240,4,7,7,5,0,0,80,160,0,112,144,144,240,4,6, - 6,5,0,0,80,0,112,144,144,240,4,7,7,5,0,0, - 32,80,32,112,144,144,240,7,5,5,8,0,0,236,18,126, - 144,238,4,6,6,5,0,254,112,128,128,112,32,96,4,7, - 7,5,0,0,64,32,0,96,144,224,112,4,7,7,5,0, - 0,32,64,0,96,144,224,112,4,7,7,5,0,0,32,80, - 0,96,144,224,112,4,6,6,5,0,0,80,0,96,144,224, - 112,2,7,7,3,0,0,128,64,0,64,64,64,64,2,7, - 7,3,0,0,64,128,0,128,128,128,128,3,7,7,4,0, - 0,64,160,0,64,64,64,64,3,6,6,4,0,0,160,0, - 64,64,64,64,4,6,6,5,0,0,64,32,112,144,144,96, - 4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7, - 5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0, - 32,64,0,96,144,144,96,4,7,7,5,0,0,96,144,0, - 96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144, - 96,4,6,6,5,0,0,80,0,96,144,144,96,5,5,5, - 6,0,0,32,0,248,0,32,4,4,4,5,0,0,112,176, - 208,224,4,7,7,5,0,0,64,32,0,144,144,144,112,4, - 7,7,5,0,0,32,64,0,144,144,144,112,4,7,7,5, - 0,0,32,80,0,144,144,144,112,4,6,6,5,0,0,80, - 0,144,144,144,112,4,8,8,5,0,254,32,64,0,144,144, - 112,16,224,4,6,6,5,0,254,128,224,144,144,224,128,4, - 7,7,5,0,254,80,0,144,144,112,16,224}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikitan[189] U8G_FONT_SECTION("u8g_font_chikitan") = { - 0,9,10,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,3,3,3,5,1,1,160,64,160,5,5,5,6,0,0, - 32,32,248,32,32,2,2,2,3,0,255,64,128,5,1,1, - 6,0,2,248,1,1,1,2,0,0,128,3,5,5,5,1, - 0,32,32,64,128,128,4,5,5,5,0,0,96,144,144,144, - 96,2,5,5,3,0,0,64,192,64,64,64,5,5,5,6, - 0,0,112,136,48,64,248,5,5,5,6,0,0,240,8,112, - 8,240,5,5,5,6,0,0,48,80,144,248,16,5,5,5, - 6,0,0,248,128,240,8,240,5,5,5,6,0,0,120,128, - 240,136,112,5,5,5,6,0,0,248,8,16,32,64,5,5, - 5,6,0,0,112,136,112,136,112,5,5,5,6,0,0,112, - 136,120,8,240,1,3,3,2,0,1,128,0,128}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 7 h= 7 x= 1 y= 4 dx= 8 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikitar[1032] U8G_FONT_SECTION("u8g_font_chikitar") = { - 0,9,10,0,254,5,1,107,2,195,32,127,254,6,254,6, - 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, - 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, - 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, - 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, - 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, - 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, - 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, - 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, - 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, - 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, - 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, - 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, - 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, - 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, - 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, - 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, - 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, - 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, - 128,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,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, - 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, - 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, - 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, - 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, - 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, - 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, - 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, - 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, - 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, - 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, - 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, - 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, - 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, - 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, - 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, - 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, - 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, - 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, - 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, - 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, - 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, - 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, - 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, - 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, - 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, - 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, - 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, - 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, - 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, - 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, - 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, - 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, - 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, - 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, - 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, - 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, - 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, - 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, - 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, - 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, - 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, - 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, - 3,6,0,1,64,168,16,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 7 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w=12 h=16 x=-3 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB08[2425] U8G_FONT_SECTION("u8g_font_courB08") = { - 0,12,16,253,252,6,1,146,3,13,32,255,254,9,254,7, - 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, - 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, - 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, - 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, - 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, - 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, - 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, - 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, - 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, - 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, - 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, - 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, - 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, - 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, - 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, - 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, - 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, - 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, - 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, - 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, - 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, - 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, - 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, - 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, - 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, - 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, - 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, - 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, - 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, - 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, - 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, - 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, - 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, - 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, - 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, - 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, - 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, - 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, - 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, - 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, - 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, - 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, - 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, - 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, - 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, - 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, - 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, - 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, - 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, - 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, - 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, - 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, - 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, - 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, - 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, - 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, - 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, - 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, - 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, - 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, - 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, - 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, - 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, - 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, - 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, - 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, - 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, - 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, - 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, - 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, - 5,2,2,6,0,3,104,176,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,1,2, - 7,7,6,1,254,192,0,192,192,192,192,192,5,8,8,6, - 0,255,32,32,120,200,192,120,32,32,6,7,7,6,0,0, - 56,104,32,248,32,100,248,5,5,5,6,0,1,136,112,80, - 112,136,6,7,7,6,0,0,204,72,252,48,252,48,120,1, - 9,9,6,2,254,128,128,128,128,0,128,128,128,128,5,8, - 8,6,0,255,120,72,96,144,72,48,144,240,3,1,1,6, - 1,5,160,6,7,7,6,0,0,48,72,180,164,180,72,48, - 4,5,5,6,1,2,224,16,208,0,240,7,5,5,6,255, - 0,54,108,216,108,54,5,3,3,6,0,2,248,8,8,5, - 1,1,6,0,3,248,7,7,7,6,0,0,56,68,186,178, - 170,68,56,4,1,1,6,0,5,240,4,3,3,6,0,4, - 96,144,96,5,6,6,6,0,0,32,32,248,32,0,248,3, - 4,4,6,1,3,96,160,64,224,3,4,4,6,1,3,224, - 64,32,192,2,2,2,6,2,5,64,128,7,7,7,6,255, - 254,236,108,108,108,126,64,64,6,8,8,6,0,255,124,168, - 168,104,40,40,40,108,2,1,1,6,1,3,192,3,3,3, - 6,1,254,64,32,192,3,4,4,6,1,3,192,64,64,224, - 4,5,5,6,1,2,96,144,96,0,240,7,5,5,6,255, - 0,216,108,54,108,216,7,7,7,6,255,0,192,68,72,244, - 44,94,4,7,7,7,6,255,0,192,68,72,246,42,68,14, - 7,7,7,6,255,0,224,68,40,212,44,94,4,5,7,7, - 6,0,254,48,0,48,48,96,200,112,7,9,9,6,255,0, - 32,16,0,120,56,40,124,108,238,7,9,9,6,255,0,16, - 32,0,120,56,40,124,108,238,7,9,9,6,255,0,16,40, - 0,120,56,40,124,108,238,7,9,9,6,255,0,52,72,0, - 120,56,40,124,108,238,7,8,8,6,255,0,40,0,120,56, - 40,124,108,238,7,9,9,6,255,0,48,72,48,120,56,40, - 124,108,238,7,6,6,6,255,0,126,58,108,120,218,222,5, - 8,8,6,0,254,120,216,192,192,216,112,16,96,6,9,9, - 6,255,0,32,16,0,252,100,120,96,108,252,6,9,9,6, - 255,0,16,32,0,252,100,120,96,108,252,6,9,9,6,255, - 0,32,80,0,252,100,120,96,108,252,6,8,8,6,255,0, - 80,0,252,100,120,96,108,252,4,9,9,6,0,0,64,32, - 0,240,96,96,96,96,240,4,9,9,6,0,0,32,64,0, - 240,96,96,96,96,240,4,9,9,6,0,0,64,160,0,240, - 96,96,96,96,240,4,8,8,6,0,0,160,0,240,96,96, - 96,96,240,6,6,6,6,255,0,248,108,244,100,108,248,7, - 9,9,6,255,0,52,72,0,238,100,116,124,108,236,5,9, - 9,6,0,0,64,32,0,112,216,216,216,216,112,5,9,9, - 6,0,0,32,64,0,112,216,216,216,216,112,5,9,9,6, - 0,0,32,80,0,112,216,216,216,216,112,5,9,9,6,0, - 0,104,144,0,112,216,216,216,216,112,5,8,8,6,0,0, - 80,0,112,216,216,216,216,112,5,5,5,6,0,1,136,80, - 32,80,136,7,6,6,6,255,0,58,108,124,108,108,184,7, - 9,9,6,255,0,32,16,0,238,108,108,108,108,56,7,9, - 9,6,255,0,8,16,0,238,108,108,108,108,56,7,9,9, - 6,255,0,16,40,0,238,108,108,108,108,56,7,8,8,6, - 255,0,40,0,238,108,108,108,108,56,7,9,9,6,255,0, - 4,8,0,230,102,60,24,24,60,6,6,6,6,255,0,224, - 120,108,108,120,224,7,6,6,6,255,0,56,104,124,102,102, - 236,6,8,8,6,0,0,32,16,0,112,152,120,216,252,6, - 8,8,6,0,0,16,32,0,112,152,120,216,252,6,8,8, - 6,0,0,32,80,0,112,152,120,216,252,6,8,8,6,0, - 0,104,144,0,112,152,120,216,252,6,7,7,6,0,0,80, - 0,112,152,120,216,252,6,9,9,6,0,0,48,72,48,0, - 112,152,120,216,252,6,5,5,6,255,0,108,180,124,176,220, - 5,7,7,6,0,254,112,216,192,216,112,16,96,5,8,8, - 6,0,0,64,32,0,112,216,248,192,120,5,8,8,6,0, - 0,32,64,0,112,216,248,192,120,5,8,8,6,0,0,32, - 80,0,112,216,248,192,120,5,7,7,6,0,0,80,0,112, - 216,248,192,120,6,8,8,6,0,0,32,16,0,112,48,48, - 48,252,6,8,8,6,0,0,16,32,0,112,48,48,48,252, - 6,8,8,6,0,0,32,80,0,112,48,48,48,252,6,7, - 7,6,0,0,80,0,112,48,48,48,252,5,8,8,6,0, - 0,208,96,176,120,216,216,216,112,7,8,8,6,255,0,52, - 72,0,216,108,108,108,110,5,8,8,6,0,0,64,32,0, - 112,216,216,216,112,5,8,8,6,0,0,32,64,0,112,216, - 216,216,112,5,8,8,6,0,0,32,80,0,112,216,216,216, - 112,5,8,8,6,0,0,104,144,0,112,216,216,216,112,5, - 7,7,6,0,0,80,0,112,216,216,216,112,5,5,5,6, - 0,1,32,0,248,0,32,5,7,7,6,0,255,8,112,216, - 248,216,112,128,7,8,8,6,255,0,32,16,0,236,108,108, - 108,62,7,8,8,6,255,0,16,32,0,236,108,108,108,62, - 7,8,8,6,255,0,16,40,0,236,108,108,108,62,7,7, - 7,6,255,0,40,0,236,108,108,108,62,7,10,10,6,255, - 254,8,16,0,238,108,108,40,56,48,240,6,9,9,6,255, - 254,224,96,120,108,108,108,120,96,240,7,9,9,6,255,254, - 40,0,238,108,108,40,56,48,240}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w=12 h=16 x=-3 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB08r[1145] U8G_FONT_SECTION("u8g_font_courB08r") = { - 0,12,16,253,252,6,1,146,3,13,32,127,254,8,254,7, - 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, - 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, - 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, - 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, - 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, - 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, - 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, - 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, - 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, - 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, - 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, - 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, - 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, - 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, - 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, - 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, - 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, - 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, - 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, - 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, - 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, - 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, - 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, - 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, - 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, - 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, - 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, - 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, - 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, - 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, - 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, - 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, - 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, - 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, - 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, - 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, - 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, - 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, - 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, - 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, - 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, - 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, - 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, - 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, - 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, - 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, - 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, - 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, - 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, - 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, - 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, - 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, - 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, - 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, - 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, - 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, - 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, - 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, - 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, - 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, - 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, - 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, - 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, - 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, - 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, - 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, - 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, - 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, - 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, - 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, - 5,2,2,6,0,3,104,176,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=12 len=26 - Font Bounding box w=13 h=21 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB10[3355] U8G_FONT_SECTION("u8g_font_courB10") = { - 0,13,21,254,250,9,1,222,4,32,32,255,253,12,252,10, - 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, - 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, - 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, - 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, - 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, - 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, - 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, - 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, - 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, - 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, - 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, - 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, - 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, - 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, - 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, - 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, - 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, - 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, - 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, - 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, - 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, - 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, - 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, - 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, - 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, - 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, - 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, - 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, - 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, - 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, - 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, - 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, - 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, - 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, - 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, - 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, - 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, - 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, - 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, - 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, - 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, - 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, - 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, - 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, - 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, - 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, - 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, - 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, - 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, - 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, - 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, - 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, - 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, - 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, - 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, - 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, - 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, - 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, - 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, - 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, - 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, - 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, - 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, - 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, - 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, - 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, - 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, - 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, - 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, - 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, - 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, - 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, - 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, - 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, - 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, - 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, - 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, - 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, - 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, - 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, - 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, - 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, - 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, - 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, - 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, - 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, - 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, - 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, - 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, - 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, - 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, - 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, - 96,96,96,96,192,6,3,3,9,1,3,100,252,152,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,9,0,1,2,9,9,9,3,254,192,192,0,128,192, - 192,192,192,192,6,10,10,9,1,255,48,48,124,204,192,192, - 204,120,48,48,7,9,9,9,1,0,60,102,96,96,248,96, - 96,102,252,7,6,6,9,1,1,198,124,198,198,124,198,10, - 9,18,9,0,0,243,192,97,128,51,0,30,0,63,0,12, - 0,63,0,12,0,63,0,2,11,11,9,3,254,192,192,192, - 192,192,0,192,192,192,192,192,8,11,11,9,0,255,62,98, - 96,240,140,227,57,15,6,70,124,4,2,2,9,2,8,144, - 144,9,8,16,9,0,1,28,0,99,0,205,128,209,128,209, - 128,205,128,99,0,28,0,5,7,7,9,2,2,112,24,120, - 216,104,0,248,7,5,5,9,1,1,54,108,216,108,54,7, - 3,3,9,1,2,254,2,2,6,1,1,9,1,4,252,9, - 8,16,9,0,1,62,0,99,0,217,128,213,128,217,128,213, - 128,99,0,62,0,4,1,1,9,2,8,240,4,4,4,9, - 2,5,96,144,144,96,7,7,7,9,1,1,16,16,254,16, - 16,0,254,5,6,6,9,2,4,112,152,24,48,96,248,5, - 6,6,9,2,4,112,152,48,24,152,112,3,2,2,9,3, - 7,96,192,9,10,20,9,0,253,231,0,99,0,99,0,99, - 0,99,0,103,0,123,128,96,0,96,0,96,0,7,11,11, - 9,1,255,126,212,148,148,212,116,20,20,20,20,126,2,2, - 2,9,3,3,192,192,3,4,4,9,2,253,64,96,32,224, - 4,6,6,9,3,4,96,224,96,96,96,240,5,7,7,9, - 2,2,112,216,136,216,112,0,248,7,5,5,9,1,1,216, - 108,54,108,216,9,10,20,9,0,0,96,0,224,128,97,0, - 98,0,101,0,251,0,23,0,43,0,79,128,131,0,9,10, - 20,9,0,0,96,0,224,128,97,0,98,0,103,0,253,128, - 17,128,35,0,70,0,15,128,10,10,20,9,255,0,112,0, - 152,64,48,128,25,0,154,128,117,128,11,128,21,128,39,192, - 65,128,6,9,9,9,1,254,48,48,0,48,112,192,196,204, - 124,9,12,24,9,0,0,24,0,12,0,0,0,124,0,28, - 0,54,0,54,0,34,0,99,0,127,0,99,0,247,128,9, - 12,24,9,0,0,12,0,24,0,0,0,124,0,28,0,54, - 0,54,0,34,0,99,0,127,0,99,0,247,128,9,12,24, - 9,0,0,28,0,54,0,0,0,124,0,28,0,54,0,54, - 0,34,0,99,0,127,0,99,0,247,128,9,12,24,9,0, - 0,26,0,44,0,0,0,124,0,28,0,54,0,54,0,34, - 0,99,0,127,0,99,0,247,128,9,12,24,9,0,0,36, - 0,36,0,0,0,124,0,28,0,54,0,54,0,34,0,99, - 0,127,0,99,0,247,128,9,12,24,9,0,0,24,0,36, - 0,24,0,126,0,28,0,54,0,54,0,34,0,99,0,127, - 0,99,0,247,128,9,9,18,9,0,0,63,128,28,128,28, - 0,61,0,47,0,109,0,124,0,76,128,223,128,7,13,13, - 9,1,252,58,110,198,192,192,192,192,102,60,16,24,8,56, - 8,12,12,9,0,0,24,12,0,255,99,99,104,120,104,99, - 99,255,8,12,12,9,0,0,12,24,0,255,99,99,104,120, - 104,99,99,255,8,12,12,9,0,0,28,54,0,255,99,99, - 104,120,104,99,99,255,8,12,12,9,0,0,36,36,0,255, - 99,99,104,120,104,99,99,255,6,12,12,9,1,0,96,48, - 0,252,48,48,48,48,48,48,48,252,6,12,12,9,1,0, - 24,48,0,252,48,48,48,48,48,48,48,252,6,12,12,9, - 1,0,56,108,0,252,48,48,48,48,48,48,48,252,6,12, - 12,9,1,0,72,72,0,252,48,48,48,48,48,48,48,252, - 8,9,9,9,0,0,252,102,99,99,243,99,99,102,252,9, - 12,24,9,0,0,26,0,44,0,0,0,231,128,99,0,115, - 0,115,0,107,0,107,0,103,0,103,0,243,0,8,12,12, - 9,0,0,48,24,0,60,102,195,195,195,195,195,102,60,8, - 12,12,9,0,0,12,24,0,60,102,195,195,195,195,195,102, - 60,8,12,12,9,0,0,56,108,0,60,102,195,195,195,195, - 195,102,60,8,12,12,9,0,0,52,88,0,60,102,195,195, - 195,195,195,102,60,8,12,12,9,0,0,36,36,0,60,102, - 195,195,195,195,195,102,60,6,7,7,9,1,1,132,204,120, - 48,120,204,132,8,10,10,9,0,0,1,62,102,203,203,211, - 211,227,102,188,9,12,24,9,0,0,24,0,12,0,0,0, - 247,128,99,0,99,0,99,0,99,0,99,0,99,0,99,0, - 62,0,9,12,24,9,0,0,12,0,24,0,0,0,247,128, - 99,0,99,0,99,0,99,0,99,0,99,0,99,0,62,0, - 9,12,24,9,0,0,28,0,54,0,0,0,247,128,99,0, - 99,0,99,0,99,0,99,0,99,0,99,0,62,0,9,12, - 24,9,0,0,18,0,18,0,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,10,12,24,9, - 255,0,6,0,12,0,0,0,243,192,97,128,51,0,51,0, - 30,0,12,0,12,0,12,0,63,0,8,9,9,9,0,0, - 240,96,126,99,99,102,124,96,240,8,9,9,9,0,0,60, - 102,102,108,102,99,99,107,238,8,10,10,9,0,0,48,24, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,12,24, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,56,108, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,52,88, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,36,36, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,24,36, - 24,124,6,6,126,198,206,119,9,7,14,9,0,0,119,0, - 29,128,8,128,127,128,200,0,205,128,119,0,8,11,11,9, - 0,252,61,103,195,192,192,99,62,16,24,8,56,8,10,10, - 9,0,0,48,24,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,12,24,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,28,54,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,36,36,0,60,102,195,255,192,103,62,6,10,10, - 9,1,0,96,48,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,24,48,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,112,216,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,72,72,0,240,48,48,48,48,48,252,8,10,10, - 9,0,0,236,56,204,62,102,195,195,195,102,60,9,10,20, - 9,0,0,26,0,44,0,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,247,128,8,10,10,9,0,0,48,24,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,12,24,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,28,54,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,52,88,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,36,36,0, - 60,102,195,195,195,102,60,8,7,7,9,0,1,24,24,0, - 255,0,24,24,8,7,7,9,0,0,61,102,207,219,243,102, - 188,9,10,20,9,0,0,24,0,12,0,0,0,231,0,99, - 0,99,0,99,0,99,0,103,0,59,128,9,10,20,9,0, - 0,12,0,24,0,0,0,231,0,99,0,99,0,99,0,99, - 0,103,0,59,128,9,10,20,9,0,0,28,0,54,0,0, - 0,231,0,99,0,99,0,99,0,99,0,103,0,59,128,9, - 10,20,9,0,0,36,0,36,0,0,0,231,0,99,0,99, - 0,99,0,99,0,103,0,59,128,9,13,26,9,0,253,6, - 0,12,0,0,0,227,128,99,0,99,0,54,0,54,0,28, - 0,28,0,24,0,24,0,124,0,8,12,12,9,0,253,224, - 96,110,115,99,99,99,115,110,96,96,240,9,13,26,9,0, - 253,18,0,18,0,0,0,227,128,99,0,99,0,54,0,54, - 0,28,0,28,0,24,0,24,0,124,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 3 y= 7 dx= 9 dy= 0 ascent=11 len=20 - Font Bounding box w=13 h=21 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB10r[1551] U8G_FONT_SECTION("u8g_font_courB10r") = { - 0,13,21,254,250,9,1,222,4,32,32,127,253,11,253,10, - 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, - 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, - 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, - 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, - 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, - 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, - 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, - 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, - 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, - 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, - 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, - 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, - 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, - 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, - 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, - 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, - 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, - 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, - 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, - 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, - 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, - 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, - 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, - 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, - 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, - 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, - 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, - 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, - 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, - 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, - 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, - 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, - 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, - 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, - 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, - 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, - 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, - 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, - 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, - 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, - 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, - 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, - 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, - 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, - 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, - 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, - 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, - 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, - 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, - 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, - 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, - 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, - 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, - 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, - 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, - 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, - 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, - 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, - 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, - 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, - 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, - 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, - 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, - 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, - 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, - 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, - 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, - 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, - 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, - 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, - 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, - 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, - 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, - 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, - 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, - 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, - 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, - 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, - 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, - 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, - 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, - 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, - 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, - 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, - 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, - 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, - 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, - 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, - 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, - 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, - 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, - 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, - 96,96,96,96,192,6,3,3,9,1,3,100,252,152,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=11 h=14 x= 4 y= 9 dx=10 dy= 0 ascent=14 len=28 - Font Bounding box w=16 h=24 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB12[3959] U8G_FONT_SECTION("u8g_font_courB12") = { - 0,16,24,253,250,10,2,51,4,246,32,255,253,14,253,11, - 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, - 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, - 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, - 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, - 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, - 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, - 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, - 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, - 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, - 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, - 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, - 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, - 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, - 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, - 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, - 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, - 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, - 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, - 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, - 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, - 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, - 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, - 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, - 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, - 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, - 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, - 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, - 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, - 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, - 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, - 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, - 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, - 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, - 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, - 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, - 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, - 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, - 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, - 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, - 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, - 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, - 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, - 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, - 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, - 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, - 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, - 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, - 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, - 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, - 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, - 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, - 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, - 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, - 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, - 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, - 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, - 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, - 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, - 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, - 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, - 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, - 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, - 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, - 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, - 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, - 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, - 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, - 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, - 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, - 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, - 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, - 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, - 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, - 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, - 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, - 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, - 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, - 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, - 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, - 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, - 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, - 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, - 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, - 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, - 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, - 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, - 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, - 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, - 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, - 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, - 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, - 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, - 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, - 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, - 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, - 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, - 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, - 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, - 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, - 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, - 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, - 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, - 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, - 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, - 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, - 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, - 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, - 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, - 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,10,0,1,2,10,10,10,4,253,192,192,0, - 192,192,192,192,192,192,192,7,10,10,10,1,0,24,24,62, - 102,192,192,102,60,24,24,8,10,10,10,1,0,30,51,48, - 48,252,252,48,51,227,254,8,7,7,10,1,1,195,126,102, - 66,102,126,195,10,10,20,10,0,0,243,192,97,128,51,0, - 51,0,30,0,63,0,12,0,63,0,12,0,63,0,2,13, - 13,10,4,254,192,192,192,192,192,192,0,192,192,192,192,192, - 192,10,12,24,10,0,255,31,128,49,128,49,128,120,0,206, - 0,195,128,112,192,28,192,7,128,99,0,99,0,126,0,5, - 2,2,10,3,8,216,216,10,10,20,10,0,0,12,0,63, - 0,97,128,78,128,216,192,216,192,78,128,97,128,63,0,12, - 0,6,7,7,10,2,3,120,12,124,204,124,0,252,9,7, - 14,10,0,0,25,128,51,0,102,0,204,0,102,0,51,0, - 25,128,8,5,5,10,1,2,255,255,3,3,3,7,2,2, - 10,1,4,254,254,10,10,20,10,0,0,12,0,63,0,97, - 128,92,128,214,192,220,192,82,128,97,128,63,0,12,0,5, - 1,1,10,2,9,248,5,5,5,10,2,6,112,216,136,216, - 112,8,9,9,10,1,0,24,24,255,255,24,24,0,255,255, - 5,6,6,10,2,5,112,216,48,96,200,248,5,6,6,10, - 2,5,112,216,48,24,216,112,4,3,3,10,3,8,48,96, - 192,9,10,20,10,0,253,231,0,99,0,99,0,99,0,99, - 0,103,0,123,128,96,0,96,0,96,0,9,12,24,10,0, - 255,63,128,91,0,219,0,219,0,219,0,91,0,59,0,27, - 0,27,0,27,0,27,0,63,128,3,2,2,10,3,4,224, - 224,4,4,4,10,3,253,32,96,48,240,6,6,6,10,2, - 5,48,240,48,48,48,252,6,7,7,10,2,3,120,204,204, - 204,120,0,252,9,7,14,10,0,0,204,0,102,0,51,0, - 25,128,51,0,102,0,204,0,10,11,22,10,0,0,32,0, - 225,0,99,0,98,0,102,0,252,128,25,128,19,128,54,128, - 111,192,65,128,10,11,22,10,0,0,32,0,224,128,97,128, - 99,0,102,0,255,128,10,192,25,128,51,0,102,64,71,192, - 11,11,22,10,0,0,112,0,216,128,49,128,27,0,218,0, - 118,64,12,192,9,192,27,64,55,224,32,192,7,10,10,10, - 1,253,24,24,0,24,24,112,192,198,198,124,10,14,28,10, - 0,0,48,0,24,0,12,0,0,0,60,0,12,0,30,0, - 18,0,51,0,51,0,63,0,97,128,97,128,243,192,10,14, - 28,10,0,0,6,0,12,0,24,0,0,0,60,0,12,0, - 30,0,18,0,51,0,51,0,63,0,97,128,97,128,243,192, - 10,14,28,10,0,0,12,0,30,0,51,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,13,26,10,0,0,59,0,110,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,13,26,10,0,0,54,0,54,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,14,28,10,0,0,28,0,54,0,54,0,28,0, - 60,0,12,0,30,0,18,0,51,0,51,0,63,0,97,128, - 97,128,243,192,10,10,20,10,0,0,127,192,60,192,44,0, - 45,0,111,0,77,0,124,0,76,192,204,192,255,192,9,13, - 26,10,0,253,30,128,115,128,97,128,192,0,192,0,192,0, - 192,0,97,128,115,128,30,0,24,0,12,0,60,0,8,14, - 14,10,1,0,48,24,12,0,255,99,96,100,124,100,96,99, - 99,255,8,14,14,10,1,0,6,12,24,0,255,99,96,100, - 124,100,96,99,99,255,8,14,14,10,1,0,24,60,102,0, - 255,99,96,100,124,100,96,99,99,255,8,13,13,10,1,0, - 54,54,0,255,99,96,100,124,100,96,99,99,255,8,14,14, - 10,1,0,48,24,12,0,255,24,24,24,24,24,24,24,24, - 255,8,14,14,10,1,0,12,24,48,0,255,24,24,24,24, - 24,24,24,24,255,8,14,14,10,1,0,24,60,102,0,255, - 24,24,24,24,24,24,24,24,255,8,13,13,10,1,0,54, - 54,0,255,24,24,24,24,24,24,24,24,255,9,10,20,10, - 0,0,252,0,103,0,99,0,97,128,249,128,97,128,97,128, - 99,0,103,0,252,0,10,13,26,10,0,0,59,0,110,0, - 0,0,247,192,113,128,121,128,105,128,109,128,109,128,101,128, - 103,128,99,128,251,128,9,14,28,10,0,0,48,0,24,0, - 12,0,0,0,62,0,99,0,99,0,193,128,193,128,193,128, - 193,128,99,0,99,0,62,0,9,14,28,10,0,0,6,0, - 12,0,24,0,0,0,62,0,99,0,99,0,193,128,193,128, - 193,128,193,128,99,0,99,0,62,0,9,14,28,10,0,0, - 12,0,30,0,51,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, - 0,0,59,0,110,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, - 0,0,54,0,54,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,8,7,7,10, - 1,1,227,118,60,24,60,110,199,9,12,24,10,0,255,0, - 128,63,128,99,0,103,0,197,128,205,128,217,128,209,128,115, - 0,99,0,254,0,128,0,10,14,28,10,0,0,48,0,24, - 0,12,0,0,0,243,192,97,128,97,128,97,128,97,128,97, - 128,97,128,97,128,51,0,30,0,10,14,28,10,0,0,3, - 0,6,0,12,0,0,0,243,192,97,128,97,128,97,128,97, - 128,97,128,97,128,97,128,51,0,30,0,10,14,28,10,0, - 0,12,0,30,0,51,0,0,0,243,192,97,128,97,128,97, - 128,97,128,97,128,97,128,97,128,51,0,30,0,10,13,26, - 10,0,0,27,0,27,0,0,0,243,192,97,128,97,128,97, - 128,97,128,97,128,97,128,97,128,51,0,30,0,10,14,28, - 10,0,0,3,0,6,0,12,0,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,9, - 10,20,10,0,0,240,0,96,0,126,0,99,0,97,128,99, - 0,126,0,96,0,96,0,240,0,8,11,11,10,0,0,60, - 102,102,100,108,102,99,99,99,122,236,8,11,11,10,1,0, - 48,24,12,0,60,102,6,126,198,198,123,8,11,11,10,1, - 0,6,12,24,0,60,102,6,126,198,198,123,8,11,11,10, - 1,0,24,60,102,0,60,102,6,126,198,198,123,8,10,10, - 10,1,0,59,110,0,60,102,6,126,198,198,123,8,10,10, - 10,1,0,54,54,0,60,102,6,126,198,198,123,8,12,12, - 10,1,0,28,54,54,28,0,60,102,6,126,198,198,123,10, - 7,14,10,255,0,59,128,108,192,12,192,127,192,204,0,204, - 192,119,128,8,10,10,10,1,253,61,103,195,192,192,227,126, - 24,12,60,8,11,11,10,1,0,48,24,12,0,60,102,195, - 255,192,99,62,8,11,11,10,1,0,6,12,24,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,24,60,102,0,60, - 102,195,255,192,99,62,8,10,10,10,1,0,54,54,0,60, - 102,195,255,192,99,62,8,11,11,10,1,0,96,48,24,0, - 120,24,24,24,24,24,255,8,11,11,10,1,0,6,12,24, - 0,120,24,24,24,24,24,255,8,11,11,10,1,0,24,60, - 102,0,120,24,24,24,24,24,255,8,10,10,10,1,0,108, - 108,0,120,24,24,24,24,24,255,8,12,12,10,1,0,224, - 118,28,60,198,62,103,227,195,195,102,60,9,10,20,10,0, - 0,59,0,110,0,0,0,238,0,115,0,99,0,99,0,99, - 0,99,0,247,128,8,11,11,10,1,0,48,24,12,0,60, - 102,195,195,195,102,60,8,11,11,10,1,0,12,24,48,0, - 60,102,195,195,195,102,60,8,11,11,10,1,0,24,60,102, - 0,60,102,195,195,195,102,60,8,10,10,10,1,0,59,110, - 0,60,102,195,195,195,102,60,8,10,10,10,1,0,108,108, - 0,60,102,195,195,195,102,60,8,8,8,10,1,1,24,24, - 0,255,255,0,24,24,8,9,9,10,1,255,3,63,102,207, - 219,243,102,252,192,9,11,22,10,0,0,48,0,24,0,12, - 0,0,0,231,0,99,0,99,0,99,0,99,0,103,0,59, - 128,9,11,22,10,0,0,12,0,24,0,48,0,0,0,231, - 0,99,0,99,0,99,0,99,0,103,0,59,128,9,11,22, - 10,0,0,24,0,60,0,102,0,0,0,231,0,99,0,99, - 0,99,0,99,0,103,0,59,128,9,10,20,10,0,0,54, - 0,54,0,0,0,231,0,99,0,99,0,99,0,99,0,103, - 0,59,128,10,14,28,10,0,253,6,0,12,0,24,0,0, - 0,243,192,97,128,51,0,51,0,30,0,30,0,12,0,24, - 0,24,0,124,0,9,14,28,10,0,253,224,0,96,0,96, - 0,96,0,110,0,115,0,97,128,97,128,97,128,115,0,110, - 0,96,0,96,0,248,0,10,13,26,10,0,253,54,0,54, - 0,0,0,243,192,97,128,51,0,51,0,30,0,30,0,12, - 0,12,0,24,0,124,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 - Font Bounding box w=16 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB12r[1857] U8G_FONT_SECTION("u8g_font_courB12r") = { - 0,16,24,253,250,10,2,51,4,246,32,127,253,12,253,11, - 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, - 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, - 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, - 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, - 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, - 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, - 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, - 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, - 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, - 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, - 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, - 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, - 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, - 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, - 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, - 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, - 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, - 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, - 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, - 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, - 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, - 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, - 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, - 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, - 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, - 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, - 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, - 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, - 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, - 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, - 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, - 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, - 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, - 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, - 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, - 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, - 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, - 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, - 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, - 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, - 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, - 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, - 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, - 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, - 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, - 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, - 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, - 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, - 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, - 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, - 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, - 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, - 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, - 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, - 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, - 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, - 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, - 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, - 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, - 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, - 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, - 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, - 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, - 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, - 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, - 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, - 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, - 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, - 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, - 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, - 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, - 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, - 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, - 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, - 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, - 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, - 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, - 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, - 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, - 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, - 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, - 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, - 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, - 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, - 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, - 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, - 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, - 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, - 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, - 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, - 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, - 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, - 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, - 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, - 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, - 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, - 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, - 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, - 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, - 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, - 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, - 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, - 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, - 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, - 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, - 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, - 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, - 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, - 255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=12 h=17 x= 4 y= 9 dx=11 dy= 0 ascent=15 len=34 - Font Bounding box w=17 h=26 x=-4 y=-7 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =15 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB14[4784] U8G_FONT_SECTION("u8g_font_courB14") = { - 0,17,26,252,249,11,2,101,5,155,32,255,252,15,251,12, - 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, - 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, - 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, - 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, - 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, - 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, - 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, - 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, - 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, - 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, - 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, - 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, - 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, - 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, - 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, - 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, - 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, - 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, - 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, - 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, - 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, - 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, - 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, - 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, - 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, - 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, - 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, - 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, - 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, - 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, - 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, - 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, - 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, - 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, - 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, - 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, - 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, - 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, - 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, - 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, - 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, - 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, - 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, - 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, - 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, - 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, - 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, - 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, - 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, - 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, - 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, - 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, - 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, - 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, - 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, - 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, - 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, - 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, - 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, - 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, - 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, - 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, - 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, - 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, - 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, - 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, - 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, - 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, - 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, - 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, - 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, - 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, - 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, - 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, - 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, - 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, - 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, - 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, - 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, - 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, - 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, - 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, - 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, - 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, - 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, - 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, - 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, - 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, - 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, - 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, - 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, - 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, - 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, - 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, - 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, - 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, - 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, - 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, - 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, - 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, - 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, - 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, - 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, - 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, - 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, - 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, - 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, - 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, - 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, - 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, - 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, - 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, - 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, - 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, - 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, - 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, - 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, - 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, - 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, - 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, - 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, - 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, - 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, - 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, - 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, - 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, - 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, - 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, - 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, - 11,1,4,115,255,222,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,11,0,1,3,12,12, - 11,4,252,192,192,0,192,192,224,224,224,224,224,224,224,8, - 13,13,11,1,0,24,24,24,63,127,227,192,192,227,127,62, - 24,24,10,11,22,11,0,0,62,0,127,0,99,0,96,0, - 48,0,252,0,252,0,48,0,96,192,255,192,255,128,8,9, - 9,11,1,1,195,255,126,195,195,195,126,255,195,10,11,22, - 11,0,0,243,192,243,192,97,128,51,0,30,0,63,0,12, - 0,63,0,12,0,63,0,63,0,2,16,16,11,4,253,192, - 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,8, - 14,14,11,1,254,63,115,99,96,248,222,199,227,123,31,6, - 198,206,252,6,2,2,11,2,9,204,204,11,12,24,11,0, - 0,14,0,63,128,113,192,110,192,219,96,216,96,216,96,219, - 96,110,192,113,192,63,128,14,0,6,8,8,11,2,3,112, - 24,120,216,216,108,0,252,9,7,14,11,0,1,25,128,51, - 0,102,0,204,0,102,0,51,0,25,128,9,4,8,11,1, - 4,255,128,255,128,1,128,1,128,8,2,2,11,1,4,255, - 255,11,12,24,11,0,0,14,0,63,128,113,192,126,192,219, - 96,219,96,222,96,223,96,123,224,112,192,63,128,14,0,5, - 2,2,11,2,9,248,248,5,5,5,11,2,6,112,136,136, - 136,112,10,10,20,11,0,0,12,0,12,0,12,0,255,192, - 255,192,12,0,12,0,0,0,255,192,255,192,6,7,7,11, - 2,5,120,204,12,24,48,100,252,6,7,7,11,2,5,120, - 204,12,56,12,204,120,4,3,3,11,4,9,48,96,192,10, - 13,26,11,0,252,231,128,231,128,97,128,97,128,97,128,97, - 128,99,128,127,192,125,192,96,0,96,0,96,0,96,0,8, - 14,14,11,1,254,63,106,202,202,202,106,58,10,10,10,10, - 10,10,59,2,3,3,11,4,3,192,192,192,4,5,5,11, - 3,252,64,96,48,240,224,6,7,7,11,2,5,48,240,48, - 48,48,48,252,6,8,8,11,2,3,120,204,132,132,204,120, - 0,252,9,7,14,11,1,1,204,0,102,0,51,0,25,128, - 51,0,102,0,204,0,11,12,24,11,0,0,48,0,240,32, - 48,96,48,192,49,128,51,64,254,192,13,192,26,192,52,192, - 103,224,64,192,11,12,24,11,0,0,48,0,240,32,48,96, - 48,192,49,128,51,192,255,96,12,96,24,192,49,128,99,32, - 71,224,11,12,24,11,0,0,120,0,204,32,12,96,56,192, - 13,128,207,64,126,192,13,192,26,192,52,192,103,224,64,192, - 7,12,12,11,2,252,24,24,0,24,24,24,120,224,192,198, - 254,124,12,15,30,11,255,0,24,0,12,0,6,0,0,0, - 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, - 48,192,249,240,249,240,12,15,30,11,255,0,3,0,6,0, - 12,0,0,0,62,0,63,0,15,0,15,0,25,128,25,128, - 63,192,63,192,48,192,249,240,249,240,12,15,30,11,255,0, - 6,0,15,0,25,128,0,0,62,0,63,0,15,0,15,0, - 25,128,25,128,63,192,63,192,48,192,249,240,249,240,12,14, - 28,11,255,0,29,128,55,0,0,0,62,0,63,0,15,0, - 15,0,25,128,25,128,63,192,63,192,48,192,249,240,249,240, - 12,14,28,11,255,0,25,128,25,128,0,0,62,0,63,0, - 15,0,15,0,25,128,25,128,63,192,63,192,48,192,249,240, - 249,240,12,15,30,11,255,0,6,0,9,0,9,0,6,0, - 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, - 48,192,249,240,249,240,11,11,22,11,0,0,63,224,63,224, - 30,96,54,0,55,192,39,192,126,0,126,0,102,96,239,224, - 239,224,10,16,32,11,0,251,30,192,127,192,97,192,192,192, - 192,0,192,0,192,0,192,0,96,192,127,192,63,0,8,0, - 12,0,2,0,30,0,28,0,10,15,30,11,0,0,24,0, - 12,0,6,0,0,0,255,192,255,192,48,192,54,192,62,0, - 62,0,54,0,48,192,48,192,255,192,255,192,10,15,30,11, - 0,0,3,0,6,0,12,0,0,0,255,192,255,192,48,192, - 54,192,62,0,62,0,54,0,48,192,48,192,255,192,255,192, - 10,15,30,11,0,0,12,0,30,0,51,0,0,0,255,192, - 255,192,48,192,54,192,62,0,62,0,54,0,48,192,48,192, - 255,192,255,192,10,14,28,11,0,0,51,0,51,0,0,0, - 255,192,255,192,48,192,54,192,62,0,62,0,54,0,48,192, - 48,192,255,192,255,192,8,15,15,11,1,0,96,48,24,0, - 255,255,24,24,24,24,24,24,24,255,255,8,15,15,11,1, - 0,6,12,24,0,255,255,24,24,24,24,24,24,24,255,255, - 8,15,15,11,1,0,24,60,102,0,255,255,24,24,24,24, - 24,24,24,255,255,8,14,14,11,1,0,102,102,0,255,255, - 24,24,24,24,24,24,24,255,255,10,11,22,11,0,0,254, - 0,255,128,97,128,96,192,248,192,248,192,96,192,96,192,97, - 128,255,128,254,0,10,14,28,11,0,0,59,0,110,0,0, - 0,231,192,247,192,113,128,121,128,105,128,109,128,101,128,103, - 128,99,128,251,128,249,128,10,15,30,11,0,0,24,0,12, - 0,6,0,0,0,30,0,127,128,97,128,192,192,192,192,192, - 192,192,192,192,192,97,128,127,128,30,0,10,15,30,11,0, - 0,3,0,6,0,12,0,0,0,30,0,127,128,97,128,192, - 192,192,192,192,192,192,192,192,192,97,128,127,128,30,0,10, - 15,30,11,0,0,12,0,30,0,51,0,0,0,30,0,127, - 128,97,128,192,192,192,192,192,192,192,192,192,192,97,128,127, - 128,30,0,10,14,28,11,0,0,59,0,110,0,0,0,30, - 0,127,128,97,128,192,192,192,192,192,192,192,192,192,192,97, - 128,127,128,30,0,10,14,28,11,0,0,51,0,51,0,0, - 0,30,0,127,128,97,128,192,192,192,192,192,192,192,192,192, - 192,97,128,127,128,30,0,10,10,20,11,0,0,64,128,225, - 192,115,128,55,0,30,0,30,0,59,0,115,128,225,192,64, - 128,12,13,26,11,255,255,0,48,15,96,63,192,49,192,99, - 96,102,96,102,96,108,96,120,96,48,192,63,192,111,0,192, - 0,10,15,30,11,0,0,48,0,24,0,12,0,0,0,251, - 192,251,192,97,128,97,128,97,128,97,128,97,128,97,128,115, - 128,63,0,30,0,10,15,30,11,0,0,3,0,6,0,12, - 0,0,0,251,192,251,192,97,128,97,128,97,128,97,128,97, - 128,97,128,115,128,63,0,30,0,10,15,30,11,0,0,12, - 0,30,0,51,0,0,0,251,192,251,192,97,128,97,128,97, - 128,97,128,97,128,97,128,115,128,63,0,30,0,10,14,28, - 11,0,0,51,0,51,0,0,0,251,192,251,192,97,128,97, - 128,97,128,97,128,97,128,97,128,115,128,63,0,30,0,10, - 15,30,11,0,0,3,0,6,0,12,0,0,0,243,192,243, - 192,97,128,51,0,63,0,30,0,12,0,12,0,12,0,63, - 0,63,0,10,11,22,11,0,0,240,0,224,0,127,0,127, - 128,97,192,96,192,97,192,127,128,127,0,224,0,240,0,9, - 12,24,11,1,0,60,0,126,0,99,0,99,0,103,0,110, - 0,103,0,97,128,97,128,105,128,239,128,231,0,10,13,26, - 11,0,0,24,0,12,0,6,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, - 11,0,0,3,0,6,0,12,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, - 11,0,0,12,0,30,0,51,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,12,24, - 11,0,0,59,0,110,0,0,0,63,0,127,128,97,128,1, - 128,127,128,255,128,193,128,255,192,125,192,10,12,24,11,0, - 0,51,0,51,0,0,0,63,0,127,128,97,128,1,128,127, - 128,255,128,193,128,255,192,125,192,10,14,28,11,0,0,12, - 0,18,0,18,0,12,0,0,0,63,0,127,128,97,128,1, - 128,127,128,255,128,193,128,255,192,125,192,10,9,18,11,0, - 0,123,128,255,192,204,192,12,192,127,192,255,192,204,0,255, - 192,123,128,10,14,28,11,0,251,61,128,127,128,227,128,193, - 128,192,0,192,0,225,192,127,192,63,0,8,0,12,0,6, - 0,30,0,28,0,10,13,26,11,0,0,24,0,12,0,6, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,13,26,11,0,0,3,0,6,0,12, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,13,26,11,0,0,12,0,30,0,51, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,12,24,11,0,0,51,0,51,0,0, - 0,30,0,127,128,225,192,192,192,255,192,255,192,224,0,127, - 192,31,192,8,13,13,11,1,0,48,24,12,0,248,248,24, - 24,24,24,24,255,255,8,13,13,11,1,0,12,24,48,0, - 248,248,24,24,24,24,24,255,255,8,13,13,11,1,0,24, - 60,102,0,248,248,24,24,24,24,24,255,255,8,12,12,11, - 1,0,204,204,0,248,248,24,24,24,24,24,255,255,10,13, - 26,11,0,0,225,128,251,128,62,0,119,0,195,128,63,128, - 97,192,192,192,192,192,192,192,225,192,127,128,30,0,10,12, - 24,11,0,0,59,0,110,0,0,0,239,0,255,128,113,128, - 97,128,97,128,97,128,97,128,243,192,243,192,10,13,26,11, - 0,0,24,0,12,0,6,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, - 0,0,3,0,6,0,12,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, - 0,0,12,0,30,0,51,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,12,24,11, - 0,0,59,0,110,0,0,0,30,0,127,128,225,192,192,192, - 192,192,192,192,225,192,127,128,30,0,10,12,24,11,0,0, - 51,0,51,0,0,0,30,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,30,0,10,10,20,11,0,0,12,0, - 12,0,0,0,0,0,255,192,255,192,0,0,0,0,12,0, - 12,0,12,11,22,11,255,255,0,48,15,96,63,192,113,224, - 99,96,102,96,108,96,120,224,63,192,111,0,192,0,10,13, - 26,11,0,0,24,0,12,0,6,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, - 26,11,0,0,6,0,12,0,24,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, - 26,11,0,0,12,0,30,0,51,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,12, - 24,11,0,0,51,0,51,0,0,0,231,128,231,128,97,128, - 97,128,97,128,97,128,99,128,127,192,61,192,10,17,34,11, - 0,252,3,0,6,0,12,0,0,0,243,192,243,192,97,128, - 97,128,51,0,51,0,30,0,30,0,12,0,24,0,56,0, - 252,0,252,0,10,16,32,11,0,252,224,0,224,0,96,0, - 111,0,127,128,113,192,96,192,96,192,96,192,113,192,127,128, - 111,0,96,0,96,0,248,0,248,0,10,16,32,11,0,252, - 51,0,51,0,0,0,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0 - }; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=12 h=16 x= 4 y= 9 dx=11 dy= 0 ascent=13 len=32 - Font Bounding box w=17 h=26 x=-4 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB14r[2167] U8G_FONT_SECTION("u8g_font_courB14r") = { - 0,17,26,252,249,11,2,101,5,155,32,127,252,13,252,12, - 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, - 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, - 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, - 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, - 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, - 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, - 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, - 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, - 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, - 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, - 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, - 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, - 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, - 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, - 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, - 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, - 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, - 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, - 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, - 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, - 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, - 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, - 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, - 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, - 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, - 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, - 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, - 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, - 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, - 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, - 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, - 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, - 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, - 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, - 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, - 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, - 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, - 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, - 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, - 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, - 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, - 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, - 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, - 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, - 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, - 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, - 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, - 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, - 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, - 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, - 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, - 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, - 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, - 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, - 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, - 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, - 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, - 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, - 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, - 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, - 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, - 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, - 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, - 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, - 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, - 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, - 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, - 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, - 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, - 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, - 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, - 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, - 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, - 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, - 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, - 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, - 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, - 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, - 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, - 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, - 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, - 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, - 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, - 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, - 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, - 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, - 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, - 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, - 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, - 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, - 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, - 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, - 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, - 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, - 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, - 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, - 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, - 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, - 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, - 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, - 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, - 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, - 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, - 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, - 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, - 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, - 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, - 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, - 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, - 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, - 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, - 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, - 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, - 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, - 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, - 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, - 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, - 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, - 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, - 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, - 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, - 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, - 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, - 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, - 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, - 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, - 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, - 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, - 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, - 11,1,4,115,255,222,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=21 x= 6 y=13 dx=15 dy= 0 ascent=21 len=42 - Font Bounding box w=22 h=35 x=-4 y=-9 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =15 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB18[6429] U8G_FONT_SECTION("u8g_font_courB18") = { - 0,22,35,252,247,15,3,223,8,17,32,255,251,21,251,16, - 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, - 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, - 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, - 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, - 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, - 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, - 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, - 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, - 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, - 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, - 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, - 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, - 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, - 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, - 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, - 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, - 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, - 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, - 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, - 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, - 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, - 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, - 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, - 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, - 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, - 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, - 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, - 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, - 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, - 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, - 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, - 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, - 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, - 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, - 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, - 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, - 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, - 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, - 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, - 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, - 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, - 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, - 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, - 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, - 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, - 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, - 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, - 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, - 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, - 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, - 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, - 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, - 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, - 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, - 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, - 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, - 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, - 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, - 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, - 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, - 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, - 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, - 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, - 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, - 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, - 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, - 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, - 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, - 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, - 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, - 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, - 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, - 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, - 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, - 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, - 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, - 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, - 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, - 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, - 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, - 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, - 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, - 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, - 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, - 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, - 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, - 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, - 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, - 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, - 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, - 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, - 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, - 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, - 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, - 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, - 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, - 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, - 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, - 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, - 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, - 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, - 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, - 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, - 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, - 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, - 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, - 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, - 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, - 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, - 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, - 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, - 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, - 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, - 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, - 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, - 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, - 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, - 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, - 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, - 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, - 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, - 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, - 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, - 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, - 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, - 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, - 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, - 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, - 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, - 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, - 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, - 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, - 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, - 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, - 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, - 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, - 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, - 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, - 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, - 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, - 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, - 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, - 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, - 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, - 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, - 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, - 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, - 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, - 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, - 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, - 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, - 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, - 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, - 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, - 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, - 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, - 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, - 60,48,126,112,231,224,195,192,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,15,0,1,4, - 16,16,15,4,251,96,96,96,0,96,96,96,96,96,240,240, - 240,240,240,240,96,9,16,32,15,2,0,12,0,12,0,12, - 0,61,128,127,128,227,128,193,128,192,0,192,0,192,0,225, - 128,127,128,63,0,12,0,12,0,12,0,12,15,30,15,1, - 0,15,128,31,192,56,192,48,0,48,0,48,0,48,0,255, - 0,255,0,24,0,24,0,56,0,112,48,255,240,255,224,10, - 11,22,15,2,2,192,192,255,192,127,128,225,192,192,192,192, - 192,192,192,225,192,127,128,255,192,192,192,12,15,30,15,1, - 0,249,240,249,240,112,224,48,192,57,192,25,128,15,0,15, - 0,63,192,6,0,63,192,6,0,6,0,63,192,63,192,2, - 18,18,15,6,254,192,192,192,192,192,192,192,192,0,0,192, - 192,192,192,192,192,192,192,12,18,36,15,1,254,15,224,31, - 224,56,96,48,96,56,0,126,0,207,128,195,224,240,240,124, - 48,31,48,7,240,1,224,0,192,96,192,97,192,127,128,127, - 0,7,3,3,15,3,12,198,198,198,14,14,28,15,0,1, - 7,128,31,224,56,112,103,152,111,216,220,204,216,12,216,12, - 220,204,111,216,103,152,56,112,31,224,7,128,8,11,11,15, - 3,4,60,102,6,126,198,198,207,123,0,255,255,13,9,18, - 15,1,1,14,56,28,112,56,224,113,192,227,128,113,192,56, - 224,28,112,14,56,12,6,12,15,1,4,255,240,255,240,0, - 48,0,48,0,48,0,48,11,2,4,15,2,6,255,224,255, - 224,14,14,28,15,0,1,7,128,31,224,56,112,111,152,111, - 216,204,204,204,204,207,140,205,140,108,216,108,216,56,112,31, - 224,7,128,7,2,2,15,3,13,254,254,8,7,7,15,3, - 9,60,102,195,195,195,102,60,12,14,28,15,1,0,6,0, - 6,0,6,0,6,0,255,240,255,240,6,0,6,0,6,0, - 6,0,0,0,0,0,255,240,255,240,7,9,9,15,4,7, - 124,198,198,12,24,48,96,198,254,7,9,9,15,4,7,124, - 198,198,12,60,6,198,198,124,6,4,4,15,4,12,28,56, - 112,224,14,16,32,15,0,251,240,240,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,56,112,63,252,63,188,48,0, - 48,0,48,0,48,0,48,0,12,18,36,15,1,254,31,240, - 127,240,230,192,230,192,230,192,230,192,230,192,126,192,30,192, - 6,192,6,192,6,192,6,192,6,192,6,192,6,192,62,240, - 62,240,3,3,3,15,5,6,224,224,224,5,6,6,15,4, - 251,48,48,120,24,248,112,8,9,9,15,3,7,24,248,24, - 24,24,24,24,24,255,8,11,11,15,3,4,60,126,195,195, - 195,195,126,60,0,255,255,13,9,18,15,1,1,227,128,113, - 192,56,224,28,112,14,56,28,112,56,224,113,192,227,128,16, - 16,32,15,255,0,24,0,248,1,24,3,24,6,24,12,24, - 24,24,48,24,100,255,204,1,156,3,44,6,76,12,140,24, - 254,48,12,32,30,16,16,32,15,255,0,24,0,248,1,24, - 3,24,6,24,12,24,24,24,48,24,126,255,243,1,163,3, - 6,6,12,12,24,24,48,48,99,32,127,15,16,32,15,0, - 0,124,0,198,2,198,6,12,12,60,24,6,48,198,96,198, - 200,125,152,3,56,6,88,12,152,25,24,49,252,96,24,64, - 60,9,15,30,15,2,252,12,0,12,0,12,0,0,0,12, - 0,12,0,28,0,120,0,224,0,192,0,193,128,193,128,225, - 128,127,128,63,0,14,20,40,15,0,0,56,0,28,0,14, - 0,7,0,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,14,20,40,15,0,0,0,224,1,192,3,128,7, - 0,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, - 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, - 252,14,21,42,15,0,0,6,0,15,0,31,128,57,192,112, - 224,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, - 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, - 252,14,19,38,15,0,0,14,96,31,192,51,128,0,0,63, - 0,63,0,7,128,7,128,12,192,12,192,28,224,24,96,24, - 96,63,240,63,240,112,56,96,24,252,252,252,252,14,19,38, - 15,0,0,24,192,24,192,24,192,0,0,63,0,63,0,7, - 128,7,128,12,192,12,192,28,224,24,96,24,96,63,240,63, - 240,112,56,96,24,252,252,252,252,14,20,40,15,0,0,7, - 0,13,128,8,128,13,128,7,0,63,0,63,0,7,128,7, - 128,12,192,12,192,28,224,24,96,24,96,63,240,63,240,112, - 56,96,24,252,252,252,252,15,15,30,15,0,0,15,254,15, - 254,3,134,7,134,7,128,13,152,9,248,25,248,31,152,63, - 128,49,128,97,134,97,134,247,254,247,254,12,20,40,15,1, - 251,15,176,63,240,112,112,96,48,224,48,192,0,192,0,192, - 0,192,0,192,0,224,0,96,16,112,48,63,224,15,192,6, - 0,15,0,3,0,31,0,14,0,13,20,40,15,1,0,56, - 0,28,0,14,0,7,0,0,0,255,240,255,240,48,48,48, - 48,49,176,49,128,63,128,63,128,49,128,49,128,48,24,48, - 24,48,24,255,248,255,248,13,20,40,15,1,0,0,224,1, - 192,3,128,7,0,0,0,255,240,255,240,48,48,48,48,49, - 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, - 24,255,248,255,248,13,21,42,15,1,0,3,0,7,128,15, - 192,28,224,56,112,0,0,255,240,255,240,48,48,48,48,49, - 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, - 24,255,248,255,248,13,19,38,15,1,0,24,192,24,192,24, - 192,0,0,255,240,255,240,48,48,48,48,49,176,49,128,63, - 128,63,128,49,128,49,128,48,24,48,24,48,24,255,248,255, - 248,10,20,40,15,2,0,112,0,56,0,28,0,14,0,0, - 0,255,192,255,192,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, - 20,40,15,2,0,3,128,7,0,14,0,28,0,0,0,255, - 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,255,192,255,192,10,21,42, - 15,2,0,12,0,30,0,63,0,115,128,225,192,0,0,255, - 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,255,192,255,192,10,19,38, - 15,2,0,51,0,51,0,51,0,0,0,255,192,255,192,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,14,15,30,15,0,0,255, - 192,255,240,48,56,48,24,48,28,48,12,254,12,254,12,48, - 12,48,12,48,12,48,24,48,56,255,240,255,224,13,19,38, - 15,1,0,14,96,31,192,51,128,0,0,240,248,240,248,120, - 48,120,48,108,48,108,48,102,48,102,48,99,48,99,48,97, - 176,97,176,96,240,248,240,248,112,13,20,40,15,1,0,28, - 0,14,0,7,0,3,128,0,0,15,128,63,224,112,112,96, - 48,224,56,192,24,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,13,20,40,15,1,0,0,224,1, - 192,3,128,7,0,0,0,15,128,63,224,112,112,96,48,224, - 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, - 112,63,224,15,128,13,21,42,15,1,0,3,0,7,128,15, - 192,28,224,56,112,0,0,15,128,63,224,112,112,96,48,224, - 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, - 112,63,224,15,128,13,19,38,15,1,0,14,96,31,192,51, - 128,0,0,15,128,63,224,112,112,96,48,224,56,192,24,192, - 24,192,24,192,24,192,24,224,56,96,48,112,112,63,224,15, - 128,13,19,38,15,1,0,24,192,24,192,24,192,0,0,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,192,24,224,56,96,48,112,112,63,224,15,128,12,12,24, - 15,1,1,64,32,224,112,112,224,57,192,31,128,15,0,15, - 0,31,128,57,192,112,224,224,112,64,32,13,18,36,15,1, - 255,0,24,0,48,15,224,63,224,112,112,96,240,225,184,193, - 24,195,24,198,24,196,24,204,24,232,56,120,48,112,112,63, - 224,111,128,192,0,13,20,40,15,1,0,56,0,28,0,14, - 0,7,0,0,0,248,248,248,248,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,48,96,63, - 224,31,192,13,20,40,15,1,0,0,224,1,192,3,128,7, - 0,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, - 192,13,21,42,15,1,0,3,0,7,128,15,192,28,224,56, - 112,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, - 192,13,19,38,15,1,0,24,192,24,192,24,192,0,0,248, - 248,248,248,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,48,96,63,224,31,192,14,20,40, - 15,0,0,0,224,1,192,3,128,7,0,0,0,252,252,252, - 252,112,56,56,112,24,96,12,192,15,192,7,128,3,0,3, - 0,3,0,3,0,3,0,31,224,31,224,13,15,30,15,1, - 0,252,0,252,0,48,0,63,192,63,240,48,56,48,24,48, - 24,48,24,48,56,63,240,63,192,48,0,252,0,252,0,12, - 16,32,15,1,0,15,0,31,128,57,192,48,192,48,192,49, - 192,55,128,55,192,48,224,48,112,48,48,48,48,48,48,51, - 112,251,224,249,192,12,16,32,15,1,0,112,0,56,0,28, - 0,14,0,0,0,63,0,127,128,97,192,0,192,31,192,127, - 192,224,192,192,192,193,192,255,240,126,240,12,16,32,15,1, - 0,1,192,3,128,7,0,14,0,0,0,63,0,127,128,97, - 192,0,192,31,192,127,192,224,192,192,192,193,192,255,240,126, - 240,12,16,32,15,1,0,14,0,31,0,59,128,113,192,0, - 0,63,0,127,128,97,192,0,192,31,192,127,192,224,192,192, - 192,193,192,255,240,126,240,12,15,30,15,1,0,28,192,63, - 128,103,0,0,0,63,0,127,128,97,192,0,192,31,192,127, - 192,224,192,192,192,193,192,255,240,126,240,12,15,30,15,1, - 0,49,128,49,128,49,128,0,0,63,0,127,128,97,192,0, - 192,31,192,127,192,224,192,192,192,193,192,255,240,126,240,12, - 16,32,15,1,0,14,0,27,0,17,0,27,0,14,0,63, - 0,127,128,97,192,0,192,31,192,127,192,224,192,192,192,193, - 192,255,240,126,240,14,11,22,15,0,0,60,240,127,248,103, - 156,3,12,31,12,127,252,227,252,195,0,199,140,255,252,124, - 240,11,16,32,15,1,251,31,96,127,224,112,224,224,96,192, - 96,192,0,192,0,224,0,112,96,127,224,31,192,6,0,15, - 0,3,0,31,0,14,0,12,16,32,15,1,0,56,0,28, - 0,14,0,7,0,0,0,31,128,127,224,112,224,224,112,192, - 48,255,240,255,240,224,0,112,112,127,240,31,192,12,16,32, - 15,1,0,1,192,3,128,7,0,14,0,0,0,31,128,127, - 224,112,224,224,112,192,48,255,240,255,240,224,0,112,112,127, - 240,31,192,12,16,32,15,1,0,7,0,15,128,29,192,56, - 224,0,0,31,128,127,224,112,224,224,112,192,48,255,240,255, - 240,224,0,112,112,127,240,31,192,12,15,30,15,1,0,49, - 128,49,128,49,128,0,0,31,128,127,224,112,224,224,112,192, - 48,255,240,255,240,224,0,112,112,127,240,31,192,10,16,32, - 15,2,0,224,0,112,0,56,0,28,0,0,0,124,0,124, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,10,16,32,15,2,0,3,128,7,0,14,0,28, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,10,16,32,15,2,0,28, - 0,62,0,119,0,227,128,0,0,124,0,124,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, - 15,30,15,2,0,99,0,99,0,99,0,0,0,124,0,124, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,17,34,15,0,0,240,0,252,112,15,240,31, - 128,125,192,112,224,15,240,63,240,56,120,112,56,96,24,96, - 24,96,24,112,56,56,112,63,240,15,192,14,15,30,15,0, - 0,14,96,31,192,51,128,0,0,243,192,247,224,60,112,56, - 48,48,48,48,48,48,48,48,48,48,48,252,252,252,252,12, - 16,32,15,1,0,56,0,28,0,14,0,7,0,0,0,31, - 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, - 224,127,224,31,128,12,16,32,15,1,0,1,192,3,128,7, - 0,14,0,0,0,31,128,127,224,112,224,224,112,192,48,192, - 48,192,48,224,112,112,224,127,224,31,128,12,16,32,15,1, - 0,14,0,31,0,59,128,113,192,0,0,31,128,127,224,112, - 224,224,112,192,48,192,48,192,48,224,112,112,224,127,224,31, - 128,12,15,30,15,1,0,28,192,63,128,103,0,0,0,31, - 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, - 224,127,224,31,128,12,15,30,15,1,0,49,128,49,128,49, - 128,0,0,31,128,127,224,112,224,224,112,192,48,192,48,192, - 48,224,112,112,224,127,224,31,128,13,12,24,15,0,1,7, - 0,7,0,7,0,0,0,0,0,255,248,255,248,0,0,0, - 0,7,0,7,0,7,0,14,14,28,15,0,254,0,12,15, - 216,63,240,56,112,112,216,97,152,99,24,102,24,108,56,56, - 112,63,240,63,192,96,0,192,0,14,16,32,15,0,0,56, - 0,28,0,14,0,7,0,0,0,240,240,240,240,48,48,48, - 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,14, - 16,32,15,0,0,1,192,3,128,7,0,14,0,0,0,240, - 240,240,240,48,48,48,48,48,48,48,48,48,48,48,48,56, - 112,31,252,15,188,14,16,32,15,0,0,7,0,15,128,29, - 192,56,224,0,0,240,240,240,240,48,48,48,48,48,48,48, - 48,48,48,48,48,56,112,31,252,15,188,14,15,30,15,0, - 0,24,192,24,192,24,192,0,0,240,240,240,240,48,48,48, - 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,12, - 21,42,15,1,251,0,224,1,192,3,128,7,0,0,0,249, - 240,249,240,96,96,112,224,48,192,57,192,25,128,27,128,15, - 0,15,0,6,0,14,0,12,0,28,0,254,0,254,0,13, - 21,42,15,1,251,240,0,240,0,48,0,48,0,48,0,55, - 192,63,240,60,112,56,56,48,24,48,24,48,24,56,56,60, - 112,63,240,55,192,48,0,48,0,48,0,254,0,254,0,12, - 20,40,15,1,251,49,128,49,128,49,128,0,0,249,240,249, - 240,96,96,112,224,48,192,57,192,25,128,27,128,15,0,15, - 0,6,0,14,0,12,0,28,0,254,0,254,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=21 x= 6 y=11 dx=15 dy= 0 ascent=17 len=40 - Font Bounding box w=22 h=35 x=-4 y=-9 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =15 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB18r[3001] U8G_FONT_SECTION("u8g_font_courB18r") = { - 0,22,35,252,247,15,3,223,8,17,32,127,251,17,251,16, - 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, - 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, - 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, - 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, - 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, - 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, - 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, - 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, - 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, - 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, - 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, - 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, - 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, - 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, - 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, - 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, - 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, - 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, - 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, - 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, - 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, - 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, - 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, - 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, - 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, - 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, - 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, - 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, - 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, - 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, - 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, - 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, - 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, - 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, - 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, - 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, - 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, - 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, - 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, - 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, - 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, - 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, - 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, - 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, - 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, - 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, - 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, - 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, - 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, - 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, - 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, - 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, - 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, - 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, - 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, - 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, - 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, - 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, - 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, - 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, - 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, - 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, - 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, - 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, - 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, - 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, - 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, - 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, - 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, - 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, - 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, - 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, - 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, - 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, - 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, - 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, - 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, - 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, - 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, - 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, - 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, - 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, - 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, - 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, - 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, - 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, - 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, - 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, - 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, - 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, - 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, - 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, - 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, - 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, - 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, - 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, - 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, - 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, - 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, - 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, - 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, - 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, - 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, - 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, - 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, - 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, - 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, - 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, - 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, - 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, - 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, - 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, - 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, - 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, - 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, - 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, - 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, - 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, - 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, - 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, - 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, - 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, - 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, - 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, - 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, - 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, - 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, - 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, - 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, - 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, - 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, - 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, - 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, - 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, - 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, - 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, - 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, - 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, - 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, - 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, - 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, - 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, - 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, - 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, - 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, - 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, - 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, - 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, - 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, - 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, - 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, - 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, - 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, - 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, - 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, - 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, - 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, - 60,48,126,112,231,224,195,192,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 20, '1' Height: 21 - Calculated Max Values w=21 h=29 x= 8 y=17 dx=20 dy= 0 ascent=26 len=87 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24[10502] U8G_FONT_SECTION("u8g_font_courB24") = { - 0,30,44,249,245,20,5,57,12,115,32,255,249,26,249,21, - 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, - 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, - 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, - 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, - 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, - 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, - 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, - 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, - 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, - 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, - 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, - 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, - 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, - 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, - 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, - 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, - 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, - 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, - 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, - 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, - 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, - 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, - 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, - 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, - 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, - 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, - 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, - 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, - 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, - 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, - 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, - 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, - 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, - 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, - 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, - 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, - 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, - 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, - 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, - 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, - 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, - 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, - 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, - 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, - 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, - 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, - 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, - 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, - 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, - 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, - 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, - 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, - 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, - 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, - 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, - 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, - 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, - 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, - 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, - 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, - 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, - 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, - 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, - 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, - 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, - 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, - 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, - 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, - 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, - 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, - 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, - 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, - 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, - 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, - 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, - 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, - 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, - 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, - 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, - 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, - 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, - 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, - 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, - 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, - 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, - 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, - 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, - 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, - 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, - 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, - 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, - 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, - 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, - 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, - 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, - 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, - 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, - 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, - 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, - 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, - 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, - 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, - 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, - 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, - 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, - 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, - 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, - 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, - 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, - 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, - 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, - 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, - 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, - 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, - 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, - 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, - 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, - 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, - 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, - 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, - 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, - 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, - 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, - 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, - 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, - 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, - 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, - 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, - 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, - 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, - 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, - 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, - 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, - 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, - 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, - 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, - 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, - 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, - 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, - 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, - 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, - 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, - 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, - 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, - 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, - 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, - 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, - 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, - 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, - 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, - 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, - 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, - 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, - 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, - 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, - 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, - 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, - 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, - 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, - 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, - 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, - 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, - 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, - 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, - 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, - 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, - 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, - 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, - 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, - 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, - 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, - 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, - 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, - 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, - 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, - 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, - 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, - 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, - 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, - 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, - 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, - 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, - 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, - 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, - 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, - 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, - 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, - 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, - 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, - 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, - 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, - 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, - 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, - 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, - 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, - 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, - 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, - 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, - 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, - 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, - 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, - 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, - 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, - 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, - 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, - 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, - 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, - 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, - 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, - 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, - 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, - 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, - 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, - 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, - 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, - 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, - 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, - 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, - 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, - 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, - 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, - 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, - 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, - 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, - 227,252,225,248,0,96,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,20,0,1,5,21,21, - 20,7,249,112,248,248,112,0,0,112,112,112,112,112,112,112, - 112,248,248,248,248,248,112,32,13,23,46,20,3,255,7,0, - 7,0,7,0,7,0,7,0,15,216,63,248,127,248,120,120, - 240,56,224,56,224,0,224,0,224,0,240,56,120,120,127,248, - 63,240,15,192,7,0,7,0,7,0,7,0,16,20,40,20, - 1,0,3,224,7,240,15,248,30,56,28,56,28,0,28,0, - 28,0,14,0,255,224,255,224,255,224,14,0,14,0,14,0, - 14,2,30,7,127,255,127,255,127,254,15,15,30,20,2,2, - 224,14,247,222,255,254,127,252,60,120,120,60,112,28,112,28, - 112,28,120,60,60,120,127,252,255,254,247,222,224,14,17,20, - 60,20,1,0,254,63,128,254,63,128,254,63,128,56,14,0, - 28,28,0,30,60,0,14,56,0,15,120,0,7,112,0,3, - 224,0,31,252,0,31,252,0,1,192,0,31,252,0,31,252, - 0,1,192,0,1,192,0,31,252,0,31,252,0,31,252,0, - 3,26,26,20,8,251,224,224,224,224,224,224,224,224,224,224, - 224,224,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 16,24,48,20,2,253,1,254,7,254,15,254,28,6,24,6, - 24,6,60,0,127,0,231,128,193,224,96,240,112,60,60,14, - 15,6,7,131,1,231,0,254,0,60,48,24,48,24,48,56, - 63,240,63,224,63,128,11,4,8,20,4,17,96,192,241,224, - 241,224,96,192,21,20,60,20,255,0,0,252,0,3,255,0, - 15,255,192,30,3,224,56,96,224,113,246,112,115,254,112,231, - 158,56,231,14,56,206,14,56,206,0,56,206,0,56,206,6, - 56,231,15,120,231,254,112,115,252,240,120,241,224,62,7,192, - 31,255,0,7,252,0,11,14,28,20,4,6,31,0,127,128, - 97,128,1,128,63,128,127,128,225,128,193,128,195,128,255,224, - 125,224,0,0,255,224,255,224,15,14,28,20,1,0,3,6, - 7,14,14,28,28,56,56,112,112,224,225,192,225,192,112,224, - 56,112,28,56,14,28,7,14,3,6,16,8,16,20,2,5, - 255,255,255,255,255,255,0,7,0,7,0,7,0,7,0,7, - 15,3,6,20,2,8,255,254,255,254,255,254,21,20,60,20, - 255,0,1,248,0,7,254,0,31,255,128,60,3,192,59,241, - 224,115,252,224,115,254,240,227,158,112,227,142,120,227,142,56, - 227,254,56,227,252,56,227,184,56,243,188,120,115,158,112,123, - 143,240,60,3,224,31,255,192,15,255,0,3,252,0,10,2, - 4,20,5,17,255,192,255,192,9,9,18,20,5,11,28,0, - 119,0,193,128,128,128,128,128,128,128,193,128,119,0,28,0, - 17,18,54,20,1,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, - 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,8,14,14,20, - 5,7,60,126,231,195,3,7,14,12,24,56,112,225,255,255, - 9,14,28,20,5,7,62,0,127,0,99,0,3,0,7,0, - 30,0,31,0,3,128,1,128,1,128,193,128,227,0,127,0, - 60,0,8,6,6,20,6,15,6,15,62,120,224,64,18,22, - 66,20,1,249,252,63,0,252,63,0,252,63,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,15,0,30,31,0,31,255,192,31,247,192,29,231, - 192,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,15,24,48,20,2,253,15,254,63,254, - 123,24,243,24,227,24,227,24,227,24,227,24,227,24,115,24, - 63,24,31,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,31,62,31,62,31,62,5,4,4,20, - 7,8,112,248,248,112,5,7,7,20,6,250,48,48,48,24, - 248,248,112,8,13,13,20,6,7,56,248,216,24,24,24,24, - 24,24,24,24,255,255,11,14,28,20,4,6,14,0,63,128, - 113,192,224,224,192,96,192,96,192,96,224,224,113,192,63,128, - 14,0,0,0,255,224,255,224,15,14,28,20,2,0,193,128, - 225,192,112,224,56,112,28,56,14,28,7,14,7,14,14,28, - 28,56,56,112,112,224,225,192,193,128,19,20,60,20,0,0, - 56,0,0,248,0,0,216,0,128,24,1,192,24,1,128,24, - 3,0,24,6,0,24,12,0,24,28,192,24,25,192,255,51, - 192,255,114,192,0,102,192,0,206,192,1,140,192,3,159,224, - 7,31,224,2,0,192,0,1,224,0,1,224,19,20,60,20, - 0,0,56,0,0,248,0,0,216,2,0,24,7,0,24,14, - 0,24,12,0,24,24,0,24,56,0,24,112,0,24,103,128, - 254,239,192,255,220,224,1,152,96,3,0,224,7,1,192,14, - 7,128,4,14,0,0,28,96,0,31,224,0,31,224,19,21, - 63,20,0,0,62,0,0,127,0,0,99,0,0,3,1,0, - 3,3,128,30,7,0,31,6,0,3,142,0,1,156,0,195, - 152,192,227,49,192,127,115,192,28,98,192,0,198,192,1,206, - 192,3,140,192,7,31,224,2,31,224,0,0,192,0,3,224, - 0,3,224,13,21,42,20,3,250,7,0,15,128,15,128,7, - 0,0,0,0,0,0,0,7,0,7,0,7,0,31,0,63, - 0,124,0,240,0,224,0,224,56,224,56,240,56,127,248,63, - 248,31,224,21,26,78,20,255,0,3,0,0,7,128,0,1, - 224,0,0,240,0,0,48,0,0,0,0,31,240,0,31,248, - 0,31,248,0,1,252,0,1,220,0,1,220,0,3,222,0, - 3,142,0,3,142,0,7,7,0,7,7,0,7,7,0,15, - 255,128,15,255,128,31,255,192,28,1,192,28,1,192,255,143, - 248,255,143,248,255,143,248,21,26,78,20,255,0,0,3,0, - 0,15,0,0,30,0,0,120,0,0,96,0,0,0,0,31, - 240,0,31,248,0,31,248,0,1,252,0,1,220,0,1,220, - 0,3,222,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,21,26,78,20,255, - 0,0,64,0,0,224,0,3,184,0,7,28,0,14,14,0, - 0,0,0,31,240,0,31,248,0,31,248,0,1,252,0,1, - 220,0,1,220,0,3,222,0,3,142,0,3,142,0,7,7, - 0,7,7,0,7,7,0,15,255,128,15,255,128,31,255,192, - 28,1,192,28,1,192,255,143,248,255,143,248,255,143,248,21, - 25,75,20,255,0,3,134,0,7,230,0,6,118,0,6,28, - 0,0,0,0,31,240,0,31,248,0,31,248,0,1,252,0, - 1,220,0,1,220,0,3,222,0,3,142,0,3,142,0,7, - 7,0,7,7,0,7,7,0,15,255,128,15,255,128,31,255, - 192,28,1,192,28,1,192,255,143,248,255,143,248,255,143,248, - 21,25,75,20,255,0,12,24,0,30,60,0,30,60,0,12, - 24,0,0,0,0,31,240,0,31,248,0,31,248,0,1,252, - 0,1,220,0,1,220,0,3,222,0,3,142,0,3,142,0, - 7,7,0,7,7,0,7,7,0,15,255,128,15,255,128,31, - 255,192,28,1,192,28,1,192,255,143,248,255,143,248,255,143, - 248,21,26,78,20,255,0,0,240,0,1,152,0,1,8,0, - 1,152,0,0,240,0,0,0,0,31,240,0,31,248,0,31, - 248,0,1,252,0,1,220,0,1,220,0,3,222,0,3,142, - 0,3,142,0,7,7,0,7,7,0,7,7,0,15,255,128, - 15,255,128,31,255,192,28,1,192,28,1,192,255,143,248,255, - 143,248,255,143,248,20,20,60,20,0,0,31,255,224,31,255, - 224,31,255,224,7,112,224,7,112,224,6,112,224,14,112,224, - 14,115,0,14,115,0,14,127,0,28,127,0,28,115,0,31, - 243,0,31,243,0,56,112,112,56,112,112,56,112,112,255,255, - 240,255,255,240,255,255,240,17,26,78,20,1,250,3,227,0, - 15,255,0,31,255,0,62,31,0,120,15,0,112,7,0,240, - 7,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,240,0,0,112,1,0,120,3,128,62,15,128, - 63,255,0,15,254,0,3,248,0,0,192,0,0,192,0,0, - 224,0,4,112,0,7,240,0,3,224,0,17,26,78,20,1, - 0,3,0,0,7,128,0,1,224,0,0,240,0,0,48,0, - 0,0,0,255,255,0,255,255,0,255,255,0,28,7,0,28, - 7,0,28,7,0,28,119,0,28,112,0,31,240,0,31,240, - 0,31,240,0,28,112,0,28,112,0,28,3,128,28,3,128, - 28,3,128,28,3,128,255,255,128,255,255,128,255,255,128,17, - 26,78,20,1,0,0,12,0,0,60,0,0,120,0,1,224, - 0,1,128,0,0,0,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,26,78,20,1,0,0,128,0,1,192,0,7, - 112,0,14,56,0,28,28,0,0,0,0,255,255,0,255,255, - 0,255,255,0,28,7,0,28,7,0,28,7,0,28,119,0, - 28,112,0,31,240,0,31,240,0,31,240,0,28,112,0,28, - 112,0,28,3,128,28,3,128,28,3,128,28,3,128,255,255, - 128,255,255,128,255,255,128,17,25,75,20,1,0,6,12,0, - 15,30,0,15,30,0,6,12,0,0,0,0,255,255,0,255, - 255,0,255,255,0,28,7,0,28,7,0,28,7,0,28,119, - 0,28,112,0,31,240,0,31,240,0,31,240,0,28,112,0, - 28,112,0,28,3,128,28,3,128,28,3,128,28,3,128,255, - 255,128,255,255,128,255,255,128,13,26,52,20,3,0,24,0, - 60,0,15,0,7,128,1,128,0,0,255,248,255,248,255,248, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,13,26,52,20,3,0,0,48,0,240,1,224,7,128, - 6,0,0,0,255,248,255,248,255,248,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,255,248,255,248,255,248,13,26,52,20, - 3,0,2,0,7,0,29,192,56,224,112,112,0,0,255,248, - 255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 255,248,255,248,255,248,13,25,50,20,3,0,48,96,120,240, - 120,240,48,96,0,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,17,20, - 60,20,2,0,255,224,0,255,248,0,255,252,0,56,62,0, - 56,15,0,56,7,0,56,7,0,56,3,128,255,131,128,255, - 131,128,255,131,128,56,3,128,56,3,128,56,3,128,56,7, - 0,56,7,0,56,30,0,255,254,0,255,252,0,255,240,0, - 20,25,75,20,255,0,3,134,0,7,230,0,6,118,0,6, - 28,0,0,0,0,252,31,240,254,31,240,255,31,240,31,1, - 192,31,129,192,31,129,192,29,193,192,29,225,192,28,225,192, - 28,241,192,28,121,192,28,57,192,28,61,192,28,29,192,28, - 15,192,28,15,192,28,7,192,127,199,192,127,195,192,127,193, - 192,17,26,78,20,1,0,6,0,0,15,0,0,3,192,0, - 1,224,0,0,96,0,0,0,0,7,240,0,15,252,0,31, - 252,0,60,30,0,120,15,0,112,7,0,112,7,0,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 112,7,0,120,7,0,56,14,0,62,62,0,31,252,0,15, - 248,0,3,224,0,17,26,78,20,1,0,0,24,0,0,120, - 0,0,240,0,3,192,0,3,0,0,0,0,0,7,240,0, - 15,252,0,31,252,0,60,30,0,120,15,0,112,7,0,112, - 7,0,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,112,7,0,120,7,0,56,14,0,62,62,0, - 31,252,0,15,248,0,3,224,0,17,26,78,20,1,0,0, - 128,0,1,192,0,7,112,0,14,56,0,28,28,0,0,0, - 0,7,240,0,15,252,0,31,252,0,60,30,0,120,15,0, - 112,7,0,112,7,0,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,112,7,0,120,7,0,56,14, - 0,62,62,0,31,252,0,15,248,0,3,224,0,17,25,75, - 20,1,0,7,12,0,15,204,0,12,236,0,12,56,0,0, - 0,0,7,240,0,15,252,0,31,252,0,60,30,0,120,15, - 0,112,7,0,112,7,0,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,112,7,0,120,7,0,56, - 14,0,62,62,0,31,252,0,15,248,0,3,224,0,17,25, - 75,20,1,0,12,24,0,30,60,0,30,60,0,12,24,0, - 0,0,0,7,240,0,15,252,0,31,252,0,60,30,0,120, - 15,0,112,7,0,112,7,0,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,112,7,0,120,7,0, - 56,14,0,62,62,0,31,252,0,15,248,0,3,224,0,15, - 16,32,20,2,0,224,14,240,30,248,62,120,60,60,120,30, - 240,15,224,7,192,7,192,15,224,30,240,60,120,120,60,248, - 62,240,30,224,14,17,23,69,20,1,254,0,3,128,3,227, - 128,15,255,128,31,255,0,62,62,0,56,30,0,120,63,0, - 112,127,0,224,123,128,224,243,128,225,227,128,225,195,128,227, - 195,128,231,131,128,255,7,128,126,7,0,126,15,0,60,30, - 0,127,252,0,127,248,0,247,240,0,224,0,0,224,0,0, - 19,26,78,20,0,0,3,0,0,7,128,0,1,224,0,0, - 240,0,0,48,0,0,0,0,255,31,224,255,31,224,255,31, - 224,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,28,7,128,31,31,0,15,254,0,7,252, - 0,1,248,0,19,26,78,20,0,0,0,28,0,0,60,0, - 0,240,0,1,224,0,1,128,0,0,0,0,255,31,224,255, - 31,224,255,31,224,56,3,128,56,3,128,56,3,128,56,3, - 128,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,28,7,128,31,31,0,15, - 254,0,7,252,0,1,248,0,19,26,78,20,0,0,0,64, - 0,0,224,0,3,184,0,7,28,0,14,14,0,0,0,0, - 255,31,224,255,31,224,255,31,224,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, - 128,56,3,128,56,3,128,56,3,128,56,3,128,28,7,128, - 31,31,0,15,254,0,7,252,0,1,248,0,19,26,78,20, - 0,0,6,12,0,15,30,0,15,30,0,6,12,0,0,0, - 0,0,0,0,255,191,224,255,191,224,255,191,224,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, - 128,28,7,128,31,31,0,15,254,0,7,252,0,1,248,0, - 17,26,78,20,1,0,0,24,0,0,120,0,0,240,0,3, - 192,0,3,0,0,0,0,0,254,63,128,254,63,128,254,63, - 128,60,30,0,28,28,0,30,60,0,14,56,0,15,120,0, - 7,240,0,3,224,0,3,224,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,31,252,0,31,252, - 0,31,252,0,18,20,60,20,1,0,255,128,0,255,128,0, - 255,128,0,28,0,0,31,248,0,31,254,0,31,255,0,28, - 15,128,28,3,128,28,3,192,28,3,192,28,3,128,28,15, - 128,31,255,0,31,254,0,31,248,0,28,0,0,255,128,0, - 255,128,0,255,128,0,17,22,66,20,0,255,3,224,0,7, - 240,0,15,248,0,30,60,0,28,28,0,28,28,0,28,28, - 0,28,60,0,29,248,0,29,248,0,29,254,0,28,31,0, - 28,15,0,28,7,128,28,3,128,28,3,128,29,195,128,29, - 195,128,255,255,0,254,255,0,254,126,0,0,24,0,17,22, - 66,20,2,0,24,0,0,60,0,0,15,0,0,7,128,0, - 1,128,0,0,0,0,0,0,0,15,224,0,63,240,0,63, - 248,0,56,60,0,0,28,0,0,28,0,15,252,0,63,252, - 0,127,252,0,120,28,0,240,28,0,224,124,0,255,255,128, - 127,255,128,63,159,128,17,22,66,20,2,0,0,32,0,0, - 112,0,0,240,0,3,192,0,7,128,0,6,0,0,0,0, - 0,15,224,0,63,240,0,63,248,0,56,60,0,0,28,0, - 0,28,0,15,252,0,63,252,0,127,252,0,120,28,0,224, - 60,0,224,124,0,255,255,128,127,223,128,63,159,128,17,22, - 66,20,1,0,0,128,0,1,192,0,7,112,0,14,56,0, - 28,28,0,0,0,0,0,0,0,7,224,0,63,240,0,63, - 248,0,60,60,0,0,28,0,0,28,0,15,252,0,63,252, - 0,127,252,0,120,28,0,240,28,0,224,60,0,255,255,128, - 127,255,128,63,159,128,17,21,63,20,1,0,14,24,0,31, - 152,0,25,248,0,24,112,0,0,0,0,0,0,0,15,224, - 0,63,240,0,63,248,0,56,60,0,0,28,0,0,28,0, - 15,252,0,63,252,0,127,252,0,120,28,0,240,28,0,224, - 124,0,255,255,128,127,223,128,63,159,128,17,21,63,20,2, - 0,12,24,0,30,60,0,30,60,0,12,24,0,0,0,0, - 0,0,0,15,224,0,63,240,0,63,248,0,56,60,0,0, - 28,0,0,28,0,15,252,0,63,252,0,127,252,0,120,28, - 0,240,28,0,224,124,0,255,255,128,127,223,128,63,159,128, - 17,21,63,20,1,0,3,192,0,6,96,0,4,32,0,6, - 96,0,3,192,0,0,0,0,15,224,0,63,240,0,63,248, - 0,56,60,0,0,28,0,0,28,0,15,252,0,63,252,0, - 127,252,0,120,28,0,240,28,0,224,124,0,255,255,128,127, - 223,128,63,159,128,20,15,45,20,255,0,15,135,0,63,255, - 192,63,255,192,56,253,224,0,112,112,3,240,112,31,255,240, - 127,255,240,255,255,240,240,112,0,224,120,0,241,248,112,127, - 255,240,63,255,240,31,39,128,16,21,42,20,2,250,7,230, - 31,254,63,254,124,62,112,14,240,14,224,14,224,0,224,0, - 224,0,240,6,124,15,63,254,31,252,7,240,1,128,1,128, - 1,192,8,224,15,192,3,128,16,21,42,20,1,0,6,0, - 15,0,3,192,1,224,0,96,0,0,7,224,31,248,63,252, - 124,62,112,14,240,15,255,255,255,255,255,255,224,0,112,0, - 124,15,63,255,31,254,7,240,16,22,44,20,1,0,0,16, - 0,56,0,120,1,224,3,192,3,0,0,0,7,224,31,248, - 63,252,124,62,112,14,240,15,255,255,255,255,255,255,224,0, - 112,0,124,14,63,255,31,254,7,240,16,22,44,20,1,0, - 0,128,1,192,7,112,14,56,28,28,0,0,0,0,7,224, - 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, - 224,0,112,0,124,31,63,255,31,255,7,240,16,21,42,20, - 1,0,12,24,30,60,30,60,12,24,0,0,0,0,7,224, - 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, - 224,0,112,0,124,31,63,255,31,255,7,240,15,22,44,20, - 2,0,24,0,60,0,15,0,7,128,1,128,0,0,0,0, - 127,128,127,128,127,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,254,255,254,255,254,15,23, - 46,20,2,0,0,128,1,192,3,192,15,0,30,0,24,0, - 0,0,0,0,127,128,127,128,127,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, - 255,254,15,22,44,20,2,0,2,0,7,0,29,192,56,224, - 112,112,0,0,0,0,127,128,127,128,127,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, - 255,254,255,254,15,21,42,20,2,0,48,96,120,240,120,240, - 48,96,0,0,0,0,127,128,127,128,127,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, - 255,254,255,254,16,21,42,20,2,0,126,14,255,191,255,252, - 3,240,15,240,127,248,124,56,112,60,7,220,31,254,127,254, - 120,30,240,15,224,7,224,7,224,15,240,15,248,62,127,252, - 63,248,31,224,17,21,63,20,1,0,14,24,0,31,152,0, - 25,248,0,24,112,0,0,0,0,0,0,0,249,240,0,251, - 252,0,255,254,0,60,30,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,254,63,128,254,63,128,17,21,63,20,1,0,6, - 0,0,15,0,0,3,192,0,1,224,0,0,96,0,0,0, - 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, - 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, - 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,22, - 66,20,1,0,0,16,0,0,56,0,0,120,0,1,224,0, - 3,192,0,3,0,0,0,0,0,7,240,0,15,248,0,63, - 254,0,60,30,0,120,15,0,240,7,128,224,3,128,224,3, - 128,224,3,128,240,7,128,120,15,0,124,31,0,63,254,0, - 31,252,0,7,240,0,17,22,66,20,1,0,0,128,0,1, - 192,0,7,112,0,14,56,0,28,28,0,0,0,0,0,0, - 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, - 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, - 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,21, - 63,20,1,0,7,12,0,15,204,0,12,252,0,12,56,0, - 0,0,0,0,0,0,7,240,0,15,248,0,63,254,0,60, - 30,0,120,15,0,240,7,128,224,3,128,224,3,128,224,3, - 128,240,7,128,120,15,0,124,31,0,63,254,0,31,252,0, - 7,240,0,17,21,63,20,1,0,12,24,0,30,60,0,30, - 60,0,12,24,0,0,0,0,0,0,0,7,240,0,15,248, - 0,63,254,0,60,30,0,120,15,0,240,7,128,224,3,128, - 224,3,128,224,3,128,240,7,128,120,15,0,124,31,0,63, - 254,0,31,252,0,7,240,0,15,15,30,20,2,2,3,128, - 7,192,7,192,3,128,0,0,0,0,255,254,255,254,255,254, - 0,0,0,0,3,128,7,192,7,192,3,128,17,18,54,20, - 1,254,0,3,128,3,227,128,15,255,128,63,255,0,62,62, - 0,120,63,0,112,127,0,224,243,128,225,227,128,227,195,128, - 231,131,128,127,7,0,126,31,0,63,254,0,127,252,0,247, - 240,0,224,0,0,224,0,0,18,22,66,20,0,0,3,0, - 0,7,128,0,1,224,0,0,240,0,0,48,0,0,0,0, - 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, - 18,22,66,20,0,0,0,8,0,0,28,0,0,60,0,0, - 240,0,1,224,0,1,128,0,0,0,0,252,63,0,252,63, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,15,0,28,31,0,31, - 255,192,15,247,192,7,231,192,18,22,66,20,0,0,0,128, - 0,1,192,0,7,112,0,14,56,0,28,28,0,0,0,0, - 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, - 18,21,63,20,0,0,12,24,0,30,60,0,30,60,0,12, - 24,0,0,0,0,0,0,0,252,63,0,252,63,0,252,63, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,15,0,28,31,0,31,255,192,15, - 247,192,7,231,192,17,29,87,20,1,249,0,16,0,0,56, - 0,0,120,0,1,224,0,3,192,0,3,0,0,0,0,0, - 254,63,128,254,63,128,254,63,128,120,15,0,56,14,0,60, - 30,0,28,28,0,30,60,0,14,56,0,15,120,0,7,112, - 0,7,240,0,3,224,0,3,224,0,1,192,0,1,192,0, - 3,128,0,3,128,0,7,0,0,255,224,0,255,224,0,255, - 224,0,19,28,84,20,0,249,252,0,0,252,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,252,0,31,255,0, - 31,255,128,31,135,192,31,3,192,30,1,224,28,0,224,28, - 0,224,28,0,224,30,1,224,30,1,192,31,135,192,31,255, - 128,31,255,0,28,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,255,192,0,255,192,0,255,192,0,17,28,84,20, - 1,249,6,12,0,15,30,0,15,30,0,6,12,0,0,0, - 0,0,0,0,254,63,128,254,63,128,254,63,128,120,15,0, - 56,14,0,60,30,0,28,28,0,30,60,0,14,56,0,15, - 120,0,7,112,0,7,240,0,3,224,0,3,224,0,1,192, - 0,1,192,0,3,128,0,3,128,0,7,0,0,255,224,0, - 255,224,0,255,224,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 20, '1' Height: 21 - Calculated Max Values w=21 h=28 x= 8 y=16 dx=20 dy= 0 ascent=23 len=75 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24r[4775] U8G_FONT_SECTION("u8g_font_courB24r") = { - 0,30,44,249,245,20,5,57,12,115,32,127,249,23,249,21, - 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, - 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, - 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, - 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, - 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, - 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, - 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, - 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, - 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, - 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, - 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, - 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, - 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, - 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, - 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, - 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, - 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, - 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, - 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, - 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, - 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, - 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, - 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, - 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, - 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, - 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, - 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, - 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, - 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, - 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, - 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, - 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, - 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, - 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, - 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, - 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, - 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, - 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, - 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, - 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, - 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, - 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, - 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, - 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, - 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, - 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, - 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, - 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, - 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, - 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, - 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, - 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, - 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, - 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, - 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, - 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, - 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, - 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, - 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, - 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, - 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, - 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, - 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, - 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, - 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, - 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, - 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, - 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, - 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, - 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, - 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, - 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, - 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, - 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, - 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, - 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, - 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, - 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, - 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, - 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, - 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, - 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, - 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, - 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, - 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, - 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, - 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, - 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, - 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, - 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, - 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, - 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, - 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, - 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, - 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, - 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, - 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, - 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, - 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, - 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, - 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, - 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, - 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, - 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, - 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, - 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, - 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, - 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, - 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, - 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, - 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, - 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, - 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, - 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, - 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, - 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, - 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, - 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, - 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, - 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, - 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, - 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, - 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, - 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, - 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, - 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, - 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, - 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, - 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, - 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, - 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, - 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, - 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, - 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, - 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, - 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, - 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, - 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, - 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, - 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, - 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, - 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, - 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, - 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, - 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, - 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, - 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, - 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, - 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, - 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, - 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, - 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, - 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, - 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, - 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, - 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, - 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, - 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, - 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, - 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, - 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, - 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, - 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, - 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, - 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, - 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, - 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, - 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, - 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, - 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, - 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, - 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, - 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, - 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, - 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, - 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, - 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, - 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, - 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, - 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, - 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, - 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, - 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, - 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, - 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, - 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, - 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, - 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, - 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, - 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, - 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, - 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, - 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, - 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, - 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, - 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, - 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, - 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, - 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, - 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, - 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, - 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, - 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, - 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, - 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, - 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, - 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, - 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, - 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, - 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, - 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, - 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, - 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, - 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, - 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, - 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, - 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, - 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, - 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, - 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, - 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, - 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, - 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, - 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, - 227,252,225,248,0,96,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=17 h=27 x= 7 y= 8 dx=20 dy= 0 ascent=23 len=54 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =23 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24n[707] U8G_FONT_SECTION("u8g_font_courB24n") = { - 0,30,44,249,245,21,0,0,0,0,42,58,0,23,251,21, - 0,15,14,28,20,3,7,3,128,3,128,3,128,3,128,99, - 140,251,190,127,252,31,240,15,224,15,224,30,240,60,120,120, - 60,48,24,17,17,51,20,1,1,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,255,255, - 128,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,7,10,10,20, - 5,251,30,30,60,60,56,112,112,224,224,192,15,3,6,20, - 2,8,255,254,255,254,255,254,5,4,4,20,7,0,112,248, - 248,112,13,27,54,20,3,252,0,56,0,56,0,120,0,112, - 0,112,0,224,0,224,1,224,1,192,1,192,3,128,3,128, - 7,128,7,0,15,0,14,0,14,0,28,0,28,0,60,0, - 56,0,56,0,112,0,112,0,240,0,224,0,224,0,13,21, - 42,20,3,0,15,128,63,224,127,240,112,112,240,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,240,120,112,112,127,240,63,224,15,128,13,21, - 42,20,4,0,3,0,15,0,127,0,255,0,255,0,103,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,14,21, - 42,20,2,0,7,192,31,240,63,248,120,60,112,28,112,28, - 112,28,0,28,0,56,0,120,0,240,1,224,3,192,7,128, - 15,0,30,0,60,0,120,0,255,252,255,252,255,252,15,21, - 42,20,2,0,7,224,31,240,127,248,120,60,112,28,0,28, - 0,28,0,60,7,248,7,240,7,248,0,124,0,28,0,14, - 0,14,0,14,0,30,224,60,255,252,255,248,63,224,14,21, - 42,20,2,0,0,240,1,240,1,240,3,240,7,240,7,112, - 15,112,14,112,30,112,28,112,56,112,120,112,112,112,255,252, - 255,252,255,252,0,112,0,112,3,252,3,252,3,252,15,21, - 42,20,2,0,63,252,63,252,63,252,56,0,56,0,56,0, - 56,0,63,224,63,248,63,252,56,124,0,30,0,14,0,14, - 0,14,0,14,64,30,240,60,255,248,127,248,31,224,14,21, - 42,20,3,0,1,248,7,248,15,248,31,0,60,0,120,0, - 112,0,112,0,227,192,239,240,255,240,248,120,240,60,224,28, - 224,28,240,28,112,60,120,120,127,248,63,240,15,192,14,21, - 42,20,2,0,255,252,255,252,255,252,224,60,224,56,224,56, - 0,56,0,120,0,112,0,112,0,240,0,224,0,224,1,224, - 1,192,1,192,3,192,3,128,7,128,7,0,7,0,14,21, - 42,20,3,0,15,128,63,224,127,240,112,112,224,56,224,56, - 224,56,112,112,127,240,63,224,63,240,124,248,240,60,224,28, - 224,28,224,28,224,28,248,124,127,248,63,240,15,192,14,21, - 42,20,3,0,15,128,63,224,127,240,120,240,240,120,224,56, - 224,60,224,60,224,60,240,124,120,252,63,220,63,156,15,60, - 0,56,0,120,0,112,97,240,255,224,255,128,126,0,5,15, - 15,20,7,0,112,248,248,112,0,0,0,0,0,0,0,112, - 248,248,112}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 6 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w=10 h=16 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR08[2433] U8G_FONT_SECTION("u8g_font_courR08") = { - 0,10,16,254,252,6,1,151,3,21,32,255,254,9,254,7, - 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, - 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, - 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, - 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, - 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, - 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, - 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, - 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, - 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, - 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, - 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, - 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, - 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, - 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, - 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, - 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, - 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, - 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, - 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, - 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, - 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, - 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, - 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, - 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, - 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, - 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, - 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, - 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, - 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, - 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, - 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, - 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, - 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, - 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, - 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, - 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, - 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, - 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, - 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, - 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, - 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, - 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, - 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, - 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, - 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, - 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, - 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, - 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, - 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, - 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, - 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, - 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, - 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, - 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, - 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, - 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, - 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, - 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, - 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, - 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, - 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, - 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, - 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, - 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, - 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, - 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, - 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, - 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, - 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, - 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, - 6,2,254,128,64,64,64,32,64,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,1,1,7,7,6,2, - 254,128,0,128,128,128,128,128,4,8,8,6,1,255,32,32, - 112,128,128,112,32,32,6,7,7,6,0,0,56,64,248,32, - 32,68,252,5,5,5,6,0,1,136,112,80,112,136,5,7, - 7,6,0,0,136,80,248,32,248,32,112,1,9,9,6,2, - 254,128,128,128,0,0,128,128,128,128,4,8,8,6,1,255, - 112,128,96,144,144,96,16,224,3,1,1,6,2,5,160,6, - 7,7,6,0,0,48,72,180,164,180,72,48,4,5,5,6, - 1,1,224,16,208,0,240,6,3,3,6,0,1,108,216,108, - 5,3,3,6,0,2,248,8,8,4,1,1,6,1,3,240, - 6,7,7,6,0,0,48,72,188,180,172,72,48,4,1,1, - 6,1,5,240,4,3,3,6,1,4,96,144,96,5,6,6, - 6,0,0,32,32,248,32,0,248,3,4,4,6,2,3,96, - 160,64,224,3,4,4,6,2,3,224,64,32,192,2,2,2, - 6,2,5,64,128,6,7,7,6,0,254,216,72,72,72,116, - 64,64,6,8,8,6,0,255,124,168,168,104,40,40,40,108, - 1,2,2,6,2,2,128,128,3,3,3,6,1,254,64,32, - 192,3,4,4,6,2,3,192,64,64,224,4,5,5,6,1, - 1,96,144,96,0,240,6,3,3,6,1,1,216,108,216,6, - 7,7,6,0,0,192,68,72,244,44,92,132,6,7,7,6, - 0,0,192,68,72,252,52,72,156,6,7,7,6,0,0,224, - 68,40,212,44,92,132,4,7,7,6,0,254,32,0,32,32, - 64,144,96,6,9,9,6,0,0,32,16,0,112,40,72,120, - 72,204,6,9,9,6,0,0,16,32,0,112,40,72,120,72, - 204,6,9,9,6,0,0,32,80,0,112,40,72,120,72,204, - 6,9,9,6,0,0,40,80,0,112,40,72,120,72,204,6, - 8,8,6,0,0,80,0,112,40,72,120,72,204,6,9,9, - 6,0,0,16,40,16,112,40,72,120,72,204,6,6,6,6, - 0,0,124,48,92,112,144,156,4,8,8,6,1,254,96,144, - 128,128,144,96,32,192,5,9,9,6,0,0,32,16,0,248, - 72,112,64,72,248,5,9,9,6,0,0,16,32,0,248,72, - 112,64,72,248,5,9,9,6,0,0,32,80,0,248,72,112, - 64,72,248,5,8,8,6,0,0,80,0,248,72,112,64,72, - 248,5,9,9,6,0,0,64,32,0,248,32,32,32,32,248, - 5,9,9,6,0,0,16,32,0,248,32,32,32,32,248,5, - 9,9,6,0,0,32,80,0,248,32,32,32,32,248,5,8, - 8,6,0,0,80,0,248,32,32,32,32,248,5,6,6,6, - 0,0,240,72,232,72,72,240,6,9,9,6,0,0,40,80, - 0,220,72,104,88,72,200,4,9,9,6,1,0,64,32,0, - 96,144,144,144,144,96,4,9,9,6,1,0,32,64,0,96, - 144,144,144,144,96,4,9,9,6,1,0,32,80,0,96,144, - 144,144,144,96,4,9,9,6,1,0,80,160,0,96,144,144, - 144,144,96,4,8,8,6,1,0,160,0,96,144,144,144,144, - 96,5,5,5,6,0,1,136,80,32,80,136,6,6,6,6, - 0,0,52,72,88,104,72,176,6,9,9,6,0,0,32,16, - 0,204,72,72,72,72,48,6,9,9,6,0,0,16,32,0, - 204,72,72,72,72,48,6,9,9,6,0,0,16,40,0,204, - 72,72,72,72,48,6,8,8,6,0,0,80,0,204,72,72, - 72,72,48,5,9,9,6,0,0,16,32,0,216,136,80,32, - 32,112,5,6,6,6,0,0,192,112,72,112,64,224,6,6, - 6,6,0,0,48,72,88,68,84,200,5,8,8,6,0,0, - 64,32,0,96,16,112,144,104,5,8,8,6,0,0,16,32, - 0,96,16,112,144,104,5,8,8,6,0,0,32,80,0,96, - 16,112,144,104,5,8,8,6,0,0,80,160,0,96,16,112, - 144,104,5,7,7,6,0,0,80,0,96,16,112,144,104,5, - 9,9,6,0,0,32,80,32,0,96,16,112,144,104,6,5, - 5,6,0,0,108,148,124,144,236,4,7,7,6,1,254,96, - 144,128,144,96,32,192,4,8,8,6,1,0,64,32,0,96, - 144,240,128,112,4,8,8,6,1,0,32,64,0,96,144,240, - 128,112,4,8,8,6,1,0,64,160,0,96,144,240,128,112, - 4,7,7,6,1,0,160,0,96,144,240,128,112,5,8,8, - 6,0,0,64,32,0,96,32,32,32,248,5,8,8,6,0, - 0,16,32,0,96,32,32,32,248,5,8,8,6,0,0,32, - 80,0,96,32,32,32,248,5,7,7,6,0,0,80,0,96, - 32,32,32,248,4,8,8,6,1,0,208,96,160,112,144,144, - 144,96,6,8,8,6,0,0,40,80,0,176,72,72,72,236, - 4,8,8,6,1,0,64,32,0,96,144,144,144,96,4,8, - 8,6,1,0,16,32,0,96,144,144,144,96,4,8,8,6, - 1,0,64,160,0,96,144,144,144,96,4,8,8,6,1,0, - 80,160,0,96,144,144,144,96,4,7,7,6,1,0,160,0, - 96,144,144,144,96,5,5,5,6,0,1,32,0,248,0,32, - 6,6,6,6,0,0,4,56,88,104,72,176,6,8,8,6, - 0,0,32,16,0,216,72,72,72,52,6,8,8,6,0,0, - 16,32,0,216,72,72,72,52,6,8,8,6,0,0,32,80, - 0,216,72,72,72,52,6,7,7,6,0,0,80,0,216,72, - 72,72,52,5,10,10,6,0,254,16,32,0,216,72,72,72, - 48,32,192,5,9,9,6,0,254,192,64,112,72,72,72,112, - 64,224,5,9,9,6,0,254,80,0,216,72,72,72,48,32, - 192}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 6 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w=10 h=16 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR08r[1157] U8G_FONT_SECTION("u8g_font_courR08r") = { - 0,10,16,254,252,6,1,151,3,21,32,127,254,8,254,7, - 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, - 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, - 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, - 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, - 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, - 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, - 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, - 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, - 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, - 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, - 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, - 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, - 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, - 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, - 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, - 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, - 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, - 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, - 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, - 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, - 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, - 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, - 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, - 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, - 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, - 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, - 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, - 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, - 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, - 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, - 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, - 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, - 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, - 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, - 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, - 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, - 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, - 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, - 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, - 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, - 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, - 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, - 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, - 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, - 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, - 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, - 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, - 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, - 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, - 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, - 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, - 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, - 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, - 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, - 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, - 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, - 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, - 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, - 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, - 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, - 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, - 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, - 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, - 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, - 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, - 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, - 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, - 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, - 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, - 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, - 6,2,254,128,64,64,64,32,64,64,64,128,4,2,2,6, - 1,3,80,160,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 4 y= 8 dx= 9 dy= 0 ascent=12 len=24 - Font Bounding box w=14 h=20 x=-3 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR10[3052] U8G_FONT_SECTION("u8g_font_courR10") = { - 0,14,20,253,251,9,1,224,3,220,32,255,253,12,253,10, - 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, - 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, - 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, - 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, - 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, - 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, - 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, - 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, - 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, - 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, - 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, - 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, - 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, - 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, - 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, - 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, - 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, - 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, - 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, - 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, - 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, - 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, - 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, - 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, - 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, - 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, - 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, - 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, - 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, - 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, - 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, - 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, - 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, - 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, - 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, - 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, - 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, - 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, - 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, - 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, - 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, - 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, - 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, - 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, - 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, - 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, - 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, - 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, - 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, - 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, - 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, - 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, - 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, - 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, - 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, - 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, - 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, - 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, - 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, - 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, - 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, - 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, - 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, - 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, - 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, - 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, - 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, - 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, - 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, - 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, - 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, - 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, - 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, - 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, - 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, - 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, - 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, - 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, - 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, - 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, - 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, - 100,152,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,9,0,1,1,9,9,9,4,254,128, - 128,0,128,128,128,128,128,128,5,9,9,9,2,0,32,32, - 120,136,128,136,112,32,32,7,9,9,9,1,0,24,36,32, - 32,120,32,32,66,252,6,6,6,9,1,1,180,72,132,132, - 72,180,7,9,9,9,1,0,238,68,68,40,124,16,124,16, - 56,1,11,11,9,3,254,128,128,128,128,0,0,128,128,128, - 128,128,6,10,10,9,1,255,60,68,64,240,136,68,60,8, - 136,240,5,1,1,9,2,8,216,8,9,9,9,0,0,60, - 66,153,165,161,165,153,66,60,4,6,6,9,2,3,192,32, - 224,176,0,240,8,7,7,9,0,0,17,34,68,204,68,34, - 17,7,3,3,9,1,3,254,2,2,6,1,1,9,1,4, - 252,8,9,9,9,0,0,60,66,185,165,185,169,165,66,60, - 4,1,1,9,2,8,240,4,4,4,9,2,6,96,144,144, - 96,7,7,7,9,1,1,16,16,254,16,16,0,254,4,6, - 6,9,2,4,96,144,16,32,64,240,4,6,6,9,2,4, - 96,144,96,16,144,96,4,2,2,9,2,8,48,192,8,10, - 10,9,0,253,198,66,66,66,66,70,123,64,64,64,7,10, - 10,9,1,255,126,148,148,148,116,20,20,20,20,62,2,2, - 2,9,3,3,192,192,3,3,3,9,2,253,64,32,224,3, - 6,6,9,3,4,64,192,64,64,64,224,4,6,6,9,2, - 3,96,144,144,96,0,240,8,7,7,9,0,0,136,68,34, - 51,34,68,136,10,10,20,9,255,0,64,0,193,0,66,0, - 68,0,68,128,233,128,18,128,20,128,39,192,64,128,10,10, - 20,9,255,0,64,0,193,0,66,0,68,0,69,128,234,64, - 16,64,16,128,33,0,67,192,10,10,20,9,255,0,96,0, - 145,0,98,0,20,0,148,128,105,128,18,128,20,128,39,192, - 64,128,5,9,9,9,2,254,32,32,0,32,96,128,128,136, - 112,9,12,24,9,0,0,48,0,12,0,0,0,56,0,8, - 0,20,0,20,0,34,0,62,0,65,0,65,0,247,128,9, - 12,24,9,0,0,12,0,48,0,0,0,56,0,8,0,20, - 0,20,0,34,0,62,0,65,0,65,0,247,128,9,12,24, - 9,0,0,8,0,20,0,0,0,56,0,8,0,20,0,20, - 0,34,0,62,0,65,0,65,0,247,128,9,12,24,9,0, - 0,26,0,44,0,0,0,56,0,8,0,20,0,20,0,34, - 0,62,0,65,0,65,0,247,128,9,11,22,9,0,0,54, - 0,0,0,56,0,8,0,20,0,20,0,34,0,62,0,65, - 0,65,0,247,128,9,12,24,9,0,0,24,0,36,0,24, - 0,56,0,8,0,20,0,20,0,34,0,62,0,65,0,65, - 0,247,128,9,9,18,9,255,0,31,128,12,128,20,0,20, - 128,39,128,60,128,68,0,68,128,239,128,7,12,12,9,1, - 253,58,70,130,128,128,128,128,66,60,16,8,56,7,12,12, - 9,1,0,96,24,0,254,66,66,72,120,72,66,66,254,7, - 12,12,9,1,0,12,48,0,254,66,66,72,120,72,66,66, - 254,7,12,12,9,1,0,16,40,0,254,66,66,72,120,72, - 66,66,254,7,11,11,9,1,0,108,0,254,66,66,72,120, - 72,66,66,254,5,12,12,9,2,0,192,48,0,248,32,32, - 32,32,32,32,32,248,5,12,12,9,2,0,24,96,0,248, - 32,32,32,32,32,32,32,248,5,12,12,9,2,0,32,80, - 0,248,32,32,32,32,32,32,32,248,5,11,11,9,2,0, - 216,0,248,32,32,32,32,32,32,32,248,8,9,9,9,0, - 0,252,66,65,65,241,65,65,66,252,8,12,12,9,0,0, - 26,44,0,231,98,82,82,74,74,70,70,226,8,12,12,9, - 0,0,48,12,0,60,66,129,129,129,129,129,66,60,8,12, - 12,9,0,0,12,48,0,60,66,129,129,129,129,129,66,60, - 8,12,12,9,0,0,16,40,0,60,66,129,129,129,129,129, - 66,60,8,12,12,9,0,0,26,44,0,60,66,129,129,129, - 129,129,66,60,8,11,11,9,0,0,102,0,60,66,129,129, - 129,129,129,66,60,7,7,7,9,1,1,130,68,40,16,40, - 68,130,9,9,18,9,255,0,30,128,33,0,66,128,68,128, - 72,128,80,128,32,128,97,0,158,0,8,12,12,9,0,0, - 48,12,0,231,66,66,66,66,66,66,66,60,8,12,12,9, - 0,0,12,48,0,231,66,66,66,66,66,66,66,60,8,12, - 12,9,0,0,16,40,0,231,66,66,66,66,66,66,66,60, - 8,11,11,9,0,0,102,0,231,66,66,66,66,66,66,66, - 60,7,12,12,9,1,0,12,48,0,238,68,68,40,40,16, - 16,16,124,7,9,9,9,0,0,224,64,124,66,66,66,124, - 64,224,7,9,9,9,0,0,56,68,68,88,68,66,66,82, - 204,7,10,10,9,1,0,96,24,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,24,96,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,16,40,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,52,88,0,120,132,4,124,132,140, - 118,7,9,9,9,1,0,108,0,120,132,4,124,132,140,118, - 7,10,10,9,1,0,48,72,48,120,132,4,124,132,140,118, - 8,7,7,9,0,0,118,137,9,127,136,137,118,7,10,10, - 9,1,253,58,70,130,128,128,66,60,16,8,56,7,10,10, - 9,1,0,96,24,0,56,68,130,254,128,66,60,7,10,10, - 9,1,0,12,48,0,56,68,130,254,128,66,60,7,10,10, - 9,1,0,16,40,0,56,68,130,254,128,66,60,7,9,9, - 9,1,0,108,0,56,68,130,254,128,66,60,5,10,10,9, - 2,0,192,48,0,224,32,32,32,32,32,248,5,10,10,9, - 2,0,48,192,0,224,32,32,32,32,32,248,5,10,10,9, - 2,0,32,80,0,224,32,32,32,32,32,248,5,9,9,9, - 2,0,216,0,224,32,32,32,32,32,248,8,12,12,9,0, - 0,2,228,24,40,68,60,66,129,129,129,66,60,8,10,10, - 9,0,0,26,44,0,220,98,66,66,66,66,231,8,10,10, - 9,0,0,48,12,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,12,48,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,16,40,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,26,44,0,60,66,129,129,129,66,60,8,9,9, - 9,0,0,108,0,60,66,129,129,129,66,60,8,7,7,9, - 0,1,24,24,0,255,0,24,24,8,7,7,9,0,0,61, - 70,137,145,161,66,188,8,10,10,9,0,0,48,12,0,198, - 66,66,66,66,70,59,8,10,10,9,0,0,12,48,0,198, - 66,66,66,66,70,59,8,10,10,9,0,0,16,40,0,198, - 66,66,66,66,70,59,8,9,9,9,0,0,108,0,198,66, - 66,66,66,70,59,8,13,13,9,0,253,6,24,0,231,66, - 66,36,36,24,8,16,16,120,8,12,12,9,0,253,192,64, - 92,98,65,65,65,98,92,64,64,240,8,12,12,9,0,253, - 54,0,231,66,66,36,36,24,8,16,16,120}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w= 9 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=11 len=18 - Font Bounding box w=14 h=20 x=-3 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR10r[1443] U8G_FONT_SECTION("u8g_font_courR10r") = { - 0,14,20,253,251,9,1,224,3,220,32,127,253,11,253,10, - 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, - 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, - 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, - 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, - 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, - 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, - 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, - 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, - 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, - 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, - 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, - 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, - 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, - 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, - 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, - 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, - 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, - 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, - 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, - 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, - 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, - 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, - 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, - 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, - 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, - 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, - 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, - 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, - 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, - 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, - 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, - 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, - 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, - 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, - 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, - 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, - 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, - 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, - 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, - 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, - 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, - 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, - 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, - 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, - 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, - 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, - 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, - 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, - 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, - 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, - 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, - 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, - 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, - 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, - 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, - 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, - 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, - 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, - 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, - 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, - 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, - 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, - 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, - 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, - 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, - 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, - 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, - 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, - 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, - 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, - 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, - 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, - 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, - 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, - 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, - 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, - 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, - 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, - 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, - 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, - 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, - 100,152,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=14 len=28 - Font Bounding box w=15 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR12[3471] U8G_FONT_SECTION("u8g_font_courR12") = { - 0,15,24,253,250,10,2,12,4,92,32,255,253,14,253,11, - 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, - 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, - 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, - 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, - 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, - 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, - 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, - 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, - 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, - 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, - 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, - 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, - 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, - 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, - 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, - 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, - 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, - 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, - 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, - 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, - 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, - 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, - 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, - 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, - 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, - 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, - 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, - 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, - 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, - 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, - 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, - 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, - 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, - 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, - 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, - 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, - 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, - 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, - 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, - 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, - 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, - 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, - 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, - 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, - 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, - 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, - 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, - 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, - 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, - 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, - 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, - 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, - 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, - 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, - 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, - 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, - 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, - 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, - 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, - 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, - 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, - 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, - 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, - 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, - 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, - 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, - 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, - 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, - 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, - 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, - 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, - 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, - 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, - 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, - 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, - 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, - 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, - 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, - 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, - 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, - 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, - 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, - 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, - 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, - 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, - 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, - 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, - 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, - 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, - 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, - 3,10,1,3,96,146,12,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,10,0,1,1,10, - 10,10,4,253,128,128,0,128,128,128,128,128,128,128,5,10, - 10,10,2,0,32,32,120,136,128,128,136,112,32,32,8,10, - 10,10,1,0,28,34,32,32,248,32,32,32,65,255,7,7, - 7,10,1,1,130,124,68,68,68,124,130,9,10,20,10,0, - 0,227,128,65,0,34,0,34,0,20,0,62,0,8,0,62, - 0,8,0,62,0,1,12,12,10,4,254,128,128,128,128,128, - 0,0,128,128,128,128,128,9,12,24,10,0,255,31,0,33, - 0,33,0,112,0,140,0,131,0,96,128,24,128,7,0,66, - 0,66,0,124,0,4,2,2,10,3,8,144,144,10,10,20, - 10,0,0,30,0,33,0,64,128,142,64,144,64,144,64,142, - 64,64,128,33,0,30,0,5,7,7,10,2,3,112,8,120, - 136,120,0,248,7,7,7,10,1,0,18,36,72,144,72,36, - 18,7,4,4,10,1,2,254,2,2,2,7,1,1,10,1, - 4,254,10,10,20,10,0,0,30,0,33,0,64,128,156,64, - 146,64,156,64,146,64,64,128,33,0,30,0,5,1,1,10, - 2,8,248,5,5,5,10,2,6,112,136,136,136,112,7,9, - 9,10,1,0,16,16,16,254,16,16,16,0,254,4,6,6, - 10,2,5,96,144,32,64,144,240,4,6,6,10,3,5,96, - 144,32,16,144,96,3,3,3,10,4,8,32,64,128,8,10, - 10,10,1,253,198,66,66,66,66,70,123,64,64,64,7,12, - 12,10,1,255,62,84,148,148,148,84,52,20,20,20,20,62, - 2,2,2,10,4,4,192,192,3,4,4,10,3,253,64,64, - 32,224,5,6,6,10,2,5,32,224,32,32,32,248,5,7, - 7,10,2,3,112,136,136,136,112,0,248,7,7,7,10,1, - 0,144,72,36,18,36,72,144,10,11,22,10,0,0,32,0, - 224,64,32,128,33,0,34,0,252,128,9,128,18,128,36,128, - 71,192,0,128,10,11,22,10,0,0,32,0,224,64,32,128, - 33,0,34,0,253,128,10,64,16,128,33,0,66,64,3,192, - 10,11,22,10,0,0,96,0,144,64,32,128,17,0,146,0, - 100,128,9,128,18,128,36,128,71,192,0,128,6,10,10,10, - 1,253,16,16,0,16,16,96,128,132,132,120,9,14,28,10, - 0,0,32,0,16,0,8,0,0,0,120,0,20,0,20,0, - 34,0,34,0,34,0,62,0,65,0,65,0,227,128,9,14, - 28,10,0,0,4,0,8,0,16,0,0,0,120,0,20,0, - 20,0,34,0,34,0,34,0,62,0,65,0,65,0,227,128, - 9,14,28,10,0,0,8,0,20,0,34,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,13,26,10,0,0,50,0,76,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,13,26,10,0,0,36,0,36,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,14,28,10,0,0,24,0,36,0,36,0,24,0, - 120,0,20,0,20,0,34,0,34,0,34,0,62,0,65,0, - 65,0,227,128,9,10,20,10,0,0,127,128,40,128,40,128, - 74,0,78,0,122,0,72,128,136,128,136,128,223,128,8,13, - 13,10,1,253,29,99,65,128,128,128,128,65,99,28,16,8, - 56,7,14,14,10,1,0,32,16,8,0,254,66,66,72,120, - 72,64,66,66,254,7,14,14,10,1,0,4,8,16,0,254, - 66,66,72,120,72,64,66,66,254,7,14,14,10,1,0,16, - 40,68,0,254,66,66,72,120,72,64,66,66,254,7,13,13, - 10,1,0,36,36,0,254,66,66,72,120,72,64,66,66,254, - 7,14,14,10,1,0,32,16,8,0,254,16,16,16,16,16, - 16,16,16,254,7,14,14,10,1,0,8,16,32,0,254,16, - 16,16,16,16,16,16,16,254,7,14,14,10,1,0,16,40, - 68,0,254,16,16,16,16,16,16,16,16,254,7,13,13,10, - 1,0,68,68,0,254,16,16,16,16,16,16,16,16,254,8, - 10,10,10,1,0,248,70,66,65,241,65,65,66,70,248,9, - 13,26,10,0,0,25,0,38,0,0,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,243,0,8, - 14,14,10,1,0,32,16,8,0,60,66,66,129,129,129,129, - 66,66,60,8,14,14,10,1,0,4,8,16,0,60,66,66, - 129,129,129,129,66,66,60,8,14,14,10,1,0,8,20,34, - 0,60,66,66,129,129,129,129,66,66,60,8,13,13,10,1, - 0,50,76,0,60,66,66,129,129,129,129,66,66,60,8,13, - 13,10,1,0,36,36,0,60,66,66,129,129,129,129,66,66, - 60,7,7,7,10,1,1,130,68,40,16,40,68,130,8,10, - 10,10,1,0,61,66,66,133,137,145,161,66,66,188,9,14, - 28,10,0,0,16,0,8,0,4,0,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,14,28,10,0,0,2,0,4,0,8,0,0,0,247,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 28,0,9,14,28,10,0,0,8,0,20,0,34,0,0,0, - 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, - 34,0,28,0,9,13,26,10,0,0,34,0,34,0,0,0, - 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, - 34,0,28,0,9,14,28,10,0,0,2,0,4,0,8,0, - 0,0,227,128,65,0,34,0,34,0,20,0,8,0,8,0, - 8,0,8,0,62,0,8,10,10,10,1,0,224,64,124,66, - 65,66,124,64,64,224,7,11,11,10,1,0,56,68,68,72, - 88,68,66,66,66,82,204,7,11,11,10,1,0,32,16,8, - 0,56,68,4,124,132,132,122,7,11,11,10,1,0,4,8, - 16,0,56,68,4,124,132,132,122,7,11,11,10,1,0,16, - 40,68,0,56,68,4,124,132,132,122,7,10,10,10,1,0, - 50,76,0,56,68,4,124,132,132,122,7,10,10,10,1,0, - 36,36,0,56,68,4,124,132,132,122,7,12,12,10,1,0, - 24,36,36,24,0,56,68,4,124,132,132,122,9,7,14,10, - 0,0,55,0,72,128,8,128,127,128,136,0,136,128,119,0, - 7,10,10,10,1,253,58,70,130,128,128,66,60,16,8,56, - 7,11,11,10,1,0,32,16,8,0,56,68,130,254,128,66, - 60,7,11,11,10,1,0,4,8,16,0,56,68,130,254,128, - 66,60,7,11,11,10,1,0,16,40,68,0,56,68,130,254, - 128,66,60,7,10,10,10,1,0,36,36,0,56,68,130,254, - 128,66,60,7,11,11,10,1,0,32,16,8,0,112,16,16, - 16,16,16,254,7,11,11,10,1,0,8,16,32,0,112,16, - 16,16,16,16,254,7,11,11,10,1,0,16,40,68,0,112, - 16,16,16,16,16,254,7,10,10,10,1,0,72,72,0,112, - 16,16,16,16,16,254,7,11,11,10,1,0,230,24,104,4, - 60,66,130,130,130,68,56,8,10,10,10,1,0,50,76,0, - 220,98,66,66,66,66,231,7,11,11,10,1,0,32,16,8, - 0,56,68,130,130,130,68,56,7,11,11,10,1,0,8,16, - 32,0,56,68,130,130,130,68,56,7,11,11,10,1,0,16, - 40,68,0,56,68,130,130,130,68,56,7,10,10,10,1,0, - 50,76,0,56,68,130,130,130,68,56,7,10,10,10,1,0, - 68,68,0,56,68,130,130,130,68,56,8,7,7,10,1,1, - 24,24,0,255,0,24,24,7,9,9,10,1,255,2,58,68, - 138,146,162,68,184,128,8,11,11,10,1,0,32,16,8,0, - 198,66,66,66,66,70,59,8,11,11,10,1,0,4,8,16, - 0,198,66,66,66,66,70,59,8,11,11,10,1,0,16,40, - 68,0,198,66,66,66,66,70,59,8,10,10,10,1,0,36, - 36,0,198,66,66,66,66,70,59,9,14,28,10,0,253,2, - 0,4,0,8,0,0,0,227,128,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,120,0,8,14,14,10,1, - 253,192,64,64,64,92,98,65,65,65,98,92,64,64,240,9, - 13,26,10,0,253,18,0,18,0,0,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,16,0,120,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=13 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 - Font Bounding box w=15 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR12r[1592] U8G_FONT_SECTION("u8g_font_courR12r") = { - 0,15,24,253,250,10,2,12,4,92,32,127,253,12,253,11, - 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, - 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, - 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, - 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, - 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, - 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, - 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, - 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, - 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, - 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, - 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, - 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, - 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, - 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, - 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, - 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, - 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, - 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, - 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, - 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, - 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, - 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, - 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, - 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, - 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, - 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, - 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, - 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, - 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, - 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, - 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, - 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, - 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, - 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, - 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, - 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, - 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, - 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, - 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, - 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, - 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, - 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, - 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, - 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, - 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, - 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, - 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, - 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, - 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, - 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, - 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, - 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, - 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, - 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, - 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, - 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, - 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, - 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, - 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, - 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, - 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, - 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, - 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, - 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, - 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, - 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, - 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, - 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, - 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, - 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, - 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, - 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, - 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, - 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, - 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, - 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, - 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, - 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, - 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, - 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, - 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, - 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, - 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, - 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, - 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, - 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, - 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, - 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, - 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, - 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, - 3,10,1,3,96,146,12,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=11 h=16 x= 5 y=10 dx=11 dy= 0 ascent=15 len=32 - Font Bounding box w=16 h=26 x=-3 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR14[4276] U8G_FONT_SECTION("u8g_font_courR14") = { - 0,16,26,253,249,11,2,74,5,74,32,255,252,15,252,12, - 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, - 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, - 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, - 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, - 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, - 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, - 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, - 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, - 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, - 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, - 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, - 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, - 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, - 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, - 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, - 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, - 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, - 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, - 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, - 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, - 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, - 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, - 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, - 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, - 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, - 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, - 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, - 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, - 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, - 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, - 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, - 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, - 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, - 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, - 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, - 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, - 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, - 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, - 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, - 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, - 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, - 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, - 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, - 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, - 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, - 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, - 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, - 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, - 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, - 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, - 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, - 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, - 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, - 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, - 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, - 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, - 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, - 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, - 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, - 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, - 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, - 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, - 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, - 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, - 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, - 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, - 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, - 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, - 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, - 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, - 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, - 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, - 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, - 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, - 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, - 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, - 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, - 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, - 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, - 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, - 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, - 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, - 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, - 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, - 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, - 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, - 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, - 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, - 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, - 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, - 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, - 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, - 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, - 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, - 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, - 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, - 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, - 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, - 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, - 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, - 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, - 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, - 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, - 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, - 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, - 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, - 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, - 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, - 96,153,6,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,11,0,1,2,12,12,11,4,252, - 192,192,0,0,128,128,192,192,192,192,192,192,6,12,12,11, - 2,0,16,16,16,60,68,132,128,128,68,56,16,16,8,11, - 11,11,2,0,28,34,32,32,16,252,16,32,33,65,126,6, - 7,7,11,2,2,132,120,132,132,132,120,132,9,11,22,11, - 1,0,227,128,65,0,34,0,34,0,20,0,20,0,127,0, - 8,0,127,0,8,0,62,0,1,15,15,11,5,253,128,128, - 128,128,128,128,0,0,0,128,128,128,128,128,128,7,14,14, - 11,2,254,62,66,66,64,112,140,130,98,28,6,130,130,132, - 252,4,2,2,11,3,10,144,144,11,11,22,11,0,0,31, - 0,96,192,79,64,145,32,160,32,160,32,160,32,145,32,78, - 64,96,192,31,0,6,8,8,11,2,3,112,8,120,136,152, - 236,0,252,10,8,16,11,1,0,24,192,49,128,99,0,198, - 0,198,0,99,0,49,128,24,192,9,4,8,11,1,3,255, - 128,0,128,0,128,0,128,8,1,1,11,1,5,255,11,11, - 22,11,0,0,31,0,96,192,94,64,145,32,145,32,158,32, - 148,32,146,32,81,64,96,128,31,0,5,1,1,11,3,10, - 248,5,5,5,11,3,6,112,136,136,136,112,9,9,18,11, - 1,1,8,0,8,0,8,0,255,128,8,0,8,0,8,0, - 0,0,255,128,5,7,7,11,3,5,112,136,8,16,32,64, - 248,5,7,7,11,3,5,112,136,8,48,8,136,112,3,3, - 3,11,4,9,32,64,128,9,12,24,11,1,252,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,125,128,64,0,64, - 0,64,0,64,0,8,14,14,11,1,254,63,74,138,138,138, - 74,58,10,10,10,10,10,10,59,2,2,2,11,4,5,192, - 192,3,3,3,11,4,253,64,32,192,5,7,7,11,3,5, - 32,224,32,32,32,32,248,6,8,8,11,2,3,120,132,132, - 132,132,120,0,252,10,8,16,11,0,0,198,0,99,0,49, - 128,24,192,24,192,49,128,99,0,198,0,11,12,24,11,0, - 0,32,0,224,64,32,128,33,0,33,0,34,64,252,192,9, - 64,10,64,19,224,32,64,0,224,11,12,24,11,0,0,32, - 0,224,64,32,128,33,0,33,0,34,192,253,32,8,32,8, - 64,16,128,33,0,3,224,11,12,24,11,0,0,112,0,136, - 64,8,128,49,0,9,0,138,64,116,192,9,64,10,64,19, - 224,32,64,0,224,6,11,11,11,2,253,24,24,0,16,16, - 112,128,128,132,132,120,11,15,30,11,0,0,16,0,8,0, - 4,0,0,0,60,0,4,0,10,0,10,0,17,0,17,0, - 32,128,63,128,64,64,64,64,241,224,11,15,30,11,0,0, - 1,0,2,0,4,0,0,0,60,0,4,0,10,0,10,0, - 17,0,17,0,32,128,63,128,64,64,64,64,241,224,11,15, - 30,11,0,0,12,0,18,0,33,0,0,0,60,0,4,0, - 10,0,10,0,17,0,17,0,32,128,63,128,64,64,64,64, - 241,224,11,14,28,11,0,0,25,0,38,0,0,0,60,0, - 4,0,10,0,10,0,17,0,17,0,32,128,63,128,64,64, - 64,64,241,224,11,14,28,11,0,0,18,0,18,0,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,11,15,30,11,0,0,12,0,18,0, - 18,0,12,0,60,0,4,0,10,0,10,0,17,0,17,0, - 32,128,63,128,64,64,64,64,241,224,11,11,22,11,255,0, - 31,224,6,32,10,32,10,0,18,64,19,192,62,64,34,0, - 66,32,66,32,231,224,9,14,28,11,1,253,30,128,97,128, - 64,128,128,0,128,0,128,0,128,0,128,0,64,128,97,0, - 30,0,8,0,4,0,24,0,8,15,15,11,1,0,32,16, - 8,0,255,65,65,65,72,120,72,65,65,65,255,8,15,15, - 11,1,0,4,8,16,0,255,65,65,65,72,120,72,65,65, - 65,255,8,15,15,11,1,0,24,36,66,0,255,65,65,65, - 72,120,72,65,65,65,255,8,14,14,11,1,0,36,36,0, - 255,65,65,65,72,120,72,65,65,65,255,7,15,15,11,2, - 0,32,16,8,0,254,16,16,16,16,16,16,16,16,16,254, - 7,15,15,11,2,0,8,16,32,0,254,16,16,16,16,16, - 16,16,16,16,254,7,15,15,11,2,0,24,36,66,0,254, - 16,16,16,16,16,16,16,16,16,254,7,14,14,11,2,0, - 36,36,0,254,16,16,16,16,16,16,16,16,16,254,8,11, - 11,11,1,0,252,66,65,65,65,241,65,65,65,66,252,9, - 14,28,11,1,0,25,0,38,0,0,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,15,30,11,1,0,16,0,8,0,4,0,0,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,9,15,30,11,1,0,4,0,8,0,16, - 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, - 128,128,128,65,0,99,0,28,0,9,15,30,11,1,0,12, - 0,18,0,33,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, - 11,1,0,25,0,38,0,0,0,28,0,99,0,65,0,128, - 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, - 14,28,11,1,0,18,0,18,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,9,18,11,1,1,128,128,65,0,34,0,20,0,8, - 0,20,0,34,0,65,0,128,128,11,11,22,11,0,0,14, - 32,49,192,32,128,65,64,66,64,68,64,72,64,80,64,32, - 128,113,128,142,0,10,15,30,11,0,0,16,0,8,0,4, - 0,0,0,243,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,10,15,30,11,0,0,2, - 0,4,0,8,0,0,0,243,192,64,128,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,33,0,30,0,10,15,30, - 11,0,0,12,0,18,0,33,0,0,0,243,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,33,0,30, - 0,10,14,28,11,0,0,18,0,18,0,0,0,243,192,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,9,15,30,11,1,0,2,0,4,0,8,0,0, - 0,227,128,65,0,34,0,34,0,20,0,20,0,8,0,8, - 0,8,0,8,0,62,0,9,11,22,11,1,0,224,0,64, - 0,126,0,65,0,64,128,64,128,65,0,126,0,64,0,64, - 0,224,0,8,11,11,11,1,0,60,66,66,68,88,70,65, - 65,65,73,230,9,12,24,11,1,0,32,0,16,0,8,0, - 0,0,60,0,66,0,2,0,126,0,130,0,130,0,134,0, - 123,128,9,12,24,11,1,0,4,0,8,0,16,0,0,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,24,0,36,0,66,0,0,0,60,0, - 66,0,2,0,126,0,130,0,130,0,134,0,123,128,9,11, - 22,11,1,0,50,0,76,0,0,0,60,0,66,0,2,0, - 126,0,130,0,130,0,134,0,123,128,9,11,22,11,1,0, - 36,0,36,0,0,0,60,0,66,0,2,0,126,0,130,0, - 130,0,134,0,123,128,9,13,26,11,1,0,24,0,36,0, - 36,0,24,0,0,0,60,0,66,0,2,0,126,0,130,0, - 130,0,134,0,123,128,11,8,16,11,0,0,113,128,138,64, - 4,32,127,224,132,0,132,0,138,32,113,192,8,11,11,11, - 1,253,61,67,129,128,128,128,67,60,16,8,48,8,12,12, - 11,1,0,32,16,8,0,60,66,129,255,128,128,67,60,8, - 12,12,11,1,0,2,4,8,0,60,66,129,255,128,128,67, - 60,8,12,12,11,1,0,24,36,66,0,60,66,129,255,128, - 128,67,60,8,11,11,11,1,0,36,36,0,60,66,129,255, - 128,128,67,60,7,12,12,11,2,0,32,16,8,0,112,16, - 16,16,16,16,16,254,7,12,12,11,2,0,8,16,32,0, - 112,16,16,16,16,16,16,254,7,12,12,11,2,0,48,72, - 132,0,112,16,16,16,16,16,16,254,7,11,11,11,2,0, - 72,72,0,112,16,16,16,16,16,16,254,8,12,12,11,1, - 0,114,140,52,66,62,67,129,129,129,129,66,60,9,11,22, - 11,1,0,50,0,76,0,0,0,222,0,97,0,65,0,65, - 0,65,0,65,0,65,0,227,128,8,12,12,11,1,0,32, - 16,8,0,60,66,129,129,129,129,66,60,8,12,12,11,1, - 0,4,8,16,0,60,66,129,129,129,129,66,60,8,12,12, - 11,1,0,24,36,66,0,60,66,129,129,129,129,66,60,8, - 11,11,11,1,0,50,76,0,60,66,129,129,129,129,66,60, - 8,11,11,11,1,0,36,36,0,60,66,129,129,129,129,66, - 60,8,9,9,11,1,1,24,24,0,0,255,0,0,24,24, - 8,8,8,11,1,0,61,66,133,137,145,161,66,188,9,12, - 24,11,1,0,32,0,16,0,8,0,0,0,195,0,65,0, - 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,11, - 1,0,2,0,4,0,8,0,0,0,195,0,65,0,65,0, - 65,0,65,0,65,0,67,0,61,128,9,12,24,11,1,0, - 24,0,36,0,66,0,0,0,195,0,65,0,65,0,65,0, - 65,0,65,0,67,0,61,128,9,11,22,11,1,0,36,0, - 36,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, - 67,0,61,128,9,16,32,11,1,252,2,0,4,0,8,0, - 0,0,227,128,65,0,65,0,34,0,34,0,20,0,20,0, - 8,0,8,0,16,0,16,0,248,0,9,16,32,11,1,252, - 192,0,64,0,64,0,64,0,94,0,97,0,64,128,64,128, - 64,128,64,128,97,0,94,0,64,0,64,0,64,0,240,0, - 9,15,30,11,1,252,36,0,36,0,0,0,227,128,65,0, - 65,0,34,0,34,0,20,0,20,0,8,0,8,0,16,0, - 16,0,248,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=11 h=16 x= 5 y= 9 dx=11 dy= 0 ascent=13 len=26 - Font Bounding box w=16 h=26 x=-3 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR14r[1988] U8G_FONT_SECTION("u8g_font_courR14r") = { - 0,16,26,253,249,11,2,74,5,74,32,127,252,13,252,12, - 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, - 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, - 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, - 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, - 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, - 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, - 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, - 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, - 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, - 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, - 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, - 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, - 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, - 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, - 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, - 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, - 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, - 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, - 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, - 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, - 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, - 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, - 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, - 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, - 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, - 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, - 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, - 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, - 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, - 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, - 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, - 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, - 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, - 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, - 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, - 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, - 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, - 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, - 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, - 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, - 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, - 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, - 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, - 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, - 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, - 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, - 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, - 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, - 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, - 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, - 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, - 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, - 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, - 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, - 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, - 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, - 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, - 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, - 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, - 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, - 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, - 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, - 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, - 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, - 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, - 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, - 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, - 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, - 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, - 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, - 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, - 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, - 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, - 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, - 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, - 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, - 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, - 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, - 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, - 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, - 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, - 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, - 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, - 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, - 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, - 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, - 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, - 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, - 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, - 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, - 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, - 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, - 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, - 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, - 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, - 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, - 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, - 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, - 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, - 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, - 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, - 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, - 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, - 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, - 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, - 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, - 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, - 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, - 96,153,6,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 15 - Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=19 len=42 - Font Bounding box w=23 h=32 x=-5 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR18[6152] U8G_FONT_SECTION("u8g_font_courR18") = { - 0,23,32,251,248,14,3,161,7,151,32,255,251,19,251,16, - 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, - 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, - 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, - 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, - 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, - 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, - 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, - 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, - 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, - 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, - 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, - 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, - 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, - 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, - 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, - 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, - 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, - 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, - 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, - 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, - 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, - 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, - 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, - 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, - 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, - 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, - 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, - 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, - 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, - 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, - 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, - 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, - 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, - 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, - 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, - 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, - 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, - 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, - 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, - 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, - 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, - 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, - 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, - 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, - 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, - 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, - 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, - 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, - 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, - 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, - 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, - 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, - 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, - 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, - 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, - 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, - 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, - 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, - 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, - 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, - 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, - 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, - 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, - 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, - 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, - 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, - 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, - 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, - 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, - 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, - 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, - 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, - 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, - 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, - 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, - 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, - 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, - 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, - 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, - 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, - 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, - 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, - 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, - 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, - 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, - 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, - 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, - 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, - 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, - 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, - 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, - 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, - 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, - 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, - 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, - 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, - 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, - 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, - 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, - 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, - 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, - 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, - 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, - 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, - 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, - 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, - 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, - 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, - 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, - 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, - 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, - 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, - 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, - 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, - 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, - 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, - 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, - 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, - 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, - 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, - 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, - 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, - 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, - 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, - 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, - 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, - 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, - 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, - 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, - 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, - 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, - 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, - 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, - 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, - 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, - 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, - 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, - 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, - 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, - 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, - 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, - 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, - 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, - 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, - 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, - 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, - 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, - 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, - 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, - 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, - 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, - 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, - 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, - 192,12,3,6,15,1,6,60,48,102,96,195,192,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,15,0,1,2,16,16,15,6,251,192,192,0,0,0,128, - 128,128,192,192,192,192,192,192,192,192,8,16,16,15,3,0, - 8,8,8,8,29,99,65,128,128,128,64,99,28,8,8,8, - 10,14,28,15,2,0,14,0,17,128,32,0,32,0,32,0, - 32,0,254,0,16,0,16,0,16,0,16,0,32,64,64,64, - 255,128,10,10,20,15,2,2,128,64,94,128,33,0,64,128, - 64,128,64,128,64,128,33,0,94,128,128,64,11,14,28,15, - 2,0,241,224,64,64,32,128,32,128,17,0,17,0,10,0, - 127,192,4,0,4,0,127,192,4,0,4,0,63,128,1,19, - 19,15,7,253,128,128,128,128,128,128,128,128,0,0,0,128, - 128,128,128,128,128,128,128,10,18,36,15,2,254,15,192,16, - 64,32,64,32,64,32,0,112,0,140,0,130,0,65,0,32, - 128,16,64,12,64,3,128,1,0,129,0,129,0,130,0,252, - 0,7,2,2,15,4,12,198,198,13,13,26,15,1,1,15, - 128,48,96,64,16,70,144,137,136,144,136,144,8,144,8,136, - 136,71,16,64,16,48,96,15,128,7,9,9,15,4,5,120, - 132,60,68,132,140,118,0,254,12,11,22,15,1,0,6,48, - 12,96,24,192,49,128,99,0,198,0,99,0,49,128,24,192, - 12,96,6,48,11,4,8,15,2,5,255,224,0,32,0,32, - 0,32,10,1,2,15,2,7,255,192,13,13,26,15,1,1, - 15,128,48,96,64,16,79,16,136,136,136,136,143,8,137,8, - 136,136,72,144,64,16,48,96,15,128,7,1,1,15,4,12, - 254,7,7,7,15,4,9,56,68,130,130,130,68,56,11,13, - 26,15,2,1,4,0,4,0,4,0,4,0,4,0,255,224, - 4,0,4,0,4,0,4,0,4,0,0,0,255,224,6,9, - 9,15,4,7,56,68,132,4,8,16,32,68,252,6,9,9, - 15,4,7,120,132,4,8,56,4,4,132,120,5,4,4,15, - 5,12,24,48,96,192,12,16,32,15,1,251,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,48,160, - 47,48,32,0,32,0,32,0,32,0,32,0,11,18,36,15, - 2,254,31,224,100,128,196,128,196,128,196,128,196,128,196,128, - 100,128,28,128,4,128,4,128,4,128,4,128,4,128,4,128, - 4,128,4,128,60,224,3,3,3,15,6,6,224,224,224,4, - 5,5,15,5,252,32,32,16,144,96,7,9,9,15,4,7, - 48,208,16,16,16,16,16,16,254,7,9,9,15,4,5,56, - 68,130,130,130,68,56,0,254,12,11,22,15,1,0,198,0, - 99,0,49,128,24,192,12,96,6,48,12,96,24,192,49,128, - 99,0,198,0,14,16,32,15,0,0,48,0,208,0,16,8, - 16,16,16,32,16,32,16,64,16,152,255,40,2,72,4,72, - 4,136,9,8,17,252,0,8,0,28,14,16,32,15,0,0, - 48,0,208,0,16,8,16,16,16,32,16,32,16,64,16,184, - 255,68,2,132,4,4,4,8,8,16,16,32,0,68,0,252, - 14,16,32,15,0,0,120,0,132,0,4,8,8,16,56,32, - 4,32,4,64,132,152,121,40,2,72,4,72,4,136,9,8, - 17,252,0,8,0,28,8,14,14,15,3,253,24,24,0,0, - 8,8,48,64,128,128,128,129,65,62,13,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,63,0,5,0,8,128, - 8,128,8,128,16,64,16,64,16,64,63,224,32,32,32,32, - 64,16,64,16,240,120,13,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,63,0,5,0,8,128,8,128,8,128, - 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, - 240,120,13,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, - 16,64,63,224,32,32,32,32,64,16,64,16,240,120,13,18, - 36,15,1,0,28,64,54,192,35,128,0,0,63,0,5,0, - 8,128,8,128,8,128,16,64,16,64,16,64,63,224,32,32, - 32,32,64,16,64,16,240,120,13,18,36,15,1,0,24,192, - 24,192,0,0,0,0,63,0,5,0,8,128,8,128,8,128, - 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, - 240,120,13,19,38,15,1,0,7,0,8,128,8,128,8,128, - 7,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, - 16,64,63,224,32,32,32,32,64,16,64,16,240,120,15,14, - 28,15,255,0,15,254,2,130,4,130,4,130,4,136,8,136, - 8,248,8,136,31,136,16,130,16,130,32,130,32,130,243,254, - 11,18,36,15,2,252,15,32,48,224,96,96,64,32,128,0, - 128,0,128,0,128,0,128,0,128,0,64,32,96,96,48,192, - 15,0,4,0,2,0,18,0,12,0,12,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,255,224,32,32,32,32, - 32,32,34,0,34,0,62,0,34,0,34,0,32,16,32,16, - 32,16,32,16,255,240,12,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,255,224,32,32,32,32,32,32,34,0, - 34,0,62,0,34,0,34,0,32,16,32,16,32,16,32,16, - 255,240,12,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,255,224,32,32,32,32,32,32,34,0,34,0,62,0, - 34,0,34,0,32,16,32,16,32,16,32,16,255,240,12,18, - 36,15,1,0,25,128,25,128,0,0,0,0,255,224,32,32, - 32,32,32,32,34,0,34,0,62,0,34,0,34,0,32,16, - 32,16,32,16,32,16,255,240,9,19,38,15,3,0,96,0, - 48,0,24,0,12,0,0,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,255,128,9,19,38,15,3,0,3,0,6,0,12,0, - 24,0,0,0,255,128,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, - 9,19,38,15,3,0,24,0,60,0,102,0,195,0,0,0, - 255,128,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,255,128,9,18,36,15, - 3,0,99,0,99,0,0,0,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,13,14,28,15,0,0,127,192,32,48, - 32,16,32,8,32,8,32,8,252,8,32,8,32,8,32,8, - 32,8,32,16,32,48,127,192,14,18,36,15,0,0,14,32, - 27,96,17,192,0,0,240,252,48,16,40,16,36,16,36,16, - 34,16,34,16,33,16,33,16,32,144,32,144,32,80,32,48, - 252,48,13,19,38,15,1,0,24,0,12,0,6,0,3,0, - 0,0,15,128,48,96,96,48,64,16,128,8,128,8,128,8, - 128,8,128,8,128,8,64,16,96,48,48,96,15,128,13,19, - 38,15,1,0,0,96,0,192,1,128,3,0,0,0,15,128, - 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, - 128,8,64,16,96,48,48,96,15,128,13,19,38,15,1,0, - 3,0,7,128,12,192,24,96,0,0,15,128,48,96,96,48, - 64,16,128,8,128,8,128,8,128,8,128,8,128,8,64,16, - 96,48,48,96,15,128,13,18,36,15,1,0,14,32,27,96, - 17,192,0,0,15,128,48,96,96,48,64,16,128,8,128,8, - 128,8,128,8,128,8,128,8,64,16,96,48,48,96,15,128, - 13,18,36,15,1,0,24,192,24,192,0,0,0,0,15,128, - 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, - 128,8,64,16,96,48,48,96,15,128,11,11,22,15,2,2, - 128,32,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,128,32,14,15,30,15,0,0,0,4,7,200, - 24,48,48,48,32,72,64,136,64,136,65,8,66,8,68,8, - 72,8,48,16,48,48,88,96,135,128,12,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,249,240,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,32,64,31,128,12,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,249,240,64,32,64,32,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,32,64, - 31,128,12,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,249,240,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,32,64,31,128,12,18, - 36,15,1,0,25,128,25,128,0,0,0,0,249,240,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,32,32,64,31,128,13,19,38,15,1,0,0,192, - 1,128,3,0,6,0,0,0,240,120,32,32,16,64,16,64, - 8,128,8,128,5,0,2,0,2,0,2,0,2,0,2,0, - 2,0,31,192,11,14,28,15,2,0,248,0,32,0,32,0, - 63,128,32,64,32,32,32,32,32,32,32,32,32,64,63,128, - 32,0,32,0,248,0,11,16,32,15,2,0,14,0,17,0, - 32,128,32,128,32,128,32,128,33,0,39,0,32,192,32,64, - 32,32,32,32,32,32,36,32,36,64,243,128,11,16,32,15, - 2,0,48,0,24,0,12,0,6,0,0,0,30,0,97,0, - 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, - 126,224,11,16,32,15,2,0,1,128,3,0,6,0,12,0, - 0,0,30,0,97,0,0,128,0,128,0,128,63,128,64,128, - 128,128,128,128,129,128,126,224,11,16,32,15,2,0,12,0, - 30,0,51,0,97,128,0,0,30,0,97,0,0,128,0,128, - 0,128,63,128,64,128,128,128,128,128,129,128,126,224,11,15, - 30,15,2,0,56,128,109,128,71,0,0,0,30,0,97,0, - 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, - 126,224,11,15,30,15,2,0,49,128,49,128,0,0,0,0, - 30,0,97,0,0,128,0,128,0,128,63,128,64,128,128,128, - 128,128,129,128,126,224,11,17,34,15,2,0,14,0,17,0, - 17,0,17,0,14,0,0,0,30,0,97,0,0,128,0,128, - 0,128,63,128,64,128,128,128,128,128,129,128,126,224,15,11, - 22,15,0,0,28,112,98,140,65,4,1,2,1,2,63,254, - 65,0,129,0,129,2,130,132,124,120,11,15,30,15,2,252, - 31,64,96,192,64,64,128,64,128,0,128,0,128,0,128,0, - 64,96,96,192,31,0,4,0,2,0,18,0,12,0,11,16, - 32,15,2,0,48,0,24,0,12,0,6,0,0,0,31,0, - 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, - 96,96,31,128,11,16,32,15,2,0,1,128,3,0,6,0, - 12,0,0,0,31,0,96,192,64,64,128,32,128,32,255,224, - 128,0,128,0,64,0,96,96,31,128,11,16,32,15,2,0, - 12,0,30,0,51,0,97,128,0,0,31,0,96,192,64,64, - 128,32,128,32,255,224,128,0,128,0,64,0,96,96,31,128, - 11,15,30,15,2,0,49,128,49,128,0,0,0,0,31,0, - 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, - 96,96,31,128,9,16,32,15,3,0,96,0,48,0,24,0, - 12,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,255,128,9,16,32,15,3,0, - 3,0,6,0,12,0,24,0,0,0,120,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, - 9,16,32,15,3,0,24,0,60,0,102,0,195,0,0,0, - 120,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,9,15,30,15,3,0,99,0,99,0, - 0,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,255,128,12,16,32,15,1,0, - 124,192,135,0,13,0,48,128,0,64,15,224,48,96,32,48, - 64,16,64,16,64,16,64,16,64,16,32,32,48,96,15,128, - 13,15,30,15,1,0,28,64,54,192,35,128,0,0,231,128, - 40,64,48,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,248,248,11,16,32,15,2,0,24,0,12,0,6,0, - 3,0,0,0,31,0,96,192,64,64,128,32,128,32,128,32, - 128,32,128,32,64,64,96,192,31,0,11,16,32,15,2,0, - 1,128,3,0,6,0,12,0,0,0,31,0,96,192,64,64, - 128,32,128,32,128,32,128,32,128,32,64,64,96,192,31,0, - 11,16,32,15,2,0,12,0,30,0,51,0,97,128,0,0, - 31,0,96,192,64,64,128,32,128,32,128,32,128,32,128,32, - 64,64,96,192,31,0,11,15,30,15,2,0,28,64,54,192, - 35,128,0,0,31,0,96,192,64,64,128,32,128,32,128,32, - 128,32,128,32,64,64,96,192,31,0,11,15,30,15,2,0, - 49,128,49,128,0,0,0,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,11,9, - 18,15,2,3,14,0,14,0,0,0,0,0,255,224,0,0, - 0,0,14,0,14,0,12,12,24,15,1,0,0,16,15,160, - 48,64,32,160,65,16,66,16,68,16,72,16,80,16,32,32, - 80,96,143,128,12,16,32,15,1,0,24,0,12,0,6,0, - 3,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,32,96,16,160,15,48,12,16,32,15,1,0, - 0,192,1,128,3,0,6,0,0,0,224,224,32,32,32,32, - 32,32,32,32,32,32,32,32,32,32,32,96,16,160,15,48, - 12,16,32,15,1,0,6,0,15,0,25,128,48,192,0,0, - 224,224,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,96,16,160,15,48,12,15,30,15,1,0,25,128,25,128, - 0,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,32,96,16,160,15,48,12,21,42,15,1,251, - 0,192,1,128,3,0,6,0,0,0,240,240,64,32,64,32, - 32,64,32,64,32,128,16,128,17,0,9,0,10,0,6,0, - 4,0,4,0,8,0,8,0,254,0,13,21,42,15,1,251, - 224,0,32,0,32,0,32,0,32,0,39,192,56,48,48,16, - 32,8,32,8,32,8,32,8,32,8,48,16,56,48,39,192, - 32,0,32,0,32,0,32,0,252,0,12,20,40,15,1,251, - 25,128,25,128,0,0,0,0,240,240,64,32,64,32,32,64, - 32,64,32,128,16,128,17,0,9,0,10,0,6,0,4,0, - 4,0,8,0,8,0,254,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 15 - Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=17 len=40 - Font Bounding box w=23 h=32 x=-5 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR18r[2862] U8G_FONT_SECTION("u8g_font_courR18r") = { - 0,23,32,251,248,14,3,161,7,151,32,127,251,17,251,16, - 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, - 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, - 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, - 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, - 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, - 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, - 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, - 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, - 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, - 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, - 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, - 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, - 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, - 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, - 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, - 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, - 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, - 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, - 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, - 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, - 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, - 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, - 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, - 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, - 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, - 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, - 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, - 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, - 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, - 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, - 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, - 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, - 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, - 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, - 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, - 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, - 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, - 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, - 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, - 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, - 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, - 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, - 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, - 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, - 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, - 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, - 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, - 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, - 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, - 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, - 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, - 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, - 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, - 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, - 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, - 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, - 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, - 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, - 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, - 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, - 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, - 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, - 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, - 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, - 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, - 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, - 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, - 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, - 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, - 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, - 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, - 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, - 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, - 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, - 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, - 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, - 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, - 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, - 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, - 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, - 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, - 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, - 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, - 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, - 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, - 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, - 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, - 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, - 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, - 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, - 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, - 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, - 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, - 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, - 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, - 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, - 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, - 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, - 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, - 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, - 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, - 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, - 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, - 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, - 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, - 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, - 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, - 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, - 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, - 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, - 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, - 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, - 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, - 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, - 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, - 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, - 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, - 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, - 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, - 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, - 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, - 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, - 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, - 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, - 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, - 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, - 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, - 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, - 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, - 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, - 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, - 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, - 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, - 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, - 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, - 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, - 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, - 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, - 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, - 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, - 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, - 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, - 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, - 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, - 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, - 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, - 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, - 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, - 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, - 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, - 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, - 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, - 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, - 192,12,3,6,15,1,6,60,48,102,96,195,192,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 20 - Calculated Max Values w=19 h=28 x= 9 y=17 dx=20 dy= 0 ascent=26 len=81 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =26 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24[8729] U8G_FONT_SECTION("u8g_font_courR24") = { - 0,28,42,250,246,19,4,184,10,129,32,255,250,26,250,21, - 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, - 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, - 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, - 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, - 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, - 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, - 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, - 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, - 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, - 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, - 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, - 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, - 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, - 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, - 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, - 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, - 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, - 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, - 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, - 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, - 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, - 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, - 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, - 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, - 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, - 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, - 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, - 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, - 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, - 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, - 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, - 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, - 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, - 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, - 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, - 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, - 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, - 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, - 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, - 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, - 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, - 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, - 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, - 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, - 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, - 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, - 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, - 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, - 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, - 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, - 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, - 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, - 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, - 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, - 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, - 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, - 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, - 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, - 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, - 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, - 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, - 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, - 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, - 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, - 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, - 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, - 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, - 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, - 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, - 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, - 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, - 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, - 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, - 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, - 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, - 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, - 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, - 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, - 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, - 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, - 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, - 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, - 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, - 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, - 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, - 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, - 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, - 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, - 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, - 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, - 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, - 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, - 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, - 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, - 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, - 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, - 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, - 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, - 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, - 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, - 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, - 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, - 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, - 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, - 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, - 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, - 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, - 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, - 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, - 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, - 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, - 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, - 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, - 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, - 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, - 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, - 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, - 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, - 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, - 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, - 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, - 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, - 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, - 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, - 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, - 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, - 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, - 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, - 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, - 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, - 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, - 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, - 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, - 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, - 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, - 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, - 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, - 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, - 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, - 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, - 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, - 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, - 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, - 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, - 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, - 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, - 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, - 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, - 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, - 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, - 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, - 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, - 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, - 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, - 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, - 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, - 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, - 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, - 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, - 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, - 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, - 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, - 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, - 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, - 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, - 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, - 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, - 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, - 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, - 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, - 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, - 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, - 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, - 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, - 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, - 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, - 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, - 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, - 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, - 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, - 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, - 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, - 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, - 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, - 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, - 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, - 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, - 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, - 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, - 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, - 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, - 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, - 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, - 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, - 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, - 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, - 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, - 199,24,129,176,0,224,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,20,0,1,5,20,20, - 20,7,250,112,248,112,0,0,0,0,32,32,32,32,32,32, - 32,112,112,112,112,112,32,11,20,40,20,4,0,4,0,4, - 0,4,0,4,0,31,128,48,224,96,32,192,32,128,0,128, - 0,128,0,128,0,192,0,96,32,48,224,31,128,4,0,4, - 0,4,0,4,0,14,19,38,20,2,0,3,224,12,48,8, - 24,24,0,16,0,16,0,16,0,24,0,8,0,255,128,8, - 0,8,0,8,0,8,0,8,0,24,0,16,4,48,12,127, - 248,13,13,26,20,3,3,192,24,111,176,56,224,32,32,96, - 48,64,16,64,16,64,16,96,48,32,32,56,224,111,176,192, - 24,15,19,38,20,2,0,248,62,96,12,48,24,16,16,24, - 48,8,32,12,96,6,192,2,128,3,128,63,248,1,0,1, - 0,63,248,1,0,1,0,1,0,1,0,31,240,1,25,25, - 20,9,252,128,128,128,128,128,128,128,128,128,128,128,0,0, - 0,0,128,128,128,128,128,128,128,128,128,128,14,23,46,20, - 3,254,7,248,28,8,16,8,16,8,16,0,24,0,124,0, - 198,0,131,0,129,192,192,96,112,56,24,12,12,4,7,4, - 1,132,0,252,0,96,0,32,64,32,64,32,64,224,127,128, - 10,3,6,20,5,17,97,128,243,192,97,128,19,19,57,20, - 0,0,1,240,0,7,28,0,28,7,0,48,1,128,33,232, - 128,99,24,192,70,8,64,204,8,96,136,0,32,136,0,32, - 136,0,32,140,0,32,198,12,96,67,24,64,97,240,192,48, - 1,128,24,3,0,15,30,0,1,240,0,9,12,24,20,5, - 7,60,0,102,0,2,0,2,0,126,0,198,0,130,0,206, - 0,123,128,0,0,0,0,255,128,16,14,28,20,2,0,1, - 131,3,6,6,12,12,24,24,48,48,96,96,192,225,192,96, - 192,48,96,24,48,12,24,6,12,3,6,14,6,12,20,3, - 6,255,252,0,4,0,4,0,4,0,4,0,4,15,1,2, - 20,2,9,255,254,19,19,57,20,0,0,3,248,0,14,14, - 0,24,3,0,48,1,128,103,224,192,66,48,64,194,24,96, - 130,8,32,130,8,32,130,24,32,130,48,32,131,224,32,194, - 48,96,66,24,64,103,12,192,48,1,128,24,3,0,14,14, - 0,3,248,0,9,2,4,20,5,17,255,128,255,128,9,10, - 20,20,5,11,62,0,99,0,65,0,193,128,128,128,128,128, - 193,128,65,0,99,0,62,0,15,16,32,20,2,1,1,0, - 1,0,1,0,1,0,1,0,1,0,255,254,1,0,1,0, - 1,0,1,0,1,0,1,0,0,0,0,0,255,254,8,14, - 14,20,5,7,60,102,67,193,3,2,6,12,24,16,48,96, - 193,255,8,14,14,20,6,7,60,102,195,1,1,6,28,6, - 3,1,1,195,102,60,6,5,5,20,9,17,12,24,48,96, - 192,16,20,40,20,1,250,240,60,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,24,12,24,28,28, - 52,23,231,16,0,16,0,16,0,16,0,16,0,16,0,15, - 23,46,20,2,254,15,254,57,16,113,16,97,16,225,16,193, - 16,193,16,225,16,97,16,113,16,61,16,15,16,1,16,1, - 16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1, - 16,31,190,5,4,4,20,7,7,112,248,248,112,5,5,5, - 20,7,251,32,32,48,152,240,7,14,14,20,6,7,112,208, - 16,16,16,16,16,16,16,16,16,16,16,254,9,12,24,20, - 5,7,28,0,119,0,65,0,193,128,128,128,193,128,65,0, - 119,0,28,0,0,0,0,0,255,128,16,14,28,20,2,0, - 193,128,96,192,48,96,24,48,12,24,6,12,3,6,3,135, - 3,6,6,12,12,24,24,48,48,96,96,192,18,21,63,20, - 1,0,48,0,192,240,0,128,16,1,128,16,3,0,16,2, - 0,16,6,0,16,12,0,16,8,0,16,24,0,16,48,0, - 16,35,0,16,103,0,254,197,0,0,141,0,1,153,0,3, - 17,0,2,49,0,6,63,128,12,1,0,8,1,0,24,7, - 128,18,21,63,20,1,0,48,0,128,240,1,128,16,3,0, - 16,6,0,16,4,0,16,12,0,16,24,0,16,16,0,16, - 48,0,16,96,0,16,71,128,16,204,192,253,152,64,3,0, - 192,2,0,128,6,1,128,12,7,0,8,12,0,24,24,0, - 48,48,0,96,63,192,19,21,63,20,0,0,60,0,0,102, - 0,96,3,0,192,3,1,128,6,3,0,28,6,0,6,12, - 0,3,8,0,1,24,0,1,48,0,195,33,128,102,99,128, - 60,194,128,1,134,128,1,12,128,3,8,128,6,24,128,12, - 31,192,24,0,128,48,0,128,0,3,192,11,20,40,20,4, - 250,14,0,31,0,14,0,0,0,0,0,0,0,0,0,4, - 0,4,0,12,0,24,0,112,0,64,0,192,0,128,0,128, - 0,192,32,96,32,49,224,31,0,19,26,78,20,0,0,6, - 0,0,3,0,0,1,128,0,0,192,0,0,96,0,0,0, - 0,0,0,0,31,224,0,0,160,0,1,176,0,1,16,0, - 1,16,0,3,24,0,2,8,0,2,8,0,6,12,0,4, - 4,0,4,4,0,12,6,0,15,254,0,8,2,0,24,3, - 0,16,1,0,16,1,0,48,1,128,254,15,224,19,26,78, - 20,0,0,0,12,0,0,24,0,0,48,0,0,96,0,0, - 192,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, - 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, - 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, - 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, - 224,19,26,78,20,0,0,0,64,0,0,224,0,1,176,0, - 3,24,0,6,12,0,0,0,0,0,0,0,31,224,0,0, - 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, - 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, - 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, - 1,128,254,15,224,19,24,72,20,0,0,3,132,0,6,236, - 0,4,56,0,0,0,0,0,0,0,31,224,0,0,160,0, - 1,176,0,1,16,0,1,16,0,3,24,0,2,8,0,2, - 8,0,6,12,0,4,4,0,4,4,0,12,6,0,15,254, - 0,8,2,0,24,3,0,16,1,0,16,1,0,48,1,128, - 254,15,224,19,24,72,20,0,0,6,12,0,15,30,0,6, - 12,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, - 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, - 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, - 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, - 224,19,26,78,20,0,0,0,224,0,1,176,0,1,16,0, - 1,16,0,1,176,0,0,224,0,0,0,0,31,224,0,0, - 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, - 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, - 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, - 1,128,254,15,224,18,19,57,20,1,0,31,255,128,2,64, - 128,2,64,128,6,64,128,4,64,128,4,64,128,4,64,0, - 12,68,0,8,68,0,8,124,0,8,68,0,24,68,0,31, - 192,0,16,64,0,48,64,64,32,64,64,32,64,64,32,64, - 64,251,255,192,15,24,48,20,2,251,7,196,28,116,48,12, - 96,12,64,4,192,4,128,0,128,0,128,0,128,0,128,0, - 128,0,128,0,192,0,64,2,96,4,48,28,28,112,7,192, - 1,0,1,0,1,128,4,192,7,128,15,26,52,20,1,0, - 12,0,6,0,3,0,1,128,0,192,0,0,0,0,255,252, - 16,4,16,4,16,4,16,4,16,4,16,64,16,64,16,64, - 31,192,16,64,16,64,16,0,16,2,16,2,16,2,16,2, - 16,2,255,254,15,26,52,20,1,0,0,48,0,96,0,192, - 1,128,3,0,0,0,0,0,255,252,16,4,16,4,16,4, - 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, - 16,0,16,2,16,2,16,2,16,2,16,2,255,254,15,26, - 52,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, - 0,0,255,252,16,4,16,4,16,4,16,4,16,4,16,64, - 16,64,16,64,31,192,16,64,16,64,16,0,16,2,16,2, - 16,2,16,2,16,2,255,254,15,24,48,20,1,0,12,48, - 30,120,12,48,0,0,0,0,255,252,16,4,16,4,16,4, - 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, - 16,0,16,2,16,2,16,2,16,2,16,2,255,254,11,26, - 52,20,4,0,48,0,24,0,12,0,6,0,3,0,0,0, - 0,0,255,224,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,255,224,11,26,52,20,4,0,0,192, - 1,128,3,0,6,0,12,0,0,0,0,0,255,224,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 255,224,11,26,52,20,4,0,4,0,14,0,27,0,49,128, - 96,192,0,0,0,0,255,224,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,255,224,11,24,48,20, - 4,0,96,192,241,224,96,192,0,0,0,0,255,224,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 255,224,15,19,38,20,1,0,255,192,32,112,32,24,32,12, - 32,4,32,6,32,2,32,2,32,2,254,2,32,2,32,2, - 32,2,32,6,32,4,32,12,32,24,32,112,255,192,18,24, - 72,20,0,0,3,132,0,6,236,0,4,56,0,0,0,0, - 0,0,0,248,31,192,28,1,0,20,1,0,22,1,0,18, - 1,0,19,1,0,17,129,0,16,129,0,16,193,0,16,65, - 0,16,97,0,16,33,0,16,49,0,16,25,0,16,9,0, - 16,13,0,16,5,0,16,7,0,127,3,0,15,26,52,20, - 2,0,24,0,12,0,6,0,3,0,1,128,0,0,0,0, - 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, - 48,24,28,112,7,192,15,26,52,20,2,0,0,24,0,48, - 0,96,0,192,1,128,0,0,0,0,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, - 15,26,52,20,2,0,1,0,3,128,6,192,12,96,24,48, - 0,0,0,0,7,192,28,112,48,24,96,12,64,4,192,6, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,32,8,48,24,28,112,7,192,15,24,48,20,2,0, - 14,16,27,176,16,224,0,0,0,0,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, - 15,24,48,20,2,0,48,48,120,120,48,48,0,0,0,0, - 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, - 48,24,28,112,7,192,13,14,28,20,3,1,128,8,192,24, - 96,48,48,96,24,192,13,128,7,0,7,0,13,128,24,192, - 48,96,96,48,192,24,128,8,16,21,42,20,2,255,0,1, - 7,195,28,118,48,28,32,24,96,60,64,36,192,102,128,194, - 129,130,129,2,131,2,134,2,204,6,72,4,120,12,48,8, - 48,24,124,48,199,224,128,0,17,26,78,20,1,0,6,0, - 0,3,0,0,1,128,0,0,192,0,0,96,0,0,0,0, - 0,0,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,17,26,78,20, - 1,0,0,24,0,0,48,0,0,96,0,0,192,0,1,128, - 0,0,0,0,0,0,0,254,63,128,32,2,0,32,2,0, - 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,48,6,0,16,4,0,24,12,0,14,56,0,3,224,0, - 17,26,78,20,1,0,0,128,0,1,192,0,3,96,0,6, - 48,0,12,24,0,0,0,0,0,0,0,254,63,128,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, - 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,48,6,0,16,4,0,24,12,0,14,56, - 0,3,224,0,17,24,72,20,1,0,12,24,0,30,60,0, - 12,24,0,0,0,0,0,0,0,254,63,128,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, - 32,2,0,48,6,0,16,4,0,24,12,0,14,56,0,3, - 224,0,15,26,52,20,2,0,0,48,0,96,0,192,1,128, - 3,0,0,0,0,0,248,62,96,12,48,24,16,16,24,48, - 8,32,12,96,6,192,2,128,3,128,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,31,240,16,19,38,20, - 1,0,254,0,16,0,16,0,16,0,31,224,16,60,16,6, - 16,2,16,3,16,3,16,2,16,6,16,60,31,224,16,0, - 16,0,16,0,16,0,254,0,15,21,42,20,1,0,7,192, - 12,96,8,32,24,48,16,16,16,16,16,16,16,48,16,96, - 17,192,16,112,16,24,16,4,16,6,16,2,16,2,16,2, - 17,6,17,4,17,140,248,248,15,22,44,20,2,0,24,0, - 12,0,6,0,3,0,1,128,0,0,0,0,0,0,15,128, - 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, - 128,16,128,16,128,48,192,240,127,158,15,22,44,20,2,0, - 0,96,0,192,1,128,3,0,6,0,0,0,0,0,0,0, - 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, - 192,16,128,16,128,16,128,48,192,240,127,158,15,22,44,20, - 2,0,1,0,3,128,6,192,12,96,24,48,0,0,0,0, - 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, - 112,48,192,16,128,16,128,16,128,48,192,240,127,158,15,20, - 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, - 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, - 192,16,128,16,128,16,128,48,192,240,127,158,15,20,40,20, - 2,0,48,192,121,224,48,192,0,0,0,0,0,0,15,128, - 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, - 128,16,128,16,128,48,192,240,127,158,15,23,46,20,2,0, - 7,0,13,128,8,128,8,128,13,128,7,0,0,0,0,0, - 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, - 112,48,192,16,128,16,128,16,128,48,192,240,127,158,19,14, - 42,20,0,0,31,15,128,113,152,192,0,240,64,0,96,96, - 0,96,32,30,64,32,115,255,224,192,192,0,128,64,0,128, - 96,0,128,224,0,193,80,96,99,88,192,62,79,128,14,19, - 38,20,3,251,15,200,56,104,96,24,64,24,192,8,128,8, - 128,0,128,0,128,0,192,0,64,4,96,28,56,112,15,192, - 2,0,2,0,3,0,9,128,15,0,14,22,44,20,2,0, - 24,0,12,0,6,0,3,0,1,128,0,0,0,0,0,0, - 15,192,56,112,96,24,64,8,192,12,128,4,255,252,128,0, - 128,0,128,0,192,0,96,12,56,56,15,224,14,22,44,20, - 2,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, - 128,0,128,0,128,0,192,0,96,12,56,56,15,224,14,22, - 44,20,2,0,1,0,3,128,6,192,12,96,24,48,0,0, - 0,0,0,0,15,192,56,112,96,24,64,8,192,12,128,4, - 255,252,128,0,128,0,128,0,192,0,96,12,56,56,15,224, - 14,20,40,20,2,0,48,96,120,240,48,96,0,0,0,0, - 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, - 128,0,128,0,128,0,192,0,96,12,56,56,15,224,13,22, - 44,20,3,0,48,0,24,0,12,0,6,0,3,0,0,0, - 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, - 13,22,44,20,3,0,0,192,1,128,3,0,6,0,12,0, - 0,0,0,0,0,0,126,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, - 255,248,13,21,42,20,3,0,4,0,14,0,27,0,49,128, - 96,192,0,0,0,0,126,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, - 255,248,13,20,40,20,3,0,97,128,243,192,97,128,0,0, - 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, - 15,20,40,20,2,0,124,12,79,56,1,224,3,192,14,96, - 56,48,32,24,0,12,15,228,56,54,96,14,192,6,128,2, - 128,2,128,2,192,6,64,4,96,12,24,56,15,224,15,20, - 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, - 227,192,46,112,56,16,48,24,32,8,32,8,32,8,32,8, - 32,8,32,8,32,8,32,8,32,8,248,62,15,22,44,20, - 2,0,12,0,6,0,3,0,1,128,0,192,0,0,0,0, - 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,15,224,15,22, - 44,20,2,0,0,48,0,96,0,192,1,128,3,0,0,0, - 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, - 15,22,44,20,2,0,1,128,3,192,6,96,12,48,24,24, - 0,0,0,0,0,0,15,224,56,56,96,12,64,4,192,6, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,56,56, - 15,224,15,20,40,20,2,0,14,16,27,176,16,224,0,0, - 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, - 15,20,40,20,2,0,24,96,60,240,24,96,0,0,0,0, - 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,15,224,14,16, - 32,20,2,1,3,0,7,128,3,0,0,0,0,0,0,0, - 0,0,0,0,255,252,0,0,0,0,0,0,0,0,3,0, - 7,128,3,0,15,16,32,20,2,255,0,2,7,230,28,60, - 48,24,64,52,192,102,128,194,129,130,131,2,134,2,204,6, - 88,4,112,24,120,112,207,192,128,0,16,22,44,20,1,0, - 12,0,6,0,3,0,1,128,0,192,0,0,0,0,0,0, - 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,12,24,28,12,52,7,231,16,22,44,20, - 1,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,21, - 42,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, - 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,20, - 40,20,1,0,24,48,60,120,24,48,0,0,0,0,0,0, - 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,12,24,28,12,52,7,231,15,28,56,20, - 2,250,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,248,62,64,4,96,12,32,8,48,24,16,16,24,48, - 8,32,12,96,4,64,6,192,2,128,3,128,1,0,3,0, - 2,0,2,0,6,0,4,0,127,128,17,27,81,20,0,250, - 240,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,17,248,0,23,14,0,28,3,0,24,1, - 0,24,1,128,16,0,128,16,0,128,16,0,128,16,0,128, - 24,1,128,24,1,0,28,3,0,23,14,0,17,248,0,16, - 0,0,16,0,0,16,0,0,16,0,0,16,0,0,255,0, - 0,15,25,50,20,2,250,24,24,60,60,24,24,0,0,0, - 0,248,62,64,4,96,12,32,8,48,24,16,16,24,48,8, - 32,12,96,4,64,6,192,2,128,3,128,1,0,3,0,2, - 0,2,0,6,0,4,0,127,128}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=15 h=25 x= 7 y= 9 dx=20 dy= 0 ascent=22 len=50 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =22 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24n[658] U8G_FONT_SECTION("u8g_font_courR24n") = { - 0,28,42,250,246,20,0,0,0,0,42,58,0,22,252,20, - 0,11,13,26,20,4,8,4,0,4,0,4,0,4,0,132, - 32,245,224,31,0,14,0,10,0,27,0,49,128,32,128,96, - 192,15,17,34,20,2,1,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,255,254,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,6,9,9,20,5,252,60, - 60,120,120,96,224,192,192,128,15,1,2,20,2,9,255,254, - 5,4,4,20,7,0,112,248,248,112,11,25,50,20,4,253, - 0,32,0,96,0,64,0,64,0,192,0,128,1,128,1,0, - 3,0,2,0,2,0,6,0,4,0,12,0,8,0,8,0, - 24,0,16,0,48,0,32,0,96,0,64,0,64,0,192,0, - 128,0,11,20,40,20,4,0,31,0,49,128,96,192,64,64, - 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 128,32,128,32,192,96,64,64,64,64,96,192,49,128,31,0, - 11,20,40,20,4,0,12,0,60,0,228,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,255,224,13,20, - 40,20,3,0,15,192,48,96,96,16,64,16,64,16,0,16, - 0,48,0,32,0,96,0,192,1,128,3,0,6,0,12,0, - 24,0,48,0,96,0,192,0,128,8,255,248,13,20,40,20, - 3,0,15,128,56,224,96,48,0,16,0,16,0,16,0,16, - 0,32,0,64,7,128,0,96,0,16,0,8,0,8,0,8, - 0,8,0,24,192,48,112,224,31,128,13,20,40,20,3,0, - 0,192,1,64,1,64,2,64,6,64,4,64,8,64,24,64, - 16,64,32,64,96,64,64,64,128,64,255,248,0,64,0,64, - 0,64,0,64,0,64,3,248,13,20,40,20,3,0,63,240, - 32,0,32,0,32,0,32,0,32,0,32,0,39,128,60,224, - 32,48,0,16,0,24,0,8,0,8,0,8,0,24,192,16, - 96,48,56,224,15,128,12,20,40,20,4,0,7,192,28,32, - 48,0,32,0,96,0,64,0,192,0,143,128,184,224,160,32, - 192,48,192,16,192,16,192,16,192,16,64,16,96,48,32,32, - 56,224,15,128,11,20,40,20,4,0,255,224,128,32,128,32, - 0,96,0,64,0,64,0,192,0,128,0,128,1,128,1,0, - 1,0,3,0,2,0,2,0,2,0,6,0,4,0,4,0, - 4,0,11,20,40,20,4,0,31,0,96,192,64,64,192,96, - 128,32,128,32,192,96,64,64,49,128,31,0,113,192,64,64, - 192,96,128,32,128,32,128,32,192,96,64,64,113,192,31,0, - 12,20,40,20,4,0,31,0,112,192,64,96,192,32,128,48, - 128,48,128,48,128,48,192,80,64,208,115,144,30,16,0,32, - 0,32,0,32,0,64,0,192,1,128,14,0,120,0,5,14, - 14,20,7,0,112,248,248,112,0,0,0,0,0,0,112,248, - 248,112}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 20 - Calculated Max Values w=19 h=26 x= 9 y=17 dx=20 dy= 0 ascent=22 len=60 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24r[3991] U8G_FONT_SECTION("u8g_font_courR24r") = { - 0,28,42,250,246,19,4,184,10,129,32,127,250,22,250,21, - 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, - 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, - 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, - 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, - 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, - 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, - 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, - 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, - 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, - 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, - 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, - 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, - 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, - 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, - 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, - 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, - 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, - 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, - 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, - 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, - 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, - 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, - 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, - 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, - 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, - 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, - 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, - 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, - 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, - 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, - 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, - 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, - 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, - 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, - 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, - 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, - 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, - 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, - 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, - 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, - 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, - 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, - 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, - 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, - 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, - 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, - 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, - 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, - 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, - 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, - 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, - 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, - 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, - 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, - 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, - 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, - 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, - 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, - 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, - 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, - 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, - 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, - 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, - 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, - 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, - 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, - 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, - 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, - 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, - 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, - 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, - 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, - 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, - 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, - 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, - 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, - 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, - 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, - 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, - 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, - 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, - 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, - 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, - 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, - 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, - 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, - 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, - 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, - 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, - 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, - 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, - 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, - 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, - 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, - 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, - 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, - 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, - 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, - 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, - 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, - 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, - 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, - 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, - 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, - 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, - 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, - 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, - 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, - 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, - 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, - 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, - 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, - 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, - 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, - 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, - 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, - 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, - 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, - 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, - 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, - 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, - 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, - 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, - 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, - 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, - 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, - 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, - 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, - 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, - 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, - 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, - 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, - 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, - 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, - 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, - 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, - 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, - 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, - 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, - 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, - 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, - 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, - 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, - 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, - 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, - 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, - 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, - 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, - 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, - 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, - 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, - 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, - 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, - 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, - 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, - 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, - 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, - 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, - 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, - 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, - 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, - 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, - 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, - 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, - 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, - 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, - 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, - 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, - 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, - 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, - 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, - 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, - 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, - 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, - 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, - 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, - 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, - 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, - 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, - 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, - 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, - 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, - 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, - 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, - 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, - 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, - 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, - 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, - 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, - 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, - 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, - 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, - 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, - 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, - 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, - 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, - 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, - 199,24,129,176,0,224,255}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 3, '1' Height: 11 - Calculated Max Values w=16 h=17 x= 7 y= 6 dx=19 dy= 0 ascent=17 len=34 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 1 - X Font ascent =12 descent= 0 - Max Font ascent =17 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[3981] U8G_FONT_SECTION("u8g_font_cu12_67_75") = { - 0,40,30,247,246,3,2,98,5,14,32,255,1,17,254,12, - 0,11,5,10,12,1,4,2,128,1,64,255,224,1,64,2, - 128,5,11,11,6,1,1,32,32,32,32,32,32,168,112,168, - 112,32,11,5,10,12,1,4,32,96,65,128,255,0,65,128, - 32,96,11,5,10,12,1,4,192,128,48,64,31,224,48,64, - 192,128,11,7,14,12,1,3,0,32,32,32,64,32,255,224, - 64,32,32,32,0,32,7,11,11,8,1,1,16,56,84,16, - 16,16,16,16,16,16,254,11,7,14,12,1,3,128,0,128, - 128,128,64,255,224,128,64,128,128,128,0,7,11,11,8,1, - 1,254,16,16,16,16,16,16,16,84,56,16,7,11,11,8, - 1,1,16,56,84,16,16,16,16,16,84,56,254,11,7,14, - 12,1,4,1,192,0,32,32,32,64,32,255,192,64,0,32, - 0,11,7,14,12,1,4,112,0,128,0,128,128,128,64,127, - 224,0,64,0,128,11,7,14,12,1,4,1,192,2,32,34, - 32,66,32,255,192,66,0,34,0,11,7,14,12,1,4,112, - 0,136,0,136,128,136,64,127,224,8,64,8,128,12,5,10, - 13,1,4,38,64,73,32,233,112,80,160,32,64,12,5,10, - 13,1,4,33,64,66,32,255,240,68,32,40,64,4,11,11, - 5,1,1,16,16,32,64,176,208,32,160,160,192,240,6,11, - 11,7,1,1,32,64,252,68,36,4,4,4,4,4,4,6, - 11,11,7,1,1,16,8,252,136,144,128,128,128,128,128,128, - 6,11,11,7,1,1,4,4,4,4,4,4,36,68,252,64, - 32,6,11,11,7,1,1,128,128,128,128,128,128,144,136,252, - 8,16,8,6,6,9,1,2,252,4,4,21,14,4,6,8, - 8,7,1,1,4,4,4,36,68,252,64,32,11,8,16,11, - 1,1,15,128,16,64,32,32,32,32,32,32,168,32,112,0, - 32,0,11,8,16,11,1,1,62,0,65,0,128,128,128,128, - 128,128,130,160,1,192,0,128,9,11,22,10,1,1,255,128, - 0,0,240,0,192,0,160,0,144,0,8,0,4,0,2,0, - 1,0,0,128,12,13,26,13,1,0,128,0,144,0,160,0, - 255,240,160,0,144,0,128,16,0,144,0,80,255,240,0,80, - 0,144,0,16,10,7,14,11,1,2,3,192,67,0,130,128, - 130,128,128,128,65,0,62,0,10,7,14,11,1,2,240,0, - 48,128,80,64,80,64,64,64,32,128,31,0,11,3,6,12, - 1,6,32,0,64,0,255,224,11,3,6,12,1,6,255,224, - 64,0,32,0,3,11,11,4,1,1,128,192,160,128,128,128, - 128,128,128,128,128,3,11,11,4,1,1,32,96,160,32,32, - 32,32,32,32,32,32,11,3,6,12,1,6,0,128,0,64, - 255,224,11,3,6,12,1,6,255,224,0,64,0,128,3,11, - 11,4,1,1,128,128,128,128,128,128,128,128,160,192,128,3, - 11,11,4,1,1,32,32,32,32,32,32,32,32,160,96,32, - 11,11,22,12,1,1,0,128,0,64,255,224,0,64,0,128, - 0,0,32,0,64,0,255,224,64,0,32,0,11,11,22,12, - 1,1,32,128,112,128,168,128,32,128,32,128,32,128,32,128, - 32,128,34,160,33,192,32,128,11,11,22,12,1,1,32,0, - 64,0,255,224,64,0,32,0,0,0,0,128,0,64,255,224, - 0,64,0,128,11,11,22,12,1,1,32,0,64,0,255,224, - 64,0,32,0,0,0,32,0,64,0,255,224,64,0,32,0, - 11,11,22,12,1,1,32,128,113,192,170,160,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,11,11,22,12, - 1,1,0,128,0,64,255,224,0,64,0,128,0,0,0,128, - 0,64,255,224,0,64,0,128,11,11,22,12,1,1,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,32,128,170,160, - 113,192,32,128,11,8,16,12,1,3,32,0,64,0,255,224, - 0,0,0,0,255,224,0,64,0,128,11,8,16,12,1,3, - 0,128,0,64,255,224,0,0,0,0,255,224,64,0,32,0, - 11,7,14,12,1,3,16,128,32,128,127,224,129,0,127,224, - 34,0,18,0,13,7,14,14,1,3,17,64,33,32,127,240, - 130,8,127,240,36,32,20,64,11,7,14,12,1,3,9,0, - 8,128,255,192,16,32,255,192,32,128,33,0,11,7,14,12, - 1,3,16,0,32,0,127,224,128,0,127,224,32,0,16,0, - 7,11,11,8,1,1,16,40,108,170,40,40,40,40,40,40, - 40,11,7,14,12,1,3,1,0,0,128,255,192,0,32,255, - 192,0,128,1,0,7,11,11,8,1,1,40,40,40,40,40, - 40,40,170,108,40,16,12,7,14,12,1,3,16,128,32,64, - 127,224,128,16,127,224,32,64,16,128,7,12,12,8,1,0, - 16,40,108,170,40,40,40,40,170,108,40,16,10,10,20,11, - 1,1,248,0,144,0,136,0,196,0,162,0,17,0,8,128, - 4,64,2,0,1,0,10,10,20,11,1,1,7,192,2,64, - 4,64,8,192,17,64,34,0,68,0,136,0,16,0,32,0, - 10,10,20,11,1,1,32,0,16,0,136,0,68,0,34,0, - 17,64,8,192,4,64,2,64,7,192,10,10,20,11,1,1, - 1,0,2,0,4,64,8,128,17,0,162,0,196,0,136,0, - 144,0,248,0,11,7,14,12,1,3,16,0,63,224,64,0, - 255,224,64,0,63,224,16,0,11,7,14,12,1,3,1,0, - 255,128,0,64,255,224,0,64,255,128,1,0,12,5,10,13, - 1,4,32,0,72,128,245,80,66,32,32,0,12,5,10,13, - 1,4,0,64,17,32,170,240,68,32,0,64,5,11,11,6, - 1,1,32,112,168,32,32,248,32,248,32,32,32,5,11,11, - 6,1,1,32,32,32,248,32,248,32,32,168,112,32,11,5, - 10,12,1,4,32,0,64,0,238,224,64,0,32,0,5,11, - 11,6,1,1,32,112,168,0,32,32,32,0,32,32,32,11, - 5,10,12,1,4,0,128,0,64,238,224,0,64,0,128,5, - 11,11,6,1,1,32,32,32,0,32,32,32,0,168,112,32, - 12,7,14,13,1,3,128,0,144,0,160,0,255,240,160,0, - 144,0,128,0,12,7,14,13,1,3,0,16,0,144,0,80, - 255,240,0,80,0,144,0,16,12,9,18,13,1,2,8,0, - 24,0,47,240,64,16,128,16,64,16,47,240,24,0,8,0, - 9,12,24,10,1,1,8,0,20,0,34,0,65,0,227,128, - 34,0,34,0,34,0,34,0,34,0,34,0,62,0,12,9, - 18,13,1,2,1,0,1,128,255,64,128,32,128,16,128,32, - 255,64,1,128,1,0,9,12,24,10,1,1,62,0,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, - 20,0,8,0,9,17,34,10,1,0,8,0,20,0,34,0, - 65,0,227,128,34,0,34,0,34,0,34,0,34,0,34,0, - 62,0,0,0,62,0,34,0,34,0,62,0,9,14,28,10, - 1,0,8,0,20,0,34,0,65,0,227,128,34,0,34,0, - 34,0,34,0,34,0,34,0,227,128,128,128,255,128,9,14, - 28,10,1,0,8,0,20,0,62,0,65,0,227,128,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,128,128,255,128, - 9,14,28,10,1,0,8,0,28,0,42,0,73,0,235,128, - 42,0,42,0,42,0,42,0,42,0,42,0,235,128,136,128, - 255,128,9,15,30,10,1,2,8,0,20,0,34,0,73,0, - 213,128,34,0,65,0,227,128,34,0,34,0,34,0,34,0, - 34,0,34,0,62,0,9,17,34,10,1,0,8,0,20,0, - 34,0,73,0,213,128,34,0,65,0,227,128,34,0,34,0, - 34,0,34,0,34,0,34,0,227,128,128,128,255,128,14,9, - 18,16,2,2,224,64,160,96,191,208,128,24,128,20,128,24, - 191,208,160,96,224,64,11,11,22,12,1,1,255,224,128,0, - 188,0,176,0,168,0,164,0,130,0,129,0,128,128,128,64, - 128,32,11,11,22,12,1,1,128,32,64,32,32,32,16,32, - 8,32,4,160,2,160,1,160,7,160,0,32,255,224,9,16, - 32,10,1,0,8,0,20,0,34,0,65,0,227,128,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, - 20,0,8,0,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,255,255,255,255,255,255,255,255,255,255,255, - 11,11,22,14,2,1,255,224,255,224,255,224,255,224,255,224, - 255,224,255,224,255,224,255,224,255,224,255,224,11,11,22,14, - 2,1,255,224,128,32,128,32,128,32,128,32,128,32,128,32, - 128,32,128,32,128,32,255,224,11,11,22,14,2,1,63,128, - 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 64,64,63,128,11,11,22,14,2,1,255,224,128,32,191,160, - 191,160,191,160,191,160,191,160,191,160,191,160,128,32,255,224, - 11,11,22,14,2,1,255,224,128,32,255,224,128,32,255,224, - 128,32,255,224,128,32,255,224,128,32,255,224,11,11,22,14, - 2,1,255,224,170,160,170,160,170,160,170,160,170,160,170,160, - 170,160,170,160,170,160,255,224,11,11,22,14,2,1,255,224, - 170,160,255,224,170,160,255,224,170,160,255,224,170,160,255,224, - 170,160,255,224,11,11,22,14,2,1,255,224,201,32,164,160, - 146,96,201,32,164,160,146,96,201,32,164,160,146,96,255,224, - 11,11,22,14,2,1,255,224,146,96,164,160,201,32,146,96, - 164,160,201,32,146,96,164,160,201,32,255,224,11,11,22,14, - 2,1,255,224,213,96,170,160,213,96,170,160,213,96,170,160, - 213,96,170,160,213,96,255,224,7,7,7,12,3,3,254,254, - 254,254,254,254,254,7,7,7,12,3,3,254,130,130,130,130, - 130,254,13,6,12,16,2,3,255,248,255,248,255,248,255,248, - 255,248,255,248,13,6,12,16,2,3,255,248,128,8,128,8, - 128,8,128,8,255,248,6,13,13,9,2,254,252,252,252,252, - 252,252,252,252,252,252,252,252,252,6,13,13,9,2,254,252, - 132,132,132,132,132,132,132,132,132,132,132,252,16,6,12,19, - 2,3,31,255,63,254,63,254,127,252,127,252,255,248,16,6, - 12,19,2,3,31,255,32,2,32,2,64,4,64,4,255,248, - 11,12,24,14,2,1,4,0,4,0,14,0,14,0,31,0, - 31,0,63,128,63,128,127,192,127,192,255,224,255,224,11,12, - 24,14,2,1,4,0,4,0,10,0,10,0,17,0,17,0, - 32,128,32,128,64,64,64,64,128,32,255,224,7,8,8,12, - 3,1,16,16,56,56,124,124,254,254,7,8,8,12,3,1, - 16,16,40,40,68,68,130,254,12,11,22,15,2,1,192,0, - 240,0,252,0,255,0,255,192,255,240,255,192,255,0,252,0, - 240,0,192,0,12,11,22,15,2,1,192,0,176,0,140,0, - 131,0,128,192,128,48,128,192,131,0,140,0,176,0,192,0, - 8,7,7,13,3,1,192,240,252,255,252,240,192,8,7,7, - 13,3,1,192,176,140,131,140,176,192,12,7,14,15,2,1, - 192,0,252,0,255,192,255,240,255,192,252,0,192,0,12,7, - 14,15,2,1,192,0,188,0,131,192,128,48,131,192,188,0, - 192,0,11,12,24,14,2,1,255,224,255,224,127,192,127,192, - 63,128,63,128,31,0,31,0,14,0,14,0,4,0,4,0, - 11,12,24,14,2,1,255,224,128,32,64,64,64,64,32,128, - 32,128,17,0,17,0,10,0,10,0,4,0,4,0,7,8, - 8,12,3,1,254,254,124,124,56,56,16,16,7,8,8,12, - 3,1,254,130,68,68,40,40,16,16,12,11,22,15,2,1, - 0,48,0,240,3,240,15,240,63,240,255,240,63,240,15,240, - 3,240,0,240,0,48,12,11,22,15,2,1,0,48,0,208, - 3,16,12,16,48,16,192,16,48,16,12,16,3,16,0,208, - 0,48,8,7,7,13,3,1,3,15,63,255,63,15,3,8, - 7,7,13,3,1,3,13,49,193,49,13,3,12,7,14,15, - 2,1,0,48,3,240,63,240,255,240,63,240,3,240,0,48, - 12,7,14,15,2,1,0,48,3,208,60,16,192,16,60,16, - 3,208,0,48,11,11,22,14,2,1,4,0,14,0,31,0, - 63,128,127,192,255,224,127,192,63,128,31,0,14,0,4,0, - 11,11,22,14,2,1,4,0,10,0,17,0,32,128,64,64, - 128,32,64,64,32,128,17,0,10,0,4,0,11,11,22,14, - 2,1,4,0,10,0,17,0,36,128,78,64,159,32,78,64, - 36,128,17,0,10,0,4,0,11,11,22,14,2,1,31,0, - 96,192,64,64,142,32,159,32,159,32,159,32,142,32,64,64, - 96,192,31,0,7,12,12,8,1,0,16,40,40,68,68,130, - 130,68,68,40,40,16,11,11,22,14,2,1,31,0,96,192, - 64,64,128,32,128,32,128,32,128,32,128,32,64,64,96,192, - 31,0,11,11,22,14,2,1,14,0,32,128,64,64,0,0, - 128,32,128,32,128,32,0,0,64,64,32,128,14,0,11,11, - 22,14,2,1,31,0,106,192,106,192,170,160,170,160,170,160, - 170,160,170,160,106,192,106,192,31,0,11,11,22,14,2,1, - 31,0,96,192,64,64,142,32,145,32,145,32,145,32,142,32, - 64,64,96,192,31,0,11,11,22,14,2,1,31,0,127,192, - 127,192,255,224,255,224,255,224,255,224,255,224,127,192,127,192, - 31,0,11,11,22,14,2,1,31,0,120,192,120,64,248,32, - 248,32,248,32,248,32,248,32,120,64,120,192,31,0,11,11, - 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, - 131,224,131,224,67,192,99,192,31,0,11,11,22,14,2,1, - 31,0,127,192,127,192,255,224,255,224,128,32,128,32,128,32, - 64,64,96,192,31,0,11,11,22,14,2,1,31,0,96,192, - 64,64,128,32,128,32,128,32,255,224,255,224,127,192,127,192, - 31,0,11,11,22,14,2,1,31,0,103,192,71,192,135,224, - 135,224,135,224,128,32,128,32,64,64,96,192,31,0,11,11, - 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, - 255,224,255,224,127,192,127,192,31,0,6,11,11,8,2,1, - 28,124,124,252,252,252,252,252,124,124,28,6,11,11,9,2, - 1,224,248,248,252,252,252,252,252,248,248,224,7,12,12,10, - 2,1,254,254,254,254,254,198,130,130,130,198,254,254,13,13, - 26,16,2,0,255,248,240,120,207,152,223,216,191,232,191,232, - 191,232,191,232,191,232,223,216,207,152,240,120,255,248,13,7, - 14,16,2,6,255,248,240,120,207,152,223,216,191,232,191,232, - 191,232,13,7,14,16,2,0,191,232,191,232,191,232,223,216, - 207,152,240,120,255,248,6,6,6,8,2,6,28,96,64,128, - 128,128,6,6,6,13,7,6,224,24,8,4,4,4,6,6, - 6,13,7,1,4,4,4,8,24,224,6,6,6,8,2,1, - 128,128,128,64,96,28,11,6,12,14,2,6,31,0,96,192, - 64,64,128,32,128,32,128,32,11,6,12,14,2,1,128,32, - 128,32,128,32,64,64,96,192,31,0,12,12,24,15,2,1, - 0,16,0,48,0,112,0,240,1,240,3,240,7,240,15,240, - 31,240,63,240,127,240,255,240,12,12,24,15,2,1,128,0, - 192,0,224,0,240,0,248,0,252,0,254,0,255,0,255,128, - 255,192,255,224,255,240,12,12,24,15,2,1,255,240,255,224, - 255,192,255,128,255,0,254,0,252,0,248,0,240,0,224,0, - 192,0,128,0,12,12,24,15,2,1,255,240,127,240,63,240, - 31,240,15,240,7,240,3,240,1,240,0,240,0,112,0,48, - 0,16,7,7,7,8,1,2,56,68,130,130,130,68,56,11, - 11,22,14,2,1,255,224,248,32,248,32,248,32,248,32,248, - 32,248,32,248,32,248,32,248,32,255,224,11,11,22,14,2, - 1,255,224,131,224,131,224,131,224,131,224,131,224,131,224,131, - 224,131,224,131,224,255,224,11,11,22,14,2,1,255,224,255, - 224,255,160,255,32,254,32,252,32,248,32,240,32,224,32,192, - 32,255,224,11,11,22,14,2,1,255,224,128,96,128,224,129, - 224,131,224,135,224,143,224,159,224,191,224,255,224,255,224,11, - 11,22,14,2,1,255,224,132,32,132,32,132,32,132,32,132, - 32,132,32,132,32,132,32,132,32,255,224,11,12,24,14,2, - 1,4,0,4,0,10,0,10,0,17,0,17,0,32,128,36, - 128,78,64,68,64,128,32,255,224,11,12,24,14,2,1,4, - 0,4,0,14,0,14,0,29,0,29,0,60,128,60,128,124, - 64,124,64,252,32,255,224,11,12,24,14,2,1,4,0,4, - 0,14,0,14,0,23,0,23,0,39,128,39,128,71,192,71, - 192,135,224,255,224,13,13,26,16,2,0,31,192,32,32,64, - 16,128,8,128,8,128,8,128,8,128,8,128,8,128,8,64, - 16,32,32,31,192,11,11,22,14,2,1,255,224,132,32,132, - 32,132,32,132,32,252,32,128,32,128,32,128,32,128,32,255, - 224,11,11,22,14,2,1,255,224,128,32,128,32,128,32,128, - 32,252,32,132,32,132,32,132,32,132,32,255,224,11,11,22, - 14,2,1,255,224,128,32,128,32,128,32,128,32,135,224,132, - 32,132,32,132,32,132,32,255,224,11,11,22,14,2,1,255, - 224,132,32,132,32,132,32,132,32,135,224,128,32,128,32,128, - 32,128,32,255,224,11,11,22,14,2,1,31,0,100,192,68, - 64,132,32,132,32,252,32,128,32,128,32,64,64,96,192,31, - 0,11,11,22,14,2,1,31,0,96,192,64,64,128,32,128, - 32,252,32,132,32,132,32,68,64,100,192,31,0,11,11,22, - 14,2,1,31,0,96,192,64,64,128,32,128,32,135,224,132, - 32,132,32,68,64,100,192,31,0,11,11,22,14,2,1,31, - 0,100,192,68,64,132,32,132,32,135,224,128,32,128,32,64, - 64,96,192,31,0,255,255,255,255,255,255,255,255}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 11, '1' Height: 6 - Calculated Max Values w=16 h=13 x= 3 y= 3 dx=19 dy= 0 ascent=13 len=24 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =13 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12_75r[1123] U8G_FONT_SECTION("u8g_font_cu12_75r") = { - 0,40,30,247,246,11,2,247,0,0,32,79,0,13,254,12, - 0,11,11,22,14,2,1,255,224,255,224,255,224,255,224,255, - 224,255,224,255,224,255,224,255,224,255,224,255,224,11,11,22, - 14,2,1,255,224,128,32,128,32,128,32,128,32,128,32,128, - 32,128,32,128,32,128,32,255,224,11,11,22,14,2,1,63, - 128,64,64,128,32,128,32,128,32,128,32,128,32,128,32,128, - 32,64,64,63,128,11,11,22,14,2,1,255,224,128,32,191, - 160,191,160,191,160,191,160,191,160,191,160,191,160,128,32,255, - 224,11,11,22,14,2,1,255,224,128,32,255,224,128,32,255, - 224,128,32,255,224,128,32,255,224,128,32,255,224,11,11,22, - 14,2,1,255,224,170,160,170,160,170,160,170,160,170,160,170, - 160,170,160,170,160,170,160,255,224,11,11,22,14,2,1,255, - 224,170,160,255,224,170,160,255,224,170,160,255,224,170,160,255, - 224,170,160,255,224,11,11,22,14,2,1,255,224,201,32,164, - 160,146,96,201,32,164,160,146,96,201,32,164,160,146,96,255, - 224,11,11,22,14,2,1,255,224,146,96,164,160,201,32,146, - 96,164,160,201,32,146,96,164,160,201,32,255,224,11,11,22, - 14,2,1,255,224,213,96,170,160,213,96,170,160,213,96,170, - 160,213,96,170,160,213,96,255,224,7,7,7,12,3,3,254, - 254,254,254,254,254,254,7,7,7,12,3,3,254,130,130,130, - 130,130,254,13,6,12,16,2,3,255,248,255,248,255,248,255, - 248,255,248,255,248,13,6,12,16,2,3,255,248,128,8,128, - 8,128,8,128,8,255,248,6,13,13,9,2,254,252,252,252, - 252,252,252,252,252,252,252,252,252,252,6,13,13,9,2,254, - 252,132,132,132,132,132,132,132,132,132,132,132,252,16,6,12, - 19,2,3,31,255,63,254,63,254,127,252,127,252,255,248,16, - 6,12,19,2,3,31,255,32,2,32,2,64,4,64,4,255, - 248,11,12,24,14,2,1,4,0,4,0,14,0,14,0,31, - 0,31,0,63,128,63,128,127,192,127,192,255,224,255,224,11, - 12,24,14,2,1,4,0,4,0,10,0,10,0,17,0,17, - 0,32,128,32,128,64,64,64,64,128,32,255,224,7,8,8, - 12,3,1,16,16,56,56,124,124,254,254,7,8,8,12,3, - 1,16,16,40,40,68,68,130,254,12,11,22,15,2,1,192, - 0,240,0,252,0,255,0,255,192,255,240,255,192,255,0,252, - 0,240,0,192,0,12,11,22,15,2,1,192,0,176,0,140, - 0,131,0,128,192,128,48,128,192,131,0,140,0,176,0,192, - 0,8,7,7,13,3,1,192,240,252,255,252,240,192,8,7, - 7,13,3,1,192,176,140,131,140,176,192,12,7,14,15,2, - 1,192,0,252,0,255,192,255,240,255,192,252,0,192,0,12, - 7,14,15,2,1,192,0,188,0,131,192,128,48,131,192,188, - 0,192,0,11,12,24,14,2,1,255,224,255,224,127,192,127, - 192,63,128,63,128,31,0,31,0,14,0,14,0,4,0,4, - 0,11,12,24,14,2,1,255,224,128,32,64,64,64,64,32, - 128,32,128,17,0,17,0,10,0,10,0,4,0,4,0,7, - 8,8,12,3,1,254,254,124,124,56,56,16,16,7,8,8, - 12,3,1,254,130,68,68,40,40,16,16,12,11,22,15,2, - 1,0,48,0,240,3,240,15,240,63,240,255,240,63,240,15, - 240,3,240,0,240,0,48,12,11,22,15,2,1,0,48,0, - 208,3,16,12,16,48,16,192,16,48,16,12,16,3,16,0, - 208,0,48,8,7,7,13,3,1,3,15,63,255,63,15,3, - 8,7,7,13,3,1,3,13,49,193,49,13,3,12,7,14, - 15,2,1,0,48,3,240,63,240,255,240,63,240,3,240,0, - 48,12,7,14,15,2,1,0,48,3,208,60,16,192,16,60, - 16,3,208,0,48,11,11,22,14,2,1,4,0,14,0,31, - 0,63,128,127,192,255,224,127,192,63,128,31,0,14,0,4, - 0,11,11,22,14,2,1,4,0,10,0,17,0,32,128,64, - 64,128,32,64,64,32,128,17,0,10,0,4,0,11,11,22, - 14,2,1,4,0,10,0,17,0,36,128,78,64,159,32,78, - 64,36,128,17,0,10,0,4,0,11,11,22,14,2,1,31, - 0,96,192,64,64,142,32,159,32,159,32,159,32,142,32,64, - 64,96,192,31,0,7,12,12,8,1,0,16,40,40,68,68, - 130,130,68,68,40,40,16,11,11,22,14,2,1,31,0,96, - 192,64,64,128,32,128,32,128,32,128,32,128,32,64,64,96, - 192,31,0,11,11,22,14,2,1,14,0,32,128,64,64,0, - 0,128,32,128,32,128,32,0,0,64,64,32,128,14,0,11, - 11,22,14,2,1,31,0,106,192,106,192,170,160,170,160,170, - 160,170,160,170,160,106,192,106,192,31,0,11,11,22,14,2, - 1,31,0,96,192,64,64,142,32,145,32,145,32,145,32,142, - 32,64,64,96,192,31,0,11,11,22,14,2,1,31,0,127, - 192,127,192,255,224,255,224,255,224,255,224,255,224,127,192,127, - 192,31,0}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 3 y=11 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12[3993] U8G_FONT_SECTION("u8g_font_cu12") = { - 0,40,30,247,246,11,2,90,5,94,32,255,252,16,252,12, - 252,0,0,0,5,0,0,2,12,12,5,1,0,192,192,192, - 192,192,192,192,0,0,0,192,192,4,5,5,7,2,7,144, - 144,144,144,144,10,15,30,12,1,253,4,128,4,128,9,0, - 9,0,9,0,255,192,18,0,18,0,18,0,255,192,36,0, - 36,0,36,0,72,0,72,0,5,14,14,8,1,255,32,112, - 168,168,168,160,96,48,40,168,168,168,112,32,11,13,26,14, - 1,255,96,64,152,128,151,128,145,0,146,0,98,0,4,0, - 8,192,9,32,17,32,33,32,33,32,64,192,10,12,24,13, - 1,0,24,0,36,0,36,0,36,0,40,0,51,192,49,0, - 81,0,138,0,138,0,196,64,123,128,1,5,5,4,2,7, - 128,128,128,128,128,4,15,15,6,2,253,16,32,64,64,128, - 128,128,128,128,128,128,64,64,32,16,4,15,15,6,1,253, - 128,64,32,32,16,16,16,16,16,16,16,32,32,64,128,7, - 7,7,7,0,5,16,146,84,56,84,146,16,9,9,18,11, - 2,255,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,5,5,5,1,253,192,192,64,64,128,4, - 1,1,7,2,3,240,2,2,2,5,1,0,192,192,5,16, - 16,8,2,252,8,8,16,16,16,16,32,32,32,32,64,64, - 64,64,128,128,5,11,11,7,1,0,112,80,136,136,136,136, - 136,136,136,80,112,5,11,11,7,1,0,32,224,32,32,32, - 32,32,32,32,32,248,5,11,11,7,1,0,112,136,136,136, - 8,16,16,32,72,72,248,5,11,11,7,1,0,112,136,136, - 8,8,48,8,8,136,136,112,7,11,11,9,1,0,24,24, - 40,40,72,200,254,8,8,8,62,5,11,11,7,1,0,136, - 240,128,128,240,200,8,8,136,144,96,5,11,11,7,1,0, - 48,72,64,128,240,136,136,136,136,80,112,6,12,12,8,1, - 0,128,252,132,136,16,16,16,32,32,32,32,32,5,11,11, - 7,1,0,112,136,136,136,80,112,136,136,136,136,112,5,11, - 11,7,1,0,112,80,136,136,136,136,120,8,16,144,96,2, - 7,7,7,3,0,192,192,0,0,0,192,192,2,10,10,5, - 1,253,192,192,0,0,0,192,192,64,64,128,5,9,9,6, - 1,1,8,16,32,64,128,64,32,16,8,10,5,10,13,2, - 2,255,192,0,0,0,0,0,0,255,192,5,9,9,6,1, - 1,128,64,32,16,8,16,32,64,128,5,12,12,8,1,0, - 112,136,136,16,32,32,96,0,0,0,96,96,10,12,24,12, - 1,0,30,0,33,0,76,128,147,64,161,64,161,64,161,64, - 161,64,147,64,77,128,32,192,31,0,11,11,22,11,0,0, - 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, - 32,128,32,128,241,224,10,11,22,10,0,0,255,0,32,128, - 32,64,32,64,32,128,63,0,32,128,32,64,32,64,32,128, - 255,0,9,11,22,10,1,0,30,128,33,128,64,128,128,128, - 128,0,128,0,128,0,128,128,64,128,33,0,30,0,10,11, - 22,10,0,0,254,0,33,128,32,128,32,64,32,64,32,64, - 32,64,32,64,32,128,33,128,254,0,10,11,22,10,1,0, - 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, - 32,128,32,128,255,128,9,11,22,9,1,0,255,128,32,128, - 32,128,34,128,34,0,62,0,34,0,34,0,32,0,32,0, - 248,0,10,11,22,10,1,0,30,128,33,128,64,128,128,128, - 128,0,128,0,131,192,128,128,64,128,32,128,31,128,11,11, - 22,11,1,0,251,224,32,128,32,128,32,128,32,128,63,128, - 32,128,32,128,32,128,32,128,251,224,5,11,11,5,1,0, - 248,32,32,32,32,32,32,32,32,32,248,6,11,11,6,1, - 0,124,16,16,16,16,16,16,16,16,144,224,11,11,22,11, - 1,0,249,224,32,128,33,0,34,0,36,0,46,0,50,0, - 33,0,33,0,32,128,249,224,8,11,11,8,0,0,248,32, - 32,32,32,32,33,33,33,35,255,14,11,22,14,1,0,240, - 60,48,48,48,48,40,80,40,80,40,144,36,144,36,144,35, - 16,35,16,251,124,11,11,22,11,1,0,227,224,48,128,48, - 128,40,128,40,128,36,128,34,128,34,128,33,128,33,128,248, - 128,10,11,22,10,1,0,30,0,33,0,64,128,128,64,128, - 64,128,64,128,64,128,64,64,128,33,0,30,0,9,11,22, - 9,1,0,255,0,33,128,32,128,32,128,33,128,63,0,32, - 0,32,0,32,0,32,0,248,0,10,14,28,10,1,253,30, - 0,33,0,64,128,128,64,128,64,128,64,128,64,128,64,92, - 128,51,0,30,0,2,0,2,64,1,128,11,11,22,11,1, - 0,254,0,33,0,32,128,32,128,33,0,62,0,35,0,33, - 0,33,0,33,0,248,224,6,11,11,7,1,0,124,132,132, - 128,64,48,8,4,132,132,248,9,11,22,9,1,0,255,128, - 136,128,136,128,136,128,8,0,8,0,8,0,8,0,8,0, - 8,0,62,0,11,11,22,11,1,0,251,224,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, - 11,11,22,11,1,0,241,224,32,128,32,128,17,0,17,0, - 17,0,10,0,10,0,10,0,4,0,4,0,16,11,22,16, - 1,0,241,207,33,132,33,132,34,68,18,72,18,72,18,72, - 20,40,12,48,12,48,8,16,11,11,22,11,1,0,243,192, - 17,0,18,0,10,0,12,0,4,0,10,0,26,0,17,0, - 32,128,241,224,11,11,22,11,1,0,241,224,32,128,17,0, - 17,0,10,0,14,0,4,0,4,0,4,0,4,0,31,0, - 7,11,11,7,1,0,254,196,132,136,8,16,34,34,66,70, - 254,3,16,16,5,1,252,224,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,224,5,16,16,8,2,252,128,128,64, - 64,64,64,32,32,32,32,16,16,16,16,8,8,3,16,16, - 5,0,252,224,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,224,5,3,3,6,1,9,32,112,136,11,1,2,12, - 1,254,255,224,3,4,4,6,3,8,128,192,64,32,6,7, - 7,7,1,0,112,136,8,120,136,136,124,6,12,12,7,1, - 0,192,64,64,64,64,120,68,68,68,68,68,120,5,7,7, - 6,1,0,112,136,128,128,128,136,112,6,12,12,7,1,0, - 24,8,8,8,8,120,136,136,136,136,136,124,5,7,7,6, - 1,0,112,136,248,128,128,136,112,5,12,12,6,1,0,56, - 72,64,64,64,240,64,64,64,64,64,224,7,11,11,8,1, - 252,62,68,68,68,120,64,124,130,130,130,124,7,12,12,8, - 1,0,192,64,64,64,64,120,68,68,68,68,68,238,3,11, - 11,4,1,0,192,192,0,0,192,64,64,64,64,64,224,4, - 14,14,5,0,253,48,48,0,0,48,16,16,16,16,16,16, - 16,144,224,7,12,12,8,1,0,192,64,64,64,64,94,72, - 80,112,88,72,238,3,12,12,4,1,0,192,64,64,64,64, - 64,64,64,64,64,64,224,11,7,14,12,1,0,251,128,68, - 64,68,64,68,64,68,64,68,64,238,224,7,7,7,8,1, - 0,248,68,68,68,68,68,238,5,7,7,6,1,0,112,136, - 136,136,136,136,112,6,10,10,7,1,253,248,68,68,68,68, - 68,120,64,64,224,6,10,10,7,1,253,120,136,136,136,136, - 136,120,8,8,28,5,7,7,6,1,0,208,104,64,64,64, - 64,240,5,7,7,6,1,0,120,136,128,112,8,136,240,6, - 10,10,7,1,0,32,32,32,248,32,32,32,36,36,24,7, - 7,7,8,1,0,204,68,68,68,68,68,62,8,7,7,9, - 1,0,231,36,36,36,24,24,24,11,7,14,11,0,0,238, - 224,36,128,42,128,42,128,42,128,27,0,17,0,8,7,7, - 9,1,0,231,36,24,24,24,36,231,8,10,10,8,1,253, - 231,36,36,36,24,24,24,16,144,224,5,7,7,6,1,0, - 248,144,144,32,72,72,248,5,16,16,6,1,252,24,32,32, - 32,32,32,32,192,32,32,32,32,32,32,32,24,1,16,16, - 3,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,16,16,5,0,252,192,32,32,32,32,32,32, - 24,32,32,32,32,32,32,32,192,5,3,3,8,1,9,72, - 168,144,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,5,0,0,2,12,12,5,1,253,192, - 192,0,0,0,192,192,192,192,192,192,192,5,11,11,7,1, - 254,16,16,112,168,160,160,160,200,112,64,64,8,12,12,9, - 1,0,6,9,17,16,16,124,16,16,16,81,178,204,7,7, - 7,9,1,3,130,124,68,68,68,124,130,11,11,22,12,0, - 0,241,224,32,128,17,0,10,0,127,192,14,0,4,0,127, - 192,4,0,4,0,31,0,1,16,16,3,2,252,128,128,128, - 128,128,128,128,0,0,128,128,128,128,128,128,128,4,13,13, - 6,1,0,96,144,128,128,96,144,144,144,96,16,16,144,96, - 5,2,2,6,1,11,216,216,9,10,20,10,1,3,62,0, - 65,0,158,128,162,128,162,128,160,128,162,128,156,128,65,0, - 62,0,4,6,6,5,1,7,96,16,112,144,112,240,7,7, - 7,9,1,0,18,36,108,216,108,36,18,6,4,4,8,1, - 2,252,4,4,4,3,1,1,5,0,3,224,9,10,20,10, - 1,3,62,0,65,0,188,128,146,128,146,128,156,128,146,128, - 186,128,65,0,62,0,5,1,1,7,1,11,248,4,4,4, - 6,2,8,96,144,144,96,7,9,9,9,2,1,16,16,16, - 254,16,16,16,0,254,4,7,7,5,1,6,96,144,16,16, - 32,64,240,4,7,7,5,1,6,96,144,16,32,16,144,96, - 3,4,4,6,3,11,32,96,64,128,7,10,10,8,1,253, - 136,136,136,136,136,218,164,128,128,128,7,15,15,8,1,252, - 62,116,244,244,244,116,52,20,20,20,20,20,20,20,20,2, - 2,2,4,2,5,192,192,3,3,3,7,2,253,64,32,224, - 3,7,7,4,1,6,64,192,64,64,64,64,224,4,6,6, - 5,1,7,96,144,144,144,96,240,7,7,7,8,1,0,144, - 72,108,54,108,72,144,11,11,22,12,1,0,64,0,196,0, - 68,0,68,0,68,64,232,192,9,64,10,64,11,224,16,64, - 16,224,11,11,22,12,1,0,64,0,196,0,68,0,68,0, - 68,0,232,192,9,32,8,32,8,64,16,128,17,224,12,11, - 22,13,1,0,96,0,146,0,18,0,34,0,18,32,148,96, - 100,160,5,32,5,240,8,32,8,112,5,12,12,8,1,253, - 48,48,0,0,0,48,32,32,64,128,136,112,11,16,32,11, - 0,0,8,0,12,0,4,0,2,0,0,0,4,0,4,0, - 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, - 241,224,11,16,32,11,0,0,2,0,6,0,4,0,8,0, - 0,0,4,0,4,0,10,0,10,0,10,0,17,0,17,0, - 31,0,32,128,32,128,241,224,11,15,30,11,0,0,4,0, - 14,0,17,0,0,0,4,0,4,0,10,0,10,0,10,0, - 17,0,17,0,31,0,32,128,32,128,241,224,11,15,30,11, - 0,0,9,0,21,0,18,0,0,0,4,0,4,0,10,0, - 10,0,10,0,17,0,17,0,31,0,32,128,32,128,241,224, - 11,14,28,11,0,0,27,0,27,0,0,0,4,0,4,0, - 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, - 241,224,11,15,30,11,0,0,6,0,9,0,9,0,6,0, - 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, - 32,128,32,128,241,224,14,11,22,15,0,0,15,248,10,24, - 10,8,10,40,18,32,31,224,18,36,18,36,34,8,34,8, - 247,248,9,14,28,10,1,253,30,128,33,128,64,128,128,128, - 128,0,128,0,128,0,128,128,64,128,33,0,30,0,8,0, - 4,0,28,0,10,16,32,11,0,0,16,0,24,0,8,0, - 4,0,0,0,255,128,32,128,32,128,34,128,34,0,62,0, - 34,64,34,64,32,128,32,128,255,128,10,16,32,11,0,0, - 4,0,12,0,8,0,16,0,0,0,255,128,32,128,32,128, - 34,128,34,0,62,0,34,64,34,64,32,128,32,128,255,128, - 10,15,30,11,0,0,8,0,28,0,34,0,0,0,255,128, - 32,128,32,128,34,128,34,0,62,0,34,64,34,64,32,128, - 32,128,255,128,10,14,28,11,0,0,54,0,54,0,0,0, - 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, - 32,128,32,128,255,128,5,16,16,6,1,0,64,96,32,16, - 0,248,32,32,32,32,32,32,32,32,32,248,5,16,16,6, - 1,0,16,48,32,64,0,248,32,32,32,32,32,32,32,32, - 32,248,5,15,15,6,1,0,32,112,136,0,248,32,32,32, - 32,32,32,32,32,32,248,5,14,14,6,1,0,216,216,0, - 248,32,32,32,32,32,32,32,32,32,248,10,11,22,11,0, - 0,254,0,33,128,32,128,32,64,32,64,248,64,32,64,32, - 64,32,128,33,128,254,0,11,15,30,12,0,0,9,0,21, - 0,18,0,0,0,227,224,48,128,48,128,40,128,40,128,36, - 128,34,128,34,128,33,128,33,128,248,128,10,16,32,12,1, - 0,16,0,24,0,8,0,4,0,0,0,30,0,33,0,64, - 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, - 0,10,16,32,12,1,0,2,0,6,0,4,0,8,0,0, - 0,30,0,33,0,64,128,128,64,128,64,128,64,128,64,128, - 64,64,128,33,0,30,0,10,15,30,12,1,0,8,0,28, - 0,34,0,0,0,30,0,33,0,64,128,128,64,128,64,128, - 64,128,64,128,64,64,128,33,0,30,0,10,15,30,12,1, - 0,18,0,42,0,36,0,0,0,30,0,33,0,64,128,128, - 64,128,64,128,64,128,64,128,64,64,128,33,0,30,0,10, - 14,28,12,1,0,54,0,54,0,0,0,30,0,33,0,64, - 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, - 0,7,7,7,9,1,0,130,68,40,16,40,68,130,10,13, - 26,12,1,255,0,128,31,0,33,0,66,128,130,64,132,64, - 140,64,136,64,144,64,80,128,33,0,62,0,64,0,11,16, - 32,12,1,0,8,0,12,0,4,0,2,0,0,0,251,224, - 32,128,32,128,32,128,32,128,32,128,32,128,32,128,32,128, - 17,0,14,0,11,16,32,12,1,0,2,0,6,0,4,0, - 8,0,0,0,251,224,32,128,32,128,32,128,32,128,32,128, - 32,128,32,128,32,128,17,0,14,0,11,15,30,12,1,0, - 4,0,14,0,17,0,0,0,251,224,32,128,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,17,0,14,0,11,14, - 28,12,1,0,27,0,27,0,0,0,251,224,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, - 11,16,32,12,0,0,2,0,6,0,4,0,8,0,0,0, - 241,224,32,128,17,0,17,0,10,0,14,0,4,0,4,0, - 4,0,4,0,31,0,9,11,22,10,0,0,248,0,32,0, - 62,0,33,0,32,128,32,128,32,128,33,0,62,0,32,0, - 248,0,6,12,12,7,1,0,48,72,72,72,72,216,72,68, - 68,68,68,216,6,12,12,7,1,0,64,96,32,16,0,112, - 136,8,120,136,136,124,6,12,12,7,1,0,16,48,32,64, - 0,112,136,8,120,136,136,124,6,11,11,7,1,0,32,112, - 136,0,112,136,8,120,136,136,124,6,11,11,7,1,0,72, - 168,144,0,112,136,8,120,136,136,124,6,10,10,7,1,0, - 216,216,0,112,136,8,120,136,136,124,6,11,11,7,1,0, - 48,72,72,48,112,136,8,120,136,136,124,10,7,14,11,1, - 0,115,128,140,64,15,192,120,0,136,0,140,64,115,128,5, - 10,10,6,1,253,112,136,128,128,128,136,112,32,16,112,5, - 12,12,6,1,0,64,96,32,16,0,112,136,248,128,128,136, - 112,5,12,12,6,1,0,16,48,32,64,0,112,136,248,128, - 128,136,112,5,11,11,6,1,0,32,112,136,0,112,136,248, - 128,128,136,112,5,10,10,6,1,0,216,216,0,112,136,248, - 128,128,136,112,4,12,12,4,0,0,128,192,64,32,0,96, - 32,32,32,32,32,112,4,12,12,4,1,0,16,48,32,64, - 0,192,64,64,64,64,64,224,5,11,11,5,0,0,32,112, - 136,0,96,32,32,32,32,32,112,5,10,10,6,0,0,216, - 216,0,96,32,32,32,32,32,112,5,12,12,6,1,0,80, - 112,224,16,16,120,136,136,136,136,136,112,7,11,11,8,1, - 0,72,168,144,0,248,68,68,68,68,68,238,5,12,12,6, - 1,0,64,96,32,16,0,112,136,136,136,136,136,112,5,12, - 12,6,1,0,16,48,32,64,0,112,136,136,136,136,136,112, - 5,11,11,6,1,0,32,112,136,0,112,136,136,136,136,136, - 112,5,11,11,6,1,0,72,168,144,0,112,136,136,136,136, - 136,112,5,10,10,6,1,0,216,216,0,112,136,136,136,136, - 136,112,9,7,14,11,1,0,8,0,8,0,0,0,255,128, - 0,0,8,0,8,0,5,11,11,6,1,254,8,16,112,152, - 168,168,168,200,112,64,128,7,12,12,8,1,0,64,96,32, - 16,0,204,68,68,68,68,68,62,7,12,12,8,1,0,8, - 24,16,32,0,204,68,68,68,68,68,62,7,11,11,8,1, - 0,16,56,68,0,204,68,68,68,68,68,62,7,10,10,8, - 1,0,108,108,0,204,68,68,68,68,68,62,8,15,15,8, - 1,253,4,12,8,16,0,231,36,36,36,24,24,24,16,144, - 224,6,15,15,7,1,253,192,64,64,64,64,120,68,68,68, - 68,68,120,64,64,224,8,13,13,8,1,253,54,54,0,231, - 36,36,36,24,24,24,16,144,224}; -/* - Fontname: cursor - Copyright: These glyphs are unencumbered - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=16 x= 1 y= 0 dx=17 dy= 0 ascent=15 len=32 - Font Bounding box w=31 h=31 x=-15 y=-16 - Calculated Min Values x=-15 y=-16 dx= 0 dy= 0 - Pure Font ascent =15 descent=-8 - X Font ascent =16 descent=-16 - Max Font ascent =15 descent=-16 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cursor[5286] U8G_FONT_SECTION("u8g_font_cursor") = { - 0,31,31,241,240,15,4,101,8,211,32,255,248,15,240,16, - 240,14,14,28,17,250,248,224,28,240,60,248,124,124,248,63, - 240,31,224,15,192,15,192,31,224,63,240,124,248,248,124,240, - 60,224,28,16,16,32,17,249,247,240,15,248,31,252,63,254, - 127,127,254,63,252,31,248,15,240,15,240,31,248,63,252,127, - 254,254,127,252,63,248,31,240,15,14,14,28,17,243,242,0, - 12,0,60,0,248,3,248,15,240,63,240,3,224,7,224,14, - 192,28,192,56,128,112,128,224,0,64,0,16,16,32,17,242, - 241,0,7,0,31,0,127,1,254,7,254,31,252,63,252,63, - 248,7,248,15,240,31,240,62,224,124,224,248,64,112,0,32, - 0,8,10,10,17,253,255,255,0,255,24,24,24,24,90,60, - 24,10,12,24,17,252,254,255,192,255,192,255,192,255,192,255, - 192,30,0,30,0,127,128,127,128,127,128,63,0,30,0,8, - 10,10,17,253,255,24,60,90,24,24,24,24,255,0,255,10, - 12,24,17,252,254,12,0,30,0,127,128,127,128,127,128,30, - 0,30,0,255,192,255,192,255,192,255,192,255,192,16,8,16, - 17,242,251,1,0,7,192,136,96,255,255,0,24,0,32,0, - 64,255,192,16,9,18,17,242,251,7,0,15,192,159,224,255, - 255,255,255,255,255,255,248,255,224,255,192,13,14,28,17,250, - 248,226,56,34,32,34,32,34,32,255,248,162,40,162,40,162, - 40,162,40,255,248,34,32,34,32,34,32,226,56,15,16,32, - 17,249,247,251,190,251,190,251,190,59,184,255,254,255,254,255, - 254,251,190,251,190,255,254,255,254,255,254,59,184,251,190,251, - 190,251,190,14,14,28,17,0,255,192,0,192,0,196,16,196, - 32,196,64,196,128,197,0,198,0,199,240,192,0,192,0,192, - 0,255,252,255,252,16,16,32,17,255,254,240,0,240,0,247, - 12,247,28,247,56,247,112,247,224,247,192,247,252,247,252,247, - 252,240,0,255,255,255,255,255,255,255,255,14,14,28,17,243, - 255,0,12,0,12,32,140,16,140,8,140,4,140,2,140,1, - 140,63,140,0,12,0,12,0,12,255,252,255,252,16,16,32, - 17,242,254,0,15,0,15,48,239,56,239,28,239,14,239,7, - 239,3,239,63,239,63,239,63,239,0,15,255,255,255,255,255, - 255,255,255,13,14,28,17,250,255,2,0,2,0,2,0,2, - 0,2,0,2,0,34,32,18,64,10,128,7,0,2,0,0, - 0,255,248,255,248,15,16,32,17,249,254,3,128,3,128,3, - 128,3,128,3,128,3,128,51,152,59,184,31,240,15,224,7, - 192,3,128,255,254,255,254,255,254,255,254,14,10,20,17,249, - 255,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,16,12,24,17,248,254,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,255,255,255,255,255, - 255,255,255,15,16,32,17,248,248,255,254,128,0,191,254,160, - 2,175,250,168,10,171,234,170,42,170,170,171,170,168,42,175, - 234,160,10,191,250,128,2,255,254,16,16,32,17,248,248,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,10, - 14,28,17,252,242,12,0,12,0,30,0,30,0,63,0,63, - 0,127,128,127,128,204,192,140,64,12,0,12,0,12,0,12, - 0,12,16,32,17,251,241,15,0,15,0,31,128,31,128,63, - 192,63,192,127,224,127,224,255,240,255,240,255,240,239,112,15, - 0,15,0,15,0,15,0,14,14,28,17,249,249,7,128,31, - 224,63,240,120,120,112,56,224,28,224,28,224,28,224,28,112, - 56,120,120,63,240,31,224,7,128,16,16,32,17,248,248,7, - 224,31,248,63,252,127,254,127,254,252,63,248,31,248,31,248, - 31,248,31,252,63,127,254,127,254,63,252,31,248,7,224,14, - 16,32,17,250,243,63,240,103,152,200,204,147,36,158,36,136, - 68,199,140,127,248,83,40,83,40,83,40,87,168,211,44,240, - 60,255,252,255,252,15,16,32,17,250,243,127,248,239,156,219, - 238,183,182,191,246,159,102,207,206,255,252,215,172,215,172,215, - 172,223,236,215,174,243,62,255,254,255,254,15,16,32,17,249, - 249,31,240,32,8,96,6,80,26,79,226,192,2,192,2,64, - 2,64,2,89,26,106,170,235,170,218,154,64,2,64,2,63, - 252,16,16,32,17,249,249,31,240,63,248,127,255,127,255,255, - 255,255,255,255,255,255,255,127,255,127,255,255,255,255,255,255, - 255,255,255,127,255,63,252,16,15,30,17,249,248,2,128,2, - 128,2,128,2,128,2,128,2,128,254,255,0,0,254,255,2, - 128,2,128,2,128,2,128,2,128,2,128,16,16,32,17,249, - 247,7,192,7,192,7,192,7,192,7,192,255,255,255,255,255, - 255,255,255,255,255,7,192,7,192,7,192,7,192,7,192,7, - 192,16,15,30,17,249,248,66,132,162,138,82,148,42,168,22, - 208,10,160,253,127,2,128,253,127,10,160,22,208,42,168,82, - 148,162,138,66,132,16,15,30,17,249,248,102,204,182,219,222, - 246,110,236,54,216,250,191,252,127,1,0,252,127,250,191,54, - 216,110,236,222,246,182,219,102,204,16,15,30,17,249,248,1, - 0,1,0,1,0,1,0,1,0,1,0,1,0,254,255,1, - 0,1,0,1,0,1,0,1,0,1,0,1,0,16,16,32, - 17,249,247,3,128,3,128,3,128,3,128,3,128,3,128,255, - 255,255,255,255,255,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,15,15,30,17,249,248,2,128,6,192,10,160,18, - 144,34,136,66,132,254,254,0,0,254,254,66,132,34,136,18, - 144,10,160,6,192,2,128,16,16,32,17,249,247,7,192,15, - 224,31,240,59,184,115,156,227,142,255,255,254,255,255,255,227, - 142,115,156,59,184,31,240,15,224,7,192,3,128,10,10,20, - 17,251,251,30,0,127,128,127,128,255,192,255,192,255,192,255, - 192,127,128,127,128,30,0,12,12,24,17,250,250,31,128,127, - 224,127,224,255,240,255,240,255,240,255,240,255,240,255,240,127, - 224,127,224,31,128,12,12,24,17,250,249,255,240,128,16,128, - 16,128,16,128,16,134,16,134,16,128,16,128,16,128,16,128, - 16,255,240,14,14,28,17,249,248,255,252,255,252,255,252,224, - 28,224,28,231,156,231,156,231,156,231,156,224,28,224,28,255, - 252,255,252,255,252,10,14,28,17,251,249,12,0,30,0,63, - 0,109,128,204,192,12,0,12,0,12,0,12,0,204,192,109, - 128,63,0,30,0,12,0,12,16,32,17,250,248,15,0,31, - 128,63,192,127,224,255,240,255,240,255,240,15,0,15,0,255, - 240,255,240,255,240,127,224,63,192,31,128,15,0,15,15,30, - 17,242,241,0,2,0,12,0,60,0,248,3,248,15,240,63, - 240,1,224,2,224,4,192,8,192,16,128,32,128,64,0,128, - 0,15,16,32,17,242,240,0,6,0,30,0,126,1,252,7, - 248,31,248,127,240,127,240,7,224,15,224,29,192,57,192,113, - 128,225,128,192,0,128,0,15,15,30,17,242,241,0,2,0, - 12,0,60,0,248,3,248,0,112,0,176,1,32,2,32,4, - 0,8,0,16,0,32,0,64,0,128,0,15,15,30,17,242, - 241,0,6,0,30,0,124,1,252,7,248,7,248,1,240,3, - 240,7,96,14,64,28,0,56,0,112,0,224,0,192,0,12, - 12,24,17,250,249,255,240,137,16,153,144,176,208,224,112,134, - 16,134,16,224,112,176,208,153,144,137,16,255,240,14,14,28, - 17,249,248,255,252,255,252,207,204,223,236,252,252,251,124,247, - 188,247,188,251,124,252,252,223,236,207,204,255,252,255,252,14, - 14,28,17,250,248,143,192,223,224,248,48,144,16,152,0,252, - 0,0,0,0,0,0,252,0,100,32,36,48,124,31,236,15, - 196,16,16,32,17,249,247,199,224,239,240,255,248,255,252,252, - 28,255,12,255,0,255,0,0,255,0,255,48,127,56,63,63, - 255,31,255,15,247,7,227,14,14,28,17,249,249,3,0,7, - 128,15,192,3,0,35,16,99,24,255,252,255,252,99,24,35, - 16,3,0,15,192,7,128,3,0,16,16,32,17,248,248,3, - 192,3,224,7,224,15,240,23,232,59,220,255,255,255,255,255, - 255,255,255,59,220,23,232,15,240,7,224,3,192,3,192,16, - 15,30,17,242,243,0,120,0,112,128,51,159,176,255,240,254, - 48,252,48,96,56,0,240,31,224,8,0,8,0,8,0,8, - 0,30,0,16,16,32,17,242,243,0,252,0,252,192,255,255, - 255,255,255,255,252,255,252,255,252,255,252,255,252,127,248,31, - 240,28,0,28,0,63,0,63,0,16,16,32,17,254,240,63, - 0,16,128,200,64,234,160,200,32,203,160,248,60,56,63,8, - 39,8,39,9,47,9,39,9,32,17,16,33,8,62,248,16, - 16,32,17,254,240,63,0,223,128,239,192,255,224,239,224,239, - 252,255,254,255,255,63,239,15,239,15,255,15,239,15,231,31, - 240,63,248,62,248,13,16,32,17,244,240,0,24,0,120,1, - 224,3,192,7,128,15,192,31,224,95,192,255,224,191,224,15, - 192,15,128,148,0,196,0,104,0,48,0,13,16,32,17,244, - 240,0,56,0,248,3,240,7,224,15,192,31,224,127,240,255, - 240,255,240,255,240,255,224,255,192,255,128,254,0,252,0,120, - 0,15,14,28,17,0,242,127,128,128,64,126,32,16,16,14, - 16,16,16,14,40,16,68,12,130,3,4,2,72,1,16,0, - 160,0,64,16,16,32,17,0,241,127,128,255,192,255,224,255, - 240,127,248,31,248,63,248,31,252,63,254,31,255,15,254,7, - 252,3,248,1,240,0,224,0,64,15,14,28,17,250,250,62, - 248,99,140,193,6,128,2,128,2,128,2,128,2,192,6,96, - 12,48,24,24,48,12,96,6,192,3,128,15,14,28,17,250, - 250,62,248,127,252,227,142,193,6,192,6,192,6,194,134,225, - 14,112,28,56,56,28,112,15,224,7,192,3,128,16,16,32, - 17,248,248,255,255,213,85,170,171,213,85,160,11,208,5,160, - 11,208,5,160,11,208,5,160,11,208,5,170,171,213,85,170, - 171,255,255,16,16,32,17,248,248,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,14,14,28,17,249,248,127, - 248,63,240,159,228,207,204,231,156,243,60,255,252,255,252,243, - 60,231,156,207,204,159,228,63,240,127,248,16,16,32,17,248, - 247,63,252,127,254,127,254,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,127,254,127,254,63, - 252,8,14,14,17,0,242,128,192,224,240,248,252,254,255,248, - 216,140,12,6,6,10,16,32,17,255,241,192,0,224,0,240, - 0,248,0,252,0,254,0,255,0,255,128,255,192,255,192,254, - 0,239,0,207,0,7,128,7,128,3,0,14,13,26,17,0, - 249,192,0,192,0,193,0,194,0,196,0,200,0,223,252,200, - 0,196,0,194,0,193,0,192,0,192,0,16,15,30,17,255, - 248,240,0,240,0,240,192,241,192,243,128,247,0,255,255,255, - 255,255,255,247,0,243,128,241,192,240,192,240,0,240,0,10, - 14,28,17,0,249,192,0,192,0,192,0,192,0,192,0,192, - 0,255,192,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,12,16,32,17,255,248,240,0,240,0,240,0,240,0,240, - 0,240,0,255,240,255,240,255,240,255,240,240,0,240,0,240, - 0,240,0,240,0,240,0,16,16,32,17,248,248,128,3,127, - 253,127,253,68,69,69,85,69,85,69,85,69,85,68,69,127, - 253,127,253,127,253,127,253,127,253,127,253,128,3,15,16,32, - 17,248,248,127,252,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,127,252,10,10,20,17,0,255,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,255,192,255,192,12,12,24, - 17,255,254,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,255,240,255,240,255,240,255,240,10,10,20,17,247, - 255,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,255,192,255,192,12,12,24,17,246,254,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,255,240,255,240,255, - 240,255,240,16,16,32,17,242,245,3,128,30,240,2,128,129, - 0,67,135,36,75,29,112,5,64,4,64,2,128,4,64,9, - 32,18,144,20,80,120,60,248,63,16,16,32,17,242,245,31, - 224,63,240,63,248,195,130,231,199,127,255,63,251,31,240,7, - 224,7,192,15,224,31,240,63,248,126,252,252,127,252,127,16, - 16,32,17,248,248,128,3,127,253,127,253,68,69,84,85,84, - 85,84,85,84,85,68,69,127,253,127,253,127,253,127,253,127, - 253,127,253,128,3,15,16,32,17,248,248,127,252,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,127,252,15,14,28,17,252, - 243,7,0,12,0,6,0,3,0,127,248,128,4,179,54,179, - 54,179,54,128,6,128,6,96,28,24,96,7,128,16,16,32, - 17,252,241,15,128,30,0,15,0,7,0,127,248,255,252,255, - 255,255,255,255,255,255,255,255,255,255,255,63,247,31,224,15, - 192,7,128,11,16,32,17,246,255,112,0,136,0,140,0,74, - 0,122,0,33,0,17,0,16,128,8,128,12,64,4,64,2, - 32,1,224,0,224,0,96,0,32,13,16,32,17,245,255,252, - 0,254,0,255,0,127,0,63,128,63,128,31,192,15,192,15, - 224,7,224,7,240,3,248,1,248,0,248,0,120,0,56,15, - 16,32,17,249,252,7,128,15,192,31,224,51,48,51,48,31, - 224,15,192,7,128,135,132,135,134,67,8,56,112,7,128,31, - 226,240,62,128,4,16,16,32,17,249,252,15,192,31,224,63, - 240,127,248,127,248,63,240,31,224,143,193,143,199,207,207,247, - 156,120,120,7,128,127,227,255,255,240,62,10,10,20,17,252, - 251,12,0,12,0,12,0,12,0,255,192,255,192,12,0,12, - 0,12,0,12,0,12,12,24,17,251,250,15,0,15,0,15, - 0,15,0,255,240,255,240,255,240,255,240,15,0,15,0,15, - 0,15,0,9,15,30,17,252,248,62,0,127,0,227,128,193, - 128,225,128,99,128,7,0,30,0,28,0,20,0,20,0,119, - 0,54,0,28,0,8,0,11,16,32,17,251,248,31,0,63, - 128,127,192,255,224,241,224,249,224,123,224,63,192,31,128,31, - 0,31,0,63,128,127,192,63,128,31,0,14,0,8,14,14, - 17,249,242,1,3,7,15,31,63,127,255,31,27,49,48,96, - 96,10,16,32,17,248,241,0,192,1,192,3,192,7,192,15, - 192,31,192,63,192,127,192,255,192,255,192,31,192,61,192,60, - 192,120,0,120,0,48,0,14,13,26,17,243,249,0,12,0, - 12,2,12,1,12,0,140,0,76,255,236,0,76,0,140,1, - 12,2,12,0,12,0,12,16,15,30,17,242,248,0,15,0, - 15,3,15,3,143,1,207,0,239,255,255,255,255,255,255,0, - 239,1,207,3,143,3,15,0,15,0,15,10,14,28,17,247, - 249,0,192,0,192,0,192,0,192,0,192,0,192,255,192,255, - 192,0,192,0,192,0,192,0,192,0,192,0,192,12,16,32, - 17,246,248,0,240,0,240,0,240,0,240,0,240,0,240,255, - 240,255,240,255,240,255,240,0,240,0,240,0,240,0,240,0, - 240,0,240,16,16,32,17,248,248,128,3,127,253,127,253,68, - 69,85,69,85,69,85,69,85,69,68,69,127,253,127,253,127, - 253,127,253,127,253,127,253,128,3,15,16,32,17,248,248,127, - 252,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,127,252,14, - 14,28,17,250,248,255,252,128,68,128,68,128,68,255,196,136, - 68,136,68,136,68,136,68,143,252,136,4,136,4,136,4,255, - 252,16,16,32,17,249,247,255,255,255,255,255,255,224,119,255, - 247,255,247,255,247,238,119,238,119,239,255,239,255,239,255,238, - 7,255,255,255,255,255,255,12,13,26,17,250,242,1,0,1, - 0,5,128,5,128,13,128,13,192,29,192,29,192,61,224,61, - 224,125,224,125,240,248,224,16,16,32,17,248,240,0,192,0, - 224,1,224,3,240,3,240,7,240,7,248,15,248,15,248,31, - 252,31,252,63,252,63,255,127,255,255,248,127,224,7,15,15, - 17,253,0,40,40,40,40,40,40,40,40,40,40,40,254,124, - 56,16,9,16,32,17,252,255,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,255,128,255,128, - 127,0,62,0,28,0,8,0,15,7,14,17,249,252,16,16, - 48,24,127,252,240,30,127,252,48,24,16,16,15,9,18,17, - 249,251,24,48,56,56,127,252,255,254,255,254,255,254,127,252, - 56,56,24,48,15,7,14,17,1,252,16,0,48,0,127,254, - 240,0,127,254,48,0,16,0,16,9,18,17,0,251,12,0, - 28,0,63,255,127,255,255,255,127,255,63,255,28,0,12,0, - 15,7,14,17,241,252,0,16,0,24,255,252,0,30,255,252, - 0,24,0,16,16,9,18,17,241,251,0,48,0,56,255,252, - 255,254,255,255,255,254,255,252,0,56,0,48,7,15,15,17, - 253,240,16,56,124,254,40,40,40,40,40,40,40,40,40,40, - 40,9,16,32,17,252,240,8,0,28,0,62,0,127,0,255, - 128,255,128,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,7,15,15,17,253,248,16,56,124, - 254,40,40,40,40,40,40,40,254,124,56,16,9,15,30,17, - 252,248,28,0,62,0,127,0,255,128,255,128,62,0,62,0, - 62,0,62,0,62,0,255,128,255,128,127,0,62,0,28,0, - 15,16,32,17,246,240,0,32,0,112,0,248,1,222,5,222, - 9,222,17,222,17,222,17,222,17,222,49,222,113,222,253,222, - 24,136,0,120,0,48,16,16,32,17,245,240,0,56,0,124, - 0,254,0,255,6,255,14,255,30,255,30,255,30,255,30,255, - 62,255,126,255,254,255,126,254,12,126,0,60,14,14,28,17, - 249,249,255,0,128,0,128,0,128,0,143,192,136,64,136,68, - 136,68,8,68,15,196,0,36,0,20,0,12,3,252,16,16, - 32,17,248,248,255,192,255,192,255,192,224,0,239,240,239,240, - 239,247,238,119,238,119,239,247,15,247,15,255,0,31,3,255, - 3,255,3,255,16,16,32,17,250,247,32,16,16,32,16,32, - 8,64,8,64,135,135,103,152,31,224,31,224,103,152,135,135, - 8,64,8,64,16,32,16,32,32,16,16,16,32,17,250,247, - 96,24,48,48,16,32,24,96,143,193,207,207,111,220,63,240, - 63,224,111,248,207,207,143,193,24,64,24,96,48,48,96,24, - 11,16,32,17,247,242,0,96,1,0,52,96,121,0,104,96, - 252,0,132,0,228,0,164,0,228,0,164,0,228,0,228,0, - 132,0,132,0,252,0,12,16,32,17,246,242,0,48,24,176, - 62,176,62,176,126,176,255,0,255,0,255,0,255,0,255,0, - 255,0,255,0,255,0,255,0,255,0,255,0,15,16,32,17, - 249,247,1,0,2,128,2,128,2,128,4,64,4,64,4,64, - 57,56,192,6,56,56,9,32,18,144,36,72,40,40,48,24, - 32,8,16,16,32,17,249,247,1,0,3,128,3,128,6,192, - 6,192,12,96,28,120,249,62,192,7,248,62,57,56,51,152, - 102,204,108,108,120,60,112,28,15,13,26,17,249,249,3,128, - 15,224,28,112,48,24,96,12,193,6,194,134,193,6,96,12, - 48,24,28,112,15,224,3,128,16,14,28,17,249,249,7,192, - 15,224,31,240,60,120,112,28,225,14,195,135,198,199,195,135, - 225,14,112,28,60,120,31,240,7,192,13,13,26,16,250,249, - 2,0,2,0,2,0,2,0,2,0,2,0,255,248,2,0, - 2,0,2,0,2,0,2,0,2,0,15,15,30,16,249,248, - 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, - 255,254,3,128,3,128,3,128,3,128,3,128,3,128,14,14, - 28,17,0,242,192,0,240,0,124,0,127,0,63,192,63,240, - 31,0,31,0,12,128,12,64,4,32,4,16,0,8,0,4, - 16,16,32,17,255,241,224,0,248,0,254,0,127,128,127,224, - 63,252,63,252,31,252,31,192,15,224,15,112,7,56,7,28, - 7,14,0,7,0,3,14,14,28,17,0,242,255,252,255,252, - 192,0,192,0,192,0,199,240,198,0,197,0,196,128,196,64, - 196,32,196,16,192,0,192,0,16,16,32,17,255,241,255,255, - 255,255,255,255,255,255,240,0,247,252,247,252,247,252,247,192, - 247,224,247,112,247,56,247,28,247,12,240,0,240,0,14,14, - 28,17,243,242,255,252,255,252,0,12,0,12,0,12,63,140, - 1,140,2,140,4,140,8,140,16,140,32,140,0,12,0,12, - 16,16,32,17,242,241,255,255,255,255,255,255,255,255,0,15, - 63,239,63,239,63,239,3,239,7,239,14,239,28,239,56,239, - 48,239,0,15,0,15,13,14,28,17,250,242,255,248,255,248, - 0,0,2,0,7,0,10,128,18,64,34,32,2,0,2,0, - 2,0,2,0,2,0,2,0,15,16,32,17,249,241,255,254, - 255,254,255,254,255,254,3,128,7,192,15,224,31,240,59,184, - 51,152,3,128,3,128,3,128,3,128,3,128,3,128,14,10, - 20,17,249,246,255,252,255,252,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,16,12,24,17,248,245,255,255, - 255,255,255,255,255,255,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,7,16,16,17,253,240,16,0,56,124, - 254,238,254,124,56,16,186,214,146,130,130,130,9,16,32,17, - 252,240,28,0,28,0,62,0,127,0,255,128,255,128,255,128, - 127,0,62,0,93,0,255,128,255,128,255,128,235,128,235,128, - 227,128,10,10,20,17,0,246,255,192,255,192,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,12,12,24,17, - 255,245,255,240,255,240,255,240,255,240,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,14,14,28,17,249,244, - 17,32,4,80,147,76,79,144,50,96,194,24,2,0,2,0, - 2,0,2,0,2,0,2,128,2,128,1,0,16,16,32,17, - 248,242,23,110,223,251,191,252,127,255,255,252,255,255,243,158, - 3,128,3,128,3,128,3,128,3,224,3,224,3,224,3,224, - 1,192,10,10,20,17,247,246,255,192,255,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,12,12,24,17, - 246,245,255,240,255,240,255,240,255,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,16,16,32,17,241,249, - 31,224,31,224,31,224,63,240,97,24,193,12,129,7,131,135, - 131,135,132,7,200,12,96,24,63,240,31,224,31,224,31,224, - 16,16,32,17,241,249,63,240,63,240,63,240,127,248,255,252, - 255,255,255,255,255,255,255,255,255,255,255,255,255,252,127,248, - 63,240,63,240,63,240,7,14,14,10,253,249,238,56,16,16, - 16,16,16,16,16,16,16,16,56,238,9,16,32,10,252,248, - 247,128,255,128,255,128,62,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,255,128,247,128, - 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,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,255,255,255,255}; -/* - Fontname: cursor - Copyright: These - Capital A Height: 0, '1' Height: 0 - Calculated Max Values w=16 h=16 x= 0 y= 0 dx=17 dy= 0 ascent= 7 len=32 - Font Bounding box w=31 h=31 x=-15 y=-16 - Calculated Min Values x=-14 y=-16 dx= 0 dy= 0 - Pure Font ascent = 0 descent= 0 - X Font ascent = 0 descent= 0 - Max Font ascent = 7 descent=-16 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cursorr[492] U8G_FONT_SECTION("u8g_font_cursorr") = { - 0,31,31,241,240,0,1,6,0,0,32,80,0,7,240,0, - 0,255,255,14,14,28,17,243,242,0,12,0,60,0,248,3, - 248,15,240,63,240,3,224,7,224,14,192,28,192,56,128,112, - 128,224,0,64,0,16,16,32,17,242,241,0,7,0,31,0, - 127,1,254,7,254,31,252,63,252,63,248,7,248,15,240,31, - 240,62,224,124,224,248,64,112,0,32,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,10,14,28, - 17,252,242,12,0,12,0,30,0,30,0,63,0,63,0,127, - 128,127,128,204,192,140,64,12,0,12,0,12,0,12,0,12, - 16,32,17,251,241,15,0,15,0,31,128,31,128,63,192,63, - 192,127,224,127,224,255,240,255,240,255,240,239,112,15,0,15, - 0,15,0,15,0,255,255,255,255,255,255,16,15,30,17,249, - 248,2,128,2,128,2,128,2,128,2,128,2,128,254,255,0, - 0,254,255,2,128,2,128,2,128,2,128,2,128,2,128,16, - 16,32,17,249,247,7,192,7,192,7,192,7,192,7,192,255, - 255,255,255,255,255,255,255,255,255,7,192,7,192,7,192,7, - 192,7,192,7,192,255,255,16,15,30,17,249,248,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,254,255,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,16,16,32,17,249, - 247,3,128,3,128,3,128,3,128,3,128,3,128,255,255,255, - 255,255,255,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,255,255,255,255,255,255,255,255,15,15,30,17,242,241,0, - 2,0,12,0,60,0,248,3,248,15,240,63,240,1,224,2, - 224,4,192,8,192,16,128,32,128,64,0,128,0,15,16,32, - 17,242,240,0,6,0,30,0,126,1,252,7,248,31,248,127, - 240,127,240,7,224,15,224,29,192,57,192,113,128,225,128,192, - 0,128,0,15,15,30,17,242,241,0,2,0,12,0,60,0, - 248,3,248,0,112,0,176,1,32,2,32,4,0,8,0,16, - 0,32,0,64,0,128,0,15,15,30,17,242,241,0,6,0, - 30,0,124,1,252,7,248,7,248,1,240,3,240,7,96,14, - 64,28,0,56,0,112,0,224,0,192,0,255}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 7 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 = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0[1702] U8G_FONT_SECTION("u8g_font_fixed_v0") = { - 1,7,9,0,254,7,1,46,2,94,32,255,254,7,254,7, - 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, - 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, - 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, - 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, - 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, - 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, - 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, - 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, - 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, - 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, - 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, - 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, - 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, - 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, - 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, - 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, - 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, - 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, - 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, - 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, - 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, - 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, - 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, - 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, - 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, - 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, - 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, - 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, - 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, - 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, - 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, - 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, - 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, - 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, - 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, - 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, - 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, - 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, - 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, - 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, - 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, - 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, - 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, - 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, - 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, - 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, - 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, - 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, - 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, - 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, - 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, - 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, - 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, - 103,192,32,16,24,16,32,192,4,82,98,72,176,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,255,2, - 87,103,48,0,248,32,32,32,248,2,87,103,32,112,168,160, - 168,112,32,2,87,103,64,64,64,240,64,72,120,3,85,101, - 136,112,80,112,136,2,87,103,136,136,80,248,32,248,32,34, - 23,103,128,128,128,0,128,128,128,2,87,103,120,128,120,136, - 240,8,240,5,81,97,248,2,87,103,112,136,168,200,168,136, - 112,2,87,103,112,8,120,136,120,0,248,4,83,99,72,144, - 72,4,82,98,248,8,255,2,87,103,112,136,248,200,200,136, - 112,8,81,97,248,20,51,99,64,160,64,2,87,103,32,32, - 248,32,32,0,248,255,255,255,255,255,255,255,255,255,4,83, - 99,144,72,144,255,255,255,255,2,87,103,64,32,112,136,248, - 136,136,2,87,103,16,32,112,136,248,136,136,2,87,103,32, - 80,112,136,248,136,136,2,87,103,72,176,112,136,248,136,136, - 2,87,103,80,0,112,136,248,136,136,2,87,103,112,0,112, - 136,248,136,136,2,87,103,120,160,160,240,160,160,184,0,89, - 105,112,136,128,128,128,136,112,32,96,2,87,103,64,32,248, - 128,224,128,248,2,87,103,16,32,248,128,224,128,248,2,87, - 103,32,80,248,128,224,128,248,2,87,103,80,0,248,128,224, - 128,248,2,87,103,64,32,248,32,32,32,248,2,87,103,16, - 32,248,32,32,32,248,2,87,103,32,80,248,32,32,32,248, - 2,87,103,80,0,248,32,32,32,248,2,87,103,240,136,136, - 232,136,136,240,2,87,103,72,176,136,200,168,152,136,2,87, - 103,64,32,112,136,136,136,112,2,87,103,16,32,112,136,136, - 136,112,2,87,103,32,80,112,136,136,136,112,2,87,103,72, - 176,112,136,136,136,112,2,87,103,80,0,112,136,136,136,112, - 20,51,99,160,64,160,2,87,103,112,136,152,168,200,136,112, - 2,87,103,64,32,136,136,136,136,112,2,87,103,16,32,136, - 136,136,136,112,2,87,103,32,80,136,136,136,136,112,2,87, - 103,80,0,136,136,136,136,112,2,87,103,16,32,136,136,80, - 32,32,2,87,103,128,128,240,136,240,128,128,0,89,105,240, - 136,136,176,136,136,176,128,128,2,87,103,64,32,112,8,120, - 136,120,2,87,103,16,32,112,8,120,136,120,2,87,103,32, - 80,112,8,120,136,120,2,87,103,72,176,112,8,120,136,120, - 2,87,103,80,0,112,8,120,136,120,2,87,103,48,0,112, - 8,120,136,120,2,85,101,240,40,120,160,120,0,87,103,112, - 136,128,136,112,32,96,2,87,103,64,32,112,136,248,128,120, - 2,87,103,16,32,112,136,248,128,120,2,87,103,32,80,112, - 136,248,128,120,2,87,103,80,0,112,136,248,128,120,2,87, - 103,64,32,248,32,32,32,248,2,87,103,16,32,248,32,32, - 32,248,2,87,103,32,80,248,32,32,32,248,2,87,103,80, - 0,248,32,32,32,248,2,87,103,8,56,8,120,136,136,120, - 2,87,103,72,176,176,200,136,136,136,2,87,103,64,32,112, - 136,136,136,112,2,87,103,16,32,112,136,136,136,112,2,87, - 103,32,80,112,136,136,136,112,2,87,103,72,176,112,136,136, - 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, - 0,248,0,32,2,85,101,112,152,168,200,112,2,87,103,64, - 32,136,136,136,136,112,2,87,103,16,32,136,136,136,136,112, - 2,87,103,32,80,136,136,136,136,112,2,87,103,80,0,136, - 136,136,136,112,0,89,105,16,32,136,136,136,136,120,8,112, - 2,87,103,128,128,240,136,240,128,128,0,89,105,80,0,136, - 136,136,136,120,8,112}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 5 h= 7 x= 1 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 7 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 7 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[167] U8G_FONT_SECTION("u8g_font_fixed_v0n") = { - 1,7,9,0,254,7,0,0,0,0,42,58,0,7,0,7, - 0,2,87,103,32,168,112,32,112,168,32,3,85,101,32,32, - 248,32,32,18,34,98,64,128,5,81,97,248,18,18,98,128, - 128,2,87,103,8,16,16,32,64,64,128,2,87,103,112,136, - 136,136,136,136,112,2,87,103,32,96,32,32,32,32,248,2, - 87,103,112,136,8,16,32,64,248,2,87,103,240,8,8,48, - 8,8,240,2,87,103,16,144,144,248,16,16,16,2,87,103, - 248,128,128,240,8,8,240,2,87,103,112,128,128,240,136,136, - 112,2,87,103,248,8,8,8,8,8,8,2,87,103,112,136, - 136,112,136,136,112,2,87,103,112,136,136,248,8,8,112,18, - 21,101,128,128,0,128,128}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 7 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 = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[878] U8G_FONT_SECTION("u8g_font_fixed_v0r") = { - 1,7,9,0,254,7,1,46,2,94,32,127,254,7,254,7, - 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, - 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, - 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, - 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, - 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, - 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, - 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, - 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, - 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, - 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, - 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, - 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, - 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, - 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, - 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, - 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, - 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, - 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, - 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, - 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, - 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, - 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, - 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, - 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, - 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, - 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, - 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, - 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, - 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, - 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, - 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, - 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, - 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, - 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, - 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, - 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, - 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, - 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, - 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, - 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, - 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, - 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, - 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, - 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, - 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, - 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, - 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, - 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, - 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, - 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, - 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, - 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, - 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, - 103,192,32,16,24,16,32,192,4,82,98,72,176,255}; -/* - Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO8859-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=10 x= 4 y=10 dx= 8 dy= 0 ascent=12 len=10 - Font Bounding box w= 7 h=12 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =10 descent= 1 - X Font ascent =12 descent= 0 - Max Font ascent =12 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[1042] U8G_FONT_SECTION("u8g_font_freedoomr10r") = { - 0,7,12,0,0,10,1,113,3,88,32,127,1,12,0,12, - 0,0,0,0,7,0,1,0,0,0,7,0,1,0,0,0, - 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, - 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, - 1,3,10,10,7,0,2,96,128,128,128,128,128,128,128,128, - 96,3,10,10,7,3,2,192,32,32,32,32,32,32,32,32, - 192,5,5,5,8,1,7,168,112,32,112,168,7,7,7,8, - 0,4,16,16,16,254,16,16,16,2,2,2,7,2,10,64, - 128,7,1,1,8,0,7,254,2,2,2,7,2,2,192,192, - 7,10,10,8,0,2,2,4,4,8,16,16,32,64,64,128, - 6,10,10,7,0,2,252,132,132,132,132,132,132,132,132,252, - 2,10,10,7,4,2,192,64,64,64,64,64,64,64,64,64, - 6,10,10,7,0,2,252,4,4,4,4,252,128,128,128,252, - 6,10,10,7,0,2,252,4,4,4,60,4,4,4,4,252, - 6,10,10,7,0,2,132,132,132,132,132,252,4,4,4,4, - 6,10,10,7,0,2,252,128,128,128,252,4,4,4,4,252, - 6,10,10,7,0,2,252,128,128,128,252,132,132,132,132,252, - 6,10,10,7,0,2,252,4,4,4,4,4,4,4,4,4, - 6,10,10,7,0,2,252,132,132,132,252,132,132,132,132,252, - 6,10,10,7,0,2,252,132,132,132,252,4,4,4,4,252, - 2,7,7,7,2,2,192,192,0,0,0,192,192,0,0,0, - 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, - 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, - 1,7,10,10,8,0,2,254,130,130,130,130,254,130,130,130, - 130,7,10,10,8,0,2,254,130,130,130,252,130,130,130,130, - 254,7,10,10,8,0,2,254,128,128,128,128,128,128,128,128, - 254,7,10,10,8,0,2,252,130,130,130,130,130,130,130,130, - 252,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, - 254,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, - 128,7,10,10,8,0,2,254,128,128,128,158,130,130,130,130, - 254,7,10,10,8,0,2,130,130,130,130,254,130,130,130,130, - 130,1,10,10,8,3,2,128,128,128,128,128,128,128,128,128, - 128,7,10,10,8,0,2,30,2,2,2,2,2,130,130,130, - 124,7,10,10,8,0,2,130,132,136,144,224,160,144,136,132, - 130,7,10,10,8,0,2,128,128,128,128,128,128,128,128,128, - 254,7,10,10,8,0,2,130,198,170,146,130,130,130,130,130, - 130,7,10,10,8,0,2,194,194,162,162,146,146,138,138,134, - 134,7,10,10,8,0,2,124,130,130,130,130,130,130,130,130, - 124,7,10,10,8,0,2,254,130,130,130,254,128,128,128,128, - 128,7,10,10,8,0,2,120,132,132,132,132,132,132,132,132, - 126,7,10,10,8,0,2,254,130,130,130,254,160,144,136,132, - 130,7,10,10,8,0,2,254,128,128,128,128,254,2,2,2, - 254,7,9,9,8,0,3,254,16,16,16,16,16,16,16,16, - 7,10,10,8,0,2,130,130,130,130,130,130,130,130,130,254, - 7,10,10,8,0,2,130,130,130,68,68,108,40,40,16,16, - 7,10,10,8,0,2,130,130,130,130,130,146,146,170,170,198, - 7,10,10,8,0,2,130,68,68,40,16,16,40,68,68,130, - 7,10,10,8,0,2,130,130,130,130,254,16,16,16,16,16, - 7,10,10,8,0,2,254,2,6,12,24,48,96,192,128,254, - 4,10,10,7,0,2,240,128,128,128,128,128,128,128,128,240, - 6,10,10,7,0,2,128,64,64,32,32,16,16,8,8,4, - 4,10,10,7,2,2,240,16,16,16,16,16,16,16,16,240, - 5,3,3,7,1,9,32,80,136,6,1,1,7,0,2,252, - 2,2,2,7,2,10,128,64,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1}; -/* - Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=24 x= 7 y=13 dx=19 dy= 0 ascent=26 len=72 - Font Bounding box w=18 h=26 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =26 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[943] U8G_FONT_SECTION("u8g_font_freedoomr25n") = { - 0,18,26,0,0,24,3,112,3,144,32,127,0,26,0,24, - 0,0,0,0,11,0,0,255,255,255,255,255,255,255,255,255, - 255,17,16,48,19,1,6,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,255,255,128,255, - 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,7,8,8,11,3,2,62,62,62, - 62,62,240,240,240,9,2,4,11,1,13,255,128,255,128,5, - 5,5,11,5,2,248,248,248,248,248,255,17,24,72,19,1, - 2,255,255,128,255,255,128,192,3,128,192,3,128,192,3,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,192,3,128,192,3,128, - 255,255,128,255,255,128,255,255,128,6,24,24,19,7,2,252, - 252,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,17,24,72,19,1,2,255,255,128, - 255,255,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,128,0,3,128,0,3,128,0,3,128,0,3,128,255,255, - 128,255,255,128,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,255,255,128,255, - 255,128,255,255,128,17,24,72,19,1,2,255,255,128,255,255, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,0,3,128,0,3,128,31,255,128,31, - 255,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, - 128,0,3,128,0,3,128,0,3,128,255,255,128,255,255,128, - 255,255,128,17,24,72,19,1,2,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, - 128,17,24,72,19,1,2,255,255,128,255,255,128,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,255,255,128,255,255,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,17, - 24,72,19,1,2,255,255,128,255,255,128,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,255,255,128,255,255,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,255,255,128,255,255,128,255,255,128,16,24,48, - 19,2,2,255,255,255,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,17,24,72,19,1,2,255,255,128,255,255,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,255,255,128,255,255,128,255,255, - 128,17,24,72,19,1,2,255,255,128,255,255,128,192,3,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,255,255,128,255,255,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,5, - 16,16,11,5,2,248,248,248,248,248,0,0,0,0,0,0, - 248,248,248,248,248,7,16,16,11,3,2,62,62,62,62,62, - 0,0,0,62,62,62,62,62,240,240,240,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,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,255,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=17 x= 4 y=10 dx=17 dy= 0 ascent=17 len=34 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =17 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11[3948] U8G_FONT_SECTION("u8g_font_fub11") = { - 0,24,21,255,252,11,2,82,5,55,32,255,253,17,252,11, - 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, - 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, - 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, - 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, - 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, - 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, - 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, - 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, - 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, - 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, - 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, - 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, - 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, - 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, - 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, - 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, - 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, - 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, - 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, - 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, - 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, - 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, - 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, - 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, - 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, - 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, - 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, - 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, - 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, - 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, - 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, - 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, - 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, - 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, - 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, - 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, - 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, - 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, - 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, - 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, - 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, - 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, - 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, - 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, - 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, - 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, - 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, - 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, - 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, - 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, - 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, - 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, - 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, - 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, - 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, - 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, - 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, - 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, - 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, - 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, - 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, - 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, - 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, - 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, - 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, - 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, - 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, - 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, - 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, - 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, - 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, - 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, - 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, - 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, - 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, - 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, - 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, - 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, - 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, - 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, - 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, - 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, - 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, - 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, - 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, - 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, - 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, - 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, - 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, - 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, - 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, - 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, - 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, - 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, - 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, - 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, - 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, - 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, - 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, - 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, - 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, - 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, - 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, - 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, - 0,3,121,223,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,5,0,0,2,11,11,6,2, - 253,192,0,0,192,192,192,192,192,192,192,192,7,12,12,9, - 1,254,4,4,60,110,206,208,208,214,110,60,32,64,8,11, - 11,10,1,0,62,119,96,96,252,96,96,96,96,96,255,9, - 8,16,10,1,2,128,128,93,0,34,0,65,0,65,0,34, - 0,93,0,128,128,9,11,22,11,1,0,195,128,99,0,103, - 0,247,128,62,0,60,0,255,128,24,0,24,0,24,0,24, - 0,1,14,14,5,2,253,128,128,128,128,128,128,0,0,128, - 128,128,128,128,128,6,14,14,8,1,253,120,236,192,224,120, - 124,204,204,248,120,28,12,156,248,5,1,1,5,0,10,216, - 12,11,22,14,1,0,31,128,57,192,111,96,217,176,152,16, - 152,16,153,144,143,16,64,32,48,192,31,128,5,8,8,7, - 1,3,112,216,120,216,216,120,0,248,8,6,6,10,1,1, - 103,102,238,206,102,103,9,4,8,10,0,3,255,128,0,128, - 0,128,0,128,255,12,11,22,14,1,0,31,128,57,192,111, - 96,201,176,136,144,143,16,137,144,136,144,72,160,48,192,31, - 128,5,1,1,5,0,10,248,4,4,4,6,1,7,96,208, - 144,240,9,10,20,16,3,0,8,0,8,0,8,0,255,128, - 8,0,8,0,8,0,0,0,0,0,255,128,5,6,6,7, - 1,5,112,216,24,48,192,248,5,7,7,7,1,4,112,216, - 24,112,24,216,112,3,3,3,4,1,9,96,192,128,255,7, - 14,14,9,1,253,126,244,244,244,244,116,20,20,20,20,20, - 20,20,20,2,2,2,4,1,4,192,192,4,4,4,3,0, - 252,64,48,176,224,3,6,6,5,1,5,96,224,96,96,96, - 96,6,8,8,8,1,3,120,252,204,204,204,120,0,252,8, - 6,6,10,1,1,204,102,103,103,102,204,12,11,22,13,1, - 0,224,128,97,128,99,0,99,0,102,0,108,224,12,224,25, - 224,25,96,51,240,96,96,11,11,22,13,1,0,97,0,227, - 0,98,0,102,0,100,0,109,224,27,96,24,96,49,192,35, - 0,99,224,12,11,22,13,1,0,120,192,216,128,113,128,217, - 0,115,0,6,96,4,224,13,224,25,96,25,240,48,96,7, - 11,11,9,1,253,24,0,24,24,56,112,224,192,194,254,60, - 11,16,32,11,0,0,24,0,12,0,4,0,0,0,0,0, - 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, - 127,192,96,224,224,96,11,16,32,11,0,0,3,0,2,0, - 4,0,0,0,0,0,14,0,14,0,15,0,27,0,27,128, - 57,128,49,128,63,192,127,192,96,224,224,96,11,16,32,11, - 0,0,6,0,14,0,25,0,0,0,0,0,14,0,14,0, - 15,0,27,0,27,128,57,128,49,128,63,192,127,192,96,224, - 224,96,11,15,30,11,0,0,13,0,23,0,0,0,0,0, - 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, - 127,192,96,224,224,96,11,15,30,11,0,0,27,0,0,0, - 0,0,0,0,14,0,14,0,15,0,27,0,27,0,59,128, - 49,128,63,192,127,192,96,224,224,96,10,17,34,12,1,0, - 12,0,18,0,18,0,30,0,0,0,0,0,12,0,30,0, - 30,0,63,0,51,0,51,0,99,128,127,128,255,192,192,192, - 192,192,15,11,22,16,0,0,3,254,7,128,7,128,13,128, - 29,128,25,254,57,128,63,128,97,128,97,128,193,254,10,15, - 30,12,1,252,31,0,119,128,97,192,192,0,192,0,192,0, - 192,0,193,192,97,192,115,128,62,0,8,0,14,0,2,0, - 28,0,8,16,16,10,1,0,96,48,24,0,0,255,192,192, - 192,192,255,192,192,192,192,255,8,16,16,10,1,0,12,8, - 16,0,0,255,192,192,192,192,255,192,192,192,192,255,8,16, - 16,10,1,0,24,60,36,0,0,255,192,192,192,192,255,192, - 192,192,192,255,8,15,15,10,1,0,102,0,0,0,255,192, - 192,192,192,255,192,192,192,192,255,4,16,16,4,255,0,192, - 96,48,0,0,48,48,48,48,48,48,48,48,48,48,48,4, - 16,16,4,1,0,112,96,192,0,0,192,192,192,192,192,192, - 192,192,192,192,192,4,16,16,4,0,0,96,240,144,0,0, - 96,96,96,96,96,96,96,96,96,96,96,5,15,15,5,0, - 0,216,0,0,0,48,48,48,48,48,48,48,48,48,48,48, - 11,11,22,12,0,0,127,0,99,128,96,192,96,224,96,96, - 252,96,96,96,96,224,96,192,99,128,127,0,10,15,30,12, - 1,0,25,0,22,0,0,0,0,0,240,192,240,192,248,192, - 216,192,220,192,204,192,206,192,198,192,199,192,195,192,195,192, - 11,16,32,13,1,0,24,0,8,0,12,0,0,0,0,0, - 31,0,123,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,123,192,31,0,11,16,32,13,1,0,3,0,2,0, - 4,0,0,0,0,0,31,0,123,192,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,0,11,16,32,13, - 1,0,14,0,27,0,17,0,0,0,0,0,31,0,123,192, - 96,192,192,96,192,96,192,96,192,96,192,96,96,192,123,192, - 31,0,11,15,30,13,1,0,31,0,0,0,0,0,0,0, - 31,0,123,192,96,192,192,96,192,96,192,96,192,96,224,224, - 96,192,127,192,31,0,11,15,30,13,1,0,27,0,0,0, - 0,0,0,0,31,0,123,192,96,192,192,96,192,96,192,96, - 192,96,192,96,96,192,123,192,31,0,8,8,8,16,4,0, - 129,195,102,24,24,36,66,129,11,11,22,13,1,0,31,160, - 59,192,96,192,193,96,194,96,196,96,200,96,208,96,224,192, - 123,128,191,0,10,16,32,12,1,0,48,0,24,0,8,0, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,62,0,10,16,32,12,1,0, - 3,0,6,0,4,0,0,0,0,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,62,0, - 10,16,32,12,1,0,28,0,30,0,51,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,62,0,10,15,30,12,1,0,51,0,0,0, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,115,128,62,0,10,16,32,10,0,0, - 6,0,6,0,4,0,0,0,0,0,225,192,113,128,51,128, - 59,0,31,0,30,0,12,0,12,0,12,0,12,0,12,0, - 8,11,11,10,1,0,192,192,254,199,195,195,199,254,192,192, - 192,8,11,11,10,1,0,124,238,198,206,220,216,206,199,195, - 219,222,7,12,12,9,1,0,96,48,16,0,60,110,6,126, - 230,198,238,118,7,12,12,9,1,0,12,24,16,0,60,110, - 6,126,230,198,238,118,7,12,12,9,1,0,56,44,68,0, - 60,110,6,126,230,198,238,118,7,11,11,9,1,0,60,0, - 0,60,110,6,126,230,198,238,118,7,11,11,9,1,0,108, - 0,0,60,230,6,126,230,198,238,118,7,13,13,9,1,0, - 24,36,36,60,0,60,102,6,126,230,198,238,126,13,8,16, - 15,1,0,60,224,103,176,7,24,127,248,231,0,199,24,237, - 184,120,240,7,12,12,9,1,252,60,110,198,192,192,198,110, - 60,16,28,4,56,7,13,13,9,1,0,96,32,48,16,0, - 60,110,198,254,192,198,110,60,7,13,13,9,1,0,12,12, - 24,16,0,60,110,198,254,192,198,110,60,7,13,13,9,1, - 0,24,56,44,68,0,60,110,198,254,192,198,110,60,7,12, - 12,9,1,0,108,0,0,0,60,110,198,254,192,206,110,60, - 3,12,12,4,0,0,192,96,32,0,96,96,96,96,96,96, - 96,96,3,12,12,4,1,0,96,192,128,0,192,192,192,192, - 192,192,192,192,5,12,12,4,0,0,96,208,136,0,96,96, - 96,96,96,96,96,96,5,11,11,5,0,0,216,0,0,48, - 48,48,48,48,48,48,48,8,11,11,10,1,0,51,28,102, - 62,103,195,195,195,195,103,60,7,11,11,9,1,0,60,0, - 0,220,238,198,198,198,198,198,198,8,13,13,10,1,0,96, - 48,16,8,0,60,102,195,195,195,195,102,60,8,13,13,10, - 1,0,6,12,8,16,0,60,102,195,195,195,195,102,60,8, - 13,13,10,1,0,24,28,36,34,0,60,102,195,195,195,195, - 102,60,8,11,11,10,1,0,60,0,0,60,102,195,195,195, - 195,102,60,8,12,12,10,1,0,102,0,0,0,60,102,195, - 195,195,195,102,60,10,6,12,16,3,2,12,0,0,0,255, - 192,0,0,0,0,12,0,8,10,10,10,1,255,1,62,102, - 207,203,211,227,118,252,128,7,12,12,9,1,0,96,48,16, - 0,198,198,198,198,198,198,238,118,7,12,12,9,1,0,12, - 24,16,0,198,198,198,198,198,198,238,118,7,12,12,9,1, - 0,56,40,68,0,198,198,198,198,198,198,238,118,7,11,11, - 9,1,0,108,0,0,198,198,198,198,198,198,238,118,9,16, - 32,9,0,253,7,0,6,0,12,0,8,0,0,0,99,128, - 99,0,115,0,54,0,54,0,30,0,28,0,28,0,28,0, - 248,0,112,0,8,14,14,10,1,253,192,192,192,220,230,195, - 195,195,199,230,220,192,192,192,8,14,14,9,1,253,108,0, - 0,199,198,238,108,108,60,56,56,56,48,48}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=16 dy= 0 ascent=11 len=18 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11n[280] U8G_FONT_SECTION("u8g_font_fub11n") = { - 0,24,21,255,252,11,0,0,0,0,42,58,0,11,254,11, - 0,6,5,5,10,2,5,120,48,252,48,120,9,9,18,16, - 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,3,4,4,5,1,254,96,96,192,192,4,2, - 2,6,1,3,240,240,2,2,2,5,2,0,192,192,5,12, - 12,7,1,255,24,24,16,48,48,32,32,96,96,64,192,192, - 8,11,11,9,1,0,60,102,195,195,195,195,195,195,195,102, - 60,4,11,11,9,2,0,48,240,240,48,48,48,48,48,48, - 48,48,8,11,11,9,1,0,62,119,99,3,7,6,30,60, - 112,224,255,8,11,11,9,1,0,124,238,198,6,60,6,3, - 195,199,126,60,8,11,11,9,1,0,14,30,30,54,102,102, - 198,255,255,6,6,8,11,11,9,1,0,254,192,192,192,254, - 231,3,3,199,254,124,8,11,11,9,1,0,60,118,67,192, - 222,231,195,195,195,102,60,8,11,11,9,1,0,255,3,7, - 6,14,12,28,24,56,56,112,8,11,11,9,1,0,126,231, - 195,231,60,102,195,195,195,231,60,8,11,11,9,1,0,60, - 102,195,195,231,127,3,3,198,110,60,2,8,8,5,2,0, - 192,192,0,0,0,0,192,192}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=12 len=28 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11r[1829] U8G_FONT_SECTION("u8g_font_fub11r") = { - 0,24,21,255,252,11,2,82,5,55,32,127,253,12,252,11, - 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, - 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, - 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, - 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, - 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, - 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, - 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, - 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, - 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, - 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, - 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, - 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, - 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, - 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, - 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, - 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, - 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, - 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, - 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, - 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, - 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, - 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, - 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, - 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, - 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, - 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, - 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, - 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, - 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, - 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, - 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, - 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, - 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, - 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, - 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, - 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, - 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, - 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, - 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, - 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, - 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, - 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, - 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, - 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, - 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, - 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, - 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, - 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, - 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, - 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, - 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, - 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, - 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, - 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, - 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, - 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, - 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, - 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, - 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, - 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, - 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, - 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, - 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, - 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, - 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, - 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, - 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, - 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, - 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, - 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, - 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, - 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, - 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, - 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, - 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, - 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, - 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, - 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, - 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, - 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, - 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, - 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, - 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, - 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, - 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, - 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, - 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, - 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, - 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, - 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, - 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, - 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, - 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, - 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, - 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, - 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, - 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, - 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, - 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, - 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, - 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, - 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, - 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, - 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, - 0,3,121,223,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=21 len=54 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14[5788] U8G_FONT_SECTION("u8g_font_fub14") = { - 0,31,26,254,251,14,3,116,7,95,32,255,252,21,251,14, - 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, - 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, - 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, - 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, - 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, - 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, - 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, - 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, - 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, - 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, - 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, - 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, - 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, - 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, - 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, - 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, - 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, - 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, - 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, - 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, - 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, - 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, - 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, - 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, - 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, - 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, - 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, - 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, - 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, - 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, - 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, - 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, - 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, - 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, - 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, - 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, - 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, - 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, - 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, - 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, - 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, - 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, - 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, - 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, - 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, - 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, - 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, - 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, - 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, - 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, - 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, - 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, - 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, - 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, - 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, - 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, - 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, - 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, - 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, - 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, - 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, - 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, - 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, - 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, - 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, - 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, - 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, - 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, - 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, - 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, - 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, - 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, - 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, - 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, - 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, - 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, - 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, - 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, - 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, - 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, - 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, - 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, - 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, - 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, - 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, - 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, - 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, - 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, - 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, - 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, - 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, - 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, - 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, - 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, - 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, - 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, - 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, - 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, - 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, - 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, - 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, - 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, - 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, - 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, - 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, - 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, - 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, - 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, - 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, - 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, - 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, - 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, - 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, - 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, - 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, - 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, - 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, - 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, - 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, - 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, - 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, - 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, - 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, - 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, - 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, - 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, - 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, - 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, - 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, - 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, - 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, - 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, - 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, - 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, - 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, - 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, - 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, - 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, - 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, - 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, - 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, - 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, - 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, - 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, - 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, - 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, - 4,48,96,127,192,199,128,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,0,3,14, - 14,9,3,252,224,224,0,0,224,224,224,224,224,224,224,224, - 224,224,9,14,28,11,1,254,2,0,2,0,62,0,127,0, - 231,128,231,128,232,0,232,0,235,128,243,128,127,0,62,0, - 32,0,32,0,10,14,28,12,1,0,31,0,63,192,113,192, - 112,0,112,0,254,0,254,0,112,0,112,0,112,0,112,0, - 112,0,255,192,255,192,10,10,20,12,1,3,128,64,94,128, - 33,0,64,128,64,128,64,128,64,128,33,0,94,128,128,64, - 11,14,28,13,1,0,224,224,225,192,113,192,113,128,251,224, - 251,224,31,0,255,224,255,224,14,0,14,0,14,0,14,0, - 14,0,1,18,18,7,3,252,128,128,128,128,128,128,128,128, - 0,0,128,128,128,128,128,128,128,128,8,18,18,10,1,252, - 62,126,224,224,112,60,126,231,231,231,254,124,30,7,7,135, - 254,56,7,2,2,7,0,12,238,238,15,14,28,17,1,0, - 7,192,31,240,55,152,111,204,204,228,156,2,156,2,156,226, - 140,226,207,198,71,132,32,24,28,112,15,192,7,9,9,8, - 1,5,120,204,124,204,204,252,36,0,254,10,8,16,12,1, - 1,57,192,113,128,115,128,231,0,231,0,115,128,113,128,57, - 192,11,5,10,13,1,4,255,224,255,224,0,32,0,32,0, - 32,255,15,14,28,17,1,0,7,192,31,240,63,152,111,236, - 204,100,140,98,143,194,143,194,140,98,204,102,76,100,32,24, - 28,112,15,192,6,2,2,6,0,12,252,252,5,5,5,7, - 1,9,112,136,136,136,112,12,12,24,20,4,0,2,0,2, - 0,2,0,255,240,255,240,2,0,2,0,2,0,0,0,0, - 0,255,240,255,240,6,8,8,8,1,6,120,204,12,24,48, - 224,252,252,6,7,7,8,1,7,120,204,12,48,12,204,120, - 4,4,4,4,1,12,48,96,96,192,255,9,17,34,11,1, - 253,63,128,121,0,249,0,249,0,249,0,249,0,121,0,9, - 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9, - 0,9,0,3,3,3,6,2,5,224,224,224,5,5,5,5, - 1,251,64,112,24,24,240,4,8,8,6,1,6,48,240,48, - 48,48,48,48,48,7,9,9,9,1,5,56,68,198,198,198, - 68,56,0,254,10,8,16,12,1,1,231,0,99,128,115,128, - 57,192,57,192,115,128,99,128,231,0,14,14,28,16,1,0, - 112,48,240,48,48,96,48,192,48,192,49,128,49,156,51,60, - 6,60,6,108,12,204,24,252,24,12,48,12,15,14,28,17, - 1,0,112,48,240,32,48,96,48,192,48,192,49,128,51,60, - 51,102,6,6,12,14,12,28,24,48,48,126,48,126,14,14, - 28,16,1,0,120,24,204,48,12,48,48,96,12,192,204,192, - 121,156,1,188,3,60,6,108,6,204,12,252,8,12,24,12, - 9,14,28,11,1,252,14,0,14,0,0,0,14,0,14,0, - 14,0,60,0,112,0,224,0,224,0,225,128,225,128,127,128, - 62,0,14,20,40,14,0,0,12,0,14,0,6,0,3,0, - 0,0,0,0,7,128,7,128,7,192,15,192,14,192,28,224, - 28,224,28,96,56,112,63,240,63,248,112,56,112,56,224,28, - 14,20,40,14,0,0,0,192,1,192,1,128,3,0,0,0, - 0,0,7,128,7,128,7,192,15,192,14,192,28,224,28,224, - 28,96,56,112,63,240,63,248,112,56,112,56,224,28,14,20, - 40,14,0,0,3,128,7,128,6,192,12,192,0,0,0,0, - 7,128,7,128,7,192,15,192,14,192,28,224,28,224,28,96, - 56,112,63,240,63,248,112,56,112,56,224,28,14,19,38,14, - 0,0,6,64,15,192,8,128,0,0,0,0,7,128,7,128, - 7,192,15,192,14,192,28,224,28,224,28,96,56,112,63,240, - 63,248,112,56,112,56,224,28,14,19,38,15,0,0,14,224, - 14,224,0,0,0,0,0,0,3,128,7,128,7,192,7,192, - 14,192,14,224,28,224,28,112,28,112,63,248,63,248,112,56, - 112,28,224,28,13,21,42,15,1,0,7,0,8,128,8,128, - 8,128,7,0,0,0,0,0,7,0,15,128,15,128,29,192, - 29,192,29,192,56,224,56,224,48,96,127,240,127,240,224,56, - 224,56,224,56,19,14,42,20,0,0,0,255,224,1,255,224, - 3,240,0,3,112,0,7,112,0,7,112,0,14,127,192,14, - 127,192,28,112,0,31,240,0,63,240,0,112,112,0,112,127, - 224,224,127,224,13,18,36,15,1,252,15,128,63,224,112,240, - 96,112,224,0,224,0,224,0,224,0,224,0,224,120,96,112, - 112,240,63,224,31,128,4,0,7,128,1,128,15,0,10,20, - 40,12,1,0,48,0,56,0,24,0,12,0,0,0,0,0, - 255,192,255,192,224,0,224,0,224,0,224,0,255,128,255,128, - 224,0,224,0,224,0,224,0,255,192,255,192,10,20,40,12, - 1,0,7,0,6,0,12,0,8,0,0,0,0,0,255,192, - 255,192,224,0,224,0,224,0,224,0,255,128,255,128,224,0, - 224,0,224,0,224,0,255,192,255,192,10,20,40,12,1,0, - 28,0,30,0,54,0,35,0,0,0,0,0,255,192,255,192, - 224,0,224,0,224,0,224,0,255,128,255,128,224,0,224,0, - 224,0,224,0,255,192,255,192,10,19,38,12,1,0,119,0, - 119,0,0,0,0,0,0,0,255,192,255,192,224,0,224,0, - 224,0,224,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,192,255,192,5,20,20,5,255,0,224,96,48,16,0,0, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,4,20, - 20,5,1,0,48,112,96,192,0,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,5,20,20,5,0,0,112,112, - 216,136,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,7,19,19,7,0,0,238,238,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,13,14,28,14,0, - 0,127,128,127,224,112,240,112,112,112,56,112,56,254,56,254, - 56,112,56,112,56,112,112,112,240,127,224,127,128,13,19,38, - 15,1,0,12,64,31,128,17,0,0,0,0,0,240,56,248, - 56,248,56,252,56,238,56,238,56,231,56,231,56,227,184,227, - 184,225,248,225,248,224,248,224,248,14,20,40,16,1,0,28, - 0,12,0,6,0,2,0,0,0,0,0,15,192,63,240,112, - 112,96,56,224,24,224,28,224,28,224,28,224,28,224,24,96, - 56,112,112,63,240,15,192,14,20,40,16,1,0,0,224,1, - 192,1,128,3,0,0,0,0,0,15,192,63,240,112,112,96, - 56,224,24,224,28,224,28,224,28,224,28,224,24,96,56,112, - 112,63,240,15,192,14,20,40,16,1,0,7,0,7,128,13, - 192,8,192,0,0,0,0,15,192,63,240,112,112,96,56,224, - 24,224,28,224,28,224,28,224,28,224,24,96,56,112,112,63, - 240,15,192,14,19,38,16,1,0,7,192,15,192,0,0,0, - 0,0,0,15,192,63,240,112,48,96,56,224,24,224,28,224, - 28,224,28,224,28,224,24,112,56,120,240,63,240,15,192,14, - 19,38,16,1,0,29,192,29,192,0,0,0,0,0,0,15, - 192,63,240,112,112,96,56,224,24,224,28,224,28,224,28,224, - 28,224,24,96,56,112,112,63,240,15,192,10,10,20,20,5, - 1,128,64,192,192,97,128,51,0,12,0,12,0,18,0,33, - 0,64,128,128,64,15,16,32,16,0,255,0,2,7,230,31, - 252,56,60,48,60,112,108,112,238,113,206,115,142,119,14,126, - 12,124,28,56,56,63,240,239,224,64,0,12,20,40,14,1, - 0,56,0,24,0,12,0,6,0,0,0,0,0,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,113,224,63,192,31,128,12,20,40,14,1,0,1, - 192,3,128,3,0,6,0,0,0,0,0,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,113,224,63,192,31,128,12,20,40,14,1,0,14,0,15, - 0,27,0,17,128,0,0,0,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,113, - 224,63,192,31,128,12,19,38,14,1,0,29,192,29,192,0, - 0,0,0,0,0,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,63,192,31, - 128,12,19,38,13,0,0,1,128,3,0,2,0,0,0,0, - 0,240,112,112,240,56,224,56,224,29,192,29,192,15,128,15, - 0,7,0,7,0,7,0,7,0,7,0,7,0,11,14,28, - 13,1,0,224,0,224,0,255,0,255,192,225,192,224,224,224, - 224,224,224,225,192,255,128,254,0,224,0,224,0,224,0,10, - 14,28,12,1,0,62,0,127,128,227,128,227,128,227,0,231, - 0,238,0,238,0,231,128,227,192,225,192,253,192,255,192,239, - 128,9,16,32,11,1,0,112,0,48,0,24,0,8,0,0, - 0,0,0,62,0,127,128,227,128,31,128,127,128,227,128,227, - 128,227,128,255,128,57,128,9,16,32,11,1,0,7,0,6, - 0,12,0,12,0,0,0,0,0,62,0,127,128,227,128,3, - 128,63,128,251,128,227,128,227,128,255,128,121,128,9,16,32, - 11,1,0,28,0,30,0,54,0,35,0,0,0,0,0,62, - 0,127,128,227,128,31,128,127,128,227,128,227,128,227,128,255, - 128,57,128,9,14,28,11,1,0,63,0,62,0,0,0,0, - 0,62,0,127,128,227,128,31,128,127,128,227,128,227,128,227, - 128,255,128,57,128,9,15,30,11,1,0,119,0,119,0,0, - 0,0,0,0,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,9,17,34,11,1,0,28, - 0,34,0,34,0,34,0,28,0,0,0,0,0,62,0,127, - 128,227,128,31,128,127,128,227,128,227,128,227,128,255,128,57, - 128,16,10,20,18,1,0,62,124,127,254,227,135,31,255,127, - 255,227,128,227,128,227,199,254,254,60,124,9,14,28,11,1, - 252,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,16,0,30,0,6,0,62,0,9,16,32, - 11,1,0,112,0,48,0,24,0,8,0,0,0,0,0,30, - 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, - 128,62,0,9,16,32,11,1,0,7,0,6,0,12,0,8, - 0,0,0,0,0,30,0,127,0,227,128,227,128,255,128,255, - 128,224,0,227,128,127,128,62,0,9,16,32,11,1,0,28, - 0,30,0,54,0,35,0,0,0,0,0,30,0,127,0,227, - 128,227,128,255,128,255,128,224,0,227,128,127,128,62,0,9, - 15,30,11,1,0,119,0,119,0,0,0,0,0,0,0,30, - 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, - 128,62,0,4,15,15,5,0,0,192,224,96,48,0,112,112, - 112,112,112,112,112,112,112,112,4,15,15,4,1,0,112,96, - 192,128,0,224,224,224,224,224,224,224,224,224,224,7,15,15, - 5,255,0,56,124,76,198,0,56,56,56,56,56,56,56,56, - 56,56,7,14,14,6,0,0,238,238,0,0,56,56,56,56, - 56,56,56,56,56,56,10,14,28,12,1,0,57,128,15,0, - 31,0,99,0,31,128,127,128,97,192,225,192,225,192,225,192, - 225,192,97,192,127,128,31,0,9,14,28,11,1,0,62,0, - 60,0,0,0,0,0,239,0,255,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,16,32,12,1,0, - 48,0,24,0,24,0,12,0,0,0,0,0,30,0,127,128, - 97,128,225,192,225,192,225,192,225,192,97,128,127,128,30,0, - 10,16,32,12,1,0,3,0,6,0,6,0,12,0,0,0, - 0,0,30,0,127,128,97,128,225,192,225,192,225,192,225,192, - 97,128,127,128,30,0,10,16,32,12,1,0,12,0,30,0, - 26,0,51,0,0,0,0,0,30,0,127,128,97,128,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,10,14,28,12, - 1,0,31,0,62,0,0,0,0,0,30,0,127,128,97,128, - 225,192,225,192,225,192,225,192,97,128,127,128,30,0,10,15, - 30,12,1,0,59,128,59,128,0,0,0,0,0,0,30,0, - 127,128,97,128,225,192,225,192,225,192,225,192,97,128,127,128, - 30,0,12,8,16,20,4,2,6,0,14,0,0,0,255,240, - 255,240,0,0,6,0,14,0,10,12,24,12,1,0,0,192, - 31,128,127,128,99,128,231,192,237,192,233,192,241,192,113,128, - 127,128,222,0,128,0,9,16,32,11,1,0,112,0,48,0, - 24,0,8,0,0,0,0,0,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,255,128,123,128,9,16,32,11, - 1,0,7,0,6,0,12,0,8,0,0,0,0,0,227,128, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,255,128, - 123,128,9,16,32,11,1,0,28,0,28,0,54,0,34,0, - 0,0,0,0,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,255,128,123,128,9,15,30,11,1,0,119,0, - 119,0,0,0,0,0,0,0,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,255,128,123,128,11,19,38,11, - 0,252,1,128,3,0,2,0,4,0,0,0,112,224,113,192, - 113,192,57,192,59,128,27,128,31,128,31,0,15,0,14,0, - 14,0,78,0,252,0,120,0,10,18,36,12,1,252,224,0, - 224,0,224,0,224,0,239,0,255,128,225,128,225,192,225,192, - 225,192,225,192,225,192,255,128,255,0,224,0,224,0,224,0, - 224,0,11,18,36,11,0,252,59,128,59,128,0,0,0,0, - 225,224,113,192,113,192,115,128,59,128,59,128,31,0,31,0, - 31,0,14,0,14,0,12,0,28,0,28,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=12 h=15 x= 4 y= 7 dx=20 dy= 0 ascent=14 len=28 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14n[452] U8G_FONT_SECTION("u8g_font_fub14n") = { - 0,31,26,254,251,14,0,0,0,0,42,58,0,14,254,14, - 0,8,7,7,12,2,7,102,60,24,255,24,60,102,12,12, - 24,20,4,0,2,0,2,0,2,0,2,0,2,0,255,240, - 255,240,2,0,2,0,2,0,2,0,2,0,4,5,5,6, - 1,254,112,112,96,224,192,5,3,3,7,1,4,248,248,248, - 3,3,3,6,2,0,224,224,224,6,15,15,9,1,255,12, - 12,12,12,24,24,24,48,48,48,96,96,96,96,192,10,14, - 28,11,1,0,30,0,127,0,97,128,225,192,225,192,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,127,128,30,0, - 6,14,14,11,2,0,28,124,252,220,28,28,28,28,28,28, - 28,28,28,28,10,14,28,11,1,0,31,0,127,128,97,192, - 225,192,1,192,1,192,3,128,7,128,15,0,30,0,56,0, - 112,0,255,192,255,192,10,14,28,11,1,0,62,0,127,0, - 227,128,3,128,3,128,31,0,31,0,3,128,1,192,1,192, - 225,192,243,128,127,0,62,0,11,14,28,11,1,0,7,128, - 15,128,15,128,27,128,59,128,51,128,115,128,99,128,227,128, - 255,224,255,224,3,128,3,128,3,128,10,14,28,11,1,0, - 255,128,255,128,224,0,224,0,224,0,255,0,255,128,225,128, - 1,192,1,192,225,192,227,128,127,0,62,0,10,14,28,11, - 1,0,30,0,63,128,97,128,96,0,224,0,223,0,255,128, - 225,128,225,192,225,192,225,192,97,128,127,128,30,0,10,14, - 28,11,1,0,255,192,255,192,1,192,3,128,3,128,7,128, - 7,0,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 10,14,28,11,1,0,63,0,127,128,225,192,225,192,225,128, - 127,0,63,0,115,128,225,192,225,192,225,192,225,192,127,128, - 63,0,10,14,28,11,1,0,30,0,127,0,225,128,225,128, - 225,192,225,192,243,192,127,192,25,192,1,128,225,128,99,128, - 127,0,62,0,3,10,10,7,3,0,224,224,224,0,0,0, - 0,224,224,224}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=16 len=54 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14r[2680] U8G_FONT_SECTION("u8g_font_fub14r") = { - 0,31,26,254,251,14,3,116,7,95,32,127,252,16,251,14, - 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, - 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, - 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, - 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, - 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, - 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, - 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, - 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, - 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, - 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, - 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, - 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, - 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, - 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, - 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, - 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, - 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, - 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, - 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, - 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, - 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, - 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, - 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, - 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, - 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, - 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, - 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, - 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, - 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, - 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, - 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, - 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, - 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, - 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, - 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, - 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, - 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, - 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, - 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, - 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, - 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, - 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, - 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, - 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, - 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, - 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, - 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, - 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, - 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, - 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, - 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, - 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, - 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, - 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, - 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, - 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, - 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, - 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, - 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, - 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, - 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, - 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, - 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, - 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, - 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, - 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, - 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, - 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, - 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, - 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, - 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, - 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, - 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, - 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, - 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, - 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, - 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, - 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, - 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, - 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, - 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, - 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, - 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, - 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, - 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, - 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, - 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, - 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, - 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, - 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, - 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, - 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, - 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, - 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, - 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, - 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, - 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, - 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, - 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, - 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, - 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, - 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, - 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, - 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, - 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, - 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, - 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, - 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, - 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, - 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, - 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, - 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, - 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, - 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, - 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, - 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, - 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, - 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, - 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, - 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, - 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, - 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, - 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, - 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, - 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, - 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, - 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, - 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, - 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, - 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, - 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, - 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, - 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, - 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, - 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, - 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, - 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, - 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, - 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, - 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, - 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, - 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, - 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, - 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, - 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, - 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, - 4,48,96,127,192,199,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=25 x= 6 y=15 dx=24 dy= 0 ascent=25 len=66 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17[6938] U8G_FONT_SECTION("u8g_font_fub17") = { - 0,34,31,254,250,17,4,8,8,209,32,255,251,25,250,17, - 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, - 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, - 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, - 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, - 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, - 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, - 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, - 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, - 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, - 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, - 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, - 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, - 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, - 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, - 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, - 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, - 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, - 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, - 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, - 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, - 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, - 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, - 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, - 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, - 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, - 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, - 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, - 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, - 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, - 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, - 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, - 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, - 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, - 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, - 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, - 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, - 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, - 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, - 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, - 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, - 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, - 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, - 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, - 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, - 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, - 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, - 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, - 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, - 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, - 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, - 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, - 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, - 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, - 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, - 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, - 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, - 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, - 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, - 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, - 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, - 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, - 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, - 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, - 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, - 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, - 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, - 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, - 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, - 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, - 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, - 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, - 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, - 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, - 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, - 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, - 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, - 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, - 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, - 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, - 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, - 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, - 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, - 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, - 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, - 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, - 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, - 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, - 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, - 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, - 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, - 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, - 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, - 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, - 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, - 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, - 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, - 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, - 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, - 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, - 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, - 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, - 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, - 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, - 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, - 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, - 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, - 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, - 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, - 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, - 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, - 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, - 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, - 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, - 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, - 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, - 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, - 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, - 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, - 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, - 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, - 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, - 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, - 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, - 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, - 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, - 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, - 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, - 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, - 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, - 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, - 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, - 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, - 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, - 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, - 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, - 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, - 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, - 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, - 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, - 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, - 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, - 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, - 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, - 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, - 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, - 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, - 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, - 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, - 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, - 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, - 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, - 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, - 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, - 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, - 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, - 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, - 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, - 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, - 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, - 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, - 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, - 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, - 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, - 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, - 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, - 48,127,240,227,192,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,7,0,0,3,17,17,9, - 3,251,224,224,224,0,0,224,224,224,224,224,224,224,224,224, - 224,224,224,10,18,36,13,1,253,1,0,1,0,3,0,31, - 0,127,128,115,192,231,192,228,0,228,0,236,0,233,192,233, - 192,123,192,127,128,31,0,16,0,48,0,32,0,11,17,34, - 13,1,0,15,128,31,224,56,224,56,224,56,0,56,0,255, - 0,255,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,255,224,255,224,11,12,24,13,1,4,128,32,95,64,113, - 128,96,128,64,64,64,64,64,64,64,64,96,192,49,128,95, - 64,128,32,13,17,34,15,1,0,224,120,240,120,112,112,120, - 240,56,224,253,248,253,248,31,192,15,128,255,248,255,248,7, - 0,7,0,7,0,7,0,7,0,7,0,1,22,22,8,4, - 251,128,128,128,128,128,128,128,128,128,0,0,0,0,128,128, - 128,128,128,128,128,128,128,9,21,42,11,1,252,63,0,127, - 0,241,0,224,0,224,0,120,0,62,0,63,0,119,128,227, - 128,227,128,231,128,255,0,126,0,31,0,7,128,3,128,3, - 128,135,128,255,0,124,0,8,3,3,8,0,15,231,231,231, - 17,17,51,19,1,0,3,224,0,15,248,0,60,30,0,51, - 230,0,103,243,0,103,59,0,206,57,128,206,1,128,206,1, - 128,206,1,128,206,57,128,78,57,0,103,243,0,51,230,0, - 56,14,0,15,248,0,3,224,0,8,11,11,10,1,6,60, - 102,6,126,230,198,198,126,0,0,255,11,9,18,14,1,1, - 60,224,56,224,121,224,113,192,243,192,113,192,121,224,56,224, - 60,224,12,5,10,14,1,5,255,240,0,16,0,16,0,16, - 0,16,255,17,17,51,19,1,0,3,224,0,15,248,0,60, - 30,0,55,246,0,103,251,0,102,27,0,198,25,128,199,241, - 128,199,241,128,198,57,128,198,25,128,70,25,0,102,27,0, - 48,6,0,56,14,0,15,248,0,3,224,0,7,2,2,7, - 0,15,254,254,5,5,5,7,1,12,112,136,136,136,112,14, - 14,28,24,5,0,2,0,2,0,2,0,2,0,255,252,255, - 252,2,0,2,0,2,0,2,0,0,0,0,0,255,252,255, - 252,7,9,9,9,1,8,124,230,6,14,28,56,224,254,254, - 7,9,9,9,1,8,124,206,6,14,56,14,6,206,124,5, - 4,4,5,1,14,56,112,96,192,255,11,20,40,14,2,253, - 63,224,125,128,253,128,253,128,253,128,253,128,253,128,125,128, - 13,128,13,128,13,128,13,128,13,128,13,128,13,128,13,128, - 13,128,13,128,13,128,13,128,3,3,3,7,2,6,224,224, - 224,6,5,5,6,1,251,32,56,12,12,248,4,9,9,6, - 1,8,48,240,176,48,48,48,48,48,48,8,11,11,10,1, - 6,60,102,195,195,195,195,231,126,60,0,255,12,9,18,14, - 1,1,227,128,113,192,121,224,56,224,60,240,56,224,121,224, - 113,192,227,128,16,17,34,18,1,0,48,24,240,24,176,48, - 48,112,48,96,48,224,48,192,49,128,49,142,3,14,3,30, - 6,54,14,54,12,102,24,127,24,6,48,6,16,17,34,18, - 1,0,48,24,240,48,176,48,48,96,48,224,48,192,49,192, - 49,128,51,62,3,119,6,3,6,7,12,14,28,28,24,112, - 48,127,48,127,17,17,51,19,1,0,124,6,0,198,12,0, - 6,12,0,56,24,0,14,56,0,6,48,0,206,112,0,124, - 96,0,0,199,0,1,199,0,1,143,0,3,155,0,3,27, - 0,7,51,0,6,63,128,12,3,0,28,3,0,10,17,34, - 12,1,251,14,0,14,0,0,0,0,0,14,0,14,0,14, - 0,28,0,56,0,112,0,240,0,224,0,224,128,224,192,115, - 192,127,128,31,0,16,24,48,16,0,0,14,0,7,0,3, - 0,3,128,1,128,0,0,0,0,3,192,3,192,3,224,7, - 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, - 252,63,252,127,254,120,14,112,15,240,7,16,24,48,16,0, - 0,0,112,0,96,0,224,0,192,1,128,0,0,0,0,3, - 192,3,192,3,224,7,224,7,240,15,112,14,112,14,120,30, - 56,28,56,28,60,63,252,63,252,127,254,120,14,112,15,240, - 7,16,24,48,16,0,0,1,192,3,192,3,224,6,96,4, - 48,0,0,0,0,3,192,3,192,3,224,7,224,7,240,15, - 112,14,112,14,120,30,56,28,56,28,60,63,252,63,252,127, - 254,120,14,112,15,240,7,16,23,46,16,0,0,0,16,7, - 240,7,224,0,0,0,0,0,0,3,192,3,192,3,224,7, - 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, - 252,63,252,127,254,120,14,112,15,240,7,16,23,46,17,0, - 0,14,112,14,112,14,112,0,0,0,0,0,0,3,192,3, - 192,7,224,7,224,7,224,15,112,14,112,30,120,30,56,28, - 56,60,60,63,252,127,254,127,254,112,14,240,15,224,7,15, - 25,50,16,1,0,3,128,6,192,4,64,4,64,4,192,3, - 128,0,0,0,0,3,128,7,192,7,192,15,192,14,224,14, - 224,30,224,28,112,28,112,60,112,56,120,63,248,127,252,127, - 252,112,28,240,30,224,14,21,17,51,23,1,0,0,255,248, - 0,255,248,1,248,0,1,248,0,3,184,0,3,184,0,7, - 56,0,7,63,248,14,63,248,14,56,0,30,56,0,31,248, - 0,63,248,0,120,56,0,112,56,0,240,63,248,224,63,248, - 14,22,44,16,1,251,15,192,31,240,63,248,120,56,112,60, - 240,28,224,0,224,0,224,0,224,0,224,0,224,0,112,28, - 112,60,56,120,31,240,15,192,3,0,3,192,0,96,0,96, - 7,192,11,24,48,15,2,0,56,0,24,0,28,0,12,0, - 6,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,255,224,255,224,255,224,11,24,48,15,2,0,3,128, - 3,0,7,0,6,0,12,0,0,0,0,0,255,224,255,224, - 255,224,224,0,224,0,224,0,224,0,255,224,255,224,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,255,224,11,24, - 48,15,2,0,14,0,31,0,27,0,59,128,49,128,0,0, - 0,0,255,224,255,224,255,224,224,0,224,0,224,0,224,0, - 255,224,255,224,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,255,224,11,23,46,15,2,0,59,128,59,128,59,128, - 0,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,255,224,255,224,255,224,5,24,24,7,0,0,224,224, - 96,48,16,0,0,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,5,24,24,5,1,0,56,48,112,96, - 192,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,7,24,24,7,0,0,56,56,108,108,198,0, - 0,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,8,23,23,8,0,0,231,231,231,0,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,15, - 17,34,16,0,0,63,192,63,240,63,248,56,60,56,28,56, - 30,56,14,56,14,255,14,255,14,56,14,56,30,56,28,56, - 60,63,248,63,240,63,192,14,23,46,18,2,0,0,32,15, - 192,15,192,0,0,0,0,0,0,248,28,248,28,252,28,252, - 28,238,28,238,28,231,28,231,28,231,156,227,156,227,220,225, - 220,225,220,224,252,224,252,224,124,224,124,15,24,48,17,1, - 0,28,0,14,0,6,0,3,0,1,0,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, - 14,224,14,224,14,240,14,112,28,120,60,63,248,31,240,7, - 224,15,24,48,17,1,0,0,112,0,224,0,192,1,128,1, - 0,0,0,0,0,7,192,31,240,63,248,120,60,112,28,240, - 30,224,14,224,14,224,14,224,14,224,14,240,14,112,28,120, - 60,63,248,31,240,7,224,15,24,48,17,1,0,3,128,7, - 192,6,192,12,96,8,32,0,0,0,0,7,192,31,240,63, - 248,120,60,112,28,240,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,60,63,248,31,240,7,224,15,23,46, - 17,1,0,7,32,15,224,8,192,0,0,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,120,60,63,248,31,240,7, - 224,15,23,46,17,1,0,14,112,14,112,14,112,0,0,0, - 0,0,0,7,192,31,240,63,248,120,60,112,28,240,30,224, - 14,224,14,224,14,224,14,224,14,240,14,112,28,120,60,63, - 248,31,240,7,224,13,12,24,23,5,1,192,24,96,48,48, - 96,24,192,13,128,7,0,7,0,13,128,24,192,48,96,96, - 48,192,24,17,19,57,17,0,255,0,1,0,3,241,128,15, - 251,0,31,254,0,60,30,0,56,30,0,120,63,0,112,119, - 0,112,231,0,113,199,0,115,135,0,119,7,0,126,7,0, - 60,14,0,60,30,0,63,252,0,111,248,0,227,224,0,64, - 0,0,14,24,48,18,2,0,28,0,12,0,14,0,6,0, - 3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,56,127,248,63,240,15,192,14,24,48,18,2,0,0,224, - 0,192,1,192,1,128,3,0,0,0,0,0,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,240,60,112,56,127,248,63,240,15,192,14,24, - 48,18,2,0,7,128,7,128,15,192,12,192,24,96,0,0, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,240,60,112,56,127,248, - 63,240,15,192,14,23,46,16,1,0,28,224,28,224,28,224, - 0,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 120,120,127,248,63,240,15,192,13,23,46,15,1,0,1,192, - 1,128,3,0,2,0,0,0,0,0,224,56,240,120,112,112, - 120,240,56,224,61,224,29,192,31,192,15,128,15,128,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,12,17,34,15, - 1,0,224,0,224,0,224,0,255,128,255,224,255,224,224,240, - 224,112,224,112,224,240,255,224,255,224,255,128,224,0,224,0, - 224,0,224,0,12,17,34,14,1,0,63,0,127,128,241,192, - 225,192,225,192,227,128,231,0,238,0,238,0,239,128,231,192, - 225,224,224,112,238,112,238,112,239,224,231,192,10,19,38,13, - 1,0,112,0,56,0,24,0,12,0,4,0,0,0,0,0, - 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, - 225,192,243,192,127,192,60,192,10,19,38,13,1,0,3,128, - 3,0,6,0,6,0,12,0,0,0,0,0,31,0,127,128, - 113,192,1,192,31,192,127,192,241,192,225,192,225,192,243,192, - 127,192,60,192,10,19,38,13,1,0,14,0,30,0,27,0, - 51,0,33,128,0,0,0,0,31,0,127,128,113,192,1,192, - 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, - 10,17,34,13,1,0,31,128,63,0,0,0,0,0,0,0, - 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, - 225,192,243,192,127,192,60,192,10,18,36,13,1,0,115,128, - 115,128,115,128,0,0,0,0,0,0,63,0,127,128,241,192, - 1,192,31,192,127,192,241,192,225,192,225,192,243,192,127,192, - 60,192,10,20,40,13,1,0,14,0,27,0,17,0,19,0, - 31,0,14,0,0,0,0,0,31,0,127,128,113,192,1,192, - 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, - 18,12,36,20,1,0,31,31,0,127,191,128,113,243,128,0, - 225,192,31,255,192,127,255,192,240,224,0,224,224,0,224,225, - 192,241,243,192,127,63,128,62,31,0,10,17,34,12,1,251, - 31,0,127,128,115,192,225,192,224,0,224,0,224,0,224,0, - 225,192,115,192,127,128,63,0,8,0,14,0,3,0,3,0, - 30,0,11,19,38,13,1,0,112,0,56,0,24,0,12,0, - 4,0,0,0,0,0,31,0,63,128,113,192,225,224,255,224, - 255,224,224,0,224,0,225,192,113,192,127,192,31,0,11,19, - 38,13,1,0,3,128,3,0,7,0,6,0,12,0,0,0, - 0,0,31,0,63,128,113,192,225,224,255,224,255,224,224,0, - 224,0,225,192,113,192,127,192,31,0,11,19,38,13,1,0, - 14,0,31,0,27,0,49,128,33,128,0,0,0,0,31,0, - 63,128,113,192,225,224,255,224,255,224,224,0,224,0,225,192, - 113,192,127,192,31,0,11,18,36,13,1,0,115,128,115,128, - 115,128,0,0,0,0,0,0,31,0,63,128,115,192,225,192, - 255,224,255,224,224,0,224,0,225,192,115,192,127,128,31,0, - 5,18,18,6,255,0,224,112,48,24,0,0,56,56,56,56, - 56,56,56,56,56,56,56,56,4,18,18,5,1,0,112,96, - 224,192,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 7,18,18,6,255,0,56,124,108,198,0,0,56,56,56,56, - 56,56,56,56,56,56,56,56,8,18,18,7,255,0,231,231, - 231,0,0,0,56,56,56,56,56,56,56,56,56,56,56,56, - 12,17,34,14,1,0,28,96,15,192,15,128,59,128,33,192, - 31,224,63,224,112,224,240,240,224,112,224,112,224,112,224,112, - 240,240,112,224,63,192,31,128,11,17,34,13,1,0,31,128, - 63,0,0,0,0,0,0,0,239,128,255,192,241,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 12,19,38,14,1,0,56,0,28,0,12,0,6,0,6,0, - 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, - 224,112,224,112,240,240,112,224,63,192,31,128,12,19,38,14, - 1,0,1,192,3,128,3,0,6,0,4,0,0,0,0,0, - 31,128,63,192,112,224,240,224,224,112,224,112,224,112,224,112, - 240,240,112,224,63,192,31,128,12,19,38,14,1,0,15,0, - 15,0,31,128,25,128,48,192,0,0,0,0,31,128,63,192, - 112,224,240,224,224,112,224,112,224,112,224,112,240,240,112,224, - 63,192,31,128,12,17,34,14,1,0,31,192,63,128,0,0, - 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, - 224,112,224,112,240,240,112,224,63,192,31,128,12,18,36,14, - 1,0,57,192,57,192,57,192,0,0,0,0,0,0,31,128, - 63,192,112,224,240,224,224,112,224,112,224,112,224,112,240,240, - 112,224,63,192,31,128,14,10,20,24,5,2,7,0,7,0, - 6,0,0,0,255,252,255,252,0,0,2,0,7,0,7,0, - 12,15,30,14,1,254,0,32,0,48,31,224,63,192,113,224, - 241,240,227,112,230,112,236,112,248,112,248,240,112,224,127,192, - 223,128,192,0,11,19,38,13,1,0,112,0,56,0,28,0, - 12,0,6,0,0,0,0,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,241,224,127,224,62,224, - 11,19,38,13,1,0,3,128,3,128,7,0,6,0,12,0, - 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,241,224,127,224,62,224,11,19,38,13, - 1,0,14,0,31,0,27,0,49,128,32,128,0,0,0,0, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,241,224,127,224,62,224,11,18,36,13,1,0,115,128, - 115,128,115,128,0,0,0,0,0,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,241,224,127,224, - 62,224,11,23,46,13,1,251,1,128,3,128,3,0,6,0, - 0,0,0,0,224,224,224,224,241,224,113,192,121,192,59,192, - 59,128,63,128,31,128,31,0,31,0,15,0,14,0,14,0, - 254,0,252,0,120,0,12,22,44,15,2,251,224,0,224,0, - 224,0,224,0,224,0,239,128,255,192,248,224,240,240,224,112, - 224,112,224,112,224,112,240,240,241,224,255,192,239,128,224,0, - 224,0,224,0,224,0,224,0,12,22,44,14,1,251,57,192, - 57,192,57,192,0,0,0,0,240,112,240,240,112,240,120,224, - 121,224,57,192,61,192,31,192,31,128,31,128,15,128,15,0, - 15,0,15,0,14,0,30,0,28,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 17 - Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =17 descent= 0 - X Font ascent =17 descent= 0 - Max Font ascent =17 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17n[530] U8G_FONT_SECTION("u8g_font_fub17n") = { - 0,34,31,254,250,17,0,0,0,0,42,58,0,17,253,17, - 0,9,9,18,15,3,8,54,0,54,0,54,0,156,128,255, - 128,156,128,54,0,54,0,54,0,14,14,28,24,5,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,252,255,252,2, - 0,2,0,2,0,2,0,2,0,2,0,5,6,6,7,1, - 253,56,112,112,96,96,224,6,3,3,8,1,4,252,252,252, - 3,3,3,7,2,0,224,224,224,8,18,18,10,1,255,7, - 6,6,14,12,12,12,28,24,24,56,48,48,48,112,96,96, - 224,11,17,34,13,1,0,31,0,63,128,113,192,112,192,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,112,192,113,192,63,128,31,0,7,17,17,13,2,0,14, - 62,254,254,206,14,14,14,14,14,14,14,14,14,14,14,14, - 12,17,34,13,1,0,15,128,63,224,120,224,112,112,0,112, - 0,112,0,240,1,224,3,224,7,192,15,128,30,0,60,0, - 248,0,255,240,255,240,255,240,11,17,34,13,1,0,31,0, - 127,192,241,224,224,224,0,224,0,224,1,192,15,128,15,128, - 1,192,0,224,0,224,224,224,241,224,255,192,127,128,31,0, - 12,17,34,13,1,0,3,192,7,192,7,192,15,192,29,192, - 29,192,57,192,113,192,113,192,225,192,255,240,255,240,255,240, - 1,192,1,192,1,192,1,192,11,17,34,13,1,0,255,192, - 255,192,255,192,224,0,224,0,224,0,239,128,255,192,241,224, - 224,224,0,224,0,224,224,224,225,224,255,192,127,128,63,0, - 11,17,34,13,1,0,15,0,63,192,57,224,112,224,96,0, - 224,0,239,128,255,192,241,224,224,224,224,224,224,224,224,224, - 96,224,113,192,63,128,31,0,11,17,34,13,1,0,255,224, - 255,224,255,224,0,224,1,224,1,192,3,192,3,128,7,128, - 7,128,7,0,15,0,14,0,30,0,28,0,60,0,60,0, - 11,17,34,13,1,0,31,0,127,192,241,224,224,224,224,224, - 224,224,113,192,63,128,63,128,113,192,224,224,224,224,224,224, - 224,224,241,224,127,192,31,0,11,17,34,13,1,0,31,0, - 63,128,113,192,224,192,224,224,224,224,224,224,241,224,127,224, - 62,224,0,224,0,224,224,224,225,192,113,192,127,128,30,0, - 3,12,12,7,3,0,224,224,224,0,0,0,0,0,0,224, - 224,224}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17r[3222] U8G_FONT_SECTION("u8g_font_fub17r") = { - 0,34,31,254,250,17,4,8,8,209,32,127,251,19,250,17, - 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, - 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, - 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, - 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, - 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, - 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, - 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, - 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, - 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, - 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, - 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, - 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, - 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, - 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, - 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, - 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, - 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, - 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, - 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, - 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, - 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, - 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, - 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, - 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, - 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, - 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, - 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, - 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, - 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, - 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, - 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, - 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, - 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, - 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, - 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, - 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, - 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, - 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, - 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, - 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, - 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, - 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, - 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, - 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, - 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, - 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, - 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, - 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, - 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, - 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, - 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, - 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, - 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, - 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, - 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, - 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, - 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, - 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, - 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, - 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, - 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, - 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, - 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, - 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, - 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, - 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, - 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, - 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, - 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, - 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, - 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, - 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, - 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, - 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, - 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, - 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, - 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, - 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, - 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, - 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, - 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, - 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, - 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, - 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, - 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, - 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, - 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, - 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, - 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, - 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, - 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, - 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, - 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, - 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, - 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, - 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, - 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, - 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, - 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, - 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, - 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, - 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, - 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, - 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, - 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, - 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, - 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, - 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, - 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, - 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, - 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, - 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, - 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, - 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, - 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, - 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, - 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, - 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, - 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, - 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, - 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, - 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, - 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, - 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, - 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, - 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, - 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, - 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, - 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, - 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, - 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, - 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, - 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, - 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, - 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, - 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, - 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, - 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, - 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, - 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, - 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, - 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, - 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, - 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, - 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, - 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, - 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, - 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, - 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, - 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, - 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, - 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, - 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, - 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, - 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, - 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, - 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, - 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, - 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, - 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, - 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, - 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, - 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, - 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, - 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, - 48,127,240,227,192,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=27 h=29 x= 7 y=18 dx=28 dy= 0 ascent=29 len=100 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =29 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20[8916] U8G_FONT_SECTION("u8g_font_fub20") = { - 0,40,36,254,249,20,4,242,11,37,32,255,251,29,249,20, - 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, - 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, - 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, - 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, - 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, - 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, - 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, - 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, - 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, - 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, - 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, - 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, - 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, - 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, - 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, - 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, - 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, - 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, - 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, - 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, - 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, - 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, - 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, - 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, - 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, - 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, - 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, - 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, - 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, - 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, - 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, - 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, - 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, - 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, - 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, - 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, - 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, - 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, - 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, - 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, - 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, - 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, - 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, - 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, - 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, - 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, - 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, - 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, - 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, - 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, - 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, - 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, - 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, - 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, - 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, - 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, - 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, - 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, - 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, - 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, - 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, - 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, - 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, - 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, - 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, - 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, - 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, - 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, - 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, - 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, - 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, - 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, - 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, - 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, - 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, - 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, - 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, - 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, - 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, - 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, - 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, - 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, - 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, - 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, - 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, - 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, - 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, - 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, - 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, - 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, - 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, - 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, - 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, - 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, - 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, - 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, - 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, - 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, - 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, - 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, - 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, - 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, - 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, - 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, - 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, - 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, - 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, - 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, - 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, - 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, - 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, - 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, - 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, - 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, - 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, - 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, - 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, - 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, - 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, - 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, - 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, - 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, - 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, - 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, - 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, - 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, - 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, - 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, - 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, - 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, - 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, - 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, - 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, - 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, - 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, - 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, - 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, - 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, - 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, - 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, - 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, - 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, - 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, - 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, - 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, - 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, - 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, - 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, - 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, - 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, - 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, - 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, - 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, - 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, - 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, - 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, - 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, - 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, - 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, - 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, - 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, - 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, - 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, - 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, - 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, - 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, - 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, - 156,127,248,225,240,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,8,0,0,4,19,19,10, - 3,251,240,240,240,0,0,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,12,20,40,16,2,253,0,192,0,192,0, - 128,15,128,63,224,125,224,115,240,243,240,242,0,242,0,246, - 0,244,0,244,240,124,240,121,224,63,224,31,128,24,0,16, - 0,48,0,14,20,40,15,1,0,7,224,31,248,62,120,60, - 60,60,60,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,255,252,255, - 252,15,14,28,17,1,5,192,6,99,204,55,248,28,48,24, - 24,48,12,48,12,48,12,48,12,24,24,28,48,63,248,99, - 204,192,6,15,20,40,17,1,0,240,30,240,62,120,60,120, - 124,56,120,60,120,252,254,254,254,31,224,15,224,15,192,255, - 254,255,254,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,1,25,25,9,4,251,128,128,128,128,128,128,128,128,128, - 128,128,0,0,0,128,128,128,128,128,128,128,128,128,128,128, - 11,24,48,13,1,252,31,128,63,192,121,192,240,64,240,0, - 248,0,124,0,63,0,63,128,127,192,243,224,225,224,225,192, - 243,192,255,128,126,0,31,128,7,192,3,224,1,224,1,192, - 195,192,255,128,127,0,9,3,6,9,0,17,227,128,227,128, - 227,128,20,20,60,24,2,0,1,248,0,7,254,0,31,15, - 128,60,3,192,49,252,192,99,254,224,103,158,96,199,15,48, - 207,0,48,207,0,48,207,0,48,207,15,48,199,14,48,103, - 158,96,99,252,96,49,248,192,56,1,192,30,7,128,7,254, - 0,1,248,0,9,13,26,11,1,7,62,0,127,128,99,128, - 3,128,63,128,115,128,227,128,227,128,255,128,125,128,0,0, - 0,0,255,128,14,11,22,16,1,2,30,60,28,56,60,120, - 120,240,120,240,241,224,120,240,56,240,60,120,28,56,30,60, - 15,6,12,17,1,6,255,254,255,254,0,6,0,6,0,6, - 0,6,255,20,20,60,24,2,0,1,248,0,7,254,0,31, - 15,128,60,3,192,51,252,192,99,254,224,99,14,96,195,6, - 48,195,28,48,195,248,48,195,252,48,195,12,48,195,14,48, - 99,6,96,99,6,96,51,6,192,56,1,192,30,7,128,7, - 254,0,1,248,0,9,2,4,9,0,18,255,128,255,128,6, - 6,6,8,1,14,120,204,132,132,204,120,16,16,32,26,5, - 0,1,128,1,128,1,128,1,128,255,255,255,255,1,128,1, - 128,1,128,1,128,1,128,0,0,0,0,0,0,255,255,255, - 255,9,11,22,11,1,9,62,0,127,0,227,128,3,128,7, - 0,15,0,30,0,56,0,112,0,255,0,255,0,8,11,11, - 10,1,9,60,254,231,7,30,30,7,7,231,254,124,6,5, - 5,6,1,16,60,56,112,96,192,255,13,24,48,15,1,252, - 31,248,62,96,126,96,254,96,254,96,254,96,254,96,126,96, - 126,96,30,96,6,96,6,96,6,96,6,96,6,96,6,96, - 6,96,6,96,6,96,6,96,6,96,6,96,6,96,6,96, - 4,4,4,8,2,8,240,240,240,240,7,6,6,7,1,249, - 32,60,14,6,254,252,5,11,11,8,2,9,56,248,248,56, - 56,56,56,56,56,56,56,10,13,26,12,1,7,30,0,127, - 128,115,128,225,192,225,192,225,192,225,192,99,128,127,128,30, - 0,0,0,0,0,255,192,13,11,22,16,2,2,225,192,241, - 224,112,224,120,240,120,240,60,120,120,240,120,240,113,224,241, - 224,225,192,19,20,60,22,2,0,56,7,0,248,14,0,184, - 14,0,56,28,0,56,28,0,56,56,0,56,48,0,56,112, - 0,56,224,0,56,227,192,57,195,192,1,199,192,3,143,192, - 3,13,192,7,29,192,14,57,192,14,63,224,28,63,224,28, - 1,192,56,1,192,19,20,60,21,1,0,56,6,0,248,14, - 0,184,12,0,56,28,0,56,24,0,56,48,0,56,112,0, - 56,96,0,56,224,0,56,199,128,57,207,224,3,156,224,3, - 0,224,7,1,224,6,1,192,14,3,128,28,7,0,28,30, - 0,56,31,224,48,31,224,20,20,60,22,1,0,124,1,192, - 230,3,128,231,3,0,7,7,0,30,14,0,30,14,0,7, - 28,0,231,24,0,231,56,0,126,49,224,24,115,224,0,227, - 224,0,199,224,1,198,224,1,140,224,3,156,224,3,31,240, - 7,31,240,14,0,224,12,0,224,12,19,38,15,1,251,7, - 128,7,128,7,128,0,0,0,0,7,0,7,0,7,0,14, - 0,28,0,56,0,112,0,240,0,240,0,240,112,240,112,127, - 240,63,224,15,128,19,28,84,19,0,0,7,0,0,3,128, - 0,1,128,0,1,192,0,0,192,0,0,96,0,0,0,0, - 0,0,0,1,240,0,1,240,0,1,248,0,3,248,0,3, - 248,0,3,188,0,7,188,0,7,156,0,15,30,0,15,30, - 0,15,30,0,30,15,0,30,15,0,31,255,128,63,255,128, - 63,255,128,56,3,192,120,3,192,120,3,192,240,1,224,19, - 28,84,19,0,0,0,28,0,0,56,0,0,56,0,0,112, - 0,0,96,0,0,192,0,0,0,0,0,0,0,1,240,0, - 1,240,0,1,248,0,3,248,0,3,248,0,3,188,0,7, - 188,0,7,156,0,15,30,0,15,30,0,15,30,0,30,15, - 0,30,15,0,31,255,128,63,255,128,63,255,128,56,3,192, - 120,3,192,120,3,192,240,1,224,19,28,84,19,0,0,0, - 224,0,1,240,0,1,240,0,3,184,0,3,24,0,6,12, - 0,0,0,0,0,0,0,1,240,0,1,240,0,1,248,0, - 3,248,0,3,248,0,3,188,0,7,188,0,7,156,0,15, - 30,0,15,30,0,15,30,0,30,15,0,30,15,0,31,255, - 128,63,255,128,63,255,128,56,3,192,120,3,192,120,3,192, - 240,1,224,19,26,78,19,0,0,1,204,0,3,248,0,6, - 120,0,0,0,0,0,0,0,0,0,0,1,240,0,1,240, - 0,1,248,0,3,248,0,3,248,0,3,188,0,7,188,0, - 7,156,0,15,30,0,15,30,0,15,30,0,30,15,0,30, - 15,0,31,255,128,63,255,128,63,255,128,56,3,192,120,3, - 192,120,3,192,240,1,224,19,26,78,19,0,0,7,28,0, - 7,28,0,7,28,0,0,0,0,0,0,0,0,0,0,1, - 240,0,1,240,0,3,248,0,3,248,0,3,248,0,7,188, - 0,7,188,0,7,60,0,15,30,0,15,30,0,30,31,0, - 30,15,0,30,15,0,63,255,128,63,255,128,63,255,128,120, - 3,192,120,3,192,112,3,192,240,1,224,19,29,87,19,0, - 0,0,224,0,1,240,0,3,24,0,3,24,0,3,24,0, - 1,240,0,0,224,0,0,0,0,0,0,0,1,240,0,1, - 240,0,3,240,0,3,248,0,3,248,0,7,188,0,7,188, - 0,7,60,0,15,30,0,15,30,0,30,30,0,30,15,0, - 30,15,0,63,255,128,63,255,128,63,255,128,120,3,192,120, - 3,192,240,3,192,240,1,224,25,20,80,26,0,0,0,63, - 255,128,0,63,255,128,0,127,0,0,0,127,0,0,0,255, - 0,0,1,239,0,0,1,239,0,0,3,207,0,0,3,207, - 255,128,7,143,255,128,7,143,255,128,15,15,0,0,15,255, - 0,0,31,255,0,0,31,255,0,0,60,15,0,0,56,15, - 0,0,120,15,255,128,112,15,255,128,240,15,255,128,17,27, - 81,19,1,249,7,240,0,15,252,0,63,254,0,60,31,0, - 120,31,0,112,15,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,15,128,112,15, - 0,120,31,0,60,63,0,63,254,0,15,252,0,3,240,0, - 0,128,0,0,224,0,0,240,0,0,48,0,0,48,0,3, - 240,0,0,128,0,13,28,56,17,2,0,60,0,28,0,14, - 0,6,0,7,0,3,0,0,0,0,0,255,248,255,248,255, - 248,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, - 248,240,0,240,0,240,0,240,0,240,0,240,0,255,248,255, - 248,255,248,13,28,56,17,2,0,1,224,1,192,3,128,3, - 0,6,0,6,0,0,0,0,0,255,248,255,248,255,248,240, - 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,240, - 0,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, - 248,13,28,56,17,2,0,15,0,15,128,13,128,29,192,24, - 192,48,96,0,0,0,0,255,248,255,248,255,248,240,0,240, - 0,240,0,240,0,240,0,255,248,255,248,255,248,240,0,240, - 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,13, - 26,52,17,2,0,56,224,56,224,56,224,0,0,0,0,0, - 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, - 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, - 0,240,0,255,248,255,248,255,248,7,28,28,8,255,0,240, - 112,56,24,28,12,0,0,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,6,28,28,7,2, - 0,28,56,48,112,96,192,0,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,8,28,28, - 8,0,0,60,60,126,102,198,195,0,0,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,9, - 26,52,9,0,0,227,128,227,128,227,128,0,0,0,0,0, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,18,20,60,19,0,0,63, - 224,0,63,252,0,63,254,0,60,31,0,60,15,128,60,7, - 128,60,3,192,60,3,192,60,3,192,255,195,192,255,195,192, - 60,3,192,60,3,192,60,3,192,60,7,128,60,15,128,60, - 31,0,63,254,0,63,252,0,63,224,0,17,26,78,21,2, - 0,7,152,0,7,248,0,12,240,0,0,0,0,0,0,0, - 0,0,0,252,7,128,252,7,128,254,7,128,254,7,128,255, - 7,128,255,7,128,247,135,128,247,135,128,243,199,128,243,199, - 128,241,231,128,241,231,128,240,247,128,240,247,128,240,127,128, - 240,127,128,240,63,128,240,63,128,240,31,128,240,31,128,18, - 28,84,20,1,0,14,0,0,7,0,0,3,128,0,1,128, - 0,0,192,0,0,0,0,0,0,0,0,0,0,3,240,0, - 15,252,0,31,254,0,62,31,0,120,7,128,120,7,128,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,120,7,128,120,7,128,62,31,0, - 31,254,0,15,252,0,3,240,0,18,28,84,20,1,0,0, - 60,0,0,56,0,0,112,0,0,96,0,0,192,0,0,0, - 0,0,0,0,0,0,0,3,240,0,15,252,0,31,254,0, - 62,31,0,120,7,128,120,7,128,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,120,7,128,120,7,128,62,31,0,31,254,0,15,252,0, - 3,240,0,18,28,84,20,1,0,1,224,0,3,240,0,3, - 240,0,7,56,0,6,24,0,0,0,0,0,0,0,0,0, - 0,3,240,0,15,252,0,31,254,0,62,31,0,120,7,128, - 120,7,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,120,7,128,120,7, - 128,62,31,0,31,254,0,15,252,0,3,240,0,18,27,81, - 20,1,0,0,8,0,7,248,0,7,248,0,4,0,0,0, - 0,0,0,0,0,0,0,0,3,240,0,15,252,0,31,254, - 0,62,31,0,120,7,128,120,7,128,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,120,7,128,120,7,128,62,31,0,31,254,0,15,252, - 0,3,240,0,18,27,81,20,1,0,7,28,0,7,28,0, - 7,28,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 240,0,15,252,0,31,254,0,62,31,0,120,7,128,120,7, - 128,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,120,7,128,120,7,128,62, - 31,0,31,254,0,15,252,0,3,240,0,15,14,28,27,6, - 2,192,6,96,12,48,24,24,48,12,96,6,192,3,128,3, - 128,6,192,12,96,24,48,48,24,96,12,64,4,20,22,66, - 20,0,255,0,0,32,1,252,112,7,255,224,15,255,192,31, - 15,128,60,3,192,60,7,192,120,15,224,120,29,224,120,57, - 224,120,113,224,120,225,224,121,193,224,123,129,224,127,1,224, - 62,3,192,60,3,192,31,15,128,63,255,0,127,254,0,227, - 248,0,64,0,0,17,28,84,21,2,0,30,0,0,14,0, - 0,7,0,0,3,128,0,1,128,0,0,0,0,0,0,0, - 0,0,0,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,0,240,15,0, - 120,15,0,124,30,0,63,254,0,31,248,0,7,224,0,17, - 28,84,21,2,0,0,60,0,0,120,0,0,112,0,0,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,0,240,15,0,120,15,0,124,30,0, - 63,254,0,31,248,0,7,224,0,17,28,84,21,2,0,3, - 192,0,3,224,0,7,224,0,14,112,0,12,56,0,0,0, - 0,0,0,0,0,0,0,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 0,240,15,0,120,15,0,124,30,0,63,254,0,31,248,0, - 7,224,0,17,27,81,20,2,0,14,56,0,14,56,0,14, - 56,0,0,0,0,0,0,0,0,0,0,0,0,0,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,0,240,15,0,120,15,0,124,30, - 0,63,254,0,31,248,0,7,224,0,16,27,54,17,1,0, - 0,112,0,224,0,192,1,128,0,0,0,0,0,0,240,31, - 248,30,120,30,124,60,60,60,60,120,30,120,30,240,15,240, - 15,224,7,224,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,14,20,40,17,1,0,240,0,240,0, - 240,0,240,0,255,192,255,240,255,248,240,124,240,60,240,60, - 240,60,240,124,255,248,255,240,255,192,240,0,240,0,240,0, - 240,0,240,0,14,20,40,16,1,0,31,128,127,224,121,240, - 240,240,240,240,240,240,241,224,243,192,247,128,247,128,247,128, - 243,224,241,240,240,248,240,60,240,60,255,60,255,188,247,248, - 243,240,12,22,44,15,1,0,120,0,56,0,28,0,12,0, - 6,0,2,0,0,0,0,0,31,128,63,224,121,240,112,240, - 0,240,63,240,127,240,248,240,240,240,240,240,240,240,251,240, - 127,112,62,112,12,22,44,15,1,0,1,224,1,192,3,128, - 3,0,7,0,6,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,31,240,127,240,120,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,22,44,15,1,0,15,0,15,128, - 31,128,25,192,56,192,48,96,0,0,0,0,31,128,63,224, - 121,240,112,240,0,240,63,240,127,240,248,240,240,240,240,240, - 240,240,251,240,127,112,62,112,12,20,40,15,1,0,31,192, - 63,192,48,0,0,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,21,42,15,1,0,56,224,56,224, - 56,224,0,0,0,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,23,46,15,1,0,7,0,31,128, - 24,192,24,192,31,128,15,0,0,0,0,0,0,0,31,128, - 63,224,121,240,112,240,0,240,63,240,127,240,248,240,240,240, - 240,240,240,240,251,240,127,112,62,112,22,14,42,24,1,0, - 15,135,192,63,207,240,124,252,248,112,120,56,0,120,56,31, - 255,252,127,255,252,120,120,0,240,120,0,240,120,0,240,252, - 56,249,222,248,127,143,240,30,7,224,12,21,42,14,1,249, - 31,128,63,224,121,224,112,224,240,240,240,0,240,0,240,0, - 240,0,240,240,240,224,121,224,63,192,31,128,4,0,7,0, - 7,128,0,192,0,192,31,128,4,0,13,22,44,15,1,0, - 56,0,56,0,28,0,12,0,6,0,2,0,0,0,0,0, - 15,128,63,224,121,240,112,240,240,240,255,240,255,248,240,0, - 240,0,240,240,112,240,121,240,63,224,31,128,13,22,44,15, - 1,0,1,224,1,192,3,128,3,0,6,0,6,0,0,0, - 0,0,15,128,63,224,121,240,112,240,240,240,255,240,255,248, - 240,0,240,0,240,240,112,240,121,240,63,224,31,128,13,22, - 44,15,1,0,15,0,15,0,31,128,25,128,56,192,48,192, - 0,0,0,0,15,128,63,224,121,240,112,240,240,240,255,240, - 255,248,240,0,240,0,240,240,112,240,121,240,63,224,31,128, - 13,21,42,15,1,0,56,224,56,224,56,224,0,0,0,0, - 0,0,0,0,15,128,63,224,121,240,112,112,240,112,255,240, - 255,248,240,0,240,0,240,112,112,112,125,240,63,224,31,128, - 6,22,22,7,0,0,224,240,112,56,24,12,0,0,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,6,22,22,6, - 2,0,60,56,112,96,192,192,0,0,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,9,22,44,7,255,0,30,0, - 62,0,63,0,115,0,99,128,193,128,0,0,0,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,9,20,40,7,255,0, - 227,128,227,128,227,128,0,0,0,0,0,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,14,20,40,16,1,0,14,24, - 15,240,3,192,15,192,60,224,48,240,15,240,63,248,124,248, - 120,60,240,60,240,60,240,60,240,60,240,60,240,60,120,56, - 124,248,63,240,15,192,13,20,40,16,2,0,30,96,63,192, - 55,128,0,0,0,0,0,0,247,192,255,240,253,240,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,14,22,44,16,1,0,60,0,28,0,14,0, - 6,0,3,0,3,0,0,0,0,0,15,192,63,224,124,240, - 120,120,240,60,240,60,240,60,240,60,240,60,240,60,120,120, - 124,248,63,240,15,192,14,22,44,16,1,0,0,240,0,224, - 1,192,1,128,3,0,3,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,14,22,44,16,1,0,7,128, - 7,128,15,192,12,192,24,96,24,96,0,0,0,0,15,192, - 63,224,124,240,120,120,240,60,240,60,240,60,240,60,240,60, - 240,60,120,120,124,248,63,240,15,192,14,20,40,16,1,0, - 15,224,31,224,24,0,0,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,14,21,42,16,1,0,28,224, - 28,224,28,224,0,0,0,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,16,12,24,26,5,2,1,192, - 3,192,1,192,0,0,0,0,255,255,255,255,0,0,0,0, - 1,192,3,192,1,192,14,18,36,16,1,254,0,8,0,28, - 15,248,63,240,124,240,120,248,241,252,241,188,243,60,246,60, - 254,60,252,60,120,120,60,248,127,240,239,192,192,0,128,0, - 13,22,44,16,2,0,56,0,60,0,28,0,14,0,6,0, - 3,0,0,0,0,0,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,248,249,248,127,248, - 62,120,13,22,44,16,2,0,1,224,1,192,3,128,3,0, - 7,0,6,0,0,0,0,0,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,248,249,248, - 127,248,62,120,13,22,44,16,2,0,15,0,15,128,31,128, - 29,192,56,192,48,96,0,0,0,0,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, - 249,248,127,248,62,120,13,21,42,16,2,0,56,224,56,224, - 56,224,0,0,0,0,0,0,0,0,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, - 249,248,127,248,62,120,14,27,54,15,0,251,0,112,0,240, - 0,224,0,192,1,128,0,0,0,0,0,0,120,28,120,60, - 60,60,60,56,60,120,30,120,30,112,14,240,15,240,15,224, - 7,224,7,224,3,192,3,192,3,128,39,128,255,128,127,0, - 62,0,14,25,50,17,2,251,240,0,240,0,240,0,240,0, - 240,0,240,0,247,192,255,240,253,240,248,120,240,56,240,60, - 240,60,240,60,240,60,240,120,240,120,253,240,255,240,247,192, - 240,0,240,0,240,0,240,0,240,0,15,26,52,15,0,251, - 28,112,28,112,28,112,0,0,0,0,0,0,0,0,248,30, - 120,60,120,60,60,56,60,120,60,120,30,112,30,240,15,240, - 15,224,15,224,7,224,7,192,3,192,7,128,7,128,7,128, - 15,0,15,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=16 h=21 x= 5 y= 9 dx=26 dy= 0 ascent=20 len=40 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20n[603] U8G_FONT_SECTION("u8g_font_fub20n") = { - 0,40,36,254,249,20,0,0,0,0,42,58,0,20,252,20, - 0,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=27 h=29 x= 7 y=16 dx=28 dy= 0 ascent=22 len=100 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =22 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_FONT_SECTION("u8g_font_fub20r") = { - 0,40,36,254,249,20,4,242,11,37,32,127,251,22,249,20, - 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, - 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, - 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, - 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, - 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, - 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, - 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, - 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, - 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, - 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, - 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, - 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, - 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, - 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, - 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, - 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, - 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, - 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, - 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, - 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, - 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, - 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, - 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, - 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, - 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, - 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, - 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, - 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, - 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, - 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, - 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, - 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, - 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, - 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, - 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, - 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, - 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, - 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, - 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, - 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, - 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, - 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, - 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, - 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, - 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, - 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, - 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, - 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, - 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, - 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, - 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, - 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, - 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, - 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, - 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, - 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, - 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, - 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, - 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, - 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, - 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, - 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, - 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, - 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, - 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, - 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, - 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, - 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, - 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, - 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, - 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, - 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, - 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, - 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, - 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, - 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, - 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, - 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, - 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, - 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, - 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, - 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, - 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, - 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, - 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, - 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, - 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, - 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, - 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, - 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, - 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, - 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, - 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, - 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, - 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, - 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, - 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, - 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, - 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, - 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, - 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, - 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, - 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, - 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, - 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, - 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, - 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, - 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, - 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, - 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, - 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, - 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, - 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, - 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, - 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, - 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, - 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, - 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, - 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, - 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, - 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, - 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, - 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, - 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, - 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, - 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, - 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, - 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, - 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, - 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, - 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, - 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, - 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, - 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, - 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, - 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, - 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, - 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, - 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, - 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, - 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, - 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, - 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, - 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, - 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, - 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, - 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, - 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, - 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, - 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, - 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, - 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, - 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, - 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, - 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, - 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, - 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, - 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, - 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, - 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, - 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, - 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, - 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, - 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, - 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, - 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, - 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, - 156,127,248,225,240,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=14 h=20 x= 4 y= 0 dx=15 dy= 0 ascent=20 len=40 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20t[477] U8G_SECTION(".progmem.u8g_font_fub20t") = { - 0,40,36,254,249,20,0,0,0,0,48,58,0,20,0,20, - 0,14,20,40,15,1,0,15,128,31,224,60,240,120,112,112, - 56,240,56,240,56,240,60,240,60,240,60,240,60,240,60,240, - 60,240,56,240,56,112,56,120,120,60,240,31,224,15,128,8, - 20,20,15,3,0,15,63,127,255,239,207,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,14,20,40,15,1,0,7, - 192,31,240,63,248,124,120,120,60,120,60,0,60,0,120,0, - 120,0,240,1,240,3,224,7,192,15,128,31,0,124,0,248, - 0,255,252,255,252,255,252,13,20,40,15,1,0,15,128,63, - 224,127,240,248,240,240,120,0,120,0,120,0,240,15,224,15, - 128,15,224,0,240,0,120,0,120,240,120,240,120,248,240,127, - 240,63,224,31,128,14,20,40,15,1,0,1,240,3,240,3, - 240,7,240,7,240,14,240,30,240,28,240,60,240,56,240,120, - 240,112,240,240,240,255,252,255,252,255,252,0,240,0,240,0, - 240,0,240,13,20,40,15,1,0,255,240,255,240,255,240,240, - 0,240,0,240,0,240,0,247,192,255,224,253,240,240,120,240, - 120,0,120,0,120,0,120,240,120,240,240,127,240,63,224,31, - 128,13,20,40,15,1,0,15,192,31,224,63,240,120,120,120, - 120,112,0,240,0,247,192,239,224,253,240,248,120,240,120,240, - 120,240,120,240,120,112,120,120,240,63,240,63,224,15,128,13, - 20,40,15,1,0,255,248,255,248,255,248,0,120,0,120,0, - 240,0,240,1,224,1,224,1,224,3,192,3,192,7,128,7, - 128,15,128,15,0,31,0,30,0,30,0,62,0,14,20,40, - 15,1,0,31,192,63,240,127,240,120,248,240,120,240,120,240, - 120,120,240,63,224,31,192,63,240,120,120,240,56,240,60,240, - 60,240,60,248,120,127,248,63,240,31,192,13,20,40,15,1, - 0,15,128,63,192,127,224,120,240,240,112,240,120,240,120,240, - 120,240,120,120,248,127,184,63,56,0,120,0,120,0,112,240, - 240,120,240,127,224,63,192,15,128,4,14,14,9,4,0,240, - 240,240,240,0,0,0,0,0,0,240,240,240,240}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=34 h=37 x= 8 y=22 dx=35 dy= 0 ascent=37 len=160 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =37 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25[12908] U8G_FONT_SECTION("u8g_font_fub25") = { - 0,50,46,254,247,25,7,111,16,148,32,255,249,37,247,25, - 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, - 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, - 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, - 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, - 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, - 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, - 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, - 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, - 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, - 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, - 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, - 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, - 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, - 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, - 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, - 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, - 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, - 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, - 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, - 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, - 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, - 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, - 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, - 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, - 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, - 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, - 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, - 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, - 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, - 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, - 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, - 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, - 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, - 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, - 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, - 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, - 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, - 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, - 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, - 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, - 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, - 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, - 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, - 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, - 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, - 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, - 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, - 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, - 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, - 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, - 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, - 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, - 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, - 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, - 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, - 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, - 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, - 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, - 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, - 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, - 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, - 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, - 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, - 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, - 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, - 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, - 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, - 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, - 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, - 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, - 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, - 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, - 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, - 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, - 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, - 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, - 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, - 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, - 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, - 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, - 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, - 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, - 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, - 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, - 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, - 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, - 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, - 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, - 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, - 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, - 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, - 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, - 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, - 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, - 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, - 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, - 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, - 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, - 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, - 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, - 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, - 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, - 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, - 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, - 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, - 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, - 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, - 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, - 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, - 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, - 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, - 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, - 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, - 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, - 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, - 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, - 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, - 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, - 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, - 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, - 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, - 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, - 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, - 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, - 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, - 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, - 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, - 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, - 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, - 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, - 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, - 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, - 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, - 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, - 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, - 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, - 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, - 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, - 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, - 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, - 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, - 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, - 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, - 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, - 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, - 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, - 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, - 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, - 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, - 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, - 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, - 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, - 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, - 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, - 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, - 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, - 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, - 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, - 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, - 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, - 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, - 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, - 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, - 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, - 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, - 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, - 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, - 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, - 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, - 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, - 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, - 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, - 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, - 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, - 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, - 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, - 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, - 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, - 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, - 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, - 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, - 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, - 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, - 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, - 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, - 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, - 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, - 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, - 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, - 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, - 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, - 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, - 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, - 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, - 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, - 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, - 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, - 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, - 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, - 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, - 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, - 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, - 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, - 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, - 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, - 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, - 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, - 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, - 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, - 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, - 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, - 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, - 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, - 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, - 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, - 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, - 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, - 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, - 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, - 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, - 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, - 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, - 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, - 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, - 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, - 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, - 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, - 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, - 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, - 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, - 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, - 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, - 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, - 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, - 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, - 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, - 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, - 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, - 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, - 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, - 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, - 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, - 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, - 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, - 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, - 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, - 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, - 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, - 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, - 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, - 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, - 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, - 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, - 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, - 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, - 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,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,10,0,0,5,25,25,13,4,249,248,248,248,248, - 0,0,0,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,15,26,52,19,2,252,0,48,0,48,0, - 48,0,32,7,224,31,248,63,252,124,252,120,254,248,254,249, - 128,249,128,249,128,249,0,251,0,251,62,251,62,126,62,126, - 124,63,252,31,248,15,224,12,0,24,0,24,0,24,0,17, - 25,75,20,2,1,7,254,0,15,255,0,31,255,0,31,15, - 128,62,15,128,62,0,0,62,0,0,62,0,0,62,0,0, - 255,240,0,255,240,0,255,240,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,255,128,255,255,128,255,255,128, - 18,19,57,20,1,6,64,0,128,224,1,192,115,227,128,63, - 255,0,30,30,0,28,14,0,24,6,0,48,3,0,48,3, - 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, - 30,30,0,63,255,0,115,243,128,224,1,192,64,0,128,19, - 25,75,21,1,0,248,3,224,248,7,224,124,7,192,124,7, - 192,62,15,128,62,15,128,31,31,0,255,31,224,255,191,224, - 15,190,0,7,252,0,7,252,0,3,248,0,255,255,224,255, - 255,224,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,14,31,62,16,1,251,31,240,63, - 248,127,248,124,24,248,0,248,0,124,0,126,0,63,128,31, - 192,31,240,63,248,124,248,248,124,240,60,240,120,240,120,253, - 240,127,224,63,192,31,224,7,240,1,248,0,252,0,124,0, - 124,128,248,225,248,255,240,255,224,63,128,11,4,8,11,0, - 22,241,224,241,224,241,224,241,224,25,25,100,29,2,1,0, - 255,192,0,3,255,224,0,15,0,120,0,30,0,60,0,24, - 63,14,0,56,127,134,0,112,255,199,0,97,227,195,0,225, - 193,227,128,195,193,225,128,195,192,1,128,195,192,1,128,195, - 192,1,128,195,192,1,128,195,193,225,128,227,193,227,128,97, - 227,195,0,113,255,195,0,48,255,135,0,56,62,14,0,28, - 0,28,0,15,0,120,0,7,193,240,0,1,255,224,0,0, - 127,0,0,12,17,34,14,1,8,15,128,63,192,56,224,112, - 224,0,224,15,224,63,224,120,224,112,224,112,224,121,224,63, - 224,30,96,0,0,0,0,255,240,255,240,17,14,42,21,2, - 2,31,15,128,30,31,0,62,31,0,60,62,0,124,62,0, - 124,124,0,248,124,0,248,124,0,124,124,0,124,62,0,60, - 62,0,62,31,0,30,15,0,31,15,128,18,8,24,21,2, - 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,255,25,25,100,29,2,1, - 0,255,192,0,3,255,224,0,15,0,120,0,30,0,60,0, - 25,255,142,0,57,255,198,0,113,255,231,0,97,193,227,0, - 225,192,227,128,193,193,225,128,193,255,129,128,193,255,129,128, - 193,255,193,128,193,193,193,128,193,193,193,128,225,192,227,128, - 97,192,227,0,113,192,227,0,49,192,231,0,56,0,14,0, - 28,0,28,0,15,0,120,0,7,193,240,0,1,255,224,0, - 0,127,0,0,11,3,6,11,0,22,255,224,255,224,255,224, - 7,7,7,11,2,18,56,196,130,130,130,196,120,20,21,63, - 34,7,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,255,255,240,255,255,240,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,240,255, - 255,240,11,13,26,13,1,13,63,128,127,192,241,224,1,224, - 1,224,3,192,7,192,15,128,30,0,124,0,240,0,255,192, - 255,192,11,14,28,13,1,12,127,128,255,128,227,192,3,192, - 7,192,31,128,31,128,3,192,1,224,1,224,225,224,243,192, - 127,128,63,0,7,7,7,8,2,21,62,60,56,120,112,224, - 192,255,16,31,62,19,2,250,15,255,63,255,127,24,255,24, - 255,24,255,24,255,24,255,24,255,24,255,24,127,24,63,24, - 31,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,5,5,5,10,3,10,248,248,248,248, - 248,9,8,16,9,1,247,48,0,48,0,63,0,7,128,3, - 128,3,128,255,0,254,0,6,14,14,9,1,12,28,124,252, - 220,28,28,28,28,28,28,28,28,28,28,12,17,34,14,1, - 8,31,128,63,192,121,224,112,224,224,112,224,112,224,112,224, - 112,224,112,112,224,121,224,63,192,31,128,0,0,0,0,255, - 240,255,240,16,14,28,21,2,2,240,120,248,124,124,60,124, - 62,62,30,62,31,31,31,31,31,62,31,62,30,124,62,124, - 60,248,124,240,120,25,26,104,27,1,0,28,0,120,0,124, - 0,112,0,252,0,240,0,156,0,224,0,28,1,192,0,28, - 1,192,0,28,3,128,0,28,7,128,0,28,7,0,0,28, - 14,0,0,28,14,0,0,28,28,0,0,28,28,30,0,28, - 56,30,0,0,120,62,0,0,112,126,0,0,224,126,0,0, - 224,238,0,1,193,206,0,1,193,206,0,3,131,142,0,7, - 3,255,128,7,3,255,128,14,0,14,0,14,0,14,0,28, - 0,14,0,25,26,104,27,1,0,28,0,112,0,124,0,224, - 0,252,0,224,0,220,1,192,0,28,3,192,0,28,3,128, - 0,28,7,0,0,28,7,0,0,28,14,0,0,28,14,0, - 0,28,28,0,0,28,56,0,0,28,56,124,0,28,113,255, - 0,0,115,199,128,0,227,199,128,0,192,7,128,1,192,15, - 128,3,128,15,0,3,128,30,0,7,0,60,0,6,0,248, - 0,14,1,240,0,12,3,192,0,28,3,255,0,24,3,255, - 0,25,25,100,27,1,1,127,128,60,0,255,192,56,0,227, - 192,112,0,3,192,112,0,31,128,224,0,31,129,224,0,3, - 193,192,0,1,227,192,0,225,227,128,0,227,231,128,0,127, - 207,0,0,63,14,30,0,0,30,62,0,0,28,62,0,0, - 60,126,0,0,56,110,0,0,120,238,0,0,241,206,0,0, - 241,206,0,1,227,142,0,1,227,255,128,3,195,255,128,3, - 128,14,0,7,128,14,0,15,0,14,0,16,25,50,18,1, - 249,3,224,3,224,3,224,3,224,0,0,0,0,0,0,1, - 192,1,192,1,192,3,192,7,128,15,0,30,0,60,0,124, - 0,248,0,248,0,248,0,248,14,248,31,124,62,63,254,31, - 248,7,224,23,35,105,24,1,0,3,192,0,3,192,0,1, - 224,0,0,224,0,0,112,0,0,48,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,124,0,0,252,0,0,254,0, - 0,254,0,1,254,0,1,255,0,3,255,0,3,207,0,3, - 207,128,7,207,128,7,135,192,7,135,192,15,135,192,15,3, - 224,31,3,224,31,3,240,31,255,240,63,255,240,63,255,248, - 127,255,248,124,0,248,124,0,252,248,0,124,248,0,126,240, - 0,62,23,35,105,24,1,0,0,15,0,0,15,0,0,30, - 0,0,28,0,0,56,0,0,48,0,0,112,0,0,0,0, - 0,0,0,0,0,0,0,124,0,0,252,0,0,254,0,0, - 254,0,1,254,0,1,255,0,3,255,0,3,207,0,3,207, - 128,7,207,128,7,135,192,7,135,192,15,135,192,15,3,224, - 31,3,224,31,3,240,31,255,240,63,255,240,63,255,248,127, - 255,248,124,0,248,124,0,252,248,0,124,248,0,126,240,0, - 62,23,35,105,24,1,0,0,252,0,0,252,0,0,254,0, - 1,206,0,1,199,0,3,135,0,3,3,128,0,0,0,0, - 0,0,0,0,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 23,34,102,24,1,0,0,1,128,1,255,0,3,255,0,3, - 254,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,124,0,0,252,0,0,254,0,0,254,0,1,254,0, - 1,255,0,3,255,0,3,207,0,3,207,128,7,207,128,7, - 135,192,7,135,192,15,135,192,15,3,224,31,3,224,31,3, - 240,31,255,240,63,255,240,63,255,248,127,255,248,124,0,248, - 124,0,252,248,0,124,248,0,126,240,0,62,23,34,102,25, - 1,0,3,199,128,3,199,128,3,199,128,3,199,128,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, - 0,124,0,0,254,0,0,254,0,1,255,0,1,255,0,1, - 239,0,3,239,128,3,239,128,3,199,128,7,199,192,7,199, - 192,15,131,224,15,131,224,15,131,224,31,1,240,31,255,240, - 31,255,240,63,255,248,63,255,248,124,0,252,124,0,124,124, - 0,124,248,0,62,248,0,62,23,37,111,24,1,0,0,120, - 0,0,252,0,1,206,0,1,134,0,1,134,0,1,206,0, - 0,252,0,0,120,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,124,0,0,252,0,0,252,0,0,254,0,1,254, - 0,1,255,0,3,255,0,3,207,0,3,207,128,7,207,128, - 7,135,192,7,135,192,15,135,192,15,3,224,31,3,224,31, - 3,224,31,255,240,63,255,240,63,255,248,127,255,248,124,0, - 248,124,0,252,248,0,124,248,0,126,240,0,62,32,25,100, - 34,1,0,0,7,255,254,0,15,255,254,0,15,255,254,0, - 31,240,0,0,31,240,0,0,63,240,0,0,61,240,0,0, - 121,240,0,0,249,240,0,0,241,240,0,1,241,255,254,1, - 225,255,254,3,225,255,254,3,193,255,254,7,193,240,0,7, - 255,240,0,15,255,240,0,15,255,240,0,31,255,240,0,30, - 1,240,0,62,1,240,0,60,1,255,255,124,1,255,255,248, - 1,255,255,248,1,255,255,21,33,99,25,2,249,3,255,0, - 15,255,192,31,255,224,63,255,240,62,3,240,124,1,240,120, - 1,248,120,0,248,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,248, - 120,1,248,124,1,248,124,3,240,63,7,240,31,255,224,31, - 255,192,7,255,128,1,252,0,0,96,0,0,120,0,0,126, - 0,0,15,0,0,7,0,0,7,0,1,254,0,1,252,0, - 17,35,105,21,2,0,30,0,0,15,0,0,7,0,0,7, - 128,0,3,128,0,1,192,0,0,192,0,0,0,0,0,0, - 0,0,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,255,255,128,255,255,128,255,255,128,255,255,128,17, - 35,105,21,2,0,0,120,0,0,240,0,0,224,0,1,192, - 0,1,128,0,3,128,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,0,255,255,0,255,255,0,255,255,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,17,35, - 105,21,2,0,7,224,0,7,224,0,15,240,0,14,112,0, - 14,56,0,28,56,0,24,28,0,0,0,0,0,0,0,0, - 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,128,255,255,128,255,255,128,255,255,128,17,34,102, - 21,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 0,255,255,0,255,255,0,255,255,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,255,255,0,255, - 255,0,255,255,0,255,255,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,128, - 255,255,128,255,255,128,255,255,128,8,35,35,9,255,0,240, - 120,56,60,28,12,6,0,0,0,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,7,35,35,8,2,0,30,28,60,56,112,96,224,0, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,11,35,70,9,255, - 0,31,0,63,0,63,128,59,128,113,192,97,192,192,224,0, - 0,0,0,0,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,11,34,68,11,0,0,241,224,241, - 224,241,224,241,224,0,0,0,0,0,0,0,0,0,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,23,25,75,24,0,0,63,252,0,63,255,128,63,255,192, - 63,255,224,62,7,240,62,1,248,62,0,248,62,0,124,62, - 0,124,62,0,60,62,0,60,255,240,62,255,240,62,255,240, - 62,62,0,60,62,0,60,62,0,124,62,0,124,62,0,248, - 62,1,248,62,7,240,63,255,224,63,255,192,63,255,128,63, - 252,0,21,34,102,25,2,0,0,3,0,1,255,0,3,254, - 0,7,252,0,6,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,254,0,248,255,0,248,255,0,248,255,128,248,255, - 128,248,255,192,248,255,192,248,251,224,248,251,224,248,249,224, - 248,249,240,248,248,240,248,248,248,248,248,120,248,248,124,248, - 248,60,248,248,62,248,248,30,248,248,31,248,248,31,248,248, - 15,248,248,15,248,248,7,248,248,7,248,248,3,248,23,36, - 108,27,2,0,7,192,0,3,192,0,1,224,0,0,224,0, - 0,240,0,0,112,0,0,56,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, - 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, - 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, - 23,36,108,27,2,0,0,7,192,0,7,128,0,15,0,0, - 14,0,0,28,0,0,24,0,0,48,0,0,0,0,0,0, - 0,0,0,0,0,0,0,3,255,128,7,255,192,31,255,240, - 31,255,240,63,1,248,126,0,252,124,0,124,120,0,60,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,124,0,124,124,0,124, - 62,0,248,63,131,248,31,255,240,15,255,224,7,255,192,0, - 254,0,23,36,108,27,2,0,0,124,0,0,254,0,0,254, - 0,1,239,0,1,199,0,3,131,128,3,1,128,0,0,0, - 0,0,0,0,0,0,0,0,0,3,255,128,7,255,192,31, - 255,240,31,255,240,63,1,248,126,0,252,124,0,124,120,0, - 60,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,124,0,124,124, - 0,124,62,0,248,63,131,248,31,255,240,15,255,224,7,255, - 192,0,254,0,23,34,102,27,2,0,0,241,128,1,255,128, - 3,255,0,3,30,0,3,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, - 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, - 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, - 23,34,102,27,2,0,3,199,128,3,199,128,3,199,128,3, - 199,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,3,255,128,7,255,192,31,255,240,31,255,240,63,1,248, - 126,0,252,124,0,124,120,0,60,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,124,0,124,124,0,124,62,0,248,63,131,248, - 31,255,240,15,255,224,7,255,192,0,254,0,18,19,57,34, - 8,1,64,0,0,224,0,192,112,1,128,56,3,0,28,6, - 0,14,12,0,6,24,0,3,48,0,1,224,0,0,192,0, - 1,224,0,3,48,0,6,24,0,12,12,0,24,6,0,48, - 3,0,112,1,128,224,1,192,64,0,128,25,28,112,27,1, - 255,0,0,1,0,0,0,3,128,1,255,195,128,3,255,247, - 0,15,255,254,0,15,255,252,0,31,128,252,0,63,0,126, - 0,62,0,254,0,60,1,254,0,124,3,223,0,124,7,159, - 0,124,15,31,0,124,30,31,0,124,60,31,0,124,120,31, - 0,124,240,31,0,125,224,31,0,127,192,31,0,63,128,62, - 0,63,0,62,0,63,0,124,0,31,193,252,0,63,255,248, - 0,127,255,240,0,243,255,224,0,224,127,0,0,64,0,0, - 0,21,36,108,25,2,0,15,0,0,7,128,0,3,192,0, - 3,192,0,1,224,0,0,224,0,0,112,0,0,0,0,0, - 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,240,248,0,240,120,1, - 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, - 3,252,0,21,36,108,25,2,0,0,15,128,0,15,0,0, - 30,0,0,60,0,0,56,0,0,112,0,0,96,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,240,248,0,240, - 120,1,240,124,3,240,127,7,224,63,255,192,31,255,128,15, - 255,0,3,252,0,21,36,108,25,2,0,0,248,0,1,248, - 0,1,252,0,3,220,0,7,142,0,7,14,0,14,7,0, - 0,0,0,0,0,0,0,0,0,0,0,0,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,240,248, - 0,240,120,1,240,124,3,240,127,7,224,63,255,192,31,255, - 128,15,255,0,3,252,0,21,34,102,25,2,0,7,143,0, - 7,143,0,7,143,0,7,143,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,240,248,0,240,124,1, - 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, - 3,252,0,21,35,105,22,1,0,0,30,0,0,30,0,0, - 28,0,0,56,0,0,48,0,0,112,0,0,0,0,0,0, - 0,0,0,0,0,0,0,252,1,248,252,1,240,126,3,224, - 126,3,224,63,7,192,31,7,192,31,143,128,15,143,128,15, - 223,0,7,223,0,7,254,0,3,254,0,3,252,0,1,248, - 0,1,248,0,0,240,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,18,25,75,22,2,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,240,0,255,254,0,255,255,0,255,255,128, - 248,15,128,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,255,255,128,255,255,0,255,254,0,255,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,18,25,75,19,1,1,31,240,0,63,252,0,127, - 252,0,248,62,0,248,62,0,248,62,0,248,62,0,248,124, - 0,248,248,0,248,240,0,249,240,0,251,224,0,251,224,0, - 249,248,0,249,252,0,248,127,0,248,63,128,248,15,128,248, - 7,128,248,7,192,251,199,192,251,199,128,249,255,128,249,255, - 0,248,126,0,15,28,56,19,2,0,60,0,30,0,14,0, - 7,0,7,0,3,128,1,128,0,0,0,0,0,0,7,224, - 63,248,127,252,124,62,120,62,0,62,15,254,63,254,127,254, - 124,62,248,62,248,62,248,62,248,62,252,126,127,254,63,222, - 31,30,15,28,56,19,2,0,0,120,0,240,0,240,1,224, - 1,192,1,128,3,0,0,0,0,0,0,0,7,224,63,248, - 127,252,124,62,120,62,0,62,15,254,63,254,127,254,124,62, - 248,62,248,62,248,62,248,62,252,126,127,254,63,222,31,30, - 15,28,56,19,2,0,7,192,7,224,15,224,14,240,28,112, - 24,56,56,24,0,0,0,0,0,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,15,26, - 52,19,2,0,0,24,15,248,31,240,31,224,48,0,0,0, - 0,0,0,0,7,224,63,248,127,252,124,62,120,62,0,62, - 15,254,63,254,127,254,124,62,248,62,248,62,248,62,248,62, - 252,126,127,254,63,222,31,30,15,27,54,19,2,0,60,120, - 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, - 15,224,63,248,127,252,124,62,120,62,0,62,15,254,63,254, - 127,254,124,62,248,62,248,62,248,62,248,62,252,126,127,254, - 63,222,31,30,15,30,60,19,2,0,3,192,7,224,14,112, - 12,48,12,48,14,112,7,224,3,192,0,0,0,0,0,0, - 0,0,7,224,31,248,63,252,124,62,120,62,0,62,15,254, - 63,254,127,254,124,62,248,62,248,62,248,62,248,62,252,126, - 127,254,63,222,31,30,27,18,72,31,2,0,7,224,124,0, - 31,249,255,0,127,253,255,128,124,63,135,192,120,31,3,192, - 0,31,3,224,7,255,255,224,63,255,255,224,127,255,255,224, - 124,31,0,0,248,31,0,0,248,31,0,0,248,31,131,224, - 248,31,131,192,252,59,199,192,127,241,255,192,63,224,255,128, - 15,128,126,0,15,26,52,18,2,248,7,224,31,248,63,252, - 124,124,120,60,248,62,248,62,248,0,248,0,248,0,248,0, - 248,62,248,62,120,60,124,124,63,252,31,248,15,224,3,0, - 3,128,3,224,0,240,0,112,0,112,15,224,15,192,15,28, - 56,19,2,0,62,0,30,0,15,0,7,0,7,128,3,128, - 1,192,0,0,0,0,0,0,7,224,31,248,63,252,124,60, - 120,62,248,30,248,30,255,254,255,254,255,254,248,0,248,0, - 248,30,120,62,124,62,63,252,31,248,7,224,15,28,56,19, - 2,0,0,120,0,112,0,240,0,224,1,192,1,128,3,0, - 0,0,0,0,0,0,7,224,31,248,63,252,124,60,120,62, - 248,30,248,30,255,254,255,254,255,254,248,0,248,0,248,30, - 120,62,124,62,63,252,31,248,7,224,15,28,56,19,2,0, - 7,224,7,224,15,224,14,112,28,112,28,56,56,24,0,0, - 0,0,0,0,7,224,31,248,63,252,124,60,120,62,248,30, - 248,30,255,254,255,254,255,254,248,0,248,0,248,30,120,62, - 124,62,63,252,31,248,7,224,15,27,54,19,2,0,60,120, - 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, - 7,224,31,248,63,252,124,124,120,62,248,62,248,62,255,254, - 255,254,255,254,248,0,248,0,248,62,120,62,124,126,63,252, - 31,248,7,224,8,28,28,9,255,0,240,120,120,60,28,14, - 6,0,0,0,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,7,28,28,8,2,0,30,60,56,120, - 112,224,192,0,0,0,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,10,28,56,9,255,0,31,0, - 63,0,63,128,123,128,115,192,97,192,224,192,0,0,0,0, - 0,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,11,26,52,9,255,0,241,224,241,224, - 241,224,241,224,0,0,0,0,0,0,0,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 18,26,78,21,2,0,0,1,0,15,135,0,3,254,0,1, - 248,0,3,248,0,15,252,0,60,60,0,16,30,0,7,255, - 0,31,255,0,63,255,0,126,31,128,124,15,128,248,15,128, - 248,7,128,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,128,120,15,128,124,15,128,126,31,0,63,255,0,31,252, - 0,3,240,0,16,26,52,20,2,0,0,24,15,248,31,248, - 31,240,48,0,0,0,0,0,0,0,249,248,251,252,255,254, - 252,63,252,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,18,28, - 84,21,2,0,31,0,0,15,0,0,7,128,0,3,128,0, - 3,192,0,1,192,0,0,224,0,0,0,0,0,0,0,0, - 0,0,3,240,0,15,252,0,63,254,0,62,31,0,124,15, - 128,120,15,128,248,7,128,248,7,128,248,7,192,248,7,192, - 248,7,192,248,7,128,120,15,128,124,15,128,62,31,0,63, - 254,0,15,252,0,3,240,0,18,28,84,21,2,0,0,60, - 0,0,56,0,0,120,0,0,112,0,0,224,0,0,192,0, - 1,128,0,0,0,0,0,0,0,0,0,0,3,240,0,15, - 252,0,63,254,0,62,31,0,124,15,128,120,15,128,248,7, - 128,248,7,128,248,7,192,248,7,192,248,7,192,248,7,128, - 120,15,128,124,15,128,62,31,0,63,254,0,15,252,0,3, - 240,0,18,28,84,21,2,0,3,224,0,3,240,0,7,240, - 0,7,56,0,14,56,0,14,28,0,28,12,0,0,0,0, - 0,0,0,0,0,0,3,240,0,15,252,0,63,254,0,62, - 31,0,124,15,128,120,15,128,248,7,128,248,7,128,248,7, - 192,248,7,192,248,7,192,248,7,128,120,15,128,124,15,128, - 62,31,0,63,254,0,15,252,0,3,240,0,18,27,81,21, - 2,0,0,4,0,0,12,0,7,252,0,15,248,0,15,240, - 0,24,0,0,0,0,0,0,0,0,0,0,0,3,240,0, - 15,252,0,63,254,0,62,31,0,124,15,128,120,15,128,248, - 7,128,248,7,128,248,7,192,248,7,192,248,7,192,248,7, - 128,120,15,128,124,15,128,62,31,0,63,254,0,15,252,0, - 3,240,0,18,27,81,21,2,0,30,60,0,30,60,0,30, - 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,3,240,0,15,252,0,63,254,0,62,31,0, - 124,15,128,120,15,128,248,7,128,248,7,128,248,7,192,248, - 7,192,248,7,192,248,7,128,120,15,128,124,15,128,62,31, - 0,63,254,0,15,252,0,3,240,0,20,15,45,34,7,3, - 0,112,0,0,248,0,0,248,0,0,112,0,0,0,0,0, - 0,0,0,0,0,255,255,240,255,255,240,0,0,0,0,0, - 0,0,112,0,0,248,0,0,248,0,0,112,0,18,23,69, - 21,2,254,0,1,0,0,1,128,0,3,128,3,247,0,15, - 255,0,63,254,0,62,31,0,124,63,128,120,55,128,248,119, - 128,248,231,128,249,199,192,251,135,192,251,135,192,255,7,128, - 126,15,128,124,15,128,62,31,0,63,254,0,127,252,0,227, - 240,0,224,0,0,192,0,0,16,28,56,20,2,0,62,0, - 30,0,15,0,7,0,3,128,3,128,1,192,0,0,0,0, - 0,0,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,252,63, - 127,255,63,223,31,159,16,28,56,20,2,0,0,120,0,240, - 0,240,0,224,1,192,1,128,3,0,0,0,0,0,0,0, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,252,63,127,255, - 63,223,31,159,16,28,56,20,2,0,7,224,7,224,15,240, - 14,112,28,56,28,56,56,28,0,0,0,0,0,0,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,252,63,127,255,63,223, - 31,159,16,27,54,20,2,0,60,120,60,120,60,120,60,120, - 0,0,0,0,0,0,0,0,0,0,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,252,63,127,255,63,223,31,159,17,35, - 105,19,1,249,0,30,0,0,60,0,0,56,0,0,120,0, - 0,112,0,0,224,0,0,192,0,0,0,0,0,0,0,0, - 0,0,248,15,128,248,15,128,252,15,128,124,31,0,126,31, - 0,62,31,0,62,62,0,63,62,0,31,60,0,31,124,0, - 15,252,0,15,248,0,15,248,0,7,248,0,7,240,0,3, - 240,0,3,240,0,3,224,0,3,224,0,3,192,0,103,192, - 0,255,192,0,255,192,0,127,128,0,62,0,0,17,32,96, - 21,2,249,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,249,240,0,255,252,0,255,254, - 0,254,63,0,252,31,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,254,63,0,255,254,0,255,252,0,251,240,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,17,33,99,19,1,249,30,60,0,30,60,0,30, - 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, - 0,248,15,128,248,15,128,252,15,128,124,31,0,124,31,0, - 126,31,0,62,62,0,63,62,0,31,62,0,31,124,0,31, - 252,0,15,248,0,15,248,0,7,248,0,7,240,0,7,240, - 0,3,240,0,3,224,0,3,224,0,3,224,0,7,192,0, - 7,192,0,7,192,0,15,128,0,15,128,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=20 h=28 x= 7 y=13 dx=34 dy= 0 ascent=26 len=75 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25n[981] U8G_FONT_SECTION("u8g_font_fub25n") = { - 0,50,46,254,247,25,0,0,0,0,42,58,0,26,251,25, - 0,14,13,26,22,4,13,28,224,60,240,28,224,15,192,135, - 132,255,252,255,252,231,156,15,192,30,224,28,224,60,240,8, - 64,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,7,9,9,11,2,251,62,60,60,120, - 120,112,240,240,224,9,5,10,11,1,7,255,128,255,128,255, - 128,255,128,255,128,5,5,5,10,3,0,248,248,248,248,248, - 11,28,56,15,2,254,0,224,0,224,1,192,1,192,1,192, - 3,128,3,128,3,128,3,128,7,0,7,0,7,0,14,0, - 14,0,14,0,28,0,28,0,28,0,56,0,56,0,56,0, - 56,0,112,0,112,0,112,0,224,0,224,0,224,0,17,25, - 75,19,1,1,7,224,0,31,252,0,63,254,0,60,30,0, - 120,15,0,120,15,0,120,15,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, - 120,15,0,60,30,0,31,252,0,15,248,0,7,224,0,11, - 25,50,19,3,1,3,224,15,224,31,224,127,224,255,224,251, - 224,243,224,195,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,17,25,75,19,1,1,7,248,0, - 31,254,0,31,255,0,63,255,0,126,31,128,124,15,128,124, - 15,128,0,15,128,0,15,128,0,31,0,0,31,0,0,62, - 0,0,126,0,0,252,0,1,248,0,3,240,0,7,224,0, - 15,192,0,63,0,0,126,0,0,252,0,0,255,255,128,255, - 255,128,255,255,128,255,255,128,16,25,50,19,2,1,31,240, - 63,252,127,254,255,254,248,62,248,31,0,31,0,30,0,126, - 7,252,7,240,7,248,7,252,0,62,0,31,0,31,0,31, - 248,31,248,31,248,31,252,62,127,254,127,252,31,248,15,224, - 18,25,75,19,1,1,0,126,0,0,254,0,0,254,0,1, - 254,0,3,254,0,3,254,0,7,190,0,15,190,0,15,62, - 0,30,62,0,30,62,0,60,62,0,124,62,0,120,62,0, - 240,62,0,255,255,192,255,255,192,255,255,192,255,255,192,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,17,25,75,19,1,1,255,254,0,255,254,0,255,254,0, - 255,254,0,248,0,0,248,0,0,248,0,0,248,0,0,249, - 240,0,255,252,0,255,254,0,252,63,0,248,31,0,248,15, - 0,0,15,128,0,15,128,0,15,128,0,15,0,248,15,0, - 248,31,0,252,63,0,127,254,0,127,252,0,63,248,0,15, - 224,0,17,25,75,19,1,1,3,240,0,15,252,0,31,254, - 0,63,255,0,62,31,0,126,15,128,124,0,0,124,0,0, - 252,0,0,248,248,0,251,254,0,255,254,0,255,31,0,254, - 15,128,252,15,128,252,15,128,252,15,128,252,15,128,124,15, - 128,126,15,128,127,31,0,63,255,0,31,254,0,15,252,0, - 3,240,0,16,25,50,19,2,1,255,255,255,255,255,255,255, - 255,0,15,0,31,0,30,0,62,0,62,0,124,0,124,0, - 248,0,248,0,240,1,240,1,240,3,224,3,224,7,192,7, - 192,15,128,15,128,15,128,31,0,31,0,17,25,75,19,1, - 1,7,240,0,31,252,0,127,255,0,127,255,0,252,31,128, - 248,15,128,248,15,128,120,15,0,124,31,0,63,254,0,15, - 248,0,31,248,0,63,254,0,124,63,0,248,15,0,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,252,31,128, - 127,255,0,127,255,0,31,252,0,7,240,0,17,25,75,19, - 1,1,7,240,0,31,252,0,63,254,0,127,254,0,124,63, - 0,248,31,0,248,31,0,248,31,128,248,31,128,248,31,128, - 248,63,128,124,63,128,127,255,128,63,239,128,15,207,128,0, - 15,128,0,31,0,0,31,0,248,31,0,120,63,0,124,126, - 0,63,254,0,63,252,0,31,248,0,7,224,0,5,18,18, - 11,5,0,248,248,248,248,248,0,0,0,0,0,0,0,0, - 248,248,248,248,248}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=34 h=37 x= 8 y=21 dx=35 dy= 0 ascent=28 len=160 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25r[5936] U8G_FONT_SECTION("u8g_font_fub25r") = { - 0,50,46,254,247,25,7,111,16,148,32,127,249,28,247,25, - 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, - 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, - 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, - 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, - 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, - 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, - 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, - 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, - 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, - 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, - 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, - 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, - 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, - 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, - 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, - 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, - 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, - 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, - 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, - 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, - 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, - 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, - 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, - 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, - 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, - 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, - 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, - 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, - 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, - 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, - 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, - 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, - 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, - 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, - 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, - 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, - 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, - 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, - 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, - 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, - 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, - 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, - 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, - 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, - 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, - 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, - 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, - 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, - 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, - 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, - 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, - 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, - 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, - 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, - 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, - 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, - 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, - 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, - 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, - 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, - 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, - 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, - 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, - 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, - 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, - 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, - 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, - 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, - 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, - 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, - 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, - 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, - 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, - 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, - 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, - 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, - 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, - 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, - 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, - 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, - 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, - 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, - 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, - 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, - 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, - 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, - 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, - 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, - 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, - 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, - 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, - 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, - 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, - 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, - 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, - 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, - 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, - 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, - 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, - 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, - 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, - 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, - 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, - 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, - 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, - 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, - 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, - 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, - 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, - 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, - 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, - 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, - 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, - 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, - 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, - 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, - 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, - 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, - 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, - 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, - 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, - 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, - 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, - 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, - 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, - 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, - 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, - 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, - 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, - 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, - 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, - 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, - 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, - 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, - 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, - 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, - 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, - 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, - 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, - 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, - 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, - 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, - 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, - 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, - 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, - 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, - 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, - 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, - 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, - 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, - 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, - 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, - 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, - 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, - 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, - 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, - 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, - 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, - 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, - 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, - 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, - 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, - 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, - 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, - 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, - 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, - 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, - 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, - 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, - 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, - 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, - 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, - 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, - 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, - 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, - 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, - 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, - 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, - 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, - 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, - 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, - 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, - 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, - 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, - 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, - 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, - 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, - 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, - 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, - 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, - 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, - 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, - 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, - 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, - 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, - 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, - 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, - 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, - 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, - 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, - 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, - 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, - 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, - 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, - 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, - 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, - 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, - 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, - 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, - 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, - 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, - 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, - 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, - 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, - 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, - 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, - 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, - 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, - 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, - 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, - 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, - 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, - 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, - 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, - 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, - 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, - 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, - 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, - 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, - 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, - 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, - 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, - 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, - 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, - 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, - 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, - 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, - 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, - 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, - 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, - 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, - 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, - 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, - 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, - 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, - 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, - 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, - 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, - 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, - 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, - 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, - 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, - 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, - 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, - 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, - 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,255 - }; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=38 h=43 x=10 y=26 dx=42 dy= 0 ascent=43 len=195 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =43 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30[16953] U8G_FONT_SECTION("u8g_font_fub30") = { - 0,59,54,253,245,30,9,163,21,182,32,255,249,43,245,31, - 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, - 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, - 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, - 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, - 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, - 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, - 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, - 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, - 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, - 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, - 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, - 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, - 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, - 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, - 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, - 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, - 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, - 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, - 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, - 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, - 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, - 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, - 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, - 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, - 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, - 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, - 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, - 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, - 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, - 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, - 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, - 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, - 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, - 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, - 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, - 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, - 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, - 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, - 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, - 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, - 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, - 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, - 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, - 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, - 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, - 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, - 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, - 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, - 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, - 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, - 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, - 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, - 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, - 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, - 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, - 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, - 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, - 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, - 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, - 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, - 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, - 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, - 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, - 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, - 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, - 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, - 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, - 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, - 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, - 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, - 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, - 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, - 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, - 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, - 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, - 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, - 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, - 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, - 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, - 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, - 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, - 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, - 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, - 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, - 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, - 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, - 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, - 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, - 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, - 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, - 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, - 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, - 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, - 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, - 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, - 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, - 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, - 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, - 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, - 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, - 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, - 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, - 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, - 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, - 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, - 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, - 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, - 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, - 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, - 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, - 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, - 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, - 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, - 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, - 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, - 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, - 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, - 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, - 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, - 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, - 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, - 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, - 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, - 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, - 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, - 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, - 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, - 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, - 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, - 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, - 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, - 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, - 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, - 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, - 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, - 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, - 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, - 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, - 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, - 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, - 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, - 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, - 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, - 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, - 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, - 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, - 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, - 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, - 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, - 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, - 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, - 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, - 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, - 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, - 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, - 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, - 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, - 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, - 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, - 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, - 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, - 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, - 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, - 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, - 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, - 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, - 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, - 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, - 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, - 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, - 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, - 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, - 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, - 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, - 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, - 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, - 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, - 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, - 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, - 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, - 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, - 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, - 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, - 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, - 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, - 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, - 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, - 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, - 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, - 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, - 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, - 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, - 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, - 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, - 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, - 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, - 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, - 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, - 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, - 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, - 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, - 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, - 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, - 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, - 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, - 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, - 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, - 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, - 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, - 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, - 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, - 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, - 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, - 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, - 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, - 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, - 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, - 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, - 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, - 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, - 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, - 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, - 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, - 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, - 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, - 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, - 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, - 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, - 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, - 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, - 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, - 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, - 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, - 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, - 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, - 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, - 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, - 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, - 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, - 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, - 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, - 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, - 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, - 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, - 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, - 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, - 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, - 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, - 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, - 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, - 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, - 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, - 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, - 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, - 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, - 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, - 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, - 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, - 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, - 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, - 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, - 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, - 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, - 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, - 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, - 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, - 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, - 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, - 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, - 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, - 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, - 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, - 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, - 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, - 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, - 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, - 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, - 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, - 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, - 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, - 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, - 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, - 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, - 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, - 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, - 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, - 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, - 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, - 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, - 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, - 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, - 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, - 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, - 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, - 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, - 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, - 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, - 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, - 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, - 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, - 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, - 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, - 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, - 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, - 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, - 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, - 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, - 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, - 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, - 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, - 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, - 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, - 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, - 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, - 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, - 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, - 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, - 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, - 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, - 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, - 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, - 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, - 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, - 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, - 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, - 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, - 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, - 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, - 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, - 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, - 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, - 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, - 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, - 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, - 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, - 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, - 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, - 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, - 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, - 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, - 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, - 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, - 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, - 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, - 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, - 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, - 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, - 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, - 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, - 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, - 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, - 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, - 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, - 255,224,240,31,128,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,12,0,0,5,28,28,16, - 5,248,248,248,248,248,248,0,0,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,18,30, - 90,24,3,250,0,6,0,0,14,0,0,12,0,0,12,0, - 0,28,0,7,252,0,31,255,0,63,255,128,63,63,128,124, - 63,192,124,127,192,252,103,192,248,96,0,248,96,0,248,192, - 0,248,192,0,248,192,0,253,192,0,253,143,192,125,143,192, - 127,143,192,127,31,128,63,255,128,31,255,0,7,252,0,6, - 0,0,14,0,0,12,0,0,12,0,0,28,0,0,20,31, - 93,23,2,0,0,16,0,3,255,128,7,255,192,15,255,224, - 15,199,240,31,131,240,31,131,240,31,1,240,31,0,0,31, - 0,0,31,0,0,31,0,0,255,252,0,255,252,0,255,252, - 0,255,252,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,255,255,240,255,255,240,255,255,240,255,255, - 240,21,21,63,25,2,8,192,0,24,224,0,56,113,252,112, - 63,255,224,31,7,192,28,1,192,24,1,192,56,0,224,48, - 0,96,48,0,96,48,0,96,48,0,96,48,0,224,56,0, - 224,28,1,192,30,3,192,31,143,192,63,255,224,113,252,112, - 224,0,56,192,0,24,22,30,90,24,1,0,252,0,252,252, - 0,252,124,1,248,126,1,248,62,3,240,63,3,240,63,7, - 224,31,135,224,255,135,252,255,143,252,255,207,252,7,223,128, - 7,255,0,3,255,0,3,255,0,1,254,0,255,255,252,255, - 255,252,255,255,252,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,2,38,38,14,6,248,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,16,36,72,19,1,251,15,252,31,254,63,254,126,14, - 124,2,124,0,124,0,126,0,127,0,63,192,31,224,15,248, - 31,252,63,254,126,127,124,63,248,31,248,31,248,31,252,62, - 254,252,127,248,63,240,31,248,7,252,1,254,0,127,0,63, - 0,63,0,31,0,63,64,126,127,254,127,252,127,240,31,192, - 13,5,10,13,0,26,240,120,240,120,240,120,240,120,240,120, - 30,30,120,34,2,1,0,63,240,0,0,255,252,0,3,248, - 127,0,7,192,15,128,15,0,3,192,30,0,1,224,60,31, - 240,240,56,63,248,112,120,127,252,120,112,248,124,56,112,248, - 62,56,225,240,62,28,225,240,62,28,225,240,0,28,225,240, - 0,28,225,240,0,28,225,240,0,28,225,240,62,28,225,240, - 62,28,112,248,62,56,112,248,124,56,112,127,252,120,56,63, - 248,112,60,31,224,240,30,0,1,224,15,0,3,192,7,128, - 15,128,3,240,63,0,1,255,252,0,0,63,240,0,14,20, - 40,16,1,10,15,192,63,240,120,240,120,120,0,120,15,248, - 63,248,124,120,240,120,240,120,240,120,240,248,255,248,127,248, - 63,56,0,0,0,0,0,0,255,252,255,252,20,16,48,24, - 2,2,15,193,240,15,131,224,31,135,224,31,7,192,63,15, - 192,126,15,192,126,31,128,252,31,128,252,31,128,126,31,128, - 126,15,192,63,15,192,31,7,192,31,135,224,15,131,224,15, - 193,240,21,9,27,25,2,8,255,255,248,255,255,248,0,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,255,30,30,120,34,2,1,0,63,240,0,0,255, - 252,0,3,248,127,0,7,192,15,128,15,0,3,192,30,0, - 1,224,60,255,192,240,56,255,240,112,120,255,248,120,112,240, - 124,56,112,240,60,56,224,240,60,28,224,240,60,28,224,240, - 120,28,224,255,240,28,224,255,224,28,224,255,248,28,224,240, - 120,28,224,240,120,28,112,240,56,56,112,240,60,56,112,240, - 60,120,56,240,60,112,60,240,60,240,30,0,1,224,15,0, - 3,192,7,128,15,128,3,240,63,0,1,255,252,0,0,63, - 240,0,13,4,8,13,0,26,255,248,255,248,255,248,255,248, - 9,9,18,13,2,21,62,0,127,0,227,128,193,128,193,128, - 193,128,227,128,127,0,62,0,24,24,72,40,8,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,255,255,255,255,255,255,255,255,255,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 255,255,255,255,255,255,13,16,32,15,1,15,63,224,127,240, - 248,120,240,120,0,120,0,248,1,240,3,224,7,192,15,128, - 31,0,60,0,240,0,255,240,255,240,255,240,12,15,30,14, - 1,16,63,192,127,224,240,240,240,240,0,240,1,224,15,192, - 15,192,1,224,0,240,0,240,240,240,249,240,127,224,63,128, - 8,8,8,9,2,25,31,31,62,60,120,112,240,224,255,18, - 36,108,22,2,250,7,255,192,31,255,192,63,199,0,127,199, - 0,255,199,0,255,199,0,255,199,0,255,199,0,255,199,0, - 255,199,0,255,199,0,255,199,0,127,199,0,63,199,0,15, - 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, - 0,1,199,0,1,199,0,1,199,0,1,199,0,1,199,0, - 1,199,0,1,199,0,1,199,0,1,199,0,1,199,0,1, - 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, - 0,5,5,5,12,3,11,248,248,248,248,248,9,10,20,10, - 2,246,48,0,48,0,60,0,63,0,7,128,3,128,3,128, - 135,128,255,0,252,0,7,16,16,11,2,14,30,62,254,254, - 158,30,30,30,30,30,30,30,30,30,30,30,14,19,38,16, - 1,11,15,192,31,224,60,240,120,120,112,56,240,60,240,60, - 240,60,240,60,240,60,112,56,120,120,60,240,31,224,15,192, - 0,0,0,0,255,252,255,252,20,16,48,24,2,2,252,31, - 0,124,31,0,126,15,128,62,15,192,63,15,192,31,7,224, - 31,135,224,31,131,240,31,131,240,31,135,224,31,7,224,63, - 15,192,62,15,192,126,15,128,124,31,0,252,31,0,28,31, - 124,32,2,255,30,0,15,0,62,0,30,0,254,0,30,0, - 254,0,60,0,158,0,124,0,30,0,120,0,30,0,248,0, - 30,0,240,0,30,1,240,0,30,1,224,0,30,3,192,0, - 30,3,192,0,30,7,128,0,30,15,128,0,30,15,0,0, - 30,31,3,224,0,30,7,224,0,60,15,224,0,60,15,224, - 0,120,31,224,0,120,61,224,0,240,121,224,0,240,121,224, - 1,224,241,224,3,193,225,224,3,193,255,240,7,129,255,240, - 7,128,1,224,15,0,1,224,15,0,1,224,30,0,1,224, - 28,30,120,31,2,0,30,0,30,0,62,0,60,0,254,0, - 56,0,222,0,120,0,158,0,240,0,30,0,240,0,30,1, - 224,0,30,1,224,0,30,3,192,0,30,3,192,0,30,7, - 128,0,30,7,128,0,30,15,0,0,30,30,0,0,30,30, - 31,128,30,60,63,224,0,60,125,224,0,120,240,240,0,120, - 240,240,0,240,0,240,0,240,1,240,1,224,3,224,1,192, - 7,192,3,192,15,128,7,128,31,0,7,128,62,0,15,0, - 124,0,15,0,240,0,30,0,255,240,30,0,255,240,29,30, - 120,31,1,1,63,192,3,192,127,224,7,192,240,240,7,128, - 240,240,15,0,0,240,15,0,1,224,30,0,15,192,30,0, - 15,192,60,0,1,224,124,0,0,240,120,0,0,240,240,0, - 240,240,240,0,249,241,224,0,127,225,224,0,63,131,193,240, - 0,3,195,240,0,7,135,240,0,15,7,240,0,15,15,240, - 0,30,30,240,0,30,60,240,0,60,60,240,0,60,120,240, - 0,120,240,240,0,240,255,248,0,240,255,248,1,224,0,240, - 1,224,0,240,3,192,0,240,3,192,0,240,19,28,84,23, - 2,248,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,0,0,0,0,0,0,0,0,0,240,0,0,240,0, - 0,240,0,0,240,0,1,224,0,7,224,0,15,128,0,31, - 0,0,62,0,0,124,0,0,252,0,0,252,0,0,248,1, - 0,252,3,128,252,7,224,126,15,192,127,255,192,63,255,128, - 15,254,0,3,248,0,27,41,164,28,1,0,1,240,0,0, - 1,240,0,0,0,248,0,0,0,120,0,0,0,60,0,0, - 0,28,0,0,0,14,0,0,0,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,63,128,0, - 0,127,128,0,0,127,128,0,0,127,192,0,0,255,192,0, - 0,255,224,0,0,255,224,0,1,251,224,0,1,243,240,0, - 3,243,240,0,3,241,240,0,3,225,248,0,7,225,248,0, - 7,224,248,0,7,192,252,0,15,192,252,0,15,192,126,0, - 15,128,126,0,31,255,254,0,31,255,255,0,63,255,255,0, - 63,255,255,0,63,255,255,128,126,0,31,128,126,0,31,128, - 126,0,15,192,252,0,15,192,252,0,7,192,248,0,7,224, - 27,41,164,28,1,0,0,3,240,0,0,3,224,0,0,3, - 192,0,0,7,128,0,0,7,0,0,0,15,0,0,0,14, - 0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,127, - 128,0,0,127,192,0,0,255,192,0,0,255,224,0,0,255, - 224,0,1,251,224,0,1,243,240,0,3,243,240,0,3,241, - 240,0,3,225,248,0,7,225,248,0,7,224,248,0,7,192, - 252,0,15,192,252,0,15,192,126,0,15,128,126,0,31,255, - 254,0,31,255,255,0,63,255,255,0,63,255,255,0,63,255, - 255,128,126,0,31,128,126,0,31,128,126,0,15,192,252,0, - 15,192,252,0,7,192,248,0,7,224,27,41,164,28,1,0, - 0,63,0,0,0,63,128,0,0,127,128,0,0,123,192,0, - 0,243,192,0,0,225,224,0,1,192,224,0,1,192,112,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0, - 0,63,128,0,0,127,128,0,0,127,128,0,0,127,192,0, - 0,255,192,0,0,255,224,0,0,255,224,0,1,251,224,0, - 1,243,240,0,3,243,240,0,3,241,240,0,3,225,248,0, - 7,225,248,0,7,224,248,0,7,192,252,0,15,192,252,0, - 15,192,126,0,15,128,126,0,31,255,254,0,31,255,255,0, - 63,255,255,0,63,255,255,0,63,255,255,128,126,0,31,128, - 126,0,31,128,126,0,15,192,252,0,15,192,252,0,7,192, - 248,0,7,224,27,39,156,28,1,0,0,120,112,0,0,255, - 224,0,1,255,224,0,1,255,192,0,1,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63, - 0,0,0,63,128,0,0,127,128,0,0,127,128,0,0,127, - 192,0,0,255,192,0,0,255,224,0,0,255,224,0,1,251, - 224,0,1,243,240,0,3,243,240,0,3,241,240,0,3,225, - 248,0,7,225,248,0,7,224,248,0,7,192,252,0,15,192, - 252,0,15,192,126,0,15,128,126,0,31,255,254,0,31,255, - 255,0,63,255,255,0,63,255,255,0,63,255,255,128,126,0, - 31,128,126,0,31,128,126,0,15,192,252,0,15,192,252,0, - 7,192,248,0,7,224,27,40,160,29,1,0,1,224,240,0, - 1,224,240,0,1,224,240,0,1,224,240,0,1,224,240,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,63,128,0,0,63,128,0,0,127,192,0, - 0,127,192,0,0,127,192,0,0,255,224,0,0,255,224,0, - 1,251,240,0,1,251,240,0,1,251,240,0,3,241,248,0, - 3,241,248,0,3,224,248,0,7,224,252,0,7,224,252,0, - 7,192,124,0,15,192,126,0,15,192,126,0,15,128,62,0, - 31,255,255,0,31,255,255,0,31,255,255,0,63,255,255,128, - 63,255,255,128,126,0,31,128,126,0,15,192,126,0,15,192, - 252,0,7,224,252,0,7,224,252,0,7,224,27,43,172,28, - 0,0,0,31,0,0,0,63,128,0,0,113,192,0,0,96, - 192,0,0,96,192,0,0,96,192,0,0,113,192,0,0,63, - 128,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,63,128,0,0,63,128,0,0,63, - 128,0,0,127,192,0,0,127,192,0,0,127,192,0,0,255, - 224,0,0,251,224,0,0,251,240,0,1,251,240,0,1,241, - 240,0,1,241,248,0,3,241,248,0,3,224,248,0,7,224, - 252,0,7,224,252,0,7,192,124,0,15,192,126,0,15,192, - 126,0,15,255,254,0,31,255,255,0,31,255,255,0,31,255, - 255,128,63,255,255,128,63,0,31,128,62,0,15,192,126,0, - 15,192,126,0,15,192,252,0,7,224,252,0,7,224,38,30, - 150,40,0,0,0,1,255,255,248,0,1,255,255,248,0,3, - 255,255,248,0,3,255,255,248,0,7,255,0,0,0,7,223, - 0,0,0,15,223,0,0,0,15,159,0,0,0,31,159,0, - 0,0,31,31,0,0,0,63,31,0,0,0,62,31,0,0, - 0,126,31,255,248,0,124,31,255,248,0,252,31,255,248,0, - 248,31,255,248,1,248,31,255,248,1,240,31,0,0,3,255, - 255,0,0,7,255,255,0,0,7,255,255,0,0,15,255,255, - 0,0,15,255,255,0,0,31,128,63,0,0,31,128,63,0, - 0,63,0,63,255,252,63,0,63,255,252,126,0,63,255,252, - 126,0,63,255,252,252,0,63,255,252,24,40,120,29,2,247, - 1,255,192,3,255,240,15,255,248,15,255,252,31,255,254,63, - 128,254,62,0,127,126,0,127,124,0,63,124,0,63,252,0, - 0,252,0,0,252,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,252,0,0,252,0,0,124,0,63,124, - 0,127,126,0,127,62,0,255,63,0,254,31,255,254,31,255, - 252,15,255,248,7,255,240,1,255,192,0,24,0,0,24,0, - 0,31,0,0,31,128,0,3,192,0,1,192,0,1,192,0, - 195,192,0,255,128,0,254,0,20,41,123,25,3,0,15,128, - 0,15,128,0,7,192,0,3,192,0,1,224,0,0,224,0, - 0,240,0,0,112,0,0,0,0,0,0,0,0,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, - 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, - 255,255,240,255,255,240,255,255,240,20,41,123,25,3,0,0, - 63,0,0,62,0,0,124,0,0,120,0,0,240,0,0,224, - 0,1,224,0,1,192,0,0,0,0,0,0,0,0,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,224,255,255,224,255,255,224, - 255,255,224,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,20,41,123,25,3,0, - 3,248,0,3,248,0,7,252,0,7,188,0,7,30,0,14, - 14,0,14,7,0,28,7,0,0,0,0,0,0,0,0,0, - 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,224,255,255,224,255,255, - 224,255,255,224,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,255,255,240,255, - 255,240,255,255,240,255,255,240,255,255,240,20,40,120,25,3, - 0,15,15,0,15,15,0,15,15,0,15,15,0,15,15,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, - 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, - 255,255,240,255,255,240,255,255,240,9,41,82,11,255,0,248, - 0,124,0,60,0,30,0,14,0,15,0,7,0,3,0,0, - 0,0,0,0,0,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,8,41,41,10,3,0,15,31,30,60,56,120,112,224,0, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 12,41,82,11,0,0,31,128,63,128,63,128,123,192,121,192, - 112,224,224,224,192,112,0,0,0,0,0,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,13,40,80,13,0,0,240,120, - 240,120,240,120,240,120,240,120,0,0,0,0,0,0,0,0, - 0,0,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,26,30, - 120,29,0,0,31,255,0,0,31,255,224,0,31,255,248,0, - 31,255,252,0,31,255,254,0,31,1,255,0,31,0,127,0, - 31,0,31,128,31,0,31,128,31,0,15,192,31,0,15,192, - 31,0,7,192,31,0,7,192,255,252,7,192,255,252,7,192, - 255,252,7,192,255,252,7,192,31,0,7,192,31,0,7,192, - 31,0,15,192,31,0,15,192,31,0,31,128,31,0,31,128, - 31,0,127,0,31,1,255,0,31,255,254,0,31,255,252,0, - 31,255,248,0,31,255,224,0,31,255,0,0,25,39,156,31, - 3,0,0,248,96,0,1,255,224,0,1,255,192,0,3,255, - 128,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,128,15,128,255,128,15,128,255,128, - 15,128,255,192,15,128,255,192,15,128,255,224,15,128,251,224, - 15,128,251,240,15,128,249,240,15,128,249,248,15,128,248,248, - 15,128,248,252,15,128,248,252,15,128,248,126,15,128,248,126, - 15,128,248,63,15,128,248,63,15,128,248,31,143,128,248,31, - 143,128,248,15,143,128,248,15,207,128,248,7,207,128,248,7, - 239,128,248,3,239,128,248,3,255,128,248,1,255,128,248,1, - 255,128,248,0,255,128,248,0,255,128,248,0,127,128,27,41, - 164,31,2,0,1,240,0,0,1,240,0,0,0,248,0,0, - 0,120,0,0,0,60,0,0,0,28,0,0,0,28,0,0, - 0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, - 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, - 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, - 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, - 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, - 3,255,248,0,0,255,224,0,27,41,164,31,2,0,0,1, - 240,0,0,1,224,0,0,3,224,0,0,3,192,0,0,7, - 128,0,0,7,0,0,0,14,0,0,0,14,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, - 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, - 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, - 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, - 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, - 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, - 224,0,27,41,164,31,2,0,0,63,0,0,0,63,128,0, - 0,63,128,0,0,123,192,0,0,113,192,0,0,240,224,0, - 0,224,224,0,1,192,112,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,224,0,3,255,248,0,7,255,252,0, - 15,255,254,0,31,255,255,0,63,192,127,128,63,0,31,128, - 127,0,31,192,126,0,15,192,126,0,15,192,252,0,15,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,15,224,126,0,15,192,126,0,15,192,127,0,31,192, - 63,0,31,128,63,192,127,128,31,255,255,0,15,255,254,0, - 7,255,252,0,3,255,248,0,0,255,224,0,27,40,160,31, - 2,0,0,0,48,0,0,124,112,0,0,255,224,0,0,255, - 224,0,1,255,192,0,1,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, - 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, - 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, - 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, - 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, - 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, - 224,0,27,40,160,31,2,0,0,240,240,0,0,240,240,0, - 0,240,240,0,0,240,240,0,0,240,240,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, - 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, - 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, - 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, - 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, - 3,255,248,0,0,255,224,0,22,22,66,40,9,1,96,0, - 24,240,0,60,112,0,56,56,0,112,28,0,224,14,1,192, - 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, - 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, - 192,28,0,224,56,0,112,112,0,56,96,0,24,64,0,8, - 29,34,136,31,1,254,0,0,0,16,0,0,0,56,0,127, - 240,120,1,255,252,240,3,255,255,240,7,255,255,224,15,255, - 255,192,31,224,63,192,31,128,15,192,63,128,31,224,63,0, - 63,224,63,0,127,224,126,0,251,240,126,1,243,240,126,1, - 227,240,126,3,195,240,126,7,131,240,126,15,3,240,126,30, - 3,240,126,60,3,240,126,124,3,240,126,248,7,240,63,240, - 7,224,63,224,7,224,63,192,15,224,31,128,15,192,31,224, - 63,192,31,255,255,128,63,255,255,0,127,255,254,0,249,255, - 252,0,240,127,240,0,224,0,0,0,64,0,0,0,24,41, - 123,30,3,0,7,192,0,3,224,0,1,224,0,1,240,0, - 0,240,0,0,120,0,0,56,0,0,28,0,0,0,0,0, - 0,0,0,0,0,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,252,0, - 31,252,0,31,252,0,63,124,0,63,126,0,126,127,0,254, - 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, - 41,123,30,3,0,0,3,224,0,3,224,0,7,192,0,15, - 128,0,15,0,0,30,0,0,28,0,0,56,0,0,0,0, - 0,0,0,0,0,0,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,252, - 0,31,252,0,31,252,0,63,124,0,63,126,0,126,127,0, - 254,63,255,252,31,255,252,31,255,248,7,255,224,1,255,192, - 24,41,123,30,3,0,0,126,0,0,255,0,0,255,0,1, - 247,128,1,231,128,3,195,192,3,129,192,7,0,224,0,0, - 0,0,0,0,0,0,0,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 252,0,31,252,0,31,252,0,63,124,0,63,126,0,126,127, - 0,254,63,255,252,31,255,252,31,255,248,7,255,224,1,255, - 192,24,40,120,30,3,0,3,193,224,3,193,224,3,193,224, - 3,193,224,3,193,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,0,31,252,0,31,252,0,31,252,0, - 31,252,0,31,252,0,31,252,0,31,252,0,31,252,0,31, - 252,0,31,252,0,31,252,0,31,252,0,31,252,0,31,252, - 0,31,252,0,31,252,0,31,252,0,31,252,0,31,252,0, - 31,252,0,31,254,0,63,126,0,63,127,0,126,127,128,254, - 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, - 41,123,25,1,0,0,7,192,0,15,128,0,15,0,0,14, - 0,0,30,0,0,28,0,0,56,0,0,0,0,0,0,0, - 0,0,0,0,0,0,252,0,127,254,0,126,126,0,254,127, - 0,252,63,1,252,63,1,248,31,131,248,31,131,240,15,195, - 240,15,199,224,7,231,224,7,239,192,3,255,192,3,255,128, - 1,255,128,1,255,0,0,255,0,0,254,0,0,126,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 21,30,90,26,2,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,252,0,255,255,128,255,255,192,255,255, - 224,255,255,240,248,7,240,248,1,248,248,1,248,248,0,248, - 248,0,248,248,1,248,248,1,248,248,7,240,255,255,240,255, - 255,224,255,255,192,255,255,128,255,252,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 21,30,90,24,2,1,15,252,0,63,255,0,127,255,128,126, - 31,192,252,15,192,252,7,192,248,7,192,248,15,192,248,15, - 128,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 248,248,0,248,252,0,248,254,0,248,127,128,248,63,192,248, - 31,224,248,7,240,248,3,240,248,1,248,248,1,248,251,224, - 248,251,225,248,251,241,248,249,255,240,249,255,224,248,255,192, - 19,32,96,22,2,0,31,0,0,31,0,0,15,128,0,7, - 128,0,3,192,0,1,192,0,1,224,0,0,224,0,0,0, - 0,0,0,0,0,0,0,0,0,0,15,254,0,31,255,0, - 63,255,128,126,15,128,124,15,192,0,7,192,0,127,192,15, - 255,192,63,255,192,127,255,192,127,7,192,252,7,192,252,7, - 192,248,15,192,248,15,192,252,15,192,254,31,192,127,255,192, - 63,247,192,31,227,224,19,32,96,22,2,0,0,31,0,0, - 62,0,0,60,0,0,120,0,0,120,0,0,240,0,0,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,31,255,0,63,255,128,126,15,128,124,15,192,0, - 7,192,0,127,192,15,255,192,63,255,192,127,255,192,127,7, - 192,252,7,192,252,7,192,248,15,192,248,15,192,252,15,192, - 254,31,192,127,255,192,63,247,192,31,227,224,19,32,96,22, - 2,0,3,240,0,3,248,0,7,248,0,7,188,0,15,28, - 0,14,30,0,28,14,0,28,7,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, - 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, - 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, - 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 227,224,19,30,90,22,2,0,7,135,0,15,254,0,15,254, - 0,31,252,0,24,16,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, - 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, - 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, - 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 227,224,19,31,93,23,2,0,30,30,0,30,30,0,30,30, - 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,15,254,0,31,255,0,63, - 255,128,126,15,128,124,15,192,0,7,192,0,127,192,15,255, - 192,63,255,192,127,255,192,127,7,192,252,7,192,252,7,192, - 248,15,192,248,15,192,252,15,192,254,31,192,127,255,192,63, - 247,192,31,231,224,19,34,102,22,2,0,1,240,0,3,248, - 0,7,28,0,6,12,0,6,12,0,6,12,0,7,28,0, - 3,248,0,1,240,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,254,0,31,255,0,63,255,128,126,15, - 128,124,15,192,0,7,192,0,127,192,15,255,192,63,255,192, - 127,255,192,127,7,192,252,7,192,252,7,192,248,15,192,248, - 15,192,252,15,192,254,31,192,127,255,192,63,247,192,31,231, - 224,32,20,80,36,2,1,15,252,31,224,31,254,127,248,63, - 255,127,252,126,15,240,126,124,7,224,62,0,7,224,62,0, - 7,192,31,7,255,255,255,31,255,255,255,63,255,255,255,127, - 255,255,255,252,7,192,0,252,7,224,0,248,7,224,0,248, - 15,224,63,252,15,240,62,254,30,248,126,127,252,127,252,63, - 248,63,248,31,224,31,240,17,30,90,21,2,247,15,252,0, - 31,254,0,63,255,0,126,63,0,124,31,128,124,31,128,252, - 15,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,252,15,128,252,31,128,124,31,128,126,63,0, - 63,255,0,31,254,0,15,252,0,1,128,0,1,128,0,1, - 224,0,1,248,0,0,60,0,0,28,0,0,28,0,6,60, - 0,7,248,0,7,224,0,19,32,96,22,2,0,31,0,0, - 31,0,0,15,128,0,7,128,0,3,192,0,1,192,0,0, - 224,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0, - 0,7,252,0,31,255,0,63,255,0,62,31,128,124,15,192, - 124,7,192,252,7,192,255,255,192,255,255,192,255,255,224,255, - 255,224,248,0,0,248,0,0,252,0,0,124,7,192,124,15, - 192,126,31,128,63,255,128,31,255,0,7,252,0,19,32,96, - 22,2,0,0,31,0,0,62,0,0,60,0,0,120,0,0, - 120,0,0,240,0,0,224,0,1,192,0,0,0,0,0,0, - 0,0,0,0,0,0,0,7,252,0,31,255,0,63,255,0, - 62,31,128,124,15,192,124,7,192,252,7,192,255,255,192,255, - 255,192,255,255,224,255,255,224,248,0,0,248,0,0,252,0, - 0,124,7,192,124,15,192,126,31,128,63,255,128,31,255,0, - 7,252,0,19,32,96,22,2,0,3,240,0,3,248,0,7, - 248,0,7,188,0,15,28,0,14,30,0,28,14,0,28,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,252,0, - 31,255,0,63,255,0,62,31,128,124,15,192,124,7,192,252, - 7,192,255,255,192,255,255,192,255,255,224,255,255,224,248,0, - 0,248,0,0,252,0,0,124,7,192,124,15,192,126,31,128, - 63,255,128,31,255,0,7,252,0,19,31,93,22,2,0,30, - 30,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 15,192,252,15,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,15,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,8,32,32,11, - 0,0,248,120,124,60,30,14,7,7,0,0,0,0,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,9,32,64,10,2,0,15,128,31,0,30,0,62,0, - 60,0,120,0,112,0,224,0,0,0,0,0,0,0,0,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,13,32,64,11,255,0,15,192, - 31,192,31,224,61,224,56,240,120,112,112,56,224,56,0,0, - 0,0,0,0,0,0,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,13,31, - 62,11,255,0,240,120,240,120,240,120,240,120,240,120,0,0, - 0,0,0,0,0,0,0,0,0,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,20,31,93,24,2,0,0,0,96,7,193,224,3,247, - 224,1,255,128,0,254,0,0,254,0,3,254,0,15,159,0, - 30,15,128,24,15,128,0,7,192,7,255,192,15,255,224,63, - 255,224,63,15,240,126,3,240,124,3,240,252,1,240,252,1, - 240,252,1,240,248,1,240,248,1,240,252,1,240,252,1,240, - 252,1,240,124,3,240,126,3,224,63,15,224,31,255,192,15, - 255,128,7,254,0,18,30,90,24,3,0,7,134,0,15,254, - 0,15,254,0,31,252,0,24,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,32,96,24,2,0,15,128,0,7,128, - 0,7,192,0,3,192,0,1,224,0,0,224,0,0,112,0, - 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 254,0,15,255,0,31,255,192,63,15,192,126,3,224,124,3, - 240,252,1,240,252,1,240,252,1,240,248,1,240,248,1,240, - 248,1,240,252,1,240,252,1,240,124,3,240,126,3,224,63, - 15,192,31,255,192,15,255,0,3,254,0,20,32,96,24,2, - 0,0,15,128,0,31,0,0,30,0,0,60,0,0,56,0, - 0,120,0,0,112,0,0,224,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,254,0,15,255,0,31,255,192,63,15, - 192,126,3,224,124,3,240,252,1,240,252,1,240,252,1,240, - 248,1,240,248,1,240,248,1,240,252,1,240,252,1,240,124, - 3,240,126,3,224,63,15,192,31,255,192,15,255,0,3,254, - 0,20,32,96,24,2,0,1,248,0,1,252,0,3,252,0, - 3,222,0,7,158,0,7,15,0,14,7,0,14,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,31,93,24,2,0,0,1,128, - 3,195,0,7,255,0,7,255,0,15,254,0,12,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,254, - 0,15,255,0,31,255,192,63,15,192,126,3,224,124,3,240, - 252,1,240,252,1,240,252,1,240,248,1,240,248,1,240,248, - 1,240,252,1,240,252,1,240,124,3,240,126,3,224,63,15, - 192,31,255,192,15,255,0,3,254,0,20,31,93,24,2,0, - 15,7,128,15,7,128,15,7,128,15,7,128,15,7,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,3,254,0,15,255,0,31,255,192,63,15,192,126,3,224, - 124,3,240,252,1,240,252,1,240,252,1,240,248,1,240,248, - 1,240,248,1,240,252,1,240,252,1,240,124,3,240,126,3, - 224,63,15,192,31,255,192,15,255,0,3,254,0,24,19,57, - 40,8,2,0,16,0,0,56,0,0,124,0,0,124,0,0, - 124,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,56,0, - 0,124,0,0,124,0,0,124,0,0,56,0,21,26,78,24, - 1,254,0,0,56,0,0,120,0,0,112,1,255,224,7,255, - 224,15,255,224,31,135,224,63,7,240,62,15,248,126,14,248, - 126,28,248,126,56,248,124,120,248,124,112,248,126,224,248,127, - 192,248,63,193,248,63,129,248,63,3,240,31,135,224,31,255, - 224,31,255,192,57,255,0,120,0,0,240,0,0,96,0,0, - 18,32,96,24,3,0,31,0,0,15,0,0,15,128,0,7, - 128,0,3,192,0,1,192,0,0,224,0,0,224,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,252,7,192,252,15,192,252,15,192,254,31,192,127,255,192, - 63,247,192,31,231,192,18,32,96,24,3,0,0,62,0,0, - 60,0,0,124,0,0,120,0,0,240,0,0,224,0,1,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,252,7,192,252,15,192,252,15,192, - 254,31,192,127,255,192,63,247,192,31,231,192,18,32,96,24, - 3,0,3,240,0,3,248,0,7,248,0,7,188,0,15,60, - 0,14,30,0,30,14,0,28,6,0,0,0,0,0,0,0, - 0,0,0,0,0,0,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 231,192,18,31,93,24,3,0,30,30,0,30,30,0,30,30, - 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 252,7,192,252,15,192,252,15,192,254,31,192,127,255,192,63, - 247,192,31,231,192,21,41,123,22,1,248,0,7,192,0,15, - 128,0,15,0,0,30,0,0,30,0,0,60,0,0,56,0, - 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,252,1,248,252,3,240,126,3,240,126,3,224,63,7, - 224,63,7,224,63,7,192,31,143,192,31,143,192,15,143,128, - 15,223,128,15,223,128,7,223,0,7,255,0,3,255,0,3, - 254,0,3,254,0,1,252,0,1,252,0,0,252,0,0,248, - 0,1,248,0,33,248,0,115,240,0,255,240,0,255,224,0, - 127,192,0,31,128,0,20,38,114,25,3,248,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,249,254,0,251,255,128, - 251,255,192,255,15,192,254,7,224,252,3,224,252,3,240,252, - 3,240,252,3,240,248,1,240,248,1,240,252,3,240,252,3, - 240,252,3,240,252,3,224,254,7,224,255,15,192,255,255,192, - 251,255,128,249,254,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,21,39, - 117,21,0,248,15,7,128,15,7,128,15,7,128,15,7,128, - 15,7,128,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,1,248,252,1,248,126,1,240,126,3, - 240,63,3,224,63,3,224,63,7,224,31,135,192,31,143,192, - 15,207,192,15,207,128,15,223,128,7,255,128,7,255,0,3, - 255,0,3,255,0,3,254,0,1,254,0,1,252,0,0,252, - 0,0,252,0,1,248,0,1,248,0,1,248,0,3,240,0, - 3,240,0,7,240,0,7,224,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 30 - Calculated Max Values w=24 h=32 x= 8 y=14 dx=40 dy= 0 ascent=31 len=90 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =30 descent= 0 - X Font ascent =30 descent= 0 - Max Font ascent =31 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30n[1205] U8G_FONT_SECTION("u8g_font_fub30n") = { - 0,59,54,253,245,30,0,0,0,0,42,58,0,31,251,30, - 0,16,16,32,26,5,14,4,32,28,56,30,120,30,120,15, - 240,7,224,227,199,255,255,255,255,243,207,7,224,15,240,30, - 120,30,120,28,56,4,32,24,25,75,40,8,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,255,255, - 255,255,255,255,255,255,255,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,8,10,10,12,2,251,31,31, - 62,62,60,124,120,120,240,240,10,5,10,14,2,8,255,192, - 255,192,255,192,255,192,255,192,5,5,5,12,4,0,248,248, - 248,248,248,13,32,64,17,2,254,0,120,0,120,0,120,0, - 240,0,240,0,240,1,224,1,224,1,224,3,192,3,192,3, - 192,3,192,7,128,7,128,7,128,15,0,15,0,15,0,14, - 0,30,0,30,0,30,0,60,0,60,0,60,0,120,0,120, - 0,120,0,120,0,240,0,240,0,20,30,90,23,1,1,3, - 252,0,15,255,0,31,255,128,63,15,128,62,7,192,124,3, - 192,124,3,224,124,3,224,124,3,224,248,1,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,124,3, - 224,124,3,224,124,3,224,124,3,224,62,7,192,63,15,128, - 31,255,128,15,255,0,3,252,0,12,30,60,23,4,0,1, - 240,3,240,15,240,63,240,255,240,255,240,253,240,249,240,225, - 240,129,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,20,30,90,23,1, - 1,3,255,0,7,255,128,31,255,192,31,255,224,63,255,240, - 63,3,240,126,1,240,126,1,240,124,1,240,0,1,240,0, - 3,240,0,3,240,0,7,224,0,15,224,0,15,192,0,31, - 128,0,63,0,0,254,0,1,252,0,3,248,0,7,240,0, - 15,224,0,63,128,0,127,0,0,252,0,0,255,255,240,255, - 255,240,255,255,240,255,255,240,255,255,240,19,30,90,23,2, - 1,7,252,0,31,255,0,63,255,128,127,255,128,127,255,192, - 252,15,192,252,7,192,248,7,192,0,7,192,0,7,192,0, - 15,192,0,63,192,3,255,128,3,254,0,3,252,0,3,255, - 0,3,255,128,0,31,192,0,7,224,0,7,224,0,7,224, - 0,3,224,248,7,224,252,7,224,252,7,192,126,15,192,127, - 255,128,63,255,128,31,255,0,15,252,0,21,30,90,23,1, - 0,0,63,128,0,63,128,0,127,128,0,255,128,0,255,128, - 1,255,128,1,255,128,3,239,128,3,207,128,7,207,128,15, - 143,128,15,143,128,31,15,128,31,15,128,62,15,128,62,15, - 128,124,15,128,252,15,128,248,15,128,255,255,248,255,255,248, - 255,255,248,255,255,248,255,255,248,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,19,30,90,23,2, - 0,127,255,192,127,255,192,127,255,192,127,255,192,127,255,192, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,252,0,125,255,0,127,255,128,127,255,192,127,15, - 224,126,7,224,124,3,224,0,3,224,0,3,224,0,3,224, - 0,3,224,0,3,224,248,7,224,252,7,224,252,15,192,127, - 255,128,127,255,128,63,254,0,15,252,0,20,30,90,23,1, - 1,3,254,0,7,255,0,15,255,128,31,255,192,63,255,192, - 63,7,224,126,3,224,126,3,224,124,0,0,124,0,0,252, - 0,0,248,0,0,249,255,0,251,255,128,255,255,192,255,15, - 224,254,7,224,254,3,240,252,3,240,252,3,240,252,1,240, - 252,1,240,124,3,240,124,3,240,126,3,224,63,7,224,63, - 255,192,31,255,128,15,255,0,3,254,0,19,30,90,23,2, - 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, - 0,7,224,0,7,224,0,7,192,0,15,192,0,15,192,0, - 31,128,0,31,128,0,63,0,0,63,0,0,63,0,0,126, - 0,0,126,0,0,252,0,0,252,0,1,252,0,1,248,0, - 1,248,0,3,240,0,3,240,0,7,240,0,7,224,0,15, - 224,0,15,192,0,15,192,0,31,192,0,20,30,90,23,1, - 1,7,254,0,31,255,128,63,255,192,127,255,224,127,255,224, - 126,7,224,124,3,224,124,3,224,124,3,224,124,3,224,126, - 7,224,127,15,192,63,255,128,15,255,0,7,252,0,31,255, - 0,63,255,192,127,15,224,124,7,224,252,3,240,252,3,240, - 248,1,240,248,3,240,252,3,240,252,3,240,254,7,240,127, - 255,224,63,255,192,31,255,128,15,255,0,20,30,90,23,1, - 1,3,252,0,15,255,0,31,255,128,63,255,192,127,255,192, - 126,7,224,252,7,224,252,3,224,252,3,240,248,3,240,248, - 3,240,252,3,240,252,7,240,124,7,240,127,15,240,63,255, - 240,63,253,240,31,249,240,7,225,240,0,3,240,0,3,224, - 0,3,224,0,3,224,124,7,224,124,7,192,126,15,192,63, - 255,128,31,255,0,15,254,0,7,252,0,5,20,20,12,5, - 0,248,248,248,248,248,0,0,0,0,0,0,0,0,0,0, - 248,248,248,248,248}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=38 h=43 x=10 y=25 dx=42 dy= 0 ascent=33 len=195 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =33 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30r[7686] U8G_FONT_SECTION("u8g_font_fub30r") = { - 0,59,54,253,245,30,9,163,21,182,32,127,249,33,245,31, - 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, - 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, - 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, - 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, - 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, - 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, - 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, - 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, - 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, - 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, - 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, - 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, - 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, - 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, - 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, - 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, - 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, - 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, - 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, - 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, - 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, - 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, - 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, - 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, - 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, - 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, - 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, - 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, - 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, - 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, - 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, - 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, - 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, - 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, - 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, - 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, - 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, - 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, - 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, - 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, - 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, - 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, - 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, - 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, - 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, - 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, - 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, - 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, - 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, - 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, - 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, - 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, - 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, - 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, - 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, - 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, - 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, - 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, - 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, - 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, - 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, - 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, - 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, - 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, - 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, - 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, - 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, - 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, - 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, - 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, - 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, - 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, - 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, - 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, - 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, - 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, - 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, - 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, - 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, - 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, - 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, - 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, - 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, - 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, - 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, - 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, - 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, - 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, - 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, - 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, - 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, - 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, - 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, - 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, - 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, - 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, - 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, - 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, - 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, - 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, - 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, - 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, - 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, - 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, - 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, - 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, - 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, - 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, - 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, - 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, - 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, - 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, - 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, - 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, - 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, - 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, - 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, - 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, - 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, - 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, - 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, - 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, - 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, - 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, - 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, - 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, - 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, - 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, - 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, - 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, - 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, - 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, - 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, - 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, - 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, - 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, - 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, - 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, - 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, - 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, - 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, - 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, - 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, - 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, - 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, - 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, - 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, - 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, - 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, - 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, - 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, - 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, - 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, - 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, - 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, - 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, - 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, - 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, - 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, - 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, - 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, - 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, - 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, - 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, - 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, - 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, - 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, - 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, - 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, - 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, - 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, - 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, - 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, - 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, - 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, - 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, - 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, - 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, - 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, - 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, - 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, - 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, - 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, - 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, - 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, - 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, - 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, - 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, - 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, - 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, - 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, - 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, - 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, - 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, - 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, - 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, - 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, - 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, - 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, - 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, - 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, - 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, - 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, - 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, - 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, - 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, - 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, - 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, - 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, - 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, - 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, - 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, - 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, - 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, - 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, - 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, - 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, - 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, - 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, - 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, - 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, - 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, - 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, - 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, - 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, - 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, - 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, - 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, - 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, - 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, - 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, - 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, - 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, - 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, - 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, - 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, - 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, - 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, - 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, - 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, - 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, - 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, - 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, - 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, - 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, - 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, - 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, - 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, - 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, - 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, - 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, - 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, - 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, - 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, - 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, - 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, - 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, - 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, - 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, - 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, - 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, - 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, - 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, - 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, - 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, - 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, - 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, - 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, - 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, - 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, - 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, - 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, - 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, - 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, - 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, - 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, - 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, - 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, - 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, - 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, - 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, - 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, - 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, - 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, - 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, - 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, - 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, - 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, - 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, - 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, - 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, - 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, - 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, - 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, - 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, - 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, - 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, - 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, - 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, - 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, - 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, - 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, - 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, - 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, - 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, - 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, - 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, - 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, - 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, - 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, - 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, - 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, - 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, - 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, - 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, - 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, - 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, - 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, - 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, - 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, - 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, - 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, - 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, - 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, - 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, - 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, - 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, - 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, - 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, - 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, - 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, - 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, - 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, - 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, - 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, - 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, - 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, - 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, - 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, - 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, - 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, - 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, - 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, - 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, - 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, - 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, - 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, - 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, - 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, - 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, - 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, - 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, - 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, - 255,224,240,31,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--49-490-72-72-P-242-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 35 - Calculated Max Values w=29 h=39 x=10 y=17 dx=49 dy= 0 ascent=36 len=140 - Font Bounding box w=72 h=65 x=-4 y=-13 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =35 descent= 0 - X Font ascent =35 descent= 0 - Max Font ascent =36 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub35n[1697] U8G_FONT_SECTION("u8g_font_fub35n") = { - 0,72,65,252,243,35,0,0,0,0,42,58,0,36,250,35, - 0,20,18,54,32,6,17,7,14,0,31,15,128,31,159,128, - 15,159,0,7,158,0,3,252,0,129,248,16,254,247,240,255, - 255,240,255,255,240,249,249,240,1,248,0,3,252,0,7,158, - 0,15,159,0,31,143,128,31,15,128,7,14,0,29,29,116, - 49,10,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,255,255,255,248,255,255,255,248,255, - 255,255,248,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,11,12,24,15,2,250,15,224,15, - 192,31,192,31,128,31,128,63,0,63,0,62,0,126,0,124, - 0,124,0,248,0,13,6,12,17,2,9,255,248,255,248,255, - 248,255,248,255,248,255,248,7,6,6,15,5,0,254,254,254, - 254,254,254,17,39,117,21,2,253,0,15,128,0,15,0,0, - 31,0,0,31,0,0,30,0,0,62,0,0,62,0,0,62, - 0,0,124,0,0,124,0,0,124,0,0,120,0,0,248,0, - 0,248,0,0,240,0,1,240,0,1,240,0,1,240,0,3, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,128,0,15,128,0,31,0,0, - 31,0,0,31,0,0,62,0,0,62,0,0,62,0,0,60, - 0,0,124,0,0,124,0,0,124,0,0,248,0,0,25,35, - 140,28,2,1,1,255,128,0,7,255,224,0,15,255,240,0, - 31,255,248,0,31,255,252,0,63,129,252,0,63,0,254,0, - 127,0,126,0,126,0,126,0,126,0,63,0,126,0,63,0, - 254,0,63,0,254,0,63,0,254,0,63,0,254,0,63,128, - 254,0,63,128,254,0,63,128,254,0,63,128,254,0,63,128, - 254,0,63,128,254,0,63,128,254,0,63,0,254,0,63,0, - 254,0,63,0,126,0,63,0,126,0,63,0,126,0,127,0, - 127,0,126,0,63,0,254,0,63,129,252,0,31,255,252,0, - 31,255,248,0,15,255,240,0,7,255,224,0,1,255,128,0, - 15,35,70,28,5,0,0,254,1,254,7,254,15,254,63,254, - 255,254,255,254,254,254,252,254,240,254,192,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,25,35,140,28, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,255,255,0,63,192,255,0,63,128,63,128,63,0, - 63,128,127,0,63,128,0,0,63,128,0,0,63,128,0,0, - 63,128,0,0,127,0,0,0,127,0,0,0,255,0,0,1, - 254,0,0,3,252,0,0,7,252,0,0,15,248,0,0,31, - 240,0,0,63,224,0,0,127,192,0,1,255,0,0,3,254, - 0,0,7,252,0,0,15,240,0,0,63,224,0,0,127,128, - 0,0,255,0,0,0,255,255,255,128,255,255,255,128,255,255, - 255,128,255,255,255,128,255,255,255,128,255,255,255,128,24,35, - 105,28,2,1,3,255,128,15,255,224,31,255,240,63,255,248, - 127,255,252,127,3,252,254,1,252,254,0,252,254,0,254,0, - 0,254,0,0,254,0,1,252,0,1,252,0,15,248,0,255, - 240,0,255,192,0,255,128,0,255,224,0,255,248,0,3,252, - 0,0,254,0,0,254,0,0,126,0,0,127,0,0,127,254, - 0,127,254,0,127,254,0,254,255,0,254,127,1,252,127,255, - 252,63,255,248,31,255,240,15,255,224,3,255,128,26,35,140, - 28,1,0,0,7,252,0,0,15,252,0,0,31,252,0,0, - 31,252,0,0,63,252,0,0,63,252,0,0,127,252,0,0, - 253,252,0,0,253,252,0,1,249,252,0,1,249,252,0,3, - 241,252,0,7,241,252,0,7,225,252,0,15,193,252,0,15, - 193,252,0,31,129,252,0,63,129,252,0,63,1,252,0,126, - 1,252,0,254,1,252,0,252,1,252,0,255,255,255,192,255, - 255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255, - 255,255,192,0,1,252,0,0,1,252,0,0,1,252,0,0, - 1,252,0,0,1,252,0,0,1,252,0,0,1,252,0,24, - 35,105,28,2,0,127,255,252,127,255,252,127,255,252,127,255, - 252,127,255,252,127,255,252,127,0,0,127,0,0,127,0,0, - 127,0,0,127,0,0,127,0,0,127,31,192,127,127,240,127, - 255,248,127,255,252,127,255,252,127,193,254,127,0,254,127,0, - 127,126,0,127,0,0,127,0,0,127,0,0,127,0,0,127, - 0,0,127,254,0,127,254,0,254,254,0,254,255,1,252,127, - 255,252,127,255,248,63,255,240,15,255,192,7,255,128,25,35, - 140,28,2,1,0,255,192,0,3,255,240,0,7,255,248,0, - 15,255,252,0,31,255,254,0,31,224,254,0,63,192,127,0, - 63,128,127,0,127,0,0,0,127,0,0,0,127,0,0,0, - 126,0,0,0,254,31,192,0,254,127,240,0,254,255,248,0, - 254,255,252,0,255,255,254,0,255,225,254,0,255,192,255,0, - 255,128,127,0,255,0,63,0,255,0,63,128,255,0,63,128, - 255,0,63,128,255,0,63,128,127,0,63,0,127,0,63,0, - 127,128,127,0,127,128,127,0,63,192,254,0,31,255,252,0, - 31,255,252,0,15,255,248,0,7,255,224,0,1,255,128,0, - 24,35,105,28,2,0,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,0,0,127,0,0,127,0,0, - 254,0,0,254,0,1,254,0,1,252,0,3,252,0,3,248, - 0,7,248,0,7,240,0,15,240,0,15,240,0,31,224,0, - 31,224,0,63,192,0,63,192,0,63,128,0,127,128,0,127, - 0,0,255,0,0,255,0,1,254,0,1,254,0,3,252,0, - 3,252,0,7,248,0,7,248,0,15,248,0,15,240,0,25, - 35,140,28,2,1,3,255,192,0,15,255,240,0,31,255,252, - 0,63,255,254,0,63,255,254,0,127,193,255,0,127,128,255, - 0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127, - 0,127,0,127,0,63,128,254,0,63,193,252,0,15,255,248, - 0,7,255,224,0,1,255,192,0,15,255,240,0,31,255,248, - 0,63,193,254,0,127,128,254,0,127,0,127,0,254,0,63, - 0,254,0,63,0,254,0,63,128,254,0,63,128,254,0,63, - 128,255,0,127,128,255,0,127,0,127,128,255,0,127,255,255, - 0,63,255,254,0,63,255,252,0,15,255,248,0,3,255,224, - 0,25,35,140,28,2,1,1,255,192,0,7,255,224,0,15, - 255,248,0,31,255,252,0,63,255,252,0,127,129,254,0,127, - 0,254,0,126,0,255,0,254,0,127,0,254,0,127,0,254, - 0,127,128,254,0,127,128,254,0,127,128,254,0,127,128,254, - 0,255,128,127,0,255,128,127,131,255,128,63,255,255,128,63, - 255,191,128,31,255,191,128,15,255,63,128,1,248,63,128,0, - 0,63,0,0,0,127,0,0,0,127,0,0,0,127,0,127, - 0,254,0,127,0,254,0,127,1,254,0,63,131,252,0,31, - 255,252,0,31,255,248,0,15,255,240,0,7,255,224,0,1, - 255,128,0,7,24,24,16,7,0,254,254,254,254,254,254,0, - 0,0,0,0,0,0,0,0,0,0,0,254,254,254,254,254, - 254}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--58-580-72-72-P-286-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 42 - Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=176 - Font Bounding box w=87 h=77 x=-5 y=-15 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =42 descent= 0 - X Font ascent =42 descent= 0 - Max Font ascent =43 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub42n[2270] U8G_FONT_SECTION("u8g_font_fub42n") = { - 0,87,77,251,241,42,0,0,0,0,42,58,0,43,248,42, - 0,23,23,69,37,7,20,0,130,0,3,131,128,15,131,224, - 31,199,224,15,199,224,7,199,192,3,239,128,1,239,0,0, - 254,0,248,254,62,255,255,254,255,255,254,255,255,254,254,124, - 254,128,254,2,1,239,0,3,239,128,7,239,192,7,199,192, - 15,199,224,31,131,240,7,131,192,1,131,0,35,35,175,59, - 12,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,255,255,255,255,224,255,255,255,255,224,255,255,255,255, - 224,255,255,255,255,224,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,12,15,30,18,3,248,15,240,15,240,15,224,31,224,31, - 192,31,192,63,128,63,128,63,0,127,0,126,0,126,0,124, - 0,252,0,252,0,15,8,16,19,2,11,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,8,8,8,18,6, - 0,255,255,255,255,255,255,255,255,19,46,138,25,3,253,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,0,0,63,0, - 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, - 252,0,0,252,0,0,252,0,0,248,0,1,248,0,1,248, - 0,1,240,0,3,240,0,3,240,0,3,240,0,7,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, - 128,0,31,128,0,31,128,0,31,128,0,63,0,0,63,0, - 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, - 252,0,0,252,0,0,252,0,0,29,44,176,33,2,255,0, - 31,192,0,0,255,248,0,3,255,252,0,7,255,255,0,15, - 255,255,128,15,255,255,128,31,240,255,192,63,192,63,192,63, - 192,63,224,63,128,31,224,127,128,31,240,127,0,31,240,127, - 0,15,240,127,0,15,240,255,0,15,240,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,127,0,15,240,127,0,15,240,127,0,15,240,127, - 0,31,240,127,128,31,240,63,128,31,224,63,192,63,224,63, - 192,63,192,31,240,255,192,15,255,255,128,15,255,255,0,7, - 255,255,0,3,255,254,0,0,255,248,0,0,31,192,0,18, - 42,126,33,6,0,0,63,192,0,127,192,0,255,192,3,255, - 192,15,255,192,63,255,192,255,255,192,255,255,192,255,255,192, - 255,63,192,254,63,192,248,63,192,224,63,192,0,63,192,0, - 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, - 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, - 0,63,192,0,63,192,0,63,192,0,63,192,0,63,192,0, - 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, - 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, - 0,63,192,29,43,172,33,2,0,0,15,240,0,0,127,254, - 0,1,255,255,0,3,255,255,128,7,255,255,192,15,255,255, - 224,31,248,63,240,31,240,31,240,31,224,15,240,63,192,7, - 248,63,192,7,248,63,192,7,248,0,0,7,248,0,0,7, - 248,0,0,15,248,0,0,15,240,0,0,31,240,0,0,31, - 240,0,0,63,224,0,0,127,224,0,0,255,192,0,1,255, - 128,0,3,255,128,0,7,255,0,0,15,254,0,0,31,252, - 0,0,63,248,0,0,127,240,0,0,255,224,0,1,255,128, - 0,3,255,0,0,15,254,0,0,31,252,0,0,63,240,0, - 0,127,224,0,0,255,192,0,0,255,255,255,248,255,255,255, - 248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255, - 248,255,255,255,248,28,44,176,33,3,255,0,127,192,0,3, - 255,248,0,7,255,252,0,31,255,255,0,63,255,255,0,63, - 255,255,128,127,224,255,192,127,192,127,192,255,128,63,192,255, - 0,31,224,255,0,31,224,255,0,31,224,0,0,31,224,0, - 0,31,224,0,0,31,224,0,0,63,192,0,0,127,192,0, - 3,255,128,0,127,255,0,0,127,252,0,0,127,240,0,0, - 127,248,0,0,127,254,0,0,127,255,128,0,0,255,192,0, - 0,63,224,0,0,31,224,0,0,31,224,0,0,15,240,0, - 0,15,240,0,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,31,224,255,128,31,224,127,192,63,224,127, - 224,255,192,63,255,255,128,63,255,255,0,31,255,254,0,15, - 255,252,0,3,255,248,0,0,127,192,0,31,42,168,33,1, - 0,0,1,255,192,0,1,255,192,0,3,255,192,0,7,255, - 192,0,7,255,192,0,15,255,192,0,15,255,192,0,31,255, - 192,0,63,255,192,0,63,191,192,0,127,63,192,0,255,63, - 192,0,254,63,192,1,254,63,192,1,252,63,192,3,248,63, - 192,7,248,63,192,7,240,63,192,15,240,63,192,31,224,63, - 192,31,192,63,192,63,192,63,192,63,128,63,192,127,128,63, - 192,255,0,63,192,255,0,63,192,255,255,255,254,255,255,255, - 254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255, - 254,255,255,255,254,0,0,63,192,0,0,63,192,0,0,63, - 192,0,0,63,192,0,0,63,192,0,0,63,192,0,0,63, - 192,0,0,63,192,0,0,63,192,29,43,172,33,2,255,127, - 255,255,224,127,255,255,224,127,255,255,224,127,255,255,224,127, - 255,255,224,127,255,255,224,127,255,255,224,127,128,0,0,127, - 128,0,0,127,128,0,0,127,128,0,0,127,128,0,0,127, - 128,0,0,127,128,0,0,127,128,0,0,127,135,248,0,127, - 159,254,0,127,255,255,128,127,255,255,192,127,255,255,192,127, - 255,255,224,127,240,63,240,127,192,31,240,127,128,15,240,127, - 128,15,248,127,0,7,248,0,0,7,248,0,0,7,248,0, - 0,7,248,0,0,7,248,0,0,7,248,0,0,7,240,255, - 0,15,240,255,0,15,240,255,0,31,240,255,128,63,224,127, - 224,255,192,127,255,255,192,63,255,255,128,31,255,255,0,15, - 255,252,0,3,255,248,0,0,127,192,0,29,44,176,33,2, - 255,0,15,240,0,0,127,252,0,0,255,255,0,3,255,255, - 128,7,255,255,192,7,255,255,224,15,252,63,224,31,240,15, - 240,31,224,15,240,63,192,7,248,63,192,7,248,63,128,0, - 0,127,128,0,0,127,128,0,0,127,128,0,0,127,0,0, - 0,255,3,248,0,255,31,254,0,255,63,255,0,255,127,255, - 128,255,255,255,192,255,255,255,224,255,248,63,240,255,224,31, - 240,255,192,15,240,255,192,15,248,255,128,7,248,255,128,7, - 248,255,128,7,248,255,128,7,248,255,128,7,248,127,128,7, - 248,127,128,7,248,127,128,7,240,127,192,15,240,63,192,15, - 240,63,224,31,224,31,248,63,224,31,255,255,192,15,255,255, - 128,7,255,255,0,3,255,254,0,0,255,248,0,0,63,192, - 0,28,42,168,33,3,0,255,255,255,240,255,255,255,240,255, - 255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255, - 255,255,240,0,0,15,240,0,0,15,240,0,0,31,240,0, - 0,31,224,0,0,63,224,0,0,63,192,0,0,127,192,0, - 0,127,192,0,0,255,128,0,0,255,128,0,1,255,0,0, - 1,255,0,0,1,254,0,0,3,254,0,0,3,254,0,0, - 7,252,0,0,7,252,0,0,15,248,0,0,15,248,0,0, - 31,248,0,0,31,240,0,0,31,240,0,0,63,224,0,0, - 63,224,0,0,127,192,0,0,127,192,0,0,255,192,0,0, - 255,128,0,1,255,128,0,1,255,0,0,3,255,0,0,3, - 255,0,0,3,254,0,0,7,254,0,0,7,252,0,0,29, - 44,176,33,2,255,0,63,240,0,1,255,254,0,7,255,255, - 128,15,255,255,192,31,255,255,224,63,255,255,240,63,248,127, - 240,127,224,31,240,127,224,31,248,127,192,15,248,127,192,15, - 248,127,192,15,248,127,192,15,248,127,192,15,248,63,224,31, - 240,63,224,31,240,31,248,127,224,15,255,255,192,7,255,255, - 0,1,255,252,0,0,255,248,0,3,255,254,0,15,255,255, - 128,31,255,255,192,63,240,63,224,127,224,31,224,127,192,15, - 240,127,192,15,240,255,128,7,248,255,128,7,248,255,128,7, - 248,255,128,7,248,255,128,7,248,255,128,7,248,255,192,15, - 248,255,192,15,248,127,224,31,240,127,240,63,240,127,255,255, - 224,63,255,255,224,31,255,255,192,15,255,255,128,3,255,254, - 0,0,127,240,0,29,44,176,33,2,255,0,31,192,0,0, - 255,248,0,3,255,254,0,7,255,255,0,15,255,255,128,31, - 255,255,128,63,224,255,192,63,192,63,224,127,128,31,224,127, - 128,31,224,127,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,128,31,248,127,128,31,248,127,192,63,248,127, - 224,255,248,63,255,255,248,31,255,255,248,31,255,247,248,15, - 255,231,248,3,255,199,248,0,254,7,240,0,0,7,240,0, - 0,15,240,0,0,15,240,0,0,15,240,0,0,15,224,127, - 128,31,224,127,128,31,224,63,128,63,192,63,192,127,192,63, - 224,255,128,31,255,255,128,15,255,255,0,7,255,254,0,3, - 255,252,0,1,255,240,0,0,63,192,0,8,29,29,19,8, - 0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,255,255,255,255,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--68-680-72-72-P-335-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 49 - Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=255 - Font Bounding box w=100 h=91 x=-5 y=-18 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =49 descent= 0 - X Font ascent =49 descent= 0 - Max Font ascent =50 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub49n[3148] U8G_FONT_SECTION("u8g_font_fub49n") = { - 0,100,91,251,238,49,0,0,0,0,42,58,0,50,247,49, - 0,27,27,108,43,8,23,0,64,64,0,1,192,112,0,7, - 224,252,0,15,224,254,0,7,241,252,0,7,241,252,0,3, - 241,248,0,1,251,240,0,0,251,224,0,0,127,192,0,224, - 127,192,224,255,191,191,224,255,255,255,224,255,255,255,224,255, - 255,255,224,255,63,159,224,192,127,192,96,0,123,192,0,0, - 251,224,0,1,251,240,0,3,241,248,0,7,241,252,0,15, - 241,252,0,15,224,254,0,7,224,252,0,1,192,112,0,0, - 64,64,0,41,41,246,69,14,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,255,255,255,255,255, - 128,255,255,255,255,255,128,255,255,255,255,255,128,255,255,255, - 255,255,128,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,15, - 17,34,21,3,247,7,254,7,252,7,252,7,248,15,248,15, - 240,15,240,31,224,31,224,31,192,63,192,63,128,63,128,127, - 0,127,0,126,0,254,0,17,9,27,23,3,13,255,255,128, - 255,255,128,255,255,128,255,255,128,255,255,128,255,255,128,255, - 255,128,255,255,128,255,255,128,9,9,18,21,7,0,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 23,54,162,29,3,252,0,0,254,0,0,254,0,0,252,0, - 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, - 248,0,7,240,0,7,240,0,7,240,0,7,224,0,15,224, - 0,15,224,0,15,192,0,31,192,0,31,192,0,31,192,0, - 63,128,0,63,128,0,63,128,0,63,0,0,127,0,0,127, - 0,0,126,0,0,254,0,0,254,0,0,254,0,1,252,0, - 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, - 240,0,7,240,0,7,240,0,7,240,0,15,224,0,15,224, - 0,15,224,0,15,192,0,31,192,0,31,192,0,31,128,0, - 63,128,0,63,128,0,63,0,0,127,0,0,127,0,0,127, - 0,0,126,0,0,254,0,0,34,51,255,39,2,255,0,7, - 248,0,0,0,63,255,0,0,0,255,255,192,0,1,255,255, - 224,0,3,255,255,240,0,7,255,255,248,0,15,255,255,252, - 0,15,254,31,252,0,31,248,7,254,0,31,240,3,254,0, - 63,240,3,255,0,63,224,1,255,0,63,224,1,255,0,127, - 224,1,255,128,127,192,0,255,128,127,192,0,255,128,127,192, - 0,255,128,255,192,0,255,128,255,192,0,255,192,255,192,0, - 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, - 192,255,192,0,255,192,255,192,0,255,192,255,192,0,255,192, - 255,192,0,255,192,255,192,0,255,192,255,192,0,255,192,255, - 192,0,255,192,255,192,0,255,192,255,192,0,255,192,255,192, - 0,255,192,255,192,0,255,128,127,192,0,255,128,127,192,0, - 255,128,127,192,0,255,128,127,224,1,255,128,63,224,1,255, - 0,63,224,1,255,0,63,240,3,255,0,31,240,3,254,0, - 31,248,7,254,0,15,254,31,252,0,15,255,255,252,0,7, - 255,255,248,0,3,255,255,240,0,1,255,255,224,0,0,255, - 255,192,0,0,63,255,0,0,0,7,248,0,0,20,49,147, - 39,7,0,0,31,240,0,63,240,0,127,240,1,255,240,3, - 255,240,15,255,240,63,255,240,255,255,240,255,255,240,255,255, - 240,255,223,240,255,159,240,254,31,240,248,31,240,224,31,240, - 128,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, - 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, - 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, - 0,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, - 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, - 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, - 0,31,240,0,31,240,34,50,250,39,2,0,0,3,254,0, - 0,0,31,255,192,0,0,127,255,240,0,0,255,255,248,0, - 3,255,255,254,0,7,255,255,254,0,7,255,255,255,0,15, - 255,255,255,128,31,255,7,255,128,31,252,1,255,192,31,248, - 0,255,192,63,248,0,255,192,63,240,0,127,192,63,240,0, - 127,192,63,240,0,127,192,0,0,0,127,192,0,0,0,127, - 192,0,0,0,255,192,0,0,0,255,128,0,0,1,255,128, - 0,0,1,255,128,0,0,3,255,0,0,0,7,255,0,0, - 0,15,254,0,0,0,31,254,0,0,0,63,252,0,0,0, - 127,248,0,0,0,255,240,0,0,1,255,224,0,0,3,255, - 192,0,0,7,255,128,0,0,15,255,0,0,0,31,254,0, - 0,0,63,252,0,0,0,255,248,0,0,1,255,224,0,0, - 3,255,192,0,0,7,255,128,0,0,31,254,0,0,0,63, - 252,0,0,0,127,248,0,0,0,255,224,0,0,0,255,255, - 255,255,192,255,255,255,255,192,255,255,255,255,192,255,255,255, - 255,192,255,255,255,255,192,255,255,255,255,192,255,255,255,255, - 192,255,255,255,255,192,32,51,204,39,3,255,0,31,248,0, - 0,255,255,0,3,255,255,128,7,255,255,224,15,255,255,240, - 31,255,255,248,63,255,255,248,127,255,255,252,127,248,31,252, - 127,224,15,254,255,192,7,254,255,192,3,254,255,128,3,254, - 255,128,3,254,0,0,3,254,0,0,3,254,0,0,3,254, - 0,0,7,254,0,0,15,252,0,0,127,252,0,63,255,248, - 0,63,255,224,0,63,255,192,0,63,254,0,0,63,255,0, - 0,63,255,192,0,63,255,240,0,63,255,248,0,0,63,252, - 0,0,7,254,0,0,3,254,0,0,3,255,0,0,1,255, - 0,0,1,255,0,0,1,255,0,0,1,255,255,128,1,255, - 255,128,1,255,255,128,1,255,255,192,3,255,255,192,3,254, - 127,224,7,254,127,224,15,254,127,248,31,252,63,255,255,248, - 63,255,255,240,31,255,255,240,15,255,255,192,3,255,255,128, - 1,255,254,0,0,31,240,0,36,50,250,39,2,0,0,0, - 63,252,0,0,0,127,252,0,0,0,127,252,0,0,0,255, - 252,0,0,0,255,252,0,0,1,255,252,0,0,3,255,252, - 0,0,3,255,252,0,0,7,255,252,0,0,7,255,252,0, - 0,15,247,252,0,0,31,247,252,0,0,31,231,252,0,0, - 63,199,252,0,0,127,199,252,0,0,127,135,252,0,0,255, - 135,252,0,0,255,7,252,0,1,255,7,252,0,3,254,7, - 252,0,3,252,7,252,0,7,252,7,252,0,7,248,7,252, - 0,15,248,7,252,0,31,240,7,252,0,31,240,7,252,0, - 63,224,7,252,0,63,192,7,252,0,127,192,7,252,0,255, - 128,7,252,0,255,128,7,252,0,255,255,255,255,240,255,255, - 255,255,240,255,255,255,255,240,255,255,255,255,240,255,255,255, - 255,240,255,255,255,255,240,255,255,255,255,240,255,255,255,255, - 240,0,0,7,252,0,0,0,7,252,0,0,0,7,252,0, - 0,0,7,252,0,0,0,7,252,0,0,0,7,252,0,0, - 0,7,252,0,0,0,7,252,0,0,0,7,252,0,0,0, - 7,252,0,0,0,7,252,0,33,50,250,39,3,255,127,255, - 255,254,0,127,255,255,254,0,127,255,255,254,0,127,255,255, - 254,0,127,255,255,254,0,127,255,255,254,0,127,255,255,254, - 0,127,255,255,254,0,127,192,0,0,0,127,192,0,0,0, - 127,192,0,0,0,127,192,0,0,0,127,192,0,0,0,127, - 192,0,0,0,127,192,0,0,0,127,192,0,0,0,127,192, - 0,0,0,127,193,255,0,0,127,199,255,192,0,127,223,255, - 240,0,127,255,255,248,0,127,255,255,252,0,127,255,255,254, - 0,127,255,255,254,0,127,252,15,255,0,127,240,3,255,0, - 127,224,3,255,0,127,192,1,255,128,127,192,1,255,128,0, - 0,0,255,128,0,0,0,255,128,0,0,0,255,128,0,0, - 0,255,128,0,0,0,255,128,0,0,0,255,128,0,0,0, - 255,128,0,0,0,255,128,255,128,1,255,128,255,128,1,255, - 0,255,192,3,255,0,255,192,3,254,0,127,224,15,254,0, - 127,248,63,252,0,127,255,255,252,0,63,255,255,248,0,31, - 255,255,240,0,15,255,255,224,0,7,255,255,128,0,1,255, - 254,0,0,0,63,240,0,0,34,51,255,39,2,255,0,3, - 252,0,0,0,31,255,128,0,0,127,255,224,0,0,255,255, - 240,0,1,255,255,248,0,3,255,255,252,0,7,255,255,254, - 0,7,255,255,254,0,15,255,7,255,0,31,252,3,255,0, - 31,248,1,255,128,31,248,0,255,128,63,240,0,255,128,63, - 224,0,0,0,63,224,0,0,0,127,224,0,0,0,127,192, - 0,0,0,127,192,0,0,0,127,192,127,0,0,127,195,255, - 224,0,255,199,255,240,0,255,207,255,248,0,255,223,255,252, - 0,255,191,255,254,0,255,255,255,255,0,255,254,15,255,0, - 255,248,3,255,128,255,248,3,255,128,255,240,1,255,128,255, - 240,1,255,192,255,224,0,255,192,255,224,0,255,192,255,224, - 0,255,192,255,224,0,255,192,255,224,0,255,192,127,224,0, - 255,192,127,224,0,255,192,127,224,0,255,192,127,224,0,255, - 128,63,240,1,255,128,63,240,1,255,128,63,248,3,255,0, - 31,248,3,255,0,31,254,15,254,0,15,255,255,254,0,7, - 255,255,252,0,3,255,255,248,0,1,255,255,240,0,0,255, - 255,192,0,0,63,255,0,0,0,7,248,0,0,33,49,245, - 39,3,0,255,255,255,255,128,255,255,255,255,128,255,255,255, - 255,128,255,255,255,255,128,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,255,255,255,255,128,0,0,0,255,128, - 0,0,1,255,128,0,0,1,255,128,0,0,3,255,0,0, - 0,3,255,0,0,0,7,254,0,0,0,7,254,0,0,0, - 15,254,0,0,0,15,252,0,0,0,31,252,0,0,0,31, - 248,0,0,0,31,248,0,0,0,63,240,0,0,0,63,240, - 0,0,0,127,240,0,0,0,127,224,0,0,0,255,224,0, - 0,0,255,192,0,0,1,255,192,0,0,1,255,192,0,0, - 3,255,128,0,0,3,255,128,0,0,3,255,0,0,0,7, - 255,0,0,0,7,254,0,0,0,15,254,0,0,0,15,254, - 0,0,0,31,252,0,0,0,31,252,0,0,0,63,248,0, - 0,0,63,248,0,0,0,63,248,0,0,0,127,240,0,0, - 0,127,240,0,0,0,255,224,0,0,0,255,224,0,0,1, - 255,192,0,0,1,255,192,0,0,3,255,192,0,0,3,255, - 128,0,0,7,255,128,0,0,34,51,255,39,2,255,0,15, - 252,0,0,0,255,255,192,0,3,255,255,240,0,7,255,255, - 248,0,15,255,255,252,0,31,255,255,254,0,63,255,255,255, - 0,63,255,255,255,0,63,252,15,255,0,127,248,7,255,128, - 127,240,3,255,128,127,224,1,255,128,127,224,1,255,128,127, - 224,1,255,128,127,224,1,255,128,127,224,1,255,128,127,224, - 1,255,128,63,240,3,255,0,63,248,7,255,0,31,252,15, - 254,0,15,255,255,252,0,7,255,255,240,0,1,255,255,192, - 0,0,63,255,0,0,0,255,255,128,0,3,255,255,224,0, - 7,255,255,248,0,31,255,255,252,0,63,252,15,254,0,63, - 248,7,255,0,127,240,3,255,0,127,224,1,255,128,127,224, - 1,255,128,255,192,0,255,192,255,192,0,255,192,255,192,0, - 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, - 192,255,224,1,255,192,255,224,1,255,192,255,240,3,255,192, - 127,240,7,255,128,127,252,15,255,128,63,255,255,255,0,63, - 255,255,255,0,31,255,255,254,0,15,255,255,252,0,3,255, - 255,240,0,0,255,255,192,0,0,15,252,0,0,34,51,255, - 39,2,255,0,7,248,0,0,0,63,255,0,0,0,255,255, - 192,0,3,255,255,224,0,7,255,255,240,0,15,255,255,248, - 0,31,255,255,252,0,31,255,255,254,0,63,248,31,254,0, - 63,240,7,255,0,127,224,7,255,0,127,192,3,255,0,127, - 192,3,255,128,255,192,1,255,128,255,128,1,255,128,255,128, - 1,255,128,255,128,1,255,192,255,128,1,255,192,255,128,1, - 255,192,255,192,1,255,192,255,192,3,255,192,255,192,3,255, - 192,127,224,7,255,192,127,240,7,255,192,127,248,31,255,192, - 63,255,255,255,192,31,255,255,127,192,31,255,254,255,192,15, - 255,252,255,192,3,255,252,255,192,1,255,240,255,192,0,127, - 192,255,128,0,0,0,255,128,0,0,0,255,128,0,0,1, - 255,128,0,0,1,255,128,0,0,1,255,0,0,0,1,255, - 0,127,192,3,255,0,127,192,3,254,0,127,224,7,254,0, - 63,224,15,254,0,63,240,15,252,0,31,248,63,252,0,31, - 255,255,248,0,15,255,255,240,0,7,255,255,224,0,3,255, - 255,192,0,1,255,255,128,0,0,127,254,0,0,0,15,240, - 0,0,9,34,68,21,9,0,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=16 x= 4 y=10 dx=15 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11[3712] U8G_FONT_SECTION("u8g_font_fur11") = { - 0,20,20,255,252,11,2,81,4,211,32,255,253,16,252,11, - 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, - 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, - 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, - 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, - 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, - 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, - 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, - 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, - 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, - 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, - 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, - 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, - 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, - 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, - 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, - 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, - 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, - 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, - 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, - 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, - 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, - 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, - 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, - 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, - 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, - 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, - 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, - 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, - 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, - 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, - 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, - 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, - 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, - 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, - 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, - 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, - 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, - 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, - 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, - 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, - 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, - 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, - 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, - 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, - 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, - 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, - 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, - 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, - 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, - 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, - 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, - 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, - 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, - 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, - 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, - 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, - 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, - 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, - 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, - 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, - 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, - 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, - 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, - 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, - 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, - 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, - 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, - 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, - 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, - 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, - 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, - 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, - 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, - 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, - 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, - 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, - 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, - 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, - 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, - 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, - 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, - 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, - 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, - 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, - 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, - 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, - 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, - 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, - 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, - 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, - 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, - 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, - 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, - 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, - 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, - 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, - 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, - 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, - 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, - 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, - 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,5,0,0,1,11,11,5,2,253,128,0,0, - 128,128,128,128,128,128,128,128,6,12,12,8,1,254,8,8, - 120,220,148,144,160,164,236,120,64,64,7,11,11,9,1,0, - 60,102,64,64,248,64,64,64,64,64,254,8,9,9,10,1, - 2,129,90,36,66,66,66,36,90,129,8,11,11,9,0,0, - 65,99,34,231,20,28,255,8,8,8,8,1,14,14,6,3, - 253,128,128,128,128,128,128,0,0,128,128,128,128,128,128,5, - 14,14,7,1,253,120,136,128,192,112,216,136,152,240,48,24, - 8,24,240,4,1,1,4,0,10,144,11,11,22,13,1,0, - 31,0,127,128,115,64,225,96,160,32,160,32,161,32,179,96, - 94,64,96,128,31,0,6,8,8,6,0,3,56,72,120,72, - 88,104,0,252,6,6,6,8,1,1,36,72,216,216,72,36, - 8,3,3,10,1,4,255,1,1,255,11,11,22,13,1,0, - 31,0,127,128,81,64,209,96,158,32,147,32,145,32,209,96, - 64,64,97,128,31,0,4,1,1,4,0,10,240,3,4,4, - 5,1,7,224,160,160,224,9,10,20,15,3,0,8,0,8, - 0,8,0,255,128,8,0,8,0,8,0,0,0,0,0,255, - 128,4,6,6,6,1,5,112,144,48,96,192,240,5,6,6, - 6,0,5,120,200,24,48,136,112,3,3,3,3,1,9,96, - 64,128,255,7,14,14,9,1,253,126,244,244,244,244,116,20, - 20,20,20,20,20,20,20,1,2,2,4,2,4,128,128,4, - 3,3,5,1,253,48,16,224,3,6,6,5,1,5,96,160, - 32,32,32,32,5,8,8,7,1,3,112,216,136,136,216,112, - 0,248,6,6,6,8,1,1,216,72,36,36,72,216,10,11, - 22,12,1,0,97,0,162,0,34,0,36,0,36,0,41,128, - 9,128,18,128,51,192,32,128,96,128,11,11,22,13,1,0, - 96,128,161,0,34,0,34,0,36,0,37,192,9,32,24,96, - 16,192,33,128,97,224,11,11,22,12,0,0,120,128,9,128, - 49,0,27,0,138,0,116,192,4,192,9,64,11,224,16,64, - 48,64,6,11,11,8,1,253,16,0,16,16,48,96,192,128, - 132,236,120,11,16,32,11,0,0,24,0,8,0,4,0,0, - 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, - 128,63,192,96,192,64,64,192,96,11,16,32,11,0,0,3, - 0,2,0,4,0,0,0,0,0,6,0,14,0,10,0,27, - 0,25,0,49,128,49,128,63,192,96,192,64,64,192,96,11, - 16,32,11,0,0,4,0,14,0,9,0,0,0,0,0,6, - 0,14,0,10,0,27,0,25,0,49,128,49,128,63,192,96, - 192,64,64,192,96,11,15,30,11,0,0,13,0,22,0,0, - 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, - 128,63,192,96,192,64,64,192,96,11,14,28,11,0,0,9, - 0,0,0,0,0,6,0,14,0,11,0,27,0,25,0,17, - 128,48,128,63,192,96,192,64,96,192,96,11,16,32,11,0, - 0,14,0,10,0,14,0,0,0,0,0,4,0,12,0,10, - 0,10,0,17,0,17,0,49,128,63,128,96,192,64,64,192, - 96,13,11,22,14,0,0,3,248,5,0,13,0,13,0,25, - 0,25,248,49,0,63,0,97,0,65,0,193,248,8,15,15, - 10,1,252,62,97,193,128,128,128,128,128,193,67,62,12,6, - 2,28,6,16,16,9,1,0,64,32,16,0,0,252,128,128, - 128,128,252,128,128,128,128,252,6,16,16,9,1,0,8,16, - 16,0,0,252,128,128,128,128,252,128,128,128,128,252,6,16, - 16,9,1,0,48,48,72,0,0,252,128,128,128,128,252,128, - 128,128,128,252,6,15,15,8,1,0,72,0,0,0,252,128, - 128,128,128,252,128,128,128,128,252,3,16,16,3,255,0,192, - 64,32,0,0,32,32,32,32,32,32,32,32,32,32,32,3, - 16,16,3,1,0,96,192,128,0,0,128,128,128,128,128,128, - 128,128,128,128,128,3,16,16,3,0,0,64,224,160,0,0, - 64,64,64,64,64,64,64,64,64,64,64,4,14,14,4,0, - 0,144,0,0,64,64,64,64,64,64,64,64,64,64,64,10, - 11,22,11,0,0,62,0,33,128,32,128,32,192,32,64,248, - 64,32,64,32,192,32,128,33,128,62,0,8,15,15,10,1, - 0,52,44,0,0,193,225,225,177,177,153,137,141,133,135,131, - 9,16,32,11,1,0,48,0,16,0,8,0,0,0,0,0, - 62,0,99,0,193,128,129,128,128,128,128,128,128,128,129,128, - 193,0,99,0,62,0,9,16,32,11,1,0,4,0,12,0, - 8,0,0,0,0,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,9,16,32,11, - 1,0,8,0,28,0,20,0,0,0,0,0,62,0,99,0, - 193,128,129,128,128,128,128,128,128,128,129,128,193,0,99,0, - 62,0,9,15,30,11,1,0,24,0,44,0,0,0,0,0, - 62,0,99,0,193,128,128,128,128,128,128,128,128,128,129,128, - 193,0,119,0,62,0,9,15,30,11,1,0,18,0,0,0, - 0,0,0,0,62,0,99,0,193,128,129,128,128,128,128,128, - 128,128,129,128,193,0,99,0,62,0,7,7,7,15,4,1, - 130,68,40,16,40,68,130,9,13,26,11,1,255,0,128,63, - 0,99,0,195,128,134,128,140,128,136,128,152,128,177,128,225, - 0,99,0,254,0,128,0,8,16,16,10,1,0,32,16,24, - 0,0,129,129,129,129,129,129,129,129,195,230,60,8,16,16, - 10,1,0,12,8,16,0,0,129,129,129,129,129,129,129,129, - 195,230,60,8,16,16,10,1,0,24,24,36,0,0,129,129, - 129,129,129,129,129,129,195,230,60,8,15,15,10,1,0,36, - 0,0,0,129,129,129,129,129,129,129,129,131,194,60,9,16, - 32,10,1,0,6,0,4,0,8,0,0,0,0,0,193,128, - 65,0,99,0,38,0,52,0,28,0,8,0,8,0,8,0, - 8,0,8,0,7,11,11,9,1,0,128,128,252,134,130,130, - 134,252,128,128,128,7,11,11,8,1,0,120,204,132,140,144, - 144,156,134,130,178,156,6,12,12,8,1,0,32,16,16,0, - 120,204,4,124,196,132,140,116,6,13,13,8,1,0,24,16, - 48,32,0,120,204,4,124,196,132,140,116,6,12,12,8,1, - 0,48,104,72,0,120,204,4,124,196,132,140,116,6,11,11, - 8,1,0,120,0,0,120,204,4,124,196,132,140,116,6,11, - 11,8,1,0,72,0,0,120,204,4,124,196,132,140,116,6, - 13,13,8,1,0,48,72,72,48,0,120,196,4,124,196,132, - 140,116,12,8,16,13,1,0,251,192,138,32,4,48,127,240, - 196,0,140,48,202,96,113,192,6,12,12,8,1,252,120,204, - 132,128,128,132,204,120,48,24,8,48,6,13,13,8,1,0, - 64,32,32,16,0,120,196,132,252,128,132,204,120,6,13,13, - 8,1,0,8,16,16,32,0,120,196,132,252,128,132,204,120, - 6,12,12,8,1,0,48,104,72,0,120,196,132,252,128,132, - 204,120,6,11,11,8,1,0,72,0,0,120,204,132,252,128, - 132,204,120,2,12,12,3,0,0,128,64,64,0,64,64,64, - 64,64,64,64,64,3,12,12,3,0,0,32,64,128,0,64, - 64,64,64,64,64,64,64,5,12,12,3,255,0,112,80,136, - 0,32,32,32,32,32,32,32,32,4,11,11,4,0,0,144, - 0,0,64,64,64,64,64,64,64,64,7,11,11,9,1,0, - 104,112,136,124,198,134,130,130,134,196,120,6,11,11,8,1, - 0,120,0,0,184,204,132,132,132,132,132,132,7,13,13,9, - 1,0,96,32,16,16,0,120,196,134,130,130,134,196,120,7, - 13,13,9,1,0,12,24,16,32,0,120,196,134,130,130,134, - 196,120,7,12,12,9,1,0,56,40,68,0,120,196,134,130, - 130,134,196,120,7,11,11,9,1,0,120,0,0,120,196,134, - 130,130,134,196,120,7,11,11,9,1,0,72,0,0,120,196, - 134,130,130,134,196,120,9,7,14,15,3,1,8,0,8,0, - 0,0,255,128,0,0,8,0,8,0,8,10,10,9,0,255, - 1,62,98,71,73,89,83,98,124,192,6,13,13,8,1,0, - 64,32,32,16,0,132,132,132,132,132,132,204,116,6,13,13, - 8,1,0,24,16,48,32,0,132,132,132,132,132,132,204,116, - 6,12,12,8,1,0,48,80,72,0,132,132,132,132,132,132, - 204,116,6,11,11,8,1,0,72,0,0,132,132,132,132,132, - 132,204,116,8,15,15,8,0,253,4,8,16,0,195,66,102, - 38,52,60,24,24,24,80,112,7,14,14,9,1,253,128,128, - 128,188,198,134,130,130,134,198,188,128,128,128,8,14,14,8, - 0,253,36,0,0,195,66,102,36,36,60,24,24,24,16,48 - }; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=15 dy= 0 ascent=11 len=18 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11n[279] U8G_FONT_SECTION("u8g_font_fur11n") = { - 0,20,20,255,252,11,0,0,0,0,42,58,0,11,254,11, - 0,6,5,5,10,2,5,72,48,252,48,120,9,9,18,15, - 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,4,4,4,1,254,192,192,128,128,4,1, - 1,6,1,3,240,1,2,2,4,2,0,128,128,4,12,12, - 6,1,255,16,16,16,32,32,32,64,64,64,64,128,128,6, - 11,11,8,1,0,120,200,140,132,132,132,132,132,140,200,120, - 4,11,11,8,2,0,48,112,208,16,16,16,16,16,16,16, - 16,6,11,11,8,1,0,120,204,196,4,12,24,16,48,96, - 192,252,7,11,11,8,0,0,60,70,194,6,24,4,6,2, - 194,70,60,7,11,11,8,1,0,12,28,20,36,100,68,196, - 254,4,4,4,6,11,11,8,1,0,248,128,128,184,204,132, - 4,4,140,200,112,7,11,11,8,1,0,60,198,134,128,188, - 198,130,130,130,198,60,7,11,11,8,1,0,254,6,6,4, - 12,8,24,24,16,48,48,6,11,11,8,1,0,120,204,132, - 204,112,200,132,132,132,204,120,7,11,11,8,1,0,124,198, - 130,130,198,122,2,6,134,204,120,1,8,8,4,2,0,128, - 128,0,0,0,0,128,128}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=16 x= 4 y= 9 dx=15 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11r[1729] U8G_FONT_SECTION("u8g_font_fur11r") = { - 0,20,20,255,252,11,2,81,4,211,32,127,253,13,252,11, - 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, - 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, - 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, - 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, - 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, - 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, - 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, - 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, - 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, - 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, - 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, - 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, - 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, - 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, - 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, - 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, - 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, - 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, - 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, - 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, - 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, - 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, - 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, - 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, - 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, - 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, - 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, - 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, - 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, - 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, - 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, - 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, - 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, - 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, - 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, - 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, - 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, - 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, - 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, - 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, - 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, - 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, - 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, - 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, - 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, - 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, - 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, - 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, - 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, - 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, - 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, - 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, - 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, - 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, - 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, - 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, - 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, - 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, - 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, - 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, - 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, - 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, - 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, - 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, - 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, - 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, - 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, - 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, - 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, - 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, - 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, - 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, - 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, - 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, - 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, - 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, - 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, - 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, - 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, - 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, - 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, - 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, - 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, - 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, - 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, - 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, - 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, - 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, - 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, - 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, - 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, - 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, - 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, - 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, - 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, - 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, - 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, - 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, - 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, - 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, - 255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=18 h=21 x= 5 y=13 dx=19 dy= 0 ascent=21 len=54 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14[5349] U8G_FONT_SECTION("u8g_font_fur14") = { - 0,26,26,255,251,14,3,59,6,250,32,255,252,21,251,14, - 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, - 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, - 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, - 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, - 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, - 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, - 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, - 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, - 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, - 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, - 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, - 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, - 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, - 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, - 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, - 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, - 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, - 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, - 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, - 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, - 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, - 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, - 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, - 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, - 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, - 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, - 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, - 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, - 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, - 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, - 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, - 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, - 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, - 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, - 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, - 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, - 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, - 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, - 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, - 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, - 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, - 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, - 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, - 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, - 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, - 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, - 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, - 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, - 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, - 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, - 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, - 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, - 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, - 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, - 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, - 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, - 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, - 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, - 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, - 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, - 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, - 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, - 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, - 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, - 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, - 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, - 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, - 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, - 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, - 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, - 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, - 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, - 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, - 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, - 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, - 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, - 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, - 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, - 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, - 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, - 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, - 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, - 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, - 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, - 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, - 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, - 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, - 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, - 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, - 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, - 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, - 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, - 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, - 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, - 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, - 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, - 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, - 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, - 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, - 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, - 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, - 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, - 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, - 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, - 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, - 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, - 4,10,0,4,120,192,207,128,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,0,2, - 14,14,7,3,252,192,192,0,0,192,192,192,192,192,192,192, - 192,192,192,8,14,14,10,1,254,2,4,60,102,203,200,200, - 208,208,211,102,60,32,64,10,14,28,11,1,0,31,0,49, - 128,96,192,96,0,96,0,252,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,255,128,10,10,20,12,1,3,128, - 64,94,128,51,0,65,128,64,128,64,128,64,128,33,0,94, - 128,128,64,10,14,28,12,1,0,192,192,96,128,97,128,49, - 0,243,192,27,0,30,0,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,1,18,18,7,3,252,128,128,128,128,128, - 128,128,128,0,0,128,128,128,128,128,128,128,128,7,17,17, - 9,1,253,60,100,192,192,96,56,124,198,198,206,124,60,14, - 6,6,140,248,6,1,1,6,0,13,204,14,14,28,16,1, - 0,15,192,28,224,39,144,76,200,216,108,152,4,152,4,152, - 4,152,100,140,204,71,200,32,16,16,32,15,192,7,10,10, - 8,1,4,120,204,4,124,196,132,124,0,0,254,7,8,8, - 11,2,1,38,100,204,216,152,204,100,38,10,5,10,12,1, - 3,255,192,0,64,0,64,0,64,0,64,255,14,14,28,16, - 1,0,15,192,28,224,47,208,76,104,204,108,140,100,143,132, - 140,68,140,100,204,108,76,104,32,16,28,224,15,192,6,1, - 1,6,0,13,252,4,5,5,6,1,9,96,240,144,144,96, - 11,12,24,19,4,0,6,0,6,0,6,0,6,0,255,224, - 6,0,6,0,6,0,0,0,0,0,0,0,255,224,6,8, - 8,7,1,6,120,220,12,12,24,48,192,252,6,8,8,7, - 1,6,120,204,12,48,24,140,204,120,4,4,4,4,1,12, - 48,96,64,192,255,9,18,36,11,1,252,63,128,121,0,249, - 0,249,0,249,0,249,0,121,0,25,0,9,0,9,0,9, - 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,2, - 2,2,5,2,5,192,192,6,5,5,5,0,251,64,120,12, - 12,248,4,7,7,6,1,7,112,240,48,48,48,48,48,6, - 10,10,8,1,4,120,72,132,132,132,132,204,120,0,252,7, - 8,8,11,2,1,152,204,100,102,102,100,204,152,13,14,28, - 15,1,0,112,64,240,192,48,128,49,128,49,0,51,0,50, - 48,54,112,12,112,8,176,25,176,17,248,48,48,32,48,13, - 14,28,15,1,0,112,64,240,192,48,128,49,128,49,0,50, - 0,50,112,52,216,12,24,8,24,24,48,16,96,48,192,32, - 248,14,14,28,16,1,0,120,48,204,32,12,96,48,192,12, - 128,141,128,121,24,3,56,2,120,4,88,12,152,8,252,24, - 24,16,24,8,14,14,10,1,252,12,12,0,12,12,12,24, - 48,96,192,192,193,127,62,14,20,40,14,0,0,12,0,6, - 0,2,0,3,0,0,0,0,0,3,0,7,128,7,128,4, - 192,12,192,12,192,24,96,24,96,31,240,63,240,48,24,96, - 24,96,24,192,12,14,20,40,14,0,0,0,192,0,128,1, - 128,1,0,0,0,0,0,3,0,7,128,7,128,4,192,12, - 192,12,192,24,96,24,96,31,240,63,240,48,24,96,24,96, - 24,192,12,14,20,40,14,0,0,3,0,3,128,6,128,4, - 192,0,0,0,0,3,0,7,128,7,128,4,192,12,192,12, - 192,24,96,24,96,31,240,63,240,48,24,96,24,96,24,192, - 12,14,18,36,14,0,0,7,192,0,0,0,0,0,0,3, - 0,7,128,7,128,4,192,12,192,12,192,24,96,24,96,31, - 240,63,240,48,24,96,24,96,24,192,12,13,18,36,15,1, - 0,12,192,0,0,0,0,0,0,7,0,7,0,13,128,13, - 128,12,192,24,192,24,192,48,96,63,224,63,240,96,48,96, - 24,192,24,192,24,13,21,42,14,1,0,6,0,13,0,9, - 0,9,0,6,0,0,0,0,0,6,0,7,0,15,0,13, - 0,25,128,25,128,16,192,48,192,63,224,127,224,96,32,192, - 48,192,48,192,24,17,14,42,19,1,0,1,255,128,3,192, - 0,2,192,0,6,192,0,14,192,0,12,192,0,28,255,128, - 24,192,0,56,192,0,63,192,0,96,192,0,96,192,0,192, - 192,0,192,255,128,11,18,36,13,1,252,31,128,57,192,96, - 96,64,96,192,0,192,0,192,0,192,0,192,0,192,0,64, - 96,96,96,49,192,31,0,4,0,7,0,1,128,15,128,9, - 20,40,12,2,0,96,0,48,0,24,0,8,0,0,0,0, - 0,255,128,192,0,192,0,192,0,192,0,192,0,255,128,192, - 0,192,0,192,0,192,0,192,0,192,0,255,128,9,20,40, - 12,2,0,6,0,4,0,12,0,24,0,0,0,0,0,255, - 128,192,0,192,0,192,0,192,0,192,0,255,128,192,0,192, - 0,192,0,192,0,192,0,192,0,255,128,9,20,40,12,2, - 0,24,0,28,0,52,0,38,0,0,0,0,0,255,128,192, - 0,192,0,192,0,192,0,192,0,255,128,192,0,192,0,192, - 0,192,0,192,0,192,0,255,128,9,18,36,12,2,0,102, - 0,0,0,0,0,0,0,255,128,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,255,128,4,20,20,5,0,0,192,96,32,48,0,0,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,4,20,20, - 5,2,0,48,96,64,128,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,5,20,20,5,0,0,48,112,88, - 200,0,0,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,6,18,18,6,0,0,204,0,0,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,13,14,28,14,0,0,127, - 128,97,224,96,112,96,48,96,16,96,24,254,24,96,24,96, - 24,96,16,96,48,96,96,97,224,127,128,11,18,36,14,2, - 0,31,0,0,0,0,0,0,0,224,96,224,96,240,96,248, - 96,216,96,220,96,204,96,198,96,198,96,195,96,195,96,193, - 224,193,224,192,224,12,20,40,14,1,0,24,0,12,0,6, - 0,2,0,0,0,0,0,31,128,57,192,96,96,64,32,192, - 48,192,48,192,48,192,48,192,48,192,48,64,32,96,96,57, - 192,15,0,12,20,40,14,1,0,1,128,3,0,6,0,4, - 0,0,0,0,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,12,20,40,14,1,0,6,0,15,0,9,0,16,128,0, - 0,0,0,31,128,57,192,96,96,64,32,192,48,192,48,192, - 48,192,48,192,48,192,48,64,32,96,96,57,192,15,0,12, - 19,38,14,1,0,12,128,31,0,0,0,0,0,0,0,31, - 128,57,192,96,96,64,32,192,48,192,48,192,48,192,48,192, - 48,192,48,96,96,112,224,63,192,15,0,12,18,36,14,1, - 0,13,128,0,0,0,0,0,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,0,11,10,20,19,4,1,192,96,96,192,49, - 128,27,0,14,0,14,0,27,0,49,128,96,192,64,96,12, - 16,32,14,1,255,0,48,31,224,56,224,96,224,65,176,193, - 176,195,48,198,48,198,48,204,48,220,48,88,32,112,96,57, - 192,127,0,192,0,11,20,40,15,2,0,24,0,8,0,4, - 0,6,0,0,0,0,0,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,96,192,127, - 192,31,0,11,20,40,15,2,0,3,0,2,0,4,0,12, - 0,0,0,0,0,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,96,192,127,192,31, - 0,11,20,40,15,2,0,14,0,14,0,27,0,17,0,0, - 0,0,0,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,96,192,127,192,31,0,11, - 18,36,15,2,0,25,128,0,0,0,0,0,0,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,96,192,113,192,31,0,12,20,40,12,0,0,1, - 128,3,0,2,0,4,0,0,0,0,0,224,112,96,96,112, - 192,48,192,25,128,25,128,15,0,14,0,6,0,6,0,6, - 0,6,0,6,0,6,0,9,14,28,12,2,0,192,0,192, - 0,192,0,254,0,195,0,193,128,193,128,193,128,195,128,254, - 0,192,0,192,0,192,0,192,0,10,14,28,11,1,0,62, - 0,103,0,195,0,195,0,198,0,204,0,204,0,206,0,199, - 128,193,128,192,192,216,192,220,128,199,128,8,15,15,10,1, - 0,48,24,8,0,0,62,103,195,3,63,99,195,195,231,123, - 8,16,16,10,1,0,6,12,24,16,0,0,62,103,195,3, - 63,99,195,195,231,123,8,16,16,10,1,0,24,28,36,38, - 0,0,62,103,195,3,63,99,195,195,231,123,8,14,14,10, - 1,0,62,0,0,0,62,103,195,3,63,115,195,195,231,123, - 8,14,14,10,1,0,102,0,0,0,62,103,195,3,63,99, - 195,195,231,123,8,16,16,10,1,0,28,34,34,28,0,0, - 62,99,193,1,63,113,193,193,231,61,16,10,20,18,1,0, - 62,124,227,198,193,131,1,131,63,255,225,128,193,128,195,131, - 230,238,124,60,8,14,14,10,1,252,62,103,195,192,192,192, - 192,195,102,60,16,28,6,62,9,16,32,11,1,0,48,0, - 48,0,24,0,8,0,0,0,0,0,62,0,99,0,193,0, - 193,128,255,128,192,0,192,0,67,0,103,0,62,0,9,16, - 32,11,1,0,6,0,12,0,8,0,24,0,0,0,0,0, - 62,0,99,0,193,0,193,128,255,128,192,0,192,0,67,0, - 103,0,62,0,9,16,32,11,1,0,24,0,28,0,52,0, - 34,0,0,0,0,0,62,0,99,0,193,0,193,128,255,128, - 192,0,192,0,67,0,103,0,62,0,9,14,28,11,1,0, - 102,0,0,0,0,0,0,0,62,0,99,0,193,0,193,128, - 255,128,192,0,192,0,67,0,103,0,62,0,3,15,15,4, - 0,0,128,192,96,32,0,96,96,96,96,96,96,96,96,96, - 96,3,15,15,4,1,0,96,64,192,128,0,192,192,192,192, - 192,192,192,192,192,192,6,15,15,4,255,0,48,120,72,132, - 0,48,48,48,48,48,48,48,48,48,48,6,14,14,5,0, - 0,204,0,0,0,48,48,48,48,48,48,48,48,48,48,9, - 14,28,11,1,0,102,0,24,0,108,0,6,0,63,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,8,14,14,10,1,0,52,124,0,0,222,231,195,195,195, - 195,195,195,195,195,9,16,32,11,1,0,48,0,16,0,24, - 0,8,0,0,0,0,0,62,0,99,0,193,128,193,128,193, - 128,193,128,193,128,193,128,99,0,62,0,9,16,32,11,1, - 0,6,0,4,0,12,0,8,0,0,0,0,0,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,9,16,32,11,1,0,8,0,28,0,20,0,34,0,0, - 0,0,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,62,0,0, - 0,0,0,0,0,62,0,99,0,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,9,14,28,11,1,0,51, - 0,0,0,0,0,0,0,62,0,115,0,193,128,192,128,192, - 128,192,128,192,128,193,128,115,0,62,0,11,8,16,19,4, - 2,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, - 0,9,12,24,11,1,0,1,128,63,0,99,0,199,128,197, - 128,201,128,217,128,209,128,225,128,99,0,254,0,128,0,8, - 16,16,10,1,0,96,48,16,8,0,0,195,195,195,195,195, - 195,195,195,231,123,8,16,16,10,1,0,4,12,8,16,0, - 0,195,195,195,195,195,195,195,195,231,123,8,16,16,10,1, - 0,24,24,52,36,0,0,195,195,195,195,195,195,195,195,231, - 123,8,14,14,10,1,0,102,0,0,0,195,195,195,195,195, - 195,195,195,231,123,10,19,38,10,0,252,3,0,6,0,4, - 0,8,0,0,0,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,120,0,120, - 0,9,18,36,11,1,252,192,0,192,0,192,0,192,0,222, - 0,227,0,193,128,193,128,193,128,193,128,193,128,193,128,227, - 0,222,0,192,0,192,0,192,0,192,0,10,18,36,10,0, - 252,51,0,0,0,0,0,0,0,192,192,97,128,97,128,97, - 0,51,0,51,0,30,0,30,0,30,0,12,0,12,0,24, - 0,24,0,24,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=11 h=15 x= 4 y= 7 dx=19 dy= 0 ascent=14 len=28 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14n[421] U8G_FONT_SECTION("u8g_font_fur14n") = { - 0,26,26,255,251,14,0,0,0,0,42,58,0,14,254,14, - 0,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=18 h=21 x= 5 y=12 dx=19 dy= 0 ascent=16 len=54 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14r[2489] U8G_FONT_SECTION("u8g_font_fur14r") = { - 0,26,26,255,251,14,3,59,6,250,32,127,252,16,251,14, - 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, - 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, - 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, - 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, - 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, - 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, - 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, - 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, - 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, - 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, - 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, - 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, - 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, - 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, - 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, - 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, - 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, - 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, - 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, - 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, - 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, - 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, - 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, - 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, - 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, - 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, - 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, - 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, - 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, - 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, - 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, - 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, - 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, - 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, - 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, - 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, - 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, - 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, - 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, - 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, - 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, - 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, - 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, - 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, - 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, - 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, - 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, - 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, - 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, - 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, - 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, - 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, - 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, - 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, - 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, - 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, - 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, - 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, - 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, - 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, - 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, - 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, - 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, - 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, - 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, - 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, - 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, - 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, - 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, - 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, - 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, - 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, - 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, - 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, - 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, - 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, - 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, - 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, - 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, - 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, - 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, - 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, - 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, - 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, - 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, - 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, - 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, - 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, - 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, - 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, - 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, - 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, - 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, - 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, - 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, - 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, - 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, - 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, - 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, - 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, - 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, - 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, - 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, - 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, - 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, - 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, - 4,10,0,4,120,192,207,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=22 h=25 x= 6 y=15 dx=24 dy= 0 ascent=24 len=66 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =24 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17[6799] U8G_FONT_SECTION("u8g_font_fur17") = { - 0,31,30,254,250,17,4,5,8,170,32,255,251,24,250,17, - 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, - 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, - 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, - 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, - 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, - 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, - 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, - 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, - 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, - 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, - 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, - 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, - 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, - 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, - 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, - 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, - 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, - 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, - 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, - 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, - 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, - 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, - 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, - 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, - 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, - 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, - 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, - 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, - 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, - 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, - 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, - 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, - 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, - 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, - 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, - 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, - 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, - 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, - 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, - 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, - 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, - 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, - 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, - 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, - 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, - 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, - 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, - 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, - 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, - 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, - 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, - 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, - 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, - 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, - 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, - 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, - 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, - 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, - 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, - 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, - 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, - 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, - 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, - 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, - 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, - 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, - 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, - 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, - 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, - 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, - 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, - 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, - 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, - 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, - 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, - 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, - 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, - 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, - 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, - 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, - 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, - 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, - 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, - 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, - 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, - 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, - 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, - 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, - 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, - 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, - 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, - 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, - 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, - 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, - 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, - 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, - 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, - 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, - 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, - 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, - 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, - 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, - 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, - 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, - 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, - 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, - 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, - 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, - 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, - 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, - 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, - 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, - 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, - 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, - 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, - 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, - 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, - 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, - 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, - 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, - 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, - 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, - 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, - 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, - 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, - 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, - 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, - 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, - 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, - 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, - 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, - 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, - 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, - 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, - 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, - 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, - 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, - 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, - 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, - 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, - 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, - 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, - 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, - 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, - 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, - 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, - 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, - 2,4,12,0,5,62,112,231,224,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,7,0,0, - 2,17,17,8,3,251,192,192,0,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,10,18,36,14,2,253,1,0,1, - 0,1,0,31,0,127,128,98,192,198,192,196,0,196,0,204, - 0,200,0,200,192,121,192,127,128,31,0,32,0,32,0,32, - 0,11,17,34,13,1,0,15,128,29,192,48,96,48,0,48, - 0,48,0,254,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,255,224,11,14,28,13,1,3,0, - 32,128,32,95,64,123,128,96,128,64,64,64,64,64,64,64, - 64,96,128,113,128,95,64,128,32,0,32,12,17,34,14,1, - 0,192,48,96,96,96,96,48,224,48,192,249,240,25,128,15, - 128,15,0,255,240,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,1,22,22,8,4,251,128,128,128,128,128,128,128, - 128,128,0,0,0,0,128,128,128,128,128,128,128,128,128,8, - 21,21,10,1,252,62,126,192,192,192,112,120,62,119,227,195, - 199,238,124,30,7,3,3,3,142,252,7,2,2,7,0,15, - 198,198,17,17,51,19,1,0,3,224,0,15,120,0,56,14, - 0,35,242,0,71,57,0,78,25,0,140,0,128,140,0,128, - 140,0,128,140,0,128,140,24,128,70,57,0,67,241,0,32, - 2,0,48,6,0,12,24,0,3,224,0,9,11,22,9,0, - 6,62,0,127,0,97,0,1,0,63,0,113,0,65,0,67, - 0,61,0,0,0,255,128,9,9,18,13,2,1,49,128,51, - 0,99,0,230,0,204,0,230,0,99,0,51,0,17,128,12, - 5,10,14,1,5,255,240,0,16,0,16,0,16,0,16,255, - 17,17,51,19,1,0,3,224,0,15,120,0,56,14,0,39, - 242,0,70,57,0,70,25,0,134,24,128,135,224,128,134,48, - 128,134,16,128,134,24,128,70,25,0,70,25,0,32,2,0, - 56,14,0,15,120,0,3,224,0,7,1,1,7,0,15,254, - 5,6,6,7,1,11,112,216,136,136,216,112,14,14,28,24, - 5,0,2,0,2,0,2,0,2,0,255,252,2,0,2,0, - 2,0,2,0,2,0,0,0,0,0,0,0,255,252,7,9, - 9,9,1,8,60,126,198,6,12,24,48,224,254,7,9,9, - 9,1,8,60,126,198,14,24,14,6,206,124,3,4,4,5, - 2,14,96,96,192,128,255,10,21,42,13,1,252,31,192,60, - 128,124,128,252,128,252,128,252,128,124,128,124,128,60,128,4, - 128,4,128,4,128,4,128,4,128,4,128,4,128,4,128,4, - 128,4,128,4,128,4,128,2,3,3,6,2,7,192,192,192, - 6,5,5,6,1,250,64,120,12,12,252,3,9,9,7,2, - 8,96,224,32,32,32,32,32,32,32,8,11,11,10,1,6, - 60,126,195,193,193,193,195,98,124,0,255,9,9,18,13,2, - 1,204,0,102,0,99,0,51,0,57,128,51,0,99,0,102, - 0,204,0,15,17,34,18,2,0,96,48,224,32,32,96,32, - 64,32,192,32,128,33,0,35,0,34,24,6,24,4,40,12, - 72,8,200,16,254,48,8,32,8,96,8,16,17,34,19,2, - 0,96,16,224,48,32,32,32,96,32,192,32,128,33,128,33, - 0,35,62,6,119,4,99,12,3,8,6,24,28,16,48,32, - 96,96,127,17,17,51,19,1,0,124,4,0,254,12,0,6, - 8,0,24,16,0,30,48,0,6,32,0,198,96,0,206,64, - 0,124,198,0,1,134,0,1,10,0,3,26,0,2,50,0, - 6,63,128,4,2,0,8,2,0,24,2,0,10,17,34,12, - 1,251,6,0,6,0,0,0,0,0,6,0,6,0,6,0, - 14,0,28,0,112,0,96,0,192,0,192,0,192,192,241,192, - 127,128,31,0,16,23,46,17,1,0,14,0,6,0,3,0, - 1,0,0,0,0,0,3,128,3,128,7,192,6,192,14,224, - 12,96,12,112,24,48,24,48,56,56,63,248,63,252,96,12, - 96,12,224,6,192,6,192,7,16,23,46,17,1,0,0,96, - 0,192,0,128,1,0,0,0,0,0,3,128,3,128,7,192, - 6,192,14,224,12,96,12,112,24,48,24,48,56,56,63,248, - 63,252,96,12,96,12,224,6,192,6,192,7,16,23,46,17, - 1,0,3,128,3,192,6,192,4,96,0,0,0,0,3,128, - 3,128,7,192,6,192,14,224,12,96,12,112,24,48,24,48, - 56,56,63,248,63,252,96,12,96,12,224,6,192,6,192,7, - 16,22,44,17,1,0,7,96,13,192,0,0,0,0,0,0, - 3,128,3,128,7,192,6,192,14,224,12,96,12,112,24,48, - 24,48,56,56,63,248,63,252,96,12,96,12,224,6,192,6, - 192,7,16,22,44,18,1,0,6,48,6,48,0,0,0,0, - 0,0,1,192,3,192,3,224,7,96,6,96,6,112,12,48, - 12,56,28,24,24,28,63,252,63,252,48,6,96,6,96,7, - 224,3,192,3,16,24,48,17,1,0,3,128,6,192,4,64, - 4,64,3,128,0,0,0,0,3,128,3,128,7,192,6,192, - 6,224,12,96,12,112,28,48,24,48,24,24,63,248,63,252, - 96,12,96,12,224,6,192,6,192,7,21,17,51,23,1,0, - 0,255,248,0,240,0,1,240,0,1,176,0,3,176,0,3, - 48,0,7,48,0,6,48,0,14,63,248,12,48,0,28,48, - 0,31,240,0,56,48,0,48,48,0,112,48,0,96,48,0, - 192,63,248,13,22,44,15,1,251,15,192,63,240,48,56,96, - 24,96,24,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,96,0,96,24,112,48,63,240,15,192,2,0,3,192,0, - 224,0,96,7,224,11,23,46,14,2,0,48,0,24,0,12, - 0,4,0,0,0,0,0,255,224,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,255,224,11,23,46,14,2,0,3, - 0,6,0,6,0,12,0,0,0,0,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,11,23,46, - 14,2,0,30,0,30,0,51,0,33,0,0,0,0,0,255, - 224,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, - 192,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, - 224,11,22,44,14,2,0,51,0,51,0,0,0,0,0,0, - 0,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,192,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,224,4,23,23,6,0,0,192,96,48,16,0,0,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 4,23,23,6,2,0,48,96,64,192,0,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,6,23,23, - 6,0,0,56,120,76,196,0,0,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,7,22,22,7,0,0, - 198,198,0,0,0,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,15,17,34,17,0,0,63,192,49,240, - 48,56,48,12,48,12,48,6,48,6,48,6,255,6,48,6, - 48,6,48,6,48,12,48,28,48,56,49,240,63,192,13,22, - 44,17,2,0,14,192,31,128,0,0,0,0,0,0,224,24, - 240,24,248,24,248,24,220,24,220,24,206,24,198,24,199,24, - 195,24,195,152,193,216,193,216,192,248,192,248,192,120,192,56, - 15,24,48,17,1,0,14,0,6,0,3,0,1,0,1,128, - 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, - 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, - 48,24,30,240,7,192,15,24,48,17,1,0,0,224,0,192, - 1,128,1,0,3,0,0,0,0,0,7,192,30,240,48,24, - 96,12,96,12,192,6,192,6,192,6,192,6,192,6,192,6, - 224,14,96,12,96,12,48,24,30,240,7,192,15,24,48,17, - 1,0,3,128,3,128,6,192,4,64,12,32,0,0,0,0, - 7,192,30,240,48,24,96,12,96,12,192,6,192,6,192,6, - 192,6,192,6,192,6,224,14,96,12,96,12,48,24,30,240, - 7,192,15,22,44,17,1,0,7,96,13,192,0,0,0,0, - 0,0,7,192,30,240,48,24,96,12,96,12,192,6,192,6, - 192,6,192,6,192,6,192,6,224,14,96,12,112,28,56,56, - 31,240,7,192,15,22,44,17,1,0,6,96,6,96,0,0, - 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, - 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, - 48,24,30,240,7,192,13,12,24,23,5,1,192,24,96,48, - 48,96,24,192,13,128,7,0,7,0,13,128,24,192,48,96, - 96,48,192,24,15,21,42,17,1,254,0,4,0,14,7,236, - 30,248,48,60,96,60,96,110,192,230,192,198,193,198,195,134, - 195,6,199,6,238,14,108,12,124,12,120,24,62,240,111,192, - 224,0,64,0,13,24,48,17,2,0,28,0,12,0,6,0, - 2,0,1,0,0,0,0,0,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 224,24,96,56,112,112,63,224,31,192,13,24,48,17,2,0, - 1,192,1,128,3,0,2,0,6,0,0,0,0,0,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,224,24,96,56,112,112,63,224,31,192, - 13,24,48,17,2,0,7,0,7,0,13,128,8,128,24,64, - 0,0,0,0,192,24,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,224,24,96,56, - 112,112,63,224,31,192,13,22,44,17,2,0,12,192,12,192, - 0,0,0,0,0,0,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 96,56,96,48,61,224,31,192,14,23,46,15,0,0,0,192, - 1,128,1,128,3,0,0,0,0,0,224,28,112,24,112,56, - 56,48,24,112,28,96,12,192,14,192,7,128,3,128,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,11,17,34,14, - 2,0,192,0,192,0,192,0,192,0,255,128,193,192,192,224, - 192,96,192,96,192,96,193,192,255,128,192,0,192,0,192,0, - 192,0,192,0,12,17,34,13,1,0,31,0,127,128,224,192, - 192,192,193,192,195,128,199,0,198,0,198,0,195,128,193,224, - 192,112,192,48,192,48,204,48,207,96,195,192,10,18,36,13, - 1,0,24,0,12,0,4,0,6,0,0,0,0,0,31,0, - 123,128,96,192,96,192,0,192,63,192,120,192,224,192,192,192, - 193,192,119,192,60,192,10,19,38,13,1,0,3,0,6,0, - 6,0,12,0,8,0,0,0,0,0,31,0,123,128,96,192, - 96,192,0,192,63,192,120,192,224,192,192,192,193,192,119,192, - 60,192,10,19,38,13,1,0,14,0,14,0,27,0,51,0, - 33,128,0,0,0,0,31,0,123,128,96,192,96,192,0,192, - 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,17, - 34,13,1,0,29,128,63,0,0,0,0,0,0,0,31,0, - 123,128,96,192,0,192,7,192,63,192,112,192,192,192,193,192, - 193,192,119,192,60,192,10,17,34,13,1,0,49,128,49,128, - 0,0,0,0,0,0,31,0,123,128,96,192,96,192,0,192, - 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,20, - 40,13,1,0,14,0,27,0,17,0,17,0,27,0,14,0, - 0,0,0,0,31,0,123,128,96,192,96,192,0,192,63,192, - 120,192,224,192,192,192,193,192,119,192,62,192,18,12,36,20, - 1,0,30,31,0,127,191,128,97,225,128,0,224,192,0,192, - 192,63,255,192,120,192,0,224,192,0,192,224,192,193,225,128, - 127,63,128,62,31,0,10,17,34,12,1,251,31,0,127,128, - 97,192,192,192,192,0,192,0,192,0,192,0,192,192,97,192, - 127,128,31,0,8,0,15,0,3,128,1,128,31,0,10,19, - 38,13,1,0,48,0,24,0,8,0,12,0,6,0,0,0, - 0,0,31,0,127,128,96,192,192,192,192,192,255,192,192,0, - 192,0,192,192,96,192,63,128,31,0,10,19,38,13,1,0, - 3,0,7,0,6,0,12,0,8,0,0,0,0,0,31,0, - 127,128,96,192,192,192,192,192,255,192,192,0,192,0,192,192, - 96,192,63,128,31,0,10,19,38,13,1,0,12,0,30,0, - 26,0,51,0,33,0,0,0,0,0,31,0,127,128,96,192, - 192,192,192,192,255,192,192,0,192,0,192,192,96,192,63,128, - 31,0,11,17,34,13,1,0,49,128,49,128,0,0,0,0, - 0,0,31,0,59,192,96,192,224,96,192,96,255,224,192,0, - 192,0,192,96,96,192,59,192,31,0,4,18,18,6,0,0, - 192,96,48,16,0,0,48,48,48,48,48,48,48,48,48,48, - 48,48,4,18,18,6,2,0,48,96,192,128,0,0,192,192, - 192,192,192,192,192,192,192,192,192,192,6,18,18,6,0,0, - 120,120,204,132,0,0,48,48,48,48,48,48,48,48,48,48, - 48,48,6,17,17,5,255,0,204,204,0,0,0,48,48,48, - 48,48,48,48,48,48,48,48,48,11,17,34,13,1,0,97, - 128,63,0,30,0,119,0,3,128,31,192,127,192,96,224,224, - 96,192,96,192,96,192,96,192,96,224,96,96,192,63,192,31, - 0,10,17,34,14,2,0,25,0,63,0,0,0,0,0,0, - 0,223,0,255,128,225,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,11,19,38,13,1,0,56, - 0,24,0,12,0,4,0,2,0,0,0,0,0,31,0,63, - 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, - 192,63,192,31,0,11,19,38,13,1,0,3,128,3,0,6, - 0,4,0,12,0,0,0,0,0,31,0,63,192,96,192,224, - 224,192,96,192,96,192,96,192,96,224,224,96,192,63,192,31, - 0,11,19,38,13,1,0,14,0,14,0,27,0,17,0,49, - 128,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, - 96,192,96,192,96,224,224,96,192,63,192,31,0,11,17,34, - 13,1,0,29,128,63,0,0,0,0,0,0,0,31,0,63, - 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, - 192,63,192,31,0,11,17,34,13,1,0,49,128,49,128,0, - 0,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, - 96,192,96,192,96,224,224,96,192,63,192,31,0,14,10,20, - 24,5,2,3,0,3,0,3,0,0,0,0,0,255,252,0, - 0,3,0,3,0,3,0,11,15,30,13,1,254,0,32,0, - 96,31,192,63,192,97,192,227,224,194,96,198,96,204,96,216, - 96,248,224,112,192,123,192,95,0,192,0,10,19,38,14,2, - 0,48,0,24,0,24,0,12,0,4,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,225,192,119,192,60,192,10,19,38,14,2,0,3,0,6, - 0,6,0,12,0,8,0,0,0,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,119, - 192,60,192,10,19,38,14,2,0,12,0,30,0,30,0,51, - 0,33,0,0,0,0,0,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,225,192,119,192,60,192,10, - 17,34,14,2,0,51,0,51,0,0,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,11,23,46,12,1,251,3,0,3, - 0,6,0,12,0,0,0,0,0,192,96,192,192,224,192,97, - 192,113,128,49,128,51,128,59,0,27,0,30,0,14,0,14, - 0,12,0,12,0,220,0,248,0,112,0,11,22,44,14,2, - 251,192,0,192,0,192,0,192,0,192,0,207,0,251,192,224, - 192,224,224,192,96,192,96,192,96,192,96,224,224,224,192,251, - 192,207,0,192,0,192,0,192,0,192,0,192,0,11,22,44, - 13,1,251,49,128,49,128,0,0,0,0,0,0,192,96,224, - 96,96,224,96,192,113,192,49,128,57,128,27,128,27,0,31, - 0,14,0,14,0,14,0,12,0,12,0,28,0,24,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 17 - Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =17 descent= 0 - X Font ascent =17 descent= 0 - Max Font ascent =17 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17n[528] U8G_FONT_SECTION("u8g_font_fur17n") = { - 0,31,30,254,250,17,0,0,0,0,42,58,0,17,253,17, - 0,9,9,18,15,3,8,34,0,54,0,22,0,28,0,255, - 128,156,128,20,0,54,0,34,0,14,14,28,24,5,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,252,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,4,6,6,6,1, - 253,112,112,96,96,192,192,6,1,1,8,1,5,252,2,3, - 3,6,2,0,192,192,192,7,18,18,9,1,255,6,6,4, - 12,12,8,8,24,24,16,48,48,32,32,96,96,64,192,10, - 17,34,13,1,0,30,0,63,128,97,128,96,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,97, - 192,97,128,63,128,30,0,5,17,17,13,3,0,56,120,248, - 216,24,24,24,24,24,24,24,24,24,24,24,24,24,10,17, - 34,13,1,0,30,0,127,128,97,128,224,192,224,192,0,192, - 1,192,3,128,3,128,7,0,14,0,28,0,56,0,112,0, - 96,0,224,0,255,192,10,17,34,13,1,0,31,0,127,128, - 96,192,224,192,0,192,0,192,3,128,14,0,7,128,1,192, - 0,192,0,192,192,192,224,192,97,192,127,128,30,0,11,17, - 34,13,1,0,3,128,3,128,7,128,13,128,13,128,25,128, - 57,128,49,128,97,128,97,128,193,128,255,224,255,224,1,128, - 1,128,1,128,1,128,10,17,34,13,1,0,127,128,96,0, - 96,0,96,0,96,0,111,0,127,128,97,128,64,192,0,192, - 0,192,0,192,0,192,192,192,225,128,127,0,30,0,11,17, - 34,13,1,0,31,0,59,128,96,192,224,192,192,0,192,0, - 207,0,223,192,241,192,224,224,192,96,192,96,192,96,192,96, - 96,192,59,192,31,0,10,17,34,13,1,0,255,192,0,192, - 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, - 6,0,14,0,12,0,12,0,28,0,24,0,56,0,11,17, - 34,13,1,0,31,0,59,128,96,192,96,192,96,192,96,192, - 49,128,31,0,59,128,96,192,192,96,192,96,192,96,192,96, - 96,224,123,192,31,0,11,17,34,13,1,0,31,0,127,192, - 96,192,192,224,192,96,192,96,192,224,224,224,113,224,63,96, - 0,96,0,96,0,224,96,192,97,192,127,128,31,0,2,12, - 12,6,2,0,192,192,192,0,0,0,0,0,0,192,192,192 - }; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=22 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17r[3146] U8G_FONT_SECTION("u8g_font_fur17r") = { - 0,31,30,254,250,17,4,5,8,170,32,127,251,19,250,17, - 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, - 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, - 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, - 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, - 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, - 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, - 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, - 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, - 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, - 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, - 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, - 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, - 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, - 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, - 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, - 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, - 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, - 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, - 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, - 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, - 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, - 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, - 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, - 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, - 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, - 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, - 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, - 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, - 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, - 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, - 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, - 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, - 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, - 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, - 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, - 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, - 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, - 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, - 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, - 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, - 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, - 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, - 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, - 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, - 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, - 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, - 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, - 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, - 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, - 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, - 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, - 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, - 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, - 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, - 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, - 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, - 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, - 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, - 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, - 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, - 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, - 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, - 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, - 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, - 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, - 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, - 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, - 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, - 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, - 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, - 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, - 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, - 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, - 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, - 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, - 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, - 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, - 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, - 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, - 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, - 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, - 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, - 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, - 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, - 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, - 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, - 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, - 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, - 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, - 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, - 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, - 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, - 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, - 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, - 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, - 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, - 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, - 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, - 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, - 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, - 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, - 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, - 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, - 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, - 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, - 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, - 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, - 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, - 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, - 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, - 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, - 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, - 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, - 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, - 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, - 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, - 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, - 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, - 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, - 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, - 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, - 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, - 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, - 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, - 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, - 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, - 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, - 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, - 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, - 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, - 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, - 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, - 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, - 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, - 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, - 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, - 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, - 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, - 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, - 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, - 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, - 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, - 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, - 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, - 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, - 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, - 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, - 2,4,12,0,5,62,112,231,224,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=26 h=29 x= 7 y=17 dx=29 dy= 0 ascent=28 len=96 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =28 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20[8654] U8G_FONT_SECTION("u8g_font_fur20") = { - 0,38,35,254,249,20,5,12,11,23,32,255,251,28,249,20, - 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, - 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, - 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, - 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, - 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, - 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, - 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, - 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, - 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, - 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, - 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, - 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, - 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, - 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, - 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, - 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, - 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, - 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, - 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, - 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, - 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, - 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, - 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, - 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, - 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, - 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, - 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, - 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, - 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, - 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, - 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, - 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, - 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, - 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, - 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, - 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, - 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, - 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, - 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, - 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, - 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, - 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, - 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, - 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, - 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, - 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, - 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, - 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, - 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, - 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, - 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, - 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, - 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, - 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, - 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, - 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, - 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, - 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, - 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, - 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, - 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, - 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, - 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, - 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, - 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, - 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, - 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, - 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, - 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, - 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, - 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, - 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, - 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, - 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, - 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, - 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, - 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, - 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, - 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, - 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, - 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, - 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, - 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, - 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, - 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, - 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, - 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, - 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, - 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, - 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, - 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, - 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, - 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, - 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, - 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, - 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, - 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, - 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, - 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, - 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, - 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, - 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, - 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, - 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, - 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, - 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, - 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, - 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, - 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, - 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, - 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, - 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, - 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, - 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, - 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, - 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, - 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, - 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, - 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, - 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, - 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, - 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, - 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, - 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, - 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, - 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, - 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, - 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, - 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, - 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, - 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, - 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, - 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, - 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, - 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, - 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, - 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, - 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, - 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, - 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, - 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, - 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, - 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, - 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, - 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, - 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, - 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, - 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, - 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, - 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, - 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, - 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, - 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, - 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, - 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, - 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, - 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, - 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, - 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, - 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, - 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, - 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, - 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, - 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, - 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, - 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, - 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, - 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, - 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, - 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, - 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, - 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, - 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, - 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, - 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, - 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, - 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, - 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, - 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, - 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, - 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, - 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, - 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, - 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, - 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, - 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, - 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, - 5,62,14,127,252,224,248,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,8,0,0,3,19, - 19,10,4,251,224,224,224,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,12,20,40,16,2,253,0,192,0, - 128,0,128,31,128,63,192,113,96,227,96,226,0,226,0,230, - 0,228,0,228,0,236,112,232,96,120,224,63,192,31,128,16, - 0,48,0,48,0,14,20,40,16,1,0,7,224,31,248,60, - 60,56,28,56,0,56,0,56,0,255,128,255,128,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,255, - 248,255,248,16,14,28,18,1,4,192,3,97,134,55,236,28, - 56,24,24,48,12,48,12,48,12,48,12,24,24,28,56,63, - 252,115,198,192,3,15,20,40,17,1,0,224,14,224,28,112, - 28,48,56,56,56,24,112,252,126,252,254,14,224,7,192,255, - 254,255,254,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,1,25,25,9,4,251,128,128,128,128,128,128,128, - 128,128,128,128,0,0,0,128,128,128,128,128,128,128,128,128, - 128,128,10,25,50,12,1,251,31,0,63,128,112,0,224,0, - 224,0,112,0,120,0,62,0,31,0,127,128,113,192,225,192, - 225,192,225,128,247,128,126,0,31,0,7,128,3,192,1,192, - 1,192,1,192,131,128,255,0,60,0,8,3,3,8,0,17, - 231,231,231,21,20,60,25,2,0,1,252,0,7,255,0,28, - 3,128,56,112,192,35,254,96,103,142,48,199,7,16,134,7, - 24,142,0,8,142,0,8,142,0,8,134,0,8,134,7,24, - 199,7,16,67,254,16,32,248,32,48,0,64,28,1,128,7, - 143,0,1,252,0,10,13,26,12,1,7,63,0,127,128,97, - 128,1,128,31,128,127,128,225,128,193,128,227,128,127,128,24, - 0,0,0,255,192,11,11,22,16,2,2,12,96,24,224,56, - 192,113,128,99,128,227,0,99,128,113,128,56,192,24,224,12, - 96,15,6,12,18,2,6,255,254,255,254,0,6,0,6,0, - 6,0,6,255,21,20,60,25,2,0,1,252,0,7,255,0, - 28,3,128,59,252,192,35,254,96,99,3,48,195,3,16,131, - 3,24,131,254,8,131,252,8,131,6,8,131,6,8,131,3, - 24,195,3,16,67,3,48,35,3,96,56,0,192,28,3,128, - 7,255,0,1,252,0,8,2,2,8,0,17,255,255,6,6, - 6,8,1,14,120,204,132,132,204,120,17,17,51,29,6,0, - 1,128,0,1,128,0,1,128,0,1,128,0,1,128,0,255, - 255,128,255,255,128,1,128,0,1,128,0,1,128,0,1,128, - 0,1,128,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,9,11,22,11,1,9,62,0,127,0,227,128,3, - 128,3,0,7,0,28,0,56,0,112,0,255,128,255,128,8, - 11,11,10,1,9,62,127,195,3,30,30,7,3,195,126,60, - 5,5,5,6,2,16,56,48,96,224,192,255,13,24,48,16, - 1,252,15,248,62,32,126,32,126,32,254,32,254,32,254,32, - 126,32,62,32,30,32,2,32,2,32,2,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 2,32,3,3,3,7,2,8,224,224,224,7,7,7,7,1, - 249,32,32,60,14,6,254,248,4,10,10,8,2,10,112,240, - 176,48,48,48,48,48,48,48,10,12,24,12,1,8,30,0, - 99,128,193,128,192,192,192,192,192,192,192,192,193,128,99,128, - 30,0,0,0,255,192,12,11,22,16,2,2,227,0,99,128, - 49,128,56,192,24,224,28,112,24,224,56,192,49,128,99,128, - 227,0,18,20,60,22,2,0,112,12,0,240,12,0,176,24, - 0,48,24,0,48,48,0,48,96,0,48,96,0,48,192,0, - 48,192,0,49,131,0,49,7,0,3,15,0,6,31,0,6, - 27,0,12,51,0,12,99,0,24,127,192,16,3,0,48,3, - 0,96,3,0,18,20,60,22,2,0,112,12,0,240,24,0, - 176,24,0,48,48,0,48,48,0,48,96,0,48,64,0,48, - 192,0,48,128,0,49,143,0,51,31,128,3,49,192,6,1, - 192,6,1,192,12,3,128,8,7,0,24,14,0,16,24,0, - 48,63,192,96,63,192,20,20,60,22,1,0,62,1,128,127, - 3,0,195,3,0,3,6,0,28,6,0,30,12,0,3,24, - 0,195,24,0,199,48,0,126,48,192,56,97,192,0,99,192, - 0,198,192,1,134,192,1,140,192,3,24,192,3,31,240,6, - 0,192,12,0,192,12,0,192,12,19,38,15,2,251,7,0, - 7,0,7,0,0,0,0,0,7,0,7,0,7,0,15,0, - 30,0,56,0,112,0,224,0,224,0,224,0,224,112,127,224, - 63,224,31,128,19,27,81,21,1,0,7,0,0,3,128,0, - 1,128,0,0,192,0,0,96,0,0,0,0,0,0,0,0, - 224,0,1,240,0,1,240,0,3,176,0,3,184,0,3,56, - 0,7,28,0,7,28,0,14,14,0,14,14,0,30,15,0, - 28,7,0,28,7,0,63,255,128,63,255,128,112,1,192,112, - 1,192,224,0,224,224,0,224,224,0,224,19,27,81,21,1, - 0,0,28,0,0,56,0,0,48,0,0,96,0,0,192,0, - 0,0,0,0,0,0,0,224,0,1,240,0,1,240,0,3, - 176,0,3,184,0,3,56,0,7,28,0,7,28,0,14,14, - 0,14,14,0,30,15,0,28,7,0,28,7,0,63,255,128, - 63,255,128,112,1,192,112,1,192,224,0,224,224,0,224,224, - 0,224,19,27,81,21,1,0,0,224,0,1,240,0,1,176, - 0,3,24,0,6,12,0,0,0,0,0,0,0,0,224,0, - 1,240,0,1,240,0,3,176,0,3,184,0,3,56,0,7, - 28,0,7,28,0,14,14,0,14,14,0,30,15,0,28,7, - 0,28,7,0,63,255,128,63,255,128,112,1,192,112,1,192, - 224,0,224,224,0,224,224,0,224,19,26,78,21,1,0,1, - 140,0,3,248,0,6,112,0,0,0,0,0,0,0,0,0, - 0,0,224,0,1,240,0,1,240,0,3,176,0,3,184,0, - 3,56,0,7,28,0,7,28,0,14,14,0,14,14,0,30, - 15,0,28,7,0,28,7,0,63,255,128,63,255,128,112,1, - 192,112,1,192,224,0,224,224,0,224,224,0,224,19,26,78, - 21,1,0,3,156,0,3,156,0,3,156,0,0,0,0,0, - 0,0,0,0,0,0,224,0,0,240,0,1,240,0,1,184, - 0,3,184,0,3,152,0,7,28,0,7,28,0,7,14,0, - 14,14,0,14,15,0,28,7,0,28,7,0,63,255,128,63, - 255,128,56,1,192,112,1,192,112,0,224,224,0,224,224,0, - 224,20,28,84,21,0,0,0,240,0,1,152,0,1,8,0, - 1,8,0,1,152,0,0,240,0,0,0,0,0,0,0,0, - 240,0,0,240,0,0,248,0,1,248,0,1,220,0,3,156, - 0,3,158,0,7,14,0,7,14,0,7,7,0,14,7,0, - 14,7,128,30,3,128,31,255,192,31,255,192,56,1,192,56, - 0,224,112,0,224,112,0,112,224,0,112,25,20,80,28,1, - 0,0,63,255,128,0,127,255,128,0,126,0,0,0,238,0, - 0,0,238,0,0,1,206,0,0,1,206,0,0,3,206,0, - 0,3,142,0,0,7,143,255,128,7,15,255,128,15,14,0, - 0,14,14,0,0,31,254,0,0,63,254,0,0,56,14,0, - 0,120,14,0,0,112,14,0,0,224,15,255,128,224,15,255, - 128,16,27,54,19,2,249,7,240,31,252,60,14,48,6,112, - 7,96,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,96,0,96,7,48,6,56,14,31,252,7,240,0, - 128,0,224,0,248,0,24,0,24,3,248,1,224,13,27,54, - 17,2,0,24,0,28,0,14,0,6,0,3,0,0,0,0, - 0,255,248,255,248,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,255,240,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,255,248,255,248,13,27,54,17,2,0,1, - 192,1,128,3,0,6,0,4,0,0,0,0,0,255,248,255, - 248,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,248,255,248,13,27,54,17,2,0,15,0,15,0,25, - 128,16,192,48,192,0,0,0,0,255,248,255,248,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,240,255,240,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,248,255, - 248,13,26,52,17,2,0,56,224,56,224,56,224,0,0,0, - 0,0,0,255,248,255,248,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,248,255,248,5,27,27,7,0, - 0,224,96,48,48,24,0,0,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,5,27,27,7, - 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,8,27,27, - 7,255,0,28,62,118,99,193,0,0,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,8,26, - 26,8,0,0,227,227,227,0,0,0,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,19,20, - 60,20,0,0,63,240,0,63,254,0,56,31,0,56,7,128, - 56,3,128,56,1,192,56,1,192,56,0,192,56,0,224,255, - 192,224,255,192,224,56,0,224,56,0,192,56,1,192,56,1, - 192,56,3,128,56,7,128,56,31,0,63,254,0,63,240,0, - 16,26,52,20,2,0,6,48,15,224,9,224,0,0,0,0, - 0,0,240,7,248,7,248,7,252,7,252,7,238,7,238,7, - 231,7,231,135,227,135,227,199,225,199,224,231,224,231,224,119, - 224,119,224,63,224,63,224,31,224,31,18,28,84,22,2,0, - 7,0,0,3,128,0,1,128,0,0,192,0,0,64,0,0, - 0,0,0,0,0,0,0,0,3,240,0,15,252,0,62,31, - 0,56,7,0,112,3,128,96,1,128,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,96, - 1,192,112,3,128,112,3,128,56,7,0,30,30,0,15,252, - 0,3,240,0,18,28,84,22,2,0,0,56,0,0,112,0, - 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, - 0,0,3,240,0,15,252,0,62,31,0,56,7,0,112,3, - 128,96,1,128,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,96,1,192,112,3,128,112, - 3,128,56,7,0,30,30,0,15,252,0,3,240,0,18,28, - 84,22,2,0,1,224,0,1,224,0,3,240,0,3,48,0, - 6,24,0,0,0,0,0,0,0,0,0,0,3,240,0,15, - 252,0,62,31,0,56,7,0,112,3,128,96,1,128,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,96,1,192,112,3,128,112,3,128,56,7,0,30, - 30,0,15,252,0,3,240,0,18,26,78,22,2,0,3,152, - 0,7,248,0,6,112,0,0,0,0,0,0,0,0,0,0, - 3,240,0,15,252,0,62,31,0,56,7,0,112,3,128,96, - 1,128,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,96,1,192,112,3,128,112,3,128, - 56,7,0,31,62,0,15,252,0,3,240,0,18,26,78,22, - 2,0,7,28,0,7,28,0,7,28,0,0,0,0,0,0, - 0,0,0,0,3,240,0,15,252,0,62,31,0,56,7,0, - 112,3,128,96,1,128,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,96,1,192,112,3, - 128,112,3,128,56,7,0,30,30,0,15,252,0,3,240,0, - 16,15,30,28,6,1,64,2,224,7,112,14,56,28,12,56, - 6,96,3,192,1,128,3,192,6,96,12,48,24,24,48,12, - 96,6,64,2,18,24,72,22,2,254,0,0,128,0,1,192, - 3,251,128,15,255,0,62,31,0,56,15,128,112,31,128,96, - 29,128,224,57,192,224,113,192,224,113,192,224,225,192,225,193, - 192,227,193,192,227,129,192,231,1,128,111,3,128,126,3,128, - 60,7,0,62,30,0,63,252,0,115,240,0,224,0,0,96, - 0,0,16,28,56,20,2,0,14,0,7,0,3,0,1,128, - 0,128,0,0,0,0,0,0,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,96,14,112,14,62,124,31,248,15,224, - 16,28,56,20,2,0,0,112,0,224,0,192,1,128,1,0, - 0,0,0,0,0,0,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,96,14,112,14,62,124,31,248,15,224,16,28, - 56,20,2,0,3,192,3,192,7,224,6,96,12,48,0,0, - 0,0,0,0,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,96,14,112,14,62,124,31,248,15,224,16,26,52,20, - 2,0,14,56,14,56,14,56,0,0,0,0,0,0,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,96,6,112,14, - 60,60,31,248,15,224,17,27,81,19,1,0,0,112,0,0, - 96,0,0,192,0,0,128,0,1,128,0,0,0,0,0,0, - 0,224,3,128,240,7,0,112,7,0,56,14,0,60,28,0, - 28,28,0,14,56,0,14,48,0,7,112,0,7,96,0,3, - 224,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,14,20,40, - 17,2,0,224,0,224,0,224,0,224,0,255,192,255,240,224, - 120,224,56,224,28,224,28,224,28,224,56,224,120,255,240,255, - 192,224,0,224,0,224,0,224,0,224,0,14,20,40,15,1, - 0,15,128,63,224,112,112,224,112,224,112,224,112,225,224,227, - 128,231,0,231,0,227,128,227,224,224,248,224,56,224,28,224, - 28,238,28,230,28,231,248,225,240,12,21,42,15,1,0,12, - 0,14,0,6,0,3,0,1,128,0,0,0,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,12,22,44,15,1,0,1, - 192,1,128,3,0,3,0,6,0,12,0,0,0,0,0,31, - 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, - 112,224,112,224,112,224,240,127,176,30,48,12,22,44,15,1, - 0,7,0,15,0,13,128,29,128,24,192,48,64,0,0,0, - 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, - 112,224,112,224,112,224,112,224,240,127,176,30,48,12,20,40, - 15,1,0,30,64,31,192,49,128,0,0,0,0,0,0,31, - 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, - 112,224,112,224,112,224,240,127,176,30,48,12,20,40,15,1, - 0,56,224,56,224,56,224,0,0,0,0,0,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,12,23,46,15,1,0,15, - 0,25,128,16,128,16,128,25,128,15,0,0,0,0,0,0, - 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, - 112,224,112,224,112,224,112,224,240,127,176,30,48,23,14,42, - 25,1,0,31,131,240,63,207,248,112,108,28,112,56,12,0, - 56,14,15,255,254,63,255,254,120,56,0,224,56,0,224,56, - 14,224,120,12,240,236,28,127,199,248,31,3,240,12,21,42, - 14,1,249,31,128,63,224,112,112,224,112,224,112,224,0,224, - 0,224,0,224,0,224,112,224,112,112,224,63,224,31,128,4, - 0,7,128,7,192,0,96,0,96,31,192,15,0,13,22,44, - 15,1,0,56,0,28,0,12,0,6,0,6,0,3,0,0, - 0,0,0,15,128,63,224,112,112,96,48,224,56,255,248,255, - 248,224,0,224,0,224,56,96,112,112,112,63,224,15,128,13, - 22,44,15,1,0,1,192,1,128,3,128,3,0,6,0,4, - 0,0,0,0,0,15,128,63,224,112,112,96,48,224,56,255, - 248,255,248,224,0,224,0,224,56,96,112,112,112,63,224,15, - 128,13,22,44,15,1,0,7,0,15,0,15,128,25,128,24, - 192,48,64,0,0,0,0,15,128,63,224,112,112,96,48,224, - 56,255,248,255,248,224,0,224,0,224,56,96,112,112,112,63, - 224,15,128,13,20,40,15,1,0,56,224,56,224,56,224,0, - 0,0,0,0,0,15,192,63,224,112,112,96,56,224,56,255, - 248,255,248,224,0,224,0,224,56,96,56,112,112,63,224,15, - 128,5,21,21,7,0,0,224,96,48,48,24,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,5,21,21,7, - 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,8,21,21,7,255,0,60,62,118, - 99,193,0,0,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,8,20,20,7,255,0,227,227,227,0,0,0,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,14,20,40,16, - 1,0,48,32,57,224,15,0,31,128,113,192,0,224,15,240, - 63,240,120,120,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,96,56,112,112,63,224,15,192,12,20,40,16,2,0, - 28,192,63,192,51,128,0,0,0,0,0,0,239,128,255,224, - 240,240,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,14,22,44,16,1,0,28,0, - 12,0,14,0,6,0,3,0,1,0,0,0,0,0,15,192, - 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,112,56,112,112,63,224,15,192,14,22,44,16,1,0, - 0,224,1,192,1,128,3,0,3,0,6,0,0,0,0,0, - 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, - 224,28,224,24,112,56,112,112,63,224,15,192,14,22,44,16, - 1,0,7,0,7,128,15,128,12,192,24,192,24,96,0,0, - 0,0,15,192,63,224,112,112,112,56,224,24,224,28,224,28, - 224,28,224,28,224,24,112,56,112,112,63,224,15,192,14,20, - 40,16,1,0,14,96,31,192,17,128,0,0,0,0,0,0, - 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, - 224,28,224,24,112,56,112,112,63,224,15,192,14,20,40,16, - 1,0,28,224,28,224,28,224,0,0,0,0,0,0,15,192, - 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,112,56,112,112,63,224,15,192,17,12,36,29,6,2, - 1,192,0,1,192,0,1,192,0,0,0,0,0,0,0,255, - 255,128,255,255,128,0,0,0,0,0,0,1,192,0,1,192, - 0,1,192,0,14,18,36,16,1,254,0,8,0,24,15,248, - 63,240,112,112,112,248,225,216,225,152,227,28,230,28,238,28, - 236,24,120,56,112,112,127,224,111,192,192,0,128,0,12,22, - 44,16,2,0,56,0,24,0,12,0,12,0,6,0,3,0, - 0,0,0,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,240,240,127,240,63,112, - 12,22,44,16,2,0,1,192,1,128,3,0,7,0,6,0, - 12,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, - 63,112,12,22,44,16,2,0,6,0,15,0,15,0,25,128, - 16,128,48,192,0,0,0,0,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,240,240, - 127,240,63,112,12,20,40,16,2,0,57,192,57,192,57,192, - 0,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, - 63,112,13,27,54,15,1,251,0,224,1,192,1,128,3,0, - 2,0,0,0,0,0,0,0,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,7,128, - 7,128,7,0,7,0,6,0,238,0,252,0,120,0,14,25, - 50,17,2,251,224,0,224,0,224,0,224,0,224,0,224,0, - 231,192,255,240,240,112,240,56,224,24,224,28,224,28,224,28, - 224,28,224,24,224,56,240,112,255,240,231,192,224,0,224,0, - 224,0,224,0,224,0,14,25,50,14,0,251,28,224,28,224, - 28,224,0,0,0,0,0,0,224,28,112,24,112,56,48,56, - 56,112,56,112,28,96,28,224,14,224,14,192,7,192,7,128, - 3,128,3,128,3,0,7,0,6,0,6,0,14,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=17 h=21 x= 6 y= 9 dx=29 dy= 0 ascent=20 len=48 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20n[616] U8G_FONT_SECTION("u8g_font_fur20n") = { - 0,38,35,254,249,20,0,0,0,0,42,58,0,20,253,20, - 0,11,11,22,19,4,9,17,0,49,128,27,0,27,0,14, - 0,255,224,142,32,27,0,27,0,49,128,17,0,17,16,48, - 29,6,0,1,128,0,1,128,0,1,128,0,1,128,0,1, - 128,0,1,128,0,1,128,0,255,255,128,255,255,128,1,128, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,5,7,7,8,1,253,56,56,112,112,96,96,224, - 7,2,2,9,1,6,254,254,3,3,3,8,3,0,224,224, - 224,8,21,21,11,2,255,3,6,6,6,4,12,12,12,24, - 24,24,48,48,48,96,96,96,64,192,192,192,13,20,40,16, - 1,0,15,128,63,192,112,224,96,112,96,112,224,48,224,48, - 224,56,224,56,224,56,224,56,224,56,224,56,224,48,224,48, - 96,112,112,112,48,224,63,192,15,128,7,20,20,16,4,0, - 30,62,126,254,206,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,12,20,40,16,2,0,31,128,63,192,112,96, - 112,112,224,112,0,112,0,112,0,112,0,224,1,224,3,192, - 3,128,7,0,14,0,28,0,60,0,120,0,240,0,255,240, - 255,240,13,20,40,16,1,0,15,128,63,224,112,112,112,48, - 224,56,0,56,0,48,0,224,7,192,7,192,0,224,0,112, - 0,56,0,56,224,56,224,56,224,56,112,112,63,224,31,128, - 14,20,40,16,1,0,0,240,1,240,1,240,3,240,7,112, - 6,112,14,112,28,112,24,112,56,112,112,112,96,112,224,112, - 255,252,255,252,0,112,0,112,0,112,0,112,0,112,13,20, - 40,16,1,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,239,128,255,224,240,112,224,112,224,48,0,56,0,56, - 0,56,224,48,224,112,112,224,127,192,31,128,13,20,40,16, - 1,0,15,192,63,224,120,112,112,48,224,56,224,0,224,0, - 231,192,255,224,248,240,224,56,224,56,224,56,224,56,224,56, - 224,56,96,48,48,112,63,224,15,128,12,20,40,16,2,0, - 255,240,255,240,0,112,0,112,0,96,0,224,0,224,1,192, - 1,192,1,128,3,128,3,128,3,0,7,0,7,0,14,0, - 14,0,14,0,28,0,28,0,13,20,40,16,1,0,15,128, - 63,224,112,112,224,48,224,56,224,56,96,48,112,112,31,192, - 31,192,56,96,96,48,224,56,224,56,224,56,224,56,224,56, - 112,112,63,224,15,128,13,20,40,16,1,0,31,192,63,224, - 112,112,224,56,224,56,224,56,224,56,224,56,224,56,112,120, - 63,248,31,56,0,56,0,56,0,56,96,48,96,112,112,224, - 63,192,31,128,3,14,14,8,3,0,224,224,224,0,0,0, - 0,0,0,0,0,224,224,224}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=26 h=29 x= 7 y=16 dx=29 dy= 0 ascent=22 len=96 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =22 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20r[3976] U8G_FONT_SECTION("u8g_font_fur20r") = { - 0,38,35,254,249,20,5,12,11,23,32,127,251,22,249,20, - 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, - 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, - 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, - 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, - 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, - 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, - 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, - 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, - 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, - 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, - 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, - 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, - 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, - 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, - 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, - 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, - 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, - 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, - 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, - 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, - 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, - 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, - 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, - 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, - 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, - 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, - 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, - 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, - 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, - 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, - 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, - 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, - 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, - 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, - 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, - 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, - 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, - 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, - 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, - 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, - 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, - 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, - 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, - 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, - 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, - 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, - 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, - 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, - 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, - 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, - 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, - 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, - 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, - 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, - 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, - 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, - 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, - 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, - 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, - 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, - 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, - 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, - 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, - 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, - 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, - 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, - 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, - 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, - 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, - 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, - 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, - 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, - 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, - 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, - 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, - 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, - 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, - 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, - 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, - 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, - 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, - 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, - 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, - 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, - 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, - 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, - 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, - 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, - 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, - 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, - 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, - 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, - 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, - 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, - 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, - 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, - 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, - 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, - 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, - 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, - 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, - 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, - 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, - 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, - 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, - 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, - 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, - 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, - 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, - 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, - 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, - 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, - 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, - 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, - 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, - 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, - 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, - 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, - 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, - 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, - 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, - 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, - 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, - 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, - 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, - 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, - 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, - 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, - 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, - 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, - 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, - 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, - 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, - 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, - 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, - 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, - 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, - 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, - 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, - 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, - 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, - 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, - 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, - 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, - 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, - 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, - 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, - 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, - 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, - 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, - 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, - 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, - 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, - 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, - 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, - 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, - 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, - 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, - 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, - 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, - 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, - 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, - 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, - 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, - 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, - 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, - 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, - 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, - 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, - 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, - 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, - 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, - 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, - 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, - 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, - 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, - 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, - 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, - 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, - 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, - 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, - 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, - 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, - 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, - 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, - 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, - 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, - 5,62,14,127,252,224,248,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=31 h=37 x= 8 y=22 dx=34 dy= 0 ascent=36 len=132 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =36 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25[11949] U8G_FONT_SECTION("u8g_font_fur25") = { - 0,46,45,254,247,25,6,119,15,27,32,255,249,36,247,25, - 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, - 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, - 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, - 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, - 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, - 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, - 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, - 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, - 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, - 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, - 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, - 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, - 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, - 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, - 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, - 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, - 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, - 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, - 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, - 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, - 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, - 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, - 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, - 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, - 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, - 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, - 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, - 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, - 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, - 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, - 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, - 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, - 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, - 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, - 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, - 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, - 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, - 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, - 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, - 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, - 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, - 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, - 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, - 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, - 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, - 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, - 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, - 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, - 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, - 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, - 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, - 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, - 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, - 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, - 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, - 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, - 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, - 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, - 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, - 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, - 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, - 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, - 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, - 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, - 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, - 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, - 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, - 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, - 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, - 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, - 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, - 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, - 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, - 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, - 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, - 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, - 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, - 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, - 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, - 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, - 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, - 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, - 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, - 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, - 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, - 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, - 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, - 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, - 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, - 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, - 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, - 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, - 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, - 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, - 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, - 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, - 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, - 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, - 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, - 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, - 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, - 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, - 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, - 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, - 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, - 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, - 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, - 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, - 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, - 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, - 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, - 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, - 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, - 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, - 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, - 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, - 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, - 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, - 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, - 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, - 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, - 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, - 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, - 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, - 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, - 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, - 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, - 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, - 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, - 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, - 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, - 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, - 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, - 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, - 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, - 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, - 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, - 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, - 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, - 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, - 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, - 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, - 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, - 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, - 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, - 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, - 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, - 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, - 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, - 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, - 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, - 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, - 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, - 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, - 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, - 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, - 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, - 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, - 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, - 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, - 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, - 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, - 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, - 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, - 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, - 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, - 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, - 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, - 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, - 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, - 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, - 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, - 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, - 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, - 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, - 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, - 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, - 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, - 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, - 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, - 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, - 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, - 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, - 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, - 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, - 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, - 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, - 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, - 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, - 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, - 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, - 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, - 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, - 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, - 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, - 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, - 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, - 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, - 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, - 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, - 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, - 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, - 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, - 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, - 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, - 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, - 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, - 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, - 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, - 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, - 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, - 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, - 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, - 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, - 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, - 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, - 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, - 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, - 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, - 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, - 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, - 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, - 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, - 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, - 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, - 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, - 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, - 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, - 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, - 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, - 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, - 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, - 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, - 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, - 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, - 31,1,192,63,231,128,121,255,0,224,62,0,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, - 10,0,0,3,25,25,13,5,249,224,224,224,0,0,0,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,14,26,52,19,2,252,0,48,0,48,0,32,0,96, - 15,224,63,240,124,248,112,220,112,156,241,156,225,128,225,128, - 227,0,227,0,227,0,226,0,246,28,118,28,124,60,60,120, - 63,240,15,192,24,0,24,0,16,0,48,0,17,26,78,19, - 1,0,0,64,0,7,252,0,15,254,0,30,15,0,60,7, - 128,56,3,128,56,0,0,56,0,0,56,0,0,56,0,0, - 255,224,0,255,224,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,255,255,0,255,255,0, - 18,19,57,20,1,6,64,0,128,224,1,192,113,227,128,63, - 255,0,31,62,0,28,14,0,24,6,0,48,3,0,48,3, - 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, - 31,62,0,55,251,0,113,225,128,224,1,192,64,0,128,18, - 25,75,20,1,0,240,1,192,112,3,192,120,3,128,56,7, - 128,60,7,0,28,15,0,30,14,0,254,15,192,255,31,192, - 7,28,0,7,184,0,3,184,0,3,240,0,255,255,192,255, - 255,192,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,12,31,62,16,2,251,31,224,63, - 224,56,32,112,0,112,0,112,0,120,0,124,0,62,0,31, - 128,15,192,63,224,120,240,240,112,224,112,224,112,224,240,241, - 224,127,192,63,128,31,128,7,224,1,224,0,240,0,112,0, - 112,0,112,0,240,65,224,127,192,63,128,10,3,6,10,0, - 22,225,192,225,192,225,192,26,25,100,30,2,1,0,255,192, - 0,3,255,240,0,7,128,120,0,14,0,28,0,28,127,14, - 0,57,255,135,0,115,227,195,0,99,129,225,128,103,128,225, - 128,199,0,0,192,199,0,0,192,199,0,0,192,199,0,0, - 192,199,0,0,192,199,0,0,192,199,0,224,128,99,129,225, - 128,99,195,193,128,49,255,131,0,48,127,7,0,24,0,14, - 0,14,0,28,0,7,128,120,0,1,255,224,0,0,127,128, - 0,12,17,34,14,1,8,31,128,63,192,120,224,96,96,0, - 96,7,224,63,224,56,96,96,96,96,96,96,224,113,224,63, - 96,30,96,0,0,0,0,255,240,13,14,28,19,3,2,14, - 56,28,56,56,112,56,224,112,224,113,192,227,192,227,192,113, - 192,112,224,56,224,24,112,28,56,14,56,18,8,24,21,2, - 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,255,26,25,100,30,2,1, - 0,255,192,0,3,255,240,0,7,128,120,0,14,255,156,0, - 24,255,206,0,48,193,231,0,112,192,99,0,96,192,97,128, - 96,192,97,128,192,192,192,192,192,255,128,192,192,255,128,192, - 192,193,192,192,192,192,192,192,192,192,192,192,192,192,225,128, - 96,192,97,128,96,192,97,128,48,192,99,0,56,0,7,0, - 28,0,14,0,15,0,60,0,7,193,248,0,1,255,224,0, - 0,127,128,0,10,2,4,10,0,22,255,192,255,192,7,7, - 7,11,2,18,56,196,130,130,130,196,120,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,240,255,255,240, - 10,13,26,12,1,13,63,128,127,128,97,192,225,192,1,192, - 3,128,7,128,14,0,28,0,56,0,240,0,255,192,255,192, - 10,14,28,13,2,12,127,128,255,192,193,192,1,192,7,128, - 14,0,15,128,3,192,0,192,192,192,192,192,227,128,127,128, - 62,0,6,6,6,8,2,21,28,60,56,112,96,192,255,16, - 31,62,20,2,250,7,255,31,140,63,140,127,140,255,140,255, - 140,255,140,255,140,255,140,127,140,127,140,31,140,7,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,3,4,4,9,3,10,224,224,224,224,8,9,9, - 9,2,247,32,32,60,62,7,3,135,255,252,5,13,13,10, - 2,12,56,120,248,152,24,24,24,24,24,24,24,24,24,12, - 16,32,14,1,9,31,128,63,192,112,224,224,96,192,112,192, - 48,192,48,192,48,192,112,224,112,112,224,63,192,31,128,0, - 0,0,0,255,240,13,14,28,19,3,2,227,128,225,192,112, - 192,56,224,56,112,28,112,28,56,30,56,28,112,56,112,56, - 224,112,192,225,192,227,128,23,27,81,27,2,0,56,0,192, - 120,1,192,248,1,128,216,3,128,24,3,0,24,7,0,24, - 6,0,24,14,0,24,12,0,24,24,0,24,24,0,24,48, - 0,24,112,0,24,96,112,0,224,112,0,192,240,1,193,176, - 1,129,48,3,131,48,3,6,48,7,12,48,6,15,254,14, - 15,254,12,0,48,24,0,48,24,0,48,48,0,48,23,27, - 81,27,2,0,56,0,224,120,1,192,248,1,128,216,3,128, - 24,3,0,24,7,0,24,6,0,24,14,0,24,12,0,24, - 28,0,24,24,0,24,56,0,24,48,0,24,112,248,0,227, - 252,0,195,142,1,199,6,1,128,6,3,128,14,3,0,12, - 7,0,56,6,0,112,14,0,224,12,3,192,28,7,128,24, - 7,254,48,7,254,24,26,78,27,2,0,0,0,24,127,128, - 56,255,192,112,193,192,96,3,128,224,14,0,192,15,129,192, - 3,193,128,0,195,128,192,199,0,192,198,0,227,142,0,127, - 140,28,62,28,60,0,24,60,0,48,108,0,112,204,0,97, - 204,0,227,140,0,195,12,1,199,255,1,135,255,3,0,12, - 7,0,12,6,0,12,14,0,12,15,25,50,18,2,249,1, - 192,1,192,1,192,0,0,0,0,0,0,1,192,1,192,1, - 192,1,192,3,192,7,128,15,0,62,0,124,0,120,0,240, - 0,224,0,224,0,224,8,240,14,120,60,63,252,31,248,7, - 224,24,35,105,26,1,0,1,192,0,1,224,0,0,224,0, - 0,112,0,0,48,0,0,24,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,60,0,0,124,0,0,126,0,0,254, - 0,0,238,0,0,239,0,1,231,0,1,199,128,3,195,128, - 3,131,192,7,131,192,7,1,192,7,1,224,15,0,224,14, - 0,240,31,255,240,31,255,240,31,255,248,60,0,56,56,0, - 60,120,0,28,112,0,30,112,0,30,240,0,14,224,0,15, - 24,35,105,26,1,0,0,7,128,0,7,0,0,14,0,0, - 12,0,0,28,0,0,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,60,0,0,124,0,0,126,0,0,254,0, - 0,238,0,0,239,0,1,231,0,1,199,128,3,195,128,3, - 131,192,7,131,192,7,1,192,7,1,224,15,0,224,14,0, - 240,31,255,240,31,255,240,31,255,248,60,0,56,56,0,60, - 120,0,28,112,0,30,112,0,30,240,0,14,224,0,15,24, - 35,105,26,1,0,0,60,0,0,124,0,0,110,0,0,230, - 0,0,195,0,1,131,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,60,0,0,124,0,0,126,0,0,254,0,0, - 238,0,0,239,0,1,231,0,1,199,128,3,195,128,3,131, - 192,7,131,192,7,1,192,7,1,224,15,0,224,14,0,240, - 31,255,240,31,255,240,31,255,248,60,0,56,56,0,60,120, - 0,28,112,0,30,112,0,30,240,0,14,224,0,15,24,33, - 99,26,1,0,0,241,128,1,255,0,1,159,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0, - 124,0,0,126,0,0,254,0,0,238,0,0,239,0,1,231, - 0,1,199,128,3,195,128,3,131,192,7,131,192,7,1,192, - 7,1,224,15,0,224,14,0,240,31,255,240,31,255,240,31, - 255,248,60,0,56,56,0,60,120,0,28,112,0,30,112,0, - 30,240,0,14,224,0,15,25,33,132,25,0,0,0,225,192, - 0,0,225,192,0,0,225,192,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0, - 0,0,62,0,0,0,62,0,0,0,127,0,0,0,119,0, - 0,0,247,128,0,0,227,128,0,0,227,192,0,1,227,192, - 0,1,193,192,0,3,193,224,0,3,128,224,0,7,128,240, - 0,7,0,112,0,7,0,112,0,15,255,248,0,15,255,248, - 0,31,255,252,0,28,0,28,0,28,0,30,0,60,0,14, - 0,56,0,14,0,120,0,15,0,112,0,7,0,240,0,7, - 128,24,36,108,25,1,0,0,56,0,0,196,0,0,130,0, - 0,130,0,0,130,0,0,196,0,0,124,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,60,0,0,124,0,0,126, - 0,0,254,0,0,238,0,0,239,0,1,231,0,1,199,128, - 3,195,128,3,131,128,7,131,192,7,129,192,7,1,224,15, - 0,224,14,0,240,31,255,240,31,255,240,31,255,248,60,0, - 56,56,0,60,120,0,60,120,0,28,112,0,30,240,0,14, - 224,0,15,31,25,100,34,1,0,0,7,255,252,0,15,255, - 252,0,15,255,252,0,31,192,0,0,29,192,0,0,61,192, - 0,0,57,192,0,0,121,192,0,0,241,192,0,0,241,192, - 0,1,225,192,0,1,225,255,252,3,193,255,252,3,193,255, - 252,7,129,192,0,7,255,192,0,15,255,192,0,15,255,192, - 0,30,1,192,0,28,1,192,0,60,1,192,0,56,1,192, - 0,120,1,255,254,112,1,255,254,240,1,255,254,19,33,99, - 23,2,249,3,254,0,15,255,128,30,3,192,60,1,192,56, - 0,224,112,0,224,112,0,0,112,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,112,0,0,112,0,224,112,0,224,56, - 1,224,60,1,192,31,7,128,15,255,0,3,252,0,0,64, - 0,0,120,0,0,124,0,0,30,0,0,6,0,0,6,0, - 1,254,0,1,252,0,16,35,70,21,3,0,28,0,14,0, - 7,0,7,0,3,128,1,128,0,0,0,0,0,0,0,0, - 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, - 255,255,16,35,70,21,3,0,0,112,0,240,0,224,1,192, - 1,128,3,0,0,0,0,0,0,0,0,0,255,254,255,254, - 255,254,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,254,255,254,255,254,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,255,255,255,255,255,16,35, - 70,21,3,0,7,192,7,192,14,224,12,96,28,112,24,48, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,254, - 255,254,255,254,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,255,255,255,255,255,16,33,66,21,3,0, - 28,112,28,112,28,112,0,0,0,0,0,0,0,0,0,0, - 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, - 255,255,6,35,35,9,0,0,240,112,56,24,28,12,0,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,6,35,35,9,3, - 0,28,56,48,112,224,192,0,0,0,0,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,9,35,70,9,0,0,30,0,62,0,55,0, - 115,0,99,128,193,128,0,0,0,0,0,0,0,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 10,33,66,10,0,0,225,192,225,192,225,192,0,0,0,0, - 0,0,0,0,0,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,22,25,75,24,0,0,31,252, - 0,31,255,128,31,255,192,28,7,224,28,0,240,28,0,120, - 28,0,120,28,0,60,28,0,60,28,0,28,28,0,28,255, - 240,28,255,240,28,255,240,28,28,0,28,28,0,28,28,0, - 60,28,0,56,28,0,120,28,0,120,28,0,240,28,7,224, - 31,255,192,31,255,128,31,252,0,19,33,99,25,3,0,3, - 204,0,7,252,0,14,248,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,248,0,224,248,0,224,252,0,224, - 254,0,224,254,0,224,239,0,224,239,0,224,231,128,224,231, - 128,224,227,192,224,227,192,224,225,224,224,224,224,224,224,240, - 224,224,120,224,224,120,224,224,60,224,224,60,224,224,30,224, - 224,30,224,224,15,224,224,15,224,224,7,224,224,3,224,224, - 3,224,22,36,108,26,2,0,3,192,0,1,192,0,0,224, - 0,0,96,0,0,112,0,0,56,0,0,24,0,0,0,0, - 0,0,0,0,0,0,0,0,0,3,255,0,15,255,192,31, - 255,224,62,1,240,56,0,112,120,0,120,112,0,56,240,0, - 56,240,0,28,224,0,28,224,0,28,224,0,28,224,0,28, - 224,0,28,224,0,28,240,0,60,112,0,56,112,0,56,120, - 0,120,56,0,112,60,0,240,31,3,224,15,255,192,7,255, - 128,0,252,0,22,36,108,26,2,0,0,15,0,0,14,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,96,0,0, - 0,0,0,0,0,0,0,0,0,0,0,3,255,0,15,255, - 192,31,255,224,62,1,240,56,0,112,120,0,120,112,0,56, - 240,0,56,240,0,28,224,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,240,0,60,112,0,56,112,0, - 56,120,0,120,56,0,112,60,0,240,31,3,224,15,255,192, - 7,255,128,0,252,0,22,36,108,26,2,0,0,120,0,0, - 120,0,0,252,0,0,206,0,1,206,0,3,135,0,3,3, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,255,0, - 15,255,192,31,255,224,62,1,240,56,0,112,120,0,120,112, - 0,56,240,0,56,240,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,224,0,28,224,0,28,240,0,60,112,0,56, - 112,0,56,120,0,120,56,0,112,60,0,240,31,3,224,15, - 255,192,7,255,128,0,252,0,22,33,99,26,2,0,1,243, - 0,3,255,0,3,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,3,255,0,15,255,192,31,255,224,62, - 1,240,56,0,112,120,0,120,112,0,56,240,0,56,240,0, - 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,28, - 224,0,28,240,0,60,112,0,56,112,0,56,120,0,120,56, - 0,112,60,0,240,31,3,224,15,255,192,7,255,128,0,252, - 0,22,33,99,26,2,0,1,195,128,1,195,128,1,195,128, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 255,0,15,255,192,31,255,224,62,1,240,56,0,112,120,0, - 120,112,0,56,240,0,56,240,0,28,224,0,28,224,0,28, - 224,0,28,224,0,28,224,0,28,224,0,28,240,0,60,112, - 0,56,112,0,56,120,0,120,56,0,112,60,0,240,31,3, - 224,15,255,192,7,255,128,0,252,0,18,19,57,34,8,1, - 64,0,128,224,1,192,112,3,128,56,7,0,24,6,0,12, - 12,0,6,24,0,3,48,0,1,224,0,0,192,0,1,224, - 0,3,48,0,6,24,0,12,12,0,24,6,0,48,3,0, - 96,1,128,224,1,192,64,0,128,22,31,93,26,2,253,0, - 0,24,0,0,60,0,0,56,3,255,120,15,255,240,31,255, - 240,62,1,240,56,1,240,120,3,248,112,7,184,240,15,60, - 240,15,60,224,30,28,224,60,28,224,60,28,224,120,28,224, - 240,28,224,224,28,241,224,60,115,192,56,115,128,56,127,128, - 120,63,0,112,62,0,240,31,3,224,63,255,192,63,255,128, - 121,252,0,240,0,0,224,0,0,32,0,0,19,36,108,25, - 3,0,7,0,0,3,128,0,3,128,0,1,192,0,0,224, - 0,0,96,0,0,48,0,0,0,0,0,0,0,0,0,0, - 0,0,0,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,240,0,224,240,1,224,112,1,192,120, - 3,192,62,7,192,63,255,128,31,255,0,3,248,0,19,36, - 108,25,3,0,0,28,0,0,60,0,0,56,0,0,112,0, - 0,96,0,0,192,0,1,192,0,0,0,0,0,0,0,0, - 0,0,0,0,0,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,240,0,224,240,1,224,112,1, - 192,120,3,192,62,7,192,63,255,128,31,255,0,3,248,0, - 19,36,108,25,3,0,0,224,0,1,240,0,1,240,0,3, - 184,0,3,28,0,6,12,0,6,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,240,0,224,240,1,224, - 112,1,192,120,3,192,62,7,192,63,255,128,31,255,0,3, - 248,0,19,33,99,25,3,0,7,14,0,7,14,0,7,14, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,240,0,224,240,1,224,112,1,192,120,3,192,62, - 7,192,63,255,128,31,255,0,3,248,0,21,35,105,23,1, - 0,0,14,0,0,30,0,0,28,0,0,56,0,0,48,0, - 0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 0,120,120,0,112,120,0,240,60,1,224,30,1,224,30,3, - 192,15,3,128,15,7,128,7,135,0,3,143,0,3,206,0, - 1,252,0,1,252,0,0,248,0,0,120,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,16,25,50,21,3,0, - 224,0,224,0,224,0,224,0,255,224,255,252,255,254,224,62, - 224,15,224,7,224,7,224,7,224,7,224,7,224,15,224,62, - 255,254,255,252,255,224,224,0,224,0,224,0,224,0,224,0, - 224,0,17,25,75,19,2,0,7,224,0,31,248,0,126,124, - 0,112,60,0,240,28,0,224,28,0,224,28,0,224,56,0, - 224,248,0,225,224,0,225,192,0,225,192,0,225,224,0,225, - 240,0,224,252,0,224,63,0,224,15,0,224,7,128,224,3, - 128,224,3,128,231,3,128,227,131,128,227,231,128,225,255,0, - 224,124,0,15,27,54,19,2,0,14,0,7,0,3,128,3, - 128,1,192,0,192,0,0,0,0,0,0,15,240,63,252,60, - 60,120,30,112,14,0,14,0,14,15,254,63,254,124,14,112, - 14,224,14,224,30,224,30,240,62,120,238,63,238,15,142,15, - 28,56,19,2,0,0,112,0,224,0,224,1,192,3,128,3, - 0,6,0,0,0,0,0,0,0,15,240,63,252,60,60,120, - 30,112,14,0,14,0,14,15,254,63,254,124,14,112,14,224, - 14,224,30,224,30,240,62,120,238,63,238,15,142,15,28,56, - 19,2,0,3,192,7,192,7,224,14,224,12,112,28,48,24, - 24,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, - 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,15,25,50,19,2, - 0,15,152,31,240,25,224,0,0,0,0,0,0,0,0,15, - 240,63,252,60,60,120,30,112,14,0,14,0,14,15,254,63, - 254,124,14,112,14,224,14,224,30,224,30,240,62,120,238,63, - 238,15,142,15,25,50,19,2,0,28,56,28,56,28,56,0, - 0,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, - 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,15,29,58,19,2, - 0,3,128,12,64,8,32,8,32,8,32,12,64,7,192,0, - 0,0,0,0,0,0,0,15,240,63,252,60,124,120,30,112, - 30,0,30,0,30,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,27,18,72,31,2, - 0,15,224,126,0,63,241,255,0,124,121,199,128,112,31,129, - 192,112,15,1,192,0,15,0,224,0,14,0,224,15,255,255, - 224,63,255,255,224,124,14,0,0,240,14,0,0,224,14,0, - 0,224,31,0,224,224,27,1,192,240,59,131,192,124,241,239, - 128,63,225,255,128,31,192,126,0,14,26,52,18,2,248,15, - 224,63,248,60,120,112,60,112,28,240,28,224,0,224,0,224, - 0,224,0,224,0,224,0,240,28,112,28,112,60,60,120,31, - 240,7,224,1,0,1,224,1,240,0,120,0,24,0,24,7, - 240,7,224,16,28,56,19,2,0,28,0,14,0,14,0,7, - 0,3,128,1,128,0,192,0,0,0,0,0,0,7,224,31, - 248,60,124,120,30,112,14,240,14,224,14,255,254,255,255,224, - 0,224,0,224,0,112,14,112,14,120,30,62,124,31,248,7, - 224,16,28,56,19,2,0,0,120,0,240,0,224,1,192,1, - 128,3,128,3,0,0,0,0,0,0,0,7,224,31,248,60, - 124,120,30,112,14,240,14,224,14,255,254,255,255,224,0,224, - 0,224,0,112,14,112,14,120,30,62,124,31,248,7,224,16, - 28,56,19,2,0,3,192,7,192,7,224,14,224,12,112,24, - 48,24,24,0,0,0,0,0,0,7,224,31,248,60,124,120, - 30,112,14,240,14,224,14,255,254,255,255,224,0,224,0,224, - 0,112,14,112,14,120,30,62,124,31,248,7,224,16,25,50, - 19,2,0,28,56,28,56,28,56,0,0,0,0,0,0,0, - 0,7,224,31,248,60,60,120,14,112,14,240,14,224,6,255, - 254,255,255,224,0,224,0,224,0,112,14,112,14,120,30,62, - 60,31,248,7,224,6,27,27,8,255,0,240,112,56,24,28, - 12,0,0,0,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,6,27,27,8,2,0,28,56,112,112, - 224,192,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,9,27,54,8,255,0,62,0,62, - 0,119,0,115,0,227,128,193,128,0,0,0,0,0,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,10,25,50,8,255,0,227,192,227,192,227,192,0, - 0,0,0,0,0,0,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,17,26,78,21,2, - 0,16,4,0,56,28,0,30,248,0,7,192,0,15,192,0, - 60,240,0,112,120,0,0,60,0,7,252,0,31,254,0,62, - 63,0,120,15,0,112,7,0,240,7,128,240,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,240,7,0, - 112,7,0,120,15,0,62,62,0,31,252,0,7,240,0,15, - 25,50,19,2,0,15,48,31,240,27,224,0,0,0,0,0, - 0,0,0,227,240,239,248,252,124,248,30,240,30,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,17,28,84,21,2,0,14,0,0, - 15,0,0,7,0,0,3,128,0,1,128,0,0,192,0,0, - 224,0,0,0,0,0,0,0,0,0,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,17,28,84,21,2,0,0,56,0,0,120,0,0,112,0, - 0,224,0,0,192,0,1,128,0,3,0,0,0,0,0,0, - 0,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, - 0,112,7,0,240,7,0,240,7,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,7,128,240,7,128,112,7,0,120, - 15,0,62,62,0,31,252,0,7,240,0,17,28,84,21,2, - 0,1,192,0,3,224,0,3,224,0,7,112,0,14,56,0, - 12,24,0,28,28,0,0,0,0,0,0,0,0,0,0,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 0,240,7,128,224,3,128,224,3,128,224,3,128,224,3,128, - 240,7,128,240,7,128,112,7,0,120,15,0,62,62,0,31, - 252,0,7,240,0,17,25,75,21,2,0,7,152,0,15,248, - 0,12,240,0,0,0,0,0,0,0,0,0,0,0,0,0, - 7,240,0,31,252,0,62,62,0,120,15,0,112,7,0,240, - 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, - 128,240,7,128,240,7,128,112,7,0,120,15,0,62,62,0, - 31,252,0,7,240,0,17,25,75,21,2,0,28,56,0,28, - 56,0,28,56,0,0,0,0,0,0,0,0,0,0,0,0, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,240,7,128,240,7,128,112,7,0,120,15,0,62,62, - 0,31,252,0,7,240,0,20,15,45,34,7,3,0,96,0, - 0,240,0,0,240,0,0,96,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,0,0,0,0,0,0,0,96, - 0,0,240,0,0,240,0,0,96,0,17,23,69,21,2,254, - 0,1,0,0,1,128,0,3,128,7,247,0,31,254,0,62, - 62,0,120,31,0,112,63,0,240,55,128,240,119,128,224,227, - 128,225,195,128,225,131,128,227,131,128,231,7,128,254,7,128, - 124,7,0,124,15,0,62,62,0,127,252,0,103,240,0,224, - 0,0,192,0,0,15,28,56,19,2,0,28,0,30,0,14, - 0,7,0,3,0,1,128,1,128,0,0,0,0,0,0,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,240,30,124,126,63, - 238,31,142,15,28,56,19,2,0,0,112,0,240,0,224,1, - 192,1,128,3,0,7,0,0,0,0,0,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,30,124,126,63,238,31, - 142,15,28,56,19,2,0,3,128,7,192,7,192,14,224,12, - 96,24,48,24,48,0,0,0,0,0,0,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,240,30,240,30,124,126,63,238,31,142,15, - 25,50,19,2,0,56,112,56,112,56,112,0,0,0,0,0, - 0,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,240,30,240, - 62,124,126,63,238,31,142,16,34,68,18,1,249,0,56,0, - 112,0,96,0,224,1,192,1,128,0,0,0,0,0,0,224, - 7,240,7,112,15,112,14,120,14,56,30,60,28,28,28,28, - 60,30,56,14,120,15,112,7,112,7,240,7,224,3,224,3, - 224,1,192,1,192,3,128,3,128,231,128,255,0,127,0,62, - 0,16,32,64,20,2,249,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,227,240,231,248,254,60,248,30,240,14,240, - 15,224,7,224,7,224,7,224,7,224,7,224,7,240,15,240, - 14,248,30,254,124,239,248,227,240,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,16,32,64,18,1,249,28,56,28, - 56,28,56,0,0,0,0,0,0,0,0,224,7,224,7,240, - 15,112,14,120,14,56,30,60,28,60,28,28,56,30,56,14, - 120,15,112,15,112,7,240,7,224,3,224,3,192,3,192,3, - 192,3,128,3,128,7,128,7,0,7,0,15,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=20 h=28 x= 7 y=12 dx=34 dy= 0 ascent=26 len=75 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25n[798] U8G_FONT_SECTION("u8g_font_fur25n") = { - 0,46,45,254,247,25,0,0,0,0,42,58,0,26,252,25, - 0,14,13,26,22,4,12,24,96,28,224,28,224,12,192,7, - 128,243,60,255,252,231,156,7,128,12,192,28,224,60,224,24, - 96,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,6,9,9,9,2,252,60,120,120,112, - 112,224,224,224,192,8,3,3,10,1,7,255,255,255,3,4, - 4,9,3,0,224,224,224,224,10,28,56,13,2,254,0,192, - 1,192,1,128,1,128,3,128,3,0,3,0,3,0,7,0, - 6,0,6,0,14,0,12,0,12,0,28,0,28,0,24,0, - 24,0,56,0,48,0,48,0,112,0,112,0,96,0,96,0, - 224,0,192,0,192,0,15,25,50,19,2,1,15,224,63,248, - 62,248,120,60,112,28,112,30,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,240,14, - 112,30,112,28,120,28,60,60,63,248,31,240,7,192,8,25, - 25,19,5,0,15,31,63,127,255,231,135,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,15,25,50, - 19,2,1,15,240,63,248,62,252,120,28,120,30,112,14,240, - 14,0,14,0,30,0,28,0,60,0,120,0,120,0,240,1, - 224,3,192,7,128,15,0,31,0,62,0,60,0,120,0,240, - 0,255,254,255,254,16,25,50,19,2,1,15,240,63,248,60, - 28,120,14,112,14,112,14,0,14,0,14,0,28,0,120,3, - 240,3,240,0,248,0,30,0,14,0,15,0,7,0,7,240, - 7,240,7,240,14,120,30,60,124,31,248,7,224,17,25,75, - 19,1,0,0,60,0,0,124,0,0,124,0,0,252,0,1, - 220,0,1,220,0,3,156,0,7,28,0,7,28,0,14,28, - 0,28,28,0,60,28,0,56,28,0,112,28,0,240,28,0, - 224,28,0,255,255,128,255,255,128,255,255,128,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,15,25, - 50,19,2,0,127,252,127,252,127,252,112,0,112,0,112,0, - 112,0,112,0,115,240,127,248,124,60,120,28,112,30,96,14, - 0,14,0,14,0,14,0,14,0,14,224,30,240,28,112,60, - 124,120,63,240,15,192,16,25,50,19,1,1,15,240,31,252, - 60,28,120,30,112,14,240,14,224,0,224,0,224,0,227,240, - 231,252,239,252,252,30,248,14,240,15,240,7,240,7,240,7, - 240,7,112,7,120,14,56,14,62,60,15,248,7,224,15,25, - 50,19,2,0,255,254,255,254,0,14,0,30,0,28,0,28, - 0,60,0,56,0,56,0,120,0,112,0,240,0,240,0,224, - 1,224,1,224,1,192,3,192,3,128,7,128,7,128,7,0, - 15,0,15,0,14,0,16,25,50,19,1,1,15,240,63,252, - 60,60,120,30,112,14,112,14,112,14,112,14,56,28,60,60, - 15,240,15,240,62,56,56,28,112,14,224,7,224,7,224,7, - 224,7,224,7,240,15,120,14,60,60,31,248,7,224,16,25, - 50,19,2,1,31,248,63,252,120,30,112,14,240,15,224,15, - 224,15,224,15,224,15,240,15,112,31,120,63,63,247,15,231, - 0,7,0,7,0,7,0,14,112,14,112,14,112,30,112,60, - 60,120,31,240,15,224,3,18,18,9,3,0,224,224,224,224, - 0,0,0,0,0,0,0,0,0,0,224,224,224,224}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=31 h=37 x= 8 y=21 dx=34 dy= 0 ascent=28 len=120 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25r[5389] U8G_FONT_SECTION("u8g_font_fur25r") = { - 0,46,45,254,247,25,6,119,15,27,32,127,249,28,247,25, - 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, - 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, - 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, - 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, - 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, - 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, - 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, - 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, - 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, - 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, - 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, - 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, - 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, - 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, - 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, - 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, - 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, - 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, - 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, - 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, - 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, - 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, - 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, - 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, - 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, - 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, - 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, - 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, - 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, - 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, - 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, - 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, - 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, - 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, - 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, - 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, - 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, - 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, - 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, - 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, - 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, - 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, - 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, - 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, - 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, - 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, - 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, - 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, - 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, - 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, - 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, - 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, - 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, - 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, - 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, - 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, - 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, - 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, - 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, - 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, - 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, - 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, - 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, - 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, - 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, - 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, - 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, - 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, - 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, - 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, - 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, - 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, - 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, - 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, - 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, - 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, - 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, - 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, - 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, - 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, - 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, - 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, - 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, - 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, - 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, - 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, - 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, - 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, - 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, - 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, - 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, - 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, - 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, - 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, - 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, - 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, - 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, - 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, - 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, - 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, - 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, - 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, - 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, - 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, - 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, - 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, - 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, - 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, - 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, - 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, - 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, - 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, - 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, - 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, - 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, - 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, - 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, - 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, - 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, - 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, - 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, - 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, - 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, - 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, - 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, - 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, - 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, - 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, - 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, - 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, - 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, - 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, - 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, - 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, - 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, - 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, - 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, - 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, - 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, - 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, - 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, - 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, - 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, - 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, - 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, - 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, - 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, - 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, - 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, - 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, - 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, - 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, - 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, - 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, - 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, - 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, - 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, - 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, - 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, - 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, - 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, - 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, - 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, - 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, - 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, - 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, - 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, - 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, - 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, - 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, - 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, - 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, - 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, - 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, - 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, - 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, - 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, - 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, - 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, - 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, - 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, - 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, - 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, - 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, - 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, - 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, - 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, - 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, - 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, - 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, - 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, - 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, - 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, - 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, - 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, - 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, - 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, - 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, - 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, - 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, - 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, - 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, - 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, - 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, - 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, - 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, - 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, - 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, - 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, - 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, - 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, - 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, - 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, - 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, - 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, - 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, - 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, - 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, - 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, - 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, - 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, - 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, - 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, - 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, - 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, - 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, - 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, - 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, - 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, - 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, - 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, - 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, - 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, - 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, - 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, - 31,1,192,63,231,128,121,255,0,224,62,0,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=37 h=43 x=10 y=26 dx=40 dy= 0 ascent=43 len=185 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =43 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30[16505] U8G_FONT_SECTION("u8g_font_fur30") = { - 0,54,54,253,245,30,9,94,20,223,32,255,249,43,245,31, - 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, - 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, - 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, - 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, - 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, - 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, - 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, - 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, - 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, - 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, - 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, - 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, - 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, - 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, - 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, - 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, - 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, - 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, - 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, - 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, - 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, - 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, - 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, - 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, - 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, - 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, - 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, - 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, - 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, - 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, - 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, - 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, - 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, - 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, - 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, - 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, - 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, - 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, - 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, - 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, - 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, - 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, - 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, - 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, - 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, - 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, - 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, - 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, - 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, - 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, - 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, - 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, - 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, - 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, - 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, - 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, - 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, - 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, - 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, - 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, - 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, - 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, - 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, - 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, - 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, - 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, - 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, - 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, - 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, - 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, - 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, - 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, - 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, - 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, - 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, - 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, - 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, - 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, - 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, - 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, - 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, - 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, - 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, - 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, - 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, - 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, - 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, - 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, - 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, - 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, - 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, - 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, - 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, - 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, - 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, - 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, - 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, - 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, - 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, - 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, - 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, - 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, - 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, - 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, - 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, - 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, - 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, - 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, - 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, - 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, - 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, - 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, - 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, - 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, - 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, - 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, - 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, - 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, - 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, - 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, - 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, - 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, - 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, - 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, - 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, - 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, - 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, - 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, - 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, - 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, - 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, - 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, - 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, - 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, - 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, - 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, - 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, - 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, - 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, - 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, - 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, - 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, - 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, - 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, - 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, - 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, - 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, - 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, - 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, - 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, - 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, - 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, - 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, - 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, - 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, - 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, - 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, - 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, - 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, - 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, - 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, - 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, - 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, - 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, - 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, - 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, - 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, - 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, - 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, - 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, - 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, - 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, - 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, - 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, - 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, - 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, - 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, - 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, - 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, - 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, - 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, - 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, - 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, - 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, - 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, - 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, - 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, - 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, - 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, - 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, - 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, - 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, - 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, - 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, - 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, - 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, - 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, - 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, - 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, - 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, - 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, - 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, - 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, - 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, - 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, - 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, - 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, - 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, - 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, - 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, - 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, - 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, - 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, - 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, - 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, - 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, - 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, - 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, - 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, - 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, - 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, - 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, - 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, - 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, - 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, - 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, - 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, - 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, - 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, - 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, - 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, - 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, - 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, - 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, - 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, - 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, - 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, - 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, - 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, - 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, - 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, - 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, - 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, - 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, - 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, - 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, - 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, - 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, - 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, - 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, - 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, - 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, - 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, - 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, - 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, - 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, - 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, - 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, - 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, - 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, - 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, - 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, - 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, - 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, - 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, - 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, - 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, - 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, - 240,15,128,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,12,0,0,4,28,28,14,5,248, - 240,240,240,240,0,0,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,17,31,93,23, - 3,250,0,12,0,0,12,0,0,24,0,0,24,0,0,24, - 0,15,248,0,63,254,0,62,63,0,120,119,0,120,103,0, - 240,103,128,240,96,0,240,192,0,240,192,0,240,192,0,241, - 128,0,241,128,0,241,128,0,243,7,128,243,7,128,123,7, - 0,126,15,0,62,30,0,31,254,0,15,248,0,12,0,0, - 12,0,0,28,0,0,24,0,0,24,0,0,8,0,0,20, - 31,93,23,2,0,0,16,0,1,255,0,7,255,192,15,135, - 224,15,1,224,30,0,240,30,0,240,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,248,0,255,248,0,255, - 248,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,255,224,255,255,224,255, - 255,224,21,22,66,25,2,7,192,0,24,224,0,56,96,48, - 48,51,254,96,63,255,224,31,7,192,28,1,192,24,0,192, - 56,0,224,48,0,96,48,0,96,48,0,96,48,0,96,56, - 0,224,24,0,192,28,1,192,14,3,128,31,255,192,59,254, - 224,112,248,112,224,0,56,192,0,24,21,30,90,23,1,0, - 240,0,120,248,0,120,120,0,240,124,0,240,60,1,240,62, - 1,224,30,1,224,30,3,192,15,3,192,15,7,128,255,135, - 248,255,143,248,255,207,248,3,207,0,1,254,0,1,252,0, - 255,255,248,255,255,248,255,255,248,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,2,38,38,14,6,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 0,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,15,37,74,19,2,250,15,248,31,248, - 62,24,60,0,120,0,120,0,120,0,120,0,60,0,63,0, - 31,128,15,224,15,240,63,248,124,124,120,62,240,30,240,30, - 240,30,240,60,248,120,127,240,63,224,31,224,7,240,1,248, - 0,124,0,60,0,30,0,30,0,30,0,28,0,60,96,248, - 127,240,127,224,3,0,12,4,8,12,0,26,240,240,240,240, - 240,240,240,240,30,30,120,34,2,1,0,63,240,0,0,255, - 252,0,3,240,63,0,7,128,7,128,15,0,3,192,28,3, - 0,224,56,63,240,112,56,127,248,112,112,248,124,56,97,240, - 30,24,97,224,30,24,225,224,30,28,195,192,0,12,195,192, - 0,12,195,192,0,12,195,192,0,12,195,192,0,12,195,192, - 0,12,193,192,30,12,97,224,30,24,97,224,30,24,96,240, - 60,56,48,255,252,48,56,63,248,112,28,15,224,224,14,0, - 1,192,7,0,3,128,3,192,15,0,1,255,252,0,0,63, - 240,0,14,19,38,16,1,11,15,192,63,240,56,120,112,56, - 0,56,0,56,15,248,63,248,120,56,224,56,224,56,224,120, - 240,248,127,184,31,56,0,0,0,0,255,252,255,252,16,16, - 32,22,3,2,7,7,15,14,14,14,28,28,60,60,56,120, - 120,112,240,240,240,240,120,112,56,120,60,60,28,28,14,14, - 15,14,7,7,21,10,30,25,2,8,255,255,248,255,255,248, - 255,255,248,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,255,30,30,120,34,2,1,0, - 63,240,0,0,255,252,0,3,240,63,0,7,128,7,128,14, - 0,1,192,28,127,240,224,56,127,248,112,48,127,252,48,112, - 112,30,56,96,112,14,24,96,112,14,24,192,112,14,12,192, - 112,28,12,192,127,248,12,192,127,240,12,192,127,248,12,192, - 112,28,12,192,112,28,12,192,112,28,12,96,112,12,24,96, - 112,12,24,112,112,14,56,48,112,14,48,56,112,14,112,28, - 0,0,224,14,0,1,192,7,128,7,128,3,240,63,0,1, - 255,252,0,0,63,240,0,12,3,6,12,0,26,255,240,255, - 240,255,240,9,9,18,13,2,21,62,0,127,0,227,128,193, - 128,193,128,193,128,227,128,127,0,62,0,24,24,72,40,8, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,255,255,255,255,255,255,255,255,255,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,12,16,32,14,1,15,31, - 192,127,224,120,240,112,112,224,112,0,112,0,224,1,224,3, - 192,7,128,14,0,60,0,120,0,255,240,255,240,255,240,12, - 16,32,14,1,15,63,192,127,224,112,240,96,112,0,112,0, - 240,7,224,7,128,7,224,0,240,0,112,224,112,224,112,127, - 224,127,192,31,128,8,7,7,9,2,25,15,30,28,56,56, - 112,224,255,18,36,108,22,2,250,3,255,192,15,255,192,63, - 195,0,127,195,0,127,195,0,255,195,0,255,195,0,255,195, - 0,255,195,0,255,195,0,255,195,0,127,195,0,127,195,0, - 63,195,0,15,195,0,0,195,0,0,195,0,0,195,0,0, - 195,0,0,195,0,0,195,0,0,195,0,0,195,0,0,195, - 0,0,195,0,0,195,0,0,195,0,0,195,0,0,195,0, - 0,195,0,0,195,0,0,195,0,0,195,0,0,195,0,0, - 195,0,0,195,0,4,5,5,10,3,11,240,240,240,240,240, - 10,10,20,10,2,246,48,0,48,0,62,0,63,128,7,128, - 1,192,1,192,3,192,255,128,254,0,7,16,16,12,2,14, - 30,62,254,238,142,14,14,14,14,14,14,14,14,14,14,14, - 14,19,38,16,1,10,15,192,63,224,120,112,112,56,224,56, - 224,28,224,28,224,28,224,28,224,28,224,56,112,56,56,112, - 31,224,7,128,0,0,0,0,255,252,255,252,16,16,32,22, - 3,2,224,224,112,112,120,120,56,56,28,60,30,30,15,14, - 15,15,15,15,15,14,30,30,28,60,56,56,120,120,112,112, - 224,224,28,30,120,32,2,0,30,0,12,0,62,0,28,0, - 254,0,56,0,238,0,56,0,142,0,112,0,14,0,112,0, - 14,0,224,0,14,0,192,0,14,1,192,0,14,3,128,0, - 14,3,128,0,14,7,0,0,14,7,0,0,14,14,0,0, - 14,12,7,128,14,28,7,128,0,56,15,128,0,56,31,128, - 0,112,27,128,0,112,59,128,0,224,115,128,0,224,99,128, - 1,192,195,128,1,129,195,128,3,129,255,240,7,1,255,240, - 7,0,3,128,14,0,3,128,14,0,3,128,28,0,3,128, - 28,30,120,32,2,0,30,0,28,0,62,0,28,0,254,0, - 56,0,238,0,56,0,142,0,112,0,14,0,112,0,14,0, - 224,0,14,0,224,0,14,1,192,0,14,3,128,0,14,3, - 128,0,14,7,0,0,14,7,0,0,14,14,0,0,14,14, - 31,128,14,28,63,224,0,56,121,224,0,56,112,112,0,112, - 240,112,0,112,0,112,0,224,0,240,0,224,0,224,1,192, - 3,192,1,128,7,128,3,128,15,0,7,0,60,0,7,0, - 120,0,14,0,255,240,14,0,255,240,28,0,255,240,30,31, - 124,32,1,0,0,0,1,192,63,192,3,128,127,224,3,128, - 112,240,7,0,96,112,6,0,0,112,14,0,0,240,28,0, - 7,224,28,0,7,128,56,0,7,224,56,0,0,240,112,0, - 0,112,112,0,224,112,224,0,224,113,192,0,127,225,192,0, - 127,195,129,224,31,131,129,224,0,7,3,224,0,7,7,224, - 0,14,6,224,0,12,12,224,0,28,28,224,0,56,24,224, - 0,56,48,224,0,112,112,224,0,112,127,252,0,224,127,252, - 0,224,0,224,1,192,0,224,1,128,0,224,3,128,0,224, - 17,28,84,21,2,248,0,240,0,0,240,0,0,240,0,0, - 240,0,0,0,0,0,0,0,0,0,0,0,240,0,0,240, - 0,0,240,0,0,240,0,1,240,0,1,224,0,7,192,0, - 15,128,0,31,0,0,60,0,0,120,0,0,240,0,0,240, - 0,0,240,0,0,240,3,0,240,3,128,124,15,128,127,255, - 0,63,254,0,31,252,0,3,240,0,28,41,164,30,1,0, - 0,240,0,0,0,240,0,0,0,120,0,0,0,56,0,0, - 0,28,0,0,0,14,0,0,0,14,0,0,0,7,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0, - 0,31,128,0,0,31,128,0,0,63,192,0,0,63,192,0, - 0,127,192,0,0,121,224,0,0,121,224,0,0,241,240,0, - 0,240,240,0,1,240,240,0,1,224,248,0,1,224,120,0, - 3,224,124,0,3,192,60,0,7,192,60,0,7,128,62,0, - 7,128,30,0,15,128,31,0,15,255,255,0,31,255,255,128, - 31,255,255,128,30,0,7,128,60,0,3,192,60,0,3,192, - 124,0,3,224,120,0,1,224,120,0,1,224,240,0,0,240, - 240,0,0,240,28,41,164,30,1,0,0,0,240,0,0,0, - 240,0,0,1,224,0,0,1,192,0,0,3,128,0,0,7, - 0,0,0,7,0,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,15,0,0,0,31,128,0,0,31, - 128,0,0,63,192,0,0,63,192,0,0,127,192,0,0,121, - 224,0,0,121,224,0,0,241,240,0,0,240,240,0,1,240, - 240,0,1,224,248,0,1,224,120,0,3,224,124,0,3,192, - 60,0,7,192,60,0,7,128,62,0,7,128,30,0,15,128, - 31,0,15,255,255,0,31,255,255,128,31,255,255,128,30,0, - 7,128,60,0,3,192,60,0,3,192,124,0,3,224,120,0, - 1,224,120,0,1,224,240,0,0,240,240,0,0,240,28,41, - 164,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,57,192,0,0,112,224,0,0,96,96,0, - 0,224,112,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,15,0,0,0,31,128,0,0,31,128,0,0,63,192,0, - 0,63,192,0,0,127,192,0,0,121,224,0,0,121,224,0, - 0,241,240,0,0,240,240,0,1,240,240,0,1,224,248,0, - 1,224,120,0,3,224,124,0,3,192,60,0,7,192,60,0, - 7,128,62,0,7,128,30,0,15,128,31,0,15,255,255,0, - 31,255,255,128,31,255,255,128,30,0,7,128,60,0,3,192, - 60,0,3,192,124,0,3,224,120,0,1,224,120,0,1,224, - 240,0,0,240,240,0,0,240,28,39,156,30,1,0,0,16, - 48,0,0,126,112,0,0,127,224,0,0,231,224,0,0,192, - 128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,15,0,0,0,31,128,0,0,31,128,0,0,63, - 192,0,0,63,192,0,0,127,192,0,0,121,224,0,0,121, - 224,0,0,241,240,0,0,240,240,0,1,240,240,0,1,224, - 248,0,1,224,120,0,3,224,124,0,3,192,60,0,7,192, - 60,0,7,128,62,0,7,128,30,0,15,128,31,0,15,255, - 255,0,31,255,255,128,31,255,255,128,30,0,7,128,60,0, - 3,192,60,0,3,192,124,0,3,224,120,0,1,224,120,0, - 1,224,240,0,0,240,240,0,0,240,29,39,156,30,1,0, - 0,120,120,0,0,120,120,0,0,120,120,0,0,120,120,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,128,0,0,15,128,0,0,31,128,0, - 0,31,192,0,0,63,192,0,0,61,224,0,0,125,224,0, - 0,121,240,0,0,120,240,0,0,240,240,0,0,240,248,0, - 1,240,120,0,1,224,124,0,1,224,60,0,3,224,60,0, - 3,192,62,0,7,192,30,0,7,128,31,0,7,128,15,0, - 15,255,255,128,15,255,255,128,31,255,255,128,30,0,3,192, - 30,0,3,192,60,0,3,224,60,0,1,224,120,0,1,224, - 120,0,0,240,120,0,0,240,240,0,0,248,28,43,172,30, - 1,0,0,14,0,0,0,63,0,0,0,49,128,0,0,96, - 192,0,0,96,192,0,0,96,192,0,0,96,192,0,0,49, - 128,0,0,63,128,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,31,0,0,0,31,0,0,0,31, - 128,0,0,63,128,0,0,63,192,0,0,123,192,0,0,123, - 192,0,0,121,224,0,0,241,224,0,0,241,240,0,1,224, - 240,0,1,224,248,0,1,224,120,0,3,192,120,0,3,192, - 124,0,7,192,60,0,7,128,62,0,15,128,30,0,15,0, - 30,0,15,255,255,0,31,255,255,0,31,255,255,128,60,0, - 7,128,60,0,7,192,60,0,3,192,120,0,3,192,120,0, - 1,224,240,0,1,224,240,0,1,240,240,0,0,240,37,30, - 150,39,0,0,0,1,255,255,240,0,1,255,255,240,0,3, - 255,255,240,0,3,255,255,240,0,7,252,0,0,0,7,188, - 0,0,0,15,188,0,0,0,15,60,0,0,0,31,60,0, - 0,0,30,60,0,0,0,62,60,0,0,0,60,60,0,0, - 0,124,60,0,0,0,120,63,255,240,0,248,63,255,240,0, - 240,63,255,240,1,240,63,255,240,1,224,60,0,0,3,224, - 60,0,0,3,255,252,0,0,7,255,252,0,0,7,255,252, - 0,0,15,0,60,0,0,31,0,60,0,0,30,0,60,0, - 0,62,0,60,0,0,60,0,63,255,248,124,0,63,255,248, - 120,0,63,255,248,248,0,63,255,248,22,40,120,26,2,247, - 1,255,128,7,255,224,15,255,240,31,0,248,62,0,120,60, - 0,60,120,0,60,120,0,60,120,0,0,112,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,112, - 0,0,120,0,60,120,0,60,60,0,60,60,0,120,31,0, - 248,15,255,240,7,255,224,3,255,128,0,48,0,0,48,0, - 0,62,0,0,63,128,0,63,192,0,1,192,0,1,192,0, - 1,192,0,255,128,0,254,0,19,41,123,24,3,0,30,0, - 0,15,0,0,7,0,0,3,128,0,3,128,0,1,192,0, - 0,224,0,0,96,0,0,0,0,0,0,0,0,0,0,255, - 255,192,255,255,192,255,255,192,255,255,192,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,255,255,192,255,255,192,255,255,192,255, - 255,192,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,255,255,224, - 255,255,224,255,255,224,255,255,224,19,41,123,24,3,0,0, - 30,0,0,60,0,0,56,0,0,120,0,0,240,0,0,224, - 0,1,192,0,1,128,0,0,0,0,0,0,0,0,0,0, - 255,255,192,255,255,192,255,255,192,255,255,192,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 255,255,192,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,19,41,123,24,3,0, - 1,224,0,3,240,0,7,240,0,7,120,0,15,56,0,14, - 28,0,28,28,0,24,14,0,0,0,0,0,0,0,0,0, - 0,255,255,192,255,255,192,255,255,192,255,255,192,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,255,255,192,255,255,192,255,255, - 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,19,39,117,24,3, - 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,192,255, - 255,192,255,255,192,255,255,192,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,255,255,192,255,255,192,255,255,192,255,255,192,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,255,255,224,255,255,224, - 255,255,224,255,255,224,8,41,41,10,255,0,240,120,56,28, - 30,14,7,3,0,0,0,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,7,41,41,10,3,0,30,30,60,56,112, - 112,224,192,0,0,0,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,12,41,82,10,255,0,15,0,31,0,31,128, - 63,128,57,192,112,224,96,224,224,112,0,0,0,0,0,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,12,39,78,11, - 0,0,240,240,240,240,240,240,240,240,0,0,0,0,0,0, - 0,0,0,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 26,30,120,28,0,0,31,255,0,0,31,255,224,0,31,255, - 248,0,31,255,252,0,30,0,254,0,30,0,63,0,30,0, - 31,0,30,0,15,128,30,0,7,128,30,0,7,128,30,0, - 3,192,30,0,3,192,30,0,3,192,30,0,3,192,255,252, - 3,192,255,252,3,192,255,252,3,192,30,0,3,192,30,0, - 3,192,30,0,3,192,30,0,7,128,30,0,7,128,30,0, - 15,128,30,0,31,0,30,0,63,0,30,0,254,0,31,255, - 252,0,31,255,248,0,31,255,224,0,31,255,0,0,22,39, - 117,28,3,0,0,131,0,3,243,0,7,255,0,7,62,0, - 6,8,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 0,60,252,0,60,254,0,60,254,0,60,255,0,60,255,0, - 60,255,128,60,247,128,60,247,192,60,243,192,60,243,224,60, - 241,224,60,241,240,60,240,240,60,240,248,60,240,120,60,240, - 124,60,240,60,60,240,62,60,240,30,60,240,31,60,240,15, - 60,240,15,188,240,7,188,240,3,252,240,3,252,240,1,252, - 240,1,252,240,0,252,240,0,252,26,41,164,30,2,0,1, - 224,0,0,0,240,0,0,0,120,0,0,0,56,0,0,0, - 28,0,0,0,28,0,0,0,14,0,0,0,7,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,1,255,224,0,3, - 255,240,0,15,255,252,0,31,255,254,0,31,0,62,0,62, - 0,31,0,60,0,15,0,120,0,7,128,120,0,7,128,112, - 0,3,128,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,112,0,3,128,120,0,7,128,120, - 0,7,128,120,0,15,128,60,0,15,0,62,0,31,0,31, - 128,126,0,15,255,252,0,7,255,248,0,3,255,240,0,0, - 255,192,0,26,41,164,30,2,0,0,1,224,0,0,3,192, - 0,0,7,128,0,0,7,0,0,0,15,0,0,0,14,0, - 0,0,28,0,0,0,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,255,224,0,3,255,240,0,15,255,252, - 0,31,255,254,0,31,0,62,0,62,0,31,0,60,0,15, - 0,120,0,7,128,120,0,7,128,112,0,3,128,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,112,0,3,128,120,0,7,128,120,0,7,128,120,0,15, - 128,60,0,15,0,62,0,31,0,31,128,126,0,15,255,252, - 0,7,255,248,0,3,255,240,0,0,255,192,0,26,41,164, - 30,2,0,0,30,0,0,0,63,0,0,0,63,0,0,0, - 127,128,0,0,115,128,0,0,225,192,0,0,192,224,0,1, - 192,96,0,0,0,0,0,0,0,0,0,0,0,0,0,1, - 255,224,0,3,255,240,0,15,255,252,0,31,255,254,0,31, - 0,62,0,62,0,31,0,60,0,15,0,120,0,7,128,120, - 0,7,128,112,0,3,128,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,112,0,3,128,120, - 0,7,128,120,0,7,128,120,0,15,128,60,0,15,0,62, - 0,31,0,31,128,126,0,15,255,252,0,7,255,248,0,3, - 255,240,0,0,255,192,0,26,39,156,30,2,0,0,32,96, - 0,0,252,224,0,0,255,224,0,1,207,192,0,1,129,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,255,224,0,3,255,240,0,15,255,252,0,31,255,254, - 0,31,0,62,0,62,0,31,0,60,0,15,0,120,0,7, - 128,120,0,7,128,112,0,3,128,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,112,0,3, - 128,120,0,7,128,120,0,7,128,120,0,15,128,60,0,15, - 0,62,0,31,0,31,128,126,0,15,255,252,0,7,255,248, - 0,3,255,240,0,0,255,192,0,26,39,156,30,2,0,0, - 240,240,0,0,240,240,0,0,240,240,0,0,240,240,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,255,224,0,3,255,240,0,15,255,252,0,31, - 255,254,0,31,0,62,0,62,0,31,0,60,0,15,0,120, - 0,7,128,120,0,7,128,112,0,3,128,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,112, - 0,3,128,120,0,7,128,120,0,7,128,120,0,15,128,60, - 0,15,0,62,0,31,0,31,128,126,0,15,255,252,0,7, - 255,248,0,3,255,240,0,0,255,192,0,22,22,66,40,9, - 1,96,0,24,240,0,60,120,0,120,56,0,112,28,0,224, - 14,1,192,7,3,128,3,135,0,1,206,0,0,252,0,0, - 120,0,0,120,0,0,252,0,1,206,0,3,135,0,7,3, - 128,14,1,192,28,0,224,56,0,112,112,0,56,96,0,24, - 64,0,8,26,38,152,30,2,252,0,0,1,0,0,0,3, - 128,0,0,3,192,0,0,7,128,0,255,199,128,3,255,255, - 0,15,255,255,0,31,255,254,0,31,0,62,0,62,0,127, - 0,124,0,127,0,120,0,255,128,120,1,247,128,240,1,227, - 128,240,3,195,192,240,7,195,192,240,7,131,192,240,15,3, - 192,240,31,3,192,240,30,3,192,240,60,3,192,240,124,3, - 192,240,248,3,192,112,240,3,192,121,240,7,128,123,224,7, - 128,127,192,15,128,63,192,15,0,63,128,31,0,31,128,126, - 0,31,255,252,0,31,255,248,0,63,255,240,0,124,255,192, - 0,120,0,0,0,240,0,0,0,112,0,0,0,32,0,0, - 0,23,41,123,29,3,0,3,192,0,1,192,0,1,224,0, - 0,240,0,0,112,0,0,56,0,0,24,0,0,28,0,0, - 0,0,0,0,0,0,0,0,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,120,0,60,120,0,60, - 124,0,124,62,0,248,63,255,248,31,255,240,15,255,224,3, - 255,128,23,41,123,29,3,0,0,7,128,0,7,0,0,15, - 0,0,30,0,0,28,0,0,56,0,0,48,0,0,112,0, - 0,0,0,0,0,0,0,0,0,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,120,0,60,120,0, - 60,124,0,124,62,0,248,63,255,248,31,255,240,15,255,224, - 3,255,128,23,41,123,29,3,0,0,124,0,0,124,0,0, - 254,0,0,238,0,1,199,0,1,199,0,3,131,128,7,1, - 128,0,0,0,0,0,0,0,0,0,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,120,0,60,120, - 0,60,124,0,124,62,0,248,63,255,248,31,255,240,15,255, - 224,3,255,128,23,38,114,29,3,0,3,195,192,3,195,192, - 3,195,192,3,195,192,0,0,0,0,0,0,0,0,0,0, - 0,0,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,120,0,60,120,0,60,124,0,124,62,0,248, - 63,255,248,31,255,240,15,255,224,3,255,128,24,41,123,26, - 1,0,0,3,192,0,7,128,0,7,0,0,15,0,0,14, - 0,0,28,0,0,24,0,0,48,0,0,0,0,0,0,0, - 0,0,0,248,0,15,248,0,31,124,0,30,124,0,60,62, - 0,124,30,0,120,31,0,248,15,0,240,15,129,224,7,129, - 224,3,195,192,3,227,192,1,231,128,1,247,0,0,255,0, - 0,254,0,0,126,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,19,30,90, - 24,3,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,255,248,0,255,255,0,255,255,128,255,255, - 192,240,15,192,240,3,224,240,1,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,3,224,240,15,192,255,255,192,255, - 255,128,255,255,0,255,248,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,20,30,90, - 22,2,0,3,248,0,15,254,0,63,255,0,124,15,0,248, - 7,128,240,7,128,240,7,128,240,7,128,240,15,0,240,31, - 0,240,62,0,240,124,0,240,248,0,240,240,0,240,240,0, - 240,248,0,240,126,0,240,63,0,240,31,192,240,15,224,240, - 3,224,240,1,240,240,0,240,240,0,240,243,192,240,243,192, - 240,241,224,240,241,241,224,240,255,224,240,63,128,18,31,93, - 23,2,0,7,128,0,7,128,0,3,192,0,1,192,0,0, - 224,0,0,112,0,0,48,0,0,0,0,0,0,0,0,0, - 0,0,0,0,15,254,0,63,255,0,62,15,128,120,7,128, - 120,3,192,0,3,192,0,3,192,3,255,192,15,255,192,63, - 255,192,126,3,192,120,3,192,240,3,192,240,3,192,240,7, - 192,240,7,192,248,15,192,124,63,192,63,251,192,31,227,192, - 18,32,96,23,2,0,0,60,0,0,60,0,0,120,0,0, - 240,0,0,224,0,1,192,0,1,128,0,3,128,0,0,0, - 0,0,0,0,0,0,0,0,0,0,15,254,0,63,255,0, - 62,15,128,120,7,128,120,3,192,0,3,192,0,3,192,3, - 255,192,15,255,192,63,255,192,126,3,192,120,3,192,240,3, - 192,240,3,192,240,7,192,240,7,192,248,15,192,124,63,192, - 63,251,192,31,227,192,18,32,96,23,2,0,1,224,0,3, - 240,0,3,240,0,7,184,0,7,60,0,14,28,0,12,14, - 0,28,6,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,227,192,18,30,90,23, - 2,0,7,134,0,15,206,0,15,254,0,28,124,0,24,16, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,243,192,18,30,90,23, - 2,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,227,192,18,34,102,23, - 2,0,1,224,0,3,240,0,6,24,0,12,12,0,12,12, - 0,12,12,0,12,12,0,6,24,0,3,240,0,1,224,0, - 0,0,0,0,0,0,0,0,0,0,0,0,15,254,0,63, - 255,0,62,15,128,120,7,128,120,3,192,0,3,192,0,3, - 192,3,255,192,15,255,192,63,255,192,126,3,192,120,3,192, - 240,3,192,240,3,192,240,7,192,240,7,192,248,15,192,124, - 63,192,63,251,192,31,227,192,32,20,80,36,2,1,15,248, - 31,240,63,254,63,248,124,30,120,60,120,7,112,30,120,7, - 224,14,0,3,224,15,0,3,192,15,0,127,255,255,31,255, - 255,255,63,255,255,255,126,3,192,0,120,3,192,0,240,3, - 192,0,240,3,192,15,240,7,224,14,240,7,224,30,248,14, - 112,30,126,62,124,124,63,252,63,248,31,240,15,240,17,30, - 90,21,2,247,15,252,0,31,254,0,62,31,0,120,15,128, - 120,7,128,240,7,128,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,7,128,112,7, - 128,120,7,128,120,15,0,62,31,0,31,254,0,15,252,0, - 1,128,0,1,128,0,1,240,0,1,252,0,1,254,0,0, - 14,0,0,14,0,0,14,0,7,252,0,7,240,0,18,32, - 96,22,2,0,30,0,0,15,0,0,7,0,0,3,128,0, - 3,192,0,1,192,0,0,224,0,0,96,0,0,0,0,0, - 0,0,0,0,0,0,0,0,7,252,0,31,254,0,62,31, - 0,60,7,128,120,3,128,112,3,192,240,3,192,240,3,192, - 255,255,192,255,255,192,255,255,192,240,0,0,240,0,0,240, - 0,0,112,3,192,120,7,128,56,7,128,62,31,0,31,254, - 0,7,252,0,18,32,96,22,2,0,0,30,0,0,60,0, - 0,120,0,0,112,0,0,224,0,0,224,0,1,192,0,1, - 128,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, - 0,31,254,0,62,31,0,60,7,128,120,3,128,112,3,192, - 240,3,192,240,3,192,255,255,192,255,255,192,255,255,192,240, - 0,0,240,0,0,240,0,0,112,3,192,120,7,128,56,7, - 128,62,31,0,31,254,0,7,252,0,18,32,96,22,2,0, - 1,224,0,3,240,0,3,240,0,7,248,0,7,56,0,14, - 28,0,12,12,0,28,14,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,31,254,0,62,31,0,60,7,128, - 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, - 192,120,7,128,56,7,128,62,31,0,31,254,0,7,252,0, - 18,30,90,22,2,0,30,30,0,30,30,0,30,30,0,30, - 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,31,254,0,62,15,0,60,7,128, - 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, - 192,120,3,128,60,7,128,62,15,0,31,254,0,7,252,0, - 8,32,32,10,255,0,240,120,56,28,30,14,7,3,0,0, - 0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,9,32,64,10,2,0,15,128,15,0, - 30,0,28,0,56,0,56,0,112,0,224,0,0,0,0,0, - 0,0,0,0,120,0,120,0,120,0,120,0,120,0,120,0, - 120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0, - 120,0,120,0,120,0,120,0,120,0,120,0,12,32,64,10, - 255,0,15,0,31,128,31,128,59,192,57,192,112,224,224,96, - 192,112,0,0,0,0,0,0,0,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,12,30,60,10,255,0,240,240,240,240,240,240,240,240, - 0,0,0,0,0,0,0,0,0,0,0,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,20,30,90,24,2,0,16,1,0,60,7,0, - 30,31,0,7,252,0,3,240,0,7,240,0,62,120,0,120, - 60,0,96,30,0,0,15,0,7,255,128,31,255,192,63,15, - 192,60,3,192,120,1,224,120,1,224,240,1,224,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, - 1,224,120,1,224,120,3,224,60,3,192,63,15,128,31,255, - 0,7,254,0,18,30,90,24,3,0,7,14,0,15,204,0, - 31,252,0,28,248,0,24,16,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,243,254,0,247,255,0,254,31, - 128,248,7,128,248,7,128,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,20,32,96,24,2,0,15,0,0,7,128,0, - 3,128,0,1,192,0,1,192,0,0,224,0,0,112,0,0, - 48,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, - 0,15,255,0,63,15,128,60,3,192,120,3,224,120,1,224, - 240,1,224,240,0,240,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,1,224,120,1,224,120,3,224,60,3, - 192,63,15,128,15,255,0,7,254,0,20,32,96,24,2,0, - 0,30,0,0,30,0,0,60,0,0,56,0,0,112,0,0, - 96,0,0,224,0,1,192,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,15,255,0,63,15,128,60,3,192, - 120,3,224,120,1,224,240,1,224,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,1,224,120,1, - 224,120,3,224,60,3,192,63,15,128,15,255,0,7,254,0, - 20,32,96,24,2,0,0,240,0,1,248,0,1,248,0,3, - 188,0,3,156,0,7,14,0,6,6,0,12,7,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,20,30,90,24,2,0,3,135,0,7, - 230,0,15,254,0,14,124,0,12,8,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,20,30,90,24,2,0,15,15,0,15, - 15,0,15,15,0,15,15,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,24,19,57,40,8,2,0,16,0,0, - 56,0,0,124,0,0,124,0,0,124,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0, - 0,0,0,0,0,0,0,56,0,0,124,0,0,124,0,0, - 124,0,0,56,0,21,26,78,24,1,254,0,0,56,0,0, - 120,0,0,112,3,255,224,7,255,192,31,135,192,30,3,224, - 60,7,240,60,15,240,120,14,240,120,28,120,120,56,120,120, - 120,120,120,112,120,120,224,120,121,192,120,123,192,240,63,128, - 240,63,1,240,30,1,224,15,135,192,31,255,128,59,255,0, - 112,0,0,240,0,0,96,0,0,18,32,96,24,3,0,30, - 0,0,15,0,0,7,0,0,3,128,0,3,192,0,1,192, - 0,0,224,0,0,96,0,0,0,0,0,0,0,0,0,0, - 0,0,0,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,7,192,120,7,192,124,31,192,63,251,192,31,243,192,18, - 32,96,24,3,0,0,62,0,0,60,0,0,120,0,0,112, - 0,0,224,0,0,224,0,1,192,0,3,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,7,192,120,7,192,124,31,192,63, - 251,192,31,243,192,18,32,96,24,3,0,1,224,0,3,240, - 0,3,240,0,7,120,0,7,56,0,14,28,0,28,12,0, - 24,14,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 7,192,124,31,192,63,251,192,31,243,192,18,30,90,24,3, - 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,40,120,21,1, - 248,0,15,0,0,30,0,0,28,0,0,56,0,0,112,0, - 0,112,0,0,224,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,240,240,1,224,120,1,224,120,1, - 192,60,3,192,60,3,192,62,7,128,30,7,128,30,7,0, - 15,15,0,15,15,0,15,158,0,7,158,0,7,156,0,3, - 252,0,3,252,0,1,248,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,224,0,1,224,0,33,224,0,243,192,0, - 127,192,0,127,128,0,31,0,0,19,38,114,24,3,248,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,243,254,0, - 247,255,0,254,15,128,252,7,192,248,3,192,248,3,192,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,248,3,192,248,3,192,252,7,192, - 254,15,128,247,255,0,243,254,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,20,38,114,22,1,248,15,15,0,15,15,0,15,15,0, - 15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,240,248,0,224,120,1,224,120,1, - 224,60,3,192,60,3,192,62,3,128,30,7,128,30,7,128, - 15,15,0,15,15,0,7,143,0,7,158,0,7,222,0,3, - 252,0,3,252,0,1,252,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 30 - Calculated Max Values w=24 h=33 x= 8 y=15 dx=40 dy= 0 ascent=31 len=90 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =30 descent= 0 - X Font ascent =30 descent= 0 - Max Font ascent =31 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30n[1201] U8G_FONT_SECTION("u8g_font_fur30n") = { - 0,54,54,253,245,30,0,0,0,0,42,58,0,31,251,30, - 0,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=37 h=43 x=10 y=25 dx=40 dy= 0 ascent=33 len=185 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =33 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30r[7380] U8G_FONT_SECTION("u8g_font_fur30r") = { - 0,54,54,253,245,30,9,94,20,223,32,127,249,33,245,31, - 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, - 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, - 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, - 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, - 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, - 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, - 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, - 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, - 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, - 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, - 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, - 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, - 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, - 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, - 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, - 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, - 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, - 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, - 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, - 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, - 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, - 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, - 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, - 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, - 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, - 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, - 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, - 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, - 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, - 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, - 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, - 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, - 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, - 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, - 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, - 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, - 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, - 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, - 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, - 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, - 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, - 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, - 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, - 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, - 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, - 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, - 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, - 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, - 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, - 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, - 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, - 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, - 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, - 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, - 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, - 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, - 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, - 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, - 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, - 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, - 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, - 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, - 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, - 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, - 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, - 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, - 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, - 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, - 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, - 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, - 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, - 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, - 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, - 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, - 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, - 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, - 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, - 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, - 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, - 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, - 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, - 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, - 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, - 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, - 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, - 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, - 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, - 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, - 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, - 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, - 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, - 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, - 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, - 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, - 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, - 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, - 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, - 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, - 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, - 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, - 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, - 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, - 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, - 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, - 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, - 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, - 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, - 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, - 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, - 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, - 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, - 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, - 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, - 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, - 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, - 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, - 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, - 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, - 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, - 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, - 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, - 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, - 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, - 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, - 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, - 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, - 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, - 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, - 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, - 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, - 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, - 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, - 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, - 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, - 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, - 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, - 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, - 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, - 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, - 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, - 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, - 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, - 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, - 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, - 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, - 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, - 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, - 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, - 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, - 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, - 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, - 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, - 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, - 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, - 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, - 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, - 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, - 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, - 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, - 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, - 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, - 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, - 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, - 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, - 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, - 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, - 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, - 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, - 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, - 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, - 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, - 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, - 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, - 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, - 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, - 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, - 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, - 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, - 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, - 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, - 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, - 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, - 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, - 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, - 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, - 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, - 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, - 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, - 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, - 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, - 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, - 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, - 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, - 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, - 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, - 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, - 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, - 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, - 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, - 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, - 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, - 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, - 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, - 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, - 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, - 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, - 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, - 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, - 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, - 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, - 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, - 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, - 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, - 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, - 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, - 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, - 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, - 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, - 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, - 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, - 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, - 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, - 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, - 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, - 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, - 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, - 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, - 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, - 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, - 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, - 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, - 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, - 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, - 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, - 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, - 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, - 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, - 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, - 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, - 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, - 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, - 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, - 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, - 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, - 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, - 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, - 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, - 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, - 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, - 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, - 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, - 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, - 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, - 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, - 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, - 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, - 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, - 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, - 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, - 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, - 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, - 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, - 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, - 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, - 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, - 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, - 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, - 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, - 240,15,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--48-480-72-72-P-226-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 35 - Calculated Max Values w=29 h=39 x=10 y=16 dx=49 dy= 0 ascent=36 len=116 - Font Bounding box w=65 h=64 x=-4 y=-13 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =35 descent= 0 - X Font ascent =35 descent= 0 - Max Font ascent =36 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur35n[1447] U8G_FONT_SECTION("u8g_font_fur35n") = { - 0,65,64,252,243,35,0,0,0,0,42,58,0,36,250,35, - 0,19,19,57,31,6,16,6,12,0,30,15,0,15,30,0, - 15,30,0,7,28,0,3,184,0,1,176,0,193,240,96,255, - 255,224,255,255,224,248,227,224,1,240,0,3,184,0,7,188, - 0,7,28,0,15,30,0,30,15,0,14,14,0,2,8,0, - 29,29,116,49,10,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,255,255,255,248,255,255, - 255,248,255,255,255,248,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,9,12,24,13,2,250, - 31,128,31,0,31,0,62,0,62,0,62,0,60,0,124,0, - 120,0,120,0,112,0,240,0,12,4,8,16,2,10,255,240, - 255,240,255,240,255,240,5,6,6,13,5,0,248,248,248,248, - 248,248,15,39,78,19,2,253,0,14,0,30,0,28,0,28, - 0,60,0,56,0,56,0,120,0,112,0,112,0,112,0,240, - 0,224,0,224,1,224,1,192,1,192,1,192,3,192,3,128, - 3,128,7,128,7,0,7,0,15,0,15,0,14,0,14,0, - 30,0,28,0,28,0,60,0,56,0,56,0,56,0,120,0, - 112,0,112,0,240,0,22,35,105,27,2,1,3,255,0,7, - 255,128,31,255,224,31,255,224,62,3,240,62,1,240,124,0, - 248,120,0,248,120,0,120,248,0,120,248,0,124,248,0,124, - 248,0,124,248,0,124,248,0,124,248,0,124,248,0,124,248, - 0,124,248,0,124,248,0,124,248,0,124,248,0,124,248,0, - 124,248,0,124,120,0,124,120,0,120,120,0,120,124,0,248, - 60,0,248,62,1,240,63,3,240,31,255,224,15,255,192,7, - 255,128,1,255,0,12,35,70,27,7,0,3,240,7,240,15, - 240,31,240,127,240,255,240,253,240,241,240,193,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,21,35,105,27,3,1,3,255,0,15,255,128,31,255,192, - 63,255,224,63,1,240,126,0,240,124,0,248,124,0,248,124, - 0,248,124,0,248,0,0,248,0,0,248,0,0,240,0,1, - 240,0,3,224,0,7,224,0,7,192,0,15,128,0,31,128, - 0,63,0,0,126,0,0,252,0,1,248,0,3,240,0,7, - 224,0,15,192,0,31,192,0,31,128,0,63,0,0,126,0, - 0,252,0,0,255,255,248,255,255,248,255,255,248,255,255,248, - 22,35,105,27,2,1,3,255,0,15,255,192,31,255,224,31, - 255,240,63,1,248,62,0,248,124,0,120,124,0,120,124,0, - 124,0,0,120,0,0,120,0,0,248,0,1,240,0,15,224, - 0,255,192,0,255,0,0,255,128,0,255,192,0,15,224,0, - 1,240,0,0,248,0,0,248,0,0,124,0,0,124,0,0, - 124,248,0,124,248,0,124,252,0,124,252,0,120,124,0,248, - 127,3,248,63,255,240,31,255,224,15,255,192,3,255,0,24, - 35,105,27,1,0,0,3,240,0,7,240,0,7,240,0,15, - 240,0,31,240,0,63,240,0,61,240,0,121,240,0,249,240, - 0,241,240,1,225,240,3,225,240,3,193,240,7,129,240,15, - 129,240,15,1,240,30,1,240,62,1,240,60,1,240,120,1, - 240,248,1,240,240,1,240,255,255,255,255,255,255,255,255,255, - 255,255,255,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,21,35, - 105,27,3,0,127,255,224,127,255,224,127,255,224,127,255,224, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,254,0,125,255,128,127,255, - 192,127,131,224,126,1,240,124,0,240,120,0,248,120,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,248,0,120,248,0,248,248,0,240,248,1,240,126,3, - 224,63,255,224,63,255,192,15,255,128,7,254,0,23,35,105, - 27,2,1,1,255,128,7,255,192,15,255,224,31,193,240,31, - 0,248,62,0,248,62,0,120,124,0,120,124,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,127,0,120,255,192, - 249,255,240,251,255,240,255,131,248,254,0,248,252,0,124,252, - 0,124,248,0,60,248,0,60,248,0,60,248,0,62,248,0, - 60,248,0,60,120,0,60,124,0,124,124,0,120,63,1,248, - 31,255,240,15,255,224,7,255,192,1,255,0,21,35,105,27, - 3,0,255,255,248,255,255,248,255,255,248,255,255,248,0,0, - 120,0,0,248,0,0,240,0,1,240,0,1,240,0,1,224, - 0,3,224,0,3,224,0,7,192,0,7,192,0,7,128,0, - 15,128,0,15,128,0,15,0,0,31,0,0,31,0,0,62, - 0,0,62,0,0,62,0,0,124,0,0,124,0,0,248,0, - 0,248,0,0,248,0,1,240,0,1,240,0,3,240,0,3, - 224,0,3,224,0,7,192,0,7,192,0,22,35,105,27,2, - 1,3,255,128,15,255,224,31,255,240,63,255,248,63,1,248, - 126,0,252,124,0,124,124,0,124,124,0,124,124,0,124,124, - 0,124,60,0,120,62,0,248,31,131,240,15,255,224,3,255, - 128,7,255,128,15,255,224,31,3,240,62,0,248,124,0,120, - 120,0,124,248,0,60,248,0,60,248,0,60,248,0,60,248, - 0,60,248,0,60,248,0,124,124,0,124,126,1,248,63,255, - 248,31,255,240,15,255,224,3,255,128,22,35,105,27,2,1, - 3,255,128,15,255,192,31,255,224,63,255,240,126,1,248,124, - 0,248,120,0,248,248,0,124,248,0,124,248,0,124,248,0, - 124,248,0,124,248,0,124,248,0,124,248,0,252,120,0,252, - 124,1,252,127,3,252,63,255,252,31,255,124,15,254,124,3, - 248,124,0,0,124,0,0,124,0,0,120,0,0,120,0,0, - 248,120,0,248,120,1,240,124,1,240,62,3,224,63,255,224, - 31,255,192,15,255,128,7,254,0,5,24,24,13,5,0,248, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,0, - 0,248,248,248,248,248,248}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--58-580-72-72-P-271-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 42 - Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=175 - Font Bounding box w=78 h=76 x=-4 y=-15 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =42 descent= 0 - X Font ascent =42 descent= 0 - Max Font ascent =43 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur42n[2194] U8G_FONT_SECTION("u8g_font_fur42n") = { - 0,78,76,252,241,42,0,0,0,0,42,58,0,43,249,42, - 0,23,22,66,37,7,20,3,1,128,7,131,192,15,131,224, - 7,131,192,7,199,192,3,199,128,1,239,0,0,238,0,0, - 254,0,254,124,254,255,255,254,255,255,254,254,124,254,0,124, - 0,0,238,0,1,239,0,3,199,128,3,199,128,7,195,192, - 15,131,224,15,131,224,3,1,128,35,35,175,59,12,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,255,255,255,255,224,255, - 255,255,255,224,255,255,255,255,224,255,255,255,255,224,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,10,15, - 30,16,3,249,31,192,31,192,31,128,63,128,63,0,63,0, - 62,0,62,0,126,0,124,0,124,0,120,0,248,0,248,0, - 240,0,14,5,10,18,2,12,255,252,255,252,255,252,255,252, - 255,252,6,7,7,16,6,0,252,252,252,252,252,252,252,17, - 46,138,23,3,253,0,7,128,0,7,128,0,7,128,0,15, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,60,0,0,60,0,0,60,0,0,120,0,0, - 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,240, - 0,1,224,0,1,224,0,1,224,0,3,192,0,3,192,0, - 3,192,0,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,62,0,0,60,0,0,60,0,0,60,0,0,120,0,0, - 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,26, - 43,172,32,3,0,0,255,224,0,3,255,240,0,7,255,252, - 0,15,255,254,0,31,255,254,0,31,128,127,0,63,0,63, - 0,62,0,31,128,126,0,31,128,124,0,15,128,124,0,15, - 192,124,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, - 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, - 192,248,0,7,192,252,0,7,192,252,0,7,192,252,0,7, - 192,252,0,7,192,252,0,7,192,124,0,15,192,124,0,15, - 192,124,0,15,192,126,0,15,128,126,0,31,128,62,0,31, - 128,63,0,63,0,31,128,127,0,31,224,254,0,15,255,254, - 0,7,255,252,0,3,255,248,0,1,255,224,0,0,63,128, - 0,14,42,84,32,8,0,0,252,1,252,3,252,7,252,15, - 252,63,252,127,252,255,124,254,124,248,124,224,124,128,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,25,42,168,32,4, - 1,1,255,192,0,7,255,240,0,15,255,248,0,31,255,252, - 0,31,255,254,0,63,128,127,0,63,0,63,0,127,0,31, - 128,126,0,31,128,126,0,31,128,126,0,15,128,126,0,15, - 128,0,0,31,128,0,0,31,128,0,0,31,0,0,0,63, - 0,0,0,63,0,0,0,126,0,0,0,252,0,0,1,252, - 0,0,3,248,0,0,7,240,0,0,7,224,0,0,15,224, - 0,0,31,192,0,0,63,128,0,0,127,0,0,0,254,0, - 0,1,252,0,0,3,248,0,0,7,240,0,0,15,224,0, - 0,31,224,0,0,63,192,0,0,63,128,0,0,127,0,0, - 0,254,0,0,0,255,255,255,128,255,255,255,128,255,255,255, - 128,255,255,255,128,255,255,255,128,26,43,172,32,3,0,1, - 255,192,0,7,255,240,0,15,255,252,0,31,255,254,0,31, - 255,255,0,63,128,127,0,63,0,63,128,127,0,31,128,126, - 0,15,128,126,0,15,128,252,0,15,128,0,0,15,128,0, - 0,15,128,0,0,31,128,0,0,31,128,0,0,63,0,0, - 0,126,0,0,3,252,0,0,127,248,0,0,127,240,0,0, - 127,224,0,0,127,240,0,0,127,252,0,0,3,254,0,0, - 0,127,0,0,0,63,128,0,0,31,192,0,0,15,192,0, - 0,7,192,0,0,7,192,0,0,7,192,252,0,7,192,252, - 0,7,192,252,0,7,192,254,0,15,192,254,0,31,192,127, - 0,63,128,127,192,255,0,63,255,255,0,31,255,254,0,15, - 255,248,0,3,255,240,0,0,255,128,0,29,42,168,32,2, - 0,0,0,127,0,0,0,127,0,0,0,255,0,0,1,255, - 0,0,3,255,0,0,3,255,0,0,7,223,0,0,15,223, - 0,0,15,159,0,0,31,31,0,0,63,31,0,0,62,31, - 0,0,124,31,0,0,252,31,0,0,248,31,0,1,240,31, - 0,3,240,31,0,3,224,31,0,7,192,31,0,15,192,31, - 0,15,128,31,0,31,0,31,0,63,0,31,0,126,0,31, - 0,124,0,31,0,252,0,31,0,248,0,31,0,255,255,255, - 248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255, - 248,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, - 0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, - 0,0,0,31,0,0,0,31,0,26,43,172,32,3,255,127, - 255,255,0,127,255,255,0,127,255,255,0,127,255,255,0,127, - 255,255,0,124,0,0,0,124,0,0,0,124,0,0,0,124, - 0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,124, - 0,0,0,124,0,0,0,124,31,192,0,124,127,240,0,124, - 255,252,0,125,255,252,0,127,224,254,0,127,128,63,0,127, - 0,31,0,126,0,31,128,126,0,15,128,124,0,15,128,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,7,192,0, - 0,7,192,0,0,15,192,0,0,15,192,0,0,15,192,252, - 0,15,128,252,0,31,128,254,0,31,128,126,0,63,0,127, - 0,127,0,127,192,254,0,63,255,252,0,31,255,248,0,15, - 255,240,0,3,255,224,0,0,127,0,0,27,43,172,32,3, - 0,0,127,240,0,1,255,252,0,3,255,254,0,7,255,255, - 0,15,240,63,0,31,192,31,128,31,128,15,128,63,0,15, - 192,63,0,15,192,126,0,7,192,126,0,0,0,126,0,0, - 0,124,0,0,0,124,0,0,0,124,0,0,0,124,0,0, - 0,124,15,224,0,124,63,248,0,124,255,254,0,124,255,255, - 0,125,255,255,128,127,224,127,128,127,192,31,192,255,128,15, - 192,255,0,7,192,255,0,7,224,254,0,7,224,254,0,7, - 224,254,0,3,224,254,0,3,224,254,0,3,224,254,0,7, - 224,254,0,7,224,126,0,7,224,127,0,7,192,63,0,15, - 192,63,192,31,128,31,224,127,128,15,255,255,0,7,255,254, - 0,3,255,252,0,0,255,240,0,0,63,192,0,26,42,168, - 32,3,0,255,255,255,192,255,255,255,192,255,255,255,192,255, - 255,255,192,255,255,255,192,0,0,7,192,0,0,15,192,0, - 0,15,128,0,0,31,128,0,0,31,128,0,0,31,0,0, - 0,63,0,0,0,63,0,0,0,126,0,0,0,126,0,0, - 0,124,0,0,0,252,0,0,0,252,0,0,1,248,0,0, - 1,248,0,0,1,248,0,0,3,240,0,0,3,240,0,0, - 7,224,0,0,7,224,0,0,15,224,0,0,15,192,0,0, - 15,192,0,0,31,128,0,0,31,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,127,0,0,0,126,0,0,0, - 254,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, - 248,0,0,3,248,0,0,3,240,0,0,27,43,172,32,2, - 0,0,255,224,0,3,255,252,0,15,255,254,0,31,255,255, - 0,63,255,255,128,63,128,63,192,127,0,31,192,126,0,15, - 192,126,0,7,192,126,0,7,192,124,0,7,192,124,0,7, - 192,126,0,7,192,62,0,15,192,63,0,15,128,31,128,31, - 0,15,224,127,0,7,255,254,0,3,255,248,0,0,255,240, - 0,3,255,248,0,15,255,254,0,31,224,127,0,63,128,31, - 128,62,0,15,128,126,0,7,192,124,0,7,224,124,0,3, - 224,252,0,3,224,248,0,3,224,248,0,3,224,252,0,3, - 224,252,0,3,224,252,0,7,224,254,0,7,224,126,0,15, - 224,127,0,31,192,63,192,127,192,63,255,255,128,31,255,255, - 0,7,255,254,0,1,255,248,0,0,63,192,0,27,43,172, - 32,3,0,1,255,240,0,7,255,252,0,15,255,254,0,31, - 255,255,0,63,255,255,128,63,128,63,128,126,0,31,192,126, - 0,15,192,124,0,15,192,252,0,15,224,252,0,7,224,252, - 0,7,224,248,0,7,224,248,0,7,224,248,0,7,224,252, - 0,7,224,252,0,7,224,124,0,15,224,124,0,15,224,126, - 0,31,224,63,0,63,224,63,192,251,224,31,255,243,224,15, - 255,243,224,3,255,195,224,0,255,7,224,0,0,7,224,0, - 0,7,224,0,0,7,192,0,0,7,192,0,0,7,192,0, - 0,15,192,124,0,15,192,124,0,15,128,62,0,31,128,62, - 0,63,128,63,0,127,0,31,193,254,0,31,255,254,0,15, - 255,252,0,7,255,248,0,3,255,224,0,0,127,128,0,6, - 29,29,16,6,0,252,252,252,252,252,252,252,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,252,252,252,252,252, - 252,252}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--68-680-72-72-P-317-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 49 - Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=250 - Font Bounding box w=92 h=89 x=-5 y=-18 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =49 descent= 0 - X Font ascent =49 descent= 0 - Max Font ascent =50 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur49n[2683] U8G_FONT_SECTION("u8g_font_fur49n") = { - 0,92,89,251,238,49,0,0,0,0,42,58,0,50,247,49, - 0,27,26,104,45,9,23,0,192,96,0,3,192,120,0,15, - 192,126,0,7,224,252,0,3,224,248,0,1,241,240,0,1, - 241,240,0,0,251,224,0,0,123,192,0,0,59,128,0,224, - 63,128,224,255,255,255,224,255,255,255,224,255,255,255,224,255, - 159,63,224,128,63,128,32,0,123,192,0,0,123,192,0,0, - 241,224,0,1,241,240,0,3,241,248,0,3,224,248,0,7, - 224,252,0,15,192,124,0,3,192,120,0,0,128,32,0,41, - 41,246,69,14,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,255,255,255,255,255,128,255,255,255, - 255,255,128,255,255,255,255,255,128,255,255,255,255,255,128,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,12,17,34,19,3, - 247,15,240,15,240,15,224,15,224,31,224,31,192,31,192,31, - 128,63,128,63,0,63,0,62,0,126,0,126,0,124,0,124, - 0,248,0,16,6,12,22,3,14,255,255,255,255,255,255,255, - 255,255,255,255,255,7,8,8,19,7,0,254,254,254,254,254, - 254,254,254,21,54,162,27,3,252,0,0,248,0,0,240,0, - 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, - 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, - 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,124,0,0,120,0,0,248,0,0,248,0,0,240,0, - 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, - 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, - 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,124,0,0,120,0,0,248,0,0,31,51,204,38,3, - 255,0,31,240,0,0,127,252,0,1,255,255,0,3,255,255, - 128,7,255,255,192,15,255,255,224,31,240,31,240,31,192,15, - 240,63,128,7,248,63,128,3,248,63,0,1,248,127,0,1, - 252,126,0,1,252,126,0,0,252,126,0,0,252,254,0,0, - 252,254,0,0,254,252,0,0,254,252,0,0,254,252,0,0, - 254,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, - 126,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, - 126,252,0,0,126,252,0,0,254,254,0,0,254,254,0,0, - 254,254,0,0,254,254,0,0,254,126,0,0,254,126,0,0, - 252,126,0,0,252,127,0,1,252,127,0,1,252,63,0,1, - 252,63,128,3,248,63,128,3,248,31,192,7,248,31,224,15, - 240,15,248,63,240,15,255,255,224,7,255,255,192,3,255,255, - 128,1,255,255,0,0,127,252,0,0,15,240,0,16,49,98, - 38,9,0,0,127,0,255,1,255,3,255,7,255,31,255,63, - 255,127,255,255,255,255,63,252,63,240,63,192,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,29,50,200,38,4,0,0,31,224,0,0, - 255,252,0,3,255,255,0,7,255,255,128,15,255,255,192,31, - 255,255,224,31,240,31,224,63,224,7,240,63,192,3,240,63, - 128,3,248,127,128,3,248,127,0,1,248,127,0,1,248,127, - 0,1,248,127,0,1,248,0,0,1,248,0,0,1,248,0, - 0,3,248,0,0,3,248,0,0,7,240,0,0,7,240,0, - 0,15,224,0,0,31,224,0,0,63,192,0,0,127,128,0, - 0,127,0,0,0,255,0,0,1,254,0,0,3,252,0,0, - 7,248,0,0,15,240,0,0,31,240,0,0,63,224,0,0, - 127,192,0,0,127,128,0,0,255,0,0,1,254,0,0,3, - 252,0,0,7,248,0,0,15,248,0,0,31,240,0,0,63, - 224,0,0,127,192,0,0,255,128,0,0,255,0,0,0,255, - 255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255, - 255,255,248,31,51,204,38,3,255,0,31,240,0,0,255,254, - 0,1,255,255,128,3,255,255,192,7,255,255,224,15,248,31, - 240,31,224,7,248,31,192,3,248,63,192,1,252,63,128,0, - 252,63,128,0,252,127,0,0,252,127,0,0,252,127,0,0, - 252,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, - 248,0,0,3,248,0,0,7,240,0,0,31,224,0,0,255, - 192,0,31,255,128,0,31,254,0,0,31,252,0,0,31,255, - 0,0,31,255,192,0,0,255,224,0,0,15,240,0,0,7, - 248,0,0,3,252,0,0,1,252,0,0,0,254,0,0,0, - 254,0,0,0,126,0,0,0,126,0,0,0,126,254,0,0, - 126,254,0,0,126,255,0,0,126,255,0,0,254,127,0,0, - 254,127,128,1,252,127,128,3,252,63,224,7,248,31,248,31, - 240,15,255,255,224,7,255,255,192,3,255,255,128,0,255,254, - 0,0,31,240,0,34,50,250,38,2,0,0,0,15,240,0, - 0,0,15,240,0,0,0,31,240,0,0,0,63,240,0,0, - 0,63,240,0,0,0,127,240,0,0,0,255,240,0,0,0, - 255,240,0,0,1,251,240,0,0,3,251,240,0,0,3,243, - 240,0,0,7,227,240,0,0,15,227,240,0,0,15,195,240, - 0,0,31,131,240,0,0,63,131,240,0,0,63,3,240,0, - 0,126,3,240,0,0,254,3,240,0,1,252,3,240,0,1, - 248,3,240,0,3,248,3,240,0,7,240,3,240,0,7,224, - 3,240,0,15,224,3,240,0,31,192,3,240,0,31,128,3, - 240,0,63,128,3,240,0,127,0,3,240,0,126,0,3,240, - 0,252,0,3,240,0,252,0,3,240,0,255,255,255,255,192, - 255,255,255,255,192,255,255,255,255,192,255,255,255,255,192,255, - 255,255,255,192,255,255,255,255,192,0,0,3,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,3,240,0,0,0,3, - 240,0,0,0,3,240,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,3,240,0,0,0,3,240,0, - 0,0,3,240,0,30,50,200,38,4,255,63,255,255,224,63, - 255,255,224,63,255,255,224,63,255,255,224,63,255,255,224,63, - 255,255,224,63,0,0,0,63,0,0,0,63,0,0,0,63, - 0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63, - 0,0,0,63,0,0,0,63,0,0,0,63,3,248,0,63, - 31,254,0,63,63,255,128,63,127,255,192,63,255,255,224,63, - 248,31,224,63,224,7,240,63,192,3,240,63,128,3,248,63, - 0,1,248,63,0,1,252,62,0,1,252,0,0,0,252,0, - 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,0, - 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,254, - 0,1,252,254,0,1,248,254,0,1,248,255,0,3,248,127, - 0,3,240,127,128,7,224,127,192,15,224,63,240,63,192,31, - 255,255,128,15,255,255,0,7,255,254,0,1,255,248,0,0, - 31,224,0,31,51,204,38,3,255,0,7,248,0,0,63,255, - 0,0,255,255,192,1,255,255,224,3,255,255,240,7,252,15, - 240,15,248,7,248,31,224,3,248,31,192,1,252,63,192,1, - 252,63,128,0,252,63,0,0,252,127,0,0,252,127,0,0, - 0,127,0,0,0,126,0,0,0,126,0,0,0,126,0,0, - 0,126,0,0,0,126,0,0,0,126,7,252,0,126,31,255, - 0,126,63,255,192,126,127,255,224,126,255,255,240,127,252,15, - 248,127,240,3,248,255,192,1,252,255,192,1,252,255,128,0, - 254,255,128,0,254,255,0,0,126,255,0,0,126,255,0,0, - 126,255,0,0,126,255,0,0,126,255,0,0,126,255,0,0, - 126,127,0,0,126,127,0,0,126,127,128,0,254,63,128,0, - 252,63,128,1,252,31,192,1,252,31,224,3,248,15,248,15, - 240,7,255,255,224,3,255,255,192,1,255,255,128,0,127,254, - 0,0,15,248,0,30,49,196,38,4,0,255,255,255,252,255, - 255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,0, - 0,0,252,0,0,1,252,0,0,1,252,0,0,1,248,0, - 0,3,248,0,0,3,240,0,0,7,240,0,0,7,240,0, - 0,7,224,0,0,15,224,0,0,15,224,0,0,31,192,0, - 0,31,192,0,0,31,128,0,0,63,128,0,0,63,128,0, - 0,127,0,0,0,127,0,0,0,127,0,0,0,254,0,0, - 0,254,0,0,0,254,0,0,1,252,0,0,1,252,0,0, - 3,248,0,0,3,248,0,0,3,248,0,0,7,240,0,0, - 7,240,0,0,15,240,0,0,15,224,0,0,15,224,0,0, - 31,192,0,0,31,192,0,0,63,192,0,0,63,128,0,0, - 63,128,0,0,127,128,0,0,127,0,0,0,127,0,0,0, - 254,0,0,0,254,0,0,1,254,0,0,1,252,0,0,32, - 51,204,38,3,255,0,15,248,0,0,127,255,0,1,255,255, - 128,3,255,255,224,7,255,255,240,15,248,31,248,31,224,7, - 252,31,192,1,252,63,128,1,252,63,128,0,254,63,0,0, - 254,63,0,0,254,63,0,0,126,63,0,0,126,63,0,0, - 126,63,0,0,254,63,0,0,252,31,128,0,252,31,128,1, - 248,15,192,3,248,15,224,7,240,7,248,31,224,3,255,255, - 192,0,255,255,128,0,127,254,0,1,255,255,128,3,255,255, - 192,15,248,15,240,31,192,3,248,31,128,1,248,63,0,0, - 252,127,0,0,126,126,0,0,126,126,0,0,126,254,0,0, - 127,252,0,0,63,252,0,0,63,252,0,0,63,254,0,0, - 127,254,0,0,127,254,0,0,127,254,0,0,127,127,0,0, - 254,127,128,1,254,63,192,3,252,63,240,15,252,31,255,255, - 248,15,255,255,240,3,255,255,192,0,255,255,0,0,15,248, - 0,31,51,204,38,3,255,0,31,248,0,0,255,255,0,3, - 255,255,192,7,255,255,224,15,255,255,240,31,240,31,248,63, - 192,7,248,63,128,3,252,127,0,1,252,126,0,1,252,126, - 0,0,254,254,0,0,254,254,0,0,254,252,0,0,254,252, - 0,0,254,252,0,0,254,252,0,0,254,252,0,0,254,254, - 0,0,254,254,0,0,254,254,0,0,254,126,0,1,254,127, - 0,1,254,63,128,3,254,63,192,7,254,31,240,31,254,31, - 255,255,126,15,255,254,126,7,255,252,126,1,255,248,126,0, - 63,224,126,0,0,0,126,0,0,0,126,0,0,0,126,0, - 0,0,254,0,0,0,252,0,0,0,252,0,0,0,252,126, - 0,0,252,127,0,1,248,63,0,1,248,63,0,3,248,63, - 0,7,240,63,128,7,240,31,192,31,224,31,224,63,224,15, - 255,255,192,7,255,255,128,3,255,255,0,1,255,252,0,0, - 63,224,0,7,34,34,19,7,0,254,254,254,254,254,254,254, - 254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,254,254,254,254,254,254,254,254}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y=11 dx=16 dy= 0 ascent=16 len=34 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11[4313] U8G_FONT_SECTION("u8g_font_gdb11") = { - 0,27,26,247,250,11,2,67,5,71,32,255,252,16,251,14, - 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, - 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, - 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, - 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, - 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, - 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, - 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, - 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, - 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, - 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, - 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, - 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, - 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, - 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, - 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, - 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, - 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, - 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, - 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, - 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, - 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, - 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, - 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, - 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, - 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, - 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, - 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, - 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, - 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, - 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, - 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, - 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, - 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, - 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, - 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, - 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, - 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, - 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, - 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, - 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, - 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, - 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, - 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, - 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, - 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, - 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, - 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, - 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, - 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, - 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, - 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, - 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, - 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, - 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, - 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, - 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, - 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, - 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, - 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, - 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, - 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, - 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, - 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, - 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, - 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, - 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, - 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, - 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, - 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, - 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, - 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, - 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, - 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, - 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, - 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, - 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, - 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, - 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, - 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, - 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, - 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, - 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, - 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, - 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, - 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, - 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, - 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, - 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, - 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, - 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, - 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, - 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, - 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, - 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, - 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, - 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, - 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, - 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, - 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,4,0,0,3,13,13,6,1,251,96,224,64, - 64,64,64,96,96,96,96,96,96,192,7,11,11,9,1,0, - 16,24,126,148,144,144,144,210,124,16,16,8,11,11,9,1, - 0,30,34,98,96,96,252,96,96,97,127,158,7,7,7,9, - 1,2,132,126,68,68,68,68,254,10,11,22,9,255,0,227, - 192,113,0,51,0,58,0,26,0,30,0,12,0,127,128,12, - 0,12,0,30,0,1,19,19,4,2,252,128,128,128,128,128, - 128,128,128,0,0,0,128,128,128,128,128,128,128,128,7,13, - 13,9,1,0,112,152,144,240,252,158,130,98,60,12,68,100, - 124,6,3,3,7,0,9,196,204,140,11,12,24,13,1,0, - 31,0,32,128,79,64,147,32,146,32,144,32,144,32,144,32, - 137,32,78,64,32,128,31,0,5,6,6,5,0,5,112,208, - 176,144,248,240,7,8,8,9,1,0,18,38,108,220,220,108, - 38,18,7,4,4,9,1,1,254,2,2,2,6,1,1,6, - 0,4,252,6,7,7,6,0,6,120,72,188,188,180,104,120, - 7,1,1,9,1,11,254,4,4,4,6,1,7,112,144,144, - 224,7,8,8,7,0,1,16,16,254,16,16,16,0,254,4, - 7,7,6,1,5,112,208,16,32,64,144,240,4,7,7,6, - 1,5,48,80,144,48,16,144,224,4,4,4,6,2,9,112, - 96,192,128,9,12,24,10,1,252,227,0,99,0,99,0,99, - 0,99,0,99,0,127,128,91,0,64,0,64,0,96,0,112, - 0,10,13,26,11,0,254,63,192,98,128,194,128,194,128,98, - 128,62,128,2,128,2,128,2,128,2,128,2,128,2,128,7, - 192,3,3,3,4,0,5,224,224,192,2,4,4,4,2,252, - 192,64,64,192,4,7,7,6,1,5,32,224,32,32,32,32, - 240,4,6,6,5,0,5,96,144,144,144,96,240,8,8,8, - 9,1,0,136,76,102,55,55,102,76,136,10,11,22,11,1, - 0,192,192,65,128,65,0,66,0,68,0,172,0,8,128,19, - 128,50,128,99,192,197,192,9,11,22,11,1,0,192,128,65, - 0,66,0,66,0,68,0,168,0,25,128,18,128,33,0,98, - 128,199,128,11,11,22,11,0,0,96,96,80,192,32,128,17, - 0,146,0,230,0,4,64,9,192,25,64,49,224,98,224,6, - 13,13,8,1,251,56,56,48,16,16,16,32,96,192,196,204, - 204,112,11,16,32,11,0,0,16,0,24,0,12,0,6,0, - 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, - 33,128,33,192,96,192,241,224,11,16,32,11,0,0,1,0, - 3,128,6,0,12,0,0,0,6,0,14,0,14,0,11,0, - 19,0,19,0,63,128,33,128,33,192,96,192,241,224,11,16, - 32,11,0,0,4,0,14,0,31,0,17,0,0,128,6,0, - 14,0,14,0,11,0,19,0,19,0,63,128,33,128,33,192, - 96,192,241,224,11,15,30,11,0,0,12,128,31,128,39,0, - 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, - 33,128,33,192,96,192,241,224,11,15,30,11,0,0,16,128, - 49,128,49,128,0,0,6,0,14,0,14,0,11,0,19,0, - 19,0,63,128,33,128,33,192,96,192,241,224,11,16,32,11, - 0,0,6,0,10,0,10,0,14,0,0,0,6,0,14,0, - 14,0,11,0,19,0,19,0,63,128,33,128,33,192,96,192, - 241,224,14,11,22,15,0,0,15,252,7,140,5,136,13,128, - 9,128,31,248,25,128,17,128,49,132,33,132,243,252,9,15, - 30,10,0,252,31,0,99,0,64,0,192,0,192,0,192,0, - 192,0,192,0,96,0,112,128,31,0,4,0,2,0,6,0, - 28,0,9,16,32,9,0,0,32,0,48,0,24,0,4,0, - 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, - 48,0,48,128,48,128,255,128,9,16,32,9,0,0,2,0, - 7,0,14,0,24,0,0,0,255,0,49,0,49,0,48,0, - 48,0,63,0,48,0,48,0,48,128,48,128,255,128,9,16, - 32,9,0,0,8,0,28,0,30,0,35,0,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,15,30,9,0,0,33,0,97,0,99,0, - 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, - 48,0,48,128,48,128,255,128,5,16,16,6,0,0,64,224, - 112,16,8,120,48,48,48,48,48,48,48,48,48,120,5,16, - 16,6,1,0,16,56,112,192,0,240,96,96,96,96,96,96, - 96,96,96,240,6,16,16,6,0,0,48,112,120,204,0,120, - 48,48,48,48,48,48,48,48,48,120,7,15,15,6,255,0, - 66,194,194,0,60,24,24,24,24,24,24,24,24,24,60,9, - 11,22,11,1,0,254,0,99,0,97,0,97,128,97,128,249, - 128,97,128,97,128,97,0,99,0,252,0,10,15,30,12,1, - 0,25,0,63,0,46,0,0,0,225,192,96,128,112,128,120, - 128,92,128,76,128,70,128,71,128,67,128,65,128,225,128,10, - 16,32,11,0,0,16,0,24,0,12,0,2,0,0,0,30, - 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,0,30,0,10,16,32,11,0,0,1,0,3,128,6, - 0,12,0,0,0,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,10,16,32,11,0, - 0,4,0,14,0,31,0,17,128,0,0,30,0,33,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,0,30, - 0,10,15,30,11,0,0,12,128,31,128,39,0,0,0,30, - 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,0,30,0,10,15,30,11,0,0,16,128,49,128,49, - 128,0,0,30,0,33,128,64,128,192,192,192,192,192,192,192, - 192,192,192,64,128,97,0,30,0,6,6,6,8,1,2,140, - 216,112,112,216,140,10,11,22,11,0,0,31,192,35,128,99, - 128,195,192,198,192,204,192,216,192,240,192,113,128,113,0,254, - 0,10,16,32,12,1,0,16,0,56,0,28,0,6,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,49,0,30,0,10,16,32,12,1,0,2,0,7, - 0,14,0,24,0,0,0,241,192,96,128,96,128,96,128,96, - 128,96,128,96,128,96,128,96,128,49,0,30,0,10,16,32, - 12,1,0,12,0,14,0,30,0,51,0,0,0,241,192,96, - 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,49, - 0,30,0,10,15,30,12,1,0,33,0,33,128,33,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,49,0,30,0,10,16,32,11,1,0,4,0,7, - 0,12,0,24,0,0,0,227,192,113,128,49,0,59,0,26, - 0,14,0,12,0,12,0,12,0,12,0,30,0,8,11,11, - 10,1,0,240,96,126,99,99,99,99,98,124,96,240,9,13, - 26,11,1,0,14,0,49,128,33,128,97,128,97,0,102,0, - 104,0,100,0,103,0,97,128,104,128,104,128,239,0,8,13, - 13,9,1,0,96,48,16,8,0,60,102,198,30,102,198,207, - 118,8,13,13,9,1,0,12,28,24,48,0,60,102,198,30, - 102,198,207,118,8,13,13,9,1,0,16,56,108,198,0,60, - 102,198,30,102,198,207,118,8,12,12,9,1,0,114,252,0, - 0,60,102,198,30,102,198,207,118,8,12,12,9,1,0,194, - 198,134,0,60,102,198,30,102,198,207,118,8,13,13,9,1, - 0,24,40,40,48,0,60,102,198,30,102,198,207,118,11,8, - 16,13,1,0,61,192,102,32,196,32,63,224,68,0,198,32, - 255,192,115,128,7,12,12,8,1,252,62,70,196,192,192,192, - 102,56,16,8,24,48,7,13,13,9,1,0,96,48,24,8, - 0,60,70,198,254,192,192,98,60,7,13,13,9,1,0,12, - 14,24,48,0,60,70,198,254,192,192,98,60,7,13,13,9, - 1,0,24,56,108,66,0,60,70,198,254,192,192,98,60,7, - 12,12,9,1,0,66,198,194,0,60,70,198,254,192,192,98, - 60,5,13,13,5,0,0,224,96,48,16,0,48,112,48,48, - 48,48,48,120,5,13,13,5,1,0,48,56,96,64,128,96, - 224,96,96,96,96,96,240,6,13,13,5,0,0,48,112,216, - 132,0,48,112,48,48,48,48,48,120,7,12,12,5,255,0, - 66,194,194,0,24,56,24,24,24,24,24,60,7,13,13,9, - 1,0,112,62,56,108,4,62,78,198,198,198,196,76,56,9, - 12,24,10,1,0,57,0,126,0,0,0,0,0,110,0,255, - 0,115,0,99,0,99,0,99,0,99,0,247,128,7,13,13, - 9,1,0,112,48,24,8,0,56,68,198,198,198,198,68,56, - 7,13,13,9,1,0,14,12,24,16,0,56,68,198,198,198, - 198,68,56,7,13,13,9,1,0,24,60,44,66,0,56,68, - 198,198,198,198,68,56,7,12,12,9,1,0,50,124,128,0, - 56,68,198,198,198,198,68,56,7,12,12,9,1,0,66,194, - 66,0,56,68,198,198,198,198,68,56,7,6,6,8,0,2, - 16,16,0,126,144,16,7,9,9,9,1,0,2,58,68,206, - 214,230,230,68,248,10,13,26,10,0,0,24,0,56,0,12, - 0,4,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,13,26,10,0,0,7,0,6,0,12, - 0,8,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,13,26,10,0,0,12,0,30,0,18, - 0,33,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,12,24,10,0,0,33,0,33,128,33, - 0,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,10,17,34,9,255,252,3,0,3,128,6,0,4, - 0,8,0,121,192,48,128,25,128,25,0,15,0,14,0,14, - 0,6,0,4,0,12,0,120,0,240,0,8,18,18,10,1, - 252,96,224,96,96,96,96,110,127,97,97,97,97,98,124,96, - 96,96,240,10,16,32,9,255,252,16,128,48,128,48,128,0, - 0,121,192,48,128,25,128,25,0,15,0,14,0,14,0,6, - 0,4,0,12,0,120,0,240,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=17 x= 1 y= 6 dx=10 dy= 0 ascent=14 len=17 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11n[278] U8G_FONT_SECTION("u8g_font_gdb11n") = { - 0,27,26,247,250,11,0,0,0,0,42,58,0,14,253,11, - 0,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=32 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11r[2001] U8G_FONT_SECTION("u8g_font_gdb11r") = { - 0,27,26,247,250,11,2,67,5,71,32,127,252,15,252,14, - 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, - 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, - 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, - 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, - 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, - 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, - 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, - 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, - 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, - 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, - 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, - 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, - 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, - 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, - 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, - 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, - 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, - 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, - 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, - 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, - 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, - 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, - 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, - 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, - 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, - 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, - 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, - 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, - 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, - 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, - 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, - 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, - 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, - 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, - 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, - 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, - 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, - 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, - 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, - 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, - 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, - 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, - 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, - 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, - 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, - 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, - 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, - 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, - 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, - 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, - 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, - 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, - 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, - 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, - 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, - 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, - 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, - 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, - 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, - 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, - 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, - 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, - 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, - 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, - 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, - 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, - 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, - 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, - 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, - 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, - 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, - 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, - 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, - 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, - 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, - 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, - 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, - 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, - 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, - 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, - 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, - 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, - 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, - 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, - 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, - 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, - 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, - 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, - 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, - 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, - 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, - 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, - 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, - 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, - 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, - 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, - 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, - 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, - 255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12[4626] U8G_FONT_SECTION("u8g_font_gdb12") = { - 0,29,28,246,249,12,2,113,5,210,32,255,252,17,251,15, - 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, - 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, - 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, - 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, - 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, - 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, - 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, - 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, - 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, - 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, - 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, - 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, - 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, - 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, - 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, - 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, - 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, - 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, - 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, - 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, - 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, - 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, - 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, - 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, - 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, - 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, - 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, - 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, - 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, - 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, - 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, - 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, - 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, - 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, - 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, - 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, - 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, - 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, - 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, - 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, - 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, - 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, - 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, - 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, - 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, - 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, - 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, - 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, - 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, - 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, - 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, - 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, - 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, - 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, - 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, - 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, - 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, - 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, - 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, - 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, - 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, - 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, - 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, - 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, - 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, - 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, - 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, - 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, - 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, - 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, - 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, - 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, - 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, - 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, - 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, - 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, - 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, - 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, - 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, - 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, - 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, - 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, - 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, - 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, - 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, - 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, - 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, - 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, - 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, - 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, - 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, - 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, - 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, - 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, - 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, - 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, - 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, - 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, - 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, - 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, - 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, - 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, - 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, - 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, - 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, - 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, - 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, - 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, - 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, - 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, - 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, - 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, - 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, - 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, - 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, - 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, - 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, - 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, - 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, - 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, - 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, - 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, - 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, - 4,8,9,0,4,48,0,125,128,79,0,134,0,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,5,0,0,3,14,14,6,1,251,96,224,64,0,96,96, - 96,96,96,96,96,96,96,64,7,12,12,10,2,0,16,16, - 62,86,144,144,144,144,86,124,16,16,9,11,22,10,0,0, - 15,128,49,128,49,0,112,0,112,0,254,0,112,0,112,0, - 96,128,123,128,255,0,8,7,7,10,1,2,255,66,66,66, - 66,102,255,10,11,22,10,0,0,227,192,113,0,51,0,26, - 0,26,0,12,0,127,128,12,0,12,0,12,0,30,0,1, - 20,20,4,2,252,128,128,128,128,128,128,128,128,128,0,0, - 128,128,128,128,128,128,128,128,128,8,13,13,10,1,0,120, - 152,136,240,190,135,193,113,62,14,34,50,62,6,3,3,7, - 0,10,236,252,220,12,13,26,14,1,0,15,0,48,192,64, - 32,143,32,145,16,145,16,144,16,144,16,144,16,136,160,79, - 32,32,64,31,128,5,7,7,5,0,5,112,208,112,144,248, - 0,240,8,9,9,10,1,0,17,34,102,204,220,204,102,34, - 17,8,4,4,10,1,2,255,1,1,1,6,1,1,7,0, - 4,252,7,7,7,7,0,7,56,68,186,170,178,108,56,8, - 2,2,9,1,11,255,254,5,5,5,7,1,7,112,136,136, - 136,112,8,9,9,8,0,1,8,8,8,127,8,8,8,0, - 255,4,7,7,7,2,6,112,208,16,32,64,144,240,5,7, - 7,6,0,6,56,104,8,24,8,136,112,4,4,4,6,2, - 10,48,96,192,128,10,13,26,11,1,252,99,0,227,0,99, - 0,99,0,99,0,99,0,103,0,127,128,91,64,64,0,64, - 0,96,0,112,0,9,14,28,11,1,254,63,128,101,0,197, - 0,197,0,197,0,101,0,61,0,5,0,5,0,5,0,5, - 0,5,0,5,0,15,128,3,3,3,4,0,5,224,224,192, - 3,4,4,4,1,252,64,96,96,192,5,7,7,7,1,6, - 32,224,32,32,32,32,248,4,7,7,5,0,5,96,144,144, - 144,96,0,240,8,9,9,10,1,0,136,76,102,55,51,55, - 102,76,136,11,11,22,12,1,0,64,64,192,128,65,0,67, - 0,70,0,228,0,8,192,25,64,50,64,35,224,192,224,10, - 11,22,12,1,0,64,64,192,128,65,0,65,0,66,0,228, - 192,9,64,26,128,16,128,33,64,99,192,11,11,22,11,0, - 0,96,32,208,64,32,128,145,128,227,0,2,0,4,192,13, - 64,25,64,19,224,96,224,7,14,14,9,1,251,56,56,48, - 0,16,16,16,32,96,192,194,198,196,120,12,16,32,12,0, - 0,24,0,28,0,3,0,0,0,6,0,14,0,15,0,11, - 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, - 240,12,16,32,12,0,0,1,0,7,128,12,0,0,0,6, - 0,14,0,15,0,11,0,27,0,19,128,17,128,63,128,33, - 192,32,192,96,224,241,240,12,16,32,12,0,0,6,0,15, - 0,16,128,0,0,6,0,14,0,15,0,11,0,27,0,19, - 128,17,128,63,128,33,192,32,192,96,224,241,240,12,16,32, - 12,0,0,12,192,31,128,35,0,0,0,6,0,14,0,15, - 0,11,0,27,0,19,128,17,128,63,128,33,192,32,192,96, - 224,241,240,12,16,32,12,0,0,27,0,27,128,27,0,0, - 0,6,0,14,0,15,0,11,0,27,0,19,128,17,128,63, - 128,33,192,32,192,96,224,241,240,12,17,34,12,0,0,6, - 0,9,0,17,0,14,0,0,0,6,0,14,0,15,0,11, - 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, - 240,15,12,24,15,0,0,31,252,5,132,5,132,13,128,9, - 128,31,248,17,144,17,128,49,128,33,130,97,132,243,252,9, - 16,32,11,1,252,31,0,99,128,65,0,192,0,192,0,192, - 0,192,0,192,0,192,0,96,128,59,128,30,0,8,0,6, - 0,14,0,28,0,10,16,32,10,0,0,48,0,56,0,6, - 0,0,0,255,128,48,128,48,128,48,0,48,0,63,0,50, - 0,48,0,48,0,48,64,48,128,255,128,10,16,32,10,0, - 0,3,0,7,0,24,0,0,0,255,128,48,128,48,128,48, - 0,48,0,63,0,50,0,48,0,48,0,48,64,48,128,255, - 128,10,16,32,10,0,0,12,0,30,0,33,0,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,10,16,32,10,0,0,51,0,63, - 0,54,0,0,0,255,128,48,128,48,128,48,0,48,0,63, - 0,50,0,48,0,48,0,48,64,48,128,255,128,5,16,16, - 6,0,0,192,224,24,0,120,48,48,48,48,48,48,48,48, - 48,48,120,5,16,16,6,1,0,24,56,192,0,240,96,96, - 96,96,96,96,96,96,96,96,240,6,16,16,6,0,0,48, - 120,132,0,120,48,48,48,48,48,48,48,48,48,48,120,6, - 16,16,6,0,0,204,252,216,0,120,48,48,48,48,48,48, - 48,48,48,48,120,10,12,24,12,1,0,254,0,99,128,97, - 128,96,192,96,192,248,192,96,192,96,192,96,192,97,128,99, - 0,254,0,11,16,32,13,1,0,28,128,63,0,39,0,0, - 0,224,224,112,64,112,64,120,64,92,64,78,64,78,64,71, - 64,67,192,65,192,65,192,224,192,10,16,32,12,1,0,48, - 0,56,0,6,0,0,0,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,128,96,128,97,0,30,0,10, - 16,32,12,1,0,2,0,15,0,24,0,0,0,30,0,33, - 128,65,128,64,192,192,192,192,192,192,192,192,192,192,128,96, - 128,97,0,30,0,10,16,32,12,1,0,12,0,30,0,33, - 0,0,0,30,0,33,128,65,128,64,192,192,192,192,192,192, - 192,192,192,192,128,96,128,97,0,30,0,10,16,32,12,1, - 0,25,128,63,0,70,0,0,0,30,0,33,128,65,128,64, - 192,192,192,192,192,192,192,192,192,192,128,96,128,97,0,30, - 0,10,16,32,12,1,0,55,0,55,0,54,0,0,0,30, - 0,33,128,65,128,64,192,192,192,192,192,192,192,192,192,192, - 128,96,128,97,0,30,0,6,6,6,8,1,2,132,72,48, - 48,72,132,10,12,24,12,1,0,30,192,33,128,97,128,67, - 192,198,192,196,192,200,192,216,192,240,128,97,128,97,0,222, - 0,11,16,32,13,1,0,16,0,60,0,6,0,0,0,240, - 224,96,64,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,128,48,128,31,0,11,16,32,13,1,0,3,0,7, - 128,12,0,0,0,240,224,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,128,48,128,31,0,11,16,32, - 13,1,0,12,0,30,0,49,0,0,128,240,224,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,96,128,48, - 128,31,0,11,16,32,13,1,0,27,0,63,0,51,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,128,48,128,31,0,11,16,32,12,0,0,1, - 0,7,128,12,0,0,0,241,224,48,192,24,128,29,128,13, - 0,15,0,6,0,6,0,6,0,6,0,6,0,15,0,9, - 12,24,11,1,0,248,0,96,0,126,0,99,0,97,128,97, - 128,97,128,97,128,113,0,110,0,96,0,248,0,9,14,28, - 12,1,0,14,0,51,0,33,128,97,128,97,128,103,0,108, - 0,108,0,102,0,99,0,97,128,104,128,104,128,239,0,8, - 14,14,9,1,0,112,48,24,8,0,60,102,198,14,126,198, - 198,207,118,8,14,14,9,1,0,14,12,24,48,0,60,102, - 198,14,126,198,198,207,118,8,14,14,9,1,0,24,60,108, - 66,0,60,102,198,14,126,198,198,207,118,8,13,13,9,1, - 0,114,126,140,0,60,102,198,14,126,198,198,207,118,8,13, - 13,9,1,0,108,110,108,0,60,102,198,14,126,198,198,207, - 118,8,14,14,9,1,0,56,68,72,56,0,60,102,198,14, - 126,198,198,207,118,12,9,18,14,1,0,29,192,111,32,198, - 48,166,48,63,240,70,0,199,16,251,224,113,192,8,13,13, - 9,1,252,62,70,196,192,192,192,194,127,60,16,12,28,48, - 7,14,14,9,1,0,112,48,24,8,0,60,100,198,198,254, - 192,226,124,56,7,14,14,9,1,0,14,12,24,16,0,60, - 100,198,198,254,192,226,124,56,7,14,14,9,1,0,24,60, - 100,66,0,60,100,198,198,254,192,226,124,56,7,13,13,9, - 1,0,110,126,108,0,60,100,198,198,254,192,226,124,56,5, - 14,14,6,0,0,224,96,48,16,0,48,112,48,48,48,48, - 48,48,120,5,14,14,6,1,0,56,48,96,64,0,96,224, - 96,96,96,96,96,96,240,6,14,14,6,0,0,48,120,200, - 132,0,48,112,48,48,48,48,48,48,120,6,13,13,6,0, - 0,220,220,216,0,48,112,48,48,48,48,48,48,120,8,14, - 14,10,1,0,48,255,28,102,6,63,71,195,195,195,195,194, - 102,60,9,13,26,11,1,0,57,0,63,0,78,0,0,0, - 102,0,255,0,115,0,99,0,99,0,99,0,99,0,99,0, - 247,128,8,14,14,10,1,0,48,112,24,12,0,60,70,195, - 195,195,195,194,98,60,8,14,14,10,1,0,6,12,24,16, - 0,60,70,195,195,195,195,194,98,60,8,14,14,10,1,0, - 24,60,38,66,0,60,70,195,195,195,195,194,98,60,8,13, - 13,10,1,0,57,126,76,0,60,70,195,195,195,195,194,98, - 60,8,13,13,10,1,0,118,126,108,0,60,70,195,195,195, - 195,194,98,60,8,7,7,8,0,2,8,8,0,127,128,8, - 8,8,9,9,10,1,0,63,102,71,203,219,211,226,102,252, - 10,14,28,11,0,0,24,0,60,0,12,0,6,0,0,0, - 227,128,97,128,97,128,97,128,97,128,97,128,99,128,127,192, - 57,128,10,14,28,11,0,0,3,0,7,0,4,0,8,0, - 0,0,227,128,97,128,97,128,97,128,97,128,97,128,99,128, - 127,192,57,128,10,14,28,11,0,0,12,0,14,0,27,0, - 33,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, - 99,128,127,192,57,128,10,13,26,11,0,0,27,0,63,0, - 51,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, - 99,128,127,192,57,128,11,18,36,10,255,252,3,128,3,0, - 6,0,4,0,0,0,121,224,56,128,24,128,25,128,13,0, - 13,0,14,0,6,0,6,0,4,0,12,0,120,0,240,0, - 9,18,36,11,1,252,96,0,224,0,96,0,96,0,96,0, - 103,0,111,0,113,128,97,128,97,128,97,128,97,0,127,0, - 110,0,96,0,96,0,96,0,248,0,11,17,34,10,255,252, - 25,128,31,128,27,0,0,0,121,224,56,128,24,128,25,128, - 13,0,13,0,14,0,6,0,6,0,4,0,12,0,120,0, - 240,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 9 h=18 x= 1 y= 7 dx=10 dy= 0 ascent=15 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12n[301] U8G_FONT_SECTION("u8g_font_gdb12n") = { - 0,29,28,246,249,12,0,0,0,0,42,58,0,15,252,12, - 0,7,7,7,8,1,7,48,180,222,48,222,148,48,7,7, - 7,8,1,2,16,16,16,254,16,16,16,3,6,6,5,1, - 252,96,224,96,96,64,128,6,1,1,7,0,4,252,3,3, - 3,5,1,0,224,224,192,9,18,36,9,0,253,1,128,3, - 0,3,0,3,0,6,0,6,0,4,0,12,0,12,0,24, - 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,192, - 0,8,11,11,10,1,0,60,102,66,195,195,195,195,195,66, - 98,60,7,12,12,10,1,0,8,120,152,24,24,24,24,24, - 24,24,24,254,7,11,11,9,1,0,60,102,230,6,4,8, - 16,34,66,126,254,7,11,11,9,1,0,60,102,230,6,8, - 28,6,6,6,140,120,8,12,12,9,0,0,6,14,14,22, - 22,38,102,70,255,6,6,31,7,11,11,10,1,0,126,124, - 64,64,124,134,6,6,6,134,124,8,12,12,10,1,0,14, - 56,112,96,192,254,195,195,195,195,98,60,8,11,11,10,1, - 0,255,254,130,6,4,12,8,24,24,48,96,8,11,11,10, - 1,0,60,102,102,102,124,62,71,195,195,195,60,8,11,11, - 10,1,0,60,70,195,195,195,195,63,2,6,12,112,3,9, - 9,5,1,0,224,224,192,0,0,0,224,224,192}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12r[2190] U8G_FONT_SECTION("u8g_font_gdb12r") = { - 0,29,28,246,249,12,2,113,5,210,32,127,252,16,252,15, - 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, - 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, - 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, - 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, - 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, - 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, - 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, - 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, - 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, - 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, - 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, - 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, - 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, - 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, - 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, - 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, - 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, - 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, - 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, - 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, - 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, - 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, - 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, - 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, - 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, - 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, - 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, - 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, - 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, - 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, - 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, - 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, - 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, - 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, - 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, - 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, - 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, - 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, - 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, - 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, - 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, - 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, - 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, - 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, - 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, - 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, - 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, - 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, - 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, - 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, - 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, - 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, - 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, - 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, - 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, - 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, - 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, - 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, - 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, - 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, - 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, - 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, - 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, - 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, - 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, - 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, - 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, - 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, - 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, - 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, - 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, - 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, - 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, - 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, - 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, - 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, - 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, - 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, - 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, - 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, - 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, - 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, - 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, - 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, - 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, - 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, - 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, - 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, - 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, - 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, - 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, - 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, - 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, - 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, - 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, - 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, - 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, - 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, - 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, - 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, - 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, - 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, - 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, - 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, - 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, - 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, - 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, - 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, - 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, - 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, - 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, - 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, - 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, - 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, - 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, - 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, - 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, - 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, - 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, - 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, - 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, - 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, - 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, - 4,8,9,0,4,48,0,125,128,79,0,134,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=19 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=60 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14[6044] U8G_FONT_SECTION("u8g_font_gdb14") = { - 0,36,33,244,248,14,3,134,7,177,32,255,251,20,250,18, - 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, - 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, - 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, - 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, - 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, - 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, - 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, - 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, - 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, - 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, - 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, - 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, - 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, - 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, - 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, - 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, - 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, - 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, - 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, - 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, - 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, - 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, - 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, - 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, - 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, - 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, - 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, - 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, - 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, - 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, - 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, - 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, - 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, - 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, - 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, - 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, - 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, - 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, - 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, - 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, - 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, - 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, - 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, - 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, - 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, - 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, - 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, - 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, - 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, - 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, - 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, - 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, - 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, - 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, - 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, - 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, - 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, - 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, - 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, - 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, - 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, - 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, - 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, - 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, - 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, - 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, - 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, - 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, - 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, - 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, - 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, - 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, - 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, - 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, - 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, - 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, - 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, - 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, - 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, - 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, - 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, - 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, - 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, - 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, - 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, - 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, - 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, - 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, - 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, - 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, - 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, - 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, - 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, - 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, - 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, - 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, - 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, - 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, - 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, - 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, - 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, - 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, - 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, - 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, - 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, - 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, - 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, - 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, - 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, - 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, - 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, - 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, - 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, - 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, - 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, - 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, - 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, - 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, - 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, - 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, - 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, - 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, - 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, - 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, - 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, - 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, - 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, - 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, - 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, - 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, - 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, - 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, - 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, - 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, - 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, - 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, - 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, - 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, - 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, - 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, - 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, - 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, - 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, - 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, - 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, - 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, - 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, - 5,48,64,124,128,159,0,135,0,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,0, - 4,16,16,7,1,250,112,240,96,0,32,32,32,112,112,112, - 112,112,112,112,112,96,10,14,28,12,1,0,12,0,12,0, - 31,128,125,192,108,128,204,0,204,0,204,0,204,0,236,192, - 127,128,63,0,12,0,12,0,11,14,28,12,0,0,7,192, - 12,224,24,64,24,64,56,0,56,0,56,0,127,0,184,0, - 56,0,56,32,48,32,127,224,255,224,10,9,18,12,1,2, - 128,64,94,128,51,0,97,128,97,128,97,128,51,128,94,128, - 128,64,12,14,28,12,0,0,241,240,120,192,56,192,29,128, - 29,128,13,0,15,0,6,0,63,192,6,0,6,0,6,0, - 6,0,31,128,2,24,24,5,2,251,192,192,192,192,192,192, - 192,192,192,192,128,0,0,64,192,192,192,192,192,192,192,192, - 192,192,9,16,32,11,1,0,62,0,99,0,99,0,112,0, - 60,0,127,0,199,128,195,128,225,128,121,128,63,0,31,0, - 71,0,67,0,99,0,126,0,7,3,3,9,1,12,198,238, - 198,15,15,30,17,1,0,7,192,24,48,48,24,99,204,108, - 236,200,70,216,6,216,6,216,6,216,6,108,44,103,204,48, - 24,24,48,7,192,6,7,7,6,0,7,120,216,24,248,216, - 252,248,9,10,20,12,1,0,8,128,17,128,51,0,103,0, - 238,0,238,0,103,0,51,0,17,128,8,128,10,5,10,12, - 1,2,255,192,0,192,0,192,0,192,0,192,7,1,1,8, - 1,5,254,8,8,8,8,0,8,60,66,157,149,153,153,86, - 60,9,2,4,11,1,13,255,128,255,128,6,5,5,8,1, - 9,56,76,204,200,112,8,10,10,9,1,2,24,24,24,24, - 255,24,24,24,0,255,6,8,8,8,1,7,120,204,140,24, - 16,32,68,252,6,8,8,8,1,7,56,204,140,56,12,12, - 140,120,6,5,5,7,2,12,56,60,112,96,192,12,15,30, - 13,1,251,96,192,225,192,96,192,96,192,96,192,96,192,96, - 192,113,192,127,240,110,192,96,0,96,0,112,0,112,0,96, - 0,14,17,34,14,0,253,31,252,113,176,225,176,225,176,225, - 176,225,176,113,176,31,176,1,176,1,176,1,176,1,176,1, - 176,1,176,1,176,1,176,7,252,4,3,3,5,0,6,96, - 240,224,4,5,5,5,1,251,32,96,48,48,224,6,8,8, - 8,1,7,48,240,48,48,48,48,48,252,5,7,7,6,0, - 7,112,216,216,216,216,112,248,10,10,20,12,1,0,196,0, - 102,0,99,0,51,128,57,192,61,192,49,128,99,0,102,0, - 196,0,12,14,28,14,1,0,48,16,240,48,48,96,48,192, - 48,128,49,128,255,0,6,96,4,224,13,224,25,96,19,240, - 48,96,96,240,12,14,28,14,1,0,48,48,240,96,48,192, - 48,192,49,128,51,0,254,0,6,240,13,48,26,48,16,96, - 48,192,97,144,195,240,14,14,28,15,0,0,56,8,76,24, - 40,48,60,96,12,64,140,192,121,128,3,24,2,56,6,88, - 12,88,8,252,24,24,48,60,9,16,32,11,1,250,28,0, - 30,0,12,0,0,0,12,0,12,0,12,0,24,0,56,0, - 112,0,96,0,224,0,227,128,227,128,231,0,126,0,14,20, - 40,14,0,0,8,0,28,0,15,0,3,128,0,0,0,0, - 1,0,7,128,7,128,5,128,13,192,12,192,8,224,24,224, - 31,224,16,112,48,112,48,48,32,56,248,124,14,20,40,14, - 0,0,0,128,0,224,3,192,7,0,0,0,0,0,1,0, - 7,128,7,128,5,128,13,192,12,192,8,224,24,224,31,224, - 16,112,48,112,48,48,32,56,248,124,14,20,40,14,0,0, - 3,0,7,128,15,192,12,96,16,0,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,14,19,38,14,0,0,4,32, - 15,240,27,192,0,0,0,0,1,0,7,128,7,128,5,128, - 13,192,12,192,8,224,24,224,31,224,16,112,48,112,48,48, - 32,56,248,124,14,19,38,14,0,0,8,64,28,224,24,224, - 0,0,0,0,1,0,7,128,7,128,5,128,13,192,12,192, - 8,224,24,224,31,224,16,112,48,112,48,48,32,56,248,124, - 14,20,40,14,0,0,1,128,6,192,6,192,7,128,0,0, - 0,0,1,0,7,128,7,128,5,128,13,192,12,192,8,224, - 24,224,31,224,16,112,48,112,48,48,32,56,248,124,18,14, - 42,19,0,0,7,255,128,1,225,128,3,96,128,3,96,128, - 6,96,0,6,96,0,7,255,0,12,98,0,12,96,0,24, - 96,0,24,96,0,48,96,64,48,96,192,249,255,128,11,19, - 38,13,1,251,15,192,49,192,96,128,64,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,112,96,63,192,31,128, - 4,0,6,0,3,0,3,0,12,0,12,20,40,12,0,0, - 16,0,56,0,30,0,7,0,0,0,0,0,255,224,56,96, - 56,96,56,64,56,0,56,0,63,192,56,128,56,0,56,0, - 56,0,56,48,56,32,255,224,12,20,40,12,0,0,1,0, - 1,192,7,128,14,0,0,0,0,0,255,224,56,96,56,96, - 56,64,56,0,56,0,63,192,56,128,56,0,56,0,56,0, - 56,48,56,32,255,224,12,20,40,12,0,0,6,0,15,0, - 31,128,48,192,0,0,0,0,255,224,56,96,56,96,56,64, - 56,0,56,0,63,192,56,128,56,0,56,0,56,0,56,48, - 56,32,255,224,12,19,38,12,0,0,16,128,49,192,49,192, - 0,0,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 7,20,20,8,0,0,64,224,112,24,4,0,126,24,24,24, - 24,24,24,24,24,24,24,24,24,126,7,20,20,8,1,0, - 8,30,60,96,128,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,252,7,20,20,8,0,0,16,56,124,198,0,0, - 126,24,24,24,24,24,24,24,24,24,24,24,24,126,8,19, - 19,8,255,0,65,99,227,0,0,63,12,12,12,12,12,12, - 12,12,12,12,12,12,63,14,14,28,15,0,0,127,192,240, - 240,48,56,48,24,48,28,48,28,254,28,48,28,48,28,48, - 28,48,24,48,56,48,240,255,192,15,19,38,15,0,0,2, - 32,15,240,11,224,16,0,0,0,248,126,56,24,60,24,62, - 24,54,24,55,24,51,152,49,152,49,216,48,248,48,120,48, - 56,48,56,252,24,12,20,40,14,1,0,16,0,60,0,30, - 0,3,0,0,0,0,0,15,128,48,192,96,96,64,96,192, - 48,192,48,192,48,192,48,192,48,192,48,96,96,96,64,48, - 128,31,0,12,20,40,14,1,0,1,0,1,192,7,128,14, - 0,0,0,0,0,15,128,48,192,96,96,64,96,192,48,192, - 48,192,48,192,48,192,48,192,48,96,96,96,64,48,128,31, - 0,12,20,40,14,1,0,6,0,15,0,15,128,24,192,32, - 0,0,0,15,128,48,192,96,96,64,96,192,48,192,48,192, - 48,192,48,192,48,192,48,96,96,96,64,48,128,31,0,12, - 19,38,14,1,0,8,64,31,224,55,128,0,0,0,0,15, - 128,48,192,96,96,64,96,192,48,192,48,192,48,192,48,192, - 48,192,48,96,96,96,64,48,128,31,0,12,19,38,14,1, - 0,16,128,57,192,49,192,0,0,0,0,15,128,48,192,96, - 96,64,96,192,48,192,48,192,48,192,48,192,48,192,48,96, - 96,96,64,48,128,31,0,8,7,7,10,1,3,195,102,60, - 24,60,102,195,12,15,30,14,1,255,15,176,16,224,32,224, - 96,224,193,240,195,112,195,48,198,48,204,48,232,32,120,96, - 112,64,112,128,223,0,128,0,15,20,40,15,0,0,4,0, - 14,0,7,0,1,192,0,0,0,0,252,126,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,24, - 24,48,24,32,7,192,15,20,40,15,0,0,0,64,0,240, - 1,224,3,0,0,0,0,0,252,126,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,24,48, - 24,32,7,192,15,20,40,15,0,0,1,128,3,128,7,192, - 12,96,0,16,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,19,38,15,0,0,4,32,12,112,12,96,0,0, - 0,0,252,126,48,24,48,24,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,24,48,24,32,7,192,13,20, - 40,14,0,0,0,128,0,224,3,192,7,0,0,0,0,0, - 240,120,56,48,28,96,28,96,14,192,6,128,7,128,3,0, - 3,0,3,0,3,0,3,0,3,0,15,192,12,14,28,13, - 0,0,252,0,48,0,48,0,63,192,48,96,48,48,48,48, - 48,48,48,48,48,96,55,192,48,0,48,0,252,0,11,17, - 34,14,1,0,15,128,16,192,32,96,32,96,96,96,96,96, - 97,192,99,0,99,0,99,0,99,192,97,192,96,224,104,96, - 104,96,108,64,239,128,10,17,34,11,1,0,48,0,120,0, - 24,0,12,0,6,0,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,17, - 34,11,1,0,7,0,7,0,14,0,12,0,24,0,0,0, - 0,0,62,0,99,0,227,0,3,0,63,0,99,0,195,0, - 195,0,255,192,123,0,10,17,34,11,1,0,12,0,30,0, - 62,0,115,0,65,128,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,16, - 32,11,1,0,56,128,124,128,127,0,198,0,0,0,0,0, - 62,0,99,0,227,0,3,0,63,0,99,0,195,0,195,0, - 255,192,123,0,10,15,30,11,1,0,99,0,99,128,99,0, - 0,0,0,0,62,0,99,0,227,0,3,0,63,0,99,0, - 195,0,195,0,255,192,123,0,10,16,32,11,1,0,14,0, - 27,0,26,0,28,0,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,15,10, - 20,17,1,0,30,120,119,140,227,6,131,6,31,252,99,0, - 195,0,199,132,253,252,112,240,9,15,30,10,1,251,31,0, - 99,128,65,0,192,0,192,0,192,0,192,0,225,0,126,0, - 60,0,16,0,28,0,12,0,12,0,48,0,9,17,34,11, - 1,0,56,0,56,0,28,0,12,0,6,0,0,0,0,0, - 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, - 127,0,62,0,9,17,34,11,1,0,7,0,7,128,14,0, - 12,0,24,0,0,0,0,0,30,0,99,0,65,128,193,128, - 255,128,192,0,192,0,225,128,127,0,62,0,9,17,34,11, - 1,0,12,0,30,0,63,0,51,0,96,128,0,0,0,0, - 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, - 127,0,62,0,9,15,30,11,1,0,97,128,99,128,99,0, - 0,0,0,0,30,0,99,0,65,128,193,128,255,128,192,0, - 192,0,225,128,127,0,62,0,6,17,17,7,0,0,224,112, - 48,24,8,0,0,56,120,24,24,24,24,24,24,24,124,6, - 17,17,7,1,0,28,60,56,96,64,0,0,112,240,48,48, - 48,48,48,48,48,248,7,17,17,7,0,0,56,56,124,198, - 130,0,0,56,120,24,24,24,24,24,24,24,124,8,15,15, - 7,255,0,99,227,195,0,0,28,60,12,12,12,12,12,12, - 12,62,10,17,34,12,1,0,24,0,125,192,15,128,31,0, - 51,128,3,128,1,192,31,192,97,192,64,192,192,192,192,192, - 192,192,192,128,225,128,113,0,30,0,12,16,32,13,1,0, - 28,64,62,64,63,128,99,0,0,0,0,0,51,128,247,192, - 56,192,48,192,48,192,48,192,48,192,48,192,48,192,249,240, - 10,17,34,12,1,0,56,0,56,0,28,0,6,0,2,0, - 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, - 192,192,96,128,113,0,30,0,10,17,34,12,1,0,3,128, - 7,0,6,0,12,0,8,0,0,0,0,0,30,0,33,128, - 65,128,192,192,192,192,192,192,192,192,96,128,113,0,30,0, - 10,17,34,12,1,0,12,0,30,0,31,0,49,128,96,128, - 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, - 192,192,96,128,113,0,30,0,10,16,32,12,1,0,24,64, - 60,128,127,128,71,0,0,0,0,0,30,0,33,128,65,128, - 192,192,192,192,192,192,192,192,96,128,113,0,30,0,10,15, - 30,12,1,0,49,128,115,128,97,128,0,0,0,0,30,0, - 33,128,65,128,192,192,192,192,192,192,192,192,96,128,113,0, - 30,0,8,8,8,10,1,2,24,24,16,255,0,24,24,24, - 10,12,24,12,1,255,0,64,30,192,51,128,99,192,199,192, - 196,192,200,192,248,192,113,128,113,0,94,0,128,0,12,17, - 34,13,1,0,56,0,28,0,12,0,6,0,2,0,0,0, - 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, - 97,192,127,240,60,192,12,17,34,13,1,0,3,128,7,128, - 6,0,12,0,8,0,0,0,0,0,97,192,224,192,96,192, - 96,192,96,192,96,192,96,192,97,192,127,240,60,192,12,17, - 34,13,1,0,14,0,14,0,31,0,49,128,32,128,0,0, - 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, - 97,192,127,240,60,192,12,15,30,13,1,0,49,128,113,128, - 97,128,0,0,0,0,97,192,224,192,96,192,96,192,96,192, - 96,192,96,192,97,192,127,240,60,192,13,22,44,12,255,251, - 0,192,1,224,1,128,3,0,6,0,0,0,0,0,124,120, - 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, - 3,0,3,0,6,0,70,0,124,0,248,0,11,22,44,13, - 1,251,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 51,128,63,192,56,224,48,96,48,96,48,96,48,96,48,192, - 63,128,55,0,48,0,48,0,48,0,48,0,252,0,13,20, - 40,12,255,251,24,96,28,224,24,192,0,0,0,0,124,120, - 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, - 3,0,3,0,6,0,70,0,124,0,248,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=11 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14n[464] U8G_FONT_SECTION("u8g_font_gdb14n") = { - 0,36,33,244,248,14,0,0,0,0,42,58,0,18,252,14, - 0,9,10,20,10,1,8,24,0,24,0,219,0,255,128,60, - 0,62,0,255,0,219,0,24,0,24,0,8,8,8,10,1, - 2,24,24,24,255,24,24,24,24,4,7,7,6,1,252,48, - 240,48,48,32,96,64,7,1,1,8,1,5,254,4,3,3, - 6,1,0,96,240,224,11,22,44,11,0,252,0,96,0,192, - 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, - 6,0,12,0,12,0,28,0,24,0,24,0,56,0,48,0, - 48,0,96,0,96,0,192,0,10,14,28,12,1,0,30,0, - 51,0,97,128,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,97,128,97,128,51,0,30,0,8,14,14,12,2,0, - 8,120,248,24,24,24,24,24,24,24,24,24,24,255,8,14, - 14,11,2,0,62,103,227,195,3,6,4,12,24,48,33,65, - 255,255,9,14,28,11,1,0,30,0,99,0,227,0,67,0, - 3,0,6,0,31,0,7,128,3,128,1,128,1,128,1,128, - 67,0,190,0,10,14,28,12,1,0,1,0,7,0,7,0, - 15,0,27,0,19,0,51,0,99,0,99,0,255,192,3,0, - 3,0,3,0,15,192,9,14,28,12,1,0,63,128,63,0, - 32,0,96,0,96,0,126,0,67,0,1,128,1,128,1,128, - 1,128,1,128,195,0,62,0,10,14,28,12,1,0,7,0, - 28,0,48,0,96,0,64,0,223,0,225,128,192,192,192,192, - 192,192,192,192,96,128,49,128,30,0,10,14,28,12,1,0, - 127,192,255,128,129,128,129,128,3,0,3,0,2,0,6,0, - 6,0,12,0,12,0,24,0,56,0,48,0,9,14,28,11, - 1,0,62,0,113,128,241,128,241,128,249,128,127,0,63,0, - 63,128,99,128,193,128,193,128,193,128,99,0,62,0,10,14, - 28,12,1,0,31,0,35,128,65,128,192,192,192,192,192,192, - 192,192,97,192,62,192,0,128,1,128,3,0,14,0,56,0, - 4,10,10,6,1,0,224,240,96,0,0,0,0,96,240,224 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=19 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=60 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14r[2842] U8G_FONT_SECTION("u8g_font_gdb14r") = { - 0,36,33,244,248,14,3,134,7,177,32,127,251,19,251,18, - 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, - 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, - 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, - 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, - 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, - 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, - 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, - 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, - 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, - 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, - 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, - 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, - 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, - 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, - 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, - 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, - 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, - 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, - 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, - 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, - 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, - 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, - 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, - 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, - 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, - 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, - 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, - 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, - 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, - 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, - 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, - 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, - 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, - 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, - 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, - 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, - 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, - 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, - 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, - 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, - 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, - 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, - 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, - 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, - 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, - 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, - 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, - 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, - 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, - 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, - 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, - 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, - 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, - 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, - 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, - 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, - 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, - 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, - 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, - 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, - 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, - 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, - 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, - 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, - 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, - 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, - 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, - 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, - 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, - 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, - 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, - 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, - 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, - 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, - 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, - 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, - 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, - 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, - 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, - 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, - 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, - 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, - 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, - 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, - 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, - 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, - 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, - 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, - 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, - 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, - 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, - 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, - 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, - 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, - 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, - 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, - 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, - 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, - 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, - 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, - 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, - 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, - 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, - 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, - 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, - 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, - 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, - 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, - 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, - 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, - 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, - 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, - 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, - 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, - 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, - 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, - 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, - 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, - 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, - 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, - 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, - 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, - 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, - 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, - 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, - 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, - 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, - 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, - 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, - 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, - 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, - 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, - 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, - 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, - 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, - 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, - 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, - 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, - 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, - 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, - 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, - 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, - 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, - 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, - 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, - 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, - 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, - 5,48,64,124,128,159,0,135,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=23 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=69 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x=-4 y=-7 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17[7600] U8G_FONT_SECTION("u8g_font_gdb17") = { - 0,42,39,242,246,17,4,81,9,172,32,255,250,23,249,21, - 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, - 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, - 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, - 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, - 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, - 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, - 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, - 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, - 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, - 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, - 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, - 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, - 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, - 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, - 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, - 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, - 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, - 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, - 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, - 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, - 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, - 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, - 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, - 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, - 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, - 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, - 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, - 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, - 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, - 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, - 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, - 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, - 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, - 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, - 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, - 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, - 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, - 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, - 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, - 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, - 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, - 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, - 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, - 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, - 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, - 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, - 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, - 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, - 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, - 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, - 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, - 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, - 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, - 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, - 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, - 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, - 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, - 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, - 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, - 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, - 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, - 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, - 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, - 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, - 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, - 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, - 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, - 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, - 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, - 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, - 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, - 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, - 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, - 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, - 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, - 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, - 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, - 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, - 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, - 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, - 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, - 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, - 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, - 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, - 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, - 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, - 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, - 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, - 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, - 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, - 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, - 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, - 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, - 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, - 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, - 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, - 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, - 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, - 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, - 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, - 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, - 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, - 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, - 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, - 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, - 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, - 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, - 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, - 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, - 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, - 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, - 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, - 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, - 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, - 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, - 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, - 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, - 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, - 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, - 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, - 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, - 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, - 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, - 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, - 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, - 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, - 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, - 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, - 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, - 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, - 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, - 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, - 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, - 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, - 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, - 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, - 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, - 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, - 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, - 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, - 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, - 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, - 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, - 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, - 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, - 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, - 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, - 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, - 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, - 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,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,7,0,0,4,19,19,8,2,249, - 112,240,240,224,32,96,96,96,96,96,96,112,112,112,240,240, - 240,240,192,10,17,34,14,2,255,12,0,12,0,15,128,63, - 192,109,192,108,192,204,0,204,0,204,0,204,0,204,0,236, - 64,125,192,63,128,30,0,12,0,12,0,13,16,32,14,0, - 0,3,240,6,56,12,16,28,16,28,16,60,0,60,0,60, - 0,255,192,60,0,60,0,60,16,56,24,56,24,127,248,255, - 240,12,11,22,14,1,2,192,48,239,112,112,224,96,96,96, - 96,96,96,96,96,112,224,111,96,192,48,128,16,15,16,32, - 14,255,0,248,126,120,56,60,48,30,48,30,96,15,96,7, - 192,7,192,7,192,3,128,63,248,3,128,3,128,3,128,3, - 128,15,224,2,27,27,6,2,251,192,192,192,192,192,192,192, - 192,192,192,192,192,128,0,0,192,192,192,192,192,192,192,192, - 192,192,192,192,10,19,38,13,2,0,31,0,35,128,97,0, - 113,0,120,0,62,0,127,128,207,128,195,192,225,192,240,192, - 124,192,63,128,31,128,7,128,65,128,65,128,97,0,126,0, - 9,4,8,11,1,14,115,128,247,128,247,128,231,0,18,18, - 54,20,1,0,3,240,0,14,28,0,24,6,0,48,3,0, - 97,241,128,102,57,128,198,16,192,204,0,192,204,0,192,204, - 0,192,204,0,192,204,0,192,102,1,128,103,25,128,49,243, - 0,24,6,0,12,12,0,3,240,0,6,9,9,7,1,8, - 120,216,24,120,216,216,252,0,252,11,12,24,14,1,0,4, - 32,8,96,24,192,49,192,115,128,231,128,231,128,115,128,49, - 192,24,192,8,96,4,32,12,6,12,14,1,2,127,240,128, - 48,0,48,0,48,0,48,0,32,8,1,1,10,1,6,255, - 10,9,18,10,255,10,30,0,97,128,255,128,219,192,222,192, - 220,192,251,192,97,128,30,0,11,2,4,13,1,16,127,224, - 255,224,6,7,7,10,2,10,56,76,204,204,204,200,112,10, - 12,24,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,0,0,0,0,255,192,7,10,10, - 9,1,8,60,102,230,6,12,24,16,50,98,254,7,10,10, - 9,1,8,60,102,70,6,28,6,6,6,142,120,6,6,6, - 9,3,14,56,60,112,96,192,128,15,18,36,15,0,250,24, - 24,248,120,56,56,56,56,56,56,56,56,56,56,56,56,60, - 120,63,248,63,190,55,24,48,0,48,0,56,0,56,0,60, - 0,48,0,15,20,40,17,1,253,15,254,49,248,113,152,225, - 152,225,152,225,152,225,152,113,152,121,152,31,152,1,152,1, - 152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,7, - 254,4,4,4,6,1,7,112,240,240,224,5,6,6,6,1, - 250,32,96,120,56,112,224,7,10,10,9,1,8,24,248,24, - 24,24,24,24,24,24,126,7,9,9,8,0,8,56,76,198, - 198,198,228,120,0,254,11,12,24,14,2,0,132,0,198,0, - 99,0,115,128,57,192,61,224,61,224,57,192,115,128,99,0, - 198,0,132,0,15,16,32,17,1,0,48,6,240,12,48,24, - 48,48,48,48,48,96,48,192,253,128,1,140,3,28,6,44, - 12,44,12,76,24,254,48,12,96,62,15,16,32,17,1,0, - 48,6,240,12,48,24,48,24,48,48,48,96,48,192,252,192, - 1,188,3,102,6,70,6,12,12,8,24,16,48,34,112,126, - 15,16,32,17,1,0,56,6,204,12,12,24,56,48,12,48, - 12,96,140,192,121,128,1,140,3,28,6,60,12,44,12,76, - 24,254,48,12,96,62,10,19,38,12,1,249,14,0,30,0, - 30,0,28,0,0,0,6,0,6,0,6,0,14,0,12,0, - 24,0,56,0,112,0,224,0,224,192,225,192,225,192,243,128, - 62,0,17,23,69,17,0,0,6,0,0,15,0,0,7,128, - 0,1,192,0,0,96,0,0,0,0,0,192,0,1,192,0, - 3,192,0,3,224,0,2,224,0,6,240,0,6,112,0,6, - 112,0,12,120,0,12,56,0,15,248,0,24,28,0,24,28, - 0,16,28,0,48,14,0,48,14,0,252,63,128,17,23,69, - 17,0,0,0,48,0,0,120,0,1,224,0,3,128,0,2, - 0,0,0,0,0,0,192,0,1,192,0,3,192,0,3,224, - 0,2,224,0,6,240,0,6,112,0,6,112,0,12,120,0, - 12,56,0,15,248,0,24,28,0,24,28,0,16,28,0,48, - 14,0,48,14,0,252,63,128,17,23,69,17,0,0,1,192, - 0,3,224,0,7,240,0,14,48,0,8,24,0,0,0,0, - 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, - 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, - 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, - 252,63,128,17,22,66,17,0,0,7,140,0,15,248,0,15, - 240,0,16,96,0,0,0,0,0,192,0,1,192,0,3,192, - 0,3,224,0,2,224,0,6,240,0,6,112,0,6,112,0, - 12,120,0,12,56,0,15,248,0,24,28,0,24,28,0,16, - 28,0,48,14,0,48,14,0,252,63,128,17,22,66,17,0, - 0,7,56,0,15,120,0,15,120,0,6,48,0,0,0,0, - 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, - 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, - 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, - 252,63,128,17,23,69,17,0,0,3,224,0,6,96,0,6, - 96,0,7,96,0,3,128,0,0,0,0,0,192,0,1,192, - 0,3,192,0,3,224,0,2,224,0,6,240,0,6,112,0, - 6,112,0,12,120,0,12,56,0,15,248,0,24,28,0,24, - 28,0,16,28,0,48,14,0,48,14,0,252,63,128,21,17, - 51,22,0,0,7,255,240,1,248,48,1,248,48,3,184,48, - 3,184,48,3,56,0,7,56,0,6,56,0,7,255,224,12, - 56,64,12,56,0,28,56,0,24,56,0,24,56,8,48,56, - 24,48,56,24,248,255,248,14,23,46,15,1,250,7,240,24, - 120,48,48,112,0,96,0,96,0,224,0,224,0,224,0,224, - 0,224,0,240,0,112,0,120,8,60,60,63,240,15,192,1, - 0,3,128,3,192,1,192,3,128,6,0,13,23,46,14,1, - 0,24,0,60,0,94,0,7,0,1,128,0,0,255,240,120, - 48,120,48,120,32,120,32,120,0,120,0,120,0,127,192,120, - 128,120,0,120,0,120,0,120,16,120,24,120,48,255,240,13, - 23,46,14,1,0,1,192,3,224,7,128,14,0,24,0,0, - 0,255,240,120,48,120,48,120,32,120,32,120,0,120,0,120, - 0,127,192,120,128,120,0,120,0,120,0,120,16,120,24,120, - 48,255,240,13,23,46,14,1,0,7,0,15,0,31,128,56, - 192,32,96,0,0,255,240,120,48,120,48,120,32,120,32,120, - 0,120,0,120,0,127,192,120,128,120,0,120,0,120,0,120, - 16,120,24,120,48,255,240,13,22,44,14,1,0,28,224,61, - 224,61,224,24,192,0,0,255,240,120,48,120,48,120,32,120, - 32,120,0,120,0,120,0,127,192,120,128,120,0,120,0,120, - 0,120,16,120,24,120,48,255,240,8,23,23,9,0,0,96, - 240,120,28,6,0,127,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,127,8,23,23,9,1,0,6,31,60,112, - 64,0,254,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,9,23,46,9,0,0,28,0,62,0,126,0,227, - 0,129,128,0,0,127,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,127,0,9,22,44,9,0,0,115,128,247, - 128,247,128,99,0,0,0,127,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,127,0,16,17,34,17,0,0,63, - 224,248,120,56,60,56,30,56,30,56,15,56,15,56,15,255, - 143,56,15,56,15,56,15,56,30,56,30,56,60,56,120,255, - 224,18,22,66,18,0,0,3,204,0,7,248,0,15,248,0, - 8,112,0,0,0,0,248,15,192,124,3,0,60,3,0,62, - 3,0,63,3,0,55,131,0,51,195,0,51,195,0,49,227, - 0,48,243,0,48,123,0,48,123,0,48,63,0,48,31,0, - 48,15,0,48,7,0,252,3,0,15,23,46,17,1,0,12, - 0,30,0,15,0,3,128,0,64,0,0,7,192,24,112,48, - 56,48,28,96,28,96,14,224,14,224,14,224,14,224,14,224, - 14,224,12,112,28,112,24,56,24,28,32,7,192,15,23,46, - 17,1,0,0,96,0,240,3,224,7,0,4,0,0,0,7, - 192,24,112,48,56,48,28,96,28,96,14,224,14,224,14,224, - 14,224,14,224,14,224,12,112,28,112,24,56,24,28,32,7, - 192,15,23,46,17,1,0,3,128,7,192,15,224,28,96,16, - 48,0,0,7,192,24,112,48,56,48,28,96,28,96,14,224, - 14,224,14,224,14,224,14,224,14,224,12,112,28,112,24,56, - 24,28,32,7,192,15,22,44,17,1,0,15,24,31,240,31, - 224,48,192,0,0,7,192,24,112,48,56,48,28,96,28,96, - 14,224,14,224,14,224,14,224,14,224,14,224,12,112,28,112, - 24,56,24,28,32,7,192,15,22,44,17,1,0,14,112,30, - 240,30,240,12,96,0,0,7,192,24,112,48,56,48,28,96, - 28,96,14,224,14,224,14,224,14,224,14,224,14,224,12,112, - 28,112,24,56,24,28,32,7,192,9,9,18,11,1,3,193, - 128,227,128,119,0,62,0,28,0,62,0,119,0,227,128,193, - 128,15,18,36,17,1,255,7,238,8,124,56,56,48,60,112, - 124,96,254,224,238,225,206,227,142,227,14,231,14,254,12,124, - 28,124,24,56,48,124,32,239,192,128,0,17,23,69,18,0, - 0,3,0,0,7,128,0,3,192,0,0,224,0,0,48,0, - 0,0,0,254,31,128,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, - 0,56,6,0,56,6,0,56,6,0,56,4,0,28,12,0, - 14,24,0,3,224,0,17,23,69,18,0,0,0,56,0,0, - 124,0,0,240,0,1,192,0,3,0,0,0,0,0,254,31, - 128,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,4,0,28,12,0,14,24,0,3,224, - 0,17,23,69,18,0,0,0,224,0,1,224,0,3,240,0, - 7,24,0,4,12,0,0,0,0,254,31,128,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, - 0,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, - 56,4,0,28,12,0,14,24,0,3,224,0,17,22,66,18, - 0,0,3,156,0,7,188,0,7,188,0,3,24,0,0,0, - 0,254,31,128,56,6,0,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,4,0,28,12,0,14,24, - 0,3,224,0,16,23,46,17,0,0,0,48,0,248,1,224, - 3,128,2,0,0,0,248,31,60,14,28,12,14,24,15,24, - 7,48,7,48,3,224,3,224,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,7,240,14,17,34,15,0,0,254,0, - 56,0,56,0,63,192,56,112,56,56,56,28,56,28,56,28, - 56,28,56,56,56,112,59,224,56,0,56,0,56,0,254,0, - 15,20,40,17,0,0,1,240,6,60,12,28,24,14,24,14, - 56,14,56,28,56,56,56,96,56,192,56,192,56,224,56,120, - 56,60,56,30,56,14,57,6,57,134,57,132,249,248,12,20, - 40,13,1,0,56,0,60,0,28,0,14,0,6,0,3,0, - 0,0,0,0,31,128,113,192,241,192,129,192,3,192,63,192, - 113,192,225,192,225,192,227,240,253,224,121,128,12,20,40,13, - 1,0,3,192,3,192,7,128,7,0,14,0,12,0,0,0, - 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,12,20,40,13,1,0, - 6,0,15,0,31,0,59,128,48,192,96,64,0,0,0,0, - 31,128,113,192,241,192,129,192,3,192,63,192,113,192,225,192, - 225,192,227,240,253,224,121,128,12,19,38,13,1,0,0,32, - 28,96,63,192,71,192,67,128,0,0,0,0,31,128,113,192, - 241,192,129,192,3,192,63,192,113,192,225,192,225,192,227,240, - 253,224,121,128,12,18,36,13,1,0,57,192,61,224,57,192, - 57,192,0,0,0,0,31,128,113,192,241,192,129,192,3,192, - 63,192,113,192,225,192,225,192,227,240,253,224,121,128,12,19, - 38,13,1,0,15,0,27,0,25,128,27,0,30,0,0,0, - 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,18,12,36,20,1,0, - 7,158,0,31,227,0,56,225,128,112,193,128,64,193,128,15, - 255,0,56,192,0,96,192,0,224,224,128,227,241,192,254,127, - 0,124,62,0,11,18,36,12,1,250,15,224,48,192,112,192, - 96,64,224,0,224,0,224,0,224,0,240,64,120,192,63,128, - 31,0,4,0,14,0,15,0,7,0,14,0,24,0,11,20, - 40,13,1,0,60,0,60,0,30,0,14,0,7,0,1,0, - 0,0,0,0,15,0,49,192,112,192,96,224,224,224,255,192, - 224,0,224,0,240,64,120,224,63,192,31,0,11,20,40,13, - 1,0,1,192,3,192,3,128,7,0,6,0,12,0,0,0, - 0,0,15,0,49,192,112,192,96,224,224,224,255,192,224,0, - 224,0,240,64,120,224,63,192,31,0,11,20,40,13,1,0, - 6,0,15,0,31,128,29,128,48,192,32,96,0,0,0,0, - 15,0,49,192,112,192,96,224,224,224,255,192,224,0,224,0, - 240,64,120,224,63,192,31,0,11,18,36,13,1,0,24,192, - 61,224,61,224,57,192,0,0,0,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,8,20,20,8,0,0,240,240,120,24,12,4,0,0, - 28,124,28,28,28,28,28,28,28,28,28,127,7,20,20,8, - 1,0,14,30,28,56,48,96,0,0,56,248,56,56,56,56, - 56,56,56,56,56,254,9,20,40,8,0,0,24,0,60,0, - 126,0,118,0,195,0,129,128,0,0,0,0,28,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,127,0,9,18,36,8,0,0,115,128,247,128,247,128, - 231,0,0,0,0,0,28,0,124,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,127,0,12,19, - 38,14,1,0,12,0,126,112,15,224,15,128,61,192,0,224, - 0,224,15,224,49,240,96,240,96,112,224,112,224,112,224,112, - 224,96,224,96,112,192,56,128,31,0,15,19,38,16,1,0, - 0,16,14,48,31,224,51,224,33,192,0,0,0,0,24,240, - 251,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,12,20,40,14,1,0,28,0,60,0, - 14,0,6,0,3,0,1,128,0,0,0,0,15,128,49,192, - 112,224,96,112,224,112,224,112,224,112,224,112,224,96,112,96, - 56,192,31,0,12,20,40,14,1,0,1,192,3,224,3,128, - 7,0,6,0,12,0,0,0,0,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,12,20,40,14,1,0,7,0,15,0,15,128,29,192, - 56,192,32,96,0,0,0,0,15,128,49,192,112,224,96,112, - 224,112,224,112,224,112,224,112,224,96,112,96,56,192,31,0, - 12,19,38,14,1,0,0,48,30,32,63,224,39,192,65,128, - 0,0,0,0,15,128,49,192,112,224,96,112,224,112,224,112, - 224,112,224,112,224,96,112,96,56,192,31,0,12,18,36,14, - 1,0,28,224,61,224,61,224,24,192,0,0,0,0,15,128, - 49,192,112,224,96,112,224,112,224,112,224,112,224,112,224,96, - 112,96,56,192,31,0,10,10,20,11,1,2,12,0,12,0, - 12,0,0,0,255,192,0,0,0,0,12,0,12,0,12,0, - 12,14,28,14,1,255,0,16,15,176,49,224,112,224,97,240, - 227,112,230,112,230,112,236,112,248,96,112,224,120,192,95,0, - 128,0,15,20,40,15,0,0,14,0,15,0,7,0,3,128, - 1,128,0,192,0,0,0,0,56,56,248,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,250,63,190,30,56, - 15,20,40,15,0,0,0,224,0,240,1,192,1,128,3,0, - 2,0,0,0,0,0,56,56,248,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,250,63,190,30,56,15,20, - 40,15,0,0,3,128,3,192,7,192,14,224,28,112,24,16, - 0,0,0,0,56,56,248,248,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,250,63,190,30,56,15,18,36,15, - 0,0,14,112,14,112,30,240,14,112,0,0,0,0,56,56, - 248,248,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,250,63,190,30,56,15,26,52,14,255,250,0,112,0,240, - 0,224,1,192,1,128,3,0,0,0,0,0,126,62,60,24, - 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, - 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0, - 13,26,52,15,1,250,24,0,248,0,56,0,56,0,56,0, - 56,0,56,0,56,0,57,224,63,240,60,112,56,56,56,24, - 56,24,56,24,56,24,56,16,60,48,63,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,15,24,48,14,255,250, - 7,56,15,120,15,120,14,112,0,0,0,0,126,62,60,24, - 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, - 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 16 - Calculated Max Values w=12 h=25 x= 2 y= 9 dx=14 dy= 0 ascent=21 len=50 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =16 descent= 0 - X Font ascent =16 descent= 0 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17n[561] U8G_FONT_SECTION("u8g_font_gdb17n") = { - 0,42,39,242,246,16,0,0,0,0,42,58,0,21,251,16, - 0,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=23 h=27 x= 3 y=14 dx=23 dy= 0 ascent=22 len=69 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x=-4 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17r[3540] U8G_FONT_SECTION("u8g_font_gdb17r") = { - 0,42,39,242,246,17,4,81,9,172,32,127,250,22,250,21, - 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, - 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, - 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, - 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, - 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, - 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, - 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, - 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, - 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, - 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, - 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, - 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, - 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, - 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, - 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, - 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, - 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, - 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, - 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, - 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, - 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, - 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, - 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, - 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, - 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, - 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, - 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, - 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, - 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, - 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, - 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, - 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, - 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, - 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, - 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, - 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, - 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, - 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, - 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, - 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, - 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, - 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, - 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, - 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, - 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, - 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, - 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, - 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, - 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, - 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, - 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, - 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, - 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, - 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, - 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, - 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, - 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, - 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, - 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, - 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, - 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, - 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, - 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, - 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, - 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, - 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, - 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, - 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, - 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, - 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, - 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, - 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, - 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, - 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, - 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, - 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, - 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, - 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, - 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, - 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, - 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, - 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, - 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, - 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, - 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, - 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, - 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, - 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, - 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, - 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, - 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, - 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, - 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, - 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, - 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, - 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, - 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, - 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, - 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, - 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, - 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, - 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, - 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, - 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, - 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, - 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, - 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, - 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, - 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, - 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, - 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, - 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, - 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, - 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, - 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, - 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, - 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, - 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, - 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, - 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, - 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, - 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, - 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, - 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, - 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, - 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, - 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, - 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, - 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, - 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, - 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, - 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, - 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, - 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, - 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, - 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, - 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, - 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, - 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, - 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, - 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, - 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, - 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, - 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, - 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, - 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, - 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, - 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, - 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, - 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=18 dx=28 dy= 0 ascent=28 len=112 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x=-5 y=-9 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20[10077] U8G_FONT_SECTION("u8g_font_gdb20") = { - 0,49,47,240,244,20,5,86,12,137,32,255,248,28,247,25, - 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, - 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, - 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, - 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, - 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, - 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, - 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, - 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, - 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, - 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, - 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, - 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, - 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, - 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, - 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, - 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, - 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, - 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, - 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, - 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, - 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, - 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, - 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, - 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, - 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, - 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, - 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, - 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, - 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, - 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, - 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, - 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, - 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, - 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, - 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, - 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, - 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, - 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, - 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, - 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, - 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, - 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, - 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, - 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, - 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, - 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, - 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, - 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, - 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, - 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, - 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, - 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, - 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, - 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, - 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, - 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, - 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, - 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, - 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, - 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, - 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, - 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, - 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, - 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, - 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, - 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, - 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, - 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, - 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, - 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, - 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, - 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, - 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, - 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, - 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, - 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, - 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, - 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, - 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, - 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, - 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, - 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, - 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, - 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, - 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, - 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, - 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, - 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, - 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, - 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, - 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, - 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, - 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, - 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, - 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, - 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, - 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, - 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, - 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, - 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, - 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, - 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, - 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, - 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, - 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, - 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, - 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, - 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, - 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, - 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, - 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, - 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, - 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, - 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, - 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, - 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, - 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, - 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, - 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, - 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, - 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, - 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, - 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, - 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, - 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, - 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, - 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, - 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, - 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, - 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, - 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, - 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, - 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, - 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, - 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, - 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, - 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, - 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, - 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, - 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, - 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, - 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, - 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, - 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, - 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, - 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, - 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, - 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, - 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, - 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, - 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, - 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, - 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, - 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, - 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, - 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, - 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, - 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, - 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, - 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, - 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, - 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, - 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, - 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, - 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, - 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, - 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, - 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, - 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, - 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, - 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, - 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, - 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, - 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, - 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, - 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, - 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, - 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, - 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, - 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, - 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, - 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, - 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, - 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, - 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, - 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, - 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, - 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, - 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, - 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, - 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, - 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, - 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, - 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, - 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, - 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, - 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, - 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, - 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, - 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, - 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, - 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, - 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, - 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, - 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, - 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, - 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, - 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, - 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, - 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, - 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, - 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, - 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, - 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, - 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, - 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, - 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, - 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,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,8,0,0,5,24, - 24,10,2,247,112,248,248,248,112,0,0,48,48,48,48,112, - 112,112,112,120,120,120,120,120,120,120,120,96,13,20,40,16, - 2,255,3,0,3,0,3,0,15,248,31,248,59,56,115,16, - 227,0,227,0,227,0,227,0,227,0,227,0,115,24,123,48, - 63,224,31,192,3,0,3,0,3,0,14,19,38,16,1,0, - 1,252,6,60,14,28,28,12,28,8,60,0,60,0,60,0, - 60,0,255,224,60,0,60,0,60,0,60,4,56,4,56,12, - 127,252,255,252,128,48,12,13,26,16,2,3,192,48,239,112, - 112,224,48,192,96,96,96,96,96,96,96,96,112,224,57,192, - 111,96,192,48,128,16,18,19,57,16,255,0,248,31,192,252, - 15,128,62,6,0,30,14,0,31,12,0,15,156,0,7,152, - 0,7,248,0,3,240,0,3,240,0,3,240,0,1,224,0, - 63,255,0,1,224,0,1,224,0,1,224,0,1,224,0,3, - 240,0,7,248,0,2,32,32,7,3,250,64,192,192,192,192, - 192,192,192,192,192,192,192,192,192,128,0,0,64,192,192,192, - 192,192,192,192,192,192,192,192,192,192,128,12,22,44,16,2, - 0,15,192,49,224,112,224,112,64,124,0,126,0,63,128,127, - 192,99,224,225,240,224,240,240,112,252,112,127,112,63,224,31, - 192,7,224,65,224,64,224,224,224,240,192,127,0,11,5,10, - 13,1,17,112,224,241,224,241,224,241,224,225,192,21,21,63, - 23,1,0,1,252,0,7,7,0,12,1,128,24,0,192,48, - 126,96,96,199,48,97,134,48,195,2,24,199,0,24,199,0, - 24,199,0,24,199,0,24,199,0,24,199,128,24,99,199,48, - 97,252,48,48,248,96,16,0,64,8,1,128,6,3,0,1, - 252,0,7,11,11,9,1,9,60,204,140,60,108,204,206,252, - 0,0,254,14,15,30,16,1,0,2,8,6,28,12,56,28, - 112,56,112,120,224,241,224,243,192,241,224,120,224,56,112,28, - 112,12,56,6,24,2,12,13,7,14,16,2,3,255,248,255, - 248,0,24,0,24,0,24,0,24,0,16,10,2,4,11,1, - 7,255,192,255,128,12,11,22,11,0,11,31,128,48,192,126, - 96,219,48,219,48,222,48,219,48,217,48,100,224,48,192,31, - 128,14,3,6,16,1,18,127,248,127,252,255,248,7,8,8, - 11,2,12,60,126,70,198,198,204,252,120,12,15,30,13,1, - 2,6,0,6,0,6,0,6,0,6,0,127,240,255,224,6, - 0,6,0,6,0,6,0,4,0,0,0,255,240,255,224,8, - 11,11,11,2,10,62,115,227,3,6,6,12,24,49,97,255, - 9,11,22,11,1,10,62,0,231,0,231,0,7,0,28,0, - 63,0,7,128,3,128,3,128,199,0,126,0,8,8,8,10, - 3,16,28,30,63,60,120,112,224,192,18,23,69,19,1,248, - 28,6,0,252,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,62,62,0,63,255,128,63,223,192,51,142,0,48,0,0, - 48,0,0,56,0,0,56,0,0,56,0,0,60,0,0,62, - 0,0,48,0,0,17,24,72,19,1,252,15,255,128,60,127, - 0,120,102,0,112,102,0,240,102,0,240,102,0,240,102,0, - 240,102,0,120,102,0,120,102,0,60,102,0,15,230,0,0, - 102,0,0,102,0,0,102,0,0,102,0,0,102,0,0,102, - 0,0,102,0,0,102,0,0,102,0,0,102,0,0,255,0, - 1,255,128,5,5,5,7,1,8,112,248,248,248,112,7,7, - 7,7,0,249,24,48,60,62,30,60,240,8,11,11,11,2, - 10,8,248,24,24,24,24,24,24,24,24,255,7,11,11,9, - 1,9,56,76,198,198,198,198,198,108,56,0,254,13,15,30, - 16,2,0,129,0,195,128,97,128,112,192,56,224,60,112,30, - 120,30,120,30,120,60,112,56,224,112,192,97,192,193,128,131, - 0,17,19,57,20,2,0,48,3,128,240,3,0,48,6,0, - 48,12,0,48,28,0,48,24,0,48,48,0,48,96,0,120, - 224,0,132,193,0,1,135,0,3,15,0,7,11,0,6,19, - 0,12,51,0,24,63,128,56,67,0,48,3,0,224,15,128, - 17,19,57,20,2,0,48,1,128,240,3,0,48,7,0,48, - 6,0,48,12,0,48,24,0,48,56,0,48,48,0,120,96, - 0,132,192,0,1,207,0,1,153,128,3,49,128,7,1,0, - 14,3,0,12,6,0,24,12,0,56,24,128,112,63,128,18, - 19,57,20,1,0,60,1,192,102,1,128,70,3,0,12,6, - 0,28,14,0,6,12,0,6,24,0,134,48,0,124,112,0, - 0,96,128,0,195,128,1,135,128,3,133,128,3,9,128,6, - 25,128,12,31,192,28,33,128,24,1,128,112,7,192,13,23, - 46,15,1,248,7,0,15,128,15,128,15,128,7,0,0,0, - 0,0,3,0,3,0,3,0,7,0,6,0,14,0,28,0, - 60,0,120,0,112,0,240,24,240,120,240,120,240,120,120,240, - 63,192,20,28,84,20,0,0,3,0,0,7,128,0,7,192, - 0,15,224,0,1,224,0,0,112,0,0,24,0,0,0,0, - 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, - 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, - 24,3,128,56,3,192,56,3,192,254,15,240,20,28,84,20, - 0,0,0,8,0,0,30,0,0,62,0,0,124,0,0,240, - 0,1,224,0,1,128,0,0,0,0,0,32,0,0,240,0, - 0,240,0,1,248,0,1,248,0,1,248,0,3,188,0,3, - 60,0,3,60,0,7,30,0,6,30,0,14,31,0,15,255, - 0,12,7,0,28,7,128,24,7,128,24,3,128,56,3,192, - 56,3,192,254,15,240,20,27,81,20,0,0,0,224,0,0, - 240,0,1,248,0,3,252,0,7,14,0,4,6,0,0,0, - 0,0,32,0,0,240,0,0,240,0,1,248,0,1,248,0, - 1,248,0,3,188,0,3,60,0,3,60,0,7,30,0,6, - 30,0,14,31,0,15,255,0,12,7,0,28,7,128,24,7, - 128,24,3,128,56,3,192,56,3,192,254,15,240,20,26,78, - 20,0,0,3,195,0,7,254,0,7,254,0,12,124,0,8, - 0,0,0,0,0,0,32,0,0,240,0,0,240,0,1,248, - 0,1,248,0,1,248,0,3,188,0,3,60,0,3,60,0, - 7,30,0,6,30,0,14,31,0,15,255,0,12,7,0,28, - 7,128,24,7,128,24,3,128,56,3,192,56,3,192,254,15, - 240,20,26,78,20,0,0,6,12,0,15,30,0,15,30,0, - 15,30,0,14,28,0,0,0,0,0,32,0,0,240,0,0, - 240,0,1,248,0,1,248,0,1,248,0,3,188,0,3,60, - 0,3,60,0,7,30,0,6,30,0,14,31,0,15,255,0, - 12,7,0,28,7,128,24,7,128,24,3,128,56,3,192,56, - 3,192,254,15,240,20,27,81,20,0,0,0,112,0,1,152, - 0,1,152,0,1,144,0,0,224,0,0,0,0,0,0,0, - 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, - 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, - 24,3,128,56,3,192,56,3,192,254,15,240,25,20,80,26, - 0,0,3,255,255,0,0,255,3,0,0,255,3,0,0,239, - 3,0,0,239,3,0,1,207,0,0,1,207,0,0,3,143, - 0,0,3,143,0,0,3,255,254,0,7,15,4,0,6,15, - 0,0,14,15,0,0,14,15,0,0,12,15,0,0,28,15, - 0,0,24,15,0,128,24,15,1,128,56,31,1,128,254,63, - 255,128,16,27,54,18,1,249,1,254,6,31,28,14,56,4, - 56,0,112,0,112,0,240,0,240,0,240,0,240,0,240,0, - 240,0,248,0,120,0,124,1,126,7,63,254,31,252,15,240, - 0,192,1,192,1,240,0,240,0,240,1,224,3,128,15,28, - 56,17,1,0,8,0,28,0,62,0,31,0,7,128,1,192, - 0,64,0,0,255,252,124,12,60,12,60,12,60,12,60,0, - 60,0,60,0,60,0,63,240,60,32,60,0,60,0,60,0, - 60,0,60,0,60,2,60,6,124,14,255,254,15,28,56,17, - 1,0,0,96,0,240,1,248,1,240,3,192,7,0,12,0, - 0,0,255,252,124,12,60,12,60,12,60,12,60,0,60,0, - 60,0,60,0,63,240,60,32,60,0,60,0,60,0,60,0, - 60,0,60,2,60,6,124,14,255,254,15,27,54,17,1,0, - 3,128,7,192,15,192,31,224,28,112,48,24,0,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,2, - 60,6,124,14,255,254,15,26,52,17,1,0,56,112,56,112, - 120,240,120,240,48,96,0,0,255,252,124,12,60,12,60,12, - 60,12,60,0,60,0,60,0,60,0,63,240,60,32,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 9,28,56,10,0,0,32,0,240,0,248,0,124,0,30,0, - 15,0,3,0,0,0,127,128,63,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,63,0,127,128,10,28, - 56,10,1,0,2,0,7,128,15,192,31,0,62,0,120,0, - 96,0,0,0,255,0,126,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,10,27,54,10, - 0,0,12,0,30,0,63,0,127,128,225,192,192,64,0,0, - 127,128,63,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,127,128,11,26,52,10,255,0,112,224, - 241,224,241,224,241,224,96,192,0,0,63,192,31,128,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,31,128, - 63,192,18,20,60,20,1,0,63,240,0,252,60,0,60,14, - 0,60,15,0,60,7,128,60,7,128,60,3,192,60,3,192, - 60,3,192,255,195,192,60,3,192,60,3,192,60,3,192,60, - 3,128,60,7,128,60,7,128,60,15,0,60,14,0,124,28, - 0,255,240,0,19,26,78,21,1,0,3,195,0,7,254,0, - 15,252,0,12,120,0,24,0,0,0,0,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,28,84,20,1,0,2,0, - 0,15,0,0,15,128,0,7,192,0,3,224,0,0,240,0, - 0,48,0,0,0,0,3,240,0,12,28,0,28,14,0,56, - 7,0,56,7,128,112,7,128,112,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,248,3,128, - 120,7,128,120,7,0,60,15,0,30,30,0,15,248,0,3, - 224,0,18,28,84,20,1,0,0,16,0,0,60,0,0,124, - 0,0,248,0,1,224,0,3,192,0,3,0,0,0,0,0, - 3,240,0,12,28,0,28,14,0,56,7,0,56,7,128,112, - 7,128,112,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,248,3,128,120,7,128,120,7,0, - 60,15,0,30,30,0,15,248,0,3,224,0,18,27,81,20, - 1,0,0,192,0,1,224,0,3,240,0,7,248,0,14,28, - 0,8,12,0,0,0,0,3,240,0,12,28,0,28,14,0, - 56,7,0,56,7,128,112,7,128,112,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,248,3, - 128,120,7,128,120,7,0,60,15,0,30,30,0,15,248,0, - 3,224,0,18,26,78,20,1,0,3,198,0,15,252,0,15, - 252,0,24,120,0,16,0,0,0,0,0,3,240,0,12,28, - 0,28,14,0,56,7,0,56,7,128,112,7,128,112,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,248,3,128,120,7,128,120,7,0,60,15,0,30,30, - 0,15,248,0,3,224,0,18,26,78,20,1,0,14,28,0, - 30,60,0,30,60,0,30,60,0,28,56,0,0,0,0,3, - 240,0,12,28,0,28,14,0,56,7,0,56,7,128,112,7, - 128,112,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,248,3,128,120,7,128,120,7,0,60, - 15,0,30,30,0,15,248,0,3,224,0,11,10,20,13,1, - 4,96,96,240,224,57,192,31,128,15,0,15,0,31,128,57, - 192,112,224,224,96,18,21,63,20,1,255,3,241,192,12,31, - 128,28,15,0,56,15,0,56,31,128,112,63,128,112,63,192, - 240,123,192,240,243,192,240,227,192,241,195,192,241,195,192,243, - 131,192,247,3,128,126,7,128,126,7,0,60,7,0,62,14, - 0,127,248,0,227,224,0,128,0,0,19,28,84,21,1,0, - 3,0,0,7,128,0,15,192,0,7,192,0,1,224,0,0, - 112,0,0,24,0,0,0,0,255,7,224,126,3,192,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,3,0,30,3,0,15,6,0,7,252, - 0,3,240,0,19,28,84,21,1,0,0,8,0,0,30,0, - 0,62,0,0,124,0,0,240,0,1,192,0,1,128,0,0, - 0,0,255,7,224,126,3,192,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 3,0,30,3,0,15,6,0,7,252,0,3,240,0,19,27, - 81,21,1,0,0,224,0,0,240,0,1,248,0,3,252,0, - 7,14,0,12,6,0,0,0,0,255,7,224,126,3,192,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,3,0,30,3,0,15,6,0,7, - 252,0,3,240,0,19,26,78,21,1,0,6,12,0,15,30, - 0,15,30,0,15,30,0,14,28,0,0,0,0,255,7,224, - 126,3,192,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,3,0,30,3,0, - 15,6,0,7,252,0,3,240,0,19,28,84,20,0,0,0, - 8,0,0,30,0,0,62,0,0,124,0,0,240,0,1,192, - 0,1,128,0,0,0,0,252,7,224,60,3,192,30,3,128, - 15,3,0,15,7,0,7,134,0,3,142,0,3,204,0,1, - 220,0,1,248,0,0,248,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,1,248,0, - 3,252,0,16,20,40,18,1,0,255,128,126,0,60,0,60, - 0,63,240,60,60,60,30,60,15,60,15,60,15,60,15,60, - 14,60,30,60,60,63,240,60,0,60,0,60,0,126,0,255, - 128,18,24,72,21,1,0,0,248,0,3,254,0,15,31,0, - 14,15,128,28,7,128,28,7,128,60,7,128,60,7,128,60, - 15,0,60,60,0,60,112,0,60,224,0,60,224,0,60,240, - 0,60,252,0,60,127,0,60,63,128,60,15,192,60,7,192, - 61,3,192,60,129,192,60,193,128,124,225,128,252,254,0,14, - 24,48,16,1,0,28,0,62,0,30,0,15,0,7,0,3, - 128,1,128,0,192,0,0,31,192,112,224,240,240,192,240,0, - 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, - 252,126,248,56,96,14,24,48,16,1,0,0,224,1,240,1, - 224,3,192,3,128,3,0,7,0,6,0,0,0,31,192,112, - 224,240,240,192,240,0,240,3,240,31,240,63,240,120,240,240, - 240,240,240,240,240,251,252,126,248,56,96,14,23,46,16,1, - 0,3,128,7,128,15,192,31,224,28,224,56,48,32,16,0, - 0,31,192,112,224,240,240,192,240,0,240,3,240,31,240,63, - 240,120,240,240,240,240,240,240,240,251,252,126,248,56,96,14, - 22,44,16,1,0,14,8,31,24,63,240,99,240,64,224,0, - 0,0,0,31,192,112,224,240,240,192,240,0,240,3,240,31, - 240,63,240,120,240,240,240,240,240,240,240,251,252,126,248,56, - 96,14,22,44,16,1,0,56,112,120,240,120,240,120,240,48, - 96,0,0,0,0,31,192,112,224,240,240,192,240,0,240,3, - 240,31,240,63,240,120,240,240,240,240,240,240,240,251,252,126, - 248,56,96,14,22,44,16,1,0,3,128,4,192,12,192,12, - 192,7,128,0,0,0,0,31,192,112,224,240,240,192,240,0, - 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, - 252,126,248,56,96,22,15,45,23,1,0,3,227,224,31,252, - 112,60,252,56,120,120,60,112,120,60,128,120,60,7,255,248, - 28,120,0,120,120,0,112,120,0,240,124,8,249,254,28,255, - 191,248,127,31,240,60,7,192,14,22,44,15,1,249,3,248, - 12,120,56,48,112,16,112,0,240,0,240,0,240,0,240,0, - 240,0,248,8,124,28,63,248,31,240,15,192,3,0,3,192, - 3,224,5,224,1,224,3,192,14,0,13,24,48,15,1,0, - 14,0,30,0,31,0,15,0,7,128,3,128,1,192,0,192, - 0,0,7,192,24,224,56,112,112,120,112,120,240,120,255,240, - 240,0,240,0,240,0,248,8,124,56,127,240,63,224,15,128, - 13,24,48,15,1,0,0,224,0,240,1,240,1,224,3,192, - 3,128,7,0,6,0,0,0,7,192,24,224,56,112,112,120, - 112,120,240,120,255,240,240,0,240,0,240,0,248,8,124,56, - 127,240,63,224,15,128,13,23,46,15,1,0,3,128,7,192, - 15,192,15,224,28,112,56,48,48,24,0,0,7,192,24,224, - 56,112,112,120,112,120,240,120,255,240,240,0,240,0,240,0, - 248,8,124,56,127,240,63,224,15,128,13,22,44,15,1,0, - 56,112,56,112,120,240,120,240,48,96,0,0,0,0,7,192, - 24,224,56,112,112,120,112,120,240,120,255,240,240,0,240,0, - 240,0,248,8,124,56,127,240,63,224,15,128,9,24,48,10, - 0,0,112,0,248,0,120,0,60,0,28,0,14,0,6,0, - 2,0,0,0,14,0,126,0,62,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,63,0, - 127,128,9,24,48,10,1,0,7,0,15,128,15,0,30,0, - 28,0,56,0,48,0,32,0,0,0,28,0,252,0,124,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,0,10,23,46,10,0,0,28,0, - 30,0,63,0,127,0,115,128,193,192,128,64,0,0,14,0, - 126,0,62,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,63,0,127,128,11,22,44,10, - 255,0,112,224,241,224,241,224,241,224,225,192,0,0,0,0, - 7,0,63,0,31,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,31,128,63,192,14,23, - 46,16,1,0,14,0,63,28,95,248,3,224,15,224,60,224, - 0,112,0,56,15,248,24,248,56,124,112,60,112,60,240,60, - 240,60,240,60,240,60,240,56,240,56,120,112,120,112,60,96, - 15,128,17,22,66,19,1,0,7,6,0,15,204,0,31,252, - 0,17,248,0,48,112,0,0,0,0,0,0,0,12,60,0, - 252,252,0,127,254,0,63,30,0,62,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,126,63,0,255,127,128,15,24,48,17,1,0, - 14,0,31,0,15,0,7,0,3,128,1,128,0,192,0,192, - 0,0,7,224,24,112,56,56,112,60,112,30,240,30,240,30, - 240,30,240,30,240,30,240,28,120,28,56,56,28,48,15,192, - 15,24,48,17,1,0,0,240,0,248,0,240,1,224,1,192, - 3,128,3,0,6,0,0,0,7,224,24,112,56,56,112,60, - 112,30,240,30,240,30,240,30,240,30,240,30,240,28,120,28, - 56,56,28,48,15,192,15,23,46,17,1,0,3,128,3,192, - 7,224,15,224,30,112,24,56,48,24,0,0,7,224,24,112, - 56,56,112,60,112,30,240,30,240,30,240,30,240,30,240,30, - 240,28,120,28,56,56,28,48,15,192,15,22,44,17,1,0, - 14,12,31,136,31,248,49,240,32,224,0,0,0,0,7,224, - 24,112,56,56,112,60,112,30,240,30,240,30,240,30,240,30, - 240,30,240,28,120,28,56,56,28,48,15,192,15,22,44,17, - 1,0,24,48,60,120,60,120,56,112,56,112,0,0,0,0, - 7,224,24,112,56,56,112,60,112,30,240,30,240,30,240,30, - 240,30,240,30,240,28,120,28,56,56,28,48,15,192,12,12, - 24,13,1,3,6,0,14,0,14,0,12,0,0,0,255,240, - 255,224,0,0,6,0,14,0,14,0,12,0,15,16,32,17, - 1,255,7,238,24,124,56,60,112,124,112,254,240,254,241,222, - 243,158,243,158,247,30,254,28,124,28,124,56,124,48,111,192, - 128,0,17,24,72,18,0,0,7,0,0,15,128,0,7,128, - 0,3,192,0,1,192,0,0,224,0,0,96,0,0,48,0, - 0,0,0,28,14,0,252,126,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,126,0,63,255,128,31,223,0,15,12,0, - 17,24,72,18,0,0,0,56,0,0,124,0,0,120,0,0, - 240,0,0,224,0,0,192,0,1,128,0,1,128,0,0,0, - 0,28,14,0,252,126,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,126,0,63,255,128,31,223,0,15,12,0,17,23, - 69,18,0,0,0,192,0,1,224,0,3,240,0,7,248,0, - 7,56,0,14,12,0,8,4,0,0,0,0,28,14,0,252, - 126,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,126,0, - 63,255,128,31,223,0,15,12,0,17,22,66,18,0,0,14, - 28,0,30,60,0,30,60,0,30,60,0,12,24,0,0,0, - 0,0,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,17,32,96,16,255,248,0,56,0,0,62,0,0,124,0, - 0,120,0,0,240,0,0,224,0,0,192,0,1,128,0,0, - 0,0,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,16,32,64,18,1,248,12,0,252, - 0,124,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 120,61,252,63,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,63,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,30,90, - 16,255,248,6,12,0,15,30,0,15,30,0,14,28,0,14, - 28,0,0,0,0,0,0,0,127,15,128,62,7,0,30,6, - 0,30,6,0,15,14,0,15,12,0,7,140,0,7,152,0, - 7,152,0,3,248,0,3,240,0,1,240,0,1,240,0,1, - 224,0,0,224,0,0,192,0,0,192,0,1,192,0,1,128, - 0,39,128,0,127,0,0,254,0,0,120,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 19 - Calculated Max Values w=14 h=30 x= 2 y=11 dx=17 dy= 0 ascent=25 len=60 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent= 0 - X Font ascent =19 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20n[646] U8G_FONT_SECTION("u8g_font_gdb20n") = { - 0,49,47,240,244,19,0,0,0,0,42,58,0,25,250,19, - 0,12,13,26,14,1,11,3,0,15,0,70,64,102,112,246, - 240,63,192,15,0,63,224,254,240,230,112,70,32,7,0,14, - 0,12,12,24,13,1,3,6,0,6,0,6,0,6,0,6, - 0,127,240,255,224,6,0,6,0,6,0,6,0,6,0,6, - 10,10,9,2,250,56,252,252,60,60,56,56,112,96,192,10, - 2,4,11,1,7,255,192,255,128,5,5,5,9,2,255,112, - 248,248,248,112,14,30,60,15,1,251,0,28,0,56,0,56, - 0,120,0,112,0,112,0,224,0,224,0,224,1,192,1,192, - 3,128,3,128,3,128,7,0,7,0,7,0,14,0,14,0, - 28,0,28,0,28,0,56,0,56,0,120,0,112,0,112,0, - 224,0,224,0,192,0,14,18,36,16,1,0,7,192,24,224, - 56,112,112,120,112,120,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,240,56,112,56,120,56,56,112,28,96,15,128, - 13,19,38,16,2,0,1,128,15,128,127,128,239,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,63,224,127,248,13,19,38,16, - 1,0,15,224,56,240,120,120,240,120,112,120,0,120,0,240, - 0,240,1,224,1,192,3,128,7,0,14,0,28,8,28,8, - 56,24,127,248,255,248,255,248,13,19,38,16,1,0,31,128, - 121,224,112,240,240,240,64,240,0,240,1,224,7,192,15,192, - 3,240,0,240,0,120,0,120,0,120,0,120,128,240,192,240, - 127,224,31,128,14,19,38,17,1,0,0,48,1,240,1,240, - 3,240,7,240,6,240,12,240,12,240,24,240,56,240,48,240, - 96,240,255,252,255,248,0,240,0,240,0,240,1,248,7,252, - 13,19,38,16,1,0,63,248,63,240,63,224,112,0,112,0, - 96,0,96,0,127,128,127,224,97,240,0,248,0,120,0,120, - 0,120,0,120,0,112,128,240,193,224,127,128,14,20,40,16, - 1,0,0,112,3,240,7,128,15,0,28,0,60,0,120,0, - 120,0,115,224,255,240,252,120,240,124,240,60,240,60,240,60, - 112,60,120,56,56,56,28,112,7,192,13,19,38,16,2,0, - 255,248,255,248,255,240,192,48,128,96,128,96,0,224,0,192, - 1,192,1,128,3,128,3,128,7,0,7,0,14,0,14,0, - 30,0,28,0,56,0,14,19,38,16,1,0,15,192,24,240, - 48,120,112,120,112,120,120,120,126,240,63,192,31,224,15,240, - 63,248,120,252,248,124,240,60,240,60,240,56,112,56,56,112, - 31,192,14,20,40,16,1,255,7,192,24,240,56,120,112,120, - 240,60,240,60,240,60,240,60,248,60,124,124,63,252,31,60, - 0,56,0,120,0,112,0,240,1,224,7,128,63,0,56,0, - 5,16,16,9,2,255,112,248,248,248,112,0,0,0,0,0, - 0,112,248,248,248,112}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=16 dx=28 dy= 0 ascent=26 len=112 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x=-5 y=-8 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =26 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20r[4680] U8G_FONT_SECTION("u8g_font_gdb20r") = { - 0,49,47,240,244,20,5,86,12,137,32,127,248,26,248,25, - 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, - 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, - 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, - 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, - 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, - 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, - 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, - 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, - 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, - 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, - 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, - 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, - 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, - 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, - 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, - 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, - 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, - 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, - 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, - 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, - 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, - 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, - 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, - 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, - 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, - 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, - 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, - 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, - 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, - 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, - 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, - 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, - 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, - 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, - 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, - 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, - 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, - 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, - 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, - 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, - 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, - 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, - 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, - 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, - 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, - 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, - 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, - 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, - 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, - 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, - 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, - 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, - 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, - 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, - 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, - 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, - 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, - 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, - 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, - 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, - 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, - 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, - 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, - 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, - 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, - 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, - 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, - 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, - 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, - 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, - 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, - 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, - 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, - 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, - 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, - 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, - 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, - 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, - 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, - 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, - 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, - 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, - 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, - 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, - 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, - 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, - 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, - 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, - 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, - 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, - 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, - 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, - 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, - 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, - 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, - 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, - 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, - 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, - 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, - 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, - 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, - 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, - 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, - 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, - 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, - 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, - 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, - 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, - 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, - 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, - 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, - 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, - 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, - 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, - 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, - 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, - 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, - 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, - 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, - 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, - 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, - 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, - 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, - 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, - 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, - 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, - 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, - 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, - 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, - 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, - 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, - 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, - 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, - 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, - 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, - 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, - 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, - 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, - 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, - 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, - 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, - 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, - 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, - 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, - 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, - 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, - 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, - 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, - 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, - 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, - 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, - 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, - 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, - 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, - 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, - 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, - 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, - 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, - 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, - 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, - 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, - 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, - 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, - 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, - 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, - 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, - 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, - 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, - 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, - 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, - 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, - 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, - 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, - 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, - 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, - 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, - 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, - 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, - 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, - 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, - 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, - 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, - 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, - 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, - 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, - 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, - 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, - 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, - 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, - 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, - 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, - 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, - 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, - 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, - 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, - 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, - 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, - 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, - 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, - 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, - 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, - 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, - 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, - 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, - 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, - 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, - 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, - 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, - 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, - 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, - 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, - 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, - 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, - 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, - 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, - 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, - 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, - 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=34 h=41 x= 4 y=23 dx=35 dy= 0 ascent=34 len=136 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x=-6 y=-11 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =34 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25[14643] U8G_FONT_SECTION("u8g_font_gdb25") = { - 0,61,57,236,242,25,7,167,18,92,32,255,247,34,245,31, - 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, - 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, - 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, - 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, - 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, - 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, - 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, - 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, - 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, - 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, - 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, - 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, - 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, - 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, - 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, - 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, - 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, - 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, - 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, - 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, - 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, - 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, - 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, - 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, - 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, - 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, - 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, - 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, - 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, - 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, - 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, - 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, - 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, - 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, - 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, - 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, - 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, - 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, - 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, - 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, - 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, - 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, - 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, - 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, - 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, - 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, - 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, - 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, - 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, - 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, - 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, - 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, - 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, - 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, - 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, - 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, - 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, - 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, - 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, - 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, - 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, - 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, - 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, - 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, - 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, - 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, - 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, - 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, - 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, - 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, - 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, - 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, - 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, - 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, - 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, - 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, - 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, - 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, - 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, - 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, - 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, - 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, - 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, - 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, - 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, - 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, - 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, - 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, - 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, - 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, - 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, - 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, - 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, - 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, - 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, - 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, - 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, - 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, - 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, - 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, - 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, - 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, - 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, - 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, - 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, - 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, - 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, - 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, - 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, - 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, - 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, - 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, - 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, - 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, - 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, - 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, - 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, - 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, - 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, - 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, - 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, - 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, - 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, - 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, - 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, - 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, - 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, - 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, - 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, - 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, - 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, - 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, - 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, - 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, - 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, - 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, - 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, - 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, - 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, - 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, - 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, - 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, - 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, - 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, - 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, - 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, - 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, - 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, - 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, - 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, - 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, - 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, - 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, - 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, - 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, - 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, - 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, - 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, - 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, - 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, - 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, - 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, - 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, - 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, - 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, - 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, - 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, - 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, - 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, - 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, - 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, - 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, - 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, - 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, - 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, - 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, - 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, - 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, - 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, - 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, - 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, - 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, - 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, - 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, - 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, - 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, - 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, - 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, - 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, - 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, - 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, - 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, - 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, - 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, - 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, - 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, - 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, - 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, - 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, - 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, - 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, - 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, - 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, - 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, - 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, - 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, - 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, - 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, - 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, - 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, - 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, - 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, - 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, - 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, - 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, - 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, - 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, - 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, - 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, - 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, - 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, - 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, - 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, - 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, - 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, - 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, - 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, - 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, - 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, - 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, - 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, - 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, - 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, - 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, - 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, - 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, - 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, - 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, - 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, - 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, - 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, - 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, - 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, - 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, - 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, - 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, - 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, - 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, - 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, - 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, - 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, - 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, - 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, - 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, - 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, - 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, - 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, - 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, - 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, - 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, - 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, - 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, - 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, - 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, - 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, - 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, - 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, - 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, - 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, - 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, - 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, - 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, - 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, - 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, - 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, - 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, - 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, - 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, - 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, - 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, - 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, - 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, - 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, - 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, - 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, - 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, - 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, - 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, - 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, - 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, - 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, - 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, - 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, - 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, - 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, - 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, - 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, - 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, - 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, - 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, - 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, - 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, - 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, - 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, - 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, - 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, - 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, - 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, - 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, - 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, - 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, - 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, - 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, - 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, - 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, - 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, - 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, - 0,99,255,0,192,254,0,128,56,0,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,10,0, - 0,6,29,29,12,3,245,120,252,252,252,248,112,0,16,48, - 56,56,120,120,120,120,120,120,120,120,120,120,120,124,124,252, - 252,252,248,192,16,25,50,20,2,255,0,192,1,192,1,192, - 1,248,7,255,31,255,61,223,121,198,121,198,113,192,241,192, - 241,192,241,192,241,192,241,192,241,192,121,195,125,199,63,206, - 31,252,15,248,3,192,1,192,1,192,1,128,19,25,75,20, - 1,255,0,127,0,1,255,192,3,199,192,7,131,192,7,1, - 192,15,1,128,15,1,128,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,127,252,0,255,248,0,31,0,0,31, - 0,0,31,0,0,31,0,0,30,0,96,30,0,192,30,0, - 192,63,255,192,127,255,192,255,255,192,64,31,128,17,16,48, - 20,1,4,64,0,128,224,1,128,115,243,128,63,255,0,30, - 30,0,28,14,0,56,7,0,56,7,0,56,7,0,56,7, - 0,56,7,0,28,14,0,62,31,0,127,255,128,243,243,128, - 96,1,128,22,24,72,20,254,0,254,3,252,255,3,252,31, - 0,240,31,128,224,15,193,192,7,193,192,7,227,128,3,227, - 128,3,247,128,1,247,0,0,255,0,0,254,0,0,254,0, - 0,124,0,31,255,240,31,255,224,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,3,41,41,9,3,248,96,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,128,0,0,0,64,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,192, - 16,28,56,20,2,0,7,224,31,252,60,124,120,56,120,24, - 124,24,127,0,63,192,63,240,127,248,243,252,240,254,240,63, - 240,31,248,15,126,15,127,15,63,206,15,254,3,252,0,254, - 48,126,48,62,48,30,56,30,60,60,63,248,15,224,14,6, - 12,16,1,21,112,56,120,60,248,124,248,124,240,120,112,56, - 27,26,104,30,1,0,0,63,128,0,1,255,240,0,7,192, - 124,0,15,0,30,0,30,0,15,0,60,31,135,128,56,127, - 227,128,112,225,193,192,113,193,193,192,225,192,193,224,227,128, - 128,224,227,128,0,224,227,128,0,224,227,128,0,224,227,128, - 0,224,227,128,0,224,225,192,1,224,113,224,33,192,112,240, - 113,192,56,127,227,128,60,31,7,128,30,0,15,0,15,0, - 30,0,7,192,124,0,1,255,240,0,0,63,128,0,9,14, - 28,11,1,11,30,0,62,0,103,0,231,0,7,0,63,0, - 103,0,231,0,231,0,255,128,119,0,0,0,255,128,255,128, - 17,18,54,21,1,0,0,128,128,1,129,128,3,3,0,7, - 7,0,14,14,0,30,30,0,60,60,0,124,124,0,248,248, - 0,252,248,0,124,124,0,60,60,0,30,30,0,14,14,0, - 7,7,0,3,3,0,1,129,128,0,128,128,17,9,27,20, - 2,3,255,255,128,255,255,128,0,3,128,0,3,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,0,12,2,4, - 14,1,9,127,240,255,240,13,15,30,14,1,14,15,128,31, - 192,48,96,96,48,95,16,137,136,137,136,143,136,139,8,137, - 8,73,144,124,240,48,96,31,192,15,128,16,3,6,20,2, - 23,255,255,255,255,255,254,10,10,20,14,2,15,15,0,63, - 128,115,192,97,192,225,192,225,192,225,128,243,128,127,0,60, - 0,15,18,36,16,1,3,1,128,3,128,3,128,3,128,3, - 128,3,128,127,254,255,252,3,128,3,128,3,128,3,128,3, - 128,3,0,0,0,0,0,127,254,255,252,11,15,30,13,1, - 12,7,192,31,224,56,224,120,224,112,224,0,192,1,192,3, - 128,3,0,6,0,12,0,24,32,48,96,127,224,255,224,11, - 15,30,13,0,12,7,128,31,224,56,224,56,224,32,224,1, - 192,3,128,7,192,0,224,0,224,0,224,128,224,225,192,127, - 192,31,0,9,10,20,13,4,20,14,0,31,128,31,128,63, - 0,62,0,60,0,120,0,112,0,224,0,64,0,22,27,81, - 23,1,247,14,0,96,254,7,224,254,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,63,7,224,63,143,224,63,255,228, - 63,251,252,59,241,248,57,225,224,56,0,0,56,0,0,60, - 0,0,60,0,0,60,0,0,62,0,0,63,0,0,62,0, - 0,48,0,0,22,30,90,24,1,251,3,255,252,31,255,252, - 63,29,240,124,28,224,124,28,224,248,28,224,248,28,224,248, - 28,224,248,28,224,248,28,224,124,28,224,126,28,224,63,28, - 224,31,252,224,3,252,224,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,127, - 248,0,255,252,6,6,6,8,1,11,56,124,252,252,252,120, - 8,9,9,9,1,247,24,56,60,63,127,31,30,252,224,10, - 15,30,14,2,12,6,0,62,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,63, - 0,255,192,9,14,28,11,1,11,30,0,63,0,119,0,227, - 128,227,128,227,128,227,128,227,128,119,0,126,0,60,0,0, - 0,255,128,255,128,17,18,54,21,2,0,64,64,0,224,224, - 0,112,112,0,56,56,0,60,60,0,30,30,0,31,31,0, - 15,143,128,15,143,128,15,143,128,15,143,128,31,31,0,30, - 30,0,60,60,0,56,56,0,112,112,0,96,96,0,192,192, - 0,22,24,72,25,2,0,12,0,24,252,0,56,28,0,112, - 28,0,224,28,1,192,28,1,192,28,3,128,28,7,0,28, - 6,0,28,14,0,62,28,0,255,184,0,0,56,112,0,112, - 240,0,225,240,1,193,112,1,195,112,3,134,112,7,4,112, - 14,15,252,14,31,248,28,0,112,56,0,112,112,1,252,21, - 24,72,25,2,0,12,0,56,252,0,112,28,0,112,28,0, - 224,28,1,192,28,3,128,28,3,128,28,7,0,28,14,0, - 28,28,0,62,28,0,255,184,0,0,113,240,0,227,248,0, - 230,56,1,206,56,3,128,48,7,0,96,7,0,224,14,0, - 192,28,1,136,60,7,8,56,15,248,112,15,248,23,24,72, - 25,1,0,31,0,12,63,128,28,115,128,56,227,128,112,7, - 0,224,31,0,224,3,129,192,3,131,128,3,131,0,135,135, - 0,255,14,0,60,28,0,0,28,56,0,56,120,0,112,248, - 0,224,184,0,225,184,1,195,56,3,130,56,7,7,254,7, - 15,252,14,0,56,28,0,56,56,0,254,16,29,58,18,1, - 245,3,192,7,224,7,224,7,224,7,192,3,128,0,0,0, - 0,1,192,1,192,1,192,1,192,3,192,3,128,7,128,15, - 0,31,0,62,0,60,0,124,0,248,0,248,7,248,31,248, - 31,248,31,252,30,126,60,63,248,15,224,25,34,136,25,0, - 0,0,192,0,0,3,224,0,0,3,240,0,0,3,248,0, - 0,0,252,0,0,0,62,0,0,0,15,0,0,0,2,0, - 0,0,0,0,0,0,4,0,0,0,30,0,0,0,62,0, - 0,0,126,0,0,0,127,0,0,0,111,0,0,0,239,128, - 0,0,239,128,0,0,199,128,0,1,199,192,0,1,199,192, - 0,1,131,192,0,3,131,224,0,3,131,224,0,3,255,224, - 0,7,255,240,0,7,0,240,0,6,0,248,0,14,0,248, - 0,14,0,120,0,12,0,124,0,28,0,124,0,28,0,124, - 0,255,129,255,0,255,129,255,128,25,34,136,25,0,0,0, - 1,128,0,0,3,192,0,0,7,224,0,0,15,192,0,0, - 31,0,0,0,124,0,0,0,240,0,0,0,64,0,0,0, - 0,0,0,0,4,0,0,0,30,0,0,0,62,0,0,0, - 126,0,0,0,127,0,0,0,111,0,0,0,239,128,0,0, - 239,128,0,0,199,128,0,1,199,192,0,1,199,192,0,1, - 131,192,0,3,131,224,0,3,131,224,0,3,255,224,0,7, - 255,240,0,7,0,240,0,6,0,248,0,14,0,248,0,14, - 0,120,0,12,0,124,0,28,0,124,0,28,0,124,0,255, - 129,255,0,255,129,255,128,25,34,136,25,0,0,0,28,0, - 0,0,62,0,0,0,127,0,0,0,255,128,0,1,255,128, - 0,1,227,192,0,3,128,224,0,2,0,64,0,0,0,0, - 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, - 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, - 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, - 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, - 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, - 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, - 0,255,129,255,128,25,33,132,25,0,0,0,248,48,0,1, - 254,240,0,3,255,224,0,3,255,192,0,6,31,128,0,6, - 3,0,0,4,0,0,0,0,0,0,0,0,4,0,0,0, - 30,0,0,0,62,0,0,0,126,0,0,0,127,0,0,0, - 111,0,0,0,239,128,0,0,239,128,0,0,199,128,0,1, - 199,192,0,1,199,192,0,1,131,192,0,3,131,224,0,3, - 131,224,0,3,255,224,0,7,255,240,0,7,0,240,0,6, - 0,248,0,14,0,248,0,14,0,120,0,12,0,124,0,28, - 0,124,0,28,0,124,0,255,129,255,0,255,129,255,128,25, - 32,128,25,0,0,1,192,224,0,3,193,224,0,7,195,224, - 0,7,195,224,0,3,193,224,0,1,129,192,0,0,0,0, - 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, - 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, - 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, - 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, - 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, - 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, - 0,255,129,255,128,25,34,136,25,0,0,0,30,0,0,0, - 127,0,0,0,119,0,0,0,103,0,0,0,231,0,0,0, - 119,0,0,0,126,0,0,0,56,0,0,0,0,0,0,0, - 4,0,0,0,30,0,0,0,62,0,0,0,126,0,0,0, - 127,0,0,0,111,0,0,0,239,128,0,0,239,128,0,0, - 199,128,0,1,199,192,0,1,199,192,0,1,131,192,0,3, - 131,224,0,3,131,224,0,3,255,224,0,7,255,240,0,7, - 0,240,0,6,0,248,0,14,0,248,0,14,0,120,0,12, - 0,124,0,28,0,124,0,28,0,124,0,255,129,255,0,255, - 129,255,128,32,25,100,32,0,0,0,255,255,252,0,255,255, - 252,0,31,240,28,0,61,240,12,0,61,240,12,0,57,240, - 12,0,121,240,12,0,113,240,0,0,241,240,0,0,225,240, - 0,0,225,240,0,1,255,255,240,1,255,255,240,3,193,240, - 32,3,129,240,0,3,129,240,0,7,129,240,0,7,1,240, - 0,15,1,240,0,14,1,240,3,14,1,240,3,30,1,240, - 6,28,1,240,14,255,7,255,254,255,15,255,254,20,34,102, - 22,1,247,0,127,128,3,255,240,7,135,224,15,1,224,30, - 0,192,60,0,64,60,0,0,124,0,0,120,0,0,120,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,252,0,0,124,0,0,126,0,0,127, - 0,96,63,129,224,31,255,192,15,255,0,7,254,0,1,240, - 0,0,224,0,0,248,0,0,252,0,1,252,0,0,124,0, - 0,120,0,1,240,0,1,192,0,19,34,102,21,1,0,6, - 0,0,31,0,0,31,128,0,31,192,0,7,224,0,1,240, - 0,0,120,0,0,16,0,0,0,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,19,34,102,21,1,0,0,12,0,0,31, - 0,0,63,0,0,126,0,0,248,0,1,224,0,3,128,0, - 2,0,0,0,0,0,255,255,192,255,255,192,62,1,192,30, - 1,192,30,1,128,30,1,128,30,0,128,30,0,0,30,0, - 0,30,0,0,30,0,0,31,255,0,31,254,0,30,6,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,96,30,0,96,30,0,224,63,1,224,255,255,224,255,255, - 192,19,34,102,21,1,0,0,224,0,1,240,0,3,248,0, - 7,252,0,15,252,0,15,30,0,28,7,0,16,2,0,0, - 0,0,255,255,192,255,255,192,62,1,192,30,1,192,30,1, - 128,30,1,128,30,0,128,30,0,0,30,0,0,30,0,0, - 30,0,0,31,255,0,31,254,0,30,6,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,96,30,0, - 96,30,0,224,63,1,224,255,255,224,255,255,192,19,32,96, - 21,1,0,14,7,0,30,15,0,31,15,128,30,15,0,30, - 15,0,12,6,0,0,0,0,255,255,192,255,255,192,62,1, - 192,30,1,192,30,1,128,30,1,128,30,0,128,30,0,0, - 30,0,0,30,0,0,30,0,0,31,255,0,31,254,0,30, - 6,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,96,30,0,96,30,0,224,63,1,224,255,255,224, - 255,255,192,12,34,68,13,0,0,48,0,248,0,252,0,254, - 0,63,0,15,128,3,192,0,128,0,0,127,240,63,240,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,63,224,127,240,12,34,68, - 13,1,0,0,192,1,224,3,240,7,224,31,128,62,0,120, - 0,32,0,0,0,255,224,127,224,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,127,192,255,224,13,34,68,13,0,0,7,0,15, - 128,31,192,63,224,127,224,248,240,224,56,128,16,0,0,127, - 240,63,240,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,63,224,127, - 240,14,32,64,13,255,0,56,28,120,60,248,124,248,124,120, - 60,112,56,0,0,63,248,31,248,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,31,240,63,248,22,25,75,25,1,0,15,252,0, - 255,255,128,255,15,192,31,3,224,31,1,240,31,1,248,31, - 0,248,31,0,248,31,0,124,31,0,124,31,0,124,255,248, - 124,255,248,124,31,0,124,31,0,124,31,0,124,31,0,120, - 31,0,248,31,0,248,31,1,240,31,1,240,31,3,224,31, - 7,192,127,255,128,255,252,0,25,33,132,27,1,0,0,240, - 48,0,1,254,224,0,3,255,224,0,3,255,192,0,6,31, - 128,0,6,3,0,0,4,0,0,0,0,0,0,0,254,0, - 255,128,255,0,127,0,31,0,28,0,31,128,28,0,31,192, - 28,0,31,192,28,0,31,224,28,0,29,240,28,0,29,248, - 28,0,28,248,28,0,28,124,28,0,28,126,28,0,28,62, - 28,0,28,31,28,0,28,15,156,0,28,15,156,0,28,7, - 220,0,28,3,252,0,28,3,252,0,28,1,252,0,28,0, - 252,0,28,0,252,0,28,0,124,0,127,0,60,0,255,128, - 12,0,23,34,102,25,1,0,1,128,0,7,192,0,7,224, - 0,7,240,0,1,248,0,0,124,0,0,30,0,0,4,0, - 0,0,0,0,126,0,3,255,192,7,135,224,14,1,240,30, - 0,248,60,0,248,60,0,124,124,0,124,120,0,126,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,252,0,60,124,0,124,124,0,120,62,0,120,62, - 0,240,31,1,224,15,195,192,7,255,0,0,252,0,23,34, - 102,25,1,0,0,3,0,0,7,192,0,15,192,0,31,128, - 0,62,0,0,120,0,0,224,0,0,128,0,0,0,0,0, - 126,0,3,255,192,7,135,224,14,1,240,30,0,248,60,0, - 248,60,0,124,124,0,124,120,0,126,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,252, - 0,60,124,0,124,124,0,120,62,0,120,62,0,240,31,1, - 224,15,195,192,7,255,0,0,252,0,23,34,102,25,1,0, - 0,56,0,0,124,0,0,254,0,1,255,0,3,255,0,3, - 199,128,7,1,192,4,0,128,0,0,0,0,126,0,3,255, - 192,7,135,224,14,1,240,30,0,248,60,0,248,60,0,124, - 124,0,124,120,0,126,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,252,0,60,124,0, - 124,124,0,120,62,0,120,62,0,240,31,1,224,15,195,192, - 7,255,0,0,252,0,23,33,99,25,1,0,1,240,96,3, - 252,224,7,255,192,7,255,128,14,63,128,12,6,0,8,0, - 0,0,0,0,0,126,0,3,255,192,7,135,224,14,1,240, - 30,0,248,60,0,248,60,0,124,124,0,124,120,0,126,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,252,0,60,124,0,124,124,0,120,62,0,120, - 62,0,240,31,1,224,15,195,192,7,255,0,0,252,0,23, - 32,96,25,1,0,3,129,192,7,131,192,7,195,224,7,131, - 192,7,131,192,3,1,128,0,0,0,0,126,0,3,255,192, - 7,135,224,14,1,240,30,0,248,60,0,248,60,0,124,124, - 0,124,120,0,126,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,252,0,60,124,0,124, - 124,0,120,62,0,120,62,0,240,31,1,224,15,195,192,7, - 255,0,0,252,0,13,12,24,17,2,5,96,48,240,120,120, - 240,61,224,31,192,15,128,15,128,31,192,57,224,120,240,240, - 120,96,48,23,26,78,25,1,255,0,126,30,3,255,252,7, - 135,248,14,3,240,30,1,248,60,1,252,60,3,252,124,7, - 252,120,15,254,248,15,126,248,30,62,248,62,62,248,60,62, - 248,120,62,248,240,62,248,240,62,253,224,60,127,192,124,127, - 128,120,127,128,120,63,0,240,31,129,224,63,195,192,127,255, - 0,240,252,0,192,0,0,25,34,136,27,1,0,0,192,0, - 0,3,224,0,0,3,240,0,0,3,248,0,0,0,252,0, - 0,0,30,0,0,0,7,0,0,0,2,0,0,0,0,0, - 0,255,224,255,128,127,224,255,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,24,0,15,128,56, - 0,15,128,56,0,7,192,112,0,3,224,224,0,1,255,192, - 0,0,127,0,0,25,34,136,27,1,0,0,1,128,0,0, - 3,224,0,0,7,224,0,0,15,192,0,0,31,0,0,0, - 60,0,0,0,112,0,0,0,64,0,0,0,0,0,0,255, - 224,255,128,127,224,255,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,24,0,15,128,56,0,15, - 128,56,0,7,192,112,0,3,224,224,0,1,255,192,0,0, - 127,0,0,25,34,136,27,1,0,0,28,0,0,0,62,0, - 0,0,127,0,0,0,255,128,0,1,255,192,0,1,227,192, - 0,3,128,224,0,2,0,64,0,0,0,0,0,255,224,255, - 128,127,224,255,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,24,0,15,128,56,0,15,128,56, - 0,7,192,112,0,3,224,224,0,1,255,192,0,0,127,0, - 0,25,32,128,27,1,0,1,192,224,0,3,225,240,0,3, - 225,240,0,3,193,224,0,3,193,224,0,1,128,192,0,0, - 0,0,0,255,224,255,128,127,224,255,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,24,0,15, - 128,56,0,15,128,56,0,7,192,112,0,3,224,224,0,1, - 255,192,0,0,127,0,0,24,34,102,25,0,0,0,1,128, - 0,3,192,0,7,224,0,31,192,0,63,0,0,124,0,0, - 240,0,0,64,0,0,0,0,126,0,255,255,0,255,31,0, - 56,15,128,56,15,192,112,7,192,112,3,224,224,3,224,224, - 1,241,192,1,241,192,0,251,128,0,251,128,0,127,0,0, - 127,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,1,255,192, - 1,255,192,21,25,75,23,1,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,254,0,31,255,192,31,7, - 224,31,3,240,31,1,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,1,240,31,1,240,31,135,224,31, - 127,128,31,62,0,31,0,0,31,0,0,31,0,0,127,224, - 0,255,224,0,23,30,90,25,0,0,0,31,128,0,255,224, - 1,195,240,3,128,248,7,128,248,15,0,124,15,0,124,15, - 0,124,31,0,124,31,0,248,31,1,248,31,7,240,31,15, - 128,31,31,0,31,30,0,31,30,0,31,31,0,31,31,128, - 31,15,224,31,7,248,31,3,252,31,0,252,31,0,126,31, - 48,62,31,48,30,31,48,30,31,56,28,31,60,60,127,63, - 248,255,15,224,19,30,90,20,1,0,7,0,0,31,128,0, - 15,128,0,15,192,0,7,192,0,3,224,0,1,224,0,0, - 224,0,0,112,0,0,48,0,0,0,0,0,0,0,1,248, - 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, - 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, - 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, - 128,62,14,0,19,30,90,20,1,0,0,56,0,0,62,0, - 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,1, - 192,0,3,128,0,1,0,0,0,0,0,0,0,0,1,248, - 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, - 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, - 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, - 128,62,14,0,19,29,87,20,1,0,1,224,0,1,224,0, - 3,240,0,7,248,0,7,252,0,15,60,0,30,30,0,56, - 7,0,16,2,0,0,0,0,0,0,0,1,248,0,15,254, - 0,62,63,0,124,31,0,124,31,0,112,31,0,0,31,0, - 1,255,0,15,255,0,63,31,0,124,31,0,120,31,0,248, - 31,0,248,31,32,248,127,224,255,223,192,127,159,128,62,14, - 0,19,27,81,20,1,0,7,129,128,15,227,0,31,255,0, - 63,254,0,49,252,0,96,56,0,0,0,0,0,0,0,0, - 0,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,19,27,81,20,1,0,12,6, - 0,30,15,0,62,31,0,62,31,0,62,31,0,28,14,0, - 0,0,0,0,0,0,0,0,0,1,248,0,15,254,0,62, - 63,0,124,31,0,124,31,0,112,31,0,0,31,0,1,255, - 0,15,255,0,63,31,0,124,31,0,120,31,0,248,31,0, - 248,31,32,248,127,224,255,223,192,127,159,128,62,14,0,19, - 28,84,20,1,0,0,240,0,3,248,0,3,184,0,7,56, - 0,7,56,0,7,56,0,3,240,0,1,224,0,0,0,0, - 0,0,0,1,248,0,15,254,0,62,63,0,124,31,0,124, - 31,0,112,31,0,0,31,0,1,255,0,15,255,0,63,31, - 0,124,31,0,120,31,0,248,31,0,248,31,32,248,127,224, - 255,223,192,127,159,128,62,14,0,27,18,72,29,1,0,0, - 252,62,0,7,254,255,128,15,191,199,128,30,15,131,192,62, - 15,129,192,124,15,1,224,0,15,1,224,0,255,255,224,15, - 255,255,192,31,15,0,0,124,15,0,0,120,15,0,0,248, - 15,128,0,248,31,128,96,252,127,225,224,255,227,255,192,127, - 193,255,0,63,0,124,0,17,27,81,18,1,247,1,252,0, - 7,255,0,31,31,0,60,15,0,60,7,0,120,6,0,120, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,252,0,0,126,1,0,127,7,128,63,254,0,31,252,0, - 7,240,0,1,192,0,1,192,0,1,240,0,3,248,0,0, - 248,0,0,248,0,1,240,0,3,224,0,7,0,0,17,30, - 90,19,1,0,3,128,0,15,128,0,31,192,0,7,192,0, - 3,192,0,1,224,0,0,224,0,0,112,0,0,48,0,0, - 56,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,30, - 90,19,1,0,0,60,0,0,63,0,0,62,0,0,124,0, - 0,120,0,0,240,0,0,240,0,1,224,0,1,192,0,1, - 128,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,19,1,0,0,224,0,1,240,0,3,248,0,3,248,0, - 7,252,0,15,30,0,14,14,0,28,7,0,24,3,0,0, - 0,0,0,0,0,1,240,0,15,252,0,30,62,0,60,31, - 0,120,15,0,120,15,128,248,15,128,255,255,128,255,254,0, - 248,0,0,248,0,0,248,0,0,252,0,0,126,1,128,127, - 7,0,63,254,0,31,252,0,7,240,0,17,27,81,19,1, - 0,14,7,0,30,15,0,31,15,128,30,15,0,30,15,0, - 28,14,0,0,0,0,0,0,0,0,0,0,1,240,0,15, - 252,0,30,62,0,60,31,0,120,15,0,120,15,128,248,15, - 128,255,255,128,255,254,0,248,0,0,248,0,0,248,0,0, - 252,0,0,126,1,128,127,7,0,63,254,0,31,252,0,7, - 240,0,11,30,60,12,0,0,56,0,252,0,124,0,62,0, - 62,0,31,0,15,0,7,128,3,128,1,128,0,0,0,0, - 7,0,127,0,127,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 127,192,127,224,11,30,60,12,1,0,3,128,3,224,7,224, - 7,192,15,128,15,0,30,0,28,0,24,0,48,0,0,0, - 0,0,14,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,128,255,192,14,29,58,12,255,0,7,128,7,192, - 15,192,31,224,31,240,60,240,120,120,112,28,192,8,0,0, - 0,0,3,128,63,128,63,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,63,224,63,240,14,27,54,12,255,0,48,24,120,60, - 248,124,248,124,248,124,112,56,0,0,0,0,0,0,3,128, - 63,128,63,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,63,224, - 63,240,18,29,87,20,1,0,3,0,0,31,192,0,63,231, - 192,3,255,0,0,252,0,3,252,0,15,252,0,30,30,0, - 0,31,0,0,15,0,0,15,128,3,231,128,15,255,128,30, - 63,192,60,31,192,124,15,192,120,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,128,248,7,128,124,15,128, - 124,15,0,126,14,0,63,28,0,15,248,0,3,224,0,22, - 27,81,23,1,0,1,192,64,3,248,224,7,255,192,15,255, - 128,12,127,0,24,30,0,0,0,0,0,0,0,0,0,0, - 14,15,128,254,63,192,254,255,224,63,255,224,63,199,224,63, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 255,143,248,255,223,252,19,30,90,21,1,0,3,128,0,15, - 192,0,15,192,0,7,192,0,3,224,0,1,224,0,0,240, - 0,0,112,0,0,56,0,0,16,0,0,0,0,0,0,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,19,30,90,21,1,0,0,28,0,0, - 63,0,0,63,0,0,62,0,0,124,0,0,120,0,0,240, - 0,0,224,0,1,192,0,0,128,0,0,0,0,0,0,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,19,29,87,21,1,0,0,240,0,0, - 240,0,1,248,0,3,252,0,7,252,0,7,158,0,15,15, - 0,28,3,0,8,1,128,0,0,0,0,0,0,1,248,0, - 7,254,0,30,31,128,60,15,128,124,7,192,120,7,192,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 192,124,3,192,124,7,128,62,7,128,63,15,0,15,252,0, - 3,240,0,19,27,81,21,1,0,3,128,128,7,241,192,15, - 255,128,31,255,0,24,254,0,48,60,0,0,0,0,0,0, - 0,0,0,0,1,248,0,7,254,0,30,31,128,60,15,128, - 124,7,192,120,7,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,192,124,3,192,124,7,128,62,7, - 128,63,15,0,15,252,0,3,240,0,19,27,81,21,1,0, - 14,7,0,15,7,128,31,15,128,31,15,128,30,15,0,14, - 7,0,0,0,0,0,0,0,0,0,0,1,248,0,7,254, - 0,30,31,128,60,15,128,124,7,192,120,7,192,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,192,124, - 3,192,124,7,128,62,7,128,63,15,0,15,252,0,3,240, - 0,15,15,30,17,1,3,3,0,7,0,7,0,7,0,6, - 0,0,0,127,254,255,252,0,0,0,0,3,0,7,0,7, - 0,7,0,6,0,19,20,60,21,1,255,0,0,32,1,248, - 224,7,255,192,30,31,128,60,15,192,60,31,192,120,31,224, - 120,59,224,248,115,224,248,227,224,249,227,224,249,195,224,251, - 131,192,127,3,192,126,7,128,62,7,128,63,15,0,63,252, - 0,99,240,0,192,0,0,22,30,90,23,1,0,3,128,0, - 7,192,0,15,192,0,3,224,0,1,224,0,0,240,0,0, - 240,0,0,120,0,0,56,0,0,24,0,0,0,0,0,0, - 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, - 252,31,243,240,15,193,192,22,30,90,23,1,0,0,30,0, - 0,31,0,0,63,128,0,62,0,0,124,0,0,120,0,0, - 112,0,0,224,0,0,224,0,1,192,0,0,0,0,0,0, - 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, - 252,31,243,240,15,193,192,22,29,87,23,1,0,0,112,0, - 0,248,0,1,248,0,3,252,0,3,254,0,7,158,0,15, - 7,0,14,3,128,8,1,0,0,0,0,0,0,0,14,0, - 224,254,31,224,126,7,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,7,224,63,31,252,31,251,252,31,243, - 240,15,193,192,22,27,81,23,1,0,7,3,128,15,7,128, - 31,15,128,31,15,128,31,15,128,14,7,0,0,0,0,0, - 0,0,0,0,0,14,0,224,254,31,224,126,7,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,7,224,63, - 31,252,31,251,252,31,243,240,15,193,192,21,39,117,20,255, - 247,0,7,0,0,15,192,0,15,128,0,31,0,0,31,0, - 0,62,0,0,60,0,0,120,0,0,112,0,0,96,0,0, - 0,0,0,0,0,127,193,248,63,129,248,31,0,224,15,128, - 224,15,129,192,7,193,192,7,193,128,7,195,128,3,227,128, - 3,231,0,1,247,0,1,246,0,0,254,0,0,254,0,0, - 252,0,0,124,0,0,120,0,0,56,0,0,56,0,0,112, - 0,0,112,0,0,224,0,33,224,0,127,192,0,127,128,0, - 255,0,0,124,0,0,20,39,117,22,1,247,6,0,0,254, - 0,0,254,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,31,0,62,127,128,62,255,192,63,135,224,63,3,224,62, - 1,240,62,0,240,62,0,240,62,0,240,62,0,240,62,0, - 240,62,0,224,62,0,224,62,1,192,63,195,192,63,255,128, - 62,255,0,62,60,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,255,192,0,255,192, - 0,21,36,108,20,255,247,3,129,192,7,195,224,7,195,224, - 7,195,224,7,131,192,7,3,128,0,0,0,0,0,0,0, - 0,0,127,193,248,63,129,248,31,0,224,15,128,224,15,129, - 192,7,193,192,7,193,128,7,195,128,3,227,128,3,231,0, - 1,247,0,1,246,0,0,254,0,0,254,0,0,252,0,0, - 124,0,0,120,0,0,56,0,0,56,0,0,112,0,0,112, - 0,0,224,0,33,224,0,127,192,0,127,128,0,255,0,0, - 124,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=18 h=38 x= 3 y=14 dx=21 dy= 0 ascent=31 len=114 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25n[985] U8G_FONT_SECTION("u8g_font_gdb25n") = { - 0,61,57,236,242,24,0,0,0,0,42,58,0,31,249,24, - 0,16,16,32,18,1,14,0,192,3,192,3,192,99,140,123, - 158,125,191,127,252,15,224,7,224,63,252,253,190,249,158,51, - 142,3,192,3,192,3,0,15,14,28,17,1,4,1,128,3, - 128,3,128,3,128,3,128,3,128,127,254,255,252,3,128,3, - 128,3,128,3,128,3,128,3,0,8,12,12,11,2,249,30, - 127,255,127,31,31,30,30,60,56,112,96,12,2,4,14,1, - 9,127,240,255,240,6,6,6,11,3,255,56,124,252,252,252, - 120,17,38,114,19,1,249,0,1,128,0,7,128,0,7,128, - 0,15,0,0,15,0,0,15,0,0,30,0,0,30,0,0, - 28,0,0,60,0,0,60,0,0,120,0,0,120,0,0,120, - 0,0,240,0,0,240,0,0,224,0,1,224,0,1,224,0, - 3,192,0,3,192,0,3,192,0,7,128,0,7,128,0,7, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,120,0,0, - 240,0,0,240,0,0,192,0,0,18,24,72,20,1,0,3, - 240,0,7,252,0,30,62,0,28,31,0,60,15,0,120,15, - 128,120,15,128,120,7,128,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,120, - 7,128,124,7,128,124,15,128,60,15,0,62,14,0,31,30, - 0,15,248,0,3,224,0,16,24,48,20,2,0,0,96,3, - 224,31,224,255,224,99,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,7,240,127,255,127,255,16,24,48, - 20,2,0,3,248,15,252,60,62,124,63,120,31,248,31,112, - 31,0,31,0,62,0,60,0,124,0,120,0,240,1,224,3, - 224,3,192,7,128,15,1,30,3,60,3,120,3,127,255,255, - 255,255,255,16,24,48,20,2,0,7,240,31,248,60,124,120, - 62,248,62,248,62,64,62,0,60,0,124,0,240,7,240,7, - 252,0,254,0,62,0,63,0,31,0,31,0,31,0,31,0, - 30,192,62,240,124,127,248,15,192,17,24,72,20,1,0,0, - 12,0,0,124,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,188,0,7,188,0,7,60,0,14,60,0,14,60,0, - 28,60,0,56,60,0,56,60,0,112,60,0,255,255,128,255, - 255,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,3,255,128,3,255,128,17,24,72,20,1,0,31,255,0, - 31,255,128,31,254,0,31,252,0,24,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,63,240,0,63,252,0,48,126, - 0,96,31,0,0,31,0,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,0,31,0,96,31,0,248,126,0,63, - 252,0,7,224,0,17,24,72,20,2,0,0,14,0,0,126, - 0,1,240,0,7,192,0,15,128,0,30,0,0,62,0,0, - 60,0,0,124,0,0,121,248,0,127,254,0,254,63,0,252, - 31,0,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,124,15,128,124,15,0,60,31,0,31,30,0,15,252,0, - 3,240,0,17,24,72,20,2,0,127,255,128,127,255,0,255, - 255,0,255,255,0,224,6,0,192,14,0,128,12,0,0,28, - 0,0,28,0,0,56,0,0,56,0,0,112,0,0,112,0, - 0,240,0,0,224,0,1,224,0,1,192,0,3,192,0,3, - 192,0,7,128,0,7,128,0,15,128,0,31,0,0,28,0, - 0,17,24,72,21,2,0,3,240,0,15,252,0,28,62,0, - 24,31,0,56,31,0,56,31,0,56,31,0,60,62,0,63, - 60,0,31,248,0,15,240,0,7,252,0,14,254,0,62,63, - 0,124,31,128,120,31,128,248,15,128,248,15,128,248,15,128, - 248,15,0,124,31,0,126,62,0,63,252,0,7,224,0,17, - 25,75,20,2,255,3,240,0,15,252,0,30,62,0,60,30, - 0,120,31,0,120,31,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,128,126,63,128,63,255,128,15, - 207,0,0,15,0,0,31,0,0,30,0,0,62,0,0,124, - 0,0,248,0,1,240,0,15,192,0,63,0,0,56,0,0, - 6,19,19,11,3,255,56,124,252,252,252,120,0,0,0,0, - 0,0,0,56,124,252,252,252,120}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=34 h=41 x= 3 y=20 dx=35 dy= 0 ascent=33 len=136 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x=-6 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =33 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25r[6779] U8G_FONT_SECTION("u8g_font_gdb25r") = { - 0,61,57,236,242,25,7,167,18,92,32,127,247,33,247,31, - 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, - 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, - 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, - 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, - 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, - 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, - 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, - 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, - 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, - 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, - 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, - 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, - 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, - 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, - 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, - 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, - 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, - 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, - 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, - 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, - 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, - 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, - 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, - 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, - 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, - 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, - 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, - 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, - 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, - 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, - 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, - 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, - 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, - 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, - 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, - 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, - 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, - 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, - 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, - 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, - 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, - 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, - 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, - 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, - 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, - 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, - 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, - 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, - 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, - 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, - 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, - 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, - 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, - 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, - 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, - 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, - 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, - 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, - 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, - 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, - 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, - 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, - 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, - 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, - 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, - 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, - 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, - 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, - 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, - 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, - 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, - 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, - 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, - 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, - 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, - 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, - 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, - 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, - 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, - 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, - 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, - 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, - 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, - 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, - 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, - 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, - 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, - 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, - 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, - 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, - 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, - 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, - 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, - 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, - 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, - 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, - 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, - 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, - 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, - 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, - 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, - 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, - 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, - 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, - 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, - 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, - 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, - 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, - 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, - 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, - 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, - 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, - 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, - 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, - 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, - 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, - 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, - 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, - 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, - 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, - 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, - 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, - 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, - 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, - 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, - 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, - 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, - 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, - 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, - 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, - 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, - 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, - 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, - 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, - 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, - 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, - 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, - 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, - 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, - 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, - 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, - 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, - 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, - 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, - 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, - 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, - 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, - 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, - 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, - 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, - 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, - 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, - 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, - 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, - 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, - 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, - 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, - 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, - 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, - 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, - 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, - 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, - 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, - 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, - 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, - 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, - 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, - 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, - 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, - 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, - 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, - 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, - 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, - 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, - 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, - 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, - 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, - 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, - 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, - 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, - 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, - 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, - 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, - 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, - 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, - 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, - 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, - 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, - 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, - 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, - 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, - 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, - 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, - 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, - 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, - 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, - 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, - 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, - 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, - 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, - 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, - 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, - 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, - 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, - 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, - 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, - 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, - 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, - 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, - 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, - 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, - 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, - 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, - 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, - 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, - 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, - 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, - 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, - 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, - 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, - 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, - 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, - 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, - 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, - 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, - 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, - 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, - 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, - 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, - 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, - 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, - 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, - 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, - 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, - 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, - 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, - 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, - 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, - 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, - 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, - 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, - 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, - 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, - 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, - 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, - 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, - 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, - 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, - 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, - 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, - 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, - 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, - 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, - 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, - 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, - 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, - 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, - 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, - 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, - 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, - 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, - 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, - 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, - 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, - 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, - 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, - 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, - 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, - 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, - 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, - 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, - 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, - 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, - 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, - 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, - 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, - 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, - 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, - 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, - 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, - 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, - 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, - 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, - 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, - 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, - 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, - 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, - 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, - 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, - 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, - 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, - 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, - 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, - 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, - 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, - 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, - 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, - 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, - 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, - 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, - 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, - 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, - 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, - 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, - 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, - 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, - 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, - 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, - 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, - 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, - 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, - 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, - 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, - 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, - 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, - 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, - 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, - 0,99,255,0,192,254,0,128,56,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=41 h=49 x= 5 y=27 dx=42 dy= 0 ascent=42 len=210 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x=-7 y=-13 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =42 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30[19508] U8G_FONT_SECTION("u8g_font_gdb30") = { - 0,74,69,232,239,30,10,50,24,78,32,255,245,42,243,38, - 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, - 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, - 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, - 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, - 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, - 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, - 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, - 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, - 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, - 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, - 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, - 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, - 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, - 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, - 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, - 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, - 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, - 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, - 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, - 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, - 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, - 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, - 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, - 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, - 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, - 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, - 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, - 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, - 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, - 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, - 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, - 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, - 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, - 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, - 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, - 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, - 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, - 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, - 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, - 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, - 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, - 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, - 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, - 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, - 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, - 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, - 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, - 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, - 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, - 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, - 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, - 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, - 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, - 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, - 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, - 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, - 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, - 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, - 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, - 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, - 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, - 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, - 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, - 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, - 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, - 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, - 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, - 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, - 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, - 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, - 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, - 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, - 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, - 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, - 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, - 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, - 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, - 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, - 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, - 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, - 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, - 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, - 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, - 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, - 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, - 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, - 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, - 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, - 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, - 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, - 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, - 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, - 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, - 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, - 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, - 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, - 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, - 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, - 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, - 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, - 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, - 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, - 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, - 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, - 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, - 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, - 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, - 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, - 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, - 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, - 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, - 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, - 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, - 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, - 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, - 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, - 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, - 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, - 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, - 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, - 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, - 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, - 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, - 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, - 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, - 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, - 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, - 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, - 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, - 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, - 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, - 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, - 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, - 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, - 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, - 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, - 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, - 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, - 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, - 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, - 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, - 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, - 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, - 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, - 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, - 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, - 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, - 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, - 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, - 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, - 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, - 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, - 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, - 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, - 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, - 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, - 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, - 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, - 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, - 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, - 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, - 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, - 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, - 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, - 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, - 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, - 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, - 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, - 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, - 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, - 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, - 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, - 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, - 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, - 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, - 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, - 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, - 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, - 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, - 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, - 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, - 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, - 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, - 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, - 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, - 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, - 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, - 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, - 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, - 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, - 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, - 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, - 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, - 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, - 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, - 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, - 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, - 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, - 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, - 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, - 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, - 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, - 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, - 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, - 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, - 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, - 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, - 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, - 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, - 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, - 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, - 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, - 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, - 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, - 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, - 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, - 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, - 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, - 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, - 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, - 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, - 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, - 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, - 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, - 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, - 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, - 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, - 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, - 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, - 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, - 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, - 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, - 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, - 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, - 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, - 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, - 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, - 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, - 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, - 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, - 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, - 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, - 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, - 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, - 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, - 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, - 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, - 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, - 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, - 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, - 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, - 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, - 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, - 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, - 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, - 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, - 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, - 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, - 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, - 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, - 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, - 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, - 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, - 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, - 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, - 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, - 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, - 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, - 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, - 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, - 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, - 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, - 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, - 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, - 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, - 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, - 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, - 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, - 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, - 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, - 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, - 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, - 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, - 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, - 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, - 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, - 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, - 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, - 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, - 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, - 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, - 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, - 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, - 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, - 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, - 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, - 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, - 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, - 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, - 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, - 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, - 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, - 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, - 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, - 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, - 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, - 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, - 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, - 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, - 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, - 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, - 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, - 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, - 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, - 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, - 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, - 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, - 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, - 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, - 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, - 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, - 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, - 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, - 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, - 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, - 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, - 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, - 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, - 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, - 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, - 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, - 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, - 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, - 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, - 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, - 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, - 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, - 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, - 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, - 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, - 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, - 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, - 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, - 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, - 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, - 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, - 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, - 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, - 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, - 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, - 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, - 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, - 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, - 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, - 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, - 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, - 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, - 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, - 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, - 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, - 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, - 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, - 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, - 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, - 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, - 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, - 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, - 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, - 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, - 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, - 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, - 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, - 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, - 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, - 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, - 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, - 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, - 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, - 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, - 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, - 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, - 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, - 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, - 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, - 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, - 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, - 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, - 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, - 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, - 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, - 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, - 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, - 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, - 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, - 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, - 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, - 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, - 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, - 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, - 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, - 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, - 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, - 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, - 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, - 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, - 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, - 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, - 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, - 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, - 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, - 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, - 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, - 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, - 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, - 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, - 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, - 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, - 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, - 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, - 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, - 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, - 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, - 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, - 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, - 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, - 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, - 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, - 192,64,31,128,192,15,0,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,12,0,0,8,35, - 35,15,3,243,62,127,255,255,255,254,124,0,0,12,28,28, - 28,60,60,60,60,60,62,62,62,62,62,62,62,62,126,126, - 126,126,126,127,126,120,96,21,30,90,24,2,255,0,24,0, - 0,56,0,0,56,0,0,56,0,0,127,192,3,255,240,7, - 255,248,31,187,240,62,56,240,60,56,96,124,56,32,120,56, - 0,248,56,0,248,56,0,248,56,0,248,56,0,248,56,0, - 248,56,0,252,56,0,124,56,16,126,56,56,63,56,240,31, - 251,224,15,255,192,7,255,128,1,252,0,0,56,0,0,56, - 0,0,56,0,0,48,0,22,29,87,24,1,0,0,31,192, - 0,255,248,1,225,248,3,192,248,7,192,120,7,128,112,15, - 128,48,15,128,48,15,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,255,0,255,255,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,16,31,0,12,31, - 0,24,30,0,56,62,0,120,63,255,248,127,255,248,255,255, - 248,128,15,240,20,20,60,24,2,4,64,0,32,224,0,96, - 113,248,240,63,255,192,31,15,128,30,7,128,28,3,128,56, - 1,192,56,1,192,56,1,192,56,1,192,56,1,192,60,3, - 192,30,7,128,31,15,128,31,255,128,57,249,192,112,0,224, - 224,0,112,64,0,32,27,28,112,24,254,0,127,0,127,224, - 255,128,127,224,127,192,15,0,15,224,30,0,15,224,30,0, - 7,240,60,0,3,240,60,0,3,248,56,0,1,252,120,0, - 0,252,112,0,0,254,240,0,0,126,224,0,0,127,224,0, - 0,63,192,0,0,63,192,0,0,31,192,0,0,31,128,0, - 15,255,255,0,15,255,254,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,63,192,0,1,255,248,0,1,255,248,0,4,49,49,11, - 4,246,48,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,224,0,0,0,0,0,112,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,192,18,34,102,23,3,0,3,252,0,15,255,0,30, - 31,0,60,15,0,124,7,0,124,6,0,126,2,0,127,128, - 0,63,224,0,63,240,0,63,252,0,127,254,0,123,255,0, - 240,255,128,240,63,128,240,31,192,240,7,192,248,7,192,124, - 3,192,127,3,192,63,195,192,31,243,128,15,255,128,7,255, - 0,1,255,0,0,127,128,96,63,128,96,31,128,112,15,128, - 112,15,128,120,15,0,126,30,0,127,252,0,15,240,0,17, - 7,21,19,1,26,56,7,0,124,15,128,252,31,128,252,31, - 128,252,31,128,248,31,0,112,14,0,31,31,124,35,2,0, - 0,31,224,0,0,127,252,0,1,240,31,0,7,192,7,128, - 15,0,1,224,30,0,0,224,28,3,240,112,56,31,254,56, - 56,60,124,56,112,120,60,28,112,240,28,28,240,240,24,28, - 224,224,0,14,225,224,0,14,225,224,0,14,225,224,0,14, - 225,224,0,14,225,224,0,14,225,240,0,14,240,240,0,30, - 112,248,6,28,112,126,30,28,56,127,252,56,56,31,240,56, - 28,7,192,112,14,0,0,224,15,0,1,224,7,192,7,128, - 1,240,31,0,0,127,252,0,0,31,240,0,12,16,32,13, - 1,14,15,0,63,128,99,192,227,192,131,192,7,192,63,192, - 123,192,243,192,243,192,247,224,255,240,115,128,0,0,255,224, - 255,224,20,22,66,25,2,0,0,192,32,1,192,112,1,192, - 224,3,129,224,7,131,192,15,7,192,31,15,128,62,15,128, - 126,31,0,252,63,0,252,126,0,252,126,0,252,63,0,126, - 31,0,62,15,128,31,15,128,15,7,192,7,131,192,3,129, - 224,1,192,224,0,192,112,0,192,32,21,11,33,24,2,4, - 127,255,248,255,255,248,255,255,248,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 96,15,3,6,17,1,11,127,254,127,252,255,252,17,17,51, - 17,0,17,3,224,0,15,248,0,60,30,0,48,6,0,103, - 227,0,99,51,0,195,49,128,195,49,128,195,225,128,195,65, - 128,195,97,128,99,35,0,99,51,0,55,158,0,60,30,0, - 15,248,0,3,224,0,20,4,12,24,2,27,127,255,240,255, - 255,240,255,255,224,255,255,224,11,13,26,17,3,17,15,0, - 31,192,63,192,123,224,113,224,241,224,241,224,241,224,241,192, - 251,192,127,128,127,0,30,0,18,22,66,20,1,3,0,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,127,255,192,255,255,192,255,255,128,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,192, - 0,0,0,0,0,0,0,127,255,192,127,255,192,255,255,128, - 13,17,34,17,2,15,7,224,31,240,120,248,120,120,248,120, - 0,120,0,240,0,224,1,224,3,192,7,128,15,0,30,8, - 60,8,120,24,255,248,255,248,13,18,36,17,1,14,7,224, - 31,240,60,248,120,120,124,120,0,120,0,240,1,224,7,240, - 5,240,0,120,0,120,0,120,0,120,128,120,224,240,127,224, - 31,128,11,11,22,15,5,24,15,0,15,192,31,224,31,128, - 63,0,62,0,124,0,120,0,240,0,224,0,64,0,27,33, - 132,28,1,245,3,0,6,0,255,128,254,0,255,128,126,0, - 63,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,192,254,0,31,227,254,0,31,255,254,64,31,255,127,224, - 30,254,127,192,30,124,63,128,30,56,28,0,30,0,0,0, - 30,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0, - 31,0,0,0,31,128,0,0,31,128,0,0,31,192,0,0, - 31,0,0,0,24,0,0,0,26,36,144,29,1,250,1,255, - 255,192,7,255,255,192,31,195,255,0,63,3,222,0,126,3, - 222,0,124,3,222,0,252,3,222,0,252,3,222,0,252,3, - 222,0,252,3,222,0,252,3,222,0,126,3,222,0,127,3, - 222,0,63,3,222,0,31,195,222,0,7,255,222,0,1,255, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,7,255,0,0,31,255,192,0,31,255,192,7,7, - 7,10,1,13,60,126,254,254,254,252,120,10,10,20,11,1, - 246,14,0,28,0,30,0,63,128,63,192,15,192,15,192,31, - 128,254,0,112,0,13,17,34,17,2,15,1,128,15,128,255, - 128,71,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,240,127,248,11,16,32, - 13,1,14,15,0,63,128,123,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,192,123,192,63,128,30,0,0,0,255, - 224,255,224,20,22,66,25,3,0,64,32,0,224,112,0,112, - 56,0,120,28,0,56,30,0,60,15,0,30,15,128,31,7, - 192,31,135,224,15,199,240,15,227,240,15,227,240,15,199,240, - 31,135,224,31,7,192,30,15,128,60,15,0,56,30,0,120, - 28,0,112,56,0,224,48,0,64,96,0,27,29,116,30,2, - 0,3,0,1,192,63,0,3,128,255,0,7,128,15,0,15, - 0,15,0,14,0,15,0,28,0,15,0,60,0,15,0,120, - 0,15,0,112,0,15,0,240,0,15,1,224,0,15,1,192, - 0,31,131,128,0,255,231,128,0,0,15,0,0,0,14,1, - 0,0,28,15,128,0,60,15,128,0,120,31,128,0,112,55, - 128,0,224,55,128,1,224,103,128,3,192,199,128,3,129,199, - 128,7,129,255,224,15,3,255,192,30,0,7,128,28,0,7, - 128,60,0,63,224,26,29,116,30,2,0,3,0,1,192,63, - 0,7,128,255,0,7,128,15,0,15,0,15,0,30,0,15, - 0,60,0,15,0,60,0,15,0,120,0,15,0,240,0,15, - 0,224,0,15,1,224,0,15,3,192,0,31,135,128,0,255, - 231,0,0,0,15,0,0,0,30,63,0,0,60,127,192,0, - 56,231,192,0,121,195,192,0,241,131,192,1,224,3,128,1, - 192,7,0,3,192,14,0,7,128,28,0,15,0,56,0,14, - 0,112,64,30,0,224,64,60,1,255,192,120,3,255,192,28, - 29,116,30,1,0,15,128,0,224,63,192,1,192,115,224,3, - 192,241,224,7,128,129,192,7,0,3,128,14,0,15,192,30, - 0,15,224,60,0,1,240,56,0,0,240,120,0,0,240,240, - 0,0,240,224,0,225,225,192,0,127,195,192,0,31,7,128, - 0,0,7,0,128,0,14,7,192,0,30,7,192,0,60,11, - 192,0,56,27,192,0,112,19,192,0,240,51,192,1,224,99, - 192,1,192,227,192,3,192,255,240,7,129,255,224,15,0,3, - 192,14,0,3,192,30,0,31,240,18,35,105,22,2,243,0, - 248,0,1,252,0,3,252,0,3,252,0,3,252,0,3,248, - 0,1,240,0,0,0,0,0,0,0,0,0,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,0,1,240,0,1, - 224,0,3,224,0,7,192,0,15,192,0,15,128,0,31,0, - 0,63,0,0,126,0,0,126,0,0,252,0,0,252,3,192, - 252,15,192,252,15,192,252,15,192,252,15,128,126,31,128,127, - 31,0,63,254,0,15,240,0,30,42,168,30,0,0,0,32, - 0,0,0,112,0,0,0,248,0,0,1,252,0,0,1,254, - 0,0,0,255,0,0,0,63,128,0,0,15,192,0,0,3, - 224,0,0,0,224,0,0,0,64,0,0,0,0,0,0,1, - 128,0,0,7,128,0,0,15,192,0,0,31,192,0,0,31, - 224,0,0,31,224,0,0,63,224,0,0,63,240,0,0,59, - 240,0,0,121,240,0,0,121,248,0,0,113,248,0,0,240, - 252,0,0,240,252,0,0,224,252,0,1,224,126,0,1,224, - 126,0,1,192,126,0,3,255,255,0,3,255,255,0,3,128, - 31,0,7,128,31,128,7,0,31,128,7,0,15,192,15,0, - 15,192,14,0,15,192,14,0,7,224,30,0,7,224,255,192, - 63,252,255,192,63,252,30,42,168,30,0,0,0,0,32,0, - 0,0,48,0,0,0,124,0,0,0,254,0,0,1,254,0, - 0,3,248,0,0,7,224,0,0,15,128,0,0,31,0,0, - 0,60,0,0,0,16,0,0,0,0,0,0,0,1,128,0, - 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, - 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, - 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, - 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, - 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, - 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, - 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, - 255,192,63,252,30,41,164,30,0,0,0,7,0,0,0,7, - 128,0,0,15,192,0,0,31,224,0,0,63,240,0,0,127, - 248,0,0,248,248,0,1,240,60,0,1,192,14,0,1,0, - 8,0,0,0,0,0,0,1,128,0,0,7,128,0,0,15, - 192,0,0,31,192,0,0,31,224,0,0,31,224,0,0,63, - 224,0,0,63,240,0,0,59,240,0,0,121,240,0,0,121, - 248,0,0,113,248,0,0,240,252,0,0,240,252,0,0,224, - 252,0,1,224,126,0,1,224,126,0,1,192,126,0,3,255, - 255,0,3,255,255,0,3,128,31,0,7,128,31,128,7,0, - 31,128,7,0,15,192,15,0,15,192,14,0,15,192,14,0, - 7,224,30,0,7,224,255,192,63,252,255,192,63,252,30,40, - 160,30,0,0,0,16,4,0,0,127,7,0,0,255,254,0, - 1,255,254,0,1,255,252,0,3,255,248,0,3,3,240,0, - 2,0,64,0,0,0,0,0,0,0,0,0,0,1,128,0, - 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, - 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, - 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, - 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, - 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, - 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, - 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, - 255,192,63,252,30,40,160,30,0,0,0,64,16,0,0,240, - 60,0,1,248,126,0,1,248,126,0,1,248,126,0,1,240, - 124,0,1,240,124,0,0,64,32,0,0,0,0,0,0,0, - 0,0,0,1,128,0,0,7,128,0,0,15,192,0,0,31, - 192,0,0,31,224,0,0,31,224,0,0,63,224,0,0,63, - 240,0,0,59,240,0,0,121,240,0,0,121,248,0,0,113, - 248,0,0,240,252,0,0,240,252,0,0,224,252,0,1,224, - 126,0,1,224,126,0,1,192,126,0,3,255,255,0,3,255, - 255,0,3,128,31,0,7,128,31,128,7,0,31,128,7,0, - 15,192,15,0,15,192,14,0,15,192,14,0,7,224,30,0, - 7,224,255,192,63,252,255,192,63,252,30,42,168,30,0,0, - 0,1,0,0,0,15,224,0,0,31,224,0,0,28,240,0, - 0,60,240,0,0,60,240,0,0,60,224,0,0,63,224,0, - 0,31,128,0,0,4,0,0,0,0,0,0,0,0,0,0, - 0,1,128,0,0,7,128,0,0,15,192,0,0,31,192,0, - 0,31,224,0,0,31,224,0,0,63,224,0,0,63,240,0, - 0,59,240,0,0,121,240,0,0,121,248,0,0,113,248,0, - 0,240,252,0,0,240,252,0,0,224,252,0,1,224,126,0, - 1,224,126,0,1,192,126,0,3,255,255,0,3,255,255,0, - 3,128,31,0,7,128,31,128,7,0,31,128,7,0,15,192, - 15,0,15,192,14,0,15,192,14,0,7,224,30,0,7,224, - 255,192,63,252,255,192,63,252,38,30,150,39,0,0,0,127, - 255,255,240,0,127,255,255,248,0,15,255,0,112,0,7,255, - 0,112,0,15,63,0,112,0,15,63,0,48,0,15,63,0, - 48,0,30,63,0,48,0,30,63,0,0,0,60,63,0,0, - 0,60,63,0,0,0,60,63,0,0,0,120,63,0,0,0, - 127,255,255,192,0,255,255,255,128,0,240,63,1,128,0,224, - 63,0,0,1,224,63,0,0,1,224,63,0,0,3,192,63, - 0,0,3,192,63,0,0,3,128,63,0,0,7,128,63,0, - 0,7,128,63,0,12,15,0,63,0,12,15,0,63,0,28, - 14,0,63,0,28,31,0,127,128,124,255,193,255,255,248,255, - 193,255,255,248,24,40,120,27,1,246,0,31,224,0,255,252, - 1,255,254,7,224,254,15,192,126,31,128,60,31,0,28,62, - 0,0,62,0,0,126,0,0,124,0,0,124,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,0,127,0,0,63, - 128,2,63,128,7,31,224,15,15,252,254,7,255,248,3,255, - 240,0,255,192,0,30,0,0,28,0,0,31,0,0,63,192, - 0,63,192,0,15,192,0,15,128,0,31,128,0,254,0,0, - 112,0,23,42,126,25,1,0,1,0,0,3,128,0,15,192, - 0,15,224,0,31,240,0,7,248,0,1,252,0,0,126,0, - 0,31,0,0,7,0,0,2,0,0,0,0,255,255,248,255, - 255,252,63,128,56,31,128,56,31,128,24,31,128,24,31,128, - 24,31,128,24,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,255,224,31,255,224,31,128,192,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,6,31,128,6,31,128,14,31,128,14,63,192,30, - 255,255,254,255,255,252,23,42,126,25,1,0,0,2,0,0, - 3,128,0,7,224,0,15,240,0,31,240,0,63,192,0,127, - 0,0,252,0,1,240,0,1,192,0,1,0,0,0,0,0, - 255,255,248,255,255,252,63,128,56,31,128,56,31,128,24,31, - 128,24,31,128,24,31,128,24,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,255,224,31,255,224,31,128,192, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,6,31,128,6,31,128,14,31,128, - 14,63,192,30,255,255,254,255,255,252,23,41,123,25,1,0, - 0,56,0,0,124,0,0,254,0,0,255,0,1,255,0,3, - 255,128,7,199,192,15,1,224,14,0,224,8,0,64,0,0, - 0,255,255,248,255,255,252,63,128,56,31,128,56,31,128,24, - 31,128,24,31,128,24,31,128,24,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,255,224,31,255,224,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,6,31,128,6,31,128,14,31, - 128,14,63,192,30,255,255,254,255,255,252,23,40,120,25,1, - 0,2,0,128,7,129,224,15,195,240,15,195,240,15,195,240, - 15,131,224,15,3,192,4,1,0,0,0,0,0,0,0,255, - 255,248,255,255,252,63,128,56,31,128,56,31,128,24,31,128, - 24,31,128,24,31,128,24,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,255,224,31,255,224,31,128,192,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,6,31,128,6,31,128,14,31,128,14, - 63,192,30,255,255,254,255,255,252,15,42,84,16,255,0,8, - 0,28,0,62,0,127,0,127,128,191,192,15,224,3,240,0, - 248,0,56,0,16,0,0,31,254,31,254,7,248,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,7,248,31, - 254,31,254,14,42,84,16,2,0,0,128,0,224,1,248,3, - 252,7,252,15,240,31,192,63,0,124,0,112,0,32,0,0, - 0,255,240,255,240,63,192,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,63,192,255,240,255,240,16,41,82, - 16,0,0,3,128,7,192,15,224,15,240,31,240,63,248,124, - 124,240,30,224,15,128,4,0,0,63,252,63,252,15,240,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,15, - 240,63,252,63,252,16,40,80,16,0,0,32,8,120,30,252, - 63,252,63,252,63,248,62,240,60,64,16,0,0,0,0,63, - 252,63,252,15,240,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,15,240,63,252,63,252,29,30,120,31,0, - 0,3,255,192,0,255,255,248,0,127,192,254,0,143,192,63, - 128,15,192,31,192,15,192,15,192,15,192,7,224,15,192,7, - 240,15,192,3,240,15,192,3,240,15,192,3,248,15,192,1, - 248,15,192,1,248,127,255,1,248,255,255,1,248,15,192,1, - 248,15,192,1,248,15,192,1,248,15,192,1,248,15,192,1, - 240,15,192,3,240,15,192,3,240,15,192,7,224,15,192,7, - 224,15,192,15,192,15,192,31,128,15,192,63,0,31,224,254, - 0,127,255,248,0,127,255,192,0,30,40,160,32,1,0,0, - 16,4,0,0,127,7,0,0,255,255,0,0,255,254,0,1, - 255,252,0,3,255,252,0,3,3,248,0,2,0,64,0,0, - 0,0,0,0,0,0,0,255,0,15,252,255,128,15,252,63, - 192,3,240,31,192,1,224,31,224,1,224,31,240,1,224,31, - 240,1,224,31,248,1,224,31,252,1,224,30,254,1,224,30, - 126,1,224,30,63,1,224,30,63,129,224,30,31,129,224,30, - 15,193,224,30,7,225,224,30,7,225,224,30,3,241,224,30, - 1,249,224,30,1,253,224,30,0,253,224,30,0,127,224,30, - 0,63,224,30,0,63,224,30,0,31,224,30,0,15,224,30, - 0,7,224,63,0,7,224,255,192,3,224,255,192,0,224,27, - 42,168,30,1,0,0,64,0,0,0,224,0,0,1,240,0, - 0,3,248,0,0,3,252,0,0,1,254,0,0,0,127,0, - 0,0,31,128,0,0,7,192,0,0,1,192,0,0,0,128, - 0,0,0,0,0,0,31,192,0,0,255,240,0,3,225,252, - 0,7,128,126,0,15,0,63,0,31,0,31,0,30,0,31, - 128,62,0,15,128,126,0,15,192,124,0,15,192,124,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,254,0,7,192,126,0,15,192,126,0,15,128,127,0,15, - 128,63,0,31,0,31,128,31,0,31,192,62,0,15,240,252, - 0,7,255,240,0,1,255,224,0,0,127,0,0,27,42,168, - 30,1,0,0,0,64,0,0,0,96,0,0,0,248,0,0, - 1,252,0,0,3,252,0,0,7,240,0,0,15,192,0,0, - 31,128,0,0,62,0,0,0,120,0,0,0,32,0,0,0, - 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, - 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, - 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, - 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, - 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, - 255,240,0,1,255,224,0,0,127,0,0,27,41,164,30,1, - 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, - 0,0,127,224,0,0,255,240,0,1,249,248,0,3,224,120, - 0,3,128,28,0,2,0,8,0,0,0,0,0,0,31,192, - 0,0,255,240,0,3,225,252,0,7,128,126,0,15,0,63, - 0,31,0,31,0,30,0,31,128,62,0,15,128,126,0,15, - 192,124,0,15,192,124,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,254,0,7,192,126,0,15, - 192,126,0,15,128,127,0,15,128,63,0,31,0,31,128,31, - 0,31,192,62,0,15,240,252,0,7,255,240,0,1,255,224, - 0,0,127,0,0,27,40,160,30,1,0,0,32,8,0,0, - 254,14,0,1,255,254,0,1,255,252,0,3,255,248,0,7, - 255,248,0,6,7,240,0,2,0,128,0,0,0,0,0,0, - 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, - 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, - 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, - 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, - 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, - 255,240,0,1,255,224,0,0,127,0,0,27,40,160,30,1, - 0,0,128,32,0,1,240,124,0,1,240,124,0,3,240,252, - 0,3,240,252,0,3,240,252,0,3,224,248,0,0,128,32, - 0,0,0,0,0,0,0,0,0,0,31,192,0,0,255,240, - 0,3,225,252,0,7,128,126,0,15,0,63,0,31,0,31, - 0,30,0,31,128,62,0,15,128,126,0,15,192,124,0,15, - 192,124,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,254,0,7,192,126,0,15,192,126,0,15, - 128,127,0,15,128,63,0,31,0,31,128,31,0,31,192,62, - 0,15,240,252,0,7,255,240,0,1,255,224,0,0,127,0, - 0,16,15,30,20,2,6,96,6,240,15,120,31,60,62,30, - 124,15,248,7,240,3,192,7,224,15,248,30,124,60,62,120, - 31,240,15,96,6,27,31,124,30,1,255,0,31,195,224,0, - 255,247,192,3,225,255,128,7,128,127,0,15,0,63,0,31, - 0,63,128,30,0,127,128,62,0,255,192,126,0,255,192,124, - 1,255,192,124,3,239,224,252,3,231,224,252,7,199,224,252, - 15,135,224,252,15,7,224,252,31,7,224,252,62,7,224,252, - 60,7,224,252,120,7,192,254,248,7,192,127,240,15,192,127, - 224,15,128,127,192,15,128,63,128,31,0,63,128,31,0,31, - 192,62,0,31,240,252,0,63,255,240,0,121,255,224,0,248, - 127,0,0,192,0,0,0,29,42,168,32,1,0,0,32,0, - 0,0,48,0,0,0,248,0,0,1,252,0,0,1,254,0, - 0,0,127,0,0,0,31,128,0,0,15,192,0,0,3,224, - 0,0,0,240,0,0,0,64,0,0,0,0,0,255,240,31, - 248,255,240,31,248,63,192,7,224,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,128,31,192,7,128,15,192,7,128,15,224,7, - 0,7,224,15,0,3,248,62,0,1,255,252,0,0,255,240, - 0,0,31,192,0,29,42,168,32,1,0,0,0,32,0,0, - 0,56,0,0,0,124,0,0,0,254,0,0,1,254,0,0, - 3,252,0,0,7,240,0,0,15,192,0,0,31,0,0,0, - 28,0,0,0,16,0,0,0,0,0,0,255,240,31,248,255, - 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, - 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, - 31,192,0,29,41,164,32,1,0,0,3,128,0,0,7,128, - 0,0,15,192,0,0,31,224,0,0,63,240,0,0,127,248, - 0,0,124,124,0,0,240,62,0,1,192,14,0,0,128,4, - 0,0,0,0,0,255,240,31,248,255,240,31,248,63,192,7, - 224,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,128,31,192,7, - 128,15,192,7,128,15,224,7,0,7,224,15,0,3,248,62, - 0,1,255,252,0,0,255,240,0,0,31,192,0,29,40,160, - 32,1,0,0,32,8,0,0,248,62,0,0,248,62,0,1, - 248,126,0,1,248,126,0,1,248,126,0,0,240,60,0,0, - 64,16,0,0,0,0,0,0,0,0,0,255,240,31,248,255, - 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, - 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, - 31,192,0,29,42,168,29,0,0,0,0,32,0,0,0,48, - 0,0,0,124,0,0,1,254,0,0,3,254,0,0,7,248, - 0,0,15,224,0,0,31,128,0,0,62,0,0,0,60,0, - 0,0,16,0,0,0,0,0,0,127,0,31,248,255,128,31, - 248,31,192,3,192,15,192,3,128,7,224,7,128,3,240,7, - 0,3,240,15,0,1,248,14,0,1,248,30,0,0,252,28, - 0,0,124,60,0,0,126,56,0,0,63,120,0,0,63,240, - 0,0,31,240,0,0,31,224,0,0,15,224,0,0,15,192, - 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, - 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, - 0,0,15,192,0,0,31,224,0,0,255,252,0,0,255,252, - 0,24,30,90,27,1,0,255,248,0,255,248,0,63,192,0, - 31,128,0,31,128,0,31,128,0,31,255,128,31,255,240,31, - 131,248,31,128,252,31,128,126,31,128,127,31,128,63,31,128, - 63,31,128,63,31,128,63,31,128,63,31,128,62,31,128,126, - 31,128,252,31,129,248,31,191,240,31,191,128,31,128,0,31, - 128,0,31,128,0,31,128,0,63,192,0,255,248,0,255,248, - 0,28,36,144,31,1,0,0,7,240,0,0,63,252,0,0, - 255,254,0,1,240,255,0,3,224,63,128,7,192,31,128,7, - 192,31,192,15,128,15,192,15,128,15,192,31,128,15,192,31, - 128,15,192,31,128,31,128,31,128,63,0,31,128,126,0,31, - 129,248,0,31,135,224,0,31,135,128,0,31,143,128,0,31, - 143,128,0,31,143,192,0,31,143,224,0,31,135,248,0,31, - 135,254,0,31,131,255,128,31,128,255,192,31,128,63,224,31, - 128,31,240,31,128,7,240,31,140,3,240,31,142,1,240,31, - 142,1,240,31,142,1,240,31,143,1,224,63,143,195,192,255, - 143,255,128,255,129,254,0,23,35,105,24,1,0,1,192,0, - 15,192,0,15,224,0,7,240,0,3,240,0,1,248,0,0, - 248,0,0,124,0,0,60,0,0,30,0,0,12,0,0,0, - 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,23,35,105,24,1,0,0,15,0,0, - 15,192,0,31,224,0,31,128,0,63,0,0,62,0,0,124, - 0,0,120,0,0,240,0,0,224,0,0,192,0,0,0,0, - 0,0,0,0,255,0,15,255,128,31,15,192,62,7,224,126, - 7,224,252,7,224,96,7,224,0,7,224,0,31,224,1,255, - 224,7,255,224,31,231,224,63,135,224,63,7,224,126,7,224, - 126,7,224,126,7,224,126,31,228,127,63,252,63,247,254,63, - 231,240,15,131,128,23,35,105,24,1,0,0,120,0,0,252, - 0,0,252,0,1,254,0,3,255,0,3,255,0,7,207,128, - 15,135,192,15,1,192,28,0,224,8,0,64,0,0,0,0, - 0,0,0,255,0,15,255,128,31,15,192,62,7,224,126,7, - 224,252,7,224,96,7,224,0,7,224,0,31,224,1,255,224, - 7,255,224,31,231,224,63,135,224,63,7,224,126,7,224,126, - 7,224,126,7,224,126,31,228,127,63,252,63,247,254,63,231, - 240,15,131,128,23,33,99,24,1,0,3,192,48,7,240,48, - 15,252,96,31,255,224,31,255,192,56,127,128,48,15,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,0,15,255, - 128,31,15,192,62,7,224,126,7,224,252,7,224,96,7,224, - 0,7,224,0,31,224,1,255,224,7,255,224,31,231,224,63, - 135,224,63,7,224,126,7,224,126,7,224,126,7,224,126,31, - 228,127,63,252,63,247,254,63,231,240,15,131,128,23,33,99, - 24,1,0,7,1,192,15,131,224,31,135,224,31,135,224,31, - 135,224,31,7,192,14,3,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,23,34,102,24,1,0,0,60,0,0, - 254,0,1,239,0,3,207,0,3,207,0,3,207,0,3,238, - 0,1,252,0,0,248,0,0,0,0,0,0,0,0,0,0, - 0,255,0,15,255,128,31,15,192,62,7,224,126,7,224,252, - 7,224,96,7,224,0,7,224,0,31,224,1,255,224,7,255, - 224,31,231,224,63,135,224,63,7,224,126,7,224,126,7,224, - 126,7,224,126,31,228,127,63,252,63,247,254,63,231,240,15, - 131,128,33,22,110,35,1,0,0,63,3,224,0,1,255,159, - 248,0,7,255,252,62,0,15,135,248,30,0,31,3,240,31, - 0,63,3,240,15,0,127,3,224,15,128,120,3,224,15,128, - 0,3,224,15,128,0,127,255,255,128,3,255,255,254,0,15, - 195,224,0,0,63,3,224,0,0,126,3,224,0,0,124,3, - 240,0,0,252,3,240,1,0,252,7,248,7,0,254,31,252, - 31,0,255,252,255,254,0,127,248,127,252,0,127,224,63,240, - 0,31,128,15,192,0,20,32,96,22,2,246,0,127,128,1, - 255,240,7,135,224,15,3,224,30,1,224,62,0,192,124,0, - 192,124,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,0,127,0,96,127, - 129,224,63,255,192,31,255,128,15,254,0,3,252,0,0,240, - 0,0,224,0,0,252,0,1,254,0,0,254,0,0,126,0, - 0,124,0,0,252,0,3,240,0,1,128,0,19,35,105,23, - 2,0,3,128,0,15,192,0,31,224,0,7,224,0,3,240, - 0,1,240,0,0,248,0,0,120,0,0,60,0,0,28,0, - 0,8,0,0,0,0,0,0,0,0,252,0,7,255,0,15, - 31,128,30,15,128,62,15,192,124,7,192,124,7,224,124,7, - 224,252,7,224,255,255,224,255,255,128,252,0,0,252,0,0, - 252,0,0,254,0,0,126,0,64,127,0,224,63,131,192,63, - 255,128,31,255,0,15,254,0,3,248,0,19,35,105,23,2, - 0,0,14,0,0,31,192,0,31,192,0,63,128,0,63,0, - 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,0, - 192,0,0,0,0,0,0,0,0,252,0,7,255,0,15,31, - 128,30,15,128,62,15,192,124,7,192,124,7,224,124,7,224, - 252,7,224,255,255,224,255,255,128,252,0,0,252,0,0,252, - 0,0,254,0,0,126,0,64,127,0,224,63,131,192,63,255, - 128,31,255,0,15,254,0,3,248,0,19,35,105,23,2,0, - 0,120,0,0,248,0,1,252,0,1,254,0,3,254,0,7, - 255,0,15,223,128,15,7,128,30,3,192,60,1,224,24,0, - 64,0,0,0,0,0,0,0,252,0,7,255,0,15,31,128, - 30,15,128,62,15,192,124,7,192,124,7,224,124,7,224,252, - 7,224,255,255,224,255,255,128,252,0,0,252,0,0,252,0, - 0,254,0,0,126,0,64,127,0,224,63,131,192,63,255,128, - 31,255,0,15,254,0,3,248,0,19,33,99,23,2,0,15, - 3,192,31,7,192,31,135,224,31,135,224,31,7,192,31,7, - 192,14,3,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,252,0,7,255,0,15,31,128,30,15,128,62,15,192,124, - 7,192,124,7,224,124,7,224,252,7,224,255,255,224,255,255, - 128,252,0,0,252,0,0,252,0,0,254,0,0,126,0,64, - 127,0,224,63,131,192,63,255,128,31,255,0,15,254,0,3, - 248,0,13,35,70,14,0,0,28,0,126,0,254,0,127,0, - 31,0,15,128,7,128,3,192,1,192,0,224,0,64,0,0, - 0,0,1,192,63,192,127,192,63,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,31,224,127,248,127,248,14,35, - 70,14,1,0,0,224,1,252,1,252,3,248,3,240,7,224, - 7,192,15,128,15,0,30,0,8,0,0,0,0,0,3,128, - 127,128,255,128,127,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,16,35,70,14,255,0, - 3,192,3,224,7,240,15,240,15,248,31,252,62,124,60,30, - 120,15,240,7,64,3,0,0,0,0,0,224,31,224,63,224, - 31,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 15,240,63,252,63,252,16,33,66,14,255,0,56,14,124,31, - 124,31,252,63,252,63,124,31,120,30,0,0,0,0,0,0, - 0,0,0,224,31,224,63,224,31,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,240,63,252,63,252,21,34, - 102,25,2,0,1,192,0,15,224,0,63,240,248,31,255,248, - 0,255,192,0,126,0,1,255,0,7,239,128,31,143,128,2, - 7,192,0,3,224,0,3,224,1,251,240,7,253,240,15,255, - 240,31,15,248,62,7,248,62,3,248,124,3,248,124,1,248, - 252,1,248,252,1,248,252,1,248,252,1,248,252,1,240,252, - 1,240,252,1,240,126,3,224,126,3,224,63,3,192,63,7, - 128,31,143,0,7,254,0,1,248,0,26,33,132,28,1,0, - 0,240,12,0,1,252,12,0,3,255,28,0,3,255,248,0, - 7,255,240,0,14,31,224,0,12,3,192,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,3,1,240,0, - 127,135,252,0,255,159,252,0,63,191,254,0,31,248,254,0, - 31,224,126,0,31,192,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,63,192,255,0,255,243,255,192, - 255,243,255,192,21,35,105,25,2,0,1,192,0,15,224,0, - 15,224,0,7,240,0,3,240,0,1,248,0,0,248,0,0, - 124,0,0,60,0,0,30,0,0,12,0,0,0,0,0,0, - 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, - 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, - 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, - 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, - 1,248,0,21,35,105,25,2,0,0,15,0,0,15,192,0, - 31,224,0,31,128,0,63,0,0,62,0,0,124,0,0,120, - 0,0,240,0,0,224,0,0,192,0,0,0,0,0,0,0, - 0,252,0,3,255,0,15,15,192,30,7,224,62,7,224,62, - 3,240,124,3,240,124,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,252,1,248,252,1,240,126,1,240, - 126,3,224,62,3,224,63,3,192,31,135,128,7,254,0,1, - 248,0,21,35,105,25,2,0,0,120,0,0,252,0,0,252, - 0,1,254,0,3,255,0,3,255,0,7,207,128,15,135,192, - 15,1,192,28,0,224,8,0,64,0,0,0,0,0,0,0, - 252,0,3,255,0,15,15,192,30,7,224,62,7,224,62,3, - 240,124,3,240,124,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,248,252,1,240,126,1,240,126, - 3,224,62,3,224,63,3,192,31,135,128,7,254,0,1,248, - 0,21,33,99,25,2,0,3,192,48,7,240,48,15,252,96, - 31,255,224,31,255,192,56,127,128,48,15,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,252,0,3,255,0,15,15, - 192,30,7,224,62,7,224,62,3,240,124,3,240,124,1,248, - 252,1,248,252,1,248,252,1,248,252,1,248,252,1,248,252, - 1,248,252,1,240,126,1,240,126,3,224,62,3,224,63,3, - 192,31,135,128,7,254,0,1,248,0,21,33,99,25,2,0, - 7,1,192,15,131,224,31,135,224,31,135,224,31,135,224,31, - 7,192,14,3,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, - 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, - 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, - 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, - 1,248,0,18,18,54,20,1,4,0,192,0,1,224,0,1, - 224,0,1,224,0,1,224,0,0,192,0,0,0,0,127,255, - 192,127,255,192,255,255,128,0,0,0,0,0,0,0,192,0, - 1,224,0,1,224,0,1,224,0,1,224,0,0,192,0,21, - 24,72,25,2,255,0,0,24,0,252,56,3,255,240,15,15, - 224,30,7,224,62,3,240,60,7,240,124,15,240,124,31,248, - 252,29,248,252,57,248,252,121,248,252,241,248,252,225,248,253, - 193,248,255,193,240,127,129,240,127,1,224,62,3,224,63,3, - 192,63,135,128,127,254,0,113,248,0,192,0,0,26,35,140, - 27,1,0,0,224,0,0,3,240,0,0,7,240,0,0,1, - 248,0,0,0,248,0,0,0,124,0,0,0,62,0,0,0, - 30,0,0,0,15,0,0,0,7,0,0,0,2,0,0,0, - 0,0,0,0,0,0,0,3,128,28,0,255,135,252,0,255, - 135,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,129,252,0,31,199,252,128,31, - 255,255,128,15,254,255,192,7,248,126,0,3,224,112,0,26, - 35,140,27,1,0,0,3,128,0,0,7,240,0,0,7,240, - 0,0,15,224,0,0,15,192,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,60,0,0,0,120,0,0,0,48,0, - 0,0,0,0,0,0,0,0,0,3,128,28,0,255,135,252, - 0,255,135,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,129,252,0,31,199,252, - 128,31,255,255,128,15,254,255,192,7,248,126,0,3,224,112, - 0,26,35,140,27,1,0,0,30,0,0,0,62,0,0,0, - 127,0,0,0,255,128,0,0,255,128,0,1,255,192,0,3, - 247,224,0,3,193,224,0,7,128,240,0,15,0,112,0,6, - 0,48,0,0,0,0,0,0,0,0,0,3,128,28,0,255, - 135,252,0,255,135,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,129,252,0,31, - 199,252,128,31,255,255,128,15,254,255,192,7,248,126,0,3, - 224,112,0,26,33,132,27,1,0,3,192,240,0,7,193,240, - 0,7,225,248,0,7,225,248,0,7,193,240,0,7,193,240, - 0,7,129,224,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,128,28,0,255,135,252,0,255,135,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,129,252,0,31,199,252,128,31,255,255, - 128,15,254,255,192,7,248,126,0,3,224,112,0,25,46,184, - 24,255,245,0,1,224,0,0,3,248,0,0,3,248,0,0, - 3,240,0,0,7,224,0,0,7,192,0,0,15,128,0,0, - 15,0,0,0,30,0,0,0,28,0,0,0,56,0,0,0, - 0,0,0,0,0,0,0,127,240,127,128,127,240,127,128,31, - 192,30,0,15,192,28,0,15,192,28,0,7,224,60,0,7, - 224,56,0,3,240,56,0,3,240,112,0,1,240,112,0,1, - 248,240,0,1,248,224,0,0,252,224,0,0,253,224,0,0, - 125,192,0,0,127,192,0,0,127,128,0,0,63,128,0,0, - 63,128,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,30,0,0,0,28,0,0,0,60,0,0,0, - 120,0,0,32,248,0,0,63,240,0,0,127,224,0,0,255, - 192,0,0,255,128,0,0,126,0,0,0,24,47,141,27,1, - 245,3,0,0,63,128,0,255,128,0,255,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,131,224,31,143, - 248,31,191,252,31,255,252,31,240,254,31,192,126,31,128,63, - 31,128,63,31,128,31,31,128,31,31,128,31,31,128,31,31, - 128,31,31,128,30,31,128,30,31,128,62,31,192,60,31,240, - 124,31,255,248,31,255,240,31,159,224,31,135,128,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,63,192,0,255,248,0,255,248,0,25,44, - 176,24,255,245,0,224,56,0,1,240,124,0,3,240,252,0, - 3,240,252,0,3,240,252,0,3,224,248,0,1,192,112,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 127,240,127,128,127,240,127,128,31,192,30,0,15,192,28,0, - 15,192,28,0,7,224,60,0,7,224,56,0,3,240,56,0, - 3,240,112,0,1,240,112,0,1,248,240,0,1,248,224,0, - 0,252,224,0,0,253,224,0,0,125,192,0,0,127,192,0, - 0,127,128,0,0,63,128,0,0,63,128,0,0,31,0,0, - 0,31,0,0,0,14,0,0,0,14,0,0,0,30,0,0, - 0,28,0,0,0,60,0,0,0,120,0,0,32,248,0,0, - 63,240,0,0,127,224,0,0,255,192,0,0,255,128,0,0, - 126,0,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 29 - Calculated Max Values w=22 h=46 x= 3 y=17 dx=25 dy= 0 ascent=38 len=138 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent= 0 - X Font ascent =29 descent= 0 - Max Font ascent =38 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30n[1304] U8G_FONT_SECTION("u8g_font_gdb30n") = { - 0,74,69,232,239,29,0,0,0,0,42,58,0,38,247,29, - 0,19,20,60,21,1,17,0,48,0,1,240,0,1,240,0, - 32,240,0,112,225,128,120,227,192,126,231,224,127,255,224,31, - 255,0,3,248,0,3,248,0,31,255,0,127,255,192,254,231, - 192,124,227,192,48,225,192,0,240,128,0,240,0,1,240,0, - 0,192,0,18,18,54,20,1,4,0,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,127,255, - 192,255,255,192,255,255,128,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,192,0,10, - 15,30,13,1,247,7,0,63,128,255,192,127,192,63,192,15, - 192,15,192,15,128,15,128,15,0,31,0,30,0,60,0,120, - 0,48,0,15,3,6,17,1,11,127,254,127,252,255,252,8, - 7,7,13,3,255,62,127,255,255,255,254,124,21,46,138,23, - 1,248,0,0,56,0,0,248,0,0,240,0,1,240,0,1, - 240,0,1,224,0,3,224,0,3,224,0,3,192,0,7,192, - 0,7,128,0,15,128,0,15,128,0,15,0,0,31,0,0, - 31,0,0,30,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,120,0,0,248,0,0,248,0,0,240,0,1,240,0, - 1,224,0,3,224,0,3,224,0,3,192,0,7,192,0,7, - 192,0,7,128,0,15,128,0,15,0,0,31,0,0,31,0, - 0,30,0,0,62,0,0,62,0,0,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,192,0,0,22,29,87,24, - 1,0,0,252,0,3,255,0,7,143,192,15,7,224,30,3, - 224,62,1,240,62,1,240,124,1,248,124,1,248,124,0,248, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, - 248,126,0,248,62,1,240,62,1,240,31,1,224,31,3,192, - 15,135,128,3,255,0,0,252,0,19,29,87,24,3,0,0, - 16,0,0,248,0,7,248,0,63,248,0,255,248,0,225,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,15,255,0, - 127,255,224,127,255,224,20,29,87,24,1,0,0,255,0,7, - 255,192,15,143,224,63,7,224,62,3,240,126,3,240,126,3, - 240,120,3,240,0,3,240,0,7,224,0,7,224,0,15,192, - 0,15,128,0,31,128,0,31,0,0,62,0,0,124,0,0, - 248,0,0,248,0,1,240,0,3,224,32,7,192,48,15,128, - 48,15,0,48,30,0,112,63,255,240,127,255,240,255,255,240, - 127,255,240,20,29,87,24,1,0,1,254,0,7,255,128,31, - 31,192,63,15,192,62,7,224,126,7,224,60,7,224,0,7, - 224,0,7,192,0,15,192,0,31,128,0,127,0,1,254,0, - 1,255,128,2,63,192,0,15,224,0,7,224,0,3,240,0, - 3,240,0,3,240,0,3,240,0,3,240,0,3,240,64,7, - 224,96,15,224,252,31,192,63,255,128,31,254,0,3,248,0, - 21,29,87,25,2,0,0,1,128,0,15,128,0,31,128,0, - 63,128,0,63,128,0,127,128,0,255,128,0,239,128,1,239, - 128,3,207,128,3,143,128,7,143,128,7,15,128,14,15,128, - 30,15,128,28,15,128,56,15,128,56,15,128,127,255,248,255, - 255,240,255,255,224,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,31,192,1,255,240,1,255,240,20,29,87, - 24,2,0,0,0,32,31,255,240,31,255,192,31,255,192,31, - 255,128,28,0,0,28,0,0,28,0,0,60,0,0,60,0, - 0,56,0,0,59,252,0,63,255,0,63,255,128,120,31,192, - 32,15,224,0,7,224,0,7,240,0,3,240,0,3,240,0, - 3,240,0,3,240,0,3,240,0,7,224,64,7,224,224,15, - 192,252,31,128,63,254,0,7,248,0,20,29,87,24,2,0, - 0,1,128,0,31,192,0,127,0,1,252,0,3,240,0,7, - 192,0,15,128,0,31,128,0,63,0,0,62,0,0,126,0, - 0,124,126,0,125,255,128,255,255,192,255,15,224,254,7,224, - 252,7,240,252,3,240,252,3,240,252,3,240,252,3,240,124, - 3,240,126,3,224,126,3,224,62,3,192,31,7,192,15,143, - 128,7,255,0,1,248,0,21,28,84,24,2,0,127,255,240, - 127,255,248,127,255,240,127,255,224,112,1,224,224,1,224,192, - 1,192,64,3,192,0,3,128,0,7,128,0,7,0,0,15, - 0,0,15,0,0,30,0,0,30,0,0,60,0,0,60,0, - 0,124,0,0,120,0,0,248,0,0,240,0,1,240,0,1, - 240,0,3,224,0,3,224,0,7,224,0,15,192,0,6,0, - 0,20,29,87,24,2,0,0,252,0,7,255,128,15,31,192, - 30,15,192,28,7,224,60,7,224,60,7,224,60,7,224,62, - 15,192,63,143,128,31,255,0,31,254,0,15,252,0,3,255, - 0,7,255,128,15,255,192,31,31,224,62,15,240,126,7,240, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,224,126, - 3,224,126,7,192,63,15,128,31,254,0,3,248,0,20,29, - 87,24,2,255,1,252,0,7,255,0,15,31,128,30,15,192, - 62,7,224,124,7,224,124,7,224,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,254,3,240,126,7,240,127,15, - 240,63,255,240,31,251,224,7,227,224,0,7,224,0,7,192, - 0,7,192,0,15,128,0,31,0,0,62,0,0,252,0,3, - 248,0,15,224,0,63,128,0,56,0,0,8,23,23,13,3, - 255,62,127,255,255,255,254,124,0,0,0,0,0,0,0,0, - 0,62,127,255,255,255,254,124}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=41 h=49 x= 4 y=24 dx=42 dy= 0 ascent=39 len=210 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x=-7 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30r[9112] U8G_FONT_SECTION("u8g_font_gdb30r") = { - 0,74,69,232,239,30,10,50,24,78,32,127,245,39,245,38, - 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, - 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, - 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, - 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, - 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, - 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, - 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, - 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, - 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, - 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, - 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, - 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, - 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, - 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, - 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, - 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, - 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, - 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, - 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, - 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, - 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, - 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, - 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, - 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, - 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, - 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, - 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, - 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, - 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, - 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, - 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, - 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, - 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, - 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, - 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, - 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, - 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, - 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, - 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, - 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, - 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, - 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, - 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, - 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, - 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, - 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, - 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, - 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, - 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, - 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, - 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, - 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, - 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, - 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, - 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, - 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, - 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, - 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, - 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, - 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, - 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, - 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, - 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, - 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, - 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, - 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, - 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, - 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, - 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, - 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, - 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, - 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, - 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, - 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, - 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, - 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, - 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, - 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, - 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, - 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, - 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, - 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, - 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, - 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, - 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, - 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, - 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, - 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, - 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, - 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, - 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, - 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, - 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, - 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, - 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, - 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, - 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, - 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, - 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, - 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, - 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, - 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, - 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, - 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, - 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, - 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, - 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, - 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, - 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, - 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, - 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, - 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, - 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, - 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, - 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, - 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, - 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, - 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, - 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, - 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, - 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, - 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, - 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, - 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, - 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, - 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, - 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, - 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, - 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, - 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, - 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, - 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, - 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, - 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, - 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, - 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, - 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, - 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, - 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, - 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, - 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, - 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, - 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, - 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, - 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, - 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, - 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, - 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, - 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, - 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, - 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, - 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, - 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, - 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, - 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, - 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, - 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, - 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, - 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, - 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, - 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, - 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, - 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, - 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, - 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, - 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, - 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, - 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, - 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, - 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, - 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, - 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, - 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, - 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, - 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, - 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, - 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, - 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, - 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, - 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, - 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, - 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, - 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, - 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, - 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, - 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, - 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, - 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, - 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, - 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, - 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, - 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, - 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, - 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, - 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, - 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, - 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, - 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, - 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, - 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, - 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, - 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, - 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, - 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, - 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, - 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, - 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, - 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, - 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, - 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, - 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, - 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, - 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, - 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, - 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, - 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, - 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, - 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, - 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, - 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, - 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, - 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, - 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, - 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, - 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, - 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, - 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, - 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, - 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, - 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, - 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, - 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, - 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, - 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, - 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, - 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, - 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, - 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, - 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, - 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, - 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, - 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, - 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, - 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, - 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, - 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, - 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, - 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, - 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, - 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, - 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, - 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, - 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, - 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, - 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, - 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, - 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, - 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, - 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, - 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, - 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, - 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, - 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, - 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, - 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, - 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, - 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, - 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, - 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, - 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, - 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, - 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, - 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, - 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, - 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, - 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, - 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, - 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, - 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, - 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, - 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, - 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, - 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, - 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, - 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, - 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, - 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, - 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, - 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, - 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, - 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, - 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, - 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, - 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, - 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, - 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, - 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, - 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, - 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, - 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, - 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, - 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, - 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, - 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, - 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, - 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, - 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, - 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, - 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, - 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, - 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, - 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, - 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, - 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, - 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, - 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, - 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, - 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, - 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, - 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, - 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, - 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, - 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, - 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, - 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, - 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, - 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, - 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, - 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, - 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, - 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, - 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, - 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, - 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, - 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, - 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, - 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, - 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, - 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, - 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, - 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, - 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, - 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, - 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, - 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, - 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, - 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, - 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, - 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, - 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, - 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, - 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, - 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, - 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, - 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, - 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, - 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, - 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, - 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, - 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, - 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, - 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, - 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, - 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, - 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, - 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, - 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, - 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, - 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, - 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, - 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, - 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, - 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, - 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, - 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, - 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, - 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, - 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, - 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, - 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, - 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, - 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, - 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, - 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, - 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, - 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, - 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, - 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, - 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, - 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, - 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, - 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, - 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, - 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, - 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, - 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, - 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, - 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, - 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, - 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, - 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, - 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, - 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, - 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, - 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, - 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, - 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, - 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, - 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, - 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, - 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, - 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, - 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, - 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, - 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, - 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, - 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, - 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, - 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, - 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, - 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, - 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, - 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, - 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, - 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, - 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, - 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, - 192,64,31,128,192,15,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=15 len=30 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =10 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =15 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10[3670] U8G_FONT_SECTION("u8g_font_gdr10") = { - 0,25,24,247,250,10,2,30,4,177,32,255,252,15,251,13, - 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, - 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, - 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, - 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, - 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, - 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, - 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, - 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, - 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, - 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, - 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, - 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, - 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, - 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, - 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, - 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, - 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, - 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, - 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, - 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, - 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, - 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, - 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, - 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, - 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, - 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, - 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, - 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, - 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, - 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, - 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, - 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, - 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, - 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, - 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, - 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, - 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, - 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, - 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, - 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, - 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, - 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, - 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, - 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, - 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, - 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, - 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, - 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, - 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, - 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, - 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, - 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, - 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, - 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, - 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, - 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, - 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, - 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, - 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, - 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, - 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, - 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, - 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, - 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, - 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, - 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, - 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, - 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, - 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, - 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, - 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, - 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, - 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, - 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, - 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, - 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, - 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, - 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, - 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, - 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, - 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, - 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, - 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, - 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, - 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, - 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, - 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, - 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, - 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, - 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, - 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, - 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, - 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, - 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, - 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, - 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, - 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, - 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, - 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, - 32,192,8,2,2,8,0,4,57,206,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,4,0, - 0,2,13,13,5,1,251,64,64,0,0,64,64,64,64,64, - 64,64,192,192,6,10,10,8,1,0,16,28,116,144,144,144, - 144,116,56,16,7,11,11,8,1,255,60,68,68,64,64,240, - 64,64,66,134,252,4,6,6,8,2,2,144,240,144,144,240, - 144,9,10,20,8,255,0,231,128,34,0,22,0,20,0,8, - 0,62,0,8,0,8,0,8,0,28,0,1,17,17,4,2, - 253,128,128,128,128,128,128,128,128,0,128,128,128,128,128,128, - 128,128,6,12,12,8,1,0,112,152,128,96,184,140,196,100, - 24,136,200,112,5,2,2,7,1,9,136,136,10,10,20,12, - 1,0,30,0,127,128,114,128,160,64,160,64,160,64,176,64, - 94,128,97,128,30,0,4,6,6,4,0,5,96,160,96,160, - 240,240,6,8,8,8,1,0,36,72,72,144,144,72,72,36, - 7,3,3,8,0,2,254,2,2,4,1,1,6,1,4,240, - 6,6,6,6,0,6,120,132,180,180,180,120,6,1,1,8, - 1,9,252,4,4,4,6,1,6,112,144,144,224,6,8,8, - 7,1,1,32,32,32,252,32,32,64,248,4,7,7,6,1, - 5,112,144,16,32,64,144,240,4,7,7,5,0,5,112,144, - 16,48,16,144,224,3,3,3,5,2,9,96,64,128,9,12, - 24,9,0,252,195,0,65,0,65,0,65,0,65,0,65,0, - 99,0,125,128,64,0,64,0,96,0,96,0,8,12,12,10, - 1,254,63,202,138,138,202,122,10,10,10,10,10,31,1,2, - 2,2,1,5,128,128,2,4,4,4,1,252,128,192,64,128, - 4,6,6,6,0,5,96,160,32,32,32,112,4,6,6,5, - 0,5,96,144,144,144,96,240,7,8,8,8,1,0,144,72, - 108,36,54,108,72,144,9,10,20,10,1,0,193,0,66,0, - 66,0,68,0,72,0,169,0,23,0,37,0,39,128,67,128, - 8,10,10,10,1,0,193,66,68,68,72,171,21,34,37,79, - 10,11,22,10,0,0,112,0,80,128,33,0,18,0,18,0, - 228,0,8,128,11,128,18,128,19,192,33,192,6,13,13,8, - 1,251,32,32,0,32,32,32,64,64,128,128,132,136,112,10, - 15,30,10,0,0,32,0,24,0,12,0,0,0,0,0,4, - 0,12,0,20,0,18,0,18,0,30,0,33,0,33,0,65, - 128,227,192,10,15,30,10,0,0,2,0,7,0,12,0,16, - 0,0,0,4,0,12,0,20,0,18,0,18,0,30,0,33, - 0,33,0,65,128,227,192,10,15,30,10,0,0,12,0,12, - 0,18,0,33,0,0,0,4,0,12,0,20,0,18,0,18, - 0,30,0,33,0,33,0,65,128,227,192,10,14,28,10,0, - 0,10,0,25,0,38,0,0,0,4,0,12,0,20,0,18, - 0,18,0,30,0,33,0,33,0,65,128,227,192,10,13,26, - 10,0,0,34,0,34,0,0,0,4,0,12,0,20,0,18, - 0,18,0,30,0,33,0,33,0,65,128,227,192,10,15,30, - 10,0,0,12,0,20,0,28,0,0,0,0,0,4,0,12, - 0,20,0,18,0,18,0,30,0,33,0,33,0,65,128,227, - 192,12,10,20,13,1,0,31,224,10,32,10,0,18,0,31, - 224,50,0,34,0,34,0,66,16,231,240,7,14,14,9,1, - 252,62,66,128,128,128,128,128,128,66,102,24,24,8,16,7, - 15,15,8,1,0,64,224,16,8,0,252,68,64,64,124,64, - 64,64,66,254,7,15,15,8,1,0,8,28,48,0,0,252, - 68,64,64,124,64,64,64,66,254,7,15,15,8,1,0,16, - 56,72,4,0,252,68,64,64,124,64,64,64,66,254,7,13, - 13,8,1,0,136,136,0,252,68,64,64,124,64,64,64,66, - 254,4,15,15,5,0,0,128,192,32,16,0,112,32,32,32, - 32,32,32,32,32,112,4,15,15,5,1,0,32,48,64,128, - 0,224,64,64,64,64,64,64,64,64,224,5,15,15,5,0, - 0,32,112,136,0,0,112,32,32,32,32,32,32,32,32,112, - 5,13,13,5,0,0,136,136,0,112,32,32,32,32,32,32, - 32,32,112,8,10,10,10,1,0,252,70,65,65,241,65,65, - 66,66,252,9,14,28,11,1,0,18,0,58,0,4,0,0, - 0,195,128,97,0,97,0,81,0,73,0,77,0,69,0,67, - 0,67,0,225,0,8,15,15,10,1,0,32,112,8,4,0, - 60,66,129,129,129,129,129,130,66,60,8,15,15,10,1,0, - 4,14,24,0,0,60,66,129,129,129,129,129,130,66,60,8, - 15,15,10,1,0,8,28,36,66,0,60,66,129,129,129,129, - 129,130,66,60,8,14,14,10,1,0,18,50,76,0,60,66, - 129,129,129,129,129,130,66,60,8,13,13,10,1,0,68,68, - 0,60,66,129,129,129,129,129,130,66,60,5,5,5,7,1, - 2,136,80,32,80,136,8,10,10,10,1,0,29,98,131,133, - 137,145,161,194,66,188,9,15,30,11,1,0,32,0,48,0, - 12,0,0,0,0,0,227,128,65,0,65,0,65,0,65,0, - 65,0,65,0,65,0,34,0,60,0,9,15,30,11,1,0, - 2,0,6,0,8,0,16,0,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,65,0,34,0,60,0,9,15, - 30,11,1,0,8,0,28,0,34,0,0,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 60,0,9,13,26,11,1,0,34,0,34,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 60,0,9,15,30,10,1,0,4,0,14,0,24,0,0,0, - 0,0,195,128,97,0,50,0,22,0,28,0,8,0,8,0, - 8,0,8,0,28,0,7,10,10,9,1,0,224,64,124,70, - 66,66,66,124,64,224,8,13,13,10,1,0,28,38,66,66, - 68,72,80,88,78,67,81,81,206,7,12,12,8,1,0,64, - 32,16,0,28,100,4,28,100,132,140,118,7,12,12,8,1, - 0,8,16,32,0,28,100,4,28,100,132,140,118,7,12,12, - 8,1,0,48,72,136,4,28,100,4,28,100,132,140,118,7, - 11,11,8,1,0,100,152,0,28,100,4,28,100,132,140,118, - 7,11,11,8,1,0,136,136,0,28,100,4,28,100,132,140, - 118,7,12,12,8,1,0,48,80,112,0,28,100,4,28,100, - 132,140,118,10,8,16,12,1,0,59,128,204,64,136,64,63, - 192,72,0,136,0,156,192,231,0,6,12,12,7,1,252,60, - 72,128,128,128,128,196,120,32,48,16,32,6,12,12,8,1, - 0,96,32,16,0,56,68,132,252,128,128,68,120,6,12,12, - 8,1,0,12,24,32,0,56,68,132,252,128,128,68,120,6, - 12,12,8,1,0,48,72,132,0,56,68,132,252,128,128,68, - 120,6,11,11,8,1,0,132,136,0,56,68,132,252,128,128, - 68,120,4,12,12,5,0,0,192,64,32,0,32,96,32,32, - 32,32,32,112,4,12,12,5,1,0,48,96,64,0,64,192, - 64,64,64,64,64,224,5,12,12,5,0,0,32,80,136,0, - 32,96,32,32,32,32,32,112,5,11,11,5,0,0,136,136, - 0,32,96,32,32,32,32,32,112,6,12,12,8,1,0,104, - 28,120,8,52,204,132,132,132,132,72,112,8,11,11,9,1, - 0,54,76,0,78,210,98,66,66,66,66,231,7,12,12,9, - 1,0,96,32,16,0,56,68,130,130,130,130,68,56,7,12, - 12,9,1,0,12,8,16,0,56,68,130,130,130,130,68,56, - 7,12,12,9,1,0,16,40,68,0,56,68,130,130,130,130, - 68,56,7,11,11,9,1,0,52,216,0,56,68,130,130,130, - 130,68,56,7,11,11,9,1,0,132,132,0,56,68,130,130, - 130,130,68,56,5,6,6,7,1,2,32,32,0,248,32,32, - 7,8,8,9,1,0,62,68,142,146,146,226,68,248,9,12, - 24,9,0,0,48,0,24,0,8,0,0,0,195,0,65,0, - 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,9, - 0,0,6,0,4,0,8,0,0,0,195,0,65,0,65,0, - 65,0,65,0,65,0,67,0,61,128,9,12,24,9,0,0, - 8,0,20,0,34,0,0,0,195,0,65,0,65,0,65,0, - 65,0,65,0,67,0,61,128,9,11,22,9,0,0,34,0, - 66,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, - 67,0,61,128,8,16,16,8,0,252,6,12,8,0,231,98, - 34,36,52,20,24,8,8,16,160,192,7,17,17,9,1,252, - 64,192,64,64,64,92,102,66,66,66,66,100,120,64,64,64, - 224,8,15,15,8,0,252,66,66,0,231,98,34,36,52,20, - 24,8,8,16,160,192}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 10 - Calculated Max Values w= 8 h=16 x= 2 y= 6 dx= 8 dy= 0 ascent=13 len=16 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =13 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10n[263] U8G_FONT_SECTION("u8g_font_gdr10n") = { - 0,25,24,247,250,10,0,0,0,0,42,58,0,13,253,10, - 0,6,7,7,8,1,6,32,168,236,48,252,164,32,6,6, - 6,7,1,2,32,32,32,252,32,32,2,4,4,4,1,253, - 192,64,64,128,4,1,1,6,1,4,240,1,2,2,4,2, - 0,128,128,8,16,16,8,0,253,3,2,6,4,4,12,8, - 8,16,16,48,32,32,96,64,192,6,10,10,8,1,0,56, - 72,132,132,132,132,132,132,72,112,5,10,10,8,2,0,32, - 224,32,32,32,32,32,32,32,248,5,10,10,8,2,0,56, - 200,136,8,16,32,32,64,136,248,6,10,10,8,1,0,112, - 136,136,16,48,8,4,4,140,120,6,10,10,8,1,0,8, - 24,40,40,72,136,252,8,8,60,6,10,10,8,1,0,124, - 64,64,120,140,4,4,4,132,120,6,10,10,8,1,0,24, - 32,64,128,248,132,132,132,72,56,6,10,10,8,1,0,252, - 132,8,8,8,16,16,32,32,64,6,10,10,8,1,0,120, - 196,196,200,56,204,132,132,132,120,6,10,10,8,1,0,56, - 200,132,132,132,124,4,8,16,96,1,8,8,4,2,0,128, - 128,0,0,0,0,128,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =10 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10r[1723] U8G_FONT_SECTION("u8g_font_gdr10r") = { - 0,25,24,247,250,10,2,30,4,177,32,127,252,14,252,13, - 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, - 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, - 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, - 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, - 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, - 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, - 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, - 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, - 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, - 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, - 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, - 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, - 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, - 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, - 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, - 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, - 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, - 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, - 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, - 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, - 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, - 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, - 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, - 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, - 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, - 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, - 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, - 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, - 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, - 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, - 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, - 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, - 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, - 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, - 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, - 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, - 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, - 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, - 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, - 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, - 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, - 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, - 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, - 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, - 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, - 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, - 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, - 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, - 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, - 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, - 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, - 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, - 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, - 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, - 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, - 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, - 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, - 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, - 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, - 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, - 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, - 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, - 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, - 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, - 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, - 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, - 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, - 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, - 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, - 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, - 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, - 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, - 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, - 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, - 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, - 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, - 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, - 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, - 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, - 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, - 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, - 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, - 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, - 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, - 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, - 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, - 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, - 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, - 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, - 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, - 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, - 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, - 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, - 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, - 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, - 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, - 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, - 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, - 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, - 32,192,8,2,2,8,0,4,57,206,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y=10 dx=15 dy= 0 ascent=16 len=34 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11[3977] U8G_FONT_SECTION("u8g_font_gdr11") = { - 0,26,25,247,250,11,2,61,5,21,32,255,252,16,251,14, - 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, - 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, - 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, - 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, - 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, - 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, - 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, - 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, - 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, - 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, - 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, - 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, - 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, - 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, - 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, - 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, - 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, - 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, - 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, - 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, - 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, - 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, - 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, - 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, - 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, - 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, - 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, - 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, - 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, - 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, - 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, - 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, - 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, - 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, - 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, - 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, - 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, - 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, - 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, - 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, - 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, - 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, - 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, - 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, - 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, - 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, - 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, - 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, - 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, - 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, - 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, - 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, - 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, - 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, - 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, - 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, - 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, - 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, - 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, - 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, - 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, - 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, - 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, - 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, - 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, - 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, - 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, - 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, - 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, - 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, - 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, - 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, - 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, - 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, - 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, - 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, - 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, - 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, - 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, - 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, - 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, - 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, - 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, - 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, - 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, - 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, - 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, - 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, - 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, - 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, - 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, - 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, - 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, - 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, - 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, - 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, - 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, - 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, - 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, - 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, - 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, - 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, - 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, - 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, - 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, - 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, - 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, - 32,64,192,8,2,2,9,0,4,57,206,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,4, - 0,0,2,13,13,5,1,251,64,192,0,64,64,64,64,64, - 64,64,64,64,64,7,11,11,8,1,0,16,24,118,144,144, - 144,144,212,126,16,16,7,11,11,8,1,0,60,68,68,64, - 64,240,64,64,66,130,254,6,6,6,8,1,2,248,76,72, - 72,120,132,9,11,22,8,0,0,231,128,98,0,50,0,20, - 0,28,0,8,0,127,0,8,0,8,0,8,0,28,0,1, - 19,19,4,2,252,128,128,128,128,128,128,128,128,0,0,0, - 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, - 128,224,248,142,130,66,60,12,132,196,120,5,2,2,7,1, - 10,136,136,11,11,22,13,1,0,31,0,32,128,94,64,162, - 32,160,32,160,32,160,32,177,32,94,64,32,128,31,0,5, - 6,6,5,0,5,48,80,112,144,248,240,7,8,8,9,1, - 0,38,36,72,152,152,72,36,38,7,3,3,8,1,2,254, - 2,2,5,1,1,6,1,4,248,6,7,7,6,0,6,120, - 72,188,188,180,104,120,6,1,1,9,1,10,252,4,4,4, - 6,1,7,112,144,144,224,7,8,8,7,0,1,16,16,254, - 16,16,16,0,126,4,7,7,6,1,5,112,144,16,32,64, - 144,240,5,7,7,6,0,5,56,72,8,24,8,136,112,3, - 4,4,6,2,9,32,96,64,128,8,12,12,10,1,252,198, - 66,66,66,66,66,102,123,64,64,64,96,8,13,13,10,1, - 254,63,202,138,138,138,202,122,10,10,10,10,10,31,1,2, - 2,3,1,5,128,128,2,4,4,4,1,252,192,64,192,128, - 4,7,7,6,1,5,32,224,32,32,32,32,240,4,6,6, - 5,0,5,96,144,144,144,96,240,7,8,8,9,1,0,144, - 72,100,54,54,100,72,144,10,11,22,11,1,0,192,128,65, - 0,65,0,66,0,70,0,164,0,8,128,27,128,18,128,35, - 192,101,192,9,11,22,11,1,0,193,0,65,0,66,0,68, - 0,68,0,168,0,11,128,20,128,33,0,34,128,71,128,10, - 11,22,10,0,0,96,128,144,128,33,0,17,0,18,0,228, - 0,4,128,11,128,18,128,19,192,37,192,6,13,13,8,1, - 251,16,48,0,16,16,16,32,64,128,132,132,136,112,11,15, - 30,11,0,0,16,0,56,0,4,0,2,0,4,0,12,0, - 14,0,18,0,18,0,19,0,31,0,33,0,33,128,32,128, - 241,224,11,15,30,11,0,0,1,0,7,0,12,0,0,0, - 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, - 33,128,32,128,241,224,11,15,30,11,0,0,4,0,14,0, - 17,0,32,0,4,0,12,0,14,0,18,0,18,0,19,0, - 31,0,33,0,33,128,32,128,241,224,11,15,30,11,0,0, - 9,0,29,0,34,0,0,0,4,0,12,0,14,0,18,0, - 18,0,19,0,31,0,33,0,33,128,32,128,241,224,11,14, - 28,11,0,0,33,0,33,0,0,0,4,0,12,0,14,0, - 18,0,18,0,19,0,31,0,33,0,33,128,32,128,241,224, - 11,16,32,11,0,0,4,0,10,0,18,0,12,0,0,0, - 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, - 33,128,32,128,241,224,13,11,22,14,0,0,15,248,5,8, - 5,0,9,0,15,240,17,0,17,0,17,0,33,8,33,8, - 243,248,9,15,30,10,1,252,62,0,66,0,128,0,128,0, - 128,0,128,0,128,0,128,0,192,0,97,128,62,0,8,0, - 12,0,4,0,8,0,7,15,15,9,1,0,64,224,24,0, - 254,66,64,64,124,64,64,64,66,66,254,7,15,15,9,1, - 0,4,12,48,0,254,66,64,64,124,64,64,64,66,66,254, - 7,15,15,9,1,0,16,40,68,0,254,66,64,64,124,64, - 64,64,66,66,254,7,14,14,9,1,0,68,68,0,254,66, - 64,64,124,64,64,64,66,66,254,4,15,15,5,0,0,128, - 192,48,0,112,32,32,32,32,32,32,32,32,32,112,5,15, - 15,5,1,0,16,56,192,0,224,64,64,64,64,64,64,64, - 64,64,224,5,15,15,5,0,0,32,80,136,0,112,32,32, - 32,32,32,32,32,32,32,112,5,14,14,5,0,0,136,136, - 0,112,32,32,32,32,32,32,32,32,32,112,9,11,22,11, - 1,0,252,0,67,0,65,0,64,128,64,128,240,128,64,128, - 64,128,65,0,67,0,252,0,10,15,30,12,1,0,25,0, - 57,0,38,0,0,0,193,192,96,128,112,128,80,128,72,128, - 76,128,70,128,66,128,65,128,65,128,224,128,9,15,30,11, - 1,0,32,0,112,0,12,0,0,0,30,0,99,0,129,0, - 128,128,128,128,128,128,128,128,128,128,65,0,98,0,60,0, - 9,15,30,11,1,0,2,0,6,0,24,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,9,15,30,11,1,0,8,0,20,0,34,0, - 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, - 128,128,65,0,98,0,60,0,9,15,30,11,1,0,18,0, - 58,0,68,0,0,0,30,0,99,0,129,0,128,128,128,128, - 128,128,128,128,128,128,65,0,98,0,60,0,9,14,28,11, - 1,0,34,0,34,0,0,0,30,0,99,0,129,0,128,128, - 128,128,128,128,128,128,128,128,65,0,98,0,60,0,6,6, - 6,7,1,2,140,88,48,48,88,140,9,11,22,11,1,0, - 30,128,35,0,67,0,134,128,132,128,136,128,144,128,176,128, - 97,0,98,0,188,0,10,15,30,12,1,0,32,0,24,0, - 4,0,2,0,225,192,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,15,30,12,1,0, - 2,0,7,0,8,0,16,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,15, - 30,12,1,0,12,0,30,0,34,0,1,0,225,192,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,33,0, - 30,0,10,14,28,12,1,0,34,0,34,0,0,0,225,192, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 33,0,30,0,10,15,30,11,0,0,1,0,7,0,12,0, - 0,0,225,192,48,128,17,0,25,0,10,0,14,0,4,0, - 4,0,4,0,4,0,14,0,7,11,11,9,1,0,240,64, - 124,70,66,66,66,68,124,64,240,8,14,14,10,1,0,28, - 38,66,66,66,76,80,80,76,71,65,81,81,222,7,13,13, - 8,1,0,64,96,48,16,0,60,68,132,28,100,132,140,118, - 7,13,13,8,1,0,12,8,16,32,0,60,68,132,28,100, - 132,140,118,7,13,13,8,1,0,48,56,72,132,0,60,68, - 132,28,100,132,140,118,7,12,12,8,1,0,116,152,0,0, - 60,68,132,28,100,132,140,118,7,12,12,8,1,0,132,132, - 0,0,60,68,132,28,100,132,140,118,7,13,13,8,1,0, - 48,72,72,48,0,60,68,132,28,100,132,140,118,11,8,16, - 12,1,0,29,192,102,32,68,32,159,224,100,0,132,0,142, - 32,115,192,7,12,12,8,1,252,60,68,128,128,128,128,194, - 124,16,24,8,16,6,13,13,8,1,0,96,32,16,16,0, - 56,68,132,252,128,128,68,120,6,13,13,8,1,0,12,8, - 16,16,0,56,68,132,252,128,128,68,120,6,13,13,8,1, - 0,16,56,108,68,0,56,68,132,252,128,128,68,120,6,12, - 12,8,1,0,68,68,0,0,56,68,132,252,128,128,68,120, - 4,13,13,5,0,0,192,64,32,32,16,32,96,32,32,32, - 32,32,112,4,13,13,5,1,0,48,32,64,64,0,64,192, - 64,64,64,64,64,224,5,13,13,5,0,0,32,112,216,136, - 0,32,96,32,32,32,32,32,112,5,12,12,5,0,0,136, - 136,0,0,32,96,32,32,32,32,32,112,7,13,13,9,1, - 0,96,30,56,68,4,62,198,130,130,130,132,68,56,8,12, - 12,10,1,0,50,76,0,0,78,210,98,66,66,66,66,231, - 7,13,13,9,1,0,96,32,16,8,0,56,196,130,130,130, - 130,68,56,7,13,13,9,1,0,4,12,24,16,0,56,196, - 130,130,130,130,68,56,7,13,13,9,1,0,16,56,36,68, - 0,56,196,130,130,130,130,68,56,7,12,12,9,1,0,50, - 92,0,0,56,196,130,130,130,130,68,56,7,12,12,9,1, - 0,68,68,0,0,56,196,130,130,130,130,68,56,6,6,6, - 7,1,2,32,32,0,252,32,32,7,9,9,9,1,0,2, - 62,68,138,146,162,226,68,248,8,13,13,10,1,0,96,48, - 16,8,0,198,66,66,66,66,66,70,59,8,13,13,10,1, - 0,4,12,8,16,0,198,66,66,66,66,66,70,59,8,13, - 13,10,1,0,24,56,36,66,0,198,66,66,66,66,66,70, - 59,8,12,12,10,1,0,68,68,0,0,198,66,66,66,66, - 66,70,59,9,17,34,9,0,252,2,0,4,0,12,0,8, - 0,0,0,243,128,97,0,34,0,50,0,20,0,20,0,28, - 0,8,0,8,0,16,0,176,0,224,0,8,18,18,10,1, - 252,64,192,64,64,64,64,78,115,65,65,65,65,98,124,64, - 64,64,240,9,16,32,9,0,252,34,0,34,0,0,0,0, - 0,243,128,97,0,34,0,50,0,20,0,20,0,28,0,8, - 0,8,0,16,0,176,0,224,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=17 x= 1 y= 6 dx= 9 dy= 0 ascent=14 len=17 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11n[276] U8G_FONT_SECTION("u8g_font_gdr11n") = { - 0,26,25,247,250,11,0,0,0,0,42,58,0,14,253,11, - 0,6,8,8,8,1,6,48,16,164,120,120,164,16,48,7, - 6,6,7,0,2,16,16,16,254,16,16,2,5,5,4,1, - 253,64,192,64,64,128,5,1,1,6,1,4,248,2,2,2, - 4,1,0,192,128,8,17,17,8,0,253,1,2,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,11,11,8, - 1,0,48,72,132,132,132,132,132,132,132,72,48,6,11,11, - 8,1,0,16,240,16,16,16,16,16,16,16,16,124,6,11, - 11,8,1,0,28,100,68,4,8,8,16,32,68,68,252,6, - 11,11,7,0,0,56,68,68,4,24,12,4,4,4,140,120, - 7,11,11,8,0,0,4,12,12,20,36,36,68,254,4,4, - 30,6,11,11,8,1,0,124,64,64,64,120,132,4,4,4, - 132,120,6,11,11,8,1,0,12,48,64,192,184,196,132,132, - 132,72,56,7,11,11,8,1,0,254,132,4,8,8,8,16, - 16,32,32,96,7,11,11,9,1,0,120,196,196,196,120,60, - 194,130,130,130,124,6,11,11,8,1,0,56,200,132,132,132, - 132,124,4,8,16,224,2,8,8,4,1,0,192,128,0,0, - 0,0,192,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y= 9 dx=15 dy= 0 ascent=15 len=30 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11r[1868] U8G_FONT_SECTION("u8g_font_gdr11r") = { - 0,26,25,247,250,11,2,61,5,21,32,127,252,15,252,14, - 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, - 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, - 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, - 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, - 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, - 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, - 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, - 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, - 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, - 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, - 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, - 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, - 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, - 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, - 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, - 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, - 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, - 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, - 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, - 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, - 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, - 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, - 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, - 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, - 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, - 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, - 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, - 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, - 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, - 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, - 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, - 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, - 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, - 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, - 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, - 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, - 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, - 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, - 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, - 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, - 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, - 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, - 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, - 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, - 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, - 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, - 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, - 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, - 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, - 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, - 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, - 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, - 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, - 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, - 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, - 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, - 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, - 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, - 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, - 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, - 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, - 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, - 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, - 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, - 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, - 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, - 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, - 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, - 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, - 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, - 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, - 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, - 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, - 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, - 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, - 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, - 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, - 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, - 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, - 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, - 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, - 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, - 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, - 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, - 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, - 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, - 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, - 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, - 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, - 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, - 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, - 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, - 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, - 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, - 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, - 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, - 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, - 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, - 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, - 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, - 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, - 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, - 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, - 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, - 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, - 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, - 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, - 32,64,192,8,2,2,9,0,4,57,206,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12[4200] U8G_FONT_SECTION("u8g_font_gdr12") = { - 0,28,28,246,249,12,2,80,5,85,32,255,252,17,251,15, - 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, - 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, - 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, - 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, - 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, - 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, - 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, - 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, - 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, - 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, - 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, - 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, - 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, - 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, - 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, - 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, - 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, - 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, - 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, - 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, - 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, - 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, - 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, - 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, - 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, - 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, - 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, - 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, - 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, - 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, - 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, - 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, - 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, - 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, - 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, - 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, - 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, - 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, - 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, - 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, - 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, - 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, - 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, - 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, - 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, - 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, - 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, - 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, - 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, - 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, - 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, - 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, - 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, - 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, - 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, - 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, - 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, - 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, - 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, - 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, - 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, - 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, - 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, - 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, - 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, - 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, - 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, - 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, - 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, - 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, - 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, - 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, - 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, - 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, - 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, - 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, - 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, - 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, - 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, - 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, - 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, - 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, - 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, - 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, - 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, - 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, - 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, - 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, - 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, - 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, - 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, - 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, - 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, - 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, - 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, - 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, - 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, - 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, - 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, - 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, - 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, - 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, - 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, - 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, - 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, - 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, - 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, - 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, - 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, - 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, - 0,125,128,79,0,134,0,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,4,0,0,2,14, - 14,5,2,251,64,192,64,128,128,128,128,128,128,128,128,128, - 128,128,7,12,12,9,1,0,16,16,62,212,144,144,144,144, - 210,124,16,16,7,12,12,9,1,0,60,70,68,64,64,64, - 240,64,64,66,66,254,7,6,6,9,1,3,132,126,68,68, - 68,254,9,11,22,9,0,0,231,128,99,0,50,0,20,0, - 28,0,8,0,127,0,8,0,8,0,8,0,62,0,1,20, - 20,4,2,252,128,128,128,128,128,128,128,128,128,0,0,128, - 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, - 128,224,184,134,130,98,60,12,132,196,120,5,2,2,7,1, - 10,136,136,12,12,24,14,1,0,15,0,48,192,94,32,146, - 32,160,16,160,16,160,16,160,16,144,160,79,32,32,64,31, - 128,5,7,7,5,0,5,48,208,112,208,176,72,240,7,8, - 8,9,1,0,34,36,76,216,216,76,36,34,8,4,4,9, - 0,2,255,1,1,1,5,1,1,6,1,4,248,7,6,6, - 7,0,7,56,238,170,178,238,56,6,1,1,9,2,11,252, - 5,5,5,7,1,7,112,136,136,136,112,7,9,9,8,0, - 1,16,16,16,254,16,16,16,0,126,4,7,7,6,1,6, - 112,144,16,32,64,144,240,5,8,8,6,0,5,56,72,8, - 16,8,8,136,112,4,4,4,6,2,10,48,96,64,128,8, - 13,13,10,1,252,194,70,66,66,66,66,102,126,91,64,64, - 64,96,8,14,14,10,1,254,63,70,134,134,134,70,62,6, - 6,6,6,6,6,15,1,2,2,3,1,5,128,128,2,4, - 4,4,2,252,192,192,64,128,5,7,7,6,1,6,32,224, - 32,32,32,32,248,4,7,7,5,0,5,96,144,144,144,144, - 96,240,7,8,8,9,1,0,136,72,36,50,50,36,72,136, - 10,11,22,11,1,0,192,128,65,0,65,0,66,0,68,0, - 228,0,9,128,18,128,18,128,39,192,65,192,9,11,22,11, - 1,0,192,128,65,0,66,0,66,0,68,0,239,128,12,128, - 17,0,49,0,34,128,71,128,10,12,24,11,1,0,96,0, - 144,128,33,0,18,0,146,0,228,0,8,0,9,128,18,128, - 50,128,39,192,65,192,6,14,14,8,1,251,16,48,16,16, - 16,16,32,32,64,128,132,132,136,112,11,16,32,11,0,0, - 16,0,60,0,2,0,0,0,4,0,6,0,14,0,10,0, - 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, - 11,16,32,11,0,0,1,0,7,128,8,0,0,0,4,0, - 6,0,14,0,10,0,11,0,17,0,17,0,31,128,33,128, - 32,128,32,192,241,224,11,16,32,11,0,0,4,0,10,0, - 17,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, - 17,0,31,128,33,128,32,128,32,192,241,224,11,15,30,11, - 0,0,29,128,39,0,0,0,4,0,6,0,14,0,10,0, - 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, - 11,15,30,11,0,0,33,0,33,0,0,0,4,0,6,0, - 14,0,10,0,11,0,17,0,17,0,31,128,33,128,32,128, - 32,192,241,224,11,17,34,11,0,0,14,0,18,0,18,0, - 12,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, - 17,0,31,128,33,128,32,128,32,192,241,224,14,12,24,15, - 0,0,31,248,5,8,5,0,9,0,9,0,31,240,17,32, - 17,0,33,0,33,8,97,12,243,248,9,16,32,10,1,252, - 30,0,99,0,128,0,128,0,128,0,128,0,128,0,128,0, - 128,0,65,0,97,128,62,0,8,0,12,0,4,0,8,0, - 8,16,16,9,1,0,64,48,8,0,254,66,64,64,64,124, - 72,64,64,66,67,254,8,16,16,9,1,0,4,14,48,0, - 254,66,64,64,64,124,72,64,64,66,67,254,8,16,16,9, - 1,0,24,44,68,2,254,66,64,64,64,124,72,64,64,66, - 67,254,8,15,15,9,1,0,132,132,0,254,66,64,64,64, - 124,72,64,64,66,67,254,4,16,16,6,0,0,128,96,16, - 0,112,32,32,32,32,32,32,32,32,32,32,112,5,16,16, - 6,1,0,24,48,192,0,224,64,64,64,64,64,64,64,64, - 64,64,224,6,16,16,6,0,0,48,88,132,0,112,32,32, - 32,32,32,32,32,32,32,32,112,6,15,15,6,0,0,132, - 136,0,112,32,32,32,32,32,32,32,32,32,32,112,10,12, - 24,11,0,0,126,0,33,128,32,128,32,64,32,64,124,64, - 160,64,32,64,32,64,32,128,33,0,126,0,10,15,30,12, - 1,0,25,0,38,0,0,0,193,192,96,128,112,128,80,128, - 88,128,76,128,68,128,70,128,67,128,65,128,65,128,224,128, - 9,16,32,11,1,0,32,0,24,0,4,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, - 65,0,98,0,60,0,9,16,32,11,1,0,3,0,6,0, - 24,0,0,0,30,0,99,0,129,0,128,128,128,128,128,128, - 128,128,128,128,128,128,65,0,98,0,60,0,9,16,32,11, - 1,0,12,0,22,0,34,0,1,0,30,0,99,0,129,0, - 128,128,128,128,128,128,128,128,128,128,128,128,65,0,98,0, - 60,0,9,15,30,11,1,0,25,0,110,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, - 65,0,98,0,60,0,9,15,30,11,1,0,66,0,66,0, - 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, - 128,128,128,128,65,0,98,0,60,0,6,6,6,8,1,2, - 132,72,48,48,72,132,9,12,24,11,1,0,30,128,35,0, - 67,0,131,128,132,128,136,128,136,128,144,128,225,0,97,0, - 98,0,188,0,10,16,32,12,1,0,48,0,24,0,6,0, - 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,16,32,12,1,0, - 1,0,6,0,8,0,0,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, - 10,16,32,12,1,0,12,0,26,0,33,0,0,0,225,192, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,33,0,30,0,10,15,30,12,1,0,33,0,33,0, - 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,11,16,32,11,0,0, - 1,0,3,128,12,0,0,0,225,224,48,128,49,128,25,0, - 10,0,14,0,4,0,4,0,4,0,4,0,4,0,31,0, - 8,12,12,10,1,0,240,64,124,66,65,65,65,65,98,92, - 64,240,9,14,28,11,1,0,30,0,35,0,65,0,65,0, - 65,0,70,0,72,0,72,0,70,0,67,128,64,128,72,128, - 72,128,207,0,7,14,14,9,1,0,96,32,16,16,8,60, - 68,132,4,60,196,132,140,118,7,14,14,9,1,0,12,8, - 16,16,0,60,68,132,4,60,196,132,140,118,7,14,14,9, - 1,0,16,56,76,132,0,60,68,132,4,60,196,132,140,118, - 7,13,13,9,1,0,34,116,152,0,60,68,132,4,60,196, - 132,140,118,7,12,12,9,1,0,132,132,0,60,68,132,4, - 60,196,132,140,118,7,14,14,9,1,0,56,72,72,48,0, - 60,68,132,4,60,196,132,140,118,11,9,18,13,1,0,57, - 192,70,64,196,32,4,32,31,224,100,0,132,0,142,32,115, - 192,7,13,13,8,1,252,60,68,128,128,128,128,128,98,60, - 16,24,8,16,7,14,14,9,1,0,96,32,16,8,0,60, - 68,130,130,254,128,128,66,60,7,14,14,9,1,0,4,14, - 8,16,0,60,68,130,130,254,128,128,66,60,7,14,14,9, - 1,0,24,56,36,66,0,60,68,130,130,254,128,128,66,60, - 7,12,12,9,1,0,130,132,0,60,68,130,130,254,128,128, - 66,60,4,14,14,5,0,0,192,64,32,16,0,32,96,32, - 32,32,32,32,32,112,4,14,14,5,1,0,16,48,96,64, - 0,64,192,64,64,64,64,64,64,224,6,14,14,5,0,0, - 32,112,200,132,0,32,96,32,32,32,32,32,32,112,6,12, - 12,5,255,0,132,132,0,16,48,16,16,16,16,16,16,56, - 7,13,13,9,1,0,96,30,56,68,60,70,130,130,130,130, - 132,68,56,8,13,13,10,1,0,51,58,76,0,76,210,98, - 66,66,66,66,66,231,8,14,14,10,1,0,96,48,16,8, - 0,60,66,129,129,129,129,130,66,60,8,14,14,10,1,0, - 6,12,8,16,0,60,66,129,129,129,129,130,66,60,8,14, - 14,10,1,0,24,56,36,66,0,60,66,129,129,129,129,130, - 66,60,8,13,13,10,1,0,50,122,76,0,60,66,129,129, - 129,129,130,66,60,8,12,12,10,1,0,130,130,0,60,66, - 129,129,129,129,130,66,60,6,6,6,8,1,2,32,32,252, - 0,32,32,8,9,9,10,1,0,29,102,135,137,153,145,226, - 98,252,8,14,14,10,1,0,96,48,16,8,0,198,66,66, - 66,66,66,66,70,59,8,14,14,10,1,0,6,12,8,16, - 0,198,66,66,66,66,66,66,70,59,8,14,14,10,1,0, - 24,28,36,66,0,198,66,66,66,66,66,66,70,59,8,12, - 12,10,1,0,130,130,0,198,66,66,66,66,66,66,70,59, - 9,18,36,9,0,252,3,0,6,0,4,0,8,0,0,0, - 243,128,97,0,33,0,50,0,18,0,20,0,28,0,12,0, - 8,0,8,0,16,0,176,0,224,0,8,18,18,10,1,252, - 64,192,64,64,64,78,114,65,65,65,65,66,98,124,64,64, - 64,240,9,16,32,9,0,252,65,0,65,0,0,0,243,128, - 97,0,33,0,50,0,18,0,20,0,28,0,12,0,8,0, - 8,0,16,0,176,0,224,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 8 h=18 x= 2 y= 7 dx= 9 dy= 0 ascent=15 len=18 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =15 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12n[286] U8G_FONT_SECTION("u8g_font_gdr12n") = { - 0,28,28,246,249,12,0,0,0,0,42,58,0,15,253,12, - 0,7,7,7,8,1,7,16,148,222,48,252,146,16,7,7, - 7,8,0,2,16,16,16,254,16,16,16,2,5,5,4,1, - 253,64,192,64,64,128,5,1,1,6,1,4,248,2,3,3, - 4,1,255,192,192,128,8,18,18,9,0,253,1,1,3,2, - 6,4,4,12,8,8,24,16,48,32,32,96,64,192,7,11, - 11,9,1,0,56,68,130,130,130,130,130,130,132,68,56,6, - 12,12,9,1,0,16,112,144,16,16,16,16,16,16,16,16, - 252,6,12,12,8,1,0,60,68,196,4,4,8,16,16,32, - 68,132,252,7,12,12,8,0,0,28,38,98,2,4,28,2, - 2,2,2,134,124,7,12,12,9,1,0,4,12,12,20,20, - 36,68,68,254,4,4,30,6,11,11,9,2,0,124,64,64, - 64,120,132,4,4,4,132,120,7,12,12,9,1,0,12,48, - 64,64,128,252,198,130,130,130,68,56,7,11,11,9,1,0, - 254,130,4,4,8,8,24,16,48,32,96,7,12,12,9,1, - 0,120,196,196,196,232,60,78,130,130,130,194,124,7,11,11, - 9,1,0,56,68,130,130,130,198,122,2,4,8,112,2,10, - 10,4,1,255,128,192,128,0,0,0,0,192,192,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=30 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12r[1992] U8G_FONT_SECTION("u8g_font_gdr12r") = { - 0,28,28,246,249,12,2,80,5,85,32,127,252,16,252,15, - 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, - 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, - 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, - 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, - 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, - 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, - 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, - 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, - 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, - 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, - 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, - 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, - 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, - 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, - 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, - 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, - 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, - 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, - 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, - 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, - 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, - 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, - 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, - 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, - 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, - 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, - 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, - 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, - 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, - 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, - 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, - 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, - 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, - 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, - 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, - 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, - 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, - 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, - 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, - 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, - 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, - 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, - 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, - 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, - 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, - 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, - 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, - 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, - 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, - 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, - 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, - 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, - 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, - 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, - 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, - 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, - 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, - 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, - 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, - 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, - 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, - 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, - 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, - 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, - 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, - 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, - 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, - 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, - 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, - 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, - 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, - 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, - 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, - 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, - 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, - 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, - 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, - 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, - 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, - 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, - 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, - 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, - 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, - 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, - 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, - 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, - 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, - 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, - 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, - 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, - 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, - 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, - 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, - 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, - 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, - 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, - 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, - 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, - 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, - 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, - 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, - 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, - 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, - 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, - 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, - 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, - 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, - 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, - 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, - 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, - 0,125,128,79,0,134,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=57 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14[5942] U8G_FONT_SECTION("u8g_font_gdr14") = { - 0,35,33,244,248,14,3,95,7,136,32,255,251,20,250,18, - 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, - 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, - 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, - 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, - 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, - 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, - 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, - 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, - 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, - 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, - 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, - 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, - 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, - 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, - 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, - 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, - 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, - 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, - 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, - 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, - 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, - 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, - 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, - 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, - 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, - 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, - 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, - 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, - 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, - 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, - 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, - 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, - 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, - 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, - 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, - 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, - 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, - 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, - 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, - 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, - 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, - 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, - 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, - 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, - 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, - 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, - 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, - 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, - 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, - 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, - 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, - 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, - 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, - 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, - 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, - 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, - 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, - 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, - 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, - 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, - 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, - 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, - 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, - 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, - 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, - 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, - 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, - 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, - 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, - 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, - 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, - 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, - 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, - 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, - 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, - 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, - 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, - 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, - 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, - 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, - 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, - 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, - 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, - 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, - 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, - 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, - 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, - 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, - 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, - 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, - 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, - 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, - 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, - 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, - 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, - 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, - 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, - 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, - 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, - 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, - 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, - 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, - 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, - 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, - 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, - 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, - 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, - 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, - 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, - 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, - 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, - 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, - 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, - 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, - 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, - 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, - 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, - 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, - 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, - 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, - 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, - 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, - 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, - 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, - 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, - 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, - 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, - 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, - 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, - 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, - 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, - 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, - 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, - 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, - 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, - 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, - 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, - 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, - 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, - 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, - 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, - 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, - 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, - 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, - 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, - 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, - 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, - 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, - 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, - 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, - 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, - 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, - 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, - 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, - 124,128,159,0,135,0,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,5,0,0,2,16,16, - 6,2,250,192,192,128,64,192,192,192,192,192,192,192,192,192, - 192,192,128,9,14,28,11,1,0,12,0,12,0,31,128,109, - 128,76,0,204,0,204,0,204,0,204,0,236,128,125,128,63, - 0,12,0,12,0,10,14,28,11,0,0,7,128,24,192,16, - 128,48,128,48,0,48,0,48,0,126,0,48,0,48,0,48, - 0,32,64,32,64,255,192,9,7,14,11,1,3,221,128,119, - 0,99,0,99,0,115,0,127,0,128,128,12,14,28,11,255, - 0,225,240,48,64,48,192,25,128,29,128,15,0,7,0,6, - 0,63,192,6,0,6,0,6,0,6,0,31,128,2,24,24, - 5,2,251,192,192,192,192,192,192,192,192,192,192,128,0,0, - 64,192,192,192,192,192,192,192,192,192,192,9,16,32,11,1, - 0,30,0,99,0,98,0,112,0,56,0,94,0,199,0,195, - 128,225,128,113,128,63,0,15,0,7,0,67,0,99,0,62, - 0,7,3,3,9,1,12,198,198,198,15,14,28,16,0,0, - 7,192,24,48,49,248,98,44,198,6,204,6,204,6,204,6, - 204,6,206,38,102,76,51,152,24,48,7,192,6,8,8,6, - 0,6,112,152,24,56,120,124,0,124,9,10,20,11,1,0, - 17,128,17,0,34,0,102,0,204,0,204,0,102,0,34,0, - 17,0,17,128,10,5,10,11,0,2,255,192,0,192,0,192, - 0,192,0,192,6,1,1,8,1,5,252,8,8,8,8,0, - 8,60,66,189,149,153,153,86,60,7,1,1,11,2,13,254, - 4,5,5,8,2,9,96,240,240,240,96,8,10,10,9,1, - 2,24,24,24,24,255,24,24,24,0,255,6,8,8,8,1, - 7,120,140,140,8,16,32,68,252,7,8,8,7,255,7,60, - 102,6,28,6,6,134,120,5,5,5,7,2,12,24,48,32, - 64,192,12,15,30,13,1,251,96,192,224,192,96,192,96,192, - 96,192,96,192,96,192,113,192,127,208,92,224,64,0,64,0, - 96,0,96,0,112,0,13,17,34,14,0,253,31,248,99,96, - 195,96,195,96,195,96,227,96,115,96,63,96,3,96,3,96, - 3,96,3,96,3,96,3,96,3,96,3,96,15,248,2,3, - 3,3,1,6,192,192,192,4,5,5,5,1,251,96,96,112, - 48,192,6,8,8,8,1,7,48,240,48,48,48,48,48,252, - 4,8,8,6,1,6,96,240,240,240,240,96,0,240,8,10, - 10,11,2,0,136,140,68,98,51,51,102,68,140,136,12,14, - 28,13,0,0,24,96,120,192,24,192,25,128,27,0,27,0, - 126,0,4,96,12,224,25,96,18,96,51,240,96,96,192,240, - 13,14,28,14,0,0,48,16,240,32,48,96,48,64,48,128, - 48,128,249,0,3,120,2,152,4,24,12,48,8,32,16,72, - 49,248,12,14,28,14,1,0,112,32,152,64,24,64,56,128, - 77,128,141,0,114,0,6,96,4,224,9,96,25,96,19,240, - 32,96,96,240,8,16,16,10,1,250,24,24,16,4,12,12, - 12,24,48,96,96,192,195,195,230,124,13,20,40,14,0,0, - 16,0,28,0,14,0,3,0,0,128,0,0,2,0,3,0, - 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, - 16,96,32,48,32,48,248,120,13,20,40,14,0,0,0,128, - 0,192,3,160,6,0,0,0,0,0,2,0,3,0,5,0, - 5,128,5,128,8,128,8,192,8,192,31,192,16,96,16,96, - 32,48,32,48,248,120,13,20,40,14,0,0,2,0,7,0, - 13,128,8,64,16,0,0,0,2,0,3,0,5,0,5,128, - 5,128,8,128,8,192,8,192,31,192,16,96,16,96,32,48, - 32,48,248,120,13,19,38,14,0,0,4,64,14,96,19,192, - 0,0,0,0,2,0,3,0,5,0,5,128,5,128,8,128, - 8,192,8,192,31,192,16,96,16,96,32,48,32,48,248,120, - 13,18,36,14,0,0,8,64,12,96,8,64,0,0,2,0, - 3,0,5,0,5,128,5,128,8,128,8,192,8,192,31,192, - 16,96,16,96,32,48,32,48,248,120,13,20,40,14,0,0, - 2,0,7,0,7,128,7,0,0,0,0,0,2,0,3,0, - 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, - 16,96,32,48,32,48,248,120,18,14,42,18,0,0,7,255, - 128,1,96,128,3,96,128,2,96,0,6,96,0,6,96,0, - 7,255,0,12,98,0,8,96,0,24,96,0,16,96,0,16, - 96,64,48,96,64,249,255,128,11,19,38,12,1,251,7,192, - 24,96,32,0,96,0,64,0,192,0,192,0,192,0,192,0, - 192,0,224,0,96,128,113,192,62,0,8,0,4,0,14,0, - 6,0,24,0,11,20,40,11,0,0,32,0,56,0,28,0, - 6,0,1,0,0,0,255,192,48,64,48,64,48,0,48,0, - 48,0,63,128,49,0,48,0,48,0,48,0,48,32,48,96, - 255,192,11,20,40,11,0,0,1,0,1,128,7,0,12,0, - 0,0,0,0,255,192,48,64,48,64,48,0,48,0,48,0, - 63,128,49,0,48,0,48,0,48,0,48,32,48,96,255,192, - 11,20,40,11,0,0,4,0,14,0,27,0,48,128,0,0, - 0,0,255,192,48,64,48,64,48,0,48,0,48,0,63,128, - 49,0,48,0,48,0,48,0,48,32,48,96,255,192,11,18, - 36,11,0,0,16,128,49,128,49,128,0,0,255,192,48,64, - 48,64,48,0,48,0,48,0,63,128,49,0,48,0,48,0, - 48,0,48,32,48,96,255,192,6,20,20,7,0,0,128,192, - 112,24,0,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,252,7,20,20,7,0,0,4,14,28,48,64,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,252,7,20,20,7, - 0,0,16,56,108,134,0,0,252,48,48,48,48,48,48,48, - 48,48,48,48,48,252,7,18,18,7,0,0,66,198,198,0, - 252,48,48,48,48,48,48,48,48,48,48,48,48,252,13,14, - 28,14,0,0,127,128,176,224,48,112,48,48,48,24,48,24, - 254,24,48,24,48,24,48,24,48,48,48,112,48,224,255,128, - 15,19,38,15,0,0,2,32,7,32,9,192,0,0,0,0, - 240,126,48,24,56,24,60,24,52,24,50,24,51,24,49,152, - 48,152,48,216,48,120,48,56,48,56,252,24,12,20,40,14, - 1,0,16,0,56,0,12,0,2,0,1,0,0,0,15,128, - 48,192,32,96,96,96,192,48,192,48,192,48,192,48,192,48, - 192,48,96,96,96,64,48,128,31,0,12,20,40,14,1,0, - 1,0,1,192,3,0,12,0,0,0,0,0,15,128,48,192, - 32,96,96,96,192,48,192,48,192,48,192,48,192,48,192,48, - 96,96,96,64,48,128,31,0,12,20,40,14,1,0,6,0, - 14,0,11,0,16,128,32,0,0,0,15,128,48,192,32,96, - 96,96,192,48,192,48,192,48,192,48,192,48,192,48,96,96, - 96,64,48,128,31,0,12,19,38,14,1,0,8,128,28,64, - 55,128,0,0,0,0,15,128,48,192,32,96,96,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,64,48,128, - 31,0,12,18,36,14,1,0,16,128,24,192,16,128,0,0, - 15,128,48,192,32,96,96,96,192,48,192,48,192,48,192,48, - 192,48,192,48,96,96,96,64,48,128,31,0,7,7,7,9, - 1,3,194,102,60,24,60,102,194,12,15,30,14,1,255,15, - 48,48,224,32,224,64,224,193,176,195,48,194,48,198,48,204, - 48,200,48,88,32,112,64,112,128,207,0,128,0,15,20,40, - 15,0,0,8,0,14,0,7,0,1,128,0,64,0,0,252, - 126,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,24,48,28,96,7,192,15,20,40,15,0, - 0,0,64,0,96,1,192,3,0,0,0,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,24,48,28,96,7,192,15,20,40,15,0,0,1, - 0,3,128,6,192,12,96,0,0,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,15,18,36,15,0,0,4,32,12, - 96,12,96,0,0,252,126,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,24,48,28,96,7, - 192,14,20,40,14,0,0,0,128,0,224,1,128,6,0,0, - 0,0,0,224,124,48,48,24,32,24,96,12,64,6,192,7, - 128,3,0,3,0,3,0,3,0,3,0,3,0,15,192,11, - 14,28,12,0,0,252,0,48,0,48,0,63,128,48,192,48, - 96,48,96,48,96,48,96,48,192,63,128,48,0,48,0,252, - 0,13,17,34,13,0,0,7,128,8,192,16,96,48,96,48, - 96,48,224,51,192,55,0,54,0,55,0,51,192,48,240,48, - 56,48,24,52,24,50,16,243,224,10,17,34,11,1,0,96, - 0,48,0,16,0,8,0,4,0,0,0,0,0,30,0,99, - 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, - 192,10,17,34,11,1,0,3,0,6,0,12,0,8,0,16, - 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, - 0,195,0,195,0,199,0,123,192,10,17,34,11,1,0,24, - 0,28,0,54,0,98,0,65,0,0,0,0,0,30,0,99, - 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, - 192,10,15,30,11,1,0,57,0,78,0,0,0,0,0,0, - 0,30,0,99,0,195,0,3,0,31,0,99,0,195,0,195, - 0,199,0,123,192,10,15,30,11,1,0,33,0,99,0,99, - 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, - 0,195,0,195,0,199,0,123,192,10,16,32,11,1,0,28, - 0,60,0,60,0,24,0,0,0,0,0,30,0,99,0,195, - 0,3,0,31,0,99,0,195,0,195,0,199,0,123,192,14, - 10,20,16,1,0,30,112,99,152,195,12,131,12,31,252,115, - 0,195,0,195,0,197,132,120,248,9,15,30,10,1,251,15, - 0,49,128,96,0,192,0,192,0,192,0,192,0,192,0,99, - 0,124,0,16,0,8,0,28,0,12,0,48,0,9,17,34, - 11,1,0,48,0,112,0,24,0,8,0,4,0,0,0,0, - 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, - 0,113,128,62,0,9,17,34,11,1,0,3,0,6,0,6, - 0,12,0,8,0,0,0,0,0,30,0,33,0,65,128,255, - 128,192,0,192,0,192,0,224,0,113,128,62,0,9,17,34, - 11,1,0,12,0,28,0,54,0,35,0,65,0,0,0,0, - 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, - 0,113,128,62,0,9,15,30,11,1,0,33,0,49,128,33, - 0,0,0,0,0,30,0,33,0,65,128,255,128,192,0,192, - 0,192,0,224,0,113,128,62,0,6,17,17,6,0,0,192, - 96,32,48,16,0,0,48,240,48,48,48,48,48,48,48,252, - 7,17,17,6,0,0,12,14,24,16,32,0,0,48,240,48, - 48,48,48,48,48,48,252,7,17,17,6,0,0,48,56,104, - 196,130,0,0,48,240,48,48,48,48,48,48,48,252,7,15, - 15,6,0,0,198,198,198,0,0,48,240,48,48,48,48,48, - 48,48,252,9,16,32,11,1,0,48,0,91,128,12,0,50, - 0,3,0,1,0,31,128,99,128,67,128,193,128,193,128,193, - 128,193,0,227,0,98,0,60,0,13,15,30,13,0,0,14, - 64,19,128,0,0,0,0,0,0,113,192,182,96,56,96,48, - 96,48,96,48,96,48,96,48,96,48,96,253,248,10,17,34, - 12,1,0,48,0,48,0,24,0,12,0,4,0,0,0,0, - 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, - 128,113,0,30,0,10,17,34,12,1,0,3,0,3,0,6, - 0,4,0,8,0,0,0,0,0,30,0,35,128,65,128,192, - 192,192,192,192,192,192,192,224,128,113,0,30,0,10,17,34, - 12,1,0,12,0,30,0,18,0,33,0,64,128,0,0,0, - 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, - 128,113,0,30,0,10,15,30,12,1,0,56,128,71,0,0, - 0,0,0,0,0,30,0,35,128,65,128,192,192,192,192,192, - 192,192,192,224,128,113,0,30,0,10,15,30,12,1,0,49, - 128,49,128,33,0,0,0,0,0,30,0,35,128,65,128,192, - 192,192,192,192,192,192,192,224,128,113,0,30,0,8,7,7, - 9,1,3,24,24,0,255,0,24,24,10,12,24,12,1,255, - 0,64,30,192,35,128,67,192,194,192,196,192,200,192,216,192, - 240,128,113,0,222,0,128,0,11,17,34,12,1,0,48,0, - 24,0,24,0,12,0,4,0,0,0,0,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,17,34,12,1,0,3,0,3,128,6,0,4,0,8,0, - 0,0,0,0,97,128,231,128,97,128,97,128,97,128,97,128, - 97,128,97,128,103,160,57,192,11,17,34,12,1,0,12,0, - 14,0,26,0,49,0,32,128,0,0,0,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,15,30,12,1,0,49,128,49,128,49,128,0,0,0,0, - 97,128,231,128,97,128,97,128,97,128,97,128,97,128,97,128, - 103,160,57,192,12,22,44,11,255,251,0,192,0,192,1,128, - 3,0,2,0,0,0,0,0,124,240,16,32,24,64,24,64, - 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, - 4,0,120,0,240,0,11,22,44,12,0,251,48,0,240,0, - 48,0,48,0,48,0,48,0,48,0,51,128,60,192,56,224, - 48,96,48,96,48,96,48,96,48,64,56,128,55,0,48,0, - 48,0,48,0,48,0,252,0,12,20,40,11,255,251,12,96, - 12,96,8,64,0,0,0,0,124,240,16,32,24,64,24,64, - 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, - 4,0,120,0,240,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=10 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14n[462] U8G_FONT_SECTION("u8g_font_gdr14n") = { - 0,35,33,244,248,14,0,0,0,0,42,58,0,18,252,14, - 0,9,10,20,10,1,8,24,0,24,0,137,0,235,128,60, - 0,60,0,235,0,137,0,24,0,24,0,8,8,8,9,1, - 2,24,24,24,255,24,24,24,24,4,6,6,5,0,253,112, - 240,48,48,32,64,6,1,1,8,1,5,252,2,3,3,5, - 2,0,192,192,192,9,22,44,11,1,252,0,128,1,128,1, - 0,3,0,3,0,2,0,6,0,6,0,12,0,12,0,8, - 0,24,0,24,0,16,0,48,0,48,0,96,0,96,0,64, - 0,192,0,192,0,128,0,9,14,28,11,1,0,28,0,39, - 0,99,0,67,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,0,97,0,98,0,28,0,8,14,14,11,2,0,24, - 120,152,24,24,24,24,24,24,24,24,24,24,255,8,14,14, - 11,1,0,60,103,195,131,3,6,6,12,24,24,48,97,193, - 255,9,14,28,12,1,0,30,0,103,0,195,0,3,0,2, - 0,4,0,30,0,3,0,1,128,1,128,1,128,1,128,195, - 0,60,0,10,14,28,11,0,0,3,0,7,0,7,0,11, - 0,27,0,19,0,35,0,99,0,67,0,255,192,3,0,3, - 0,3,0,15,192,9,14,28,11,0,0,0,128,63,0,32, - 0,32,0,96,0,126,0,67,0,1,128,1,128,1,128,1, - 128,1,0,195,0,60,0,9,14,28,11,1,0,3,0,12, - 0,48,0,32,0,96,0,222,0,227,0,193,128,193,128,193, - 128,193,128,97,0,99,0,30,0,9,13,26,11,1,0,127, - 128,129,0,129,0,3,0,2,0,6,0,4,0,12,0,8, - 0,24,0,24,0,48,0,32,0,9,14,28,11,1,0,62, - 0,71,0,195,0,195,0,195,0,118,0,30,0,39,0,99, - 128,193,128,193,128,193,128,99,0,60,0,9,14,28,11,1, - 0,30,0,99,0,67,0,193,128,193,128,193,128,193,128,99, - 128,61,128,1,0,3,0,6,0,8,0,112,0,2,11,11, - 5,2,0,192,192,192,0,0,0,0,0,192,192,192}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=57 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14r[2791] U8G_FONT_SECTION("u8g_font_gdr14r") = { - 0,35,33,244,248,14,3,95,7,136,32,127,251,19,251,18, - 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, - 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, - 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, - 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, - 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, - 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, - 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, - 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, - 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, - 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, - 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, - 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, - 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, - 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, - 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, - 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, - 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, - 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, - 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, - 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, - 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, - 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, - 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, - 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, - 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, - 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, - 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, - 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, - 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, - 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, - 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, - 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, - 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, - 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, - 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, - 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, - 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, - 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, - 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, - 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, - 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, - 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, - 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, - 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, - 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, - 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, - 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, - 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, - 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, - 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, - 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, - 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, - 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, - 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, - 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, - 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, - 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, - 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, - 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, - 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, - 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, - 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, - 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, - 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, - 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, - 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, - 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, - 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, - 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, - 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, - 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, - 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, - 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, - 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, - 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, - 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, - 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, - 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, - 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, - 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, - 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, - 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, - 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, - 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, - 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, - 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, - 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, - 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, - 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, - 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, - 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, - 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, - 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, - 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, - 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, - 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, - 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, - 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, - 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, - 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, - 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, - 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, - 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, - 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, - 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, - 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, - 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, - 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, - 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, - 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, - 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, - 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, - 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, - 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, - 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, - 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, - 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, - 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, - 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, - 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, - 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, - 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, - 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, - 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, - 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, - 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, - 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, - 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, - 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, - 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, - 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, - 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, - 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, - 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, - 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, - 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, - 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, - 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, - 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, - 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, - 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, - 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, - 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, - 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, - 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, - 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, - 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, - 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, - 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, - 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, - 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, - 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, - 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, - 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, - 124,128,159,0,135,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=22 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=66 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17[7056] U8G_FONT_SECTION("u8g_font_gdr17") = { - 0,40,38,242,247,17,4,64,9,46,32,255,250,23,249,21, - 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, - 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, - 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, - 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, - 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, - 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, - 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, - 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, - 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, - 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, - 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, - 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, - 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, - 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, - 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, - 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, - 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, - 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, - 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, - 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, - 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, - 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, - 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, - 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, - 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, - 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, - 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, - 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, - 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, - 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, - 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, - 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, - 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, - 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, - 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, - 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, - 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, - 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, - 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, - 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, - 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, - 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, - 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, - 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, - 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, - 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, - 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, - 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, - 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, - 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, - 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, - 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, - 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, - 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, - 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, - 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, - 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, - 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, - 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, - 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, - 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, - 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, - 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, - 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, - 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, - 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, - 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, - 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, - 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, - 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, - 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, - 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, - 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, - 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, - 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, - 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, - 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, - 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, - 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, - 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, - 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, - 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, - 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, - 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, - 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, - 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, - 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, - 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, - 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, - 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, - 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, - 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, - 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, - 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, - 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, - 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, - 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, - 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, - 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, - 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, - 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, - 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, - 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, - 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, - 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, - 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, - 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, - 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, - 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, - 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, - 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, - 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, - 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, - 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, - 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, - 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, - 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, - 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, - 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, - 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, - 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, - 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, - 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, - 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, - 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, - 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, - 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, - 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, - 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, - 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, - 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, - 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, - 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, - 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, - 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, - 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, - 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, - 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, - 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, - 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, - 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, - 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, - 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, - 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, - 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, - 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, - 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, - 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, - 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, - 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, - 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, - 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, - 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, - 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, - 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, - 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,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,0,3,19,19,7,2,249, - 96,224,224,192,64,64,64,64,64,96,96,96,96,224,224,224, - 224,224,192,11,17,34,13,1,255,6,0,6,0,7,128,31, - 224,38,64,102,0,198,0,198,0,198,0,198,0,198,0,230, - 32,118,64,63,128,15,0,6,0,6,0,11,16,32,13,1, - 0,7,192,24,224,16,64,48,64,48,0,48,0,48,0,48, - 0,255,0,48,0,48,0,48,0,48,32,32,32,96,96,255, - 224,9,8,16,13,2,4,128,128,93,0,119,0,99,0,99, - 0,119,0,93,0,128,128,14,16,32,13,255,0,240,124,48, - 48,24,96,28,96,12,192,14,192,7,128,3,128,3,0,63, - 240,3,0,3,0,3,0,3,0,3,0,15,192,2,27,27, - 6,2,251,192,192,192,192,192,192,192,192,192,192,192,192,128, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,31,0,35,128,97,0,96,0,112,0,60,0, - 127,0,199,128,195,192,193,192,224,192,120,192,63,128,15,0, - 3,128,65,128,65,128,97,0,62,0,9,3,6,11,1,15, - 193,128,193,128,193,128,17,17,51,19,1,0,3,224,0,12, - 24,0,48,6,0,48,246,0,99,27,0,102,1,0,204,1, - 128,204,1,128,204,1,128,204,1,128,204,1,128,70,19,0, - 103,19,0,49,230,0,48,6,0,12,24,0,3,224,0,7, - 8,8,7,0,8,56,76,140,60,108,108,126,126,10,12,24, - 13,1,0,8,64,24,192,16,128,49,128,99,0,230,0,231, - 0,99,0,49,128,16,128,8,192,8,64,11,6,12,13,1, - 2,255,224,0,96,0,96,0,96,0,96,0,96,7,1,1, - 9,1,6,254,9,9,18,10,0,10,62,0,99,0,255,128, - 146,128,156,128,152,128,213,128,107,0,62,0,9,1,2,13, - 2,16,255,128,6,6,6,10,2,10,56,76,204,204,200,112, - 10,12,24,11,1,2,12,0,12,0,12,0,12,0,255,192, - 12,0,12,0,12,0,12,0,0,0,0,0,255,128,7,10, - 10,9,1,8,60,70,198,6,12,24,16,32,66,254,8,10, - 10,9,255,8,30,35,67,2,14,3,3,3,198,60,5,6, - 6,9,3,14,24,56,48,96,192,128,14,18,36,14,0,250, - 48,48,240,112,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,240,63,188,55,56,48,0,48,0,48,0,48,0, - 56,0,48,0,13,20,40,15,1,253,31,248,49,224,97,224, - 193,224,193,224,193,224,193,224,97,224,113,224,31,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 7,248,2,3,3,4,1,8,192,192,192,5,6,6,6,0, - 250,48,32,56,88,16,224,7,10,10,9,1,8,24,248,24, - 24,24,24,24,24,24,126,6,8,8,8,1,8,56,76,204, - 204,204,200,112,252,10,12,24,13,2,0,132,0,198,0,98, - 0,35,0,49,128,24,192,25,192,49,128,35,0,98,0,198, - 0,132,0,14,16,32,16,1,0,48,24,240,56,48,48,48, - 96,48,192,48,192,49,128,255,0,3,24,6,56,12,88,12, - 88,24,152,17,252,48,24,96,60,13,16,32,15,1,0,48, - 8,240,16,48,48,48,32,48,96,48,192,48,128,253,128,3, - 112,2,152,7,24,4,16,8,48,24,96,16,200,49,248,14, - 16,32,16,1,0,56,24,204,16,12,48,56,32,12,64,12, - 192,140,128,113,128,3,24,2,56,6,88,12,88,8,152,25, - 252,16,24,48,60,10,19,38,12,1,249,6,0,14,0,14, - 0,12,0,2,0,6,0,6,0,6,0,12,0,28,0,56, - 0,112,0,96,0,192,0,192,192,192,192,192,192,97,128,62, - 0,16,23,46,16,0,0,12,0,30,0,7,0,1,128,0, - 64,0,0,0,128,1,128,3,128,3,192,2,192,6,192,6, - 96,4,96,12,112,12,48,15,240,24,24,24,24,16,24,48, - 12,48,12,248,63,16,23,46,16,0,0,0,48,0,112,1, - 192,3,128,2,0,0,0,0,128,1,128,3,128,3,192,2, - 192,6,192,6,96,4,96,12,112,12,48,15,240,24,24,24, - 24,16,24,48,12,48,12,248,63,16,22,44,16,0,0,3, - 128,6,192,12,32,8,16,0,0,0,128,1,128,3,128,3, - 192,2,192,6,192,6,96,4,96,12,112,12,48,15,240,24, - 24,24,24,16,24,48,12,48,12,248,63,16,22,44,16,0, - 0,0,16,7,176,9,224,16,192,0,0,0,128,1,128,3, - 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, - 240,24,24,24,24,16,24,48,12,48,12,248,63,16,21,42, - 16,0,0,12,48,12,48,8,32,0,0,0,128,1,128,3, - 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, - 240,24,24,24,24,16,24,48,12,48,12,248,63,16,23,46, - 16,0,0,1,192,3,96,3,96,3,192,1,128,0,0,0, - 128,1,128,3,128,3,192,2,192,6,192,6,96,4,96,12, - 112,12,48,15,240,24,24,24,24,16,24,48,12,48,12,248, - 63,20,17,51,21,0,0,7,255,224,1,176,32,1,176,32, - 1,48,0,3,48,0,3,48,0,6,48,0,7,255,192,4, - 48,128,12,48,0,12,48,0,24,48,0,24,48,0,16,48, - 0,48,48,16,48,48,48,248,255,240,12,23,46,14,1,250, - 7,224,24,112,48,0,32,0,96,0,64,0,192,0,192,0, - 192,0,192,0,192,0,192,0,224,0,96,32,112,32,61,192, - 31,128,4,0,4,0,7,0,3,0,2,0,28,0,12,23, - 46,13,1,0,48,0,120,0,28,0,6,0,1,0,0,0, - 255,224,48,32,48,32,48,0,48,0,48,0,48,0,63,192, - 48,128,48,0,48,0,48,0,48,0,48,0,48,16,48,48, - 255,224,12,23,46,13,1,0,0,192,3,192,7,0,12,0, - 16,0,0,0,255,224,48,32,48,32,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,16,48,48,255,224,12,22,44,13,1,0,14,0,27,0, - 48,128,64,64,0,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,12,21,42,13,1,0,32,128, - 97,128,32,128,0,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,8,23,23,8,255,0,96,240, - 56,12,2,0,63,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,63,7,23,23,8,1,0,6,14,56,112,64, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,8,22,22,8,0,0,56,108,194,129,0,126,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,126,8,21, - 21,8,0,0,195,195,130,0,126,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,126,14,17,34,16,1,0,127, - 128,176,224,48,48,48,24,48,24,48,12,48,12,48,12,255, - 12,48,12,48,12,48,12,48,24,48,24,48,48,48,96,255, - 128,16,22,44,18,1,0,0,16,7,176,9,224,16,192,0, - 0,240,63,48,12,56,12,60,12,52,12,54,12,51,12,51, - 12,49,140,48,204,48,204,48,108,48,60,48,60,48,28,48, - 28,252,12,14,23,46,16,1,0,24,0,28,0,7,0,3, - 128,0,128,0,0,7,192,24,96,48,48,96,24,96,24,64, - 12,192,12,192,12,192,12,192,12,192,12,192,8,96,24,96, - 16,48,48,24,96,15,128,14,23,46,16,1,0,0,96,0, - 240,1,192,3,0,4,0,0,0,7,192,24,96,48,48,96, - 24,96,24,64,12,192,12,192,12,192,12,192,12,192,12,192, - 8,96,24,96,16,48,48,24,96,15,128,14,22,44,16,1, - 0,3,128,4,192,8,96,16,32,0,0,7,192,24,96,48, - 48,96,24,96,24,64,12,192,12,192,12,192,12,192,12,192, - 12,192,8,96,24,96,16,48,48,24,96,15,128,14,22,44, - 16,1,0,0,32,15,48,19,224,32,128,0,0,7,192,24, - 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, - 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,14, - 21,42,16,1,0,24,96,24,96,16,64,0,0,7,192,24, - 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, - 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,9, - 9,18,11,1,3,193,128,99,0,54,0,28,0,28,0,28, - 0,54,0,99,0,193,128,14,18,36,16,1,255,7,204,24, - 120,48,48,32,120,96,120,64,220,193,204,193,140,195,12,199, - 12,198,12,204,8,104,24,120,16,48,48,120,96,207,128,128, - 0,16,23,46,18,1,0,12,0,30,0,7,0,1,192,0, - 64,0,0,252,63,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,24,24, - 24,12,48,7,224,16,23,46,18,1,0,0,48,0,112,1, - 192,3,128,2,0,0,0,252,63,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,24,24,24,12,48,7,224,16,22,44,18,1,0,1, - 128,2,64,4,32,8,16,0,0,252,63,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,24,24,24,12,48,7,224,16,21,42,18,1, - 0,12,48,12,48,8,32,0,0,252,63,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,24,24,24,12,48,7,224,15,23,46,16,0, - 0,0,48,0,112,0,192,3,128,2,0,0,0,240,62,56, - 12,24,24,28,24,14,48,6,32,7,96,3,192,3,192,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,7,224,12, - 17,34,14,1,0,252,0,48,0,48,0,63,128,48,224,48, - 96,48,48,48,48,48,48,48,48,48,48,48,96,56,192,55, - 128,48,0,48,0,252,0,14,20,40,15,1,0,3,192,12, - 224,24,112,16,48,48,48,48,48,48,96,49,192,51,0,54, - 0,54,0,55,128,51,224,48,248,48,60,48,28,50,12,50, - 12,51,24,243,240,11,20,40,12,1,0,48,0,120,0,24, - 0,12,0,4,0,2,0,0,0,0,0,31,0,97,128,225, - 128,1,128,1,128,31,128,121,128,225,128,193,128,193,128,199, - 128,121,224,11,20,40,12,1,0,1,128,3,128,3,0,6, - 0,4,0,8,0,0,0,0,0,31,0,97,128,225,128,1, - 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, - 224,11,19,38,12,1,0,12,0,30,0,19,0,33,128,64, - 192,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, - 128,121,128,225,128,193,128,193,128,199,128,121,224,11,18,36, - 12,1,0,24,64,60,128,71,0,0,0,0,0,0,0,31, - 0,97,128,225,128,1,128,1,128,31,128,121,128,225,128,193, - 128,193,128,199,128,121,224,11,18,36,12,1,0,97,128,97, - 128,97,128,0,0,0,0,0,0,31,0,97,128,225,128,1, - 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, - 224,11,19,38,12,1,0,14,0,11,0,27,0,27,0,14, - 0,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, - 128,121,128,225,128,193,128,193,128,199,128,121,224,17,12,36, - 19,1,0,31,62,0,97,195,0,97,193,128,193,129,128,15, - 255,128,57,128,0,97,128,0,193,128,0,193,128,0,193,193, - 0,198,227,0,120,124,0,10,18,36,12,1,250,15,192,48, - 192,96,128,64,0,192,0,192,0,192,0,192,0,224,0,96, - 64,120,192,63,0,12,0,4,0,7,0,3,0,2,0,28, - 0,10,20,40,12,1,0,48,0,56,0,24,0,12,0,6, - 0,2,0,0,0,0,0,15,0,49,128,96,192,64,192,255, - 192,192,0,192,0,192,0,224,0,96,64,48,128,31,0,10, - 20,40,12,1,0,1,192,1,128,3,0,2,0,4,0,12, - 0,0,0,0,0,15,0,49,128,96,192,64,192,255,192,192, - 0,192,0,192,0,224,0,96,64,48,128,31,0,10,19,38, - 12,1,0,6,0,15,0,25,0,48,128,32,64,0,0,0, - 0,15,0,49,128,96,192,64,192,255,192,192,0,192,0,192, - 0,224,0,96,64,48,128,31,0,10,18,36,12,1,0,32, - 128,48,192,32,128,0,0,0,0,0,0,15,0,49,128,96, - 192,64,192,255,192,192,0,192,0,192,0,224,0,96,64,48, - 128,31,0,7,20,20,7,0,0,192,224,112,48,24,8,0, - 0,24,120,24,24,24,24,24,24,24,24,24,126,7,20,20, - 7,1,0,14,12,24,16,48,96,0,0,48,240,48,48,48, - 48,48,48,48,48,48,252,8,19,19,7,0,0,24,60,100, - 194,129,0,0,24,120,24,24,24,24,24,24,24,24,24,126, - 8,18,18,7,0,0,130,195,130,0,0,0,24,120,24,24, - 24,24,24,24,24,24,24,126,11,19,38,13,1,0,24,0, - 60,224,7,128,31,0,49,128,0,192,0,192,15,192,49,224, - 96,224,64,96,192,96,192,96,192,96,192,64,224,192,96,192, - 49,128,30,0,14,18,36,15,1,0,12,32,31,64,35,128, - 0,0,0,0,0,0,113,224,178,48,52,48,56,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,12,20, - 40,14,1,0,56,0,24,0,12,0,4,0,6,0,3,0, - 0,0,0,0,15,128,48,192,96,96,64,112,192,48,192,48, - 192,48,192,48,224,32,96,96,48,192,31,0,12,20,40,14, - 1,0,0,192,1,128,3,128,3,0,6,0,4,0,0,0, - 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, - 192,48,224,32,96,96,48,192,31,0,12,19,38,14,1,0, - 6,0,15,0,25,128,16,128,32,64,0,0,0,0,15,128, - 48,192,96,96,64,112,192,48,192,48,192,48,192,48,224,32, - 96,96,48,192,31,0,12,18,36,14,1,0,28,96,62,64, - 35,128,0,0,0,0,0,0,15,128,48,192,96,96,64,112, - 192,48,192,48,192,48,192,48,224,32,96,96,48,192,31,0, - 12,18,36,14,1,0,48,192,48,192,48,192,0,0,0,0, - 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, - 192,48,224,32,96,96,48,192,31,0,9,9,18,11,1,3, - 12,0,12,0,0,0,0,0,255,128,0,0,0,0,12,0, - 12,0,12,14,28,14,1,255,0,16,15,176,49,224,96,224, - 65,240,195,48,198,48,198,48,204,48,248,32,112,96,120,192, - 223,0,128,0,14,20,40,14,0,0,28,0,12,0,6,0, - 3,0,1,0,1,128,0,0,0,0,48,48,240,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,112,56,188, - 31,48,14,20,40,14,0,0,0,96,0,224,0,192,1,128, - 3,0,2,0,0,0,0,0,48,48,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,112,56,188,31,48, - 14,19,38,14,0,0,3,0,7,128,4,192,8,96,16,32, - 0,0,0,0,48,48,240,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,112,56,188,31,48,14,18,36,14, - 0,0,24,96,24,96,24,96,0,0,0,0,0,0,48,48, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,112,56,188,31,48,14,26,52,13,255,250,0,112,0,96, - 0,224,0,192,1,128,1,0,0,0,0,0,124,60,24,24, - 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, - 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0, - 12,26,52,14,1,250,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,224,56,96,48,48,48,48, - 48,48,48,48,48,48,48,32,48,96,56,64,55,128,48,0, - 48,0,48,0,48,0,48,0,252,0,14,24,48,13,255,250, - 12,48,12,48,8,32,0,0,0,0,0,0,124,60,24,24, - 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, - 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 16 - Calculated Max Values w=11 h=25 x= 2 y= 9 dx=13 dy= 0 ascent=21 len=50 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =16 descent= 0 - X Font ascent =16 descent= 0 - Max Font ascent =21 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17n[559] U8G_FONT_SECTION("u8g_font_gdr17n") = { - 0,40,38,242,247,16,0,0,0,0,42,58,0,21,252,16, - 0,10,12,24,12,1,9,12,0,12,0,140,0,204,192,119, - 128,30,0,30,0,119,128,204,192,12,128,12,0,12,0,10, - 9,18,11,1,3,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,4,7,7,6,1,252,112,240,48, - 48,32,96,64,7,1,1,9,1,6,254,3,4,4,6,2, - 255,96,224,224,192,11,25,50,13,1,252,0,96,0,96,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,6,0,6, - 0,6,0,12,0,12,0,12,0,24,0,24,0,48,0,48, - 0,48,0,96,0,96,0,224,0,192,0,192,0,11,16,32, - 13,1,0,15,0,49,128,96,192,64,192,64,224,192,96,192, - 96,192,96,192,96,192,96,192,96,192,64,96,64,96,192,49, - 128,30,0,9,16,32,13,2,0,12,0,60,0,252,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,255,128,10,16,32,13,1,0,15, - 0,49,128,96,192,96,192,0,192,0,192,1,128,1,128,3, - 0,6,0,12,0,28,0,24,0,48,64,96,64,255,192,10, - 16,32,13,1,0,30,0,99,0,97,128,193,128,1,128,3, - 0,6,0,31,0,3,128,1,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,1,128,3,128,7, - 128,5,128,13,128,25,128,17,128,49,128,97,128,65,128,255, - 224,1,128,1,128,1,128,1,128,15,224,10,16,32,13,1, - 0,63,192,32,0,32,0,32,0,96,0,96,0,127,0,67, - 128,1,192,0,192,0,192,0,192,0,192,1,128,193,128,62, - 0,11,16,32,13,1,0,3,128,14,0,24,0,48,0,96, - 0,96,0,207,0,241,192,192,224,192,96,192,96,192,96,96, - 96,96,64,48,128,31,0,11,16,32,13,1,0,127,224,64, - 192,128,192,0,128,1,128,1,128,3,0,3,0,6,0,6, - 0,4,0,12,0,12,0,24,0,24,0,48,0,11,16,32, - 13,1,0,31,0,113,128,224,192,224,192,224,192,241,128,63, - 0,15,128,51,192,96,224,192,96,192,96,192,96,192,64,96, - 128,31,0,11,17,34,13,1,255,31,0,49,128,96,192,192, - 192,192,96,192,96,192,96,224,96,113,224,30,96,0,224,0, - 192,0,192,1,128,3,0,14,0,48,0,3,14,14,6,2, - 255,64,224,224,224,0,0,0,0,0,0,96,224,224,192}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=22 h=27 x= 2 y=14 dx=23 dy= 0 ascent=22 len=66 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17r[3380] U8G_FONT_SECTION("u8g_font_gdr17r") = { - 0,40,38,242,247,17,4,64,9,46,32,127,250,22,250,21, - 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, - 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, - 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, - 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, - 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, - 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, - 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, - 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, - 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, - 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, - 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, - 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, - 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, - 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, - 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, - 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, - 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, - 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, - 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, - 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, - 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, - 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, - 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, - 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, - 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, - 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, - 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, - 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, - 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, - 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, - 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, - 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, - 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, - 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, - 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, - 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, - 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, - 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, - 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, - 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, - 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, - 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, - 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, - 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, - 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, - 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, - 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, - 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, - 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, - 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, - 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, - 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, - 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, - 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, - 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, - 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, - 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, - 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, - 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, - 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, - 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, - 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, - 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, - 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, - 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, - 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, - 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, - 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, - 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, - 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, - 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, - 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, - 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, - 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, - 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, - 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, - 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, - 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, - 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, - 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, - 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, - 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, - 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, - 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, - 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, - 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, - 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, - 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, - 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, - 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, - 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, - 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, - 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, - 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, - 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, - 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, - 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, - 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, - 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, - 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, - 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, - 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, - 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, - 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, - 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, - 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, - 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, - 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, - 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, - 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, - 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, - 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, - 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, - 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, - 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, - 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, - 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, - 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, - 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, - 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, - 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, - 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, - 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, - 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, - 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, - 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, - 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, - 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, - 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, - 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, - 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, - 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, - 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, - 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, - 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, - 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, - 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, - 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, - 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, - 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, - 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, - 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, - 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, - 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, - 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, - 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, - 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, - 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, - 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, - 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, - 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, - 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, - 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, - 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, - 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, - 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=19 dx=27 dy= 0 ascent=27 len=81 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =27 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20[9119] U8G_FONT_SECTION("u8g_font_gdr20") = { - 0,47,44,240,246,20,4,220,11,144,32,255,248,27,247,25, - 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, - 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, - 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, - 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, - 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, - 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, - 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, - 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, - 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, - 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, - 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, - 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, - 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, - 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, - 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, - 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, - 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, - 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, - 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, - 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, - 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, - 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, - 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, - 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, - 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, - 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, - 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, - 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, - 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, - 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, - 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, - 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, - 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, - 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, - 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, - 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, - 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, - 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, - 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, - 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, - 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, - 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, - 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, - 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, - 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, - 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, - 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, - 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, - 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, - 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, - 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, - 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, - 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, - 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, - 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, - 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, - 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, - 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, - 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, - 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, - 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, - 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, - 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, - 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, - 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, - 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, - 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, - 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, - 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, - 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, - 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, - 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, - 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, - 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, - 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, - 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, - 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, - 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, - 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, - 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, - 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, - 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, - 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, - 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, - 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, - 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, - 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, - 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, - 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, - 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, - 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, - 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, - 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, - 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, - 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, - 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, - 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, - 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, - 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, - 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, - 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, - 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, - 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, - 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, - 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, - 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, - 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, - 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, - 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, - 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, - 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, - 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, - 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, - 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, - 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, - 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, - 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, - 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, - 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, - 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, - 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, - 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, - 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, - 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, - 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, - 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, - 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, - 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, - 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, - 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, - 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, - 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, - 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, - 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, - 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, - 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, - 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, - 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, - 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, - 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, - 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, - 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, - 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, - 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, - 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, - 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, - 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, - 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, - 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, - 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, - 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, - 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, - 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, - 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, - 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, - 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, - 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, - 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, - 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, - 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, - 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, - 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, - 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, - 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, - 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, - 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, - 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, - 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, - 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, - 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, - 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, - 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, - 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, - 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, - 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, - 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, - 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, - 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, - 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, - 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, - 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, - 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, - 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, - 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, - 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, - 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, - 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, - 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, - 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, - 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, - 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, - 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, - 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, - 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, - 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, - 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, - 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,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,7,0,0,4,24, - 24,9,2,247,112,240,240,224,0,0,32,96,96,96,96,96, - 96,96,96,96,112,112,112,112,112,112,112,64,12,20,40,15, - 2,255,6,0,6,0,6,0,15,224,54,224,102,96,102,0, - 198,0,198,0,198,0,198,0,198,0,198,0,230,32,118,48, - 63,192,31,128,6,0,6,0,6,0,13,19,38,15,1,0, - 7,224,8,112,16,48,16,32,48,32,48,0,48,0,48,0, - 48,0,255,0,48,0,48,0,48,0,48,0,48,8,32,24, - 96,48,127,240,131,240,11,10,20,15,2,4,192,96,127,192, - 49,192,96,192,96,192,96,192,113,192,63,128,64,64,128,32, - 16,19,38,15,255,0,240,63,56,28,28,24,28,56,14,48, - 6,112,7,96,3,192,3,192,1,128,1,128,63,252,1,128, - 1,128,1,128,1,128,1,128,1,128,15,240,2,32,32,7, - 3,250,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 128,0,0,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,11,22,44,15,2,0,31,128,49,192,96,128,96,0, - 112,0,120,0,62,0,111,128,199,192,193,224,192,224,224,96, - 240,96,124,96,63,192,15,128,3,192,1,192,64,192,64,192, - 96,128,63,0,9,4,8,13,2,17,97,128,227,128,227,128, - 195,0,21,20,60,24,1,0,1,252,0,6,3,0,24,0, - 192,48,0,96,48,124,96,97,134,48,99,0,48,194,0,24, - 198,0,24,198,0,24,198,0,24,198,0,24,199,0,24,99, - 0,48,97,198,48,48,248,96,48,0,96,24,0,192,6,3, - 0,1,252,0,7,10,10,8,1,9,56,204,140,28,108,204, - 220,238,0,254,12,14,28,16,1,0,6,16,4,48,8,96, - 24,96,48,192,113,192,227,128,227,128,113,192,48,192,24,96, - 8,96,4,48,6,16,13,6,12,15,1,3,255,248,0,24, - 0,24,0,24,0,24,0,24,9,1,2,11,1,8,255,128, - 10,11,22,11,1,11,30,0,97,0,126,128,147,64,151,64, - 156,64,148,64,146,64,105,128,33,0,30,0,10,1,2,16, - 3,19,255,192,7,7,7,11,2,12,60,110,198,198,198,236, - 120,12,14,28,13,1,2,6,0,6,0,6,0,6,0,6, - 0,255,240,6,0,6,0,6,0,6,0,4,0,0,0,0, - 0,255,224,8,11,11,10,1,10,62,99,195,3,6,6,12, - 24,50,97,255,9,12,24,11,0,9,31,0,51,128,97,128, - 1,128,3,0,15,0,1,128,1,128,1,128,1,128,195,0, - 62,0,7,7,7,10,3,16,12,30,24,48,48,96,192,15, - 23,46,17,1,248,48,8,240,56,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,56,56,56,120,63,248,55, - 222,51,152,48,0,48,0,48,0,48,0,56,0,56,0,56, - 0,48,0,15,24,48,18,1,252,15,254,48,252,96,216,64, - 216,192,216,192,216,192,216,192,216,224,216,112,216,56,216,15, - 216,0,216,0,216,0,216,0,216,0,216,0,216,0,216,0, - 216,0,216,0,216,0,216,3,254,3,4,4,5,1,9,96, - 224,224,192,5,7,7,7,1,249,48,32,48,120,24,48,224, - 8,11,11,11,2,10,24,248,24,24,24,24,24,24,24,24, - 255,7,10,10,9,1,9,56,108,198,198,198,198,108,56,0, - 254,12,14,28,16,2,0,130,0,65,0,97,128,48,192,56, - 224,28,96,12,112,28,112,30,96,56,224,48,192,97,128,65, - 0,130,0,16,19,38,19,2,0,48,6,240,14,48,12,48, - 24,48,56,48,48,48,96,48,224,48,192,205,130,1,142,3, - 30,6,22,6,38,12,70,24,127,24,134,48,6,96,31,15, - 19,38,18,2,0,48,6,240,12,48,8,48,24,48,48,48, - 48,48,96,48,192,48,192,205,128,1,28,3,102,6,70,4, - 6,12,12,24,24,24,48,48,98,96,254,17,19,57,19,1, - 0,60,3,0,70,6,0,6,4,0,28,12,0,6,24,0, - 6,16,0,6,48,0,142,96,0,120,96,0,0,193,0,1, - 135,0,1,143,0,3,11,0,2,19,0,6,35,0,12,63, - 128,12,67,0,24,3,0,48,15,128,10,24,48,13,2,247, - 14,0,30,0,30,0,28,0,0,0,0,0,0,0,12,0, - 12,0,12,0,12,0,28,0,24,0,48,0,48,0,96,0, - 96,0,192,0,192,64,192,192,192,192,224,128,97,128,62,0, - 19,27,81,19,0,0,6,0,0,15,0,0,7,128,0,1, - 192,0,0,96,0,0,16,0,0,0,0,0,64,0,0,224, - 0,0,224,0,1,224,0,1,240,0,1,176,0,3,48,0, - 3,56,0,3,24,0,6,28,0,6,28,0,6,12,0,15, - 254,0,12,6,0,8,6,0,24,7,0,24,3,0,16,3, - 0,48,3,128,254,15,224,19,27,81,19,0,0,0,8,0, - 0,30,0,0,60,0,0,112,0,1,192,0,1,0,0,0, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,19,27, - 81,19,0,0,0,224,0,1,224,0,1,240,0,3,56,0, - 6,12,0,12,4,0,0,0,0,0,64,0,0,224,0,0, - 224,0,1,224,0,1,240,0,1,176,0,3,48,0,3,56, - 0,3,24,0,6,28,0,6,28,0,6,12,0,15,254,0, - 12,6,0,8,6,0,24,7,0,24,3,0,16,3,0,48, - 3,128,254,15,224,19,26,78,19,0,0,3,132,0,7,230, - 0,4,252,0,8,56,0,0,0,0,0,0,0,0,64,0, - 0,224,0,0,224,0,1,224,0,1,240,0,1,176,0,3, - 48,0,3,56,0,3,24,0,6,28,0,6,28,0,6,12, - 0,15,254,0,12,6,0,8,6,0,24,7,0,24,3,0, - 16,3,0,48,3,128,254,15,224,19,25,75,19,0,0,6, - 12,0,6,12,0,14,28,0,6,12,0,0,0,0,0,64, - 0,0,224,0,0,224,0,1,224,0,1,240,0,1,176,0, - 3,48,0,3,56,0,3,24,0,6,28,0,6,28,0,6, - 12,0,15,254,0,12,6,0,8,6,0,24,7,0,24,3, - 0,16,3,0,48,3,128,254,15,224,19,27,81,19,0,0, - 0,224,0,1,176,0,1,48,0,3,48,0,1,176,0,1, - 224,0,0,0,0,0,64,0,0,224,0,0,224,0,1,224, - 0,1,240,0,1,176,0,3,48,0,3,56,0,3,24,0, - 6,28,0,6,28,0,6,12,0,15,254,0,12,6,0,8, - 6,0,24,7,0,24,3,0,16,3,0,48,3,128,254,15, - 224,23,20,60,25,0,0,3,255,252,0,124,4,0,108,4, - 0,236,4,0,204,0,1,204,0,1,140,0,1,140,0,3, - 140,0,3,255,248,7,12,16,6,12,0,6,12,0,12,12, - 0,12,12,0,28,12,0,24,12,2,24,12,2,48,12,6, - 252,63,254,15,27,54,17,1,249,3,248,12,28,16,8,48, - 0,96,0,96,0,64,0,192,0,192,0,192,0,192,0,192, - 0,192,0,224,0,96,0,112,0,120,2,60,12,31,248,15, - 240,0,128,0,128,1,224,0,224,0,96,0,192,3,0,13, - 27,54,16,1,0,16,0,56,0,28,0,15,0,3,128,0, - 192,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, - 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,24,255,248,13,27,54,16,1, - 0,0,32,0,240,1,224,3,128,7,0,12,0,0,0,255, - 240,48,16,48,16,48,16,48,0,48,0,48,0,48,0,48, - 0,63,224,48,64,48,0,48,0,48,0,48,0,48,0,48, - 8,48,8,48,24,255,248,13,27,54,16,1,0,3,0,7, - 128,15,192,28,192,56,96,32,48,0,0,255,240,48,16,48, - 16,48,16,48,0,48,0,48,0,48,0,48,0,63,224,48, - 64,48,0,48,0,48,0,48,0,48,0,48,8,48,8,48, - 24,255,248,13,25,50,16,1,0,24,48,56,112,56,112,48, - 96,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, - 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,24,255,248,9,27,54,10,255, - 0,96,0,240,0,120,0,28,0,7,0,1,0,0,0,31, - 128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,31,128,8,27,27,10,2,0,6,15,30, - 56,96,128,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,10,27,54,10,0,0,28,0, - 30,0,62,0,115,0,193,128,128,192,0,0,63,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,63,0,10,25,50,10,0,0,193,128,225,192,225,192, - 193,128,0,0,63,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,63,0,18,20,60,19, - 0,0,31,240,0,120,28,0,24,6,0,24,3,0,24,1, - 128,24,1,128,24,1,192,24,0,192,24,0,192,255,128,192, - 24,0,192,24,0,192,24,0,192,24,1,128,24,1,128,24, - 1,128,24,3,0,24,6,0,24,28,0,127,240,0,19,26, - 78,21,1,0,3,132,0,7,230,0,4,124,0,8,56,0, - 0,0,0,0,0,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,27,81,19,1,0,12,0,0,30,0,0,15,0, - 0,3,128,0,0,224,0,0,32,0,0,0,0,3,240,0, - 12,24,0,16,12,0,48,6,0,32,3,0,96,3,0,64, - 3,128,192,1,128,192,1,128,192,1,128,192,1,128,192,1, - 128,192,1,128,224,1,0,96,3,0,96,2,0,48,6,0, - 56,4,0,12,24,0,7,224,0,17,27,81,19,1,0,0, - 24,0,0,60,0,0,120,0,0,224,0,1,128,0,2,0, - 0,0,0,0,3,240,0,12,24,0,16,12,0,48,6,0, - 32,3,0,96,3,0,64,3,128,192,1,128,192,1,128,192, - 1,128,192,1,128,192,1,128,192,1,128,224,1,0,96,3, - 0,96,2,0,48,6,0,56,4,0,12,24,0,7,224,0, - 17,27,81,19,1,0,1,192,0,1,224,0,3,224,0,7, - 48,0,12,24,0,8,12,0,0,0,0,3,240,0,12,24, - 0,16,12,0,48,6,0,32,3,0,96,3,0,64,3,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,192, - 1,128,224,1,0,96,3,0,96,2,0,48,6,0,56,4, - 0,12,24,0,7,224,0,17,26,78,19,1,0,3,4,0, - 7,204,0,8,248,0,16,112,0,0,0,0,0,0,0,3, - 240,0,12,24,0,16,12,0,48,6,0,32,3,0,96,3, - 0,64,3,128,192,1,128,192,1,128,192,1,128,192,1,128, - 192,1,128,192,1,128,224,1,0,96,3,0,96,2,0,48, - 6,0,56,4,0,12,24,0,7,224,0,17,25,75,19,1, - 0,12,24,0,14,28,0,14,28,0,12,24,0,0,0,0, - 3,240,0,12,24,0,16,12,0,48,6,0,32,3,0,96, - 3,0,64,3,128,192,1,128,192,1,128,192,1,128,192,1, - 128,192,1,128,192,1,128,224,1,0,96,3,0,96,2,0, - 48,6,0,56,4,0,12,24,0,7,224,0,11,10,20,13, - 1,4,192,96,96,192,49,128,27,0,14,0,14,0,27,0, - 49,128,96,192,192,96,17,21,63,19,1,255,3,241,128,4, - 31,0,24,14,0,48,30,0,32,31,0,96,63,0,64,59, - 128,192,115,128,192,225,128,192,225,128,193,193,128,195,129,128, - 195,1,128,231,1,0,110,3,0,124,2,0,124,6,0,56, - 4,0,124,24,0,199,224,0,128,0,0,19,27,81,21,1, - 0,6,0,0,15,0,0,7,128,0,1,192,0,0,96,0, - 0,16,0,0,0,0,252,7,224,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,0,24,3,0,28,6,0,14,12,0,3, - 240,0,19,27,81,21,1,0,0,12,0,0,30,0,0,60, - 0,0,112,0,0,192,0,1,0,0,0,0,0,252,7,224, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,0,24,3,0, - 28,6,0,14,12,0,3,240,0,19,27,81,21,1,0,0, - 224,0,0,240,0,1,240,0,3,152,0,6,12,0,4,6, - 0,0,0,0,252,7,224,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,0,24,3,0,28,6,0,14,12,0,3,240,0, - 19,25,75,21,1,0,6,12,0,7,14,0,7,14,0,6, - 12,0,0,0,0,252,7,224,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,0,24,3,0,28,6,0,14,12,0,3,240, - 0,18,27,81,19,0,0,0,12,0,0,30,0,0,60,0, - 0,112,0,0,192,0,1,0,0,0,0,0,240,31,192,56, - 7,0,28,6,0,12,12,0,14,12,0,7,24,0,7,24, - 0,3,48,0,3,176,0,1,224,0,1,224,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,7,248,0,15,20,40,17,1,0,254,0, - 48,0,48,0,48,0,63,224,48,120,48,28,48,14,48,6, - 48,6,48,6,48,6,48,12,48,12,52,56,51,224,48,0, - 48,0,48,0,254,0,16,24,48,18,1,0,1,224,6,56, - 8,24,16,28,16,12,48,12,48,12,48,28,48,56,48,240, - 49,192,49,128,49,128,49,192,48,240,48,124,48,62,48,15, - 48,7,48,3,49,3,49,3,49,134,241,248,13,23,46,15, - 1,0,56,0,56,0,28,0,14,0,6,0,3,0,1,0, - 0,0,15,192,48,224,112,96,96,96,0,96,0,96,15,224, - 63,224,126,96,240,96,224,96,192,96,192,96,65,224,62,120, - 13,23,46,15,1,0,0,224,0,224,1,192,1,128,3,0, - 2,0,4,0,0,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,13,23,46,15,1,0,7,0,7,0,15,128, - 29,192,24,192,48,96,32,32,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,21,42,15,1,0,28,16, - 63,32,35,192,64,0,0,0,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,21,42,15,1,0,48,96, - 56,112,48,96,48,96,0,0,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,22,44,15,1,0,7,128, - 13,128,12,192,12,128,13,128,15,0,0,0,15,192,48,224, - 112,96,96,96,0,96,0,96,15,224,63,224,126,96,240,96, - 224,96,192,96,192,96,65,224,62,120,19,15,45,22,2,0, - 31,143,0,113,176,192,96,224,192,224,224,96,128,192,96,0, - 192,96,7,255,192,28,192,0,112,192,0,96,192,0,192,192, - 0,192,224,0,193,96,64,194,112,224,124,31,0,12,22,44, - 14,1,249,7,224,24,96,32,32,96,0,64,0,192,0,192, - 0,192,0,192,0,192,0,224,0,112,16,120,96,63,192,31, - 128,2,0,2,0,7,128,3,128,1,128,3,0,12,0,13, - 23,46,15,1,0,24,0,60,0,12,0,6,0,3,0,1, - 0,1,128,0,0,7,192,24,96,32,48,96,24,64,24,192, - 24,255,240,192,0,192,0,192,0,224,0,96,0,112,8,56, - 48,15,192,13,23,46,15,1,0,0,96,0,240,0,192,1, - 128,1,128,3,0,6,0,0,0,7,192,24,96,32,48,96, - 24,64,24,192,24,255,240,192,0,192,0,192,0,224,0,96, - 0,112,8,56,48,15,192,13,23,46,15,1,0,3,0,7, - 128,15,128,12,192,24,96,16,32,32,16,0,0,7,192,24, - 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, - 0,224,0,96,0,112,8,56,48,15,192,13,21,42,15,1, - 0,24,48,56,112,56,112,48,96,0,0,0,0,7,192,24, - 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, - 0,224,0,96,0,112,8,56,48,15,192,7,23,23,9,0, - 0,224,224,112,48,24,12,4,0,24,120,24,24,24,24,24, - 24,24,24,24,24,24,24,126,8,23,23,9,1,0,7,7, - 14,12,24,48,32,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,252,9,23,46,9,0,0,28,0,28,0,62, - 0,119,0,99,0,193,128,128,128,0,0,24,0,120,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,126,0,10,21,42,9,0,0,193, - 128,193,128,227,192,193,128,0,0,0,0,24,0,120,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,126,0,14,23,46,16,1,0,12, - 0,62,24,3,240,3,192,30,224,48,96,0,112,0,56,7, - 152,24,120,32,60,96,28,64,12,192,12,192,12,192,12,192, - 12,192,8,224,24,96,16,112,48,56,96,15,128,16,21,42, - 18,1,0,7,8,15,144,24,224,16,0,0,0,0,0,112, - 112,177,136,54,12,56,12,56,12,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,252,63,14,23,46, - 16,1,0,28,0,28,0,14,0,6,0,3,0,1,128,0, - 128,0,0,7,192,24,112,32,56,96,24,64,28,192,12,192, - 12,192,12,192,12,192,12,224,8,96,24,112,16,56,32,15, - 192,14,23,46,16,1,0,0,112,0,112,0,224,1,192,1, - 128,3,0,2,0,0,0,7,192,24,112,32,56,96,24,64, - 28,192,12,192,12,192,12,192,12,192,12,224,8,96,24,112, - 16,56,32,15,192,14,23,46,16,1,0,3,128,3,128,7, - 192,14,192,12,96,24,48,48,16,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,14, - 8,31,144,17,224,32,0,0,0,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,24, - 48,24,48,56,112,24,48,0,0,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,11,10,20,13,1,4,6, - 0,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, - 0,6,0,14,16,32,16,1,255,7,204,24,120,32,120,96, - 120,64,252,193,220,193,140,195,140,199,12,198,12,236,8,124, - 24,120,16,120,32,207,192,128,0,15,23,46,17,1,0,28, - 0,28,0,14,0,7,0,3,0,1,128,0,128,0,0,48, - 24,240,120,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,56,24,222,15,24,15,23,46, - 17,1,0,0,112,0,112,0,224,0,192,1,128,1,0,2, - 0,0,0,48,24,240,120,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,56,24,222,15, - 24,15,23,46,17,1,0,3,128,3,128,7,192,14,224,12, - 96,24,48,16,16,0,0,48,24,240,120,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 56,24,222,15,24,15,21,42,17,1,0,24,48,28,56,24, - 48,24,48,0,0,0,0,48,24,240,120,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 56,24,222,15,24,16,31,62,16,255,248,0,28,0,28,0, - 56,0,112,0,96,0,192,0,128,0,0,126,31,28,6,28, - 4,12,12,14,12,14,8,6,24,7,24,3,16,3,48,3, - 176,1,160,1,224,1,224,0,192,0,192,0,128,1,128,1, - 128,3,0,126,0,124,0,248,0,15,32,64,17,1,248,16, - 0,240,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,240,51,24,52,28,56,12,48,14,48,6,48,6,48, - 6,48,6,48,6,48,4,48,12,56,8,60,16,55,224,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,254,0,16, - 29,58,16,255,248,6,12,14,28,14,28,6,12,0,0,0, - 0,126,31,28,6,28,4,12,12,14,12,14,8,6,24,7, - 24,3,16,3,48,3,176,1,160,1,224,1,224,0,192,0, - 192,0,128,1,128,1,128,3,0,126,0,124,0,248,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 19 - Calculated Max Values w=13 h=30 x= 2 y=11 dx=15 dy= 0 ascent=25 len=60 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent= 0 - X Font ascent =19 descent= 0 - Max Font ascent =25 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20n[640] U8G_FONT_SECTION("u8g_font_gdr20n") = { - 0,47,44,240,246,19,0,0,0,0,42,58,0,25,251,19, - 0,12,13,26,14,1,11,6,0,6,0,134,0,102,48,242, - 240,27,128,6,0,27,128,114,240,230,48,6,32,6,0,6, - 0,12,11,22,13,1,3,6,0,6,0,6,0,6,0,6, - 0,255,240,6,0,6,0,6,0,6,0,6,0,4,8,8, - 7,2,251,112,240,48,48,48,32,64,192,9,1,2,11,1, - 8,255,128,4,4,4,7,2,0,112,240,240,224,13,30,60, - 15,1,251,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,1,192,1,128,1,128,3,128,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,24,0,56, - 0,48,0,48,0,112,0,96,0,96,0,224,0,192,0,13, - 19,38,15,1,0,7,128,24,192,32,96,96,48,64,48,64, - 56,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 16,96,16,96,48,48,32,24,64,15,128,11,19,38,15,2, - 0,2,0,30,0,126,0,134,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,15,0,127,224,11,19,38,15,2,0,15,128,48, - 192,96,96,96,96,96,96,0,96,0,96,0,192,0,192,1, - 128,3,0,7,0,6,0,12,0,24,0,48,32,112,32,224, - 32,255,224,11,19,38,15,2,0,31,0,113,128,96,192,224, - 192,0,192,0,192,1,128,3,0,15,0,3,192,0,192,0, - 224,0,96,0,96,0,96,0,96,128,192,193,128,127,0,12, - 19,38,15,1,0,0,64,1,192,3,192,3,192,6,192,12, - 192,12,192,24,192,48,192,48,192,96,192,224,192,255,240,0, - 192,0,192,0,192,0,192,0,192,7,240,11,19,38,15,2, - 0,63,224,32,0,32,0,96,0,96,0,96,0,96,0,127, - 0,97,192,0,192,0,96,0,96,0,96,0,96,0,96,0, - 64,128,192,193,128,63,0,12,20,40,15,2,0,0,192,7, - 0,14,0,24,0,48,0,112,0,96,0,96,0,207,128,240, - 224,224,96,192,112,192,48,192,48,192,48,96,48,96,32,32, - 96,48,64,15,128,12,19,38,15,2,0,255,240,128,96,128, - 96,0,224,0,192,0,192,1,128,1,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,56,0,48, - 0,12,19,38,15,2,0,31,128,48,192,96,96,224,96,224, - 96,224,96,248,192,127,128,31,128,31,192,49,224,96,112,192, - 112,192,48,192,48,192,32,96,32,112,64,31,128,12,20,40, - 15,2,255,15,128,49,192,32,224,64,96,192,112,192,48,192, - 48,192,48,192,48,96,112,48,176,31,48,0,96,0,96,0, - 96,0,192,1,128,7,0,30,0,48,0,4,15,15,7,2, - 0,112,240,240,96,0,0,0,0,0,0,0,112,240,240,224 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=16 dx=27 dy= 0 ascent=26 len=80 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x=-4 y=-8 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =26 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20r[4232] U8G_FONT_SECTION("u8g_font_gdr20r") = { - 0,47,44,240,246,20,4,220,11,144,32,127,248,26,248,25, - 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, - 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, - 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, - 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, - 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, - 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, - 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, - 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, - 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, - 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, - 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, - 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, - 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, - 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, - 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, - 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, - 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, - 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, - 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, - 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, - 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, - 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, - 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, - 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, - 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, - 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, - 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, - 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, - 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, - 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, - 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, - 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, - 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, - 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, - 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, - 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, - 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, - 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, - 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, - 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, - 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, - 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, - 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, - 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, - 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, - 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, - 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, - 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, - 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, - 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, - 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, - 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, - 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, - 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, - 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, - 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, - 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, - 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, - 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, - 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, - 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, - 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, - 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, - 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, - 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, - 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, - 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, - 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, - 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, - 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, - 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, - 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, - 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, - 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, - 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, - 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, - 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, - 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, - 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, - 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, - 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, - 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, - 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, - 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, - 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, - 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, - 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, - 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, - 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, - 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, - 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, - 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, - 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, - 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, - 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, - 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, - 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, - 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, - 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, - 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, - 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, - 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, - 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, - 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, - 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, - 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, - 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, - 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, - 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, - 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, - 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, - 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, - 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, - 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, - 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, - 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, - 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, - 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, - 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, - 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, - 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, - 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, - 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, - 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, - 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, - 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, - 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, - 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, - 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, - 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, - 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, - 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, - 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, - 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, - 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, - 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, - 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, - 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, - 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, - 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, - 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, - 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, - 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, - 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, - 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, - 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, - 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, - 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, - 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, - 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, - 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, - 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, - 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, - 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, - 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, - 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, - 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, - 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, - 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, - 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, - 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, - 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, - 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, - 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, - 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, - 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, - 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, - 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, - 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, - 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, - 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, - 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, - 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, - 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, - 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, - 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, - 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, - 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, - 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, - 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, - 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, - 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, - 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, - 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, - 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, - 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, - 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, - 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, - 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, - 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, - 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, - 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, - 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, - 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, - 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, - 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, - 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=33 h=41 x= 4 y=23 dx=34 dy= 0 ascent=34 len=132 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x=-4 y=-11 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =34 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25[13042] U8G_FONT_SECTION("u8g_font_gdr25") = { - 0,59,57,236,242,25,6,209,16,163,32,255,247,34,245,31, - 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, - 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, - 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, - 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, - 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, - 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, - 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, - 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, - 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, - 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, - 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, - 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, - 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, - 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, - 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, - 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, - 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, - 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, - 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, - 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, - 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, - 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, - 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, - 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, - 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, - 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, - 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, - 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, - 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, - 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, - 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, - 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, - 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, - 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, - 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, - 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, - 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, - 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, - 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, - 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, - 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, - 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, - 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, - 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, - 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, - 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, - 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, - 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, - 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, - 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, - 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, - 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, - 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, - 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, - 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, - 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, - 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, - 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, - 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, - 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, - 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, - 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, - 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, - 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, - 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, - 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, - 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, - 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, - 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, - 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, - 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, - 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, - 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, - 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, - 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, - 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, - 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, - 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, - 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, - 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, - 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, - 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, - 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, - 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, - 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, - 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, - 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, - 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, - 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, - 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, - 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, - 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, - 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, - 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, - 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, - 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, - 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, - 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, - 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, - 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, - 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, - 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, - 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, - 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, - 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, - 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, - 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, - 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, - 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, - 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, - 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, - 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, - 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, - 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, - 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, - 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, - 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, - 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, - 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, - 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, - 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, - 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, - 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, - 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, - 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, - 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, - 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, - 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, - 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, - 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, - 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, - 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, - 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, - 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, - 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, - 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, - 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, - 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, - 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, - 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, - 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, - 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, - 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, - 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, - 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, - 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, - 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, - 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, - 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, - 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, - 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, - 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, - 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, - 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, - 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, - 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, - 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, - 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, - 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, - 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, - 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, - 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, - 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, - 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, - 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, - 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, - 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, - 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, - 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, - 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, - 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, - 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, - 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, - 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, - 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, - 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, - 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, - 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, - 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, - 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, - 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, - 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, - 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, - 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, - 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, - 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, - 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, - 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, - 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, - 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, - 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, - 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, - 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, - 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, - 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, - 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, - 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, - 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, - 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, - 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, - 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, - 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, - 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, - 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, - 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, - 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, - 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, - 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, - 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, - 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, - 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, - 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, - 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, - 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, - 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, - 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, - 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, - 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, - 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, - 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, - 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, - 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, - 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, - 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, - 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, - 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, - 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, - 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, - 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, - 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, - 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, - 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, - 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, - 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, - 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, - 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, - 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, - 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, - 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, - 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, - 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, - 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, - 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, - 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, - 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, - 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, - 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, - 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, - 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, - 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, - 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, - 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, - 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, - 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, - 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, - 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, - 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, - 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, - 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, - 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, - 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, - 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, - 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, - 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, - 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, - 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, - 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, - 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, - 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, - 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, - 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, - 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, - 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, - 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, - 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, - 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, - 192,128,63,225,0,99,255,0,192,254,0,128,56,0,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,9,0,0,5,29,29,11,3,245,112,248,248,248,112, - 0,0,96,96,96,96,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,240,240,240,192,15,25,50,19,2,255,1,128, - 1,128,1,128,1,240,7,252,31,254,57,140,113,132,113,128, - 97,128,225,128,225,128,225,128,225,128,225,128,241,128,113,128, - 121,134,61,140,63,248,31,240,3,192,1,128,1,128,1,128, - 17,25,75,19,1,255,0,252,0,3,255,0,7,15,0,14, - 7,0,12,6,0,12,2,0,28,2,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,127,224,0,255,224,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,24, - 0,128,24,1,0,24,3,0,63,223,0,127,255,0,192,255, - 0,13,13,26,19,3,5,192,24,239,184,127,240,56,224,96, - 112,96,48,96,48,96,48,120,240,63,224,111,176,192,24,128, - 8,21,24,72,19,255,0,120,7,248,252,1,248,62,1,224, - 31,3,128,15,3,128,7,135,0,7,135,0,3,206,0,1, - 206,0,1,252,0,0,248,0,0,248,0,0,112,0,0,112, - 0,15,255,192,31,255,128,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,248,0,3,254,0,3, - 41,41,9,3,248,96,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,128,0,0,0,64,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,192,15,28, - 56,19,2,0,7,224,15,248,28,120,56,24,56,8,56,0, - 60,0,31,0,31,128,63,224,99,248,224,252,224,124,224,30, - 240,30,120,14,62,14,31,14,15,220,3,248,0,248,0,60, - 32,28,32,28,48,28,60,56,63,240,7,192,12,5,10,16, - 2,22,96,48,224,112,224,112,224,112,192,96,25,25,100,29, - 2,0,0,127,0,0,3,255,224,0,7,128,240,0,14,0, - 56,0,28,31,28,0,56,127,206,0,112,225,199,0,97,192, - 131,0,99,128,3,0,195,0,1,128,199,0,1,128,199,0, - 1,128,199,0,1,128,199,0,1,128,199,0,1,128,199,128, - 1,128,99,128,3,0,99,192,67,0,113,241,135,0,56,255, - 14,0,28,60,28,0,14,0,56,0,7,128,240,0,3,255, - 224,0,0,127,0,0,8,14,14,10,1,11,28,60,70,198, - 6,30,102,198,198,206,119,0,255,255,15,18,36,19,2,0, - 2,6,6,4,12,12,12,24,24,56,56,112,112,224,241,224, - 225,192,225,192,241,224,112,240,56,112,24,56,12,24,12,12, - 6,4,2,6,17,8,24,19,1,4,255,255,128,255,255,128, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,0,11,2,4,13,1,9,127,224,255,224,13,14,28,14, - 1,14,15,128,63,224,112,96,127,48,200,152,136,136,143,8, - 138,8,137,8,201,152,92,240,112,112,63,224,15,128,13,2, - 4,20,3,23,127,248,255,248,8,9,9,14,3,15,28,62, - 103,231,231,231,230,124,56,15,18,36,16,1,3,3,128,3, - 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,0,0,0,0,0,127,252,255, - 252,11,15,30,14,1,12,15,128,31,192,49,224,96,224,64, - 224,0,192,1,192,1,128,3,0,6,0,12,0,24,32,48, - 32,127,224,255,224,11,16,32,13,1,11,31,0,63,128,99, - 192,225,192,1,192,1,128,7,0,31,128,1,192,0,224,0, - 224,0,224,0,224,193,192,127,128,30,0,8,9,9,13,4, - 20,7,15,30,28,56,48,112,96,192,20,27,81,21,1,247, - 12,1,128,252,7,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,30,7,128,31,31,128,31,251,144, - 27,243,224,25,225,128,24,0,0,24,0,0,24,0,0,28, - 0,0,28,0,0,28,0,0,30,0,0,30,0,0,24,0, - 0,20,30,90,22,1,251,3,255,240,28,63,192,48,59,128, - 112,59,128,96,59,128,224,59,128,224,59,128,224,59,128,224, - 59,128,240,59,128,112,59,128,120,59,128,62,59,128,31,251, - 128,7,251,128,0,59,128,0,59,128,0,59,128,0,59,128, - 0,59,128,0,59,128,0,59,128,0,59,128,0,59,128,0, - 59,128,0,59,128,0,59,128,0,59,128,0,127,192,1,255, - 240,3,5,5,6,1,11,96,224,224,224,192,7,9,9,9, - 1,247,24,16,56,60,62,14,12,56,224,10,15,30,13,2, - 12,6,0,62,0,254,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,255,192,9, - 14,28,11,1,11,30,0,63,0,103,0,67,128,193,128,193, - 128,193,128,193,128,225,0,115,0,126,0,60,0,255,128,255, - 128,15,18,36,19,3,0,129,0,193,128,96,192,112,96,48, - 112,56,48,28,56,30,28,15,30,15,30,30,28,28,56,56, - 56,48,112,112,224,96,192,193,128,129,0,19,24,72,23,2, - 0,12,0,192,252,1,224,28,1,128,28,3,128,28,3,0, - 28,6,0,28,14,0,28,12,0,28,24,0,28,56,0,28, - 48,0,255,224,0,0,224,0,0,192,192,1,193,192,1,130, - 192,3,2,192,7,4,192,6,8,192,12,16,192,28,31,224, - 24,63,224,48,0,192,112,3,224,20,24,72,24,2,0,12, - 0,96,252,0,192,28,0,192,28,1,128,28,3,0,28,3, - 0,28,6,0,28,14,0,28,12,0,28,24,0,28,56,0, - 255,176,0,0,97,224,0,99,240,0,196,112,1,204,112,1, - 128,96,3,0,224,7,0,192,6,1,128,12,3,32,28,6, - 16,24,15,240,48,31,240,20,25,75,23,1,0,30,0,0, - 63,0,48,103,128,96,195,128,224,3,0,192,6,1,128,31, - 129,128,3,195,0,0,231,0,0,230,0,97,204,0,63,220, - 0,15,24,0,0,48,0,0,48,96,0,96,224,0,225,96, - 0,195,96,1,130,96,3,132,96,3,12,112,6,31,240,14, - 0,96,12,0,96,24,1,240,14,29,58,18,2,245,3,128, - 7,192,7,192,7,192,3,128,0,0,0,0,3,128,3,128, - 3,128,3,128,3,128,7,0,7,0,14,0,28,0,60,0, - 56,0,112,0,112,0,224,0,224,12,224,28,224,28,224,28, - 240,56,120,112,63,224,31,128,23,34,102,24,0,0,3,0, - 0,7,128,0,7,224,0,1,240,0,0,120,0,0,60,0, - 0,14,0,0,2,0,0,0,0,0,8,0,0,56,0,0, - 60,0,0,60,0,0,108,0,0,110,0,0,110,0,0,198, - 0,0,199,0,0,199,0,1,131,0,1,131,128,1,131,128, - 3,1,128,3,255,192,3,255,192,6,0,224,6,0,224,6, - 0,224,12,0,112,12,0,112,12,0,112,24,0,56,28,0, - 120,255,1,254,23,34,102,24,0,0,0,1,128,0,3,192, - 0,7,192,0,15,0,0,30,0,0,56,0,0,96,0,0, - 192,0,0,0,0,0,8,0,0,56,0,0,60,0,0,60, - 0,0,108,0,0,110,0,0,110,0,0,198,0,0,199,0, - 0,199,0,1,131,0,1,131,128,1,131,128,3,1,128,3, - 255,192,3,255,192,6,0,224,6,0,224,6,0,224,12,0, - 112,12,0,112,12,0,112,24,0,56,28,0,120,255,1,254, - 23,33,99,24,0,0,0,56,0,0,124,0,0,254,0,1, - 231,0,1,131,128,3,1,192,6,0,128,0,0,0,0,8, - 0,0,56,0,0,60,0,0,60,0,0,108,0,0,110,0, - 0,110,0,0,198,0,0,199,0,0,199,0,1,131,0,1, - 131,128,1,131,128,3,1,128,3,255,192,3,255,192,6,0, - 224,6,0,224,6,0,224,12,0,112,12,0,112,12,0,112, - 24,0,56,28,0,120,255,1,254,23,32,96,24,0,0,0, - 224,64,1,248,192,3,253,128,6,31,0,4,6,0,0,0, - 0,0,0,0,0,8,0,0,56,0,0,60,0,0,60,0, - 0,108,0,0,110,0,0,110,0,0,198,0,0,199,0,0, - 199,0,1,131,0,1,131,128,1,131,128,3,1,128,3,255, - 192,3,255,192,6,0,224,6,0,224,6,0,224,12,0,112, - 12,0,112,12,0,112,24,0,56,28,0,120,255,1,254,23, - 31,93,24,0,0,3,129,192,3,129,192,3,129,192,3,1, - 128,3,1,128,0,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,23,34,102,24,0,0,0,62,0,0,126,0,0,199, - 0,0,195,0,0,195,0,0,230,0,0,252,0,0,48,0, - 0,0,0,0,8,0,0,56,0,0,60,0,0,60,0,0, - 108,0,0,110,0,0,110,0,0,198,0,0,199,0,0,199, - 0,1,131,0,1,131,128,1,131,128,3,1,128,3,255,192, - 3,255,192,6,0,224,6,0,224,6,0,224,12,0,112,12, - 0,112,12,0,112,24,0,56,28,0,120,255,1,254,30,25, - 100,31,0,0,1,255,255,240,0,63,255,240,0,25,192,48, - 0,25,192,16,0,57,192,16,0,49,192,0,0,113,192,0, - 0,97,192,0,0,97,192,0,0,225,192,0,0,255,255,192, - 1,255,255,192,1,193,192,128,1,129,192,0,3,129,192,0, - 3,1,192,0,7,1,192,0,7,1,192,0,6,1,192,0, - 14,1,192,0,12,1,192,4,28,1,192,12,28,1,192,24, - 60,3,255,248,255,15,255,248,18,34,102,21,1,247,0,126, - 0,3,255,192,7,7,192,14,1,128,28,0,0,56,0,0, - 48,0,0,112,0,0,112,0,0,96,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,240,0,0,112,0,0,120,0,0,56,0,64,60,0,192, - 30,3,128,15,254,0,7,252,0,1,240,0,0,64,0,0, - 96,0,0,240,0,0,120,0,0,56,0,0,48,0,0,224, - 0,3,128,0,18,34,102,20,1,0,12,0,0,62,0,0, - 63,0,0,15,128,0,3,192,0,0,224,0,0,112,0,0, - 16,0,0,0,0,255,255,0,63,255,0,28,3,0,28,1, - 0,28,1,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,31,252,0,31,252,0,28,8,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,64,28,0,192,28,1,128,63,255,128,255,255,128, - 18,34,102,20,1,0,0,12,0,0,30,0,0,62,0,0, - 120,0,0,240,0,1,192,0,3,0,0,6,0,0,0,0, - 0,255,255,0,63,255,0,28,3,0,28,1,0,28,1,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,31, - 252,0,31,252,0,28,8,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,64, - 28,0,192,28,1,128,63,255,128,255,255,128,18,33,99,20, - 1,0,1,192,0,3,224,0,7,240,0,7,56,0,12,28, - 0,24,14,0,16,2,0,0,0,0,255,255,0,63,255,0, - 28,3,0,28,1,0,28,1,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,31,252,0,31,252,0,28,8, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,64,28,0,192,28,1,128,63, - 255,128,255,255,128,18,31,93,20,1,0,28,14,0,28,14, - 0,28,14,0,28,14,0,24,12,0,0,0,0,255,255,0, - 63,255,0,28,3,0,28,1,0,28,1,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,31,252,0,31,252, - 0,28,8,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,64,28,0,192,28, - 1,128,63,255,128,255,255,128,11,34,68,12,255,0,96,0, - 248,0,252,0,62,0,15,0,3,128,1,192,0,64,0,0, - 63,224,15,128,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, - 63,224,11,34,68,12,1,0,0,192,1,224,3,224,7,128, - 15,0,28,0,48,0,96,0,0,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,12,33,66,12, - 0,0,14,0,31,0,63,128,57,192,96,224,192,112,128,32, - 0,0,127,192,31,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,127,192,12,31,62,12,0,0,224,112,224,112,224,112, - 224,112,192,96,0,0,127,192,31,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,31,0,127,192,21,25,75,24,1,0,31,248, - 0,255,255,0,28,15,128,28,3,192,28,1,224,28,0,240, - 28,0,112,28,0,112,28,0,120,28,0,56,28,0,56,255, - 240,56,255,224,56,28,0,56,28,0,56,28,0,56,28,0, - 112,28,0,112,28,0,112,28,0,224,28,1,224,28,3,192, - 28,15,128,63,254,0,255,248,0,24,32,96,26,1,0,0, - 240,64,1,248,96,3,252,192,2,31,128,6,6,0,0,0, - 0,0,0,0,248,1,255,60,0,124,30,0,56,30,0,56, - 31,0,56,31,128,56,29,128,56,29,192,56,28,224,56,28, - 96,56,28,112,56,28,56,56,28,28,56,28,28,56,28,14, - 56,28,7,56,28,7,56,28,3,184,28,3,248,28,1,248, - 28,0,248,28,0,248,28,0,120,62,0,56,255,128,24,21, - 34,102,24,1,0,3,0,0,7,128,0,15,192,0,3,224, - 0,0,240,0,0,56,0,0,28,0,0,4,0,0,0,0, - 0,252,0,3,255,0,7,7,128,12,3,192,24,1,224,56, - 0,224,112,0,112,112,0,112,96,0,120,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,224,0,56,224,0,56, - 240,0,48,112,0,112,112,0,96,120,0,224,60,0,192,30, - 1,128,15,7,0,7,254,0,1,248,0,21,34,102,24,1, - 0,0,3,0,0,7,128,0,15,192,0,31,0,0,60,0, - 0,112,0,0,224,0,0,128,0,0,0,0,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,96,120,0,224,60,0,192,30,1,128,15,7, - 0,7,254,0,1,248,0,21,33,99,24,1,0,0,120,0, - 0,252,0,0,252,0,1,206,0,3,135,0,6,1,128,4, - 0,128,0,0,0,0,252,0,3,255,0,7,7,128,12,3, - 192,24,1,224,56,0,224,112,0,112,112,0,112,96,0,120, - 224,0,56,224,0,56,224,0,56,224,0,56,224,0,56,224, - 0,56,224,0,56,240,0,48,112,0,112,112,0,96,120,0, - 224,60,0,192,30,1,128,15,7,0,7,254,0,1,248,0, - 21,32,96,24,1,0,1,224,128,3,240,192,7,249,128,6, - 63,0,12,12,0,0,0,0,0,0,0,0,252,0,3,255, - 0,7,7,128,12,3,192,24,1,224,56,0,224,112,0,112, - 112,0,112,96,0,120,224,0,56,224,0,56,224,0,56,224, - 0,56,224,0,56,224,0,56,224,0,56,240,0,48,112,0, - 112,112,0,96,120,0,224,60,0,192,30,1,128,15,7,0, - 7,254,0,1,248,0,21,31,93,24,1,0,3,1,128,7, - 3,128,7,3,128,7,3,128,2,1,0,0,0,0,0,252, - 0,3,255,0,7,7,128,12,3,192,24,1,224,56,0,224, - 112,0,112,112,0,112,96,0,120,224,0,56,224,0,56,224, - 0,56,224,0,56,224,0,56,224,0,56,224,0,56,240,0, - 48,112,0,112,112,0,96,120,0,224,60,0,192,30,1,128, - 15,7,0,7,254,0,1,248,0,13,12,24,16,2,5,192, - 48,224,120,112,224,57,192,31,128,15,0,15,0,31,128,57, - 192,112,224,224,112,192,56,21,26,78,24,1,255,0,252,56, - 3,255,112,7,7,224,12,3,224,24,1,224,56,3,240,48, - 7,240,112,7,112,96,14,120,224,28,56,224,28,56,224,56, - 56,224,112,56,224,112,56,224,224,56,225,192,56,243,128,48, - 115,128,112,119,0,96,126,0,224,60,0,192,62,1,128,63, - 7,0,119,254,0,225,248,0,128,0,0,24,34,102,26,1, - 0,1,128,0,3,192,0,3,224,0,0,240,0,0,120,0, - 0,28,0,0,6,0,0,3,0,0,0,0,255,129,255,62, - 0,124,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,112,14,0,112,14,0,112,15,0,224,7,193, - 192,3,255,128,0,126,0,24,34,102,26,1,0,0,1,128, - 0,3,224,0,7,224,0,15,128,0,30,0,0,56,0,0, - 112,0,0,64,0,0,0,0,255,129,255,62,0,124,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 112,14,0,112,14,0,112,15,0,224,7,193,192,3,255,128, - 0,126,0,24,33,99,26,1,0,0,28,0,0,62,0,0, - 127,0,0,231,0,1,193,128,3,128,192,2,0,64,0,0, - 0,255,129,255,62,0,124,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,112,14,0,112,14,0,112, - 15,0,224,7,193,192,3,255,128,0,126,0,24,31,93,26, - 1,0,1,128,192,3,129,192,3,129,192,3,129,192,1,0, - 128,0,0,0,255,129,255,62,0,124,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,14,0,112, - 14,0,112,15,0,224,7,193,192,3,255,128,0,126,0,23, - 34,102,24,0,0,0,1,128,0,3,192,0,7,192,0,15, - 0,0,30,0,0,56,0,0,96,0,0,192,0,0,0,0, - 248,1,254,60,0,120,30,0,96,14,0,224,7,0,192,7, - 129,192,3,129,128,3,195,128,1,195,0,0,231,0,0,238, - 0,0,126,0,0,124,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,124,0,1,255,0,18,25,75,21,1, - 0,255,128,0,60,0,0,28,0,0,28,0,0,31,248,0, - 31,254,0,28,31,0,28,7,128,28,3,128,28,3,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, - 128,28,7,128,28,15,0,29,254,0,28,248,0,28,0,0, - 28,0,0,28,0,0,62,0,0,255,128,0,20,30,90,23, - 1,0,0,124,0,1,255,0,3,15,128,6,3,128,14,3, - 192,12,1,192,12,1,192,28,1,192,28,1,192,28,3,128, - 28,7,128,28,31,0,28,120,0,28,240,0,28,224,0,28, - 224,0,28,240,0,28,124,0,28,63,0,28,31,192,28,7, - 224,28,1,224,28,0,240,28,0,112,28,128,112,28,128,112, - 28,192,96,28,224,224,60,255,192,252,63,0,16,29,58,18, - 2,0,56,0,60,0,28,0,14,0,14,0,7,0,3,128, - 1,128,0,192,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, - 2,0,0,56,0,120,0,112,0,224,0,192,1,192,3,128, - 3,0,6,0,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, - 2,0,3,128,7,128,7,192,15,224,30,224,28,112,56,56, - 48,24,96,12,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,27,54,18, - 2,0,14,4,31,12,63,152,99,240,64,224,0,0,0,0, - 0,0,0,0,3,224,31,240,56,120,112,56,240,56,192,56, - 0,56,0,120,7,248,28,56,112,56,96,56,224,56,224,56, - 224,120,241,185,127,63,60,24,16,27,54,18,2,0,48,24, - 48,24,112,56,112,56,48,24,0,0,0,0,0,0,0,0, - 3,224,31,240,56,120,112,56,240,56,192,56,0,56,0,120, - 7,248,28,56,112,56,96,56,224,56,224,56,224,120,241,185, - 127,63,60,24,16,28,56,18,2,0,3,192,7,224,12,96, - 12,96,24,96,12,96,15,192,7,128,0,0,0,0,3,224, - 31,240,56,120,112,56,240,56,192,56,0,56,0,120,7,248, - 28,56,112,56,96,56,224,56,224,56,224,120,241,185,127,63, - 60,24,24,18,54,28,2,0,3,225,240,15,243,252,56,119, - 30,112,60,14,224,60,7,240,56,7,192,56,7,1,255,255, - 15,255,254,30,56,0,120,56,0,112,56,0,224,56,0,224, - 60,2,224,92,3,241,159,14,127,15,248,60,3,224,15,27, - 54,17,2,247,1,248,7,254,28,28,56,12,48,4,112,0, - 96,0,224,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,8,120,24,63,240,31,224,15,128,2,0,2,0,3,128, - 7,192,1,192,1,128,7,0,28,0,14,29,58,18,2,0, - 28,0,60,0,30,0,14,0,7,0,3,128,1,128,0,192, - 0,64,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, - 0,56,0,60,0,120,0,112,0,224,0,192,1,128,1,0, - 3,0,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, - 1,128,3,192,7,224,7,224,14,112,28,56,24,24,48,12, - 32,4,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,27,54,18,2,0, - 24,12,56,28,56,28,56,28,48,24,0,0,0,0,0,0, - 0,0,3,192,15,240,28,120,48,56,112,28,96,28,224,28, - 255,252,255,248,224,0,224,0,224,0,240,0,112,4,120,12, - 60,56,31,240,7,192,10,29,58,11,0,0,224,0,240,0, - 120,0,56,0,28,0,12,0,14,0,6,0,3,0,0,0, - 0,0,6,0,126,0,30,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,30,0,127,192,10,29,58,11,1,0,1,192,3,192, - 3,128,7,128,7,0,14,0,12,0,24,0,16,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,13,29,58,11,255,0,7,0,7,128, - 15,128,31,192,29,192,56,224,112,112,96,48,192,24,0,0, - 0,0,3,0,63,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,15,0,63,224,12,27,54,11,0,0,192,96,224,112, - 224,112,192,96,192,96,0,0,0,0,0,0,0,0,6,0, - 126,0,30,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,30,0, - 127,192,16,28,56,20,2,0,6,0,63,6,7,159,1,248, - 3,224,15,112,28,56,0,28,0,28,0,14,3,206,15,254, - 28,127,48,31,112,15,96,15,224,7,224,7,224,7,224,7, - 224,6,224,6,240,14,112,12,120,28,60,56,31,240,7,192, - 21,27,81,22,1,0,1,192,128,7,225,0,7,243,0,12, - 126,0,8,28,0,0,0,0,0,0,0,0,0,0,0,0, - 0,12,15,0,252,63,128,60,99,192,29,129,192,29,1,192, - 30,1,192,30,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,62,3,192,255,143,248,16,29,58,20,2,0,28,0,30, - 0,14,0,7,0,3,128,3,128,1,192,0,192,0,96,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,29,58,20,2,0,0,28,0, - 60,0,56,0,112,0,112,0,224,0,192,1,128,3,0,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,29,58,20,2,0,1,192,3, - 192,3,224,7,240,7,112,14,56,28,28,24,12,48,6,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,27,54,20,2,0,7,2,15, - 134,31,204,49,248,32,112,0,0,0,0,0,0,0,0,3, - 224,15,248,28,60,48,30,112,14,96,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,6,112,14,120,12,62,56,31, - 240,7,192,16,27,54,20,2,0,24,12,24,12,28,14,24, - 12,24,12,0,0,0,0,0,0,0,0,3,224,15,248,28, - 60,48,30,112,14,96,15,224,7,224,7,224,7,224,7,224, - 7,224,7,240,6,112,14,120,12,62,56,31,240,7,192,14, - 14,28,16,1,4,1,128,3,128,3,128,3,0,0,0,0, - 0,127,252,255,252,0,0,0,0,1,128,3,128,3,128,3, - 0,16,20,40,20,2,255,0,1,3,227,15,254,28,60,48, - 30,112,30,96,63,224,103,224,199,224,135,225,135,227,7,230, - 7,252,6,120,14,120,12,60,56,127,240,199,192,128,0,21, - 29,87,21,0,0,7,0,0,7,128,0,3,192,0,1,192, - 0,0,224,0,0,96,0,0,48,0,0,48,0,0,24,0, - 0,0,0,0,0,0,12,0,192,252,15,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,28,1,192,28,3,192, - 28,7,192,30,29,200,15,241,240,7,192,192,21,29,87,21, - 0,0,0,7,0,0,15,128,0,14,0,0,30,0,0,28, - 0,0,56,0,0,48,0,0,96,0,0,64,0,0,0,0, - 0,0,0,12,0,192,252,15,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,28,3,192,28,7,192, - 30,29,200,15,241,240,7,192,192,21,29,87,21,0,0,0, - 112,0,0,120,0,0,248,0,1,252,0,1,222,0,3,142, - 0,7,7,0,6,3,0,12,1,128,0,0,0,0,0,0, - 12,0,192,252,15,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,3,192,28,7,192,30,29,200, - 15,241,240,7,192,192,21,27,81,21,0,0,6,3,0,7, - 3,128,7,3,128,6,3,0,6,3,0,0,0,0,0,0, - 0,0,0,0,0,0,0,12,0,192,252,15,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, - 192,28,7,192,30,29,200,15,241,240,7,192,192,20,38,114, - 20,255,247,0,3,128,0,7,128,0,7,0,0,14,0,0, - 12,0,0,28,0,0,56,0,0,48,0,0,96,0,0,0, - 0,0,0,0,127,131,240,30,0,224,14,0,192,14,0,192, - 7,1,128,7,1,128,7,3,0,3,131,0,3,131,0,1, - 198,0,1,198,0,1,198,0,0,236,0,0,236,0,0,120, - 0,0,120,0,0,120,0,0,48,0,0,48,0,0,96,0, - 0,96,0,0,224,0,1,192,0,67,128,0,127,0,0,254, - 0,0,124,0,0,18,39,117,21,1,247,12,0,0,252,0, - 0,60,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 60,0,28,255,0,29,143,0,31,7,128,30,3,128,28,3, - 192,28,1,192,28,1,192,28,1,192,28,1,192,28,1,192, - 28,1,128,28,1,128,28,3,128,30,3,0,31,134,0,31, - 252,0,28,240,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,62,0,0,255,128,0, - 20,36,108,20,255,247,3,1,128,3,1,128,7,3,128,7, - 3,128,3,1,128,0,0,0,0,0,0,0,0,0,0,0, - 0,127,131,240,30,0,224,14,0,192,14,0,192,7,1,128, - 7,1,128,7,3,0,3,131,0,3,131,0,1,198,0,1, - 198,0,1,198,0,0,236,0,0,236,0,0,120,0,0,120, - 0,0,120,0,0,48,0,0,48,0,0,96,0,0,96,0, - 0,224,0,1,192,0,67,128,0,127,0,0,254,0,0,124, - 0,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=38 x= 3 y=14 dx=19 dy= 0 ascent=31 len=114 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25n[835] U8G_FONT_SECTION("u8g_font_gdr25n") = { - 0,59,57,236,242,24,0,0,0,0,42,58,0,31,249,24, - 0,16,16,32,18,1,14,1,128,1,128,1,128,97,132,113, - 142,121,159,31,248,7,192,3,192,31,248,121,158,241,142,33, - 134,1,128,1,128,1,128,15,14,28,16,1,4,3,128,3, - 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,6,10,10,9,2,250,60, - 252,60,28,28,24,24,48,32,64,11,2,4,13,1,9,127, - 224,255,224,5,5,5,9,2,255,112,248,248,248,112,17,38, - 114,19,1,249,0,1,128,0,7,0,0,7,0,0,7,0, - 0,14,0,0,14,0,0,14,0,0,28,0,0,28,0,0, - 56,0,0,56,0,0,56,0,0,112,0,0,112,0,0,112, - 0,0,224,0,0,224,0,1,192,0,1,192,0,1,192,0, - 3,128,0,3,128,0,3,128,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,28,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,192,0,0,17,24,72,19,1,0,3,224,0,15, - 248,0,28,60,0,56,30,0,48,14,0,112,7,0,96,7, - 0,96,7,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,3,0,112, - 7,0,112,7,0,120,6,0,60,14,0,30,28,0,15,248, - 0,7,224,0,14,24,48,19,3,0,1,128,7,128,63,128, - 255,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,15,224,127,252,14,24,48,19,2,0, - 3,224,15,248,24,120,48,60,112,28,96,28,224,28,0,28, - 0,24,0,56,0,48,0,112,0,224,1,192,1,128,3,128, - 7,0,14,0,28,0,24,4,48,4,112,12,255,252,255,252, - 15,24,48,19,1,0,3,224,15,248,28,120,56,60,112,28, - 112,28,0,28,0,24,0,48,0,96,3,224,3,248,0,60, - 0,28,0,14,0,14,0,14,0,14,0,14,0,28,64,28, - 240,120,63,240,15,192,16,24,48,19,1,0,0,24,0,120, - 0,120,0,248,1,248,1,184,3,56,7,56,6,56,12,56, - 28,56,24,56,48,56,112,56,96,56,255,255,255,254,0,56, - 0,56,0,56,0,56,0,56,0,124,3,255,15,24,48,19, - 1,0,0,4,31,252,31,248,24,0,24,0,24,0,48,0, - 48,0,48,0,63,224,63,248,48,124,64,28,0,30,0,14, - 0,14,0,14,0,14,0,14,0,28,64,28,240,120,63,240, - 15,192,15,24,48,19,2,0,0,56,0,240,3,192,7,0, - 14,0,28,0,56,0,112,0,112,0,99,224,239,248,248,60, - 240,28,224,30,224,14,224,14,224,14,224,14,112,14,112,12, - 56,28,60,56,31,240,7,192,15,23,46,19,2,0,127,254, - 255,254,192,12,192,12,128,28,0,24,0,56,0,48,0,112, - 0,96,0,96,0,224,0,192,1,192,1,128,3,128,3,0, - 7,0,7,0,14,0,14,0,28,0,56,0,15,24,48,19, - 2,0,15,192,63,240,120,120,112,60,240,28,224,28,224,28, - 240,24,120,48,62,96,31,192,7,240,24,120,48,60,112,30, - 96,14,224,14,224,14,224,14,224,12,112,28,124,56,63,240, - 15,192,15,25,50,19,2,255,7,192,15,240,56,120,48,60, - 112,28,96,28,224,14,224,14,224,14,224,14,240,14,112,30, - 120,62,63,238,15,140,0,28,0,28,0,24,0,56,0,112, - 0,224,1,192,7,128,30,0,48,0,5,19,19,9,2,255, - 120,248,248,248,96,0,0,0,0,0,0,0,0,0,112,248, - 248,248,112}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=33 h=41 x= 3 y=20 dx=34 dy= 0 ascent=33 len=132 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =33 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25r[6239] U8G_FONT_SECTION("u8g_font_gdr25r") = { - 0,59,57,236,242,25,6,209,16,163,32,127,247,33,247,31, - 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, - 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, - 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, - 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, - 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, - 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, - 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, - 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, - 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, - 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, - 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, - 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, - 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, - 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, - 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, - 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, - 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, - 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, - 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, - 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, - 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, - 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, - 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, - 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, - 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, - 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, - 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, - 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, - 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, - 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, - 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, - 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, - 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, - 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, - 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, - 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, - 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, - 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, - 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, - 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, - 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, - 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, - 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, - 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, - 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, - 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, - 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, - 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, - 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, - 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, - 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, - 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, - 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, - 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, - 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, - 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, - 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, - 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, - 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, - 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, - 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, - 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, - 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, - 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, - 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, - 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, - 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, - 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, - 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, - 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, - 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, - 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, - 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, - 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, - 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, - 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, - 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, - 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, - 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, - 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, - 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, - 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, - 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, - 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, - 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, - 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, - 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, - 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, - 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, - 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, - 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, - 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, - 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, - 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, - 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, - 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, - 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, - 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, - 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, - 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, - 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, - 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, - 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, - 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, - 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, - 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, - 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, - 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, - 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, - 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, - 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, - 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, - 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, - 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, - 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, - 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, - 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, - 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, - 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, - 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, - 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, - 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, - 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, - 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, - 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, - 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, - 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, - 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, - 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, - 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, - 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, - 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, - 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, - 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, - 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, - 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, - 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, - 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, - 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, - 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, - 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, - 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, - 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, - 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, - 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, - 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, - 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, - 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, - 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, - 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, - 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, - 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, - 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, - 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, - 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, - 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, - 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, - 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, - 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, - 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, - 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, - 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, - 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, - 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, - 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, - 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, - 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, - 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, - 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, - 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, - 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, - 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, - 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, - 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, - 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, - 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, - 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, - 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, - 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, - 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, - 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, - 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, - 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, - 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, - 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, - 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, - 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, - 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, - 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, - 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, - 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, - 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, - 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, - 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, - 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, - 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, - 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, - 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, - 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, - 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, - 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, - 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, - 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, - 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, - 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, - 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, - 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, - 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, - 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, - 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, - 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, - 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, - 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, - 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, - 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, - 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, - 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, - 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, - 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, - 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, - 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, - 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, - 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, - 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, - 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, - 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, - 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, - 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, - 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, - 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, - 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, - 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, - 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, - 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, - 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, - 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, - 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, - 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, - 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, - 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, - 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, - 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, - 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, - 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, - 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, - 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, - 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, - 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, - 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, - 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, - 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, - 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, - 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, - 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, - 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, - 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, - 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, - 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, - 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, - 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, - 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, - 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, - 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, - 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, - 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, - 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, - 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, - 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, - 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, - 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, - 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, - 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, - 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, - 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, - 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, - 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, - 192,128,63,225,0,99,255,0,192,254,0,128,56,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=40 h=49 x= 5 y=28 dx=41 dy= 0 ascent=42 len=195 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x=-5 y=-13 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =42 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30[18369] U8G_FONT_SECTION("u8g_font_gdr30") = { - 0,71,68,232,239,30,9,231,23,124,32,255,245,42,243,38, - 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, - 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, - 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, - 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, - 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, - 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, - 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, - 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, - 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, - 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, - 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, - 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, - 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, - 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, - 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, - 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, - 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, - 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, - 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, - 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, - 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, - 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, - 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, - 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, - 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, - 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, - 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, - 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, - 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, - 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, - 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, - 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, - 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, - 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, - 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, - 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, - 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, - 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, - 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, - 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, - 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, - 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, - 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, - 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, - 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, - 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, - 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, - 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, - 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, - 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, - 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, - 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, - 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, - 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, - 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, - 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, - 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, - 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, - 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, - 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, - 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, - 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, - 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, - 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, - 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, - 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, - 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, - 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, - 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, - 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, - 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, - 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, - 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, - 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, - 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, - 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, - 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, - 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, - 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, - 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, - 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, - 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, - 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, - 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, - 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, - 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, - 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, - 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, - 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, - 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, - 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, - 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, - 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, - 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, - 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, - 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, - 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, - 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, - 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, - 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, - 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, - 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, - 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, - 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, - 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, - 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, - 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, - 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, - 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, - 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, - 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, - 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, - 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, - 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, - 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, - 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, - 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, - 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, - 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, - 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, - 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, - 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, - 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, - 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, - 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, - 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, - 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, - 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, - 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, - 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, - 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, - 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, - 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, - 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, - 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, - 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, - 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, - 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, - 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, - 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, - 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, - 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, - 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, - 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, - 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, - 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, - 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, - 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, - 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, - 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, - 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, - 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, - 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, - 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, - 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, - 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, - 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, - 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, - 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, - 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, - 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, - 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, - 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, - 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, - 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, - 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, - 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, - 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, - 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, - 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, - 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, - 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, - 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, - 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, - 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, - 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, - 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, - 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, - 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, - 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, - 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, - 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, - 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, - 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, - 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, - 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, - 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, - 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, - 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, - 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, - 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, - 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, - 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, - 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, - 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, - 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, - 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, - 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, - 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, - 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, - 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, - 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, - 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, - 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, - 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, - 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, - 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, - 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, - 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, - 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, - 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, - 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, - 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, - 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, - 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, - 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, - 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, - 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, - 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, - 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, - 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, - 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, - 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, - 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, - 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, - 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, - 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, - 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, - 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, - 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, - 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, - 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, - 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, - 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, - 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, - 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, - 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, - 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, - 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, - 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, - 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, - 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, - 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, - 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, - 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, - 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, - 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, - 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, - 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, - 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, - 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, - 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, - 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, - 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, - 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, - 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, - 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, - 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, - 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, - 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, - 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, - 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, - 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, - 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, - 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, - 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, - 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, - 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, - 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, - 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, - 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, - 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, - 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, - 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, - 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, - 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, - 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, - 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, - 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, - 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, - 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, - 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, - 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, - 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, - 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, - 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, - 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, - 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, - 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, - 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, - 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, - 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, - 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, - 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, - 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, - 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, - 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, - 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, - 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, - 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, - 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, - 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, - 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, - 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, - 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, - 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, - 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, - 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, - 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, - 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, - 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, - 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, - 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, - 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, - 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, - 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, - 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, - 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, - 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, - 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, - 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, - 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, - 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, - 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, - 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, - 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, - 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, - 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, - 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, - 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, - 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, - 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, - 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, - 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, - 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, - 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, - 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, - 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, - 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, - 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, - 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, - 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, - 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, - 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, - 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, - 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, - 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, - 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, - 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, - 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, - 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, - 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, - 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, - 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, - 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, - 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, - 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, - 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, - 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, - 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, - 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, - 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, - 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, - 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, - 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, - 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, - 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, - 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, - 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, - 255,224,96,127,192,64,31,128,192,15,0,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,11, - 0,0,6,35,35,13,3,243,56,124,252,252,252,248,112,0, - 16,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 120,120,120,120,120,124,124,124,124,120,96,18,30,90,23,2, - 255,0,96,0,0,96,0,0,96,0,0,96,0,0,255,0, - 3,255,128,15,255,192,30,99,128,60,97,128,56,97,0,120, - 96,0,112,96,0,240,96,0,240,96,0,240,96,0,240,96, - 0,240,96,0,240,96,0,248,96,0,120,96,0,124,96,192, - 62,97,128,63,231,128,31,255,0,15,252,0,3,248,0,0, - 96,0,0,96,0,0,96,0,0,96,0,19,29,87,23,2, - 0,0,127,0,1,255,224,3,131,224,7,1,192,6,0,192, - 14,0,192,14,0,192,30,0,64,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,255,248,0,255,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 28,0,0,28,0,32,28,0,32,24,0,96,56,0,224,63, - 255,224,127,255,224,192,255,224,15,15,30,23,4,7,128,2, - 192,6,103,204,63,248,56,56,112,28,96,12,96,12,96,12, - 96,12,48,24,56,56,127,252,231,206,192,6,25,28,112,23, - 254,0,126,0,255,128,254,0,63,128,31,0,30,0,15,128, - 60,0,7,192,120,0,3,192,112,0,3,224,240,0,1,224, - 224,0,0,241,224,0,0,241,192,0,0,123,192,0,0,127, - 128,0,0,63,0,0,0,63,0,0,0,30,0,0,0,30, - 0,0,15,255,252,0,15,255,252,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,127,128,0,1,255, - 224,0,4,49,49,11,4,246,112,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,224,0,0, - 0,0,0,112,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,224,19,34,102,24,2,0,1, - 248,0,7,254,0,30,31,0,60,7,0,60,6,0,60,0, - 0,62,0,0,63,0,0,31,128,0,31,224,0,31,248,0, - 63,252,0,121,255,0,240,127,128,240,63,192,240,15,192,240, - 7,224,248,3,224,124,1,224,126,1,224,63,129,192,31,225, - 192,7,251,128,3,255,0,0,255,0,0,63,128,0,15,128, - 16,7,128,16,7,128,24,7,128,28,7,0,30,15,0,31, - 254,0,3,240,0,15,5,10,19,2,27,112,14,240,30,240, - 30,240,30,224,28,30,30,120,34,2,0,0,31,224,0,0, - 255,252,0,1,224,30,0,7,128,7,128,14,0,1,192,28, - 3,240,224,24,15,252,96,48,60,60,48,112,112,8,56,96, - 224,0,24,97,224,0,24,193,224,0,12,195,192,0,12,195, - 192,0,12,195,192,0,12,195,192,0,12,195,192,0,12,195, - 192,0,12,195,224,0,12,97,224,0,24,97,240,8,24,112, - 248,12,56,48,124,48,48,24,63,224,96,28,15,128,224,14, - 0,1,192,7,128,7,128,1,224,30,0,0,255,252,0,0, - 31,224,0,11,15,30,12,1,14,15,0,31,0,51,128,97, - 128,97,128,3,128,29,128,97,128,193,128,193,128,239,128,253, - 224,121,128,255,192,255,192,18,21,63,23,2,0,0,128,64, - 1,128,192,3,1,128,7,3,0,14,7,0,14,14,0,28, - 30,0,60,60,0,120,60,0,240,120,0,240,120,0,248,120, - 0,120,60,0,60,60,0,28,30,0,14,14,0,14,7,0, - 7,3,0,3,1,128,1,128,192,0,128,64,20,10,30,23, - 1,4,127,255,240,255,255,240,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,96, - 14,2,4,16,1,11,127,252,255,248,15,17,34,17,1,17, - 7,192,31,240,56,56,96,12,79,132,196,70,132,66,132,194, - 135,130,133,130,132,130,196,198,68,100,106,60,56,56,31,240, - 7,192,16,2,4,24,4,28,127,255,255,254,11,11,22,17, - 3,18,15,0,63,192,113,224,96,224,224,224,224,224,224,224, - 224,192,241,128,127,0,62,0,17,22,66,20,1,3,0,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,0,0,0,0,0,0,0,0,0,127,255,128,255,255,128, - 13,17,34,17,2,15,7,192,31,240,112,248,96,120,224,120, - 0,120,0,112,0,224,1,224,3,192,7,128,15,0,30,0, - 60,8,120,24,255,248,255,248,14,18,36,16,1,14,15,128, - 63,224,113,240,224,240,192,240,0,240,1,224,7,128,15,224, - 1,240,0,120,0,60,0,60,0,60,128,120,224,248,63,224, - 15,128,10,10,20,15,5,25,7,128,7,192,15,0,15,0, - 30,0,60,0,56,0,112,0,96,0,192,0,25,33,132,26, - 1,245,6,0,24,0,254,0,248,0,126,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,31,0, - 248,0,31,1,248,0,31,131,248,0,31,255,121,0,27,254, - 127,128,25,252,126,0,24,240,56,0,24,0,0,0,24,0, - 0,0,24,0,0,0,28,0,0,0,28,0,0,0,28,0, - 0,0,30,0,0,0,30,0,0,0,31,0,0,0,31,0, - 0,0,24,0,0,0,23,36,108,26,1,250,1,255,254,15, - 255,254,31,7,252,60,7,112,120,7,112,120,7,112,240,7, - 112,240,7,112,240,7,112,240,7,112,240,7,112,248,7,112, - 120,7,112,124,7,112,62,7,112,31,135,112,15,255,112,1, - 255,112,0,7,112,0,7,112,0,7,112,0,7,112,0,7, - 112,0,7,112,0,7,112,0,7,112,0,7,112,0,7,112, - 0,7,112,0,7,112,0,7,112,0,7,112,0,7,112,0, - 7,112,0,31,248,0,63,254,4,5,5,7,2,14,112,240, - 240,240,224,8,10,10,11,2,246,24,56,48,62,127,15,15, - 30,120,224,13,17,34,16,2,15,3,128,31,128,255,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,15,192,127,248,12,15,30,14,1, - 14,15,128,63,192,49,224,96,96,192,112,192,48,192,48,192, - 48,224,48,224,96,120,192,63,128,31,0,255,240,255,240,18, - 21,63,23,3,0,64,64,0,224,96,0,96,48,0,48,24, - 0,56,28,0,28,14,0,14,15,0,15,7,128,7,135,128, - 7,195,192,3,195,192,7,195,192,7,135,128,15,7,128,30, - 15,0,28,14,0,56,28,0,48,56,0,112,48,0,96,96, - 0,192,64,0,24,29,87,28,2,0,4,0,4,60,0,14, - 204,0,24,12,0,56,12,0,48,12,0,112,12,0,224,12, - 0,192,12,1,192,12,3,128,12,3,0,12,7,0,12,6, - 0,127,142,0,0,28,0,0,24,4,0,56,28,0,112,28, - 0,96,44,0,224,108,1,192,76,1,192,140,3,129,12,3, - 3,12,7,3,255,14,7,254,12,0,12,28,0,12,56,0, - 127,24,29,87,28,2,0,4,0,6,60,0,14,204,0,28, - 12,0,24,12,0,56,12,0,112,12,0,112,12,0,224,12, - 0,192,12,1,192,12,3,128,12,3,0,12,7,0,127,142, - 0,0,14,0,0,28,60,0,24,255,0,57,199,0,115,131, - 0,99,3,0,224,2,1,192,4,1,128,8,3,128,16,7, - 0,32,7,0,65,14,0,129,12,1,255,28,1,255,25,29, - 116,28,1,0,15,128,3,0,31,192,7,0,49,192,14,0, - 112,192,12,0,0,192,28,0,1,128,24,0,15,0,56,0, - 1,192,112,0,0,192,96,0,0,192,224,0,0,193,192,0, - 0,193,128,0,193,195,128,0,127,135,0,0,30,7,0,0, - 0,14,2,0,0,12,14,0,0,28,14,0,0,56,22,0, - 0,48,38,0,0,112,102,0,0,224,198,0,0,224,134,0, - 1,193,134,128,3,131,255,0,3,128,6,0,7,0,6,0, - 6,0,6,0,14,0,63,128,17,35,105,21,2,243,0,224, - 0,1,240,0,3,240,0,3,240,0,3,224,0,1,192,0, - 0,0,0,0,0,0,0,0,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,7,0,0,15,0,0,30,0,0,60,0,0, - 60,0,0,120,0,0,120,0,0,240,0,0,240,3,128,240, - 7,128,240,7,128,240,7,128,248,15,0,120,15,0,126,30, - 0,63,248,0,15,224,0,28,41,164,29,0,0,0,128,0, - 0,1,192,0,0,3,240,0,0,1,248,0,0,0,124,0, - 0,0,31,0,0,0,7,128,0,0,1,192,0,0,0,128, - 0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0, - 0,0,15,0,0,0,15,0,0,0,31,128,0,0,31,128, - 0,0,27,128,0,0,59,192,0,0,57,192,0,0,49,224, - 0,0,113,224,0,0,112,224,0,0,96,240,0,0,224,240, - 0,0,224,112,0,0,192,120,0,1,192,120,0,1,192,56, - 0,1,255,252,0,3,255,252,0,3,128,30,0,3,0,30, - 0,7,0,30,0,7,0,15,0,6,0,15,0,14,0,15, - 0,14,0,7,128,12,0,7,128,62,0,7,192,255,192,63, - 240,28,41,164,29,0,0,0,0,32,0,0,0,56,0,0, - 0,252,0,0,1,248,0,0,3,224,0,0,15,128,0,0, - 30,0,0,0,56,0,0,0,32,0,0,0,0,0,0,0, - 0,0,0,0,2,0,0,0,7,0,0,0,15,0,0,0, - 15,0,0,0,31,128,0,0,31,128,0,0,27,128,0,0, - 59,192,0,0,57,192,0,0,49,224,0,0,113,224,0,0, - 112,224,0,0,96,240,0,0,224,240,0,0,224,112,0,0, - 192,120,0,1,192,120,0,1,192,56,0,1,255,252,0,3, - 255,252,0,3,128,30,0,3,0,30,0,7,0,30,0,7, - 0,15,0,6,0,15,0,14,0,15,0,14,0,7,128,12, - 0,7,128,62,0,7,192,255,192,63,240,28,41,164,29,0, - 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, - 0,0,121,224,0,0,240,240,0,1,192,56,0,1,128,24, - 0,1,0,16,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,28,39,156,29,0,0,0,16,8,0,0, - 124,12,0,0,254,28,0,1,255,248,0,1,135,240,0,3, - 3,224,0,2,1,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,7,0,0,0,15,0,0,0,15,0,0,0, - 31,128,0,0,31,128,0,0,27,128,0,0,59,192,0,0, - 57,192,0,0,49,224,0,0,113,224,0,0,112,224,0,0, - 96,240,0,0,224,240,0,0,224,112,0,0,192,120,0,1, - 192,120,0,1,192,56,0,1,255,252,0,3,255,252,0,3, - 128,30,0,3,0,30,0,7,0,30,0,7,0,15,0,6, - 0,15,0,14,0,15,0,14,0,7,128,12,0,7,128,62, - 0,7,192,255,192,63,240,28,38,152,29,0,0,0,128,32, - 0,0,224,56,0,1,224,120,0,1,224,120,0,1,224,120, - 0,0,128,32,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,28,42,168,29,0,0,0,2,0,0,0, - 15,128,0,0,31,192,0,0,24,192,0,0,48,192,0,0, - 48,192,0,0,48,192,0,0,63,128,0,0,31,0,0,0, - 8,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, - 7,0,0,0,15,0,0,0,15,0,0,0,31,128,0,0, - 31,128,0,0,27,128,0,0,59,192,0,0,57,192,0,0, - 49,224,0,0,113,224,0,0,112,224,0,0,96,240,0,0, - 224,240,0,0,224,112,0,0,192,120,0,1,192,120,0,1, - 192,56,0,1,255,252,0,3,255,252,0,3,128,30,0,3, - 0,30,0,7,0,30,0,7,0,15,0,6,0,15,0,14, - 0,15,0,14,0,7,128,12,0,7,128,62,0,7,192,255, - 192,63,240,36,30,150,37,0,0,0,127,255,255,192,0,31, - 255,255,224,0,7,252,0,192,0,7,60,0,192,0,7,60, - 0,192,0,14,60,0,192,0,14,60,0,0,0,30,60,0, - 0,0,28,60,0,0,0,28,60,0,0,0,60,60,0,0, - 0,56,60,0,0,0,120,60,0,0,0,127,255,255,0,0, - 127,255,255,0,0,240,60,6,0,0,224,60,0,0,1,224, - 60,0,0,1,192,60,0,0,1,192,60,0,0,3,128,60, - 0,0,3,128,60,0,0,7,128,60,0,0,7,0,60,0, - 0,7,0,60,0,16,14,0,60,0,48,14,0,60,0,48, - 30,0,62,0,112,62,0,127,255,224,255,193,255,255,224,22, - 40,120,26,2,246,0,31,224,0,255,252,1,192,252,7,128, - 56,14,0,16,14,0,0,28,0,0,56,0,0,56,0,0, - 120,0,0,112,0,0,112,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,248,0,0,120,0,0,124,0,0,60,0,0,62,0,8, - 31,0,60,15,128,240,15,255,224,3,255,128,0,254,0,0, - 24,0,0,16,0,0,28,0,0,62,0,0,63,0,0,15, - 0,0,15,0,0,30,0,0,120,0,1,192,0,21,41,123, - 24,1,0,4,0,0,14,0,0,31,0,0,15,192,0,3, - 224,0,0,240,0,0,60,0,0,14,0,0,4,0,0,0, - 0,0,0,0,255,255,224,127,255,240,30,0,96,30,0,96, - 30,0,96,30,0,96,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,128,31,255, - 128,30,3,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,8,30, - 0,24,30,0,24,31,0,56,127,255,240,255,255,240,21,41, - 123,24,1,0,0,1,0,0,3,192,0,7,224,0,15,192, - 0,63,0,0,124,0,0,240,0,1,192,0,1,0,0,0, - 0,0,0,0,0,255,255,224,127,255,240,30,0,96,30,0, - 96,30,0,96,30,0,96,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,31,255,128,31, - 255,128,30,3,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,8, - 30,0,24,30,0,24,31,0,56,127,255,240,255,255,240,21, - 41,123,24,1,0,0,48,0,0,120,0,0,252,0,1,254, - 0,3,207,0,7,7,0,14,1,128,28,0,192,16,0,128, - 0,0,0,0,0,0,255,255,224,127,255,240,30,0,96,30, - 0,96,30,0,96,30,0,96,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,31,255,128, - 31,255,128,30,3,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 8,30,0,24,30,0,24,31,0,56,127,255,240,255,255,240, - 21,38,114,24,1,0,4,1,0,15,3,192,15,3,192,15, - 3,192,14,3,128,4,1,0,0,0,0,0,0,0,255,255, - 224,127,255,240,30,0,96,30,0,96,30,0,96,30,0,96, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,31,255,128,31,255,128,30,3,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,8,30,0,24,30,0,24,31, - 0,56,127,255,240,255,255,240,13,41,82,14,255,0,32,0, - 112,0,252,0,126,0,31,0,7,128,1,224,0,112,0,32, - 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, - 13,41,82,14,2,0,0,64,0,112,1,248,3,240,7,192, - 31,0,60,0,112,0,64,0,0,0,0,0,255,192,127,128, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,127,128,255,192,15,41,82,14,255,0,1,128, - 3,192,7,224,15,240,30,120,56,60,112,12,224,6,64,4, - 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, - 14,38,76,14,0,0,64,16,112,28,240,60,240,60,224,56, - 64,16,0,0,0,0,63,240,31,224,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,31,224, - 63,240,25,30,120,28,1,0,7,254,0,0,255,255,192,0, - 127,3,240,0,15,0,248,0,15,0,124,0,15,0,62,0, - 15,0,30,0,15,0,31,0,15,0,15,0,15,0,15,0, - 15,0,15,128,15,0,7,128,15,0,7,128,15,0,7,128, - 255,254,7,128,255,252,7,128,15,0,7,128,15,0,7,128, - 15,0,7,128,15,0,7,0,15,0,15,0,15,0,15,0, - 15,0,30,0,15,0,30,0,15,0,60,0,15,0,124,0, - 15,0,248,0,15,3,224,0,31,255,192,0,127,254,0,0, - 27,39,156,31,2,0,0,32,16,0,0,124,12,0,0,254, - 24,0,1,255,240,0,3,15,240,0,3,3,224,0,2,1, - 0,0,0,0,0,0,0,0,0,0,252,0,63,224,124,0, - 15,128,30,0,7,0,31,0,7,0,31,0,7,0,31,128, - 7,0,31,192,7,0,29,192,7,0,28,224,7,0,28,240, - 7,0,28,120,7,0,28,56,7,0,28,60,7,0,28,30, - 7,0,28,14,7,0,28,15,7,0,28,7,135,0,28,7, - 135,0,28,3,199,0,28,1,231,0,28,1,231,0,28,0, - 247,0,28,0,127,0,28,0,127,0,28,0,63,0,28,0, - 31,0,28,0,31,0,28,0,15,0,62,0,7,0,255,128, - 3,0,25,41,164,29,2,0,2,0,0,0,3,128,0,0, - 7,192,0,0,7,224,0,0,1,248,0,0,0,124,0,0, - 0,30,0,0,0,7,128,0,0,1,0,0,0,0,0,0, - 0,0,0,0,0,63,0,0,0,255,224,0,3,193,240,0, - 7,0,248,0,14,0,124,0,28,0,62,0,60,0,30,0, - 56,0,31,0,120,0,15,0,120,0,15,0,112,0,15,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 248,0,7,0,120,0,15,0,120,0,15,0,124,0,14,0, - 60,0,28,0,62,0,28,0,31,0,56,0,15,128,112,0, - 7,193,224,0,3,255,128,0,0,254,0,0,25,41,164,29, - 2,0,0,0,128,0,0,0,224,0,0,1,240,0,0,7, - 240,0,0,15,192,0,0,30,0,0,0,56,0,0,0,224, - 0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,63, - 0,0,0,255,224,0,3,193,240,0,7,0,248,0,14,0, - 124,0,28,0,62,0,60,0,30,0,56,0,31,0,120,0, - 15,0,120,0,15,0,112,0,15,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,248,0,7,0,120,0, - 15,0,120,0,15,0,124,0,14,0,60,0,28,0,62,0, - 28,0,31,0,56,0,15,128,112,0,7,193,224,0,3,255, - 128,0,0,254,0,0,25,41,164,29,2,0,0,28,0,0, - 0,62,0,0,0,126,0,0,0,127,0,0,0,227,128,0, - 1,193,192,0,3,128,224,0,6,0,112,0,4,0,32,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, - 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, - 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, - 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, - 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, - 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, - 25,39,156,29,2,0,0,64,32,0,1,248,48,0,3,252, - 48,0,3,255,224,0,6,31,192,0,4,15,128,0,12,2, - 0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,255, - 224,0,3,193,240,0,7,0,248,0,14,0,124,0,28,0, - 62,0,60,0,30,0,56,0,31,0,120,0,15,0,120,0, - 15,0,112,0,15,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,248,0,7,0,120,0,15,0,120,0, - 15,0,124,0,14,0,60,0,28,0,62,0,28,0,31,0, - 56,0,15,128,112,0,7,193,224,0,3,255,128,0,0,254, - 0,0,25,38,152,29,2,0,1,0,64,0,3,128,224,0, - 3,128,224,0,7,129,224,0,3,128,224,0,2,0,128,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, - 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, - 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, - 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, - 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, - 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, - 15,14,28,20,2,6,96,6,240,14,120,28,60,56,30,112, - 15,224,7,192,7,192,15,224,30,112,60,56,120,28,240,14, - 96,6,25,31,124,29,2,255,0,63,7,128,1,255,207,0, - 3,193,254,0,7,0,126,0,14,0,60,0,28,0,126,0, - 56,0,126,0,56,0,255,0,120,1,239,0,120,1,239,0, - 112,3,207,128,240,7,135,128,240,7,7,128,240,15,7,128, - 240,30,7,128,240,60,7,128,240,60,7,128,240,120,7,128, - 240,240,7,128,240,224,7,0,121,224,7,0,123,192,15,0, - 123,128,14,0,63,128,12,0,63,0,28,0,30,0,56,0, - 31,0,112,0,63,193,224,0,121,255,128,0,240,126,0,0, - 192,0,0,0,27,41,164,31,2,0,0,128,0,0,1,192, - 0,0,3,240,0,0,1,248,0,0,0,124,0,0,0,30, - 0,0,0,7,128,0,0,1,192,0,0,0,128,0,0,0, - 0,0,0,0,0,0,255,192,127,224,127,128,63,192,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 30,0,15,0,30,0,15,0,30,0,7,128,60,0,7,192, - 120,0,3,224,240,0,1,255,224,0,0,63,128,0,27,41, - 164,31,2,0,0,0,32,0,0,0,120,0,0,0,252,0, - 0,1,248,0,0,3,224,0,0,15,128,0,0,30,0,0, - 0,56,0,0,0,32,0,0,0,0,0,0,0,0,0,0, - 255,192,127,224,127,128,63,192,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,30,0,15,0,30,0, - 15,0,30,0,7,128,60,0,7,192,120,0,3,224,240,0, - 1,255,224,0,0,63,128,0,27,41,164,31,2,0,0,6, - 0,0,0,15,0,0,0,31,128,0,0,63,192,0,0,121, - 224,0,0,224,240,0,1,192,48,0,3,128,24,0,1,0, - 16,0,0,0,0,0,0,0,0,0,255,192,127,224,127,128, - 63,192,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,30,0,15,0,30,0,15,0,30,0,7,128, - 60,0,7,192,120,0,3,224,240,0,1,255,224,0,0,63, - 128,0,27,38,152,31,2,0,0,128,32,0,0,224,56,0, - 1,224,120,0,1,224,120,0,1,192,112,0,0,128,32,0, - 0,0,0,0,0,0,0,0,255,192,127,224,127,128,63,192, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,30,0,15,0,30,0,15,0,30,0,7,128,60,0, - 7,192,120,0,3,224,240,0,1,255,224,0,0,63,128,0, - 28,41,164,29,0,0,0,0,32,0,0,0,56,0,0,0, - 252,0,0,1,248,0,0,3,224,0,0,7,128,0,0,30, - 0,0,0,56,0,0,0,32,0,0,0,0,0,0,0,0, - 0,0,252,0,63,240,254,0,63,240,31,0,15,128,15,0, - 7,0,15,128,14,0,7,192,14,0,3,192,28,0,3,224, - 60,0,1,224,56,0,0,240,120,0,0,248,112,0,0,120, - 224,0,0,125,224,0,0,61,192,0,0,63,192,0,0,31, - 128,0,0,31,128,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,63,192,0,0,255,240,0,21,30,90,25,2,0, - 255,224,0,127,128,0,30,0,0,30,0,0,30,0,0,30, - 0,0,31,254,0,31,255,128,30,15,192,30,3,224,30,1, - 240,30,0,248,30,0,120,30,0,120,30,0,120,30,0,120, - 30,0,120,30,0,120,30,0,240,30,0,240,30,1,224,31, - 7,192,30,255,128,30,124,0,30,0,0,30,0,0,30,0, - 0,30,0,0,127,128,0,255,224,0,25,36,144,27,1,0, - 0,31,128,0,0,127,224,0,1,195,240,0,3,128,248,0, - 7,0,120,0,7,0,124,0,14,0,60,0,14,0,60,0, - 14,0,60,0,30,0,60,0,30,0,60,0,30,0,120,0, - 30,1,248,0,30,7,240,0,30,15,192,0,30,31,0,0, - 30,60,0,0,30,60,0,0,30,60,0,0,30,62,0,0, - 30,63,0,0,30,31,192,0,30,15,240,0,30,3,252,0, - 30,0,254,0,30,0,127,0,30,0,31,128,30,0,15,128, - 30,0,7,128,30,32,7,128,30,48,7,128,30,48,7,0, - 30,56,15,0,30,60,30,0,62,63,252,0,254,7,224,0, - 20,35,105,22,2,0,30,0,0,62,0,0,31,0,0,15, - 0,0,7,128,0,3,192,0,1,192,0,0,224,0,0,96, - 0,0,48,0,0,0,0,0,0,0,0,0,0,1,248,0, - 15,254,0,28,30,0,120,15,0,112,15,0,240,15,0,128, - 15,0,0,15,0,0,15,0,0,255,0,7,255,0,31,143, - 0,62,15,0,120,15,0,248,15,0,240,15,0,240,15,0, - 240,31,0,240,63,0,120,239,32,127,143,240,30,7,128,20, - 35,105,22,2,0,0,15,0,0,31,0,0,30,0,0,60, - 0,0,56,0,0,112,0,0,112,0,0,224,0,1,192,0, - 1,128,0,0,0,0,0,0,0,0,0,0,1,248,0,15, - 254,0,28,30,0,120,15,0,112,15,0,240,15,0,128,15, - 0,0,15,0,0,15,0,0,255,0,7,255,0,31,143,0, - 62,15,0,120,15,0,248,15,0,240,15,0,240,15,0,240, - 31,0,240,63,0,120,239,32,127,143,240,30,7,128,20,34, - 102,22,2,0,0,224,0,1,240,0,3,240,0,7,56,0, - 6,28,0,12,14,0,24,6,0,48,3,0,32,1,128,0, - 0,0,0,0,0,0,0,0,1,248,0,15,254,0,28,30, - 0,120,15,0,112,15,0,240,15,0,128,15,0,0,15,0, - 0,15,0,0,255,0,7,255,0,31,143,0,62,15,0,120, - 15,0,248,15,0,240,15,0,240,15,0,240,31,0,240,63, - 0,120,239,32,127,143,240,30,7,128,20,32,96,22,2,0, - 7,0,128,15,193,128,31,193,0,63,243,0,48,254,0,96, - 56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,248, - 0,15,254,0,28,30,0,120,15,0,112,15,0,240,15,0, - 128,15,0,0,15,0,0,15,0,0,255,0,7,255,0,31, - 143,0,62,15,0,120,15,0,248,15,0,240,15,0,240,15, - 0,240,31,0,240,63,0,120,239,32,127,143,240,30,7,128, - 20,32,96,22,2,0,28,7,0,28,7,0,60,15,0,60, - 15,0,24,6,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,248,0,15,254,0,28,30,0,120,15,0, - 112,15,0,240,15,0,128,15,0,0,15,0,0,15,0,0, - 255,0,7,255,0,31,143,0,62,15,0,120,15,0,248,15, - 0,240,15,0,240,15,0,240,31,0,240,63,0,120,239,32, - 127,143,240,30,7,128,20,34,102,22,2,0,0,240,0,1, - 248,0,3,24,0,3,24,0,6,24,0,6,24,0,7,56, - 0,3,240,0,1,192,0,0,0,0,0,0,0,0,0,0, - 1,248,0,15,254,0,28,30,0,120,15,0,112,15,0,240, - 15,0,128,15,0,0,15,0,0,15,0,0,255,0,7,255, - 0,31,143,0,62,15,0,120,15,0,248,15,0,240,15,0, - 240,15,0,240,31,0,240,63,0,120,239,32,127,143,240,30, - 7,128,29,22,88,33,2,0,1,248,31,128,7,252,127,192, - 28,62,225,224,56,31,192,240,112,15,128,112,240,15,128,120, - 240,15,0,120,192,15,0,120,0,127,255,248,3,255,255,240, - 15,143,0,0,30,15,0,0,60,15,0,0,120,15,0,0, - 240,15,0,0,240,15,128,0,240,31,128,24,240,63,192,48, - 248,243,224,240,127,227,255,192,127,128,255,128,30,0,126,0, - 18,32,96,21,2,246,0,127,0,1,255,192,7,7,192,14, - 1,128,28,0,128,56,0,0,120,0,0,112,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,248,0,0,120,1,0,124,3,128,62,7,0,31, - 254,0,31,248,0,7,240,0,0,192,0,0,128,0,0,224, - 0,0,240,0,1,248,0,0,120,0,0,120,0,0,240,0, - 3,192,0,14,0,0,18,35,105,22,2,0,14,0,0,31, - 0,0,15,128,0,7,128,0,3,192,0,1,192,0,0,224, - 0,0,112,0,0,48,0,0,24,0,0,0,0,0,0,0, - 0,0,0,0,248,0,7,254,0,14,15,0,28,7,128,56, - 7,128,56,3,192,112,3,192,112,3,192,255,255,192,255,255, - 128,240,0,0,240,0,0,240,0,0,240,0,0,248,0,0, - 120,0,0,120,0,0,124,0,192,62,1,128,31,7,0,15, - 254,0,3,248,0,18,35,105,22,2,0,0,7,0,0,15, - 128,0,15,0,0,30,0,0,60,0,0,56,0,0,112,0, - 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, - 0,0,0,248,0,7,254,0,14,15,0,28,7,128,56,7, - 128,56,3,192,112,3,192,112,3,192,255,255,192,255,255,128, - 240,0,0,240,0,0,240,0,0,240,0,0,248,0,0,120, - 0,0,120,0,0,124,0,192,62,1,128,31,7,0,15,254, - 0,3,248,0,18,34,102,22,2,0,0,240,0,0,240,0, - 1,248,0,3,156,0,7,14,0,14,6,0,12,3,0,24, - 1,128,16,0,128,0,0,0,0,0,0,0,0,0,0,248, - 0,7,254,0,14,15,0,28,7,128,56,7,128,56,3,192, - 112,3,192,112,3,192,255,255,192,255,255,128,240,0,0,240, - 0,0,240,0,0,240,0,0,248,0,0,120,0,0,120,0, - 0,124,0,192,62,1,128,31,7,0,15,254,0,3,248,0, - 18,32,96,22,2,0,14,3,128,30,7,128,30,7,128,30, - 7,128,28,7,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,248,0,7,254,0,14,15,0,28,7,128, - 56,7,128,56,3,192,112,3,192,112,3,192,255,255,192,255, - 255,128,240,0,0,240,0,0,240,0,0,240,0,0,248,0, - 0,120,0,0,120,0,0,124,0,192,62,1,128,31,7,0, - 15,254,0,3,248,0,12,35,70,13,0,0,240,0,248,0, - 120,0,60,0,28,0,14,0,7,0,3,0,1,128,0,128, - 0,0,0,0,0,0,1,128,31,128,63,128,15,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,15,192, - 63,240,12,35,70,13,2,0,0,224,1,240,3,224,3,192, - 7,128,7,0,14,0,28,0,24,0,48,0,0,0,0,0, - 0,0,6,0,126,0,254,0,62,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,63,0,255,192,15,34, - 68,13,255,0,3,128,7,192,7,224,14,240,28,112,56,56, - 112,12,96,6,192,2,0,0,0,0,0,0,0,192,15,192, - 31,192,7,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,7,224,31,248,14,32,64,13,0,0,96,24, - 240,60,240,60,224,56,224,56,0,0,0,0,0,0,0,0, - 0,0,1,128,31,128,63,128,15,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,15,192,63,240,20,34, - 102,24,2,0,3,0,0,31,192,128,31,225,224,1,255,192, - 0,126,0,0,252,0,3,254,0,15,143,0,4,7,128,0, - 3,128,0,3,192,0,1,192,1,241,224,7,255,224,14,31, - 224,28,7,240,56,3,240,56,1,240,120,1,240,112,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 0,224,248,1,224,120,1,192,124,1,192,124,3,128,62,7, - 0,31,14,0,15,252,0,3,240,0,23,32,96,26,2,0, - 1,224,32,3,240,48,7,248,96,7,252,192,14,63,128,8, - 15,0,0,0,0,0,0,0,0,0,0,0,0,0,12,7, - 192,254,15,224,62,49,224,30,96,240,30,192,240,30,128,240, - 31,0,240,31,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,127,131,248,255,199,254, - 20,35,105,24,2,0,15,0,0,15,0,0,7,128,0,3, - 192,0,1,192,0,0,224,0,0,112,0,0,112,0,0,56, - 0,0,24,0,0,0,0,0,0,0,0,0,0,0,252,0, - 7,255,0,14,15,128,28,7,192,56,3,192,56,3,224,112, - 1,224,112,1,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,0,240,240,0,240,248,0,224,120,1,224,124,1,192, - 60,1,192,62,3,128,31,7,0,15,254,0,3,240,0,20, - 35,105,24,2,0,0,7,128,0,7,192,0,15,128,0,15, - 0,0,30,0,0,60,0,0,56,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,0,0,0,0,0,0,252,0,7, - 255,0,14,15,128,28,7,192,56,3,192,56,3,224,112,1, - 224,112,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,248,0,224,120,1,224,124,1,192,60, - 1,192,62,3,128,31,7,0,15,254,0,3,240,0,20,34, - 102,24,2,0,0,112,0,0,248,0,1,252,0,1,220,0, - 3,142,0,7,7,0,14,3,128,12,1,192,24,0,192,0, - 0,0,0,0,0,0,0,0,0,252,0,7,255,0,14,15, - 128,28,7,192,56,3,192,56,3,224,112,1,224,112,1,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, - 0,240,248,0,224,120,1,224,124,1,192,60,1,192,62,3, - 128,31,7,0,15,254,0,3,240,0,20,32,96,24,2,0, - 3,192,64,7,224,96,15,240,192,15,249,128,28,127,0,16, - 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 0,7,255,0,14,15,128,28,7,192,56,3,192,56,3,224, - 112,1,224,112,1,240,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,248,0,224,120,1,224,124,1, - 192,60,1,192,62,3,128,31,7,0,15,254,0,3,240,0, - 20,32,96,24,2,0,6,1,128,15,3,192,15,3,192,14, - 3,128,14,3,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,0,7,255,0,14,15,128,28,7,192, - 56,3,192,56,3,224,112,1,224,112,1,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,248,0, - 224,120,1,224,124,1,192,60,1,192,62,3,128,31,7,0, - 15,254,0,3,240,0,17,15,45,20,1,6,0,224,0,1, - 224,0,1,224,0,1,192,0,0,0,0,0,0,0,0,0, - 0,127,255,128,255,255,128,0,0,0,0,0,0,0,224,0, - 1,224,0,1,224,0,1,192,0,20,24,72,24,2,255,0, - 0,48,1,248,112,7,254,224,14,15,192,28,7,192,56,3, - 224,56,7,224,112,15,224,112,28,240,240,24,240,240,56,240, - 240,112,240,240,224,240,240,192,240,241,192,240,243,128,224,255, - 0,224,126,1,192,126,1,192,62,3,128,63,7,0,119,254, - 0,225,248,0,128,0,0,24,35,105,25,1,0,3,128,0, - 7,192,0,3,192,0,1,224,0,0,240,0,0,112,0,0, - 56,0,0,24,0,0,12,0,0,4,0,0,0,0,0,0, - 0,0,0,0,6,0,112,254,7,240,126,7,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,1,240,31,2,240,15,12,255, - 15,248,252,3,224,112,24,35,105,25,1,0,0,1,192,0, - 3,224,0,7,192,0,7,128,0,15,0,0,14,0,0,28, - 0,0,56,0,0,48,0,0,96,0,0,0,0,0,0,0, - 0,0,0,6,0,112,254,7,240,126,7,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,1,240,31,2,240,15,12,255,15, - 248,252,3,224,112,24,34,102,25,1,0,0,56,0,0,124, - 0,0,126,0,0,231,0,1,195,0,3,129,128,3,0,192, - 6,0,96,12,0,32,0,0,0,0,0,0,0,0,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,24,32,96,25,1,0,3,0,192,7,129,224,7,129,224, - 7,129,224,7,1,192,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,6,0,112,254,7,240,126,7,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,1,240,31,2,240,15,12, - 255,15,248,252,3,224,112,24,46,138,24,255,245,0,0,240, - 0,0,248,0,1,224,0,3,224,0,3,192,0,7,128,0, - 7,0,0,14,0,0,12,0,0,24,0,0,0,0,0,0, - 0,0,0,0,127,224,255,31,0,62,15,0,28,15,0,24, - 7,128,56,7,128,56,3,128,48,3,192,112,3,192,96,1, - 224,224,1,224,224,0,224,192,0,241,192,0,241,192,0,121, - 128,0,123,128,0,59,0,0,63,0,0,63,0,0,30,0, - 0,30,0,0,12,0,0,12,0,0,28,0,0,24,0,0, - 56,0,0,112,0,0,112,0,0,224,0,63,192,0,127,128, - 0,255,0,0,124,0,0,21,47,141,25,2,245,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,15,0,28,63,192,28,99,224, - 28,193,224,29,129,240,31,0,240,31,0,248,30,0,248,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,120,30,0, - 120,30,0,112,30,0,112,30,0,224,30,0,224,31,129,192, - 31,195,128,31,255,0,30,124,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,63,0,0,255,224,0,24,43,129,24,255,245, - 0,192,48,1,192,112,1,224,120,3,192,240,1,128,96,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,224, - 255,31,0,62,15,0,28,15,0,24,7,128,56,7,128,56, - 3,128,48,3,192,112,3,192,96,1,224,224,1,224,224,0, - 224,192,0,241,192,0,241,192,0,121,128,0,123,128,0,59, - 0,0,63,0,0,63,0,0,30,0,0,30,0,0,12,0, - 0,12,0,0,28,0,0,24,0,0,56,0,0,112,0,0, - 112,0,0,224,0,63,192,0,127,128,0,255,0,0,124,0, - 0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 29 - Calculated Max Values w=20 h=46 x= 3 y=17 dx=23 dy= 0 ascent=38 len=138 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =29 descent= 0 - X Font ascent =29 descent= 0 - Max Font ascent =38 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30n[1281] U8G_FONT_SECTION("u8g_font_gdr30n") = { - 0,71,68,232,239,29,0,0,0,0,42,58,0,38,248,29, - 0,18,20,60,21,2,17,0,192,0,1,192,0,1,192,0, - 1,192,0,193,193,0,240,195,192,248,207,192,124,223,0,15, - 252,0,3,224,0,3,224,0,15,252,0,60,223,0,248,207, - 128,240,195,128,64,193,128,1,192,0,1,192,0,1,192,0, - 1,128,0,17,17,51,20,1,5,0,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,128,0,7,13,13,11, - 2,249,8,60,254,254,30,30,30,28,28,56,48,96,64,14, - 2,4,16,1,11,127,252,255,248,6,6,6,11,3,255,56, - 124,252,252,248,112,20,46,138,23,1,248,0,0,48,0,0, - 240,0,0,240,0,0,224,0,1,224,0,1,192,0,1,192, - 0,3,192,0,3,128,0,7,128,0,7,128,0,7,0,0, - 15,0,0,15,0,0,14,0,0,30,0,0,28,0,0,28, - 0,0,60,0,0,56,0,0,120,0,0,120,0,0,112,0, - 0,240,0,0,224,0,0,224,0,1,224,0,1,192,0,3, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,14,0,0,30,0,0,30,0,0,28,0,0, - 60,0,0,60,0,0,56,0,0,120,0,0,112,0,0,240, - 0,0,192,0,0,19,29,87,23,2,0,1,248,0,7,252, - 0,14,30,0,28,15,0,24,7,128,56,7,128,56,3,192, - 112,3,192,112,3,192,112,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,192,120,1,192,120,3,192,120,3,128, - 60,3,128,60,3,0,30,7,0,15,14,0,7,252,0,3, - 240,0,17,29,87,23,3,0,0,96,0,1,224,0,15,224, - 0,127,224,0,255,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,3,240,0,63,254,0,127,255,128,17, - 29,87,22,2,0,1,248,0,7,254,0,28,31,0,56,15, - 0,120,15,128,112,7,128,240,7,128,224,7,128,0,7,128, - 0,7,128,0,15,0,0,15,0,0,30,0,0,30,0,0, - 60,0,0,120,0,0,240,0,0,240,0,1,224,0,3,192, - 0,7,128,0,15,0,0,15,0,0,30,0,128,60,0,128, - 120,0,128,240,1,128,255,255,128,255,255,128,18,29,87,22, - 1,0,1,248,0,7,254,0,30,31,0,60,15,0,56,7, - 128,120,7,128,112,7,128,0,7,128,0,7,0,0,15,0, - 0,30,0,0,60,0,0,248,0,3,254,0,0,63,0,0, - 15,128,0,7,128,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,7,128,128,7,128,224,15,0, - 120,62,0,63,252,0,7,224,0,19,29,87,23,1,0,0, - 3,0,0,15,0,0,31,0,0,63,0,0,127,0,0,127, - 0,0,239,0,0,207,0,1,207,0,3,143,0,3,143,0, - 7,15,0,14,15,0,14,15,0,28,15,0,24,15,0,56, - 15,0,112,15,0,112,15,0,255,255,224,255,255,192,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,63,128,1,255,224,18,29,87,23,2,0,0,0,128,0, - 1,128,31,255,0,31,254,0,24,0,0,24,0,0,24,0, - 0,24,0,0,56,0,0,56,0,0,56,0,0,63,240,0, - 63,252,0,120,63,0,32,15,0,0,7,128,0,7,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 128,0,7,128,128,7,128,224,15,0,120,62,0,63,252,0, - 7,240,0,18,29,87,23,3,0,0,7,0,0,63,0,0, - 248,0,1,224,0,3,192,0,15,0,0,14,0,0,30,0, - 0,60,0,0,56,0,0,120,0,0,120,248,0,119,254,0, - 254,31,0,248,15,128,240,7,128,240,7,192,240,3,192,240, - 3,192,240,3,192,240,3,192,248,3,192,120,3,128,120,3, - 128,60,7,128,60,7,0,31,14,0,15,252,0,3,240,0, - 19,27,81,23,2,0,127,255,192,127,255,224,96,1,192,64, - 3,192,192,3,128,0,3,128,0,7,0,0,7,0,0,14, - 0,0,14,0,0,28,0,0,28,0,0,56,0,0,56,0, - 0,56,0,0,112,0,0,112,0,0,224,0,0,224,0,1, - 192,0,1,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,15,0,0,28,0,0,18,29,87,22,2,0,3,248,0, - 15,254,0,28,31,0,56,15,0,48,7,128,112,7,128,112, - 7,128,112,7,128,112,7,0,120,15,0,62,30,0,31,188, - 0,15,240,0,3,252,0,7,254,0,30,63,0,60,15,128, - 120,7,192,112,7,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,128,120,7,128,124,7,0,62,14,0,31,252, - 0,7,224,0,19,30,90,23,2,255,1,248,0,7,254,0, - 14,31,0,28,15,128,56,7,128,120,3,192,112,3,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,248,1, - 224,120,3,224,124,7,224,62,13,224,31,249,224,7,225,192, - 0,3,192,0,3,192,0,7,128,0,7,128,0,15,0,0, - 30,0,0,60,0,0,120,0,0,240,0,3,224,0,31,128, - 0,56,0,0,6,23,23,11,3,255,56,124,252,252,248,112, - 0,0,0,0,0,0,0,0,0,0,0,56,124,252,252,248, - 112}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=40 h=49 x= 4 y=25 dx=41 dy= 0 ascent=39 len=195 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x=-5 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30r[8588] U8G_FONT_SECTION("u8g_font_gdr30r") = { - 0,71,68,232,239,30,9,231,23,124,32,127,245,39,245,38, - 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, - 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, - 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, - 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, - 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, - 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, - 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, - 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, - 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, - 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, - 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, - 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, - 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, - 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, - 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, - 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, - 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, - 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, - 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, - 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, - 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, - 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, - 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, - 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, - 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, - 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, - 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, - 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, - 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, - 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, - 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, - 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, - 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, - 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, - 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, - 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, - 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, - 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, - 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, - 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, - 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, - 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, - 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, - 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, - 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, - 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, - 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, - 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, - 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, - 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, - 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, - 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, - 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, - 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, - 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, - 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, - 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, - 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, - 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, - 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, - 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, - 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, - 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, - 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, - 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, - 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, - 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, - 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, - 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, - 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, - 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, - 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, - 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, - 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, - 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, - 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, - 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, - 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, - 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, - 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, - 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, - 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, - 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, - 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, - 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, - 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, - 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, - 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, - 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, - 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, - 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, - 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, - 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, - 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, - 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, - 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, - 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, - 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, - 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, - 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, - 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, - 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, - 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, - 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, - 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, - 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, - 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, - 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, - 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, - 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, - 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, - 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, - 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, - 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, - 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, - 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, - 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, - 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, - 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, - 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, - 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, - 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, - 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, - 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, - 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, - 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, - 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, - 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, - 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, - 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, - 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, - 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, - 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, - 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, - 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, - 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, - 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, - 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, - 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, - 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, - 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, - 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, - 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, - 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, - 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, - 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, - 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, - 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, - 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, - 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, - 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, - 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, - 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, - 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, - 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, - 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, - 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, - 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, - 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, - 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, - 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, - 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, - 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, - 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, - 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, - 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, - 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, - 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, - 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, - 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, - 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, - 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, - 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, - 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, - 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, - 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, - 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, - 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, - 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, - 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, - 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, - 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, - 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, - 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, - 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, - 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, - 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, - 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, - 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, - 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, - 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, - 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, - 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, - 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, - 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, - 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, - 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, - 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, - 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, - 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, - 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, - 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, - 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, - 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, - 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, - 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, - 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, - 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, - 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, - 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, - 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, - 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, - 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, - 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, - 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, - 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, - 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, - 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, - 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, - 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, - 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, - 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, - 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, - 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, - 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, - 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, - 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, - 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, - 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, - 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, - 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, - 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, - 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, - 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, - 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, - 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, - 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, - 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, - 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, - 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, - 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, - 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, - 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, - 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, - 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, - 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, - 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, - 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, - 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, - 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, - 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, - 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, - 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, - 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, - 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, - 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, - 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, - 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, - 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, - 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, - 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, - 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, - 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, - 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, - 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, - 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, - 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, - 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, - 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, - 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, - 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, - 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, - 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, - 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, - 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, - 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, - 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, - 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, - 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, - 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, - 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, - 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, - 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, - 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, - 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, - 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, - 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, - 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, - 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, - 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, - 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, - 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, - 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, - 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, - 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, - 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, - 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, - 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, - 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, - 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, - 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, - 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, - 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, - 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, - 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, - 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, - 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, - 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, - 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, - 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, - 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, - 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, - 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, - 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, - 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, - 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, - 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, - 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, - 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, - 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, - 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, - 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, - 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, - 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, - 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, - 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, - 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, - 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, - 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, - 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, - 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, - 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, - 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, - 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, - 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, - 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, - 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, - 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, - 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, - 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, - 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, - 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, - 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, - 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, - 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, - 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, - 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, - 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, - 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, - 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, - 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, - 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, - 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, - 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, - 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, - 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, - 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, - 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, - 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, - 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, - 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, - 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, - 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, - 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, - 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, - 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, - 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, - 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, - 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, - 255,224,96,127,192,64,31,128,192,15,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=12 h=15 x= 2 y= 8 dx=13 dy= 0 ascent=13 len=26 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9[3248] U8G_FONT_SECTION("u8g_font_gdr9") = { - 0,23,21,248,251,9,1,255,4,54,32,255,252,13,252,12, - 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, - 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, - 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, - 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, - 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, - 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, - 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, - 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, - 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, - 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, - 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, - 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, - 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, - 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, - 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, - 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, - 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, - 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, - 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, - 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, - 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, - 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, - 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, - 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, - 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, - 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, - 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, - 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, - 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, - 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, - 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, - 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, - 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, - 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, - 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, - 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, - 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, - 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, - 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, - 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, - 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, - 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, - 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, - 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, - 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, - 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, - 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, - 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, - 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, - 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, - 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, - 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, - 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, - 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, - 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, - 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, - 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, - 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, - 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, - 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, - 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, - 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, - 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, - 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, - 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, - 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, - 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, - 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, - 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, - 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, - 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, - 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, - 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, - 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, - 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, - 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, - 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, - 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, - 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, - 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, - 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, - 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, - 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, - 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, - 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, - 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, - 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, - 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, - 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, - 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, - 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, - 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, - 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, - 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,3,0,0,2,11,11,4,1,252,128,128,0, - 128,128,128,192,192,192,192,192,5,9,9,7,1,0,32,56, - 232,160,160,160,232,112,32,6,9,9,7,1,0,56,68,72, - 64,240,64,64,68,252,3,5,5,7,2,2,160,224,160,160, - 224,7,9,9,7,0,0,206,100,40,56,16,124,16,16,56, - 1,15,15,3,1,253,128,128,128,128,128,128,128,0,128,128, - 128,128,128,128,128,6,11,11,8,1,0,112,144,128,224,184, - 132,68,56,136,136,112,4,2,2,6,1,8,144,144,9,9, - 18,11,1,0,62,0,93,0,166,128,160,128,160,128,160,128, - 182,128,93,0,62,0,4,5,5,4,0,4,96,160,224,224, - 240,5,7,7,7,1,0,104,72,144,176,144,72,104,6,4, - 4,7,1,1,252,4,4,4,5,1,1,5,0,3,248,5, - 6,6,5,0,5,112,136,184,168,168,112,5,1,1,7,1, - 8,248,3,4,4,5,1,5,96,160,160,192,6,7,7,6, - 0,1,16,16,124,16,16,0,252,4,6,6,5,0,4,48, - 208,32,32,80,240,4,6,6,5,0,4,48,80,32,16,144, - 96,3,3,3,5,2,8,96,128,128,8,11,11,8,0,252, - 198,66,66,66,66,70,123,64,64,64,96,8,11,11,9,0, - 254,127,138,138,202,122,10,10,10,10,10,31,1,2,2,2, - 1,4,128,128,2,3,3,3,1,253,128,64,192,3,5,5, - 5,1,5,192,64,64,64,224,3,5,5,4,0,4,96,160, - 160,192,224,6,7,7,7,1,0,160,80,72,44,72,80,160, - 8,9,9,9,1,0,194,68,68,72,178,22,42,79,199,7, - 9,9,9,1,0,194,68,72,72,182,26,36,74,206,9,9, - 18,9,0,0,49,0,82,0,52,0,20,0,233,0,11,0, - 21,0,39,128,99,128,5,11,11,7,1,252,32,32,32,32, - 32,64,128,128,136,136,112,9,12,24,9,0,0,48,0,12, - 0,0,0,8,0,8,0,20,0,20,0,36,0,62,0,34, - 0,67,0,227,128,9,12,24,9,0,0,6,0,24,0,0, - 0,8,0,8,0,20,0,20,0,36,0,62,0,34,0,67, - 0,227,128,9,12,24,9,0,0,28,0,34,0,0,0,8, - 0,8,0,20,0,20,0,36,0,62,0,34,0,67,0,227, - 128,9,12,24,9,0,0,58,0,60,0,0,0,8,0,8, - 0,20,0,20,0,36,0,62,0,34,0,67,0,227,128,9, - 11,22,9,0,0,36,0,36,0,8,0,8,0,20,0,20, - 0,36,0,62,0,34,0,67,0,227,128,9,13,26,9,0, - 0,12,0,20,0,20,0,8,0,8,0,8,0,20,0,20, - 0,36,0,62,0,34,0,67,0,227,128,11,9,18,12,0, - 0,31,224,10,32,18,0,31,192,18,0,34,0,34,0,34, - 32,231,224,6,12,12,8,1,253,60,68,128,128,128,128,128, - 68,120,32,16,48,6,12,12,7,1,0,224,16,0,252,68, - 64,120,64,64,64,68,252,6,12,12,7,1,0,24,96,0, - 252,68,64,120,64,64,64,68,252,6,12,12,7,1,0,112, - 136,0,252,68,64,120,64,64,64,68,252,6,11,11,7,1, - 0,144,144,124,68,64,120,64,64,64,68,252,4,12,12,4, - 0,0,192,32,0,112,32,32,32,32,32,32,32,112,4,12, - 12,4,1,0,112,128,0,224,64,64,64,64,64,64,64,224, - 4,12,12,4,0,0,96,144,0,112,32,32,32,32,32,32, - 32,112,4,11,11,4,0,0,144,144,96,32,32,32,32,32, - 32,32,112,8,9,9,9,0,0,252,66,65,65,241,65,65, - 66,252,10,12,24,10,0,0,26,0,60,0,0,0,193,192, - 96,128,80,128,88,128,76,128,70,128,67,128,65,128,224,128, - 7,12,12,9,1,0,96,24,0,56,68,130,130,130,130,130, - 68,56,7,12,12,9,1,0,12,48,0,56,68,130,130,130, - 130,130,68,56,7,12,12,9,1,0,56,68,0,56,68,130, - 130,130,130,130,68,56,7,12,12,9,1,0,52,120,0,56, - 68,130,130,130,130,130,68,56,7,11,11,9,1,0,72,72, - 56,68,130,130,130,130,130,68,56,4,4,4,6,1,2,144, - 96,96,144,7,9,9,9,1,0,58,68,138,138,146,162,194, - 68,184,9,12,24,10,0,0,56,0,4,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,98,0,60,0, - 9,12,24,10,0,0,6,0,24,0,0,0,227,128,65,0, - 65,0,65,0,65,0,65,0,65,0,98,0,60,0,9,12, - 24,10,0,0,28,0,34,0,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,11,22,10, - 0,0,34,0,36,0,195,128,65,0,65,0,65,0,65,0, - 65,0,65,0,98,0,60,0,9,12,24,9,0,0,6,0, - 24,0,0,0,227,128,98,0,50,0,20,0,28,0,8,0, - 8,0,8,0,28,0,7,9,9,8,0,0,224,124,70,66, - 66,66,100,92,224,8,11,11,8,0,0,28,34,66,66,68, - 72,76,67,65,73,206,6,11,11,7,1,0,192,96,32,0, - 56,72,136,56,200,136,252,6,11,11,7,1,0,24,16,32, - 0,56,72,136,56,200,136,252,6,11,11,7,1,0,32,80, - 136,0,56,72,136,56,200,136,252,6,10,10,7,1,0,104, - 176,0,56,72,136,56,200,136,252,6,10,10,7,1,0,144, - 144,0,56,72,136,56,200,136,252,6,11,11,7,1,0,48, - 80,80,48,56,72,136,56,200,136,252,9,7,14,10,1,0, - 63,0,76,128,136,128,63,128,200,0,136,128,247,0,5,10, - 10,7,1,253,120,136,128,128,128,200,112,32,16,48,5,11, - 11,7,1,0,64,32,32,16,112,72,136,248,128,200,112,5, - 11,11,7,1,0,24,16,32,0,112,72,136,248,128,200,112, - 5,11,11,7,1,0,32,80,136,0,112,72,136,248,128,200, - 112,5,10,10,7,1,0,144,152,0,112,72,136,248,128,200, - 112,4,11,11,4,0,0,128,64,32,0,96,32,32,32,32, - 32,112,3,11,11,4,1,0,32,64,128,0,192,64,64,64, - 64,64,224,4,11,11,4,0,0,96,80,144,0,96,32,32, - 32,32,32,112,4,10,10,4,0,0,144,144,0,96,32,32, - 32,32,32,112,5,11,11,7,1,0,200,48,80,16,120,136, - 136,136,136,144,112,8,10,10,8,0,0,18,108,0,78,242, - 66,66,66,66,231,6,11,11,8,1,0,64,32,16,0,56, - 204,132,132,132,200,112,6,11,11,8,1,0,8,16,32,0, - 56,204,132,132,132,200,112,6,11,11,8,1,0,48,80,136, - 0,56,204,132,132,132,200,112,6,10,10,8,1,0,104,152, - 0,56,204,132,132,132,200,112,6,10,10,8,1,0,136,136, - 0,56,204,132,132,132,200,112,6,4,4,6,0,2,16,124, - 128,16,6,7,7,8,1,0,60,204,148,164,164,200,240,8, - 11,11,8,0,0,32,16,8,0,198,66,66,66,66,70,59, - 8,11,11,8,0,0,4,8,16,0,198,66,66,66,66,70, - 59,8,11,11,8,0,0,24,24,36,0,198,66,66,66,66, - 70,59,8,10,10,8,0,0,36,68,0,198,66,66,66,66, - 70,59,7,15,15,7,0,252,4,8,16,0,230,68,36,36, - 40,24,16,16,16,32,192,7,15,15,8,0,252,192,64,64, - 64,76,114,66,66,66,68,120,64,64,64,224,7,14,14,7, - 0,252,68,68,0,230,68,36,36,40,24,16,16,16,32,192 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 7 h=14 x= 1 y= 5 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9n[248] U8G_FONT_SECTION("u8g_font_gdr9n") = { - 0,23,21,248,251,9,0,0,0,0,42,58,0,12,254,9, - 0,5,6,6,7,1,5,32,168,112,112,168,32,5,5,5, - 6,1,2,32,32,248,32,32,2,4,4,3,1,254,64,192, - 64,128,5,1,1,5,0,3,248,1,2,2,3,1,0,128, - 128,7,14,14,7,0,254,6,4,4,8,8,8,16,16,32, - 32,32,64,64,192,5,9,9,7,1,0,112,144,136,136,136, - 136,136,80,112,5,9,9,7,1,0,32,224,32,32,32,32, - 32,32,248,5,9,9,7,1,0,56,72,136,8,16,32,64, - 136,248,6,9,9,7,0,0,48,72,136,16,120,4,4,132, - 120,6,9,9,7,0,0,8,24,40,40,72,72,252,8,60, - 5,9,9,7,1,0,120,128,128,240,136,8,8,136,112,5, - 9,9,7,1,0,24,96,64,176,200,136,136,136,112,5,9, - 9,7,1,0,248,136,8,16,16,32,32,96,64,5,9,9, - 7,1,0,112,200,136,208,112,136,136,136,112,5,9,9,7, - 1,0,112,152,136,136,136,120,16,16,224,1,7,7,3,1, - 0,128,128,0,0,0,128,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=12 h=15 x= 1 y= 8 dx=13 dy= 0 ascent=12 len=26 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9r[1553] U8G_FONT_SECTION("u8g_font_gdr9r") = { - 0,23,21,248,251,9,1,255,4,54,32,127,252,12,252,12, - 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, - 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, - 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, - 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, - 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, - 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, - 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, - 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, - 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, - 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, - 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, - 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, - 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, - 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, - 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, - 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, - 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, - 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, - 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, - 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, - 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, - 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, - 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, - 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, - 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, - 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, - 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, - 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, - 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, - 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, - 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, - 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, - 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, - 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, - 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, - 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, - 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, - 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, - 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, - 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, - 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, - 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, - 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, - 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, - 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, - 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, - 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, - 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, - 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, - 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, - 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, - 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, - 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, - 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, - 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, - 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, - 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, - 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, - 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, - 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, - 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, - 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, - 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, - 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, - 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, - 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, - 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, - 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, - 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, - 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, - 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, - 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, - 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, - 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, - 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, - 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, - 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, - 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, - 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, - 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, - 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, - 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, - 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, - 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, - 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, - 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, - 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, - 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, - 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, - 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, - 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, - 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, - 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, - 255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_FONT_SECTION("u8g_font_helvB08") = { - 0,12,19,255,251,8,1,182,3,122,32,255,254,11,254,8, - 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, - 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, - 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, - 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, - 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, - 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, - 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, - 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, - 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, - 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, - 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, - 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, - 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, - 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, - 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, - 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, - 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, - 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, - 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, - 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, - 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, - 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, - 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, - 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, - 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, - 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, - 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, - 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, - 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, - 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, - 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, - 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, - 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, - 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, - 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, - 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, - 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, - 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, - 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, - 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, - 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, - 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, - 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, - 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, - 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, - 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, - 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, - 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, - 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, - 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, - 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, - 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, - 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, - 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, - 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, - 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, - 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, - 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, - 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, - 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, - 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, - 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, - 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, - 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, - 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, - 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, - 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, - 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, - 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, - 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, - 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, - 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, - 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, - 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, - 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, - 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, - 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, - 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, - 2,6,0,3,104,176,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,3,0,1,2,8,8, - 4,1,254,192,0,64,64,192,192,192,192,5,8,8,6,0, - 255,16,112,216,160,160,216,112,64,5,8,8,6,0,0,56, - 104,96,240,96,96,104,216,6,6,6,6,0,1,132,120,72, - 72,120,132,6,8,8,7,0,0,132,132,204,72,252,48,252, - 48,1,10,10,3,1,254,128,128,128,128,0,0,128,128,128, - 128,5,10,10,6,0,254,112,200,224,112,152,200,112,56,152, - 112,3,1,1,3,0,7,160,8,8,8,10,1,0,60,66, - 153,165,161,157,66,60,3,5,5,5,1,3,224,32,160,0, - 224,6,3,3,7,0,1,108,216,108,5,3,3,7,1,2, - 248,8,8,4,1,1,5,0,3,240,8,8,8,10,1,0, - 60,66,189,165,185,165,66,60,3,1,1,3,0,7,224,3, - 3,3,4,0,5,96,160,192,6,7,7,6,0,0,48,48, - 252,48,48,0,252,3,4,4,3,0,4,96,160,64,224,3, - 4,4,3,0,4,224,64,32,192,2,2,2,3,0,7,64, - 128,5,8,8,6,0,254,216,216,216,216,216,232,192,192,6, - 10,10,6,0,254,124,232,232,232,104,40,40,40,40,40,2, - 1,1,3,0,3,192,2,2,2,3,0,254,64,192,2,4, - 4,3,0,4,64,192,64,64,3,5,5,5,1,3,224,160, - 224,0,224,6,3,3,7,0,1,216,108,216,8,8,8,9, - 0,0,68,196,72,72,18,38,47,66,7,8,8,9,0,0, - 68,196,72,72,22,42,36,78,8,8,8,9,0,0,228,68, - 40,200,18,38,47,66,5,8,8,6,0,254,48,0,48,48, - 96,192,216,112,7,11,11,8,0,0,32,16,0,56,56,108, - 108,108,254,198,198,7,11,11,8,0,0,8,16,0,56,56, - 108,108,108,254,198,198,7,11,11,8,0,0,16,40,0,56, - 56,108,108,108,254,198,198,7,11,11,8,0,0,20,40,0, - 56,56,108,108,108,254,198,198,7,10,10,8,0,0,40,0, - 56,56,108,108,108,254,198,198,7,11,11,8,0,0,16,40, - 16,56,56,108,108,108,254,198,198,9,8,16,10,0,0,63, - 128,60,0,108,0,111,128,108,0,252,0,204,0,207,128,7, - 10,10,8,0,254,60,102,194,192,192,194,102,60,16,48,5, - 11,11,6,0,0,64,32,0,248,192,192,248,192,192,192,248, - 5,11,11,6,0,0,16,32,0,248,192,192,248,192,192,192, - 248,5,11,11,6,0,0,32,80,0,248,192,192,248,192,192, - 192,248,5,10,10,6,0,0,80,0,248,192,192,248,192,192, - 192,248,2,11,11,3,0,0,128,64,0,192,192,192,192,192, - 192,192,192,2,11,11,3,0,0,64,128,0,192,192,192,192, - 192,192,192,192,3,11,11,3,255,0,64,160,0,96,96,96, - 96,96,96,96,96,4,10,10,3,255,0,144,0,96,96,96, - 96,96,96,96,96,7,8,8,7,255,0,120,108,102,246,102, - 102,108,120,7,11,11,8,0,0,20,40,0,198,230,230,214, - 214,206,206,198,7,11,11,8,0,0,16,8,0,56,108,198, - 198,198,198,108,56,7,11,11,8,0,0,8,16,0,56,108, - 198,198,198,198,108,56,7,11,11,8,0,0,16,40,0,56, - 108,198,198,198,198,108,56,7,11,11,8,0,0,20,40,0, - 56,108,198,198,198,198,108,56,7,10,10,8,0,0,40,0, - 56,108,198,198,198,198,108,56,6,5,5,6,0,1,204,120, - 48,120,204,7,8,8,8,0,0,58,108,206,214,214,230,108, - 184,6,11,11,7,0,0,32,16,0,204,204,204,204,204,204, - 204,120,6,11,11,7,0,0,8,16,0,204,204,204,204,204, - 204,204,120,6,11,11,7,0,0,32,80,0,204,204,204,204, - 204,204,204,120,6,10,10,7,0,0,72,0,204,204,204,204, - 204,204,204,120,8,11,11,9,0,0,4,8,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,192,248,204,204,204, - 248,192,192,5,8,8,6,0,0,112,200,200,208,200,200,200, - 208,6,9,9,6,0,0,32,16,0,112,152,120,216,216,108, - 6,9,9,6,0,0,16,32,0,112,152,120,216,216,108,6, - 9,9,6,0,0,32,80,0,112,152,120,216,216,108,6,9, - 9,6,0,0,40,80,0,112,152,120,216,216,108,6,8,8, - 6,0,0,80,0,112,152,120,216,216,108,6,9,9,6,0, - 0,32,80,32,112,152,120,216,216,108,8,6,6,9,0,0, - 126,155,127,216,219,110,4,8,8,5,0,254,112,208,192,192, - 208,112,32,96,5,9,9,6,0,0,64,32,0,112,216,248, - 192,216,112,5,9,9,6,0,0,16,32,0,112,216,248,192, - 216,112,5,9,9,6,0,0,32,80,0,112,216,248,192,216, - 112,5,8,8,6,0,0,80,0,112,216,248,192,216,112,2, - 9,9,3,0,0,128,64,0,192,192,192,192,192,192,2,9, - 9,3,0,0,64,128,0,192,192,192,192,192,192,3,9,9, - 3,0,0,64,160,0,192,192,192,192,192,192,3,8,8,3, - 0,0,160,0,192,192,192,192,192,192,5,9,9,6,0,0, - 80,96,160,112,216,216,216,216,112,5,9,9,6,0,0,80, - 160,0,176,216,216,216,216,216,5,9,9,6,0,0,64,32, - 0,112,216,216,216,216,112,5,9,9,6,0,0,16,32,0, - 112,216,216,216,216,112,5,9,9,6,0,0,32,80,0,112, - 216,216,216,216,112,5,9,9,6,0,0,80,160,0,112,216, - 216,216,216,112,5,8,8,6,0,0,80,0,112,216,216,216, - 216,112,6,5,5,6,0,1,48,0,252,0,48,7,6,6, - 6,255,0,58,108,124,108,108,184,5,9,9,6,0,0,64, - 32,0,216,216,216,216,216,104,5,9,9,6,0,0,16,32, - 0,216,216,216,216,216,104,5,9,9,6,0,0,32,80,0, - 216,216,216,216,216,104,5,8,8,6,0,0,80,0,216,216, - 216,216,216,104,5,11,11,6,0,254,16,32,0,216,216,216, - 216,120,48,48,96,5,10,10,6,0,254,192,192,240,216,200, - 200,216,240,192,192,5,10,10,6,0,254,80,0,216,216,216, - 216,120,48,48,96}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 8 - Calculated Max Values w= 6 h= 8 x= 1 y= 5 dx= 6 dy= 0 ascent= 8 len= 8 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08n[228] U8G_FONT_SECTION("u8g_font_helvB08n") = { - 0,12,19,255,251,8,0,0,0,0,42,58,0,8,254,8, - 0,3,3,3,4,0,5,160,64,160,6,5,5,6,0,1, - 48,48,252,48,48,2,4,4,3,0,254,192,192,64,128,4, - 1,1,5,0,3,240,2,2,2,3,0,0,192,192,4,8, - 8,4,0,0,16,16,32,32,64,64,128,128,5,8,8,6, - 0,0,112,216,216,216,216,216,216,112,3,8,8,6,1,0, - 96,224,96,96,96,96,96,96,5,8,8,6,0,0,112,216, - 24,24,48,96,192,248,5,8,8,6,0,0,112,216,24,48, - 24,24,216,112,6,8,8,6,0,0,8,24,56,88,152,252, - 24,24,5,8,8,6,0,0,248,192,192,240,24,152,216,112, - 5,8,8,6,0,0,112,216,192,240,216,216,216,112,5,8, - 8,6,0,0,248,24,24,48,48,96,96,96,5,8,8,6, - 0,0,112,216,216,112,216,216,216,112,5,8,8,6,0,0, - 112,216,216,216,120,24,216,112,2,6,6,3,0,0,192,192, - 0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08r[1287] U8G_FONT_SECTION("u8g_font_helvB08r") = { - 0,12,19,255,251,8,1,182,3,122,32,127,254,9,254,8, - 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, - 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, - 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, - 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, - 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, - 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, - 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, - 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, - 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, - 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, - 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, - 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, - 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, - 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, - 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, - 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, - 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, - 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, - 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, - 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, - 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, - 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, - 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, - 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, - 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, - 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, - 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, - 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, - 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, - 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, - 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, - 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, - 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, - 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, - 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, - 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, - 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, - 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, - 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, - 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, - 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, - 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, - 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, - 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, - 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, - 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, - 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, - 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, - 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, - 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, - 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, - 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, - 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, - 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, - 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, - 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, - 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, - 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, - 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, - 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, - 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, - 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, - 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, - 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, - 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, - 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, - 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, - 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, - 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, - 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, - 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, - 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, - 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, - 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, - 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, - 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, - 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, - 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, - 2,6,0,3,104,176,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 2 y= 9 dx=15 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_FONT_SECTION("u8g_font_helvB10") = { - 0,17,23,255,250,11,2,27,4,205,32,255,253,14,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, - 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, - 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, - 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, - 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, - 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, - 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, - 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, - 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, - 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, - 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, - 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, - 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, - 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, - 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, - 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, - 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, - 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, - 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, - 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, - 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, - 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, - 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, - 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, - 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, - 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, - 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, - 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, - 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, - 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, - 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, - 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, - 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, - 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, - 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, - 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, - 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, - 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, - 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, - 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, - 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, - 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, - 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, - 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, - 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, - 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, - 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, - 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, - 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, - 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, - 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, - 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, - 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, - 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, - 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, - 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, - 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, - 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, - 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, - 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, - 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, - 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, - 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, - 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, - 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, - 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, - 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, - 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, - 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, - 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, - 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, - 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, - 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, - 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, - 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, - 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, - 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, - 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, - 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, - 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, - 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, - 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, - 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, - 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, - 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, - 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, - 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, - 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, - 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, - 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, - 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, - 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, - 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, - 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, - 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, - 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, - 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, - 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, - 3,9,1,3,114,222,140,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,4,0,1,2,11, - 11,4,1,253,192,192,0,64,64,192,192,192,192,192,192,7, - 10,10,8,0,255,4,60,110,200,208,208,230,102,124,64,8, - 11,11,8,0,0,60,102,102,96,252,48,48,48,96,251,222, - 7,7,7,8,0,2,130,124,108,108,108,124,130,8,11,11, - 9,0,0,195,195,195,102,102,60,126,24,126,24,24,1,14, - 14,4,2,253,128,128,128,128,128,128,0,0,128,128,128,128, - 128,128,6,14,14,8,1,253,120,204,204,224,120,220,204,204, - 236,120,28,204,204,120,5,2,2,5,0,9,216,216,10,11, - 22,12,1,0,30,0,97,128,76,128,210,192,144,64,144,64, - 144,64,146,64,76,128,97,128,30,0,5,7,7,6,0,4, - 112,144,112,208,248,0,248,7,5,5,9,1,2,54,108,216, - 108,54,7,4,4,9,1,2,254,254,2,2,3,1,1,4, - 0,4,224,10,11,22,12,1,0,30,0,97,128,92,128,146, - 64,146,64,156,64,146,64,146,64,82,128,97,128,30,0,5, - 1,1,5,0,9,248,4,4,4,6,1,7,96,144,144,96, - 8,9,9,9,0,0,24,24,24,255,24,24,24,0,255,4, - 6,6,5,0,5,96,176,48,96,192,240,4,6,6,5,0, - 5,96,176,96,48,176,96,3,2,2,5,1,9,96,192,7, - 11,11,9,1,253,198,198,198,198,198,198,238,246,192,192,192, - 8,14,14,8,0,253,63,122,250,250,250,122,58,10,10,10, - 10,10,10,10,2,2,2,4,1,3,192,192,5,3,3,5, - 0,253,24,216,112,3,6,6,4,0,5,96,224,96,96,96, - 96,5,7,7,6,0,4,112,216,216,216,112,0,248,7,5, - 5,9,1,2,216,108,54,108,216,12,11,22,12,0,0,97, - 128,225,128,99,0,99,0,102,0,102,32,6,96,12,224,13, - 96,25,240,24,96,11,11,22,12,0,0,97,128,225,128,99, - 0,99,0,102,0,102,192,7,96,12,96,12,192,25,128,25, - 224,12,11,22,12,0,0,97,128,177,128,99,0,51,0,182, - 0,102,32,6,96,12,224,13,96,25,240,24,96,7,11,11, - 9,1,253,24,24,0,24,24,48,96,192,198,198,124,10,14, - 28,10,0,0,24,0,12,0,0,0,12,0,12,0,30,0, - 18,0,51,0,51,0,97,128,127,128,97,128,192,192,192,192, - 10,14,28,10,0,0,6,0,12,0,0,0,12,0,12,0, - 30,0,18,0,51,0,51,0,97,128,127,128,97,128,192,192, - 192,192,10,14,28,10,0,0,14,0,27,0,0,0,12,0, - 12,0,30,0,18,0,51,0,51,0,97,128,127,128,97,128, - 192,192,192,192,10,14,28,10,0,0,13,0,22,0,0,0, - 12,0,12,0,30,0,18,0,51,0,51,0,97,128,127,128, - 97,128,192,192,192,192,10,14,28,10,0,0,51,0,51,0, - 0,0,12,0,12,0,30,0,18,0,51,0,51,0,97,128, - 127,128,97,128,192,192,192,192,10,14,28,10,0,0,12,0, - 18,0,12,0,12,0,12,0,30,0,18,0,51,0,51,0, - 97,128,127,128,97,128,192,192,192,192,14,11,22,15,0,0, - 15,252,15,0,27,0,19,0,51,0,51,248,99,0,127,0, - 99,0,195,0,195,252,9,14,28,11,1,253,31,0,123,128, - 96,128,192,0,192,0,192,0,192,0,192,0,96,128,123,128, - 31,0,6,0,54,0,28,0,7,14,14,9,1,0,48,24, - 0,254,192,192,192,192,254,192,192,192,192,254,7,14,14,9, - 1,0,12,24,0,254,192,192,192,192,254,192,192,192,192,254, - 7,14,14,9,1,0,28,54,0,254,192,192,192,192,254,192, - 192,192,192,254,7,14,14,9,1,0,108,108,0,254,192,192, - 192,192,254,192,192,192,192,254,3,14,14,4,0,0,192,96, - 0,96,96,96,96,96,96,96,96,96,96,96,3,14,14,4, - 1,0,96,192,0,192,192,192,192,192,192,192,192,192,192,192, - 5,14,14,4,0,0,112,216,0,96,96,96,96,96,96,96, - 96,96,96,96,5,14,14,4,0,0,216,216,0,96,96,96, - 96,96,96,96,96,96,96,96,10,11,22,11,0,0,126,0, - 99,128,97,128,96,192,96,192,248,192,96,192,96,192,97,128, - 99,128,126,0,9,14,28,11,1,0,26,0,44,0,0,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,14,28,12,1,0,24,0,12,0, - 0,0,30,0,115,128,97,128,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,14,28,12,1,0,6,0, - 12,0,0,0,30,0,115,128,97,128,192,192,192,192,192,192, - 192,192,192,192,97,128,115,128,30,0,10,14,28,12,1,0, - 14,0,27,0,0,0,30,0,115,128,97,128,192,192,192,192, - 192,192,192,192,192,192,97,128,115,128,30,0,10,14,28,12, - 1,0,13,0,22,0,0,0,30,0,115,128,97,128,192,192, - 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,14, - 28,12,1,0,51,0,51,0,0,0,30,0,115,128,97,128, - 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, - 8,7,7,9,0,1,195,102,60,24,60,102,195,12,11,22, - 12,0,0,15,48,57,224,48,192,97,224,99,96,102,96,108, - 96,120,96,48,192,121,192,207,0,9,14,28,11,1,0,24, - 0,12,0,0,0,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,0,62,0,9,14,28,11,1, - 0,6,0,12,0,0,0,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,99,0,62,0,9,14,28, - 11,1,0,28,0,54,0,0,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,193,128,99,0,62,0,9, - 14,28,11,1,0,99,0,99,0,0,0,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,10,0,0,6,0,12,0,0,0,192,192,97, - 128,97,128,51,0,51,0,30,0,30,0,12,0,12,0,12, - 0,12,0,8,11,11,10,1,0,192,192,254,199,195,195,199, - 254,192,192,192,6,11,11,8,1,0,120,204,204,204,216,216, - 204,204,204,204,216,7,11,11,8,1,0,48,24,0,120,204, - 12,124,204,204,220,118,7,11,11,8,1,0,24,48,0,120, - 204,12,124,204,204,220,118,7,11,11,8,1,0,56,108,0, - 120,204,12,124,204,204,220,118,7,11,11,8,1,0,52,88, - 0,120,204,12,124,204,204,220,118,7,11,11,8,1,0,108, - 108,0,120,204,12,124,204,204,220,118,7,11,11,8,1,0, - 48,72,48,120,204,12,124,204,204,220,118,11,8,16,13,1, - 0,123,192,206,96,12,96,127,224,204,0,204,0,222,96,119, - 192,7,11,11,9,1,253,60,102,198,192,192,198,102,60,24, - 88,112,6,11,11,8,1,0,96,48,0,120,204,204,252,192, - 192,236,120,6,11,11,8,1,0,24,48,0,120,204,204,252, - 192,192,236,120,6,11,11,8,1,0,56,108,0,120,204,204, - 252,192,192,236,120,6,11,11,8,1,0,108,108,0,120,204, - 204,252,192,192,236,120,3,11,11,4,0,0,192,96,0,96, - 96,96,96,96,96,96,96,3,11,11,4,1,0,96,192,0, - 192,192,192,192,192,192,192,192,5,11,11,4,0,0,112,216, - 0,96,96,96,96,96,96,96,96,5,11,11,4,0,0,216, - 216,0,96,96,96,96,96,96,96,96,7,11,11,9,1,0, - 108,56,72,60,108,198,198,198,198,108,56,7,11,11,9,1, - 0,52,88,0,220,238,198,198,198,198,198,198,7,11,11,9, - 1,0,48,24,0,56,108,198,198,198,198,108,56,7,11,11, - 9,1,0,24,48,0,56,108,198,198,198,198,108,56,7,11, - 11,9,1,0,56,108,0,56,108,198,198,198,198,108,56,7, - 11,11,9,1,0,52,88,0,56,108,198,198,198,198,108,56, - 7,11,11,9,1,0,108,108,0,56,108,198,198,198,198,108, - 56,8,7,7,9,0,1,24,24,0,255,0,24,24,7,8, - 8,9,1,0,58,108,206,214,214,230,108,184,7,11,11,9, - 1,0,48,24,0,198,198,198,198,198,198,238,118,7,11,11, - 9,1,0,12,24,0,198,198,198,198,198,198,238,118,7,11, - 11,9,1,0,56,108,0,198,198,198,198,198,198,238,118,7, - 11,11,9,1,0,108,108,0,198,198,198,198,198,198,238,118, - 8,14,14,8,0,253,12,24,0,195,195,102,102,36,60,24, - 24,24,48,112,7,14,14,9,1,253,192,192,192,216,236,198, - 198,198,198,236,216,192,192,192,8,14,14,8,0,253,54,54, - 0,195,195,102,102,36,60,24,24,24,48,112}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=11 x= 2 y= 7 dx= 9 dy= 0 ascent=11 len=11 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10n[265] U8G_FONT_SECTION("u8g_font_helvB10n") = { - 0,17,23,255,250,11,0,0,0,0,42,58,0,11,255,11, - 0,5,4,4,6,0,7,32,248,112,216,8,7,7,9,0, - 1,24,24,24,255,24,24,24,3,3,3,4,0,255,96,96, - 192,3,1,1,4,0,4,224,2,2,2,4,1,0,192,192, - 4,11,11,4,0,0,16,16,48,32,32,96,64,64,192,128, - 128,7,11,11,8,0,0,56,108,198,198,198,198,198,198,198, - 108,56,4,11,11,8,1,0,48,240,48,48,48,48,48,48, - 48,48,48,7,11,11,8,0,0,124,198,198,6,14,12,24, - 48,96,192,254,7,11,11,8,0,0,124,198,198,6,6,60, - 6,6,198,198,124,8,11,11,8,0,0,6,14,30,54,102, - 198,198,255,6,6,6,7,11,11,8,0,0,126,96,96,192, - 252,14,6,6,198,204,120,7,11,11,8,0,0,60,102,102, - 192,220,230,198,198,198,198,124,7,11,11,8,0,0,254,6, - 12,12,24,24,48,48,96,96,96,7,11,11,8,0,0,124, - 198,198,198,198,124,198,198,198,198,124,7,11,11,8,0,0, - 124,198,198,198,198,198,126,6,198,204,120,2,8,8,5,2, - 0,192,192,0,0,0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=12 len=24 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10r[1720] U8G_FONT_SECTION("u8g_font_helvB10r") = { - 0,17,23,255,250,11,2,27,4,205,32,127,253,12,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, - 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, - 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, - 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, - 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, - 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, - 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, - 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, - 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, - 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, - 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, - 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, - 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, - 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, - 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, - 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, - 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, - 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, - 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, - 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, - 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, - 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, - 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, - 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, - 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, - 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, - 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, - 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, - 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, - 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, - 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, - 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, - 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, - 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, - 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, - 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, - 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, - 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, - 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, - 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, - 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, - 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, - 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, - 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, - 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, - 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, - 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, - 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, - 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, - 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, - 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, - 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, - 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, - 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, - 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, - 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, - 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, - 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, - 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, - 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, - 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, - 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, - 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, - 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, - 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, - 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, - 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, - 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, - 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, - 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, - 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, - 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, - 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, - 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, - 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, - 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, - 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, - 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, - 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, - 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, - 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, - 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, - 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, - 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, - 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, - 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, - 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, - 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, - 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, - 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, - 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, - 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, - 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, - 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, - 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, - 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, - 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, - 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, - 3,9,1,3,114,222,140,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=17 x= 2 y=10 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_FONT_SECTION("u8g_font_helvB12") = { - 0,20,27,254,249,12,2,74,5,106,32,255,252,16,252,12, - 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, - 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, - 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, - 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, - 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, - 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, - 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, - 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, - 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, - 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, - 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, - 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, - 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, - 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, - 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, - 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, - 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, - 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, - 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, - 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, - 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, - 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, - 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, - 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, - 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, - 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, - 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, - 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, - 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, - 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, - 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, - 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, - 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, - 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, - 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, - 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, - 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, - 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, - 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, - 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, - 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, - 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, - 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, - 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, - 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, - 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, - 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, - 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, - 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, - 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, - 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, - 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, - 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, - 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, - 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, - 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, - 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, - 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, - 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, - 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, - 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, - 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, - 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, - 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, - 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, - 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, - 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, - 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, - 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, - 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, - 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, - 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, - 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, - 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, - 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, - 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, - 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, - 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, - 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, - 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, - 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, - 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, - 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, - 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, - 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, - 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, - 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, - 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, - 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, - 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, - 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, - 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, - 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, - 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, - 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, - 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, - 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, - 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, - 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, - 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, - 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, - 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, - 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, - 8,3,3,10,1,3,113,153,142,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,5,0,1, - 2,12,12,6,1,253,192,192,0,64,64,64,192,192,192,192, - 192,192,8,11,11,9,0,255,4,60,126,239,200,216,208,247, - 126,60,32,8,12,12,9,0,0,28,62,99,99,96,48,124, - 48,48,32,127,255,7,7,7,9,1,2,186,124,198,198,198, - 124,186,8,12,12,9,0,0,195,195,102,102,60,24,126,24, - 126,24,24,24,1,16,16,5,2,252,128,128,128,128,128,128, - 128,0,0,128,128,128,128,128,128,128,8,15,15,9,0,253, - 60,126,102,96,120,126,199,195,243,126,30,6,102,126,60,5, - 2,2,6,0,10,216,216,12,12,24,12,0,0,15,0,57, - 192,96,96,79,32,217,176,144,16,144,16,217,176,79,32,96, - 32,57,192,15,0,5,7,7,6,1,5,96,144,112,144,120, - 0,248,8,6,6,9,0,2,51,102,204,204,102,51,8,5, - 5,10,0,2,255,255,3,3,3,4,2,2,5,0,3,240, - 240,12,12,24,12,0,0,15,0,57,192,96,96,95,32,217, - 176,153,144,158,16,219,48,91,32,96,96,57,192,15,0,5, - 1,1,6,0,10,248,4,5,5,7,1,7,96,144,144,144, - 96,8,11,11,10,1,0,24,24,24,255,255,24,24,24,0, - 255,255,5,7,7,6,0,5,112,216,216,48,96,248,248,5, - 7,7,6,0,5,112,216,24,48,24,216,112,3,3,3,6, - 1,10,32,96,128,8,12,12,10,1,253,195,195,195,195,195, - 195,199,255,251,192,192,192,8,15,15,9,0,253,127,242,242, - 242,242,242,114,18,18,18,18,18,18,18,18,2,2,2,5, - 1,4,192,192,5,4,4,6,0,252,32,48,152,112,4,7, - 7,6,1,5,48,240,240,48,48,48,48,5,7,7,6,0, - 5,112,216,136,216,112,0,248,8,6,6,9,1,2,204,102, - 51,51,102,204,13,12,24,14,1,0,48,192,240,128,241,128, - 49,0,51,48,50,112,54,240,4,176,13,176,9,248,24,48, - 16,48,12,12,24,14,0,0,48,128,241,128,241,0,51,0, - 50,0,54,224,53,176,13,176,8,96,24,192,17,240,49,240, - 13,12,24,14,0,0,112,64,216,192,24,128,49,128,25,48, - 219,112,114,240,6,176,5,176,13,248,8,48,24,48,7,12, - 12,10,1,253,48,48,0,48,48,96,224,192,198,198,254,124, - 11,16,32,12,0,0,16,0,24,0,4,0,0,0,14,0, - 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, - 255,224,192,96,192,96,11,16,32,12,0,0,2,0,6,0, - 8,0,0,0,14,0,14,0,31,0,27,0,59,128,49,128, - 113,192,96,192,127,192,255,224,192,96,192,96,11,16,32,12, - 0,0,4,0,14,0,17,0,0,0,14,0,14,0,31,0, - 27,0,59,128,49,128,113,192,96,192,127,192,255,224,192,96, - 192,96,11,15,30,12,0,0,14,128,23,0,0,0,14,0, - 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, - 255,224,192,96,192,96,11,15,30,12,0,0,49,128,49,128, - 0,0,14,0,14,0,31,0,27,0,59,128,49,128,113,192, - 96,192,127,192,255,224,192,96,192,96,11,16,32,12,0,0, - 12,0,18,0,18,0,12,0,14,0,14,0,31,0,27,0, - 59,128,49,128,113,192,96,192,127,192,255,224,192,96,192,96, - 14,12,24,15,0,0,31,252,31,252,27,0,51,0,51,0, - 51,248,99,248,127,0,127,0,195,0,195,252,195,252,10,16, - 32,12,1,252,31,0,63,128,113,192,96,192,224,0,192,0, - 192,0,224,0,96,192,113,192,63,128,31,0,4,0,6,0, - 19,0,14,0,8,16,16,10,1,0,32,48,8,0,255,255, - 192,192,192,254,254,192,192,192,255,255,8,16,16,10,1,0, - 4,12,16,0,255,255,192,192,192,254,254,192,192,192,255,255, - 8,16,16,10,1,0,8,28,34,0,255,255,192,192,192,254, - 254,192,192,192,255,255,8,15,15,10,1,0,102,102,0,255, - 255,192,192,192,254,254,192,192,192,255,255,3,16,16,4,0, - 0,128,192,32,0,96,96,96,96,96,96,96,96,96,96,96, - 96,3,16,16,4,1,0,32,96,128,0,192,192,192,192,192, - 192,192,192,192,192,192,192,5,16,16,4,0,0,32,112,136, - 0,96,96,96,96,96,96,96,96,96,96,96,96,6,15,15, - 4,255,0,204,204,0,48,48,48,48,48,48,48,48,48,48, - 48,48,12,12,24,12,0,0,63,0,63,192,48,224,48,96, - 48,112,252,48,252,48,48,112,48,96,48,224,63,192,63,0, - 10,15,30,12,1,0,29,0,46,0,0,0,224,192,240,192, - 240,192,216,192,216,192,204,192,204,192,198,192,198,192,195,192, - 195,192,193,192,11,16,32,13,1,0,8,0,12,0,2,0, - 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, - 224,224,96,192,113,192,63,128,31,0,11,16,32,13,1,0, - 1,0,3,0,4,0,0,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 11,16,32,13,1,0,4,0,14,0,17,0,0,0,31,0, - 63,128,113,192,96,192,224,224,192,96,192,96,224,224,96,192, - 113,192,63,128,31,0,11,15,30,13,1,0,14,128,23,0, - 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, - 224,224,96,192,113,192,63,128,31,0,11,15,30,13,1,0, - 25,128,25,128,0,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,224,224,96,192,113,192,63,128,31,0,9,9, - 18,10,0,0,65,0,227,128,119,0,62,0,28,0,62,0, - 119,0,227,128,65,0,11,12,24,13,1,0,31,32,63,192, - 112,192,97,192,227,96,198,96,204,96,216,224,112,192,97,192, - 127,128,159,0,10,16,32,12,1,0,16,0,24,0,4,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,16,32,12,1,0, - 2,0,6,0,8,0,0,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, - 10,16,32,12,1,0,4,0,14,0,17,0,0,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,15,30,12,1,0,51,0,51,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,16,32,11,0,0, - 2,0,6,0,8,0,0,0,192,192,225,192,97,128,51,0, - 51,0,30,0,30,0,12,0,12,0,12,0,12,0,12,0, - 9,12,24,11,1,0,192,0,254,0,255,0,195,128,193,128, - 193,128,195,128,255,0,254,0,192,0,192,0,192,0,8,12, - 12,10,1,0,124,254,198,198,220,222,195,195,195,195,222,220, - 8,13,13,9,1,0,32,48,8,0,124,254,198,14,126,230, - 198,254,119,8,13,13,9,1,0,4,12,16,0,124,254,198, - 14,126,230,198,254,119,8,13,13,9,1,0,16,56,68,0, - 124,254,198,14,126,230,198,254,119,8,12,12,9,1,0,58, - 92,0,124,254,198,14,126,230,198,254,119,8,12,12,9,1, - 0,108,108,0,124,254,198,14,126,230,198,254,119,8,13,13, - 9,1,0,24,36,36,24,124,254,198,14,126,230,198,254,119, - 13,9,18,15,1,0,125,224,255,240,198,24,15,248,127,248, - 230,0,207,56,255,240,121,224,8,13,13,9,1,252,60,126, - 231,192,192,192,231,126,60,16,24,76,56,8,13,13,10,1, - 0,32,48,8,0,60,126,195,255,255,192,231,126,60,8,13, - 13,10,1,0,4,12,16,0,60,126,195,255,255,192,231,126, - 60,8,13,13,10,1,0,8,28,34,0,60,126,195,255,255, - 192,231,126,60,8,12,12,10,1,0,54,54,0,60,126,195, - 255,255,192,231,126,60,3,13,13,4,0,0,128,192,32,0, - 96,96,96,96,96,96,96,96,96,3,13,13,4,1,0,32, - 96,128,0,192,192,192,192,192,192,192,192,192,5,13,13,4, - 0,0,32,112,136,0,96,96,96,96,96,96,96,96,96,5, - 12,12,4,0,0,216,216,0,96,96,96,96,96,96,96,96, - 96,8,12,12,10,1,0,96,124,248,28,126,231,195,195,195, - 231,126,60,8,12,12,10,1,0,58,92,0,222,255,227,195, - 195,195,195,195,195,8,13,13,10,1,0,32,48,8,0,60, - 126,231,195,195,195,231,126,60,8,13,13,10,1,0,8,24, - 32,0,60,126,231,195,195,195,231,126,60,8,13,13,10,1, - 0,16,56,68,0,60,126,231,195,195,195,231,126,60,8,12, - 12,10,1,0,58,92,0,60,126,231,195,195,195,231,126,60, - 8,12,12,10,1,0,108,108,0,60,126,231,195,195,195,231, - 126,60,8,8,8,10,1,0,24,24,0,255,255,0,24,24, - 8,9,9,10,1,0,61,127,231,207,219,243,231,254,188,8, - 13,13,10,1,0,32,48,8,0,195,195,195,195,195,195,199, - 255,123,8,13,13,10,1,0,8,24,32,0,195,195,195,195, - 195,195,199,255,123,8,13,13,10,1,0,16,56,68,0,195, - 195,195,195,195,195,199,255,123,8,12,12,10,1,0,108,108, - 0,195,195,195,195,195,195,199,255,123,8,17,17,9,0,252, - 4,12,16,0,195,195,99,102,54,54,60,28,24,24,24,112, - 96,8,16,16,10,1,252,192,192,192,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,16,16,9,0,252,54,54,0, - 195,195,99,102,54,54,60,28,24,24,24,112,96}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 8 h=12 x= 2 y= 7 dx=10 dy= 0 ascent=12 len=12 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12n[281] U8G_FONT_SECTION("u8g_font_helvB12n") = { - 0,20,27,254,249,12,0,0,0,0,42,58,0,12,253,12, - 0,5,5,5,6,0,7,32,168,112,112,136,8,8,8,10, - 1,0,24,24,24,255,255,24,24,24,2,5,5,4,1,253, - 192,192,64,64,128,4,2,2,5,0,3,240,240,2,2,2, - 4,1,0,192,192,4,12,12,5,0,0,16,16,48,32,32, - 96,64,64,192,128,128,128,8,12,12,9,0,0,60,126,231, - 195,195,195,195,195,195,231,126,60,5,12,12,9,1,0,8, - 24,248,248,24,24,24,24,24,24,24,24,8,12,12,9,0, - 0,60,126,231,195,195,7,14,28,56,112,255,255,8,12,12, - 9,0,0,60,126,231,195,7,30,30,7,195,231,126,60,8, - 12,12,9,0,0,14,30,54,54,102,102,198,255,255,6,6, - 6,8,12,12,9,0,0,63,63,48,48,124,126,71,3,3, - 231,126,60,8,12,12,9,0,0,60,126,231,192,220,254,231, - 195,195,231,126,60,8,12,12,9,0,0,255,255,6,6,12, - 12,24,24,24,48,48,48,8,12,12,9,0,0,60,126,231, - 195,102,60,126,231,195,231,126,60,8,12,12,9,0,0,60, - 126,231,195,195,231,127,59,3,231,126,60,2,8,8,5,2, - 0,192,192,0,0,0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=16 x= 2 y=10 dx=16 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12r[1914] U8G_FONT_SECTION("u8g_font_helvB12r") = { - 0,20,27,254,249,12,2,74,5,106,32,127,252,13,252,12, - 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, - 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, - 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, - 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, - 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, - 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, - 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, - 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, - 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, - 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, - 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, - 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, - 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, - 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, - 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, - 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, - 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, - 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, - 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, - 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, - 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, - 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, - 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, - 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, - 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, - 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, - 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, - 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, - 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, - 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, - 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, - 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, - 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, - 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, - 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, - 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, - 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, - 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, - 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, - 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, - 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, - 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, - 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, - 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, - 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, - 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, - 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, - 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, - 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, - 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, - 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, - 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, - 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, - 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, - 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, - 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, - 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, - 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, - 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, - 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, - 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, - 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, - 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, - 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, - 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, - 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, - 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, - 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, - 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, - 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, - 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, - 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, - 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, - 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, - 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, - 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, - 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, - 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, - 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, - 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, - 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, - 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, - 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, - 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, - 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, - 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, - 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, - 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, - 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, - 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, - 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, - 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, - 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, - 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, - 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, - 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, - 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, - 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, - 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, - 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, - 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, - 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, - 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, - 8,3,3,10,1,3,113,153,142,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=19 x= 2 y=12 dx=18 dy= 0 ascent=18 len=38 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_FONT_SECTION("u8g_font_helvB14") = { - 0,22,29,254,249,14,3,23,6,234,32,255,252,18,251,14, - 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, - 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, - 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, - 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, - 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, - 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, - 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, - 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, - 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, - 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, - 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, - 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, - 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, - 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, - 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, - 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, - 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, - 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, - 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, - 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, - 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, - 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, - 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, - 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, - 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, - 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, - 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, - 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, - 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, - 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, - 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, - 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, - 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, - 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, - 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, - 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, - 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, - 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, - 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, - 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, - 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, - 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, - 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, - 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, - 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, - 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, - 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, - 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, - 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, - 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, - 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, - 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, - 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, - 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, - 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, - 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, - 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, - 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, - 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, - 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, - 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, - 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, - 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, - 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, - 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, - 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, - 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, - 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, - 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, - 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, - 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, - 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, - 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, - 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, - 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, - 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, - 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, - 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, - 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, - 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, - 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, - 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, - 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, - 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, - 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, - 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, - 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, - 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, - 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, - 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, - 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, - 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, - 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, - 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, - 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, - 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, - 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, - 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, - 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, - 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, - 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, - 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, - 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, - 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, - 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, - 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, - 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, - 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, - 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, - 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, - 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, - 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, - 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, - 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, - 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, - 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, - 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, - 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, - 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, - 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, - 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, - 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, - 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, - 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, - 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, - 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, - 128,207,0,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,5,0,1,3,14,14,6,2,252, - 224,224,224,0,96,96,224,224,224,224,224,224,224,224,8,14, - 14,10,1,254,2,2,62,127,231,200,200,208,208,227,127,126, - 64,64,10,13,26,11,0,0,31,0,63,192,113,192,112,0, - 112,0,56,0,127,0,28,0,28,0,56,0,112,192,255,192, - 239,128,9,8,16,11,1,2,193,128,255,128,119,0,99,0, - 99,0,119,0,255,128,193,128,9,13,26,10,0,0,227,128, - 227,128,227,128,119,0,119,0,62,0,255,128,28,0,255,128, - 28,0,28,0,28,0,28,0,2,18,18,5,1,252,192,192, - 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,192, - 9,18,36,10,0,252,62,0,127,0,227,128,227,128,240,0, - 124,0,254,0,199,0,195,128,225,128,113,128,63,128,15,0, - 7,128,227,128,227,128,127,0,62,0,5,2,2,7,1,12, - 216,216,14,14,28,15,1,0,15,192,56,112,96,24,199,140, - 207,204,152,196,152,4,152,4,152,68,207,204,199,140,96,24, - 56,112,15,192,6,9,9,8,1,5,120,140,124,204,204,116, - 0,252,252,10,8,16,11,0,1,29,192,59,128,119,0,238, - 0,238,0,119,0,59,128,29,192,9,5,10,11,1,3,255, - 128,255,128,1,128,1,128,1,128,5,3,3,6,0,4,248, - 248,248,13,14,28,15,1,0,15,128,48,96,96,16,95,144, - 153,200,152,200,153,200,159,8,153,136,153,136,88,208,96,48, - 56,224,15,128,5,2,2,7,1,12,248,248,6,6,6,7, - 0,7,120,252,204,204,252,120,9,9,18,11,1,0,28,0, - 28,0,255,128,255,128,28,0,28,0,0,0,255,128,255,128, - 6,8,8,6,0,5,120,252,204,28,120,224,252,252,6,8, - 8,6,0,5,120,252,204,56,60,204,252,120,5,3,3,5, - 0,11,56,112,224,9,14,28,11,1,252,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,251,128,224, - 0,224,0,224,0,224,0,9,18,36,10,0,252,63,128,123, - 0,251,0,251,0,251,0,251,0,251,0,123,0,59,0,27, - 0,27,0,27,0,27,0,27,0,27,0,27,0,27,0,27, - 0,2,2,2,5,1,6,192,192,5,5,5,7,1,251,96, - 112,24,248,240,4,8,8,6,0,5,48,240,240,48,48,48, - 48,48,6,9,9,8,1,5,120,204,204,204,204,120,0,252, - 252,10,8,16,11,0,1,238,0,119,0,59,128,29,192,29, - 192,59,128,119,0,238,0,14,13,26,15,0,0,48,96,240, - 96,240,192,48,192,49,128,49,152,51,56,54,56,6,120,12, - 216,12,252,24,24,24,24,15,13,26,15,0,0,48,96,240, - 96,240,192,48,192,49,128,49,188,51,126,54,102,6,14,12, - 60,12,112,24,126,24,126,14,13,26,15,0,0,120,48,252, - 48,204,96,56,96,60,192,204,216,253,184,123,56,3,120,6, - 216,6,252,12,24,12,24,8,14,14,10,1,252,28,28,28, - 0,28,28,28,56,120,112,231,231,255,126,12,18,36,14,1, - 0,56,0,28,0,6,0,0,0,15,0,15,0,31,128,25, - 128,25,128,57,192,57,192,48,192,112,224,127,224,127,224,224, - 112,224,112,224,112,12,18,36,14,1,0,1,192,3,128,6, - 0,0,0,15,0,15,0,31,128,25,128,25,128,57,192,57, - 192,48,192,112,224,127,224,127,224,224,112,224,112,224,112,12, - 18,36,14,1,0,7,0,15,128,29,192,0,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,12,18,36,14,1,0,14, - 32,31,192,35,128,0,0,15,0,15,0,31,128,25,128,25, - 128,57,192,57,192,48,192,112,224,127,224,127,224,224,112,224, - 112,224,112,12,18,36,14,1,0,25,128,25,128,25,128,0, - 0,15,0,15,0,31,128,25,128,25,128,57,192,57,192,48, - 192,112,224,127,224,127,224,224,112,224,112,224,112,12,18,36, - 14,1,0,15,0,25,128,25,128,15,0,15,0,15,0,31, - 128,25,128,25,128,57,192,57,192,48,192,112,224,127,224,127, - 224,224,112,224,112,224,112,16,14,28,18,1,0,15,255,15, - 255,31,128,27,128,59,128,59,128,51,254,115,254,115,128,127, - 128,255,128,227,128,227,255,227,255,12,19,38,14,1,251,15, - 128,63,224,120,224,112,112,240,112,224,0,224,0,224,0,224, - 0,240,112,112,112,120,224,63,224,15,128,12,0,14,0,3, - 0,31,0,30,0,10,18,36,13,2,0,56,0,28,0,6, - 0,0,0,255,192,255,192,224,0,224,0,224,0,224,0,255, - 128,255,128,224,0,224,0,224,0,224,0,255,192,255,192,10, - 18,36,13,2,0,3,128,7,0,12,0,0,0,255,192,255, - 192,224,0,224,0,224,0,224,0,255,128,255,128,224,0,224, - 0,224,0,224,0,255,192,255,192,10,18,36,13,2,0,14, - 0,31,0,59,128,0,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,255, - 192,255,192,10,18,36,13,2,0,51,0,51,0,51,0,0, - 0,255,192,255,192,224,0,224,0,224,0,224,0,255,128,255, - 128,224,0,224,0,224,0,224,0,255,192,255,192,5,18,18, - 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,5,18,18,5,1,0,56,112,192,0,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,7,18,18, - 5,255,0,56,124,238,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,6,18,18,5,0,0,204,204,204,0,112, - 112,112,112,112,112,112,112,112,112,112,112,112,112,14,14,28, - 14,255,0,63,192,63,240,56,120,56,56,56,28,56,28,255, - 28,255,28,56,28,56,28,56,56,56,120,63,240,63,192,12, - 18,36,14,1,0,14,32,31,192,35,128,0,0,224,112,240, - 112,240,112,248,112,252,112,236,112,238,112,230,112,231,112,227, - 112,225,240,225,240,224,240,224,112,13,18,36,15,1,0,28, - 0,14,0,3,0,0,0,15,128,63,224,120,240,112,112,240, - 120,224,56,224,56,224,56,224,56,240,120,112,112,120,240,63, - 224,15,128,13,18,36,15,1,0,1,192,3,128,6,0,0, - 0,15,128,63,224,120,240,112,112,240,120,224,56,224,56,224, - 56,224,56,240,120,112,112,120,240,63,224,15,128,13,18,36, - 15,1,0,7,0,15,128,29,192,0,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,13,18,36,15,1,0,7,16,15, - 224,17,192,0,0,15,128,63,224,120,240,112,112,240,120,224, - 56,224,56,224,56,224,56,240,120,112,112,120,240,63,224,15, - 128,13,18,36,15,1,0,12,192,12,192,12,192,0,0,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,240,120,112,112,120,240,63,224,15,128,10,8,16,11,0, - 1,225,192,115,128,63,0,30,0,30,0,63,0,115,128,225, - 192,15,14,28,15,0,0,7,198,31,252,60,56,56,120,120, - 220,113,156,113,28,115,28,118,28,124,60,56,56,60,120,127, - 240,199,192,12,18,36,14,1,0,28,0,14,0,3,0,0, - 0,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,112,224,127,224,31,128,12,18,36, - 14,1,0,1,192,3,128,6,0,0,0,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,112,224,127,224,31,128,12,18,36,14,1,0,7,0,15, - 128,29,192,0,0,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,127,224,31, - 128,12,18,36,14,1,0,25,128,25,128,25,128,0,0,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,112,224,127,224,31,128,13,18,36,13,0, - 0,1,192,3,128,6,0,0,0,224,56,224,56,112,112,56, - 224,56,224,29,192,29,192,15,128,7,0,7,0,7,0,7, - 0,7,0,7,0,11,14,28,13,1,0,224,0,224,0,224, - 0,255,0,255,192,225,224,224,224,224,224,225,224,255,192,255, - 0,224,0,224,0,224,0,8,14,14,10,1,0,60,126,231, - 231,231,231,238,238,231,231,231,231,239,238,10,14,28,11,1, - 0,112,0,56,0,12,0,0,0,62,0,127,0,115,128,7, - 128,63,128,123,128,227,128,231,128,251,128,123,192,10,14,28, - 11,1,0,3,128,7,0,12,0,0,0,62,0,127,0,115, - 128,7,128,63,128,123,128,227,128,231,128,251,128,123,192,10, - 14,28,11,1,0,28,0,62,0,119,0,0,0,62,0,127, - 0,115,128,7,128,63,128,123,128,227,128,231,128,251,128,123, - 192,10,14,28,11,1,0,59,0,127,0,110,0,0,0,62, - 0,127,0,115,128,7,128,63,128,123,128,227,128,231,128,251, - 128,123,192,10,14,28,11,1,0,51,0,51,0,51,0,0, - 0,62,0,127,0,115,128,7,128,63,128,123,128,227,128,231, - 128,251,128,123,192,10,14,28,11,1,0,60,0,102,0,102, - 0,60,0,62,0,127,0,115,128,7,128,63,128,123,128,227, - 128,231,128,251,128,123,192,14,10,20,16,1,0,61,240,127, - 248,103,28,15,28,63,252,119,0,231,0,239,156,255,252,121, - 240,9,15,30,10,1,251,30,0,127,128,115,128,224,0,224, - 0,224,0,224,0,115,128,127,128,30,0,24,0,28,0,6, - 0,62,0,60,0,9,14,28,11,1,0,112,0,56,0,12, - 0,0,0,30,0,127,0,115,128,225,128,255,128,255,128,224, - 0,115,128,127,128,30,0,9,14,28,11,1,0,3,128,7, - 0,12,0,0,0,30,0,127,0,115,128,225,128,255,128,255, - 128,224,0,115,128,127,128,30,0,9,14,28,11,1,0,28, - 0,62,0,119,0,0,0,30,0,127,0,115,128,225,128,255, - 128,255,128,224,0,115,128,127,128,30,0,9,14,28,11,1, - 0,51,0,51,0,51,0,0,0,30,0,127,0,115,128,225, - 128,255,128,255,128,224,0,115,128,127,128,30,0,5,14,14, - 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, - 56,5,14,14,5,1,0,56,112,192,0,224,224,224,224,224, - 224,224,224,224,224,7,14,14,5,255,0,56,124,238,0,56, - 56,56,56,56,56,56,56,56,56,5,14,14,5,0,0,216, - 216,216,0,112,112,112,112,112,112,112,112,112,112,10,14,28, - 12,1,0,96,0,55,0,60,0,102,0,31,0,127,128,115, - 128,225,192,225,192,225,192,225,192,115,128,127,128,30,0,9, - 14,28,11,1,0,59,0,127,0,110,0,0,0,239,0,255, - 128,243,128,227,128,227,128,227,128,227,128,227,128,227,128,227, - 128,10,14,28,12,1,0,112,0,56,0,12,0,0,0,30, - 0,127,128,115,128,225,192,225,192,225,192,225,192,115,128,127, - 128,30,0,10,14,28,12,1,0,3,128,7,0,12,0,0, - 0,30,0,127,128,115,128,225,192,225,192,225,192,225,192,115, - 128,127,128,30,0,10,14,28,12,1,0,28,0,62,0,119, - 0,0,0,30,0,127,128,115,128,225,192,225,192,225,192,225, - 192,115,128,127,128,30,0,10,14,28,12,1,0,59,0,127, - 0,110,0,0,0,30,0,127,128,115,128,225,192,225,192,225, - 192,225,192,115,128,127,128,30,0,10,14,28,12,1,0,51, - 0,51,0,51,0,0,0,30,0,127,128,115,128,225,192,225, - 192,225,192,225,192,115,128,127,128,30,0,9,8,16,11,1, - 1,28,0,28,0,0,0,255,128,255,128,0,0,28,0,28, - 0,12,10,20,12,0,0,15,48,63,224,57,192,115,224,119, - 224,126,224,124,224,57,192,127,192,207,0,9,14,28,11,1, - 0,112,0,56,0,12,0,0,0,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,231,128,255,128,123,128,9,14,28, - 11,1,0,3,128,7,0,12,0,0,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 14,28,11,1,0,28,0,62,0,119,0,0,0,227,128,227, - 128,227,128,227,128,227,128,227,128,227,128,231,128,255,128,123, - 128,9,14,28,11,1,0,51,0,51,0,51,0,0,0,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,231,128,255, - 128,123,128,9,18,36,11,1,252,7,0,14,0,24,0,0, - 0,227,128,227,128,227,128,119,0,119,0,119,0,62,0,62, - 0,28,0,28,0,28,0,24,0,120,0,112,0,10,18,36, - 12,1,252,224,0,224,0,224,0,224,0,239,0,255,128,243, - 128,225,192,225,192,225,192,225,192,243,128,255,128,239,0,224, - 0,224,0,224,0,224,0,9,18,36,11,1,252,51,0,51, - 0,51,0,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,28,0,24,0,120,0,112, - 0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 13 - Calculated Max Values w= 9 h=14 x= 1 y= 8 dx=11 dy= 0 ascent=14 len=26 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =13 descent= 0 - X Font ascent =13 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14n[416] U8G_FONT_SECTION("u8g_font_helvB14n") = { - 0,22,29,254,249,13,0,0,0,0,42,58,0,14,253,13, - 0,7,6,6,9,1,8,16,214,124,56,108,68,8,8,8, - 11,1,1,24,24,24,255,255,24,24,24,3,6,6,5,1, - 253,224,224,224,96,192,128,5,3,3,6,0,4,248,248,248, - 3,3,3,5,1,0,224,224,224,5,14,14,5,0,0,24, - 24,24,56,48,48,48,112,96,96,224,192,192,192,9,13,26, - 10,0,0,28,0,127,0,119,0,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,119,0,127,0,28,0,6,13,13, - 10,1,0,28,60,252,252,28,28,28,28,28,28,28,28,28, - 9,13,26,10,0,0,62,0,127,0,227,128,227,128,3,128, - 7,0,31,0,62,0,120,0,112,0,224,0,255,128,255,128, - 9,13,26,10,0,0,62,0,127,0,231,0,227,0,7,0, - 30,0,31,0,7,128,3,128,227,128,231,128,127,0,62,0, - 9,13,26,10,0,0,7,0,15,0,31,0,63,0,55,0, - 119,0,103,0,231,0,255,128,255,128,7,0,7,0,7,0, - 9,13,26,10,0,0,255,0,255,0,224,0,224,0,254,0, - 255,0,231,128,3,128,3,128,227,128,231,128,255,0,126,0, - 9,13,26,10,0,0,63,0,127,128,113,128,224,0,238,0, - 255,0,243,128,225,128,225,128,225,128,243,128,127,0,62,0, - 9,13,26,10,0,0,255,128,255,128,3,128,7,0,14,0, - 14,0,28,0,28,0,56,0,56,0,112,0,112,0,112,0, - 9,13,26,10,0,0,62,0,127,0,227,128,227,128,227,128, - 127,0,62,0,119,0,227,128,227,128,227,128,127,0,62,0, - 9,13,26,10,0,0,62,0,127,0,231,128,195,128,195,128, - 195,128,231,128,127,128,59,128,3,128,199,0,255,0,126,0, - 3,10,10,6,1,0,224,224,224,0,0,0,0,224,224,224 - }; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14r[2548] U8G_FONT_SECTION("u8g_font_helvB14r") = { - 0,22,29,254,249,14,3,23,6,234,32,127,252,14,252,14, - 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, - 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, - 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, - 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, - 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, - 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, - 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, - 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, - 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, - 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, - 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, - 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, - 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, - 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, - 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, - 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, - 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, - 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, - 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, - 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, - 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, - 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, - 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, - 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, - 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, - 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, - 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, - 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, - 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, - 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, - 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, - 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, - 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, - 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, - 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, - 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, - 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, - 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, - 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, - 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, - 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, - 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, - 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, - 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, - 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, - 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, - 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, - 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, - 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, - 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, - 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, - 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, - 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, - 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, - 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, - 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, - 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, - 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, - 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, - 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, - 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, - 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, - 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, - 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, - 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, - 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, - 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, - 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, - 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, - 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, - 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, - 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, - 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, - 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, - 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, - 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, - 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, - 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, - 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, - 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, - 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, - 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, - 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, - 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, - 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, - 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, - 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, - 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, - 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, - 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, - 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, - 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, - 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, - 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, - 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, - 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, - 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, - 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, - 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, - 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, - 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, - 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, - 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, - 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, - 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, - 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, - 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, - 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, - 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, - 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, - 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, - 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, - 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, - 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, - 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, - 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, - 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, - 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, - 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, - 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, - 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, - 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, - 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, - 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, - 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, - 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, - 128,207,0,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=17 dx=24 dy= 0 ascent=24 len=72 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_FONT_SECTION("u8g_font_helvB18") = { - 0,28,37,254,248,19,4,35,9,107,32,255,251,24,251,19, - 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, - 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, - 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, - 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, - 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, - 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, - 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, - 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, - 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, - 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, - 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, - 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, - 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, - 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, - 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, - 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, - 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, - 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, - 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, - 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, - 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, - 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, - 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, - 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, - 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, - 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, - 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, - 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, - 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, - 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, - 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, - 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, - 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, - 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, - 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, - 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, - 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, - 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, - 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, - 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, - 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, - 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, - 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, - 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, - 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, - 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, - 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, - 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, - 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, - 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, - 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, - 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, - 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, - 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, - 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, - 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, - 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, - 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, - 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, - 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, - 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, - 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, - 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, - 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, - 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, - 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, - 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, - 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, - 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, - 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, - 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, - 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, - 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, - 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, - 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, - 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, - 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, - 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, - 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, - 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, - 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, - 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, - 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, - 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, - 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, - 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, - 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, - 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, - 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, - 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, - 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, - 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, - 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, - 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, - 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, - 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, - 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, - 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, - 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, - 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, - 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, - 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, - 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, - 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, - 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, - 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, - 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, - 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, - 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, - 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, - 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, - 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, - 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, - 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, - 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, - 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, - 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, - 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, - 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, - 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, - 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, - 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, - 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, - 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, - 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, - 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, - 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, - 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, - 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, - 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, - 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, - 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, - 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, - 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, - 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, - 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, - 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, - 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, - 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, - 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, - 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, - 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, - 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, - 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, - 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, - 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, - 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, - 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, - 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, - 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, - 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, - 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, - 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, - 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, - 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, - 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, - 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, - 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, - 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, - 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, - 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, - 8,14,1,5,120,224,254,224,239,224,227,192,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,1,3,19,19,7,2,251,224,224,224,0,0,96,96, - 96,224,224,224,224,224,224,224,224,224,224,224,11,18,36,14, - 1,254,1,128,1,128,31,128,63,192,123,224,115,96,227,0, - 230,0,230,0,230,0,230,0,236,0,236,224,125,224,127,192, - 63,128,24,0,24,0,13,18,36,14,1,0,31,128,63,192, - 112,224,112,224,112,0,120,0,56,0,28,0,255,192,255,192, - 28,0,28,0,28,0,56,0,56,0,127,56,255,248,241,240, - 12,12,24,14,1,3,192,48,239,112,127,224,57,192,112,224, - 112,224,112,224,112,224,57,192,127,224,239,112,192,48,13,18, - 36,14,0,0,224,56,224,56,112,112,112,112,56,224,56,224, - 29,192,29,192,127,240,127,240,7,0,127,240,127,240,7,0, - 7,0,7,0,7,0,7,0,2,24,24,7,3,251,192,192, - 192,192,192,192,192,192,192,192,0,0,0,0,192,192,192,192, - 192,192,192,192,192,192,12,24,48,14,1,251,31,128,63,192, - 121,224,112,224,120,224,60,0,30,0,127,0,247,128,227,192, - 225,224,224,224,112,112,120,112,60,112,30,224,15,192,7,128, - 3,192,113,224,112,224,121,224,63,192,31,128,7,2,2,9, - 1,16,238,238,19,19,57,19,0,0,1,240,0,15,254,0, - 30,15,0,56,3,128,112,1,192,97,240,192,227,184,224,198, - 12,96,198,0,96,198,0,96,198,0,96,198,12,96,227,184, - 224,97,240,192,112,1,192,56,3,128,30,15,0,15,254,0, - 1,240,0,8,12,12,10,1,7,124,254,198,30,126,230,198, - 255,123,0,255,255,10,8,16,13,1,3,29,192,59,128,119, - 0,238,0,238,0,119,0,59,128,29,192,12,7,14,15,1, - 4,255,240,255,240,0,48,0,48,0,48,0,48,0,48,7, - 3,3,8,0,6,254,254,254,19,19,57,19,0,0,3,248, - 0,15,254,0,28,15,0,56,3,128,115,249,192,99,28,192, - 227,12,224,195,12,96,195,24,96,195,240,96,195,48,96,195, - 24,96,227,24,96,99,12,224,112,0,192,56,1,192,30,3, - 128,15,254,0,3,248,0,7,2,2,9,1,17,254,254,8, - 7,7,9,0,11,60,102,195,195,195,102,60,11,13,26,15, - 2,0,14,0,14,0,14,0,14,0,255,224,255,224,14,0, - 14,0,14,0,14,0,0,0,255,224,255,224,6,10,10,7, - 0,8,120,252,204,12,28,120,224,192,252,252,6,10,10,7, - 0,8,120,252,204,12,56,56,12,204,252,120,6,4,4,8, - 1,15,28,56,112,224,11,19,38,15,2,251,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 225,224,243,224,254,224,236,224,224,0,224,0,224,0,224,0, - 224,0,11,24,48,13,1,251,15,224,63,224,124,192,124,192, - 252,192,252,192,252,192,252,192,252,192,124,192,124,192,60,192, - 28,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,3,3,3,7,2,6,224,224, - 224,6,6,6,8,1,251,112,120,28,28,252,120,4,10,10, - 7,1,8,48,48,240,240,48,48,48,48,48,48,8,12,12, - 10,1,7,60,126,231,195,195,195,231,126,60,0,255,255,10, - 8,16,13,1,3,238,0,119,0,59,128,29,192,29,192,59, - 128,119,0,238,0,17,18,54,19,1,0,48,24,0,48,24, - 0,240,48,0,240,48,0,48,96,0,48,96,0,48,192,0, - 48,192,0,49,134,0,49,142,0,3,30,0,3,30,0,6, - 54,0,6,102,0,12,127,128,12,127,128,24,6,0,24,6, - 0,16,18,36,19,1,0,48,24,48,24,240,48,240,48,48, - 96,48,96,48,192,48,192,49,158,49,191,3,51,3,3,6, - 7,6,30,12,56,12,48,24,63,24,63,17,18,54,19,1, - 0,120,24,0,252,24,0,204,48,0,12,48,0,56,96,0, - 56,96,0,12,192,0,204,192,0,253,134,0,121,142,0,3, - 30,0,3,30,0,6,54,0,6,102,0,12,127,128,12,127, - 128,24,6,0,24,6,0,11,19,38,15,2,251,14,0,14, - 0,14,0,0,0,0,0,14,0,14,0,14,0,14,0,28, - 0,60,0,120,0,112,0,240,224,224,224,225,224,243,192,127, - 192,63,0,16,24,48,18,1,0,14,0,7,0,3,128,1, - 192,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, - 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, - 14,112,14,224,7,224,7,224,7,16,24,48,18,1,0,0, - 112,0,224,1,192,3,128,0,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,16, - 24,48,18,1,0,1,192,3,224,7,112,14,56,0,0,3, - 192,3,192,7,224,7,224,14,96,14,112,14,112,28,56,28, - 56,28,56,56,28,56,28,63,252,127,254,112,14,112,14,224, - 7,224,7,224,7,16,23,46,18,1,0,7,152,15,248,12, - 240,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, - 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, - 14,112,14,224,7,224,7,224,7,16,23,46,18,1,0,14, - 112,14,112,0,0,0,0,3,192,3,192,7,224,7,224,14, - 96,14,112,14,112,28,56,28,56,28,56,56,28,56,28,63, - 252,127,254,112,14,112,14,224,7,224,7,224,7,16,24,48, - 18,1,0,3,192,6,96,4,32,6,96,3,192,3,192,3, - 192,7,224,7,224,14,96,14,112,14,112,28,56,28,56,28, - 56,56,28,56,28,63,252,127,254,112,14,112,14,224,7,224, - 7,224,7,22,19,57,24,1,0,3,255,248,3,255,248,7, - 112,0,7,112,0,14,112,0,14,112,0,14,112,0,28,112, - 0,28,127,240,28,127,240,56,112,0,56,112,0,63,240,0, - 127,240,0,112,112,0,112,112,0,224,112,0,224,127,252,224, - 127,252,16,24,48,18,1,251,7,240,31,252,62,62,120,15, - 112,7,240,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,240,7,112,7,120,15,62,62,31,252,7,240,3,192, - 0,224,0,224,7,224,3,192,13,24,48,16,2,0,56,0, - 28,0,14,0,7,0,0,0,255,240,255,240,224,0,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,248,255,248,13,24, - 48,16,2,0,1,192,3,128,7,0,14,0,0,0,255,240, - 255,240,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,248,255,248,13,24,48,16,2,0,7,0,15,128,29,192, - 56,224,0,0,255,240,255,240,224,0,224,0,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,248,255,248,13,23,46,16,2,0, - 56,224,56,224,0,0,0,0,255,240,255,240,224,0,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,248,255,248,6,24, - 24,7,0,0,224,112,56,28,0,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,6,24,24,7, - 1,0,28,56,112,224,0,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,112,112,112,9,24,48,7,255,0, - 28,0,62,0,119,0,227,128,0,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 7,23,23,7,0,0,238,238,0,0,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,19,19,57, - 19,255,0,31,252,0,31,255,0,28,15,128,28,3,192,28, - 1,192,28,1,224,28,0,224,28,0,224,255,192,224,255,192, - 224,28,0,224,28,0,224,28,0,224,28,1,224,28,1,192, - 28,3,192,28,15,128,31,255,0,31,252,0,15,23,46,19, - 2,0,15,48,31,240,25,224,0,0,224,14,240,14,240,14, - 248,14,248,14,252,14,238,14,238,14,231,14,227,142,227,142, - 225,206,224,206,224,238,224,126,224,62,224,62,224,30,224,14, - 17,24,72,19,1,0,14,0,0,7,0,0,3,128,0,1, - 192,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, - 0,112,7,0,240,7,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,112, - 7,0,120,15,0,62,62,0,31,252,0,7,240,0,17,24, - 72,19,1,0,0,56,0,0,112,0,0,224,0,1,192,0, - 0,0,0,7,240,0,31,252,0,62,62,0,120,15,0,112, - 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,7,128,112,7,0, - 120,15,0,62,62,0,31,252,0,7,240,0,17,24,72,19, - 1,0,1,192,0,3,224,0,7,112,0,14,56,0,0,0, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,7,128,224,3,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,240,7,128,112,7,0,120,15, - 0,62,62,0,31,252,0,7,240,0,17,23,69,19,1,0, - 7,152,0,15,248,0,12,240,0,0,0,0,7,240,0,31, - 252,0,62,62,0,120,15,0,112,7,0,240,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,240,7,128,112,7,0,120,15,0,62,62,0,31, - 252,0,7,240,0,17,23,69,19,1,0,14,56,0,14,56, - 0,0,0,0,0,0,0,7,240,0,31,252,0,62,62,0, - 120,15,0,112,7,0,240,7,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,240,7, - 128,112,7,0,120,15,0,62,62,0,31,252,0,7,240,0, - 12,12,24,15,1,1,64,32,224,112,112,224,57,192,31,128, - 15,0,15,0,31,128,57,192,112,224,224,112,64,32,19,19, - 57,19,0,0,3,248,96,15,254,224,31,31,192,60,3,128, - 56,7,128,120,15,192,112,29,192,112,57,192,112,113,192,112, - 225,192,113,193,192,115,129,192,119,1,192,126,3,192,60,3, - 128,60,7,128,127,31,0,239,254,0,195,248,0,15,24,48, - 19,2,0,14,0,7,0,3,128,1,192,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, - 248,15,224,15,24,48,19,2,0,0,112,0,224,1,192,3, - 128,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,112,28,124,124,63,248,15,224,15,24,48,19,2,0,3, - 128,7,192,14,224,28,112,0,0,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,240,30,112,28,124,124,63,248,15,224,15, - 23,46,19,2,0,28,112,28,112,0,0,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, - 248,15,224,15,24,48,17,1,0,0,112,0,224,1,192,3, - 128,0,0,224,14,240,30,112,28,120,60,56,56,60,120,28, - 112,30,240,14,224,15,224,7,192,7,192,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,14,19,38,17,2,0,224, - 0,224,0,224,0,224,0,255,224,255,248,224,56,224,28,224, - 28,224,28,224,28,224,56,255,248,255,240,224,0,224,0,224, - 0,224,0,224,0,11,19,38,14,2,0,30,0,127,128,243, - 128,225,192,225,192,225,192,225,192,227,128,239,0,239,128,227, - 192,225,192,224,224,224,224,224,224,224,224,225,192,239,192,239, - 128,12,19,38,14,1,0,28,0,14,0,7,0,3,128,0, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 14,1,0,1,192,3,128,7,0,14,0,0,0,31,128,63, - 192,113,224,112,224,0,224,7,224,63,224,124,224,240,224,224, - 224,225,224,243,224,127,240,62,112,12,19,38,14,1,0,7, - 0,15,128,29,192,56,224,0,0,31,128,63,192,113,224,112, - 224,0,224,7,224,63,224,124,224,240,224,224,224,225,224,243, - 224,127,240,62,112,12,19,38,14,1,0,60,192,127,192,103, - 128,0,0,0,0,31,128,63,192,113,224,112,224,0,224,7, - 224,63,224,124,224,240,224,224,224,225,224,243,224,127,240,62, - 112,12,18,36,14,1,0,57,192,57,192,0,0,0,0,31, - 128,63,192,113,224,112,224,0,224,7,224,63,224,124,224,240, - 224,224,224,225,224,243,224,127,240,62,112,12,19,38,14,1, - 0,7,0,13,128,8,128,13,128,7,0,31,128,63,192,113, - 224,112,224,0,224,7,224,63,224,124,224,240,224,224,224,225, - 224,243,224,127,240,62,112,20,14,42,22,1,0,31,143,0, - 63,255,192,113,249,224,112,240,224,0,224,112,7,224,112,63, - 255,240,124,255,240,240,224,0,224,224,0,225,240,112,243,248, - 240,127,63,224,62,15,128,11,19,38,13,1,251,31,128,63, - 192,121,224,112,224,224,0,224,0,224,0,224,0,224,0,224, - 0,112,224,121,224,63,192,31,128,30,0,7,0,7,0,63, - 0,30,0,12,19,38,14,1,0,28,0,14,0,7,0,3, - 128,0,0,15,0,63,192,121,224,112,224,224,112,224,112,255, - 240,255,240,224,0,224,0,112,112,120,240,63,224,15,128,12, - 19,38,14,1,0,3,128,7,0,14,0,28,0,0,0,15, - 0,63,192,121,224,112,224,224,112,224,112,255,240,255,240,224, - 0,224,0,112,112,120,240,63,224,15,128,12,19,38,14,1, - 0,7,0,15,128,29,192,56,224,0,0,15,0,63,192,121, - 224,112,224,224,112,224,112,255,240,255,240,224,0,224,0,112, - 112,120,240,63,224,15,128,12,18,36,14,1,0,57,192,57, - 192,0,0,0,0,15,0,63,192,121,224,112,224,224,112,224, - 112,255,240,255,240,224,0,224,0,112,112,120,240,63,224,15, - 128,6,19,19,7,0,0,224,112,56,28,0,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,6,19,19,7,1,0, - 28,56,112,224,0,112,112,112,112,112,112,112,112,112,112,112, - 112,112,112,9,19,38,7,255,0,28,0,62,0,119,0,227, - 128,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,7, - 18,18,7,0,0,238,238,0,0,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,12,19,38,14,1,0,112,0,29, - 192,7,0,31,0,97,128,15,192,63,192,121,224,112,224,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, - 192,15,0,11,19,38,15,2,0,60,192,127,192,103,128,0, - 0,0,0,239,128,255,192,241,192,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,12, - 19,38,14,1,0,28,0,14,0,7,0,3,128,0,0,15, - 0,63,192,121,224,112,224,224,112,224,112,224,112,224,112,224, - 112,224,112,112,224,121,224,63,192,15,0,12,19,38,14,1, - 0,3,128,7,0,14,0,28,0,0,0,15,0,63,192,121, - 224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,121,224,63,192,15,0,12,19,38,14,1,0,14,0,31, - 0,59,128,113,192,0,0,15,0,63,192,121,224,112,224,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, - 192,15,0,12,19,38,14,1,0,60,192,127,192,103,128,0, - 0,0,0,15,0,63,192,121,224,112,224,224,112,224,112,224, - 112,224,112,224,112,224,112,112,224,121,224,63,192,15,0,12, - 18,36,14,1,0,57,192,57,192,0,0,0,0,15,0,63, - 192,121,224,112,224,224,112,224,112,224,112,224,112,224,112,224, - 112,112,224,121,224,63,192,15,0,11,12,24,15,2,1,14, - 0,14,0,14,0,0,0,0,0,255,224,255,224,0,0,0, - 0,14,0,14,0,14,0,14,14,28,14,0,0,7,140,31, - 252,60,248,56,112,112,248,113,248,115,184,119,56,126,56,124, - 56,56,112,124,240,255,224,199,128,11,19,38,15,2,0,56, - 0,28,0,14,0,7,0,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,225,224,115, - 224,126,224,28,224,11,19,38,15,2,0,3,128,7,0,14, - 0,28,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,225,224,115,224,126,224,28, - 224,11,19,38,15,2,0,14,0,31,0,59,128,113,192,0, - 0,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,225,224,115,224,126,224,28,224,11,18,36, - 15,2,0,57,192,57,192,0,0,0,0,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,225, - 224,115,224,126,224,28,224,13,24,48,15,1,251,0,224,1, - 192,3,128,7,0,0,0,224,56,224,56,112,56,120,112,56, - 112,60,240,28,224,28,224,15,192,15,192,7,192,7,128,3, - 128,3,128,7,0,7,0,14,0,62,0,60,0,12,24,48, - 15,2,251,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,224,0,224,0,224,0,224, - 0,224,0,13,23,46,15,1,251,28,224,28,224,0,0,0, - 0,224,56,224,56,112,56,120,112,56,112,60,240,28,224,28, - 224,15,192,15,192,7,192,7,128,3,128,3,128,7,0,7, - 0,14,0,62,0,60,0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=12 h=19 x= 2 y=12 dx=15 dy= 0 ascent=19 len=36 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =19 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18n[537] U8G_FONT_SECTION("u8g_font_helvB18n") = { - 0,28,37,254,248,18,0,0,0,0,42,58,0,19,253,18, - 0,8,7,7,10,1,12,24,24,219,255,60,102,102,12,12, - 24,15,1,1,6,0,6,0,6,0,6,0,6,0,255,240, - 255,240,6,0,6,0,6,0,6,0,6,0,3,6,6,7, - 2,253,224,224,224,96,96,192,7,3,3,8,0,6,254,254, - 254,3,3,3,7,2,0,224,224,224,7,19,19,8,1,0, - 6,6,6,12,12,12,24,24,24,24,48,48,48,96,96,96, - 192,192,192,12,18,36,13,0,0,31,128,63,192,121,224,112, - 224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,112,224,112,224,121,224,63,192,31,128,7,18,18, - 13,2,0,14,14,30,254,254,14,14,14,14,14,14,14,14, - 14,14,14,14,14,12,18,36,13,0,0,31,0,127,192,113, - 224,224,224,224,112,224,112,0,112,0,224,1,224,3,192,7, - 128,31,0,60,0,120,0,240,0,224,0,255,240,255,240,12, - 18,36,13,0,0,31,0,127,192,113,192,224,224,224,224,224, - 224,0,224,1,192,15,128,15,224,0,224,0,112,0,112,224, - 112,224,240,113,224,127,224,31,128,12,18,36,13,0,0,1, - 192,3,192,3,192,7,192,7,192,13,192,29,192,25,192,49, - 192,113,192,97,192,225,192,255,240,255,240,1,192,1,192,1, - 192,1,192,12,18,36,13,0,0,127,224,127,224,112,0,112, - 0,112,0,112,0,127,128,127,192,113,224,0,224,0,112,0, - 112,0,112,224,112,224,240,241,224,127,192,31,128,12,18,36, - 13,0,0,15,128,63,224,120,224,112,112,224,112,224,0,224, - 0,239,0,255,192,249,224,240,224,224,112,224,112,224,112,112, - 224,121,224,63,192,31,128,12,18,36,13,0,0,255,240,255, - 240,0,240,0,224,1,192,1,192,3,128,3,128,7,0,7, - 0,14,0,14,0,30,0,28,0,28,0,60,0,56,0,56, - 0,12,18,36,13,0,0,15,0,63,192,57,192,112,224,112, - 224,112,224,112,224,57,192,31,128,63,192,112,224,224,112,224, - 112,224,112,224,112,112,224,127,224,31,128,12,18,36,13,0, - 0,31,128,127,192,121,224,240,224,224,112,224,112,224,112,224, - 112,240,240,121,240,127,240,31,112,0,112,0,112,224,224,243, - 224,127,192,31,0,3,14,14,7,2,0,224,224,224,0,0, - 0,0,0,0,0,0,224,224,224}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=15 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18r[3453] U8G_FONT_SECTION("u8g_font_helvB18r") = { - 0,28,37,254,248,19,4,35,9,107,32,127,251,19,251,19, - 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, - 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, - 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, - 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, - 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, - 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, - 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, - 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, - 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, - 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, - 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, - 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, - 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, - 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, - 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, - 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, - 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, - 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, - 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, - 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, - 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, - 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, - 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, - 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, - 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, - 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, - 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, - 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, - 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, - 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, - 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, - 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, - 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, - 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, - 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, - 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, - 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, - 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, - 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, - 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, - 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, - 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, - 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, - 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, - 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, - 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, - 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, - 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, - 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, - 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, - 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, - 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, - 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, - 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, - 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, - 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, - 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, - 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, - 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, - 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, - 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, - 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, - 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, - 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, - 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, - 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, - 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, - 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, - 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, - 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, - 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, - 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, - 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, - 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, - 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, - 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, - 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, - 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, - 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, - 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, - 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, - 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, - 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, - 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, - 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, - 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, - 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, - 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, - 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, - 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, - 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, - 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, - 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, - 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, - 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, - 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, - 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, - 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, - 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, - 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, - 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, - 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, - 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, - 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, - 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, - 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, - 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, - 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, - 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, - 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, - 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, - 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, - 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, - 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, - 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, - 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, - 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, - 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, - 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, - 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, - 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, - 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, - 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, - 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, - 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, - 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, - 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, - 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, - 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, - 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, - 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, - 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, - 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, - 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, - 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, - 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, - 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, - 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, - 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, - 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, - 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, - 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, - 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, - 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, - 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, - 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, - 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, - 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, - 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, - 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, - 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, - 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, - 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, - 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, - 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, - 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, - 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, - 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, - 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, - 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, - 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, - 8,14,1,5,120,224,254,224,239,224,227,192,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 23 - Calculated Max Values w=31 h=32 x= 4 y=21 dx=33 dy= 0 ascent=31 len=120 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_FONT_SECTION("u8g_font_helvB24") = { - 0,40,49,250,244,25,5,252,14,144,32,255,249,31,249,25, - 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, - 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, - 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, - 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, - 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, - 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, - 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, - 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, - 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, - 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, - 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, - 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, - 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, - 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, - 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, - 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, - 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, - 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, - 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, - 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, - 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, - 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, - 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, - 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, - 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, - 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, - 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, - 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, - 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, - 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, - 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, - 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, - 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, - 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, - 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, - 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, - 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, - 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, - 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, - 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, - 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, - 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, - 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, - 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, - 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, - 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, - 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, - 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, - 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, - 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, - 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, - 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, - 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, - 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, - 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, - 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, - 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, - 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, - 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, - 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, - 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, - 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, - 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, - 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, - 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, - 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, - 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, - 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, - 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, - 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, - 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, - 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, - 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, - 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, - 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, - 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, - 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, - 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, - 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, - 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, - 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, - 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, - 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, - 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, - 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, - 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, - 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, - 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, - 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, - 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, - 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, - 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, - 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, - 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, - 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, - 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, - 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, - 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, - 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, - 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, - 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, - 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, - 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, - 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, - 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, - 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, - 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, - 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, - 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, - 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, - 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, - 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, - 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, - 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, - 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, - 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, - 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, - 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, - 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, - 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, - 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, - 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, - 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, - 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, - 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, - 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, - 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, - 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, - 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, - 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, - 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, - 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, - 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, - 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, - 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, - 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, - 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, - 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, - 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, - 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, - 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, - 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, - 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, - 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, - 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, - 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, - 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, - 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, - 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, - 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, - 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, - 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, - 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, - 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, - 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, - 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, - 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, - 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, - 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, - 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, - 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, - 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, - 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, - 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, - 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, - 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, - 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, - 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, - 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, - 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, - 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, - 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, - 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, - 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, - 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, - 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, - 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, - 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, - 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, - 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, - 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, - 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, - 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, - 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, - 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, - 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, - 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, - 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, - 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, - 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, - 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, - 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, - 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, - 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, - 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, - 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, - 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, - 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, - 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, - 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, - 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, - 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, - 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, - 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, - 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, - 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, - 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, - 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, - 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, - 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, - 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, - 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, - 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, - 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, - 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, - 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, - 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, - 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, - 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, - 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, - 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, - 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, - 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, - 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, - 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, - 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, - 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, - 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, - 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, - 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, - 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, - 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, - 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, - 5,56,0,126,12,255,156,231,252,193,248,0,112,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,9,0,1,5,24,24,11,2,250,248,248,248,248,248,0, - 0,112,112,112,112,112,112,248,248,248,248,248,248,248,248,248, - 248,248,15,24,48,18,1,253,0,32,0,32,0,96,7,240, - 31,248,63,252,127,252,124,190,248,158,249,158,241,128,241,128, - 243,0,243,0,243,30,250,30,126,62,127,252,63,248,31,240, - 15,192,12,0,8,0,8,0,17,24,72,18,0,0,3,240, - 0,31,252,0,63,254,0,63,255,0,126,31,0,124,15,128, - 124,15,128,124,7,128,124,0,0,126,0,0,62,0,0,255, - 240,0,255,240,0,31,0,0,15,0,0,15,0,0,15,0, - 0,31,0,0,30,0,0,61,227,0,127,255,128,255,255,128, - 255,255,0,96,126,0,15,15,30,18,1,4,224,14,247,222, - 255,254,127,252,60,120,120,60,112,28,112,28,112,28,120,60, - 60,120,127,252,255,254,247,222,224,14,18,24,72,18,0,0, - 248,7,192,248,7,192,124,15,128,60,15,0,30,30,0,30, - 30,0,15,60,0,15,60,0,7,248,0,7,248,0,3,240, - 0,1,224,0,63,255,0,63,255,0,1,224,0,1,224,0, - 63,255,0,63,255,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,31,31,9,3,250,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,0,0,0, - 0,224,224,224,224,224,224,224,224,224,224,224,224,16,32,64, - 18,1,249,15,240,31,248,63,248,126,124,124,60,124,60,126, - 0,127,0,63,192,31,224,63,248,127,252,113,254,240,255,240, - 63,248,31,252,15,127,15,127,159,63,254,31,248,7,252,1, - 254,0,126,0,62,120,30,120,30,124,62,63,252,63,252,31, - 248,7,224,10,4,8,11,0,21,243,192,243,192,243,192,243, - 192,26,25,100,24,0,0,0,127,128,0,3,255,224,0,7, - 128,248,0,31,0,60,0,28,0,14,0,56,0,7,0,112, - 63,3,0,112,127,131,128,224,243,193,128,225,192,225,192,193, - 192,224,192,195,128,0,192,195,128,0,192,195,128,0,192,195, - 128,0,192,193,192,224,192,225,192,225,192,224,243,195,128,96, - 127,131,128,112,63,7,0,56,0,14,0,30,0,60,0,15, - 128,248,0,7,255,224,0,1,255,128,0,9,16,32,12,1, - 9,62,0,127,0,227,128,195,128,31,128,127,128,243,128,227, - 128,227,128,255,128,123,128,0,0,0,0,255,128,255,128,255, - 128,12,13,26,18,3,2,8,16,24,48,56,112,120,240,241, - 224,225,192,225,192,241,224,249,240,120,240,56,112,24,48,8, - 16,16,10,20,19,1,4,255,255,255,255,255,255,255,255,0, - 15,0,15,0,15,0,15,0,15,0,15,9,5,10,11,1, - 7,255,128,255,128,255,128,255,128,255,128,26,25,100,24,0, - 0,0,255,128,0,3,255,224,0,7,128,248,0,30,0,60, - 0,28,0,14,0,56,255,135,0,112,255,195,0,112,225,227, - 128,224,224,225,128,224,224,225,128,192,224,225,192,192,225,193, - 192,192,255,129,192,192,255,1,192,192,227,129,192,192,227,193, - 192,224,225,193,128,224,224,227,128,112,224,243,128,112,224,119, - 0,56,0,14,0,30,0,28,0,15,128,120,0,7,255,224, - 0,1,255,128,0,10,3,6,11,0,21,255,192,255,192,255, - 192,9,10,20,13,2,14,62,0,127,0,99,0,193,128,193, - 128,193,128,193,128,99,0,127,0,62,0,16,22,44,19,1, - 0,3,192,3,192,3,192,3,192,3,192,3,192,255,255,255, - 255,255,255,255,255,3,192,3,192,3,192,3,192,3,192,3, - 192,0,0,0,0,255,255,255,255,255,255,255,255,10,15,30, - 11,0,9,63,0,127,128,243,192,225,192,225,192,1,192,3, - 192,7,128,15,0,62,0,120,0,112,0,255,192,255,192,255, - 192,10,15,30,11,0,9,30,0,127,128,243,192,225,192,225, - 192,3,192,15,128,15,128,3,192,1,192,225,192,225,192,243, - 192,127,128,62,0,6,5,5,11,4,20,60,120,112,224,224, - 15,25,50,20,2,249,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,255,254,255,222,247,158,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,17,31,93,18,0,250,15,255, - 128,31,255,128,63,140,0,127,140,0,127,140,0,255,140,0, - 255,140,0,255,140,0,255,140,0,255,140,0,127,140,0,127, - 140,0,63,140,0,63,140,0,15,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,4,5,5,9,2, - 11,96,240,240,240,96,7,8,8,11,2,249,48,48,48,124, - 30,14,252,248,6,15,15,11,2,9,28,60,252,252,28,28, - 28,28,28,28,28,28,28,28,28,10,16,32,12,1,9,63, - 0,127,128,115,128,225,192,225,192,225,192,225,192,225,192,115, - 128,127,128,63,0,0,0,0,0,255,192,255,192,255,192,12, - 12,24,18,3,3,129,0,193,128,225,192,241,224,120,240,56, - 112,56,112,120,240,241,224,225,192,193,128,129,0,26,24,96, - 28,0,0,0,0,56,0,6,0,112,0,30,0,112,0,254, - 0,224,0,254,1,192,0,14,1,192,0,14,3,128,0,14, - 3,128,0,14,7,0,0,14,7,0,0,14,14,7,0,14, - 28,15,0,14,28,31,0,14,56,31,0,0,56,55,0,0, - 112,103,0,0,112,231,0,0,224,199,0,1,193,135,0,1, - 193,255,192,3,129,255,192,3,128,7,0,7,0,7,0,7, - 0,7,0,25,24,96,28,1,0,0,0,224,0,12,1,192, - 0,28,1,192,0,252,3,128,0,252,3,128,0,28,7,0, - 0,28,14,0,0,28,14,0,0,28,28,0,0,28,28,0, - 0,28,56,126,0,28,48,255,0,28,113,231,128,28,225,195, - 128,0,225,195,128,1,192,7,128,1,192,15,0,3,128,30, - 0,7,0,60,0,7,0,120,0,14,0,240,0,14,1,255, - 128,28,1,255,128,28,1,255,128,25,24,96,27,1,0,63, - 0,28,0,127,128,56,0,243,192,56,0,225,192,112,0,225, - 192,224,0,3,192,224,0,15,129,192,0,15,129,192,0,15, - 195,128,0,1,199,0,0,225,199,14,0,225,206,30,0,243, - 206,30,0,127,156,62,0,63,28,126,0,0,56,238,0,0, - 112,206,0,0,113,142,0,0,227,142,0,0,227,255,128,1, - 195,255,128,1,192,14,0,3,128,14,0,3,128,14,0,16, - 24,48,20,1,250,3,224,3,224,3,224,3,224,0,0,0, - 0,3,192,3,192,3,192,7,192,31,128,63,128,127,0,126, - 0,252,0,248,15,248,15,248,15,252,31,126,127,127,254,63, - 254,63,252,15,240,22,31,93,23,0,0,3,192,0,1,224, - 0,0,240,0,0,120,0,0,60,0,0,0,0,0,252,0, - 0,252,0,1,254,0,1,254,0,1,254,0,3,255,0,3, - 255,0,3,255,0,7,207,128,7,207,128,7,207,128,15,135, - 128,15,135,192,15,135,192,31,3,192,31,3,224,31,255,224, - 31,255,224,63,255,240,63,255,240,62,1,240,124,0,248,124, - 0,248,252,0,252,248,0,124,22,31,93,23,0,0,0,15, - 0,0,30,0,0,60,0,0,120,0,0,240,0,0,0,0, - 0,252,0,0,252,0,1,254,0,1,254,0,1,254,0,3, - 255,0,3,255,0,3,255,0,7,207,128,7,207,128,7,207, - 128,15,135,128,15,135,192,15,135,192,31,3,192,31,3,224, - 31,255,224,31,255,224,63,255,240,63,255,240,62,1,240,124, - 0,248,124,0,248,252,0,252,248,0,124,22,31,93,23,0, - 0,0,48,0,0,120,0,0,252,0,1,206,0,3,135,0, - 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, - 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, - 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, - 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, - 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,30, - 90,23,0,0,0,241,128,1,255,128,3,255,0,3,30,0, - 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, - 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, - 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, - 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, - 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,31, - 93,23,0,0,3,207,0,3,207,0,3,207,0,3,207,0, - 0,0,0,0,0,0,0,252,0,0,252,0,1,254,0,1, - 254,0,1,254,0,3,255,0,3,255,0,3,255,0,7,207, - 128,7,207,128,7,207,128,15,135,128,15,135,192,15,135,192, - 31,3,192,31,3,224,31,255,224,31,255,224,63,255,240,63, - 255,240,62,1,240,124,0,248,124,0,248,252,0,252,248,0, - 124,22,31,93,23,0,0,0,120,0,0,204,0,0,132,0, - 0,132,0,0,204,0,0,120,0,0,0,0,0,252,0,1, - 254,0,1,254,0,1,254,0,3,255,0,3,255,0,3,255, - 0,7,207,128,7,207,128,7,207,128,15,135,128,15,135,192, - 15,135,192,31,3,192,31,3,224,31,255,224,31,255,224,63, - 255,240,63,255,240,62,1,240,124,0,248,124,0,248,252,0, - 252,248,0,124,31,25,100,32,0,0,0,255,255,252,0,255, - 255,252,0,255,255,252,1,255,255,252,1,243,192,0,1,227, - 192,0,3,227,192,0,3,227,192,0,3,195,192,0,7,195, - 192,0,7,195,192,0,7,195,255,248,15,131,255,248,15,131, - 255,248,15,131,255,248,31,3,192,0,31,255,192,0,31,255, - 192,0,63,255,192,0,63,255,192,0,62,3,192,0,124,3, - 255,254,124,3,255,254,248,3,255,254,248,3,255,254,21,32, - 96,23,1,249,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,240,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,252,0,0, - 96,0,0,96,0,0,248,0,0,28,0,0,28,0,1,248, - 0,1,240,0,18,31,93,22,2,0,30,0,0,15,0,0, - 7,128,0,3,192,0,1,224,0,0,0,0,255,255,128,255, - 255,128,255,255,128,255,255,128,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,0,255,255,0, - 255,255,0,255,255,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,18,31,93,22,2,0,0,120,0, - 0,240,0,1,224,0,3,192,0,7,128,0,0,0,0,255, - 255,128,255,255,128,255,255,128,255,255,128,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,0, - 255,255,0,255,255,0,255,255,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 192,255,255,192,255,255,192,255,255,192,18,31,93,22,2,0, - 0,192,0,1,224,0,3,240,0,7,56,0,14,28,0,0, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,192,255,255,192,255,255,192,255,255,192,18,31,93, - 22,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, - 0,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,192,255,255,192,255,255,192,255,255,192, - 8,31,31,9,0,0,240,120,60,30,15,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,62,62,8,31,31,9,2,0,15,30,60,120,240, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,10,31,62,9,0,0, - 12,0,30,0,63,0,115,128,225,192,0,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,10,31, - 62,9,0,0,243,192,243,192,243,192,243,192,0,0,0,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,23,25,75,23,255,0,31,255,128,31,255,224,31,255, - 240,31,255,248,31,7,248,31,0,252,31,0,252,31,0,124, - 31,0,126,31,0,62,31,0,62,255,240,62,255,240,62,255, - 240,62,31,0,62,31,0,62,31,0,124,31,0,124,31,0, - 124,31,0,248,31,3,248,31,255,240,31,255,240,31,255,192, - 31,255,128,19,30,90,24,2,0,3,198,0,7,254,0,15, - 252,0,12,120,0,0,0,0,248,3,224,252,3,224,252,3, - 224,254,3,224,254,3,224,255,3,224,255,3,224,255,131,224, - 255,195,224,251,195,224,251,227,224,249,227,224,249,243,224,248, - 243,224,248,251,224,248,123,224,248,63,224,248,63,224,248,31, - 224,248,31,224,248,15,224,248,15,224,248,7,224,248,7,224, - 248,3,224,23,31,93,25,1,0,1,224,0,0,240,0,0, - 120,0,0,60,0,0,30,0,0,0,0,1,255,0,7,255, - 192,15,255,224,31,255,240,63,199,248,63,1,248,126,0,252, - 124,0,124,124,0,124,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,126,0,252,63,1,248,63,199,248,31,255,240,15,255,224, - 7,255,192,1,255,0,23,31,93,25,1,0,0,7,128,0, - 15,0,0,30,0,0,60,0,0,120,0,0,0,0,1,255, - 0,7,255,192,15,255,224,31,255,240,63,199,248,63,1,248, - 126,0,252,124,0,124,124,0,124,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,124,0, - 124,124,0,124,126,0,252,63,1,248,63,199,248,31,255,240, - 15,255,224,7,255,192,1,255,0,23,31,93,25,1,0,0, - 24,0,0,60,0,0,126,0,0,231,0,1,195,128,0,0, - 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, - 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, - 31,255,240,15,255,224,7,255,192,1,255,0,23,30,90,25, - 1,0,0,120,192,0,255,192,1,255,128,1,143,0,0,0, - 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, - 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, - 31,255,240,15,255,224,7,255,192,1,255,0,23,31,93,25, - 1,0,1,231,128,1,231,128,1,231,128,1,231,128,0,0, - 0,0,0,0,1,255,0,7,255,192,15,255,224,31,255,240, - 63,199,248,63,1,248,126,0,252,124,0,124,124,0,124,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,124,0,124,124,0,124,126,0,252,63,1,248, - 63,199,248,31,255,240,15,255,224,7,255,192,1,255,0,15, - 16,32,19,2,0,32,8,112,28,248,62,252,126,126,252,63, - 248,31,240,15,224,15,224,31,240,63,248,126,252,252,126,248, - 62,112,28,32,8,24,25,75,25,1,0,1,255,7,7,255, - 206,15,255,252,31,255,248,63,199,248,63,0,248,126,1,252, - 124,3,252,124,7,188,248,7,62,248,14,62,248,28,62,248, - 56,62,248,112,62,248,224,62,248,224,62,125,192,124,127,128, - 124,127,0,252,63,1,248,63,199,248,63,255,240,63,255,224, - 119,255,192,225,255,0,19,31,93,24,2,0,7,128,0,3, - 192,0,1,224,0,0,240,0,0,120,0,0,0,0,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,252,7,224,127,31,192,127,255,192, - 63,255,128,31,255,0,7,252,0,19,31,93,24,2,0,0, - 30,0,0,60,0,0,120,0,0,240,0,1,224,0,0,0, - 0,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,252,7,224,127,31,192, - 127,255,192,63,255,128,31,255,0,7,252,0,19,31,93,24, - 2,0,0,96,0,0,240,0,1,248,0,3,156,0,7,14, - 0,0,0,0,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,252,7,224, - 127,31,192,127,255,192,63,255,128,31,255,0,7,252,0,19, - 31,93,24,2,0,15,30,0,15,30,0,15,30,0,15,30, - 0,0,0,0,0,0,0,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 252,7,224,127,31,192,127,255,192,63,255,128,31,255,0,7, - 252,0,20,31,93,22,1,0,0,30,0,0,60,0,0,120, - 0,0,240,0,1,224,0,0,0,0,252,3,240,252,3,240, - 126,7,224,62,7,192,63,15,192,63,15,128,31,15,128,31, - 159,0,15,159,0,15,254,0,7,254,0,7,252,0,3,252, - 0,3,248,0,3,248,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,18,25,75,22,2,0,248,0,0,248,0, - 0,248,0,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,254, - 0,255,252,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,20,2,0,15,192,0,63, - 240,0,127,252,0,255,252,0,248,126,0,248,62,0,240,62, - 0,240,62,0,240,124,0,240,252,0,241,248,0,241,252,0, - 241,254,0,240,127,0,240,31,0,240,31,128,240,15,128,240, - 15,128,240,15,128,240,31,128,240,63,0,241,255,0,241,254, - 0,241,252,0,241,240,0,15,25,50,18,1,0,15,0,7, - 128,3,128,1,192,0,224,0,0,0,0,15,240,63,252,127, - 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, - 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, - 25,50,18,1,0,0,120,0,240,0,224,1,192,3,128,0, - 0,0,0,15,240,63,252,127,252,124,62,248,30,248,30,1, - 254,15,254,63,254,127,30,248,30,240,30,240,62,248,126,255, - 254,255,254,127,222,63,30,15,25,50,18,1,0,1,128,3, - 192,7,224,14,112,28,56,0,0,0,0,15,240,63,252,127, - 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, - 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, - 24,48,18,1,0,7,140,15,252,31,248,24,240,0,0,0, - 0,15,240,63,252,127,252,124,62,248,30,248,30,1,254,15, - 254,63,254,127,30,248,30,240,30,240,62,248,126,255,254,255, - 254,127,222,63,30,15,24,48,18,1,0,30,120,30,120,30, - 120,30,120,0,0,0,0,15,240,63,252,127,252,124,62,248, - 30,248,30,1,254,15,254,63,254,127,30,248,30,240,30,240, - 62,248,126,255,254,255,254,127,222,63,30,15,25,50,18,1, - 0,3,192,6,96,4,32,4,32,6,96,3,192,0,0,15, - 240,63,252,127,252,124,62,248,30,248,30,1,254,15,254,63, - 254,127,30,248,30,248,30,240,62,248,126,255,254,255,254,127, - 222,63,30,26,19,76,29,1,0,7,224,248,0,31,251,254, - 0,63,255,255,0,63,255,255,0,124,63,15,128,120,30,7, - 128,120,30,7,192,0,62,7,192,7,255,255,192,63,255,255, - 192,127,255,255,192,124,30,0,0,248,30,0,0,248,30,7, - 192,252,63,15,192,255,255,255,128,127,247,255,0,63,227,254, - 0,15,129,248,0,15,25,50,18,1,249,7,224,31,248,63, - 252,63,252,124,62,120,30,248,30,240,0,240,0,240,0,240, - 0,248,30,248,30,124,62,127,252,63,248,31,248,7,224,3, - 0,3,0,7,192,0,224,0,224,15,192,15,128,16,25,50, - 18,1,0,15,0,7,128,3,128,1,192,0,224,0,0,0, - 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, - 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, - 252,31,240,7,192,16,25,50,18,1,0,0,120,0,240,0, - 224,1,192,3,128,0,0,0,0,7,224,31,248,63,252,127, - 254,124,62,248,30,240,31,255,255,255,255,255,255,240,0,240, - 0,248,30,124,62,127,254,63,252,31,240,7,192,16,25,50, - 18,1,0,1,128,3,192,7,224,14,112,28,56,0,0,0, - 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, - 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, - 252,31,240,7,192,16,24,48,18,1,0,30,120,30,120,30, - 120,30,120,0,0,0,0,7,224,31,248,63,252,127,254,124, - 62,248,30,240,31,255,255,255,255,255,255,240,0,240,0,248, - 30,124,62,127,254,63,252,31,240,7,192,7,25,25,9,1, - 0,240,120,56,28,14,0,0,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,6,25,25,9,2,0, - 60,56,112,112,224,0,0,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,10,25,50,9,255,0,12, - 0,30,0,63,0,115,128,225,192,0,0,0,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,10,24,48,9,255,0,243,192,243,192,243,192,243,192,0, - 0,0,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,17,26,78,20,1,0,48,0,0, - 120,32,0,124,240,0,63,224,0,31,192,0,63,224,0,115, - 240,0,33,248,0,7,252,0,31,254,0,63,254,0,127,255, - 0,124,31,0,248,15,128,248,15,128,240,7,128,240,7,128, - 240,7,128,248,15,128,248,15,128,252,31,128,126,63,0,127, - 255,0,63,254,0,31,252,0,7,240,0,15,24,48,20,2, - 0,15,24,31,248,63,240,49,224,0,0,0,0,243,240,247, - 248,255,252,255,254,252,62,248,62,240,30,240,30,240,30,240, - 30,240,30,240,30,240,30,240,30,240,30,240,30,240,30,240, - 30,17,25,75,20,1,0,7,128,0,3,192,0,1,192,0, - 1,224,0,0,240,0,0,0,0,0,0,0,7,240,0,31, - 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, - 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, - 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, - 240,0,17,25,75,20,1,0,0,120,0,0,240,0,0,224, - 0,1,192,0,3,192,0,0,0,0,0,0,0,7,240,0, - 31,252,0,63,254,0,127,255,0,124,31,0,248,15,128,248, - 15,128,240,7,128,240,7,128,240,7,128,240,7,128,248,15, - 128,248,15,128,124,31,0,127,255,0,63,254,0,31,252,0, - 7,240,0,17,25,75,20,1,0,0,192,0,1,224,0,3, - 240,0,7,56,0,14,28,0,0,0,0,0,0,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,17,24,72,20,1,0,7,140,0,15,252,0, - 31,248,0,24,240,0,0,0,0,0,0,0,7,240,0,31, - 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, - 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, - 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, - 240,0,17,24,72,20,1,0,30,60,0,30,60,0,30,60, - 0,30,60,0,0,0,0,0,0,0,7,240,0,31,252,0, - 63,254,0,127,255,0,124,31,0,248,15,128,248,15,128,240, - 7,128,240,7,128,240,7,128,240,7,128,248,15,128,248,15, - 128,124,31,0,127,255,0,63,254,0,31,252,0,7,240,0, - 16,16,32,19,1,0,3,192,3,192,3,192,3,192,0,0, - 0,0,255,255,255,255,255,255,255,255,0,0,0,0,3,192, - 3,192,3,192,3,192,21,18,54,20,255,0,1,252,56,7, - 255,112,15,255,224,31,255,192,31,143,192,62,7,224,62,15, - 224,60,29,224,60,57,224,60,113,224,62,227,224,63,131,224, - 63,7,224,31,143,192,31,255,192,63,255,128,119,255,0,225, - 252,0,15,25,50,20,2,0,30,0,15,0,7,0,3,128, - 1,192,0,0,0,0,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, - 0,240,1,224,1,192,3,128,7,0,0,0,0,0,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, - 31,30,15,25,50,20,2,0,3,0,7,128,15,192,28,224, - 56,112,0,0,0,0,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, - 60,120,60,120,60,120,60,120,0,0,0,0,0,0,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, - 31,30,16,32,64,19,1,249,0,120,0,240,1,224,1,192, - 3,128,0,0,0,0,248,31,248,31,248,31,120,30,124,62, - 124,60,60,60,60,60,62,120,62,120,30,120,31,240,31,240, - 15,240,15,224,7,224,7,224,7,192,7,192,7,192,15,128, - 63,128,63,0,63,0,60,0,16,32,64,20,2,249,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,243,240,247,252, - 255,254,255,254,252,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,252,62,255,254,255,252,247,248,241,240, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,31, - 62,19,1,249,30,120,30,120,30,120,30,120,0,0,0,0, - 248,31,248,31,248,31,120,62,124,62,124,60,124,60,62,124, - 62,120,62,120,30,120,31,240,31,240,15,240,15,224,7,224, - 7,224,7,192,7,192,7,192,15,128,63,128,63,0,63,0, - 60,0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=17 h=25 x= 3 y=13 dx=19 dy= 0 ascent=25 len=72 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24n[743] U8G_FONT_SECTION("u8g_font_helvB24n") = { - 0,40,49,250,244,23,0,0,0,0,42,58,0,25,250,23, - 0,10,11,22,13,1,13,12,0,12,0,76,128,237,192,255, - 192,127,128,30,0,63,0,127,128,115,128,33,0,16,16,32, - 19,1,0,3,192,3,192,3,192,3,192,3,192,3,192,255, - 255,255,255,255,255,255,255,3,192,3,192,3,192,3,192,3, - 192,3,192,5,11,11,9,2,250,248,248,248,248,248,24,24, - 56,112,224,128,9,5,10,11,1,7,255,128,255,128,255,128, - 255,128,255,128,5,5,5,9,2,0,248,248,248,248,248,8, - 25,25,9,0,0,3,3,3,3,6,6,6,14,12,12,12, - 28,24,24,24,48,48,48,112,96,96,96,192,192,192,15,24, - 48,18,1,0,15,224,31,240,63,248,127,252,124,124,248,62, - 248,62,248,62,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,248,62,248,62,248,62,124,124,127,252,63,248, - 31,240,15,224,10,23,46,18,2,0,1,192,3,192,7,192, - 31,192,255,192,255,192,255,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,16,24,48,18,1,0,15,224, - 63,248,127,252,127,254,252,126,248,63,248,31,240,31,240,31, - 0,63,0,62,0,126,0,252,1,248,7,240,15,224,31,128, - 63,0,126,0,252,0,255,255,255,255,255,255,255,255,16,24, - 48,18,1,0,15,224,63,248,127,252,127,252,248,62,240,62, - 240,30,240,30,0,62,0,124,3,248,3,240,3,252,0,126, - 0,63,0,31,240,31,240,31,240,63,248,62,127,254,127,252, - 63,248,15,224,16,24,48,18,1,0,0,248,0,248,1,248, - 3,248,3,248,7,248,15,120,14,120,30,120,28,120,60,120, - 120,120,112,120,240,120,224,120,255,255,255,255,255,255,255,255, - 0,120,0,120,0,120,0,120,0,120,15,24,48,18,1,0, - 63,252,63,252,63,252,63,252,56,0,120,0,120,0,120,0, - 123,224,127,248,127,252,127,252,120,126,0,62,0,62,0,30, - 0,30,240,62,240,62,248,124,127,252,127,248,63,240,15,192, - 15,24,48,18,1,0,7,224,31,248,63,252,63,254,124,62, - 120,30,240,0,240,0,243,224,247,248,255,252,255,252,252,126, - 248,62,240,30,240,30,240,30,240,30,248,62,124,124,127,252, - 63,248,31,240,7,192,16,24,48,18,1,0,255,255,255,255, - 255,255,255,255,0,30,0,62,0,60,0,120,0,248,0,240, - 1,240,1,224,3,224,3,192,7,192,7,192,7,128,15,128, - 15,128,15,128,31,0,31,0,31,0,31,0,17,24,72,18, - 0,0,7,240,0,31,252,0,63,254,0,62,62,0,124,31, - 0,120,15,0,120,15,0,120,15,0,124,31,0,62,62,0, - 31,252,0,31,252,0,63,254,0,124,31,0,248,15,128,240, - 7,128,240,7,128,240,7,128,248,15,128,126,63,0,127,254, - 0,63,254,0,31,252,0,7,240,0,15,24,48,18,1,0, - 7,192,31,240,63,248,127,252,124,124,248,62,240,30,240,30, - 240,30,240,30,248,62,252,126,127,254,127,254,63,222,7,158, - 0,30,0,30,240,60,248,124,127,248,127,248,31,240,7,192, - 5,17,17,11,3,0,248,248,248,248,248,0,0,0,0,0, - 0,0,248,248,248,248,248}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 23 - Calculated Max Values w=29 h=32 x= 3 y=20 dx=33 dy= 0 ascent=25 len=120 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24r[5214] U8G_FONT_SECTION("u8g_font_helvB24r") = { - 0,40,49,250,244,25,5,252,14,144,32,127,249,25,249,25, - 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, - 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, - 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, - 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, - 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, - 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, - 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, - 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, - 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, - 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, - 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, - 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, - 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, - 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, - 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, - 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, - 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, - 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, - 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, - 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, - 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, - 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, - 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, - 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, - 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, - 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, - 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, - 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, - 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, - 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, - 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, - 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, - 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, - 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, - 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, - 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, - 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, - 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, - 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, - 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, - 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, - 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, - 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, - 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, - 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, - 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, - 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, - 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, - 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, - 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, - 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, - 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, - 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, - 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, - 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, - 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, - 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, - 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, - 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, - 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, - 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, - 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, - 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, - 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, - 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, - 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, - 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, - 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, - 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, - 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, - 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, - 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, - 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, - 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, - 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, - 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, - 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, - 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, - 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, - 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, - 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, - 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, - 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, - 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, - 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, - 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, - 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, - 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, - 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, - 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, - 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, - 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, - 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, - 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, - 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, - 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, - 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, - 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, - 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, - 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, - 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, - 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, - 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, - 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, - 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, - 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, - 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, - 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, - 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, - 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, - 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, - 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, - 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, - 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, - 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, - 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, - 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, - 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, - 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, - 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, - 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, - 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, - 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, - 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, - 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, - 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, - 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, - 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, - 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, - 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, - 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, - 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, - 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, - 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, - 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, - 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, - 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, - 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, - 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, - 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, - 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, - 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, - 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, - 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, - 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, - 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, - 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, - 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, - 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, - 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, - 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, - 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, - 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, - 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, - 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, - 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, - 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, - 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, - 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, - 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, - 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, - 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, - 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, - 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, - 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, - 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, - 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, - 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, - 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, - 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, - 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, - 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, - 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, - 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, - 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, - 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, - 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, - 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, - 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, - 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, - 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, - 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, - 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, - 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, - 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, - 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, - 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, - 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, - 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, - 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, - 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, - 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, - 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, - 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, - 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, - 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, - 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, - 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, - 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, - 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, - 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, - 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, - 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, - 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, - 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, - 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, - 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, - 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, - 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, - 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, - 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, - 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, - 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, - 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, - 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, - 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, - 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, - 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, - 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, - 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, - 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, - 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, - 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, - 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, - 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, - 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, - 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, - 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, - 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, - 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, - 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, - 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, - 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, - 5,56,0,126,12,255,156,231,252,193,248,0,112,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_FONT_SECTION("u8g_font_helvR08") = { - 0,13,18,254,252,8,1,178,3,111,32,255,254,11,254,8, - 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, - 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, - 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, - 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, - 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, - 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, - 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, - 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, - 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, - 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, - 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, - 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, - 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, - 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, - 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, - 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, - 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, - 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, - 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, - 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, - 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, - 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, - 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, - 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, - 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, - 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, - 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, - 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, - 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, - 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, - 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, - 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, - 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, - 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, - 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, - 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, - 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, - 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, - 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, - 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, - 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, - 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, - 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, - 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, - 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, - 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, - 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, - 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, - 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, - 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, - 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, - 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, - 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, - 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, - 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, - 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, - 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, - 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, - 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, - 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, - 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, - 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, - 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, - 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, - 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, - 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, - 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, - 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, - 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, - 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, - 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, - 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, - 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, - 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, - 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, - 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, - 64,64,128,6,2,2,7,0,3,100,152,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,3, - 0,1,1,8,8,3,1,254,128,0,128,128,128,128,128,128, - 5,8,8,6,1,255,16,112,168,160,160,168,112,64,5,8, - 8,6,0,0,48,72,64,224,64,64,72,176,4,6,6,5, - 0,1,144,96,144,144,96,144,5,8,8,6,0,0,136,136, - 136,80,248,32,248,32,1,10,10,3,1,254,128,128,128,128, - 0,0,128,128,128,128,5,10,10,6,0,254,112,136,192,112, - 152,200,112,24,136,112,3,1,1,3,0,7,160,7,7,7, - 9,1,0,56,68,154,162,154,68,56,3,5,5,4,0,3, - 224,32,160,0,224,5,5,5,6,0,0,40,80,160,80,40, - 5,3,3,7,1,2,248,8,8,3,1,1,4,0,3,224, - 7,7,7,9,1,0,56,68,186,178,170,68,56,3,1,1, - 3,0,7,224,4,4,4,4,0,4,96,144,144,96,5,7, - 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, - 4,96,160,64,224,3,4,4,3,0,4,224,64,32,192,2, - 2,2,3,0,7,64,128,4,8,8,5,0,254,144,144,144, - 144,144,240,128,128,6,10,10,6,0,254,124,232,232,232,104, - 40,40,40,40,40,2,1,1,3,0,3,192,2,2,2,3, - 0,254,64,192,2,4,4,3,0,4,64,192,64,64,3,5, - 5,4,0,3,224,160,224,0,224,5,5,5,6,0,0,160, - 80,40,80,160,9,8,16,9,0,0,68,0,196,0,72,0, - 72,0,17,0,19,0,39,128,33,0,8,8,8,9,0,0, - 68,196,72,72,19,21,34,39,9,8,16,9,0,0,224,0, - 68,0,36,0,200,0,9,0,19,0,23,128,33,0,4,8, - 8,6,1,254,32,0,32,32,64,128,144,96,7,11,11,7, - 0,0,32,16,0,16,16,40,40,68,124,130,130,7,11,11, - 7,0,0,8,16,0,16,16,40,40,68,124,130,130,7,11, - 11,7,0,0,16,40,0,16,16,40,40,68,124,130,130,7, - 11,11,7,0,0,20,40,0,16,16,40,40,68,124,130,130, - 7,10,10,7,0,0,40,0,16,16,40,40,68,124,130,130, - 7,11,11,7,0,0,16,40,16,16,16,40,40,68,124,130, - 130,9,8,16,10,0,0,31,128,24,0,40,0,47,128,72, - 0,120,0,136,0,143,128,6,10,10,8,1,254,120,132,128, - 128,128,128,132,120,16,48,5,11,11,7,1,0,64,32,0, - 248,128,128,248,128,128,128,248,5,11,11,7,1,0,16,32, - 0,248,128,128,248,128,128,128,248,5,11,11,7,1,0,32, - 80,0,248,128,128,248,128,128,128,248,5,10,10,7,1,0, - 80,0,248,128,128,248,128,128,128,248,2,11,11,3,0,0, - 128,64,0,64,64,64,64,64,64,64,64,2,11,11,3,1, - 0,64,128,0,128,128,128,128,128,128,128,128,3,11,11,3, - 0,0,64,160,0,64,64,64,64,64,64,64,64,3,10,10, - 3,0,0,160,0,64,64,64,64,64,64,64,64,7,8,8, - 8,0,0,120,68,66,242,66,66,68,120,6,11,11,8,1, - 0,40,80,0,196,196,164,164,148,148,140,140,6,11,11,8, - 1,0,32,16,0,120,132,132,132,132,132,132,120,6,11,11, - 8,1,0,8,16,0,120,132,132,132,132,132,132,120,6,11, - 11,8,1,0,32,80,0,120,132,132,132,132,132,132,120,6, - 11,11,8,1,0,40,80,0,120,132,132,132,132,132,132,120, - 6,10,10,8,1,0,72,0,120,132,132,132,132,132,132,120, - 5,5,5,6,0,1,136,80,32,80,136,6,10,10,8,1, - 255,4,120,140,148,148,164,164,196,120,128,6,11,11,8,1, - 0,32,16,0,132,132,132,132,132,132,132,120,6,11,11,8, - 1,0,8,16,0,132,132,132,132,132,132,132,120,6,11,11, - 8,1,0,32,80,0,132,132,132,132,132,132,132,120,6,10, - 10,8,1,0,72,0,132,132,132,132,132,132,132,120,7,11, - 11,7,0,0,8,16,0,130,68,68,40,40,16,16,16,5, - 8,8,7,1,0,128,128,240,136,136,240,128,128,4,8,8, - 5,0,0,96,144,144,160,144,144,144,160,5,9,9,5,0, - 0,64,32,0,224,16,112,144,144,104,5,9,9,5,0,0, - 32,64,0,224,16,112,144,144,104,5,9,9,5,0,0,32, - 80,0,224,16,112,144,144,104,5,9,9,5,0,0,80,160, - 0,224,16,112,144,144,104,5,8,8,5,0,0,80,0,224, - 16,112,144,144,104,5,9,9,5,0,0,32,80,32,224,16, - 112,144,144,104,7,6,6,8,0,0,236,18,126,144,146,108, - 4,8,8,5,0,254,96,144,128,128,144,96,32,96,4,9, - 9,5,0,0,64,32,0,96,144,240,128,144,96,4,9,9, - 5,0,0,32,64,0,96,144,240,128,144,96,4,9,9,5, - 0,0,64,160,0,96,144,240,128,144,96,4,8,8,5,0, - 0,160,0,96,144,240,128,144,96,2,9,9,2,255,0,128, - 64,0,64,64,64,64,64,64,2,9,9,2,0,0,64,128, - 0,128,128,128,128,128,128,3,9,9,2,255,0,64,160,0, - 64,64,64,64,64,64,3,8,8,2,255,0,160,0,64,64, - 64,64,64,64,5,9,9,6,0,0,64,120,144,120,136,136, - 136,136,112,4,9,9,5,0,0,80,160,0,224,144,144,144, - 144,144,5,9,9,6,0,0,64,32,0,112,136,136,136,136, - 112,5,9,9,6,0,0,16,32,0,112,136,136,136,136,112, - 5,9,9,6,0,0,32,80,0,112,136,136,136,136,112,5, - 9,9,6,0,0,40,80,0,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,1,32,0,248,0,32,7,6,6,6,255,0,58,76,84, - 100,68,184,4,9,9,5,0,0,64,32,0,144,144,144,144, - 144,112,4,9,9,5,0,0,16,32,0,144,144,144,144,144, - 112,4,9,9,5,0,0,64,160,0,144,144,144,144,144,112, - 4,8,8,5,0,0,160,0,144,144,144,144,144,112,5,11, - 11,5,255,254,8,16,0,72,72,80,80,48,32,32,192,5, - 10,10,6,0,254,128,128,176,200,136,136,200,176,128,128,5, - 10,10,5,255,254,80,0,72,72,80,80,48,32,32,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 8 - Calculated Max Values w= 5 h= 8 x= 1 y= 5 dx= 6 dy= 0 ascent= 8 len= 8 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08n[226] U8G_FONT_SECTION("u8g_font_helvR08n") = { - 0,13,18,254,252,8,0,0,0,0,42,58,0,8,254,8, - 0,3,3,3,4,0,5,160,64,160,5,5,5,6,0,1, - 32,32,248,32,32,2,3,3,3,0,254,64,64,128,3,1, - 1,4,0,3,224,1,1,1,3,1,0,128,3,8,8,3, - 0,0,32,32,64,64,64,64,128,128,5,8,8,6,0,0, - 112,136,136,136,136,136,136,112,2,8,8,6,1,0,64,192, - 64,64,64,64,64,64,5,8,8,6,0,0,112,136,8,8, - 48,64,128,248,5,8,8,6,0,0,112,136,8,48,8,8, - 136,112,5,8,8,6,0,0,16,48,80,80,144,248,16,16, - 5,8,8,6,0,0,120,64,64,112,8,8,136,112,5,8, - 8,6,0,0,112,136,128,240,136,136,136,112,5,8,8,6, - 0,0,248,8,16,32,32,64,64,64,5,8,8,6,0,0, - 112,136,136,112,136,136,136,112,5,8,8,6,0,0,112,136, - 136,136,120,8,136,112,1,6,6,3,1,0,128,0,0,0, - 0,128}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08r[1276] U8G_FONT_SECTION("u8g_font_helvR08r") = { - 0,13,18,254,252,8,1,178,3,111,32,127,254,9,254,8, - 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, - 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, - 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, - 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, - 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, - 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, - 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, - 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, - 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, - 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, - 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, - 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, - 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, - 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, - 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, - 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, - 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, - 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, - 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, - 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, - 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, - 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, - 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, - 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, - 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, - 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, - 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, - 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, - 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, - 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, - 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, - 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, - 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, - 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, - 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, - 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, - 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, - 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, - 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, - 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, - 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, - 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, - 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, - 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, - 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, - 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, - 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, - 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, - 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, - 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, - 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, - 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, - 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, - 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, - 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, - 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, - 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, - 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, - 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, - 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, - 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, - 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, - 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, - 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, - 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, - 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, - 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, - 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, - 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, - 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, - 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, - 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, - 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, - 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, - 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, - 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, - 64,64,128,6,2,2,7,0,3,100,152,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=13 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_FONT_SECTION("u8g_font_helvR10") = { - 0,17,22,254,251,11,2,10,4,133,32,255,253,14,253,11, - 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, - 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, - 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, - 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, - 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, - 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, - 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, - 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, - 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, - 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, - 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, - 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, - 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, - 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, - 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, - 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, - 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, - 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, - 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, - 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, - 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, - 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, - 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, - 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, - 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, - 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, - 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, - 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, - 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, - 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, - 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, - 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, - 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, - 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, - 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, - 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, - 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, - 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, - 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, - 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, - 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, - 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, - 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, - 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, - 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, - 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, - 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, - 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, - 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, - 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, - 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, - 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, - 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, - 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, - 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, - 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, - 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, - 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, - 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, - 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, - 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, - 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, - 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, - 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, - 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, - 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, - 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, - 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, - 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, - 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, - 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, - 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, - 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, - 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, - 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, - 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, - 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, - 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, - 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, - 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, - 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, - 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, - 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, - 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, - 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, - 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, - 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, - 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, - 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, - 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, - 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, - 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, - 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, - 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, - 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,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,4,0,1,1,11,11,4,1,253,128,128,0,128, - 128,128,128,128,128,128,128,6,10,10,8,1,255,4,120,204, - 144,144,160,164,204,120,128,7,11,11,8,0,0,56,68,64, - 64,248,32,32,32,64,98,220,6,6,6,8,1,2,132,120, - 72,72,120,132,7,11,11,7,0,0,130,130,130,68,68,40, - 254,16,254,16,16,1,14,14,3,1,253,128,128,128,128,128, - 128,0,0,128,128,128,128,128,128,5,14,14,8,2,253,112, - 216,136,192,112,152,136,136,200,112,24,136,216,112,5,1,1, - 5,0,9,216,10,11,22,12,1,0,30,0,97,128,92,128, - 162,192,162,64,160,64,162,64,156,64,64,128,97,128,30,0, - 4,7,7,6,1,4,224,16,112,144,208,0,240,6,5,5, - 8,1,2,36,72,144,72,36,7,4,4,9,1,2,254,2, - 2,2,3,1,1,4,0,4,224,10,11,22,12,1,0,30, - 0,97,128,92,128,146,64,146,64,156,64,146,64,146,64,64, - 128,97,128,30,0,4,1,1,4,0,9,240,4,4,4,6, - 1,7,96,144,144,96,7,9,9,9,1,0,16,16,16,254, - 16,16,16,0,254,4,6,6,5,0,5,96,144,16,32,64, - 240,4,6,6,5,0,5,96,144,32,16,144,96,2,2,2, - 5,2,9,64,128,6,11,11,8,1,253,132,132,132,132,132, - 132,204,180,128,128,128,7,14,14,8,0,253,62,116,244,244, - 244,116,52,20,20,20,20,20,20,20,2,1,1,4,1,4, - 192,4,3,3,5,0,253,32,144,96,2,6,6,5,1,5, - 64,192,64,64,64,64,4,7,7,6,1,4,96,144,144,144, - 96,0,240,6,5,5,8,1,2,144,72,36,72,144,10,11, - 22,12,1,0,66,0,194,0,68,0,68,0,72,0,72,128, - 9,128,18,128,20,128,39,192,32,128,9,11,22,12,1,0, - 66,0,194,0,68,0,68,0,72,0,75,0,20,128,16,128, - 17,0,34,0,39,128,11,11,22,12,0,0,97,0,145,0, - 34,0,18,0,148,0,100,64,4,192,9,64,10,64,19,224, - 16,64,6,11,11,8,1,253,16,16,0,16,32,64,128,132, - 132,204,48,9,14,28,9,0,0,16,0,8,0,0,0,8, - 0,28,0,20,0,20,0,34,0,34,0,65,0,127,0,65, - 0,128,128,128,128,9,14,28,9,0,0,4,0,8,0,0, - 0,8,0,28,0,20,0,20,0,34,0,34,0,65,0,127, - 0,65,0,128,128,128,128,9,14,28,9,0,0,12,0,18, - 0,0,0,8,0,28,0,20,0,20,0,34,0,34,0,65, - 0,127,0,65,0,128,128,128,128,9,14,28,9,0,0,26, - 0,44,0,0,0,8,0,28,0,20,0,20,0,34,0,34, - 0,65,0,127,0,65,0,128,128,128,128,9,13,26,9,0, - 0,54,0,0,0,8,0,28,0,20,0,20,0,34,0,34, - 0,65,0,127,0,65,0,128,128,128,128,9,14,28,9,0, - 0,12,0,18,0,18,0,12,0,12,0,20,0,20,0,34, - 0,34,0,65,0,127,0,65,0,128,128,128,128,12,11,22, - 14,1,0,31,240,18,0,18,0,34,0,34,0,35,240,126, - 0,66,0,66,0,130,0,131,240,8,14,14,10,1,253,28, - 99,65,128,128,128,128,128,65,99,28,8,36,24,7,14,14, - 9,1,0,32,16,0,254,128,128,128,128,252,128,128,128,128, - 254,7,14,14,9,1,0,8,16,0,254,128,128,128,128,252, - 128,128,128,128,254,7,14,14,9,1,0,24,36,0,254,128, - 128,128,128,252,128,128,128,128,254,7,13,13,9,1,0,108, - 0,254,128,128,128,128,252,128,128,128,128,254,2,14,14,4, - 1,0,128,64,0,64,64,64,64,64,64,64,64,64,64,64, - 2,14,14,4,2,0,64,128,0,128,128,128,128,128,128,128, - 128,128,128,128,4,14,14,4,1,0,96,144,0,64,64,64, - 64,64,64,64,64,64,64,64,5,13,13,4,0,0,216,0, - 32,32,32,32,32,32,32,32,32,32,32,9,11,22,10,0, - 0,124,0,67,0,65,0,64,128,64,128,240,128,64,128,64, - 128,65,0,67,0,124,0,8,14,14,10,1,0,26,44,0, - 193,161,161,145,145,137,137,133,133,131,131,9,14,28,11,1, - 0,16,0,8,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, - 11,1,0,4,0,8,0,0,0,28,0,99,0,65,0,128, - 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, - 14,28,11,1,0,12,0,18,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,14,28,11,1,0,26,0,44,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,9,13,26,11,1,0,51,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,7,7,7,9,1,1,130,68,40,16,40,68,130, - 11,11,22,11,0,0,14,32,49,192,32,128,65,64,66,64, - 68,64,72,64,80,64,32,128,113,128,142,0,8,14,14,10, - 1,0,16,8,0,129,129,129,129,129,129,129,129,129,66,60, - 8,14,14,10,1,0,4,8,0,129,129,129,129,129,129,129, - 129,129,66,60,8,14,14,10,1,0,24,36,0,129,129,129, - 129,129,129,129,129,129,66,60,8,13,13,10,1,0,102,0, - 129,129,129,129,129,129,129,129,129,66,60,9,14,28,9,0, - 0,4,0,8,0,0,0,128,128,193,128,65,0,34,0,34, - 0,20,0,28,0,8,0,8,0,8,0,8,0,7,11,11, - 9,1,0,128,128,252,134,130,130,134,252,128,128,128,5,11, - 11,7,1,0,112,136,136,136,176,144,136,136,136,136,176,7, - 11,11,8,1,0,32,16,0,120,204,4,124,196,132,204,118, - 7,11,11,8,1,0,16,32,0,120,204,4,124,196,132,204, - 118,7,11,11,8,1,0,48,72,0,120,204,4,124,196,132, - 204,118,7,11,11,8,1,0,52,88,0,120,204,4,124,196, - 132,204,118,7,11,11,8,1,0,72,72,0,120,204,4,124, - 196,132,204,118,7,12,12,8,1,0,48,72,48,0,120,204, - 4,124,196,132,204,118,11,8,16,13,1,0,123,192,198,96, - 4,32,127,224,196,0,132,0,206,96,123,192,6,11,11,8, - 1,253,120,204,128,128,128,132,204,120,16,72,48,6,11,11, - 8,1,0,32,16,0,120,204,132,252,128,128,204,120,6,11, - 11,8,1,0,16,32,0,120,204,132,252,128,128,204,120,6, - 11,11,8,1,0,48,72,0,120,204,132,252,128,128,204,120, - 6,11,11,8,1,0,72,72,0,120,204,132,252,128,128,204, - 120,2,11,11,3,1,0,128,64,0,128,128,128,128,128,128, - 128,128,2,11,11,3,1,0,64,128,0,128,128,128,128,128, - 128,128,128,4,11,11,3,0,0,96,144,0,64,64,64,64, - 64,64,64,64,3,11,11,3,0,0,160,160,0,64,64,64, - 64,64,64,64,64,6,11,11,8,1,0,216,112,144,120,204, - 132,132,132,132,204,120,6,11,11,8,1,0,104,176,0,184, - 204,132,132,132,132,132,132,6,11,11,8,1,0,32,16,0, - 120,204,132,132,132,132,204,120,6,11,11,8,1,0,16,32, - 0,120,204,132,132,132,132,204,120,6,11,11,8,1,0,48, - 72,0,120,204,132,132,132,132,204,120,6,11,11,8,1,0, - 104,176,0,120,204,132,132,132,132,204,120,6,11,11,8,1, - 0,72,72,0,120,204,132,132,132,132,204,120,7,7,7,9, - 1,1,16,16,0,254,0,16,16,8,8,8,8,0,0,61, - 98,70,74,82,98,70,188,6,11,11,8,1,0,32,16,0, - 132,132,132,132,132,132,204,116,6,11,11,8,1,0,16,32, - 0,132,132,132,132,132,132,204,116,6,11,11,8,1,0,48, - 72,0,132,132,132,132,132,132,204,116,6,11,11,8,1,0, - 72,72,0,132,132,132,132,132,132,204,116,7,14,14,7,0, - 253,8,16,0,130,194,68,68,36,40,24,16,16,48,96,6, - 14,14,8,1,253,128,128,128,184,204,132,132,132,132,204,184, - 128,128,128,7,14,14,7,0,253,36,36,0,130,194,68,68, - 36,40,24,16,16,48,96}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 7 h=11 x= 2 y= 6 dx= 9 dy= 0 ascent=11 len=11 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10n[267] U8G_FONT_SECTION("u8g_font_helvR10n") = { - 0,17,22,254,251,11,0,0,0,0,42,58,0,11,254,11, - 0,5,5,5,7,1,6,32,168,112,168,32,7,7,7,9, - 1,1,16,16,16,254,16,16,16,2,4,4,3,0,254,64, - 64,64,128,3,1,1,4,0,4,224,1,2,2,3,1,0, - 128,128,4,11,11,4,0,0,16,16,32,32,32,64,64,64, - 128,128,128,6,11,11,8,1,0,120,132,132,132,132,132,132, - 132,132,132,120,3,11,11,8,2,0,32,224,32,32,32,32, - 32,32,32,32,32,6,11,11,8,1,0,120,132,132,4,8, - 16,32,64,128,128,252,6,11,11,8,1,0,120,132,132,4, - 4,56,4,4,132,132,120,7,11,11,8,1,0,4,12,20, - 36,68,132,132,254,4,4,4,6,11,11,8,1,0,252,128, - 128,128,248,4,4,4,132,132,120,6,11,11,8,1,0,120, - 132,128,128,184,196,132,132,132,132,120,6,11,11,8,1,0, - 252,4,8,8,16,16,32,32,64,64,64,6,11,11,8,1, - 0,120,132,132,132,132,120,132,132,132,132,120,6,11,11,8, - 1,0,120,132,132,132,132,124,4,4,132,132,120,1,8,8, - 3,1,0,128,128,0,0,0,0,128,128}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=13 h=14 x= 2 y= 9 dx=13 dy= 0 ascent=12 len=24 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10r[1648] U8G_FONT_SECTION("u8g_font_helvR10r") = { - 0,17,22,254,251,11,2,10,4,133,32,127,253,12,253,11, - 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, - 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, - 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, - 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, - 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, - 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, - 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, - 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, - 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, - 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, - 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, - 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, - 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, - 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, - 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, - 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, - 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, - 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, - 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, - 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, - 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, - 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, - 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, - 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, - 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, - 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, - 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, - 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, - 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, - 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, - 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, - 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, - 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, - 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, - 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, - 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, - 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, - 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, - 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, - 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, - 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, - 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, - 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, - 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, - 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, - 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, - 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, - 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, - 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, - 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, - 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, - 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, - 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, - 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, - 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, - 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, - 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, - 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, - 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, - 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, - 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, - 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, - 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, - 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, - 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, - 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, - 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, - 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, - 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, - 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, - 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, - 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, - 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, - 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, - 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, - 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, - 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, - 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, - 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, - 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, - 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, - 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, - 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, - 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, - 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, - 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, - 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, - 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, - 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, - 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, - 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, - 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, - 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, - 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, - 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,255 - }; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=16 x= 3 y=10 dx=17 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_FONT_SECTION("u8g_font_helvR12") = { - 0,20,26,254,250,12,2,91,5,99,32,255,252,16,252,12, - 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, - 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, - 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, - 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, - 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, - 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, - 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, - 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, - 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, - 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, - 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, - 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, - 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, - 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, - 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, - 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, - 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, - 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, - 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, - 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, - 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, - 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, - 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, - 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, - 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, - 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, - 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, - 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, - 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, - 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, - 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, - 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, - 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, - 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, - 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, - 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, - 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, - 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, - 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, - 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, - 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, - 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, - 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, - 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, - 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, - 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, - 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, - 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, - 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, - 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, - 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, - 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, - 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, - 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, - 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, - 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, - 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, - 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, - 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, - 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, - 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, - 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, - 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, - 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, - 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, - 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, - 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, - 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, - 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, - 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, - 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, - 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, - 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, - 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, - 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, - 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, - 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, - 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, - 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, - 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, - 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, - 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, - 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, - 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, - 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, - 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, - 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, - 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, - 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, - 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, - 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, - 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, - 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, - 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, - 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, - 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, - 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, - 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, - 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, - 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, - 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, - 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, - 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, - 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, - 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, - 113,142,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,5,0,1,1,12,12,6,2,253,128, - 128,0,128,128,128,128,128,128,128,128,128,7,13,13,9,1, - 254,4,4,56,76,138,144,144,144,162,100,56,64,64,8,12, - 12,9,0,0,14,17,33,32,32,16,126,8,16,32,121,134, - 8,7,7,9,0,3,189,102,66,66,66,102,189,9,12,24, - 9,0,0,128,128,65,0,65,0,34,0,34,0,20,0,127, - 0,8,0,127,0,8,0,8,0,8,0,1,16,16,4,1, - 252,128,128,128,128,128,128,0,0,0,0,128,128,128,128,128, - 128,7,15,15,9,1,253,56,68,70,96,152,140,134,194,98, - 50,28,4,196,68,56,3,2,2,5,1,10,160,160,12,12, - 24,12,0,0,15,0,48,192,71,32,72,160,144,16,144,16, - 144,16,144,16,72,160,71,32,48,192,15,0,5,7,7,6, - 1,5,96,144,112,144,120,0,248,6,6,6,9,1,2,36, - 72,144,144,72,36,8,5,5,10,0,1,255,1,1,1,1, - 4,1,1,5,0,4,240,12,12,24,12,0,0,15,0,48, - 192,64,32,79,32,136,144,136,144,143,16,138,16,73,32,72, - 160,48,192,15,0,5,1,1,6,0,10,248,5,5,5,7, - 1,7,112,136,136,136,112,9,11,22,10,0,0,8,0,8, - 0,8,0,8,0,255,128,8,0,8,0,8,0,8,0,0, - 0,255,128,5,7,7,6,0,5,112,136,136,16,96,128,248, - 5,7,7,6,0,5,112,136,8,48,8,136,112,3,3,3, - 6,1,10,32,96,128,7,13,13,9,1,252,130,130,130,130, - 130,130,130,134,250,128,128,128,128,7,15,15,9,1,253,62, - 116,244,244,244,244,116,52,20,20,20,20,20,20,20,1,2, - 2,5,2,4,128,128,4,4,4,6,0,252,32,32,144,96, - 3,7,7,6,0,5,32,224,32,32,32,32,32,4,7,7, - 6,1,5,96,144,144,144,96,0,240,6,6,6,9,1,2, - 144,72,36,36,72,144,12,12,24,14,0,0,32,64,224,128, - 32,128,33,0,34,0,34,32,36,96,4,160,9,32,17,240, - 16,32,32,32,12,13,26,14,0,0,0,64,32,128,224,128, - 33,0,34,0,34,0,36,224,37,16,9,16,8,32,16,192, - 33,0,33,240,13,12,24,14,0,0,112,64,136,64,8,128, - 48,128,9,0,137,16,114,48,2,80,4,144,4,248,8,16, - 8,16,7,12,12,10,1,253,16,16,0,16,16,32,64,128, - 130,130,68,56,10,16,32,11,0,0,16,0,24,0,4,0, - 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, - 127,128,64,128,64,128,128,64,128,64,10,16,32,11,0,0, - 2,0,6,0,8,0,0,0,12,0,12,0,18,0,18,0, - 18,0,33,0,33,0,127,128,64,128,64,128,128,64,128,64, - 10,16,32,11,0,0,4,0,14,0,17,0,0,0,12,0, - 12,0,18,0,18,0,18,0,33,0,33,0,127,128,64,128, - 64,128,128,64,128,64,10,15,30,11,0,0,26,0,44,0, - 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, - 127,128,64,128,64,128,128,64,128,64,10,15,30,11,0,0, - 18,0,18,0,0,0,12,0,12,0,18,0,18,0,18,0, - 33,0,33,0,127,128,64,128,64,128,128,64,128,64,10,15, - 30,11,0,0,12,0,18,0,18,0,12,0,12,0,18,0, - 18,0,18,0,33,0,33,0,127,128,64,128,64,128,128,64, - 128,64,14,12,24,16,0,0,7,252,9,0,9,0,17,0, - 17,0,33,252,33,0,127,0,65,0,65,0,129,0,129,252, - 10,16,32,12,1,252,15,0,48,128,64,64,64,0,128,0, - 128,0,128,0,128,0,64,0,64,64,48,128,15,0,4,0, - 4,0,18,0,12,0,8,16,16,11,1,0,32,48,8,0, - 255,128,128,128,128,255,128,128,128,128,128,255,8,16,16,11, - 1,0,4,12,16,0,255,128,128,128,128,255,128,128,128,128, - 128,255,8,16,16,11,1,0,16,56,68,0,255,128,128,128, - 128,255,128,128,128,128,128,255,8,15,15,11,1,0,36,36, - 0,255,128,128,128,128,255,128,128,128,128,128,255,3,16,16, - 4,0,0,128,192,32,0,64,64,64,64,64,64,64,64,64, - 64,64,64,3,16,16,4,0,0,32,96,128,0,64,64,64, - 64,64,64,64,64,64,64,64,64,5,16,16,4,255,0,32, - 112,136,0,32,32,32,32,32,32,32,32,32,32,32,32,3, - 15,15,4,0,0,160,160,0,64,64,64,64,64,64,64,64, - 64,64,64,64,12,12,24,12,0,0,63,0,32,192,32,32, - 32,32,32,16,248,16,32,16,32,16,32,32,32,32,32,192, - 63,0,9,15,30,12,1,0,26,0,44,0,0,0,128,128, - 192,128,160,128,160,128,144,128,136,128,136,128,132,128,130,128, - 130,128,129,128,128,128,11,16,32,13,1,0,8,0,12,0, - 2,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, - 128,32,128,32,64,64,64,64,49,128,14,0,11,16,32,13, - 1,0,1,0,3,0,4,0,0,0,14,0,49,128,64,64, - 64,64,128,32,128,32,128,32,128,32,64,64,64,64,49,128, - 14,0,11,16,32,13,1,0,4,0,14,0,17,0,0,0, - 14,0,49,128,64,64,64,64,128,32,128,32,128,32,128,32, - 64,64,64,64,49,128,14,0,11,15,30,13,1,0,13,0, - 22,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, - 128,32,128,32,64,64,64,64,49,128,14,0,11,15,30,13, - 1,0,17,0,17,0,0,0,14,0,49,128,64,64,64,64, - 128,32,128,32,128,32,128,32,64,64,64,64,49,128,14,0, - 8,8,8,10,1,0,129,66,36,24,24,36,66,129,11,14, - 28,13,1,255,0,64,14,128,49,128,65,64,66,64,130,32, - 132,32,132,32,136,32,72,64,80,64,49,128,46,0,64,0, - 9,16,32,12,1,0,32,0,48,0,8,0,0,0,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,9,16,32,12,1,0,2,0,6,0, - 8,0,0,0,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,65,0,62,0,9,16,32,12, - 1,0,8,0,28,0,34,0,0,0,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 62,0,9,15,30,12,1,0,34,0,34,0,0,0,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,9,16,32,11,1,0,2,0,6,0, - 8,0,0,0,128,128,65,0,65,0,34,0,34,0,20,0, - 28,0,8,0,8,0,8,0,8,0,8,0,8,12,12,11, - 2,0,128,128,252,130,129,129,130,252,128,128,128,128,7,12, - 12,10,2,0,120,132,130,130,132,188,134,130,130,130,132,184, - 8,13,13,9,1,0,32,48,8,0,124,130,2,6,122,130, - 130,134,123,8,13,13,9,1,0,4,12,16,0,124,130,2, - 6,122,130,130,134,123,8,13,13,9,1,0,16,56,68,0, - 124,130,2,6,122,130,130,134,123,8,12,12,9,1,0,52, - 88,0,124,130,2,6,122,130,130,134,123,8,12,12,9,1, - 0,40,40,0,124,130,2,6,122,130,130,134,123,8,13,13, - 9,1,0,16,40,16,0,124,130,2,6,122,130,130,134,123, - 13,9,18,15,1,0,124,224,131,16,2,8,6,8,123,248, - 130,0,130,8,135,16,120,224,7,13,13,8,1,252,56,68, - 130,128,128,128,130,68,56,16,16,72,48,7,13,13,9,1, - 0,64,96,16,0,56,68,130,130,254,128,130,68,56,7,13, - 13,9,1,0,8,24,32,0,56,68,130,130,254,128,130,68, - 56,7,13,13,9,1,0,16,56,68,0,56,68,130,130,254, - 128,130,68,56,7,12,12,9,1,0,40,40,0,56,68,130, - 130,254,128,130,68,56,3,13,13,4,1,0,128,192,32,0, - 64,64,64,64,64,64,64,64,64,3,13,13,4,1,0,32, - 96,128,0,64,64,64,64,64,64,64,64,64,5,13,13,4, - 0,0,32,112,136,0,32,32,32,32,32,32,32,32,32,3, - 12,12,4,1,0,160,160,0,64,64,64,64,64,64,64,64, - 64,7,12,12,9,1,0,72,48,88,60,68,130,130,130,130, - 130,68,56,7,12,12,9,1,0,52,88,0,188,194,130,130, - 130,130,130,130,130,7,13,13,9,1,0,32,48,8,0,56, - 68,130,130,130,130,130,68,56,7,13,13,9,1,0,8,24, - 32,0,56,68,130,130,130,130,130,68,56,7,13,13,9,1, - 0,16,56,68,0,56,68,130,130,130,130,130,68,56,7,12, - 12,9,1,0,52,88,0,56,68,130,130,130,130,130,68,56, - 7,12,12,9,1,0,40,40,0,56,68,130,130,130,130,130, - 68,56,7,9,9,10,1,0,16,16,0,0,254,0,0,16, - 16,7,10,10,10,1,0,2,60,68,138,146,146,162,162,68, - 184,7,13,13,9,1,0,32,48,8,0,130,130,130,130,130, - 130,130,134,122,7,13,13,9,1,0,4,12,16,0,130,130, - 130,130,130,130,130,134,122,7,13,13,9,1,0,16,56,68, - 0,130,130,130,130,130,130,130,134,122,7,12,12,9,1,0, - 40,40,0,130,130,130,130,130,130,130,134,122,7,16,16,8, - 0,253,8,24,32,0,130,130,68,68,40,40,56,16,16,32, - 32,192,7,16,16,9,1,252,128,128,128,184,196,130,130,130, - 130,130,196,184,128,128,128,128,7,15,15,8,0,253,40,40, - 0,130,130,68,68,40,40,56,16,16,32,32,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 9 h=12 x= 3 y= 7 dx=10 dy= 0 ascent=12 len=18 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12n[290] U8G_FONT_SECTION("u8g_font_helvR12n") = { - 0,20,26,254,250,12,0,0,0,0,42,58,0,12,254,12, - 0,5,5,5,6,0,7,32,168,112,80,136,9,9,18,10, - 0,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,4,4,4,1,254,64,64,64,128,4,1, - 1,5,0,4,240,1,2,2,4,2,0,128,128,4,12,12, - 5,0,0,16,16,32,32,32,32,64,64,64,128,128,128,7, - 12,12,9,1,0,56,68,68,130,130,130,130,130,130,68,68, - 56,3,12,12,9,3,0,32,32,96,160,32,32,32,32,32, - 32,32,32,7,12,12,9,1,0,56,68,130,130,2,4,8, - 48,64,128,128,254,7,12,12,9,1,0,56,68,130,130,4, - 56,4,2,130,130,68,56,8,12,12,9,0,0,12,20,20, - 36,36,68,68,132,255,4,4,4,7,12,12,9,1,0,62, - 32,32,64,120,68,2,2,2,130,68,56,7,12,12,9,1, - 0,60,66,130,128,184,196,130,130,130,130,68,56,8,12,12, - 9,0,0,255,1,2,4,4,8,8,16,16,16,32,32,7, - 12,12,9,1,0,56,68,130,130,68,56,68,130,130,130,68, - 56,7,12,12,9,1,0,56,68,130,130,130,130,70,58,2, - 130,132,120,1,9,9,4,2,0,128,128,0,0,0,0,0, - 128,128}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=13 h=16 x= 3 y=10 dx=17 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12r[1907] U8G_FONT_SECTION("u8g_font_helvR12r") = { - 0,20,26,254,250,12,2,91,5,99,32,127,252,13,252,12, - 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, - 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, - 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, - 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, - 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, - 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, - 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, - 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, - 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, - 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, - 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, - 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, - 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, - 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, - 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, - 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, - 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, - 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, - 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, - 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, - 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, - 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, - 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, - 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, - 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, - 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, - 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, - 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, - 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, - 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, - 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, - 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, - 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, - 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, - 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, - 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, - 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, - 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, - 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, - 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, - 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, - 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, - 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, - 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, - 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, - 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, - 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, - 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, - 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, - 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, - 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, - 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, - 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, - 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, - 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, - 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, - 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, - 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, - 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, - 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, - 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, - 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, - 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, - 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, - 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, - 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, - 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, - 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, - 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, - 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, - 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, - 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, - 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, - 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, - 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, - 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, - 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, - 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, - 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, - 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, - 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, - 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, - 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, - 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, - 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, - 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, - 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, - 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, - 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, - 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, - 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, - 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, - 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, - 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, - 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, - 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, - 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, - 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, - 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, - 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, - 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, - 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, - 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, - 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, - 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, - 113,142,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=12 dx=18 dy= 0 ascent=18 len=36 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_FONT_SECTION("u8g_font_helvR14") = { - 0,22,29,254,249,14,2,149,6,82,32,255,252,18,252,14, - 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, - 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, - 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, - 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, - 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, - 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, - 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, - 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, - 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, - 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, - 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, - 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, - 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, - 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, - 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, - 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, - 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, - 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, - 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, - 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, - 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, - 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, - 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, - 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, - 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, - 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, - 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, - 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, - 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, - 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, - 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, - 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, - 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, - 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, - 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, - 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, - 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, - 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, - 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, - 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, - 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, - 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, - 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, - 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, - 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, - 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, - 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, - 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, - 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, - 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, - 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, - 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, - 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, - 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, - 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, - 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, - 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, - 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, - 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, - 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, - 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, - 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, - 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, - 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, - 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, - 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, - 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, - 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, - 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, - 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, - 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, - 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, - 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, - 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, - 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, - 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, - 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, - 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, - 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, - 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, - 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, - 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, - 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, - 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, - 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, - 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, - 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, - 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, - 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, - 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, - 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, - 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, - 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, - 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, - 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, - 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, - 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, - 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, - 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, - 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, - 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, - 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, - 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, - 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, - 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, - 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, - 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, - 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, - 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, - 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, - 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, - 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, - 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, - 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, - 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, - 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, - 3,3,10,1,4,115,255,206,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,5,0,1,2, - 14,14,6,2,252,192,192,0,0,64,64,192,192,192,192,192, - 192,192,192,8,14,14,10,1,254,4,4,62,127,107,200,200, - 200,200,107,127,62,16,16,9,13,26,10,0,0,30,0,63, - 0,97,128,97,128,96,0,48,0,126,0,24,0,24,0,48, - 0,96,128,255,128,223,0,8,7,7,10,1,3,195,255,102, - 102,102,255,195,8,13,13,10,1,0,195,195,102,102,102,60, - 255,24,255,24,24,24,24,2,18,18,5,1,252,192,192,192, - 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,8, - 18,18,10,1,252,60,126,195,195,240,124,110,199,195,227,115, - 62,14,7,195,195,126,60,5,2,2,6,0,12,216,216,13, - 14,28,15,1,0,15,128,48,96,64,16,71,16,136,136,144, - 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, - 128,5,8,8,7,1,6,112,152,56,72,216,104,0,248,7, - 6,6,9,1,2,54,108,216,216,108,54,9,5,10,11,1, - 3,255,128,255,128,1,128,1,128,1,128,5,1,1,6,0, - 5,248,13,14,28,14,0,0,15,128,48,96,64,16,79,144, - 136,72,136,72,136,72,143,136,137,8,136,136,72,80,64,16, - 48,96,15,128,5,1,1,5,0,12,248,5,5,5,7,1, - 8,112,216,136,216,112,8,11,11,10,1,0,24,24,24,255, - 255,24,24,24,0,255,255,5,8,8,6,0,5,112,248,152, - 24,48,96,248,248,5,8,8,6,0,5,112,248,152,48,48, - 152,248,112,4,3,3,4,0,11,48,96,192,8,14,14,10, - 1,252,195,195,195,195,195,195,195,231,255,219,192,192,192,192, - 8,18,18,10,1,252,63,114,242,242,242,242,242,114,50,18, - 18,18,18,18,18,18,18,18,2,2,2,4,1,4,192,192, - 5,5,5,5,0,252,96,112,24,216,240,4,8,8,6,0, - 5,48,240,240,48,48,48,48,48,5,8,8,7,1,6,112, - 216,136,136,216,112,0,248,7,6,6,9,1,2,216,108,54, - 54,108,216,14,13,26,15,0,0,48,48,240,48,240,96,48, - 192,48,192,49,136,49,24,51,56,6,120,6,216,12,252,24, - 24,24,24,14,13,26,15,0,0,48,48,240,48,240,96,48, - 192,48,192,49,184,49,124,51,76,6,12,6,24,12,48,24, - 124,24,124,14,13,26,15,0,0,112,48,248,48,152,96,48, - 192,48,192,153,136,249,24,115,56,6,120,6,216,12,252,24, - 24,24,24,7,14,14,10,1,252,24,24,0,0,24,24,24, - 56,112,224,198,198,254,124,12,18,36,13,0,0,24,0,12, - 0,6,0,0,0,6,0,6,0,15,0,15,0,25,128,25, - 128,48,192,48,192,63,192,127,224,96,96,96,96,192,48,192, - 48,12,18,36,13,0,0,1,128,3,0,6,0,0,0,6, - 0,6,0,15,0,15,0,25,128,25,128,48,192,48,192,63, - 192,127,224,96,96,96,96,192,48,192,48,12,18,36,13,0, - 0,6,0,15,0,25,128,0,0,6,0,6,0,15,0,15, - 0,25,128,25,128,48,192,48,192,63,192,127,224,96,96,96, - 96,192,48,192,48,12,18,36,13,0,0,12,128,22,128,19, - 0,0,0,6,0,6,0,15,0,15,0,25,128,25,128,48, - 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,12, - 17,34,13,0,0,25,128,25,128,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,12,17,34,13,0,0,6,0,9, - 0,9,0,6,0,6,0,15,0,15,0,25,128,25,128,48, - 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,16, - 14,28,18,1,0,7,255,7,255,13,128,13,128,25,128,25, - 128,49,254,49,254,63,128,127,128,97,128,97,128,193,255,193, - 255,12,18,36,14,1,252,15,128,63,224,112,112,96,48,224, - 0,192,0,192,0,192,0,192,0,224,0,96,48,112,112,63, - 224,15,128,6,0,3,0,27,0,30,0,10,18,36,13,2, - 0,48,0,24,0,12,0,0,0,255,192,255,192,192,0,192, - 0,192,0,192,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,192,255,192,10,18,36,13,2,0,3,0,6,0,12, - 0,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,10, - 18,36,13,2,0,12,0,30,0,51,0,0,0,255,192,255, - 192,192,0,192,0,192,0,192,0,255,128,255,128,192,0,192, - 0,192,0,192,0,255,192,255,192,10,17,34,13,2,0,51, - 0,51,0,0,0,255,192,255,192,192,0,192,0,192,0,192, - 0,255,128,255,128,192,0,192,0,192,0,192,0,255,192,255, - 192,4,18,18,6,0,0,192,96,48,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,4,18,18,6,2,0,48, - 96,192,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,6,18,18,6,0,0,48,120,132,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,6,17,17,6,0,0,204, - 204,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 14,14,28,14,255,0,63,224,63,240,48,56,48,24,48,12, - 48,12,254,12,254,12,48,12,48,12,48,24,48,56,63,240, - 63,224,11,18,36,14,1,0,12,128,22,128,19,0,0,0, - 192,96,224,96,240,96,240,96,216,96,204,96,204,96,198,96, - 198,96,195,96,193,224,193,224,192,224,192,96,13,18,36,15, - 1,0,24,0,12,0,6,0,0,0,15,128,63,224,112,112, - 96,48,224,56,192,24,192,24,192,24,192,24,224,56,96,48, - 112,112,63,224,15,128,13,18,36,15,1,0,1,128,3,0, - 6,0,0,0,15,128,63,224,112,112,96,48,224,56,192,24, - 192,24,192,24,192,24,224,56,96,48,112,112,63,224,15,128, - 13,18,36,15,1,0,3,0,7,128,12,192,0,0,15,128, - 63,224,112,112,96,48,224,56,192,24,192,24,192,24,192,24, - 224,56,96,48,112,112,63,224,15,128,13,18,36,15,1,0, - 6,64,11,64,9,128,0,0,15,128,63,224,112,112,96,48, - 224,56,192,24,192,24,192,24,192,24,224,56,96,48,112,112, - 63,224,15,128,13,17,34,15,1,0,12,192,12,192,0,0, - 15,128,63,224,112,112,96,48,224,56,192,24,192,24,192,24, - 192,24,224,56,96,48,112,112,63,224,15,128,10,9,18,10, - 0,0,192,192,97,128,51,0,30,0,12,0,30,0,51,0, - 97,128,192,192,14,14,28,15,0,0,7,204,31,248,56,48, - 48,120,112,220,97,140,99,12,98,12,102,12,108,28,56,24, - 56,56,111,240,199,192,11,18,36,14,1,0,24,0,12,0, - 6,0,0,0,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,96,192,127,192,31,0, - 11,18,36,14,1,0,3,0,6,0,12,0,0,0,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,96,192,127,192,31,0,11,18,36,14,1,0, - 6,0,15,0,25,128,0,0,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,96,192, - 127,192,31,0,11,17,34,14,1,0,49,128,49,128,0,0, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,96,192,127,192,31,0,12,18,36,13, - 0,0,1,128,3,0,6,0,0,0,192,48,192,48,96,96, - 96,96,48,192,57,192,25,128,15,0,6,0,6,0,6,0, - 6,0,6,0,6,0,10,14,28,12,1,0,192,0,192,0, - 192,0,255,0,255,128,193,192,192,192,192,192,193,192,255,128, - 255,0,192,0,192,0,192,0,7,14,14,9,1,0,56,124, - 198,198,198,198,220,220,198,198,198,198,222,220,9,14,28,11, - 1,0,48,0,24,0,12,0,0,0,126,0,231,0,195,0, - 7,0,127,0,227,0,195,0,195,0,231,128,121,128,9,14, - 28,11,1,0,12,0,24,0,48,0,0,0,126,0,231,0, - 195,0,7,0,127,0,227,0,195,0,195,0,231,128,121,128, - 9,14,28,11,1,0,24,0,60,0,102,0,0,0,126,0, - 231,0,195,0,7,0,127,0,227,0,195,0,195,0,231,128, - 121,128,9,14,28,11,1,0,50,0,90,0,76,0,0,0, - 126,0,231,0,195,0,7,0,127,0,227,0,195,0,195,0, - 231,128,121,128,9,14,28,11,1,0,102,0,102,0,0,0, - 0,0,126,0,231,0,195,0,7,0,127,0,227,0,195,0, - 195,0,231,128,121,128,9,14,28,11,1,0,24,0,36,0, - 36,0,24,0,126,0,231,0,195,0,7,0,127,0,227,0, - 195,0,195,0,231,128,121,128,14,10,20,17,2,0,126,240, - 231,248,195,12,7,12,127,252,227,0,195,0,195,140,231,252, - 122,240,8,14,14,10,1,252,62,127,99,192,192,192,192,99, - 127,62,24,12,108,120,8,14,14,10,1,0,48,24,12,0, - 60,126,195,195,255,192,192,227,127,60,8,14,14,10,1,0, - 12,24,48,0,60,126,195,195,255,192,192,227,127,60,8,14, - 14,10,1,0,24,60,102,0,60,126,195,195,255,192,192,227, - 127,60,8,14,14,10,1,0,102,102,0,0,60,126,195,195, - 255,192,192,227,127,60,4,14,14,4,0,0,192,96,48,0, - 96,96,96,96,96,96,96,96,96,96,4,14,14,4,0,0, - 48,96,192,0,96,96,96,96,96,96,96,96,96,96,6,14, - 14,4,255,0,48,120,204,0,48,48,48,48,48,48,48,48, - 48,48,5,14,14,4,0,0,216,216,0,0,96,96,96,96, - 96,96,96,96,96,96,9,14,28,11,1,0,96,0,54,0, - 56,0,76,0,62,0,127,0,99,0,193,128,193,128,193,128, - 193,128,99,0,127,0,62,0,8,14,14,10,1,0,50,90, - 76,0,222,255,227,195,195,195,195,195,195,195,9,14,28,11, - 1,0,48,0,24,0,12,0,0,0,62,0,127,0,99,0, - 193,128,193,128,193,128,193,128,99,0,127,0,62,0,9,14, - 28,11,1,0,6,0,12,0,24,0,0,0,62,0,127,0, - 99,0,193,128,193,128,193,128,193,128,99,0,127,0,62,0, - 9,14,28,11,1,0,24,0,60,0,102,0,0,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,0,50,0,90,0,76,0,0,0, - 62,0,127,0,99,0,193,128,193,128,193,128,193,128,99,0, - 127,0,62,0,9,14,28,11,1,0,51,0,51,0,0,0, - 0,0,62,0,127,0,99,0,193,128,193,128,193,128,193,128, - 99,0,127,0,62,0,8,8,8,10,1,1,24,24,0,255, - 255,0,24,24,11,10,20,11,0,0,14,96,63,192,49,128, - 99,192,102,192,108,192,120,192,49,128,127,128,206,0,8,14, - 14,10,1,0,48,24,12,0,195,195,195,195,195,195,195,199, - 255,123,8,14,14,10,1,0,6,12,24,0,195,195,195,195, - 195,195,195,199,255,123,8,14,14,10,1,0,24,60,102,0, - 195,195,195,195,195,195,195,199,255,123,8,14,14,10,1,0, - 102,102,0,0,195,195,195,195,195,195,195,199,255,123,8,18, - 18,10,1,252,6,12,24,0,195,195,195,102,102,102,36,60, - 24,24,24,24,112,112,9,18,36,11,1,252,192,0,192,0, - 192,0,192,0,222,0,255,0,227,0,193,128,193,128,193,128, - 193,128,227,0,255,0,222,0,192,0,192,0,192,0,192,0, - 8,18,18,10,1,252,102,102,0,0,195,195,195,102,102,102, - 36,60,24,24,24,24,112,112}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 13 - Calculated Max Values w= 9 h=14 x= 2 y= 7 dx=10 dy= 0 ascent=14 len=26 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =13 descent= 0 - X Font ascent =13 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14n[311] U8G_FONT_SECTION("u8g_font_helvR14n") = { - 0,22,29,254,249,13,0,0,0,0,42,58,0,14,253,13, - 0,5,7,7,7,1,7,32,168,248,32,248,168,32,8,10, - 10,10,1,0,24,24,24,24,255,255,24,24,24,24,2,5, - 5,5,1,253,192,192,64,64,128,5,1,1,6,0,5,248, - 2,2,2,5,1,0,192,192,5,14,14,5,0,0,24,24, - 24,24,48,48,48,96,96,96,192,192,192,192,8,13,13,10, - 1,0,60,126,102,195,195,195,195,195,195,195,102,126,60,5, - 13,13,10,2,0,24,248,248,24,24,24,24,24,24,24,24, - 24,24,8,13,13,10,1,0,60,254,195,3,7,14,28,56, - 112,224,192,255,255,8,13,13,10,1,0,62,127,195,195,6, - 28,30,7,3,195,199,126,60,9,13,26,10,0,0,3,0, - 7,0,15,0,27,0,51,0,51,0,99,0,195,0,255,128, - 255,128,3,0,3,0,3,0,8,13,13,10,1,0,254,254, - 192,192,252,254,199,3,3,195,199,254,124,8,13,13,10,1, - 0,60,127,99,192,192,220,254,195,195,195,227,126,60,8,13, - 13,10,1,0,255,255,3,6,12,12,24,24,48,48,96,96, - 96,8,13,13,10,1,0,60,126,231,195,195,102,126,231,195, - 195,231,126,60,8,13,13,10,1,0,60,126,199,195,195,195, - 127,59,3,3,198,254,124,2,10,10,5,1,0,192,192,0, - 0,0,0,0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14r[2281] U8G_FONT_SECTION("u8g_font_helvR14r") = { - 0,22,29,254,249,14,2,149,6,82,32,127,252,14,252,14, - 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, - 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, - 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, - 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, - 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, - 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, - 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, - 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, - 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, - 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, - 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, - 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, - 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, - 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, - 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, - 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, - 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, - 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, - 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, - 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, - 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, - 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, - 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, - 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, - 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, - 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, - 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, - 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, - 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, - 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, - 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, - 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, - 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, - 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, - 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, - 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, - 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, - 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, - 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, - 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, - 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, - 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, - 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, - 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, - 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, - 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, - 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, - 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, - 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, - 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, - 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, - 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, - 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, - 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, - 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, - 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, - 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, - 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, - 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, - 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, - 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, - 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, - 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, - 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, - 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, - 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, - 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, - 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, - 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, - 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, - 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, - 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, - 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, - 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, - 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, - 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, - 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, - 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, - 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, - 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, - 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, - 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, - 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, - 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, - 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, - 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, - 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, - 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, - 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, - 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, - 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, - 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, - 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, - 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, - 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, - 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, - 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, - 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, - 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, - 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, - 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, - 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, - 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, - 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, - 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, - 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, - 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, - 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, - 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, - 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, - 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, - 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, - 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, - 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, - 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, - 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, - 3,3,10,1,4,115,255,206,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=16 dx=25 dy= 0 ascent=24 len=69 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_FONT_SECTION("u8g_font_helvR18") = { - 0,28,37,253,248,19,4,37,9,49,32,255,251,24,251,19, - 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, - 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, - 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, - 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, - 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, - 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, - 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, - 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, - 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, - 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, - 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, - 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, - 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, - 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, - 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, - 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, - 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, - 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, - 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, - 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, - 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, - 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, - 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, - 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, - 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, - 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, - 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, - 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, - 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, - 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, - 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, - 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, - 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, - 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, - 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, - 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, - 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, - 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, - 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, - 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, - 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, - 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, - 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, - 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, - 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, - 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, - 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, - 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, - 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, - 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, - 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, - 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, - 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, - 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, - 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, - 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, - 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, - 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, - 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, - 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, - 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, - 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, - 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, - 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, - 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, - 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, - 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, - 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, - 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, - 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, - 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, - 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, - 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, - 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, - 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, - 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, - 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, - 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, - 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, - 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, - 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, - 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, - 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, - 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, - 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, - 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, - 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, - 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, - 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, - 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, - 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, - 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, - 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, - 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, - 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, - 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, - 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, - 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, - 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, - 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, - 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, - 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, - 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, - 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, - 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, - 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, - 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, - 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, - 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, - 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, - 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, - 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, - 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, - 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, - 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, - 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, - 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, - 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, - 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, - 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, - 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, - 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, - 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, - 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, - 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, - 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, - 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, - 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, - 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, - 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, - 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, - 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, - 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, - 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, - 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, - 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, - 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, - 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, - 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, - 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, - 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, - 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, - 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, - 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, - 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, - 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, - 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, - 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, - 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, - 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, - 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, - 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, - 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, - 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, - 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, - 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, - 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, - 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, - 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, - 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, - 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, - 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, - 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, - 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, - 207,192,195,128,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,1,2,19,19,6,2, - 251,192,192,192,0,0,64,64,192,192,192,192,192,192,192,192, - 192,192,192,192,10,18,36,13,1,254,1,128,1,128,31,0, - 63,128,115,192,102,192,198,0,204,0,204,0,204,0,216,0, - 216,0,216,192,113,192,127,128,63,0,96,0,96,0,12,18, - 36,14,1,0,31,128,63,224,112,112,96,48,96,0,112,0, - 48,0,24,0,255,128,255,128,24,0,24,0,24,0,48,0, - 48,0,103,48,255,240,240,224,11,12,24,13,1,3,192,96, - 238,224,127,192,49,128,96,192,96,192,96,192,96,192,49,128, - 127,192,238,224,192,96,14,18,36,14,0,0,224,28,96,24, - 112,56,48,48,56,112,24,96,28,224,12,192,63,240,63,240, - 3,0,63,240,63,240,3,0,3,0,3,0,3,0,3,0, - 2,24,24,6,2,251,192,192,192,192,192,192,192,192,192,192, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,11,24, - 48,13,1,251,31,0,63,128,113,192,96,192,112,192,56,0, - 28,0,126,0,231,0,195,128,193,192,192,192,96,96,112,96, - 56,96,28,192,15,128,7,0,3,128,97,192,96,192,113,192, - 63,128,31,0,6,2,2,8,1,16,204,204,19,19,57,19, - 1,0,3,248,0,14,14,0,48,1,128,96,0,192,65,240, - 64,195,24,96,134,12,32,132,0,32,132,0,32,132,0,32, - 132,0,32,134,12,32,195,24,96,65,240,64,96,0,192,48, - 1,128,24,3,0,14,14,0,3,248,0,7,12,12,9,1, - 7,120,204,204,28,108,204,204,220,118,0,254,254,9,8,16, - 14,2,3,25,128,51,0,102,0,204,0,204,0,102,0,51, - 0,25,128,13,8,16,15,1,2,255,248,255,248,0,24,0, - 24,0,24,0,24,0,24,0,24,6,2,2,8,1,6,252, - 252,18,19,57,19,1,0,7,248,0,28,14,0,48,3,0, - 96,1,128,67,240,128,194,24,192,130,8,64,130,8,64,130, - 8,64,130,16,64,131,240,64,130,32,64,130,16,64,194,16, - 192,66,8,128,96,1,128,48,3,0,28,14,0,7,248,0, - 6,2,2,8,1,16,252,252,8,7,7,9,0,11,60,102, - 195,195,195,102,60,12,13,26,14,1,0,6,0,6,0,6, - 0,6,0,255,240,255,240,6,0,6,0,6,0,6,0,0, - 0,255,240,255,240,7,10,10,7,0,8,60,126,198,6,12, - 24,48,96,254,254,7,10,10,7,0,8,124,254,198,6,60, - 60,6,198,254,124,5,4,4,7,1,15,24,48,96,192,10, - 19,38,14,2,251,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,193,192,227,192,254,192,220, - 192,192,0,192,0,192,0,192,0,192,0,10,24,48,12,1, - 251,31,192,127,192,125,128,253,128,253,128,253,128,253,128,253, - 128,253,128,125,128,125,128,61,128,13,128,13,128,13,128,13, - 128,13,128,13,128,13,128,13,128,13,128,13,128,13,128,13, - 128,2,3,3,6,2,6,192,192,192,5,6,6,7,1,251, - 96,112,24,24,248,112,4,10,10,7,0,8,48,48,240,240, - 48,48,48,48,48,48,7,12,12,9,1,7,56,108,198,198, - 198,198,198,108,56,0,254,254,9,8,16,14,3,3,204,0, - 102,0,51,0,25,128,25,128,51,0,102,0,204,0,18,18, - 54,19,1,0,48,24,0,48,24,0,240,48,0,240,48,0, - 48,96,0,48,96,0,48,192,0,48,192,0,49,131,0,49, - 135,0,3,15,0,3,15,0,6,27,0,6,51,0,12,127, - 192,12,127,192,24,3,0,24,3,0,18,18,54,19,1,0, - 48,24,0,48,24,0,240,48,0,240,48,0,48,96,0,48, - 96,0,48,192,0,48,192,0,49,135,128,49,143,192,3,24, - 192,3,0,192,6,1,128,6,3,0,12,6,0,12,12,0, - 24,31,192,24,31,192,19,18,54,19,0,0,124,12,0,254, - 12,0,198,24,0,6,24,0,60,48,0,60,48,0,6,96, - 0,198,96,0,254,193,128,124,195,128,1,135,128,1,135,128, - 3,13,128,3,25,128,6,63,224,6,63,224,12,1,128,12, - 1,128,10,19,38,12,1,251,12,0,12,0,12,0,0,0, - 0,0,12,0,12,0,12,0,12,0,24,0,56,0,112,0, - 96,0,224,192,192,192,193,192,227,128,127,128,62,0,15,24, - 48,17,1,0,12,0,6,0,3,0,1,128,0,0,3,128, - 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, - 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, - 192,6,192,6,15,24,48,17,1,0,0,96,0,192,1,128, - 3,0,0,0,3,128,3,128,6,192,6,192,12,64,12,96, - 12,96,24,48,24,48,24,48,48,24,63,248,63,248,96,12, - 96,12,96,12,192,6,192,6,192,6,15,24,48,17,1,0, - 1,128,3,192,6,96,12,48,0,0,3,128,3,128,6,192, - 6,192,12,64,12,96,12,96,24,48,24,48,24,48,48,24, - 63,248,63,248,96,12,96,12,96,12,192,6,192,6,192,6, - 15,23,46,17,1,0,7,16,13,176,8,224,0,0,3,128, - 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, - 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, - 192,6,192,6,15,23,46,17,1,0,12,96,12,96,0,0, - 0,0,3,128,3,128,6,192,6,192,12,64,12,96,12,96, - 24,48,24,48,24,48,48,24,63,248,63,248,96,12,96,12, - 96,12,192,6,192,6,192,6,15,24,48,17,1,0,3,128, - 4,64,4,64,3,128,0,0,3,128,3,128,6,192,6,192, - 12,64,12,96,12,96,24,48,24,48,24,48,48,24,63,248, - 63,248,96,12,96,12,96,12,192,6,192,6,192,6,21,19, - 57,23,1,0,3,255,248,3,255,248,6,96,0,6,96,0, - 12,96,0,12,96,0,12,96,0,24,96,0,24,127,248,24, - 127,248,48,96,0,63,224,0,63,224,0,96,96,0,96,96, - 0,96,96,0,192,96,0,192,127,248,192,127,248,15,24,48, - 18,1,251,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,1,128,0,192,0,192,7, - 192,3,128,12,24,48,16,2,0,48,0,24,0,12,0,6, - 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, - 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,255,240,255,240,12,24,48,16,2,0,1, - 128,3,0,6,0,12,0,0,0,255,240,255,240,192,0,192, - 0,192,0,192,0,192,0,192,0,255,224,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,240,255,240,12, - 24,48,16,2,0,6,0,15,0,25,128,48,192,0,0,255, - 240,255,240,192,0,192,0,192,0,192,0,192,0,192,0,255, - 224,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,240,255,240,12,23,46,16,2,0,24,192,24,192,0, - 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, - 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,255,240,255,240,5,24,24,8,1,0,192, - 96,48,24,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,5,24,24,8,2,0,24,48,96, - 192,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96, - 96,96,96,96,96,8,24,24,8,0,0,24,60,102,195,0, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,6,23,23,8,1,0,204,204,0,0,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 18,19,57,18,255,0,31,248,0,31,254,0,24,15,0,24, - 3,128,24,1,128,24,1,192,24,0,192,24,0,192,255,128, - 192,255,128,192,24,0,192,24,0,192,24,0,192,24,1,192, - 24,1,128,24,3,128,24,15,0,31,254,0,31,248,0,14, - 23,46,18,2,0,14,32,27,96,17,192,0,0,224,12,240, - 12,240,12,216,12,220,12,204,12,206,12,198,12,199,12,195, - 12,195,140,193,140,193,204,192,204,192,236,192,108,192,60,192, - 60,192,28,16,24,48,18,1,0,12,0,6,0,3,0,1, - 128,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,16,24,48,18,1,0,0, - 48,0,96,0,192,1,128,0,0,7,224,31,248,60,60,112, - 14,96,6,224,7,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,224,7,96,6,112,14,60,60,31,248,7,224,16, - 24,48,18,1,0,0,192,1,224,3,48,6,24,0,0,7, - 224,31,248,60,60,112,14,96,6,224,7,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,224,7,96,6,112,14,60, - 60,31,248,7,224,16,23,46,18,1,0,3,136,6,216,4, - 112,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,16,23,46,18,1,0,6, - 48,6,48,0,0,0,0,7,224,31,248,60,60,112,14,96, - 6,224,7,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,224,7,96,6,112,14,60,60,31,248,7,224,13,12,24, - 14,0,1,192,24,96,48,48,96,24,192,13,128,7,0,7, - 0,13,128,24,192,48,96,96,48,192,24,18,19,57,18,0, - 0,3,240,192,15,253,192,30,31,128,56,7,0,48,15,0, - 112,29,128,96,57,128,96,113,128,96,225,128,97,193,128,99, - 129,128,103,1,128,110,1,128,124,3,128,56,3,0,56,7, - 0,126,30,0,239,252,0,195,240,0,14,24,48,18,2,0, - 24,0,12,0,6,0,3,0,0,0,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, - 14,24,48,18,2,0,0,96,0,192,1,128,3,0,0,0, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 112,56,63,240,15,192,14,24,48,18,2,0,3,0,7,128, - 12,192,24,96,0,0,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,96,24,112,56,63,240,15,192,14,23,46,18, - 2,0,24,192,24,192,0,0,0,0,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, - 14,24,48,16,1,0,0,96,0,192,1,128,3,0,0,0, - 192,12,224,28,96,24,112,56,48,48,56,112,24,96,28,224, - 12,192,15,192,7,128,7,128,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,13,19,38,16,2,0,192,0,192,0, - 192,0,192,0,255,224,255,240,192,48,192,24,192,24,192,24, - 192,24,192,48,255,240,255,224,192,0,192,0,192,0,192,0, - 192,0,10,19,38,15,3,0,28,0,127,0,227,0,193,128, - 193,128,193,128,195,0,199,0,206,0,207,0,195,128,193,128, - 192,192,192,192,192,192,193,128,195,128,207,0,206,0,11,19, - 38,13,1,0,24,0,12,0,6,0,3,0,0,0,31,0, - 63,128,97,192,96,192,0,192,7,192,63,192,120,192,224,192, - 192,192,193,192,227,192,126,224,60,96,11,19,38,13,1,0, - 1,128,3,0,6,0,12,0,0,0,31,0,63,128,97,192, - 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, - 227,192,126,224,60,96,11,19,38,13,1,0,12,0,30,0, - 51,0,97,128,0,0,31,0,63,128,97,192,96,192,0,192, - 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, - 60,96,11,18,36,13,1,0,28,64,54,192,35,128,0,0, - 31,0,63,128,97,192,96,192,0,192,7,192,63,192,120,192, - 224,192,192,192,193,192,227,192,126,224,60,96,11,18,36,13, - 1,0,51,0,51,0,0,0,0,0,31,0,63,128,97,192, - 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, - 227,192,126,224,60,96,11,19,38,13,1,0,6,0,9,0, - 9,0,6,0,0,0,31,0,63,128,97,192,96,192,0,192, - 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, - 60,96,19,14,42,21,1,0,31,14,0,63,191,128,97,241, - 192,96,224,192,0,192,96,7,192,96,63,255,224,120,255,224, - 224,192,0,192,192,0,193,224,96,227,240,224,126,63,192,60, - 15,0,10,19,38,12,1,251,31,0,63,128,113,192,96,192, - 224,0,192,0,192,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,12,0,6,0,6,0,62,0,28,0,11,19, - 38,13,1,0,24,0,12,0,6,0,3,0,0,0,14,0, - 63,128,113,192,96,192,192,96,192,96,255,224,255,224,192,0, - 192,0,96,96,112,224,63,192,15,0,11,19,38,13,1,0, - 3,0,6,0,12,0,24,0,0,0,14,0,63,128,113,192, - 96,192,192,96,192,96,255,224,255,224,192,0,192,0,96,96, - 112,224,63,192,15,0,11,19,38,13,1,0,12,0,30,0, - 51,0,97,128,0,0,14,0,63,128,113,192,96,192,192,96, - 192,96,255,224,255,224,192,0,192,0,96,96,112,224,63,192, - 15,0,11,18,36,13,1,0,51,0,51,0,0,0,0,0, - 14,0,63,128,113,192,96,192,192,96,192,96,255,224,255,224, - 192,0,192,0,96,96,112,224,63,192,15,0,5,19,19,6, - 0,0,192,96,48,24,0,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,5,19,19,6,1,0,24,48,96,192,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,96,8,19, - 19,6,255,0,24,60,102,195,0,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,6,18,18,6,0,0,204,204,0, - 0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,11, - 19,38,13,1,0,96,0,57,128,14,0,30,0,99,0,31, - 128,63,128,113,192,96,192,224,224,192,96,192,96,192,96,192, - 96,224,224,96,192,113,192,63,128,31,0,10,18,36,14,2, - 0,56,128,109,128,71,0,0,0,206,0,223,128,241,128,224, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,19,38,13,1,0,24,0,12,0,6, - 0,3,0,0,0,31,0,63,128,113,192,96,192,224,224,192, - 96,192,96,192,96,192,96,224,224,96,192,113,192,63,128,31, - 0,11,19,38,13,1,0,3,0,6,0,12,0,24,0,0, - 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, - 96,192,96,224,224,96,192,113,192,63,128,31,0,11,19,38, - 13,1,0,12,0,30,0,51,0,97,128,0,0,31,0,63, - 128,113,192,96,192,224,224,192,96,192,96,192,96,192,96,224, - 224,96,192,113,192,63,128,31,0,11,18,36,13,1,0,28, - 64,54,192,35,128,0,0,31,0,63,128,113,192,96,192,224, - 224,192,96,192,96,192,96,192,96,224,224,96,192,113,192,63, - 128,31,0,11,18,36,13,1,0,51,0,51,0,0,0,0, - 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, - 96,192,96,224,224,96,192,113,192,63,128,31,0,12,12,24, - 14,1,1,6,0,6,0,6,0,0,0,0,0,255,240,255, - 240,0,0,0,0,6,0,6,0,6,0,13,14,28,13,0, - 0,15,152,31,248,56,112,48,224,113,240,99,176,99,48,102, - 48,108,48,124,112,56,96,112,224,255,192,207,128,10,19,38, - 14,2,0,48,0,24,0,12,0,6,0,0,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,193,192,99,192,126,192,28,192,10,19,38,14,2,0,3, - 0,6,0,12,0,24,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,193,192,99, - 192,126,192,28,192,10,19,38,14,2,0,12,0,30,0,51, - 0,97,128,0,0,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,193,192,99,192,126,192,28, - 192,10,18,36,14,2,0,51,0,51,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,193,192,99,192,126,192,28,192,12,24,48,13,0, - 251,0,192,1,128,3,0,6,0,0,0,192,48,192,48,96, - 48,112,96,48,96,56,224,24,192,24,192,13,128,13,128,7, - 128,7,0,3,0,3,0,6,0,6,0,12,0,60,0,56, - 0,11,24,48,14,2,251,192,0,192,0,192,0,192,0,192, - 0,207,0,223,128,241,192,224,192,192,224,192,96,192,96,192, - 96,192,96,192,224,224,192,241,192,223,128,207,0,192,0,192, - 0,192,0,192,0,192,0,12,23,46,13,0,251,25,128,25, - 128,0,0,0,0,192,48,192,48,96,48,112,96,48,96,56, - 224,24,192,24,192,13,128,13,128,7,128,7,0,3,0,3, - 0,6,0,6,0,12,0,60,0,56,0}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=12 h=19 x= 2 y=12 dx=14 dy= 0 ascent=19 len=36 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =19 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18n[536] U8G_FONT_SECTION("u8g_font_helvR18n") = { - 0,28,37,253,248,18,0,0,0,0,42,58,0,19,253,18, - 0,7,7,7,10,1,12,16,16,214,124,56,108,68,12,12, - 24,14,1,1,6,0,6,0,6,0,6,0,6,0,255,240, - 255,240,6,0,6,0,6,0,6,0,6,0,2,6,6,6, - 2,253,192,192,192,64,64,128,6,2,2,8,1,6,252,252, - 2,3,3,6,2,0,192,192,192,7,19,19,7,0,0,6, - 4,12,12,8,24,24,16,16,48,48,32,96,96,64,192,192, - 128,128,11,18,36,13,1,0,31,0,63,128,113,192,96,192, - 96,192,224,224,192,96,192,96,192,96,192,96,192,96,192,96, - 224,224,96,192,96,192,113,192,63,128,31,0,6,18,18,13, - 2,0,12,12,28,252,252,12,12,12,12,12,12,12,12,12, - 12,12,12,12,11,18,36,13,1,0,30,0,127,128,97,192, - 192,192,192,96,192,96,0,224,0,192,1,192,3,128,15,0, - 28,0,56,0,112,0,224,0,192,0,255,224,255,224,11,18, - 36,13,1,0,31,0,127,128,97,128,192,192,192,192,192,192, - 0,192,1,128,15,0,15,192,0,192,0,96,0,96,192,96, - 192,192,97,192,127,128,31,0,11,18,36,13,1,0,1,128, - 3,128,3,128,7,128,15,128,13,128,25,128,57,128,49,128, - 97,128,225,128,193,128,255,224,255,224,1,128,1,128,1,128, - 1,128,11,18,36,13,1,0,127,192,127,192,96,0,96,0, - 96,0,96,0,126,0,127,128,113,192,0,192,0,224,0,96, - 0,96,192,224,192,192,225,192,127,128,30,0,11,18,36,13, - 1,0,15,0,63,192,112,192,96,96,224,96,192,0,192,0, - 207,0,223,128,241,192,224,192,192,96,192,96,192,96,224,224, - 113,192,127,192,31,0,11,18,36,13,1,0,255,224,255,224, - 0,224,0,192,1,128,1,128,3,0,3,0,6,0,6,0, - 12,0,12,0,28,0,24,0,24,0,56,0,48,0,48,0, - 11,18,36,13,1,0,14,0,63,128,49,128,96,192,96,192, - 96,192,49,128,31,0,63,128,113,192,96,192,192,96,192,96, - 192,96,192,96,96,192,127,192,31,0,11,18,36,13,1,0, - 31,0,127,192,113,192,224,192,192,96,192,96,192,96,192,96, - 224,224,113,224,127,96,30,96,0,96,0,224,192,192,225,192, - 127,128,30,0,2,14,14,6,2,0,192,192,192,0,0,0, - 0,0,0,0,0,192,192,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=15 dx=25 dy= 0 ascent=20 len=69 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18r[3381] U8G_FONT_SECTION("u8g_font_helvR18r") = { - 0,28,37,253,248,19,4,37,9,49,32,127,251,20,251,19, - 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, - 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, - 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, - 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, - 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, - 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, - 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, - 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, - 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, - 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, - 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, - 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, - 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, - 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, - 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, - 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, - 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, - 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, - 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, - 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, - 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, - 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, - 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, - 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, - 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, - 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, - 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, - 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, - 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, - 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, - 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, - 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, - 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, - 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, - 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, - 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, - 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, - 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, - 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, - 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, - 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, - 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, - 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, - 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, - 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, - 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, - 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, - 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, - 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, - 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, - 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, - 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, - 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, - 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, - 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, - 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, - 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, - 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, - 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, - 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, - 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, - 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, - 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, - 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, - 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, - 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, - 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, - 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, - 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, - 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, - 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, - 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, - 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, - 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, - 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, - 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, - 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, - 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, - 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, - 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, - 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, - 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, - 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, - 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, - 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, - 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, - 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, - 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, - 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, - 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, - 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, - 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, - 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, - 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, - 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, - 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, - 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, - 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, - 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, - 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, - 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, - 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, - 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, - 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, - 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, - 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, - 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, - 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, - 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, - 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, - 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, - 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, - 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, - 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, - 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, - 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, - 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, - 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, - 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, - 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, - 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, - 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, - 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, - 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, - 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, - 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, - 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, - 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, - 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, - 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, - 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, - 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, - 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, - 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, - 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, - 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, - 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, - 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, - 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, - 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, - 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, - 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, - 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, - 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, - 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, - 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, - 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, - 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, - 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, - 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, - 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, - 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, - 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, - 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, - 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, - 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, - 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, - 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, - 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, - 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, - 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, - 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, - 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, - 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, - 207,192,195,128,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=29 h=32 x= 4 y=22 dx=34 dy= 0 ascent=31 len=120 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_FONT_SECTION("u8g_font_helvR24") = { - 0,39,48,251,245,25,5,215,14,105,32,255,249,31,249,25, - 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, - 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, - 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, - 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, - 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, - 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, - 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, - 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, - 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, - 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, - 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, - 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, - 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, - 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, - 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, - 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, - 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, - 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, - 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, - 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, - 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, - 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, - 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, - 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, - 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, - 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, - 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, - 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, - 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, - 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, - 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, - 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, - 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, - 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, - 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, - 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, - 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, - 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, - 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, - 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, - 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, - 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, - 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, - 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, - 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, - 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, - 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, - 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, - 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, - 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, - 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, - 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, - 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, - 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, - 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, - 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, - 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, - 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, - 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, - 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, - 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, - 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, - 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, - 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, - 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, - 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, - 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, - 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, - 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, - 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, - 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, - 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, - 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, - 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, - 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, - 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, - 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, - 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, - 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, - 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, - 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, - 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, - 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, - 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, - 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, - 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, - 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, - 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, - 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, - 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, - 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, - 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, - 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, - 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, - 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, - 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, - 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, - 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, - 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, - 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, - 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, - 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, - 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, - 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, - 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, - 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, - 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, - 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, - 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, - 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, - 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, - 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, - 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, - 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, - 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, - 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, - 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, - 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, - 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, - 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, - 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, - 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, - 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, - 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, - 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, - 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, - 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, - 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, - 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, - 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, - 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, - 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, - 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, - 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, - 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, - 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, - 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, - 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, - 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, - 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, - 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, - 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, - 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, - 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, - 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, - 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, - 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, - 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, - 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, - 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, - 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, - 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, - 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, - 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, - 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, - 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, - 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, - 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, - 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, - 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, - 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, - 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, - 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, - 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, - 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, - 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, - 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, - 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, - 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, - 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, - 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, - 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, - 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, - 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, - 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, - 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, - 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, - 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, - 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, - 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, - 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, - 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, - 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, - 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, - 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, - 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, - 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, - 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, - 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, - 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, - 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, - 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, - 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, - 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, - 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, - 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, - 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, - 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, - 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, - 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, - 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, - 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, - 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, - 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, - 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, - 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, - 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, - 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, - 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, - 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, - 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, - 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, - 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, - 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, - 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, - 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, - 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, - 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, - 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, - 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, - 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, - 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, - 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, - 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, - 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, - 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, - 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,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,9,0,1,3,25,25,11,4,249,224,224,224,224, - 0,0,64,64,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,14,25,50,19,2,252,0,32,0,96,0, - 64,7,224,31,240,60,248,120,188,112,156,112,156,225,128,225, - 0,225,0,227,0,227,0,226,12,226,28,118,28,124,60,60, - 120,31,240,15,224,8,0,24,0,16,0,16,0,15,24,48, - 19,1,0,3,192,15,248,31,252,60,60,120,30,112,14,112, - 14,112,0,112,0,56,0,56,0,255,192,255,192,12,0,14, - 0,14,0,12,0,28,0,24,0,56,0,115,134,255,254,255, - 254,96,124,12,13,26,18,3,5,230,48,255,240,127,240,112, - 224,96,96,224,112,224,112,224,112,96,96,112,224,127,240,255, - 240,230,48,16,24,48,18,1,0,224,7,224,7,112,14,112, - 14,56,28,56,28,28,56,28,56,14,112,14,112,7,224,127, - 254,127,254,127,254,1,192,1,192,127,254,127,254,127,254,1, - 192,1,192,1,192,1,192,1,192,2,32,32,9,3,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,15, - 32,64,18,1,249,3,192,15,240,31,248,28,120,56,60,56, - 28,56,28,60,0,30,0,31,128,63,224,113,240,224,248,224, - 124,224,28,224,30,112,14,124,14,62,14,31,28,15,156,3, - 248,1,240,0,240,0,120,112,56,112,56,120,56,56,112,63, - 240,31,224,7,128,8,3,3,11,1,22,231,231,231,24,25, - 75,25,0,0,0,254,0,3,255,128,7,1,224,12,0,112, - 24,0,24,48,126,12,96,255,134,97,193,198,195,128,195,195, - 0,3,199,0,3,134,0,1,134,0,1,134,0,1,134,0, - 1,199,0,3,195,128,195,97,225,198,96,255,134,48,62,12, - 24,0,24,28,0,56,7,1,224,3,255,128,0,254,0,10, - 15,30,12,1,10,63,0,119,128,97,128,1,128,7,128,127, - 128,225,128,193,128,195,128,231,128,125,192,0,0,0,0,255, - 192,255,192,12,9,18,18,3,5,28,112,56,224,113,192,227, - 128,195,0,227,128,113,192,56,224,28,112,16,9,18,19,1, - 3,255,255,255,255,255,255,0,7,0,7,0,7,0,7,0, - 7,0,7,8,2,2,11,1,8,255,255,24,25,75,25,0, - 0,0,126,0,3,255,128,7,1,224,12,0,112,24,0,24, - 48,0,12,97,255,6,97,255,134,193,129,195,193,128,195,193, - 128,195,129,129,129,129,255,1,129,252,1,129,142,1,193,134, - 3,193,131,3,97,129,134,97,129,198,48,0,12,24,0,24, - 28,0,56,7,1,224,3,255,128,0,126,0,9,2,4,11, - 1,22,255,128,255,128,9,9,18,13,2,15,62,0,127,0, - 227,128,193,128,193,128,193,128,227,128,127,0,62,0,17,21, - 63,19,1,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,255,255,128,255,255,128,255, - 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,0,0,0,0,0,0,255,255,128,255,255,128, - 255,255,128,9,15,30,11,1,9,30,0,127,0,99,0,193, - 128,193,128,1,128,3,0,7,0,30,0,56,0,112,0,224, - 0,192,0,255,128,255,128,9,15,30,11,1,9,62,0,127, - 0,227,128,193,128,193,128,3,128,15,0,15,0,3,128,1, - 128,193,128,193,128,227,128,127,0,62,0,7,5,5,11,3, - 22,30,60,56,112,224,14,24,48,19,2,250,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,60,240,124,255,252,255,220,255,28, - 224,0,224,0,224,0,224,0,224,0,224,0,16,30,60,17, - 1,251,7,255,31,255,63,140,63,140,127,140,127,140,255,140, - 255,140,255,140,255,140,127,140,127,140,63,140,63,140,31,140, - 3,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140, - 1,140,1,140,1,140,1,140,1,140,1,140,1,140,4,4, - 4,9,3,11,96,240,240,96,7,7,7,11,2,249,24,24, - 60,14,6,206,124,5,15,15,11,2,9,24,56,248,248,24, - 24,24,24,24,24,24,24,24,24,24,10,15,30,12,1,10, - 30,0,127,128,97,128,225,192,192,192,192,192,192,192,192,192, - 225,192,97,128,127,128,30,0,0,0,255,192,255,192,12,9, - 18,18,3,5,227,128,113,192,56,224,28,112,12,48,28,112, - 56,224,113,192,227,128,25,25,100,28,1,0,0,0,48,0, - 24,0,112,0,56,0,96,0,248,0,224,0,248,1,192,0, - 24,1,128,0,24,3,128,0,24,3,0,0,24,7,0,0, - 24,14,0,0,24,12,0,0,24,28,6,0,24,24,14,0, - 24,56,30,0,24,112,62,0,24,96,118,0,0,224,102,0, - 1,192,198,0,1,129,198,0,3,131,134,0,3,3,255,128, - 7,3,255,128,6,0,6,0,14,0,6,0,12,0,6,0, - 25,25,100,28,1,0,0,0,96,0,24,0,224,0,56,0, - 192,0,248,1,128,0,248,3,128,0,24,3,0,0,24,6, - 0,0,24,14,0,0,24,12,0,0,24,28,0,0,24,24, - 0,0,24,56,60,0,24,48,255,0,24,112,195,128,24,97, - 129,128,24,193,129,128,1,192,3,128,1,128,7,0,3,128, - 14,0,3,0,60,0,6,0,112,0,14,0,224,0,12,1, - 192,0,28,1,255,128,24,1,255,128,25,24,96,28,1,0, - 62,0,14,0,127,0,12,0,99,128,24,0,193,128,56,0, - 193,128,48,0,3,128,96,0,15,0,224,0,15,128,192,0, - 1,193,128,0,0,195,128,0,192,195,6,0,192,199,14,0, - 97,206,30,0,127,140,62,0,30,24,118,0,0,56,102,0, - 0,48,198,0,0,97,198,0,0,227,134,0,1,195,255,128, - 1,131,255,128,3,0,6,0,7,0,6,0,6,0,6,0, - 14,25,50,19,3,249,3,128,3,128,3,128,3,128,0,0, - 0,0,3,128,3,128,3,128,7,128,7,0,15,0,30,0, - 60,0,120,0,112,0,240,0,224,28,224,28,224,28,240,60, - 120,120,127,240,63,224,7,128,20,31,93,22,1,0,3,192, - 0,1,224,0,0,224,0,0,112,0,0,56,0,0,0,0, - 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,3, - 252,0,3,156,0,3,156,0,7,158,0,7,14,0,7,14, - 0,15,15,0,14,15,0,14,7,0,30,7,128,31,255,128, - 31,255,128,63,255,192,60,3,192,56,1,192,120,1,224,120, - 1,224,112,0,224,240,0,240,240,0,240,20,31,93,22,1, - 0,0,60,0,0,120,0,0,112,0,0,224,0,1,192,0, - 0,0,0,0,240,0,0,240,0,0,240,0,1,248,0,1, - 248,0,3,252,0,3,156,0,3,156,0,7,158,0,7,14, - 0,7,14,0,15,15,0,15,15,0,14,7,0,30,7,128, - 31,255,128,31,255,128,63,255,192,60,3,192,120,1,192,120, - 1,224,120,1,224,112,0,224,240,0,240,240,0,240,20,31, - 93,22,1,0,0,64,0,0,224,0,1,240,0,3,184,0, - 7,28,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,30,90,22,1,0,1,198,0,3,254,0,7,252,0, - 6,56,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,30,90,22,1,0,3,156,0,3,156,0,3,156,0, - 0,0,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,31,93,22,1,0,0,240,0,1,152,0,1,8,0, - 1,8,0,1,152,0,0,240,0,0,0,0,0,240,0,0, - 240,0,1,248,0,1,248,0,3,252,0,3,156,0,3,156, - 0,7,158,0,7,14,0,7,14,0,15,15,0,14,15,0, - 14,7,0,30,7,128,31,255,128,31,255,128,63,255,192,60, - 3,192,56,1,192,120,1,224,120,1,224,112,0,224,240,0, - 240,240,0,240,29,25,100,32,1,0,0,127,255,248,0,127, - 255,248,0,255,255,248,0,227,128,0,1,195,128,0,1,195, - 128,0,3,195,128,0,3,131,128,0,3,131,128,0,7,131, - 128,0,7,3,128,0,7,3,255,240,15,3,255,240,14,3, - 255,240,30,3,128,0,31,255,128,0,31,255,128,0,63,255, - 128,0,56,3,128,0,120,3,128,0,120,3,128,0,112,3, - 128,0,240,3,255,248,224,3,255,248,224,3,255,248,20,32, - 96,23,2,249,1,248,0,7,254,0,15,255,128,31,7,128, - 60,3,192,120,1,224,112,0,224,112,0,224,240,0,0,240, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,240,0,112,240,0,112,112,0,240,112,0,224,120,1,224, - 60,3,192,31,7,192,15,255,128,7,254,0,1,248,0,0, - 96,0,0,96,0,0,240,0,0,56,0,0,24,0,3,56, - 0,1,240,0,17,31,93,22,3,0,15,0,0,7,128,0, - 3,128,0,1,192,0,0,224,0,0,0,0,255,255,0,255, - 255,0,255,255,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,255,255,0, - 255,255,0,255,255,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,255,255, - 128,255,255,128,255,255,128,17,31,93,22,3,0,0,120,0, - 0,240,0,0,224,0,1,192,0,3,128,0,0,0,0,255, - 255,0,255,255,0,255,255,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 255,255,0,255,255,0,255,255,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,255,255,128,255,255,128,255,255,128,17,31,93,22,3,0, - 0,128,0,1,192,0,3,224,0,7,112,0,14,56,0,0, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,255,255,128,255,255,128,255,255,128,17,30,90, - 22,3,0,28,56,0,28,56,0,28,56,0,0,0,0,0, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,255,255,128,255,255,128,255,255,128,7,31,31, - 9,0,0,240,120,56,28,14,0,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,7,31,31,9,2,0,30,60,56,112,224,0,112,112, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,9,31,62,9,0,0,8,0,28, - 0,62,0,119,0,227,128,0,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,9,30,60,9,0, - 0,227,128,227,128,227,128,0,0,0,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,21,25,75, - 23,0,0,31,254,0,31,255,128,31,255,192,28,3,224,28, - 0,224,28,0,240,28,0,112,28,0,112,28,0,56,28,0, - 56,28,0,56,255,192,56,255,192,56,28,0,56,28,0,56, - 28,0,56,28,0,120,28,0,112,28,0,112,28,0,240,28, - 0,224,28,3,192,31,255,192,31,255,128,31,254,0,19,30, - 90,24,2,0,1,198,0,3,254,0,7,252,0,6,56,0, - 0,0,0,240,0,224,248,0,224,248,0,224,252,0,224,252, - 0,224,254,0,224,239,0,224,231,0,224,231,128,224,227,192, - 224,227,192,224,225,224,224,224,224,224,224,240,224,224,120,224, - 224,56,224,224,60,224,224,28,224,224,30,224,224,15,224,224, - 7,224,224,7,224,224,3,224,224,1,224,224,1,224,23,31, - 93,25,1,0,0,240,0,0,120,0,0,56,0,0,28,0, - 0,14,0,0,0,0,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,248,60,0,120,120,0,60,112,0,28,112,0, - 28,240,0,30,224,0,14,224,0,14,224,0,14,224,0,14, - 224,0,14,240,0,30,240,0,30,112,0,28,120,0,60,60, - 0,120,62,0,248,31,1,240,15,255,224,3,255,128,0,254, - 0,23,31,93,25,1,0,0,15,0,0,30,0,0,28,0, - 0,56,0,0,112,0,0,0,0,0,254,0,3,255,128,15, - 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, - 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, - 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, - 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, - 128,0,254,0,23,31,93,25,1,0,0,16,0,0,56,0, - 0,124,0,0,238,0,1,199,0,0,0,0,0,254,0,3, - 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, - 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, - 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, - 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, - 224,3,255,128,0,254,0,23,30,90,25,1,0,0,113,128, - 0,255,128,1,255,0,1,142,0,0,0,0,0,254,0,3, - 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, - 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, - 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, - 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, - 224,3,255,128,0,254,0,23,29,87,25,1,0,1,195,128, - 1,195,128,1,195,128,0,0,0,0,254,0,3,255,128,15, - 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, - 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, - 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, - 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, - 128,0,254,0,15,15,30,19,2,1,64,4,224,14,240,30, - 120,60,60,120,31,240,15,224,7,192,7,192,15,224,30,240, - 60,120,120,60,240,30,96,12,23,25,75,25,1,0,0,254, - 6,3,255,140,15,255,248,31,1,240,62,0,248,60,0,248, - 120,1,188,112,3,28,112,6,28,240,6,30,224,12,14,224, - 24,14,224,48,14,224,96,14,224,192,14,225,128,30,243,0, - 30,118,0,28,124,0,60,60,0,120,62,0,248,63,1,240, - 111,255,224,195,255,128,0,254,0,18,31,93,24,3,0,7, - 128,0,3,192,0,1,192,0,0,224,0,0,112,0,0,0, - 0,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,240,3,192,120,7,128, - 124,15,128,63,255,0,31,254,0,3,240,0,18,31,93,24, - 3,0,0,120,0,0,240,0,0,224,0,1,192,0,3,128, - 0,0,0,0,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,240,3,192, - 120,7,128,124,15,128,63,255,0,31,254,0,3,240,0,18, - 31,93,24,3,0,0,64,0,0,224,0,1,240,0,3,184, - 0,7,28,0,0,0,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,18,30,90,24,3,0,14,28,0,14,28,0,14,28, - 0,0,0,0,0,0,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,31,93,22,1,0,0,60,0,0,120,0,0,112, - 0,0,224,0,1,192,0,0,0,0,224,0,224,240,1,224, - 112,1,192,120,3,192,56,3,128,60,7,128,28,15,0,30, - 15,0,15,30,0,7,28,0,7,188,0,3,184,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,17,25,75,22,3,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,255,248,0,255,254,0, - 255,255,0,224,15,0,224,7,0,224,7,128,224,3,128,224, - 3,128,224,7,128,224,7,0,224,15,0,255,254,0,255,252, - 0,255,248,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,14,25,50,20,4,0,15,128,63,224, - 127,240,120,240,240,120,224,56,224,56,224,56,224,120,224,240, - 227,224,227,224,227,240,224,120,224,60,224,28,224,28,224,28, - 224,28,224,28,224,56,224,120,231,240,231,224,231,128,16,25, - 50,18,1,0,15,0,7,128,3,128,1,192,0,224,0,0, - 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, - 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, - 121,252,127,223,63,143,16,25,50,18,1,0,0,240,1,224, - 1,192,3,128,7,0,0,0,0,0,15,224,63,248,60,124, - 112,28,112,28,0,28,0,28,0,252,31,252,127,156,120,28, - 240,28,224,28,224,60,224,124,120,252,127,223,63,143,16,25, - 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, - 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, - 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, - 120,252,127,223,63,143,16,24,48,18,1,0,7,24,15,248, - 31,240,24,224,0,0,0,0,15,224,63,248,60,124,112,28, - 112,28,0,28,0,28,0,252,31,252,127,156,120,28,240,28, - 224,28,224,60,224,124,120,252,127,223,63,143,16,23,46,18, - 1,0,14,112,14,112,14,112,0,0,0,0,15,224,63,248, - 60,252,112,28,112,28,0,28,0,28,0,252,31,252,127,156, - 120,28,240,28,224,28,224,60,224,124,121,252,127,223,63,143, - 16,25,50,18,1,0,3,128,6,192,4,64,4,64,6,192, - 3,128,0,0,15,224,63,248,60,124,112,28,112,28,0,28, - 0,28,0,252,31,252,127,156,120,28,240,28,224,28,224,60, - 224,124,120,252,127,223,63,143,26,18,72,29,1,0,7,192, - 248,0,31,241,254,0,60,127,143,0,112,62,3,128,112,30, - 3,128,0,28,1,192,0,28,1,192,0,252,1,192,15,255, - 255,192,63,255,255,192,126,31,255,192,240,28,0,0,224,28, - 1,192,224,30,1,192,224,126,3,128,248,247,143,0,127,231, - 255,0,63,129,252,0,14,25,50,17,1,249,7,192,31,240, - 63,248,56,56,112,28,112,28,224,0,224,0,224,0,224,0, - 224,0,224,28,224,28,112,56,120,120,63,240,31,224,7,128, - 3,0,3,0,7,128,1,192,0,192,25,192,15,128,15,25, - 50,18,1,0,30,0,15,0,7,0,3,128,1,192,0,0, - 0,0,7,192,31,240,62,120,120,28,112,28,240,14,224,14, - 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, - 60,124,31,240,15,224,15,25,50,18,1,0,1,224,3,192, - 3,128,7,0,14,0,0,0,0,0,7,192,31,240,60,120, - 120,28,112,28,240,14,224,14,224,14,255,254,255,254,224,0, - 224,0,224,14,112,14,120,28,60,124,31,240,15,224,15,25, - 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, - 0,0,7,192,31,240,60,120,120,28,112,28,240,14,224,14, - 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, - 60,124,31,240,7,192,15,23,46,18,1,0,28,112,28,112, - 28,112,0,0,0,0,7,192,31,240,60,120,120,28,112,28, - 240,14,224,14,224,14,255,254,255,254,224,0,224,0,224,14, - 112,14,120,28,60,124,31,240,7,192,7,25,25,9,0,0, - 240,120,56,28,14,0,0,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,7,25,25,9,2,0,30, - 60,56,112,224,0,0,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,112,9,25,50,9,0,0,8,0, - 28,0,62,0,119,0,227,128,0,0,0,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 8,23,23,9,1,0,231,231,231,0,0,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,15,25,50, - 19,1,0,120,64,60,224,31,192,15,128,31,128,59,192,17, - 224,7,240,31,248,63,248,120,60,112,28,112,28,224,14,224, - 14,224,14,224,14,224,14,224,14,112,28,112,28,120,60,63, - 248,31,240,7,192,14,24,48,18,2,0,14,48,31,240,63, - 224,49,192,0,0,0,0,3,192,239,240,255,248,248,60,240, - 28,240,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,15,25,50,19,1, - 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, - 240,7,192,15,25,50,19,1,0,1,224,3,192,3,128,7, - 0,14,0,0,0,0,0,7,192,31,240,63,248,120,60,112, - 28,112,28,224,14,224,14,224,14,224,14,224,14,224,14,112, - 28,112,28,120,60,63,248,31,240,7,192,15,25,50,19,1, - 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, - 240,7,192,15,24,48,19,1,0,14,48,31,240,63,224,49, - 192,0,0,0,0,7,192,31,240,63,248,120,60,112,28,112, - 28,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,120,60,63,248,31,240,7,192,15,23,46,19,1,0,28, - 112,28,112,28,112,0,0,0,0,7,192,31,240,63,248,120, - 60,112,28,112,28,224,14,224,14,224,14,224,14,224,14,224, - 14,112,28,112,28,120,60,63,248,31,240,7,192,15,15,30, - 19,2,1,3,128,3,128,3,128,0,0,0,0,0,0,255, - 254,255,254,255,254,0,0,0,0,0,0,3,128,3,128,3, - 128,16,18,36,19,2,0,7,195,31,246,63,252,120,120,112, - 28,112,60,224,110,224,206,225,142,227,14,230,14,236,14,120, - 28,112,28,56,60,127,248,223,240,135,192,14,25,50,19,2, - 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, - 220,15,0,14,25,50,19,2,0,1,224,3,192,3,128,7, - 0,14,0,0,0,0,0,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 60,224,60,240,252,127,252,63,220,15,0,14,25,50,19,2, - 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, - 220,15,0,14,23,46,19,2,0,28,224,28,224,28,224,0, - 0,0,0,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,224,60,224,60,240, - 252,127,252,63,220,15,0,14,32,64,17,1,249,0,240,1, - 224,1,192,3,128,7,0,0,0,0,0,224,28,224,28,224, - 60,112,56,112,56,112,56,120,112,56,112,56,240,60,224,28, - 224,29,192,29,192,15,192,15,128,15,128,7,0,7,0,7, - 0,14,0,14,0,30,0,124,0,124,0,112,0,15,31,62, - 19,2,250,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,231,224,239,240,255,248,248,60,240,28,240,30,224,14,224, - 14,224,14,224,14,224,14,224,14,240,28,240,28,248,60,255, - 248,239,240,227,192,224,0,224,0,224,0,224,0,224,0,224, - 0,14,30,60,17,1,249,28,112,28,112,28,112,0,0,0, - 0,224,28,224,28,224,60,112,56,112,56,112,120,120,112,56, - 112,56,240,60,224,28,224,29,192,29,192,15,192,15,128,15, - 128,7,0,7,0,7,0,14,0,14,0,30,0,124,0,124, - 0,112,0}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=24 x= 4 y=15 dx=19 dy= 0 ascent=26 len=48 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =26 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24n[726] U8G_FONT_SECTION("u8g_font_helvR24n") = { - 0,39,48,251,245,24,0,0,0,0,42,58,0,26,251,24, - 0,10,11,22,13,1,15,12,0,12,0,76,128,237,192,127, - 128,63,0,30,0,63,0,115,128,225,192,64,128,17,16,48, - 19,1,1,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, - 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,3,9,9,9,3,251,224,224,224,224,32,96,96, - 192,128,8,2,2,11,1,8,255,255,3,4,4,9,3,0, - 224,224,224,224,9,24,48,9,0,0,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,8,0,24,0,24,0,24,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,15,24,48,18,1,0, - 7,192,31,240,63,248,60,120,120,60,112,28,112,28,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,112,28,112,28,112,60,60,120,63,248,31,240,7,192, - 8,24,24,18,3,0,3,7,7,15,63,255,255,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,24, - 48,18,1,0,7,192,31,240,63,248,120,60,112,28,240,14, - 224,14,224,14,0,14,0,28,0,60,0,120,0,240,3,224, - 7,192,31,0,60,0,120,0,112,0,224,0,224,0,255,254, - 255,254,255,254,15,24,48,18,1,0,7,192,31,240,63,248, - 56,56,112,28,112,28,112,28,112,28,0,28,0,56,3,248, - 3,240,3,248,0,60,0,30,0,14,224,14,224,14,224,14, - 112,28,120,60,63,248,31,240,7,192,16,24,48,18,0,0, - 0,24,0,56,0,120,0,120,0,248,1,248,3,184,3,184, - 7,56,14,56,14,56,28,56,56,56,56,56,112,56,224,56, - 255,255,255,255,255,255,0,56,0,56,0,56,0,56,0,56, - 15,24,48,18,1,0,63,252,63,252,63,252,56,0,56,0, - 56,0,112,0,112,0,119,192,127,240,127,248,120,124,112,28, - 0,30,0,14,0,14,0,14,224,14,224,30,240,28,120,124, - 127,248,63,240,15,128,15,24,48,18,1,0,3,192,15,240, - 31,248,60,56,56,28,112,28,112,0,112,0,96,0,227,192, - 239,240,255,248,248,60,240,28,240,14,224,14,224,14,96,14, - 112,14,112,28,56,60,63,248,31,240,7,192,15,24,48,18, - 1,0,255,254,255,254,255,254,0,14,0,28,0,24,0,56, - 0,112,0,112,0,224,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,7,0,14,0,14,0,14,0,28,0,28,0, - 28,0,15,24,48,18,1,0,7,192,31,240,63,248,56,60, - 112,28,112,28,112,28,112,28,120,60,60,120,31,240,15,224, - 63,248,120,60,112,28,224,14,224,14,224,14,224,14,240,28, - 120,60,63,248,31,240,7,192,15,24,48,18,1,0,7,192, - 31,240,63,248,120,124,112,60,240,28,224,30,224,14,224,14, - 224,14,224,30,224,30,112,62,127,254,63,238,15,206,0,14, - 0,28,224,28,240,60,120,120,63,240,63,224,15,128,3,18, - 18,9,4,0,224,224,224,224,0,0,0,0,0,0,0,0, - 0,0,224,224,224,224}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=29 h=32 x= 4 y=20 dx=34 dy= 0 ascent=27 len=120 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24r[4992] U8G_FONT_SECTION("u8g_font_helvR24r") = { - 0,39,48,251,245,25,5,215,14,105,32,127,249,27,249,25, - 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, - 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, - 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, - 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, - 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, - 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, - 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, - 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, - 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, - 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, - 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, - 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, - 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, - 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, - 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, - 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, - 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, - 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, - 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, - 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, - 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, - 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, - 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, - 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, - 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, - 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, - 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, - 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, - 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, - 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, - 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, - 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, - 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, - 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, - 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, - 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, - 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, - 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, - 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, - 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, - 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, - 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, - 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, - 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, - 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, - 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, - 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, - 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, - 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, - 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, - 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, - 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, - 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, - 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, - 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, - 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, - 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, - 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, - 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, - 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, - 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, - 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, - 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, - 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, - 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, - 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, - 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, - 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, - 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, - 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, - 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, - 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, - 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, - 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, - 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, - 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, - 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, - 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, - 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, - 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, - 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, - 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, - 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, - 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, - 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, - 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, - 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, - 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, - 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, - 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, - 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, - 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, - 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, - 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, - 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, - 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, - 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, - 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, - 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, - 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, - 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, - 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, - 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, - 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, - 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, - 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, - 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, - 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, - 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, - 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, - 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, - 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, - 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, - 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, - 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, - 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, - 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, - 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, - 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, - 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, - 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, - 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, - 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, - 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, - 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, - 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, - 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, - 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, - 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, - 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, - 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, - 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, - 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, - 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, - 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, - 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, - 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, - 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, - 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, - 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, - 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, - 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, - 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, - 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, - 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, - 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, - 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, - 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, - 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, - 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, - 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, - 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, - 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, - 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, - 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, - 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, - 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, - 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, - 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, - 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, - 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, - 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, - 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, - 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, - 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, - 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, - 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, - 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, - 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, - 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, - 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, - 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, - 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, - 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, - 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, - 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, - 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, - 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, - 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, - 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, - 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, - 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, - 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, - 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, - 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, - 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, - 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, - 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, - 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, - 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, - 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, - 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, - 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, - 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, - 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, - 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, - 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, - 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, - 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, - 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, - 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, - 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, - 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, - 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, - 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, - 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, - 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, - 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, - 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, - 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, - 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, - 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, - 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, - 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, - 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, - 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, - 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, - 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, - 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, - 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, - 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, - 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, - 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, - 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, - 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, - 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, - 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,255 - }; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 9 h=10 x= 1 y= 4 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent =10 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[2193] U8G_FONT_SECTION("u8g_font_lucasfont_alternate") = { - 0,9,11,0,255,7,1,148,3,22,32,255,255,10,255,7, - 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, - 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, - 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, - 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, - 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, - 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, - 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, - 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, - 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, - 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, - 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, - 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, - 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, - 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, - 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, - 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, - 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, - 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, - 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, - 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, - 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, - 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, - 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, - 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, - 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, - 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, - 0,240,136,136,136,136,136,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,184,136,136,112,5, - 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, - 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, - 8,8,8,8,136,112,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, - 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, - 7,0,0,132,196,164,148,140,132,132,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,7,7,6,0,0,112,136,136,136,168,144, - 104,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,136,136, - 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, - 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, - 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, - 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, - 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, - 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, - 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, - 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, - 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, - 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, - 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, - 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, - 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, - 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, - 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, - 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, - 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, - 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, - 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, - 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, - 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, - 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, - 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, - 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, - 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, - 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, - 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, - 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, - 152,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,255,1,7,7,2,0,0,128,0,0,128,128,128,128, - 5,7,7,6,0,0,32,112,168,160,168,112,32,5,7,7, - 6,0,0,56,64,64,240,64,64,248,255,5,7,7,6,0, - 0,136,136,80,32,248,32,32,1,7,7,2,0,0,128,128, - 128,0,128,128,128,255,255,8,8,8,9,0,255,60,66,153, - 161,161,153,66,60,255,6,5,5,7,0,1,36,72,144,72, - 36,5,3,3,6,0,1,248,8,8,5,1,1,6,0,3, - 248,255,255,255,5,7,7,6,0,0,32,32,248,32,32,0, - 248,255,255,255,255,6,7,7,7,0,0,124,244,244,116,20, - 20,20,1,1,1,2,0,3,128,255,255,255,6,5,5,7, - 0,1,144,72,36,72,144,255,255,255,5,7,7,6,0,0, - 32,0,32,64,128,136,112,5,10,10,6,0,0,64,32,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,16,32,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,32,80,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,104,144,0, - 112,136,136,248,136,136,136,5,9,9,6,0,0,80,0,112, - 136,136,248,136,136,136,5,10,10,6,0,0,32,80,32,112, - 136,136,248,136,136,136,9,7,14,10,0,0,119,128,136,0, - 136,0,255,0,136,0,136,0,143,128,255,5,10,10,6,0, - 0,64,32,0,248,128,128,240,128,128,248,5,10,10,6,0, - 0,16,32,0,248,128,128,240,128,128,248,5,10,10,6,0, - 0,32,80,0,248,128,128,240,128,128,248,5,9,9,6,0, - 0,80,0,248,128,128,240,128,128,248,2,10,10,3,0,0, - 128,64,0,64,64,64,64,64,64,64,2,10,10,4,1,0, - 64,128,0,128,128,128,128,128,128,128,3,10,10,4,0,0, - 64,160,0,64,64,64,64,64,64,64,3,9,9,4,0,0, - 160,0,64,64,64,64,64,64,64,6,7,7,7,0,0,120, - 68,68,244,68,68,120,6,10,10,7,0,0,100,152,0,132, - 196,164,148,140,132,132,5,10,10,6,0,0,64,32,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,16,32,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,32,80,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,104,144,0,112, - 136,136,136,136,136,112,5,8,8,6,0,0,136,112,136,136, - 136,136,136,112,5,5,5,6,0,1,136,80,32,80,136,255, - 5,10,10,6,0,0,64,32,0,136,136,136,136,136,136,112, - 5,10,10,6,0,0,16,32,0,136,136,136,136,136,136,112, - 5,10,10,6,0,0,32,80,0,136,136,136,136,136,136,112, - 5,8,8,6,0,0,136,0,136,136,136,136,136,112,5,10, - 10,6,0,0,16,32,0,136,136,136,80,32,32,32,255,4, - 8,8,5,0,255,96,144,144,160,144,144,160,128,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,104,144,0, - 112,8,120,136,120,5,7,7,6,0,0,80,0,112,8,120, - 136,120,5,9,9,6,0,0,32,80,32,0,112,8,120,136, - 120,9,5,10,10,0,0,119,0,8,128,127,0,136,0,119, - 128,255,5,8,8,6,0,0,64,32,0,112,136,240,128,120, - 5,8,8,6,0,0,16,32,0,112,136,240,128,120,5,8, - 8,6,0,0,32,80,0,112,136,240,128,120,5,7,7,6, - 0,0,80,0,112,136,240,128,120,2,7,7,3,0,0,128, - 64,0,64,64,64,64,2,7,7,3,0,0,64,128,0,128, - 128,128,128,3,7,7,4,0,0,64,160,0,64,64,64,64, - 3,6,6,4,0,0,160,0,64,64,64,64,255,5,8,8, - 6,0,0,104,144,0,240,136,136,136,136,5,8,8,6,0, - 0,64,32,0,112,136,136,136,112,5,8,8,6,0,0,16, - 32,0,112,136,136,136,112,5,8,8,6,0,0,32,80,0, - 112,136,136,136,112,5,8,8,6,0,0,104,144,0,112,136, - 136,136,112,5,7,7,6,0,0,80,0,112,136,136,136,112, - 5,5,5,6,0,1,32,0,248,0,32,255,5,8,8,6, - 0,0,64,32,0,136,136,136,136,120,5,8,8,6,0,0, - 16,32,0,136,136,136,136,120,5,8,8,6,0,0,32,80, - 0,136,136,136,136,120,5,7,7,6,0,0,80,0,136,136, - 136,136,120,5,9,9,6,0,255,16,32,0,136,136,136,120, - 8,112,255,5,8,8,6,0,255,80,0,136,136,136,120,8, - 112}; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 7 h= 7 x= 0 y= 3 dx= 8 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[216] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten") = { - 0,9,11,0,255,7,0,0,0,0,42,58,0,7,255,7, - 0,7,5,5,8,0,1,68,40,254,40,68,5,5,5,6, - 0,1,32,32,248,32,32,2,3,3,3,0,255,64,64,128, - 6,1,1,7,0,3,252,1,2,2,2,0,0,128,128,7, - 7,7,8,0,0,2,4,8,16,32,64,128,5,7,7,6, - 0,0,112,136,136,136,136,136,112,5,7,7,6,0,0,32, - 96,32,32,32,32,248,5,7,7,6,0,0,112,136,8,16, - 32,64,248,5,7,7,6,0,0,240,8,8,120,8,8,240, - 5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7, - 6,0,0,248,128,112,8,8,136,112,5,7,7,6,0,0, - 112,136,128,240,136,136,112,5,7,7,6,0,0,248,8,16, - 32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136, - 112,5,7,7,6,0,0,112,136,136,120,8,136,112,1,4, - 4,2,0,1,128,0,0,128}; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 7 x= 0 y= 4 dx= 8 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[1138] U8G_FONT_SECTION("u8g_font_lucasfont_alternater") = { - 0,9,11,0,255,7,1,148,3,22,32,127,255,7,255,7, - 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, - 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, - 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, - 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, - 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, - 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, - 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, - 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, - 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, - 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, - 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, - 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, - 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, - 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, - 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, - 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, - 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, - 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, - 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, - 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, - 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, - 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, - 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, - 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, - 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, - 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, - 0,240,136,136,136,136,136,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,184,136,136,112,5, - 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, - 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, - 8,8,8,8,136,112,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, - 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, - 7,0,0,132,196,164,148,140,132,132,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,7,7,6,0,0,112,136,136,136,168,144, - 104,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,136,136, - 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, - 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, - 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, - 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, - 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, - 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, - 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, - 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, - 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, - 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, - 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, - 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, - 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, - 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, - 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, - 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, - 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, - 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, - 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, - 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, - 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, - 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, - 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, - 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, - 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, - 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, - 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, - 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, - 152,255}; -/* - Fontname: m2icon5 - Copyright: public domain - Capital A Height: 5, '1' Height: 0 - Calculated Max Values w= 9 h= 6 x= 0 y= 0 dx=10 dy= 0 ascent= 5 len=10 - Font Bounding box w= 9 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_5[221] U8G_FONT_SECTION("u8g_font_m2icon_5") = { - 1,9,6,0,255,5,0,17,0,172,65,104,255,5,255,5, - 255,2,117,149,28,254,130,130,254,2,69,133,112,208,144,144, - 240,2,84,100,216,112,112,216,2,117,133,6,12,216,112,32, - 2,68,84,240,144,144,240,2,68,84,240,144,208,240,2,68, - 84,240,240,240,240,2,85,101,248,136,136,136,248,2,85,101, - 248,136,168,136,248,2,85,101,248,248,248,248,248,2,68,84, - 224,176,240,112,2,68,84,224,176,240,112,2,68,84,224,240, - 240,112,2,85,101,240,152,152,248,120,2,85,101,240,152,216, - 248,120,2,85,101,240,248,248,248,120,2,68,84,96,144,144, - 96,2,68,84,96,144,208,96,2,68,84,96,240,240,96,255, - 255,255,255,255,255,255,255,255,255,255,255,255,2,117,133,32, - 64,254,64,32,2,85,101,32,112,168,32,32,255,255,255,2, - 149,170,28,0,254,0,130,0,191,128,255,0,1,22,38,128, - 128,128,128,128,128,2,85,101,32,32,248,32,32}; -/* - Fontname: m2icon_7 - Copyright: public domain - Capital A Height: 7, '1' Height: 0 - Calculated Max Values w=12 h= 8 x= 0 y= 1 dx=13 dy= 0 ascent= 7 len=14 - Font Bounding box w=12 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_7[275] U8G_FONT_SECTION("u8g_font_m2icon_7") = { - 1,12,8,0,255,7,0,17,0,214,65,104,255,7,255,7, - 255,2,151,174,15,0,255,128,128,128,128,128,128,128,128,128, - 255,128,2,87,103,56,104,232,136,136,136,248,3,84,100,216, - 112,112,216,2,134,150,3,6,12,216,112,32,2,102,118,252, - 132,132,132,132,252,2,102,118,252,132,180,180,132,252,2,102, - 118,252,252,252,252,252,252,2,119,151,254,130,130,130,130,130, - 254,2,119,151,254,130,186,186,186,130,254,2,119,151,254,254, - 254,254,254,254,254,2,102,118,248,140,140,140,252,124,2,102, - 118,248,140,172,140,252,124,2,102,134,248,252,252,252,252,124, - 2,119,151,252,134,134,134,134,254,126,2,119,151,252,134,182, - 182,134,254,126,2,119,151,252,254,254,254,254,254,126,2,102, - 118,120,204,132,132,204,120,2,102,118,120,204,180,180,204,120, - 2,102,118,120,252,252,252,252,120,255,255,255,255,255,255,255, - 255,255,255,255,255,255,2,135,151,16,48,95,129,95,48,16, - 2,119,135,16,40,68,238,40,40,56,255,255,255,2,199,222, - 15,0,255,128,128,128,159,240,160,32,192,64,255,128,1,24, - 40,128,128,128,128,128,128,128,128,2,119,199,16,0,16,186, - 16,0,16}; -/* - Fontname: m2icon_9 - Copyright: public domain - Capital A Height: 8, '1' Height: 0 - Calculated Max Values w=13 h=11 x= 0 y= 1 dx=12 dy= 0 ascent= 9 len=18 - Font Bounding box w=13 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_9[471] U8G_FONT_SECTION("u8g_font_m2icon_9") = { - 0,13,11,0,254,8,0,17,1,111,65,105,254,9,254,8, - 254,10,8,16,11,0,0,15,128,255,192,128,64,128,64,128, - 64,128,64,128,64,255,192,6,8,8,7,0,0,60,84,148, - 244,132,132,132,252,6,5,5,7,0,1,204,120,48,120,204, - 10,7,14,12,0,0,0,192,1,128,3,0,198,0,108,0, - 56,0,16,0,8,8,8,9,0,0,255,129,129,129,129,129, - 129,255,8,8,8,9,0,0,255,129,189,189,189,189,129,255, - 8,8,8,9,0,0,255,255,255,255,255,255,255,255,9,9, - 18,10,0,0,255,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,255,128,9,9,18,10,0,0,255,128,128,128, - 190,128,190,128,190,128,190,128,190,128,128,128,255,128,9,9, - 18,11,0,0,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,8,8,8,8,0,0,254,131,131,131, - 131,131,255,127,8,8,8,9,0,0,254,131,187,187,187,131, - 255,127,8,8,8,9,0,0,254,255,255,255,255,255,255,127, - 9,9,18,10,0,0,255,0,129,128,129,128,129,128,129,128, - 129,128,129,128,255,128,127,128,9,9,18,10,0,0,255,0, - 129,128,189,128,189,128,189,128,189,128,129,128,255,128,127,128, - 9,9,18,10,0,0,255,0,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,127,128,8,8,8,9,0,0,60,66, - 129,129,129,129,66,60,8,8,8,9,0,0,60,66,153,189, - 189,153,66,60,8,8,8,9,0,0,60,126,255,255,255,255, - 126,60,255,255,255,255,255,255,255,255,255,255,255,255,255,10, - 8,16,11,0,0,24,0,40,0,79,192,128,64,128,64,79, - 192,40,0,24,0,8,9,9,9,0,0,24,36,66,129,231, - 36,36,36,60,255,255,255,13,8,16,11,0,0,15,128,255, - 192,128,64,128,64,159,248,160,16,192,32,255,192,1,11,11, - 2,0,254,128,128,128,128,128,128,128,128,128,128,128,9,9, - 18,10,0,0,8,0,0,0,8,0,8,0,190,128,8,0, - 8,0,0,0,8,0,255}; -/* - Fontname: micro - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 4 h= 5 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_micro[855] U8G_FONT_SECTION("u8g_font_micro") = { - 1,4,5,0,0,5,0,255,1,245,32,255,0,5,0,5, - 0,7,0,64,2,37,69,192,192,192,0,192,5,50,66,160, - 160,2,53,69,160,224,160,224,160,2,53,69,64,224,192,96, - 224,3,52,68,160,96,192,160,2,53,69,64,64,224,192,64, - 21,34,66,64,192,18,37,69,64,128,128,128,64,2,37,69, - 128,64,64,64,128,2,53,69,160,64,224,64,160,3,51,67, - 64,224,64,2,34,66,64,192,4,49,65,224,2,34,66,192, - 192,2,53,69,32,32,64,64,128,2,53,69,64,160,160,160, - 64,2,37,69,64,192,64,64,64,2,53,69,192,32,64,128, - 224,2,53,69,192,32,96,32,224,2,53,69,160,160,160,224, - 32,2,53,69,224,128,192,32,192,2,53,69,96,128,224,160, - 224,2,53,69,224,32,32,64,64,2,53,69,224,160,224,160, - 224,2,53,69,224,160,224,32,192,2,37,69,192,192,0,192, - 192,2,37,69,192,192,0,64,192,2,53,69,32,64,128,64, - 32,3,51,67,224,0,224,2,53,69,128,64,32,64,128,2, - 53,69,224,32,96,0,64,2,53,69,96,160,192,128,96,2, - 53,69,224,160,224,160,160,2,53,69,224,160,192,160,224,2, - 53,69,224,128,128,128,224,2,53,69,192,160,160,160,192,2, - 53,69,224,128,224,128,224,2,53,69,224,128,224,128,128,2, - 53,69,224,128,160,160,224,2,53,69,160,160,224,160,160,2, - 53,69,224,64,64,64,224,2,53,69,32,32,32,160,224,2, - 53,69,160,160,192,160,160,2,53,69,128,128,128,128,224,2, - 53,69,160,224,160,160,160,2,53,69,224,160,160,160,160,2, - 53,69,224,160,160,160,224,2,53,69,224,160,224,128,128,2, - 53,69,224,160,160,192,96,2,53,69,224,160,192,160,160,2, - 53,69,224,128,224,32,224,2,53,69,224,64,64,64,64,2, - 53,69,160,160,160,160,224,2,53,69,160,160,160,160,64,2, - 53,69,160,160,160,224,160,2,53,69,160,224,64,224,160,2, - 53,69,160,160,224,64,64,2,53,69,224,32,64,128,224,18, - 37,69,192,128,128,128,192,2,53,69,128,128,64,64,32,2, - 37,69,192,64,64,64,192,5,50,66,64,160,2,49,65,224, - 21,34,66,128,192,2,52,68,224,96,160,224,2,53,69,128, - 224,160,160,224,2,52,68,224,128,128,224,2,53,69,32,224, - 160,160,224,2,52,68,224,160,192,224,2,53,69,96,128,192, - 128,128,2,52,68,224,160,96,224,2,53,69,128,224,160,160, - 160,18,20,68,128,128,128,128,2,52,68,32,32,160,224,2, - 53,69,128,160,192,192,160,2,37,69,192,64,64,64,64,2, - 52,68,160,224,160,160,2,52,68,224,160,160,160,2,52,68, - 224,160,160,224,2,52,68,224,160,224,128,2,52,68,224,160, - 224,32,2,52,68,224,160,128,128,2,52,68,224,192,96,224, - 2,53,69,64,224,64,64,96,2,52,68,160,160,160,224,2, - 52,68,160,160,160,64,2,52,68,160,160,224,160,2,52,68, - 160,64,64,160,2,52,68,160,160,96,192,2,52,68,224,96, - 192,224,2,53,69,96,64,192,64,96,18,21,69,128,128,128, - 128,128,2,53,69,192,64,96,64,192,4,50,66,192,96,2, - 53,69,96,64,64,64,192,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,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,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,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}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=22 - Font Bounding box w=17 h=19 x=-2 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB08[2760] U8G_FONT_SECTION("u8g_font_ncenB08") = { - 0,17,19,254,251,8,1,193,3,159,32,255,254,11,254,8, - 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, - 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, - 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, - 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, - 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, - 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, - 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, - 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, - 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, - 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, - 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, - 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, - 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, - 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, - 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, - 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, - 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, - 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, - 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, - 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, - 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, - 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, - 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, - 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, - 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, - 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, - 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, - 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, - 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, - 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, - 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, - 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, - 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, - 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, - 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, - 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, - 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, - 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, - 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, - 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, - 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, - 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, - 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, - 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, - 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, - 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, - 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, - 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, - 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, - 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, - 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, - 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, - 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, - 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, - 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, - 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, - 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, - 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, - 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, - 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, - 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, - 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, - 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, - 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, - 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, - 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, - 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, - 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, - 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, - 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, - 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, - 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, - 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, - 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, - 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, - 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, - 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, - 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, - 116,184,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,3,0,1,2,8,8,3,0,254,192, - 192,0,64,64,192,192,192,5,7,7,6,0,255,8,120,208, - 208,232,112,64,7,8,8,8,0,0,60,100,96,252,48,98, - 190,220,7,5,5,8,0,1,186,108,108,108,186,8,8,8, - 9,0,0,247,98,52,54,24,62,24,60,1,8,8,6,2, - 0,128,128,128,0,128,128,128,128,4,10,10,5,0,254,112, - 144,192,96,176,208,96,48,144,224,3,2,2,4,0,6,160, - 160,8,8,8,9,0,0,60,66,157,165,161,157,66,60,3, - 6,6,4,0,2,192,32,224,160,0,224,6,5,5,7,0, - 0,36,108,216,108,36,5,3,3,6,0,2,248,8,8,3, - 1,1,4,0,3,224,8,8,8,9,0,0,60,66,189,165, - 185,173,66,60,4,1,1,5,0,6,240,3,4,4,4,0, - 4,64,160,160,64,5,5,5,6,0,1,32,248,32,0,248, - 3,4,4,3,0,4,96,160,64,224,3,4,4,3,0,4, - 224,64,32,192,3,2,2,4,0,6,96,192,6,7,7,7, - 0,254,204,204,204,220,236,192,192,7,8,8,8,0,0,126, - 244,244,116,20,20,20,62,2,2,2,3,0,3,192,192,2, - 3,3,4,1,254,128,64,192,3,4,4,3,0,4,64,192, - 64,224,4,6,6,5,0,2,96,144,144,96,0,240,6,5, - 5,7,0,0,144,216,108,216,144,8,8,8,9,0,0,68, - 196,72,232,18,22,47,34,8,8,8,9,0,0,68,196,72, - 232,19,21,34,39,8,8,8,9,0,0,228,68,40,200,18, - 22,47,34,5,8,8,6,0,254,48,48,0,16,96,192,216, - 112,9,11,22,8,255,0,48,0,24,0,0,0,8,0,28, - 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, - 8,255,0,6,0,12,0,0,0,8,0,28,0,28,0,38, - 0,38,0,127,0,67,0,231,128,9,11,22,8,255,0,28, - 0,54,0,0,0,8,0,28,0,28,0,38,0,38,0,127, - 0,67,0,231,128,9,11,22,8,255,0,26,0,44,0,0, - 0,8,0,28,0,28,0,38,0,38,0,127,0,67,0,231, - 128,9,11,22,8,255,0,20,0,20,0,0,0,8,0,28, - 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, - 8,255,0,24,0,36,0,24,0,8,0,28,0,28,0,38, - 0,38,0,127,0,67,0,231,128,10,8,16,11,0,0,63, - 192,22,64,22,128,39,128,62,128,70,64,70,64,239,192,7, - 10,10,8,0,254,58,70,194,192,192,194,66,60,16,48,6, - 11,11,7,0,0,96,48,0,252,100,104,120,104,100,100,252, - 6,11,11,7,0,0,24,48,0,252,100,104,120,104,100,100, - 252,6,11,11,7,0,0,56,108,0,252,100,104,120,104,100, - 100,252,6,11,11,7,0,0,40,40,0,252,100,104,120,104, - 100,100,252,4,11,11,5,0,0,192,96,0,240,96,96,96, - 96,96,96,240,4,11,11,5,0,0,48,96,0,240,96,96, - 96,96,96,96,240,5,11,11,5,0,0,112,216,0,240,96, - 96,96,96,96,96,240,4,11,11,5,0,0,80,80,0,240, - 96,96,96,96,96,96,240,8,8,8,9,0,0,252,98,99, - 243,99,99,98,252,8,11,11,9,0,0,26,44,0,199,98, - 114,122,94,78,70,226,7,11,11,8,0,0,48,24,0,56, - 68,198,198,198,198,68,56,7,11,11,8,0,0,24,48,0, - 56,68,198,198,198,198,68,56,7,11,11,8,0,0,56,108, - 0,56,68,198,198,198,198,68,56,7,11,11,8,0,0,52, - 88,0,56,68,198,198,198,198,68,56,7,11,11,8,0,0, - 40,40,0,56,68,198,198,198,198,68,56,5,5,5,6,0, - 1,216,112,32,112,216,7,8,8,8,0,0,58,68,206,214, - 214,230,68,184,8,11,11,9,0,0,48,24,0,247,98,98, - 98,98,98,98,60,8,11,11,9,0,0,12,24,0,247,98, - 98,98,98,98,98,60,8,11,11,9,0,0,28,54,0,247, - 98,98,98,98,98,98,60,8,11,11,9,0,0,20,20,0, - 247,98,98,98,98,98,98,60,8,11,11,9,0,0,12,24, - 0,247,98,52,52,24,24,24,60,7,8,8,8,0,0,224, - 124,102,102,102,124,96,240,7,8,8,8,0,0,60,102,102, - 108,102,102,102,236,4,8,8,5,0,0,192,96,0,224,48, - 112,176,240,4,8,8,5,0,0,48,96,0,224,48,112,176, - 240,5,9,9,5,0,0,32,112,216,0,224,48,112,176,240, - 5,8,8,5,0,0,104,176,0,224,48,112,176,240,4,8, - 8,5,0,0,160,160,0,224,48,112,176,240,4,8,8,5, - 0,0,96,144,96,224,48,112,176,240,8,5,5,9,0,0, - 238,155,127,216,239,5,7,7,6,0,254,112,200,192,200,112, - 32,96,5,8,8,6,0,0,96,48,0,112,216,248,192,120, - 5,8,8,6,0,0,48,96,0,112,216,248,192,120,5,9, - 9,6,0,0,32,112,216,0,112,216,248,192,120,5,8,8, - 6,0,0,80,80,0,112,216,248,192,120,4,8,8,5,0, - 0,192,96,0,224,96,96,96,240,4,8,8,5,0,0,48, - 96,0,224,96,96,96,240,5,9,9,5,0,0,32,112,216, - 0,224,96,96,96,240,4,8,8,5,0,0,160,160,0,224, - 96,96,96,240,6,8,8,7,0,0,200,112,144,120,204,204, - 204,120,6,8,8,7,0,0,104,176,0,216,236,204,204,204, - 6,8,8,7,0,0,96,48,0,120,204,204,204,120,6,8, - 8,7,0,0,24,48,0,120,204,204,204,120,6,9,9,7, - 0,0,32,112,216,0,120,204,204,204,120,6,8,8,7,0, - 0,52,88,0,120,204,204,204,120,6,8,8,7,0,0,80, - 80,0,120,204,204,204,120,5,5,5,6,0,1,32,0,248, - 0,32,6,7,7,7,0,255,4,120,220,236,204,120,128,6, - 8,8,7,0,0,96,48,0,204,204,204,220,108,6,8,8, - 7,0,0,24,48,0,204,204,204,220,108,6,9,9,7,0, - 0,32,112,216,0,204,204,204,220,108,6,8,8,7,0,0, - 80,80,0,204,204,204,220,108,6,10,10,7,0,254,24,48, - 0,236,104,104,48,48,224,192,6,10,10,7,0,254,192,192, - 192,216,236,204,204,248,192,224,6,10,10,7,0,254,80,80, - 0,236,104,104,48,48,224,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=20 - Font Bounding box w=17 h=19 x=-2 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB08r[1315] U8G_FONT_SECTION("u8g_font_ncenB08r") = { - 0,17,19,254,251,8,1,193,3,159,32,127,254,9,254,8, - 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, - 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, - 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, - 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, - 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, - 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, - 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, - 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, - 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, - 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, - 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, - 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, - 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, - 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, - 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, - 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, - 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, - 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, - 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, - 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, - 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, - 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, - 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, - 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, - 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, - 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, - 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, - 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, - 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, - 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, - 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, - 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, - 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, - 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, - 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, - 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, - 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, - 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, - 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, - 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, - 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, - 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, - 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, - 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, - 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, - 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, - 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, - 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, - 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, - 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, - 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, - 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, - 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, - 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, - 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, - 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, - 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, - 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, - 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, - 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, - 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, - 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, - 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, - 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, - 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, - 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, - 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, - 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, - 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, - 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, - 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, - 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, - 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, - 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, - 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, - 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, - 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, - 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, - 116,184,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=15 x= 3 y= 8 dx=15 dy= 0 ascent=15 len=30 - Font Bounding box w=20 h=25 x=-2 y=-6 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =15 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB10[4003] U8G_FONT_SECTION("u8g_font_ncenB10") = { - 0,20,25,254,250,11,2,24,5,41,32,255,253,15,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, - 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, - 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, - 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, - 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, - 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, - 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, - 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, - 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, - 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, - 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, - 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, - 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, - 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, - 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, - 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, - 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, - 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, - 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, - 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, - 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, - 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, - 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, - 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, - 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, - 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, - 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, - 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, - 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, - 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, - 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, - 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, - 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, - 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, - 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, - 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, - 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, - 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, - 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, - 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, - 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, - 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, - 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, - 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, - 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, - 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, - 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, - 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, - 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, - 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, - 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, - 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, - 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, - 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, - 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, - 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, - 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, - 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, - 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, - 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, - 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, - 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, - 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, - 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, - 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, - 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, - 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, - 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, - 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, - 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, - 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, - 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, - 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, - 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, - 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, - 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, - 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, - 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, - 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, - 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, - 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, - 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, - 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, - 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, - 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, - 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, - 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, - 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, - 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, - 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, - 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, - 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, - 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, - 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, - 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, - 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, - 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, - 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, - 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, - 48,48,32,192,7,2,2,8,0,4,118,220,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, - 4,0,1,2,11,11,5,1,253,192,192,192,0,64,64,192, - 192,192,192,192,7,9,9,8,0,255,4,60,110,206,208,210, - 118,60,32,8,11,11,9,0,0,28,38,102,96,252,48,48, - 32,225,191,222,8,8,8,9,0,2,153,126,102,195,195,102, - 126,153,10,11,22,11,0,0,241,192,96,128,49,0,49,0, - 26,0,26,0,63,0,12,0,63,0,12,0,30,0,1,11, - 11,8,3,0,128,128,128,128,0,0,128,128,128,128,128,6, - 13,13,7,0,254,56,108,76,96,120,156,204,228,120,28,204, - 200,112,5,2,2,7,1,8,216,216,11,11,22,12,0,0, - 14,0,49,128,64,64,79,64,153,32,144,32,153,32,78,64, - 64,64,49,128,14,0,5,7,7,6,0,4,224,48,112,176, - 216,0,248,7,5,5,8,0,1,54,108,216,108,54,7,4, - 4,8,0,2,254,2,2,2,4,2,2,5,0,3,240,240, - 11,11,22,12,0,0,14,0,49,128,64,64,94,64,137,32, - 142,32,138,32,91,64,64,64,49,128,14,0,5,1,1,7, - 1,8,248,4,4,4,6,1,7,96,144,144,96,7,7,7, - 8,0,1,16,16,254,16,16,0,254,5,6,6,5,255,5, - 112,152,24,48,96,248,5,6,6,5,255,5,112,152,48,24, - 152,112,4,3,3,6,1,8,48,96,128,9,10,20,10,0, - 253,247,0,99,0,99,0,99,0,99,0,103,0,123,128,64, - 0,96,0,96,0,9,11,22,10,0,0,127,128,251,0,251, - 0,251,0,251,0,123,0,27,0,27,0,27,0,27,0,63, - 128,2,2,2,5,1,4,192,192,3,3,3,5,1,253,64, - 32,224,4,6,6,5,0,5,96,224,96,96,96,240,5,7, - 7,6,0,4,112,216,216,216,112,0,248,7,5,5,8,0, - 1,216,108,54,108,216,11,11,22,12,0,0,97,0,227,0, - 98,0,102,0,100,0,252,192,9,192,26,192,20,192,55,224, - 32,192,11,11,22,12,0,0,97,0,227,0,98,0,102,0, - 100,0,253,192,10,96,24,96,16,192,49,128,35,224,12,11, - 22,12,255,0,112,128,153,128,49,0,27,0,154,0,118,96, - 4,224,13,96,10,96,27,240,16,96,6,11,11,7,0,253, - 48,48,48,0,16,48,96,192,204,204,120,10,15,30,11,0, - 0,48,0,24,0,4,0,0,0,12,0,12,0,22,0,22, - 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,10, - 15,30,11,0,0,3,0,6,0,8,0,0,0,12,0,12, - 0,22,0,22,0,18,0,35,0,35,0,63,0,65,128,65, - 128,227,192,10,15,30,11,0,0,4,0,14,0,17,0,0, - 0,12,0,12,0,22,0,22,0,18,0,35,0,35,0,63, - 0,65,128,65,128,227,192,10,14,28,11,0,0,29,0,46, - 0,0,0,12,0,12,0,22,0,22,0,18,0,35,0,35, - 0,63,0,65,128,65,128,227,192,10,14,28,11,0,0,51, - 0,51,0,0,0,12,0,12,0,22,0,22,0,18,0,35, - 0,35,0,63,0,65,128,65,128,227,192,10,15,30,11,0, - 0,12,0,18,0,12,0,0,0,12,0,12,0,22,0,22, - 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,15, - 11,22,15,255,0,15,254,5,134,5,130,9,146,9,144,17, - 240,31,144,33,146,33,130,65,134,227,254,10,14,28,11,0, - 253,31,64,112,192,96,64,192,64,192,0,192,0,192,0,192, - 0,96,64,112,192,31,0,4,0,2,0,14,0,9,15,30, - 10,0,0,24,0,12,0,2,0,0,0,255,128,97,128,96, - 128,100,128,100,0,124,0,100,0,100,128,96,128,97,128,255, - 128,9,15,30,10,0,0,3,0,6,0,8,0,0,0,255, - 128,97,128,96,128,100,128,100,0,124,0,100,0,100,128,96, - 128,97,128,255,128,9,15,30,10,0,0,4,0,14,0,17, - 0,0,0,255,128,97,128,96,128,100,128,100,0,124,0,100, - 0,100,128,96,128,97,128,255,128,9,14,28,10,0,0,51, - 0,51,0,0,0,255,128,97,128,96,128,100,128,100,0,124, - 0,100,0,100,128,96,128,97,128,255,128,4,15,15,7,1, - 0,192,96,16,0,240,96,96,96,96,96,96,96,96,96,240, - 5,15,15,7,1,0,24,48,64,0,240,96,96,96,96,96, - 96,96,96,96,240,5,15,15,7,1,0,32,112,136,0,240, - 96,96,96,96,96,96,96,96,96,240,6,14,14,7,0,0, - 204,204,0,120,48,48,48,48,48,48,48,48,48,120,11,11, - 22,12,0,0,255,0,97,192,96,192,96,96,96,96,248,96, - 96,96,96,96,96,192,97,192,255,0,11,14,28,12,0,0, - 14,128,23,0,0,0,224,224,112,64,120,64,92,64,76,64, - 70,64,71,64,67,192,65,192,64,192,224,64,11,15,30,12, - 0,0,24,0,12,0,2,0,0,0,31,0,113,192,96,192, - 192,96,192,96,192,96,192,96,192,96,96,192,113,192,31,0, - 11,15,30,12,0,0,0,192,1,128,2,0,0,0,31,0, - 113,192,96,192,192,96,192,96,192,96,192,96,192,96,96,192, - 113,192,31,0,11,15,30,12,0,0,4,0,14,0,17,0, - 0,0,31,0,113,192,96,192,192,96,192,96,192,96,192,96, - 192,96,96,192,113,192,31,0,11,14,28,12,0,0,14,128, - 23,0,0,0,31,0,113,192,96,192,192,96,192,96,192,96, - 192,96,192,96,96,192,113,192,31,0,11,14,28,12,0,0, - 25,128,25,128,0,0,31,0,113,192,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,113,192,31,0,8,7,7,8, - 0,1,195,102,60,24,60,102,195,11,11,22,12,0,0,31, - 32,113,192,96,192,193,96,194,96,196,96,200,96,208,96,96, - 192,113,192,159,0,11,15,30,12,0,0,12,0,6,0,1, - 0,0,0,240,224,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,48,128,31,0,11,15,30,12,0,0,1, - 128,3,0,4,0,0,0,240,224,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,48,128,31,0,11,15,30, - 12,0,0,4,0,14,0,17,0,0,0,240,224,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,48,128,31, - 0,11,14,28,12,0,0,25,128,25,128,0,0,240,224,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,96,64,48, - 128,31,0,10,15,30,11,0,0,1,128,3,0,4,0,0, - 0,241,192,96,128,49,0,49,0,26,0,26,0,12,0,12, - 0,12,0,12,0,30,0,9,11,22,10,0,0,240,0,96, - 0,127,0,99,128,97,128,97,128,99,128,126,0,96,0,96, - 0,240,0,8,11,11,9,0,0,30,35,99,98,108,98,99, - 99,99,99,238,8,11,11,9,0,0,48,24,4,0,60,102, - 6,62,198,206,119,8,11,11,9,0,0,12,24,32,0,60, - 102,6,62,198,206,119,8,11,11,9,0,0,16,56,108,0, - 60,102,6,62,198,206,119,8,10,10,9,0,0,52,88,0, - 60,102,6,62,198,206,119,8,10,10,9,0,0,108,108,0, - 60,102,6,62,198,206,119,8,11,11,9,0,0,24,36,24, - 0,60,102,6,62,198,206,119,13,7,14,14,0,0,57,224, - 103,48,6,24,63,248,198,0,199,24,121,240,7,10,10,8, - 0,253,60,102,198,192,194,102,60,16,8,56,8,11,11,9, - 0,0,48,24,4,0,60,102,195,255,192,99,62,8,11,11, - 9,0,0,12,24,32,0,60,102,195,255,192,99,62,8,11, - 11,9,0,0,16,56,108,0,60,102,195,255,192,99,62,8, - 10,10,9,0,0,108,108,0,60,102,195,255,192,99,62,4, - 11,11,5,0,0,192,96,16,0,224,96,96,96,96,96,240, - 4,11,11,5,0,0,48,96,128,0,224,96,96,96,96,96, - 240,5,11,11,5,0,0,32,112,216,0,224,96,96,96,96, - 96,240,5,10,10,5,0,0,216,216,0,224,96,96,96,96, - 96,240,8,11,11,9,0,0,198,56,120,140,62,102,195,195, - 195,102,60,9,10,20,10,0,0,26,0,44,0,0,0,238, - 0,115,0,99,0,99,0,99,0,99,0,247,128,8,11,11, - 9,0,0,48,24,4,0,60,102,195,195,195,102,60,8,11, - 11,9,0,0,12,24,32,0,60,102,195,195,195,102,60,8, - 11,11,9,0,0,16,56,108,0,60,102,195,195,195,102,60, - 8,10,10,9,0,0,52,88,0,60,102,195,195,195,102,60, - 8,10,10,9,0,0,108,108,0,60,102,195,195,195,102,60, - 8,7,7,8,0,1,24,24,0,255,0,24,24,8,9,9, - 9,0,255,2,60,110,203,211,211,102,60,64,9,11,22,10, - 0,0,48,0,24,0,4,0,0,0,247,128,99,0,99,0, - 99,0,99,0,103,0,59,128,9,11,22,10,0,0,12,0, - 24,0,32,0,0,0,247,128,99,0,99,0,99,0,99,0, - 103,0,59,128,9,11,22,10,0,0,8,0,28,0,54,0, - 0,0,247,128,99,0,99,0,99,0,99,0,103,0,59,128, - 9,10,20,10,0,0,54,0,54,0,0,0,247,128,99,0, - 99,0,99,0,99,0,103,0,59,128,8,14,14,7,255,253, - 6,12,16,0,247,98,98,52,52,24,24,16,208,224,9,14, - 28,10,0,253,224,0,96,0,96,0,96,0,110,0,115,0, - 97,128,97,128,97,128,115,0,110,0,96,0,96,0,240,0, - 8,13,13,7,255,253,54,54,0,247,98,98,52,52,24,24, - 16,208,224}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 3 y= 8 dx=15 dy= 0 ascent=12 len=28 - Font Bounding box w=20 h=25 x=-2 y=-6 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB10r[1853] U8G_FONT_SECTION("u8g_font_ncenB10r") = { - 0,20,25,254,250,11,2,24,5,41,32,127,253,12,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, - 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, - 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, - 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, - 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, - 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, - 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, - 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, - 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, - 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, - 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, - 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, - 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, - 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, - 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, - 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, - 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, - 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, - 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, - 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, - 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, - 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, - 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, - 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, - 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, - 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, - 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, - 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, - 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, - 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, - 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, - 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, - 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, - 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, - 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, - 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, - 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, - 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, - 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, - 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, - 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, - 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, - 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, - 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, - 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, - 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, - 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, - 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, - 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, - 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, - 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, - 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, - 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, - 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, - 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, - 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, - 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, - 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, - 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, - 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, - 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, - 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, - 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, - 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, - 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, - 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, - 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, - 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, - 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, - 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, - 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, - 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, - 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, - 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, - 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, - 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, - 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, - 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, - 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, - 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, - 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, - 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, - 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, - 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, - 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, - 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, - 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, - 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, - 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, - 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, - 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, - 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, - 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, - 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, - 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, - 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, - 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, - 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, - 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, - 48,48,32,192,7,2,2,8,0,4,118,220,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=22 h=27 x=-3 y=-7 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =16 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB12[4735] U8G_FONT_SECTION("u8g_font_ncenB12") = { - 0,22,27,253,249,12,2,152,5,246,32,255,253,16,253,12, - 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, - 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, - 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, - 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, - 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, - 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, - 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, - 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, - 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, - 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, - 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, - 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, - 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, - 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, - 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, - 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, - 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, - 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, - 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, - 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, - 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, - 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, - 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, - 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, - 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, - 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, - 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, - 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, - 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, - 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, - 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, - 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, - 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, - 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, - 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, - 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, - 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, - 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, - 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, - 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, - 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, - 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, - 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, - 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, - 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, - 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, - 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, - 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, - 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, - 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, - 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, - 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, - 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, - 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, - 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, - 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, - 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, - 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, - 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, - 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, - 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, - 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, - 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, - 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, - 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, - 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, - 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, - 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, - 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, - 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, - 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, - 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, - 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, - 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, - 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, - 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, - 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, - 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, - 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, - 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, - 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, - 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, - 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, - 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, - 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, - 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, - 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, - 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, - 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, - 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, - 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, - 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, - 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, - 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, - 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, - 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, - 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, - 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, - 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, - 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, - 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, - 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, - 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, - 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, - 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, - 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, - 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, - 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, - 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, - 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, - 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, - 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, - 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, - 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, - 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, - 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, - 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, - 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, - 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, - 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, - 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, - 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, - 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, - 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, - 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, - 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, - 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, - 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, - 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, - 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, - 78,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,4,1,1,3,12,12,5,1,253,64,224, - 224,64,0,64,64,224,224,224,224,64,8,12,12,10,0,254, - 1,2,62,115,231,231,232,233,114,60,32,64,9,12,24,10, - 0,0,31,0,57,128,115,128,115,128,113,0,56,0,254,0, - 24,0,24,0,120,128,191,0,110,0,8,8,8,10,1,2, - 90,255,102,195,195,102,255,90,10,12,24,10,0,0,251,192, - 113,128,49,0,59,0,26,0,30,0,63,0,12,0,63,0, - 12,0,12,0,63,0,2,12,12,10,4,0,192,192,192,192, - 192,0,0,192,192,192,192,192,6,15,15,9,1,253,56,76, - 76,96,48,120,140,132,196,120,48,24,200,200,112,5,2,2, - 6,0,9,216,216,12,12,24,12,0,0,31,128,57,192,96, - 96,207,176,217,48,152,16,152,16,217,176,207,48,96,96,57, - 192,31,128,6,7,7,6,0,5,112,152,120,216,108,0,248, - 6,5,5,8,1,2,36,108,216,108,36,8,5,5,10,0, - 2,255,255,3,3,3,4,2,2,5,0,3,240,240,12,12, - 24,12,0,0,31,128,57,192,96,96,223,48,201,48,142,16, - 139,16,201,176,221,240,96,96,57,192,31,128,5,1,1,6, - 0,10,248,5,5,5,7,1,7,112,216,136,216,112,8,9, - 9,10,1,0,24,24,255,255,24,24,0,255,255,5,7,7, - 6,0,5,112,152,216,16,32,120,248,6,7,7,6,0,5, - 120,204,76,24,76,204,120,4,3,3,6,1,9,48,112,192, - 11,11,22,11,0,253,243,192,113,192,113,192,113,192,113,192, - 113,192,123,192,110,224,96,0,112,0,112,0,11,12,24,12, - 0,0,127,224,249,128,249,128,249,128,249,128,121,128,25,128, - 25,128,25,128,25,128,25,128,127,224,4,3,3,5,0,3, - 96,240,96,4,4,4,6,0,253,64,96,48,224,4,7,7, - 6,1,5,32,224,96,96,96,96,240,5,7,7,6,0,5, - 112,216,216,216,112,0,248,6,5,5,8,1,2,144,216,108, - 216,144,12,12,24,14,1,0,32,64,224,192,97,128,97,0, - 99,0,98,32,246,96,12,224,9,32,27,240,48,96,32,240, - 12,12,24,14,1,0,32,64,224,192,97,128,97,0,99,0, - 98,224,247,48,13,176,8,32,24,64,48,240,33,240,13,12, - 24,14,0,0,120,32,204,96,76,192,24,128,77,128,205,16, - 123,48,6,112,4,144,13,248,24,48,16,120,8,12,12,8, - 0,253,8,28,28,8,0,8,48,112,230,239,102,60,13,16, - 32,13,0,0,24,0,28,0,6,0,0,0,6,0,7,0, - 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, - 96,224,241,248,13,16,32,13,0,0,1,128,3,128,6,0, - 0,0,6,0,7,0,7,0,15,0,11,128,27,128,17,192, - 63,192,49,192,32,224,96,224,241,248,13,16,32,13,0,0, - 2,0,7,0,13,128,0,0,6,0,7,0,7,0,15,0, - 11,128,27,128,17,192,63,192,49,192,32,224,96,224,241,248, - 13,15,30,13,0,0,14,128,23,0,0,0,6,0,7,0, - 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, - 96,224,241,248,13,15,30,13,0,0,25,128,25,128,0,0, - 6,0,7,0,7,0,15,0,11,128,27,128,17,192,63,192, - 49,192,32,224,96,224,241,248,13,16,32,13,0,0,6,0, - 11,0,6,0,0,0,6,0,7,0,7,0,15,0,11,128, - 27,128,17,192,63,192,49,192,32,224,96,224,241,248,16,12, - 24,16,255,0,31,255,7,195,5,195,5,201,9,216,9,248, - 17,216,31,201,33,193,33,195,97,195,247,255,11,15,30,13, - 1,253,15,160,56,224,112,96,112,32,224,32,224,0,224,0, - 224,32,112,32,112,64,56,192,15,0,12,0,6,0,28,0, - 11,16,32,12,0,0,24,0,28,0,6,0,0,0,255,224, - 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, - 56,96,56,96,255,224,11,16,32,12,0,0,1,128,3,128, - 6,0,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,32,56,32,56,96,56,96,255,224,11,16,32,12, - 0,0,2,0,7,0,13,128,0,0,255,224,56,96,56,96, - 57,32,59,0,63,0,59,0,57,32,56,32,56,96,56,96, - 255,224,11,15,30,12,0,0,25,128,25,128,0,0,255,224, - 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, - 56,96,56,96,255,224,7,16,16,7,0,0,96,112,24,0, - 254,56,56,56,56,56,56,56,56,56,56,254,7,16,16,7, - 0,0,12,28,48,0,254,56,56,56,56,56,56,56,56,56, - 56,254,7,16,16,7,0,0,16,56,108,0,254,56,56,56, - 56,56,56,56,56,56,56,254,7,15,15,7,0,0,108,108, - 0,254,56,56,56,56,56,56,56,56,56,56,254,13,12,24, - 14,0,0,255,128,56,224,56,112,56,112,56,56,126,56,56, - 56,56,56,56,112,56,112,56,224,255,128,14,15,30,14,0, - 0,7,64,11,128,0,0,240,124,56,16,60,16,62,16,47, - 16,39,144,35,208,33,240,32,240,32,112,32,48,248,16,12, - 16,32,14,1,0,24,0,28,0,6,0,0,0,15,0,57, - 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, - 224,57,192,15,0,12,16,32,14,1,0,1,128,3,128,6, - 0,0,0,15,0,57,192,112,224,112,224,224,112,224,112,224, - 112,224,112,112,224,112,224,57,192,15,0,12,16,32,14,1, - 0,6,0,15,0,25,128,0,0,15,0,57,192,112,224,112, - 224,224,112,224,112,224,112,224,112,112,224,112,224,57,192,15, - 0,12,15,30,14,1,0,14,128,23,0,0,0,15,0,57, - 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, - 224,57,192,15,0,12,15,30,14,1,0,25,128,25,128,0, - 0,15,0,57,192,112,224,112,224,224,112,224,112,224,112,224, - 112,112,224,112,224,57,192,15,0,8,8,8,10,1,0,66, - 231,126,56,28,126,231,66,12,14,28,14,1,255,0,16,15, - 32,57,192,112,224,112,224,225,112,226,112,228,112,232,112,112, - 224,112,224,57,192,79,0,128,0,14,16,32,14,0,0,6, - 0,7,0,1,128,0,0,254,124,56,16,56,16,56,16,56, - 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,14, - 16,32,14,0,0,0,96,0,224,1,128,0,0,254,124,56, - 16,56,16,56,16,56,16,56,16,56,16,56,16,56,16,28, - 32,30,96,7,128,14,16,32,14,0,0,1,128,3,192,6, - 96,0,0,254,124,56,16,56,16,56,16,56,16,56,16,56, - 16,56,16,56,16,28,32,30,96,7,128,14,15,30,14,0, - 0,6,96,6,96,0,0,254,124,56,16,56,16,56,16,56, - 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,13, - 16,32,12,255,0,0,192,1,192,3,0,0,0,254,248,56, - 96,28,64,28,128,14,128,15,0,7,0,7,0,7,0,7, - 0,7,0,31,192,12,12,24,13,0,0,254,0,56,0,63, - 192,56,224,56,112,56,112,56,112,56,224,63,192,56,0,56, - 0,254,0,10,12,24,10,0,0,31,0,51,128,115,128,115, - 128,115,0,119,0,113,128,113,192,113,192,113,192,123,128,247, - 0,9,12,24,10,0,0,96,0,112,0,24,0,0,0,126, - 0,231,0,199,0,31,0,103,0,231,0,239,0,119,128,9, - 12,24,10,0,0,6,0,14,0,24,0,0,0,126,0,231, - 0,199,0,31,0,103,0,231,0,239,0,119,128,9,12,24, - 10,0,0,16,0,56,0,108,0,0,0,126,0,231,0,199, - 0,31,0,103,0,231,0,239,0,119,128,9,11,22,10,0, - 0,58,0,92,0,0,0,126,0,231,0,199,0,31,0,103, - 0,231,0,239,0,119,128,9,11,22,10,0,0,108,0,108, - 0,0,0,126,0,231,0,199,0,31,0,103,0,231,0,239, - 0,119,128,9,12,24,10,0,0,24,0,44,0,24,0,0, - 0,126,0,231,0,199,0,31,0,103,0,231,0,239,0,119, - 128,13,8,16,15,0,0,125,224,231,48,199,56,63,248,103, - 0,231,24,239,48,123,224,8,11,11,9,0,253,62,115,231, - 227,224,227,118,60,24,12,56,9,12,24,10,0,0,48,0, - 56,0,12,0,0,0,62,0,119,0,227,128,255,128,224,0, - 225,128,115,0,62,0,9,12,24,10,0,0,6,0,14,0, - 24,0,0,0,62,0,119,0,227,128,255,128,224,0,225,128, - 115,0,62,0,9,12,24,10,0,0,8,0,28,0,54,0, - 0,0,62,0,119,0,227,128,255,128,224,0,225,128,115,0, - 62,0,9,11,22,10,0,0,54,0,54,0,0,0,62,0, - 119,0,227,128,255,128,224,0,225,128,115,0,62,0,5,12, - 12,6,0,0,192,224,48,0,240,112,112,112,112,112,112,248, - 5,12,12,6,0,0,24,56,96,0,240,112,112,112,112,112, - 112,248,5,12,12,6,0,0,32,112,216,0,240,112,112,112, - 112,112,112,248,5,11,11,6,0,0,216,216,0,240,112,112, - 112,112,112,112,248,9,13,26,11,0,0,96,0,59,0,28, - 0,54,0,7,0,31,0,119,128,227,128,227,128,227,128,227, - 128,119,0,28,0,11,11,22,11,255,0,14,128,23,0,0, - 0,247,128,121,192,113,192,113,192,113,192,113,192,113,192,251, - 224,10,12,24,11,0,0,24,0,28,0,6,0,0,0,63, - 0,115,128,225,192,225,192,225,192,225,192,115,128,63,0,10, - 12,24,11,0,0,3,0,7,0,12,0,0,0,63,0,115, - 128,225,192,225,192,225,192,225,192,115,128,63,0,10,12,24, - 11,0,0,12,0,30,0,51,0,0,0,63,0,115,128,225, - 192,225,192,225,192,225,192,115,128,63,0,10,11,22,11,0, - 0,29,0,46,0,0,0,63,0,115,128,225,192,225,192,225, - 192,225,192,115,128,63,0,10,11,22,11,0,0,54,0,54, - 0,0,0,63,0,115,128,225,192,225,192,225,192,225,192,115, - 128,63,0,8,8,8,10,1,0,24,24,0,255,255,0,24, - 24,9,12,24,10,0,254,0,128,1,0,30,0,115,0,231, - 128,235,128,235,128,243,128,103,0,60,0,64,0,128,0,11, - 12,24,11,255,0,24,0,28,0,6,0,0,0,243,192,113, - 192,113,192,113,192,113,192,113,192,123,192,62,224,11,12,24, - 11,255,0,3,0,7,0,12,0,0,0,243,192,113,192,113, - 192,113,192,113,192,113,192,123,192,62,224,11,12,24,11,255, - 0,4,0,14,0,27,0,0,0,243,192,113,192,113,192,113, - 192,113,192,113,192,123,192,62,224,11,11,22,11,255,0,27, - 0,27,0,0,0,243,192,113,192,113,192,113,192,113,192,113, - 192,123,192,62,224,11,15,30,10,255,253,3,0,7,0,12, - 0,0,0,251,224,112,192,56,128,25,128,29,0,15,0,14, - 0,6,0,52,0,116,0,56,0,10,15,30,11,255,253,240, - 0,112,0,112,0,112,0,119,0,123,128,113,192,113,192,113, - 192,113,192,123,128,119,0,112,0,112,0,252,0,11,14,28, - 10,255,253,27,0,27,0,0,0,251,224,48,192,56,128,25, - 128,29,0,15,0,14,0,6,0,52,0,116,0,56,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=14 len=30 - Font Bounding box w=22 h=27 x=-3 y=-7 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB12r[2194] U8G_FONT_SECTION("u8g_font_ncenB12r") = { - 0,22,27,253,249,12,2,152,5,246,32,127,253,14,253,12, - 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, - 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, - 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, - 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, - 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, - 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, - 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, - 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, - 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, - 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, - 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, - 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, - 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, - 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, - 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, - 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, - 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, - 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, - 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, - 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, - 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, - 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, - 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, - 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, - 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, - 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, - 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, - 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, - 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, - 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, - 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, - 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, - 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, - 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, - 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, - 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, - 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, - 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, - 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, - 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, - 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, - 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, - 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, - 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, - 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, - 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, - 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, - 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, - 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, - 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, - 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, - 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, - 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, - 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, - 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, - 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, - 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, - 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, - 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, - 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, - 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, - 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, - 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, - 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, - 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, - 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, - 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, - 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, - 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, - 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, - 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, - 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, - 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, - 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, - 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, - 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, - 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, - 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, - 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, - 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, - 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, - 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, - 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, - 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, - 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, - 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, - 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, - 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, - 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, - 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, - 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, - 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, - 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, - 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, - 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, - 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, - 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, - 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, - 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, - 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, - 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, - 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, - 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, - 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, - 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, - 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, - 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, - 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, - 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, - 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, - 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, - 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, - 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, - 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, - 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, - 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, - 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, - 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, - 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, - 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, - 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, - 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, - 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, - 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, - 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, - 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, - 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, - 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, - 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, - 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, - 78,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=19 x= 4 y=11 dx=21 dy= 0 ascent=19 len=42 - Font Bounding box w=24 h=32 x=-3 y=-8 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =19 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB14[5558] U8G_FONT_SECTION("u8g_font_ncenB14") = { - 0,24,32,253,248,14,3,71,7,51,32,255,252,19,252,14, - 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, - 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, - 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, - 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, - 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, - 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, - 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, - 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, - 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, - 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, - 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, - 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, - 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, - 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, - 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, - 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, - 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, - 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, - 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, - 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, - 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, - 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, - 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, - 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, - 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, - 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, - 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, - 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, - 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, - 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, - 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, - 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, - 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, - 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, - 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, - 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, - 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, - 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, - 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, - 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, - 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, - 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, - 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, - 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, - 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, - 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, - 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, - 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, - 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, - 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, - 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, - 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, - 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, - 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, - 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, - 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, - 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, - 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, - 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, - 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, - 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, - 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, - 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, - 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, - 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, - 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, - 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, - 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, - 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, - 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, - 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, - 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, - 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, - 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, - 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, - 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, - 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, - 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, - 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, - 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, - 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, - 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, - 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, - 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, - 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, - 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, - 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, - 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, - 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, - 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, - 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, - 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, - 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, - 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, - 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, - 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, - 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, - 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, - 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, - 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, - 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, - 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, - 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, - 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, - 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, - 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, - 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, - 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, - 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, - 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, - 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, - 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, - 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, - 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, - 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, - 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, - 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, - 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, - 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, - 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, - 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, - 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, - 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, - 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, - 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, - 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, - 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, - 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, - 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, - 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, - 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, - 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, - 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, - 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, - 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, - 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, - 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, - 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, - 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, - 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, - 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, - 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, - 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, - 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, - 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, - 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, - 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, - 6,12,1,4,57,192,127,128,231,0,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,5,0, - 1,4,14,14,7,1,252,96,240,240,96,0,96,96,96,240, - 240,240,240,240,96,9,13,26,11,1,254,0,128,0,128,31, - 0,115,128,227,128,228,0,228,0,232,0,232,128,113,128,30, - 0,32,0,32,0,10,14,28,11,0,0,31,0,49,128,115, - 128,115,128,112,0,112,0,56,0,255,128,28,0,28,0,24, - 64,112,192,159,192,239,128,9,9,18,10,0,2,221,128,255, - 128,99,0,193,128,193,128,193,128,99,0,255,128,221,128,14, - 14,28,15,0,0,252,60,120,24,56,16,28,48,30,32,14, - 96,7,192,31,240,3,128,31,240,3,128,3,128,3,128,15, - 224,2,14,14,11,4,0,192,192,192,192,192,192,0,0,192, - 192,192,192,192,192,7,16,16,8,0,254,120,204,140,192,112, - 124,158,134,194,242,124,28,4,196,204,120,6,2,2,10,2, - 11,204,204,14,14,28,15,0,0,7,128,24,96,32,16,71, - 200,76,200,152,68,152,4,152,4,152,4,76,72,71,136,32, - 16,24,96,7,128,7,8,8,8,0,6,120,204,60,204,220, - 110,0,254,8,5,5,9,0,3,51,102,204,102,51,9,6, - 12,10,0,2,255,128,255,128,1,128,1,128,1,128,1,128, - 5,3,3,6,0,3,248,248,248,14,14,28,15,0,0,7, - 128,24,96,32,16,95,136,76,200,140,196,140,196,143,132,141, - 132,76,200,94,232,32,16,24,96,7,128,6,2,2,8,1, - 11,252,252,6,6,6,7,0,8,120,204,132,132,204,120,10, - 11,22,11,0,0,12,0,12,0,12,0,255,192,255,192,12, - 0,12,0,12,0,0,0,255,192,255,192,6,8,8,6,0, - 6,120,204,204,24,48,96,196,252,6,8,8,6,0,6,120, - 204,12,56,12,204,204,120,5,4,4,7,1,11,24,56,112, - 192,12,13,26,13,0,252,249,240,112,224,112,224,112,224,112, - 224,112,224,112,224,121,224,110,240,96,0,240,0,240,0,96, - 0,13,14,28,14,0,0,63,248,126,112,254,112,254,112,254, - 112,254,112,126,112,62,112,14,112,14,112,14,112,14,112,14, - 112,31,248,4,4,4,5,0,3,96,240,240,96,4,4,4, - 6,1,252,64,112,48,224,6,8,8,6,0,6,48,240,48, - 48,48,48,48,252,6,8,8,7,0,6,120,204,204,204,204, - 120,0,252,8,5,5,9,0,3,204,102,51,102,204,14,14, - 28,15,0,0,48,96,240,96,48,192,48,192,49,128,49,128, - 51,24,255,56,6,120,6,216,13,152,13,252,24,24,24,60, - 14,14,28,15,0,0,48,96,240,96,48,192,48,192,49,128, - 49,128,51,120,255,204,6,204,6,24,12,48,12,96,24,196, - 24,252,14,14,28,15,0,0,120,96,204,96,12,192,56,192, - 13,128,205,128,207,24,123,56,6,120,6,216,13,152,13,252, - 24,24,24,60,9,14,28,10,0,252,12,0,30,0,30,0, - 12,0,0,0,12,0,24,0,48,0,96,0,227,0,227,128, - 227,128,243,0,124,0,14,19,38,14,255,0,12,0,14,0, - 7,0,1,128,0,0,1,0,1,128,3,128,3,192,5,192, - 4,192,8,224,8,224,16,112,31,240,32,112,32,56,96,56, - 240,124,14,19,38,14,255,0,0,96,0,224,1,192,3,0, - 0,0,1,0,1,128,3,128,3,192,5,192,4,192,8,224, - 8,224,16,112,31,240,32,112,32,56,96,56,240,124,14,19, - 38,14,255,0,1,128,3,192,6,96,12,48,0,0,1,0, - 1,128,3,128,3,192,5,192,4,192,8,224,8,224,16,112, - 31,240,32,112,32,56,96,56,240,124,14,18,36,14,255,0, - 3,144,7,224,9,192,0,0,1,0,1,128,3,128,3,192, - 5,192,4,192,8,224,8,224,16,112,31,240,32,112,32,56, - 96,56,240,124,14,17,34,14,255,0,6,96,6,96,0,0, - 1,0,1,128,3,128,3,192,5,192,4,192,8,224,8,224, - 16,112,31,240,32,112,32,56,96,56,240,124,14,19,38,14, - 255,0,1,128,2,64,2,64,1,128,0,0,1,0,1,128, - 3,128,3,192,5,192,4,192,8,224,8,224,16,112,31,240, - 32,112,32,56,96,56,240,124,20,14,42,21,0,0,3,255, - 240,0,248,112,0,184,48,1,56,144,1,56,144,2,57,128, - 4,63,128,4,57,128,15,248,128,16,56,144,16,56,16,32, - 56,48,96,56,112,240,255,240,12,18,36,14,0,252,15,144, - 60,112,112,48,112,48,224,16,224,16,224,0,224,0,224,0, - 224,16,240,16,112,32,60,96,15,128,2,0,3,128,1,128, - 7,0,11,19,38,13,0,0,48,0,56,0,28,0,6,0, - 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, - 115,0,113,0,113,32,112,32,112,96,112,224,255,224,11,19, - 38,13,0,0,1,128,3,128,7,0,12,0,0,0,255,224, - 112,224,112,96,113,32,113,32,115,0,127,0,115,0,113,0, - 113,32,112,32,112,96,112,224,255,224,11,19,38,13,0,0, - 6,0,15,0,25,128,48,192,0,0,255,224,112,224,112,96, - 113,32,113,32,115,0,127,0,115,0,113,0,113,32,112,32, - 112,96,112,224,255,224,11,17,34,13,0,0,25,128,25,128, - 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, - 115,0,113,0,113,32,112,32,112,96,112,224,255,224,6,19, - 19,9,0,0,192,224,112,24,0,124,56,56,56,56,56,56, - 56,56,56,56,56,56,124,6,19,19,9,1,0,12,28,56, - 96,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, - 8,19,19,9,0,0,24,60,102,195,0,124,56,56,56,56, - 56,56,56,56,56,56,56,56,124,6,17,17,9,1,0,204, - 204,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, - 14,14,28,16,0,0,255,192,112,240,112,56,112,56,112,28, - 112,28,252,28,112,28,112,28,112,28,112,56,112,56,112,240, - 255,192,14,18,36,16,0,0,7,32,15,192,19,128,0,0, - 240,124,120,56,60,16,60,16,62,16,47,16,39,144,35,208, - 33,240,32,240,32,240,32,112,112,48,248,16,14,19,38,16, - 0,0,12,0,14,0,7,0,1,128,0,0,15,192,60,240, - 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,112,56,60,240,15,192,14,19,38,16,0,0,0,192, - 1,192,3,128,6,0,0,0,15,192,60,240,112,56,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, - 60,240,15,192,14,19,38,16,0,0,3,0,7,128,12,192, - 24,96,0,0,15,192,60,240,112,56,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,112,56,112,56,60,240,15,192, - 14,18,36,16,0,0,7,32,15,192,19,128,0,0,15,192, - 60,240,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,60,240,15,192,14,17,34,16,0,0, - 12,192,12,192,0,0,15,192,60,240,112,56,112,56,224,28, - 224,28,224,28,224,28,224,28,224,28,112,56,112,56,60,240, - 15,192,10,10,20,11,0,0,64,128,225,192,115,128,63,0, - 30,0,30,0,63,0,115,128,225,192,64,128,14,15,30,16, - 0,0,0,8,15,208,60,240,112,56,112,88,224,156,225,28, - 225,28,226,28,228,28,232,28,112,56,48,56,60,240,79,192, - 14,19,38,16,0,0,12,0,14,0,7,0,1,128,0,0, - 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,112,16,112,16,56,96,31,192,14,19,38,16, - 0,0,0,96,0,224,1,192,3,0,0,0,248,124,112,56, - 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,56,96,31,192,14,19,38,16,0,0,3,0, - 7,128,12,192,24,96,0,0,248,124,112,56,112,16,112,16, - 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, - 56,96,31,192,14,17,34,16,0,0,12,192,12,192,0,0, - 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,112,16,112,16,56,96,31,192,13,19,38,15, - 0,0,0,96,0,224,1,192,3,0,0,0,252,120,120,48, - 56,32,60,96,28,64,30,128,15,128,7,0,7,0,7,0, - 7,0,7,0,7,0,31,192,12,14,28,14,1,0,248,0, - 112,0,112,0,127,192,113,224,112,240,112,240,112,240,112,240, - 113,224,127,128,112,0,112,0,248,0,11,14,28,12,0,0, - 30,0,51,128,113,192,113,192,113,192,113,128,119,0,113,192, - 112,224,112,224,112,224,112,224,113,192,247,0,10,14,28,11, - 0,0,48,0,56,0,28,0,6,0,0,0,127,0,227,128, - 195,128,7,128,59,128,227,128,227,128,231,128,121,192,10,14, - 28,11,0,0,3,0,7,0,14,0,24,0,0,0,127,0, - 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, - 10,14,28,11,0,0,12,0,30,0,51,0,97,128,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,10,13,26,11,0,0,24,128,63,0,70,0,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,10,12,24,11,0,0,51,0,51,0,0,0,127,0, - 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, - 10,14,28,11,0,0,12,0,18,0,18,0,12,0,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,16,9,18,17,0,0,63,120,99,206,227,135,7,135, - 59,255,227,128,227,129,231,195,120,252,9,13,26,10,0,252, - 31,0,115,128,225,128,224,0,224,0,224,0,224,128,113,128, - 30,0,8,0,14,0,6,0,28,0,10,14,28,11,0,0, - 48,0,56,0,28,0,6,0,0,0,30,0,115,128,225,192, - 225,192,255,192,224,0,224,64,112,192,31,0,10,14,28,11, - 0,0,3,0,7,0,14,0,24,0,0,0,30,0,115,128, - 225,192,225,192,255,192,224,0,224,64,112,192,31,0,10,14, - 28,11,0,0,12,0,30,0,51,0,97,128,0,0,30,0, - 115,128,225,192,225,192,255,192,224,0,224,64,112,192,31,0, - 10,12,24,11,0,0,51,0,51,0,0,0,30,0,115,128, - 225,192,225,192,255,192,224,0,224,64,112,192,31,0,6,14, - 14,6,255,0,192,224,112,24,0,120,56,56,56,56,56,56, - 56,124,6,14,14,6,0,0,12,28,56,96,0,240,112,112, - 112,112,112,112,112,248,8,14,14,6,255,0,24,60,102,195, - 0,120,56,56,56,56,56,56,56,124,5,12,12,6,0,0, - 216,216,0,240,112,112,112,112,112,112,112,248,11,14,28,12, - 0,0,192,0,51,0,28,0,102,0,3,0,31,128,113,192, - 224,224,224,224,224,224,224,224,224,224,113,192,31,0,12,13, - 26,13,0,0,12,64,31,128,35,0,0,0,247,192,121,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,11,14, - 28,12,0,0,48,0,56,0,28,0,6,0,0,0,31,0, - 113,192,224,224,224,224,224,224,224,224,224,224,113,192,31,0, - 11,14,28,12,0,0,1,128,3,128,7,0,12,0,0,0, - 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, - 31,0,11,14,28,12,0,0,6,0,15,0,25,128,48,192, - 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, - 113,192,31,0,11,13,26,12,0,0,24,128,63,0,70,0, - 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, - 113,192,31,0,11,12,24,12,0,0,51,0,51,0,0,0, - 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, - 31,0,10,10,20,11,0,0,12,0,12,0,0,0,0,0, - 255,192,255,192,0,0,0,0,12,0,12,0,10,11,22,11, - 0,255,1,0,31,0,115,128,227,192,229,192,229,192,233,192, - 233,192,115,128,62,0,32,0,12,14,28,13,0,0,24,0, - 28,0,14,0,3,0,0,0,249,240,112,224,112,224,112,224, - 112,224,112,224,112,224,121,224,62,240,12,14,28,13,0,0, - 3,0,7,0,14,0,24,0,0,0,249,240,112,224,112,224, - 112,224,112,224,112,224,112,224,121,224,62,240,12,14,28,13, - 0,0,6,0,15,0,25,128,48,192,0,0,249,240,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,12,12, - 24,13,0,0,25,128,25,128,0,0,249,240,112,224,112,224, - 112,224,112,224,112,224,112,224,121,224,62,240,11,18,36,12, - 0,252,1,128,3,128,7,0,12,0,0,0,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,12,18,36,12,255,252,240,0,112,0, - 112,0,112,0,112,0,119,128,120,224,112,112,112,112,112,112, - 112,112,112,112,120,224,119,128,112,0,112,0,112,0,248,0, - 11,16,32,12,0,252,25,128,25,128,0,0,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=18 x= 4 y=10 dx=20 dy= 0 ascent=16 len=42 - Font Bounding box w=24 h=32 x=-3 y=-8 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB14r[2603] U8G_FONT_SECTION("u8g_font_ncenB14r") = { - 0,24,32,253,248,14,3,71,7,51,32,127,252,16,252,14, - 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, - 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, - 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, - 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, - 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, - 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, - 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, - 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, - 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, - 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, - 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, - 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, - 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, - 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, - 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, - 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, - 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, - 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, - 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, - 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, - 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, - 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, - 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, - 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, - 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, - 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, - 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, - 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, - 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, - 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, - 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, - 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, - 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, - 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, - 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, - 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, - 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, - 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, - 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, - 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, - 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, - 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, - 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, - 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, - 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, - 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, - 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, - 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, - 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, - 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, - 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, - 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, - 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, - 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, - 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, - 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, - 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, - 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, - 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, - 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, - 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, - 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, - 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, - 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, - 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, - 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, - 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, - 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, - 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, - 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, - 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, - 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, - 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, - 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, - 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, - 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, - 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, - 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, - 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, - 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, - 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, - 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, - 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, - 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, - 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, - 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, - 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, - 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, - 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, - 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, - 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, - 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, - 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, - 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, - 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, - 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, - 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, - 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, - 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, - 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, - 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, - 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, - 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, - 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, - 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, - 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, - 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, - 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, - 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, - 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, - 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, - 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, - 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, - 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, - 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, - 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, - 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, - 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, - 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, - 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, - 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, - 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, - 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, - 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, - 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, - 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, - 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, - 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, - 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, - 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, - 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, - 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, - 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, - 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, - 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, - 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, - 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, - 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, - 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, - 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, - 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, - 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, - 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, - 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, - 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, - 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, - 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, - 6,12,1,4,57,192,127,128,231,0,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 6 y=15 dx=26 dy= 0 ascent=24 len=72 - Font Bounding box w=33 h=40 x=-4 y=-10 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB18[8114] U8G_FONT_SECTION("u8g_font_ncenB18") = { - 0,33,40,252,246,18,4,68,10,106,32,255,251,24,251,18, - 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, - 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, - 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, - 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, - 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, - 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, - 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, - 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, - 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, - 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, - 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, - 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, - 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, - 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, - 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, - 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, - 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, - 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, - 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, - 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, - 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, - 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, - 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, - 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, - 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, - 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, - 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, - 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, - 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, - 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, - 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, - 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, - 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, - 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, - 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, - 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, - 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, - 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, - 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, - 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, - 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, - 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, - 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, - 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, - 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, - 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, - 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, - 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, - 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, - 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, - 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, - 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, - 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, - 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, - 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, - 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, - 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, - 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, - 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, - 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, - 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, - 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, - 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, - 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, - 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, - 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, - 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, - 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, - 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, - 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, - 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, - 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, - 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, - 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, - 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, - 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, - 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, - 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, - 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, - 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, - 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, - 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, - 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, - 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, - 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, - 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, - 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, - 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, - 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, - 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, - 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, - 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, - 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, - 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, - 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, - 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, - 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, - 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, - 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, - 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, - 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, - 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, - 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, - 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, - 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, - 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, - 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, - 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, - 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, - 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, - 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, - 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, - 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, - 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, - 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, - 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, - 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, - 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, - 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, - 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, - 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, - 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, - 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, - 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, - 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, - 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, - 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, - 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, - 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, - 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, - 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, - 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, - 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, - 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, - 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, - 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, - 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, - 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, - 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, - 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, - 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, - 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, - 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, - 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, - 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, - 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, - 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, - 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, - 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, - 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, - 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, - 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, - 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, - 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, - 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, - 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, - 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, - 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, - 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, - 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, - 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, - 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, - 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, - 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, - 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, - 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, - 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, - 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, - 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, - 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, - 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, - 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, - 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, - 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, - 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, - 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, - 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, - 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, - 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, - 112,255,240,231,224,65,192,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,7,0,1,5,18, - 18,7,1,251,112,248,248,112,0,0,32,32,112,112,112,112, - 112,112,248,248,248,112,12,15,30,14,1,255,0,32,0,64, - 15,192,56,240,121,240,113,96,242,0,242,0,244,0,244,0, - 120,16,120,16,60,96,47,192,64,0,14,18,36,15,0,0, - 3,224,15,48,14,120,30,120,30,48,30,0,30,0,30,0, - 127,224,15,0,15,0,15,0,7,0,7,4,126,12,207,252, - 207,248,113,240,12,12,24,14,1,2,207,48,255,240,127,224, - 112,224,224,112,224,112,224,112,224,112,112,224,127,224,255,240, - 207,48,19,18,54,19,0,0,255,143,224,62,3,0,62,3, - 0,31,6,0,31,6,0,15,140,0,15,140,0,7,216,0, - 7,248,0,31,254,0,1,224,0,1,224,0,31,254,0,1, - 224,0,1,224,0,1,224,0,3,240,0,15,252,0,3,18, - 18,14,6,0,224,224,224,224,224,224,224,0,0,0,224,224, - 224,224,224,224,224,224,11,20,40,13,1,254,31,0,35,128, - 99,128,99,0,120,0,62,0,63,128,71,192,193,224,224,224, - 240,96,124,96,63,64,15,128,3,128,1,128,48,128,112,128, - 113,0,62,0,10,4,8,12,1,14,97,128,243,192,243,192, - 97,128,19,18,54,21,1,0,3,248,0,15,254,0,60,7, - 128,48,1,128,97,248,192,103,24,192,198,8,96,206,0,96, - 206,0,96,206,0,96,206,0,96,199,4,96,103,136,192,97, - 240,192,48,1,128,60,7,128,15,254,0,3,248,0,8,10, - 10,10,1,8,120,206,6,126,198,206,119,0,0,255,11,7, - 14,13,1,3,28,224,57,192,115,128,231,0,115,128,57,192, - 28,224,11,6,12,13,1,4,255,224,255,224,0,96,0,96, - 0,96,0,96,6,3,3,8,1,5,252,252,252,19,18,54, - 21,1,0,3,248,0,15,254,0,60,7,128,48,1,128,103, - 240,192,99,24,192,195,24,96,195,24,96,195,240,96,195,96, - 96,195,48,96,195,48,96,99,24,192,103,156,192,48,1,128, - 60,7,128,15,254,0,3,248,0,8,2,2,10,1,15,255, - 255,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, - 22,14,1,1,6,0,6,0,6,0,255,240,255,240,6,0, - 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, - 124,206,198,198,14,12,24,48,98,254,254,7,11,11,8,0, - 7,124,206,198,6,12,60,14,6,198,206,124,5,5,5,7, - 1,14,24,56,112,96,192,17,17,51,18,0,251,254,63,128, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,63,222,0,39,159, - 128,48,0,0,48,0,0,120,0,0,120,0,0,48,0,0, - 16,18,36,18,1,0,31,255,127,156,127,156,255,156,255,156, - 255,156,127,156,127,156,31,156,3,156,3,156,3,156,3,156, - 3,156,3,156,3,156,3,156,15,255,3,4,4,7,2,5, - 224,224,224,224,5,6,6,7,1,251,16,32,112,56,24,240, - 6,11,11,8,0,7,48,240,48,48,48,48,48,48,48,48, - 252,9,10,20,11,1,8,28,0,99,0,227,128,227,128,227, - 128,99,0,28,0,0,0,0,0,255,128,11,7,14,13,1, - 3,231,0,115,128,57,192,28,224,57,192,115,128,231,0,18, - 18,54,21,1,0,48,6,0,240,6,0,48,12,0,48,24, - 0,48,24,0,48,48,0,48,96,0,48,99,0,48,199,0, - 49,135,0,253,143,0,3,27,0,6,19,0,6,51,0,12, - 99,0,24,127,192,24,3,0,48,7,128,18,18,54,21,1, - 0,48,6,0,240,6,0,48,12,0,48,24,0,48,24,0, - 48,48,0,48,96,0,48,111,128,48,201,192,49,152,192,253, - 152,192,3,1,192,6,1,128,6,3,0,12,6,0,24,12, - 64,24,31,192,48,31,192,19,18,54,21,0,0,124,3,0, - 206,3,0,198,6,0,6,12,0,12,12,0,56,24,0,12, - 48,0,6,49,128,198,99,128,206,195,128,124,197,128,1,141, - 128,3,25,128,3,25,128,6,49,128,12,63,224,12,1,128, - 24,3,192,11,18,36,13,1,251,7,0,15,128,15,128,7, - 0,0,0,0,0,3,0,3,0,6,0,28,0,56,0,112, - 0,240,0,240,192,241,224,241,224,120,192,31,128,19,24,72, - 19,0,0,6,0,0,7,0,0,3,128,0,1,192,0,0, - 96,0,0,0,0,0,96,0,0,96,0,0,240,0,0,240, - 0,1,120,0,1,120,0,3,60,0,2,60,0,2,60,0, - 6,30,0,4,30,0,7,254,0,12,15,0,8,15,0,8, - 15,0,24,7,128,56,7,128,254,31,224,19,24,72,19,0, - 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, - 0,0,0,0,96,0,0,96,0,0,240,0,0,240,0,1, - 120,0,1,120,0,3,60,0,2,60,0,2,60,0,6,30, - 0,4,30,0,7,254,0,12,15,0,8,15,0,8,15,0, - 24,7,128,56,7,128,254,31,224,19,23,69,19,0,0,0, - 96,0,0,240,0,1,152,0,3,12,0,0,0,0,0,96, - 0,0,96,0,0,240,0,0,240,0,1,120,0,1,120,0, - 3,60,0,2,60,0,2,60,0,6,30,0,4,30,0,7, - 254,0,12,15,0,8,15,0,8,15,0,24,7,128,56,7, - 128,254,31,224,19,22,66,19,0,0,0,226,0,1,252,0, - 2,56,0,0,0,0,0,96,0,0,96,0,0,240,0,0, - 240,0,1,120,0,1,120,0,3,60,0,2,60,0,2,60, - 0,6,30,0,4,30,0,7,254,0,12,15,0,8,15,0, - 8,15,0,24,7,128,56,7,128,254,31,224,19,23,69,19, - 0,0,3,156,0,3,156,0,3,156,0,0,0,0,0,0, - 0,0,96,0,0,96,0,0,240,0,0,240,0,1,120,0, - 1,120,0,3,60,0,2,60,0,2,60,0,6,30,0,4, - 30,0,7,254,0,12,15,0,8,15,0,8,15,0,24,7, - 128,56,7,128,254,31,224,19,24,72,19,0,0,0,240,0, - 1,152,0,1,8,0,1,152,0,0,240,0,0,0,0,0, - 96,0,0,96,0,0,240,0,0,240,0,1,120,0,1,120, - 0,3,60,0,2,60,0,2,60,0,6,30,0,4,30,0, - 7,254,0,12,15,0,8,15,0,8,15,0,24,7,128,56, - 7,128,254,31,224,25,18,72,26,0,0,1,255,255,128,0, - 111,3,128,0,111,1,128,0,207,0,128,0,207,0,128,1, - 143,8,128,1,143,8,0,3,15,24,0,3,15,248,0,6, - 15,24,0,7,255,8,0,12,15,8,0,12,15,0,128,24, - 15,0,128,24,15,0,128,48,15,1,128,112,15,3,128,252, - 63,255,128,17,23,69,19,1,251,3,249,128,15,15,128,60, - 3,128,60,1,128,120,1,128,120,0,128,248,0,128,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,120,0,128, - 120,0,128,60,1,0,60,1,0,15,6,0,3,248,0,0, - 128,0,1,192,0,0,224,0,0,96,0,3,192,0,15,24, - 48,18,1,0,12,0,14,0,7,0,1,128,0,192,0,0, - 255,254,60,30,60,6,60,2,60,2,60,34,60,32,60,96, - 63,224,60,96,60,32,60,32,60,2,60,2,60,2,60,6, - 60,30,255,254,15,24,48,18,1,0,0,24,0,56,0,112, - 0,192,1,128,0,0,255,254,60,30,60,6,60,2,60,2, - 60,34,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,2,60,6,60,30,255,254,15,23,46,18,1,0, - 1,128,3,192,6,96,12,48,0,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,23, - 46,18,1,0,14,112,14,112,14,112,0,0,0,0,255,254, - 60,30,60,6,60,2,60,2,60,34,60,32,60,96,63,224, - 60,96,60,32,60,32,60,2,60,2,60,2,60,6,60,30, - 255,254,8,24,24,10,1,0,192,224,112,24,12,0,255,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, - 8,24,24,10,1,0,3,7,14,24,48,0,255,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,255,8,23, - 23,10,1,0,24,60,102,195,0,255,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,255,8,23,23,10,1, - 0,231,231,231,0,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,255,135,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,20,22,66,22,1,0,0,226,0,1,252,0, - 2,56,0,0,0,0,252,7,240,62,1,192,31,0,128,31, - 128,128,31,192,128,23,224,128,19,240,128,17,240,128,16,248, - 128,16,124,128,16,126,128,16,63,128,16,31,128,16,15,128, - 16,7,128,16,3,128,56,1,128,254,0,128,19,24,72,21, - 1,0,6,0,0,7,0,0,3,128,0,0,192,0,0,96, - 0,0,0,0,3,248,0,15,30,0,60,7,128,60,7,128, - 120,3,192,120,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,120,3,192,120,3,192,60,7, - 128,60,7,128,15,30,0,3,248,0,19,23,69,21,1,0, - 0,24,0,0,56,0,0,96,0,0,192,0,0,0,0,3, - 248,0,15,30,0,60,7,128,60,7,128,120,3,192,120,3, - 192,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,120,3,192,120,3,192,60,7,128,60,7,128,15, - 30,0,3,248,0,19,23,69,21,1,0,0,96,0,0,240, - 0,1,152,0,3,12,0,0,0,0,3,248,0,15,30,0, - 60,7,128,60,7,128,120,3,192,120,3,192,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,120,3, - 192,120,3,192,60,7,128,60,7,128,15,30,0,3,248,0, - 19,22,66,21,1,0,0,226,0,1,252,0,2,56,0,0, - 0,0,3,248,0,15,30,0,60,7,128,60,7,128,120,3, - 192,120,3,192,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,120,3,192,120,3,192,60,7,128,60, - 7,128,15,30,0,3,248,0,19,23,69,21,1,0,7,28, - 0,7,28,0,7,28,0,0,0,0,0,0,0,3,248,0, - 15,30,0,60,7,128,60,7,128,120,3,192,120,3,192,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,120,3,192,120,3,192,60,7,128,60,7,128,15,30,0, - 3,248,0,12,12,24,14,1,1,192,48,224,112,112,224,57, - 192,31,128,15,0,15,0,31,128,57,192,112,224,224,112,192, - 48,20,18,54,21,0,0,1,252,48,7,143,96,30,3,192, - 30,3,192,60,7,224,60,13,224,124,25,240,124,49,240,124, - 97,240,124,193,240,125,129,240,127,1,240,62,1,224,60,1, - 224,62,3,192,126,3,192,199,143,0,129,252,0,19,24,72, - 21,1,0,3,0,0,3,128,0,1,192,0,0,96,0,0, - 48,0,0,0,0,255,15,224,60,3,128,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,30,2,0,31,142,0,7,248,0,19,24,72,21,1, - 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, - 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 30,2,0,31,142,0,7,248,0,19,23,69,21,1,0,0, - 96,0,0,240,0,1,152,0,3,12,0,0,0,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,30,2,0,31,142, - 0,7,248,0,19,23,69,21,1,0,7,28,0,7,28,0, - 7,28,0,0,0,0,0,0,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,30,2,0,31,142,0,7,248,0,18, - 24,72,18,0,0,0,6,0,0,14,0,0,28,0,0,48, - 0,0,96,0,0,0,0,255,15,192,60,3,0,30,6,0, - 30,6,0,15,12,0,15,12,0,7,152,0,7,152,0,3, - 240,0,3,240,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,7,248,0,16,18,36, - 18,1,0,255,128,60,0,60,0,60,0,63,248,60,62,60, - 30,60,31,60,31,60,31,60,31,60,30,60,62,63,240,60, - 0,60,0,60,0,255,128,15,18,36,15,255,0,7,224,30, - 120,28,60,60,60,60,60,60,56,60,112,61,224,60,60,60, - 30,60,30,60,30,60,30,60,30,60,30,60,28,61,60,253, - 240,14,18,36,15,0,0,12,0,14,0,7,0,3,0,1, - 128,0,0,127,128,241,224,240,240,96,240,1,240,14,240,120, - 240,240,240,240,240,240,240,249,252,126,56,14,18,36,15,0, - 0,1,128,3,128,7,0,6,0,12,0,0,0,127,128,241, - 224,240,240,96,240,1,240,14,240,120,240,240,240,240,240,240, - 240,249,252,126,56,14,18,36,15,0,0,2,0,7,0,15, - 128,24,192,48,96,0,0,127,128,241,224,240,240,96,240,1, - 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, - 17,34,15,0,0,14,32,31,192,35,128,0,0,0,0,127, - 128,241,224,240,240,96,240,1,240,14,240,120,240,240,240,240, - 240,240,240,249,252,126,56,14,17,34,15,0,0,56,224,56, - 224,56,224,0,0,0,0,127,128,241,224,240,240,96,240,1, - 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, - 18,36,15,0,0,7,0,13,128,8,128,13,128,7,0,0, - 0,127,128,241,224,240,240,96,240,1,240,14,240,120,240,240, - 240,240,240,240,240,249,252,126,56,22,12,36,23,0,0,31, - 207,192,121,248,112,112,248,120,112,240,56,1,240,60,14,255, - 252,120,240,0,240,240,0,240,248,8,240,248,8,249,188,48, - 126,15,224,13,17,34,14,0,251,15,240,56,120,120,120,112, - 48,240,0,240,0,240,0,240,0,120,8,120,8,60,48,31, - 224,2,0,7,0,3,128,1,128,15,0,14,18,36,15,0, - 0,12,0,14,0,7,0,3,0,1,128,0,0,15,192,56, - 112,120,120,112,56,240,60,255,252,240,0,240,0,120,8,120, - 8,60,48,15,224,14,18,36,15,0,0,0,96,0,224,1, - 192,3,128,6,0,0,0,15,192,56,112,120,120,112,56,240, - 60,255,252,240,0,240,0,120,8,120,8,60,48,15,224,14, - 18,36,15,0,0,2,0,7,0,15,128,24,192,48,96,0, - 0,15,192,56,112,120,120,112,56,240,60,255,252,240,0,240, - 0,120,8,120,8,60,48,15,224,14,17,34,15,0,0,28, - 112,28,112,28,112,0,0,0,0,15,192,56,112,120,120,112, - 56,240,60,255,252,240,0,240,0,120,8,120,8,60,48,15, - 224,8,18,18,9,0,0,96,112,56,24,12,0,252,60,60, - 60,60,60,60,60,60,60,60,255,8,18,18,9,0,0,12, - 28,56,48,96,0,252,60,60,60,60,60,60,60,60,60,60, - 255,9,18,36,9,0,0,8,0,28,0,62,0,99,0,193, - 128,0,0,252,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,255,0,8,17,17,9,0, - 0,231,231,231,0,0,252,60,60,60,60,60,60,60,60,60, - 60,255,14,18,36,15,0,0,192,0,57,192,15,0,15,0, - 49,192,0,224,15,240,56,112,120,120,112,56,240,60,240,60, - 240,60,240,60,112,56,120,120,56,112,15,192,17,17,51,18, - 0,0,3,136,0,7,240,0,8,224,0,0,0,0,0,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,18,36,15,0,0,12,0,14,0,7, - 0,3,0,1,128,0,0,15,192,56,112,120,120,112,56,240, - 60,240,60,240,60,240,60,112,56,120,120,56,112,15,192,14, - 18,36,15,0,0,0,96,0,224,1,192,3,0,6,0,0, - 0,15,192,56,112,120,120,112,56,240,60,240,60,240,60,240, - 60,112,56,120,120,56,112,15,192,14,18,36,15,0,0,2, - 0,7,0,15,128,24,192,48,96,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,14,17,34,15,0,0,7,16,15,224,17,192,0, - 0,0,0,15,192,56,112,120,120,112,56,240,60,240,60,240, - 60,240,60,112,56,120,120,56,112,15,192,14,17,34,15,0, - 0,56,224,56,224,56,224,0,0,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,12,12,24,14,1,1,6,0,6,0,6,0,0, - 0,0,0,255,240,255,240,0,0,0,0,6,0,6,0,6, - 0,14,18,36,15,0,253,0,16,0,16,0,32,15,224,56, - 112,120,120,112,184,240,188,241,60,241,60,242,60,114,56,124, - 120,60,112,15,192,8,0,16,0,16,0,17,18,54,18,0, - 0,3,0,0,3,128,0,1,192,0,0,192,0,0,96,0, - 0,0,0,254,63,128,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,62,62, - 0,31,222,0,15,159,128,17,18,54,18,0,0,0,96,0, - 0,224,0,1,192,0,1,128,0,3,0,0,0,0,0,254, - 63,128,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,62,62,0,31,222,0, - 15,159,128,17,18,54,18,0,0,0,128,0,1,192,0,3, - 224,0,6,48,0,12,24,0,0,0,0,254,63,128,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,62,62,0,31,222,0,15,159,128,17, - 17,51,18,0,0,14,56,0,14,56,0,14,56,0,0,0, - 0,0,0,0,254,63,128,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,62, - 62,0,31,222,0,15,159,128,16,23,46,15,255,251,0,48, - 0,112,0,224,0,192,1,128,0,0,254,63,60,12,30,8, - 30,24,15,16,15,48,7,160,7,224,3,192,3,192,1,192, - 1,128,1,128,97,0,243,0,254,0,120,0,16,23,46,16, - 255,251,252,0,60,0,60,0,60,0,60,0,60,0,61,240, - 63,28,60,30,60,14,60,15,60,15,60,15,60,15,60,14, - 62,30,63,28,61,240,60,0,60,0,60,0,60,0,255,0, - 16,22,44,15,255,251,14,56,14,56,14,56,0,0,0,0, - 254,63,60,12,30,8,30,24,15,16,15,48,7,160,7,224, - 3,192,3,192,1,192,1,128,1,128,97,0,243,0,254,0, - 120,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=23 x= 6 y=13 dx=26 dy= 0 ascent=20 len=72 - Font Bounding box w=33 h=40 x=-4 y=-10 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB18r[3736] U8G_FONT_SECTION("u8g_font_ncenB18r") = { - 0,33,40,252,246,18,4,68,10,106,32,127,251,20,251,18, - 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, - 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, - 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, - 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, - 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, - 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, - 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, - 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, - 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, - 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, - 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, - 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, - 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, - 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, - 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, - 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, - 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, - 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, - 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, - 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, - 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, - 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, - 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, - 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, - 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, - 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, - 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, - 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, - 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, - 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, - 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, - 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, - 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, - 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, - 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, - 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, - 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, - 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, - 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, - 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, - 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, - 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, - 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, - 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, - 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, - 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, - 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, - 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, - 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, - 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, - 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, - 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, - 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, - 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, - 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, - 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, - 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, - 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, - 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, - 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, - 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, - 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, - 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, - 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, - 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, - 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, - 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, - 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, - 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, - 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, - 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, - 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, - 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, - 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, - 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, - 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, - 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, - 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, - 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, - 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, - 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, - 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, - 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, - 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, - 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, - 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, - 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, - 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, - 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, - 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, - 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, - 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, - 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, - 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, - 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, - 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, - 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, - 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, - 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, - 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, - 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, - 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, - 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, - 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, - 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, - 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, - 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, - 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, - 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, - 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, - 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, - 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, - 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, - 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, - 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, - 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, - 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, - 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, - 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, - 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, - 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, - 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, - 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, - 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, - 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, - 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, - 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, - 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, - 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, - 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, - 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, - 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, - 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, - 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, - 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, - 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, - 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, - 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, - 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, - 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, - 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, - 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, - 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, - 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, - 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, - 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, - 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, - 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, - 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, - 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, - 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, - 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, - 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, - 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, - 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, - 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, - 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, - 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, - 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, - 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, - 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, - 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, - 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, - 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, - 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, - 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, - 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, - 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, - 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, - 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, - 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, - 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, - 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, - 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, - 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, - 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, - 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, - 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, - 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, - 112,255,240,231,224,65,192,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=32 h=33 x= 8 y=18 dx=33 dy= 0 ascent=33 len=132 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =33 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24[12964] U8G_FONT_SECTION("u8g_font_ncenB24") = { - 0,39,53,252,243,25,6,143,16,147,32,255,249,33,249,25, - 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, - 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, - 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, - 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, - 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, - 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, - 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, - 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, - 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, - 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, - 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, - 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, - 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, - 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, - 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, - 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, - 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, - 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, - 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, - 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, - 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, - 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, - 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, - 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, - 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, - 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, - 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, - 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, - 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, - 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, - 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, - 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, - 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, - 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, - 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, - 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, - 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, - 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, - 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, - 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, - 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, - 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, - 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, - 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, - 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, - 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, - 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, - 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, - 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, - 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, - 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, - 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, - 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, - 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, - 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, - 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, - 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, - 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, - 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, - 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, - 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, - 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, - 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, - 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, - 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, - 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, - 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, - 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, - 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, - 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, - 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, - 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, - 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, - 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, - 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, - 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, - 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, - 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, - 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, - 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, - 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, - 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, - 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, - 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, - 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, - 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, - 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, - 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, - 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, - 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, - 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, - 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, - 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, - 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, - 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, - 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, - 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, - 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, - 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, - 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, - 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, - 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, - 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, - 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, - 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, - 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, - 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, - 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, - 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, - 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, - 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, - 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, - 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, - 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, - 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, - 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, - 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, - 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, - 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, - 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, - 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, - 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, - 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, - 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, - 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, - 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, - 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, - 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, - 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, - 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, - 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, - 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, - 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, - 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, - 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, - 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, - 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, - 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, - 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, - 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, - 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, - 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, - 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, - 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, - 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, - 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, - 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, - 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, - 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, - 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, - 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, - 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, - 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, - 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, - 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, - 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, - 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, - 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, - 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, - 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, - 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, - 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, - 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, - 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, - 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, - 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, - 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, - 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, - 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, - 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, - 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, - 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, - 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, - 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, - 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, - 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, - 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, - 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, - 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, - 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, - 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, - 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, - 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, - 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, - 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, - 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, - 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, - 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, - 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, - 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, - 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, - 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, - 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, - 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, - 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, - 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, - 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, - 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, - 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, - 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, - 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, - 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, - 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, - 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, - 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, - 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, - 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, - 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, - 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, - 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, - 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, - 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, - 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, - 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, - 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, - 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, - 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, - 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, - 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, - 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, - 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, - 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, - 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, - 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, - 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, - 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, - 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, - 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, - 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, - 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, - 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, - 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, - 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, - 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, - 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, - 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, - 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, - 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, - 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, - 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, - 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, - 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, - 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, - 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, - 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, - 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, - 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, - 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, - 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, - 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, - 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, - 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, - 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, - 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, - 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, - 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, - 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, - 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, - 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, - 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, - 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, - 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, - 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, - 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, - 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, - 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, - 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, - 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, - 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, - 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, - 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, - 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, - 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, - 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, - 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, - 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, - 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, - 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, - 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, - 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, - 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, - 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, - 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, - 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,9,1,1,6,25,25,10,2,249,120,252,252, - 252,252,120,0,0,48,48,48,48,48,48,120,120,120,120,124, - 252,252,252,252,252,120,15,22,44,19,1,253,0,6,0,6, - 0,12,3,252,14,124,60,62,124,62,120,126,248,126,248,220, - 248,192,249,128,253,128,255,2,255,6,126,6,63,28,31,248, - 15,224,24,0,24,0,48,0,17,24,72,19,1,0,1,248, - 0,7,252,0,15,142,0,15,15,0,31,31,0,31,31,0, - 31,31,0,31,14,0,15,0,0,15,0,0,7,128,0,127, - 248,0,127,248,0,7,128,0,7,128,0,7,128,0,3,128, - 0,3,129,128,123,3,128,255,199,0,199,255,0,199,254,0, - 253,254,0,120,124,0,16,16,32,19,1,3,99,198,247,239, - 255,254,127,252,60,62,120,30,112,14,112,14,112,14,112,14, - 120,30,60,60,127,254,255,255,247,239,99,198,19,24,72,19, - 0,0,255,31,224,255,31,224,124,7,128,62,7,0,62,7, - 0,31,6,0,31,14,0,15,140,0,15,140,0,7,216,0, - 7,216,0,3,240,0,31,254,0,31,254,0,1,224,0,1, - 224,0,31,254,0,31,254,0,1,224,0,1,224,0,1,224, - 0,1,224,0,15,252,0,15,252,0,4,25,25,20,8,0, - 240,240,240,240,240,240,240,240,240,240,0,0,0,0,0,240, - 240,240,240,240,240,240,240,240,240,12,29,58,16,2,253,31, - 0,115,128,99,192,227,192,227,192,241,128,120,0,124,0,62, - 0,30,0,63,0,111,128,199,192,227,224,225,224,240,240,120, - 112,124,112,62,96,31,192,15,128,7,192,3,224,97,224,240, - 224,240,224,240,224,121,192,63,0,11,5,10,11,0,18,96, - 192,241,224,241,224,241,224,96,192,24,25,75,25,1,0,0, - 255,0,3,255,192,7,129,224,30,0,112,24,0,24,48,0, - 12,112,127,14,96,243,134,97,193,134,227,193,135,195,128,131, - 195,128,3,195,128,3,195,128,3,195,128,3,195,128,7,193, - 192,134,225,225,134,96,255,12,112,60,28,56,0,56,28,0, - 112,15,129,192,3,255,128,0,254,0,11,15,30,12,0,10, - 63,0,227,192,241,192,227,192,15,192,113,192,225,192,227,192, - 247,224,253,224,0,0,0,0,0,0,255,224,255,224,12,11, - 22,16,2,3,4,16,12,48,24,96,56,224,113,192,243,192, - 113,192,56,224,24,96,12,48,4,16,16,10,20,20,2,3, - 255,255,255,255,255,255,255,255,0,15,0,15,0,15,0,15, - 0,15,0,15,8,4,4,11,1,6,255,255,255,255,23,25, - 75,24,0,0,0,254,0,3,255,128,7,1,224,12,0,112, - 24,0,56,48,0,24,97,254,12,96,231,12,192,227,142,192, - 227,134,192,227,134,192,231,6,192,252,6,192,238,6,192,231, - 6,192,231,6,192,227,134,96,227,140,99,241,204,48,0,24, - 24,0,24,28,0,112,7,0,224,3,255,128,0,252,0,11, - 3,6,11,0,18,255,224,255,224,255,224,9,10,20,13,2, - 13,62,0,127,0,99,0,193,128,193,128,193,128,193,128,99, - 0,127,0,62,0,16,17,34,20,2,0,3,192,3,192,3, - 192,3,192,255,255,255,255,255,255,255,255,3,192,3,192,3, - 192,3,192,0,0,255,255,255,255,255,255,255,255,10,14,28, - 11,0,9,63,0,99,128,193,192,241,192,241,192,113,192,3, - 128,7,0,14,0,24,64,48,64,127,192,255,192,255,192,11, - 14,28,11,0,9,63,0,115,192,113,192,33,192,1,192,3, - 128,31,0,3,192,1,224,113,224,241,224,225,224,99,192,63, - 0,7,6,6,11,2,17,12,30,62,124,240,192,20,23,69, - 22,1,249,254,63,192,254,63,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,15,192,62,15,192,63,31,192,63,255,192,63,247,240, - 55,199,240,48,0,0,48,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,48,0,0,21,25,75,25,1,0,15,255, - 248,63,255,248,127,227,192,127,227,192,255,227,192,255,227,192, - 255,227,192,255,227,192,127,227,192,127,227,192,63,227,192,31, - 227,192,7,227,192,1,227,192,1,227,192,1,227,192,1,227, - 192,1,227,192,1,227,192,1,227,192,1,227,192,1,227,192, - 1,227,192,15,255,248,15,255,248,6,6,6,9,1,5,120, - 252,252,252,252,120,7,7,7,11,1,249,24,48,124,14,14, - 220,120,9,14,28,11,1,9,12,0,252,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,11,15,30,12,0,10,14,0,63,128,113,192, - 241,224,224,224,224,224,224,224,241,224,113,192,63,128,14,0, - 0,0,0,0,127,224,127,224,12,11,22,16,2,3,130,0, - 195,0,97,128,113,192,56,224,60,240,56,224,113,192,97,128, - 195,0,130,0,25,23,92,28,1,0,12,0,56,0,252,0, - 48,0,28,0,112,0,28,0,224,0,28,0,192,0,28,1, - 192,0,28,1,128,0,28,3,128,0,28,7,0,0,28,7, - 2,0,28,14,6,0,28,12,14,0,28,28,30,0,255,184, - 62,0,0,56,110,0,0,112,206,0,0,97,142,0,0,227, - 14,0,0,195,255,128,1,192,14,0,3,128,14,0,3,0, - 14,0,7,0,63,128,25,23,92,28,1,0,12,0,56,0, - 252,0,112,0,28,0,112,0,28,0,224,0,28,0,192,0, - 28,1,192,0,28,1,128,0,28,3,128,0,28,7,0,0, - 28,6,126,0,28,14,199,0,28,13,135,128,28,29,227,128, - 255,185,231,128,0,56,231,128,0,112,15,0,0,96,14,0, - 0,224,28,0,1,192,48,128,1,192,96,128,3,128,255,128, - 3,1,255,128,7,1,255,128,26,23,92,28,0,0,63,0, - 28,0,115,192,56,0,113,192,56,0,33,192,112,0,1,192, - 96,0,3,128,224,0,31,0,192,0,3,193,192,0,1,227, - 128,0,113,227,129,0,241,231,3,0,225,230,7,0,99,206, - 15,0,63,28,31,0,0,28,55,0,0,56,103,0,0,48, - 199,0,0,113,135,0,0,97,255,192,0,224,7,0,1,192, - 7,0,1,192,7,0,3,128,31,192,15,25,50,16,1,249, - 3,192,7,224,7,224,7,224,7,224,3,192,0,0,0,0, - 1,128,1,128,1,128,3,128,7,0,31,0,62,0,126,0, - 124,0,252,124,252,124,252,126,252,124,124,60,126,60,63,240, - 15,192,25,31,124,25,0,0,0,48,0,0,0,120,0,0, - 0,124,0,0,0,62,0,0,0,15,0,0,0,3,0,0, - 0,0,0,0,0,28,0,0,0,30,0,0,0,62,0,0, - 0,63,0,0,0,127,0,0,0,127,128,0,0,127,128,0, - 0,255,128,0,0,207,192,0,1,207,192,0,1,143,192,0, - 1,135,224,0,3,135,224,0,3,7,240,0,7,3,240,0, - 7,255,240,0,7,255,248,0,14,1,248,0,12,1,252,0, - 28,0,252,0,28,0,254,0,62,0,254,0,255,131,255,128, - 255,131,255,128,25,32,128,25,0,0,0,1,128,0,0,3, - 192,0,0,7,192,0,0,15,128,0,0,30,0,0,0,24, - 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, - 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, - 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, - 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, - 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, - 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, - 254,0,255,131,255,128,255,131,255,128,25,31,124,25,0,0, - 0,28,0,0,0,62,0,0,0,127,0,0,0,227,128,0, - 1,128,192,0,0,0,0,0,0,28,0,0,0,28,0,0, - 0,30,0,0,0,62,0,0,0,63,0,0,0,127,0,0, - 0,127,128,0,0,127,128,0,0,255,128,0,0,207,192,0, - 1,207,192,0,1,143,192,0,1,135,224,0,3,135,224,0, - 3,7,240,0,7,3,240,0,7,255,240,0,7,255,248,0, - 14,1,248,0,12,1,252,0,28,0,252,0,28,0,254,0, - 62,0,254,0,255,131,255,128,255,131,255,128,25,31,124,25, - 0,0,0,56,96,0,0,127,224,0,0,255,192,0,0,195, - 128,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28, - 0,0,0,30,0,0,0,62,0,0,0,63,0,0,0,127, - 0,0,0,127,128,0,0,127,128,0,0,255,128,0,0,207, - 192,0,1,207,192,0,1,143,192,0,1,135,224,0,3,135, - 224,0,3,7,240,0,7,3,240,0,7,255,240,0,7,255, - 248,0,14,1,248,0,12,1,252,0,28,0,252,0,28,0, - 254,0,62,0,254,0,255,131,255,128,255,131,255,128,25,31, - 124,25,0,0,0,193,128,0,1,227,192,0,1,227,192,0, - 1,227,192,0,0,193,128,0,0,0,0,0,0,28,0,0, - 0,28,0,0,0,30,0,0,0,62,0,0,0,63,0,0, - 0,127,0,0,0,127,128,0,0,127,128,0,0,255,128,0, - 0,207,192,0,1,207,192,0,1,143,192,0,1,135,224,0, - 3,135,224,0,3,7,240,0,7,3,240,0,7,255,240,0, - 7,255,248,0,14,1,248,0,12,1,252,0,28,0,252,0, - 28,0,254,0,62,0,254,0,255,131,255,128,255,131,255,128, - 25,33,132,25,0,0,0,62,0,0,0,119,0,0,0,99, - 0,0,0,99,0,0,0,119,0,0,0,62,0,0,0,0, - 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, - 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, - 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, - 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, - 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, - 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, - 254,0,255,131,255,128,255,131,255,128,31,25,100,33,255,0, - 1,255,255,254,1,255,255,254,0,123,240,126,0,59,240,62, - 0,51,240,30,0,51,240,14,0,115,240,6,0,99,240,198, - 0,227,240,198,0,195,241,194,1,195,241,192,1,131,243,192, - 3,131,255,192,3,3,255,192,7,255,243,192,7,255,241,192, - 14,3,240,198,14,3,240,198,12,3,240,198,28,3,240,14, - 24,3,240,14,56,3,240,30,124,3,240,126,255,31,255,254, - 255,31,255,254,22,32,96,24,1,249,0,126,24,3,255,184, - 7,193,248,31,128,248,31,0,120,62,0,56,126,0,56,126, - 0,24,254,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,254,0,0,254,0,12,254,0,28, - 126,0,24,126,0,56,63,0,48,31,128,112,15,193,224,7, - 255,192,0,255,0,0,48,0,0,96,0,0,248,0,0,28, - 0,0,28,0,1,184,0,0,240,0,21,32,96,23,1,0, - 0,192,0,1,224,0,1,240,0,0,248,0,0,60,0,0, - 12,0,0,0,0,255,255,248,255,255,248,31,129,248,31,128, - 248,31,128,120,31,128,56,31,128,56,31,134,24,31,134,24, - 31,142,0,31,142,0,31,158,0,31,254,0,31,254,0,31, - 158,0,31,142,0,31,134,24,31,134,24,31,134,24,31,128, - 56,31,128,56,31,128,120,31,129,248,255,255,248,255,255,248, - 21,32,96,23,1,0,0,3,0,0,7,128,0,15,128,0, - 31,0,0,60,0,0,48,0,0,0,0,255,255,248,255,255, - 248,31,129,248,31,128,248,31,128,120,31,128,56,31,128,56, - 31,134,24,31,134,24,31,142,0,31,142,0,31,158,0,31, - 254,0,31,254,0,31,158,0,31,142,0,31,134,24,31,134, - 24,31,134,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,21,32,96,23,1,0,0,56,0,0, - 124,0,0,254,0,1,199,0,3,1,128,0,0,0,0,0, - 0,255,255,248,255,255,248,31,129,248,31,128,248,31,128,120, - 31,128,56,31,128,56,31,134,24,31,134,24,31,142,0,31, - 142,0,31,158,0,31,254,0,31,254,0,31,158,0,31,142, - 0,31,134,24,31,134,24,31,134,24,31,128,56,31,128,56, - 31,128,120,31,129,248,255,255,248,255,255,248,21,32,96,23, - 1,0,1,131,0,3,199,128,3,199,128,3,199,128,1,131, - 0,0,0,0,0,0,0,255,255,248,255,255,248,31,129,248, - 31,128,248,31,128,120,31,128,56,31,128,56,31,134,24,31, - 134,24,31,142,0,31,142,0,31,158,0,31,254,0,31,254, - 0,31,158,0,31,142,0,31,134,24,31,134,24,31,134,24, - 31,128,56,31,128,56,31,128,120,31,129,248,255,255,248,255, - 255,248,12,33,66,14,1,0,48,0,120,0,124,0,62,0, - 15,0,3,0,0,0,0,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,12,33,66,14,1,0, - 0,192,1,224,3,224,7,192,15,0,12,0,0,0,0,0, - 255,240,255,240,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,255,240, - 255,240,12,32,64,14,1,0,7,0,15,128,31,192,56,224, - 96,48,0,0,0,0,255,240,255,240,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,240,255,240,12,32,64,14,1,0,48,96, - 120,240,120,240,120,240,48,96,0,0,0,0,255,240,255,240, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,255,240,255,240,24,25, - 75,26,1,0,255,255,0,255,255,224,31,131,240,31,129,248, - 31,128,252,31,128,124,31,128,126,31,128,126,31,128,127,31, - 128,63,31,128,63,31,128,63,255,248,63,255,248,63,31,128, - 63,31,128,63,31,128,63,31,128,127,31,128,126,31,128,126, - 31,128,252,31,128,248,31,131,240,255,255,224,255,255,0,27, - 31,124,27,0,0,0,56,96,0,0,127,224,0,0,255,192, - 0,0,195,128,0,0,0,0,0,0,0,0,0,255,128,127, - 224,255,192,127,224,63,224,15,0,15,224,6,0,15,240,6, - 0,15,248,6,0,15,252,6,0,13,254,6,0,12,254,6, - 0,12,255,6,0,12,127,134,0,12,63,198,0,12,31,230, - 0,12,15,230,0,12,15,246,0,12,7,254,0,12,3,254, - 0,12,1,254,0,12,0,254,0,12,0,126,0,12,0,126, - 0,12,0,62,0,30,0,30,0,255,192,14,0,255,192,6, - 0,24,32,96,26,1,0,1,128,0,3,192,0,3,224,0, - 1,240,0,0,120,0,0,24,0,0,0,0,0,126,0,3, - 255,192,15,193,240,31,128,248,63,0,252,62,0,124,126,0, - 126,126,0,126,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,126, - 0,126,126,0,126,62,0,124,63,0,252,31,128,248,15,193, - 240,3,255,192,0,126,0,24,32,96,26,1,0,0,0,192, - 0,1,224,0,3,224,0,7,192,0,15,0,0,12,0,0, - 0,0,0,126,0,3,255,192,15,193,240,31,128,248,63,0, - 252,62,0,124,126,0,126,126,0,126,252,0,63,252,0,63, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,126,0,126,126,0,126,62,0,124,63,0, - 252,31,128,248,15,193,240,3,255,192,0,126,0,24,32,96, - 26,1,0,0,28,0,0,62,0,0,127,0,0,227,128,1, - 128,192,0,0,0,0,0,0,0,126,0,3,255,192,15,193, - 240,31,128,248,63,0,252,62,0,124,126,0,126,126,0,126, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,126,0,126,126,0, - 126,62,0,124,63,0,252,31,128,248,15,193,240,3,255,192, - 0,126,0,24,31,93,26,1,0,0,112,192,0,255,192,1, - 255,128,1,135,0,0,0,0,0,0,0,0,126,0,3,255, - 192,15,193,240,31,128,248,63,0,252,62,0,124,126,0,126, - 126,0,126,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,252,0,63,126,0, - 126,126,0,126,62,0,124,63,0,252,31,128,248,15,193,240, - 3,255,192,0,126,0,24,32,96,26,1,0,0,193,128,1, - 227,192,1,227,192,1,227,192,0,193,128,0,0,0,0,0, - 0,0,126,0,3,255,192,15,193,240,31,128,248,63,0,252, - 62,0,124,126,0,126,126,0,126,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,252,0,63,252,0, - 63,252,0,63,126,0,126,126,0,126,62,0,124,63,0,252, - 31,128,248,15,193,240,3,255,192,0,126,0,16,17,34,20, - 2,0,32,4,112,14,248,31,252,63,126,126,63,252,31,248, - 15,240,7,224,15,240,31,248,63,252,126,126,252,63,248,31, - 112,14,32,4,24,27,81,26,1,255,0,0,12,0,126,24, - 3,255,248,7,195,240,31,128,248,31,0,248,62,0,252,126, - 1,254,126,3,126,254,7,127,252,6,63,252,12,63,252,28, - 63,252,24,63,252,48,63,252,96,63,252,224,63,254,192,127, - 127,128,126,127,128,126,63,0,124,31,0,248,31,128,248,15, - 193,224,27,255,192,48,126,0,48,0,0,26,32,128,28,1, - 0,0,48,0,0,0,120,0,0,0,124,0,0,0,62,0, - 0,0,15,0,0,0,3,0,0,0,0,0,0,255,240,255, - 192,255,240,255,192,31,128,30,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,28,0,15,192,24, - 0,15,224,56,0,7,248,240,0,3,255,224,0,0,255,192, - 0,26,32,128,28,1,0,0,0,96,0,0,0,240,0,0, - 1,240,0,0,3,224,0,0,7,128,0,0,6,0,0,0, - 0,0,0,255,240,255,192,255,240,255,192,31,128,30,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,28,0,15,192,24,0,15,224,56,0,7,248,240,0,3, - 255,224,0,0,255,192,0,26,32,128,28,1,0,0,14,0, - 0,0,31,0,0,0,63,128,0,0,113,192,0,0,192,96, - 0,0,0,0,0,0,0,0,0,255,240,255,192,255,240,255, - 192,31,128,30,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,28,0,15,192,24,0,15,224,56, - 0,7,248,240,0,3,255,224,0,0,255,192,0,26,32,128, - 28,1,0,0,48,96,0,0,120,240,0,0,120,240,0,0, - 120,240,0,0,48,96,0,0,0,0,0,0,0,0,0,255, - 240,255,192,255,240,255,192,31,128,30,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,28,0,15, - 192,24,0,15,224,56,0,7,248,240,0,3,255,224,0,0, - 255,192,0,24,33,99,24,0,0,0,0,96,0,0,240,0, - 1,240,0,3,224,0,7,128,0,6,0,0,0,0,0,0, - 0,255,241,255,255,241,255,63,128,124,31,192,56,31,192,112, - 15,224,112,15,224,224,7,240,192,3,241,192,3,249,128,1, - 251,128,1,255,0,0,255,0,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,3,255,192,3,255,192,22,25,75,24, - 1,0,255,240,0,255,240,0,31,128,0,31,128,0,31,128, - 0,31,255,128,31,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,240,0,255,240,0,18,25,75, - 20,0,0,3,252,0,7,190,0,15,15,0,15,15,0,31, - 15,128,31,15,128,31,15,128,31,15,0,31,15,0,31,14, - 0,31,28,0,31,126,0,31,15,128,31,15,128,31,7,192, - 31,7,192,31,7,192,31,7,192,31,7,192,31,7,192,31, - 7,128,31,7,128,31,79,0,255,254,0,255,120,0,18,23, - 69,20,1,0,3,0,0,7,128,0,7,192,0,3,224,0, - 0,240,0,0,48,0,0,0,0,15,240,0,63,252,0,120, - 62,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,18,23,69,20,1,0,0, - 96,0,0,240,0,1,240,0,3,224,0,7,128,0,6,0, - 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, - 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, - 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, - 192,63,143,128,18,22,66,20,1,0,1,192,0,3,224,0, - 7,240,0,14,56,0,24,12,0,0,0,0,15,240,0,63, - 252,0,120,62,0,124,62,0,124,62,0,56,62,0,0,62, - 0,3,254,0,31,190,0,126,62,0,124,62,0,252,62,0, - 252,62,0,252,127,64,127,255,192,63,143,128,18,22,66,20, - 1,0,7,12,0,15,252,0,31,248,0,24,112,0,0,0, - 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, - 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, - 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, - 192,63,143,128,18,23,69,20,1,0,12,24,0,30,60,0, - 30,60,0,30,60,0,12,24,0,0,0,0,0,0,0,15, - 240,0,63,252,0,120,62,0,124,62,0,124,62,0,56,62, - 0,0,62,0,3,254,0,31,190,0,126,62,0,124,62,0, - 252,62,0,252,62,0,252,127,64,127,255,192,63,143,128,18, - 23,69,20,1,0,3,224,0,7,112,0,6,48,0,6,48, - 0,7,112,0,3,224,0,0,0,0,15,240,0,63,252,0, - 120,62,0,124,62,0,124,62,0,56,62,0,0,62,0,3, - 254,0,31,190,0,126,62,0,124,62,0,252,62,0,252,62, - 0,252,127,64,127,255,192,63,143,128,26,16,64,28,1,0, - 7,224,248,0,30,123,222,0,56,63,15,0,124,63,15,128, - 124,62,7,128,120,62,7,192,49,254,7,192,15,255,255,192, - 63,255,255,192,126,62,0,0,252,62,0,0,248,63,0,192, - 248,127,1,128,252,239,131,128,127,199,255,0,63,1,252,0, - 15,23,46,17,1,249,3,240,14,60,62,62,124,62,124,62, - 248,28,248,0,248,0,248,0,248,0,252,2,252,6,126,6, - 63,28,31,248,7,240,1,128,3,0,7,192,0,224,0,224, - 13,192,7,128,16,23,46,18,1,0,6,0,15,0,15,128, - 7,192,1,224,0,96,0,0,3,224,14,120,60,60,124,30, - 124,30,248,31,248,31,255,255,255,255,248,0,248,0,252,3, - 124,6,63,14,31,252,7,240,16,23,46,18,1,0,0,48, - 0,120,0,248,1,240,3,192,3,0,0,0,3,224,14,120, - 60,60,124,30,124,30,248,31,248,31,255,255,255,255,248,0, - 248,0,252,3,124,6,63,14,31,252,7,240,16,22,44,18, - 1,0,1,192,3,224,7,240,14,56,24,12,0,0,3,224, - 14,120,60,60,124,30,124,30,248,31,248,31,255,255,255,255, - 248,0,248,0,252,3,124,6,63,14,31,252,7,240,16,23, - 46,18,1,0,12,24,30,60,30,60,30,60,12,24,0,0, - 0,0,3,224,14,120,60,60,124,30,124,30,248,31,248,31, - 255,255,255,255,248,0,248,0,252,3,124,6,63,14,31,252, - 7,240,9,23,46,11,1,0,96,0,240,0,248,0,124,0, - 30,0,6,0,0,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,128,255,128,9,23,46,11,1,0,6,0,15,0, - 31,0,62,0,120,0,96,0,0,0,254,0,254,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,255,128,255,128,11,22,44,11,255,0, - 14,0,31,0,63,128,113,192,192,96,0,0,63,128,63,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,63,224,63,224,11,23,46,11, - 0,0,96,192,241,224,241,224,241,224,96,192,0,0,0,0, - 127,0,127,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,127,192,127,192, - 17,26,78,20,1,0,0,4,0,14,14,0,15,156,0,3, - 248,0,1,240,0,3,248,0,7,120,0,14,60,0,4,62, - 0,0,30,0,3,255,0,15,63,0,60,31,0,124,31,128, - 120,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,124,31,0,124,31,0,62,62,0,15,248, - 0,3,224,0,20,22,66,22,1,0,3,134,0,7,254,0, - 15,252,0,12,56,0,0,0,0,0,0,0,254,62,0,254, - 255,128,63,255,128,63,143,192,63,7,192,63,7,192,62,7, - 192,62,7,192,62,7,192,62,7,192,62,7,192,62,7,192, - 62,7,192,62,7,192,255,159,240,255,159,240,17,23,69,19, - 1,0,6,0,0,15,0,0,15,128,0,7,192,0,1,224, - 0,0,96,0,0,0,0,3,224,0,15,248,0,62,62,0, - 124,31,0,124,31,0,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,124,31,0,124,31,0,62,62, - 0,15,248,0,3,224,0,17,23,69,19,1,0,0,24,0, - 0,60,0,0,124,0,0,248,0,1,224,0,1,128,0,0, - 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, - 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, - 224,0,17,22,66,19,1,0,1,192,0,3,224,0,7,240, - 0,14,56,0,24,12,0,0,0,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,17,22,66,19,1,0, - 3,134,0,7,254,0,15,252,0,12,56,0,0,0,0,0, - 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, - 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, - 224,0,17,23,69,19,1,0,12,24,0,30,60,0,30,60, - 0,30,60,0,12,24,0,0,0,0,0,0,0,3,224,0, - 15,248,0,62,62,0,124,31,0,124,31,0,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 0,124,31,0,62,62,0,15,248,0,3,224,0,17,17,51, - 20,2,0,1,192,0,3,224,0,3,224,0,3,224,0,1, - 192,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,0,0,0,0,0,0,1,192,0,3,224,0,3,224,0, - 3,224,0,1,192,0,17,22,66,19,1,253,0,2,0,0, - 6,0,0,12,0,3,236,0,15,248,0,62,62,0,124,63, - 0,124,111,0,248,79,128,248,207,128,248,143,128,249,143,128, - 251,15,128,250,15,128,126,31,0,124,31,0,62,62,0,31, - 248,0,27,224,0,48,0,0,48,0,0,32,0,0,20,23, - 69,22,1,0,3,0,0,7,128,0,7,192,0,3,224,0, - 0,240,0,0,48,0,0,0,0,254,31,192,254,31,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,7,192,62,15,192,62,15,192,63,31,192, - 31,255,192,31,247,240,7,199,240,20,23,69,22,1,0,0, - 24,0,0,60,0,0,124,0,0,248,0,1,224,0,1,128, - 0,0,0,0,254,31,192,254,31,192,62,7,192,62,7,192, - 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,15,192,62,15,192,63,31,192,31,255,192,31,247, - 240,7,199,240,20,22,66,22,1,0,0,224,0,1,240,0, - 3,248,0,7,28,0,12,6,0,0,0,0,254,31,192,254, - 31,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,7,192,62,7,192,62,15,192,62,15,192, - 63,31,192,31,255,192,31,247,240,7,199,240,20,23,69,22, - 1,0,6,12,0,15,30,0,15,30,0,15,30,0,6,12, - 0,0,0,0,0,0,0,254,31,192,254,31,192,62,7,192, - 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,15,192,62,15,192,63,31,192,31,255, - 192,31,247,240,7,199,240,19,30,90,19,0,249,0,12,0, - 0,30,0,0,62,0,0,124,0,0,240,0,0,192,0,0, - 0,0,255,143,224,255,143,224,63,3,128,63,3,128,31,3, - 0,31,135,0,15,134,0,15,198,0,7,204,0,7,236,0, - 3,248,0,3,248,0,1,248,0,1,240,0,0,240,0,0, - 224,0,0,96,0,112,192,0,248,192,0,249,128,0,255,0, - 0,127,0,0,60,0,0,20,29,87,22,0,249,255,0,0, - 255,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 63,0,31,127,192,31,199,224,31,131,224,31,131,240,31,3, - 240,31,3,240,31,1,240,31,1,240,31,1,240,31,3,240, - 31,131,224,31,131,224,31,199,192,31,255,128,31,63,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,127,224, - 0,127,224,0,19,30,90,19,0,249,3,6,0,7,143,0, - 7,143,0,7,143,0,3,6,0,0,0,0,0,0,0,255, - 143,224,255,143,224,63,3,128,63,3,128,31,3,0,31,135, - 0,15,134,0,15,198,0,7,204,0,7,236,0,3,248,0, - 3,248,0,1,248,0,1,240,0,0,240,0,0,224,0,0, - 96,0,112,192,0,248,192,0,249,128,0,255,0,0,127,0, - 0,60,0,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=25 x= 3 y=10 dx=20 dy= 0 ascent=25 len=72 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =25 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24n[868] U8G_FONT_SECTION("u8g_font_ncenB24n") = { - 0,39,53,252,243,24,0,0,0,0,42,58,0,25,251,24, - 0,12,15,30,17,2,10,6,0,14,0,14,0,230,112,230, - 112,246,240,63,192,15,0,127,224,246,240,230,112,230,112,7, - 0,7,0,6,0,16,16,32,20,2,1,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,6,11,11,9,2, - 251,120,248,252,252,252,124,28,24,48,112,224,8,4,4,11, - 1,6,255,255,255,255,6,6,6,9,1,0,120,252,252,252, - 252,120,10,25,50,9,255,0,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,7,0,6,0,14,0,14,0, - 12,0,28,0,28,0,24,0,56,0,56,0,48,0,112,0, - 112,0,96,0,224,0,224,0,192,0,16,24,48,19,1,0, - 3,192,15,240,30,120,60,60,124,62,120,30,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,120,30,120,30,124,62,60,60,30,120,15,240,3,192, - 13,24,48,19,3,0,1,128,7,128,255,128,255,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,255,248,255,248,17,24,72,19,1,0,15,240,0,63, - 252,0,120,126,0,240,63,0,248,31,0,252,31,0,252,31, - 0,252,31,0,124,63,0,56,62,0,0,124,0,0,248,0, - 0,240,0,1,224,0,3,192,0,3,129,128,7,1,128,14, - 1,128,28,3,128,63,255,128,127,255,0,127,255,0,255,255, - 0,255,255,0,16,24,48,19,1,0,15,224,63,248,120,124, - 248,62,252,62,252,62,252,62,120,62,0,124,0,112,7,224, - 7,192,0,248,0,126,0,62,0,63,120,31,252,31,252,31, - 252,63,248,62,120,126,63,248,7,224,17,24,72,19,0,0, - 0,4,0,0,12,0,0,28,0,0,60,0,0,124,0,0, - 252,0,1,252,0,1,252,0,3,124,0,6,124,0,12,124, - 0,28,124,0,56,124,0,112,124,0,224,124,0,192,124,0, - 255,255,128,255,255,128,0,124,0,0,124,0,0,124,0,0, - 124,0,3,255,128,3,255,128,16,24,48,19,1,0,31,255, - 63,254,63,254,63,252,63,240,48,0,48,0,48,0,48,0, - 55,224,63,248,56,124,48,62,32,62,0,31,0,31,56,31, - 124,31,252,31,252,62,120,62,112,252,63,240,15,192,17,24, - 72,19,1,0,3,240,0,15,252,0,31,30,0,62,62,0, - 60,62,0,124,62,0,120,28,0,248,0,0,248,0,0,248, - 0,0,249,248,0,255,254,0,255,127,0,252,31,0,248,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,124,31,0, - 124,31,0,62,62,0,31,252,0,7,240,0,16,24,48,19, - 2,0,255,255,255,254,255,254,255,252,255,252,192,24,192,24, - 192,56,128,112,0,112,0,240,0,224,1,224,1,224,3,224, - 3,192,7,192,7,192,15,192,15,192,15,192,15,192,15,192, - 7,128,17,24,72,19,1,0,7,240,0,15,252,0,60,62, - 0,56,31,0,120,15,0,120,15,0,120,15,0,124,15,0, - 126,30,0,127,252,0,63,240,0,31,252,0,15,254,0,63, - 255,0,120,127,0,248,31,128,240,15,128,240,15,128,240,15, - 0,240,15,0,248,30,0,124,60,0,63,240,0,7,192,0, - 17,24,72,19,1,0,3,192,0,31,248,0,62,124,0,124, - 62,0,252,31,0,248,31,0,248,15,128,248,15,128,248,15, - 128,252,31,128,252,63,128,127,111,128,63,207,128,31,143,128, - 0,15,128,0,15,128,112,15,0,248,31,0,252,31,0,248, - 30,0,248,62,0,112,252,0,63,240,0,15,192,0,6,16, - 16,9,2,0,120,252,252,252,252,120,0,0,0,0,120,252, - 252,252,252,120}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=32 h=32 x= 8 y=17 dx=32 dy= 0 ascent=26 len=124 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24r[5937] U8G_FONT_SECTION("u8g_font_ncenB24r") = { - 0,39,53,252,243,25,6,143,16,147,32,127,249,26,249,25, - 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, - 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, - 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, - 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, - 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, - 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, - 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, - 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, - 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, - 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, - 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, - 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, - 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, - 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, - 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, - 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, - 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, - 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, - 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, - 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, - 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, - 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, - 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, - 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, - 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, - 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, - 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, - 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, - 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, - 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, - 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, - 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, - 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, - 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, - 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, - 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, - 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, - 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, - 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, - 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, - 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, - 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, - 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, - 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, - 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, - 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, - 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, - 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, - 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, - 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, - 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, - 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, - 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, - 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, - 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, - 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, - 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, - 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, - 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, - 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, - 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, - 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, - 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, - 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, - 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, - 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, - 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, - 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, - 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, - 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, - 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, - 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, - 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, - 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, - 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, - 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, - 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, - 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, - 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, - 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, - 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, - 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, - 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, - 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, - 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, - 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, - 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, - 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, - 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, - 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, - 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, - 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, - 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, - 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, - 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, - 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, - 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, - 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, - 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, - 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, - 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, - 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, - 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, - 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, - 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, - 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, - 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, - 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, - 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, - 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, - 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, - 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, - 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, - 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, - 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, - 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, - 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, - 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, - 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, - 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, - 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, - 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, - 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, - 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, - 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, - 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, - 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, - 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, - 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, - 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, - 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, - 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, - 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, - 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, - 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, - 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, - 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, - 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, - 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, - 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, - 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, - 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, - 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, - 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, - 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, - 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, - 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, - 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, - 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, - 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, - 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, - 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, - 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, - 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, - 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, - 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, - 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, - 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, - 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, - 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, - 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, - 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, - 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, - 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, - 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, - 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, - 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, - 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, - 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, - 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, - 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, - 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, - 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, - 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, - 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, - 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, - 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, - 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, - 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, - 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, - 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, - 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, - 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, - 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, - 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, - 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, - 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, - 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, - 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, - 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, - 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, - 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, - 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, - 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, - 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, - 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, - 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, - 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, - 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, - 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, - 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, - 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, - 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, - 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, - 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, - 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, - 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, - 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, - 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, - 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, - 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, - 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, - 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, - 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, - 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, - 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, - 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, - 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, - 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, - 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, - 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, - 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, - 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, - 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, - 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, - 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, - 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, - 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, - 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, - 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, - 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, - 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, - 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, - 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, - 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, - 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, - 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, - 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, - 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, - 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, - 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, - 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, - 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, - 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, - 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, - 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, - 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, - 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, - 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, - 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, - 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, - 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, - 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, - 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, - 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, - 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, - 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, - 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, - 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, - 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, - 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, - 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, - 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, - 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, - 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, - 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, - 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, - 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, - 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, - 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, - 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, - 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, - 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, - 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, - 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, - 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, - 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, - 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, - 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, - 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, - 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, - 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, - 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, - 255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=16 - Font Bounding box w=14 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR08[2642] U8G_FONT_SECTION("u8g_font_ncenR08") = { - 0,14,18,254,252,8,1,180,3,120,32,255,254,11,254,8, - 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, - 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, - 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, - 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, - 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, - 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, - 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, - 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, - 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, - 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, - 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, - 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, - 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, - 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, - 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, - 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, - 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, - 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, - 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, - 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, - 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, - 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, - 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, - 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, - 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, - 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, - 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, - 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, - 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, - 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, - 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, - 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, - 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, - 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, - 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, - 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, - 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, - 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, - 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, - 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, - 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, - 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, - 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, - 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, - 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, - 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, - 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, - 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, - 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, - 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, - 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, - 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, - 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, - 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, - 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, - 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, - 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, - 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, - 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, - 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, - 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, - 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, - 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, - 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, - 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, - 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, - 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, - 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, - 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, - 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, - 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, - 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, - 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, - 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, - 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, - 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, - 152,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,3,0,1,1,8,8,4,1,254,128,128, - 0,128,128,128,128,128,5,7,7,6,0,255,16,120,168,160, - 200,112,64,6,8,8,7,0,0,56,72,64,248,32,32,68, - 248,6,6,6,7,0,1,132,120,72,72,120,132,7,8,8, - 8,0,0,198,68,40,108,16,124,16,56,1,8,8,6,2, - 0,128,128,128,0,0,128,128,128,4,10,10,5,0,254,112, - 144,128,96,144,144,96,16,144,224,3,1,1,4,0,6,160, - 9,8,16,10,0,0,62,0,65,0,156,128,164,128,160,128, - 156,128,65,0,62,0,4,6,6,5,0,2,224,32,96,176, - 0,240,5,3,3,6,0,1,72,144,72,5,3,3,6,0, - 1,248,8,8,3,1,1,4,0,2,224,9,8,16,10,0, - 0,62,0,65,0,188,128,148,128,152,128,182,128,65,0,62, - 0,4,1,1,5,0,6,240,3,4,4,4,0,4,64,160, - 160,64,5,5,5,6,0,0,32,248,32,0,248,3,4,4, - 3,0,4,96,160,64,224,3,4,4,3,0,4,224,64,32, - 192,2,2,2,3,0,6,64,128,5,7,7,6,0,254,144, - 144,144,144,232,128,128,6,10,10,7,0,254,124,168,168,168, - 104,40,40,40,40,124,1,2,2,4,1,2,128,128,2,3, - 3,3,0,254,128,64,192,3,4,4,3,0,4,64,192,64, - 224,4,6,6,5,0,2,96,144,144,96,0,240,5,3,3, - 6,0,1,144,72,144,7,8,8,7,0,0,72,200,80,240, - 36,44,94,68,6,8,8,7,0,0,72,200,80,240,44,52, - 72,92,7,8,8,7,0,0,232,72,48,208,36,44,94,68, - 4,8,8,5,0,254,32,32,0,32,64,128,144,96,7,11, - 11,8,0,0,32,16,0,16,16,40,40,68,124,68,238,7, - 11,11,8,0,0,8,16,0,16,16,40,40,68,124,68,238, - 7,11,11,8,0,0,16,40,0,16,16,40,40,68,124,68, - 238,7,11,11,8,0,0,20,40,0,16,16,40,40,68,124, - 68,238,7,10,10,8,0,0,40,0,16,16,40,40,68,124, - 68,238,7,11,11,8,0,0,16,40,16,16,16,40,40,68, - 124,68,238,10,8,16,11,0,0,31,192,12,64,21,64,23, - 0,61,0,36,64,68,64,231,192,6,10,10,7,0,254,60, - 68,128,128,128,128,68,56,16,48,6,11,11,7,0,0,32, - 16,0,252,68,84,112,80,68,68,252,6,11,11,7,0,0, - 8,16,0,252,68,84,112,80,68,68,252,6,11,11,7,0, - 0,16,40,0,252,68,84,112,80,68,68,252,6,10,10,7, - 0,0,40,0,252,68,84,112,80,68,68,252,3,11,11,4, - 0,0,128,64,0,224,64,64,64,64,64,64,224,3,11,11, - 4,0,0,32,64,0,224,64,64,64,64,64,64,224,3,11, - 11,4,0,0,64,160,0,224,64,64,64,64,64,64,224,3, - 10,10,4,0,0,160,0,224,64,64,64,64,64,64,224,7, - 8,8,8,0,0,248,68,66,226,66,66,68,248,8,11,11, - 9,0,0,20,40,0,231,98,82,82,74,74,70,230,7,11, - 11,8,0,0,32,16,0,56,68,130,130,130,130,68,56,7, - 11,11,8,0,0,8,16,0,56,68,130,130,130,130,68,56, - 7,11,11,8,0,0,16,40,0,56,68,130,130,130,130,68, - 56,7,11,11,8,0,0,20,40,0,56,68,130,130,130,130, - 68,56,7,10,10,8,0,0,40,0,56,68,130,130,130,130, - 68,56,5,5,5,6,0,0,136,80,32,80,136,8,8,8, - 8,255,0,29,34,69,73,81,97,98,156,7,11,11,8,0, - 0,32,16,0,238,68,68,68,68,68,68,56,7,11,11,8, - 0,0,8,16,0,238,68,68,68,68,68,68,56,7,11,11, - 8,0,0,16,40,0,238,68,68,68,68,68,68,56,7,10, - 10,8,0,0,40,0,238,68,68,68,68,68,68,56,7,11, - 11,8,0,0,8,16,0,198,68,40,40,16,16,16,56,6, - 8,8,7,0,0,192,120,68,68,68,120,64,224,6,8,8, - 7,0,0,48,72,72,88,68,68,84,216,5,8,8,6,0, - 0,64,32,0,96,144,112,144,248,5,8,8,6,0,0,32, - 64,0,96,144,112,144,248,5,8,8,6,0,0,32,80,0, - 96,144,112,144,248,5,8,8,6,0,0,80,160,0,96,144, - 112,144,248,5,7,7,6,0,0,80,0,96,144,112,144,248, - 5,8,8,6,0,0,32,80,32,96,144,112,144,248,7,5, - 5,8,0,0,108,146,126,144,238,4,7,7,5,0,254,112, - 144,128,144,96,32,96,4,8,8,5,0,0,64,32,0,96, - 144,240,128,112,4,8,8,5,0,0,32,64,0,96,144,240, - 128,112,4,8,8,5,0,0,32,80,0,96,144,240,128,112, - 4,7,7,5,0,0,80,0,96,144,240,128,112,3,8,8, - 4,0,0,128,64,0,192,64,64,64,224,3,8,8,4,0, - 0,32,64,0,192,64,64,64,224,3,8,8,4,0,0,64, - 160,0,192,64,64,64,224,3,7,7,4,0,0,160,0,192, - 64,64,64,224,4,8,8,5,0,0,80,96,160,96,144,144, - 144,96,6,8,8,7,0,0,40,80,0,176,72,72,72,236, - 4,8,8,5,0,0,64,32,0,96,144,144,144,96,4,8, - 8,5,0,0,32,64,0,96,144,144,144,96,4,8,8,5, - 0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0, - 80,160,0,96,144,144,144,96,4,7,7,5,0,0,80,0, - 96,144,144,144,96,5,5,5,6,0,0,32,0,248,0,32, - 5,6,6,5,0,255,104,144,176,208,96,128,5,8,8,6, - 0,0,64,32,0,144,144,144,144,104,5,8,8,6,0,0, - 32,64,0,144,144,144,144,104,5,8,8,6,0,0,32,80, - 0,144,144,144,144,104,5,7,7,6,0,0,80,0,144,144, - 144,144,104,6,10,10,6,0,254,16,32,0,220,136,80,80, - 32,32,192,5,10,10,5,255,254,192,64,64,112,72,72,72, - 112,64,224,6,9,9,6,0,254,80,0,220,136,80,80,32, - 32,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=16 - Font Bounding box w=14 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR08r[1266] U8G_FONT_SECTION("u8g_font_ncenR08r") = { - 0,14,18,254,252,8,1,180,3,120,32,127,254,9,254,8, - 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, - 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, - 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, - 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, - 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, - 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, - 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, - 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, - 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, - 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, - 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, - 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, - 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, - 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, - 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, - 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, - 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, - 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, - 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, - 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, - 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, - 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, - 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, - 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, - 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, - 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, - 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, - 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, - 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, - 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, - 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, - 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, - 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, - 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, - 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, - 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, - 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, - 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, - 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, - 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, - 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, - 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, - 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, - 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, - 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, - 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, - 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, - 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, - 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, - 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, - 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, - 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, - 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, - 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, - 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, - 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, - 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, - 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, - 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, - 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, - 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, - 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, - 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, - 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, - 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, - 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, - 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, - 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, - 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, - 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, - 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, - 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, - 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, - 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, - 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, - 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, - 152,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=14 len=33 - Font Bounding box w=18 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR10[3813] U8G_FONT_SECTION("u8g_font_ncenR10") = { - 0,18,24,254,250,11,2,24,5,38,32,255,253,14,253,11, - 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, - 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, - 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, - 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, - 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, - 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, - 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, - 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, - 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, - 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, - 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, - 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, - 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, - 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, - 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, - 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, - 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, - 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, - 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, - 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, - 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, - 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, - 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, - 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, - 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, - 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, - 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, - 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, - 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, - 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, - 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, - 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, - 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, - 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, - 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, - 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, - 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, - 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, - 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, - 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, - 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, - 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, - 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, - 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, - 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, - 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, - 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, - 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, - 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, - 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, - 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, - 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, - 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, - 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, - 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, - 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, - 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, - 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, - 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, - 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, - 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, - 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, - 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, - 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, - 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, - 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, - 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, - 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, - 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, - 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, - 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, - 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, - 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, - 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, - 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, - 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, - 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, - 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, - 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, - 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, - 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, - 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, - 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, - 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, - 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, - 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, - 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, - 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, - 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, - 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, - 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, - 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, - 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, - 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, - 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, - 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, - 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, - 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, - 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, - 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, - 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, - 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, - 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, - 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, - 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, - 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, - 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, - 1,3,114,140,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,4,0,1,1,11,11,4,1, - 253,128,128,0,128,128,128,128,128,128,128,128,6,11,11,8, - 1,254,4,4,120,204,144,144,160,228,120,128,128,7,11,11, - 8,0,0,60,98,70,64,32,252,16,16,96,178,206,7,7, - 7,8,0,2,186,68,130,130,130,68,186,9,11,22,8,0, - 0,227,128,65,0,34,0,34,0,20,0,20,0,62,0,8, - 0,62,0,8,0,28,0,1,11,11,9,4,0,128,128,128, - 128,0,0,128,128,128,128,128,5,13,13,7,1,254,120,136, - 128,192,112,152,136,200,112,24,8,136,240,4,2,2,6,1, - 8,144,144,12,11,22,14,1,0,15,0,48,192,79,32,89, - 32,144,16,144,16,152,144,79,32,64,32,48,192,15,0,5, - 7,7,6,0,4,96,144,112,144,248,0,248,6,5,5,7, - 0,1,36,72,144,72,36,7,4,4,9,0,1,254,2,2, - 2,4,1,1,5,0,3,240,12,11,22,14,1,0,15,0, - 48,192,94,32,73,32,137,16,142,16,139,16,89,160,64,32, - 48,192,15,0,5,1,1,5,0,8,248,4,4,4,6,1, - 7,96,144,144,96,7,7,7,9,1,0,16,16,254,16,16, - 0,254,4,6,6,5,0,5,96,144,32,64,144,240,4,6, - 6,5,0,5,96,144,32,16,144,96,3,3,3,5,1,8, - 32,64,128,8,10,10,9,0,253,231,66,66,66,66,102,123, - 64,96,64,7,13,13,9,1,254,126,212,212,212,212,116,20, - 20,20,20,20,20,62,2,2,2,4,1,3,192,192,3,4, - 4,5,0,253,64,64,32,192,3,6,6,5,1,5,64,192, - 64,64,64,224,4,7,7,5,0,4,96,144,144,144,96,0, - 240,6,5,5,7,0,1,144,72,36,72,144,10,11,22,12, - 0,0,65,0,193,0,66,0,66,0,68,0,228,128,9,128, - 18,128,20,128,39,192,32,128,10,11,22,12,0,0,65,0, - 193,0,66,0,66,0,68,0,229,128,10,64,16,128,17,0, - 34,64,35,192,10,11,22,12,0,0,97,0,145,0,34,0, - 18,0,148,0,100,128,9,128,18,128,20,128,39,192,32,128, - 5,11,11,6,0,253,32,32,0,32,32,32,64,128,136,200, - 112,11,14,28,10,255,0,8,0,4,0,0,0,4,0,4, - 0,10,0,10,0,10,0,17,0,17,0,63,128,32,128,32, - 128,251,224,11,14,28,10,255,0,2,0,4,0,0,0,4, - 0,4,0,10,0,10,0,10,0,17,0,17,0,63,128,32, - 128,32,128,251,224,11,14,28,10,255,0,4,0,10,0,17, - 0,4,0,4,0,10,0,10,0,10,0,17,0,17,0,63, - 128,32,128,32,128,251,224,11,14,28,10,255,0,12,128,19, - 0,0,0,4,0,4,0,10,0,10,0,10,0,17,0,17, - 0,63,128,32,128,32,128,251,224,11,13,26,10,255,0,17, - 0,17,0,4,0,4,0,10,0,10,0,10,0,17,0,17, - 0,63,128,32,128,32,128,251,224,11,14,28,10,255,0,12, - 0,18,0,12,0,4,0,4,0,10,0,10,0,10,0,17, - 0,17,0,63,128,32,128,32,128,251,224,14,11,22,15,0, - 0,15,252,5,4,9,4,9,32,17,32,17,224,63,32,33, - 32,65,4,65,4,227,252,9,14,28,11,1,253,30,128,97, - 128,64,128,192,128,128,0,128,0,128,0,192,128,64,128,97, - 0,30,0,8,0,4,0,24,0,9,14,28,10,0,0,16, - 0,8,0,0,0,255,128,32,128,32,128,36,0,36,0,60, - 0,36,0,36,0,32,128,32,128,255,128,9,14,28,10,0, - 0,4,0,8,0,0,0,255,128,32,128,32,128,36,0,36, - 0,60,0,36,0,36,0,32,128,32,128,255,128,9,14,28, - 10,0,0,12,0,18,0,0,0,255,128,32,128,32,128,36, - 0,36,0,60,0,36,0,36,0,32,128,32,128,255,128,9, - 14,28,10,0,0,18,0,18,0,0,0,255,128,32,128,32, - 128,36,0,36,0,60,0,36,0,36,0,32,128,32,128,255, - 128,5,14,14,6,0,0,64,32,0,248,32,32,32,32,32, - 32,32,32,32,248,5,14,14,6,0,0,16,32,0,248,32, - 32,32,32,32,32,32,32,32,248,5,14,14,6,0,0,48, - 72,0,248,32,32,32,32,32,32,32,32,32,248,5,14,14, - 6,0,0,80,80,0,248,32,32,32,32,32,32,32,32,32, - 248,10,11,22,11,0,0,255,0,32,128,32,192,32,64,32, - 64,248,64,32,64,32,64,32,192,32,128,255,0,12,14,28, - 13,0,0,12,128,19,0,0,0,225,240,48,64,48,64,40, - 64,44,64,38,64,35,64,33,64,32,192,32,64,248,64,10, - 14,28,11,0,0,8,0,4,0,0,0,30,0,97,128,64, - 128,192,192,128,64,128,64,128,64,192,192,64,128,97,128,30, - 0,10,14,28,11,0,0,2,0,4,0,0,0,30,0,97, - 128,64,128,192,192,128,64,128,64,128,64,192,192,64,128,97, - 128,30,0,10,14,28,11,0,0,12,0,18,0,0,0,30, - 0,97,128,64,128,192,192,128,64,128,64,128,64,192,192,64, - 128,97,128,30,0,10,14,28,11,0,0,25,0,38,0,0, - 0,30,0,97,128,64,128,192,192,128,64,128,64,128,64,192, - 192,64,128,97,128,30,0,10,14,28,11,0,0,18,0,18, - 0,0,0,30,0,97,128,64,128,192,192,128,64,128,64,128, - 64,192,192,64,128,97,128,30,0,7,7,7,9,1,0,130, - 68,40,16,40,68,130,11,11,22,11,255,0,15,32,48,192, - 32,192,97,96,66,32,68,32,72,32,112,96,32,64,112,192, - 143,0,12,14,28,13,0,0,8,0,4,0,0,0,249,240, - 32,64,32,64,32,64,32,64,32,64,32,64,32,64,32,64, - 48,128,31,0,12,14,28,13,0,0,1,0,2,0,0,0, - 249,240,32,64,32,64,32,64,32,64,32,64,32,64,32,64, - 32,64,48,128,31,0,12,14,28,13,0,0,6,0,9,0, - 0,0,249,240,32,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,48,128,31,0,12,14,28,13,0,0,9,0, - 9,0,0,0,249,240,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,48,128,31,0,11,14,28,10,255,0, - 2,0,4,0,0,0,251,224,96,128,49,0,17,0,26,0, - 10,0,4,0,4,0,4,0,4,0,31,0,9,11,22,10, - 0,0,248,0,32,0,63,0,33,128,32,128,32,128,33,0, - 62,0,32,0,32,0,248,0,7,11,11,8,0,0,56,100, - 68,76,88,68,66,66,66,86,220,7,11,11,8,0,0,32, - 16,8,0,56,76,4,60,196,140,118,7,11,11,8,0,0, - 8,16,32,0,56,76,4,60,196,140,118,7,11,11,8,0, - 0,16,40,68,0,56,76,4,60,196,140,118,7,10,10,8, - 0,0,50,76,0,56,76,4,60,196,140,118,7,10,10,8, - 0,0,72,72,0,56,76,4,60,196,140,118,7,11,11,8, - 0,0,48,72,48,0,56,76,4,60,196,140,118,11,7,14, - 12,0,0,59,192,78,96,4,32,63,224,196,0,142,32,115, - 192,6,10,10,7,0,253,120,204,128,128,128,196,120,32,16, - 96,6,11,11,7,0,0,64,32,16,0,120,204,132,252,128, - 196,120,6,11,11,7,0,0,8,16,32,0,120,204,132,252, - 128,196,120,6,11,11,7,0,0,16,40,68,0,120,204,132, - 252,128,196,120,6,10,10,7,0,0,72,72,0,120,204,132, - 252,128,196,120,3,11,11,4,0,0,128,64,32,0,192,64, - 64,64,64,64,224,3,11,11,4,0,0,32,64,128,0,192, - 64,64,64,64,64,224,5,11,11,4,255,0,32,80,136,0, - 96,32,32,32,32,32,112,4,10,10,4,255,0,144,144,0, - 96,32,32,32,32,32,112,7,11,11,7,255,0,76,48,208, - 8,60,102,66,66,66,102,60,8,10,10,9,0,0,50,76, - 0,220,102,66,66,66,66,231,6,11,11,7,0,0,64,32, - 16,0,120,204,132,132,132,204,120,6,11,11,7,0,0,16, - 32,64,0,120,204,132,132,132,204,120,6,11,11,7,0,0, - 32,80,136,0,120,204,132,132,132,204,120,6,10,10,7,0, - 0,100,152,0,120,204,132,132,132,204,120,6,10,10,7,0, - 0,72,72,0,120,204,132,132,132,204,120,7,7,7,9,1, - 0,16,16,0,254,0,16,16,6,9,9,7,0,255,8,120, - 220,148,164,164,204,120,64,8,11,11,9,0,0,32,16,8, - 0,231,66,66,66,66,102,59,8,11,11,9,0,0,2,4, - 8,0,231,66,66,66,66,102,59,8,11,11,9,0,0,8, - 20,34,0,231,66,66,66,66,102,59,8,10,10,9,0,0, - 36,36,0,231,66,66,66,66,102,59,7,14,14,8,0,253, - 4,8,16,0,238,68,68,40,40,16,16,32,160,192,7,14, - 14,8,0,253,192,64,64,64,92,102,66,66,66,102,92,64, - 64,224,7,13,13,8,0,253,72,72,0,238,68,68,40,40, - 16,16,32,160,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=12 len=33 - Font Bounding box w=18 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR10r[1781] U8G_FONT_SECTION("u8g_font_ncenR10r") = { - 0,18,24,254,250,11,2,24,5,38,32,127,253,12,253,11, - 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, - 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, - 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, - 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, - 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, - 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, - 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, - 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, - 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, - 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, - 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, - 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, - 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, - 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, - 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, - 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, - 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, - 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, - 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, - 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, - 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, - 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, - 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, - 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, - 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, - 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, - 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, - 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, - 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, - 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, - 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, - 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, - 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, - 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, - 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, - 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, - 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, - 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, - 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, - 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, - 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, - 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, - 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, - 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, - 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, - 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, - 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, - 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, - 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, - 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, - 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, - 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, - 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, - 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, - 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, - 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, - 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, - 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, - 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, - 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, - 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, - 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, - 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, - 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, - 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, - 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, - 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, - 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, - 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, - 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, - 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, - 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, - 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, - 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, - 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, - 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, - 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, - 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, - 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, - 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, - 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, - 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, - 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, - 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, - 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, - 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, - 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, - 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, - 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, - 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, - 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, - 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, - 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, - 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, - 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, - 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, - 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, - 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, - 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, - 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, - 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, - 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, - 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, - 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, - 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, - 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, - 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, - 1,3,114,140,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=16 len=32 - Font Bounding box w=21 h=26 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =16 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR12[4247] U8G_FONT_SECTION("u8g_font_ncenR12") = { - 0,21,26,253,250,12,2,59,5,140,32,255,253,16,253,12, - 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, - 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, - 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, - 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, - 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, - 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, - 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, - 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, - 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, - 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, - 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, - 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, - 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, - 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, - 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, - 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, - 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, - 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, - 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, - 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, - 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, - 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, - 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, - 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, - 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, - 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, - 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, - 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, - 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, - 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, - 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, - 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, - 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, - 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, - 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, - 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, - 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, - 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, - 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, - 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, - 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, - 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, - 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, - 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, - 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, - 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, - 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, - 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, - 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, - 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, - 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, - 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, - 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, - 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, - 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, - 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, - 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, - 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, - 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, - 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, - 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, - 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, - 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, - 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, - 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, - 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, - 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, - 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, - 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, - 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, - 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, - 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, - 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, - 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, - 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, - 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, - 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, - 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, - 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, - 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, - 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, - 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, - 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, - 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, - 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, - 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, - 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, - 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, - 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, - 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, - 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, - 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, - 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, - 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, - 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, - 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, - 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, - 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, - 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, - 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, - 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, - 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, - 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, - 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, - 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, - 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, - 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, - 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, - 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, - 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, - 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, - 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, - 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, - 2,2,10,1,3,115,206,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,4,1,1,2,12, - 12,5,1,253,192,192,0,64,64,64,64,192,192,192,192,192, - 6,12,12,9,1,254,4,4,56,76,204,144,144,228,100,56, - 64,64,9,12,24,9,0,0,30,0,49,0,35,0,35,0, - 48,0,16,0,254,0,16,0,16,0,112,128,191,0,78,0, - 7,8,8,9,1,2,186,108,198,130,130,198,108,186,9,12, - 24,9,0,0,243,128,97,0,34,0,50,0,20,0,20,0, - 62,0,8,0,62,0,8,0,8,0,62,0,1,12,12,10, - 4,0,128,128,128,128,128,0,0,128,128,128,128,128,6,15, - 15,8,1,253,56,72,64,96,48,88,140,132,196,104,48,24, - 8,72,112,5,2,2,5,0,9,216,216,12,12,24,12,0, - 0,31,128,48,192,71,32,205,176,152,144,144,16,144,16,152, - 144,205,176,71,32,48,192,31,128,5,7,7,6,0,5,224, - 144,112,144,232,0,240,6,5,5,7,0,1,36,72,216,72, - 36,8,5,5,10,1,1,255,1,1,1,1,4,1,1,5, - 0,3,240,12,12,24,12,0,0,31,128,48,192,95,32,201, - 176,137,144,143,16,137,16,137,144,200,176,92,224,48,192,31, - 128,5,1,1,5,0,9,248,5,5,5,7,1,7,112,136, - 136,136,112,7,9,9,10,1,0,16,16,16,254,16,16,16, - 0,254,5,7,7,6,0,5,112,216,136,16,32,72,248,5, - 7,7,6,0,5,112,216,136,48,136,216,112,3,3,3,5, - 0,9,32,96,128,10,11,22,10,0,253,231,0,99,0,99, - 0,99,0,99,0,99,0,99,0,125,192,96,0,96,0,96, - 0,8,15,15,10,0,253,127,234,202,202,202,234,122,10,10, - 10,10,10,10,10,31,2,2,2,5,1,3,192,192,3,4, - 4,5,1,253,64,64,32,192,3,7,7,6,1,5,64,192, - 64,64,64,64,224,4,7,7,5,0,5,96,144,144,144,96, - 0,240,6,5,5,7,0,1,144,72,108,72,144,11,12,24, - 14,1,0,64,64,192,192,65,128,65,0,66,0,70,64,236, - 192,9,64,18,64,51,224,96,64,64,224,11,12,24,13,1, - 0,64,128,193,128,67,0,66,0,68,0,77,192,251,96,18, - 32,32,192,97,0,195,32,131,224,13,12,24,14,0,0,112, - 24,216,48,136,96,48,192,136,128,217,144,115,48,6,80,4, - 144,12,248,24,16,48,56,7,12,12,7,0,253,24,24,0, - 16,16,48,96,192,196,206,100,56,11,16,32,12,0,0,24, - 0,12,0,2,0,0,0,4,0,4,0,14,0,14,0,22, - 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, - 16,32,12,0,0,3,0,6,0,8,0,0,0,4,0,4, - 0,14,0,14,0,22,0,19,0,19,0,63,128,33,128,65, - 128,64,192,243,224,11,16,32,12,0,0,4,0,14,0,17, - 0,0,0,4,0,4,0,14,0,14,0,22,0,19,0,19, - 0,63,128,33,128,65,128,64,192,243,224,11,15,30,12,0, - 0,29,0,46,0,0,0,4,0,4,0,14,0,14,0,22, - 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, - 15,30,12,0,0,18,0,18,0,0,0,4,0,4,0,14, - 0,14,0,22,0,19,0,19,0,63,128,33,128,65,128,64, - 192,243,224,11,16,32,12,0,0,12,0,18,0,12,0,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,16,12,24,17,0,0,15, - 255,2,195,2,193,4,193,4,200,8,248,8,216,31,201,16, - 193,32,193,32,195,251,255,10,15,30,12,1,253,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,8,0,4,0,24,0,10,16,32,12,0, - 0,24,0,12,0,2,0,0,0,255,192,48,192,48,64,48, - 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, - 192,10,16,32,12,0,0,3,0,6,0,8,0,0,0,255, - 192,48,192,48,64,48,64,50,0,62,0,54,0,50,0,48, - 64,48,64,48,192,255,192,10,16,32,12,0,0,4,0,14, - 0,17,0,0,0,255,192,48,192,48,64,48,64,50,0,62, - 0,54,0,50,0,48,64,48,64,48,192,255,192,10,15,30, - 12,0,0,17,0,17,0,0,0,255,192,48,192,48,64,48, - 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, - 192,6,16,16,7,0,0,192,96,16,0,252,48,48,48,48, - 48,48,48,48,48,48,252,6,16,16,7,0,0,12,24,32, - 0,252,48,48,48,48,48,48,48,48,48,48,252,6,16,16, - 7,0,0,32,112,136,0,252,48,48,48,48,48,48,48,48, - 48,48,252,6,15,15,7,0,0,72,72,0,252,48,48,48, - 48,48,48,48,48,48,48,252,12,12,24,13,0,0,255,0, - 49,192,48,96,48,96,48,48,124,48,48,48,48,48,48,96, - 48,96,49,192,255,0,13,15,30,13,0,0,14,64,19,128, - 0,0,240,248,56,32,60,32,44,32,46,32,39,32,35,160, - 33,160,32,224,32,224,32,96,248,32,11,16,32,13,1,0, - 24,0,12,0,2,0,0,0,14,0,49,128,96,192,96,192, - 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, - 11,16,32,13,1,0,1,128,3,0,4,0,0,0,14,0, - 49,128,96,192,96,192,192,96,192,96,192,96,192,96,96,192, - 96,192,49,128,14,0,11,16,32,13,1,0,4,0,14,0, - 17,0,0,0,14,0,49,128,96,192,96,192,192,96,192,96, - 192,96,192,96,96,192,96,192,49,128,14,0,11,15,30,13, - 1,0,14,128,23,0,0,0,14,0,49,128,96,192,96,192, - 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, - 11,15,30,13,1,0,17,0,17,0,0,0,14,0,49,128, - 96,192,96,192,192,96,192,96,192,96,192,96,96,192,96,192, - 49,128,14,0,8,8,8,10,1,0,129,66,36,24,24,36, - 66,129,11,14,28,13,1,255,0,32,14,64,49,128,97,192, - 97,64,194,96,196,96,196,96,200,96,80,192,112,192,49,128, - 78,0,128,0,13,16,32,13,0,0,12,0,6,0,1,0, - 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,48,32,48,32,24,64,15,128,13,16,32,13,0,0, - 0,192,1,128,2,0,0,0,252,248,48,32,48,32,48,32, - 48,32,48,32,48,32,48,32,48,32,48,32,24,64,15,128, - 13,16,32,13,0,0,2,0,7,0,8,128,0,0,252,248, - 48,32,48,32,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,24,64,15,128,13,15,30,13,0,0,8,128,8,128, - 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,48,32,48,32,24,64,15,128,12,16,32,12,0,0, - 1,128,3,0,4,0,0,0,252,240,48,64,24,128,24,128, - 13,0,13,0,6,0,6,0,6,0,6,0,6,0,31,128, - 11,12,24,11,0,0,252,0,48,0,48,0,63,128,48,192, - 48,96,48,96,48,192,63,128,48,0,48,0,252,0,8,12, - 12,10,1,0,60,102,99,99,102,124,102,99,99,99,118,236, - 7,12,12,9,1,0,64,96,16,0,120,204,204,28,108,204, - 204,118,7,12,12,9,1,0,4,12,16,0,120,204,204,28, - 108,204,204,118,7,12,12,9,1,0,16,56,68,0,120,204, - 204,28,108,204,204,118,7,11,11,9,1,0,52,88,0,120, - 204,204,28,108,204,204,118,7,11,11,9,1,0,72,72,0, - 120,204,204,28,108,204,204,118,7,13,13,9,1,0,48,72, - 72,48,0,120,204,204,28,108,204,204,118,12,8,16,13,0, - 0,121,192,206,32,198,48,31,240,102,0,198,16,207,32,121, - 192,6,11,11,7,0,253,56,108,204,192,192,196,108,56,32, - 16,96,7,12,12,8,0,0,32,48,8,0,56,68,198,254, - 192,192,102,60,7,12,12,8,0,0,4,12,16,0,56,68, - 198,254,192,192,102,60,7,12,12,8,0,0,16,56,68,0, - 56,68,198,254,192,192,102,60,7,11,11,8,0,0,36,36, - 0,56,68,198,254,192,192,102,60,4,12,12,5,0,0,128, - 192,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, - 0,16,48,64,0,224,96,96,96,96,96,96,240,5,12,12, - 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,4, - 11,11,5,0,0,144,144,0,224,96,96,96,96,96,96,240, - 7,13,13,8,0,0,64,38,24,104,12,60,110,198,198,198, - 198,108,56,9,11,22,10,0,0,26,0,44,0,0,0,238, - 0,115,0,99,0,99,0,99,0,99,0,99,0,247,128,7, - 12,12,8,0,0,64,96,16,0,56,108,198,198,198,198,108, - 56,7,12,12,8,0,0,4,12,16,0,56,108,198,198,198, - 198,108,56,7,12,12,8,0,0,16,56,68,0,56,108,198, - 198,198,198,108,56,7,11,11,8,0,0,52,88,0,56,108, - 198,198,198,198,108,56,7,11,11,8,0,0,72,72,0,56, - 108,198,198,198,198,108,56,8,7,7,10,1,1,24,24,0, - 255,0,24,24,7,10,10,8,0,255,2,60,100,206,214,214, - 230,76,120,128,9,12,24,10,0,0,32,0,48,0,8,0, - 0,0,231,0,99,0,99,0,99,0,99,0,99,0,99,0, - 61,128,9,12,24,10,0,0,2,0,6,0,8,0,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,61,128, - 9,12,24,10,0,0,8,0,28,0,34,0,0,0,231,0, - 99,0,99,0,99,0,99,0,99,0,99,0,61,128,9,11, - 22,10,0,0,36,0,36,0,0,0,231,0,99,0,99,0, - 99,0,99,0,99,0,99,0,61,128,8,15,15,9,0,253, - 2,6,8,0,247,98,54,52,28,24,8,24,16,208,224,8, - 14,14,9,0,253,224,96,96,124,102,99,99,99,99,102,124, - 96,96,240,8,14,14,9,0,253,36,36,0,247,98,54,52, - 28,24,8,24,16,208,224}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=15 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=13 len=30 - Font Bounding box w=21 h=26 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =13 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR12r[1976] U8G_FONT_SECTION("u8g_font_ncenR12r") = { - 0,21,26,253,250,12,2,59,5,140,32,127,253,13,253,12, - 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, - 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, - 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, - 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, - 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, - 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, - 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, - 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, - 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, - 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, - 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, - 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, - 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, - 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, - 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, - 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, - 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, - 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, - 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, - 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, - 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, - 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, - 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, - 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, - 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, - 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, - 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, - 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, - 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, - 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, - 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, - 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, - 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, - 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, - 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, - 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, - 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, - 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, - 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, - 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, - 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, - 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, - 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, - 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, - 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, - 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, - 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, - 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, - 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, - 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, - 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, - 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, - 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, - 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, - 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, - 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, - 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, - 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, - 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, - 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, - 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, - 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, - 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, - 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, - 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, - 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, - 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, - 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, - 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, - 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, - 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, - 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, - 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, - 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, - 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, - 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, - 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, - 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, - 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, - 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, - 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, - 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, - 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, - 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, - 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, - 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, - 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, - 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, - 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, - 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, - 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, - 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, - 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, - 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, - 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, - 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, - 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, - 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, - 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, - 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, - 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, - 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, - 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, - 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, - 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, - 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, - 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, - 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, - 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, - 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, - 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, - 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, - 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, - 2,2,10,1,3,115,206,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=19 x= 4 y=11 dx=19 dy= 0 ascent=19 len=42 - Font Bounding box w=27 h=30 x=-4 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =19 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR14[5319] U8G_FONT_SECTION("u8g_font_ncenR14") = { - 0,27,30,252,249,14,3,41,7,30,32,255,252,19,252,14, - 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, - 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, - 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, - 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, - 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, - 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, - 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, - 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, - 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, - 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, - 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, - 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, - 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, - 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, - 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, - 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, - 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, - 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, - 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, - 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, - 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, - 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, - 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, - 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, - 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, - 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, - 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, - 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, - 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, - 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, - 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, - 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, - 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, - 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, - 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, - 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, - 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, - 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, - 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, - 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, - 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, - 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, - 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, - 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, - 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, - 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, - 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, - 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, - 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, - 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, - 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, - 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, - 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, - 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, - 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, - 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, - 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, - 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, - 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, - 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, - 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, - 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, - 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, - 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, - 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, - 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, - 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, - 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, - 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, - 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, - 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, - 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, - 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, - 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, - 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, - 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, - 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, - 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, - 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, - 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, - 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, - 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, - 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, - 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, - 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, - 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, - 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, - 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, - 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, - 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, - 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, - 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, - 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, - 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, - 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, - 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, - 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, - 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, - 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, - 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, - 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, - 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, - 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, - 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, - 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, - 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, - 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, - 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, - 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, - 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, - 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, - 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, - 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, - 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, - 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, - 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, - 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, - 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, - 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, - 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, - 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, - 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, - 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, - 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, - 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, - 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, - 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, - 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, - 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, - 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, - 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, - 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, - 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, - 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, - 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, - 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, - 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, - 192,109,128,199,0,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,5,0,1,2,14,14,5, - 1,252,192,192,0,0,64,64,64,192,192,192,192,192,192,192, - 8,13,13,10,1,254,2,2,30,103,203,200,200,208,208,115, - 62,32,32,10,14,28,11,0,0,15,0,25,128,49,128,48, - 0,48,0,24,0,255,128,12,0,12,0,12,0,12,0,120, - 64,158,64,247,128,9,9,18,12,1,3,156,128,255,128,99, - 0,193,128,193,128,193,128,99,0,255,128,156,128,14,14,28, - 15,0,0,252,124,48,16,24,32,24,32,12,64,12,64,6, - 128,31,224,3,0,3,0,31,224,3,0,3,0,15,192,2, - 14,14,10,4,0,192,192,192,192,192,0,0,0,192,192,192, - 192,192,192,8,17,17,9,0,253,60,102,70,64,96,120,62, - 79,195,227,122,60,14,6,98,102,60,6,2,2,7,0,10, - 204,204,14,14,28,15,0,0,7,128,24,96,32,16,71,136, - 72,200,144,68,144,4,144,4,144,4,72,72,71,136,32,16, - 24,96,7,128,6,8,8,7,0,6,112,136,56,200,152,108, - 0,252,8,7,7,9,0,2,17,51,102,204,102,51,17,9, - 5,10,10,0,3,255,128,0,128,0,128,0,128,0,128,5, - 1,1,6,0,5,248,14,14,28,15,0,0,7,128,24,96, - 32,16,79,136,68,200,132,68,132,196,135,132,132,132,68,72, - 78,104,32,16,24,96,7,128,6,1,1,7,0,10,252,6, - 6,6,7,0,8,120,204,132,132,204,120,9,9,18,10,0, - 1,8,0,8,0,8,0,255,128,8,0,8,0,8,0,0, - 0,255,128,6,8,8,6,0,6,120,204,140,24,48,96,196, - 252,6,8,8,6,0,6,120,204,140,56,12,140,204,120,4, - 3,3,6,1,11,48,96,128,10,13,26,11,0,252,227,192, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,125,192, - 64,0,64,0,96,0,96,0,10,17,34,11,0,253,63,192, - 233,0,201,0,201,0,201,0,201,0,233,0,57,0,9,0, - 9,0,9,0,9,0,9,0,9,0,9,0,9,0,63,192, - 2,2,2,5,1,5,192,192,4,4,4,6,0,252,64,112, - 16,224,6,8,8,6,0,6,48,240,48,48,48,48,48,252, - 5,8,8,6,0,6,112,216,136,136,216,112,0,248,8,7, - 7,9,0,2,136,204,102,51,102,204,136,15,14,28,15,0, - 0,48,32,240,32,48,64,48,64,48,128,48,128,49,24,253, - 56,2,40,2,88,4,152,4,254,8,24,8,60,14,14,28, - 15,0,0,48,32,240,32,48,64,48,64,48,128,48,128,49, - 120,253,204,2,140,2,24,4,48,4,96,8,196,8,252,15, - 14,28,15,0,0,120,32,204,32,140,64,56,64,12,128,140, - 128,205,24,121,56,2,40,2,88,4,152,4,254,8,24,8, - 60,7,14,14,8,0,252,24,24,0,0,16,16,32,32,64, - 192,192,198,230,120,14,18,36,13,255,0,12,0,6,0,1, - 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, - 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,14, - 18,36,13,255,0,0,192,1,128,2,0,0,0,3,0,3, - 0,3,0,5,128,5,128,5,128,8,192,8,192,31,224,16, - 96,16,96,32,48,32,48,248,252,14,18,36,13,255,0,3, - 0,7,128,8,64,0,0,3,0,3,0,3,0,5,128,5, - 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, - 48,248,252,14,17,34,13,255,0,7,64,11,128,0,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,14,17,34,13,255, - 0,12,192,12,192,0,0,3,0,3,0,3,0,5,128,5, - 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, - 48,248,252,14,19,38,13,255,0,3,0,4,128,4,128,3, - 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, - 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,18, - 14,42,18,255,0,7,255,192,1,96,192,2,96,64,2,96, - 64,4,98,64,4,98,0,8,126,0,8,98,0,31,226,0, - 16,96,64,32,96,64,32,96,64,96,96,192,241,255,192,12, - 18,36,13,0,252,15,144,56,112,96,48,96,16,192,16,192, - 0,192,0,192,0,192,0,192,0,96,16,96,16,56,96,15, - 192,4,0,7,0,1,0,14,0,11,18,36,12,0,0,24, - 0,12,0,2,0,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,18,36,12,0,0,3,0,6,0,8,0,0, - 0,255,224,48,96,48,32,48,32,49,32,49,0,63,0,49, - 0,49,0,48,32,48,32,48,32,48,96,255,224,11,18,36, - 12,0,0,6,0,15,0,16,128,0,0,255,224,48,96,48, - 32,48,32,49,32,49,0,63,0,49,0,49,0,48,32,48, - 32,48,32,48,96,255,224,11,17,34,12,0,0,25,128,25, - 128,0,0,255,224,48,96,48,32,48,32,49,32,49,0,63, - 0,49,0,49,0,48,32,48,32,48,32,48,96,255,224,6, - 18,18,7,0,0,192,96,16,0,252,48,48,48,48,48,48, - 48,48,48,48,48,48,252,6,18,18,7,0,0,12,24,32, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,252,6, - 18,18,7,0,0,48,120,132,0,252,48,48,48,48,48,48, - 48,48,48,48,48,48,252,6,17,17,7,0,0,204,204,0, - 252,48,48,48,48,48,48,48,48,48,48,48,48,252,14,14, - 28,15,0,0,255,192,48,112,48,24,48,24,48,12,48,12, - 254,12,48,12,48,12,48,12,48,24,48,24,48,112,255,192, - 14,17,34,15,0,0,7,64,11,128,0,0,240,124,48,16, - 56,16,60,16,46,16,38,16,35,16,35,144,33,144,32,208, - 32,240,32,112,32,48,248,16,14,18,36,15,0,0,12,0, - 6,0,1,0,0,0,15,192,56,112,96,24,96,24,192,12, - 192,12,192,12,192,12,192,12,192,12,96,24,96,24,56,112, - 15,192,14,18,36,15,0,0,0,192,1,128,2,0,0,0, - 15,192,56,112,96,24,96,24,192,12,192,12,192,12,192,12, - 192,12,192,12,96,24,96,24,56,112,15,192,14,18,36,15, - 0,0,3,0,7,128,8,64,0,0,15,192,56,112,96,24, - 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 96,24,56,112,15,192,14,17,34,15,0,0,7,64,11,128, - 0,0,15,192,56,112,96,24,96,24,192,12,192,12,192,12, - 192,12,192,12,192,12,96,24,96,24,56,112,15,192,14,17, - 34,15,0,0,12,192,12,192,0,0,15,192,56,112,96,24, - 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 96,24,56,112,15,192,10,9,18,10,0,1,192,192,97,128, - 51,0,30,0,12,0,30,0,51,0,97,128,192,192,15,14, - 28,15,255,0,7,228,28,56,48,28,48,44,96,70,96,134, - 97,6,98,6,100,6,104,6,48,12,48,12,92,56,135,224, - 14,18,36,15,0,0,6,0,3,0,0,128,0,0,252,124, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,48,16,48,16,24,32,15,192,14,18,36,15,0,0, - 0,192,1,128,2,0,0,0,252,124,48,16,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 24,32,15,192,14,18,36,15,0,0,3,0,7,128,8,64, - 0,0,252,124,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,24,32,15,192,14,17, - 34,15,0,0,12,96,12,96,0,0,252,124,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,24,32,15,192,14,18,36,13,255,0,0,96,0,192, - 1,0,0,0,252,124,48,16,24,32,24,32,12,64,12,64, - 6,128,7,128,3,0,3,0,3,0,3,0,3,0,15,192, - 11,14,28,12,0,0,252,0,48,0,48,0,63,128,48,192, - 48,96,48,96,48,96,48,96,48,192,63,0,48,0,48,0, - 252,0,9,14,28,10,0,0,30,0,35,0,97,0,97,0, - 99,0,110,0,99,0,97,128,97,128,97,128,97,128,109,128, - 109,0,230,0,9,13,26,10,0,0,48,0,24,0,4,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,13,26,10,0,0,6,0,12,0,16,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,13,26,10,0,0,24,0,60,0,66,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,12,24,10,0,0,58,0,92,0,0,0, - 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, - 121,128,9,12,24,10,0,0,102,0,102,0,0,0,28,0, - 98,0,99,0,3,0,31,0,99,0,195,0,199,0,121,128, - 9,14,28,10,0,0,24,0,36,0,36,0,24,0,0,0, - 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, - 121,128,15,9,18,16,0,0,28,248,99,140,99,6,3,6, - 31,254,99,0,195,0,197,134,120,252,8,13,13,9,0,252, - 60,99,195,192,192,192,193,99,62,16,28,4,56,8,13,13, - 9,0,0,96,48,8,0,60,102,195,195,255,192,193,99,62, - 8,13,13,9,0,0,6,12,16,0,60,102,195,195,255,192, - 193,99,62,8,13,13,9,0,0,24,60,66,0,60,102,195, - 195,255,192,193,99,62,8,12,12,9,0,0,102,102,0,60, - 102,195,195,255,192,193,99,62,5,13,13,5,255,0,192,96, - 16,0,112,48,48,48,48,48,48,48,120,5,13,13,5,0, - 0,24,48,64,0,224,96,96,96,96,96,96,96,240,6,13, - 13,5,255,0,48,120,132,0,112,48,48,48,48,48,48,48, - 120,6,12,12,5,255,0,204,204,0,112,48,48,48,48,48, - 48,48,120,9,14,28,10,0,0,192,0,54,0,56,0,204, - 0,6,0,63,0,99,0,193,128,193,128,193,128,193,128,193, - 128,99,0,62,0,10,12,24,11,0,0,60,128,79,0,0, - 0,239,0,115,128,97,128,97,128,97,128,97,128,97,128,97, - 128,243,192,9,13,26,10,0,0,96,0,48,0,8,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,13,26,10,0,0,3,0,6,0,8,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,13,26,10,0,0,24,0,60,0,66,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,12,24,10,0,0,58,0,92,0,0,0,62, - 0,99,0,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,9,12,24,10,0,0,99,0,99,0,0,0,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,99,0,62,0,10, - 7,14,10,0,2,12,0,12,0,0,0,255,192,0,0,12, - 0,12,0,9,12,24,10,0,254,0,128,62,128,99,0,197, - 128,197,128,201,128,201,128,209,128,115,0,62,0,64,0,64, - 0,10,13,26,11,0,0,48,0,24,0,4,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,13,26,11,0,0,3,0,6,0,8,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,13,26,11,0,0,12,0,30,0,33,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,12,24,11,0,0,51,0,51,0,0,0,227,192,97, - 128,97,128,97,128,97,128,97,128,97,128,115,128,61,192,10, - 17,34,11,0,252,3,0,6,0,8,0,0,0,241,192,96, - 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, - 0,16,0,208,0,224,0,10,18,36,11,0,252,224,0,96, - 0,96,0,96,0,96,0,111,0,113,128,96,192,96,192,96, - 192,96,192,96,192,113,128,111,0,96,0,96,0,96,0,240, - 0,10,16,32,11,0,252,51,0,51,0,0,0,241,192,96, - 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, - 0,16,0,208,0,224,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=18 x= 4 y=10 dx=19 dy= 0 ascent=15 len=42 - Font Bounding box w=27 h=30 x=-4 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR14r[2534] U8G_FONT_SECTION("u8g_font_ncenR14r") = { - 0,27,30,252,249,14,3,41,7,30,32,127,252,15,252,14, - 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, - 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, - 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, - 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, - 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, - 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, - 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, - 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, - 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, - 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, - 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, - 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, - 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, - 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, - 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, - 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, - 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, - 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, - 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, - 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, - 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, - 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, - 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, - 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, - 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, - 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, - 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, - 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, - 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, - 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, - 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, - 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, - 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, - 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, - 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, - 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, - 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, - 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, - 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, - 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, - 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, - 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, - 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, - 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, - 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, - 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, - 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, - 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, - 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, - 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, - 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, - 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, - 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, - 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, - 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, - 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, - 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, - 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, - 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, - 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, - 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, - 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, - 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, - 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, - 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, - 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, - 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, - 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, - 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, - 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, - 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, - 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, - 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, - 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, - 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, - 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, - 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, - 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, - 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, - 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, - 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, - 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, - 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, - 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, - 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, - 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, - 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, - 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, - 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, - 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, - 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, - 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, - 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, - 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, - 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, - 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, - 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, - 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, - 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, - 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, - 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, - 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, - 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, - 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, - 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, - 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, - 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, - 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, - 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, - 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, - 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, - 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, - 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, - 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, - 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, - 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, - 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, - 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, - 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, - 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, - 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, - 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, - 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, - 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, - 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, - 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, - 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, - 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, - 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, - 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, - 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, - 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, - 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, - 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, - 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, - 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, - 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, - 192,109,128,199,0,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=25 h=24 x= 6 y=15 dx=25 dy= 0 ascent=24 len=72 - Font Bounding box w=31 h=37 x=-3 y=-8 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR18[7488] U8G_FONT_SECTION("u8g_font_ncenR18") = { - 0,31,37,253,248,18,4,33,9,197,32,255,251,24,251,18, - 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, - 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, - 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, - 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, - 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, - 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, - 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, - 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, - 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, - 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, - 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, - 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, - 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, - 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, - 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, - 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, - 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, - 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, - 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, - 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, - 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, - 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, - 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, - 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, - 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, - 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, - 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, - 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, - 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, - 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, - 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, - 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, - 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, - 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, - 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, - 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, - 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, - 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, - 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, - 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, - 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, - 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, - 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, - 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, - 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, - 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, - 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, - 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, - 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, - 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, - 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, - 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, - 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, - 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, - 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, - 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, - 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, - 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, - 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, - 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, - 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, - 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, - 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, - 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, - 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, - 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, - 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, - 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, - 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, - 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, - 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, - 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, - 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, - 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, - 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, - 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, - 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, - 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, - 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, - 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, - 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, - 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, - 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, - 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, - 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, - 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, - 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, - 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, - 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, - 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, - 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, - 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, - 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, - 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, - 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, - 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, - 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, - 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, - 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, - 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, - 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, - 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, - 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, - 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, - 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, - 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, - 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, - 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, - 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, - 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, - 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, - 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, - 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, - 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, - 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, - 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, - 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, - 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, - 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, - 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, - 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, - 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, - 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, - 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, - 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, - 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, - 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, - 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, - 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, - 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, - 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, - 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, - 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, - 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, - 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, - 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, - 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, - 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, - 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, - 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, - 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, - 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, - 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, - 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, - 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, - 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, - 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, - 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, - 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, - 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, - 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, - 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, - 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, - 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, - 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, - 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, - 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, - 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, - 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, - 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, - 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, - 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, - 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, - 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, - 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, - 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, - 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, - 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, - 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, - 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, - 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, - 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, - 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, - 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, - 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, - 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, - 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, - 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, - 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, - 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, - 231,224,195,192,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,7,0,1,3,19,19,7,2, - 251,224,224,224,0,0,64,64,64,224,224,224,224,224,224,224, - 224,224,224,64,10,18,36,14,2,253,0,64,0,64,0,128, - 31,128,113,192,97,192,226,192,194,0,196,0,196,0,200,0, - 232,0,112,64,112,192,63,0,32,0,64,0,64,0,13,18, - 36,14,0,0,3,192,14,48,12,112,28,112,28,32,28,0, - 28,0,14,0,127,192,7,0,7,0,7,0,7,0,7,0, - 118,8,140,8,143,240,115,224,13,12,24,15,1,4,71,16, - 255,248,112,112,32,32,96,48,96,48,96,48,96,48,32,32, - 112,112,255,248,71,16,16,18,36,17,0,0,252,63,56,12, - 24,8,28,24,12,16,14,48,6,32,7,96,3,64,3,192, - 31,248,1,128,1,128,31,248,1,128,1,128,1,128,15,240, - 2,18,18,15,6,0,192,192,192,192,192,192,192,0,0,0, - 192,192,192,192,192,192,192,192,10,22,44,12,1,252,31,0, - 35,128,97,128,97,128,120,0,60,0,31,0,47,128,67,192, - 193,192,192,192,224,192,240,192,124,128,63,0,15,0,3,128, - 1,128,97,128,97,128,113,0,62,0,6,2,2,8,1,15, - 204,204,18,18,54,20,1,0,3,240,0,12,12,0,16,2, - 0,32,1,0,67,240,128,70,24,128,140,8,64,140,0,64, - 140,0,64,140,0,64,140,0,64,140,8,64,70,24,128,67, - 224,128,32,1,0,16,2,0,12,12,0,3,240,0,7,10, - 10,9,1,8,120,76,4,124,196,204,118,0,0,254,10,7, - 14,12,1,3,24,192,49,128,99,0,198,0,99,0,49,128, - 24,192,12,7,14,14,1,3,255,240,255,240,0,48,0,48, - 0,48,0,48,0,48,6,2,2,8,1,6,252,252,18,18, - 54,20,1,0,3,240,0,12,12,0,16,2,0,32,1,0, - 71,240,128,67,24,128,131,24,64,131,24,64,131,16,64,131, - 224,64,131,48,64,131,24,64,67,12,128,71,142,128,32,1, - 0,16,2,0,12,12,0,3,240,0,7,1,1,9,1,15, - 254,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, - 22,14,1,2,6,0,6,0,6,0,255,240,255,240,6,0, - 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, - 124,198,198,6,12,24,48,96,192,194,254,7,11,11,8,0, - 7,124,198,198,6,12,60,6,6,198,198,124,5,4,4,8, - 2,15,24,56,96,128,14,17,34,14,0,251,240,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,112, - 63,176,46,60,32,0,32,0,112,0,112,0,32,0,13,22, - 44,15,1,252,31,248,115,48,227,48,227,48,227,48,227,48, - 227,48,227,48,115,48,31,48,3,48,3,48,3,48,3,48, - 3,48,3,48,3,48,3,48,3,48,3,48,3,48,7,248, - 3,3,3,7,2,5,224,224,224,4,4,4,7,1,252,64, - 112,16,224,6,11,11,8,1,7,16,48,240,48,48,48,48, - 48,48,48,252,7,10,10,9,1,8,56,68,198,198,198,68, - 56,0,0,254,10,7,14,12,1,3,198,0,99,0,49,128, - 24,192,49,128,99,0,198,0,18,18,54,19,0,0,16,4, - 0,48,12,0,240,8,0,48,24,0,48,16,0,48,48,0, - 48,32,0,48,99,0,48,71,0,48,207,0,252,139,0,1, - 155,0,1,19,0,3,51,0,2,99,0,6,127,192,4,3, - 0,12,7,128,18,18,54,19,0,0,16,8,0,48,24,0, - 240,16,0,48,48,0,48,32,0,48,96,0,48,64,0,48, - 207,128,48,152,192,49,152,192,253,0,192,3,1,128,2,3, - 0,6,6,0,4,12,0,12,24,0,8,24,64,24,31,192, - 18,18,54,19,0,0,124,4,0,198,12,0,198,8,0,6, - 24,0,12,16,0,60,48,0,6,32,0,6,99,0,198,71, - 0,198,207,0,124,139,0,1,155,0,1,19,0,3,51,0, - 2,99,0,6,127,192,4,3,0,12,7,128,10,18,36,12, - 1,252,7,0,7,0,7,0,0,0,0,0,2,0,2,0, - 6,0,12,0,28,0,56,0,112,0,224,0,225,192,225,192, - 224,192,113,128,30,0,19,23,69,19,0,0,3,0,0,3, - 128,0,0,192,0,0,32,0,0,0,0,0,64,0,0,96, - 0,0,224,0,0,240,0,1,48,0,1,56,0,2,24,0, - 2,28,0,4,12,0,4,12,0,8,14,0,15,254,0,16, - 6,0,16,7,0,32,3,0,32,3,128,96,3,128,248,15, - 224,19,23,69,19,0,0,0,24,0,0,56,0,0,96,0, - 0,128,0,0,0,0,0,64,0,0,96,0,0,224,0,0, - 240,0,1,48,0,1,56,0,2,24,0,2,28,0,4,12, - 0,4,12,0,8,14,0,15,254,0,16,6,0,16,7,0, - 32,3,0,32,3,128,96,3,128,248,15,224,19,23,69,19, - 0,0,0,96,0,0,240,0,1,152,0,2,4,0,0,0, - 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, - 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, - 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, - 128,96,3,128,248,15,224,19,22,66,19,0,0,1,196,0, - 3,248,0,4,112,0,0,0,0,0,64,0,0,96,0,0, - 224,0,0,240,0,1,48,0,1,56,0,2,24,0,2,28, - 0,4,12,0,4,12,0,8,14,0,15,254,0,16,6,0, - 16,7,0,32,3,0,32,3,128,96,3,128,248,15,224,19, - 22,66,19,0,0,3,24,0,3,24,0,0,0,0,0,0, - 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, - 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, - 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, - 128,96,3,128,248,15,224,19,24,72,19,0,0,0,224,0, - 1,16,0,1,16,0,1,16,0,0,224,0,0,0,0,0, - 64,0,0,96,0,0,224,0,0,240,0,1,48,0,1,56, - 0,2,24,0,2,28,0,4,12,0,4,12,0,8,14,0, - 15,254,0,16,6,0,16,7,0,32,3,0,32,3,128,96, - 3,128,248,15,224,24,18,54,25,0,0,1,255,255,0,38, - 7,0,102,3,0,70,1,0,198,1,0,134,17,1,134,16, - 1,6,48,3,7,240,2,6,48,7,254,16,4,6,16,12, - 6,1,8,6,1,24,6,1,16,6,3,48,6,7,252,31, - 255,15,23,46,17,1,251,7,242,28,30,56,6,48,2,112, - 2,96,2,224,0,224,0,224,0,224,0,224,0,224,0,96, - 2,112,2,48,6,56,4,28,28,7,240,3,224,1,0,1, - 192,0,64,3,128,13,23,46,16,1,0,24,0,28,0,6, - 0,1,0,0,0,255,248,48,56,48,24,48,8,48,8,48, - 136,48,128,49,128,63,128,49,128,48,128,48,128,48,8,48, - 8,48,8,48,24,48,56,255,248,13,23,46,16,1,0,0, - 96,0,224,1,128,2,0,0,0,255,248,48,56,48,24,48, - 8,48,8,48,136,48,128,49,128,63,128,49,128,48,128,48, - 128,48,8,48,8,48,8,48,24,48,56,255,248,13,23,46, - 16,1,0,3,0,7,128,12,192,16,32,0,0,255,248,48, - 56,48,24,48,8,48,8,48,136,48,128,49,128,63,128,49, - 128,48,128,48,128,48,8,48,8,48,8,48,24,48,56,255, - 248,13,22,44,16,1,0,12,96,12,96,0,0,0,0,255, - 248,48,56,48,24,48,8,48,8,48,136,48,128,49,128,63, - 128,49,128,48,128,48,128,48,8,48,8,48,8,48,24,48, - 56,255,248,6,23,23,9,2,0,192,224,48,8,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 7,23,23,9,2,0,6,14,24,32,0,252,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,8,23,23, - 9,1,0,24,60,102,129,0,126,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,126,7,22,22,9,2,0, - 198,198,0,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,16,18,36,20,2,0,255,224,48,56, - 48,12,48,12,48,6,48,6,48,7,48,7,254,7,48,7, - 48,7,48,7,48,6,48,6,48,12,48,12,48,56,255,224, - 19,22,66,21,1,0,1,196,0,3,248,0,4,112,0,0, - 0,0,248,15,224,60,3,128,28,1,0,30,1,0,23,1, - 0,19,129,0,17,129,0,16,193,0,16,225,0,16,97,0, - 16,49,0,16,57,0,16,29,0,16,15,0,16,7,0,16, - 7,0,56,3,0,254,1,0,17,23,69,19,1,0,12,0, - 0,14,0,0,3,0,0,0,128,0,0,0,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,17,23,69,19,1,0,0,24,0,0,56,0,0, - 96,0,0,128,0,0,0,0,7,240,0,28,28,0,48,6, - 0,48,6,0,112,7,0,96,3,0,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,96,3,0,112, - 7,0,48,6,0,48,6,0,28,28,0,7,240,0,17,23, - 69,19,1,0,0,192,0,1,224,0,3,48,0,4,8,0, - 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, - 48,6,0,28,28,0,7,240,0,17,22,66,19,1,0,3, - 136,0,7,240,0,8,224,0,0,0,0,7,240,0,28,28, - 0,48,6,0,48,6,0,112,7,0,96,3,0,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,224,3,128,96, - 3,0,112,7,0,48,6,0,48,6,0,28,28,0,7,240, - 0,17,22,66,19,1,0,6,48,0,6,48,0,0,0,0, - 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, - 48,6,0,28,28,0,7,240,0,13,12,24,14,1,1,192, - 24,96,48,48,96,24,192,13,128,7,0,7,0,13,128,24, - 192,48,96,96,48,192,24,17,19,57,19,1,0,0,3,0, - 7,246,0,28,28,0,48,14,0,48,30,0,96,51,0,96, - 99,0,224,67,128,224,195,128,225,131,128,227,3,128,226,3, - 128,230,3,128,108,3,0,120,3,0,48,6,0,48,6,0, - 124,28,0,199,240,0,16,23,46,19,2,0,6,0,7,0, - 1,128,0,64,0,0,252,31,48,14,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,56,12,24,8,30,56,7,224,16,23,46,19,2,0, - 0,48,0,112,0,192,1,0,0,0,252,31,48,14,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,56,12,24,8,30,56,7,224,16,23, - 46,19,2,0,1,128,3,192,6,96,8,16,0,0,252,31, - 48,14,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,56,12,24,8,30,56, - 7,224,16,22,44,19,2,0,6,48,6,48,0,0,0,0, - 252,31,48,14,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,56,12,24,8, - 30,56,7,224,16,23,46,17,0,0,0,48,0,112,0,192, - 1,0,0,0,252,63,56,12,24,8,28,24,12,16,14,48, - 6,32,7,96,3,64,3,192,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,7,224,13,18,36,16,2,0,252,0, - 48,0,48,0,48,0,63,128,48,224,48,48,48,56,48,56, - 48,56,48,56,48,48,48,224,63,128,48,0,48,0,48,0, - 252,0,12,18,36,14,1,0,15,128,24,192,48,96,48,96, - 48,96,48,96,48,192,51,192,48,96,48,48,48,48,48,48, - 48,48,48,48,54,48,54,48,54,96,243,192,12,18,36,13, - 1,0,24,0,28,0,6,0,1,0,0,0,0,0,31,0, - 113,128,112,192,96,192,0,192,7,192,56,192,96,192,192,192, - 192,192,225,240,126,96,12,18,36,13,1,0,1,128,3,128, - 6,0,8,0,0,0,0,0,31,0,113,128,112,192,96,192, - 0,192,7,192,56,192,96,192,192,192,192,192,225,240,126,96, - 12,18,36,13,1,0,6,0,15,0,25,128,32,64,0,0, - 0,0,31,0,113,128,112,192,96,192,0,192,7,192,56,192, - 96,192,192,192,192,192,225,240,126,96,12,17,34,13,1,0, - 28,64,63,128,71,0,0,0,0,0,31,0,113,128,112,192, - 96,192,0,192,7,192,56,192,96,192,192,192,192,192,225,240, - 126,96,12,16,32,13,1,0,25,128,25,128,0,0,0,0, - 31,0,113,128,112,192,96,192,0,192,7,192,56,192,96,192, - 192,192,192,192,225,240,126,96,12,19,38,13,1,0,14,0, - 17,0,17,0,17,0,14,0,0,0,0,0,31,0,113,128, - 112,192,96,192,0,192,7,192,56,192,96,192,192,192,192,192, - 225,240,126,96,19,12,36,21,1,0,31,31,0,113,241,192, - 96,224,192,0,224,224,0,192,96,7,255,224,56,192,0,96, - 192,0,192,224,0,192,224,64,227,112,192,124,31,128,10,16, - 32,12,1,252,31,0,113,192,97,192,224,192,192,0,192,0, - 192,0,192,0,224,0,96,64,112,192,31,128,8,0,14,0, - 2,0,28,0,11,18,36,13,1,0,24,0,28,0,6,0, - 1,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, - 255,224,192,0,192,0,224,0,96,64,112,192,31,128,11,18, - 36,13,1,0,1,128,3,128,6,0,8,0,0,0,0,0, - 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, - 224,0,96,64,112,192,31,128,11,18,36,13,1,0,6,0, - 15,0,25,128,32,64,0,0,0,0,31,0,113,192,96,192, - 224,224,192,96,255,224,192,0,192,0,224,0,96,64,112,192, - 31,128,11,16,32,13,1,0,49,128,49,128,0,0,0,0, - 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, - 224,0,96,64,112,192,31,128,6,18,18,8,1,0,192,224, - 48,8,0,0,240,48,48,48,48,48,48,48,48,48,48,252, - 6,18,18,8,1,0,24,56,96,128,0,0,240,48,48,48, - 48,48,48,48,48,48,48,252,8,18,18,8,0,0,24,60, - 102,129,0,0,120,24,24,24,24,24,24,24,24,24,24,126, - 6,16,16,8,1,0,204,204,0,0,240,48,48,48,48,48, - 48,48,48,48,48,252,11,18,36,13,1,0,192,0,51,0, - 28,0,28,0,102,0,3,0,31,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,31,0, - 14,17,34,14,0,0,7,16,15,224,17,192,0,0,0,0, - 241,192,55,224,56,112,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,252,11,18,36,13,1,0,24,0, - 28,0,6,0,1,0,0,0,0,0,31,0,113,192,96,192, - 224,224,192,96,192,96,192,96,192,96,224,224,96,192,113,192, - 31,0,11,18,36,13,1,0,1,128,3,128,6,0,8,0, - 0,0,0,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,11,18,36,13, - 1,0,14,0,31,0,49,128,64,64,0,0,0,0,31,0, - 113,192,96,192,224,224,192,96,192,96,192,96,192,96,224,224, - 96,192,113,192,31,0,11,17,34,13,1,0,28,64,63,128, - 71,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, - 192,96,192,96,192,96,224,224,96,192,113,192,31,0,11,16, - 32,13,1,0,49,128,49,128,0,0,0,0,31,0,113,192, - 96,192,224,224,192,96,192,96,192,96,192,96,224,224,96,192, - 113,192,31,0,12,10,20,14,1,2,6,0,6,0,0,0, - 0,0,255,240,255,240,0,0,0,0,6,0,6,0,11,16, - 32,13,1,254,0,64,0,128,31,128,113,192,98,192,226,224, - 196,96,196,96,196,96,200,96,200,224,80,192,113,192,63,0, - 32,0,64,0,14,18,36,14,0,0,12,0,14,0,3,0, - 0,128,0,0,0,0,240,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,56,112,31,176,14,60,14,18, - 36,14,0,0,0,192,1,192,3,0,4,0,0,0,0,0, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,176,14,60,14,18,36,14,0,0,3,0, - 7,128,12,192,16,32,0,0,0,0,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,56,112,31,176, - 14,60,14,16,32,14,0,0,12,192,12,192,0,0,0,0, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,176,14,60,13,23,46,12,255,251,0,96, - 0,224,1,128,2,0,0,0,0,0,120,56,48,16,56,48, - 24,32,24,32,12,96,12,64,6,192,6,128,7,128,3,0, - 3,0,2,0,2,0,196,0,236,0,120,0,13,23,46,14, - 0,251,240,0,48,0,48,0,48,0,48,0,48,0,55,192, - 60,112,56,48,48,56,48,24,48,24,48,24,48,24,48,56, - 56,48,60,112,55,192,48,0,48,0,48,0,48,0,252,0, - 13,21,42,12,255,251,12,96,12,96,0,0,0,0,120,56, - 48,16,56,48,24,32,24,32,12,96,12,64,6,192,6,128, - 7,128,3,0,3,0,2,0,2,0,196,0,236,0,120,0 - }; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=25 h=23 x= 6 y=14 dx=25 dy= 0 ascent=20 len=72 - Font Bounding box w=31 h=37 x=-3 y=-8 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR18r[3477] U8G_FONT_SECTION("u8g_font_ncenR18r") = { - 0,31,37,253,248,18,4,33,9,197,32,127,251,20,251,18, - 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, - 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, - 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, - 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, - 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, - 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, - 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, - 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, - 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, - 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, - 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, - 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, - 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, - 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, - 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, - 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, - 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, - 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, - 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, - 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, - 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, - 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, - 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, - 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, - 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, - 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, - 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, - 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, - 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, - 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, - 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, - 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, - 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, - 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, - 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, - 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, - 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, - 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, - 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, - 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, - 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, - 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, - 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, - 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, - 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, - 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, - 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, - 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, - 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, - 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, - 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, - 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, - 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, - 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, - 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, - 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, - 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, - 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, - 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, - 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, - 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, - 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, - 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, - 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, - 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, - 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, - 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, - 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, - 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, - 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, - 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, - 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, - 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, - 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, - 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, - 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, - 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, - 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, - 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, - 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, - 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, - 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, - 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, - 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, - 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, - 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, - 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, - 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, - 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, - 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, - 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, - 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, - 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, - 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, - 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, - 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, - 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, - 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, - 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, - 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, - 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, - 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, - 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, - 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, - 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, - 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, - 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, - 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, - 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, - 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, - 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, - 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, - 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, - 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, - 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, - 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, - 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, - 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, - 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, - 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, - 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, - 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, - 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, - 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, - 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, - 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, - 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, - 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, - 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, - 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, - 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, - 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, - 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, - 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, - 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, - 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, - 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, - 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, - 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, - 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, - 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, - 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, - 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, - 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, - 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, - 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, - 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, - 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, - 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, - 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, - 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, - 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, - 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, - 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, - 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, - 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, - 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, - 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, - 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, - 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, - 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, - 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, - 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, - 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, - 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, - 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, - 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, - 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, - 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, - 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, - 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, - 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, - 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, - 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, - 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, - 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, - 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, - 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, - 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, - 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, - 231,224,195,192,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=31 h=32 x= 9 y=19 dx=32 dy= 0 ascent=32 len=128 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =32 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24[11729] U8G_FONT_SECTION("u8g_font_ncenR24") = { - 0,39,50,250,245,25,5,159,15,28,32,255,249,32,249,25, - 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, - 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, - 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, - 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, - 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, - 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, - 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, - 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, - 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, - 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, - 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, - 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, - 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, - 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, - 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, - 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, - 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, - 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, - 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, - 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, - 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, - 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, - 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, - 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, - 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, - 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, - 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, - 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, - 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, - 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, - 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, - 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, - 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, - 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, - 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, - 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, - 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, - 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, - 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, - 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, - 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, - 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, - 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, - 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, - 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, - 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, - 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, - 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, - 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, - 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, - 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, - 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, - 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, - 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, - 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, - 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, - 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, - 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, - 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, - 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, - 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, - 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, - 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, - 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, - 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, - 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, - 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, - 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, - 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, - 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, - 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, - 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, - 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, - 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, - 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, - 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, - 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, - 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, - 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, - 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, - 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, - 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, - 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, - 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, - 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, - 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, - 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, - 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, - 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, - 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, - 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, - 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, - 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, - 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, - 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, - 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, - 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, - 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, - 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, - 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, - 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, - 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, - 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, - 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, - 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, - 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, - 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, - 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, - 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, - 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, - 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, - 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, - 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, - 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, - 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, - 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, - 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, - 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, - 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, - 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, - 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, - 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, - 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, - 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, - 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, - 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, - 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, - 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, - 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, - 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, - 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, - 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, - 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, - 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, - 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, - 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, - 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, - 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, - 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, - 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, - 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, - 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, - 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, - 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, - 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, - 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, - 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, - 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, - 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, - 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, - 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, - 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, - 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, - 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, - 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, - 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, - 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, - 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, - 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, - 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, - 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, - 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, - 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, - 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, - 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, - 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, - 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, - 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, - 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, - 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, - 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, - 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, - 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, - 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, - 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, - 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, - 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, - 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, - 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, - 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, - 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, - 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, - 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, - 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, - 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, - 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, - 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, - 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, - 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, - 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, - 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, - 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, - 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, - 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, - 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, - 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, - 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, - 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, - 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, - 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, - 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, - 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, - 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, - 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, - 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, - 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, - 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, - 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, - 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, - 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, - 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, - 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, - 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, - 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, - 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, - 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, - 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, - 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, - 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, - 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, - 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, - 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, - 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, - 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, - 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, - 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, - 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, - 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, - 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, - 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, - 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, - 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, - 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, - 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, - 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, - 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, - 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, - 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, - 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, - 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, - 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, - 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, - 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, - 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, - 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, - 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, - 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, - 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, - 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, - 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, - 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, - 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, - 127,135,225,254,192,120,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,9,1,1,4,25,25, - 10,3,249,96,240,240,96,0,0,0,96,96,96,96,96,96, - 96,96,96,96,96,240,240,240,240,240,240,96,13,24,48,18, - 2,252,0,24,0,24,0,16,0,48,7,224,31,240,56,112, - 112,112,112,240,224,224,224,128,225,128,225,0,227,0,227,0, - 242,16,118,48,60,96,31,224,15,128,8,0,24,0,16,0, - 16,0,16,23,46,19,1,0,1,240,7,252,14,14,12,14, - 28,30,28,30,28,28,28,0,30,0,14,0,14,0,255,248, - 15,0,7,0,7,0,7,0,6,0,6,0,126,3,223,7, - 143,142,223,252,112,240,16,17,34,19,1,3,67,194,239,247, - 127,254,60,60,112,14,112,14,224,7,224,7,224,7,224,7, - 224,7,112,14,112,14,60,60,127,254,239,247,3,192,17,23, - 69,19,0,0,255,31,128,60,15,0,28,6,0,30,6,0, - 14,4,0,15,12,0,7,8,0,7,24,0,3,144,0,3, - 176,0,1,224,0,0,224,0,7,252,0,7,252,0,0,224, - 0,0,224,0,7,252,0,7,252,0,0,224,0,0,224,0, - 0,224,0,7,248,0,7,248,0,2,25,25,20,9,0,192, - 192,192,192,192,192,192,192,192,192,0,0,0,0,0,192,192, - 192,192,192,192,192,192,192,192,12,30,60,17,2,251,15,0, - 57,192,48,192,113,192,113,192,112,128,56,0,60,0,30,0, - 15,0,63,128,99,192,193,224,192,240,192,112,224,48,240,48, - 120,48,60,96,31,192,15,0,7,128,3,192,1,192,16,224, - 56,224,56,224,48,192,57,192,15,0,9,3,6,11,1,19, - 99,0,247,128,99,0,24,25,75,25,0,0,0,126,0,3, - 255,128,7,129,224,14,0,112,24,0,56,48,0,28,48,127, - 12,96,227,134,97,129,134,67,128,134,195,0,131,199,0,3, - 199,0,3,199,0,3,199,0,3,195,0,3,67,128,6,97, - 193,134,97,227,140,48,126,12,24,0,24,28,0,112,7,1, - 224,3,255,128,0,126,0,11,14,28,11,0,11,63,0,99, - 128,97,128,99,128,15,128,121,128,225,128,193,128,227,128,125, - 224,0,0,0,0,0,0,255,192,11,11,22,14,1,2,4, - 32,12,96,24,192,49,128,115,128,231,0,115,128,49,128,24, - 192,12,96,4,32,16,9,18,20,1,3,255,255,255,255,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,8,3,3, - 11,1,7,255,255,255,24,24,72,25,0,0,0,126,0,3, - 255,192,15,1,240,28,0,56,56,0,24,51,252,12,96,199, - 14,96,195,6,64,195,6,192,195,3,192,198,3,192,252,3, - 192,204,3,192,206,3,192,198,3,96,199,6,96,195,6,96, - 195,142,51,227,204,24,0,24,28,0,112,7,0,224,3,255, - 192,0,126,0,10,2,4,11,0,19,255,192,255,192,9,9, - 18,13,2,14,62,0,119,0,193,128,193,128,128,128,193,128, - 193,128,119,0,62,0,16,16,32,20,2,0,1,128,1,128, - 1,128,1,128,255,255,255,255,1,128,1,128,1,128,1,128, - 1,128,0,0,0,0,0,0,255,255,255,255,10,14,28,11, - 0,9,63,0,115,128,97,128,113,128,113,128,1,128,3,0, - 7,0,14,0,28,0,56,64,112,64,255,192,255,192,9,14, - 28,11,1,9,62,0,99,0,113,128,97,128,1,128,7,0, - 62,0,7,0,3,0,97,128,225,128,195,128,231,0,126,0, - 7,6,6,11,2,19,6,14,28,56,96,192,17,23,69,20, - 1,249,56,14,0,248,62,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,30,0,56,30,0,60,126,0,63,238,0,47, - 143,128,32,0,0,32,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,32,0,0,17,30,90,20,2,251,15,255,128, - 63,255,128,120,198,0,240,198,0,240,198,0,240,198,0,240, - 198,0,240,198,0,240,198,0,240,198,0,120,198,0,124,198, - 0,63,198,0,15,198,0,0,198,0,0,198,0,0,198,0, - 0,198,0,0,198,0,0,198,0,0,198,0,0,198,0,0, - 198,0,0,198,0,0,198,0,0,198,0,0,198,0,0,198, - 0,3,255,128,3,255,128,4,4,4,9,2,6,96,240,240, - 96,6,7,7,11,1,249,16,32,120,12,12,140,120,8,14, - 14,11,1,9,56,248,24,24,24,24,24,24,24,24,24,24, - 24,255,11,14,28,10,255,11,14,0,59,128,96,192,224,224, - 192,96,192,96,224,224,96,192,59,128,14,0,0,0,0,0, - 0,0,127,192,11,11,22,14,1,2,132,0,198,0,99,0, - 49,128,57,192,28,224,57,192,49,128,99,0,198,0,132,0, - 25,23,92,28,1,0,56,0,24,0,248,0,48,0,24,0, - 48,0,24,0,96,0,24,0,192,0,24,0,128,0,24,1, - 128,0,24,3,0,0,24,6,0,0,24,6,4,0,24,12, - 12,0,24,24,28,0,24,24,60,0,255,48,108,0,0,96, - 76,0,0,192,204,0,0,193,140,0,1,131,12,0,3,3, - 255,128,3,0,12,0,6,0,12,0,12,0,12,0,8,0, - 63,0,25,23,92,28,1,0,56,0,24,0,248,0,48,0, - 24,0,32,0,24,0,96,0,24,0,192,0,24,1,128,0, - 24,1,128,0,24,3,0,0,24,6,0,0,24,6,62,0, - 24,12,99,0,24,24,193,128,24,48,193,128,255,48,225,128, - 0,96,195,0,0,192,7,0,0,192,14,0,1,128,28,0, - 3,0,56,0,3,0,112,128,6,0,224,128,12,1,255,128, - 8,1,255,128,25,23,92,28,1,0,62,0,8,0,99,0, - 24,0,113,128,48,0,97,128,48,0,1,128,96,0,7,0, - 192,0,30,1,128,0,7,1,128,0,3,131,0,0,97,134, - 4,0,225,134,12,0,195,140,28,0,231,24,60,0,126,48, - 108,0,0,48,204,0,0,96,204,0,0,193,140,0,0,195, - 12,0,1,131,255,128,3,0,12,0,6,0,12,0,6,0, - 12,0,12,0,63,0,12,25,50,14,1,249,3,0,7,128, - 7,128,3,0,0,0,0,0,0,0,3,0,3,0,2,0, - 2,0,6,0,12,0,28,0,56,0,120,0,112,0,240,0, - 224,112,224,112,224,112,240,48,112,48,60,224,31,192,23,32, - 96,23,0,0,6,0,0,7,0,0,3,128,0,1,192,0, - 0,96,0,0,48,0,0,0,0,0,16,0,0,56,0,0, - 56,0,0,120,0,0,124,0,0,124,0,0,220,0,0,222, - 0,1,158,0,1,142,0,1,143,0,3,7,0,3,7,128, - 3,7,128,6,3,128,7,255,192,7,255,192,12,1,192,12, - 1,224,12,1,224,24,0,240,24,0,240,56,0,248,124,1, - 252,254,3,254,23,32,96,23,0,0,0,1,128,0,3,128, - 0,7,0,0,14,0,0,24,0,0,48,0,0,0,0,0, - 16,0,0,56,0,0,56,0,0,120,0,0,124,0,0,124, - 0,0,220,0,0,222,0,1,158,0,1,142,0,1,143,0, - 3,7,0,3,7,128,3,7,128,6,3,128,7,255,192,7, - 255,192,12,1,192,12,1,224,12,1,224,24,0,240,24,0, - 240,56,0,248,124,1,252,254,3,254,23,31,93,23,0,0, - 0,24,0,0,60,0,0,126,0,0,195,0,1,129,128,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, - 23,0,0,0,241,128,1,255,0,3,30,0,0,0,0,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, - 23,0,0,1,134,0,3,207,0,1,134,0,0,0,0,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,32,96, - 23,0,0,0,120,0,0,204,0,0,132,0,0,132,0,0, - 204,0,0,120,0,0,0,0,0,16,0,0,56,0,0,56, - 0,0,120,0,0,124,0,0,124,0,0,220,0,0,222,0, - 1,158,0,1,142,0,1,143,0,3,7,0,3,7,128,3, - 7,128,6,3,128,7,255,192,7,255,192,12,1,192,12,1, - 224,12,1,224,24,0,240,24,0,240,56,0,248,124,1,252, - 254,3,254,30,25,100,32,0,0,1,255,255,252,0,127,255, - 252,0,29,192,124,0,25,192,28,0,25,192,28,0,49,192, - 12,0,49,192,140,0,97,192,132,0,97,193,132,0,193,193, - 128,0,193,195,128,1,129,255,128,1,129,255,128,3,1,195, - 128,3,255,193,128,7,255,193,128,6,1,192,132,12,1,192, - 132,12,1,192,4,24,1,192,12,24,1,192,12,48,1,192, - 28,48,1,192,124,120,7,255,252,254,31,255,252,20,32,96, - 22,1,249,0,248,96,3,255,96,15,7,224,28,1,224,60, - 0,224,56,0,224,120,0,96,120,0,96,240,0,96,240,0, - 32,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,48,120,0,48,120,0,32,120,0,96,60, - 0,96,28,0,192,14,1,128,7,207,0,1,254,0,0,32, - 0,0,64,0,0,240,0,0,24,0,0,24,0,1,24,0, - 0,240,0,20,32,96,24,1,0,3,0,0,3,128,0,1, - 192,0,0,224,0,0,48,0,0,24,0,0,0,0,255,255, - 240,63,255,240,14,1,240,14,0,112,14,0,112,14,0,48, - 14,4,48,14,4,16,14,4,16,14,12,0,14,60,0,15, - 252,0,15,252,0,14,60,0,14,12,0,14,12,0,14,4, - 16,14,4,16,14,0,16,14,0,48,14,0,48,14,0,112, - 14,1,240,63,255,240,255,255,240,20,32,96,24,1,0,0, - 1,128,0,3,128,0,7,0,0,14,0,0,24,0,0,48, - 0,0,0,0,255,255,240,63,255,240,14,1,240,14,0,112, - 14,0,112,14,0,48,14,4,48,14,4,16,14,4,16,14, - 12,0,14,60,0,15,252,0,15,252,0,14,60,0,14,12, - 0,14,12,0,14,4,16,14,4,16,14,0,16,14,0,48, - 14,0,48,14,0,112,14,1,240,63,255,240,255,255,240,20, - 32,96,24,1,0,0,48,0,0,120,0,0,252,0,1,134, - 0,3,3,0,0,0,0,0,0,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, - 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, - 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, - 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, - 255,240,255,255,240,20,30,90,24,1,0,0,198,0,1,239, - 0,0,198,0,0,0,0,0,0,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, - 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, - 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, - 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, - 255,240,255,255,240,11,32,64,13,1,0,96,0,112,0,56, - 0,28,0,6,0,3,0,0,0,255,224,63,128,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,63,128,255,224,11,32,64,13,1, - 0,0,192,1,192,3,128,7,0,12,0,24,0,0,0,255, - 224,63,128,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,63,128,255, - 224,11,31,62,13,1,0,6,0,15,0,31,128,48,192,96, - 96,0,0,255,224,63,128,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,63,128,255,224,11,30,60,13,1,0,49,128,123,192,49, - 128,0,0,0,0,255,224,63,128,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,63,128,255,224,22,25,75,24,1,0,255,252,0, - 255,255,128,30,7,192,14,1,224,14,0,240,14,0,112,14, - 0,120,14,0,120,14,0,56,14,0,60,14,0,60,14,0, - 60,127,224,60,127,224,60,14,0,60,14,0,60,14,0,60, - 14,0,56,14,0,120,14,0,120,14,0,112,14,0,224,14, - 1,192,255,255,128,255,254,0,26,30,120,28,1,0,0,30, - 48,0,0,63,224,0,0,99,192,0,0,0,0,0,0,0, - 0,0,255,0,255,192,31,0,63,0,15,128,12,0,15,192, - 12,0,15,192,12,0,13,224,12,0,13,240,12,0,12,248, - 12,0,12,120,12,0,12,124,12,0,12,62,12,0,12,30, - 12,0,12,31,12,0,12,15,140,0,12,7,140,0,12,7, - 204,0,12,3,204,0,12,1,236,0,12,0,236,0,12,0, - 252,0,12,0,124,0,12,0,60,0,12,0,60,0,63,0, - 28,0,255,192,12,0,22,32,96,24,1,0,6,0,0,7, - 0,0,3,128,0,1,192,0,0,96,0,0,48,0,0,0, - 0,1,254,0,7,255,128,15,3,192,28,0,224,60,0,240, - 56,0,112,120,0,120,120,0,120,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,56,120,0,120,120,0,120,56,0,112,60,0,240, - 28,0,224,15,3,192,7,255,128,1,254,0,22,32,96,24, - 1,0,0,3,0,0,7,0,0,14,0,0,28,0,0,48, - 0,0,96,0,0,0,0,1,254,0,7,255,128,15,3,192, - 28,0,224,60,0,240,56,0,112,120,0,120,120,0,120,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,56,120,0,120,120,0,120, - 56,0,112,60,0,240,28,0,224,15,3,192,7,255,128,1, - 254,0,22,31,93,24,1,0,0,48,0,0,120,0,0,252, - 0,1,134,0,3,3,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,22,30,90,24,1,0,0,241,128,1,255, - 0,3,30,0,0,0,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,22,30,90,24,1,0,0,198,0,1,239, - 0,0,198,0,0,0,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,17,15,45,20,2,1,224,3,128,112,7, - 0,56,14,0,28,28,0,14,56,0,7,112,0,3,224,0, - 1,192,0,3,224,0,7,112,0,14,56,0,28,28,0,56, - 14,0,112,7,0,224,3,128,22,28,84,24,1,254,0,0, - 24,1,254,48,7,255,176,14,3,224,28,0,224,60,1,240, - 56,1,240,120,3,120,120,6,120,240,6,60,240,12,60,240, - 24,60,240,56,60,240,48,60,240,96,60,240,224,60,240,192, - 60,113,128,56,123,0,120,123,0,120,62,0,112,60,0,240, - 30,1,224,31,3,192,55,255,128,113,254,0,96,0,0,192, - 0,0,26,32,128,26,0,0,0,48,0,0,0,56,0,0, - 0,28,0,0,0,14,0,0,0,3,0,0,0,1,128,0, - 0,0,0,0,255,224,255,192,63,128,63,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 15,0,24,0,7,0,24,0,7,128,48,0,3,224,240,0, - 1,255,192,0,0,127,0,0,26,32,128,26,0,0,0,0, - 48,0,0,0,112,0,0,0,224,0,0,1,192,0,0,3, - 0,0,0,6,0,0,0,0,0,0,255,224,255,192,63,128, - 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, - 48,0,3,224,240,0,1,255,192,0,0,127,0,0,26,31, - 124,26,0,0,0,6,0,0,0,15,0,0,0,31,128,0, - 0,48,192,0,0,96,96,0,0,0,0,0,255,224,255,192, - 63,128,63,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,15,0,24,0,7,0,24,0, - 7,128,48,0,3,224,240,0,1,255,192,0,0,127,0,0, - 26,30,120,26,0,0,0,48,192,0,0,121,224,0,0,48, - 192,0,0,0,0,0,0,0,0,0,255,224,255,192,63,128, - 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, - 48,0,3,224,240,0,1,255,192,0,0,127,0,0,23,32, - 96,23,0,0,0,1,128,0,3,128,0,7,0,0,14,0, - 0,24,0,0,48,0,0,0,0,255,131,254,126,0,248,62, - 0,112,30,0,96,15,0,224,15,0,192,7,129,128,7,193, - 128,3,195,0,3,227,0,1,230,0,0,246,0,0,252,0, - 0,124,0,0,120,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,254, - 0,3,255,128,20,25,75,22,1,0,255,224,0,31,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,15,254,0,15, - 255,128,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,3,224,15,255,192, - 15,255,0,14,0,0,14,0,0,14,0,0,14,0,0,31, - 0,0,255,224,0,17,26,78,19,0,255,3,248,0,7,156, - 0,14,14,0,14,15,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,14,0,28,14,0,28,248,0,28,248,0,28, - 14,0,28,7,0,28,7,0,28,7,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,231,128,28,231,0, - 60,231,0,252,254,0,0,56,0,16,23,46,17,1,0,12, - 0,14,0,7,0,3,128,0,192,0,96,0,0,7,192,31, - 240,120,120,112,56,112,56,112,56,1,248,15,248,60,56,112, - 56,224,56,224,56,224,120,240,253,127,159,63,14,16,23,46, - 17,1,0,0,48,0,112,0,224,1,192,3,0,6,0,0, - 0,7,192,31,240,120,120,112,56,112,56,112,56,1,248,15, - 248,60,56,112,56,224,56,224,56,224,120,240,253,127,159,63, - 14,16,22,44,17,1,0,3,0,7,128,15,192,24,96,48, - 48,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,21,42,17,1,0,15,24,31,240,49,224,0, - 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,21,42,17,1,0,12,96,30,240,12,96,0, - 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,23,46,17,1,0,7,128,12,192,8,64,8, - 64,12,192,7,128,0,0,7,192,31,240,120,120,112,56,112, - 56,112,56,1,248,15,248,60,56,112,56,224,56,224,56,224, - 120,240,253,127,159,62,14,23,16,48,25,1,0,15,195,224, - 63,231,248,112,124,28,112,60,12,112,56,14,112,56,14,1, - 248,14,15,255,254,60,56,0,112,56,0,240,56,0,224,60, - 2,224,124,6,240,254,28,127,207,248,63,3,240,12,23,46, - 14,1,249,7,128,31,224,56,112,112,240,112,240,224,96,224, - 0,224,0,224,0,224,0,240,0,240,16,120,48,124,96,63, - 192,15,0,2,0,4,0,15,0,1,128,1,128,17,128,15, - 0,14,23,46,16,1,0,24,0,28,0,14,0,7,0,1, - 128,0,192,0,0,7,192,31,240,56,56,112,24,112,28,240, - 28,240,28,255,252,224,0,224,0,240,0,240,4,120,12,60, - 56,31,240,7,192,14,23,46,16,1,0,0,24,0,56,0, - 112,0,224,1,128,3,0,0,0,7,192,31,240,56,120,112, - 56,96,28,224,28,224,28,255,252,224,0,224,0,240,0,240, - 4,120,12,60,56,31,240,7,192,14,22,44,16,1,0,3, - 0,7,128,15,192,24,96,48,48,0,0,7,192,31,240,56, - 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, - 0,240,4,120,12,60,56,31,240,7,192,14,21,42,16,1, - 0,12,96,30,240,12,96,0,0,0,0,7,192,31,240,56, - 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, - 0,240,4,120,12,60,24,31,240,7,192,9,23,46,11,1, - 0,192,0,224,0,112,0,56,0,12,0,6,0,0,0,252, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,9, - 23,46,11,1,0,1,128,3,128,7,0,14,0,24,0,48, - 0,0,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,255,128,10,22,44,11,0,0,12,0,30,0,63,0,97, - 128,192,192,0,0,126,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,127,192,9,21,42,11,1,0,99,0,247,128,99, - 0,0,0,0,0,252,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,255,128,14,25,50,17,1,0,48,0,60,0,14, - 224,7,192,15,128,13,192,0,224,0,240,0,112,7,248,31, - 248,56,120,112,60,112,60,224,28,224,28,224,28,224,28,224, - 28,224,28,240,60,112,56,120,120,63,240,15,192,19,21,63, - 19,0,0,3,198,0,7,252,0,12,120,0,0,0,0,0, - 0,0,28,120,0,253,254,0,31,158,0,30,15,0,30,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,255, - 31,224,14,23,46,16,1,0,48,0,56,0,28,0,14,0, - 3,0,1,128,0,0,7,128,31,224,56,112,112,56,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,240,60,112,56, - 120,120,31,224,7,128,14,23,46,16,1,0,0,24,0,56, - 0,112,0,224,1,128,3,0,0,0,7,128,31,224,56,112, - 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,56,120,120,31,224,7,128,14,22,44,16,1,0, - 3,0,7,128,15,192,24,96,48,48,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, - 1,0,15,24,31,240,49,224,0,0,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, - 1,0,24,192,61,224,24,192,0,0,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,16,16,32,20, - 2,0,1,128,3,192,3,192,1,128,0,0,0,0,0,0, - 255,255,255,255,0,0,0,0,0,0,1,128,3,192,3,192, - 1,128,14,22,44,16,1,253,0,24,0,24,0,48,7,240, - 31,240,56,112,112,248,112,216,225,156,225,156,227,28,227,28, - 230,28,230,28,236,56,124,56,120,112,63,224,63,128,48,0, - 96,0,96,0,18,23,69,20,0,0,6,0,0,7,0,0, - 3,128,0,1,192,0,0,96,0,0,48,0,0,0,0,28, - 7,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,15,0,28,15,0,14,63,0,15,247,192,7,199,0,18, - 23,69,20,0,0,0,12,0,0,28,0,0,56,0,0,112, - 0,0,192,0,1,128,0,0,0,0,28,7,0,252,63,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,15,0,28,15, - 0,14,63,0,15,247,192,7,199,0,18,22,66,20,0,0, - 0,192,0,1,224,0,3,240,0,6,24,0,12,12,0,0, - 0,0,28,7,0,252,63,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,15,0,28,15,0,14,63,0,15,247,192,7, - 199,0,18,21,63,20,0,0,3,24,0,7,188,0,3,24, - 0,0,0,0,0,0,0,28,7,0,252,63,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,15,0,28,15,0,14,63, - 0,15,247,192,7,199,0,17,30,90,19,1,249,0,12,0, - 0,28,0,0,56,0,0,112,0,0,192,0,1,128,0,0, - 0,0,255,31,128,124,7,0,60,6,0,28,6,0,30,12, - 0,14,12,0,15,8,0,7,24,0,7,24,0,7,176,0, - 3,176,0,3,224,0,1,224,0,1,224,0,0,192,0,0, - 192,0,1,128,0,1,128,0,99,0,0,227,0,0,230,0, - 0,252,0,0,112,0,0,16,29,58,19,1,249,56,0,248, - 0,56,0,56,0,56,0,56,0,56,240,59,252,63,30,60, - 14,60,15,56,7,56,7,56,7,56,7,56,7,56,7,60, - 15,60,14,62,30,59,252,57,240,56,0,56,0,56,0,56, - 0,56,0,56,0,255,0,18,28,84,20,1,249,3,24,0, - 7,188,0,3,24,0,0,0,0,0,0,0,255,31,192,124, - 7,0,60,6,0,28,6,0,30,12,0,14,12,0,15,8, - 0,7,24,0,7,24,0,7,176,0,3,176,0,3,224,0, - 1,224,0,1,224,0,0,192,0,0,192,0,1,128,0,1, - 128,0,99,0,0,227,0,0,230,0,0,252,0,0,112,0, - 0}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=16 h=25 x= 3 y=11 dx=20 dy= 0 ascent=25 len=50 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24n[744] U8G_FONT_SECTION("u8g_font_ncenR24n") = { - 0,39,50,250,245,24,0,0,0,0,42,58,0,25,250,24, - 0,12,14,28,17,2,11,6,0,6,0,6,0,198,112,230, - 112,127,224,31,128,31,0,127,192,230,112,198,112,6,0,6, - 0,6,0,16,17,34,20,2,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,255,255,255,255,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,5,10,10,9,2, - 250,112,248,248,120,24,24,48,96,224,128,8,3,3,11,1, - 7,255,255,255,4,4,4,9,2,0,96,240,240,96,10,25, - 50,9,255,0,0,192,0,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,48,0,48,0,48,0,96,0, - 96,0,96,0,192,0,16,24,48,18,2,0,3,192,15,240, - 28,56,24,24,56,28,120,30,112,14,240,15,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,112,14, - 120,30,56,28,24,24,28,56,15,240,3,192,13,24,48,18, - 3,0,3,0,7,0,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, - 255,248,15,24,48,18,1,0,7,224,31,248,56,28,96,30, - 112,14,120,14,120,14,120,14,48,30,0,28,0,28,0,56, - 0,120,0,112,0,224,1,192,3,128,7,2,14,2,28,6, - 56,6,127,254,255,254,255,254,15,24,48,18,1,0,7,224, - 31,248,56,56,112,28,120,28,120,28,48,28,0,28,0,56, - 0,112,1,224,15,240,0,248,0,60,0,28,0,30,96,14, - 240,14,240,14,240,30,224,28,120,124,63,240,15,192,16,24, - 48,18,1,0,0,48,0,48,0,112,0,240,1,240,1,240, - 3,112,6,112,6,112,12,112,24,112,24,112,48,112,96,112, - 96,112,192,112,255,255,255,255,0,112,0,112,0,112,0,112, - 0,248,3,254,14,24,48,18,2,0,56,8,63,248,63,240, - 63,224,48,0,48,0,32,0,96,0,99,192,111,240,124,120, - 112,56,96,60,0,28,0,28,0,28,96,28,240,28,240,28, - 240,60,224,56,112,120,127,240,31,128,15,24,48,18,1,0, - 3,240,15,252,28,62,56,30,56,30,48,12,112,0,112,0, - 112,0,241,224,247,248,254,60,252,28,248,30,240,14,240,14, - 240,14,112,14,112,14,112,30,56,28,56,60,31,240,7,192, - 13,24,48,18,3,0,255,248,255,248,255,248,192,16,192,48, - 128,32,128,96,128,64,0,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,7,0,7,0,7,0,15,0,15,0, - 15,0,15,0,6,0,15,24,48,18,1,0,7,224,31,248, - 60,56,56,28,112,28,112,12,112,12,120,24,60,56,63,112, - 31,224,7,240,7,248,29,252,56,124,112,30,112,30,224,14, - 224,14,224,14,112,28,120,60,63,248,15,224,15,24,48,18, - 1,0,15,192,63,240,120,120,112,56,240,60,224,28,224,28, - 224,30,224,30,240,30,240,62,120,126,120,126,63,222,31,158, - 0,30,0,28,0,28,96,56,240,56,240,112,241,224,127,192, - 63,0,4,16,16,9,3,0,96,240,240,96,0,0,0,0, - 0,0,0,0,96,240,240,96}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=31 h=31 x= 9 y=17 dx=31 dy= 0 ascent=27 len=100 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24r[5367] U8G_FONT_SECTION("u8g_font_ncenR24r") = { - 0,39,50,250,245,25,5,159,15,28,32,127,249,27,249,25, - 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, - 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, - 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, - 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, - 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, - 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, - 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, - 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, - 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, - 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, - 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, - 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, - 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, - 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, - 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, - 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, - 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, - 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, - 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, - 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, - 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, - 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, - 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, - 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, - 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, - 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, - 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, - 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, - 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, - 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, - 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, - 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, - 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, - 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, - 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, - 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, - 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, - 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, - 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, - 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, - 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, - 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, - 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, - 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, - 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, - 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, - 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, - 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, - 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, - 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, - 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, - 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, - 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, - 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, - 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, - 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, - 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, - 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, - 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, - 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, - 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, - 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, - 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, - 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, - 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, - 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, - 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, - 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, - 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, - 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, - 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, - 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, - 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, - 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, - 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, - 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, - 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, - 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, - 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, - 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, - 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, - 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, - 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, - 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, - 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, - 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, - 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, - 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, - 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, - 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, - 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, - 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, - 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, - 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, - 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, - 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, - 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, - 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, - 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, - 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, - 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, - 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, - 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, - 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, - 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, - 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, - 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, - 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, - 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, - 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, - 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, - 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, - 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, - 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, - 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, - 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, - 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, - 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, - 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, - 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, - 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, - 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, - 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, - 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, - 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, - 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, - 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, - 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, - 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, - 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, - 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, - 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, - 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, - 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, - 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, - 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, - 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, - 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, - 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, - 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, - 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, - 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, - 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, - 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, - 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, - 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, - 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, - 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, - 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, - 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, - 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, - 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, - 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, - 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, - 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, - 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, - 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, - 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, - 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, - 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, - 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, - 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, - 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, - 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, - 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, - 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, - 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, - 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, - 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, - 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, - 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, - 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, - 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, - 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, - 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, - 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, - 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, - 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, - 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, - 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, - 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, - 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, - 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, - 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, - 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, - 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, - 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, - 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, - 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, - 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, - 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, - 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, - 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, - 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, - 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, - 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, - 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, - 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, - 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, - 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, - 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, - 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, - 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, - 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, - 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, - 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, - 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, - 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, - 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, - 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, - 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, - 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, - 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, - 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, - 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, - 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, - 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, - 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, - 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, - 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, - 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, - 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, - 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, - 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, - 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, - 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, - 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, - 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, - 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, - 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, - 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, - 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, - 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, - 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, - 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, - 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, - 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, - 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, - 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, - 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, - 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, - 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, - 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, - 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, - 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, - 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, - 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, - 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, - 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, - 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, - 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, - 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, - 127,135,225,254,192,120,255}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w=11 h= 9 x= 1 y= 4 dx=12 dy= 0 ascent= 9 len=10 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01[1535] U8G_FONT_SECTION("u8g_font_orgv01") = { - 1,11,11,0,254,5,0,249,1,238,32,255,255,9,254,5, - 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, - 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, - 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, - 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, - 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, - 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, - 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, - 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, - 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, - 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, - 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, - 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, - 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, - 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, - 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, - 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, - 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, - 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, - 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, - 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, - 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, - 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, - 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, - 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, - 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, - 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, - 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, - 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, - 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, - 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, - 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, - 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, - 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, - 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, - 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, - 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, - 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, - 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, - 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, - 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, - 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, - 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, - 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, - 2,53,69,128,64,96,64,128,3,83,99,8,248,128,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,255, - 2,20,36,128,0,128,128,2,85,101,32,248,160,248,32,2, - 85,101,64,224,64,72,120,2,85,101,136,112,80,112,136,2, - 85,101,136,248,32,112,32,2,21,37,128,128,0,128,128,2, - 86,102,248,128,248,248,8,248,4,81,97,248,18,85,117,248, - 168,200,168,248,2,181,202,251,224,138,0,251,224,136,32,139, - 224,19,83,115,72,144,72,3,66,82,240,16,255,2,85,101, - 248,248,200,200,248,6,81,97,248,2,0,112,2,0,112,2, - 0,112,2,0,112,2,0,112,2,0,112,2,0,112,2,0, - 112,2,0,112,2,0,112,2,0,112,4,83,99,144,72,144, - 2,0,112,2,0,112,2,0,112,18,85,117,32,0,224,128, - 248,2,88,104,64,32,0,248,136,248,136,136,2,88,104,16, - 32,0,248,136,248,136,136,2,88,104,32,80,0,248,136,248, - 136,136,2,89,105,8,248,128,0,248,136,248,136,136,2,87, - 103,80,0,248,136,248,136,136,2,87,103,32,0,248,136,248, - 136,136,2,85,101,248,160,248,160,184,0,87,103,248,128,128, - 128,248,16,48,2,88,104,64,32,0,248,128,248,128,248,2, - 88,104,16,32,0,248,128,248,128,248,2,88,104,32,80,0, - 248,128,248,128,248,2,86,102,80,248,128,248,128,248,2,88, - 104,64,32,0,248,32,32,32,248,2,88,104,16,32,0,248, - 32,32,32,248,2,88,104,32,80,0,248,32,32,32,248,2, - 87,103,80,0,248,32,32,32,248,2,85,101,240,136,232,136, - 240,2,89,105,8,248,128,0,248,136,136,136,136,2,88,104, - 64,32,0,248,136,136,136,248,2,88,104,16,32,0,248,136, - 136,136,248,2,88,104,32,80,0,248,136,136,136,248,2,89, - 105,8,248,128,0,248,136,136,136,248,2,87,103,80,0,248, - 136,136,136,248,3,51,67,160,64,160,2,85,101,248,152,168, - 200,248,2,87,103,64,32,136,136,136,136,248,2,87,103,16, - 32,136,136,136,136,248,2,86,102,32,80,136,136,136,248,2, - 86,102,80,0,136,136,136,248,2,88,104,16,32,0,136,136, - 80,32,32,18,85,117,128,240,136,240,128,1,86,102,240,136, - 176,136,176,128,2,68,84,240,16,240,240,2,71,87,64,32, - 0,240,16,240,240,2,71,87,32,64,0,240,16,240,240,2, - 71,87,96,144,0,240,16,240,240,2,70,86,144,0,240,16, - 240,240,2,70,86,32,0,240,16,240,240,2,116,132,254,30, - 240,254,0,70,86,240,128,128,240,32,96,2,71,87,64,32, - 0,240,240,128,240,2,71,87,32,64,0,240,240,128,240,2, - 71,87,96,144,0,240,240,128,240,2,70,86,144,0,240,240, - 128,240,2,39,39,128,64,0,64,64,64,64,2,39,39,64, - 128,0,128,128,128,128,2,55,39,64,160,0,64,64,64,64, - 2,54,38,160,0,64,64,64,64,2,85,85,56,16,240,144, - 240,2,71,87,80,160,0,240,144,144,144,2,71,87,64,32, - 0,240,144,144,240,2,71,87,32,64,0,240,144,144,240,2, - 71,87,96,144,0,240,144,144,240,2,71,87,80,160,0,240, - 144,144,240,2,70,86,144,0,240,144,144,240,2,85,101,32, - 0,248,0,32,2,68,84,240,176,208,240,2,71,87,64,32, - 0,144,144,144,240,2,71,87,32,64,0,144,144,144,240,2, - 71,87,96,144,0,144,144,144,240,2,70,86,144,0,144,144, - 144,240,1,72,88,32,64,0,144,144,144,240,16,18,85,117, - 128,240,136,240,128,1,71,87,144,0,144,144,144,240,16}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01n[137] U8G_FONT_SECTION("u8g_font_orgv01n") = { - 1,11,11,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,3,51,67,160,64,160,3,51,67,64,224,64,1,18,34, - 128,128,4,65,81,240,2,17,33,128,2,85,101,8,16,32, - 64,128,2,85,101,248,136,136,136,248,2,21,37,128,128,128, - 128,128,2,85,101,248,8,248,128,248,2,85,101,248,8,248, - 8,248,2,85,101,136,136,248,8,8,2,85,101,248,128,248, - 8,248,2,85,101,248,128,248,136,248,2,85,101,248,8,8, - 8,8,2,85,101,248,136,248,136,248,2,85,101,248,136,248, - 8,248,2,20,36,128,0,0,128}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01r[719] U8G_FONT_SECTION("u8g_font_orgv01r") = { - 1,11,11,0,254,5,0,249,1,238,32,127,255,5,255,5, - 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, - 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, - 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, - 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, - 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, - 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, - 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, - 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, - 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, - 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, - 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, - 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, - 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, - 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, - 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, - 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, - 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, - 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, - 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, - 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, - 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, - 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, - 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, - 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, - 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, - 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, - 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, - 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, - 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, - 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, - 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, - 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, - 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, - 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, - 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, - 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, - 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, - 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, - 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, - 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, - 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, - 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, - 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, - 2,53,69,128,64,96,64,128,3,83,99,8,248,128,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 5 y=14 dx=27 dy= 0 ascent=24 len=72 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =18 descent=-6 - Max Font ascent =24 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18[7637] U8G_FONT_SECTION("u8g_font_osb18") = { - 0,70,31,234,249,18,4,190,10,54,32,255,250,24,250,18, - 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, - 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, - 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, - 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, - 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, - 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, - 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, - 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, - 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, - 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, - 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, - 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, - 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, - 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, - 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, - 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, - 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, - 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, - 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, - 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, - 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, - 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, - 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, - 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, - 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, - 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, - 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, - 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, - 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, - 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, - 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, - 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, - 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, - 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, - 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, - 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, - 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, - 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, - 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, - 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, - 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, - 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, - 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, - 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, - 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, - 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, - 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, - 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, - 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, - 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, - 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, - 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, - 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, - 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, - 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, - 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, - 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, - 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, - 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, - 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, - 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, - 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, - 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, - 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, - 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, - 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, - 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, - 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, - 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, - 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, - 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, - 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, - 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, - 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, - 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, - 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, - 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, - 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, - 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, - 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, - 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, - 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, - 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, - 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, - 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, - 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, - 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, - 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, - 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, - 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, - 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, - 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, - 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, - 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, - 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, - 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, - 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, - 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, - 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, - 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, - 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, - 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, - 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, - 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, - 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, - 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, - 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, - 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, - 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, - 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, - 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, - 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, - 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, - 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, - 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, - 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, - 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, - 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, - 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, - 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, - 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, - 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, - 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, - 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, - 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, - 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, - 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, - 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, - 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, - 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, - 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, - 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, - 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, - 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, - 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, - 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, - 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, - 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, - 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, - 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, - 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, - 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, - 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, - 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, - 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, - 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, - 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, - 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, - 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, - 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, - 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, - 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, - 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, - 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, - 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, - 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, - 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, - 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, - 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, - 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, - 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, - 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, - 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, - 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, - 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, - 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, - 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, - 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, - 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, - 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, - 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, - 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, - 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, - 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, - 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, - 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, - 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, - 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, - 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, - 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, - 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, - 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, - 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, - 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, - 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, - 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, - 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, - 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, - 120,8,255,4,143,196,131,252,64,120,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,7,0, - 0,4,18,18,6,1,250,96,240,240,96,0,0,64,96,96, - 96,96,96,240,240,240,240,240,96,9,18,36,15,3,253,4, - 0,4,0,4,0,30,0,53,0,117,128,231,128,231,128,228, - 0,228,0,228,0,228,0,100,128,116,128,31,0,4,0,4, - 0,4,0,16,18,36,19,2,0,0,248,1,132,3,6,7, - 14,7,14,7,0,7,0,63,0,7,240,7,128,3,128,3, - 128,3,128,3,1,123,2,143,204,135,252,120,240,12,12,24, - 14,1,3,132,16,223,176,112,224,96,96,192,48,192,48,192, - 48,192,48,64,96,96,96,127,224,207,48,14,18,36,14,0, - 0,254,124,56,16,60,16,60,32,30,32,30,64,14,64,15, - 128,7,128,127,240,7,0,127,240,7,0,7,0,7,0,7, - 0,7,0,31,224,2,22,22,8,3,252,192,192,192,192,192, - 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,192, - 192,11,23,46,15,1,251,15,0,48,128,96,192,97,192,97, - 192,112,128,124,0,63,0,223,128,143,192,129,224,192,96,248, - 32,126,32,63,64,15,128,3,192,49,192,112,192,112,192,96, - 128,33,128,30,0,8,3,3,12,2,14,231,231,231,18,18, - 54,20,1,0,3,240,0,12,12,0,16,2,0,33,201,0, - 67,56,128,70,24,128,142,8,64,142,8,64,142,0,64,142, - 0,64,142,8,64,142,8,64,70,8,128,67,16,128,33,225, - 0,16,2,0,12,12,0,3,240,0,7,9,9,10,1,9, - 120,204,204,60,76,204,206,126,254,7,10,10,12,3,1,32, - 100,68,204,204,204,204,196,100,34,13,7,14,15,1,4,255, - 248,255,248,0,24,0,24,0,24,0,24,0,24,6,3,3, - 8,1,5,252,252,252,18,18,54,20,1,0,3,240,0,12, - 12,0,16,2,0,47,225,0,71,48,128,71,56,128,135,56, - 64,135,48,64,135,192,64,135,48,64,135,56,64,135,56,64, - 71,58,128,71,58,128,47,157,0,16,2,0,12,12,0,3, - 240,0,7,2,2,11,2,14,254,254,8,7,7,14,3,11, - 60,102,131,129,129,194,126,21,18,54,23,1,254,0,48,0, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, - 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,0,0,255,255,248, - 255,255,248,7,11,11,11,2,7,124,206,206,238,28,48,98, - 66,254,190,8,8,11,11,12,2,7,60,198,231,231,6,56, - 6,103,231,199,60,4,4,4,11,5,13,48,112,96,192,13, - 18,36,15,1,250,97,128,225,192,225,192,225,192,225,192,225, - 192,225,192,64,136,64,136,65,248,127,120,94,48,64,0,96, - 0,96,0,112,0,112,0,112,0,13,21,42,15,1,253,31, - 248,126,96,126,96,254,96,254,96,254,96,254,96,126,96,62, - 96,14,96,6,96,6,96,6,96,6,96,6,96,6,96,6, - 96,6,96,6,96,6,96,6,96,4,4,4,8,2,6,96, - 240,240,96,5,5,5,11,3,250,32,96,24,24,240,6,11, - 11,11,3,7,48,240,112,112,112,112,112,112,112,112,252,7, - 9,9,9,1,9,56,68,198,198,198,198,68,56,254,7,10, - 10,13,3,1,152,140,68,102,102,102,102,70,76,136,18,18, - 54,22,3,0,48,8,0,240,8,0,112,16,0,112,48,0, - 112,32,0,112,96,0,112,64,0,112,195,0,112,135,0,113, - 143,0,253,15,0,3,23,0,2,39,0,4,39,0,12,63, - 192,8,7,0,24,7,0,16,31,192,18,18,54,23,3,0, - 48,4,0,240,8,0,112,24,0,112,16,0,112,48,0,112, - 32,0,112,96,0,112,79,0,112,147,192,113,177,192,253,57, - 192,3,3,128,2,6,0,6,8,0,4,16,64,8,63,192, - 24,47,192,16,39,128,20,18,54,23,2,0,124,2,0,199, - 6,0,231,4,0,6,12,0,56,8,0,6,16,0,7,16, - 0,231,33,192,231,97,192,198,67,192,60,133,192,0,133,192, - 1,9,192,1,9,192,2,31,240,6,1,192,4,1,192,8, - 7,240,8,18,18,12,2,250,48,120,120,48,56,68,68,4, - 8,24,48,114,97,225,225,225,114,60,17,23,69,19,1,1, - 7,0,0,7,0,0,1,128,0,0,128,0,0,0,0,0, - 192,0,0,192,0,1,192,0,1,224,0,1,224,0,3,224, - 0,2,240,0,2,240,0,4,240,0,4,120,0,4,120,0, - 8,56,0,15,252,0,8,60,0,16,28,0,16,30,0,48, - 30,0,252,255,128,17,23,69,19,1,1,0,56,0,0,48, - 0,0,96,0,0,192,0,0,0,0,0,192,0,0,192,0, - 0,192,0,1,224,0,1,224,0,1,224,0,2,240,0,2, - 240,0,4,112,0,4,120,0,4,120,0,8,56,0,15,252, - 0,8,60,0,16,28,0,16,30,0,48,30,0,252,127,128, - 17,23,69,19,1,0,0,192,0,1,192,0,3,96,0,6, - 24,0,0,0,0,0,192,0,0,192,0,0,192,0,1,224, - 0,1,224,0,1,224,0,2,240,0,2,240,0,4,112,0, - 4,120,0,4,120,0,8,56,0,15,252,0,8,60,0,16, - 28,0,16,30,0,48,30,0,252,127,128,17,23,69,19,1, - 0,1,8,0,7,240,0,4,240,0,0,0,0,0,0,0, - 0,192,0,0,192,0,1,192,0,1,224,0,1,224,0,3, - 224,0,2,240,0,2,240,0,4,240,0,4,120,0,4,120, - 0,8,56,0,15,252,0,8,60,0,16,28,0,16,30,0, - 48,30,0,252,255,128,16,23,46,18,1,0,14,112,14,112, - 14,112,0,0,0,0,1,128,1,128,1,128,3,192,3,192, - 3,192,5,224,5,224,4,224,8,240,8,240,8,112,31,248, - 16,120,16,60,48,60,48,60,252,255,18,23,69,19,1,0, - 1,224,0,2,16,0,2,16,0,1,224,0,0,0,0,0, - 192,0,0,192,0,0,224,0,1,224,0,1,224,0,1,240, - 0,2,240,0,2,240,0,4,120,0,4,120,0,4,120,0, - 8,60,0,15,252,0,8,28,0,16,30,0,16,30,0,48, - 30,0,252,127,192,23,18,54,25,1,0,0,127,254,0,60, - 14,0,60,6,0,124,6,0,92,2,0,220,34,0,156,32, - 1,156,96,1,28,96,3,31,224,2,28,96,6,28,34,7, - 252,34,8,28,2,8,28,2,24,28,6,56,28,14,254,127, - 254,13,24,48,17,2,250,7,136,24,120,48,56,112,24,112, - 24,240,8,240,8,240,8,240,0,240,0,240,0,240,8,240, - 8,112,8,112,8,56,16,24,32,7,192,2,0,3,128,0, - 192,0,192,8,192,7,128,14,23,46,18,2,1,28,0,12, - 0,6,0,1,0,0,0,255,252,56,28,56,12,56,12,56, - 4,56,68,56,64,56,192,56,192,63,192,56,192,56,68,56, - 68,56,4,56,4,56,12,56,28,255,252,14,23,46,18,2, - 1,0,224,0,192,1,128,2,0,0,0,255,252,56,28,56, - 12,56,12,56,4,56,68,56,64,56,192,56,192,63,192,56, - 192,56,68,56,68,56,4,56,4,56,12,56,28,255,252,14, - 23,46,18,2,0,3,0,7,128,12,192,16,32,0,0,255, - 252,56,28,56,12,56,12,56,4,56,68,56,64,56,192,56, - 192,63,192,56,192,56,68,56,68,56,4,56,4,56,12,56, - 28,255,252,14,23,46,18,2,0,28,224,28,224,28,224,0, - 0,0,0,255,252,56,28,56,12,56,12,56,4,56,68,56, - 64,56,192,56,192,63,192,56,192,56,68,56,68,56,4,56, - 12,56,12,56,28,255,252,8,23,23,11,2,1,192,96,48, - 16,0,255,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,255,8,23,23,11,2,1,7,14,8,16,0,255, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 255,8,23,23,11,2,0,16,56,108,130,0,255,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,255,8,23, - 23,11,2,0,231,231,231,0,0,255,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,255,16,18,36,19,2, - 0,255,224,56,56,56,28,56,14,56,14,56,14,56,15,56, - 15,255,15,56,15,56,15,56,15,56,14,56,14,56,12,56, - 28,56,56,255,224,17,23,69,18,1,0,3,136,0,3,240, - 0,4,96,0,0,0,0,0,0,0,252,63,128,60,14,0, - 62,4,0,31,4,0,31,4,0,23,132,0,23,196,0,19, - 196,0,17,228,0,17,244,0,16,244,0,16,124,0,16,124, - 0,16,60,0,16,28,0,16,28,0,56,12,0,254,4,0, - 15,24,48,18,2,0,12,0,12,0,14,0,3,0,1,0, - 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, - 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, - 48,56,8,32,7,192,15,24,48,18,2,0,0,96,0,96, - 0,224,1,128,1,0,0,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,24,48,18, - 2,0,1,0,3,128,7,128,14,192,24,48,0,0,7,192, - 8,32,56,48,48,24,112,28,112,28,240,30,240,30,240,30, - 240,30,240,30,240,30,112,28,112,28,48,24,48,56,8,32, - 7,192,15,23,46,18,2,0,7,32,15,224,16,192,0,0, - 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, - 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, - 48,56,8,32,7,192,15,23,46,18,2,0,28,224,28,224, - 28,224,0,0,0,0,7,192,8,32,56,48,48,24,112,28, - 112,28,240,30,240,30,240,30,240,30,240,30,240,30,112,28, - 112,28,48,24,48,56,8,32,7,192,16,15,30,24,4,0, - 192,3,96,6,48,12,24,24,12,48,6,96,3,192,1,128, - 3,192,6,96,12,48,56,24,112,12,224,6,192,3,15,18, - 36,18,2,0,7,194,8,116,48,60,48,56,112,60,112,124, - 240,94,240,222,241,158,243,30,246,30,244,30,124,28,120,28, - 56,24,120,24,92,32,135,192,18,24,72,20,2,0,6,0, - 0,7,0,0,3,0,0,1,128,0,0,0,0,0,0,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,18,24,72,20,2,0,0,24,0,0, - 56,0,0,112,0,0,192,0,0,128,0,0,0,0,255,31, - 192,56,7,0,56,2,0,56,2,0,56,2,0,56,2,0, - 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,24,2,0,28,4,0,14,8, - 0,3,240,0,18,24,72,20,2,0,0,128,0,1,192,0, - 1,224,0,6,48,0,8,8,0,0,0,0,255,31,192,56, - 7,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,56,2,0,56,2,0, - 56,2,0,56,2,0,24,2,0,28,4,0,14,8,0,3, - 240,0,18,23,69,20,2,0,7,56,0,7,56,0,7,56, - 0,0,0,0,0,0,0,255,31,192,56,7,0,56,2,0, - 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,24,2,0,28,4,0,14,8,0,3,240,0,16,23,46, - 19,2,1,0,112,0,96,0,192,1,0,0,0,254,127,60, - 12,60,8,30,16,30,16,30,16,15,32,15,32,7,64,7, - 192,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 240,15,18,36,18,2,0,255,128,56,0,56,0,63,224,56, - 56,56,28,56,30,56,30,56,30,56,30,56,28,56,56,63, - 224,56,0,56,0,56,0,56,0,255,128,12,18,36,13,0, - 0,7,128,12,192,24,224,56,224,56,224,56,224,56,192,59, - 0,56,192,56,96,56,112,56,112,56,112,56,112,56,112,63, - 112,63,96,251,192,11,18,36,13,1,0,32,0,48,0,48, - 0,24,0,4,0,0,0,30,0,99,0,99,128,115,128,7, - 128,27,128,115,128,227,128,227,160,227,160,247,160,121,192,11, - 18,36,13,1,0,3,0,3,0,6,0,4,0,8,0,0, - 0,30,0,99,0,99,128,115,128,35,128,31,128,115,128,227, - 128,227,160,227,160,247,160,121,192,11,18,36,13,1,0,12, - 0,12,0,30,0,50,0,65,0,0,0,30,0,99,0,99, - 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, - 160,121,192,11,17,34,13,1,0,57,0,127,0,70,0,0, - 0,0,0,30,0,99,0,99,128,115,128,35,128,31,128,115, - 128,227,128,227,160,227,160,247,160,121,192,11,17,34,13,1, - 0,119,0,119,0,119,0,0,0,0,0,30,0,99,0,99, - 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, - 160,121,192,11,18,36,13,1,0,28,0,38,0,34,0,34, - 0,28,0,0,0,30,0,99,0,99,128,115,128,35,128,31, - 128,115,128,227,128,227,160,227,160,231,160,121,192,15,12,24, - 18,1,0,62,248,99,140,99,142,115,142,7,142,27,254,115, - 128,227,128,227,130,227,130,247,196,120,120,9,18,36,12,1, - 250,30,0,49,0,113,128,227,128,227,128,224,0,224,0,224, - 0,224,128,112,128,49,0,30,0,8,0,8,0,6,0,6, - 0,6,0,28,0,9,18,36,12,1,0,32,0,112,0,48, - 0,24,0,4,0,0,0,30,0,51,0,99,128,227,128,227, - 128,255,128,224,0,224,0,224,128,112,128,49,0,30,0,9, - 18,36,12,1,0,3,0,7,0,6,0,12,0,8,0,0, - 0,30,0,51,0,99,128,227,128,227,128,255,128,224,0,224, - 0,224,128,112,128,49,0,30,0,9,18,36,12,1,0,12, - 0,28,0,28,0,50,0,65,0,0,0,30,0,51,0,99, - 128,227,128,227,128,255,128,224,0,224,0,224,128,112,128,49, - 0,30,0,9,17,34,12,1,0,115,128,115,128,115,128,0, - 0,0,0,30,0,51,0,99,128,227,128,227,128,255,128,224, - 0,224,0,224,0,112,128,49,0,30,0,7,18,18,8,1, - 0,192,224,112,16,8,0,120,56,56,56,56,56,56,56,56, - 56,56,126,6,18,18,8,1,0,12,28,24,48,0,0,240, - 112,112,112,112,112,112,112,112,112,112,248,7,18,18,7,0, - 0,56,56,108,198,0,0,120,56,56,56,56,56,56,56,56, - 56,56,126,7,17,17,8,1,0,238,238,238,0,0,120,56, - 56,56,56,56,56,56,56,56,56,126,10,18,36,12,1,0, - 57,128,30,0,14,0,31,0,39,0,3,128,31,128,51,192, - 97,192,225,192,225,192,225,192,225,192,225,192,225,192,97,128, - 51,128,30,0,11,17,34,13,1,0,24,128,63,128,39,0, - 0,0,0,0,243,128,125,192,121,192,113,192,113,192,113,192, - 113,192,113,192,113,192,113,192,113,192,251,224,10,18,36,12, - 1,0,48,0,48,0,24,0,12,0,4,0,0,0,30,0, - 51,0,97,128,225,192,225,192,225,192,225,192,225,192,225,192, - 97,128,51,0,30,0,10,18,36,12,1,0,3,0,3,0, - 7,0,4,0,8,0,0,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 10,18,36,12,1,0,12,0,14,0,30,0,51,0,96,128, - 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, - 225,192,225,192,97,128,51,0,30,0,10,17,34,12,1,0, - 56,128,63,0,70,0,0,0,0,0,30,0,51,0,97,128, - 225,192,225,192,225,192,225,192,225,192,225,192,97,128,51,0, - 30,0,10,17,34,12,1,0,115,128,115,128,115,128,0,0, - 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, - 225,192,225,192,97,128,51,0,30,0,21,17,51,23,1,254, - 0,48,0,0,120,0,0,120,0,0,48,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,248,255,255,248,0,0, - 0,0,0,0,0,0,0,0,48,0,0,120,0,0,120,0, - 0,48,0,10,12,24,12,1,0,30,64,51,128,97,128,225, - 192,227,192,229,192,233,192,241,192,241,192,97,128,115,0,158, - 0,12,18,36,13,0,0,24,0,24,0,12,0,6,0,2, - 0,0,0,249,224,56,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,224,57,224,58,224,28,240,12,18,36,13,0, - 0,1,128,1,128,3,0,2,0,0,0,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,18,36,13,0,0,6,0,6,0,15, - 0,25,128,0,0,0,0,249,224,56,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,57,224,58,224,28,240,12, - 17,34,13,0,0,57,192,57,192,57,192,0,0,0,0,249, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 224,57,224,58,224,28,240,12,24,48,12,0,250,1,128,1, - 128,3,0,6,0,4,0,0,0,252,240,112,64,56,64,56, - 128,28,128,28,128,29,0,15,0,15,0,7,0,6,0,6, - 0,2,0,4,0,116,0,116,0,104,0,56,0,12,23,46, - 13,0,250,24,0,120,0,184,0,56,0,56,0,57,224,58, - 240,60,112,60,112,56,112,56,96,56,224,56,192,56,128,57, - 0,58,0,60,0,56,0,56,0,56,0,56,0,96,0,128, - 0,13,23,46,13,0,250,28,224,28,224,28,224,0,0,0, - 0,254,120,56,32,60,64,28,64,30,64,14,64,14,128,7, - 128,7,128,7,0,3,0,3,0,2,0,2,0,58,0,60, - 0,52,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=21 h=23 x= 3 y= 8 dx=23 dy= 0 ascent=18 len=63 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18n[618] U8G_FONT_SECTION("u8g_font_osb18n") = { - 0,70,31,234,249,18,0,0,0,0,42,58,0,18,251,18, - 0,9,10,20,13,2,8,24,0,24,0,201,128,235,128,28, - 0,44,0,235,128,217,128,24,0,24,0,21,21,63,23,1, - 253,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, - 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 4,9,9,7,2,251,224,240,240,240,16,32,32,64,128,6, - 3,3,8,1,5,252,252,252,4,4,4,8,2,0,96,240, - 240,96,9,23,46,11,1,251,1,128,1,128,1,0,3,0, - 3,0,2,0,6,0,6,0,4,0,12,0,12,0,8,0, - 24,0,24,0,24,0,16,0,48,0,48,0,32,0,96,0, - 96,0,64,0,192,0,12,18,36,15,1,0,15,0,25,128, - 48,192,112,224,112,224,240,224,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,48,192,25,128,15,0, - 8,18,18,15,3,0,24,56,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,255,11,18,36,15,2,0,31,0, - 113,192,96,224,224,224,240,224,248,224,121,192,1,192,3,0, - 6,0,8,0,48,32,64,32,64,32,255,224,191,224,143,192, - 135,128,12,18,36,15,1,0,31,0,49,192,96,224,112,224, - 120,224,120,224,0,192,1,128,62,0,1,192,0,224,0,240, - 112,240,248,240,240,240,192,224,65,192,63,0,11,18,36,15, - 2,0,3,0,7,0,7,0,15,0,15,0,23,0,55,0, - 39,0,103,0,71,0,199,0,135,0,255,224,7,0,7,0, - 7,0,7,0,63,224,11,18,36,15,2,0,65,128,127,128, - 126,0,120,0,64,0,64,0,95,0,99,128,65,192,65,224, - 1,224,33,224,241,224,241,224,225,192,193,192,67,128,62,0, - 11,18,36,15,2,0,7,128,24,64,48,224,113,224,113,224, - 240,0,240,0,247,128,249,192,240,224,240,224,240,224,240,224, - 112,224,112,224,48,192,57,192,15,0,11,18,36,15,2,0, - 156,64,190,96,255,32,255,224,128,32,128,64,128,64,0,128, - 1,128,3,0,7,0,6,0,14,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,15,1,0,31,128,32,64,64,32, - 192,32,192,32,240,32,252,64,127,128,127,192,63,224,103,240, - 193,240,192,112,192,48,192,48,96,32,112,64,31,128,12,18, - 36,15,2,0,31,0,113,128,96,192,224,224,224,224,224,240, - 224,240,96,240,113,240,30,240,0,240,0,240,56,224,120,224, - 120,224,97,192,33,128,30,0,4,12,12,8,2,0,96,240, - 240,96,0,0,0,0,96,240,240,96}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 3 y=13 dx=27 dy= 0 ascent=20 len=72 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =18 descent=-6 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18r[3611] U8G_FONT_SECTION("u8g_font_osb18r") = { - 0,70,31,234,249,18,4,190,10,54,32,127,250,20,250,18, - 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, - 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, - 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, - 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, - 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, - 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, - 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, - 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, - 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, - 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, - 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, - 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, - 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, - 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, - 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, - 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, - 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, - 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, - 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, - 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, - 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, - 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, - 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, - 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, - 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, - 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, - 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, - 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, - 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, - 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, - 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, - 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, - 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, - 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, - 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, - 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, - 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, - 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, - 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, - 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, - 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, - 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, - 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, - 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, - 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, - 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, - 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, - 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, - 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, - 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, - 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, - 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, - 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, - 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, - 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, - 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, - 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, - 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, - 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, - 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, - 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, - 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, - 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, - 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, - 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, - 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, - 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, - 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, - 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, - 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, - 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, - 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, - 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, - 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, - 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, - 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, - 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, - 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, - 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, - 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, - 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, - 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, - 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, - 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, - 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, - 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, - 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, - 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, - 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, - 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, - 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, - 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, - 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, - 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, - 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, - 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, - 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, - 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, - 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, - 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, - 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, - 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, - 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, - 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, - 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, - 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, - 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, - 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, - 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, - 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, - 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, - 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, - 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, - 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, - 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, - 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, - 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, - 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, - 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, - 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, - 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, - 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, - 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, - 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, - 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, - 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, - 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, - 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, - 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, - 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, - 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, - 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, - 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, - 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, - 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, - 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, - 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, - 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, - 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, - 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, - 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, - 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, - 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, - 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, - 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, - 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, - 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, - 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, - 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, - 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, - 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, - 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, - 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, - 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, - 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, - 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, - 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, - 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, - 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, - 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, - 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, - 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, - 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, - 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, - 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, - 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, - 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, - 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, - 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, - 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, - 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, - 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, - 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, - 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, - 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, - 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, - 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, - 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, - 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, - 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, - 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, - 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, - 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, - 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, - 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, - 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, - 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, - 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, - 120,8,255,4,143,196,131,252,64,120,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=28 h=29 x= 5 y=17 dx=31 dy= 0 ascent=28 len=87 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_FONT_SECTION("u8g_font_osb21") = { - 0,77,36,232,248,21,5,141,12,241,32,255,249,28,248,21, - 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, - 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, - 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, - 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, - 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, - 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, - 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, - 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, - 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, - 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, - 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, - 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, - 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, - 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, - 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, - 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, - 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, - 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, - 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, - 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, - 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, - 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, - 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, - 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, - 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, - 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, - 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, - 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, - 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, - 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, - 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, - 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, - 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, - 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, - 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, - 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, - 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, - 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, - 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, - 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, - 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, - 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, - 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, - 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, - 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, - 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, - 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, - 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, - 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, - 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, - 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, - 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, - 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, - 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, - 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, - 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, - 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, - 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, - 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, - 0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2, - 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, - 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, - 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, - 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, - 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, - 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, - 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, - 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, - 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, - 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, - 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, - 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, - 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, - 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, - 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, - 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, - 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, - 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, - 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, - 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, - 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, - 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, - 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, - 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, - 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, - 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, - 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, - 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, - 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, - 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, - 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, - 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, - 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, - 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, - 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, - 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, - 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, - 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, - 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, - 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, - 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, - 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, - 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, - 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, - 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, - 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, - 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, - 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, - 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, - 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, - 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, - 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, - 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, - 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, - 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, - 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, - 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, - 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, - 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, - 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, - 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, - 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, - 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, - 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, - 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, - 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, - 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, - 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, - 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, - 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, - 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, - 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, - 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, - 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, - 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, - 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, - 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, - 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, - 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, - 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, - 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, - 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, - 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, - 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, - 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, - 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, - 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, - 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, - 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, - 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, - 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, - 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, - 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, - 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, - 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, - 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, - 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, - 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, - 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, - 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, - 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, - 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, - 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, - 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, - 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, - 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, - 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, - 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, - 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, - 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, - 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, - 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, - 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, - 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, - 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, - 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, - 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, - 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, - 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, - 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, - 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, - 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, - 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, - 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, - 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, - 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, - 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, - 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, - 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, - 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, - 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, - 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, - 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, - 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, - 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, - 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, - 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, - 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, - 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, - 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, - 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, - 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, - 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, - 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, - 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, - 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, - 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, - 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, - 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, - 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, - 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, - 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, - 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, - 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, - 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, - 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, - 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, - 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, - 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, - 143,193,131,241,128,254,64,62,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,8,0,0,5, - 21,21,9,2,249,112,248,248,112,0,0,32,32,32,32,32, - 112,112,112,112,248,248,248,248,248,112,10,21,42,16,3,253, - 2,0,2,0,2,0,15,0,26,128,50,192,114,192,243,192, - 243,192,242,0,242,0,242,0,242,0,242,64,114,64,50,64, - 30,128,15,0,2,0,2,0,2,0,17,21,63,20,2,1, - 0,254,0,1,131,0,3,131,0,3,135,128,7,135,128,7, - 135,0,7,128,0,7,128,0,7,128,0,31,128,0,39,248, - 0,7,128,0,7,192,0,3,192,0,3,128,0,3,128,0, - 3,128,128,123,1,128,143,135,0,135,254,0,121,252,0,13, - 13,26,17,2,3,207,152,255,248,112,112,96,48,192,24,192, - 24,192,24,192,24,192,24,96,48,112,112,255,248,207,152,15, - 21,42,16,1,0,254,126,124,24,124,24,60,16,60,16,30, - 32,30,32,30,64,15,64,15,128,7,128,127,248,7,128,127, - 248,7,128,7,128,7,128,7,128,7,128,7,128,63,240,2, - 26,26,8,3,251,192,192,192,192,192,192,192,192,192,192,0, - 0,0,0,0,0,192,192,192,192,192,192,192,192,192,192,13, - 27,54,18,1,250,15,128,16,64,32,96,96,224,97,224,97, - 224,112,128,124,0,63,0,95,192,79,240,195,240,192,248,224, - 56,248,24,126,16,127,144,31,224,7,224,1,224,48,224,120, - 96,120,96,112,96,96,192,48,128,31,0,9,4,8,13,2, - 16,99,0,247,128,247,128,99,0,20,21,63,22,1,1,3, - 252,0,12,3,0,16,0,128,32,0,64,32,244,64,65,140, - 32,67,132,32,131,132,16,135,132,16,135,132,16,135,128,16, - 135,128,16,135,128,16,135,130,16,67,132,32,67,132,32,33, - 136,64,32,240,64,16,0,128,12,3,0,3,252,0,8,11, - 11,10,1,10,56,76,108,108,60,204,205,205,118,0,255,7, - 11,11,13,3,2,34,68,196,204,204,204,204,204,68,98,34, - 14,8,16,16,1,4,255,252,255,252,0,12,0,12,0,12, - 0,12,0,12,0,12,7,3,3,11,2,6,254,254,254,20, - 21,63,22,1,1,3,252,0,12,3,0,16,0,128,32,0, - 64,47,248,64,67,206,32,67,206,32,131,207,16,131,206,16, - 131,206,16,131,240,16,131,204,16,131,206,16,131,206,16,67, - 206,160,67,206,160,35,206,192,47,231,64,16,0,128,12,3, - 0,3,252,0,7,2,2,13,3,17,254,254,9,10,20,17, - 4,12,8,0,62,0,119,0,193,128,193,128,193,128,193,128, - 99,0,127,0,28,0,24,22,66,26,1,254,0,24,0,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,255,255,255,255,255,255,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,0,0,0,0,0,255,255,255,255,255,255,9,12, - 24,13,2,9,62,0,71,0,199,128,231,0,111,0,12,0, - 24,0,33,0,65,128,255,0,159,0,142,0,10,13,26,13, - 2,8,62,0,67,0,195,128,227,128,99,128,3,0,60,0, - 7,0,3,128,243,192,227,128,199,128,62,0,5,5,5,12, - 5,16,24,56,112,96,192,14,22,44,17,2,248,96,192,224, - 224,241,224,241,224,225,224,225,224,224,224,224,224,96,192,64, - 196,64,196,65,252,127,124,78,56,64,0,64,0,96,0,224, - 0,240,0,240,0,112,0,96,0,13,25,50,17,2,252,31, - 248,126,96,254,96,254,96,254,96,254,96,254,96,254,96,254, - 96,126,96,62,96,6,96,6,96,6,96,6,96,6,96,6, - 96,6,96,6,96,6,96,6,96,6,96,6,96,6,96,6, - 96,4,4,4,8,2,7,96,240,240,96,5,6,6,13,4, - 249,32,64,48,24,24,240,7,12,12,13,3,9,28,252,60, - 60,60,60,60,60,60,60,60,254,8,11,11,11,2,10,60, - 102,230,231,231,231,230,102,60,0,255,7,11,11,13,3,2, - 136,68,102,102,102,102,102,102,68,140,136,22,21,63,26,3, - 0,12,1,128,28,1,0,252,3,0,60,2,0,60,6,0, - 60,12,0,60,12,0,60,24,0,60,16,0,60,48,112,60, - 32,240,60,97,240,254,65,240,0,194,240,0,130,240,1,132, - 240,3,8,240,3,15,252,6,0,240,4,0,240,12,3,248, - 21,22,66,26,3,0,0,1,128,28,1,0,252,3,0,60, - 2,0,60,6,0,60,4,0,60,12,0,60,24,0,60,24, - 0,60,51,224,60,36,112,60,108,120,60,78,120,254,206,120, - 0,134,112,1,128,192,1,1,0,3,2,8,2,4,8,6, - 15,248,4,11,240,12,8,224,22,21,63,25,2,0,62,0, - 128,67,1,128,195,129,0,227,131,0,99,130,0,3,6,0, - 60,4,0,7,8,0,3,152,0,243,208,112,227,176,112,199, - 160,240,62,97,240,0,65,240,0,194,240,0,130,240,1,132, - 240,1,7,252,3,0,240,2,0,240,6,3,252,9,22,44, - 13,2,249,24,0,60,0,60,0,60,0,24,0,0,0,28, - 0,34,0,34,0,34,0,6,0,12,0,28,0,56,0,112, - 0,113,0,240,128,240,128,240,128,240,128,113,0,62,0,19, - 27,81,22,2,1,3,0,0,3,128,0,1,128,0,0,192, - 0,0,64,0,0,0,0,0,64,0,0,96,0,0,224,0, - 0,224,0,0,240,0,1,240,0,1,240,0,1,248,0,2, - 120,0,2,120,0,2,124,0,4,60,0,4,60,0,4,62, - 0,15,254,0,8,30,0,8,31,0,16,15,0,16,15,0, - 48,15,128,254,127,224,19,27,81,21,2,1,0,24,0,0, - 56,0,0,48,0,0,96,0,0,64,0,0,0,0,0,64, - 0,0,96,0,0,224,0,0,224,0,0,240,0,1,240,0, - 1,240,0,1,248,0,2,120,0,2,120,0,2,124,0,4, - 60,0,4,60,0,8,60,0,15,254,0,8,30,0,16,30, - 0,16,15,0,16,15,0,48,15,128,254,127,224,19,27,81, - 22,2,0,0,64,0,0,224,0,1,240,0,3,24,0,4, - 4,0,0,0,0,0,64,0,0,96,0,0,224,0,0,224, - 0,0,240,0,1,240,0,1,240,0,1,248,0,2,120,0, - 2,120,0,2,124,0,4,60,0,4,60,0,4,62,0,15, - 254,0,8,30,0,8,31,0,16,15,0,16,15,0,48,15, - 128,254,127,224,19,27,81,21,2,0,0,4,0,1,200,0, - 3,248,0,4,112,0,0,0,0,0,0,0,0,64,0,0, - 96,0,0,224,0,0,224,0,0,240,0,1,240,0,1,240, - 0,1,248,0,2,120,0,2,120,0,2,124,0,4,60,0, - 4,60,0,4,60,0,15,254,0,8,30,0,24,30,0,16, - 15,0,16,15,0,48,15,128,254,127,224,19,27,81,22,2, - 0,3,12,0,7,158,0,7,158,0,3,12,0,0,0,0, - 0,0,0,0,96,0,0,96,0,0,224,0,0,240,0,0, - 240,0,1,240,0,1,248,0,1,120,0,2,120,0,2,124, - 0,2,60,0,4,60,0,4,62,0,4,30,0,15,254,0, - 8,31,0,8,15,0,16,15,0,16,15,0,48,15,128,254, - 127,224,19,27,81,21,1,0,0,240,0,1,8,0,1,8, - 0,1,8,0,0,240,0,0,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 120,0,1,120,0,2,124,0,2,60,0,2,60,0,4,62, - 0,4,30,0,7,254,0,8,31,0,8,15,0,8,15,0, - 24,15,0,24,15,128,254,63,224,26,21,84,28,0,0,0, - 63,255,192,0,15,131,192,0,15,129,192,0,31,128,192,0, - 23,128,192,0,55,128,64,0,39,132,64,0,103,132,0,0, - 71,140,0,0,199,156,0,0,135,252,0,1,135,156,0,1, - 7,140,0,3,7,132,64,3,255,132,64,6,7,128,64,4, - 7,128,64,12,7,128,192,12,7,129,192,28,7,131,192,255, - 63,255,192,15,28,56,18,2,250,15,230,28,30,56,30,56, - 14,120,14,120,6,248,6,248,6,248,2,248,0,248,0,248, - 0,248,0,248,2,120,2,120,2,120,4,56,4,60,12,28, - 8,6,48,1,192,1,0,1,192,0,96,0,96,4,96,3, - 192,16,27,54,19,1,1,6,0,7,0,3,0,1,128,0, - 0,0,0,255,255,30,15,30,7,30,3,30,3,30,1,30, - 17,30,16,30,48,30,48,31,240,30,48,30,48,30,17,30, - 17,30,1,30,1,30,3,30,7,30,15,255,255,16,27,54, - 19,1,1,0,56,0,120,0,96,0,192,0,0,0,0,255, - 255,30,15,30,7,30,3,30,3,30,1,30,17,30,16,30, - 48,30,48,31,240,30,48,30,48,30,17,30,17,30,1,30, - 1,30,3,30,7,30,15,255,255,16,27,54,19,1,0,0, - 128,1,192,3,96,6,56,8,0,0,0,255,255,30,15,30, - 7,30,3,30,3,30,1,30,17,30,16,30,48,30,48,31, - 240,30,48,30,48,30,17,30,17,30,1,30,1,30,3,30, - 7,30,15,255,255,16,27,54,19,1,0,6,24,15,60,15, - 60,6,24,0,0,0,0,255,255,30,15,30,7,30,3,30, - 3,30,1,30,17,30,16,30,48,30,48,31,240,30,48,30, - 48,30,17,30,17,30,1,30,1,30,3,30,7,30,15,255, - 255,9,27,54,11,1,1,96,0,112,0,56,0,8,0,0, - 0,0,0,255,128,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,255,128,10,27,54, - 12,1,1,3,128,3,128,6,0,12,0,8,0,0,0,255, - 192,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,255,192,9,27,54,11,1,0,12, - 0,28,0,62,0,99,0,0,128,0,0,255,128,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,255,128,10,27,54,13,2,0,97,128,243,192,243, - 192,97,128,0,0,0,0,255,192,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,255, - 192,19,21,63,22,2,0,255,248,0,30,14,0,30,7,0, - 30,3,128,30,3,192,30,3,192,30,3,192,30,3,224,30, - 3,224,30,3,224,255,131,224,30,3,224,30,3,224,30,3, - 224,30,3,192,30,3,192,30,3,128,30,3,128,30,7,0, - 30,14,0,255,248,0,21,26,78,22,1,1,0,226,0,1, - 254,0,2,28,0,0,0,0,0,0,0,254,15,248,31,1, - 192,31,0,128,15,128,128,15,192,128,15,192,128,11,224,128, - 11,240,128,9,248,128,8,248,128,8,252,128,8,126,128,8, - 62,128,8,31,128,8,31,128,8,15,128,8,7,128,8,7, - 128,8,3,128,28,1,128,255,129,128,17,27,81,20,2,1, - 14,0,0,7,0,0,3,0,0,1,128,0,0,0,0,0, - 128,0,7,112,0,12,24,0,24,12,0,56,14,0,120,14, - 0,120,15,0,120,15,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,120,15,0,120, - 15,0,120,15,0,56,14,0,24,12,0,12,24,0,7,112, - 0,17,27,81,20,2,1,0,56,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,128,0,7,112,0,12,24,0,24, - 12,0,56,14,0,120,14,0,120,15,0,120,15,0,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,120,15,0,120,15,0,120,15,0,56,14,0,24, - 12,0,12,24,0,7,112,0,17,27,81,20,2,0,0,128, - 0,1,192,0,3,96,0,6,48,0,8,8,0,0,128,0, - 7,112,0,12,24,0,24,12,0,56,14,0,120,14,0,120, - 15,0,120,15,0,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, - 120,15,0,56,14,0,24,12,0,12,24,0,7,112,0,17, - 27,81,20,2,0,0,8,0,7,136,0,7,240,0,8,224, - 0,0,0,0,0,128,0,7,112,0,12,24,0,24,12,0, - 56,14,0,120,14,0,120,15,0,120,15,0,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,120,15,0,120,15,0,120,15,0,56,14,0,24,12,0, - 12,24,0,7,112,0,17,27,81,20,2,0,12,48,0,30, - 120,0,30,120,0,12,48,0,0,0,0,0,128,0,7,112, - 0,12,24,0,24,12,0,56,14,0,120,14,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,120,15,0,120,15,0,120,15, - 0,56,14,0,24,12,0,12,24,0,7,112,0,18,19,57, - 26,4,254,64,0,64,224,0,192,112,1,128,56,3,0,28, - 6,0,14,12,0,7,24,0,3,176,0,1,224,0,0,224, - 0,1,240,0,3,56,0,6,28,0,12,12,0,24,6,0, - 48,3,0,112,1,128,224,0,192,64,0,0,17,22,66,20, - 2,0,0,128,0,7,113,128,12,27,0,24,14,0,56,14, - 0,56,14,0,120,31,0,120,31,0,248,47,128,248,111,128, - 248,79,128,248,143,128,249,15,128,251,15,128,250,15,128,124, - 15,0,124,15,0,120,14,0,56,14,0,56,12,0,108,24, - 0,199,112,0,19,27,81,22,2,1,7,0,0,3,128,0, - 1,128,0,0,192,0,0,0,0,0,0,0,255,15,224,60, - 3,128,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,28, - 1,0,28,2,0,14,4,0,7,248,0,19,27,81,22,2, - 1,0,28,0,0,56,0,0,48,0,0,96,0,0,0,0, - 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,28,1,0,28,2,0,14,4,0,7, - 248,0,19,27,81,22,2,0,0,192,0,0,224,0,1,240, - 0,6,24,0,0,4,0,0,0,0,255,15,224,60,3,128, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,28,3,0, - 28,2,0,14,4,0,7,248,0,19,27,81,22,2,0,3, - 12,0,7,158,0,7,158,0,3,12,0,0,0,0,0,0, - 0,255,143,224,60,3,128,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,28,1,0,28,2,0,14,4,0,7,248,0, - 19,27,81,21,2,1,0,28,0,0,60,0,0,48,0,0, - 96,0,0,0,0,0,0,0,255,31,224,62,7,0,30,6, - 0,30,6,0,31,4,0,15,4,0,15,136,0,7,136,0, - 7,144,0,7,208,0,3,240,0,3,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,7,248,0,17,21,63,19,1,0,255,192,0, - 30,0,0,30,0,0,30,0,0,31,248,0,30,14,0,30, - 15,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 128,30,15,0,30,14,0,31,248,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,192,0,14,21,42,16, - 1,0,7,192,12,96,28,112,28,112,60,112,60,112,60,112, - 60,96,61,128,60,96,60,48,60,56,60,56,60,56,60,60, - 60,60,60,56,63,184,63,184,63,48,253,224,12,21,42,14, - 1,0,96,0,112,0,56,0,24,0,12,0,4,0,0,0, - 30,0,99,128,99,192,243,192,115,192,7,192,27,192,115,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, - 1,0,1,128,3,128,3,0,6,0,12,0,8,0,0,0, - 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, - 1,0,12,0,12,0,30,0,19,0,33,128,64,128,0,0, - 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,20,40,14, - 1,0,56,128,127,128,71,0,0,0,0,0,0,0,30,0, - 99,128,99,192,243,192,115,192,3,192,31,192,51,192,115,192, - 243,192,243,208,243,208,245,208,121,224,12,20,40,14,1,0, - 97,128,243,192,243,192,97,128,0,0,0,0,30,0,99,128, - 99,192,243,192,115,192,35,192,15,192,51,192,115,192,243,192, - 243,208,243,208,243,208,125,224,12,21,42,14,1,1,30,0, - 33,0,33,0,33,0,50,0,12,0,0,0,31,0,99,128, - 97,192,241,192,113,192,33,192,15,192,49,192,97,192,225,192, - 225,208,225,208,227,208,124,224,17,14,42,19,1,0,62,60, - 0,99,230,0,99,199,0,243,199,128,115,199,128,7,199,128, - 27,255,128,115,192,0,115,192,0,243,192,128,243,192,128,243, - 225,0,242,225,0,124,62,0,10,21,42,13,1,249,15,0, - 56,128,112,192,113,192,243,192,243,128,240,0,240,0,240,0, - 240,0,112,64,112,64,56,128,31,0,4,0,8,0,6,0, - 3,0,3,0,3,0,30,0,11,21,42,13,1,0,48,0, - 48,0,56,0,24,0,12,0,0,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,21,42,13,1,0,1,128, - 3,128,3,128,6,0,4,0,8,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,21,42,13,1,0,12,0, - 14,0,30,0,27,0,49,128,64,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,20,40,13,1,0,49,128, - 123,192,123,192,49,128,0,0,0,0,15,0,51,128,113,192, - 113,192,241,192,241,224,255,224,240,0,240,0,240,32,112,64, - 112,64,56,128,15,0,7,21,21,9,1,0,192,224,112,48, - 24,8,0,124,60,60,60,60,60,60,60,60,60,60,60,60, - 126,6,21,21,9,2,0,12,12,28,56,32,0,0,248,120, - 120,120,120,120,120,120,120,120,120,120,120,252,8,21,21,8, - 1,0,56,56,124,110,131,0,0,252,60,60,60,60,60,60, - 60,60,60,60,60,60,254,8,20,20,9,1,0,102,255,255, - 102,0,0,124,60,60,60,60,60,60,60,60,60,60,60,60, - 126,12,21,42,14,1,0,60,64,31,128,15,0,15,0,55, - 128,3,128,3,192,31,192,49,224,113,224,112,224,240,224,240, - 240,240,240,240,240,240,224,240,224,112,224,113,192,49,192,15, - 0,13,19,38,16,2,1,30,64,63,192,35,128,0,0,0, - 0,251,192,124,224,120,224,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,253,248,12,21,42, - 14,1,0,48,0,56,0,56,0,12,0,6,0,2,0,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, - 14,1,0,1,128,1,192,3,128,3,0,6,0,4,0,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, - 14,1,0,6,0,14,0,15,0,27,0,48,128,32,64,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,20,40, - 14,1,0,28,64,63,192,71,128,0,0,0,0,0,0,15, - 0,49,128,112,192,112,224,240,224,240,224,240,240,240,240,240, - 224,240,224,112,224,112,192,49,128,15,0,12,20,40,14,1, - 0,49,128,123,192,123,192,49,128,0,0,0,0,15,0,49, - 128,112,192,112,224,240,224,240,224,240,240,240,240,240,224,240, - 224,112,224,112,192,49,128,15,0,24,19,57,26,1,254,0, - 24,0,0,60,0,0,60,0,0,24,0,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0, - 0,0,0,0,0,0,0,0,0,0,24,0,0,60,0,0, - 60,0,0,60,0,0,24,0,12,14,28,14,1,0,15,16, - 49,160,113,192,112,224,241,224,243,224,242,240,244,240,248,224, - 240,224,112,224,112,192,121,128,143,0,14,21,42,15,0,0, - 24,0,28,0,12,0,6,0,3,0,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,248,60,248,29,120,14,124,14,21,42,15,0,0, - 0,192,0,192,1,192,1,128,3,0,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,120,60,248,29,120,14,124,14,21,42,15,0,0, - 3,0,7,0,7,128,12,128,24,64,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,120,60,248,29,120,14,124,14,20,40,15,0,0, - 24,192,61,224,61,224,24,192,0,0,0,0,253,248,60,120, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,248,29,120,14,124,13,28,56,15,1,249,0,192, - 0,192,1,192,3,128,2,0,0,0,0,0,252,248,120,32, - 56,32,60,64,28,64,28,64,30,64,14,128,15,128,7,128, - 7,0,7,0,3,0,3,0,2,0,2,0,50,0,124,0, - 116,0,116,0,56,0,13,26,52,15,1,250,28,0,124,0, - 188,0,60,0,60,0,60,0,60,240,63,120,60,120,60,120, - 60,120,60,120,60,112,60,112,60,96,60,192,60,128,61,0, - 62,0,60,0,60,0,60,0,60,0,60,0,48,0,192,0, - 13,27,54,15,1,249,24,96,60,240,60,240,24,96,0,0, - 0,0,254,120,120,48,56,32,60,32,28,32,30,64,30,64, - 14,64,15,128,7,128,7,128,7,0,3,0,3,0,1,0, - 2,0,50,0,122,0,116,0,116,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=24 h=27 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21n[723] U8G_FONT_SECTION("u8g_font_osb21n") = { - 0,77,36,232,248,21,0,0,0,0,42,58,0,22,250,21, - 0,11,12,24,14,2,9,14,0,14,0,78,192,228,224,245, - 192,14,0,14,0,245,192,228,192,78,192,14,0,14,0,24, - 25,75,26,1,252,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,255,255,255,255,255,255,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 5,10,10,7,1,251,112,248,248,248,120,8,16,16,32,192, - 7,3,3,11,2,6,254,254,254,4,4,4,8,2,0,96, - 240,240,96,9,27,54,13,2,250,1,128,1,128,1,128,3, - 0,3,0,3,0,2,0,6,0,6,0,6,0,12,0,12, - 0,12,0,24,0,24,0,24,0,16,0,48,0,48,0,48, - 0,96,0,96,0,96,0,192,0,192,0,192,0,128,0,14, - 21,42,16,1,1,15,192,24,96,56,112,56,112,120,120,120, - 120,248,120,248,124,248,124,248,124,248,124,248,124,248,124,248, - 124,248,120,120,120,120,120,56,112,56,112,24,96,15,192,9, - 21,42,16,3,0,6,0,14,0,30,0,254,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,255,128,12, - 21,42,16,2,1,63,192,97,224,96,224,224,240,224,240,240, - 240,248,240,121,224,49,224,3,192,7,128,14,0,28,0,48, - 16,96,16,64,16,192,16,255,240,255,224,143,224,135,192,13, - 21,42,16,2,1,63,192,96,224,96,224,224,240,240,240,248, - 240,120,240,112,240,0,224,1,192,31,0,0,224,0,240,0, - 112,112,120,248,120,248,120,240,120,224,112,96,240,59,192,13, - 21,42,16,1,0,1,192,1,192,3,192,3,192,7,192,7, - 192,15,192,27,192,27,192,51,192,35,192,99,192,67,192,195, - 192,255,248,3,192,3,192,3,192,3,192,3,192,31,248,13, - 21,42,16,2,0,96,224,127,192,127,128,127,0,120,0,64, - 0,64,0,64,0,79,0,113,224,64,240,64,240,0,248,0, - 248,112,248,248,248,248,248,240,240,224,240,97,224,59,192,13, - 21,42,16,2,1,15,224,24,32,56,48,48,240,112,240,112, - 240,240,96,240,0,240,0,247,128,248,224,240,112,240,112,240, - 112,240,120,112,120,112,112,112,112,48,112,56,96,13,192,11, - 21,42,16,3,0,156,64,190,96,255,32,255,32,199,224,129, - 160,128,64,128,64,0,128,0,128,1,0,3,0,7,0,6, - 0,14,0,14,0,30,0,30,0,30,0,30,0,30,0,14, - 21,42,16,2,1,31,192,48,32,96,48,96,16,224,16,240, - 16,248,32,254,32,127,192,63,192,31,240,31,248,99,248,64, - 248,192,60,192,24,192,24,192,24,96,16,112,48,31,192,13, - 21,42,16,2,1,31,128,48,192,112,96,112,112,240,112,240, - 112,240,120,240,120,240,120,112,120,112,120,56,248,15,120,0, - 120,0,120,56,112,120,112,120,96,112,224,96,192,63,128,4, - 14,14,8,2,0,96,240,240,240,96,0,0,0,0,0,96, - 240,240,96}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=28 h=29 x= 3 y=16 dx=31 dy= 0 ascent=23 len=87 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_FONT_SECTION("u8g_font_osb21r") = { - 0,77,36,232,248,21,5,141,12,241,32,127,249,23,249,21, - 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, - 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, - 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, - 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, - 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, - 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, - 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, - 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, - 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, - 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, - 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, - 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, - 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, - 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, - 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, - 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, - 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, - 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, - 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, - 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, - 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, - 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, - 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, - 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, - 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, - 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, - 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, - 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, - 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, - 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, - 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, - 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, - 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, - 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, - 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, - 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, - 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, - 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, - 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, - 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, - 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, - 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, - 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, - 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, - 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, - 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, - 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, - 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, - 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, - 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, - 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, - 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, - 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, - 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, - 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, - 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, - 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, - 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, - 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, - 0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2, - 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, - 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, - 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, - 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, - 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, - 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, - 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, - 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, - 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, - 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, - 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, - 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, - 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, - 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, - 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, - 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, - 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, - 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, - 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, - 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, - 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, - 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, - 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, - 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, - 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, - 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, - 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, - 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, - 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, - 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, - 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, - 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, - 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, - 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, - 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, - 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, - 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, - 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, - 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, - 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, - 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, - 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, - 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, - 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, - 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, - 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, - 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, - 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, - 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, - 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, - 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, - 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, - 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, - 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, - 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, - 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, - 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, - 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, - 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, - 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, - 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, - 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, - 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, - 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, - 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, - 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, - 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, - 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, - 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, - 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, - 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, - 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, - 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, - 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, - 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, - 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, - 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, - 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, - 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, - 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, - 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, - 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, - 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, - 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, - 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, - 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, - 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, - 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, - 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, - 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, - 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, - 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, - 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, - 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, - 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, - 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, - 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, - 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, - 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, - 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, - 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, - 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, - 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, - 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, - 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, - 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, - 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, - 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, - 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, - 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, - 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, - 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, - 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, - 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, - 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, - 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, - 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, - 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, - 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, - 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, - 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, - 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, - 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, - 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, - 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, - 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, - 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, - 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, - 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, - 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, - 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, - 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, - 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, - 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, - 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, - 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, - 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, - 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, - 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, - 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, - 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, - 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, - 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, - 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, - 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, - 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, - 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, - 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, - 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, - 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, - 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, - 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, - 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, - 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, - 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, - 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, - 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, - 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, - 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, - 143,193,131,241,128,254,64,62,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=34 h=33 x= 6 y=20 dx=36 dy= 0 ascent=34 len=125 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x=-2 y=-10 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =26 descent=-8 - Max Font ascent =34 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26[12640] U8G_FONT_SECTION("u8g_font_osb26") = { - 0,95,44,227,246,26,7,105,16,163,32,255,248,34,246,26, - 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, - 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, - 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, - 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, - 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, - 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, - 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, - 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, - 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, - 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, - 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, - 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, - 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, - 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, - 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, - 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, - 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, - 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, - 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, - 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, - 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, - 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, - 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, - 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, - 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, - 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, - 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, - 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, - 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, - 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, - 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, - 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, - 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, - 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, - 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, - 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, - 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, - 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, - 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, - 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, - 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, - 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, - 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, - 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, - 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, - 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, - 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, - 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, - 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, - 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, - 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, - 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, - 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, - 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, - 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, - 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, - 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, - 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, - 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, - 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, - 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, - 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, - 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, - 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, - 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, - 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, - 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, - 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, - 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, - 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, - 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, - 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, - 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, - 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, - 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, - 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, - 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, - 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, - 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, - 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, - 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, - 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, - 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, - 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, - 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, - 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, - 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, - 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, - 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, - 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, - 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, - 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, - 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, - 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, - 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, - 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, - 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, - 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, - 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, - 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, - 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, - 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, - 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, - 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, - 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, - 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, - 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, - 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, - 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, - 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, - 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, - 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, - 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, - 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, - 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, - 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, - 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, - 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, - 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, - 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, - 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, - 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, - 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, - 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, - 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, - 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, - 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, - 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, - 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, - 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, - 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, - 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, - 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, - 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, - 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, - 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, - 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, - 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, - 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, - 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, - 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, - 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, - 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, - 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, - 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, - 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, - 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, - 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, - 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, - 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, - 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, - 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, - 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, - 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, - 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, - 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, - 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, - 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, - 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, - 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, - 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, - 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, - 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, - 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, - 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, - 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, - 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, - 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, - 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, - 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, - 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, - 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, - 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, - 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, - 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, - 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, - 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, - 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, - 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, - 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, - 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, - 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, - 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, - 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, - 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, - 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, - 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, - 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, - 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, - 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, - 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, - 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, - 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, - 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, - 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, - 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, - 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, - 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, - 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, - 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, - 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, - 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, - 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, - 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, - 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, - 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, - 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, - 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, - 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, - 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, - 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, - 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, - 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, - 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, - 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, - 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, - 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, - 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, - 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, - 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, - 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, - 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, - 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, - 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, - 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, - 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, - 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, - 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, - 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, - 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, - 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, - 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, - 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, - 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, - 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, - 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, - 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, - 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, - 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, - 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, - 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, - 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, - 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, - 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, - 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, - 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, - 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, - 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, - 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, - 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, - 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, - 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, - 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, - 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, - 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, - 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, - 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, - 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, - 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, - 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, - 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, - 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, - 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, - 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, - 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, - 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, - 32,135,252,32,129,255,224,128,63,192,64,15,128,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,10,0,0,6,26,26,10,2,248,120,252,252,252,120,0, - 0,0,32,48,48,48,48,48,48,120,120,120,120,252,252,252, - 252,252,252,120,13,25,50,19,3,252,1,0,1,0,1,0, - 1,0,15,192,29,32,57,48,121,112,121,112,249,112,241,96, - 241,0,241,0,241,0,241,0,241,8,121,16,121,16,57,16, - 29,32,15,192,1,0,1,0,1,0,1,0,21,26,78,24, - 2,0,0,2,0,0,61,192,0,112,96,0,240,112,1,224, - 112,1,224,240,3,224,240,3,224,224,3,224,0,3,224,0, - 3,224,0,31,224,0,35,225,0,1,254,0,1,240,0,1, - 240,0,0,240,0,0,240,0,0,240,0,0,224,0,0,224, - 8,60,192,16,199,192,48,131,255,224,131,255,192,124,63,128, - 18,17,51,20,1,3,64,0,128,227,241,192,127,255,128,60, - 15,0,56,7,0,48,3,0,112,3,128,96,1,128,96,1, - 128,96,1,128,96,1,128,112,3,128,48,3,0,56,7,0, - 62,31,0,127,255,128,99,241,128,18,25,75,20,1,0,255, - 143,192,63,3,128,63,3,0,31,3,0,31,130,0,15,130, - 0,15,196,0,15,196,0,7,196,0,7,232,0,3,232,0, - 3,248,0,3,240,0,63,255,128,1,240,0,1,240,0,63, - 255,128,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,31,254,0,2,32,32,10,4,250, - 192,192,192,192,192,192,192,192,192,192,192,192,192,0,0,0, - 0,0,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 15,32,64,22,2,249,7,224,28,24,56,24,48,28,112,124, - 112,124,112,124,120,56,124,0,63,0,31,224,127,240,71,252, - 193,252,192,126,224,30,248,14,254,6,127,134,63,228,31,248, - 7,248,1,248,0,124,60,60,60,28,124,28,124,28,112,24, - 48,56,24,112,15,192,11,4,8,15,2,19,113,192,241,224, - 241,224,113,192,24,25,75,28,2,1,1,255,128,6,0,64, - 12,0,48,24,0,24,48,60,136,32,227,132,65,193,134,65, - 193,130,195,192,130,131,192,131,131,192,129,131,192,1,131,192, - 1,131,192,1,131,192,65,131,192,131,195,192,130,65,192,130, - 65,193,134,32,227,4,48,60,8,16,0,24,12,0,48,6, - 0,64,1,255,128,10,13,26,13,1,12,60,0,70,0,199, - 0,231,0,71,0,63,0,103,0,231,0,231,64,231,64,123, - 128,0,0,255,128,9,15,30,17,4,1,8,0,24,128,48, - 128,97,0,99,0,227,0,227,0,227,0,227,0,227,0,227, - 0,97,0,49,128,48,128,8,0,16,9,18,20,2,5,255, - 255,255,255,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,9,4,8,13,2,7,255,128,255,128,255,128,255,128,24, - 25,75,28,2,1,1,255,128,6,0,64,12,0,48,24,0, - 24,55,254,8,33,227,132,65,227,198,65,227,194,193,227,194, - 129,227,195,129,231,129,129,252,1,129,231,1,129,227,129,129, - 227,193,129,227,195,193,227,210,65,227,210,65,227,214,33,227, - 212,55,249,232,16,0,24,12,0,48,6,0,64,1,255,128, - 9,2,4,15,3,20,255,128,255,128,11,10,20,19,4,16, - 63,128,123,192,224,192,192,96,192,96,192,96,192,224,97,192, - 63,128,31,0,29,26,104,33,2,254,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,255,255,255,248,255,255,255,248,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,0,0,0,0,0,0,0,255,255,255,240,255,255, - 255,240,10,16,32,15,3,9,31,0,103,128,195,192,195,192, - 227,192,243,128,7,128,14,0,28,0,48,64,64,64,64,64, - 255,192,255,192,159,128,135,0,11,16,32,15,2,9,31,0, - 35,128,99,192,115,192,115,192,51,128,3,0,28,0,3,128, - 3,192,97,224,241,224,241,224,227,224,99,192,63,0,6,7, - 7,15,6,18,28,28,60,120,96,192,128,17,27,81,20,2, - 246,96,48,0,112,120,0,240,120,0,240,120,0,240,120,0, - 240,120,0,240,120,0,240,120,0,240,120,0,96,56,0,96, - 48,128,96,48,128,96,113,128,32,127,128,48,255,128,95,207, - 0,71,143,0,64,0,0,96,0,0,96,0,0,112,0,0, - 112,0,0,120,0,0,120,0,0,120,0,0,120,0,0,48, - 0,0,17,30,90,20,2,251,15,255,128,63,140,0,127,140, - 0,127,140,0,255,140,0,255,140,0,255,140,0,255,140,0, - 255,140,0,127,140,0,127,140,0,63,140,0,31,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,5,5,5,9,2,9,112,248,248,248,112,7,7,7, - 15,4,249,32,32,24,14,14,14,252,8,15,15,16,4,10, - 12,28,252,60,60,60,60,60,60,60,60,60,60,60,255,9, - 13,26,13,2,12,28,0,103,0,99,0,227,128,227,128,227, - 128,227,128,227,128,99,0,103,0,28,0,0,0,255,128,9, - 14,28,17,4,2,132,0,198,0,99,0,99,0,115,128,115, - 128,115,128,115,128,115,128,99,128,99,0,195,0,134,0,12, - 0,25,26,104,31,4,0,0,0,48,0,12,0,48,0,28, - 0,96,0,252,0,96,0,60,0,192,0,60,0,128,0,60, - 1,128,0,60,3,0,0,60,3,0,0,60,6,0,0,60, - 6,0,0,60,12,14,0,60,12,30,0,60,24,30,0,60, - 16,62,0,255,48,62,0,0,96,94,0,0,96,158,0,0, - 192,158,0,0,193,30,0,1,131,30,0,1,131,255,128,3, - 0,30,0,2,0,30,0,6,0,30,0,12,0,255,128,25, - 26,104,31,4,0,0,0,48,0,28,0,32,0,252,0,96, - 0,60,0,64,0,60,0,192,0,60,1,128,0,60,1,128, - 0,60,3,0,0,60,3,0,0,60,6,0,0,60,4,62, - 0,60,12,207,0,60,9,135,128,60,25,135,128,60,49,199, - 128,255,49,231,0,0,96,207,0,0,96,28,0,0,192,56, - 0,0,128,96,0,1,128,64,128,3,0,128,128,3,1,255, - 128,6,1,255,128,6,1,63,0,12,1,14,0,26,26,104, - 30,2,0,0,0,24,0,31,0,24,0,35,128,48,0,99, - 192,48,0,115,192,96,0,115,192,64,0,51,128,192,0,3, - 0,128,0,28,1,128,0,3,131,0,0,3,195,0,0,113, - 230,7,0,241,228,15,0,227,236,15,0,99,200,31,0,63, - 24,31,0,0,16,47,0,0,48,79,0,0,96,79,0,0, - 96,143,0,0,192,143,0,0,129,255,192,1,128,15,0,1, - 0,15,0,3,0,15,0,2,0,127,192,11,26,52,16,2, - 248,28,0,62,0,62,0,62,0,28,0,0,0,0,0,30, - 0,49,0,33,0,33,0,1,0,2,0,6,0,14,0,28, - 0,60,0,120,192,120,64,248,32,240,32,240,32,240,32,120, - 64,120,64,31,128,23,33,99,25,1,0,1,128,0,1,192, - 0,0,224,0,0,96,0,0,48,0,0,16,0,0,0,0, - 0,16,0,0,24,0,0,56,0,0,56,0,0,60,0,0, - 124,0,0,124,0,0,126,0,0,254,0,0,254,0,0,158, - 0,1,159,0,1,159,0,1,31,0,3,15,128,3,15,128, - 3,15,128,6,7,192,7,255,192,6,7,192,4,7,224,12, - 3,224,12,3,224,28,3,240,28,3,240,255,159,254,23,33, - 99,25,1,0,0,3,0,0,7,128,0,7,0,0,14,0, - 0,28,0,0,16,0,0,0,0,0,16,0,0,24,0,0, - 56,0,0,56,0,0,60,0,0,124,0,0,124,0,0,126, - 0,0,254,0,0,254,0,0,159,0,1,159,0,1,159,0, - 1,31,128,3,15,128,3,15,128,3,15,128,6,7,192,7, - 255,192,6,7,192,12,7,224,12,3,224,12,3,224,28,3, - 240,60,3,248,255,159,254,23,33,99,25,1,0,0,16,0, - 0,56,0,0,56,0,0,124,0,0,199,0,1,129,128,0, - 0,0,0,16,0,0,24,0,0,56,0,0,56,0,0,60, - 0,0,124,0,0,124,0,0,126,0,0,254,0,0,254,0, - 0,158,0,1,159,0,1,159,0,1,31,0,3,15,128,3, - 15,128,3,15,128,6,7,192,7,255,192,6,7,192,4,7, - 224,12,3,224,12,3,224,28,3,240,28,3,240,255,159,254, - 23,32,96,25,1,0,0,112,128,0,249,0,1,191,0,1, - 14,0,0,0,0,0,0,0,0,0,0,0,24,0,0,56, - 0,0,56,0,0,60,0,0,124,0,0,124,0,0,126,0, - 0,254,0,0,254,0,0,159,0,1,159,0,1,159,0,1, - 31,128,3,15,128,3,15,128,3,15,128,6,7,192,7,255, - 192,6,7,192,12,7,224,12,3,224,12,3,224,28,3,240, - 60,3,248,255,159,254,23,32,96,25,1,0,1,195,128,3, - 199,128,3,199,128,1,195,128,0,0,0,0,0,0,0,24, - 0,0,56,0,0,56,0,0,56,0,0,60,0,0,124,0, - 0,124,0,0,126,0,0,254,0,0,254,0,0,159,0,1, - 159,0,1,159,0,1,15,128,3,15,128,2,15,128,2,15, - 192,6,7,192,7,255,192,4,7,192,4,3,224,8,3,224, - 8,3,224,24,1,240,24,3,240,255,159,254,23,33,99,25, - 1,0,0,60,0,0,126,0,0,195,0,0,195,0,0,199, - 0,0,126,0,0,60,0,0,0,0,0,24,0,0,56,0, - 0,56,0,0,60,0,0,124,0,0,124,0,0,126,0,0, - 254,0,0,254,0,0,159,0,1,159,0,1,159,0,1,15, - 0,3,15,128,3,15,128,2,15,128,2,7,192,7,255,192, - 4,7,192,4,3,224,12,3,224,8,3,224,24,1,240,28, - 1,240,255,159,254,32,25,100,34,1,0,0,15,255,255,0, - 3,240,31,0,7,240,15,0,7,240,7,0,5,240,7,0, - 13,240,3,0,9,240,3,0,25,240,35,0,25,240,32,0, - 49,240,96,0,49,240,96,0,97,240,224,0,97,255,224,0, - 193,240,224,0,193,240,96,1,129,240,96,1,129,240,33,3, - 255,240,33,3,1,240,3,6,1,240,3,6,1,240,7,12, - 1,240,7,12,1,240,15,62,1,240,63,255,143,255,255,19, - 33,99,22,2,249,3,248,192,14,6,192,30,3,192,60,3, - 192,60,1,192,124,1,192,124,0,192,124,0,192,252,0,192, - 252,0,64,252,0,64,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,96,124,0,64,124,0,64,124,0, - 64,60,0,192,62,0,128,30,1,0,15,2,0,3,156,0, - 0,224,0,0,128,0,0,240,0,0,56,0,0,56,0,0, - 56,0,2,48,0,1,224,0,20,33,99,23,2,0,3,0, - 0,7,128,0,3,128,0,1,192,0,0,224,0,0,32,0, - 0,0,0,0,0,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,33,99,23,2,0,0,6,0,0,14,0,0,30,0, - 0,28,0,0,48,0,0,96,0,0,0,0,0,0,0,255, - 255,224,31,1,224,31,0,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,4,32,31,4,0,31,12,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,12,48,31, - 4,48,31,4,48,31,0,48,31,0,112,31,0,112,31,0, - 240,31,0,240,31,3,240,255,255,240,20,33,99,23,2,0, - 0,32,0,0,96,0,0,240,0,1,248,0,3,140,0,6, - 3,0,0,0,0,0,0,0,255,255,224,31,1,224,31,0, - 224,31,0,224,31,0,96,31,0,96,31,0,32,31,4,32, - 31,4,0,31,12,0,31,12,0,31,28,0,31,252,0,31, - 28,0,31,12,0,31,12,48,31,4,48,31,4,48,31,0, - 48,31,0,112,31,0,112,31,0,240,31,1,240,31,3,240, - 255,255,240,20,32,96,23,2,0,7,14,0,7,143,0,7, - 143,0,7,14,0,0,0,0,0,0,0,0,0,0,255,255, - 224,31,1,224,31,0,224,31,0,224,31,0,96,31,0,96, - 31,0,32,31,4,32,31,4,0,31,12,0,31,12,0,31, - 28,0,31,252,0,31,28,0,31,12,0,31,12,48,31,4, - 48,31,4,48,31,0,48,31,0,112,31,0,112,31,0,240, - 31,0,240,31,3,240,255,255,240,11,33,66,14,2,0,96, - 0,112,0,120,0,56,0,28,0,4,0,0,0,0,0,255, - 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, - 224,11,33,66,14,2,0,0,192,1,192,3,192,3,128,7, - 0,4,0,0,0,0,0,255,224,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,255,224,11,33,66,14,2,0,4, - 0,14,0,14,0,31,0,113,128,192,96,0,0,0,0,255, - 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, - 224,11,32,64,15,2,0,112,224,241,224,241,224,112,224,0, - 0,0,0,0,0,255,224,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,255,224,23,25,75,27,2,0,255,255,0, - 31,3,192,31,0,224,31,0,240,31,0,120,31,0,120,31, - 0,124,31,0,124,31,0,126,31,0,126,31,0,126,255,224, - 126,31,0,126,31,0,126,31,0,126,31,0,126,31,0,124, - 31,0,124,31,0,124,31,0,120,31,0,120,31,0,240,31, - 0,224,31,3,192,255,255,0,24,32,96,27,2,0,0,112, - 64,0,252,192,0,159,128,0,135,0,0,0,0,0,0,0, - 0,0,0,255,3,255,31,128,124,31,128,56,15,192,16,7, - 224,16,7,240,16,7,240,16,5,248,16,5,252,16,4,252, - 16,4,126,16,4,127,16,4,63,16,4,31,144,4,31,208, - 4,15,208,4,7,240,4,7,240,4,3,240,4,1,240,4, - 1,240,4,0,240,14,0,112,31,0,48,255,192,48,20,33, - 99,24,2,1,7,0,0,7,128,0,3,128,0,1,192,0, - 0,192,0,0,96,0,0,0,0,0,0,0,3,252,0,6, - 6,0,14,7,0,28,3,128,60,3,192,60,3,192,124,3, - 224,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,252,3,240,252,3,240,124,3,224,124, - 3,224,124,3,224,60,3,192,60,3,192,28,3,128,14,7, - 0,6,6,0,3,252,0,20,33,99,24,2,1,0,14,0, - 0,30,0,0,28,0,0,56,0,0,48,0,0,96,0,0, - 0,0,0,0,0,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,224,124,3,224,124,3,224,60,3, - 192,60,3,192,28,3,128,14,7,0,6,6,0,3,252,0, - 20,33,99,24,2,0,0,96,0,0,96,0,0,240,0,1, - 248,0,3,156,0,6,6,0,0,0,0,0,0,0,3,252, - 0,6,6,0,14,7,0,28,3,128,60,3,192,60,3,192, - 124,3,224,124,3,224,124,3,224,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 224,124,3,224,124,3,224,60,3,192,60,3,192,28,3,128, - 14,7,0,6,6,0,3,252,0,20,32,96,24,2,0,1, - 194,0,3,230,0,6,124,0,4,56,0,0,0,0,0,0, - 0,0,0,0,3,252,0,6,6,0,14,7,0,28,3,128, - 60,3,192,60,3,192,124,3,224,124,3,224,124,3,224,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,124,3,224,124,3,224,124,3,224,60,3,192, - 60,3,192,28,3,128,14,7,0,6,6,0,3,252,0,20, - 32,96,24,2,0,7,14,0,7,143,0,7,143,0,7,14, - 0,0,0,0,0,0,0,0,0,0,3,252,0,6,6,0, - 14,7,0,28,3,128,60,3,192,60,3,192,124,3,224,124, - 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,124,3,224,124,3,224, - 124,3,224,60,3,192,60,3,192,28,3,128,14,7,0,6, - 6,0,3,252,0,22,23,69,32,5,254,64,0,8,224,0, - 28,240,0,60,120,0,120,56,0,240,28,0,224,14,1,192, - 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, - 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, - 192,28,0,224,56,0,112,112,0,56,224,0,28,64,0,8, - 20,25,75,24,2,1,3,252,48,6,6,96,14,3,192,28, - 3,128,60,3,192,60,3,192,124,3,224,124,7,224,124,15, - 224,252,11,240,252,19,240,252,35,240,252,99,240,252,67,240, - 252,131,240,253,3,240,127,3,224,126,3,224,124,3,224,60, - 3,192,60,3,192,28,3,128,60,7,0,102,6,0,195,252, - 0,23,33,99,26,2,1,1,192,0,1,224,0,0,224,0, - 0,112,0,0,56,0,0,8,0,0,0,0,0,0,0,255, - 225,254,31,0,120,31,0,48,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,15,0,32,15,0, - 32,7,128,64,3,192,192,1,255,0,23,33,99,26,2,1, - 0,3,128,0,3,128,0,7,128,0,14,0,0,12,0,0, - 24,0,0,0,0,0,0,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,23,33,99,26,2,0,0,8,0,0,24,0,0, - 60,0,0,126,0,0,227,0,1,128,192,0,0,0,0,0, - 0,255,225,254,31,0,120,31,0,48,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,15,0,48, - 15,128,32,7,128,64,3,192,192,1,255,0,23,32,96,26, - 2,0,1,195,128,1,227,192,1,227,192,1,195,128,0,0, - 0,0,0,0,0,0,0,255,225,254,31,0,120,31,0,48, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,15,0,32,15,0,32,7,128,64,3,192,192,1, - 255,0,23,33,99,26,2,0,0,1,128,0,3,128,0,7, - 128,0,7,0,0,12,0,0,8,0,0,0,0,0,0,0, - 255,225,254,31,128,112,31,128,96,15,128,96,15,192,64,7, - 192,192,7,224,192,7,224,128,3,225,128,3,241,0,1,241, - 0,1,251,0,0,250,0,0,254,0,0,252,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,3,255,128,20,25,75,24,2, - 0,255,240,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,254,0,31,7,128,31,3,192,31,1,224,31,1,240,31, - 1,240,31,1,240,31,1,240,31,1,240,31,1,224,31,3, - 192,31,7,128,31,254,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,255,240,0,16,25,50,19, - 1,0,3,224,6,120,14,60,30,60,28,60,60,60,60,60, - 60,56,60,112,61,192,60,48,60,28,60,30,60,30,60,15, - 60,15,60,15,60,15,60,15,60,15,61,207,63,222,63,158, - 61,156,252,248,15,25,50,18,2,0,48,0,56,0,60,0, - 28,0,14,0,2,0,0,0,0,0,15,128,49,224,96,240, - 112,240,120,240,120,240,48,240,3,240,28,240,56,240,120,240, - 240,240,240,242,240,242,240,242,121,252,62,120,15,25,50,18, - 2,0,0,224,0,224,1,224,1,192,3,0,6,0,4,0, - 0,0,15,128,49,224,96,240,112,240,120,240,120,240,32,240, - 7,240,28,240,56,240,120,240,240,240,240,242,240,242,240,242, - 121,252,62,120,15,25,50,18,2,0,7,0,7,0,15,0, - 13,128,24,192,112,96,0,0,0,0,15,128,49,224,96,240, - 112,240,120,240,120,240,32,240,7,240,28,240,56,240,120,240, - 240,240,240,242,240,242,240,242,121,252,62,120,15,24,48,18, - 2,0,28,32,63,32,103,224,65,192,0,0,0,0,0,0, - 15,128,49,224,96,240,112,240,120,240,120,240,48,240,7,240, - 28,240,56,240,120,240,240,240,240,242,240,242,240,242,121,252, - 62,120,15,24,48,18,2,0,112,224,120,240,120,240,112,224, - 0,0,0,0,0,0,15,128,49,224,96,240,112,240,120,240, - 120,240,32,240,7,240,28,240,56,240,120,240,240,240,240,242, - 240,242,240,242,121,252,62,120,15,25,50,18,2,1,15,128, - 25,192,16,192,16,192,24,192,15,128,7,0,0,0,15,128, - 49,224,96,240,112,240,120,240,120,240,32,240,7,240,24,240, - 56,240,112,240,240,240,240,242,240,242,240,242,121,252,62,120, - 21,17,51,25,2,0,31,143,128,49,248,224,96,248,240,112, - 248,112,120,248,120,120,240,120,48,240,120,3,240,120,28,255, - 248,56,240,0,120,240,0,240,240,8,240,248,8,240,248,8, - 240,248,16,121,188,48,62,15,192,13,24,48,16,2,249,7, - 128,28,96,56,32,120,112,120,240,248,240,240,224,240,64,240, - 0,240,0,240,0,240,8,120,16,120,16,56,16,28,32,15, - 192,2,0,4,0,3,128,1,192,1,192,17,192,15,128,13, - 25,50,17,2,0,48,0,56,0,60,0,28,0,6,0,3, - 0,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, - 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, - 24,56,16,28,32,7,192,13,25,50,17,2,0,0,96,0, - 224,1,224,1,192,3,128,6,0,0,0,0,0,7,128,24, - 224,56,240,120,240,120,240,240,120,240,120,240,120,255,248,240, - 0,240,0,240,8,120,8,120,24,56,16,28,32,7,192,13, - 25,50,17,2,0,7,0,7,0,15,128,13,128,24,192,48, - 112,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, - 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, - 24,56,16,28,32,7,192,13,24,48,17,2,0,56,224,120, - 240,120,240,56,224,0,0,0,0,0,0,7,128,24,224,56, - 240,120,240,120,240,240,120,240,120,240,120,255,248,240,0,240, - 0,240,8,120,8,120,24,56,16,28,32,7,192,8,25,25, - 10,1,0,192,224,240,112,24,12,0,0,252,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,255,8,25,25,10, - 1,0,3,7,7,14,28,16,0,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,255,10,25,50,10,0, - 0,28,0,30,0,30,0,55,0,97,128,192,192,0,0,0, - 0,126,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,127,128,10,24,48,11,1,0,115,128,243,192,243,192,115, - 128,0,0,0,0,0,0,126,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,127,128,14,25,50,18,2,0,30, - 48,15,96,15,128,7,128,15,192,49,224,1,224,0,240,15, - 248,28,248,56,120,120,120,120,124,240,124,240,60,240,60,240, - 60,240,60,240,60,240,124,120,120,120,120,56,112,28,224,7, - 192,17,23,69,19,1,1,7,136,0,15,248,0,16,240,0, - 0,0,0,0,0,0,0,0,0,252,120,0,61,188,0,61, - 28,0,62,30,0,62,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,255,127,128,14,25,50,18, - 2,0,24,0,60,0,28,0,14,0,7,0,3,0,0,0, - 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, - 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, - 24,224,7,128,14,25,50,18,2,0,0,96,0,240,0,224, - 1,192,3,128,3,0,0,0,0,0,7,128,28,224,56,112, - 120,120,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 240,60,120,120,120,120,56,112,24,224,7,128,14,25,50,18, - 2,0,3,0,7,128,7,128,15,192,28,224,48,48,32,16, - 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, - 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, - 24,224,7,128,14,24,48,18,2,0,14,16,31,144,39,224, - 33,224,0,0,0,0,0,0,7,128,28,224,56,112,120,120, - 120,120,240,60,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,120,120,56,112,24,224,7,128,14,24,48,18,2,0, - 56,112,60,240,60,240,56,112,0,0,0,0,0,0,7,128, - 28,224,56,112,120,120,120,120,240,60,240,60,240,60,240,60, - 240,60,240,60,240,60,120,120,120,120,56,112,24,224,7,128, - 29,23,92,31,1,254,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,7,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,248,255,255,255,248,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7, - 0,0,0,15,128,0,0,15,128,0,0,15,128,0,0,7, - 0,0,14,17,34,18,2,0,7,132,24,232,56,120,120,120, - 120,120,240,124,240,188,241,188,243,60,246,60,244,60,248,60, - 120,120,120,120,120,112,92,96,135,128,17,25,75,19,1,0, - 12,0,0,30,0,0,14,0,0,7,0,0,3,0,0,0, - 128,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, - 62,0,60,94,0,30,158,0,15,31,128,17,25,75,19,1, - 0,0,48,0,0,112,0,0,112,0,0,224,0,1,192,0, - 1,0,0,0,0,0,0,0,0,252,126,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,62,0,60,62,0, - 60,62,0,60,94,0,30,158,0,15,31,128,17,25,75,19, - 1,0,1,128,0,3,192,0,3,192,0,7,224,0,12,48, - 0,24,24,0,0,0,0,0,0,0,252,126,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,62,0,60,62, - 0,60,62,0,60,94,0,30,158,0,15,31,128,17,24,72, - 19,1,0,28,112,0,30,120,0,30,120,0,28,112,0,0, - 0,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, - 62,0,60,94,0,30,158,0,15,31,128,17,33,99,18,0, - 248,0,28,0,0,28,0,0,60,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,0,0,255,159,128,62,6,0,30, - 4,0,31,4,0,15,4,0,15,8,0,15,136,0,7,136, - 0,7,152,0,3,208,0,3,208,0,3,240,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 64,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,15,32,64,18,1,247,12,0,28,0,124,0, - 188,0,60,0,60,0,60,0,60,120,60,252,61,30,63,30, - 62,30,62,30,62,30,60,30,60,28,60,28,60,56,60,56, - 60,48,60,96,60,192,61,0,62,0,60,0,60,0,60,0, - 60,0,60,0,60,0,48,0,192,0,17,32,96,18,0,248, - 14,28,0,15,60,0,15,60,0,14,28,0,0,0,0,0, - 0,0,0,0,0,255,159,128,62,6,0,30,4,0,30,4, - 0,15,8,0,15,8,0,15,8,0,7,136,0,7,144,0, - 3,208,0,3,208,0,3,224,0,1,224,0,1,224,0,0, - 224,0,0,192,0,0,192,0,0,64,0,0,128,0,28,128, - 0,60,128,0,61,0,0,57,0,0,59,0,0,30,0,0 - }; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=29 h=33 x= 4 y=11 dx=31 dy= 0 ascent=26 len=120 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26n[903] U8G_FONT_SECTION("u8g_font_osb26n") = { - 0,95,44,227,246,25,0,0,0,0,42,58,0,26,249,25, - 0,12,14,28,17,3,11,14,0,14,0,14,0,196,112,228, - 240,245,224,14,0,14,0,245,224,228,240,196,112,14,0,14, - 0,14,0,29,30,120,31,1,251,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,255,255,255,248,255,255,255,248,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,7,11,11,10,2,249,120,252,254,254,126,6,4,12,8, - 48,224,9,4,8,13,2,7,255,128,255,128,255,128,255,128, - 5,5,5,9,2,0,112,248,248,248,112,12,33,66,15,2, - 249,0,112,0,96,0,96,0,224,0,192,0,192,1,192,1, - 192,1,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,56, - 0,56,0,48,0,48,0,112,0,96,0,96,0,224,0,192, - 0,192,0,16,25,50,20,2,1,7,224,14,112,28,56,60, - 60,60,60,124,62,124,62,124,62,252,63,252,63,252,63,252, - 63,252,63,252,63,252,63,252,63,252,63,124,62,124,62,124, - 62,60,60,60,60,28,56,14,112,7,224,12,25,50,20,4, - 0,7,0,7,0,31,0,255,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,255,240,15,25,50,20,2,1,31,240,48,120,96,60,96, - 62,224,62,240,62,248,62,252,62,124,124,56,124,0,248,1, - 240,1,224,3,128,7,0,12,2,24,2,48,2,32,2,76, - 6,127,254,127,252,71,252,67,252,65,248,15,26,52,20,2, - 0,1,0,14,240,56,120,48,60,112,62,120,62,124,62,124, - 62,60,62,24,60,0,120,0,112,31,192,0,240,0,120,0, - 60,0,60,56,62,124,62,252,62,252,62,248,62,224,60,96, - 124,96,120,31,224,16,25,50,20,2,0,0,120,0,120,0, - 248,1,248,1,248,3,248,3,248,6,248,6,248,12,248,12, - 248,24,248,56,248,48,248,96,248,96,248,192,248,255,255,0, - 248,0,248,0,248,0,248,0,248,0,248,15,255,15,26,52, - 20,3,0,0,8,48,56,63,240,63,224,63,128,62,0,32, - 0,32,0,32,0,32,0,39,192,56,112,48,120,32,60,32, - 60,0,62,0,62,56,62,120,62,252,62,248,62,248,60,224, - 60,96,120,112,112,31,224,16,25,50,20,2,1,7,240,12, - 8,28,12,56,60,56,124,120,124,120,120,120,48,248,0,248, - 0,251,224,252,56,252,60,248,30,248,31,248,31,248,31,248, - 31,120,31,120,31,120,31,56,30,28,30,12,60,7,240,15, - 25,50,20,3,0,79,28,95,156,127,198,127,230,127,254,224, - 246,192,4,192,12,128,12,128,24,0,16,0,48,0,96,0, - 224,1,192,1,192,3,192,7,128,7,128,15,128,15,128,15, - 128,15,128,15,128,7,0,17,25,75,20,2,1,7,240,0, - 24,12,0,48,12,0,48,6,0,112,6,0,112,6,0,120, - 6,0,124,4,0,127,12,0,127,152,0,63,224,0,31,248, - 0,15,252,0,15,254,0,49,255,0,96,127,0,64,31,0, - 192,15,128,192,7,0,192,7,0,192,3,0,96,6,0,96, - 6,0,56,12,0,14,240,0,15,25,50,20,2,1,31,192, - 60,112,120,48,120,56,248,60,248,60,248,60,248,62,248,62, - 248,62,248,62,120,62,124,126,60,126,15,190,0,62,0,62, - 12,60,30,60,62,60,62,56,60,56,48,112,16,96,15,192, - 5,17,17,9,2,0,112,248,248,248,112,0,0,0,0,0, - 0,0,112,248,248,248,112}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=34 h=33 x= 4 y=18 dx=36 dy= 0 ascent=28 len=125 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x=-2 y=-8 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =26 descent=-8 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26r[5950] U8G_FONT_SECTION("u8g_font_osb26r") = { - 0,95,44,227,246,26,7,105,16,163,32,127,248,28,248,26, - 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, - 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, - 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, - 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, - 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, - 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, - 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, - 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, - 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, - 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, - 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, - 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, - 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, - 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, - 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, - 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, - 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, - 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, - 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, - 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, - 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, - 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, - 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, - 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, - 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, - 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, - 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, - 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, - 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, - 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, - 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, - 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, - 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, - 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, - 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, - 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, - 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, - 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, - 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, - 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, - 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, - 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, - 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, - 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, - 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, - 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, - 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, - 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, - 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, - 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, - 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, - 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, - 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, - 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, - 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, - 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, - 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, - 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, - 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, - 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, - 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, - 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, - 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, - 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, - 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, - 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, - 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, - 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, - 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, - 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, - 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, - 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, - 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, - 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, - 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, - 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, - 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, - 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, - 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, - 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, - 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, - 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, - 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, - 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, - 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, - 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, - 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, - 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, - 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, - 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, - 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, - 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, - 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, - 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, - 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, - 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, - 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, - 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, - 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, - 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, - 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, - 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, - 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, - 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, - 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, - 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, - 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, - 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, - 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, - 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, - 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, - 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, - 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, - 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, - 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, - 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, - 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, - 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, - 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, - 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, - 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, - 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, - 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, - 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, - 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, - 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, - 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, - 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, - 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, - 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, - 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, - 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, - 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, - 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, - 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, - 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, - 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, - 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, - 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, - 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, - 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, - 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, - 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, - 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, - 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, - 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, - 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, - 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, - 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, - 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, - 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, - 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, - 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, - 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, - 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, - 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, - 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, - 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, - 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, - 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, - 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, - 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, - 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, - 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, - 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, - 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, - 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, - 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, - 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, - 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, - 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, - 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, - 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, - 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, - 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, - 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, - 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, - 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, - 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, - 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, - 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, - 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, - 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, - 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, - 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, - 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, - 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, - 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, - 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, - 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, - 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, - 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, - 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, - 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, - 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, - 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, - 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, - 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, - 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, - 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, - 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, - 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, - 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, - 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, - 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, - 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, - 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, - 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, - 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, - 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, - 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, - 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, - 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, - 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, - 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, - 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, - 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, - 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, - 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, - 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, - 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, - 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, - 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, - 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, - 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, - 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, - 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, - 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, - 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, - 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, - 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, - 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, - 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, - 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, - 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, - 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, - 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, - 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, - 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, - 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, - 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, - 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, - 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, - 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, - 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, - 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, - 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, - 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, - 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, - 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, - 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, - 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, - 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, - 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, - 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, - 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, - 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, - 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, - 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, - 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, - 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, - 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, - 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, - 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, - 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, - 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, - 32,135,252,32,129,255,224,128,63,192,64,15,128,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=38 h=37 x= 7 y=23 dx=41 dy= 0 ascent=38 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =29 descent=-9 - Max Font ascent =38 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_FONT_SECTION("u8g_font_osb29") = { - 0,107,49,223,245,29,9,166,21,115,32,255,247,38,245,29, - 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, - 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, - 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, - 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, - 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, - 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, - 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, - 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, - 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, - 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, - 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, - 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, - 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, - 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, - 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, - 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, - 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, - 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, - 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, - 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, - 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, - 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, - 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, - 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, - 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, - 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, - 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, - 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, - 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, - 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, - 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, - 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, - 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, - 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, - 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, - 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, - 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, - 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, - 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, - 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, - 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, - 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, - 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, - 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, - 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, - 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, - 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, - 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, - 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, - 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, - 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, - 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, - 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, - 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, - 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, - 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, - 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, - 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, - 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, - 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, - 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, - 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, - 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, - 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, - 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, - 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, - 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, - 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, - 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, - 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, - 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, - 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, - 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120, - 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, - 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, - 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, - 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, - 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, - 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, - 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, - 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, - 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, - 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, - 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, - 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, - 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, - 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, - 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, - 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, - 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, - 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, - 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, - 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, - 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, - 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, - 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, - 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, - 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, - 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, - 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, - 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, - 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, - 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, - 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, - 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, - 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, - 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, - 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, - 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, - 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, - 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, - 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, - 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, - 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, - 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, - 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, - 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, - 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, - 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, - 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, - 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, - 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, - 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, - 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, - 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, - 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, - 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, - 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, - 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, - 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, - 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, - 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, - 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, - 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, - 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, - 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, - 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, - 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, - 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, - 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, - 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, - 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, - 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, - 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, - 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, - 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, - 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, - 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, - 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, - 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, - 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, - 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, - 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, - 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, - 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, - 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, - 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, - 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, - 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, - 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, - 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, - 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, - 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, - 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, - 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, - 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, - 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, - 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, - 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, - 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, - 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, - 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, - 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, - 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, - 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, - 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, - 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, - 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, - 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, - 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, - 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, - 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, - 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, - 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, - 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, - 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, - 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, - 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, - 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, - 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, - 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, - 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, - 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, - 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, - 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, - 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, - 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, - 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, - 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, - 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, - 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, - 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, - 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, - 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, - 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, - 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, - 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, - 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, - 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, - 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, - 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, - 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, - 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, - 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, - 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, - 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, - 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, - 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, - 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, - 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, - 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, - 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, - 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, - 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, - 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, - 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, - 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, - 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, - 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, - 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, - 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, - 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, - 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, - 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, - 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, - 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, - 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, - 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, - 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, - 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, - 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, - 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, - 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, - 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, - 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, - 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, - 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, - 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, - 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, - 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, - 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, - 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, - 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, - 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, - 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, - 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, - 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, - 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, - 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, - 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, - 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, - 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, - 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, - 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, - 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, - 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, - 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, - 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, - 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, - 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, - 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, - 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, - 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, - 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, - 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, - 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, - 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, - 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, - 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, - 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, - 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, - 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, - 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, - 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, - 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, - 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, - 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, - 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, - 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, - 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, - 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, - 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, - 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, - 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, - 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, - 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, - 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, - 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, - 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, - 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, - 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, - 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, - 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, - 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, - 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, - 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, - 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, - 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, - 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, - 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, - 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, - 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, - 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, - 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, - 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, - 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, - 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, - 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, - 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, - 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, - 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, - 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, - 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, - 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, - 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, - 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, - 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, - 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, - 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, - 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, - 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, - 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, - 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, - 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, - 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, - 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, - 127,248,192,31,240,96,3,224,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,11,0,0,6, - 29,29,10,2,247,120,252,252,252,252,120,0,0,32,48,48, - 48,48,48,48,48,112,120,120,120,120,252,252,252,252,252,252, - 120,120,14,28,56,22,4,251,1,128,1,128,1,128,1,128, - 3,192,15,176,29,152,61,152,121,184,121,184,249,184,249,184, - 249,128,249,128,249,128,249,128,249,128,249,132,121,132,121,132, - 61,136,29,152,15,176,3,192,1,128,1,128,1,128,1,128, - 23,29,87,27,2,0,0,1,0,0,30,224,0,120,16,0, - 248,24,0,240,28,1,240,60,1,240,124,3,240,124,3,240, - 120,3,240,0,3,240,0,3,240,0,3,240,0,31,240,64, - 1,255,128,1,248,0,0,248,0,0,248,0,0,248,0,0, - 120,0,0,120,0,0,112,0,0,112,6,60,112,4,127,224, - 28,131,255,248,129,255,240,195,63,224,124,31,192,18,20,60, - 21,2,3,0,0,128,195,225,128,239,249,192,255,255,128,120, - 15,0,112,7,0,96,3,0,224,1,128,192,1,128,192,1, - 128,192,1,128,192,1,128,224,1,128,96,3,0,112,7,0, - 120,15,0,255,255,128,239,249,192,195,225,128,0,0,128,21, - 28,84,23,1,0,255,195,248,63,0,224,63,0,192,31,128, - 192,31,128,128,31,192,128,15,193,0,15,193,0,7,227,0, - 7,226,0,7,246,0,3,244,0,3,252,0,1,248,0,63, - 255,192,1,248,0,1,248,0,1,248,0,63,255,192,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,15,255,128,3,35,35,11,4,249,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0, - 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,17,36,108,24,2,248,1,240,0,6,12,0,12,6, - 0,24,7,0,56,31,0,56,63,0,56,63,0,56,62,0, - 60,28,0,63,0,0,63,192,0,31,224,0,63,248,0,103, - 254,0,67,255,0,192,255,0,192,63,128,224,15,128,248,3, - 128,254,1,128,127,129,128,127,225,0,63,249,0,15,254,0, - 3,254,0,0,254,0,0,63,0,14,15,0,31,7,0,63, - 7,0,63,7,0,62,7,0,56,6,0,24,12,0,12,24, - 0,7,240,0,12,5,10,16,2,22,112,224,249,240,249,240, - 249,240,112,224,28,28,112,32,2,1,0,127,224,0,1,128, - 24,0,6,0,12,0,12,0,3,0,24,0,1,0,16,30, - 33,128,48,113,160,192,96,224,224,64,97,224,96,96,97,224, - 96,96,193,224,32,32,195,224,32,48,195,224,32,48,195,224, - 0,48,195,224,0,48,195,224,0,48,195,224,16,48,193,224, - 16,32,65,224,48,96,97,224,32,96,96,240,96,64,48,112, - 192,192,16,31,1,128,24,0,1,0,12,0,3,0,6,0, - 12,0,1,128,24,0,0,127,224,0,11,14,28,15,2,14, - 30,0,35,0,99,128,115,128,115,128,15,128,51,128,99,128, - 227,128,227,160,227,160,125,192,0,0,255,224,10,16,32,18, - 4,1,24,64,48,192,112,128,97,128,225,128,227,128,227,128, - 227,128,227,128,227,128,227,128,97,128,97,128,48,192,24,64, - 8,0,19,11,33,22,2,5,255,255,224,255,255,224,255,255, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,10,4,8,14,2,8,255, - 192,255,192,255,192,255,192,28,28,112,32,2,1,0,127,224, - 0,1,128,24,0,6,0,12,0,12,0,3,0,24,0,1, - 0,19,255,193,128,48,249,224,192,96,248,240,64,96,248,248, - 96,96,248,248,96,192,248,248,32,192,248,240,48,192,249,224, - 48,192,254,0,48,192,249,192,48,192,249,224,48,192,249,240, - 48,192,249,240,32,64,249,242,96,96,249,242,96,96,249,242, - 64,48,249,246,192,19,254,253,128,24,0,121,0,12,0,3, - 0,6,0,12,0,1,128,24,0,0,127,224,0,10,3,6, - 16,3,23,255,192,255,192,255,192,12,11,22,22,5,18,31, - 128,127,224,112,96,224,48,192,48,192,48,192,48,224,112,112, - 224,63,192,31,128,32,29,116,36,2,254,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,255,255,255,255,255,255,255,255,255,255,255,255,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,0,0,0,0, - 0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,11, - 17,34,17,3,11,31,0,99,192,225,224,225,224,241,224,241, - 224,115,192,7,128,14,0,28,0,48,32,96,32,64,96,255, - 224,255,224,143,192,135,128,12,18,36,16,2,10,31,0,51, - 192,97,224,113,224,121,224,121,224,1,192,3,128,30,0,3, - 192,1,224,1,240,121,240,249,240,241,240,225,224,99,192,31, - 0,7,7,7,17,7,21,14,30,30,60,120,96,192,19,30, - 90,22,2,245,112,28,0,112,28,0,248,62,0,248,62,0, - 248,62,0,248,62,0,248,62,0,240,62,0,240,62,0,240, - 62,0,112,28,0,112,28,0,96,28,32,96,24,32,32,56, - 96,32,127,224,61,255,192,47,231,192,39,195,192,32,0,0, - 32,0,0,112,0,0,112,0,0,120,0,0,120,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,56,0,0,18,33, - 99,23,3,251,15,255,192,63,206,0,127,206,0,127,206,0, - 255,206,0,255,206,0,255,206,0,255,206,0,255,206,0,255, - 206,0,255,206,0,255,206,0,127,206,0,63,206,0,7,206, - 0,1,206,0,1,206,0,1,206,0,1,206,0,1,206,0, - 1,206,0,1,206,0,1,206,0,1,206,0,1,206,0,1, - 206,0,1,206,0,1,206,0,1,206,0,1,206,0,1,206, - 0,1,206,0,1,206,0,6,6,6,10,2,10,120,252,252, - 252,252,120,7,8,8,17,5,248,32,32,56,12,14,14,14, - 252,8,17,17,16,4,11,12,28,252,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,10,14,28,14,2,14,30,0, - 51,0,115,128,243,192,243,192,243,192,243,192,243,192,243,192, - 115,128,51,0,30,0,0,0,255,192,10,16,32,18,4,1, - 6,0,131,0,195,0,97,128,97,128,113,192,113,192,113,192, - 113,192,113,192,97,192,97,128,65,128,195,0,134,0,4,0, - 28,29,116,34,4,0,0,0,12,0,12,0,12,0,28,0, - 24,0,252,0,24,0,60,0,48,0,60,0,32,0,60,0, - 96,0,60,0,192,0,60,0,192,0,60,1,128,0,60,1, - 128,0,60,3,0,0,60,2,3,128,60,6,3,128,60,12, - 7,128,60,12,15,128,60,24,15,128,255,24,31,128,0,48, - 23,128,0,32,39,128,0,96,103,128,0,192,71,128,0,192, - 199,128,1,128,255,240,1,128,7,128,3,0,7,128,2,0, - 7,128,6,0,7,128,12,0,63,240,27,29,116,34,4,0, - 0,0,12,0,12,0,24,0,28,0,24,0,252,0,48,0, - 60,0,48,0,60,0,96,0,60,0,96,0,60,0,192,0, - 60,1,128,0,60,1,128,0,60,3,0,0,60,3,31,0, - 60,6,115,192,60,6,225,224,60,12,225,224,60,8,241,224, - 255,24,241,224,0,48,115,192,0,48,3,128,0,96,7,0, - 0,96,14,0,0,192,24,0,0,128,48,32,1,128,64,32, - 3,0,64,96,3,0,191,224,6,0,255,224,6,0,159,192, - 12,0,135,128,30,29,116,34,2,0,0,0,3,0,31,0, - 3,0,51,192,6,0,97,224,4,0,113,224,12,0,121,224, - 8,0,121,224,24,0,1,192,48,0,3,128,48,0,30,0, - 96,0,3,192,64,0,1,224,192,0,49,240,128,224,249,241, - 128,224,249,243,1,224,225,226,3,224,99,230,3,224,63,132, - 5,224,0,12,5,224,0,8,9,224,0,16,25,224,0,48, - 17,224,0,32,49,224,0,96,63,252,0,64,1,224,0,192, - 1,224,0,128,1,224,1,0,1,224,3,0,15,252,12,29, - 58,18,3,247,30,0,63,0,63,0,63,0,63,0,30,0, - 0,0,14,0,17,0,32,128,32,128,32,128,1,128,3,0, - 3,0,6,0,14,0,28,0,60,96,120,32,120,48,248,16, - 248,16,248,16,248,16,248,48,124,96,63,192,31,128,26,37, - 148,29,2,0,0,224,0,0,0,240,0,0,0,240,0,0, - 0,120,0,0,0,56,0,0,0,12,0,0,0,6,0,0, - 0,0,0,0,0,4,0,0,0,6,0,0,0,14,0,0, - 0,14,0,0,0,15,0,0,0,31,0,0,0,31,0,0, - 0,31,128,0,0,63,128,0,0,47,128,0,0,47,192,0, - 0,111,192,0,0,79,192,0,0,71,192,0,0,199,224,0, - 0,135,224,0,0,131,224,0,1,131,240,0,1,3,240,0, - 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, - 6,0,252,0,4,0,252,0,12,0,252,0,12,0,124,0, - 30,0,254,0,255,199,255,192,26,37,148,29,2,0,0,0, - 224,0,0,0,224,0,0,1,224,0,0,3,192,0,0,3, - 128,0,0,6,0,0,0,12,0,0,0,0,0,0,0,4, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,31, - 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, - 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, - 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, - 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, - 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, - 255,192,26,37,148,29,2,0,0,4,0,0,0,14,0,0, - 0,14,0,0,0,31,0,0,0,59,128,0,0,224,192,0, - 1,128,48,0,0,0,0,0,0,4,0,0,0,6,0,0, - 0,14,0,0,0,14,0,0,0,15,0,0,0,31,0,0, - 0,31,0,0,0,31,128,0,0,63,128,0,0,47,128,0, - 0,47,192,0,0,111,192,0,0,79,192,0,0,71,192,0, - 0,199,224,0,0,135,224,0,0,131,224,0,1,131,240,0, - 1,3,240,0,3,1,240,0,3,255,248,0,2,1,248,0, - 6,0,248,0,6,0,252,0,4,0,252,0,12,0,252,0, - 12,0,124,0,30,0,254,0,255,199,255,192,26,36,144,29, - 2,0,0,56,32,0,0,126,32,0,0,255,224,0,0,143, - 192,0,0,131,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, - 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, - 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, - 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, - 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, - 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, - 255,192,26,36,144,29,2,0,0,224,224,0,1,241,240,0, - 1,241,240,0,1,241,240,0,0,224,224,0,0,0,0,0, - 0,0,0,0,0,4,0,0,0,14,0,0,0,14,0,0, - 0,14,0,0,0,31,0,0,0,31,0,0,0,31,0,0, - 0,63,128,0,0,63,128,0,0,63,128,0,0,111,192,0, - 0,111,192,0,0,79,192,0,0,199,192,0,0,199,224,0, - 0,135,224,0,1,131,224,0,1,131,240,0,1,3,240,0, - 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, - 6,0,252,0,4,0,252,0,12,0,124,0,12,0,124,0, - 30,0,126,0,255,199,255,192,26,37,148,29,2,0,0,31, - 0,0,0,63,128,0,0,97,192,0,0,96,192,0,0,96, - 192,0,0,113,192,0,0,63,128,0,0,30,0,0,0,0, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, - 0,0,0,31,0,0,0,31,0,0,0,31,128,0,0,63, - 128,0,0,63,128,0,0,47,128,0,0,111,192,0,0,79, - 192,0,0,71,192,0,0,135,224,0,0,135,224,0,0,131, - 224,0,1,3,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,4,0,252,0,4,0, - 252,0,12,0,252,0,12,0,124,0,28,0,254,0,255,199, - 255,192,36,28,140,38,1,0,0,7,255,255,224,0,1,254, - 3,224,0,1,254,1,224,0,1,254,0,224,0,1,254,0, - 224,0,3,126,0,96,0,3,126,0,96,0,6,126,0,32, - 0,6,126,4,32,0,12,126,4,0,0,12,126,12,0,0, - 24,126,12,0,0,24,126,28,0,0,48,127,252,0,0,48, - 126,60,0,0,96,126,28,0,0,96,126,12,0,0,192,126, - 4,48,0,192,126,4,48,1,255,254,4,48,1,128,126,0, - 48,3,0,126,0,112,3,0,126,0,112,6,0,126,0,240, - 6,0,126,0,240,14,0,126,1,240,63,0,126,7,240,255, - 199,255,255,240,21,37,111,26,3,248,1,254,48,7,3,48, - 14,1,240,30,0,240,60,0,240,60,0,112,124,0,112,124, - 0,48,124,0,48,252,0,48,252,0,48,252,0,16,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,24, - 252,0,24,124,0,16,124,0,16,124,0,16,60,0,48,60, - 0,32,30,0,96,14,0,192,7,1,128,1,254,0,0,32, - 0,0,96,0,0,120,0,0,28,0,0,14,0,0,14,0, - 0,14,0,2,28,0,1,248,0,22,37,111,26,2,0,1, - 128,0,1,192,0,1,224,0,0,224,0,0,112,0,0,24, - 0,0,8,0,0,0,0,0,0,0,255,255,252,15,192,124, - 15,192,60,15,192,28,15,192,28,15,192,12,15,192,12,15, - 192,12,15,193,4,15,193,0,15,195,0,15,195,0,15,199, - 0,15,255,0,15,199,0,15,195,0,15,195,0,15,193,4, - 15,193,4,15,193,4,15,192,12,15,192,12,15,192,12,15, - 192,28,15,192,28,15,192,60,15,192,252,255,255,252,22,37, - 111,26,2,0,0,1,192,0,3,192,0,3,192,0,7,128, - 0,14,0,0,12,0,0,24,0,0,0,0,0,0,0,255, - 255,252,15,192,124,15,192,60,15,192,28,15,192,28,15,192, - 12,15,192,12,15,192,4,15,193,4,15,193,0,15,195,0, - 15,195,0,15,199,0,15,255,0,15,199,0,15,195,0,15, - 195,0,15,193,4,15,193,4,15,193,4,15,192,4,15,192, - 12,15,192,12,15,192,28,15,192,28,15,192,60,15,192,252, - 255,255,252,22,37,111,26,2,0,0,8,0,0,24,0,0, - 60,0,0,126,0,0,231,0,1,193,128,3,0,64,0,0, - 0,0,0,0,255,255,252,15,192,124,15,192,60,15,192,28, - 15,192,28,15,192,12,15,192,12,15,192,12,15,193,4,15, - 193,0,15,195,0,15,195,0,15,199,0,15,255,0,15,199, - 0,15,195,0,15,195,0,15,193,4,15,193,4,15,193,4, - 15,192,12,15,192,12,15,192,12,15,192,28,15,192,28,15, - 192,60,15,192,252,255,255,252,22,36,108,26,2,0,1,193, - 192,3,227,224,3,227,224,3,227,224,1,193,192,0,0,0, - 0,0,0,0,0,0,255,255,252,15,192,124,15,192,60,15, - 192,28,15,192,28,15,192,12,15,192,12,15,192,4,15,193, - 4,15,193,0,15,195,0,15,195,0,15,199,0,15,255,0, - 15,199,0,15,195,0,15,195,0,15,193,4,15,193,4,15, - 193,4,15,192,4,15,192,12,15,192,12,15,192,28,15,192, - 28,15,192,60,15,192,252,255,255,252,13,37,74,17,2,0, - 96,0,112,0,120,0,56,0,28,0,14,0,2,0,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, - 0,112,0,240,1,240,1,224,3,128,7,0,4,0,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, - 6,0,6,0,15,0,31,128,57,192,112,112,192,24,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,36,72,16,2,0, - 112,112,248,248,248,248,248,248,112,112,0,0,0,0,0,0, - 255,248,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,248,25,28,112,29,2,0,255,255, - 128,0,31,128,224,0,31,128,112,0,31,128,56,0,31,128, - 60,0,31,128,30,0,31,128,30,0,31,128,31,0,31,128, - 31,0,31,128,31,0,31,128,31,128,31,128,31,128,31,128, - 31,128,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,30,0,31,128,30,0,31,128,60,0,31,128, - 56,0,31,128,112,0,31,128,224,0,255,255,128,0,27,36, - 144,30,2,0,0,24,0,0,0,62,32,0,0,127,224,0, - 0,71,192,0,0,1,128,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,128,255,224,31,192,63,0,31,192,30,0, - 15,224,12,0,7,240,12,0,7,240,12,0,7,248,12,0, - 7,248,12,0,6,252,12,0,6,254,12,0,6,126,12,0, - 6,63,12,0,6,63,140,0,6,31,140,0,6,31,204,0, - 6,15,236,0,6,7,236,0,6,7,252,0,6,3,252,0, - 6,1,252,0,6,1,252,0,6,0,252,0,6,0,252,0, - 6,0,124,0,6,0,60,0,15,0,60,0,31,128,28,0, - 255,224,12,0,22,37,111,27,3,1,7,128,0,7,128,0, - 3,192,0,1,192,0,0,224,0,0,112,0,0,16,0,0, - 0,0,0,0,0,1,254,0,3,3,0,6,1,128,14,1, - 192,28,0,224,60,0,240,60,0,240,124,0,248,124,0,248, - 124,0,248,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, - 248,124,0,248,60,0,240,60,0,240,28,0,224,14,1,192, - 6,1,128,3,3,0,1,254,0,22,37,111,27,3,1,0, - 7,128,0,7,128,0,15,0,0,14,0,0,28,0,0,56, - 0,0,32,0,0,0,0,0,0,0,1,254,0,3,3,0, - 6,1,128,14,1,192,28,0,224,60,0,240,60,0,240,124, - 0,248,124,0,248,124,0,248,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, - 124,0,248,124,0,248,124,0,248,60,0,240,60,0,240,28, - 0,224,14,1,192,6,1,128,3,3,0,1,254,0,22,37, - 111,27,3,0,0,48,0,0,48,0,0,120,0,0,252,0, - 1,206,0,3,135,0,6,1,128,0,0,0,0,0,0,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,0, - 240,60,0,240,28,0,224,14,1,192,6,1,128,3,3,0, - 1,254,0,22,36,108,27,3,0,1,192,128,3,241,128,3, - 255,0,4,63,0,4,12,0,0,0,0,0,0,0,0,0, - 0,1,254,0,3,3,0,6,1,128,14,1,192,28,0,224, - 60,0,240,60,0,240,124,0,248,124,0,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,124,0,248,124,0,248,124,0,248, - 60,0,240,60,0,240,28,0,224,14,1,192,6,1,128,3, - 3,0,1,254,0,22,36,108,27,3,0,3,131,128,7,199, - 192,7,199,192,7,199,192,3,131,128,0,0,0,0,0,0, - 0,0,0,1,254,0,3,3,0,6,1,128,14,1,192,28, - 0,224,60,0,240,60,0,240,124,0,248,124,0,248,124,0, - 248,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, - 252,0,252,252,0,252,252,0,252,124,0,248,124,0,248,124, - 0,248,60,0,240,60,0,240,28,0,224,14,1,192,6,1, - 128,3,3,0,1,254,0,24,25,75,36,6,254,64,0,2, - 224,0,7,240,0,14,120,0,28,60,0,60,30,0,120,15, - 0,240,7,129,224,3,195,192,1,231,128,0,239,0,0,126, - 0,0,60,0,0,124,0,0,254,0,1,231,0,3,195,128, - 7,129,192,15,0,224,30,0,112,60,0,56,120,0,28,112, - 0,14,224,0,7,192,0,2,22,28,84,27,3,1,1,254, - 12,3,3,152,6,3,208,14,1,240,28,1,224,60,1,240, - 60,1,240,124,1,248,124,3,248,124,6,248,252,14,252,252, - 12,252,252,24,252,252,56,252,252,112,252,252,96,252,252,192, - 252,253,192,252,125,128,248,127,0,248,126,0,248,62,0,240, - 62,0,240,30,0,224,62,1,192,46,1,128,103,3,0,193, - 254,0,26,37,148,30,3,1,0,224,0,0,0,240,0,0, - 0,120,0,0,0,56,0,0,0,28,0,0,0,12,0,0, - 0,6,0,0,0,0,0,0,0,0,0,0,255,240,127,192, - 31,128,31,0,31,128,14,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,15,128,12,0,15,192,12,0,7,192,24,0, - 7,224,56,0,1,252,240,0,0,255,192,0,26,37,148,30, - 3,1,0,0,224,0,0,1,224,0,0,1,224,0,0,3, - 192,0,0,7,0,0,0,6,0,0,0,12,0,0,0,0, - 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, - 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, - 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, - 240,0,0,255,192,0,26,37,148,30,3,0,0,4,0,0, - 0,14,0,0,0,31,0,0,0,31,128,0,0,59,192,0, - 0,224,224,0,1,128,48,0,0,0,0,0,0,0,0,0, - 255,240,127,192,31,128,31,0,31,128,14,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,15,128,4,0,15,128,12,0, - 7,192,24,0,7,224,24,0,1,240,112,0,0,255,192,0, - 26,36,144,30,3,0,0,224,224,0,1,241,240,0,1,241, - 240,0,1,241,240,0,0,224,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, - 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, - 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, - 240,0,0,255,192,0,25,37,148,28,2,0,0,0,224,0, - 0,0,224,0,0,1,224,0,0,3,192,0,0,3,128,0, - 0,6,0,0,0,12,0,0,0,0,0,0,0,0,0,0, - 255,240,255,128,31,192,60,0,31,192,24,0,15,192,24,0, - 15,224,24,0,7,224,16,0,7,224,48,0,3,240,32,0, - 3,240,32,0,1,248,96,0,1,248,64,0,1,252,64,0, - 0,252,192,0,0,254,128,0,0,127,128,0,0,127,128,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,1,255,224,0, - 23,28,84,27,2,0,255,248,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,255,128,31,129,224,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,248,0,19,28,84,22,1,0, - 0,248,0,3,156,0,7,142,0,15,15,0,15,15,0,15, - 15,0,31,15,0,31,15,0,31,14,0,31,28,0,31,112, - 0,31,12,0,31,7,0,31,7,128,31,3,192,31,3,192, - 31,3,192,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,224,31,115,224,31,243,192,31,243,192,31,227,128,31,103, - 0,255,62,0,17,28,84,20,2,0,56,0,0,60,0,0, - 60,0,0,30,0,0,14,0,0,3,0,0,1,0,0,0, - 0,0,0,0,0,15,192,0,24,240,0,48,120,0,112,120, - 0,124,124,0,124,124,0,56,124,0,1,252,0,14,124,0, - 28,124,0,56,124,0,120,124,0,248,124,0,248,124,128,248, - 124,128,248,124,128,252,253,128,127,191,0,62,30,0,17,28, - 84,20,2,0,0,48,0,0,112,0,0,240,0,0,224,0, - 1,192,0,1,128,0,3,0,0,0,0,0,0,0,0,15, - 192,0,24,240,0,48,120,0,112,120,0,124,124,0,124,124, - 0,124,124,0,0,252,0,7,124,0,28,124,0,56,124,0, - 120,124,0,248,124,0,248,124,128,248,124,128,248,124,128,252, - 253,128,127,191,0,62,30,0,17,28,84,20,2,0,3,0, - 0,3,128,0,7,128,0,7,192,0,12,224,0,24,112,0, - 48,24,0,0,0,0,0,0,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,17,27,81,20,2,0,14,8,0,31,152,0,63,240, - 0,35,240,0,32,224,0,0,0,0,0,0,0,0,0,0, - 15,192,0,24,240,0,48,120,0,112,120,0,124,124,0,124, - 124,0,124,124,0,0,252,0,7,124,0,28,124,0,56,124, - 0,120,124,0,248,124,0,248,124,128,248,124,128,248,124,128, - 252,253,128,127,191,0,62,30,0,17,27,81,20,2,0,56, - 112,0,124,248,0,124,248,0,124,248,0,56,112,0,0,0, - 0,0,0,0,0,0,0,15,192,0,24,240,0,48,120,0, - 112,120,0,124,124,0,124,124,0,124,124,0,0,252,0,7, - 124,0,28,124,0,56,124,0,120,124,0,248,124,0,248,124, - 128,248,124,128,248,124,128,252,253,128,127,191,0,62,30,0, - 17,28,84,20,2,1,15,192,0,12,192,0,24,96,0,24, - 96,0,24,96,0,28,224,0,15,192,0,7,128,0,0,0, - 0,15,192,0,16,240,0,48,120,0,112,120,0,120,124,0, - 124,124,0,124,124,0,0,252,0,7,124,0,28,124,0,56, - 124,0,120,124,0,248,124,0,248,124,128,248,124,128,248,124, - 128,252,253,128,127,255,0,62,62,0,23,19,57,27,2,0, - 15,195,224,24,238,112,48,124,56,112,124,60,120,124,60,124, - 124,62,124,124,62,24,124,62,3,252,62,14,127,254,60,124, - 0,120,124,0,248,124,2,248,124,2,248,124,2,248,124,4, - 252,222,4,127,143,8,63,3,240,14,27,54,18,2,248,7, - 224,14,48,60,24,60,28,120,60,120,124,248,124,248,120,248, - 48,248,0,248,0,248,0,248,0,120,4,120,4,56,4,60, - 8,30,16,7,224,2,0,2,0,3,128,0,192,0,224,0, - 224,0,224,7,128,14,28,56,18,2,0,56,0,56,0,60, - 0,30,0,14,0,7,0,1,0,0,0,0,0,7,192,28, - 224,56,112,56,120,120,120,120,124,248,124,248,124,248,124,255, - 252,248,0,248,0,248,4,120,4,120,4,56,8,60,24,30, - 48,7,192,14,28,56,18,2,0,0,112,0,112,0,240,1, - 224,1,192,3,128,2,0,0,0,0,0,7,192,28,224,56, - 112,56,120,120,120,120,124,248,124,248,124,255,252,248,0,248, - 0,248,0,248,4,120,4,120,12,56,8,60,24,30,48,7, - 192,14,28,56,18,2,0,3,0,7,128,7,128,15,192,12, - 192,24,96,48,56,0,0,0,0,7,192,28,224,56,112,56, - 120,120,120,120,124,248,124,248,124,248,124,255,252,248,0,248, - 0,248,0,120,4,120,4,56,8,60,8,30,16,7,224,14, - 27,54,18,2,0,56,112,124,248,124,248,124,248,56,112,0, - 0,0,0,0,0,7,192,28,224,56,112,56,120,120,120,120, - 124,248,124,248,124,248,124,255,252,248,0,248,0,248,0,120, - 4,120,12,56,8,60,24,30,48,7,192,10,28,56,12,1, - 0,224,0,240,0,248,0,120,0,28,0,14,0,2,0,0, - 0,0,0,127,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,127,192,9,28,56,12,2,0,1, - 128,3,128,7,128,15,0,14,0,28,0,16,0,0,0,0, - 0,254,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,11,28,56,11,1,0,14,0,30, - 0,31,0,63,0,115,128,224,192,128,96,0,0,0,0,127, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,127,192,11,27,54,12,1,0,113,192,251,224,251, - 224,251,224,113,192,0,0,0,0,0,0,127,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,127, - 192,16,28,56,20,2,0,31,8,15,184,7,224,7,224,7, - 224,13,240,16,248,0,248,0,124,7,252,30,126,60,62,56, - 62,120,30,120,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,30,120,30,120,30,56,60,60,60,12,112,7,224,19, - 27,81,22,2,0,0,2,0,7,194,0,15,254,0,15,252, - 0,8,120,0,0,0,0,0,0,0,0,0,0,254,60,0, - 62,222,0,63,15,0,63,15,128,63,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,255,191,224,16,28,56,20,2,0,24,0,28,0, - 30,0,15,0,7,0,3,128,0,192,0,0,0,0,7,192, - 12,112,28,56,56,60,120,30,120,30,248,30,248,31,248,31, - 248,31,248,31,248,31,248,30,120,30,120,30,56,60,28,56, - 12,112,7,192,16,28,56,20,2,0,0,56,0,56,0,120, - 0,240,0,224,1,192,3,0,0,0,0,0,7,192,12,112, - 28,56,56,60,120,30,120,30,248,30,248,31,248,31,248,31, - 248,31,248,31,248,30,120,30,120,30,56,60,28,56,12,112, - 7,192,16,28,56,20,2,0,3,128,3,192,3,192,7,224, - 14,112,28,56,48,12,0,0,0,0,7,192,12,112,28,56, - 56,60,120,30,120,30,248,30,248,31,248,31,248,31,248,31, - 248,31,248,30,120,30,120,30,56,60,28,56,12,112,7,192, - 16,27,54,20,2,0,14,4,31,140,31,248,35,248,32,112, - 0,0,0,0,0,0,7,192,12,112,28,56,56,60,120,30, - 120,30,248,30,248,31,248,31,248,31,248,31,248,31,248,30, - 120,30,120,30,56,60,28,56,12,112,7,192,16,27,54,20, - 2,0,28,56,62,124,62,124,62,124,28,56,0,0,0,0, - 0,0,7,192,12,112,28,56,56,60,120,30,120,30,248,30, - 248,31,248,31,248,31,248,31,248,31,248,30,120,30,120,30, - 56,60,28,56,12,112,7,192,33,26,130,37,2,253,0,3, - 192,0,0,0,7,224,0,0,0,7,224,0,0,0,7,224, - 0,0,0,7,224,0,0,0,3,192,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,255,128,255,255,255,255,128,255, - 255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,3,192,0,0,0,7,224,0,0,0,7,224,0, - 0,0,7,224,0,0,0,7,224,0,0,0,3,192,0,0, - 16,19,38,20,2,0,7,225,12,114,28,60,56,60,120,62, - 120,62,248,126,248,95,248,223,249,159,251,31,254,31,252,30, - 124,30,120,30,60,28,124,56,78,48,135,192,19,28,84,21, - 1,0,12,0,0,30,0,0,15,0,0,7,0,0,3,128, - 0,1,192,0,0,64,0,0,0,0,0,0,0,254,63,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,31,128,62,31,128,30,47,128, - 31,79,128,7,143,224,19,28,84,21,1,0,0,28,0,0, - 60,0,0,60,0,0,120,0,0,224,0,0,192,0,1,128, - 0,0,0,0,0,0,0,254,63,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,31,128,62,31,128,30,47,128,30,79,128,7,143,224, - 19,28,84,21,1,0,1,192,0,1,224,0,3,224,0,3, - 240,0,7,56,0,12,28,0,24,4,0,0,0,0,0,0, - 0,254,63,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,31,128,62,31, - 128,30,47,128,30,79,128,7,143,224,19,27,81,21,1,0, - 28,28,0,62,62,0,62,62,0,62,62,0,28,28,0,0, - 0,0,0,0,0,0,0,0,254,63,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,31,128,62,31,128,30,47,128,30,79,128,7,143, - 224,18,37,111,19,0,247,0,14,0,0,30,0,0,30,0, - 0,60,0,0,48,0,0,96,0,0,192,0,0,0,0,0, - 0,0,255,207,192,63,3,0,31,3,0,31,2,0,15,2, - 0,15,130,0,15,132,0,7,196,0,7,196,0,3,196,0, - 3,232,0,3,232,0,1,248,0,1,240,0,0,240,0,0, - 240,0,0,96,0,0,96,0,0,96,0,0,32,0,0,64, - 0,12,64,0,30,64,0,62,128,0,62,128,0,60,128,0, - 29,0,0,14,0,0,18,36,108,20,0,247,3,0,0,15, - 0,0,63,0,0,223,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,31,0,31,63,128,31,71,128,31,135,192, - 31,135,192,31,7,192,31,7,192,31,7,192,31,7,128,31, - 7,128,31,15,0,31,15,0,31,14,0,31,12,0,31,24, - 0,31,48,0,31,96,0,31,128,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,30, - 0,0,56,0,0,224,0,0,19,36,108,20,0,247,7,14, - 0,15,159,0,15,159,0,15,159,0,7,14,0,0,0,0, - 0,0,0,0,0,0,255,207,224,63,3,0,31,3,0,31, - 2,0,15,2,0,15,130,0,15,132,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,248,0,1,240,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 32,0,0,64,0,12,64,0,30,64,0,62,64,0,62,128, - 0,60,128,0,29,0,0,14,0,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 28 - Calculated Max Values w=33 h=37 x= 5 y=12 dx=37 dy= 0 ascent=29 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =28 descent= 0 - X Font ascent =28 descent= 0 - Max Font ascent =29 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29n[1257] U8G_FONT_SECTION("u8g_font_osb29n") = { - 0,107,49,223,245,28,0,0,0,0,42,58,0,29,248,28, - 0,14,16,32,19,3,12,3,0,7,128,7,128,199,24,227, - 60,242,124,122,248,7,128,7,128,250,248,242,124,227,60,199, - 24,7,128,7,128,3,0,33,33,165,37,2,251,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,255,255,255,255,128,255,255,255, - 255,128,255,255,255,255,128,0,1,192,0,0,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,7,13,13,10,2,249,120,252,252,254,254,126,6,4, - 4,8,24,96,192,10,4,8,14,2,8,255,192,255,192,255, - 192,255,192,6,6,6,10,2,0,120,252,252,252,252,120,13, - 37,74,17,2,248,0,24,0,56,0,56,0,48,0,112,0, - 112,0,96,0,96,0,224,0,224,0,192,1,192,1,192,1, - 128,3,128,3,128,3,128,3,0,7,0,7,0,6,0,14, - 0,14,0,12,0,12,0,28,0,28,0,24,0,56,0,56, - 0,48,0,112,0,112,0,112,0,96,0,224,0,224,0,18, - 28,84,22,2,1,3,240,0,14,28,0,14,28,0,28,14, - 0,60,15,0,60,15,0,124,15,128,124,15,128,124,15,128, - 252,15,192,252,15,192,252,15,192,252,15,192,252,15,192,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,124,15, - 128,124,15,128,124,15,128,60,15,0,60,15,0,28,14,0, - 12,28,0,14,28,0,3,240,0,13,28,56,22,5,0,3, - 128,7,128,15,128,255,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,255,248,17,28,84,22,2,1,15,248,0, - 24,62,0,48,63,0,112,31,0,240,31,128,240,31,128,252, - 31,128,252,31,128,254,31,128,126,63,0,60,63,0,0,126, - 0,0,252,0,0,248,0,1,224,0,3,128,0,6,0,0, - 12,0,128,24,0,128,16,0,128,32,0,128,47,1,128,127, - 255,128,127,255,128,71,255,0,67,255,0,65,254,0,64,252, - 0,17,28,84,22,2,1,15,248,0,24,62,0,48,63,0, - 48,31,0,112,31,128,120,31,128,124,31,128,124,31,128,124, - 31,128,60,31,0,0,31,0,0,62,0,0,120,0,15,192, - 0,0,120,0,0,62,0,0,63,0,0,31,0,16,31,128, - 124,31,128,252,31,128,252,31,128,252,31,128,248,31,128,240, - 63,0,112,62,0,56,124,0,31,248,0,18,28,84,22,2, - 0,0,124,0,0,124,0,0,252,0,0,252,0,1,252,0, - 1,252,0,3,252,0,3,252,0,6,252,0,6,252,0,12, - 252,0,12,252,0,24,252,0,24,252,0,48,252,0,48,252, - 0,96,252,0,96,252,0,192,252,0,255,255,192,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,15,255,192,17,29,87,22,3,0,0,6,0,112,28, - 0,127,252,0,127,248,0,127,224,0,127,192,0,126,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,120, - 120,0,112,62,0,96,62,0,96,31,0,0,31,0,0,31, - 128,0,31,128,56,31,128,124,31,128,252,31,128,252,31,128, - 248,31,0,240,31,0,224,30,0,96,62,0,48,124,0,31, - 240,0,18,29,87,22,3,0,0,32,0,3,220,0,7,6, - 0,14,6,0,30,15,0,60,31,0,60,63,0,124,63,0, - 124,62,0,124,28,0,252,0,0,252,0,0,252,0,0,253, - 248,0,255,30,0,254,31,0,252,15,128,252,15,128,252,15, - 192,252,15,192,252,15,192,124,15,192,124,15,192,124,15,192, - 60,15,128,28,15,128,30,15,0,14,30,0,3,252,0,17, - 28,84,22,3,0,103,135,0,111,199,0,127,227,128,127,241, - 128,127,249,128,127,255,128,96,125,128,64,1,0,64,3,0, - 64,3,0,192,6,0,0,4,0,0,12,0,0,24,0,0, - 56,0,0,112,0,0,112,0,0,240,0,1,240,0,3,224, - 0,3,224,0,3,224,0,7,224,0,7,224,0,7,224,0, - 7,224,0,7,224,0,3,192,0,19,29,87,22,2,0,0, - 64,0,7,184,0,28,6,0,56,3,0,112,1,0,112,1, - 128,240,1,128,240,1,128,248,1,128,252,3,0,255,2,0, - 127,196,0,127,248,0,63,252,0,31,255,0,15,255,128,27, - 255,128,48,255,192,96,63,192,96,15,192,224,3,224,224,1, - 192,224,1,192,224,1,192,224,1,192,112,1,128,56,1,0, - 28,6,0,15,252,0,18,28,84,22,3,1,15,240,0,30, - 28,0,60,30,0,124,14,0,124,15,0,252,15,128,252,15, - 128,252,15,128,252,15,128,252,15,192,252,15,192,124,15,192, - 124,15,192,62,31,192,30,63,192,7,239,192,0,15,192,0, - 15,192,0,15,192,30,15,128,31,15,128,63,15,128,63,15, - 0,62,15,0,56,30,0,24,28,0,24,56,0,15,240,0, - 6,19,19,10,2,0,120,252,252,252,252,120,0,0,0,0, - 0,0,0,120,252,252,252,252,120}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=38 h=37 x= 5 y=21 dx=41 dy= 0 ascent=31 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x=-2 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =29 descent=-9 - Max Font ascent =31 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_FONT_SECTION("u8g_font_osb29r") = { - 0,107,49,223,245,29,9,166,21,115,32,127,247,31,247,29, - 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, - 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, - 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, - 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, - 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, - 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, - 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, - 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, - 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, - 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, - 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, - 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, - 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, - 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, - 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, - 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, - 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, - 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, - 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, - 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, - 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, - 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, - 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, - 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, - 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, - 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, - 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, - 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, - 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, - 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, - 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, - 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, - 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, - 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, - 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, - 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, - 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, - 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, - 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, - 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, - 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, - 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, - 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, - 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, - 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, - 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, - 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, - 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, - 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, - 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, - 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, - 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, - 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, - 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, - 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, - 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, - 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, - 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, - 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, - 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, - 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, - 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, - 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, - 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, - 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, - 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, - 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, - 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, - 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, - 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, - 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, - 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, - 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120, - 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, - 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, - 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, - 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, - 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, - 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, - 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, - 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, - 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, - 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, - 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, - 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, - 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, - 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, - 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, - 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, - 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, - 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, - 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, - 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, - 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, - 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, - 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, - 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, - 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, - 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, - 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, - 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, - 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, - 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, - 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, - 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, - 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, - 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, - 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, - 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, - 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, - 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, - 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, - 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, - 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, - 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, - 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, - 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, - 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, - 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, - 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, - 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, - 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, - 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, - 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, - 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, - 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, - 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, - 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, - 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, - 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, - 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, - 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, - 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, - 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, - 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, - 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, - 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, - 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, - 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, - 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, - 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, - 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, - 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, - 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, - 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, - 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, - 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, - 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, - 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, - 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, - 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, - 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, - 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, - 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, - 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, - 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, - 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, - 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, - 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, - 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, - 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, - 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, - 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, - 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, - 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, - 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, - 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, - 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, - 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, - 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, - 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, - 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, - 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, - 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, - 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, - 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, - 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, - 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, - 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, - 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, - 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, - 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, - 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, - 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, - 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, - 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, - 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, - 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, - 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, - 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, - 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, - 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, - 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, - 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, - 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, - 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, - 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, - 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, - 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, - 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, - 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, - 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, - 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, - 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, - 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, - 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, - 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, - 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, - 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, - 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, - 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, - 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, - 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, - 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, - 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, - 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, - 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, - 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, - 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, - 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, - 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, - 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, - 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, - 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, - 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, - 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, - 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, - 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, - 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, - 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, - 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, - 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, - 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, - 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, - 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, - 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, - 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, - 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, - 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, - 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, - 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, - 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, - 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, - 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, - 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, - 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, - 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, - 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, - 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, - 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, - 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, - 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, - 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, - 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, - 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, - 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, - 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, - 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, - 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, - 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, - 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, - 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, - 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, - 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, - 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, - 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, - 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, - 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, - 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, - 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, - 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, - 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, - 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, - 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, - 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, - 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, - 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, - 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, - 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, - 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, - 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, - 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, - 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, - 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, - 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, - 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, - 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, - 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, - 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, - 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, - 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, - 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, - 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, - 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, - 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, - 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, - 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, - 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, - 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, - 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, - 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, - 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, - 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, - 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, - 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, - 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, - 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, - 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, - 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, - 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, - 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, - 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, - 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, - 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, - 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, - 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, - 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, - 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, - 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, - 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, - 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, - 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, - 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, - 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, - 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, - 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, - 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, - 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, - 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, - 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, - 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, - 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, - 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, - 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, - 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, - 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, - 127,248,192,31,240,96,3,224,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 9 y=28 dx=52 dy= 0 ascent=45 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x=-2 y=-12 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =35 descent=-10 - Max Font ascent =45 descent=-12 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35[22097] U8G_FONT_SECTION("u8g_font_osb35") = { - 0,133,60,215,242,35,12,220,29,224,32,255,246,45,244,35, - 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, - 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, - 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, - 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, - 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, - 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, - 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, - 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, - 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, - 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, - 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, - 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, - 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, - 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, - 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, - 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, - 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, - 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, - 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, - 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, - 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, - 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, - 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, - 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, - 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, - 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, - 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, - 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, - 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, - 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, - 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, - 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, - 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, - 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, - 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, - 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, - 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, - 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, - 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, - 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, - 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, - 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, - 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, - 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, - 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, - 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, - 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, - 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, - 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, - 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, - 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, - 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, - 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, - 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, - 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, - 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, - 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, - 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, - 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, - 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, - 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, - 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, - 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, - 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, - 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, - 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, - 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, - 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, - 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, - 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, - 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, - 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, - 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, - 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, - 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, - 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, - 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, - 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, - 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, - 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, - 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, - 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, - 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, - 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, - 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, - 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, - 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, - 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, - 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, - 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, - 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, - 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, - 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, - 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, - 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, - 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, - 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, - 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, - 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, - 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, - 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, - 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, - 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, - 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, - 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, - 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, - 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, - 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, - 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, - 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, - 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, - 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, - 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, - 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, - 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, - 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, - 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, - 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, - 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, - 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, - 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, - 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, - 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, - 0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13, - 2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128, - 1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0, - 64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0, - 0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31, - 128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0, - 0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0, - 3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126, - 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, - 0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0, - 0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0, - 3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0, - 15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0, - 127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1, - 248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15, - 224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48, - 41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255, - 255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, - 255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120, - 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, - 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, - 0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0, - 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, - 0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0, - 0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0, - 0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0, - 63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224, - 0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0, - 0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0, - 252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128, - 0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0, - 0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252, - 192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248, - 1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16, - 12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128, - 3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39, - 2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112, - 0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0, - 12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56, - 15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62, - 7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7, - 192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128, - 224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128, - 112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56, - 60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0, - 0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0, - 96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36, - 2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, - 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, - 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, - 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, - 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, - 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, - 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, - 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, - 15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7, - 240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255, - 128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15, - 224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15, - 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, - 224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15, - 224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15, - 224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15, - 224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15, - 224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15, - 224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26, - 34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63, - 128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7, - 128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3, - 128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1, - 128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, - 0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0, - 192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1, - 128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6, - 0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136, - 37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15, - 224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15, - 224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15, - 224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15, - 224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3, - 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, - 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, - 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, - 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, - 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, - 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, - 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, - 224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255, - 255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7, - 240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7, - 240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7, - 240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7, - 255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7, - 240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224, - 192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7, - 192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1, - 192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0, - 192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0, - 0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31, - 192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31, - 192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31, - 192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192, - 192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23, - 34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15, - 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, - 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, - 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, - 224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224, - 255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96, - 15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3, - 0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0, - 7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7, - 240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240, - 48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224, - 0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0, - 0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0, - 7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7, - 240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240, - 63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15, - 240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248, - 0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3, - 0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0, - 112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0, - 240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7, - 240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255, - 240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248, - 0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0, - 95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223, - 192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192, - 6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6, - 63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15, - 226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244, - 31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31, - 192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192, - 6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63, - 192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255, - 224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248, - 0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0, - 48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48, - 0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0, - 3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3, - 7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1, - 255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127, - 240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240, - 0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0, - 3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63, - 240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34, - 136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0, - 7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128, - 63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224, - 127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192, - 31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0, - 3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34, - 3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240, - 15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240, - 7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240, - 7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240, - 15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246, - 0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0, - 15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128, - 63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224, - 127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128, - 15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16, - 0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16, - 0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240, - 0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128, - 0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240, - 126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240, - 31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240, - 31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240, - 63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240, - 62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240, - 31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240, - 31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240, - 31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255, - 135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1, - 7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240, - 0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128, - 24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128, - 15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192, - 15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0, - 30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48, - 195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248, - 255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248, - 240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56, - 192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24, - 128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15, - 248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248, - 0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0, - 96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192, - 0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0, - 0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0, - 63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15, - 230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252, - 0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0, - 0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0, - 0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0, - 0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255, - 128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7, - 248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1, - 254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0, - 192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0, - 0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255, - 3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63, - 195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0, - 0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0, - 31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248, - 7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252, - 0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0, - 0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3, - 224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0, - 240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0, - 0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255, - 31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3, - 128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0, - 0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0, - 0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0, - 31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15, - 248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252, - 0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0, - 0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0, - 0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3, - 128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128, - 31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254, - 15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248, - 0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254, - 1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127, - 134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31, - 204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128, - 127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0, - 120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0, - 96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0, - 0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0, - 0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128, - 3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128, - 15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128, - 63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128, - 255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44, - 88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0, - 120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0, - 14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128, - 3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240, - 0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28, - 0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18, - 3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0, - 112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207, - 0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224, - 60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25, - 3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255, - 128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1, - 21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120, - 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, - 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, - 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, - 63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193, - 248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99, - 192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0, - 31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252, - 31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128, - 62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26, - 2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224, - 0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62, - 15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, - 252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30, - 31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252, - 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, - 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, - 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, - 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, - 18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7, - 199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135, - 128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27, - 2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7, - 238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192, - 31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48, - 0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255, - 240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56, - 192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30, - 7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31, - 143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192, - 252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227, - 255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63, - 128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0, - 0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92, - 16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0, - 124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124, - 252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25, - 34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96, - 0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0, - 0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128, - 0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224, - 0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252, - 0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68, - 14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193, - 248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63, - 0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0, - 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, - 3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3, - 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, - 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, - 0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2, - 1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248, - 63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30, - 7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62, - 7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1, - 246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248, - 31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192, - 252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224, - 31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96, - 30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252, - 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224, - 62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66, - 20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63, - 159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0, - 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, - 63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63, - 0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96, - 60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63, - 240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240, - 7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1, - 128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63, - 128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31, - 130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66, - 26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15, - 201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192, - 120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96, - 7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1, - 249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126, - 0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0, - 35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128, - 31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15, - 192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224, - 191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31, - 144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224, - 0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0, - 0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0, - 56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255, - 231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227, - 0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0, - 0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3, - 15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207, - 254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48, - 15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3, - 240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253, - 0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0, - 0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0, - 8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32, - 0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0, - 127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96, - 126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240, - 0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192, - 31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255, - 255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128, - 7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0, - 28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44, - 44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240, - 0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31, - 2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255, - 128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1, - 255,128,48,0,63,0,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,13,0,0,8,35,35, - 14,3,245,60,126,255,255,255,126,60,0,0,0,24,24,24, - 24,24,24,24,24,60,60,60,60,126,126,126,126,254,255,255, - 255,255,255,255,126,60,18,34,102,28,5,250,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,1,240,0,7,236, - 0,15,103,0,30,99,0,62,99,128,126,103,128,126,111,128, - 124,111,128,252,111,128,252,103,0,252,96,0,252,96,0,252, - 96,0,252,96,0,252,96,0,252,96,0,124,96,192,124,96, - 192,62,96,128,62,97,128,30,97,0,15,99,0,7,252,0, - 0,248,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,29,34,136,34,3,1,0,1,255,0,0,7,129,192, - 0,31,0,224,0,31,0,224,0,63,0,240,0,126,1,240, - 0,126,3,240,0,254,3,240,0,254,3,224,0,254,1,192, - 0,254,0,0,0,254,0,0,0,254,0,0,0,254,0,0, - 15,254,0,0,24,126,6,0,0,127,252,0,0,127,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,31,0,0,0,31,0,0,0,30,0,0,0,30,0,24, - 30,28,0,56,127,220,0,112,195,248,0,224,128,255,255,224, - 128,127,255,192,128,255,255,128,193,207,255,0,127,3,252,0, - 24,22,66,28,2,5,96,126,6,243,255,207,127,255,254,63, - 129,252,30,0,120,60,0,60,56,0,28,56,0,28,112,0, - 14,112,0,14,112,0,14,112,0,14,112,0,14,112,0,14, - 56,0,28,56,0,28,60,0,60,30,0,120,63,129,252,127, - 255,254,243,255,207,96,126,6,26,34,136,28,1,0,255,248, - 63,192,63,224,15,0,31,224,14,0,31,224,12,0,31,224, - 12,0,15,240,8,0,15,240,8,0,7,240,24,0,7,248, - 16,0,3,248,48,0,3,252,32,0,3,252,96,0,1,254, - 64,0,1,254,192,0,0,254,128,0,0,255,128,0,0,255, - 0,0,63,255,254,0,0,127,0,0,0,127,0,0,0,127, - 0,0,0,127,0,0,63,255,254,0,0,127,0,0,0,127, - 0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127, - 0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127, - 0,0,7,255,248,0,3,42,42,13,5,248,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0, - 0,0,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,22,43,129,30,2,248,1,255,0,7, - 1,192,14,0,224,28,0,224,28,1,240,60,3,240,60,7, - 240,60,7,240,62,7,224,62,3,192,63,0,0,31,192,0, - 31,248,0,15,254,0,31,255,128,55,255,192,97,255,240,96, - 127,248,224,31,248,224,7,252,240,1,252,252,0,124,255,0, - 60,255,192,28,127,240,24,63,252,24,31,255,16,15,255,160, - 3,255,192,0,255,224,0,63,224,0,15,240,6,3,240,31, - 129,240,63,128,240,63,128,240,63,128,240,63,0,240,62,0, - 224,28,1,192,28,3,192,15,7,0,3,252,0,15,6,12, - 21,3,26,120,60,252,126,252,126,252,126,252,126,120,60,35, - 34,170,39,2,1,0,15,254,0,0,0,112,3,192,0,0, - 192,0,96,0,3,128,0,56,0,6,0,0,28,0,12,0, - 0,6,0,24,3,225,134,0,24,15,25,131,0,48,30,15, - 129,128,48,62,7,129,128,96,60,3,128,192,96,124,3,128, - 192,96,124,1,128,192,192,252,1,128,96,192,252,1,128,96, - 192,252,0,0,96,192,252,0,0,96,192,252,0,0,96,192, - 252,0,0,96,192,252,0,128,96,192,252,0,128,96,64,124, - 0,128,192,96,124,1,128,192,96,60,1,0,192,48,62,3, - 1,128,48,30,2,1,128,24,15,12,3,0,24,3,248,6, - 0,12,0,0,6,0,6,0,0,12,0,3,128,0,56,0, - 0,192,0,96,0,0,112,1,192,0,0,15,254,0,0,14, - 17,34,18,2,17,31,0,51,192,97,224,113,224,121,224,57, - 224,7,224,57,224,113,224,241,224,241,228,241,228,241,228,126, - 248,0,0,127,252,127,252,13,20,40,23,5,1,4,0,28, - 24,24,48,56,112,112,96,112,224,241,224,241,224,241,224,241, - 224,241,224,241,224,241,224,112,224,112,224,112,96,56,48,24, - 16,12,0,4,0,23,13,39,27,2,6,255,255,254,255,255, - 254,255,255,254,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,12,5,10,18,3,10,255,240,255,240,255,240,255,240, - 255,240,35,34,170,39,2,1,0,15,254,0,0,0,112,3, - 192,0,0,192,0,96,0,3,128,0,56,0,6,0,0,28, - 0,12,0,0,6,0,24,255,252,6,0,24,62,31,3,0, - 48,62,15,129,128,48,62,15,193,128,96,62,15,192,192,96, - 62,15,192,192,96,62,15,192,192,192,62,15,128,96,192,62, - 31,0,96,192,63,248,0,96,192,62,60,0,96,192,62,30, - 0,96,192,62,15,0,96,192,62,15,128,96,192,62,15,128, - 96,64,62,15,128,192,96,62,15,136,192,96,62,15,136,192, - 48,62,15,137,128,48,62,15,145,128,24,255,231,243,0,24, - 0,3,230,0,12,0,0,6,0,6,0,0,12,0,3,128, - 0,56,0,0,192,0,96,0,0,112,1,192,0,0,15,254, - 0,0,12,3,6,20,4,28,255,240,255,240,255,240,16,15, - 30,28,6,20,15,240,31,248,62,124,120,30,240,14,224,7, - 224,7,224,7,224,7,224,14,112,14,124,60,63,252,31,240, - 3,192,41,36,216,45,2,253,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,255,255,255,255,255,128,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,255,255,0,255,255,255,255,255,0,255,255,255,255,255,0, - 14,21,42,21,4,14,31,240,48,248,96,124,224,124,240,124, - 248,124,248,120,120,248,1,240,1,224,3,128,6,0,12,4, - 16,4,32,4,32,12,127,252,127,252,79,248,71,248,1,224, - 16,21,42,22,3,14,31,224,48,248,112,124,112,124,124,124, - 124,124,60,124,0,120,0,224,15,128,0,240,0,124,0,62, - 16,63,124,63,252,63,252,63,240,63,112,126,112,252,31,240, - 8,9,9,21,9,25,6,15,31,62,60,120,240,192,128,24, - 35,105,29,3,244,120,3,192,124,3,192,252,7,224,252,7, - 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, - 248,7,224,248,7,224,120,7,192,112,3,192,112,3,193,112, - 3,129,48,3,131,48,7,135,48,7,255,56,15,254,62,62, - 254,47,252,126,35,248,60,32,0,0,48,0,0,112,0,0, - 112,0,0,120,0,0,124,0,0,124,0,0,124,0,0,126, - 0,0,126,0,0,126,0,0,62,0,0,28,0,0,23,41, - 123,28,3,249,3,255,254,15,240,224,63,240,224,127,240,224, - 127,240,224,255,240,224,255,240,224,255,240,224,255,240,224,255, - 240,224,255,240,224,255,240,224,255,240,224,255,240,224,127,240, - 224,63,240,224,31,240,224,7,240,224,0,112,224,0,112,224, - 0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,112, - 224,0,112,224,0,112,224,0,112,224,0,112,224,0,112,224, - 0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,8, - 7,7,14,3,12,60,126,255,255,255,126,60,10,10,20,21, - 5,246,8,0,8,0,24,0,15,0,7,128,3,192,3,192, - 3,192,199,128,63,0,11,20,40,21,5,14,7,0,15,0, - 255,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,255,224,13,17,34,19,3,17,15,128,24,192,56,224, - 112,112,112,112,240,120,240,120,240,120,240,120,240,120,240,120, - 112,112,112,224,56,224,15,128,0,0,255,248,13,20,40,23, - 5,1,1,0,193,128,96,192,112,224,48,112,56,112,56,120, - 60,120,60,120,60,120,60,120,60,120,60,120,56,112,56,112, - 48,112,96,224,64,192,1,128,1,0,36,36,180,44,5,255, - 0,0,0,48,0,7,0,0,48,0,7,0,0,96,0,31, - 0,0,224,0,255,0,0,192,0,31,0,1,192,0,31,0, - 1,128,0,31,0,3,0,0,31,0,7,0,0,31,0,6, - 0,0,31,0,14,0,0,31,0,12,0,0,31,0,24,0, - 0,31,0,24,0,0,31,0,48,0,0,31,0,112,15,0, - 31,0,96,31,0,31,0,224,31,0,31,0,192,63,0,31, - 1,128,127,0,255,227,128,127,0,0,3,0,223,0,0,7, - 1,159,0,0,6,1,159,0,0,12,3,31,0,0,12,2, - 31,0,0,24,6,31,0,0,56,12,31,0,0,48,15,255, - 240,0,112,0,31,0,0,96,0,31,0,0,192,0,31,0, - 1,192,0,31,0,1,128,0,31,0,3,128,1,255,224,3, - 0,0,0,0,35,36,180,43,5,255,0,0,0,56,0,7, - 0,0,48,0,7,0,0,112,0,31,0,0,224,0,255,0, - 0,192,0,31,0,1,192,0,31,0,1,128,0,31,0,3, - 128,0,31,0,3,0,0,31,0,7,0,0,31,0,14,0, - 0,31,0,12,0,0,31,0,28,0,0,31,0,24,0,0, - 31,0,56,126,0,31,0,113,143,128,31,0,99,7,192,31, - 0,231,3,224,31,0,199,3,224,31,1,199,131,224,255,227, - 135,195,224,0,3,3,199,192,0,7,1,135,128,0,6,0, - 15,0,0,14,0,30,0,0,12,0,56,0,0,24,0,96, - 0,0,56,0,128,32,0,48,1,0,32,0,112,2,0,32, - 0,96,2,255,224,0,192,7,255,224,1,192,6,255,192,1, - 128,4,127,192,3,128,4,63,128,3,0,0,0,0,38,36, - 180,44,3,255,0,0,0,12,0,31,224,0,12,0,48,248, - 0,24,0,112,124,0,56,0,112,124,0,48,0,124,124,0, - 112,0,124,124,0,96,0,60,124,0,192,0,0,120,1,192, - 0,0,224,1,128,0,15,128,3,128,0,0,240,3,0,0, - 0,124,7,0,0,0,62,6,0,0,16,63,12,0,0,124, - 63,28,3,192,252,63,24,7,192,252,63,56,7,192,240,63, - 48,15,192,112,126,112,31,192,112,252,224,31,192,31,240,192, - 55,192,0,1,192,103,192,0,1,128,103,192,0,3,128,199, - 192,0,3,0,135,192,0,6,1,135,192,0,14,3,7,192, - 0,12,3,255,252,0,28,0,7,192,0,24,0,7,192,0, - 56,0,7,192,0,112,0,7,192,0,96,0,7,192,0,224, - 0,127,248,0,192,0,0,0,16,35,70,23,3,245,7,0, - 15,128,31,192,31,192,31,192,15,128,7,0,0,0,0,0, - 7,128,12,224,16,48,16,48,16,48,16,48,0,96,0,224, - 0,192,3,192,7,128,15,128,31,0,31,4,62,4,126,6, - 124,2,252,3,252,3,252,3,252,3,252,6,126,6,63,12, - 31,248,7,224,33,45,225,36,2,0,0,56,0,0,0,0, - 60,0,0,0,0,62,0,0,0,0,62,0,0,0,0,31, - 0,0,0,0,7,0,0,0,0,3,128,0,0,0,1,192, - 0,0,0,0,64,0,0,0,0,0,0,0,0,0,192,0, - 0,0,1,192,0,0,0,1,224,0,0,0,1,224,0,0, - 0,3,224,0,0,0,3,240,0,0,0,3,240,0,0,0, - 7,240,0,0,0,7,248,0,0,0,7,248,0,0,0,15, - 248,0,0,0,15,252,0,0,0,15,252,0,0,0,25,252, - 0,0,0,25,254,0,0,0,25,254,0,0,0,48,254,0, - 0,0,48,255,0,0,0,32,255,0,0,0,96,127,0,0, - 0,96,127,128,0,0,64,127,128,0,0,192,63,128,0,0, - 192,63,192,0,0,255,255,192,0,1,255,255,192,0,1,128, - 31,224,0,1,0,31,224,0,3,0,15,224,0,3,0,15, - 240,0,2,0,15,240,0,6,0,7,240,0,15,0,7,248, - 0,31,0,15,252,0,255,240,255,255,128,33,45,225,36,2, - 0,0,0,14,0,0,0,0,15,0,0,0,0,31,0,0, - 0,0,62,0,0,0,0,60,0,0,0,0,120,0,0,0, - 0,240,0,0,0,0,192,0,0,0,0,128,0,0,0,0, - 0,0,0,0,0,192,0,0,0,1,192,0,0,0,1,224, - 0,0,0,1,224,0,0,0,3,224,0,0,0,3,240,0, - 0,0,3,240,0,0,0,7,240,0,0,0,7,248,0,0, - 0,7,248,0,0,0,15,248,0,0,0,15,252,0,0,0, - 15,252,0,0,0,25,252,0,0,0,25,254,0,0,0,25, - 254,0,0,0,48,254,0,0,0,48,255,0,0,0,32,255, - 0,0,0,96,127,0,0,0,96,127,128,0,0,64,127,128, - 0,0,192,63,128,0,0,192,63,192,0,0,255,255,192,0, - 1,255,255,192,0,1,128,31,224,0,1,0,31,224,0,3, - 0,15,224,0,3,0,15,240,0,6,0,15,240,0,6,0, - 7,240,0,15,0,7,248,0,255,240,255,255,128,255,240,255, - 255,128,33,44,220,36,2,0,0,1,192,0,0,0,1,224, - 0,0,0,3,224,0,0,0,7,240,0,0,0,15,120,0, - 0,0,30,30,0,0,0,120,7,0,0,0,64,1,128,0, - 0,0,0,0,0,0,0,192,0,0,0,1,192,0,0,0, - 1,224,0,0,0,1,224,0,0,0,3,224,0,0,0,3, - 240,0,0,0,3,240,0,0,0,7,240,0,0,0,7,248, - 0,0,0,7,248,0,0,0,15,248,0,0,0,15,252,0, - 0,0,15,252,0,0,0,25,252,0,0,0,25,254,0,0, - 0,25,254,0,0,0,48,254,0,0,0,48,255,0,0,0, - 32,255,0,0,0,96,127,0,0,0,96,127,128,0,0,64, - 127,128,0,0,192,63,128,0,0,192,63,192,0,0,255,255, - 192,0,1,255,255,192,0,1,128,31,224,0,1,0,31,224, - 0,3,0,15,224,0,3,0,15,240,0,2,0,15,240,0, - 6,0,7,240,0,15,0,7,248,0,31,0,15,252,0,255, - 240,255,255,128,33,43,215,36,2,0,0,15,1,0,0,0, - 31,227,0,0,0,63,254,0,0,0,33,254,0,0,0,32, - 124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, - 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, - 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, - 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, - 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, - 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, - 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, - 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, - 15,224,0,3,0,15,240,0,6,0,15,240,0,6,0,7, - 240,0,15,0,7,248,0,255,240,255,255,128,255,240,255,255, - 128,33,43,215,36,2,0,0,60,15,0,0,0,126,31,128, - 0,0,126,31,128,0,0,126,31,128,0,0,126,31,128,0, - 0,60,15,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,192,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,7,248,0,0,0,7,248,0, - 0,0,7,248,0,0,0,15,252,0,0,0,15,252,0,0, - 0,25,252,0,0,0,25,254,0,0,0,24,254,0,0,0, - 48,254,0,0,0,48,255,0,0,0,48,127,0,0,0,96, - 127,0,0,0,96,127,128,0,0,96,63,128,0,0,192,63, - 128,0,0,192,63,192,0,0,255,255,192,0,1,255,255,192, - 0,1,128,31,224,0,1,128,15,224,0,3,0,15,224,0, - 3,0,15,240,0,3,0,7,240,0,7,0,7,240,0,15, - 0,7,248,0,31,128,15,252,0,255,240,255,255,128,33,45, - 225,36,2,0,0,1,224,0,0,0,7,248,0,0,0,14, - 28,0,0,0,12,12,0,0,0,12,12,0,0,0,12,12, - 0,0,0,14,28,0,0,0,7,248,0,0,0,3,240,0, - 0,0,0,0,0,0,0,0,192,0,0,0,1,192,0,0, - 0,1,224,0,0,0,1,224,0,0,0,3,224,0,0,0, - 3,240,0,0,0,3,240,0,0,0,7,240,0,0,0,7, - 248,0,0,0,7,248,0,0,0,15,248,0,0,0,13,252, - 0,0,0,13,252,0,0,0,29,252,0,0,0,25,254,0, - 0,0,24,254,0,0,0,56,254,0,0,0,48,255,0,0, - 0,48,127,0,0,0,112,127,0,0,0,96,127,128,0,0, - 96,63,128,0,0,224,63,128,0,0,192,63,192,0,0,255, - 255,192,0,1,255,255,192,0,1,128,31,224,0,1,128,31, - 224,0,3,0,15,224,0,3,0,15,240,0,3,0,15,240, - 0,7,0,7,240,0,15,0,7,248,0,31,128,15,252,0, - 255,240,255,255,128,45,34,204,48,1,0,0,0,127,255,255, - 240,0,0,31,248,7,240,0,0,15,248,1,240,0,0,15, - 248,0,240,0,0,31,248,0,240,0,0,27,248,0,112,0, - 0,59,248,0,112,0,0,51,248,0,48,0,0,115,248,0, - 48,0,0,99,248,12,48,0,0,227,248,12,16,0,0,195, - 248,12,0,0,1,195,248,28,0,0,1,131,248,28,0,0, - 3,131,248,60,0,0,3,3,248,124,0,0,7,3,255,252, - 0,0,6,3,248,124,0,0,14,3,248,60,0,0,12,3, - 248,28,0,0,28,3,248,28,0,0,24,3,248,12,24,0, - 56,3,248,12,24,0,63,255,248,12,24,0,96,3,248,0, - 56,0,224,3,248,0,56,0,192,3,248,0,56,1,192,3, - 248,0,120,1,128,3,248,0,120,3,128,3,248,0,248,7, - 128,3,248,1,248,15,128,3,248,3,248,255,248,127,255,255, - 248,255,248,127,255,255,248,26,45,180,31,3,246,0,127,193, - 128,1,224,241,128,3,192,63,128,7,128,31,128,15,128,15, - 128,31,0,15,128,63,0,7,128,63,0,7,128,63,0,3, - 128,127,0,3,128,127,0,1,128,127,0,1,128,255,0,1, - 128,255,0,1,128,255,0,1,128,255,0,0,0,255,0,0, - 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, - 0,255,0,0,192,127,0,0,192,127,0,0,192,127,0,0, - 128,63,0,0,128,63,0,1,128,63,0,1,128,31,128,3, - 0,15,128,3,0,7,128,6,0,3,192,12,0,1,224,56, - 0,0,127,224,0,0,12,0,0,0,8,0,0,0,30,0, - 0,0,31,128,0,0,3,192,0,0,1,224,0,0,1,224, - 0,0,1,224,0,0,129,192,0,0,199,192,0,0,63,0, - 0,27,45,180,33,3,0,0,224,0,0,1,240,0,0,1, - 240,0,0,0,248,0,0,0,124,0,0,0,60,0,0,0, - 14,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0, - 0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15, - 224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15, - 224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15, - 224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15, - 225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15, - 224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15, - 224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15, - 224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15, - 224,15,224,255,255,255,224,255,255,255,224,27,45,180,33,3, - 0,0,0,56,0,0,0,120,0,0,0,248,0,0,0,248, - 0,0,1,240,0,0,3,192,0,0,3,128,0,0,6,0, - 0,0,4,0,0,0,0,0,0,0,0,0,0,255,255,255, - 224,15,224,31,224,15,224,7,224,15,224,3,224,15,224,1, - 224,15,224,1,224,15,224,0,224,15,224,0,224,15,224,0, - 96,15,224,48,96,15,224,48,96,15,224,48,0,15,224,112, - 0,15,224,112,0,15,224,240,0,15,225,240,0,15,255,240, - 0,15,225,240,0,15,224,240,0,15,224,112,0,15,224,112, - 32,15,224,48,96,15,224,48,96,15,224,48,96,15,224,0, - 96,15,224,0,224,15,224,0,224,15,224,0,224,15,224,1, - 224,15,224,3,224,15,224,3,224,15,224,15,224,255,255,255, - 224,255,255,255,224,27,44,176,33,3,0,0,6,0,0,0, - 15,0,0,0,15,128,0,0,31,192,0,0,57,224,0,0, - 240,112,0,3,192,28,0,0,0,4,0,0,0,0,0,0, - 0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15, - 224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15, - 224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15, - 224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15, - 225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15, - 224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15, - 224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15, - 224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15, - 224,15,224,255,255,255,224,255,255,255,224,27,43,172,33,3, - 0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252, - 0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,224,15,224,31,224,15,224,7, - 224,15,224,3,224,15,224,1,224,15,224,1,224,15,224,0, - 224,15,224,0,224,15,224,0,224,15,224,48,96,15,224,48, - 96,15,224,48,0,15,224,112,0,15,224,112,0,15,224,240, - 0,15,225,240,0,15,255,240,0,15,225,240,0,15,224,240, - 0,15,224,112,0,15,224,112,96,15,224,48,96,15,224,48, - 96,15,224,48,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,0,224,15,224,1,224,15,224,3,224,15,224,3, - 224,15,224,15,224,255,255,255,224,255,255,255,224,16,45,90, - 21,3,0,56,0,124,0,124,0,62,0,31,0,15,0,3, - 128,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,255,255,16,45,90, - 21,3,0,0,14,0,30,0,62,0,60,0,120,0,240,0, - 224,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,255,255,16,44,88, - 21,3,0,1,192,3,192,3,224,7,240,31,120,60,28,240, - 7,0,1,0,0,0,0,255,255,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,255,255,255,255,16,43,86,21,3, - 0,120,30,252,63,252,63,252,63,252,63,120,30,0,0,0, - 0,0,0,255,255,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,255,255,32,34,136,37,3,0,255,255,248, - 0,7,240,31,0,7,240,7,128,7,240,3,224,7,240,1, - 240,7,240,1,240,7,240,0,248,7,240,0,252,7,240,0, - 252,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0, - 255,7,240,0,255,7,240,0,255,7,240,0,255,255,255,0, - 255,7,240,0,255,7,240,0,255,7,240,0,255,7,240,0, - 255,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0, - 254,7,240,0,252,7,240,0,252,7,240,0,248,7,240,1, - 240,7,240,1,224,7,240,3,192,7,240,7,128,7,240,31, - 0,255,255,248,0,34,44,220,37,2,255,0,7,128,128,0, - 0,15,241,128,0,0,31,255,0,0,0,16,255,0,0,0, - 16,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,224,15,255,192,31,240,3, - 255,0,15,240,0,252,0,15,248,0,120,0,7,252,0,48, - 0,3,254,0,48,0,3,254,0,48,0,3,255,0,48,0, - 3,255,128,48,0,3,255,128,48,0,3,127,192,48,0,3, - 63,224,48,0,3,31,224,48,0,3,31,240,48,0,3,15, - 248,48,0,3,7,248,48,0,3,7,252,48,0,3,3,254, - 48,0,3,1,255,48,0,3,1,255,48,0,3,0,255,176, - 0,3,0,127,240,0,3,0,127,240,0,3,0,63,240,0, - 3,0,31,240,0,3,0,15,240,0,3,0,15,240,0,3, - 0,7,240,0,3,0,3,240,0,3,0,3,240,0,7,128, - 1,240,0,15,192,0,240,0,63,240,0,240,0,255,252,0, - 112,0,0,0,0,48,0,28,45,180,33,3,0,0,192,0, - 0,1,224,0,0,1,240,0,0,0,248,0,0,0,120,0, - 0,0,60,0,0,0,28,0,0,0,6,0,0,0,2,0, - 0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112, - 0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15, - 0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15, - 192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15, - 224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15, - 192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31, - 0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192, - 0,28,45,180,33,3,0,0,0,48,0,0,0,120,0,0, - 0,248,0,0,1,240,0,0,1,224,0,0,3,192,0,0, - 3,128,0,0,6,0,0,0,4,0,0,0,0,0,0,0, - 0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7, - 128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63, - 0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127, - 0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127, - 0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31, - 0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3, - 192,60,0,0,224,112,0,0,63,192,0,28,45,180,33,3, - 0,0,6,0,0,0,14,0,0,0,15,0,0,0,31,128, - 0,0,63,192,0,0,121,224,0,0,240,240,0,3,192,60, - 0,3,0,12,0,0,0,0,0,0,0,0,0,0,63,192, - 0,0,224,112,0,3,192,56,0,7,128,30,0,15,128,30, - 0,15,0,15,0,31,0,15,128,63,0,15,192,63,0,15, - 192,127,0,15,192,127,0,15,224,127,0,15,224,127,0,15, - 224,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,127,0,15,224,127,0,15,224,127,0,15,224,127,0,15, - 192,63,0,15,192,63,0,15,192,31,0,15,128,15,0,15, - 0,15,128,31,0,7,128,30,0,3,192,60,0,0,224,112, - 0,0,63,192,0,28,44,176,33,3,0,0,0,8,0,0, - 126,24,0,0,255,248,0,1,255,240,0,1,7,224,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7, - 128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63, - 0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127, - 0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127, - 0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31, - 0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3, - 192,60,0,0,224,112,0,0,63,192,0,28,44,176,33,3, - 0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252, - 0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112, - 0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15, - 0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15, - 192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15, - 224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15, - 192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31, - 0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192, - 0,31,30,120,45,7,253,32,0,0,0,112,0,0,12,248, - 0,0,30,124,0,0,60,62,0,0,120,31,0,1,240,15, - 128,3,224,7,192,7,192,3,224,15,128,1,240,31,0,0, - 248,62,0,0,124,124,0,0,62,248,0,0,31,240,0,0, - 15,224,0,0,7,192,0,0,15,224,0,0,31,240,0,0, - 62,248,0,0,124,60,0,0,248,30,0,1,240,15,0,3, - 224,7,128,7,192,3,192,15,128,1,224,31,0,0,240,62, - 0,0,120,124,0,0,60,248,0,0,30,112,0,0,12,28, - 34,136,33,3,1,0,63,224,48,0,224,112,96,1,192,60, - 192,7,128,31,192,15,128,31,128,15,0,15,0,31,0,15, - 128,63,0,15,192,63,0,31,192,63,0,31,224,127,0,63, - 224,127,0,111,224,127,0,239,224,255,0,207,240,255,1,143, - 240,255,3,15,240,255,7,15,240,255,14,15,240,255,12,15, - 240,255,24,15,240,255,48,15,240,255,112,15,224,127,96,15, - 224,127,192,15,224,127,128,15,192,63,128,15,192,63,0,15, - 192,31,0,15,128,15,0,15,0,31,128,30,0,63,128,30, - 0,51,192,56,0,96,224,112,0,192,127,192,0,33,45,225, - 38,3,0,0,24,0,0,0,0,60,0,0,0,0,62,0, - 0,0,0,31,0,0,0,0,15,128,0,0,0,7,128,0, - 0,0,1,192,0,0,0,0,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,33,45,225,38,3,0,0,0,7,0,0,0, - 0,15,0,0,0,0,15,0,0,0,0,31,0,0,0,0, - 60,0,0,0,0,56,0,0,0,0,112,0,0,0,0,224, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,7,255,128,15,224,1,254,0,15,224,0,120,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,7,224,0,48,0,7,224,0,96,0,7,240,0, - 96,0,3,240,0,192,0,1,248,1,192,0,0,252,3,128, - 0,0,127,159,0,0,0,31,252,0,0,33,45,225,38,3, - 0,0,0,64,0,0,0,0,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,7,248,0,0,0,15,28,0,0,0, - 30,15,0,0,0,112,3,128,0,0,0,0,128,0,0,0, - 0,0,0,0,0,0,0,0,255,255,7,255,128,15,224,1, - 254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7, - 224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248, - 1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252, - 0,0,33,44,220,38,3,0,0,60,15,0,0,0,126,31, - 128,0,0,126,31,128,0,0,126,31,128,0,0,126,31,128, - 0,0,60,15,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,254,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,32,45,180,35,2,0,0,0,7,0,0,0, - 15,0,0,0,31,0,0,0,31,0,0,0,60,0,0,0, - 120,0,0,0,112,0,0,0,192,0,0,0,128,0,0,0, - 0,0,0,0,0,0,255,254,15,255,31,248,1,248,15,248, - 0,240,7,248,0,224,7,248,0,192,3,252,0,192,3,252, - 0,192,1,252,1,128,1,254,1,128,0,254,3,0,0,255, - 3,0,0,255,3,0,0,127,134,0,0,127,134,0,0,63, - 196,0,0,63,204,0,0,31,204,0,0,31,248,0,0,15, - 248,0,0,15,248,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,255,255,0,29,34, - 136,34,3,0,255,255,128,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,255,248,0, - 7,240,63,0,7,240,15,192,7,240,15,224,7,240,15,240, - 7,240,7,240,7,240,7,248,7,240,7,248,7,240,7,248, - 7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,240, - 7,240,15,240,7,240,15,224,7,240,15,192,7,240,31,0, - 7,255,252,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,255,255,128,0,23,34,102,27, - 2,0,0,127,0,1,227,128,3,195,224,7,193,224,7,193, - 240,15,129,240,15,129,240,15,129,240,31,129,240,31,129,224, - 31,129,224,31,129,192,31,131,128,31,188,0,31,131,0,31, - 129,192,31,128,240,31,128,248,31,128,248,31,128,124,31,128, - 124,31,128,126,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,184,126,31,252,124,31,252,124,31,248,252,31, - 248,248,31,184,240,255,159,224,21,34,102,24,2,0,24,0, - 0,60,0,0,62,0,0,30,0,0,15,0,0,7,128,0, - 3,128,0,1,192,0,0,192,0,0,0,0,0,0,0,0, - 0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31, - 128,126,31,128,126,31,128,60,31,128,0,127,128,3,223,128, - 15,31,128,30,31,128,62,31,128,124,31,128,252,31,128,252, - 31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,127, - 240,63,143,224,21,34,102,24,2,0,0,12,0,0,30,0, - 0,62,0,0,62,0,0,124,0,0,120,0,0,224,0,0, - 192,0,1,128,0,0,0,0,0,0,0,0,0,0,15,248, - 0,24,62,0,56,63,0,120,31,0,124,31,128,126,31,128, - 126,31,128,62,31,128,8,63,128,1,255,128,7,159,128,30, - 31,128,62,31,128,124,31,128,124,31,128,252,31,128,252,31, - 136,252,31,136,252,31,152,254,63,144,127,127,240,63,143,224, - 21,34,102,24,2,0,1,192,0,1,224,0,3,224,0,3, - 224,0,7,240,0,7,56,0,14,28,0,28,14,0,48,7, - 0,0,0,0,0,0,0,0,0,0,15,248,0,24,62,0, - 56,63,0,120,31,0,124,31,128,126,31,128,126,31,128,62, - 31,128,8,63,128,1,255,128,7,159,128,30,31,128,62,31, - 128,124,31,128,124,31,128,252,31,128,252,31,136,252,31,136, - 252,31,152,254,63,144,127,127,240,63,143,224,21,32,96,24, - 2,0,15,3,0,31,195,0,63,254,0,49,252,0,32,120, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,248,0,24,62,0,56,63,0,120,31,0,124,31,128,126, - 31,128,126,31,128,62,31,128,8,63,128,1,255,128,7,159, - 128,30,31,128,62,31,128,124,31,128,124,31,128,252,31,128, - 252,31,136,252,31,136,252,31,152,254,63,144,127,127,240,63, - 143,224,21,32,96,24,2,0,60,30,0,126,63,0,126,63, - 0,126,63,0,126,63,0,60,30,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,24,62,0,56,63,0,120, - 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, - 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, - 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, - 63,144,127,127,240,63,143,224,21,34,102,24,2,1,3,240, - 0,7,248,0,14,28,0,12,12,0,12,12,0,12,12,0, - 14,28,0,7,248,0,1,224,0,0,0,0,0,0,0,0, - 0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31, - 128,126,31,128,126,31,128,62,31,128,8,63,128,1,255,128, - 7,31,128,30,31,128,62,31,128,124,31,128,124,31,128,252, - 31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,111, - 240,63,199,224,29,22,88,34,2,1,15,240,255,128,24,63, - 195,192,56,63,195,224,120,31,131,240,124,31,129,240,126,31, - 129,240,126,31,129,248,62,31,129,248,0,63,129,248,1,255, - 129,248,7,31,255,248,30,31,128,0,62,31,128,0,124,31, - 128,0,124,31,128,8,252,31,128,8,252,31,128,24,252,31, - 192,16,252,31,192,16,254,51,192,32,127,97,240,64,63,192, - 255,128,18,32,96,22,2,247,3,252,0,15,6,0,31,7, - 0,62,7,128,62,7,128,126,15,128,124,31,128,252,31,128, - 252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,1, - 128,30,1,0,15,130,0,3,252,0,0,128,0,0,128,0, - 1,128,0,0,240,0,0,56,0,0,60,0,0,60,0,0, - 60,0,4,120,0,3,240,0,18,34,102,23,2,0,28,0, - 0,30,0,0,30,0,0,31,0,0,15,128,0,7,128,0, - 3,192,0,0,192,0,0,96,0,0,0,0,0,0,0,0, - 0,0,3,252,0,14,30,0,30,31,0,62,15,128,60,15, - 128,124,15,128,124,15,192,252,15,192,252,15,192,252,15,192, - 255,255,192,252,0,0,252,0,0,252,0,0,252,0,64,124, - 0,64,124,0,192,62,0,192,62,1,128,31,1,0,15,135, - 0,3,252,0,18,34,102,23,2,0,0,14,0,0,31,0, - 0,31,0,0,62,0,0,60,0,0,120,0,0,240,0,0, - 224,0,1,128,0,0,0,0,0,0,0,0,0,0,3,252, - 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, - 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, - 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, - 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, - 18,34,102,23,2,0,1,224,0,1,224,0,1,240,0,3, - 240,0,3,248,0,7,56,0,14,28,0,28,14,0,56,3, - 0,0,0,0,0,0,0,0,0,0,3,252,0,14,30,0, - 30,31,0,62,15,128,60,15,128,124,15,128,124,15,192,252, - 15,192,252,15,192,252,15,192,255,255,192,252,0,0,252,0, - 0,252,0,0,252,0,64,124,0,64,124,0,192,62,0,192, - 62,0,128,31,1,0,15,131,0,3,252,0,18,32,96,23, - 2,0,30,15,0,63,31,128,63,31,128,63,31,128,63,31, - 128,30,15,0,0,0,0,0,0,0,0,0,0,0,0,0, - 3,252,0,14,30,0,30,31,0,62,15,128,60,15,128,124, - 15,128,124,15,192,252,15,192,252,15,192,252,15,192,255,255, - 192,252,0,0,252,0,0,252,0,0,252,0,64,124,0,64, - 124,0,192,62,0,192,62,0,128,31,1,0,15,131,0,3, - 252,0,12,34,68,15,1,0,96,0,240,0,248,0,248,0, - 124,0,28,0,14,0,7,0,3,0,0,0,0,0,0,0, - 127,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,127,240,12,34,68,15, - 2,0,0,224,1,240,1,240,3,224,7,192,7,128,15,0, - 28,0,24,0,0,0,0,0,0,0,255,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,255,224,14,34,68,14,0,0,7,128,15,128, - 15,128,15,192,31,224,60,224,56,112,112,60,192,12,0,0, - 0,0,0,0,63,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,63,248, - 14,32,64,14,1,0,120,120,252,252,252,252,252,252,252,252, - 120,120,0,0,0,0,0,0,0,0,63,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,63,248,20,34,102,24,2,0,15,193,128,15, - 227,0,7,254,0,3,248,0,1,248,0,1,252,0,3,254, - 0,14,126,0,24,63,0,0,63,128,0,31,128,0,15,192, - 7,255,192,15,15,224,30,7,224,62,7,224,62,7,224,124, - 7,240,124,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224, - 124,7,224,62,7,192,62,7,192,30,7,128,15,15,0,3, - 252,0,23,32,96,27,2,0,3,224,96,7,248,64,15,255, - 192,12,127,128,8,15,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,31,192,63,35,224,63,65,240,63, - 65,248,63,129,248,63,129,248,63,1,248,63,1,248,63,1, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,255,199,254,20,34,102,24,2,0,14,0, - 0,31,0,0,31,0,0,15,128,0,7,192,0,3,192,0, - 1,224,0,0,96,0,0,48,0,0,0,0,0,0,0,0, - 0,0,3,252,0,15,15,0,30,7,128,62,7,192,62,7, - 192,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,124, - 3,224,124,3,224,62,7,192,62,7,192,30,7,128,15,15, - 0,3,252,0,20,34,102,24,2,0,0,7,0,0,15,128, - 0,15,128,0,31,0,0,62,0,0,60,0,0,120,0,0, - 224,0,0,192,0,0,0,0,0,0,0,0,0,0,3,252, - 0,15,15,0,30,7,128,62,7,192,62,7,192,124,3,224, - 124,3,224,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,124,3,224,124,3, - 224,62,7,192,62,7,192,30,7,128,15,15,0,3,252,0, - 20,34,102,24,2,0,0,240,0,0,240,0,1,248,0,1, - 248,0,3,252,0,3,156,0,7,14,0,14,7,0,24,1, - 128,0,0,0,0,0,0,0,0,0,3,252,0,15,15,0, - 30,7,128,62,7,192,62,7,192,124,3,224,124,3,224,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,124,3,224,124,3,224,62,7,192, - 62,7,192,30,7,128,15,15,0,3,252,0,20,32,96,24, - 2,0,7,192,128,15,240,128,31,255,128,16,255,0,16,62, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 3,252,0,15,15,0,30,7,128,62,7,192,62,7,192,124, - 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224, - 124,3,224,62,7,192,62,7,192,30,7,128,15,15,0,3, - 252,0,20,32,96,24,2,0,30,15,0,63,31,128,63,31, - 128,63,31,128,63,31,128,30,15,0,0,0,0,0,0,0, - 0,0,0,0,0,0,3,252,0,15,15,0,30,7,128,62, - 7,192,62,7,192,124,3,224,124,3,224,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,62,7,192,62,7,192,30, - 7,128,15,15,0,3,252,0,41,32,192,45,2,253,0,0, - 28,0,0,0,0,0,62,0,0,0,0,0,127,0,0,0, - 0,0,127,0,0,0,0,0,127,0,0,0,0,0,62,0, - 0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, - 255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,28,0,0,0,0,0,62,0,0,0, - 0,0,127,0,0,0,0,0,127,0,0,0,0,0,127,0, - 0,0,0,0,62,0,0,0,0,0,28,0,0,0,20,22, - 66,24,2,1,3,252,48,15,15,96,30,15,192,62,7,192, - 62,7,192,124,7,224,124,7,224,252,15,240,252,27,240,252, - 51,240,252,115,240,252,227,240,252,195,240,253,131,240,255,3, - 240,126,3,224,126,3,224,62,7,192,62,7,192,63,7,128, - 111,15,0,195,252,0,24,34,102,26,1,0,7,0,0,7, - 128,0,7,192,0,7,192,0,3,224,0,1,224,0,0,112, - 0,0,48,0,0,24,0,0,0,0,0,0,0,0,0,0, - 255,143,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,131,248,31,131,248,31,133,248,15,133,248,15,201,248,7, - 241,255,24,34,102,26,1,0,0,3,128,0,3,128,0,7, - 128,0,15,128,0,15,0,0,30,0,0,28,0,0,56,0, - 0,48,0,0,0,0,0,0,0,0,0,0,255,143,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,131,248,31, - 131,248,31,133,248,15,133,248,15,201,248,7,241,255,24,34, - 102,26,1,0,0,56,0,0,120,0,0,124,0,0,252,0, - 0,254,0,1,206,0,3,135,0,7,3,128,14,0,192,0, - 0,0,0,0,0,0,0,0,255,143,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,131,248,31,131,248,31,133, - 248,15,133,248,15,201,248,7,241,255,24,32,96,26,1,0, - 7,131,192,15,199,224,15,199,224,15,199,224,15,199,224,7, - 131,192,0,0,0,0,0,0,0,0,0,0,0,0,255,135, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,131, - 248,31,131,248,31,133,248,15,133,248,15,201,248,7,241,255, - 23,45,135,25,1,245,0,1,192,0,1,224,0,3,224,0, - 7,192,0,7,128,0,15,0,0,14,0,0,28,0,0,24, - 0,0,0,0,0,0,0,0,0,0,255,241,254,63,192,120, - 31,128,48,15,192,32,15,192,32,15,192,96,7,224,64,7, - 224,64,3,240,192,3,240,128,1,248,128,1,249,128,0,249, - 0,0,253,0,0,253,0,0,126,0,0,126,0,0,62,0, - 0,60,0,0,28,0,0,28,0,0,12,0,0,8,0,0, - 8,0,0,8,0,15,16,0,31,16,0,63,144,0,63,32, - 0,62,32,0,62,64,0,31,192,0,15,0,0,22,44,132, - 25,1,244,3,128,0,15,128,0,63,128,0,255,128,0,223, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,135,240,31,159,248,31,177,248,31,160,252,31,192,252, - 31,192,252,31,192,252,31,128,252,31,128,252,31,128,248,31, - 129,248,31,129,240,31,129,240,31,129,224,31,131,192,31,131, - 128,31,135,128,31,134,0,31,140,0,31,152,0,31,224,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,30,0,0,120,0, - 0,224,0,0,128,0,0,23,44,132,25,1,245,3,193,224, - 7,227,240,7,227,240,7,227,240,7,227,240,3,193,224,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,241, - 254,63,192,120,31,128,48,15,192,32,15,192,32,15,192,96, - 7,224,64,7,224,64,3,240,192,3,240,128,1,240,128,1, - 249,128,0,249,0,0,253,0,0,253,0,0,126,0,0,126, - 0,0,62,0,0,60,0,0,28,0,0,28,0,0,12,0, - 0,8,0,0,8,0,0,8,0,15,16,0,31,16,0,63, - 144,0,63,32,0,62,32,0,62,64,0,31,192,0,15,0, - 0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 34 - Calculated Max Values w=41 h=44 x= 6 y=13 dx=45 dy= 0 ascent=35 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =34 descent= 0 - X Font ascent =34 descent= 0 - Max Font ascent =35 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35n[1567] U8G_FONT_SECTION("u8g_font_osb35n") = { - 0,133,60,215,242,34,0,0,0,0,42,58,0,35,247,34, - 0,17,19,57,24,4,13,1,128,0,3,192,0,3,192,0, - 227,195,0,241,135,128,248,143,128,252,159,128,126,191,0,3, - 192,0,3,192,0,126,191,0,252,159,128,248,143,128,241,135, - 128,225,195,0,3,192,0,3,192,0,3,192,0,1,128,0, - 41,41,246,45,2,249,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,255,255,255,255,255,128,255,255, - 255,255,255,128,255,255,255,255,255,128,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,9,15,30,13, - 2,248,126,0,255,0,255,128,255,128,255,128,127,128,1,128, - 1,128,1,128,3,0,2,0,6,0,28,0,56,0,96,0, - 12,5,10,18,3,10,255,240,255,240,255,240,255,240,255,240, - 8,6,6,14,3,1,126,255,255,255,255,126,16,44,88,22, - 3,247,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,1,224,1,192,1,192,3,192,3,128, - 3,128,7,128,7,0,7,0,15,0,14,0,14,0,14,0, - 30,0,28,0,28,0,60,0,56,0,56,0,120,0,112,0, - 112,0,240,0,224,0,224,0,224,0,23,35,105,28,2,0, - 0,16,0,0,254,0,3,199,128,7,131,192,15,1,224,15, - 1,224,31,1,240,63,1,248,63,1,248,127,1,248,127,1, - 252,127,1,252,127,1,252,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,255,1,254,127,1,252,127,1,252,127,1,252,127,1, - 252,63,1,248,63,1,248,31,1,240,15,1,224,15,1,224, - 7,131,192,3,199,128,0,254,0,16,34,68,28,6,0,0, - 240,0,240,1,240,7,240,255,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,255, - 255,255,255,21,34,102,28,3,1,7,255,0,14,15,192,28, - 7,224,56,7,240,120,3,240,120,3,248,248,3,248,252,3, - 248,255,3,248,255,3,248,255,7,248,127,7,240,63,15,240, - 12,15,224,0,31,192,0,63,128,0,127,0,0,252,0,1, - 240,0,3,192,0,7,128,0,14,0,24,12,0,24,24,0, - 24,48,0,24,96,0,24,111,192,56,127,255,248,255,255,240, - 239,255,240,195,255,240,193,255,224,192,255,192,192,63,128,22, - 34,102,28,3,1,7,255,0,14,15,192,28,7,224,56,7, - 240,120,3,240,124,3,248,126,3,248,127,3,248,127,3,248, - 127,3,248,63,3,240,30,3,240,0,7,224,0,7,192,0, - 15,0,7,248,0,0,31,128,0,15,192,0,7,224,0,7, - 240,0,3,248,0,3,248,62,3,252,127,3,252,255,3,252, - 255,3,252,255,3,252,254,3,252,252,3,248,248,7,248,120, - 7,240,56,15,224,30,31,192,15,255,0,23,34,102,28,2, - 0,0,7,192,0,15,192,0,15,192,0,31,192,0,63,192, - 0,63,192,0,127,192,0,127,192,0,255,192,0,223,192,1, - 223,192,1,159,192,3,159,192,7,31,192,6,31,192,14,31, - 192,12,31,192,28,31,192,24,31,192,56,31,192,112,31,192, - 96,31,192,224,31,192,255,255,254,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,0,31, - 192,7,255,252,7,255,252,21,34,102,28,4,0,32,0,192, - 60,7,128,63,255,128,63,255,0,63,254,0,63,248,0,63, - 224,0,63,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,49,252,0,54,63,0,60,15,192,56,15,224, - 48,15,224,32,7,240,0,7,240,0,7,248,0,7,248,8, - 7,248,62,7,248,126,7,248,254,7,248,254,7,248,254,7, - 240,248,7,240,240,7,224,112,15,192,48,15,192,28,31,0, - 15,252,0,22,34,102,28,3,1,0,255,128,3,192,192,7, - 192,96,15,128,240,31,131,240,31,7,240,63,15,240,63,15, - 240,127,15,224,127,7,192,127,3,0,127,0,0,255,0,0, - 255,0,0,255,63,0,255,255,192,255,195,224,255,131,240,255, - 3,248,255,1,248,255,1,252,255,1,252,255,1,252,127,1, - 252,127,1,252,127,1,252,127,1,252,63,1,248,63,1,248, - 31,1,248,15,129,240,7,131,224,3,195,192,1,255,0,20, - 34,102,28,5,1,71,224,224,207,240,224,223,248,112,255,252, - 48,255,254,48,255,255,240,255,255,240,224,31,176,192,0,32, - 192,0,96,128,0,96,128,0,192,128,1,192,0,1,128,0, - 3,128,0,7,0,0,15,0,0,14,0,0,30,0,0,60, - 0,0,124,0,0,252,0,1,252,0,1,248,0,3,248,0, - 3,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,7,248,0,3,248,0,3,240,0,23,34,102,28,3, - 1,1,255,128,7,0,192,12,0,96,28,0,48,56,0,24, - 56,0,24,120,0,24,120,0,24,124,0,24,126,0,24,127, - 0,48,127,192,32,127,240,96,63,255,128,63,255,0,31,255, - 192,15,255,240,7,255,248,15,255,248,24,63,252,48,15,252, - 112,3,254,96,0,254,224,0,126,224,0,62,224,0,30,224, - 0,30,224,0,12,240,0,28,112,0,24,56,0,24,28,0, - 48,15,0,192,3,255,0,22,34,102,28,3,1,3,254,0, - 15,15,0,31,7,128,62,7,192,126,3,224,126,3,240,126, - 3,240,254,3,248,254,3,248,254,3,248,254,3,248,254,3, - 252,254,3,252,254,3,252,126,3,252,127,7,252,63,7,252, - 31,15,252,15,255,252,3,243,252,0,3,252,0,3,252,0, - 3,248,7,3,248,31,131,248,31,195,248,63,195,240,63,195, - 240,63,131,224,62,7,224,60,7,192,28,15,128,14,31,0, - 7,252,0,8,22,22,14,3,1,126,255,255,255,255,126,0, - 0,0,0,0,0,0,0,0,0,126,255,255,255,255,126}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 6 y=25 dx=52 dy= 0 ascent=38 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =35 descent=-10 - Max Font ascent =38 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35r[10247] U8G_FONT_SECTION("u8g_font_osb35r") = { - 0,133,60,215,242,35,12,220,29,224,32,127,246,38,245,35, - 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, - 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, - 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, - 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, - 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, - 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, - 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, - 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, - 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, - 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, - 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, - 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, - 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, - 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, - 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, - 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, - 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, - 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, - 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, - 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, - 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, - 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, - 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, - 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, - 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, - 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, - 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, - 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, - 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, - 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, - 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, - 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, - 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, - 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, - 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, - 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, - 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, - 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, - 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, - 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, - 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, - 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, - 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, - 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, - 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, - 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, - 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, - 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, - 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, - 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, - 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, - 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, - 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, - 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, - 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, - 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, - 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, - 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, - 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, - 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, - 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, - 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, - 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, - 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, - 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, - 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, - 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, - 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, - 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, - 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, - 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, - 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, - 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, - 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, - 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, - 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, - 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, - 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, - 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, - 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, - 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, - 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, - 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, - 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, - 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, - 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, - 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, - 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, - 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, - 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, - 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, - 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, - 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, - 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, - 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, - 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, - 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, - 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, - 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, - 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, - 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, - 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, - 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, - 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, - 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, - 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, - 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, - 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, - 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, - 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, - 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, - 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, - 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, - 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, - 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, - 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, - 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, - 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, - 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, - 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, - 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, - 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, - 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, - 0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13, - 2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128, - 1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0, - 64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0, - 0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31, - 128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0, - 0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0, - 3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126, - 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, - 0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0, - 0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0, - 3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0, - 15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0, - 127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1, - 248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15, - 224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48, - 41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255, - 255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, - 255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120, - 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, - 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, - 0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0, - 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, - 0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0, - 0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0, - 0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0, - 63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224, - 0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0, - 0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0, - 252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128, - 0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0, - 0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252, - 192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248, - 1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16, - 12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128, - 3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39, - 2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112, - 0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0, - 12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56, - 15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62, - 7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7, - 192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128, - 224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128, - 112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56, - 60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0, - 0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0, - 96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36, - 2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, - 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, - 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, - 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, - 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, - 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, - 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, - 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, - 15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7, - 240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255, - 128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15, - 224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15, - 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, - 224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15, - 224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15, - 224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15, - 224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15, - 224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15, - 224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26, - 34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63, - 128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7, - 128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3, - 128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1, - 128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, - 0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0, - 192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1, - 128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6, - 0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136, - 37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15, - 224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15, - 224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15, - 224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15, - 224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3, - 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, - 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, - 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, - 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, - 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, - 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, - 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, - 224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255, - 255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7, - 240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7, - 240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7, - 240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7, - 255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7, - 240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224, - 192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7, - 192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1, - 192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0, - 192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0, - 0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31, - 192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31, - 192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31, - 192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192, - 192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23, - 34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15, - 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, - 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, - 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, - 224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224, - 255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96, - 15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3, - 0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0, - 7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7, - 240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240, - 48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224, - 0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0, - 0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0, - 7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7, - 240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240, - 63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15, - 240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248, - 0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3, - 0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0, - 112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0, - 240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7, - 240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255, - 240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248, - 0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0, - 95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223, - 192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192, - 6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6, - 63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15, - 226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244, - 31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31, - 192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192, - 6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63, - 192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255, - 224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248, - 0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0, - 48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48, - 0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0, - 3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3, - 7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1, - 255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127, - 240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240, - 0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0, - 3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63, - 240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34, - 136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0, - 7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128, - 63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224, - 127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192, - 31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0, - 3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34, - 3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240, - 15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240, - 7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240, - 7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240, - 15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246, - 0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0, - 15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128, - 63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224, - 127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128, - 15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16, - 0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16, - 0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240, - 0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128, - 0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240, - 126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240, - 31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240, - 31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240, - 63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240, - 62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240, - 31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240, - 31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240, - 31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255, - 135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1, - 7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240, - 0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128, - 24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128, - 15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192, - 15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0, - 30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48, - 195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248, - 255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248, - 240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56, - 192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24, - 128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15, - 248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248, - 0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0, - 96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192, - 0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0, - 0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0, - 63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15, - 230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252, - 0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0, - 0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0, - 0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0, - 0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255, - 128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7, - 248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1, - 254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0, - 192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0, - 0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255, - 3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63, - 195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0, - 0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0, - 31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248, - 7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252, - 0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0, - 0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3, - 224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0, - 240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0, - 0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255, - 31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3, - 128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0, - 0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0, - 0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0, - 31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15, - 248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252, - 0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0, - 0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0, - 0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3, - 128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128, - 31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254, - 15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248, - 0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254, - 1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127, - 134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31, - 204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128, - 127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0, - 120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0, - 96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0, - 0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0, - 0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128, - 3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128, - 15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128, - 63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128, - 255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44, - 88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0, - 120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0, - 14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128, - 3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240, - 0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28, - 0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18, - 3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0, - 112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207, - 0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224, - 60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25, - 3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255, - 128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1, - 21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120, - 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, - 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, - 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, - 63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193, - 248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99, - 192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0, - 31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252, - 31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128, - 62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26, - 2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224, - 0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62, - 15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, - 252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30, - 31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252, - 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, - 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, - 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, - 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, - 18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7, - 199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135, - 128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27, - 2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7, - 238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192, - 31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48, - 0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255, - 240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56, - 192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30, - 7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31, - 143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192, - 252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227, - 255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63, - 128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0, - 0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92, - 16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0, - 124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124, - 252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25, - 34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96, - 0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0, - 0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128, - 0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224, - 0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252, - 0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68, - 14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193, - 248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63, - 0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0, - 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, - 3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3, - 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, - 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, - 0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2, - 1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248, - 63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30, - 7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62, - 7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1, - 246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248, - 31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192, - 252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224, - 31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96, - 30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252, - 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224, - 62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66, - 20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63, - 159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0, - 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, - 63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63, - 0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96, - 60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63, - 240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240, - 7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1, - 128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63, - 128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31, - 130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66, - 26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15, - 201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192, - 120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96, - 7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1, - 249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126, - 0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0, - 35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128, - 31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15, - 192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224, - 191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31, - 144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224, - 0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0, - 0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0, - 56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255, - 231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227, - 0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0, - 0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3, - 15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207, - 254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48, - 15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3, - 240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253, - 0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0, - 0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0, - 8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32, - 0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0, - 127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96, - 126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240, - 0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192, - 31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255, - 255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128, - 7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0, - 28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44, - 44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240, - 0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31, - 2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255, - 128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1, - 255,128,48,0,63,0,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 5 y=15 dx=28 dy= 0 ascent=25 len=72 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =19 descent=-6 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_FONT_SECTION("u8g_font_osr18") = { - 0,68,33,235,248,18,4,197,10,125,32,255,250,25,249,19, - 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, - 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, - 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, - 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, - 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, - 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, - 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, - 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, - 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, - 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, - 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, - 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, - 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, - 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, - 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, - 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, - 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, - 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, - 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, - 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, - 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, - 192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66, - 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, - 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, - 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, - 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, - 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, - 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, - 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, - 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, - 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, - 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, - 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, - 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, - 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, - 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, - 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, - 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, - 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, - 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, - 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, - 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, - 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, - 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, - 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, - 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, - 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, - 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, - 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, - 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240, - 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, - 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, - 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, - 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, - 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, - 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, - 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, - 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, - 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, - 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, - 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, - 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, - 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, - 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, - 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, - 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, - 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, - 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, - 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, - 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, - 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, - 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, - 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, - 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, - 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, - 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, - 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, - 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, - 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, - 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, - 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, - 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, - 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, - 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, - 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, - 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, - 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, - 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, - 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, - 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, - 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, - 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, - 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, - 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, - 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, - 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, - 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, - 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, - 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, - 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, - 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, - 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, - 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, - 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, - 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, - 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, - 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, - 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, - 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, - 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, - 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, - 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, - 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, - 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, - 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, - 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, - 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, - 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, - 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, - 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, - 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, - 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, - 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, - 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, - 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, - 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, - 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, - 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, - 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, - 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, - 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, - 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, - 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, - 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, - 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, - 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, - 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, - 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, - 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, - 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, - 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, - 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, - 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, - 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, - 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, - 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, - 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, - 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, - 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, - 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, - 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, - 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, - 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, - 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, - 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, - 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, - 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, - 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, - 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, - 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, - 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, - 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, - 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, - 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, - 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, - 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, - 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, - 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, - 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, - 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, - 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, - 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, - 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, - 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, - 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, - 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, - 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, - 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, - 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, - 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, - 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, - 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, - 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, - 64,124,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,7,0,0,3,18,18,7,2,250,224, - 224,224,0,64,64,64,64,64,64,64,64,224,224,224,224,224, - 224,9,18,36,15,3,253,4,0,4,0,4,0,31,0,53, - 0,100,128,229,128,197,128,196,0,196,0,196,0,228,128,100, - 128,53,0,31,0,4,0,4,0,4,0,14,18,36,19,2, - 0,0,248,1,132,3,4,2,12,6,0,6,0,6,0,62, - 0,7,224,6,0,6,0,6,0,6,0,6,0,116,4,140, - 4,139,248,112,240,11,11,22,15,2,2,159,32,113,192,64, - 64,128,96,128,32,128,32,128,32,128,32,64,64,96,192,159, - 32,15,18,36,15,0,0,252,126,56,24,24,16,28,16,12, - 32,14,64,6,64,7,128,3,128,63,240,3,0,3,0,63, - 240,3,0,3,0,3,0,3,0,31,224,1,23,23,7,3, - 251,128,128,128,128,128,128,128,128,128,0,0,0,0,0,128, - 128,128,128,128,128,128,128,128,10,23,46,17,3,251,30,0, - 33,0,35,0,35,0,32,0,48,0,28,0,46,0,71,0, - 131,128,129,192,192,192,224,64,112,64,56,128,29,0,6,0, - 3,0,3,0,49,0,49,0,34,0,28,0,7,2,2,11, - 2,15,198,198,19,18,54,21,1,0,3,248,0,12,6,0, - 16,225,0,33,28,128,67,12,64,70,4,64,134,4,32,134, - 0,32,134,0,32,134,0,32,134,0,32,134,8,32,67,8, - 64,67,8,64,32,240,128,16,1,0,12,6,0,3,248,0, - 7,8,8,11,2,10,240,200,24,104,136,154,100,252,6,10, - 10,12,3,1,32,68,136,136,136,136,136,136,68,32,13,6, - 12,15,1,3,255,248,0,8,0,8,0,8,0,8,0,8, - 7,1,1,11,2,6,254,19,18,54,21,1,0,3,248,0, - 12,6,0,31,225,0,35,24,128,67,24,64,67,24,64,131, - 24,32,131,24,32,131,224,32,131,16,32,131,24,32,131,24, - 32,67,26,64,67,26,64,47,142,128,16,1,0,12,6,0, - 3,248,0,7,1,1,11,2,15,254,7,7,7,15,4,11, - 56,68,130,130,130,68,56,22,18,54,24,1,255,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,255,255,252,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,0,0,0,0,0, - 255,255,252,7,10,10,11,2,8,124,134,134,230,6,8,16, - 96,66,254,7,11,11,12,3,7,120,132,198,198,4,120,14, - 70,198,134,120,4,4,4,11,5,13,48,48,96,128,14,19, - 38,17,2,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,64,192,64,128,64,132,163,252,158,56,128,0,128,0, - 192,0,192,0,192,0,224,0,64,0,11,22,44,14,2,252, - 63,224,120,128,248,128,248,128,248,128,248,128,248,128,120,128, - 8,128,8,128,8,128,8,128,8,128,8,128,8,128,8,128, - 8,128,8,128,8,128,8,128,8,128,8,128,3,3,3,7, - 2,7,224,224,224,5,5,5,11,3,251,64,48,24,24,240, - 6,11,11,12,3,7,16,16,240,48,48,48,48,48,48,48, - 252,6,9,9,10,2,9,112,136,132,132,132,132,72,48,252, - 7,10,10,13,3,1,8,68,68,34,34,34,34,68,68,136, - 18,18,54,23,3,0,16,4,0,240,12,0,48,8,0,48, - 16,0,48,16,0,48,32,0,48,96,0,48,67,0,48,135, - 0,48,139,0,253,11,0,3,19,0,2,19,0,6,35,0, - 4,63,192,8,3,0,24,3,0,16,15,192,17,18,54,22, - 3,0,16,4,0,240,8,0,48,8,0,48,16,0,48,16, - 0,48,32,0,48,64,0,48,78,0,48,179,128,48,161,128, - 253,49,128,3,17,128,2,3,0,4,6,0,4,8,0,8, - 16,128,24,49,128,16,63,128,18,18,54,23,3,0,120,4, - 0,134,12,0,198,8,0,4,16,0,120,16,0,12,32,0, - 6,96,0,198,67,0,198,135,0,142,139,0,121,11,0,2, - 19,0,2,19,0,4,35,0,12,63,192,8,3,0,16,3, - 0,16,15,192,9,18,36,12,1,250,28,0,28,0,28,0, - 0,0,28,0,34,0,34,0,6,0,4,0,24,0,48,0, - 96,0,227,0,195,128,192,128,224,128,97,0,62,0,18,24, - 72,20,2,0,6,0,0,6,0,0,3,0,0,0,128,0, - 0,0,0,0,0,0,0,128,0,0,192,0,1,192,0,1, - 192,0,1,224,0,3,224,0,2,96,0,2,112,0,6,112, - 0,4,48,0,4,56,0,12,24,0,15,248,0,24,28,0, - 16,12,0,16,14,0,48,14,0,254,63,192,18,24,72,20, - 2,0,0,16,0,0,48,0,0,96,0,0,64,0,0,128, - 0,0,0,0,0,128,0,0,192,0,1,192,0,1,192,0, - 1,224,0,3,224,0,2,96,0,2,112,0,6,112,0,4, - 48,0,4,56,0,12,56,0,15,248,0,24,28,0,16,12, - 0,16,14,0,48,14,0,254,63,192,18,24,72,20,2,0, - 0,128,0,0,192,0,1,96,0,2,48,0,4,8,0,0, - 0,0,0,128,0,0,192,0,1,192,0,1,192,0,1,224, - 0,3,224,0,2,96,0,2,112,0,6,112,0,4,48,0, - 4,56,0,12,56,0,15,248,0,24,28,0,16,12,0,16, - 12,0,48,14,0,254,63,192,18,23,69,20,2,0,3,144, - 0,5,240,0,0,0,0,0,0,0,0,0,0,0,128,0, - 0,128,0,1,192,0,1,192,0,1,224,0,3,224,0,2, - 96,0,2,112,0,6,112,0,4,48,0,12,56,0,12,56, - 0,15,248,0,24,28,0,16,28,0,16,12,0,48,14,0, - 254,63,192,18,23,69,20,1,0,6,24,0,6,24,0,2, - 16,0,0,0,0,0,0,0,0,192,0,0,192,0,0,192, - 0,1,224,0,1,224,0,1,96,0,2,112,0,2,112,0, - 2,48,0,4,56,0,4,24,0,12,24,0,15,252,0,8, - 12,0,24,12,0,24,14,0,56,6,0,254,63,192,17,24, - 72,20,2,0,1,192,0,2,32,0,2,32,0,2,32,0, - 1,192,0,0,0,0,0,128,0,0,128,0,1,192,0,1, - 192,0,1,192,0,2,224,0,2,96,0,2,96,0,4,112, - 0,4,112,0,12,48,0,8,56,0,15,248,0,24,28,0, - 16,28,0,16,12,0,48,14,0,254,127,128,24,18,54,26, - 0,0,0,127,255,0,28,7,0,28,3,0,44,1,0,44, - 1,0,76,17,0,76,16,0,140,48,0,143,240,1,12,48, - 3,12,16,2,12,17,7,252,17,4,12,1,8,12,1,8, - 12,3,24,12,7,254,63,255,14,24,48,18,2,250,7,132, - 24,108,32,60,96,28,96,12,192,12,192,4,192,0,192,0, - 192,0,192,0,192,4,96,4,96,4,96,8,48,24,24,48, - 7,192,2,0,3,128,0,192,0,192,8,192,7,128,15,24, - 48,18,1,0,4,0,6,0,3,0,1,128,0,0,0,0, - 255,254,24,6,24,2,24,2,24,2,24,34,24,32,24,96, - 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, - 24,14,255,254,15,24,48,18,1,0,0,48,0,48,0,96, - 0,192,0,0,0,0,255,254,24,14,24,6,24,2,24,2, - 24,34,24,32,24,96,31,224,24,96,24,32,24,32,24,34, - 24,2,24,2,24,6,24,14,255,254,15,24,48,18,1,0, - 0,128,1,192,3,64,6,48,8,8,0,0,255,254,24,6, - 24,2,24,2,24,2,24,34,24,32,24,96,31,224,24,96, - 24,32,24,32,24,34,24,2,24,2,24,6,24,14,255,254, - 15,23,46,18,1,0,6,48,6,48,4,16,0,0,0,0, - 255,254,24,14,24,6,24,2,24,2,24,34,24,32,24,96, - 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, - 24,14,255,254,8,24,24,10,1,0,64,96,48,16,8,0, - 255,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,255,8,24,24,10,1,0,3,3,6,8,0,0,255,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,255, - 8,24,24,10,1,0,8,24,52,66,129,0,255,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,255,8,23, - 23,10,1,0,195,195,66,0,0,255,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,255,17,18,54,19,1, - 0,255,240,0,24,12,0,24,6,0,24,3,0,24,3,0, - 24,1,128,24,1,128,24,1,128,127,1,128,24,1,128,24, - 1,128,24,1,128,24,1,128,24,3,0,24,3,0,24,6, - 0,24,12,0,255,240,0,18,24,72,19,1,0,3,200,0, - 2,248,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 15,192,28,2,0,30,2,0,22,2,0,23,2,0,19,130, - 0,17,130,0,17,194,0,16,226,0,16,226,0,16,114,0, - 16,50,0,16,58,0,16,30,0,16,14,0,16,14,0,16, - 6,0,252,2,0,15,24,48,18,2,1,28,0,12,0,6, - 0,2,0,1,0,0,0,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,96,12,32,8,48,24,24,48,7,192,15,24,48,18,2, - 1,0,112,0,96,0,192,0,128,1,0,0,0,7,192,24, - 48,48,24,32,8,96,12,96,12,192,6,192,6,192,6,192, - 6,192,6,192,6,96,12,96,12,32,8,48,24,24,48,7, - 192,15,24,48,18,2,0,1,0,3,128,6,192,12,96,16, - 16,0,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,24,48,18,2,0,15,16,19, - 224,0,0,0,0,0,0,0,0,7,192,24,48,48,24,32, - 8,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,96,12,96,12,32,8,48,24,24,48,7,192,15,24,48, - 18,2,0,8,0,12,96,12,96,0,0,0,0,0,0,7, - 192,24,48,48,24,32,8,96,12,96,12,192,6,192,6,192, - 6,192,6,192,6,192,6,96,12,96,12,32,8,48,24,24, - 48,7,192,16,16,32,24,4,255,0,1,64,3,32,6,16, - 12,8,24,4,48,2,96,1,192,1,128,3,64,6,32,12, - 16,24,8,48,4,96,2,192,1,15,18,36,18,2,0,7, - 194,24,52,48,28,32,12,96,28,96,44,192,70,192,198,193, - 134,195,6,198,6,196,6,232,12,112,12,96,8,112,24,88, - 48,135,192,19,24,72,21,1,1,3,0,0,3,128,0,0, - 128,0,0,64,0,0,0,0,0,0,0,255,15,224,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, - 1,0,24,1,0,12,1,0,12,2,0,6,4,0,1,248, - 0,19,24,72,21,1,1,0,28,0,0,24,0,0,48,0, - 0,32,0,0,64,0,0,0,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,19, - 24,72,21,1,0,0,96,0,0,224,0,1,176,0,3,8, - 0,0,4,0,0,0,0,255,15,224,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,12,1,0,12,2,0,6,4,0,1,248,0,19,23,69, - 21,1,1,3,24,0,3,24,0,0,0,0,0,0,0,0, - 0,0,255,15,224,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,12,1,0,12, - 2,0,6,4,0,1,248,0,17,24,72,19,1,0,0,24, - 0,0,56,0,0,48,0,0,64,0,0,0,0,0,0,0, - 255,31,128,28,6,0,28,4,0,14,4,0,6,8,0,7, - 8,0,3,144,0,3,160,0,1,224,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,7,252,0,15,18,36,17,1,0,255,0,24,0, - 24,0,31,224,24,24,24,12,24,6,24,6,24,6,24,14, - 24,12,24,24,31,240,24,0,24,0,24,0,24,0,255,0, - 12,18,36,14,1,0,7,128,24,224,24,96,48,96,48,192, - 48,128,55,0,49,128,48,64,48,96,48,112,48,48,48,48, - 48,48,54,48,54,112,52,96,243,192,11,18,36,13,1,0, - 96,0,96,0,48,0,24,0,8,0,0,0,30,0,99,0, - 65,128,97,128,33,128,15,128,113,128,193,128,195,160,195,160, - 197,160,121,192,11,18,36,13,1,0,1,128,3,128,3,0, - 4,0,8,0,0,0,62,0,65,0,65,128,97,128,33,128, - 15,128,113,128,193,128,193,160,195,160,197,160,120,192,11,18, - 36,13,1,0,8,0,12,0,28,0,50,0,65,0,0,0, - 30,0,99,0,65,128,97,128,33,128,15,128,113,128,193,128, - 195,160,195,160,197,160,121,192,11,17,34,13,1,0,56,128, - 79,0,0,0,0,0,0,0,30,0,99,0,65,128,97,128, - 33,128,15,128,113,128,193,128,195,160,195,160,197,160,121,192, - 11,17,34,13,1,0,99,0,99,0,1,0,0,0,0,0, - 60,0,67,0,67,0,99,0,3,0,15,0,115,0,195,0, - 195,32,199,32,203,32,121,192,11,18,36,13,1,0,28,0, - 34,0,34,0,34,0,28,0,0,0,60,0,67,0,67,0, - 99,0,35,0,15,0,115,0,195,0,195,32,199,32,199,32, - 121,192,16,12,24,18,1,0,30,120,99,198,65,134,97,131, - 1,131,31,255,97,128,193,128,195,129,195,130,196,194,120,124, - 9,18,36,11,1,250,30,0,33,0,96,128,193,128,193,128, - 192,0,192,0,192,0,192,0,96,128,33,0,30,0,8,0, - 12,0,2,0,3,0,3,0,30,0,9,18,36,12,1,0, - 96,0,112,0,48,0,8,0,0,0,0,0,30,0,35,0, - 97,128,193,128,193,128,255,128,192,0,192,0,192,128,96,128, - 33,0,30,0,9,18,36,12,1,0,1,0,3,0,2,0, - 4,0,8,0,0,0,30,0,35,0,97,128,193,128,193,128, - 255,128,192,0,192,0,192,128,96,128,33,0,30,0,9,18, - 36,12,1,0,8,0,12,0,28,0,18,0,33,0,0,0, - 30,0,35,0,97,128,193,128,193,128,255,128,192,0,192,0, - 192,128,96,128,33,0,30,0,9,17,34,12,1,0,51,0, - 51,0,1,0,0,0,0,0,30,0,35,0,97,128,193,128, - 193,128,255,128,192,0,192,0,192,128,96,128,33,0,30,0, - 7,18,18,8,0,0,192,224,96,16,8,0,120,24,24,24, - 24,24,24,24,24,24,24,126,6,18,18,7,1,0,4,12, - 24,16,32,0,240,48,48,48,48,48,48,48,48,48,48,252, - 8,17,17,8,0,0,24,56,36,195,0,120,24,24,24,24, - 24,24,24,24,24,24,126,7,17,17,9,1,0,4,198,198, - 0,0,120,24,24,24,24,24,24,24,24,24,24,124,10,18, - 36,13,1,0,56,128,27,0,12,0,22,0,35,0,3,0, - 31,128,33,128,97,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,33,128,30,0,13,17,34,15,1,0,14,64, - 19,192,0,0,0,0,0,0,243,192,52,192,56,96,56,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,253,248, - 10,18,36,13,1,0,96,0,48,0,16,0,8,0,4,0, - 0,0,30,0,33,128,97,128,192,192,192,192,192,192,192,192, - 192,192,192,192,97,128,33,128,30,0,10,18,36,13,1,0, - 1,128,3,128,3,0,4,0,0,0,0,0,30,0,33,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, - 33,128,30,0,10,18,36,13,1,0,4,0,12,0,14,0, - 18,0,33,0,0,0,30,0,33,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,33,128,30,0,10,17, - 34,13,1,0,60,128,47,0,0,0,0,0,0,0,30,0, - 33,128,97,128,192,192,192,192,192,192,192,192,192,192,192,192, - 97,128,33,128,30,0,10,17,34,13,1,0,49,128,49,128, - 1,0,0,0,0,0,30,0,33,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,33,128,30,0,22,16, - 48,24,1,255,0,112,0,0,112,0,0,112,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,255,252,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,112, - 0,0,112,0,10,12,24,13,1,0,30,64,33,128,96,128, - 193,192,194,192,196,192,200,192,208,192,208,192,97,128,97,128, - 158,0,13,18,36,14,0,0,16,0,24,0,12,0,4,0, - 2,0,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,18,36,14, - 0,0,0,192,0,192,1,128,2,0,0,0,0,0,241,224, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,224, - 48,224,57,96,30,120,13,18,36,14,0,0,2,0,6,0, - 5,0,8,128,16,0,0,0,241,224,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,224,48,224,57,96,30,120, - 13,17,34,14,0,0,24,192,24,192,0,0,0,0,0,0, - 240,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,224,48,224,57,96,30,120,13,24,48,14,0,250,0,96, - 0,224,0,192,1,0,0,0,0,0,252,248,56,32,24,32, - 24,64,12,64,12,64,12,128,6,128,6,128,7,0,3,0, - 3,0,3,0,2,0,34,0,98,0,100,0,56,0,11,24, - 48,14,1,250,48,0,240,0,48,0,48,0,48,0,48,0, - 49,192,54,224,52,96,56,96,56,96,48,96,48,192,48,192, - 49,128,49,0,50,0,60,0,48,0,48,0,48,0,48,0, - 48,0,96,0,13,23,46,14,0,250,8,64,12,96,12,96, - 0,0,0,0,252,120,24,32,24,32,24,64,12,64,12,64, - 14,128,6,128,6,128,7,0,3,0,3,0,2,0,2,0, - 34,0,114,0,100,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y= 8 dx=24 dy= 0 ascent=18 len=66 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =18 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18n[613] U8G_FONT_SECTION("u8g_font_osr18n") = { - 0,68,33,235,248,18,0,0,0,0,42,58,0,18,250,18, - 0,10,10,20,14,2,8,12,0,12,0,204,192,201,192,43, - 0,28,0,123,128,201,192,12,0,12,0,22,22,66,24,1, - 252,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,255, - 255,252,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,3,8,8,7,2,252,192,224,224,32,32,64,64, - 128,7,1,1,11,2,6,254,3,3,3,7,2,0,224,224, - 224,8,24,24,12,2,250,1,1,2,2,2,4,4,4,12, - 8,8,24,16,16,16,32,32,32,64,64,64,128,128,128,12, - 18,36,15,1,0,15,0,16,192,32,64,96,96,96,32,192, - 48,192,48,192,48,192,48,192,48,192,48,192,48,192,48,96, - 32,96,96,32,64,16,192,15,0,9,18,36,15,3,0,8, - 0,8,0,24,0,248,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,255,128,10,18,36,15,2,0,30,0,99,128,129,192,128, - 192,128,192,224,192,240,192,32,192,1,128,3,0,6,0,8, - 0,16,0,32,0,64,64,192,64,255,192,255,192,11,18,36, - 15,2,0,63,0,97,128,192,192,224,192,240,192,0,192,0, - 192,1,128,62,0,1,128,0,192,0,96,96,96,240,96,240, - 96,192,192,65,128,63,0,12,18,36,15,2,0,1,0,3, - 0,3,0,7,0,15,0,11,0,19,0,51,0,35,0,67, - 0,195,0,131,0,255,224,3,0,3,0,3,0,3,0,31, - 240,11,18,36,15,2,0,96,192,127,128,126,0,64,0,64, - 0,64,0,95,0,97,128,64,192,64,224,0,96,0,96,96, - 96,240,96,224,192,192,192,65,128,62,0,11,18,36,15,2, - 0,15,0,24,128,48,64,96,192,96,192,64,0,192,0,207, - 0,209,192,224,192,224,224,224,96,224,96,224,96,96,224,96, - 192,49,128,15,0,10,18,36,15,3,0,255,192,255,192,128, - 64,128,64,128,128,0,128,1,0,1,0,2,0,6,0,6, - 0,12,0,12,0,30,0,30,0,30,0,30,0,14,0,12, - 18,36,15,2,0,31,128,48,224,96,96,192,48,192,48,224, - 48,240,32,124,64,63,128,55,224,96,240,192,112,192,48,192, - 48,192,48,96,96,112,192,31,128,11,18,36,15,2,0,30, - 0,49,128,96,192,224,192,192,64,192,96,192,96,192,224,96, - 224,113,96,30,96,0,96,0,64,96,192,96,192,64,128,65, - 0,62,0,3,12,12,7,2,0,224,224,224,0,0,0,0, - 0,0,224,224,224}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 3 y=13 dx=28 dy= 0 ascent=20 len=72 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =19 descent=-6 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_FONT_SECTION("u8g_font_osr18r") = { - 0,68,33,235,248,18,4,197,10,125,32,127,250,20,250,19, - 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, - 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, - 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, - 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, - 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, - 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, - 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, - 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, - 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, - 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, - 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, - 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, - 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, - 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, - 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, - 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, - 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, - 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, - 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, - 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, - 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, - 192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66, - 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, - 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, - 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, - 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, - 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, - 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, - 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, - 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, - 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, - 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, - 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, - 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, - 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, - 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, - 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, - 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, - 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, - 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, - 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, - 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, - 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, - 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, - 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, - 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, - 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, - 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, - 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, - 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240, - 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, - 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, - 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, - 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, - 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, - 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, - 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, - 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, - 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, - 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, - 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, - 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, - 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, - 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, - 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, - 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, - 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, - 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, - 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, - 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, - 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, - 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, - 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, - 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, - 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, - 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, - 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, - 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, - 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, - 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, - 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, - 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, - 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, - 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, - 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, - 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, - 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, - 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, - 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, - 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, - 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, - 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, - 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, - 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, - 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, - 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, - 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, - 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, - 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, - 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, - 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, - 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, - 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, - 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, - 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, - 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, - 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, - 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, - 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, - 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, - 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, - 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, - 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, - 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, - 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, - 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, - 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, - 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, - 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, - 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, - 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, - 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, - 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, - 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, - 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, - 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, - 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, - 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, - 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, - 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, - 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, - 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, - 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, - 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, - 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, - 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, - 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, - 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, - 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, - 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, - 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, - 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, - 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, - 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, - 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, - 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, - 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, - 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, - 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, - 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, - 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, - 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, - 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, - 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, - 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, - 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, - 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, - 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, - 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, - 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, - 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, - 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, - 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, - 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, - 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, - 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, - 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, - 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, - 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, - 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, - 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, - 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, - 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, - 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, - 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, - 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, - 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, - 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, - 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, - 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, - 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, - 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, - 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, - 64,124,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=29 h=28 x= 6 y=17 dx=32 dy= 0 ascent=28 len=88 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =22 descent=-7 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_FONT_SECTION("u8g_font_osr21") = { - 0,76,38,232,247,21,5,131,12,189,32,255,249,28,248,22, - 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, - 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, - 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, - 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, - 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, - 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, - 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, - 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, - 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, - 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, - 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, - 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, - 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, - 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, - 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, - 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, - 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, - 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, - 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, - 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, - 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, - 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, - 24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0, - 30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, - 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, - 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, - 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, - 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, - 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, - 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, - 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, - 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, - 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, - 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, - 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, - 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, - 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, - 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, - 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, - 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, - 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, - 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, - 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95, - 0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240, - 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, - 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, - 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, - 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, - 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, - 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, - 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, - 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, - 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, - 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, - 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, - 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, - 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, - 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, - 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, - 240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12, - 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, - 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, - 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, - 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, - 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, - 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, - 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, - 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, - 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, - 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, - 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, - 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, - 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, - 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, - 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, - 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, - 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, - 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, - 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, - 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, - 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, - 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, - 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, - 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, - 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, - 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, - 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, - 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, - 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, - 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, - 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, - 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, - 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, - 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, - 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, - 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, - 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, - 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, - 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, - 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, - 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, - 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, - 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, - 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, - 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, - 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, - 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, - 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, - 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, - 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, - 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, - 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, - 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, - 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, - 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, - 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, - 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, - 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, - 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, - 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, - 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, - 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, - 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, - 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, - 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, - 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, - 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, - 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, - 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, - 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, - 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, - 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, - 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, - 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, - 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, - 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, - 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, - 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, - 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, - 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, - 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, - 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, - 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, - 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, - 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, - 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, - 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, - 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, - 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, - 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, - 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, - 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, - 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, - 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, - 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, - 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, - 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, - 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, - 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, - 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, - 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, - 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, - 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, - 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, - 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, - 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, - 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, - 56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10, - 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, - 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, - 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, - 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, - 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, - 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, - 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, - 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, - 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, - 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, - 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, - 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, - 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, - 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, - 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, - 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, - 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, - 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, - 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, - 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, - 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, - 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, - 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, - 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, - 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, - 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, - 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, - 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, - 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, - 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, - 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, - 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, - 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, - 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, - 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, - 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, - 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, - 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, - 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, - 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, - 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, - 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, - 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, - 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, - 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, - 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, - 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, - 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, - 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, - 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, - 2,126,1,143,193,131,241,128,255,64,62,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,8, - 0,0,4,21,21,8,2,249,96,240,240,96,0,64,64,96, - 96,96,96,96,96,96,96,240,240,240,240,240,96,10,21,42, - 17,3,253,4,0,4,0,4,0,4,0,31,0,52,128,100, - 64,100,192,229,192,228,128,228,0,228,0,228,0,228,0,100, - 64,100,64,52,128,31,0,4,0,4,0,4,0,16,21,42, - 21,2,0,0,60,0,194,0,131,1,135,1,135,3,130,3, - 128,3,128,3,128,63,128,3,240,3,128,3,128,3,128,3, - 0,3,0,123,1,142,1,135,3,135,254,120,252,13,13,26, - 17,2,4,143,136,112,112,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,64,16,96,48,112,112,143,136,16,21,42, - 17,1,0,252,63,56,8,56,8,24,16,28,16,28,32,14, - 32,14,64,6,64,7,128,3,128,63,248,3,128,3,128,63, - 248,3,128,3,128,3,128,3,128,3,128,31,240,1,27,27, - 8,4,251,128,128,128,128,128,128,128,128,128,128,128,0,0, - 0,0,0,128,128,128,128,128,128,128,128,128,128,128,11,27, - 54,19,3,250,30,0,49,0,97,128,99,128,97,0,112,0, - 56,0,60,0,62,0,79,0,131,128,129,192,128,224,192,96, - 224,32,112,32,56,64,28,128,15,0,7,0,3,0,1,128, - 33,128,113,128,97,128,35,0,28,0,8,3,3,12,2,16, - 195,231,195,21,22,66,23,1,0,0,32,0,3,222,0,12, - 1,128,24,0,192,48,114,96,33,142,32,67,6,16,67,2, - 16,135,2,8,135,0,8,135,0,8,135,0,8,135,0,8, - 135,0,8,135,2,8,67,2,16,67,4,16,33,132,32,48, - 120,96,24,0,192,12,1,128,3,222,0,8,9,9,12,2, - 12,120,196,12,52,68,197,205,118,254,7,12,12,14,3,1, - 16,34,98,68,196,196,196,196,196,66,34,16,14,6,12,16, - 1,5,255,252,0,4,0,4,0,4,0,4,0,4,7,2, - 2,11,2,7,254,254,21,22,66,23,1,0,0,32,0,3, - 222,0,12,1,128,24,0,192,63,248,96,35,140,32,67,142, - 16,67,142,16,131,142,8,131,140,8,131,240,8,131,140,8, - 131,140,8,131,142,8,131,142,72,67,142,80,67,134,80,47, - 195,160,48,0,96,24,0,192,12,1,128,3,222,0,8,1, - 1,14,3,17,255,8,8,8,16,4,13,60,66,129,129,129, - 129,66,60,24,21,63,26,1,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,255,255,255,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,0,8,0,0,8,0,0,8,0,0, - 0,0,0,0,0,255,255,255,8,13,13,13,3,8,60,198, - 135,199,231,6,12,24,48,65,193,255,255,9,13,26,13,3, - 8,60,0,70,0,67,0,99,0,3,0,6,0,120,0,7, - 0,3,0,227,128,227,0,135,0,124,0,5,5,5,13,6, - 16,24,56,48,96,128,15,22,44,18,2,248,192,64,192,96, - 224,224,192,224,192,224,192,96,192,96,192,96,64,96,64,64, - 64,66,192,194,177,190,143,28,128,0,128,0,192,0,192,0, - 192,0,224,0,224,0,96,0,12,26,52,16,2,251,31,240, - 124,64,252,64,252,64,252,64,252,64,252,64,124,64,60,64, - 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, - 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, - 4,64,4,4,4,8,2,8,96,240,240,96,6,7,7,13, - 3,250,32,32,48,8,12,140,120,6,12,12,13,4,9,16, - 48,240,48,48,48,48,48,48,48,48,252,7,10,10,11,2, - 11,56,68,198,198,198,198,198,68,56,254,8,12,12,14,3, - 1,8,132,70,66,35,35,35,35,34,70,68,8,19,21,63, - 25,4,0,16,3,0,48,2,0,240,4,0,48,4,0,48, - 8,0,48,8,0,48,16,0,48,48,0,48,32,0,48,65, - 128,48,67,128,48,131,128,252,133,128,1,9,128,3,9,128, - 2,17,128,4,31,224,4,1,128,8,1,128,8,1,128,16, - 7,224,19,21,63,25,4,0,16,2,0,48,2,0,240,4, - 0,48,4,0,48,8,0,48,16,0,48,16,0,48,32,0, - 48,39,128,48,72,192,48,80,224,48,144,224,252,156,224,1, - 12,192,2,0,192,2,1,0,4,6,0,4,12,32,8,8, - 32,8,31,224,16,31,224,20,21,63,25,3,0,60,1,0, - 70,1,0,67,2,0,99,2,0,3,4,0,6,12,0,120, - 8,0,7,16,0,3,16,0,227,160,192,227,33,192,135,65, - 192,124,130,192,0,132,192,1,4,192,1,8,192,2,15,240, - 2,0,192,4,0,192,8,0,192,8,3,240,11,21,42,14, - 1,249,12,0,30,0,30,0,12,0,0,0,14,0,17,0, - 17,0,17,0,2,0,6,0,28,0,56,0,112,0,224,192, - 225,224,225,224,224,32,96,32,112,64,31,128,20,28,84,22, - 1,0,3,0,0,3,128,0,1,128,0,0,192,0,0,64, - 0,0,0,0,0,0,0,0,32,0,0,96,0,0,96,0, - 0,112,0,0,240,0,0,240,0,0,184,0,1,56,0,1, - 56,0,3,28,0,3,28,0,2,28,0,6,14,0,6,14, - 0,7,254,0,12,7,0,12,7,0,8,7,0,24,3,128, - 24,3,128,255,31,240,20,28,84,22,1,0,0,4,0,0, - 12,0,0,24,0,0,48,0,0,32,0,0,0,0,0,0, - 0,0,32,0,0,96,0,0,96,0,0,112,0,0,240,0, - 0,240,0,1,184,0,1,56,0,1,56,0,3,28,0,3, - 28,0,2,28,0,6,14,0,6,14,0,7,254,0,12,7, - 0,12,7,0,8,7,0,24,3,128,24,3,128,255,31,240, - 20,28,84,22,1,0,0,32,0,0,96,0,0,240,0,1, - 152,0,3,4,0,0,0,0,0,0,0,0,32,0,0,96, - 0,0,96,0,0,112,0,0,240,0,0,240,0,0,184,0, - 1,56,0,1,56,0,3,28,0,3,28,0,2,28,0,6, - 14,0,6,14,0,7,254,0,12,7,0,12,7,0,8,7, - 0,24,3,128,24,3,128,255,31,240,20,27,81,22,1,0, - 1,228,0,3,252,0,2,56,0,0,0,0,0,0,0,0, - 0,0,0,32,0,0,96,0,0,96,0,0,112,0,0,240, - 0,0,240,0,0,184,0,1,184,0,1,56,0,3,28,0, - 3,28,0,2,28,0,6,14,0,6,14,0,7,254,0,12, - 7,0,12,7,0,8,7,0,24,3,128,24,3,128,255,31, - 240,19,27,81,22,2,0,6,24,0,7,28,0,6,24,0, - 0,0,0,0,0,0,0,0,0,0,64,0,0,192,0,0, - 224,0,0,224,0,1,224,0,1,224,0,1,112,0,3,112, - 0,2,48,0,2,56,0,6,56,0,4,24,0,4,28,0, - 12,28,0,15,252,0,8,14,0,24,14,0,24,6,0,24, - 7,0,56,7,0,254,31,224,20,28,84,23,2,0,0,96, - 0,1,152,0,1,8,0,1,8,0,1,152,0,0,96,0, - 0,0,0,0,96,0,0,96,0,0,96,0,0,240,0,0, - 240,0,0,240,0,1,184,0,1,56,0,1,56,0,3,28, - 0,2,28,0,2,28,0,6,14,0,4,14,0,15,254,0, - 8,7,0,8,7,0,24,7,0,24,3,128,56,3,128,255, - 31,240,27,21,84,30,1,0,0,63,255,224,0,15,0,224, - 0,15,0,96,0,31,0,96,0,23,0,32,0,55,0,32, - 0,39,8,32,0,103,8,0,0,71,8,0,0,199,24,0, - 0,135,248,0,1,7,24,0,3,7,8,0,2,7,8,32, - 7,255,8,32,4,7,0,32,12,7,0,32,8,7,0,96, - 24,7,0,96,56,7,1,224,255,63,255,224,15,28,56,19, - 2,250,15,226,16,54,48,30,32,14,96,6,96,6,224,6, - 224,2,224,0,224,0,224,0,224,0,224,0,224,2,96,2, - 96,2,96,4,32,4,48,12,24,8,6,112,1,128,1,0, - 1,192,0,96,0,112,8,96,7,192,17,28,84,20,2,0, - 4,0,0,6,0,0,3,0,0,1,0,0,0,128,0,0, - 0,0,0,0,0,255,255,128,28,3,128,28,3,128,28,1, - 128,28,1,128,28,0,128,28,32,128,28,32,0,28,32,0, - 28,96,0,31,224,0,28,96,0,28,32,0,28,32,128,28, - 32,128,28,0,128,28,1,128,28,1,128,28,3,128,28,7, - 128,255,255,128,17,28,84,20,2,0,0,24,0,0,56,0, - 0,48,0,0,96,0,0,128,0,0,0,0,0,0,0,255, - 255,128,28,3,128,28,3,128,28,1,128,28,1,128,28,0, - 128,28,32,128,28,32,0,28,32,0,28,96,0,31,224,0, - 28,96,0,28,32,0,28,32,128,28,32,128,28,0,128,28, - 1,128,28,1,128,28,3,128,28,7,128,255,255,128,17,28, - 84,20,2,0,0,128,0,0,192,0,1,192,0,2,32,0, - 4,24,0,0,0,0,0,0,0,255,255,128,28,3,128,28, - 3,128,28,1,128,28,1,128,28,0,128,28,32,128,28,32, - 0,28,32,0,28,96,0,31,224,0,28,96,0,28,32,0, - 28,32,128,28,32,128,28,0,128,28,1,128,28,1,128,28, - 3,128,28,7,128,255,255,128,17,27,81,20,2,0,6,48, - 0,7,56,0,6,48,0,0,0,0,0,0,0,0,0,0, - 255,255,128,28,7,128,28,3,128,28,1,128,28,1,128,28, - 1,128,28,32,128,28,32,0,28,32,0,28,96,0,31,224, - 0,28,96,0,28,32,0,28,32,128,28,32,128,28,1,0, - 28,1,128,28,1,128,28,3,128,28,7,128,255,255,128,8, - 28,28,12,2,0,192,224,96,48,24,0,0,255,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 255,9,28,56,12,2,0,1,0,3,0,6,0,4,0,8, - 0,0,0,0,0,255,128,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,8, - 28,28,12,2,0,8,24,28,38,193,0,0,255,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 255,9,27,54,11,2,0,195,0,227,128,195,0,0,0,0, - 0,0,0,255,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,0,19,21,63, - 22,2,0,255,248,0,28,6,0,28,3,0,28,1,128,28, - 1,192,28,0,192,28,0,192,28,0,224,28,0,224,255,128, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,192, - 28,0,192,28,1,128,28,1,128,28,3,0,28,6,0,255, - 248,0,20,27,81,23,2,0,1,226,0,3,254,0,2,28, - 0,0,0,0,0,0,0,0,0,0,252,7,240,28,0,128, - 30,0,128,31,0,128,23,0,128,19,128,128,19,192,128,17, - 192,128,16,224,128,16,240,128,16,112,128,16,56,128,16,56, - 128,16,28,128,16,30,128,16,14,128,16,7,128,16,7,128, - 16,3,128,16,1,128,254,1,128,17,28,84,20,2,0,12, - 0,0,14,0,0,6,0,0,3,0,0,1,128,0,0,0, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,28,84,20,2,0,0,24,0,0,56,0,0, - 112,0,0,64,0,0,128,0,0,0,0,0,128,0,7,112, - 0,24,8,0,16,12,0,48,6,0,96,6,0,96,3,0, - 96,3,0,224,3,0,224,3,0,224,3,0,224,3,128,224, - 3,128,224,3,0,224,3,0,96,3,0,96,3,0,96,6, - 0,48,6,0,16,12,0,24,8,0,7,240,0,17,28,84, - 20,2,0,0,128,0,1,128,0,3,192,0,6,32,0,12, - 16,0,0,8,0,0,128,0,7,112,0,24,8,0,16,12, - 0,48,6,0,96,6,0,96,3,0,96,3,0,224,3,0, - 224,3,0,224,3,0,224,3,128,224,3,128,224,3,0,224, - 3,0,96,3,0,96,3,0,96,6,0,48,6,0,16,12, - 0,24,8,0,7,240,0,17,27,81,20,2,0,7,136,0, - 15,248,0,8,112,0,0,0,0,0,0,0,0,128,0,7, - 112,0,24,8,0,16,12,0,48,6,0,96,6,0,96,3, - 0,96,3,0,224,3,0,224,3,0,224,3,0,224,3,128, - 224,3,128,224,3,0,224,3,0,96,3,0,96,3,0,96, - 6,0,48,6,0,16,12,0,24,8,0,7,240,0,17,27, - 81,20,2,0,12,48,0,14,56,0,12,48,0,0,0,0, - 0,0,0,0,128,0,7,112,0,24,8,0,16,12,0,48, - 6,0,96,6,0,96,3,0,96,3,0,224,3,0,224,3, - 0,224,3,0,224,3,128,224,3,128,224,3,0,224,3,0, - 96,3,0,96,3,0,96,6,0,48,6,0,16,12,0,24, - 8,0,7,240,0,18,18,54,27,5,255,128,0,192,192,1, - 128,96,3,0,48,6,0,24,12,0,12,24,0,6,48,0, - 3,96,0,1,192,0,1,192,0,3,96,0,6,48,0,12, - 24,0,24,12,0,48,6,0,96,3,0,64,1,128,128,0, - 192,17,21,63,20,2,1,7,241,0,8,15,0,16,14,0, - 48,6,0,96,14,0,96,27,0,96,19,0,224,35,0,224, - 99,0,224,195,128,225,131,128,225,3,0,226,3,0,230,3, - 0,236,3,0,104,3,0,112,6,0,112,6,0,112,12,0, - 88,8,0,143,240,0,20,28,84,23,2,0,3,0,0,3, - 128,0,1,128,0,0,192,0,0,32,0,0,0,0,0,0, - 0,255,7,240,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,12,0,128,12,1,0,6,2,0,3,252,0, - 20,28,84,23,2,0,0,4,0,0,12,0,0,24,0,0, - 16,0,0,32,0,0,0,0,0,0,0,255,7,240,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,12,0, - 128,12,1,0,6,2,0,3,252,0,20,28,84,23,2,0, - 0,32,0,0,96,0,0,112,0,0,136,0,3,4,0,0, - 0,0,0,0,0,255,7,240,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,12,1,128,12,1,0,6,2, - 0,3,252,0,20,27,81,23,2,0,1,134,0,3,142,0, - 1,134,0,0,0,0,0,0,0,0,0,0,255,131,240,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,12, - 0,128,12,1,0,6,2,0,3,252,0,19,28,84,21,1, - 0,0,4,0,0,12,0,0,24,0,0,16,0,0,32,0, - 0,0,0,0,0,0,255,143,224,30,3,128,14,3,0,14, - 2,0,7,2,0,7,4,0,3,132,0,1,200,0,1,200, - 0,0,240,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,254,0,17,21,63,20,2,0,255,128,0,28,0, - 0,28,0,0,31,240,0,28,12,0,28,6,0,28,3,0, - 28,3,0,28,3,128,28,3,128,28,3,0,28,3,0,28, - 6,0,28,12,0,31,240,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,255,128,0,13,21,42,15,1,0, - 7,192,12,96,24,112,56,112,56,112,56,96,56,192,59,0, - 56,192,56,96,56,48,56,48,56,56,56,56,56,56,56,56, - 58,56,63,56,62,48,60,48,251,192,13,21,42,15,1,0, - 96,0,96,0,48,0,24,0,8,0,4,0,0,0,31,0, - 97,128,65,192,97,192,113,192,1,192,15,192,49,192,97,192, - 193,192,193,200,195,200,196,216,56,240,13,21,42,15,1,0, - 0,192,1,192,1,128,3,0,6,0,4,0,0,0,31,0, - 33,128,96,192,112,192,112,192,0,192,7,192,56,192,96,192, - 224,192,224,200,225,200,226,216,60,112,13,21,42,15,1,0, - 4,0,12,0,14,0,26,0,17,0,32,128,0,0,31,0, - 33,128,97,192,113,192,113,192,1,192,15,192,49,192,97,192, - 225,192,225,200,225,200,226,216,60,240,13,20,40,15,1,0, - 24,0,63,128,71,128,0,0,0,0,0,0,31,0,33,128, - 97,192,113,192,113,192,1,192,15,192,49,192,97,192,225,192, - 225,200,225,200,226,216,60,240,13,20,40,15,1,0,97,128, - 97,192,97,128,0,0,0,0,0,0,30,0,97,128,64,128, - 96,128,96,192,0,192,15,192,48,192,96,192,192,192,193,200, - 194,200,194,216,60,112,13,21,42,15,1,0,14,0,49,0, - 33,0,33,0,19,0,14,0,0,0,30,0,33,128,97,128, - 97,128,113,192,1,192,15,192,113,192,97,192,225,192,225,200, - 227,200,229,216,120,240,18,14,42,20,1,0,31,30,0,97, - 227,0,65,227,0,97,193,128,113,193,128,1,193,128,15,255, - 192,113,192,0,65,192,0,193,192,128,193,192,128,194,224,128, - 194,97,0,60,62,0,10,20,40,12,1,250,31,0,48,128, - 96,192,96,192,225,192,224,128,224,0,224,0,224,0,224,64, - 96,64,96,128,48,128,31,0,8,0,12,0,3,0,3,0, - 3,0,30,0,10,21,42,13,1,0,96,0,112,0,56,0, - 24,0,4,0,0,0,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,21,42,13,1,0,0,192,1,192,1,128, - 3,0,6,0,0,0,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,21,42,13,1,0,4,0,4,0,14,0, - 11,0,17,0,32,128,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,20,40,13,1,0,49,128,113,192,49,128, - 0,0,0,0,0,0,30,0,49,128,97,128,96,192,224,192, - 224,192,255,192,224,0,224,0,224,64,96,64,96,64,48,128, - 31,0,7,21,21,8,0,0,192,192,96,48,24,0,0,124, - 28,28,28,28,28,28,28,28,28,28,28,28,126,7,21,21, - 8,1,0,6,14,12,24,16,0,0,248,56,56,56,56,56, - 56,56,56,56,56,56,56,252,7,20,20,9,1,0,48,48, - 104,132,2,0,248,56,56,56,56,56,56,56,56,56,56,56, - 56,252,8,19,19,9,1,0,198,231,198,0,0,124,28,28, - 28,28,28,28,28,28,28,28,28,28,126,12,21,42,14,1, - 0,56,64,29,128,14,0,15,0,19,0,33,128,1,192,15, - 192,48,224,96,224,96,96,224,96,224,112,224,112,224,96,224, - 96,224,96,96,96,96,192,48,128,15,0,14,20,40,16,1, - 0,14,32,15,32,19,192,16,192,0,0,0,0,249,192,62, - 96,60,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,252,252,12,21,42,14,1,0,32, - 0,48,0,24,0,8,0,4,0,0,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,0, - 192,1,192,1,128,3,0,2,0,4,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,4, - 0,6,0,14,0,11,0,16,128,32,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,20,40,14,1,0,28, - 64,63,192,39,128,0,0,0,0,0,0,15,0,48,128,96, - 192,96,96,224,96,224,96,224,112,224,112,224,96,224,96,96, - 96,96,192,48,128,15,0,12,20,40,14,1,0,48,192,57, - 192,48,192,0,0,0,0,0,0,15,0,48,128,96,192,96, - 96,224,96,224,96,224,112,224,112,224,96,224,96,96,96,96, - 192,48,128,15,0,24,19,57,26,1,254,0,24,0,0,60, - 0,0,60,0,0,24,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,24,0,0,60,0,0,60, - 0,0,24,0,12,14,28,14,1,0,15,32,48,160,96,192, - 96,224,225,96,227,96,226,112,228,112,232,96,240,96,96,96, - 96,192,112,128,143,0,14,21,42,16,1,0,24,0,24,0, - 12,0,6,0,2,0,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,21,42,16,1,0,0,96,0,224, - 0,192,1,128,1,0,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,21,42,16,1,0,2,0,3,0, - 7,0,4,128,8,64,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,20,40,16,1,0,24,96,28,224, - 24,96,0,0,0,0,0,0,248,240,56,112,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,240, - 25,112,14,124,14,28,56,15,0,249,0,48,0,112,0,96, - 0,192,1,128,0,0,0,0,254,124,24,16,24,16,28,16, - 12,32,12,32,14,32,6,64,6,64,6,64,3,128,3,128, - 3,128,1,128,1,0,1,0,1,0,98,0,114,0,100,0, - 56,0,12,28,56,14,1,249,56,0,248,0,56,0,56,0, - 56,0,56,0,56,0,57,224,62,112,60,112,56,112,56,112, - 56,112,56,96,56,96,56,192,56,128,57,128,58,0,60,0, - 56,0,56,0,56,0,56,0,56,0,56,0,48,0,192,0, - 14,26,52,15,0,249,12,48,14,112,12,48,0,0,0,0, - 254,60,24,16,24,16,28,32,12,32,12,32,14,32,6,64, - 6,64,7,64,3,128,3,128,3,128,1,0,1,0,1,0, - 1,0,114,0,114,0,116,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=24 h=28 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21n[722] U8G_FONT_SECTION("u8g_font_osr21n") = { - 0,76,38,232,247,21,0,0,0,0,42,58,0,22,250,21, - 0,10,12,24,14,2,9,12,0,14,0,204,64,228,192,117, - 192,14,0,30,0,229,192,196,192,12,0,14,0,12,0,24, - 25,75,26,1,252,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,0,8,0,255,255,255,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 4,8,8,8,2,251,224,240,240,16,16,16,32,64,7,2, - 2,11,2,7,254,254,4,4,4,8,2,0,96,240,240,96, - 9,28,56,13,2,250,0,128,0,128,1,128,1,0,1,0, - 1,0,2,0,2,0,2,0,6,0,4,0,4,0,12,0, - 8,0,8,0,24,0,16,0,16,0,16,0,32,0,32,0, - 32,0,64,0,64,0,64,0,192,0,128,0,128,0,14,21, - 42,17,1,0,7,128,24,64,48,32,32,48,96,16,96,24, - 96,24,224,24,224,24,224,24,224,28,224,28,224,24,224,24, - 224,24,96,24,96,24,96,48,48,32,16,96,15,192,10,21, - 42,17,3,0,2,0,6,0,6,0,14,0,254,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,255,192,12,21, - 42,17,2,0,31,0,32,192,64,96,128,112,128,112,192,112, - 240,112,112,112,32,96,0,224,0,192,1,0,6,0,12,0, - 24,0,48,16,96,16,64,16,224,112,255,240,255,240,12,21, - 42,17,2,0,31,0,97,192,192,224,224,96,240,96,112,112, - 0,96,0,96,0,224,48,192,63,0,0,192,0,96,0,112, - 0,112,96,112,240,112,240,112,192,96,192,192,127,128,14,21, - 42,17,2,0,0,64,0,192,1,192,1,192,3,192,7,192, - 5,192,13,192,9,192,17,192,49,192,33,192,65,192,193,192, - 255,252,1,192,1,192,1,192,1,192,1,192,15,252,12,21, - 42,17,2,0,96,64,127,128,127,0,64,0,64,0,64,0, - 64,0,95,0,96,192,64,96,64,96,0,112,0,112,0,112, - 96,112,240,112,240,112,224,96,192,224,64,192,63,128,12,21, - 42,17,2,0,7,128,24,64,16,96,48,224,96,224,96,192, - 96,0,224,0,231,128,232,192,240,96,240,96,224,112,224,112, - 224,112,224,112,96,112,96,96,112,96,48,192,31,128,11,21, - 42,17,3,0,255,224,255,224,192,32,128,32,128,64,128,64, - 0,64,0,128,1,0,1,0,2,0,6,0,6,0,12,0, - 12,0,12,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,17,2,0,15,128,48,96,96,48,224,24,224,24,224,24, - 224,24,240,16,124,32,63,192,15,224,51,240,96,248,224,56, - 224,28,224,28,224,24,224,24,96,24,112,48,31,192,12,21, - 42,17,2,0,15,0,48,128,96,64,96,96,224,96,224,96, - 224,112,224,112,224,112,96,112,96,240,49,176,14,48,0,48, - 0,32,48,96,112,96,112,64,96,192,96,128,63,0,4,14, - 14,8,2,0,96,240,240,96,0,0,0,0,0,0,96,240, - 240,96}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=29 h=28 x= 4 y=17 dx=32 dy= 0 ascent=23 len=88 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =22 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_FONT_SECTION("u8g_font_osr21r") = { - 0,76,38,232,247,21,5,131,12,189,32,127,249,23,249,22, - 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, - 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, - 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, - 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, - 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, - 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, - 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, - 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, - 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, - 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, - 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, - 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, - 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, - 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, - 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, - 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, - 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, - 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, - 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, - 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, - 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, - 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, - 24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0, - 30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, - 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, - 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, - 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, - 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, - 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, - 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, - 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, - 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, - 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, - 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, - 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, - 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, - 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, - 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, - 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, - 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, - 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, - 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, - 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95, - 0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240, - 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, - 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, - 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, - 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, - 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, - 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, - 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, - 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, - 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, - 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, - 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, - 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, - 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, - 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, - 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, - 240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12, - 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, - 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, - 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, - 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, - 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, - 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, - 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, - 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, - 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, - 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, - 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, - 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, - 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, - 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, - 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, - 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, - 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, - 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, - 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, - 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, - 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, - 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, - 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, - 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, - 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, - 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, - 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, - 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, - 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, - 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, - 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, - 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, - 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, - 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, - 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, - 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, - 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, - 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, - 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, - 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, - 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, - 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, - 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, - 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, - 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, - 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, - 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, - 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, - 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, - 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, - 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, - 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, - 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, - 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, - 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, - 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, - 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, - 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, - 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, - 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, - 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, - 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, - 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, - 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, - 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, - 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, - 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, - 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, - 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, - 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, - 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, - 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, - 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, - 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, - 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, - 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, - 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, - 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, - 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, - 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, - 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, - 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, - 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, - 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, - 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, - 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, - 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, - 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, - 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, - 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, - 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, - 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, - 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, - 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, - 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, - 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, - 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, - 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, - 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, - 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, - 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, - 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, - 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, - 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, - 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, - 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, - 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, - 56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10, - 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, - 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, - 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, - 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, - 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, - 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, - 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, - 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, - 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, - 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, - 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, - 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, - 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, - 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, - 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, - 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, - 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, - 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, - 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, - 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, - 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, - 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, - 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, - 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, - 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, - 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, - 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, - 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, - 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, - 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, - 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, - 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, - 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, - 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, - 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, - 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, - 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, - 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, - 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, - 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, - 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, - 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, - 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, - 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, - 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, - 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, - 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, - 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, - 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, - 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, - 2,126,1,143,193,131,241,128,255,64,62,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=36 h=35 x= 7 y=21 dx=38 dy= 0 ascent=35 len=140 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x=-1 y=-10 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =27 descent=-8 - Max Font ascent =35 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_FONT_SECTION("u8g_font_osr26") = { - 0,94,46,227,245,26,7,96,17,82,32,255,248,35,246,27, - 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, - 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, - 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, - 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, - 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, - 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, - 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, - 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, - 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, - 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, - 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, - 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, - 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, - 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, - 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, - 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, - 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, - 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, - 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, - 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, - 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, - 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, - 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, - 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, - 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, - 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, - 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, - 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, - 0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242, - 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, - 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, - 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, - 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, - 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, - 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, - 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, - 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, - 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, - 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, - 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, - 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, - 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, - 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, - 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, - 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, - 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, - 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, - 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, - 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, - 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, - 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, - 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, - 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, - 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, - 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, - 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, - 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, - 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, - 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, - 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, - 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, - 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, - 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, - 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, - 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, - 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, - 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, - 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, - 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, - 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, - 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, - 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, - 0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34, - 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, - 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, - 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, - 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, - 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, - 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, - 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, - 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, - 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, - 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, - 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, - 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, - 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, - 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, - 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, - 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, - 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, - 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, - 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, - 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, - 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, - 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, - 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, - 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, - 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, - 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, - 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, - 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, - 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, - 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, - 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, - 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, - 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, - 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, - 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, - 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, - 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, - 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, - 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, - 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, - 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, - 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, - 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, - 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, - 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, - 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, - 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, - 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, - 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, - 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, - 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, - 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, - 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, - 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, - 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, - 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, - 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, - 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, - 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, - 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, - 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, - 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, - 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, - 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, - 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, - 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, - 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, - 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, - 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, - 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, - 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, - 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, - 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, - 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, - 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, - 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, - 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, - 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, - 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, - 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, - 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, - 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, - 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, - 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, - 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, - 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, - 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, - 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, - 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, - 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, - 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, - 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, - 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, - 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, - 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, - 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, - 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, - 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, - 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, - 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, - 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, - 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, - 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, - 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, - 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, - 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, - 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, - 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, - 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, - 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, - 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, - 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, - 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, - 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, - 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, - 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, - 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, - 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, - 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, - 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, - 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, - 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, - 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, - 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, - 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, - 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, - 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, - 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, - 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, - 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, - 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, - 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, - 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, - 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, - 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, - 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, - 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, - 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, - 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, - 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, - 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, - 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, - 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, - 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, - 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, - 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, - 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, - 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, - 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, - 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, - 28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14, - 17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, - 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, - 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, - 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, - 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, - 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, - 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, - 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, - 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, - 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, - 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, - 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, - 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, - 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, - 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, - 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, - 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, - 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, - 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, - 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, - 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, - 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, - 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, - 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, - 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, - 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, - 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, - 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, - 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, - 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, - 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, - 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, - 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, - 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, - 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, - 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, - 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, - 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, - 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, - 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, - 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, - 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, - 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, - 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, - 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, - 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, - 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, - 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, - 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, - 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, - 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, - 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, - 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, - 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, - 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, - 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, - 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, - 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, - 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, - 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, - 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,10,0,0,4,25,25,10,3,248,96,240,240, - 240,96,64,64,96,96,96,96,96,96,96,96,96,96,240,240, - 240,240,240,240,240,96,12,25,50,21,4,252,1,0,1,0, - 1,0,1,0,7,192,25,32,57,48,113,48,113,112,225,112, - 225,32,225,0,225,0,225,0,225,0,225,0,113,16,113,16, - 57,16,29,32,7,192,1,0,1,0,1,0,1,0,20,25, - 75,25,2,0,0,15,128,0,24,96,0,48,32,0,96,112, - 0,192,240,0,192,240,1,192,224,1,192,0,1,192,0,1, - 192,0,1,192,0,63,192,0,1,254,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,57,128,16, - 199,128,16,131,128,48,131,224,96,134,255,192,120,63,128,18, - 16,48,22,2,5,195,241,192,124,15,128,48,7,0,32,3, - 0,96,1,0,64,1,128,64,0,128,64,0,128,64,0,128, - 64,0,128,64,1,128,96,1,0,32,3,0,48,7,0,124, - 15,128,227,241,192,20,25,75,22,1,0,255,7,240,60,1, - 192,28,1,128,30,1,0,14,3,0,15,2,0,7,6,0, - 7,132,0,3,140,0,3,136,0,1,216,0,1,208,0,1, - 224,0,31,255,0,0,224,0,0,224,0,31,255,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,15,254,0,2,33,33,10,4,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,0,0,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,13,32,64, - 23,4,249,7,128,24,64,16,96,48,224,48,224,48,64,56, - 0,28,0,30,0,15,0,23,128,99,192,129,224,128,240,128, - 120,128,24,192,24,224,8,120,8,60,16,30,32,15,64,7, - 128,3,192,1,192,0,224,16,96,56,96,56,96,48,64,16, - 192,15,0,10,4,8,16,3,20,96,192,225,192,225,192,96, - 192,26,26,104,30,2,1,0,255,192,0,3,0,48,0,4, - 0,8,0,8,0,4,0,16,30,2,0,32,113,225,0,32, - 224,225,0,65,192,96,128,65,192,96,128,129,128,32,64,131, - 128,32,64,131,128,0,64,131,128,0,64,131,128,0,64,131, - 128,0,64,131,128,0,64,131,128,32,64,65,192,64,128,65, - 192,64,128,32,224,65,0,32,112,129,0,16,31,2,0,8, - 0,4,0,4,0,8,0,3,0,48,0,0,255,192,0,9, - 13,26,13,2,12,120,0,132,0,198,0,198,0,14,0,54, - 0,70,0,198,0,198,128,206,128,115,0,0,0,255,0,10, - 14,28,18,4,2,16,64,48,128,97,128,97,0,195,0,195, - 0,195,0,195,0,195,0,67,0,97,0,32,128,16,192,8, - 0,18,7,21,22,2,6,255,255,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,9,2,4,13, - 2,8,255,128,255,128,26,26,104,30,2,1,0,255,192,0, - 3,0,48,0,4,0,8,0,8,0,4,0,19,255,2,0, - 32,225,193,0,32,224,225,0,64,224,224,128,64,224,224,128, - 128,224,224,64,128,224,224,64,128,225,192,64,128,254,0,64, - 128,225,128,64,128,224,192,64,128,224,224,64,128,224,224,64, - 64,224,228,128,64,224,228,128,32,224,233,0,35,248,121,0, - 16,0,2,0,8,0,4,0,4,0,8,0,3,0,48,0, - 0,255,192,0,9,1,2,15,3,21,255,128,10,9,18,22, - 6,16,30,0,97,128,192,128,128,64,128,64,128,64,64,128, - 97,128,30,0,30,25,100,34,2,255,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,255,255,255,252,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,255,252,10,15, - 30,16,3,10,63,0,67,128,129,192,129,192,225,192,225,192, - 1,128,3,0,6,0,8,0,48,0,64,64,64,64,255,192, - 255,192,10,16,32,16,4,9,62,0,67,0,193,128,225,128, - 225,128,1,128,3,0,124,0,3,128,1,192,1,192,225,192, - 225,192,129,192,131,128,126,0,6,6,6,16,7,19,12,28, - 56,48,96,192,19,27,81,22,2,246,96,24,0,224,60,0, - 224,60,0,224,60,0,224,60,0,224,60,0,224,60,0,224, - 60,0,224,60,0,192,24,0,64,24,0,64,24,0,64,56, - 0,96,48,32,112,124,96,95,231,224,71,195,192,128,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,224,0,0,224, - 0,0,224,0,0,240,0,0,96,0,0,15,31,62,19,2, - 251,31,254,62,16,126,16,254,16,254,16,254,16,254,16,254, - 16,254,16,126,16,62,16,2,16,2,16,2,16,2,16,2, - 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2, - 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4, - 5,5,10,3,9,96,240,240,240,96,7,7,7,16,4,248, - 16,32,28,6,6,134,124,8,15,15,16,4,10,8,24,248, - 24,24,24,24,24,24,24,24,24,24,24,255,9,13,26,15, - 3,12,28,0,99,0,67,0,193,128,193,128,193,128,193,128, - 193,128,67,0,99,0,28,0,0,0,255,128,9,14,28,17, - 4,2,132,0,66,0,99,0,33,0,49,128,49,128,49,128, - 49,128,49,128,33,128,99,0,67,0,134,0,4,0,24,25, - 75,31,4,0,8,0,16,24,0,48,248,0,32,24,0,64, - 24,0,64,24,0,128,24,1,128,24,1,0,24,2,0,24, - 6,0,24,4,12,24,8,28,24,8,28,24,16,44,255,48, - 76,0,32,76,0,64,140,0,192,140,0,129,12,1,2,12, - 1,3,255,2,0,12,6,0,12,4,0,12,8,0,127,24, - 25,75,31,4,0,8,0,32,24,0,96,248,0,64,24,0, - 192,24,0,128,24,1,0,24,1,0,24,2,0,24,6,0, - 24,4,0,24,12,248,24,9,14,24,18,15,24,18,7,255, - 35,135,0,97,135,0,64,14,0,128,12,0,128,24,1,0, - 32,3,0,193,2,1,1,6,1,1,4,3,255,8,3,254, - 24,25,75,31,4,0,62,0,32,67,0,32,193,128,64,225, - 128,192,1,128,128,3,1,128,124,1,0,3,130,0,1,194, - 0,1,196,0,225,204,24,225,200,24,129,208,56,131,144,88, - 126,32,88,0,96,152,0,64,152,0,193,24,0,129,24,1, - 2,24,3,3,255,2,0,24,6,0,24,4,0,24,8,0, - 127,13,25,50,17,1,248,6,0,15,0,15,0,15,0,6, - 0,7,0,8,192,16,64,16,64,16,192,0,128,1,0,7, - 0,14,0,28,0,56,0,112,0,240,112,224,120,224,120,224, - 24,224,24,112,16,56,96,15,192,25,34,136,28,2,0,0, - 192,0,0,0,224,0,0,0,224,0,0,0,48,0,0,0, - 24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0, - 8,0,0,0,12,0,0,0,28,0,0,0,28,0,0,0, - 30,0,0,0,62,0,0,0,46,0,0,0,47,0,0,0, - 103,0,0,0,103,0,0,0,71,128,0,0,195,128,0,0, - 195,128,0,0,131,192,0,1,129,192,0,1,129,192,0,3, - 1,224,0,3,255,224,0,2,0,224,0,6,0,240,0,6, - 0,112,0,6,0,112,0,12,0,120,0,12,0,120,0,30, - 0,120,0,255,195,255,128,25,34,136,28,2,0,0,0,192, - 0,0,1,192,0,0,3,128,0,0,7,0,0,0,6,0, - 0,0,8,0,0,0,0,0,0,0,0,0,0,0,8,0, - 0,0,12,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,46,0,0,0,47,0,0,0,103,0, - 0,0,103,0,0,0,71,128,0,0,195,128,0,0,195,128, - 0,1,131,192,0,1,129,192,0,1,129,192,0,3,1,224, - 0,3,255,224,0,2,0,224,0,6,0,240,0,6,0,112, - 0,4,0,112,0,12,0,120,0,12,0,56,0,30,0,124, - 0,255,195,255,128,25,34,136,28,2,0,0,8,0,0,0, - 28,0,0,0,30,0,0,0,51,0,0,0,65,128,0,1, - 128,64,0,0,0,0,0,0,0,0,0,0,8,0,0,0, - 12,0,0,0,28,0,0,0,28,0,0,0,30,0,0,0, - 62,0,0,0,46,0,0,0,47,0,0,0,103,0,0,0, - 103,0,0,0,71,128,0,0,195,128,0,0,195,128,0,0, - 131,192,0,1,129,192,0,1,129,192,0,3,1,224,0,3, - 255,224,0,2,0,224,0,6,0,240,0,6,0,112,0,6, - 0,112,0,12,0,120,0,12,0,120,0,30,0,120,0,255, - 195,255,128,25,33,132,28,2,0,0,112,64,0,0,252,64, - 0,0,159,192,0,1,7,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,8,0,0,0,12,0,0,0,28,0, - 0,0,28,0,0,0,30,0,0,0,62,0,0,0,46,0, - 0,0,47,0,0,0,103,0,0,0,103,0,0,0,71,128, - 0,0,195,128,0,0,195,128,0,1,131,192,0,1,129,192, - 0,1,129,192,0,3,1,224,0,3,255,224,0,2,0,224, - 0,6,0,240,0,6,0,112,0,4,0,112,0,12,0,120, - 0,12,0,56,0,30,0,124,0,255,195,255,128,25,33,132, - 28,2,0,0,193,128,0,1,193,192,0,1,193,192,0,0, - 193,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 8,0,0,0,24,0,0,0,28,0,0,0,28,0,0,0, - 60,0,0,0,62,0,0,0,62,0,0,0,110,0,0,0, - 79,0,0,0,71,0,0,0,199,0,0,0,199,128,0,0, - 131,128,0,1,131,128,0,1,129,192,0,1,1,192,0,3, - 1,192,0,3,255,224,0,2,0,224,0,6,0,224,0,6, - 0,112,0,4,0,112,0,12,0,112,0,12,0,120,0,30, - 0,120,0,255,195,255,128,25,35,140,28,2,0,0,28,0, - 0,0,34,0,0,0,65,0,0,0,65,0,0,0,65,0, - 0,0,65,0,0,0,34,0,0,0,28,0,0,0,0,0, - 0,0,8,0,0,0,12,0,0,0,28,0,0,0,28,0, - 0,0,30,0,0,0,62,0,0,0,46,0,0,0,47,0, - 0,0,111,0,0,0,71,0,0,0,71,128,0,0,199,128, - 0,0,131,128,0,1,131,192,0,1,131,192,0,1,1,192, - 0,3,1,224,0,3,255,224,0,2,0,224,0,6,0,240, - 0,6,0,240,0,4,0,112,0,12,0,120,0,12,0,120, - 0,28,0,120,0,255,195,255,128,33,26,130,36,1,0,0, - 7,255,255,128,0,1,224,7,128,0,1,224,3,128,0,3, - 224,1,128,0,2,224,1,128,0,6,224,0,128,0,4,224, - 0,128,0,12,224,32,128,0,8,224,32,0,0,24,224,32, - 0,0,16,224,96,0,0,48,224,96,0,0,48,255,224,0, - 0,96,224,96,0,0,96,224,96,0,0,192,224,32,0,0, - 192,224,32,128,1,255,224,32,128,1,0,224,0,128,3,0, - 224,0,128,2,0,224,1,128,6,0,224,1,128,6,0,224, - 1,128,14,0,224,3,128,30,0,224,15,128,255,199,255,255, - 128,19,34,102,24,3,249,3,252,64,14,6,96,28,3,224, - 24,1,224,56,0,224,120,0,224,112,0,96,112,0,96,240, - 0,96,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,32,112,0,32, - 120,0,96,56,0,64,56,0,64,24,0,128,12,0,128,6, - 3,0,3,204,0,0,112,0,0,64,0,0,240,0,0,28, - 0,0,28,0,0,28,0,2,28,0,1,240,0,21,34,102, - 25,2,0,3,0,0,3,128,0,1,192,0,0,192,0,0, - 96,0,0,16,0,0,0,0,0,0,0,255,255,248,14,0, - 120,14,0,56,14,0,24,14,0,24,14,0,8,14,0,8, - 14,4,8,14,4,0,14,4,0,14,12,0,14,12,0,15, - 252,0,14,12,0,14,4,0,14,4,0,14,4,8,14,4, - 8,14,0,8,14,0,8,14,0,24,14,0,24,14,0,56, - 14,0,56,14,0,248,255,255,248,21,34,102,25,2,0,0, - 3,0,0,7,128,0,7,0,0,12,0,0,24,0,0,48, - 0,0,0,0,0,0,0,255,255,248,14,0,120,14,0,56, - 14,0,24,14,0,24,14,0,8,14,0,8,14,4,8,14, - 4,0,14,4,0,14,12,0,14,12,0,15,252,0,14,12, - 0,14,4,0,14,4,0,14,4,8,14,4,8,14,0,8, - 14,0,8,14,0,24,14,0,24,14,0,56,14,0,56,14, - 0,248,255,255,248,21,34,102,25,2,0,0,48,0,0,48, - 0,0,120,0,0,204,0,1,134,0,2,1,128,0,0,0, - 0,0,0,255,255,248,14,0,120,14,0,56,14,0,24,14, - 0,24,14,0,8,14,0,8,14,4,8,14,4,0,14,4, - 0,14,12,0,14,12,0,15,252,0,14,12,0,14,4,0, - 14,4,0,14,4,8,14,4,8,14,0,8,14,0,8,14, - 0,24,14,0,24,14,0,56,14,0,56,14,0,248,255,255, - 248,21,33,99,25,2,0,1,131,0,3,135,0,3,135,0, - 1,131,0,0,0,0,0,0,0,0,0,0,255,255,248,14, - 0,120,14,0,56,14,0,24,14,0,24,14,0,8,14,0, - 8,14,4,8,14,4,0,14,4,0,14,12,0,14,12,0, - 15,252,0,14,12,0,14,4,0,14,4,0,14,4,8,14, - 4,8,14,0,8,14,0,8,14,0,24,14,0,24,14,0, - 56,14,0,56,14,0,248,255,255,248,10,34,68,14,2,0, - 192,0,224,0,112,0,56,0,8,0,4,0,0,0,0,0, - 255,192,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,192,10,34,68,14,2,0,0,192,1,192,1,128, - 3,0,6,0,4,0,0,0,0,0,255,192,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,255,192,10,34, - 68,14,2,0,4,0,14,0,30,0,59,0,97,128,128,64, - 0,0,0,0,255,192,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,255,192,11,33,66,14,2,0,96,192, - 224,224,224,224,96,192,0,0,0,0,0,0,127,224,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,127,224, - 24,26,78,27,2,0,255,255,0,14,0,192,14,0,112,14, - 0,56,14,0,60,14,0,28,14,0,30,14,0,30,14,0, - 14,14,0,15,14,0,15,14,0,15,255,224,15,14,0,15, - 14,0,15,14,0,15,14,0,15,14,0,14,14,0,30,14, - 0,30,14,0,28,14,0,56,14,0,56,14,0,112,14,0, - 192,255,255,0,25,33,132,28,2,0,0,120,32,0,0,254, - 96,0,0,143,192,0,0,131,128,0,0,0,0,0,0,0, - 0,0,0,0,0,0,254,0,255,128,15,0,28,0,15,128, - 8,0,15,128,8,0,11,192,8,0,11,192,8,0,9,224, - 8,0,8,240,8,0,8,240,8,0,8,120,8,0,8,60, - 8,0,8,60,8,0,8,30,8,0,8,30,8,0,8,15, - 8,0,8,7,136,0,8,7,136,0,8,3,200,0,8,1, - 232,0,8,1,232,0,8,0,248,0,8,0,120,0,8,0, - 120,0,8,0,56,0,28,0,24,0,255,128,24,0,21,34, - 102,26,3,0,3,0,0,7,0,0,3,128,0,1,192,0, - 0,64,0,0,32,0,0,0,0,0,32,0,3,220,0,6, - 3,0,12,1,128,28,1,192,56,0,224,56,0,224,120,0, - 240,112,0,112,112,0,112,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,240,0,120,112, - 0,112,112,0,112,120,0,240,56,0,224,56,0,224,28,1, - 192,12,1,128,6,3,0,3,254,0,21,34,102,26,3,0, - 0,6,0,0,7,0,0,14,0,0,28,0,0,16,0,0, - 32,0,0,0,0,0,32,0,3,220,0,6,3,0,12,1, - 128,28,1,192,56,0,224,56,0,224,120,0,240,112,0,112, - 112,0,112,240,0,120,240,0,120,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,112,0,112,112,0, - 112,120,0,240,56,0,224,56,0,224,28,1,192,12,1,128, - 6,3,0,3,254,0,21,34,102,26,3,0,0,32,0,0, - 112,0,0,112,0,0,216,0,1,4,0,6,3,0,0,0, - 0,0,32,0,3,220,0,6,3,0,12,1,128,28,1,192, - 56,0,224,56,0,224,120,0,240,112,0,112,112,0,112,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,240,0,120,240,0,120,112,0,112,112,0,112,120,0,240, - 56,0,224,56,0,224,28,1,192,12,1,128,6,3,0,3, - 254,0,21,33,99,26,3,0,3,225,0,3,255,0,4,62, - 0,0,0,0,0,0,0,0,0,0,0,32,0,3,220,0, - 6,3,0,12,1,128,28,1,192,56,0,224,56,0,224,120, - 0,240,112,0,112,112,0,112,240,0,120,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, - 112,0,112,112,0,112,120,0,240,56,0,224,56,0,224,28, - 1,192,12,1,128,6,3,0,3,254,0,21,33,99,26,3, - 0,3,6,0,7,7,0,7,7,0,3,6,0,0,0,0, - 0,0,0,0,32,0,3,220,0,6,3,0,12,1,128,28, - 1,192,56,0,224,56,0,224,120,0,240,112,0,112,112,0, - 112,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,112,0,112,112,0,112,120, - 0,240,56,0,224,56,0,224,28,1,192,12,1,128,6,3, - 0,3,254,0,22,23,69,34,6,254,128,0,4,192,0,12, - 96,0,24,48,0,48,24,0,96,12,0,192,6,1,128,3, - 3,0,1,134,0,0,204,0,0,120,0,0,48,0,0,120, - 0,0,204,0,1,134,0,3,3,0,6,1,128,12,0,192, - 24,0,96,48,0,48,96,0,24,192,0,12,128,0,0,21, - 27,81,26,3,0,0,32,0,3,222,24,6,3,48,12,1, - 224,28,1,192,56,0,224,56,1,224,120,3,240,112,2,112, - 112,6,112,240,12,120,240,24,120,240,16,120,240,48,120,240, - 96,120,240,192,120,240,192,120,241,128,120,115,0,112,114,0, - 112,126,0,240,60,0,224,56,0,224,28,1,192,60,1,128, - 102,3,0,195,222,0,25,34,136,29,2,0,0,192,0,0, - 0,224,0,0,0,224,0,0,0,48,0,0,0,16,0,0, - 0,8,0,0,0,0,0,0,0,0,0,0,255,192,255,128, - 14,0,14,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 6,0,8,0,7,0,8,0,3,0,16,0,1,192,32,0, - 0,127,192,0,25,34,136,29,2,0,0,0,192,0,0,1, - 192,0,0,3,128,0,0,7,0,0,0,4,0,0,0,8, - 0,0,0,0,0,0,0,0,0,0,255,192,255,128,14,0, - 14,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,6,0, - 8,0,7,0,8,0,3,0,16,0,1,192,32,0,0,127, - 192,0,25,34,136,29,2,0,0,8,0,0,0,28,0,0, - 0,30,0,0,0,55,0,0,0,65,128,0,1,128,96,0, - 0,0,0,0,0,0,0,0,255,192,255,128,14,0,14,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,6,0,8,0, - 7,0,8,0,3,128,16,0,1,192,96,0,0,127,192,0, - 25,33,132,29,2,0,0,192,192,0,0,225,192,0,0,225, - 192,0,0,192,192,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,192,255,128,14,0,14,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,6,0,8,0,7,0,8,0,3,0, - 16,0,1,192,32,0,0,127,192,0,24,34,102,27,2,0, - 0,0,192,0,1,192,0,3,128,0,7,0,0,4,0,0, - 8,0,0,0,0,0,0,0,255,225,255,31,0,56,15,0, - 48,7,128,48,7,128,32,3,192,96,3,192,64,1,224,128, - 0,224,128,0,241,0,0,113,0,0,122,0,0,58,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,1,255,224,21,26,78,25,2,0,255,224,0,14, - 0,0,14,0,0,14,0,0,14,0,0,15,255,0,14,1, - 192,14,0,224,14,0,240,14,0,120,14,0,120,14,0,120, - 14,0,120,14,0,120,14,0,240,14,0,224,14,1,192,15, - 255,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,255,224,0,16,26,52,19,1,0, - 1,240,3,28,6,14,14,14,28,14,28,14,28,12,28,28, - 28,48,29,192,28,48,28,24,28,12,28,14,28,6,28,7, - 28,7,28,7,28,7,28,7,28,135,29,199,29,199,29,142, - 29,140,252,120,16,25,50,19,2,1,112,0,112,0,56,0, - 28,0,12,0,2,0,0,0,0,0,15,128,48,224,32,112, - 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, - 224,112,224,113,224,241,225,113,113,126,62,60,16,25,50,19, - 2,1,0,112,0,240,0,224,1,128,3,0,2,0,0,0, - 0,0,15,128,48,224,96,112,96,112,120,112,120,112,0,112, - 1,240,30,112,112,112,96,112,224,112,224,113,224,241,225,113, - 113,126,62,60,16,25,50,19,2,0,6,0,7,0,7,0, - 13,128,24,192,48,96,0,0,0,0,15,128,48,224,96,112, - 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, - 224,112,224,113,224,241,225,113,113,126,62,60,16,24,48,19, - 2,0,30,48,63,224,35,192,0,0,0,0,0,0,0,0, - 15,128,48,224,96,112,96,112,120,112,120,112,0,112,1,240, - 30,112,112,112,96,112,224,112,224,113,224,241,225,113,113,126, - 62,60,16,24,48,19,2,0,48,96,112,224,112,224,48,96, - 0,0,0,0,0,0,15,0,48,192,96,96,96,96,112,96, - 112,96,0,96,1,224,30,96,112,96,96,96,224,96,224,97, - 224,225,225,99,113,126,62,60,16,25,50,19,2,0,7,0, - 24,192,16,64,16,64,24,192,7,0,0,0,0,0,15,128, - 48,224,96,112,96,112,120,112,120,112,0,112,1,240,30,112, - 112,112,96,112,224,112,224,113,224,241,225,113,113,126,62,60, - 22,17,51,26,2,0,15,135,192,48,236,112,96,120,48,112, - 120,56,120,112,24,56,112,28,0,112,28,7,255,252,56,112, - 0,112,112,0,224,112,0,224,112,4,224,248,8,224,184,8, - 225,56,16,113,28,48,62,7,192,12,24,48,16,2,249,15, - 128,24,96,48,48,112,48,96,112,224,112,224,112,224,0,224, - 0,224,0,224,0,224,0,96,16,112,16,48,32,24,96,15, - 128,2,0,6,0,1,128,0,192,0,192,16,192,15,128,13, - 25,50,17,2,1,48,0,56,0,28,0,12,0,6,0,3, - 0,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, - 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, - 16,48,16,24,96,7,128,13,25,50,17,2,1,0,112,0, - 112,0,224,0,192,1,128,3,0,0,0,0,0,15,128,24, - 224,48,96,112,112,96,48,224,56,224,56,255,248,224,0,224, - 0,224,0,224,8,112,16,112,16,48,16,24,96,7,128,13, - 25,50,17,2,0,3,0,3,0,7,128,5,128,8,64,16, - 32,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, - 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, - 16,48,32,24,96,7,128,13,24,48,17,2,0,24,96,56, - 112,56,112,24,96,0,0,0,0,0,0,15,128,24,224,48, - 96,112,48,96,48,224,56,224,56,255,248,224,0,224,0,224, - 0,224,8,112,16,112,16,48,32,24,96,7,128,9,25,50, - 11,0,0,192,0,224,0,112,0,56,0,8,0,4,0,0, - 0,0,0,62,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,63,128,8,25,25,10,2,0,3,7,7,12,24, - 48,0,0,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,9,25,50,11,1,0,24,0,28,0,60,0, - 54,0,99,0,128,128,0,0,0,0,124,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,127,0,9,24,48,11, - 1,0,97,128,227,128,227,128,97,128,0,0,0,0,0,0, - 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 127,128,14,26,52,18,2,0,28,16,14,48,15,192,7,128, - 7,128,13,192,48,224,0,224,0,112,7,240,24,120,48,56, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,112,24,112,56,48,48,24,96,7,128,17,24,72,21, - 2,0,7,4,0,15,204,0,9,248,0,8,112,0,0,0, - 0,0,0,0,0,0,0,248,248,0,57,28,0,58,14,0, - 60,14,0,60,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,254,63,128,14,25,50,18,2,1, - 56,0,56,0,28,0,12,0,6,0,3,0,0,0,0,0, - 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, - 7,128,14,25,50,18,2,1,0,48,0,112,0,224,0,192, - 1,128,1,0,0,0,0,0,7,128,24,96,48,48,112,56, - 112,24,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,24,112,56,48,48,24,96,7,128,14,25,50,18,2,0, - 3,0,3,0,7,128,4,128,8,64,16,32,0,0,0,0, - 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, - 7,128,14,24,48,18,2,0,30,16,31,240,33,224,0,0, - 0,0,0,0,0,0,7,128,24,96,48,48,112,56,112,24, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,24, - 112,56,48,48,24,96,7,128,14,24,48,18,2,0,24,48, - 56,112,56,112,24,48,0,0,0,0,0,0,7,128,24,96, - 48,48,112,56,112,24,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,112,24,112,56,48,48,24,96,7,128,30,23, - 92,34,2,254,0,3,0,0,0,7,128,0,0,7,128,0, - 0,7,128,0,0,3,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,252,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, - 0,7,128,0,0,7,128,0,0,7,128,0,0,3,0,0, - 14,17,34,18,2,0,7,132,24,104,48,56,112,56,112,56, - 224,92,224,156,225,156,227,28,226,28,228,28,232,28,120,24, - 112,56,48,48,88,96,135,192,17,25,75,20,1,1,28,0, - 0,28,0,0,14,0,0,3,0,0,1,0,0,0,128,0, - 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, - 56,46,0,28,78,0,15,143,128,17,25,75,20,1,1,0, - 28,0,0,60,0,0,48,0,0,96,0,0,192,0,0,128, - 0,0,0,0,0,0,0,248,62,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,30,0,56,30, - 0,56,46,0,28,78,0,15,143,128,17,25,75,20,1,0, - 0,128,0,1,192,0,1,192,0,3,96,0,4,48,0,8, - 8,0,0,0,0,0,0,0,248,62,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,30,0,56, - 30,0,56,46,0,28,78,0,15,143,128,17,24,72,20,1, - 0,12,48,0,28,56,0,28,56,0,12,48,0,0,0,0, - 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, - 56,46,0,28,78,0,15,143,128,18,33,99,19,1,249,0, - 12,0,0,28,0,0,24,0,0,48,0,0,96,0,0,64, - 0,0,0,0,0,0,0,255,31,192,28,6,0,28,4,0, - 12,4,0,14,4,0,14,4,0,6,8,0,7,8,0,7, - 8,0,3,16,0,3,144,0,3,144,0,1,224,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, - 0,128,0,112,128,0,113,128,0,113,0,0,114,0,0,60, - 0,0,16,34,68,19,1,247,12,0,60,0,92,0,28,0, - 28,0,28,0,28,0,28,0,28,60,28,126,28,143,29,7, - 30,7,30,7,30,7,28,6,28,14,28,14,28,12,28,24, - 28,16,28,32,28,64,29,128,31,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,224,0,17,32,96,19, - 1,248,6,12,0,7,28,0,7,28,0,6,12,0,0,0, - 0,0,0,0,0,0,0,255,31,128,28,6,0,28,4,0, - 14,4,0,14,4,0,14,8,0,7,8,0,7,8,0,7, - 16,0,3,144,0,3,144,0,3,160,0,1,224,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, - 0,128,0,112,128,0,121,0,0,121,0,0,114,0,0,60, - 0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=30 h=34 x= 4 y=10 dx=34 dy= 0 ascent=27 len=124 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26n[955] U8G_FONT_SECTION("u8g_font_osr26n") = { - 0,94,46,227,245,25,0,0,0,0,42,58,0,27,249,25, - 0,13,15,30,18,3,10,7,0,7,0,7,0,195,24,226, - 56,242,120,58,224,7,0,7,128,122,240,242,120,226,56,7, - 0,7,0,7,0,30,31,124,34,2,250,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,255,255,255,252,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,5,11,11,10,2,250,112,248,248, - 120,8,8,8,16,16,32,64,9,2,4,13,2,8,255,128, - 255,128,4,5,5,10,3,0,96,240,240,240,96,12,34,68, - 16,2,249,0,16,0,48,0,48,0,32,0,96,0,96,0, - 64,0,192,0,192,0,128,0,128,1,128,1,0,1,0,3, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,24,0,16,0,48,0,48,0,32,0,96,0,96, - 0,64,0,192,0,192,0,17,25,75,21,2,0,3,224,0, - 14,56,0,28,28,0,24,12,0,56,14,0,112,7,0,112, - 7,0,112,7,0,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 112,7,0,112,7,0,112,7,0,56,14,0,56,14,0,24, - 12,0,12,24,0,7,112,0,12,25,50,21,4,0,1,0, - 3,0,3,0,15,0,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,240, - 15,25,50,21,3,0,15,192,48,112,96,56,64,60,192,30, - 192,30,224,30,248,30,248,30,120,28,0,60,0,56,0,112, - 0,224,1,192,3,0,14,0,28,4,56,4,48,4,96,4, - 96,12,255,252,255,252,255,252,15,25,50,21,3,0,15,192, - 48,112,32,56,96,28,112,28,120,28,120,28,48,28,0,28, - 0,56,0,112,31,192,24,112,0,56,0,60,0,30,0,30, - 112,30,248,30,248,30,248,30,192,60,192,56,96,112,63,224, - 17,25,75,21,2,0,0,16,0,0,48,0,0,112,0,0, - 112,0,0,240,0,1,240,0,1,112,0,3,112,0,6,112, - 0,6,112,0,12,112,0,8,112,0,24,112,0,48,112,0, - 32,112,0,96,112,0,192,112,0,255,255,128,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,7,255, - 128,15,26,52,21,3,0,32,0,48,56,63,240,63,192,47, - 0,32,0,32,0,32,0,32,0,39,192,56,112,48,56,32, - 60,32,28,0,30,0,30,0,30,0,30,120,30,248,30,248, - 28,240,60,224,60,96,56,112,112,63,192,15,25,50,21,3, - 0,3,224,6,24,12,12,24,28,56,60,48,60,112,16,112, - 0,112,0,243,224,246,56,252,28,248,28,248,14,240,14,240, - 14,240,14,240,14,112,14,112,14,112,12,56,28,56,24,24, - 56,14,224,14,25,50,21,3,0,255,252,255,252,255,252,192, - 12,128,8,128,8,128,8,128,16,0,16,0,32,0,96,0, - 64,0,128,1,128,1,128,3,0,3,0,7,0,7,0,15, - 128,15,128,15,128,15,128,15,128,7,128,17,25,75,21,2, - 0,7,240,0,28,28,0,48,14,0,112,6,0,224,3,0, - 224,3,0,224,3,0,240,3,0,240,6,0,124,6,0,127, - 140,0,31,240,0,7,252,0,25,254,0,48,63,0,96,15, - 128,224,7,128,224,3,128,224,3,128,224,3,128,224,3,0, - 96,7,0,112,6,0,56,12,0,15,248,0,15,25,50,21, - 3,0,7,192,24,96,48,48,112,56,112,28,224,28,224,28, - 224,30,224,30,224,30,224,30,112,62,112,62,56,94,15,158, - 0,30,0,28,0,28,56,28,120,28,120,56,112,56,96,112, - 48,224,31,192,4,17,17,10,3,0,96,240,240,240,96,0, - 0,0,0,0,0,0,96,240,240,240,96}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=36 h=34 x= 4 y=20 dx=38 dy= 0 ascent=28 len=130 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =27 descent=-8 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_FONT_SECTION("u8g_font_osr26r") = { - 0,94,46,227,245,26,7,96,17,82,32,127,248,28,248,27, - 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, - 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, - 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, - 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, - 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, - 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, - 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, - 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, - 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, - 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, - 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, - 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, - 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, - 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, - 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, - 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, - 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, - 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, - 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, - 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, - 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, - 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, - 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, - 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, - 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, - 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, - 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, - 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, - 0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242, - 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, - 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, - 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, - 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, - 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, - 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, - 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, - 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, - 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, - 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, - 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, - 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, - 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, - 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, - 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, - 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, - 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, - 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, - 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, - 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, - 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, - 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, - 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, - 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, - 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, - 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, - 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, - 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, - 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, - 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, - 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, - 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, - 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, - 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, - 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, - 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, - 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, - 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, - 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, - 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, - 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, - 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, - 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, - 0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34, - 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, - 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, - 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, - 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, - 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, - 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, - 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, - 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, - 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, - 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, - 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, - 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, - 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, - 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, - 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, - 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, - 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, - 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, - 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, - 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, - 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, - 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, - 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, - 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, - 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, - 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, - 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, - 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, - 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, - 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, - 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, - 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, - 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, - 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, - 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, - 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, - 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, - 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, - 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, - 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, - 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, - 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, - 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, - 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, - 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, - 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, - 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, - 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, - 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, - 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, - 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, - 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, - 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, - 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, - 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, - 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, - 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, - 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, - 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, - 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, - 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, - 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, - 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, - 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, - 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, - 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, - 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, - 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, - 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, - 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, - 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, - 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, - 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, - 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, - 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, - 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, - 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, - 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, - 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, - 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, - 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, - 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, - 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, - 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, - 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, - 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, - 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, - 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, - 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, - 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, - 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, - 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, - 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, - 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, - 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, - 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, - 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, - 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, - 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, - 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, - 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, - 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, - 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, - 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, - 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, - 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, - 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, - 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, - 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, - 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, - 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, - 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, - 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, - 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, - 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, - 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, - 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, - 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, - 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, - 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, - 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, - 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, - 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, - 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, - 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, - 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, - 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, - 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, - 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, - 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, - 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, - 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, - 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, - 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, - 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, - 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, - 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, - 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, - 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, - 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, - 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, - 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, - 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, - 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, - 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, - 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, - 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, - 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, - 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, - 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, - 28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14, - 17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, - 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, - 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, - 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, - 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, - 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, - 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, - 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, - 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, - 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, - 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, - 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, - 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, - 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, - 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, - 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, - 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, - 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, - 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, - 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, - 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, - 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, - 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, - 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, - 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, - 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, - 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, - 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, - 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, - 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, - 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, - 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, - 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, - 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, - 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, - 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, - 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, - 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, - 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, - 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, - 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, - 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, - 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, - 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, - 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, - 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, - 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, - 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, - 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, - 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, - 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, - 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, - 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, - 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, - 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, - 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, - 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, - 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, - 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, - 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, - 255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=41 h=39 x= 8 y=23 dx=44 dy= 0 ascent=39 len=174 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =30 descent=-9 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_FONT_SECTION("u8g_font_osr29") = { - 0,107,51,223,244,29,9,148,21,166,32,255,247,39,245,30, - 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, - 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, - 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, - 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, - 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, - 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, - 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, - 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, - 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, - 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, - 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, - 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, - 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, - 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, - 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, - 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, - 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, - 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, - 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, - 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, - 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, - 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, - 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, - 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, - 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, - 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, - 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, - 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, - 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, - 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, - 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, - 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, - 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, - 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, - 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, - 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, - 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, - 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, - 30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227, - 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, - 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, - 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, - 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, - 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, - 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, - 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, - 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, - 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, - 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, - 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, - 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, - 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, - 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, - 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, - 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, - 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, - 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, - 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, - 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, - 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, - 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, - 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, - 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, - 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, - 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, - 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, - 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, - 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, - 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, - 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, - 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, - 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, - 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, - 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, - 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, - 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, - 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, - 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, - 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, - 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, - 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, - 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, - 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, - 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, - 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, - 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, - 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, - 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, - 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, - 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, - 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, - 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, - 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, - 0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248, - 248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124, - 12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0, - 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, - 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, - 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, - 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, - 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, - 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, - 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, - 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, - 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, - 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, - 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, - 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, - 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, - 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, - 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, - 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, - 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, - 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, - 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, - 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, - 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, - 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, - 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, - 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, - 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, - 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, - 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, - 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, - 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, - 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, - 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, - 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, - 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, - 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, - 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, - 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, - 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, - 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, - 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, - 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, - 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, - 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, - 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, - 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, - 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, - 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, - 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, - 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, - 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, - 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, - 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, - 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, - 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, - 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, - 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, - 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, - 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, - 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, - 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, - 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, - 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, - 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, - 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, - 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, - 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, - 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, - 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, - 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, - 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, - 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, - 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, - 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, - 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, - 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, - 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, - 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, - 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, - 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, - 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, - 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, - 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, - 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, - 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, - 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, - 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, - 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, - 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, - 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, - 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, - 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, - 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, - 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, - 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, - 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, - 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, - 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, - 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, - 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, - 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, - 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, - 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, - 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, - 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, - 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, - 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, - 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, - 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, - 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, - 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, - 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, - 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, - 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, - 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, - 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, - 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, - 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, - 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, - 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, - 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, - 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, - 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, - 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, - 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, - 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, - 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, - 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, - 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, - 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, - 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, - 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, - 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, - 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, - 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, - 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, - 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, - 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, - 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, - 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, - 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, - 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, - 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, - 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, - 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, - 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, - 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, - 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, - 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, - 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, - 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, - 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, - 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, - 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, - 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, - 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, - 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, - 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, - 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, - 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, - 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, - 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, - 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, - 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, - 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, - 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, - 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, - 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, - 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, - 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, - 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, - 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, - 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, - 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, - 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, - 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, - 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, - 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, - 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, - 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, - 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, - 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, - 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, - 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, - 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, - 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, - 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, - 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, - 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, - 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, - 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, - 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, - 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, - 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, - 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, - 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, - 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, - 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, - 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, - 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, - 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, - 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, - 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, - 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, - 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, - 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, - 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, - 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, - 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, - 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, - 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, - 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, - 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, - 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, - 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, - 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, - 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, - 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, - 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, - 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, - 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, - 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, - 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, - 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, - 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, - 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, - 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, - 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, - 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, - 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, - 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, - 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, - 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, - 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, - 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, - 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, - 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, - 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, - 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, - 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, - 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, - 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, - 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, - 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, - 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, - 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, - 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, - 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, - 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, - 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, - 252,96,1,248,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,11,0,0,5,28,28,11,3, - 247,112,248,248,248,112,0,32,32,32,32,32,32,112,112,112, - 112,112,112,112,112,248,248,248,248,248,248,248,112,14,28,56, - 24,5,252,0,128,0,128,0,128,0,128,0,128,7,224,12, - 152,24,136,56,140,112,156,112,188,240,188,240,152,240,128,240, - 128,240,128,240,128,240,132,112,132,112,132,56,132,24,136,14, - 144,3,224,0,128,0,128,0,128,0,128,23,28,84,30,3, - 0,0,3,240,0,6,24,0,28,12,0,24,14,0,48,62, - 0,112,62,0,112,62,0,112,24,0,112,0,0,240,0,0, - 240,0,0,240,0,31,240,0,32,255,128,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,224,0, - 0,224,0,62,224,2,67,192,2,128,224,4,129,127,60,194, - 63,248,60,15,240,20,20,60,24,2,4,64,0,32,225,248, - 112,119,254,224,62,7,192,24,1,128,48,0,192,48,0,192, - 96,0,96,96,0,96,96,0,96,96,0,96,96,0,96,96, - 0,96,48,0,192,48,0,192,24,1,128,62,7,192,119,254, - 224,225,248,112,64,0,32,22,28,84,24,1,0,255,131,252, - 62,0,112,30,0,96,14,0,64,15,0,64,15,0,128,7, - 128,128,7,129,0,3,193,0,3,194,0,1,226,0,1,228, - 0,0,252,0,0,248,0,0,120,0,31,255,192,0,120,0, - 0,120,0,31,255,192,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,7,255, - 128,2,37,37,12,5,249,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,0,0,0,0,0,0,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,15,36,72,26, - 4,248,7,192,12,32,24,48,48,120,48,120,48,112,56,0, - 56,0,28,0,30,0,15,0,31,192,35,224,97,240,64,248, - 192,60,192,30,192,14,224,6,240,6,120,6,60,4,31,12, - 15,152,7,224,3,224,0,224,0,112,0,112,0,56,56,56, - 60,56,56,48,48,48,24,96,7,128,12,4,8,18,3,22, - 96,96,240,240,240,240,96,96,30,29,116,34,2,1,0,127, - 248,0,1,192,14,0,3,0,3,0,4,0,0,128,8,0, - 0,64,16,7,196,32,32,24,108,16,32,48,60,16,64,112, - 28,8,64,224,12,8,192,224,12,8,129,224,4,4,129,224, - 0,4,129,224,0,4,129,224,0,4,129,224,0,4,129,224, - 0,4,129,224,4,4,192,224,4,8,64,224,8,8,64,112, - 8,8,32,112,24,16,48,24,48,48,16,15,192,32,8,0, - 0,64,4,0,0,128,3,0,3,0,1,192,14,0,0,127, - 248,0,11,14,28,16,3,14,60,0,102,0,67,0,99,0, - 99,0,7,0,27,0,99,0,195,0,195,32,231,32,121,192, - 0,0,127,192,10,16,32,19,4,1,24,64,48,192,32,128, - 97,128,97,0,195,0,195,0,195,0,195,0,195,0,195,0, - 97,128,97,128,48,128,16,64,8,0,20,8,24,24,2,7, - 255,255,240,255,255,240,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,48,0,0,48,10,2,4,14,2,9,255,192, - 255,192,30,29,116,34,2,1,0,127,248,0,1,192,14,0, - 3,0,3,0,4,0,0,128,8,0,0,64,19,255,192,32, - 32,112,240,48,32,112,120,16,64,112,120,8,64,112,120,8, - 192,112,120,8,128,112,112,4,128,112,224,4,128,127,128,4, - 128,112,224,4,128,112,112,4,128,112,112,4,128,112,120,4, - 128,112,120,8,64,112,120,136,64,112,120,136,32,112,56,144, - 32,112,57,16,19,252,30,32,8,0,0,64,4,0,0,128, - 3,0,3,0,1,192,14,0,0,127,248,0,11,2,4,19, - 4,23,255,224,255,224,11,10,20,23,6,18,31,0,96,128, - 64,64,128,32,128,32,128,32,128,32,64,64,96,128,31,0, - 35,28,140,39,2,254,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,192,255,255,255, - 255,192,11,17,34,18,4,11,31,0,99,192,129,192,128,224, - 192,224,224,224,112,224,1,192,1,128,3,0,12,0,24,0, - 32,32,64,32,64,96,255,224,255,224,11,17,34,18,5,11, - 31,0,97,192,192,192,224,224,240,224,0,224,0,192,97,128, - 126,0,1,128,0,192,0,224,224,224,240,224,224,192,129,192, - 127,0,7,7,7,18,8,21,6,14,28,56,48,96,128,21, - 30,90,25,3,245,96,6,0,224,15,0,240,15,0,240,15, - 0,240,15,0,224,15,0,224,15,0,224,15,0,224,15,0, - 224,15,0,224,6,0,64,6,0,64,6,0,64,6,0,96, - 12,8,96,14,24,88,57,248,79,241,248,67,224,112,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,224,0,0, - 224,0,0,240,0,0,240,0,0,112,0,0,112,0,0,17, - 35,105,23,3,250,15,255,128,63,140,0,127,140,0,127,140, - 0,255,140,0,255,140,0,255,140,0,255,140,0,255,140,0, - 127,140,0,127,140,0,63,140,0,7,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,5,5, - 5,11,3,10,112,248,248,248,112,8,8,8,18,5,248,48, - 32,60,6,7,7,15,252,9,17,34,19,5,11,4,0,12, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,10, - 14,28,16,3,14,30,0,51,0,97,128,192,192,192,192,192, - 192,192,192,192,192,193,192,97,128,35,0,30,0,0,0,255, - 192,10,16,32,20,5,1,134,0,195,0,65,0,97,128,32, - 192,48,192,48,192,48,192,48,192,48,192,48,192,97,128,97, - 128,67,0,130,0,4,0,27,28,112,35,5,0,4,0,12, - 0,12,0,8,0,28,0,24,0,252,0,16,0,28,0,32, - 0,28,0,96,0,28,0,64,0,28,0,192,0,28,0,128, - 0,28,1,128,0,28,3,0,0,28,2,0,0,28,6,7, - 0,28,4,15,0,28,12,15,0,28,24,23,0,255,144,23, - 0,0,48,39,0,0,32,71,0,0,96,71,0,0,192,135, - 0,0,129,7,0,1,129,255,224,1,0,7,0,3,0,7, - 0,6,0,7,0,6,0,7,0,12,0,63,224,27,28,112, - 35,5,0,4,0,4,0,12,0,12,0,28,0,8,0,252, - 0,16,0,28,0,48,0,28,0,32,0,28,0,96,0,28, - 0,64,0,28,0,128,0,28,1,128,0,28,1,0,0,28, - 3,31,0,28,6,99,192,28,4,129,192,28,12,128,224,28, - 8,192,224,255,152,224,224,0,48,240,224,0,32,1,192,0, - 96,1,128,0,64,3,0,0,192,12,0,1,128,24,0,1, - 0,32,32,3,0,64,32,2,0,64,96,6,0,255,224,12, - 0,255,224,28,28,112,36,5,0,31,0,6,0,97,192,4, - 0,192,224,8,0,224,224,24,0,240,224,16,0,0,192,48, - 0,1,128,96,0,126,0,64,0,97,128,192,0,0,192,128, - 0,0,225,128,0,96,227,3,128,240,226,3,128,224,230,7, - 128,129,196,7,128,67,136,11,128,62,24,19,128,0,16,19, - 128,0,48,35,128,0,96,99,128,0,64,67,128,0,192,131, - 128,0,128,255,240,1,128,3,128,3,0,3,128,2,0,3, - 128,6,0,3,128,4,0,31,240,15,28,56,19,1,247,3, - 128,7,192,7,192,7,192,3,128,0,0,3,128,4,64,8, - 32,8,32,8,96,0,96,0,192,1,128,7,0,14,0,28, - 0,56,0,120,0,240,60,240,62,240,62,240,6,240,6,112, - 6,120,12,28,24,7,224,29,38,152,32,2,0,0,224,0, - 0,0,240,0,0,0,112,0,0,0,56,0,0,0,12,0, - 0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0, - 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, - 0,0,15,128,0,0,15,128,0,0,15,128,0,0,31,192, - 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, - 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,240, - 0,0,192,120,0,0,128,120,0,1,128,120,0,1,255,252, - 0,1,0,60,0,3,0,28,0,3,0,30,0,6,0,30, - 0,6,0,15,0,6,0,15,0,14,0,15,0,30,0,15, - 128,255,224,255,248,29,38,152,32,2,0,0,0,48,0,0, - 0,112,0,0,0,240,0,0,0,224,0,0,1,128,0,0, - 3,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0, - 15,128,0,0,15,128,0,0,15,128,0,0,31,192,0,0, - 19,192,0,0,51,192,0,0,49,224,0,0,33,224,0,0, - 97,224,0,0,96,240,0,0,64,240,0,0,192,240,0,0, - 192,120,0,0,128,120,0,1,128,120,0,1,255,252,0,3, - 0,60,0,3,0,30,0,3,0,30,0,6,0,30,0,6, - 0,15,0,6,0,15,0,14,0,15,0,31,0,31,192,255, - 224,255,248,29,38,152,32,2,0,0,6,0,0,0,7,0, - 0,0,15,128,0,0,29,128,0,0,56,192,0,0,96,48, - 0,0,128,8,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,6,0,0,0,7,0,0,0,7,0,0,0,15,128, - 0,0,15,128,0,0,15,128,0,0,31,192,0,0,19,192, - 0,0,51,192,0,0,49,224,0,0,33,224,0,0,97,224, - 0,0,96,240,0,0,64,240,0,0,192,240,0,0,192,120, - 0,0,128,120,0,1,128,120,0,1,255,252,0,1,0,60, - 0,3,0,28,0,3,0,30,0,6,0,30,0,6,0,15, - 0,6,0,15,0,14,0,15,0,30,0,15,128,255,224,255, - 248,29,37,148,32,2,0,0,60,8,0,0,127,24,0,0, - 207,240,0,0,129,240,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0, - 7,0,0,0,7,0,0,0,15,128,0,0,15,128,0,0, - 15,128,0,0,31,192,0,0,19,192,0,0,51,192,0,0, - 49,224,0,0,33,224,0,0,97,224,0,0,96,240,0,0, - 64,240,0,0,192,240,0,0,192,120,0,0,128,120,0,1, - 128,120,0,1,255,252,0,3,0,60,0,3,0,30,0,3, - 0,30,0,6,0,30,0,6,0,15,0,6,0,15,0,14, - 0,15,0,31,0,31,192,255,224,255,248,29,37,148,32,2, - 0,0,96,48,0,0,240,120,0,0,240,120,0,0,96,48, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, - 0,0,15,128,0,0,15,128,0,0,31,128,0,0,31,192, - 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, - 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,112, - 0,0,192,120,0,0,128,120,0,1,128,56,0,1,255,252, - 0,1,0,28,0,3,0,28,0,3,0,30,0,6,0,30, - 0,6,0,15,0,6,0,15,0,14,0,15,0,31,0,15, - 128,255,224,255,248,29,39,156,32,2,0,0,15,0,0,0, - 16,128,0,0,32,64,0,0,32,64,0,0,32,64,0,0, - 32,64,0,0,16,128,0,0,15,0,0,0,0,0,0,0, - 0,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0, - 7,0,0,0,15,128,0,0,15,128,0,0,31,128,0,0, - 31,192,0,0,19,192,0,0,51,192,0,0,51,224,0,0, - 33,224,0,0,97,224,0,0,97,240,0,0,64,240,0,0, - 192,240,0,0,192,248,0,0,128,120,0,1,128,120,0,1, - 255,252,0,1,0,60,0,3,0,60,0,2,0,62,0,6, - 0,30,0,6,0,31,0,6,0,31,0,14,0,15,0,30, - 0,15,128,255,224,255,248,37,29,145,41,1,0,0,3,255, - 255,248,0,0,124,0,248,0,0,124,0,56,0,0,124,0, - 56,0,0,252,0,24,0,1,188,0,24,0,1,188,0,8, - 0,3,60,0,8,0,3,60,4,8,0,6,60,4,0,0, - 6,60,4,0,0,12,60,4,0,0,12,60,12,0,0,24, - 60,28,0,0,24,63,252,0,0,48,60,28,0,0,48,60, - 12,0,0,96,60,4,0,0,96,60,4,8,0,255,252,4, - 8,0,128,60,4,8,1,128,60,0,8,1,0,60,0,24, - 3,0,60,0,24,2,0,60,0,24,6,0,60,0,56,14, - 0,60,0,120,31,0,60,1,248,255,225,255,255,248,22,38, - 114,28,3,248,1,255,12,7,1,140,14,0,252,28,0,124, - 24,0,60,56,0,60,56,0,28,112,0,28,112,0,12,112, - 0,12,240,0,8,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,112,0,4, - 112,0,4,120,0,12,56,0,8,56,0,8,28,0,16,12, - 0,16,14,0,32,3,0,192,1,247,128,0,56,0,0,32, - 0,0,56,0,0,14,0,0,7,0,0,7,0,0,7,0, - 1,14,0,0,252,0,23,38,114,29,3,0,1,128,0,1, - 192,0,1,224,0,0,224,0,0,48,0,0,24,0,0,12, - 0,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, - 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, - 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, - 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, - 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, - 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,38, - 114,29,3,0,0,0,192,0,1,224,0,3,192,0,3,128, - 0,6,0,0,12,0,0,8,0,0,0,0,0,0,0,255, - 255,254,15,0,62,15,0,14,15,0,14,15,0,6,15,0, - 6,15,0,2,15,0,2,15,1,2,15,1,0,15,1,0, - 15,1,0,15,3,0,15,7,0,15,255,0,15,7,0,15, - 3,0,15,1,0,15,1,2,15,1,2,15,1,2,15,0, - 2,15,0,6,15,0,6,15,0,6,15,0,14,15,0,30, - 15,0,126,255,255,254,23,38,114,29,3,0,0,8,0,0, - 28,0,0,62,0,0,55,0,0,99,128,1,128,192,2,0, - 32,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, - 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, - 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, - 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, - 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, - 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,37, - 111,29,3,0,1,128,192,3,193,224,3,193,224,1,128,192, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,15, - 0,62,15,0,14,15,0,14,15,0,6,15,0,6,15,0, - 2,15,0,2,15,1,2,15,1,0,15,1,0,15,3,0, - 15,3,0,15,7,0,15,255,0,15,7,0,15,3,0,15, - 3,0,15,1,2,15,1,2,15,1,2,15,0,2,15,0, - 6,15,0,6,15,0,6,15,0,14,15,0,30,15,0,126, - 255,255,254,12,38,76,17,3,0,192,0,224,0,112,0,56, - 0,24,0,12,0,2,0,0,0,0,0,255,240,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,255,240,12,38,76,17,3,0,0,48,0,112,0, - 224,1,192,3,128,2,0,4,0,0,0,0,0,255,240,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,255,240,12,38,76,17,3,0,6,0,14, - 0,15,0,27,128,48,192,96,96,128,16,0,0,0,0,255, - 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,255,240,12,37,74,15,2,0,96, - 96,240,240,240,240,96,96,0,0,0,0,0,0,0,0,255, - 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,255,240,27,29,116,32,3,0,255, - 255,192,0,15,0,112,0,15,0,28,0,15,0,14,0,15, - 0,7,0,15,0,7,128,15,0,3,128,15,0,3,192,15, - 0,3,192,15,0,1,192,15,0,1,224,15,0,1,224,15, - 0,1,224,255,240,1,224,15,0,1,224,15,0,1,224,15, - 0,1,224,15,0,1,224,15,0,1,224,15,0,3,192,15, - 0,3,192,15,0,3,192,15,0,3,128,15,0,7,0,15, - 0,7,0,15,0,14,0,15,0,28,0,15,0,112,0,255, - 255,192,0,28,37,148,32,3,0,0,60,8,0,0,127,152, - 0,0,71,240,0,0,65,240,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,0,63,240,15,128,7, - 128,15,128,3,0,15,192,3,0,15,224,3,0,13,224,3, - 0,13,240,3,0,12,248,3,0,12,120,3,0,12,124,3, - 0,12,60,3,0,12,30,3,0,12,31,3,0,12,15,3, - 0,12,7,131,0,12,7,131,0,12,3,195,0,12,3,227, - 0,12,1,227,0,12,0,243,0,12,0,251,0,12,0,123, - 0,12,0,63,0,12,0,63,0,12,0,31,0,12,0,31, - 0,12,0,15,0,30,0,7,0,255,192,7,0,24,38,114, - 29,3,1,3,128,0,3,192,0,1,192,0,0,224,0,0, - 112,0,0,48,0,0,8,0,0,0,0,0,0,0,0,255, - 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, - 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, - 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, - 0,192,0,255,0,24,38,114,29,3,1,0,1,192,0,3, - 192,0,3,128,0,7,0,0,14,0,0,12,0,0,16,0, - 0,0,0,0,0,0,0,255,0,3,0,192,6,0,96,12, - 0,48,28,0,56,56,0,28,56,0,28,120,0,30,112,0, - 14,112,0,14,240,0,15,240,0,15,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,112, - 0,14,112,0,14,120,0,30,56,0,28,56,0,28,28,0, - 56,12,0,48,6,0,96,3,0,192,0,255,0,24,38,114, - 29,3,0,0,24,0,0,24,0,0,60,0,0,126,0,0, - 195,0,1,129,128,6,0,96,0,0,0,0,0,0,0,255, - 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, - 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, - 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, - 0,192,0,255,0,24,37,111,29,3,0,1,240,32,3,252, - 64,2,63,192,2,7,128,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,0,3,0,192,6,0,96,12,0,48,28, - 0,56,56,0,28,56,0,28,120,0,30,112,0,14,112,0, - 14,240,0,15,240,0,15,240,0,15,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,112,0,14,112, - 0,14,120,0,30,56,0,28,56,0,28,28,0,56,12,0, - 48,6,0,96,3,0,192,0,255,0,24,37,111,29,3,0, - 1,129,128,3,195,192,3,195,192,1,129,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,0,3,0,192,6,0, - 96,12,0,48,28,0,56,56,0,28,56,0,28,120,0,30, - 112,0,14,112,0,14,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,112,0,14,112,0,14,120,0,30,56,0,28,56,0,28, - 28,0,56,12,0,48,6,0,96,3,0,192,0,255,0,25, - 25,100,39,7,254,192,0,1,128,224,0,3,0,112,0,6, - 0,56,0,12,0,28,0,24,0,14,0,48,0,7,0,96, - 0,3,128,192,0,1,193,128,0,0,227,0,0,0,118,0, - 0,0,60,0,0,0,28,0,0,0,62,0,0,0,103,0, - 0,0,195,128,0,1,129,192,0,3,0,224,0,6,0,112, - 0,12,0,56,0,24,0,28,0,48,0,14,0,96,0,7, - 0,192,0,3,128,128,0,1,0,24,29,87,29,3,1,0, - 255,131,3,0,230,6,0,124,12,0,60,28,0,56,56,0, - 60,56,0,124,120,0,254,112,0,206,112,1,142,240,3,15, - 240,6,15,240,14,15,240,12,15,240,24,15,240,48,15,240, - 96,15,240,224,15,240,192,15,113,128,14,115,0,14,126,0, - 30,62,0,28,60,0,28,28,0,56,60,0,48,62,0,96, - 103,0,192,193,255,0,29,38,152,34,3,1,0,112,0,0, - 0,112,0,0,0,56,0,0,0,28,0,0,0,14,0,0, - 0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, - 255,240,31,248,15,0,3,192,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,7,0,1,0, - 7,0,3,0,3,128,2,0,1,192,6,0,0,224,24,0, - 0,63,240,0,29,38,152,34,3,1,0,0,56,0,0,0, - 120,0,0,0,240,0,0,0,224,0,0,1,128,0,0,3, - 0,0,0,2,0,0,0,0,0,0,0,0,0,0,255,240, - 31,248,15,0,3,192,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,7,0,1,0,7,0, - 3,0,3,128,2,0,1,192,6,0,0,224,24,0,0,63, - 240,0,29,38,152,34,3,0,0,3,0,0,0,7,0,0, - 0,7,128,0,0,13,192,0,0,24,96,0,0,96,48,0, - 0,192,8,0,0,0,0,0,0,0,0,0,255,240,31,248, - 15,0,3,192,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,7,0,3,0,7,0,3,0, - 3,128,6,0,1,192,14,0,0,224,24,0,0,63,240,0, - 29,37,148,34,3,0,0,48,48,0,0,120,120,0,0,120, - 120,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,240,31,248,15,0,3,192,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,7,0,1,0,7,0,3,0,3,128,2,0,1,192, - 6,0,0,224,24,0,0,63,240,0,27,38,152,30,2,0, - 0,0,48,0,0,0,112,0,0,0,224,0,0,0,192,0, - 0,1,128,0,0,3,0,0,0,2,0,0,0,0,0,0, - 0,0,0,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,23,29,87,28,3,0,255,248, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,255,128, - 15,0,224,15,0,120,15,0,60,15,0,60,15,0,30,15, - 0,30,15,0,30,15,0,30,15,0,30,15,0,60,15,0, - 60,15,0,120,15,0,224,15,255,128,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,255,248,0,19,29,87,22,1,0,0,252,0,3,14, - 0,6,7,0,14,7,128,12,7,128,28,7,128,28,7,128, - 28,7,0,28,14,0,28,28,0,28,224,0,28,24,0,28, - 6,0,28,7,0,28,3,128,28,3,128,28,1,192,28,1, - 192,28,1,192,28,1,224,28,1,224,28,1,224,28,1,224, - 28,225,192,29,225,192,29,225,192,28,131,128,28,199,0,252, - 60,0,18,28,84,21,2,1,112,0,0,120,0,0,60,0, - 0,28,0,0,6,0,0,3,0,0,1,0,0,0,0,0, - 0,0,0,15,192,0,56,112,0,32,56,0,96,28,0,120, - 28,0,120,28,0,56,28,0,0,28,0,0,252,0,15,28, - 0,56,28,0,112,28,0,224,28,0,224,28,64,224,60,64, - 224,60,64,224,92,192,112,159,128,31,15,0,18,28,84,21, - 2,1,0,28,0,0,60,0,0,120,0,0,112,0,0,192, - 0,1,128,0,1,0,0,0,0,0,0,0,0,15,192,0, - 56,112,0,32,56,0,96,28,0,120,28,0,120,28,0,56, - 28,0,0,28,0,0,252,0,15,28,0,56,28,0,112,28, - 0,224,28,0,224,28,64,224,60,64,224,60,64,224,92,192, - 112,159,128,31,15,0,18,28,84,21,2,0,3,128,0,3, - 128,0,7,128,0,6,192,0,12,96,0,24,48,0,32,24, - 0,0,0,0,0,0,0,15,192,0,56,112,0,32,56,0, - 96,28,0,120,28,0,120,28,0,56,28,0,0,28,0,0, - 252,0,15,28,0,56,28,0,112,28,0,224,28,0,224,28, - 64,224,60,64,224,60,64,224,92,192,112,159,128,31,15,0, - 18,27,81,21,2,0,30,8,0,63,136,0,39,248,0,64, - 240,0,0,0,0,0,0,0,0,0,0,0,0,0,15,192, - 0,56,112,0,32,56,0,96,28,0,120,28,0,120,28,0, - 56,28,0,0,28,0,0,252,0,15,28,0,56,28,0,112, - 28,0,224,28,0,224,28,64,224,60,64,224,60,64,224,92, - 192,112,159,128,31,15,0,18,27,81,21,2,0,56,48,0, - 120,120,0,120,120,0,56,48,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,192,0,24,112,0,32,56,0,96,28, - 0,112,28,0,120,28,0,56,28,0,0,28,0,0,252,0, - 15,28,0,56,28,0,112,28,0,224,28,0,224,28,64,224, - 60,64,224,60,64,224,92,192,112,159,128,31,15,0,18,28, - 84,21,2,0,7,128,0,8,64,0,16,32,0,16,32,0, - 16,32,0,8,64,0,7,128,0,0,0,0,0,0,0,15, - 192,0,56,112,0,32,56,0,96,28,0,112,28,0,120,28, - 0,56,28,0,0,28,0,0,252,0,15,28,0,56,28,0, - 112,28,0,224,28,0,224,28,64,224,60,64,224,92,64,224, - 156,192,112,159,128,31,15,0,25,19,76,29,2,0,15,193, - 240,0,56,115,28,0,32,30,14,0,96,30,7,0,120,28, - 7,0,120,28,7,0,56,28,7,128,0,28,7,128,3,255, - 255,128,28,28,0,0,112,28,0,0,112,28,0,0,224,28, - 1,128,224,28,1,0,224,62,1,0,224,46,1,0,224,70, - 2,0,112,131,4,0,31,0,248,0,15,27,54,18,2,248, - 7,224,28,16,56,8,48,12,112,28,112,60,240,60,240,24, - 240,0,240,0,240,0,240,0,240,6,112,4,112,4,48,12, - 56,8,28,48,7,224,1,0,2,0,1,192,0,96,0,112, - 0,112,8,240,7,192,15,28,56,19,2,1,56,0,60,0, - 28,0,14,0,7,0,3,0,0,128,0,0,0,0,7,192, - 12,112,56,56,48,28,112,28,112,28,240,30,240,30,255,254, - 240,0,240,0,240,0,240,2,112,4,112,4,56,4,56,8, - 28,16,7,224,15,28,56,19,2,1,0,28,0,60,0,56, - 0,112,0,224,0,192,1,0,0,0,0,0,7,192,12,112, - 56,56,48,28,112,28,112,28,240,30,240,30,255,254,240,0, - 240,0,240,0,240,2,112,4,112,4,56,4,56,8,28,16, - 7,224,15,28,56,19,2,0,1,128,3,128,3,192,7,192, - 6,96,8,48,16,8,0,0,0,0,7,192,12,112,56,56, - 48,28,112,28,112,28,240,30,240,30,255,254,240,0,240,0, - 240,0,240,6,112,4,112,4,56,4,56,8,28,16,7,224, - 15,27,54,19,2,0,24,24,60,60,60,60,24,24,0,0, - 0,0,0,0,0,0,7,192,12,112,56,56,48,28,112,28, - 112,28,240,14,240,14,255,254,240,0,240,0,240,0,240,2, - 112,4,112,4,56,4,56,8,28,16,7,224,10,28,56,11, - 0,0,192,0,224,0,224,0,112,0,24,0,12,0,4,0, - 0,0,0,0,126,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,127,192,10,28,56,11,1,0, - 0,192,1,192,3,128,7,0,6,0,12,0,16,0,0,0, - 0,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,255,128,11,28,56,11,0,0,12,0, - 12,0,30,0,31,0,51,0,96,128,128,96,0,0,0,0, - 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,127,192,11,26,52,13,1,0,96,192,241,224, - 241,224,96,192,0,0,0,0,0,0,62,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,63,192, - 17,29,87,21,2,0,30,4,0,15,12,0,7,176,0,3, - 224,0,1,224,0,6,224,0,12,240,0,16,120,0,0,56, - 0,0,28,0,3,254,0,12,62,0,24,30,0,56,15,0, - 112,15,0,112,7,0,240,7,0,240,7,128,240,7,128,240, - 7,128,240,7,0,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,20,26,78, - 22,1,0,3,225,0,7,254,0,4,126,0,0,0,0,0, - 0,0,0,0,0,0,0,0,252,60,0,28,199,0,29,3, - 0,31,3,128,30,3,128,30,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,159, - 240,17,28,84,21,2,1,56,0,0,60,0,0,30,0,0, - 14,0,0,3,0,0,1,128,0,0,128,0,0,0,0,0, - 0,0,3,224,0,12,56,0,24,28,0,56,14,0,112,14, - 0,112,7,0,240,7,0,240,7,0,240,7,128,240,7,128, - 240,7,128,240,7,0,240,7,0,112,7,0,112,14,0,56, - 14,0,24,28,0,12,56,0,3,224,0,17,28,84,21,2, - 1,0,28,0,0,28,0,0,56,0,0,112,0,0,96,0, - 0,192,0,1,128,0,0,0,0,0,0,0,3,224,0,12, - 56,0,24,28,0,56,14,0,112,14,0,112,7,0,240,7, - 0,240,7,0,240,7,128,240,7,128,240,7,128,240,7,0, - 240,7,0,112,7,0,112,14,0,56,14,0,24,28,0,12, - 56,0,3,224,0,17,28,84,21,2,0,1,128,0,1,192, - 0,3,192,0,3,96,0,6,32,0,12,16,0,16,12,0, - 0,0,0,0,0,0,3,224,0,12,56,0,24,28,0,56, - 14,0,112,14,0,112,7,0,240,7,0,240,7,0,240,7, - 128,240,7,128,240,7,128,240,7,0,240,7,0,112,7,0, - 112,14,0,56,14,0,24,28,0,12,56,0,3,224,0,17, - 27,81,21,2,0,15,4,0,31,204,0,19,248,0,16,240, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,224,0, - 12,56,0,24,28,0,56,14,0,112,14,0,112,7,0,240, - 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, - 0,240,7,0,112,7,0,112,14,0,56,14,0,24,28,0, - 12,56,0,3,224,0,17,27,81,21,2,0,24,24,0,60, - 60,0,60,60,0,24,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,35,26,130, - 39,2,254,0,0,224,0,0,0,1,240,0,0,0,1,240, - 0,0,0,1,240,0,0,0,0,224,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,255,255,224,255,255,255,255,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0, - 0,0,1,240,0,0,0,1,240,0,0,0,1,240,0,0, - 0,0,224,0,0,17,19,57,21,2,0,3,225,0,12,59, - 0,24,30,0,56,14,0,112,14,0,112,31,0,240,55,0, - 240,103,0,240,199,128,240,135,128,241,7,128,242,7,0,244, - 7,0,124,7,0,120,14,0,56,14,0,120,28,0,76,56, - 0,131,224,0,20,28,84,22,1,1,14,0,0,15,0,0, - 7,0,0,3,128,0,1,192,0,0,64,0,0,32,0,0, - 0,0,0,0,0,252,31,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,7,128,28, - 7,128,28,15,128,12,11,128,14,51,128,3,195,240,20,28, - 84,22,1,1,0,7,0,0,15,0,0,30,0,0,24,0, - 0,48,0,0,96,0,0,64,0,0,0,0,0,0,0,252, - 31,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,7,128,28,7,128,28,15,128,12, - 11,128,14,51,128,3,195,240,20,28,84,22,1,0,0,96, - 0,0,224,0,0,240,0,1,176,0,3,24,0,2,4,0, - 4,2,0,0,0,0,0,0,0,252,31,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,128,28,15,128,12,11,128,14,51,128,3, - 195,240,20,27,81,22,1,0,6,6,0,15,15,0,15,15, - 0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0, - 252,15,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,7,128,28,7,128,28,15,128, - 12,11,128,14,51,128,3,195,240,20,37,111,22,1,248,0, - 3,0,0,7,0,0,15,0,0,28,0,0,24,0,0,48, - 0,0,0,0,0,0,0,0,0,0,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,18,38, - 114,21,1,246,12,0,0,60,0,0,252,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 30,0,28,127,0,28,199,128,29,3,128,31,3,192,30,3, - 192,30,3,128,28,3,128,28,3,128,28,7,0,28,7,0, - 28,6,0,28,12,0,28,28,0,28,24,0,28,48,0,28, - 192,0,29,128,0,30,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 56,0,0,192,0,0,19,36,108,21,1,247,3,6,0,7, - 143,0,7,143,0,3,6,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,143,224,30,3,128,30,1,0,14,3,0, - 14,2,0,7,2,0,7,2,0,7,6,0,3,132,0,3, - 132,0,3,140,0,1,200,0,1,200,0,1,200,0,0,240, - 0,0,240,0,0,240,0,0,96,0,0,96,0,0,96,0, - 0,64,0,0,64,0,48,64,0,120,64,0,120,128,0,121, - 128,0,59,0,0,30,0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 28 - Calculated Max Values w=35 h=38 x= 5 y=11 dx=39 dy= 0 ascent=30 len=170 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =28 descent= 0 - X Font ascent =28 descent= 0 - Max Font ascent =30 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29n[1226] U8G_FONT_SECTION("u8g_font_osr29n") = { - 0,107,51,223,244,28,0,0,0,0,42,58,0,30,248,28, - 0,15,17,34,21,3,11,3,128,3,192,3,128,3,128,225, - 142,241,30,249,62,29,112,3,192,3,192,29,120,249,62,241, - 30,227,142,3,128,3,192,3,128,35,34,170,39,2,250,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,255, - 255,255,255,224,255,255,255,255,224,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,5,12,12,11,3,249,112, - 240,248,248,24,8,8,16,16,32,32,64,10,2,4,14,2, - 9,255,192,255,192,5,5,5,11,3,0,112,248,248,248,112, - 14,38,76,18,2,248,0,12,0,12,0,12,0,8,0,24, - 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,64, - 0,192,0,192,0,128,1,128,1,128,1,0,3,0,3,0, - 2,0,6,0,6,0,4,0,12,0,12,0,8,0,24,0, - 24,0,16,0,48,0,48,0,32,0,96,0,96,0,64,0, - 192,0,20,28,84,24,2,0,1,248,0,7,12,0,12,7, - 0,28,3,128,24,1,128,56,1,192,56,1,192,112,0,224, - 112,0,224,112,0,224,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,112,0,224,112,0,224,112,0,224,56,1,192,56,1,192, - 24,1,128,12,3,0,6,6,0,3,252,0,14,28,56,24, - 5,0,1,128,1,128,3,128,7,128,255,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,255,252,17,28,84,24,3,0, - 7,224,0,24,60,0,32,30,0,64,15,0,192,15,0,192, - 7,128,192,7,128,240,7,128,252,7,128,252,7,128,124,7, - 128,24,15,0,0,14,0,0,28,0,0,56,0,0,112,0, - 0,224,0,1,192,0,3,0,0,6,0,0,12,0,128,24, - 0,128,48,0,128,48,1,128,112,1,128,127,255,128,127,255, - 128,127,255,128,17,28,84,24,3,0,15,224,0,48,56,0, - 96,28,0,96,14,0,240,15,0,248,15,0,248,15,0,120, - 15,0,0,15,0,0,15,0,0,14,0,0,28,0,28,56, - 0,31,224,0,0,60,0,0,30,0,0,15,0,0,7,0, - 0,7,128,0,7,128,120,7,128,248,7,128,248,7,128,248, - 7,0,192,15,0,192,14,0,96,28,0,31,240,0,19,28, - 84,24,2,0,0,12,0,0,12,0,0,28,0,0,60,0, - 0,60,0,0,124,0,0,252,0,0,252,0,1,188,0,3, - 60,0,3,60,0,6,60,0,12,60,0,12,60,0,24,60, - 0,48,60,0,32,60,0,96,60,0,192,60,0,255,255,224, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,7,255,224,17,29,87,24,4,0,0,2, - 0,120,12,0,127,248,0,127,240,0,111,192,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,104, - 60,0,112,30,0,96,14,0,96,15,0,96,7,0,0,7, - 128,0,7,128,0,7,128,16,7,128,120,7,128,252,7,128, - 252,7,128,248,15,0,224,15,0,224,14,0,96,28,0,48, - 56,0,31,240,0,17,28,84,24,3,0,1,248,0,3,12, - 0,12,6,0,28,7,0,24,15,0,56,31,0,48,31,0, - 112,14,0,112,0,0,112,0,0,240,0,0,241,240,0,246, - 28,0,252,14,0,248,7,0,248,7,0,240,7,128,240,7, - 128,240,7,128,240,7,128,112,7,128,112,7,128,112,7,0, - 48,7,0,56,7,0,24,14,0,12,28,0,7,248,0,16, - 28,56,24,4,0,255,255,255,255,255,255,192,3,128,2,128, - 2,128,6,128,4,0,12,0,8,0,24,0,48,0,32,0, - 96,0,192,0,192,1,128,3,128,3,128,7,128,7,128,7, - 128,15,192,15,192,15,192,15,192,15,192,7,192,20,28,84, - 24,2,0,3,248,0,14,14,0,56,7,0,112,3,128,112, - 1,192,240,1,192,240,1,192,240,1,192,240,1,192,248,1, - 128,126,3,128,127,131,0,63,252,0,15,252,0,7,255,0, - 24,127,192,48,15,224,112,3,224,224,1,240,224,0,240,224, - 0,240,224,0,224,224,0,224,224,0,224,112,1,192,48,1, - 128,28,7,0,15,252,0,17,28,84,24,3,0,7,224,0, - 12,56,0,56,12,0,56,14,0,112,14,0,112,7,0,240, - 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, - 128,112,15,128,112,15,128,56,27,128,28,51,128,7,199,128, - 0,7,128,0,7,0,0,7,0,56,7,0,124,7,0,124, - 14,0,120,14,0,112,12,0,112,24,0,48,48,0,31,224, - 0,5,19,19,11,3,0,112,248,248,248,112,0,0,0,0, - 0,0,0,0,0,112,248,248,248,112}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=41 h=38 x= 5 y=22 dx=44 dy= 0 ascent=31 len=174 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =30 descent=-9 - Max Font ascent =31 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_FONT_SECTION("u8g_font_osr29r") = { - 0,107,51,223,244,29,9,148,21,166,32,127,247,31,247,30, - 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, - 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, - 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, - 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, - 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, - 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, - 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, - 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, - 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, - 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, - 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, - 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, - 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, - 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, - 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, - 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, - 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, - 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, - 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, - 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, - 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, - 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, - 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, - 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, - 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, - 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, - 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, - 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, - 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, - 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, - 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, - 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, - 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, - 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, - 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, - 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, - 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, - 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, - 30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227, - 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, - 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, - 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, - 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, - 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, - 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, - 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, - 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, - 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, - 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, - 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, - 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, - 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, - 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, - 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, - 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, - 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, - 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, - 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, - 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, - 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, - 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, - 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, - 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, - 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, - 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, - 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, - 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, - 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, - 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, - 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, - 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, - 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, - 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, - 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, - 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, - 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, - 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, - 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, - 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, - 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, - 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, - 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, - 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, - 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, - 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, - 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, - 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, - 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, - 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, - 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, - 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, - 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, - 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, - 0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248, - 248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124, - 12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0, - 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, - 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, - 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, - 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, - 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, - 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, - 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, - 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, - 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, - 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, - 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, - 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, - 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, - 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, - 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, - 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, - 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, - 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, - 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, - 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, - 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, - 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, - 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, - 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, - 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, - 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, - 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, - 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, - 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, - 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, - 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, - 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, - 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, - 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, - 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, - 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, - 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, - 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, - 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, - 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, - 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, - 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, - 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, - 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, - 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, - 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, - 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, - 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, - 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, - 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, - 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, - 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, - 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, - 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, - 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, - 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, - 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, - 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, - 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, - 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, - 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, - 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, - 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, - 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, - 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, - 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, - 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, - 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, - 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, - 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, - 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, - 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, - 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, - 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, - 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, - 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, - 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, - 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, - 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, - 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, - 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, - 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, - 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, - 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, - 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, - 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, - 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, - 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, - 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, - 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, - 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, - 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, - 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, - 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, - 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, - 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, - 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, - 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, - 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, - 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, - 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, - 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, - 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, - 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, - 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, - 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, - 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, - 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, - 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, - 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, - 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, - 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, - 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, - 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, - 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, - 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, - 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, - 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, - 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, - 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, - 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, - 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, - 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, - 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, - 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, - 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, - 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, - 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, - 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, - 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, - 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, - 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, - 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, - 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, - 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, - 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, - 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, - 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, - 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, - 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, - 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, - 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, - 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, - 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, - 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, - 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, - 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, - 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, - 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, - 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, - 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, - 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, - 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, - 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, - 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, - 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, - 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, - 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, - 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, - 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, - 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, - 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, - 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, - 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, - 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, - 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, - 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, - 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, - 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, - 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, - 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, - 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, - 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, - 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, - 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, - 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, - 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, - 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, - 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, - 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, - 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, - 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, - 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, - 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, - 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, - 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, - 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, - 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, - 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, - 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, - 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, - 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, - 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, - 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, - 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, - 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, - 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, - 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, - 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, - 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, - 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, - 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, - 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, - 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, - 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, - 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, - 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, - 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, - 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, - 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, - 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, - 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, - 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, - 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, - 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, - 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, - 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, - 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, - 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, - 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, - 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, - 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, - 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, - 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, - 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, - 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, - 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, - 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, - 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, - 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, - 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, - 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, - 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, - 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, - 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, - 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, - 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, - 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, - 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, - 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, - 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, - 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, - 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, - 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, - 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, - 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, - 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, - 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, - 252,96,1,248,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=47 x=10 y=28 dx=52 dy= 0 ascent=47 len=252 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x=-2 y=-13 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =36 descent=-10 - Max Font ascent =47 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_FONT_SECTION("u8g_font_osr35") = { - 0,128,62,216,241,35,12,236,30,116,32,255,246,47,243,36, - 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, - 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, - 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, - 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, - 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, - 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, - 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, - 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, - 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, - 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, - 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, - 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, - 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, - 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, - 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, - 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, - 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, - 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, - 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, - 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, - 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, - 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, - 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, - 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, - 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, - 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, - 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, - 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, - 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, - 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, - 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, - 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, - 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, - 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, - 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, - 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, - 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, - 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, - 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, - 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, - 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, - 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, - 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, - 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, - 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, - 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, - 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, - 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, - 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, - 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, - 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, - 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, - 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, - 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, - 0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240, - 135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240, - 0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128, - 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, - 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, - 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, - 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, - 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, - 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, - 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, - 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, - 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, - 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, - 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, - 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, - 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, - 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, - 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, - 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, - 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, - 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, - 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, - 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, - 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, - 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, - 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, - 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, - 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, - 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, - 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, - 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, - 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, - 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, - 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, - 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, - 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, - 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, - 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, - 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, - 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, - 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, - 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, - 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, - 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, - 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, - 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, - 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, - 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, - 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, - 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, - 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, - 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, - 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, - 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, - 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, - 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, - 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, - 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, - 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, - 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, - 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, - 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, - 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, - 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, - 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, - 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, - 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, - 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, - 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, - 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, - 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, - 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, - 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, - 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, - 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, - 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, - 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, - 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, - 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, - 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, - 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, - 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, - 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, - 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, - 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, - 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, - 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, - 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, - 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, - 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, - 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, - 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, - 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, - 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, - 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, - 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, - 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, - 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, - 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, - 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, - 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, - 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, - 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, - 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, - 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, - 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, - 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, - 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, - 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, - 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, - 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, - 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, - 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, - 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, - 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, - 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, - 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, - 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, - 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, - 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, - 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, - 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, - 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, - 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, - 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, - 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, - 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, - 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, - 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, - 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, - 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, - 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, - 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, - 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, - 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, - 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, - 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, - 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, - 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, - 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, - 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, - 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, - 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, - 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, - 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, - 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, - 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, - 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, - 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, - 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, - 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, - 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, - 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, - 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, - 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, - 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, - 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, - 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, - 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, - 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, - 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, - 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, - 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, - 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, - 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, - 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, - 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, - 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, - 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, - 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, - 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, - 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, - 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, - 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, - 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, - 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, - 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, - 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, - 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, - 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, - 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, - 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, - 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, - 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, - 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, - 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, - 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, - 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, - 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, - 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, - 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, - 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, - 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, - 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, - 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, - 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, - 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, - 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, - 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, - 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, - 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, - 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, - 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, - 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, - 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, - 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, - 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, - 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, - 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, - 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, - 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, - 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, - 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, - 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, - 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, - 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, - 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, - 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, - 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, - 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, - 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, - 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, - 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, - 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, - 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, - 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, - 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, - 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, - 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, - 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, - 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, - 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, - 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, - 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, - 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, - 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, - 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, - 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, - 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, - 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, - 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, - 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, - 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, - 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, - 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, - 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, - 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, - 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, - 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, - 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, - 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, - 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, - 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, - 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, - 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, - 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, - 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, - 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, - 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, - 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, - 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, - 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, - 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, - 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, - 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, - 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, - 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, - 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, - 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, - 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, - 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, - 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, - 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, - 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, - 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, - 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, - 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, - 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, - 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, - 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, - 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, - 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, - 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, - 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, - 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, - 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, - 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, - 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, - 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, - 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, - 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, - 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, - 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, - 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, - 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, - 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, - 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, - 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, - 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, - 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, - 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, - 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, - 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, - 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, - 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, - 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, - 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, - 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, - 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, - 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, - 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, - 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, - 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, - 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, - 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, - 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, - 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, - 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, - 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, - 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, - 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, - 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, - 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, - 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, - 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, - 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, - 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, - 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, - 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, - 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, - 48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0, - 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, - 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, - 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, - 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, - 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, - 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, - 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, - 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, - 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, - 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, - 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, - 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, - 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, - 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, - 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, - 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, - 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, - 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, - 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, - 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, - 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, - 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, - 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, - 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, - 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, - 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, - 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, - 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, - 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, - 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, - 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, - 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, - 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, - 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, - 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, - 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, - 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, - 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, - 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, - 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, - 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, - 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, - 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, - 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, - 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, - 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, - 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, - 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, - 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, - 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, - 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, - 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, - 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, - 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, - 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, - 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, - 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, - 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, - 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, - 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, - 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, - 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, - 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, - 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, - 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, - 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, - 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, - 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, - 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, - 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, - 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, - 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, - 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, - 31,128,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,14,0,0,6,33,33,14,4,246,120, - 252,252,252,120,0,0,48,48,48,48,48,48,48,48,48,48, - 48,120,120,120,120,120,120,248,252,252,252,252,252,252,252,120, - 17,34,102,28,5,250,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,7,252,0,14,198,0,28,195, - 0,56,195,128,120,195,128,120,207,128,120,207,128,248,207,128, - 240,199,0,240,192,0,240,192,0,240,192,0,240,192,0,240, - 192,0,248,192,128,120,192,128,120,192,128,120,193,128,56,193, - 0,28,195,0,14,198,0,7,252,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,28,34,136,35, - 3,0,0,0,126,0,0,1,227,128,0,3,128,192,0,7, - 0,192,0,14,0,224,0,14,1,224,0,28,3,224,0,28, - 3,224,0,60,3,192,0,60,0,128,0,60,0,0,0,60, - 0,0,0,60,0,0,0,60,0,0,0,60,0,0,31,252, - 0,0,0,127,248,0,0,124,0,0,0,124,0,0,0,60, - 0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60, - 0,0,0,56,0,0,0,56,0,16,62,56,0,32,99,240, - 0,32,193,240,0,96,128,120,0,64,128,254,0,192,128,159, - 255,128,193,7,255,0,126,1,254,0,24,24,72,28,2,5, - 64,0,2,224,126,7,115,255,206,63,129,252,30,0,120,28, - 0,56,56,0,24,48,0,12,48,0,12,96,0,6,96,0, - 6,96,0,6,96,0,6,96,0,6,96,0,6,112,0,12, - 48,0,12,56,0,28,28,0,56,30,0,120,63,129,252,115, - 255,206,224,126,7,64,0,2,27,33,132,29,1,0,255,224, - 127,224,31,0,15,0,15,0,6,0,15,128,6,0,7,128, - 12,0,7,192,12,0,3,192,24,0,3,224,24,0,1,224, - 48,0,1,240,32,0,0,240,96,0,0,248,64,0,0,248, - 192,0,0,124,128,0,0,125,128,0,0,63,0,0,0,63, - 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, - 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,31,0,0,3,255, - 240,0,2,44,44,14,6,248,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,18,43,129,31,5,247,1,240,0,6,24,0, - 12,12,0,24,30,0,56,62,0,56,62,0,56,62,0,56, - 8,0,60,0,0,30,0,0,31,0,0,15,128,0,7,192, - 0,15,224,0,25,240,0,48,252,0,96,126,0,64,63,0, - 192,15,128,192,7,128,192,3,192,224,1,192,240,0,192,120, - 0,192,124,0,192,62,0,128,31,1,128,15,131,0,7,198, - 0,3,248,0,1,240,0,0,248,0,0,124,0,0,60,0, - 0,30,0,0,14,0,30,14,0,62,14,0,62,14,0,60, - 12,0,24,28,0,12,56,0,7,224,0,14,5,10,22,4, - 27,112,56,248,124,248,124,248,124,112,56,35,36,180,40,3, - 0,0,7,252,0,0,0,60,7,128,0,0,224,0,192,0, - 1,128,0,48,0,3,0,0,24,0,4,0,0,12,0,8, - 0,0,6,0,24,1,240,131,0,48,7,28,129,0,32,30, - 7,128,128,96,28,3,128,128,64,56,1,128,64,64,120,1, - 128,64,192,120,0,128,64,128,120,0,128,96,128,248,0,0, - 32,128,240,0,0,32,128,240,0,0,32,128,240,0,0,32, - 128,240,0,0,32,128,240,0,0,32,128,240,0,0,32,128, - 248,0,128,96,64,120,0,128,64,64,120,0,128,64,96,56, - 1,128,192,32,60,1,0,128,48,30,3,1,128,16,15,14, - 3,0,24,3,248,2,0,12,0,0,6,0,6,0,0,12, - 0,3,128,0,56,0,0,192,0,96,0,0,120,3,192,0, - 0,31,254,0,0,13,17,34,19,3,17,62,0,99,0,193, - 128,225,128,225,128,3,128,13,128,49,128,113,128,225,128,225, - 136,225,136,247,152,120,240,0,0,0,0,255,240,13,19,38, - 23,5,1,4,0,12,24,24,48,48,32,112,96,96,96,96, - 192,224,192,224,192,224,192,224,192,224,192,224,192,96,192,112, - 96,48,96,56,48,24,16,12,0,23,10,30,29,3,8,255, - 255,254,255,255,254,0,0,6,0,0,6,0,0,6,0,0, - 6,0,0,6,0,0,6,0,0,6,0,0,6,12,3,6, - 18,3,11,255,240,255,240,255,240,35,36,180,40,3,0,0, - 7,252,0,0,0,60,7,128,0,0,224,0,192,0,1,128, - 0,48,0,3,0,0,24,0,4,0,0,12,0,8,0,0, - 6,0,25,255,248,3,0,48,60,30,1,0,32,60,15,0, - 128,96,60,7,128,128,64,60,7,128,64,64,60,7,128,64, - 192,60,7,128,64,128,60,7,128,96,128,60,15,0,32,128, - 60,30,0,32,128,63,240,0,32,128,60,28,0,32,128,60, - 14,0,32,128,60,7,0,32,128,60,7,0,32,128,60,7, - 128,96,64,60,7,128,64,64,60,7,132,64,64,60,7,132, - 192,32,60,7,136,128,48,60,3,201,128,17,255,129,241,0, - 24,0,0,2,0,12,0,0,6,0,6,0,0,12,0,3, - 0,0,24,0,0,192,0,96,0,0,112,1,192,0,0,31, - 254,0,0,13,2,4,21,4,28,255,248,255,248,14,13,26, - 29,8,21,15,192,56,96,112,48,96,24,192,8,192,12,192, - 12,192,12,192,12,96,24,96,24,56,112,15,192,41,34,204, - 45,2,254,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,255,255,255,255,255,128,255,255,255,255,255,128,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,255,255,255,255,128,255,255,255,255,255,128,14, - 21,42,22,4,13,15,192,49,240,96,120,192,124,192,60,224, - 60,248,60,120,60,48,120,0,112,0,224,1,192,3,128,6, - 0,12,0,48,4,32,4,96,12,127,248,255,248,255,248,14, - 21,42,22,5,13,15,192,56,224,96,112,96,56,112,56,120, - 56,48,56,0,112,0,224,63,128,56,224,0,120,0,56,0, - 60,112,60,248,60,240,60,192,56,192,120,96,240,31,192,8, - 9,9,22,10,25,7,15,15,30,60,48,96,192,128,25,36, - 144,29,3,243,112,1,192,0,240,3,192,0,240,3,224,0, - 240,3,224,0,240,3,224,0,240,3,224,0,240,3,224,0, - 240,3,224,0,240,3,224,0,240,3,224,0,224,3,224,0, - 224,1,192,0,224,1,192,0,96,1,192,0,96,1,192,0, - 96,1,192,0,96,1,128,0,96,3,129,128,112,7,193,128, - 88,15,127,128,79,254,63,128,67,252,31,0,64,0,0,0, - 192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0, - 192,0,0,0,224,0,0,0,224,0,0,0,240,0,0,0, - 240,0,0,0,240,0,0,0,248,0,0,0,120,0,0,0, - 120,0,0,0,20,42,126,26,3,249,7,255,240,31,193,128, - 63,193,128,127,193,128,127,193,128,255,193,128,255,193,128,255, - 193,128,255,193,128,255,193,128,255,193,128,127,193,128,127,193, - 128,63,193,128,15,193,128,0,193,128,0,193,128,0,193,128, - 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, - 193,128,0,193,128,0,193,128,0,193,128,0,193,128,0,193, - 128,0,193,128,0,193,128,0,193,128,0,193,128,0,193,128, - 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, - 193,128,0,193,128,0,193,128,6,6,6,14,4,12,120,252, - 252,252,252,120,10,10,20,21,5,246,8,0,8,0,24,0, - 15,0,3,128,1,192,1,192,1,192,195,128,63,0,11,20, - 40,21,5,14,2,0,6,0,14,0,254,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,255,224,12,17,34,18, - 3,17,15,0,57,192,112,192,96,224,224,96,224,112,224,112, - 224,112,224,112,224,112,96,96,112,224,49,192,31,0,0,0, - 0,0,255,240,13,19,38,23,5,1,1,0,193,128,96,192, - 32,96,48,112,48,48,24,48,24,56,24,56,24,56,24,56, - 24,56,24,56,24,48,48,112,48,96,96,224,64,192,1,128, - 33,35,175,42,5,255,2,0,0,96,0,6,0,0,64,0, - 14,0,0,192,0,254,0,1,128,0,14,0,1,0,0,14, - 0,3,0,0,14,0,2,0,0,14,0,6,0,0,14,0, - 12,0,0,14,0,8,0,0,14,0,24,0,0,14,0,16, - 0,0,14,0,48,0,0,14,0,96,0,0,14,0,96,56, - 0,14,0,192,120,0,14,0,128,120,0,14,1,128,248,0, - 14,3,0,184,0,255,227,1,56,0,0,6,1,56,0,0, - 4,2,56,0,0,12,2,56,0,0,8,4,56,0,0,24, - 12,56,0,0,48,8,56,0,0,32,24,56,0,0,96,31, - 255,128,0,64,0,56,0,0,192,0,56,0,1,128,0,56, - 0,1,128,0,56,0,3,0,0,56,0,2,0,1,255,128, - 6,0,0,0,0,33,35,175,42,5,255,2,0,0,96,0, - 6,0,0,64,0,6,0,0,192,0,14,0,1,128,0,254, - 0,1,128,0,14,0,3,0,0,14,0,2,0,0,14,0, - 6,0,0,14,0,4,0,0,14,0,12,0,0,14,0,24, - 0,0,14,0,16,0,0,14,0,48,0,0,14,0,33,248, - 0,14,0,102,62,0,14,0,204,15,0,14,0,152,15,128, - 14,1,152,7,128,14,1,24,7,128,255,227,31,7,128,0, - 6,31,7,128,0,4,15,7,0,0,12,0,14,0,0,8, - 0,28,0,0,24,0,56,0,0,48,0,112,0,0,48,0, - 192,0,0,96,1,128,0,0,64,2,0,128,0,192,4,0, - 128,1,128,12,1,128,1,128,15,255,0,3,0,15,255,0, - 2,0,31,255,0,6,0,0,0,0,33,35,175,42,5,255, - 15,192,0,48,0,56,224,0,96,0,96,112,0,96,0,96, - 56,0,192,0,112,56,0,128,0,120,56,1,128,0,48,56, - 3,0,0,0,112,3,0,0,0,224,6,0,0,63,128,4, - 0,0,56,224,12,0,0,0,120,24,0,0,0,56,24,0, - 0,0,60,48,0,0,112,60,32,28,0,248,60,96,28,0, - 240,60,192,60,0,192,120,192,92,0,96,241,128,92,0,63, - 193,0,156,0,0,3,1,156,0,0,6,1,28,0,0,6, - 2,28,0,0,12,6,28,0,0,8,4,28,0,0,24,8, - 28,0,0,48,24,28,0,0,48,31,255,128,0,96,0,28, - 0,0,64,0,28,0,0,192,0,28,0,1,128,0,28,0, - 1,128,0,28,0,3,0,1,255,128,2,0,0,0,0,18, - 33,99,24,2,246,1,224,0,3,240,0,3,240,0,3,240, - 0,1,224,0,0,0,0,0,0,0,1,224,0,2,48,0, - 4,24,0,4,24,0,4,24,0,4,24,0,0,48,0,0, - 112,0,0,224,0,1,192,0,7,128,0,15,0,0,30,0, - 0,60,0,0,124,0,0,120,15,0,248,31,128,240,31,192, - 240,15,192,240,0,192,240,0,192,120,0,192,120,1,128,60, - 3,0,15,14,0,3,248,0,34,46,230,37,2,0,0,56, - 0,0,0,0,60,0,0,0,0,60,0,0,0,0,30,0, - 0,0,0,15,0,0,0,0,3,128,0,0,0,1,128,0, - 0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,224,0,0,0,1,224,0,0,0,1,224,0,0,0,3, - 240,0,0,0,3,240,0,0,0,3,240,0,0,0,6,248, - 0,0,0,6,248,0,0,0,6,248,0,0,0,12,124,0, - 0,0,12,124,0,0,0,12,124,0,0,0,24,62,0,0, - 0,24,62,0,0,0,24,30,0,0,0,48,31,0,0,0, - 48,31,0,0,0,48,15,0,0,0,96,15,128,0,0,96, - 15,128,0,0,96,7,128,0,0,255,255,192,0,0,255,255, - 192,0,0,192,3,192,0,1,128,3,224,0,1,128,3,224, - 0,3,128,1,224,0,3,0,1,240,0,3,0,1,240,0, - 7,0,0,240,0,7,0,0,248,0,31,128,1,252,0,255, - 248,31,255,192,34,46,230,37,2,0,0,0,7,0,0,0, - 0,15,0,0,0,0,15,0,0,0,0,30,0,0,0,0, - 60,0,0,0,0,48,0,0,0,0,96,0,0,0,0,192, - 0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,3,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,6,248,0,0,0,6, - 248,0,0,0,6,248,0,0,0,12,124,0,0,0,12,124, - 0,0,0,12,124,0,0,0,24,62,0,0,0,24,62,0, - 0,0,24,30,0,0,0,48,31,0,0,0,48,31,0,0, - 0,48,15,0,0,0,96,15,128,0,0,96,15,128,0,0, - 224,7,128,0,0,255,255,192,0,0,255,255,192,0,1,192, - 3,192,0,1,128,3,224,0,1,128,3,224,0,3,128,1, - 224,0,3,0,1,240,0,3,0,1,240,0,7,0,0,240, - 0,15,128,0,248,0,255,248,31,255,192,255,248,31,255,192, - 34,45,225,37,2,0,0,0,192,0,0,0,1,224,0,0, - 0,3,240,0,0,0,7,56,0,0,0,14,28,0,0,0, - 28,14,0,0,0,48,3,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,3,240,0,0,0,3,240,0,0,0,3,240,0,0, - 0,6,248,0,0,0,6,248,0,0,0,6,248,0,0,0, - 12,124,0,0,0,12,124,0,0,0,12,124,0,0,0,24, - 62,0,0,0,24,62,0,0,0,24,30,0,0,0,48,31, - 0,0,0,48,31,0,0,0,48,15,0,0,0,96,15,128, - 0,0,96,15,128,0,0,96,7,128,0,0,255,255,192,0, - 0,255,255,192,0,0,192,3,192,0,1,128,3,224,0,1, - 128,3,224,0,3,128,1,224,0,3,0,1,240,0,3,0, - 1,240,0,7,0,0,240,0,7,0,0,248,0,31,128,1, - 252,0,255,248,31,255,192,34,45,225,37,2,0,0,15,0, - 128,0,0,31,225,128,0,0,63,255,0,0,0,33,255,0, - 0,0,32,62,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,192,0,0,0,0,192,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,6,248,0,0,0,6,248,0, - 0,0,6,248,0,0,0,12,124,0,0,0,12,124,0,0, - 0,12,124,0,0,0,24,62,0,0,0,24,62,0,0,0, - 24,30,0,0,0,48,31,0,0,0,48,31,0,0,0,112, - 15,0,0,0,96,15,128,0,0,96,15,128,0,0,224,7, - 128,0,0,255,255,192,0,0,255,255,192,0,1,192,3,192, - 0,1,128,3,224,0,1,128,3,224,0,3,128,1,224,0, - 3,0,1,240,0,3,0,1,240,0,7,0,0,240,0,15, - 128,0,248,0,255,248,31,255,192,255,248,31,255,192,34,44, - 220,37,2,0,0,28,7,0,0,0,62,15,128,0,0,62, - 15,128,0,0,62,15,128,0,0,28,7,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,64,0,0,0,0,192,0,0,0,0,224,0,0, - 0,0,224,0,0,0,1,224,0,0,0,1,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,3,248,0,0,0,7, - 248,0,0,0,6,120,0,0,0,6,124,0,0,0,14,60, - 0,0,0,12,60,0,0,0,12,62,0,0,0,28,30,0, - 0,0,24,30,0,0,0,24,31,0,0,0,48,15,0,0, - 0,48,15,0,0,0,112,15,128,0,0,96,7,128,0,0, - 96,7,128,0,0,255,255,192,0,0,255,255,192,0,0,192, - 3,192,0,1,192,3,224,0,1,192,1,224,0,1,128,1, - 224,0,3,128,1,240,0,3,128,0,240,0,7,128,0,240, - 0,7,128,0,248,0,31,192,1,252,0,255,248,31,255,192, - 34,47,235,37,2,0,0,1,224,0,0,0,6,24,0,0, - 0,4,8,0,0,0,8,4,0,0,0,8,4,0,0,0, - 8,4,0,0,0,8,4,0,0,0,4,8,0,0,0,6, - 24,0,0,0,3,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,7,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,1, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,44,35,210,48,1,0,0,0,127,255,255,240,0,0,15, - 224,3,240,0,0,15,192,0,240,0,0,15,192,0,112,0, - 0,15,192,0,112,0,0,27,192,0,48,0,0,27,192,0, - 48,0,0,51,192,0,48,0,0,51,192,0,16,0,0,99, - 192,0,16,0,0,99,192,16,16,0,0,195,192,16,16,0, - 1,195,192,16,0,0,1,131,192,48,0,0,3,131,192,48, - 0,0,3,3,192,48,0,0,7,3,192,112,0,0,6,3, - 255,240,0,0,14,3,192,240,0,0,12,3,192,48,0,0, - 24,3,192,48,0,0,24,3,192,16,0,0,48,3,192,16, - 16,0,63,255,192,16,16,0,96,3,192,16,16,0,96,3, - 192,0,16,0,192,3,192,0,16,0,192,3,192,0,48,1, - 128,3,192,0,48,1,128,3,192,0,112,3,128,3,192,0, - 112,7,128,3,192,0,240,15,128,3,192,1,240,255,248,127, - 255,255,240,255,248,127,255,255,240,26,47,188,32,3,245,0, - 63,0,128,0,225,225,128,3,128,113,128,7,0,63,128,14, - 0,31,128,30,0,15,128,28,0,7,128,60,0,7,128,60, - 0,3,128,124,0,3,128,120,0,1,128,120,0,1,128,120, - 0,0,128,248,0,0,128,248,0,0,0,248,0,0,0,248, - 0,0,0,248,0,0,0,248,0,0,0,248,0,0,0,248, - 0,0,0,248,0,0,0,248,0,0,0,120,0,0,192,120, - 0,0,192,120,0,0,192,124,0,0,192,60,0,0,128,60, - 0,1,128,28,0,1,128,30,0,3,0,14,0,3,0,7, - 0,6,0,3,128,12,0,1,192,56,0,0,127,224,0,0, - 8,0,0,0,8,0,0,0,28,0,0,0,15,128,0,0, - 3,192,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 129,224,0,0,199,192,0,0,63,0,0,28,46,184,34,3, - 0,0,224,0,0,0,240,0,0,0,240,0,0,0,120,0, - 0,0,60,0,0,0,14,0,0,0,6,0,0,0,3,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 240,255,255,255,240,7,128,1,240,7,128,0,240,7,128,0, - 112,7,128,0,112,7,128,0,48,7,128,0,48,7,128,0, - 48,7,128,0,16,7,128,32,16,7,128,32,16,7,128,32, - 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,224, - 0,7,255,224,0,7,129,224,0,7,128,96,0,7,128,96, - 0,7,128,96,0,7,128,32,16,7,128,32,16,7,128,32, - 16,7,128,0,16,7,128,0,48,7,128,0,48,7,128,0, - 48,7,128,0,112,7,128,0,112,7,128,0,240,7,128,1, - 240,255,255,255,240,255,255,255,240,28,46,184,34,3,0,0, - 0,28,0,0,0,60,0,0,0,60,0,0,0,120,0,0, - 0,240,0,0,0,192,0,0,1,128,0,0,3,0,0,0, - 2,0,0,0,0,0,0,0,0,0,0,255,255,255,240,255, - 255,255,240,7,128,1,240,7,128,0,240,7,128,0,112,7, - 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, - 128,96,0,7,128,96,0,7,128,96,0,7,128,224,0,7, - 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, - 128,96,0,7,128,32,16,7,128,32,16,7,128,32,16,7, - 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, - 255,255,240,255,255,255,240,28,45,180,34,3,0,0,3,0, - 0,0,7,128,0,0,15,192,0,0,12,224,0,0,24,112, - 0,0,112,24,0,0,192,12,0,0,0,2,0,0,0,0, - 0,0,0,0,0,255,255,255,240,255,255,255,240,7,128,1, - 240,7,128,0,240,7,128,0,112,7,128,0,112,7,128,0, - 48,7,128,0,48,7,128,0,48,7,128,0,16,7,128,32, - 16,7,128,32,16,7,128,32,0,7,128,96,0,7,128,96, - 0,7,128,96,0,7,128,224,0,7,255,224,0,7,129,224, - 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,32, - 16,7,128,32,16,7,128,32,16,7,128,0,16,7,128,0, - 48,7,128,0,48,7,128,0,48,7,128,0,112,7,128,0, - 112,7,128,0,240,7,128,1,240,255,255,255,240,255,255,255, - 240,28,44,176,34,3,0,0,112,28,0,0,248,62,0,0, - 248,62,0,0,248,62,0,0,112,28,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,255,255,240,7, - 192,7,240,7,128,1,240,7,128,0,240,7,128,0,112,7, - 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, - 128,32,0,7,128,96,0,7,128,96,0,7,128,224,0,7, - 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, - 128,32,0,7,128,32,16,7,128,32,16,7,128,32,16,7, - 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, - 255,255,240,255,255,255,240,14,46,92,19,3,0,224,0,240, - 0,240,0,120,0,60,0,12,0,6,0,3,0,1,0,0, - 0,0,0,255,252,255,252,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,15,128,255,252,14,46,92,19,3,0,0, - 28,0,60,0,60,0,120,0,240,0,192,1,128,3,0,0, - 0,0,0,0,0,255,252,255,252,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,192,255,252,14,45,90,19,3, - 0,3,0,7,128,7,192,14,192,24,96,112,56,192,12,0, - 0,0,0,0,0,255,252,7,192,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,255,252,255,252,15,44,88,20,3, - 0,112,28,248,62,248,62,248,62,112,28,0,0,0,0,0, - 0,0,0,127,254,7,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,7,192,127,254,32,35,140,38,4,0,255, - 255,248,0,15,128,15,0,7,128,3,128,7,128,1,192,7, - 128,0,224,7,128,0,240,7,128,0,120,7,128,0,124,7, - 128,0,60,7,128,0,62,7,128,0,62,7,128,0,30,7, - 128,0,30,7,128,0,31,7,128,0,31,7,128,0,31,255, - 254,0,31,7,128,0,31,7,128,0,31,7,128,0,31,7, - 128,0,31,7,128,0,31,7,128,0,30,7,128,0,62,7, - 128,0,62,7,128,0,60,7,128,0,60,7,128,0,120,7, - 128,0,120,7,128,0,240,7,128,0,224,7,128,1,192,7, - 128,3,128,15,128,30,0,255,255,248,0,33,46,230,38,3, - 255,0,7,1,128,0,0,31,225,128,0,0,31,255,0,0, - 0,16,255,0,0,0,48,62,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,192,7,255,128,255,192,7,255,128,7,224,0, - 120,0,7,240,0,48,0,7,240,0,48,0,7,248,0,48, - 0,6,248,0,48,0,6,252,0,48,0,6,126,0,48,0, - 6,62,0,48,0,6,63,0,48,0,6,31,0,48,0,6, - 15,128,48,0,6,15,192,48,0,6,7,192,48,0,6,7, - 224,48,0,6,3,224,48,0,6,1,240,48,0,6,1,248, - 48,0,6,0,248,48,0,6,0,252,48,0,6,0,124,48, - 0,6,0,62,48,0,6,0,63,48,0,6,0,31,48,0, - 6,0,15,176,0,6,0,15,176,0,6,0,7,240,0,6, - 0,7,240,0,6,0,3,240,0,6,0,1,240,0,6,0, - 1,240,0,15,0,0,240,0,31,128,0,240,0,255,240,0, - 112,0,0,0,0,48,0,28,46,184,33,3,1,1,192,0, - 0,1,224,0,0,1,240,0,0,0,112,0,0,0,56,0, - 0,0,28,0,0,0,12,0,0,0,6,0,0,0,0,0, - 0,0,0,0,0,0,31,128,0,0,255,240,0,1,192,56, - 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, - 128,30,0,7,128,60,0,3,192,60,0,3,192,124,0,3, - 224,124,0,3,224,120,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,120,0,1,224,120,0,1,224,120,0,3,224,124,0,3, - 192,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, - 0,14,0,7,0,7,0,14,0,3,128,28,0,0,192,48, - 0,0,127,224,0,28,46,184,33,3,1,0,0,56,0,0, - 0,120,0,0,0,248,0,0,0,224,0,0,1,192,0,0, - 3,128,0,0,3,0,0,0,6,0,0,0,0,0,0,0, - 0,0,0,0,31,128,0,0,255,240,0,1,192,56,0,3, - 128,28,0,7,0,14,0,14,0,7,0,30,0,7,128,30, - 0,7,128,60,0,3,192,60,0,3,192,124,0,3,224,124, - 0,3,224,120,0,1,224,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,120, - 0,1,224,120,0,1,224,120,0,3,224,124,0,3,192,60, - 0,3,192,60,0,3,192,30,0,7,128,14,0,7,0,14, - 0,7,0,7,0,14,0,3,128,28,0,0,192,48,0,0, - 127,224,0,28,46,184,33,3,0,0,6,0,0,0,15,0, - 0,0,15,0,0,0,31,128,0,0,57,192,0,0,112,224, - 0,0,192,48,0,3,128,28,0,0,0,0,0,0,0,0, - 0,0,31,128,0,0,255,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,30,0,7, - 128,60,0,3,192,60,0,3,192,124,0,3,224,124,0,3, - 224,120,0,1,224,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,120,0,3,224,124,0,3,192,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,7, - 0,7,0,14,0,3,128,28,0,0,192,48,0,0,127,224, - 0,28,45,180,33,3,0,0,120,12,0,0,255,8,0,1, - 255,248,0,1,143,248,0,1,1,224,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,31,128,0,0, - 255,240,0,1,192,56,0,3,128,28,0,7,0,14,0,14, - 0,7,0,30,0,7,128,30,0,7,128,60,0,3,192,60, - 0,3,192,124,0,3,224,124,0,3,224,120,0,1,224,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,120,0,1,224,120,0,1,224,120, - 0,3,224,124,0,3,192,60,0,3,192,60,0,3,192,30, - 0,7,128,14,0,7,0,14,0,7,0,7,0,14,0,3, - 128,28,0,0,192,48,0,0,127,224,0,28,45,180,33,3, - 0,0,224,56,0,1,240,124,0,1,240,124,0,1,240,124, - 0,0,224,56,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,31,128,0,0,240,240,0,1,192,56, - 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, - 128,28,0,3,128,60,0,3,192,60,0,3,192,124,0,3, - 224,120,0,1,224,120,0,1,224,248,0,1,224,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,120,0,1,224,120,0,1,224,124,0,3,224,124,0,3, - 224,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, - 0,14,0,15,0,7,0,14,0,3,128,28,0,0,224,112, - 0,0,127,224,0,30,30,120,46,8,254,192,0,0,12,224, - 0,0,28,112,0,0,56,56,0,0,112,28,0,0,224,14, - 0,1,192,7,0,3,128,3,128,7,0,1,192,14,0,0, - 224,28,0,0,112,56,0,0,56,112,0,0,28,224,0,0, - 15,192,0,0,7,128,0,0,7,128,0,0,15,192,0,0, - 28,224,0,0,56,112,0,0,112,56,0,0,224,28,0,1, - 192,14,0,3,128,7,0,7,0,3,128,14,0,1,192,28, - 0,0,224,56,0,0,112,112,0,0,56,224,0,0,28,192, - 0,0,12,28,36,144,33,3,0,0,31,128,32,0,240,240, - 96,1,192,56,224,3,128,30,192,7,0,15,128,14,0,7, - 128,30,0,7,128,28,0,7,128,60,0,15,192,60,0,31, - 192,124,0,59,224,120,0,49,224,120,0,97,224,248,0,225, - 240,248,1,193,240,248,1,129,240,248,3,1,240,248,7,1, - 240,248,6,1,240,248,12,1,240,248,28,1,240,248,56,1, - 240,248,48,1,240,120,96,1,224,120,224,1,224,121,192,3, - 224,125,128,3,192,63,0,3,192,63,0,3,192,30,0,7, - 128,30,0,7,0,30,0,15,0,63,0,14,0,51,128,28, - 0,97,192,112,0,192,127,224,0,34,46,230,39,3,1,0, - 28,0,0,0,0,28,0,0,0,0,30,0,0,0,0,15, - 0,0,0,0,7,0,0,0,0,1,128,0,0,0,0,192, - 0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0, - 0,255,252,3,255,192,255,252,3,255,192,7,192,0,126,0, - 7,128,0,60,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,3,192,0, - 24,0,3,192,0,48,0,1,192,0,48,0,1,224,0,96, - 0,0,224,0,96,0,0,112,0,192,0,0,60,3,128,0, - 0,15,254,0,0,34,46,230,39,3,1,0,0,7,0,0, - 0,0,15,0,0,0,0,30,0,0,0,0,28,0,0,0, - 0,56,0,0,0,0,112,0,0,0,0,96,0,0,0,0, - 128,0,0,0,0,0,0,0,0,0,0,0,0,255,252,3, - 255,192,255,252,3,255,192,7,192,0,126,0,7,128,0,60, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,3,192,0,24,0,3,192, - 0,48,0,1,192,0,48,0,1,224,0,96,0,0,224,0, - 96,0,0,112,0,192,0,0,60,3,128,0,0,15,254,0, - 0,34,46,230,39,3,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,3,240,0,0,0,3,56,0,0, - 0,6,28,0,0,0,28,6,0,0,0,48,3,128,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,252, - 3,255,192,7,192,0,126,0,7,128,0,60,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,3,192,0,24,0,3,192,0,48,0,3, - 192,0,48,0,1,224,0,96,0,0,240,0,224,0,0,120, - 1,192,0,0,62,7,128,0,0,15,254,0,0,34,45,225, - 39,3,0,0,28,7,0,0,0,62,15,128,0,0,62,15, - 128,0,0,62,15,128,0,0,28,7,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,32,46,184,35,2,0,0,0,3,0,0,0, - 7,128,0,0,15,0,0,0,30,0,0,0,60,0,0,0, - 56,0,0,0,96,0,0,0,192,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,254,15,255,255,254,15,255,7,224, - 0,240,7,224,0,96,3,224,0,96,3,240,0,64,1,240, - 0,192,0,248,0,128,0,252,1,128,0,124,1,0,0,62, - 3,0,0,62,2,0,0,31,6,0,0,31,12,0,0,15, - 136,0,0,7,152,0,0,7,208,0,0,3,240,0,0,3, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,240,0,0,127, - 255,192,28,35,140,33,3,0,255,254,0,0,7,192,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,255,240,0,7,192,30,0,7,128,7,128,7,128,7,192, - 7,128,3,224,7,128,3,224,7,128,1,240,7,128,1,240, - 7,128,1,240,7,128,1,240,7,128,1,240,7,128,1,240, - 7,128,3,224,7,128,3,224,7,128,7,192,7,128,7,128, - 7,128,30,0,7,255,248,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,192,0,0, - 255,254,0,0,22,35,105,26,1,0,0,63,128,0,243,224, - 1,192,240,3,128,240,7,128,248,7,0,120,15,0,120,15, - 0,120,15,0,248,15,0,240,15,0,224,15,1,192,15,3, - 0,15,60,0,15,6,0,15,1,128,15,0,192,15,0,224, - 15,0,112,15,0,120,15,0,120,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,60,15,56, - 60,15,120,60,15,120,60,15,112,120,15,96,112,15,48,224, - 255,31,192,21,33,99,24,2,1,56,0,0,60,0,0,30, - 0,0,14,0,0,7,0,0,3,128,0,1,128,0,0,192, - 0,0,0,0,0,0,0,0,0,0,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,21,33,99,24, - 2,1,0,7,0,0,15,128,0,15,0,0,30,0,0,60, - 0,0,48,0,0,96,0,0,192,0,0,0,0,0,0,0, - 0,0,0,7,248,0,24,30,0,16,15,0,48,7,0,56, - 7,128,60,7,128,62,7,128,28,7,128,0,7,128,0,31, - 128,3,247,128,31,7,128,60,7,128,120,7,128,248,7,128, - 240,7,128,240,15,136,240,15,136,240,23,136,248,23,152,120, - 39,240,63,195,240,21,33,99,24,2,0,0,192,0,0,224, - 0,1,224,0,1,240,0,3,48,0,6,24,0,12,12,0, - 24,2,0,0,0,0,0,0,0,0,0,0,7,248,0,24, - 30,0,16,15,0,48,7,0,56,7,128,60,7,128,62,7, - 128,28,7,128,0,7,128,0,31,128,3,247,128,31,7,128, - 60,7,128,120,7,128,248,7,128,240,7,128,240,15,136,240, - 15,136,240,23,136,248,23,152,120,39,240,63,195,240,21,32, - 96,24,2,0,15,129,0,31,227,0,31,255,0,16,254,0, - 32,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,7,248,0,24,30,0,16,15,0,48,7,0,56,7, - 128,60,7,128,62,7,128,28,7,128,0,7,128,0,31,128, - 3,247,128,31,7,128,60,7,128,120,7,128,248,7,128,240, - 7,128,240,15,136,240,15,136,240,23,136,248,23,152,120,39, - 240,63,195,240,21,32,96,24,2,0,28,14,0,62,31,0, - 62,31,0,62,31,0,28,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,7,248,0,24,30,0,16,15, - 0,48,7,0,56,7,128,60,7,128,62,7,128,28,7,128, - 0,7,128,0,31,128,3,247,128,31,7,128,60,7,128,120, - 7,128,248,7,128,240,7,128,240,15,136,240,15,136,240,23, - 136,248,23,152,120,39,240,63,195,240,21,34,102,24,2,0, - 1,224,0,2,24,0,4,8,0,8,4,0,8,4,0,8, - 4,0,4,12,0,6,24,0,1,240,0,0,0,0,0,0, - 0,0,0,0,7,248,0,24,30,0,16,15,0,48,7,0, - 56,7,128,60,7,128,60,7,128,28,7,128,0,7,128,0, - 31,128,3,247,128,31,7,128,60,7,128,120,7,128,248,7, - 128,240,7,128,240,15,136,240,15,136,240,31,136,248,23,152, - 120,39,240,63,195,240,30,22,88,34,2,1,7,248,63,128, - 24,30,97,224,16,15,224,224,48,7,192,112,56,7,192,120, - 60,7,128,120,62,7,128,120,30,7,128,60,0,7,128,60, - 0,15,128,60,1,247,255,252,15,7,128,0,60,7,128,0, - 120,7,128,0,248,7,128,0,240,7,128,8,240,15,128,8, - 240,11,192,8,240,27,192,16,248,17,224,48,120,32,240,96, - 63,192,127,192,17,32,96,21,2,247,7,252,0,14,6,0, - 28,3,0,56,3,0,56,3,128,120,15,128,120,15,128,240, - 15,128,240,7,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,0, - 56,1,0,28,2,0,14,6,0,7,248,0,0,128,0,0, - 128,0,1,128,0,0,240,0,0,56,0,0,28,0,0,28, - 0,0,28,0,12,56,0,3,240,0,18,33,99,22,2,1, - 60,0,0,60,0,0,30,0,0,15,0,0,7,0,0,3, - 128,0,0,192,0,0,64,0,0,0,0,0,0,0,0,0, - 0,7,248,0,14,28,0,28,14,0,56,15,0,56,7,128, - 120,7,128,120,7,128,240,7,192,240,7,192,240,7,192,255, - 255,192,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,120,1,128,56,1,0,28,3,0,14,6,0, - 7,252,0,18,33,99,22,2,1,0,7,0,0,15,0,0, - 15,0,0,30,0,0,60,0,0,48,0,0,96,0,0,192, - 0,0,0,0,0,0,0,0,0,0,7,248,0,14,28,0, - 28,14,0,56,15,0,56,7,128,120,7,128,120,7,128,240, - 7,192,240,7,192,240,7,192,255,255,192,240,0,0,240,0, - 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,128, - 56,1,0,28,3,0,14,6,0,7,252,0,18,33,99,22, - 2,0,0,192,0,0,224,0,1,224,0,1,240,0,3,184, - 0,7,24,0,4,12,0,24,2,0,0,0,0,0,0,0, - 0,0,0,7,248,0,14,28,0,28,14,0,56,15,0,56, - 7,128,120,7,128,120,7,128,240,7,192,240,7,192,240,7, - 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,128, - 120,0,128,120,0,128,120,1,128,56,1,0,28,3,0,14, - 6,0,7,252,0,18,32,96,22,2,0,28,7,0,62,15, - 128,62,15,128,62,15,128,28,7,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,7,248,0,14,12,0,28, - 14,0,60,7,0,56,7,128,120,3,128,120,3,128,240,3, - 192,240,3,192,240,3,192,255,255,192,240,0,0,240,0,0, - 240,0,0,240,0,64,120,0,128,120,0,128,120,0,128,56, - 1,128,28,1,0,14,6,0,7,252,0,12,33,66,14,0, - 1,224,0,240,0,240,0,120,0,60,0,12,0,6,0,3, - 0,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,63,240,11,33,66,13,2,1,0,224,1,224,1,224,3, - 192,7,128,6,0,12,0,24,0,0,0,0,0,0,0,254, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,255,192,13,33,66,14,0, - 0,7,0,7,0,7,128,15,128,29,192,24,96,48,48,192, - 24,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,63,240,13,32,64,15,1,0,112,112,248,248,248,248,248, - 248,112,112,0,0,0,0,0,0,0,0,0,0,63,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,63,240,19,35,105,24,2,0,31, - 0,0,15,131,128,7,198,0,3,252,0,1,240,0,0,240, - 0,1,248,0,7,124,0,12,60,0,24,30,0,0,31,0, - 0,15,0,0,7,128,3,255,128,14,15,192,28,7,192,60, - 3,192,56,3,224,120,3,224,120,1,224,248,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, - 240,1,224,120,1,192,120,3,192,56,3,192,60,3,128,28, - 7,0,14,14,0,3,252,0,23,32,96,27,2,0,1,224, - 64,3,248,192,7,255,192,6,63,128,4,7,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,31,128,30, - 97,224,30,192,224,30,128,240,31,0,240,31,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,255,199,254,19,33, - 99,24,2,1,28,0,0,30,0,0,30,0,0,15,0,0, - 7,128,0,1,128,0,0,192,0,0,96,0,0,0,0,0, - 0,0,0,0,0,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,19,33,99,24,2,1,0,7,0, - 0,7,128,0,15,0,0,30,0,0,28,0,0,56,0,0, - 96,0,0,64,0,0,0,0,0,0,0,0,0,0,3,252, - 0,14,14,0,28,7,0,60,3,128,56,3,192,120,3,192, - 120,1,224,248,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,3, - 192,56,3,192,60,3,128,28,7,0,14,14,0,3,252,0, - 19,33,99,24,2,0,0,96,0,0,224,0,0,240,0,1, - 240,0,1,184,0,3,24,0,6,4,0,8,3,0,0,0, - 0,0,0,0,0,0,0,3,252,0,14,14,0,28,7,0, - 60,3,128,56,3,192,120,3,192,120,1,224,248,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,120,1,224,120,3,192,56,3,192,60,3,128, - 28,7,0,14,14,0,3,252,0,19,32,96,24,2,0,7, - 129,0,15,225,0,31,255,0,24,254,0,16,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,252,0, - 14,14,0,28,7,0,60,3,128,56,3,192,120,3,192,120, - 1,224,248,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,120,1,224,120,3,192, - 56,3,192,60,3,128,28,7,0,14,14,0,3,252,0,19, - 32,96,24,2,0,14,7,0,31,15,128,31,15,128,31,15, - 128,14,7,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,3,252,0,14,14,0,28,7,0,60,3,128,56, - 3,192,120,3,192,120,1,224,248,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, - 120,1,224,120,3,192,56,3,192,60,3,128,28,7,0,14, - 14,0,3,252,0,41,31,186,45,2,253,0,0,30,0,0, - 0,0,0,63,0,0,0,0,0,63,0,0,0,0,0,63, - 0,0,0,0,0,63,0,0,0,0,0,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,255,255,255,128,255,255,255,255,255,128,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,30,0,0,0,0,0,63,0,0,0,0,0,63, - 0,0,0,0,0,63,0,0,0,0,0,63,0,0,0,0, - 0,30,0,0,0,19,22,66,24,2,1,3,252,96,14,14, - 64,28,7,192,60,3,128,56,3,192,120,7,192,120,13,224, - 248,9,224,240,25,224,240,49,224,240,97,224,240,193,224,240, - 129,224,241,129,224,243,1,224,126,1,224,124,3,192,56,3, - 192,60,3,128,60,7,0,110,14,0,195,252,0,23,33,99, - 27,2,1,14,0,0,15,0,0,7,128,0,3,192,0,1, - 192,0,0,224,0,0,48,0,0,16,0,0,0,0,0,0, - 0,0,0,0,254,7,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,1,240,30,1,240,30,1,240,30,2,240,14,6,240, - 15,12,240,3,240,254,23,33,99,27,2,1,0,1,192,0, - 3,192,0,3,192,0,7,128,0,14,0,0,12,0,0,24, - 0,0,48,0,0,0,0,0,0,0,0,0,0,254,7,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,1,240,30,1,240, - 30,1,240,30,2,240,14,6,240,15,12,240,3,240,254,23, - 33,99,27,2,0,0,48,0,0,56,0,0,120,0,0,124, - 0,0,204,0,1,134,0,3,3,0,6,0,128,0,0,0, - 0,0,0,0,0,0,254,7,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,1,240,30,1,240,30,1,240,30,2,240,14, - 6,240,15,12,240,3,240,254,23,32,96,27,2,0,7,3, - 128,15,135,192,15,135,192,15,135,192,7,3,128,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,7,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,1,240,30,1,240,30, - 1,240,30,2,240,14,6,240,15,12,240,3,240,254,24,45, - 135,26,1,246,0,0,240,0,0,240,0,1,224,0,1,192, - 0,3,128,0,7,0,0,6,0,0,12,0,0,24,0,0, - 0,0,0,0,0,0,0,0,255,225,255,31,0,120,15,0, - 48,15,0,48,7,0,32,7,128,96,7,128,96,3,192,64, - 3,192,192,3,192,192,1,224,128,1,225,128,0,225,128,0, - 241,128,0,241,0,0,115,0,0,123,0,0,122,0,0,62, - 0,0,62,0,0,60,0,0,28,0,0,28,0,0,24,0, - 0,24,0,0,24,0,24,48,0,60,48,0,60,48,0,60, - 96,0,56,96,0,31,192,0,15,0,0,20,46,138,25,2, - 243,30,0,0,126,0,0,254,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,15,192,30,63,224,30,97,240,30,192,240,30,128, - 240,31,128,240,31,0,240,31,0,240,30,0,240,30,0,240, - 30,1,224,30,1,224,30,1,192,30,3,128,30,3,128,30, - 7,0,30,6,0,30,12,0,30,24,0,30,48,0,30,192, - 0,31,128,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,60,0,0,240,0,0,128,0,0,24,43,129,26,1, - 245,1,192,224,3,225,240,3,225,240,3,225,240,1,192,224, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 225,255,31,128,120,15,0,48,15,0,48,7,128,32,7,128, - 96,7,128,96,3,192,64,3,192,64,3,192,192,1,224,128, - 1,224,128,0,225,128,0,241,128,0,241,0,0,115,0,0, - 123,0,0,122,0,0,62,0,0,62,0,0,60,0,0,28, - 0,0,28,0,0,24,0,0,24,0,0,24,0,24,48,0, - 60,48,0,60,48,0,60,96,0,56,96,0,31,192,0,15, - 0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 34 - Calculated Max Values w=41 h=46 x= 6 y=14 dx=45 dy= 0 ascent=36 len=246 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x= 0 y=-10 dx= 0 dy= 0 - Pure Font ascent =34 descent= 0 - X Font ascent =34 descent= 0 - Max Font ascent =36 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35n[1588] U8G_FONT_SECTION("u8g_font_osr35n") = { - 0,128,62,216,241,34,0,0,0,0,42,58,0,36,246,34, - 0,18,20,60,25,4,14,0,224,0,1,224,0,1,224,0, - 1,224,0,224,195,128,240,135,192,248,143,192,60,159,128,3, - 248,0,1,224,0,3,240,0,30,190,0,124,143,128,248,135, - 192,240,195,192,97,193,128,1,224,0,1,224,0,1,224,0, - 0,224,0,41,41,246,45,2,248,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,7, - 15,15,14,4,247,120,252,252,254,126,6,6,6,4,12,8, - 24,48,96,64,12,3,6,18,3,11,255,240,255,240,255,240, - 6,5,5,14,4,1,120,252,252,252,120,16,46,92,22,3, - 246,0,3,0,3,0,3,0,6,0,6,0,6,0,12,0, - 12,0,12,0,24,0,24,0,24,0,48,0,48,0,48,0, - 48,0,96,0,96,0,96,0,192,0,192,0,192,1,128,1, - 128,1,128,3,0,3,0,3,0,6,0,6,0,6,0,12, - 0,12,0,12,0,24,0,24,0,24,0,48,0,48,0,48, - 0,96,0,96,0,96,0,96,0,192,0,192,0,23,34,102, - 28,2,0,0,124,0,1,199,0,7,1,128,6,0,192,14, - 0,224,28,0,112,60,0,120,60,0,120,56,0,56,120,0, - 60,120,0,60,120,0,60,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,120,0,60,120,0,60,120,0,60,120,0, - 60,60,0,120,60,0,120,28,0,112,28,0,112,14,0,224, - 7,1,192,3,131,128,0,254,0,17,34,102,28,6,0,0, - 64,0,0,64,0,0,192,0,0,192,0,1,192,0,7,192, - 0,255,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,255, - 255,128,255,255,128,21,34,102,28,4,0,3,252,0,14,31, - 0,16,7,192,32,3,224,96,1,240,64,1,240,192,0,240, - 192,0,248,224,0,248,252,0,248,254,0,248,126,0,248,126, - 0,240,62,1,240,0,1,224,0,3,192,0,3,128,0,7, - 0,0,14,0,0,28,0,0,112,0,0,224,0,1,192,0, - 3,0,0,6,0,16,12,0,16,24,0,16,16,0,16,48, - 0,48,48,0,112,127,255,240,127,255,240,127,255,240,127,255, - 240,21,34,102,28,4,0,3,248,0,14,31,0,24,7,128, - 48,3,192,112,3,192,120,1,224,124,1,224,126,1,224,126, - 1,224,60,1,224,0,1,224,0,3,192,0,3,192,0,7, - 128,0,14,0,15,248,0,31,143,0,14,3,128,0,3,224, - 0,1,224,0,1,240,0,0,248,0,0,248,0,0,248,60, - 0,248,126,0,248,254,0,248,254,0,248,252,1,240,224,1, - 240,224,3,224,96,3,192,48,15,0,15,254,0,23,34,102, - 28,3,0,0,1,128,0,1,128,0,3,128,0,7,128,0, - 7,128,0,15,128,0,31,128,0,31,128,0,55,128,0,119, - 128,0,231,128,0,199,128,1,199,128,3,135,128,3,7,128, - 6,7,128,14,7,128,12,7,128,24,7,128,56,7,128,48, - 7,128,96,7,128,224,7,128,255,255,254,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,3,255,254,3,255,254,21,35,105,28,4,0,48, - 0,64,60,3,192,63,255,128,63,255,0,63,252,0,55,240, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,0, - 48,0,0,48,0,0,51,254,0,60,7,128,56,3,192,48, - 1,224,48,1,240,48,1,240,0,0,240,0,0,248,0,0, - 248,0,0,248,0,0,248,60,0,248,126,0,248,254,0,248, - 254,0,240,252,1,240,248,1,224,240,1,224,112,3,192,112, - 7,128,60,31,0,15,252,0,21,34,102,28,4,0,0,126, - 0,1,193,128,3,128,192,7,0,64,14,0,224,28,1,224, - 28,3,224,56,3,224,56,3,192,120,0,0,120,0,0,120, - 0,0,120,0,0,240,126,0,241,255,128,243,131,192,247,1, - 224,254,1,240,252,0,240,252,0,240,248,0,248,248,0,120, - 248,0,120,248,0,120,120,0,120,120,0,120,120,0,248,120, - 0,240,56,0,240,60,0,224,28,1,224,14,3,192,7,7, - 128,1,254,0,19,34,102,28,5,0,255,255,224,255,255,224, - 255,255,224,255,255,224,224,0,224,192,0,64,128,0,64,128, - 0,192,128,0,128,128,1,128,0,1,128,0,3,0,0,2, - 0,0,6,0,0,12,0,0,24,0,0,24,0,0,48,0, - 0,112,0,0,112,0,0,224,0,0,224,0,1,224,0,1, - 224,0,3,224,0,3,224,0,3,224,0,7,240,0,7,240, - 0,7,240,0,7,240,0,7,240,0,3,240,0,3,224,0, - 23,34,102,28,3,0,1,254,0,7,135,128,30,1,192,56, - 0,224,120,0,112,112,0,112,240,0,56,240,0,56,240,0, - 56,240,0,56,248,0,56,252,0,112,126,0,112,127,192,224, - 63,241,192,31,255,0,7,255,128,7,255,224,12,63,248,56, - 7,252,112,1,252,112,0,126,224,0,62,224,0,62,224,0, - 62,224,0,30,224,0,30,224,0,28,96,0,60,112,0,56, - 48,0,120,24,0,240,14,1,192,3,255,0,21,34,102,28, - 4,0,1,248,0,7,142,0,14,3,0,28,1,128,56,1, - 192,120,1,224,120,0,224,120,0,240,240,0,240,240,0,240, - 240,0,240,240,0,248,240,0,248,248,0,248,120,1,248,120, - 1,248,120,3,248,60,7,120,30,14,120,15,252,120,3,240, - 120,0,0,240,0,0,240,0,0,240,0,0,240,60,0,224, - 124,0,224,124,1,192,124,1,192,120,3,128,112,3,0,56, - 6,0,28,28,0,15,248,0,6,22,22,14,4,1,120,252, - 252,252,120,0,0,0,0,0,0,0,0,0,0,0,0,120, - 252,252,252,120}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 6 y=26 dx=52 dy= 0 ascent=37 len=252 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =36 descent=-10 - Max Font ascent =37 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_FONT_SECTION("u8g_font_osr35r") = { - 0,128,62,216,241,35,12,236,30,116,32,127,246,37,245,36, - 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, - 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, - 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, - 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, - 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, - 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, - 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, - 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, - 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, - 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, - 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, - 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, - 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, - 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, - 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, - 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, - 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, - 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, - 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, - 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, - 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, - 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, - 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, - 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, - 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, - 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, - 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, - 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, - 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, - 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, - 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, - 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, - 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, - 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, - 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, - 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, - 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, - 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, - 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, - 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, - 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, - 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, - 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, - 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, - 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, - 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, - 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, - 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, - 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, - 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, - 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, - 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, - 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, - 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, - 0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240, - 135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240, - 0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128, - 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, - 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, - 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, - 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, - 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, - 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, - 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, - 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, - 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, - 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, - 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, - 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, - 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, - 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, - 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, - 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, - 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, - 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, - 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, - 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, - 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, - 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, - 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, - 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, - 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, - 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, - 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, - 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, - 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, - 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, - 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, - 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, - 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, - 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, - 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, - 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, - 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, - 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, - 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, - 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, - 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, - 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, - 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, - 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, - 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, - 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, - 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, - 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, - 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, - 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, - 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, - 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, - 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, - 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, - 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, - 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, - 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, - 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, - 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, - 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, - 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, - 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, - 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, - 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, - 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, - 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, - 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, - 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, - 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, - 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, - 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, - 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, - 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, - 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, - 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, - 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, - 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, - 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, - 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, - 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, - 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, - 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, - 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, - 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, - 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, - 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, - 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, - 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, - 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, - 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, - 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, - 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, - 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, - 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, - 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, - 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, - 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, - 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, - 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, - 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, - 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, - 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, - 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, - 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, - 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, - 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, - 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, - 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, - 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, - 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, - 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, - 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, - 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, - 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, - 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, - 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, - 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, - 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, - 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, - 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, - 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, - 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, - 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, - 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, - 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, - 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, - 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, - 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, - 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, - 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, - 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, - 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, - 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, - 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, - 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, - 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, - 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, - 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, - 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, - 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, - 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, - 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, - 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, - 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, - 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, - 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, - 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, - 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, - 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, - 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, - 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, - 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, - 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, - 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, - 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, - 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, - 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, - 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, - 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, - 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, - 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, - 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, - 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, - 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, - 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, - 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, - 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, - 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, - 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, - 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, - 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, - 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, - 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, - 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, - 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, - 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, - 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, - 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, - 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, - 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, - 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, - 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, - 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, - 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, - 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, - 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, - 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, - 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, - 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, - 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, - 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, - 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, - 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, - 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, - 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, - 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, - 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, - 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, - 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, - 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, - 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, - 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, - 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, - 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, - 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, - 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, - 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, - 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, - 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, - 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, - 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, - 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, - 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, - 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, - 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, - 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, - 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, - 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, - 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, - 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, - 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, - 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, - 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, - 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, - 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, - 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, - 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, - 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, - 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, - 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, - 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, - 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, - 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, - 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, - 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, - 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, - 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, - 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, - 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, - 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, - 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, - 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, - 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, - 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, - 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, - 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, - 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, - 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, - 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, - 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, - 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, - 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, - 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, - 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, - 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, - 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, - 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, - 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, - 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, - 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, - 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, - 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, - 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, - 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, - 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, - 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, - 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, - 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, - 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, - 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, - 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, - 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, - 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, - 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, - 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, - 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, - 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, - 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, - 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, - 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, - 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, - 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, - 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, - 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, - 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, - 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, - 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, - 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, - 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, - 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, - 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, - 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, - 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, - 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, - 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, - 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, - 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, - 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, - 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, - 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, - 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, - 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, - 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, - 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, - 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, - 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, - 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, - 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, - 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, - 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, - 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, - 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, - 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, - 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, - 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, - 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, - 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, - 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, - 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, - 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, - 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, - 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, - 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, - 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, - 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, - 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, - 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, - 48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0, - 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, - 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, - 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, - 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, - 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, - 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, - 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, - 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, - 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, - 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, - 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, - 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, - 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, - 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, - 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, - 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, - 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, - 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, - 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, - 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, - 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, - 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, - 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, - 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, - 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, - 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, - 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, - 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, - 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, - 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, - 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, - 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, - 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, - 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, - 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, - 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, - 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, - 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, - 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, - 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, - 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, - 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, - 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, - 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, - 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, - 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, - 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, - 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, - 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, - 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, - 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, - 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, - 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, - 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, - 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, - 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, - 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, - 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, - 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, - 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, - 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, - 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, - 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, - 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, - 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, - 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, - 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, - 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, - 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, - 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, - 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, - 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, - 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, - 31,128,255}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 4, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 4 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01type[1163] U8G_FONT_SECTION("u8g_font_p01type") = { - 0,5,6,0,254,4,1,81,2,129,32,255,254,4,254,5, - 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, - 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, - 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, - 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, - 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, - 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, - 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, - 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, - 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, - 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, - 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, - 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, - 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, - 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, - 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, - 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, - 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, - 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, - 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, - 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, - 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, - 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, - 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, - 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, - 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, - 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, - 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, - 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, - 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, - 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, - 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, - 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, - 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, - 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, - 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, - 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, - 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, - 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, - 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, - 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, - 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, - 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, - 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, - 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, - 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, - 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, - 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, - 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, - 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, - 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, - 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, - 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, - 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, - 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, - 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, - 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, - 192,4,2,2,5,0,1,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,255,1,5,5,2,0, - 255,128,0,128,128,128,255,255,255,255,1,5,5,3,1,255, - 128,128,0,128,128,255,255,255,255,5,5,5,6,0,255,40, - 80,160,80,40,3,2,2,4,0,0,224,32,3,1,1,4, - 0,1,224,255,255,255,3,5,5,4,0,255,64,224,64,0, - 224,255,255,255,255,255,1,1,1,2,0,1,128,255,255,255, - 5,5,5,6,0,255,160,80,40,80,160,255,255,255,4,5, - 5,5,0,255,32,0,96,128,112,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 3,3,3,4,0,0,160,64,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,3,5,5,4,0,255,64,0, - 224,0,64,255,255,255,255,255,255,255,255}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 5 x= 0 y= 1 dx= 5 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 4 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01typen[186] U8G_FONT_SECTION("u8g_font_p01typen") = { - 0,5,6,0,254,5,0,0,0,0,42,58,0,4,255,5, - 0,3,3,3,4,0,0,160,64,160,3,3,3,4,0,0, - 64,224,64,2,2,2,3,0,255,64,128,3,1,1,4,0, - 1,224,1,1,1,2,0,0,128,4,4,4,5,0,255,16, - 32,64,128,3,5,5,4,0,255,96,160,160,160,192,1,5, - 5,2,0,255,128,128,128,128,128,3,5,5,4,0,255,192, - 32,224,128,96,3,5,5,4,0,255,192,32,192,32,192,3, - 5,5,4,0,255,160,160,224,32,32,3,5,5,4,0,255, - 96,128,224,32,192,3,5,5,4,0,255,96,128,224,160,192, - 3,5,5,4,0,255,224,32,32,64,64,3,5,5,4,0, - 255,96,160,224,160,192,3,5,5,4,0,255,96,160,224,32, - 192,1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 4, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 4 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01typer[938] U8G_FONT_SECTION("u8g_font_p01typer") = { - 0,5,6,0,254,4,1,81,2,129,32,127,254,4,254,5, - 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, - 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, - 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, - 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, - 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, - 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, - 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, - 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, - 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, - 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, - 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, - 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, - 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, - 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, - 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, - 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, - 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, - 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, - 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, - 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, - 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, - 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, - 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, - 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, - 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, - 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, - 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, - 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, - 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, - 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, - 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, - 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, - 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, - 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, - 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, - 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, - 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, - 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, - 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, - 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, - 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, - 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, - 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, - 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, - 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, - 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, - 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, - 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, - 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, - 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, - 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, - 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, - 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, - 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, - 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, - 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, - 192,4,2,2,5,0,1,80,160,255}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[1140] U8G_FONT_SECTION("u8g_font_pixelle_micro") = { - 0,6,8,255,254,5,1,97,2,188,32,255,254,6,254,6, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, - 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, - 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, - 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, - 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, - 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, - 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, - 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, - 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, - 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, - 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, - 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, - 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, - 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, - 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, - 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, - 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, - 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, - 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, - 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, - 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, - 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, - 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, - 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, - 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, - 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, - 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, - 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, - 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, - 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, - 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, - 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, - 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, - 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, - 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, - 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, - 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, - 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, - 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, - 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, - 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, - 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, - 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, - 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, - 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, - 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, - 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, - 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, - 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, - 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, - 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, - 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, - 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, - 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, - 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, - 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, - 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, - 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, - 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, - 1,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,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,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,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}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 6 x= 0 y= 1 dx= 4 dy= 0 ascent= 6 len= 6 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[189] U8G_FONT_SECTION("u8g_font_pixelle_micron") = { - 0,6,8,255,254,5,0,0,0,0,42,58,0,6,255,5, - 0,3,4,4,4,0,0,64,224,64,160,3,3,3,4,0, - 0,64,224,64,1,2,2,2,0,255,128,128,3,1,1,4, - 0,1,224,1,1,1,2,0,0,128,3,6,6,4,0,0, - 32,32,64,64,128,128,3,5,5,4,0,0,64,160,224,160, - 64,3,5,5,4,0,0,192,64,64,64,224,3,5,5,4, - 0,0,64,160,32,64,224,3,5,5,4,0,0,192,32,64, - 32,192,3,5,5,4,0,0,160,160,224,32,32,3,5,5, - 4,0,0,224,128,224,32,192,3,5,5,4,0,0,64,160, - 192,160,64,3,5,5,4,0,0,224,32,64,64,128,3,5, - 5,4,0,0,64,160,64,160,64,3,5,5,4,0,0,64, - 160,96,160,64,1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_FONT_SECTION("u8g_font_pixelle_micror") = { - 0,6,8,255,254,5,1,97,2,188,32,127,254,6,254,6, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, - 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, - 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, - 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, - 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, - 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, - 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, - 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, - 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, - 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, - 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, - 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, - 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, - 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, - 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, - 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, - 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, - 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, - 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, - 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, - 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, - 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, - 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, - 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, - 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, - 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, - 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, - 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, - 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, - 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, - 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, - 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, - 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, - 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, - 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, - 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, - 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, - 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, - 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, - 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, - 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, - 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, - 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, - 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, - 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, - 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, - 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, - 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, - 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, - 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, - 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, - 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, - 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, - 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, - 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, - 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, - 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, - 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, - 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, - 1,80,160,255}; -/* - Fontname: ProFont10 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 5 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 = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont10[2560] U8G_FONT_SECTION("u8g_font_profont10") = { - 0,5,9,0,254,6,1,126,2,248,32,255,254,8,254,7, - 254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128, - 128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0, - 1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112, - 40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144, - 4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5, - 2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128, - 64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128, - 4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0, - 1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1, - 5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0, - 254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96, - 144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64, - 224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6, - 5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32, - 96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144, - 96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6, - 5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96, - 144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16, - 96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0, - 254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128, - 64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1, - 0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64, - 0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6, - 6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0, - 224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128, - 144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6, - 6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0, - 240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176, - 144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6, - 6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0, - 16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192, - 160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6, - 6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0, - 144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144, - 144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7, - 7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0, - 0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96, - 16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4, - 6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0, - 0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144, - 240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4, - 6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0, - 0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128, - 128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32, - 32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64, - 192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248, - 2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144, - 176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4, - 4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16, - 112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6, - 6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254, - 112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144, - 144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8, - 8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5, - 0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64, - 64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4, - 4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144, - 144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6, - 6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0, - 160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6, - 6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0, - 144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4, - 4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96, - 96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4, - 4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64, - 64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128, - 128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32, - 64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5, - 0,0,0,0,0,5,0,0,0,0,0,5,0,0,2,3, - 3,5,0,255,64,64,128,3,9,9,5,1,254,32,64,64, - 224,64,64,64,64,128,4,3,3,5,0,255,80,80,160,5, - 1,1,5,0,0,168,3,5,5,5,1,1,64,224,64,64, - 64,3,5,5,5,1,1,64,224,64,224,64,3,2,2,5, - 1,5,64,160,5,6,6,5,0,0,120,208,224,112,248,112, - 4,8,8,5,0,0,80,32,112,128,96,16,144,96,2,3, - 3,5,0,0,64,128,64,4,6,6,5,0,0,112,160,176, - 160,160,112,0,0,0,5,0,0,0,0,0,5,0,0,0, - 0,0,5,0,0,0,0,0,5,0,0,2,3,3,5,2, - 3,64,128,128,2,3,3,5,1,3,64,64,128,4,3,3, - 5,0,3,80,160,160,4,3,3,5,0,3,80,80,160,4, - 4,4,5,0,1,96,240,240,96,2,1,1,5,1,2,192, - 5,1,1,5,0,2,248,4,2,2,5,0,5,80,160,5, - 3,3,5,0,3,248,88,88,4,7,7,5,0,0,80,32, - 0,112,224,16,224,2,3,3,5,0,0,128,64,128,4,4, - 4,5,0,0,112,176,160,80,0,0,0,5,0,0,0,0, - 0,5,0,0,4,8,8,5,0,0,80,0,144,144,160,64, - 64,64,0,0,0,5,0,0,1,6,6,5,2,0,128,0, - 128,128,128,128,4,6,6,5,0,255,32,96,176,192,112,64, - 4,6,6,5,0,0,96,128,192,128,144,224,4,4,4,5, - 0,0,144,96,96,144,3,6,6,5,1,0,160,64,224,64, - 224,64,1,8,8,5,2,255,128,128,128,0,0,128,128,128, - 4,8,8,5,0,255,96,144,64,160,80,32,144,96,2,1, - 1,5,1,5,192,4,6,6,5,0,0,192,32,208,208,32, - 192,3,5,5,5,1,2,96,160,96,0,224,5,3,3,5, - 0,0,72,144,72,4,2,2,5,0,1,240,16,3,1,1, - 5,0,2,224,4,5,5,5,0,1,192,32,208,208,176,2, - 1,1,5,1,5,192,3,3,3,5,1,3,64,160,64,3, - 4,4,5,0,0,64,224,64,224,2,3,3,5,1,4,128, - 64,192,2,3,3,5,1,4,192,64,192,2,1,1,5,2, - 5,192,4,5,5,5,0,255,160,160,160,208,128,4,6,6, - 5,0,0,112,176,176,112,48,48,1,1,1,5,2,2,128, - 2,2,2,5,1,254,192,192,2,3,3,5,1,4,192,64, - 64,3,5,5,5,1,2,64,160,64,0,224,5,3,3,5, - 0,0,144,72,144,5,7,7,5,0,0,192,72,80,32,72, - 152,8,5,7,7,5,0,0,192,72,80,32,80,136,24,5, - 7,7,5,0,0,192,72,208,32,72,152,8,4,6,6,5, - 0,0,32,0,32,64,144,96,4,8,8,5,0,0,64,32, - 96,144,144,240,144,144,4,8,8,5,0,0,32,64,96,144, - 144,240,144,144,4,8,8,5,0,0,32,80,0,96,144,240, - 144,144,4,8,8,5,0,0,80,160,0,96,144,240,144,144, - 4,8,8,5,0,0,80,0,96,144,144,240,144,144,4,8, - 8,5,0,0,32,80,32,96,144,240,144,144,4,6,6,5, - 0,0,112,160,240,160,160,176,4,8,8,5,0,254,96,144, - 128,128,144,96,32,64,4,8,8,5,0,0,64,32,240,128, - 224,128,128,240,4,8,8,5,0,0,32,64,240,128,224,128, - 128,240,4,8,8,5,0,0,32,80,240,128,224,128,128,240, - 4,8,8,5,0,0,80,0,240,128,224,128,128,240,3,8, - 8,5,1,0,128,64,224,64,64,64,64,224,3,8,8,5, - 1,0,32,64,224,64,64,64,64,224,3,8,8,5,1,0, - 64,160,0,224,64,64,64,224,3,8,8,5,1,0,160,0, - 224,64,64,64,64,224,4,6,6,5,0,0,96,80,208,80, - 80,96,4,8,8,5,0,0,80,160,144,208,176,144,144,144, - 4,8,8,5,0,0,64,32,96,144,144,144,144,96,4,8, - 8,5,0,0,32,64,96,144,144,144,144,96,4,8,8,5, - 0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0, - 80,160,0,96,144,144,144,96,4,8,8,5,0,0,80,0, - 96,144,144,144,144,96,3,3,3,5,0,1,160,64,160,4, - 6,6,5,0,0,96,144,176,208,144,96,4,8,8,5,0, - 0,64,32,144,144,144,144,144,96,4,8,8,5,0,0,32, - 64,144,144,144,144,144,96,4,8,8,5,0,0,32,80,0, - 144,144,144,144,96,4,8,8,5,0,0,80,0,144,144,144, - 144,144,96,4,8,8,5,0,0,32,64,0,144,144,160,64, - 64,4,6,6,5,0,0,128,224,144,224,128,128,4,7,7, - 5,0,255,96,144,160,160,144,160,128,4,7,7,5,0,0, - 64,32,0,112,144,176,80,4,7,7,5,0,0,32,64,0, - 112,144,176,80,4,7,7,5,0,0,32,80,0,112,144,176, - 80,4,7,7,5,0,0,80,160,0,112,144,176,80,4,6, - 6,5,0,0,80,0,112,144,176,80,4,7,7,5,0,0, - 32,80,32,112,144,176,80,4,4,4,5,0,0,112,176,160, - 112,4,6,6,5,0,254,96,144,128,112,32,64,4,7,7, - 5,0,0,64,32,0,96,240,128,112,4,7,7,5,0,0, - 32,64,0,96,240,128,112,4,7,7,5,0,0,32,80,0, - 96,240,128,112,4,6,6,5,0,0,80,0,96,240,128,112, - 3,7,7,5,1,0,128,64,0,192,64,64,224,3,7,7, - 5,1,0,64,128,0,192,64,64,224,3,7,7,5,1,0, - 64,160,0,192,64,64,224,3,6,6,5,1,0,160,0,192, - 64,64,224,4,7,7,5,0,0,192,192,32,112,144,144,96, - 4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7, - 5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0, - 32,64,0,96,144,144,96,4,7,7,5,0,0,32,80,0, - 96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144, - 96,4,6,6,5,0,0,80,0,96,144,144,96,3,5,5, - 5,0,0,64,0,224,0,64,4,4,4,5,0,0,96,176, - 208,96,4,7,7,5,0,0,64,32,0,144,144,176,80,4, - 7,7,5,0,0,32,64,0,144,144,176,80,4,7,7,5, - 0,0,32,80,0,144,144,176,80,4,6,6,5,0,0,80, - 0,144,144,176,80,4,9,9,5,0,254,16,32,0,144,144, - 144,112,16,96,4,8,8,5,0,254,128,128,224,144,144,224, - 128,128,4,8,8,5,0,254,80,0,144,144,144,112,16,96 - }; -/* - Fontname: ProFont10 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 5 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 = 7 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont10r[1106] U8G_FONT_SECTION("u8g_font_profont10r") = { - 0,5,9,0,254,6,1,126,2,248,32,127,254,7,254,7, - 254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128, - 128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0, - 1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112, - 40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144, - 4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5, - 2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128, - 64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128, - 4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0, - 1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1, - 5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0, - 254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96, - 144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64, - 224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6, - 5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32, - 96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144, - 96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6, - 5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96, - 144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16, - 96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0, - 254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128, - 64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1, - 0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64, - 0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6, - 6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0, - 224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128, - 144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6, - 6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0, - 240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176, - 144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6, - 6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0, - 16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192, - 160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6, - 6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0, - 144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144, - 144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7, - 7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0, - 0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96, - 16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4, - 6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0, - 0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144, - 240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4, - 6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0, - 0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128, - 128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32, - 32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64, - 192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248, - 2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144, - 176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4, - 4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16, - 112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6, - 6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254, - 112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144, - 144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8, - 8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5, - 0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64, - 64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4, - 4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144, - 144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6, - 6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0, - 160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6, - 6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0, - 144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4, - 4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96, - 96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4, - 4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64, - 64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128, - 128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32, - 64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5, - 0,0}; -/* - Fontname: ProFont11 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h=11 x= 3 y= 6 dx= 6 dy= 0 ascent= 9 len=11 - Font Bounding box w= 6 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont11[2768] U8G_FONT_SECTION("u8g_font_profont11") = { - 0,6,10,0,254,7,1,158,3,55,32,255,254,9,254,8, - 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,5,160,160,160,5,5,5, - 6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112, - 168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176, - 80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144, - 104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255, - 32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128, - 64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168, - 112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4, - 4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2, - 2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16, - 16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152, - 168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32, - 248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7, - 7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0, - 0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128, - 240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136, - 136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5, - 7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6, - 0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192, - 192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,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,8,16,32,0, - 32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7, - 7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0, - 0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136, - 128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136, - 136,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,152,136,136,112,5,7,7,6,0,0,136, - 136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32, - 32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112, - 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,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168, - 152,136,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,136,136,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,32,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,136, - 80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128, - 248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192, - 5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8, - 2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5, - 3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5, - 5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0, - 8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248, - 128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5, - 7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6, - 0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64, - 0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32, - 32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224, - 144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5, - 5,5,6,0,0,240,168,168,168,168,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,240,136,136,136,240,128,128,5,7,7, - 6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0, - 176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240, - 4,7,7,6,1,0,64,64,224,64,64,64,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,168,168,168,168,80,5,5, - 5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136, - 136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64, - 248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64, - 64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128, - 128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64, - 64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0, - 0,0,0,6,0,0,0,0,0,6,0,0,2,3,3,6, - 0,255,64,64,128,5,11,11,6,0,254,24,32,32,32,112, - 32,32,32,32,32,192,4,3,3,6,0,255,80,80,160,5, - 1,1,6,0,0,168,3,5,5,6,1,2,64,224,64,64, - 64,3,5,5,6,1,2,64,224,64,224,64,3,2,2,6, - 1,6,64,160,6,8,8,6,0,0,124,168,176,96,104,212, - 84,40,5,9,9,6,0,0,80,32,112,136,128,112,8,136, - 112,2,4,4,6,0,0,64,128,128,64,5,7,7,6,0, - 0,120,160,160,176,160,160,120,0,0,0,6,0,0,0,0, - 0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0, - 2,3,3,6,2,4,64,128,128,2,3,3,6,2,4,64, - 64,128,4,3,3,6,1,4,80,160,160,4,3,3,6,1, - 4,80,80,160,5,5,5,6,0,1,112,248,248,248,112,3, - 1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2, - 6,0,6,104,176,6,3,3,6,0,4,244,92,92,5,8, - 8,6,0,0,80,32,0,120,128,112,8,240,2,4,4,6, - 0,0,128,64,64,128,5,5,5,6,0,0,80,168,184,160, - 88,0,0,0,6,0,0,0,0,0,6,0,0,5,9,9, - 6,0,0,80,0,136,136,136,80,32,32,32,0,0,0,6, - 0,0,1,7,7,6,3,0,128,0,128,128,128,128,128,5, - 7,7,6,0,255,32,112,168,160,160,120,32,5,8,8,6, - 0,0,96,144,128,224,128,128,136,240,5,5,5,6,0,0, - 136,112,80,112,136,5,7,7,6,0,0,136,80,248,32,248, - 32,32,1,9,9,6,2,255,128,128,128,128,0,128,128,128, - 128,5,10,10,6,0,255,112,136,72,160,144,72,40,144,136, - 112,3,1,1,6,1,6,160,5,7,7,6,0,0,224,16, - 104,136,104,16,224,4,6,6,6,1,3,112,144,144,112,0, - 240,5,4,4,6,0,0,72,144,144,72,5,3,3,6,0, - 1,248,8,8,5,1,1,6,0,3,248,5,6,6,6,0, - 1,224,16,200,168,200,176,3,1,1,6,1,6,224,4,4, - 4,6,1,4,96,144,144,96,5,6,6,6,0,0,32,32, - 248,32,32,248,3,4,4,6,1,5,192,32,64,224,3,5, - 5,6,1,4,192,32,96,32,192,3,2,2,6,2,6,96, - 192,5,7,7,6,0,254,144,144,144,144,232,128,128,5,8, - 8,6,0,0,120,168,168,168,120,40,40,40,2,2,2,6, - 2,2,192,192,3,3,3,6,1,254,224,96,192,3,4,4, - 6,1,5,192,64,64,224,4,6,6,6,1,3,96,144,144, - 96,0,240,5,4,4,6,0,0,144,72,72,144,6,9,9, - 6,0,0,192,64,68,232,16,40,88,184,8,6,9,9,6, - 0,0,192,64,68,232,16,56,68,136,28,6,9,9,6,0, - 0,192,32,100,40,208,40,88,184,8,5,7,7,6,0,0, - 32,0,32,64,128,136,112,5,9,9,6,0,0,64,32,32, - 80,80,136,248,136,136,5,9,9,6,0,0,16,32,32,80, - 80,136,248,136,136,5,9,9,6,0,0,32,80,0,32,80, - 136,248,136,136,5,9,9,6,0,0,104,176,32,80,80,136, - 248,136,136,5,9,9,6,0,0,80,0,32,80,80,136,248, - 136,136,5,9,9,6,0,0,32,80,32,80,136,136,248,136, - 136,5,7,7,6,0,0,120,160,160,240,160,160,184,5,9, - 9,6,0,254,112,136,128,128,128,136,112,32,64,5,9,9, - 6,0,0,64,32,248,128,128,240,128,128,248,5,9,9,6, - 0,0,16,32,248,128,128,240,128,128,248,5,9,9,6,0, - 0,32,80,248,128,128,240,128,128,248,5,9,9,6,0,0, - 80,0,248,128,128,240,128,128,248,5,9,9,6,0,0,64, - 32,248,32,32,32,32,32,248,5,9,9,6,0,0,16,32, - 248,32,32,32,32,32,248,5,9,9,6,0,0,32,80,0, - 248,32,32,32,32,248,5,9,9,6,0,0,80,0,248,32, - 32,32,32,32,248,5,7,7,6,0,0,112,72,72,232,72, - 72,112,5,9,9,6,0,0,104,176,136,200,168,152,136,136, - 136,5,9,9,6,0,0,64,32,112,136,136,136,136,136,112, - 5,9,9,6,0,0,16,32,112,136,136,136,136,136,112,5, - 9,9,6,0,0,32,80,0,112,136,136,136,136,112,5,9, - 9,6,0,0,104,176,112,136,136,136,136,136,112,5,9,9, - 6,0,0,80,0,112,136,136,136,136,136,112,5,5,5,6, - 0,1,136,80,32,80,136,5,7,7,6,0,0,112,136,152, - 168,200,136,112,5,9,9,6,0,0,64,32,136,136,136,136, - 136,136,112,5,9,9,6,0,0,16,32,136,136,136,136,136, - 136,112,5,9,9,6,0,0,32,80,0,136,136,136,136,136, - 112,5,9,9,6,0,0,80,0,136,136,136,136,136,136,112, - 5,9,9,6,0,0,16,32,136,136,136,80,32,32,32,5, - 7,7,6,0,0,128,240,136,136,240,128,128,5,9,9,6, - 0,255,48,72,136,144,144,136,136,176,128,5,8,8,6,0, - 0,32,16,0,120,136,136,152,104,5,8,8,6,0,0,16, - 32,0,120,136,136,152,104,5,8,8,6,0,0,32,80,0, - 120,136,136,152,104,5,8,8,6,0,0,104,176,0,120,136, - 136,152,104,5,7,7,6,0,0,80,0,120,136,136,152,104, - 5,8,8,6,0,0,32,80,32,120,136,136,152,104,5,5, - 5,6,0,0,112,168,184,160,120,5,7,7,6,0,254,112, - 136,128,128,120,32,64,5,8,8,6,0,0,64,32,0,112, - 136,248,128,120,5,8,8,6,0,0,16,32,0,112,136,248, - 128,120,5,8,8,6,0,0,32,80,0,112,136,248,128,120, - 5,7,7,6,0,0,80,0,112,136,248,128,120,3,8,8, - 6,1,0,128,64,0,192,64,64,64,224,3,8,8,6,1, - 0,32,64,0,192,64,64,64,224,3,8,8,6,1,0,64, - 160,0,192,64,64,64,224,3,7,7,6,1,0,160,0,192, - 64,64,64,224,5,8,8,6,0,0,96,96,16,120,136,136, - 136,112,5,8,8,6,0,0,104,176,0,176,200,136,136,136, - 5,8,8,6,0,0,64,32,0,112,136,136,136,112,5,8, - 8,6,0,0,16,32,0,112,136,136,136,112,5,8,8,6, - 0,0,32,80,0,112,136,136,136,112,5,8,8,6,0,0, - 104,176,0,112,136,136,136,112,5,7,7,6,0,0,80,0, - 112,136,136,136,112,5,5,5,6,0,1,32,0,248,0,32, - 5,5,5,6,0,0,112,152,168,200,112,5,8,8,6,0, - 0,64,32,0,136,136,136,152,104,5,8,8,6,0,0,16, - 32,0,136,136,136,152,104,5,8,8,6,0,0,32,80,0, - 136,136,136,152,104,5,7,7,6,0,0,80,0,136,136,136, - 152,104,5,10,10,6,0,254,16,32,0,136,136,136,136,120, - 8,112,5,9,9,6,0,254,128,128,240,136,136,136,240,128, - 128,5,9,9,6,0,254,80,0,136,136,136,136,120,8,112 - }; -/* - Fontname: ProFont11 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h=11 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=11 - Font Bounding box w= 6 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont11r[1200] U8G_FONT_SECTION("u8g_font_profont11r") = { - 0,6,10,0,254,7,1,158,3,55,32,127,254,9,254,8, - 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,5,160,160,160,5,5,5, - 6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112, - 168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176, - 80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144, - 104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255, - 32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128, - 64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168, - 112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4, - 4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2, - 2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16, - 16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152, - 168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32, - 248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7, - 7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0, - 0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128, - 240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136, - 136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5, - 7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6, - 0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192, - 192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,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,8,16,32,0, - 32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7, - 7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0, - 0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136, - 128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136, - 136,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,152,136,136,112,5,7,7,6,0,0,136, - 136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32, - 32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112, - 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,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168, - 152,136,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,136,136,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,32,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,136, - 80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128, - 248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192, - 5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8, - 2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5, - 3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5, - 5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0, - 8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248, - 128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5, - 7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6, - 0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64, - 0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32, - 32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224, - 144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5, - 5,5,6,0,0,240,168,168,168,168,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,240,136,136,136,240,128,128,5,7,7, - 6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0, - 176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240, - 4,7,7,6,1,0,64,64,224,64,64,64,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,168,168,168,168,80,5,5, - 5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136, - 136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64, - 248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64, - 64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128, - 128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64, - 64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0 - }; -/* - Fontname: ProFont12 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w= 6 h=12 x= 3 y= 7 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont12[2907] U8G_FONT_SECTION("u8g_font_profont12") = { - 0,6,11,0,254,8,1,178,3,103,32,255,254,10,254,9, - 254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128, - 128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5, - 5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32, - 112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120, - 168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160, - 64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10, - 10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10, - 10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5, - 5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32, - 32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1, - 1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10, - 6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8, - 6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0, - 0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112, - 136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8, - 48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248, - 16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136, - 112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5, - 8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8, - 6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0, - 0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192, - 192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192, - 192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16, - 5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128, - 64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8, - 16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128, - 128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136, - 5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8, - 8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6, - 0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0, - 248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128, - 128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128, - 152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136, - 136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248, - 5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8, - 8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6, - 0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0, - 136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200, - 168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136, - 136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128, - 128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112, - 8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5, - 8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8, - 6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0, - 0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136, - 136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136, - 136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32, - 80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32, - 32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2, - 10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5, - 10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2, - 10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5, - 3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240, - 5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0, - 0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112, - 136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64, - 64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5, - 8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8, - 6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0, - 254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0, - 0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192, - 64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168, - 168,168,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,240,136, - 136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120, - 8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5, - 6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64, - 64,224,64,64,64,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,168,168,168,168,80,5,5,5,6,0,0,136,80,32, - 80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5, - 5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254, - 32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2, - 255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1, - 254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6, - 0,4,104,176,0,0,0,6,0,0,0,0,0,6,0,0, - 0,0,0,6,0,0,2,3,3,6,0,255,64,64,128,5, - 12,12,6,0,254,24,32,32,32,32,112,32,32,32,32,32, - 192,4,3,3,6,0,255,80,80,160,5,1,1,6,0,0, - 168,3,6,6,6,1,2,64,224,64,64,64,64,3,6,6, - 6,1,2,64,224,64,64,224,64,3,2,2,6,1,7,64, - 160,6,9,9,6,0,0,124,164,168,80,32,104,212,84,40, - 5,10,10,6,0,0,80,32,112,136,128,112,8,8,136,112, - 2,4,4,6,0,0,64,128,128,64,5,8,8,6,0,0, - 120,160,160,176,160,160,160,120,0,0,0,6,0,0,0,0, - 0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0, - 2,3,3,6,2,5,64,128,128,2,3,3,6,2,5,64, - 64,128,4,3,3,6,1,5,80,160,160,4,3,3,6,1, - 5,80,80,160,5,5,5,6,0,2,112,248,248,248,112,3, - 1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2, - 6,0,7,104,176,6,3,3,6,0,5,244,92,92,5,9, - 9,6,0,0,80,32,0,0,120,128,112,8,240,2,4,4, - 6,0,0,128,64,64,128,5,5,5,6,0,0,80,168,184, - 160,88,0,0,0,6,0,0,0,0,0,6,0,0,5,10, - 10,6,0,0,80,0,0,136,136,136,80,32,32,32,0,0, - 0,6,0,0,1,8,8,6,3,0,128,0,128,128,128,128, - 128,128,5,7,7,6,0,255,32,112,168,160,160,120,32,5, - 9,9,6,0,0,96,144,128,224,128,128,128,136,240,5,5, - 5,6,0,1,136,112,80,112,136,5,8,8,6,0,0,136, - 80,248,32,248,32,32,32,1,10,10,6,2,255,128,128,128, - 128,0,0,128,128,128,128,5,11,11,6,0,255,112,136,72, - 160,144,136,72,40,144,136,112,3,1,1,6,1,7,160,5, - 8,8,6,0,0,224,16,104,136,136,104,16,224,4,7,7, - 6,1,3,112,144,144,112,0,0,240,5,4,4,6,0,0, - 72,144,144,72,5,3,3,6,0,2,248,8,8,5,1,1, - 6,0,3,248,5,7,7,6,0,1,224,16,200,168,168,200, - 176,3,1,1,6,1,7,224,4,4,4,6,1,5,96,144, - 144,96,5,6,6,6,0,1,32,32,248,32,32,248,3,4, - 4,6,1,6,192,32,64,224,3,5,5,6,1,5,192,32, - 96,32,192,4,2,2,6,2,7,112,224,5,7,7,6,0, - 254,144,144,144,144,232,128,128,5,9,9,6,0,0,120,168, - 168,168,120,40,40,40,40,2,2,2,6,2,3,192,192,4, - 3,3,6,1,254,240,112,224,3,4,4,6,1,6,192,64, - 64,224,4,7,7,6,1,3,96,144,144,96,0,0,240,5, - 4,4,6,0,0,144,72,72,144,6,10,10,6,0,0,192, - 64,68,232,16,32,72,152,56,8,6,10,10,6,0,0,192, - 64,68,232,16,32,88,132,8,28,6,10,10,6,0,0,192, - 32,100,40,208,32,72,152,56,8,5,8,8,6,0,0,32, - 0,32,64,128,128,136,112,5,10,10,6,0,0,64,32,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,16,32,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,0, - 32,80,80,136,248,136,136,5,10,10,6,0,0,104,176,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,80,0,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,32, - 80,80,136,136,248,136,136,5,8,8,6,0,0,120,160,160, - 240,160,160,160,184,5,10,10,6,0,254,112,136,128,128,128, - 128,136,112,32,64,5,10,10,6,0,0,64,32,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,16,32,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,32,80,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,80,0,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,64,32,248,32,32, - 32,32,32,32,248,5,10,10,6,0,0,16,32,248,32,32, - 32,32,32,32,248,5,10,10,6,0,0,32,80,0,248,32, - 32,32,32,32,248,5,10,10,6,0,0,80,0,248,32,32, - 32,32,32,32,248,6,8,8,6,0,0,120,68,68,228,68, - 68,68,120,5,10,10,6,0,0,104,176,136,200,168,152,136, - 136,136,136,5,10,10,6,0,0,64,32,112,136,136,136,136, - 136,136,112,5,10,10,6,0,0,16,32,112,136,136,136,136, - 136,136,112,5,10,10,6,0,0,32,80,0,112,136,136,136, - 136,136,112,5,10,10,6,0,0,104,176,112,136,136,136,136, - 136,136,112,5,10,10,6,0,0,80,0,112,136,136,136,136, - 136,136,112,5,5,5,6,0,2,136,80,32,80,136,5,8, - 8,6,0,0,112,136,152,168,200,136,136,112,5,10,10,6, - 0,0,64,32,136,136,136,136,136,136,136,112,5,10,10,6, - 0,0,16,32,136,136,136,136,136,136,136,112,5,10,10,6, - 0,0,32,80,0,136,136,136,136,136,136,112,5,10,10,6, - 0,0,80,0,136,136,136,136,136,136,136,112,5,10,10,6, - 0,0,16,32,136,136,136,136,80,32,32,32,5,8,8,6, - 0,0,128,240,136,136,136,240,128,128,5,10,10,6,0,255, - 48,72,136,144,144,136,136,136,176,128,5,9,9,6,0,0, - 32,16,0,0,120,136,136,152,104,5,9,9,6,0,0,16, - 32,0,0,120,136,136,152,104,5,9,9,6,0,0,32,80, - 0,0,120,136,136,152,104,5,9,9,6,0,0,104,176,0, - 0,120,136,136,152,104,5,8,8,6,0,0,80,0,0,120, - 136,136,152,104,5,9,9,6,0,0,32,80,32,0,120,136, - 136,152,104,5,5,5,6,0,0,112,168,184,160,120,5,7, - 7,6,0,254,112,136,128,128,120,32,64,5,9,9,6,0, - 0,64,32,0,0,112,136,248,128,120,5,9,9,6,0,0, - 16,32,0,0,112,136,248,128,120,5,9,9,6,0,0,32, - 80,0,0,112,136,248,128,120,5,8,8,6,0,0,80,0, - 0,112,136,248,128,120,3,9,9,6,1,0,128,64,0,0, - 192,64,64,64,224,3,9,9,6,1,0,32,64,0,0,192, - 64,64,64,224,3,9,9,6,1,0,64,160,0,0,192,64, - 64,64,224,3,8,8,6,1,0,160,0,0,192,64,64,64, - 224,5,9,9,6,0,0,96,96,16,8,120,136,136,136,112, - 5,9,9,6,0,0,104,176,0,0,176,200,136,136,136,5, - 9,9,6,0,0,64,32,0,0,112,136,136,136,112,5,9, - 9,6,0,0,16,32,0,0,112,136,136,136,112,5,9,9, - 6,0,0,32,80,0,0,112,136,136,136,112,5,9,9,6, - 0,0,104,176,0,0,112,136,136,136,112,5,8,8,6,0, - 0,80,0,0,112,136,136,136,112,5,5,5,6,0,1,32, - 0,248,0,32,5,5,5,6,0,0,112,152,168,200,112,5, - 9,9,6,0,0,64,32,0,0,136,136,136,152,104,5,9, - 9,6,0,0,16,32,0,0,136,136,136,152,104,5,9,9, - 6,0,0,32,80,0,0,136,136,136,152,104,5,8,8,6, - 0,0,80,0,0,136,136,136,152,104,5,11,11,6,0,254, - 16,32,0,0,136,136,136,136,120,8,112,5,10,10,6,0, - 254,128,128,128,240,136,136,136,240,128,128,5,10,10,6,0, - 254,80,0,0,136,136,136,136,120,8,112}; -/* - Fontname: ProFont12 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w= 6 h=11 x= 2 y= 7 dx= 6 dy= 0 ascent= 9 len=11 - Font Bounding box w= 6 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont12r[1258] U8G_FONT_SECTION("u8g_font_profont12r") = { - 0,6,11,0,254,8,1,178,3,103,32,127,254,9,254,9, - 254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128, - 128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5, - 5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32, - 112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120, - 168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160, - 64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10, - 10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10, - 10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5, - 5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32, - 32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1, - 1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10, - 6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8, - 6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0, - 0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112, - 136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8, - 48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248, - 16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136, - 112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5, - 8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8, - 6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0, - 0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192, - 192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192, - 192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16, - 5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128, - 64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8, - 16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128, - 128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136, - 5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8, - 8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6, - 0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0, - 248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128, - 128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128, - 152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136, - 136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248, - 5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8, - 8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6, - 0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0, - 136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200, - 168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136, - 136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128, - 128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112, - 8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5, - 8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8, - 6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0, - 0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136, - 136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136, - 136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32, - 80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32, - 32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2, - 10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5, - 10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2, - 10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5, - 3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240, - 5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0, - 0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112, - 136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64, - 64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5, - 8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8, - 6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0, - 254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0, - 0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192, - 64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168, - 168,168,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,240,136, - 136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120, - 8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5, - 6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64, - 64,224,64,64,64,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,168,168,168,168,80,5,5,5,6,0,0,136,80,32, - 80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5, - 5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254, - 32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2, - 255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1, - 254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6, - 0,4,104,176,0,0,0,6,0,0}; -/* - Fontname: ProFont15 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=15 x= 4 y= 8 dx= 7 dy= 0 ascent=12 len=15 - Font Bounding box w= 7 h=14 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont15[3186] U8G_FONT_SECTION("u8g_font_profont15") = { - 0,7,14,0,253,9,1,217,3,175,32,255,253,12,253,11, - 253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128, - 128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144, - 6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7, - 0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7, - 9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9, - 9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4, - 7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64, - 128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254, - 128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6, - 7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32, - 32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4, - 1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12, - 12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128, - 6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7, - 9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9, - 9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9, - 7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7, - 0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0, - 0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0, - 120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252, - 4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132, - 132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132, - 132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0, - 0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96, - 32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32, - 16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0, - 0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0, - 120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48, - 48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132, - 132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128, - 128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132, - 132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248, - 128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128, - 128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132, - 132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132, - 132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254, - 6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6, - 9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9, - 9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9, - 7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7, - 0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0, - 0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0, - 248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120, - 132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248, - 132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132, - 128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16, - 16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132, - 132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68, - 40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146, - 170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72, - 132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16, - 16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252, - 3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128, - 128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16, - 8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32, - 32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7, - 1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6, - 6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0, - 0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0, - 120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124, - 132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128, - 124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6, - 9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9, - 9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12, - 7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6, - 9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9, - 9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6, - 7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152, - 164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132, - 120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6, - 6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0, - 0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64, - 224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140, - 148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6, - 6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0, - 132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132, - 132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64, - 252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64, - 64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192, - 32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2, - 2,7,0,4,100,152,0,0,0,7,0,0,0,0,0,7, - 0,0,0,0,0,7,0,0,2,4,4,7,0,255,64,64, - 64,128,7,14,14,7,0,254,6,8,16,16,16,56,16,16, - 16,16,16,16,32,192,5,4,4,7,0,255,72,72,72,144, - 7,1,1,7,0,0,146,3,6,6,7,2,3,64,224,64, - 64,64,64,3,6,6,7,2,3,64,224,64,64,224,64,5, - 3,3,7,1,8,32,80,136,7,10,10,7,0,0,126,164, - 168,176,96,84,170,42,42,20,6,12,12,7,0,0,68,40, - 16,120,132,128,128,120,4,4,132,120,2,5,5,7,0,0, - 64,128,128,128,64,6,9,9,7,0,0,124,144,144,144,152, - 144,144,144,124,0,0,0,7,0,0,0,0,0,7,0,0, - 0,0,0,7,0,0,0,0,0,7,0,0,2,4,4,7, - 3,5,64,128,128,128,2,4,4,7,3,5,64,64,64,128, - 5,4,4,7,1,5,72,144,144,144,5,4,4,7,1,5, - 72,72,72,144,6,6,6,7,0,2,48,120,252,252,120,48, - 4,1,1,7,1,3,240,7,1,1,7,0,3,254,6,2, - 2,7,0,8,100,152,7,4,4,7,0,5,242,94,82,82, - 6,11,11,7,0,0,68,40,16,0,0,124,128,120,4,4, - 248,2,5,5,7,0,0,128,64,64,64,128,6,6,6,7, - 0,0,104,148,156,144,144,108,0,0,0,7,0,0,0,0, - 0,7,0,0,7,12,12,7,0,0,68,0,0,130,130,130, - 68,40,16,16,16,16,0,0,0,7,0,0,1,9,9,7, - 4,0,128,0,128,128,128,128,128,128,128,5,10,10,7,0, - 254,32,32,112,168,160,160,160,120,32,32,6,11,11,7,0, - 0,96,144,128,128,240,128,128,128,132,136,240,7,7,7,7, - 0,0,130,68,56,40,56,68,130,7,10,10,7,0,0,130, - 68,40,254,16,16,254,16,16,16,1,13,13,7,3,254,128, - 128,128,128,128,0,0,0,128,128,128,128,128,6,13,13,7, - 0,255,120,132,132,68,160,144,72,36,20,136,132,132,120,4, - 1,1,7,1,8,144,6,9,9,7,0,0,240,8,116,132, - 132,132,116,8,240,5,8,8,7,1,4,120,136,136,136,120, - 0,0,248,6,5,5,7,0,0,68,136,136,136,68,6,4, - 4,7,0,1,252,4,4,4,5,1,1,7,0,3,248,6, - 8,8,7,0,1,240,8,100,148,148,228,148,136,4,1,1, - 7,1,8,240,5,5,5,7,1,6,112,136,136,136,112,5, - 6,6,7,0,1,32,32,248,32,32,248,4,5,5,7,1, - 7,96,144,32,64,240,4,5,5,7,1,7,96,144,32,144, - 96,3,3,3,7,3,8,96,224,192,6,9,9,7,0,253, - 136,136,136,136,136,244,128,128,128,6,10,10,7,0,0,60, - 84,148,148,84,60,20,20,20,20,2,2,2,7,3,3,192, - 192,2,3,3,7,2,254,192,64,128,3,5,5,7,2,7, - 192,64,64,64,224,5,8,8,7,1,4,112,136,136,136,112, - 0,0,248,6,5,5,7,0,0,136,68,68,68,136,7,12, - 12,7,0,0,96,32,32,34,116,8,16,36,76,148,30,4, - 7,12,12,7,0,0,96,32,32,34,116,8,16,44,82,132, - 8,30,7,12,12,7,0,0,96,144,32,146,100,8,16,36, - 76,148,30,4,6,9,9,7,0,0,16,0,16,32,64,128, - 128,132,120,6,12,12,7,0,0,64,32,16,48,48,72,72, - 132,252,132,132,132,6,12,12,7,0,0,8,16,32,48,48, - 72,72,132,252,132,132,132,6,12,12,7,0,0,16,40,68, - 48,48,72,72,132,252,132,132,132,6,12,12,7,0,0,100, - 152,0,48,48,72,72,132,252,132,132,132,6,12,12,7,0, - 0,72,0,0,48,48,72,72,132,252,132,132,132,6,12,12, - 7,0,0,48,72,72,48,48,72,72,132,252,132,132,132,6, - 9,9,7,0,0,124,144,144,144,248,144,144,144,156,6,11, - 11,7,0,254,120,132,128,128,128,128,128,132,120,16,32,6, - 12,12,7,0,0,64,32,16,252,128,128,128,248,128,128,128, - 252,6,12,12,7,0,0,8,16,32,252,128,128,128,248,128, - 128,128,252,6,12,12,7,0,0,16,40,68,252,128,128,128, - 248,128,128,128,252,6,12,12,7,0,0,72,0,0,252,128, - 128,128,248,128,128,128,252,7,12,12,7,0,0,64,32,16, - 254,16,16,16,16,16,16,16,254,7,12,12,7,0,0,4, - 8,16,254,16,16,16,16,16,16,16,254,7,12,12,7,0, - 0,16,40,68,254,16,16,16,16,16,16,16,254,7,12,12, - 7,0,0,72,0,0,254,16,16,16,16,16,16,16,254,6, - 9,9,7,0,0,120,68,68,68,228,68,68,68,120,6,12, - 12,7,0,0,100,152,0,132,196,164,148,140,132,132,132,132, - 6,12,12,7,0,0,64,32,16,120,132,132,132,132,132,132, - 132,120,6,12,12,7,0,0,8,16,32,120,132,132,132,132, - 132,132,132,120,6,12,12,7,0,0,16,40,68,120,132,132, - 132,132,132,132,132,120,6,12,12,7,0,0,100,152,0,120, - 132,132,132,132,132,132,132,120,6,12,12,7,0,0,72,0, - 0,120,132,132,132,132,132,132,132,120,5,5,5,7,0,2, - 136,80,32,80,136,6,9,9,7,0,0,120,132,140,148,164, - 196,132,132,120,6,12,12,7,0,0,64,32,16,132,132,132, - 132,132,132,132,132,120,6,12,12,7,0,0,8,16,32,132, - 132,132,132,132,132,132,132,120,6,12,12,7,0,0,16,40, - 68,0,132,132,132,132,132,132,132,120,6,12,12,7,0,0, - 72,0,0,132,132,132,132,132,132,132,132,120,7,12,12,7, - 0,0,4,8,16,130,130,130,68,40,16,16,16,16,6,9, - 9,7,0,0,128,248,132,132,132,248,128,128,128,6,11,11, - 7,0,255,56,68,132,136,144,144,136,132,132,152,128,6,11, - 11,7,0,0,64,32,16,0,0,124,132,132,140,148,100,6, - 11,11,7,0,0,4,8,16,0,0,124,132,132,140,148,100, - 6,11,11,7,0,0,16,40,68,0,0,124,132,132,140,148, - 100,6,10,10,7,0,0,100,152,0,0,124,132,132,140,148, - 100,6,9,9,7,0,0,72,0,0,124,132,132,140,148,100, - 6,10,10,7,0,0,48,72,72,48,124,132,132,140,148,100, - 6,6,6,7,0,0,120,164,188,160,160,124,6,8,8,7, - 0,254,120,132,128,128,128,124,16,32,6,11,11,7,0,0, - 64,32,16,0,0,120,132,252,128,128,124,6,11,11,7,0, - 0,4,8,16,0,0,120,132,252,128,128,124,6,11,11,7, - 0,0,16,40,68,0,0,120,132,252,128,128,124,6,9,9, - 7,0,0,72,0,0,120,132,252,128,128,124,4,11,11,7, - 1,0,128,64,32,0,0,96,32,32,32,32,112,4,11,11, - 7,2,0,16,32,64,0,0,192,64,64,64,64,224,5,11, - 11,7,1,0,32,80,136,0,0,96,32,32,32,32,112,4, - 9,9,7,1,0,144,0,0,96,32,32,32,32,112,6,11, - 11,7,0,0,80,32,80,8,4,124,132,132,132,132,120,6, - 10,10,7,0,0,100,152,0,0,152,164,196,132,132,132,6, - 11,11,7,0,0,64,32,16,0,0,120,132,132,132,132,120, - 6,11,11,7,0,0,4,8,16,0,0,120,132,132,132,132, - 120,6,11,11,7,0,0,16,40,68,0,0,120,132,132,132, - 132,120,6,10,10,7,0,0,100,152,0,0,120,132,132,132, - 132,120,6,9,9,7,0,0,72,0,0,120,132,132,132,132, - 120,5,5,5,7,0,1,32,0,248,0,32,6,6,6,7, - 0,0,120,140,148,164,196,120,6,11,11,7,0,0,64,32, - 16,0,0,132,132,132,140,148,100,6,11,11,7,0,0,4, - 8,16,0,0,132,132,132,140,148,100,6,11,11,7,0,0, - 16,40,68,0,0,132,132,132,140,148,100,6,9,9,7,0, - 0,72,0,0,132,132,132,140,148,100,6,14,14,7,0,253, - 4,8,16,0,0,132,132,132,132,132,124,4,4,120,6,12, - 12,7,0,253,128,128,128,248,132,132,132,132,248,128,128,128, - 6,12,12,7,0,253,72,0,0,132,132,132,132,132,124,4, - 4,120}; -/* - Fontname: ProFont15 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=15 x= 3 y= 8 dx= 7 dy= 0 ascent=12 len=15 - Font Bounding box w= 7 h=14 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont15r[1372] U8G_FONT_SECTION("u8g_font_profont15r") = { - 0,7,14,0,253,9,1,217,3,175,32,127,253,12,253,11, - 253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128, - 128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144, - 6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7, - 0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7, - 9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9, - 9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4, - 7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64, - 128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254, - 128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6, - 7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32, - 32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4, - 1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12, - 12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128, - 6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7, - 9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9, - 9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9, - 7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7, - 0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0, - 0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0, - 120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252, - 4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132, - 132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132, - 132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0, - 0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96, - 32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32, - 16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0, - 0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0, - 120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48, - 48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132, - 132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128, - 128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132, - 132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248, - 128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128, - 128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132, - 132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132, - 132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254, - 6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6, - 9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9, - 9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9, - 7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7, - 0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0, - 0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0, - 248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120, - 132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248, - 132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132, - 128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16, - 16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132, - 132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68, - 40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146, - 170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72, - 132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16, - 16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252, - 3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128, - 128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16, - 8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32, - 32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7, - 1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6, - 6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0, - 0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0, - 120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124, - 132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128, - 124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6, - 9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9, - 9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12, - 7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6, - 9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9, - 9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6, - 7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152, - 164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132, - 120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6, - 6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0, - 0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64, - 224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140, - 148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6, - 6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0, - 132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132, - 132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64, - 252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64, - 64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192, - 32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2, - 2,7,0,4,100,152,0,0,0,7,0,0}; -/* - Fontname: ProFont17 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w= 9 h=17 x= 5 y=10 dx=14 dy= 0 ascent=14 len=32 - Font Bounding box w=14 h=16 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =13 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont17[3681] U8G_FONT_SECTION("u8g_font_profont17") = { - 0,14,16,0,253,11,2,35,4,78,32,255,253,14,253,13, - 253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192, - 192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216, - 216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108, - 8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219, - 219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124, - 60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204, - 216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192, - 192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192, - 192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48, - 24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14, - 0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1, - 24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112, - 112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14, - 2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3, - 0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48, - 0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0, - 0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14, - 0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11, - 14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11, - 11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8, - 11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15, - 8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126, - 60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195, - 126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24, - 24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126, - 195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195, - 127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0, - 224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112, - 112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192, - 96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255, - 7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96, - 192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0, - 24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206, - 192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255, - 255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252, - 198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192, - 192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195, - 195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192, - 192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255, - 192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60, - 126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0, - 0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14, - 0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11, - 14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11, - 11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8, - 11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195, - 8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195, - 195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195, - 126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192, - 192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195, - 219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195, - 254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195, - 192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255, - 24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195, - 195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0, - 0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14, - 0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11, - 14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11, - 11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4, - 15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192, - 192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0, - 96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0, - 6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254, - 240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7, - 5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253, - 255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8, - 8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8, - 14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0, - 0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14, - 0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0, - 28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0, - 253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11, - 14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14, - 14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24, - 240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248, - 204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48, - 48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219, - 219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195, - 8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11, - 11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8, - 11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3, - 8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8, - 8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14, - 2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8, - 14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0, - 0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219, - 219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60, - 24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195, - 195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24, - 48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48, - 48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3, - 254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48, - 96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142, - 0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14, - 0,0,4,5,5,14,0,254,48,48,48,96,192,8,17,17, - 14,0,253,7,15,24,24,24,24,60,60,24,24,24,24,24, - 24,24,240,224,7,5,5,14,0,254,54,54,54,108,216,8, - 2,2,14,0,0,219,219,4,9,9,14,2,2,96,96,240, - 240,96,96,96,96,96,4,9,9,14,2,2,96,96,240,240, - 96,240,240,96,96,6,3,3,14,1,10,48,120,204,9,13, - 26,14,0,0,63,128,127,128,217,128,219,0,222,0,124,0, - 56,0,63,0,127,128,214,128,150,128,31,128,15,0,8,14, - 14,14,0,0,102,60,24,60,126,195,192,124,62,7,195,195, - 126,60,4,7,7,14,0,0,48,96,192,192,192,96,48,8, - 11,11,14,0,0,63,127,216,216,220,220,216,216,216,127,63, - 0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14, - 0,0,0,0,0,14,0,0,4,5,5,14,3,6,48,96, - 192,192,192,4,5,5,14,3,6,48,48,48,96,192,7,5, - 5,14,1,6,54,108,216,216,216,7,5,5,14,1,6,54, - 54,54,108,216,7,7,7,14,0,2,56,124,254,254,254,124, - 56,5,2,2,14,2,5,248,248,9,2,4,14,0,5,255, - 128,255,128,8,3,3,14,0,9,113,219,142,9,5,10,14, - 0,6,252,128,39,128,39,128,36,128,36,128,8,13,13,14, - 0,0,102,60,24,0,0,63,255,192,252,63,3,255,252,4, - 7,7,14,0,0,192,96,48,48,48,96,192,8,8,8,14, - 0,0,36,126,219,223,223,216,127,39,0,0,0,14,0,0, - 0,0,0,14,0,0,8,14,14,14,0,0,102,102,0,195, - 195,195,195,231,126,60,24,24,24,24,0,0,0,14,0,0, - 2,11,11,14,5,0,192,192,0,192,192,192,192,192,192,192, - 192,8,12,12,14,0,254,24,24,60,126,219,219,216,216,127, - 63,24,24,8,12,12,14,0,0,120,252,204,192,240,240,192, - 192,192,199,254,252,8,8,8,14,0,0,129,66,60,36,36, - 60,66,129,8,11,11,14,0,0,195,102,60,255,255,24,255, - 255,24,24,24,2,15,15,14,3,254,192,192,192,192,192,192, - 0,0,0,192,192,192,192,192,192,8,16,16,14,0,254,60, - 126,99,99,51,216,204,198,99,51,27,204,198,198,126,60,4, - 2,2,14,2,9,144,240,8,11,11,14,0,0,120,252,134, - 123,251,195,251,123,134,252,120,6,9,9,14,2,5,60,124, - 204,204,124,60,0,252,252,8,7,7,14,0,0,51,102,204, - 204,204,102,51,8,4,4,14,0,2,255,255,3,3,8,2, - 2,14,0,4,255,255,8,10,10,14,0,1,248,252,6,243, - 251,219,243,251,222,204,5,2,2,14,2,9,248,248,6,6, - 6,14,2,6,48,120,204,204,120,48,8,9,9,14,0,0, - 24,24,24,255,255,24,24,255,255,4,6,6,14,2,8,96, - 144,16,32,64,240,4,6,6,14,2,8,96,144,32,16,144, - 96,4,4,4,14,3,9,48,112,224,192,8,11,11,14,0, - 253,204,204,204,204,204,204,255,243,192,192,192,8,13,13,14, - 0,0,63,127,219,219,219,219,127,63,27,27,27,27,27,3, - 3,3,14,3,4,224,224,224,4,5,5,14,1,253,112,112, - 48,96,192,3,6,6,14,3,8,192,64,64,64,64,224,6, - 9,9,14,2,5,48,120,204,204,120,48,0,252,252,8,7, - 7,14,0,0,204,102,51,51,51,102,204,9,14,28,14,0, - 0,96,0,32,0,32,0,32,128,33,0,114,0,4,0,8, - 0,17,0,35,0,69,0,137,0,15,128,1,0,9,14,28, - 14,0,0,96,0,32,0,32,0,32,128,33,0,114,0,4, - 0,8,0,19,0,36,128,64,128,129,0,2,0,7,128,9, - 14,28,14,0,0,48,0,72,0,16,0,8,128,73,0,50, - 0,4,0,8,0,17,0,35,0,69,0,137,0,15,128,1, - 0,8,11,11,14,0,0,24,24,0,8,24,48,96,195,195, - 126,60,8,14,14,14,0,0,96,48,24,24,60,60,102,102, - 195,255,255,195,195,195,8,14,14,14,0,0,6,12,24,24, - 60,60,102,102,195,255,255,195,195,195,8,14,14,14,0,0, - 24,60,102,24,60,60,102,102,195,255,255,195,195,195,8,14, - 14,14,0,0,115,219,142,24,60,60,102,102,195,255,255,195, - 195,195,8,14,14,14,0,0,102,102,0,24,60,60,102,102, - 195,255,255,195,195,195,8,14,14,14,0,0,24,60,36,60, - 24,60,102,102,195,255,255,195,195,195,8,11,11,14,0,0, - 63,127,216,216,252,252,216,216,216,223,223,8,14,14,14,0, - 253,60,126,195,195,192,192,192,195,195,126,60,24,48,96,8, - 14,14,14,0,0,96,48,24,255,255,192,192,252,252,192,192, - 192,255,255,8,14,14,14,0,0,6,12,24,255,255,192,192, - 252,252,192,192,192,255,255,8,14,14,14,0,0,24,60,102, - 255,255,192,192,252,252,192,192,192,255,255,8,14,14,14,0, - 0,102,102,0,255,255,192,192,252,252,192,192,192,255,255,8, - 14,14,14,0,0,96,48,24,255,255,24,24,24,24,24,24, - 24,255,255,8,14,14,14,0,0,6,12,24,255,255,24,24, - 24,24,24,24,24,255,255,8,14,14,14,0,0,24,60,102, - 255,255,24,24,24,24,24,24,24,255,255,8,14,14,14,0, - 0,102,102,0,255,255,24,24,24,24,24,24,24,255,255,8, - 11,11,14,0,0,124,126,99,99,243,243,99,99,99,126,124, - 8,14,14,14,0,0,113,219,142,195,227,243,219,207,199,195, - 195,195,195,195,8,14,14,14,0,0,96,48,24,60,126,195, - 195,195,195,195,195,195,126,60,8,14,14,14,0,0,6,12, - 24,60,126,195,195,195,195,195,195,195,126,60,8,14,14,14, - 0,0,24,60,102,0,60,126,195,195,195,195,195,195,126,60, - 8,14,14,14,0,0,113,219,142,60,126,195,195,195,195,195, - 195,195,126,60,8,14,14,14,0,0,102,102,0,60,126,195, - 195,195,195,195,195,195,126,60,8,7,7,14,0,2,195,102, - 60,24,60,102,195,8,11,11,14,0,0,60,126,195,199,207, - 219,243,227,195,126,60,8,14,14,14,0,0,96,48,24,195, - 195,195,195,195,195,195,195,195,126,60,8,14,14,14,0,0, - 6,12,24,195,195,195,195,195,195,195,195,195,126,60,8,14, - 14,14,0,0,24,60,102,0,195,195,195,195,195,195,195,195, - 126,60,8,14,14,14,0,0,102,102,0,195,195,195,195,195, - 195,195,195,195,126,60,8,14,14,14,0,0,6,12,24,195, - 195,195,195,231,126,60,24,24,24,24,8,11,11,14,0,0, - 192,192,252,254,195,195,254,252,192,192,192,8,15,15,14,0, - 254,28,62,99,195,195,198,204,204,198,195,195,222,220,192,192, - 8,13,13,14,0,0,16,24,12,4,0,63,127,195,195,199, - 207,123,51,8,13,13,14,0,0,4,12,24,16,0,63,127, - 195,195,199,207,123,51,8,12,12,14,0,0,24,60,102,0, - 63,127,195,195,199,207,123,51,8,12,12,14,0,0,113,219, - 142,0,63,127,195,195,199,207,123,51,8,11,11,14,0,0, - 102,102,0,63,127,195,195,199,207,123,51,8,12,12,14,0, - 0,24,36,36,24,63,127,195,195,199,207,123,51,8,8,8, - 14,0,0,60,126,219,223,223,216,127,63,8,11,11,14,0, - 253,60,126,195,195,192,192,127,63,24,48,96,8,13,13,14, - 0,0,32,48,24,8,0,60,126,195,255,255,192,127,63,8, - 13,13,14,0,0,4,12,24,16,0,60,126,195,255,255,192, - 127,63,8,12,12,14,0,0,24,60,102,0,60,126,195,255, - 255,192,127,63,8,11,11,14,0,0,102,102,0,60,126,195, - 255,255,192,127,63,6,13,13,14,1,0,128,192,96,32,0, - 240,240,48,48,48,48,252,252,6,13,13,14,1,0,8,24, - 48,32,0,240,240,48,48,48,48,252,252,6,12,12,14,1, - 0,48,120,204,0,240,240,48,48,48,48,252,252,6,11,11, - 14,1,0,204,204,0,240,240,48,48,48,48,252,252,8,13, - 13,14,0,0,72,48,48,72,4,62,127,195,195,195,195,126, - 60,8,12,12,14,0,0,113,219,142,0,204,222,243,227,195, - 195,195,195,8,13,13,14,0,0,32,48,24,8,0,60,126, - 195,195,195,195,126,60,8,13,13,14,0,0,4,12,24,16, - 0,60,126,195,195,195,195,126,60,8,12,12,14,0,0,24, - 60,102,0,60,126,195,195,195,195,126,60,8,12,12,14,0, - 0,113,219,142,0,60,126,195,195,195,195,126,60,8,11,11, - 14,0,0,102,102,0,60,126,195,195,195,195,126,60,8,8, - 8,14,0,2,24,24,0,255,255,0,24,24,8,8,8,14, - 0,0,60,126,199,207,243,227,126,60,8,13,13,14,0,0, - 32,48,24,8,0,195,195,195,195,199,207,123,51,8,13,13, - 14,0,0,4,12,24,16,0,195,195,195,195,199,207,123,51, - 8,12,12,14,0,0,24,60,102,0,195,195,195,195,199,207, - 123,51,8,11,11,14,0,0,102,102,0,195,195,195,195,199, - 207,123,51,8,16,16,14,0,253,4,12,24,16,0,195,195, - 195,195,195,195,127,63,3,62,60,8,14,14,14,0,253,192, - 192,192,252,254,195,195,195,195,254,252,192,192,192,8,14,14, - 14,0,253,102,102,0,195,195,195,195,195,195,127,63,3,62, - 60}; -/* - Fontname: ProFont17 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w= 9 h=17 x= 3 y= 9 dx=14 dy= 0 ascent=14 len=32 - Font Bounding box w=14 h=16 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =13 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont17r[1590] U8G_FONT_SECTION("u8g_font_profont17r") = { - 0,14,16,0,253,11,2,35,4,78,32,127,253,14,253,13, - 253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192, - 192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216, - 216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108, - 8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219, - 219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124, - 60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204, - 216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192, - 192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192, - 192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48, - 24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14, - 0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1, - 24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112, - 112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14, - 2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3, - 0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48, - 0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0, - 0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14, - 0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11, - 14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11, - 11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8, - 11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15, - 8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126, - 60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195, - 126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24, - 24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126, - 195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195, - 127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0, - 224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112, - 112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192, - 96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255, - 7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96, - 192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0, - 24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206, - 192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255, - 255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252, - 198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192, - 192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195, - 195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192, - 192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255, - 192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60, - 126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0, - 0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14, - 0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11, - 14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11, - 11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8, - 11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195, - 8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195, - 195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195, - 126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192, - 192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195, - 219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195, - 254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195, - 192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255, - 24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195, - 195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0, - 0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14, - 0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11, - 14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11, - 11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4, - 15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192, - 192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0, - 96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0, - 6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254, - 240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7, - 5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253, - 255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8, - 8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8, - 14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0, - 0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14, - 0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0, - 28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0, - 253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11, - 14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14, - 14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24, - 240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248, - 204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48, - 48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219, - 219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195, - 8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11, - 11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8, - 11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3, - 8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8, - 8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14, - 2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8, - 14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0, - 0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219, - 219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60, - 24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195, - 195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24, - 48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48, - 48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3, - 254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48, - 96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142, - 0,0,0,14,0,0}; -/* - Fontname: ProFont22 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=12 h=22 x= 6 y=12 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=12 h=21 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =16 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont22[6454] U8G_FONT_SECTION("u8g_font_profont22") = { - 0,12,21,0,252,14,3,117,7,113,32,255,252,18,252,16, - 252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192, - 192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2, - 10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51, - 0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51, - 0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237, - 192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204, - 192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0, - 0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63, - 128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28, - 12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120, - 0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2, - 6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2, - 254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112, - 56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12, - 12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0, - 4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204, - 192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12, - 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5, - 9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2, - 2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96, - 11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128, - 1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0, - 24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14, - 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, - 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, - 10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, - 255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192, - 0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192, - 192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192, - 225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0, - 15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192, - 3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192, - 255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192, - 0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, - 63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12, - 0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128, - 7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14, - 28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128, - 63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0, - 10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, - 63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240, - 240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120, - 120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14, - 28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0, - 4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14, - 12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0, - 192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12, - 0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192, - 192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224, - 0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30, - 0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192, - 192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63, - 0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192, - 0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28, - 12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10, - 14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192, - 192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192, - 192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193, - 192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220, - 0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28, - 12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204, - 192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10, - 14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206, - 192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192, - 0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204, - 192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255, - 128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28, - 12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127, - 0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10, - 14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255, - 192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192, - 192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115, - 128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192, - 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, - 0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0, - 0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28, - 0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18, - 12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96, - 0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6, - 0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0, - 96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0, - 8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4, - 12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112, - 48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192, - 192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20, - 12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192, - 0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63, - 0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127, - 192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48, - 48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127, - 192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63, - 192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192, - 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2, - 0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6, - 18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12, - 12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192, - 0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254, - 0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240, - 240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20, - 12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204, - 192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223, - 128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192, - 192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0, - 252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193, - 192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28, - 12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192, - 192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10, - 10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192, - 0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63, - 192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255, - 128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48, - 48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192, - 192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60, - 192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97, - 128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0, - 0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204, - 192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115, - 128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10, - 14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63, - 0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14, - 0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2, - 252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48, - 48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6, - 22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28, - 28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0, - 6,48,192,124,192,207,128,195,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,4,7,7,12,0, - 253,48,48,48,48,112,224,64,10,22,44,12,0,252,3,192, - 7,192,14,0,12,0,12,0,12,0,12,0,12,0,63,0, - 63,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,28,0,248,0,240,0,8,7,7,12,0,253, - 51,51,51,51,119,238,68,10,2,4,12,0,0,204,192,204, - 192,6,10,10,12,2,4,48,48,252,252,48,48,48,48,48, - 48,6,10,10,12,2,4,48,48,252,252,48,48,252,252,48, - 48,6,4,4,12,2,12,48,120,252,204,12,16,32,12,0, - 0,63,240,127,240,204,224,205,192,207,128,207,0,126,0,60, - 0,60,192,127,224,243,48,243,48,179,48,51,48,31,224,12, - 192,10,18,36,12,0,0,51,0,63,0,30,0,12,0,63, - 0,127,128,225,192,192,192,192,0,224,0,127,0,63,128,1, - 192,0,192,192,192,225,192,127,128,63,0,4,10,10,12,0, - 255,48,112,96,224,192,192,224,96,112,48,10,14,28,12,0, - 0,63,192,127,192,236,0,204,0,204,0,204,0,207,0,207, - 0,204,0,204,0,204,0,236,0,127,192,63,192,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,4,7,7,12,4,8,32,112,224,192,192, - 192,192,4,7,7,12,4,7,48,48,48,48,112,224,64,8, - 7,7,12,2,8,34,119,238,204,204,204,204,8,7,7,12, - 2,7,51,51,51,51,119,238,68,10,10,20,12,0,2,30, - 0,127,128,127,128,255,192,255,192,255,192,255,192,127,128,127, - 128,30,0,6,2,2,12,2,6,252,252,12,2,4,12,0, - 6,255,240,255,240,10,4,8,12,0,12,48,192,124,192,207, - 128,195,0,12,6,12,12,0,8,255,48,255,240,51,240,51, - 240,51,48,51,48,10,16,32,12,0,0,51,0,63,0,30, - 0,12,0,0,0,0,0,63,192,127,192,192,0,192,0,127, - 0,63,128,0,192,0,192,255,128,255,0,4,10,10,12,0, - 255,192,224,96,112,48,48,112,96,224,192,10,10,20,12,0, - 0,51,0,127,128,204,192,204,192,207,192,207,192,204,0,204, - 0,127,192,51,192,0,0,0,12,0,0,0,0,0,12,0, - 0,10,18,36,12,0,0,51,0,51,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, - 0,12,0,12,0,12,0,12,0,12,0,0,0,0,12,0, - 0,2,14,14,12,6,0,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,10,14,28,12,0,254,12,0,12,0,63, - 0,127,128,237,192,204,192,204,0,204,0,204,0,236,0,127, - 192,63,192,12,0,12,0,10,16,32,12,0,0,60,0,126, - 0,231,0,195,0,192,0,192,0,252,0,252,0,192,0,192, - 0,192,0,192,0,192,192,193,192,255,128,255,0,10,10,20, - 12,0,0,64,128,225,192,127,128,63,0,51,0,51,0,63, - 0,127,128,225,192,64,128,10,14,28,12,0,0,192,192,225, - 192,115,128,63,0,255,192,255,192,12,0,12,0,255,192,255, - 192,12,0,12,0,12,0,12,0,2,18,18,12,4,254,192, - 192,192,192,192,192,192,192,0,0,192,192,192,192,192,192,192, - 192,10,20,40,12,0,254,31,0,127,128,97,192,224,192,112, - 192,56,192,220,0,206,0,199,0,227,128,113,192,56,192,28, - 192,14,192,199,0,195,128,193,192,225,128,127,128,62,0,6, - 2,2,12,2,12,204,204,10,14,28,12,0,0,120,0,254, - 0,135,0,1,128,61,128,124,192,192,192,192,192,124,192,61, - 128,1,128,135,0,254,0,120,0,8,12,12,12,2,6,63, - 127,227,195,195,227,127,63,0,0,255,255,10,10,20,12,0, - 255,48,192,113,192,97,128,227,128,195,0,195,0,227,128,97, - 128,113,192,48,192,10,6,12,12,0,2,255,192,255,192,0, - 192,0,192,0,192,0,192,10,2,4,12,0,6,255,192,255, - 192,10,12,24,12,0,2,120,0,254,0,135,0,1,128,241, - 128,248,192,204,192,204,192,248,192,249,192,223,128,207,0,6, - 2,2,12,2,12,252,252,8,8,8,12,2,8,60,126,231, - 195,195,231,126,60,10,12,24,12,0,0,12,0,12,0,12, - 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,255, - 192,255,192,5,7,7,12,3,11,112,136,8,16,32,64,248, - 5,7,7,12,3,11,112,136,8,48,8,136,112,4,4,4, - 12,4,12,48,112,224,192,10,14,28,12,0,252,195,0,195, - 0,195,0,195,0,195,0,195,0,195,0,199,128,255,192,252, - 192,192,0,192,0,192,0,192,0,10,16,32,12,0,0,31, - 192,127,192,124,192,236,192,204,192,204,192,236,192,124,192,127, - 192,31,192,12,192,12,192,12,192,12,192,12,192,12,192,4, - 4,4,12,4,4,96,240,240,96,4,6,6,12,2,252,240, - 240,48,112,224,64,5,7,7,12,3,11,32,224,32,32,32, - 32,248,8,12,12,12,2,6,60,126,231,195,195,231,126,60, - 0,0,255,255,10,10,20,12,0,255,195,0,227,128,97,128, - 113,192,48,192,48,192,113,192,97,128,227,128,195,0,12,18, - 36,12,0,0,16,0,112,0,16,0,16,0,16,16,16,32, - 124,64,0,128,1,0,2,0,4,0,8,64,16,192,33,64, - 66,64,131,224,0,64,0,224,12,18,36,12,0,0,16,0, - 112,0,16,0,16,0,16,16,16,32,124,64,0,128,1,0, - 2,0,4,0,9,192,18,32,32,32,64,64,128,128,1,0, - 3,224,12,18,36,12,0,0,56,0,68,0,4,0,24,0, - 4,16,68,32,56,64,0,128,1,0,2,0,4,0,8,64, - 16,192,33,64,66,64,131,224,0,64,0,224,10,14,28,12, - 0,0,12,0,12,0,0,0,0,0,12,0,28,0,56,0, - 112,0,224,0,192,0,192,192,225,192,127,128,63,0,10,18, - 36,12,0,0,48,0,56,0,28,0,12,0,12,0,30,0, - 30,0,51,0,51,0,97,128,97,128,192,192,255,192,255,192, - 192,192,192,192,192,192,192,192,10,18,36,12,0,0,3,0, - 7,0,14,0,12,0,12,0,30,0,30,0,51,0,51,0, - 97,128,97,128,192,192,255,192,255,192,192,192,192,192,192,192, - 192,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, - 12,0,30,0,30,0,51,0,51,0,97,128,97,128,192,192, - 255,192,255,192,192,192,192,192,192,192,192,192,10,18,36,12, - 0,0,48,192,124,192,207,128,195,0,12,0,30,0,30,0, - 51,0,51,0,97,128,97,128,192,192,255,192,255,192,192,192, - 192,192,192,192,192,192,10,18,36,12,0,0,51,0,51,0, - 0,0,0,0,12,0,30,0,30,0,51,0,51,0,97,128, - 97,128,192,192,255,192,255,192,192,192,192,192,192,192,192,192, - 10,18,36,12,0,0,12,0,30,0,51,0,51,0,30,0, - 30,0,30,0,51,0,51,0,97,128,97,128,192,192,255,192, - 255,192,192,192,192,192,192,192,192,192,10,14,28,12,0,0, - 63,192,127,192,236,0,204,0,204,0,204,0,255,0,255,0, - 204,0,204,0,204,0,204,0,207,192,207,192,10,18,36,12, - 0,252,63,0,127,128,225,192,192,192,192,0,192,0,192,0, - 192,0,192,0,192,0,192,192,225,192,127,128,63,0,12,0, - 28,0,56,0,16,0,10,18,36,12,0,0,48,0,56,0, - 28,0,12,0,255,192,255,192,192,0,192,0,192,0,192,0, - 255,0,255,0,192,0,192,0,192,0,192,0,255,192,255,192, - 10,18,36,12,0,0,3,0,7,0,14,0,12,0,255,192, - 255,192,192,0,192,0,192,0,192,0,255,0,255,0,192,0, - 192,0,192,0,192,0,255,192,255,192,10,18,36,12,0,0, - 12,0,30,0,63,0,51,0,255,192,255,192,192,0,192,0, - 192,0,192,0,255,0,255,0,192,0,192,0,192,0,192,0, - 255,192,255,192,10,18,36,12,0,0,51,0,51,0,0,0, - 0,0,255,192,255,192,192,0,192,0,192,0,192,0,255,0, - 255,0,192,0,192,0,192,0,192,0,255,192,255,192,10,18, - 36,12,0,0,48,0,56,0,28,0,12,0,255,192,255,192, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,255,192,255,192,10,18,36,12,0,0,3,0, - 7,0,14,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, - 255,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,255,192,255,192,10,18,36,12, - 0,0,51,0,51,0,0,0,0,0,255,192,255,192,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,255,192,255,192,10,14,28,12,0,0,63,0,63,128, - 49,192,48,192,48,192,48,192,252,192,252,192,48,192,48,192, - 48,192,49,192,63,128,63,0,10,18,36,12,0,0,48,192, - 124,192,207,128,199,0,192,192,224,192,240,192,248,192,220,192, - 206,192,199,192,195,192,193,192,192,192,192,192,192,192,192,192, - 192,192,10,18,36,12,0,0,48,0,56,0,28,0,12,0, - 63,0,127,128,225,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,18,36,12, - 0,0,3,0,7,0,14,0,12,0,63,0,127,128,225,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,18,36,12,0,0,12,0,30,0, - 63,0,51,0,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, - 10,18,36,12,0,0,48,192,124,192,207,128,199,0,63,0, - 127,128,225,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, - 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, - 127,128,63,0,10,10,20,12,0,2,64,128,225,192,115,128, - 63,0,30,0,30,0,63,0,115,128,225,192,64,128,10,14, - 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, - 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, - 10,18,36,12,0,0,48,0,56,0,28,0,12,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, - 3,0,7,0,14,0,12,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, - 127,128,63,0,10,18,36,12,0,0,12,0,30,0,63,0, - 51,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,18, - 36,12,0,0,51,0,51,0,0,0,0,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,18,36,12,0,0,3,0, - 7,0,14,0,12,0,192,192,192,192,192,192,192,192,192,192, - 225,192,115,128,63,0,30,0,12,0,12,0,12,0,12,0, - 12,0,10,14,28,12,0,0,192,0,192,0,255,0,255,128, - 193,192,192,192,192,192,193,192,255,128,255,0,192,0,192,0, - 192,0,192,0,10,18,36,12,0,254,15,0,31,128,57,192, - 112,192,224,192,193,192,195,128,195,0,195,0,195,128,193,192, - 192,192,192,192,193,192,207,128,207,0,192,0,192,0,10,16, - 32,12,0,0,12,0,14,0,7,0,3,0,0,0,0,0, - 63,192,127,192,224,192,192,192,192,192,193,192,195,192,231,192, - 126,192,60,192,10,16,32,12,0,0,3,0,7,0,14,0, - 12,0,0,0,0,0,63,192,127,192,224,192,192,192,192,192, - 193,192,195,192,231,192,126,192,60,192,10,16,32,12,0,0, - 12,0,30,0,63,0,51,0,0,0,0,0,63,192,127,192, - 224,192,192,192,192,192,193,192,195,192,231,192,126,192,60,192, - 10,16,32,12,0,0,48,192,124,192,207,128,199,0,0,0, - 0,0,63,192,127,192,224,192,192,192,192,192,193,192,195,192, - 231,192,126,192,60,192,10,14,28,12,0,0,51,0,51,0, - 0,0,0,0,63,192,127,192,224,192,192,192,192,192,193,192, - 195,192,231,192,126,192,60,192,10,16,32,12,0,0,12,0, - 30,0,51,0,51,0,30,0,12,0,63,192,127,192,224,192, - 192,192,192,192,193,192,195,192,231,192,126,192,60,192,10,10, - 20,12,0,0,63,0,127,128,237,192,204,192,207,192,207,192, - 204,0,236,0,127,192,63,192,10,14,28,12,0,252,63,0, - 127,128,225,192,192,192,192,0,192,0,192,0,224,0,127,192, - 63,192,12,0,28,0,56,0,16,0,10,16,32,12,0,0, - 48,0,56,0,28,0,12,0,0,0,0,0,63,0,127,128, - 225,192,192,192,255,192,255,192,192,0,224,0,127,192,63,192, - 10,16,32,12,0,0,3,0,7,0,14,0,12,0,0,0, - 0,0,63,0,127,128,225,192,192,192,255,192,255,192,192,0, - 224,0,127,192,63,192,10,16,32,12,0,0,12,0,30,0, - 63,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, - 255,192,255,192,192,0,224,0,127,192,63,192,10,14,28,12, - 0,0,51,0,51,0,0,0,0,0,63,0,127,128,225,192, - 192,192,255,192,255,192,192,0,224,0,127,192,63,192,6,16, - 16,12,2,0,192,224,112,48,0,0,240,240,48,48,48,48, - 48,48,252,252,6,16,16,12,2,0,12,28,56,48,0,0, - 240,240,48,48,48,48,48,48,252,252,6,16,16,12,2,0, - 48,120,252,204,0,0,240,240,48,48,48,48,48,48,252,252, - 6,14,14,12,2,0,204,204,0,0,240,240,48,48,48,48, - 48,48,252,252,10,17,34,12,0,0,36,0,126,0,60,0, - 60,0,126,0,39,0,3,128,63,192,127,192,225,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,16,32,12, - 0,0,48,192,124,192,207,128,199,0,0,0,0,0,207,0, - 223,128,249,192,240,192,224,192,192,192,192,192,192,192,192,192, - 192,192,10,16,32,12,0,0,48,0,56,0,28,0,12,0, - 0,0,0,0,63,0,127,128,225,192,192,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,12,0,0,3,0, - 7,0,14,0,12,0,0,0,0,0,63,0,127,128,225,192, - 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,16, - 32,12,0,0,12,0,30,0,63,0,51,0,0,0,0,0, - 63,0,127,128,225,192,192,192,192,192,192,192,192,192,225,192, - 127,128,63,0,10,16,32,12,0,0,48,192,124,192,207,128, - 199,0,0,0,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, - 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,10,20,12, - 0,2,12,0,12,0,0,0,0,0,255,192,255,192,0,0, - 0,0,12,0,12,0,10,10,20,12,0,0,63,0,127,128, - 227,192,199,192,206,192,220,192,248,192,241,192,127,128,63,0, - 10,16,32,12,0,0,48,0,56,0,28,0,12,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,193,192,195,192, - 231,192,126,192,60,192,10,16,32,12,0,0,3,0,7,0, - 14,0,12,0,0,0,0,0,192,192,192,192,192,192,192,192, - 192,192,193,192,195,192,231,192,126,192,60,192,10,16,32,12, - 0,0,12,0,30,0,63,0,51,0,0,0,0,0,192,192, - 192,192,192,192,192,192,192,192,193,192,195,192,231,192,126,192, - 60,192,10,14,28,12,0,0,51,0,51,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,193,192,195,192,231,192, - 126,192,60,192,10,20,40,12,0,252,3,0,7,0,14,0, - 12,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, - 63,0,10,18,36,12,0,252,192,0,192,0,192,0,192,0, - 255,0,255,128,193,192,192,192,192,192,192,192,192,192,193,192, - 255,128,255,0,192,0,192,0,192,0,192,0,10,18,36,12, - 0,252,51,0,51,0,0,0,0,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,224,192,127,192,63,192,0,192, - 1,192,63,128,63,0}; -/* - Fontname: ProFont22 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=12 h=22 x= 4 y=12 dx=12 dy= 0 ascent=18 len=40 - Font Bounding box w=12 h=21 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =16 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont22r[2719] U8G_FONT_SECTION("u8g_font_profont22r") = { - 0,12,21,0,252,14,3,117,7,113,32,127,252,18,252,16, - 252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192, - 192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2, - 10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51, - 0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51, - 0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237, - 192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204, - 192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0, - 0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63, - 128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28, - 12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120, - 0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2, - 6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2, - 254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112, - 56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12, - 12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0, - 4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204, - 192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12, - 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5, - 9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2, - 2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96, - 11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128, - 1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0, - 24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14, - 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, - 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, - 10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, - 255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192, - 0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192, - 192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192, - 225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0, - 15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192, - 3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192, - 255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192, - 0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, - 63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12, - 0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128, - 7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14, - 28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128, - 63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0, - 10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, - 63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240, - 240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120, - 120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14, - 28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0, - 4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14, - 12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0, - 192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12, - 0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192, - 192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224, - 0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30, - 0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192, - 192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63, - 0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192, - 0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28, - 12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10, - 14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192, - 192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192, - 192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193, - 192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220, - 0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28, - 12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204, - 192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10, - 14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206, - 192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192, - 0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204, - 192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255, - 128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28, - 12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127, - 0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10, - 14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255, - 192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192, - 192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115, - 128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192, - 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, - 0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0, - 0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28, - 0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18, - 12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96, - 0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6, - 0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0, - 96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0, - 8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4, - 12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112, - 48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192, - 192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20, - 12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192, - 0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63, - 0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127, - 192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48, - 48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127, - 192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63, - 192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192, - 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2, - 0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6, - 18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12, - 12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192, - 0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254, - 0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240, - 240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20, - 12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204, - 192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223, - 128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192, - 192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0, - 252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193, - 192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28, - 12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192, - 192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10, - 10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192, - 0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63, - 192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255, - 128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48, - 48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192, - 192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60, - 192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97, - 128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0, - 0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204, - 192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115, - 128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10, - 14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63, - 0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14, - 0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2, - 252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48, - 48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6, - 22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28, - 28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0, - 6,48,192,124,192,207,128,195,0,0,0,0,12,0,0}; -/* - Fontname: ProFont29 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 19, '1' Height: 19 - Calculated Max Values w=16 h=29 x= 8 y=16 dx=16 dy= 0 ascent=24 len=58 - Font Bounding box w=16 h=28 x= 0 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =22 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont29[8666] U8G_FONT_SECTION("u8g_font_profont29") = { - 0,16,28,0,251,19,4,198,9,234,32,255,251,24,251,22, - 251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224, - 9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112, - 255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16, - 0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112, - 231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112, - 7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0, - 7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252, - 102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240, - 31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192, - 14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224, - 227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188, - 227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16, - 5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3, - 253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7, - 128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60, - 0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15, - 0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0, - 5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127, - 240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0, - 3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255, - 248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3, - 251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16, - 3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112, - 15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56, - 0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128, - 3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252, - 227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56, - 127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0, - 15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224, - 240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224, - 7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28, - 0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0, - 224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19, - 38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28, - 0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120, - 63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56, - 127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240, - 31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0, - 112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56, - 0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19, - 38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0, - 30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0, - 7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5, - 255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252, - 255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0, - 30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0, - 0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252, - 231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0, - 127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128, - 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, - 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, - 224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56, - 224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120, - 224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252, - 255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248, - 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19, - 38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128, - 239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128, - 227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30, - 248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142, - 227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28, - 254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240, - 15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192, - 255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240, - 255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248, - 112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248, - 0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192, - 13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, - 56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128, - 3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142, - 227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14, - 14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60, - 120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240, - 120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16, - 0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252, - 255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252, - 255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112, - 0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7, - 0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0, - 112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25, - 16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16, - 0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60, - 96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0, - 15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28, - 224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16, - 0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240, - 255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192, - 63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0, - 224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0, - 0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, - 112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224, - 7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16, - 2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7, - 7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7, - 7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0, - 224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128, - 239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60, - 224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14, - 28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28, - 240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, - 63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248, - 224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252, - 15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16, - 0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14, - 28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192, - 127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192, - 11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14, - 28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56, - 112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128, - 15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252, - 28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120, - 60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60, - 224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224, - 3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248, - 255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128, - 3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30, - 0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224, - 0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225, - 224,0,0,0,16,0,0,0,0,0,16,0,0,0,0,0, - 16,0,0,5,8,8,16,0,253,56,56,56,56,56,120,240, - 96,13,29,58,16,0,251,0,120,1,248,3,248,3,128,7, - 0,7,0,7,0,7,0,7,0,7,0,31,192,31,192,31, - 192,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,0,254,0,252,0,240, - 0,11,8,16,16,0,253,56,224,56,224,56,224,56,224,56, - 224,121,224,243,192,97,128,13,3,6,16,0,0,231,56,231, - 56,231,56,9,14,28,16,2,5,28,0,28,0,28,0,255, - 128,255,128,255,128,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,9,14,28,16,2,5,28,0,28,0,28, - 0,255,128,255,128,255,128,28,0,28,0,255,128,255,128,255, - 128,28,0,28,0,28,0,10,6,12,16,2,16,12,0,30, - 0,63,0,127,128,243,192,97,128,15,22,44,16,0,0,31, - 254,63,254,127,254,119,30,227,60,227,120,227,240,247,224,127, - 192,127,128,63,0,15,56,63,252,127,252,253,238,248,198,216, - 198,152,198,29,238,15,252,15,252,7,56,14,24,48,16,0, - 0,24,192,61,224,31,192,15,128,7,0,15,192,63,240,127, - 248,112,56,224,28,224,28,224,0,112,0,127,192,63,240,15, - 248,0,56,0,28,224,28,224,28,112,56,127,248,63,240,15, - 192,5,13,13,16,0,255,48,56,112,112,224,224,224,224,224, - 112,112,56,48,14,19,38,16,0,0,15,252,63,252,127,252, - 119,0,231,0,231,0,231,0,231,0,231,224,231,224,231,224, - 231,0,231,0,231,0,231,0,119,0,127,252,63,252,15,252, - 0,0,0,16,0,0,0,0,0,16,0,0,0,0,0,16, - 0,0,0,0,0,16,0,0,5,8,8,16,5,11,48,120, - 240,224,224,224,224,224,5,8,8,16,6,11,56,56,56,56, - 56,120,240,96,11,8,16,16,2,11,48,192,121,224,243,192, - 227,128,227,128,227,128,227,128,227,128,11,8,16,16,3,11, - 56,224,56,224,56,224,56,224,56,224,121,224,243,192,97,128, - 13,13,26,16,0,3,15,128,63,224,127,240,127,240,255,248, - 255,248,255,248,255,248,255,248,127,240,127,240,63,224,15,128, - 8,3,3,16,3,8,255,255,255,16,3,6,16,0,8,255, - 255,255,255,255,255,13,5,10,16,0,16,60,56,127,56,255, - 248,231,240,225,224,15,8,16,16,0,11,255,206,255,254,255, - 254,57,254,57,254,57,206,57,206,57,206,14,22,44,16,0, - 0,24,96,60,240,31,224,15,192,7,128,3,0,0,0,0, - 0,15,252,63,252,127,252,240,0,224,0,255,192,127,240,31, - 248,0,60,0,28,0,60,255,248,255,240,255,192,5,13,13, - 16,0,255,96,224,112,112,56,56,56,56,56,120,112,224,96, - 14,14,28,16,0,0,60,240,127,248,127,248,231,28,231,28, - 231,28,231,252,231,252,231,252,231,0,231,0,127,252,127,252, - 60,252,0,0,0,16,0,0,0,0,0,16,0,0,13,24, - 48,16,0,0,56,224,56,224,56,224,0,0,0,0,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,240,120,120,240, - 61,224,31,192,15,128,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,0,0,0,16,0,0,3,19,19,16,8,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,13,20,40,16,0,253,7,0,7,0,7,0,15, - 128,63,224,127,240,119,112,231,56,231,56,231,0,231,0,231, - 0,231,0,119,0,127,248,63,248,15,248,7,0,7,0,7, - 0,13,22,44,16,0,0,14,0,63,128,127,128,113,192,224, - 224,224,224,224,0,224,0,255,0,255,0,255,0,224,0,224, - 0,224,0,224,0,224,0,224,56,224,56,224,112,255,240,255, - 224,255,128,13,13,26,16,0,0,64,16,224,56,112,112,63, - 224,31,192,29,192,24,192,29,192,31,192,63,224,112,112,224, - 56,64,16,15,19,38,16,0,0,96,12,240,30,120,60,60, - 120,30,240,127,252,127,252,127,252,3,128,3,128,3,128,127, - 252,127,252,127,252,3,128,3,128,3,128,3,128,3,128,3, - 25,25,16,5,253,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,14,27, - 54,16,0,253,15,192,63,240,63,248,112,56,112,28,120,28, - 60,28,30,28,239,0,231,128,227,192,225,224,240,240,120,120, - 60,60,30,28,15,28,7,156,3,220,225,224,224,240,224,120, - 224,56,112,56,127,240,63,240,15,128,8,3,3,16,3,16, - 231,231,231,14,19,38,16,0,0,28,0,255,128,255,224,193, - 240,0,112,31,56,127,56,127,24,224,28,224,28,224,28,127, - 24,127,56,31,56,0,112,193,240,255,224,255,128,28,0,12, - 16,32,16,2,8,15,240,63,240,127,240,112,112,224,112,224, - 112,224,112,112,112,127,240,63,240,15,240,0,0,0,0,255, - 240,255,240,255,240,13,13,26,16,0,255,48,48,56,56,112, - 112,112,112,224,224,224,224,224,224,224,224,224,224,112,112,112, - 112,56,56,48,48,14,8,16,16,0,3,255,252,255,252,255, - 252,0,28,0,28,0,28,0,28,0,28,13,3,6,16,0, - 8,255,248,255,248,255,248,14,17,34,16,0,2,28,0,255, - 128,255,224,193,240,0,112,248,56,254,56,254,24,231,28,231, - 28,231,28,254,24,254,56,254,56,239,240,231,240,227,192,8, - 3,3,16,3,16,255,255,255,12,12,24,16,2,10,15,0, - 63,192,127,224,112,224,224,112,224,112,224,112,224,112,112,224, - 127,224,63,192,15,0,13,16,32,16,0,0,7,0,7,0, - 7,0,7,0,7,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,255,248,255,248,255,248,6,9,9,16, - 4,15,120,132,4,4,8,16,32,64,252,6,9,9,16,4, - 15,120,132,4,8,48,8,4,132,120,7,6,6,16,5,16, - 12,30,60,120,240,96,14,18,36,16,0,251,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,225,240, - 255,252,255,188,254,12,224,0,224,0,224,0,224,0,224,0, - 14,22,44,16,0,0,7,252,31,252,63,252,127,28,119,28, - 231,28,231,28,231,28,231,28,119,28,127,28,63,252,31,252, - 7,252,7,28,7,28,7,28,7,28,7,28,7,28,7,28, - 7,28,5,5,5,16,5,6,112,248,248,248,112,6,8,8, - 16,3,251,252,252,252,60,124,248,240,96,7,9,9,16,4, - 15,16,112,16,16,16,16,16,16,254,11,16,32,16,3,8, - 14,0,63,128,127,192,113,192,224,224,224,224,224,224,113,192, - 127,192,63,128,14,0,0,0,0,0,255,224,255,224,255,224, - 13,13,26,16,0,255,96,96,224,224,112,112,112,112,56,56, - 56,56,56,56,56,56,56,56,112,112,112,112,224,224,96,96, - 15,24,48,16,0,0,8,0,56,0,8,0,8,0,8,0, - 8,0,8,2,8,4,127,8,0,16,0,32,0,64,0,128, - 1,0,2,0,4,8,8,24,16,40,32,72,64,136,128,254, - 0,8,0,8,0,62,15,24,48,16,0,0,8,0,56,0, - 8,0,8,0,8,0,8,0,8,2,8,4,127,8,0,16, - 0,32,0,64,0,128,1,0,2,0,4,120,8,132,16,4, - 32,4,64,8,128,16,0,32,0,64,0,252,15,24,48,16, - 0,0,30,0,33,0,1,0,2,0,12,0,2,0,1,2, - 33,4,30,8,0,16,0,32,0,64,0,128,1,0,2,0, - 4,8,8,24,16,40,32,72,64,136,128,254,0,8,0,8, - 0,62,14,19,38,16,0,0,3,128,3,128,3,128,0,0, - 0,0,3,128,7,128,15,0,30,0,60,0,120,0,240,0, - 224,0,224,28,224,28,112,56,127,248,63,240,15,192,14,24, - 48,16,0,0,24,0,60,0,30,0,15,0,7,128,7,128, - 7,128,15,192,15,192,28,224,28,224,56,112,56,112,112,56, - 112,56,224,28,255,252,255,252,255,252,224,28,224,28,224,28, - 224,28,224,28,14,24,48,16,0,0,0,96,0,240,1,224, - 3,192,7,128,7,128,7,128,15,192,15,192,28,224,28,224, - 56,112,56,112,112,56,112,56,224,28,255,252,255,252,255,252, - 224,28,224,28,224,28,224,28,224,28,14,24,48,16,0,0, - 3,0,7,128,15,192,31,224,28,224,11,64,7,128,15,192, - 15,192,28,224,28,224,56,112,56,112,112,56,112,56,224,28, - 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, - 14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224, - 7,128,7,128,15,192,15,192,28,224,28,224,56,112,56,112, - 112,56,112,56,224,28,255,252,255,252,255,252,224,28,224,28, - 224,28,224,28,224,28,14,24,48,16,0,0,56,112,56,112, - 56,112,0,0,0,0,7,128,7,128,15,192,15,192,28,224, - 28,224,56,112,56,112,112,56,112,56,224,28,255,252,255,252, - 255,252,224,28,224,28,224,28,224,28,224,28,14,24,48,16, - 0,0,7,128,15,192,28,224,24,96,28,224,15,192,7,128, - 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, - 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, - 224,28,14,19,38,16,0,0,15,252,63,252,127,252,119,0, - 231,0,231,0,231,0,231,0,255,224,255,224,255,224,231,0, - 231,0,231,0,231,0,231,0,231,252,231,252,231,252,14,24, - 48,16,0,251,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, - 224,28,112,56,127,248,63,240,15,192,7,0,15,0,30,0, - 60,0,24,0,14,24,48,16,0,0,24,0,60,0,30,0, - 15,0,7,128,255,252,255,252,255,252,224,0,224,0,224,0, - 224,0,224,0,255,224,255,224,255,224,224,0,224,0,224,0, - 224,0,224,0,255,252,255,252,255,252,14,24,48,16,0,0, - 0,96,0,240,1,224,3,192,7,128,255,252,255,252,255,252, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,252,255,252,255,252, - 14,24,48,16,0,0,3,0,7,128,15,192,31,224,28,224, - 255,252,255,252,255,252,224,0,224,0,224,0,224,0,224,0, - 255,224,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,14,24,48,16,0,0,56,112,56,112, - 56,112,0,0,0,0,255,252,255,252,255,252,224,0,224,0, - 224,0,224,0,224,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,255,252,255,252,255,252,13,24,48,16, - 0,0,24,0,60,0,30,0,15,0,7,0,255,248,255,248, - 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,13,24,48,16,0,0,0,192,1,224,3,192,7,128, - 7,0,255,248,255,248,255,248,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,248,255,248,255,248,13,24,48,16,0,0,2,0, - 7,0,15,128,31,192,56,224,255,248,255,248,255,248,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,13,24, - 48,16,0,0,56,224,56,224,56,224,0,0,0,0,255,248, - 255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,248, - 255,248,255,248,14,19,38,16,0,0,31,192,31,240,31,248, - 28,56,28,28,28,28,28,28,28,28,255,156,255,156,255,156, - 28,28,28,28,28,28,28,28,28,56,31,248,31,240,31,192, - 14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224, - 224,28,240,28,248,28,252,28,254,28,239,28,231,156,227,220, - 225,252,224,252,224,124,224,60,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,14,24,48,16,0,0,12,0,30,0, - 15,0,7,128,3,128,15,192,63,240,127,248,112,56,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16, - 0,0,0,192,1,224,3,192,7,128,7,0,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,24,48,16,0,0,3,0,7,128,15,192,31,224, - 60,240,24,96,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,14,24,48,16,0,0,60,56, - 127,56,255,248,231,240,225,224,15,192,63,240,127,248,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,24, - 48,16,0,0,56,112,56,112,56,112,0,0,0,0,15,192, - 63,240,127,248,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, - 63,240,15,192,14,13,26,16,0,3,96,24,240,60,120,120, - 60,240,31,224,15,192,7,128,15,192,31,224,60,240,120,120, - 240,60,96,24,14,19,38,16,0,0,15,192,63,240,127,248, - 112,56,224,60,224,124,224,252,225,252,227,220,231,156,239,28, - 254,28,252,28,248,28,240,28,112,56,127,248,63,240,15,192, - 14,24,48,16,0,0,24,0,60,0,30,0,15,0,7,128, - 227,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,56, - 127,248,63,240,15,192,14,24,48,16,0,0,0,96,0,240, - 1,224,3,192,7,128,227,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16, - 0,0,3,0,7,128,15,192,31,224,60,240,24,96,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,24,48,16,0,0,56,112,56,112,56,112,0,0, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,13,24,48,16,0,0,0,96, - 0,240,1,224,3,192,7,128,227,56,224,56,224,56,224,56, - 224,56,224,56,224,56,240,120,120,240,61,224,31,192,15,128, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,14,19, - 38,16,0,0,224,0,224,0,224,0,255,192,255,240,255,248, - 224,56,224,28,224,28,224,28,224,56,255,248,255,240,255,192, - 224,0,224,0,224,0,224,0,224,0,13,25,50,16,0,253, - 3,192,7,224,15,240,30,120,60,56,120,56,240,56,224,56, - 224,112,224,224,224,224,224,224,224,224,224,112,224,56,224,56, - 224,56,224,56,224,120,227,240,227,224,227,192,224,0,224,0, - 224,0,14,22,44,16,0,0,6,0,15,0,7,128,3,192, - 1,224,0,192,0,0,0,0,15,252,63,252,127,252,112,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,22,44,16,0,0,0,96,0,240,1,224, - 3,192,7,128,3,0,0,0,0,0,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252, - 127,220,63,156,14,28,14,22,44,16,0,0,3,0,7,128, - 15,192,31,224,60,240,24,96,0,0,0,0,15,252,63,252, - 127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124, - 113,252,127,220,63,156,14,28,14,21,42,16,0,0,60,56, - 127,56,255,248,231,240,225,224,0,0,0,0,15,252,63,252, - 127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124, - 113,252,127,220,63,156,14,28,14,19,38,16,0,0,56,112, - 56,112,56,112,0,0,0,0,15,252,63,252,127,252,112,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,21,42,16,0,0,7,192,15,224,12,96, - 12,96,12,96,15,224,7,192,15,252,63,252,127,252,112,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,14,28,16,0,0,15,192,63,240,127,248, - 119,120,231,60,231,28,231,252,231,252,231,252,231,0,119,0, - 127,252,63,252,15,252,14,19,38,16,0,251,15,192,63,240, - 127,248,112,56,224,28,224,28,224,0,224,0,224,0,224,0, - 112,0,127,252,63,252,15,252,7,0,15,0,30,0,60,0, - 24,0,14,22,44,16,0,0,24,0,60,0,30,0,15,0, - 7,128,3,0,0,0,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252, - 63,252,15,252,14,22,44,16,0,0,0,96,0,240,1,224, - 3,192,7,128,3,0,0,0,0,0,15,192,63,240,127,248, - 112,56,224,28,224,28,255,252,255,252,255,252,224,0,112,0, - 127,252,63,252,15,252,14,22,44,16,0,0,3,0,7,128, - 15,192,31,224,60,240,24,96,0,0,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, - 112,0,127,252,63,252,15,252,14,19,38,16,0,0,56,112, - 56,112,56,112,0,0,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252, - 63,252,15,252,9,22,44,16,2,0,96,0,240,0,120,0, - 60,0,30,0,12,0,0,0,0,0,252,0,252,0,252,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,9,22,44,16,2,0,3,0,7,128, - 15,0,30,0,60,0,24,0,0,0,0,0,252,0,252,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,255,128,255,128,10,22,44,16,2,0,12,0, - 30,0,63,0,127,128,243,192,97,128,0,0,0,0,252,0, - 252,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,128,255,128,255,128,9,19,38,16,2,0, - 227,128,227,128,227,128,0,0,0,0,252,0,252,0,252,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,14,23,46,16,0,0,49,128,123,192, - 63,128,31,0,31,0,63,128,123,192,49,224,0,240,15,248, - 63,252,127,252,112,60,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,21,42,16,0,0, - 60,56,127,56,255,248,231,240,225,224,0,0,0,0,225,192, - 231,240,239,248,254,56,248,28,240,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,14,22,44,16,0,0, - 24,0,60,0,30,0,15,0,7,128,3,0,0,0,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,14,22,44,16, - 0,0,0,96,0,240,1,224,3,192,7,128,3,0,0,0, - 0,0,15,192,63,240,127,248,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,22, - 44,16,0,0,3,0,7,128,15,192,31,224,60,240,24,96, - 0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192, - 14,21,42,16,0,0,60,56,127,56,255,248,231,240,225,224, - 0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192, - 14,19,38,16,0,0,56,112,56,112,56,112,0,0,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,13,14,28,16, - 0,2,7,0,7,0,7,0,0,0,0,0,255,248,255,248, - 255,248,0,0,0,0,0,0,7,0,7,0,7,0,14,14, - 28,16,0,0,15,192,63,240,127,248,112,120,224,252,225,220, - 227,156,231,28,238,28,252,28,120,56,127,248,63,240,15,192, - 14,22,44,16,0,0,24,0,60,0,30,0,15,0,7,128, - 3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156, - 14,28,14,22,44,16,0,0,0,96,0,240,1,224,3,192, - 7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,22,44,16,0,0,3,0,7,128,15,192, - 31,224,60,240,24,96,0,0,0,0,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252, - 127,220,63,156,14,28,14,19,38,16,0,0,56,112,56,112, - 56,112,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156, - 14,28,14,27,54,16,0,251,0,96,0,240,1,224,3,192, - 7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,28,127,252, - 63,252,15,252,0,28,0,56,31,248,31,240,31,192,14,24, - 48,16,0,251,224,0,224,0,224,0,224,0,224,0,255,192, - 255,240,255,248,224,56,224,28,224,28,224,28,224,28,224,28, - 224,28,224,56,255,248,255,240,255,192,224,0,224,0,224,0, - 224,0,224,0,14,24,48,16,0,251,56,112,56,112,56,112, - 0,0,0,0,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,28,127,252,63,252,31,252, - 0,28,0,56,31,248,31,240,31,224}; -/* - Fontname: ProFont29 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 19, '1' Height: 19 - Calculated Max Values w=16 h=29 x= 5 y=15 dx=16 dy= 0 ascent=24 len=58 - Font Bounding box w=16 h=28 x= 0 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =22 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont29r[3719] U8G_FONT_SECTION("u8g_font_profont29r") = { - 0,16,28,0,251,19,4,198,9,234,32,127,251,24,251,22, - 251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224, - 9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112, - 255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16, - 0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112, - 231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112, - 7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0, - 7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252, - 102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240, - 31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192, - 14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224, - 227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188, - 227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16, - 5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3, - 253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7, - 128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60, - 0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15, - 0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0, - 5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127, - 240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0, - 3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255, - 248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3, - 251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16, - 3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112, - 15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56, - 0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128, - 3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252, - 227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56, - 127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0, - 15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224, - 240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224, - 7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28, - 0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0, - 224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19, - 38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28, - 0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120, - 63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56, - 127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240, - 31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0, - 112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56, - 0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19, - 38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0, - 30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0, - 7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5, - 255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252, - 255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0, - 30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0, - 0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252, - 231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0, - 127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128, - 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, - 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, - 224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56, - 224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120, - 224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252, - 255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248, - 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19, - 38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128, - 239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128, - 227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30, - 248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142, - 227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28, - 254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240, - 15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192, - 255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240, - 255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248, - 112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248, - 0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192, - 13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, - 56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128, - 3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142, - 227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14, - 14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60, - 120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240, - 120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16, - 0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252, - 255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252, - 255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112, - 0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7, - 0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0, - 112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25, - 16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16, - 0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60, - 96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0, - 15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28, - 224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16, - 0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240, - 255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192, - 63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0, - 224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0, - 0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, - 112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224, - 7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16, - 2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7, - 7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7, - 7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0, - 224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128, - 239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60, - 224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14, - 28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28, - 240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, - 63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248, - 224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252, - 15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16, - 0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14, - 28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192, - 127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192, - 11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14, - 28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56, - 112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128, - 15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252, - 28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120, - 60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60, - 224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224, - 3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248, - 255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128, - 3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30, - 0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224, - 0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225, - 224,0,0,0,16,0,0}; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 6, '1' Height: 5 - Calculated Max Values w= 7 h= 8 x= 0 y= 6 dx= 8 dy= 0 ascent=10 len= 8 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 1 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[1376] U8G_FONT_SECTION("u8g_font_robot_de_niro") = { - 0,10,10,255,0,6,1,97,2,193,32,255,1,10,0,9, - 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, - 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, - 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, - 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, - 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, - 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, - 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, - 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, - 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, - 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, - 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, - 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, - 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, - 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, - 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, - 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, - 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, - 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, - 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, - 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, - 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, - 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, - 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, - 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, - 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, - 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, - 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, - 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, - 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, - 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, - 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, - 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, - 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, - 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, - 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, - 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, - 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, - 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, - 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, - 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, - 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, - 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, - 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, - 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, - 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, - 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, - 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, - 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, - 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, - 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, - 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, - 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, - 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, - 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, - 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, - 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, - 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, - 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, - 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, - 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, - 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, - 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, - 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, - 2,192,64,64,32,64,64,192,4,2,2,5,0,5,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,255,255,255,4,7,7,5,0,2,96,144,64,224,64,128, - 240,255,255,255,4,7,7,5,0,2,96,128,96,144,96,16, - 96,255,7,8,8,8,0,2,124,130,154,170,162,154,130,124, - 255,255,255,255,7,8,8,8,0,2,124,130,186,170,178,170, - 130,124,255,255,255,255,255,255,255,6,5,5,7,0,3,108, - 232,104,40,40,255,255,255,255,255,255,255,255,255,255,255,255, - 255,4,8,8,4,255,2,80,0,48,80,112,80,80,128,255, - 255,3,7,7,4,0,1,96,128,128,160,96,64,32,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,3,7,7,4, - 0,3,160,0,96,160,160,160,64,4,4,4,5,0,4,144, - 96,96,144,255,255,255,255,4,7,7,5,0,3,80,0,160, - 160,160,160,80,255,255,4,7,7,4,255,1,32,80,96,80, - 96,64,128,255,255,255,255,4,6,6,5,0,3,80,0,96, - 160,160,80,255,255,255,4,6,6,5,0,3,96,0,96,160, - 208,96,4,6,6,5,0,3,96,0,96,160,208,96,4,7, - 7,5,0,3,64,160,0,96,160,208,96,255,255,255,255,255, - 255,255,255,255,255,255,3,6,6,4,0,3,160,0,96,160, - 160,192,5,5,5,6,0,3,32,0,248,0,32,255,255,255, - 255,4,6,6,5,0,3,80,0,160,160,160,80,255,255,255 - }; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 5 x= 0 y= 6 dx= 5 dy= 0 ascent= 9 len= 5 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 9 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[187] U8G_FONT_SECTION("u8g_font_robot_de_niron") = { - 0,10,10,255,0,5,0,0,0,0,42,58,0,9,0,5, - 0,3,3,3,4,0,6,160,64,160,3,3,3,4,0,4, - 64,224,64,2,2,2,3,0,2,64,128,3,1,1,4,0, - 5,224,1,1,1,2,0,3,128,3,5,5,4,0,3,32, - 32,64,128,128,3,5,5,4,0,3,64,160,160,160,64,3, - 5,5,4,0,3,192,64,64,64,224,3,5,5,4,0,3, - 192,32,96,128,224,3,5,5,4,0,3,192,32,224,32,224, - 3,5,5,4,0,3,160,160,224,32,32,3,5,5,4,0, - 3,96,128,224,32,224,3,5,5,4,0,3,96,128,224,160, - 64,4,5,5,5,0,3,224,32,112,32,32,3,5,5,4, - 0,3,96,160,224,160,192,3,5,5,4,0,3,96,160,224, - 32,192,1,3,3,2,0,4,128,0,128}; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 6, '1' Height: 5 - Calculated Max Values w= 6 h= 7 x= 0 y= 6 dx= 7 dy= 0 ascent=10 len= 7 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 1 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[1041] U8G_FONT_SECTION("u8g_font_robot_de_niror") = { - 0,10,10,255,0,6,1,97,2,193,32,127,1,10,0,9, - 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, - 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, - 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, - 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, - 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, - 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, - 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, - 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, - 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, - 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, - 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, - 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, - 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, - 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, - 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, - 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, - 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, - 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, - 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, - 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, - 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, - 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, - 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, - 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, - 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, - 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, - 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, - 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, - 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, - 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, - 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, - 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, - 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, - 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, - 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, - 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, - 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, - 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, - 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, - 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, - 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, - 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, - 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, - 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, - 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, - 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, - 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, - 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, - 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, - 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, - 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, - 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, - 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, - 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, - 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, - 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, - 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, - 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, - 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, - 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, - 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, - 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, - 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, - 2,192,64,64,32,64,64,192,4,2,2,5,0,5,80,160, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=15 x= 3 y= 9 dx=11 dy= 0 ascent=11 len=15 - Font Bounding box w=11 h=15 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =11 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb08[2612] U8G_FONT_SECTION("u8g_font_symb08") = { - 0,11,15,255,252,7,1,152,3,60,32,255,254,11,252,7, - 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, - 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, - 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, - 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, - 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, - 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, - 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, - 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, - 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, - 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, - 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, - 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, - 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, - 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, - 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, - 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, - 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, - 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, - 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, - 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, - 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, - 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, - 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, - 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, - 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, - 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, - 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, - 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, - 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, - 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, - 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, - 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, - 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, - 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, - 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, - 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, - 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, - 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, - 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, - 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, - 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, - 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, - 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, - 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, - 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, - 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, - 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, - 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, - 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, - 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, - 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, - 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, - 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, - 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, - 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, - 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, - 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, - 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, - 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, - 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, - 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, - 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, - 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, - 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, - 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, - 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, - 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, - 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, - 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, - 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, - 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, - 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, - 64,128,5,2,2,6,0,2,104,176,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,255,6,7,7,7, - 0,0,140,212,112,32,32,32,112,3,3,3,3,0,5,32, - 64,128,5,7,7,6,0,0,8,48,192,48,8,0,248,4, - 7,7,3,255,0,16,16,32,32,64,64,128,7,3,3,7, - 0,1,108,146,108,5,9,9,5,0,254,24,32,112,32,32, - 32,32,32,192,5,5,5,7,1,0,112,112,248,248,32,5, - 5,5,7,1,0,32,112,248,112,32,5,5,5,7,1,0, - 216,248,248,112,32,5,5,5,7,1,0,32,112,248,248,32, - 10,5,10,10,0,0,33,0,64,128,255,192,64,128,33,0, - 10,5,10,10,0,0,32,0,64,0,255,192,64,0,32,0, - 5,14,14,6,0,252,32,112,168,32,32,32,32,32,32,32, - 32,32,32,32,10,5,10,10,0,0,1,0,0,128,255,192, - 0,128,1,0,5,13,13,6,0,254,32,32,32,32,32,32, - 32,32,32,32,168,112,32,3,4,4,4,0,3,64,160,160, - 64,5,7,7,6,0,0,32,32,248,32,32,0,248,5,3, - 3,4,0,5,40,80,160,5,7,7,6,0,0,128,96,24, - 96,128,0,248,5,5,5,6,0,0,136,80,32,80,136,6, - 3,3,7,0,1,108,144,108,4,8,8,5,0,0,96,144, - 16,16,112,144,144,96,4,3,3,5,0,1,96,240,96,5, - 5,5,6,0,0,32,0,248,0,32,5,5,5,6,0,0, - 16,248,32,248,64,5,5,5,6,0,1,248,0,248,0,248, - 5,5,5,6,0,0,104,176,0,104,176,7,1,1,9,1, - 0,146,1,15,15,6,2,252,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,10,1,2,10,0,2,255,192,6, - 6,6,7,0,0,4,4,4,68,252,64,7,7,7,8,0, - 0,204,102,52,92,76,38,98,6,9,9,7,0,255,124,132, - 200,24,12,4,68,232,48,8,8,8,8,0,0,108,146,146, - 92,20,18,82,163,7,8,8,9,1,254,16,36,74,82,106, - 108,160,96,7,7,7,8,0,0,56,68,170,146,170,68,56, - 7,7,7,8,0,0,56,68,146,186,146,68,56,7,9,9, - 8,0,255,2,60,76,138,146,162,100,120,128,7,5,5,8, - 0,0,56,68,130,130,130,7,5,5,8,0,0,130,130,130, - 68,56,7,5,5,7,0,0,248,4,2,4,248,7,7,7, - 7,0,254,248,4,2,4,248,0,254,7,7,7,7,0,255, - 4,62,72,136,80,62,32,7,5,5,7,0,0,62,64,128, - 64,62,7,7,7,7,0,254,62,64,128,64,62,0,254,5, - 5,5,7,1,0,120,128,248,128,120,5,7,7,7,1,255, - 16,120,144,248,160,120,64,7,7,7,8,0,0,2,4,8, - 16,32,64,254,6,7,7,7,0,0,252,132,132,72,72,48, - 48,7,8,8,8,0,255,56,68,250,170,178,174,68,56,7, - 8,8,8,0,255,56,68,154,170,162,154,68,56,10,5,10, - 10,0,2,253,0,170,128,42,128,42,128,122,192,8,9,9, - 9,0,255,255,66,66,66,66,66,66,66,231,6,10,10,6, - 0,0,4,4,8,8,72,208,80,80,32,32,1,1,1,3, - 1,2,128,6,3,3,7,0,0,252,4,4,5,5,5,6, - 0,0,32,80,80,136,136,5,5,5,6,0,0,136,136,80, - 80,32,10,5,10,11,0,0,33,0,127,128,128,64,127,128, - 33,0,9,5,10,10,0,0,32,0,127,128,128,0,127,128, - 32,0,5,10,10,6,0,0,32,112,216,80,80,80,80,80, - 80,80,9,5,10,10,0,0,2,0,255,0,0,128,255,0, - 2,0,5,10,10,6,0,0,80,80,80,80,80,80,80,216, - 80,32,7,7,7,7,0,0,16,40,68,198,68,40,16,3, - 9,9,3,0,254,32,32,64,64,128,64,64,32,32,7,8, - 8,8,0,255,56,68,186,170,178,170,68,56,7,8,8,8, - 0,255,56,68,154,162,162,154,68,56,8,5,5,9,0,2, - 250,85,85,85,85,6,9,9,7,0,255,252,132,64,32,16, - 32,64,132,252,3,14,14,4,1,252,32,64,64,128,128,128, - 128,128,128,128,128,128,128,128,1,15,15,4,1,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,3,15,15, - 4,1,252,128,128,128,128,128,128,128,128,128,128,128,128,64, - 64,32,3,14,14,4,1,252,224,128,128,128,128,128,128,128, - 128,128,128,128,128,128,1,15,15,4,1,252,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,4,1, - 254,128,128,128,128,128,128,128,128,128,128,128,128,224,3,14, - 14,5,2,252,96,128,128,128,128,128,128,128,128,128,128,128, - 128,128,3,15,15,5,0,252,32,32,32,32,32,64,128,64, - 32,32,32,32,32,32,32,3,13,13,5,2,254,128,128,128, - 128,128,128,128,128,128,128,128,128,96,1,15,15,5,2,252, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,255, - 3,9,9,3,0,254,128,128,64,64,32,64,64,128,128,3, - 12,12,3,0,254,32,64,64,64,64,64,64,64,64,64,64, - 128,4,14,14,7,3,252,48,80,128,128,128,128,128,128,128, - 128,128,128,128,128,1,15,15,7,0,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,4,13,13,7,0,254, - 16,16,16,16,16,16,16,16,16,16,16,160,192,3,14,14, - 4,0,252,128,64,64,32,32,32,32,32,32,32,32,32,32, - 32,1,15,15,4,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,3,15,15,4,0,252,32,32,32,32, - 32,32,32,32,32,32,32,32,64,64,128,3,14,14,4,0, - 252,224,32,32,32,32,32,32,32,32,32,32,32,32,32,1, - 15,15,4,2,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,13,13,4,0,254,32,32,32,32,32,32, - 32,32,32,32,32,32,224,3,14,14,5,0,252,192,32,32, - 32,32,32,32,32,32,32,32,32,32,32,3,15,15,5,2, - 252,128,128,128,128,128,64,32,64,128,128,128,128,128,128,128, - 3,13,13,5,0,254,32,32,32,32,32,32,32,32,32,32, - 32,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 9 h=10 x= 1 y= 9 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w=11 h=15 x=-1 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb08r[1211] U8G_FONT_SECTION("u8g_font_symb08r") = { - 0,11,15,255,252,7,1,152,3,60,32,127,254,10,253,7, - 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, - 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, - 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, - 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, - 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, - 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, - 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, - 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, - 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, - 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, - 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, - 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, - 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, - 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, - 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, - 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, - 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, - 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, - 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, - 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, - 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, - 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, - 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, - 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, - 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, - 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, - 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, - 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, - 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, - 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, - 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, - 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, - 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, - 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, - 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, - 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, - 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, - 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, - 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, - 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, - 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, - 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, - 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, - 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, - 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, - 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, - 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, - 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, - 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, - 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, - 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, - 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, - 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, - 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, - 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, - 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, - 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, - 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, - 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, - 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, - 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, - 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, - 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, - 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, - 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, - 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, - 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, - 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, - 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, - 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, - 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, - 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, - 64,128,5,2,2,6,0,2,104,176,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=15 x= 7 y=11 dx=15 dy= 0 ascent=12 len=24 - Font Bounding box w=16 h=15 x=-1 y=-3 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb10[3433] U8G_FONT_SECTION("u8g_font_symb10") = { - 0,16,15,255,253,10,2,6,4,121,32,255,253,12,253,10, - 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, - 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, - 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, - 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, - 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, - 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, - 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, - 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, - 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, - 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, - 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, - 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, - 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, - 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, - 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, - 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, - 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, - 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, - 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, - 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, - 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, - 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, - 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, - 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, - 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, - 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, - 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, - 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, - 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, - 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, - 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, - 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, - 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, - 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, - 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, - 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, - 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, - 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, - 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, - 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, - 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, - 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, - 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, - 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, - 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, - 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, - 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, - 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, - 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, - 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, - 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, - 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, - 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, - 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, - 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, - 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, - 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, - 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, - 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, - 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, - 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, - 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, - 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, - 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, - 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, - 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, - 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, - 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, - 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, - 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, - 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, - 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, - 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, - 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, - 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, - 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, - 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, - 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, - 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, - 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, - 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, - 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, - 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, - 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, - 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, - 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, - 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, - 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, - 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, - 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, - 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, - 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, - 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, - 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,255,8,10,10,9,0,0,198,105,43,16,16,16,16,16, - 16,56,4,3,3,4,0,7,48,96,128,7,9,9,8,0, - 0,2,12,48,192,48,12,2,0,254,5,10,10,4,255,0, - 8,8,16,16,32,32,64,64,128,128,9,4,8,10,0,2, - 119,0,152,128,140,128,119,0,7,13,13,7,0,253,6,10, - 8,8,60,16,16,16,32,32,32,160,192,9,7,14,11,1, - 0,28,0,28,0,28,0,235,128,255,128,235,128,8,0,7, - 7,7,11,2,0,16,56,124,254,124,56,16,7,7,7,11, - 2,0,108,254,254,254,124,56,16,9,7,14,11,1,0,8, - 0,28,0,62,0,127,0,255,128,107,0,8,0,13,7,14, - 15,1,0,16,64,32,32,64,16,255,248,64,16,32,32,16, - 64,14,7,14,14,0,0,16,0,32,0,64,0,255,252,64, - 0,32,0,16,0,7,15,15,9,1,253,16,56,84,146,16, - 16,16,16,16,16,16,16,16,16,16,14,7,14,14,0,0, - 0,32,0,16,0,8,255,252,0,8,0,16,0,32,7,15, - 15,9,1,253,16,16,16,16,16,16,16,16,16,16,16,146, - 84,56,16,4,4,4,6,1,6,96,144,144,96,7,9,9, - 8,0,0,16,16,16,254,16,16,16,0,254,7,3,3,6, - 0,7,54,108,144,7,9,9,8,0,0,128,96,24,6,24, - 96,128,0,254,7,7,7,8,0,0,130,68,40,16,40,68, - 130,8,4,4,10,0,2,119,136,136,119,6,11,11,7,0, - 0,112,136,4,4,4,116,204,132,132,200,112,5,5,5,7, - 1,1,112,248,248,248,112,7,7,7,8,0,0,16,16,0, - 254,0,16,16,7,7,7,8,0,0,4,8,254,16,254,32, - 64,7,5,5,8,0,1,254,0,254,0,254,7,5,5,8, - 0,2,114,156,0,114,156,11,2,4,15,2,0,132,32,132, - 32,1,15,15,9,4,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,15,1,2,15,0,3,255,254,8,9, - 9,10,0,0,1,1,1,1,1,1,65,255,64,8,10,10, - 12,2,0,136,206,102,36,116,156,140,70,99,225,8,12,12, - 10,1,255,63,97,66,70,36,6,3,1,97,241,26,12,10, - 11,22,12,1,0,115,0,157,128,137,128,139,0,206,0,106, - 0,41,0,9,0,9,0,105,0,176,192,9,12,24,12,1, - 253,16,0,35,0,69,128,72,128,144,128,212,128,105,0,107, - 0,182,0,144,0,144,0,96,0,9,9,18,11,1,0,28, - 0,99,0,99,0,148,128,136,128,148,128,99,0,99,0,28, - 0,9,9,18,11,1,0,28,0,99,0,73,0,136,128,190, - 128,136,128,73,0,99,0,28,0,11,11,22,12,0,0,31, - 32,96,192,64,192,129,32,130,32,132,32,136,32,144,32,96, - 64,96,192,159,0,10,7,14,10,0,0,30,0,97,128,64, - 128,128,64,128,64,128,64,128,64,10,7,14,10,0,0,128, - 64,128,64,128,64,128,64,64,128,97,128,30,0,9,7,14, - 10,0,0,254,0,1,0,0,128,0,128,0,128,1,0,254, - 0,9,9,18,10,1,254,254,0,1,0,0,128,0,128,0, - 128,1,0,254,0,0,0,255,128,9,9,18,10,0,255,1, - 0,63,128,66,0,130,0,132,0,132,0,72,0,63,128,16, - 0,9,7,14,10,1,0,63,128,64,0,128,0,128,0,128, - 0,64,0,63,128,9,9,18,10,0,254,63,128,64,0,128, - 0,128,0,128,0,64,0,63,128,0,0,255,128,7,7,7, - 10,1,0,62,64,128,254,128,64,62,7,9,9,10,0,255, - 4,62,72,144,254,144,96,62,64,11,10,20,11,0,0,0, - 64,0,128,1,0,2,0,4,0,8,0,16,0,32,0,64, - 0,255,224,9,11,22,10,0,0,255,128,128,128,65,0,65, - 0,34,0,34,0,34,0,20,0,20,0,8,0,8,0,10, - 10,20,12,1,0,30,0,33,0,124,128,146,64,146,64,156, - 64,146,64,121,128,33,0,30,0,10,10,20,12,1,0,30, - 0,33,0,78,128,146,64,144,64,144,64,146,64,76,128,33, - 0,30,0,11,6,12,11,0,4,250,128,170,128,38,192,37, - 64,37,64,118,224,10,12,24,12,1,255,255,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,64, - 128,225,192,8,12,12,8,0,0,1,1,1,2,2,98,164, - 36,20,20,8,8,1,2,2,4,1,3,128,128,9,5,10, - 10,0,0,255,128,0,128,0,128,0,128,0,128,8,7,7, - 9,0,0,24,24,36,36,66,66,129,8,7,7,9,0,0, - 129,66,66,36,36,24,24,13,7,14,15,1,0,16,64,32, - 32,127,240,192,24,127,240,32,32,16,64,13,7,14,14,0, - 0,16,0,32,0,127,248,192,0,127,248,32,0,16,0,7, - 12,12,9,1,0,16,56,108,170,40,40,40,40,40,40,40, - 40,13,7,14,14,1,0,0,64,0,32,255,240,0,24,255, - 240,0,32,0,64,7,12,12,9,1,0,40,40,40,40,40, - 40,40,40,170,108,56,16,7,11,11,7,0,0,16,40,40, - 68,68,130,68,68,40,40,16,4,15,15,5,0,253,16,32, - 32,64,64,64,128,128,128,64,64,64,32,32,16,10,10,20, - 12,1,0,30,0,33,0,92,128,146,64,146,64,156,64,146, - 64,82,128,33,0,30,0,10,10,20,12,1,0,30,0,33, - 0,76,128,146,64,144,64,144,64,146,64,76,128,33,0,30, - 0,10,6,12,11,0,4,250,128,34,128,38,192,37,64,37, - 64,36,64,9,12,24,10,0,255,255,0,129,0,64,0,32, - 0,16,0,8,0,8,0,16,0,32,0,64,0,128,128,255, - 128,4,15,15,6,1,253,16,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,1,15,15,6,1,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,128,128,128,128,128,128,128,128,128,128,128,64,64,32,16, - 4,15,15,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,1,15,15,6,1,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,4,15,15,6,1,253, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,240,4, - 15,15,7,3,253,48,64,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,15,15,7,1,253,32,32,32,32,32,32, - 64,128,64,32,32,32,32,32,32,4,15,15,7,3,253,128, - 128,128,128,128,128,128,128,128,128,128,128,128,64,48,1,15, - 15,7,3,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,255,4,15,15,5,1,253,128,64,64,32,32,32, - 16,16,16,32,32,32,64,64,128,5,13,13,4,0,255,24, - 40,32,32,32,32,32,32,32,32,32,160,192,5,15,15,10, - 5,253,56,88,64,128,128,128,128,128,128,128,128,128,128,128, - 128,1,15,15,10,5,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,5,15,15,10,1,253,8,8,8,8, - 8,8,8,8,8,8,8,8,16,208,224,4,15,15,6,1, - 253,128,64,32,32,16,16,16,16,16,16,16,16,16,16,16, - 1,15,15,6,4,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,4,15,15,6,1,253,16,16,16,16,16, - 16,16,16,16,16,16,32,32,64,128,4,15,15,6,1,253, - 240,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1, - 15,15,6,4,253,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,4,15,15,6,1,253,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,240,4,15,15,7,0,253,192, - 32,16,16,16,16,16,16,16,16,16,16,16,16,16,3,15, - 15,7,3,253,128,128,128,128,128,128,64,32,64,128,128,128, - 128,128,128,4,15,15,7,0,253,16,16,16,16,16,16,16, - 16,16,16,16,16,16,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=11 h=15 x= 7 y=11 dx=13 dy= 0 ascent=12 len=20 - Font Bounding box w=16 h=15 x=-1 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb10r[1633] U8G_FONT_SECTION("u8g_font_symb10r") = { - 0,16,15,255,253,10,2,6,4,121,32,127,253,12,253,10, - 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, - 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, - 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, - 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, - 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, - 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, - 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, - 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, - 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, - 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, - 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, - 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, - 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, - 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, - 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, - 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, - 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, - 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, - 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, - 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, - 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, - 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, - 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, - 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, - 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, - 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, - 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, - 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, - 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, - 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, - 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, - 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, - 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, - 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, - 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, - 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, - 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, - 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, - 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, - 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, - 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, - 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, - 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, - 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, - 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, - 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, - 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, - 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, - 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, - 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, - 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, - 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, - 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, - 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, - 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, - 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, - 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, - 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, - 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, - 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, - 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, - 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, - 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, - 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, - 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, - 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, - 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, - 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, - 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, - 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, - 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, - 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, - 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, - 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, - 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, - 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, - 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, - 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, - 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, - 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, - 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, - 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, - 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, - 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, - 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, - 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, - 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, - 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, - 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, - 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, - 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, - 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, - 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=16 h=17 x= 7 y=12 dx=17 dy= 0 ascent=13 len=30 - Font Bounding box w=20 h=17 x=-3 y=-4 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb12[4136] U8G_FONT_SECTION("u8g_font_symb12") = { - 0,20,17,253,252,11,2,70,5,85,32,255,252,13,252,12, - 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, - 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, - 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, - 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, - 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, - 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, - 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, - 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, - 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, - 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, - 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, - 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, - 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, - 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, - 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, - 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, - 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, - 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, - 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, - 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, - 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, - 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, - 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, - 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, - 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, - 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, - 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, - 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, - 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, - 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, - 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, - 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, - 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, - 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, - 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, - 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, - 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, - 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, - 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, - 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, - 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, - 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, - 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, - 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, - 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, - 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, - 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, - 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, - 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, - 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, - 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, - 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, - 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, - 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, - 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, - 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, - 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, - 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, - 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, - 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, - 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, - 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, - 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, - 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, - 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, - 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, - 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, - 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, - 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, - 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, - 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, - 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, - 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, - 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, - 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, - 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, - 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, - 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, - 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, - 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, - 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, - 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, - 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, - 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, - 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, - 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, - 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, - 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, - 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, - 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, - 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, - 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, - 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, - 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, - 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, - 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, - 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, - 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, - 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, - 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, - 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, - 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, - 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, - 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, - 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, - 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, - 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, - 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, - 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, - 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, - 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, - 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,255,10,11,22,10,255,0,225,128,18,192,10,192,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,30,0,3,4, - 4,4,1,8,96,96,192,128,8,11,11,9,0,0,1,6, - 24,96,128,96,24,6,1,0,255,8,11,11,3,253,0,1, - 2,2,4,8,16,16,32,64,64,128,11,5,10,12,0,2, - 113,192,138,32,132,32,138,32,113,192,7,15,15,8,0,253, - 6,10,8,8,8,126,16,16,16,16,32,32,32,160,192,9, - 10,20,12,1,255,28,0,62,0,62,0,28,0,107,0,255, - 128,255,128,107,0,8,0,28,0,7,9,9,12,2,0,16, - 56,124,124,254,124,124,56,16,8,9,9,12,2,0,102,255, - 255,255,126,60,60,24,24,9,10,20,12,2,255,8,0,28, - 0,28,0,62,0,127,0,127,0,255,128,107,0,8,0,28, - 0,15,9,18,17,0,0,8,32,16,16,32,8,64,4,255, - 254,64,4,32,8,16,16,8,32,16,9,18,16,0,0,8, - 0,16,0,32,0,64,0,255,255,64,0,32,0,16,0,8, - 0,9,15,30,10,0,254,8,0,28,0,42,0,73,0,136, - 128,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,15,9,18,16,0,0,0,32,0,16,0, - 8,0,4,255,254,0,4,0,8,0,16,0,32,9,15,30, - 10,0,254,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,136,128,73,0,42,0,28,0,8, - 0,5,5,5,6,0,6,112,136,136,136,112,9,11,22,9, - 0,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,0,0,255,128,6,4,4,7,1,8,108,108, - 216,144,8,11,11,9,0,0,128,96,24,6,1,6,24,96, - 128,0,255,9,9,18,9,0,0,128,128,65,0,34,0,20, - 0,8,0,20,0,34,0,65,0,128,128,10,5,10,11,0, - 2,113,192,138,0,132,0,138,0,113,192,7,14,14,8,0, - 255,120,196,4,2,2,2,58,102,194,194,130,196,68,56,6, - 6,6,8,1,2,120,252,252,252,252,120,8,7,7,9,0, - 1,24,24,0,255,0,24,24,9,10,20,9,0,255,2,0, - 2,0,4,0,255,128,8,0,8,0,255,128,16,0,32,0, - 32,0,8,7,7,9,0,1,255,0,0,255,0,0,255,8, - 5,5,9,0,2,113,142,0,113,142,13,3,6,16,1,0, - 66,16,231,56,66,16,1,17,17,10,4,252,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,16,1,2, - 16,0,4,255,255,9,11,22,10,0,255,0,128,0,128,0, - 128,0,128,0,128,0,128,32,128,96,128,255,128,96,0,32, - 0,9,11,22,13,2,0,68,0,231,0,103,0,50,0,26, - 0,60,0,108,0,102,0,99,0,51,128,113,0,9,14,28, - 11,0,255,30,0,63,128,67,128,65,0,66,0,34,0,19, - 0,1,0,1,128,0,128,0,128,112,128,191,0,28,0,12, - 13,26,13,0,0,113,128,138,192,140,96,196,64,100,128,37, - 0,7,128,5,128,12,192,12,192,8,208,104,96,48,64,12, - 13,26,16,2,252,12,0,17,224,34,48,36,16,72,48,114, - 32,102,96,100,192,115,0,144,0,144,0,144,0,96,0,11, - 11,22,12,1,0,14,0,49,128,64,64,81,64,138,32,132, - 32,138,32,81,64,64,64,49,128,14,0,11,11,22,12,1, - 0,14,0,49,128,68,64,68,64,132,32,191,160,132,32,68, - 64,68,64,49,128,14,0,12,12,24,13,1,0,15,16,48, - 224,64,96,64,160,129,16,130,16,132,16,136,16,80,32,96, - 32,112,192,159,0,11,9,18,12,1,0,14,0,49,128,64, - 64,64,64,128,32,128,32,128,32,128,32,128,32,11,9,18, - 12,1,0,128,32,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,10,8,16,11,0,0,255,0,0,128,0, - 64,0,64,0,64,0,64,0,128,255,0,10,10,20,11,0, - 253,255,0,0,128,0,64,0,64,0,64,0,64,0,128,255, - 0,0,0,255,192,11,10,20,11,0,255,0,128,63,224,65, - 0,129,0,130,0,130,0,132,0,68,0,63,224,8,0,10, - 8,16,11,0,0,63,192,64,0,128,0,128,0,128,0,128, - 0,64,0,63,192,10,10,20,11,0,254,63,192,64,0,128, - 0,128,0,128,0,128,0,64,0,63,192,0,0,255,192,7, - 7,7,11,0,0,62,64,128,254,128,64,62,7,9,9,11, - 0,255,4,62,72,136,254,144,80,62,32,11,11,22,12,1, - 0,0,32,0,64,0,128,1,0,2,0,4,0,8,0,16, - 0,32,0,64,0,255,192,10,11,22,11,1,1,255,192,192, - 128,96,128,97,0,49,0,50,0,50,0,28,0,28,0,8, - 0,8,0,11,11,22,13,1,0,14,0,49,128,94,64,73, - 64,137,32,142,32,138,32,73,64,93,192,49,128,14,0,11, - 11,22,13,1,0,14,0,49,128,70,64,73,64,145,32,144, - 32,144,32,73,64,70,64,49,128,14,0,13,6,12,14,0, - 5,255,24,171,16,34,176,34,176,34,80,119,88,12,15,30, - 13,1,254,255,240,96,96,96,96,96,96,96,96,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,240, - 240,7,16,16,9,1,253,2,2,2,2,2,4,68,196,36, - 36,20,20,20,8,8,8,2,2,2,4,1,3,192,192,11, - 5,10,12,0,0,255,224,0,32,0,32,0,32,0,32,9, - 8,16,10,0,0,8,0,8,0,20,0,34,0,34,0,65, - 0,128,128,128,128,9,8,16,10,0,0,128,128,128,128,65, - 0,34,0,34,0,20,0,8,0,8,0,16,9,18,17,0, - 0,8,16,16,8,63,252,64,2,128,1,64,2,63,252,16, - 8,8,16,15,9,18,16,0,0,8,0,16,0,63,254,64, - 0,128,0,64,0,63,254,16,0,8,0,9,15,30,10,0, - 254,8,0,20,0,34,0,99,0,162,128,34,0,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,15, - 9,18,16,0,0,0,32,0,16,255,248,0,4,0,2,0, - 4,255,248,0,16,0,32,9,15,30,10,0,254,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, - 0,162,128,99,0,34,0,20,0,8,0,7,12,12,8,0, - 0,16,40,40,68,68,130,130,68,68,40,40,16,4,15,15, - 5,0,254,16,16,32,32,64,64,128,128,128,64,64,32,32, - 16,16,11,11,22,13,1,0,14,0,49,128,94,64,81,64, - 145,32,158,32,145,32,81,64,81,64,49,128,14,0,11,11, - 22,13,1,0,14,0,49,128,70,64,73,64,144,32,144,32, - 144,32,73,64,70,64,49,128,14,0,11,6,12,13,0,5, - 252,32,38,96,38,96,37,160,37,160,36,32,11,15,30,11, - 0,254,255,192,112,64,56,64,24,0,12,0,14,0,7,0, - 3,0,2,0,4,0,8,0,16,32,32,64,127,192,255,128, - 6,17,17,6,1,252,4,8,16,32,32,64,64,64,64,128, - 128,128,128,128,128,128,128,1,17,17,6,1,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,17, - 17,6,1,252,128,128,128,128,128,128,128,128,64,64,64,64, - 32,32,16,8,4,5,17,17,6,0,252,248,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,1,17,17,6, - 0,252,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,17,17,6,0,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,248,4,17,17,8,3,252, - 48,64,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,4,17,17,8,0,252,16,16,16,16,16,16,16,32,192, - 32,16,16,16,16,16,16,16,4,17,17,8,3,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,64,48,1, - 17,17,8,3,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,255,4,15,15,5,0,254,128,128,64, - 64,32,32,16,16,16,32,32,64,64,128,128,5,17,17,5, - 0,252,24,40,32,32,32,32,32,32,32,32,32,32,32,32, - 32,160,192,6,17,17,11,5,252,24,44,72,64,128,128,128, - 128,128,128,128,128,128,128,128,128,128,1,17,17,11,5,252, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,11,0,252,4,4,4,4,4,4,4,4,4, - 4,4,4,4,8,72,208,96,6,17,17,7,1,252,128,64, - 32,16,16,8,8,8,8,4,4,4,4,4,4,4,4,1, - 17,17,6,5,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,6,17,17,6,0,252,4,4,4,4, - 4,4,4,4,8,8,8,8,16,16,32,64,128,5,17,17, - 6,1,252,248,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,1,17,17,6,5,252,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,5,17,17,6,1, - 252,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,248,4,17,17,8,0,252,192,32,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,4,17,17,8,3,252,128, - 128,128,128,128,128,128,64,48,64,128,128,128,128,128,128,128, - 4,17,17,8,0,252,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=13 h=17 x= 7 y=12 dx=14 dy= 0 ascent=13 len=26 - Font Bounding box w=20 h=17 x=-3 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb12r[1985] U8G_FONT_SECTION("u8g_font_symb12r") = { - 0,20,17,253,252,11,2,70,5,85,32,127,252,13,252,12, - 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, - 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, - 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, - 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, - 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, - 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, - 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, - 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, - 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, - 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, - 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, - 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, - 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, - 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, - 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, - 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, - 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, - 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, - 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, - 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, - 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, - 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, - 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, - 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, - 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, - 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, - 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, - 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, - 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, - 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, - 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, - 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, - 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, - 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, - 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, - 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, - 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, - 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, - 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, - 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, - 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, - 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, - 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, - 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, - 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, - 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, - 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, - 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, - 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, - 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, - 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, - 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, - 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, - 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, - 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, - 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, - 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, - 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, - 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, - 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, - 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, - 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, - 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, - 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, - 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, - 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, - 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, - 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, - 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, - 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, - 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, - 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, - 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, - 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, - 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, - 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, - 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, - 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, - 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, - 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, - 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, - 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, - 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, - 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, - 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, - 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, - 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, - 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, - 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, - 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, - 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, - 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, - 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, - 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, - 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, - 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, - 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, - 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, - 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, - 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, - 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, - 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, - 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, - 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, - 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, - 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, - 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, - 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, - 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, - 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, - 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=19 h=19 x= 9 y=13 dx=19 dy= 0 ascent=14 len=34 - Font Bounding box w=20 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb14[4665] U8G_FONT_SECTION("u8g_font_symb14") = { - 0,20,19,255,251,13,2,127,6,16,32,255,252,14,251,13, - 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, - 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, - 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, - 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, - 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, - 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, - 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, - 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, - 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, - 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, - 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, - 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, - 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, - 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, - 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, - 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, - 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, - 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, - 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, - 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, - 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, - 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, - 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, - 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, - 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, - 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, - 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, - 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, - 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, - 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, - 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, - 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, - 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, - 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, - 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, - 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, - 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, - 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, - 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, - 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, - 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, - 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, - 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, - 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, - 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, - 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, - 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, - 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, - 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, - 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, - 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, - 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, - 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, - 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, - 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, - 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, - 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, - 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, - 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, - 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, - 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, - 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, - 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, - 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, - 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, - 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, - 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, - 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, - 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, - 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, - 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, - 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, - 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, - 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, - 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, - 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, - 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, - 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, - 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, - 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, - 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, - 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, - 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, - 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, - 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, - 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, - 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, - 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, - 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, - 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, - 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, - 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, - 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, - 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, - 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, - 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, - 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, - 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, - 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, - 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, - 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, - 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, - 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, - 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, - 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, - 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, - 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, - 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, - 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, - 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, - 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, - 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, - 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, - 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, - 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, - 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, - 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, - 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, - 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, - 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, - 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, - 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, - 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, - 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, - 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, - 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, - 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, - 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, - 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, - 4,115,255,206,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,255,11,13,26,12,0,0,225,192,115,32, - 58,96,28,96,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,30,0,4,5,5,5,1,9,48,112,96,192, - 128,9,12,24,10,0,0,3,128,15,0,60,0,240,0,192, - 0,240,0,60,0,15,0,3,128,0,0,255,128,255,128,8, - 13,13,5,255,0,3,6,6,12,12,24,24,48,48,96,96, - 192,192,12,5,10,13,0,3,121,224,207,48,134,16,207,48, - 121,224,9,17,34,9,0,252,3,128,5,128,12,0,12,0, - 12,0,127,0,24,0,24,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,208,0,224,0,10,9,18,14,2,0, - 12,0,30,0,30,0,30,0,109,128,255,192,255,192,109,128, - 12,0,9,9,18,13,2,0,8,0,28,0,62,0,127,0, - 255,128,127,0,62,0,28,0,8,0,9,9,18,13,2,0, - 99,0,247,128,255,128,255,128,127,0,127,0,62,0,28,0, - 8,0,10,9,18,14,2,0,12,0,30,0,63,0,127,128, - 255,192,255,192,109,128,12,0,12,0,17,8,24,19,1,1, - 24,12,0,48,6,0,96,3,0,255,255,128,255,255,128,96, - 3,0,48,6,0,24,12,0,18,8,24,18,0,1,24,0, - 0,48,0,0,96,0,0,255,255,192,255,255,192,96,0,0, - 48,0,0,24,0,0,8,19,19,10,1,251,24,60,126,219, - 153,24,24,24,24,24,24,24,24,24,24,24,24,24,24,18, - 8,24,18,0,1,0,6,0,0,3,0,0,1,128,255,255, - 192,255,255,192,0,1,128,0,3,0,0,6,0,8,19,19, - 10,1,251,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,153,219,126,60,24,5,6,6,7,1,7,112,248,216,216, - 248,112,8,11,11,10,1,0,24,24,24,255,255,24,24,24, - 0,255,255,8,5,5,8,0,9,51,119,102,204,136,9,12, - 24,10,0,0,224,0,120,0,30,0,7,128,1,128,7,128, - 30,0,120,0,224,0,0,0,255,128,255,128,10,9,18,10, - 0,0,225,192,115,128,51,0,30,0,12,0,30,0,51,0, - 115,128,225,192,11,5,10,12,0,3,121,224,207,0,134,0, - 207,0,121,224,7,14,14,9,1,0,120,204,134,6,6,6, - 62,102,198,198,198,196,236,120,5,6,6,9,2,2,112,248, - 248,248,248,112,8,8,8,10,1,1,24,24,0,255,255,0, - 24,24,8,9,9,10,1,0,12,12,255,255,24,255,255,48, - 48,8,8,8,10,1,1,255,255,0,255,255,0,255,255,8, - 7,7,10,1,2,115,255,206,0,115,255,206,14,2,4,18, - 2,0,195,12,195,12,2,19,19,10,4,251,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,19, - 2,6,19,0,4,255,255,224,255,255,224,9,12,24,12,1, - 0,1,128,1,128,1,128,1,128,1,128,1,128,33,128,97, - 128,255,128,255,128,96,0,32,0,11,13,26,13,1,0,194, - 0,227,192,113,224,56,224,57,128,125,0,207,0,199,0,227, - 0,115,128,49,192,112,192,240,64,10,15,30,13,1,255,31, - 192,63,192,96,128,65,0,66,0,34,0,19,0,3,128,1, - 192,0,192,0,192,112,192,248,128,31,0,14,0,13,14,28, - 15,1,0,121,192,254,224,142,112,134,48,198,96,118,128,54, - 64,38,96,6,96,6,96,6,96,6,96,108,120,184,48,12, - 15,30,14,1,252,12,0,24,0,49,224,103,48,204,48,216, - 48,214,48,246,96,100,224,119,192,179,128,152,0,152,0,216, - 0,112,0,12,13,26,14,1,0,31,128,57,192,96,96,217, - 176,221,176,143,16,134,16,143,16,219,176,217,176,96,96,57, - 192,31,128,12,13,26,14,1,0,31,128,57,192,102,96,198, - 48,198,48,191,208,191,208,134,16,198,48,198,48,96,96,57, - 192,31,128,12,13,26,14,1,0,31,176,57,240,96,96,192, - 240,193,176,131,16,134,16,140,16,216,48,240,48,96,96,249, - 192,223,128,12,9,18,14,1,0,31,128,57,192,96,96,224, - 112,192,48,192,48,192,48,192,48,192,48,12,9,18,14,1, - 0,192,48,192,48,192,48,192,48,192,48,224,112,96,96,57, - 192,31,128,12,9,18,13,1,0,255,128,255,224,0,96,0, - 48,0,48,0,48,0,96,255,224,255,128,12,12,24,13,0, - 253,255,128,255,224,0,96,0,48,0,48,0,48,0,96,255, - 224,255,128,0,0,255,240,255,240,12,13,26,13,0,254,0, - 96,0,192,31,240,127,240,97,128,195,0,195,0,198,0,102, - 0,127,240,31,240,24,0,48,0,12,9,18,13,0,0,31, - 240,127,240,96,0,192,0,192,0,192,0,96,0,127,240,31, - 240,12,12,24,13,0,253,31,240,127,240,96,0,192,0,192, - 0,192,0,96,0,127,240,31,240,0,0,255,240,255,240,9, - 9,18,12,1,0,31,128,127,128,224,0,192,0,255,128,192, - 0,224,0,127,128,31,128,10,11,22,12,1,255,0,128,31, - 192,127,192,226,0,196,0,255,128,200,0,240,0,127,192,63, - 192,64,0,13,13,26,14,0,0,0,24,0,48,0,96,0, - 192,1,128,3,0,6,0,12,0,24,0,48,0,96,0,192, - 0,255,248,11,13,26,13,1,0,255,224,224,32,96,96,96, - 64,112,192,48,128,48,128,57,128,25,0,27,0,14,0,14, - 0,4,0,13,13,26,15,1,0,31,192,56,224,96,48,223, - 24,205,152,205,152,205,152,207,24,205,152,220,216,96,48,56, - 224,31,192,13,13,26,15,1,0,31,192,56,224,96,48,199, - 152,205,152,204,152,204,24,204,24,204,152,199,24,96,48,56, - 224,31,192,14,8,16,16,1,5,251,28,171,24,35,24,34, - 168,34,168,34,168,34,72,119,92,14,16,32,15,0,254,255, - 252,120,120,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,120,120,252,252,9, - 14,28,10,0,0,0,128,0,128,0,128,0,128,48,128,113, - 0,217,0,25,0,25,0,13,0,14,0,6,0,6,0,6, - 0,2,2,2,4,1,4,192,192,11,6,12,13,1,0,255, - 224,255,224,0,96,0,96,0,96,0,96,10,9,18,11,0, - 0,12,0,12,0,30,0,51,0,51,0,97,128,97,128,192, - 192,192,192,10,9,18,11,0,0,192,192,192,192,97,128,97, - 128,51,0,51,0,30,0,12,0,12,0,18,9,27,18,0, - 0,8,4,0,24,6,0,63,255,0,127,255,128,224,1,192, - 127,255,128,63,255,0,24,6,0,8,4,0,16,9,18,18, - 1,0,8,0,24,0,63,255,127,255,224,0,127,255,63,255, - 24,0,8,0,9,17,34,11,1,253,8,0,28,0,54,0, - 119,0,247,128,54,0,54,0,54,0,54,0,54,0,54,0, - 54,0,54,0,54,0,54,0,54,0,54,0,16,9,18,18, - 1,0,0,16,0,24,255,252,255,254,0,7,255,254,255,252, - 0,24,0,16,9,17,34,11,1,253,54,0,54,0,54,0, - 54,0,54,0,54,0,54,0,54,0,54,0,54,0,54,0, - 54,0,247,128,119,0,54,0,28,0,8,0,9,14,28,9, - 0,0,28,0,28,0,54,0,54,0,99,0,99,0,193,128, - 193,128,99,0,99,0,54,0,54,0,28,0,28,0,5,17, - 17,6,0,253,24,24,48,48,96,96,192,192,128,192,192,96, - 96,48,48,24,24,13,13,26,15,1,0,31,192,56,224,96, - 48,207,24,205,152,205,152,207,24,205,152,205,152,205,152,96, - 48,56,224,31,192,13,13,26,15,1,0,31,192,56,224,96, - 48,199,24,204,152,204,24,204,24,204,24,204,152,199,24,96, - 48,56,224,31,192,13,8,16,15,1,5,251,24,35,24,35, - 24,34,168,34,168,34,168,34,72,34,72,12,16,32,13,0, - 254,255,224,224,96,112,32,56,0,28,0,14,0,7,0,3, - 0,6,0,12,0,24,0,48,0,96,16,192,48,255,240,255, - 240,6,19,19,7,1,251,4,12,24,24,48,48,96,96,96, - 96,192,192,192,192,192,192,192,192,192,2,19,19,7,1,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,6,19,19,7,1,251,192,192,192,192,192,192,192, - 192,192,224,96,96,96,48,48,24,24,12,4,5,19,19,7, - 1,251,248,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,2,19,19,7,1,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,19, - 19,7,1,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,5,19,19,9,4,251,56,96,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 5,19,19,9,1,251,24,24,24,24,24,24,16,48,96,192, - 96,48,16,24,24,24,24,24,24,5,19,19,9,4,251,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 96,56,2,19,19,9,4,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,255,5,17,17,6, - 0,253,192,192,96,96,48,48,24,24,8,24,24,48,48,96, - 96,192,192,6,19,19,6,0,251,28,28,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,224,224,7,19,19,13, - 5,251,28,126,102,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,2,19,19,13,5,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,7,19, - 19,13,0,251,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,204,252,112,6,19,19,7,0,251,128,192,96, - 96,48,48,24,24,24,24,12,12,12,12,12,12,12,12,12, - 2,19,19,7,4,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,6,19,19,7,0,251,12, - 12,12,12,12,12,12,12,12,24,24,24,24,48,48,96,96, - 192,128,5,19,19,7,1,251,248,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,2,19,19,7,4, - 251,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,5,19,19,7,1,251,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,5,19,19, - 9,1,251,224,48,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,5,19,19,9,4,251,192,192,192,192, - 192,192,64,96,48,24,48,96,64,192,192,192,192,192,192,5, - 19,19,9,1,251,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,48,224,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=14 h=19 x= 9 y=13 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=20 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb14r[2261] U8G_FONT_SECTION("u8g_font_symb14r") = { - 0,20,19,255,251,13,2,127,6,16,32,127,252,14,251,13, - 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, - 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, - 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, - 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, - 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, - 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, - 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, - 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, - 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, - 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, - 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, - 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, - 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, - 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, - 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, - 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, - 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, - 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, - 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, - 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, - 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, - 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, - 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, - 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, - 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, - 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, - 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, - 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, - 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, - 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, - 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, - 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, - 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, - 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, - 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, - 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, - 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, - 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, - 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, - 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, - 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, - 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, - 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, - 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, - 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, - 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, - 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, - 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, - 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, - 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, - 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, - 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, - 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, - 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, - 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, - 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, - 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, - 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, - 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, - 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, - 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, - 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, - 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, - 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, - 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, - 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, - 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, - 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, - 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, - 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, - 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, - 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, - 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, - 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, - 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, - 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, - 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, - 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, - 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, - 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, - 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, - 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, - 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, - 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, - 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, - 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, - 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, - 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, - 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, - 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, - 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, - 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, - 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, - 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, - 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, - 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, - 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, - 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, - 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, - 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, - 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, - 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, - 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, - 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, - 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, - 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, - 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, - 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, - 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, - 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, - 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, - 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, - 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, - 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, - 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, - 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, - 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, - 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, - 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, - 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, - 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, - 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, - 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, - 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, - 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, - 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, - 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, - 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, - 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, - 4,115,255,206,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=25 h=24 x=13 y=18 dx=26 dy= 0 ascent=19 len=63 - Font Bounding box w=27 h=24 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb18[6604] U8G_FONT_SECTION("u8g_font_symb18") = { - 0,27,24,255,251,17,3,215,8,151,32,255,251,19,251,17, - 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, - 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, - 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, - 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, - 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, - 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, - 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, - 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, - 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, - 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, - 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, - 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, - 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, - 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, - 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, - 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, - 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, - 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, - 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, - 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, - 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, - 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, - 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, - 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, - 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, - 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, - 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, - 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, - 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, - 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, - 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, - 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, - 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, - 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, - 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, - 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, - 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, - 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, - 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, - 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, - 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, - 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, - 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, - 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, - 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, - 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, - 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, - 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, - 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, - 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, - 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, - 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, - 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, - 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, - 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, - 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, - 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, - 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, - 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, - 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, - 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, - 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, - 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, - 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, - 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, - 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, - 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, - 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, - 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, - 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, - 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, - 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, - 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, - 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, - 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, - 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, - 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, - 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, - 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, - 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, - 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, - 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, - 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, - 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, - 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, - 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, - 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, - 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, - 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, - 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, - 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, - 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, - 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, - 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, - 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, - 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, - 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, - 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, - 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, - 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, - 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, - 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, - 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, - 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, - 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, - 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, - 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, - 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, - 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, - 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, - 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, - 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, - 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, - 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, - 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, - 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, - 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, - 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, - 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, - 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, - 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, - 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, - 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, - 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, - 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, - 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, - 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, - 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, - 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, - 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, - 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, - 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, - 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, - 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, - 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, - 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, - 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, - 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, - 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, - 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, - 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, - 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, - 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, - 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, - 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, - 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, - 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, - 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, - 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, - 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, - 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, - 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, - 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, - 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, - 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, - 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, - 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, - 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, - 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, - 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, - 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, - 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, - 124,96,199,192,131,128,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,255,13,17,34,15,1,0,224,112, - 112,216,57,184,27,48,14,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 5,6,6,6,1,12,24,56,112,96,192,128,12,15,30,14, - 0,0,0,112,1,224,7,128,30,0,120,0,224,0,224,0, - 120,0,30,0,3,192,0,240,0,48,0,0,255,240,255,240, - 8,17,17,4,255,0,3,3,6,6,12,12,24,24,24,48, - 48,96,96,96,192,192,192,15,7,14,17,1,4,56,56,124, - 124,198,198,195,134,199,198,124,124,56,56,13,22,44,13,0, - 251,0,240,1,152,1,152,3,0,3,0,3,0,31,192,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,204,0,204,0,120,0,14,13,26, - 18,2,0,7,128,15,192,15,192,15,192,15,192,119,184,251, - 124,255,252,255,252,251,124,115,56,3,0,7,128,10,13,26, - 18,4,0,12,0,30,0,63,0,63,0,127,128,127,128,255, - 192,127,128,127,128,63,0,30,0,30,0,12,0,12,13,26, - 18,3,0,112,224,249,240,255,240,255,240,255,240,255,240,127, - 224,127,224,63,192,31,128,31,128,15,0,6,0,12,13,26, - 18,3,0,6,0,15,0,31,128,31,128,63,192,127,224,127, - 224,255,240,255,240,246,240,102,96,6,0,6,0,24,12,36, - 26,1,1,6,0,96,12,0,48,24,0,24,48,0,12,96, - 0,6,255,255,255,255,255,255,96,0,6,48,0,12,24,0, - 24,12,0,48,6,0,96,25,12,48,25,0,1,6,0,0, - 0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0, - 0,255,255,255,128,255,255,255,128,96,0,0,0,48,0,0, - 0,24,0,0,0,12,0,0,0,6,0,0,0,12,24,48, - 14,1,251,6,0,15,0,31,128,54,192,102,96,198,48,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,25,12,48,25,0,1,0,0,48,0,0,0,24, - 0,0,0,12,0,0,0,6,0,0,0,3,0,255,255,255, - 128,255,255,255,128,0,0,3,0,0,0,6,0,0,0,12, - 0,0,0,24,0,0,0,48,0,12,24,48,14,1,251,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,198,48,102,96,54,192,31,128,15,0,6,0,7, - 7,7,9,1,10,56,108,198,198,198,108,56,10,14,28,12, - 1,0,12,0,12,0,12,0,12,0,255,192,255,192,12,0, - 12,0,12,0,12,0,0,0,0,0,255,192,255,192,9,6, - 12,10,1,12,25,128,59,128,119,0,102,0,204,0,136,0, - 12,15,30,14,0,0,224,0,120,0,30,0,7,128,1,224, - 0,112,0,112,1,224,7,128,62,0,240,0,192,0,0,0, - 255,240,255,240,11,10,20,13,1,2,192,96,96,192,49,128, - 27,0,14,0,14,0,27,0,49,128,96,192,192,96,14,7, - 14,16,1,4,56,56,124,124,198,192,195,128,199,192,124,124, - 56,56,10,19,38,12,1,0,62,0,99,0,193,128,1,128, - 0,192,0,192,0,192,0,192,30,192,115,192,97,192,192,192, - 192,192,193,128,193,128,193,128,227,0,119,0,62,0,8,8, - 8,12,2,3,60,126,255,255,255,255,126,60,10,8,16,12, - 1,3,12,0,12,0,0,0,255,192,255,192,0,0,12,0, - 12,0,10,13,26,14,2,0,1,128,1,128,3,0,3,0, - 255,192,255,192,12,0,255,192,255,192,48,0,48,0,96,0, - 96,0,11,8,16,13,1,3,255,224,255,224,0,0,255,224, - 255,224,0,0,255,224,255,224,11,8,16,13,1,3,56,32, - 124,96,199,192,131,128,56,32,124,96,199,192,131,128,18,2, - 6,24,3,0,192,192,192,192,192,192,2,24,24,14,6,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,25,2,8,25,0,6,255,255, - 255,128,255,255,255,128,14,16,32,16,1,0,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 32,12,96,12,255,252,255,252,96,0,32,0,12,16,32,14, - 1,0,129,128,195,0,227,240,113,240,56,96,28,192,60,128, - 110,128,199,128,195,128,227,128,241,192,112,224,48,112,112,48, - 224,16,14,19,38,16,1,255,15,128,63,252,112,248,96,48, - 64,96,64,192,96,192,48,224,28,112,0,56,0,56,0,28, - 0,28,0,12,48,12,120,12,222,24,15,240,3,192,17,18, - 54,19,1,0,30,24,0,63,60,0,99,206,0,193,135,0, - 129,131,0,193,134,0,225,140,0,113,184,0,57,176,0,25, - 152,0,17,152,0,1,152,0,1,156,0,1,140,0,1,140, - 0,25,134,128,63,7,128,78,7,0,15,20,40,19,2,251, - 6,0,12,0,24,60,48,254,49,134,99,6,102,6,108,6, - 104,12,121,156,115,152,114,48,122,112,91,224,221,128,140,0, - 140,0,140,0,216,0,112,0,16,17,34,18,1,0,7,224, - 30,120,56,28,96,6,104,22,204,51,198,99,195,195,193,131, - 195,195,198,99,204,51,104,22,96,6,56,28,30,120,7,224, - 16,17,34,18,1,0,7,224,30,120,56,28,97,134,97,134, - 193,131,193,131,207,243,207,243,193,131,193,131,193,131,97,134, - 96,6,56,28,30,120,7,224,18,17,51,20,1,0,3,240, - 192,15,253,128,28,15,0,48,7,0,48,15,0,96,25,128, - 96,49,128,96,97,128,96,193,128,97,129,128,99,1,128,102, - 1,128,60,3,0,56,3,0,60,14,0,111,252,0,195,240, - 0,16,13,26,18,1,0,7,224,31,248,56,28,96,6,96, - 6,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,16,13,26,18,1,0,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,96,6,96,6,56,28,31,248,7, - 224,15,12,24,17,1,0,255,224,255,248,0,28,0,12,0, - 6,0,6,0,6,0,6,0,12,0,28,255,248,255,224,15, - 15,30,17,1,253,255,224,255,248,0,28,0,12,0,6,0, - 6,0,6,0,6,0,12,0,28,255,248,255,224,0,0,255, - 254,255,254,15,16,32,17,1,254,0,12,0,12,15,254,63, - 254,112,48,96,48,192,96,192,96,192,192,192,192,97,128,113, - 128,63,254,15,254,6,0,6,0,15,12,24,17,1,0,15, - 254,63,254,112,0,96,0,192,0,192,0,192,0,192,0,96, - 0,112,0,63,254,15,254,15,15,30,17,1,253,15,254,63, - 254,112,0,96,0,192,0,192,0,192,0,192,0,96,0,112, - 0,63,254,15,254,0,0,255,254,255,254,12,13,26,16,2, - 0,31,240,127,240,96,0,192,0,192,0,192,0,255,240,192, - 0,192,0,192,0,96,0,127,240,31,240,12,15,30,16,2, - 255,0,192,31,240,127,240,97,128,193,128,195,0,195,0,255, - 240,198,0,198,0,204,0,108,0,127,240,31,240,24,0,17, - 16,48,19,1,0,0,1,128,0,3,0,0,6,0,0,12, - 0,0,24,0,0,48,0,0,96,0,0,192,0,1,128,0, - 3,0,0,6,0,0,12,0,0,24,0,0,48,0,0,127, - 255,128,255,255,128,16,18,36,18,1,0,255,255,192,3,192, - 2,96,6,96,4,48,12,48,8,48,24,24,16,24,48,12, - 32,12,32,6,96,6,64,3,192,3,192,1,128,1,128,16, - 17,34,18,1,0,7,224,30,120,56,28,96,6,111,230,198, - 115,198,51,198,115,199,227,198,195,198,99,198,51,111,62,96, - 6,56,28,30,120,7,224,16,17,34,18,1,0,7,224,30, - 120,56,28,96,6,99,230,198,99,204,35,204,3,204,3,204, - 3,204,3,206,51,103,230,99,198,56,28,30,120,7,224,20, - 10,30,22,1,7,255,96,112,153,96,96,24,112,224,24,112, - 224,24,89,96,24,89,96,24,78,96,24,78,96,24,70,96, - 60,230,240,17,21,63,19,1,253,255,255,128,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,252,31,128,14,19,38,14,0,0,0,12, - 0,12,0,8,0,8,0,24,48,24,112,16,216,16,24,16, - 12,48,12,48,6,32,6,32,3,32,3,96,1,192,1,192, - 0,192,0,192,2,2,2,6,2,6,192,192,15,8,16,17, - 1,0,255,254,255,254,0,6,0,6,0,6,0,6,0,6, - 0,6,13,12,24,15,1,0,7,0,7,0,13,128,13,128, - 24,192,24,192,48,96,48,96,96,48,96,48,192,24,192,24, - 13,12,24,15,1,0,192,24,192,24,96,48,96,48,48,96, - 48,96,24,192,24,192,13,128,13,128,7,0,7,0,23,12, - 36,25,1,0,6,0,192,12,0,96,24,0,48,63,255,248, - 127,255,252,224,0,14,224,0,14,127,255,252,63,255,248,24, - 0,48,12,0,96,6,0,192,23,12,36,25,1,0,6,0, - 0,12,0,0,24,0,0,63,255,254,127,255,254,224,0,0, - 224,0,0,127,255,254,63,255,254,24,0,0,12,0,0,6, - 0,0,12,19,38,14,1,0,6,0,15,0,31,128,57,192, - 121,224,217,176,25,128,25,128,25,128,25,128,25,128,25,128, - 25,128,25,128,25,128,25,128,25,128,25,128,25,128,23,12, - 36,25,1,0,0,0,192,0,0,96,0,0,48,255,255,248, - 255,255,252,0,0,14,0,0,14,255,255,252,255,255,248,0, - 0,48,0,0,96,0,0,192,12,19,38,14,1,0,25,128, - 25,128,25,128,25,128,25,128,25,128,25,128,25,128,25,128, - 25,128,25,128,25,128,25,128,217,176,121,224,57,192,31,128, - 15,0,6,0,10,18,36,12,1,0,12,0,30,0,30,0, - 51,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 97,128,97,128,51,0,51,0,30,0,30,0,12,0,7,22, - 22,8,0,251,6,6,12,12,24,24,48,48,96,96,192,192, - 96,96,48,48,24,24,12,12,6,6,16,17,34,18,1,0, - 7,224,30,120,56,28,96,6,103,230,198,51,198,51,198,51, - 199,227,198,99,198,51,198,51,102,50,96,6,56,28,30,120, - 7,224,16,17,34,18,1,0,7,224,30,120,56,28,96,6, - 99,198,198,99,204,35,204,3,200,3,200,3,204,3,204,35, - 102,102,99,198,56,28,30,120,7,224,18,10,30,20,1,7, - 254,192,192,24,192,192,24,225,192,24,225,192,24,243,192,24, - 210,192,24,222,192,24,204,192,24,204,192,24,204,192,14,20, - 40,18,2,254,255,248,224,24,112,8,56,0,28,0,14,0, - 7,0,3,128,1,192,0,192,1,128,3,0,6,0,12,0, - 24,0,48,0,96,4,192,12,255,252,255,252,9,24,48,10, - 1,251,1,128,3,0,6,0,12,0,24,0,24,0,48,0, - 48,0,96,0,96,0,96,0,96,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,2,24,24,10,1,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 9,24,48,10,1,251,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,96,0,96,0,48,0,48,0,24,0,24,0,12,0, - 6,0,3,0,1,128,7,24,24,10,1,251,254,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,2,24,24,10,1,251,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,7,24,24,10,1,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,254, - 7,24,24,12,5,251,30,48,96,96,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,24, - 24,12,2,251,24,24,24,24,24,24,24,24,16,48,96,192, - 96,48,16,24,24,24,24,24,24,24,24,24,7,24,24,12, - 5,251,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,96,96,48,30,2,24,24,12,5,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,255,7,22,22,8,1,251,192, - 192,96,96,48,48,24,24,12,12,6,6,12,12,24,24,48, - 48,96,96,192,192,8,24,24,8,0,251,7,15,27,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 216,240,224,8,24,24,17,8,251,14,27,51,32,96,64,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,2,24,24,17,8,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,8, - 24,24,17,2,251,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,2,6,204,216,112,9,24,48, - 10,0,251,192,0,96,0,48,0,24,0,12,0,12,0,6, - 0,6,0,3,0,3,0,3,0,3,0,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,2,24,24,10,7,251,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,9,24,48,10,0,251,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3, - 0,3,0,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,48,0,96,0,192,0,7,24,24,10,2,251,254,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,2,24,24,10,7,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,7,24,24,10,2,251,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 254,7,24,24,12,0,251,240,24,12,12,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5, - 24,24,12,5,251,192,192,192,192,192,192,192,192,64,96,48, - 24,48,96,64,192,192,192,192,192,192,192,192,192,7,24,24, - 12,0,251,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,12,12,24,240,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=20 h=24 x=13 y=18 dx=22 dy= 0 ascent=19 len=51 - Font Bounding box w=27 h=24 x=-1 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb18r[3303] U8G_FONT_SECTION("u8g_font_symb18r") = { - 0,27,24,255,251,17,3,215,8,151,32,127,251,19,251,17, - 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, - 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, - 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, - 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, - 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, - 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, - 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, - 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, - 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, - 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, - 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, - 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, - 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, - 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, - 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, - 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, - 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, - 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, - 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, - 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, - 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, - 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, - 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, - 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, - 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, - 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, - 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, - 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, - 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, - 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, - 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, - 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, - 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, - 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, - 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, - 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, - 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, - 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, - 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, - 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, - 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, - 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, - 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, - 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, - 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, - 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, - 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, - 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, - 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, - 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, - 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, - 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, - 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, - 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, - 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, - 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, - 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, - 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, - 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, - 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, - 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, - 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, - 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, - 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, - 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, - 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, - 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, - 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, - 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, - 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, - 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, - 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, - 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, - 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, - 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, - 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, - 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, - 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, - 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, - 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, - 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, - 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, - 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, - 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, - 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, - 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, - 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, - 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, - 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, - 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, - 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, - 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, - 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, - 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, - 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, - 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, - 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, - 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, - 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, - 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, - 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, - 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, - 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, - 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, - 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, - 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, - 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, - 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, - 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, - 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, - 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, - 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, - 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, - 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, - 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, - 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, - 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, - 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, - 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, - 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, - 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, - 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, - 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, - 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, - 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, - 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, - 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, - 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, - 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, - 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, - 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, - 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, - 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, - 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, - 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, - 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, - 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, - 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, - 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, - 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, - 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, - 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, - 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, - 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, - 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, - 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, - 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, - 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, - 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, - 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, - 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, - 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, - 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, - 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, - 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, - 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, - 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, - 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, - 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, - 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, - 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, - 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, - 124,96,199,192,131,128,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=34 x=15 y=26 dx=34 dy= 0 ascent=27 len=108 - Font Bounding box w=40 h=34 x=-5 y=-7 - Calculated Min Values x=-5 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb24[10727] U8G_FONT_SECTION("u8g_font_symb24") = { - 0,40,34,251,249,23,5,133,13,247,32,255,249,27,249,23, - 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, - 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, - 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, - 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, - 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, - 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, - 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, - 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, - 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, - 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, - 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, - 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, - 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, - 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, - 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, - 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, - 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, - 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, - 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, - 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, - 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, - 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, - 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, - 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, - 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, - 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, - 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, - 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, - 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, - 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, - 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, - 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, - 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, - 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, - 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, - 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, - 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, - 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, - 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, - 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, - 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, - 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, - 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, - 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, - 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, - 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, - 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, - 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, - 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, - 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, - 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, - 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, - 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, - 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, - 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, - 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, - 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, - 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, - 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, - 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, - 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, - 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, - 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, - 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, - 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, - 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, - 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, - 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, - 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, - 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, - 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, - 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, - 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, - 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, - 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, - 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, - 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, - 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, - 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, - 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, - 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, - 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, - 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, - 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, - 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, - 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, - 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, - 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, - 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, - 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, - 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, - 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, - 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, - 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, - 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, - 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, - 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, - 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, - 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, - 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, - 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, - 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, - 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, - 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, - 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, - 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, - 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, - 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, - 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, - 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, - 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, - 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, - 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, - 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, - 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, - 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, - 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, - 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, - 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, - 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, - 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, - 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, - 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, - 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, - 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, - 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, - 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, - 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, - 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, - 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, - 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, - 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, - 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, - 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, - 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, - 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, - 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, - 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, - 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, - 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, - 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, - 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, - 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, - 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, - 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, - 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, - 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, - 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, - 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, - 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, - 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, - 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, - 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, - 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, - 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, - 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, - 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, - 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, - 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, - 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, - 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, - 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, - 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, - 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, - 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, - 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, - 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, - 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, - 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, - 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, - 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, - 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, - 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, - 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, - 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, - 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, - 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, - 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, - 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, - 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, - 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, - 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, - 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, - 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, - 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, - 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, - 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, - 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, - 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, - 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, - 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, - 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, - 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, - 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, - 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, - 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, - 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, - 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, - 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, - 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, - 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, - 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, - 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, - 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, - 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, - 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, - 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, - 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, - 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, - 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, - 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, - 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, - 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, - 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, - 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, - 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, - 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, - 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, - 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, - 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, - 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, - 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, - 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, - 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, - 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, - 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, - 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, - 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, - 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, - 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, - 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, - 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, - 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, - 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, - 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, - 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, - 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, - 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, - 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, - 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, - 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, - 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, - 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, - 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, - 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, - 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, - 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, - 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, - 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, - 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, - 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, - 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, - 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, - 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, - 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, - 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, - 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, - 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, - 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, - 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, - 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, - 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, - 127,134,227,254,192,56,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,255,20,23,69,20,0,0,240,1, - 192,124,7,224,15,12,112,7,12,240,3,152,224,1,208,224, - 1,208,0,1,240,0,1,240,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,1,240,0, - 7,252,0,6,9,9,8,1,16,24,60,60,120,112,96,224, - 192,128,16,21,42,18,1,0,0,7,0,31,0,124,1,240, - 7,192,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,120,0,30,0,7,0,1,0,0,0,0,255,255, - 255,255,15,23,46,6,251,0,0,2,0,6,0,12,0,12, - 0,24,0,48,0,48,0,96,0,192,0,192,1,128,3,0, - 3,0,6,0,12,0,12,0,24,0,48,0,48,0,96,0, - 192,0,192,0,128,0,21,10,30,23,1,4,28,3,192,127, - 15,224,99,158,48,193,248,24,192,240,24,192,240,24,192,248, - 24,99,156,48,127,15,240,28,3,192,16,29,58,16,0,250, - 0,30,0,51,0,103,0,98,0,224,0,224,0,192,0,192, - 0,192,15,252,1,192,1,192,1,192,1,192,1,128,1,128, - 1,128,3,128,3,128,3,128,3,0,3,0,3,0,3,0, - 2,0,102,0,230,0,236,0,120,0,18,18,54,24,3,0, - 1,224,0,3,240,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,240,0,1,224,0,124,207,128,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,252,207,192,120,199,128, - 0,192,0,1,224,0,14,18,36,24,5,0,3,0,7,128, - 7,192,15,192,31,224,63,240,127,248,127,248,255,252,255,252, - 127,248,127,248,63,240,31,224,15,192,7,192,7,128,3,0, - 16,18,36,24,4,0,124,62,254,127,254,127,255,255,255,255, - 255,255,255,255,127,254,127,254,63,252,63,252,31,248,15,240, - 15,240,7,224,3,192,1,128,1,128,16,18,36,24,4,0, - 1,128,1,192,3,192,7,224,7,240,15,240,31,248,63,252, - 63,252,127,254,255,255,255,255,255,255,253,191,249,159,249,159, - 113,142,3,192,32,16,64,34,1,0,1,128,1,128,3,0, - 0,192,7,0,0,224,14,0,0,112,28,0,0,56,56,0, - 0,28,112,0,0,14,255,255,255,255,255,255,255,255,112,0, - 0,14,56,0,0,28,28,0,0,56,14,0,0,112,7,0, - 0,224,3,0,0,192,1,128,1,128,29,16,64,32,1,0, - 1,128,0,0,3,0,0,0,6,0,0,0,14,0,0,0, - 28,0,0,0,56,0,0,0,112,0,0,0,255,255,255,248, - 255,255,255,248,112,0,0,0,56,0,0,0,28,0,0,0, - 14,0,0,0,6,0,0,0,3,0,0,0,1,128,0,0, - 16,27,54,20,2,0,1,128,3,192,7,224,15,240,29,184, - 57,156,113,142,225,135,193,131,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,29,16,64,32, - 2,0,0,0,12,0,0,0,14,0,0,0,7,0,0,0, - 3,128,0,0,1,192,0,0,0,224,0,0,0,112,255,255, - 255,248,255,255,255,248,0,0,0,112,0,0,0,224,0,0, - 1,192,0,0,3,128,0,0,7,0,0,0,14,0,0,0, - 12,0,16,27,54,20,2,0,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,193,131,225,135, - 113,142,57,156,29,184,15,240,7,224,3,192,1,128,9,10, - 20,13,2,13,28,0,99,0,65,0,128,128,128,128,128,128, - 128,128,65,0,99,0,28,0,16,22,44,18,1,0,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, - 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,0,0,0,0,255,255,255,255,12,9,18,13,1,15, - 28,112,28,112,60,240,56,224,113,192,113,192,227,128,195,0, - 130,0,16,21,42,18,1,0,224,0,248,0,62,0,15,128, - 1,224,0,120,0,30,0,7,0,7,0,30,0,120,1,224, - 7,128,30,0,120,0,224,0,128,0,0,0,0,0,255,255, - 255,255,16,16,32,18,1,1,192,3,224,7,112,14,56,28, - 28,56,14,112,7,224,3,192,3,192,7,224,14,112,28,56, - 56,28,112,14,224,7,192,3,19,10,30,23,1,4,28,3, - 192,63,15,224,99,156,0,193,248,0,192,240,0,192,240,0, - 193,248,0,99,156,0,127,15,224,28,3,192,14,27,54,16, - 1,0,30,0,63,128,32,224,0,112,0,48,0,24,0,24, - 0,24,0,28,0,28,0,28,15,28,31,252,56,124,120,60, - 112,60,240,56,224,56,224,56,224,56,224,112,224,112,96,96, - 112,224,57,192,31,128,15,0,11,12,24,15,2,4,14,0, - 63,128,127,192,127,192,255,224,255,224,255,224,255,224,127,192, - 127,192,63,128,14,0,16,13,26,18,1,2,1,128,3,192, - 3,192,1,128,0,0,255,255,255,255,0,0,0,0,1,128, - 3,192,3,192,1,128,17,19,57,18,1,255,0,12,0,0, - 24,0,0,24,0,0,48,0,0,48,0,255,255,128,255,255, - 128,0,192,0,0,192,0,1,128,0,1,128,0,3,0,0, - 255,255,128,255,255,128,6,0,0,12,0,0,12,0,0,24, - 0,0,24,0,0,17,12,36,18,0,3,255,255,128,255,255, - 128,0,0,0,0,0,0,0,0,0,255,255,128,255,255,128, - 0,0,0,0,0,0,0,0,0,255,255,128,255,255,128,16, - 9,18,18,1,4,28,0,127,135,225,254,64,56,0,0,28, - 0,127,135,225,254,192,56,26,4,16,33,3,0,96,12,1, - 128,240,30,3,192,240,30,3,192,96,12,1,128,2,34,34, - 20,9,249,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,32,2,8,32,0,7,255,255,255,255,255, - 255,255,255,18,21,63,21,1,0,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,16,0,192,112,0,192,255,255,192,255, - 255,192,112,0,0,16,0,0,16,22,44,27,5,0,0,32, - 96,96,240,126,240,127,248,127,124,63,60,15,62,12,31,24, - 31,152,55,240,115,240,97,240,225,240,240,248,240,124,120,62, - 124,30,124,31,60,15,124,7,252,6,18,27,81,22,1,254, - 7,240,0,31,254,0,63,255,128,56,63,128,96,7,0,96, - 7,0,64,6,0,64,12,0,64,12,0,96,28,0,48,28, - 0,28,14,0,14,14,0,0,15,0,0,7,0,0,7,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,192,60, - 1,128,255,1,128,159,195,0,7,254,0,3,248,0,0,240, - 0,23,24,72,26,1,0,15,128,192,63,225,240,97,247,248, - 192,252,124,128,120,62,128,120,28,128,56,56,192,56,112,224, - 56,192,120,57,192,62,59,192,14,57,224,6,56,224,6,56, - 224,0,56,240,0,56,240,0,56,112,0,112,112,0,112,112, - 0,96,120,30,192,122,63,128,62,47,128,60,6,0,16,23, - 26,78,32,5,249,0,192,0,1,192,0,3,0,112,6,3, - 252,6,14,30,12,24,30,28,48,14,24,96,14,56,192,30, - 57,128,30,59,0,30,62,0,28,62,48,60,60,120,56,30, - 112,120,62,64,240,47,65,224,111,99,192,71,63,0,199,0, - 0,135,0,0,131,0,0,131,0,0,199,0,0,102,0,0, - 60,0,0,22,23,69,25,1,0,0,252,0,3,255,0,15, - 3,192,28,0,224,56,0,112,50,1,48,103,3,152,99,135, - 24,193,134,8,192,204,12,192,120,12,192,48,12,192,120,12, - 192,204,12,193,134,12,99,135,24,103,3,152,50,1,48,56, - 0,112,28,0,224,15,3,192,3,255,0,0,252,0,22,23, - 69,25,1,0,0,252,0,3,255,0,15,3,192,28,48,224, - 24,48,96,48,48,48,96,48,24,96,48,24,96,48,24,192, - 48,12,192,48,12,223,255,236,223,255,236,192,48,12,192,48, - 12,96,48,24,96,48,24,48,48,48,56,48,112,28,48,224, - 15,3,192,3,255,0,0,252,0,24,24,72,27,1,0,0, - 126,2,3,255,198,7,129,238,14,0,124,24,0,56,48,0, - 124,112,0,238,96,1,198,96,3,134,192,7,3,192,14,3, - 192,28,3,192,56,3,192,112,3,192,224,3,97,192,6,99, - 128,6,119,0,14,62,0,12,28,0,24,62,0,112,119,129, - 224,227,255,192,192,126,0,22,17,51,25,1,0,0,252,0, - 3,255,0,15,3,192,28,0,224,56,0,112,48,0,48,96, - 0,24,96,0,24,192,0,12,192,0,12,192,0,12,192,0, - 12,192,0,12,192,0,12,192,0,12,192,0,12,192,0,12, - 22,17,51,25,1,0,192,0,12,192,0,12,192,0,12,192, - 0,12,192,0,12,192,0,12,192,0,12,192,0,12,192,0, - 12,96,0,24,96,0,24,48,0,48,56,0,112,28,0,224, - 15,3,192,3,255,0,0,252,0,21,16,48,23,1,0,255, - 255,0,255,255,192,0,1,224,0,0,112,0,0,48,0,0, - 56,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,48,0,0,112,0,0,224,255,255,192,255,255,0,21, - 20,60,23,1,252,255,255,0,255,255,192,0,0,224,0,0, - 112,0,0,48,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,48,0,0,112,0,0,224,255, - 255,192,255,255,0,0,0,0,0,0,0,255,255,240,255,255, - 240,21,20,60,23,1,254,0,0,96,0,0,192,7,255,248, - 15,255,248,56,1,128,112,3,0,96,3,0,224,6,0,192, - 6,0,192,12,0,192,12,0,192,24,0,224,24,0,96,48, - 0,112,48,0,60,96,0,31,255,248,7,255,248,0,192,0, - 1,128,0,21,16,48,23,1,0,7,255,248,31,255,248,56, - 0,0,112,0,0,96,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,224,0,0,96,0,0,112,0,0, - 60,0,0,31,255,248,7,255,248,21,20,60,23,1,252,7, - 255,248,31,255,248,56,0,0,112,0,0,96,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 96,0,0,112,0,0,56,0,0,31,255,248,7,255,248,0, - 0,0,0,0,0,127,255,248,127,255,248,15,16,32,23,1, - 0,7,254,31,254,56,0,112,0,96,0,192,0,192,0,255, - 254,255,254,192,0,192,0,96,0,112,0,56,0,31,254,7, - 254,15,20,40,23,1,254,0,24,0,24,7,254,31,254,56, - 96,112,96,96,192,64,192,193,128,255,254,255,254,195,0,70, - 0,110,0,124,0,60,0,31,254,55,254,48,0,32,0,22, - 22,66,25,1,0,0,0,12,0,0,28,0,0,56,0,0, - 112,0,0,224,0,1,192,0,3,128,0,7,0,0,14,0, - 0,28,0,0,56,0,0,112,0,0,96,0,0,192,0,1, - 128,0,3,0,0,7,0,0,14,0,0,28,0,0,56,0, - 0,127,255,248,255,255,248,20,24,72,23,1,0,255,255,240, - 127,255,240,120,0,48,120,0,32,60,0,96,60,0,64,28, - 0,192,30,0,192,30,1,128,15,1,128,15,1,0,7,3, - 0,7,130,0,7,134,0,3,196,0,3,204,0,3,204,0, - 1,248,0,1,248,0,0,240,0,0,240,0,0,224,0,0, - 96,0,0,64,0,21,22,66,25,2,0,1,252,0,7,7, - 0,12,1,192,24,0,192,51,248,96,97,142,48,65,134,16, - 193,134,24,193,134,24,129,140,8,129,248,8,129,184,8,129, - 152,8,193,156,24,193,142,24,65,135,16,103,195,176,48,0, - 96,24,0,192,28,1,192,7,7,0,1,252,0,21,23,69, - 25,2,0,1,252,0,7,207,0,14,1,128,24,0,192,48, - 0,96,48,0,48,96,125,48,65,199,16,195,3,24,195,1, - 24,134,0,8,134,0,8,134,0,8,134,0,8,134,0,8, - 199,0,24,67,3,24,97,199,16,32,252,48,48,0,96,28, - 0,192,7,135,128,1,254,0,27,13,52,29,1,10,255,220, - 1,224,204,206,3,128,140,78,3,128,12,15,7,128,12,11, - 5,128,12,11,141,128,12,9,141,128,12,9,201,128,12,8, - 217,128,12,8,241,128,12,8,113,128,12,8,97,128,62,30, - 39,224,25,27,108,27,1,0,255,255,255,128,63,255,254,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,63,0,126,0, - 255,193,255,128,17,27,81,18,0,0,0,0,128,0,0,128, - 0,0,128,0,0,128,0,1,128,0,1,0,0,1,0,0, - 3,0,0,2,0,8,2,0,56,2,0,236,6,0,12,4, - 0,6,4,0,6,4,0,3,4,0,3,12,0,1,140,0, - 1,136,0,0,200,0,0,200,0,0,104,0,0,120,0,0, - 56,0,0,48,0,0,16,0,0,16,0,3,3,3,8,2, - 7,224,224,224,21,10,30,23,1,0,255,255,248,255,255,248, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,16,15,30,20,2,0,1,128, - 1,128,3,192,3,192,6,96,14,112,12,48,28,56,24,24, - 48,12,48,12,96,6,224,7,192,3,128,1,16,15,30,20, - 2,0,128,1,192,3,224,7,96,6,48,12,48,12,24,24, - 28,56,12,48,6,96,6,96,3,192,3,192,1,128,1,128, - 32,18,72,34,1,0,0,128,1,0,1,128,1,128,3,0, - 0,192,6,0,0,96,15,255,255,240,31,255,255,248,56,0, - 0,28,112,0,0,14,224,0,0,7,224,0,0,7,112,0, - 0,14,56,0,0,28,31,255,255,248,15,255,255,240,6,0, - 0,96,3,0,0,192,1,128,1,128,0,128,1,0,29,17, - 68,32,1,0,0,128,0,0,1,128,0,0,3,0,0,0, - 6,0,0,0,15,255,255,248,31,255,255,248,56,0,0,0, - 112,0,0,0,224,0,0,0,112,0,0,0,56,0,0,0, - 31,255,255,248,15,255,255,248,6,0,0,0,3,0,0,0, - 1,128,0,0,0,128,0,0,17,27,81,20,1,0,0,128, - 0,1,192,0,3,224,0,7,112,0,14,56,0,28,28,0, - 60,30,0,124,31,0,236,27,128,12,24,0,12,24,0,12, - 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, - 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, - 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,29, - 17,68,32,2,0,0,0,8,0,0,0,12,0,0,0,6, - 0,0,0,3,0,255,255,255,128,255,255,255,192,0,0,0, - 224,0,0,0,112,0,0,0,56,0,0,0,112,0,0,0, - 224,255,255,255,192,255,255,255,128,0,0,3,0,0,0,6, - 0,0,0,12,0,0,0,8,0,17,27,81,20,1,0,12, - 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, - 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, - 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,12, - 24,0,12,24,0,236,27,128,124,31,0,60,30,0,28,28, - 0,14,56,0,7,112,0,3,224,0,1,192,0,0,128,0, - 14,25,50,16,1,0,3,0,7,128,7,128,12,192,12,192, - 24,96,24,96,48,48,48,48,96,24,96,24,192,12,192,12, - 224,28,96,24,96,24,48,48,48,48,24,96,24,96,12,192, - 12,192,7,128,7,128,3,0,9,30,60,11,1,250,1,128, - 3,0,3,0,6,0,6,0,14,0,12,0,28,0,24,0, - 56,0,48,0,48,0,96,0,96,0,192,0,192,0,96,0, - 96,0,48,0,48,0,56,0,24,0,28,0,12,0,14,0, - 6,0,6,0,3,0,3,0,1,128,21,22,66,26,2,0, - 1,252,0,7,15,0,12,1,128,24,0,192,48,0,96,99, - 254,48,67,6,16,195,3,24,195,3,24,195,3,24,131,6, - 8,131,252,8,131,6,8,195,3,24,195,3,24,67,3,16, - 99,3,48,32,0,32,48,0,96,28,1,192,7,15,0,3, - 252,0,21,23,69,26,2,0,1,252,0,7,223,0,14,3, - 128,24,0,192,48,0,96,32,0,32,96,252,48,65,206,16, - 195,6,24,195,3,24,194,0,8,134,0,8,134,0,8,134, - 0,8,134,3,24,195,3,24,67,6,24,97,206,48,32,248, - 48,48,0,96,28,0,192,15,135,128,3,254,0,22,13,39, - 25,1,10,255,56,28,24,56,28,24,56,28,24,60,60,24, - 60,60,24,52,44,24,54,108,24,54,108,24,50,76,24,51, - 204,24,51,204,24,49,140,24,49,140,21,28,84,23,1,255, - 255,255,224,120,3,224,124,0,96,60,0,96,30,0,32,15, - 0,0,15,128,0,7,128,0,3,192,0,3,224,0,1,240, - 0,0,240,0,0,120,0,0,120,0,0,56,0,0,48,0, - 0,96,0,0,192,0,1,128,0,3,128,0,3,0,0,6, - 0,8,12,0,24,24,0,24,48,0,48,127,255,240,127,255, - 240,255,255,240,13,34,68,13,1,249,0,24,0,120,0,224, - 1,192,3,128,3,0,6,0,12,0,12,0,24,0,24,0, - 56,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0, - 96,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,2,34, - 34,13,1,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,34,68,13,1,249,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,0,96,0,96,0, - 96,0,48,0,48,0,48,0,56,0,24,0,24,0,12,0, - 12,0,6,0,3,0,3,128,1,192,0,224,0,120,0,24, - 11,34,68,13,0,249,255,224,255,224,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,2,34,34,13,0,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,11,34,68,13,0,249,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,255,224,255,224,8,34,34,16, - 6,249,7,31,56,112,96,96,224,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,9,34,68,16,255,249,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 3,0,3,0,6,0,12,0,56,0,224,0,120,0,12,0, - 6,0,3,0,3,0,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,8,34, - 34,16,6,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 96,96,112,56,31,7,2,34,34,16,6,249,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,255,9, - 30,60,11,1,250,192,0,96,0,96,0,48,0,48,0,56, - 0,24,0,28,0,12,0,14,0,6,0,6,0,3,0,3, - 0,1,128,1,128,3,0,3,0,6,0,6,0,14,0,12, - 0,28,0,24,0,56,0,48,0,48,0,96,0,96,0,192, - 0,9,33,66,9,0,250,3,0,7,128,7,128,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,248,0,248,0,112,0,12,34,68,23,10,249,1, - 224,3,240,6,112,12,240,8,96,24,0,24,0,48,0,48, - 0,48,0,112,0,96,0,96,0,96,0,96,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,3,34,34,22,10,249,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,12,34,68,22,1, - 249,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,96,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,1,128,1,128,97,0,243,0,230, - 0,252,0,120,0,13,34,68,13,0,249,192,0,240,0,56, - 0,24,0,12,0,6,0,3,0,1,0,1,128,0,192,0, - 192,0,192,0,96,0,96,0,96,0,48,0,48,0,48,0, - 48,0,48,0,16,0,16,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,2, - 34,34,13,11,249,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,13,34,68,13,0,249,0,24,0, - 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,16,0,16,0,48,0,48,0,48,0, - 48,0,48,0,96,0,96,0,96,0,192,0,192,0,192,1, - 128,1,0,3,0,6,0,12,0,28,0,56,0,240,0,192, - 0,11,34,68,13,1,249,255,224,255,224,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,2,34,34,13,10, - 249,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,11,34,68,13,1,249,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,255,224,255,224,8,34,34, - 16,0,249,224,120,28,14,6,6,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,9,34,68,16,6,249,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,96,0,96,0,48,0,24,0,14,0,3,128,14,0,24, - 0,48,0,96,0,96,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,8, - 33,33,16,0,250,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 6,6,14,28,120,224,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=27 h=33 x=15 y=26 dx=29 dy= 0 ascent=27 len=92 - Font Bounding box w=40 h=34 x=-5 y=-7 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb24r[5335] U8G_FONT_SECTION("u8g_font_symb24r") = { - 0,40,34,251,249,23,5,133,13,247,32,127,249,27,249,23, - 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, - 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, - 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, - 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, - 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, - 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, - 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, - 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, - 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, - 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, - 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, - 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, - 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, - 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, - 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, - 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, - 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, - 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, - 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, - 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, - 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, - 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, - 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, - 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, - 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, - 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, - 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, - 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, - 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, - 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, - 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, - 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, - 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, - 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, - 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, - 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, - 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, - 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, - 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, - 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, - 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, - 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, - 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, - 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, - 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, - 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, - 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, - 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, - 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, - 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, - 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, - 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, - 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, - 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, - 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, - 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, - 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, - 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, - 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, - 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, - 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, - 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, - 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, - 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, - 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, - 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, - 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, - 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, - 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, - 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, - 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, - 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, - 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, - 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, - 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, - 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, - 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, - 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, - 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, - 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, - 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, - 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, - 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, - 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, - 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, - 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, - 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, - 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, - 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, - 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, - 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, - 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, - 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, - 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, - 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, - 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, - 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, - 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, - 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, - 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, - 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, - 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, - 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, - 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, - 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, - 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, - 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, - 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, - 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, - 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, - 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, - 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, - 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, - 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, - 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, - 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, - 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, - 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, - 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, - 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, - 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, - 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, - 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, - 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, - 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, - 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, - 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, - 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, - 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, - 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, - 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, - 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, - 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, - 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, - 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, - 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, - 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, - 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, - 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, - 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, - 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, - 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, - 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, - 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, - 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, - 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, - 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, - 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, - 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, - 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, - 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, - 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, - 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, - 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, - 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, - 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, - 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, - 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, - 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, - 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, - 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, - 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, - 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, - 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, - 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, - 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, - 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, - 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, - 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, - 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, - 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, - 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, - 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, - 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, - 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, - 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, - 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, - 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, - 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, - 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, - 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, - 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, - 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, - 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, - 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, - 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, - 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, - 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, - 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, - 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, - 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, - 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, - 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, - 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, - 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, - 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, - 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, - 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, - 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, - 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, - 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, - 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, - 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, - 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, - 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, - 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, - 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, - 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, - 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, - 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, - 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, - 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, - 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, - 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, - 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, - 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, - 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, - 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, - 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, - 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, - 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, - 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, - 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, - 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, - 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, - 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, - 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, - 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, - 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, - 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, - 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, - 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, - 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, - 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, - 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, - 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, - 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, - 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, - 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, - 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, - 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, - 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, - 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, - 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, - 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, - 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, - 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, - 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, - 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, - 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, - 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, - 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, - 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, - 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, - 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, - 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, - 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, - 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, - 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, - 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, - 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, - 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, - 127,134,227,254,192,56,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=11 x= 1 y= 6 dx=11 dy= 0 ascent=10 len=18 - Font Bounding box w=13 h=18 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-3 - X Font ascent = 7 descent=-3 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB08[2551] U8G_FONT_SECTION("u8g_font_timB08") = { - 0,13,18,254,251,7,1,164,3,77,32,255,253,10,253,7, - 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, - 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, - 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, - 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, - 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, - 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, - 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, - 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, - 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, - 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, - 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, - 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, - 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, - 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, - 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, - 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, - 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, - 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, - 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, - 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, - 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, - 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, - 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, - 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, - 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, - 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, - 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, - 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, - 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, - 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, - 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, - 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, - 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, - 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, - 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, - 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, - 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, - 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, - 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, - 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, - 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, - 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, - 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, - 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, - 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, - 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, - 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, - 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, - 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, - 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, - 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, - 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, - 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, - 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, - 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, - 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, - 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, - 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, - 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, - 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, - 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, - 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, - 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, - 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, - 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, - 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, - 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, - 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, - 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, - 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, - 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, - 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, - 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, - 0,2,104,176,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,2,0,1,2,7,7,4,1, - 253,192,192,0,192,192,192,192,5,7,7,6,0,255,16,120, - 208,208,224,120,32,5,7,7,6,0,0,56,104,96,248,96, - 232,216,5,5,5,6,0,1,136,112,80,112,136,5,7,7, - 6,0,0,216,216,112,32,112,32,112,1,7,7,3,1,0, - 128,128,128,0,128,128,128,4,9,9,5,0,254,96,176,192, - 160,208,112,48,208,96,3,1,1,4,0,5,160,7,7,7, - 9,1,0,56,68,154,162,154,68,56,3,6,6,4,0,1, - 192,32,224,160,0,224,5,5,5,6,0,0,40,80,160,80, - 40,5,3,3,7,1,1,248,8,8,3,1,1,3,0,2, - 224,7,7,7,9,1,0,56,68,186,178,170,68,56,3,1, - 1,4,0,5,224,4,3,3,4,0,4,96,144,96,5,7, - 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, - 3,96,160,64,224,3,4,4,3,0,3,224,64,32,192,2, - 2,2,4,1,5,64,128,5,8,8,5,0,253,216,208,208, - 208,240,128,192,192,6,10,10,6,0,253,124,232,232,232,104, - 40,40,40,40,40,1,2,2,3,1,2,128,128,2,3,3, - 3,1,253,128,64,192,3,4,4,3,0,3,64,192,64,224, - 3,6,6,4,0,1,64,160,160,64,0,224,5,5,5,6, - 0,0,160,80,40,80,160,7,7,7,7,0,0,68,200,72, - 244,44,62,68,7,7,7,7,0,0,68,200,72,246,42,36, - 78,7,7,7,7,0,0,228,72,40,212,44,62,68,4,7, - 7,6,1,253,96,96,0,64,208,208,96,8,10,10,7,255, - 0,32,16,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,8,16,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,16,40,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,52,88,0,16,24,56,44,124,78,239,8,9,9,7,255, - 0,36,0,16,24,56,44,124,78,239,8,10,10,7,255,0, - 24,36,24,16,24,56,44,124,78,239,9,7,14,9,255,0, - 63,128,28,128,44,0,47,0,124,0,76,128,239,128,6,10, - 10,7,0,253,124,204,192,192,192,236,120,32,16,48,6,10, - 10,7,0,0,32,16,0,252,100,96,120,96,100,252,6,10, - 10,7,0,0,8,16,0,252,100,96,120,96,100,252,6,10, - 10,7,0,0,48,72,0,252,100,96,120,96,100,252,6,9, - 9,7,0,0,40,0,252,100,96,120,96,100,252,4,10,10, - 5,0,0,64,32,0,240,96,96,96,96,96,240,4,10,10, - 5,0,0,32,64,0,240,96,96,96,96,96,240,4,10,10, - 5,0,0,96,144,0,240,96,96,96,96,96,240,4,9,9, - 5,0,0,144,0,240,96,96,96,96,96,240,7,7,7,8, - 0,0,252,102,102,246,102,102,252,7,10,10,8,0,0,52, - 88,0,238,100,116,92,92,76,228,6,10,10,7,0,0,32, - 16,0,120,204,204,204,204,204,120,6,10,10,7,0,0,16, - 32,0,120,204,204,204,204,204,120,6,10,10,7,0,0,48, - 72,0,120,204,204,204,204,204,120,6,10,10,7,0,0,52, - 88,0,120,204,204,204,204,204,120,6,9,9,7,0,0,72, - 0,120,204,204,204,204,204,120,6,5,5,6,0,0,204,120, - 48,120,204,6,9,9,8,1,255,4,120,204,220,236,236,204, - 120,128,7,10,10,7,0,0,32,16,0,246,100,100,100,100, - 100,56,7,10,10,7,0,0,8,16,0,246,100,100,100,100, - 100,56,7,10,10,7,0,0,24,36,0,246,100,100,100,100, - 100,56,7,9,9,7,0,0,36,0,246,100,100,100,100,100, - 56,8,10,10,8,0,0,4,8,0,247,98,52,56,24,24, - 60,6,7,7,6,0,0,224,120,108,108,120,96,240,5,7, - 7,6,0,0,112,200,200,208,200,200,216,5,8,8,5,0, - 0,64,32,0,96,176,112,176,248,5,8,8,5,0,0,16, - 32,0,96,176,112,176,248,5,8,8,5,0,0,32,80,0, - 96,176,112,176,248,5,8,8,5,0,0,104,176,0,96,176, - 112,176,248,5,7,7,5,0,0,80,0,96,176,112,176,248, - 5,8,8,5,0,0,32,80,32,96,176,112,176,248,7,5, - 5,8,0,0,110,186,126,184,238,4,8,8,5,0,253,112, - 208,192,208,112,64,32,96,4,8,8,5,0,0,64,32,0, - 112,208,240,192,112,4,8,8,5,0,0,16,32,0,112,208, - 240,192,112,5,8,8,5,0,0,32,80,136,112,208,240,192, - 112,4,7,7,5,0,0,80,0,112,208,240,192,112,2,8, - 8,3,0,0,128,64,0,192,192,192,192,192,2,8,8,3, - 0,0,64,128,0,192,192,192,192,192,3,8,8,3,0,0, - 64,160,0,192,192,192,192,192,3,7,7,3,0,0,160,0, - 192,192,192,192,192,5,9,9,6,0,0,128,112,96,176,24, - 120,216,216,112,6,8,8,6,0,0,104,176,0,176,216,216, - 216,220,5,8,8,6,0,0,64,32,0,112,216,216,216,112, - 5,8,8,6,0,0,16,32,0,112,216,216,216,112,5,8, - 8,6,0,0,32,80,0,112,216,216,216,112,5,8,8,6, - 0,0,104,176,0,112,216,216,216,112,5,7,7,6,0,0, - 80,0,112,216,216,216,112,5,5,5,6,0,0,32,0,248, - 0,32,5,7,7,6,0,255,16,112,216,216,216,112,64,5, - 8,8,5,0,0,64,32,0,216,208,208,208,112,5,8,8, - 5,0,0,16,32,0,216,208,208,208,112,5,8,8,5,0, - 0,32,80,0,216,208,208,208,112,5,7,7,5,0,0,80, - 0,216,208,208,208,112,5,11,11,5,0,253,16,32,0,216, - 216,112,112,32,32,192,192,5,10,10,5,255,253,224,96,112, - 104,104,104,112,96,96,224,5,10,10,5,0,253,80,0,216, - 216,112,112,32,32,192,192}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=10 x= 1 y= 6 dx=11 dy= 0 ascent= 8 len=18 - Font Bounding box w=13 h=18 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-3 - X Font ascent = 7 descent=-3 - Max Font ascent = 8 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB08r[1221] U8G_FONT_SECTION("u8g_font_timB08r") = { - 0,13,18,254,251,7,1,164,3,77,32,127,253,8,253,7, - 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, - 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, - 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, - 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, - 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, - 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, - 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, - 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, - 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, - 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, - 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, - 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, - 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, - 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, - 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, - 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, - 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, - 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, - 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, - 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, - 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, - 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, - 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, - 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, - 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, - 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, - 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, - 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, - 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, - 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, - 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, - 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, - 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, - 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, - 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, - 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, - 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, - 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, - 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, - 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, - 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, - 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, - 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, - 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, - 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, - 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, - 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, - 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, - 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, - 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, - 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, - 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, - 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, - 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, - 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, - 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, - 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, - 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, - 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, - 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, - 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, - 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, - 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, - 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, - 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, - 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, - 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, - 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, - 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, - 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, - 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, - 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, - 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, - 0,2,104,176,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=14 x= 1 y= 8 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB10[3539] U8G_FONT_SECTION("u8g_font_timB10") = { - 0,17,24,254,250,10,2,6,4,148,32,255,253,14,253,10, - 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, - 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, - 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, - 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, - 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, - 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, - 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, - 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, - 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, - 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, - 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, - 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, - 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, - 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, - 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, - 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, - 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, - 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, - 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, - 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, - 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, - 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, - 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, - 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, - 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, - 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, - 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, - 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, - 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, - 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, - 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, - 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, - 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, - 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, - 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, - 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, - 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, - 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, - 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, - 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, - 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, - 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, - 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, - 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, - 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, - 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, - 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, - 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, - 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, - 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, - 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, - 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, - 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, - 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, - 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, - 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, - 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, - 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, - 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, - 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, - 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, - 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, - 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, - 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, - 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, - 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, - 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, - 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, - 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, - 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, - 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, - 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, - 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, - 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, - 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, - 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, - 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, - 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, - 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, - 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, - 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, - 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, - 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, - 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, - 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, - 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, - 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, - 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, - 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, - 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, - 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, - 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, - 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, - 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, - 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, - 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, - 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, - 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,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,3,0,1,2,10,10,4,1,253,192,192,0,192, - 192,192,192,192,192,192,6,11,11,7,0,254,8,8,120,212, - 208,208,240,228,120,32,32,7,10,10,8,0,0,60,118,102, - 96,48,248,48,48,246,222,7,6,6,8,0,2,56,238,68, - 68,238,56,8,10,10,8,0,0,247,98,118,52,60,24,60, - 24,24,60,1,12,12,3,1,254,128,128,128,128,128,0,0, - 128,128,128,128,128,5,12,12,7,1,254,112,216,200,96,240, - 152,200,120,48,152,216,112,3,2,2,5,1,8,160,160,10, - 10,20,12,1,0,30,0,97,128,78,128,146,64,144,64,144, - 64,146,64,76,128,97,128,30,0,4,7,7,5,0,3,96, - 16,112,144,112,0,240,7,5,5,9,1,1,54,108,216,108, - 54,7,4,4,9,1,1,254,2,2,2,3,1,1,4,0, - 3,224,10,10,20,12,1,0,30,0,97,128,92,128,146,64, - 146,64,156,64,148,64,82,128,97,128,30,0,4,1,1,5, - 0,8,240,4,4,4,6,1,6,96,144,144,96,7,9,9, - 8,0,0,16,16,16,254,16,16,16,0,254,4,6,6,4, - 0,4,96,176,48,96,192,240,4,6,6,4,0,4,96,176, - 96,48,176,96,3,3,3,5,1,8,32,96,128,8,10,10, - 7,255,253,238,102,102,102,102,102,123,64,96,96,7,13,13, - 8,0,253,126,244,244,244,244,116,20,20,20,20,20,20,20, - 2,2,2,4,0,4,192,192,3,3,3,5,1,253,64,32, - 224,4,6,6,4,0,4,32,224,96,96,96,240,4,7,7, - 5,0,3,96,144,144,144,96,0,240,7,5,5,9,1,1, - 216,108,54,108,216,10,10,20,10,0,0,33,0,226,0,98, - 0,100,0,100,128,249,128,11,128,22,128,23,192,33,128,10, - 10,20,10,0,0,33,0,226,0,98,0,100,0,101,128,250, - 192,8,192,17,128,19,0,35,192,10,10,20,10,0,0,97, - 0,178,0,98,0,52,0,180,128,105,128,11,128,22,128,23, - 192,33,128,5,10,10,7,1,253,48,48,0,48,48,96,192, - 216,216,112,10,14,28,10,0,0,16,0,24,0,4,0,0, - 0,12,0,12,0,30,0,22,0,51,0,35,0,63,0,97, - 128,65,128,227,192,10,14,28,10,0,0,2,0,6,0,8, - 0,0,0,12,0,12,0,30,0,22,0,51,0,35,0,63, - 0,97,128,65,128,227,192,10,14,28,10,0,0,8,0,28, - 0,34,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,26, - 0,44,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,18, - 0,18,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,14,28,10,0,0,12, - 0,18,0,12,0,0,0,12,0,12,0,30,0,22,0,51, - 0,35,0,63,0,97,128,65,128,227,192,13,10,20,14,0, - 0,31,248,15,24,11,8,27,32,19,224,63,32,35,40,99, - 8,67,24,231,248,8,13,13,10,1,253,61,99,193,193,192, - 192,192,193,99,62,16,8,56,8,14,14,9,0,0,32,48, - 8,0,255,99,97,100,124,100,101,97,99,255,8,14,14,9, - 0,0,4,12,16,0,255,99,97,100,124,100,101,97,99,255, - 8,14,14,9,0,0,8,28,34,0,255,99,97,100,124,100, - 101,97,99,255,8,13,13,9,0,0,36,36,0,255,99,97, - 100,124,100,101,97,99,255,4,14,14,5,0,0,128,192,32, - 0,240,96,96,96,96,96,96,96,96,240,4,14,14,5,0, - 0,16,48,64,0,240,96,96,96,96,96,96,96,96,240,5, - 14,14,5,0,0,32,112,136,0,240,96,96,96,96,96,96, - 96,96,240,4,13,13,5,0,0,144,144,0,240,96,96,96, - 96,96,96,96,96,240,9,10,20,11,1,0,254,0,99,0, - 97,128,97,128,241,128,97,128,97,128,97,128,99,0,254,0, - 10,13,26,10,0,0,26,0,44,0,0,0,225,192,112,128, - 112,128,88,128,76,128,76,128,70,128,67,128,67,128,225,128, - 9,14,28,11,1,0,16,0,24,0,4,0,0,0,62,0, - 99,0,193,128,193,128,193,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,11,1,0,4,0,12,0,16,0,0,0, - 62,0,99,0,193,128,193,128,193,128,193,128,193,128,193,128, - 99,0,62,0,9,14,28,11,1,0,8,0,28,0,34,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,9,13,26,11,1,0,26,0,44,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,9,13,26,11,1,0,34,0,34,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,8,7,7,8,0,0,195,102,60,24, - 60,102,195,9,12,24,11,1,255,0,128,61,0,99,0,195, - 128,197,128,201,128,201,128,209,128,225,128,99,0,94,0,128, - 0,9,14,28,10,0,0,16,0,24,0,4,0,0,0,243, - 128,97,0,97,0,97,0,97,0,97,0,97,0,97,0,115, - 0,62,0,9,14,28,10,0,0,4,0,12,0,16,0,0, - 0,243,128,97,0,97,0,97,0,97,0,97,0,97,0,97, - 0,115,0,62,0,9,14,28,10,0,0,8,0,28,0,34, - 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, - 0,97,0,115,0,62,0,9,13,26,10,0,0,18,0,18, - 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, - 0,97,0,115,0,62,0,10,14,28,10,0,0,1,0,3, - 0,4,0,0,0,249,192,112,128,49,0,57,0,26,0,30, - 0,12,0,12,0,12,0,30,0,8,10,10,9,0,0,240, - 96,126,103,99,99,99,126,96,240,7,10,10,8,0,0,56, - 108,100,108,120,108,102,102,102,236,7,11,11,7,0,0,32, - 48,8,0,120,204,12,124,204,204,118,7,11,11,7,0,0, - 8,24,32,0,120,204,12,124,204,204,118,7,11,11,7,0, - 0,16,56,68,0,120,204,12,124,204,204,118,7,10,10,7, - 0,0,52,88,0,120,204,12,124,204,204,118,7,10,10,7, - 0,0,40,40,0,120,204,12,124,204,204,118,7,11,11,7, - 0,0,48,72,48,0,120,204,12,124,204,204,118,10,7,14, - 11,0,0,123,128,204,192,204,192,63,192,204,0,204,192,119, - 128,6,10,10,7,0,253,56,76,204,192,192,228,120,32,16, - 112,6,11,11,7,0,0,64,96,16,0,56,76,204,252,192, - 228,120,6,11,11,7,0,0,8,24,32,0,56,76,204,252, - 192,228,120,6,11,11,7,0,0,16,56,68,0,56,76,204, - 252,192,228,120,6,10,10,7,0,0,80,80,0,56,76,204, - 252,192,228,120,4,11,11,4,0,0,128,192,32,0,224,96, - 96,96,96,96,240,4,11,11,4,0,0,32,96,128,0,224, - 96,96,96,96,96,240,5,11,11,4,0,0,32,112,136,0, - 224,96,96,96,96,96,240,4,10,10,4,0,0,160,160,0, - 224,96,96,96,96,96,240,6,10,10,7,0,0,204,112,152, - 120,204,204,204,204,204,120,8,10,10,8,0,0,52,88,0, - 236,118,102,102,102,102,231,6,11,11,7,0,0,32,48,8, - 0,120,204,204,204,204,204,120,6,11,11,7,0,0,8,24, - 32,0,120,204,204,204,204,204,120,6,11,11,7,0,0,32, - 112,136,0,120,204,204,204,204,204,120,6,10,10,7,0,0, - 104,176,0,120,204,204,204,204,204,120,6,10,10,7,0,0, - 80,80,0,120,204,204,204,204,204,120,6,7,7,8,0,0, - 48,48,0,252,0,48,48,6,9,9,7,0,255,4,120,204, - 220,236,236,204,120,128,8,11,11,7,255,0,32,48,8,0, - 238,102,102,102,102,102,59,8,11,11,7,255,0,4,12,16, - 0,238,102,102,102,102,102,59,8,11,11,7,255,0,16,56, - 68,0,238,102,102,102,102,102,59,8,10,10,7,255,0,40, - 40,0,238,102,102,102,102,102,59,8,14,14,7,255,253,2, - 6,8,0,247,98,50,52,28,28,8,8,56,48,7,13,13, - 8,0,253,224,96,96,108,118,102,102,102,102,124,96,96,240, - 8,13,13,7,255,253,34,34,0,247,98,50,52,28,28,8, - 8,56,48}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=13 x= 1 y= 8 dx=14 dy= 0 ascent=11 len=26 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB10r[1632] U8G_FONT_SECTION("u8g_font_timB10r") = { - 0,17,24,254,250,10,2,6,4,148,32,127,253,11,253,10, - 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, - 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, - 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, - 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, - 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, - 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, - 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, - 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, - 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, - 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, - 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, - 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, - 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, - 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, - 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, - 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, - 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, - 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, - 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, - 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, - 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, - 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, - 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, - 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, - 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, - 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, - 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, - 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, - 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, - 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, - 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, - 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, - 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, - 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, - 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, - 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, - 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, - 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, - 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, - 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, - 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, - 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, - 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, - 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, - 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, - 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, - 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, - 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, - 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, - 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, - 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, - 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, - 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, - 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, - 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, - 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, - 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, - 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, - 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, - 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, - 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, - 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, - 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, - 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, - 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, - 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, - 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, - 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, - 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, - 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, - 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, - 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, - 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, - 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, - 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, - 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, - 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, - 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, - 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, - 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, - 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, - 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, - 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, - 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, - 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, - 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, - 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, - 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, - 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, - 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, - 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, - 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, - 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, - 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, - 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, - 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, - 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, - 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,255 - }; -/* - Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=16 x= 2 y= 9 dx=17 dy= 0 ascent=16 len=33 - Font Bounding box w=19 h=27 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB12[3887] U8G_FONT_SECTION("u8g_font_timB12") = { - 0,19,27,254,249,11,2,42,5,41,32,255,252,16,252,11, - 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, - 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, - 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, - 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, - 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, - 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, - 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, - 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, - 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, - 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, - 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, - 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, - 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, - 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, - 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, - 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, - 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, - 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, - 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, - 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, - 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, - 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, - 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, - 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, - 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, - 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, - 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, - 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, - 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, - 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, - 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, - 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, - 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, - 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, - 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, - 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, - 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, - 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, - 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, - 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, - 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, - 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, - 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, - 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, - 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, - 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, - 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, - 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, - 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, - 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, - 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, - 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, - 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, - 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, - 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, - 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, - 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, - 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, - 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, - 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, - 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, - 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, - 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, - 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, - 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, - 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, - 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, - 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, - 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, - 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, - 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, - 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, - 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, - 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, - 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, - 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, - 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, - 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, - 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, - 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, - 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, - 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, - 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, - 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, - 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, - 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, - 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, - 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, - 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, - 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, - 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, - 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, - 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, - 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, - 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, - 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, - 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, - 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, - 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, - 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, - 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, - 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, - 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, - 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, - 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, - 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, - 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, - 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, - 4,48,0,120,128,159,0,14,0,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,5,0,1, - 2,12,12,6,2,252,192,192,0,0,64,64,64,192,192,192, - 192,192,6,12,12,8,1,254,4,4,56,76,204,208,208,224, - 100,56,64,64,8,11,11,8,0,0,28,38,38,48,48,124, - 48,16,113,158,110,6,7,7,8,1,1,180,120,204,132,204, - 120,180,8,11,11,8,0,0,227,98,50,52,28,126,24,126, - 24,24,126,1,15,15,4,1,253,128,128,128,128,128,128,0, - 0,0,128,128,128,128,128,128,6,15,15,8,1,252,56,76, - 76,96,48,120,156,204,228,120,56,24,200,200,112,5,2,2, - 6,0,9,216,216,12,11,22,12,255,0,15,0,48,192,71, - 32,72,160,152,16,152,16,152,16,72,160,71,32,48,192,15, - 0,5,7,7,5,0,4,96,144,112,176,216,0,248,7,7, - 7,8,0,0,18,54,108,216,108,54,18,7,6,6,9,1, - 1,254,254,2,2,2,2,4,2,2,5,0,3,240,240,12, - 11,22,12,0,0,15,0,48,192,78,32,73,32,137,16,142, - 16,138,16,73,32,93,32,48,192,15,0,5,1,1,6,0, - 9,248,4,5,5,7,1,6,96,144,144,144,96,7,9,9, - 9,1,0,16,16,254,254,16,16,0,254,254,4,7,7,5, - 0,4,96,240,176,32,64,240,240,4,7,7,5,0,4,96, - 176,48,96,48,176,96,3,3,3,6,1,9,96,64,128,8, - 11,11,9,0,253,238,102,102,102,102,102,111,118,64,96,96, - 7,15,15,9,1,252,62,116,244,244,244,244,116,52,20,20, - 20,20,20,20,20,2,2,2,4,1,4,192,192,5,4,4, - 6,0,252,32,48,136,112,4,7,7,5,1,4,96,224,96, - 96,96,96,240,4,7,7,6,1,4,96,144,144,144,96,0, - 240,7,7,7,8,0,0,144,216,108,54,108,216,144,11,11, - 22,12,0,0,96,128,225,0,97,0,98,0,100,64,100,192, - 249,192,10,192,19,224,32,192,32,192,10,11,22,12,0,0, - 97,0,225,0,98,0,98,0,100,0,107,128,254,192,16,128, - 17,0,35,192,39,192,11,11,22,12,0,0,96,128,177,0, - 49,0,98,0,52,64,180,192,105,192,10,192,19,224,32,192, - 32,192,6,11,11,8,1,253,24,24,0,16,32,64,192,192, - 204,204,112,11,15,30,12,0,0,48,0,24,0,4,0,0, - 0,4,0,14,0,14,0,27,0,19,0,51,0,33,128,127, - 128,64,192,192,192,225,224,11,15,30,12,0,0,1,128,3, - 0,4,0,0,0,4,0,14,0,14,0,27,0,19,0,51, - 0,33,128,127,128,64,192,192,192,225,224,11,15,30,12,0, - 0,4,0,14,0,17,0,0,0,4,0,14,0,14,0,27, - 0,19,0,51,0,33,128,127,128,64,192,192,192,225,224,11, - 14,28,12,0,0,29,0,46,0,0,0,4,0,14,0,14, - 0,27,0,19,0,51,0,33,128,127,128,64,192,192,192,225, - 224,11,14,28,12,0,0,27,0,27,0,0,0,4,0,14, - 0,14,0,27,0,19,0,51,0,33,128,127,128,64,192,192, - 192,225,224,11,16,32,12,0,0,6,0,9,0,9,0,6, - 0,0,0,4,0,14,0,14,0,27,0,19,0,51,0,33, - 128,127,128,64,192,192,192,225,224,14,11,22,16,1,0,15, - 248,7,24,11,8,11,0,19,32,31,224,35,32,35,0,67, - 4,67,12,231,252,9,15,30,11,1,252,30,128,99,128,65, - 128,192,128,192,0,192,0,192,0,192,0,96,128,115,0,62, - 0,8,0,12,0,34,0,28,0,8,15,15,10,1,0,96, - 48,8,0,255,99,97,96,98,126,98,96,97,99,255,8,15, - 15,10,1,0,6,12,16,0,255,99,97,96,98,126,98,96, - 97,99,255,8,15,15,10,1,0,8,28,34,0,255,99,97, - 96,98,126,98,96,97,99,255,8,14,14,10,1,0,102,102, - 0,255,99,97,96,98,126,98,96,97,99,255,5,15,15,6, - 0,0,192,96,16,0,120,48,48,48,48,48,48,48,48,48, - 120,4,15,15,6,1,0,48,96,128,0,240,96,96,96,96, - 96,96,96,96,96,240,5,15,15,6,0,0,32,112,136,0, - 120,48,48,48,48,48,48,48,48,48,120,6,14,14,6,0, - 0,204,204,0,120,48,48,48,48,48,48,48,48,48,120,9, - 11,22,11,1,0,252,0,102,0,99,0,97,128,97,128,249, - 128,97,128,97,128,99,0,102,0,252,0,10,14,28,12,1, - 0,29,0,46,0,0,0,241,192,112,128,88,128,88,128,76, - 128,70,128,71,128,67,128,65,128,65,128,224,128,10,15,30, - 12,1,0,48,0,24,0,4,0,0,0,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,30, - 0,10,15,30,12,1,0,3,0,6,0,8,0,0,0,30, - 0,97,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,128,30,0,10,15,30,12,1,0,4,0,14,0,17, - 0,0,0,30,0,97,128,64,128,192,192,192,192,192,192,192, - 192,192,192,64,128,97,128,30,0,10,14,28,12,1,0,29, - 0,46,0,0,0,30,0,97,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,128,30,0,10,14,28,12,1, - 0,51,0,51,0,0,0,30,0,97,128,64,128,192,192,192, - 192,192,192,192,192,192,192,64,128,97,128,30,0,7,8,8, - 9,1,0,130,198,108,56,56,108,198,130,10,13,26,13,1, - 255,0,64,30,128,97,128,65,128,194,192,194,192,196,192,200, - 192,200,192,80,128,97,128,62,0,64,0,10,15,30,12,1, - 0,48,0,24,0,4,0,0,0,241,192,96,128,96,128,96, - 128,96,128,96,128,96,128,96,128,96,128,33,0,30,0,10, - 15,30,12,1,0,3,0,6,0,8,0,0,0,241,192,96, - 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,33, - 0,30,0,10,15,30,12,1,0,4,0,14,0,17,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,33,0,30,0,10,14,28,12,1,0,51,0,51, - 0,0,0,241,192,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,96,128,33,0,30,0,11,15,30,12,0,0,1, - 128,3,0,4,0,0,0,248,224,112,64,56,128,24,128,29, - 0,15,0,6,0,6,0,6,0,6,0,15,0,8,11,11, - 10,1,0,240,96,126,103,99,99,103,126,96,96,240,8,11, - 11,9,0,0,24,38,102,102,108,98,99,99,99,98,236,8, - 12,12,8,0,0,48,16,8,0,56,204,204,28,108,204,205, - 118,8,12,12,8,0,0,24,16,32,0,56,204,204,28,108, - 204,205,118,8,12,12,8,0,0,16,56,68,0,56,204,204, - 28,108,204,205,118,8,11,11,8,0,0,52,88,0,56,204, - 204,28,108,204,205,118,8,11,11,8,0,0,108,108,0,56, - 204,204,28,108,204,205,118,8,13,13,8,0,0,16,40,40, - 16,0,56,204,204,28,108,204,205,118,10,8,16,12,1,0, - 51,128,206,192,204,192,31,192,108,0,204,0,214,64,99,128, - 6,12,12,7,0,252,56,108,204,192,192,192,100,56,32,48, - 136,112,6,12,12,7,0,0,48,16,8,0,56,108,204,252, - 192,192,100,56,6,12,12,7,0,0,24,16,32,0,56,108, - 204,252,192,192,100,56,6,12,12,7,0,0,16,56,68,0, - 56,108,204,252,192,192,100,56,6,11,11,7,0,0,108,108, - 0,56,108,204,252,192,192,100,56,4,12,12,5,0,0,192, - 64,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, - 0,48,32,64,0,224,96,96,96,96,96,96,240,5,12,12, - 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,5, - 11,11,5,255,0,216,216,0,112,48,48,48,48,48,48,120, - 7,11,11,8,0,0,108,48,216,60,108,198,198,198,198,108, - 56,8,11,11,9,0,0,52,88,0,236,126,102,102,102,102, - 102,247,7,12,12,8,0,0,48,16,8,0,56,108,198,198, - 198,198,108,56,7,12,12,8,0,0,24,16,32,0,56,108, - 198,198,198,198,108,56,7,12,12,8,0,0,16,56,68,0, - 56,108,198,198,198,198,108,56,7,11,11,8,0,0,52,88, - 0,56,108,198,198,198,198,108,56,7,11,11,8,0,0,108, - 108,0,56,108,198,198,198,198,108,56,8,8,8,9,0,0, - 24,24,0,255,255,0,24,24,7,10,10,8,0,255,2,60, - 108,206,214,214,230,108,120,128,8,12,12,9,0,0,48,16, - 8,0,238,102,102,102,102,102,111,54,8,12,12,9,0,0, - 12,8,16,0,238,102,102,102,102,102,111,54,8,12,12,9, - 0,0,16,56,68,0,238,102,102,102,102,102,111,54,8,11, - 11,9,0,0,108,108,0,238,102,102,102,102,102,111,54,8, - 16,16,8,0,252,12,8,16,0,247,98,98,52,52,28,24, - 24,16,16,224,192,8,15,15,9,0,252,224,96,96,108,118, - 99,99,99,99,114,108,96,96,96,240,8,15,15,8,0,252, - 108,108,0,247,98,98,52,52,28,24,24,16,16,224,192}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=15 x= 2 y= 9 dx=17 dy= 0 ascent=12 len=33 - Font Bounding box w=19 h=27 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB12r[1834] U8G_FONT_SECTION("u8g_font_timB12r") = { - 0,19,27,254,249,11,2,42,5,41,32,127,252,12,252,11, - 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, - 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, - 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, - 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, - 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, - 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, - 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, - 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, - 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, - 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, - 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, - 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, - 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, - 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, - 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, - 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, - 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, - 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, - 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, - 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, - 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, - 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, - 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, - 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, - 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, - 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, - 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, - 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, - 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, - 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, - 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, - 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, - 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, - 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, - 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, - 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, - 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, - 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, - 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, - 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, - 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, - 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, - 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, - 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, - 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, - 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, - 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, - 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, - 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, - 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, - 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, - 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, - 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, - 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, - 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, - 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, - 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, - 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, - 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, - 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, - 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, - 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, - 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, - 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, - 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, - 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, - 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, - 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, - 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, - 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, - 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, - 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, - 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, - 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, - 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, - 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, - 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, - 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, - 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, - 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, - 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, - 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, - 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, - 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, - 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, - 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, - 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, - 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, - 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, - 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, - 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, - 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, - 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, - 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, - 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, - 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, - 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, - 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, - 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, - 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, - 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, - 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, - 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, - 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, - 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, - 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, - 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, - 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, - 4,48,0,120,128,159,0,14,0,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=11 dx=19 dy= 0 ascent=17 len=39 - Font Bounding box w=22 h=28 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =17 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB14[4851] U8G_FONT_SECTION("u8g_font_timB14") = { - 0,22,28,254,249,13,2,178,6,78,32,255,252,17,252,13, - 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, - 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, - 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, - 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, - 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, - 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, - 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, - 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, - 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, - 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, - 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, - 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, - 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, - 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, - 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, - 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, - 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, - 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, - 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, - 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, - 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, - 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, - 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, - 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, - 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, - 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, - 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, - 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, - 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, - 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, - 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, - 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, - 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, - 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, - 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, - 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, - 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, - 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, - 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, - 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, - 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, - 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, - 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, - 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, - 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, - 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, - 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, - 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, - 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, - 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, - 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, - 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, - 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, - 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, - 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, - 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, - 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, - 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, - 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, - 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, - 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, - 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, - 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, - 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, - 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, - 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, - 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, - 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, - 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, - 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, - 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, - 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, - 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, - 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, - 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, - 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, - 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, - 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, - 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, - 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, - 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, - 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, - 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, - 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, - 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, - 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, - 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, - 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, - 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, - 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, - 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, - 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, - 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, - 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, - 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, - 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, - 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, - 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, - 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, - 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, - 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, - 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, - 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, - 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, - 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, - 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, - 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, - 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, - 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, - 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, - 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, - 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, - 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, - 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, - 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, - 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, - 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, - 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, - 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, - 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, - 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, - 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, - 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, - 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, - 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, - 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, - 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, - 1,3,112,249,159,14,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,5,0,1,3,13,13, - 6,1,252,224,224,224,0,64,64,224,224,224,224,224,224,64, - 8,13,13,9,0,254,1,3,62,119,239,236,216,216,240,115, - 62,96,64,14,13,26,9,0,0,31,0,59,0,59,0,56, - 0,56,0,56,0,254,0,56,4,56,0,48,0,240,128,191, - 128,239,0,8,8,8,9,0,2,219,255,102,195,195,102,255, - 219,9,13,26,9,0,0,251,128,113,0,115,0,58,0,58, - 0,28,0,127,0,28,0,127,0,28,0,28,0,28,0,127, - 0,2,16,16,4,1,253,192,192,192,192,192,192,0,0,0, - 0,192,192,192,192,192,192,7,16,16,9,1,253,60,102,70, - 96,48,120,220,206,230,118,60,28,12,196,204,120,6,2,2, - 6,0,10,204,204,13,13,26,15,1,0,15,128,56,224,96, - 48,79,208,220,216,152,72,152,8,152,8,220,216,79,144,96, - 48,56,224,15,128,6,8,8,6,0,5,112,216,56,216,216, - 236,0,252,9,7,14,11,1,1,25,128,51,0,102,0,204, - 0,102,0,51,0,25,128,9,6,12,11,1,1,255,128,255, - 128,1,128,1,128,1,128,1,128,5,3,3,6,0,4,248, - 248,248,13,13,26,15,1,0,15,128,56,224,96,48,95,144, - 204,216,140,200,143,136,141,136,204,216,94,240,96,48,56,224, - 15,128,6,1,1,6,0,11,252,6,5,5,7,0,8,120, - 204,204,204,120,8,11,11,11,1,0,24,24,24,255,255,24, - 24,24,0,255,255,5,8,8,5,0,5,112,152,24,48,32, - 64,248,240,5,8,8,5,0,5,112,152,24,112,56,24,152, - 112,5,3,3,6,0,10,56,112,192,10,13,26,11,0,252, - 247,128,115,128,115,128,115,128,115,128,115,128,115,128,127,128, - 125,192,96,0,224,0,240,0,96,0,9,17,34,10,0,252, - 63,128,127,128,251,0,251,0,251,0,251,0,123,0,59,0, - 27,0,27,0,27,0,27,0,27,0,27,0,27,0,27,0, - 27,0,3,3,3,5,1,4,224,224,224,5,4,4,6,1, - 252,32,24,152,112,6,8,8,5,0,5,48,240,48,48,48, - 48,48,252,6,8,8,6,0,5,120,204,204,204,204,120,0, - 252,9,7,14,11,1,1,204,0,102,0,51,0,25,128,51, - 0,102,0,204,0,13,13,26,13,0,0,48,96,240,192,48, - 192,49,128,49,128,51,16,51,48,254,112,6,176,13,176,13, - 248,24,48,24,48,13,13,26,13,0,0,48,96,240,192,48, - 192,49,128,49,128,51,112,51,152,254,24,6,48,12,32,12, - 64,24,248,24,240,13,13,26,13,0,0,112,96,152,192,24, - 192,113,128,57,128,27,16,155,48,118,112,6,176,13,176,13, - 248,24,48,24,48,7,13,13,9,1,252,56,56,56,0,16, - 16,48,96,228,238,238,230,124,14,17,34,14,0,0,14,0, - 7,0,1,128,0,0,3,0,3,128,7,128,5,192,13,192, - 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, - 14,17,34,14,0,0,3,128,7,0,12,0,0,0,3,0, - 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, - 48,112,32,56,96,56,248,252,14,17,34,14,0,0,3,0, - 7,128,12,192,0,0,3,0,3,128,7,128,5,192,13,192, - 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, - 14,17,34,14,0,0,6,64,15,192,9,128,0,0,3,0, - 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, - 48,112,32,56,96,56,248,252,14,16,32,14,0,0,12,192, - 12,192,0,0,3,0,3,128,7,128,5,192,13,192,8,192, - 24,224,16,96,31,240,48,112,32,56,96,56,248,252,14,17, - 34,14,0,0,7,0,13,128,13,128,7,0,3,0,3,128, - 7,128,5,192,13,192,8,192,24,224,16,96,31,240,48,112, - 32,56,96,56,248,252,17,13,39,19,0,0,7,255,128,3, - 225,128,2,224,128,6,224,0,4,224,0,12,226,0,8,254, - 0,31,226,0,16,224,0,48,224,0,32,224,128,96,225,128, - 249,255,128,12,17,34,14,1,252,15,144,56,240,112,112,112, - 48,224,0,224,0,224,0,224,0,224,0,112,0,112,48,60, - 224,15,128,4,0,3,0,19,0,14,0,10,17,34,13,2, - 0,56,0,28,0,6,0,0,0,255,192,112,192,112,64,112, - 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, - 192,255,192,10,17,34,13,2,0,14,0,28,0,48,0,0, - 0,255,192,112,192,112,64,112,0,112,0,113,0,127,0,113, - 0,112,0,112,0,112,64,112,192,255,192,10,17,34,13,2, - 0,12,0,30,0,51,0,0,0,255,192,112,192,112,64,112, - 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, - 192,255,192,10,16,32,13,2,0,51,0,51,0,0,0,255, - 192,112,192,112,64,112,0,112,0,113,0,127,0,113,0,112, - 0,112,0,112,64,112,192,255,192,5,17,17,7,1,0,224, - 112,24,0,248,112,112,112,112,112,112,112,112,112,112,112,248, - 5,17,17,7,1,0,56,112,192,0,248,112,112,112,112,112, - 112,112,112,112,112,112,248,6,17,17,7,1,0,48,120,204, - 0,248,112,112,112,112,112,112,112,112,112,112,112,248,6,16, - 16,7,1,0,204,204,0,248,112,112,112,112,112,112,112,112, - 112,112,112,248,13,13,26,14,0,0,127,128,56,224,56,112, - 56,48,56,56,56,56,254,56,56,56,56,56,56,48,56,112, - 56,224,127,128,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,240,112,120,32,120,32,124,32,94,32,78,32,79,32, - 71,160,67,160,67,224,65,224,64,224,224,224,13,17,34,15, - 1,0,14,0,7,0,1,128,0,0,15,128,56,224,112,112, - 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, - 56,224,15,128,13,17,34,15,1,0,3,128,7,0,12,0, - 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, - 224,56,224,56,112,112,112,112,56,224,15,128,13,17,34,15, - 1,0,6,0,15,0,25,128,0,0,15,128,56,224,112,112, - 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, - 56,224,15,128,13,17,34,15,1,0,12,128,31,128,19,0, - 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, - 224,56,224,56,112,112,112,112,56,224,15,128,13,16,32,15, - 1,0,25,128,25,128,0,0,15,128,56,224,112,112,112,112, - 224,56,224,56,224,56,224,56,224,56,112,112,112,112,56,224, - 15,128,9,8,16,11,1,1,193,128,99,0,54,0,28,0, - 28,0,54,0,99,0,193,128,13,15,30,15,1,255,0,96, - 15,192,56,224,112,176,113,176,225,56,227,56,226,56,230,56, - 228,56,108,112,104,112,56,224,31,128,48,0,12,17,34,14, - 1,0,28,0,14,0,3,0,0,0,248,240,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, - 56,192,31,128,12,17,34,14,1,0,1,192,3,128,6,0, - 0,0,248,240,112,32,112,32,112,32,112,32,112,32,112,32, - 112,32,112,32,112,32,112,96,56,192,31,128,12,17,34,14, - 1,0,6,0,15,0,25,128,0,0,248,240,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, - 56,192,31,128,12,16,32,14,1,0,25,128,25,128,0,0, - 248,240,112,32,112,32,112,32,112,32,112,32,112,32,112,32, - 112,32,112,32,112,96,56,192,31,128,13,17,34,14,1,0, - 0,224,1,192,3,0,0,0,252,120,120,48,56,96,60,64, - 30,192,14,128,15,128,7,0,7,0,7,0,7,0,7,0, - 31,192,10,13,26,11,1,0,248,0,112,0,112,0,127,0, - 115,128,113,192,113,192,113,192,115,128,127,0,112,0,112,0, - 248,0,9,13,26,10,0,0,30,0,59,0,115,128,115,128, - 115,128,119,0,114,0,115,0,115,128,115,128,115,128,115,128, - 247,0,8,13,13,9,0,0,112,56,12,0,124,206,206,30, - 110,206,206,254,119,8,13,13,9,0,0,14,28,48,0,124, - 206,206,30,110,206,206,254,119,8,13,13,9,0,0,24,60, - 102,0,124,206,206,30,110,206,206,254,119,8,13,13,9,0, - 0,50,126,76,0,124,206,206,30,110,206,206,254,119,8,12, - 12,9,0,0,102,102,0,124,206,206,30,110,206,206,254,119, - 8,13,13,9,0,0,56,108,108,56,124,206,206,30,110,206, - 206,254,119,12,9,18,13,0,0,125,224,231,176,199,48,15, - 240,127,0,231,0,199,0,239,176,121,224,7,13,13,8,0, - 252,62,118,230,224,224,224,224,118,60,16,12,76,56,7,13, - 13,8,0,0,112,56,12,0,60,118,230,254,224,224,224,118, - 60,8,13,13,8,0,0,7,14,24,0,60,118,230,254,224, - 224,224,118,60,7,13,13,8,0,0,24,60,102,0,60,118, - 230,254,224,224,224,118,60,7,12,12,8,0,0,102,102,0, - 60,118,230,254,224,224,224,118,60,5,13,13,5,0,0,224, - 112,24,0,240,112,112,112,112,112,112,112,248,5,13,13,5, - 0,0,56,112,192,0,240,112,112,112,112,112,112,112,248,6, - 13,13,5,0,0,48,120,204,0,240,112,112,112,112,112,112, - 112,248,6,12,12,5,0,0,204,204,0,240,112,112,112,112, - 112,112,112,248,8,13,13,9,0,0,96,54,56,76,62,102, - 231,231,231,231,231,102,60,10,13,26,11,0,0,25,0,63, - 0,38,0,0,0,231,0,127,128,115,128,115,128,115,128,115, - 128,115,128,115,128,251,192,8,13,13,9,0,0,112,56,12, - 0,60,102,231,231,231,231,231,102,60,8,13,13,9,0,0, - 7,14,24,0,60,102,231,231,231,231,231,102,60,8,13,13, - 9,0,0,24,60,102,0,60,102,231,231,231,231,231,102,60, - 8,13,13,9,0,0,50,126,76,0,60,102,231,231,231,231, - 231,102,60,8,12,12,9,0,0,102,102,0,60,102,231,231, - 231,231,231,102,60,8,8,8,11,1,1,24,24,0,255,255, - 0,24,24,10,11,22,9,255,255,0,64,30,128,51,0,115, - 128,115,128,119,128,123,128,113,128,51,0,94,0,128,0,10, - 13,26,11,0,0,56,0,28,0,6,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 13,26,11,0,0,14,0,28,0,48,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 13,26,11,0,0,12,0,30,0,51,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 12,24,11,0,0,51,0,51,0,0,0,247,128,115,128,115, - 128,115,128,115,128,115,128,115,128,127,128,61,192,10,17,34, - 9,255,252,3,128,7,0,12,0,0,0,251,192,113,128,121, - 0,59,0,58,0,30,0,30,0,12,0,12,0,12,0,8, - 0,216,0,240,0,9,17,34,10,0,252,240,0,112,0,112, - 0,112,0,118,0,127,0,115,128,115,128,115,128,115,128,115, - 128,123,0,118,0,112,0,112,0,112,0,248,0,10,16,32, - 9,255,252,51,0,51,0,0,0,251,192,113,128,121,0,59, - 0,58,0,30,0,30,0,12,0,12,0,12,0,8,0,216, - 0,240,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=10 dx=19 dy= 0 ascent=14 len=39 - Font Bounding box w=22 h=28 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB14r[2295] U8G_FONT_SECTION("u8g_font_timB14r") = { - 0,22,28,254,249,13,2,178,6,78,32,127,252,14,252,13, - 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, - 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, - 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, - 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, - 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, - 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, - 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, - 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, - 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, - 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, - 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, - 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, - 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, - 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, - 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, - 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, - 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, - 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, - 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, - 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, - 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, - 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, - 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, - 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, - 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, - 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, - 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, - 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, - 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, - 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, - 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, - 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, - 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, - 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, - 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, - 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, - 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, - 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, - 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, - 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, - 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, - 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, - 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, - 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, - 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, - 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, - 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, - 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, - 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, - 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, - 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, - 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, - 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, - 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, - 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, - 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, - 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, - 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, - 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, - 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, - 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, - 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, - 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, - 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, - 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, - 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, - 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, - 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, - 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, - 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, - 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, - 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, - 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, - 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, - 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, - 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, - 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, - 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, - 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, - 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, - 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, - 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, - 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, - 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, - 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, - 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, - 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, - 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, - 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, - 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, - 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, - 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, - 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, - 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, - 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, - 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, - 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, - 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, - 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, - 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, - 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, - 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, - 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, - 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, - 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, - 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, - 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, - 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, - 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, - 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, - 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, - 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, - 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, - 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, - 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, - 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, - 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, - 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, - 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, - 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, - 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, - 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, - 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, - 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, - 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, - 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, - 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, - 1,3,112,249,159,14,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=24 h=23 x= 3 y=14 dx=25 dy= 0 ascent=23 len=69 - Font Bounding box w=27 h=38 x=-2 y=-10 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =23 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB18[7223] U8G_FONT_SECTION("u8g_font_timB18") = { - 0,27,38,254,246,17,4,47,9,109,32,255,251,23,250,17, - 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, - 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, - 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, - 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, - 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, - 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, - 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, - 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, - 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, - 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, - 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, - 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, - 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, - 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, - 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, - 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, - 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, - 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, - 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, - 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, - 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, - 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, - 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, - 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, - 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, - 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, - 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, - 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, - 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, - 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, - 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, - 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, - 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, - 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, - 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, - 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, - 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, - 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, - 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, - 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, - 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, - 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, - 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, - 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, - 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, - 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, - 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, - 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, - 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, - 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, - 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, - 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, - 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, - 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, - 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, - 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, - 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, - 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, - 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, - 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, - 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, - 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, - 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, - 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, - 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, - 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, - 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, - 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, - 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, - 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, - 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, - 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, - 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, - 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, - 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, - 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, - 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, - 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, - 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, - 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, - 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, - 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, - 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, - 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, - 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, - 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, - 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, - 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, - 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, - 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, - 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, - 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, - 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, - 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, - 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, - 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, - 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, - 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, - 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, - 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, - 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, - 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, - 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, - 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, - 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, - 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, - 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, - 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, - 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, - 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, - 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, - 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, - 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, - 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, - 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, - 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, - 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, - 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, - 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, - 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, - 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, - 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, - 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, - 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, - 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, - 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, - 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, - 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, - 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, - 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, - 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, - 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, - 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, - 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, - 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, - 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, - 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, - 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, - 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, - 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, - 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, - 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, - 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, - 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, - 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, - 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, - 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, - 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, - 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, - 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, - 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, - 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, - 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, - 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, - 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, - 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, - 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, - 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, - 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, - 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, - 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, - 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, - 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, - 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, - 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, - 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, - 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, - 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, - 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, - 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, - 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, - 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, - 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, - 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, - 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, - 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, - 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, - 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, - 126,16,255,16,143,240,135,224,1,128,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, - 1,4,17,17,8,2,251,96,240,240,96,0,0,96,96,96, - 96,96,240,240,240,240,240,96,10,18,36,13,1,253,0,128, - 1,128,1,0,31,128,115,192,115,192,230,128,228,0,228,0, - 236,0,232,0,248,0,120,128,127,128,62,0,48,0,96,0, - 96,0,11,17,34,13,0,0,15,192,30,96,60,224,60,224, - 60,64,28,0,28,0,255,128,255,128,28,0,28,0,28,0, - 12,32,124,96,207,224,255,224,115,192,11,12,24,13,0,3, - 192,96,238,224,127,192,59,128,113,192,96,192,96,192,113,192, - 59,128,127,192,238,224,192,96,14,17,34,13,0,0,254,124, - 56,48,60,32,28,96,30,64,14,192,15,128,7,128,7,0, - 31,192,7,0,31,192,7,0,7,0,7,0,7,0,31,192, - 2,22,22,6,2,251,192,192,192,192,192,192,192,192,192,0, - 0,0,0,192,192,192,192,192,192,192,192,192,7,20,20,11, - 2,253,60,110,206,198,224,112,120,92,142,134,194,226,116,60, - 28,14,198,230,236,120,6,2,2,8,1,14,204,204,17,17, - 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, - 97,243,0,99,51,0,198,17,128,198,1,128,198,1,128,198, - 1,128,198,1,128,99,51,0,97,227,0,48,6,0,60,30, - 0,15,248,0,3,224,0,7,10,10,8,0,7,120,220,12, - 124,236,204,126,0,254,254,11,10,20,13,1,1,12,96,24, - 192,49,128,115,128,231,0,231,0,115,128,49,128,24,192,12, - 96,11,7,14,15,2,2,255,224,255,224,0,96,0,96,0, - 96,0,96,0,96,6,3,3,8,1,5,252,252,252,17,17, - 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, - 103,227,0,99,51,0,195,49,128,195,49,128,195,225,128,195, - 97,128,195,49,128,99,51,0,103,187,0,48,6,0,60,30, - 0,15,248,0,3,224,0,6,1,1,8,1,14,252,8,7, - 7,9,0,10,60,102,195,195,195,102,60,12,13,26,14,1, - 0,6,0,6,0,6,0,6,0,255,240,255,240,6,0,6, - 0,6,0,6,0,0,0,255,240,255,240,6,10,10,7,0, - 7,56,124,140,12,24,16,32,64,252,252,6,10,10,7,0, - 7,56,124,140,12,56,28,12,140,248,112,5,4,4,8,2, - 13,56,112,96,192,12,17,34,14,1,251,241,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, - 240,108,224,96,0,96,0,224,0,240,0,96,0,11,22,44, - 14,1,251,31,224,127,224,126,64,254,64,254,64,254,64,254, - 64,254,64,254,64,126,64,126,64,30,64,2,64,2,64,2, - 64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,3, - 3,3,6,1,6,224,224,224,6,6,6,8,1,250,16,48, - 56,12,140,120,6,10,10,7,0,7,48,240,48,48,48,48, - 48,48,48,252,7,10,10,8,0,7,56,108,198,198,198,108, - 56,0,254,254,11,10,20,13,1,1,198,0,99,0,49,128, - 57,192,28,224,28,224,57,192,51,128,99,0,198,0,17,17, - 51,18,0,0,48,4,0,240,12,0,48,24,0,48,24,0, - 48,48,0,48,32,0,48,96,0,48,66,0,48,198,0,252, - 142,0,1,142,0,1,22,0,3,54,0,6,38,0,6,127, - 128,12,6,0,8,6,0,17,17,51,18,0,0,48,4,0, - 240,12,0,48,24,0,48,24,0,48,48,0,48,32,0,48, - 96,0,48,71,0,48,207,128,252,145,128,1,129,128,1,3, - 0,3,2,0,6,4,0,6,8,0,12,31,128,8,31,128, - 17,17,51,18,1,0,56,4,0,124,12,0,140,24,0,12, - 24,0,56,48,0,28,32,0,12,96,0,140,66,0,248,198, - 0,113,14,0,3,14,0,2,22,0,6,54,0,12,38,0, - 12,127,128,24,6,0,16,6,0,9,17,34,12,1,251,12, - 0,30,0,30,0,12,0,0,0,0,0,12,0,12,0,28, - 0,56,0,120,0,240,0,241,0,243,128,243,128,123,0,62, - 0,17,22,66,18,0,0,3,128,0,1,192,0,0,192,0, - 0,96,0,0,0,0,1,128,0,1,192,0,3,192,0,3, - 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, - 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, - 48,30,0,112,30,0,248,127,128,17,22,66,18,0,0,0, - 224,0,1,192,0,1,128,0,3,0,0,0,0,0,1,128, - 0,1,192,0,3,192,0,3,224,0,3,224,0,6,224,0, - 6,240,0,4,112,0,12,112,0,8,120,0,8,56,0,31, - 248,0,16,60,0,48,60,0,48,30,0,112,30,0,248,127, - 128,17,22,66,18,0,0,1,128,0,3,192,0,6,96,0, - 0,0,0,0,0,0,1,128,0,1,192,0,3,192,0,3, - 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, - 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, - 48,30,0,112,30,0,248,127,128,17,21,63,18,0,0,3, - 16,0,7,224,0,8,192,0,0,0,0,1,128,0,1,192, - 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, - 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, - 60,0,48,60,0,48,30,0,112,30,0,248,127,128,17,21, - 63,18,0,0,6,96,0,6,96,0,0,0,0,0,0,0, - 1,128,0,1,192,0,3,192,0,3,224,0,3,224,0,6, - 224,0,6,240,0,4,112,0,12,112,0,8,120,0,8,56, - 0,31,248,0,16,60,0,48,60,0,48,30,0,112,30,0, - 248,127,128,17,23,69,18,0,0,1,128,0,3,192,0,6, - 96,0,6,96,0,3,192,0,1,128,0,1,128,0,1,192, - 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, - 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, - 60,0,48,60,0,48,30,0,112,30,0,248,127,128,23,17, - 51,25,0,0,1,255,252,0,124,28,0,252,12,0,188,4, - 1,188,4,1,60,32,3,60,32,2,60,96,6,63,224,7, - 252,96,12,60,32,8,60,32,24,60,2,16,60,2,48,60, - 6,112,60,14,248,255,254,15,23,46,18,1,250,3,242,30, - 62,60,14,120,6,120,2,240,2,240,0,240,0,240,0,240, - 0,240,0,240,0,120,0,120,2,60,14,31,60,7,240,1, - 0,3,0,3,128,0,192,8,192,7,128,15,22,44,17,1, - 0,7,0,3,128,1,128,0,192,0,0,255,252,60,28,60, - 12,60,4,60,4,60,32,60,32,60,96,63,224,60,96,60, - 32,60,32,60,2,60,2,60,6,60,14,255,254,15,22,44, - 17,1,0,1,192,3,128,3,0,6,0,0,0,255,252,60, - 28,60,12,60,4,60,4,60,32,60,32,60,96,63,224,60, - 96,60,32,60,32,60,2,60,2,60,6,60,14,255,254,15, - 22,44,17,1,0,3,0,7,128,12,192,0,0,0,0,255, - 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, - 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, - 254,15,21,42,17,1,0,12,192,12,192,0,0,0,0,255, - 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, - 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, - 254,8,22,22,10,0,0,112,56,24,12,0,255,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,8,22,22, - 10,0,0,14,28,24,48,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,8,22,22,10,0,0,24, - 60,102,0,0,255,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,255,8,21,21,10,0,0,102,102,0,0,255, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, - 16,17,34,18,1,0,255,224,60,120,60,60,60,30,60,30, - 60,15,60,15,255,143,255,143,60,15,60,15,60,14,60,30, - 60,28,60,60,60,120,255,224,17,22,66,18,0,0,1,136, - 0,3,240,0,4,96,0,0,0,0,0,0,0,248,15,128, - 124,7,0,62,2,0,63,2,0,63,130,0,47,194,0,39, - 226,0,35,226,0,33,242,0,32,250,0,32,126,0,32,62, - 0,32,30,0,32,14,0,32,14,0,96,6,0,248,2,0, - 16,22,44,19,1,0,7,0,3,128,1,128,0,192,0,0, - 7,224,30,120,60,60,120,30,120,30,240,15,240,15,240,15, - 240,15,240,15,240,15,240,15,120,30,120,30,60,60,30,120, - 7,224,16,22,44,19,1,0,0,112,0,224,0,192,1,128, - 0,0,7,224,30,120,60,60,120,30,120,30,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,120,30,120,30,60,60, - 30,120,7,224,16,22,44,19,1,0,1,128,3,192,6,96, - 0,0,0,0,7,224,30,120,60,60,120,30,120,30,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,120,30,120,30, - 60,60,30,120,7,224,16,22,44,19,1,0,3,16,7,224, - 8,192,0,0,0,0,7,224,30,120,60,60,120,30,120,30, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, - 120,30,60,60,30,120,7,224,16,21,42,19,1,0,12,96, - 12,96,0,0,0,0,7,224,30,120,60,60,120,30,120,30, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, - 120,30,60,60,30,120,7,224,12,12,24,14,1,0,192,48, - 224,112,112,224,57,192,31,128,15,0,15,0,31,128,57,192, - 112,224,224,112,192,48,16,19,38,19,1,255,0,4,7,236, - 30,120,56,28,120,62,120,62,240,111,240,207,240,207,241,143, - 243,15,243,15,246,15,124,30,124,30,56,28,62,120,55,224, - 96,0,17,22,66,18,0,0,3,128,0,1,192,0,0,192, - 0,0,96,0,0,0,0,255,15,128,62,6,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, - 0,30,4,0,31,28,0,7,248,0,17,22,66,18,0,0, - 0,56,0,0,112,0,0,96,0,0,192,0,0,0,0,255, - 15,128,62,6,0,60,2,0,60,2,0,60,2,0,60,2, - 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,6,0,30,4,0,31,28,0,7, - 248,0,17,22,66,18,0,0,0,96,0,0,240,0,1,152, - 0,0,0,0,0,0,0,255,15,128,62,6,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, - 0,30,4,0,31,28,0,7,248,0,17,21,63,18,0,0, - 3,24,0,3,24,0,0,0,0,0,0,0,255,15,128,62, - 6,0,60,2,0,60,2,0,60,2,0,60,2,0,60,2, - 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,6,0,30,4,0,31,28,0,7,248,0,18, - 23,69,18,0,0,0,14,0,0,28,0,0,24,0,0,48, - 0,0,0,0,0,0,0,255,143,192,62,3,0,30,2,0, - 15,6,0,15,12,0,7,140,0,7,152,0,3,208,0,3, - 240,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,7,248,0,14,17,34,15,0,0, - 255,0,60,0,60,0,60,0,63,224,60,120,60,60,60,60, - 60,60,60,60,60,60,60,120,63,224,60,0,60,0,60,0, - 255,0,11,17,34,14,1,0,31,0,57,128,113,192,113,192, - 113,192,113,192,115,128,119,0,115,128,113,192,112,224,112,224, - 112,224,112,224,112,224,112,192,243,128,10,17,34,12,1,0, - 56,0,28,0,12,0,6,0,0,0,62,0,119,0,227,128, - 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, - 113,128,10,17,34,12,1,0,14,0,28,0,24,0,48,0, - 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,10,17,34,12,1,0, - 12,0,30,0,51,0,0,0,0,0,62,0,119,0,227,128, - 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, - 113,128,10,17,34,12,1,0,24,128,63,0,70,0,0,0, - 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,10,16,32,12,1,0, - 51,0,51,0,0,0,0,0,62,0,119,0,227,128,227,128, - 67,128,15,128,115,128,227,128,227,128,231,128,255,192,113,128, - 10,18,36,12,1,0,12,0,30,0,51,0,51,0,30,0, - 12,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,15,12,24,17,1,0, - 62,120,119,204,227,206,99,142,3,142,31,254,115,128,227,128, - 227,192,231,226,254,252,124,120,9,18,36,11,1,250,30,0, - 115,0,115,128,227,128,225,0,224,0,224,0,224,0,240,0, - 120,128,127,0,30,0,8,0,24,0,28,0,6,0,70,0, - 60,0,9,17,34,11,1,0,56,0,28,0,12,0,6,0, - 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, - 224,0,240,0,120,128,127,0,30,0,9,17,34,11,1,0, - 14,0,28,0,24,0,48,0,0,0,30,0,115,0,115,128, - 227,128,227,128,255,128,224,0,224,0,240,0,120,128,127,0, - 30,0,9,17,34,11,1,0,24,0,60,0,102,0,0,0, - 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, - 224,0,240,0,120,128,127,0,30,0,9,16,32,11,1,0, - 51,0,51,0,0,0,0,0,30,0,115,0,115,128,227,128, - 227,128,255,128,224,0,224,0,240,0,120,128,127,0,30,0, - 5,17,17,7,1,0,224,112,48,24,0,240,112,112,112,112, - 112,112,112,112,112,112,248,6,17,17,7,1,0,28,56,48, - 96,0,240,112,112,112,112,112,112,112,112,112,112,248,6,17, - 17,7,1,0,48,120,204,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,6,16,16,7,1,0,204,204,0,0,240, - 112,112,112,112,112,112,112,112,112,112,248,11,17,34,13,1, - 0,96,0,56,192,15,0,30,0,99,0,31,128,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,12,17,34,14,1,0,12,64,31,128,35,0,0, - 0,0,0,243,192,119,224,120,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,249,240,11,17,34,13,1, - 0,28,0,14,0,6,0,3,0,0,0,31,0,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,11,17,34,13,1,0,3,128,7,0,6,0,12, - 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, - 224,224,224,224,224,113,192,123,192,31,0,11,17,34,13,1, - 0,12,0,30,0,51,0,0,0,0,0,31,0,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,11,17,34,13,1,0,24,128,63,0,70,0,0, - 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, - 224,224,224,224,224,113,192,123,192,31,0,11,16,32,13,1, - 0,49,128,49,128,0,0,0,0,31,0,123,192,113,192,224, - 224,224,224,224,224,224,224,224,224,224,224,113,192,123,192,31, - 0,12,12,24,14,1,0,6,0,6,0,6,0,0,0,0, - 0,255,240,255,240,0,0,0,0,6,0,6,0,6,0,11, - 16,32,13,1,254,0,64,0,64,30,128,121,192,113,192,226, - 224,226,224,228,224,228,224,232,224,232,224,113,192,123,192,63, - 0,64,0,64,0,12,17,34,14,1,0,28,0,14,0,6, - 0,3,0,0,0,241,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,113,224,126,240,60,224,12,17,34, - 14,1,0,7,0,14,0,12,0,24,0,0,0,241,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,113, - 224,126,240,60,224,12,17,34,14,1,0,6,0,15,0,25, - 128,0,0,0,0,241,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,113,224,126,240,60,224,12,16,32, - 14,1,0,25,128,25,128,0,0,0,0,241,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, - 240,60,224,12,22,44,12,0,251,1,192,3,128,3,0,6, - 0,0,0,253,240,120,96,56,64,56,192,60,128,28,128,29, - 128,31,0,15,0,15,0,6,0,6,0,6,0,100,0,236, - 0,248,0,112,0,12,22,44,14,1,251,240,0,112,0,112, - 0,112,0,112,0,115,128,119,224,124,224,120,112,112,112,112, - 112,112,112,112,112,112,112,120,224,119,224,115,128,112,0,112, - 0,112,0,112,0,252,0,12,21,42,12,0,251,25,128,25, - 128,0,0,0,0,253,240,120,96,56,64,56,192,60,128,28, - 128,29,128,31,0,15,0,15,0,6,0,6,0,6,0,100, - 0,236,0,248,0,112,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=24 h=22 x= 3 y=13 dx=25 dy= 0 ascent=18 len=66 - Font Bounding box w=27 h=38 x=-2 y=-10 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB18r[3355] U8G_FONT_SECTION("u8g_font_timB18r") = { - 0,27,38,254,246,17,4,47,9,109,32,127,251,18,251,17, - 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, - 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, - 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, - 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, - 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, - 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, - 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, - 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, - 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, - 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, - 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, - 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, - 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, - 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, - 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, - 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, - 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, - 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, - 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, - 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, - 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, - 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, - 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, - 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, - 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, - 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, - 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, - 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, - 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, - 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, - 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, - 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, - 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, - 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, - 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, - 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, - 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, - 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, - 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, - 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, - 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, - 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, - 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, - 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, - 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, - 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, - 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, - 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, - 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, - 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, - 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, - 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, - 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, - 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, - 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, - 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, - 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, - 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, - 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, - 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, - 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, - 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, - 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, - 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, - 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, - 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, - 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, - 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, - 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, - 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, - 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, - 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, - 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, - 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, - 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, - 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, - 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, - 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, - 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, - 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, - 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, - 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, - 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, - 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, - 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, - 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, - 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, - 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, - 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, - 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, - 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, - 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, - 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, - 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, - 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, - 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, - 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, - 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, - 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, - 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, - 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, - 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, - 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, - 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, - 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, - 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, - 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, - 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, - 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, - 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, - 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, - 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, - 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, - 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, - 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, - 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, - 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, - 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, - 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, - 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, - 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, - 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, - 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, - 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, - 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, - 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, - 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, - 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, - 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, - 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, - 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, - 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, - 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, - 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, - 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, - 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, - 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, - 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, - 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, - 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, - 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, - 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, - 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, - 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, - 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, - 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, - 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, - 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, - 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, - 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, - 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, - 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, - 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, - 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, - 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, - 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, - 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, - 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, - 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, - 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, - 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, - 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, - 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, - 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, - 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, - 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, - 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, - 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, - 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, - 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, - 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, - 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, - 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, - 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, - 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, - 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, - 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, - 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, - 126,16,255,16,143,240,135,224,1,128,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=30 x= 4 y=18 dx=33 dy= 0 ascent=30 len=108 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =30 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_FONT_SECTION("u8g_font_timB24") = { - 0,38,49,251,244,23,5,149,13,202,32,255,249,30,249,23, - 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, - 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, - 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, - 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, - 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, - 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, - 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, - 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, - 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, - 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, - 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, - 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, - 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, - 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, - 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, - 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, - 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, - 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, - 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, - 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, - 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, - 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, - 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, - 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, - 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, - 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, - 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, - 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, - 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, - 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, - 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, - 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, - 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, - 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, - 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, - 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, - 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, - 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, - 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, - 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, - 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, - 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, - 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, - 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, - 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, - 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, - 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, - 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, - 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, - 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, - 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, - 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, - 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, - 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, - 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, - 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, - 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, - 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, - 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, - 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, - 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, - 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, - 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, - 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, - 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, - 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, - 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, - 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, - 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, - 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, - 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, - 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, - 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, - 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, - 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, - 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, - 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, - 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, - 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, - 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, - 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, - 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, - 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, - 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, - 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, - 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, - 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, - 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, - 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, - 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, - 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, - 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, - 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, - 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, - 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, - 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, - 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, - 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, - 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, - 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, - 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, - 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, - 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, - 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, - 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, - 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, - 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, - 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, - 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, - 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, - 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, - 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, - 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, - 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, - 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, - 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, - 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, - 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, - 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, - 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, - 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, - 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, - 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, - 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, - 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, - 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, - 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, - 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, - 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, - 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, - 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, - 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, - 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, - 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, - 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, - 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, - 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, - 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, - 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, - 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, - 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, - 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, - 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, - 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, - 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, - 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, - 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, - 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, - 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, - 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, - 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, - 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, - 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, - 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, - 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, - 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, - 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, - 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, - 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, - 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, - 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, - 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, - 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, - 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, - 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, - 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, - 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, - 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, - 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, - 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, - 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, - 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, - 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, - 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, - 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, - 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, - 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, - 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, - 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, - 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, - 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, - 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, - 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, - 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, - 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, - 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, - 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, - 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, - 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, - 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, - 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, - 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, - 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, - 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, - 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, - 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, - 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, - 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, - 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, - 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, - 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, - 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, - 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, - 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, - 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, - 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, - 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, - 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, - 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, - 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, - 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, - 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, - 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, - 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, - 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, - 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, - 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, - 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, - 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, - 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, - 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, - 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, - 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, - 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, - 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, - 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, - 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, - 255,198,143,254,131,252,1,248,0,112,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,8,0, - 1,5,23,23,11,3,249,112,248,248,248,112,0,0,0,32, - 32,32,32,112,112,112,112,248,248,248,248,248,248,112,13,25, - 50,17,1,251,0,8,0,8,0,24,0,16,7,240,28,224, - 56,240,120,240,240,240,240,224,240,128,241,128,241,0,243,0, - 242,0,250,16,126,48,127,224,63,192,15,0,8,0,16,0, - 16,0,32,0,32,0,16,23,46,17,1,0,0,240,3,252, - 7,30,14,30,14,30,30,12,30,0,30,0,31,0,15,0, - 15,0,127,240,127,240,7,128,7,128,7,128,55,128,127,1, - 239,3,199,135,199,255,238,254,124,124,14,15,30,17,1,4, - 96,24,247,188,255,252,127,248,60,240,120,120,112,56,112,56, - 112,56,120,120,60,240,127,248,255,252,247,188,96,24,18,23, - 69,17,1,0,255,135,192,62,3,128,62,3,0,31,3,0, - 31,6,0,31,134,0,15,132,0,15,140,0,7,200,0,7, - 216,0,7,208,0,3,240,0,31,252,0,31,252,0,3,224, - 0,31,252,0,31,252,0,1,224,0,1,224,0,1,224,0, - 1,224,0,3,240,0,15,252,0,2,30,30,7,3,249,192, - 192,192,192,192,192,192,192,192,192,192,192,0,0,0,0,0, - 0,192,192,192,192,192,192,192,192,192,192,192,192,12,28,56, - 17,2,251,15,128,24,192,48,224,113,224,113,224,120,192,60, - 0,62,0,31,0,15,128,63,192,99,224,193,224,192,240,224, - 112,240,48,120,48,124,96,63,192,31,128,7,128,3,192,49, - 224,120,224,120,224,112,192,49,128,31,0,8,4,4,11,2, - 18,66,231,231,66,22,23,69,25,1,0,1,254,0,7,255, - 128,15,3,192,28,0,224,56,0,112,48,254,48,113,199,56, - 99,131,24,231,131,28,199,0,12,199,0,12,199,0,12,199, - 0,12,199,128,12,195,195,12,227,230,28,96,252,24,112,0, - 56,56,0,112,28,0,224,15,3,192,7,255,128,1,254,0, - 9,14,28,10,0,9,60,0,102,0,103,0,103,0,31,0, - 103,0,199,0,199,0,239,128,115,0,0,0,0,0,255,128, - 255,128,14,14,28,17,2,1,2,4,6,12,14,28,28,56, - 56,112,112,224,225,192,225,192,112,224,56,112,28,56,14,28, - 6,12,2,4,16,9,18,19,1,3,255,255,255,255,255,255, - 0,7,0,7,0,7,0,7,0,7,0,7,8,4,4,11, - 1,6,255,255,255,255,22,23,69,25,2,0,1,254,0,7, - 255,128,15,3,192,28,0,224,56,0,112,51,252,48,113,206, - 56,96,199,24,224,199,28,192,199,12,192,206,12,192,248,12, - 192,220,12,192,206,12,192,198,12,224,199,28,97,195,152,115, - 227,248,56,0,112,28,0,224,15,3,192,7,255,128,1,254, - 0,9,2,4,11,1,18,255,128,255,128,9,10,20,13,2, - 13,28,0,127,0,99,0,193,128,193,128,193,128,193,128,99, - 0,127,0,60,0,15,19,38,19,2,0,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,0,0,255,254,255,254,255, - 254,10,14,28,10,1,9,62,0,127,0,199,128,131,128,3, - 128,3,128,3,0,6,0,12,0,24,0,48,64,127,192,255, - 128,255,128,9,14,28,10,1,9,30,0,63,0,103,128,67, - 128,3,0,6,0,31,0,7,128,3,128,3,128,3,128,195, - 128,231,0,126,0,7,6,6,11,3,17,6,14,28,56,96, - 128,16,22,44,19,2,250,248,252,120,124,120,60,120,60,120, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 124,124,252,127,191,95,56,64,0,224,0,224,0,224,0,224, - 0,224,0,16,29,58,18,1,250,15,255,63,255,63,140,127, - 140,255,140,255,140,255,140,255,140,255,140,255,140,255,140,127, - 140,63,140,63,140,15,140,1,140,1,140,1,140,1,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,4,4,4,8,2,9,96,240,240,96,7,7,7, - 11,1,249,6,12,28,14,198,238,124,9,14,28,10,0,9, - 12,0,124,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,255,128,9,14,28,11, - 1,9,28,0,119,0,99,0,227,128,227,128,227,128,227,128, - 99,0,119,0,28,0,0,0,0,0,255,128,255,128,14,14, - 28,17,1,1,129,0,193,128,225,192,112,224,56,112,28,56, - 14,28,14,28,28,56,56,112,112,224,225,192,193,128,129,0, - 23,23,69,25,0,0,12,0,8,124,0,24,28,0,48,28, - 0,48,28,0,96,28,0,96,28,0,192,28,1,128,28,1, - 128,28,3,12,28,6,28,28,6,60,28,12,124,255,152,252, - 0,24,220,0,49,156,0,99,156,0,99,28,0,199,254,1, - 199,254,1,128,28,3,0,28,3,0,28,23,23,69,25,0, - 0,12,0,48,124,0,96,28,0,96,28,0,192,28,0,128, - 28,1,128,28,3,0,28,2,0,28,6,0,28,12,240,28, - 25,248,28,27,60,28,50,28,255,176,28,0,96,28,0,96, - 24,0,192,48,1,128,96,1,128,192,3,1,130,6,3,254, - 6,7,252,12,15,252,22,23,69,25,1,0,30,0,16,63, - 0,48,103,128,96,67,128,96,3,0,192,6,0,192,31,1, - 128,7,131,0,3,131,0,3,134,24,3,140,56,195,140,120, - 231,24,248,126,49,248,0,49,184,0,99,56,0,199,56,0, - 198,56,1,143,252,3,143,252,3,0,56,6,0,56,6,0, - 56,12,23,46,16,2,249,7,0,15,128,15,128,15,128,7, - 0,0,0,0,0,0,0,2,0,2,0,6,0,12,0,28, - 0,60,0,120,0,120,0,248,96,248,240,248,240,248,112,120, - 112,60,224,31,192,21,30,90,24,1,0,6,0,0,7,0, - 0,3,128,0,1,192,0,0,96,0,0,0,0,0,32,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,30,90,24,1,0,0,3,0,0,7, - 0,0,14,0,0,28,0,0,48,0,0,64,0,0,0,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,30,90,24,1,0,0,96,0,0,240, - 0,1,248,0,1,152,0,3,12,0,2,4,0,0,0,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,29,87,24,1,0,0,194,0,1,246, - 0,3,124,0,2,24,0,0,0,0,0,0,0,0,32,0, - 0,96,0,0,112,0,0,240,0,0,248,0,0,248,0,1, - 248,0,1,124,0,1,124,0,3,62,0,2,62,0,6,62, - 0,6,31,0,4,31,0,12,15,0,15,255,128,24,15,128, - 24,7,192,16,7,192,48,3,224,48,3,224,112,7,240,252, - 31,248,21,29,87,24,1,0,1,8,0,3,156,0,3,156, - 0,1,8,0,0,0,0,0,0,0,0,32,0,0,96,0, - 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, - 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, - 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, - 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,21, - 30,90,24,1,0,0,224,0,1,176,0,3,24,0,2,8, - 0,3,24,0,1,176,0,0,224,0,0,0,0,0,96,0, - 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, - 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, - 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, - 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,32, - 23,92,33,0,0,3,255,255,252,0,255,255,252,0,99,224, - 28,0,99,224,12,0,195,224,12,0,195,224,4,1,131,224, - 4,1,131,224,128,3,3,224,128,3,3,225,128,2,3,227, - 128,7,255,255,128,7,255,227,128,12,3,225,128,12,3,224, - 128,24,3,224,128,24,3,224,1,56,3,224,3,48,3,224, - 6,112,3,224,14,112,3,224,62,248,7,255,252,254,31,255, - 252,19,30,90,24,2,249,1,252,32,7,255,96,15,7,224, - 30,1,224,60,0,224,124,0,96,124,0,96,248,0,32,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,124,0,0,124,0,0,60,0,32, - 30,0,96,15,129,192,3,255,128,0,254,0,0,24,0,0, - 48,0,0,112,0,0,56,0,3,24,0,3,184,0,1,240, - 0,21,30,90,22,0,0,6,0,0,7,0,0,3,128,0, - 1,192,0,0,96,0,0,48,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,30,90,22,0,0,0,1,128,0,3,128,0,7,0, - 0,14,0,0,24,0,0,48,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,30,90,22,0,0,0,48,0,0,120,0,0,252,0, - 0,204,0,1,134,0,1,2,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,29,87,22,0,0,0,132,0,1,206,0,1,206,0, - 0,132,0,0,0,0,0,0,0,255,255,224,63,255,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,0,32,31,4, - 0,31,4,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,4,0,31,4,0,31,0,8,31,0,24,31, - 0,48,31,0,112,31,1,240,63,255,224,255,255,224,11,30, - 60,13,1,0,192,0,224,0,112,0,56,0,12,0,6,0, - 0,0,255,224,63,128,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,63,128,255,224, - 12,30,60,13,1,0,0,48,0,112,0,224,1,192,3,0, - 6,0,0,0,255,224,63,128,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,63,128, - 255,224,11,30,60,13,1,0,6,0,15,0,31,128,25,128, - 48,192,32,64,0,0,255,224,63,128,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 63,128,255,224,11,29,58,13,1,0,16,128,57,192,57,192, - 16,128,0,0,0,0,255,224,63,128,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 63,128,255,224,22,23,69,24,0,0,255,254,0,63,15,128, - 31,3,224,31,1,240,31,1,240,31,0,248,31,0,248,31, - 0,252,31,0,252,31,0,252,255,240,124,255,240,124,255,240, - 124,31,0,124,31,0,252,31,0,248,31,0,248,31,0,248, - 31,1,240,31,1,224,31,3,192,63,15,128,127,254,0,22, - 29,87,24,1,0,0,97,0,0,251,0,1,190,0,1,12, - 0,0,0,0,0,0,0,254,1,252,127,0,112,63,128,32, - 31,128,32,31,192,32,31,224,32,23,240,32,19,248,32,17, - 248,32,17,252,32,16,254,32,16,127,32,16,63,32,16,31, - 160,16,31,224,16,15,224,16,7,224,16,3,224,16,3,224, - 16,1,224,16,0,224,56,0,96,254,0,32,21,30,90,25, - 2,0,6,0,0,7,0,0,3,128,0,1,192,0,0,96, - 0,0,48,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, - 2,0,0,3,128,0,7,0,0,14,0,0,24,0,0,48, - 0,0,96,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, - 2,0,0,48,0,0,120,0,0,252,0,0,204,0,1,134, - 0,1,2,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,29,87,25, - 2,0,0,194,0,1,246,0,3,124,0,2,24,0,0,0, - 0,0,0,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,21,29,87,25,2,0,0, - 132,0,1,206,0,1,206,0,0,132,0,0,0,0,0,0, - 0,1,252,0,7,255,0,15,143,128,30,3,192,60,1,224, - 124,1,240,120,0,240,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,120,0,240,124,1,240,60,1,224,30,3,192,15,143,128, - 7,255,0,1,252,0,15,16,32,19,2,0,64,4,224,14, - 240,30,120,60,60,120,30,240,15,224,7,192,7,192,15,224, - 30,240,60,120,120,60,240,30,224,14,64,4,21,27,81,26, - 2,254,0,0,48,0,0,96,1,252,64,7,143,192,14,3, - 128,30,1,192,60,3,224,124,6,240,120,4,240,248,12,248, - 248,24,248,248,24,248,248,48,248,248,32,248,248,96,248,248, - 192,248,248,128,248,249,128,248,123,0,240,126,1,240,62,1, - 224,28,3,192,14,7,128,31,254,0,17,248,0,48,0,0, - 96,0,0,23,30,90,24,0,0,0,192,0,0,224,0,0, - 112,0,0,56,0,0,12,0,0,2,0,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,30,90,24,0,0,0,0,192,0,1,192,0, - 3,128,0,7,0,0,12,0,0,16,0,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,30,90,24,0,0,0,12,0,0,30,0,0, - 63,0,0,51,0,0,97,128,0,64,128,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,29,87,24,0,0,0,33,0,0,115,128,0, - 115,128,0,33,0,0,0,0,0,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 48,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,30,90,24,1,0,0,0,192,0,1,192,0,3,128,0, - 7,0,0,12,0,0,16,0,0,0,0,255,195,252,127,0, - 240,63,0,96,63,0,96,31,128,192,31,128,128,15,193,128, - 15,195,0,7,227,0,3,230,0,3,244,0,1,252,0,1, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,1,252,0,7,255,0, - 19,23,69,20,0,0,255,224,0,63,128,0,31,0,0,31, - 0,0,31,254,0,31,15,128,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,224,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,63,128,0,255,224,0,17,23,69,19,0, - 0,3,240,0,14,60,0,30,62,0,28,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,28,0,60,56,0,60, - 224,0,60,60,0,60,30,0,60,15,0,60,15,0,60,15, - 128,60,15,128,60,15,128,60,15,128,60,15,0,60,15,0, - 60,30,0,252,124,0,14,23,46,16,1,0,48,0,56,0, - 28,0,14,0,3,0,0,128,0,0,31,128,49,224,112,240, - 120,240,120,240,48,240,1,240,7,240,28,240,56,240,120,240, - 240,240,249,240,255,244,126,252,60,120,14,23,46,16,1,0, - 0,48,0,112,0,224,1,192,3,0,4,0,0,0,31,128, - 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, - 56,240,120,240,240,240,249,240,255,244,126,252,60,120,14,23, - 46,16,1,0,3,0,7,128,15,192,12,192,24,96,16,32, - 0,0,31,128,49,224,112,240,120,240,120,240,48,240,1,240, - 7,240,28,240,56,240,120,240,240,240,249,240,255,244,126,252, - 60,120,14,22,44,16,1,0,12,32,31,96,55,192,33,128, - 0,0,0,0,31,128,49,224,112,240,120,240,120,240,48,240, - 1,240,7,240,28,240,56,240,120,240,240,240,249,240,255,244, - 126,252,60,120,14,22,44,16,1,0,8,64,28,224,28,224, - 8,64,0,0,0,0,31,128,49,224,112,240,120,240,120,240, - 48,240,1,240,7,240,28,240,56,240,120,240,240,240,249,240, - 255,244,126,252,60,120,14,25,50,16,1,0,7,0,13,128, - 24,192,16,64,24,192,13,128,7,0,0,0,0,0,31,128, - 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, - 56,240,120,240,240,240,249,240,255,244,126,252,60,120,21,16, - 48,24,1,0,31,135,192,49,238,224,112,252,112,120,248,112, - 120,248,56,48,248,56,1,248,56,7,255,248,28,248,0,56, - 248,0,120,252,0,248,252,8,248,254,24,255,255,240,126,63, - 224,60,15,192,13,23,46,15,1,249,7,224,30,240,60,120, - 120,120,120,48,240,0,240,0,240,0,240,0,240,0,248,0, - 120,0,120,0,60,48,31,224,15,192,3,0,6,0,6,0, - 3,128,49,128,59,128,31,0,14,23,46,15,0,0,48,0, - 56,0,28,0,14,0,3,0,0,128,0,0,7,192,30,240, - 60,112,120,56,120,60,248,60,248,60,255,252,248,0,248,0, - 248,0,120,0,124,0,62,24,31,240,7,224,14,23,46,15, - 0,0,0,24,0,56,0,112,0,224,1,128,2,0,0,0, - 7,192,30,240,60,112,120,56,120,60,248,60,248,60,255,252, - 248,0,248,0,248,0,120,0,124,0,62,24,31,240,7,224, - 14,23,46,15,0,0,3,0,7,128,15,192,12,192,24,96, - 16,32,0,0,7,192,30,240,60,112,120,56,120,60,248,60, - 248,60,255,252,248,0,248,0,248,0,120,0,124,0,62,24, - 31,240,7,224,14,22,44,15,0,0,4,32,14,112,14,112, - 4,32,0,0,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,8,23,23,9,0,0,192,224,112,56, - 12,2,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,8,23,23,9,0,0,3,7,14,28,48,64,0, - 252,124,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 8,23,23,9,0,0,24,60,126,102,195,129,0,252,124,60, - 60,60,60,60,60,60,60,60,60,60,60,126,255,8,22,22, - 9,0,0,66,231,231,66,0,0,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,14,22,44,17,1,0,56, - 48,62,248,15,248,255,128,251,192,97,224,15,240,60,248,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,22,66,18,0, - 0,3,8,0,7,216,0,13,240,0,8,96,0,0,0,0, - 0,0,0,252,120,0,125,252,0,63,62,0,62,30,0,62, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,126,63,0, - 255,127,128,14,23,46,17,1,0,48,0,56,0,28,0,14, - 0,3,0,0,128,0,0,15,192,60,240,120,120,120,120,240, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,60,240,15,192,14,23,46,17,1,0,0,24,0, - 56,0,112,0,224,1,128,2,0,0,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,14,23,46,17,1, - 0,3,0,7,128,15,192,12,192,24,96,16,32,0,0,15, - 192,60,240,120,120,120,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,60,120,120,120,120,60,240,15,192,14, - 22,44,17,1,0,12,32,31,96,55,192,33,128,0,0,0, - 0,15,192,60,240,120,120,120,120,240,60,240,60,240,60,240, - 60,240,60,240,60,240,60,240,60,120,120,120,120,60,240,15, - 192,14,22,44,17,1,0,8,64,28,224,28,224,8,64,0, - 0,0,0,15,192,60,240,120,120,120,120,240,60,240,60,240, - 60,240,60,240,60,240,60,240,60,240,60,120,120,120,120,60, - 240,15,192,14,15,30,19,2,1,3,0,7,128,7,128,3, - 0,0,0,0,0,255,252,255,252,255,252,0,0,0,0,3, - 0,7,128,7,128,3,0,14,22,44,17,1,253,0,8,0, - 24,0,24,15,240,60,240,120,120,120,120,240,252,241,188,241, - 60,243,60,242,60,246,60,252,60,248,60,120,120,120,120,60, - 240,111,192,96,0,192,0,128,0,17,23,69,18,0,0,24, - 0,0,28,0,0,14,0,0,7,0,0,1,128,0,0,64, - 0,0,0,0,252,126,0,124,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,62,0,62,127,0,31,223, - 128,7,140,0,17,23,69,18,0,0,0,12,0,0,28,0, - 0,56,0,0,112,0,0,192,0,1,0,0,0,0,0,252, - 126,0,124,62,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,62,0,62,127,0,31,223,128,7,140,0,17, - 23,69,18,0,0,1,128,0,3,192,0,7,224,0,6,96, - 0,12,48,0,8,16,0,0,0,0,252,126,0,124,62,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,62, - 0,62,127,0,31,223,128,7,140,0,17,22,66,18,0,0, - 4,32,0,14,112,0,14,112,0,4,32,0,0,0,0,0, - 0,0,252,126,0,124,62,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,62,127,0,31,223,128,7, - 140,0,15,30,60,17,0,249,0,12,0,28,0,56,0,112, - 0,192,1,0,0,0,255,190,126,12,62,8,62,8,31,24, - 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, - 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, - 254,0,120,0,15,29,58,19,1,249,252,0,124,0,60,0, - 60,0,60,0,60,0,60,224,63,248,62,124,60,60,60,62, - 60,30,60,30,60,30,60,30,60,30,60,30,60,30,60,60, - 62,60,63,248,60,224,60,0,60,0,60,0,60,0,60,0, - 126,0,255,0,15,29,58,17,0,249,4,32,14,112,14,112, - 4,32,0,0,0,0,255,190,126,12,62,8,62,8,31,24, - 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, - 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, - 254,0,120,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=16 h=25 x= 3 y= 9 dx=19 dy= 0 ascent=25 len=50 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24n[723] U8G_FONT_SECTION("u8g_font_timB24n") = { - 0,38,49,251,244,23,0,0,0,0,42,58,0,25,250,23, - 0,13,14,28,17,1,9,3,0,7,0,7,0,231,56,242, - 120,122,240,15,128,15,128,122,240,242,120,231,56,7,0,7, - 0,6,0,15,15,30,19,2,0,3,128,3,128,3,128,3, - 128,3,128,3,128,255,254,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,11,11,8,1,250,56,124,124, - 124,60,12,8,24,48,96,192,8,4,4,11,1,6,255,255, - 255,255,5,5,5,8,1,0,112,248,248,248,112,9,25,50, - 9,0,0,1,128,1,128,1,0,3,0,3,0,3,0,6, - 0,6,0,6,0,4,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,14,23,46,16,1,0,7,128,31,224,28, - 224,56,112,120,112,120,120,120,120,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,248,124,120,120,120,120,120, - 120,56,112,28,224,15,192,7,128,13,23,46,16,2,0,1, - 128,7,128,31,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,31,192,255,248,16,23,46, - 16,0,0,3,192,15,240,31,248,63,248,48,252,96,124,64, - 124,0,124,0,120,0,120,0,120,0,240,0,224,1,192,1, - 128,3,0,7,1,14,3,28,6,63,254,127,254,255,252,255, - 252,14,23,46,16,1,0,7,192,31,240,63,240,48,248,96, - 120,64,120,0,120,0,112,0,192,3,224,15,240,15,248,3, - 248,0,252,0,124,0,60,0,60,0,60,96,56,240,56,248, - 112,127,192,31,0,14,23,46,16,1,0,0,112,0,240,0, - 240,1,240,3,240,6,240,6,240,12,240,24,240,24,240,48, - 240,96,240,96,240,192,240,255,252,255,252,255,252,255,252,0, - 240,0,240,0,240,0,240,0,240,13,23,46,16,1,0,31, - 248,31,248,31,248,31,248,48,0,48,0,32,0,62,0,127, - 128,127,224,127,240,127,240,3,248,0,248,0,120,0,56,0, - 56,0,56,96,48,240,48,248,96,127,192,31,0,14,23,46, - 16,1,0,0,28,0,240,3,192,7,128,15,0,30,0,62, - 0,60,0,124,0,127,224,253,240,248,248,248,120,248,124,248, - 124,248,124,248,124,120,124,120,120,120,120,56,112,28,224,15, - 192,13,23,46,16,2,0,127,248,127,248,255,248,255,248,192, - 48,128,112,128,112,0,96,0,224,0,224,0,192,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,14,0,28,0,14,23,46,16,1,0,15,224,62,240,60, - 120,120,120,120,56,120,56,124,56,126,112,63,224,63,128,31, - 192,15,224,63,240,113,248,112,252,224,124,224,60,224,60,224, - 60,240,56,120,120,127,240,31,192,14,23,46,16,1,0,15, - 192,28,224,56,112,120,120,120,120,248,120,248,124,248,124,248, - 124,248,124,120,124,124,124,62,252,31,248,0,248,0,240,1, - 240,1,224,3,192,7,128,15,0,60,0,224,0,5,16,16, - 11,3,0,112,248,248,248,112,0,0,0,0,0,0,112,248, - 248,248,112}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=30 x= 4 y=17 dx=33 dy= 0 ascent=26 len=108 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24r[5003] U8G_FONT_SECTION("u8g_font_timB24r") = { - 0,38,49,251,244,23,5,149,13,202,32,127,249,26,249,23, - 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, - 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, - 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, - 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, - 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, - 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, - 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, - 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, - 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, - 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, - 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, - 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, - 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, - 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, - 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, - 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, - 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, - 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, - 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, - 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, - 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, - 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, - 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, - 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, - 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, - 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, - 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, - 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, - 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, - 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, - 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, - 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, - 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, - 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, - 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, - 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, - 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, - 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, - 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, - 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, - 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, - 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, - 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, - 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, - 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, - 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, - 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, - 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, - 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, - 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, - 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, - 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, - 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, - 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, - 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, - 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, - 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, - 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, - 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, - 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, - 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, - 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, - 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, - 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, - 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, - 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, - 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, - 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, - 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, - 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, - 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, - 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, - 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, - 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, - 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, - 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, - 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, - 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, - 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, - 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, - 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, - 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, - 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, - 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, - 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, - 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, - 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, - 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, - 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, - 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, - 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, - 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, - 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, - 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, - 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, - 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, - 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, - 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, - 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, - 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, - 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, - 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, - 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, - 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, - 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, - 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, - 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, - 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, - 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, - 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, - 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, - 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, - 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, - 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, - 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, - 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, - 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, - 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, - 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, - 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, - 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, - 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, - 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, - 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, - 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, - 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, - 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, - 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, - 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, - 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, - 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, - 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, - 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, - 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, - 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, - 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, - 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, - 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, - 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, - 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, - 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, - 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, - 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, - 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, - 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, - 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, - 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, - 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, - 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, - 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, - 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, - 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, - 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, - 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, - 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, - 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, - 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, - 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, - 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, - 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, - 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, - 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, - 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, - 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, - 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, - 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, - 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, - 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, - 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, - 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, - 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, - 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, - 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, - 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, - 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, - 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, - 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, - 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, - 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, - 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, - 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, - 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, - 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, - 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, - 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, - 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, - 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, - 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, - 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, - 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, - 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, - 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, - 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, - 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, - 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, - 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, - 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, - 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, - 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, - 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, - 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, - 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, - 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, - 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, - 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, - 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, - 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, - 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, - 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, - 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, - 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, - 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, - 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, - 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, - 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, - 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, - 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, - 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, - 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, - 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, - 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, - 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, - 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, - 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, - 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, - 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, - 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, - 255,198,143,254,131,252,1,248,0,112,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=11 h=10 x= 1 y= 6 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w=12 h=17 x=-2 y=-4 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR08[2512] U8G_FONT_SECTION("u8g_font_timR08") = { - 0,12,17,254,252,7,1,147,3,56,32,255,254,10,253,7, - 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, - 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, - 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, - 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, - 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, - 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, - 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, - 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, - 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, - 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, - 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, - 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, - 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, - 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, - 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, - 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, - 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, - 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, - 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, - 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, - 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, - 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, - 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, - 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, - 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, - 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, - 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, - 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, - 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, - 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, - 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, - 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, - 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, - 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, - 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, - 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, - 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, - 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, - 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, - 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, - 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, - 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, - 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, - 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, - 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, - 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, - 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, - 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, - 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, - 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, - 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, - 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, - 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, - 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, - 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, - 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, - 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, - 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, - 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, - 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, - 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, - 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, - 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, - 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, - 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, - 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, - 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, - 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, - 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, - 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, - 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, - 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, - 32,64,64,64,128,6,2,2,7,0,2,100,152,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,2,0,1,1,7,7,3,1,254,128,0,128,128,128,128, - 128,4,7,7,5,0,255,32,112,144,128,144,96,64,5,7, - 7,5,0,0,48,80,64,224,64,200,240,5,6,6,5,0, - 1,136,112,80,80,112,136,5,7,7,5,0,0,136,80,216, - 32,248,32,112,1,7,7,2,0,0,128,128,128,0,128,128, - 128,4,9,9,5,0,254,112,144,64,160,144,80,32,144,224, - 3,1,1,5,1,5,160,7,7,7,9,1,0,56,68,154, - 162,154,68,56,3,5,5,4,0,2,192,32,160,0,224,4, - 4,4,5,0,1,80,160,160,80,5,2,2,7,1,1,248, - 8,3,1,1,4,0,2,224,7,7,7,9,1,0,56,68, - 186,178,170,68,56,3,1,1,4,0,5,224,4,4,4,4, - 0,3,96,144,144,96,5,7,7,6,0,0,32,32,248,32, - 32,0,248,3,4,4,3,0,3,96,160,64,224,3,4,4, - 3,0,3,224,64,32,192,2,2,2,3,0,5,64,128,5, - 7,7,5,0,254,144,144,144,144,232,128,128,6,9,9,6, - 0,254,124,232,232,232,104,40,40,40,40,1,1,1,2,0, - 2,128,3,3,3,4,0,253,64,32,192,3,4,4,3,0, - 3,64,192,64,224,3,5,5,4,0,2,64,160,64,0,224, - 4,4,4,5,0,1,160,80,80,160,7,7,7,8,0,0, - 68,200,72,244,44,62,68,7,7,7,8,0,0,68,200,72, - 246,42,36,78,7,7,7,8,0,0,228,72,40,212,44,62, - 68,3,7,7,4,0,254,64,0,64,64,128,160,224,7,10, - 10,8,0,0,32,16,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,8,16,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,16,40,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,20,40,0,16,56,40,40,124,68,238,7,9, - 9,8,0,0,40,0,16,56,40,40,124,68,238,7,10,10, - 8,0,0,16,40,16,16,56,40,40,124,68,238,8,7,7, - 9,0,0,31,57,40,46,120,73,239,6,10,10,7,0,253, - 124,196,128,128,128,196,120,32,16,96,5,10,10,6,0,0, - 64,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, - 16,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, - 32,80,0,248,72,64,112,64,72,248,5,9,9,6,0,0, - 80,0,248,72,64,112,64,72,248,3,10,10,4,0,0,128, - 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,32, - 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,64, - 160,0,224,64,64,64,64,64,224,3,9,9,4,0,0,160, - 0,224,64,64,64,64,64,224,6,7,7,7,0,0,248,76, - 68,228,68,76,248,7,10,10,8,0,0,20,40,0,206,100, - 100,84,84,76,228,6,10,10,7,0,0,32,16,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,16,32,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,16,40,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,40,80,0,120,204, - 132,132,132,204,120,6,9,9,7,0,0,72,0,120,204,132, - 132,132,204,120,5,5,5,6,0,0,136,80,32,80,136,8, - 9,9,8,255,255,1,62,102,74,66,82,102,124,128,7,10, - 10,8,0,0,32,16,0,238,68,68,68,68,108,56,7,10, - 10,8,0,0,8,16,0,238,68,68,68,68,108,56,7,10, - 10,8,0,0,16,40,0,238,68,68,68,68,108,56,7,9, - 9,8,0,0,40,0,238,68,68,68,68,108,56,7,10,10, - 8,0,0,8,16,0,198,68,40,56,16,16,56,5,7,7, - 6,0,0,224,64,112,72,112,64,224,4,7,7,5,0,0, - 32,80,80,96,80,80,224,3,8,8,4,0,0,128,64,0, - 192,32,96,160,224,3,8,8,4,0,0,32,64,0,192,32, - 96,160,224,3,8,8,4,0,0,64,160,0,192,32,96,160, - 224,4,8,8,4,0,0,80,160,0,192,32,96,160,224,3, - 7,7,4,0,0,160,0,192,32,96,160,224,3,8,8,4, - 0,0,64,160,64,192,32,96,160,224,5,5,5,6,0,0, - 216,40,112,160,216,3,8,8,4,0,253,96,128,128,128,96, - 64,32,192,3,8,8,4,0,0,128,64,0,96,160,192,128, - 96,3,8,8,4,0,0,32,64,0,96,160,192,128,96,3, - 8,8,4,0,0,64,160,0,96,160,192,128,96,3,7,7, - 4,0,0,160,0,96,160,192,128,96,2,8,8,3,0,0, - 128,64,0,192,64,64,64,64,3,8,8,3,0,0,32,64, - 0,192,64,64,64,64,3,8,8,3,0,0,64,160,0,192, - 64,64,64,64,3,7,7,3,0,0,160,0,192,64,64,64, - 64,4,8,8,5,0,0,64,112,160,112,144,144,144,96,5, - 8,8,5,0,0,80,160,0,224,144,144,144,216,4,8,8, - 5,0,0,64,32,0,96,144,144,144,96,4,8,8,5,0, - 0,32,64,0,96,144,144,144,96,4,8,8,5,0,0,64, - 160,0,96,144,144,144,96,4,8,8,5,0,0,80,160,0, - 96,144,144,144,96,4,7,7,5,0,0,160,0,96,144,144, - 144,96,5,5,5,6,0,0,32,0,248,0,32,6,7,7, - 5,255,255,4,56,72,72,72,112,128,5,8,8,5,0,0, - 64,32,0,144,144,144,144,104,5,8,8,5,0,0,32,64, - 0,144,144,144,144,104,5,8,8,5,0,0,32,80,0,144, - 144,144,144,104,5,7,7,5,0,0,80,0,144,144,144,144, - 104,6,10,10,5,255,254,16,32,0,220,72,80,48,32,96, - 192,5,10,10,5,255,253,192,64,112,72,72,72,112,64,64, - 224,6,9,9,5,255,254,80,0,220,72,80,48,32,96,192 - }; -/* - Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=11 h= 9 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=14 - Font Bounding box w=12 h=17 x=-2 y=-4 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR08r[1198] U8G_FONT_SECTION("u8g_font_timR08r") = { - 0,12,17,254,252,7,1,147,3,56,32,127,254,8,253,7, - 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, - 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, - 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, - 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, - 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, - 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, - 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, - 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, - 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, - 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, - 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, - 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, - 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, - 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, - 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, - 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, - 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, - 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, - 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, - 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, - 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, - 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, - 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, - 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, - 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, - 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, - 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, - 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, - 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, - 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, - 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, - 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, - 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, - 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, - 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, - 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, - 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, - 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, - 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, - 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, - 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, - 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, - 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, - 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, - 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, - 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, - 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, - 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, - 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, - 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, - 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, - 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, - 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, - 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, - 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, - 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, - 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, - 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, - 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, - 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, - 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, - 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, - 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, - 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, - 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, - 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, - 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, - 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, - 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, - 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, - 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, - 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, - 32,64,64,64,128,6,2,2,7,0,2,100,152,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=13 h=14 x= 2 y= 8 dx=13 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR10[3359] U8G_FONT_SECTION("u8g_font_timR10") = { - 0,17,24,254,250,10,2,4,4,92,32,255,253,14,253,10, - 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, - 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, - 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, - 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, - 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, - 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, - 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, - 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, - 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, - 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, - 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, - 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, - 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, - 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, - 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, - 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, - 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, - 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, - 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, - 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, - 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, - 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, - 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, - 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, - 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, - 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, - 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, - 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, - 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, - 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, - 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, - 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, - 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, - 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, - 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, - 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, - 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, - 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, - 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, - 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, - 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, - 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, - 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, - 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, - 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, - 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, - 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, - 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, - 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, - 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, - 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, - 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, - 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, - 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, - 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, - 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, - 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, - 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, - 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, - 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, - 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, - 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, - 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, - 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, - 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, - 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, - 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, - 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, - 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, - 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, - 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, - 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, - 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, - 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, - 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, - 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, - 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, - 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, - 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, - 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, - 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, - 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, - 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, - 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, - 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, - 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, - 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, - 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, - 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, - 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, - 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, - 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, - 98,156,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,3,0,1,1,10,10,5,2,253,128, - 128,0,128,128,128,128,128,128,128,6,9,9,7,0,255,4, - 124,204,144,144,160,228,120,128,7,10,10,8,0,0,28,52, - 32,32,248,32,32,32,226,188,5,7,7,7,1,1,136,112, - 136,136,136,112,136,7,10,10,7,0,0,238,68,108,40,124, - 16,124,16,16,56,1,10,10,3,1,0,128,128,128,128,0, - 0,128,128,128,128,5,13,13,7,1,253,56,88,64,96,112, - 152,136,200,112,48,16,208,224,3,2,2,5,1,8,160,160, - 10,10,20,12,1,0,30,0,97,128,78,128,146,64,144,64, - 144,64,146,64,76,128,97,128,30,0,3,6,6,4,0,4, - 224,32,160,224,0,224,6,6,6,7,0,0,36,72,144,144, - 72,36,7,4,4,9,1,2,254,2,2,2,3,1,1,4, - 0,3,224,10,10,20,12,1,0,30,0,97,128,92,128,146, - 64,156,64,148,64,146,64,82,128,97,128,30,0,4,1,1, - 4,0,8,240,4,4,4,6,1,6,96,144,144,96,7,7, - 7,8,0,0,16,16,254,16,16,0,254,4,6,6,4,0, - 4,96,144,16,32,64,240,4,6,6,4,0,4,96,144,32, - 16,144,96,3,3,3,5,1,8,32,96,128,7,10,10,7, - 0,253,204,68,68,68,68,108,118,64,64,96,7,13,13,7, - 0,253,62,116,244,244,244,116,52,20,20,20,20,20,20,1, - 2,2,4,2,3,128,128,3,3,3,5,1,253,64,32,192, - 3,6,6,4,0,4,64,192,64,64,64,224,4,6,6,5, - 0,4,96,144,144,96,0,240,6,6,6,7,1,0,144,72, - 36,36,72,144,10,10,20,10,0,0,65,0,194,0,66,0, - 68,0,68,128,233,128,10,128,20,128,23,192,32,128,10,10, - 20,10,0,0,65,0,194,0,66,0,68,0,69,128,234,64, - 8,64,16,128,17,0,35,192,10,10,20,10,0,0,97,0, - 146,0,34,0,20,0,148,128,105,128,10,128,20,128,23,192, - 32,128,5,10,10,6,0,253,32,32,0,32,32,64,128,136, - 136,112,9,14,28,11,1,0,16,0,24,0,4,0,0,0, - 8,0,8,0,20,0,20,0,34,0,34,0,62,0,65,0, - 65,0,227,128,9,14,28,11,1,0,4,0,12,0,16,0, - 0,0,8,0,8,0,20,0,20,0,34,0,34,0,62,0, - 65,0,65,0,227,128,9,14,28,11,1,0,8,0,28,0, - 34,0,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 62,0,65,0,65,0,227,128,9,14,28,11,1,0,18,0, - 42,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, - 34,0,62,0,65,0,65,0,227,128,9,13,26,11,1,0, - 36,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, - 34,0,62,0,65,0,65,0,227,128,9,14,28,11,1,0, - 24,0,36,0,24,0,0,0,8,0,8,0,20,0,20,0, - 34,0,34,0,62,0,65,0,65,0,227,128,11,10,20,13, - 1,0,31,224,12,32,20,0,20,64,39,192,36,64,60,0, - 68,32,68,32,239,224,8,13,13,10,1,253,61,99,65,129, - 128,128,128,193,98,60,8,4,24,7,14,14,9,1,0,32, - 48,8,0,254,66,64,68,124,68,64,66,66,254,7,14,14, - 9,1,0,4,12,16,0,254,66,64,68,124,68,64,66,66, - 254,7,14,14,9,1,0,16,56,68,0,254,66,64,68,124, - 68,64,66,66,254,7,13,13,9,1,0,36,36,0,254,66, - 64,68,124,68,64,66,66,254,3,14,14,5,1,0,128,192, - 32,0,224,64,64,64,64,64,64,64,64,224,3,14,14,5, - 1,0,32,96,128,0,224,64,64,64,64,64,64,64,64,224, - 5,14,14,5,0,0,32,112,136,0,112,32,32,32,32,32, - 32,32,32,112,3,13,13,5,1,0,160,160,0,224,64,64, - 64,64,64,64,64,64,224,9,10,20,10,0,0,254,0,35, - 0,33,0,32,128,248,128,32,128,32,128,33,0,35,0,254, - 0,9,14,28,11,1,0,18,0,42,0,36,0,0,0,227, - 128,97,0,81,0,89,0,73,0,77,0,69,0,69,0,67, - 0,227,0,8,14,14,10,1,0,32,48,8,0,60,102,66, - 129,129,129,129,66,102,60,8,14,14,10,1,0,4,12,16, - 0,60,102,66,129,129,129,129,66,102,60,8,14,14,10,1, - 0,16,56,68,0,60,102,66,129,129,129,129,66,102,60,8, - 14,14,10,1,0,36,84,72,0,60,102,66,129,129,129,129, - 66,102,60,8,13,13,10,1,0,36,36,0,60,102,66,129, - 129,129,129,66,102,60,7,7,7,8,1,0,130,68,40,16, - 40,68,130,9,12,24,10,0,255,0,128,31,0,49,0,35, - 0,68,128,76,128,72,128,80,128,49,0,99,0,94,0,128, - 0,8,14,14,10,1,0,32,48,8,0,231,66,66,66,66, - 66,66,66,102,60,8,14,14,10,1,0,4,12,16,0,231, - 66,66,66,66,66,66,66,102,60,8,14,14,10,1,0,16, - 56,68,0,231,66,66,66,66,66,66,66,102,60,8,13,13, - 10,1,0,36,36,0,231,66,66,66,66,66,66,66,102,60, - 9,14,28,9,0,0,2,0,6,0,8,0,0,0,227,128, - 65,0,34,0,34,0,20,0,8,0,8,0,8,0,8,0, - 28,0,6,10,10,8,1,0,224,64,120,76,68,68,76,120, - 64,224,6,10,10,7,0,0,56,108,68,72,112,88,76,68, - 84,216,6,11,11,7,1,0,64,96,16,0,112,200,24,104, - 136,200,116,6,11,11,7,1,0,8,24,32,0,112,200,24, - 104,136,200,116,6,11,11,7,1,0,32,112,136,0,112,200, - 24,104,136,200,116,6,11,11,7,1,0,72,168,144,0,112, - 200,24,104,136,200,116,6,10,10,7,1,0,80,80,0,112, - 200,24,104,136,200,116,6,11,11,7,1,0,48,72,48,0, - 112,200,24,104,136,200,116,9,7,14,11,1,0,127,0,201, - 128,31,0,104,0,136,0,204,128,119,0,6,10,10,7,1, - 253,112,200,128,128,128,196,120,32,16,96,6,11,11,7,1, - 0,64,96,16,0,112,136,248,128,128,196,120,6,11,11,7, - 1,0,8,24,32,0,112,136,248,128,128,196,120,6,11,11, - 7,1,0,32,112,136,0,112,136,248,128,128,196,120,6,10, - 10,7,1,0,80,80,0,112,136,248,128,128,196,120,3,11, - 11,3,0,0,128,192,32,0,192,64,64,64,64,64,224,3, - 11,11,3,0,0,32,96,128,0,192,64,64,64,64,64,224, - 5,11,11,3,255,0,32,112,136,0,96,32,32,32,32,32, - 112,3,10,10,3,0,0,160,160,0,192,64,64,64,64,64, - 224,5,10,10,7,1,0,216,96,144,120,216,136,136,136,216, - 112,7,11,11,7,0,0,36,84,72,0,216,108,68,68,68, - 68,238,5,11,11,7,1,0,64,96,16,0,112,216,136,136, - 136,216,112,5,11,11,7,1,0,16,48,64,0,112,216,136, - 136,136,216,112,5,11,11,7,1,0,32,112,136,0,112,216, - 136,136,136,216,112,5,11,11,7,1,0,72,168,144,0,112, - 216,136,136,136,216,112,5,10,10,7,1,0,80,80,0,112, - 216,136,136,136,216,112,7,7,7,8,1,0,16,16,0,254, - 0,16,16,7,9,9,7,0,255,2,60,108,68,68,68,108, - 120,128,7,11,11,7,0,0,32,48,8,0,204,68,68,68, - 68,108,54,7,11,11,7,0,0,8,24,32,0,204,68,68, - 68,68,108,54,7,11,11,7,0,0,16,56,68,0,204,68, - 68,68,68,108,54,7,10,10,7,0,0,40,40,0,204,68, - 68,68,68,108,54,7,14,14,7,0,253,4,12,16,0,238, - 68,68,40,40,16,48,32,160,192,6,13,13,7,0,253,192, - 64,64,88,108,68,68,68,108,88,64,64,224,7,13,13,7, - 0,253,40,40,0,238,68,68,40,40,16,48,32,160,192}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=13 h=13 x= 2 y= 8 dx=13 dy= 0 ascent=11 len=24 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR10r[1571] U8G_FONT_SECTION("u8g_font_timR10r") = { - 0,17,24,254,250,10,2,4,4,92,32,127,253,11,253,10, - 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, - 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, - 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, - 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, - 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, - 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, - 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, - 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, - 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, - 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, - 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, - 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, - 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, - 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, - 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, - 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, - 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, - 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, - 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, - 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, - 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, - 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, - 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, - 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, - 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, - 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, - 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, - 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, - 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, - 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, - 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, - 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, - 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, - 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, - 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, - 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, - 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, - 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, - 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, - 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, - 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, - 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, - 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, - 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, - 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, - 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, - 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, - 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, - 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, - 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, - 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, - 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, - 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, - 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, - 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, - 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, - 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, - 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, - 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, - 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, - 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, - 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, - 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, - 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, - 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, - 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, - 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, - 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, - 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, - 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, - 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, - 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, - 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, - 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, - 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, - 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, - 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, - 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, - 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, - 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, - 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, - 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, - 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, - 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, - 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, - 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, - 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, - 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, - 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, - 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, - 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, - 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, - 98,156,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=16 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=30 - Font Bounding box w=19 h=26 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR12[3905] U8G_FONT_SECTION("u8g_font_timR12") = { - 0,19,26,254,249,11,2,36,5,11,32,255,252,15,252,11, - 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, - 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, - 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, - 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, - 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, - 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, - 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, - 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, - 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, - 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, - 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, - 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, - 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, - 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, - 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, - 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, - 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, - 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, - 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, - 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, - 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, - 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, - 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, - 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, - 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, - 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, - 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, - 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, - 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, - 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, - 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, - 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, - 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, - 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, - 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, - 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, - 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, - 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, - 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, - 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, - 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, - 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, - 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, - 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, - 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, - 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, - 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, - 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, - 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, - 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, - 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, - 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, - 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, - 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, - 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, - 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, - 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, - 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, - 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, - 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, - 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, - 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, - 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, - 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, - 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, - 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, - 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, - 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, - 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, - 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, - 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, - 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, - 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, - 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, - 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, - 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, - 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, - 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, - 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, - 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, - 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, - 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, - 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, - 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, - 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, - 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, - 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, - 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, - 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, - 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, - 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, - 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, - 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, - 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, - 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, - 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, - 3,9,0,3,113,153,142,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,4,0,1,1,11, - 11,5,2,253,128,128,0,0,128,128,128,128,128,128,128,7, - 12,12,8,0,254,4,4,60,74,138,136,144,146,84,56,32, - 32,8,11,11,8,0,0,12,18,34,32,32,252,16,16,113, - 145,110,8,9,9,8,0,1,153,102,66,129,129,129,66,102, - 153,9,11,22,8,255,0,227,128,65,0,34,0,20,0,8, - 0,62,0,8,0,62,0,8,0,8,0,28,0,1,11,11, - 3,0,0,128,128,128,128,128,0,128,128,128,128,128,7,14, - 14,8,0,253,56,68,76,32,80,136,132,66,34,20,8,100, - 68,56,4,2,2,6,1,9,144,144,11,11,22,13,0,0, - 14,0,49,128,64,64,78,64,145,32,144,32,144,32,81,64, - 78,64,49,128,14,0,4,6,6,5,0,5,96,16,112,144, - 80,240,7,7,7,8,0,0,18,36,72,144,72,36,18,8, - 5,5,9,0,0,255,1,1,1,1,4,1,1,5,0,4, - 240,11,11,22,13,0,0,14,0,49,128,64,64,78,64,137, - 32,142,32,138,32,74,64,73,64,49,128,14,0,5,1,1, - 6,0,9,248,5,5,5,7,1,6,112,136,136,136,112,7, - 9,9,9,1,0,16,16,16,254,16,16,16,0,254,5,7, - 7,5,0,4,112,136,8,16,32,72,248,6,7,7,5,255, - 4,56,68,4,24,4,132,120,3,3,3,6,2,8,32,64, - 128,8,11,11,8,0,253,198,66,66,66,66,66,71,122,64, - 64,64,7,15,15,8,0,252,62,116,244,244,244,116,52,20, - 20,20,20,20,20,20,20,1,2,2,4,1,4,128,128,4, - 4,4,6,0,252,32,112,16,224,3,7,7,5,1,4,64, - 192,64,64,64,64,224,4,6,6,5,0,5,96,144,144,144, - 96,240,7,7,7,8,0,0,144,72,36,18,36,72,144,11, - 11,22,13,1,0,64,128,193,0,67,0,66,0,68,64,76, - 192,233,64,25,64,18,64,39,224,64,64,12,11,22,13,0, - 0,64,128,193,0,67,0,66,0,68,224,77,16,232,16,24, - 32,16,64,32,144,65,240,13,11,22,13,255,0,56,32,68, - 64,4,192,24,128,5,16,135,48,122,80,6,80,4,144,9, - 248,8,16,5,11,11,7,1,253,32,32,0,0,32,32,64, - 128,136,136,112,12,15,30,12,0,0,8,0,4,0,2,0, - 0,0,4,0,6,0,10,0,11,0,17,0,17,128,32,128, - 63,128,64,192,64,64,224,240,12,15,30,12,0,0,1,0, - 2,0,4,0,0,0,4,0,6,0,10,0,11,0,17,0, - 17,128,32,128,63,128,64,192,64,64,224,240,12,15,30,12, - 0,0,4,0,10,0,17,0,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 12,14,28,12,0,0,13,0,22,0,0,0,4,0,6,0, - 10,0,11,0,17,0,17,128,32,128,63,128,64,192,64,64, - 224,240,12,14,28,12,0,0,9,0,9,0,0,0,4,0, - 6,0,10,0,11,0,17,0,17,128,32,128,63,128,64,192, - 64,64,224,240,12,14,28,12,0,0,6,0,9,0,9,0, - 6,0,6,0,10,0,11,0,17,0,17,128,32,128,63,128, - 64,192,64,64,224,240,14,11,22,15,0,0,7,248,3,8, - 5,8,9,0,9,16,17,240,31,16,33,0,33,0,65,4, - 243,248,10,15,30,11,0,252,15,64,48,192,64,64,128,64, - 128,0,128,0,128,0,128,0,64,64,49,128,14,0,4,0, - 14,0,2,0,28,0,9,15,30,10,0,0,32,0,16,0, - 8,0,0,0,255,0,65,0,64,0,64,0,66,0,126,0, - 66,0,64,0,64,0,64,128,255,0,9,15,30,10,0,0, - 2,0,4,0,8,0,0,0,255,0,65,0,65,0,64,0, - 66,0,126,0,66,0,64,0,64,0,64,128,255,0,9,15, - 30,10,0,0,8,0,20,0,34,0,0,0,255,0,65,0, - 64,0,64,0,66,0,126,0,66,0,64,0,64,0,64,128, - 255,0,9,14,28,10,0,0,36,0,36,0,0,0,255,0, - 65,0,64,0,64,0,66,0,126,0,66,0,64,0,64,0, - 64,128,255,0,4,15,15,5,255,0,128,64,32,0,112,32, - 32,32,32,32,32,32,32,32,112,5,15,15,5,0,0,8, - 16,32,0,224,64,64,64,64,64,64,64,64,64,224,5,15, - 15,5,255,0,32,80,136,0,112,32,32,32,32,32,32,32, - 32,32,112,3,14,14,5,0,0,160,160,0,224,64,64,64, - 64,64,64,64,64,64,224,10,11,22,12,1,0,252,0,67, - 0,64,128,64,64,64,64,248,64,64,64,64,64,64,128,67, - 0,252,0,10,14,28,12,0,0,13,0,22,0,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,15,30,12,1,0,32,0,16,0,8, - 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, - 128,128,128,65,0,99,0,28,0,9,15,30,12,1,0,2, - 0,4,0,8,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,15,30, - 12,1,0,8,0,20,0,34,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,14,28,12,1,0,26,0,44,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,9,14,28,12,1,0,34,0,34,0,0,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,7,7,9,1,0,130,68,40,16,40, - 68,130,11,13,26,12,0,255,0,64,14,64,49,128,65,64, - 130,32,132,32,132,32,136,32,144,32,80,64,49,128,78,0, - 64,0,10,15,30,12,0,0,16,0,8,0,4,0,0,0, - 225,192,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,33,0,30,0,10,15,30,12,0,0,1,0,2,0, - 4,0,0,0,225,192,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,15,30,12,0,0, - 4,0,10,0,17,0,0,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,14, - 28,12,0,0,18,0,18,0,0,0,225,192,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, - 11,15,30,12,0,0,0,128,1,0,2,0,0,0,224,224, - 64,64,32,128,17,0,17,0,10,0,4,0,4,0,4,0, - 4,0,14,0,8,11,11,9,0,0,224,64,124,66,65,65, - 66,124,64,64,224,7,11,11,8,0,0,56,68,68,68,72, - 88,68,66,66,82,204,7,12,12,7,1,0,64,32,16,0, - 112,136,136,56,200,136,154,100,7,12,12,7,1,0,8,16, - 32,0,112,136,136,56,200,136,154,100,7,12,12,7,1,0, - 32,80,136,0,112,136,136,56,200,136,154,100,7,11,11,7, - 1,0,104,176,0,112,136,136,56,200,136,154,100,7,11,11, - 7,1,0,72,72,0,112,136,136,56,200,136,154,100,7,12, - 12,7,1,0,32,80,80,32,112,136,136,56,200,136,154,100, - 9,8,16,11,1,0,115,0,140,128,136,128,63,128,200,0, - 136,0,156,128,99,0,6,12,12,7,0,252,56,68,132,128, - 128,128,68,56,16,56,8,112,6,12,12,7,0,0,64,32, - 16,0,56,68,132,252,128,128,68,56,6,12,12,7,0,0, - 4,8,16,0,56,68,132,252,128,128,68,56,6,12,12,7, - 0,0,16,40,68,0,56,68,132,252,128,128,68,56,6,11, - 11,7,0,0,72,72,0,56,68,132,252,128,128,68,56,3, - 12,12,5,0,0,128,64,32,0,64,192,64,64,64,64,64, - 224,3,12,12,5,0,0,32,64,128,0,64,192,64,64,64, - 64,64,224,5,12,12,5,255,0,32,80,136,0,32,96,32, - 32,32,32,32,112,3,11,11,5,0,0,160,160,0,64,192, - 64,64,64,64,64,224,7,11,11,8,0,0,108,48,200,60, - 68,130,130,130,130,68,56,8,11,11,8,255,0,52,88,0, - 92,230,66,66,66,66,66,231,7,12,12,8,0,0,32,16, - 8,0,56,68,130,130,130,130,68,56,7,12,12,8,0,0, - 4,8,16,0,56,68,130,130,130,130,68,56,7,12,12,8, - 0,0,16,40,68,0,56,68,130,130,130,130,68,56,7,11, - 11,8,0,0,52,88,0,56,68,130,130,130,130,68,56,7, - 11,11,8,0,0,72,72,0,56,68,130,130,130,130,68,56, - 9,9,18,9,255,0,8,0,8,0,0,0,0,0,255,128, - 0,0,0,0,8,0,8,0,7,12,12,8,0,254,2,2, - 60,68,138,146,146,162,100,56,64,64,8,12,12,8,255,0, - 32,16,8,0,198,66,66,66,66,66,70,59,8,12,12,8, - 255,0,4,8,16,0,198,66,66,66,66,66,70,59,8,12, - 12,8,255,0,16,40,68,0,198,66,66,66,66,66,70,59, - 8,11,11,8,255,0,36,36,0,198,66,66,66,66,66,70, - 59,8,16,16,8,255,252,2,4,8,0,247,66,66,36,36, - 20,8,8,16,16,160,192,8,15,15,8,255,252,64,192,64, - 92,98,65,65,65,65,98,92,64,64,64,224,8,15,15,8, - 255,252,36,36,0,247,66,98,36,52,20,24,8,16,16,160, - 192}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=15 x= 2 y= 8 dx=16 dy= 0 ascent=12 len=28 - Font Bounding box w=19 h=26 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR12r[1784] U8G_FONT_SECTION("u8g_font_timR12r") = { - 0,19,26,254,249,11,2,36,5,11,32,127,252,12,252,11, - 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, - 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, - 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, - 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, - 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, - 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, - 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, - 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, - 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, - 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, - 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, - 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, - 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, - 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, - 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, - 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, - 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, - 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, - 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, - 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, - 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, - 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, - 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, - 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, - 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, - 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, - 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, - 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, - 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, - 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, - 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, - 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, - 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, - 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, - 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, - 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, - 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, - 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, - 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, - 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, - 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, - 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, - 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, - 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, - 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, - 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, - 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, - 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, - 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, - 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, - 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, - 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, - 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, - 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, - 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, - 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, - 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, - 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, - 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, - 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, - 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, - 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, - 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, - 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, - 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, - 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, - 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, - 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, - 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, - 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, - 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, - 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, - 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, - 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, - 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, - 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, - 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, - 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, - 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, - 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, - 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, - 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, - 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, - 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, - 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, - 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, - 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, - 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, - 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, - 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, - 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, - 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, - 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, - 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, - 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, - 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, - 3,9,0,3,113,153,142,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=18 x= 2 y=10 dx=18 dy= 0 ascent=18 len=39 - Font Bounding box w=22 h=29 x=-3 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR14[4577] U8G_FONT_SECTION("u8g_font_timR14") = { - 0,22,29,253,249,13,2,131,6,16,32,255,252,18,252,13, - 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, - 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, - 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, - 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, - 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, - 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, - 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, - 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, - 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, - 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, - 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, - 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, - 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, - 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, - 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, - 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, - 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, - 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, - 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, - 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, - 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, - 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, - 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, - 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, - 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, - 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, - 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, - 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, - 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, - 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, - 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, - 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, - 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, - 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, - 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, - 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, - 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, - 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, - 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, - 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, - 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, - 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, - 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, - 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, - 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, - 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, - 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, - 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, - 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, - 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, - 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, - 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, - 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, - 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, - 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, - 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, - 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, - 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, - 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, - 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, - 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, - 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, - 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, - 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, - 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, - 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, - 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, - 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, - 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, - 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, - 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, - 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, - 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, - 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, - 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, - 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, - 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, - 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, - 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, - 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, - 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, - 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, - 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, - 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, - 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, - 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, - 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, - 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, - 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, - 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, - 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, - 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, - 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, - 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, - 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, - 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, - 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, - 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, - 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, - 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, - 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, - 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, - 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, - 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, - 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, - 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, - 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, - 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, - 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, - 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, - 11,1,3,48,0,121,128,207,0,6,0,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,5, - 0,1,2,13,13,4,1,252,192,192,0,0,128,128,128,192, - 192,192,192,192,192,7,14,14,9,1,253,6,4,60,110,200, - 216,208,208,240,114,124,64,192,128,10,13,26,11,0,0,15, - 0,25,128,25,128,24,0,24,0,24,0,126,0,24,0,24, - 0,16,0,120,64,191,192,231,128,9,7,14,11,1,3,221, - 128,247,128,99,0,65,0,99,0,247,128,221,128,8,13,13, - 9,0,0,247,98,98,118,52,52,126,24,126,24,24,24,126, - 1,13,13,3,1,0,128,128,128,128,128,0,0,0,128,128, - 128,128,128,8,16,16,10,1,253,60,102,102,112,56,124,142, - 199,227,113,62,28,14,102,102,60,5,2,2,5,0,10,216, - 216,13,13,26,15,1,0,15,128,48,96,64,16,71,144,136, - 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, - 128,5,8,8,5,0,5,96,144,16,112,144,232,0,248,8, - 7,7,10,1,1,17,51,102,204,102,51,17,9,5,10,11, - 1,2,255,128,255,128,1,128,1,128,1,128,5,2,2,6, - 0,3,248,248,13,13,26,15,1,0,15,128,48,96,64,16, - 95,16,136,136,136,136,143,8,137,8,136,136,92,208,64,16, - 48,96,15,128,5,2,2,5,0,10,248,248,5,5,5,7, - 1,8,112,136,136,136,112,8,11,11,10,1,0,24,24,24, - 255,255,24,24,24,0,255,255,5,8,8,6,0,5,112,152, - 24,16,32,32,64,248,5,8,8,6,0,5,112,136,24,112, - 24,8,136,112,4,3,3,4,0,10,48,96,128,9,13,26, - 9,255,252,231,0,99,0,99,0,99,0,99,0,99,0,99, - 0,119,0,123,128,64,0,64,0,96,0,96,0,7,17,17, - 8,1,252,62,116,244,244,244,244,244,116,20,20,20,20,20, - 20,20,20,20,2,2,2,4,1,4,192,192,4,5,5,6, - 1,252,32,32,16,176,112,3,8,8,6,1,5,64,192,64, - 64,64,64,64,224,5,8,8,6,0,5,112,216,136,136,216, - 112,0,248,8,7,7,10,1,1,136,204,102,51,102,204,136, - 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, - 68,64,76,192,233,64,27,64,50,64,39,224,96,64,64,64, - 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, - 69,192,78,96,232,96,24,64,48,128,32,128,97,0,67,224, - 13,13,26,13,255,0,112,32,136,96,24,64,112,192,25,128, - 9,16,139,48,114,80,6,208,12,144,9,248,24,16,16,16, - 6,13,13,8,1,252,48,48,0,16,16,48,96,96,192,204, - 140,196,120,13,17,34,14,1,0,24,0,12,0,2,0,0, - 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, - 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, - 0,0,192,1,128,2,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,13,17,34,14,1,0,2,0,7,0,13,128,0, - 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, - 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, - 0,12,128,31,128,19,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,13,16,32,14,1,0,13,128,13,128,0,0,2, - 0,7,0,7,0,5,0,13,128,9,128,25,192,16,192,31, - 192,48,224,32,96,96,112,240,248,13,18,36,14,1,0,6, - 0,9,0,9,0,6,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,15,13,26,17,1,0,15,252,7,140,5,132,5, - 128,13,128,9,136,25,248,31,136,17,128,49,128,33,130,97, - 134,247,254,11,17,34,13,1,252,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,4,0,2,0,22,0,14,0,9,17,34,12,1, - 0,48,0,24,0,4,0,0,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,17,34,12,1,0,3,0,6,0,8,0,0, - 0,255,128,97,128,96,128,96,0,96,0,97,0,127,0,97, - 0,96,0,96,0,96,128,97,128,255,128,9,17,34,12,1, - 0,8,0,28,0,54,0,0,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,16,32,12,1,0,54,0,54,0,0,0,255, - 128,97,128,96,128,96,0,96,0,97,0,127,0,97,0,96, - 0,96,0,96,128,97,128,255,128,6,17,17,6,255,0,192, - 96,16,0,60,24,24,24,24,24,24,24,24,24,24,24,60, - 6,17,17,6,1,0,12,24,32,0,240,96,96,96,96,96, - 96,96,96,96,96,96,240,5,17,17,6,1,0,32,112,216, - 0,240,96,96,96,96,96,96,96,96,96,96,96,240,5,16, - 16,6,1,0,216,216,0,240,96,96,96,96,96,96,96,96, - 96,96,96,240,12,13,26,13,0,0,127,128,49,192,48,96, - 48,96,48,48,48,48,252,48,48,48,48,48,48,96,48,96, - 49,192,127,128,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,224,112,96,32,112,32,120,32,92,32,76,32,78,32, - 71,32,67,160,65,224,64,224,64,96,224,32,12,17,34,14, - 1,0,48,0,24,0,4,0,0,0,15,0,48,192,96,96, - 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, - 48,192,15,0,12,17,34,14,1,0,0,192,1,128,2,0, - 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, - 192,48,192,48,96,96,96,96,48,192,15,0,12,17,34,14, - 1,0,4,0,14,0,27,0,0,0,15,0,48,192,96,96, - 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, - 48,192,15,0,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, - 192,48,192,48,96,96,96,96,48,192,15,0,12,16,32,14, - 1,0,27,0,27,0,0,0,15,0,48,192,96,96,96,96, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 15,0,8,7,7,10,1,1,195,102,60,24,60,102,195,12, - 15,30,14,1,255,0,48,15,96,48,192,96,224,97,160,195, - 48,195,48,198,48,204,48,204,48,88,96,112,96,48,192,111, - 0,192,0,11,17,34,14,2,0,48,0,24,0,4,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,112,192,57,128,31,0,11,17,34,14,2, - 0,0,192,1,128,2,0,0,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,112,192,57, - 128,31,0,11,17,34,14,2,0,4,0,14,0,27,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,112,192,57,128,31,0,11,16,32,14,2, - 0,27,0,27,0,0,0,240,224,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,112,192,57,128,31, - 0,12,17,34,14,1,0,0,192,1,128,2,0,0,0,240, - 240,112,96,48,192,24,128,25,0,15,0,6,0,6,0,6, - 0,6,0,6,0,6,0,15,0,9,13,26,10,1,0,240, - 0,96,0,96,0,127,0,99,128,97,128,97,128,97,128,99, - 0,126,0,96,0,96,0,240,0,8,13,13,9,0,0,28, - 50,99,99,102,110,124,102,99,99,107,111,238,7,13,13,9, - 1,0,192,96,16,0,120,200,204,28,108,204,204,252,102,7, - 13,13,9,1,0,12,24,32,0,120,200,204,28,108,204,204, - 252,102,7,13,13,9,1,0,16,56,108,0,120,200,204,28, - 108,204,204,252,102,7,13,13,9,1,0,100,252,152,0,120, - 200,204,28,108,204,204,252,102,7,12,12,9,1,0,108,108, - 0,120,200,204,28,108,204,204,252,102,7,14,14,9,1,0, - 48,72,72,48,0,120,200,204,28,108,204,204,252,102,11,9, - 18,12,0,0,123,192,206,96,204,32,31,224,108,0,204,0, - 204,0,254,96,99,192,7,13,13,8,0,252,60,102,192,192, - 192,192,192,102,60,16,8,88,56,7,13,13,8,0,0,192, - 96,16,0,60,102,194,254,192,192,192,102,60,7,13,13,8, - 0,0,6,12,16,0,60,102,194,254,192,192,192,102,60,7, - 13,13,8,0,0,16,56,108,0,60,102,194,254,192,192,192, - 102,60,7,12,12,8,0,0,108,108,0,60,102,194,254,192, - 192,192,102,60,6,13,13,5,254,0,192,96,16,0,24,56, - 24,24,24,24,24,24,60,6,13,13,5,0,0,12,24,32, - 0,96,224,96,96,96,96,96,96,240,5,13,13,5,0,0, - 32,112,216,0,96,224,96,96,96,96,96,96,240,5,12,12, - 5,0,0,216,216,0,96,224,96,96,96,96,96,96,240,8, - 13,13,9,0,0,96,54,56,76,62,102,195,195,195,195,195, - 102,60,9,13,26,10,0,0,50,0,126,0,76,0,0,0, - 102,0,239,0,115,0,99,0,99,0,99,0,99,0,99,0, - 243,128,8,13,13,9,0,0,48,24,4,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,0,6,12,16,0,60, - 102,195,195,195,195,195,102,60,8,13,13,9,0,0,16,56, - 108,0,60,102,195,195,195,195,195,102,60,8,13,13,9,0, - 0,50,126,76,0,60,102,195,195,195,195,195,102,60,8,12, - 12,9,0,0,108,108,0,60,102,195,195,195,195,195,102,60, - 8,8,8,10,1,1,24,24,0,255,255,0,24,24,8,11, - 11,9,0,255,1,63,102,207,203,219,211,243,102,124,192,9, - 13,26,10,0,0,96,0,48,0,8,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 13,26,10,0,0,6,0,12,0,16,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 13,26,10,0,0,8,0,28,0,54,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 12,24,10,0,0,54,0,54,0,0,0,231,0,99,0,99, - 0,99,0,99,0,99,0,99,0,119,0,59,128,8,17,17, - 8,255,252,3,6,8,0,243,99,114,50,54,28,28,12,8, - 24,16,240,224,8,17,17,9,0,252,96,224,96,96,110,119, - 99,99,99,99,99,118,124,96,96,96,240,8,16,16,9,0, - 252,54,54,0,243,99,114,50,54,28,28,12,8,24,16,240, - 224}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=10 dx=18 dy= 0 ascent=14 len=39 - Font Bounding box w=22 h=29 x=-3 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR14r[2156] U8G_FONT_SECTION("u8g_font_timR14r") = { - 0,22,29,253,249,13,2,131,6,16,32,127,252,14,252,13, - 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, - 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, - 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, - 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, - 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, - 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, - 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, - 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, - 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, - 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, - 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, - 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, - 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, - 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, - 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, - 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, - 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, - 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, - 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, - 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, - 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, - 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, - 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, - 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, - 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, - 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, - 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, - 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, - 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, - 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, - 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, - 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, - 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, - 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, - 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, - 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, - 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, - 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, - 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, - 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, - 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, - 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, - 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, - 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, - 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, - 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, - 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, - 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, - 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, - 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, - 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, - 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, - 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, - 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, - 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, - 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, - 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, - 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, - 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, - 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, - 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, - 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, - 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, - 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, - 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, - 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, - 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, - 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, - 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, - 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, - 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, - 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, - 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, - 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, - 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, - 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, - 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, - 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, - 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, - 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, - 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, - 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, - 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, - 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, - 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, - 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, - 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, - 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, - 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, - 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, - 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, - 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, - 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, - 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, - 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, - 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, - 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, - 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, - 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, - 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, - 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, - 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, - 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, - 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, - 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, - 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, - 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, - 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, - 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, - 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, - 11,1,3,48,0,121,128,207,0,6,0,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=23 x= 3 y=14 dx=23 dy= 0 ascent=23 len=69 - Font Bounding box w=29 h=37 x=-4 y=-9 - Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =17 descent=-6 - Max Font ascent =23 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR18[6850] U8G_FONT_SECTION("u8g_font_timR18") = { - 0,29,37,252,247,17,4,9,8,241,32,255,250,23,250,17, - 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, - 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, - 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, - 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, - 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, - 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, - 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, - 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, - 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, - 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, - 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, - 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, - 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, - 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, - 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, - 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, - 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, - 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, - 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, - 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, - 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, - 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, - 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, - 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, - 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, - 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, - 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, - 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, - 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, - 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, - 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, - 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, - 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, - 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, - 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, - 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, - 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, - 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, - 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, - 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, - 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, - 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, - 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, - 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, - 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, - 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, - 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, - 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, - 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, - 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, - 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, - 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, - 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, - 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, - 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, - 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, - 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, - 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, - 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, - 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, - 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, - 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, - 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, - 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, - 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, - 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, - 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, - 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, - 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, - 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, - 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, - 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, - 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, - 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, - 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, - 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, - 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, - 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, - 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, - 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, - 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, - 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, - 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, - 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, - 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, - 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, - 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, - 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, - 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, - 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, - 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, - 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, - 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, - 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, - 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, - 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, - 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, - 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, - 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, - 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, - 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, - 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, - 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, - 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, - 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, - 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, - 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, - 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, - 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, - 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, - 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, - 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, - 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, - 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, - 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, - 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, - 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, - 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, - 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, - 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, - 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, - 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, - 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, - 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, - 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, - 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, - 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, - 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, - 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, - 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, - 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, - 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, - 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, - 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, - 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, - 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, - 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, - 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, - 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, - 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, - 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, - 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, - 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, - 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, - 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, - 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, - 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, - 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, - 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, - 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, - 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, - 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, - 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, - 32,124,96,199,192,131,128,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,1,3,17, - 17,8,3,251,96,96,0,0,0,64,64,64,64,224,224,224, - 224,224,224,224,64,9,16,32,12,1,254,2,0,2,0,15, - 0,51,128,101,128,196,0,196,0,200,0,200,0,200,0,208, - 0,112,128,113,0,62,0,64,0,64,0,10,17,34,12,1, - 0,15,0,25,128,49,128,48,0,48,0,48,0,48,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,64,190, - 192,231,128,11,12,24,13,1,3,192,96,238,224,127,192,49, - 128,96,192,96,192,96,192,96,192,49,128,127,192,238,224,192, - 96,14,17,34,14,0,0,248,124,112,48,48,32,24,96,24, - 64,12,192,12,128,7,128,3,0,31,224,3,0,31,224,3, - 0,3,0,3,0,3,0,15,192,2,17,17,6,2,0,192, - 192,192,192,192,192,192,0,0,0,192,192,192,192,192,192,192, - 8,20,20,12,2,253,28,38,70,96,112,56,60,78,135,131, - 195,226,116,56,28,14,6,98,100,56,6,2,2,8,1,14, - 204,204,17,17,51,19,1,0,7,240,0,28,28,0,48,6, - 0,97,227,0,71,49,0,196,25,128,140,0,128,136,0,128, - 136,0,128,136,0,128,140,0,128,196,25,128,71,113,0,97, - 195,0,48,6,0,28,28,0,7,240,0,7,9,9,8,0, - 8,120,204,12,124,204,204,118,0,254,9,10,20,13,1,1, - 8,128,25,128,51,0,102,0,204,0,204,0,102,0,51,0, - 25,128,8,128,11,7,14,15,2,1,255,224,255,224,0,96, - 0,96,0,96,0,96,0,96,6,2,2,8,0,5,252,252, - 17,17,51,19,1,0,7,240,0,28,28,0,48,6,0,103, - 227,0,66,49,0,194,17,128,130,16,128,130,48,128,131,224, - 128,130,64,128,130,32,128,194,49,128,71,25,0,96,3,0, - 48,6,0,28,28,0,7,240,0,7,2,2,8,1,14,254, - 254,7,7,7,9,1,10,56,68,130,130,130,68,56,10,11, - 22,14,2,0,12,0,12,0,12,0,255,192,255,192,12,0, - 12,0,12,0,0,0,255,192,255,192,6,10,10,7,0,7, - 56,76,140,12,8,16,48,32,68,252,6,10,10,7,0,7, - 56,76,140,8,48,8,12,140,136,112,5,4,4,8,2,13, - 24,56,112,192,11,17,34,13,1,251,225,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,113,192,126,192, - 92,224,64,0,192,0,192,0,224,0,64,0,9,21,42,11, - 1,252,31,128,57,0,121,0,121,0,249,0,249,0,249,0, - 121,0,121,0,57,0,25,0,9,0,9,0,9,0,9,0, - 9,0,9,0,9,0,9,0,9,0,9,0,2,3,3,6, - 2,5,192,192,192,6,6,6,8,1,250,16,48,60,12,204, - 120,5,10,10,7,1,7,32,96,160,32,32,32,32,32,32, - 248,7,9,9,8,0,8,56,68,198,198,198,68,56,0,254, - 9,10,20,12,2,1,136,0,204,0,102,0,51,0,25,128, - 25,128,51,0,102,0,204,0,136,0,16,17,34,18,1,0, - 32,24,96,24,160,48,32,96,32,96,32,192,32,192,33,132, - 35,12,251,28,6,20,6,36,12,100,24,68,24,255,48,4, - 48,4,15,17,34,18,1,0,32,24,96,24,160,48,32,96, - 32,96,32,192,32,192,33,156,35,38,251,70,6,6,6,4, - 12,8,24,24,24,16,48,34,48,126,17,17,51,18,0,0, - 56,12,0,76,12,0,140,24,0,8,48,0,48,48,0,8, - 96,0,12,96,0,140,194,0,137,134,0,113,142,0,3,10, - 0,3,18,0,6,50,0,12,34,0,12,127,128,24,2,0, - 24,2,0,8,17,17,11,1,251,12,12,0,0,8,8,24, - 24,56,48,112,224,195,195,193,99,62,17,22,66,17,0,0, - 12,0,0,14,0,0,7,0,0,1,128,0,0,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,17,22,66,17,0,0,0,24,0,0,56,0,0,112, - 0,0,192,0,0,0,0,0,128,0,1,192,0,1,192,0, - 1,96,0,2,96,0,2,48,0,6,48,0,4,48,0,4, - 24,0,12,24,0,15,248,0,8,12,0,24,12,0,16,12, - 0,16,6,0,48,6,0,252,31,128,17,22,66,17,0,0, - 1,128,0,3,192,0,6,96,0,4,32,0,0,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,17,21,63,17,0,0,3,32,0,7,224,0,4,192, - 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, - 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, - 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, - 0,48,6,0,252,31,128,17,21,63,17,0,0,6,96,0, - 6,96,0,0,0,0,0,0,0,0,128,0,1,192,0,1, - 192,0,1,96,0,2,96,0,2,48,0,6,48,0,4,48, - 0,4,24,0,12,24,0,15,248,0,8,12,0,24,12,0, - 16,12,0,16,6,0,48,6,0,252,31,128,17,23,69,17, - 0,0,1,192,0,2,32,0,2,32,0,2,32,0,1,192, - 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, - 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, - 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, - 0,48,6,0,252,31,128,21,17,51,22,0,0,3,255,240, - 0,240,48,1,176,16,1,48,16,3,48,0,2,48,0,6, - 48,64,4,48,64,4,63,192,12,48,64,15,240,64,8,48, - 0,24,48,0,16,48,8,48,48,8,32,48,24,248,255,248, - 14,23,46,16,1,250,7,228,28,60,56,12,96,4,96,4, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,4,56,8,30,56,7,224,1,0,3,0,3,192,0,192, - 12,192,7,128,13,22,44,15,1,0,24,0,28,0,14,0, - 3,0,0,0,255,240,48,48,48,16,48,16,48,0,48,0, - 48,64,48,64,63,192,48,64,48,64,48,0,48,0,48,8, - 48,8,48,24,255,248,13,22,44,15,1,0,0,96,0,224, - 1,192,3,0,0,0,255,240,48,48,48,16,48,16,48,0, - 48,0,48,64,48,64,63,192,48,64,48,64,48,0,48,0, - 48,8,48,8,48,24,255,248,13,22,44,15,1,0,6,0, - 15,0,25,128,16,128,0,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, - 48,0,48,8,48,8,48,24,255,248,13,21,42,15,1,0, - 25,128,25,128,0,0,0,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, - 48,0,48,8,48,8,48,24,255,248,7,22,22,8,0,0, - 192,224,112,24,0,126,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,126,7,22,22,8,1,0,6,14,28,48, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,6,22,22,8,1,0,48,120,204,132,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,6,21, - 21,8,1,0,204,204,0,0,252,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,16,17,34,17,0,0,127, - 224,24,56,24,28,24,6,24,6,24,3,24,3,255,3,255, - 3,24,3,24,3,24,3,24,6,24,6,24,28,24,56,127, - 224,16,21,42,18,1,0,3,32,7,224,4,192,0,0,240, - 31,48,4,56,4,56,4,44,4,38,4,38,4,35,4,33, - 132,33,132,32,196,32,100,32,100,32,52,32,28,32,28,248, - 12,16,22,44,18,1,0,12,0,14,0,7,0,1,128,0, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,16,22,44,18,1,0,0,48,0,112,0,224,1, - 128,0,0,7,224,28,56,56,28,96,6,96,6,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,96,6,96,6,56, - 28,28,56,7,224,16,22,44,18,1,0,1,128,3,192,6, - 96,4,32,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,16,21,42,18,1,0,3,32,7, - 224,4,192,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,16,21,42,18,1,0,6,96,6, - 96,0,0,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,10,9,18,12,1,1,192,192,97, - 128,51,0,30,0,12,0,30,0,51,0,97,128,192,192,16, - 19,38,18,1,255,0,4,7,228,28,56,56,28,96,38,96, - 70,192,67,192,131,192,131,193,3,193,3,194,3,194,3,100, - 6,104,6,56,28,28,56,39,224,32,0,16,22,44,18,1, - 0,6,0,7,0,3,128,0,192,0,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,16,22,44, - 18,1,0,0,48,0,112,0,224,1,128,0,0,252,31,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,8,24,8,28,48,7,224,16, - 22,44,18,1,0,1,128,3,192,6,96,4,32,0,0,252, - 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, - 224,16,21,42,18,1,0,6,96,6,96,0,0,0,0,252, - 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, - 224,16,22,44,18,1,0,0,48,0,112,0,224,1,128,0, - 0,252,63,48,12,56,8,24,24,28,16,12,48,6,32,6, - 96,3,64,3,192,1,128,1,128,1,128,1,128,1,128,1, - 128,7,224,13,17,34,15,1,0,252,0,48,0,48,0,48, - 0,63,192,48,112,48,48,48,24,48,24,48,24,48,48,48, - 112,63,192,48,0,48,0,48,0,252,0,10,17,34,12,1, - 0,30,0,51,0,97,128,97,128,97,128,97,128,99,0,108, - 0,103,0,99,128,97,128,97,192,96,192,96,192,108,192,108, - 128,231,0,9,17,34,11,1,0,96,0,112,0,56,0,12, - 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, - 0,195,0,195,0,199,0,251,0,113,128,9,17,34,11,1, - 0,3,0,7,0,14,0,24,0,0,0,62,0,103,0,99, - 0,3,0,15,0,59,0,99,0,195,0,195,0,199,0,251, - 0,113,128,9,17,34,11,1,0,12,0,30,0,51,0,33, - 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, - 0,195,0,195,0,199,0,251,0,113,128,9,16,32,11,1, - 0,50,0,126,0,76,0,0,0,62,0,103,0,99,0,3, - 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, - 128,9,16,32,11,1,0,102,0,102,0,0,0,0,0,62, - 0,103,0,99,0,3,0,15,0,59,0,99,0,195,0,195, - 0,199,0,251,0,113,128,9,18,36,11,1,0,28,0,34, - 0,34,0,34,0,28,0,0,0,62,0,103,0,99,0,3, - 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, - 128,14,12,24,16,1,0,60,240,103,152,99,12,3,12,15, - 252,59,0,99,0,195,0,195,0,199,132,251,248,112,240,9, - 18,36,11,1,250,31,0,99,128,65,128,192,0,192,0,192, - 0,192,0,192,0,224,0,112,128,127,0,30,0,8,0,24, - 0,30,0,6,0,102,0,60,0,9,17,34,11,1,0,96, - 0,112,0,56,0,12,0,0,0,30,0,99,0,65,128,193, - 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, - 0,9,17,34,11,1,0,3,0,7,0,14,0,24,0,0, - 0,30,0,99,0,65,128,193,128,255,128,192,0,192,0,192, - 0,224,0,112,128,127,0,30,0,9,17,34,11,1,0,12, - 0,30,0,51,0,33,0,0,0,30,0,99,0,65,128,193, - 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, - 0,9,16,32,11,1,0,51,0,51,0,0,0,0,0,30, - 0,99,0,65,128,193,128,255,128,192,0,192,0,192,0,224, - 0,112,128,127,0,30,0,6,17,17,6,255,0,192,224,112, - 24,0,56,24,24,24,24,24,24,24,24,24,24,60,5,17, - 17,6,1,0,24,56,112,192,0,96,224,96,96,96,96,96, - 96,96,96,96,240,6,17,17,6,0,0,48,120,204,132,0, - 48,112,48,48,48,48,48,48,48,48,48,120,6,16,16,6, - 0,0,204,204,0,0,112,48,48,48,48,48,48,48,48,48, - 48,120,10,17,34,12,1,0,192,0,113,128,30,0,60,0, - 198,0,31,0,115,128,97,128,192,192,192,192,192,192,192,192, - 192,192,192,192,97,128,115,128,30,0,11,16,32,13,1,0, - 25,0,63,0,38,0,0,0,103,0,239,128,113,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,241,224, - 10,17,34,12,1,0,96,0,112,0,56,0,12,0,0,0, - 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,17,34,12,1,0,3,0, - 7,0,14,0,24,0,0,0,30,0,115,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, - 10,17,34,12,1,0,12,0,30,0,51,0,33,0,0,0, - 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,16,32,12,1,0,25,0, - 63,0,38,0,0,0,30,0,115,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,16, - 32,12,1,0,51,0,51,0,0,0,0,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, - 115,128,30,0,10,10,20,12,1,1,12,0,12,0,0,0, - 0,0,255,192,255,192,0,0,0,0,12,0,12,0,10,14, - 28,12,1,255,0,192,30,192,115,128,99,128,198,192,196,192, - 204,192,200,192,216,192,208,192,113,128,115,128,222,0,192,0, - 11,17,34,13,1,0,96,0,112,0,56,0,12,0,0,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,17,34,13,1,0,1,128, - 3,128,7,0,12,0,0,0,225,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,192,62,192,28,224, - 11,17,34,13,1,0,12,0,30,0,51,0,33,0,0,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,16,32,13,1,0,51,0, - 51,0,0,0,0,0,225,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,113,192,62,192,28,224,11,22, - 44,11,0,251,1,128,3,128,7,0,12,0,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,12,0,8,0,24,0,240,0,224,0, - 10,22,44,12,1,251,96,0,224,0,96,0,96,0,96,0, - 110,0,115,128,97,128,96,192,96,192,96,192,96,192,96,192, - 96,192,97,128,115,128,110,0,96,0,96,0,96,0,96,0, - 240,0,11,21,42,11,0,251,51,0,51,0,0,0,0,0, - 241,224,96,192,96,128,48,128,48,128,49,0,25,0,25,0, - 26,0,14,0,14,0,4,0,12,0,8,0,24,0,240,0, - 224,0}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=23 x= 3 y=13 dx=23 dy= 0 ascent=19 len=60 - Font Bounding box w=29 h=37 x=-4 y=-9 - Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =17 descent=-6 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR18r[3208] U8G_FONT_SECTION("u8g_font_timR18r") = { - 0,29,37,252,247,17,4,9,8,241,32,127,250,19,250,17, - 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, - 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, - 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, - 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, - 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, - 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, - 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, - 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, - 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, - 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, - 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, - 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, - 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, - 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, - 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, - 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, - 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, - 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, - 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, - 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, - 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, - 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, - 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, - 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, - 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, - 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, - 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, - 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, - 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, - 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, - 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, - 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, - 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, - 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, - 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, - 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, - 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, - 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, - 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, - 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, - 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, - 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, - 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, - 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, - 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, - 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, - 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, - 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, - 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, - 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, - 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, - 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, - 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, - 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, - 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, - 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, - 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, - 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, - 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, - 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, - 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, - 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, - 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, - 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, - 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, - 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, - 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, - 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, - 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, - 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, - 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, - 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, - 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, - 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, - 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, - 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, - 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, - 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, - 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, - 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, - 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, - 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, - 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, - 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, - 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, - 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, - 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, - 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, - 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, - 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, - 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, - 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, - 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, - 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, - 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, - 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, - 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, - 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, - 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, - 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, - 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, - 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, - 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, - 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, - 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, - 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, - 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, - 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, - 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, - 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, - 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, - 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, - 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, - 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, - 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, - 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, - 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, - 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, - 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, - 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, - 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, - 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, - 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, - 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, - 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, - 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, - 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, - 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, - 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, - 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, - 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, - 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, - 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, - 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, - 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, - 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, - 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, - 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, - 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, - 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, - 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, - 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, - 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, - 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, - 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, - 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, - 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, - 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, - 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, - 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, - 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, - 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, - 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, - 32,124,96,199,192,131,128,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=31 h=30 x= 4 y=18 dx=32 dy= 0 ascent=30 len=112 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =30 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24[10419] U8G_FONT_SECTION("u8g_font_timR24") = { - 0,38,48,251,245,23,5,140,13,213,32,255,249,30,249,23, - 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, - 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, - 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, - 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, - 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, - 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, - 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, - 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, - 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, - 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, - 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, - 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, - 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, - 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, - 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, - 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, - 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, - 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, - 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, - 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, - 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, - 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, - 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, - 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, - 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, - 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, - 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, - 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, - 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, - 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, - 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, - 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, - 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, - 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, - 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, - 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, - 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, - 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, - 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, - 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, - 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, - 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, - 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, - 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, - 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, - 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, - 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, - 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, - 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, - 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, - 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, - 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, - 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, - 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, - 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, - 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, - 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, - 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, - 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, - 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, - 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, - 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, - 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, - 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, - 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, - 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, - 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, - 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, - 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, - 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, - 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, - 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, - 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, - 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, - 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, - 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, - 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, - 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, - 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, - 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, - 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, - 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, - 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, - 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, - 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, - 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, - 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, - 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, - 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, - 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, - 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, - 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, - 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, - 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, - 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, - 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, - 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, - 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, - 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, - 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, - 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, - 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, - 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, - 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, - 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, - 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, - 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, - 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, - 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, - 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, - 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, - 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, - 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, - 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, - 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, - 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, - 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, - 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, - 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, - 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, - 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, - 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, - 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, - 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, - 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, - 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, - 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, - 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, - 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, - 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, - 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, - 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, - 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, - 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, - 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, - 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, - 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, - 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, - 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, - 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, - 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, - 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, - 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, - 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, - 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, - 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, - 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, - 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, - 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, - 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, - 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, - 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, - 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, - 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, - 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, - 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, - 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, - 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, - 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, - 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, - 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, - 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, - 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, - 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, - 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, - 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, - 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, - 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, - 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, - 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, - 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, - 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, - 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, - 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, - 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, - 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, - 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, - 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, - 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, - 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, - 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, - 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, - 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, - 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, - 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, - 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, - 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, - 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, - 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, - 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, - 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, - 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, - 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, - 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, - 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, - 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, - 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, - 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, - 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, - 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, - 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, - 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, - 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, - 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, - 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, - 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, - 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, - 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, - 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, - 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, - 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, - 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, - 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, - 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, - 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, - 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, - 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, - 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, - 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, - 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, - 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, - 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, - 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, - 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, - 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, - 18,1,7,62,3,127,135,225,254,192,124,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,8, - 0,1,4,22,22,11,3,249,96,240,240,96,0,0,96,96, - 96,96,96,96,96,96,96,96,96,240,240,240,240,96,12,23, - 46,17,2,252,0,64,0,64,0,128,0,128,15,128,56,224, - 113,112,97,112,225,48,195,0,194,0,194,0,230,0,228,0, - 116,16,124,48,63,224,31,192,31,0,16,0,48,0,32,0, - 32,0,15,23,46,17,1,0,1,240,3,152,6,28,6,28, - 14,24,14,0,14,0,14,0,14,0,14,0,255,224,255,224, - 15,0,7,0,7,0,7,0,7,0,6,0,6,2,126,6, - 199,252,207,248,120,240,16,17,34,17,0,3,199,227,255,255, - 62,124,120,30,112,14,224,7,224,7,192,3,192,3,192,3, - 224,7,224,7,112,14,120,30,62,124,255,255,199,227,17,23, - 69,17,0,0,254,31,128,120,7,0,56,6,0,60,4,0, - 28,12,0,30,8,0,14,24,0,15,16,0,7,48,0,7, - 160,0,3,224,0,3,192,0,63,254,0,1,192,0,1,192, - 0,1,192,0,63,254,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,7,240,0,2,23,23,7,2,0,192, - 192,192,192,192,192,192,192,192,0,0,0,0,0,192,192,192, - 192,192,192,192,192,192,12,28,56,17,2,251,31,128,49,192, - 97,192,97,192,113,128,56,0,60,0,30,0,15,0,63,128, - 99,192,193,224,192,224,192,112,224,48,112,48,120,48,60,96, - 31,192,15,0,7,128,3,192,1,192,24,224,56,96,56,96, - 56,192,31,128,9,3,6,11,1,18,227,128,227,128,227,128, - 22,23,69,25,1,0,0,252,0,3,255,0,14,1,192,24, - 0,96,48,0,48,96,0,24,96,127,24,193,199,12,195,131, - 12,195,1,12,199,0,12,199,0,12,199,0,12,199,0,12, - 199,128,12,67,129,24,97,230,24,96,124,48,48,0,48,24, - 0,96,14,1,192,7,255,0,1,252,0,9,13,26,9,0, - 10,60,0,78,0,198,0,198,0,30,0,102,0,198,0,198, - 0,239,128,123,0,0,0,0,0,255,0,13,13,26,17,1, - 1,2,8,6,24,12,48,24,96,56,224,113,192,227,128,113, - 192,56,224,24,96,12,48,6,24,2,8,16,9,18,18,1, - 4,255,255,255,255,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,8,2,2,11,1,7,255,255,22,23,69,25,1, - 0,0,254,0,3,255,0,14,1,192,24,0,96,48,0,48, - 35,252,24,96,199,24,192,195,12,192,195,12,192,195,12,192, - 198,12,192,248,12,192,220,12,192,204,12,192,206,12,64,198, - 8,96,199,24,35,227,208,48,0,48,24,0,96,14,1,192, - 3,255,0,0,252,0,10,2,4,11,0,18,255,192,255,192, - 10,10,20,13,1,13,30,0,63,0,97,128,192,192,192,192, - 192,192,192,192,97,128,63,0,30,0,16,20,40,19,1,0, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, - 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,0,0,255,255,255,255,9,14,28,10,0,9,60,0, - 78,0,135,0,3,0,3,0,7,0,6,0,12,0,24,0, - 16,0,32,0,64,128,255,0,254,0,9,14,28,10,0,9, - 62,0,71,0,131,0,3,0,3,0,6,0,60,0,7,0, - 3,128,1,128,1,128,193,128,227,0,126,0,7,6,6,11, - 3,17,6,14,28,48,96,192,16,22,44,17,0,249,248,124, - 56,28,56,28,56,28,56,28,56,28,56,28,56,28,56,28, - 56,28,56,28,56,60,60,124,63,223,47,152,32,0,112,0, - 112,0,112,0,112,0,112,0,32,0,13,29,58,15,1,250, - 7,248,30,32,62,32,126,32,126,32,254,32,254,32,254,32, - 254,32,126,32,126,32,62,32,30,32,14,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,4,4,4,8,2,7, - 96,240,240,96,6,7,7,11,2,249,32,96,120,28,12,28, - 248,6,14,14,10,2,9,48,240,48,48,48,48,48,48,48, - 48,48,48,48,252,9,13,26,10,0,10,62,0,99,0,195, - 128,193,128,193,128,193,128,193,128,225,128,99,0,62,0,0, - 0,0,0,255,128,13,13,26,16,2,1,130,0,195,0,97, - 128,48,192,56,224,28,112,14,56,28,112,56,224,48,192,97, - 128,195,0,130,0,22,23,69,25,2,0,48,0,96,240,0, - 96,48,0,192,48,1,192,48,1,128,48,3,0,48,3,0, - 48,6,0,48,14,0,48,12,16,48,24,48,48,24,112,48, - 48,112,252,96,240,0,97,176,0,193,48,1,194,48,1,134, - 48,3,12,48,3,31,252,6,0,48,12,0,48,12,0,48, - 23,23,69,25,1,0,48,0,192,240,0,192,48,1,128,48, - 3,128,48,3,0,48,6,0,48,6,0,48,12,0,48,28, - 0,48,24,240,48,49,56,48,50,28,48,96,12,252,224,12, - 0,192,28,1,128,24,3,128,48,3,0,96,6,0,64,6, - 0,128,12,1,2,24,3,252,24,3,248,24,23,69,25,0, - 0,62,0,24,71,0,24,131,0,48,3,0,112,3,0,96, - 6,0,192,60,0,192,7,1,128,3,131,128,1,131,4,1, - 134,12,193,134,28,227,12,28,126,24,60,0,24,108,0,48, - 76,0,112,140,0,97,140,0,195,12,0,199,255,1,128,12, - 3,0,12,3,0,12,11,22,44,14,1,249,6,0,15,0, - 15,0,6,0,0,0,2,0,2,0,6,0,4,0,12,0, - 24,0,56,0,48,0,112,0,112,0,224,192,224,224,224,224, - 112,96,112,96,57,192,31,0,22,30,90,24,1,0,6,0, - 0,7,0,0,3,128,0,0,192,0,0,96,0,0,48,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,1, - 128,0,3,128,0,7,0,0,12,0,0,24,0,0,48,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,48, - 0,0,120,0,0,252,0,1,206,0,3,3,0,2,1,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,28,84,24,1,0,0,224, - 128,1,249,128,3,63,0,2,14,0,0,0,0,0,48,0, - 0,48,0,0,112,0,0,120,0,0,120,0,0,252,0,0, - 220,0,0,156,0,1,142,0,1,14,0,3,15,0,3,7, - 0,2,7,0,6,7,128,6,3,128,15,255,192,12,3,192, - 24,1,192,24,1,224,48,1,224,48,0,240,112,0,240,252, - 3,252,22,28,84,24,1,0,1,199,0,1,199,0,1,199, - 0,0,0,0,0,0,0,0,48,0,0,48,0,0,112,0, - 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, - 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, - 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, - 48,1,224,48,0,240,112,0,240,252,3,252,22,30,90,24, - 1,0,0,112,0,0,248,0,1,140,0,1,4,0,1,140, - 0,0,248,0,0,112,0,0,0,0,0,48,0,0,48,0, - 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, - 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, - 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, - 48,1,224,48,0,240,112,0,240,252,3,252,28,23,92,30, - 1,0,0,255,255,224,0,31,129,224,0,31,0,96,0,55, - 0,32,0,55,0,32,0,103,0,0,0,103,0,0,0,71, - 0,128,0,199,0,128,0,199,1,128,1,135,3,128,1,135, - 255,128,3,7,3,128,3,7,1,128,7,255,0,128,6,7, - 0,128,12,7,0,0,12,7,0,16,24,7,0,16,24,7, - 0,48,48,7,0,96,48,15,129,224,254,63,255,224,20,30, - 90,22,1,249,1,255,16,7,131,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,16,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,56,0,0,56,0,16,28,0,48, - 14,0,96,7,131,192,1,255,0,0,64,0,0,192,0,0, - 240,0,0,56,0,0,24,0,0,56,0,1,240,0,19,30, - 90,20,1,0,3,0,0,3,128,0,1,192,0,0,96,0, - 0,48,0,0,24,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, - 90,20,1,0,0,6,0,0,14,0,0,28,0,0,48,0, - 0,96,0,0,192,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, - 90,20,1,0,0,48,0,0,120,0,0,252,0,1,206,0, - 3,3,0,2,1,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,28, - 84,20,1,0,3,142,0,3,142,0,3,142,0,0,0,0, - 0,0,0,255,255,192,62,3,192,28,0,192,28,0,64,28, - 0,64,28,0,0,28,0,0,28,0,0,28,1,0,28,1, - 0,28,3,0,31,255,0,28,3,0,28,1,0,28,1,0, - 28,0,0,28,0,0,28,0,32,28,0,32,28,0,96,28, - 0,192,62,3,192,255,255,192,9,30,60,11,1,0,96,0, - 112,0,56,0,12,0,6,0,3,0,0,0,255,128,62,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,62,0,255,128,9,30,60,11,1,0, - 1,128,3,128,7,0,12,0,24,0,48,0,0,0,255,128, - 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,10,30,60,11, - 1,0,12,0,30,0,63,0,115,128,192,192,128,64,0,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,9,28, - 56,11,1,0,227,128,227,128,227,128,0,0,0,0,255,128, - 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,22,23,69,24, - 1,0,255,254,0,62,7,128,28,1,192,28,0,224,28,0, - 112,28,0,112,28,0,56,28,0,56,28,0,60,28,0,60, - 28,0,60,255,192,60,255,192,60,28,0,60,28,0,60,28, - 0,56,28,0,56,28,0,112,28,0,112,28,0,224,28,1, - 192,62,7,128,255,254,0,22,29,87,24,1,0,0,224,128, - 1,249,128,3,63,0,2,14,0,0,0,0,0,0,0,248, - 1,252,60,0,112,30,0,32,31,0,32,31,0,32,23,128, - 32,19,192,32,19,192,32,17,224,32,16,240,32,16,248,32, - 16,120,32,16,60,32,16,30,32,16,31,32,16,15,32,16, - 7,160,16,3,224,16,1,224,16,1,224,16,0,224,56,0, - 96,254,0,32,22,30,90,24,1,0,3,0,0,3,128,0, - 1,192,0,0,96,0,0,48,0,0,24,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,30,90,24,1,0,0,1,128,0,3,128, - 0,7,0,0,12,0,0,24,0,0,48,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,30,90,24,1,0,0,48,0,0,120,0, - 0,252,0,1,206,0,3,3,0,2,1,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,28,84,24,1,0,0,224,128,1,249,128, - 3,63,0,2,14,0,0,0,0,1,254,0,7,135,128,14, - 1,192,28,0,224,56,0,112,56,0,112,112,0,56,112,0, - 56,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,112,0,56,112,0,56,56,0,112,56, - 0,112,28,0,224,14,1,192,7,135,128,1,254,0,22,28, - 84,24,1,0,1,199,0,1,199,0,1,199,0,0,0,0, - 0,0,0,1,254,0,7,135,128,14,1,192,28,0,224,56, - 0,112,56,0,112,112,0,56,112,0,56,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, - 112,0,56,112,0,56,56,0,112,56,0,112,28,0,224,14, - 1,192,7,135,128,1,254,0,16,16,32,19,1,0,64,2, - 224,7,112,14,56,28,28,56,14,112,7,224,3,192,3,192, - 7,224,14,112,28,56,56,28,112,14,224,7,64,2,22,27, - 81,24,1,254,0,0,16,0,0,48,1,254,96,7,135,192, - 14,1,192,28,1,224,56,3,112,56,2,112,112,6,56,112, - 12,56,240,8,60,240,24,60,240,48,60,240,96,60,240,64, - 60,240,192,60,240,128,60,113,128,56,115,0,56,58,0,112, - 62,0,112,28,0,224,30,1,192,55,135,128,33,254,0,96, - 0,0,64,0,0,22,30,90,24,1,0,0,192,0,0,224, - 0,0,112,0,0,24,0,0,12,0,0,6,0,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,30,90,24,1,0,0,1,128,0,3, - 128,0,7,0,0,12,0,0,24,0,0,48,0,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,30,90,24,1,0,0,24,0,0,60, - 0,0,126,0,0,231,0,1,129,128,1,0,128,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,28,84,24,1,0,1,199,0,1,199, - 0,1,199,0,0,0,0,0,0,0,255,129,252,62,0,112, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,96, - 30,0,96,14,0,64,15,0,192,7,195,128,1,254,0,22, - 30,90,24,1,0,0,0,192,0,1,192,0,3,128,0,6, - 0,0,12,0,0,24,0,0,0,0,255,192,252,63,0,56, - 30,0,48,15,0,96,15,128,192,7,128,128,3,193,128,3, - 195,0,1,227,0,0,246,0,0,252,0,0,124,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,124,0,1,255,0,18, - 23,69,19,1,0,255,128,0,62,0,0,28,0,0,28,0, - 0,28,0,0,31,252,0,28,31,0,28,7,128,28,3,128, - 28,3,192,28,1,192,28,1,192,28,1,192,28,3,192,28, - 3,128,28,7,128,28,31,0,31,252,0,28,0,0,28,0, - 0,28,0,0,62,0,0,255,128,0,15,23,46,17,1,0, - 7,192,12,112,24,56,24,56,56,56,56,56,56,56,56,56, - 56,48,56,96,57,192,56,120,56,28,56,30,56,14,56,14, - 56,14,56,14,56,14,59,12,59,156,59,152,249,240,13,23, - 46,15,1,0,24,0,28,0,14,0,3,0,1,128,0,192, - 0,0,0,0,31,128,49,192,112,224,112,224,96,224,3,224, - 14,224,24,224,48,224,96,224,224,224,225,224,242,232,126,248, - 60,112,13,23,46,15,1,0,0,192,1,192,3,128,6,0, - 12,0,24,0,0,0,0,0,31,128,49,192,112,224,112,224, - 96,224,3,224,14,224,24,224,48,224,96,224,224,224,225,224, - 242,232,126,248,60,112,13,23,46,15,1,0,6,0,15,0, - 31,128,57,192,96,96,64,32,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, - 28,16,62,48,99,224,65,192,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, - 56,224,56,224,56,224,0,0,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,23,46,15,1,0, - 7,0,15,128,24,192,16,64,24,192,15,128,7,0,0,0, - 31,128,49,192,112,224,112,224,96,224,3,224,14,224,24,224, - 48,224,96,224,224,224,225,224,242,232,126,248,60,112,19,15, - 45,22,1,0,31,159,0,49,249,192,112,224,192,112,224,224, - 96,224,224,3,255,224,14,224,0,24,224,0,48,224,0,96, - 224,0,224,224,32,225,240,96,243,120,192,126,63,128,60,31, - 0,12,22,44,15,1,249,15,128,56,192,112,224,96,224,224, - 96,192,0,192,0,192,0,192,0,224,0,224,16,112,48,124, - 96,63,192,15,0,4,0,12,0,15,0,3,128,1,128,3, - 128,31,0,12,23,46,15,1,0,48,0,56,0,28,0,6, - 0,3,0,1,128,0,0,0,0,15,128,57,192,96,224,96, - 112,192,112,255,240,192,0,192,0,192,0,224,0,224,16,112, - 48,124,96,63,192,15,0,12,23,46,15,1,0,1,128,3, - 128,7,0,12,0,24,0,48,0,0,0,0,0,15,128,57, - 192,96,224,96,112,192,112,255,240,192,0,192,0,192,0,224, - 0,224,16,112,48,124,96,63,192,15,0,12,23,46,15,1, - 0,6,0,15,0,31,128,57,192,96,96,64,32,0,0,0, - 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, - 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,12, - 21,42,15,1,0,56,224,56,224,56,224,0,0,0,0,0, - 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, - 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,7, - 23,23,9,1,0,192,224,112,24,12,6,0,0,24,248,56, - 56,56,56,56,56,56,56,56,56,56,56,254,7,23,23,9, - 1,0,6,14,28,48,96,192,0,0,24,248,56,56,56,56, - 56,56,56,56,56,56,56,56,254,10,23,46,9,0,0,12, - 0,30,0,63,0,115,128,192,192,128,64,0,0,0,0,12, - 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,127,0,9,21,42, - 9,0,0,227,128,227,128,227,128,0,0,0,0,0,0,12, - 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,127,0,14,23,46, - 17,1,0,16,0,56,0,28,112,15,240,15,0,127,128,49, - 192,0,224,7,240,24,240,48,120,112,56,96,60,224,28,224, - 28,224,28,224,28,224,28,112,24,112,56,56,48,28,96,7, - 128,16,21,42,16,0,0,14,8,31,24,49,240,32,224,0, - 0,0,0,24,240,251,248,62,60,60,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,254, - 127,14,23,46,16,1,0,24,0,28,0,14,0,3,0,1, - 128,0,192,0,0,0,0,7,128,24,224,48,112,112,56,96, - 56,224,28,224,28,224,28,224,28,224,28,112,24,112,56,56, - 48,28,96,7,128,14,23,46,16,1,0,0,192,1,192,3, - 128,6,0,12,0,24,0,0,0,0,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,112, - 24,112,56,56,48,28,96,7,128,14,23,46,16,1,0,3, - 0,7,128,15,192,28,224,48,48,32,16,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, - 16,1,0,28,16,62,48,99,224,65,192,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, - 16,1,0,56,224,56,224,56,224,0,0,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,16,17,34, - 19,1,0,1,128,3,192,3,192,1,128,0,0,0,0,0, - 0,255,255,255,255,0,0,0,0,0,0,0,0,1,128,3, - 192,3,192,1,128,14,21,42,17,1,253,0,24,0,16,0, - 48,7,160,24,224,48,240,112,184,97,184,225,28,225,28,227, - 28,226,28,230,28,116,24,116,56,60,48,28,96,31,128,48, - 0,32,0,96,0,16,23,46,17,0,0,12,0,14,0,7, - 0,1,128,0,192,0,96,0,0,0,0,248,124,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,60,60,124,31,223,15,152,16,23,46,17,0,0,0, - 96,0,224,1,192,3,0,6,0,12,0,0,0,0,0,248, - 124,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,60,60,124,31,223,15,152,16,23,46, - 17,0,0,1,128,3,192,7,224,14,112,24,24,16,8,0, - 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, - 152,16,21,42,17,0,0,28,112,28,112,28,112,0,0,0, - 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, - 152,15,30,60,17,0,249,0,24,0,56,0,112,0,192,1, - 128,3,0,0,0,0,0,254,30,120,12,56,12,60,8,28, - 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, - 192,1,128,1,128,1,128,1,0,3,0,2,0,62,0,124, - 0,56,0,15,30,60,17,0,249,24,0,248,0,56,0,56, - 0,56,0,56,0,56,0,56,0,57,240,59,248,62,124,60, - 28,56,30,56,14,56,14,56,14,56,14,56,14,56,12,56, - 28,60,24,62,48,59,224,56,0,56,0,56,0,56,0,56, - 0,56,0,255,0,15,28,56,17,1,249,28,112,28,112,28, - 112,0,0,0,0,0,0,254,30,120,12,56,12,60,8,28, - 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, - 192,1,128,1,128,1,0,1,0,3,0,2,0,62,0,124, - 0,56,0}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=16 h=26 x= 4 y=10 dx=19 dy= 0 ascent=23 len=52 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =23 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24n[717] U8G_FONT_SECTION("u8g_font_timR24n") = { - 0,38,48,251,245,23,0,0,0,0,42,58,0,23,253,23, - 0,12,13,26,17,2,10,6,0,15,0,6,0,198,48,246, - 240,118,224,15,0,118,224,246,240,198,48,6,0,15,0,6, - 0,16,16,32,19,1,1,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,4,7,7,8,2,253,96,240,240, - 112,16,32,64,8,2,2,11,1,7,255,255,4,4,4,8, - 2,0,96,240,240,96,10,26,52,9,0,253,0,192,0,192, - 1,128,1,128,3,128,3,0,3,0,3,0,6,0,6,0, - 6,0,14,0,12,0,12,0,28,0,24,0,24,0,24,0, - 48,0,48,0,48,0,112,0,96,0,96,0,192,0,192,0, - 14,23,46,16,1,0,7,128,28,224,56,112,48,48,112,56, - 112,56,96,24,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,24,112,56,112,56,48,48,56,112, - 28,224,7,128,9,23,46,16,4,0,12,0,28,0,124,0, - 220,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,15,23,46,16,0,0,7,224, - 15,240,28,248,48,60,32,60,96,28,64,28,0,28,0,28, - 0,24,0,56,0,48,0,96,0,96,0,192,1,128,3,0, - 6,0,12,2,24,6,63,252,127,248,255,248,12,23,46,16, - 2,0,15,128,63,192,97,224,192,224,128,224,0,224,0,192, - 0,192,1,128,3,0,7,192,31,224,1,240,0,112,0,112, - 0,48,0,48,0,48,0,112,0,96,224,192,243,128,127,0, - 14,23,46,16,1,0,0,96,0,224,0,224,1,224,1,96, - 3,96,6,96,4,96,12,96,24,96,16,96,48,96,96,96, - 64,96,255,252,255,252,255,252,0,96,0,96,0,96,0,96, - 0,96,0,96,13,23,46,16,1,0,15,248,31,240,31,224, - 16,0,48,0,32,0,126,0,127,128,127,192,7,224,1,224, - 0,240,0,112,0,112,0,48,0,48,0,48,0,48,0,96, - 0,96,224,192,243,128,126,0,14,23,46,16,1,0,0,120, - 1,192,3,128,15,0,30,0,28,0,56,0,120,0,112,0, - 115,192,247,240,248,120,224,56,224,60,224,28,224,28,224,28, - 224,28,112,28,112,24,56,56,28,96,7,192,14,23,46,16, - 1,0,63,252,127,252,96,24,192,24,128,56,0,48,0,48, - 0,48,0,96,0,96,0,96,0,224,0,192,0,192,1,192, - 1,128,1,128,1,128,3,0,3,0,3,0,7,0,6,0, - 13,23,46,16,2,0,31,128,56,224,112,112,224,48,224,48, - 224,48,224,112,240,96,124,192,63,0,31,128,15,192,27,224, - 113,240,96,240,224,120,192,120,192,56,192,56,224,56,96,112, - 112,224,31,192,14,23,46,16,1,0,7,128,24,224,48,112, - 112,56,96,56,224,28,224,28,224,28,224,28,224,28,240,28, - 112,28,120,60,62,252,15,184,0,56,0,112,0,112,0,224, - 1,192,3,128,15,0,120,0,4,15,15,9,2,0,96,240, - 240,96,0,0,0,0,0,0,0,96,240,240,96}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=31 h=30 x= 4 y=17 dx=32 dy= 0 ascent=25 len=112 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24r[4764] U8G_FONT_SECTION("u8g_font_timR24r") = { - 0,38,48,251,245,23,5,140,13,213,32,127,249,25,249,23, - 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, - 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, - 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, - 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, - 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, - 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, - 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, - 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, - 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, - 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, - 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, - 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, - 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, - 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, - 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, - 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, - 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, - 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, - 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, - 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, - 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, - 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, - 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, - 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, - 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, - 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, - 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, - 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, - 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, - 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, - 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, - 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, - 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, - 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, - 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, - 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, - 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, - 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, - 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, - 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, - 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, - 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, - 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, - 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, - 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, - 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, - 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, - 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, - 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, - 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, - 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, - 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, - 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, - 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, - 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, - 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, - 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, - 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, - 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, - 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, - 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, - 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, - 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, - 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, - 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, - 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, - 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, - 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, - 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, - 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, - 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, - 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, - 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, - 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, - 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, - 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, - 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, - 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, - 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, - 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, - 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, - 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, - 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, - 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, - 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, - 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, - 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, - 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, - 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, - 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, - 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, - 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, - 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, - 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, - 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, - 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, - 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, - 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, - 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, - 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, - 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, - 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, - 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, - 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, - 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, - 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, - 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, - 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, - 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, - 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, - 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, - 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, - 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, - 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, - 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, - 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, - 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, - 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, - 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, - 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, - 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, - 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, - 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, - 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, - 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, - 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, - 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, - 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, - 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, - 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, - 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, - 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, - 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, - 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, - 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, - 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, - 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, - 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, - 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, - 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, - 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, - 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, - 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, - 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, - 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, - 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, - 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, - 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, - 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, - 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, - 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, - 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, - 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, - 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, - 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, - 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, - 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, - 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, - 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, - 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, - 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, - 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, - 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, - 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, - 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, - 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, - 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, - 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, - 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, - 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, - 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, - 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, - 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, - 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, - 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, - 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, - 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, - 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, - 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, - 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, - 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, - 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, - 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, - 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, - 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, - 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, - 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, - 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, - 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, - 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, - 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, - 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, - 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, - 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, - 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, - 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, - 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, - 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, - 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, - 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, - 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, - 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, - 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, - 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, - 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, - 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, - 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, - 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, - 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, - 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, - 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, - 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, - 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, - 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, - 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, - 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, - 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, - 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, - 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, - 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, - 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, - 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, - 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, - 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, - 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, - 18,1,7,62,3,127,135,225,254,192,124,255}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=11 h=13 x= 1 y=10 dx=12 dy= 0 ascent=13 len=18 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssb[2656] U8G_FONT_SECTION("u8g_font_tpssb") = { - 0,11,17,0,252,9,1,205,3,159,32,255,252,13,252,9, - 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, - 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, - 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, - 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, - 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, - 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, - 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, - 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, - 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, - 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, - 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, - 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, - 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, - 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, - 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, - 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, - 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, - 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, - 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, - 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, - 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, - 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, - 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, - 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, - 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, - 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, - 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, - 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, - 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, - 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, - 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, - 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, - 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, - 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, - 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, - 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, - 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, - 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, - 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, - 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, - 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, - 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, - 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, - 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, - 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, - 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, - 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, - 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, - 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, - 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, - 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, - 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, - 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, - 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, - 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, - 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, - 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, - 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, - 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, - 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, - 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, - 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, - 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, - 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, - 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, - 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, - 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, - 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, - 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, - 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, - 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, - 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, - 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, - 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, - 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, - 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, - 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, - 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, - 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, - 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, - 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, - 184,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,255,2,9,9,3,0,0,192,192,0,192,192,192,192, - 192,192,5,7,7,7,1,0,32,112,168,160,168,112,32,6, - 9,9,7,0,0,192,192,248,192,192,192,204,204,252,5,5, - 5,7,1,1,136,112,80,112,136,6,9,9,8,1,0,204, - 204,120,48,48,120,48,120,48,2,9,9,4,1,0,192,192, - 192,0,0,0,192,192,192,8,10,10,10,1,0,124,192,126, - 195,126,3,3,3,195,62,5,1,1,7,1,3,216,9,7, - 14,11,1,0,62,0,65,0,221,128,209,128,221,128,65,0, - 62,0,7,8,8,9,1,0,120,204,204,204,204,126,0,254, - 7,3,3,9,1,2,102,204,102,5,3,3,7,1,1,248, - 248,24,255,9,7,14,11,1,0,62,0,65,0,221,128,209, - 128,209,128,65,0,62,0,5,1,1,6,0,6,248,3,3, - 3,5,1,2,224,160,224,5,7,7,7,1,0,32,32,248, - 32,32,0,248,255,255,255,255,255,255,255,255,255,7,3,3, - 9,1,2,204,102,204,255,255,255,255,6,12,12,7,0,0, - 96,48,0,120,204,204,252,204,204,204,204,204,6,12,12,7, - 0,0,24,48,0,120,204,204,252,204,204,204,204,204,6,12, - 12,7,0,0,48,72,0,120,204,204,252,204,204,204,204,204, - 6,12,12,7,0,0,232,184,0,120,204,204,252,204,204,204, - 204,204,6,11,11,7,0,0,72,0,120,204,204,252,204,204, - 204,204,204,6,13,13,7,0,0,48,72,48,0,120,204,204, - 252,204,204,204,204,204,11,9,18,12,0,0,127,224,206,0, - 206,0,255,192,206,0,206,0,206,0,206,0,207,224,6,11, - 11,7,0,254,120,204,192,192,192,192,192,204,120,48,96,6, - 12,12,7,0,0,96,48,0,252,192,192,248,192,192,192,192, - 252,6,12,12,7,0,0,24,48,0,252,192,192,248,192,192, - 192,192,252,6,12,12,7,0,0,48,72,0,252,192,192,248, - 192,192,192,192,252,6,11,11,7,0,0,204,0,252,192,192, - 248,192,192,192,192,252,3,12,12,4,0,0,192,96,0,96, - 96,96,96,96,96,96,96,96,3,12,12,4,0,0,96,192, - 0,192,192,192,192,192,192,192,192,192,4,12,12,5,0,0, - 96,144,0,96,96,96,96,96,96,96,96,96,6,11,11,7, - 0,0,204,0,48,48,48,48,48,48,48,48,48,6,9,9, - 7,0,0,248,204,204,236,204,204,204,204,248,6,12,12,7, - 0,0,232,184,0,204,236,252,220,204,204,204,204,204,6,12, - 12,7,0,0,96,48,0,120,204,204,204,204,204,204,204,120, - 6,12,12,7,0,0,24,48,0,120,204,204,204,204,204,204, - 204,120,6,12,12,7,0,0,48,72,0,120,204,204,204,204, - 204,204,204,120,6,12,12,7,0,0,232,184,0,120,204,204, - 204,204,204,204,204,120,6,11,11,7,0,0,204,0,120,204, - 204,204,204,204,204,204,120,3,3,3,6,1,2,160,64,160, - 6,9,9,7,0,0,120,204,220,220,236,236,236,204,120,6, - 12,12,7,0,0,96,48,0,204,204,204,204,204,204,204,204, - 120,6,12,12,7,0,0,24,48,0,204,204,204,204,204,204, - 204,204,120,6,12,12,7,0,0,48,72,0,204,204,204,204, - 204,204,204,204,120,6,11,11,7,0,0,204,0,204,204,204, - 204,204,204,204,204,120,6,12,12,7,0,0,24,48,0,204, - 204,120,48,48,48,48,48,48,7,9,9,8,0,0,192,192, - 252,198,252,192,192,192,192,7,11,11,8,0,254,252,198,220, - 198,198,198,220,192,192,192,192,6,9,9,7,0,0,96,48, - 0,120,204,204,204,204,124,6,9,9,7,0,0,24,48,0, - 120,204,204,204,204,124,6,9,9,7,0,0,48,72,0,120, - 204,204,204,204,124,6,9,9,7,0,0,232,184,0,120,204, - 204,204,204,124,6,8,8,7,0,0,204,0,120,204,204,204, - 204,124,6,10,10,7,0,0,48,72,48,0,120,204,204,204, - 204,124,9,6,12,11,1,0,127,128,136,128,143,128,136,0, - 136,128,127,128,6,8,8,7,0,254,120,204,192,192,204,120, - 48,96,6,9,9,7,0,0,96,48,0,120,204,252,192,204, - 120,6,9,9,7,0,0,24,48,0,120,204,252,192,204,120, - 6,9,9,7,0,0,48,72,0,120,204,252,192,204,120,6, - 8,8,7,0,0,204,0,120,204,252,192,204,120,3,12,12, - 4,0,0,192,96,0,96,96,96,96,96,96,96,96,96,3, - 12,12,4,0,0,96,192,0,192,192,192,192,192,192,192,192, - 192,4,12,12,5,0,0,96,144,0,96,96,96,96,96,96, - 96,96,96,6,11,11,7,0,0,204,0,48,48,48,48,48, - 48,48,48,48,6,9,9,7,0,0,12,60,12,124,204,204, - 204,204,124,6,9,9,7,0,0,232,184,0,248,236,204,204, - 204,204,6,9,9,7,0,0,96,48,0,120,204,204,204,204, - 120,6,9,9,7,0,0,24,48,0,120,204,204,204,204,120, - 6,9,9,7,0,0,48,72,0,120,204,204,204,204,120,6, - 9,9,7,0,0,232,184,0,120,204,204,204,204,120,6,8, - 8,7,0,0,204,0,120,204,204,204,204,120,6,6,6,7, - 0,1,48,0,252,252,0,48,6,6,6,7,0,0,120,220, - 220,236,236,120,6,9,9,7,0,0,96,48,0,204,204,204, - 204,204,120,6,9,9,7,0,0,24,48,0,204,204,204,204, - 204,120,6,9,9,7,0,0,48,72,0,204,204,204,204,204, - 120,6,8,8,7,0,0,204,0,204,204,204,204,204,120,6, - 13,13,7,0,252,24,48,0,204,204,204,204,204,124,12,12, - 204,120,6,6,6,7,0,0,192,248,204,248,192,192,6,12, - 12,7,0,252,204,0,204,204,204,204,204,124,12,12,204,120 - }; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 6 h= 9 x= 1 y= 3 dx= 8 dy= 0 ascent= 9 len= 9 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssbn[240] U8G_FONT_SECTION("u8g_font_tpssbn") = { - 0,11,17,0,252,9,0,0,0,0,42,58,0,9,255,9, - 0,5,7,7,7,1,1,32,168,112,32,112,168,32,6,6, - 6,8,1,1,48,48,252,252,48,48,3,2,2,5,1,255, - 96,192,5,2,2,7,1,3,248,248,2,1,1,4,1,0, - 192,6,9,9,8,1,0,12,24,24,48,48,48,96,96,192, - 6,9,9,7,0,0,120,204,204,204,204,204,204,204,120,6, - 9,9,7,0,0,48,112,240,48,48,48,48,48,252,6,9, - 9,7,0,0,120,204,204,12,24,48,96,192,252,6,9,9, - 7,0,0,120,204,12,56,12,12,12,204,120,6,9,9,7, - 0,0,12,204,204,252,12,12,12,12,12,6,9,9,7,0, - 0,252,192,192,248,12,12,12,204,120,6,9,9,7,0,0, - 120,204,192,248,204,204,204,204,120,6,9,9,7,0,0,252, - 12,24,48,96,96,96,96,96,6,9,9,7,0,0,120,204, - 204,120,204,204,204,204,120,6,9,9,7,0,0,120,204,204, - 204,124,12,12,204,120,2,4,4,4,1,0,192,0,0,192 - }; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=10 h=13 x= 1 y=10 dx=12 dy= 0 ascent=12 len=18 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssbr[1346] U8G_FONT_SECTION("u8g_font_tpssbr") = { - 0,11,17,0,252,9,1,205,3,159,32,127,252,12,252,9, - 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, - 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, - 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, - 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, - 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, - 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, - 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, - 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, - 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, - 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, - 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, - 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, - 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, - 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, - 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, - 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, - 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, - 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, - 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, - 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, - 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, - 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, - 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, - 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, - 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, - 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, - 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, - 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, - 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, - 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, - 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, - 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, - 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, - 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, - 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, - 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, - 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, - 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, - 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, - 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, - 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, - 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, - 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, - 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, - 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, - 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, - 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, - 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, - 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, - 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, - 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, - 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, - 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, - 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, - 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, - 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, - 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, - 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, - 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, - 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, - 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, - 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, - 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, - 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, - 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, - 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, - 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, - 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, - 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, - 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, - 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, - 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, - 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, - 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, - 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, - 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, - 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, - 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, - 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, - 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, - 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, - 184,255}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=13 len=18 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpss[2605] U8G_FONT_SECTION("u8g_font_tpss") = { - 0,11,17,255,252,9,1,192,3,136,32,255,252,13,252,9, - 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, - 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, - 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, - 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, - 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, - 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, - 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, - 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, - 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, - 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, - 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, - 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, - 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, - 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, - 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, - 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, - 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, - 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, - 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, - 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, - 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, - 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, - 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, - 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, - 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, - 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, - 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, - 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, - 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, - 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, - 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, - 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, - 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, - 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, - 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, - 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, - 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, - 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, - 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, - 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, - 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, - 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, - 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, - 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, - 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, - 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, - 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, - 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, - 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, - 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, - 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, - 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, - 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, - 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, - 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, - 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, - 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, - 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, - 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, - 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, - 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, - 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, - 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, - 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, - 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, - 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, - 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, - 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, - 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, - 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, - 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, - 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, - 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, - 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, - 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, - 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, - 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, - 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, - 0,10,232,184,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,255,1,9,9,2,0,0,128,128,0,128, - 128,128,128,128,128,5,7,7,7,1,0,32,112,168,160,168, - 112,32,5,9,9,7,1,0,128,128,240,128,128,128,136,136, - 248,5,5,5,7,1,1,136,112,80,112,136,5,9,9,7, - 1,0,136,136,80,32,32,248,32,248,32,1,9,9,3,1, - 0,128,128,128,0,0,0,128,128,128,6,10,10,8,1,0, - 120,128,120,132,120,4,4,4,132,120,5,1,1,7,1,3, - 136,7,7,7,9,1,0,124,130,186,162,186,130,124,6,8, - 8,8,1,0,112,136,136,136,136,116,0,252,5,3,3,7, - 1,2,72,144,72,5,2,2,7,1,2,248,8,0,0,0, - 8,0,0,7,7,7,9,1,0,124,130,186,162,162,130,124, - 5,1,1,6,0,6,248,3,3,3,5,1,2,64,160,64, - 5,7,7,7,1,0,32,32,248,32,32,0,248,255,255,255, - 0,0,0,8,0,0,255,0,0,0,8,0,0,255,255,255, - 5,3,3,7,1,2,144,72,144,255,255,255,255,5,12,12, - 6,0,0,64,32,0,112,136,136,248,136,136,136,136,136,5, - 12,12,6,0,0,16,32,0,112,136,136,248,136,136,136,136, - 136,5,12,12,6,0,0,32,80,0,112,136,136,248,136,136, - 136,136,136,5,12,12,6,0,0,232,184,0,112,136,136,248, - 136,136,136,136,136,5,11,11,6,0,0,80,0,112,136,136, - 248,136,136,136,136,136,5,13,13,6,0,0,32,80,32,0, - 112,136,136,248,136,136,136,136,136,9,9,18,10,0,0,127, - 128,136,0,136,0,255,0,136,0,136,0,136,0,136,0,143, - 128,5,9,9,6,0,254,112,136,128,128,128,136,112,32,96, - 5,12,12,6,0,0,64,32,0,248,128,128,240,128,128,128, - 128,248,5,12,12,6,0,0,16,32,0,248,128,128,240,128, - 128,128,128,248,5,12,12,6,0,0,32,80,0,248,128,128, - 240,128,128,128,128,248,5,11,11,6,0,0,80,0,248,128, - 128,240,128,128,128,128,248,2,12,12,2,0,0,128,64,0, - 64,64,64,64,64,64,64,64,64,2,12,12,2,0,0,64, - 128,0,128,128,128,128,128,128,128,128,128,3,12,12,2,255, - 0,64,160,0,64,64,64,64,64,64,64,64,64,3,11,11, - 2,255,0,160,0,64,64,64,64,64,64,64,64,64,5,9, - 9,6,0,0,240,136,136,232,136,136,136,136,240,5,12,12, - 6,0,0,232,184,0,136,136,136,200,168,152,136,136,136,5, - 12,12,6,0,0,64,32,0,112,136,136,136,136,136,136,136, - 112,5,12,12,6,0,0,16,32,0,112,136,136,136,136,136, - 136,136,112,5,12,12,6,0,0,32,80,0,112,136,136,136, - 136,136,136,136,112,5,12,12,6,0,0,232,184,0,112,136, - 136,136,136,136,136,136,112,5,11,11,6,0,0,80,0,112, - 136,136,136,136,136,136,136,112,3,3,3,6,1,2,160,64, - 160,7,9,9,8,0,0,58,68,76,84,84,84,100,68,184, - 5,12,12,6,0,0,64,32,0,136,136,136,136,136,136,136, - 136,112,5,12,12,6,0,0,16,32,0,136,136,136,136,136, - 136,136,136,112,5,12,12,6,0,0,32,80,0,136,136,136, - 136,136,136,136,136,112,5,11,11,6,0,0,80,0,136,136, - 136,136,136,136,136,136,112,5,12,12,6,0,0,16,32,0, - 136,136,80,32,32,32,32,32,32,5,9,9,6,0,0,128, - 128,240,136,240,128,128,128,128,5,11,11,6,0,254,240,136, - 176,136,136,136,176,128,128,128,128,5,9,9,6,0,0,64, - 32,0,112,136,136,136,136,120,5,9,9,6,0,0,16,32, - 0,112,136,136,136,136,120,5,9,9,6,0,0,32,80,0, - 112,136,136,136,136,120,5,9,9,6,0,0,232,184,0,112, - 136,136,136,136,120,5,8,8,6,0,0,80,0,112,136,136, - 136,136,120,5,10,10,6,0,0,32,80,32,0,112,136,136, - 136,136,120,9,6,12,10,0,0,119,0,136,128,143,128,136, - 0,136,128,119,0,5,8,8,6,0,254,112,136,128,128,136, - 112,32,64,5,6,6,6,0,0,112,136,248,128,136,112,5, - 6,6,6,0,0,112,136,248,128,136,112,5,6,6,6,0, - 0,112,136,248,128,136,112,5,6,6,6,0,0,112,136,248, - 128,136,112,2,10,10,3,0,0,128,64,0,0,64,64,64, - 64,64,64,2,10,10,3,0,0,64,128,0,0,128,128,128, - 128,128,128,3,10,10,4,0,0,64,160,0,0,64,64,64, - 64,64,64,3,9,9,4,0,0,160,0,0,64,64,64,64, - 64,64,5,9,9,6,0,0,8,56,8,120,136,136,136,136, - 120,5,9,9,6,0,0,232,184,0,176,200,136,136,136,136, - 5,9,9,6,0,0,64,32,0,112,136,136,136,136,112,5, - 9,9,6,0,0,16,32,0,112,136,136,136,136,112,5,9, - 9,6,0,0,32,80,0,112,136,136,136,136,112,5,9,9, - 6,0,0,232,184,0,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,1, - 32,0,248,0,32,5,6,6,6,0,0,112,152,168,168,200, - 112,5,9,9,6,0,0,64,32,0,136,136,136,136,136,112, - 5,9,9,6,0,0,16,32,0,136,136,136,136,136,112,5, - 9,9,6,0,0,32,80,0,136,136,136,136,136,112,5,8, - 8,6,0,0,80,0,136,136,136,136,136,112,5,13,13,6, - 0,252,16,32,0,136,136,136,136,136,120,8,8,136,112,5, - 6,6,5,0,0,128,240,136,240,128,128,5,12,12,6,0, - 252,80,0,136,136,136,136,136,120,8,8,136,112}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 5 h= 9 x= 1 y= 3 dx= 7 dy= 0 ascent= 9 len= 9 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssn[238] U8G_FONT_SECTION("u8g_font_tpssn") = { - 0,11,17,255,252,9,0,0,0,0,42,58,0,9,255,9, - 0,5,7,7,7,1,1,32,168,112,32,112,168,32,5,5, - 5,7,1,1,32,32,248,32,32,2,2,2,4,1,255,64, - 128,5,1,1,7,1,3,248,1,1,1,3,1,0,128,5, - 9,9,7,1,0,8,16,16,32,32,32,64,64,128,5,9, - 9,6,0,0,112,136,136,136,136,136,136,136,112,5,9,9, - 6,0,0,32,96,160,32,32,32,32,32,248,5,9,9,6, - 0,0,112,136,136,8,16,32,64,128,248,5,9,9,6,0, - 0,112,136,8,48,8,8,8,136,112,5,9,9,6,0,0, - 8,136,136,248,8,8,8,8,8,5,9,9,6,0,0,248, - 128,128,248,8,8,8,136,112,5,9,9,6,0,0,112,136, - 128,240,136,136,136,136,112,5,9,9,6,0,0,248,8,16, - 32,64,64,64,64,64,5,9,9,6,0,0,112,136,136,112, - 136,136,136,136,112,5,9,9,6,0,0,112,136,136,136,120, - 8,8,136,112,1,4,4,3,1,0,128,0,0,128}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=12 len=16 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssr[1317] U8G_FONT_SECTION("u8g_font_tpssr") = { - 0,11,17,255,252,9,1,192,3,136,32,127,252,12,252,9, - 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, - 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, - 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, - 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, - 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, - 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, - 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, - 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, - 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, - 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, - 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, - 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, - 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, - 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, - 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, - 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, - 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, - 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, - 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, - 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, - 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, - 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, - 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, - 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, - 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, - 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, - 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, - 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, - 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, - 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, - 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, - 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, - 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, - 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, - 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, - 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, - 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, - 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, - 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, - 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, - 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, - 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, - 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, - 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, - 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, - 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, - 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, - 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, - 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, - 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, - 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, - 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, - 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, - 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, - 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, - 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, - 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, - 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, - 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, - 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, - 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, - 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, - 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, - 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, - 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, - 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, - 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, - 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, - 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, - 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, - 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, - 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, - 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, - 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, - 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, - 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, - 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, - 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, - 0,10,232,184,255}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_square[1236] U8G_FONT_SECTION("u8g_font_trixel_square") = { - 0,5,9,0,254,5,1,91,2,177,32,255,254,7,254,5, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, - 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, - 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, - 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, - 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, - 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, - 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, - 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, - 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, - 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, - 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, - 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, - 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, - 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, - 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, - 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, - 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, - 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, - 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, - 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, - 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, - 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, - 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, - 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, - 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, - 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, - 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, - 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, - 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, - 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, - 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, - 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, - 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, - 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, - 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, - 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, - 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, - 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, - 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, - 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, - 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, - 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, - 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, - 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, - 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, - 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, - 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, - 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, - 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, - 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, - 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, - 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, - 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, - 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, - 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, - 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, - 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, - 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, - 128,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,255,255,255,4,5,5,5,0,0,112,64,96,64,240, - 255,255,255,3,7,7,4,0,254,224,128,224,160,224,32,224, - 255,255,255,3,2,2,4,0,1,160,160,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,3,2,2,4,0,1, - 160,160,255,255,255,255,255,255,255,255,3,7,7,4,0,0, - 160,0,224,160,224,160,160,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,3,7,7,4,0,0,160,0, - 224,160,160,160,224,255,255,255,255,255,3,7,7,4,0,0, - 160,0,160,160,160,160,224,255,255,3,7,7,4,0,254,224, - 160,224,160,224,128,128,255,255,255,255,4,5,5,5,0,0, - 160,0,224,160,240,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,3,5,5,4,0,0,160,0,224,160, - 224,255,255,255,255,255,3,5,5,4,0,0,160,0,160,160, - 224,255,255,255}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[187] U8G_FONT_SECTION("u8g_font_trixel_squaren") = { - 0,5,9,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,3,3,3,4,0,2,160,64,160,3,3,3,4,0,0, - 64,224,64,1,2,2,2,0,255,128,128,3,1,1,4,0, - 1,224,1,1,1,2,0,0,128,3,5,5,4,0,0,32, - 96,64,192,128,3,5,5,4,0,0,224,160,160,160,224,2, - 5,5,3,0,0,64,192,64,64,64,3,5,5,4,0,0, - 224,160,96,192,224,3,5,5,4,0,0,224,32,96,32,224, - 3,5,5,4,0,0,160,160,224,32,32,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,128,224,160, - 224,3,5,5,4,0,0,224,32,32,32,32,3,5,5,4, - 0,0,224,160,224,160,224,3,5,5,4,0,0,224,160,224, - 32,224,1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[994] U8G_FONT_SECTION("u8g_font_trixel_squarer") = { - 0,5,9,0,254,5,1,91,2,177,32,127,254,6,254,5, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, - 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, - 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, - 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, - 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, - 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, - 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, - 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, - 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, - 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, - 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, - 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, - 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, - 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, - 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, - 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, - 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, - 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, - 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, - 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, - 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, - 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, - 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, - 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, - 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, - 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, - 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, - 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, - 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, - 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, - 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, - 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, - 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, - 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, - 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, - 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, - 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, - 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, - 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, - 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, - 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, - 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, - 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, - 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, - 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, - 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, - 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, - 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, - 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, - 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, - 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, - 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, - 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, - 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, - 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, - 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, - 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, - 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, - 128,255}; -/* - Fontname: u8glib_4 - Copyright: public domain - Capital A Height: 4, '1' Height: 4 - Calculated Max Values w= 8 h= 7 x= 1 y= 4 dx= 9 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 9 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_FONT_SECTION("u8g_font_u8glib_4") = { - 1,9,6,0,255,4,0,233,1,198,32,255,255,6,255,5, - 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, - 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, - 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, - 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, - 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, - 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, - 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, - 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, - 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, - 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, - 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, - 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, - 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, - 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, - 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, - 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, - 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, - 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, - 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, - 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, - 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, - 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, - 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, - 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, - 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, - 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, - 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, - 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, - 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, - 2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68, - 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, - 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, - 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, - 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, - 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, - 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, - 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, - 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, - 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, - 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, - 2,69,85,240,144,144,144,240,2,0,32,2,53,69,160,0, - 160,160,224,2,54,70,64,128,0,224,192,224,2,54,70,64, - 160,0,96,160,224,2,53,69,160,0,96,160,224,2,54,70, - 64,32,0,96,160,224,2,54,70,64,160,64,96,160,224,1, - 36,52,192,128,192,192,2,54,70,64,160,0,224,192,224,2, - 53,69,160,0,224,192,224,2,54,70,64,32,0,224,192,224, - 2,52,68,160,0,64,64,2,53,149,64,160,0,64,64,2, - 37,53,128,64,0,64,64,2,69,85,144,96,144,240,144,2, - 70,86,96,144,96,144,240,144,2,70,86,32,64,240,224,128, - 240,2,83,99,120,176,248,2,132,148,31,46,120,143,2,54, - 70,64,160,0,224,160,224,2,53,69,160,0,224,160,224,2, - 54,70,128,64,0,224,160,224,2,54,70,64,160,0,160,160, - 224,2,54,70,64,32,0,160,160,224,1,54,70,160,0,160, - 224,32,96,2,69,85,144,96,144,144,96,2,69,85,144,0, - 144,144,240,2,0,64,2,0,64,2,0,64,2,0,64,2, - 0,64,2,54,70,64,128,0,96,160,224,2,37,53,64,128, - 0,128,128,2,54,70,32,64,0,224,160,224,2,54,70,32, - 64,0,160,160,224,2,70,70,80,160,0,192,160,160,2,70, - 86,80,160,144,208,176,144,2,21,37,128,128,0,128,128,1, - 54,70,224,128,224,224,32,224,6,65,81,144,1,119,151,124, - 130,186,162,186,130,124,2,0,144,2,51,67,96,192,96,3, - 50,66,224,32,2,0,144,1,119,151,124,130,186,178,170,130, - 124,6,65,81,240,4,51,67,224,160,224,2,52,148,64,224, - 64,224,4,51,67,192,64,96,4,35,51,192,64,192,5,34, - 50,64,128,1,52,148,160,160,224,128,1,101,117,124,244,116, - 20,20,19,17,49,128,2,0,144,4,35,51,192,64,64,4, - 51,67,224,160,224,2,51,67,192,96,192,1,118,134,196,72, - 80,40,78,132,1,118,134,196,72,80,44,68,134,1,118,150, - 196,72,208,40,78,132,2,0,64,2,70,86,64,32,96,144, - 240,144,2,70,86,32,64,96,144,240,144,2,70,86,96,144, - 96,144,240,144,2,70,86,80,160,96,144,240,144,2,69,85, - 144,96,144,240,144,2,70,86,96,0,96,144,240,144,2,132, - 148,31,46,120,143,1,69,85,240,128,240,32,96,2,70,86, - 64,32,240,224,128,240,2,70,86,32,64,240,224,128,240,2, - 70,86,96,144,240,224,128,240,2,70,86,144,0,240,224,128, - 240,2,38,54,128,64,128,128,128,128,2,38,54,64,128,64, - 64,64,64,2,54,70,64,160,64,64,64,64,2,53,69,160, - 64,64,64,64,2,84,100,112,232,72,112,2,70,86,80,160, - 0,144,208,176,2,70,86,64,32,96,144,144,96,2,70,86, - 32,64,96,144,144,96,2,70,86,96,144,96,144,144,96,2, - 70,86,80,160,96,144,144,96,2,69,85,144,96,144,144,96, - 2,51,67,160,64,160,1,102,118,4,56,88,104,112,128,2, - 70,86,64,32,144,144,144,240,2,70,86,32,64,144,144,144, - 240,2,70,86,96,144,0,144,144,240,2,69,85,144,0,144, - 144,240,2,70,86,32,64,144,240,16,240,1,70,86,128,224, - 144,144,224,128,1,53,69,192,192,160,192,128,2,54,70,64, - 32,0,96,160,224,2,54,70,64,128,0,96,160,224,2,54, - 70,64,160,0,96,160,224,2,70,70,80,160,0,96,160,224, - 2,53,69,160,0,96,160,224,2,54,70,64,160,64,96,160, - 224,2,83,99,120,176,248,1,36,52,192,128,192,192,2,54, - 70,64,32,0,224,160,192,2,54,70,64,128,0,224,160,192, - 2,54,70,64,160,0,224,160,192,2,53,69,160,0,224,160, - 192,2,37,53,128,64,0,64,64,2,37,53,64,128,0,128, - 128,2,53,69,64,160,0,64,64,2,52,68,160,0,64,64, - 2,70,86,96,96,16,112,144,96,2,70,70,80,160,0,192, - 160,160,2,54,70,64,32,0,224,160,224,2,54,70,64,128, - 0,224,160,224,2,54,70,64,160,0,224,160,224,2,70,70, - 80,160,0,224,160,224,2,53,69,160,0,224,160,224,2,53, - 69,64,0,224,0,64,1,85,101,8,112,80,112,128,2,54, - 70,64,32,0,160,160,224,2,54,70,64,128,0,160,160,224, - 2,54,70,64,160,0,160,160,224,2,53,69,160,0,160,160, - 224,1,55,71,64,128,0,160,224,32,96,1,53,69,128,192, - 160,192,128,1,54,70,160,0,160,224,32,96}; -/* - Fontname: u8glib_4 - Copyright: public domain - Capital A Height: 4, '1' Height: 4 - Calculated Max Values w= 5 h= 6 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 9 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_FONT_SECTION("u8g_font_u8glib_4r") = { - 1,9,6,0,255,4,0,233,1,198,32,127,255,5,255,5, - 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, - 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, - 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, - 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, - 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, - 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, - 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, - 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, - 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, - 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, - 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, - 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, - 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, - 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, - 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, - 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, - 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, - 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, - 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, - 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, - 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, - 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, - 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, - 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, - 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, - 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, - 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, - 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, - 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, - 2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68, - 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, - 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, - 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, - 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, - 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, - 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, - 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, - 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, - 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, - 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, - 2,69,85,240,144,144,144,240}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_0_10[5136] U8G_FONT_SECTION("u8g_font_unifont_0_10") = { - 0,16,16,0,254,10,5,43,7,25,10,255,254,14,254,11, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,65,241,193,0,65,241,193,0,125,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,69,241,196,64,68,65,168,64,16, - 65,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,125,241,193, - 0,125,241,193,0,65,1,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,61,225,193,16,65,225,193,32,61,17,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,60,225,193,16,57,17,133, - 16,120,225,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,61, - 241,192,64,56,65,132,64,121,241,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,57,202,32,74,57,202,32,115,185,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,113,137,202,24,74, - 9,202,8,113,157,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,113,153,202,4,74,9,202,16,113,157,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,113,153,202,4,74,25,202,4,113, - 153,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,133,202, - 12,74,21,202,28,113,133,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,73,147,234,84,106,89,219,212,74,83,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,52,83,194,154,49,23,137, - 18,113,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,123, - 185,193,36,121,57,193,36,121,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,51,37,196,180,71,173,196,164,52,165,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,125,17,193,176,125, - 81,193,16,125,17,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,58,93,194,82,50,93,138,82,113,157,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,121,207,194,16,121,145,192,80,123, - 143,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,121,193,194, - 0,121,129,192,64,67,129,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,193,194,0,89,129,200,64,59,129,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,113,193,202,0,113,129,208, - 64,75,129,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,73, - 193,202,0,73,129,200,64,51,129,128,0,0,1,128,0,0, - 1,128,0,85,85,0,0,0,8,0,14,1,10,10,8,4, - 0,128,128,128,128,128,128,128,0,128,128,5,4,4,8,2, - 8,136,136,136,136,6,10,10,8,1,0,36,36,36,252,72, - 72,252,144,144,144,7,10,10,8,1,0,16,124,146,144,112, - 28,18,146,124,16,7,10,10,8,1,0,98,148,148,104,16, - 16,44,82,82,140,7,10,10,8,1,0,56,68,68,68,56, - 114,138,132,140,114,1,4,4,8,4,8,128,128,128,128,3, - 12,12,8,3,255,32,64,64,128,128,128,128,128,128,64,64, - 32,3,12,12,8,2,255,128,64,64,32,32,32,32,32,32, - 64,64,128,7,7,7,8,1,1,16,146,84,56,84,146,16, - 7,7,7,8,1,1,16,16,16,254,16,16,16,2,4,4, - 8,3,254,192,64,64,128,6,1,1,8,1,4,252,2,2, - 2,8,3,0,192,192,6,10,10,8,1,0,4,4,8,16, - 16,32,32,64,128,128,6,10,10,8,1,0,48,72,132,132, - 132,132,132,132,72,48,5,10,10,8,2,0,32,96,160,32, - 32,32,32,32,32,248,6,10,10,8,1,0,120,132,132,4, - 24,32,64,128,128,252,6,10,10,8,1,0,120,132,132,4, - 56,4,4,132,132,120,6,10,10,8,1,0,8,24,40,72, - 136,136,252,8,8,8,6,10,10,8,1,0,252,128,128,128, - 248,4,4,4,132,120,6,10,10,8,1,0,56,64,128,128, - 248,132,132,132,132,120,6,10,10,8,1,0,252,4,4,8, - 8,8,16,16,16,16,6,10,10,8,1,0,120,132,132,132, - 120,132,132,132,132,120,6,10,10,8,1,0,120,132,132,132, - 124,4,4,4,8,112,2,7,7,8,3,1,192,192,0,0, - 0,192,192,2,9,9,8,3,255,192,192,0,0,0,192,64, - 64,128,5,9,9,8,2,0,8,16,32,64,128,64,32,16, - 8,6,5,5,8,1,2,252,0,0,0,252,5,9,9,8, - 1,0,128,64,32,16,8,16,32,64,128,6,10,10,8,1, - 0,120,132,132,4,8,16,16,0,16,16,6,10,10,8,1, - 0,56,68,148,172,164,164,164,156,64,60,6,10,10,8,1, - 0,48,72,72,132,132,252,132,132,132,132,6,10,10,8,1, - 0,248,132,132,132,248,132,132,132,132,248,6,10,10,8,1, - 0,120,132,132,128,128,128,128,132,132,120,6,10,10,8,1, - 0,240,136,132,132,132,132,132,132,136,240,6,10,10,8,1, - 0,252,128,128,128,248,128,128,128,128,252,6,10,10,8,1, - 0,252,128,128,128,248,128,128,128,128,128,6,10,10,8,1, - 0,120,132,132,128,128,156,132,132,140,116,6,10,10,8,1, - 0,132,132,132,132,252,132,132,132,132,132,5,10,10,8,2, - 0,248,32,32,32,32,32,32,32,32,248,7,10,10,8,1, - 0,62,8,8,8,8,8,8,136,136,112,6,10,10,8,1, - 0,132,136,144,160,192,192,160,144,136,132,6,10,10,8,1, - 0,128,128,128,128,128,128,128,128,128,252,6,10,10,8,1, - 0,132,132,204,204,180,180,132,132,132,132,6,10,10,8,1, - 0,132,196,196,164,164,148,148,140,140,132,6,10,10,8,1, - 0,120,132,132,132,132,132,132,132,132,120,6,10,10,8,1, - 0,248,132,132,132,248,128,128,128,128,128,7,11,11,8,1, - 255,120,132,132,132,132,132,132,180,204,120,6,6,10,10,8, - 1,0,248,132,132,132,248,144,136,136,132,132,6,10,10,8, - 1,0,120,132,132,128,96,24,4,132,132,120,7,10,10,8, - 1,0,254,16,16,16,16,16,16,16,16,16,6,10,10,8, - 1,0,132,132,132,132,132,132,132,132,132,120,7,10,10,8, - 1,0,130,130,130,68,68,68,40,40,16,16,6,10,10,8, - 1,0,132,132,132,132,180,180,204,204,132,132,6,10,10,8, - 1,0,132,132,72,72,48,48,72,72,132,132,7,10,10,8, - 1,0,130,130,68,68,40,16,16,16,16,16,6,10,10,8, - 1,0,252,4,4,8,16,32,64,128,128,252,3,12,12,8, - 4,255,224,128,128,128,128,128,128,128,128,128,128,224,6,10, - 10,8,1,0,128,128,64,32,32,16,16,8,4,4,3,12, - 12,8,1,255,224,32,32,32,32,32,32,32,32,32,32,224, - 6,3,3,8,1,9,48,72,132,7,1,1,8,1,255,254, - 3,3,3,8,2,10,128,64,32,6,8,8,8,1,0,120, - 132,4,124,132,132,140,116,6,11,11,8,1,0,128,128,128, - 184,196,132,132,132,132,196,184,6,8,8,8,1,0,120,132, - 128,128,128,128,132,120,6,11,11,8,1,0,4,4,4,116, - 140,132,132,132,132,140,116,6,8,8,8,1,0,120,132,132, - 252,128,128,132,120,5,11,11,8,1,0,24,32,32,32,248, - 32,32,32,32,32,32,6,11,11,8,1,254,4,116,136,136, - 136,112,64,120,132,132,120,6,11,11,8,1,0,128,128,128, - 184,196,132,132,132,132,132,132,5,11,11,8,2,0,32,32, - 0,96,32,32,32,32,32,32,248,5,13,13,8,1,254,8, - 8,0,24,8,8,8,8,8,8,8,144,96,6,10,10,8, - 1,0,128,128,136,144,160,192,160,144,136,132,5,10,10,8, - 2,0,96,32,32,32,32,32,32,32,32,248,7,8,8,8, - 1,0,236,146,146,146,146,146,146,146,6,8,8,8,1,0, - 184,196,132,132,132,132,132,132,6,8,8,8,1,0,120,132, - 132,132,132,132,132,120,6,10,10,8,1,254,184,196,132,132, - 132,132,196,184,128,128,6,10,10,8,1,254,116,140,132,132, - 132,132,140,116,4,4,6,8,8,8,1,0,184,196,132,128, - 128,128,128,128,6,8,8,8,1,0,120,132,128,96,24,4, - 132,120,5,10,10,8,1,0,32,32,248,32,32,32,32,32, - 32,24,6,8,8,8,1,0,132,132,132,132,132,132,140,116, - 6,8,8,8,1,0,132,132,132,72,72,72,48,48,7,8, - 8,8,1,0,130,146,146,146,146,146,146,108,6,8,8,8, - 1,0,132,132,72,48,48,72,132,132,6,10,10,8,1,254, - 132,132,132,132,132,76,52,4,4,120,6,8,8,8,1,0, - 252,4,8,16,32,64,128,252,3,12,12,8,3,255,96,128, - 128,64,64,128,128,64,64,128,128,96,1,14,14,8,4,254, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,3,12, - 12,8,2,255,192,32,32,64,64,32,32,64,64,32,32,192, - 7,3,3,8,1,8,98,146,140,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,115,209,202,16,75,209,202, - 16,115,223,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,113, - 157,202,82,115,211,194,82,66,93,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,73,157,202,82,122,93,202,80,73,145,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,115,147,202,82,115, - 159,202,18,114,19,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,75,147,234,82,91,159,202,82,75,147,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,116,185,166,164,37,165,164,164,116, - 185,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,209,234, - 16,91,209,202,16,75,223,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,205,194,18,49,159,136,82,115,147,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,121,205,194,18,121,159,192, - 82,123,147,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, - 157,201,32,121,25,201,4,73,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,75,185,201,8,121,9,201,8,73,49,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,69,205,196,144,68, - 137,168,132,16,153,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,114,29,202,18,114,19,194,18,67,221,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,114,19,202,18,114,19,194,18,67, - 205,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,14,33,137, - 32,14,33,138,32,9,33,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,221,194,2,49,141,136,80,115,159,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,57,221,194,2,49,141,136, - 66,115,157,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,113, - 207,202,16,74,13,202,2,113,221,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,69,202,76,114,69,194,68,65,143,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,114,93,202,66,114, - 77,194,80,65,159,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,59,157,193,32,49,25,137,4,113,57,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,211,194,18,66,31,194,18,57, - 211,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,69,17,237, - 16,85,81,197,176,69,17,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,59,141,194,82,51,159,138,18,114,19,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,123,141,194,82,123,159,194, - 18,122,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 143,194,80,50,77,138,66,113,157,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,51,155,196,34,37,163,148,162,99,155,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,57,221,194,8,50, - 9,138,8,113,221,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,221,194,8,65,137,192,72,59,157,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,14,249,144,32,12,33,130,32,28, - 33,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,49,207,202, - 16,73,145,200,80,51,143,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,33,203,96,114,161,194,32,66,33,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,51,143,202,80,123,145,202, - 16,74,15,128,0,0,1,128,0,0,1,128,0,85,85,0, - 0,0,8,0,14,1,10,10,8,4,0,128,128,0,128,128, - 128,128,128,128,128,7,10,10,8,1,0,16,16,124,146,144, - 144,146,124,16,16,7,10,10,8,1,0,28,32,32,32,248, - 32,32,32,124,194,6,8,8,8,1,1,132,72,120,72,72, - 120,72,132,7,10,10,8,1,0,130,68,40,16,254,16,254, - 16,16,16,1,10,10,8,4,0,128,128,128,128,0,0,128, - 128,128,128,6,10,10,8,1,0,120,132,128,120,132,132,120, - 4,132,120,4,2,2,8,2,12,144,144,8,10,10,8,0, - 0,60,66,153,165,161,161,165,153,66,60,5,7,7,8,2, - 5,112,8,120,136,120,0,248,6,9,9,8,1,0,36,36, - 72,72,144,72,72,36,36,6,4,4,8,1,0,252,4,4, - 4,6,1,1,8,1,4,252,8,10,10,8,0,0,60,66, - 185,165,165,185,169,165,66,60,6,1,1,8,1,11,252,3, - 4,4,8,2,10,64,160,160,64,7,9,9,8,1,1,16, - 16,16,254,16,16,16,0,254,5,7,7,8,2,5,112,136, - 8,112,128,128,248,5,7,7,8,2,5,112,136,8,112,8, - 136,112,3,3,3,8,3,10,32,64,128,5,8,8,8,2, - 254,136,136,136,136,216,168,128,128,6,12,12,8,1,255,124, - 244,244,244,244,116,20,20,20,20,20,28,2,2,2,8,3, - 4,192,192,3,2,2,8,2,254,32,192,3,7,7,8,2, - 5,32,96,160,32,32,32,32,5,7,7,8,2,5,112,136, - 136,136,112,0,248,6,9,9,8,1,0,144,144,72,72,36, - 72,72,144,144,6,10,10,8,1,0,68,196,72,80,80,36, - 44,84,156,132,6,10,10,8,1,0,68,196,72,80,80,40, - 52,68,136,156,6,10,10,8,1,0,196,36,72,48,208,36, - 44,84,156,132,6,10,10,8,1,0,16,16,0,16,16,96, - 132,132,132,120,6,14,14,8,1,0,96,24,0,0,48,72, - 72,132,132,252,132,132,132,132,6,14,14,8,1,0,24,96, - 0,0,48,72,72,132,132,252,132,132,132,132,6,14,14,8, - 1,0,48,72,0,0,48,72,72,132,132,252,132,132,132,132, - 6,14,14,8,1,0,100,152,0,0,48,72,72,132,132,252, - 132,132,132,132,6,14,14,8,1,0,72,72,0,0,48,72, - 72,132,132,252,132,132,132,132,6,14,14,8,1,0,48,72, - 48,0,48,72,72,132,132,252,132,132,132,132,7,10,10,8, - 1,0,62,80,144,144,254,144,144,144,144,158,6,12,12,8, - 1,254,120,132,132,128,128,128,128,132,132,120,16,96,6,14, - 14,8,1,0,96,24,0,0,252,128,128,128,248,128,128,128, - 128,252,6,14,14,8,1,0,24,96,0,0,252,128,128,128, - 248,128,128,128,128,252,6,14,14,8,1,0,48,72,0,0, - 252,128,128,128,248,128,128,128,128,252,6,14,14,8,1,0, - 72,72,0,0,252,128,128,128,248,128,128,128,128,252,5,14, - 14,8,2,0,96,24,0,0,248,32,32,32,32,32,32,32, - 32,248,5,14,14,8,2,0,48,192,0,0,248,32,32,32, - 32,32,32,32,32,248,5,14,14,8,2,0,96,144,0,0, - 248,32,32,32,32,32,32,32,32,248,5,14,14,8,2,0, - 144,144,0,0,248,32,32,32,32,32,32,32,32,248,7,10, - 10,8,0,0,120,68,66,66,242,66,66,66,68,120,6,14, - 14,8,1,0,100,152,0,0,132,196,196,164,164,148,148,140, - 140,132,6,14,14,8,1,0,96,24,0,0,120,132,132,132, - 132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,0, - 120,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 48,72,0,0,120,132,132,132,132,132,132,132,132,120,6,14, - 14,8,1,0,100,152,0,0,120,132,132,132,132,132,132,132, - 132,120,6,14,14,8,1,0,72,72,0,0,120,132,132,132, - 132,132,132,132,132,120,6,5,5,8,1,2,132,72,48,72, - 132,6,12,12,8,1,255,4,116,136,140,148,148,164,164,196, - 68,184,128,6,14,14,8,1,0,96,24,0,0,132,132,132, - 132,132,132,132,132,132,120,6,14,14,8,1,0,24,96,0, - 0,132,132,132,132,132,132,132,132,132,120,6,14,14,8,1, - 0,48,72,0,0,132,132,132,132,132,132,132,132,132,120,6, - 14,14,8,1,0,72,72,0,0,132,132,132,132,132,132,132, - 132,132,120,7,14,14,8,1,0,24,96,0,0,130,130,68, - 68,40,16,16,16,16,16,6,11,11,8,1,0,128,128,240, - 136,132,132,136,240,128,128,128,6,10,10,8,1,0,112,136, - 136,136,248,132,132,132,196,184,6,12,12,8,1,0,96,24, - 0,0,120,132,4,124,132,132,140,116,6,12,12,8,1,0, - 24,96,0,0,120,132,4,124,132,132,140,116,6,12,12,8, - 1,0,48,72,0,0,120,132,4,124,132,132,140,116,6,12, - 12,8,1,0,100,152,0,0,120,132,4,124,132,132,140,116, - 6,12,12,8,1,0,72,72,0,0,120,132,4,124,132,132, - 140,116,6,13,13,8,1,0,48,72,48,0,0,120,132,4, - 124,132,132,140,116,7,8,8,8,1,0,124,146,18,126,144, - 144,146,124,6,10,10,8,1,254,120,132,128,128,128,128,132, - 120,16,96,6,12,12,8,1,0,96,24,0,0,120,132,132, - 252,128,128,132,120,6,12,12,8,1,0,24,96,0,0,120, - 132,132,252,128,128,132,120,6,12,12,8,1,0,48,72,0, - 0,120,132,132,252,128,128,132,120,6,12,12,8,1,0,72, - 72,0,0,120,132,132,252,128,128,132,120,5,12,12,8,2, - 0,192,48,0,0,96,32,32,32,32,32,32,248,5,12,12, - 8,2,0,48,192,0,0,96,32,32,32,32,32,32,248,5, - 12,12,8,2,0,96,144,0,0,96,32,32,32,32,32,32, - 248,5,12,12,8,2,0,144,144,0,0,96,32,32,32,32, - 32,32,248,6,12,12,8,1,0,100,24,40,68,4,124,132, - 132,132,132,132,120,6,12,12,8,1,0,100,152,0,0,184, - 196,132,132,132,132,132,132,6,12,12,8,1,0,96,24,0, - 0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,24, - 96,0,0,120,132,132,132,132,132,132,120,6,12,12,8,1, - 0,48,72,0,0,120,132,132,132,132,132,132,120,6,12,12, - 8,1,0,100,152,0,0,120,132,132,132,132,132,132,120,6, - 12,12,8,1,0,72,72,0,0,120,132,132,132,132,132,132, - 120,6,7,7,8,1,1,48,0,0,252,0,0,48,6,10, - 10,8,1,255,4,120,140,148,148,164,164,196,120,128,6,12, - 12,8,1,0,96,24,0,0,132,132,132,132,132,132,140,116, - 6,12,12,8,1,0,24,96,0,0,132,132,132,132,132,132, - 140,116,6,12,12,8,1,0,48,72,0,0,132,132,132,132, - 132,132,140,116,6,12,12,8,1,0,72,72,0,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,254,24,96,0,0, - 132,132,132,132,132,76,52,4,4,120,5,12,12,8,2,254, - 128,128,240,136,136,136,144,160,192,128,128,128,6,14,14,8, - 1,254,72,72,0,0,132,132,132,132,132,76,52,4,4,120 - }; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 5 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_0_11[3240] U8G_FONT_SECTION("u8g_font_unifont_0_11") = { - 0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,68,56,114,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,6,1,1,8,1,4,252,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,10,10,8,1,0,128,128, - 136,144,160,192,160,144,136,132,5,10,10,8,2,0,96,32, - 32,32,32,32,32,32,32,248,7,8,8,8,1,0,236,146, - 146,146,146,146,146,146,6,8,8,8,1,0,184,196,132,132, - 132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,132, - 132,120,6,10,10,8,1,254,184,196,132,132,132,132,196,184, - 128,128,6,10,10,8,1,254,116,140,132,132,132,132,140,116, - 4,4,6,8,8,8,1,0,184,196,132,128,128,128,128,128, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,10, - 10,8,1,0,32,32,248,32,32,32,32,32,32,24,6,8, - 8,8,1,0,132,132,132,132,132,132,140,116,6,8,8,8, - 1,0,132,132,132,72,72,72,48,48,7,8,8,8,1,0, - 130,146,146,146,146,146,146,108,6,8,8,8,1,0,132,132, - 72,48,48,72,132,132,6,10,10,8,1,254,132,132,132,132, - 132,76,52,4,4,120,6,8,8,8,1,0,252,4,8,16, - 32,64,128,252,3,12,12,8,3,255,96,128,128,64,64,128, - 128,64,64,128,128,96,1,14,14,8,4,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,3,12,12,8,2,255, - 192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8, - 1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128, - 0,0,1,128,0,0,1,128,0,85,85,6,10,10,8,1, - 254,184,196,132,132,132,132,132,132,128,128,6,10,10,8,1, - 254,116,140,132,132,132,140,116,4,132,120,4,8,8,8,3, - 0,192,64,64,64,64,64,64,112,7,12,12,8,1,254,16, - 16,148,154,146,146,146,146,178,82,16,16,7,11,11,8,1, - 0,28,34,32,32,248,32,32,32,32,32,32,6,8,8,8, - 1,0,120,132,132,132,132,132,132,120,7,12,12,8,1,254, - 112,144,144,112,28,18,18,18,146,124,16,16,7,10,10,8, - 1,0,128,128,128,136,136,136,136,136,136,118,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 2,7,7,8,3,1,192,192,0,0,0,192,192,6,2,2, - 8,1,1,196,120,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,5,4,4, - 8,2,255,32,32,112,136,6,3,3,8,1,9,48,0,204, - 4,6,6,8,2,8,48,192,48,192,48,192,2,3,3,8, - 3,10,192,0,192,4,3,3,8,2,10,176,128,176,3,3, - 3,8,3,255,128,128,96,5,5,5,8,2,9,32,112,248, - 112,32,6,4,4,8,1,9,72,164,148,72,3,3,3,8, - 0,9,192,32,32,2,3,3,8,5,255,64,128,64,4,4, - 4,8,1,254,208,208,16,224,3,3,3,8,3,10,96,128, - 128,3,3,3,8,5,9,96,128,128,5,5,5,8,3,9, - 48,64,152,160,32,8,4,4,8,0,9,66,165,66,36,3, - 4,4,8,5,9,64,160,64,128,4,3,3,8,0,8,80, - 96,128,5,3,3,8,1,254,136,112,32,3,3,3,8,2, - 255,32,32,224,2,3,3,8,3,255,64,128,64,3,3,3, - 8,2,255,32,32,192,5,4,4,8,1,254,40,200,16,96, - 4,5,5,8,2,254,96,128,96,16,96,3,3,3,8,2, - 9,192,32,32,3,4,4,8,1,9,64,160,64,32,5,4, - 4,8,2,254,136,112,32,32,2,3,3,8,2,10,64,128, - 64,3,3,3,8,3,10,32,32,224,3,3,3,8,5,255, - 128,128,96,5,4,4,8,0,9,72,168,168,144,4,4,4, - 8,2,9,96,144,144,96,2,3,3,8,3,255,192,0,192, - 5,3,3,8,2,255,168,0,72,5,3,3,8,2,255,232, - 0,8,5,3,3,8,2,255,232,64,72,2,2,2,8,3, - 0,192,192,6,2,2,8,1,0,204,204,6,3,3,8,1, - 254,204,0,48,4,1,1,8,2,0,240,5,3,3,8,2, - 254,248,32,32,2,2,2,8,2,10,192,192,2,2,2,8, - 1,10,192,192,5,3,3,8,2,255,128,32,8,2,1,1, - 8,3,5,192,1,3,3,8,4,255,128,128,128,6,2,2, - 8,1,10,124,248,4,1,1,8,2,10,240,1,9,9,8, - 4,0,128,128,128,128,128,128,128,128,128,2,2,2,8,5, - 10,192,192,2,2,2,8,1,10,192,192,3,8,8,8,3, - 0,64,224,64,0,0,64,224,64,2,2,2,8,3,10,192, - 192,2,2,2,8,3,10,192,192,4,9,9,8,2,0,224, - 128,128,128,128,128,128,128,240,5,4,4,8,2,254,248,32, - 32,32,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255, - 168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255, - 168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,6,9,9,8,1,0,132,132,68,36,88,144,136,132, - 132,7,9,9,8,1,0,248,8,8,8,8,8,8,8,254, - 6,9,9,8,1,0,96,16,16,16,8,24,40,68,132,6, - 9,9,8,1,0,252,8,8,8,8,8,8,8,8,6,9, - 9,8,1,0,252,4,4,68,68,68,68,68,68,3,9,9, - 8,2,0,224,32,32,32,32,32,32,32,32,5,9,9,8, - 2,0,192,48,40,32,32,32,32,32,32,6,9,9,8,1, - 0,252,68,68,68,68,68,68,68,68,6,9,9,8,1,0, - 140,148,132,132,132,132,132,132,252,3,4,4,8,2,5,224, - 32,32,32,6,11,11,8,1,254,252,4,4,4,4,4,4, - 4,4,4,4,6,9,9,8,1,0,252,4,4,4,4,4, - 4,4,248,5,11,11,8,2,0,128,128,248,8,8,8,8, - 16,16,32,192,7,9,9,8,0,0,254,34,34,34,34,34, - 34,34,62,7,9,9,8,1,0,156,98,66,130,130,130,130, - 130,142,3,11,11,8,2,254,224,32,32,32,32,32,32,32, - 32,32,32,4,9,9,8,2,0,112,16,16,16,16,16,16, - 16,240,6,9,9,8,1,0,252,132,132,132,132,132,132,136, - 240,7,9,9,8,0,0,18,18,18,18,18,18,18,18,254, - 6,11,11,8,1,254,252,132,132,132,228,4,4,4,4,4, - 4,6,9,9,8,1,0,252,132,132,132,228,4,4,4,252, - 5,11,11,8,2,254,136,136,144,160,192,128,128,128,128,128, - 128,6,9,9,8,1,0,132,132,72,48,16,8,4,4,252, - 6,11,11,8,1,254,252,68,68,72,72,80,64,64,64,64, - 64,6,9,9,8,1,0,252,4,4,4,4,4,4,4,4, - 7,9,9,8,1,0,146,146,146,146,146,146,146,146,254,6, - 9,9,8,1,0,124,68,68,68,68,68,68,68,196,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255, - 168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,7,9,9,8,1,0,238,34,34,34,34,34,34,34, - 34,7,9,9,8,1,0,238,34,34,34,2,2,2,2,2, - 7,4,4,8,1,5,238,34,34,34,3,3,3,8,4,9, - 32,64,128,6,3,3,8,1,9,36,72,144,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4249] U8G_FONT_SECTION("u8g_font_unifont_0_8") = { - 0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, - 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, - 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, - 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, - 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, - 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, - 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, - 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, - 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, - 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, - 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, - 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, - 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, - 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, - 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, - 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, - 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, - 223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202, - 82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202, - 18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, - 147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91, - 209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123, - 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201, - 32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168, - 132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, - 29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14, - 33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115, - 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202, - 16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194, - 80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, - 157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42, - 169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122, - 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194, - 80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138, - 8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73, - 145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74, - 15,128,0,0,1,128,0,0,1,128,0,85,85,6,13,13, - 8,1,0,96,24,0,252,128,128,128,248,128,128,128,128,252, - 6,14,14,8,1,0,72,72,0,0,252,128,128,128,248,128, - 128,128,128,252,7,10,10,8,1,0,252,32,32,32,60,34, - 34,34,34,44,6,14,14,8,1,0,24,96,0,0,252,128, - 128,128,128,128,128,128,128,128,6,10,10,8,1,0,56,68, - 128,128,248,128,128,128,68,56,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,5,10,10,8,2,0,248,32, - 32,32,32,32,32,32,32,248,5,14,14,8,2,0,144,144, - 0,0,248,32,32,32,32,32,32,32,32,248,6,10,10,8, - 1,0,28,8,8,8,8,8,8,136,136,112,8,10,10,8, - 0,0,120,72,72,72,78,73,73,73,73,142,7,10,10,8, - 1,0,144,144,144,144,252,146,146,146,146,156,7,10,10,8, - 1,0,252,32,32,32,60,34,34,34,34,34,6,14,14,8, - 1,0,24,96,0,0,128,140,144,160,192,192,160,144,136,132, - 6,13,13,8,1,0,96,24,0,132,140,140,148,148,164,164, - 196,196,132,7,14,14,8,1,0,132,132,120,0,130,130,68, - 68,40,40,16,16,32,96,7,12,12,8,1,254,130,130,130, - 130,130,130,130,130,130,254,16,16,6,10,10,8,1,0,48, - 72,72,132,132,252,132,132,132,132,6,10,10,8,1,0,248, - 128,128,128,248,132,132,132,132,248,6,10,10,8,1,0,248, - 132,132,132,248,132,132,132,132,248,6,10,10,8,1,0,252, - 128,128,128,128,128,128,128,128,128,8,12,12,8,0,254,14, - 18,18,18,34,34,34,66,66,255,129,129,6,10,10,8,1, - 0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1, - 0,146,146,84,84,56,56,84,84,146,146,6,10,10,8,1, - 0,120,132,4,4,120,8,4,4,132,120,6,10,10,8,1, - 0,132,140,140,148,148,164,164,196,196,132,6,13,13,8,1, - 0,72,48,0,132,140,140,148,148,164,164,196,196,132,6,10, - 10,8,1,0,140,144,144,160,160,192,160,144,136,132,6,10, - 10,8,1,0,60,36,36,36,36,36,36,68,68,132,6,10, - 10,8,1,0,132,132,204,204,180,180,132,132,132,132,6,10, - 10,8,1,0,132,132,132,132,252,132,132,132,132,132,6,10, - 10,8,1,0,120,132,132,132,132,132,132,132,132,120,6,10, - 10,8,1,0,252,132,132,132,132,132,132,132,132,132,6,10, - 10,8,1,0,248,132,132,132,248,128,128,128,128,128,6,10, - 10,8,1,0,120,132,132,128,128,128,128,132,132,120,7,10, - 10,8,1,0,254,16,16,16,16,16,16,16,16,16,7,10, - 10,8,1,0,130,130,68,68,40,40,16,16,32,96,7,11, - 11,8,1,0,16,124,146,146,146,146,146,124,16,16,16,6, - 10,10,8,1,0,132,132,72,72,48,48,72,72,132,132,7, - 12,12,8,1,254,132,132,132,132,132,132,132,132,132,254,2, - 2,6,10,10,8,1,0,132,132,132,132,132,252,4,4,4, - 4,7,10,10,8,1,0,146,146,146,146,146,146,146,146,146, - 254,8,12,12,8,0,254,146,146,146,146,146,146,146,146,146, - 255,1,1,7,10,10,8,1,0,224,32,32,32,60,34,34, - 34,34,60,6,10,10,8,1,0,132,132,132,132,228,148,148, - 148,148,228,6,10,10,8,1,0,128,128,128,128,248,132,132, - 132,132,248,6,10,10,8,1,0,112,136,4,4,124,4,4, - 4,136,112,6,10,10,8,1,0,152,164,164,164,228,164,164, - 164,164,152,6,10,10,8,1,0,124,132,132,132,124,36,68, - 68,132,132,6,8,8,8,1,0,120,132,4,124,132,132,140, - 116,6,12,12,8,1,0,4,56,64,128,248,132,132,132,132, - 132,132,120,6,8,8,8,1,0,248,132,132,248,132,132,132, - 248,6,8,8,8,1,0,252,128,128,128,128,128,128,128,7, - 9,9,8,1,255,60,36,68,68,132,132,132,254,130,6,8, - 8,8,1,0,120,132,132,252,128,128,132,120,7,8,8,8, - 1,0,146,146,84,56,56,84,146,146,6,8,8,8,1,0, - 120,132,4,120,8,4,132,120,6,8,8,8,1,0,140,140, - 148,148,164,164,196,196,6,12,12,8,1,0,72,48,0,0, - 140,140,148,148,164,164,196,196,6,8,8,8,1,0,140,144, - 160,192,160,144,136,132,6,8,8,8,1,0,60,36,36,36, - 36,68,68,132,6,8,8,8,1,0,132,204,204,180,180,132, - 132,132,6,8,8,8,1,0,132,132,132,252,132,132,132,132, - 6,8,8,8,1,0,120,132,132,132,132,132,132,120,6,8, - 8,8,1,0,252,132,132,132,132,132,132,132,6,10,10,8, - 1,254,184,196,132,132,132,132,196,184,128,128,6,8,8,8, - 1,0,120,132,128,128,128,128,132,120,7,8,8,8,1,0, - 254,16,16,16,16,16,16,16,6,10,10,8,1,254,132,132, - 72,72,48,48,32,32,64,192,7,13,13,8,1,254,16,16, - 16,124,146,146,146,146,146,146,124,16,16,6,8,8,8,1, - 0,132,132,72,48,48,72,132,132,7,10,10,8,1,254,132, - 132,132,132,132,132,132,254,2,2,6,8,8,8,1,0,132, - 132,132,132,252,4,4,4,7,8,8,8,1,0,146,146,146, - 146,146,146,146,254,8,10,10,8,0,254,146,146,146,146,146, - 146,146,255,1,1,7,8,8,8,1,0,224,32,32,60,34, - 34,34,60,6,8,8,8,1,0,132,132,132,228,148,148,148, - 228,6,8,8,8,1,0,128,128,128,248,132,132,132,248,6, - 8,8,8,1,0,112,136,4,124,4,4,136,112,6,8,8, - 8,1,0,152,164,164,228,164,164,164,152,6,8,8,8,1, - 0,124,132,132,132,124,36,68,132,6,12,12,8,1,0,96, - 24,0,0,120,132,132,252,128,128,132,120,6,12,12,8,1, - 0,72,72,0,0,120,132,132,252,128,128,132,120,7,13,13, - 8,0,254,64,240,64,92,98,66,66,66,66,66,66,2,12, - 6,12,12,8,1,0,24,96,0,0,252,128,128,128,128,128, - 128,128,6,8,8,8,1,0,56,68,128,248,128,128,68,56, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,11, - 11,8,2,0,32,32,0,96,32,32,32,32,32,32,248,5, - 11,11,8,2,0,144,144,0,96,32,32,32,32,32,32,248, - 5,13,13,8,1,254,8,8,0,24,8,8,8,8,8,8, - 8,144,96,8,8,8,8,0,0,120,72,72,78,73,73,73, - 142,7,8,8,8,1,0,144,144,144,252,146,146,146,156,7, - 11,11,8,0,0,64,240,64,92,98,66,66,66,66,66,66, - 6,12,12,8,1,0,24,96,0,0,140,144,160,192,160,144, - 136,132,6,12,12,8,1,0,96,24,0,0,140,140,148,148, - 164,164,196,196,6,15,15,8,1,254,132,132,120,0,0,132, - 132,72,72,48,48,32,32,64,192,5,10,10,8,2,254,136, - 136,136,136,136,136,136,248,32,32}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 8, '1' Height: 7 - Calculated Max Values w=16 h=16 x= 9 y=11 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 2 - X Font ascent =13 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3987] U8G_FONT_SECTION("u8g_font_unifont_12_13") = { - 0,16,16,0,254,8,4,155,6,11,0,255,2,14,254,13, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,85,85,128, - 0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128, - 4,42,13,170,12,53,245,128,0,0,1,170,170,16,16,32, - 16,0,254,85,85,128,0,0,1,128,0,0,1,128,0,0, - 1,128,0,0,1,142,0,14,25,135,224,0,1,128,0,0, - 1,170,170,16,16,32,16,0,254,85,85,128,0,0,1,128, - 0,0,1,128,0,0,25,128,36,0,69,129,68,1,73,158, - 240,0,1,128,0,0,1,170,170,16,16,32,16,0,254,85, - 85,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0, - 1,128,0,1,149,130,124,2,1,191,0,0,1,170,170,16, - 16,32,16,0,254,85,85,128,0,0,1,136,4,22,25,161, - 224,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128, - 0,0,1,170,170,12,14,28,16,1,255,1,80,225,80,33, - 160,17,0,17,0,9,0,8,0,4,224,4,128,2,128,3, - 0,3,0,2,0,2,0,11,15,30,16,1,255,0,64,0, - 128,225,0,33,64,16,128,17,32,8,192,8,0,4,224,4, - 128,2,128,3,0,3,0,2,0,2,0,12,7,14,16,2, - 3,1,144,58,96,202,192,17,64,16,64,32,128,31,0,5, - 10,10,8,1,1,8,8,80,16,32,32,64,64,136,160,7, - 10,10,8,1,1,8,8,80,16,32,32,64,66,136,160,10, - 10,20,16,3,2,48,0,48,0,6,0,9,0,7,0,1, - 0,14,0,240,128,0,64,0,64,2,4,4,8,3,3,64, - 128,192,192,5,4,4,8,1,2,24,48,64,128,12,4,8, - 16,3,1,112,0,136,0,136,48,127,192,7,11,11,16,2, - 0,24,32,32,24,32,76,82,98,36,88,128,6,4,4,8, - 2,9,24,36,228,88,9,6,12,16,4,7,3,0,4,0, - 39,128,56,0,64,0,128,0,10,5,10,16,3,8,252,64, - 16,64,32,128,71,0,64,0,11,4,8,16,2,9,24,32, - 36,32,228,64,89,128,10,4,8,16,3,8,0,64,254,64, - 1,64,0,128,7,4,4,16,4,9,64,92,98,252,8,6, - 6,16,3,8,40,40,40,104,128,127,3,5,5,16,6,8, - 32,0,32,32,192,4,2,2,16,6,10,48,192,5,5,5, - 16,5,8,16,40,48,96,144,4,13,13,16,6,254,240,0, - 0,0,0,0,0,0,0,0,0,48,192,2,5,5,8,3, - 2,64,128,192,0,192,16,16,32,16,0,254,170,170,0,1, - 128,0,0,1,178,34,74,55,250,42,74,35,203,162,0,1, - 128,0,0,1,128,0,0,1,128,0,85,85,14,14,28,16, - 1,255,255,252,231,156,219,124,219,28,219,108,231,156,255,252, - 255,252,247,28,231,108,247,108,247,108,227,28,255,252,3,3, - 3,16,7,0,64,0,160,7,9,9,8,1,2,124,130,128, - 64,32,16,16,0,16,6,8,8,8,1,255,24,164,144,136, - 112,32,80,32,4,5,5,8,2,2,112,128,240,64,128,7, - 10,10,8,1,3,2,124,128,16,16,16,16,16,16,16,3, - 11,11,8,2,3,96,128,96,128,32,32,32,32,32,32,32, - 6,13,13,8,1,255,24,32,24,32,0,24,36,36,60,4, - 8,144,96,3,12,12,8,3,254,64,64,64,64,64,64,64, - 0,96,128,96,128,6,11,11,8,1,255,48,64,48,64,0, - 140,144,144,140,132,120,1,8,8,8,4,3,128,128,128,128, - 128,128,128,128,6,7,7,8,1,0,8,68,132,120,0,0, - 16,5,8,8,8,2,3,144,0,0,96,144,136,136,112,6, - 7,7,8,1,3,40,0,0,8,68,132,120,6,9,9,8, - 1,3,32,0,80,0,0,8,68,132,120,6,8,8,8,1, - 254,252,32,64,128,144,128,68,56,6,8,8,8,1,254,252, - 32,64,128,128,128,68,56,6,11,11,8,1,254,32,0,0, - 252,32,64,128,128,128,68,56,6,5,5,8,1,3,16,8, - 4,132,248,6,7,7,8,1,3,64,0,16,8,4,132,248, - 6,7,7,8,1,255,8,4,4,4,8,144,96,6,10,10, - 8,1,255,32,0,0,8,4,4,4,8,144,96,7,7,7, - 8,1,255,2,42,42,188,144,144,96,7,12,12,8,1,255, - 16,0,36,0,0,2,42,42,188,144,144,96,7,6,6,8, - 1,0,12,50,156,144,144,96,7,9,9,8,1,0,8,0, - 0,12,50,156,144,144,96,6,8,8,8,1,3,64,64,64, - 64,88,100,68,248,6,8,8,8,1,3,64,72,64,64,88, - 100,68,248,6,9,9,8,1,254,48,72,64,56,64,128,128, - 132,120,6,12,12,8,1,254,16,0,0,48,72,64,56,64, - 128,128,132,120,7,9,9,8,0,3,80,4,8,16,32,64, - 60,130,126,7,12,12,8,0,255,4,8,16,32,64,60,130, - 126,0,40,0,16,6,10,10,8,1,255,64,160,160,8,148, - 144,136,132,132,120,6,9,9,8,1,255,160,0,8,148,144, - 136,132,132,120,6,10,10,8,1,255,64,0,160,8,148,144, - 136,132,132,120,8,1,1,8,0,3,255,6,8,8,8,1, - 3,16,0,12,20,12,132,132,120,6,10,10,8,1,0,72, - 0,0,56,36,20,76,132,136,112,6,8,8,8,1,3,4, - 20,36,20,68,132,132,120,6,11,11,8,1,0,4,4,4, - 4,4,4,68,132,132,136,120,5,8,8,8,2,254,112,24, - 120,128,128,128,128,128,6,9,9,8,1,0,32,0,0,8, - 68,132,132,136,112,10,9,18,16,1,1,4,0,3,0,6, - 128,10,64,10,64,6,64,25,128,96,0,128,0,6,8,8, - 8,1,255,24,36,36,60,4,8,144,96,6,7,7,8,1, - 255,8,148,144,136,132,132,120,6,8,8,8,1,254,8,148, - 144,136,132,120,0,80,4,4,4,8,2,9,48,192,48,192, - 5,5,5,8,2,8,24,24,200,80,224,4,4,4,8,2, - 0,32,192,48,192,4,2,2,8,2,9,48,192,4,6,6, - 8,2,6,64,160,160,112,64,128,4,2,2,8,2,254,48, - 192,5,4,4,8,1,7,8,40,176,192,4,4,4,8,2, - 7,96,144,144,96,7,3,3,8,1,9,2,124,128,3,4, - 4,8,2,10,96,128,96,128,3,4,4,8,2,254,96,128, - 96,128,2,3,3,16,9,254,128,64,64,5,5,5,16,5, - 9,8,16,32,224,96,4,3,3,16,6,9,144,144,96,4, - 1,1,16,6,10,240,5,4,4,16,5,9,136,80,32,32, - 5,4,4,16,5,9,32,32,80,136,2,2,2,16,7,0, - 192,192,5,5,5,16,5,9,96,224,32,16,8,4,4,4, - 16,6,9,144,96,96,144,4,5,5,8,2,254,112,128,240, - 64,128,3,3,3,8,2,5,64,224,64,4,9,9,8,2, - 2,128,128,64,64,32,32,16,16,16,5,9,9,8,2,2, - 136,144,96,64,32,32,16,16,16,7,9,9,8,1,2,146, - 164,120,64,32,32,16,16,16,6,9,9,8,1,2,8,16, - 32,64,48,64,128,132,120,6,9,9,8,1,2,48,72,72, - 132,132,132,132,72,48,7,9,9,8,1,2,128,120,8,8, - 4,4,4,2,2,7,9,9,8,1,2,130,130,68,68,40, - 40,16,16,16,7,9,9,8,1,2,16,16,16,40,40,68, - 68,130,130,7,9,9,8,1,2,48,72,136,152,104,4,4, - 2,2,5,10,10,8,1,2,8,8,144,144,32,32,72,72, - 128,128,4,4,4,8,2,1,16,16,16,224,2,4,4,8, - 3,7,192,192,64,128,7,6,6,8,1,3,16,16,254,56, - 108,68,6,4,4,8,1,3,8,68,132,120,6,7,7,8, - 1,0,56,36,20,76,132,136,112,1,4,4,8,4,7,128, - 128,128,128,5,11,11,8,2,3,16,40,120,128,32,32,32, - 32,32,32,32,6,11,11,8,1,3,12,16,76,176,0,16, - 16,16,16,16,16,6,12,12,8,1,254,16,16,16,16,16, - 16,16,0,12,16,76,176,3,4,4,8,2,10,96,128,96, - 128,5,11,11,8,2,3,24,32,24,32,128,128,128,128,128, - 128,128,7,13,13,8,1,255,6,8,6,8,0,24,36,36, - 60,4,8,144,96,7,13,13,8,1,255,102,104,38,72,128, - 24,36,36,60,4,8,144,96,7,11,11,8,1,255,6,8, - 6,8,0,140,144,144,140,132,120,6,9,9,8,1,3,64, - 64,112,112,0,8,68,132,120,6,9,9,8,1,3,32,0, - 32,0,0,8,68,132,120,6,8,8,8,1,255,8,68,132, - 120,0,16,0,16,6,10,10,8,1,0,40,0,0,8,68, - 132,120,16,40,16,6,9,9,8,1,3,80,0,32,0,0, - 8,68,132,120,6,8,8,8,1,255,8,68,132,120,0,40, - 0,16,6,9,9,8,1,3,80,0,80,0,0,8,68,132, - 120,6,8,8,8,1,255,8,68,132,120,0,40,0,40,6, - 13,13,8,1,254,48,64,48,64,0,252,32,64,128,128,128, - 68,56,6,13,13,8,1,254,32,0,32,0,0,252,32,64, - 128,128,128,68,56,6,8,8,8,1,254,252,32,64,128,168, - 128,68,56,6,8,8,8,1,254,252,32,64,144,128,144,68, - 56,6,13,13,8,1,254,32,0,72,0,0,252,32,64,128, - 128,128,68,56,6,8,8,8,1,254,252,64,128,168,128,144, - 68,56,6,8,8,8,1,254,252,64,128,168,128,168,68,56, - 6,10,10,8,1,3,64,64,112,112,0,16,8,4,132,248, - 6,8,8,8,1,0,16,8,4,132,248,16,40,16,6,7, - 7,8,1,1,16,8,4,132,248,0,16,6,12,12,8,1, - 1,64,64,112,112,0,16,8,4,132,248,0,16,6,8,8, - 8,1,3,80,0,0,16,8,4,132,248,6,7,7,8,1, - 1,16,8,4,132,248,0,80,6,9,9,8,1,3,32,0, - 80,0,16,8,4,132,248,6,9,9,8,1,3,80,0,32, - 0,16,8,4,132,248,6,9,9,8,1,3,80,0,80,0, - 16,8,4,132,248,6,13,13,8,1,255,16,16,28,28,0, - 0,8,4,4,4,8,144,96,7,13,13,8,1,255,34,20, - 8,8,0,0,8,4,4,4,8,144,96,6,8,8,8,1, - 254,8,4,4,4,8,152,116,8,6,7,7,8,1,255,8, - 4,4,4,8,144,100,7,8,8,8,1,254,16,8,8,8, - 16,144,106,4,6,7,7,8,1,255,8,4,4,36,8,144, - 100,6,10,10,8,1,255,36,0,0,8,4,4,4,8,144, - 96,6,12,12,8,1,255,16,0,40,0,0,8,4,4,4, - 8,144,96,6,12,12,8,1,255,36,0,36,0,0,8,4, - 4,4,8,144,96,7,10,10,8,1,0,8,0,0,2,42, - 42,188,144,148,96,7,8,8,8,1,255,2,42,42,188,160, - 170,64,4,7,13,13,8,1,255,16,0,36,0,0,2,42, - 42,188,160,170,64,4,7,6,6,8,1,0,12,50,156,160, - 170,64,7,11,11,8,1,0,16,0,36,0,0,12,50,156, - 144,144,96,6,8,8,8,1,3,72,64,84,64,88,100,68, - 248,6,14,14,8,1,254,32,0,72,0,0,48,72,64,56, - 64,128,128,132,120,6,6,6,8,1,3,12,20,12,132,132, - 120,6,8,8,8,1,1,12,20,12,132,132,120,0,16,6, - 11,11,8,1,1,8,0,0,12,20,12,132,132,120,0,16, - 6,10,10,8,1,3,16,0,36,0,12,20,12,132,132,120, - 6,10,10,8,1,255,12,20,12,132,132,120,0,72,0,32, - 6,10,10,8,1,3,20,0,20,0,12,20,12,132,132,120, - 6,10,10,8,1,0,8,0,0,56,36,20,76,132,136,112, - 6,12,12,8,1,0,32,0,72,0,0,56,36,20,76,132, - 136,112,7,8,8,8,0,3,4,8,16,32,64,60,130,126, - 14,8,16,16,1,3,0,48,0,192,3,0,12,0,16,0, - 15,248,128,4,127,248,7,8,8,8,0,3,4,12,26,36, - 64,60,130,126,6,10,10,8,1,3,16,0,4,20,36,20, - 68,132,132,120,6,11,11,8,1,3,32,0,80,4,20,36, - 20,68,132,132,120,6,12,12,8,1,255,4,20,36,20,68, - 132,132,120,0,40,0,16,7,10,10,8,0,3,8,16,36, - 72,16,32,64,60,130,126,7,10,10,8,0,3,8,16,36, - 76,26,36,64,60,130,126,7,10,10,8,0,3,80,6,24, - 98,12,48,64,60,130,126,7,12,12,8,0,1,8,16,36, - 72,16,32,64,60,130,126,0,40,7,14,14,8,0,255,8, - 16,36,72,16,32,64,60,130,126,0,16,0,16,7,11,11, - 8,0,3,64,0,166,24,98,12,48,64,60,130,126,7,14, - 14,8,1,0,34,20,8,8,0,4,4,4,4,68,132,132, - 136,120,6,13,13,8,1,0,4,0,4,4,4,4,4,4, - 68,132,132,136,120,7,14,14,8,1,0,8,0,18,0,4, - 4,4,4,4,68,132,132,136,120,6,13,13,8,1,254,4, - 4,4,4,4,4,68,132,120,0,40,0,16,6,11,11,8, - 1,254,16,0,0,8,68,132,132,136,112,0,16,6,6,6, - 8,1,0,8,68,132,132,136,112,6,12,12,8,1,0,32, - 32,56,56,0,0,8,68,132,132,136,112,6,11,11,8,1, - 254,16,0,0,8,68,132,132,136,120,20,8,6,11,11,8, - 1,0,32,0,72,0,0,8,68,132,132,136,112,6,6,6, - 8,1,2,32,88,84,52,72,128,6,11,11,8,1,254,32, - 0,0,252,64,128,168,128,144,68,56,4,10,10,8,2,3, - 96,128,96,128,0,64,96,144,144,240,6,3,3,8,1,2, - 32,92,128,6,8,8,8,1,2,48,64,48,64,0,32,92, - 128,6,6,6,8,1,2,80,0,0,32,92,128,6,8,8, - 8,1,255,24,36,36,28,68,164,72,240,6,8,8,8,1, - 255,24,36,36,60,4,56,144,96,6,13,13,8,1,255,68, - 40,16,16,0,24,36,36,60,4,8,144,96,6,14,14,8, - 1,255,32,80,80,56,32,64,152,36,36,60,4,8,144,96, - 6,12,12,8,1,255,16,8,8,0,24,36,36,60,4,8, - 144,96,6,12,12,8,1,255,16,40,68,0,24,36,36,60, - 4,8,144,96,6,11,11,8,1,255,40,0,0,24,36,36, - 60,4,8,144,96,6,13,13,8,1,255,16,0,36,0,0, - 24,36,36,60,4,8,144,96,6,7,7,8,1,255,8,148, - 144,136,132,132,120,7,7,7,8,0,255,4,42,104,164,34, - 34,28,6,12,12,8,1,255,136,80,32,32,0,8,148,144, - 136,132,132,120,6,11,11,8,1,255,16,0,0,24,36,36, - 60,4,8,144,96,6,9,9,8,1,254,24,164,144,136,112, - 0,32,0,32,6,9,9,8,1,254,24,164,144,136,112,0, - 80,0,32,7,6,6,8,1,255,16,40,32,64,128,254,7, - 10,10,8,1,255,96,128,96,128,16,40,32,64,128,254,4, - 1,1,8,2,3,240,4,5,5,8,2,3,64,96,144,144, - 240,11,5,10,16,3,9,16,64,18,224,127,224,128,0,254, - 0,10,5,10,16,3,9,18,64,17,0,127,0,128,0,254, - 0,6,4,4,16,5,9,8,20,60,192,5,5,5,16,4, - 9,136,72,48,16,48,8,5,5,16,3,9,252,32,72,33, - 30,3,3,3,8,4,8,160,0,128,9,4,8,16,4,9, - 18,128,159,128,144,0,96,0,16,16,32,16,0,254,85,85, - 128,0,1,193,134,48,11,233,140,24,16,5,144,4,16,5, - 140,24,11,233,134,48,1,193,128,0,0,1,170,170,15,15, - 30,16,1,254,1,0,2,128,63,248,40,40,48,24,35,136, - 100,76,164,74,100,76,35,136,48,24,40,40,63,248,2,128, - 1,0,3,4,4,16,6,9,96,160,160,96,4,5,5,16, - 6,9,96,144,144,144,96,6,3,3,16,5,10,252,8,96, - 3,5,5,16,6,9,96,224,128,128,64,9,4,8,16,4, - 254,18,128,159,128,144,0,96,0,6,2,2,16,5,10,12, - 240,5,4,4,8,2,9,24,24,16,224,7,4,4,8,1, - 9,32,64,128,254,7,4,4,16,3,9,32,64,128,254,6, - 4,4,16,5,9,16,132,132,124,15,15,30,16,1,254,1, - 0,2,128,5,64,10,160,21,80,42,168,84,84,42,168,42, - 168,42,168,43,168,40,40,47,232,96,12,255,254,5,5,5, - 16,5,9,32,80,136,80,32,5,5,5,16,5,254,32,80, - 136,80,32,2,2,2,16,7,11,192,192,2,4,4,16,7, - 254,192,128,128,64,6,9,9,8,1,3,16,40,68,0,16, - 8,4,132,248,7,11,11,8,1,255,8,20,34,0,8,4, - 4,4,8,144,96,3,3,3,8,2,5,64,224,64,4,9, - 9,8,2,2,128,128,64,64,32,32,16,16,16,5,9,9, - 8,2,2,136,144,96,64,32,32,16,16,16,7,9,9,8, - 1,2,146,164,120,64,32,32,16,16,16,6,9,9,8,1, - 2,48,72,192,228,88,64,32,32,32,7,9,9,8,1,1, - 16,16,40,40,68,68,146,170,198,6,8,8,8,1,2,56, - 68,64,64,48,12,48,192,7,9,9,8,1,2,130,130,68, - 68,40,40,16,16,16,7,9,9,8,1,2,16,16,16,40, - 40,68,68,130,130,7,9,9,8,1,2,48,72,136,152,104, - 4,4,2,2,7,12,12,8,1,0,16,0,36,0,0,2, - 42,42,188,144,148,96,7,9,9,8,1,0,8,0,0,12, - 50,156,144,148,96,6,12,12,8,1,254,16,0,0,48,72, - 64,56,64,144,128,132,120,4,10,10,8,2,254,112,128,240, - 64,128,0,80,80,80,80,6,8,8,8,1,254,56,12,124, - 128,148,148,148,148,10,12,24,16,1,1,4,0,10,0,17, - 0,4,0,3,0,6,128,10,64,10,64,6,64,25,128,96, - 0,128,0}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 3, '1' Height: 12 - Calculated Max Values w=16 h=16 x=12 y=11 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent=-2 - X Font ascent =12 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[7078] U8G_FONT_SECTION("u8g_font_unifont_18_19") = { - 0,16,16,0,254,3,7,121,9,233,0,255,254,14,254,12, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,8,4,4,16,4,9,152,91,35, - 28,2,2,2,16,7,11,192,192,2,5,5,16,12,3,192, - 192,0,192,192,14,15,30,16,2,255,32,0,31,0,0,128, - 57,252,68,192,4,192,12,192,56,192,8,192,135,192,134,192, - 78,192,60,192,0,192,0,64,15,12,24,16,1,255,57,254, - 68,192,4,192,12,192,56,192,8,192,135,192,134,192,78,192, - 60,192,0,192,0,64,15,12,24,16,1,255,57,254,68,204, - 4,204,12,204,56,204,8,204,135,204,134,204,78,204,60,204, - 0,204,0,68,16,13,26,16,0,254,255,255,0,192,0,192, - 15,192,24,0,24,0,15,224,0,48,3,48,5,176,7,224, - 0,64,0,32,16,16,32,16,0,254,3,192,6,32,1,0, - 255,255,0,192,0,192,15,192,24,0,24,0,15,224,0,48, - 3,48,5,176,7,224,0,64,0,32,16,12,24,16,0,255, - 255,255,1,128,0,192,0,192,1,192,15,128,65,128,64,192, - 32,192,16,192,9,192,7,128,16,12,24,16,0,255,255,255, - 1,128,0,192,0,192,1,192,15,156,65,178,64,226,32,194, - 16,198,9,196,7,128,16,13,26,16,0,254,255,255,1,128, - 57,128,101,152,3,152,7,248,31,136,57,136,33,156,1,184, - 1,160,0,160,0,30,16,12,24,16,0,255,255,255,0,32, - 0,32,56,32,116,248,99,204,99,12,48,12,16,120,12,192, - 2,128,0,124,16,16,32,16,0,254,0,152,0,112,0,0, - 255,255,12,48,12,48,12,48,12,48,12,96,4,0,2,0, - 1,128,0,96,0,16,0,24,0,24,16,16,32,16,0,254, - 16,0,15,224,0,16,255,255,12,48,12,48,12,48,12,48, - 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, - 16,13,26,16,0,254,255,255,12,48,12,48,12,48,12,48, - 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, - 16,16,32,16,0,254,15,0,0,128,0,64,255,255,12,48, - 12,48,12,48,12,48,12,96,4,0,2,0,1,128,0,96, - 0,16,0,24,0,24,15,15,30,16,1,255,0,76,0,60, - 0,0,57,254,68,204,4,204,12,204,56,204,8,204,135,204, - 134,204,78,204,60,204,0,204,0,68,15,15,30,16,1,255, - 2,0,1,240,0,8,57,254,68,204,4,204,12,204,56,204, - 8,204,135,204,134,204,78,204,60,204,0,204,0,68,15,15, - 30,16,1,255,1,192,0,32,0,16,57,254,68,204,4,204, - 12,204,56,204,8,204,135,204,134,204,78,204,60,204,0,204, - 0,68,15,15,30,16,1,255,0,224,1,208,0,40,57,254, - 68,204,4,204,12,204,56,204,8,204,135,204,134,204,78,204, - 60,204,0,204,0,68,16,12,24,16,0,255,255,255,1,128, - 1,128,29,128,51,224,35,144,39,152,29,152,1,152,1,152, - 1,128,0,128,16,12,24,16,0,255,255,255,8,24,8,24, - 9,216,59,56,58,24,18,56,17,216,8,24,6,24,1,152, - 0,8,16,12,24,16,0,255,255,255,1,152,1,152,1,152, - 1,152,7,152,3,152,1,152,0,152,0,24,0,24,0,8, - 16,12,24,16,0,255,255,255,12,24,12,24,7,216,2,24, - 4,24,4,56,4,120,3,216,0,24,0,24,0,8,16,11, - 22,16,0,0,255,255,0,96,0,96,15,224,24,0,24,4, - 15,206,0,100,16,96,8,96,7,192,16,12,24,16,0,255, - 255,255,0,24,0,24,0,24,31,248,3,24,6,56,6,120, - 3,216,0,24,0,24,0,8,16,13,26,16,0,254,255,255, - 0,16,0,16,60,120,112,228,96,196,32,68,31,44,12,24, - 24,56,24,100,7,134,0,6,16,12,24,16,0,255,255,255, - 0,24,0,24,0,24,3,248,17,152,8,216,8,216,7,152, - 0,24,0,24,0,8,16,12,24,16,0,255,255,255,3,24, - 3,24,31,24,48,24,48,24,31,248,1,24,13,24,22,24, - 29,24,0,136,16,12,24,16,0,255,255,255,0,24,0,24, - 7,24,5,152,33,184,33,248,33,216,19,152,15,24,0,24, - 0,8,16,11,22,16,0,0,255,255,0,192,0,192,0,192, - 7,192,12,0,24,0,24,0,24,0,12,16,7,224,16,12, - 24,16,0,255,255,255,1,128,1,128,1,128,3,128,7,96, - 12,16,8,24,8,24,8,56,4,112,3,224,16,11,22,16, - 0,0,255,255,0,24,0,24,3,248,6,0,6,0,3,240, - 0,24,4,24,2,24,1,240,16,12,24,16,0,255,255,255, - 0,96,0,96,7,224,12,0,24,0,24,192,25,160,9,16, - 5,16,3,48,1,224,16,12,24,16,0,255,255,255,25,152, - 25,152,25,152,25,152,25,152,9,152,7,24,0,24,0,24, - 0,24,0,8,16,12,24,16,0,255,255,255,0,24,0,24, - 0,24,7,248,14,24,12,24,12,24,6,24,2,24,1,24, - 0,136,13,12,24,16,3,255,227,248,216,192,204,192,76,192, - 28,192,120,192,97,192,35,192,30,192,0,192,0,192,0,64, - 16,12,24,16,0,255,255,255,0,24,0,24,0,24,1,248, - 2,0,6,0,6,24,2,40,1,240,0,8,0,4,13,12, - 24,16,3,255,115,248,200,192,192,192,192,192,96,192,28,192, - 48,192,96,192,97,192,99,192,30,192,0,64,16,12,24,16, - 0,255,255,255,0,24,0,24,0,24,7,248,6,24,6,24, - 2,24,0,24,0,24,0,24,0,8,16,12,24,16,0,255, - 255,255,0,24,0,24,0,24,7,248,6,24,6,24,2,24, - 0,24,1,24,3,152,1,8,16,12,24,16,0,255,255,255, - 6,24,6,24,6,24,6,24,6,24,2,56,1,216,0,24, - 0,24,0,24,0,8,16,12,24,16,0,255,255,255,49,128, - 49,128,49,128,49,240,49,200,19,132,15,132,1,132,1,140, - 1,140,0,128,16,12,24,16,0,255,255,255,0,24,0,24, - 7,216,14,120,13,24,12,152,12,120,7,248,0,24,0,24, - 0,8,14,12,24,16,2,255,227,252,216,96,200,96,76,96, - 60,96,12,96,31,224,28,96,12,96,0,96,0,96,0,32, - 16,12,24,16,0,255,255,255,6,24,6,24,6,24,6,24, - 6,24,15,248,6,24,2,24,0,24,0,24,0,8,16,12, - 24,16,0,255,255,255,3,24,3,24,3,24,3,24,6,24, - 4,56,4,120,3,216,0,24,0,24,0,8,16,12,24,16, - 0,255,255,255,0,192,0,192,0,192,3,192,3,128,3,128, - 1,0,0,128,0,64,0,32,0,24,16,12,24,16,0,255, - 255,255,0,192,0,192,0,192,3,192,3,128,3,128,1,0, - 0,128,4,64,14,32,4,24,16,12,24,16,0,255,255,255, - 0,24,0,24,28,56,58,248,49,216,49,152,24,24,8,24, - 4,24,3,24,0,8,16,11,22,16,0,0,255,255,0,48, - 0,48,0,112,14,200,25,140,49,140,49,140,49,152,19,112, - 14,0,16,13,26,16,0,254,255,255,0,48,0,48,0,112, - 14,200,25,140,49,140,49,140,49,152,19,112,14,0,0,192, - 0,192,16,12,24,16,0,255,255,255,0,24,0,24,3,216, - 15,56,12,24,12,56,4,120,3,216,0,24,0,24,0,8, - 16,12,24,16,0,255,255,255,6,24,6,24,31,24,1,152, - 1,152,25,152,21,24,30,24,2,24,1,24,0,136,16,12, - 24,16,0,255,255,255,12,24,14,24,13,24,12,152,12,88, - 12,56,6,56,1,216,0,24,0,24,0,8,16,12,24,16, - 0,255,255,255,3,24,3,24,3,24,11,24,15,24,14,248, - 4,24,4,24,2,24,1,24,0,136,16,12,24,16,0,255, - 255,255,0,24,0,24,7,248,12,0,12,0,6,240,1,152, - 3,16,3,0,1,128,0,252,2,4,4,16,7,10,192,192, - 192,192,6,16,16,16,10,254,48,48,48,252,48,48,48,48, - 48,48,48,48,48,48,48,16,2,2,2,16,7,255,192,192, - 9,11,22,16,7,0,63,128,64,0,64,0,96,0,48,0, - 24,0,8,0,12,0,12,0,156,0,120,0,6,13,13,16, - 10,254,252,48,48,48,48,48,48,48,48,48,48,48,16,8, - 14,14,16,0,0,60,98,49,252,48,48,48,48,48,48,48, - 48,48,16,9,16,32,16,7,254,120,0,132,0,132,0,31, - 128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,2,0,6,3,3,16,4,255,152, - 68,56,6,3,3,16,6,255,112,136,100,4,3,3,16,6, - 255,96,128,112,3,5,5,16,6,255,96,128,96,128,96,5, - 3,3,16,5,10,136,72,48,5,3,3,16,4,10,128,112, - 8,5,3,3,16,4,10,224,16,8,6,4,4,16,3,9, - 112,8,228,28,6,16,16,16,10,254,136,120,0,252,48,48, - 48,48,48,48,48,48,48,48,48,16,8,16,16,16,8,254, - 128,120,4,63,12,12,12,12,12,12,12,12,12,12,12,4, - 8,16,16,16,8,254,240,8,4,63,12,12,12,12,12,12, - 12,12,12,12,12,4,9,16,32,16,7,254,120,0,244,0, - 10,0,31,128,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,2,0,5,3,3,16, - 6,255,224,16,8,4,13,13,16,2,254,240,192,192,192,192, - 192,192,192,192,192,192,192,128,9,15,30,16,7,255,32,0, - 30,0,129,0,125,128,3,0,31,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,1,0,14,12,24,16, - 1,1,4,192,2,216,57,24,68,224,4,0,12,56,56,76, - 8,204,135,156,134,120,78,0,60,0,1,3,3,16,8,10, - 128,128,128,4,1,1,16,6,0,240,3,3,3,16,6,10, - 128,64,32,3,3,3,16,7,10,32,64,128,5,5,5,16, - 5,8,136,72,48,0,248,6,2,2,16,3,254,132,120,8, - 4,4,16,2,254,66,60,129,126,16,13,26,16,0,254,255, - 255,0,192,0,192,14,192,25,248,17,200,19,204,14,204,0, - 204,0,204,4,192,14,64,4,0,16,13,26,16,0,254,255, - 255,8,24,8,24,9,216,59,56,58,24,18,56,17,216,8, - 24,4,24,0,152,1,200,0,128,16,13,26,16,0,254,255, - 255,1,152,1,152,1,152,1,152,7,152,3,152,1,152,0, - 152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255, - 255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7, - 152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255, - 255,0,24,0,24,3,248,6,0,6,0,3,240,0,24,4, - 24,3,240,0,0,0,192,0,192,16,13,26,16,0,254,255, - 255,0,96,0,96,7,224,12,0,24,224,25,144,25,16,13, - 48,7,224,0,0,1,128,1,128,16,13,26,16,0,254,255, - 255,49,128,49,128,49,128,49,240,49,200,19,132,15,132,1, - 132,1,140,9,140,28,128,8,0,16,13,26,16,0,254,255, - 255,3,24,3,24,3,24,3,24,6,24,4,56,4,120,3, - 216,0,24,1,24,3,136,1,0,16,13,26,16,0,254,255, - 255,3,0,3,0,51,24,75,40,7,240,15,24,51,8,67, - 24,3,48,3,28,1,16,0,14,16,13,26,16,0,254,255, - 255,0,32,0,32,30,112,49,152,49,152,16,48,8,96,4, - 192,0,60,0,192,0,192,0,60,8,5,5,16,4,255,72, - 146,130,68,3,8,6,6,16,4,254,72,146,132,67,4,3, - 2,12,12,16,7,255,128,192,192,192,192,192,192,192,192,192, - 192,64,5,12,12,16,6,255,144,216,216,216,216,216,216,216, - 216,216,216,72,8,7,7,16,4,2,60,78,199,195,227,114, - 60,6,13,13,16,5,254,112,232,204,204,76,60,24,48,96, - 32,16,8,4,9,13,26,16,4,254,252,0,226,0,1,0, - 1,0,1,0,3,0,54,0,44,0,56,0,4,0,2,0, - 1,0,0,128,8,13,13,16,4,254,252,226,2,2,60,2, - 1,51,46,60,4,2,1,12,12,24,16,2,255,128,16,64, - 48,32,96,16,192,9,128,7,0,6,0,13,0,9,128,9, - 128,9,128,7,0,8,13,13,16,4,254,192,195,195,67,62, - 12,12,104,88,120,4,2,1,8,13,13,16,4,254,60,192, - 128,192,124,16,32,35,51,15,4,4,2,11,11,22,16,3, - 0,128,0,135,0,142,192,140,64,68,96,67,224,64,32,32, - 32,32,64,24,192,7,0,10,10,20,16,3,1,255,192,32, - 0,64,0,128,0,128,0,131,0,135,128,124,128,56,128,0, - 128,8,12,12,16,4,255,56,100,98,97,32,56,72,192,192, - 192,32,31,5,4,4,16,6,3,112,136,136,112,2,2,2, - 16,8,6,192,192,15,15,30,16,1,255,2,0,1,32,0, - 192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134, - 192,78,192,60,192,0,192,0,64,15,15,30,16,1,255,0, - 192,0,192,0,192,57,254,68,192,4,192,12,192,56,192,8, - 192,135,192,134,192,78,192,60,192,0,192,0,64,15,15,30, - 16,1,255,0,12,0,12,0,12,57,254,68,204,4,204,12, - 204,56,204,8,204,135,204,134,204,78,204,60,204,0,204,0, - 68,15,15,30,16,1,255,0,128,0,120,2,4,57,246,68, - 12,4,124,12,204,56,204,8,204,135,204,134,204,78,204,60, - 204,0,204,0,68,15,16,32,16,1,254,2,0,1,32,0, - 192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134, - 192,78,192,60,192,0,64,33,0,30,0,15,16,32,16,1, - 254,2,0,1,32,0,192,57,254,68,192,4,192,12,192,56, - 192,8,192,135,192,78,192,60,192,33,192,30,0,64,128,63, - 0,16,12,24,16,0,255,255,255,24,0,24,0,24,0,63, - 224,56,112,0,48,0,48,0,48,0,48,0,96,0,64,16, - 12,24,16,0,255,255,255,0,24,0,24,0,24,3,248,17, - 152,8,216,8,216,7,152,0,24,8,152,2,8,16,12,24, - 16,0,255,255,255,3,24,3,24,3,24,3,152,6,88,4, - 56,4,120,3,216,0,24,0,24,0,8,16,12,24,16,0, - 255,255,255,1,152,1,152,1,152,1,152,7,152,3,152,1, - 152,0,152,0,24,0,24,15,248,16,12,24,16,0,255,255, - 255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7, - 152,0,24,0,24,31,248,8,13,13,16,4,254,124,226,193, - 1,1,3,62,60,48,48,48,48,16,16,13,26,16,0,254, - 255,255,0,24,0,24,3,248,6,0,6,0,3,240,0,24, - 4,24,2,24,1,240,0,0,15,254,16,12,24,16,0,255, - 255,255,0,24,0,24,7,216,14,120,13,24,12,152,12,120, - 7,248,0,24,0,24,15,248,11,12,24,16,2,255,30,0, - 55,0,97,128,193,128,193,128,89,128,57,128,1,128,1,128, - 1,160,1,160,0,192,6,4,4,16,5,9,48,180,132,120, - 5,8,8,16,11,0,96,144,96,0,192,96,48,8,4,7, - 7,16,11,1,96,144,96,0,96,144,96,14,14,28,16,1, - 255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255, - 252,231,108,219,108,231,12,219,236,231,236,255,252,16,12,24, - 16,0,255,255,255,0,12,64,12,67,140,71,204,71,236,99, - 44,32,108,48,124,24,220,15,140,0,4,16,13,26,16,0, - 255,0,6,255,247,0,110,64,102,70,102,79,102,79,102,69, - 102,65,102,97,102,51,230,30,102,0,34,16,15,30,16,0, - 255,32,0,31,192,0,32,255,255,0,0,15,192,24,96,60, - 48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,16, - 15,30,16,0,255,32,0,31,240,0,8,255,255,30,0,63, - 12,59,30,25,56,1,248,1,240,3,144,79,16,60,16,16, - 24,0,14,16,15,30,16,0,255,16,0,15,224,0,16,255, - 255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48, - 12,24,12,14,24,3,240,16,15,30,16,0,255,16,0,15, - 224,0,16,255,255,3,0,3,0,83,0,83,16,83,56,83, - 108,73,204,40,12,36,12,18,24,15,240,15,14,28,16,1, - 255,64,0,228,0,230,206,133,204,121,204,3,204,14,204,120, - 204,96,236,120,252,14,220,3,204,1,204,0,68,14,14,28, - 16,1,255,64,0,128,0,128,0,64,0,127,192,31,240,0, - 56,15,12,24,140,56,76,56,76,56,76,16,216,3,240,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,231,28,219,108,231,108,219,108,231,28,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,231,12,219,124,231,28,219,124,231, - 12,255,252,14,13,26,16,1,255,0,48,0,248,1,140,3, - 12,135,140,135,140,131,12,128,12,192,12,64,108,96,156,51, - 12,14,4,14,15,30,16,1,255,0,8,0,16,0,16,0, - 216,3,236,6,52,140,52,158,52,158,52,140,56,192,48,65, - 176,98,112,60,48,24,16,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,231,220,219, - 156,227,220,251,220,231,140,255,252,14,14,28,16,1,255,255, - 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,231, - 12,219,236,227,12,251,124,231,12,255,252,14,13,26,16,1, - 255,0,240,3,24,6,12,14,12,142,12,134,120,192,248,64, - 120,96,12,48,12,24,12,12,24,7,240,14,15,30,16,1, - 255,0,8,0,16,0,16,7,216,8,108,28,52,28,52,156, - 52,137,228,131,248,193,224,64,48,96,48,48,112,31,224,16, - 12,24,16,0,255,255,255,0,96,0,96,1,248,7,100,60, - 98,48,98,60,110,7,108,1,224,0,224,0,32,14,13,26, - 16,2,255,64,0,226,60,227,48,197,48,121,48,1,48,6, - 48,120,48,126,48,1,176,0,112,0,48,0,16,14,12,24, - 16,2,255,62,124,113,96,224,224,224,96,252,96,70,96,6, - 96,6,96,28,96,120,96,32,96,0,32,16,12,24,16,0, - 255,255,255,24,24,48,24,56,24,31,152,1,152,6,24,12, - 24,31,24,1,216,0,56,0,8,12,13,26,16,2,255,32, - 0,35,192,22,64,12,64,15,128,140,0,136,32,136,112,199, - 176,64,48,96,48,48,96,31,128,16,12,24,16,0,255,255, - 255,24,0,24,0,28,0,27,0,24,252,24,12,24,12,24, - 12,24,24,28,48,15,192,16,12,24,16,0,255,255,255,24, - 0,24,0,28,0,27,224,24,56,24,104,28,200,15,16,0, - 96,1,248,0,14,16,12,24,16,0,255,255,255,1,240,3, - 28,70,15,76,2,76,196,79,36,102,44,32,44,48,100,24, - 196,15,131,16,12,24,16,0,255,255,231,0,102,0,102,1, - 230,7,102,60,102,48,102,60,102,7,126,1,238,0,230,0, - 34,14,13,26,16,1,255,7,0,13,128,25,176,49,248,57, - 204,185,140,145,184,129,140,193,204,199,248,111,176,121,128,48, - 128,16,15,30,16,0,255,16,0,15,192,0,32,255,255,24, - 0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24, - 192,15,128,7,0,16,15,30,16,0,255,16,0,15,0,0, - 128,255,255,0,128,0,128,0,192,1,192,1,96,35,48,58, - 24,20,24,24,24,12,48,7,224,16,12,24,16,0,255,255, - 255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48, - 12,24,12,14,24,3,240,16,12,24,16,0,255,255,255,24, - 0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24, - 192,15,128,7,0,13,13,26,16,3,255,28,96,62,120,97, - 96,192,224,192,224,224,96,224,96,64,96,0,96,0,96,0, - 96,0,96,0,32,16,12,24,16,0,255,255,255,0,0,65, - 248,67,12,67,132,67,134,99,134,33,6,48,6,24,12,12, - 28,7,240,15,13,26,16,1,255,60,0,98,62,241,48,241, - 48,97,48,1,48,6,48,120,48,126,48,1,176,0,112,0, - 48,0,16,16,12,24,16,0,255,255,255,12,0,12,0,12, - 120,12,240,13,224,13,96,15,96,14,96,14,96,12,48,8, - 28,12,13,26,16,4,255,96,0,240,240,224,192,128,192,99, - 192,30,192,56,192,224,192,248,192,14,192,3,192,1,192,0, - 64,16,12,24,16,0,255,255,255,0,24,0,24,0,24,0, - 24,30,24,63,152,60,216,56,120,0,56,0,24,0,8,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,195,156,219,108,195,140,219,236,219,156,255, - 252,15,13,26,16,1,255,14,48,31,190,48,240,96,112,240, - 240,155,176,14,48,24,48,32,48,0,48,0,48,0,48,0, - 16,16,12,24,16,0,255,255,255,16,0,56,120,12,100,6, - 98,12,98,24,110,48,108,63,96,1,224,0,96,0,32,16, - 12,24,16,0,255,255,255,0,24,0,24,0,120,3,216,7, - 24,28,24,31,24,1,216,0,120,0,56,0,8,16,12,24, - 16,0,255,255,255,0,0,66,16,71,8,71,12,70,20,99, - 230,32,6,48,6,24,12,12,28,7,240,16,12,24,16,0, - 255,255,255,12,24,28,24,14,24,3,24,3,24,3,24,15, - 216,30,120,12,56,0,24,0,8,16,12,24,16,0,255,255, - 255,8,48,28,48,6,48,3,48,6,48,12,48,24,48,31, - 176,0,240,0,48,0,16,16,12,24,16,0,255,255,255,0, - 24,0,120,3,216,7,24,28,24,31,24,1,216,2,120,7, - 56,7,24,2,8,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,220,219,156,199, - 220,219,220,199,140,255,252,16,12,24,16,0,255,255,255,0, - 6,0,6,28,22,62,62,99,102,65,198,65,198,64,134,124, - 6,60,6,24,2,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,199, - 140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219, - 108,199,12,219,236,199,236,255,252,14,14,28,16,1,255,255, - 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199, - 12,219,124,199,12,219,236,199,12,255,252,15,13,26,16,1, - 255,112,204,249,238,143,60,143,28,31,140,63,204,25,140,0, - 12,0,12,0,12,0,12,0,12,0,4,16,12,24,16,0, - 255,255,255,28,24,14,24,7,152,1,216,6,120,28,24,31, - 24,1,216,0,120,0,56,0,8,16,12,24,16,0,255,255, - 255,16,12,56,12,28,12,6,12,2,204,1,236,3,28,102, - 12,60,12,24,12,0,4,16,12,24,16,0,255,255,255,0, - 0,15,192,24,96,60,48,60,48,24,48,0,96,63,192,7, - 0,1,192,0,124,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,12,219,108,199, - 12,219,108,199,108,255,252,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,199,28,219, - 108,199,28,219,108,199,28,255,252,2,2,2,16,7,255,192, - 192,14,12,24,16,0,255,240,0,8,0,15,192,28,96,60, - 48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,5, - 10,10,16,11,255,48,184,112,48,48,48,48,48,48,16,13, - 14,28,16,0,255,15,128,63,224,96,16,96,8,32,0,248, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,16, - 0,12,14,28,16,4,255,63,0,65,128,128,192,190,64,65, - 64,1,240,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,64,6,5,5,16,5,254,4,104,144,104,4,6,5, - 5,16,6,254,96,128,112,8,4,5,5,5,16,5,254,24, - 96,128,96,24,3,5,5,16,6,255,96,128,96,128,64,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,227,12,223,124,223,12,223,236,227,12,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,227,156,223,124,223,28,223,108,227, - 156,255,252,5,9,9,16,0,255,248,24,48,96,64,64,64, - 88,56,5,12,12,16,0,255,128,112,8,248,24,48,96,64, - 64,64,88,56,14,14,28,16,1,255,255,252,231,156,219,108, - 219,140,219,236,231,156,255,252,255,252,227,156,223,108,223,140, - 223,236,227,156,255,252,14,14,28,16,1,255,255,252,231,156, - 219,108,219,140,219,236,231,156,255,252,255,252,227,12,223,108, - 223,12,223,108,227,108,255,252,16,10,20,16,0,255,0,6, - 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, - 56,2,16,13,26,16,0,255,0,128,0,112,0,8,0,4, - 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, - 56,2,5,3,3,16,6,0,192,48,8,8,12,12,16,4, - 255,56,92,204,236,216,192,96,56,12,6,3,1,14,14,28, - 16,1,255,255,252,231,156,219,108,219,140,219,236,231,156,255, - 252,255,252,227,12,223,124,223,28,223,124,227,124,255,252,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,199,156,219,108,219,108,219,108,199,156,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,199,220,219,156,219,220,219,220,199, - 140,255,252,14,14,28,16,1,255,255,252,231,156,219,108,219, - 140,219,236,231,156,255,252,255,252,199,12,219,236,219,12,219, - 124,199,12,255,252,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,219, - 140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219, - 108,219,12,219,236,199,236,255,252,14,14,28,16,1,255,255, - 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199, - 12,219,124,219,12,219,236,199,12,255,252,14,14,28,16,1, - 255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255, - 252,199,156,219,124,219,28,219,108,199,156,255,252,8,13,13, - 16,8,255,128,112,8,4,23,14,6,6,6,6,6,6,2, - 14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236, - 231,156,255,252,255,252,199,156,219,108,219,156,219,108,199,156, - 255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140, - 219,236,231,156,255,252,255,252,199,156,219,108,219,140,219,236, - 199,156,255,252,14,14,28,16,1,255,255,252,231,156,219,108, - 219,140,219,236,231,156,255,252,255,252,199,12,219,108,219,12, - 219,108,199,108,255,252,14,14,28,16,1,255,255,252,231,156, - 219,108,219,140,219,236,231,156,255,252,255,252,199,28,219,108, - 219,28,219,108,199,28,255,252,16,13,26,16,0,254,255,255, - 3,0,67,16,67,56,99,108,35,204,49,140,24,12,14,24, - 3,240,0,0,0,192,0,192,16,13,26,16,0,254,255,255, - 12,0,12,0,12,0,12,48,12,120,12,56,12,48,7,224, - 3,192,0,0,1,128,1,128,14,14,28,16,1,255,255,252, - 231,156,219,108,219,140,219,236,231,156,255,252,255,252,199,12, - 219,124,219,28,219,124,199,12,255,252,16,13,26,16,0,254, - 255,255,4,24,14,24,3,24,1,152,3,24,6,24,12,24, - 15,216,0,120,1,24,3,136,1,0,15,15,30,16,1,254, - 64,0,228,0,230,206,133,204,121,204,3,204,14,204,120,204, - 96,236,120,252,14,220,123,204,97,204,120,68,14,0,8,14, - 14,16,4,255,128,124,3,121,197,205,158,128,124,3,121,197, - 205,158,7,5,5,16,5,255,124,2,114,202,220,10,6,12, - 16,5,255,3,128,112,64,10,64,77,64,173,128,176,0,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,195,108,223,108,199,12,223,236,195,236,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,195,12,223,124,199,12,223,236,195, - 12,255,252,10,11,22,16,3,0,30,0,63,0,97,128,192, - 192,192,192,192,192,192,192,192,192,97,128,63,0,30,0,9, - 12,24,16,4,0,64,0,64,0,96,0,56,0,14,0,3, - 0,1,128,97,128,225,128,225,128,195,0,126,0,10,11,22, - 16,3,0,224,0,56,0,14,0,3,0,3,0,227,0,126, - 0,28,0,6,0,1,128,0,64,12,12,24,16,2,255,131, - 192,132,96,136,48,140,48,142,48,142,48,134,48,64,48,64, - 96,32,96,17,192,15,0,11,13,26,16,2,255,31,0,63, - 128,96,192,64,64,96,192,49,128,31,0,96,192,192,96,192, - 96,224,224,127,192,31,0,11,13,26,16,2,255,7,0,30, - 0,57,96,112,192,97,128,195,0,198,0,198,0,198,0,198, - 0,99,96,48,192,31,128,12,12,24,16,2,255,28,0,12, - 0,12,0,140,0,140,96,140,160,141,176,199,48,64,48,96, - 48,48,96,31,192,9,13,26,16,4,255,60,0,126,0,195, - 0,195,0,199,0,127,0,59,0,3,0,3,0,3,0,3, - 0,3,0,1,128,13,13,26,16,1,255,224,0,96,0,96, - 0,96,8,103,240,127,192,112,96,96,96,96,96,96,96,112, - 192,63,128,30,0,12,15,30,16,2,254,128,0,128,0,96, - 0,60,0,15,0,3,192,0,224,0,48,60,48,66,48,225, - 48,225,48,225,96,65,192,1,0,16,12,24,16,0,255,255, - 255,0,24,0,24,0,120,3,216,7,152,28,120,31,24,1, - 216,0,120,0,56,0,8,16,13,26,16,0,254,255,255,0, - 24,0,24,0,120,3,216,7,24,28,24,31,24,1,216,28, - 120,7,56,1,136,0,64,9,8,16,16,3,3,224,0,248, - 0,124,0,14,0,3,0,1,0,0,128,0,128,12,13,26, - 16,1,255,48,0,120,0,204,0,12,0,31,240,12,0,12, - 96,12,240,12,240,12,48,12,96,7,192,3,128,9,8,16, - 16,3,2,0,128,0,128,1,0,3,0,14,0,124,0,248, - 0,224,0,12,9,18,16,2,2,56,16,124,16,226,32,242, - 96,242,192,98,192,7,128,15,0,14,0,12,13,26,16,2, - 255,0,16,0,16,0,16,56,16,124,16,126,16,62,16,6, - 48,12,96,248,224,193,192,127,128,30,0,2,13,13,16,8, - 255,128,192,192,192,192,192,192,192,192,192,192,192,64,11,13, - 26,16,2,255,224,0,96,0,96,192,97,192,99,192,98,192, - 102,192,108,192,120,192,112,192,96,192,0,192,0,96,11,10, - 20,16,3,1,31,0,63,128,96,192,192,96,192,96,192,96, - 192,96,96,192,63,128,31,0,14,9,18,16,1,255,0,4, - 2,4,135,8,135,8,66,16,96,48,48,96,31,192,15,0, - 6,8,8,16,5,254,96,128,128,64,32,16,8,4,14,14, - 28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,156, - 255,252,255,252,195,140,223,124,199,124,223,124,223,140,255,252, - 14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236, - 231,156,255,252,255,252,195,28,223,108,199,108,223,108,223,28, - 255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140, - 219,236,231,156,255,252,255,252,195,12,223,124,199,28,223,124, - 223,12,255,252,14,14,28,16,1,255,255,252,231,156,219,108, - 219,140,219,236,231,156,255,252,255,252,195,12,223,124,199,28, - 223,124,223,124,255,252}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 8 - Calculated Max Values w=16 h=16 x= 4 y= 0 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4633] U8G_FONT_SECTION("u8g_font_unifont_2_3") = { - 0,16,16,0,254,10,4,222,7,30,0,255,0,14,254,14, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,6,11,11,8,1,0,120,0,0, - 120,132,4,124,132,132,140,116,6,14,14,8,1,0,132,132, - 120,0,48,72,72,132,132,252,132,132,132,132,6,13,13,8, - 1,0,132,132,120,0,0,120,132,4,124,132,132,140,116,7, - 12,12,8,1,254,48,72,72,132,132,252,132,132,132,132,8, - 6,7,10,10,8,1,254,120,132,4,124,132,132,140,116,8, - 6,6,14,14,8,1,0,24,96,0,0,120,132,132,128,128, - 128,128,132,132,120,6,12,12,8,1,0,24,96,0,0,120, - 132,128,128,128,128,132,120,6,14,14,8,1,0,48,72,0, - 0,120,132,132,128,128,128,128,132,132,120,6,12,12,8,1, - 0,48,72,0,0,120,132,128,128,128,128,132,120,6,14,14, - 8,1,0,32,32,0,0,120,132,132,128,128,128,128,132,132, - 120,6,12,12,8,1,0,32,32,0,0,120,132,128,128,128, - 128,132,120,6,14,14,8,1,0,72,48,0,0,120,132,132, - 128,128,128,128,132,132,120,6,12,12,8,1,0,72,48,0, - 0,120,132,128,128,128,128,132,120,6,14,14,8,1,0,144, - 96,0,0,240,136,132,132,132,132,132,132,136,240,6,14,14, - 8,1,0,72,48,0,4,4,4,116,140,132,132,132,132,140, - 116,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68, - 120,7,11,11,8,1,0,4,30,4,116,140,132,132,132,132, - 140,116,6,13,13,8,1,0,120,0,0,252,128,128,128,248, - 128,128,128,128,252,6,11,11,8,1,0,120,0,0,120,132, - 132,252,128,128,132,120,6,14,14,8,1,0,132,132,120,0, - 252,128,128,128,248,128,128,128,128,252,6,12,12,8,1,0, - 132,132,120,0,120,132,132,252,128,128,132,120,6,14,14,8, - 1,0,32,32,0,0,252,128,128,128,248,128,128,128,128,252, - 6,12,12,8,1,0,32,32,0,0,120,132,132,252,128,128, - 132,120,6,12,12,8,1,254,252,128,128,128,248,128,128,128, - 128,252,16,12,6,10,10,8,1,254,120,132,132,252,128,128, - 132,120,32,24,6,14,14,8,1,0,72,48,0,0,252,128, - 128,128,248,128,128,128,128,252,6,12,12,8,1,0,72,48, - 0,0,120,132,132,252,128,128,132,120,6,14,14,8,1,0, - 48,72,0,0,120,132,132,128,128,156,132,132,140,116,6,14, - 14,8,1,254,48,72,0,4,116,136,136,136,112,64,120,132, - 132,120,6,14,14,8,1,0,132,132,120,0,120,132,132,128, - 128,156,132,132,140,116,6,15,15,8,1,254,132,132,120,0, - 4,116,136,136,136,112,64,120,132,132,120,6,14,14,8,1, - 0,32,32,0,0,120,132,132,128,128,156,132,132,140,116,6, - 14,14,8,1,254,32,32,0,4,116,136,136,136,112,64,120, - 132,132,120,6,12,12,8,1,254,120,132,132,128,128,156,132, - 132,140,116,16,96,6,14,14,8,1,254,24,32,0,4,116, - 136,136,136,112,64,120,132,132,120,6,14,14,8,1,0,48, - 72,0,0,132,132,132,132,252,132,132,132,132,132,6,14,14, - 8,1,0,96,144,0,128,128,128,184,196,132,132,132,132,132, - 132,8,10,10,8,0,0,66,66,255,66,66,126,66,66,66, - 66,7,11,11,8,0,0,64,240,64,92,98,66,66,66,66, - 66,66,6,14,14,8,1,0,100,152,0,0,124,16,16,16, - 16,16,16,16,16,124,6,12,12,8,1,0,100,152,0,0, - 48,16,16,16,16,16,16,124,5,13,13,8,2,0,240,0, - 0,248,32,32,32,32,32,32,32,32,248,5,11,11,8,2, - 0,240,0,0,96,32,32,32,32,32,32,248,6,14,14,8, - 1,0,132,132,120,0,124,16,16,16,16,16,16,16,16,124, - 6,12,12,8,1,0,132,132,120,0,48,16,16,16,16,16, - 16,124,5,12,12,8,2,254,248,32,32,32,32,32,32,32, - 32,248,32,24,5,13,13,8,2,254,32,32,0,96,32,32, - 32,32,32,32,248,32,24,5,14,14,8,2,0,32,32,0, - 0,248,32,32,32,32,32,32,32,32,248,5,8,8,8,2, - 0,96,32,32,32,32,32,32,248,6,10,10,8,1,0,132, - 132,132,132,132,132,4,4,132,120,5,14,14,8,2,254,136, - 136,0,0,136,136,136,136,136,136,104,8,136,112,7,14,14, - 8,1,0,24,36,0,0,62,8,8,8,8,8,8,136,136, - 112,6,14,14,8,1,254,24,36,0,0,24,8,8,8,8, - 8,8,8,144,96,7,12,12,8,0,254,66,68,72,80,96, - 96,80,72,68,66,32,192,7,13,13,8,0,254,64,64,64, - 68,72,80,96,80,72,68,66,32,192,6,8,8,8,1,0, - 132,136,144,224,224,144,136,132,6,14,14,8,1,0,48,192, - 0,0,128,128,128,128,128,128,128,128,128,252,5,14,14,8, - 2,0,48,192,0,96,32,32,32,32,32,32,32,32,32,248, - 6,12,12,8,1,254,128,128,128,128,128,128,128,128,128,252, - 16,96,5,13,13,8,2,254,96,32,32,32,32,32,32,32, - 32,32,248,32,192,6,14,14,8,1,0,72,48,0,0,128, - 128,128,128,128,128,128,128,128,252,5,14,14,8,2,0,144, - 96,0,96,32,32,32,32,32,32,32,32,32,248,6,10,10, - 8,1,0,128,128,128,128,136,136,128,128,128,252,5,11,11, - 8,1,0,96,32,32,32,32,40,40,32,32,32,248,7,10, - 10,8,0,0,64,64,72,80,96,192,64,64,64,126,5,11, - 11,8,2,0,96,32,32,40,48,96,160,32,32,32,248,6, - 14,14,8,1,0,24,96,0,0,132,196,196,164,164,148,148, - 140,140,132,6,12,12,8,1,0,24,96,0,0,184,196,132, - 132,132,132,132,132,7,12,12,8,0,254,66,98,98,82,82, - 74,74,70,70,66,32,192,7,10,10,8,0,254,92,98,66, - 66,66,66,66,66,32,192,6,14,14,8,1,0,72,48,0, - 0,132,196,196,164,164,148,148,140,140,132,6,12,12,8,1, - 0,72,48,0,0,184,196,132,132,132,132,132,132,6,13,13, - 8,1,0,192,64,64,128,0,184,196,132,132,132,132,132,132, - 6,10,10,8,1,0,184,196,132,132,132,132,132,132,132,152, - 6,10,10,8,1,254,184,196,132,132,132,132,132,132,4,24, - 6,13,13,8,1,0,120,0,0,120,132,132,132,132,132,132, - 132,132,120,6,11,11,8,1,0,120,0,0,120,132,132,132, - 132,132,132,120,6,14,14,8,1,0,132,132,120,0,120,132, - 132,132,132,132,132,132,132,120,6,12,12,8,1,0,132,132, - 120,0,120,132,132,132,132,132,132,120,7,14,14,8,1,0, - 102,136,0,0,120,132,132,132,132,132,132,132,132,120,7,12, - 12,8,1,0,102,136,0,0,120,132,132,132,132,132,132,120, - 7,10,10,8,1,0,110,144,144,144,156,144,144,144,144,110, - 7,8,8,8,1,0,108,146,146,158,144,144,146,108,6,14, - 14,8,1,0,24,96,0,0,248,132,132,132,248,144,136,136, - 132,132,6,12,12,8,1,0,24,96,0,0,184,196,132,128, - 128,128,128,128,7,12,12,8,0,254,124,66,66,66,124,72, - 68,68,66,66,32,192,7,10,10,8,0,254,92,98,66,64, - 64,64,64,64,32,192,6,14,14,8,1,0,72,48,0,0, - 248,132,132,132,248,144,136,136,132,132,6,12,12,8,1,0, - 72,48,0,0,184,196,132,128,128,128,128,128,6,14,14,8, - 1,0,24,96,0,0,120,132,132,128,96,24,4,132,132,120, - 6,12,12,8,1,0,24,96,0,0,120,132,128,96,24,132, - 132,120,6,14,14,8,1,0,48,72,0,0,120,132,132,128, - 96,24,4,132,132,120,6,12,12,8,1,0,48,72,0,0, - 120,132,128,96,24,4,132,120,6,12,12,8,1,254,120,132, - 132,128,96,24,4,132,132,120,16,96,6,10,10,8,1,254, - 120,132,128,96,24,4,132,120,16,96,6,14,14,8,1,0, - 72,48,0,0,120,132,132,128,96,24,4,132,132,120,6,12, - 12,8,1,0,72,48,0,0,120,132,128,96,24,4,132,120, - 7,12,12,8,1,254,254,16,16,16,16,16,16,16,16,16, - 16,96,5,12,12,8,1,254,32,32,32,248,32,32,32,32, - 32,24,16,96,7,14,14,8,1,0,72,48,0,0,254,16, - 16,16,16,16,16,16,16,16,5,14,14,8,1,0,72,48, - 0,0,32,32,32,248,32,32,32,32,32,24,7,10,10,8, - 1,0,254,16,16,20,24,48,80,16,16,16,5,10,10,8, - 1,0,32,32,32,248,32,40,48,96,160,24,6,14,14,8, - 1,0,100,152,0,0,132,132,132,132,132,132,132,132,132,120, - 6,12,12,8,1,0,100,152,0,0,132,132,132,132,132,132, - 140,116,6,13,13,8,1,0,120,0,0,132,132,132,132,132, - 132,132,132,132,120,6,11,11,8,1,0,120,0,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,0,132,132,120,0, - 132,132,132,132,132,132,132,132,132,120,6,13,13,8,1,0, - 132,132,120,0,0,132,132,132,132,132,132,140,116,6,14,14, - 8,1,0,48,72,48,0,132,132,132,132,132,132,132,132,132, - 120,6,12,12,8,1,0,48,72,48,0,132,132,132,132,132, - 132,140,116,7,14,14,8,1,0,102,136,0,0,132,132,132, - 132,132,132,132,132,132,120,7,12,12,8,1,0,102,136,0, - 0,132,132,132,132,132,132,140,116,6,12,12,8,1,254,132, - 132,132,132,132,132,132,132,132,120,32,24,7,10,10,8,1, - 254,132,132,132,132,132,132,140,116,8,6,6,14,14,8,1, - 0,48,72,0,0,132,132,132,132,180,180,204,204,132,132,7, - 12,12,8,1,0,48,72,0,0,130,146,146,146,146,146,146, - 108,7,14,14,8,1,0,48,72,0,0,130,130,68,68,40, - 16,16,16,16,16,6,14,14,8,1,254,48,72,0,0,132, - 132,132,132,132,76,52,4,4,120,7,14,14,8,1,0,72, - 72,0,0,130,130,68,68,40,16,16,16,16,16,6,14,14, - 8,1,0,24,96,0,0,252,4,4,8,16,32,64,128,128, - 252,6,12,12,8,1,0,24,96,0,0,252,4,8,16,32, - 64,128,252,6,14,14,8,1,0,32,32,0,0,252,4,4, - 8,16,32,64,128,128,252,6,12,12,8,1,0,32,32,0, - 0,252,4,8,16,32,64,128,252,6,14,14,8,1,0,72, - 48,0,0,252,4,4,8,16,32,64,128,128,252,6,12,12, - 8,1,0,72,48,0,0,252,4,8,16,32,64,128,252,4, - 11,11,8,2,0,48,64,64,64,192,64,64,64,64,64,64, - 7,11,11,8,0,0,64,240,64,92,98,66,66,66,66,98, - 92,7,10,10,8,0,0,124,162,162,34,60,34,34,34,34, - 60,6,10,10,8,1,0,252,128,128,128,248,132,132,132,132, - 248,6,10,10,8,1,0,252,128,128,184,196,132,132,132,196, - 184,6,10,10,8,1,0,192,64,64,64,120,68,68,68,68, - 120,6,8,8,8,1,0,192,64,64,64,120,68,68,120,6, - 10,10,8,1,0,120,132,132,4,4,4,4,132,132,248,7, - 12,12,8,1,0,6,8,120,136,136,128,128,128,128,136,136, - 112,7,10,10,8,1,0,6,8,120,136,128,128,128,128,136, - 112,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68, - 120,7,10,10,8,0,0,120,164,162,34,34,34,34,34,36, - 56,6,10,10,8,1,0,252,4,4,4,124,132,132,132,132, - 124,6,10,10,8,1,0,252,4,4,116,140,132,132,132,140, - 116,6,10,10,8,1,254,120,132,132,132,132,72,48,8,8, - 112,6,10,10,8,1,0,252,4,4,4,124,4,4,4,4, - 252,6,10,10,8,1,0,48,72,132,4,4,252,132,132,72, - 48,6,10,10,8,1,0,120,132,132,128,112,128,128,132,132, - 120,7,11,11,8,1,255,62,32,32,32,60,32,32,32,32, - 32,192,5,12,12,8,1,255,24,32,32,32,248,32,32,32, - 32,32,32,192,7,11,11,8,1,0,6,120,136,136,128,128, - 184,136,136,152,104,6,10,10,8,1,0,132,132,132,72,72, - 48,48,72,72,48,6,11,11,8,1,0,128,128,128,128,228, - 148,148,148,148,148,136,5,11,11,8,1,0,224,32,32,32, - 32,32,32,32,32,32,24,5,10,10,8,2,0,248,32,32, - 32,248,32,32,32,32,248,6,10,10,8,1,0,140,148,160, - 160,192,192,160,144,136,132,6,11,11,8,1,0,96,144,128, - 136,144,160,192,160,144,136,132,5,11,11,8,2,0,96,32, - 32,32,248,32,32,32,32,32,248,6,10,10,8,1,0,72, - 80,32,96,144,48,72,72,132,132,7,10,10,8,1,0,146, - 146,146,146,146,146,146,146,146,110,7,11,11,8,0,255,34, - 34,50,50,42,42,38,38,34,34,192,6,10,10,8,1,254, - 184,196,132,132,132,132,132,132,4,4,6,10,10,8,1,0, - 120,132,132,132,252,132,132,132,132,120,6,11,11,8,1,0, - 4,116,136,136,136,136,136,136,136,136,112,6,9,9,8,1, - 0,4,116,136,136,136,136,136,136,112,6,12,12,8,1,254, - 108,148,148,148,148,148,148,148,148,100,4,4,6,10,10,8, - 1,254,108,148,148,148,148,148,148,100,4,4,7,10,10,8, - 1,0,124,162,162,34,60,32,32,32,32,32,7,11,11,8, - 1,254,6,184,200,136,136,136,136,200,176,128,128,7,10,10, - 8,1,0,224,64,120,68,68,120,80,72,68,66,6,10,10, - 8,1,0,120,132,132,4,24,96,128,132,132,120,6,8,8, - 8,1,0,120,132,4,24,96,128,132,120,6,10,10,8,1, - 0,252,128,64,32,16,16,32,64,128,252,5,12,12,8,1, - 255,64,160,160,96,32,32,32,32,32,32,32,24,5,12,12, - 8,1,254,32,32,32,248,32,32,32,32,32,24,8,48,7, - 10,10,8,1,0,126,144,144,16,16,16,16,16,16,16,5, - 11,11,8,1,0,24,32,32,32,248,32,32,32,32,32,24, - 7,11,11,8,1,255,254,16,16,16,16,16,16,16,16,16, - 12,7,12,12,8,1,0,2,2,140,136,136,136,136,136,136, - 136,136,112,7,10,10,8,1,0,2,2,140,136,136,136,136, - 136,152,104,6,10,10,8,1,0,132,72,72,132,132,132,132, - 132,72,48,6,10,10,8,1,0,152,132,132,132,132,132,132, - 136,144,96,7,10,10,8,1,0,140,138,136,80,80,32,32, - 32,32,32,7,11,11,8,1,254,6,136,136,136,136,136,72, - 56,8,8,112,6,10,10,8,1,0,252,4,8,16,120,32, - 64,128,128,252,6,8,8,8,1,0,252,8,16,120,32,64, - 128,252,6,10,10,8,1,0,252,8,16,32,56,4,4,4, - 140,120,6,10,10,8,1,0,252,64,32,16,112,128,128,128, - 196,120,6,10,10,8,1,254,248,64,32,16,112,128,128,128, - 132,120,6,10,10,8,1,254,124,8,16,56,4,4,120,128, - 132,120,6,10,10,8,1,0,120,132,132,8,16,252,64,128, - 128,252,6,10,10,8,1,0,252,64,64,64,120,4,4,4, - 132,120,6,8,8,8,1,0,252,64,64,120,4,4,132,120, - 5,10,10,8,1,0,32,32,248,32,32,48,8,8,136,112, - 6,10,10,8,1,254,184,196,132,132,136,144,160,192,128,128, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,3,11,11,8,2,0,160,160,160,160,160,160,160,160,160, - 160,160,5,11,11,8,1,0,32,32,32,32,248,32,248,32, - 32,32,32,1,10,10,8,4,0,128,128,128,128,128,128,128, - 0,128,128,7,14,14,8,1,0,10,4,0,0,206,162,162, - 162,164,164,168,168,168,206,7,12,12,8,1,0,10,4,192, - 160,174,162,162,164,164,168,168,206,7,12,12,8,1,0,10, - 36,32,32,110,162,162,164,164,168,168,110,7,10,10,8,1, - 0,142,130,130,130,130,130,130,146,146,236,7,13,13,8,1, - 254,2,130,128,134,130,130,130,130,130,130,242,4,24,8,13, - 13,8,0,254,97,33,32,35,33,33,33,33,33,33,249,2, - 12,7,10,10,8,1,0,150,146,146,210,210,178,178,154,154, - 148,7,13,13,8,1,254,2,146,144,214,210,210,178,178,178, - 146,146,36,24,7,13,13,8,1,254,2,2,0,166,210,146, - 146,146,146,146,146,36,24,6,14,14,8,1,0,72,48,0, - 0,48,72,72,132,132,252,132,132,132,132,6,12,12,8,1, - 0,72,48,0,0,120,132,4,124,132,132,140,116,5,14,14, - 8,2,0,144,96,0,0,248,32,32,32,32,32,32,32,32, - 248,5,12,12,8,2,0,144,96,0,0,96,32,32,32,32, - 32,32,248,6,14,14,8,1,0,72,48,0,0,120,132,132, - 132,132,132,132,132,132,120,6,12,12,8,1,0,72,48,0, - 0,120,132,132,132,132,132,132,120,6,14,14,8,1,0,72, - 48,0,0,132,132,132,132,132,132,132,132,132,120,6,12,12, - 8,1,0,72,48,0,0,132,132,132,132,132,132,140,116,6, - 14,14,8,1,0,120,0,72,0,132,132,132,132,132,132,132, - 132,132,120,6,13,13,8,1,0,120,0,72,72,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,0,24,96,0,72, - 0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 24,96,0,72,72,0,132,132,132,132,132,132,140,116,6,14, - 14,8,1,0,72,48,0,72,0,132,132,132,132,132,132,132, - 132,120,6,14,14,8,1,0,72,48,0,72,72,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,0,96,24,0,72, - 0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 96,24,0,72,72,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,120,132,4,4,252,132,132,120,6,14,14,8, - 1,0,120,0,72,0,48,72,72,132,132,252,132,132,132,132, - 6,13,13,8,1,0,120,0,72,72,0,120,132,4,124,132, - 132,140,116,6,14,14,8,1,0,120,0,48,0,48,72,72, - 132,132,252,132,132,132,132,6,13,13,8,1,0,120,0,32, - 32,0,120,132,4,124,132,132,140,116,7,13,13,8,1,0, - 120,0,0,62,80,144,144,254,144,144,144,144,158,7,11,11, - 8,1,0,120,0,0,124,146,18,126,144,144,146,124,7,10, - 10,8,1,0,120,132,132,128,128,156,132,158,132,124,7,11, - 11,8,1,254,4,116,136,136,136,112,64,120,158,132,120,6, - 14,14,8,1,0,72,48,0,0,120,132,132,128,128,156,132, - 132,140,116,6,14,14,8,1,254,72,48,0,4,116,136,136, - 136,112,64,120,132,132,120,6,14,14,8,1,0,72,48,0, - 0,132,136,144,160,192,192,160,144,136,132,6,14,14,8,1, - 0,72,48,0,128,128,128,136,144,160,192,160,144,136,132,6, - 12,12,8,1,254,120,132,132,132,132,132,132,132,132,120,32, - 24,6,10,10,8,1,254,120,132,132,132,132,132,132,120,32, - 24,6,15,15,8,1,254,120,0,0,120,132,132,132,132,132, - 132,132,132,120,32,24,6,13,13,8,1,254,120,0,0,120, - 132,132,132,132,132,132,120,32,24,6,14,14,8,1,0,72, - 48,0,0,252,8,16,32,56,4,4,4,140,120,6,14,14, - 8,1,254,72,48,0,0,124,8,16,32,56,4,4,4,132, - 120,6,14,14,8,1,254,36,24,0,0,24,8,8,8,8, - 8,8,8,144,96,7,10,10,8,1,0,206,162,162,162,164, - 164,168,168,168,206,7,10,10,8,1,0,192,160,174,162,162, - 164,164,168,168,206,7,11,11,8,1,0,32,32,32,110,162, - 162,164,164,168,168,110,6,14,14,8,1,0,24,96,0,0, - 120,132,132,128,128,156,132,132,140,116,6,14,14,8,1,254, - 24,96,0,4,116,136,136,136,112,64,120,132,132,120,6,10, - 10,8,1,0,144,144,144,148,244,148,148,148,148,136,6,11, - 11,8,1,255,184,196,132,132,136,144,160,192,128,128,128,6, - 13,13,8,1,0,96,24,0,132,196,196,164,164,148,148,140, - 140,132,6,11,11,8,1,0,96,24,0,184,196,132,132,132, - 132,132,132,6,14,14,8,1,0,24,96,48,72,48,48,72, - 72,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0, - 48,72,48,0,120,132,4,124,132,140,116,7,14,14,8,1, - 0,12,48,0,0,62,80,144,144,254,144,144,144,144,158,7, - 12,12,8,1,0,12,48,0,0,124,146,18,126,144,144,146, - 124,6,15,15,8,1,255,24,96,0,4,116,136,140,148,148, - 164,164,196,68,184,128,6,13,13,8,1,255,24,96,0,4, - 120,140,148,148,164,164,196,120,128}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =12 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3791] U8G_FONT_SECTION("u8g_font_unifont_4_5") = { - 0,16,16,0,254,10,4,177,6,164,0,255,0,14,254,12, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,7,12,12,8,0,0,204,34,0, - 0,60,66,2,62,66,66,70,58,6,14,14,8,1,0,120, - 132,132,0,48,72,72,132,132,252,132,132,132,132,6,12,12, - 8,1,0,120,132,132,0,120,132,4,124,132,132,140,116,7, - 14,14,8,0,0,204,34,0,0,126,64,64,64,124,64,64, - 64,64,126,7,12,12,8,0,0,204,34,0,0,60,66,66, - 126,64,64,66,60,6,14,14,8,1,0,120,132,132,0,252, - 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,120, - 132,132,0,120,132,132,252,128,128,132,120,7,14,14,8,0, - 0,204,34,0,0,62,8,8,8,8,8,8,8,8,62,7, - 12,12,8,0,0,204,34,0,0,24,8,8,8,8,8,8, - 62,6,14,14,8,1,0,120,132,132,0,124,16,16,16,16, - 16,16,16,16,124,6,12,12,8,1,0,120,132,132,0,48, - 16,16,16,16,16,16,124,7,14,14,8,0,0,204,34,0, - 0,60,66,66,66,66,66,66,66,66,60,7,12,12,8,0, - 0,204,34,0,0,60,66,66,66,66,66,66,60,6,14,14, - 8,1,0,120,132,132,0,120,132,132,132,132,132,132,132,132, - 120,6,12,12,8,1,0,120,132,132,0,120,132,132,132,132, - 132,132,120,7,14,14,8,0,0,204,34,0,0,124,66,66, - 66,124,72,68,68,66,66,7,12,12,8,0,0,204,34,0, - 0,92,98,66,64,64,64,64,64,6,14,14,8,1,0,120, - 132,132,0,248,132,132,132,248,144,136,136,132,132,6,12,12, - 8,1,0,120,132,132,0,184,196,132,128,128,128,128,128,7, - 14,14,8,0,0,204,34,0,0,66,66,66,66,66,66,66, - 66,66,60,7,12,12,8,0,0,204,34,0,0,66,66,66, - 66,66,66,70,58,6,14,14,8,1,0,120,132,132,0,132, - 132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,120, - 132,132,0,132,132,132,132,132,132,140,116,6,12,12,8,1, - 254,120,132,132,128,96,24,4,132,132,120,16,32,6,10,10, - 8,1,254,120,132,128,96,24,4,132,120,16,32,7,12,12, - 8,1,254,254,16,16,16,16,16,16,16,16,16,4,8,5, - 12,12,8,1,254,32,32,32,248,32,32,32,32,32,24,64, - 128,6,10,10,8,1,0,120,132,132,4,24,104,4,4,4, - 120,6,8,8,8,1,0,120,132,4,24,100,4,24,96,6, - 13,13,8,1,0,72,48,0,132,132,132,132,252,132,132,132, - 132,132,6,13,13,8,1,0,72,48,0,128,128,128,184,196, - 132,132,132,132,132,6,10,10,8,1,254,184,196,132,132,132, - 132,132,132,4,4,7,13,13,8,1,254,4,4,4,116,140, - 132,132,132,132,142,118,4,8,6,10,10,8,1,0,16,72, - 132,132,72,120,132,132,132,120,5,8,8,8,2,0,72,136, - 144,96,144,136,136,112,6,12,12,8,1,254,252,4,4,8, - 16,32,64,128,128,252,4,8,6,10,10,8,1,254,252,4, - 8,16,32,64,128,252,4,8,6,12,12,8,1,0,16,0, - 48,72,72,132,132,252,132,132,132,132,6,10,10,8,1,0, - 16,0,120,132,4,124,132,132,140,116,6,12,12,8,1,254, - 252,128,128,128,248,128,128,128,128,252,16,96,6,10,10,8, - 1,254,120,132,132,252,128,128,132,120,16,96,6,14,14,8, - 1,0,120,0,72,0,120,132,132,132,132,132,132,132,132,120, - 6,12,12,8,1,0,120,0,72,0,120,132,132,132,132,132, - 132,120,6,14,14,8,1,0,120,0,100,152,0,120,132,132, - 132,132,132,132,132,120,6,13,13,8,1,0,120,0,100,152, - 0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,16, - 0,120,132,132,132,132,132,132,132,132,120,6,10,10,8,1, - 0,16,0,120,132,132,132,132,132,132,120,6,14,14,8,1, - 0,120,0,16,0,120,132,132,132,132,132,132,132,132,120,6, - 12,12,8,1,0,120,0,16,0,120,132,132,132,132,132,132, - 120,7,12,12,8,1,0,124,0,130,130,68,68,40,16,16, - 16,16,16,6,12,12,8,1,254,120,0,132,132,132,132,132, - 76,52,4,4,120,4,13,13,8,2,254,96,32,32,32,32, - 32,32,32,32,48,48,64,128,7,10,10,8,1,254,184,196, - 132,132,132,132,134,134,4,8,6,12,12,8,1,254,32,32, - 32,248,32,32,32,32,44,28,16,32,5,10,10,8,1,254, - 24,8,8,8,8,8,8,8,144,96,7,11,11,8,0,0, - 16,16,16,84,186,146,146,146,146,186,84,7,10,10,8,0, - 254,84,186,146,146,146,146,186,84,16,16,7,11,11,8,0, - 0,2,26,36,44,74,82,126,98,66,66,194,7,12,12,8, - 0,255,2,60,70,74,72,80,80,96,98,66,124,128,7,11, - 11,8,0,255,2,4,60,74,80,80,96,96,66,124,128,6, - 10,10,8,1,0,64,64,64,64,240,64,64,64,64,124,7, - 12,12,8,1,0,2,4,254,24,24,16,16,48,48,80,80, - 144,7,10,10,8,1,254,120,132,128,96,24,4,132,120,18, - 12,6,10,10,8,1,254,252,4,8,16,32,64,128,192,32, - 28,6,10,10,8,1,0,120,132,132,4,8,16,16,16,16, - 16,6,8,8,8,1,0,120,132,132,4,8,16,16,16,6, - 10,10,8,1,0,120,68,68,68,120,68,244,68,68,120,7, - 10,10,8,0,0,68,68,68,68,68,254,68,68,68,56,6, - 10,10,8,1,0,48,48,48,72,72,72,72,132,132,132,6, - 14,14,8,1,254,8,8,252,144,144,160,248,160,160,192,192, - 252,128,128,7,10,10,8,0,255,2,60,70,74,126,80,96, - 66,124,128,7,10,10,8,1,0,62,8,8,8,8,62,8, - 136,136,112,7,13,13,8,1,254,8,8,0,24,8,8,62, - 8,8,8,8,144,96,7,12,12,8,1,254,112,136,136,136, - 136,136,136,136,152,104,8,6,7,10,10,8,1,254,104,152, - 136,136,136,136,152,104,8,6,6,10,10,8,1,0,120,68, - 68,68,248,80,72,72,68,68,6,8,8,8,1,0,88,100, - 68,224,64,64,64,64,7,10,10,8,1,0,130,130,68,254, - 40,16,16,16,16,16,7,10,10,8,1,254,68,68,68,254, - 68,36,28,4,4,56,6,8,8,8,1,0,184,196,132,132, - 248,128,132,120,6,8,8,8,1,0,116,140,132,132,132,140, - 148,100,6,8,8,8,1,0,152,164,196,132,132,132,196,184, - 6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,196, - 184,6,8,8,8,1,0,120,132,4,4,4,4,132,120,6, - 9,9,8,1,255,120,132,128,128,128,152,164,120,128,7,12, - 12,8,1,255,8,8,8,104,152,136,136,136,136,152,104,6, - 7,11,11,8,1,0,6,8,8,104,152,136,136,136,136,152, - 104,6,8,8,8,1,0,120,132,132,252,4,4,132,120,6, - 8,8,8,1,0,120,132,4,4,252,132,132,120,7,8,8, - 8,1,0,114,140,8,8,248,136,136,112,6,8,8,8,1, - 0,120,132,128,120,128,128,132,120,6,8,8,8,1,0,120, - 132,4,120,4,4,132,120,7,8,8,8,1,0,114,140,8, - 112,8,8,136,112,6,8,8,8,1,0,120,132,132,184,132, - 132,132,120,7,10,10,8,1,254,24,8,8,8,62,8,8, - 8,144,96,7,11,11,8,1,254,6,104,152,136,136,136,152, - 104,8,136,112,6,10,10,8,1,254,116,140,132,132,132,140, - 116,4,132,120,6,8,8,8,1,0,120,132,128,128,156,132, - 132,124,6,10,10,8,1,254,132,132,132,72,72,48,48,72, - 72,48,6,8,8,8,1,0,132,132,72,72,48,48,72,48, - 6,11,11,8,1,254,132,132,132,132,132,132,140,116,4,4, - 4,6,11,11,8,1,0,112,128,128,184,196,132,132,132,132, - 132,132,6,11,11,8,1,0,112,128,128,184,196,132,132,132, - 132,132,152,5,11,11,8,2,0,32,32,0,96,32,32,248, - 32,32,32,248,3,8,8,8,3,0,128,128,128,128,128,128, - 128,96,5,8,8,8,2,0,248,32,32,32,32,32,32,248, - 6,11,11,8,1,0,48,16,16,16,116,152,16,16,16,16, - 124,6,11,11,8,1,0,48,16,16,112,144,124,16,16,16, - 16,124,4,12,12,8,3,255,192,64,64,64,64,64,64,64, - 64,64,64,48,7,13,13,8,1,254,96,32,32,62,34,36, - 40,44,34,34,250,18,12,7,8,8,8,1,0,146,146,146, - 146,146,146,146,110,7,10,10,8,1,254,146,146,146,146,146, - 146,146,110,2,2,7,9,9,8,1,255,236,146,146,146,146, - 146,146,130,12,7,9,9,8,1,255,44,50,34,34,34,34, - 34,34,192,7,9,9,8,1,255,176,200,136,136,136,136,136, - 136,6,6,8,8,8,1,0,132,132,196,164,148,140,132,132, - 6,8,8,8,1,0,120,132,132,252,132,132,132,120,7,8, - 8,8,1,0,110,144,144,156,144,144,144,110,7,8,8,8, - 1,0,124,130,130,146,146,146,146,108,7,12,12,8,1,254, - 16,16,124,146,146,146,146,146,146,124,16,16,6,8,8,8, - 1,0,4,4,4,4,4,132,140,116,6,10,10,8,1,0, - 4,4,4,4,4,4,4,132,140,116,7,9,9,8,1,255, - 8,8,8,8,8,136,152,104,6,6,10,10,8,1,254,184, - 196,132,128,128,128,128,128,128,128,6,9,9,8,1,255,184, - 196,132,128,128,128,128,128,96,6,8,8,8,1,0,120,132, - 132,128,128,128,128,128,6,8,8,8,1,0,120,132,132,4, - 4,4,4,4,6,8,8,8,1,0,248,132,132,248,136,132, - 132,132,6,8,8,8,1,0,132,132,132,136,248,132,132,248, - 6,10,10,8,1,254,120,132,128,96,24,4,132,248,128,96, - 5,12,12,8,1,255,24,32,32,32,32,32,32,32,32,32, - 32,192,5,12,12,8,1,255,24,32,32,32,32,32,32,248, - 32,32,32,192,5,9,9,8,1,255,192,32,32,32,32,32, - 32,32,24,6,12,12,8,1,255,12,16,16,16,16,16,16, - 16,16,112,156,96,5,10,10,8,1,0,192,32,32,32,32, - 32,32,248,32,32,6,11,11,8,1,255,32,32,32,248,32, - 32,32,32,32,32,28,7,8,8,8,1,0,68,68,68,254, - 68,68,76,52,6,8,8,8,1,0,132,72,132,132,132,132, - 72,48,6,8,8,8,1,0,152,132,132,132,132,136,144,96, - 6,8,8,8,1,0,48,48,72,72,72,132,132,132,7,8, - 8,8,1,0,108,146,146,146,146,146,146,130,6,10,10,8, - 1,254,120,128,128,176,200,132,132,132,132,132,7,8,8,8, - 1,0,130,130,68,40,16,16,16,16,7,10,10,8,1,254, - 248,16,16,32,32,64,64,248,8,6,7,9,9,8,1,255, - 252,4,8,16,32,76,146,252,32,6,10,10,8,1,254,124, - 8,16,32,56,4,4,4,132,120,6,10,10,8,1,254,124, - 8,16,32,56,4,4,100,148,120,6,10,10,8,1,0,120, - 132,132,4,8,16,16,16,16,16,6,10,10,8,1,0,120, - 132,132,128,64,32,32,32,32,32,6,10,10,8,1,0,16, - 16,16,16,16,8,4,132,132,120,6,10,10,8,1,254,120, - 132,128,128,128,128,128,128,132,120,6,8,8,8,1,0,120, - 132,132,180,180,132,132,120,6,8,8,8,1,0,248,132,132, - 248,132,132,132,248,6,8,8,8,1,0,120,132,132,116,132, - 132,132,120,7,8,8,8,1,0,118,136,128,128,152,136,136, - 120,5,8,8,8,2,0,136,136,136,248,136,136,136,136,6, - 13,13,8,1,254,8,8,0,24,8,8,8,8,8,8,124, - 144,96,6,11,11,8,1,254,132,68,36,20,12,20,36,68, - 4,4,4,6,8,8,8,1,0,128,128,128,128,128,128,128, - 252,7,11,11,8,1,254,6,104,152,136,136,136,136,152,104, - 8,8,6,10,10,8,1,0,120,132,132,4,8,16,16,124, - 16,16,6,10,10,8,1,0,120,132,132,128,64,32,32,248, - 32,32,7,11,11,8,1,0,32,32,32,126,162,164,164,168, - 168,176,126,7,13,13,8,1,254,32,32,32,126,162,164,168, - 172,162,162,98,18,12,7,12,12,8,1,255,32,32,32,126, - 162,164,168,176,180,170,124,8,8,10,10,8,0,0,64,64, - 70,248,72,68,66,65,65,62,7,13,13,8,1,254,6,72, - 72,72,248,72,72,72,72,72,56,8,48,8,11,11,8,0, - 255,64,64,70,249,72,72,72,74,77,62,4,7,12,12,8, - 1,254,96,144,128,220,162,162,162,162,162,162,4,24,7,11, - 11,8,1,0,192,64,64,64,78,80,80,76,66,66,124,7, - 11,11,8,0,0,192,64,64,64,64,126,68,72,80,96,126, - 7,11,11,8,1,0,130,146,146,146,108,0,130,146,146,146, - 108,6,10,10,8,1,0,252,132,132,132,0,0,252,132,132, - 132,5,10,10,8,1,254,200,72,72,72,72,72,88,40,8, - 8,7,10,10,8,1,254,200,72,72,72,72,72,88,40,8, - 6,5,6,6,8,2,4,128,128,176,200,136,136,5,7,7, - 8,2,4,112,136,128,176,200,136,136,4,7,7,8,2,4, - 16,0,16,16,16,144,96,5,5,5,8,2,5,176,200,128, - 128,128,5,5,5,8,1,5,8,8,8,152,104,7,6,6, - 8,1,4,8,8,8,152,104,6,5,6,6,8,1,4,136, - 144,240,136,136,240,5,4,4,8,1,6,136,168,168,80,5, - 5,5,8,1,5,136,136,120,8,112,3,3,3,8,2,7, - 32,64,128,6,3,3,8,1,7,36,72,144,2,4,4,8, - 3,6,64,128,128,192,2,4,4,8,3,6,192,64,64,128, - 2,4,4,8,3,6,192,128,128,64,4,6,6,8,2,5, - 192,32,16,16,32,192,4,6,6,8,2,5,48,64,128,128, - 64,48,6,7,7,8,1,4,120,132,4,4,56,32,32,6, - 7,7,8,1,4,120,132,128,128,112,16,16,4,7,7,8, - 2,4,16,32,64,128,64,32,16,4,7,7,8,2,4,128, - 64,32,16,32,64,128,7,4,4,8,1,6,16,40,68,130, - 7,4,4,8,1,6,130,68,40,16,4,2,2,8,2,8, - 96,144,4,2,2,8,2,8,144,96,1,3,3,8,4,7, - 128,128,128,4,1,1,8,2,9,240,4,2,2,8,2,8, - 48,192,4,2,2,8,2,8,192,48,1,4,4,8,4,0, - 128,128,128,128,4,1,1,8,2,0,240,4,2,2,8,2, - 255,192,48,4,2,2,8,2,255,48,192,3,6,6,8,2, - 1,224,64,0,0,64,224,3,2,2,8,2,4,224,64,4, - 6,6,8,2,2,192,32,16,16,32,192,4,6,6,8,2, - 2,48,64,128,128,64,48,5,5,5,8,1,2,32,32,32, - 32,248,5,5,5,8,1,2,248,32,32,32,32,5,5,5, - 8,1,2,32,32,248,32,32,5,1,1,8,1,4,248,6, - 3,3,8,1,9,132,132,120,2,2,2,8,3,10,192,192, - 4,3,3,8,2,9,96,144,96,3,2,2,8,4,254,128, - 96,6,2,2,8,1,10,100,152,7,2,2,8,1,10,102, - 136,7,4,4,8,0,3,32,96,162,28,6,5,5,8,1, - 5,132,72,48,72,132,5,6,6,8,1,4,136,80,32,80, - 80,32,3,6,6,8,2,6,192,64,64,64,64,224,5,5, - 5,8,1,5,120,128,112,8,240,5,5,5,8,1,5,136, - 80,32,80,136,5,5,5,8,1,7,120,128,128,112,16,5, - 11,11,8,1,0,248,8,8,8,8,8,8,8,8,8,8, - 5,11,11,8,1,0,8,8,248,8,8,8,8,8,8,8, - 8,5,11,11,8,1,0,8,8,8,8,8,248,8,8,8, - 8,8,5,11,11,8,1,0,8,8,8,8,8,8,8,8, - 248,8,8,5,11,11,8,1,0,8,8,8,8,8,8,8, - 8,8,8,248,5,6,6,8,1,0,128,128,128,128,128,248, - 4,7,7,8,1,0,128,128,128,240,128,128,128,5,3,3, - 8,1,0,136,80,32,6,3,3,8,1,9,252,0,252,6, - 4,4,8,1,8,204,68,68,136,5,3,3,8,1,255,136, - 80,32,5,3,3,8,1,255,32,80,136,3,5,5,8,3, - 255,32,64,128,64,32,3,5,5,8,3,255,128,64,32,64, - 128,4,3,3,8,2,255,96,144,96,3,3,3,8,2,9, - 128,64,32,6,3,3,8,1,9,144,72,36,6,3,3,8, - 1,9,36,72,144,6,2,2,8,1,254,100,152,2,7,7, - 8,3,4,192,192,0,0,0,192,192,3,4,4,8,2,7, - 224,128,128,128,3,4,4,8,2,7,224,32,32,32,3,4, - 4,8,2,0,128,128,128,224,3,4,4,8,2,0,32,32, - 32,224,6,3,3,8,1,254,132,132,252,6,3,3,8,1, - 254,128,128,252,6,5,5,8,1,3,32,64,252,64,32}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 3, '1' Height: 9 - Calculated Max Values w=15 h=16 x= 7 y=12 dx=16 dy= 0 ascent=14 len=16 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[3421] U8G_FONT_SECTION("u8g_font_unifont_67_75") = { - 0,16,16,0,254,3,2,188,4,152,16,255,0,14,254,12, - 0,7,5,5,8,1,2,32,64,254,64,32,5,14,14,8, - 2,254,32,112,168,32,32,32,32,32,32,32,32,32,32,32, - 7,5,5,8,0,2,8,4,254,4,8,5,14,14,8,2, - 0,32,32,32,32,32,32,32,32,32,32,32,168,112,32,8, - 5,5,8,0,2,36,66,255,66,36,5,12,12,8,2,0, - 32,112,168,32,32,32,32,32,32,168,112,32,6,6,6,8, - 1,3,240,192,160,144,8,4,6,6,6,8,1,3,60,12, - 20,36,64,128,6,6,6,8,1,3,128,64,36,20,12,60, - 6,6,6,8,1,2,4,8,144,160,192,240,7,9,9,8, - 1,0,8,8,40,72,254,72,40,8,8,7,9,9,8,0, - 0,32,32,40,36,254,36,40,32,32,7,5,5,8,1,2, - 32,76,242,64,32,7,5,5,8,0,2,8,100,158,4,8, - 8,5,5,8,0,3,36,72,255,72,36,5,14,14,8,2, - 254,32,112,168,32,112,168,32,32,32,32,32,32,32,32,8, - 5,5,8,0,2,36,18,255,18,36,5,15,15,8,2,255, - 32,32,32,32,32,32,32,32,32,168,112,32,168,112,32,7, - 5,5,8,1,2,34,68,248,68,34,7,5,5,8,0,2, - 136,68,62,68,136,6,5,5,8,1,2,36,68,252,68,36, - 5,12,12,8,2,0,32,112,168,32,32,32,32,32,32,32, - 32,248,6,5,5,8,1,2,144,136,252,136,144,5,12,12, - 8,2,0,248,32,32,32,32,32,32,32,32,168,112,32,5, - 12,12,8,2,0,32,112,168,32,32,32,32,32,168,112,32, - 248,7,6,6,8,1,2,4,34,66,252,64,32,7,6,6, - 8,1,2,64,136,132,126,4,8,7,6,6,8,1,2,4, - 42,74,252,72,40,7,6,6,8,1,2,64,168,164,126,36, - 40,8,5,5,8,0,2,36,90,231,66,36,8,9,9,8, - 0,0,8,8,44,74,255,74,44,8,8,6,12,12,8,1, - 0,128,128,128,144,176,208,144,16,16,84,56,16,5,9,9, - 8,1,254,32,64,240,72,40,8,8,8,8,5,9,9,8, - 2,254,32,16,120,144,160,128,128,128,128,5,12,12,8,1, - 2,8,8,8,8,8,8,8,40,72,240,64,32,5,12,12, - 8,2,2,128,128,128,128,128,128,128,160,144,120,16,32,8, - 5,5,8,0,0,252,4,21,14,4,5,12,12,8,1,2, - 8,8,8,8,8,8,8,40,72,248,64,32,8,5,5,8, - 0,1,30,33,169,113,32,8,5,5,8,0,1,120,132,149, - 142,4,6,8,8,8,1,3,252,0,240,192,160,144,8,4, - 6,11,11,8,1,0,160,192,252,192,160,0,20,12,252,12, - 20,6,6,6,8,1,1,92,152,148,132,132,120,6,6,6, - 8,1,1,232,100,164,132,132,120,7,3,3,8,1,4,32, - 64,254,7,3,3,8,1,2,254,64,32,3,14,14,8,4, - 254,128,192,160,128,128,128,128,128,128,128,128,128,128,128,3, - 14,14,8,2,254,32,96,160,32,32,32,32,32,32,32,32, - 32,32,32,7,3,3,8,0,4,8,4,254,7,3,3,8, - 0,2,254,4,8,3,14,14,8,4,0,128,128,128,128,128, - 128,128,128,128,128,128,160,192,128,3,14,14,8,2,0,32, - 32,32,32,32,32,32,32,32,32,32,160,96,32,6,11,11, - 8,1,0,16,8,252,8,16,0,32,64,252,64,32,8,12, - 12,8,0,0,36,116,172,36,36,36,36,36,36,53,46,36, - 6,11,11,8,1,0,32,64,252,64,32,0,16,8,252,8, - 16,6,11,11,8,1,0,32,64,252,64,32,0,32,64,252, - 64,32,8,12,12,8,0,0,36,126,165,36,36,36,36,36, - 36,36,36,36,6,11,11,8,1,0,16,8,252,8,16,0, - 16,8,252,8,16,8,12,12,8,0,0,36,36,36,36,36, - 36,36,36,36,165,126,36,6,7,7,8,1,1,32,64,252, - 0,252,8,16,6,7,7,8,1,1,16,8,252,0,252,64, - 32,7,9,9,8,0,0,8,8,40,126,136,126,40,8,8, - 8,9,9,8,0,0,8,8,44,126,137,126,44,8,8,7, - 9,9,8,1,0,32,32,40,252,34,252,40,32,32,6,5, - 5,8,1,2,32,124,128,124,32,5,12,12,8,2,0,32, - 80,216,80,80,80,80,80,80,80,80,80,6,5,5,8,1, - 2,16,248,4,248,16,5,12,12,8,2,0,80,80,80,80, - 80,80,80,80,80,216,80,32,8,5,5,8,0,2,36,126, - 129,126,36,5,12,12,8,2,0,32,80,216,80,80,80,80, - 80,80,216,80,32,6,6,6,8,1,3,240,160,208,168,20, - 8,6,6,6,8,1,3,60,20,44,84,160,64,6,6,6, - 8,1,3,8,20,168,208,160,240,6,6,6,8,1,3,64, - 160,84,44,20,60,7,7,7,8,0,1,16,62,64,254,64, - 62,16,7,7,7,8,1,1,16,248,4,254,4,248,16,8, - 5,5,8,0,2,32,66,245,72,32,8,5,5,8,0,2, - 4,66,175,18,4,5,14,14,8,2,254,32,112,168,32,32, - 32,248,32,248,32,32,32,32,32,5,14,14,8,2,0,32, - 32,32,32,32,248,32,248,32,32,32,168,112,32,7,5,5, - 8,1,2,32,64,238,64,32,5,14,14,8,2,254,32,112, - 168,32,32,0,32,32,32,32,0,32,32,32,8,5,5,8, - 0,2,4,2,239,2,4,5,14,14,8,2,0,32,32,32, - 0,32,32,32,32,0,32,32,168,112,32,7,5,5,8,1, - 2,160,192,254,192,160,7,5,5,8,0,2,10,6,254,6, - 10,8,7,7,8,0,1,16,48,95,129,95,48,16,7,12, - 12,8,1,0,16,40,68,238,40,40,40,40,40,40,40,56, - 8,7,7,8,0,2,8,12,250,129,250,12,8,7,12,12, - 8,1,0,56,40,40,40,40,40,40,40,238,68,40,16,7, - 12,12,8,1,0,16,40,68,238,40,40,40,56,0,56,40, - 56,7,12,12,8,1,0,16,40,68,198,68,68,68,68,68, - 198,130,254,7,12,12,8,1,0,16,40,124,198,68,68,68, - 68,68,198,130,254,7,12,12,8,1,0,16,56,84,214,84, - 84,84,84,84,214,146,254,7,13,13,8,1,0,16,40,84, - 238,68,198,68,68,68,68,68,68,124,7,13,13,8,1,0, - 16,40,84,238,68,198,68,68,68,68,198,130,254,7,7,7, - 8,1,1,16,216,244,130,244,216,16,7,9,9,8,1,0, - 254,128,184,176,168,132,130,128,128,7,9,9,8,1,0,2, - 2,130,66,42,26,58,2,254,5,12,12,8,2,0,32,80, - 216,80,80,80,80,80,80,216,80,32,13,5,10,16,1,2, - 14,32,17,16,255,248,17,16,14,32,8,12,12,8,0,0, - 36,46,53,36,36,36,36,36,36,172,116,36,8,15,15,8, - 0,254,4,2,255,2,4,4,2,255,2,4,4,2,255,2, - 4,8,5,5,8,0,2,36,68,255,68,36,8,5,5,8, - 0,2,36,34,255,34,36,11,5,10,16,2,2,36,128,68, - 64,255,224,68,64,36,128,15,5,10,16,1,2,34,128,66, - 128,255,254,66,128,34,128,15,5,10,16,0,2,2,136,2, - 132,255,254,2,132,2,136,13,5,10,16,1,2,37,32,69, - 16,255,248,69,16,37,32,8,5,5,8,0,2,32,96,191, - 96,32,8,5,5,8,0,2,4,6,253,6,4,12,5,10, - 16,2,2,32,64,96,96,191,208,96,96,32,64,8,8,8, - 8,0,6,255,255,255,255,255,255,255,255,8,2,2,8,0, - 254,255,255,8,4,4,8,0,254,255,255,255,255,8,6,6, - 8,0,254,255,255,255,255,255,255,8,8,8,8,0,254,255, - 255,255,255,255,255,255,255,8,10,10,8,0,254,255,255,255, - 255,255,255,255,255,255,255,8,12,12,8,0,254,255,255,255, - 255,255,255,255,255,255,255,255,255,8,14,14,8,0,254,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,8,16,16, - 8,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,7,16,16,8,0,254,254,254,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,6,16,16,8,0,254,252, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 16,16,8,0,254,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,4,16,16,8,0,254,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,3,16,16,8,0, - 254,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,2,16,16,8,0,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,1,16,16,8,0,254,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,4,16,16, - 8,4,254,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,7,16,16,8,0,254,136,34,136,34,136,34,136, - 34,136,34,136,34,136,34,136,34,8,16,16,8,0,254,170, - 85,170,85,170,85,170,85,170,85,170,85,170,85,170,85,8, - 16,16,8,0,254,238,187,238,187,238,187,238,187,238,187,238, - 187,238,187,238,187,8,2,2,8,0,12,255,255,1,16,16, - 8,7,254,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,4,8,8,8,0,254,240,240,240,240,240,240,240, - 240,4,8,8,8,4,254,240,240,240,240,240,240,240,240,4, - 8,8,8,0,6,240,240,240,240,240,240,240,240,8,16,16, - 8,0,254,240,240,240,240,240,240,240,240,255,255,255,255,255, - 255,255,255,8,16,16,8,0,254,240,240,240,240,240,240,240, - 240,15,15,15,15,15,15,15,15,8,16,16,8,0,254,255, - 255,255,255,255,255,255,255,240,240,240,240,240,240,240,240,8, - 16,16,8,0,254,255,255,255,255,255,255,255,255,15,15,15, - 15,15,15,15,15,4,8,8,8,4,6,240,240,240,240,240, - 240,240,240,8,16,16,8,0,254,15,15,15,15,15,15,15, - 15,240,240,240,240,240,240,240,240,8,16,16,8,0,254,15, - 15,15,15,15,15,15,15,255,255,255,255,255,255,255,255,7, - 7,7,8,1,1,254,254,254,254,254,254,254,7,7,7,8, - 1,1,254,130,130,130,130,130,254,7,7,7,8,1,1,124, - 130,130,130,130,130,124,7,7,7,8,1,1,254,130,186,186, - 186,130,254,7,7,7,8,1,1,254,130,254,130,254,130,254, - 7,7,7,8,1,1,254,170,170,170,170,170,254,7,7,7, - 8,1,1,254,170,254,170,254,170,254,7,7,7,8,1,1, - 254,166,146,202,166,146,254,7,7,7,8,1,1,254,202,146, - 166,202,146,254,7,7,7,8,1,1,254,170,214,170,214,170, - 254,4,4,4,8,2,4,240,240,240,240,4,4,4,8,2, - 4,240,144,144,240,7,4,4,8,1,4,254,254,254,254,7, - 4,4,8,1,4,254,130,130,254,4,7,7,8,2,2,240, - 240,240,240,240,240,240,4,7,7,8,2,2,240,144,144,144, - 144,144,240,8,3,3,8,0,4,63,126,252,8,3,3,8, - 0,4,63,66,252,6,6,6,8,1,3,48,48,120,120,252, - 252,6,6,6,8,1,3,48,48,72,72,132,252,6,3,3, - 8,1,3,48,120,252,6,3,3,8,1,3,48,72,252,6, - 6,6,8,1,3,192,240,252,252,240,192,6,6,6,8,1, - 3,192,176,140,140,176,192,4,4,4,8,2,4,192,240,240, - 192,4,4,4,8,2,4,192,176,176,192,6,5,5,8,1, - 3,192,240,252,240,192,6,5,5,8,1,3,192,176,140,176, - 192,6,6,6,8,1,3,252,252,120,120,48,48,6,6,6, - 8,1,3,252,132,72,72,48,48,6,3,3,8,1,3,252, - 120,48,6,3,3,8,1,3,252,72,48,6,6,6,8,1, - 3,12,60,252,252,60,12,6,6,6,8,1,3,12,52,196, - 196,52,12,4,4,4,8,2,4,48,240,240,48,4,4,4, - 8,2,4,48,208,208,48,6,5,5,8,1,3,12,60,252, - 60,12,6,5,5,8,1,3,12,52,196,52,12,7,7,7, - 8,1,2,16,56,124,254,124,56,16,7,7,7,8,1,2, - 16,40,68,130,68,40,16,7,7,7,8,1,2,16,40,84, - 186,84,40,16,7,7,7,8,1,2,56,68,178,186,154,68, - 56,6,10,10,8,1,1,48,48,72,72,132,132,72,72,48, - 48,7,7,7,8,1,2,56,68,130,130,130,68,56,7,7, - 7,8,1,2,40,0,130,0,130,0,40,7,7,7,8,1, - 2,56,108,170,170,170,108,56,7,7,7,8,1,2,56,68, - 146,170,146,68,56,7,7,7,8,1,2,56,124,254,254,254, - 124,56,7,7,7,8,1,2,56,100,226,226,226,100,56,7, - 7,7,8,1,2,56,76,142,142,142,76,56,7,7,7,8, - 1,2,56,68,130,130,254,124,56,7,7,7,8,1,2,56, - 124,254,130,130,68,56,7,7,7,8,1,2,56,92,158,158, - 130,68,56,7,7,7,8,1,2,56,76,142,142,254,124,56, - 4,7,7,8,1,2,48,112,240,240,240,112,48,4,7,7, - 8,4,2,192,224,240,240,240,224,192,8,16,16,8,0,254, - 255,255,255,255,255,255,231,195,195,231,255,255,255,255,255,255, - 8,16,16,8,0,254,255,255,255,255,255,231,219,189,189,219, - 231,255,255,255,255,255,8,8,8,8,0,6,255,255,255,255, - 255,231,219,189,8,8,8,8,0,254,189,219,231,255,255,255, - 255,255,4,4,4,8,1,5,48,64,128,128,4,4,4,8, - 4,5,192,32,16,16,4,4,4,8,4,2,16,16,32,192, - 4,4,4,8,1,2,128,128,64,48,7,4,4,8,1,5, - 56,68,130,130,7,4,4,8,1,2,130,130,68,56,6,6, - 6,8,1,255,4,12,28,60,124,252,6,6,6,8,1,255, - 128,192,224,240,248,252,6,6,6,8,1,6,252,248,240,224, - 192,128,6,6,6,8,1,6,252,124,60,28,12,4,5,5, - 5,8,1,2,112,136,136,136,112,6,6,6,8,1,3,252, - 228,228,228,228,252,6,6,6,8,1,3,252,156,156,156,156, - 252,6,6,6,8,1,3,252,244,228,196,132,252,6,6,6, - 8,1,3,252,132,140,156,188,252,7,6,6,8,1,3,254, - 146,146,146,146,254,7,7,7,8,1,2,16,40,40,68,84, - 130,254,6,6,6,8,1,2,48,48,104,104,228,252,6,7, - 7,8,1,2,48,48,88,88,156,156,252,8,8,8,8,0, - 2,60,66,129,129,129,129,66,60,6,6,6,8,1,0,252, - 164,228,132,132,252,6,6,6,8,1,0,252,132,132,228,164, - 252,6,6,6,8,1,0,252,132,132,156,148,252,6,6,6, - 8,1,0,252,148,156,132,132,252,8,8,8,8,0,0,60, - 82,145,241,129,129,66,60,8,8,8,8,0,0,60,66,129, - 129,241,145,82,60,8,8,8,8,0,0,60,66,129,129,143, - 137,74,60,8,8,8,8,0,0,60,74,137,143,129,129,66, - 60,6,6,6,8,1,6,252,136,144,160,192,128,6,6,6, - 8,1,6,252,68,36,20,12,4,6,6,6,8,1,255,128, - 192,160,144,136,252,6,6,6,8,1,255,252,132,132,132,132, - 252,6,6,6,8,1,255,252,252,252,252,252,252,4,4,4, - 8,2,0,240,144,144,240,4,4,4,8,2,0,240,240,240, - 240,6,6,6,8,1,255,4,12,20,36,68,252}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 14 - Calculated Max Values w=16 h=16 x= 5 y= 5 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-1 - X Font ascent =14 descent=-1 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7568] U8G_FONT_SECTION("u8g_font_unifont_72_73") = { - 0,16,16,0,254,10,5,238,9,116,0,255,255,14,254,14, - 255,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,14,5,10,16,1,4,115,36,132, - 164,100,188,20,164,227,36,13,5,10,16,1,4,119,72,130, - 72,98,48,18,72,226,72,13,5,10,16,1,4,247,72,130, - 72,242,48,130,72,242,72,14,5,10,16,1,4,243,124,132, - 144,244,144,132,144,243,16,14,5,10,16,1,4,244,152,132, - 164,246,164,133,172,244,156,13,5,10,16,1,4,99,72,148, - 80,244,96,148,80,147,72,14,5,10,16,1,4,231,160,148, - 32,231,160,148,32,231,188,10,5,10,16,3,4,241,192,138, - 0,241,128,136,64,243,128,11,5,10,16,2,4,139,224,136, - 128,248,128,136,128,136,128,11,5,10,16,2,4,131,224,130, - 0,131,224,130,0,250,0,11,5,10,16,2,4,139,224,136, - 128,136,128,80,128,32,128,11,5,10,16,2,4,251,224,130, - 0,251,224,130,0,130,0,11,5,10,16,2,4,123,192,130, - 32,131,192,130,64,122,32,11,5,10,16,2,4,121,192,130, - 32,114,32,10,32,241,192,11,5,10,16,2,4,123,224,128, - 128,112,128,8,128,243,224,12,5,10,16,2,4,228,112,148, - 64,148,112,148,64,231,112,13,5,10,16,1,4,227,16,148, - 48,148,16,148,16,227,56,13,5,10,16,1,4,227,48,148, - 8,148,16,148,32,227,56,13,5,10,16,1,4,227,48,148, - 8,148,48,148,8,227,48,13,5,10,16,1,4,227,8,148, - 24,148,40,148,56,227,8,14,5,10,16,1,4,147,36,212, - 168,212,176,183,168,148,164,14,5,10,16,1,4,104,164,133, - 52,98,44,18,36,226,36,13,5,10,16,1,4,247,112,130, - 72,242,112,130,72,242,112,13,5,10,16,1,4,102,72,137, - 104,143,88,137,72,105,72,11,5,10,16,2,4,250,32,131, - 96,250,160,130,32,250,32,14,5,10,16,1,4,116,184,132, - 164,100,184,20,164,227,56,14,5,10,16,1,4,243,156,132, - 32,243,32,128,160,247,28,9,5,10,16,3,4,243,128,132, - 0,243,0,128,128,135,0,9,5,10,16,3,4,115,128,132, - 0,179,0,144,128,119,0,9,5,10,16,3,4,227,128,148, - 0,227,0,160,128,151,0,9,5,10,16,3,4,147,128,148, - 0,147,0,144,128,103,0,9,5,10,16,1,4,119,0,132, - 128,103,0,20,0,228,0,14,5,10,16,1,4,231,160,148, - 32,151,160,148,32,231,188,6,10,10,8,1,0,40,48,32, - 96,184,36,36,36,36,56,6,2,2,8,1,0,132,252,6, - 9,9,8,1,1,144,208,176,144,0,32,32,32,60,7,7, - 7,8,1,2,2,20,42,84,168,80,128,6,11,11,8,1, - 0,120,132,132,128,64,32,16,16,0,16,16,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,12,251,236,195,220,223,188,195,188,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,195,156,251,108,195,156,223,108,195,156,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,195,156,251,108,195,140,223,236,195,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,195,12,251,108,195,12,223,108, - 195,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,195,28,251,108,195,28, - 223,108,195,28,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,195,140,251,124, - 195,124,223,124,195,140,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,28, - 251,108,195,108,223,108,195,28,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 195,12,251,124,195,28,223,124,195,12,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,12,251,124,195,28,223,124,195,124,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,199,156,251,108,227,108,251,108,199,156,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,199,220,251,156,227,220,251,220,199,140, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,199,12,251,236,227,12,251,124, - 199,12,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,199,28,251,236,227,140, - 251,236,199,28,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,199,108,251,108, - 227,12,251,236,199,236,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,12, - 251,124,227,12,251,236,199,12,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 199,156,251,124,227,28,251,108,199,156,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,199,12,251,236,227,220,251,188,199,188,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,199,156,251,108,227,156,251,108,199,156,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,199,156,251,108,227,140,251,236,199,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,199,12,251,108,227,12,251,108, - 199,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,199,28,251,108,227,28, - 251,108,199,28,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,199,140,251,124, - 227,124,251,124,199,140,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,28, - 251,108,227,108,251,108,199,28,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 199,12,251,124,227,28,251,124,199,12,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,199,12,251,124,227,28,251,124,199,124,255,252,5,10, - 10,8,2,0,56,40,40,40,32,32,160,160,160,224,5,10, - 10,8,2,0,8,8,8,8,8,248,136,136,136,136,5,10, - 10,8,2,0,136,136,136,136,136,248,32,32,32,32,5,10, - 10,8,2,0,32,32,32,32,32,248,136,136,136,136,5,10, - 10,8,2,0,248,168,168,168,32,32,168,168,168,248,5,5, - 5,8,2,5,136,216,168,216,136,6,8,8,8,1,1,28, - 220,220,192,192,220,220,28,8,10,10,8,0,0,3,3,3, - 27,24,24,216,192,192,192,7,10,10,8,1,0,14,174,174, - 160,160,160,160,160,160,160,7,9,9,8,1,0,218,218,218, - 218,218,218,218,218,218,8,10,10,8,0,0,160,160,80,40, - 40,20,20,10,5,5,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,219,28,219,108, - 195,28,251,108,251,28,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,219,140, - 219,124,195,124,251,124,251,140,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 219,28,219,108,195,108,251,108,251,28,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,219,12,219,124,195,28,251,124,251,12,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,219,12,219,124,195,28,251,124,251,124,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,195,156,223,108,195,108,251,108,195,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,195,220,223,156,195,220,251,220, - 195,140,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,195,12,223,236,195,12, - 251,124,195,12,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,236, - 195,140,251,236,195,28,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,108, - 223,108,195,12,251,236,195,236,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 195,12,223,124,195,12,251,236,195,12,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,156,223,124,195,28,251,108,195,156,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,195,12,223,236,195,220,251,188,195,188,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,195,156,223,108,195,156,251,108,195,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,195,156,223,108,195,140,251,236, - 195,156,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,195,12,223,108,195,12, - 251,108,195,108,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,108, - 195,28,251,108,195,28,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,140, - 223,124,195,124,251,124,195,140,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 195,28,223,108,195,108,251,108,195,28,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,12,223,124,195,28,251,124,195,12,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,195,12,223,124,195,28,251,124,195,124,255,252, - 15,15,30,16,0,255,7,192,24,48,32,8,65,4,67,4, - 133,2,129,2,129,2,129,2,129,2,65,4,71,196,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 67,132,68,68,132,66,128,66,128,130,129,2,130,2,68,4, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,132,68,68,132,66,128,66,129,130,128,66, - 132,66,68,68,67,132,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,132,65,132,130,130,132,130, - 136,130,143,194,128,130,64,132,64,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,196,68,4, - 132,2,132,2,135,130,128,66,128,66,68,68,67,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 65,132,66,4,132,2,132,2,135,130,132,66,132,66,68,68, - 67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,64,68,128,66,128,130,128,130,128,130, - 129,2,65,4,65,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66, - 131,130,132,66,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,67,132,68,68, - 132,66,132,66,131,194,128,66,128,66,64,132,67,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,68,100,140,146,148,146,132,146,132,146,132,146,95,100, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,68,140,194,149,66,132,66,132,66, - 132,66,95,244,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,100,140,146,148,18, - 132,34,132,66,132,130,95,244,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,100, - 140,146,148,18,132,34,132,18,132,146,95,100,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,68,20,140,50,148,82,132,146,132,250,132,18,95,20, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,244,140,130,148,130,132,226,132,18, - 132,146,95,100,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,116,140,130,148,130, - 132,226,132,146,132,146,95,100,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,244, - 140,18,148,18,132,34,132,34,132,66,95,68,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,68,100,140,146,148,146,132,98,132,146,132,146,95,100, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,100,140,146,148,146,132,114,132,18, - 132,18,95,100,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,76,100,146,146,130,146, - 132,146,136,146,144,146,94,100,64,4,32,8,24,48,7,192, - 14,12,24,16,1,0,32,16,65,8,67,8,133,4,129,4, - 129,4,129,4,129,4,129,4,65,8,71,200,32,16,14,12, - 24,16,1,0,32,16,71,136,72,72,136,68,128,68,129,132, - 130,4,132,4,136,4,72,8,79,200,32,16,14,12,24,16, - 1,0,32,16,71,136,72,72,136,68,128,68,131,132,128,68, - 128,68,136,68,72,72,71,136,32,16,14,12,24,16,1,0, - 32,16,64,136,65,136,130,132,132,132,136,132,136,132,143,196, - 128,132,64,136,64,136,32,16,14,12,24,16,1,0,32,16, - 79,200,72,8,136,4,136,4,143,132,128,68,128,68,128,68, - 72,72,71,136,32,16,14,12,24,16,1,0,32,16,67,136, - 68,8,136,4,136,4,143,132,136,68,136,68,136,68,72,72, - 71,136,32,16,14,12,24,16,1,0,32,16,79,200,64,72, - 128,68,128,132,128,132,128,132,129,4,129,4,65,8,65,8, - 32,16,14,12,24,16,1,0,32,16,71,136,72,72,136,68, - 136,68,135,132,136,68,136,68,136,68,72,72,71,136,32,16, - 14,12,24,16,1,0,32,16,71,136,72,72,136,68,136,68, - 135,196,128,68,128,68,128,68,64,136,71,8,32,16,16,12, - 24,16,0,0,64,2,136,49,152,73,168,133,136,133,136,133, - 136,133,136,133,136,133,136,73,190,49,64,2,16,12,24,16, - 0,0,64,2,136,17,152,49,168,81,136,17,136,17,136,17, - 136,17,136,17,136,17,190,125,64,2,16,12,24,16,0,0, - 64,2,136,121,152,133,168,133,136,5,136,25,136,33,136,65, - 136,129,136,129,190,253,64,2,16,12,24,16,0,0,64,2, - 136,121,152,133,168,133,136,5,136,57,136,5,136,5,136,133, - 136,133,190,121,64,2,16,12,24,16,0,0,64,2,136,9, - 152,25,168,41,136,73,136,137,136,137,136,253,136,9,136,9, - 190,9,64,2,16,12,24,16,0,0,64,2,136,253,152,129, - 168,129,136,129,136,249,136,5,136,5,136,5,136,133,190,121, - 64,2,16,12,24,16,0,0,64,2,136,57,152,65,168,129, - 136,129,136,249,136,133,136,133,136,133,136,133,190,121,64,2, - 16,12,24,16,0,0,64,2,137,249,152,9,168,9,136,17, - 136,17,136,17,136,33,136,33,136,33,190,33,64,2,16,12, - 24,16,0,0,64,2,136,121,152,133,168,133,136,133,136,121, - 136,133,136,133,136,133,136,133,190,121,64,2,16,12,24,16, - 0,0,64,2,136,121,152,133,168,133,136,133,136,125,136,5, - 136,5,136,5,136,9,190,113,64,2,16,12,24,16,0,0, - 64,2,156,49,162,73,162,133,130,133,132,133,136,133,144,133, - 160,133,160,73,190,49,64,2,7,10,10,16,5,0,32,96, - 160,32,32,32,32,32,32,250,8,10,10,16,4,0,120,132, - 132,4,24,32,64,128,128,253,8,10,10,16,4,0,120,132, - 132,4,56,4,4,132,132,121,8,10,10,16,4,0,8,24, - 40,72,136,136,252,8,8,9,8,10,10,16,4,0,252,128, - 128,128,248,4,4,4,132,121,8,10,10,16,4,0,56,64, - 128,128,248,132,132,132,132,121,8,10,10,16,4,0,252,4, - 4,8,8,8,16,16,16,17,8,10,10,16,4,0,120,132, - 132,132,120,132,132,132,132,121,8,10,10,16,4,0,120,132, - 132,132,124,4,4,4,8,113,14,10,20,16,1,0,32,192, - 97,32,162,16,34,16,34,16,34,16,34,16,34,16,33,32, - 248,196,14,10,20,16,1,0,32,64,96,192,161,64,32,64, - 32,64,32,64,32,64,32,64,32,64,249,244,14,10,20,16, - 1,0,33,224,98,16,162,16,32,16,32,96,32,128,33,0, - 34,0,34,0,251,244,14,10,20,16,1,0,33,224,98,16, - 162,16,32,16,32,224,32,16,32,16,34,16,34,16,249,228, - 14,10,20,16,1,0,32,32,96,96,160,160,33,32,34,32, - 34,32,35,240,32,32,32,32,248,36,14,10,20,16,1,0, - 35,240,98,0,162,0,34,0,35,224,32,16,32,16,32,16, - 34,16,249,228,14,10,20,16,1,0,32,224,97,0,162,0, - 34,0,35,224,34,16,34,16,34,16,34,16,249,228,14,10, - 20,16,1,0,35,240,96,16,160,16,32,32,32,32,32,32, - 32,64,32,64,32,64,248,68,14,10,20,16,1,0,33,224, - 98,16,162,16,34,16,33,224,34,16,34,16,34,16,34,16, - 249,228,14,10,20,16,1,0,33,224,98,16,162,16,34,16, - 33,240,32,16,32,16,32,16,32,32,249,196,15,10,20,16, - 1,0,120,96,132,144,133,8,5,8,25,8,33,8,65,8, - 129,8,128,144,252,98,14,12,24,16,1,0,32,16,64,8, - 71,136,136,68,128,68,135,196,136,68,136,68,136,196,71,72, - 64,8,32,16,14,12,24,16,1,0,40,16,72,8,72,8, - 139,132,140,68,136,68,136,68,136,68,136,68,76,72,75,136, - 32,16,14,12,24,16,1,0,32,16,64,8,71,136,136,68, - 136,4,136,4,136,4,136,4,136,68,71,136,64,8,32,16, - 14,12,24,16,1,255,32,80,64,72,64,72,135,68,136,196, - 136,68,136,68,136,68,136,68,72,200,71,72,32,16,14,12, - 24,16,1,0,32,16,64,8,71,136,136,68,136,68,143,196, - 136,4,136,4,136,68,71,136,64,8,32,16,14,12,24,16, - 1,255,33,144,66,8,66,8,130,4,143,132,130,4,130,4, - 130,4,130,4,66,8,66,8,32,16,14,12,24,16,1,0, - 32,16,64,72,71,72,136,132,136,132,136,132,135,4,132,4, - 135,132,72,72,72,72,39,144,14,12,24,16,1,255,40,16, - 72,8,72,8,139,132,140,68,136,68,136,68,136,68,136,68, - 72,72,72,72,32,16,13,12,24,16,1,0,34,32,66,16, - 64,16,134,8,130,8,130,8,130,8,130,8,130,8,66,16, - 79,144,32,32,13,13,26,16,1,255,32,160,64,144,64,16, - 129,136,128,136,128,136,128,136,128,136,128,136,64,144,64,144, - 41,32,6,0,14,12,24,16,1,255,32,16,72,8,72,8, - 136,132,137,4,138,4,140,4,138,4,137,4,72,136,72,72, - 32,16,13,12,24,16,1,0,32,32,70,16,66,16,130,8, - 130,8,130,8,130,8,130,8,130,8,66,16,79,144,32,32, - 15,12,24,16,1,0,32,8,64,4,78,196,137,34,137,34, - 137,34,137,34,137,34,137,34,73,36,64,4,32,8,14,12, - 24,16,1,255,32,16,64,8,75,136,140,68,136,68,136,68, - 136,68,136,68,136,68,72,72,64,8,32,16,14,12,24,16, - 1,0,32,16,64,8,71,136,136,68,136,68,136,68,136,68, - 136,68,136,68,71,136,64,8,32,16,14,12,24,16,1,0, - 32,16,64,8,75,136,140,68,136,68,136,68,136,68,136,68, - 140,68,75,136,72,8,40,16,14,12,24,16,1,255,32,16, - 64,8,71,72,136,196,136,68,136,68,136,68,136,68,136,196, - 71,72,64,72,32,80,14,12,24,16,1,0,32,16,64,8, - 75,136,140,68,136,68,136,4,136,4,136,4,136,4,72,8, - 64,8,32,16,14,12,24,16,1,0,32,16,64,8,71,136, - 136,68,136,4,134,4,129,132,128,68,136,68,71,136,64,8, - 32,16,14,12,24,16,1,255,32,16,66,8,66,8,143,132, - 130,4,130,4,130,4,130,4,130,4,66,8,65,136,32,16, - 14,12,24,16,1,0,32,16,64,8,72,72,136,68,136,68, - 136,68,136,68,136,68,136,196,71,72,64,8,32,16,14,12, - 24,16,1,255,32,16,64,8,72,72,136,68,136,68,132,132, - 132,132,132,132,131,4,67,8,64,8,32,16,15,12,24,16, - 1,0,32,8,64,4,72,36,137,34,137,34,137,34,137,34, - 137,34,137,34,70,196,64,4,32,8,14,12,24,16,1,255, - 32,16,64,8,72,72,136,68,132,132,131,4,131,4,132,132, - 136,68,72,72,64,8,32,16,14,12,24,16,1,0,32,16, - 64,8,72,72,136,68,136,68,136,68,136,68,132,196,131,68, - 64,72,64,72,39,144,14,12,24,16,1,0,32,16,64,8, - 79,200,128,68,128,132,129,4,130,4,132,4,136,4,79,200, - 64,8,32,16,15,15,30,16,0,255,7,192,24,48,32,8, - 65,4,66,132,130,130,132,66,132,66,135,194,132,66,68,68, - 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,132,68,68,132,66,132,66,135,130,132,66, - 132,66,68,68,71,132,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, - 132,2,132,2,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,4,68,132, - 132,66,132,66,132,66,132,66,132,66,68,132,71,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 71,196,68,4,132,2,132,2,135,130,132,2,132,2,68,4, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,68,4,132,2,132,2,135,130,132,2, - 132,2,68,4,68,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, - 133,194,132,66,132,66,68,196,67,68,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68, - 132,66,132,66,135,194,132,66,132,66,68,68,68,68,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 71,196,65,4,129,2,129,2,129,2,129,2,129,2,65,4, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,228,64,132,128,130,128,130,128,130,128,130, - 132,130,68,132,67,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,68,68,68,68,132,130,133,2, - 134,2,133,2,132,130,68,68,68,68,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,68,4,68,4, - 132,2,132,2,132,2,132,2,132,2,68,4,71,196,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 68,68,68,68,134,194,134,194,133,66,133,66,132,66,68,68, - 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,68,134,66,134,66,133,66,133,66, - 132,194,68,196,68,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66, - 132,66,132,66,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,132,68,68, - 132,66,132,66,135,130,132,2,132,2,68,4,68,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 67,132,68,68,132,66,132,66,132,66,132,66,133,66,70,196, - 67,132,32,104,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,132,68,68,132,66,132,66,135,130,133,2, - 132,130,68,132,68,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, - 131,130,128,66,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,79,228,65,4, - 129,2,129,2,129,2,129,2,129,2,65,4,65,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 68,68,68,68,132,66,132,66,132,66,132,66,132,66,68,68, - 67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,72,36,72,36,132,66,132,66,132,66,130,130, - 130,130,65,4,65,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,68,68,68,68,132,66,133,66, - 133,66,134,194,134,194,68,68,68,68,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68, - 130,130,130,130,129,2,130,130,130,130,68,68,68,68,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 72,36,72,36,132,66,132,66,130,130,129,2,129,2,65,4, - 65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,64,68,128,66,128,130,129,2,130,2, - 132,2,68,4,71,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,67,132,132,66,128,66, - 131,194,132,66,132,194,67,68,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,36,8,68,4,68,4, - 133,130,134,66,132,66,132,66,132,66,70,68,69,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,67,132,132,66,132,2,132,2,132,2,132,66,67,132, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,72,64,68,64,68,131,66,132,194,132,66,132,66, - 132,66,68,196,67,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,67,132,132,66,132,66, - 135,194,132,2,132,66,67,132,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,196,65,4, - 129,2,129,2,135,194,129,2,129,2,65,4,65,4,33,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,68,67,68,132,130,132,130,131,2,130,2,131,130,68,68, - 68,68,35,136,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,36,8,68,4,68,4,133,130,134,66,132,66,132,66, - 132,66,68,68,68,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,33,8,65,4,64,4,131,2,129,2, - 129,2,129,2,129,2,65,4,71,196,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,72,64,68,64,4, - 128,194,128,66,128,66,128,66,128,66,64,68,68,132,35,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 68,4,68,4,132,130,133,2,134,2,134,2,133,2,68,132, - 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,4,65,4,129,2,129,2,129,2,129,2, - 129,2,65,4,71,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,78,196,137,34,137,34, - 137,34,137,34,137,34,73,36,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132, - 134,66,132,66,132,66,132,66,132,66,68,68,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,67,132,132,66,132,66,132,66,132,66,132,66,67,132, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,69,132,134,66,132,66,132,66,132,66, - 134,66,69,132,68,4,36,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,67,68,132,194,132,66, - 132,66,132,66,132,66,68,196,67,68,32,72,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132, - 134,66,132,66,132,2,132,2,132,2,68,4,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,67,132,132,66,132,2,131,130,128,66,132,66,67,132, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,65,4,65,4,135,194,129,2,129,2,129,2, - 129,2,65,4,64,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66, - 132,66,132,66,132,194,67,68,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,68, - 132,66,130,130,130,130,130,130,129,2,65,4,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,72,36,137,34,137,34,137,34,137,34,137,34,70,196, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,68,132,66,130,130,129,2,130,130, - 132,66,68,68,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66, - 132,66,130,194,129,66,64,68,64,68,35,136,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,71,196, - 128,66,128,130,129,2,130,2,132,2,71,196,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 65,4,66,132,132,66,132,66,132,66,132,66,132,66,66,132, - 65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,127,252,123,188,243,62,234,190,251,190,251,190, - 251,190,96,12,127,252,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,238, - 251,222,251,190,251,126,96,12,127,252,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,127,252,123,156, - 243,110,235,238,251,222,251,238,251,110,96,156,127,252,63,248, - 31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248, - 127,252,123,236,243,206,235,174,251,110,251,6,251,238,96,236, - 127,252,63,248,31,240,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,127,252,123,12,243,126,235,126,251,30,251,238, - 251,110,96,156,127,252,63,248,31,240,7,192,13,13,26,16, - 1,0,15,128,63,224,127,240,119,16,230,248,214,248,246,56, - 246,216,246,216,65,48,127,240,63,224,15,128,13,13,26,16, - 1,0,15,128,63,224,127,240,118,16,231,216,215,216,247,184, - 247,184,247,120,65,112,127,240,63,224,15,128,13,13,26,16, - 1,0,15,128,63,224,127,240,119,48,230,216,214,216,247,56, - 246,216,246,216,65,48,127,240,63,224,15,128,15,15,30,16, - 0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,110, - 251,142,251,238,251,238,96,156,127,252,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,127,252,115,156, - 237,110,253,110,251,110,247,110,239,110,97,156,127,252,63,248, - 31,240,7,192,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,144,137,161,133,160,133,160,133,145,201,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,145,137,160,69,160,133,161,5, - 145,201,80,10,76,50,35,196,24,24,7,224,16,15,30,16, - 0,254,7,224,24,24,35,196,76,50,80,10,145,137,160,69, - 161,133,160,69,145,137,80,10,76,50,35,196,24,24,7,224, - 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, - 146,137,162,133,163,197,160,133,144,137,80,10,76,50,35,196, - 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,145,201,161,5,161,133,160,69,145,137,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,145,137,162,5,163,133,162,69, - 145,137,80,10,76,50,35,196,24,24,7,224,16,15,30,16, - 0,254,7,224,24,24,35,196,76,50,80,10,145,201,160,69, - 160,69,160,133,144,137,80,10,76,50,35,196,24,24,7,224, - 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, - 145,137,162,69,161,133,162,69,145,137,80,10,76,50,35,196, - 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,145,137,162,69,161,197,160,69,145,137,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,146,105,166,149,162,149,162,149, - 151,105,80,10,76,50,35,196,24,24,7,224,15,15,30,16, - 0,255,7,192,31,240,63,248,126,252,125,124,251,190,251,190, - 251,190,251,190,251,190,125,124,126,252,63,248,31,240,7,192 - }; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 6, '1' Height: 3 - Calculated Max Values w= 8 h=10 x= 2 y= 4 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent =11 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_FONT_SECTION("u8g_font_unifont_75r") = { - 0,16,16,0,254,6,1,137,0,0,32,79,0,11,0,8, - 0,7,7,7,8,1,1,254,254,254,254,254,254,254,7,7, - 7,8,1,1,254,130,130,130,130,130,254,7,7,7,8,1, - 1,124,130,130,130,130,130,124,7,7,7,8,1,1,254,130, - 186,186,186,130,254,7,7,7,8,1,1,254,130,254,130,254, - 130,254,7,7,7,8,1,1,254,170,170,170,170,170,254,7, - 7,7,8,1,1,254,170,254,170,254,170,254,7,7,7,8, - 1,1,254,166,146,202,166,146,254,7,7,7,8,1,1,254, - 202,146,166,202,146,254,7,7,7,8,1,1,254,170,214,170, - 214,170,254,4,4,4,8,2,4,240,240,240,240,4,4,4, - 8,2,4,240,144,144,240,7,4,4,8,1,4,254,254,254, - 254,7,4,4,8,1,4,254,130,130,254,4,7,7,8,2, - 2,240,240,240,240,240,240,240,4,7,7,8,2,2,240,144, - 144,144,144,144,240,8,3,3,8,0,4,63,126,252,8,3, - 3,8,0,4,63,66,252,6,6,6,8,1,3,48,48,120, - 120,252,252,6,6,6,8,1,3,48,48,72,72,132,252,6, - 3,3,8,1,3,48,120,252,6,3,3,8,1,3,48,72, - 252,6,6,6,8,1,3,192,240,252,252,240,192,6,6,6, - 8,1,3,192,176,140,140,176,192,4,4,4,8,2,4,192, - 240,240,192,4,4,4,8,2,4,192,176,176,192,6,5,5, - 8,1,3,192,240,252,240,192,6,5,5,8,1,3,192,176, - 140,176,192,6,6,6,8,1,3,252,252,120,120,48,48,6, - 6,6,8,1,3,252,132,72,72,48,48,6,3,3,8,1, - 3,252,120,48,6,3,3,8,1,3,252,72,48,6,6,6, - 8,1,3,12,60,252,252,60,12,6,6,6,8,1,3,12, - 52,196,196,52,12,4,4,4,8,2,4,48,240,240,48,4, - 4,4,8,2,4,48,208,208,48,6,5,5,8,1,3,12, - 60,252,60,12,6,5,5,8,1,3,12,52,196,52,12,7, - 7,7,8,1,2,16,56,124,254,124,56,16,7,7,7,8, - 1,2,16,40,68,130,68,40,16,7,7,7,8,1,2,16, - 40,84,186,84,40,16,7,7,7,8,1,2,56,68,178,186, - 154,68,56,6,10,10,8,1,1,48,48,72,72,132,132,72, - 72,48,48,7,7,7,8,1,2,56,68,130,130,130,68,56, - 7,7,7,8,1,2,40,0,130,0,130,0,40,7,7,7, - 8,1,2,56,108,170,170,170,108,56,7,7,7,8,1,2, - 56,68,146,170,146,68,56,7,7,7,8,1,2,56,124,254, - 254,254,124,56}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 8 - Calculated Max Values w=16 h=16 x= 3 y= 6 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_76[2540] U8G_FONT_SECTION("u8g_font_unifont_76") = { - 0,16,16,0,254,10,2,62,4,228,32,159,0,14,254,10, - 0,7,12,12,8,1,0,16,146,68,0,56,124,124,56,0, - 68,146,16,8,4,4,8,0,6,32,118,255,126,7,8,8, - 8,1,2,56,124,254,16,16,16,16,32,16,16,32,16,0, - 254,139,200,3,192,47,241,4,36,138,80,40,18,10,80,73, - 148,4,33,71,224,8,16,16,136,120,30,16,136,8,16,7, - 224,7,11,11,8,1,0,68,68,72,72,80,82,4,96,144, - 144,96,7,6,6,8,1,3,16,16,254,56,108,68,7,7, - 7,8,1,3,16,16,238,68,84,108,68,5,9,9,8,2, - 0,8,16,32,64,128,64,40,24,56,6,8,8,8,1,0, - 252,132,136,144,160,148,140,156,8,8,8,8,0,0,60,66, - 129,153,153,129,66,60,8,6,6,8,0,2,24,36,36,102, - 165,66,8,6,6,8,0,2,66,165,102,36,36,24,5,6, - 6,8,1,2,8,16,96,144,144,96,7,9,9,8,1,0, - 12,18,18,12,16,96,144,144,96,7,6,6,8,1,1,124, - 198,0,84,198,254,7,7,7,8,1,1,124,130,186,124,146, - 130,254,7,7,7,8,1,0,254,130,130,130,130,130,254,7, - 8,8,8,1,0,8,254,138,138,202,178,130,254,7,7,7, - 8,1,0,254,130,170,146,170,130,254,5,10,10,8,2,0, - 136,136,80,80,32,32,80,80,136,136,7,12,12,8,1,2, - 10,160,8,130,56,124,254,16,16,16,16,32,12,13,26,16, - 2,0,36,128,73,0,73,0,36,128,36,128,73,0,0,0, - 127,32,255,208,191,80,128,80,128,224,127,0,11,13,26,16, - 2,0,4,0,10,0,17,0,32,128,64,64,128,32,128,32, - 128,32,128,32,128,32,128,32,128,32,255,224,11,13,26,16, - 2,0,4,0,14,0,31,0,63,128,127,192,255,224,255,224, - 255,224,255,224,255,224,255,224,255,224,255,224,13,13,26,16, - 1,255,5,0,15,128,15,128,103,48,242,120,127,240,242,120, - 98,48,4,0,4,0,4,0,8,0,16,0,13,12,24,16, - 1,0,0,8,3,144,71,208,143,208,159,208,255,176,127,184, - 31,200,15,200,7,200,3,136,0,16,7,4,4,8,1,2, - 252,62,62,28,7,4,4,8,1,2,126,248,248,112,7,4, - 4,8,1,2,252,34,50,28,4,7,7,8,2,2,16,16, - 112,208,144,144,96,7,4,4,8,1,2,126,136,152,112,4, - 7,7,8,2,0,96,144,144,208,112,16,16,8,12,12,8, - 0,0,231,165,126,129,165,165,129,90,90,66,189,231,4,10, - 10,8,2,0,224,16,16,32,32,64,64,128,128,112,16,16, - 32,16,0,254,7,224,24,24,36,36,92,58,92,58,190,125, - 190,125,190,125,129,129,129,129,131,193,67,194,71,226,35,196, - 24,24,7,224,15,13,26,16,0,255,4,64,8,32,16,16, - 16,16,19,144,12,96,62,248,68,68,133,66,131,130,2,128, - 4,64,24,48,13,15,30,16,1,254,6,0,2,0,255,248, - 71,16,63,224,2,0,26,192,34,32,31,192,18,64,15,128, - 10,128,7,0,10,128,2,0,5,8,8,8,2,0,112,136, - 80,32,248,32,32,32,5,9,9,8,2,0,32,112,32,248, - 32,96,48,32,32,6,10,10,8,1,0,56,36,36,56,32, - 168,112,32,112,168,5,9,9,8,2,0,32,112,32,248,32, - 32,32,32,32,7,7,7,8,1,0,56,16,146,254,146,16, - 56,8,9,9,8,0,1,30,33,64,194,199,194,64,33,30, - 11,11,22,16,2,0,21,0,27,0,0,0,85,64,164,160, - 164,160,164,160,149,32,78,64,31,0,4,0,11,12,24,16, - 3,255,4,0,21,0,36,128,78,64,213,96,213,96,206,96, - 228,224,223,96,142,32,21,0,4,0,8,8,8,8,0,0, - 12,2,57,121,13,62,99,193,7,8,8,8,1,0,124,146, - 146,146,186,214,146,124,16,16,32,16,0,254,7,224,24,24, - 32,4,64,2,64,2,156,49,190,49,255,3,231,131,231,199, - 255,255,127,254,127,254,63,252,31,248,7,224,13,10,20,16, - 1,0,255,248,255,248,0,0,0,0,255,248,255,248,0,0, - 0,0,255,248,255,248,13,10,20,16,1,0,248,248,248,248, - 0,0,0,0,255,248,255,248,0,0,0,0,255,248,255,248, - 13,10,20,16,1,0,255,248,255,248,0,0,0,0,248,248, - 248,248,0,0,0,0,255,248,255,248,13,10,20,16,1,0, - 248,248,248,248,0,0,0,0,248,248,248,248,0,0,0,0, - 255,248,255,248,13,10,20,16,1,0,255,248,255,248,0,0, - 0,0,255,248,255,248,0,0,0,0,248,248,248,248,13,10, - 20,16,1,0,248,248,248,248,0,0,0,0,255,248,255,248, - 0,0,0,0,248,248,248,248,13,10,20,16,1,0,255,248, - 255,248,0,0,0,0,248,248,248,248,0,0,0,0,248,248, - 248,248,13,10,20,16,1,0,248,248,248,248,0,0,0,0, - 248,248,248,248,0,0,0,0,248,248,248,248,7,7,7,8, - 1,0,146,124,124,238,124,124,146,8,10,10,8,0,1,60, - 66,129,165,129,153,165,129,66,60,8,9,9,8,0,1,60, - 66,129,165,129,165,153,66,60,8,9,9,8,0,1,60,126, - 255,219,255,219,231,126,60,7,7,7,8,1,2,146,84,56, - 238,56,84,146,6,10,10,8,2,0,224,48,24,20,20,20, - 20,24,48,224,6,10,10,8,1,0,28,48,96,160,160,160, - 160,96,48,28,5,11,11,8,2,0,136,136,112,136,136,136, - 112,32,248,32,32,5,9,9,8,2,0,112,136,136,136,112, - 32,248,32,32,5,10,10,8,2,1,32,32,248,32,32,112, - 136,136,136,112,7,8,8,8,1,1,14,6,10,112,136,136, - 136,112,6,10,10,8,1,0,4,4,4,116,140,12,20,252, - 4,4,6,10,10,8,1,0,64,64,224,64,88,100,68,72, - 72,72,7,9,9,8,1,0,214,84,124,84,214,16,56,40, - 56,8,11,11,8,0,255,8,89,203,73,73,73,62,8,62, - 8,8,6,10,10,8,1,0,248,132,132,132,248,128,128,128, - 128,252,7,10,10,8,1,0,68,170,40,40,16,16,16,16, - 16,16,7,7,7,8,1,0,130,68,56,68,68,68,56,7, - 10,10,8,1,0,130,124,40,40,40,40,40,40,124,130,7, - 8,8,8,1,0,124,146,144,96,12,18,146,124,8,9,9, - 8,0,0,28,34,34,18,116,148,148,101,2,7,10,10,8, - 1,0,168,248,170,174,170,170,170,170,12,248,7,6,6,8, - 1,1,56,68,68,238,0,254,7,10,10,8,1,0,168,248, - 168,168,168,168,168,168,170,6,7,7,7,8,1,0,30,6, - 138,82,32,80,136,8,10,10,8,0,0,49,78,132,8,16, - 60,98,162,162,28,6,6,6,8,1,2,84,168,0,0,84, - 168,6,9,9,8,1,0,132,132,72,72,252,72,72,132,132, - 7,13,13,8,1,0,16,56,146,186,198,130,68,68,68,130, - 130,130,254,7,11,11,8,1,0,16,56,198,130,68,68,68, - 130,130,130,254,7,9,9,8,1,0,170,254,130,130,68,68, - 130,130,254,7,10,10,8,1,0,16,40,68,68,68,68,40, - 238,130,254,6,11,11,8,1,0,4,60,68,132,132,116,36, - 68,132,132,252,6,8,8,8,1,0,48,72,72,48,72,72, - 132,252,7,13,13,8,1,0,16,56,146,186,254,254,124,124, - 124,254,254,254,254,7,11,11,8,1,0,16,56,254,238,124, - 124,124,254,254,254,254,7,8,8,8,1,0,170,254,254,124, - 124,254,254,254,7,10,10,8,1,0,16,56,108,68,108,124, - 56,254,254,254,6,11,11,8,1,0,4,60,108,252,252,124, - 60,124,252,252,252,6,8,8,8,1,0,48,120,120,48,120, - 120,252,252,7,10,10,8,1,0,16,16,56,124,254,254,254, - 124,16,56,7,9,9,8,1,0,108,146,130,130,130,68,40, - 16,16,5,10,10,8,2,0,32,32,80,80,136,136,80,80, - 32,32,7,10,10,8,1,0,56,56,56,16,254,254,214,16, - 16,56,7,10,10,8,1,0,16,16,40,68,130,130,130,124, - 16,56,7,9,9,8,1,0,108,254,254,254,254,124,56,16, - 16,5,10,10,8,2,0,32,32,112,112,248,248,112,112,32, - 32,7,10,10,8,1,0,56,40,56,16,238,186,214,16,16, - 56,8,11,11,8,0,0,8,81,146,146,146,73,73,73,82, - 129,126,4,10,10,8,1,0,16,16,16,16,16,16,16,112, - 240,224,6,10,10,8,1,0,16,24,20,20,16,16,16,112, - 240,224,8,11,11,8,0,0,28,23,17,17,17,17,113,241, - 231,15,14,8,11,11,8,0,0,28,23,17,29,23,17,113, - 241,231,15,14,6,12,12,8,1,0,128,128,128,128,128,184, - 204,140,136,144,160,192,6,11,11,8,1,0,128,128,156,252, - 228,132,156,252,228,4,4,6,13,13,8,1,255,8,72,76, - 124,248,200,72,76,124,248,200,72,64,7,10,10,8,1,0, - 40,16,16,146,124,146,16,16,16,40,7,10,10,8,1,0, - 56,40,16,214,186,214,16,16,40,16,16,16,32,16,0,254, - 3,192,5,32,10,152,18,72,10,208,4,48,48,4,72,10, - 140,17,80,9,160,5,174,38,82,88,82,134,30,92,0,32, - 15,16,32,16,0,254,3,128,4,64,4,64,8,32,0,40, - 57,24,27,56,41,0,33,8,67,132,64,4,128,34,128,66, - 126,252,0,64,0,32,15,16,32,16,0,254,3,128,4,64, - 4,64,8,32,0,40,59,24,24,184,41,0,34,8,67,132, - 64,4,128,34,128,66,126,252,0,64,0,32,15,16,32,16, - 0,254,3,128,4,64,4,64,8,32,0,40,57,24,24,184, - 43,0,32,136,67,4,64,4,128,34,128,66,126,252,0,64, - 0,32,15,16,32,16,0,254,3,128,4,64,4,64,8,32, - 0,40,58,152,26,184,43,128,32,136,64,132,64,4,128,34, - 128,66,126,252,0,64,0,32,15,16,32,16,0,254,3,128, - 4,64,4,64,8,32,0,40,59,152,26,56,43,0,32,136, - 67,4,64,4,128,34,128,66,126,252,0,64,0,32,15,16, - 32,16,0,254,3,128,4,64,4,64,8,32,0,40,57,152, - 26,56,43,128,34,72,65,132,64,4,128,34,128,66,126,252, - 0,64,0,32,15,16,32,16,0,254,3,128,4,64,4,64, - 8,32,0,40,59,152,24,184,41,0,33,8,65,4,64,4, - 128,34,128,66,126,252,0,64,0,32,15,16,32,16,0,254, - 3,128,4,64,4,64,8,32,0,40,56,24,24,56,40,0, - 32,8,64,4,64,4,128,34,128,66,126,252,0,64,0,32, - 16,16,32,16,0,254,3,192,5,224,14,248,30,120,14,240, - 4,48,48,4,120,14,252,31,112,15,224,7,238,38,94,120, - 94,254,30,124,0,32,16,16,32,16,0,254,7,224,31,248, - 62,124,125,190,123,222,255,143,247,223,231,255,243,239,247,239, - 239,247,111,182,113,14,63,188,31,248,7,224,16,16,32,16, - 0,254,7,224,24,24,33,132,66,66,68,34,128,113,136,33, - 152,1,140,17,136,17,144,9,80,74,78,242,32,68,24,24, - 7,224,13,12,24,16,0,255,7,0,24,192,32,32,64,16, - 77,144,146,72,146,72,77,144,64,16,32,32,24,192,7,0, - 12,11,22,16,2,0,24,0,24,0,16,0,30,0,16,0, - 95,128,128,128,128,64,129,64,66,48,60,0}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 4 y= 4 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent=-1 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_77[1657] U8G_FONT_SECTION("u8g_font_unifont_77") = { - 0,16,16,0,254,11,3,133,6,29,32,99,0,14,254,11, - 255,9,9,18,16,3,1,255,128,128,128,128,128,128,128,136, - 128,128,128,128,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,128,128,160,128,128,128,130,128,128,128,128,128,255, - 128,9,9,18,16,3,1,255,128,128,128,160,128,128,128,136, - 128,128,128,130,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,162,128,128,128,128,128,128,128,162,128,128,128,255, - 128,9,9,18,16,3,1,255,128,128,128,162,128,128,128,136, - 128,128,128,162,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,162,128,128,128,162,128,128,128,162,128,128,128,255, - 128,13,12,24,16,0,255,7,0,24,192,32,32,64,16,64, - 16,128,200,128,200,64,16,64,16,32,32,24,192,7,0,13, - 12,24,16,0,255,7,0,24,192,32,32,64,16,64,16,152, - 200,152,200,64,16,64,16,32,32,24,192,7,0,13,12,24, - 16,0,255,7,0,31,192,63,224,127,240,127,240,255,56,255, - 56,127,240,127,240,63,224,15,128,7,0,13,12,24,16,0, - 255,7,0,31,192,63,224,127,240,127,240,231,56,231,56,127, - 240,127,240,63,224,15,128,7,0,13,2,4,16,1,4,255, - 248,255,248,13,2,4,16,1,4,248,248,248,248,13,6,12, - 16,1,2,255,248,255,248,0,0,0,0,255,248,255,248,13, - 6,12,16,1,2,248,248,248,248,0,0,0,0,255,248,255, - 248,13,6,12,16,1,2,255,248,255,248,0,0,0,0,248, - 248,248,248,13,6,12,16,1,2,248,248,248,248,0,0,0, - 0,248,248,248,248,6,11,11,8,1,0,224,156,132,132,228, - 156,128,128,128,128,128,6,11,11,8,1,0,224,252,252,252, - 252,156,128,128,128,128,128,16,14,28,16,0,255,7,50,95, - 124,62,126,124,31,248,39,116,67,34,129,1,0,2,128,4, - 64,8,32,16,16,32,8,64,4,14,12,24,16,1,0,3, - 128,4,64,4,64,3,128,1,0,7,192,1,0,65,8,225, - 28,65,8,33,16,31,224,13,13,26,16,1,0,128,8,64, - 16,32,32,16,64,8,128,5,0,2,0,5,0,8,128,80, - 80,32,32,80,80,128,8,9,14,28,16,3,255,8,0,8, - 0,127,128,137,128,136,0,126,0,9,0,9,0,62,0,72, - 0,60,0,10,0,28,0,8,0,15,11,22,16,0,0,1, - 0,17,16,127,252,57,56,84,84,84,84,146,146,146,146,254, - 254,124,124,56,56,11,8,16,16,2,0,63,128,95,192,143, - 192,135,128,128,0,15,128,18,64,34,32,11,13,26,16,2, - 255,14,0,17,0,17,0,17,0,14,0,4,0,228,224,245, - 224,117,192,53,128,14,0,4,0,4,0,13,13,26,16,1, - 255,2,0,66,16,47,160,16,64,32,32,32,32,226,56,32, - 32,32,32,16,64,47,160,66,16,2,0,15,13,26,16,0, - 0,1,0,2,128,57,56,127,252,253,126,5,64,3,128,1, - 0,1,0,1,0,1,0,1,0,1,0,16,16,32,16,0, - 254,1,128,2,64,2,64,116,46,142,113,133,161,78,114,53, - 172,53,172,78,114,133,161,142,113,116,46,2,64,2,64,1, - 128,15,16,32,16,0,254,1,0,2,128,4,64,52,88,76, - 100,132,66,178,154,202,166,26,176,16,16,27,176,10,160,58, - 184,38,200,25,48,1,0,15,15,30,16,0,255,1,0,2, - 128,4,64,4,64,8,0,107,252,136,2,136,34,96,36,24, - 16,6,80,0,136,33,8,38,72,24,48,12,15,30,16,2, - 255,192,0,48,0,12,0,3,0,0,192,0,48,0,0,255, - 240,0,0,0,48,0,192,3,0,12,0,48,0,192,0,12, - 15,30,16,2,255,0,48,0,192,3,0,12,0,48,0,192, - 0,0,0,255,240,0,0,192,0,48,0,12,0,3,0,0, - 192,0,48,13,14,28,16,1,255,2,0,5,0,5,0,8, - 128,8,128,18,64,18,64,34,32,34,32,66,16,64,16,130, - 8,128,8,255,248,6,11,11,8,1,255,4,8,16,32,64, - 252,8,16,32,64,128,11,9,18,16,2,0,59,128,68,64, - 138,32,138,32,68,64,59,128,17,0,59,128,17,0,11,11, - 22,16,2,0,7,0,3,0,5,0,56,224,68,96,142,160, - 149,0,104,128,48,128,17,0,14,0,10,14,28,16,3,255, - 1,192,0,192,1,64,14,0,17,0,56,128,84,128,139,0, - 134,0,68,0,56,0,16,0,56,0,16,0,8,12,12,16, - 4,254,7,3,5,56,68,130,130,68,56,16,56,16,11,10, - 20,16,2,0,0,224,0,96,2,160,1,0,58,128,68,0, - 130,0,130,0,68,0,56,0,15,13,26,16,0,254,224,14, - 192,6,168,10,16,16,43,160,4,64,8,32,8,32,4,64, - 3,128,1,0,3,128,1,0,7,12,12,8,0,0,16,56, - 84,16,56,16,56,68,130,130,68,56,14,7,14,16,0,255, - 56,0,68,16,130,136,131,252,130,136,68,16,56,0,7,7, - 7,8,0,255,56,68,130,130,130,68,56,7,7,7,8,0, - 255,56,124,254,254,254,124,56,5,5,5,8,2,0,112,136, - 136,136,112,11,6,12,16,2,0,59,128,68,64,138,32,138, - 32,68,64,59,128,11,7,14,16,3,255,4,0,117,192,142, - 32,142,32,142,32,117,192,4,0,13,5,10,16,1,0,112, - 112,136,136,143,136,136,136,112,112,14,10,20,16,2,0,24, - 0,39,128,64,124,128,0,128,0,128,0,128,0,64,124,39, - 128,24,0,11,13,26,16,2,0,31,0,10,0,63,128,64, - 64,128,32,128,32,64,64,64,64,64,64,32,128,32,128,32, - 128,31,0,7,9,9,8,0,254,56,68,130,130,68,56,16, - 16,16,6,9,9,8,0,254,112,136,4,4,8,48,32,248, - 32,7,10,10,8,0,254,16,40,68,130,68,40,16,16,124, - 16,7,10,10,8,0,254,146,84,56,254,56,84,146,16,124, - 16,13,11,22,16,1,0,2,0,2,0,2,0,2,0,114, - 112,8,128,5,0,242,120,8,128,5,0,2,0,6,11,11, - 8,1,0,36,40,48,40,36,32,112,136,136,136,112,6,10, - 10,8,1,254,56,112,224,224,224,112,56,16,124,16,8,7, - 7,8,0,3,66,36,24,255,24,36,66,7,8,8,8,0, - 0,68,68,68,40,40,40,16,254,7,8,8,8,0,0,254, - 16,40,40,40,68,68,68,6,8,8,8,1,0,252,132,132, - 132,148,252,64,252,13,13,26,16,0,255,7,0,28,192,60, - 224,92,240,64,16,135,8,143,136,231,56,112,112,96,48,39, - 32,31,192,7,0,13,13,26,16,0,255,7,0,24,192,48, - 96,72,144,64,16,133,8,128,8,133,8,64,16,72,144,48, - 96,24,192,7,0,13,13,26,16,1,255,255,248,128,8,135, - 8,136,136,136,136,135,8,130,8,130,8,130,8,131,136,130, - 8,128,8,255,248,12,9,18,16,2,0,31,128,96,96,134, - 16,134,16,224,112,191,208,169,80,105,96,31,128,12,12,24, - 16,2,0,31,128,96,96,134,16,134,16,224,112,191,208,169, - 80,233,112,191,208,169,80,105,96,31,128,14,11,22,16,1, - 255,31,224,112,56,207,204,188,244,188,244,143,196,160,20,171, - 84,203,76,112,56,31,224,14,14,28,16,1,255,31,224,112, - 56,207,204,188,244,188,244,143,196,160,20,171,84,139,68,160, - 20,171,84,203,76,112,56,31,224}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 15, '1' Height: 13 - Calculated Max Values w=16 h=16 x= 7 y= 5 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =15 descent=-2 - X Font ascent =15 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[7084] U8G_FONT_SECTION("u8g_font_unifont_78_79") = { - 0,16,16,0,254,15,8,41,11,207,1,255,254,14,254,15, - 254,15,11,22,16,0,2,56,0,124,0,108,0,124,0,60, - 0,14,0,127,252,255,254,217,192,248,224,112,0,14,11,22, - 16,0,1,112,12,248,56,216,112,254,224,127,192,7,128,127, - 192,254,224,216,112,248,56,112,12,15,11,22,16,0,255,112, - 0,248,224,217,192,255,254,127,252,14,0,60,0,124,0,108, - 0,124,0,56,0,15,11,22,16,0,1,112,12,136,50,174, - 68,129,136,121,16,6,32,120,80,129,136,174,68,136,50,112, - 12,14,11,22,16,1,255,0,8,0,20,0,36,0,72,64, - 144,161,32,162,64,84,128,73,0,34,0,28,0,15,15,30, - 16,0,255,7,192,24,48,32,8,65,196,71,228,143,242,143, - 114,158,98,156,2,159,2,79,4,70,4,32,8,24,48,7, - 192,15,15,30,16,0,255,7,192,25,48,35,136,67,132,65, - 4,131,130,135,194,135,194,135,194,139,162,92,116,88,52,32, - 8,24,48,7,192,15,14,28,16,0,255,8,0,15,0,6, - 0,7,192,195,128,227,192,127,254,127,254,227,192,195,128,7, - 192,6,0,15,0,8,0,14,7,14,16,1,3,255,252,192, - 12,176,52,140,196,179,52,192,12,255,252,13,11,22,16,1, - 255,6,192,25,32,41,32,107,240,170,8,169,200,169,136,110, - 8,80,16,32,32,31,192,14,13,26,16,1,0,21,0,42, - 128,42,128,106,128,170,128,170,152,170,164,128,68,128,8,128, - 16,64,32,32,32,31,192,15,15,30,16,0,255,24,48,36, - 72,34,136,18,144,17,16,9,32,8,32,124,252,146,130,146, - 114,146,34,146,66,124,4,32,8,31,240,15,13,26,16,1, - 0,0,16,0,56,0,112,7,238,25,234,35,154,71,10,142, - 10,223,202,36,10,95,250,224,10,192,14,12,12,24,16,1, - 0,48,0,76,0,170,0,149,0,226,128,81,64,40,160,20, - 80,10,80,5,144,2,48,1,240,15,7,14,16,0,3,63, - 240,80,40,143,244,168,22,143,244,80,40,63,240,12,12,24, - 16,1,0,1,240,2,48,5,144,10,80,20,80,40,160,81, - 64,226,128,149,0,170,0,76,0,48,0,15,7,14,16,0, - 3,0,240,121,8,134,108,128,254,134,108,121,8,0,240,15, - 7,14,16,0,3,0,224,121,240,255,56,255,14,255,56,121, - 240,0,224,13,10,20,16,1,255,0,8,0,16,0,32,128, - 64,128,128,65,0,66,0,36,0,40,0,16,0,15,11,22, - 16,0,255,0,4,0,14,64,28,224,56,224,112,112,224,113, - 192,59,128,63,0,30,0,12,0,11,11,22,16,2,1,64, - 64,224,224,113,192,59,128,31,0,14,0,31,0,59,128,113, - 192,224,224,64,64,15,15,30,16,0,255,16,16,56,56,124, - 124,254,254,127,252,63,248,31,240,15,224,31,240,63,248,127, - 252,254,254,124,124,56,56,16,16,12,13,26,16,1,0,192, - 48,96,192,99,128,54,0,28,0,28,0,54,0,51,0,97, - 128,96,192,192,96,192,48,64,0,12,14,28,16,1,255,192, - 48,224,224,99,192,119,0,62,0,28,0,62,0,55,0,115, - 128,97,192,224,224,192,112,192,32,64,0,15,15,30,16,0, - 255,7,192,4,64,5,64,5,64,5,64,253,126,129,2,191, - 250,129,2,253,126,5,64,5,64,5,64,4,64,7,192,15, - 15,30,16,0,255,7,192,7,192,7,192,7,192,7,192,255, - 254,255,254,255,254,255,254,255,254,7,192,7,192,7,192,7, - 192,7,192,15,15,30,16,0,255,3,128,3,128,3,128,3, - 128,3,128,3,128,252,126,252,126,252,126,3,128,3,128,3, - 128,3,128,3,128,3,128,15,15,30,16,0,255,7,192,7, - 192,7,192,7,192,7,192,248,62,248,62,248,62,248,62,248, - 62,7,192,7,192,7,192,7,192,7,192,9,11,22,16,3, - 1,28,0,28,0,28,0,255,128,255,128,255,128,28,0,28, - 0,28,0,28,0,28,0,13,15,30,16,1,255,15,0,9, - 128,9,128,9,128,249,240,128,24,128,24,249,248,121,248,9, - 128,9,128,9,128,9,128,15,128,7,128,13,14,28,16,1, - 255,31,192,16,64,247,120,135,8,191,232,191,232,191,232,135, - 8,247,120,23,64,23,64,23,64,16,64,31,192,15,15,30, - 16,0,255,31,240,7,192,3,128,131,130,131,130,195,134,255, - 254,255,254,255,254,195,134,131,130,131,130,3,128,7,192,31, - 240,15,15,30,16,0,255,1,0,1,0,2,128,255,254,68, - 68,40,40,40,40,16,16,40,40,40,40,68,68,255,254,2, - 128,1,0,1,0,15,15,30,16,0,255,3,128,7,192,7, - 192,3,128,3,128,97,12,249,62,255,254,249,62,97,12,3, - 128,3,128,7,192,7,192,3,128,15,15,30,16,0,255,3, - 128,7,192,7,192,7,192,3,128,113,28,249,62,255,254,249, - 62,113,28,3,128,7,192,7,192,7,192,3,128,15,15,30, - 16,0,255,7,192,15,224,15,224,7,192,99,140,243,158,255, - 254,255,254,255,254,243,158,99,140,7,192,15,224,15,224,7, - 192,16,15,30,16,0,255,1,0,3,128,7,192,7,192,1, - 0,49,12,113,14,255,255,113,14,49,12,1,0,7,192,7, - 192,3,128,1,0,15,15,30,16,0,255,1,0,3,128,3, - 128,7,192,7,192,31,240,127,252,255,254,127,252,31,240,7, - 192,7,192,3,128,3,128,1,0,15,15,30,16,0,255,1, - 0,2,128,2,128,4,64,4,64,24,48,96,12,128,2,96, - 12,24,48,4,64,4,64,2,128,2,128,1,0,14,14,28, - 16,1,255,8,0,8,0,20,0,34,0,193,128,34,32,20, - 32,8,80,9,140,0,80,0,32,2,32,5,0,2,0,15, - 12,24,16,0,1,1,0,2,128,2,128,252,126,64,4,56, - 56,8,32,16,16,17,16,38,200,40,40,48,24,15,15,30, - 16,0,255,7,192,31,240,62,248,126,252,124,124,192,6,240, - 30,248,62,240,30,241,30,103,204,111,236,63,248,31,240,7, - 192,15,12,24,16,0,1,1,0,3,128,3,128,255,254,124, - 124,56,56,8,32,28,112,31,240,62,248,56,56,48,24,15, - 12,24,16,0,1,1,0,2,128,2,128,252,126,67,132,39, - 200,23,208,19,144,16,16,39,200,40,40,48,24,15,12,24, - 16,0,1,1,0,2,128,28,112,225,14,79,228,35,136,23, - 208,20,80,17,16,34,136,44,104,48,24,15,12,24,16,0, - 1,1,0,2,128,29,112,227,142,95,244,47,232,23,208,22, - 208,21,80,34,136,44,104,48,24,15,13,26,16,0,0,1, - 0,3,128,5,192,249,254,93,140,39,184,19,240,15,208,29, - 144,25,208,50,232,44,120,48,24,16,13,26,16,0,0,1, - 0,2,128,2,192,255,254,68,71,56,62,8,60,22,208,17, - 24,39,200,47,44,60,28,24,12,15,13,26,16,0,0,3, - 128,3,128,3,128,67,132,243,158,63,252,15,240,63,252,243, - 158,67,132,3,128,3,128,3,128,15,13,26,16,0,0,3, - 128,3,128,3,128,67,132,243,158,60,124,8,48,60,124,243, - 158,67,132,3,128,3,128,3,128,15,15,30,16,0,255,1, - 0,1,0,33,8,17,16,13,96,15,224,7,192,255,254,7, - 192,15,224,13,96,17,16,33,8,1,0,1,0,15,15,30, - 16,0,255,1,0,1,0,33,8,27,176,31,240,15,224,31, - 224,255,254,31,240,15,224,31,240,27,176,33,8,1,0,1, - 0,15,15,30,16,0,255,1,0,2,128,60,248,44,200,38, - 152,50,184,125,76,131,134,77,124,58,152,50,200,38,104,62, - 120,2,128,1,0,13,13,26,16,1,0,2,0,2,0,2, - 0,135,8,119,112,63,224,31,192,63,224,119,112,135,8,2, - 0,2,0,2,0,15,15,30,16,0,255,8,32,8,32,12, - 96,6,192,230,206,59,184,31,240,7,192,31,240,59,184,230, - 206,6,192,12,96,8,32,8,32,15,15,30,16,0,255,8, - 32,12,96,14,224,15,224,255,254,127,252,63,248,31,240,63, - 248,127,252,255,254,15,224,14,224,12,96,8,32,15,15,30, - 16,0,255,1,0,25,48,15,224,79,228,127,252,63,248,63, - 248,255,254,63,248,63,248,127,252,79,228,15,224,25,48,1, - 0,15,15,30,16,0,255,9,32,73,36,37,72,21,80,203, - 166,55,216,15,224,255,254,15,224,55,216,203,166,21,80,37, - 72,73,36,9,32,15,15,30,16,0,255,1,0,3,128,3, - 128,3,128,225,14,113,28,13,96,3,128,13,96,113,28,225, - 14,3,128,3,128,3,128,1,0,15,15,30,16,0,255,3, - 128,7,192,7,192,99,140,241,30,243,158,60,120,8,32,60, - 120,243,158,241,30,99,140,7,192,7,192,3,128,15,15,30, - 16,0,255,3,128,7,192,7,192,99,140,243,158,241,30,61, - 120,7,192,61,120,241,30,243,158,99,140,7,192,7,192,3, - 128,15,15,30,16,0,255,3,128,4,64,4,64,116,92,252, - 126,254,254,127,252,33,8,67,132,135,194,143,226,119,220,7, - 192,7,192,3,128,15,14,28,16,0,0,3,128,7,192,15, - 224,119,220,255,254,252,126,240,30,112,28,24,48,62,248,127, - 252,126,252,126,252,60,120,15,14,28,16,0,0,3,128,4, - 64,9,32,121,60,133,66,179,154,143,226,111,236,23,208,39, - 200,73,36,82,148,66,132,60,120,15,15,30,16,0,255,3, - 128,60,120,69,68,81,20,77,100,111,236,134,194,188,122,134, - 194,111,236,77,100,81,20,69,68,60,120,3,128,15,15,30, - 16,0,255,7,192,30,240,62,248,92,116,103,204,252,126,232, - 46,136,34,232,46,252,126,103,204,92,116,62,248,30,240,7, - 192,15,15,30,16,0,255,3,128,4,192,4,192,116,220,188, - 230,159,158,79,60,63,248,114,100,230,114,206,122,118,92,6, - 64,6,64,3,128,15,13,26,16,0,0,1,0,5,64,3, - 128,201,38,49,24,77,100,3,128,77,100,49,24,201,38,3, - 128,5,64,1,0,15,13,26,16,0,0,1,0,5,64,11, - 160,201,38,49,24,77,100,131,130,77,100,49,24,201,38,11, - 160,5,64,1,0,15,15,30,16,0,255,9,32,13,96,7, - 192,19,144,201,38,49,24,237,110,3,128,237,110,49,24,201, - 38,17,16,7,192,13,96,9,32,14,14,28,16,1,255,7, - 128,71,136,39,144,19,32,11,64,224,28,251,124,251,124,224, - 28,11,64,19,32,39,144,71,136,7,128,15,15,30,16,0, - 255,7,192,71,196,39,200,19,144,11,160,224,14,251,190,251, - 190,251,190,224,14,11,160,19,144,39,200,71,196,7,192,15, - 15,30,16,0,255,3,128,7,192,7,192,119,220,251,190,249, - 62,125,124,7,192,125,124,249,62,251,190,119,220,7,192,7, - 192,3,128,15,15,30,16,0,255,1,0,3,128,51,152,49, - 24,9,32,5,64,99,140,255,254,99,140,5,64,9,32,49, - 24,51,152,3,128,1,0,15,15,30,16,0,255,1,0,3, - 128,51,152,59,184,25,48,7,192,119,220,255,254,119,220,7, - 192,25,48,59,184,51,152,3,128,1,0,11,11,22,16,2, - 1,96,192,241,224,123,192,63,128,31,0,31,0,63,128,123, - 192,241,224,224,224,64,64,13,13,26,16,2,255,15,0,48, - 192,64,32,64,48,128,16,128,24,128,24,128,24,64,56,64, - 48,48,240,15,224,7,128,13,13,26,16,0,0,255,248,223, - 216,143,136,199,24,226,56,240,120,248,248,240,120,226,56,199, - 24,143,136,223,216,255,248,12,12,24,16,3,1,255,192,128, - 64,128,112,128,112,128,112,128,112,128,112,128,112,128,112,255, - 240,63,240,63,240,12,12,24,16,3,1,63,240,63,240,255, - 240,128,112,128,112,128,112,128,112,128,112,128,112,128,112,128, - 64,255,192,12,12,24,16,3,1,255,192,128,96,128,112,128, - 112,128,112,128,112,128,112,128,112,128,112,255,240,127,240,63, - 240,12,12,24,16,3,1,63,240,127,240,255,240,128,112,128, - 112,128,112,128,112,128,112,128,112,128,112,128,96,255,192,9, - 15,30,16,3,254,28,0,127,0,243,128,193,128,199,128,15, - 0,28,0,24,0,24,0,24,0,0,0,24,0,60,0,60, - 0,24,0,9,16,32,16,3,254,62,0,65,0,156,128,162, - 128,66,128,4,128,9,0,18,0,20,0,20,0,28,0,0, - 0,28,0,34,0,34,0,28,0,7,15,15,16,4,255,56, - 108,198,130,198,68,108,40,40,56,0,56,68,68,56,13,13, - 26,16,1,0,2,0,7,0,15,128,7,0,34,32,112,112, - 248,248,112,112,34,32,7,0,15,128,7,0,2,0,4,14, - 14,16,6,0,96,240,240,240,240,240,240,96,96,96,96,0, - 96,96,2,15,15,16,7,255,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,4,15,15,16,6,255,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,15,15,16, - 4,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,7,10,10,16,4,4,28,112,192,248,252,254,254,254,124, - 56,7,10,10,16,4,4,56,124,254,254,254,126,62,6,28, - 112,15,10,20,16,0,4,28,28,112,112,192,192,248,248,252, - 252,254,254,254,254,254,254,124,124,56,56,15,10,20,16,0, - 4,56,56,124,124,254,254,254,254,254,254,126,126,62,62,6, - 6,28,28,112,112,7,10,10,16,3,0,56,124,254,254,254, - 126,62,6,28,112,15,10,20,16,0,0,56,56,124,124,254, - 254,254,254,254,254,126,126,62,62,6,6,28,28,112,112,14, - 14,28,16,1,255,0,32,0,32,31,252,127,240,252,32,252, - 32,126,32,31,224,0,32,96,96,240,64,240,192,99,128,62, - 0,9,15,30,16,3,255,28,0,127,0,255,128,255,128,255, - 128,127,0,28,0,8,0,8,0,0,0,28,0,62,0,62, - 0,62,0,28,0,9,13,26,16,3,0,119,0,255,128,255, - 128,255,128,127,0,28,0,8,0,0,0,28,0,62,0,62, - 0,62,0,28,0,15,13,26,16,0,255,60,120,126,252,255, - 254,255,254,255,254,127,252,127,252,63,248,31,240,15,224,7, - 192,3,128,1,0,13,15,30,16,1,255,56,0,126,0,255, - 0,255,128,255,192,255,224,127,240,63,248,127,240,255,224,255, - 192,255,128,255,0,126,0,56,0,15,14,28,16,0,255,3, - 0,12,134,56,142,103,248,1,0,57,56,126,252,255,254,255, - 254,127,252,63,248,31,226,7,238,0,248,14,15,30,16,1, - 254,97,152,99,200,55,236,23,228,23,252,19,252,115,252,157, - 248,147,248,83,248,103,240,39,240,55,224,19,192,1,128,4, - 12,12,8,3,255,16,32,96,192,192,192,192,192,192,96,32, - 16,4,12,12,8,2,255,128,64,96,48,48,48,48,48,48, - 96,64,128,5,12,12,8,2,255,24,48,112,224,224,224,224, - 224,224,112,48,24,5,12,12,8,2,255,192,96,112,56,56, - 56,56,56,56,112,96,192,5,12,12,8,2,255,24,48,48, - 96,96,192,192,96,96,48,48,24,5,12,12,8,2,255,192, - 96,96,48,48,24,24,48,48,96,96,192,6,12,12,8,2, - 255,28,56,56,112,112,224,224,112,112,56,56,28,6,12,12, - 8,1,255,224,112,112,56,56,28,28,56,56,112,112,224,7, - 12,12,8,1,255,30,60,60,120,120,240,240,120,120,60,60, - 30,7,12,12,8,0,255,240,120,120,60,60,30,30,60,60, - 120,120,240,3,12,12,8,3,255,32,64,128,128,128,128,128, - 128,128,128,64,32,3,12,12,8,2,255,128,64,32,32,32, - 32,32,32,32,32,64,128,6,12,12,8,1,255,60,112,96, - 96,48,48,224,48,48,96,112,60,6,12,12,8,1,255,240, - 56,24,24,48,48,28,48,48,24,56,240,15,15,30,16,0, - 255,7,192,31,240,63,248,126,252,124,252,250,254,254,254,254, - 254,254,254,254,254,126,252,120,60,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,124,124,123,188,251, - 190,255,190,255,126,254,254,253,254,123,252,120,60,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,124, - 124,123,188,251,190,255,190,254,126,255,190,251,190,123,188,124, - 124,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,127,124,126,124,253,126,251,126,247,126,240,62,255, - 126,127,124,127,124,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,120,60,123,252,251,254,251,254,248, - 126,255,190,255,190,123,188,124,124,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,126,124,125,252,251, - 254,251,254,248,126,251,190,251,190,123,188,124,124,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120, - 60,127,188,255,190,255,126,255,126,255,126,254,254,126,252,126, - 252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,124,124,123,188,251,190,251,190,252,126,251,190,251, - 190,123,188,124,124,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,124,124,123,188,251,190,251,190,252, - 62,255,190,255,190,127,124,124,252,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,127,252,123,156,243, - 110,235,110,251,110,251,110,251,110,96,156,127,252,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,24,48,32,8,64, - 132,65,132,131,130,129,130,129,130,129,130,129,130,65,132,65, - 132,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, - 48,32,8,71,196,79,228,140,98,128,98,129,194,135,2,140, - 2,79,228,79,228,32,8,24,48,7,192,15,15,30,16,0, - 255,7,192,24,48,32,8,71,196,79,228,140,98,128,98,129, - 194,128,98,140,98,79,228,71,196,32,8,24,48,7,192,15, - 15,30,16,0,255,7,192,24,48,32,8,64,228,65,228,131, - 98,134,98,140,98,159,242,159,242,64,100,64,100,32,8,24, - 48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,79, - 228,79,228,140,2,143,194,143,226,128,98,140,98,79,228,71, - 196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, - 48,32,8,71,196,79,228,140,2,143,194,143,226,140,98,140, - 98,79,228,71,196,32,8,24,48,7,192,15,15,30,16,0, - 255,7,192,24,48,32,8,79,228,79,228,128,98,128,98,128, - 194,131,130,134,2,70,4,70,4,32,8,24,48,7,192,15, - 15,30,16,0,255,7,192,24,48,32,8,71,196,79,228,140, - 98,140,98,135,194,140,98,140,98,79,228,71,196,32,8,24, - 48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,71, - 196,79,228,140,98,140,98,143,226,135,226,128,98,79,228,71, - 196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, - 48,32,8,68,228,77,244,157,178,141,178,141,178,141,178,141, - 178,77,244,76,228,32,8,24,48,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,127,124,126,124,252,126,254,126,254, - 126,254,126,254,126,126,124,126,124,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243, - 158,255,158,254,62,248,254,243,254,112,28,112,28,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120, - 60,112,28,243,158,255,158,254,62,255,158,243,158,112,28,120, - 60,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,127,28,126,28,252,158,249,158,243,158,224,14,224, - 14,127,156,127,156,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,112,28,112,28,243,254,240,62,240, - 30,255,158,243,158,112,28,120,60,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243, - 254,240,62,240,30,243,158,243,158,112,28,120,60,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,112, - 28,112,28,255,158,255,158,255,62,252,126,249,254,121,252,121, - 252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,120,60,112,28,243,158,243,158,248,62,243,158,243, - 158,112,28,120,60,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,120,60,112,28,243,158,243,158,240, - 30,248,30,255,158,112,28,120,60,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,123,28,114,12,226, - 78,242,78,242,78,242,78,242,78,114,12,115,28,63,248,31, - 240,7,192,15,13,26,16,0,0,31,128,15,192,7,224,3, - 240,255,248,255,252,255,254,255,252,255,248,3,240,7,224,15, - 192,31,128,11,11,22,16,2,1,14,0,14,0,14,0,14, - 0,255,224,255,224,255,224,14,0,14,0,14,0,14,0,13, - 3,6,16,1,5,255,248,255,248,255,248,13,11,22,16,1, - 1,7,0,7,0,7,0,0,0,255,248,255,248,255,248,0, - 0,7,0,7,0,7,0,11,11,22,16,2,1,32,0,112, - 0,248,0,120,0,60,128,12,128,3,128,3,192,15,192,1, - 192,0,32,15,9,18,16,0,2,1,0,1,128,224,192,252, - 240,255,254,252,240,224,192,1,128,1,0,11,11,22,16,2, - 0,0,32,1,192,15,192,3,192,3,128,12,128,60,128,120, - 0,248,0,112,0,32,0,15,9,18,16,0,2,2,0,1, - 0,1,192,0,240,255,254,0,240,1,192,1,0,2,0,15, - 13,26,16,0,0,0,192,1,224,1,240,0,248,127,252,255, - 254,255,254,255,254,127,252,0,248,1,240,1,224,0,192,15, - 11,22,16,0,1,0,16,0,16,0,24,0,24,255,252,255, - 254,255,252,0,24,0,24,0,16,0,16,15,13,26,16,0, - 0,0,16,0,16,0,24,0,24,255,252,255,252,255,254,255, - 252,255,252,0,24,0,24,0,16,0,16,15,9,18,16,0, - 2,0,32,0,48,0,56,170,252,170,254,170,252,0,56,0, - 48,0,32,15,9,18,16,0,2,0,32,0,48,170,248,170, - 252,170,254,170,252,170,248,0,48,0,32,15,9,18,16,0, - 2,0,32,0,48,0,56,255,252,255,254,255,252,0,56,0, - 48,0,32,14,15,30,16,1,255,128,0,224,0,88,0,70, - 0,33,128,32,96,16,24,15,252,31,248,63,224,63,128,126, - 0,120,0,224,0,128,0,14,15,30,16,1,255,128,0,224, - 0,120,0,126,0,63,128,63,224,31,248,15,252,16,24,32, - 96,33,128,70,0,88,0,224,0,128,0,14,15,30,16,1, - 255,128,0,224,0,120,0,126,0,63,128,63,224,31,248,15, - 252,31,248,63,224,63,128,126,0,120,0,224,0,128,0,15, - 8,16,16,0,3,128,0,128,16,192,24,127,252,127,254,63, - 252,0,24,0,16,15,8,16,16,0,2,0,16,0,24,63, - 252,127,254,127,252,192,24,128,16,128,0,7,13,13,16,5, - 0,16,16,24,248,252,252,254,252,252,248,24,16,16,15,9, - 18,16,0,2,0,64,0,64,255,224,255,240,255,254,255,240, - 255,224,0,64,0,64,14,9,18,16,1,2,0,192,0,224, - 255,176,128,24,128,12,128,24,255,176,0,224,0,192,14,9, - 18,16,1,2,0,192,0,224,255,208,192,8,192,4,192,8, - 255,208,0,224,0,192,15,13,26,16,0,255,0,8,0,24, - 0,36,0,68,63,130,64,2,128,6,255,30,254,124,5,240, - 15,192,15,0,12,0,15,13,26,16,0,0,12,0,15,0, - 15,192,5,240,254,124,255,30,128,6,64,2,63,130,0,68, - 0,36,0,24,0,8,15,12,24,16,0,0,0,128,0,192, - 255,160,128,16,128,8,128,4,128,14,128,28,255,184,127,240, - 0,224,0,64,15,12,24,16,0,1,0,64,0,224,127,240, - 255,184,128,28,128,14,128,4,128,8,128,16,255,160,0,192, - 0,128,16,12,24,16,0,0,0,64,0,96,0,80,255,200, - 64,4,64,2,64,7,255,206,127,220,0,120,0,112,0,32, - 7,6,6,8,1,3,198,56,68,68,68,56,16,12,24,16, - 0,1,0,32,0,112,0,120,127,220,255,206,64,7,64,2, - 64,4,255,200,0,80,0,96,0,64,14,15,30,16,1,255, - 15,128,63,224,126,240,254,120,254,56,0,28,0,12,0,4, - 0,12,0,28,254,56,254,120,126,240,63,224,15,128,15,7, - 14,16,0,3,254,0,73,8,36,140,31,254,36,140,73,8, - 254,0,11,11,22,16,2,1,16,0,24,0,28,0,252,0, - 124,0,60,32,2,32,1,96,0,224,1,224,7,224,14,5, - 10,16,1,4,248,16,124,24,63,252,124,24,248,16,11,11, - 22,16,2,0,7,224,1,224,0,224,1,96,2,32,60,32, - 124,0,252,0,28,0,24,0,16,0,11,11,22,16,2,1, - 8,0,12,0,14,0,14,0,254,32,126,32,63,96,3,224, - 1,224,3,224,15,224,15,9,18,16,0,2,0,32,252,16, - 126,24,63,252,31,254,63,252,126,24,252,16,0,32,11,11, - 22,16,2,0,15,224,3,224,1,224,3,224,63,96,126,32, - 254,32,14,0,14,0,12,0,8,0,15,11,22,16,0,1, - 0,96,0,240,0,240,120,56,255,12,255,254,255,12,120,56, - 0,240,0,240,0,96,15,9,18,16,0,2,0,64,96,224, - 120,240,252,120,255,254,252,120,120,240,96,224,0,64,15,7, - 14,16,0,3,248,16,124,24,62,28,31,254,62,28,124,24, - 248,16,15,9,18,16,0,2,248,96,252,112,126,120,127,252, - 63,254,127,252,126,120,252,112,248,96,15,9,18,16,0,2, - 2,32,1,16,0,136,255,196,0,2,255,196,0,136,1,16, - 2,32,16,6,12,16,0,3,227,199,28,56,34,68,34,68, - 34,68,28,56,6,6,6,8,1,0,128,136,144,160,192,252, - 11,12,24,16,2,0,4,0,10,0,10,0,17,0,17,0, - 36,128,42,128,74,64,81,64,159,32,128,32,255,224,5,6, - 6,8,1,0,32,32,32,32,32,248,10,8,16,16,3,1, - 63,192,64,0,129,128,130,64,130,64,129,128,64,0,63,192, - 10,8,16,16,3,1,255,0,0,128,96,64,144,64,144,64, - 96,64,0,128,255,0,5,10,10,8,2,0,112,136,136,16, - 16,32,32,64,64,56,5,10,10,8,2,0,112,136,136,64, - 64,32,32,16,16,224,7,8,8,8,0,0,130,130,84,68, - 40,40,16,16,14,8,16,16,1,1,129,252,130,0,68,0, - 68,0,36,0,36,0,18,0,17,252,14,8,16,16,1,1, - 254,4,1,4,0,136,0,136,0,144,0,144,1,32,254,32, - 3,10,10,8,2,0,64,64,64,64,224,64,64,64,64,64, - 8,8,8,16,4,1,1,2,4,8,16,32,64,128,12,14, - 28,16,2,254,255,240,128,0,64,0,64,0,32,0,32,0, - 32,0,32,0,32,0,32,0,64,0,64,0,128,0,128,0, - 8,8,8,16,4,1,128,64,32,16,8,4,2,1,13,13, - 26,16,1,0,255,248,130,8,130,8,133,8,133,8,136,136, - 136,136,144,72,144,72,160,40,160,40,192,24,255,248,13,13, - 26,16,1,0,255,248,192,24,160,40,160,40,144,72,144,72, - 136,136,136,136,133,8,133,8,130,8,130,8,255,248,9,9, - 18,16,4,0,8,0,20,0,34,0,65,0,136,128,65,0, - 34,0,20,0,8,0,7,8,8,8,0,0,16,16,40,40, - 68,84,130,130,9,10,20,16,3,0,136,128,136,128,136,128, - 136,128,136,128,136,128,136,128,136,128,73,0,62,0,6,6, - 6,8,1,0,4,4,36,4,4,252,6,6,6,8,1,0, - 252,128,128,144,128,128,12,10,20,16,2,0,224,16,48,48, - 40,80,36,144,35,16,35,16,36,144,40,80,48,48,224,16, - 12,10,20,16,2,0,128,112,192,192,161,64,146,64,140,64, - 140,64,146,64,161,64,192,192,128,112,14,10,20,16,1,0, - 224,28,48,48,40,80,36,144,35,16,35,16,36,144,40,80, - 48,48,224,28,9,12,24,16,3,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 255,128,9,12,24,16,3,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 13,7,14,16,1,2,5,0,5,0,253,248,5,0,253,248, - 5,0,5,0,13,7,14,16,1,2,5,0,5,0,5,0, - 253,248,5,0,5,0,5,0,14,3,6,16,1,4,64,0, - 191,252,64,0,14,3,6,16,1,4,128,0,255,252,128,0, - 14,3,6,16,1,4,0,4,255,252,0,4,3,11,11,16, - 7,255,64,160,64,64,64,64,64,64,64,64,224,7,11,11, - 8,0,0,16,40,40,68,68,254,68,68,40,40,16,13,13, - 26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48, - 128,8,96,48,16,64,8,128,5,0,5,0,2,0,15,13, - 26,16,0,0,0,128,1,64,1,64,2,32,4,16,24,12, - 224,2,24,12,4,16,2,32,1,64,1,64,0,128,15,13, - 26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48, - 128,14,96,48,16,64,8,128,5,0,5,0,2,0,15,13, - 26,16,0,0,31,254,16,2,16,2,16,2,16,2,16,2, - 240,2,16,2,16,2,16,2,16,2,16,2,31,254,15,13, - 26,16,1,0,255,240,128,16,128,16,128,16,128,16,128,16, - 128,30,128,16,128,16,128,16,128,16,128,16,255,240,5,13, - 13,8,2,0,248,160,160,160,160,160,160,160,160,160,160,160, - 248,5,13,13,8,1,0,248,40,40,40,40,40,40,40,40, - 40,40,40,248,4,12,12,8,2,0,16,32,32,64,64,128, - 128,64,64,32,32,16,4,12,12,8,2,0,128,64,64,32, - 32,16,16,32,32,64,64,128,6,12,12,8,1,0,20,40, - 40,80,80,160,160,80,80,40,40,20,6,12,12,8,1,0, - 160,80,80,40,40,20,20,40,40,80,80,160,4,12,12,8, - 3,255,16,32,96,160,160,160,160,160,160,96,32,16,4,12, - 12,8,1,255,128,64,96,80,80,80,80,80,80,96,64,128, - 3,12,12,8,4,255,32,64,128,128,128,128,128,128,128,128, - 64,32,3,12,12,8,1,255,128,64,32,32,32,32,32,32, - 32,32,64,128,11,12,24,16,2,0,4,0,10,0,27,0, - 42,128,106,192,170,160,42,128,42,128,42,128,42,128,42,128, - 42,128,11,12,24,16,2,0,42,128,42,128,42,128,42,128, - 42,128,42,128,170,160,106,192,42,128,27,0,10,0,4,0, - 12,10,20,16,2,0,7,128,8,64,16,32,32,16,168,16, - 112,16,32,16,0,32,8,64,7,128,12,10,20,16,2,0, - 30,0,33,0,64,128,128,64,129,80,128,224,128,64,64,0, - 33,0,30,0,15,7,14,16,0,1,3,128,5,72,9,36, - 255,254,9,36,5,72,3,128,15,5,10,16,1,2,32,0, - 64,0,255,254,64,0,32,0,15,5,10,16,0,2,0,8, - 0,4,255,254,0,4,0,8,14,5,10,16,1,2,32,16, - 64,8,255,252,64,8,32,16,15,7,14,16,0,1,16,0, - 32,0,127,254,128,0,127,254,32,0,16,0,15,7,14,16, - 0,1,0,16,0,8,255,252,0,2,255,252,0,8,0,16, - 14,7,14,16,1,1,16,32,32,16,127,248,128,4,127,248, - 32,16,16,32,14,5,10,16,1,2,32,4,64,4,255,252, - 64,4,32,4,14,5,10,16,1,2,128,16,128,8,255,252, - 128,8,128,16,14,7,14,16,1,1,16,4,32,4,127,252, - 128,4,127,252,32,4,16,4,14,7,14,16,1,1,128,32, - 128,16,255,248,128,4,255,248,128,16,128,32,15,5,10,16, - 0,2,0,8,34,36,213,94,8,132,0,8}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 11, '1' Height: 5 - Calculated Max Values w=15 h=15 x= 3 y= 4 dx=16 dy= 0 ascent=13 len=30 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 2 - X Font ascent =11 descent= 0 - Max Font ascent =13 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_86[1858] U8G_FONT_SECTION("u8g_font_unifont_86") = { - 0,16,16,0,254,11,3,31,5,100,32,116,2,13,254,11, - 0,11,11,22,16,2,0,7,224,4,32,2,32,4,32,8, - 160,17,96,34,0,68,0,136,0,80,0,32,0,11,11,22, - 16,2,0,252,0,132,0,136,0,132,0,162,0,209,0,8, - 128,4,64,2,32,1,64,0,128,11,11,22,16,2,0,32, - 0,80,0,136,0,68,0,34,0,17,96,8,160,4,32,2, - 32,4,32,7,224,11,11,22,16,2,0,0,128,1,64,2, - 32,4,64,8,128,209,0,162,0,132,0,136,0,132,0,252, - 0,14,7,14,16,1,1,16,32,48,48,95,232,128,4,95, - 232,48,48,16,32,13,7,14,16,1,1,16,0,48,0,127, - 248,255,248,127,248,48,0,16,0,7,12,12,8,0,0,16, - 56,124,254,56,56,56,56,56,56,56,56,7,12,12,8,0, - 0,56,56,56,56,56,56,56,56,254,124,56,16,11,11,22, - 16,2,0,7,224,7,224,3,224,7,224,15,224,31,96,62, - 0,124,0,248,0,112,0,32,0,11,11,22,16,2,0,252, - 0,252,0,248,0,252,0,254,0,223,0,15,128,7,192,3, - 224,1,192,0,128,11,11,22,16,2,0,32,0,112,0,248, - 0,124,0,62,0,31,96,15,224,7,224,3,224,7,224,7, - 224,11,11,22,16,2,0,0,128,1,192,3,224,7,192,15, - 128,223,0,254,0,252,0,248,0,252,0,252,0,14,7,14, - 16,1,1,16,32,48,48,127,248,255,252,127,248,48,48,16, - 32,7,12,12,8,0,0,16,56,124,254,56,56,56,56,254, - 124,56,16,15,5,10,16,0,0,255,248,0,8,0,42,0, - 28,0,8,15,5,10,16,0,4,0,8,0,28,0,42,0, - 8,255,248,15,5,10,16,1,0,63,254,32,0,168,0,112, - 0,32,0,15,5,10,16,1,4,32,0,112,0,168,0,32, - 0,63,254,10,10,20,16,3,255,255,192,255,192,255,192,255, - 192,255,192,128,64,128,64,128,64,128,64,255,192,10,10,20, - 16,3,255,255,192,128,64,128,64,128,64,128,64,255,192,255, - 192,255,192,255,192,255,192,10,10,20,16,3,255,255,192,255, - 192,191,192,159,192,143,192,135,192,131,192,129,192,128,192,255, - 192,10,10,20,16,3,255,255,192,192,64,224,64,240,64,248, - 64,252,64,254,64,255,64,255,192,255,192,10,10,20,16,3, - 255,12,0,26,0,57,0,120,128,248,64,248,64,120,128,57, - 0,26,0,12,0,10,10,20,16,3,255,12,0,22,0,39, - 0,71,128,135,192,135,192,71,128,39,0,22,0,12,0,10, - 10,20,16,3,255,12,0,30,0,63,0,127,128,255,192,128, - 64,64,128,33,0,18,0,12,0,10,10,20,16,3,255,12, - 0,18,0,33,0,64,128,128,64,255,192,127,128,63,0,30, - 0,12,0,11,11,22,16,2,0,170,160,0,0,128,32,0, - 0,128,32,0,0,128,32,0,0,128,32,0,0,170,160,14, - 14,28,16,1,255,255,252,255,252,255,252,255,252,255,252,255, - 252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255, - 252,14,14,28,16,1,255,255,252,128,4,128,4,128,4,128, - 4,128,4,128,4,128,4,128,4,128,4,128,4,128,4,128, - 4,255,252,4,4,4,8,2,2,240,240,240,240,4,4,4, - 8,2,2,240,144,144,240,12,11,22,16,2,0,6,0,15, - 0,31,128,63,192,127,224,255,240,127,224,127,224,63,192,63, - 192,31,128,12,11,22,16,2,0,6,0,9,0,16,128,32, - 64,64,32,128,16,64,32,64,32,32,64,32,64,31,128,11, - 11,22,16,2,255,4,0,27,0,96,192,128,32,128,32,128, - 32,128,32,128,32,96,192,27,0,4,0,11,11,22,16,2, - 255,4,0,31,0,127,192,255,224,255,224,255,224,255,224,255, - 224,127,192,31,0,4,0,14,10,20,16,1,0,15,192,31, - 224,63,240,127,248,255,252,255,252,127,248,63,240,31,224,15, - 192,14,13,26,16,1,254,31,224,63,240,127,248,255,252,255, - 252,255,252,255,252,255,252,255,252,255,252,127,248,63,240,31, - 224,7,7,7,8,0,0,16,56,124,254,124,56,16,7,7, - 7,8,0,0,16,40,68,130,68,40,16,7,11,11,8,0, - 0,16,56,56,124,124,254,124,124,56,56,16,7,11,11,8, - 0,0,16,40,40,68,68,130,68,68,40,40,16,5,5,5, - 8,1,3,32,112,248,112,32,5,7,7,8,1,0,32,112, - 112,248,112,112,32,5,7,7,8,1,0,32,80,80,136,80, - 80,32,15,6,12,16,0,0,15,224,127,252,255,254,255,254, - 127,252,15,224,15,6,12,16,0,0,15,224,112,28,128,2, - 128,2,112,28,15,224,6,13,13,8,1,0,48,120,120,120, - 252,252,252,252,252,120,120,120,48,6,13,13,8,1,0,48, - 72,72,72,132,132,132,132,132,72,72,72,48,15,5,10,16, - 1,2,33,192,66,32,255,254,66,32,33,192,14,15,30,16, - 1,254,32,0,64,0,255,252,64,0,32,0,32,0,64,0, - 255,252,64,0,32,0,32,0,64,0,255,252,64,0,32,0, - 15,5,10,16,1,2,33,192,66,160,255,254,66,160,33,192, - 15,5,10,16,1,2,34,32,69,80,245,94,72,128,32,0, - 15,5,10,16,1,2,40,64,80,64,255,254,80,64,40,64, - 15,5,10,16,1,2,40,160,80,160,255,254,80,160,40,160, - 14,5,10,16,1,2,40,4,80,4,255,252,80,4,40,4, - 14,5,10,16,1,2,40,4,80,8,253,176,80,8,40,4, - 14,5,10,16,1,2,32,0,64,0,213,84,64,0,32,0, - 14,5,10,16,1,2,32,132,64,136,255,240,64,136,32,132, - 14,5,10,16,1,2,33,68,65,72,255,240,65,72,33,68, - 14,5,10,16,1,2,40,4,80,8,255,240,80,8,40,4, - 14,5,10,16,1,2,40,132,80,136,255,240,80,136,40,132, - 14,5,10,16,1,2,41,68,81,72,255,240,81,72,41,68, - 15,5,10,16,1,2,40,144,80,96,255,254,80,96,40,144, - 15,5,10,16,1,2,32,120,64,132,255,2,64,0,32,0, - 15,7,14,16,1,2,3,240,0,0,35,240,64,0,255,254, - 64,0,32,0,15,7,14,16,1,2,0,56,4,68,35,128, - 64,0,255,254,64,0,32,0,15,9,18,16,1,254,32,0, - 64,0,255,254,64,56,36,68,3,128,0,56,4,68,3,128, - 14,9,18,16,1,0,224,0,24,0,6,16,1,8,31,252, - 1,8,6,16,24,0,224,0,14,11,22,16,1,255,252,0, - 2,0,1,0,0,144,0,136,255,252,0,136,0,144,1,0, - 2,0,252,0,15,11,22,16,0,255,4,0,8,0,31,254, - 32,0,127,254,128,0,127,254,32,0,31,254,8,0,4,0, - 15,11,22,16,0,255,0,64,0,32,255,240,0,8,255,252, - 0,2,255,252,0,8,255,240,0,32,0,64,15,7,14,16, - 0,2,3,128,68,64,56,8,0,4,255,254,0,4,0,8, - 15,9,18,16,0,254,0,8,0,4,255,254,3,132,68,72, - 56,0,3,128,68,64,56,0,15,7,14,16,1,2,3,128, - 4,68,32,56,64,0,255,254,64,0,32,0,15,9,18,16, - 1,254,32,0,64,0,255,254,67,128,36,68,0,56,3,128, - 4,68,0,56,15,7,14,16,1,0,32,0,64,0,255,254, - 64,0,32,56,4,68,3,128,15,7,14,16,0,0,0,8, - 0,4,255,254,0,4,3,136,68,64,56,0,10,12,24,16, - 3,0,4,0,8,0,16,0,32,0,64,0,255,192,0,128, - 1,0,2,0,20,0,24,0,28,0,4,6,6,8,2,0, - 112,48,80,64,128,128,4,6,6,8,2,0,128,128,64,80, - 48,112,13,13,26,16,1,0,2,0,2,0,5,0,5,0, - 248,248,64,16,32,32,16,64,8,128,16,64,34,32,77,144, - 112,112,11,10,20,16,2,1,4,0,14,0,14,0,255,224, - 127,192,63,128,63,128,123,192,241,224,192,96,11,10,20,16, - 2,1,4,0,10,0,10,0,241,224,64,64,32,128,36,128, - 74,64,177,160,192,96,11,12,24,16,3,0,4,0,30,0, - 127,0,255,128,255,192,255,224,255,224,255,192,255,128,127,0, - 30,0,4,0,11,12,24,16,3,0,4,0,26,0,97,0, - 128,128,128,64,128,32,128,32,128,64,128,128,97,0,26,0, - 4,0}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 8, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 3 y=10 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4279] U8G_FONT_SECTION("u8g_font_unifont_8_9") = { - 0,16,16,0,254,8,4,67,6,64,0,255,0,14,254,12, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,6,14,14,8,1,0,72,72,0, - 0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1, - 0,252,32,32,32,60,34,34,34,34,44,6,14,14,8,1, - 0,24,96,0,0,252,128,128,128,128,128,128,128,128,128,6, - 10,10,8,1,0,56,68,128,128,248,128,128,128,68,56,6, - 10,10,8,1,0,120,132,132,128,96,24,4,132,132,120,5, - 10,10,8,2,0,248,32,32,32,32,32,32,32,32,248,5, - 14,14,8,2,0,144,144,0,0,248,32,32,32,32,32,32, - 32,32,248,6,10,10,8,1,0,28,8,8,8,8,8,8, - 136,136,112,8,10,10,8,0,0,120,72,72,72,78,73,73, - 73,73,142,7,10,10,8,1,0,144,144,144,144,252,146,146, - 146,146,156,7,10,10,8,1,0,252,32,32,32,60,34,34, - 34,34,34,6,14,14,8,1,0,24,96,0,0,128,140,144, - 160,192,192,160,144,136,132,6,13,13,8,1,0,96,24,0, - 132,140,140,148,148,164,164,196,196,132,7,14,14,8,1,0, - 132,132,120,0,130,130,68,68,40,40,16,16,32,96,7,12, - 12,8,1,254,130,130,130,130,130,130,130,130,130,254,16,16, - 6,10,10,8,1,0,48,72,72,132,132,252,132,132,132,132, - 6,10,10,8,1,0,248,128,128,128,248,132,132,132,132,248, - 6,10,10,8,1,0,248,132,132,132,248,132,132,132,132,248, - 6,10,10,8,1,0,252,128,128,128,128,128,128,128,128,128, - 8,12,12,8,0,254,14,18,18,18,34,34,34,66,66,255, - 129,129,6,10,10,8,1,0,252,128,128,128,248,128,128,128, - 128,252,7,10,10,8,1,0,146,146,84,84,56,56,84,84, - 146,146,6,10,10,8,1,0,120,132,4,4,120,8,4,4, - 132,120,6,10,10,8,1,0,132,140,140,148,148,164,164,196, - 196,132,6,13,13,8,1,0,72,48,0,132,140,140,148,148, - 164,164,196,196,132,6,10,10,8,1,0,140,144,144,160,160, - 192,160,144,136,132,6,10,10,8,1,0,60,36,36,36,36, - 36,36,68,68,132,6,10,10,8,1,0,132,132,204,204,180, - 180,132,132,132,132,6,10,10,8,1,0,132,132,132,132,252, - 132,132,132,132,132,6,10,10,8,1,0,120,132,132,132,132, - 132,132,132,132,120,6,10,10,8,1,0,252,132,132,132,132, - 132,132,132,132,132,6,10,10,8,1,0,248,132,132,132,248, - 128,128,128,128,128,6,10,10,8,1,0,120,132,132,128,128, - 128,128,132,132,120,7,10,10,8,1,0,254,16,16,16,16, - 16,16,16,16,16,7,10,10,8,1,0,130,130,68,68,40, - 40,16,16,32,96,7,11,11,8,1,0,16,124,146,146,146, - 146,146,124,16,16,16,6,10,10,8,1,0,132,132,72,72, - 48,48,72,72,132,132,7,12,12,8,1,254,132,132,132,132, - 132,132,132,132,132,254,2,2,6,10,10,8,1,0,132,132, - 132,132,132,252,4,4,4,4,7,10,10,8,1,0,146,146, - 146,146,146,146,146,146,146,254,8,12,12,8,0,254,146,146, - 146,146,146,146,146,146,146,255,1,1,7,10,10,8,1,0, - 224,32,32,32,60,34,34,34,34,60,6,10,10,8,1,0, - 132,132,132,132,228,148,148,148,148,228,6,10,10,8,1,0, - 128,128,128,128,248,132,132,132,132,248,6,10,10,8,1,0, - 112,136,4,4,124,4,4,4,136,112,6,10,10,8,1,0, - 152,164,164,164,228,164,164,164,164,152,6,10,10,8,1,0, - 124,132,132,132,124,36,68,68,132,132,6,8,8,8,1,0, - 120,132,4,124,132,132,140,116,6,12,12,8,1,0,4,56, - 64,128,248,132,132,132,132,132,132,120,6,8,8,8,1,0, - 248,132,132,248,132,132,132,248,6,8,8,8,1,0,252,128, - 128,128,128,128,128,128,7,9,9,8,1,255,60,36,68,68, - 132,132,132,254,130,6,8,8,8,1,0,120,132,132,252,128, - 128,132,120,7,8,8,8,1,0,146,146,84,56,56,84,146, - 146,6,8,8,8,1,0,120,132,4,120,8,4,132,120,6, - 8,8,8,1,0,140,140,148,148,164,164,196,196,6,12,12, - 8,1,0,72,48,0,0,140,140,148,148,164,164,196,196,6, - 8,8,8,1,0,140,144,160,192,160,144,136,132,6,8,8, - 8,1,0,60,36,36,36,36,68,68,132,6,8,8,8,1, - 0,132,204,204,180,180,132,132,132,6,8,8,8,1,0,132, - 132,132,252,132,132,132,132,6,8,8,8,1,0,120,132,132, - 132,132,132,132,120,6,8,8,8,1,0,252,132,132,132,132, - 132,132,132,6,10,10,8,1,254,184,196,132,132,132,132,196, - 184,128,128,6,8,8,8,1,0,120,132,128,128,128,128,132, - 120,7,8,8,8,1,0,254,16,16,16,16,16,16,16,6, - 10,10,8,1,254,132,132,72,72,48,48,32,32,64,192,7, - 13,13,8,1,254,16,16,16,124,146,146,146,146,146,146,124, - 16,16,6,8,8,8,1,0,132,132,72,48,48,72,132,132, - 7,10,10,8,1,254,132,132,132,132,132,132,132,254,2,2, - 6,8,8,8,1,0,132,132,132,132,252,4,4,4,7,8, - 8,8,1,0,146,146,146,146,146,146,146,254,8,10,10,8, - 0,254,146,146,146,146,146,146,146,255,1,1,7,8,8,8, - 1,0,224,32,32,60,34,34,34,60,6,8,8,8,1,0, - 132,132,132,228,148,148,148,228,6,8,8,8,1,0,128,128, - 128,248,132,132,132,248,6,8,8,8,1,0,112,136,4,124, - 4,4,136,112,6,8,8,8,1,0,152,164,164,228,164,164, - 164,152,6,8,8,8,1,0,124,132,132,132,124,36,68,132, - 6,12,12,8,1,0,96,24,0,0,120,132,132,252,128,128, - 132,120,6,12,12,8,1,0,72,72,0,0,120,132,132,252, - 128,128,132,120,7,13,13,8,0,254,64,240,64,92,98,66, - 66,66,66,66,66,2,12,6,12,12,8,1,0,24,96,0, - 0,252,128,128,128,128,128,128,128,6,8,8,8,1,0,56, - 68,128,248,128,128,68,56,6,8,8,8,1,0,120,132,128, - 96,24,4,132,120,5,11,11,8,2,0,32,32,0,96,32, - 32,32,32,32,32,248,5,11,11,8,2,0,144,144,0,96, - 32,32,32,32,32,32,248,5,13,13,8,1,254,8,8,0, - 24,8,8,8,8,8,8,8,144,96,8,8,8,8,0,0, - 120,72,72,78,73,73,73,142,7,8,8,8,1,0,144,144, - 144,252,146,146,146,156,7,11,11,8,0,0,64,240,64,92, - 98,66,66,66,66,66,66,6,12,12,8,1,0,24,96,0, - 0,140,144,160,192,160,144,136,132,6,12,12,8,1,0,96, - 24,0,0,140,140,148,148,164,164,196,196,6,15,15,8,1, - 254,132,132,120,0,0,132,132,72,72,48,48,32,32,64,192, - 5,10,10,8,2,254,136,136,136,136,136,136,136,248,32,32, - 7,10,10,8,1,0,146,146,146,146,146,146,146,146,180,72, - 7,8,8,8,1,0,68,130,130,146,146,146,146,108,7,10, - 10,8,1,0,32,248,32,32,60,34,34,34,34,60,6,10, - 10,8,1,0,64,64,240,64,64,120,68,68,68,120,7,10, - 10,8,1,0,140,146,160,160,252,160,160,160,146,140,7,8, - 8,8,1,0,140,146,160,252,160,160,146,140,7,10,10,8, - 1,0,16,16,40,40,68,108,84,146,146,146,7,8,8,8, - 1,0,16,40,40,68,108,146,146,146,7,10,10,8,1,0, - 144,144,168,168,164,236,212,146,146,146,7,8,8,8,1,0, - 144,168,168,164,236,146,146,146,7,10,10,8,1,0,124,68, - 68,40,16,56,84,146,146,146,7,8,8,8,1,0,124,68, - 40,16,124,146,146,146,7,10,10,8,1,0,190,162,162,148, - 232,156,170,170,170,170,7,8,8,8,1,0,190,162,148,232, - 156,170,170,170,6,14,14,8,1,254,72,48,120,132,4,4, - 120,8,4,4,4,120,128,128,6,13,13,8,1,254,72,48, - 0,120,132,4,120,8,4,4,120,128,128,7,10,10,8,1, - 0,146,146,146,146,146,124,16,16,16,16,7,8,8,8,1, - 254,146,146,146,146,146,124,16,16,6,10,10,8,1,0,120, - 132,132,132,252,132,132,132,132,120,6,8,8,8,1,0,120, - 132,132,252,132,132,132,120,7,10,10,8,1,0,134,136,136, - 136,80,80,80,32,32,32,6,8,8,8,1,0,140,144,144, - 80,80,80,32,32,7,14,14,8,1,0,204,34,0,0,134, - 136,136,136,80,80,80,32,32,32,7,12,12,8,1,0,204, - 34,0,0,140,144,144,80,80,80,32,32,7,12,12,8,1, - 254,64,160,178,178,178,170,172,168,168,72,16,16,7,10,10, - 8,1,254,82,178,178,170,172,168,168,72,16,16,7,12,12, - 8,1,255,16,124,146,130,130,130,130,130,130,146,124,16,7, - 10,10,8,1,255,16,124,146,130,130,130,130,146,124,16,7, - 14,14,8,1,0,120,134,48,8,16,0,108,130,130,146,146, - 146,146,108,7,11,11,8,1,0,120,134,48,8,16,0,108, - 130,146,146,108,7,13,13,8,1,0,254,16,0,146,146,146, - 146,146,146,146,146,180,72,7,10,10,8,1,0,254,16,0, - 146,146,146,146,146,180,72,6,12,12,8,1,254,120,132,132, - 128,128,128,128,128,120,8,8,8,6,10,10,8,1,254,120, - 132,132,128,128,128,120,8,8,8,7,7,7,8,1,1,36, - 24,136,84,34,48,72,4,3,3,8,1,10,16,240,128,5, - 4,4,8,0,9,16,40,72,128,4,3,3,8,1,10,112, - 128,96,4,3,3,8,2,10,224,16,96,8,3,3,8,0, - 10,48,76,131,14,14,28,16,0,254,1,0,2,128,16,16, - 40,40,0,0,0,0,64,8,160,20,0,0,0,0,0,0, - 16,16,41,40,2,128,14,14,28,16,1,254,1,0,33,8, - 19,16,24,96,0,0,0,0,0,16,224,28,32,0,0,0, - 0,0,25,176,17,16,33,8,7,15,15,8,1,254,72,48, - 0,132,140,140,148,148,164,164,196,196,134,4,8,7,14,14, - 8,1,254,72,48,0,0,140,140,148,148,164,164,196,198,4, - 8,6,10,10,8,1,0,64,224,64,64,64,120,68,68,76, - 120,6,7,7,8,1,0,64,224,64,120,68,68,120,6,10, - 10,8,1,0,248,132,148,136,244,128,128,128,128,128,6,10, - 10,8,1,254,184,196,132,132,132,148,200,180,128,128,6,12, - 12,8,1,0,4,4,252,128,128,128,128,128,128,128,128,128, - 6,10,10,8,1,0,4,4,252,128,128,128,128,128,128,128, - 7,10,10,8,1,0,62,32,32,32,32,248,32,32,32,32, - 7,8,8,8,1,0,62,32,32,32,248,32,32,32,6,11, - 11,8,1,255,252,128,128,128,128,248,132,132,132,132,24,6, - 9,9,8,1,255,252,128,128,128,248,132,132,132,24,7,12, - 12,8,1,254,146,146,84,84,56,56,84,84,146,146,2,2, - 7,10,10,8,1,254,146,146,84,56,56,84,146,146,2,2, - 6,12,12,8,1,254,120,132,4,4,120,8,4,4,132,120, - 16,96,6,10,10,8,1,254,120,132,4,120,8,4,132,120, - 16,96,6,12,12,8,1,254,128,140,144,160,192,192,160,144, - 136,132,4,4,6,10,10,8,1,254,140,144,160,192,160,144, - 136,132,4,4,7,10,10,8,1,0,128,134,168,168,240,168, - 168,168,132,130,7,8,8,8,1,0,134,168,168,240,168,168, - 132,130,7,10,10,8,1,0,64,230,72,80,96,96,80,72, - 68,66,7,8,8,8,1,0,70,232,80,96,80,72,68,66, - 8,10,10,8,0,0,224,35,36,40,48,48,40,36,34,33, - 8,8,8,8,0,0,227,36,40,48,40,36,34,33,7,12, - 12,8,1,254,132,132,132,132,252,132,132,132,132,134,2,2, - 7,10,10,8,1,254,132,132,132,252,132,132,132,134,2,2, - 7,10,10,8,1,0,142,136,136,136,248,136,136,136,136,136, - 7,8,8,8,1,0,142,136,136,248,136,136,136,136,7,12, - 12,8,1,254,240,144,144,144,144,156,146,146,146,146,2,12, - 7,10,10,8,1,254,240,144,144,144,156,146,146,146,2,12, - 6,12,12,8,1,255,64,152,164,164,164,164,164,164,164,88, - 48,12,6,9,9,8,1,255,64,152,164,164,164,164,88,48, - 12,6,12,12,8,1,254,120,132,132,128,128,128,128,132,132, - 120,32,24,6,10,10,8,1,254,120,132,132,128,128,132,132, - 120,32,24,7,12,12,8,1,254,254,16,16,16,16,16,16, - 16,16,24,8,8,7,10,10,8,1,254,254,16,16,16,16, - 16,16,24,8,8,7,10,10,8,1,0,130,130,68,68,40, - 16,16,16,16,16,5,10,10,8,2,254,136,136,136,80,80, - 32,32,32,32,32,7,10,10,8,1,0,130,130,68,68,40, - 16,16,124,16,16,5,8,8,8,2,0,136,136,136,80,32, - 32,248,32,7,12,12,8,1,254,132,132,72,72,48,48,72, - 72,132,134,2,2,7,10,10,8,1,254,132,132,72,48,48, - 72,132,134,2,2,8,12,12,8,0,254,250,34,34,34,34, - 34,34,34,34,63,1,1,8,10,10,8,0,254,250,34,34, - 34,34,34,34,63,1,1,7,12,12,8,1,254,132,132,132, - 132,132,140,116,4,4,6,2,2,7,10,10,8,1,254,132, - 132,132,132,140,116,4,6,2,2,6,10,10,8,1,0,132, - 132,132,132,164,172,116,36,36,4,6,8,8,8,1,0,132, - 132,132,164,172,116,36,4,6,10,10,8,1,0,128,128,128, - 184,196,132,132,132,132,132,6,8,8,8,1,0,128,128,184, - 196,132,132,132,132,6,10,10,8,1,0,152,164,164,164,124, - 32,32,36,36,24,6,8,8,8,1,0,152,164,164,124,32, - 32,36,24,6,12,12,8,1,254,152,164,164,164,124,32,32, - 36,36,24,16,16,6,12,12,8,1,254,152,164,164,164,124, - 32,32,36,36,24,16,16,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,14,14,8,1,0,130,130,124, - 0,146,146,84,84,56,56,84,84,146,146,7,13,13,8,1, - 0,68,68,56,0,0,146,146,84,56,56,84,146,146,6,12, - 12,8,1,254,128,140,144,160,192,248,132,132,132,132,4,24, - 6,10,10,8,1,254,140,144,160,192,248,132,132,132,4,24, - 7,12,12,8,1,254,60,36,36,36,36,36,36,68,68,134, - 4,8,7,10,10,8,1,254,60,36,36,36,36,68,68,134, - 4,8,6,12,12,8,1,254,132,132,132,132,252,132,132,132, - 132,132,4,24,6,10,10,8,1,254,132,132,132,252,132,132, - 132,132,4,24,7,12,12,8,1,254,132,132,132,132,252,132, - 132,132,132,134,4,8,7,10,10,8,1,254,132,132,132,252, - 132,132,132,134,4,8,6,12,12,8,1,254,132,132,132,132, - 132,140,116,4,4,12,8,8,6,10,10,8,1,254,132,132, - 132,132,140,116,4,12,8,8,7,12,12,8,1,254,132,132, - 204,204,180,180,132,132,132,134,4,8,7,10,10,8,1,254, - 132,204,204,180,180,132,132,134,4,8,3,10,10,8,3,0, - 224,64,64,64,64,64,64,64,64,224,6,14,14,8,1,0, - 132,132,120,0,48,72,72,132,132,252,132,132,132,132,6,13, - 13,8,1,0,132,132,120,0,0,120,132,4,124,132,132,140, - 116,6,14,14,8,1,0,72,72,0,0,48,72,72,132,132, - 252,132,132,132,132,6,12,12,8,1,0,72,72,0,0,120, - 132,4,124,132,132,140,116,7,10,10,8,1,0,62,80,144, - 144,254,144,144,144,144,158,7,8,8,8,1,0,124,146,18, - 126,144,144,146,124,6,14,14,8,1,0,132,132,120,0,252, - 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,132, - 132,120,0,120,132,132,252,128,128,132,120,6,10,10,8,1, - 0,48,72,132,4,4,252,132,132,72,48,6,8,8,8,1, - 0,120,132,4,4,252,132,132,120,6,14,14,8,1,0,72, - 72,0,0,48,72,132,4,4,252,132,132,72,48,6,12,12, - 8,1,0,72,72,0,0,120,132,4,4,252,132,132,120,7, - 14,14,8,1,0,72,72,0,0,146,146,84,84,56,56,84, - 84,146,146,7,12,12,8,1,0,72,72,0,0,146,146,84, - 56,56,84,146,146,6,14,14,8,1,0,72,72,0,0,120, - 132,4,4,120,8,4,4,132,120,6,12,12,8,1,0,72, - 72,0,0,120,132,4,120,8,4,132,120,6,10,10,8,1, - 0,252,8,16,32,56,4,4,4,140,120,6,10,10,8,1, - 254,124,8,16,32,56,4,4,4,132,120,6,13,13,8,1, - 0,120,0,0,132,140,140,148,148,164,164,196,196,132,6,11, - 11,8,1,0,120,0,0,140,140,148,148,164,164,196,196,6, - 14,14,8,1,0,72,72,0,0,132,140,140,148,148,164,164, - 196,196,132,6,12,12,8,1,0,72,72,0,0,140,140,148, - 148,164,164,196,196,6,14,14,8,1,0,72,72,0,0,120, - 132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,72, - 72,0,0,120,132,132,132,132,132,132,120,6,10,10,8,1, - 0,120,132,132,132,252,132,132,132,132,120,6,8,8,8,1, - 0,120,132,132,252,132,132,132,120,6,14,14,8,1,0,72, - 72,0,0,120,132,132,132,252,132,132,132,132,120,6,12,12, - 8,1,0,72,72,0,0,120,132,132,252,132,132,132,120,6, - 12,12,8,1,0,72,0,120,132,4,4,124,4,4,4,132, - 120,6,10,10,8,1,0,72,0,120,132,4,60,4,4,132, - 120,7,13,13,8,1,0,124,0,0,130,130,68,68,40,40, - 16,16,32,96,6,13,13,8,1,254,120,0,0,132,132,72, - 72,48,48,32,32,64,192,7,14,14,8,1,0,72,72,0, - 0,130,130,68,68,40,40,16,16,32,96,6,14,14,8,1, - 254,72,72,0,0,132,132,72,72,48,48,32,32,64,192,7, - 14,14,8,1,0,102,136,0,0,130,130,68,68,40,40,16, - 16,32,96,7,14,14,8,1,254,102,136,0,0,132,132,72, - 72,48,48,32,32,64,192,6,14,14,8,1,0,72,72,0, - 0,132,132,132,132,132,140,116,4,4,4,6,12,12,8,1, - 0,72,72,0,0,132,132,132,132,140,116,4,4,6,12,12, - 8,1,254,252,128,128,128,128,128,128,128,128,224,96,32,6, - 10,10,8,1,254,252,128,128,128,128,128,128,224,96,32,6, - 14,14,8,1,0,72,72,0,0,132,132,132,132,228,148,148, - 148,148,228,6,12,12,8,1,0,72,72,0,0,132,132,132, - 228,148,148,148,228,6,12,12,8,1,254,252,128,128,128,248, - 128,128,128,128,192,64,192,5,10,10,8,1,254,248,128,128, - 240,128,128,128,192,64,192,6,12,12,8,1,254,132,132,72, - 72,48,48,72,72,132,132,4,8,6,10,10,8,1,254,132, - 132,72,48,48,72,132,132,4,8,6,10,10,8,1,0,132, - 132,72,72,48,252,72,72,132,132,6,8,8,8,1,0,132, - 132,72,48,252,72,132,132}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont[5551] U8G_FONT_SECTION("u8g_font_unifont") = { - 0,16,16,0,254,10,6,167,8,149,0,255,254,14,254,11, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,147,194,82,50,95,138,82,113, - 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,59,165,193, - 36,49,25,137,36,113,37,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,123,165,193,36,121,25,193,36,121,37,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,121,191,194,72,122,73,194, - 72,121,137,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,122, - 77,194,82,123,83,194,214,122,79,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,49,165,202,40,122,49,202,40,73,165,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,115,209,202,16,115, - 209,202,16,115,223,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,30,57,145,64,30,49,145,8,30,113,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,34,249,162,32,62,33,162,32,34, - 33,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,32,249,160, - 128,32,249,160,128,62,129,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,34,249,162,32,34,33,148,32,8,33,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,62,249,160,128,62,249,160, - 128,32,129,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,30, - 241,160,136,32,241,160,144,30,137,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,30,113,160,136,28,137,130,136,60,113,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,30,249,160,32,28, - 33,130,32,60,249,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,29,165,16,37,29,165,16,57,221,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,113,137,202,24,74,9,202,8,113, - 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,153,202, - 4,74,9,202,16,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,113,153,202,4,74,25,202,4,113,153,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,113,133,202,12,74,21,202, - 28,113,133,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,73, - 147,234,84,106,89,219,212,74,83,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,52,83,194,154,49,23,137,18,113,19,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,123,185,193,36,121, - 57,193,36,121,57,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,51,37,196,180,71,173,196,164,52,165,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,62,137,160,216,62,169,160,136,62, - 137,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,58,93,194, - 82,50,93,138,82,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,121,207,194,16,121,145,192,80,123,143,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,30,113,144,128,30,97,144, - 16,16,225,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,14, - 113,144,128,22,97,146,16,14,225,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,28,113,146,128,28,97,148,16,18,225,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,18,113,146,128,18, - 97,146,16,12,225,128,0,0,1,128,0,0,1,128,0,85, - 85,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, - 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, - 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, - 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, - 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, - 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, - 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, - 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, - 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, - 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, - 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, - 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, - 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, - 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, - 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, - 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, - 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, - 223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202, - 82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202, - 18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, - 147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91, - 209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123, - 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201, - 32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168, - 132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, - 29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14, - 33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115, - 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202, - 16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194, - 80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, - 157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42, - 169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122, - 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194, - 80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138, - 8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73, - 145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74, - 15,128,0,0,1,128,0,0,1,128,0,85,85,0,0,0, - 8,0,14,1,10,10,8,4,0,128,128,0,128,128,128,128, - 128,128,128,7,10,10,8,1,0,16,16,124,146,144,144,146, - 124,16,16,7,10,10,8,1,0,28,32,32,32,248,32,32, - 32,124,194,6,8,8,8,1,1,132,72,120,72,72,120,72, - 132,7,10,10,8,1,0,130,68,40,16,254,16,254,16,16, - 16,1,10,10,8,4,0,128,128,128,128,0,0,128,128,128, - 128,6,10,10,8,1,0,120,132,128,120,132,132,120,4,132, - 120,4,2,2,8,2,12,144,144,8,10,10,8,0,0,60, - 66,153,165,161,161,165,153,66,60,5,7,7,8,2,5,112, - 8,120,136,120,0,248,6,9,9,8,1,0,36,36,72,72, - 144,72,72,36,36,6,4,4,8,1,0,252,4,4,4,16, - 16,32,16,0,254,170,170,0,1,128,0,58,99,194,84,51, - 201,138,72,114,73,128,0,0,1,128,0,3,193,128,0,0, - 1,128,0,85,85,8,10,10,8,0,0,60,66,185,165,165, - 185,169,165,66,60,6,1,1,8,1,11,252,3,4,4,8, - 2,10,64,160,160,64,7,9,9,8,1,1,16,16,16,254, - 16,16,16,0,254,5,7,7,8,2,5,112,136,8,112,128, - 128,248,5,7,7,8,2,5,112,136,8,112,8,136,112,3, - 3,3,8,3,10,32,64,128,8,10,10,8,0,254,66,66, - 66,66,66,66,102,89,64,128,6,12,12,8,1,255,124,244, - 244,244,244,116,20,20,20,20,20,28,2,2,2,8,3,4, - 192,192,3,2,2,8,2,254,32,192,3,7,7,8,2,5, - 32,96,160,32,32,32,32,5,7,7,8,2,5,112,136,136, - 136,112,0,248,6,9,9,8,1,0,144,144,72,72,36,72, - 72,144,144,6,10,10,8,1,0,68,196,72,80,80,36,44, - 84,156,132,6,10,10,8,1,0,68,196,72,80,80,40,52, - 68,136,156,6,10,10,8,1,0,196,36,72,48,208,36,44, - 84,156,132,6,10,10,8,1,0,16,16,0,16,16,96,132, - 132,132,120,6,14,14,8,1,0,96,24,0,0,48,72,72, - 132,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0, - 0,48,72,72,132,132,252,132,132,132,132,6,14,14,8,1, - 0,48,72,0,0,48,72,72,132,132,252,132,132,132,132,6, - 14,14,8,1,0,100,152,0,0,48,72,72,132,132,252,132, - 132,132,132,6,14,14,8,1,0,72,72,0,0,48,72,72, - 132,132,252,132,132,132,132,6,14,14,8,1,0,48,72,48, - 0,48,72,72,132,132,252,132,132,132,132,7,10,10,8,1, - 0,62,80,144,144,254,144,144,144,144,158,6,12,12,8,1, - 254,120,132,132,128,128,128,128,132,132,120,16,96,6,14,14, - 8,1,0,96,24,0,0,252,128,128,128,248,128,128,128,128, - 252,6,14,14,8,1,0,24,96,0,0,252,128,128,128,248, - 128,128,128,128,252,6,14,14,8,1,0,48,72,0,0,252, - 128,128,128,248,128,128,128,128,252,6,14,14,8,1,0,72, - 72,0,0,252,128,128,128,248,128,128,128,128,252,5,14,14, - 8,2,0,96,24,0,0,248,32,32,32,32,32,32,32,32, - 248,5,14,14,8,2,0,48,192,0,0,248,32,32,32,32, - 32,32,32,32,248,5,14,14,8,2,0,96,144,0,0,248, - 32,32,32,32,32,32,32,32,248,5,14,14,8,2,0,144, - 144,0,0,248,32,32,32,32,32,32,32,32,248,7,10,10, - 8,0,0,120,68,66,66,242,66,66,66,68,120,6,14,14, - 8,1,0,100,152,0,0,132,196,196,164,164,148,148,140,140, - 132,6,14,14,8,1,0,96,24,0,0,120,132,132,132,132, - 132,132,132,132,120,6,14,14,8,1,0,24,96,0,0,120, - 132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,48, - 72,0,0,120,132,132,132,132,132,132,132,132,120,6,14,14, - 8,1,0,100,152,0,0,120,132,132,132,132,132,132,132,132, - 120,6,14,14,8,1,0,72,72,0,0,120,132,132,132,132, - 132,132,132,132,120,6,5,5,8,1,2,132,72,48,72,132, - 6,12,12,8,1,255,4,116,136,140,148,148,164,164,196,68, - 184,128,6,14,14,8,1,0,96,24,0,0,132,132,132,132, - 132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,0, - 132,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 48,72,0,0,132,132,132,132,132,132,132,132,132,120,6,14, - 14,8,1,0,72,72,0,0,132,132,132,132,132,132,132,132, - 132,120,7,14,14,8,1,0,24,96,0,0,130,130,68,68, - 40,16,16,16,16,16,6,11,11,8,1,0,128,128,240,136, - 132,132,136,240,128,128,128,6,10,10,8,1,0,112,136,136, - 144,176,136,132,132,164,152,6,12,12,8,1,0,96,24,0, - 0,120,132,4,124,132,132,140,116,6,12,12,8,1,0,24, - 96,0,0,120,132,4,124,132,132,140,116,6,12,12,8,1, - 0,48,72,0,0,120,132,4,124,132,132,140,116,6,12,12, - 8,1,0,100,152,0,0,120,132,4,124,132,132,140,116,6, - 12,12,8,1,0,72,72,0,0,120,132,4,124,132,132,140, - 116,6,13,13,8,1,0,48,72,48,0,0,120,132,4,124, - 132,132,140,116,7,8,8,8,1,0,124,146,18,126,144,144, - 146,124,6,10,10,8,1,254,120,132,128,128,128,128,132,120, - 16,96,6,12,12,8,1,0,96,24,0,0,120,132,132,252, - 128,128,132,120,6,12,12,8,1,0,24,96,0,0,120,132, - 132,252,128,128,132,120,6,12,12,8,1,0,48,72,0,0, - 120,132,132,252,128,128,132,120,6,12,12,8,1,0,72,72, - 0,0,120,132,132,252,128,128,132,120,5,12,12,8,2,0, - 192,48,0,0,96,32,32,32,32,32,32,248,5,12,12,8, - 2,0,48,192,0,0,96,32,32,32,32,32,32,248,5,12, - 12,8,2,0,96,144,0,0,96,32,32,32,32,32,32,248, - 5,12,12,8,2,0,144,144,0,0,96,32,32,32,32,32, - 32,248,6,12,12,8,1,0,100,24,40,68,4,124,132,132, - 132,132,132,120,6,12,12,8,1,0,100,152,0,0,184,196, - 132,132,132,132,132,132,6,12,12,8,1,0,96,24,0,0, - 120,132,132,132,132,132,132,120,6,12,12,8,1,0,24,96, - 0,0,120,132,132,132,132,132,132,120,6,12,12,8,1,0, - 48,72,0,0,120,132,132,132,132,132,132,120,6,12,12,8, - 1,0,100,152,0,0,120,132,132,132,132,132,132,120,6,12, - 12,8,1,0,72,72,0,0,120,132,132,132,132,132,132,120, - 6,7,7,8,1,1,48,0,0,252,0,0,48,6,10,10, - 8,1,255,4,120,140,148,148,164,164,196,120,128,6,12,12, - 8,1,0,96,24,0,0,132,132,132,132,132,132,140,116,6, - 12,12,8,1,0,24,96,0,0,132,132,132,132,132,132,140, - 116,6,12,12,8,1,0,48,72,0,0,132,132,132,132,132, - 132,140,116,6,12,12,8,1,0,72,72,0,0,132,132,132, - 132,132,132,140,116,6,14,14,8,1,254,24,96,0,0,132, - 132,132,132,132,76,52,4,4,120,5,12,12,8,2,254,128, - 128,240,136,136,136,144,160,192,128,128,128,6,14,14,8,1, - 254,72,72,0,0,132,132,132,132,132,76,52,4,4,120}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=14 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifontr[1485] U8G_FONT_SECTION("u8g_font_unifontr") = { - 0,16,16,0,254,10,1,231,3,213,32,127,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, - 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, - 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, - 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, - 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, - 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, - 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, - 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, - 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, - 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, - 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, - 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, - 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, - 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, - 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, - 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, - 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, - 223,128,0,0,1,128,0,0,1,128,0,85,85}; diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_line.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_line.c deleted file mode 100644 index 30b309723..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_line.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - - u8g_line.h - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) -{ - u8g_uint_t tmp; - u8g_uint_t x,y; - u8g_uint_t dx, dy; - u8g_int_t err; - u8g_int_t ystep; - - uint8_t swapxy = 0; - - /* no BBX intersection check at the moment, should be added... */ - - if ( x1 > x2 ) dx = x1-x2; else dx = x2-x1; - if ( y1 > y2 ) dy = y1-y2; else dy = y2-y1; - - if ( dy > dx ) - { - swapxy = 1; - tmp = dx; dx =dy; dy = tmp; - tmp = x1; x1 =y1; y1 = tmp; - tmp = x2; x2 =y2; y2 = tmp; - } - if ( x1 > x2 ) - { - tmp = x1; x1 =x2; x2 = tmp; - tmp = y1; y1 =y2; y2 = tmp; - } - err = dx >> 1; - if ( y2 > y1 ) ystep = 1; else ystep = -1; - y = y1; - for( x = x1; x <= x2; x++ ) - { - if ( swapxy == 0 ) - u8g_DrawPixel(u8g, x, y); - else - u8g_DrawPixel(u8g, y, x); - err -= (uint8_t)dy; - if ( err < 0 ) - { - y += (u8g_uint_t)ystep; - err += (u8g_uint_t)dx; - } - } -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ll_api.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ll_api.c deleted file mode 100644 index 856d77437..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_ll_api.c +++ /dev/null @@ -1,573 +0,0 @@ -/* - - u8g_ll_api.c - - low level api - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include -#include "u8g.h" - -uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - return dev->dev_fn(u8g, dev, msg, arg); -} - -/*====================================================================*/ - -uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t r; - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_INIT, NULL); - u8g->state_cb(U8G_STATE_MSG_BACKUP_U8G); - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); - return r; -} - -void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_FIRST, NULL); - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); -} - -uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t r; - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); - r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_NEXT, NULL); - if ( r != 0 ) - { - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); - } - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); - return r; -} - -uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_CONTRAST, &contrast); -} - -void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_PIXEL, arg); -} - -void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - arg->dir = dir; - arg->pixel = pixel; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_8PIXEL, arg); -} - -void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - arg->dir = dir; - arg->pixel = pixel; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_4TPIXEL, arg); -} - - -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION -uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_IS_BBX_INTERSECTION, &arg); -} -#endif - - - -u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_uint_t r; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_WIDTH, &r); - return r; -} - -u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_uint_t r; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_HEIGHT, &r); - return r; -} - -u8g_uint_t u8g_GetModeLL(u8g_t *u8g, u8g_dev_t *dev) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_MODE, NULL); -} - - - -/*====================================================================*/ - -void u8g_UpdateDimension(u8g_t *u8g) -{ - u8g->width = u8g_GetWidthLL(u8g, u8g->dev); - u8g->height = u8g_GetHeightLL(u8g, u8g->dev); - u8g->mode = u8g_GetModeLL(u8g, u8g->dev); - /* 9 Dec 2012: u8g_scale.c requires update of current page */ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); -} - -static void u8g_init_data(u8g_t *u8g) -{ - u8g->font = NULL; - u8g->cursor_font = NULL; - u8g->cursor_bg_color = 0; - u8g->cursor_fg_color = 1; - u8g->cursor_encoding = 34; - u8g->cursor_fn = (u8g_draw_cursor_fn)0; - -#if defined(U8G_WITH_PINLIST) - { - uint8_t i; - for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) - u8g->pin_list[i] = U8G_PIN_NONE; - } -#endif - - u8g_SetColorIndex(u8g, 1); - - u8g_SetFontPosBaseline(u8g); - - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; - u8g->font_ref_ascent = 0; - u8g->font_ref_descent = 0; - u8g->font_line_spacing_factor = 64; /* 64 = 1.0, 77 = 1.2 line spacing factor */ - u8g->line_spacing = 0; - - u8g->state_cb = u8g_state_dummy_cb; - -} - -uint8_t u8g_Begin(u8g_t *u8g) -{ - /* call and init low level driver and com device */ - if ( u8g_InitLL(u8g, u8g->dev) == 0 ) - return 0; - /* fetch width and height from the low level */ - u8g_UpdateDimension(u8g); - return 1; -} - -uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_init_data(u8g); - u8g->dev = dev; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - -/* special init for pure ARM systems */ -uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn) -{ - u8g_init_data(u8g); - -#if defined(U8G_WITH_PINLIST) - { - uint8_t i; - for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) - u8g->pin_list[i] = U8G_PIN_DUMMY; - } -#endif - - u8g->dev = dev; - - /* replace the device procedure with a custom communication procedure */ - u8g->dev->com_fn = com_fn; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - - -#if defined(U8G_WITH_PINLIST) -uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - u8g->pin_list[U8G_PI_SCK] = sck; - u8g->pin_list[U8G_PI_MOSI] = mosi; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - -uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) -{ - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - - /* assign user pins */ - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options) -{ - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - u8g->pin_list[U8G_PI_I2C_OPTION] = options; - - return u8g_Begin(u8g); -} - - -uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_EN] = en; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_DI] = di; - u8g->pin_list[U8G_PI_RW] = rw; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_D0] = d0; - u8g->pin_list[U8G_PI_D1] = d1; - u8g->pin_list[U8G_PI_D2] = d2; - u8g->pin_list[U8G_PI_D3] = d3; - u8g->pin_list[U8G_PI_D4] = d4; - u8g->pin_list[U8G_PI_D5] = d5; - u8g->pin_list[U8G_PI_D6] = d6; - u8g->pin_list[U8G_PI_D7] = d7; - - u8g->pin_list[U8G_PI_EN] = en; - u8g->pin_list[U8G_PI_CS1] = cs1; - u8g->pin_list[U8G_PI_CS2] = cs2; - u8g->pin_list[U8G_PI_DI] = di; - u8g->pin_list[U8G_PI_RW] = rw; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -/* - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS 14 - PIN_A0 15 - PIN_RESET 16 - PIN_WR 17 - PIN_RD 18 - - u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) - -*/ - -uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_D0] = d0; - u8g->pin_list[U8G_PI_D1] = d1; - u8g->pin_list[U8G_PI_D2] = d2; - u8g->pin_list[U8G_PI_D3] = d3; - u8g->pin_list[U8G_PI_D4] = d4; - u8g->pin_list[U8G_PI_D5] = d5; - u8g->pin_list[U8G_PI_D6] = d6; - u8g->pin_list[U8G_PI_D7] = d7; - - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_WR] = wr; - u8g->pin_list[U8G_PI_RD] = rd; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} -#endif /* defined(U8G_WITH_PINLIST) */ - -void u8g_FirstPage(u8g_t *u8g) -{ - u8g_FirstPageLL(u8g, u8g->dev); -} - -uint8_t u8g_NextPage(u8g_t *u8g) -{ - if ( u8g->cursor_fn != (u8g_draw_cursor_fn)0 ) - { - u8g->cursor_fn(u8g); - } - return u8g_NextPageLL(u8g, u8g->dev); -} - -uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast) -{ - return u8g_SetContrastLL(u8g, u8g->dev, contrast); -} - -void u8g_SleepOn(u8g_t *u8g) -{ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_ON, NULL); -} - -void u8g_SleepOff(u8g_t *u8g) -{ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_OFF, NULL); -} - - -void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y) -{ - u8g_DrawPixelLL(u8g, u8g->dev, x, y); -} - -void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_Draw8PixelLL(u8g, u8g->dev, x, y, dir, pixel); -} - -void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_Draw4TPixelLL(u8g, u8g->dev, x, y, dir, pixel); -} - - -/* u8g_IsBBXIntersection() has been moved to u8g_clip.c */ -#ifdef OBSOLETE_CODE -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - /* new code */ - u8g_dev_arg_bbx_t arg; - arg.x = x; - arg.y = y; - arg.w = w; - arg.h = h; - return u8g_is_box_bbx_intersection(&(u8g->current_page), &arg); - - /* old code */ - //return u8g_IsBBXIntersectionLL(u8g, u8g->dev, x, y, w, h); -} -#endif - -/* - idx: index for the palette entry (0..255) - r: value for red (0..255) - g: value for green (0..255) - b: value for blue (0..255) -*/ -void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b) -{ - u8g_dev_arg_irgb_t irgb; - irgb.idx = idx; - irgb.r = r; - irgb.g = g; - irgb.b = b; - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SET_COLOR_ENTRY, &irgb); -} - -void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx) -{ - u8g->arg_pixel.color = idx; - /*u8g->color_index = idx; */ /* must be removed */ -} - -void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb) -{ - u8g->arg_pixel.color = rgb&255; - u8g->arg_pixel.hi_color = rgb>>8; - /*u8g->color_index = idx; */ /* must be removed */ -} - -void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b) -{ - - r &= ~7; - g >>= 2; - b >>= 3; - u8g->arg_pixel.color = b; - u8g->arg_pixel.color |= (g & 7) << 5; - u8g->arg_pixel.hi_color = r; - u8g->arg_pixel.hi_color |= (g>>3) & 7; - - //u8g_SetHiColor(u8g, U8G_GET_HICOLOR_BY_RGB(r,g,b)); -} - -void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b) -{ - if ( u8g->mode == U8G_MODE_R3G3B2 ) - { - r &= 0x0e0; - g &= 0x0e0; - g >>= 3; - b >>= 6; - u8g->arg_pixel.color = r | g | b; - } - else if ( u8g->mode == U8G_MODE_HICOLOR ) - { - u8g_SetHiColorByRGB(u8g, r,g,b); - } - else - { - u8g->arg_pixel.color = r; - u8g->arg_pixel.hi_color = g; - u8g->arg_pixel.blue = b; - } -} - - -uint8_t u8g_GetColorIndex(u8g_t *u8g) -{ - return u8g->arg_pixel.color; -} - -uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g) -{ - uint8_t mode; - mode = u8g_GetMode(u8g); - if ( mode == U8G_MODE_R3G3B2 ) - return 255; /* white */ - else if ( u8g_GetMode(u8g) == U8G_MODE_GRAY2BIT ) - return 3; /* max intensity */ - else /* if ( u8g.getMode() == U8G_MODE_BW ) */ - return 1; /* pixel on */ - return 1; -} - -void u8g_SetDefaultForegroundColor(u8g_t *u8g) -{ - if ( u8g->mode == U8G_MODE_HICOLOR ) - { - u8g->arg_pixel.color = 0x0ff; - u8g->arg_pixel.hi_color = 0x0ff; - } - else - { - u8g_SetColorIndex(u8g, u8g_GetDefaultForegroundColor(u8g)); - } -} - -uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g) -{ - return 0; -} - -void u8g_SetDefaultBackgroundColor(u8g_t *u8g) -{ - u8g_SetColorIndex(u8g, u8g_GetDefaultBackgroundColor(u8g)); /* pixel on / black */ -} - -uint8_t u8g_GetDefaultMidColor(u8g_t *u8g) -{ - uint8_t mode; - mode = u8g_GetMode(u8g); - if ( mode == U8G_MODE_R3G3B2 ) - return 0x06d; /* gray: 01101101 */ - else if ( u8g_GetMode(u8g) == U8G_MODE_GRAY2BIT ) - return 1; /* low mid intensity */ - else /* if ( u8g.getMode() == U8G_MODE_BW ) */ - return 1; /* pixel on */ - return 1; /* default */ -} - -void u8g_SetDefaultMidColor(u8g_t *u8g) -{ - u8g_SetColorIndex(u8g, u8g_GetDefaultMidColor(u8g)); -} - - - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_page.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_page.c deleted file mode 100644 index 1a3eb21ed..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_page.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - - u8g_page.c - - page helper functions, only called by the dev handler. - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* - setup page count structure - conditions: page_height <= total_height -*/ -void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) -{ - p->page_height = page_height; - p->total_height = total_height; - p->page = 0; - u8g_page_First(p); -} - -void u8g_page_First(u8g_page_t *p) -{ - p->page_y0 = 0; - p->page_y1 = p->page_height; - p->page_y1--; - p->page = 0; -} - -uint8_t u8g_page_Next(u8g_page_t * p) -{ - register u8g_uint_t y1; - p->page_y0 += p->page_height; - if ( p->page_y0 >= p->total_height ) - return 0; - p->page++; - y1 = p->page_y1; - y1 += p->page_height; - if ( y1 >= p->total_height ) - { - y1 = p->total_height; - y1--; - } - p->page_y1 = y1; - - return 1; -} - - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb.c deleted file mode 100644 index a94647361..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - - u8g_pb.c - - common procedures for the page buffer - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_pb_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* the following procedure does not work. why? Can be checked with descpic */ -/* -void u8g_pb_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t cnt = b->width; - do - { - *ptr++ = 0; - cnt--; - } while( cnt != 0 ); -} -*/ - -/* - intersection assumptions: - a1 <= a2 is always true -*/ - /* - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - */ -/* -uint8_t u8g_pb8v1_IsYIntersection___Old(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c0, c1, c; - c0 = v0 <= b->p.page_y1; - c1 = v1 >= b->p.page_y0; - c = v0 > v1; - if ( c0 && c1 ) return 1; - if ( c0 && c ) return 1; - if ( c1 && c ) return 1; - return 0; -} -*/ - -uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c1, c2, c3, tmp; - c1 = v0 <= pb->p.page_y1; - c2 = v1 >= pb->p.page_y0; - c3 = v0 > v1; - /* - if ( c1 && c2 ) - return 1; - if ( c1 && c3 ) - return 1; - if ( c2 && c3 ) - return 1; - return 0; - */ - - tmp = c1; - c1 &= c2; - c2 &= c3; - c3 &= tmp; - c1 |= c2; - c1 |= c3; - return c1 & 1; -} - - -uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t /*c0, c1, */ c2, c3; - /* - conditions: b->p.page_y0 < b->p.page_y1 - there are no restriction on v0 and v1. If v0 > v1, then warp around unsigned is assumed - */ - /* - c0 = v0 < 0; - c1 = v1 < 0; - */ - c2 = v0 > b->width; - c3 = v1 > b->width; - /*if ( c0 && c1 ) return 0;*/ - if ( c2 && c3 ) return 0; - /*if ( c1 && c2 ) return 0;*/ - return 1; -} - -uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx) -{ - u8g_uint_t tmp; - - tmp = bbx->y; - tmp += bbx->h; - tmp--; - - if ( u8g_pb_IsYIntersection(pb, bbx->y, tmp) == 0 ) - return 0; - - /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ - tmp = bbx->x; - tmp += bbx->w; - tmp--; - - return u8g_pb_IsXIntersection(pb, bbx->x, tmp); -} - -void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box) -{ - box->x0 = 0; - box->y0 = pb->p.page_y0; - box->x1 = pb->width; - box->x1--; - box->y1 = pb->p.page_y1; -} - - -uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - u8g_uint_t v0, v1; - v0 = arg_pixel->y; - v1 = v0; - switch( arg_pixel->dir ) - { - case 0: - break; - case 1: - v1 += 8; /* this is independent from the page height */ - break; - case 2: - break; - case 3: - v0 -= 8; - break; - } - return u8g_pb_IsYIntersection(b, v0, v1); -} - - - -uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev) -{ - return u8g_WriteSequence(u8g, dev, b->width, b->buf); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb14v1.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb14v1.c deleted file mode 100644 index d8667f35a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb14v1.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - u8g_pb14v1.c - - 14bit height monochrom (1 bit) page buffer, - byte has vertical orientation, 7 bits per byte - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - - -void u8g_pb14v1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb14v1_Clear(b); -} - -void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 7 ) - { - ptr += b->width; - y -= 7; - } - mask = 1; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb14v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb14v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb14v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb14v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb14v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb14v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb14v1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb14v1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h1.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h1.c deleted file mode 100644 index d598633fa..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h1.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - - u8g_pb16h1.c - - 2x 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -void u8g_pb16h1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - - -void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16h1_Clear(b); -} - - -/* limitation: total buffer must not exceed 2*256 bytes */ -void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 8 ) - { - ptr += b->width; - y &= 0x07; - } - tmp = b->width; - tmp >>= 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } - -} - - -void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb16h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb16h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb16h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16h1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16h1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h2.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h2.c deleted file mode 100644 index 2d0523cf8..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16h2.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - - u8g_pb16h2.c - - 2 bit per pixel page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb16h2_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - - /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ - end_ptr += b->width; - end_ptr += b->width; - - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -void u8g_pb16h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16h2_Clear(b); -} - -static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or) U8G_NOINLINE; -static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or) -{ - register uint8_t mask; - register uint16_t tmp; - - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 2; - tmp *= (uint8_t)y; - ptr += tmp; - - tmp = x; - tmp >>= 2; - ptr += tmp; - - tmp = x; - tmp &= 3; - tmp <<= 1; - if ( is_or == 0 ) - { - mask = 3; - mask <<= tmp; - mask = ~mask; - *ptr &= mask; - } - color_index &= 3; - color_index <<= tmp; - *ptr |= color_index; -} - - -void u8g_pb16h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t is_or) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, is_or); -} - - -void u8g_pb16h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16h2_SetPixel(b, arg_pixel, 0); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb16h2_Or4PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - arg_pixel->color = pixel & 0x0c0; - arg_pixel->color >>= 6; - u8g_pb16h2_SetPixel(b, arg_pixel, 1); - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 2; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb16h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 0); - break; - case U8G_DEV_MSG_SET_4TPIXEL: - u8g_pb16h2_Or4PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_TPIXEL: - u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 1); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_page_First(&(pb->p)); - u8g_pb16h2_Clear(pb); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16h2_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v1.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v1.c deleted file mode 100644 index 3716411c1..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v1.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - u8g_pb16v1.c - - 16bit height monochrom (1 bit) page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - - -void u8g_pb16v1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16v1_Clear(b); -} - -void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 8 ) - { - ptr += b->width; - y &= 0x07; - } - mask = 1; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb16v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb16v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb16v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16v1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16v1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v2.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v2.c deleted file mode 100644 index 94ef7e28a..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb16v2.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - - u8g_pb16v2.c - - 16 bit height 2 bit per pixel page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16v2_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - - /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ - end_ptr += b->width; - end_ptr += b->width; - - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -void u8g_pb16v2Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16v2_Clear(b); -} - -void u8g_pb16v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - if ( y >= 4 ) - { - ptr += b->width; - } - mask = 0x03; - y &= 0x03; - y <<= 1; - mask <<= y; - mask ^=0xff; - color_index &= 3; - color_index <<= y; - ptr += x; - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb16v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb16v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16v2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - - -uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb16v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16v2_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16v2_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb32h1.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb32h1.c deleted file mode 100644 index d40f7ce57..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb32h1.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - - u8g_pb32h1.c - - 2x 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -void u8g_pb32h1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*4; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - - -void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb32h1_Clear(b); -} - - -/* limitation: total buffer must not exceed 2*256 bytes */ -void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint16_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width; - tmp >>= 3; - tmp *= y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } - -} - - -void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb32h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb32h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb32h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb32h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb32h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb32h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb32h1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb32h1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1.c deleted file mode 100644 index 80dc99b58..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1.c +++ /dev/null @@ -1,389 +0,0 @@ -/* - - u8g_pb8h1.c - - 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure - - 23. Sep 2012: Bug with down procedure, see FPS 1st page --> fixed (bug located in u8g_clip.c) - -*/ - -#include "u8g.h" -#include - -#ifdef __unix__ -#include -#endif - -/* NEW_CODE disabled, because the performance increase was too slow and not worth compared */ -/* to the increase of code size */ -/* #define NEW_CODE */ - -#ifdef __unix__ -void *u8g_buf_lower_limit; -void *u8g_buf_upper_limit; -#endif - -void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -#ifdef NEW_CODE -struct u8g_pb_h1_struct -{ - u8g_uint_t x; - u8g_uint_t y; - uint8_t *ptr; - uint8_t mask; - uint8_t line_byte_len; - uint8_t cnt; -}; - -static uint8_t u8g_pb8h1_bitmask[8] = { 0x080, 0x040, 0x020, 0x010, 0x008, 0x004, 0x002, 0x001 }; - -static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) U8G_NOINLINE; -static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) -{ - register u8g_uint_t x; - x = s->x; - x++; - s->x = x; - x &= 7; - s->mask = u8g_pb8h1_bitmask[x]; - if ( x == 0 ) - s->ptr++; -} - -static void u8g_pb8h1_state_left(struct u8g_pb_h1_struct *s) -{ - register u8g_uint_t x; - x = s->x; - x--; - s->x = x; - x &= 7; - s->mask = u8g_pb8h1_bitmask[x]; - if ( x == 7 ) - s->ptr--; -} - -static void u8g_pb8h1_state_down(struct u8g_pb_h1_struct *s) -{ - s->y++; - s->ptr += s->line_byte_len; -} - -static void u8g_pb8h1_state_up(struct u8g_pb_h1_struct *s) -{ - s->y--; - s->ptr -= s->line_byte_len; -} - -static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) U8G_NOINLINE; -static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) -{ - u8g_uint_t tmp; - - uint8_t *ptr = b->buf; - - s->x = x; - s->y = y; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 3; - s->line_byte_len = tmp; - - /* assume negative y values, can be down to -7, subtract this from the pointer and add correction of 8 to y */ - ptr -= tmp*8; - y+=8; - /* it is important that the result of tmp*y can be 16 bit value also for 8 bit mode */ - ptr += tmp*y; - - s->mask = u8g_pb8h1_bitmask[x & 7]; - - /* assume negative x values (to -7), subtract 8 pixel from the pointer and add 8 to x */ - ptr--; - x += 8; - x >>= 3; - ptr += x; - s->ptr = ptr; -} - -static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) U8G_NOINLINE; -static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) -{ - -#ifdef __unix__ - assert( s->ptr >= u8g_buf_lower_limit ); - assert( s->ptr < u8g_buf_upper_limit ); -#endif - - if ( color_index ) - { - *s->ptr |= s->mask; - } - else - { - uint8_t mask = s->mask; - mask ^=0xff; - *s->ptr &= mask; - } -} -#endif - - -void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -/* limitation: total buffer must not exceed 256 bytes */ -void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ -#ifdef NEW_CODE - struct u8g_pb_h1_struct s; - u8g_pb8h1_state_init(&s, b, x, y); - u8g_pb8h1_state_set_pixel(&s, color_index); - -// u8g_pb8h1_state_up(&s); -// if ( s.y > b->p.page_y1 ) -// return; -// if ( s.x > b->width ) -// return; -// u8g_pb8h1_state_set_pixel(&s, color_index); -#else - register uint8_t mask; - u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width; - tmp >>= 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -#endif -} - - -void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb8h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - -#ifdef NEW_CODE -static void u8g_pb8h1_Set8PixelState(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - struct u8g_pb_h1_struct s; - uint8_t cnt; - u8g_pb8h1_state_init(&s, b, arg_pixel->x, arg_pixel->y); - cnt = 8; - switch( arg_pixel->dir ) - { - case 0: - do - { - if ( s.x < b->width ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_right(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 1: - do - { - if ( s.y >= b->p.page_y0 ) - if ( s.y <= b->p.page_y1 ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_down(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 2: - do - { - if ( s.x < b->width ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_left(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 3: - do - { - if ( s.y >= b->p.page_y0 ) - if ( s.y <= b->p.page_y1 ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_up(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - } -} -#endif - -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: -#ifdef NEW_CODE - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1_Set8PixelState(pb, (u8g_dev_arg_pixel_t *)arg); -#else - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); -#endif - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1f.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1f.c deleted file mode 100644 index c7be1fe10..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h1f.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - - u8g_pb8h1f.c - - 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation, same as u8g_pb8h1, but byte is flipped - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -/* limitation: total buffer must not exceed 256 bytes, 20 nov 2012: extended to >256 bytes */ -void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - /*register uint8_t mask, tmp;*/ - register uint8_t mask; - register u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width >> 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 1; - mask <<= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h1f_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h1f_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb8h1f_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h1f_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1f_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h1f_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h2.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h2.c deleted file mode 100644 index aad6e4275..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h2.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - - u8g_pb8h2.c - - 8bit height 2 bit per pixel page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb8h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - register uint16_t tmp; - - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 2; - tmp *= (uint8_t)y; - ptr += tmp; - - tmp = x; - tmp >>= 2; - ptr += tmp; - - tmp = x; - tmp &= 3; - tmp <<= 1; - mask = 3; - mask <<= tmp; - mask = ~mask; - color_index &= 3; - color_index <<= tmp; - - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb8h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - - -uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb8h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h8.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h8.c deleted file mode 100644 index 49dbb8616..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8h8.c +++ /dev/null @@ -1,185 +0,0 @@ -/* - - u8g_pb8h8.c - - 8 lines per page, horizontal, 8 bits per pixel - (22 May 2013: might also support any number of lines --> needs to be checked) - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -uint8_t u8g_index_color_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_index_color_8h8_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_8h8_buff}; -u8g_dev_t name = { dev_fn, &u8g_index_color_8h8_pb, com_fn } - -*/ - -#include "u8g.h" - -/* -#define WIDTH_BITS 7 -#define WIDTH (1<buf; - uint8_t *end_ptr = ptr; - uint8_t cnt = b->p.page_height; - end_ptr += b->width*cnt; - /* - do - { - end_ptr += b->width; - cnt--; - } while( cnt > 0 ); - */ - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - -void u8g_pb8h8_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb8h8_Clear(b); -} - -static void u8g_pb8h8_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - ptr += tmp; - *ptr = color_index; -} - -void u8g_pb8h8_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h8_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8h8_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h8_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h8_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h8_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb8h8_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb8h8_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_R3G3B2; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v1.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v1.c deleted file mode 100644 index 28ac4e0ea..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v1.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - - u8g_pb8v1.c - - 8bit height monochrom (1 bit) page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - mask = 1; - y &= 0x07; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb8v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v2.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v2.c deleted file mode 100644 index c8e8926b1..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pb8v2.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - - u8g_pb8v2.c - - 8bit height 2 bit per pixel page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb8v2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -void u8g_pb8v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - mask = 0x03; - y &= 0x03; - y <<= 1; - mask <<= y; - mask ^=0xff; - color_index &= 3; - color_index <<= y; - ptr += x; - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb8v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8v2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); - -} - - - -uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb8v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh16.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh16.c deleted file mode 100644 index 9e3455346..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh16.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - - u8g_pbxh16.c - - x lines per page, horizontal, 16 bits per pixel (hi color modes) - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_xh16_buf}; -u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn } - -*/ - -#include "u8g.h" - -/* -#define WIDTH_BITS 7 -#define WIDTH (1<buf; - uint8_t *end_ptr = ptr; - uint8_t cnt = b->p.page_height; - do - { - end_ptr += b->width*2; - cnt--; - } while( cnt > 0 ); - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - -void u8g_pbxh16_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pbxh16_Clear(b); -} - -static void u8g_pbxh16_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t low, uint8_t high) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - tmp <<= 1; - ptr += tmp; - *ptr = low; - ptr++; - *ptr = high; -} - -void u8g_pbxh16_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pbxh16_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color); -} - - -void u8g_pbxh16_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pbxh16_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pbxh16_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pbxh16_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pbxh16_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pbxh16_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_HICOLOR; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh24.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh24.c deleted file mode 100644 index 61ed011a1..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_pbxh24.c +++ /dev/null @@ -1,287 +0,0 @@ -/* - - u8g_pbxh24.c - - x lines per page, horizontal, 24 bits per pixel (true color modes) - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_xh16_buf}; -u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn } - -*/ - -#include "u8g.h" - -/* -#define WIDTH_BITS 7 -#define WIDTH (1<buf; - uint8_t *end_ptr = ptr; - uint8_t cnt = b->p.page_height; - do - { - end_ptr += b->width*3; - cnt--; - } while( cnt > 0 ); - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - -void u8g_pbxh24_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pbxh24_Clear(b); -} - -#ifdef OBSOLETE -static void u8g_pbxh24_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t r, uint8_t g, uint8_t b) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - tmp *= 3; - ptr += tmp; - *ptr = r; - ptr++; - *ptr = g; - ptr++; - *ptr = b; -} -#endif - -/* - intensity - 0..3 intensity value - 4 replace color -*/ -static void u8g_pbxh24_set_tpixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t red, uint8_t green, uint8_t blue, uint8_t intensity) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - - if ( intensity == 0 ) - return; - - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - tmp *= 3; - ptr += tmp; - - if ( intensity == 4 ) - { - *ptr = red; - ptr++; - *ptr = green; - ptr++; - *ptr = blue; - return; - } - - if ( intensity == 2 ) - { - /* - red = red/4 + red/2; - green = green/4 + green/2; - blue = blue/4 + blue/2; - */ - red >>= 1; - green >>= 1; - blue >>= 1; - } - else if ( intensity == 1 ) - { - red >>= 2; - green >>= 2; - blue >>= 2; - } - - if ( *ptr >= 255-red ) *ptr = 255; - else *ptr += red; - ptr++; - - if ( *ptr >= 255-green ) *ptr = 255; - else *ptr += green; - ptr++; - - if ( *ptr >= 255-blue ) *ptr = 255; - else *ptr += blue; - - /* - if ( *ptr < red ) *ptr = red; - ptr++; - if ( *ptr < green ) *ptr = green; - ptr++; - if ( *ptr < blue ) *ptr = blue; - */ - - -} - -void u8g_pbxh24_SetTPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t intensity) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pbxh24_set_tpixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color, arg_pixel->blue, intensity); -} - - -void u8g_pbxh24_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pbxh24_SetTPixel(b, arg_pixel, 4); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pbxh24_Set4TPixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - u8g_pbxh24_SetTPixel(b, arg_pixel, pixel >> 6); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 2; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pbxh24_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, 4); - break; - case U8G_DEV_MSG_SET_4TPIXEL: - u8g_pbxh24_Set4TPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_TPIXEL: - u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, ((u8g_dev_arg_pixel_t *)arg)->pixel&3); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pbxh24_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pbxh24_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_TRUECOLOR; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_polygon.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_polygon.c deleted file mode 100644 index f7e9b6596..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_polygon.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - - u8g_polygon.c - - Implementation of a polygon draw algorithm for "convex" polygons. - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - See also: - http://www.angelfire.com/linux/myp/ConvexPolRas/ConvexPolRas.html - Computer Graphics, Principles and Practice, Foley, van Dam, Feiner, Hughes (pp 92) - Michael Abrash's Graphics Programming Black Book, Special Edition (Chapter 38 and 39) - - Optimized for embedded systems - - static memory usage only - - consistent data types - - low flash ROM consumption - -*/ - - -#include "u8g.h" - - - - -/*===========================================*/ -/* procedures, which should not be inlined (save as much flash ROM as possible */ - -static uint8_t pge_Next(struct pg_edge_struct *pge) PG_NOINLINE; -static uint8_t pg_inc(pg_struct *pg, uint8_t i) PG_NOINLINE; -static uint8_t pg_dec(pg_struct *pg, uint8_t i) PG_NOINLINE; -static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) PG_NOINLINE; -static void pg_line_init(pg_struct * const pg, uint8_t pge_index) PG_NOINLINE; - -/*===========================================*/ -/* line draw algorithm */ - -static uint8_t pge_Next(struct pg_edge_struct *pge) -{ - if ( pge->current_y >= pge->max_y ) - return 0; - - pge->current_x += pge->current_x_offset; - pge->error += pge->error_offset; - if ( pge->error > 0 ) - { - pge->current_x += pge->x_direction; - pge->error -= pge->height; - } - - pge->current_y++; - return 1; -} - -/* assumes y2 > y1 */ -static void pge_Init(struct pg_edge_struct *pge, pg_word_t x1, pg_word_t y1, pg_word_t x2, pg_word_t y2) -{ - pg_word_t dx = x2 - x1; - pg_word_t width; - - pge->height = y2 - y1; - pge->max_y = y2; - pge->current_y = y1; - pge->current_x = x1; - - if ( dx >= 0 ) - { - pge->x_direction = 1; - width = dx; - pge->error = 0; - } - else - { - pge->x_direction = -1; - width = -dx; - pge->error = 1 - pge->height; - } - - pge->current_x_offset = dx / pge->height; - pge->error_offset = width % pge->height; -} - -/*===========================================*/ -/* convex polygon algorithm */ - -static uint8_t pg_inc(pg_struct *pg, uint8_t i) -{ - i++; - if ( i >= pg->cnt ) - i = 0; - return i; -} - -static uint8_t pg_dec(pg_struct *pg, uint8_t i) -{ - i--; - if ( i >= pg->cnt ) - i = pg->cnt-1; - return i; -} - -static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) -{ - uint8_t i = pg->pge[pge_idx].curr_idx; - for(;;) - { - i = pg->pge[pge_idx].next_idx_fn(pg, i); - if ( pg->list[i].y != min_y ) - break; - pg->pge[pge_idx].curr_idx = i; - } -} - -static uint8_t pg_prepare(pg_struct *pg) -{ - pg_word_t max_y; - pg_word_t min_y; - uint8_t i; - - /* setup the next index procedures */ - pg->pge[PG_RIGHT].next_idx_fn = pg_inc; - pg->pge[PG_LEFT].next_idx_fn = pg_dec; - - /* search for highest and lowest point */ - max_y = pg->list[0].y; - min_y = pg->list[0].y; - pg->pge[PG_LEFT].curr_idx = 0; - for( i = 1; i < pg->cnt; i++ ) - { - if ( max_y < pg->list[i].y ) - { - max_y = pg->list[i].y; - } - if ( min_y > pg->list[i].y ) - { - pg->pge[PG_LEFT].curr_idx = i; - min_y = pg->list[i].y; - } - } - - /* calculate total number of scan lines */ - pg->total_scan_line_cnt = max_y; - pg->total_scan_line_cnt -= min_y; - - /* exit if polygon height is zero */ - if ( pg->total_scan_line_cnt == 0 ) - return 0; - - /* if the minimum y side is flat, try to find the lowest and highest x points */ - pg->pge[PG_RIGHT].curr_idx = pg->pge[PG_LEFT].curr_idx; - pg_expand_min_y(pg, min_y, PG_RIGHT); - pg_expand_min_y(pg, min_y, PG_LEFT); - - /* check if the min side is really flat (depends on the x values) */ - pg->is_min_y_not_flat = 1; - if ( pg->list[pg->pge[PG_LEFT].curr_idx].x != pg->list[pg->pge[PG_RIGHT].curr_idx].x ) - { - pg->is_min_y_not_flat = 0; - } - else - { - pg->total_scan_line_cnt--; - if ( pg->total_scan_line_cnt == 0 ) - return 0; - } - - return 1; -} - -static void pg_hline(pg_struct *pg, u8g_t *u8g) -{ - pg_word_t x1, x2, y; - x1 = pg->pge[PG_LEFT].current_x; - x2 = pg->pge[PG_RIGHT].current_x; - y = pg->pge[PG_RIGHT].current_y; - - if ( y < 0 ) - return; - if ( y >= u8g_GetHeight(u8g) ) - return; - if ( x1 < x2 ) - { - if ( x2 < 0 ) - return; - if ( x1 >= u8g_GetWidth(u8g) ) - return; - if ( x1 < 0 ) - x1 = 0; - if ( x2 >= u8g_GetWidth(u8g) ) - x2 = u8g_GetWidth(u8g); - u8g_DrawHLine(u8g, x1, y, x2 - x1); - } - else - { - if ( x1 < 0 ) - return; - if ( x2 >= u8g_GetWidth(u8g) ) - return; - if ( x2 < 0 ) - x1 = 0; - if ( x1 >= u8g_GetWidth(u8g) ) - x1 = u8g_GetWidth(u8g); - u8g_DrawHLine(u8g, x2, y, x1 - x2); - } -} - -static void pg_line_init(pg_struct * pg, uint8_t pge_index) -{ - struct pg_edge_struct *pge = pg->pge+pge_index; - uint8_t idx; - pg_word_t x1; - pg_word_t y1; - pg_word_t x2; - pg_word_t y2; - - idx = pge->curr_idx; - y1 = pg->list[idx].y; - x1 = pg->list[idx].x; - idx = pge->next_idx_fn(pg, idx); - y2 = pg->list[idx].y; - x2 = pg->list[idx].x; - pge->curr_idx = idx; - - pge_Init(pge, x1, y1, x2, y2); -} - -static void pg_exec(pg_struct *pg, u8g_t *u8g) -{ - pg_word_t i = pg->total_scan_line_cnt; - - /* first line is skipped if the min y line is not flat */ - pg_line_init(pg, PG_LEFT); - pg_line_init(pg, PG_RIGHT); - - if ( pg->is_min_y_not_flat != 0 ) - { - pge_Next(&(pg->pge[PG_LEFT])); - pge_Next(&(pg->pge[PG_RIGHT])); - } - - do - { - pg_hline(pg, u8g); - while ( pge_Next(&(pg->pge[PG_LEFT])) == 0 ) - { - pg_line_init(pg, PG_LEFT); - } - while ( pge_Next(&(pg->pge[PG_RIGHT])) == 0 ) - { - pg_line_init(pg, PG_RIGHT); - } - i--; - } while( i > 0 ); -} - -/*===========================================*/ -/* API procedures */ - -void pg_ClearPolygonXY(pg_struct *pg) -{ - pg->cnt = 0; -} - -void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y) -{ - if ( pg->cnt < PG_MAX_POINTS ) - { - pg->list[pg->cnt].x = x; - pg->list[pg->cnt].y = y; - pg->cnt++; - } -} - -void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g) -{ - if ( pg_prepare(pg) == 0 ) - return; - pg_exec(pg, u8g); -} - -pg_struct u8g_pg; - -void u8g_ClearPolygonXY(void) -{ - pg_ClearPolygonXY(&u8g_pg); -} - -void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y) -{ - pg_AddPolygonXY(&u8g_pg, u8g, x, y); -} - -void u8g_DrawPolygon(u8g_t *u8g) -{ - pg_DrawPolygon(&u8g_pg, u8g); -} - -void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2) -{ - u8g_ClearPolygonXY(); - u8g_AddPolygonXY(u8g, x0, y0); - u8g_AddPolygonXY(u8g, x1, y1); - u8g_AddPolygonXY(u8g, x2, y2); - u8g_DrawPolygon(u8g); -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rect.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rect.c deleted file mode 100644 index 139a43a24..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rect.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_rect.c - - U8G high level interface for horizontal and vertical things - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_draw_hline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - uint8_t pixel = 0x0ff; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, pixel); - w-=8; - x+=8; - } - if ( w != 0 ) - { - w ^=7; - w++; - pixel <<= w&7; - u8g_Draw8Pixel(u8g, x, y, 0, pixel); - } -} - -void u8g_draw_vline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) -{ - uint8_t pixel = 0x0ff; - while( h >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 1, pixel); - h-=8; - y+=8; - } - if ( h != 0 ) - { - h ^=7; - h++; - pixel <<= h&7; - u8g_Draw8Pixel(u8g, x, y, 1, pixel); - } -} - -void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, w, 1) == 0 ) - return; - u8g_draw_hline(u8g, x, y, w); -} - -void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, 1, w) == 0 ) - return; - u8g_draw_vline(u8g, x, y, w); -} - -/* restrictions: w > 0 && h > 0 */ -void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - u8g_uint_t xtmp = x; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - - u8g_draw_hline(u8g, x, y, w); - u8g_draw_vline(u8g, x, y, h); - x+=w; - x--; - u8g_draw_vline(u8g, x, y, h); - y+=h; - y--; - u8g_draw_hline(u8g, xtmp, y, w); -} - -void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - do - { - u8g_draw_hline(u8g, x, y, w); - y++; - h--; - } while( h != 0 ); -} - -/* restrictions: h > 0 */ -void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - u8g_draw_box(u8g, x, y, w, h); -} - - -void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) -{ - u8g_uint_t xl, yu; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - xl = x; - xl += r; - yu = y; - yu += r; - - { - u8g_uint_t yl, xr; - - xr = x; - xr += w; - xr -= r; - xr -= 1; - - yl = y; - yl += h; - yl -= r; - yl -= 1; - - u8g_draw_circle(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); - u8g_draw_circle(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); - u8g_draw_circle(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); - u8g_draw_circle(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); - } - - { - u8g_uint_t ww, hh; - - ww = w; - ww -= r; - ww -= r; - ww -= 2; - hh = h; - hh -= r; - hh -= r; - hh -= 2; - - xl++; - yu++; - h--; - w--; - u8g_draw_hline(u8g, xl, y, ww); - u8g_draw_hline(u8g, xl, y+h, ww); - u8g_draw_vline(u8g, x, yu, hh); - u8g_draw_vline(u8g, x+w, yu, hh); - } -} - -void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) -{ - u8g_uint_t xl, yu; - u8g_uint_t yl, xr; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - xl = x; - xl += r; - yu = y; - yu += r; - - xr = x; - xr += w; - xr -= r; - xr -= 1; - - yl = y; - yl += h; - yl -= r; - yl -= 1; - - u8g_draw_disc(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); - u8g_draw_disc(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); - u8g_draw_disc(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); - u8g_draw_disc(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); - - { - u8g_uint_t ww, hh; - - ww = w; - ww -= r; - ww -= r; - ww -= 2; - hh = h; - hh -= r; - hh -= r; - hh -= 2; - - xl++; - yu++; - h--; - u8g_draw_box(u8g, xl, y, ww, r+1); - u8g_draw_box(u8g, xl, yl, ww, r+1); - //u8g_draw_hline(u8g, xl, y+h, ww); - u8g_draw_box(u8g, x, yu, w, hh); - //u8g_draw_vline(u8g, x+w, yu, hh); - } -} diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rot.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rot.c deleted file mode 100644 index 3791675b6..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_rot.c +++ /dev/null @@ -1,409 +0,0 @@ -/* - - u8g_rot.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); -uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); -uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_dev_rot_dummy_fn(void *u8g, void *dev, uint8_t msg, void *arg) -{ - return 0; -} - -u8g_dev_t u8g_dev_rot = { u8g_dev_rot_dummy_fn, NULL, NULL }; - - -void u8g_UndoRotation(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - return; - u8g->dev = u8g_dev_rot.dev_mem; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot90(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot90_fn; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot180(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot180_fn; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot270(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot270_fn; - u8g_UpdateDimension(u8g); -} - -uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_ENTRY: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y, tmp; - - /* transform the reference point */ - y = bbx->x; - x = u8g->height; - /* x = u8g_GetWidthLL(u8g, rotation_chain); */ - x -= bbx->y; - x--; - - /* adjust point to be the uppler left corner again */ - x -= bbx->h; - x++; - - /* swap box dimensions */ - tmp = bbx->w; - bbx->w = bbx->h; - bbx->h = tmp; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - //new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - //new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - - new_box.x0 = ((u8g_box_t *)arg)->y0; - new_box.x1 = ((u8g_box_t *)arg)->y1; - new_box.y0 = ((u8g_box_t *)arg)->x0; - new_box.y1 = ((u8g_box_t *)arg)->x1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_TPIXEL: - { - u8g_uint_t x, y; - y = ((u8g_dev_arg_pixel_t *)arg)->x; - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - case U8G_DEV_MSG_SET_4TPIXEL: - { - u8g_uint_t x, y; - //uint16_t x,y; - y = ((u8g_dev_arg_pixel_t *)arg)->x; - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=1; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - -uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_ENTRY: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y; - - /* transform the reference point */ - //y = u8g_GetHeightLL(u8g, rotation_chain); - y = u8g->height; - y -= bbx->y; - y--; - - //x = u8g_GetWidthLL(u8g, rotation_chain); - x = u8g->width; - x -= bbx->x; - x--; - - /* adjust point to be the uppler left corner again */ - y -= bbx->h; - y++; - - x -= bbx->w; - x++; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - - new_box.x0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; - new_box.x1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; - new_box.y0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - new_box.y1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_TPIXEL: - { - u8g_uint_t x, y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->y; - y--; - - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->x; - x--; - - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - case U8G_DEV_MSG_SET_4TPIXEL: - { - u8g_uint_t x, y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->y; - y--; - - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->x; - x--; - - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=2; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - -uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_ENTRY: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y, tmp; - - /* transform the reference point */ - x = bbx->y; - - y = u8g->width; - /* y = u8g_GetHeightLL(u8g, rotation_chain); */ - y -= bbx->x; - y--; - - /* adjust point to be the uppler left corner again */ - y -= bbx->w; - y++; - - /* swap box dimensions */ - tmp = bbx->w; - bbx->w = bbx->h; - bbx->h = tmp; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - - new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - new_box.y0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; - new_box.y1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_TPIXEL: - { - u8g_uint_t x, y; - x = ((u8g_dev_arg_pixel_t *)arg)->y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->x; - y--; - - /* - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - */ - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - case U8G_DEV_MSG_SET_4TPIXEL: - { - u8g_uint_t x, y; - x = ((u8g_dev_arg_pixel_t *)arg)->y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->x; - y--; - - /* - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - */ - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=3; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_scale.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_scale.c deleted file mode 100644 index e5b4b634f..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_scale.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - - u8g_scale.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Scale screen by some constant factors. Usefull for making bigger fonts wiht less - memory consumption - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -u8g_dev_t u8g_dev_scale = { u8g_dev_scale_2x2_fn, NULL, NULL }; - -void u8g_UndoScale(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_scale ) - return; - u8g->dev = u8g_dev_scale.dev_mem; - u8g_UpdateDimension(u8g); -} - -void u8g_SetScale2x2(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_scale ) - { - u8g_dev_scale.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_scale; - } - u8g_dev_scale.dev_fn = u8g_dev_scale_2x2_fn; - u8g_UpdateDimension(u8g); -} - - -uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *chain = (u8g_dev_t *)(dev->dev_mem); - uint8_t pixel; - uint16_t scaled_pixel; - uint8_t i; - uint8_t dir; - u8g_uint_t x, y, xx,yy; - - switch(msg) - { - default: - return u8g_call_dev_fn(u8g, chain, msg, arg); - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, chain) / 2; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, chain) / 2; - break; - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, chain, msg, arg); - ((u8g_box_t *)arg)->x0 /= 2; - ((u8g_box_t *)arg)->x1 /= 2; - ((u8g_box_t *)arg)->y0 /= 2; - ((u8g_box_t *)arg)->y1 /= 2; - return 1; - case U8G_DEV_MSG_SET_PIXEL: - x = ((u8g_dev_arg_pixel_t *)arg)->x; - x *= 2; - y = ((u8g_dev_arg_pixel_t *)arg)->y; - y *= 2; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - x++; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - y++; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - pixel = ((u8g_dev_arg_pixel_t *)arg)->pixel; - dir = ((u8g_dev_arg_pixel_t *)arg)->dir; - scaled_pixel = 0; - for( i = 0; i < 8; i++ ) - { - scaled_pixel<<=2; - if ( pixel & 128 ) - { - scaled_pixel |= 3; - } - pixel<<=1; - } - x = ((u8g_dev_arg_pixel_t *)arg)->x; - x *= 2; - xx = x; - y = ((u8g_dev_arg_pixel_t *)arg)->y; - y *= 2; - yy = y; - if ( ((u8g_dev_arg_pixel_t *)arg)->dir & 1 ) - { - xx++; - } - else - { - yy++; - } - - ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel>>8; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - - ((u8g_dev_arg_pixel_t *)arg)->x = xx; - ((u8g_dev_arg_pixel_t *)arg)->y = yy; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel&255; - //((u8g_dev_arg_pixel_t *)arg)->pixel = 0x00; - switch(dir) - { - case 0: - x+=8; - xx+=8; - break; - case 1: - y+=8; - yy+=8; - break; - case 2: - x-=8; - xx-=8; - break; - case 3: - y-=8; - yy-=8; - break; - } - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - ((u8g_dev_arg_pixel_t *)arg)->x = xx; - ((u8g_dev_arg_pixel_t *)arg)->y = yy; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_state.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_state.c deleted file mode 100644 index 9573c8bf3..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_state.c +++ /dev/null @@ -1,158 +0,0 @@ -/* - - u8g_state.c - - backup and restore hardware state - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - state callback: backup env U8G_STATE_MSG_BACKUP_ENV - device callback: DEV_MSG_INIT - state callback: backup u8g U8G_STATE_MSG_BACKUP_U8G - state callback: restore env U8G_STATE_MSG_RESTORE_ENV - - state callback: backup env U8G_STATE_MSG_BACKUP_ENV - state callback: retore u8g U8G_STATE_MSG_RESTORE_U8G - DEV_MSG_PAGE_FIRST or DEV_MSG_PAGE_NEXT - state callback: restore env U8G_STATE_MSG_RESTORE_ENV - -*/ - -#include -#include "u8g.h" - -void u8g_state_dummy_cb(uint8_t msg) -{ - /* the dummy procedure does nothing */ -} - -void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb) -{ - u8g->state_cb = backup_cb; - /* in most cases the init message was already sent, so this will backup the */ - /* current u8g state */ - backup_cb(U8G_STATE_MSG_BACKUP_U8G); -} - - -/*===============================================================*/ -/* register variable for restoring interrupt state */ - -#if defined(__AVR__) -uint8_t global_SREG_backup; -#endif - - - -/*===============================================================*/ -/* AVR */ - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif -#endif - -#if defined(U8G_ATMEGA_HW_SPI) -#include -static uint8_t u8g_state_avr_spi_memory[2]; - -void u8g_backup_spi(uint8_t msg) -{ - if ( U8G_STATE_MSG_IS_BACKUP(msg) ) - { - u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)] = SPCR; - } - else - { - uint8_t tmp = SREG; - cli(); - SPCR = 0; - SPCR = u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)]; - SREG = tmp; - } -} - -#elif defined (U8G_RASPBERRY_PI) - -#include - -void u8g_backup_spi(uint8_t msg) { - printf("u8g_backup_spi %d\r\n",msg); -} - -#elif defined(ARDUINO) && defined(__SAM3X8E__) // Arduino Due, maybe we should better check for __SAM3X8E__ - -#include "sam.h" - -struct sam_backup_struct -{ - uint32_t mr; - uint32_t sr; - uint32_t csr[4]; -} sam_backup[2]; - -void u8g_backup_spi(uint8_t msg) -{ - uint8_t idx = U8G_STATE_MSG_GET_IDX(msg); - if ( U8G_STATE_MSG_IS_BACKUP(msg) ) - { - sam_backup[idx].mr = SPI0->SPI_MR; - sam_backup[idx].sr = SPI0->SPI_SR; - sam_backup[idx].csr[0] = SPI0->SPI_CSR[0]; - sam_backup[idx].csr[1] = SPI0->SPI_CSR[1]; - sam_backup[idx].csr[2] = SPI0->SPI_CSR[2]; - sam_backup[idx].csr[3] = SPI0->SPI_CSR[3]; - } - else - { - SPI0->SPI_MR = sam_backup[idx].mr; - SPI0->SPI_CSR[0] = sam_backup[idx].csr[0]; - SPI0->SPI_CSR[1] = sam_backup[idx].csr[1]; - SPI0->SPI_CSR[2] = sam_backup[idx].csr[2]; - SPI0->SPI_CSR[3] = sam_backup[idx].csr[3]; - } -} - -#else - -void u8g_backup_spi(uint8_t msg) -{ -} - -#endif - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u16toa.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u16toa.c deleted file mode 100644 index f1d1803cf..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u16toa.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - - u8g_u16toa.c - - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -const char *u8g_u16toap(char * dest, uint16_t v) -{ - uint8_t pos; - uint8_t d; - uint16_t c; - c = 10000; - for( pos = 0; pos < 5; pos++ ) - { - d = '0'; - while( v >= c ) - { - v -= c; - d++; - } - dest[pos] = d; - c /= 10; - } - dest[5] = '\0'; - return dest; -} - -/* v = value, d = number of digits */ -const char *u8g_u16toa(uint16_t v, uint8_t d) -{ - static char buf[6]; - d = 5-d; - return u8g_u16toap(buf, v) + d; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u8toa.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u8toa.c deleted file mode 100644 index f3a2c06fa..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_u8toa.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - - u8g_u8toa.c - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -static const unsigned char u8g_u8toa_tab[3] = { 100, 10, 1 } ; -const char *u8g_u8toap(char * dest, uint8_t v) -{ - uint8_t pos; - uint8_t d; - uint8_t c; - for( pos = 0; pos < 3; pos++ ) - { - d = '0'; - c = *(u8g_u8toa_tab+pos); - while( v >= c ) - { - v -= c; - d++; - } - dest[pos] = d; - } - dest[3] = '\0'; - return dest; -} - -/* v = value, d = number of digits */ -const char *u8g_u8toa(uint8_t v, uint8_t d) -{ - static char buf[4]; - d = 3-d; - return u8g_u8toap(buf, v) + d; -} - diff --git a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_virtual_screen.c b/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_virtual_screen.c deleted file mode 100644 index 8000506b4..000000000 --- a/ArduinoAddons/Arduino_1.0.x/libraries/U8glib/utility/u8g_virtual_screen.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_virtual_screen.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -struct _u8g_vs_t -{ - u8g_uint_t x; - u8g_uint_t y; - u8g_t *u8g; -}; -typedef struct _u8g_vs_t u8g_vs_t; - -#define U8g_VS_MAX 4 -uint8_t u8g_vs_cnt = 0; -u8g_vs_t u8g_vs_list[U8g_VS_MAX]; -uint8_t u8g_vs_current; -u8g_uint_t u8g_vs_width; -u8g_uint_t u8g_vs_height; - -uint8_t u8g_dev_vs_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - default: - { - uint8_t i; - for( i = 0; i < u8g_vs_cnt; i++ ) - { - u8g_call_dev_fn(u8g_vs_list[i].u8g, u8g_vs_list[i].u8g->dev, msg, arg); - } - } - return 1; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_vs_current = 0; - if ( u8g_vs_cnt != 0 ) - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - return 0; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t ret = 0; - if ( u8g_vs_cnt != 0 ) - ret = u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - if ( ret != 0 ) - return ret; - u8g_vs_current++; /* next device */ - if ( u8g_vs_current >= u8g_vs_cnt ) /* reached end? */ - return 0; - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, U8G_DEV_MSG_PAGE_FIRST, arg); - } - return 0; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_vs_width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_vs_height; - break; - case U8G_DEV_MSG_GET_PAGE_BOX: - if ( u8g_vs_current < u8g_vs_cnt ) - { - u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - ((u8g_box_t *)arg)->x0 += u8g_vs_list[u8g_vs_current].x; - ((u8g_box_t *)arg)->x1 += u8g_vs_list[u8g_vs_current].x; - ((u8g_box_t *)arg)->y0 += u8g_vs_list[u8g_vs_current].y; - ((u8g_box_t *)arg)->y1 += u8g_vs_list[u8g_vs_current].y; - } - else - { - ((u8g_box_t *)arg)->x0 = 0; - ((u8g_box_t *)arg)->x1 = 0; - ((u8g_box_t *)arg)->y0 = 0; - ((u8g_box_t *)arg)->y1 = 0; - } - return 1; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_vs_current < u8g_vs_cnt ) - { - ((u8g_dev_arg_pixel_t *)arg)->x -= u8g_vs_list[u8g_vs_current].x; - ((u8g_dev_arg_pixel_t *)arg)->y -= u8g_vs_list[u8g_vs_current].y; - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - } - break; - } - return 1; -} - - - -u8g_dev_t u8g_dev_vs = { u8g_dev_vs_fn, NULL, NULL }; - -void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height) -{ - if ( vs_u8g->dev != &u8g_dev_vs ) - return; /* abort if there is no a virtual screen device */ - u8g_vs_width = width; - u8g_vs_height = height; -} - -uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g) -{ - if ( vs_u8g->dev != &u8g_dev_vs ) - return 0; /* abort if there is no a virtual screen device */ - if ( u8g_vs_cnt >= U8g_VS_MAX ) - return 0; /* maximum number of child u8g's reached */ - u8g_vs_list[u8g_vs_cnt].u8g = child_u8g; - u8g_vs_list[u8g_vs_cnt].x = x; - u8g_vs_list[u8g_vs_cnt].y = y; - u8g_vs_cnt++; - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/boards.txt b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/boards.txt deleted file mode 100644 index cbe7c7b43..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/boards.txt +++ /dev/null @@ -1,159 +0,0 @@ -# See: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification -# See: http://code.google.com/p/arduino/wiki/Platforms - -############################################################## - -menu.cpu=Processor - -######################################## -## RAMBo -######################################## -rambo.name=RAMBo - -rambo.upload.tool=arduino:avrdude -rambo.upload.protocol=wiring -rambo.upload.maximum_size=258048 -rambo.upload.speed=115200 - -rambo.bootloader.low_fuses=0xFF -rambo.bootloader.high_fuses=0xD8 -rambo.bootloader.extended_fuses=0xFD -rambo.bootloader.path=stk500v2 -rambo.bootloader.file=stk500boot_v2_mega2560.hex -rambo.bootloader.unlock_bits=0x3F -rambo.bootloader.lock_bits=0x0F - -rambo.build.mcu=atmega2560 -rambo.build.f_cpu=16000000L -rambo.build.board=AVR_RAMBO -rambo.build.core=arduino:arduino -rambo.build.variant=rambo - -######################################## -## Sanguino -######################################## -sanguino.name=Sanguino - -sanguino.upload.tool=arduino:avrdude -sanguino.upload.protocol=stk500 -sanguino.upload.maximum_size=131072 -sanguino.upload.speed=57600 - -sanguino.bootloader.low_fuses=0xD6 -sanguino.bootloader.high_fuses=0xDA -sanguino.bootloader.extended_fuses=0xFD -sanguino.bootloader.path=atmega -sanguino.bootloader.unlock_bits=0x3F -sanguino.bootloader.lock_bits=0x0F - -sanguino.build.mcu=atmega1284p -sanguino.build.f_cpu=16000000L -sanguino.build.board=AVR_SANGUINO -sanguino.build.core=arduino:arduino -sanguino.build.variant=sanguino - -sanguino.menu.cpu.atmega644=ATmega644P -sanguino.menu.cpu.atmega644.upload.maximum_size=63488 -sanguino.menu.cpu.atmega644.bootloader.low_fuses=0xFF -sanguino.menu.cpu.atmega644.bootloader.high_fuses=0x9A -sanguino.menu.cpu.atmega644.bootloader.extended_fuses=0xFF -sanguino.menu.cpu.atmega644.bootloader.file=ATmegaBOOT_168_atmega644p.hex -sanguino.menu.cpu.atmega644.build.mcu=atmega644p - -sanguino.menu.cpu.atmega12848m=ATmega1284p 8MHz -sanguino.menu.cpu.atmega12848m.upload.speed=19200 -sanguino.menu.cpu.atmega12848m.bootloader.file=ATmegaBOOT_168_atmega1284p_8m.hex -sanguino.menu.cpu.atmega12848m.build.f_cpu=8000000L - -sanguino.menu.cpu.atmega1284=ATmega1284p 16MHz -sanguino.menu.cpu.atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex - -sanguino.menu.cpu.atmega1284m=ATmega1284p 20MHz -sanguino.menu.cpu.atmega1284m.bootloader.file=ATmegaBOOT_168_atmega1284p.hex -sanguino.menu.cpu.atmega1284m.build.f_cpu=20000000L - -######################################## -## Brainwave -######################################## -Brainwave.name=Brainwave - -Brainwave.bootloader.tool=avrdude -Brainwave.bootloader.low_fuses=0xFF -Brainwave.bootloader.high_fuses=0x99 -Brainwave.bootloader.extended_fuses=0xF0 -Brainwave.bootloader.unlock_bits=0x3F -Brainwave.bootloader.lock_bits=0x02F -Brainwave.bootloader.path=brainwave -Brainwave.bootloader.file=Brainwave-646-LUFA.hex - -Brainwave.upload.tool=avrdude -Brainwave.upload.protocol=avr109 -Brainwave.upload.maximum_size=61440 -Brainwave.upload.speed=115200 -Brainwave.upload.disable_flushing=true - -Brainwave.build.mcu=at90usb646 -Brainwave.build.f_cpu=16000000L -Brainwave.build.core=brainwave -Brainwave.build.dependency=true -Brainwave.build.variant=brainwave -Brainwave.build.vid=0x16D0 -Brainwave.build.pid=0x076B - -######################################## -## BrainwavePro -######################################## -BrainwavePro.name=Brainwave Pro - -BrainwavePro.bootloader.tool=avrdude -BrainwavePro.bootloader.low_fuses=0xFF -BrainwavePro.bootloader.high_fuses=0x9B -BrainwavePro.bootloader.extended_fuses=0xF0 -BrainwavePro.bootloader.unlock_bits=0x3F -BrainwavePro.bootloader.lock_bits=0x02F -BrainwavePro.bootloader.path=brainwave -BrainwavePro.bootloader.file=BrainwavePro-1286-LUFA.hex - -BrainwavePro.upload.tool=avrdude -BrainwavePro.upload.protocol=avr109 -BrainwavePro.upload.maximum_size=126976 -BrainwavePro.upload.speed=115200 -BrainwavePro.upload.disable_flushing=true - -BrainwavePro.build.mcu=at90usb1286 -BrainwavePro.build.f_cpu=16000000L -BrainwavePro.build.core=brainwave -BrainwavePro.build.dependency=true -BrainwavePro.build.variant=brainwavepro -BrainwavePro.build.vid=0x16D0 -BrainwavePro.build.pid=0x076B -BrainwavePro.build.extra_flags=-DAT90USBxx_TEENSYPP_ASSIGNMENTS -DUSB_VID={build.vid} -DUSB_PID={build.pid} - -######################################## -## KosselPro -- BrainwavePro with HID boot -######################################## -KosselPro.name=Kossel Pro (HID Bootloader) - -KosselPro.bootloader.tool=avrdude -KosselPro.bootloader.low_fuses=0xFF -KosselPro.bootloader.high_fuses=0x9B -KosselPro.bootloader.extended_fuses=0xF0 -KosselPro.bootloader.unlock_bits=0x3F -KosselPro.bootloader.lock_bits=0x02F -KosselPro.bootloader.path=brainwave -KosselPro.bootloader.file=BootloaderHID.hex - -KosselPro.upload.tool=hidloader -KosselPro.upload.protocol=halfkay -KosselPro.upload.maximum_size=126976 -KosselPro.upload.speed=115200 -KosselPro.upload.disable_flushing=true - -KosselPro.build.mcu=at90usb1286 -KosselPro.build.f_cpu=16000000L -KosselPro.build.core=brainwave -KosselPro.build.dependency=true -KosselPro.build.variant=brainwavepro -KosselPro.build.vid=0x16D0 -KosselPro.build.pid=0x076B -KosselPro.build.extra_flags=-DAT90USBxx_TEENSYPP_ASSIGNMENTS -DUSB_VID={build.vid} -DUSB_PID={build.pid} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c deleted file mode 100644 index 09ef8e7ac..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c +++ /dev/null @@ -1,1071 +0,0 @@ -/**********************************************************/ -/* Serial Bootloader for Atmel megaAVR Controllers */ -/* */ -/* tested with ATmega8, ATmega128 and ATmega168 */ -/* should work with other mega's, see code for details */ -/* */ -/* ATmegaBOOT.c */ -/* */ -/* */ -/* 20090308: integrated Mega changes into main bootloader */ -/* source by D. Mellis */ -/* 20080930: hacked for Arduino Mega (with the 1280 */ -/* processor, backwards compatible) */ -/* by D. Cuartielles */ -/* 20070626: hacked for Arduino Diecimila (which auto- */ -/* resets when a USB connection is made to it) */ -/* by D. Mellis */ -/* 20060802: hacked for Arduino by D. Cuartielles */ -/* based on a previous hack by D. Mellis */ -/* and D. Cuartielles */ -/* */ -/* Monitor and debug functions were added to the original */ -/* code by Dr. Erik Lins, chip45.com. (See below) */ -/* */ -/* Thanks to Karl Pitrich for fixing a bootloader pin */ -/* problem and more informative LED blinking! */ -/* */ -/* For the latest version see: */ -/* http://www.chip45.com/ */ -/* */ -/* ------------------------------------------------------ */ -/* */ -/* based on stk500boot.c */ -/* Copyright (c) 2003, Jason P. Kyle */ -/* All rights reserved. */ -/* see avr1.org for original file and information */ -/* */ -/* This program is free software; you can redistribute it */ -/* and/or modify it under the terms of the GNU General */ -/* Public License as published by the Free Software */ -/* Foundation; either version 2 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, write */ -/* to the Free Software Foundation, Inc., */ -/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* */ -/* Licence can be viewed at */ -/* http://www.fsf.org/licenses/gpl.txt */ -/* */ -/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */ -/* m8515,m8535. ATmega161 has a very small boot block so */ -/* isn't supported. */ -/* */ -/* Tested with m168 */ -/**********************************************************/ - -/* $Id$ */ - - -/* some includes */ -#include -#include -#include -#include -#include -#include - -/* the current avr-libc eeprom functions do not support the ATmega168 */ -/* own eeprom write/read functions are used instead */ -#if !defined(__AVR_ATmega168__) || !defined(__AVR_ATmega328P__) -#include -#endif - -/* Use the F_CPU defined in Makefile */ - -/* 20060803: hacked by DojoCorp */ -/* 20070626: hacked by David A. Mellis to decrease waiting time for auto-reset */ -/* set the waiting time for the bootloader */ -/* get this from the Makefile instead */ -/* #define MAX_TIME_COUNT (F_CPU>>4) */ - -/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */ -#define MAX_ERROR_COUNT 5 - -/* set the UART baud rate */ -/* 20060803: hacked by DojoCorp */ -//#define BAUD_RATE 115200 -#ifndef BAUD_RATE -#define BAUD_RATE 19200 -#endif - - -/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */ -/* never allow AVR Studio to do an update !!!! */ -#define HW_VER 0x02 -#define SW_MAJOR 0x01 -#define SW_MINOR 0x10 - - -/* Adjust to suit whatever pin your hardware uses to enter the bootloader */ -/* ATmega128 has two UARTS so two pins are used to enter bootloader and select UART */ -/* ATmega1280 has four UARTS, but for Arduino Mega, we will only use RXD0 to get code */ -/* BL0... means UART0, BL1... means UART1 */ -#ifdef __AVR_ATmega128__ -#define BL_DDR DDRF -#define BL_PORT PORTF -#define BL_PIN PINF -#define BL0 PINF7 -#define BL1 PINF6 -#elif defined __AVR_ATmega1280__ -/* we just don't do anything for the MEGA and enter bootloader on reset anyway*/ -#elif defined __AVR_ATmega1284P_ || defined __AVR_ATmega644P__ - -#else -/* other ATmegas have only one UART, so only one pin is defined to enter bootloader */ -#define BL_DDR DDRD -#define BL_PORT PORTD -#define BL_PIN PIND -#define BL PIND6 -#endif - - -/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */ -/* if monitor functions are included, LED goes on after monitor was entered */ -#if defined __AVR_ATmega128__ || defined __AVR_ATmega1280__ -/* Onboard LED is connected to pin PB7 (e.g. Crumb128, PROBOmega128, Savvy128, Arduino Mega) */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB7 -#elif defined __AVR_ATmega1284P__ || defined __AVR_ATmega644P__ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB0 -#else -/* Onboard LED is connected to pin PB5 in Arduino NG, Diecimila, and Duomilanuove */ -/* other boards like e.g. Crumb8, Crumb168 are using PB2 */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB5 -#endif - - -/* monitor functions will only be compiled when using ATmega128, due to bootblock size constraints */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) -#define MONITOR 1 -#endif - - -/* define various device id's */ -/* manufacturer byte is always the same */ -#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :( - -#if defined __AVR_ATmega1280__ -#define SIG2 0x97 -#define SIG3 0x03 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega1284P__ -#define SIG2 0x97 -#define SIG3 0x05 -#define PAGE_SIZE 0x080U //128 words - -#elif defined __AVR_ATmega1281__ -#define SIG2 0x97 -#define SIG3 0x04 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega644P__ -#define SIG2 0x96 -#define SIG3 0x0A -#define PAGE_SIZE 0x080U //128 words - -#elif defined __AVR_ATmega128__ -#define SIG2 0x97 -#define SIG3 0x02 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega64__ -#define SIG2 0x96 -#define SIG3 0x02 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega32__ -#define SIG2 0x95 -#define SIG3 0x02 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega16__ -#define SIG2 0x94 -#define SIG3 0x03 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega8__ -#define SIG2 0x93 -#define SIG3 0x07 -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega88__ -#define SIG2 0x93 -#define SIG3 0x0a -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega168__ -#define SIG2 0x94 -#define SIG3 0x06 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega328P__ -#define SIG2 0x95 -#define SIG3 0x0F -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega162__ -#define SIG2 0x94 -#define SIG3 0x04 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega163__ -#define SIG2 0x94 -#define SIG3 0x02 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega169__ -#define SIG2 0x94 -#define SIG3 0x05 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega8515__ -#define SIG2 0x93 -#define SIG3 0x06 -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega8535__ -#define SIG2 0x93 -#define SIG3 0x08 -#define PAGE_SIZE 0x20U //32 words -#endif - - -/* function prototypes */ -void putch(char); -char getch(void); -void getNch(uint8_t); -void byte_response(uint8_t); -void nothing_response(void); -char gethex(void); -void puthex(char); -void flash_led(uint8_t); - -/* some variables */ -union address_union { - uint16_t word; - uint8_t byte[2]; -} address; - -union length_union { - uint16_t word; - uint8_t byte[2]; -} length; - -struct flags_struct { - unsigned eeprom : 1; - unsigned rampz : 1; -} flags; - -uint8_t buff[256]; -uint8_t address_high; - -uint8_t pagesz=0x80; - -uint8_t i; -uint8_t bootuart = 0; - -uint8_t error_count = 0; - -void (*app_start)(void) = 0x0000; - - -/* main program starts here */ -int main(void) -{ - uint8_t ch,ch2; - uint16_t w; - -#ifdef WATCHDOG_MODS - ch = MCUSR; - MCUSR = 0; - - WDTCSR |= _BV(WDCE) | _BV(WDE); - WDTCSR = 0; - - // Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot. - if (! (ch & _BV(EXTRF))) // if it's a not an external reset... - app_start(); // skip bootloader -#else - asm volatile("nop\n\t"); -#endif - - /* set pin direction for bootloader pin and enable pullup */ - /* for ATmega128, two pins need to be initialized */ -#ifdef __AVR_ATmega128__ - BL_DDR &= ~_BV(BL0); - BL_DDR &= ~_BV(BL1); - BL_PORT |= _BV(BL0); - BL_PORT |= _BV(BL1); -#else - /* We run the bootloader regardless of the state of this pin. Thus, don't - put it in a different state than the other pins. --DAM, 070709 - This also applies to Arduino Mega -- DC, 080930 - BL_DDR &= ~_BV(BL); - BL_PORT |= _BV(BL); - */ -#endif - - -#ifdef __AVR_ATmega128__ - /* check which UART should be used for booting */ - if(bit_is_clear(BL_PIN, BL0)) { - bootuart = 1; - } - else if(bit_is_clear(BL_PIN, BL1)) { - bootuart = 2; - } -#endif - -#if defined __AVR_ATmega1280__ || defined __AVR_ATmega1284P__ || defined __AVR_ATmega644P__ - /* the mega1280 chip has four serial ports ... we could eventually use any of them, or not? */ - /* however, we don't wanna confuse people, to avoid making a mess, we will stick to RXD0, TXD0 */ - bootuart = 1; -#endif - - /* check if flash is programmed already, if not start bootloader anyway */ - if(pgm_read_byte_near(0x0000) != 0xFF) { - -#ifdef __AVR_ATmega128__ - /* no UART was selected, start application */ - if(!bootuart) { - app_start(); - } -#else - /* check if bootloader pin is set low */ - /* we don't start this part neither for the m8, nor m168 */ - //if(bit_is_set(BL_PIN, BL)) { - // app_start(); - // } -#endif - } - -#ifdef __AVR_ATmega128__ - /* no bootuart was selected, default to uart 0 */ - if(!bootuart) { - bootuart = 1; - } -#endif - - - /* initialize UART(s) depending on CPU defined */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR0A = 0x00; - UCSR0C = 0x06; - UCSR0B = _BV(TXEN0)|_BV(RXEN0); - } - if(bootuart == 2) { - UBRR1L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR1H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR1A = 0x00; - UCSR1C = 0x06; - UCSR1B = _BV(TXEN1)|_BV(RXEN1); - } -#elif defined __AVR_ATmega163__ - UBRR = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRRHI = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSRA = 0x00; - UCSRB = _BV(TXEN)|_BV(RXEN); -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - -#ifdef DOUBLE_SPEED - UCSR0A = (1<> 8; -#else - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; -#endif - - UCSR0B = (1<>8; // set baud rate - UBRRL = (((F_CPU/BAUD_RATE)/16)-1); - UCSRB = (1<> 8; - UCSRA = 0x00; - UCSRC = 0x06; - UCSRB = _BV(TXEN)|_BV(RXEN); -#endif - -#if defined __AVR_ATmega1280__ - /* Enable internal pull-up resistor on pin D0 (RX), in order - to supress line noise that prevents the bootloader from - timing out (DAM: 20070509) */ - /* feature added to the Arduino Mega --DC: 080930 */ - DDRE &= ~_BV(PINE0); - PORTE |= _BV(PINE0); -#endif - - - /* set LED pin as output */ - LED_DDR |= _BV(LED); - - - /* flash onboard LED to signal entering of bootloader */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - // 4x for UART0, 5x for UART1 - flash_led(NUM_LED_FLASHES + bootuart); -#else - flash_led(NUM_LED_FLASHES); -#endif - - /* 20050803: by DojoCorp, this is one of the parts provoking the - system to stop listening, cancelled from the original */ - //putch('\0'); - - /* forever loop */ - for (;;) { - - /* get character from UART */ - ch = getch(); - - /* A bunch of if...else if... gives smaller code than switch...case ! */ - - /* Hello is anyone home ? */ - if(ch=='0') { - nothing_response(); - } - - - /* Request programmer ID */ - /* Not using PROGMEM string due to boot block in m128 being beyond 64kB boundry */ - /* Would need to selectively manipulate RAMPZ, and it's only 9 characters anyway so who cares. */ - else if(ch=='1') { - if (getch() == ' ') { - putch(0x14); - putch('A'); - putch('V'); - putch('R'); - putch(' '); - putch('I'); - putch('S'); - putch('P'); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } - } - - - /* AVR ISP/STK500 board commands DON'T CARE so default nothing_response */ - else if(ch=='@') { - ch2 = getch(); - if (ch2>0x85) getch(); - nothing_response(); - } - - - /* AVR ISP/STK500 board requests */ - else if(ch=='A') { - ch2 = getch(); - if(ch2==0x80) byte_response(HW_VER); // Hardware version - else if(ch2==0x81) byte_response(SW_MAJOR); // Software major version - else if(ch2==0x82) byte_response(SW_MINOR); // Software minor version - else if(ch2==0x98) byte_response(0x03); // Unknown but seems to be required by avr studio 3.56 - else byte_response(0x00); // Covers various unnecessary responses we don't care about - } - - - /* Device Parameters DON'T CARE, DEVICE IS FIXED */ - else if(ch=='B') { - getNch(20); - nothing_response(); - } - - - /* Parallel programming stuff DON'T CARE */ - else if(ch=='E') { - getNch(5); - nothing_response(); - } - - - /* P: Enter programming mode */ - /* R: Erase device, don't care as we will erase one page at a time anyway. */ - else if(ch=='P' || ch=='R') { - nothing_response(); - } - - - /* Leave programming mode */ - else if(ch=='Q') { - nothing_response(); -#ifdef WATCHDOG_MODS - // autoreset via watchdog (sneaky!) - WDTCSR = _BV(WDE); - while (1); // 16 ms -#endif - } - - - /* Set address, little endian. EEPROM in bytes, FLASH in words */ - /* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */ - /* This might explain why little endian was used here, big endian used everywhere else. */ - else if(ch=='U') { - address.byte[0] = getch(); - address.byte[1] = getch(); - nothing_response(); - } - - - /* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */ - else if(ch=='V') { - if (getch() == 0x30) { - getch(); - ch = getch(); - getch(); - if (ch == 0) { - byte_response(SIG1); - } else if (ch == 1) { - byte_response(SIG2); - } else { - byte_response(SIG3); - } - } else { - getNch(3); - byte_response(0x00); - } - } - - - /* Write memory, length is big endian and is in bytes */ - else if(ch=='d') { - length.byte[1] = getch(); - length.byte[0] = getch(); - flags.eeprom = 0; - if (getch() == 'E') flags.eeprom = 1; - for (w=0;w127) address_high = 0x01; //Only possible with m128, m256 will need 3rd address byte. FIXME - else address_high = 0x00; -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) - RAMPZ = address_high; -#endif - address.word = address.word << 1; //address * 2 -> byte location - /* if ((length.byte[0] & 0x01) == 0x01) length.word++; //Even up an odd number of bytes */ - if ((length.byte[0] & 0x01)) length.word++; //Even up an odd number of bytes - cli(); //Disable interrupts, just to be sure -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - while(bit_is_set(EECR,EEPE)); //Wait for previous EEPROM writes to complete -#else - while(bit_is_set(EECR,EEWE)); //Wait for previous EEPROM writes to complete -#endif - asm volatile( - "clr r17 \n\t" //page_word_count - "lds r30,address \n\t" //Address of FLASH location (in bytes) - "lds r31,address+1 \n\t" - "ldi r28,lo8(buff) \n\t" //Start of buffer array in RAM - "ldi r29,hi8(buff) \n\t" - "lds r24,length \n\t" //Length of data to be written (in bytes) - "lds r25,length+1 \n\t" - "length_loop: \n\t" //Main loop, repeat for number of words in block - "cpi r17,0x00 \n\t" //If page_word_count=0 then erase page - "brne no_page_erase \n\t" - "wait_spm1: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm1 \n\t" - "ldi r16,0x03 \n\t" //Erase page pointed to by Z - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "wait_spm2: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm2 \n\t" - - "ldi r16,0x11 \n\t" //Re-enable RWW section - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "no_page_erase: \n\t" - "ld r0,Y+ \n\t" //Write 2 bytes into page buffer - "ld r1,Y+ \n\t" - - "wait_spm3: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm3 \n\t" - "ldi r16,0x01 \n\t" //Load r0,r1 into FLASH page buffer - "sts %0,r16 \n\t" - "spm \n\t" - - "inc r17 \n\t" //page_word_count++ - "cpi r17,%1 \n\t" - "brlo same_page \n\t" //Still same page in FLASH - "write_page: \n\t" - "clr r17 \n\t" //New page, write current one first - "wait_spm4: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm4 \n\t" -#ifdef __AVR_ATmega163__ - "andi r30,0x80 \n\t" // m163 requires Z6:Z1 to be zero during page write -#endif - "ldi r16,0x05 \n\t" //Write page pointed to by Z - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" - "ori r30,0x7E \n\t" // recover Z6:Z1 state after page write (had to be zero during write) -#endif - "wait_spm5: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm5 \n\t" - "ldi r16,0x11 \n\t" //Re-enable RWW section - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "same_page: \n\t" - "adiw r30,2 \n\t" //Next word in FLASH - "sbiw r24,2 \n\t" //length-2 - "breq final_write \n\t" //Finished - "rjmp length_loop \n\t" - "final_write: \n\t" - "cpi r17,0 \n\t" - "breq block_done \n\t" - "adiw r24,2 \n\t" //length+2, fool above check on length after short page write - "rjmp write_page \n\t" - "block_done: \n\t" - "clr __zero_reg__ \n\t" //restore zero register -#if defined __AVR_ATmega168__ || __AVR_ATmega328P__ || __AVR_ATmega128__ || __AVR_ATmega1280__ || __AVR_ATmega1281__ || __AVR_ATmega1284P__ || __AVR_ATmega644P__ - : "=m" (SPMCSR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31" -#else - : "=m" (SPMCR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31" -#endif - ); - /* Should really add a wait for RWW section to be enabled, don't actually need it since we never */ - /* exit the bootloader without a power cycle anyhow */ - } - putch(0x14); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } - } - - - /* Read memory block mode, length is big endian. */ - else if(ch=='t') { - length.byte[1] = getch(); - length.byte[0] = getch(); -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if (address.word>0x7FFF) flags.rampz = 1; // No go with m256, FIXME - else flags.rampz = 0; -#endif - address.word = address.word << 1; // address * 2 -> byte location - if (getch() == 'E') flags.eeprom = 1; - else flags.eeprom = 0; - if (getch() == ' ') { // Command terminator - putch(0x14); - for (w=0;w < length.word;w++) { // Can handle odd and even lengths okay - if (flags.eeprom) { // Byte access EEPROM read -#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - while(EECR & (1<= 'a') { - return (a - 'a' + 0x0a); - } else if(a >= '0') { - return(a - '0'); - } - return a; -} - - -char gethex(void) { - return (gethexnib() << 4) + gethexnib(); -} - - -void puthex(char ch) { - char ah; - - ah = ch >> 4; - if(ah >= 0x0a) { - ah = ah - 0x0a + 'a'; - } else { - ah += '0'; - } - - ch &= 0x0f; - if(ch >= 0x0a) { - ch = ch - 0x0a + 'a'; - } else { - ch += '0'; - } - - putch(ah); - putch(ch); -} - - -void putch(char ch) -{ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; - } - else if (bootuart == 2) { - while (!(UCSR1A & _BV(UDRE1))); - UDR1 = ch; - } -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; -#else - /* m8,16,32,169,8515,8535,163 */ - while (!(UCSRA & _BV(UDRE))); - UDR = ch; -#endif -} - - -char getch(void) -{ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - uint32_t count = 0; - if(bootuart == 1) { - while(!(UCSR0A & _BV(RXC0))) { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - - return UDR0; - } - else if(bootuart == 2) { - while(!(UCSR1A & _BV(RXC1))) { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - - return UDR1; - } - return 0; -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - uint32_t count = 0; - while(!(UCSR0A & _BV(RXC0))){ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - return UDR0; -#else - /* m8,16,32,169,8515,8535,163 */ - uint32_t count = 0; - while(!(UCSRA & _BV(RXC))){ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - return UDR; -#endif -} - - -void getNch(uint8_t count) -{ - while(count--) { -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - while(!(UCSR0A & _BV(RXC0))); - UDR0; - } - else if(bootuart == 2) { - while(!(UCSR1A & _BV(RXC1))); - UDR1; - } -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - getch(); -#else - /* m8,16,32,169,8515,8535,163 */ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - //while(!(UCSRA & _BV(RXC))); - //UDR; - getch(); // need to handle time out -#endif - } -} - - -void byte_response(uint8_t val) -{ - if (getch() == ' ') { - putch(0x14); - putch(val); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } -} - - -void nothing_response(void) -{ - if (getch() == ' ') { - putch(0x14); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } -} - -void flash_led(uint8_t count) -{ - while (count--) { - LED_PORT |= _BV(LED); - _delay_ms(100); - LED_PORT &= ~_BV(LED); - _delay_ms(100); - } -} - - -/* end of file ATmegaBOOT.c */ diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex deleted file mode 100644 index 36b6e13ea..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex +++ /dev/null @@ -1,130 +0,0 @@ -:020000021000EC -:10F000000C9446F80C9465F80C9465F80C9465F82B -:10F010000C9465F80C9465F80C9465F80C9465F8FC -:10F020000C9465F80C9465F80C9465F80C9465F8EC -:10F030000C9465F80C9465F80C9465F80C9465F8DC -:10F040000C9465F80C9465F80C9465F80C9465F8CC -:10F050000C9465F80C9465F80C9465F80C9465F8BC -:10F060000C9465F80C9465F80C9465F80C9465F8AC -:10F070000C9465F80C9465F80C9465F80C9465F89C -:10F080000C9465F80C9465F80C9465F811241FBE77 -:10F09000CFEFD0E4DEBFCDBF11E0A0E0B1E0E8EDFE -:10F0A000F7EF01E00BBF02C007900D92A230B1074D -:10F0B000D9F712E0A2E0B1E001C01D92AD30B10776 -:10F0C000E1F70E947EF90C94EAFB0C9400F8909111 -:10F0D0000201913019F0923041F008959091C000F2 -:10F0E00095FFFCCF8093C60008959091C80095FFCE -:10F0F000FCCF8093CE0008951F93982F95959595FA -:10F1000095959595905D182F1F701A304CF4105DF1 -:10F11000892F0E9467F8812F0E9467F81F91089538 -:10F12000195A892F0E9467F8812F0E9467F81F9152 -:10F130000895EF92FF920F931F9380910201813007 -:10F1400069F1823031F080E01F910F91FF90EF90D4 -:10F150000895EE24FF2487018091C80087FD17C021 -:10F160000894E11CF11C011D111D81E4E81682E4E4 -:10F17000F8068FE0080780E0180770F3E0910401BB -:10F18000F091050109958091C80087FFE9CF809132 -:10F19000CE001F910F91FF90EF900895EE24FF2471 -:10F1A00087018091C00087FD17C00894E11CF11C05 -:10F1B000011D111D81E4E81682E4F8068FE00807BE -:10F1C00080E0180770F3E0910401F09105010995C2 -:10F1D0008091C00087FFE9CF8091C6001F910F91F9 -:10F1E000FF90EF9008951F930E9499F8182F0E94A6 -:10F1F00067F8113634F410330CF01053812F1F913F -:10F2000008951755812F1F9108951F930E94F3F8B9 -:10F21000182F0E94F3F81295107F810F1F91089507 -:10F2200020910201882339F0213031F0223061F041 -:10F2300081508823C9F708959091C00097FFFCCFB3 -:10F240009091C6008150F5CF9091C80097FFFCCFF8 -:10F250009091CE008150EDCF1F93182F0E9499F806 -:10F26000803281F0809103018F5F809303018530AC -:10F2700011F01F910895E0910401F09105010995A5 -:10F280001F91089584E10E9467F8812F0E9467F81A -:10F2900080E10E9467F8EDCF0E9499F8803271F00A -:10F2A000809103018F5F80930301853009F00895F9 -:10F2B000E0910401F09105010995089584E10E940F -:10F2C00067F880E10E9467F8089515C0289A2FEF2B -:10F2D00031EE44E0215030404040E1F700C00000F2 -:10F2E00028982FEF31EE44E0215030404040E1F7C4 -:10F2F00000C000008150882349F70895EF92FF92E3 -:10F300000F931F93CF93DF93000081E0809302015E -:10F3100080E18093C4001092C5001092C00086E086 -:10F320008093C20088E18093C100209A81E00E940E -:10F3300065F90E9499F88033B1F18133B9F18034D5 -:10F3400009F454C0813409F45AC0823409F469C004 -:10F35000853409F46CC0803531F1823521F1813575 -:10F3600011F1853509F469C0863509F471C0843618 -:10F3700009F47AC0843709F4E1C0853709F43FC144 -:10F38000863709F44AC0809103018F5F809303019F -:10F39000853079F6E0910401F091050109950E940C -:10F3A00099F8803351F60E944CF9C3CF0E9499F826 -:10F3B000803249F784E10E9467F881E40E9467F88F -:10F3C00086E50E9467F882E50E9467F880E20E9465 -:10F3D00067F889E40E9467F883E50E9467F880E592 -:10F3E0000E9467F880E10E9467F8A3CF0E9499F815 -:10F3F0008638C8F20E9499F80E944CF99ACF0E9470 -:10F4000099F8803809F414C1813809F415C182389B -:10F4100009F416C1883909F407C180E00E942CF96B -:10F4200088CF84E10E9410F90E944CF982CF85E0D8 -:10F430000E9410F90E944CF97CCF0E9499F88093A9 -:10F4400006010E9499F8809307010E944CF971CF40 -:10F450000E9499F8803309F405C183E00E9410F9F5 -:10F4600080E00E942CF965CF0E9499F880930902F0 -:10F470000E9499F88093080280910C028E7F8093FD -:10F480000C020E9499F8853409F4FDC080910802AD -:10F49000909109020097A1F068E0E62E61E0F62E57 -:10F4A00000E010E00E9499F8F70181937F010F5F5F -:10F4B0001F4F80910802909109020817190790F3D5 -:10F4C0000E9499F8803209F05ECF80910C0280FF93 -:10F4D000ECC08091060190910701880F991F9093CD -:10F4E000070180930601209108023091090221153D -:10F4F0003105E9F048E0E42E41E0F42E00E010E0B0 -:10F50000F70161917F010E94DCFB809106019091DF -:10F510000701019690930701809306010F5F1F4F2B -:10F5200020910802309109020217130748F384E181 -:10F530000E9467F880E10E9467F8FBCE0E9499F86C -:10F54000809309020E9499F8809308028091060135 -:10F550009091070197FDA3C020910C022D7F20936D -:10F560000C02880F991F90930701809306010E9457 -:10F5700099F8853409F48DC080910C028E7F8093B8 -:10F580000C020E9499F8803209F0D3CE84E10E94E7 -:10F5900067F88091080290910902009709F440C031 -:10F5A00000E010E0809106019091070116C0FC0177 -:10F5B00084910E9467F8809106019091070101965D -:10F5C00090930701809306010F5F1F4F209108025F -:10F5D000309109020217130718F520910C0220FD43 -:10F5E00033C021FFE4CFA0E0B0E080509040AF4FA7 -:10F5F000BF4FABBFFC0187910E9467F8DCCF0E9430 -:10F6000099F8803209F0BFCE84E10E9467F88EE15C -:10F610000E9467F887E90E9467F885E00E9467F812 -:10F6200080E10E9467F885CE83E00E942CF981CEAC -:10F6300082E00E942CF97DCE81E00E942CF979CEE7 -:10F6400080E10E942CF975CE0E94D4FB0E9467F8DD -:10F650008091060190910701019690930701809394 -:10F660000601B2CF0E9499F80E9499F8082F0E94D3 -:10F6700099F8002309F48BC0013009F48CC085E0AF -:10F680000E942CF956CE80910C02816080930C026E -:10F69000FDCE80910C02816080930C0272CF20918C -:10F6A0000C02226020930C025CCF8091070187FD41 -:10F6B00076C010920B0280E08BBF80910601909182 -:10F6C0000701880F991F909307018093060180918D -:10F6D000080280FF09C080910802909109020196FA -:10F6E0009093090280930802F894F999FECF1127AC -:10F6F000E0910601F0910701C8E0D1E08091080295 -:10F7000090910902103091F400915700017001307E -:10F71000D9F303E000935700E8950091570001707A -:10F720000130D9F301E100935700E8950990199051 -:10F730000091570001700130D9F301E000935700A8 -:10F74000E8951395103898F0112700915700017033 -:10F750000130D9F305E000935700E8950091570078 -:10F7600001700130D9F301E100935700E89532961A -:10F77000029709F0C7CF103011F00296E5CF11249F -:10F7800084E10E9467F880E10E9467F8D2CD8EE1A3 -:10F790000E942CF9CECD87E90E942CF9CACDF1E068 -:10F7A000F0930B0281E088CFF999FECF92BD81BD25 -:10F7B000F89A992780B50895262FF999FECF1FBA98 -:10F7C00092BD81BD20BD0FB6F894FA9AF99A0FBE8A -:08F7D00001960895F894FFCFA3 -:02F7D8008000AF -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex deleted file mode 100644 index a897b6755..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex +++ /dev/null @@ -1,130 +0,0 @@ -:020000021000EC -:10F000000C9446F80C9465F80C9465F80C9465F82B -:10F010000C9465F80C9465F80C9465F80C9465F8FC -:10F020000C9465F80C9465F80C9465F80C9465F8EC -:10F030000C9465F80C9465F80C9465F80C9465F8DC -:10F040000C9465F80C9465F80C9465F80C9465F8CC -:10F050000C9465F80C9465F80C9465F80C9465F8BC -:10F060000C9465F80C9465F80C9465F80C9465F8AC -:10F070000C9465F80C9465F80C9465F80C9465F89C -:10F080000C9465F80C9465F80C9465F811241FBE77 -:10F09000CFEFD0E4DEBFCDBF11E0A0E0B1E0E8EDFE -:10F0A000F7EF01E00BBF02C007900D92A230B1074D -:10F0B000D9F712E0A2E0B1E001C01D92AD30B10776 -:10F0C000E1F70E947EF90C94EAFB0C9400F8909111 -:10F0D0000201913019F0923041F008959091C000F2 -:10F0E00095FFFCCF8093C60008959091C80095FFCE -:10F0F000FCCF8093CE0008951F93982F95959595FA -:10F1000095959595905D182F1F701A304CF4105DF1 -:10F11000892F0E9467F8812F0E9467F81F91089538 -:10F12000195A892F0E9467F8812F0E9467F81F9152 -:10F130000895EF92FF920F931F9380910201813007 -:10F1400069F1823031F080E01F910F91FF90EF90D4 -:10F150000895EE24FF2487018091C80087FD17C021 -:10F160000894E11CF11C011D111D81E2E81681EAE1 -:10F17000F80687E0080780E0180770F3E0910401C3 -:10F18000F091050109958091C80087FFE9CF809132 -:10F19000CE001F910F91FF90EF900895EE24FF2471 -:10F1A00087018091C00087FD17C00894E11CF11C05 -:10F1B000011D111D81E2E81681EAF80687E00807C3 -:10F1C00080E0180770F3E0910401F09105010995C2 -:10F1D0008091C00087FFE9CF8091C6001F910F91F9 -:10F1E000FF90EF9008951F930E9499F8182F0E94A6 -:10F1F00067F8113634F410330CF01053812F1F913F -:10F2000008951755812F1F9108951F930E94F3F8B9 -:10F21000182F0E94F3F81295107F810F1F91089507 -:10F2200020910201882339F0213031F0223061F041 -:10F2300081508823C9F708959091C00097FFFCCFB3 -:10F240009091C6008150F5CF9091C80097FFFCCFF8 -:10F250009091CE008150EDCF1F93182F0E9499F806 -:10F26000803281F0809103018F5F809303018530AC -:10F2700011F01F910895E0910401F09105010995A5 -:10F280001F91089584E10E9467F8812F0E9467F81A -:10F2900080E10E9467F8EDCF0E9499F8803271F00A -:10F2A000809103018F5F80930301853009F00895F9 -:10F2B000E0910401F09105010995089584E10E940F -:10F2C00067F880E10E9467F8089515C0289A2FEF2B -:10F2D00030E742E0215030404040E1F700C00000FC -:10F2E00028982FEF30E742E0215030404040E1F7CE -:10F2F00000C000008150882349F70895EF92FF92E3 -:10F300000F931F93CF93DF93000081E0809302015E -:10F3100089E18093C4001092C5001092C00086E07D -:10F320008093C20088E18093C100209A81E00E940E -:10F3300065F90E9499F88033B1F18133B9F18034D5 -:10F3400009F454C0813409F45AC0823409F469C004 -:10F35000853409F46CC0803531F1823521F1813575 -:10F3600011F1853509F469C0863509F471C0843618 -:10F3700009F47AC0843709F4E1C0853709F43FC144 -:10F38000863709F44AC0809103018F5F809303019F -:10F39000853079F6E0910401F091050109950E940C -:10F3A00099F8803351F60E944CF9C3CF0E9499F826 -:10F3B000803249F784E10E9467F881E40E9467F88F -:10F3C00086E50E9467F882E50E9467F880E20E9465 -:10F3D00067F889E40E9467F883E50E9467F880E592 -:10F3E0000E9467F880E10E9467F8A3CF0E9499F815 -:10F3F0008638C8F20E9499F80E944CF99ACF0E9470 -:10F4000099F8803809F414C1813809F415C182389B -:10F4100009F416C1883909F407C180E00E942CF96B -:10F4200088CF84E10E9410F90E944CF982CF85E0D8 -:10F430000E9410F90E944CF97CCF0E9499F88093A9 -:10F4400006010E9499F8809307010E944CF971CF40 -:10F450000E9499F8803309F405C183E00E9410F9F5 -:10F4600080E00E942CF965CF0E9499F880930902F0 -:10F470000E9499F88093080280910C028E7F8093FD -:10F480000C020E9499F8853409F4FDC080910802AD -:10F49000909109020097A1F068E0E62E61E0F62E57 -:10F4A00000E010E00E9499F8F70181937F010F5F5F -:10F4B0001F4F80910802909109020817190790F3D5 -:10F4C0000E9499F8803209F05ECF80910C0280FF93 -:10F4D000ECC08091060190910701880F991F9093CD -:10F4E000070180930601209108023091090221153D -:10F4F0003105E9F048E0E42E41E0F42E00E010E0B0 -:10F50000F70161917F010E94DCFB809106019091DF -:10F510000701019690930701809306010F5F1F4F2B -:10F5200020910802309109020217130748F384E181 -:10F530000E9467F880E10E9467F8FBCE0E9499F86C -:10F54000809309020E9499F8809308028091060135 -:10F550009091070197FDA3C020910C022D7F20936D -:10F560000C02880F991F90930701809306010E9457 -:10F5700099F8853409F48DC080910C028E7F8093B8 -:10F580000C020E9499F8803209F0D3CE84E10E94E7 -:10F5900067F88091080290910902009709F440C031 -:10F5A00000E010E0809106019091070116C0FC0177 -:10F5B00084910E9467F8809106019091070101965D -:10F5C00090930701809306010F5F1F4F209108025F -:10F5D000309109020217130718F520910C0220FD43 -:10F5E00033C021FFE4CFA0E0B0E080509040AF4FA7 -:10F5F000BF4FABBFFC0187910E9467F8DCCF0E9430 -:10F6000099F8803209F0BFCE84E10E9467F88EE15C -:10F610000E9467F887E90E9467F885E00E9467F812 -:10F6200080E10E9467F885CE83E00E942CF981CEAC -:10F6300082E00E942CF97DCE81E00E942CF979CEE7 -:10F6400080E10E942CF975CE0E94D4FB0E9467F8DD -:10F650008091060190910701019690930701809394 -:10F660000601B2CF0E9499F80E9499F8082F0E94D3 -:10F6700099F8002309F48BC0013009F48CC085E0AF -:10F680000E942CF956CE80910C02816080930C026E -:10F69000FDCE80910C02816080930C0272CF20918C -:10F6A0000C02226020930C025CCF8091070187FD41 -:10F6B00076C010920B0280E08BBF80910601909182 -:10F6C0000701880F991F909307018093060180918D -:10F6D000080280FF09C080910802909109020196FA -:10F6E0009093090280930802F894F999FECF1127AC -:10F6F000E0910601F0910701C8E0D1E08091080295 -:10F7000090910902103091F400915700017001307E -:10F71000D9F303E000935700E8950091570001707A -:10F720000130D9F301E100935700E8950990199051 -:10F730000091570001700130D9F301E000935700A8 -:10F74000E8951395103898F0112700915700017033 -:10F750000130D9F305E000935700E8950091570078 -:10F7600001700130D9F301E100935700E89532961A -:10F77000029709F0C7CF103011F00296E5CF11249F -:10F7800084E10E9467F880E10E9467F8D2CD8EE1A3 -:10F790000E942CF9CECD87E90E942CF9CACDF1E068 -:10F7A000F0930B0281E088CFF999FECF92BD81BD25 -:10F7B000F89A992780B50895262FF999FECF1FBA98 -:10F7C00092BD81BD20BD0FB6F894FA9AF99A0FBE8A -:08F7D00001960895F894FFCFA3 -:02F7D8008000AF -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex deleted file mode 100644 index 2678e0727..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex +++ /dev/null @@ -1,126 +0,0 @@ -:10F800000C943E7C0C945B7C0C945B7C0C945B7C39 -:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C -:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC -:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC -:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC -:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC -:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC -:10F870000C945B7C0C945B7C0C945B7C11241FBE11 -:10F88000CFEFD0E1DEBFCDBF11E0A0E0B1E0EAEA0A -:10F89000FFEF02C005900D92A230B107D9F712E038 -:10F8A000A2E0B1E001C01D92AD30B107E1F70E94C6 -:10F8B000747D0C94D37F0C94007C90910201913064 -:10F8C00019F0923041F008959091C00095FFFCCF5F -:10F8D0008093C60008959091C80095FFFCCF809357 -:10F8E000CE0008951F93982F95959595959595958C -:10F8F000905D182F1F701A304CF4105D892F0E94F4 -:10F900005D7C812F0E945D7C1F910895195A892F7B -:10F910000E945D7C812F0E945D7C1F910895EF9273 -:10F92000FF920F931F9380910201813069F1823021 -:10F9300031F080E01F910F91FF90EF900895EE2439 -:10F94000FF2487018091C80087FD17C00894E11C3F -:10F95000F11C011D111D81E4E81682E4F8068FE018 -:10F96000080780E0180770F3E0910401F0910501A9 -:10F9700009958091C80087FFE9CF8091CE001F9143 -:10F980000F91FF90EF900895EE24FF24870180915E -:10F99000C00087FD17C00894E11CF11C011D111D5A -:10F9A00081E4E81682E4F8068FE0080780E0180793 -:10F9B00070F3E0910401F091050109958091C00078 -:10F9C00087FFE9CF8091C6001F910F91FF90EF90C4 -:10F9D00008951F930E948F7C182F0E945D7C113622 -:10F9E00034F410330CF01053812F1F9108951755E4 -:10F9F000812F1F9108951F930E94E97C182F0E9468 -:10FA0000E97C1295107F810F1F91089520910201CA -:10FA1000882339F0213031F0223061F08150882381 -:10FA2000C9F708959091C00097FFFCCF9091C60050 -:10FA30008150F5CF9091C80097FFFCCF9091CE00F8 -:10FA40008150EDCF1F93182F0E948F7C803281F060 -:10FA5000809103018F5F80930301853011F01F9126 -:10FA60000895E0910401F091050109951F91089511 -:10FA700084E10E945D7C812F0E945D7C80E10E9478 -:10FA80005D7CEDCF0E948F7C803271F0809103010C -:10FA90008F5F80930301853009F00895E0910401A0 -:10FAA000F09105010995089584E10E945D7C80E153 -:10FAB0000E945D7C089515C0289A2FEF31EE44E036 -:10FAC000215030404040E1F700C0000028982FEF5F -:10FAD00031EE44E0215030404040E1F700C00000EA -:10FAE0008150882349F70895EF92FF920F931F9357 -:10FAF000CF93DF93000081E08093020180E1809347 -:10FB0000C4001092C5001092C00086E08093C2002D -:10FB100088E18093C100209A81E00E945B7D0E9471 -:10FB20008F7C8033B1F18133B9F1803409F454C052 -:10FB3000813409F45AC0823409F469C0853409F467 -:10FB40006CC0803531F1823521F1813511F1853577 -:10FB500009F469C0863509F471C0843609F47AC0A5 -:10FB6000843709F4E1C0853709F439C1863709F4CF -:10FB70004AC0809103018F5F80930301853079F63D -:10FB8000E0910401F091050109950E948F7C80337A -:10FB900051F60E94427DC3CF0E948F7C803249F78C -:10FBA00084E10E945D7C81E40E945D7C86E50E9488 -:10FBB0005D7C82E50E945D7C80E20E945D7C89E440 -:10FBC0000E945D7C83E50E945D7C80E50E945D7CF7 -:10FBD00080E10E945D7CA3CF0E948F7C8638C8F2B2 -:10FBE0000E948F7C0E94427D9ACF0E948F7C803839 -:10FBF00009F40EC1813809F40FC1823809F410C12B -:10FC0000883909F401C180E00E94227D88CF84E117 -:10FC10000E94067D0E94427D82CF85E00E94067D83 -:10FC20000E94427D7CCF0E948F7C809306010E94BF -:10FC30008F7C809307010E94427D71CF0E948F7C50 -:10FC4000803309F4F1C083E00E94067D80E00E94C9 -:10FC5000227D65CF0E948F7C809309020E948F7C59 -:10FC60008093080280910C028E7F80930C020E9488 -:10FC70008F7C853409F4E9C08091080290910902D3 -:10FC80000097A1F068E0E62E61E0F62E00E010E0BB -:10FC90000E948F7CF70181937F010F5F1F4F80913E -:10FCA0000802909109020817190790F30E948F7CAF -:10FCB000803209F05ECF80910C0280FFE5C0809118 -:10FCC000060190910701880F991F90930701809377 -:10FCD0000601209108023091090221153105E9F051 -:10FCE00048E0E42E41E0F42E00E010E0F7016191DD -:10FCF0007F010E94C57F80910601909107010196C6 -:10FD000090930701809306010F5F1F4F2091080217 -:10FD1000309109020217130748F384E10E945D7CC9 -:10FD200080E10E945D7CFBCE0E948F7C8093090263 -:10FD30000E948F7C809308028091060190910701B8 -:10FD400097FD9CC020910C022D7F20930C02880F00 -:10FD5000991F90930701809306010E948F7C853440 -:10FD600009F486C080910C028E7F80930C020E9461 -:10FD70008F7C803209F0D3CE84E10E945D7C20919B -:10FD800008023091090221153105D1F100E010E09F -:10FD900080910601909107010CC041FF5CC0019663 -:10FDA00090930701809306010F5F1F4F02171307FF -:10FDB00038F540910C0240FFF0CF0E94BD7F0E94B9 -:10FDC0005D7C809106019091070101969093070157 -:10FDD000809306012091080230910902E5CF0E942C -:10FDE0008F7C803209F0C5CE84E10E945D7C8EE17B -:10FDF0000E945D7C86E90E945D7C8AE00E945D7CB9 -:10FE000080E10E945D7C8BCE83E00E94227D87CEC4 -:10FE100082E00E94227D83CE81E00E94227D7FCEFF -:10FE200080E10E94227D7BCE0E948F7C0E948F7C8D -:10FE3000082F0E948F7C002309F497C0013009F439 -:10FE400098C08AE00E94227D6ACE80910C02816077 -:10FE500080930C0211CFFC0184910E945D7C209163 -:10FE6000080230910902809106019091070197CF15 -:10FE700080910C02816080930C0279CF20910C025A -:10FE8000226020930C0263CF80910701880F880BBA -:10FE9000817080930B028091060190910701880F79 -:10FEA000991F90930701809306018091080280FFBB -:10FEB00009C080910802909109020196909309026D -:10FEC00080930802F894F999FECF1127E09106017A -:10FED000F0910701C8E0D1E08091080290910902F9 -:10FEE000103091F40091570001700130D9F303E014 -:10FEF00000935700E8950091570001700130D9F345 -:10FF000001E100935700E89509901990009157007E -:10FF100001700130D9F301E000935700E895139583 -:10FF2000103898F011270091570001700130D9F373 -:10FF300005E000935700E8950091570001700130EB -:10FF4000D9F301E100935700E8953296029709F042 -:10FF5000C7CF103011F00296E5CF112484E10E9442 -:10FF60005D7C80E10E945D7CDACD8EE10E94227D85 -:10FF7000D6CD86E90E94227DD2CDF999FECF92BDE1 -:10FF800081BDF89A992780B50895262FF999FECF5B -:10FF90001FBA92BD81BD20BD0FB6F894FA9AF99AA6 -:0AFFA0000FBE01960895F894FFCFFC -:02FFAA008000D5 -:040000030000F80001 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/Makefile b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/Makefile deleted file mode 100644 index 3f2bb6156..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/atmega/Makefile +++ /dev/null @@ -1,254 +0,0 @@ -# Makefile for ATmegaBOOT -# E.Lins, 18.7.2005 -# $Id$ -# -# Instructions -# -# To make bootloader .hex file: -# make diecimila -# make lilypad -# make ng -# etc... -# -# To burn bootloader .hex file: -# make diecimila_isp -# make lilypad_isp -# make ng_isp -# etc... - -# program name should not be changed... -PROGRAM = ATmegaBOOT_168 - -# enter the parameters for the avrdude isp tool -ISPTOOL = stk500v2 -ISPPORT = usb -ISPSPEED = -b 115200 - -MCU_TARGET = atmega168 -LDSECTION = --section-start=.text=0x3800 - -# the efuse should really be 0xf8; since, however, only the lower -# three bits of that byte are used on the atmega168, avrdude gets -# confused if you specify 1's for the higher bits, see: -# http://tinker.it/now/2007/02/24/the-tale-of-avrdude-atmega168-and-extended-bits-fuses/ -# -# similarly, the lock bits should be 0xff instead of 0x3f (to -# unlock the bootloader section) and 0xcf instead of 0x0f (to -# lock it), but since the high two bits of the lock byte are -# unused, avrdude would get confused. - -ISPFUSES = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ --e -u -U lock:w:0x3f:m -U efuse:w:0x$(EFUSE):m -U hfuse:w:0x$(HFUSE):m -U lfuse:w:0x$(LFUSE):m -ISPFLASH = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ --U flash:w:$(PROGRAM)_$(TARGET).hex -U lock:w:0x0f:m - -STK500 = "C:\Program Files\Atmel\AVR Tools\STK500\Stk500.exe" -STK500-1 = $(STK500) -e -d$(MCU_TARGET) -pf -vf -if$(PROGRAM)_$(TARGET).hex \ --lFF -LFF -f$(HFUSE)$(LFUSE) -EF8 -ms -q -cUSB -I200kHz -s -wt -STK500-2 = $(STK500) -d$(MCU_TARGET) -ms -q -lCF -LCF -cUSB -I200kHz -s -wt - - -OBJ = $(PROGRAM).o -OPTIMIZE = -O2 - -DEFS = -LIBS = - -CC = avr-gcc - -# Override is only needed by avr-lib build system. - -override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS) -override LDFLAGS = -Wl,$(LDSECTION) -#override LDFLAGS = -Wl,-Map,$(PROGRAM).map,$(LDSECTION) - -OBJCOPY = avr-objcopy -OBJDUMP = avr-objdump - -all: - -lilypad: TARGET = lilypad -lilypad: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3' -lilypad: AVR_FREQ = 8000000L -lilypad: $(PROGRAM)_lilypad.hex - -lilypad_isp: lilypad -lilypad_isp: TARGET = lilypad -lilypad_isp: HFUSE = DD -lilypad_isp: LFUSE = E2 -lilypad_isp: EFUSE = 00 -lilypad_isp: isp - -lilypad_resonator: TARGET = lilypad_resonator -lilypad_resonator: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=3' -lilypad_resonator: AVR_FREQ = 8000000L -lilypad_resonator: $(PROGRAM)_lilypad_resonator.hex - -lilypad_resonator_isp: lilypad_resonator -lilypad_resonator_isp: TARGET = lilypad_resonator -lilypad_resonator_isp: HFUSE = DD -lilypad_resonator_isp: LFUSE = C6 -lilypad_resonator_isp: EFUSE = 00 -lilypad_resonator_isp: isp - -pro8: TARGET = pro_8MHz -pro8: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro8: AVR_FREQ = 8000000L -pro8: $(PROGRAM)_pro_8MHz.hex - -pro8_isp: pro8 -pro8_isp: TARGET = pro_8MHz -pro8_isp: HFUSE = DD -pro8_isp: LFUSE = C6 -pro8_isp: EFUSE = 00 -pro8_isp: isp - -pro16: TARGET = pro_16MHz -pro16: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro16: AVR_FREQ = 16000000L -pro16: $(PROGRAM)_pro_16MHz.hex - -pro16_isp: pro16 -pro16_isp: TARGET = pro_16MHz -pro16_isp: HFUSE = DD -pro16_isp: LFUSE = C6 -pro16_isp: EFUSE = 00 -pro16_isp: isp - -pro20: TARGET = pro_20mhz -pro20: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro20: AVR_FREQ = 20000000L -pro20: $(PROGRAM)_pro_20mhz.hex - -pro20_isp: pro20 -pro20_isp: TARGET = pro_20mhz -pro20_isp: HFUSE = DD -pro20_isp: LFUSE = C6 -pro20_isp: EFUSE = 00 -pro20_isp: isp - -diecimila: TARGET = diecimila -diecimila: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -diecimila: AVR_FREQ = 16000000L -diecimila: $(PROGRAM)_diecimila.hex - -diecimila_isp: diecimila -diecimila_isp: TARGET = diecimila -diecimila_isp: HFUSE = DD -diecimila_isp: LFUSE = FF -diecimila_isp: EFUSE = 00 -diecimila_isp: isp - -ng: TARGET = ng -ng: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3' -ng: AVR_FREQ = 16000000L -ng: $(PROGRAM)_ng.hex - -ng_isp: ng -ng_isp: TARGET = ng -ng_isp: HFUSE = DD -ng_isp: LFUSE = FF -ng_isp: EFUSE = 00 -ng_isp: isp - -atmega328: TARGET = atmega328 -atmega328: MCU_TARGET = atmega328p -atmega328: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=57600 -atmega328: AVR_FREQ = 16000000L -atmega328: LDSECTION = --section-start=.text=0x7800 -atmega328: $(PROGRAM)_atmega328.hex - -atmega328_isp: atmega328 -atmega328_isp: TARGET = atmega328 -atmega328_isp: MCU_TARGET = atmega328p -atmega328_isp: HFUSE = DA -atmega328_isp: LFUSE = FF -atmega328_isp: EFUSE = 05 -atmega328_isp: isp - -atmega328_pro8: TARGET = atmega328_pro_8MHz -atmega328_pro8: MCU_TARGET = atmega328p -atmega328_pro8: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=57600 -DDOUBLE_SPEED -atmega328_pro8: AVR_FREQ = 8000000L -atmega328_pro8: LDSECTION = --section-start=.text=0x7800 -atmega328_pro8: $(PROGRAM)_atmega328_pro_8MHz.hex - -atmega328_pro8_isp: atmega328_pro8 -atmega328_pro8_isp: TARGET = atmega328_pro_8MHz -atmega328_pro8_isp: MCU_TARGET = atmega328p -atmega328_pro8_isp: HFUSE = DA -atmega328_pro8_isp: LFUSE = FF -atmega328_pro8_isp: EFUSE = 05 -atmega328_pro8_isp: isp - -mega: TARGET = atmega1280 -mega: MCU_TARGET = atmega1280 -mega: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' -DBAUD_RATE=57600 -mega: AVR_FREQ = 16000000L -mega: LDSECTION = --section-start=.text=0x1F000 -mega: $(PROGRAM)_atmega1280.hex - -mega_isp: mega -mega_isp: TARGET = atmega1280 -mega_isp: MCU_TARGET = atmega1280 -mega_isp: HFUSE = DA -mega_isp: LFUSE = FF -mega_isp: EFUSE = F5 -mega_isp: isp - -atmega1284p: TARGET = atmega1284p -atmega1284p: MCU_TARGET = atmega1284p -atmega1284p: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=57600' -atmega1284p: AVR_FREQ = 16000000L -atmega1284p: LDSECTION = --section-start=.text=0x1F000 -atmega1284p: $(PROGRAM)_atmega1284p.hex - -atmega1284p_8m: TARGET = atmega1284p -atmega1284p_8m: MCU_TARGET = atmega1284p -atmega1284p_8m: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=19200' -atmega1284p_8m: AVR_FREQ = 8000000L -atmega1284p_8m: LDSECTION = --section-start=.text=0x1F000 -atmega1284p_8m: $(PROGRAM)_atmega1284p_8m.hex - -atmega644p: TARGET = atmega644p -atmega644p: MCU_TARGET = atmega644p -atmega644p: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=57600' -atmega644p: AVR_FREQ = 16000000L -atmega644p: LDSECTION = --section-start=.text=0xF800 -atmega644p: $(PROGRAM)_atmega644p.hex - - -atmega1284p_isp: atmega1284p -atmega1284p_isp: TARGET = atmega1284p -atmega1284p_isp: MCU_TARGET = atmega1284p -atmega1284p_isp: HFUSE = DC -atmega1284p_isp: LFUSE = FF -atmega1284p_isp: EFUSE = FD -atmega1284p_isp: isp - -isp: $(TARGET) - $(ISPFUSES) - $(ISPFLASH) - -isp-stk500: $(PROGRAM)_$(TARGET).hex - $(STK500-1) - $(STK500-2) - -%.elf: $(OBJ) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) - -clean: - rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex - -%.lst: %.elf - $(OBJDUMP) -h -S $< > $@ - -%.hex: %.elf - $(OBJCOPY) -j .text -j .data -O ihex $< $@ - -%.srec: %.elf - $(OBJCOPY) -j .text -j .data -O srec $< $@ - -%.bin: %.elf - $(OBJCOPY) -j .text -j .data -O binary $< $@ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BootloaderHID.hex b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BootloaderHID.hex deleted file mode 100644 index 177419b44..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BootloaderHID.hex +++ /dev/null @@ -1,139 +0,0 @@ -:020000021000EC -:10F000004BC0000077C0000075C0000073C0000056 -:10F0100071C000006FC000006DC000006BC0000038 -:10F0200069C0000067C0000028C2000063C0000083 -:10F0300061C000005FC000005DC000005BC0000058 -:10F0400059C0000057C0000055C0000053C0000068 -:10F0500051C000004FC000004DC000004BC0000078 -:10F0600049C0000047C0000045C0000043C0000088 -:10F0700041C000003FC000003DC000003BC0000098 -:10F0800039C0000037C0000035C0000033C00000A8 -:10F0900031C000002FC0000011241FBECFEFD0E20E -:10F0A000DEBFCDBF04B603FE0EC080915401909127 -:10F0B000550182349C4D39F410925501109254013F -:10F0C000E0E0F0E0099511E0A0E0B1E0E8E2F8EF5F -:10F0D00001E00BBF02C007900D92AA34B107D9F727 -:10F0E00021E0AAE4B1E001C01D92A435B207E1F726 -:10F0F00002D098C385CF84B7877F84BF88E10FB6DD -:10F10000F89480936000109260000FBE81E085BF8C -:10F1100082E085BF97D1789480910001882311F017 -:10F1200066D3FACF8091E00081608093E00082E4B2 -:10F130009CED90935501809354012CE088E190E080 -:10F140000FB6F894A895809360000FBE20936000DE -:10F15000FFCF42E361EC81E002C1CF92DF92EF92F8 -:10F16000FF921F93CF93DF9380914C018F77813271 -:10F1700009F075C080914D01893009F070C080910F -:10F18000E800877F8093E8008091E80082FFFCCF51 -:10F190009091F1008091F100492F582F60E070E0CC -:10F1A000B62FA52F942F88274F3F5F4F19F4109249 -:10F1B00000013EC023E0FC01A0935B0020935700B8 -:10F1C000E89507B600FCFDCF20E030E011E040916B -:10F1D000F2005091F300452B09F437C05091F10033 -:10F1E0004091F100C52FD42FA901440F551F6C0188 -:10F1F0007D01C40ED51EE11CF11C0E01F601E0924A -:10F200005B0010935700E89511242F5F3F4F203883 -:10F210003105E9F625E0FC01A0935B00209357003F -:10F22000E89507B600FCFDCF81E180935700E89593 -:10F230008091E8008B778093E800DF91CF911F9158 -:10F24000FF90EF90DF90CF909EC04091E8004B7709 -:10F250004093E8004091E80042FFFCCFBFCFDF9130 -:10F26000CF911F91FF90EF90DF90CF900895913054 -:10F2700049F0923061F0913279F489E090E023E135 -:10F2800031E00EC082E190E023E231E009C082E289 -:10F2900090E021E031E004C085E190E025E331E039 -:10F2A000FA01318320830895209152013091530156 -:10F2B0002617370748F06115710539F42091E800E9 -:10F2C0002E772093E80001C0B901FC0120E0611510 -:10F2D000710591F18EB38823E1F18530E1F18091E0 -:10F2E000E80083FD3AC08091E80082FF06C080916B -:10F2F000E80082FF24C080E008958091E80080FF4C -:10F30000E6CF8091F2009091F3006115710551F004 -:10F310008830910538F421912093F10061507109F2 -:10F320000196F3CF21E0089709F020E08091E800F2 -:10F330008E778093E800CBCF2111CCCFD8CF8EB37E -:10F34000882339F0853039F08091E80083FFCFCFF2 -:10F3500004C082E0089583E0089581E008958F70ED -:10F360008093E900EBEEF0E0808181608083EDEE38 -:10F37000F0E010826093EC0040838091EE00881FE3 -:10F380008827881F089580914C0187FD05C08091D2 -:10F39000E80080FF0DC010C08091E80082FD04C02D -:10F3A0008EB38111F9CF08958091E8008B7707C063 -:10F3B0008EB38111ECCF08958091E8008E77809311 -:10F3C000E80008950F931F93CF93DF9349D050D057 -:10F3D000C8EDD0E088818F778883888180688883B2 -:10F3E00088818F7D8883E7EDF0E08081806880836D -:10F3F00019BC1EBA10924A0100EE10E0F80180819B -:10F400008B7F808388818160888342E060E080E038 -:10F41000A6DFE1EEF0E080818E7F8083E2EEF0E017 -:10F42000808181608083808188608083F801808111 -:10F430008E7F8083888180618883DF91CF911F9147 -:10F440000F910895E8EDF0E080818F7E8083E7EDF5 -:10F45000F0E080818160808381E080934B01B2CFB6 -:10F46000E8EDF0E080818C7F80831092E2000895C7 -:10F470001092DA001092E10008951F920F920FB6D9 -:10F480000F9211240BB60F922F933F934F935F93DC -:10F490006F937F938F939F93AF93BF93EF93FF935C -:10F4A0008091DA0080FF1BC08091D80080FF17C0D8 -:10F4B0008091DA008E7F8093DA008091D90080FFFE -:10F4C0000BC084E189BD86E189BD09B400FEFDCF92 -:10F4D00081E08EBB8BD103C019BC1EBA87D180914D -:10F4E000E10080FF17C08091E20080FF13C080918F -:10F4F000E2008E7F8093E2008091E2008061809341 -:10F50000E2008091D80080628093D80019BC85E029 -:10F510008EBB6CD18091E10084FF2EC08091E2000F -:10F5200084FF2AC084E189BD86E189BD09B400FE5B -:10F53000FDCF8091D8008F7D8093D8008091E1002D -:10F540008F7E8093E1008091E2008F7E8093E200C5 -:10F550008091E20081608093E20080914A018823DB -:10F5600011F084E007C08091E30087FF02C083E0D0 -:10F5700001C081E08EBB3AD18091E10083FF21C0C0 -:10F580008091E20083FF1DC08091E100877F80931E -:10F59000E10082E08EBB10924A018091E1008E7FF3 -:10F5A0008093E1008091E2008E7F8093E200809161 -:10F5B000E20080618093E20042E060E080E0CFDE24 -:10F5C00015D1FF91EF91BF91AF919F918F917F9155 -:10F5D0006F915F914F913F912F910F900BBE0F90C4 -:10F5E0000FBE0F901F9018951F93CF93DF9300D0FD -:10F5F000CDB7DEB7ECE4F1E08091F100819381E0DA -:10F60000E435F807C9F7A9DD8091E80083FFDAC087 -:10F6100090914C0180914D01853009F465C030F422 -:10F62000813059F168F0833041F1CCC0883009F461 -:10F630009CC0893009F4ABC0863009F0C3C075C0E6 -:10F64000903881F0923809F0BDC0809150018F70E0 -:10F650008093E9009091EB0095FB992790F9109227 -:10F66000E90001C090E08091E800877F8093E80086 -:10F670009093F1001092F10083C0292F2D7F09F0A3 -:10F68000A1C0923009F09EC090914E01911126C008 -:10F69000209150012F7009F495C02093E9009091BA -:10F6A000EB0090FF1BC0833021F48091EB0080625F -:10F6B00013C08091EB0080618093EB0081E090E0CB -:10F6C000022E01C0880F0A94EAF78093EA00109294 -:10F6D000EA008091EB0088608093EB001092E900D3 -:10F6E0008091E800877F4FC091116CC010914E014E -:10F6F0001F778091E3008078812B8093E3008091D5 -:10F70000E800877F8093E8003EDE8091E80080FF7C -:10F71000FCCF8091E30080688093E300112311F017 -:10F7200083E001C082E08EBB4DC09058923008F05B -:10F7300049C0AE014F5F5F4F6091500180914E0113 -:10F7400090914F0194DD009709F43CC02091E800AE -:10F75000277F2093E800BC0189819A81A5DD8091F3 -:10F76000E8008B778093E8002DC0903859F58091A0 -:10F77000E800877F8093E80080914A018093F10040 -:10F780008091E8008E778093E800FDDD1BC0911129 -:10F7900019C090914E019230A8F48091E800877FC3 -:10F7A0008093E80090934A01EEDD80914A01811137 -:10F7B00004C08091E30087FF02C084E001C081E0C3 -:10F7C0008EBBC7DC8091E80083FF0AC08091E8000F -:10F7D000877F8093E8008091EB0080628093EB004C -:10F7E0000F900F90DF91CF911F9108950895CF93BF -:10F7F0008EB38823A9F08091E9008F709091EC007E -:10F8000090FF02C090E801C090E0C92FC82B109271 -:10F81000E9008091E80083FDE7DECF70C093E90046 -:08F82000CF910895F894FFCF89 -:10F8280001090222000101008032090400000103DD -:10F8380000000009211101000122150007058103BC -:10F848004000051201100100000008EB03672001C9 -:10F85800000000000106DCFF09FBA10109021500F8 -:0AF8680025FF75089602019102C009 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/Brainwave-646-LUFA.hex b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/Brainwave-646-LUFA.hex deleted file mode 100644 index fed0b591d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/Brainwave-646-LUFA.hex +++ /dev/null @@ -1,239 +0,0 @@ -:020000021000EC -:10F000004BC0000064C0000062C0000060C000008F -:10F010005EC000005CC000005AC0000058C0000084 -:10F0200056C0000054C000006FC4000050C0000073 -:10F030004EC000004CC000004AC0000048C00000A4 -:10F0400046C0000044C0000042C0000040C00000B4 -:10F050003EC000003CC000003AC0000038C00000C4 -:10F0600036C0000034C0000032C0000030C00000D4 -:10F070002EC000002CC000002AC0000028C00000E4 -:10F0800026C0000024C0000022C0000020C00000F4 -:10F090001EC000001CC0000011241FBECFEFD0E135 -:10F0A000DEBFCDBF11E0A0E0B1E0E2E2FEEF02C0C2 -:10F0B00005900D92AC38B107D9F711E0ACE8B1E09A -:10F0C00001C01D92AD39B107E1F7FCD2A8C698CFB7 -:10F0D00084E08093E9000DC08091E8008B778093F5 -:10F0E000E80003C08EB3882359F08091E80082FFC6 -:10F0F000F9CF8091E80085FFEFCF8091F10008956E -:10F1000080E0089593E09093E9009091E80095FDE8 -:10F110000DC09091E8009E779093E80003C09EB3E5 -:10F12000992331F09091E80090FFF9CF8093F1009E -:10F13000089584B7877F84BF88E10FB6F8948093E1 -:10F140006000109260000FBE90E080E80FB6F89467 -:10F1500080936100909361000FBE81E085BF82E0E3 -:10F1600085BFBCC382E061EC42E03ED383E061E84E -:10F1700042E13AD384E060E842E136C380919601EF -:10F180008032B1F0813239F580919501813A19F5DB -:10F190008091E800877F8093E80088E091E067E055 -:10F1A00070E07BD58091E8008B778093E80008952C -:10F1B00080919501813279F48091E800877F809376 -:10F1C000E80088E091E067E070E0C2D58091E80057 -:10F1D0008E778093E80008952F923F924F925F922E -:10F1E0006F927F929F92AF92BF92CF92DF92EF92F7 -:10F1F000FF920F931F93DF93CF930F92CDB7DEB79C -:10F2000084E08093E9008091E80082FF48C2109278 -:10F210008C015EDF182F8C3409F4EEC1803509F4BF -:10F22000EBC1843529F0853429F410920F01E4C133 -:10F230004FDFE2C1843711F484E448C0813611F411 -:10F2400089E503C28134F1F443DF382F330F20E026 -:10F2500079010027F7FC0095102FE0928F01F092C2 -:10F260009001009391011093920132DF90E0880F9A -:10F27000991FAA2797FDA095BA2F8E299F29A02B09 -:10F28000B12BB2C1803711F483E5DFC1833559F466 -:10F2900000E011E0F80181918F0134DFF1E00730E7 -:10F2A0001F07C1F7D3C1863521F481E32BDF80E34B -:10F2B000CCC1833731F482E825DF86E923DF8EE194 -:10F2C000C4C1823631F489E51DDF81E01BDF80E0B7 -:10F2D000BCC18536F9F480E090E0DC0133E025E044 -:10F2E000FC0130935700E89507B600FCFDCF209352 -:10F2F0005700E89507B600FCFDCF8F5F9E4FAF4FDC -:10F30000BF4F8F3E40EF940741E0A40740E0B407B1 -:10F3100039F772C18C3651F4DBDE809599E0E1E07B -:10F32000F0E0082E90935700E89566C1823719F4F3 -:10F33000E1E0F0E00EC0863419F4E0E0F0E009C04E -:10F340008E3419F4E3E0F0E004C0813539F4E2E0F2 -:10F35000F0E089E080935700849177C1833471F4A1 -:10F3600000918F0110919001B3DE90E021E0F8014F -:10F370000C0120935700E89511243EC1833679F49F -:10F3800000918F01109190010160A2DE90E021E0D8 -:10F39000F8010C0120935700E89511241AC18D360D -:10F3A00061F4E0918F01F091900185E08093570026 -:10F3B000E89507B600FCFDCF1FC1823419F08736EF -:10F3C00009F0E9C085DEE82E83DE082F81DEB82E45 -:10F3D0008554823008F038C13E2D20E0202E3324A1 -:10F3E000222A332A173609F054C081E1809357004E -:10F3F000E89510E001E048C0FB2DF63409F5E12F57 -:10F40000F0E080918F0190919001E82BF92B84918D -:10F4100079DE112399F080918F0190919001A09154 -:10F420009101B09192010296A11DB11D80938F01AF -:10F4300090939001A0939101B0939201102721C065 -:10F4400080918F0190919001A0919101B0919201D2 -:10F45000B695A79597958795CCD454DE80918F016A -:10F4600090919001A0919101B09192010296A11DFD -:10F47000B11D80938F0190939001A0939101B0935F -:10F4800092010894210831082114310409F0B4CF05 -:10F49000DDC040908F01509090016090910170907C -:10F4A00092012B2D263409F061C083E0F201809394 -:10F4B0005700E89507B600FCFDCF58C0FB2DF63489 -:10F4C00061F5222331F1E0908F01F090900100DE90 -:10F4D000D82ECC248A2D90E08C299D29F7010C018F -:10F4E00090925700E895112480918F01909190019E -:10F4F000A0919101B09192010296A11DB11D80933E -:10F500008F0190939001A0939101B093920120E01C -:10F5100029C0DEDDA82E21E025C0E0908F01F0900B -:10F520009001009191011091920116950795F79421 -:10F53000E7942983CDDD682FC70163D480918F01C3 -:10F5400090919001A0919101B09192010296A11D1C -:10F55000B11D80938F0190939001A0939101B0937E -:10F560009201298108942108310804C0AA2420E0CE -:10F57000992493942114310409F0A0CFFB2DF63483 -:10F5800009F03AC085E0F20180935700E89507B68C -:10F5900000FCFDCF31C0823551F4E0918F01F09134 -:10F5A000900105911491812FADDD802F4EC08434E0 -:10F5B00029F5E0908F01F090900100919101109158 -:10F5C000920116950795F794E79482DD682FC7019D -:10F5D00018D480918F0190919001A0919101B091E8 -:10F5E00092010296A11DB11D80938F01909390010D -:10F5F000A0939101B09392018DE027C0843611F55C -:10F6000080918F0190919001A0919101B091920110 -:10F61000B695A79597958795ECD374DD80918F016A -:10F6200090919001A0919101B09192010296A11D3B -:10F63000B11D80938F0190939001A0939101B0939D -:10F64000920104C08B3111F08FE35CDD83E0809385 -:10F65000E9009091E8008091E8008E778093E800BF -:10F6600095FF04C010C08EB38823C9F08091E800D4 -:10F6700080FFF9CF8091E8008E778093E80003C087 -:10F680008EB3882361F08091E80080FFF9CF84E099 -:10F690008093E9008091E8008B778093E8000F90D9 -:10F6A000CF91DF911F910F91FF90EF90DF90CF905E -:10F6B000BF90AF909F907F906F905F904F903F90E2 -:10F6C0002F900895EF92FF920F931F93DF93CF93A4 -:10F6D0000F92CDB7DEB784B714BE909160009861E9 -:10F6E000909360001092600010928C0190E0FC01F9 -:10F6F000E270F07081FD0BC0859194912FEF8F3FE8 -:10F70000920729F0E0918D01F0918E01099511DDAC -:10F710006F9A779A789481E010E000E0E0E0F0E002 -:10F72000E590F49025C0898357DD51D30F5F89811F -:10F73000002311F4180F779A011709F477981F3FE7 -:10F7400059F0112351F4813041F080918C018F5F89 -:10F7500080938C0181E001C08FEF90918C019530F6 -:10F7600038F09FEFE9169FEFF90611F010920F01A4 -:10F7700090910F019923B9F68091E0008160809308 -:10F78000E0002CE088E190E00FB6F894A895809313 -:10F7900060000FBE20936000FFCF923049F093309D -:10F7A00061F09130C1F020E030E080E090E017C0DF -:10F7B0002EE330E082E291E012C0882331F4209100 -:10F7C000600130E080E691E00AC02091640130E001 -:10F7D00084E691E004C022E130E080E191E0FA01AA -:10F7E00091838083C90108958093E900EBEEF0E0F6 -:10F7F000808181608083EDEEF0E010826093EC0008 -:10F8000040838091EE00881F8827881F089580918B -:10F81000950187FF11C003C08EB38823B1F080919A -:10F82000E80082FFF9CF8091E8008B778093E800B1 -:10F8300008958EB3882349F08091E80080FFF9CFC6 -:10F840008091E8008E778093E800089550D057D0DB -:10F850008091D800982F9F779093D80080688093EC -:10F86000D80088E189BD89B5826089BD09B400FEF0 -:10F87000FDCF8091D8008F7D8093D8008091D700F4 -:10F8800080688093D7001EBA109293018091E000A7 -:10F890008B7F8093E0008091D80081608093D800B6 -:10F8A00080E060E042E0A0DF8091E1008E7F809305 -:10F8B000E1008091E20081608093E2008091E200AB -:10F8C00088608093E2008091E0008E7F8093E0006A -:10F8D0008091D80080618093D8000895E7EDF0E032 -:10F8E00080818160808381E080939401AFCFE8EDD7 -:10F8F000F0E080818C7F80831092E2000895109266 -:10F90000DA001092E10008951F920F920FB60F9245 -:10F9100011242F933F934F935F936F937F938F9314 -:10F920009F93AF93BF93EF93FF938091DA0080FF93 -:10F9300013C08091D80080FF0FC08091DA008E7FC5 -:10F940008093DA008091D90080FF04C081E08EBBF3 -:10F95000A3D102C01EBAA0D18091E10080FF1CC0DB -:10F960008091E20080FF18C08091E1008E7F80933B -:10F97000E1008091E2008E7F8093E2008091E200BE -:10F9800080618093E2008091D80080628093D800EB -:10F9900019BC85E08EBB80D18091E10084FF2DC031 -:10F9A0008091E20084FF29C088E189BD89B5826029 -:10F9B00089BD09B400FEFDCF8091D8008F7D809372 -:10F9C000D8008091E1008F7E8093E1008091E20079 -:10F9D0008F7E8093E2008091E20081608093E2005C -:10F9E00080919301882321F48091E30087FF02C076 -:10F9F00084E001C081E08EBB4FD18091E10083FFA4 -:10FA000021C08091E20083FF1DC08091E100877FCB -:10FA10008093E10082E08EBB109293018091E1001F -:10FA20008E7F8093E1008091E2008E7F8093E200E0 -:10FA30008091E20080618093E20080E060E042E03B -:10FA4000D3DE2AD18091E10082FF0AC08091E200DA -:10FA500082FF06C08091E1008B7F8093E1001CD182 -:10FA6000FF91EF91BF91AF919F918F917F916F9196 -:10FA70005F914F913F912F910F900FBE0F901F906C -:10FA800018950F931F93DF93CF9300D0CDB7DEB7B8 -:10FA9000E5E9F1E08091F100819381E0ED39F8072B -:10FAA000C9F78091950190919601953009F46BC04A -:10FAB000963040F4913061F1913070F0933009F05C -:10FAC000D5C026C0983009F4A3C0993009F4B2C05B -:10FAD000963009F0CBC07CC0803809F4C8C08238A9 -:10FAE00009F0C4C08091990187708093E9009091DA -:10FAF000EB001092E9008091E800877F8093E80096 -:10FB000081E095FF80E08093F1001092F1008BC0BE -:10FB1000882319F0823009F0A9C08F71823009F072 -:10FB2000A6C080919701882341F520919901277003 -:10FB300009F49DC02093E9008091EB0080FF1DC077 -:10FB400080919601833021F48091EB00806213C094 -:10FB50008091EB0080618093EB0081E090E002C037 -:10FB6000880F991F2A95E2F78093EA001092EA0025 -:10FB70008091EB0088608093EB001092E900809107 -:10FB8000E800877F53C0882309F070C01091970167 -:10FB90001F770FB7F8948091E800877F8093E80083 -:10FBA00036DE8091E80080FFFCCF112311F083E066 -:10FBB00001C082E08EBB8091E3008078812B80932E -:10FBC000E3008091E30080688093E3000FBF4FC0A3 -:10FBD0008058823008F04AC0809197019091980136 -:10FBE00060919901AE014F5F5F4FD7DDBC01009777 -:10FBF00009F43DC08091E800877F8093E800898107 -:10FC00009A814BD08091E8008B778093E8002FC0D9 -:10FC1000803861F58091E800877F8093E8008091CB -:10FC200093018093F1008091E8008E778093E80043 -:10FC3000EEDD1DC08823D1F4909197019230B8F485 -:10FC40008091E800877F8093E80090939301DFDD47 -:10FC500080919301882321F48091E30087FF02C003 -:10FC600084E001C081E08EBB7DDA01C087DA80913B -:10FC7000E80083FF0AC08091EB0080628093EB0074 -:10FC80008091E800877F8093E8000F900F90CF91DC -:10FC9000DF911F910F9108950895282F392FF901B1 -:10FCA00080919B0190919C018617970718F4BC01E5 -:10FCB00020E035C061157105D9F78091E8008E7795 -:10FCC0008093E800F5CF8EB38823F1F18530C1F140 -:10FCD0008091E80083FD36C08091E80082FD2AC053 -:10FCE0008091E80080FF1BC08091F2009091F300AA -:10FCF00006C021912093F10061507040019661157A -:10FD0000710519F088309105A0F321E08830910544 -:10FD100009F020E08091E8008E778093E80061157B -:10FD2000710589F6222379F605C08EB3882361F028 -:10FD3000853061F08091E80082FFF7CF80E0089580 -:10FD400083E0089581E0089582E0089583E00895B6 -:10FD50006115710529F51FC02EB32223A1F12530AD -:10FD600071F12091E80023FD2CC02091E80022FFD2 -:10FD7000F3CFE82FF92F07C08091F1008193CF01D5 -:10FD80006150704041F0CF012091F2003091F300BA -:10FD90002115310589F72091E8002B772093E800A1 -:10FDA00061157105C9F605C08EB3882361F08530F1 -:10FDB00061F08091E80080FFF7CF80E0089583E054 -:10FDC000089581E0089582E0089583E008951F93E7 -:10FDD0008EB3882361F01091E90017701092E9004A -:10FDE0008091E80083FF01C04CDE1093E9001F9171 -:10FDF0000895F999FECF92BD81BDF89A992780B5F3 -:10FE00000895262FF999FECF1FBA92BD81BD20BD5E -:10FE10000FB6F894FA9AF99A0FBE01960895F894DD -:02FE2000FFCF12 -:10FE22004C554641434443000000000000000801D5 -:10FE320012011001020000089A23010001000001D2 -:10FE4200000109023E0002010080320904000001A3 -:10FE52000202010005240010010424020405240604 -:10FE620000010705820308000209040100020A00DA -:10FE720000000705040210000007058302100000BD -:10FE820004030904260341005600520020004300E7 -:10FE920044004300200042006F006F0074006C00B9 -:0CFEA2006F006100640065007200000049 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BrainwavePro-1286-LUFA.hex b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BrainwavePro-1286-LUFA.hex deleted file mode 100644 index 7f88285c5..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/bootloaders/brainwave/BrainwavePro-1286-LUFA.hex +++ /dev/null @@ -1,247 +0,0 @@ -:020000021000EC -:10F000004BC0000066C0000064C0000062C0000089 -:10F0100060C000005EC000005CC000005AC000007C -:10F0200058C0000056C00000ACC4000052C0000030 -:10F0300050C000004EC000004CC000004AC000009C -:10F0400048C0000046C0000044C0000042C00000AC -:10F0500040C000003EC000003CC000003AC00000BC -:10F0600038C0000036C0000034C0000032C00000CC -:10F0700030C000002EC000002CC000002AC00000DC -:10F0800028C0000026C0000024C0000022C00000EC -:10F0900020C000001EC0000011241FBECFEFD0E230 -:10F0A000DEBFCDBF11E0A0E0B1E0E4EAFEEF01E099 -:10F0B0000BBF02C007900D92AC38B107D9F711E031 -:10F0C000ACE8B1E001C01D92AD39B107E1F72FD333 -:10F0D000E7C696CF84E08093E9000DC08091E800F8 -:10F0E0008B778093E80003C08EB3882359F080911A -:10F0F000E80082FFF9CF8091E80085FFEFCF809193 -:10F10000F100089580E0089593E09093E9009091D4 -:10F11000E80095FD0DC09091E8009E779093E8007F -:10F1200003C09EB3992331F09091E80090FFF9CF8E -:10F130008093F100089584B7877F84BF88E10FB67C -:10F14000F89480936000109260000FBE90E080E819 -:10F150000FB6F89480936100909361000FBE81E038 -:10F1600085BF82E085BFF7C382E061EC42E079D3DE -:10F1700083E061E842E175D384E060E842E171C375 -:10F18000809196018032B1F0813239F580919501FC -:10F19000813A19F58091E800877F8093E80088E044 -:10F1A00091E067E070E0BAD58091E8008B778093BA -:10F1B000E800089580919501813279F48091E8000A -:10F1C000877F8093E80088E091E067E070E001D6F7 -:10F1D0008091E8008E778093E80008952F923F9207 -:10F1E0005F926F927F928F929F92AF92BF92CF92D7 -:10F1F000DF92EF92FF920F931F93DF93CF930F92C3 -:10F20000CDB7DEB784E08093E9008091E80082FF0B -:10F210007BC210928C015EDF182F8C3409F421C25E -:10F22000803509F41EC2843529F0853429F4109202 -:10F230000F0117C24FDF15C2843711F484E448C0B0 -:10F24000813611F489E536C28134F1F443DF382F79 -:10F25000330F20E079010027F7FC0095102FE09292 -:10F260008F01F0929001009391011093920132DF8F -:10F2700090E0880F991FAA2797FDA095BA2F8E2995 -:10F280009F29A02BB12BE5C1803711F483E512C271 -:10F29000833559F400E011E0D8018D918D0134DF00 -:10F2A000B1E007301B07C1F706C2863521F481E3C0 -:10F2B0002BDF80E3FFC1833731F482E825DF87E964 -:10F2C00023DF8EE1F7C1823631F489E51DDF81E06D -:10F2D0001BDF80E0EFC1853621F580E090E0DC01A6 -:10F2E00033E025E0FC01A0935B0030935700E895E4 -:10F2F00007B600FCFDCFFC01A0935B0020935700F4 -:10F30000E89507B600FCFDCF8F5F9E4FAF4FBF4F14 -:10F310008F3EE0EF9E07E1E0AE07E0E0BE0711F7A9 -:10F32000A0C18C3651F4D6DE809599E0E1E0F0E0A2 -:10F33000082E90935700E89594C1823719F4E1E0C4 -:10F34000F0E00EC0863419F4E0E0F0E009C08E343D -:10F3500019F4E3E0F0E004C0813539F4E2E0F0E0D4 -:10F3600089E0809357008491A5C18334A1F4E09093 -:10F370008F01F09090010091910110919201AADE0D -:10F3800090E021E00C01F70100935B00209357000F -:10F39000E895112466C18336E1F4E0908F01F09086 -:10F3A0009001009191011091920181E090E0A0E024 -:10F3B000B0E0E82AF92A0A2B1B2B8CDE90E021E032 -:10F3C0000C01F70100935B0020935700E89511248E -:10F3D00035C18D3699F480918F0190919001A09163 -:10F3E0009101B091920125E0FC01A0935B00209374 -:10F3F0005700E89507B600FCFDCF33C1823419F001 -:10F40000873609F0F7C066DEE82E64DE082F62DE7C -:10F41000982E8554823008F04CC13E2D20E0202EDD -:10F420003324222A332A173609F058C081E1809309 -:10F430005700E89510E001E04CC020918F01309119 -:10F4400090014091910150919201992D963419F5B6 -:10F45000812F90E0A0E0B0E0822B932BA42BB52B62 -:10F46000ABBFFC01879150DE112399F080918F0191 -:10F4700090919001A0919101B09192010296A11DED -:10F48000B11D80938F0190939001A0939101B0934F -:10F49000920110271BC0DA01C901B695A79597956F -:10F4A0008795E8D431DE80918F0190919001A091F1 -:10F4B0009101B09192010296A11DB11D80938F011F -:10F4C00090939001A0939101B09392010894210828 -:10F4D00031082114310409F0B0CFEDC0A0908F01A4 -:10F4E000B0909001C0909101D0909201A92DA634C6 -:10F4F00009F069C083E0F501C0925B00809357007A -:10F50000E89507B600FCFDCF5EC0B92DB63491F585 -:10F51000222361F1E0908F01F09090010091910120 -:10F5200010919201D7DD782E6624282D30E026290F -:10F5300037290901F70100935B0050925700E895C5 -:10F54000112480918F0190919001A0919101B0912F -:10F5500092010296A11DB11D80938F01909390019D -:10F56000A0939101B093920120E029C0B3DD882ED1 -:10F5700021E025C0E0908F01F09090010091910171 -:10F580001091920116950795F794E7942983A2DDCF -:10F59000682FC70177D480918F0190919001A0913D -:10F5A0009101B09192010296A11DB11D80938F012E -:10F5B00090939001A0939101B093920129810894B6 -:10F5C0002108310804C0882420E0552453942114D4 -:10F5D000310409F09ACFE92DE63409F042C085E004 -:10F5E000F501C0925B0080935700E89507B600FCD8 -:10F5F000FDCF37C0823581F480918F0190919001C9 -:10F60000A0919101B0919201ABBFFC0107911691BD -:10F61000812F7ADD802F4EC0843429F5E0908F0150 -:10F62000F09090010091910110919201169507952B -:10F63000F794E7944FDD682FC70124D480918F01A0 -:10F6400090919001A0919101B09192010296A11D1B -:10F65000B11D80938F0190939001A0939101B0937D -:10F6600092018DE027C0843611F580918F01909131 -:10F670009001A0919101B0919201B695A7959795AF -:10F680008795F8D341DD80918F0190919001A091F1 -:10F690009101B09192010296A11DB11D80938F013D -:10F6A00090939001A0939101B093920104C08B318B -:10F6B00011F08FE329DD83E08093E9009091E80069 -:10F6C0008091E8008E778093E80095FF04C010C019 -:10F6D0008EB38823C9F08091E80080FFF9CF809134 -:10F6E000E8008E778093E80003C08EB3882361F032 -:10F6F0008091E80080FFF9CF84E08093E900809159 -:10F70000E8008B778093E8000F90CF91DF911F91F5 -:10F710000F91FF90EF90DF90CF90BF90AF909F90B0 -:10F720008F907F906F905F903F902F900895EF9211 -:10F73000FF920F931F93DF93CF930F92CDB7DEB756 -:10F7400084B714BE9091600098619093600010920D -:10F75000600010928C0190E0FC01E270F07081FD7D -:10F760000BC0859194912FEF8F3F920729F0E09184 -:10F770008D01F0918E010995209A289A6F9A779AB7 -:10F780006D9A759A3B9A439AD6DC6F9A779A7894D9 -:10F7900081E010E000E0E0E0F0E0E590F49025C0CA -:10F7A00089831CDD55D30F5F8981002311F4180F65 -:10F7B000779A011709F477981F3F59F0112351F4F4 -:10F7C000813041F080918C018F5F80938C0181E0CA -:10F7D00001C08FEF90918C01923338F09FEFE916C2 -:10F7E0009FEFF90611F010920F0190910F019923EC -:10F7F000B9F68091E00081608093E0002CE088E120 -:10F8000090E00FB6F894A895809360000FBE209307 -:10F810006000FFCF923049F0933061F09130C1F039 -:10F8200020E030E080E090E017C02EE330E082E29C -:10F8300091E012C0882331F42091600130E080E62D -:10F8400091E00AC02091640130E084E691E004C0B8 -:10F8500022E130E080E191E0FA0191838083C901E7 -:10F8600008958093E900EBEEF0E080818160808371 -:10F87000EDEEF0E010826093EC0040838091EE00AA -:10F88000881F8827881F08958091950187FF11C0E0 -:10F8900003C08EB38823B1F08091E80082FFF9CFD6 -:10F8A0008091E8008B778093E80008958EB38823D9 -:10F8B00049F08091E80080FFF9CF8091E8008E77D1 -:10F8C0008093E800089550D057D08091D800982FA9 -:10F8D0009F779093D80080688093D80084E189BD99 -:10F8E00089B5826089BD09B400FEFDCF8091D80042 -:10F8F0008F7D8093D8008091D70080688093D70057 -:10F900001EBA109293018091E0008B7F8093E000FB -:10F910008091D80081608093D80080E060E042E070 -:10F92000A0DF8091E1008E7F8093E1008091E20072 -:10F9300081608093E2008091E20088608093E20021 -:10F940008091E0008E7F8093E0008091D8008061FC -:10F950008093D8000895E7EDF0E080818160808396 -:10F9600081E080939401AFCFE8EDF0E080818C7F5F -:10F9700080831092E20008951092DA001092E10064 -:10F9800008951F920F920FB60F920BB60F9211248B -:10F990002F933F934F935F936F937F938F939F9397 -:10F9A000AF93BF93EF93FF938091DA0080FF13C072 -:10F9B0008091D80080FF0FC08091DA008E7F809305 -:10F9C000DA008091D90080FF04C081E08EBBA5D110 -:10F9D00002C01EBAA2D18091E10080FF1CC08091BC -:10F9E000E20080FF18C08091E1008E7F8093E100EB -:10F9F0008091E2008E7F8093E2008091E20080613E -:10FA00008093E2008091D80080628093D80019BC76 -:10FA100085E08EBB82D18091E10084FF2DC0809172 -:10FA2000E20084FF29C084E189BD89B5826089BD77 -:10FA300009B400FEFDCF8091D8008F7D8093D8005F -:10FA40008091E1008F7E8093E1008091E2008F7EC3 -:10FA50008093E2008091E20081608093E2008091D7 -:10FA60009301882321F48091E30087FF02C084E0A2 -:10FA700001C081E08EBB51D18091E10083FF21C0A4 -:10FA80008091E20083FF1DC08091E100877F809319 -:10FA9000E10082E08EBB109293018091E1008E7FA5 -:10FAA0008093E1008091E2008E7F8093E20080915C -:10FAB000E20080618093E20080E060E042E0D1DE1D -:10FAC0002CD18091E10082FF0AC08091E20082FF88 -:10FAD00006C08091E1008B7F8093E1001ED1FF91F1 -:10FAE000EF91BF91AF919F918F917F916F915F91B6 -:10FAF0004F913F912F910F900BBE0F900FBE0F9023 -:10FB00001F9018950F931F93DF93CF9300D0CDB71D -:10FB1000DEB7E5E9F1E08091F100819381E0ED3914 -:10FB2000F807C9F78091950190919601953009F4F5 -:10FB30006BC0963040F4913061F1913070F09330A9 -:10FB400009F0D5C026C0983009F4A3C0993009F453 -:10FB5000B2C0963009F0CBC07CC0803809F4C8C070 -:10FB6000823809F0C4C08091990187708093E900C0 -:10FB70009091EB001092E9008091E800877F8093DC -:10FB8000E80081E095FF80E08093F1001092F100A1 -:10FB90008BC0882319F0823009F0A9C08F718230A0 -:10FBA00009F0A6C080919701882341F52091990121 -:10FBB000277009F49DC02093E9008091EB0080FF3D -:10FBC0001DC080919601833021F48091EB0080620A -:10FBD00013C08091EB0080618093EB0081E090E0A6 -:10FBE00002C0880F991F2A95E2F78093EA001092CD -:10FBF000EA008091EB0088608093EB001092E900AE -:10FC00008091E800877F53C0882309F070C010916D -:10FC100097011F770FB7F8948091E800877F809352 -:10FC2000E80032DE8091E80080FFFCCF112311F064 -:10FC300083E001C082E08EBB8091E3008078812B5D -:10FC40008093E3008091E30080688093E3000FBF1E -:10FC50004FC08058823008F04AC08091970190913F -:10FC6000980160919901AE014F5F5F4FD3DDBC01F8 -:10FC7000009709F43DC08091E800877F8093E800F9 -:10FC800089819A814BD08091E8008B778093E8003E -:10FC90002FC0803861F58091E800877F8093E8006D -:10FCA000809193018093F1008091E8008E7780939A -:10FCB000E800EADD1DC08823D1F4909197019230CD -:10FCC000B8F48091E800877F8093E80090939301D7 -:10FCD000DBDD80919301882321F48091E30087FF8D -:10FCE00002C084E001C081E08EBB3EDA01C048DA88 -:10FCF0008091E80083FF0AC08091EB0080628093CE -:10FD0000EB008091E800877F8093E8000F900F90D0 -:10FD1000CF91DF911F910F9108950895282F392FCA -:10FD2000F90180919B0190919C018617970718F427 -:10FD3000BC0120E035C061157105D9F78091E8005C -:10FD40008E778093E800F5CF8EB38823F1F185306C -:10FD5000C1F18091E80083FD36C08091E80082FD0A -:10FD60002AC08091E80080FF1BC08091F200909132 -:10FD7000F30006C021912093F1006150704001967C -:10FD80006115710519F088309105A0F321E08830E4 -:10FD9000910509F020E08091E8008E778093E800DB -:10FDA0006115710589F6222379F605C08EB3882383 -:10FDB00061F0853061F08091E80082FFF7CF80E04C -:10FDC000089583E0089581E0089582E0089583E036 -:10FDD00008956115710529F51FC02EB32223A1F1E5 -:10FDE000253071F12091E80023FD2CC02091E8001E -:10FDF00022FFF3CFE82FF92F07C08091F100819304 -:10FE0000CF016150704041F0CF012091F20030915C -:10FE1000F3002115310589F72091E8002B77209315 -:10FE2000E80061157105C9F605C08EB3882361F03D -:10FE3000853061F08091E80080FFF7CF80E0089581 -:10FE400083E0089581E0089582E0089583E00895B5 -:10FE50001F938EB3882361F01091E9001770109200 -:10FE6000E9008091E80083FF01C04CDE1093E900B7 -:10FE70001F910895F999FECF92BD81BDF89A9927F7 -:10FE800080B50895262FF999FECF1FBA92BD81BD86 -:10FE900020BD0FB6F894FA9AF99A0FBE019608950C -:04FEA000F894FFCF04 -:10FEA4004C55464143444300000000000000080153 -:10FEB40012011001020000089A2301000100000150 -:10FEC400000109023E000201008032090400000121 -:10FED4000202010005240010010424020405240682 -:10FEE40000010705820308000209040100020A0058 -:10FEF400000007050402100000070583021000003B -:10FF04000403090426034100560052002000430064 -:10FF140044004300200042006F006F0074006C0036 -:0CFF24006F0061006400650072000000C6 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Arduino.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Arduino.h deleted file mode 100644 index 830c9952f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Arduino.h +++ /dev/null @@ -1,215 +0,0 @@ -#ifndef Arduino_h -#define Arduino_h - -#include -#include -#include - -#include -#include -#include - -#include "binary.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#define HIGH 0x1 -#define LOW 0x0 - -#define INPUT 0x0 -#define OUTPUT 0x1 -#define INPUT_PULLUP 0x2 - -#define true 0x1 -#define false 0x0 - -#define PI 3.1415926535897932384626433832795 -#define HALF_PI 1.5707963267948966192313216916398 -#define TWO_PI 6.283185307179586476925286766559 -#define DEG_TO_RAD 0.017453292519943295769236907684886 -#define RAD_TO_DEG 57.295779513082320876798154814105 - -#define SERIAL 0x0 -#define DISPLAY 0x1 - -#define LSBFIRST 0 -#define MSBFIRST 1 - -#define CHANGE 1 -#define FALLING 2 -#define RISING 3 - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) -#define DEFAULT 0 -#define EXTERNAL 1 -#define INTERNAL 2 -#else -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__) -#define INTERNAL1V1 2 -#define INTERNAL2V56 3 -#else -#define INTERNAL 3 -#endif -#define DEFAULT 1 -#define EXTERNAL 0 -#endif - -// undefine stdlib's abs if encountered -#ifdef abs -#undef abs -#endif - -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) -#define abs(x) ((x)>0?(x):-(x)) -#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) -#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define sq(x) ((x)*(x)) - -#define interrupts() sei() -#define noInterrupts() cli() - -#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) -#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) -#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) - -#define lowByte(w) ((uint8_t) ((w) & 0xff)) -#define highByte(w) ((uint8_t) ((w) >> 8)) - -#define bitRead(value, bit) (((value) >> (bit)) & 0x01) -#define bitSet(value, bit) ((value) |= (1UL << (bit))) -#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) -#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) - - -typedef unsigned int word; - -#define bit(b) (1UL << (b)) - -typedef uint8_t boolean; -typedef uint8_t byte; - -void init(void); - -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -int digitalRead(uint8_t); -int analogRead(uint8_t); -void analogReference(uint8_t mode); -void analogWrite(uint8_t, int); - -unsigned long millis(void); -unsigned long micros(void); -void delay(unsigned long); -void delayMicroseconds(unsigned int us); -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout); - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); - -void attachInterrupt(uint8_t, void (*)(void), int mode); -void detachInterrupt(uint8_t); - -void setup(void); -void loop(void); - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. - -#define analogInPinToBit(P) (P) - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -extern const uint16_t PROGMEM port_to_mode_PGM[]; -extern const uint16_t PROGMEM port_to_input_PGM[]; -extern const uint16_t PROGMEM port_to_output_PGM[]; - -extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. -// -// These perform slightly better as macros compared to inline functions -// -#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) ) -#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) ) -#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) ) -#define analogInPinToBit(P) (P) -#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) ) -#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) ) -#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) ) - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#ifdef ARDUINO_MAIN -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 -#endif - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER4D 14 -#define TIMER5A 15 -#define TIMER5B 16 -#define TIMER5C 17 - -#ifdef __cplusplus -} // extern "C" -#endif - -#ifdef __cplusplus -#include "WCharacter.h" -#include "WString.h" -#include "HardwareSerial.h" - -uint16_t makeWord(uint16_t w); -uint16_t makeWord(byte h, byte l); - -#define word(...) makeWord(__VA_ARGS__) - -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L); - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0); -void noTone(uint8_t _pin); - -// WMath prototypes -long random(long); -long random(long, long); -void randomSeed(unsigned int); -long map(long, long, long, long, long); - -#endif - -#include "pins_arduino.h" - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/CDC.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/CDC.cpp deleted file mode 100644 index 5a49621cf..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/CDC.cpp +++ /dev/null @@ -1,236 +0,0 @@ -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include - -#if defined(USBCON) -#ifdef CDC_ENABLED - -#if (RAMEND < 1000) -#define SERIAL_BUFFER_SIZE 16 -#else -// Use a 128 byte buffer like Arduinos of old for maximum -// compatibility. -Hubbe 20120929 -#define SERIAL_BUFFER_SIZE 128 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile int head; - volatile int tail; -}; - -ring_buffer cdc_rx_buffer = { { 0 }, 0, 0}; - -typedef struct -{ - u32 dwDTERate; - u8 bCharFormat; - u8 bParityType; - u8 bDataBits; - u8 lineState; -} LineInfo; - -static volatile LineInfo _usbLineInfo = { 57600, 0x00, 0x00, 0x00, 0x00 }; - -#define WEAK __attribute__ ((weak)) - -extern const CDCDescriptor _cdcInterface PROGMEM; -const CDCDescriptor _cdcInterface = -{ - D_IAD(0,2,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,1), - - // CDC communication interface - D_INTERFACE(CDC_ACM_INTERFACE,1,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,0), - D_CDCCS(CDC_HEADER,0x10,0x01), // Header (1.10 bcd) - D_CDCCS(CDC_CALL_MANAGEMENT,1,1), // Device handles call management (not) - D_CDCCS4(CDC_ABSTRACT_CONTROL_MANAGEMENT,6), // SET_LINE_CODING, GET_LINE_CODING, SET_CONTROL_LINE_STATE supported - D_CDCCS(CDC_UNION,CDC_ACM_INTERFACE,CDC_DATA_INTERFACE), // Communication interface is master, data interface is slave 0 - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_ACM),USB_ENDPOINT_TYPE_INTERRUPT,0x10,0x40), - - // CDC data interface - D_INTERFACE(CDC_DATA_INTERFACE,2,CDC_DATA_INTERFACE_CLASS,0,0), - D_ENDPOINT(USB_ENDPOINT_OUT(CDC_ENDPOINT_OUT),USB_ENDPOINT_TYPE_BULK,0x40,0), - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_IN ),USB_ENDPOINT_TYPE_BULK,0x40,0) -}; - -int WEAK CDC_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 2; // uses 2 - return USB_SendControl(TRANSFER_PGM,&_cdcInterface,sizeof(_cdcInterface)); -} - -bool WEAK CDC_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (CDC_GET_LINE_CODING == r) - { - USB_SendControl(0,(void*)&_usbLineInfo,7); - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (CDC_SET_LINE_CODING == r) - { - USB_RecvControl((void*)&_usbLineInfo,7); - return true; - } - - if (CDC_SET_CONTROL_LINE_STATE == r) - { - _usbLineInfo.lineState = setup.wValueL; - - // auto-reset into the bootloader is triggered when the port, already - // open at 1200 bps, is closed. this is the signal to start the watchdog - // with a relatively long period so it can finish housekeeping tasks - // like servicing endpoints before the sketch ends - if (1200 == _usbLineInfo.dwDTERate) { - // We check DTR state to determine if host port is open (bit 0 of lineState). - if ((_usbLineInfo.lineState & 0x01) == 0) { - *(uint16_t *)0x0800 = 0x7777; - wdt_enable(WDTO_120MS); - } else { - // Most OSs do some intermediate steps when configuring ports and DTR can - // twiggle more than once before stabilizing. - // To avoid spurious resets we set the watchdog to 250ms and eventually - // cancel if DTR goes back high. - - wdt_disable(); - wdt_reset(); - *(uint16_t *)0x0800 = 0x0; - } - } - return true; - } - } - return false; -} - - -int _serialPeek = -1; -void Serial_::begin(uint16_t baud_count) -{ -} - -void Serial_::end(void) -{ -} - -void Serial_::accept(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - int c = USB_Recv(CDC_RX); - int i = (unsigned int)(buffer->head+1) % SERIAL_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 != buffer->tail) { - buffer->buffer[buffer->head] = c; - buffer->head = i; - } -} - -int Serial_::available(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - return (unsigned int)(SERIAL_BUFFER_SIZE + buffer->head - buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int Serial_::peek(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - if (buffer->head == buffer->tail) { - return -1; - } else { - return buffer->buffer[buffer->tail]; - } -} - -int Serial_::read(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - // if the head isn't ahead of the tail, we don't have any characters - if (buffer->head == buffer->tail) { - return -1; - } else { - unsigned char c = buffer->buffer[buffer->tail]; - buffer->tail = (unsigned int)(buffer->tail + 1) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void Serial_::flush(void) -{ - USB_Flush(CDC_TX); -} - -size_t Serial_::write(uint8_t c) -{ - /* only try to send bytes if the high-level CDC connection itself - is open (not just the pipe) - the OS should set lineState when the port - is opened and clear lineState when the port is closed. - bytes sent before the user opens the connection or after - the connection is closed are lost - just like with a UART. */ - - // TODO - ZE - check behavior on different OSes and test what happens if an - // open connection isn't broken cleanly (cable is yanked out, host dies - // or locks up, or host virtual serial port hangs) - - /* Actually, let's ignore the line state for now since repetierHost - doens't work if we don't ignore it. -Hubbe 20120929 */ - /* if (_usbLineInfo.lineState > 0) */ { - int r = USB_Send(CDC_TX,&c,1); - if (r > 0) { - return r; - } else { - setWriteError(); - return 0; - } - } - setWriteError(); - return 0; -} - -// This operator is a convenient way for a sketch to check whether the -// port has actually been configured and opened by the host (as opposed -// to just being connected to the host). It can be used, for example, in -// setup() before printing to ensure that an application on the host is -// actually ready to receive and display the data. -// We add a short delay before returning to fix a bug observed by Federico -// where the port is configured (lineState != 0) but not quite opened. -Serial_::operator bool() { - bool result = false; - if (_usbLineInfo.lineState > 0) - result = true; - delay(10); - return result; -} - -Serial_ Serial; - -#endif -#endif /* if defined(USBCON) */ diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Client.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Client.h deleted file mode 100644 index ea134838a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Client.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef client_h -#define client_h -#include "Print.h" -#include "Stream.h" -#include "IPAddress.h" - -class Client : public Stream { - -public: - virtual int connect(IPAddress ip, uint16_t port) =0; - virtual int connect(const char *host, uint16_t port) =0; - virtual size_t write(uint8_t) =0; - virtual size_t write(const uint8_t *buf, size_t size) =0; - virtual int available() = 0; - virtual int read() = 0; - virtual int read(uint8_t *buf, size_t size) = 0; - virtual int peek() = 0; - virtual void flush() = 0; - virtual void stop() = 0; - virtual uint8_t connected() = 0; - virtual operator bool() = 0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HID.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HID.cpp deleted file mode 100644 index ac6360844..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HID.cpp +++ /dev/null @@ -1,520 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) -#ifdef HID_ENABLED - -//#define RAWHID_ENABLED - -// Singletons for mouse and keyboard - -Mouse_ Mouse; -Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ - -// HID report descriptor - -#define LSB(_x) ((_x) & 0xFF) -#define MSB(_x) ((_x) >> 8) - -#define RAWHID_USAGE_PAGE 0xFFC0 -#define RAWHID_USAGE 0x0C00 -#define RAWHID_TX_SIZE 64 -#define RAWHID_RX_SIZE 64 - -extern const u8 _hidReportDescriptor[] PROGMEM; -const u8 _hidReportDescriptor[] = { - - // Mouse - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 54 - 0x09, 0x02, // USAGE (Mouse) - 0xa1, 0x01, // COLLECTION (Application) - 0x09, 0x01, // USAGE (Pointer) - 0xa1, 0x00, // COLLECTION (Physical) - 0x85, 0x01, // REPORT_ID (1) - 0x05, 0x09, // USAGE_PAGE (Button) - 0x19, 0x01, // USAGE_MINIMUM (Button 1) - 0x29, 0x03, // USAGE_MAXIMUM (Button 3) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x95, 0x03, // REPORT_COUNT (3) - 0x75, 0x01, // REPORT_SIZE (1) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x05, // REPORT_SIZE (5) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) - 0x09, 0x30, // USAGE (X) - 0x09, 0x31, // USAGE (Y) - 0x09, 0x38, // USAGE (Wheel) - 0x15, 0x81, // LOGICAL_MINIMUM (-127) - 0x25, 0x7f, // LOGICAL_MAXIMUM (127) - 0x75, 0x08, // REPORT_SIZE (8) - 0x95, 0x03, // REPORT_COUNT (3) - 0x81, 0x06, // INPUT (Data,Var,Rel) - 0xc0, // END_COLLECTION - 0xc0, // END_COLLECTION - - // Keyboard - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 47 - 0x09, 0x06, // USAGE (Keyboard) - 0xa1, 0x01, // COLLECTION (Application) - 0x85, 0x02, // REPORT_ID (2) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl) - 0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x75, 0x01, // REPORT_SIZE (1) - - 0x95, 0x08, // REPORT_COUNT (8) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x08, // REPORT_SIZE (8) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - - 0x95, 0x06, // REPORT_COUNT (6) - 0x75, 0x08, // REPORT_SIZE (8) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x65, // LOGICAL_MAXIMUM (101) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) - 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) - 0x81, 0x00, // INPUT (Data,Ary,Abs) - 0xc0, // END_COLLECTION - -#if RAWHID_ENABLED - // RAW HID - 0x06, LSB(RAWHID_USAGE_PAGE), MSB(RAWHID_USAGE_PAGE), // 30 - 0x0A, LSB(RAWHID_USAGE), MSB(RAWHID_USAGE), - - 0xA1, 0x01, // Collection 0x01 - 0x85, 0x03, // REPORT_ID (3) - 0x75, 0x08, // report size = 8 bits - 0x15, 0x00, // logical minimum = 0 - 0x26, 0xFF, 0x00, // logical maximum = 255 - - 0x95, 64, // report count TX - 0x09, 0x01, // usage - 0x81, 0x02, // Input (array) - - 0x95, 64, // report count RX - 0x09, 0x02, // usage - 0x91, 0x02, // Output (array) - 0xC0 // end collection -#endif -}; - -extern const HIDDescriptor _hidInterface PROGMEM; -const HIDDescriptor _hidInterface = -{ - D_INTERFACE(HID_INTERFACE,1,3,0,0), - D_HIDREPORT(sizeof(_hidReportDescriptor)), - D_ENDPOINT(USB_ENDPOINT_IN (HID_ENDPOINT_INT),USB_ENDPOINT_TYPE_INTERRUPT,0x40,0x01) -}; - -//================================================================================ -//================================================================================ -// Driver - -u8 _hid_protocol = 1; -u8 _hid_idle = 1; - -#define WEAK __attribute__ ((weak)) - -int WEAK HID_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 1; // uses 1 - return USB_SendControl(TRANSFER_PGM,&_hidInterface,sizeof(_hidInterface)); -} - -int WEAK HID_GetDescriptor(int i) -{ - return USB_SendControl(TRANSFER_PGM,_hidReportDescriptor,sizeof(_hidReportDescriptor)); -} - -void WEAK HID_SendReport(u8 id, const void* data, int len) -{ - USB_Send(HID_TX, &id, 1); - USB_Send(HID_TX | TRANSFER_RELEASE,data,len); -} - -bool WEAK HID_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (HID_GET_REPORT == r) - { - //HID_GetReport(); - return true; - } - if (HID_GET_PROTOCOL == r) - { - //Send8(_hid_protocol); // TODO - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (HID_SET_PROTOCOL == r) - { - _hid_protocol = setup.wValueL; - return true; - } - - if (HID_SET_IDLE == r) - { - _hid_idle = setup.wValueL; - return true; - } - } - return false; -} - -//================================================================================ -//================================================================================ -// Mouse - -Mouse_::Mouse_(void) : _buttons(0) -{ -} - -void Mouse_::begin(void) -{ -} - -void Mouse_::end(void) -{ -} - -void Mouse_::click(uint8_t b) -{ - _buttons = b; - move(0,0,0); - _buttons = 0; - move(0,0,0); -} - -void Mouse_::move(signed char x, signed char y, signed char wheel) -{ - u8 m[4]; - m[0] = _buttons; - m[1] = x; - m[2] = y; - m[3] = wheel; - HID_SendReport(1,m,4); -} - -void Mouse_::buttons(uint8_t b) -{ - if (b != _buttons) - { - _buttons = b; - move(0,0,0); - } -} - -void Mouse_::press(uint8_t b) -{ - buttons(_buttons | b); -} - -void Mouse_::release(uint8_t b) -{ - buttons(_buttons & ~b); -} - -bool Mouse_::isPressed(uint8_t b) -{ - if ((b & _buttons) > 0) - return true; - return false; -} - -//================================================================================ -//================================================================================ -// Keyboard - -Keyboard_::Keyboard_(void) -{ -} - -void Keyboard_::begin(void) -{ -} - -void Keyboard_::end(void) -{ -} - -void Keyboard_::sendReport(KeyReport* keys) -{ - HID_SendReport(2,keys,sizeof(KeyReport)); -} - -extern -const uint8_t _asciimap[128] PROGMEM; - -#define SHIFT 0x80 -const uint8_t _asciimap[128] = -{ - 0x00, // NUL - 0x00, // SOH - 0x00, // STX - 0x00, // ETX - 0x00, // EOT - 0x00, // ENQ - 0x00, // ACK - 0x00, // BEL - 0x2a, // BS Backspace - 0x2b, // TAB Tab - 0x28, // LF Enter - 0x00, // VT - 0x00, // FF - 0x00, // CR - 0x00, // SO - 0x00, // SI - 0x00, // DEL - 0x00, // DC1 - 0x00, // DC2 - 0x00, // DC3 - 0x00, // DC4 - 0x00, // NAK - 0x00, // SYN - 0x00, // ETB - 0x00, // CAN - 0x00, // EM - 0x00, // SUB - 0x00, // ESC - 0x00, // FS - 0x00, // GS - 0x00, // RS - 0x00, // US - - 0x2c, // ' ' - 0x1e|SHIFT, // ! - 0x34|SHIFT, // " - 0x20|SHIFT, // # - 0x21|SHIFT, // $ - 0x22|SHIFT, // % - 0x24|SHIFT, // & - 0x34, // ' - 0x26|SHIFT, // ( - 0x27|SHIFT, // ) - 0x25|SHIFT, // * - 0x2e|SHIFT, // + - 0x36, // , - 0x2d, // - - 0x37, // . - 0x38, // / - 0x27, // 0 - 0x1e, // 1 - 0x1f, // 2 - 0x20, // 3 - 0x21, // 4 - 0x22, // 5 - 0x23, // 6 - 0x24, // 7 - 0x25, // 8 - 0x26, // 9 - 0x33|SHIFT, // : - 0x33, // ; - 0x36|SHIFT, // < - 0x2e, // = - 0x37|SHIFT, // > - 0x38|SHIFT, // ? - 0x1f|SHIFT, // @ - 0x04|SHIFT, // A - 0x05|SHIFT, // B - 0x06|SHIFT, // C - 0x07|SHIFT, // D - 0x08|SHIFT, // E - 0x09|SHIFT, // F - 0x0a|SHIFT, // G - 0x0b|SHIFT, // H - 0x0c|SHIFT, // I - 0x0d|SHIFT, // J - 0x0e|SHIFT, // K - 0x0f|SHIFT, // L - 0x10|SHIFT, // M - 0x11|SHIFT, // N - 0x12|SHIFT, // O - 0x13|SHIFT, // P - 0x14|SHIFT, // Q - 0x15|SHIFT, // R - 0x16|SHIFT, // S - 0x17|SHIFT, // T - 0x18|SHIFT, // U - 0x19|SHIFT, // V - 0x1a|SHIFT, // W - 0x1b|SHIFT, // X - 0x1c|SHIFT, // Y - 0x1d|SHIFT, // Z - 0x2f, // [ - 0x31, // bslash - 0x30, // ] - 0x23|SHIFT, // ^ - 0x2d|SHIFT, // _ - 0x35, // ` - 0x04, // a - 0x05, // b - 0x06, // c - 0x07, // d - 0x08, // e - 0x09, // f - 0x0a, // g - 0x0b, // h - 0x0c, // i - 0x0d, // j - 0x0e, // k - 0x0f, // l - 0x10, // m - 0x11, // n - 0x12, // o - 0x13, // p - 0x14, // q - 0x15, // r - 0x16, // s - 0x17, // t - 0x18, // u - 0x19, // v - 0x1a, // w - 0x1b, // x - 0x1c, // y - 0x1d, // z - 0x2f|SHIFT, // - 0x31|SHIFT, // | - 0x30|SHIFT, // } - 0x35|SHIFT, // ~ - 0 // DEL -}; - -uint8_t USBPutChar(uint8_t c); - -// press() adds the specified key (printing, non-printing, or modifier) -// to the persistent key report and sends the report. Because of the way -// USB HID works, the host acts like the key remains pressed until we -// call release(), releaseAll(), or otherwise clear the report and resend. -size_t Keyboard_::press(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers |= (1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - setWriteError(); - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers |= 0x02; // the left shift modifier - k &= 0x7F; - } - } - - // Add k to the key report only if it's not already present - // and if there is an empty slot. - if (_keyReport.keys[0] != k && _keyReport.keys[1] != k && - _keyReport.keys[2] != k && _keyReport.keys[3] != k && - _keyReport.keys[4] != k && _keyReport.keys[5] != k) { - - for (i=0; i<6; i++) { - if (_keyReport.keys[i] == 0x00) { - _keyReport.keys[i] = k; - break; - } - } - if (i == 6) { - setWriteError(); - return 0; - } - } - sendReport(&_keyReport); - return 1; -} - -// release() takes the specified key out of the persistent key report and -// sends the report. This tells the OS the key is no longer pressed and that -// it shouldn't be repeated any more. -size_t Keyboard_::release(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers &= ~(1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers &= ~(0x02); // the left shift modifier - k &= 0x7F; - } - } - - // Test the key report to see if k is present. Clear it if it exists. - // Check all positions in case the key is present more than once (which it shouldn't be) - for (i=0; i<6; i++) { - if (0 != k && _keyReport.keys[i] == k) { - _keyReport.keys[i] = 0x00; - } - } - - sendReport(&_keyReport); - return 1; -} - -void Keyboard_::releaseAll(void) -{ - _keyReport.keys[0] = 0; - _keyReport.keys[1] = 0; - _keyReport.keys[2] = 0; - _keyReport.keys[3] = 0; - _keyReport.keys[4] = 0; - _keyReport.keys[5] = 0; - _keyReport.modifiers = 0; - sendReport(&_keyReport); -} - -size_t Keyboard_::write(uint8_t c) -{ - uint8_t p = press(c); // Keydown - uint8_t r = release(c); // Keyup - return (p); // just return the result of press() since release() almost always returns 1 -} - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.cpp deleted file mode 100644 index f40ddee06..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.cpp +++ /dev/null @@ -1,428 +0,0 @@ -/* - 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 -#include -#include -#include -#include "Arduino.h" -#include "wiring_private.h" - -// 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) - -#include "HardwareSerial.h" - -// Define constants and variables for buffering incoming serial data. We're -// using a ring buffer (I think), in which head is the index of the location -// to which to write the next incoming character and tail is the index of the -// location from which to read. -#if (RAMEND < 1000) - #define SERIAL_BUFFER_SIZE 16 -#else - #define SERIAL_BUFFER_SIZE 64 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile unsigned int head; - volatile unsigned int tail; -}; - -#if defined(USBCON) - ring_buffer rx_buffer = { { 0 }, 0, 0}; - ring_buffer tx_buffer = { { 0 }, 0, 0}; -#endif -#if defined(UBRRH) || defined(UBRR0H) - ring_buffer rx_buffer = { { 0 }, 0, 0 }; - ring_buffer tx_buffer = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR1H) - ring_buffer rx_buffer1 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer1 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR2H) - ring_buffer rx_buffer2 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer2 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR3H) - ring_buffer rx_buffer3 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer3 = { { 0 }, 0, 0 }; -#endif - -inline void store_char(unsigned char c, ring_buffer *buffer) -{ - int i = (unsigned int)(buffer->head + 1) % SERIAL_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 != buffer->tail) { - buffer->buffer[buffer->head] = c; - buffer->head = i; - } -} - -#if !defined(USART0_RX_vect) && defined(USART1_RX_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(USART_RX_vect) && !defined(SIG_USART0_RECV) && \ - !defined(SIG_UART0_RECV) && !defined(USART0_RX_vect) && \ - !defined(SIG_UART_RECV) - #error "Don't know what the Data Received vector is called for the first UART" -#else - void serialEvent() __attribute__((weak)); - void serialEvent() {} - #define serialEvent_implemented -#if defined(USART_RX_vect) - SIGNAL(USART_RX_vect) -#elif defined(SIG_USART0_RECV) - SIGNAL(SIG_USART0_RECV) -#elif defined(SIG_UART0_RECV) - SIGNAL(SIG_UART0_RECV) -#elif defined(USART0_RX_vect) - SIGNAL(USART0_RX_vect) -#elif defined(SIG_UART_RECV) - SIGNAL(SIG_UART_RECV) -#endif - { - #if defined(UDR0) - unsigned char c = UDR0; - #elif defined(UDR) - unsigned char c = UDR; - #else - #error UDR not defined - #endif - store_char(c, &rx_buffer); - } -#endif -#endif - -#if defined(USART1_RX_vect) - void serialEvent1() __attribute__((weak)); - void serialEvent1() {} - #define serialEvent1_implemented - SIGNAL(USART1_RX_vect) - { - unsigned char c = UDR1; - store_char(c, &rx_buffer1); - } -#elif defined(SIG_USART1_RECV) - #error SIG_USART1_RECV -#endif - -#if defined(USART2_RX_vect) && defined(UDR2) - void serialEvent2() __attribute__((weak)); - void serialEvent2() {} - #define serialEvent2_implemented - SIGNAL(USART2_RX_vect) - { - unsigned char c = UDR2; - store_char(c, &rx_buffer2); - } -#elif defined(SIG_USART2_RECV) - #error SIG_USART2_RECV -#endif - -#if defined(USART3_RX_vect) && defined(UDR3) - void serialEvent3() __attribute__((weak)); - void serialEvent3() {} - #define serialEvent3_implemented - SIGNAL(USART3_RX_vect) - { - unsigned char c = UDR3; - store_char(c, &rx_buffer3); - } -#elif defined(SIG_USART3_RECV) - #error SIG_USART3_RECV -#endif - -void serialEventRun(void) -{ -#ifdef serialEvent_implemented - if (Serial.available()) serialEvent(); -#endif -#ifdef serialEvent1_implemented - if (Serial1.available()) serialEvent1(); -#endif -#ifdef serialEvent2_implemented - if (Serial2.available()) serialEvent2(); -#endif -#ifdef serialEvent3_implemented - if (Serial3.available()) serialEvent3(); -#endif -} - - -#if !defined(USART0_UDRE_vect) && defined(USART1_UDRE_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(UART0_UDRE_vect) && !defined(UART_UDRE_vect) && !defined(USART0_UDRE_vect) && !defined(USART_UDRE_vect) - #error "Don't know what the Data Register Empty vector is called for the first UART" -#else -#if defined(UART0_UDRE_vect) -ISR(UART0_UDRE_vect) -#elif defined(UART_UDRE_vect) -ISR(UART_UDRE_vect) -#elif defined(USART0_UDRE_vect) -ISR(USART0_UDRE_vect) -#elif defined(USART_UDRE_vect) -ISR(USART_UDRE_vect) -#endif -{ - if (tx_buffer.head == tx_buffer.tail) { - // Buffer empty, so disable interrupts -#if defined(UCSR0B) - cbi(UCSR0B, UDRIE0); -#else - cbi(UCSRB, UDRIE); -#endif - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer.buffer[tx_buffer.tail]; - tx_buffer.tail = (tx_buffer.tail + 1) % SERIAL_BUFFER_SIZE; - - #if defined(UDR0) - UDR0 = c; - #elif defined(UDR) - UDR = c; - #else - #error UDR not defined - #endif - } -} -#endif -#endif - -#ifdef USART1_UDRE_vect -ISR(USART1_UDRE_vect) -{ - if (tx_buffer1.head == tx_buffer1.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR1B, UDRIE1); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer1.buffer[tx_buffer1.tail]; - tx_buffer1.tail = (tx_buffer1.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR1 = c; - } -} -#endif - -#ifdef USART2_UDRE_vect -ISR(USART2_UDRE_vect) -{ - if (tx_buffer2.head == tx_buffer2.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR2B, UDRIE2); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer2.buffer[tx_buffer2.tail]; - tx_buffer2.tail = (tx_buffer2.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR2 = c; - } -} -#endif - -#ifdef USART3_UDRE_vect -ISR(USART3_UDRE_vect) -{ - if (tx_buffer3.head == tx_buffer3.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR3B, UDRIE3); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer3.buffer[tx_buffer3.tail]; - tx_buffer3.tail = (tx_buffer3.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR3 = c; - } -} -#endif - - -// Constructors //////////////////////////////////////////////////////////////// - -HardwareSerial::HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x) -{ - _rx_buffer = rx_buffer; - _tx_buffer = tx_buffer; - _ubrrh = ubrrh; - _ubrrl = ubrrl; - _ucsra = ucsra; - _ucsrb = ucsrb; - _udr = udr; - _rxen = rxen; - _txen = txen; - _rxcie = rxcie; - _udrie = udrie; - _u2x = u2x; -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void HardwareSerial::begin(unsigned long baud) -{ - uint16_t baud_setting; - bool use_u2x = true; - -#if F_CPU == 16000000UL - // hardcoded 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) { - use_u2x = false; - } -#endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) - { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void HardwareSerial::end() -{ - // wait for transmission of outgoing data - while (_tx_buffer->head != _tx_buffer->tail) - ; - - cbi(*_ucsrb, _rxen); - cbi(*_ucsrb, _txen); - cbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); - - // clear any received data - _rx_buffer->head = _rx_buffer->tail; -} - -int HardwareSerial::available(void) -{ - return (unsigned int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int HardwareSerial::peek(void) -{ - if (_rx_buffer->head == _rx_buffer->tail) { - return -1; - } else { - return _rx_buffer->buffer[_rx_buffer->tail]; - } -} - -int HardwareSerial::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) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void HardwareSerial::flush() -{ - while (_tx_buffer->head != _tx_buffer->tail) - ; -} - -size_t HardwareSerial::write(uint8_t c) -{ - int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE; - - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - // ???: return 0 here instead? - while (i == _tx_buffer->tail) - ; - - _tx_buffer->buffer[_tx_buffer->head] = c; - _tx_buffer->head = i; - - sbi(*_ucsrb, _udrie); - - return 1; -} - -HardwareSerial::operator bool() { - return true; -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -#if defined(UBRRH) && defined(UBRRL) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRRH, &UBRRL, &UCSRA, &UCSRB, &UDR, RXEN, TXEN, RXCIE, UDRIE, U2X); -#elif defined(UBRR0H) && defined(UBRR0L) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UDR0, RXEN0, TXEN0, RXCIE0, UDRIE0, U2X0); -#elif defined(USBCON) - // do nothing - Serial object and buffers are initialized in CDC code -#else - #error no serial port defined (port 0) -#endif - -#if defined(UBRR1H) - HardwareSerial Serial1(&rx_buffer1, &tx_buffer1, &UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UDR1, RXEN1, TXEN1, RXCIE1, UDRIE1, U2X1); -#endif -#if defined(UBRR2H) - HardwareSerial Serial2(&rx_buffer2, &tx_buffer2, &UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UDR2, RXEN2, TXEN2, RXCIE2, UDRIE2, U2X2); -#endif -#if defined(UBRR3H) - HardwareSerial Serial3(&rx_buffer3, &tx_buffer3, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3); -#endif - -#endif // whole file - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.h deleted file mode 100644 index bf4924c6d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/HardwareSerial.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - 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 HardwareSerial_h -#define HardwareSerial_h - -#include - -#include "Stream.h" - -struct ring_buffer; - -class HardwareSerial : public Stream -{ - private: - ring_buffer *_rx_buffer; - ring_buffer *_tx_buffer; - volatile uint8_t *_ubrrh; - volatile uint8_t *_ubrrl; - volatile uint8_t *_ucsra; - volatile uint8_t *_ucsrb; - volatile uint8_t *_udr; - uint8_t _rxen; - uint8_t _txen; - uint8_t _rxcie; - uint8_t _udrie; - uint8_t _u2x; - public: - HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x); - void begin(unsigned long); - void end(); - virtual int available(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); -}; - -#if defined(UBRRH) || defined(UBRR0H) - extern HardwareSerial Serial; -#elif defined(USBCON) - #include "USBAPI.h" -// extern HardwareSerial Serial_; -#endif -#if defined(UBRR1H) - extern HardwareSerial Serial1; -#endif -#if defined(UBRR2H) - extern HardwareSerial Serial2; -#endif -#if defined(UBRR3H) - extern HardwareSerial Serial3; -#endif - -extern void serialEventRun(void) __attribute__((weak)); - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.cpp deleted file mode 100644 index fe3deb77a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.cpp +++ /dev/null @@ -1,56 +0,0 @@ - -#include -#include - -IPAddress::IPAddress() -{ - memset(_address, 0, sizeof(_address)); -} - -IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet) -{ - _address[0] = first_octet; - _address[1] = second_octet; - _address[2] = third_octet; - _address[3] = fourth_octet; -} - -IPAddress::IPAddress(uint32_t address) -{ - memcpy(_address, &address, sizeof(_address)); -} - -IPAddress::IPAddress(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); -} - -IPAddress& IPAddress::operator=(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); - return *this; -} - -IPAddress& IPAddress::operator=(uint32_t address) -{ - memcpy(_address, (const uint8_t *)&address, sizeof(_address)); - return *this; -} - -bool IPAddress::operator==(const uint8_t* addr) -{ - return memcmp(addr, _address, sizeof(_address)) == 0; -} - -size_t IPAddress::printTo(Print& p) const -{ - size_t n = 0; - for (int i =0; i < 3; i++) - { - n += p.print(_address[i], DEC); - n += p.print('.'); - } - n += p.print(_address[3], DEC); - return n; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.h deleted file mode 100644 index 2585aec0e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/IPAddress.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * - * MIT License: - * Copyright (c) 2011 Adrian McEwen - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * adrianm@mcqn.com 1/1/2011 - */ - -#ifndef IPAddress_h -#define IPAddress_h - -#include - -// A class to make it easier to handle and pass around IP addresses - -class IPAddress : public Printable { -private: - uint8_t _address[4]; // IPv4 address - // Access the raw byte array containing the address. Because this returns a pointer - // to the internal structure rather than a copy of the address this function should only - // be used when you know that the usage of the returned uint8_t* will be transient and not - // stored. - uint8_t* raw_address() { return _address; }; - -public: - // Constructors - IPAddress(); - IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet); - IPAddress(uint32_t address); - IPAddress(const uint8_t *address); - - // Overloaded cast operator to allow IPAddress objects to be used where a pointer - // to a four-byte uint8_t array is expected - operator uint32_t() { return *((uint32_t*)_address); }; - bool operator==(const IPAddress& addr) { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); }; - bool operator==(const uint8_t* addr); - - // Overloaded index operator to allow getting and setting individual octets of the address - uint8_t operator[](int index) const { return _address[index]; }; - uint8_t& operator[](int index) { return _address[index]; }; - - // Overloaded copy operators to allow initialisation of IPAddress objects from other types - IPAddress& operator=(const uint8_t *address); - IPAddress& operator=(uint32_t address); - - virtual size_t printTo(Print& p) const; - - friend class EthernetClass; - friend class UDP; - friend class Client; - friend class Server; - friend class DhcpClass; - friend class DNSClient; -}; - -const IPAddress INADDR_NONE(0,0,0,0); - - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Platform.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Platform.h deleted file mode 100644 index 8b8f74277..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Platform.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef __PLATFORM_H__ -#define __PLATFORM_H__ - -#include -#include -#include -#include -#include - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -#include "Arduino.h" - -#if defined(USBCON) - #include "USBDesc.h" - #include "USBCore.h" - #include "USBAPI.h" -#endif /* if defined(USBCON) */ - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.cpp deleted file mode 100644 index e541a6ce7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.cpp +++ /dev/null @@ -1,263 +0,0 @@ -/* - Print.cpp - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 - */ - -#include -#include -#include -#include -#include "Arduino.h" - -#include "Print.h" - -// Public Methods ////////////////////////////////////////////////////////////// - -/* default implementation: may be overridden */ -size_t Print::write(const uint8_t *buffer, size_t size) -{ - size_t n = 0; - while (size--) { - n += write(*buffer++); - } - return n; -} - -size_t Print::print(const __FlashStringHelper *ifsh) -{ - const char PROGMEM *p = (const char PROGMEM *)ifsh; - size_t n = 0; - while (1) { - unsigned char c = pgm_read_byte(p++); - if (c == 0) break; - n += write(c); - } - return n; -} - -size_t Print::print(const String &s) -{ - size_t n = 0; - for (uint16_t i = 0; i < s.length(); i++) { - n += write(s[i]); - } - return n; -} - -size_t Print::print(const char str[]) -{ - return write(str); -} - -size_t Print::print(char c) -{ - return write(c); -} - -size_t Print::print(unsigned char b, int base) -{ - return print((unsigned long) b, base); -} - -size_t Print::print(int n, int base) -{ - return print((long) n, base); -} - -size_t Print::print(unsigned int n, int base) -{ - return print((unsigned long) n, base); -} - -size_t Print::print(long n, int base) -{ - if (base == 0) { - return write(n); - } else if (base == 10) { - if (n < 0) { - int t = print('-'); - n = -n; - return printNumber(n, 10) + t; - } - return printNumber(n, 10); - } else { - return printNumber(n, base); - } -} - -size_t Print::print(unsigned long n, int base) -{ - if (base == 0) return write(n); - else return printNumber(n, base); -} - -size_t Print::print(double n, int digits) -{ - return printFloat(n, digits); -} - -size_t Print::println(const __FlashStringHelper *ifsh) -{ - size_t n = print(ifsh); - n += println(); - return n; -} - -size_t Print::print(const Printable& x) -{ - return x.printTo(*this); -} - -size_t Print::println(void) -{ - size_t n = print('\r'); - n += print('\n'); - return n; -} - -size_t Print::println(const String &s) -{ - size_t n = print(s); - n += println(); - return n; -} - -size_t Print::println(const char c[]) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(char c) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(unsigned char b, int base) -{ - size_t n = print(b, base); - n += println(); - return n; -} - -size_t Print::println(int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(double num, int digits) -{ - size_t n = print(num, digits); - n += println(); - return n; -} - -size_t Print::println(const Printable& x) -{ - size_t n = print(x); - n += println(); - return n; -} - -// Private Methods ///////////////////////////////////////////////////////////// - -size_t Print::printNumber(unsigned long n, uint8_t base) { - char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte. - char *str = &buf[sizeof(buf) - 1]; - - *str = '\0'; - - // prevent crash if called with base == 1 - if (base < 2) base = 10; - - do { - unsigned long m = n; - n /= base; - char c = m - base * n; - *--str = c < 10 ? c + '0' : c + 'A' - 10; - } while(n); - - return write(str); -} - -size_t Print::printFloat(double number, uint8_t digits) -{ - size_t n = 0; - - // Handle negative numbers - if (number < 0.0) - { - n += 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 0) { - n += print("."); - } - - // Extract digits from the remainder one at a time - while (digits-- > 0) - { - remainder *= 10.0; - int toPrint = int(remainder); - n += print(toPrint); - remainder -= toPrint; - } - - return n; -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.h deleted file mode 100644 index 1af6b723f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Print.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - Print.h - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 Print_h -#define Print_h - -#include -#include // for size_t - -#include "WString.h" -#include "Printable.h" - -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 - -class Print -{ - private: - int write_error; - size_t printNumber(unsigned long, uint8_t); - size_t printFloat(double, uint8_t); - protected: - void setWriteError(int err = 1) { write_error = err; } - public: - Print() : write_error(0) {} - - int getWriteError() { return write_error; } - void clearWriteError() { setWriteError(0); } - - virtual size_t write(uint8_t) = 0; - size_t write(const char *str) { return write((const uint8_t *)str, strlen(str)); } - virtual size_t write(const uint8_t *buffer, size_t size); - - size_t print(const __FlashStringHelper *); - size_t print(const String &); - size_t print(const char[]); - size_t print(char); - size_t print(unsigned char, int = DEC); - size_t print(int, int = DEC); - size_t print(unsigned int, int = DEC); - size_t print(long, int = DEC); - size_t print(unsigned long, int = DEC); - size_t print(double, int = 2); - size_t print(const Printable&); - - size_t println(const __FlashStringHelper *); - size_t println(const String &s); - size_t println(const char[]); - size_t println(char); - size_t println(unsigned char, int = DEC); - size_t println(int, int = DEC); - size_t println(unsigned int, int = DEC); - size_t println(long, int = DEC); - size_t println(unsigned long, int = DEC); - size_t println(double, int = 2); - size_t println(const Printable&); - size_t println(void); -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Printable.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Printable.h deleted file mode 100644 index d03c9af62..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Printable.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Printable.h - Interface class that allows printing of complex types - Copyright (c) 2011 Adrian McEwen. 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 Printable_h -#define Printable_h - -#include - -class Print; - -/** The Printable class provides a way for new classes to allow themselves to be printed. - By deriving from Printable and implementing the printTo method, it will then be possible - for users to print out instances of this class by passing them into the usual - Print::print and Print::println methods. -*/ - -class Printable -{ - public: - virtual size_t printTo(Print& p) const = 0; -}; - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Server.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Server.h deleted file mode 100644 index 9674c7626..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Server.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef server_h -#define server_h - -class Server : public Print { -public: - virtual void begin() =0; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.cpp deleted file mode 100644 index aafb7fcf9..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/* - Stream.cpp - adds parsing methods to Stream class - Copyright (c) 2008 David A. Mellis. 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 - - Created July 2011 - parsing functions based on TextFinder library by Michael Margolis - */ - -#include "Arduino.h" -#include "Stream.h" - -#define PARSE_TIMEOUT 1000 // default number of milli-seconds to wait -#define NO_SKIP_CHAR 1 // a magic char not found in a valid ASCII numeric field - -// private method to read stream with timeout -int Stream::timedRead() -{ - int c; - _startMillis = millis(); - do { - c = read(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// private method to peek stream with timeout -int Stream::timedPeek() -{ - int c; - _startMillis = millis(); - do { - c = peek(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// returns peek of the next digit in the stream or -1 if timeout -// discards non-numeric characters -int Stream::peekNextDigit() -{ - int c; - while (1) { - c = timedPeek(); - if (c < 0) return c; // timeout - if (c == '-') return c; - if (c >= '0' && c <= '9') return c; - read(); // discard non-numeric - } -} - -// Public Methods -////////////////////////////////////////////////////////////// - -void Stream::setTimeout(unsigned long timeout) // sets the maximum number of milliseconds to wait -{ - _timeout = timeout; -} - - // find returns true if the target string is found -bool Stream::find(char *target) -{ - return findUntil(target, NULL); -} - -// reads data from the stream until the target string of given length is found -// returns true if target string is found, false if timed out -bool Stream::find(char *target, size_t length) -{ - return findUntil(target, length, NULL, 0); -} - -// as find but search ends if the terminator string is found -bool Stream::findUntil(char *target, char *terminator) -{ - return findUntil(target, strlen(target), terminator, strlen(terminator)); -} - -// reads data from the stream until the target string of the given length is found -// search terminated if the terminator string is found -// returns true if target string is found, false if terminated or timed out -bool Stream::findUntil(char *target, size_t targetLen, char *terminator, size_t termLen) -{ - size_t index = 0; // maximum target string length is 64k bytes! - size_t termIndex = 0; - int c; - - if( *target == 0) - return true; // return true if target is a null string - while( (c = timedRead()) > 0){ - - if(c != target[index]) - index = 0; // reset index if any char does not match - - if( c == target[index]){ - //////Serial.print("found "); Serial.write(c); Serial.print("index now"); Serial.println(index+1); - if(++index >= targetLen){ // return true if all chars in the target match - return true; - } - } - - if(termLen > 0 && c == terminator[termIndex]){ - if(++termIndex >= termLen) - return false; // return false if terminate string found before target string - } - else - termIndex = 0; - } - return false; -} - - -// returns the first valid (long) integer value from the current position. -// initial characters that are not digits (or the minus sign) are skipped -// function is terminated by the first character that is not a digit. -long Stream::parseInt() -{ - return parseInt(NO_SKIP_CHAR); // terminate on first non-digit character (or timeout) -} - -// as above but a given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -long Stream::parseInt(char skipChar) -{ - boolean isNegative = false; - long value = 0; - int c; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore this charactor - else if(c == '-') - isNegative = true; - else if(c >= '0' && c <= '9') // is c a digit? - value = value * 10 + c - '0'; - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == skipChar ); - - if(isNegative) - value = -value; - return value; -} - - -// as parseInt but returns a floating point value -float Stream::parseFloat() -{ - return parseFloat(NO_SKIP_CHAR); -} - -// as above but the given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -float Stream::parseFloat(char skipChar){ - boolean isNegative = false; - boolean isFraction = false; - long value = 0; - char c; - float fraction = 1.0; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore - else if(c == '-') - isNegative = true; - else if (c == '.') - isFraction = true; - else if(c >= '0' && c <= '9') { // is c a digit? - value = value * 10 + c - '0'; - if(isFraction) - fraction *= 0.1; - } - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == '.' || c == skipChar ); - - if(isNegative) - value = -value; - if(isFraction) - return value * fraction; - else - return value; -} - -// read characters from stream into buffer -// terminates if length characters have been read, or timeout (see setTimeout) -// returns the number of characters placed in the buffer -// the buffer is NOT null terminated. -// -size_t Stream::readBytes(char *buffer, size_t length) -{ - size_t count = 0; - while (count < length) { - int c = timedRead(); - if (c < 0) break; - *buffer++ = (char)c; - count++; - } - return count; -} - - -// as readBytes with terminator character -// terminates if length characters have been read, timeout, or if the terminator character detected -// returns the number of characters placed in the buffer (0 means no valid data found) - -size_t Stream::readBytesUntil(char terminator, char *buffer, size_t length) -{ - if (length < 1) return 0; - size_t index = 0; - while (index < length) { - int c = timedRead(); - if (c < 0 || c == terminator) break; - *buffer++ = (char)c; - index++; - } - return index; // return number of characters, not including null terminator -} - -String Stream::readString() -{ - String ret; - int c = timedRead(); - while (c >= 0) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - -String Stream::readStringUntil(char terminator) -{ - String ret; - int c = timedRead(); - while (c >= 0 && c != terminator) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.h deleted file mode 100644 index 58bbf752f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Stream.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - Stream.h - base class for character-based streams. - Copyright (c) 2010 David A. Mellis. 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 - - parsing functions based on TextFinder library by Michael Margolis -*/ - -#ifndef Stream_h -#define Stream_h - -#include -#include "Print.h" - -// compatability macros for testing -/* -#define getInt() parseInt() -#define getInt(skipChar) parseInt(skipchar) -#define getFloat() parseFloat() -#define getFloat(skipChar) parseFloat(skipChar) -#define getString( pre_string, post_string, buffer, length) -readBytesBetween( pre_string, terminator, buffer, length) -*/ - -class Stream : public Print -{ - private: - unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read - unsigned long _startMillis; // used for timeout measurement - int timedRead(); // private method to read stream with timeout - int timedPeek(); // private method to peek stream with timeout - int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout - - public: - virtual int available() = 0; - virtual int read() = 0; - virtual int peek() = 0; - virtual void flush() = 0; - - Stream() {_timeout=1000;} - -// parsing methods - - void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second - - bool find(char *target); // reads data from the stream until the target string is found - // returns true if target string is found, false if timed out (see setTimeout) - - bool find(char *target, size_t length); // reads data from the stream until the target string of given length is found - // returns true if target string is found, false if timed out - - bool findUntil(char *target, char *terminator); // as find but search ends if the terminator string is found - - bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen); // as above but search ends if the terminate string is found - - - long parseInt(); // returns the first valid (long) integer value from the current position. - // initial characters that are not digits (or the minus sign) are skipped - // integer is terminated by the first character that is not a digit. - - float parseFloat(); // float version of parseInt - - size_t readBytes( char *buffer, size_t length); // read chars from stream into buffer - // terminates if length characters have been read or timeout (see setTimeout) - // returns the number of characters placed in the buffer (0 means no valid data found) - - size_t readBytesUntil( char terminator, char *buffer, size_t length); // as readBytes with terminator character - // terminates if length characters have been read, timeout, or if the terminator character detected - // returns the number of characters placed in the buffer (0 means no valid data found) - - // Arduino String functions to be added here - String readString(); - String readStringUntil(char terminator); - - protected: - long parseInt(char skipChar); // as above but the given skipChar is ignored - // as above but the given skipChar is ignored - // this allows format characters (typically commas) in values to be ignored - - float parseFloat(char skipChar); // as above but the given skipChar is ignored -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Tone.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Tone.cpp deleted file mode 100644 index 20eed3f48..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Tone.cpp +++ /dev/null @@ -1,601 +0,0 @@ -/* Tone.cpp - - A Tone Generator Library - - Written by Brett Hagman - - 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 - -Version Modified By Date Comments -------- ----------- -------- -------- -0001 B Hagman 09/08/02 Initial coding -0002 B Hagman 09/08/18 Multiple pins -0003 B Hagman 09/08/18 Moved initialization from constructor to begin() -0004 B Hagman 09/09/26 Fixed problems with ATmega8 -0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers - 09/11/25 Changed pin toggle method to XOR - 09/11/25 Fixed timer0 from being excluded -0006 D Mellis 09/12/29 Replaced objects with functions -0007 M Sproul 10/08/29 Changed #ifdefs from cpu to register -*************************************************/ - -#include -#include -#include "Arduino.h" -#include "pins_arduino.h" - -#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__) -#define TCCR2A TCCR2 -#define TCCR2B TCCR2 -#define COM2A1 COM21 -#define COM2A0 COM20 -#define OCR2A OCR2 -#define TIMSK2 TIMSK -#define OCIE2A OCIE2 -#define TIMER2_COMPA_vect TIMER2_COMP_vect -#define TIMSK1 TIMSK -#endif - -// timerx_toggle_count: -// > 0 - duration specified -// = 0 - stopped -// < 0 - infinitely (until stop() method called, or new play() called) - -#if !defined(__AVR_ATmega8__) -volatile long timer0_toggle_count; -volatile uint8_t *timer0_pin_port; -volatile uint8_t timer0_pin_mask; -#endif - -volatile long timer1_toggle_count; -volatile uint8_t *timer1_pin_port; -volatile uint8_t timer1_pin_mask; -volatile long timer2_toggle_count; -volatile uint8_t *timer2_pin_port; -volatile uint8_t timer2_pin_mask; - -#if defined(TIMSK3) -volatile long timer3_toggle_count; -volatile uint8_t *timer3_pin_port; -volatile uint8_t timer3_pin_mask; -#endif - -#if defined(TIMSK4) -volatile long timer4_toggle_count; -volatile uint8_t *timer4_pin_port; -volatile uint8_t timer4_pin_mask; -#endif - -#if defined(TIMSK5) -volatile long timer5_toggle_count; -volatile uint8_t *timer5_pin_port; -volatile uint8_t timer5_pin_mask; -#endif - - -// MLS: This does not make sense, the 3 options are the same -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - -#define AVAILABLE_TONE_PINS 1 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ }; - -#elif defined(__AVR_ATmega8__) - -#define AVAILABLE_TONE_PINS 1 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#else - -#define AVAILABLE_TONE_PINS 1 - -// Leave timer 0 to last. -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ }; - -#endif - - - -static int8_t toneBegin(uint8_t _pin) -{ - int8_t _timer = -1; - - // if we're already using the pin, the timer should be configured. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - return pgm_read_byte(tone_pin_to_timer_PGM + i); - } - } - - // search for an unused timer. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == 255) { - tone_pins[i] = _pin; - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - break; - } - } - - if (_timer != -1) - { - // Set timer specific stuff - // All timers in CTC mode - // 8 bit timers will require changing prescalar values, - // whereas 16 bit timers are set to either ck/1 or ck/64 prescalar - switch (_timer) - { - #if defined(TCCR0A) && defined(TCCR0B) - case 0: - // 8 bit timer - TCCR0A = 0; - TCCR0B = 0; - bitWrite(TCCR0A, WGM01, 1); - bitWrite(TCCR0B, CS00, 1); - timer0_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer0_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12) - case 1: - // 16 bit timer - TCCR1A = 0; - TCCR1B = 0; - bitWrite(TCCR1B, WGM12, 1); - bitWrite(TCCR1B, CS10, 1); - timer1_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer1_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR2A) && defined(TCCR2B) - case 2: - // 8 bit timer - TCCR2A = 0; - TCCR2B = 0; - bitWrite(TCCR2A, WGM21, 1); - bitWrite(TCCR2B, CS20, 1); - timer2_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer2_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR3A) && defined(TCCR3B) && defined(TIMSK3) - case 3: - // 16 bit timer - TCCR3A = 0; - TCCR3B = 0; - bitWrite(TCCR3B, WGM32, 1); - bitWrite(TCCR3B, CS30, 1); - timer3_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer3_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR4A) && defined(TCCR4B) && defined(TIMSK4) - case 4: - // 16 bit timer - TCCR4A = 0; - TCCR4B = 0; - #if defined(WGM42) - bitWrite(TCCR4B, WGM42, 1); - #elif defined(CS43) - #warning this may not be correct - // atmega32u4 - bitWrite(TCCR4B, CS43, 1); - #endif - bitWrite(TCCR4B, CS40, 1); - timer4_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer4_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR5A) && defined(TCCR5B) && defined(TIMSK5) - case 5: - // 16 bit timer - TCCR5A = 0; - TCCR5B = 0; - bitWrite(TCCR5B, WGM52, 1); - bitWrite(TCCR5B, CS50, 1); - timer5_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer5_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - } - } - - return _timer; -} - - - -// frequency (in hertz) and duration (in milliseconds). - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration) -{ - uint8_t prescalarbits = 0b001; - long toggle_count = 0; - uint32_t ocr = 0; - int8_t _timer; - - _timer = toneBegin(_pin); - - if (_timer >= 0) - { - // Set the pinMode as OUTPUT - pinMode(_pin, OUTPUT); - - // if we are using an 8 bit timer, scan through prescalars to find the best fit - if (_timer == 0 || _timer == 2) - { - ocr = F_CPU / frequency / 2 - 1; - prescalarbits = 0b001; // ck/1: same for both timers - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 8 - 1; - prescalarbits = 0b010; // ck/8: same for both timers - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 32 - 1; - prescalarbits = 0b011; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = _timer == 0 ? 0b011 : 0b100; - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 128 - 1; - prescalarbits = 0b101; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 256 - 1; - prescalarbits = _timer == 0 ? 0b100 : 0b110; - if (ocr > 255) - { - // can't do any better than /1024 - ocr = F_CPU / frequency / 2 / 1024 - 1; - prescalarbits = _timer == 0 ? 0b101 : 0b111; - } - } - } - } - -#if defined(TCCR0B) - if (_timer == 0) - { - TCCR0B = prescalarbits; - } - else -#endif -#if defined(TCCR2B) - { - TCCR2B = prescalarbits; - } -#else - { - // dummy place holder to make the above ifdefs work - } -#endif - } - else - { - // two choices for the 16 bit timers: ck/1 or ck/64 - ocr = F_CPU / frequency / 2 - 1; - - prescalarbits = 0b001; - if (ocr > 0xffff) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = 0b011; - } - - if (_timer == 1) - { -#if defined(TCCR1B) - TCCR1B = (TCCR1B & 0b11111000) | prescalarbits; -#endif - } -#if defined(TCCR3B) - else if (_timer == 3) - TCCR3B = (TCCR3B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR4B) - else if (_timer == 4) - TCCR4B = (TCCR4B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR5B) - else if (_timer == 5) - TCCR5B = (TCCR5B & 0b11111000) | prescalarbits; -#endif - - } - - - // Calculate the toggle count - if (duration > 0) - { - toggle_count = 2 * frequency * duration / 1000; - } - else - { - toggle_count = -1; - } - - // Set the OCR for the given timer, - // set the toggle count, - // then turn on the interrupts - switch (_timer) - { - -#if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A) - case 0: - OCR0A = ocr; - timer0_toggle_count = toggle_count; - bitWrite(TIMSK0, OCIE0A, 1); - break; -#endif - - case 1: -#if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A) - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK1, OCIE1A, 1); -#elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A) - // this combination is for at least the ATmega32 - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK, OCIE1A, 1); -#endif - break; - -#if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A) - case 2: - OCR2A = ocr; - timer2_toggle_count = toggle_count; - bitWrite(TIMSK2, OCIE2A, 1); - break; -#endif - -#if defined(TIMSK3) - case 3: - OCR3A = ocr; - timer3_toggle_count = toggle_count; - bitWrite(TIMSK3, OCIE3A, 1); - break; -#endif - -#if defined(TIMSK4) - case 4: - OCR4A = ocr; - timer4_toggle_count = toggle_count; - bitWrite(TIMSK4, OCIE4A, 1); - break; -#endif - -#if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A) - case 5: - OCR5A = ocr; - timer5_toggle_count = toggle_count; - bitWrite(TIMSK5, OCIE5A, 1); - break; -#endif - - } - } -} - - -// XXX: this function only works properly for timer 2 (the only one we use -// currently). for the others, it should end the tone, but won't restore -// proper PWM functionality for the timer. -void disableTimer(uint8_t _timer) -{ - switch (_timer) - { - case 0: - #if defined(TIMSK0) - TIMSK0 = 0; - #elif defined(TIMSK) - TIMSK = 0; // atmega32 - #endif - break; - -#if defined(TIMSK1) && defined(OCIE1A) - case 1: - bitWrite(TIMSK1, OCIE1A, 0); - break; -#endif - - case 2: - #if defined(TIMSK2) && defined(OCIE2A) - bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt - #endif - #if defined(TCCR2A) && defined(WGM20) - TCCR2A = (1 << WGM20); - #endif - #if defined(TCCR2B) && defined(CS22) - TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22); - #endif - #if defined(OCR2A) - OCR2A = 0; - #endif - break; - -#if defined(TIMSK3) - case 3: - TIMSK3 = 0; - break; -#endif - -#if defined(TIMSK4) - case 4: - TIMSK4 = 0; - break; -#endif - -#if defined(TIMSK5) - case 5: - TIMSK5 = 0; - break; -#endif - } -} - - -void noTone(uint8_t _pin) -{ - int8_t _timer = -1; - - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - tone_pins[i] = 255; - } - } - - disableTimer(_timer); - - digitalWrite(_pin, 0); -} - -#if 0 -#if !defined(__AVR_ATmega8__) -ISR(TIMER0_COMPA_vect) -{ - if (timer0_toggle_count != 0) - { - // toggle the pin - *timer0_pin_port ^= timer0_pin_mask; - - if (timer0_toggle_count > 0) - timer0_toggle_count--; - } - else - { - disableTimer(0); - *timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop - } -} -#endif - - -ISR(TIMER1_COMPA_vect) -{ - if (timer1_toggle_count != 0) - { - // toggle the pin - *timer1_pin_port ^= timer1_pin_mask; - - if (timer1_toggle_count > 0) - timer1_toggle_count--; - } - else - { - disableTimer(1); - *timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop - } -} -#endif - - -ISR(TIMER2_COMPA_vect) -{ - - if (timer2_toggle_count != 0) - { - // toggle the pin - *timer2_pin_port ^= timer2_pin_mask; - - if (timer2_toggle_count > 0) - timer2_toggle_count--; - } - else - { - // need to call noTone() so that the tone_pins[] entry is reset, so the - // timer gets initialized next time we call tone(). - // XXX: this assumes timer 2 is always the first one used. - noTone(tone_pins[0]); -// disableTimer(2); -// *timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop - } -} - - - -//#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) -#if 0 - -ISR(TIMER3_COMPA_vect) -{ - if (timer3_toggle_count != 0) - { - // toggle the pin - *timer3_pin_port ^= timer3_pin_mask; - - if (timer3_toggle_count > 0) - timer3_toggle_count--; - } - else - { - disableTimer(3); - *timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop - } -} - -ISR(TIMER4_COMPA_vect) -{ - if (timer4_toggle_count != 0) - { - // toggle the pin - *timer4_pin_port ^= timer4_pin_mask; - - if (timer4_toggle_count > 0) - timer4_toggle_count--; - } - else - { - disableTimer(4); - *timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop - } -} - -ISR(TIMER5_COMPA_vect) -{ - if (timer5_toggle_count != 0) - { - // toggle the pin - *timer5_pin_port ^= timer5_pin_mask; - - if (timer5_toggle_count > 0) - timer5_toggle_count--; - } - else - { - disableTimer(5); - *timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop - } -} - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBAPI.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBAPI.h deleted file mode 100644 index d5abdb690..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBAPI.h +++ /dev/null @@ -1,195 +0,0 @@ - - -#ifndef __USBAPI__ -#define __USBAPI__ - -#if defined(USBCON) - -//================================================================================ -//================================================================================ -// USB - -class USBDevice_ -{ -public: - USBDevice_(); - bool configured(); - - void attach(); - void detach(); // Serial port goes down too... - void poll(); -}; -extern USBDevice_ USBDevice; - -//================================================================================ -//================================================================================ -// Serial over CDC (Serial1 is the physical port) - -class Serial_ : public Stream -{ -private: - ring_buffer *_cdc_rx_buffer; -public: - void begin(uint16_t baud_count); - void end(void); - - virtual int available(void); - virtual void accept(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - operator bool(); -}; -extern Serial_ Serial; - -//================================================================================ -//================================================================================ -// Mouse - -#define MOUSE_LEFT 1 -#define MOUSE_RIGHT 2 -#define MOUSE_MIDDLE 4 -#define MOUSE_ALL (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE) - -class Mouse_ -{ -private: - uint8_t _buttons; - void buttons(uint8_t b); -public: - Mouse_(void); - void begin(void); - void end(void); - void click(uint8_t b = MOUSE_LEFT); - void move(signed char x, signed char y, signed char wheel = 0); - void press(uint8_t b = MOUSE_LEFT); // press LEFT by default - void release(uint8_t b = MOUSE_LEFT); // release LEFT by default - bool isPressed(uint8_t b = MOUSE_LEFT); // check LEFT by default -}; -extern Mouse_ Mouse; - -//================================================================================ -//================================================================================ -// Keyboard - -#define KEY_LEFT_CTRL 0x80 -#define KEY_LEFT_SHIFT 0x81 -#define KEY_LEFT_ALT 0x82 -#define KEY_LEFT_GUI 0x83 -#define KEY_RIGHT_CTRL 0x84 -#define KEY_RIGHT_SHIFT 0x85 -#define KEY_RIGHT_ALT 0x86 -#define KEY_RIGHT_GUI 0x87 - -#define KEY_UP_ARROW 0xDA -#define KEY_DOWN_ARROW 0xD9 -#define KEY_LEFT_ARROW 0xD8 -#define KEY_RIGHT_ARROW 0xD7 -#define KEY_BACKSPACE 0xB2 -#define KEY_TAB 0xB3 -#define KEY_RETURN 0xB0 -#define KEY_ESC 0xB1 -#define KEY_INSERT 0xD1 -#define KEY_DELETE 0xD4 -#define KEY_PAGE_UP 0xD3 -#define KEY_PAGE_DOWN 0xD6 -#define KEY_HOME 0xD2 -#define KEY_END 0xD5 -#define KEY_CAPS_LOCK 0xC1 -#define KEY_F1 0xC2 -#define KEY_F2 0xC3 -#define KEY_F3 0xC4 -#define KEY_F4 0xC5 -#define KEY_F5 0xC6 -#define KEY_F6 0xC7 -#define KEY_F7 0xC8 -#define KEY_F8 0xC9 -#define KEY_F9 0xCA -#define KEY_F10 0xCB -#define KEY_F11 0xCC -#define KEY_F12 0xCD - -// Low level key report: up to 6 keys and shift, ctrl etc at once -typedef struct -{ - uint8_t modifiers; - uint8_t reserved; - uint8_t keys[6]; -} KeyReport; - -class Keyboard_ : public Print -{ -private: - KeyReport _keyReport; - void sendReport(KeyReport* keys); -public: - Keyboard_(void); - void begin(void); - void end(void); - virtual size_t write(uint8_t k); - virtual size_t press(uint8_t k); - virtual size_t release(uint8_t k); - virtual void releaseAll(void); -}; -extern Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ -// Low level API - -typedef struct -{ - uint8_t bmRequestType; - uint8_t bRequest; - uint8_t wValueL; - uint8_t wValueH; - uint16_t wIndex; - uint16_t wLength; -} Setup; - -//================================================================================ -//================================================================================ -// HID 'Driver' - -int HID_GetInterface(uint8_t* interfaceNum); -int HID_GetDescriptor(int i); -bool HID_Setup(Setup& setup); -void HID_SendReport(uint8_t id, const void* data, int len); - -//================================================================================ -//================================================================================ -// MSC 'Driver' - -int MSC_GetInterface(uint8_t* interfaceNum); -int MSC_GetDescriptor(int i); -bool MSC_Setup(Setup& setup); -bool MSC_Data(uint8_t rx,uint8_t tx); - -//================================================================================ -//================================================================================ -// CSC 'Driver' - -int CDC_GetInterface(uint8_t* interfaceNum); -int CDC_GetDescriptor(int i); -bool CDC_Setup(Setup& setup); - -//================================================================================ -//================================================================================ - -#define TRANSFER_PGM 0x80 -#define TRANSFER_RELEASE 0x40 -#define TRANSFER_ZERO 0x20 - -int USB_SendControl(uint8_t flags, const void* d, int len); -int USB_RecvControl(void* d, int len); - -uint8_t USB_Available(uint8_t ep); -int USB_Send(uint8_t ep, const void* data, int len); // blocking -int USB_Recv(uint8_t ep, void* data, int len); // non-blocking -int USB_Recv(uint8_t ep); // non-blocking -void USB_Flush(uint8_t ep); - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBCore.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBCore.cpp deleted file mode 100644 index 545c88a7a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBCore.cpp +++ /dev/null @@ -1,670 +0,0 @@ - - -/* Copyright (c) 2010, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) - -#define EP_TYPE_CONTROL 0x00 -#define EP_TYPE_BULK_IN 0x81 -#define EP_TYPE_BULK_OUT 0x80 -#define EP_TYPE_INTERRUPT_IN 0xC1 -#define EP_TYPE_INTERRUPT_OUT 0xC0 -#define EP_TYPE_ISOCHRONOUS_IN 0x41 -#define EP_TYPE_ISOCHRONOUS_OUT 0x40 - -/** Pulse generation counters to keep track of the number of milliseconds remaining for each pulse type */ -#define TX_RX_LED_PULSE_MS 100 -volatile u8 TxLEDPulse; /**< Milliseconds remaining for data Tx LED pulse */ -volatile u8 RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */ - -//================================================================== -//================================================================== - -extern const u16 STRING_LANGUAGE[] PROGMEM; -extern const u16 STRING_IPRODUCT[] PROGMEM; -extern const u16 STRING_IMANUFACTURER[] PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptor PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptorA PROGMEM; - -const u16 STRING_LANGUAGE[2] = { - (3<<8) | (2+2), - 0x0409 // English -}; - -const u16 STRING_IPRODUCT[17] = { - (3<<8) | (2+2*16), - 'B','r','a','i','n','w','a','v','e',' ',' ',' ',' ',' ',' ',' ' -}; - -const u16 STRING_IMANUFACTURER[12] = { - (3<<8) | (2+2*11), - 'M','e','t','r','i','x',' ',' ',' ',' ',' ' -}; - -#ifdef CDC_ENABLED -#define DEVICE_CLASS 0x02 -#else -#define DEVICE_CLASS 0x00 -#endif - -// DEVICE DESCRIPTOR -const DeviceDescriptor USB_DeviceDescriptor = - D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -const DeviceDescriptor USB_DeviceDescriptorA = - D_DEVICE(DEVICE_CLASS,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -//================================================================== -//================================================================== - -volatile u8 _usbConfiguration = 0; - -static inline void WaitIN(void) -{ - while (!(UEINTX & (1< len) - n = len; - len -= n; - { - LockEP lock(ep); - if (ep & TRANSFER_ZERO) - { - while (n--) - Send8(0); - } - else if (ep & TRANSFER_PGM) - { - while (n--) - Send8(pgm_read_byte(data++)); - } - else - { - while (n--) - Send8(*data++); - } - if (!ReadWriteAllowed() || ((len == 0) && (ep & TRANSFER_RELEASE))) // Release full buffer - ReleaseTX(); - } - } - TXLED1; // light the TX LED - TxLEDPulse = TX_RX_LED_PULSE_MS; - return r; -} - -extern const u8 _initEndpoints[] PROGMEM; -const u8 _initEndpoints[] = -{ - 0, - -#ifdef CDC_ENABLED - EP_TYPE_INTERRUPT_IN, // CDC_ENDPOINT_ACM - EP_TYPE_BULK_OUT, // CDC_ENDPOINT_OUT - EP_TYPE_BULK_IN, // CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED - EP_TYPE_INTERRUPT_IN // HID_ENDPOINT_INT -#endif -}; - -#define EP_SINGLE_64 0x32 // EP0 -#define EP_DOUBLE_64 0x36 // Other endpoints - -static -void InitEP(u8 index, u8 type, u8 size) -{ - UENUM = index; - UECONX = 1; - UECFG0X = type; - UECFG1X = size; -} - -static -void InitEndpoints() -{ - for (u8 i = 1; i < sizeof(_initEndpoints); i++) - { - UENUM = i; - UECONX = 1; - UECFG0X = pgm_read_byte(_initEndpoints+i); - UECFG1X = EP_DOUBLE_64; - } - UERST = 0x7E; // And reset them - UERST = 0; -} - -// Handle CLASS_INTERFACE requests -static -bool ClassInterfaceRequest(Setup& setup) -{ - u8 i = setup.wIndex; - -#ifdef CDC_ENABLED - if (CDC_ACM_INTERFACE == i) - return CDC_Setup(setup); -#endif - -#ifdef HID_ENABLED - if (HID_INTERFACE == i) - return HID_Setup(setup); -#endif - return false; -} - -int _cmark; -int _cend; -void InitControl(int end) -{ - SetEP(0); - _cmark = 0; - _cend = end; -} - -static -bool SendControl(u8 d) -{ - if (_cmark < _cend) - { - if (!WaitForINOrOUT()) - return false; - Send8(d); - if (!((_cmark + 1) & 0x3F)) - ClearIN(); // Fifo is full, release this packet - } - _cmark++; - return true; -}; - -// Clipped by _cmark/_cend -int USB_SendControl(u8 flags, const void* d, int len) -{ - int sent = len; - const u8* data = (const u8*)d; - bool pgm = flags & TRANSFER_PGM; - while (len--) - { - u8 c = pgm ? pgm_read_byte(data++) : *data++; - if (!SendControl(c)) - return -1; - } - return sent; -} - -// Does not timeout or cross fifo boundaries -// Will only work for transfers <= 64 bytes -// TODO -int USB_RecvControl(void* d, int len) -{ - WaitOUT(); - Recv((u8*)d,len); - ClearOUT(); - return len; -} - -int SendInterfaces() -{ - int total = 0; - u8 interfaces = 0; - -#ifdef CDC_ENABLED - total = CDC_GetInterface(&interfaces); -#endif - -#ifdef HID_ENABLED - total += HID_GetInterface(&interfaces); -#endif - - return interfaces; -} - -// Construct a dynamic configuration descriptor -// This really needs dynamic endpoint allocation etc -// TODO -static -bool SendConfiguration(int maxlen) -{ - // Count and measure interfaces - InitControl(0); - int interfaces = SendInterfaces(); - ConfigDescriptor config = D_CONFIG(_cmark + sizeof(ConfigDescriptor),interfaces); - - // Now send them - InitControl(maxlen); - USB_SendControl(0,&config,sizeof(ConfigDescriptor)); - SendInterfaces(); - return true; -} - -u8 _cdcComposite = 0; - -static -bool SendDescriptor(Setup& setup) -{ - u8 t = setup.wValueH; - if (USB_CONFIGURATION_DESCRIPTOR_TYPE == t) - return SendConfiguration(setup.wLength); - - InitControl(setup.wLength); -#ifdef HID_ENABLED - if (HID_REPORT_DESCRIPTOR_TYPE == t) - return HID_GetDescriptor(t); -#endif - - u8 desc_length = 0; - const u8* desc_addr = 0; - if (USB_DEVICE_DESCRIPTOR_TYPE == t) - { - if (setup.wLength == 8) - _cdcComposite = 1; - desc_addr = _cdcComposite ? (const u8*)&USB_DeviceDescriptorA : (const u8*)&USB_DeviceDescriptor; - } - else if (USB_STRING_DESCRIPTOR_TYPE == t) - { - if (setup.wValueL == 0) - desc_addr = (const u8*)&STRING_LANGUAGE; - else if (setup.wValueL == IPRODUCT) - desc_addr = (const u8*)&STRING_IPRODUCT; - else if (setup.wValueL == IMANUFACTURER) - desc_addr = (const u8*)&STRING_IMANUFACTURER; - else - return false; - } - - if (desc_addr == 0) - return false; - if (desc_length == 0) - desc_length = pgm_read_byte(desc_addr); - - USB_SendControl(TRANSFER_PGM,desc_addr,desc_length); - return true; -} - -// Endpoint 0 interrupt -ISR(USB_COM_vect) -{ - SetEP(0); - if (!ReceivedSetupInt()) - return; - - Setup setup; - Recv((u8*)&setup,8); - ClearSetupInt(); - - u8 requestType = setup.bmRequestType; - if (requestType & REQUEST_DEVICETOHOST) - WaitIN(); - else - ClearIN(); - - bool ok = true; - if (REQUEST_STANDARD == (requestType & REQUEST_TYPE)) - { - // Standard Requests - u8 r = setup.bRequest; - if (GET_STATUS == r) - { - Send8(0); // TODO - Send8(0); - } - else if (CLEAR_FEATURE == r) - { - } - else if (SET_FEATURE == r) - { - } - else if (SET_ADDRESS == r) - { - WaitIN(); - UDADDR = setup.wValueL | (1<> 8) & 0xFF) - -#define CDC_V1_10 0x0110 -#define CDC_COMMUNICATION_INTERFACE_CLASS 0x02 - -#define CDC_CALL_MANAGEMENT 0x01 -#define CDC_ABSTRACT_CONTROL_MODEL 0x02 -#define CDC_HEADER 0x00 -#define CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02 -#define CDC_UNION 0x06 -#define CDC_CS_INTERFACE 0x24 -#define CDC_CS_ENDPOINT 0x25 -#define CDC_DATA_INTERFACE_CLASS 0x0A - -#define MSC_SUBCLASS_SCSI 0x06 -#define MSC_PROTOCOL_BULK_ONLY 0x50 - -#define HID_HID_DESCRIPTOR_TYPE 0x21 -#define HID_REPORT_DESCRIPTOR_TYPE 0x22 -#define HID_PHYSICAL_DESCRIPTOR_TYPE 0x23 - - -// Device -typedef struct { - u8 len; // 18 - u8 dtype; // 1 USB_DEVICE_DESCRIPTOR_TYPE - u16 usbVersion; // 0x200 - u8 deviceClass; - u8 deviceSubClass; - u8 deviceProtocol; - u8 packetSize0; // Packet 0 - u16 idVendor; - u16 idProduct; - u16 deviceVersion; // 0x100 - u8 iManufacturer; - u8 iProduct; - u8 iSerialNumber; - u8 bNumConfigurations; -} DeviceDescriptor; - -// Config -typedef struct { - u8 len; // 9 - u8 dtype; // 2 - u16 clen; // total length - u8 numInterfaces; - u8 config; - u8 iconfig; - u8 attributes; - u8 maxPower; -} ConfigDescriptor; - -// String - -// Interface -typedef struct -{ - u8 len; // 9 - u8 dtype; // 4 - u8 number; - u8 alternate; - u8 numEndpoints; - u8 interfaceClass; - u8 interfaceSubClass; - u8 protocol; - u8 iInterface; -} InterfaceDescriptor; - -// Endpoint -typedef struct -{ - u8 len; // 7 - u8 dtype; // 5 - u8 addr; - u8 attr; - u16 packetSize; - u8 interval; -} EndpointDescriptor; - -// Interface Association Descriptor -// Used to bind 2 interfaces together in CDC compostite device -typedef struct -{ - u8 len; // 8 - u8 dtype; // 11 - u8 firstInterface; - u8 interfaceCount; - u8 functionClass; - u8 funtionSubClass; - u8 functionProtocol; - u8 iInterface; -} IADDescriptor; - -// CDC CS interface descriptor -typedef struct -{ - u8 len; // 5 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; - u8 d1; -} CDCCSInterfaceDescriptor; - -typedef struct -{ - u8 len; // 4 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; -} CDCCSInterfaceDescriptor4; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; - u8 bDataInterface; -} CMFunctionalDescriptor; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; -} ACMFunctionalDescriptor; - -typedef struct -{ - // IAD - IADDescriptor iad; // Only needed on compound device - - // Control - InterfaceDescriptor cif; // - CDCCSInterfaceDescriptor header; - CMFunctionalDescriptor callManagement; // Call Management - ACMFunctionalDescriptor controlManagement; // ACM - CDCCSInterfaceDescriptor functionalDescriptor; // CDC_UNION - EndpointDescriptor cifin; - - // Data - InterfaceDescriptor dif; - EndpointDescriptor in; - EndpointDescriptor out; -} CDCDescriptor; - -typedef struct -{ - InterfaceDescriptor msc; - EndpointDescriptor in; - EndpointDescriptor out; -} MSCDescriptor; - -typedef struct -{ - u8 len; // 9 - u8 dtype; // 0x21 - u8 addr; - u8 versionL; // 0x101 - u8 versionH; // 0x101 - u8 country; - u8 desctype; // 0x22 report - u8 descLenL; - u8 descLenH; -} HIDDescDescriptor; - -typedef struct -{ - InterfaceDescriptor hid; - HIDDescDescriptor desc; - EndpointDescriptor in; -} HIDDescriptor; - - -#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \ - { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs } - -#define D_CONFIG(_totalLength,_interfaces) \ - { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED, USB_CONFIG_POWER_MA(500) } - -#define D_INTERFACE(_n,_numEndpoints,_class,_subClass,_protocol) \ - { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 } - -#define D_ENDPOINT(_addr,_attr,_packetSize, _interval) \ - { 7, 5, _addr,_attr,_packetSize, _interval } - -#define D_IAD(_firstInterface, _count, _class, _subClass, _protocol) \ - { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 } - -#define D_HIDREPORT(_descriptorLength) \ - { 9, 0x21, 0x1, 0x1, 0, 1, 0x22, _descriptorLength, 0 } - -#define D_CDCCS(_subtype,_d0,_d1) { 5, 0x24, _subtype, _d0, _d1 } -#define D_CDCCS4(_subtype,_d0) { 4, 0x24, _subtype, _d0 } - - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBDesc.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBDesc.h deleted file mode 100644 index 094826433..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/USBDesc.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#define CDC_ENABLED - -// Disable HID, Brainwaves don't need to be mice. -Hubbe 20120929 -// #define HID_ENABLED - -#ifdef CDC_ENABLED -#define CDC_INTERFACE_COUNT 2 -#define CDC_ENPOINT_COUNT 3 -#else -#define CDC_INTERFACE_COUNT 0 -#define CDC_ENPOINT_COUNT 0 -#endif - -#ifdef HID_ENABLED -#define HID_INTERFACE_COUNT 1 -#define HID_ENPOINT_COUNT 1 -#else -#define HID_INTERFACE_COUNT 0 -#define HID_ENPOINT_COUNT 0 -#endif - -#define CDC_ACM_INTERFACE 0 // CDC ACM -#define CDC_DATA_INTERFACE 1 // CDC Data -#define CDC_FIRST_ENDPOINT 1 -#define CDC_ENDPOINT_ACM (CDC_FIRST_ENDPOINT) // CDC First -#define CDC_ENDPOINT_OUT (CDC_FIRST_ENDPOINT+1) -#define CDC_ENDPOINT_IN (CDC_FIRST_ENDPOINT+2) - -#define HID_INTERFACE (CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT) // HID Interface -#define HID_FIRST_ENDPOINT (CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT) -#define HID_ENDPOINT_INT (HID_FIRST_ENDPOINT) - -#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT) - -#ifdef CDC_ENABLED -#define CDC_RX CDC_ENDPOINT_OUT -#define CDC_TX CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED -#define HID_TX HID_ENDPOINT_INT -#endif - -#define IMANUFACTURER 1 -#define IPRODUCT 2 - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Udp.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Udp.h deleted file mode 100644 index dc5644b9d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/Udp.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Udp.cpp: Library to send/receive UDP packets. - * - * NOTE: UDP is fast, but has some important limitations (thanks to Warren Gray for mentioning these) - * 1) UDP does not guarantee the order in which assembled UDP packets are received. This - * might not happen often in practice, but in larger network topologies, a UDP - * packet can be received out of sequence. - * 2) UDP does not guard against lost packets - so packets *can* disappear without the sender being - * aware of it. Again, this may not be a concern in practice on small local networks. - * For more information, see http://www.cafeaulait.org/course/week12/35.html - * - * MIT License: - * Copyright (c) 2008 Bjoern Hartmann - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * bjoern@cs.stanford.edu 12/30/2008 - */ - -#ifndef udp_h -#define udp_h - -#include -#include - -class UDP : public Stream { - -public: - virtual uint8_t begin(uint16_t) =0; // initialize, start listening on specified port. Returns 1 if successful, 0 if there are no sockets available to use - virtual void stop() =0; // Finish with the UDP socket - - // Sending UDP packets - - // Start building up a packet to send to the remote host specific in ip and port - // Returns 1 if successful, 0 if there was a problem with the supplied IP address or port - virtual int beginPacket(IPAddress ip, uint16_t port) =0; - // Start building up a packet to send to the remote host specific in host and port - // Returns 1 if successful, 0 if there was a problem resolving the hostname or port - virtual int beginPacket(const char *host, uint16_t port) =0; - // Finish off this packet and send it - // Returns 1 if the packet was sent successfully, 0 if there was an error - virtual int endPacket() =0; - // Write a single byte into the packet - virtual size_t write(uint8_t) =0; - // Write size bytes from buffer into the packet - virtual size_t write(const uint8_t *buffer, size_t size) =0; - - // Start processing the next available incoming packet - // Returns the size of the packet in bytes, or 0 if no packets are available - virtual int parsePacket() =0; - // Number of bytes remaining in the current packet - virtual int available() =0; - // Read a single byte from the current packet - virtual int read() =0; - // Read up to len bytes from the current packet and place them into buffer - // Returns the number of bytes read, or 0 if none are available - virtual int read(unsigned char* buffer, size_t len) =0; - // Read up to len characters from the current packet and place them into buffer - // Returns the number of characters read, or 0 if none are available - virtual int read(char* buffer, size_t len) =0; - // Return the next byte from the current packet without moving on to the next byte - virtual int peek() =0; - virtual void flush() =0; // Finish reading the current packet - - // Return the IP address of the host who sent the current incoming packet - virtual IPAddress remoteIP() =0; - // Return the port of the host who sent the current incoming packet - virtual uint16_t remotePort() =0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WCharacter.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WCharacter.h deleted file mode 100644 index 79733b50a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WCharacter.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - WCharacter.h - Character utility functions for Wiring & Arduino - Copyright (c) 2010 Hernando Barragan. 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 Character_h -#define Character_h - -#include - -// WCharacter.h prototypes -inline boolean isAlphaNumeric(int c) __attribute__((always_inline)); -inline boolean isAlpha(int c) __attribute__((always_inline)); -inline boolean isAscii(int c) __attribute__((always_inline)); -inline boolean isWhitespace(int c) __attribute__((always_inline)); -inline boolean isControl(int c) __attribute__((always_inline)); -inline boolean isDigit(int c) __attribute__((always_inline)); -inline boolean isGraph(int c) __attribute__((always_inline)); -inline boolean isLowerCase(int c) __attribute__((always_inline)); -inline boolean isPrintable(int c) __attribute__((always_inline)); -inline boolean isPunct(int c) __attribute__((always_inline)); -inline boolean isSpace(int c) __attribute__((always_inline)); -inline boolean isUpperCase(int c) __attribute__((always_inline)); -inline boolean isHexadecimalDigit(int c) __attribute__((always_inline)); -inline int toAscii(int c) __attribute__((always_inline)); -inline int toLowerCase(int c) __attribute__((always_inline)); -inline int toUpperCase(int c)__attribute__((always_inline)); - - -// Checks for an alphanumeric character. -// It is equivalent to (isalpha(c) || isdigit(c)). -inline boolean isAlphaNumeric(int c) -{ - return ( isalnum(c) == 0 ? false : true); -} - - -// Checks for an alphabetic character. -// It is equivalent to (isupper(c) || islower(c)). -inline boolean isAlpha(int c) -{ - return ( isalpha(c) == 0 ? false : true); -} - - -// Checks whether c is a 7-bit unsigned char value -// that fits into the ASCII character set. -inline boolean isAscii(int c) -{ - return ( isascii (c) == 0 ? false : true); -} - - -// Checks for a blank character, that is, a space or a tab. -inline boolean isWhitespace(int c) -{ - return ( isblank (c) == 0 ? false : true); -} - - -// Checks for a control character. -inline boolean isControl(int c) -{ - return ( iscntrl (c) == 0 ? false : true); -} - - -// Checks for a digit (0 through 9). -inline boolean isDigit(int c) -{ - return ( isdigit (c) == 0 ? false : true); -} - - -// Checks for any printable character except space. -inline boolean isGraph(int c) -{ - return ( isgraph (c) == 0 ? false : true); -} - - -// Checks for a lower-case character. -inline boolean isLowerCase(int c) -{ - return (islower (c) == 0 ? false : true); -} - - -// Checks for any printable character including space. -inline boolean isPrintable(int c) -{ - return ( isprint (c) == 0 ? false : true); -} - - -// Checks for any printable character which is not a space -// or an alphanumeric character. -inline boolean isPunct(int c) -{ - return ( ispunct (c) == 0 ? false : true); -} - - -// Checks for white-space characters. For the avr-libc library, -// these are: space, formfeed ('\f'), newline ('\n'), carriage -// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v'). -inline boolean isSpace(int c) -{ - return ( isspace (c) == 0 ? false : true); -} - - -// Checks for an uppercase letter. -inline boolean isUpperCase(int c) -{ - return ( isupper (c) == 0 ? false : true); -} - - -// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 -// 8 9 a b c d e f A B C D E F. -inline boolean isHexadecimalDigit(int c) -{ - return ( isxdigit (c) == 0 ? false : true); -} - - -// Converts c to a 7-bit unsigned char value that fits into the -// ASCII character set, by clearing the high-order bits. -inline int toAscii(int c) -{ - return toascii (c); -} - - -// Warning: -// Many people will be unhappy if you use this function. -// This function will convert accented letters into random -// characters. - -// Converts the letter c to lower case, if possible. -inline int toLowerCase(int c) -{ - return tolower (c); -} - - -// Converts the letter c to upper case, if possible. -inline int toUpperCase(int c) -{ - return toupper (c); -} - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WInterrupts.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WInterrupts.c deleted file mode 100644 index 8f3ec847f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WInterrupts.c +++ /dev/null @@ -1,298 +0,0 @@ -/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Wiring project - http://wiring.uniandes.edu.co - - Copyright (c) 2004-05 Hernando Barragan - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 24 November 2006 by David A. Mellis - Modified 1 August 2010 by Mark Sproul -*/ - -#include -#include -#include -#include -#include - -#include "wiring_private.h" - -static volatile voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS]; -// volatile static voidFuncPtr twiIntFunc; - -void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) { - if(interruptNum < EXTERNAL_NUM_INTERRUPTS) { - intFunc[interruptNum] = userFunc; - - // Configure the interrupt mode (trigger on low input, any change, rising - // edge, or falling edge). The mode constants were chosen to correspond - // to the configuration bits in the hardware register, so we simply shift - // the mode into place. - - // Enable the interrupt. - - switch (interruptNum) { -#if defined(__AVR_ATmega32U4__) - // I hate doing this, but the register assignment differs between the 1280/2560 - // and the 32U4. Since avrlib defines registers PCMSK1 and PCMSK2 that aren't - // even present on the 32U4 this is the only way to distinguish between them. - case 0: - EICRA = (EICRA & ~((1<= howbig) { - return howsmall; - } - long diff = howbig - howsmall; - return random(diff) + howsmall; -} - -long map(long x, long in_min, long in_max, long out_min, long out_max) -{ - return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -} - -unsigned int makeWord(unsigned int w) { return w; } -unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; } \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.cpp deleted file mode 100644 index c6839fc0d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.cpp +++ /dev/null @@ -1,645 +0,0 @@ -/* - WString.cpp - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All rights reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 "WString.h" - - -/*********************************************/ -/* Constructors */ -/*********************************************/ - -String::String(const char *cstr) -{ - init(); - if (cstr) copy(cstr, strlen(cstr)); -} - -String::String(const String &value) -{ - init(); - *this = value; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String::String(String &&rval) -{ - init(); - move(rval); -} -String::String(StringSumHelper &&rval) -{ - init(); - move(rval); -} -#endif - -String::String(char c) -{ - init(); - char buf[2]; - buf[0] = c; - buf[1] = 0; - *this = buf; -} - -String::String(unsigned char value, unsigned char base) -{ - init(); - char buf[9]; - utoa(value, buf, base); - *this = buf; -} - -String::String(int value, unsigned char base) -{ - init(); - char buf[18]; - itoa(value, buf, base); - *this = buf; -} - -String::String(unsigned int value, unsigned char base) -{ - init(); - char buf[17]; - utoa(value, buf, base); - *this = buf; -} - -String::String(long value, unsigned char base) -{ - init(); - char buf[34]; - ltoa(value, buf, base); - *this = buf; -} - -String::String(unsigned long value, unsigned char base) -{ - init(); - char buf[33]; - ultoa(value, buf, base); - *this = buf; -} - -String::~String() -{ - free(buffer); -} - -/*********************************************/ -/* Memory Management */ -/*********************************************/ - -inline void String::init(void) -{ - buffer = NULL; - capacity = 0; - len = 0; - flags = 0; -} - -void String::invalidate(void) -{ - if (buffer) free(buffer); - buffer = NULL; - capacity = len = 0; -} - -unsigned char String::reserve(unsigned int size) -{ - if (buffer && capacity >= size) return 1; - if (changeBuffer(size)) { - if (len == 0) buffer[0] = 0; - return 1; - } - return 0; -} - -unsigned char String::changeBuffer(unsigned int maxStrLen) -{ - char *newbuffer = (char *)realloc(buffer, maxStrLen + 1); - if (newbuffer) { - buffer = newbuffer; - capacity = maxStrLen; - return 1; - } - return 0; -} - -/*********************************************/ -/* Copy and Move */ -/*********************************************/ - -String & String::copy(const char *cstr, unsigned int length) -{ - if (!reserve(length)) { - invalidate(); - return *this; - } - len = length; - strcpy(buffer, cstr); - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -void String::move(String &rhs) -{ - if (buffer) { - if (capacity >= rhs.len) { - strcpy(buffer, rhs.buffer); - len = rhs.len; - rhs.len = 0; - return; - } else { - free(buffer); - } - } - buffer = rhs.buffer; - capacity = rhs.capacity; - len = rhs.len; - rhs.buffer = NULL; - rhs.capacity = 0; - rhs.len = 0; -} -#endif - -String & String::operator = (const String &rhs) -{ - if (this == &rhs) return *this; - - if (rhs.buffer) copy(rhs.buffer, rhs.len); - else invalidate(); - - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String & String::operator = (String &&rval) -{ - if (this != &rval) move(rval); - return *this; -} - -String & String::operator = (StringSumHelper &&rval) -{ - if (this != &rval) move(rval); - return *this; -} -#endif - -String & String::operator = (const char *cstr) -{ - if (cstr) copy(cstr, strlen(cstr)); - else invalidate(); - - return *this; -} - -/*********************************************/ -/* concat */ -/*********************************************/ - -unsigned char String::concat(const String &s) -{ - return concat(s.buffer, s.len); -} - -unsigned char String::concat(const char *cstr, unsigned int length) -{ - unsigned int newlen = len + length; - if (!cstr) return 0; - if (length == 0) return 1; - if (!reserve(newlen)) return 0; - strcpy(buffer + len, cstr); - len = newlen; - return 1; -} - -unsigned char String::concat(const char *cstr) -{ - if (!cstr) return 0; - return concat(cstr, strlen(cstr)); -} - -unsigned char String::concat(char c) -{ - char buf[2]; - buf[0] = c; - buf[1] = 0; - return concat(buf, 1); -} - -unsigned char String::concat(unsigned char num) -{ - char buf[4]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(int num) -{ - char buf[7]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned int num) -{ - char buf[6]; - utoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(long num) -{ - char buf[12]; - ltoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned long num) -{ - char buf[11]; - ultoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -/*********************************************/ -/* Concatenate */ -/*********************************************/ - -StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(rhs.buffer, rhs.len)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr) -{ - StringSumHelper &a = const_cast(lhs); - if (!cstr || !a.concat(cstr, strlen(cstr))) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, char c) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(c)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -/*********************************************/ -/* Comparison */ -/*********************************************/ - -int String::compareTo(const String &s) const -{ - if (!buffer || !s.buffer) { - if (s.buffer && s.len > 0) return 0 - *(unsigned char *)s.buffer; - if (buffer && len > 0) return *(unsigned char *)buffer; - return 0; - } - return strcmp(buffer, s.buffer); -} - -unsigned char String::equals(const String &s2) const -{ - return (len == s2.len && compareTo(s2) == 0); -} - -unsigned char String::equals(const char *cstr) const -{ - if (len == 0) return (cstr == NULL || *cstr == 0); - if (cstr == NULL) return buffer[0] == 0; - return strcmp(buffer, cstr) == 0; -} - -unsigned char String::operator<(const String &rhs) const -{ - return compareTo(rhs) < 0; -} - -unsigned char String::operator>(const String &rhs) const -{ - return compareTo(rhs) > 0; -} - -unsigned char String::operator<=(const String &rhs) const -{ - return compareTo(rhs) <= 0; -} - -unsigned char String::operator>=(const String &rhs) const -{ - return compareTo(rhs) >= 0; -} - -unsigned char String::equalsIgnoreCase( const String &s2 ) const -{ - if (this == &s2) return 1; - if (len != s2.len) return 0; - if (len == 0) return 1; - const char *p1 = buffer; - const char *p2 = s2.buffer; - while (*p1) { - if (tolower(*p1++) != tolower(*p2++)) return 0; - } - return 1; -} - -unsigned char String::startsWith( const String &s2 ) const -{ - if (len < s2.len) return 0; - return startsWith(s2, 0); -} - -unsigned char String::startsWith( const String &s2, unsigned int offset ) const -{ - if (offset > len - s2.len || !buffer || !s2.buffer) return 0; - return strncmp( &buffer[offset], s2.buffer, s2.len ) == 0; -} - -unsigned char String::endsWith( const String &s2 ) const -{ - if ( len < s2.len || !buffer || !s2.buffer) return 0; - return strcmp(&buffer[len - s2.len], s2.buffer) == 0; -} - -/*********************************************/ -/* Character Access */ -/*********************************************/ - -char String::charAt(unsigned int loc) const -{ - return operator[](loc); -} - -void String::setCharAt(unsigned int loc, char c) -{ - if (loc < len) buffer[loc] = c; -} - -char & String::operator[](unsigned int index) -{ - static char dummy_writable_char; - if (index >= len || !buffer) { - dummy_writable_char = 0; - return dummy_writable_char; - } - return buffer[index]; -} - -char String::operator[]( unsigned int index ) const -{ - if (index >= len || !buffer) return 0; - return buffer[index]; -} - -void String::getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index) const -{ - if (!bufsize || !buf) return; - if (index >= len) { - buf[0] = 0; - return; - } - unsigned int n = bufsize - 1; - if (n > len - index) n = len - index; - strncpy((char *)buf, buffer + index, n); - buf[n] = 0; -} - -/*********************************************/ -/* Search */ -/*********************************************/ - -int String::indexOf(char c) const -{ - return indexOf(c, 0); -} - -int String::indexOf( char ch, unsigned int fromIndex ) const -{ - if (fromIndex >= len) return -1; - const char* temp = strchr(buffer + fromIndex, ch); - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::indexOf(const String &s2) const -{ - return indexOf(s2, 0); -} - -int String::indexOf(const String &s2, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - const char *found = strstr(buffer + fromIndex, s2.buffer); - if (found == NULL) return -1; - return found - buffer; -} - -int String::lastIndexOf( char theChar ) const -{ - return lastIndexOf(theChar, len - 1); -} - -int String::lastIndexOf(char ch, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - char tempchar = buffer[fromIndex + 1]; - buffer[fromIndex + 1] = '\0'; - char* temp = strrchr( buffer, ch ); - buffer[fromIndex + 1] = tempchar; - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::lastIndexOf(const String &s2) const -{ - return lastIndexOf(s2, len - s2.len); -} - -int String::lastIndexOf(const String &s2, unsigned int fromIndex) const -{ - if (s2.len == 0 || len == 0 || s2.len > len) return -1; - if (fromIndex >= len) fromIndex = len - 1; - int found = -1; - for (char *p = buffer; p <= buffer + fromIndex; p++) { - p = strstr(p, s2.buffer); - if (!p) break; - if ((unsigned int)(p - buffer) <= fromIndex) found = p - buffer; - } - return found; -} - -String String::substring( unsigned int left ) const -{ - return substring(left, len); -} - -String String::substring(unsigned int left, unsigned int right) const -{ - if (left > right) { - unsigned int temp = right; - right = left; - left = temp; - } - String out; - if (left > len) return out; - if (right > len) right = len; - char temp = buffer[right]; // save the replaced character - buffer[right] = '\0'; - out = buffer + left; // pointer arithmetic - buffer[right] = temp; //restore character - return out; -} - -/*********************************************/ -/* Modification */ -/*********************************************/ - -void String::replace(char find, char replace) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - if (*p == find) *p = replace; - } -} - -void String::replace(const String& find, const String& replace) -{ - if (len == 0 || find.len == 0) return; - int diff = replace.len - find.len; - char *readFrom = buffer; - char *foundAt; - if (diff == 0) { - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - memcpy(foundAt, replace.buffer, replace.len); - readFrom = foundAt + replace.len; - } - } else if (diff < 0) { - char *writeTo = buffer; - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - unsigned int n = foundAt - readFrom; - memcpy(writeTo, readFrom, n); - writeTo += n; - memcpy(writeTo, replace.buffer, replace.len); - writeTo += replace.len; - readFrom = foundAt + find.len; - len += diff; - } - strcpy(writeTo, readFrom); - } else { - unsigned int size = len; // compute size needed for result - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - readFrom = foundAt + find.len; - size += diff; - } - if (size == len) return; - if (size > capacity && !changeBuffer(size)) return; // XXX: tell user! - int index = len - 1; - while (index >= 0 && (index = lastIndexOf(find, index)) >= 0) { - readFrom = buffer + index + find.len; - memmove(readFrom + diff, readFrom, len - (readFrom - buffer)); - len += diff; - buffer[len] = 0; - memcpy(buffer + index, replace.buffer, replace.len); - index--; - } - } -} - -void String::toLowerCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = tolower(*p); - } -} - -void String::toUpperCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = toupper(*p); - } -} - -void String::trim(void) -{ - if (!buffer || len == 0) return; - char *begin = buffer; - while (isspace(*begin)) begin++; - char *end = buffer + len - 1; - while (isspace(*end) && end >= begin) end--; - len = end + 1 - begin; - if (begin > buffer) memcpy(buffer, begin, len); - buffer[len] = 0; -} - -/*********************************************/ -/* Parsing / Conversion */ -/*********************************************/ - -long String::toInt(void) const -{ - if (buffer) return atol(buffer); - return 0; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.h deleted file mode 100644 index d76d2a33d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/WString.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - WString.h - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All right reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 String_class_h -#define String_class_h -#ifdef __cplusplus - -#include -#include -#include -#include - -// When compiling programs with this class, the following gcc parameters -// dramatically increase performance and memory (RAM) efficiency, typically -// with little or no increase in code size. -// -felide-constructors -// -std=c++0x - -class __FlashStringHelper; -#define F(string_literal) (reinterpret_cast<__FlashStringHelper *>(PSTR(string_literal))) - -// An inherited class for holding the result of a concatenation. These -// result objects are assumed to be writable by subsequent concatenations. -class StringSumHelper; - -// The string class -class String -{ - // use a function pointer to allow for "if (s)" without the - // complications of an operator bool(). for more information, see: - // http://www.artima.com/cppsource/safebool.html - typedef void (String::*StringIfHelperType)() const; - void StringIfHelper() const {} - -public: - // constructors - // creates a copy of the initial value. - // if the initial value is null or invalid, or if memory allocation - // fails, the string will be marked as invalid (i.e. "if (s)" will - // be false). - String(const char *cstr = ""); - String(const String &str); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String(String &&rval); - String(StringSumHelper &&rval); - #endif - explicit String(char c); - explicit String(unsigned char, unsigned char base=10); - explicit String(int, unsigned char base=10); - explicit String(unsigned int, unsigned char base=10); - explicit String(long, unsigned char base=10); - explicit String(unsigned long, unsigned char base=10); - ~String(void); - - // memory management - // return true on success, false on failure (in which case, the string - // is left unchanged). reserve(0), if successful, will validate an - // invalid string (i.e., "if (s)" will be true afterwards) - unsigned char reserve(unsigned int size); - inline unsigned int length(void) const {return len;} - - // creates a copy of the assigned value. if the value is null or - // invalid, or if the memory allocation fails, the string will be - // marked as invalid ("if (s)" will be false). - String & operator = (const String &rhs); - String & operator = (const char *cstr); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String & operator = (String &&rval); - String & operator = (StringSumHelper &&rval); - #endif - - // concatenate (works w/ built-in types) - - // returns true on success, false on failure (in which case, the string - // is left unchanged). if the argument is null or invalid, the - // concatenation is considered unsucessful. - unsigned char concat(const String &str); - unsigned char concat(const char *cstr); - unsigned char concat(char c); - unsigned char concat(unsigned char c); - unsigned char concat(int num); - unsigned char concat(unsigned int num); - unsigned char concat(long num); - unsigned char concat(unsigned long num); - - // if there's not enough memory for the concatenated value, the string - // will be left unchanged (but this isn't signalled in any way) - String & operator += (const String &rhs) {concat(rhs); return (*this);} - String & operator += (const char *cstr) {concat(cstr); return (*this);} - String & operator += (char c) {concat(c); return (*this);} - String & operator += (unsigned char num) {concat(num); return (*this);} - String & operator += (int num) {concat(num); return (*this);} - String & operator += (unsigned int num) {concat(num); return (*this);} - String & operator += (long num) {concat(num); return (*this);} - String & operator += (unsigned long num) {concat(num); return (*this);} - - friend StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs); - friend StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr); - friend StringSumHelper & operator + (const StringSumHelper &lhs, char c); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, long num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num); - - // comparison (only works w/ Strings and "strings") - operator StringIfHelperType() const { return buffer ? &String::StringIfHelper : 0; } - int compareTo(const String &s) const; - unsigned char equals(const String &s) const; - unsigned char equals(const char *cstr) const; - unsigned char operator == (const String &rhs) const {return equals(rhs);} - unsigned char operator == (const char *cstr) const {return equals(cstr);} - unsigned char operator != (const String &rhs) const {return !equals(rhs);} - unsigned char operator != (const char *cstr) const {return !equals(cstr);} - unsigned char operator < (const String &rhs) const; - unsigned char operator > (const String &rhs) const; - unsigned char operator <= (const String &rhs) const; - unsigned char operator >= (const String &rhs) const; - unsigned char equalsIgnoreCase(const String &s) const; - unsigned char startsWith( const String &prefix) const; - unsigned char startsWith(const String &prefix, unsigned int offset) const; - unsigned char endsWith(const String &suffix) const; - - // character acccess - char charAt(unsigned int index) const; - void setCharAt(unsigned int index, char c); - char operator [] (unsigned int index) const; - char& operator [] (unsigned int index); - void getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index=0) const; - void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const - {getBytes((unsigned char *)buf, bufsize, index);} - - // search - int indexOf( char ch ) const; - int indexOf( char ch, unsigned int fromIndex ) const; - int indexOf( const String &str ) const; - int indexOf( const String &str, unsigned int fromIndex ) const; - int lastIndexOf( char ch ) const; - int lastIndexOf( char ch, unsigned int fromIndex ) const; - int lastIndexOf( const String &str ) const; - int lastIndexOf( const String &str, unsigned int fromIndex ) const; - String substring( unsigned int beginIndex ) const; - String substring( unsigned int beginIndex, unsigned int endIndex ) const; - - // modification - void replace(char find, char replace); - void replace(const String& find, const String& replace); - void toLowerCase(void); - void toUpperCase(void); - void trim(void); - - // parsing/conversion - long toInt(void) const; - -protected: - char *buffer; // the actual char array - unsigned int capacity; // the array length minus one (for the '\0') - unsigned int len; // the String length (not counting the '\0') - unsigned char flags; // unused, for future features -protected: - void init(void); - void invalidate(void); - unsigned char changeBuffer(unsigned int maxStrLen); - unsigned char concat(const char *cstr, unsigned int length); - - // copy and move - String & copy(const char *cstr, unsigned int length); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void move(String &rhs); - #endif -}; - -class StringSumHelper : public String -{ -public: - StringSumHelper(const String &s) : String(s) {} - StringSumHelper(const char *p) : String(p) {} - StringSumHelper(char c) : String(c) {} - StringSumHelper(unsigned char num) : String(num) {} - StringSumHelper(int num) : String(num) {} - StringSumHelper(unsigned int num) : String(num) {} - StringSumHelper(long num) : String(num) {} - StringSumHelper(unsigned long num) : String(num) {} -}; - -#endif // __cplusplus -#endif // String_class_h diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/binary.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/binary.h deleted file mode 100644 index af1498033..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/binary.h +++ /dev/null @@ -1,515 +0,0 @@ -#ifndef Binary_h -#define Binary_h - -#define B0 0 -#define B00 0 -#define B000 0 -#define B0000 0 -#define B00000 0 -#define B000000 0 -#define B0000000 0 -#define B00000000 0 -#define B1 1 -#define B01 1 -#define B001 1 -#define B0001 1 -#define B00001 1 -#define B000001 1 -#define B0000001 1 -#define B00000001 1 -#define B10 2 -#define B010 2 -#define B0010 2 -#define B00010 2 -#define B000010 2 -#define B0000010 2 -#define B00000010 2 -#define B11 3 -#define B011 3 -#define B0011 3 -#define B00011 3 -#define B000011 3 -#define B0000011 3 -#define B00000011 3 -#define B100 4 -#define B0100 4 -#define B00100 4 -#define B000100 4 -#define B0000100 4 -#define B00000100 4 -#define B101 5 -#define B0101 5 -#define B00101 5 -#define B000101 5 -#define B0000101 5 -#define B00000101 5 -#define B110 6 -#define B0110 6 -#define B00110 6 -#define B000110 6 -#define B0000110 6 -#define B00000110 6 -#define B111 7 -#define B0111 7 -#define B00111 7 -#define B000111 7 -#define B0000111 7 -#define B00000111 7 -#define B1000 8 -#define B01000 8 -#define B001000 8 -#define B0001000 8 -#define B00001000 8 -#define B1001 9 -#define B01001 9 -#define B001001 9 -#define B0001001 9 -#define B00001001 9 -#define B1010 10 -#define B01010 10 -#define B001010 10 -#define B0001010 10 -#define B00001010 10 -#define B1011 11 -#define B01011 11 -#define B001011 11 -#define B0001011 11 -#define B00001011 11 -#define B1100 12 -#define B01100 12 -#define B001100 12 -#define B0001100 12 -#define B00001100 12 -#define B1101 13 -#define B01101 13 -#define B001101 13 -#define B0001101 13 -#define B00001101 13 -#define B1110 14 -#define B01110 14 -#define B001110 14 -#define B0001110 14 -#define B00001110 14 -#define B1111 15 -#define B01111 15 -#define B001111 15 -#define B0001111 15 -#define B00001111 15 -#define B10000 16 -#define B010000 16 -#define B0010000 16 -#define B00010000 16 -#define B10001 17 -#define B010001 17 -#define B0010001 17 -#define B00010001 17 -#define B10010 18 -#define B010010 18 -#define B0010010 18 -#define B00010010 18 -#define B10011 19 -#define B010011 19 -#define B0010011 19 -#define B00010011 19 -#define B10100 20 -#define B010100 20 -#define B0010100 20 -#define B00010100 20 -#define B10101 21 -#define B010101 21 -#define B0010101 21 -#define B00010101 21 -#define B10110 22 -#define B010110 22 -#define B0010110 22 -#define B00010110 22 -#define B10111 23 -#define B010111 23 -#define B0010111 23 -#define B00010111 23 -#define B11000 24 -#define B011000 24 -#define B0011000 24 -#define B00011000 24 -#define B11001 25 -#define B011001 25 -#define B0011001 25 -#define B00011001 25 -#define B11010 26 -#define B011010 26 -#define B0011010 26 -#define B00011010 26 -#define B11011 27 -#define B011011 27 -#define B0011011 27 -#define B00011011 27 -#define B11100 28 -#define B011100 28 -#define B0011100 28 -#define B00011100 28 -#define B11101 29 -#define B011101 29 -#define B0011101 29 -#define B00011101 29 -#define B11110 30 -#define B011110 30 -#define B0011110 30 -#define B00011110 30 -#define B11111 31 -#define B011111 31 -#define B0011111 31 -#define B00011111 31 -#define B100000 32 -#define B0100000 32 -#define B00100000 32 -#define B100001 33 -#define B0100001 33 -#define B00100001 33 -#define B100010 34 -#define B0100010 34 -#define B00100010 34 -#define B100011 35 -#define B0100011 35 -#define B00100011 35 -#define B100100 36 -#define B0100100 36 -#define B00100100 36 -#define B100101 37 -#define B0100101 37 -#define B00100101 37 -#define B100110 38 -#define B0100110 38 -#define B00100110 38 -#define B100111 39 -#define B0100111 39 -#define B00100111 39 -#define B101000 40 -#define B0101000 40 -#define B00101000 40 -#define B101001 41 -#define B0101001 41 -#define B00101001 41 -#define B101010 42 -#define B0101010 42 -#define B00101010 42 -#define B101011 43 -#define B0101011 43 -#define B00101011 43 -#define B101100 44 -#define B0101100 44 -#define B00101100 44 -#define B101101 45 -#define B0101101 45 -#define B00101101 45 -#define B101110 46 -#define B0101110 46 -#define B00101110 46 -#define B101111 47 -#define B0101111 47 -#define B00101111 47 -#define B110000 48 -#define B0110000 48 -#define B00110000 48 -#define B110001 49 -#define B0110001 49 -#define B00110001 49 -#define B110010 50 -#define B0110010 50 -#define B00110010 50 -#define B110011 51 -#define B0110011 51 -#define B00110011 51 -#define B110100 52 -#define B0110100 52 -#define B00110100 52 -#define B110101 53 -#define B0110101 53 -#define B00110101 53 -#define B110110 54 -#define B0110110 54 -#define B00110110 54 -#define B110111 55 -#define B0110111 55 -#define B00110111 55 -#define B111000 56 -#define B0111000 56 -#define B00111000 56 -#define B111001 57 -#define B0111001 57 -#define B00111001 57 -#define B111010 58 -#define B0111010 58 -#define B00111010 58 -#define B111011 59 -#define B0111011 59 -#define B00111011 59 -#define B111100 60 -#define B0111100 60 -#define B00111100 60 -#define B111101 61 -#define B0111101 61 -#define B00111101 61 -#define B111110 62 -#define B0111110 62 -#define B00111110 62 -#define B111111 63 -#define B0111111 63 -#define B00111111 63 -#define B1000000 64 -#define B01000000 64 -#define B1000001 65 -#define B01000001 65 -#define B1000010 66 -#define B01000010 66 -#define B1000011 67 -#define B01000011 67 -#define B1000100 68 -#define B01000100 68 -#define B1000101 69 -#define B01000101 69 -#define B1000110 70 -#define B01000110 70 -#define B1000111 71 -#define B01000111 71 -#define B1001000 72 -#define B01001000 72 -#define B1001001 73 -#define B01001001 73 -#define B1001010 74 -#define B01001010 74 -#define B1001011 75 -#define B01001011 75 -#define B1001100 76 -#define B01001100 76 -#define B1001101 77 -#define B01001101 77 -#define B1001110 78 -#define B01001110 78 -#define B1001111 79 -#define B01001111 79 -#define B1010000 80 -#define B01010000 80 -#define B1010001 81 -#define B01010001 81 -#define B1010010 82 -#define B01010010 82 -#define B1010011 83 -#define B01010011 83 -#define B1010100 84 -#define B01010100 84 -#define B1010101 85 -#define B01010101 85 -#define B1010110 86 -#define B01010110 86 -#define B1010111 87 -#define B01010111 87 -#define B1011000 88 -#define B01011000 88 -#define B1011001 89 -#define B01011001 89 -#define B1011010 90 -#define B01011010 90 -#define B1011011 91 -#define B01011011 91 -#define B1011100 92 -#define B01011100 92 -#define B1011101 93 -#define B01011101 93 -#define B1011110 94 -#define B01011110 94 -#define B1011111 95 -#define B01011111 95 -#define B1100000 96 -#define B01100000 96 -#define B1100001 97 -#define B01100001 97 -#define B1100010 98 -#define B01100010 98 -#define B1100011 99 -#define B01100011 99 -#define B1100100 100 -#define B01100100 100 -#define B1100101 101 -#define B01100101 101 -#define B1100110 102 -#define B01100110 102 -#define B1100111 103 -#define B01100111 103 -#define B1101000 104 -#define B01101000 104 -#define B1101001 105 -#define B01101001 105 -#define B1101010 106 -#define B01101010 106 -#define B1101011 107 -#define B01101011 107 -#define B1101100 108 -#define B01101100 108 -#define B1101101 109 -#define B01101101 109 -#define B1101110 110 -#define B01101110 110 -#define B1101111 111 -#define B01101111 111 -#define B1110000 112 -#define B01110000 112 -#define B1110001 113 -#define B01110001 113 -#define B1110010 114 -#define B01110010 114 -#define B1110011 115 -#define B01110011 115 -#define B1110100 116 -#define B01110100 116 -#define B1110101 117 -#define B01110101 117 -#define B1110110 118 -#define B01110110 118 -#define B1110111 119 -#define B01110111 119 -#define B1111000 120 -#define B01111000 120 -#define B1111001 121 -#define B01111001 121 -#define B1111010 122 -#define B01111010 122 -#define B1111011 123 -#define B01111011 123 -#define B1111100 124 -#define B01111100 124 -#define B1111101 125 -#define B01111101 125 -#define B1111110 126 -#define B01111110 126 -#define B1111111 127 -#define B01111111 127 -#define B10000000 128 -#define B10000001 129 -#define B10000010 130 -#define B10000011 131 -#define B10000100 132 -#define B10000101 133 -#define B10000110 134 -#define B10000111 135 -#define B10001000 136 -#define B10001001 137 -#define B10001010 138 -#define B10001011 139 -#define B10001100 140 -#define B10001101 141 -#define B10001110 142 -#define B10001111 143 -#define B10010000 144 -#define B10010001 145 -#define B10010010 146 -#define B10010011 147 -#define B10010100 148 -#define B10010101 149 -#define B10010110 150 -#define B10010111 151 -#define B10011000 152 -#define B10011001 153 -#define B10011010 154 -#define B10011011 155 -#define B10011100 156 -#define B10011101 157 -#define B10011110 158 -#define B10011111 159 -#define B10100000 160 -#define B10100001 161 -#define B10100010 162 -#define B10100011 163 -#define B10100100 164 -#define B10100101 165 -#define B10100110 166 -#define B10100111 167 -#define B10101000 168 -#define B10101001 169 -#define B10101010 170 -#define B10101011 171 -#define B10101100 172 -#define B10101101 173 -#define B10101110 174 -#define B10101111 175 -#define B10110000 176 -#define B10110001 177 -#define B10110010 178 -#define B10110011 179 -#define B10110100 180 -#define B10110101 181 -#define B10110110 182 -#define B10110111 183 -#define B10111000 184 -#define B10111001 185 -#define B10111010 186 -#define B10111011 187 -#define B10111100 188 -#define B10111101 189 -#define B10111110 190 -#define B10111111 191 -#define B11000000 192 -#define B11000001 193 -#define B11000010 194 -#define B11000011 195 -#define B11000100 196 -#define B11000101 197 -#define B11000110 198 -#define B11000111 199 -#define B11001000 200 -#define B11001001 201 -#define B11001010 202 -#define B11001011 203 -#define B11001100 204 -#define B11001101 205 -#define B11001110 206 -#define B11001111 207 -#define B11010000 208 -#define B11010001 209 -#define B11010010 210 -#define B11010011 211 -#define B11010100 212 -#define B11010101 213 -#define B11010110 214 -#define B11010111 215 -#define B11011000 216 -#define B11011001 217 -#define B11011010 218 -#define B11011011 219 -#define B11011100 220 -#define B11011101 221 -#define B11011110 222 -#define B11011111 223 -#define B11100000 224 -#define B11100001 225 -#define B11100010 226 -#define B11100011 227 -#define B11100100 228 -#define B11100101 229 -#define B11100110 230 -#define B11100111 231 -#define B11101000 232 -#define B11101001 233 -#define B11101010 234 -#define B11101011 235 -#define B11101100 236 -#define B11101101 237 -#define B11101110 238 -#define B11101111 239 -#define B11110000 240 -#define B11110001 241 -#define B11110010 242 -#define B11110011 243 -#define B11110100 244 -#define B11110101 245 -#define B11110110 246 -#define B11110111 247 -#define B11111000 248 -#define B11111001 249 -#define B11111010 250 -#define B11111011 251 -#define B11111100 252 -#define B11111101 253 -#define B11111110 254 -#define B11111111 255 - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/main.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/main.cpp deleted file mode 100644 index 3d4e079d2..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include - -int main(void) -{ - init(); - -#if defined(USBCON) - USBDevice.attach(); -#endif - - setup(); - - for (;;) { - loop(); - if (serialEventRun) serialEventRun(); - } - - return 0; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.cpp deleted file mode 100644 index 0f6d4220e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include - -void * operator new(size_t size) -{ - return malloc(size); -} - -void operator delete(void * ptr) -{ - free(ptr); -} - -int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);}; -void __cxa_guard_release (__guard *g) {*(char *)g = 1;}; -void __cxa_guard_abort (__guard *) {}; - -void __cxa_pure_virtual(void) {}; - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.h deleted file mode 100644 index cd940ce8b..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/new.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Header to define new/delete operators as they aren't provided by avr-gcc by default - Taken from http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=59453 - */ - -#ifndef NEW_H -#define NEW_H - -#include - -void * operator new(size_t size); -void operator delete(void * ptr); - -__extension__ typedef int __guard __attribute__((mode (__DI__))); - -extern "C" int __cxa_guard_acquire(__guard *); -extern "C" void __cxa_guard_release (__guard *); -extern "C" void __cxa_guard_abort (__guard *); - -extern "C" void __cxa_pure_virtual(void); - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring.c deleted file mode 100644 index ac8bb6f9b..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - wiring.c - Partial implementation of the Wiring API for the ATmega8. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include "wiring_private.h" - -// the prescaler is set so that timer0 ticks every 64 clock cycles, and the -// the overflow handler is called every 256 ticks. -#define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256)) - -// the whole number of milliseconds per timer0 overflow -#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000) - -// the fractional number of milliseconds per timer0 overflow. we shift right -// by three to fit these numbers into a byte. (for the clock speeds we care -// about - 8 and 16 MHz - this doesn't lose precision.) -#define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3) -#define FRACT_MAX (1000 >> 3) - -volatile unsigned long timer0_overflow_count = 0; -volatile unsigned long timer0_millis = 0; -static unsigned char timer0_fract = 0; - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) -SIGNAL(TIM0_OVF_vect) -#else -SIGNAL(TIMER0_OVF_vect) -#endif -{ - // copy these to local variables so they can be stored in registers - // (volatile variables must be read from memory on every access) - unsigned long m = timer0_millis; - unsigned char f = timer0_fract; - - m += MILLIS_INC; - f += FRACT_INC; - if (f >= FRACT_MAX) { - f -= FRACT_MAX; - m += 1; - } - - timer0_fract = f; - timer0_millis = m; - timer0_overflow_count++; -} - -unsigned long millis() -{ - unsigned long m; - uint8_t oldSREG = SREG; - - // disable interrupts while we read timer0_millis or we might get an - // inconsistent value (e.g. in the middle of a write to timer0_millis) - cli(); - m = timer0_millis; - SREG = oldSREG; - - return m; -} - -unsigned long micros() { - unsigned long m; - uint8_t oldSREG = SREG, t; - - cli(); - m = timer0_overflow_count; -#if defined(TCNT0) - t = TCNT0; -#elif defined(TCNT0L) - t = TCNT0L; -#else - #error TIMER 0 not defined -#endif - - -#ifdef TIFR0 - if ((TIFR0 & _BV(TOV0)) && (t < 255)) - m++; -#else - if ((TIFR & _BV(TOV0)) && (t < 255)) - m++; -#endif - - SREG = oldSREG; - - return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond()); -} - -void delay(unsigned long ms) -{ - uint16_t start = (uint16_t)micros(); - - while (ms > 0) { - if (((uint16_t)micros() - start) >= 1000) { - ms--; - start += 1000; - } - } -} - -/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */ -void delayMicroseconds(unsigned int us) -{ - // calling avrlib's delay_us() function with low values (e.g. 1 or - // 2 microseconds) gives delays longer than desired. - //delay_us(us); -#if F_CPU >= 20000000L - // for the 20 MHz clock on rare Arduino boards - - // for a one-microsecond delay, simply wait 2 cycle and return. The overhead - // of the function call yields a delay of exactly a one microsecond. - __asm__ __volatile__ ( - "nop" "\n\t" - "nop"); //just waiting 2 cycle - if (--us == 0) - return; - - // the following loop takes a 1/5 of a microsecond (4 cycles) - // per iteration, so execute it five times for each microsecond of - // delay requested. - us = (us<<2) + us; // x5 us - - // account for the time taken in the preceeding commands. - us -= 2; - -#elif F_CPU >= 16000000L - // for the 16 MHz clock on most Arduino boards - - // for a one-microsecond delay, simply return. the overhead - // of the function call yields a delay of approximately 1 1/8 us. - if (--us == 0) - return; - - // the following loop takes a quarter of a microsecond (4 cycles) - // per iteration, so execute it four times for each microsecond of - // delay requested. - us <<= 2; - - // account for the time taken in the preceeding commands. - us -= 2; -#else - // for the 8 MHz internal clock on the ATmega168 - - // for a one- or two-microsecond delay, simply return. the overhead of - // the function calls takes more than two microseconds. can't just - // subtract two, since us is unsigned; we'd overflow. - if (--us == 0) - return; - if (--us == 0) - return; - - // the following loop takes half of a microsecond (4 cycles) - // per iteration, so execute it twice for each microsecond of - // delay requested. - us <<= 1; - - // partially compensate for the time taken by the preceeding commands. - // we can't subtract any more than this or we'd overflow w/ small delays. - us--; -#endif - - // busy wait - __asm__ __volatile__ ( - "1: sbiw %0,1" "\n\t" // 2 cycles - "brne 1b" : "=w" (us) : "0" (us) // 2 cycles - ); -} - -void init() -{ - // this needs to be called before setup() or some functions won't - // work there - sei(); - - // on the ATmega168, timer 0 is also used for fast hardware pwm - // (using phase-correct PWM would mean that timer 0 overflowed half as often - // resulting in different millis() behavior on the ATmega8 and ATmega168) -#if defined(TCCR0A) && defined(WGM01) - sbi(TCCR0A, WGM01); - sbi(TCCR0A, WGM00); -#endif - - // set timer 0 prescale factor to 64 -#if defined(__AVR_ATmega128__) - // CPU specific: different values for the ATmega128 - sbi(TCCR0, CS02); -#elif defined(TCCR0) && defined(CS01) && defined(CS00) - // this combination is for the standard atmega8 - sbi(TCCR0, CS01); - sbi(TCCR0, CS00); -#elif defined(TCCR0B) && defined(CS01) && defined(CS00) - // this combination is for the standard 168/328/1280/2560 - sbi(TCCR0B, CS01); - sbi(TCCR0B, CS00); -#elif defined(TCCR0A) && defined(CS01) && defined(CS00) - // this combination is for the __AVR_ATmega645__ series - sbi(TCCR0A, CS01); - sbi(TCCR0A, CS00); -#else - #error Timer 0 prescale factor 64 not set correctly -#endif - - // enable timer 0 overflow interrupt -#if defined(TIMSK) && defined(TOIE0) - sbi(TIMSK, TOIE0); -#elif defined(TIMSK0) && defined(TOIE0) - sbi(TIMSK0, TOIE0); -#else - #error Timer 0 overflow interrupt not set correctly -#endif - - // timers 1 and 2 are used for phase-correct hardware pwm - // this is better for motors as it ensures an even waveform - // note, however, that fast pwm mode can achieve a frequency of up - // 8 MHz (with a 16 MHz clock) at 50% duty cycle - -#if defined(TCCR1B) && defined(CS11) && defined(CS10) - TCCR1B = 0; - - // set timer 1 prescale factor to 64 - sbi(TCCR1B, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1B, CS10); -#endif -#elif defined(TCCR1) && defined(CS11) && defined(CS10) - sbi(TCCR1, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1, CS10); -#endif -#endif - // put timer 1 in 8-bit phase correct pwm mode -#if defined(TCCR1A) && defined(WGM10) - sbi(TCCR1A, WGM10); -#elif defined(TCCR1) - #warning this needs to be finished -#endif - - // set timer 2 prescale factor to 64 -#if defined(TCCR2) && defined(CS22) - sbi(TCCR2, CS22); -#elif defined(TCCR2B) && defined(CS22) - sbi(TCCR2B, CS22); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - - // configure timer 2 for phase correct pwm (8-bit) -#if defined(TCCR2) && defined(WGM20) - sbi(TCCR2, WGM20); -#elif defined(TCCR2A) && defined(WGM20) - sbi(TCCR2A, WGM20); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - -#if defined(TCCR3B) && defined(CS31) && defined(WGM30) - sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64 - sbi(TCCR3B, CS30); - sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode -#endif - -#if defined(TCCR4A) && defined(TCCR4B) && defined(TCCR4D) /* beginning of timer4 block for 32U4 and similar */ - sbi(TCCR4B, CS42); // set timer4 prescale factor to 64 - sbi(TCCR4B, CS41); - sbi(TCCR4B, CS40); - sbi(TCCR4D, WGM40); // put timer 4 in phase- and frequency-correct PWM mode - sbi(TCCR4A, PWM4A); // enable PWM mode for comparator OCR4A - sbi(TCCR4C, PWM4D); // enable PWM mode for comparator OCR4D -#else /* beginning of timer4 block for ATMEGA1280 and ATMEGA2560 */ -#if defined(TCCR4B) && defined(CS41) && defined(WGM40) - sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64 - sbi(TCCR4B, CS40); - sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode -#endif -#endif /* end timer4 block for ATMEGA1280/2560 and similar */ - -#if defined(TCCR5B) && defined(CS51) && defined(WGM50) - sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64 - sbi(TCCR5B, CS50); - sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode -#endif - -#if defined(ADCSRA) - // set a2d prescale factor to 128 - // 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range. - // XXX: this will not work properly for other clock speeds, and - // this code should use F_CPU to determine the prescale factor. - sbi(ADCSRA, ADPS2); - sbi(ADCSRA, ADPS1); - sbi(ADCSRA, ADPS0); - - // enable a2d conversions - sbi(ADCSRA, ADEN); -#endif - - // the bootloader connects pins 0 and 1 to the USART; disconnect them - // here so they can be used as normal digital i/o; they will be - // reconnected in Serial.begin() -#if defined(UCSRB) - UCSRB = 0; -#elif defined(UCSR0B) - UCSR0B = 0; -#endif -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_analog.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_analog.c deleted file mode 100644 index 0e9881f6a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_analog.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - wiring_analog.c - analog input and output - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -uint8_t analog_reference = DEFAULT; - -void analogReference(uint8_t mode) -{ - // can't actually set the register here because the default setting - // will connect AVCC and the AREF pin, which would cause a short if - // there's something connected to AREF. - analog_reference = mode; -} - -int analogRead(uint8_t pin) -{ - uint8_t low, high; - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - if (pin >= 54) pin -= 54; // allow for channel or pin numbers -#elif defined(__AVR_ATmega32U4__) - if (pin >= 18) pin -= 18; // allow for channel or pin numbers -#elif defined(__AVR_ATmega1284__) - if (pin >= 24) pin -= 24; // allow for channel or pin numbers -#else - if (pin >= 14) pin -= 14; // allow for channel or pin numbers -#endif - -#if defined(__AVR_ATmega32U4__) - pin = analogPinToChannel(pin); - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#elif defined(ADCSRB) && defined(MUX5) - // the MUX5 bit of ADCSRB selects whether we're reading from channels - // 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high). - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#endif - - // set the analog reference (high two bits of ADMUX) and select the - // channel (low 4 bits). this also sets ADLAR (left-adjust result) - // to 0 (the default). -#if defined(ADMUX) - ADMUX = (analog_reference << 6) | (pin & 0x07); -#endif - - // without a delay, we seem to read from the wrong channel - //delay(1); - -#if defined(ADCSRA) && defined(ADCL) - // start the conversion - sbi(ADCSRA, ADSC); - - // ADSC is cleared when the conversion finishes - while (bit_is_set(ADCSRA, ADSC)); - - // we have to read ADCL first; doing so locks both ADCL - // and ADCH until ADCH is read. reading ADCL second would - // cause the results of each conversion to be discarded, - // as ADCL and ADCH would be locked when it completed. - low = ADCL; - high = ADCH; -#else - // we dont have an ADC, return 0 - low = 0; - high = 0; -#endif - - // combine the two bytes - return (high << 8) | low; -} - -// Right now, PWM output only works on the pins with -// hardware support. These are defined in the appropriate -// pins_*.c file. For the rest of the pins, we default -// to digital output. -void analogWrite(uint8_t pin, int val) -{ - // We need to make sure the PWM output is enabled for those pins - // that support it, as we turn it off when digitally reading or - // writing with them. Also, make sure the pin is in output mode - // for consistenty with Wiring, which doesn't require a pinMode - // call for the analog output pins. - pinMode(pin, OUTPUT); - if (val == 0) - { - digitalWrite(pin, LOW); - } - else if (val == 255) - { - digitalWrite(pin, HIGH); - } - else - { - switch(digitalPinToTimer(pin)) - { - // XXX fix needed for atmega8 - #if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__) - case TIMER0A: - // connect pwm to pin on timer 0 - sbi(TCCR0, COM00); - OCR0 = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: - // connect pwm to pin on timer 0, channel A - sbi(TCCR0A, COM0A1); - OCR0A = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0B1) - case TIMER0B: - // connect pwm to pin on timer 0, channel B - sbi(TCCR0A, COM0B1); - OCR0B = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: - // connect pwm to pin on timer 1, channel A - sbi(TCCR1A, COM1A1); - OCR1A = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: - // connect pwm to pin on timer 1, channel B - sbi(TCCR1A, COM1B1); - OCR1B = val; // set pwm duty - break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: - // connect pwm to pin on timer 2 - sbi(TCCR2, COM21); - OCR2 = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: - // connect pwm to pin on timer 2, channel A - sbi(TCCR2A, COM2A1); - OCR2A = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: - // connect pwm to pin on timer 2, channel B - sbi(TCCR2A, COM2B1); - OCR2B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: - // connect pwm to pin on timer 3, channel A - sbi(TCCR3A, COM3A1); - OCR3A = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: - // connect pwm to pin on timer 3, channel B - sbi(TCCR3A, COM3B1); - OCR3B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: - // connect pwm to pin on timer 3, channel C - sbi(TCCR3A, COM3C1); - OCR3C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) - case TIMER4A: - //connect pwm to pin on timer 4, channel A - sbi(TCCR4A, COM4A1); - #if defined(COM4A0) // only used on 32U4 - cbi(TCCR4A, COM4A0); - #endif - OCR4A = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: - // connect pwm to pin on timer 4, channel B - sbi(TCCR4A, COM4B1); - OCR4B = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: - // connect pwm to pin on timer 4, channel C - sbi(TCCR4A, COM4C1); - OCR4C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: - // connect pwm to pin on timer 4, channel D - sbi(TCCR4C, COM4D1); - #if defined(COM4D0) // only used on 32U4 - cbi(TCCR4C, COM4D0); - #endif - OCR4D = val; // set pwm duty - break; - #endif - - - #if defined(TCCR5A) && defined(COM5A1) - case TIMER5A: - // connect pwm to pin on timer 5, channel A - sbi(TCCR5A, COM5A1); - OCR5A = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5B1) - case TIMER5B: - // connect pwm to pin on timer 5, channel B - sbi(TCCR5A, COM5B1); - OCR5B = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5C1) - case TIMER5C: - // connect pwm to pin on timer 5, channel C - sbi(TCCR5A, COM5C1); - OCR5C = val; // set pwm duty - break; - #endif - - case NOT_ON_TIMER: - default: - if (val < 128) { - digitalWrite(pin, LOW); - } else { - digitalWrite(pin, HIGH); - } - } - } -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_digital.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_digital.c deleted file mode 100644 index be323b1df..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_digital.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - wiring_digital.c - digital input and output functions - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#define ARDUINO_MAIN -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *reg, *out; - - if (port == NOT_A_PIN) return; - - // JWS: can I let the optimizer do this? - reg = portModeRegister(port); - out = portOutputRegister(port); - - if (mode == INPUT) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out &= ~bit; - SREG = oldSREG; - } else if (mode == INPUT_PULLUP) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out |= bit; - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - cli(); - *reg |= bit; - SREG = oldSREG; - } -} - -// Forcing this inline keeps the callers from having to push their own stuff -// on the stack. It is a good performance win and only takes 1 more byte per -// user than calling. (It will take more bytes on the 168.) -// -// But shouldn't this be moved into pinMode? Seems silly to check and do on -// each digitalread or write. -// -// Mark Sproul: -// - Removed inline. Save 170 bytes on atmega1280 -// - changed to a switch statment; added 32 bytes but much easier to read and maintain. -// - Added more #ifdefs, now compiles for atmega645 -// -//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline)); -//static inline void turnOffPWM(uint8_t timer) -static void turnOffPWM(uint8_t timer) -{ - switch (timer) - { - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: cbi(TCCR1A, COM1A1); break; - #endif - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: cbi(TCCR1A, COM1B1); break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: cbi(TCCR2, COM21); break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: cbi(TCCR0A, COM0A1); break; - #endif - - #if defined(TIMER0B) && defined(COM0B1) - case TIMER0B: cbi(TCCR0A, COM0B1); break; - #endif - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: cbi(TCCR2A, COM2A1); break; - #endif - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: cbi(TCCR2A, COM2B1); break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: cbi(TCCR3A, COM3A1); break; - #endif - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: cbi(TCCR3A, COM3B1); break; - #endif - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: cbi(TCCR3A, COM3C1); break; - #endif - - #if defined(TCCR4A) && defined(COM4A1) - case TIMER4A: cbi(TCCR4A, COM4A1); break; - #endif - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: cbi(TCCR4A, COM4B1); break; - #endif - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: cbi(TCCR4A, COM4C1); break; - #endif - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: cbi(TCCR4C, COM4D1); break; - #endif - - #if defined(TCCR5A) - case TIMER5A: cbi(TCCR5A, COM5A1); break; - case TIMER5B: cbi(TCCR5A, COM5B1); break; - case TIMER5C: cbi(TCCR5A, COM5C1); break; - #endif - } -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *out; - - if (port == NOT_A_PIN) return; - - // If the pin that support PWM output, we need to turn it off - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - out = portOutputRegister(port); - - uint8_t oldSREG = SREG; - cli(); - - if (val == LOW) { - *out &= ~bit; - } else { - *out |= bit; - } - - SREG = oldSREG; -} - -int digitalRead(uint8_t pin) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - - if (port == NOT_A_PIN) return LOW; - - // If the pin that support PWM output, we need to turn it off - // before getting a digital reading. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - if (*portInputRegister(port) & bit) return HIGH; - return LOW; -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_private.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_private.h deleted file mode 100644 index f0ceb0cc4..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_private.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - wiring_private.h - Internal header file. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ -*/ - -#ifndef WiringPrivate_h -#define WiringPrivate_h - -#include -#include -#include -#include - -#include "Arduino.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef cbi -#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) -#endif -#ifndef sbi -#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) -#endif - -#define EXTERNAL_INT_0 0 -#define EXTERNAL_INT_1 1 -#define EXTERNAL_INT_2 2 -#define EXTERNAL_INT_3 3 -#define EXTERNAL_INT_4 4 -#define EXTERNAL_INT_5 5 -#define EXTERNAL_INT_6 6 -#define EXTERNAL_INT_7 7 - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) -#define EXTERNAL_NUM_INTERRUPTS 8 -#elif defined(__AVR_ATmega1284P__) -#define EXTERNAL_NUM_INTERRUPTS 3 -#else -#define EXTERNAL_NUM_INTERRUPTS 2 -#endif - -typedef void (*voidFuncPtr)(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_pulse.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_pulse.c deleted file mode 100644 index 0d968865d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_pulse.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - wiring_pulse.c - pulseIn() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH - * or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds - * to 3 minutes in length, but must be called at least a few dozen microseconds - * before the start of the pulse. */ -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) -{ - // cache the port and bit of the pin in order to speed up the - // pulse width measuring loop and achieve finer resolution. calling - // digitalRead() instead yields much coarser resolution. - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - uint8_t stateMask = (state ? bit : 0); - unsigned long width = 0; // keep initialization out of time critical area - - // convert the timeout from microseconds to a number of times through - // the initial loop; it takes 16 clock cycles per iteration. - unsigned long numloops = 0; - unsigned long maxloops = microsecondsToClockCycles(timeout) / 16; - - // wait for any previous pulse to end - while ((*portInputRegister(port) & bit) == stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to start - while ((*portInputRegister(port) & bit) != stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to stop - while ((*portInputRegister(port) & bit) == stateMask) { - if (numloops++ == maxloops) - return 0; - width++; - } - - // convert the reading to microseconds. The loop has been determined - // to be 20 clock cycles long and have about 16 clocks between the edge - // and the start of the loop. There will be some error introduced by - // the interrupt handlers. - return clockCyclesToMicroseconds(width * 21 + 16); -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_shift.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_shift.c deleted file mode 100644 index cfe786758..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/cores/brainwave/wiring_shift.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - wiring_shift.c - shiftOut() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" - -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { - uint8_t value = 0; - uint8_t i; - - for (i = 0; i < 8; ++i) { - digitalWrite(clockPin, HIGH); - if (bitOrder == LSBFIRST) - value |= digitalRead(dataPin) << i; - else - value |= digitalRead(dataPin) << (7 - i); - digitalWrite(clockPin, LOW); - } - return value; -} - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val) -{ - uint8_t i; - - for (i = 0; i < 8; i++) { - if (bitOrder == LSBFIRST) - digitalWrite(dataPin, !!(val & (1 << i))); - else - digitalWrite(dataPin, !!(val & (1 << (7 - i)))); - - digitalWrite(clockPin, HIGH); - digitalWrite(clockPin, LOW); - } -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/firmwares/Brainwave.inf b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/firmwares/Brainwave.inf deleted file mode 100644 index e48829420..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/firmwares/Brainwave.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_16D0&PID_076B - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_16D0&PID_204A - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Metrix Create Space" -INSTDISK="Brainwave Driver Installer" -DESCRIPTION="Communications Port" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.cpp deleted file mode 100644 index 61efca46e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.cpp +++ /dev/null @@ -1,310 +0,0 @@ -#include "LiquidCrystal.h" - -#include -#include -#include -#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); - -} - -/********** high level commands, for the user! */ -void LiquidCrystal::clear() -{ - command(LCD_CLEARDISPLAY); // clear display, set cursor position to zero - delayMicroseconds(2000); // this command takes a long time! -} - -void LiquidCrystal::home() -{ - command(LCD_RETURNHOME); // set cursor position to zero - delayMicroseconds(2000); // 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(); -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.h deleted file mode 100644 index 24ec5afdf..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/LiquidCrystal.h +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef LiquidCrystal_h -#define LiquidCrystal_h - -#include -#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 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 diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt deleted file mode 100644 index 132845cb6..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt +++ /dev/null @@ -1,37 +0,0 @@ -####################################### -# Syntax Coloring Map For LiquidCrystal -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -LiquidCrystal KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -begin KEYWORD2 -clear KEYWORD2 -home KEYWORD2 -print KEYWORD2 -setCursor KEYWORD2 -cursor KEYWORD2 -noCursor KEYWORD2 -blink KEYWORD2 -noBlink KEYWORD2 -display KEYWORD2 -noDisplay KEYWORD2 -autoscroll KEYWORD2 -noAutoscroll KEYWORD2 -leftToRight KEYWORD2 -rightToLeft KEYWORD2 -scrollDisplayLeft KEYWORD2 -scrollDisplayRight KEYWORD2 -createChar KEYWORD2 - -####################################### -# Constants (LITERAL1) -####################################### - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.cpp deleted file mode 100644 index 5e48073f7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2010 by Cristian Maglie - * SPI Master library for arduino. - * - * This file is free software; you can redistribute it and/or modify - * it under the terms of either the GNU General Public License version 2 - * or the GNU Lesser General Public License version 2.1, both as - * published by the Free Software Foundation. - */ - -#include "pins_arduino.h" -#include "SPI.h" - -SPIClass SPI; - -void SPIClass::begin() { - - // Set SS to high so a connected chip will be "deselected" by default - digitalWrite(SS, HIGH); - - // When the SS pin is set as OUTPUT, it can be used as - // a general purpose output port (it doesn't influence - // SPI operations). - pinMode(SS, OUTPUT); - - // Warning: if the SS pin ever becomes a LOW INPUT then SPI - // automatically switches to Slave, so the data direction of - // the SS pin MUST be kept as OUTPUT. - SPCR |= _BV(MSTR); - SPCR |= _BV(SPE); - - // Set direction register for SCK and MOSI pin. - // MISO pin automatically overrides to INPUT. - // By doing this AFTER enabling SPI, we avoid accidentally - // clocking in a single bit since the lines go directly - // from "input" to SPI control. - // http://code.google.com/p/arduino/issues/detail?id=888 - pinMode(SCK, OUTPUT); - pinMode(MOSI, OUTPUT); -} - - -void SPIClass::end() { - SPCR &= ~_BV(SPE); -} - -void SPIClass::setBitOrder(uint8_t bitOrder) -{ - if(bitOrder == LSBFIRST) { - SPCR |= _BV(DORD); - } else { - SPCR &= ~(_BV(DORD)); - } -} - -void SPIClass::setDataMode(uint8_t mode) -{ - SPCR = (SPCR & ~SPI_MODE_MASK) | mode; -} - -void SPIClass::setClockDivider(uint8_t rate) -{ - SPCR = (SPCR & ~SPI_CLOCK_MASK) | (rate & SPI_CLOCK_MASK); - SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((rate >> 2) & SPI_2XCLOCK_MASK); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.h deleted file mode 100644 index f647d5c89..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/SPI.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2010 by Cristian Maglie - * SPI Master library for arduino. - * - * This file is free software; you can redistribute it and/or modify - * it under the terms of either the GNU General Public License version 2 - * or the GNU Lesser General Public License version 2.1, both as - * published by the Free Software Foundation. - */ - -#ifndef _SPI_H_INCLUDED -#define _SPI_H_INCLUDED - -#include -#include -#include - -#define SPI_CLOCK_DIV4 0x00 -#define SPI_CLOCK_DIV16 0x01 -#define SPI_CLOCK_DIV64 0x02 -#define SPI_CLOCK_DIV128 0x03 -#define SPI_CLOCK_DIV2 0x04 -#define SPI_CLOCK_DIV8 0x05 -#define SPI_CLOCK_DIV32 0x06 -//#define SPI_CLOCK_DIV64 0x07 - -#define SPI_MODE0 0x00 -#define SPI_MODE1 0x04 -#define SPI_MODE2 0x08 -#define SPI_MODE3 0x0C - -#define SPI_MODE_MASK 0x0C // CPOL = bit 3, CPHA = bit 2 on SPCR -#define SPI_CLOCK_MASK 0x03 // SPR1 = bit 1, SPR0 = bit 0 on SPCR -#define SPI_2XCLOCK_MASK 0x01 // SPI2X = bit 0 on SPSR - -class SPIClass { -public: - inline static byte transfer(byte _data); - - // SPI Configuration methods - - inline static void attachInterrupt(); - inline static void detachInterrupt(); // Default - - static void begin(); // Default - static void end(); - - static void setBitOrder(uint8_t); - static void setDataMode(uint8_t); - static void setClockDivider(uint8_t); -}; - -extern SPIClass SPI; - -byte SPIClass::transfer(byte _data) { - SPDR = _data; - while (!(SPSR & _BV(SPIF))) - ; - return SPDR; -} - -void SPIClass::attachInterrupt() { - SPCR |= _BV(SPIE); -} - -void SPIClass::detachInterrupt() { - SPCR &= ~_BV(SPIE); -} - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/keywords.txt b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/keywords.txt deleted file mode 100644 index fa7616581..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/SPI/keywords.txt +++ /dev/null @@ -1,36 +0,0 @@ -####################################### -# Syntax Coloring Map SPI -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -SPI KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### -begin KEYWORD2 -end KEYWORD2 -transfer KEYWORD2 -setBitOrder KEYWORD2 -setDataMode KEYWORD2 -setClockDivider KEYWORD2 - - -####################################### -# Constants (LITERAL1) -####################################### -SPI_CLOCK_DIV4 LITERAL1 -SPI_CLOCK_DIV16 LITERAL1 -SPI_CLOCK_DIV64 LITERAL1 -SPI_CLOCK_DIV128 LITERAL1 -SPI_CLOCK_DIV2 LITERAL1 -SPI_CLOCK_DIV8 LITERAL1 -SPI_CLOCK_DIV32 LITERAL1 -SPI_CLOCK_DIV64 LITERAL1 -SPI_MODE0 LITERAL1 -SPI_MODE1 LITERAL1 -SPI_MODE2 LITERAL1 -SPI_MODE3 LITERAL1 \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/ChangeLog b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/ChangeLog deleted file mode 100644 index 1ee88d6cf..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/ChangeLog +++ /dev/null @@ -1,114 +0,0 @@ - -u8glib ChangeLog - -2012-01-01 v0.01 Oliver Kraus - * first beta release for Arduino IDE with simple SSD1325 support -2012-01-04 v0.02 Oliver Kraus - * support for some more display types -2012-01-07 v0.03 Oliver Kraus - * fixed some bugs, added more examples -2012-01-07 v0.04 Oliver Kraus - * single font file -2012-01-08 v0.05 Oliver Kraus - * Cleanup - * More examples - * SSD1325 graylevel support -2012-01-15 v0.06 Oliver Kraus - * LM6063 support -2012-01-17 v0.07 Oliver Kraus - * LM6063 support (update) -2012-01-19 v0.08 Oliver Kraus - * ST7920 beta device -2012-01-21 v0.09 Oliver Kraus - * ST7920 fixed (192x32) - * fixed bug in com layer if pins are none - * str reference position -2012-01-22 v0.10 Oliver Kraus - * Experimental LM6059 -2012-01-24 v0.11 Oliver Kraus - * new st7920 memory layout for 128x64 lcd - * experimental st7920 SPI -2012-01-25 v0.12 Oliver Kraus - * fixed st7920 memory layout for 128x64 lcd - * ST7920 SPI performance improvement -2012-01-27 v0.13 Oliver Kraus - * LM6059 (Adafruit Display) fixed -2012-02-01 v0.14 Oliver Kraus - * undoRotation() - * setRot..() can be used without restrictions - * Class U8GLIB derived from Print class. New function "print" - * Fixed memory index bug in the page management procedures -2012-02-12 v1.00 Oliver Kraus - * XBM support - * F() macro support - * str-rotation commands support ref-height and ref-position -2012-03-17 v1.02 Oliver Kraus - * U8GLIB_ST7687_C144MVGD spi experimental - * U8GLIB_LC7981_160X80 8bit - * Intersection test for frame and box procedures - * 4L double memory architecture - * setContrast infrastructure implemented, but not available for all devices - * drawCircle, drawDisc - * Bugfix for drawStr270 - * New examples: Chess (ported from dogm128 lib) and GraphicsTest -2012-03-31 v1.03 Oliver Kraus - * experimental parallel mode atmega - * more unifont code pages - * double memory, for NHD OLED and DOGXL160 - * "Menu" example - * drawLine -2012-04-13 v1.04 Oliver Kraus - * Adjust U8grelease: Same version number with AVR and Arduino variant -2012-06-10 v1.05 Oliver Kraus - * m2icon font - * experimental lc7981_240x64 device - * experimental ssd1306 - * experimental ssd1322 - * Hardware state backup/restore procedure -2012-06-15 v1.06 Oliver Kraus - * SBN1661 (SED1520?) support - * SSD1306 support - * U8G_PROGMEM bugfix -2012-07-04 v1.07 Oliver Kraus - * Added Makefiles for AVR release (issue 77) - * Fixed examples for Arduino Environment (issue 78) -2012-10-02 v1.08 Oliver Kraus - * Improved delay calculation for strobe pulse (issue 20) - * Support Chipkit (issue 39) - * Improved speed for ST7920 parallel mode (issue 79) - * Overall speed optimization (new page intersection algorithm) - * Support for Displays Newhaven NHD-C12864, CrystalFontz GFAG20232, Seeedstudio 96x96 OLED - * Added SPI support for ST7920 with plain AVR (issue 85) - * Add more LC7981 devices -2012-12-23 v1.09 Oliver Kraus - * Support for Displaytech 64128n - * Support for MINI12864 - * HW SPI for ST7920 - * Add delay after sending a byte with (ST7920 com) - * Support ATTiny - * Support I2C for SSD1306 - * bdf2u8g, Windows executable released - * LC7981 320x64 - * Scalue up: u8g::setScale2x2 - * Added more bitmap fonts - * u8g::drawRBox(), u8g::drawRFrame() - * Support for CFAG20232 (st7920_202x32) - * Fixed ST7920 SW SPI for ChipKit - * Support for tls8204 -2013-02-02 v1.10 Oliver Kraus - * Support for SSD1309 - * Support for NHD-C12832A1Z - * Bugfix: Fixed reset controll in parallel modes - * Bugfix: Fixed calculation of cursor position - * Bugfix: ST7920 parallel mode -2013-03-2 v1.11 Oliver Kraus - * Support for T6963 - * Support for Arduino Due - * Sleep Mode - * 4x mode for ST7920 - * New C++ interface for ST7920 - - - - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT deleted file mode 100644 index d87f97128..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT +++ /dev/null @@ -1,21 +0,0 @@ - -U8GLIB -http://code.google.com/p/u8glib/ - - -Install instructions for the Arduino environment. - - 1. Unzip u8glib_arduino_vX.XX.zip into the "libraries" folder - 2. Start Arduino IDE - -Install instructions for the Chipkit (Arduino) environment. - - 1. cd /libraries - 2. unzip u8glib_arduino_vX.XX.zip - 3. cd ///hardware/pic32/libraries - 4. again: u8glib_arduino_vX.XX.zip - 5. Open hardware/pic32/cores/pic32/Print.h - Remove line - #define BYTE 0 - from the file, use PRINT_BYTE instead of BYTE. - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp deleted file mode 100644 index aa870b114..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - - U8glib.cpp - - C++ Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "U8glib.h" - - - -uint8_t U8GLIB::initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) -{ - prepare(); - return u8g_InitSPI(&u8g, dev, sck, mosi, cs, a0, reset); -} - -uint8_t U8GLIB::initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) -{ - prepare(); - return u8g_InitHWSPI(&u8g, dev, cs, a0, reset); -} - -uint8_t U8GLIB::initI2C(u8g_dev_t *dev, uint8_t options) -{ - prepare(); - return u8g_InitI2C(&u8g, dev, options); -} - -uint8_t U8GLIB::init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) -{ - prepare(); - return u8g_Init8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); -} - -uint8_t U8GLIB::init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) -{ - prepare(); - return u8g_Init8BitFixedPort(&u8g, dev, en, cs, di, rw, reset); -} - -uint8_t U8GLIB::initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) -{ - prepare(); - return u8g_InitRW8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.h deleted file mode 100644 index a77444425..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/U8glib.h +++ /dev/null @@ -1,826 +0,0 @@ -/* - - U8glib.h - - C++ Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#ifndef _CPP_U8GLIB -#define _CPP_U8GLIB - -#include -#include "utility/u8g.h" - - -class U8GLIB : public Print -{ - private: - u8g_t u8g; - u8g_uint_t tx, ty; // current position for the Print base class procedures - uint8_t is_begin; - - void prepare(void) { tx = 0; ty = 0; is_begin = 0; } - void cbegin(void) { if ( is_begin == 0 ) { is_begin = 1; u8g_Begin(&u8g); } } - uint8_t initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); - uint8_t initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); - uint8_t initI2C(u8g_dev_t *dev, uint8_t options); - protected: - uint8_t init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); - private: - uint8_t init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE); - uint8_t initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); - public: - - /* constructor */ - U8GLIB(void) - { } - U8GLIB(u8g_dev_t *dev) - { prepare(); u8g_Init(&u8g, dev); } - U8GLIB(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) - { initSPI(dev, sck, mosi, cs, a0, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) - { initHWSPI(dev, cs, a0, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t options) - { initI2C(dev, options); } - U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) - { init8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) - { initRW8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); } - - uint8_t begin(void) { is_begin = 1; return u8g_Begin(&u8g); } - - void setPrintPos(u8g_uint_t x, u8g_uint_t y) { tx = x; ty = y; } - u8g_t *getU8g(void) { return &u8g; } - - - /* implementation of the write interface to the print class */ -#if defined(ARDUINO) && ARDUINO >= 100 - size_t write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); return 1;} -#else - void write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); } -#endif - - /* screen rotation */ - void undoRotation(void) { u8g_UndoRotation(&u8g); } - void setRot90(void) { u8g_SetRot90(&u8g); } - void setRot180(void) { u8g_SetRot180(&u8g); } - void setRot270(void) { u8g_SetRot270(&u8g); } - - /* screen scaling */ - void undoScale(void) { u8g_UndoScale(&u8g); } - void setScale2x2(void) { u8g_SetScale2x2(&u8g); } - - /* picture loop */ - void firstPage(void) { cbegin(); u8g_FirstPage(&u8g); } - uint8_t nextPage(void) { return u8g_NextPage(&u8g); } - - /* system commands */ - uint8_t setContrast(uint8_t contrast) { cbegin(); return u8g_SetContrast(&u8g, contrast); } - void sleepOn(void) { u8g_SleepOn(&u8g); } - void sleepOff(void) { u8g_SleepOff(&u8g); } - - /* graphic primitives */ - void setColorIndex(uint8_t color_index) { u8g_SetColorIndex(&u8g, color_index); } - uint8_t getColorIndex(void) { return u8g_GetColorIndex(&u8g); } - - void setDefaultForegroundColor(void) { u8g_SetDefaultForegroundColor(&u8g); } - void setDefaultBackgroundColor(void) { u8g_SetDefaultBackgroundColor(&u8g); } - void setDefaultMidColor(void) { u8g_SetDefaultMidColor(&u8g); } - - u8g_uint_t getWidth(void) { return u8g_GetWidth(&u8g); } - u8g_uint_t getHeight(void) { return u8g_GetHeight(&u8g); } - uint8_t getMode(void) { return u8g_GetMode(&u8g); } - - void drawPixel(u8g_uint_t x, u8g_uint_t y) { return u8g_DrawPixel(&u8g, x, y); } - void drawHLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) { u8g_DrawHLine(&u8g, x, y, w); } - void drawVLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) { u8g_DrawVLine(&u8g, x, y, h); } - void drawLine(u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) { u8g_DrawLine(&u8g, x1, y1, x2, y2); } - - void drawFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawFrame(&u8g, x, y, w, h); } - void drawRFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRFrame(&u8g, x, y, w, h,r); } - void drawBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawBox(&u8g, x, y, w, h); } - void drawRBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRBox(&u8g, x, y, w, h,r); } - - void drawCircle(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawCircle(&u8g, x0, y0, rad, opt); } - void drawDisc(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawDisc(&u8g, x0, y0, rad, opt); } - - /* bitmap handling */ - void drawBitmap(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) - { u8g_DrawBitmap(&u8g, x, y, cnt, h, bitmap); } - void drawBitmapP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) - { u8g_DrawBitmapP(&u8g, x, y, cnt, h, bitmap); } - - void drawXBM(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) - { u8g_DrawXBM(&u8g, x, y, w, h, bitmap); } - void drawXBMP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) - { u8g_DrawXBMP(&u8g, x, y, w, h, bitmap); } - - - /* font handling */ - void setFont(const u8g_fntpgm_uint8_t *font) {u8g_SetFont(&u8g, font); } - int8_t getFontAscent(void) { return u8g_GetFontAscent(&u8g); } - int8_t getFontDescent(void) { return u8g_GetFontDescent(&u8g); } - int8_t getFontLineSpacing(void) { return u8g_GetFontLineSpacing(&u8g); } - - u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr(&u8g, x, y, s); } - u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr90(&u8g, x, y, s); } - u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr180(&u8g, x, y, s); } - u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr270(&u8g, x, y, s); } - u8g_uint_t drawStrP(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStrP(&u8g, x, y, s); } - u8g_uint_t drawStr90P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr90P(&u8g, x, y, s); } - u8g_uint_t drawStr180P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr180P(&u8g, x, y, s); } - u8g_uint_t drawStr270P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr270P(&u8g, x, y, s); } - - void setFontPosBaseline(void) { u8g_SetFontPosBaseline(&u8g); } - void setFontPosBottom(void) { u8g_SetFontPosBottom(&u8g); } - void setFontPosCenter(void) { u8g_SetFontPosCenter(&u8g); } - void setFontPosTop(void) { u8g_SetFontPosTop(&u8g); } - - void setFontRefHeightText(void) { u8g_SetFontRefHeightText(&u8g); } - void setFontRefHeightExtendedText(void) { u8g_SetFontRefHeightExtendedText(&u8g); } - void setFontRefHeightAll(void) { u8g_SetFontRefHeightAll(&u8g); } - void setFontLineSpacingFactor(uint8_t factor) { u8g_SetFontLineSpacingFactor(&u8g, factor); } - - - u8g_uint_t getStrPixelWidth(const char *s) { return u8g_GetStrPixelWidth(&u8g, s); } - u8g_uint_t getStrPixelWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrPixelWidthP(&u8g, s); } - u8g_uint_t getStrWidth(const char *s) { return u8g_GetStrWidth(&u8g, s); } - u8g_uint_t getStrWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrWidthP(&u8g, s); } - - void setHardwareBackup(u8g_state_cb backup_cb) { u8g_SetHardwareBackup(&u8g, backup_cb); } - -#if defined(ARDUINO) && ARDUINO >= 100 - // support for the F() macro - - u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStrP(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr90P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr180P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr270P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - - u8g_uint_t getStrPixelWidth(const __FlashStringHelper *s) { return u8g_GetStrPixelWidthP(&u8g, (u8g_pgm_uint8_t *)s); } - u8g_uint_t getStrWidth(const __FlashStringHelper *s) { return u8g_GetStrWidthP(&u8g, (u8g_pgm_uint8_t *)s); } -#endif - - /* cursor handling */ - void setCursorFont(const u8g_pgm_uint8_t *cursor_font) { u8g_SetCursorFont(&u8g, cursor_font); } - void setCursorStyle(uint8_t encoding) { u8g_SetCursorStyle(&u8g, encoding); } - void setCursorPos(u8g_uint_t cursor_x, u8g_uint_t cursor_y) { u8g_SetCursorPos(&u8g, cursor_x, cursor_y); } - void setCursorColor(uint8_t fg, uint8_t bg) { u8g_SetCursorColor(&u8g, fg, bg); } - void enableCursor(void) { u8g_EnableCursor(&u8g); } - void disableCursor(void) { u8g_DisableCursor(&u8g); } - void drawCursor(void) { u8g_DrawCursor(&u8g); } - - /* virtual screen */ - - void setVirtualScreenDimension(u8g_uint_t width, u8g_uint_t height) { u8g_SetVirtualScreenDimension(&u8g, width, height); } - uint8_t addToVirtualScreen(u8g_uint_t x, u8g_uint_t y, U8GLIB &child_u8g) { return u8g_AddToVirtualScreen(&u8g, x, y, &child_u8g.u8g); } - -}; - - -class U8GLIB_DOGS102 : public U8GLIB -{ - public: - U8GLIB_DOGS102(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGS102(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_MINI12864 : public U8GLIB -{ - public: - U8GLIB_MINI12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_MINI12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGM132 : public U8GLIB -{ - public: - U8GLIB_DOGM132(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm132_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM132(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm132_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD_C12832 : public U8GLIB -{ - public: - U8GLIB_NHD_C12832(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12832(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD_C12832(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_DOGM128 : public U8GLIB -{ - public: - U8GLIB_DOGM128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6059 : public U8GLIB -{ - public: - U8GLIB_LM6059(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6059(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6063 : public U8GLIB -{ - public: - U8GLIB_LM6063(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6063(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_64128N : public U8GLIB -{ - public: - U8GLIB_64128N(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_64128N(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD_C12864 : public U8GLIB -{ - public: - U8GLIB_NHD_C12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_ST7920_128X64 : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } - // U8GLIB_ST7920_128X64(uint8_t cs) - // : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, cs, U8G_PIN_NONE, U8G_PIN_NONE) - // { } -}; - -class U8GLIB_ST7920_128X64_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_128X64_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - - - -class U8GLIB_ST7920_192X32 : public U8GLIB // OBSOLETE, use U8GLIB_ST7920_192X32_1X instead -{ - public: - U8GLIB_ST7920_192X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_192X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_192X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_ST7920_192X32_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_192X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_192X32_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_192X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_ST7920_202X32 : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_202X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_202X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_ST7920_202X32_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_202X32_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_LC7981_160X80 : public U8GLIB -{ - public: - U8GLIB_LC7981_160X80(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_160x80_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LC7981_240X64 : public U8GLIB -{ - public: - U8GLIB_LC7981_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LC7981_240X128 : public U8GLIB -{ - public: - U8GLIB_LC7981_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -// 16 bit mode required: Remove comment from "#define U8G_16BIT 1" in utility/u8g.h -class U8GLIB_LC7981_320X64 : public U8GLIB -{ - public: - U8GLIB_LC7981_320X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_320x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - - - -class U8GLIB_DOGXL160_BW : public U8GLIB -{ - public: - U8GLIB_DOGXL160_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_GR : public U8GLIB -{ - public: - U8GLIB_DOGXL160_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_2X_BW : public U8GLIB -{ - public: - U8GLIB_DOGXL160_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_2X_GR : public U8GLIB -{ - public: - U8GLIB_DOGXL160_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_NHD27OLED_BW : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD27OLED_2X_BW : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD31OLED_BW : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD31OLED_2X_BW : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD31OLED_GR : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD31OLED_2X_GR : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_SSD1306_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_i2c, options) - { } - -}; - -class U8GLIB_SSD1309_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1309_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1309_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1309_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_i2c, options) - { } - -}; - -class U8GLIB_SSD1306_128X32 : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_i2c, options) - { } - -}; - - -class U8GLIB_NHD27OLED_GR : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD27OLED_2X_GR : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1327_96X96_GR : public U8GLIB -{ - public: - U8GLIB_SSD1327_96X96_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_GR(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_i2c, options) - { } -}; - -class U8GLIB_SSD1327_96X96_2X_GR : public U8GLIB -{ - public: - U8GLIB_SSD1327_96X96_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_2X_GR(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_i2c, options) - { } -}; - -class U8GLIB_PCF8812 : public U8GLIB -{ - public: - U8GLIB_PCF8812(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcf8812_96x65_sw_spi, sck, mosi, cs, a0, reset) - { } -}; - -class U8GLIB_PCD8544 : public U8GLIB -{ - public: - U8GLIB_PCD8544(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcd8544_84x48_sw_spi, sck, mosi, cs, a0, reset) - { } -}; - -class U8GLIB_TLS8204_84X48 : public U8GLIB -{ - public: - U8GLIB_TLS8204_84X48(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_tls8204_84x48_sw_spi, sck, mosi, cs, a0, reset) - { } -}; - -class U8GLIB_KS0108_128 : public U8GLIB -{ - public: - U8GLIB_KS0108_128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_SBN1661_122X32 : public U8GLIB -{ - public: - U8GLIB_SBN1661_122X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sbn1661_122x32, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_T6963_240X128 : public U8GLIB -{ - public: - U8GLIB_T6963_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_240X64 : public U8GLIB -{ - public: - U8GLIB_T6963_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_128X64 : public U8GLIB -{ - public: - U8GLIB_T6963_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - - -class U8GLIB_ST7687_C144MVGD: public U8GLIB -{ - public: - U8GLIB_ST7687_C144MVGD(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7687_c144mvgd_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7687_C144MVGD(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs, uint8_t a0, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs, U8G_PIN_NONE, a0, rw, reset) - { } -}; - -class U8GLIB_ILI9325D_320x240 : public U8GLIB -{ - public: - /* - U8GLIB_ILI9325D_320x240(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ili9325d_320x240_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } - */ - U8GLIB_ILI9325D_320x240( uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - { init8BitFixedPort(&u8g_dev_ili9325d_320x240_8bit, en, cs1, di, rw, reset); } -}; - -class U8GLIB_FLIPDISC_2X7 : public U8GLIB -{ - public: - U8GLIB_FLIPDISC_2X7(void) : U8GLIB(&u8g_dev_flipdisc_2x7) - { } -}; - -class U8GLIB_VS : public U8GLIB -{ - public: - U8GLIB_VS(void) : U8GLIB(&u8g_dev_vs) - { } -}; - - -#endif /* _CPP_U8GLIB */ diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.pde deleted file mode 100644 index 53fbe1b21..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.pde +++ /dev/null @@ -1,130 +0,0 @@ -/* - - Bitmap.pde - - Show simple bitmap - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - -const uint8_t rook_bitmap[] PROGMEM = { - 0x00, // 00000000 - 0x55, // 01010101 - 0x7f, // 01111111 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x7f // 01111111 -}; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.drawBitmapP( 0, 0, 1, 8, rook_bitmap); -} - -void setup(void) { -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(1000); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.pde deleted file mode 100644 index 3cef35398..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.pde +++ /dev/null @@ -1,180 +0,0 @@ -/* - - Chess.pde - - Little Rook Chess - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - - -// DOGS102 shield configuration values -uint8_t uiKeyPrev = 2; -uint8_t uiKeyNext = 4; -uint8_t uiKeySelect = 5; -uint8_t uiKeyBack = 3; - -// DOGM128-Shield configuration values -// DOGXL60-Shield configuration values -//uint8_t uiKeyPrev = 7; -//uint8_t uiKeyNext = 3; -//uint8_t uiKeySelect = 2; -//uint8_t uiKeyBack = 8; - -uint8_t uiKeyCodeFirst = CHESS_KEY_NONE; -uint8_t uiKeyCodeSecond = CHESS_KEY_NONE; -uint8_t uiKeyCode = CHESS_KEY_NONE; - - -void uiSetup(void) { - // configure input keys - - pinMode(uiKeyPrev, INPUT); // set pin to input - digitalWrite(uiKeyPrev, HIGH); // turn on pullup resistors - pinMode(uiKeyNext, INPUT); // set pin to input - digitalWrite(uiKeyNext, HIGH); // turn on pullup resistors - pinMode(uiKeySelect, INPUT); // set pin to input - digitalWrite(uiKeySelect, HIGH); // turn on pullup resistors - pinMode(uiKeyBack, INPUT); // set pin to input - digitalWrite(uiKeyBack, HIGH); // turn on pullup resistors -} - -void uiStep(void) -{ - uiKeyCodeSecond = uiKeyCodeFirst; - if ( digitalRead(uiKeyPrev) == LOW ) - uiKeyCodeFirst = CHESS_KEY_PREV; - else if ( digitalRead(uiKeyNext) == LOW ) - uiKeyCodeFirst = CHESS_KEY_NEXT; - else if ( digitalRead(uiKeySelect) == LOW ) - uiKeyCodeFirst = CHESS_KEY_SELECT; - else if ( digitalRead(uiKeyBack) == LOW ) - uiKeyCodeFirst = CHESS_KEY_BACK; - else - uiKeyCodeFirst = CHESS_KEY_NONE; - - if ( uiKeyCodeSecond == uiKeyCodeFirst ) - uiKeyCode = uiKeyCodeFirst; - else - uiKeyCode = CHESS_KEY_NONE; -} - - -void setup() { - // rotate screen, if required - u8g.setRot180(); - - uiSetup(); - chess_Init(u8g.getU8g(), 0); -} - -void loop() { - uint8_t keyCode = CHESS_KEY_NONE; - - u8g.firstPage(); - do { - chess_Draw(); - uiStep(); - if ( uiKeyCode != CHESS_KEY_NONE ) - keyCode = uiKeyCode; - } while( u8g.nextPage() ); - - u8g_Delay(10); - chess_Step(keyCode); - uiStep(); - keyCode = uiKeyCode; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.pde deleted file mode 100644 index fcf4b74c5..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.pde +++ /dev/null @@ -1,230 +0,0 @@ -/* - - Console.pde - - Read from serial monitor, output to display - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - - -// setup input buffer -#define LINE_MAX 30 -uint8_t line_buf[LINE_MAX] = "U8GLIB Console"; -uint8_t line_pos = 0; - -// setup a text screen to support scrolling -#define ROW_MAX 12 - - -uint8_t screen[ROW_MAX][LINE_MAX]; -uint8_t rows, cols; - -// line height, which matches the selected font (5x7) -#define LINE_PIXEL_HEIGHT 7 - -// clear entire screen, called during setup -void clear_screen(void) { - uint8_t i, j; - for( i = 0; i < ROW_MAX; i++ ) - for( j = 0; j < LINE_MAX; j++ ) - screen[i][j] = 0; -} - -// append a line to the screen, scroll up -void add_line_to_screen(void) { - uint8_t i, j; - for( j = 0; j < LINE_MAX; j++ ) - for( i = 0; i < rows-1; i++ ) - screen[i][j] = screen[i+1][j]; - - for( j = 0; j < LINE_MAX; j++ ) - screen[rows-1][j] = line_buf[j]; -} - -// U8GLIB draw procedure: output the screen -void draw(void) { - uint8_t i, y; - // graphic commands to redraw the complete screen are placed here - y = 0; // reference is the top left -1 position of the string - y--; // correct the -1 position of the drawStr - for( i = 0; i < rows; i++ ) - { - u8g.drawStr( 0, y, (char *)(screen[i])); - y += u8g.getFontLineSpacing(); - } -} - -void exec_line(void) { - // echo line to the serial monitor - Serial.println((const char *)line_buf); - - // add the line to the screen - add_line_to_screen(); - - // U8GLIB picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); -} - -// clear current input buffer -void reset_line(void) { - line_pos = 0; - line_buf[line_pos] = '\0'; -} - -// add a single character to the input buffer -void char_to_line(uint8_t c) { - line_buf[line_pos] = c; - line_pos++; - line_buf[line_pos] = '\0'; -} - -// check serial in and handle the character -void read_line(void) { - if ( Serial.available() ) - { - uint8_t c; - c = Serial.read(); - if ( line_pos >= cols-1 ) { - exec_line(); - reset_line(); - char_to_line(c); - } - else if ( c == '\n' ) { - // ignore '\n' - } - else if ( c == '\r' ) { - exec_line(); - reset_line(); - } - else { - char_to_line(c); - } - } -} - -// Arduino master setup -void setup(void) { - // set font for the console window - u8g.setFont(u8g_font_5x7); - //u8g.setFont(u8g_font_9x15); - - // set upper left position for the string draw procedure - u8g.setFontPosTop(); - - // calculate the number of rows for the display - rows = u8g.getHeight() / u8g.getFontLineSpacing(); - if ( rows > ROW_MAX ) - rows = ROW_MAX; - - // estimate the number of columns for the display - cols = u8g.getWidth() / u8g.getStrWidth("m"); - if ( cols > LINE_MAX-1 ) - cols = LINE_MAX-1; - - clear_screen(); // clear screen - delay(1000); // do some delay - Serial.begin(9600); // init serial - exec_line(); // place the input buffer into the screen - reset_line(); // clear input buffer -} - -// Arduino main loop -void loop(void) { - read_line(); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.pde deleted file mode 100644 index 4cb3b20b7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.pde +++ /dev/null @@ -1,139 +0,0 @@ -/* - - F.pde - - Example code for the F() macro. - - >>> This example requires Arduino 1.0 and above. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - - // assign default font - u8g.setFont(u8g_font_unifont); - - // pointer to strings in flash memory can be stored in a special type - const __FlashStringHelper *flash_ptr; - - // the result of the F() macro can be assigned to this pointer - flash_ptr = F("Hello World!"); - - // this pointer can be used as argument to the draw procedures - u8g.drawStr( 0+1, 20+1, flash_ptr); - u8g.drawStr( 0, 20, flash_ptr); - - // of course, the F() macro can be used directly - u8g.drawStr( 0, 40, F("PROGMEM")); - -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.pde deleted file mode 100644 index 4e9135209..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.pde +++ /dev/null @@ -1,223 +0,0 @@ -/* - - GraphicsTest.pde - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - -void u8g_prepare(void) { - u8g.setFont(u8g_font_6x10); - u8g.setFontRefHeightExtendedText(); - u8g.setDefaultForegroundColor(); - u8g.setFontPosTop(); -} - -void u8g_box_frame(uint8_t a) { - u8g.drawStr( 0, 0, "drawBox"); - u8g.drawBox(5,10,20,10); - u8g.drawBox(10+a,15,30,7); - u8g.drawStr( 0, 30, "drawFrame"); - u8g.drawFrame(5,10+30,20,10); - u8g.drawFrame(10+a,15+30,30,7); -} - -void u8g_disc_circle(uint8_t a) { - u8g.drawStr( 0, 0, "drawDisc"); - u8g.drawDisc(10,18,9); - u8g.drawDisc(24+a,16,7); - u8g.drawStr( 0, 30, "drawCircle"); - u8g.drawCircle(10,18+30,9); - u8g.drawCircle(24+a,16+30,7); -} - -void u8g_r_frame(uint8_t a) { - u8g.drawStr( 0, 0, "drawRFrame/Box"); - u8g.drawRFrame(5, 10,40,30, a+1); - u8g.drawRBox(50, 10,25,40, a+1); -} - -void u8g_string(uint8_t a) { - u8g.drawStr(30+a,31, " 0"); - u8g.drawStr90(30,31+a, " 90"); - u8g.drawStr180(30-a,31, " 180"); - u8g.drawStr270(30,31-a, " 270"); -} - -void u8g_line(uint8_t a) { - u8g.drawStr( 0, 0, "drawLine"); - u8g.drawLine(7+a, 10, 40, 55); - u8g.drawLine(7+a*2, 10, 60, 55); - u8g.drawLine(7+a*3, 10, 80, 55); - u8g.drawLine(7+a*4, 10, 100, 55); -} - -void u8g_ascii_1() { - char s[2] = " "; - uint8_t x, y; - u8g.drawStr( 0, 0, "ASCII page 1"); - for( y = 0; y < 6; y++ ) { - for( x = 0; x < 16; x++ ) { - s[0] = y*16 + x + 32; - u8g.drawStr(x*7, y*10+10, s); - } - } -} - -void u8g_ascii_2() { - char s[2] = " "; - uint8_t x, y; - u8g.drawStr( 0, 0, "ASCII page 2"); - for( y = 0; y < 6; y++ ) { - for( x = 0; x < 16; x++ ) { - s[0] = y*16 + x + 160; - u8g.drawStr(x*7, y*10+10, s); - } - } -} - - -uint8_t draw_state = 0; - -void draw(void) { - u8g_prepare(); - switch(draw_state >> 3) { - case 0: u8g_box_frame(draw_state&7); break; - case 1: u8g_disc_circle(draw_state&7); break; - case 2: u8g_r_frame(draw_state&7); break; - case 3: u8g_string(draw_state&7); break; - case 4: u8g_line(draw_state&7); break; - case 5: u8g_ascii_1(); break; - case 6: u8g_ascii_2(); break; - } -} - -void setup(void) { - - // flip screen, if required - //u8g.setRot180(); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) - u8g.setColorIndex(255); // white - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - u8g.setColorIndex(3); // max intensity - else if ( u8g.getMode() == U8G_MODE_BW ) - u8g.setColorIndex(1); // pixel on - - //u8g.setContrast(0x30); - - pinMode(13, OUTPUT); - digitalWrite(13, HIGH); -} - -void loop(void) { - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // increase the state - draw_state++; - if ( draw_state >= 7*8 ) - draw_state = 0; - - // rebuild the picture after some delay - delay(150); - -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.pde deleted file mode 100644 index 5a00939a3..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.pde +++ /dev/null @@ -1,136 +0,0 @@ -/* - - HelloWorld.pde - - "Hello World!" example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - //u8g.setFont(u8g_font_osb21); - u8g.drawStr( 0, 22, "Hello World!"); -} - -void setup(void) { - - // flip screen, if required - // u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) - u8g.setColorIndex(255); // white - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - u8g.setColorIndex(3); // max intensity - else if ( u8g.getMode() == U8G_MODE_BW ) - u8g.setColorIndex(1); // pixel on -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.pde deleted file mode 100644 index fbb0af034..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.pde +++ /dev/null @@ -1,234 +0,0 @@ -/* - - Menu.pde - - Simple Menu Selection - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - - -#define KEY_NONE 0 -#define KEY_PREV 1 -#define KEY_NEXT 2 -#define KEY_SELECT 3 -#define KEY_BACK 4 - -// DOGS102 shield configuration values -//uint8_t uiKeyPrev = 2; -//uint8_t uiKeyNext = 4; -//uint8_t uiKeySelect = 5; -//uint8_t uiKeyBack = 3; - -// DOGM128-Shield configuration values -// DOGXL60-Shield configuration values -uint8_t uiKeyPrev = 7; -uint8_t uiKeyNext = 3; -uint8_t uiKeySelect = 2; -uint8_t uiKeyBack = 8; - -uint8_t uiKeyCodeFirst = KEY_NONE; -uint8_t uiKeyCodeSecond = KEY_NONE; -uint8_t uiKeyCode = KEY_NONE; - - -void uiSetup(void) { - // configure input keys - - pinMode(uiKeyPrev, INPUT); // set pin to input - digitalWrite(uiKeyPrev, HIGH); // turn on pullup resistors - pinMode(uiKeyNext, INPUT); // set pin to input - digitalWrite(uiKeyNext, HIGH); // turn on pullup resistors - pinMode(uiKeySelect, INPUT); // set pin to input - digitalWrite(uiKeySelect, HIGH); // turn on pullup resistors - pinMode(uiKeyBack, INPUT); // set pin to input - digitalWrite(uiKeyBack, HIGH); // turn on pullup resistors -} - -void uiStep(void) { - uiKeyCodeSecond = uiKeyCodeFirst; - if ( digitalRead(uiKeyPrev) == LOW ) - uiKeyCodeFirst = KEY_PREV; - else if ( digitalRead(uiKeyNext) == LOW ) - uiKeyCodeFirst = KEY_NEXT; - else if ( digitalRead(uiKeySelect) == LOW ) - uiKeyCodeFirst = KEY_SELECT; - else if ( digitalRead(uiKeyBack) == LOW ) - uiKeyCodeFirst = KEY_BACK; - else - uiKeyCodeFirst = KEY_NONE; - - if ( uiKeyCodeSecond == uiKeyCodeFirst ) - uiKeyCode = uiKeyCodeFirst; - else - uiKeyCode = KEY_NONE; -} - - -#define MENU_ITEMS 4 -char *menu_strings[MENU_ITEMS] = { "First Line", "Second Item", "3333333", "abcdefg" }; - -uint8_t menu_current = 0; -uint8_t menu_redraw_required = 0; -uint8_t last_key_code = KEY_NONE; - - -void drawMenu(void) { - uint8_t i, h; - u8g_uint_t w, d; - - u8g.setFont(u8g_font_6x13); - u8g.setFontRefHeightText(); - u8g.setFontPosTop(); - - h = u8g.getFontAscent()-u8g.getFontDescent(); - w = u8g.getWidth(); - for( i = 0; i < MENU_ITEMS; i++ ) { - d = (w-u8g.getStrWidth(menu_strings[i]))/2; - u8g.setDefaultForegroundColor(); - if ( i == menu_current ) { - u8g.drawBox(0, i*h+1, w, h); - u8g.setDefaultBackgroundColor(); - } - u8g.drawStr(d, i*h, menu_strings[i]); - } -} - -void updateMenu(void) { - if ( uiKeyCode != KEY_NONE && last_key_code == uiKeyCode ) { - return; - } - last_key_code = uiKeyCode; - - switch ( uiKeyCode ) { - case KEY_NEXT: - menu_current++; - if ( menu_current >= MENU_ITEMS ) - menu_current = 0; - menu_redraw_required = 1; - break; - case KEY_PREV: - if ( menu_current == 0 ) - menu_current = MENU_ITEMS; - menu_current--; - menu_redraw_required = 1; - break; - } -} - - -void setup() { - // rotate screen, if required - // u8g.setRot180(); - - uiSetup(); // setup key detection and debounce algorithm - menu_redraw_required = 1; // force initial redraw -} - -void loop() { - - uiStep(); // check for key press - - if ( menu_redraw_required != 0 ) { - u8g.firstPage(); - do { - drawMenu(); - } while( u8g.nextPage() ); - menu_redraw_required = 0; - } - - updateMenu(); // update menu bar - -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.pde deleted file mode 100644 index 7535c22f1..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.pde +++ /dev/null @@ -1,124 +0,0 @@ -/* - - PrintTest.pde - - How to use the base class "Print" - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.setPrintPos(0, 20); - // call procedure from base class, http://arduino.cc/en/Serial/Print - u8g.print("Hello World!"); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.pde deleted file mode 100644 index 424b7bfb6..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.pde +++ /dev/null @@ -1,152 +0,0 @@ -/* - - HelloWorld.pde - - "Hello World!" example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - -uint8_t offset = 0; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.drawStr( 0+0, 20+0, "Hello!"); - u8g.drawStr( 0+2, 20+16, "Hello!"); - - u8g.drawBox(0, 0, 3, 3); - u8g.drawBox(u8g.getWidth()-6, 0, 6, 6); - u8g.drawBox(u8g.getWidth()-9, u8g.getHeight()-9, 9, 9); - u8g.drawBox(0, u8g.getHeight()-12, 12, 12); -} - -void setup(void) { -} - - -void rotate(void) { - static uint8_t dir = 0; - static unsigned long next_rotation = 0; - - if ( next_rotation < millis() ) - { - switch(dir) { - case 0: u8g.undoRotation(); break; - case 1: u8g.setRot90(); break; - case 2: u8g.setRot180(); break; - case 3: u8g.setRot270(); offset = ( offset + 1 ) & 0x0f; break; - } - - dir++; - dir &= 3; - next_rotation = millis(); - next_rotation += 1000; - } -} - -void loop(void) { - // screen rotation - rotate(); - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(100); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.pde deleted file mode 100644 index ce87c76fa..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.pde +++ /dev/null @@ -1,141 +0,0 @@ -/* - - HelloWorld.pde - - "Hello World!" example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.setFontPosTop(); - u8g.drawStr(0, 1, "Hello"); - u8g.drawHLine(0, 1+14, 40); - u8g.setScale2x2(); // Scale up all draw procedures - u8g.drawStr(0, 12, "Hello"); // actual display position is (0,24) - u8g.drawHLine(0, 12+14, 40); // All other procedures are also affected - u8g.undoScale(); // IMPORTANT: Switch back to normal mode -} - -void setup(void) { - - // flip screen, if required - u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) - u8g.setColorIndex(255); // white - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - u8g.setColorIndex(3); // max intensity - else if ( u8g.getMode() == U8G_MODE_BW ) - u8g.setColorIndex(1); // pixel on -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.pde deleted file mode 100644 index 718fd821c..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.pde +++ /dev/null @@ -1,154 +0,0 @@ -/* - - TextRotX.pde - - Text rotation example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - -// graphic commands to redraw the complete screen should be placed here -void draw(void) { - u8g_uint_t mx, my; - - mx = u8g.getWidth(); - mx >>= 1; - - my = u8g.getHeight(); - my >>= 1; - - u8g.drawStr( mx, my, "Ag"); - u8g.drawStr90( mx, my, "Ag"); - u8g.drawStr180( mx, my, "Ag"); - u8g.drawStr270( mx, my, "Ag"); -} - -void setup(void) { - u8g.setFont(u8g_font_9x18); -} - -void change_font_pos(void) { - static uint8_t dir = 0; - static unsigned long next = 0; - - if ( next < millis() ) - { - switch(dir) { - case 0: u8g.setFontPosBottom(); break; - case 1: u8g.setFontPosBaseline(); break; - case 2: u8g.setFontPosCenter(); break; - case 3: u8g.setFontPosTop(); break; - } - - dir++; - dir &= 3; - next = millis(); - next += 1000; - } -} - -void loop(void) { - // change the font position - change_font_pos(); - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(100); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.pde deleted file mode 100644 index 78c866f0f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.pde +++ /dev/null @@ -1,179 +0,0 @@ -/* - - U8gLogo.pde - - Put the U8GLIB logo on the display. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - - -void drawColorBox(void) -{ - u8g_uint_t w,h; - u8g_uint_t r, g, b; - - w = u8g.getWidth()/32; - h = u8g.getHeight()/8; - for( b = 0; b < 4; b++ ) - for( g = 0; g < 8; g++ ) - for( r = 0; r < 8; r++ ) - { - u8g.setColorIndex((r<<5) | (g<<2) | b ); - u8g.drawBox(g*w + b*w*8, r*h, w, h); - } -} - -void drawLogo(uint8_t d) -{ - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(0+d, 30+d, "U"); - u8g.setFont(u8g_font_gdr30n); - u8g.drawStr90(23+d,10+d,"8"); - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(53+d,30+d,"g"); - - u8g.drawHLine(2+d, 35+d, 47); - u8g.drawVLine(45+d, 32+d, 12); -} - -void drawURL(void) -{ - u8g.setFont(u8g_font_4x6); - if ( u8g.getHeight() < 59 ) - { - u8g.drawStr(53,9,"code.google.com"); - u8g.drawStr(77,18,"/p/u8glib"); - } - else - { - u8g.drawStr(1,54,"code.google.com/p/u8glib"); - } -} - - -void draw(void) { - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { - drawColorBox(); - } - u8g.setColorIndex(1); - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g.getMode()) > 1 ) { - drawLogo(2); - u8g.setColorIndex(2); - drawLogo(1); - u8g.setColorIndex(3); - } - drawLogo(0); - drawURL(); - -} - -void setup(void) { - // flip screen, if required - //u8g.setRot180(); -} - -void loop(void) { - - // picture loop - u8g.firstPage(); - do { - draw(); - u8g.setColorIndex(1); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(200); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.pde b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.pde deleted file mode 100644 index 44dd720d9..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.pde +++ /dev/null @@ -1,136 +0,0 @@ -/* - - XBM.pde - - drawXBM example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 - -#define u8g_logo_width 38 -#define u8g_logo_height 24 -//static unsigned char u8g_logo_bits[] = { -static unsigned char u8g_logo_bits[] U8G_PROGMEM = { - 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xe0, 0xe0, - 0xff, 0xff, 0x3f, 0xe3, 0xe1, 0xff, 0xff, 0x3f, 0xf3, 0xf1, 0xff, 0xff, - 0x3f, 0xf3, 0xf1, 0xfe, 0xbf, 0x37, 0xf3, 0x11, 0x1c, 0x1f, 0x30, 0xf3, - 0x01, 0x08, 0x8c, 0x20, 0xf3, 0x01, 0x00, 0xc0, 0x39, 0xf3, 0x81, 0xc7, - 0xc1, 0x39, 0xf3, 0xc1, 0xc7, 0xc9, 0x38, 0xf3, 0xc1, 0xc3, 0x19, 0x3c, - 0xe3, 0x89, 0x01, 0x98, 0x3f, 0xc7, 0x18, 0x00, 0x08, 0x3e, 0x0f, 0x3c, - 0x70, 0x1c, 0x30, 0x3f, 0xff, 0xfc, 0x87, 0x31, 0xff, 0xff, 0xbf, 0xc7, - 0x23, 0x01, 0x00, 0x00, 0xc6, 0x23, 0x03, 0x00, 0x00, 0x0e, 0x30, 0xff, - 0xff, 0x3f, 0x1f, 0x3c, 0xff, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0xff, 0x3f, - 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f }; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.drawXBMP( 0, 0, u8g_logo_width, u8g_logo_height, u8g_logo_bits); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/license.txt b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/license.txt deleted file mode 100644 index c9eea75c4..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/license.txt +++ /dev/null @@ -1,80 +0,0 @@ - -The U8glib code (http://code.google.com/p/u8glib/) is licensed under the terms of -the new-bsd license (two-clause bsd license). -See also: http://www.opensource.org/licenses/bsd-license.php - -The repository and optionally the releases contain icons, which are -derived from the WPZOOM Developer Icon Set: -http://www.wpzoom.com/wpzoom/new-freebie-wpzoom-developer-icon-set-154-free-icons/ -WPZOOM Developer Icon Set by WPZOOM is licensed under a Creative Commons -Attribution-ShareAlike 3.0 Unported License. - -Fonts are licensed under different conditions. -See http://code.google.com/p/u8glib/wiki/fontgroup for -detailed information on the licensing conditions for each font. - -============ X11 Fonts COUR, HELV, NCEN, TIM, SYMB ============ - -For fonts derived from the following files, the license below applies. -COURB08.BDF COURB10.BDF COURB12.BDF COURB14.BDF COURB18.BDF -COURB24.BDF COURR08.BDF COURR10.BDF COURR12.BDF COURR14.BDF -COURR18.BDF COURR24.BDF HELVB08.BDF HELVB10.BDF HELVB12.BDF HELVB14.BDF -HELVB18.BDF HELVB24.BDF HELVR08.BDF HELVR10.BDF HELVR12.BDF HELVR14.BDF -HELVR18.BDF HELVR24.BDF NCENB08.BDF NCENB10.BDF NCENB12.BDF -NCENB14.BDF NCENB18.BDF NCENB24.BDF NCENR08.BDF NCENR10.BDF -NCENR12.BDF NCENR14.BDF NCENR18.BDF NCENR24.BDF SYMB08.BDF SYMB10.BDF -SYMB12.BDF SYMB14.BDF SYMB18.BDF SYMB24.BDF TIMB08.BDF TIMB10.BDF -TIMB12.BDF TIMB14.BDF TIMB18.BDF TIMB24.BDF TIMR08.BDF TIMR10.BDF -TIMR12.BDF TIMR14.BDF TIMR18.BDF TIMR24.BDF - -Copyright 1984-1989, 1994 Adobe Systems Incorporated. -Copyright 1988, 1994 Digital Equipment Corporation. - -Adobe is a trademark of Adobe Systems Incorporated which may be -registered in certain jurisdictions. -Permission to use these trademarks is hereby granted only in -association with the images described in this file. - -Permission to use, copy, modify, distribute and sell this software -and its documentation for any purpose and without fee is hereby -granted, provided that the above copyright notices appear in all -copies and that both those copyright notices and this permission -notice appear in supporting documentation, and that the names of -Adobe Systems and Digital Equipment Corporation not be used in -advertising or publicity pertaining to distribution of the software -without specific, written prior permission. Adobe Systems and -Digital Equipment Corporation make no representations about the -suitability of this software for any purpose. It is provided "as -is" without express or implied warranty. - - -============ BSD License for U8glib Code ============ - -Universal 8bit Graphics Library (http://code.google.com/p/u8glib/) - -Copyright (c) 2011, olikraus@gmail.com -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c deleted file mode 100644 index 4a8758c38..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c +++ /dev/null @@ -1,2392 +0,0 @@ -/* - chessengine.c - - "Little Rook Chess" (lrc) - - Port to u8g library - - chess for embedded 8-Bit controllers - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Note: - UNIX_MAIN --> unix console executable - - Current Rule Limitation - - no minor promotion, only "Queening" of the pawn - - threefold repetition is not detected (same board situation appears three times) - Note: Could be implemented, but requires tracking of the complete game - - Fifty-move rule is not checked (no pawn move, no capture within last 50 moves) - - Words - Ply a half move - - General Links - http://chessprogramming.wikispaces.com/ - - Arduino specific - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1260055596 - - Prefixes - chess_ Generic Chess Application Interface - ce_ Chess engine, used internally, these function should not be called directly - cu_ Chess utility function - stack_ Internal function for stack handling - - Issues - 10.01.2011 - - castling to the right does not move the rook - --> done - - castling to the left: King can only move two squares - --> done - - 11.01.2011 - Next Steps: - - replace stack_NextCurrentPos with cu_NextPos, cleanup code according to the loop variable - --> done - - Castling: Need to check for fields under attack - --> done - - - Check for WIN / LOSE situation, perhaps call ce_Eval() once on the top-level board setup - just after the real move - - cleanup cu_Move - --> almost done - - add some heuristics to the eval procedure - - add right side menu - --> done - - clean up chess_ManualMove - --> done - - finish menu (consider is_game_end, undo move) - - end condition: if KING is under attack and if KING can not move to a field which is under attack... - then the game is lost. What will be returned by the Eval procedure? is it -INF? - --> finished - - - reduce the use of variable color, all should be reduced to board_orientation and ply&1 - - - chess_GetNextMarked shoud make use of cu_NextPos - --> done - - chess_ManualMove: again cleanup, solve draw issue (KING is not in check and no legal moves are available) - --> done - 22.01.2011 - - simplify eval_t ce_Eval(void) - - position eval does not work, still moves side pawn :-( - maybe because all pieces are considered - --> done - -*/ - -#include "u8g.h" - -//#ifndef __unix__ -//#else -//#include -//#define U8G_NOINLINE -//#endif - -/* -SAN identifies each piece by a single upper case letter. The standard English -values: pawn = "P", knight = "N", bishop = "B", rook = "R", queen = "Q", and -king = "K". -*/ - -/* numbers for the various pieces */ -#define PIECE_NONE 0 -#define PIECE_PAWN 1 -#define PIECE_KNIGHT 2 -#define PIECE_BISHOP 3 -#define PIECE_ROOK 4 -#define PIECE_QUEEN 5 -#define PIECE_KING 6 - -/* color definitions */ -#define COLOR_WHITE 0 -#define COLOR_BLACK 1 - -/* a mask, which includes COLOR and PIECE number */ -#define COLOR_PIECE_MASK 0x01f - -#define CP_MARK_MASK 0x20 - -#define ILLEGAL_POSITION 255 - -/* This is the build in upper limit of the search stack */ -/* This value defines the amount of memory allocated for the search stack */ -/* The search depth of this chess engine can never exceed this value */ -#define STACK_MAX_SIZE 5 - -/* chess half move stack: twice the number of undo's, a user can do */ -#define CHM_USER_SIZE 6 - -/* the CHM_LIST_SIZE must be larger than the maximum search depth */ -/* the overall size of ste half move stack */ -#define CHM_LIST_SIZE (STACK_MAX_SIZE+CHM_USER_SIZE+2) - -typedef int16_t eval_t; /* a variable type to store results from the evaluation */ -//#define EVAL_T_LOST -32768 -#define EVAL_T_MIN -32767 -#define EVAL_T_MAX 32767 -//#define EVAL_T_WIN 32767 - -/* for maintainance of our own stack: this is the definition of one element on the stack */ -struct _stack_element_struct -{ - /* the current source position which is investigated */ - uint8_t current_pos; - uint8_t current_cp; - uint8_t current_color; /* COLOR_WHITE or COLOR_BLACK: must be predefines */ - - /* the move which belongs to that value, both values are game positions */ - uint8_t best_from_pos; - uint8_t best_to_pos; - /* the best value, which has been dicovered so far */ - eval_t best_eval; -}; -typedef struct _stack_element_struct stack_element_t; -typedef struct _stack_element_struct *stack_element_p; - -/* chess half move history */ -struct _chm_struct -{ - uint8_t main_cp; /* the main piece, which is moved */ - uint8_t main_src; /* the source position of the main piece */ - uint8_t main_dest; /* the destination of the main piece */ - - uint8_t other_cp; /* another piece: the captured one, the ROOK in case of castling or PIECE_NONE */ - uint8_t other_src; /* the delete position of other_cp. Often identical to main_dest except for e.p. and castling */ - uint8_t other_dest; /* only used for castling: ROOK destination pos */ - - /* the position of the last pawn, which did a double move forward */ - /* this is required to check en passant conditions */ - /* this array can be indexed by the color of the current player */ - /* this is the condition BEFORE the move was done */ - uint8_t pawn_dbl_move[2]; - - /* flags for the movement of rook and king; required for castling */ - /* a 1 means: castling is (still) possible */ - /* a 0 means: castling not possible */ - /* bit 0 left side white */ - /* bit 1 right side white */ - /* bit 2 left side black */ - /* bit 3 right side black */ - /* this is the condition BEFORE the move was done */ - uint8_t castling_possible; -}; - -typedef struct _chm_struct chm_t; -typedef struct _chm_struct *chm_p; - -/* little rook chess, main structure */ -struct _lrc_struct -{ - /* half-move (ply) counter: Counts the number of half-moves so far. Starts with 0 */ - /* the lowest bit is used to derive the color of the current player */ - /* will be set to zero in chess_SetupBoard() */ - uint8_t ply_count; - - /* the half move stack position counter, counts the number of elements in chm_list */ - uint8_t chm_pos; - - /* each element contains a colored piece, empty fields have value 0 */ - /* the field with index 0 is black (lower left) */ - uint8_t board[64]; - /* the position of the last pawn, which did a double move forward */ - /* this is required to check en passant conditions */ - /* this array can be indexed by the color of the current player */ - uint8_t pawn_dbl_move[2]; - - /* flags for the movement of rook and king; required for castling */ - /* a 1 means: castling is (still) possible */ - /* a 0 means: castling not possible */ - /* bit 0 left side white */ - /* bit 1 right side white */ - /* bit 2 left side black */ - /* bit 3 right side black */ - uint8_t castling_possible; - - /* board orientation */ - /* 0: white is below COLOR_WHITE */ - /* 1: black is below COLOR_BLACK */ - /* bascially, this can be used as a color */ - uint8_t orientation; - - /* exchange colors of the pieces */ - /* 0: white has an empty body, use this for bright background color */ - /* 1: black has an empty body, use this for dark backround color */ - uint8_t strike_out_color; - - /* 0, when the game is ongoing */ - /* 1, when the game is stopped (lost or draw) */ - uint8_t is_game_end; - /* the color of the side which lost the game */ - /* this value is only valid, when is_game_end is not 0 */ - /* values 0 and 1 represent WHITE and BLACK, 2 means a draw */ - uint8_t lost_side_color; - - - - /* checks are executed in ce_LoopRecur */ - /* these checks will put some marks on the board */ - /* this will be used by the interface to find out */ - /* legal moves */ - uint8_t check_src_pos; - uint8_t check_mode; /* CHECK_MODE_NONE, CHECK_MODE_MOVEABLE, CHECK_MODE_TARGET_MOVE */ - - - /* count of the attacking pieces, indexed by color */ - uint8_t find_piece_cnt[2]; - - /* sum of the attacking pieces, indexed by color */ - uint8_t find_piece_weight[2]; - - /* points to the current element of the search stack */ - /* this stack is NEVER empty. The value 0 points to the first element of the stack */ - /* actually "curr_depth" represent half-moves (plies) */ - uint8_t curr_depth; - uint8_t max_depth; - stack_element_p curr_element; - - /* allocated memory for the search stack */ - stack_element_t stack_memory[STACK_MAX_SIZE]; - - /* the half move stack, used for move undo and depth search, size is stored in chm_pos */ - chm_t chm_list[CHM_LIST_SIZE]; -}; -typedef struct _lrc_struct lrc_t; - -#define CHECK_MODE_NONE 0 -#define CHECK_MODE_MOVEABLE 1 -#define CHECK_MODE_TARGET_MOVE 2 - - - -/*==============================================================*/ -/* global variables */ -/*==============================================================*/ - -u8g_t *lrc_u8g; - -lrc_t lrc_obj; - - -/*==============================================================*/ -/* forward declarations */ -/*==============================================================*/ - -/* - apply no inline to some of the functions: - avr-gcc very often inlines functions, however not inline saves a lot of program memory! - On the other hand there are some really short procedures which should be inlined (like cp_GetColor) - These procedures are marked static to prevent the generation of the expanded procedure, which - also saves space. -*/ - -uint8_t stack_Push(uint8_t color) U8G_NOINLINE; -void stack_Pop(void) U8G_NOINLINE; -void stack_InitCurrElement(void) U8G_NOINLINE; -void stack_Init(uint8_t max) U8G_NOINLINE; -void stack_SetMove(eval_t val, uint8_t to_pos) U8G_NOINLINE; -uint8_t cu_NextPos(uint8_t pos) U8G_NOINLINE; -static uint8_t cu_gpos2bpos(uint8_t gpos); -static uint8_t cp_Construct(uint8_t color, uint8_t piece); -static uint8_t cp_GetPiece(uint8_t cp); -static uint8_t cp_GetColor(uint8_t cp); -uint8_t cp_GetFromBoard(uint8_t pos) U8G_NOINLINE; -void cp_SetOnBoard(uint8_t pos, uint8_t cp) U8G_NOINLINE; - -void cu_ClearBoard(void) U8G_NOINLINE; -void chess_SetupBoard(void) U8G_NOINLINE; -eval_t ce_Eval(void); - -void cu_ClearMoveHistory(void) U8G_NOINLINE; -void cu_ReduceHistoryByFullMove(void) U8G_NOINLINE; -void cu_UndoHalfMove(void) U8G_NOINLINE; -chm_p cu_PushHalfMove(void) U8G_NOINLINE; - - -void ce_CalculatePositionWeight(uint8_t pos); -uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color); - -void chess_Thinking(void); -void ce_LoopPieces(void); - - -/*==============================================================*/ -/* search stack */ -/*==============================================================*/ - -/* get current element from stack */ -stack_element_p stack_GetCurrElement(void) -{ - return lrc_obj.curr_element; -} - -uint8_t stack_Push(uint8_t color) -{ - if ( lrc_obj.curr_depth == lrc_obj.max_depth ) - return 0; - lrc_obj.curr_depth++; - lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; - - /* change view for the evaluation */ - color ^= 1; - stack_GetCurrElement()->current_color = color; - - return 1; -} - -void stack_Pop(void) -{ - lrc_obj.curr_depth--; - lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; -} - -/* reset the current element on the stack */ -void stack_InitCurrElement(void) -{ - stack_element_p e = stack_GetCurrElement(); - e->best_eval = EVAL_T_MIN; - e->best_from_pos = ILLEGAL_POSITION; - e->best_to_pos = ILLEGAL_POSITION; -} - -/* resets the search stack (and the check mode) */ -void stack_Init(uint8_t max) -{ - lrc_obj.curr_depth = 0; - lrc_obj.curr_element = lrc_obj.stack_memory; - lrc_obj.max_depth = max; - lrc_obj.check_mode = CHECK_MODE_NONE; - stack_InitCurrElement(); - stack_GetCurrElement()->current_color = lrc_obj.ply_count; - stack_GetCurrElement()->current_color &= 1; -} - -/* assign evaluation value and store the move, if this is the best move */ -/* assumes, that current_pos contains the source position */ -void stack_SetMove(eval_t val, uint8_t to_pos) -{ - stack_element_p e = stack_GetCurrElement(); - if ( e->best_eval < val ) - { - e->best_eval = val; - e->best_from_pos = e->current_pos; - e->best_to_pos = to_pos; - } -} - -/* - calculate next position on a 0x88 board - loop is constructed in this way: - i = 0; - do - { - ... - i = cu_NextPos(i); - } while( i != 0 ); - - next pos might be started with an illegal position like 255 -*/ -uint8_t cu_NextPos(uint8_t pos) -{ - /* calculate next gpos */ - pos++; - if ( ( pos & 0x08 ) != 0 ) - { - pos+= 0x10; - pos&= 0xf0; - } - if ( ( pos & 0x80 ) != 0 ) - pos = 0; - return pos; -} - -uint8_t cu_PrevPos(uint8_t pos) -{ - /* calculate prev gpos */ - pos--; - if ( ( pos & 0x80 ) != 0 ) - pos = 0x077; - else if ( ( pos & 0x08 ) != 0 ) - { - pos &= 0xf0; - pos |= 0x07; - } - return pos; -} - - -/*==============================================================*/ -/* position transltion */ -/*==============================================================*/ -/* - there are two positions - 1. game position (gpos): BCD encoded x-y values - 2. board position (bpos): a number between 0 and 63, only used to access the board. -*/ -/* - gpos: game position value - returns: board position - note: does not do any checks -*/ -static uint8_t cu_gpos2bpos(uint8_t gpos) -{ - uint8_t bpos = gpos; - bpos &= 0xf0; - bpos >>= 1; - gpos &= 0x0f; - bpos |= gpos; - return bpos; -} - -#define gpos_IsIllegal(gpos) ((gpos) & 0x088) - - -/*==============================================================*/ -/* colored piece handling */ -/*==============================================================*/ - -#define cp_IsMarked(cp) ((cp) & CP_MARK_MASK) - - -/* - piece: one of PIECE_xxx - color: COLOR_WHITE or COLOR_BLACK - - returns: A colored piece -*/ -static uint8_t cp_Construct(uint8_t color, uint8_t piece) -{ - color <<= 4; - color |= piece; - return color; -} - -/* inline is better than a macro */ -static uint8_t cp_GetPiece(uint8_t cp) -{ - cp &= 0x0f; - return cp; -} - -/* - we could use a macro: - #define cp_GetColor(cp) (((cp) >> 4)&1) - however, inlined functions are sometimes much better -*/ -static uint8_t cp_GetColor(uint8_t cp) -{ - cp >>= 4; - cp &= 1; - return cp; -} - -/* - pos: game position - returns the colored piece at the given position -*/ -uint8_t cp_GetFromBoard(uint8_t pos) -{ - return lrc_obj.board[cu_gpos2bpos(pos)]; -} - -/* - pos: game position - cp: colored piece -*/ -void cp_SetOnBoard(uint8_t pos, uint8_t cp) -{ - /*printf("cp_SetOnBoard gpos:%02x cp:%02x\n", pos, cp);*/ - lrc_obj.board[cu_gpos2bpos(pos)] = cp; -} - -/*==============================================================*/ -/* global board access */ -/*==============================================================*/ - -void cu_ClearBoard(void) -{ - uint8_t i; - /* clear the board */ - for( i = 0; i < 64; i++ ) - lrc_obj.board[i] = PIECE_NONE; - - lrc_obj.ply_count = 0; - lrc_obj.orientation = COLOR_WHITE; - - lrc_obj.pawn_dbl_move[0] = ILLEGAL_POSITION; - lrc_obj.pawn_dbl_move[1] = ILLEGAL_POSITION; - - lrc_obj.castling_possible = 0x0f; - - lrc_obj.is_game_end = 0; - lrc_obj.lost_side_color = 0; - - /* clear half move history */ - cu_ClearMoveHistory(); - -} - -/* - test setup - white wins in one move -*/ -void chess_SetupBoardTest01(void) -{ - cu_ClearBoard(); - lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); - lrc_obj.board[7+5*8] = cp_Construct(COLOR_WHITE, PIECE_PAWN); - lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_KING); - lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); -} - -/* setup the global board */ -void chess_SetupBoard(void) -{ - uint8_t i; - register uint8_t bp, wp; - - /* clear the board */ - cu_ClearBoard(); - - /* precronstruct pawns */ - wp = cp_Construct(COLOR_WHITE, PIECE_PAWN); - bp = cp_Construct(COLOR_BLACK, PIECE_PAWN); - - /* setup pawn */ - for( i = 0; i < 8; i++ ) - { - lrc_obj.board[i+8] = wp; - lrc_obj.board[i+6*8] = bp; - } - - /* assign remaining pieces */ - - lrc_obj.board[0] = cp_Construct(COLOR_WHITE, PIECE_ROOK); - lrc_obj.board[1] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); - lrc_obj.board[2] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); - lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); - lrc_obj.board[4] = cp_Construct(COLOR_WHITE, PIECE_KING); - lrc_obj.board[5] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); - lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); - lrc_obj.board[7] = cp_Construct(COLOR_WHITE, PIECE_ROOK); - - lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - lrc_obj.board[1+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); - lrc_obj.board[2+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); - lrc_obj.board[3+7*8] = cp_Construct(COLOR_BLACK, PIECE_QUEEN); - lrc_obj.board[4+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); - lrc_obj.board[5+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); - lrc_obj.board[6+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); - lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - - //chess_SetupBoardTest01(); - -} - - - -/*==============================================================*/ -/* checks */ -/*==============================================================*/ - -/* - checks if the position is somehow illegal -*/ -uint8_t cu_IsIllegalPosition(uint8_t pos, uint8_t my_color) -{ - uint8_t board_cp; - /* check, if the position is offboard */ - if ( gpos_IsIllegal(pos) != 0 ) - return 1; - /* get the piece from the board */ - board_cp = cp_GetFromBoard(pos); - /* check if hit our own pieces */ - if ( board_cp != 0 ) - if ( cp_GetColor(board_cp) == my_color ) - return 1; - /* all ok, we could go to this position */ - return 0; -} - -/*==============================================================*/ -/* evaluation procedure */ -/*==============================================================*/ - -/* - basic idea is to return a value between EVAL_T_MIN and EVAL_T_MAX -*/ - -/* - the weight table uses the PIECE number as index: - #define PIECE_NONE 0 - #define PIECE_PAWN 1 - #define PIECE_KNIGHT 2 - #define PIECE_BISHOP 3 - #define PIECE_ROOK 4 - #define PIECE_QUEEN 5 - #define PIECE_KING 6 - the king itself is not counted -*/ -uint8_t ce_piece_weight[] = { 0, 1, 3, 3, 5, 9, 0 }; -uint8_t ce_pos_weight[] = { 0, 1, 1, 2, 2, 1, 1, 0}; -/* - evaluate the current situation on the global board -*/ -eval_t ce_Eval(void) -{ - uint8_t cp; - uint8_t is_my_king_present = 0; - uint8_t is_opposit_king_present = 0; - eval_t material_my_color = 0; - eval_t material_opposit_color = 0; - eval_t position_my_color = 0; - eval_t position_opposit_color = 0; - eval_t result; - uint8_t pos; - - pos = 0; - do - { - /* get colored piece from the board */ - cp = cp_GetFromBoard(pos); - - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - if ( stack_GetCurrElement()->current_color == cp_GetColor(cp) ) - { - /* this is our color */ - /* check if we found our king */ - if ( cp_GetPiece(cp) == PIECE_KING ) - is_my_king_present = 1; - material_my_color += ce_piece_weight[cp_GetPiece(cp)]; - if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) - { - position_my_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; - } - } - else - { - /* this is the opposit color */ - if ( cp_GetPiece(cp) == PIECE_KING ) - is_opposit_king_present = 1; - material_opposit_color += ce_piece_weight[cp_GetPiece(cp)]; - if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) - { - position_opposit_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; - } - } - } - pos = cu_NextPos(pos); - } while( pos != 0 ); - - - /* decide if we lost or won the game */ - if ( is_my_king_present == 0 ) - return EVAL_T_MIN; /*_LOST*/ - if ( is_opposit_king_present == 0 ) - return EVAL_T_MAX; /*_WIN*/ - - /* here is the evaluation function */ - - result = material_my_color - material_opposit_color; - result <<= 3; - result += position_my_color - position_opposit_color; - return result; -} - -/*==============================================================*/ -/* move backup and restore */ -/*==============================================================*/ - - -/* this procedure must be called to keep the size as low as possible */ -/* if the chm_list is large enough, it could hold the complete history */ -/* but for an embedded controler... it is deleted for every engine search */ -void cu_ClearMoveHistory(void) -{ - lrc_obj.chm_pos = 0; -} - -void cu_ReduceHistoryByFullMove(void) -{ - uint8_t i; - while( lrc_obj.chm_pos > CHM_USER_SIZE ) - { - i = 0; - for(;;) - { - if ( i+2 >= lrc_obj.chm_pos ) - break; - lrc_obj.chm_list[i] = lrc_obj.chm_list[i+2]; - i++; - } - lrc_obj.chm_pos -= 2; - } -} - -void cu_UndoHalfMove(void) -{ - chm_p chm; - - if ( lrc_obj.chm_pos == 0 ) - return; - - lrc_obj.chm_pos--; - - chm = lrc_obj.chm_list+lrc_obj.chm_pos; - - lrc_obj.pawn_dbl_move[0] = chm->pawn_dbl_move[0]; - lrc_obj.pawn_dbl_move[1] = chm->pawn_dbl_move[1]; - lrc_obj.castling_possible = chm->castling_possible; - - cp_SetOnBoard(chm->main_src, chm->main_cp); - cp_SetOnBoard(chm->main_dest, PIECE_NONE); - - if ( chm->other_src != ILLEGAL_POSITION ) - cp_SetOnBoard(chm->other_src, chm->other_cp); - if ( chm->other_dest != ILLEGAL_POSITION ) - cp_SetOnBoard(chm->other_dest, PIECE_NONE); - -} - -/* - assumes, that the following members of the returned chm structure are filled - uint8_t main_cp; the main piece, which is moved - uint8_t main_src; the source position of the main piece - uint8_t main_dest; the destination of the main piece - - uint8_t other_cp; another piece: the captured one, the ROOK in case of castling or PIECE_NONE - uint8_t other_src; the delete position of other_cp. Often identical to main_dest except for e.p. and castling - uint8_t other_dest; only used for castling: ROOK destination pos - -*/ -chm_p cu_PushHalfMove(void) -{ - chm_p chm; - - chm = lrc_obj.chm_list+lrc_obj.chm_pos; - if ( lrc_obj.chm_pos < CHM_LIST_SIZE-1) - lrc_obj.chm_pos++; - - chm->pawn_dbl_move[0] = lrc_obj.pawn_dbl_move[0]; - chm->pawn_dbl_move[1] = lrc_obj.pawn_dbl_move[1]; - chm->castling_possible = lrc_obj.castling_possible; - return chm; -} - - -char chess_piece_to_char[] = "NBRQK"; - -/* - simple moves on empty field: Ka1-b2 - capture moves: Ka1xb2 - castling: 0-0 or 0-0-0 -*/ - -static void cu_add_pos(char *s, uint8_t pos) U8G_NOINLINE; - -static void cu_add_pos(char *s, uint8_t pos) -{ - *s = pos; - *s >>= 4; - *s += 'a'; - s++; - *s = pos; - *s &= 15; - *s += '1'; -} - -const char *cu_GetHalfMoveStr(uint8_t idx) -{ - chm_p chm; - static char buf[7]; /*Ka1-b2*/ - char *p = buf; - chm = lrc_obj.chm_list+idx; - - if ( cp_GetPiece(chm->main_cp) != PIECE_NONE ) - { - if ( cp_GetPiece(chm->main_cp) > PIECE_PAWN ) - { - *p++ = chess_piece_to_char[cp_GetPiece(chm->main_cp)-2]; - } - cu_add_pos(p, chm->main_src); - p+=2; - if ( cp_GetPiece(chm->other_cp) == PIECE_NONE ) - *p++ = '-'; - else - *p++ = 'x'; - cu_add_pos(p, chm->main_dest); - p+=2; - } - *p = '\0'; - return buf; -} - - - - - -/*==============================================================*/ -/* move */ -/*==============================================================*/ - -/* - Move a piece from source position to a destination on the board - This function - - does not perform any checking - - however it processes "en passant" and casteling - - backup the move and allow 1x undo - - 2011-02-05: - - fill pawn_dbl_move[] for double pawn moves - --> done - - Implement casteling - --> done - - en passant - --> done - - pawn conversion/promotion - --> done - - half-move backup - --> done - - cleanup everything, minimize variables - --> done -*/ - -void cu_Move(uint8_t src, uint8_t dest) -{ - /* start backup structure */ - chm_p chm = cu_PushHalfMove(); - - /* these are the values from the board at the positions, provided as arguments to this function */ - uint8_t cp_src, cp_dest; - - /* Maybe a second position is cleared and one additional location is set */ - uint8_t clr_pos2; - uint8_t set_pos2; - uint8_t set_cp2; - - /* get values from board */ - cp_src = cp_GetFromBoard(src); - cp_dest = cp_GetFromBoard(dest); - - /* fill backup structure */ - - chm->main_cp = cp_src; - chm->main_src = src; - chm->main_dest = dest; - - chm->other_cp = cp_dest; /* prepace capture backup */ - chm->other_src = dest; - chm->other_dest = ILLEGAL_POSITION; - - /* setup results as far as possible with some suitable values */ - - clr_pos2 = ILLEGAL_POSITION; /* for en passant and castling, two positions might be cleared */ - set_pos2 = ILLEGAL_POSITION; /* only used for castling */ - set_cp2 = PIECE_NONE; /* ROOK for castling */ - - /* check for PAWN */ - if ( cp_GetPiece(cp_src) == PIECE_PAWN ) - { - - /* double step: is the distance 2 rows */ - if ( (src - dest == 32) || ( dest - src == 32 ) ) - { - /* remember the destination position */ - lrc_obj.pawn_dbl_move[cp_GetColor(cp_src)] = dest; - } - - /* check if the PAWN is able to promote */ - else if ( (dest>>4) == 0 || (dest>>4) == 7 ) - { - /* do simple "queening" */ - cp_src &= ~PIECE_PAWN; - cp_src |= PIECE_QUEEN; - } - - /* is it en passant capture? */ - /* check for side move */ - else if ( ((src + dest) & 1) != 0 ) - { - /* check, if target field is empty */ - if ( cp_GetPiece(cp_dest) == PIECE_NONE ) - { - /* this is en passant */ - /* no further checking required, because legal moves are assumed here */ - /* however... the captured pawn position must be valid */ - clr_pos2 = lrc_obj.pawn_dbl_move[cp_GetColor(cp_src) ^ 1]; - chm->other_src = clr_pos2; - chm->other_cp = cp_GetFromBoard(clr_pos2); - } - } - } - - /* check for the KING */ - else if ( cp_GetPiece(cp_src) == PIECE_KING ) - { - /* disallow castling, if the KING has moved */ - if ( cp_GetColor(cp_src) == COLOR_WHITE ) - { - /* if white KING has moved, disallow castling for white */ - lrc_obj.castling_possible &= 0x0c; - } - else - { - /* if black KING has moved, disallow castling for black */ - lrc_obj.castling_possible &= 0x03; - } - - /* has it been castling to the left? */ - if ( src - dest == 2 ) - { - /* let the ROOK move to pos2 */ - set_pos2 = src-1; - set_cp2 = cp_GetFromBoard(src-4); - - /* the ROOK must be cleared from the original position */ - clr_pos2 = src-4; - - chm->other_cp = set_cp2; - chm->other_src = clr_pos2; - chm->other_dest = set_pos2; - } - - /* has it been castling to the right? */ - else if ( dest - src == 2 ) - { - /* let the ROOK move to pos2 */ - set_pos2 = src+1; - set_cp2 = cp_GetFromBoard(src+3); - - /* the ROOK must be cleared from the original position */ - clr_pos2 = src+3; - - chm->other_cp = set_cp2; - chm->other_src = clr_pos2; - chm->other_dest = set_pos2; - - } - - } - - /* check for the ROOK */ - else if ( cp_GetPiece(cp_src) == PIECE_ROOK ) - { - /* disallow white left castling */ - if ( src == 0x00 ) - lrc_obj.castling_possible &= ~0x01; - /* disallow white right castling */ - if ( src == 0x07 ) - lrc_obj.castling_possible &= ~0x02; - /* disallow black left castling */ - if ( src == 0x70 ) - lrc_obj.castling_possible &= ~0x04; - /* disallow black right castling */ - if ( src == 0x77 ) - lrc_obj.castling_possible &= ~0x08; - } - - - /* apply new board situation */ - - cp_SetOnBoard(dest, cp_src); - - if ( set_pos2 != ILLEGAL_POSITION ) - cp_SetOnBoard(set_pos2, set_cp2); - - cp_SetOnBoard(src, PIECE_NONE); - - if ( clr_pos2 != ILLEGAL_POSITION ) - cp_SetOnBoard(clr_pos2, PIECE_NONE); - - -} - -/* - this subprocedure decides for evaluation of the current board situation or further (deeper) investigation - Argument pos is the new target position if the current piece - -*/ -uint8_t ce_LoopRecur(uint8_t pos) -{ - eval_t eval; - - /* 1. check if target position is occupied by the same player (my_color) */ - /* of if pos is somehow illegal or not valid */ - if ( cu_IsIllegalPosition(pos, stack_GetCurrElement()->current_color) != 0 ) - return 0; - - /* 2. move piece to the specified position, capture opponent piece if required */ - cu_Move(stack_GetCurrElement()->current_pos, pos); - - - /* 3. */ - /* if depth reached: evaluate */ - /* else: go down next level */ - /* no eval if there had been any valid half-moves, so the default value (MIN) will be returned. */ - if ( stack_Push(stack_GetCurrElement()->current_color) == 0 ) - { - eval = ce_Eval(); - } - else - { - /* init the element, which has been pushed */ - stack_InitCurrElement(); - /* start over with ntext level */ - ce_LoopPieces(); - /* get the best move from opponents view, so invert the result */ - eval = -stack_GetCurrElement()->best_eval; - stack_Pop(); - } - - /* 4. store result */ - stack_SetMove(eval, pos); - - /* 5. undo the move */ - cu_UndoHalfMove(); - - /* 6. check special modes */ - /* the purpose of these checks is to mark special pieces and positions on the board */ - /* these marks can be checked by the user interface to highlight special positions */ - if ( lrc_obj.check_mode != 0 ) - { - stack_element_p e = stack_GetCurrElement(); - if ( lrc_obj.check_mode == CHECK_MODE_MOVEABLE ) - { - cp_SetOnBoard(e->current_pos, e->current_cp | CP_MARK_MASK ); - } - else if ( lrc_obj.check_mode == CHECK_MODE_TARGET_MOVE ) - { - if ( e->current_pos == lrc_obj.check_src_pos ) - { - cp_SetOnBoard(pos, cp_GetFromBoard(pos) | CP_MARK_MASK ); - } - } - } - return 1; -} - -/*==============================================================*/ -/* move pieces which can move one or more steps into a direction */ -/*==============================================================*/ - -/* - subprocedure to generate various target positions for some pieces - special cases are handled in the piece specific sub-procedure - - Arguments: - d: a list of potential directions - is_multi_step: if the piece can only do one step (zero for KING and KNIGHT) -*/ -static const uint8_t ce_dir_offset_rook[] PROGMEM = { 1, 16, -16, -1, 0 }; -static const uint8_t ce_dir_offset_bishop[] PROGMEM = { 15, 17, -17, -15, 0 }; -static const uint8_t ce_dir_offset_queen[] PROGMEM = { 1, 16, -16, -1, 15, 17, -17, -15, 0 }; -static const uint8_t ce_dir_offset_knight[] PROGMEM = {14, -14, 18, -18, 31, -31, 33, -33, 0}; - -void ce_LoopDirsSingleMultiStep(const uint8_t *d, uint8_t is_multi_step) -{ - uint8_t loop_pos; - - /* with all directions */ - for(;;) - { - if ( u8g_pgm_read(d) == 0 ) - break; - - /* start again from the initial position */ - loop_pos = stack_GetCurrElement()->current_pos; - - /* check direction */ - do - { - /* check next position into one direction */ - loop_pos += u8g_pgm_read(d); - - /* - go further to ce_LoopRecur() - 0 will be returned if the target position is illegal or a piece of the own color - this is used to stop walking into one direction - */ - if ( ce_LoopRecur(loop_pos) == 0 ) - break; - - /* stop if we had hit another piece */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) - break; - } while( is_multi_step ); - d++; - } -} - -void ce_LoopRook(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_rook, 1); -} - -void ce_LoopBishop(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_bishop, 1); -} - -void ce_LoopQueen(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 1); -} - -void ce_LoopKnight(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_knight, 0); -} - - - -/*==============================================================*/ -/* move king */ -/*==============================================================*/ - -uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) U8G_NOINLINE; - -/* - checks, if the king can do castling - - Arguments: - mask: the bit-mask for the global "castling possible" flag - direction: left castling: -1, right castling 1 - cnt: number of fields to be checked: 3 or 2 -*/ -uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) -{ - uint8_t pos; - uint8_t opponent_color; - - /* check if the current board state allows castling */ - if ( (lrc_obj.castling_possible & mask) == 0 ) - return 0; /* castling not allowed */ - - /* get the position of the KING, could be white or black king */ - pos = stack_GetCurrElement()->current_pos; - - /* calculate the color of the opponent */ - opponent_color = 1; - opponent_color -= stack_GetCurrElement()->current_color; - - /* if the KING itself is given check... */ - if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) - return 0; - - - /* check if fields in the desired direction are emtpy */ - for(;;) - { - /* go to the next field */ - pos += direction; - /* check for a piece */ - if ( cp_GetPiece(cp_GetFromBoard(pos)) != PIECE_NONE ) - return 0; /* castling not allowed */ - - /* if some of the fields are under attack */ - if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) - return 0; - - cnt--; - if ( cnt == 0 ) - break; - } - return 1; /* castling allowed */ -} - -void ce_LoopKing(void) -{ - /* - there is an interessting timing problem in this procedure - it must be checked for castling first and as second step the normal - KING movement. If we would first check for normal moves, than - any marks might be overwritten by the ROOK in the case of castling. - */ - - /* castling (this must be done before checking normal moves (see above) */ - if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) - { - /* white left castling */ - if ( cu_IsKingCastling(1, -1, 3) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos-2); - } - /* white right castling */ - if ( cu_IsKingCastling(2, 1, 2) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos+2); - } - } - else - { - /* black left castling */ - if ( cu_IsKingCastling(4, -1, 3) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos-2); - } - /* black right castling */ - if ( cu_IsKingCastling(8, 1, 2) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos+2); - } - } - - /* reuse queen directions */ - ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 0); -} - - -/*==============================================================*/ -/* move pawn */ -/*==============================================================*/ - -/* - doppelschritt: nur von der grundlinie aus, beide (!) felder vor dem bauern mssen frei sein - en passant: nur unmittelbar nachdem ein doppelschritt ausgefhrt wurde. -*/ -void ce_LoopPawnSideCapture(uint8_t loop_pos) -{ - if ( gpos_IsIllegal(loop_pos) == 0 ) - { - /* get the piece from the board */ - /* if the field is NOT empty */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) - { - /* normal capture */ - ce_LoopRecur(loop_pos); - /* TODO: check for pawn conversion/promotion */ - } - else - { - /* check conditions for en passant capture */ - if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) - { - if ( lrc_obj.pawn_dbl_move[COLOR_BLACK]+16 == loop_pos ) - { - ce_LoopRecur(loop_pos); - /* note: pawn conversion/promotion can not occur */ - } - } - else - { - if ( lrc_obj.pawn_dbl_move[COLOR_WHITE] == loop_pos+16 ) - { - ce_LoopRecur(loop_pos); - /* note: pawn conversion/promotion can not occur */ - } - } - } - } -} - -void ce_LoopPawn(void) -{ - uint8_t initial_pos = stack_GetCurrElement()->current_pos; - uint8_t my_color = stack_GetCurrElement()->current_color; - - uint8_t loop_pos; - uint8_t line; - - /* one step forward */ - - loop_pos = initial_pos; - line = initial_pos; - line >>= 4; - if ( my_color == COLOR_WHITE ) - loop_pos += 16; - else - loop_pos -= 16; - if ( gpos_IsIllegal(loop_pos) == 0 ) - { - /* if the field is empty */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) - { - /* TODO: check for and loop through piece conversion/promotion */ - ce_LoopRecur(loop_pos); - - /* second step forward */ - - /* if pawn is on his starting line */ - if ( (my_color == COLOR_WHITE && line == 1) || (my_color == COLOR_BLACK && line == 6 ) ) - { - /* the place before the pawn is not occupied, so we can do double moves, see above */ - - if ( my_color == COLOR_WHITE ) - loop_pos += 16; - else - loop_pos -= 16; - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) - { - /* this is a special case, other promotions of the pawn can not occur */ - ce_LoopRecur(loop_pos); - } - } - } - } - - /* capture */ - - loop_pos = initial_pos; - if ( my_color == COLOR_WHITE ) - loop_pos += 15; - else - loop_pos -= 15; - ce_LoopPawnSideCapture(loop_pos); - - - loop_pos = initial_pos; - if ( my_color == COLOR_WHITE ) - loop_pos += 17; - else - loop_pos -= 17; - ce_LoopPawnSideCapture(loop_pos); -} - -/*==============================================================*/ -/* attacked */ -/*==============================================================*/ - -/* - from a starting position, search for a piece, that might jump to that postion. - return: - the two global variables - lrc_obj.find_piece_weight[0]; - lrc_obj.find_piece_weight[1]; - will be increased by the weight of the attacked pieces of that color. - it is usually required to reset these global variables to zero, before using - this function. -*/ - -void ce_FindPieceByStep(uint8_t start_pos, uint8_t piece, const uint8_t *d, uint8_t is_multi_step) -{ - uint8_t loop_pos, cp; - - /* with all directions */ - for(;;) - { - if ( u8g_pgm_read(d) == 0 ) - break; - - /* start again from the initial position */ - loop_pos = start_pos; - - /* check direction */ - do - { - /* check next position into one direction */ - loop_pos += u8g_pgm_read(d); - - /* check if the board boundary has been crossed */ - if ( (loop_pos & 0x088) != 0 ) - break; - - /* get the colored piece from the board */ - cp = cp_GetFromBoard(loop_pos); - - /* stop if we had hit another piece */ - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - /* if it is the piece we are looking for, then add the weight */ - if ( cp_GetPiece(cp) == piece ) - { - lrc_obj.find_piece_weight[cp_GetColor(cp)] += ce_piece_weight[piece]; - lrc_obj.find_piece_cnt[cp_GetColor(cp)]++; - } - /* in any case, break out of the inner loop */ - break; - } - } while( is_multi_step ); - d++; - } -} - -void ce_FindPawnPiece(uint8_t dest_pos, uint8_t color) -{ - uint8_t cp; - /* check if the board boundary has been crossed */ - if ( (dest_pos & 0x088) == 0 ) - { - /* get the colored piece from the board */ - cp = cp_GetFromBoard(dest_pos); - /* only if there is a pawn of the matching color */ - if ( cp_GetPiece(cp) == PIECE_PAWN ) - { - if ( cp_GetColor(cp) == color ) - { - /* the weight of the PAWN */ - lrc_obj.find_piece_weight[color] += 1; - lrc_obj.find_piece_cnt[color]++; - } - } - } -} - - -/* - find out, which pieces do attack a specified field - used to - - check if the KING can do castling - - check if the KING must move - - may be used in the eval procedure ... once... - - the result is stored in the global array - uint8_t lrc_obj.find_piece_weight[2]; - which is indexed with the color. - lrc_obj.find_piece_weight[COLOR_WHITE] is the sum of all white pieces - which can directly move to this field. - - example: - if the black KING is at "pos" and lrc_obj.find_piece_weight[COLOR_WHITE] is not zero - (after executing ce_CalculatePositionWeight(pos)) then the KING must be protected or moveed, because - the KING was given check. -*/ - -void ce_CalculatePositionWeight(uint8_t pos) -{ - - lrc_obj.find_piece_weight[0] = 0; - lrc_obj.find_piece_weight[1] = 0; - lrc_obj.find_piece_cnt[0] = 0; - lrc_obj.find_piece_cnt[1] = 0; - - if ( (pos & 0x088) != 0 ) - return; - - ce_FindPieceByStep(pos, PIECE_ROOK, ce_dir_offset_rook, 1); - ce_FindPieceByStep(pos, PIECE_BISHOP, ce_dir_offset_bishop, 1); - ce_FindPieceByStep(pos, PIECE_QUEEN, ce_dir_offset_queen, 1); - ce_FindPieceByStep(pos, PIECE_KNIGHT, ce_dir_offset_knight, 0); - ce_FindPieceByStep(pos, PIECE_KING, ce_dir_offset_queen, 0); - - ce_FindPawnPiece(pos+17, COLOR_BLACK); - ce_FindPawnPiece(pos+15, COLOR_BLACK); - ce_FindPawnPiece(pos-17, COLOR_WHITE); - ce_FindPawnPiece(pos-15, COLOR_WHITE); -} - -/* - calculate the summed weight of pieces with specified color which can move to a specified position - - argument: - pos: the position which should be analysed - color: the color of those pieces which should be analysed - e.g. if a black piece is at 'pos' and 'color' is white then this procedure returns the white atting count -*/ -uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color) -{ - ce_CalculatePositionWeight(pos); - return lrc_obj.find_piece_weight[color]; -} - -uint8_t ce_GetPositionAttackCount(uint8_t pos, uint8_t color) -{ - ce_CalculatePositionWeight(pos); - return lrc_obj.find_piece_cnt[color]; -} - - -/*==============================================================*/ -/* depth search starts here: loop over all pieces of the current color on the board */ -/*==============================================================*/ - -void ce_LoopPieces(void) -{ - stack_element_p e = stack_GetCurrElement(); - /* start with lower left position (A1) */ - e->current_pos = 0; - do - { - e->current_cp = cp_GetFromBoard(e->current_pos); - /* check if the position on the board is empty */ - if ( e->current_cp != 0 ) - { - /* only generate moves for the current color */ - if ( e->current_color == cp_GetColor(e->current_cp) ) - { - chess_Thinking(); - - /* find out which piece is used */ - switch(cp_GetPiece(e->current_cp)) - { - case PIECE_NONE: - break; - case PIECE_PAWN: - ce_LoopPawn(); - break; - case PIECE_KNIGHT: - ce_LoopKnight(); - break; - case PIECE_BISHOP: - ce_LoopBishop(); - break; - case PIECE_ROOK: - ce_LoopRook(); - break; - case PIECE_QUEEN: - ce_LoopQueen(); - break; - case PIECE_KING: - ce_LoopKing(); - break; - } - } - } - e->current_pos = cu_NextPos(e->current_pos); - } while( e->current_pos != 0 ); -} - -/*==============================================================*/ -/* user interface */ -/*==============================================================*/ - -/* -eval_t chess_EvalCurrBoard(uint8_t color) -{ - stack_Init(0); - stack_GetCurrElement()->current_color = color; - ce_LoopPieces(); - return stack_GetCurrElement()->best_eval; -} -*/ - -/* clear any marks on the board */ -void chess_ClearMarks(void) -{ - uint8_t i; - for( i = 0; i < 64; i++ ) - lrc_obj.board[i] &= ~CP_MARK_MASK; -} - -/* - Mark all pieces which can do moves. This is done by setting flags on the global board -*/ -void chess_MarkMovable(void) -{ - stack_Init(0); - //stack_GetCurrElement()->current_color = color; - lrc_obj.check_mode = CHECK_MODE_MOVEABLE; - ce_LoopPieces(); -} - -/* - Checks, if the piece can move from src_pos to dest_pos - - src_pos: The game position of a piece on the chess board -*/ -void chess_MarkTargetMoves(uint8_t src_pos) -{ - stack_Init(0); - stack_GetCurrElement()->current_color = cp_GetColor(cp_GetFromBoard(src_pos)); - lrc_obj.check_src_pos = src_pos; - lrc_obj.check_mode = CHECK_MODE_TARGET_MOVE; - ce_LoopPieces(); -} - -/* - first call should start with 255 - this procedure will return 255 if - - there are no marks at all - - it has looped over all marks once -*/ -uint8_t chess_GetNextMarked(uint8_t arg, uint8_t is_prev) -{ - uint8_t i; - uint8_t pos = arg; - for(i = 0; i < 64; i++) - { - if ( is_prev != 0 ) - pos = cu_PrevPos(pos); - else - pos = cu_NextPos(pos); - if ( arg != 255 && pos == 0 ) - return 255; - if ( cp_IsMarked(cp_GetFromBoard(pos)) ) - return pos; - } - return 255; -} - - -/* make a manual move: this is a little bit more than cu_Move() */ -void chess_ManualMove(uint8_t src, uint8_t dest) -{ - uint8_t cp; - - /* printf("chess_ManualMove %02x -> %02x\n", src, dest); */ - - /* if all other things fail, this is the place where the game is to be decided: */ - /* ... if the KING is captured */ - cp = cp_GetFromBoard(dest); - if ( cp_GetPiece(cp) == PIECE_KING ) - { - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = cp_GetColor(cp); - } - - /* clear ply history here, to avoid memory overflow */ - /* may be the last X moves can be kept here */ - cu_ReduceHistoryByFullMove(); - /* perform the move on the board */ - cu_Move(src, dest); - - /* update en passant double move positions: en passant position is removed after two half moves */ - lrc_obj.pawn_dbl_move[lrc_obj.ply_count&1] = ILLEGAL_POSITION; - - /* update the global half move counter */ - lrc_obj.ply_count++; - - - /* make a small check about the end of the game */ - /* use at least depth 1, because we must know if the king can still move */ - /* this is: King moves at level 0 and will be captured at level 1 */ - /* so we check if the king can move and will not be captured at search level 1 */ - - stack_Init(1); - ce_LoopPieces(); - - /* printf("chess_ManualMove/analysis best_from_pos %02x -> best_to_pos %02x\n", stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); */ - - /* analyse the eval result */ - - /* check if the other player has any moves left */ - if ( stack_GetCurrElement()->best_from_pos == ILLEGAL_POSITION ) - { - uint8_t color; - /* conditions: */ - /* 1. no King, should never happen, opposite color has won */ - /* this is already checked above at the beginning if this procedure */ - /* 2. King is under attack, opposite color has won */ - /* 3. King is not under attack, game is a draw */ - - uint8_t i = 0; - color = lrc_obj.ply_count; - color &= 1; - do - { - cp = cp_GetFromBoard(i); - /* look for the King */ - if ( cp_GetPiece(cp) == PIECE_KING ) - { - if ( cp_GetColor(cp) == color ) - { - /* check if KING is attacked */ - if ( ce_GetPositionAttackCount(i, color^1) != 0 ) - { - /* KING is under attack (check) and can not move: Game is lost */ - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = color; - } - else - { - /* KING is NOT under attack (check) but can not move: Game is a draw */ - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = 2; - } - /* break out of the loop */ - break; - } - } - i = cu_NextPos(i); - } while( i != 0 ); - } -} - -/* let the computer do a move */ -void chess_ComputerMove(uint8_t depth) -{ - stack_Init(depth); - - //stack_GetCurrElement()->current_color = lrc_obj.ply_count; - //stack_GetCurrElement()->current_color &= 1; - - cu_ReduceHistoryByFullMove(); - ce_LoopPieces(); - - chess_ManualMove(stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); -} - - -/*==============================================================*/ -/* unix code */ -/*==============================================================*/ - -#ifdef UNIX_MAIN - -#include -#include - -char *piece_str[] = { - /* 0x00 */ - " ", - "wP", - "wN", - "wB", - - /* 0x04 */ - "wR", - "wQ", - "wK", - "w?", - - /* 0x08 */ - "w?", - "w?", - "w?", - "w?", - - /* 0x0c */ - "w?", - "w?", - "w?", - "w?", - - /* 0x10 */ - "b ", - "bP", - "bN", - "bB", - "bR", - "bQ", - "bK", - "b?", - - "b?", - "b?", - "b?", - "b?", - "b?", - "b?", - "b?", - "b?" -}; - -void chess_Thinking(void) -{ - uint8_t i; - uint8_t cp = cp_GetPiece(stack_GetCurrElement()->current_cp); - - printf("Thinking: ", piece_str[cp], stack_GetCurrElement()->current_pos); - - for( i = 0; i <= lrc_obj.curr_depth; i++ ) - printf("%s ", piece_str[(lrc_obj.stack_memory+i)->current_cp]); - - printf(" \r"); -} - -void board_Show(void) -{ - uint8_t i, j, cp; - char buf[10]; - for ( i = 0; i < 8; i++ ) - { - printf("%1d ", 7-i); - for ( j = 0; j < 8; j++ ) - { - /* get piece from global board */ - cp = lrc_obj.board[(7-i)*8+j]; - strcpy(buf, piece_str[cp&COLOR_PIECE_MASK]); - - if ( (cp & CP_MARK_MASK) != 0 ) - { - buf[0] = '#'; - } - - /* mask out any bits except color and piece index */ - cp &= COLOR_PIECE_MASK; - printf("%s %02x ", buf, cp); - - } - printf("\n"); - } -} - -int main(void) -{ - uint8_t depth = 3; - chess_SetupBoard(); - board_Show(); - puts(""); - - - /* - chess_ClearMarks(); - chess_MarkMovable(COLOR_WHITE); - board_Show(); - */ - - chess_ManualMove(0x006, 0x066); - - printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); - printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); - - chess_ComputerMove(2); - - printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); - printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); - - board_Show(); - -} - - - -#else - -/*==============================================================*/ -/* display menu */ -/*==============================================================*/ - -//#define MNU_FONT font_5x7 -#define MNU_FONT u8g_font_5x8r -//#define MNU_FONT font_6x9 -#define MNU_ENTRY_HEIGHT 9 - -char *mnu_title = "Little Rook Chess"; -char *mnu_list[] = { "New Game (White)", "New Game (Black)", "Undo Move", "Return" }; -uint8_t mnu_pos = 0; -uint8_t mnu_max = 4; - -void mnu_DrawHome(uint8_t is_highlight) -{ - uint8_t x = lrc_u8g->width - 35; - uint8_t y = (lrc_u8g->height-1); - uint8_t t; - - u8g_SetFont(lrc_u8g, u8g_font_5x7r); - u8g_SetDefaultForegroundColor(lrc_u8g); - t = u8g_DrawStrP(lrc_u8g, x, y -1, U8G_PSTR("Options")); - - if ( is_highlight ) - u8g_DrawFrame(lrc_u8g, x-1, y - MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); -} - -void mnu_DrawEntry(uint8_t y, char *str, uint8_t is_clr_background, uint8_t is_highlight) -{ - uint8_t t, x; - u8g_SetFont(lrc_u8g, MNU_FONT); - t = u8g_GetStrWidth(lrc_u8g, str); - x = u8g_GetWidth(lrc_u8g); - x -= t; - x >>= 1; - - if ( is_clr_background ) - { - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBox(lrc_u8g, x-3, (lrc_u8g->height-1) - (y+MNU_ENTRY_HEIGHT-1+2), t+5, MNU_ENTRY_HEIGHT+4); - } - - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawStr(lrc_u8g, x, (lrc_u8g->height-1) - y, str); - - if ( is_highlight ) - { - u8g_DrawFrame(lrc_u8g, x-1, (lrc_u8g->height-1) - y -MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); - } -} - -void mnu_Draw(void) -{ - uint8_t i; - uint8_t t,y; - /* calculate hight of the complete menu */ - y = mnu_max; - y++; /* consider also some space for the title */ - y++; /* consider also some space for the title */ - y *= MNU_ENTRY_HEIGHT; - - /* calculate how much space will be left */ - t = u8g_GetHeight(lrc_u8g); - t -= y; - - /* topmost pos start half of that empty space from the top */ - t >>= 1; - y = u8g_GetHeight(lrc_u8g); - y -= t; - - y -= MNU_ENTRY_HEIGHT; - mnu_DrawEntry(y, mnu_title, 0, 0); - - y -= MNU_ENTRY_HEIGHT; - - - for( i = 0; i < mnu_max; i++ ) - { - y -= MNU_ENTRY_HEIGHT; - mnu_DrawEntry(y, mnu_list[i], 0, i == mnu_pos); - } -} - -void mnu_Step(uint8_t key_cmd) -{ - if ( key_cmd == CHESS_KEY_NEXT ) - { - if ( mnu_pos+1 < mnu_max ) - mnu_pos++; - } - else if ( key_cmd == CHESS_KEY_PREV ) - { - if ( mnu_pos > 0 ) - mnu_pos--; - } -} - - - - -uint8_t chess_key_code = 0; -uint8_t chess_key_cmd = 0; -#define CHESS_STATE_MENU 0 -#define CHESS_STATE_SELECT_START 1 -#define CHESS_STATE_SELECT_PIECE 2 -#define CHESS_STATE_SELECT_TARGET_POS 3 -#define CHESS_STATE_THINKING 4 -#define CHESS_STATE_GAME_END 5 -uint8_t chess_state = CHESS_STATE_MENU; -uint8_t chess_source_pos = 255; -uint8_t chess_target_pos = 255; - -const uint8_t chess_pieces_body_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, /* 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x00, */ - /* KNIGHT */ 0x00, 0x00, 0x1c, 0x2c, 0x04, 0x04, 0x0e, 0x00, - /* BISHOP */ 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x08, 0x00, 0x00, /* 0x00, 0x00, 0x08, 0x1c, 0x1c, 0x08, 0x00, 0x00, */ - /* ROOK */ 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, - /* QUEEN */ 0x00, 0x00, 0x14, 0x1c, 0x08, 0x1c, 0x08, 0x00, - /* KING */ 0x00, 0x00, 0x00, 0x08, 0x3e, 0x1c, 0x08, 0x00, -}; - -#ifdef NOT_REQUIRED -/* white pieces are constructed by painting black pieces and cutting out the white area */ -const uint8_t chess_white_pieces_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x0c, 0x12, 0x12, 0x0c, 0x1e, 0x00, - /* KNIGHT */ 0x00, 0x1c, 0x22, 0x52, 0x6a, 0x0a, 0x11, 0x1f, - /* BISHOP */ 0x00, 0x08, 0x14, 0x22, 0x22, 0x14, 0x08, 0x7f, - /* ROOK */ 0x00, 0x55, 0x7f, 0x22, 0x22, 0x22, 0x22, 0x7f, - /* QUEEN */ 0x00, 0x55, 0x2a, 0x22, 0x14, 0x22, 0x14, 0x7f, - /* KING */ 0x08, 0x1c, 0x49, 0x77, 0x41, 0x22, 0x14, 0x7f, -}; -#endif - -const uint8_t chess_black_pieces_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x3c, 0x00, /* 0x00, 0x00, 0x0c, 0x1e, 0x1e, 0x0c, 0x1e, 0x00, */ - /* KNIGHT */ 0x00, 0x1c, 0x3e, 0x7e, 0x6e, 0x0e, 0x1f, 0x1f, - /* BISHOP */ 0x00, 0x1c, 0x2e, 0x3e, 0x3e, 0x1c, 0x08, 0x7f, /*0x00, 0x08, 0x1c, 0x3e, 0x3e, 0x1c, 0x08, 0x7f,*/ - /* ROOK */ 0x00, 0x55, 0x7f, 0x3e, 0x3e, 0x3e, 0x3e, 0x7f, - /* QUEEN */ 0x00, 0x55, 0x3e, 0x3e, 0x1c, 0x3e, 0x1c, 0x7f, - /* KING -*/ 0x08, 0x1c, 0x49, 0x7f, 0x7f, 0x3e, 0x1c, 0x7f, -}; - - -#if defined(DOGXL160_HW_GR) -#define BOXSIZE 13 -#define BOXOFFSET 3 -#else -#define BOXSIZE 8 -#define BOXOFFSET 1 -#endif - -u8g_uint_t chess_low_edge; -uint8_t chess_boxsize = 8; -uint8_t chess_boxoffset = 1; - - -void chess_DrawFrame(uint8_t pos, uint8_t is_bold) -{ - u8g_uint_t x0, y0; - - x0 = pos; - x0 &= 15; - if ( lrc_obj.orientation != COLOR_WHITE ) - x0 ^= 7; - - y0 = pos; - y0>>= 4; - if ( lrc_obj.orientation != COLOR_WHITE ) - y0 ^= 7; - - x0 *= chess_boxsize; - y0 *= chess_boxsize; - - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize+1, chess_boxsize, chess_boxsize); - - - if ( is_bold ) - { - x0--; - y0++; - - u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize +1, chess_boxsize+2, chess_boxsize+2); - } -} - - -void chess_DrawBoard(void) -{ - uint8_t i, j, cp; - const uint8_t *ptr; /* pointer into PROGMEM */ - - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) > 1 ) - { - for( i = 0; i < 8; i++ ) - for( j = 0; j < 8; j++ ) - { - uint8_t x,y; - x = i; - x*=chess_boxsize; - y = j; - y*=chess_boxsize; - if ( ((i^j) & 1) == 0 ) - u8g_SetDefaultMidColor(lrc_u8g); - else - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBox(lrc_u8g, x,chess_low_edge-y-chess_boxsize+1,chess_boxsize,chess_boxsize); - } - //u8g_SetDefaultForegroundColor(lrc_u8g); - } - else - { - uint8_t x_offset = 1; - u8g_SetDefaultForegroundColor(lrc_u8g); - for( i = 0; i < 8*8; i+=8 ) - { - for( j = 0; j < 8*8; j+=8 ) - { - if ( ((i^j) & 8) == 0 ) - { - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-2); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-4); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-2); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-4); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-6); - } - } - } - } - - for ( i = 0; i < 8; i++ ) - { - for ( j = 0; j < 8; j++ ) - { - /* get piece from global board */ - if ( lrc_obj.orientation == COLOR_WHITE ) - { - cp = lrc_obj.board[i*8+j]; - } - else - { - cp = lrc_obj.board[(7-i)*8+7-j]; - } - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - ptr = chess_black_pieces_bm; - ptr += (cp_GetPiece(cp)-1)*8; - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); - - if ( cp_GetColor(cp) == lrc_obj.strike_out_color ) - { - ptr = chess_pieces_body_bm; - ptr += (cp_GetPiece(cp)-1)*8; - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); - } - } - } - } - - if ( (chess_source_pos & 0x88) == 0 ) - { - chess_DrawFrame(chess_source_pos, 1); - } - - if ( (chess_target_pos & 0x88) == 0 ) - { - chess_DrawFrame(chess_target_pos, 0); - } - -} - - -void chess_Thinking(void) -{ -} - -void chess_Init(u8g_t *u8g, uint8_t body_color) -{ - lrc_u8g = u8g; - - chess_low_edge = u8g_GetHeight(lrc_u8g); - chess_low_edge--; - - - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) == 1 ) - { - - chess_boxsize = 8; - chess_boxoffset = 1; - } - else - { - - /* - if ( u8g_GetHeight(lrc_u8g) >= 12*8 ) - { - chess_boxsize = 12; - chess_boxoffset = 3; - } - else */ if ( u8g_GetHeight(lrc_u8g) >= 11*8 ) - { - chess_boxsize = 10; - chess_boxoffset = 2; - } - else - { - chess_boxsize = 8; - chess_boxoffset = 1; - } - - if ( u8g_GetHeight(lrc_u8g) > 64 ) - chess_low_edge -= (u8g_GetHeight(lrc_u8g)-chess_boxsize*8) / 2; - - } - - lrc_obj.strike_out_color = body_color; - chess_SetupBoard(); -} - - - -void chess_Draw(void) -{ - if ( chess_state == CHESS_STATE_MENU ) - { - if ( lrc_obj.ply_count == 0) - mnu_max = 2; - else - mnu_max = 4; - mnu_Draw(); - } - else - { - chess_DrawBoard(); - - { - uint8_t i; - uint8_t entries = lrc_obj.chm_pos; - if ( entries > 4 ) - entries = 4; - - u8g_SetFont(lrc_u8g, u8g_font_5x7); - u8g_SetDefaultForegroundColor(lrc_u8g); - for( i = 0; i < entries; i++ ) - { - -#if defined(DOGXL160_HW_GR) || defined(DOGXL160_HW_BW) - dog_DrawStr(u8g_GetWidth(lrc_u8g)-35, u8g_GetHeight(lrc_u8g)-8*(i+1), font_5x7, cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); -#else - u8g_DrawStr(lrc_u8g, u8g_GetWidth(lrc_u8g)-35, 8*(i+1), cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); -#endif - - } - - } - - if ( chess_state == CHESS_STATE_SELECT_PIECE ) - mnu_DrawHome(chess_source_pos == 255); - else if ( chess_state == CHESS_STATE_SELECT_TARGET_POS ) - mnu_DrawHome(chess_target_pos == 255); - else - mnu_DrawHome(0); - - if ( chess_state == CHESS_STATE_GAME_END ) - { - switch( lrc_obj.lost_side_color ) - { - case COLOR_WHITE: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Black wins", 1, 1); - break; - case COLOR_BLACK: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "White wins", 1, 1); - break; - default: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Stalemate", 1, 1); - break; - } - } - } -} - - -void chess_Step(uint8_t keycode) -{ - if ( keycode == CHESS_KEY_NONE ) - { - chess_key_cmd = chess_key_code; - chess_key_code = CHESS_KEY_NONE; - } - else - { - chess_key_cmd = CHESS_KEY_NONE; - chess_key_code = keycode; - } - //chess_ComputerMove(2); - switch(chess_state) - { - case CHESS_STATE_MENU: - mnu_Step(chess_key_cmd); - if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - if ( mnu_pos == 0 ) - { - chess_SetupBoard(); - lrc_obj.orientation = 0; - chess_state = CHESS_STATE_SELECT_START; - } - else if ( mnu_pos == 1 ) - { - chess_SetupBoard(); - lrc_obj.orientation = 1; - chess_state = CHESS_STATE_THINKING; - } - else if ( mnu_pos == 2 ) - { - if ( lrc_obj.ply_count >= 2 ) - { - cu_UndoHalfMove(); - cu_UndoHalfMove(); - lrc_obj.ply_count-=2; - if ( lrc_obj.ply_count == 0 ) - mnu_pos = 0; - } - chess_state = CHESS_STATE_SELECT_START; - } - else if ( mnu_pos == 3 ) - { - chess_state = CHESS_STATE_SELECT_START; - } - } - break; - case CHESS_STATE_SELECT_START: - chess_ClearMarks(); - chess_MarkMovable(); - chess_source_pos = chess_GetNextMarked(255, 0); - chess_target_pos = ILLEGAL_POSITION; - chess_state = CHESS_STATE_SELECT_PIECE; - break; - - case CHESS_STATE_SELECT_PIECE: - if ( chess_key_cmd == CHESS_KEY_NEXT ) - { - chess_source_pos = chess_GetNextMarked(chess_source_pos, 0); - } - else if ( chess_key_cmd == CHESS_KEY_PREV ) - { - chess_source_pos = chess_GetNextMarked(chess_source_pos, 1); - } - else if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - if ( chess_source_pos == 255 ) - { - chess_state = CHESS_STATE_MENU; - } - else - { - chess_ClearMarks(); - chess_MarkTargetMoves(chess_source_pos); - chess_target_pos = chess_GetNextMarked(255, 0); - chess_state = CHESS_STATE_SELECT_TARGET_POS; - } - } - break; - case CHESS_STATE_SELECT_TARGET_POS: - if ( chess_key_cmd == CHESS_KEY_NEXT ) - { - chess_target_pos = chess_GetNextMarked(chess_target_pos, 0); - } - else if ( chess_key_cmd == CHESS_KEY_PREV ) - { - chess_target_pos = chess_GetNextMarked(chess_target_pos, 1); - } - else if ( chess_key_cmd == CHESS_KEY_BACK ) - { - chess_ClearMarks(); - chess_MarkMovable(); - chess_target_pos = ILLEGAL_POSITION; - chess_state = CHESS_STATE_SELECT_PIECE; - } - else if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - chess_ManualMove(chess_source_pos, chess_target_pos); - if ( lrc_obj.is_game_end != 0 ) - chess_state = CHESS_STATE_GAME_END; - else - chess_state = CHESS_STATE_THINKING; - /* clear marks as some kind of feedback to the user... it simply looks better */ - chess_source_pos = ILLEGAL_POSITION; - chess_target_pos = ILLEGAL_POSITION; - chess_ClearMarks(); - } - break; - case CHESS_STATE_THINKING: - chess_ComputerMove(2); - if ( lrc_obj.is_game_end != 0 ) - chess_state = CHESS_STATE_GAME_END; - else - chess_state = CHESS_STATE_SELECT_START; - break; - case CHESS_STATE_GAME_END: - if ( chess_key_cmd != CHESS_KEY_NONE ) - { - chess_state = CHESS_STATE_MENU; - chess_SetupBoard(); - } - break; - } - -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h deleted file mode 100644 index f5a0230ac..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h +++ /dev/null @@ -1,1607 +0,0 @@ -/* - - u8g.h - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#ifndef _U8G_H -#define _U8G_H - -//#define U8G_16BIT 1 - -#include - -#ifdef __18CXX -typedef unsigned char uint8_t; -typedef signed char int8_t; -typedef unsigned short uint16_t; -typedef signed short int16_t; -#else -#include -#endif - -#if defined(__AVR__) -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -/*===============================================================*/ -#ifdef __GNUC__ -#define U8G_NOINLINE __attribute__((noinline)) -#define U8G_PURE __attribute__ ((pure)) -#define U8G_NOCOMMON __attribute__ ((nocommon)) -#define U8G_SECTION(name) __attribute__ ((section (name))) -#else -#define U8G_NOINLINE -#define U8G_PURE -#define U8G_NOCOMMON -#define U8G_SECTION(name) -#endif - -/*===============================================================*/ -/* flash memory access */ - -#if defined(__AVR__) -/* U8G_PROGMEM is used by the XBM example */ -#define U8G_PROGMEM U8G_SECTION(".progmem.data") -typedef uint8_t PROGMEM u8g_pgm_uint8_t; -typedef uint8_t u8g_fntpgm_uint8_t; -#define u8g_pgm_read(adr) pgm_read_byte_near(adr) -#define U8G_PSTR(s) ((u8g_pgm_uint8_t *)PSTR(s)) -#else -#define U8G_PROGMEM -#define PROGMEM -typedef uint8_t u8g_pgm_uint8_t; -typedef uint8_t u8g_fntpgm_uint8_t; -#define u8g_pgm_read(adr) (*(const u8g_pgm_uint8_t *)(adr)) -#define U8G_PSTR(s) ((u8g_pgm_uint8_t *)(s)) -#endif - -/*===============================================================*/ -/* forward */ -typedef struct _u8g_t u8g_t; -typedef struct _u8g_dev_t u8g_dev_t; - -typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; -typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; -typedef struct _u8g_box_t u8g_box_t; - - -/*===============================================================*/ -/* generic */ -#if defined(U8G_16BIT) -typedef uint16_t u8g_uint_t; -typedef int16_t u8g_int_t; -#else -typedef uint8_t u8g_uint_t; -typedef int8_t u8g_int_t; -#endif - -#ifdef OBSOLETE -struct _u8g_box_t -{ - u8g_uint_t x0, y0, x1, y1; -}; -typedef struct _u8g_box_t u8g_box_t; -#endif /* OBSOLETE */ - - -/*===============================================================*/ -/* device structure */ - -#ifdef __XC8 -/* device prototype */ -typedef uint8_t (*u8g_dev_fnptr)(void *u8g, void *dev, uint8_t msg, void *arg); - -/* com prototype */ -typedef uint8_t (*u8g_com_fnptr)(void *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -#else -/* device prototype */ -typedef uint8_t (*u8g_dev_fnptr)(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* com prototype */ -typedef uint8_t (*u8g_com_fnptr)(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -#endif - - - -struct _u8g_dev_t -{ - u8g_dev_fnptr dev_fn; /* device procedure */ - void *dev_mem; /* device memory */ - u8g_com_fnptr com_fn; /* communication procedure */ -}; - - -/*===============================================================*/ -/* device list */ - -/* Size: 128x64 SDL, u8g_dev_sdl.c */ -extern u8g_dev_t u8g_dev_sdl_1bit; -extern u8g_dev_t u8g_dev_sdl_1bit_h; -extern u8g_dev_t u8g_dev_sdl_2bit; -extern u8g_dev_t u8g_dev_sdl_2bit_double_mem; -extern u8g_dev_t u8g_dev_sdl_8bit; -int u8g_sdl_get_key(void); - -/* Size: 70x30 monochrom, stdout */ -extern u8g_dev_t u8g_dev_stdout; - -/* Size: monochrom, writes "u8g.pbm" */ -extern u8g_dev_t u8g_dev_pbm; -extern u8g_dev_t u8g_dev_pbm_8h1; -extern u8g_dev_t u8g_dev_pbm_8h2; /* grayscale simulation */ - -/* Size: 128x64 monochrom, no output, used for performance measure */ -extern u8g_dev_t u8g_dev_gprof; - -/* Display: EA DOGS102, Size: 102x64 monochrom */ -extern u8g_dev_t u8g_dev_uc1701_dogs102_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_dogs102_hw_spi; - -/* Display: Mini12864 (dealextreme), Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_uc1701_mini12864_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_mini12864_hw_spi; - -/* Display: EA DOGM132, Size: 128x32 monochrom */ -extern u8g_dev_t u8g_dev_st7565_dogm132_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm132_hw_spi; - -/* Display: EA DOGM128, Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_st7565_dogm128_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_hw_spi; -/* Display: Topway LM6063 128x64 */ -extern u8g_dev_t u8g_dev_st7565_lm6063_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6063_hw_spi; -/* Display: Topway LM6059 128x64 (Adafruit) */ -extern u8g_dev_t u8g_dev_st7565_lm6059_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6059_hw_spi; -/* Display: Newhaven NHD-C12864 */ -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_hw_spi; -/* Display: Newhaven NHD-C12832 */ -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_parallel; -/* Display: Displaytech 64128N */ -extern u8g_dev_t u8g_dev_st7565_64128n_sw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_hw_spi; - -/* dfrobot 128x64 Graphic LCD (SKU:FIT0021) */ -extern u8g_dev_t u8g_dev_st7920_128x64_sw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_hw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_8bit; - -extern u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_8bit; - -/* NHD-19232WG */ -extern u8g_dev_t u8g_dev_st7920_192x32_sw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_hw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_8bit; - -extern u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_4x_8bit; - -/* CrystalFontz CFAG20232 */ -extern u8g_dev_t u8g_dev_st7920_202x32_sw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_hw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_8bit; - -extern u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_4x_8bit; - -/* LC7981 160x80 display */ -extern u8g_dev_t u8g_dev_lc7981_160x80_8bit; -/* LC7981 240x64 display */ -extern u8g_dev_t u8g_dev_lc7981_240x64_8bit; -/* LC7981 240x128 display */ -extern u8g_dev_t u8g_dev_lc7981_240x128_8bit; -/* LC7981 320x64 display */ -extern u8g_dev_t u8g_dev_lc7981_320x64_8bit; - -/* T6963, all t6963 devices have double page (2x) */ -extern u8g_dev_t u8g_dev_t6963_240x128_8bit; -extern u8g_dev_t u8g_dev_t6963_240x64_8bit; -extern u8g_dev_t u8g_dev_t6963_128x64_8bit; - -/* Display: EA DOGXL160, Size: 160x104 monochrom & gray level */ -extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_hw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_hw_spi; - -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi; - -/* Display: Generic KS0108b, Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_ks0108_128x64; /* official Arduino Library interface */ -extern u8g_dev_t u8g_dev_ks0108_128x64_fast; /* faster, but uses private tables from the Arduino Library */ - -/* Nokia 84x48 Display with PCD8544 */ -extern u8g_dev_t u8g_dev_pcd8544_84x48_sw_spi; -extern u8g_dev_t u8g_dev_tls8204_84x48_sw_spi; - -/* Nokia 96x65 Display with PCF8812 */ -extern u8g_dev_t u8g_dev_pcf8812_96x65_sw_spi; - -/* NHD-2.7-12864UCY3 OLED Display with SSD1325 Controller */ -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_hw_spi; - -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi; - -/* LY120 OLED with SSD1327 Controller (tested with Seeedstudio module) */ -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_i2c; - -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c; - -/* NHD-3.12-25664 OLED Display with SSD1322 Controller */ -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi; - -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi; - -/* OLED 128x64 Display with SSD1306 Controller */ -extern u8g_dev_t u8g_dev_ssd1306_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_i2c; - -/* OLED 128x64 Display with SSD1309 Controller */ -extern u8g_dev_t u8g_dev_ssd1309_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1309_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1309_128x64_i2c; - -/* OLED 128x32 Display with SSD1306 Controller */ -extern u8g_dev_t u8g_dev_ssd1306_128x32_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_i2c; - -/* experimental 65K TFT with st7687 controller */ -extern u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi; -extern u8g_dev_t u8g_dev_st7687_c144mvgd_8bit; - -/* SBN1661/SED1520 display with 122x32 */ -extern u8g_dev_t u8g_dev_sbn1661_122x32; - -/* flip disc matrix */ -extern u8g_dev_t u8g_dev_flipdisc_2x7; -void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)); - -/* ILI9325D based TFT */ -extern u8g_dev_t u8g_dev_ili9325d_320x240_8bit; - -/* u8g_virtual_screen.c */ -extern u8g_dev_t u8g_dev_vs; - - -/*===============================================================*/ -/* device messages */ - -struct _u8g_dev_arg_pixel_t -{ - u8g_uint_t x, y; /* will be modified */ - uint8_t pixel; /* will be modified */ - uint8_t dir; - uint8_t color; -}; -/* typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; */ /* forward decl */ - -struct _u8g_dev_arg_bbx_t -{ - u8g_uint_t x, y, w, h; -}; -/* typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; */ /* forward decl */ - -struct _u8g_box_t -{ - u8g_uint_t x0, y0, x1, y1; -}; -/* typedef struct _u8g_box_t u8g_box_t; */ /* forward decl */ - - -#define U8G_DEV_MSG_INIT 10 -#define U8G_DEV_MSG_STOP 11 - -/* arg: pointer to uint8_t, contranst value between 0 and 255 */ -#define U8G_DEV_MSG_CONTRAST 15 - -#define U8G_DEV_MSG_SLEEP_ON 16 -#define U8G_DEV_MSG_SLEEP_OFF 17 - -#define U8G_DEV_MSG_PAGE_FIRST 20 -#define U8G_DEV_MSG_PAGE_NEXT 21 - -/* arg: u8g_dev_arg_bbx_t * */ -/* new algorithm with U8G_DEV_MSG_GET_PAGE_BOX makes this msg obsolete */ -/* #define U8G_DEV_MSG_IS_BBX_INTERSECTION 22 */ - -/* arg: u8g_box_t *, fill structure with current page properties */ -#define U8G_DEV_MSG_GET_PAGE_BOX 23 - -/* -#define U8G_DEV_MSG_PRIMITIVE_START 30 -#define U8G_DEV_MSG_PRIMITIVE_END 31 -*/ - -/* arg: u8g_dev_arg_pixel_t * */ -#define U8G_DEV_MSG_SET_PIXEL 50 -#define U8G_DEV_MSG_SET_8PIXEL 59 - -#define U8G_DEV_MSG_SET_COLOR_INDEX 60 - -#define U8G_DEV_MSG_SET_XY_CB 61 - -#define U8G_DEV_MSG_GET_WIDTH 70 -#define U8G_DEV_MSG_GET_HEIGHT 71 -#define U8G_DEV_MSG_GET_MODE 72 - -/*===============================================================*/ -/* device modes */ -#define U8G_MODE(is_color, bits_per_pixel) (((is_color)<<4)|(bits_per_pixel)) - -#define U8G_MODE_UNKNOWN 0 -#define U8G_MODE_BW U8G_MODE(0, 1) -#define U8G_MODE_GRAY2BIT U8G_MODE(0, 2) -#define U8G_MODE_R3G3B2 U8G_MODE(1, 8) - -#define U8G_MODE_GET_BITS_PER_PIXEL(mode) ((mode)&15) -#define U8G_MODE_IS_COLOR(mode) (((mode)&16)==0?0:1) - - -/*===============================================================*/ -/* com options */ - -/* uncomment the following line for Atmega HW SPI double speed, issue 89 */ -/* #define U8G_HW_SPI_2X 1 */ - -/* com messages */ - -#define U8G_COM_MSG_STOP 0 -#define U8G_COM_MSG_INIT 1 - -#define U8G_COM_MSG_ADDRESS 2 - -/* CHIP_SELECT argument: number of the chip which needs to be activated, so this is more like high active */ -#define U8G_COM_MSG_CHIP_SELECT 3 - -#define U8G_COM_MSG_RESET 4 - -#define U8G_COM_MSG_WRITE_BYTE 5 -#define U8G_COM_MSG_WRITE_SEQ 6 -#define U8G_COM_MSG_WRITE_SEQ_P 7 - - -/* com driver */ -uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_null.c */ -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_std_sw_spi.c */ -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_sw_spi.c */ -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_hw_spi.c */ -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_spi.c */ -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_hw_spi.c */ -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_parallel.c */ -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_fast_parallel.c */ -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_port_d_wr.c */ -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_no_en_parallel.c */ -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_ssd_i2c.c */ -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_t6963.c */ - - -uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_spi.c */ -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_sw_spi.c */ -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_st7920_spi.c */ -uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_parallel.c */ - - -/* - Translation of system specific com drives to generic com names - At the moment, the following generic com drives are available - U8G_COM_HW_SPI - U8G_COM_SW_SPI - U8G_COM_PARALLEL - U8G_COM_T6963 - U8G_COM_FAST_PARALLEL - U8G_COM_SSD_I2C - -defined(__18CXX) || defined(__PIC32MX) - -*/ -/* ==== HW SPI, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_arduino_st7920_hw_spi_fn -#elif defined(__18CXX) || defined(__PIC32MX) -#define U8G_COM_HW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif -#endif -/* ==== HW SPI, not Arduino ====*/ -#ifndef U8G_COM_HW_SPI -#if defined(__AVR__) -#define U8G_COM_HW_SPI u8g_com_atmega_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_atmega_st7920_hw_spi_fn -#endif -#endif -#ifndef U8G_COM_HW_SPI -#define U8G_COM_HW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif - -/* ==== SW SPI, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__18CXX) || defined(__PIC32MX) -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__arm__) /* Arduino Due */ -#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#endif -#endif - -#ifndef U8G_COM_SW_SPI -/* ==== SW SPI, not Arduino ====*/ -#if defined(__AVR__) -#define U8G_COM_SW_SPI u8g_com_atmega_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_atmega_st7920_sw_spi_fn -#endif -#endif -#ifndef U8G_COM_SW_SPI -#define U8G_COM_SW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn -#endif - -/* ==== Parallel iinterface, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_arduino_fast_parallel_fn -#define U8G_COM_T6963 u8g_com_arduino_t6963_fn -#else /* Arduino Due, Chipkit PIC32 */ -#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif -#endif -#ifndef U8G_COM_PARALLEL -#if defined(__AVR__) -#define U8G_COM_PARALLEL u8g_com_atmega_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_atmega_parallel_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif -#endif -#ifndef U8G_COM_PARALLEL -#define U8G_COM_PARALLEL u8g_com_null_fn -#define U8G_COM_FAST_PARALLEL u8g_com_null_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif - -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn -#endif -#endif - -#ifndef U8G_COM_SSD_I2C -#if defined(__AVR__) -/* AVR variant can use the arduino version at the moment */ -#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn -#endif -#endif -#ifndef U8G_COM_SSD_I2C -#define U8G_COM_SSD_I2C u8g_com_null_fn -#endif - - - -/*===============================================================*/ -/* com api */ -uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev); -void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev); -void u8g_EnableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ -void u8g_DisableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ -void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs); -void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev); -void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev); -void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address); -uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val); -uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq); -uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq); - - - -#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) -#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) -#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) -#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) -#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) -#define U8G_ESC_END 255, 254 -#define U8G_ESC_255 255, 255 -//uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, u8g_pgm_uint8_t *esc_seq); -uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq); - - -/* u8g_com_api_16gr.c */ -uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); -uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); -uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); -uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); - - -/*===============================================================*/ -/* u8g_arduino_common.c */ -void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value); -void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g); - -/*===============================================================*/ -/* u8g_com_io.c */ - -/* create internal number from port and pin */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos); -#define PN(port,bitpos) u8g_Pin(port,bitpos) - -/* low level procedures */ -void u8g_SetPinOutput(uint8_t internal_pin_number); -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level); -void u8g_SetPinInput(uint8_t internal_pin_number); -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number); - -/* u8g level procedures, expect U8G_PI_xxx macro */ -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi); -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level); - - -/*===============================================================*/ -/* page */ -struct _u8g_page_t -{ - u8g_uint_t page_height; - u8g_uint_t total_height; - u8g_uint_t page_y0; - u8g_uint_t page_y1; - uint8_t page; -}; -typedef struct _u8g_page_t u8g_page_t; - -void u8g_page_First(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ -void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) U8G_NOINLINE; /* u8g_page.c */ -uint8_t u8g_page_Next(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ - -/*===============================================================*/ -/* page buffer (pb) */ - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; /* pixel width */ - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -/* u8g_pb.c */ -void u8g_pb_Clear(u8g_pb_t *b); -uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx); -void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box); -uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel); -uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); - -/* - note on __attribute__ ((nocommon)) - AVR scripts often use --gc-sections on the linker to remove unused section. - This works fine for initialed data and text sections. In principle .bss is also - handled, but the name##_pb definition is not removed. Reason is, that - array definitions are placed in the COMMON section, by default - The attribute "nocommon" removes this automatic assignment to the - COMMON section and directly puts it into .bss. As a result, if more - than one buffer is defined in one file, then it will be removed with --gc-sections - - .. not sure if Arduino IDE uses -fno-common... if yes, then the attribute is - redundant. -*/ -#define U8G_PB_DEV(name, width, height, page_height, dev_fn, com_fn) \ -uint8_t name##_buf[width] U8G_NOCOMMON ; \ -u8g_pb_t name##_pb = { {page_height, height, 0, 0, 0}, width, name##_buf}; \ -u8g_dev_t name = { dev_fn, &name##_pb, com_fn } - - -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8v1_Clear(u8g_pb_t *b) U8G_NOINLINE; - -uint8_t u8g_pb8v1_IsYIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb8v1_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb8v1_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); - -uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16v1.c */ -uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb14v1.c */ -uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb8v2.c */ -uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16v2.c (double memory of pb8v2) */ -uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/* u8g_pb8h1.c */ -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16h1.c */ -uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb32h1.c */ -uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/* u8g_pb8h2.c 8 pixel rows, byte has horzontal orientation */ -uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16h2.c */ -uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - - -/* u8g_pb8h1f.c */ -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb8h8.c */ -uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - - -/*===============================================================*/ -/* u8g_ll_api.c */ - -/* cursor draw callback */ -typedef void (*u8g_draw_cursor_fn)(u8g_t *u8g); - -/* vertical reference point calculation callback */ -typedef u8g_uint_t (*u8g_font_calc_vref_fnptr)(u8g_t *u8g); - -/* state backup and restore procedure */ -typedef void (*u8g_state_cb)(uint8_t msg); - - -/* PI = Pin Index */ - -/* reset pin, usually optional */ -#define U8G_PI_RESET 0 - -/* address / data or instruction */ -#define U8G_PI_A0 1 -#define U8G_PI_DI 1 - -/* chip select line */ -#define U8G_PI_CS 2 -#define U8G_PI_CS1 2 -#define U8G_PI_CS2 3 -/* Feb 2013: A0 state moved from 7 to 3 for t6963 controller*/ -#define U8G_PI_A0_STATE 3 - -/* enable / clock signal */ -#define U8G_PI_EN 4 -#define U8G_PI_CS_STATE 4 -#define U8G_PI_SCK 4 -#define U8G_PI_SCL 4 -#define U8G_PI_RD 4 - - -/* data pins, shared with SPI and I2C pins */ -#define U8G_PI_D0 5 -#define U8G_PI_MOSI 5 -#define U8G_PI_SDA 5 -#define U8G_PI_D1 6 -#define U8G_PI_MISO 6 -#define U8G_PI_D2 7 -#define U8G_PI_D3 8 -#define U8G_PI_SET_A0 8 -#define U8G_PI_D4 9 -#define U8G_PI_D5 10 -#define U8G_PI_I2C_OPTION 11 -#define U8G_PI_D6 11 -#define U8G_PI_D7 12 - -/* read/write pin, must be the last pin in the list, this means U8G_PIN_LIST_LEN = U8G_PI_RW + 1*/ -#define U8G_PI_WR 13 -#define U8G_PI_RW 13 - -#define U8G_PIN_LIST_LEN 14 - - -#define U8G_PIN_NONE 255 - -#define U8G_FONT_HEIGHT_MODE_TEXT 0 -#define U8G_FONT_HEIGHT_MODE_XTEXT 1 -#define U8G_FONT_HEIGHT_MODE_ALL 2 - -struct _u8g_t -{ - u8g_uint_t width; - u8g_uint_t height; - - - u8g_dev_t *dev; /* first device in the device chain */ - const u8g_pgm_uint8_t *font; /* regular font for all text procedures */ - const u8g_pgm_uint8_t *cursor_font; /* special font for cursor procedures */ - uint8_t cursor_fg_color, cursor_bg_color; - uint8_t cursor_encoding; - uint8_t mode; /* display mode, one of U8G_MODE_xxx */ - u8g_uint_t cursor_x; - u8g_uint_t cursor_y; - u8g_draw_cursor_fn cursor_fn; - - int8_t glyph_dx; - int8_t glyph_x; - int8_t glyph_y; - uint8_t glyph_width; - uint8_t glyph_height; - - u8g_font_calc_vref_fnptr font_calc_vref; - uint8_t font_height_mode; - int8_t font_ref_ascent; - int8_t font_ref_descent; - uint8_t font_line_spacing_factor; /* line_spacing = factor * (ascent - descent) / 64 */ - uint8_t line_spacing; - - u8g_dev_arg_pixel_t arg_pixel; - /* uint8_t color_index; */ - - uint8_t pin_list[U8G_PIN_LIST_LEN]; - - u8g_state_cb state_cb; - - u8g_box_t current_page; /* current box of the visible page */ - -}; - -#define u8g_GetFontAscent(u8g) ((u8g)->font_ref_ascent) -#define u8g_GetFontDescent(u8g) ((u8g)->font_ref_descent) -#define u8g_GetFontLineSpacing(u8g) ((u8g)->line_spacing) - -uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev); -void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev); -uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev); -uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast); -void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y); -void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); -uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); /* obsolete */ -u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev); -u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev); - -void u8g_UpdateDimension(u8g_t *u8g); -uint8_t u8g_Begin(u8g_t *u8g); /* reset device, put it into default state and call u8g_UpdateDimension() */ -uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev); /* only usefull if the device only as hardcoded ports */ -uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset); -uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset); -uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options); /* use U8G_I2C_OPT_NONE as options */ -uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); -uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset); -uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); -void u8g_FirstPage(u8g_t *u8g); -uint8_t u8g_NextPage(u8g_t *u8g); -uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast); -void u8g_SleepOn(u8g_t *u8g); -void u8g_SleepOff(u8g_t *u8g); -void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y); -void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); - -uint8_t u8g_Stop(u8g_t *u8g); -void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx); -uint8_t u8g_GetColorIndex(u8g_t *u8g); - -uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g); -void u8g_SetDefaultForegroundColor(u8g_t *u8g); - -uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g); -void u8g_SetDefaultBackgroundColor(u8g_t *u8g); - -uint8_t u8g_GetDefaultMidColor(u8g_t *u8g); -void u8g_SetDefaultMidColor(u8g_t *u8g); - -#define u8g_GetWidth(u8g) ((u8g)->width) -#define u8g_GetHeight(u8g) ((u8g)->height) -#define u8g_GetMode(u8g) ((u8g)->mode) -/* - U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(u8g)) - U8G_MODE_IS_COLOR(u8g_GetMode(u8g)) -*/ - -/* u8g_state.c */ -#define U8G_STATE_ENV_IDX 0 -#define U8G_STATE_U8G_IDX 1 -#define U8G_STATE_RESTORE 0 -#define U8G_STATE_BACKUP 1 -#define U8G_STATE_MSG_COMPOSE(cmd,idx) (((cmd)<<1) | (idx)) - -#define U8G_STATE_MSG_RESTORE_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_ENV_IDX) -#define U8G_STATE_MSG_BACKUP_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_ENV_IDX) -#define U8G_STATE_MSG_RESTORE_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_U8G_IDX) -#define U8G_STATE_MSG_BACKUP_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_U8G_IDX) - -#define U8G_STATE_MSG_GET_IDX(msg) ((msg)&1) -#define U8G_STATE_MSG_IS_BACKUP(msg) ((msg)&2) - - - -void u8g_state_dummy_cb(uint8_t msg); -void u8g_backup_avr_spi(uint8_t msg); /* backup SPI state on atmel avr controller */ - -void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb); - -/* u8g_clip.c */ - -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); - - -/* u8g_rot.c */ - -void u8g_UndoRotation(u8g_t *u8g); -void u8g_SetRot90(u8g_t *u8g); -void u8g_SetRot180(u8g_t *u8g); -void u8g_SetRot270(u8g_t *u8g); - -/* u8g_scale.c */ - -void u8g_UndoScale(u8g_t *u8g); -void u8g_SetScale2x2(u8g_t *u8g); - - -/* u8g_font.c */ - -size_t u8g_font_GetSize(const void *font); -uint8_t u8g_font_GetFontStartEncoding(const void *font) U8G_NOINLINE; -uint8_t u8g_font_GetFontEndEncoding(const void *font) U8G_NOINLINE; - -void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font); - -uint8_t u8g_GetFontBBXWidth(u8g_t *u8g); -uint8_t u8g_GetFontBBXHeight(u8g_t *u8g); -int8_t u8g_GetFontBBXOffX(u8g_t *u8g); -int8_t u8g_GetFontBBXOffY(u8g_t *u8g); -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g); - -uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding); -int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding); - -int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); /* used by u8g_cursor.c */ - -int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); -int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); - -u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); - -u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); - - -u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); - - -void u8g_SetFontRefHeightText(u8g_t *u8g); -void u8g_SetFontRefHeightExtendedText(u8g_t *u8g); -void u8g_SetFontRefHeightAll(u8g_t *u8g); -void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor); - -u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g); - -void u8g_SetFontPosBaseline(u8g_t *u8g); -void u8g_SetFontPosBottom(u8g_t *u8g); -void u8g_SetFontPosCenter(u8g_t *u8g); -void u8g_SetFontPosTop(u8g_t *u8g); - - -u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s); -u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); -int8_t u8g_GetStrX(u8g_t *u8g, const char *s); -int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s); -u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); - -u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); - -void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); -void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); - -/* u8g_rect.c */ - -void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; - -void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w); -void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w); -void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); -void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); - -void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r); -void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r); - -/* u8g_bitmap.c */ - -void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap); -void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap); -void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap); -void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); - -void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap); -void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); - - -/* u8g_line.c */ -void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2); - - -/* u8g_circle.c */ - -/* the following, commented code has been rewritten or is not yet finished -#define U8G_CIRC_UPPER_RIGHT 0x01 -#define U8G_CIRC_UPPER_LEFT 0x02 -#define U8G_CIRC_LOWER_LEFT 0x04 -#define U8G_CIRC_LOWER_RIGHT 0x08 -#define U8G_CIRC_ALL (U8G_CIRC_UPPER_RIGHT|U8G_CIRC_UPPER_LEFT|U8G_CIRC_LOWER_RIGHT|U8G_CIRC_LOWER_LEFT) -void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1); -*/ - -#define U8G_DRAW_UPPER_RIGHT 0x01 -#define U8G_DRAW_UPPER_LEFT 0x02 -#define U8G_DRAW_LOWER_LEFT 0x04 -#define U8G_DRAW_LOWER_RIGHT 0x08 -#define U8G_DRAW_ALL (U8G_DRAW_UPPER_RIGHT|U8G_DRAW_UPPER_LEFT|U8G_DRAW_LOWER_RIGHT|U8G_DRAW_LOWER_LEFT) - -void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; -void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; - -void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); - -/* u8g_clip.c */ -uint8_t u8g_is_box_bbx_intersection(u8g_box_t *box, u8g_dev_arg_bbx_t *bbx); - - -/* u8g_cursor.c */ -void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font); -void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding); -void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y); -void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg); -void u8g_EnableCursor(u8g_t *u8g); -void u8g_DisableCursor(u8g_t *u8g); -void u8g_DrawCursor(u8g_t *u8g); - - - -/*===============================================================*/ -/* u8g_virtual_screen.c */ -void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height); -uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g); - -/*===============================================================*/ -void st_Draw(uint8_t fps); -void st_Step(uint8_t player_pos, uint8_t is_auto_fire, uint8_t is_fire); - -/*===============================================================*/ -/* u8g_com_i2c.c */ - -/* options for u8g_i2c_init() */ -#define U8G_I2C_OPT_NONE 0 - -/* retrun values from u8g_twi_get_error() */ -#define U8G_I2C_ERR_NONE 0x00 -/* the following values are bit masks */ -#define U8G_I2C_ERR_TIMEOUT 0x01 -#define U8G_I2C_ERR_BUS 0x02 - -void u8g_i2c_clear_error(void) U8G_NOINLINE; -uint8_t u8g_i2c_get_error(void) U8G_NOINLINE; -uint8_t u8g_i2c_get_err_pos(void) U8G_NOINLINE; -void u8g_i2c_init(uint8_t options) U8G_NOINLINE; /* use U8G_I2C_OPT_NONE as options */ -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) U8G_NOINLINE; -uint8_t u8g_i2c_start(uint8_t sla) U8G_NOINLINE; -uint8_t u8g_i2c_send_byte(uint8_t data) U8G_NOINLINE; -void u8g_i2c_stop(void) U8G_NOINLINE; - - -/*===============================================================*/ -/* u8g_u8toa.c */ -/* v = value, d = number of digits */ -const char *u8g_u8toa(uint8_t v, uint8_t d); - -/* u8g_u8toa.c */ -/* v = value, d = number of digits */ -const char *u8g_u16toa(uint16_t v, uint8_t d); - -/*===============================================================*/ -/* u8g_delay.c */ - -/* delay by the specified number of milliseconds */ -void u8g_Delay(uint16_t val); - -/* delay by one microsecond */ -void u8g_MicroDelay(void); - -/* delay by 10 microseconds */ -void u8g_10MicroDelay(void); - -/*===============================================================*/ -/* chessengine.c */ -#define CHESS_KEY_NONE 0 -#define CHESS_KEY_NEXT 1 -#define CHESS_KEY_PREV 2 -#define CHESS_KEY_SELECT 3 -#define CHESS_KEY_BACK 4 - -void chess_Init(u8g_t *u8g, uint8_t empty_body_color); -void chess_Draw(void); -void chess_Step(uint8_t keycode); - -/*===============================================================*/ -/* font definitions */ - -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5[] U8G_SECTION(".progmem.u8g_font_m2icon_5"); -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7[] U8G_SECTION(".progmem.u8g_font_m2icon_7"); -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9[] U8G_SECTION(".progmem.u8g_font_m2icon_9"); - -extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4[] U8G_SECTION(".progmem.u8g_font_u8glib_4"); -extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[] U8G_SECTION(".progmem.u8g_font_u8glib_4r"); - - -extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r[] U8G_SECTION(".progmem.u8g_font_6x12_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r[] U8G_SECTION(".progmem.u8g_font_6x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_75r[] U8G_SECTION(".progmem.u8g_font_7x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13_75r[] U8G_SECTION(".progmem.u8g_font_8x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15_75r[] U8G_SECTION(".progmem.u8g_font_9x15_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18_75r[] U8G_SECTION(".progmem.u8g_font_9x18_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12_75r[] U8G_SECTION(".progmem.u8g_font_cu12_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_75r[] U8G_SECTION(".progmem.u8g_font_unifont_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20_75r[] U8G_SECTION(".progmem.u8g_font_10x20_75r"); - -extern const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[] U8G_SECTION(".progmem.u8g_font_10x20_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[] U8G_SECTION(".progmem.u8g_font_10x20_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20[] U8G_SECTION(".progmem.u8g_font_10x20"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20r[] U8G_SECTION(".progmem.u8g_font_10x20r"); -extern const u8g_fntpgm_uint8_t u8g_font_4x6[] U8G_SECTION(".progmem.u8g_font_4x6"); -extern const u8g_fntpgm_uint8_t u8g_font_4x6r[] U8G_SECTION(".progmem.u8g_font_4x6r"); -//extern const u8g_fntpgm_uint8_t u8g_font_4x6n[] U8G_SECTION(".progmem.u8g_font_4x6n"); -extern const u8g_fntpgm_uint8_t u8g_font_5x7[] U8G_SECTION(".progmem.u8g_font_5x7"); -extern const u8g_fntpgm_uint8_t u8g_font_5x7r[] U8G_SECTION(".progmem.u8g_font_5x7r"); -extern const u8g_fntpgm_uint8_t u8g_font_5x8[] U8G_SECTION(".progmem.u8g_font_5x8"); -extern const u8g_fntpgm_uint8_t u8g_font_5x8r[] U8G_SECTION(".progmem.u8g_font_5x8r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x10[] U8G_SECTION(".progmem.u8g_font_6x10"); -extern const u8g_fntpgm_uint8_t u8g_font_6x10r[] U8G_SECTION(".progmem.u8g_font_6x10r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[] U8G_SECTION(".progmem.u8g_font_6x12_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[] U8G_SECTION(".progmem.u8g_font_6x12_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12[] U8G_SECTION(".progmem.u8g_font_6x12"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12r[] U8G_SECTION(".progmem.u8g_font_6x12r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[] U8G_SECTION(".progmem.u8g_font_6x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[] U8G_SECTION(".progmem.u8g_font_6x13_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13B[] U8G_SECTION(".progmem.u8g_font_6x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13Br[] U8G_SECTION(".progmem.u8g_font_6x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13[] U8G_SECTION(".progmem.u8g_font_6x13"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13r[] U8G_SECTION(".progmem.u8g_font_6x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13O[] U8G_SECTION(".progmem.u8g_font_6x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13Or[] U8G_SECTION(".progmem.u8g_font_6x13Or"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[] U8G_SECTION(".progmem.u8g_font_7x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_78_79[] U8G_SECTION(".progmem.u8g_font_7x13_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13B[] U8G_SECTION(".progmem.u8g_font_7x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13Br[] U8G_SECTION(".progmem.u8g_font_7x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13[] U8G_SECTION(".progmem.u8g_font_7x13"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13r[] U8G_SECTION(".progmem.u8g_font_7x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13O[] U8G_SECTION(".progmem.u8g_font_7x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13Or[] U8G_SECTION(".progmem.u8g_font_7x13Or"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14B[] U8G_SECTION(".progmem.u8g_font_7x14B"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14Br[] U8G_SECTION(".progmem.u8g_font_7x14Br"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14[] U8G_SECTION(".progmem.u8g_font_7x14"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14r[] U8G_SECTION(".progmem.u8g_font_7x14r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[] U8G_SECTION(".progmem.u8g_font_8x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13B[] U8G_SECTION(".progmem.u8g_font_8x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13Br[] U8G_SECTION(".progmem.u8g_font_8x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13[] U8G_SECTION(".progmem.u8g_font_8x13"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13r[] U8G_SECTION(".progmem.u8g_font_8x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13O[] U8G_SECTION(".progmem.u8g_font_8x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13Or[] U8G_SECTION(".progmem.u8g_font_8x13Or"); - -extern const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[] U8G_SECTION(".progmem.u8g_font_9x15_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[] U8G_SECTION(".progmem.u8g_font_9x15_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15B[] U8G_SECTION(".progmem.u8g_font_9x15B"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15Br[] U8G_SECTION(".progmem.u8g_font_9x15Br"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15[] U8G_SECTION(".progmem.u8g_font_9x15"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15r[] U8G_SECTION(".progmem.u8g_font_9x15r"); - -extern const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[] U8G_SECTION(".progmem.u8g_font_9x18_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[] U8G_SECTION(".progmem.u8g_font_9x18_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18B[] U8G_SECTION(".progmem.u8g_font_9x18B"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18[] U8G_SECTION(".progmem.u8g_font_9x18"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18Br[] U8G_SECTION(".progmem.u8g_font_9x18Br"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18r[] U8G_SECTION(".progmem.u8g_font_9x18r"); - -extern const u8g_fntpgm_uint8_t u8g_font_cursor[] U8G_SECTION(".progmem.u8g_font_cursor"); -extern const u8g_fntpgm_uint8_t u8g_font_cursorr[] U8G_SECTION(".progmem.u8g_font_cursorr"); -extern const u8g_fntpgm_uint8_t u8g_font_micro[] U8G_SECTION(".progmem.u8g_font_micro"); - -extern const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[] U8G_SECTION(".progmem.u8g_font_cu12_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12_78_79[] U8G_SECTION(".progmem.u8g_font_cu12_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_SECTION(".progmem.u8g_font_cu12"); - -/* - Free-Universal Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_fub11[] U8G_SECTION(".progmem.u8g_font_fub11"); -extern const u8g_fntpgm_uint8_t u8g_font_fub11r[] U8G_SECTION(".progmem.u8g_font_fub11r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub11n[] U8G_SECTION(".progmem.u8g_font_fub11n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14[] U8G_SECTION(".progmem.u8g_font_fub14"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14r[] U8G_SECTION(".progmem.u8g_font_fub14r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14n[] U8G_SECTION(".progmem.u8g_font_fub14n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17[] U8G_SECTION(".progmem.u8g_font_fub17"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17r[] U8G_SECTION(".progmem.u8g_font_fub17r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17n[] U8G_SECTION(".progmem.u8g_font_fub17n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20[] U8G_SECTION(".progmem.u8g_font_fub20"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20r[] U8G_SECTION(".progmem.u8g_font_fub20r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20n[] U8G_SECTION(".progmem.u8g_font_fub20n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25[] U8G_SECTION(".progmem.u8g_font_fub25"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25r[] U8G_SECTION(".progmem.u8g_font_fub25r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25n[] U8G_SECTION(".progmem.u8g_font_fub25n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30[] U8G_SECTION(".progmem.u8g_font_fub30"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30r[] U8G_SECTION(".progmem.u8g_font_fub30r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30n[] U8G_SECTION(".progmem.u8g_font_fub30n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub35n[] U8G_SECTION(".progmem.u8g_font_fub35n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub42n[] U8G_SECTION(".progmem.u8g_font_fub42n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_SECTION(".progmem.u8g_font_fub49n"); - -/* - Free-Universal Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_fur11[] U8G_SECTION(".progmem.u8g_font_fur11"); -extern const u8g_fntpgm_uint8_t u8g_font_fur11r[] U8G_SECTION(".progmem.u8g_font_fur11r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur11n[] U8G_SECTION(".progmem.u8g_font_fur11n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14[] U8G_SECTION(".progmem.u8g_font_fur14"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14r[] U8G_SECTION(".progmem.u8g_font_fur14r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14n[] U8G_SECTION(".progmem.u8g_font_fur14n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17[] U8G_SECTION(".progmem.u8g_font_fur17"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17r[] U8G_SECTION(".progmem.u8g_font_fur17r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17n[] U8G_SECTION(".progmem.u8g_font_fur17n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20[] U8G_SECTION(".progmem.u8g_font_fur20"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20r[] U8G_SECTION(".progmem.u8g_font_fur20r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20n[] U8G_SECTION(".progmem.u8g_font_fur20n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25[] U8G_SECTION(".progmem.u8g_font_fur25"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25r[] U8G_SECTION(".progmem.u8g_font_fur25r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25n[] U8G_SECTION(".progmem.u8g_font_fur25n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30[] U8G_SECTION(".progmem.u8g_font_fur30"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30r[] U8G_SECTION(".progmem.u8g_font_fur30r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30n[] U8G_SECTION(".progmem.u8g_font_fur30n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur35n[] U8G_SECTION(".progmem.u8g_font_fur35n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur42n[] U8G_SECTION(".progmem.u8g_font_fur42n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_SECTION(".progmem.u8g_font_fur49n"); - -/* - Gentium Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11[] U8G_SECTION(".progmem.u8g_font_gdb11"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12[] U8G_SECTION(".progmem.u8g_font_gdb12"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14[] U8G_SECTION(".progmem.u8g_font_gdb14"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17[] U8G_SECTION(".progmem.u8g_font_gdb17"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20[] U8G_SECTION(".progmem.u8g_font_gdb20"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25[] U8G_SECTION(".progmem.u8g_font_gdb25"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30[] U8G_SECTION(".progmem.u8g_font_gdb30"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11r[] U8G_SECTION(".progmem.u8g_font_gdb11r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12r[] U8G_SECTION(".progmem.u8g_font_gdb12r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14r[] U8G_SECTION(".progmem.u8g_font_gdb14r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17r[] U8G_SECTION(".progmem.u8g_font_gdb17r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20r[] U8G_SECTION(".progmem.u8g_font_gdb20r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25r[] U8G_SECTION(".progmem.u8g_font_gdb25r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30r[] U8G_SECTION(".progmem.u8g_font_gdb30r"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11n[] U8G_SECTION(".progmem.u8g_font_gdb11n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12n[] U8G_SECTION(".progmem.u8g_font_gdb12n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14n[] U8G_SECTION(".progmem.u8g_font_gdb14n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17n[] U8G_SECTION(".progmem.u8g_font_gdb17n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20n[] U8G_SECTION(".progmem.u8g_font_gdb20n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25n[] U8G_SECTION(".progmem.u8g_font_gdb25n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_SECTION(".progmem.u8g_font_gdb30n"); - -/* - Gentium Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9[] U8G_SECTION(".progmem.u8g_font_gdr9"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10[] U8G_SECTION(".progmem.u8g_font_gdr10"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11[] U8G_SECTION(".progmem.u8g_font_gdr11"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12[] U8G_SECTION(".progmem.u8g_font_gdr12"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14[] U8G_SECTION(".progmem.u8g_font_gdr14"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17[] U8G_SECTION(".progmem.u8g_font_gdr17"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20[] U8G_SECTION(".progmem.u8g_font_gdr20"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25[] U8G_SECTION(".progmem.u8g_font_gdr25"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30[] U8G_SECTION(".progmem.u8g_font_gdr30"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9r[] U8G_SECTION(".progmem.u8g_font_gdr9r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10r[] U8G_SECTION(".progmem.u8g_font_gdr10r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11r[] U8G_SECTION(".progmem.u8g_font_gdr11r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12r[] U8G_SECTION(".progmem.u8g_font_gdr12r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14r[] U8G_SECTION(".progmem.u8g_font_gdr14r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17r[] U8G_SECTION(".progmem.u8g_font_gdr17r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20r[] U8G_SECTION(".progmem.u8g_font_gdr20r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25r[] U8G_SECTION(".progmem.u8g_font_gdr25r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30r[] U8G_SECTION(".progmem.u8g_font_gdr30r"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9n[] U8G_SECTION(".progmem.u8g_font_gdr9n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10n[] U8G_SECTION(".progmem.u8g_font_gdr10n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11n[] U8G_SECTION(".progmem.u8g_font_gdr11n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12n[] U8G_SECTION(".progmem.u8g_font_gdr12n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14n[] U8G_SECTION(".progmem.u8g_font_gdr14n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17n[] U8G_SECTION(".progmem.u8g_font_gdr17n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20n[] U8G_SECTION(".progmem.u8g_font_gdr20n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25n[] U8G_SECTION(".progmem.u8g_font_gdr25n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_SECTION(".progmem.u8g_font_gdr30n"); - -/* - Old-Standard Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_osb18[] U8G_SECTION(".progmem.u8g_font_osb18"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21[] U8G_SECTION(".progmem.u8g_font_osb21"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26[] U8G_SECTION(".progmem.u8g_font_osb26"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29[] U8G_SECTION(".progmem.u8g_font_osb29"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35[] U8G_SECTION(".progmem.u8g_font_osb35"); - -extern const u8g_fntpgm_uint8_t u8g_font_osb18r[] U8G_SECTION(".progmem.u8g_font_osb18r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21r[] U8G_SECTION(".progmem.u8g_font_osb21r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26r[] U8G_SECTION(".progmem.u8g_font_osb26r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29r[] U8G_SECTION(".progmem.u8g_font_osb29r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35r[] U8G_SECTION(".progmem.u8g_font_osb35r"); - -extern const u8g_fntpgm_uint8_t u8g_font_osb18n[] U8G_SECTION(".progmem.u8g_font_osb18n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21n[] U8G_SECTION(".progmem.u8g_font_osb21n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26n[] U8G_SECTION(".progmem.u8g_font_osb26n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29n[] U8G_SECTION(".progmem.u8g_font_osb29n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_SECTION(".progmem.u8g_font_osb35n"); - -/* - Old-Standard Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_osr18[] U8G_SECTION(".progmem.u8g_font_osr18"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21[] U8G_SECTION(".progmem.u8g_font_osr21"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26[] U8G_SECTION(".progmem.u8g_font_osr26"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29[] U8G_SECTION(".progmem.u8g_font_osr29"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35[] U8G_SECTION(".progmem.u8g_font_osr35"); - -extern const u8g_fntpgm_uint8_t u8g_font_osr18r[] U8G_SECTION(".progmem.u8g_font_osr18r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21r[] U8G_SECTION(".progmem.u8g_font_osr21r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26r[] U8G_SECTION(".progmem.u8g_font_osr26r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29r[] U8G_SECTION(".progmem.u8g_font_osr29r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35r[] U8G_SECTION(".progmem.u8g_font_osr35r"); - -extern const u8g_fntpgm_uint8_t u8g_font_osr18n[] U8G_SECTION(".progmem.u8g_font_osr18n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21n[] U8G_SECTION(".progmem.u8g_font_osr21n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26n[] U8G_SECTION(".progmem.u8g_font_osr26n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29n[] U8G_SECTION(".progmem.u8g_font_osr29n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35n[] U8G_SECTION(".progmem.u8g_font_osr35n"); - -//extern const u8g_fntpgm_uint8_t u8g_font_osr41[] U8G_SECTION(".progmem.u8g_font_osr41"); - -/* GNU unifont */ - -extern const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[] U8G_SECTION(".progmem.u8g_font_unifont_18_19"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[] U8G_SECTION(".progmem.u8g_font_unifont_72_73"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[] U8G_SECTION(".progmem.u8g_font_unifont_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_76[] U8G_SECTION(".progmem.u8g_font_unifont_76"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_77[] U8G_SECTION(".progmem.u8g_font_unifont_77"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[] U8G_SECTION(".progmem.u8g_font_unifont_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_86[] U8G_SECTION(".progmem.u8g_font_unifont_86"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont[] U8G_SECTION(".progmem.u8g_font_unifont"); -extern const u8g_fntpgm_uint8_t u8g_font_unifontr[] U8G_SECTION(".progmem.u8g_font_unifontr"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[] U8G_SECTION(".progmem.u8g_font_unifont_0_8"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[] U8G_SECTION(".progmem.u8g_font_unifont_2_3"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[] U8G_SECTION(".progmem.u8g_font_unifont_4_5"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[] U8G_SECTION(".progmem.u8g_font_unifont_8_9"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[] U8G_SECTION(".progmem.u8g_font_unifont_12_13"); - - -/* 04b fonts */ - -extern const u8g_fntpgm_uint8_t u8g_font_04b_03b[] U8G_SECTION(".progmem.u8g_font_04b_03b"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03bn[] U8G_SECTION(".progmem.u8g_font_04b_03bn"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03br[] U8G_SECTION(".progmem.u8g_font_04b_03br"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03[] U8G_SECTION(".progmem.u8g_font_04b_03"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03n[] U8G_SECTION(".progmem.u8g_font_04b_03n"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03r[] U8G_SECTION(".progmem.u8g_font_04b_03r"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24[] U8G_SECTION(".progmem.u8g_font_04b_24"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24n[] U8G_SECTION(".progmem.u8g_font_04b_24n"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24r[] U8G_SECTION(".progmem.u8g_font_04b_24r"); - -/* orgdot fonts */ - -extern const u8g_fntpgm_uint8_t u8g_font_orgv01[] U8G_SECTION(".progmem.u8g_font_orgv01"); -extern const u8g_fntpgm_uint8_t u8g_font_orgv01r[] U8G_SECTION(".progmem.u8g_font_orgv01r"); -extern const u8g_fntpgm_uint8_t u8g_font_orgv01n[] U8G_SECTION(".progmem.u8g_font_orgv01n"); - -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0[] U8G_SECTION(".progmem.u8g_font_fixed_v0"); -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[] U8G_SECTION(".progmem.u8g_font_fixed_v0r"); -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[] U8G_SECTION(".progmem.u8g_font_fixed_v0n"); - -extern const u8g_fntpgm_uint8_t u8g_font_tpssb[] U8G_SECTION(".progmem.u8g_font_tpssb"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssbr[] U8G_SECTION(".progmem.u8g_font_tpssbr"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssbn[] U8G_SECTION(".progmem.u8g_font_tpssbn"); - -extern const u8g_fntpgm_uint8_t u8g_font_tpss[] U8G_SECTION(".progmem.u8g_font_tpss"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssr[] U8G_SECTION(".progmem.u8g_font_tpssr"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssn[] U8G_SECTION(".progmem.u8g_font_tpssn"); - -/* contributed */ - -extern const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[] U8G_SECTION(".progmem.u8g_font_freedoomr25n"); -extern const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[] U8G_SECTION(".progmem.u8g_font_freedoomr10r"); - -/* adobe X11 */ -extern const u8g_fntpgm_uint8_t u8g_font_courB08[] U8G_SECTION(".progmem.u8g_font_courB08"); -extern const u8g_fntpgm_uint8_t u8g_font_courB08r[] U8G_SECTION(".progmem.u8g_font_courB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB10[] U8G_SECTION(".progmem.u8g_font_courB10"); -extern const u8g_fntpgm_uint8_t u8g_font_courB10r[] U8G_SECTION(".progmem.u8g_font_courB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB12[] U8G_SECTION(".progmem.u8g_font_courB12"); -extern const u8g_fntpgm_uint8_t u8g_font_courB12r[] U8G_SECTION(".progmem.u8g_font_courB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB14[] U8G_SECTION(".progmem.u8g_font_courB14"); -extern const u8g_fntpgm_uint8_t u8g_font_courB14r[] U8G_SECTION(".progmem.u8g_font_courB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB18[] U8G_SECTION(".progmem.u8g_font_courB18"); -extern const u8g_fntpgm_uint8_t u8g_font_courB18r[] U8G_SECTION(".progmem.u8g_font_courB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24[] U8G_SECTION(".progmem.u8g_font_courB24"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24r[] U8G_SECTION(".progmem.u8g_font_courB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24n[] U8G_SECTION(".progmem.u8g_font_courB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_courR08[] U8G_SECTION(".progmem.u8g_font_courR08"); -extern const u8g_fntpgm_uint8_t u8g_font_courR08r[] U8G_SECTION(".progmem.u8g_font_courR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR10[] U8G_SECTION(".progmem.u8g_font_courR10"); -extern const u8g_fntpgm_uint8_t u8g_font_courR10r[] U8G_SECTION(".progmem.u8g_font_courR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR12[] U8G_SECTION(".progmem.u8g_font_courR12"); -extern const u8g_fntpgm_uint8_t u8g_font_courR12r[] U8G_SECTION(".progmem.u8g_font_courR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR14[] U8G_SECTION(".progmem.u8g_font_courR14"); -extern const u8g_fntpgm_uint8_t u8g_font_courR14r[] U8G_SECTION(".progmem.u8g_font_courR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR18[] U8G_SECTION(".progmem.u8g_font_courR18"); -extern const u8g_fntpgm_uint8_t u8g_font_courR18r[] U8G_SECTION(".progmem.u8g_font_courR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24[] U8G_SECTION(".progmem.u8g_font_courR24"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24r[] U8G_SECTION(".progmem.u8g_font_courR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24n[] U8G_SECTION(".progmem.u8g_font_courR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_helvB08[] U8G_SECTION(".progmem.u8g_font_helvB08"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB08r[] U8G_SECTION(".progmem.u8g_font_helvB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10[] U8G_SECTION(".progmem.u8g_font_helvB10"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10r[] U8G_SECTION(".progmem.u8g_font_helvB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12[] U8G_SECTION(".progmem.u8g_font_helvB12"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12r[] U8G_SECTION(".progmem.u8g_font_helvB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14[] U8G_SECTION(".progmem.u8g_font_helvB14"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14r[] U8G_SECTION(".progmem.u8g_font_helvB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18[] U8G_SECTION(".progmem.u8g_font_helvB18"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18r[] U8G_SECTION(".progmem.u8g_font_helvB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24[] U8G_SECTION(".progmem.u8g_font_helvB24"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24r[] U8G_SECTION(".progmem.u8g_font_helvB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24n[] U8G_SECTION(".progmem.u8g_font_helvB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_helvR08[] U8G_SECTION(".progmem.u8g_font_helvR08"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR08r[] U8G_SECTION(".progmem.u8g_font_helvR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10[] U8G_SECTION(".progmem.u8g_font_helvR10"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10r[] U8G_SECTION(".progmem.u8g_font_helvR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12[] U8G_SECTION(".progmem.u8g_font_helvR12"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12r[] U8G_SECTION(".progmem.u8g_font_helvR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14[] U8G_SECTION(".progmem.u8g_font_helvR14"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14r[] U8G_SECTION(".progmem.u8g_font_helvR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18[] U8G_SECTION(".progmem.u8g_font_helvR18"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18r[] U8G_SECTION(".progmem.u8g_font_helvR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24[] U8G_SECTION(".progmem.u8g_font_helvR24"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24r[] U8G_SECTION(".progmem.u8g_font_helvR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24n[] U8G_SECTION(".progmem.u8g_font_helvR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_ncenB08[] U8G_SECTION(".progmem.u8g_font_ncenB08"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB08r[] U8G_SECTION(".progmem.u8g_font_ncenB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB10[] U8G_SECTION(".progmem.u8g_font_ncenB10"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB10r[] U8G_SECTION(".progmem.u8g_font_ncenB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB12[] U8G_SECTION(".progmem.u8g_font_ncenB12"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB12r[] U8G_SECTION(".progmem.u8g_font_ncenB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB14[] U8G_SECTION(".progmem.u8g_font_ncenB14"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB14r[] U8G_SECTION(".progmem.u8g_font_ncenB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB18[] U8G_SECTION(".progmem.u8g_font_ncenB18"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB18r[] U8G_SECTION(".progmem.u8g_font_ncenB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24[] U8G_SECTION(".progmem.u8g_font_ncenB24"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24r[] U8G_SECTION(".progmem.u8g_font_ncenB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24n[] U8G_SECTION(".progmem.u8g_font_ncenB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_ncenR08[] U8G_SECTION(".progmem.u8g_font_ncenR08"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR08r[] U8G_SECTION(".progmem.u8g_font_ncenR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR10[] U8G_SECTION(".progmem.u8g_font_ncenR10"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR10r[] U8G_SECTION(".progmem.u8g_font_ncenR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR12[] U8G_SECTION(".progmem.u8g_font_ncenR12"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR12r[] U8G_SECTION(".progmem.u8g_font_ncenR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR14[] U8G_SECTION(".progmem.u8g_font_ncenR14"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR14r[] U8G_SECTION(".progmem.u8g_font_ncenR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR18[] U8G_SECTION(".progmem.u8g_font_ncenR18"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR18r[] U8G_SECTION(".progmem.u8g_font_ncenR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24[] U8G_SECTION(".progmem.u8g_font_ncenR24"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24r[] U8G_SECTION(".progmem.u8g_font_ncenR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24n[] U8G_SECTION(".progmem.u8g_font_ncenR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_symb08[] U8G_SECTION(".progmem.u8g_font_symb08"); -extern const u8g_fntpgm_uint8_t u8g_font_symb08r[] U8G_SECTION(".progmem.u8g_font_symb08r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb10[] U8G_SECTION(".progmem.u8g_font_symb10"); -extern const u8g_fntpgm_uint8_t u8g_font_symb10r[] U8G_SECTION(".progmem.u8g_font_symb10r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb12[] U8G_SECTION(".progmem.u8g_font_symb12"); -extern const u8g_fntpgm_uint8_t u8g_font_symb12r[] U8G_SECTION(".progmem.u8g_font_symb12r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb14[] U8G_SECTION(".progmem.u8g_font_symb14"); -extern const u8g_fntpgm_uint8_t u8g_font_symb14r[] U8G_SECTION(".progmem.u8g_font_symb14r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb18[] U8G_SECTION(".progmem.u8g_font_symb18"); -extern const u8g_fntpgm_uint8_t u8g_font_symb18r[] U8G_SECTION(".progmem.u8g_font_symb18r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb24[] U8G_SECTION(".progmem.u8g_font_symb24"); -extern const u8g_fntpgm_uint8_t u8g_font_symb24r[] U8G_SECTION(".progmem.u8g_font_symb24r"); - -extern const u8g_fntpgm_uint8_t u8g_font_timB08[] U8G_SECTION(".progmem.u8g_font_timB08"); -extern const u8g_fntpgm_uint8_t u8g_font_timB08r[] U8G_SECTION(".progmem.u8g_font_timB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB10[] U8G_SECTION(".progmem.u8g_font_timB10"); -extern const u8g_fntpgm_uint8_t u8g_font_timB10r[] U8G_SECTION(".progmem.u8g_font_timB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB12[] U8G_SECTION(".progmem.u8g_font_timB12"); -extern const u8g_fntpgm_uint8_t u8g_font_timB12r[] U8G_SECTION(".progmem.u8g_font_timB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB14[] U8G_SECTION(".progmem.u8g_font_timB14"); -extern const u8g_fntpgm_uint8_t u8g_font_timB14r[] U8G_SECTION(".progmem.u8g_font_timB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB18[] U8G_SECTION(".progmem.u8g_font_timB18"); -extern const u8g_fntpgm_uint8_t u8g_font_timB18r[] U8G_SECTION(".progmem.u8g_font_timB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24[] U8G_SECTION(".progmem.u8g_font_timB24"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24r[] U8G_SECTION(".progmem.u8g_font_timB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24n[] U8G_SECTION(".progmem.u8g_font_timB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_timR08[] U8G_SECTION(".progmem.u8g_font_timR08"); -extern const u8g_fntpgm_uint8_t u8g_font_timR08r[] U8G_SECTION(".progmem.u8g_font_timR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR10[] U8G_SECTION(".progmem.u8g_font_timR10"); -extern const u8g_fntpgm_uint8_t u8g_font_timR10r[] U8G_SECTION(".progmem.u8g_font_timR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR12[] U8G_SECTION(".progmem.u8g_font_timR12"); -extern const u8g_fntpgm_uint8_t u8g_font_timR12r[] U8G_SECTION(".progmem.u8g_font_timR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR14[] U8G_SECTION(".progmem.u8g_font_timR14"); -extern const u8g_fntpgm_uint8_t u8g_font_timR14r[] U8G_SECTION(".progmem.u8g_font_timR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR18[] U8G_SECTION(".progmem.u8g_font_timR18"); -extern const u8g_fntpgm_uint8_t u8g_font_timR18r[] U8G_SECTION(".progmem.u8g_font_timR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24[] U8G_SECTION(".progmem.u8g_font_timR24"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24r[] U8G_SECTION(".progmem.u8g_font_timR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24n[] U8G_SECTION(".progmem.u8g_font_timR24n"); - -/* fontstruct */ - -extern const u8g_fntpgm_uint8_t u8g_font_p01type[] U8G_SECTION(".progmem.u8g_font_p01type"); -extern const u8g_fntpgm_uint8_t u8g_font_p01typer[] U8G_SECTION(".progmem.u8g_font_p01typer"); -extern const u8g_fntpgm_uint8_t u8g_font_p01typen[] U8G_SECTION(".progmem.u8g_font_p01typen"); - -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[] U8G_SECTION(".progmem.u8g_font_lucasfont_alternate"); -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[] U8G_SECTION(".progmem.u8g_font_lucasfont_alternater"); -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[] U8G_SECTION(".progmem.u8g_font_lucasfont_alternaten"); - -//extern const u8g_fntpgm_uint8_t u8g_font_fs_onebrickpixelfont[] U8G_SECTION(".progmem.u8g_font_fs_onebrickpixelfont"); -//extern const u8g_fntpgm_uint8_t u8g_font_fs_onebrickpixelfontr[] U8G_SECTION(".progmem.u8g_font_fs_onebrickpixelfontr"); -//extern const u8g_fntpgm_uint8_t u8g_font_fs_onebrickpixelfontn[] U8G_SECTION(".progmem.u8g_font_fs_onebrickpixelfontn"); - -extern const u8g_fntpgm_uint8_t u8g_font_chikita[] U8G_SECTION(".progmem.u8g_font_chikita"); -extern const u8g_fntpgm_uint8_t u8g_font_chikitar[] U8G_SECTION(".progmem.u8g_font_chikitar"); -extern const u8g_fntpgm_uint8_t u8g_font_chikitan[] U8G_SECTION(".progmem.u8g_font_chikitan"); - -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[] U8G_SECTION(".progmem.u8g_font_pixelle_micro"); -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[] U8G_SECTION(".progmem.u8g_font_pixelle_micror"); -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[] U8G_SECTION(".progmem.u8g_font_pixelle_micron"); - -extern const u8g_fntpgm_uint8_t u8g_font_trixel_square[] U8G_SECTION(".progmem.u8g_font_trixel_square"); -extern const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[] U8G_SECTION(".progmem.u8g_font_trixel_squarer"); -extern const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[] U8G_SECTION(".progmem.u8g_font_trixel_squaren"); - -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[] U8G_SECTION(".progmem.u8g_font_robot_de_niro"); -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[] U8G_SECTION(".progmem.u8g_font_robot_de_niror"); -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[] U8G_SECTION(".progmem.u8g_font_robot_de_niron"); - -extern const u8g_fntpgm_uint8_t u8g_font_baby[] U8G_SECTION(".progmem.u8g_font_baby"); -extern const u8g_fntpgm_uint8_t u8g_font_babyr[] U8G_SECTION(".progmem.u8g_font_babyr"); -extern const u8g_fntpgm_uint8_t u8g_font_babyn[] U8G_SECTION(".progmem.u8g_font_babyn"); - -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07[] U8G_SECTION(".progmem.u8g_font_blipfest_07"); -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[] U8G_SECTION(".progmem.u8g_font_blipfest_07r"); -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[] U8G_SECTION(".progmem.u8g_font_blipfest_07n"); - -extern const u8g_fntpgm_uint8_t u8g_font_6x10_marlin[] U8G_SECTION(".progmem.u8g_font_6x10_marlin"); -extern const u8g_fntpgm_uint8_t u8g_font_6x9[] U8G_SECTION(".progmem.u8g_font_6x9"); - -#ifdef __cplusplus -} -#endif - -#endif /* _U8G_H */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c deleted file mode 100644 index dc742d1d7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - - u8g_bitmap.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap) -{ - while( cnt > 0 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, *bitmap); - bitmap++; - cnt--; - x+=8; - } -} - -void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHBitmap(u8g, x, y, cnt, bitmap); - bitmap += cnt; - y++; - h--; - } -} - - -void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap) -{ - while( cnt > 0 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, u8g_pgm_read(bitmap)); - bitmap++; - cnt--; - x+=8; - } -} - -void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHBitmapP(u8g, x, y, cnt, bitmap); - bitmap += cnt; - y++; - h--; - } -} - -/*=========================================================================*/ - -static void u8g_DrawHXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const uint8_t *bitmap) -{ - uint8_t d; - x+=7; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 2, *bitmap); - bitmap++; - w-= 8; - x+=8; - } - if ( w > 0 ) - { - d = *bitmap; - x -= 7; - do - { - if ( d & 1 ) - u8g_DrawPixel(u8g, x, y); - x++; - w--; - d >>= 1; - } while ( w > 0 ); - } -} - -void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) -{ - u8g_uint_t b; - b = w; - b += 7; - b >>= 3; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - while( h > 0 ) - { - u8g_DrawHXBM(u8g, x, y, w, bitmap); - bitmap += b; - y++; - h--; - } -} - -static void u8g_DrawHXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const u8g_pgm_uint8_t *bitmap) -{ - uint8_t d; - x+=7; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 2, u8g_pgm_read(bitmap)); - bitmap++; - w-= 8; - x+=8; - } - if ( w > 0 ) - { - d = u8g_pgm_read(bitmap); - x -= 7; - do - { - if ( d & 1 ) - u8g_DrawPixel(u8g, x, y); - x++; - w--; - d >>= 1; - } while ( w > 0 ); - } -} - -void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) -{ - u8g_uint_t b; - b = w; - b += 7; - b >>= 3; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHXBMP(u8g, x, y, w, bitmap); - bitmap += b; - y++; - h--; - } -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c deleted file mode 100644 index 8f4a0525d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - - u8g_circle.c - - Utility to draw empty and filled circles. - - Universal 8bit Graphics Library - - Copyright (c) 2011, bjthom@gmail.com - u8g_DrawCircle & u8g_DrawDisc by olikraus@gmail.com - - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Addition to the U8G Library 02/25/12 - - -*/ - -#include "u8g.h" - -#ifdef OLD_CODE - -void circ_upperRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - u8g_DrawPixel(u8g, x0 + y, y0 - x); -} - -void circ_upperLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - u8g_DrawPixel(u8g, x0 - y, y0 - x); -} - -void circ_lowerRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - u8g_DrawPixel(u8g, x0 + y, y0 + x); -} - -void circ_lowerLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - u8g_DrawPixel(u8g, x0 - y, y0 + x); -} - -void circ_all(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - circ_upperRight(u8g, x, y, x0, y0); - circ_upperLeft(u8g, x, y, x0, y0); - circ_lowerRight(u8g, x, y, x0, y0); - circ_lowerLeft(u8g, x, y, x0, y0); -} - -void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) - return; - - int f = 1 - rad; - int ddF_x = 1; - int ddF_y = -2*rad; - uint8_t x = 0; - uint8_t y = rad; - - void ( *circ_util )(u8g_t *, u8g_uint_t, u8g_uint_t, u8g_uint_t, u8g_uint_t); - - switch (option) - { - case U8G_CIRC_UPPER_RIGHT: - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - circ_util = circ_upperRight; - break; - case U8G_CIRC_UPPER_LEFT: - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_upperLeft; - break; - case U8G_CIRC_LOWER_RIGHT: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - circ_util = circ_lowerRight; - break; - case U8G_CIRC_LOWER_LEFT: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_lowerLeft; - break; - default: - case U8G_CIRC_ALL: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_all; - break; - } - - while( x < y ) - { - if(f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - circ_util(u8g, x, y, x0, y0); - } -} - - -void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) - return; - - int f = 1 - rad; - int ddF_x = 1; - int ddF_y = -2*rad; - uint8_t x = 0; - uint8_t y = rad; - - // Draw vertical diameter at the horiz. center - // u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); - - if (option == U8G_CIRC_UPPER_LEFT || option == U8G_CIRC_UPPER_RIGHT) { - u8g_DrawVLine(u8g, x0, y0 - rad, rad+1); - } - else if (option == U8G_CIRC_LOWER_LEFT || option == U8G_CIRC_LOWER_RIGHT) { - u8g_DrawVLine(u8g, x0, y0, rad+1); - } - else { - u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); - } - - while( x < y ) - { - if(f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - //Draw vertical lines from one point to another - - switch (option) - { - case U8G_CIRC_UPPER_RIGHT: - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, x+1); - break; - case U8G_CIRC_UPPER_LEFT: - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - u8g_DrawVLine(u8g, x0-y, y0-x, x+1); - break; - case U8G_CIRC_LOWER_RIGHT: - u8g_DrawVLine(u8g, x0+x, y0, y+1); - u8g_DrawVLine(u8g, x0+y, y0, x+1); - break; - case U8G_CIRC_LOWER_LEFT: - u8g_DrawVLine(u8g, x0-x, y0, y+1); - u8g_DrawVLine(u8g, x0-y, y0, x+1); - break; - case U8G_CIRC_ALL: - u8g_DrawVLine(u8g, x0+x, y0-y, 2*y+1); - u8g_DrawVLine(u8g, x0-x, y0-y, 2*y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, 2*x+1); - u8g_DrawVLine(u8g, x0-y, y0-x, 2*x+1); - break; - } - } -} - -#endif - -/*=========================================================================*/ - -static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; - -static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - u8g_DrawPixel(u8g, x0 + y, y0 - x); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - u8g_DrawPixel(u8g, x0 - y, y0 - x); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - u8g_DrawPixel(u8g, x0 + y, y0 + x); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - u8g_DrawPixel(u8g, x0 - y, y0 + x); - } -} - -void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - u8g_int_t f; - u8g_int_t ddF_x; - u8g_int_t ddF_y; - u8g_uint_t x; - u8g_uint_t y; - - f = 1; - f -= rad; - ddF_x = 1; - ddF_y = 0; - ddF_y -= rad; - ddF_y *= 2; - x = 0; - y = rad; - - u8g_draw_circle_section(u8g, x, y, x0, y0, option); - - while ( x < y ) - { - if (f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - u8g_draw_circle_section(u8g, x, y, x0, y0, option); - } -} - -void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t radp, radp2; - - radp = rad; - radp++; - radp2 = radp; - radp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) - return; - } - - /* draw circle */ - u8g_draw_circle(u8g, x0, y0, rad, option); -} - -static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; - -static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, x+1); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - u8g_DrawVLine(u8g, x0-y, y0-x, x+1); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0, y+1); - u8g_DrawVLine(u8g, x0+y, y0, x+1); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0, y+1); - u8g_DrawVLine(u8g, x0-y, y0, x+1); - } -} - -void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - u8g_int_t f; - u8g_int_t ddF_x; - u8g_int_t ddF_y; - u8g_uint_t x; - u8g_uint_t y; - - f = 1; - f -= rad; - ddF_x = 1; - ddF_y = 0; - ddF_y -= rad; - ddF_y *= 2; - x = 0; - y = rad; - - u8g_draw_disc_section(u8g, x, y, x0, y0, option); - - while ( x < y ) - { - if (f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - u8g_draw_disc_section(u8g, x, y, x0, y0, option); - } -} - -void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t radp, radp2; - - radp = rad; - radp++; - radp2 = radp; - radp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) - return; - } - - /* draw disc */ - u8g_draw_disc(u8g, x0, y0, rad, option); -} - - - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c deleted file mode 100644 index 71abef2e7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - - u8g_clip.c - - procedures for clipping - taken over from procs in u8g_pb.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Notes - - This is one of the most critical parts of u8glib. It must be fast, but still reliable. - Based on the intersection program (see tools folder), there is minimized version of - the condition for the intersaction test: - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - It includes the assumption, that a1 <= a2 is always true (correct, because - a1, a2 are the page dimensions. - - The direct implementation of the above result is done in: - uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) - However, this is slower than a decision tree version: - static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) - Also suprising is, that he the macro implementation is slower than the inlined version. - - The decision tree is based on the expansion of the truth table. - -*/ - -#include "u8g.h" - -#ifdef __GNUC__ -#define U8G_ALWAYS_INLINE __attribute__((always_inline)) -#else -#define U8G_ALWAYS_INLINE - #endif - -/* - intersection assumptions: - a1 <= a2 is always true - - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - */ - -#ifdef OLD_CODE_WHICH_IS_TOO_SLOW -static uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c1, c2, c3, tmp; - c1 = v0 <= a1; - c2 = v1 >= a0; - c3 = v0 > v1; - - tmp = c1; - c1 &= c2; - c2 &= c3; - c3 &= tmp; - c1 |= c2; - c1 |= c3; - return c1 & 1; -} -#endif - -#define U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1) ((uint8_t)( (v0) <= (a1) ) ? ( ( (v1) >= (a0) ) ? ( 1 ) : ( (v0) > (v1) ) ) : ( ( (v1) >= (a0) ) ? ( (v0) > (v1) ) : ( 0 ) )) - -static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) U8G_ALWAYS_INLINE; -static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) -{ - /* surprisingly the macro leads to larger code */ - /* return U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1); */ - if ( v0 <= a1 ) - { - if ( v1 >= a0 ) - { - return 1; - } - else - { - if ( v0 > v1 ) - { - return 1; - } - else - { - return 0; - } - } - } - else - { - if ( v1 >= a0 ) - { - if ( v0 > v1 ) - { - return 1; - } - else - { - return 0; - } - } - else - { - return 0; - } - } -} - - -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - register u8g_uint_t tmp; - tmp = y; - tmp += h; - tmp--; - if ( u8g_is_intersection_decision_tree(u8g->current_page.y0, u8g->current_page.y1, y, tmp) == 0 ) - return 0; - - tmp = x; - tmp += w; - tmp--; - return u8g_is_intersection_decision_tree(u8g->current_page.x0, u8g->current_page.x1, x, tmp); -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c deleted file mode 100644 index 2dd49b126..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - - u8g_com_api.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev) -{ - return dev->com_fn(u8g, U8G_COM_MSG_INIT, 0, NULL); -} - -void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_STOP, 0, NULL); -} - -/* cs contains the chip number, which should be enabled */ -void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs) -{ - dev->com_fn(u8g, U8G_COM_MSG_CHIP_SELECT, cs, NULL); -} - -void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_RESET, 0, NULL); -} - -void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_RESET, 1, NULL); -} - - -void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address) -{ - dev->com_fn(u8g, U8G_COM_MSG_ADDRESS, address, NULL); -} - -uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, val, NULL); -} - -uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, cnt, seq); -} - -uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ_P, cnt, (void *)seq); -} - -/* - sequence := { direct_value | escape_sequence } - direct_value := 0..254 - escape_sequence := value_255 | sequence_end | delay | adr | cs | not_used - value_255 := 255 255 - sequence_end = 255 254 - delay := 255 0..127 - adr := 255 0x0e0 .. 0x0ef - cs := 255 0x0d0 .. 0x0df - not_used := 255 101..254 - -#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) -#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) -#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) -#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) -#define U8G_ESC_END 255, 254 -#define U8G_ESC_255 255, 255 -#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) - -*/ -uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq) -{ - uint8_t is_escape = 0; - uint8_t value; - for(;;) - { - value = u8g_pgm_read(esc_seq); - if ( is_escape == 0 ) - { - if ( value != 255 ) - { - if ( u8g_WriteByte(u8g, dev, value) == 0 ) - return 0; - } - else - { - is_escape = 1; - } - } - else - { - if ( value == 255 ) - { - if ( u8g_WriteByte(u8g, dev, value) == 0 ) - return 0; - } - else if ( value == 254 ) - { - break; - } - else if ( value >= 0x0f0 ) - { - /* not yet used, do nothing */ - } - else if ( value >= 0xe0 ) - { - u8g_SetAddress(u8g, dev, value & 0x0f); - } - else if ( value >= 0xd0 ) - { - u8g_SetChipSelect(u8g, dev, value & 0x0f); - } - else if ( value >= 0xc0 ) - { - u8g_SetResetLow(u8g, dev); - value &= 0x0f; - value <<= 4; - value+=2; - u8g_Delay(value); - u8g_SetResetHigh(u8g, dev); - u8g_Delay(value); - } - else if ( value >= 0xbe ) - { - /* not yet implemented */ - /* u8g_SetVCC(u8g, dev, value & 0x01); */ - } - else if ( value <= 127 ) - { - u8g_Delay(value); - } - is_escape = 0; - } - esc_seq++; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c deleted file mode 100644 index 7ff03d865..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - - u8g_com_api_16gr.c - - Extension of the com api for devices with 16 graylevels (4 bit per pixel). - This should fit to the 8h and 16h architectures (pb8v1, pb8v2, pb16v1, pb16v2), - mainly intended for SSD OLEDs - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* interpret b as a monochrome bit pattern, write value 15 for high bit and value 0 for a low bit */ -/* topbit (msb) is sent last */ -/* example: b = 0x083 will send 0xff, 0x00, 0x00, 0xf0 */ -uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) -{ - static uint8_t buf[4]; - static uint8_t map[4] = { 0, 0x00f, 0x0f0, 0x0ff }; - buf [3] = map[b & 3]; - b>>=2; - buf [2] = map[b & 3]; - b>>=2; - buf [1] = map[b & 3]; - b>>=2; - buf [0] = map[b & 3]; - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, 4, buf); -} - -uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) -{ - do - { - if ( u8g_WriteByteBWTo16GrDevice(u8g, dev, *ptr++) == 0 ) - return 0; - cnt--; - } while( cnt != 0 ); - return 1; -} - -/* interpret b as a 4L bit pattern, write values 0x000, 0x004, 0x008, 0x00c */ -uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) -{ - //static uint8_t map[16] = { 0x000, 0x004, 0x008, 0x00c, 0x040, 0x044, 0x048, 0x04c, 0x080, 0x084, 0x088, 0x08c, 0x0c0, 0x0c4, 0x0c8, 0x0cc}; - //static uint8_t map[16] = { 0x000, 0x004, 0x00a, 0x00f, 0x040, 0x044, 0x04a, 0x04f, 0x0a0, 0x0a4, 0x0aa, 0x0af, 0x0f0, 0x0f4, 0x0fa, 0x0ff}; - static uint8_t map[16] = { 0x000, 0x040, 0x0a0, 0x0f0, 0x004, 0x044, 0x0a4, 0x0f4, 0x00a, 0x04a, 0x0aa, 0x0fa, 0x00f, 0x04f, 0x0af, 0x0ff}; - uint8_t bb; - bb = b; - bb &= 15; - b>>=4; - dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[bb], NULL); - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[b], NULL); -} - -uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) -{ - do - { - if ( u8g_WriteByte4LTo16GrDevice(u8g, dev, *ptr++) == 0 ) - return 0; - cnt--; - } while( cnt != 0 ); - return 1; -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c deleted file mode 100644 index ef0b2366e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - - u8g_com_arduino_common.c - - shared procedures for the arduino communication procedures - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value) -{ - uint8_t pin; - pin = u8g->pin_list[pin_index]; - if ( pin != U8G_PIN_NONE ) - digitalWrite(pin, value); -} - -/* this procedure does not set the RW pin */ -void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g) -{ - uint8_t i; - /* skip the RW pin, which is the last pin in the list */ - for( i = 0; i < U8G_PIN_LIST_LEN-1; i++ ) - { - if ( u8g->pin_list[i] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[i], OUTPUT); - digitalWrite(u8g->pin_list[i], HIGH); - } - } -} - - -#endif - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c deleted file mode 100644 index 91a32e6f0..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c +++ /dev/null @@ -1,245 +0,0 @@ -/* - - u8g_arduino_fast_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - - -#define PIN_D0 8 -#define PIN_D1 9 -#define PIN_D2 10 -#define PIN_D3 11 -#define PIN_D4 4 -#define PIN_D5 5 -#define PIN_D6 6 -#define PIN_D7 7 - -#define PIN_CS1 14 -#define PIN_CS2 15 -#define PIN_RW 16 -#define PIN_DI 17 -#define PIN_EN 18 - -//#define PIN_RESET - - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_data_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_data_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_fast_parallel_init(u8g_t *u8g) -{ - u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - -void u8g_com_arduino_fast_write_data_pin(uint8_t pin, uint8_t val) -{ - if ( val != 0 ) - *u8g_data_port[pin] |= u8g_data_mask[pin]; - else - *u8g_data_port[pin] &= ~u8g_data_mask[pin]; -} - - -void u8g_com_arduino_fast_parallel_write(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_fast_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_fast_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 7, val&1 ); - val >>= 1; - - /* EN cycle time must be 1 micro second */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_fast_parallel_init(u8g); - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_fast_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_fast_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_fast_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c deleted file mode 100644 index 7d7f91000..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - - u8g_com_arduino_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if defined(__AVR__) - -#include -#include - -#if ARDUINO < 100 -#include - -/* fixed pins */ -#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board -#define PIN_SCK 7 -#define PIN_MISO 6 -#define PIN_MOSI 5 -#define PIN_CS 4 -#else // Arduino Board -#define PIN_SCK 13 -#define PIN_MISO 12 -#define PIN_MOSI 11 -#define PIN_CS 10 -#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) - -#else - -#include - -/* use Arduino pin definitions */ -#define PIN_SCK SCK -#define PIN_MISO MISO -#define PIN_MOSI MOSI -#define PIN_CS SS - -#endif - - - -//static uint8_t u8g_spi_out(uint8_t data) U8G_NOINLINE; -static uint8_t u8g_spi_out(uint8_t data) -{ - /* unsigned char x = 100; */ - /* send data */ - SPDR = data; - /* wait for transmission */ - while (!(SPSR & (1<pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_spi_out(arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -/* #elif defined(__18CXX) || defined(__PIC32MX) */ - -#else /* __AVR__ */ - -#endif /* __AVR__ */ - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c deleted file mode 100644 index 49038c36c..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c +++ /dev/null @@ -1,221 +0,0 @@ -/* - - u8g_arduino_no_en_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - -//#define PIN_RESET - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_data_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_data_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_no_en_parallel_init(u8g_t *u8g) -{ - u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - -void u8g_com_arduino_no_en_write_data_pin(uint8_t pin, uint8_t val) -{ - if ( val != 0 ) - *u8g_data_port[pin] |= u8g_data_mask[pin]; - else - *u8g_data_port[pin] &= ~u8g_data_mask[pin]; -} - - -void u8g_com_arduino_no_en_parallel_write(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_no_en_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_no_en_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 7, val&1 ); - val >>= 1; - - /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - if ( u8g->pin_list[U8G_PI_CS_STATE] == 1 ) - { - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_MicroDelay(); - } - else if ( u8g->pin_list[U8G_PI_CS_STATE] == 2 ) - { - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - u8g_MicroDelay(); - } -} - - -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_no_en_parallel_init(u8g); - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - /* - 0: nothing selected - 1: CS1 will be used as enable line - 2: CS2 will be used as enable line - this will be used in the u8g_com_arduino_no_en_parallel_write() procedure - */ - u8g->pin_list[U8G_PI_CS_STATE] = arg_val; - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_no_en_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_no_en_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_no_en_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c deleted file mode 100644 index a73bc0dbe..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c +++ /dev/null @@ -1,187 +0,0 @@ -/* - - u8g_arduino_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - - - - -void u8g_com_arduino_parallel_write(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_D0, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D1, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D2, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D3, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D4, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D5, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D6, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D7, val&1); - - /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - //u8g_Delay(1); - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - //u8g_Delay(1); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ - //u8g_Delay(2); -} - - -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c deleted file mode 100644 index cfaf71f9f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - - u8g_arduino_port_d_wr.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes PORTD for 8 bit data transfer. - EN is assumed to be a low active write signal (WR) - - ILI9325D_320x240 from iteadstudio.com - RS=19, WR=18, CS=17, RST=16 - - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) && defined(PORTD) - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - - - - -static void u8g_com_arduino_port_d_8bit_wr(u8g_t *u8g, uint8_t val) -{ - PORTD = val; - - /* WR cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); -} - - -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - - switch(msg) - { - case U8G_COM_MSG_INIT: - -#ifdef UCSR0B - UCSR0B = 0; // disable USART 0 -#endif - DDRD = 0x0ff; - PORTD = 0x0ff; - - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, HIGH); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_port_d_8bit_wr(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_port_d_8bit_wr(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_port_d_8bit_wr(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO && PORTD */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c deleted file mode 100644 index afcb4088a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - - u8g_com_arduino_ssd_i2c.c - - com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant - I2C protocol - - ToDo: Rename this to u8g_com_avr_ssd_i2c.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Special pin usage: - U8G_PI_I2C_OPTION additional options - U8G_PI_A0_STATE used to store the last value of the command/data register selection - U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device - U8G_PI_SCL clock line (NOT USED) - U8G_PI_SDA data line (NOT USED) - - U8G_PI_RESET reset line (currently disabled, see below) - - Protocol: - SLA, Cmd/Data Selection, Arguments - The command/data register is selected by a special instruction byte, which is sent after SLA - - The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode -*/ - -#include "u8g.h" - -#define I2C_SLA (0x3c*2) -//#define I2C_CMD_MODE 0x080 -#define I2C_CMD_MODE 0x000 -#define I2C_DATA_MODE 0x040 - - -uint8_t u8g_com_arduino_ssd_start_sequence(u8g_t *u8g) -{ - /* are we requested to set the a0 state? */ - if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) - return 1; - - /* setup bus, might be a repeated start */ - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; -} - -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); - //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); - //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ - - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - /* Currently disabled, but it could be enable. Previous restrictions have been removed */ - /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if ( arg_val == 0 ) - { - /* disable chip, send stop condition */ - u8g_i2c_stop(); - } - else - { - /* enable, do nothing: any byte writing will trigger the i2c start */ - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - if ( u8g_i2c_send_byte(arg_val) == 0 ) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(*ptr++) == 0 ) - return u8g_i2c_stop(), 0; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) - return 0; - ptr++; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - -#ifdef OLD_CODE - if ( i2c_state != 0 ) - { - u8g_i2c_stop(); - i2c_state = 0; - } - - if ( u8g_com_arduino_ssd_start_sequence(arg_val) == 0 ) - return 0; - - /* setup bus, might be a repeated start */ - /* - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( arg_val == 0 ) - { - i2c_state = 1; - - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - i2c_state = 2; - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - */ -#endif - break; - } - return 1; -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c deleted file mode 100644 index d5a041386..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - - u8g_com_arduino_st7920_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special HW SPI interface for ST7920 controller - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) -#define U8G_ARDUINO_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif - -#endif - - -#if defined(U8G_ARDUINO_ATMEGA_HW_SPI) - -#include -#include - -static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - /* send data */ - SPDR = val; - /* wait for transmission */ - while (!(SPSR & (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - // u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - // u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - // u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} -#endif - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c deleted file mode 100644 index a73398868..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c +++ /dev/null @@ -1,295 +0,0 @@ -/* - - u8g_com_arduino_st7920_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) - -uint8_t u8g_bitData, u8g_bitNotData; -uint8_t u8g_bitClock, u8g_bitNotClock; -volatile uint8_t *u8g_outData; -volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - do - { - if ( val & 128 ) - *outData |= bitData; - else - *outData &= bitNotData; - - /* - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - */ - - val <<= 1; - *outClock &= bitNotClock; - cnt--; - // removed micro delays, because AVRs are too slow and the delay is not required - //u8g_MicroDelay(); - *outClock |= bitClock; - //u8g_MicroDelay(); - } while( cnt != 0 ); -} - -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - //u8g_MicroDelay(); - //*dog_outClock |= dog_bitClock; - *dog_outClock &= dog_bitNotClock; - cnt--; - u8g_MicroDelay(); - //*dog_outClock &= dog_bitNotClock; - *dog_outClock |= dog_bitClock; - u8g_MicroDelay(); - - } while( cnt != 0 ); -} - -#else - -/* default interface, Arduino DUE (__arm__) */ - -uint8_t u8g_data_pin; -uint8_t u8g_clock_pin; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_data_pin = dataPin; - u8g_clock_pin = clockPin; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - do - { - if ( val & 128 ) - digitalWrite(u8g_data_pin, HIGH); - else - digitalWrite(u8g_data_pin, LOW); - val <<= 1; - //u8g_MicroDelay(); - digitalWrite(u8g_clock_pin, LOW); - cnt--; - u8g_MicroDelay(); - digitalWrite(u8g_clock_pin, HIGH); - u8g_MicroDelay(); - } while( cnt != 0 ); -} - -#endif - - - - -static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); - -} - - - -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c deleted file mode 100644 index 1251ef2e5..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - - u8g_arduino_std_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -void u8g_arduino_sw_spi_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) -{ - uint8_t i = 8; - do - { - if ( val & 128 ) - digitalWrite(dataPin, HIGH); - else - digitalWrite(dataPin, LOW); - val <<= 1; - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - digitalWrite(clockPin, HIGH); - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - digitalWrite(clockPin, LOW); - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - i--; - } while( i != 0 ); -} - -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c deleted file mode 100644 index 846baeb90..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - - u8g_arduino_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) - -uint8_t u8g_bitData, u8g_bitNotData; -uint8_t u8g_bitClock, u8g_bitNotClock; -volatile uint8_t *u8g_outData; -volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - do - { - if ( val & 128 ) - *outData |= bitData; - else - *outData &= bitNotData; - - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - } while( cnt != 0 ); -} - -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - /* - There must be some delay here. However - fetching the adress dog_outClock is enough delay, so - do not place dog_outClock in a local variable. This will - break the procedure - */ - *dog_outClock |= dog_bitClock; - cnt--; - *dog_outClock &= dog_bitNotClock; - /* - little additional delay after clk pulse, done by 3x32bit reads - from I/O. Optimized for PIC32 with 80 MHz. - */ - dog_pic32_spi_tmp = *dog_outClock; - dog_pic32_spi_tmp = *dog_outClock; - dog_pic32_spi_tmp = *dog_outClock; - } while( cnt != 0 ); -} - -#else -/* empty interface */ - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ -} - -#endif - - -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_do_shift_out_msb_first( arg_val ); - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first(*ptr++); - // u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first( u8g_pgm_read(ptr) ); - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c deleted file mode 100644 index d6a817867..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c +++ /dev/null @@ -1,385 +0,0 @@ -/* - - u8g_com_arduino_t6963.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS 14 - PIN_A0 15 - PIN_RESET 16 - PIN_WR 17 - PIN_RD 18 - - u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_output_data_port[8]; -static volatile uint32_t *u8g_input_data_port[8]; -static volatile uint32_t *u8g_mode_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_output_data_port[8]; -static volatile uint8_t *u8g_input_data_port[8]; -static volatile uint8_t *u8g_mode_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_t6963_init(u8g_t *u8g) -{ - u8g_output_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_input_data_port[0] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_mode_port[0] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - - u8g_output_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_input_data_port[1] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_mode_port[1] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - - u8g_output_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_input_data_port[2] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_mode_port[2] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - - u8g_output_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_input_data_port[3] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_mode_port[3] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_output_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_input_data_port[4] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_mode_port[4] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - - u8g_output_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_input_data_port[5] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_mode_port[5] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - - u8g_output_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_input_data_port[6] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_mode_port[6] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - - u8g_output_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_input_data_port[7] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_mode_port[7] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - -static void u8g_com_arduino_t6963_write_data_pin(uint8_t pin, uint8_t val) -{ - if ( val != 0 ) - *u8g_output_data_port[pin] |= u8g_data_mask[pin]; - else - *u8g_output_data_port[pin] &= ~u8g_data_mask[pin]; -} - -static void u8g_com_arduino_t6963_set_port_output(void) -{ - uint8_t i; - for( i = 0; i < 8; i++ ) - { -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ - *u8g_mode_port[i] |= u8g_data_mask[i]; -#elif defined(__AVR__) - *u8g_mode_port[i] |= u8g_data_mask[i]; -#else - /* TODO: use generic Arduino API */ - *u8g_mode_port[i] |= u8g_data_mask[i]; -#endif - - } -} - -static void u8g_com_arduino_t6963_set_port_input(void) -{ - uint8_t i; - for( i = 0; i < 8; i++ ) - { -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; -#elif defined(__AVR__) -/* avr */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; - *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup -#else - /* TODO: use generic Arduino API */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; - *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup -#endif - } -} - - -static void u8g_com_arduino_t6963_write(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_t6963_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_t6963_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 7, val&1 ); - val >>= 1; - - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 0); - u8g_MicroDelay(); /* 80ns, reference: t6963 datasheet */ - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 1); - u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ -} - -static uint8_t u8g_com_arduino_t6963_read(u8g_t *u8g) -{ - uint8_t val = 0; - - u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 0); - u8g_MicroDelay(); /* 150ns, reference: t6963 datasheet */ - - /* only read bits 0, 1 and 3 */ - if ( (*u8g_input_data_port[3] & u8g_data_mask[3]) != 0 ) - val++; - val <<= 1; - val <<= 1; - if ( (*u8g_input_data_port[1] & u8g_data_mask[1]) != 0 ) - val++; - val <<= 1; - if ( (*u8g_input_data_port[0] & u8g_data_mask[0]) != 0 ) - val++; - - u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 1); - u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ - - return val; -} - -#define U8G_STATUS_TIMEOUT 50 - -static uint8_t u8g_com_arduino_t6963_until_01_ok(u8g_t *u8g) -{ - long x; - - u8g_com_arduino_t6963_set_port_input(); - x = millis(); - x += U8G_STATUS_TIMEOUT; - - for(;;) - { - if ( (u8g_com_arduino_t6963_read(u8g) & 3) == 3 ) - break; - if ( x < millis() ) - return 0; - } - u8g_com_arduino_t6963_set_port_output(); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_until_3_ok(u8g_t *u8g) -{ - long x; - - u8g_com_arduino_t6963_set_port_input(); - x = millis(); - x += U8G_STATUS_TIMEOUT; - - for(;;) - { - if ( (u8g_com_arduino_t6963_read(u8g) & 8) == 8 ) - break; - if ( x < millis() ) - return 0; - } - u8g_com_arduino_t6963_set_port_output(); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_cmd(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_data(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_auto_data(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_3_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - - -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g_com_arduino_t6963_init(u8g); - /* setup the RW (equal to WR) pin as output and force it to high */ - if ( u8g->pin_list[U8G_PI_WR] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_WR], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, HIGH); - } - /* set all pins (except WR pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, active low chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - u8g_com_arduino_t6963_write_data(u8g, arg_val); - } - else - { - u8g_com_arduino_t6963_write_cmd(u8g, arg_val); - } - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ - while( arg_val > 0 ) - { - if ( u8g_com_arduino_t6963_write_auto_data(u8g, *ptr++) == 0 ) - break; - arg_val--; - } - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ - while( arg_val > 0 ) - { - if ( u8g_com_arduino_t6963_write_auto_data(u8g, u8g_pgm_read(ptr)) == 0 ) - break; - ptr++; - arg_val--; - } - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 1) or data mode (arg_val = 0) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - //u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c deleted file mode 100644 index 30ee808ea..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - - u8g_com_atmega_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - -*/ - -#include "u8g.h" - - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif -#endif - - -#if defined(U8G_ATMEGA_HW_SPI) - -#include -#include - - -static uint8_t u8g_atmega_spi_out(uint8_t data) -{ - /* unsigned char x = 100; */ - /* send data */ - SPDR = data; - /* wait for transmission */ - while (!(SPSR & (1< 0 ) - { - u8g_atmega_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - -uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c deleted file mode 100644 index 603082da2..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - - u8g_atmega_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) -{ - - u8g_SetPILevel(u8g, U8G_PI_D0, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D1, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D2, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D3, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D4, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D5, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D6, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D7, val&1); - - /* EN cycle time must be 1 micro second */ - u8g_SetPILevel(u8g, U8G_PI_EN, 1); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_SetPILevel(u8g, U8G_PI_EN, 0); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - /* setup the RW pin as output and force it to low */ - u8g_SetPIOutput(u8g, U8G_PI_RW); - u8g_SetPILevel(u8g, U8G_PI_RW, 0); - - u8g_SetPIOutput(u8g, U8G_PI_D0); - u8g_SetPIOutput(u8g, U8G_PI_D1); - u8g_SetPIOutput(u8g, U8G_PI_D2); - u8g_SetPIOutput(u8g, U8G_PI_D3); - u8g_SetPIOutput(u8g, U8G_PI_D4); - u8g_SetPIOutput(u8g, U8G_PI_D5); - u8g_SetPIOutput(u8g, U8G_PI_D6); - u8g_SetPIOutput(u8g, U8G_PI_D7); - u8g_SetPIOutput(u8g, U8G_PI_EN); - u8g_SetPIOutput(u8g, U8G_PI_CS1); - u8g_SetPIOutput(u8g, U8G_PI_CS2); - u8g_SetPIOutput(u8g, U8G_PI_DI); - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 0); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 0); - } - else - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 0); - u8g_SetPILevel(u8g, U8G_PI_CS2, 0); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c deleted file mode 100644 index 52858a61e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - - u8g_com_atmega_st7920_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller with HW SPI Support - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif - -#endif - -#if defined(U8G_ATMEGA_HW_SPI) - -#include -#include - -static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - /* send data */ - SPDR = val; - /* wait for transmission */ - while (!(SPSR & (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - } - else - { - /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ - } - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c deleted file mode 100644 index 24e06028a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - - u8g_com_atmega_st7920_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - uint8_t i = 8; - do - { - u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); - val <<= 1; - u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - i--; - } while( i != 0 ); -} - -static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; -static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0fa); - } - - u8g_atmega_st7920_sw_spi_shift_out(u8g, val & 0x0f0); - u8g_atmega_st7920_sw_spi_shift_out(u8g, val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - - -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_SetPIOutput(u8g, U8G_PI_SCK); - u8g_SetPIOutput(u8g, U8G_PI_MOSI); - /* u8g_SetPIOutput(u8g, U8G_PI_A0); */ - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); - u8g_SetPILevel(u8g, U8G_PI_CS, 0 ); - /* u8g_SetPILevel(u8g, U8G_PI_A0, 0); */ - - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - } - else - { - /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ - } - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c deleted file mode 100644 index fde3153a5..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - - u8g_com_atmega_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - uint8_t i = 8; - do - { - u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); - val <<= 1; - u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - i--; - } while( i != 0 ); -} - -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_SetPIOutput(u8g, U8G_PI_SCK); - u8g_SetPIOutput(u8g, U8G_PI_MOSI); - u8g_SetPIOutput(u8g, U8G_PI_A0); - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); - u8g_SetPILevel(u8g, U8G_PI_CS, 1 ); - u8g_SetPILevel(u8g, U8G_PI_A0, 0); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - - if ( arg_val == 0 ) - { - /* disable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); - } - else - { - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); /* CS = 0 (low active) */ - } - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_atmega_sw_spi_shift_out(u8g, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_sw_spi_shift_out(u8g, *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_sw_spi_shift_out(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c deleted file mode 100644 index 144c7d720..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c +++ /dev/null @@ -1,249 +0,0 @@ -/* - - u8g_com_i2c.c - - generic i2c interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -static uint8_t u8g_i2c_err_code; - -/* - position values - 1: start condition - 2: sla transfer -*/ -static uint8_t u8g_i2c_err_pos; - - -void u8g_i2c_clear_error(void) -{ - u8g_i2c_err_code = U8G_I2C_ERR_NONE; - u8g_i2c_err_pos = 0; -} - -uint8_t u8g_i2c_get_error(void) -{ - return u8g_i2c_err_code; -} - -uint8_t u8g_i2c_get_err_pos(void) -{ - return u8g_i2c_err_pos; -} - -static void u8g_i2c_set_error(uint8_t code, uint8_t pos) -{ - if ( u8g_i2c_err_code > 0 ) - return; - u8g_i2c_err_code |= code; - u8g_i2c_err_pos = pos; -} - - - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_TWI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_TWI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_TWI -#endif -#endif - -#if defined(U8G_ATMEGA_HW_TWI) - -#include -#include - - - -void u8g_i2c_init(uint8_t options) -{ - /* - TWBR: bit rate register - TWSR: status register (contains preselector bits) - - prescalar - 0 1 - 1 4 - 2 16 - 3 64 - - f = F_CPU/(16+2*TWBR*prescalar) - - F_CPU = 16MHz - TWBR = 152; - TWSR = 0; - --> 50KHz - - TWBR = 72; - TWSR = 0; - --> 100KHz - - F_CPU/(2*100000)-8 --> calculate TWBR value for 100KHz -*/ - TWSR = 0; - TWBR = F_CPU/(2*100000)-8; - u8g_i2c_clear_error(); -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - volatile uint16_t cnt = 2000; /* timout value should be > 280 for 50KHz Bus and 16 Mhz CPU, however the start condition might need longer */ - while( !(TWCR & mask) ) - { - if ( cnt == 0 ) - { - u8g_i2c_set_error(U8G_I2C_ERR_TIMEOUT, pos); - return 0; /* error */ - } - cnt--; - } - return 1; /* all ok */ -} - -/* sla includes all 8 bits (with r/w bit), assums master transmit */ -uint8_t u8g_i2c_start(uint8_t sla) -{ - register uint8_t status; - - /* send start */ - TWCR = _BV(TWINT) | _BV(TWSTA) | _BV(TWEN); - - /* wait */ - if ( u8g_i2c_wait(_BV(TWINT), 1) == 0 ) - return 0; - - status = TW_STATUS; - - /* check status after start */ - if ( status != TW_START && status != TW_REP_START ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 1); - return 0; - } - - /* set slave address */ - TWDR = sla; - - /* enable sla transfer */ - TWCR = _BV(TWINT) | _BV(TWEN); - - /* wait */ - if ( u8g_i2c_wait(_BV(TWINT), 2) == 0 ) - return 0; - status = TW_STATUS; - - /* check status after sla */ - if ( status != TW_MT_SLA_ACK ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 2); - return 0; - } - - return 1; -} - -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - register uint8_t status; - TWDR = data; - TWCR = _BV(TWINT) | _BV(TWEN); - if ( u8g_i2c_wait(_BV(TWINT), 3) == 0 ) - return 0; - status = TW_STATUS; - - if ( status != TW_MT_DATA_ACK ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 3); - return 0; - } - - return 1; -} - -void u8g_i2c_stop(void) -{ - /* write stop */ - TWCR = _BV(TWINT) | _BV(TWEN) | _BV(TWSTO); - - /* no error is checked for the stop condition */ - u8g_i2c_wait(_BV(TWSTO), 4); - -} - -/* -void twi_send(uint8_t adr, uint8_t data1, uint8_t data2) -{ - u8g_i2c_start(adr<<1); - u8g_i2c_send_byte(data1); - u8g_i2c_send_byte(data2); - u8g_i2c_stop(); -} -*/ - -#else - -/* empty interface */ - -void u8g_i2c_init(uint8_t options) -{ - u8g_i2c_clear_error(); -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - return 1; -} - -uint8_t u8g_i2c_start(uint8_t sla) -{ - return 1; -} -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - return 1; -} - -void u8g_i2c_stop(void) -{ -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c deleted file mode 100644 index 50d26c93d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c +++ /dev/null @@ -1,218 +0,0 @@ -/* - - u8g_com_io.c - - abstraction layer for low level i/o - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -#include -#include - -typedef volatile uint8_t * IO_PTR; - -/* create internal pin number */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) -{ - port <<= 3; - port += bitpos; - return port; -} - -const IO_PTR u8g_avr_ddr_P[] PROGMEM = { -#ifdef DDRA - &DDRA, -#else - 0, -#endif - &DDRB, -#ifdef DDRC - &DDRC, -#ifdef DDRD - &DDRD, -#ifdef DDRE - &DDRE, -#ifdef DDRF - &DDRF, -#ifdef DDRG - &DDRG, -#ifdef DDRH - &DDRH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - - -const IO_PTR u8g_avr_port_P[] PROGMEM = { -#ifdef PORTA - &PORTA, -#else - 0, -#endif - &PORTB, -#ifdef PORTC - &PORTC, -#ifdef PORTD - &PORTD, -#ifdef PORTE - &PORTE, -#ifdef PORTF - &PORTF, -#ifdef PORTG - &PORTG, -#ifdef PORTH - &PORTH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - -const IO_PTR u8g_avr_pin_P[] PROGMEM = { -#ifdef PINA - &PINA, -#else - 0, -#endif - &PINB, -#ifdef PINC - &PINC, -#ifdef PIND - &PIND, -#ifdef PINE - &PINE, -#ifdef PINF - &PINF, -#ifdef PING - &PING, -#ifdef PINH - &PINH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - -static volatile uint8_t *u8g_get_avr_io_ptr(const IO_PTR *base, uint8_t offset) -{ - volatile uint8_t * tmp; - base += offset; - memcpy_P(&tmp, base, sizeof(volatile uint8_t * PROGMEM)); - return tmp; -} - -/* set direction to output of the specified pin (internal pin number) */ -void u8g_SetPinOutput(uint8_t internal_pin_number) -{ - *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) |= _BV(internal_pin_number&7); -} - -void u8g_SetPinInput(uint8_t internal_pin_number) -{ - *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) &= ~_BV(internal_pin_number&7); -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) -{ - volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_port_P, internal_pin_number>>3); - - if ( level == 0 ) - *tmp &= ~_BV(internal_pin_number&7); - else - *tmp |= _BV(internal_pin_number&7); -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) -{ - volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_pin_P, internal_pin_number>>3); - if ( ((*tmp) & _BV(internal_pin_number&7)) != 0 ) - return 1; - return 0; -} - -#else - -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) -{ - port <<= 3; - port += bitpos; - return port; -} - -void u8g_SetPinOutput(uint8_t internal_pin_number) -{ -} - -void u8g_SetPinInput(uint8_t internal_pin_number) -{ -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) -{ -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) -{ - return 0; -} - -#endif - - -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi) -{ - uint8_t pin; - pin = u8g->pin_list[pi]; - if ( pin != U8G_PIN_NONE ) - u8g_SetPinOutput(pin); -} - -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level) -{ - uint8_t pin; - pin = u8g->pin_list[pi]; - if ( pin != U8G_PIN_NONE ) - u8g_SetPinLevel(pin, level); -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c deleted file mode 100644 index 1d9deebff..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - - u8g_com_null.c - - communication null device - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - break; - case U8G_COM_MSG_STOP: - break; - - - case U8G_COM_MSG_CHIP_SELECT: - /* arg_val contains the chip number, which should be enabled */ - break; - - - case U8G_COM_MSG_WRITE_BYTE: - break; - case U8G_COM_MSG_WRITE_SEQ: - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c deleted file mode 100644 index 62075ba6e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - - u8g_cursor.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font) -{ - u8g->cursor_font = cursor_font; -} - -void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding) -{ - u8g->cursor_encoding = encoding; -} - -void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg) -{ - u8g->cursor_bg_color = bg; - u8g->cursor_fg_color = fg; -} - -void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y) -{ - u8g->cursor_x = cursor_x; - u8g->cursor_y = cursor_y; -} - -void u8g_EnableCursor(u8g_t *u8g) -{ - u8g->cursor_fn = u8g_DrawCursor; -} - -void u8g_DisableCursor(u8g_t *u8g) -{ - u8g->cursor_fn = (u8g_draw_cursor_fn)0; -} - -void u8g_DrawCursor(u8g_t *u8g) -{ - const u8g_pgm_uint8_t *font; - uint8_t color; - uint8_t encoding = u8g->cursor_encoding; - - /* get current values */ - color = u8g_GetColorIndex(u8g); - font = u8g->font; - - /* draw cursor */ - u8g->font = u8g->cursor_font; - encoding++; - u8g_SetColorIndex(u8g, u8g->cursor_bg_color); - /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ - /* required, because y adjustment should not happen to the cursor fonts */ - u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); - encoding--; - u8g_SetColorIndex(u8g, u8g->cursor_fg_color); - /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ - /* required, because y adjustment should not happen to the cursor fonts */ - /* u8g_DrawGlyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); */ - u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); - - /* restore previous values */ - u8g->font = font; - u8g_SetColorIndex(u8g, color); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c deleted file mode 100644 index e6a0661b3..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c +++ /dev/null @@ -1,215 +0,0 @@ -/* - - u8g_delay.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "u8g.h" - -/*==== Part 1: Derive suitable delay procedure ====*/ - -#if defined(ARDUINO) -# if defined(__AVR__) -# define USE_AVR_DELAY -# elif defined(__PIC32MX) -# define USE_PIC32_DELAY -# elif defined(__arm__) /* Arduino Due */ -# define USE_ARDUINO_DELAY -# else -# define USE_ARDUINO_DELAY -# endif -#elif defined(__AVR__) -# define USE_AVR_DELAY -#elif defined(__18CXX) -# define USE_PIC18_DELAY -#else -# define USE_DUMMY_DELAY -#endif - - - -/*==== Part 2: Definition of the delay procedures ====*/ - -/*== AVR Delay ==*/ - -#if defined(USE_AVR_DELAY) -#include -#include -#include - -/* - Delay by the provided number of milliseconds. - Thus, a 16 bit value will allow a delay of 0..65 seconds - Makes use of the _delay_loop_2 - - _delay_loop_2 will do a delay of n * 4 prozessor cycles. - with f = F_CPU cycles per second, - n = f / (1000 * 4 ) - with f = 16000000 the result is 4000 - with f = 1000000 the result is 250 - - the millisec loop, gcc requires the following overhead: - - movev 1 - - subwi 2x2 - - bne i 2 - ==> 7 cycles - ==> must be devided by 4, rounded up 7/4 = 2 -*/ -void u8g_Delay(uint16_t val) -{ - /* old version did a call to the arduino lib: delay(val); */ - while( val != 0 ) - { - _delay_loop_2( (F_CPU / 4000 ) -2); - val--; - } -} - -/* delay by one micro second */ -void u8g_MicroDelay(void) -{ -#if (F_CPU / 4000000 ) > 0 - _delay_loop_2( (F_CPU / 4000000 ) ); -#endif -} - -/* delay by 10 micro seconds */ -void u8g_10MicroDelay(void) -{ -#if (F_CPU / 400000 ) > 0 - _delay_loop_2( (F_CPU / 400000 ) ); -#endif -} - -#endif - - -/*== Delay for PIC18 (not tested) ==*/ - -#if defined(USE_PIC18_DELAY) -#include -#define GetSystemClock() (64000000ul) // Hz -#define GetInstructionClock() (GetSystemClock()/4) - -void u8g_Delay(uint16_t val) -{/* - unsigned int _iTemp = (val); - while(_iTemp--) - Delay1KTCYx((GetInstructionClock()+999999)/1000000); - */ -} -void u8g_MicroDelay(void) -{ - /* not implemented */ -} -void u8g_10MicroDelay(void) -{ - /* not implemented */ -} -#endif - - -/*== Arduino Delay ==*/ -#if defined(USE_ARDUINO_DELAY) -void u8g_Delay(uint16_t val) -{ - delay(val); -} -void u8g_MicroDelay(void) -{ - delayMicroseconds(1); -} -void u8g_10MicroDelay(void) -{ - delayMicroseconds(10); -} -#endif - -#if defined(USE_PIC32_DELAY) -/* - Assume chipkit here with F_CPU correctly defined - The problem was, that u8g_Delay() is called within the constructor. - It seems that the chipkit is not fully setup at this time, so a - call to delay() will not work. So here is my own implementation. - -*/ -#define CPU_COUNTS_PER_SECOND (F_CPU/2UL) -#define TICKS_PER_MILLISECOND (CPU_COUNTS_PER_SECOND/1000UL) -#include "plib.h" -void u8g_Delay(uint16_t val) -{ - uint32_t d; - uint32_t s; - d = val; - d *= TICKS_PER_MILLISECOND; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -void u8g_MicroDelay(void) -{ - uint32_t d; - uint32_t s; - d = TICKS_PER_MILLISECOND/1000; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -void u8g_10MicroDelay(void) -{ - uint32_t d; - uint32_t s; - d = TICKS_PER_MILLISECOND/100; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -#endif - -/*== Any other systems: Dummy Delay ==*/ -#if defined(USE_DUMMY_DELAY) -void u8g_Delay(uint16_t val) -{ - /* do not know how to delay... */ -} -void u8g_MicroDelay(void) -{ -} -void u8g_10MicroDelay(void) -{ -} -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c deleted file mode 100644 index bb368de43..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - - u8g_dev_flipdisc.c - - 1-Bit (BW) Driver for flip disc matrix - 2x 7 pixel height - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -#define WIDTH 28 -#define HEIGHT 14 -#define PAGE_HEIGHT 14 - -/* - Write data to the flip disc matrix. - This procedure must be implemented by the user. - Arguments: - id: Id for the matrix. Currently always 0. - page: A page has a height of 14 pixel. For a matrix with HEIGHT == 14 this will be always 0 - width: The width of the flip disc matrix. Always equal to WIDTH - row1: first data line (7 pixel per byte) - row2: first data line (7 pixel per byte) -*/ -void writeFlipDiscMatrix(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); - - - -void (*u8g_write_flip_disc_matrix)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); - -void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)) -{ - u8g_write_flip_disc_matrix = cb; -} - -uint8_t u8g_dev_flipdisc_2x7_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - /* current page: pb->p.page */ - /* ptr to the buffer: pb->buf */ - - (*u8g_write_flip_disc_matrix)(0, pb->p.page, WIDTH, pb->buf, pb->buf+WIDTH); - } - break; - case U8G_DEV_MSG_CONTRAST: - return 1; - } - return u8g_dev_pb14v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_flipdisc_2x7_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_flipdisc_2x7_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_flipdisc_2x7_bw_buf}; -u8g_dev_t u8g_dev_flipdisc_2x7 = { u8g_dev_flipdisc_2x7_bw_fn, &u8g_dev_flipdisc_2x7_bw_pb, u8g_com_null_fn }; diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c deleted file mode 100644 index a486a2143..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - - u8g_dev_gprof.c - - Device for performance measurement with gprof. - Does not write any data, but uses a buffer. - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -*/ - -#include "u8g.h" - - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_pb_dev_gprof_buf[WIDTH]; -u8g_pb_t u8g_pb_dev_gprof = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_pb_dev_gprof_buf }; - -u8g_dev_t u8g_dev_gprof = { u8g_dev_gprof_fn, &u8g_pb_dev_gprof, NULL }; - -uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - /* - { - uint8_t i, j; - uint8_t page_height; - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( j = 0; j < page_height; j++ ) - { - printf("%02d ", j); - for( i = 0; i < WIDTH; i++ ) - { - if ( (u8g_pb_dev_stdout_buf[i] & (1<p)) == 0 ) - { - //printf("\n"); - return 0; - } - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x2, y2; - - y2 = bbx->y; - y2 += bbx->h; - y2--; - - if ( u8g_pb_IsYIntersection(pb, bbx->y, y2) == 0 ) - return 0; - - /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ - x2 = bbx->x; - x2 += bbx->w; - x2--; - - if ( u8g_pb_IsXIntersection(pb, bbx->x, x2) == 0 ) - return 0; - } - return 1; -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c deleted file mode 100644 index e30ae6a71..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c +++ /dev/null @@ -1,326 +0,0 @@ -/* - - u8g_dev_ili9325d_320x240.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Color format - Red: 5 Bit - Green: 6 Bit - Blue: 5 Bit - - -*/ - -#include "u8g.h" - -#define WIDTH 240 - -#if defined(U8G_16BIT) -#define HEIGHT 320 -#else -/* if the user tries to compile the 8Bit version of the lib, then restrict the height to something which fits to 8Bit */ -#define HEIGHT 240 -#endif -#define PAGE_HEIGHT 4 - - -/* - reference board for this device: - http://iteadstudio.com/store/index.php?main_page=product_info&cPath=57_58&products_id=55 - documentation: - http://iteadstudio.com/Downloadfile/ITDB02_material.rar - datasheet - http://www.newhavendisplay.com/app_notes/ILI9325D.pdf - other libs - http://henningkarlsen.com/electronics/library.php - init sequence - http://code.google.com/p/itdb02/, ITDB02.cpp, iteadstudio.com -*/ - -static const uint8_t u8g_dev_ili9325d_320x240_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - //U8G_ESC_ADR(0), 0x000, 0x0E5, /* only used for none D version: set SRAM internal timing */ - //U8G_ESC_ADR(1), 0x078, 0x0f0, - U8G_ESC_ADR(0), 0x000, 0x001, /* Driver Output Control, bits 8 & 10 */ - U8G_ESC_ADR(1), 0x001, 0x000, - U8G_ESC_ADR(0), 0x000, 0x002, /* LCD Driving Wave Control, bit 9: Set line inversion */ - U8G_ESC_ADR(1), 0x002, 0x000, /* ITDB02 none D verion: 0x007, 0x000 */ - U8G_ESC_ADR(0), 0x000, 0x003, /* Entry Mode, GRAM write direction and BGR=1 */ - U8G_ESC_ADR(1), 0x010, 0x030, - U8G_ESC_ADR(0), 0x000, 0x004, /* Resize register */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x008, /* Display Control 2: set the back porch and front porch */ - U8G_ESC_ADR(1), 0x002, 0x007, - - U8G_ESC_ADR(0), 0x000, 0x009, /* Display Control 3 */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x00a, /* Display Control 4: FMARK */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00c, /* RGB Display Interface Control 1 */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00d, /* Frame Maker Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00f, /* RGB Display Interface Control 2 */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: DC1[2:0], DC0[2:0], VC[2:0] */ - U8G_ESC_ADR(1), 0x000, 0x007, - U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VREG1OUT voltage */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, but do not display */ - U8G_ESC_ADR(1), 0x000, 0x001, - - U8G_ESC_DLY(100), /* delay 100 ms */ /* ITDB02 none D verion: 50ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x016, 0x090, /* ITDB02 none D verion: 0x010, 0x090 */ - U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x002, 0x027, - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VCI: External, VCI*1.80 */ - U8G_ESC_ADR(1), 0x000, 0x00d, /* ITDB02 none D verion: 0x000, 0x01f */ - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ - U8G_ESC_ADR(1), 0x012, 0x000, /* ITDB02 none D verion: 0x015, 0x000 */ - U8G_ESC_ADR(0), 0x000, 0x029, /* Power Control 7 */ - U8G_ESC_ADR(1), 0x000, 0x00a, /* ITDB02 none D verion: 0x000, 0x027 */ - U8G_ESC_ADR(0), 0x000, 0x02b, /* Frame Rate: 83 */ - U8G_ESC_ADR(1), 0x000, 0x00d, - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - - /* gamma control */ - U8G_ESC_ADR(0), 0x000, 0x030, - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x031, - U8G_ESC_ADR(1), 0x004, 0x004, - U8G_ESC_ADR(0), 0x000, 0x032, - U8G_ESC_ADR(1), 0x000, 0x003, - U8G_ESC_ADR(0), 0x000, 0x035, - U8G_ESC_ADR(1), 0x004, 0x005, - U8G_ESC_ADR(0), 0x000, 0x036, - U8G_ESC_ADR(1), 0x008, 0x008, - U8G_ESC_ADR(0), 0x000, 0x037, - U8G_ESC_ADR(1), 0x004, 0x007, - U8G_ESC_ADR(0), 0x000, 0x038, - U8G_ESC_ADR(1), 0x003, 0x003, - U8G_ESC_ADR(0), 0x000, 0x039, - U8G_ESC_ADR(1), 0x007, 0x007, - U8G_ESC_ADR(0), 0x000, 0x03c, - U8G_ESC_ADR(1), 0x005, 0x004, - U8G_ESC_ADR(0), 0x000, 0x03d, - U8G_ESC_ADR(1), 0x008, 0x008, - - U8G_ESC_ADR(0), 0x000, 0x050, /* Horizontal GRAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x051, /* Horizontal GRAM End Address: 239 */ - U8G_ESC_ADR(1), 0x000, 0x0EF, - U8G_ESC_ADR(0), 0x000, 0x052, /* Vertical GRAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x053, /* Vertical GRAM End Address: 319 */ - U8G_ESC_ADR(1), 0x001, 0x03F, - - U8G_ESC_ADR(0), 0x000, 0x060, /* Driver Output Control 2 */ - U8G_ESC_ADR(1), 0x0a7, 0x000, - U8G_ESC_ADR(0), 0x000, 0x061, /* Base Image Display Control: NDL,VLE, REV */ - U8G_ESC_ADR(1), 0x000, 0x001, - U8G_ESC_ADR(0), 0x000, 0x06a, /* Vertical Scroll Control */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x080, /* Partial Image 1 Display Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x081, /* Partial Image 1 RAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x082, /* Partial Image 1 RAM End Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x083, /* Partial Image 2 Display Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x084, /* Partial Image 2 RAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x085, /* Partial Image 2 RAM End Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x090, /* Panel Interface Control 1 */ - U8G_ESC_ADR(1), 0x000, 0x010, - U8G_ESC_ADR(0), 0x000, 0x092, /* Panel Interface Control 2 */ - U8G_ESC_ADR(1), 0x000, 0x000, /* 0x006, 0x000 */ - - U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, display ON */ - U8G_ESC_ADR(1), 0x001, 0x033, - - U8G_ESC_DLY(10), /* delay 10 ms */ - - /* write test pattern */ - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x010, - U8G_ESC_ADR(0), 0x000, 0x022, /* Write Data to GRAM */ - U8G_ESC_ADR(1), 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -static const uint8_t u8g_dev_ili9325d_320x240_page_seq[] PROGMEM = { - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), - U8G_ESC_END /* end of sequence */ -}; - -/* convert the internal RGB 332 to 65K high byte */ -static uint8_t u8g_dev_ili9325d_get_65K_high_byte(uint8_t color) -{ - uint8_t h; - h = color; - h &= 0x0e0; - h |= h>>3; - h &= 0x0f8; - color>>=2; - color &= 7; - h |= color; - return h; -} - -/* convert the internal RGB 332 to 65K high byte */ -static uint8_t u8g_dev_ili9325d_get_65K_low_byte(uint8_t color) -{ - uint8_t l; - l = color; - l <<= 3; - color &= 3; - color <<= 1; - l |= color; - return l; -} - - -uint8_t u8g_dev_ili9325d_320x240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - //for(;;) - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_init_seq); - - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - uint16_t y, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < pb->p.page_height; i ++ ) - { - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_page_seq); - u8g_WriteByte(u8g, dev, y >> 8 ); /* display ram (cursor) address high byte */ - u8g_WriteByte(u8g, dev, y & 255 ); /* display ram (cursor) address low byte */ - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0 ); - u8g_WriteByte(u8g, dev, 0x022 ); /* start gram data */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - - for( j = 0; j < pb->width; j++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_high_byte(*ptr) ); - u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_low_byte(*ptr) ); - - ptr++; - } - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_ili9325d_320x240_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_ili9325d_320x240_8h8_pb U8G_NOCOMMON = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_ili9325d_320x240_8h8_buf}; -u8g_dev_t u8g_dev_ili9325d_320x240_8bit U8G_NOCOMMON = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_port_d_wr_fn }; -//u8g_dev_t u8g_dev_ili9325d_320x240_8bit = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_parallel_fn }; - -//U8G_PB_DEV(u8g_dev_ili9325d_320x240_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ili9325d_320x240_fn, U8G_COM_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c deleted file mode 100644 index 47ba18d4e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - - u8g_dev_ks0108_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - ADDRESS = 0 (Command Mode) - 0x03f Display On - 0x0c0 Start Display at line 0 - 0x040 | y write to y address (y:0..63) - 0x0b8 | x write to page [0..7] - - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_ks0108_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip 1 */ - 0x03f, /* display on */ - 0x0c0, /* start at line 0 */ - U8G_ESC_DLY(20), /* delay 20 ms */ - U8G_ESC_CS(2), /* enable chip 2 */ - 0x03f, /* display on */ - 0x0c0, /* start at line 0 */ - U8G_ESC_DLY(20), /* delay 20 ms */ - U8G_ESC_CS(0), /* disable all chips */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_ks0108_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ks0108_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 2); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ - u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, 64, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ - u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, 64, 64+(uint8_t *)pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ks0108_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_PARALLEL); -U8G_PB_DEV(u8g_dev_ks0108_128x64_fast, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c deleted file mode 100644 index b7bf6755e..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - - u8g_dev_lc7981_160x80.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 160 -#define HEIGHT 80 -#define PAGE_HEIGHT 8 - - -/* - code ideas: - https://github.com/vsergeev/embedded-drivers/tree/master/avr-lc7981 - data sheets: - http://www.lcd-module.de/eng/pdf/zubehoer/lc7981.pdf - http://www.lcd-module.de/pdf/grafik/w160-6.pdf -*/ - -static const uint8_t u8g_dev_lc7981_160x80_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_160x80_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_160x80_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_160x80_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_160x80_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c deleted file mode 100644 index 272b7c4cb..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_lc7981_240x128.c - - Hitachi Display SP14N002 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -/* - http://www.mark-products.com/graphics.htm#240x128%20Pixel%20Format -*/ - -static const uint8_t u8g_dev_lc7981_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x128_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c deleted file mode 100644 index 781f1d90a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_lc7981_240x64.c - - Tested with Nan Ya LM_J6_003_ - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -static const uint8_t u8g_dev_lc7981_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x64_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c deleted file mode 100644 index d9ae9369f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_lc7981_320x64.c - - Note: Requires 16 bit mode (Must be enabled in u8g.h) - - Tested with Varitronix MGLS32064-03.pdf - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 320 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* - http://www.gaw.ru/pdf/lcd/lcm/Varitronix/graf/MGLS32064-03.pdf -*/ - -static const uint8_t u8g_dev_lc7981_320x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_320x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_320x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_320x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_320x64_fn, U8G_COM_FAST_PARALLEL); diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c deleted file mode 100644 index 0e3907749..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - - u8g_dev_null.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_null(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: /* most often used command */ - break; - case U8G_DEV_MSG_SET_PIXEL: - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - break; - case U8G_DEV_MSG_PAGE_NEXT: - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return 1; -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - } - return 1; -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c deleted file mode 100644 index 4cc011379..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - - u8g_dev_pcd8544_84x48.c - - Display: Nokia 84x48 - - Status: Tested with PCF8812 Display - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 84 -#define HEIGHT 48 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_pcd8544_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x013, /* bias system 1:48 */ - 0x0c0, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_pcd8544_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_pcd8544_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_SW_SPI); - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c deleted file mode 100644 index 3ac57884f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - - u8g_dev_pcf8812_96x65.c - - Display: Nokia 96x65 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - om6206 comaptible to pcf8812 ? - - Status: Tested - - - Display Controller Seen in - LPH7366 (9 pins, 84x48) PCD8544 Nokia 5110 / 5120 / 5130 / 5160 / 6110 / 6150 - LPH7677 (8 pins, 84x48) PCD8544 Nokia 3210 - LPH7779 (8 pins, 84x48) PCD8544 Nokia 3310 / 3315 / 3330 / 3110, also 3410? - ??? PCD8544 Nokia 5110 / 6110 - LPH7690 ? (96x65) PCF8455/OM6202 Nokia 3410 - LPH7690 ? (96x65?) SED1565/S1D15605 Nokia 7110 / 3510? - LPH7690 ??? Nokia 6210 - - - -*/ - -#include "u8g.h" - -#define WIDTH 96 -#define HEIGHT 65 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_pcf8812_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x013, /* bias system 1:48 */ - 0x080 | 0x040, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_pcf8812_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcf8812_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ -U8G_PB_DEV(u8g_dev_pcf8812_96x65_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_SW_SPI); diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c deleted file mode 100644 index 3b0bcd625..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - - u8g_dev_sbn1661_122x32.c - - WG12232 display with 2xSBN1661 / SED1520 controller (122x32 display) - At the moment only available in the Arduino Environment - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 122 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_sbn1661_122x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip 1 */ - 0x0af, /* display on */ - 0x0c0, /* display start at line 0 */ - 0x0a0, /* a0: ADC forward, a1: ADC reverse */ - 0x0a9, /* a8: 1/16, a9: 1/32 duty */ - U8G_ESC_CS(2), /* enable chip 2 */ - 0x0af, /* display on */ - 0x0c0, /* display start at line 0 */ - 0x0a0, /* a0: ADC forward, a1: ADC reverse */ - 0x0a9, /* a8: 1/16, a9: 1/32 duty */ - - U8G_ESC_CS(0), /* disable chip */ - - - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_sbn1661_122x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sbn1661_122x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ - u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/2, pb->buf); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 2); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ - u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/2, WIDTH/2+(uint8_t *)pb->buf); - - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - case U8G_DEV_MSG_CONTRAST: - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ -U8G_PB_DEV(u8g_dev_sbn1661_122x32 , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sbn1661_122x32_fn, u8g_com_arduino_no_en_parallel_fn); diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c deleted file mode 100644 index 8f294374b..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c +++ /dev/null @@ -1,247 +0,0 @@ -/* - - u8g_dev_ssd1306_128x32.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - 23 Feb 2013: Fixed, Issue 147 - -*/ - - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -/* init sequence adafruit 128x32 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit1_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* [1] set contrast control */ - 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence adafruit 128x32 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit2_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence adafruit 128x32 OLED (TESTED - WORKING 23.02.13), like adafruit3, but with page addressing mode */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit3_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x01f, /* Feb 23, 2013: 128x32 OLED: 0x01f, 128x64 OLED 0x03f */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Feb 23, 2013: 128x32 OLED: 0x002, 128x64 OLED 0x012 */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence Univision datasheet (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_univision_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* multiplex ratio */ - 0x0d3, 0x000, /* display offset */ - 0x040, /* start line */ - 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* set contrast control */ - 0x0d9, 0x022, /* pre-charge period */ - 0x0db, 0x040, /* vcomh deselect level */ - 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* select one init sequence here */ -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_univision_init_seq -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit1_init_seq -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit2_init_seq -#define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit3_init_seq - - -static const uint8_t u8g_dev_ssd1306_128x32_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr. to 0 */ - 0x000, /* set lower 4 bit of the col adr. to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1306_128x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; -} - - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1306_128x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x32_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SSD_I2C); - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c deleted file mode 100644 index a49b2d806..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c +++ /dev/null @@ -1,237 +0,0 @@ -/* - - u8g_dev_ssd1306_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence adafruit 128x64 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit1_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* [1] set contrast control */ - 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence adafruit 128x64 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit2_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence adafruit 128x64 OLED (NOT TESTED), like adafruit3, but with page addressing mode */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit3_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x002, /* 2012-05-27: page addressing mode */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence Univision datasheet (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_univision_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* multiplex ratio */ - 0x0d3, 0x000, /* display offset */ - 0x040, /* start line */ - 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* set contrast control */ - 0x0d9, 0x022, /* pre-charge period */ - 0x0db, 0x040, /* vcomh deselect level */ - 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* select one init sequence here */ -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_univision_init_seq -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit1_init_seq -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit2_init_seq -#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit3_init_seq - - -static const uint8_t u8g_dev_ssd1306_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1306_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1306_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SSD_I2C); diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c deleted file mode 100644 index d16013fb7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - - u8g_dev_ssd1309_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* ssd1309 ini sequence*/ -static const uint8_t u8g_dev_ssd1309_128x64_init_seq[] PROGMEM={ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0xfd,0x12, /*Command Lock */ - 0xae, /*Set Display Off */ - 0xd5,0xa0, /*set Display Clock Divide Ratio/Oscillator Frequency */ - 0xa8,0x3f, /*Set Multiplex Ratio */ - 0x3d,0x00, /*Set Display Offset*/ - 0x40, /*Set Display Start Line*/ - 0xa1, /*Set Segment Re-Map*/ - 0xc8, /*Set COM Output Scan Direction*/ - 0xda,0x12, /*Set COM Pins Hardware Configuration*/ - 0x81,0xdf, /*Set Current Control */ - 0xd9,0x82, /*Set Pre-Charge Period */ - 0xdb,0x34, /*Set VCOMH Deselect Level */ - 0xa4, /*Set Entire Display On/Off */ - 0xa6, /*Set Normal/Inverse Display*/ - U8G_ESC_VCC(1), /*Power up VCC & Stabilized */ - U8G_ESC_DLY(50), - 0xaf, /*Set Display On */ - U8G_ESC_DLY(50), - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* select one init sequence here */ - #define u8g_dev_ssd1309_128x64_init_seq u8g_dev_ssd1309_128x64_init_seq - - - static const uint8_t u8g_dev_ssd1309_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1309_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1309_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1309_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1309_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SSD_I2C); - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c deleted file mode 100644 index 24b94ffc7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - - u8g_dev_ssd1322_nhd31oled_bw.c - - 1-Bit (BW) Driver for SSD1322 Controller (OLED Display) - Tested with NHD-3.12-25664 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#if defined(U8G_16BIT) -#define WIDTH 256 -#else -#define WIDTH 248 -#endif -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* - http://www.newhavendisplay.com/app_notes/OLED_25664.txt - http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 -*/ - -static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0fd, /* lock command */ - U8G_ESC_ADR(1), /* data mode */ - 0x012, /* unlock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ae, /* display off, sleep mode */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b3, - U8G_ESC_ADR(1), /* data mode */ - 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ca, /* multiplex ratio */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, /* 1/64 Duty (0x0F~0x3F) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a2, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display offset, shift mapping ram counter */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a1, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display start line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a0, /* Set Re-Map / Dual COM Line Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x014, /* was 0x014 */ - 0x011, /* was 0x011 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ab, - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* Enable Internal VDD Regulator */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b4, /* Display Enhancement A */ - U8G_ESC_ADR(1), /* data mode */ - 0x0a0, - 0x005|0x0fd, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c1, /* contrast */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c7, /* Set Scale Factor of Segment Output Current Control */ - U8G_ESC_ADR(1), /* data mode */ - 0x00f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b9, /* linear gray scale */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ - U8G_ESC_ADR(1), /* data mode */ - 0x0e2, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0d1, /* Display Enhancement B */ - U8G_ESC_ADR(1), /* data mode */ - 0x082|0x020, - 0x020, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0bb, /* precharge voltage */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b6, /* precharge period */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0be, /* vcomh */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a6, /* normal display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a9, /* exit partial display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0af, /* display on */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - U8G_ESC_ADR(1), /* data mode */ - 0x01c, /* start at column 0 */ - 0x05b, /* end column */ - U8G_ESC_ADR(0), /* instruction mode */ - 0x075, /* row address... */ - U8G_ESC_ADR(1), /* data mode */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1322_1bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_ssd1322_nhd31oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_HW_SPI); - -#define DWIDTH (WIDTH*2) -uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c deleted file mode 100644 index 5b509641c..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c +++ /dev/null @@ -1,333 +0,0 @@ -/* - - u8g_dev_ssd1322_nhd31oled_gr.c - - 2-Bit (4L) Driver for SSD1322 Controller (OLED Display) - Tested with NHD-3.12-25664 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#if defined(U8G_16BIT) -#define WIDTH 256 -#else -#define WIDTH 248 -#endif -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* - http://www.newhavendisplay.com/app_notes/OLED_25664.txt - http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 -*/ - -static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0fd, /* lock command */ - U8G_ESC_ADR(1), /* data mode */ - 0x012, /* unlock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ae, /* display off, sleep mode */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b3, - U8G_ESC_ADR(1), /* data mode */ - 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ca, /* multiplex ratio */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, /* 1/64 Duty (0x0F~0x3F) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a2, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display offset, shift mapping ram counter */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a1, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display start line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a0, /* Set Re-Map / Dual COM Line Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x014, /* was 0x014 */ - 0x011, /* was 0x011 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ab, - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* Enable Internal VDD Regulator */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b4, /* Display Enhancement A */ - U8G_ESC_ADR(1), /* data mode */ - 0x0a0, - 0x005|0x0fd, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c1, /* contrast */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c7, /* Set Scale Factor of Segment Output Current Control */ - U8G_ESC_ADR(1), /* data mode */ - 0x00f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b9, /* linear gray scale */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ - U8G_ESC_ADR(1), /* data mode */ - 0x0e2, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0d1, /* Display Enhancement B */ - U8G_ESC_ADR(1), /* data mode */ - 0x082|0x020, - 0x020, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0bb, /* precharge voltage */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b6, /* precharge period */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0be, /* vcomh */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a6, /* normal display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a9, /* exit partial display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0af, /* display on */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - U8G_ESC_ADR(1), /* data mode */ - 0x01c, /* start at column 0 */ - 0x05b, /* end column */ - U8G_ESC_ADR(0), /* instruction mode */ - 0x075, /* row address... */ - U8G_ESC_ADR(1), /* data mode */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1322_2bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1322_nhd31oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_HW_SPI); - -#define DWIDTH (WIDTH*2) -uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_gr_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_gr_buf}; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c deleted file mode 100644 index 95853bdf2..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_bw.c - - 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#ifdef OBSOLETE_CODE - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1325_1bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 3; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 7; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1325_1bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 1; - page += is_odd; - - page <<= 3; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 7; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -#ifdef OLD -static void _OLD_u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, cnt; - cnt = 8; - do - { - d = 0; - if ( left & 1 ) - d |= 0x0f0; - if ( right & 1 ) - d |= 0x00f; - u8g_WriteByte(u8g, dev, d); - left >>= 1; - right >>= 1; - cnt--; - }while ( cnt > 0 ); -} -#endif - -static void u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, cnt; - static uint8_t buf[8]; - cnt = 8; - do - { - d = 0; - if ( left & 128 ) - d |= 0x0f0; - if ( right & 128 ) - d |= 0x00f; - cnt--; - buf[cnt] = d; - left <<= 1; - right <<= 1; - }while ( cnt > 0 ); - u8g_WriteSequence(u8g, dev, 8, buf); -} - -static void u8g_dev_ssd1325_1bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_1bit_write_16_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_1bit_prepare_page(u8g, dev); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); - u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -/* disabled, see bw_new.c */ -/* -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); -*/ - -/* -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; -*/ - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c deleted file mode 100644 index c9f4a51ad..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_bw.c - - 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) - Horizontal architecture, completly rewritten - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_nhd_27_12864_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a4, /* normal display mode */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_prepare_row_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1325_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_prepare_row_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -static uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - //case U8G_DEV_MSG_IS_BBX_INTERSECTION: - // return u8g_pb_IsIntersection((u8g_pb_t *)(dev->dev_mem), (u8g_dev_arg_bbx_t *)arg); - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - - - -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c deleted file mode 100644 index d00d18ec4..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_gr.c - - 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#ifdef OBSOLETE_CODE - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1325_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1325_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 1; - page += is_odd; - - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -static void u8g_dev_ssd1325_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, tmp, cnt; - cnt = 4; - do - { - d = left; - d &= 3; - d <<= 4; - tmp = right; - tmp &= 3; - d |= tmp; - d <<= 2; - u8g_WriteByte(u8g, dev, d); - left >>= 2; - right >>= 2; - cnt--; - }while ( cnt > 0 ); -} - -static void u8g_dev_ssd1325_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - cnt = pb->width; - cnt >>= 1; - ptr = pb->buf; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static void u8g_dev_ssd1325_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_2bit_prepare_page(u8g, dev); - u8g_dev_ssd1325_2bit_write_buffer(u8g, dev); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 0); - u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); -//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); - -//uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; -//u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; -//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; -//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; - - -#endif /* OBSOLETE_CODE */ diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c deleted file mode 100644 index 2e61d9a57..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c +++ /dev/null @@ -1,227 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_gr.c - - 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) - Rewritten with new architecture - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1), old values: 0x0a0 0x0a6 */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a4, /* normal display mode */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1325_gr_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - - -static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); -} - - - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c deleted file mode 100644 index 5e3b44674..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c +++ /dev/null @@ -1,299 +0,0 @@ -/* - - u8g_dev_ssd1327_96x96_gr.c - - 2-Bit (graylevel) Driver for SSD1327 Controller (OLED Display) - Tested with Seedstudio 96x96 Oled (LY120) - http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -#define WIDTH 96 -#define HEIGHT 96 -#define XOFFSET 8 - -/* - http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 -*/ -static const uint8_t u8g_dev_ssd1327_2bit_96x96_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0fd, 0x012, /* unlock display, usually not required because the display is unlocked after reset */ - 0x0ae, /* display off, sleep mode */ - 0x0a8, 0x05f, /* multiplex ratio: 0x05f * 1/64 duty */ - 0x0a1, 0x000, /* display start line */ - 0x0a2, 0x060, /* display offset, shift mapping ram counter */ - //0x0a2, 0x04c, /* NHD: display offset, shift mapping ram counter */ - 0x0a0, 0x046, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - //0x0a0, 0x056, /* NHD: remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x0ab, 0x001, /* Enable internal VDD regulator (RESET) */ - 0x081, 0x053, /* contrast, brightness, 0..128, Newhaven: 0x040, LY120 0x053, 0x070 seems also ok */ - 0x0b1, 0x051, /* phase length */ - 0x0b3, 0x001, /* set display clock divide ratio/oscillator frequency */ - 0x0b9, /* use linear lookup table */ -#if 0 - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 -#endif - 0x0bc, 0x008, /* pre-charge voltage level */ - 0x0be, 0x007, /* VCOMH voltage */ - 0x0b6, 0x001, /* second precharge */ - 0x0d5, 0x062, /* enable second precharge, internal vsl (bit0 = 0) */ - -#if 0 - // the following commands are not used by the SeeedGrayOLED sequence */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ -#endif - - 0x0a5, /* all pixel on */ - //0x02e, /* no scroll (according to SeeedGrayOLED sequence) */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - - 0x015, /* column address... */ - 0x008, /* start at column 8, special for the LY120 ??? */ - 0x037, /* end at column 55, note: there are two pixel in one column */ - - 0x075, /* row address... */ - 0x008, - 0x05f, - - U8G_ESC_ADR(1), /* data mode */ - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1327_2bit_96x96_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - XOFFSET, /* start at column 8, special for the LY120 ??? */ - 0x037, /* end at column 55, note: there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1327_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1327_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); - - page <<= 1; - page += is_odd; - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -static void u8g_dev_ssd1327_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, tmp, cnt; - static uint8_t buf[4]; - buf[0] = 0; - buf[1] = 0; - buf[2] = 0; - buf[3] = 0; - cnt = 0; - do - { - if ( left == 0 && right == 0 ) - break; - d = left; - d &= 3; - d <<= 4; - tmp = right; - tmp &= 3; - d |= tmp; - d <<= 2; - buf[cnt] = d; - left >>= 2; - right >>= 2; - cnt++; - }while ( cnt < 4 ); - u8g_WriteSequence(u8g, dev, 4, buf); -} - -static void u8g_dev_ssd1327_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - cnt = pb->width; - cnt >>= 1; - ptr = pb->buf; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static void u8g_dev_ssd1327_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -uint8_t u8g_dev_ssd1327_96x96_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1327_2bit_prepare_page(u8g, dev); - u8g_dev_ssd1327_2bit_write_buffer(u8g, dev); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1327_96x96_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 0); - u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_i2c , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SSD_I2C); - -#define DWIDTH (2*WIDTH) -uint8_t u8g_dev_ssd1327_96x96_2x_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1327_96x96_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1327_96x96_2x_buf}; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SSD_I2C }; - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c deleted file mode 100644 index 01fc9fc0c..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - - u8g_dev_st7565_64128n.c (Displaytech) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_64128n_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0A2, /* 0x0a2: LCD bias 1/9 (according to Displaytech 64128N datasheet) */ - 0x0A0, /* Normal ADC Select (according to Displaytech 64128N datasheet) */ - - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x040, /* Display start line for Displaytech 64128N */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x010, /* Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x01e, /* Contrast value. Setting for controlling brightness of Displaytech 64128N */ - - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0x10 */ - 0x000, /* set lower 4 bit of the col adr to 0x00. Changed for DisplayTech 64128N */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_64128n_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_64128n_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_64128n_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_HW_SPI); - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c deleted file mode 100644 index 095ef369c..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c +++ /dev/null @@ -1,140 +0,0 @@ -/* - - u8g_dev_st7565_dogm128.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -const uint8_t u8g_dev_st7565_dogm128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode: set scan direction normal operation */ - 0x0a6, /* display normal (none reverse) */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value, EA default: 0x016 */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0a4, /* normal display (not all on) */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_dogm128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_dogm128_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm128_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_HW_SPI); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c deleted file mode 100644 index a76d54b3f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - - u8g_dev_st7565_dogm132.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 132 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_st7565_dogm132_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line to 0 */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x01f, /* contrast value, EA default: 0x01f */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - -#ifdef OBSOLETE_DOGM128 - 0x040, /* set display start line */ - 0x0c8, /* set scan direction inverse operation */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value, EA default: 0x016 */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ -#endif - - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_dogm132_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_dogm132_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm132_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_HW_SPI); diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c deleted file mode 100644 index ab8ed39b6..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - - u8g_dev_st7565_lm6059.c (Adafruit display) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_lm6059_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit, 0x0a2 does not work */ - /* the LM6059 vs LM6063, ADC and SHL have inverted settings */ - 0x0a0, /* 0x0a1: ADC set to normal (suggested for the LM6059), 0x0a0: Used by Adafruit -> normal mode */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x060, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - - /*0x0ac,*/ /* indicator */ - /*0x000,*/ /* disable */ - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x001, /* set lower 4 bit of the col adr */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_st7565_lm6059_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_lm6059_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_lm6059_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_HW_SPI); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c deleted file mode 100644 index 47ccb1ec7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - - u8g_dev_st7565_lm6063.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -#ifdef OLD_ADAFRUIT_CODE -static const uint8_t OLD_u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select / 17 Jan: seems to be a bug, must be 0x0c0 */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - /*0x0f8,*/ /* set booster ratio to */ - /*0x000, */ /* 4x */ - /*0x027,*/ /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; -#endif - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit */ - 0x0a1, /* 0x0a1: ADC set to reverse (suggested for the LM6063), 0x0a0: Used by Adafruit -> normal mode */ - 0x0c0, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x040, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - - /*0x0ac,*/ /* indicator */ - /*0x000,*/ /* disable */ - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6063_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_st7565_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_st7565_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_st7565_lm6063_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_lm6063_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_lm6063_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_HW_SPI); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c deleted file mode 100644 index ed80a0693..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - - u8g_dev_st7565_nhd_c12832.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_st7565_c12832_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line to 0 */ - 0x0a0, /* ADC set, values: a0=normal, a1=reverse */ - 0x0c8, /* common output mode: c0=normal, c8=reverse */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x00a, /* contrast value */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_c12832_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_PARALLEL); diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c deleted file mode 100644 index 5e3f8b9fe..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_st7565_nhd_c12864.c - - Support for the NHD-C12864A1Z-FSB-FBW (Newhaven Display) - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -const uint8_t u8g_dev_st7565_nhd_c12864_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(10), /* do reset low pulse with (10*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode: set scan direction normal operation */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x008, /* contrast: 0x008 is a good value for NHD C12864, Nov 2012: User reports that 0x1a is much better */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_nhd_c12864_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x004, /* set lower 4 bit of the col adr to 4 (NHD C12864) */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12864_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12864_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_nhd_c12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_HW_SPI); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c deleted file mode 100644 index 4851017aa..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c +++ /dev/null @@ -1,420 +0,0 @@ -/* - - u8g_dev_st7687_c144mvgd.c (1.44" TFT) - - Status: Started, but not finished - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -#ifdef FIRST_VERSION -/* -see also: read.pudn.com/downloads115/sourcecode/app/484503/LCM_Display.c__.htm -http://en.pudn.com/downloads115/sourcecode/app/detail484503_en.html -*/ - -static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x001, /* A0=0, SW reset */ - U8G_ESC_DLY(200), /* delay 200 ms */ - - 0x0d7, /* EEPROM data auto re-load control */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, /* ARD = 1 */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0e0, /* EEPROM control in */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - -#ifdef NOT_REQUIRED - 0x0fa, /* EEPROM function selection 8.1.66 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ -#endif - - 0x0e3, /* Read from EEPROM, 8.1.55 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0e1, /* EEPROM control out, 8.1.53 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - //0x028, /* display off */ - 0x011, /* Sleep out & booster on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0c0, /* Vop setting, 8.1.42 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x001, /* 3.6 + 256*0.04 = 13.84 Volt */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0c3, /* Bias selection, 8.1.45 */ - U8G_ESC_ADR(1), /* data mode */ - 0x003, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c4, /* Booster setting 8.1.46 */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c5, /* ??? */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0cb, /* FV3 with Booster x2 control, 8.1.47 */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x036, /* Memory data access control, 8.1.28 */ - U8G_ESC_ADR(1), /* data mode */ - 0x080, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b5, /* N-line control, 8.1.37 */ - U8G_ESC_ADR(1), /* data mode */ - 0x089, - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0d0, /* Analog circuit setting, 8.1.49 */ - U8G_ESC_ADR(1), /* data mode */ - 0x01d, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b7, /* Com/Seg Scan Direction, 8.1.38 */ - U8G_ESC_ADR(1), /* data mode */ - 0x040, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x025, /* Write contrast, 8.1.17 */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x03a, /* Interface pixel format, 8.1.32 */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b0, /* Display Duty setting, 8.1.34 */ - U8G_ESC_ADR(1), /* data mode */ - 0x07f, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f0, /* Frame Freq. in Temp range A,B,C and D, 8.1.59 */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - 0x00c, - 0x00c, - 0x015, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f9, /* Frame RGB Value, 8.1.65 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, - 0x005, - 0x008, - 0x00a, - 0x00c, - 0x00e, - 0x010, - 0x011, - 0x012, - 0x013, - 0x014, - 0x015, - 0x016, - 0x018, - 0x01a, - 0x01b, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f9, /* Frame RGB Value, 8.1.65 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, - 0x000, - 0x000, - 0x000, - 0x033, - 0x055, - 0x055, - 0x055, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x029, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ - -}; - -#else - -/* -http://www.waitingforfriday.com/images/e/e3/FTM144D01N_test.zip -*/ - -static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x011, /* Sleep out & booster on */ - U8G_ESC_DLY(5), /* delay 5 ms */ - - 0x03a, /* Interface pixel format, 8.1.32 */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x026, /* SET_GAMMA_CURVE */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f2, /* GAM_R_SEL */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* enable gamma adj */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0e0, /* POSITIVE_GAMMA_CORRECT */ - U8G_ESC_ADR(1), /* data mode */ - 0x3f, - 0x25, - 0x1c, - 0x1e, - 0x20, - 0x12, - 0x2a, - 0x90, - 0x24, - 0x11, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0e1, /* NEGATIVE_GAMMA_CORRECT */ - U8G_ESC_ADR(1), /* data mode */ - 0x20, - 0x20, - 0x20, - 0x20, - 0x05, - 0x00, - 0x15, - 0xa7, - 0x3d, - 0x18, - 0x25, - 0x2a, - 0x2b, - 0x2b, - 0x3a, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b1, /* FRAME_RATE_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, /* DIVA = 8 */ - 0x008, /* VPA = 8 */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0b4, /* DISPLAY_INVERSION */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, /* NLA = 1, NLB = 1, NLC = 1 (all on Frame Inversion) */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c0, /* POWER_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x00a, /* VRH = 10: GVDD = 4.30 */ - 0x002, /* VC = 2: VCI1 = 2.65 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c1, /* POWER_CONTROL2 */ - U8G_ESC_ADR(1), /* data mode */ - 0x002, /* BT = 2: AVDD = 2xVCI1, VCL = -1xVCI1, VGH = 5xVCI1, VGL = -2xVCI1 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c5, /* VCOM_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x050, /* VMH = 80: VCOMH voltage = 4.5 */ - 0x05b, /* VML = 91: VCOML voltage = -0.225 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c7, /* VCOM_OFFSET_CONTROL */ - U8G_ESC_ADR(1), /* data mode */ - 0x040, /* nVM = 0, VMF = 64: VCOMH output = VMH, VCOML output = VML */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x02a, /* SET_COLUMN_ADDRESS */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x000, /* */ - 0x000, /* */ - 0x07f, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x02b, /* SET_PAGE_ADDRESS */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x000, /* */ - 0x000, /* */ - 0x07f, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x036, /* SET_ADDRESS_MODE */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* Select display orientation */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x029, /* display on */ - - 0x02c, /* write start */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ - -}; - -#endif - - - - -/* calculate bytes for Type B 4096 color display */ -static uint8_t get_byte_1(uint8_t v) -{ - v >>= 4; - v &= 0x0e; - return v; -} - -static uint8_t get_byte_2(uint8_t v) -{ - uint8_t w; - w = v; - w &= 3; - w = (w<<2) | w; - v <<= 3; - v &= 0x0e0; - w |= v; - return w; -} - -uint8_t u8g_dev_st7687_c144mvgd_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7687_c144mvgd_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02a ); /* Column address set 8.1.20 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, 0x000 ); /* x0 */ - u8g_WriteByte(u8g, dev, WIDTH-1 ); /* x1 */ - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02b ); /* Row address set 8.1.21 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, y ); /* y0 */ - u8g_WriteByte(u8g, dev, y+PAGE_HEIGHT-1 ); /* y1 */ - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02c ); /* Memory write 8.1.22 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - - for( j = 0; j < WIDTH; j ++ ) - { - u8g_WriteByte(u8g, dev, get_byte_1(*ptr) ); - u8g_WriteByte(u8g, dev, get_byte_2(*ptr) ); - ptr++; - } - } - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_st7687_c144mvgd_8h8_buf[WIDTH*8] U8G_NOCOMMON ; -u8g_pb_t u8g_st7687_c144mvgd_8h8_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_st7687_c144mvgd_8h8_buf}; - -u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, u8g_com_arduino_sw_spi_fn }; - -u8g_dev_t u8g_dev_st7687_c144mvgd_8bit = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, U8G_COM_PARALLEL }; diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c deleted file mode 100644 index b0b18d34d..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - - u8g_dev_st7565_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - - if ( y < 32 ) - { - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - } - else - { - u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ - } - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_128x64_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - - if ( y < 32 ) - { - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - } - else - { - u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ - } - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7920_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_FAST_PARALLEL); - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_128x64_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_128x64_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_128x64_4x_buf}; -u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_128x64_4x_8bit = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_FAST_PARALLEL }; - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c deleted file mode 100644 index 28535e0cd..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - - u8g_dev_st7920_192x32.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 192 -#define HEIGHT 32 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_192x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_192x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_192x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_st7920_192x32_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_192x32_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_192x32_8bit, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_FAST_PARALLEL); - - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_192x32_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_192x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_192x32_4x_buf}; -u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_192x32_4x_8bit = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_FAST_PARALLEL }; - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c deleted file mode 100644 index 129fc748f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - - u8g_dev_st7920_202x32.c - tested with CFAG20232 - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 202 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_202x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_202x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_202x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_st7920_202x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_202x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_202x32_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_FAST_PARALLEL); - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_202x32_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_202x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_202x32_4x_buf}; -u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_202x32_4x_8bit = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_FAST_PARALLEL }; - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c deleted file mode 100644 index c1626ccc1..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - - u8g_dev_t6963_128x64.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 16 - - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x64_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_128x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_128x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_128x64_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_128x64_8bit = { u8g_dev_t6963_128x64_fn, &u8g_dev_t6963_128x64_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c deleted file mode 100644 index 4a28edbcf..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - - u8g_dev_t6963_240x128.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x128_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_240x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_240x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x128_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_240x128_8bit = { u8g_dev_t6963_240x128_fn, &u8g_dev_t6963_240x128_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c deleted file mode 100644 index 6d209d212..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - - u8g_dev_t6963_240x64.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x64_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_240x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_240x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x64_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_240x64_8bit = { u8g_dev_t6963_240x64_fn, &u8g_dev_t6963_240x64_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c deleted file mode 100644 index 17689dc4a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - - u8g_dev_tls8204_84x48.c - - Display: Nokia 84x48 - - Status: Tested with TLS8204V12 Display by Olimex MOD-LCD3310 - - Contributed: http://code.google.com/p/u8glib/issues/detail?id=126 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 84 -#define HEIGHT 48 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_tls8204_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x04 | !!((66-1)&(1u<<6)), - 0x40 | ((66-2) & ((1u<<6)-1)), - 0x013, /* bias system 1:48 */ - 0x0c0, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_tls8204_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_tls8204_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_WriteByte(u8g, dev, 0x020); /* command mode, extended function set */ - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_tls8204_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tls8204_fn, U8G_COM_SW_SPI); - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c deleted file mode 100644 index b7111d5c8..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - - u8g_dev_uc1610_dogxl160.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 160 -#define HEIGHT 104 - -static const uint8_t u8g_dev_uc1610_dogxl160_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0f1, /* set display height-1 */ - 0x067, /* */ - 0x0c0, /* SEG & COM normal */ - 0x040, /* set display start line */ - 0x050, /* */ - 0x02b, /* set panelloading */ - 0x0eb, /* set bias 1/2 */ - 0x081, /* set contrast */ - 0x05f, /* */ - 0x089, /* set auto increment */ - 0x0a6, /* normal pixel mode */ - 0x0d3, /* 0xd3=40% RMS separation for gray levels */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1610_dogxl160_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static uint8_t u8g_dev_1to2(uint8_t n) -{ - register uint8_t a,b,c; - a = n; - a &= 1; - n <<= 1; - b = n; - b &= 4; - n <<= 1; - c = n; - c &= 16; - n <<= 1; - n &= 64; - n |= a; - n |= b; - n |= c; - n |= n << 1; - return n; -} - -uint8_t u8g_dev_uc1610_dogxl160_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - int i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); - } - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - int i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+1) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+2) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf+WIDTH))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+3) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf+WIDTH))[i] >> 4 ) ); - } - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf) == 0 ) - return 0; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf+WIDTH) == 0 ) - return 0; - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_HW_SPI); - -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_sw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_hw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1610_dogxl160_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1610_dogxl160_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_bw_buf}; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_HW_SPI }; - -uint8_t u8g_dev_uc1610_dogxl160_2x_gr_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1610_dogxl160_2x_gr_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_gr_buf}; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c deleted file mode 100644 index 853d8c034..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c +++ /dev/null @@ -1,113 +0,0 @@ -/* - - u8g_dev_uc1701_dogs102.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 102 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_dogs102_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x040, /* set display start line to 0 */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x027, /* regulator, booster and follower */ - 0x081, /* set contrast */ - 0x00e, /* contrast value, EA default: 0x010, previous value for S102: 0x0e */ - 0x0fa, /* Set Temp compensation */ - 0x090, /* 0.11 deg/c WP Off WC Off*/ - 0x0a4, /* normal display */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_dogs102_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_dogs102_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1701_dogs102_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1701_dogs102_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_HW_SPI); - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c deleted file mode 100644 index 55b2f9b71..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - - u8g_dev_uc1701_mini12864.c (dealextreme) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_uc1701_mini12864_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line to 0 */ - 0x0a0, /* ADC set to reverse */ - 0x0c8, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x027, /* contrast value */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1701_mini12864_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1701_mini12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1701_mini12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1701_mini12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_HW_SPI); diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c deleted file mode 100644 index 6c35fdf23..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - - u8g_ellipse.c - - Utility to draw empty and filled ellipses. - - Universal 8bit Graphics Library - - Copyright (c) 2011, bjthom@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Addition to the U8G Library as of 02/29/12 - Adapted from Bresenham's Algorithm and the following websites: - http://free.pages.at/easyfilter/bresenham.html - http://homepage.smc.edu/kennedy_john/belipse.pdf - -*/ - -#include "u8g.h" - - -#ifdef WORK_IN_PROGRESS - -void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1) -{ - int a = abs(x1 - x0); - int b = abs(y1 - y0); //get diameters - int b1 = b&1; - long dx = 4*(1-a)*b*b; - long dy = 4*(b1+1)*a*a; - long err = dx+dy+b1*a*a; - long e2; - - if (x0 > x1) { x0 = x1; x1 += a; } - if (y0 > y1) { y0 = y1; } - y0 += (b+1)/2; - y1 = y0-b1; - a *= 8*a; - b1 = 8*b*b; - - do { - u8g_DrawPixel(u8g, x1, y0); - u8g_DrawPixel(u8g, x0, y0); - u8g_DrawPixel(u8g, x0, y1); - u8g_DrawPixel(u8g, x1, y1); - e2 = 2*err; - if (e2 >= dx) { - x0++; - x1--; - err += dx += b1; - } - if (e2 <= dy) { - y0++; - y1--; - err += dy += a; - } - } while (x0 <= x1); - - while (y0-y1 < b) { - u8g_DrawPixel(u8g, x0-1, y0); - u8g_DrawPixel(u8g, x1+1, y0++); - u8g_DrawPixel(u8g, x0-1, y1); - u8g_DrawPixel(u8g, x1+1, y1--); - } -} - -void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t xr, u8g_uint_t yr) -{ - u8g_DrawPixel(u8g, x0, y0+yr); - u8g_DrawPixel(u8g, x0, y0-yr); - u8g_DrawPixel(u8g, x0+xr, y0); - u8g_DrawPixel(u8g, x0-xr, y0); -} - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c deleted file mode 100644 index bfdc0b28a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c +++ /dev/null @@ -1,1422 +0,0 @@ -/* - - u8g_font.c - - U8G Font High Level Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* font api */ - -/* pointer to the start adress of the glyph, points to progmem area */ -typedef void * u8g_glyph_t; - -/* size of the font data structure, there is no struct or class... */ -#define U8G_FONT_DATA_STRUCT_SIZE 17 - -/* - ... instead the fields of the font data structure are accessed directly by offset - font information - offset - 0 font format - 1 FONTBOUNDINGBOX width unsigned - 2 FONTBOUNDINGBOX height unsigned - 3 FONTBOUNDINGBOX x-offset signed - 4 FONTBOUNDINGBOX y-offset signed - 5 capital A height unsigned - 6 start 'A' - 8 start 'a' - 10 encoding start - 11 encoding end - 12 descent 'g' negative: below baseline - 13 font max ascent - 14 font min decent negative: below baseline - 15 font xascent - 16 font xdecent negative: below baseline - -*/ - -/* use case: What is the width and the height of the minimal box into which string s fints? */ -void u8g_font_GetStrSize(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); -void u8g_font_GetStrSizeP(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); - -/* use case: lower left edge of a minimal box is known, what is the correct x, y position for the string draw procedure */ -void u8g_font_AdjustXYToDraw(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); -void u8g_font_AdjustXYToDrawP(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); - -/* use case: Baseline origin known, return minimal box */ -void u8g_font_GetStrMinBox(u8g_t *u8g, const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); - -/* procedures */ - -/*========================================================================*/ -/* low level byte and word access */ - -/* removed NOINLINE, because it leads to smaller code, might also be faster */ -//static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; -static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) -{ - font += offset; - return u8g_pgm_read( (u8g_pgm_uint8_t *)font ); -} - -static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; -static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) -{ - uint16_t pos; - font += offset; - pos = u8g_pgm_read( (u8g_pgm_uint8_t *)font ); - font++; - pos <<= 8; - pos += u8g_pgm_read( (u8g_pgm_uint8_t *)font); - return pos; -} - -/*========================================================================*/ -/* direct access on the font */ - -static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; -static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) -{ - return u8g_font_get_byte(font, 0); -} - -static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; -static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) -{ - switch(u8g_font_GetFormat(font)) - { - case 0: return 6; - case 1: return 3; - } - return 3; -} - -static uint8_t u8g_font_GetBBXWidth(const void *font) -{ - return u8g_font_get_byte(font, 1); -} - -static uint8_t u8g_font_GetBBXHeight(const void *font) -{ - return u8g_font_get_byte(font, 2); -} - -static int8_t u8g_font_GetBBXOffX(const void *font) -{ - return u8g_font_get_byte(font, 3); -} - -static int8_t u8g_font_GetBBXOffY(const void *font) -{ - return u8g_font_get_byte(font, 4); -} - -uint8_t u8g_font_GetCapitalAHeight(const void *font) -{ - return u8g_font_get_byte(font, 5); -} - -uint16_t u8g_font_GetEncoding65Pos(const void *font) U8G_NOINLINE; -uint16_t u8g_font_GetEncoding65Pos(const void *font) -{ - return u8g_font_get_word(font, 6); -} - -uint16_t u8g_font_GetEncoding97Pos(const void *font) U8G_NOINLINE; -uint16_t u8g_font_GetEncoding97Pos(const void *font) -{ - return u8g_font_get_word(font, 8); -} - -uint8_t u8g_font_GetFontStartEncoding(const void *font) -{ - return u8g_font_get_byte(font, 10); -} - -uint8_t u8g_font_GetFontEndEncoding(const void *font) -{ - return u8g_font_get_byte(font, 11); -} - -int8_t u8g_font_GetLowerGDescent(const void *font) -{ - return u8g_font_get_byte(font, 12); -} - -int8_t u8g_font_GetFontAscent(const void *font) -{ - return u8g_font_get_byte(font, 13); -} - -int8_t u8g_font_GetFontDescent(const void *font) -{ - return u8g_font_get_byte(font, 14); -} - -int8_t u8g_font_GetFontXAscent(const void *font) -{ - return u8g_font_get_byte(font, 15); -} - -int8_t u8g_font_GetFontXDescent(const void *font) -{ - return u8g_font_get_byte(font, 16); -} - - -/* return the data start for a font and the glyph pointer */ -static uint8_t *u8g_font_GetGlyphDataStart(const void *font, u8g_glyph_t g) -{ - return ((u8g_fntpgm_uint8_t *)g) + u8g_font_GetFontGlyphStructureSize(font); -} - -/* calculate the overall length of the font, only used to create the picture for the google wiki */ -size_t u8g_font_GetSize(const void *font) -{ - uint8_t *p = (uint8_t *)(font); - uint8_t font_format = u8g_font_GetFormat(font); - uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(font); - uint8_t start, end; - uint8_t i; - uint8_t mask = 255; - - start = u8g_font_GetFontStartEncoding(font); - end = u8g_font_GetFontEndEncoding(font); - - if ( font_format == 1 ) - mask = 15; - - p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ - - i = start; - for(;;) - { - if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) - { - p += 1; - } - else - { - p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; - p += data_structure_size; - } - if ( i == end ) - break; - i++; - } - - return p - (uint8_t *)font; -} - -/*========================================================================*/ -/* u8g interface, font access */ - -uint8_t u8g_GetFontBBXWidth(u8g_t *u8g) -{ - return u8g_font_GetBBXWidth(u8g->font); -} - -uint8_t u8g_GetFontBBXHeight(u8g_t *u8g) -{ - return u8g_font_GetBBXHeight(u8g->font); -} - -int8_t u8g_GetFontBBXOffX(u8g_t *u8g) U8G_NOINLINE; -int8_t u8g_GetFontBBXOffX(u8g_t *u8g) -{ - return u8g_font_GetBBXOffX(u8g->font); -} - -int8_t u8g_GetFontBBXOffY(u8g_t *u8g) U8G_NOINLINE; -int8_t u8g_GetFontBBXOffY(u8g_t *u8g) -{ - return u8g_font_GetBBXOffY(u8g->font); -} - -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) U8G_NOINLINE; -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) -{ - return u8g_font_GetCapitalAHeight(u8g->font); -} - -/*========================================================================*/ -/* glyph handling */ - -static void u8g_CopyGlyphDataToCache(u8g_t *u8g, u8g_glyph_t g) -{ - uint8_t tmp; - switch( u8g_font_GetFormat(u8g->font) ) - { - case 0: - /* - format 0 - glyph information - offset - 0 BBX width unsigned - 1 BBX height unsigned - 2 data size unsigned (BBX width + 7)/8 * BBX height - 3 DWIDTH signed - 4 BBX xoffset signed - 5 BBX yoffset signed - byte 0 == 255 indicates empty glyph - */ - u8g->glyph_width = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); - u8g->glyph_height = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); - u8g->glyph_dx = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 3 ); - u8g->glyph_x = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 4 ); - u8g->glyph_y = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 5 ); - break; - case 1: - default: - /* -format 1 - 0 BBX xoffset signed --> upper 4 Bit - 0 BBX yoffset signed --> lower 4 Bit - 1 BBX width unsigned --> upper 4 Bit - 1 BBX height unsigned --> lower 4 Bit - 2 data size unsigned -(BBX width + 7)/8 * BBX height --> lower 4 Bit - 2 DWIDTH signed --> upper 4 Bit - byte 0 == 255 indicates empty glyph - */ - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); - u8g->glyph_y = tmp & 15; - u8g->glyph_y-=2; - tmp >>= 4; - u8g->glyph_x = tmp; - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); - u8g->glyph_height = tmp & 15; - tmp >>= 4; - u8g->glyph_width = tmp; - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 2 ); - tmp >>= 4; - u8g->glyph_dx = tmp; - - - break; - } -} - -//void u8g_FillEmptyGlyphCache(u8g_t *u8g) U8G_NOINLINE; -static void u8g_FillEmptyGlyphCache(u8g_t *u8g) -{ - u8g->glyph_dx = 0; - u8g->glyph_width = 0; - u8g->glyph_height = 0; - u8g->glyph_x = 0; - u8g->glyph_y = 0; -} - -/* - Find (with some speed optimization) and return a pointer to the glyph data structure - Also uncompress (format 1) and copy the content of the data structure to the u8g structure -*/ -u8g_glyph_t u8g_GetGlyph(u8g_t *u8g, uint8_t requested_encoding) -{ - uint8_t *p = (uint8_t *)(u8g->font); - uint8_t font_format = u8g_font_GetFormat(u8g->font); - uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(u8g->font); - uint8_t start, end; - uint16_t pos; - uint8_t i; - uint8_t mask = 255; - - if ( font_format == 1 ) - mask = 15; - - start = u8g_font_GetFontStartEncoding(u8g->font); - end = u8g_font_GetFontEndEncoding(u8g->font); - - pos = u8g_font_GetEncoding97Pos(u8g->font); - if ( requested_encoding >= 97 && pos > 0 ) - { - p+= pos; - start = 97; - } - else - { - pos = u8g_font_GetEncoding65Pos(u8g->font); - if ( requested_encoding >= 65 && pos > 0 ) - { - p+= pos; - start = 65; - } - else - p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ - } - - if ( requested_encoding > end ) - { - u8g_FillEmptyGlyphCache(u8g); - return NULL; /* not found */ - } - - i = start; - if ( i <= end ) - { - for(;;) - { - if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) - { - p += 1; - } - else - { - if ( i == requested_encoding ) - { - u8g_CopyGlyphDataToCache(u8g, p); - return p; - } - p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; - p += data_structure_size; - } - if ( i == end ) - break; - i++; - } - } - - u8g_FillEmptyGlyphCache(u8g); - - return NULL; -} - -uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding) -{ - if ( u8g_GetGlyph(u8g, requested_encoding) != NULL ) - return 1; - return 0; -} - -int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding) -{ - if ( u8g_GetGlyph(u8g, requested_encoding) == NULL ) - return 0; /* should never happen, so return something */ - return u8g->glyph_dx; -} - - -/*========================================================================*/ -/* glyph drawing procedures */ - -#ifdef OBSOLETE -/* - Draw a glyph - x,y: left baseline position of the glyph -*/ -int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - u8g_glyph_t g; - uint8_t w, h, i, j; - const u8g_pgm_uint8_t *data; - uint8_t bytes_per_line; - u8g_uint_t ix, iy; - - g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - w = u8g->glyph_width; - h = u8g->glyph_height; - - bytes_per_line = w; - bytes_per_line += 7; - bytes_per_line /= 8; - - data = u8g_font_GetGlyphDataStart(u8g->font, g); - - switch(dir) - { - case 0: - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - //u8g_DrawFrame(u8g, x, y-h+1, w, h); - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - ix+=8; - } - iy++; - } - break; - case 1: - x += u8g->glyph_y; - x++; - y += u8g->glyph_x; - //printf("enc %d, dir %d, x %d, y %d, w %d, h %d\n", encoding, dir, x, y, w, h); - //u8g_DrawFrame(u8g, x, y, h, w); - if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) - return u8g->glyph_dx; - - ix = x; - ix += h; - ix--; - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - iy+=8; - } - ix--; - } - break; - case 2: - x -= u8g->glyph_x; - y += u8g->glyph_y; - y++; - if ( u8g_IsBBXIntersection(u8g, x-w-1, y, w, h) == 0 ) - return u8g->glyph_dx; - - iy = y; - iy += h; - iy--; - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - ix-=8; - } - iy--; - } - break; - case 3: - x -= u8g->glyph_y; - x--; - y -= u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x-h-1, y-w-1, h, w) == 0 ) - return u8g->glyph_dx; - - ix = x; - ix -= h; - ix++; - - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - iy-=8; - } - ix++; - } - break; - } - return u8g->glyph_dx; -} -#endif - -int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 0, u8g_pgm_read(data)); - data++; - ix+=8; - } - iy++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y += u8g->font_calc_vref(u8g); - return u8g_draw_glyph(u8g, x, y, encoding); -} - -int8_t u8g_draw_glyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_y; - x++; - y += u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - ix = x; - ix += h; - ix--; - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 1, u8g_pgm_read(data)); - data++; - iy+=8; - } - ix--; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - x -= u8g->font_calc_vref(u8g); - return u8g_draw_glyph90(u8g, x, y, encoding); -} - - -int8_t u8g_draw_glyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x -= u8g->glyph_x; - y += u8g->glyph_y; - y++; - - if ( u8g_IsBBXIntersection(u8g, x-(w-1), y, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - iy = y; - iy += h; - iy--; - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 2, u8g_pgm_read(data)); - data++; - ix-=8; - } - iy--; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y -= u8g->font_calc_vref(u8g); - return u8g_draw_glyph180(u8g, x, y, encoding); -} - - -int8_t u8g_draw_glyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x -= u8g->glyph_y; - x--; - y -= u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x-(h-1), y-(w-1), h, w) == 0 ) - return u8g->glyph_dx; - - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - ix = x; - ix -= h; - ix++; - - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 3, u8g_pgm_read(data)); - data++; - iy-=8; - } - ix++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - x += u8g->font_calc_vref(u8g); - return u8g_draw_glyph270(u8g, x, y, encoding); -} - - - -#ifdef OBSOLETE -/* - Draw a glyph - x,y: lower left corner of the font bounding box -*/ -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - /* TODO: apply "dir" */ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - return u8g_DrawGlyphDir(u8g, x, y, dir, encoding); -} -#endif - -/*========================================================================*/ -/* string drawing procedures */ - - -u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - //u8g_uint_t u8g_GetStrWidth(u8g, s); - //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font); - - y += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph(u8g, x, y, *s); - x += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph90(u8g, x, y, *s); - y += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - y -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph180(u8g, x, y, *s); - x -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph270(u8g, x, y, *s); - y -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) -{ - switch(dir) - { - case 0: - return u8g_DrawStr(u8g, x, y, s); - case 1: - return u8g_DrawStr90(u8g, x, y, s); - case 2: - return u8g_DrawStr180(u8g, x, y, s); - case 3: - return u8g_DrawStr270(u8g, x, y, s); - } - return 0; -} - -u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - uint8_t c; - - y += u8g->font_calc_vref(u8g); - - for(;;) - { - c = u8g_pgm_read(s); - if ( c == '\0' ) - break; - d = u8g_draw_glyph(u8g, x, y, c); - x += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph90(u8g, x, y, u8g_pgm_read(s)); - y += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - y -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph180(u8g, x, y, u8g_pgm_read(s)); - x -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph270(u8g, x, y, u8g_pgm_read(s)); - y -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) -{ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - return u8g_DrawStrDir(u8g, x, y, dir, s); -} - -/* still used by picgen.c, dir argument is ignored */ -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - u8g_draw_glyph(u8g, x, y, encoding); -} - - -/*========================================================================*/ -/* set ascent/descent for reference point calculation */ - -void u8g_UpdateRefHeight(u8g_t *u8g) -{ - uint16_t ls; - if ( u8g->font == NULL ) - return; - if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_TEXT ) - { - u8g->font_ref_ascent = u8g_font_GetCapitalAHeight(u8g->font); - u8g->font_ref_descent = u8g_font_GetLowerGDescent(u8g->font); - } - else if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_XTEXT ) - { - u8g->font_ref_ascent = u8g_font_GetFontXAscent(u8g->font); - u8g->font_ref_descent = u8g_font_GetFontXDescent(u8g->font); - } - else - { - u8g->font_ref_ascent = u8g_font_GetFontAscent(u8g->font); - u8g->font_ref_descent = u8g_font_GetFontDescent(u8g->font); - } - - ls = u8g->font_ref_ascent - u8g->font_ref_descent; - if ( u8g->font_line_spacing_factor != 64 ) - { - ls &= 255; - ls *= u8g->font_line_spacing_factor; - ls >>= 6; - } - u8g->line_spacing = ls; -} - -void u8g_SetFontRefHeightText(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_TEXT; - u8g_UpdateRefHeight(u8g); -} - -void u8g_SetFontRefHeightExtendedText(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; - u8g_UpdateRefHeight(u8g); -} - - -void u8g_SetFontRefHeightAll(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_ALL; - u8g_UpdateRefHeight(u8g); -} - -/* factor = 64: linespaceing == ascent and descent */ -void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor) -{ - u8g->font_line_spacing_factor = factor; - u8g_UpdateRefHeight(u8g); -} - - - -/*========================================================================*/ -/* callback procedures to correct the y position */ - -u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g) -{ - return 0; -} - -void u8g_SetFontPosBaseline(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_font; -} - - -u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g) -{ - /* y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); */ - return (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); -} - -void u8g_SetFontPosBottom(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_bottom; -} - -u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g) -{ - u8g_uint_t tmp; - /* reference pos is one pixel above the upper edge of the reference glyph */ - - /* - y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); - y++; - */ - tmp = (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); - tmp++; - return tmp; -} - -void u8g_SetFontPosTop(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_top; -} - -u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g) -{ - int8_t tmp; - tmp = u8g->font_ref_ascent; - tmp -= u8g->font_ref_descent; - tmp /= 2; - tmp += u8g->font_ref_descent; - /* y += (u8g_uint_t)(u8g_int_t)(tmp); */ - return tmp; -} - -void u8g_SetFontPosCenter(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_center; -} - -/*========================================================================*/ -/* string pixel width calculation */ - -char u8g_font_get_char(const void *s) -{ - return *(const char *)(s); -} - -char u8g_font_get_charP(const void *s) -{ - return u8g_pgm_read(s); -} - -typedef char (*u8g_font_get_char_fn)(const void *s); - - -u8g_uint_t u8g_font_calc_str_pixel_width(u8g_t *u8g, const char *s, u8g_font_get_char_fn get_char ) -{ - u8g_uint_t w; - uint8_t enc; - - /* reset the total minimal width to zero, this will be expanded during calculation */ - w = 0; - - enc = get_char(s); - - /* check for empty string, width is already 0 */ - if ( enc == '\0' ) - { - return w; - } - - /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ - /* if *s is not inside the font, then the cached parameters of the glyph are all zero */ - u8g_GetGlyph(u8g, enc); - - /* strlen(s) == 1: width = width(s[0]) */ - /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ - /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ - - /* assume that the string has size 2 or more, than start with negative offset-x */ - /* for string with size 1, this will be nullified after the loop */ - w = -u8g->glyph_x; - for(;;) - { - - /* check and stop if the end of the string is reached */ - s++; - if ( get_char(s) == '\0' ) - break; - - /* if there are still more characters, add the delta to the next glyph */ - w += u8g->glyph_dx; - - /* store the encoding in a local variable, used also after the for(;;) loop */ - enc = get_char(s); - - /* load the next glyph information */ - u8g_GetGlyph(u8g, enc); - } - - /* finally calculate the width of the last char */ - /* here is another exception, if the last char is a black, use the dx value instead */ - if ( enc != ' ' ) - { - /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ - w += u8g->glyph_width; - w += u8g->glyph_x; - } - else - { - w += u8g->glyph_dx; - } - - - return w; -} - -u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s) -{ - return u8g_font_calc_str_pixel_width(u8g, s, u8g_font_get_char); -} - -u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - return u8g_font_calc_str_pixel_width(u8g, (const char *)s, u8g_font_get_charP); -} - -int8_t u8g_GetStrX(u8g_t *u8g, const char *s) -{ - u8g_GetGlyph(u8g, *s); - return u8g->glyph_x; -} - -int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - u8g_GetGlyph(u8g, u8g_pgm_read(s)); - return u8g->glyph_x; -} - -/*========================================================================*/ -/* string width calculation */ - -u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) -{ - u8g_uint_t w; - uint8_t encoding; - - /* reset the total width to zero, this will be expanded during calculation */ - w = 0; - - for(;;) - { - encoding = *s; - if ( encoding == 0 ) - break; - - /* load glyph information */ - u8g_GetGlyph(u8g, encoding); - w += u8g->glyph_dx; - - /* goto next char */ - s++; - } - - return w; -} - - -u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t w; - uint8_t encoding; - - /* reset the total width to zero, this will be expanded during calculation */ - w = 0; - - for(;;) - { - encoding = u8g_pgm_read(s); - if ( encoding == 0 ) - break; - - /* load glyph information */ - u8g_GetGlyph(u8g, encoding); - w += u8g->glyph_dx; - - /* goto next char */ - s++; - } - - return w; -} - - -/*========================================================================*/ -/* calculation of font/glyph/string characteristics */ - - -/* - Description: - Calculate parameter for the minimal bounding box on a given string - Output - buf->y_min extend of the lower left edge if the string below (y_min<0) or above (y_min>0) baseline (descent) - buf->y_max extend of the upper left edge if the string below (y_min<0) or above (y_min>0) baseline (ascent) - buf->w the width of the string -*/ -struct u8g_str_size_struct -{ - int8_t y_min; /* descent */ - int8_t y_max; /* ascent */ - int8_t x, y; /* the reference point of the font (negated!) */ - u8g_uint_t w; /* width of the overall string */ -}; -typedef struct u8g_str_size_struct u8g_str_size_t; - -static void u8g_font_calc_str_min_box(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - /* u8g_glyph_t g; */ - int8_t tmp; - - /* reset the total minimal width to zero, this will be expanded during calculation */ - buf->w = 0; - - /* check for empty string, width is already 0, but also reset y_min and y_max to 0 */ - if ( *s == '\0' ) - { - buf->y_min = 0; - buf->y_max = 0; - buf->x = 0; - buf->y = 0; - return; - } - - /* reset y_min to the largest possible value. Later we search for the smallest value */ - /* y_min contains the position [pixel] of the lower left edge of the glyph above (y_min>0) or below (y_min<0) baseline */ - buf->y_min = 127; - /* reset y_max to the smallest possible value. Later we search for the highest value */ - /* y_max contains the position [pixel] of the upper left edge of the glyph above (y_max>0) or below (y_max<0) baseline */ - buf->y_max = -128; - - /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ - u8g_GetGlyph(u8g, *s); - - /* strlen(s) == 1: width = width(s[0]) */ - /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ - /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ - - /* assume that the string has size 2 or more, than start with negative offset-x */ - /* for string with size 1, this will be nullified after the loop */ - // buf->w = - u8g_font_GetGlyphBBXOffX(u8g->font, g); - buf->w = - u8g->glyph_x; - - /* Also copy the position of the first glyph. This is the reference point of the string (negated) */ - buf->x = u8g->glyph_x; - buf->y = u8g->glyph_y; - - for(;;) - { - - /* calculated y position of the upper left corner (y_max) and lower left corner (y_min) of the string */ - /* relative to the base line */ - - tmp = u8g->glyph_y; - if ( buf->y_min > tmp ) - buf->y_min = tmp; - - tmp +=u8g->glyph_height; - if ( buf->y_max < tmp ) - buf->y_max = tmp; - - /* check and stop if the end of the string is reached */ - s++; - if ( *s == '\0' ) - break; - - /* if there are still more characters, add the delta to the next glyph */ - buf->w += u8g->glyph_dx; - - /* load the next glyph information */ - u8g_GetGlyph(u8g, *s); - } - - /* finally calculate the width of the last char */ - /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ - buf->w += u8g->glyph_width; - // buf->w += u8g_font_GetGlyphBBXOffX(u8g->font, g); - - buf->w += u8g->glyph_x; -} - -/* calculate minimal box */ -void u8g_font_box_min(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - u8g_font_calc_str_min_box(u8g, s, buf); -} - -/* calculate gA box, but do not calculate the overall width */ -void u8g_font_box_left_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - -} - -/* calculate gA box, including overall width */ -void u8g_font_box_all_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - -} - - -static void u8g_font_get_str_box_fill_args(u8g_t *u8g, const char *s, u8g_str_size_t *buf, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - /* - u8g_glyph_t g; - g = - */ - u8g_GetGlyph(u8g, *s); - *x += u8g->glyph_x; - *width = buf->w; - *y -= buf->y_max; - /* +1 because y_max is a height, this compensates the next step */ - //*y += 1; - /* because the reference point is one below the string, this compensates the previous step */ - //*y -= 1; - *height = buf->y_max; - *height -= buf->y_min; -} - - -void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - u8g_str_size_t buf; - - if ( *s == '\0' ) - { - *width= 0; - *height = 0; - return; - } - - u8g_font_calc_str_min_box(u8g, s, &buf); - u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); -} - - -void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - u8g_str_size_t buf; - uint8_t cap_a; - - if ( *s == '\0' ) - { - *width= 0; - *height = 0; - return; - } - - cap_a = u8g_font_GetCapitalAHeight(u8g->font); - u8g_font_calc_str_min_box(u8g, s, &buf); - if ( buf.y_max < cap_a ) - buf.y_max = cap_a; - u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); -} - -void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font) -{ - if ( u8g->font != font ) - { - u8g->font = font; - u8g_UpdateRefHeight(u8g); - u8g_SetFontPosBaseline(u8g); - } -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c deleted file mode 100644 index dca21c5a3..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c +++ /dev/null @@ -1,84486 +0,0 @@ -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03b[826] U8G_SECTION(".progmem.u8g_font_04b_03b") = { - 1,5,6,0,255,5,0,250,1,240,32,255,255,5,255,5, - 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, - 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, - 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, - 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, - 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, - 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, - 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, - 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, - 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, - 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, - 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, - 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, - 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, - 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, - 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, - 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, - 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, - 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, - 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, - 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, - 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, - 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, - 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, - 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, - 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, - 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, - 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, - 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, - 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, - 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, - 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, - 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, - 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, - 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, - 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, - 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, - 64,192,5,66,82,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,2,0,64,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,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,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}; -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03bn[130] U8G_SECTION(".progmem.u8g_font_04b_03bn") = { - 1,5,6,0,255,5,0,0,0,0,42,57,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, - 64,128,2,69,85,240,144,144,144,240,2,37,53,192,64,64, - 64,64,2,69,85,240,16,240,128,240,2,69,85,240,16,240, - 16,240,2,69,85,144,144,144,240,16,2,69,85,240,128,240, - 16,240,2,69,85,224,128,240,144,240,2,69,85,240,16,32, - 64,64,2,69,85,240,144,240,144,240,2,69,85,240,144,240, - 16,112}; -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03br[696] U8G_SECTION(".progmem.u8g_font_04b_03br") = { - 1,5,6,0,255,5,0,250,1,240,32,127,255,5,255,5, - 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, - 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, - 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, - 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, - 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, - 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, - 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, - 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, - 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, - 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, - 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, - 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, - 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, - 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, - 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, - 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, - 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, - 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, - 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, - 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, - 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, - 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, - 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, - 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, - 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, - 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, - 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, - 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, - 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, - 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, - 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, - 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, - 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, - 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, - 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, - 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, - 64,192,5,66,82,80,160,255}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 5 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03[859] U8G_SECTION(".progmem.u8g_font_04b_03") = { - 1,5,7,0,254,5,0,251,1,242,32,255,254,5,254,5, - 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, - 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, - 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, - 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, - 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, - 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, - 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, - 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, - 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, - 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, - 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, - 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, - 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, - 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, - 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, - 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, - 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, - 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, - 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, - 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, - 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, - 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, - 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, - 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, - 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, - 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, - 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, - 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, - 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, - 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, - 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, - 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, - 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, - 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, - 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, - 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, - 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, - 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, - 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, - 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, - 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, - 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, - 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, - 32,64,192,5,66,82,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,2,0,64,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,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,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}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03n[130] U8G_SECTION(".progmem.u8g_font_04b_03n") = { - 1,5,7,0,254,5,0,0,0,0,42,57,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, - 64,128,2,69,85,96,144,144,144,96,2,37,53,192,64,64, - 64,64,2,69,85,224,16,96,128,240,2,69,85,224,16,96, - 16,224,2,69,85,32,96,160,240,32,2,69,85,240,128,224, - 16,224,2,69,85,96,128,224,144,96,2,69,85,240,16,32, - 64,64,2,69,85,96,144,96,144,96,2,69,85,96,144,112, - 16,96}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 5 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03r[729] U8G_SECTION(".progmem.u8g_font_04b_03r") = { - 1,5,7,0,254,5,0,251,1,242,32,127,254,5,254,5, - 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, - 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, - 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, - 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, - 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, - 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, - 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, - 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, - 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, - 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, - 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, - 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, - 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, - 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, - 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, - 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, - 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, - 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, - 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, - 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, - 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, - 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, - 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, - 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, - 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, - 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, - 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, - 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, - 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, - 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, - 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, - 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, - 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, - 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, - 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, - 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, - 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, - 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, - 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, - 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, - 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, - 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, - 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, - 32,64,192,5,66,82,80,160,255}; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24[912] U8G_SECTION(".progmem.u8g_font_04b_24") = { - 1,5,6,0,255,5,0,250,1,241,32,255,0,5,255,5, - 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, - 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, - 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, - 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, - 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, - 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, - 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, - 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, - 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, - 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, - 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, - 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, - 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, - 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, - 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, - 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, - 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, - 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, - 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, - 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, - 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, - 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, - 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, - 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, - 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, - 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, - 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, - 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, - 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, - 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, - 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, - 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, - 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, - 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, - 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, - 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, - 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, - 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, - 128,128,2,53,69,192,64,96,64,192,6,33,49,192,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,255, - 2,37,53,128,64,64,64,64,2,53,69,160,160,160,96,32, - 2,53,69,192,32,192,32,192,255,255,255,2,53,69,128,192, - 160,160,64,255,255,2,53,69,64,160,160,96,32,255,255,255, - 255,255,255,255,255,255,255,255,2,53,69,224,32,32,64,128, - 255,255,255,2,53,69,64,160,160,160,64,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,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,255,255,255 - }; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24n[130] U8G_SECTION(".progmem.u8g_font_04b_24n") = { - 1,5,6,0,255,5,0,0,0,0,42,57,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,53,69,32,32,64, - 128,128,2,53,69,224,160,160,160,224,2,37,53,192,64,64, - 64,64,2,53,69,224,32,224,128,224,2,53,69,224,32,224, - 32,224,2,53,69,160,160,160,224,32,2,53,69,224,128,224, - 32,224,2,53,69,128,224,160,160,224,2,53,69,224,32,32, - 64,128,2,53,69,224,160,224,160,224,2,53,69,224,160,160, - 224,32}; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24r[735] U8G_SECTION(".progmem.u8g_font_04b_24r") = { - 1,5,6,0,255,5,0,250,1,241,32,127,0,5,255,5, - 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, - 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, - 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, - 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, - 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, - 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, - 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, - 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, - 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, - 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, - 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, - 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, - 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, - 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, - 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, - 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, - 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, - 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, - 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, - 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, - 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, - 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, - 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, - 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, - 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, - 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, - 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, - 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, - 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, - 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, - 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, - 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, - 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, - 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, - 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, - 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, - 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, - 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, - 128,128,2,53,69,192,64,96,64,192,6,33,49,192,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 13 - Calculated Max Values w=10 h=20 x= 9 y=13 dx=10 dy= 0 ascent=16 len=40 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent =13 descent= 0 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[4734] U8G_SECTION(".progmem.u8g_font_10x20_67_75") = { - 0,10,20,0,252,5,2,211,5,193,32,255,0,16,252,13, - 0,9,6,12,10,0,3,54,0,27,0,255,128,255,128,27, - 0,54,0,8,13,13,10,1,0,24,24,24,24,153,219,126, - 60,153,219,126,60,24,9,8,16,10,0,2,25,128,51,0, - 102,0,252,0,252,0,102,0,51,0,25,128,9,8,16,10, - 0,2,204,0,102,0,51,0,31,128,31,128,51,0,102,0, - 204,0,9,8,16,10,0,2,25,128,49,128,97,128,255,128, - 255,128,97,128,49,128,25,128,8,13,13,10,1,0,24,60, - 126,219,153,24,24,24,24,24,24,255,255,9,8,16,10,0, - 2,204,0,198,0,195,0,255,128,255,128,195,0,198,0,204, - 0,8,13,13,10,1,0,255,255,24,24,24,24,24,24,153, - 219,126,60,24,8,13,13,10,1,0,24,60,126,219,153,24, - 153,219,126,60,24,255,255,9,8,16,10,0,2,27,0,51, - 128,97,128,255,128,255,0,96,0,48,0,24,0,9,8,16, - 10,0,2,108,0,230,0,195,0,255,128,127,128,3,0,6, - 0,12,0,9,8,16,10,0,2,25,0,51,128,98,128,255, - 128,255,0,98,0,50,0,24,0,9,8,16,10,0,2,76, - 0,230,0,163,0,255,128,127,128,35,0,38,0,12,0,10, - 8,16,10,0,2,18,0,51,0,109,128,255,192,243,192,97, - 128,51,0,18,0,10,8,16,10,0,2,18,0,55,0,101, - 128,255,192,255,192,105,128,59,0,18,0,10,15,30,10,0, - 0,1,192,3,128,7,0,14,0,28,0,63,192,127,192,3, - 128,7,0,206,0,220,0,248,0,240,0,252,0,252,0,8, - 13,13,10,1,0,48,96,255,255,99,51,3,3,3,3,3, - 3,3,8,13,13,10,1,0,12,6,255,255,198,204,192,192, - 192,192,192,192,192,8,13,13,10,1,0,3,3,3,3,3, - 3,3,51,99,255,255,96,48,8,13,13,10,1,0,192,192, - 192,192,192,192,192,204,198,255,255,6,12,8,13,13,10,1, - 0,252,252,12,12,12,12,12,12,12,45,63,30,12,8,9, - 9,10,1,1,3,3,3,51,99,255,255,96,48,9,8,16, - 10,0,0,14,0,31,0,59,128,49,128,181,128,253,128,121, - 128,49,128,9,8,16,10,0,0,56,0,124,0,238,0,198, - 0,214,128,223,128,207,0,198,0,9,13,26,10,0,0,255, - 128,255,128,32,0,124,0,127,0,122,0,216,0,204,0,140, - 0,6,0,6,0,3,0,3,0,9,13,26,10,0,0,204, - 0,216,0,255,128,255,128,216,0,204,0,0,0,25,128,13, - 128,255,128,255,128,13,128,25,128,9,10,20,10,0,2,31, - 0,31,0,30,0,31,0,219,128,193,128,193,128,227,128,127, - 0,62,0,9,10,20,10,0,2,124,0,124,0,60,0,124, - 0,237,128,193,128,193,128,227,128,127,0,62,0,9,5,10, - 10,0,5,24,0,48,0,96,0,255,128,255,128,9,5,10, - 10,0,2,255,128,255,128,96,0,48,0,24,0,5,13,13, - 10,4,0,192,224,240,216,200,192,192,192,192,192,192,192,192, - 5,13,13,10,1,0,24,56,120,216,152,24,24,24,24,24, - 24,24,24,9,5,10,10,0,5,12,0,6,0,3,0,255, - 128,255,128,9,5,10,10,0,2,255,128,255,128,3,0,6, - 0,12,0,5,13,13,10,4,0,192,192,192,192,192,192,192, - 192,200,216,240,224,192,5,13,13,10,1,0,24,24,24,24, - 24,24,24,24,152,216,120,56,24,9,11,22,10,0,1,6, - 0,3,0,255,128,255,128,3,0,54,0,96,0,255,128,255, - 128,96,0,48,0,10,13,26,10,0,0,51,0,123,0,255, - 0,183,0,51,0,51,0,51,0,51,0,51,0,59,64,63, - 192,55,128,51,0,9,11,22,10,0,1,48,0,96,0,255, - 128,255,128,96,0,54,0,3,0,255,128,255,128,3,0,6, - 0,9,11,22,10,0,1,48,0,96,0,255,128,255,128,96, - 0,48,0,96,0,255,128,255,128,96,0,48,0,9,13,26, - 10,0,0,34,0,119,0,170,128,34,0,34,0,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,9,11,22, - 10,0,1,6,0,3,0,255,128,255,128,3,0,6,0,3, - 0,255,128,255,128,3,0,6,0,9,13,26,10,0,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, - 0,34,0,170,128,119,0,34,0,8,9,9,10,1,2,48, - 96,255,255,0,255,255,6,12,8,9,9,10,1,2,12,6, - 255,255,0,255,255,96,48,8,7,7,10,1,2,2,34,127, - 132,127,40,8,10,7,14,10,0,2,4,0,37,0,127,128, - 140,64,127,128,41,0,8,0,8,7,7,10,1,2,16,20, - 254,33,254,68,64,9,9,18,10,0,2,12,0,24,0,63, - 128,127,128,192,0,127,128,63,128,24,0,12,0,9,13,26, - 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, - 0,54,0,54,0,54,0,54,0,54,0,54,0,9,9,18, - 10,0,2,24,0,12,0,254,0,255,0,1,128,255,0,254, - 0,12,0,24,0,9,13,26,10,0,0,54,0,54,0,54, - 0,54,0,54,0,54,0,54,0,182,128,247,128,119,0,54, - 0,28,0,8,0,10,9,18,10,0,2,18,0,51,0,127, - 128,255,192,128,192,255,192,127,128,51,0,18,0,9,13,26, - 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, - 0,182,128,247,128,119,0,54,0,28,0,8,0,9,9,18, - 10,0,2,254,0,254,0,204,0,198,0,227,0,241,128,216, - 128,12,0,6,0,9,9,18,10,0,2,63,128,63,128,25, - 128,49,128,99,128,199,128,141,128,24,0,48,0,9,9,18, - 10,0,2,48,0,24,0,141,128,199,128,99,128,49,128,25, - 128,63,128,63,128,9,9,18,10,0,2,6,0,12,0,216, - 128,241,128,227,0,198,0,204,0,254,0,254,0,9,11,22, - 10,0,1,4,0,8,0,16,0,63,128,64,0,255,128,64, - 0,63,128,16,0,8,0,4,0,9,11,22,10,0,1,16, - 0,8,0,4,0,254,0,1,0,255,128,1,0,254,0,4, - 0,8,0,16,0,9,5,10,10,0,3,32,0,66,0,245, - 128,72,0,32,0,9,5,10,10,0,3,2,0,33,0,215, - 128,9,0,2,0,8,13,13,10,1,0,24,60,126,219,153, - 24,126,126,24,126,126,24,24,8,13,13,10,1,0,24,24, - 126,126,24,126,126,24,153,219,126,60,24,9,8,16,10,0, - 2,24,0,48,0,96,0,237,128,237,128,96,0,48,0,24, - 0,8,13,13,10,1,0,24,60,126,219,129,24,24,0,24, - 24,0,24,24,9,8,16,10,0,2,12,0,6,0,3,0, - 219,128,219,128,3,0,6,0,12,0,8,13,13,10,1,0, - 24,24,0,24,24,0,24,24,129,219,126,60,24,9,8,16, - 10,0,2,198,0,204,0,216,0,255,128,255,128,216,0,204, - 0,198,0,9,8,16,10,0,2,49,128,25,128,13,128,255, - 128,255,128,13,128,25,128,49,128,9,8,16,10,0,2,24, - 0,40,0,79,128,128,128,128,128,79,128,40,0,24,0,8, - 13,13,10,1,0,24,36,66,129,231,36,36,36,36,36,36, - 36,60,9,8,16,10,0,2,12,0,10,0,249,0,128,128, - 128,128,249,0,10,0,12,0,8,13,13,10,1,0,60,36, - 36,36,36,36,36,36,231,129,66,36,24,8,13,13,10,1, - 0,24,36,66,129,231,36,36,60,0,60,36,36,60,8,13, - 13,10,1,0,24,36,66,129,231,36,36,36,36,36,231,129, - 255,8,13,13,10,1,0,24,36,126,129,231,36,36,36,36, - 36,231,129,255,9,14,28,10,0,0,8,0,28,0,42,0, - 73,0,136,128,235,128,42,0,42,0,42,0,42,0,42,0, - 235,128,136,128,255,128,8,13,13,10,1,0,24,36,90,231, - 66,231,36,36,36,36,36,36,60,8,13,13,10,1,0,24, - 36,90,231,66,231,36,36,36,36,231,129,255,9,8,16,10, - 0,2,236,0,170,0,185,0,128,128,128,128,185,0,170,0, - 236,0,8,8,8,10,1,2,255,128,188,168,184,164,130,129, - 8,8,8,10,1,2,129,65,37,29,21,61,1,255,8,13, - 13,10,1,0,24,36,66,231,36,36,36,36,36,231,66,36, - 24,9,6,12,10,0,3,38,0,83,0,255,128,255,128,83, - 0,38,0,10,13,26,10,0,0,51,0,55,128,63,192,59, - 64,51,0,51,0,51,0,51,0,51,0,183,0,255,0,123, - 0,51,0,9,16,32,10,0,254,6,0,3,0,255,128,255, - 128,3,0,6,0,3,0,255,128,255,128,3,0,6,0,3, - 0,255,128,255,128,3,0,6,0,9,8,16,10,0,2,22, - 0,54,0,102,0,255,128,255,128,102,0,54,0,22,0,9, - 8,16,10,0,2,52,0,54,0,51,0,255,128,255,128,51, - 0,54,0,52,0,10,6,12,10,0,3,45,0,109,128,255, - 192,255,192,109,128,45,0,9,6,12,10,0,3,42,0,106, - 0,255,128,255,128,106,0,42,0,9,6,12,10,0,3,42, - 0,43,0,255,128,255,128,43,0,42,0,9,6,12,10,0, - 3,85,0,213,128,255,128,255,128,213,128,85,0,9,8,16, - 10,0,2,16,0,48,0,112,0,223,128,223,128,112,0,48, - 0,16,0,9,8,16,10,0,2,4,0,6,0,7,0,253, - 128,253,128,7,0,6,0,4,0,10,8,16,10,0,2,18, - 0,51,0,115,128,222,192,222,192,115,128,51,0,18,0,10, - 10,20,10,0,6,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,10,3,6,10,0,252,255, - 192,255,192,255,192,10,5,10,10,0,252,255,192,255,192,255, - 192,255,192,255,192,10,8,16,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,10,10,20,10,0, - 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,10,12,24,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,10,15,30,10,0,252,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,10,17,34,10,0,252,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,10, - 20,40,10,0,252,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,9,20,40, - 10,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,7,20,20,10,0, - 252,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, - 254,254,254,254,254,6,20,20,10,0,252,252,252,252,252,252, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 20,20,10,0,252,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,4,20,20,10,0,252,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,3,20,20,10,0,252,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,1,20,20, - 10,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,5,20,20,10,5,252,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,10,19,38,10,0,253,85,64,0,0,170,128,0,0,85, - 64,0,0,170,128,0,0,85,64,0,0,170,128,0,0,85, - 64,0,0,170,128,0,0,85,64,0,0,170,128,10,20,40, - 10,0,252,85,64,170,128,85,64,170,128,85,64,170,128,85, - 64,170,128,85,64,170,128,85,64,170,128,85,64,170,128,85, - 64,170,128,85,64,170,128,85,64,170,128,10,20,40,10,0, - 252,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, - 192,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, - 192,85,64,255,192,170,128,255,192,10,3,6,10,0,13,255, - 192,255,192,255,192,1,20,20,10,9,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,5, - 10,10,10,0,252,248,248,248,248,248,248,248,248,248,248,5, - 10,10,10,5,252,248,248,248,248,248,248,248,248,248,248,5, - 10,10,10,0,6,248,248,248,248,248,248,248,248,248,248,10, - 20,40,10,0,252,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,10,20,40, - 10,0,252,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,10,20,40,10,0, - 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,10,20,40,10,0,252,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,5,10,10,10,5,6,248,248,248, - 248,248,248,248,248,248,248,10,20,40,10,0,252,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,10,20,40,10,0,252,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,8,8,8,10,1,1,255,255,255,255,255,255,255, - 255,8,8,8,10,1,1,255,129,129,129,129,129,129,255,8, - 8,8,10,1,1,126,129,129,129,129,129,129,126,8,8,8, - 10,1,1,255,129,189,189,189,189,129,255,9,9,18,10,0, - 0,255,128,128,128,255,128,128,128,255,128,128,128,255,128,128, - 128,255,128,9,9,18,10,0,0,255,128,170,128,170,128,170, - 128,170,128,170,128,170,128,170,128,255,128,9,9,18,10,0, - 0,255,128,170,128,255,128,170,128,255,128,170,128,255,128,170, - 128,255,128,8,8,8,10,1,1,255,201,165,147,201,165,147, - 255,8,8,8,10,1,1,255,147,165,201,147,165,201,255,8, - 8,8,10,1,1,255,171,197,171,145,171,197,255,4,4,4, - 10,3,3,240,240,240,240,4,4,4,10,3,3,240,144,144, - 240,8,6,6,10,1,3,255,255,255,255,255,255,8,6,6, - 10,1,3,255,129,129,129,129,255,6,13,13,10,2,0,252, - 252,252,252,252,252,252,252,252,252,252,252,252,6,13,13,10, - 2,0,252,132,132,132,132,132,132,132,132,132,132,132,252,8, - 4,4,10,1,3,31,62,124,248,8,4,4,10,1,3,31, - 34,68,248,8,8,8,10,1,2,24,24,60,60,126,126,255, - 255,8,8,8,10,1,2,24,24,36,36,66,66,129,255,5, - 5,5,10,3,3,32,112,112,248,248,5,5,5,10,3,3, - 32,80,80,136,248,8,8,8,10,1,2,192,240,252,255,255, - 252,240,192,8,8,8,10,1,2,192,176,140,131,131,140,176, - 192,5,5,5,10,3,3,192,240,248,240,192,5,5,5,10, - 3,3,192,176,136,176,192,8,5,5,10,1,4,224,252,255, - 252,224,8,5,5,10,1,4,224,156,131,156,224,8,8,8, - 10,1,2,255,255,126,126,60,60,24,24,8,8,8,10,1, - 2,255,129,66,66,36,36,24,24,5,5,5,10,3,3,248, - 248,112,112,32,5,5,5,10,3,3,248,136,80,80,32,8, - 8,8,10,1,2,3,15,63,255,255,63,15,3,8,8,8, - 10,1,2,3,13,49,193,193,49,13,3,5,5,5,10,3, - 3,24,120,248,120,24,5,5,5,10,3,3,24,104,136,104, - 24,8,5,5,10,1,4,7,63,255,63,7,8,5,5,10, - 1,4,7,57,193,57,7,8,8,8,10,1,2,24,60,126, - 255,255,126,60,24,8,8,8,10,1,2,24,36,66,129,129, - 66,36,24,8,8,8,10,1,2,24,36,90,189,189,90,36, - 24,8,8,8,10,1,1,60,66,153,189,189,153,66,60,9, - 15,30,10,1,255,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,65,0,65,0,34,0,34,0,20,0,20, - 0,8,0,8,8,8,10,1,1,60,66,129,129,129,129,66, - 60,7,7,7,10,1,2,40,0,130,0,130,0,40,7,7, - 7,10,1,2,56,108,170,170,170,108,56,8,8,8,10,1, - 1,60,66,153,165,165,153,66,60,8,8,8,10,1,1,60, - 126,255,255,255,255,126,60,8,8,8,10,1,1,60,114,241, - 241,241,241,114,60,8,8,8,10,1,1,60,78,143,143,143, - 143,78,60,8,8,8,10,1,1,60,66,129,129,255,255,126, - 60,8,8,8,10,1,1,60,126,255,255,129,129,66,60,8, - 8,8,10,1,1,60,78,143,143,129,129,66,60,8,8,8, - 10,1,1,60,78,143,143,255,255,126,60,4,8,8,10,1, - 1,48,112,240,240,240,240,112,48,4,8,8,10,5,1,192, - 224,240,240,240,240,224,192,10,20,40,10,0,252,255,192,255, - 192,255,192,255,192,255,192,255,192,225,192,192,192,128,64,128, - 64,128,64,128,64,192,192,225,192,255,192,255,192,255,192,255, - 192,255,192,255,192,10,20,40,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,225,192,222,192,191,64,191,64,191, - 64,191,64,222,192,225,192,255,192,255,192,255,192,255,192,255, - 192,255,192,10,10,20,10,0,6,255,192,255,192,255,192,255, - 192,255,192,255,192,225,192,222,192,191,64,191,64,10,10,20, - 10,0,252,191,64,191,64,222,192,225,192,255,192,255,192,255, - 192,255,192,255,192,255,192,4,4,4,10,1,5,48,64,128, - 128,4,4,4,10,5,5,192,32,16,16,4,4,4,10,5, - 1,16,16,32,192,4,4,4,10,1,1,128,128,64,48,8, - 4,4,10,1,5,60,66,129,129,8,4,4,10,1,1,129, - 129,66,60,10,19,38,10,0,252,0,64,0,64,0,192,0, - 192,1,192,1,192,3,192,3,192,7,192,7,192,15,192,15, - 192,31,192,31,192,63,192,63,192,127,192,127,192,255,192,10, - 19,38,10,0,252,128,0,128,0,192,0,192,0,224,0,224, - 0,240,0,240,0,248,0,248,0,252,0,252,0,254,0,254, - 0,255,0,255,0,255,128,255,128,255,192,10,19,38,10,0, - 253,255,192,255,128,255,128,255,0,255,0,254,0,254,0,252, - 0,252,0,248,0,248,0,240,0,240,0,224,0,224,0,192, - 0,192,0,128,0,128,0,10,19,38,10,0,253,255,192,127, - 192,127,192,63,192,63,192,31,192,31,192,15,192,15,192,7, - 192,7,192,3,192,3,192,1,192,1,192,0,192,0,192,0, - 64,0,64,5,5,5,10,3,4,112,136,136,136,112,8,8, - 8,10,1,1,255,241,241,241,241,241,241,255,8,8,8,10, - 1,1,255,143,143,143,143,143,143,255,8,8,8,10,1,1, - 255,253,249,241,225,193,129,255,8,8,8,10,1,1,255,129, - 131,135,143,159,191,255,9,9,18,10,0,0,255,128,136,128, - 136,128,136,128,136,128,136,128,136,128,136,128,255,128,8,8, - 8,10,1,2,24,24,36,36,90,90,129,255,8,8,8,10, - 1,2,24,24,52,52,114,114,241,255,8,8,8,10,1,2, - 24,24,44,44,78,78,143,255,10,10,20,10,0,0,30,0, - 33,0,64,128,128,64,128,64,128,64,128,64,64,128,33,0, - 30,0,9,9,18,10,0,0,255,128,136,128,136,128,136,128, - 248,128,128,128,128,128,128,128,255,128,9,9,18,10,0,0, - 255,128,128,128,128,128,128,128,248,128,136,128,136,128,136,128, - 255,128,9,9,18,10,0,0,255,128,128,128,128,128,128,128, - 143,128,136,128,136,128,136,128,255,128,9,9,18,10,0,0, - 255,128,136,128,136,128,136,128,143,128,128,128,128,128,128,128, - 255,128,9,9,18,10,0,0,62,0,73,0,136,128,136,128, - 248,128,128,128,128,128,65,0,62,0,9,9,18,10,0,0, - 62,0,65,0,128,128,128,128,248,128,136,128,136,128,73,0, - 62,0,9,9,18,10,0,0,62,0,65,0,128,128,128,128, - 143,128,136,128,136,128,73,0,62,0,9,9,18,10,0,0, - 62,0,73,0,136,128,136,128,143,128,128,128,128,128,65,0, - 62,0,6,6,6,10,2,2,252,136,144,160,192,128,6,6, - 6,10,2,2,252,68,36,20,12,4,6,6,6,10,2,2, - 128,192,160,144,136,252,6,6,6,10,2,2,252,132,132,132, - 132,252,6,6,6,10,2,2,252,252,252,252,252,252,4,4, - 4,10,3,3,240,144,144,240,4,4,4,10,3,3,240,240, - 240,240,6,6,6,10,2,2,4,12,20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 8, '1' Height: 4 - Calculated Max Values w= 9 h=15 x= 3 y= 4 dx=10 dy= 0 ascent=14 len=30 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =14 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_75r[693] U8G_SECTION(".progmem.u8g_font_10x20_75r") = { - 0,10,20,0,252,8,1,219,0,0,32,79,0,14,255,9, - 0,8,8,8,10,1,1,255,255,255,255,255,255,255,255,8, - 8,8,10,1,1,255,129,129,129,129,129,129,255,8,8,8, - 10,1,1,126,129,129,129,129,129,129,126,8,8,8,10,1, - 1,255,129,189,189,189,189,129,255,9,9,18,10,0,0,255, - 128,128,128,255,128,128,128,255,128,128,128,255,128,128,128,255, - 128,9,9,18,10,0,0,255,128,170,128,170,128,170,128,170, - 128,170,128,170,128,170,128,255,128,9,9,18,10,0,0,255, - 128,170,128,255,128,170,128,255,128,170,128,255,128,170,128,255, - 128,8,8,8,10,1,1,255,201,165,147,201,165,147,255,8, - 8,8,10,1,1,255,147,165,201,147,165,201,255,8,8,8, - 10,1,1,255,171,197,171,145,171,197,255,4,4,4,10,3, - 3,240,240,240,240,4,4,4,10,3,3,240,144,144,240,8, - 6,6,10,1,3,255,255,255,255,255,255,8,6,6,10,1, - 3,255,129,129,129,129,255,6,13,13,10,2,0,252,252,252, - 252,252,252,252,252,252,252,252,252,252,6,13,13,10,2,0, - 252,132,132,132,132,132,132,132,132,132,132,132,252,8,4,4, - 10,1,3,31,62,124,248,8,4,4,10,1,3,31,34,68, - 248,8,8,8,10,1,2,24,24,60,60,126,126,255,255,8, - 8,8,10,1,2,24,24,36,36,66,66,129,255,5,5,5, - 10,3,3,32,112,112,248,248,5,5,5,10,3,3,32,80, - 80,136,248,8,8,8,10,1,2,192,240,252,255,255,252,240, - 192,8,8,8,10,1,2,192,176,140,131,131,140,176,192,5, - 5,5,10,3,3,192,240,248,240,192,5,5,5,10,3,3, - 192,176,136,176,192,8,5,5,10,1,4,224,252,255,252,224, - 8,5,5,10,1,4,224,156,131,156,224,8,8,8,10,1, - 2,255,255,126,126,60,60,24,24,8,8,8,10,1,2,255, - 129,66,66,36,36,24,24,5,5,5,10,3,3,248,248,112, - 112,32,5,5,5,10,3,3,248,136,80,80,32,8,8,8, - 10,1,2,3,15,63,255,255,63,15,3,8,8,8,10,1, - 2,3,13,49,193,193,49,13,3,5,5,5,10,3,3,24, - 120,248,120,24,5,5,5,10,3,3,24,104,136,104,24,8, - 5,5,10,1,4,7,63,255,63,7,8,5,5,10,1,4, - 7,57,193,57,7,8,8,8,10,1,2,24,60,126,255,255, - 126,60,24,8,8,8,10,1,2,24,36,66,129,129,66,36, - 24,8,8,8,10,1,2,24,36,90,189,189,90,36,24,8, - 8,8,10,1,1,60,66,153,189,189,153,66,60,9,15,30, - 10,1,255,8,0,20,0,20,0,34,0,34,0,65,0,65, - 0,128,128,65,0,65,0,34,0,34,0,20,0,20,0,8, - 0,8,8,8,10,1,1,60,66,129,129,129,129,66,60,7, - 7,7,10,1,2,40,0,130,0,130,0,40,7,7,7,10, - 1,2,56,108,170,170,170,108,56,8,8,8,10,1,1,60, - 66,153,165,165,153,66,60,8,8,8,10,1,1,60,126,255, - 255,255,255,126,60}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w=10 h=13 x= 4 y= 5 dx=10 dy= 0 ascent=13 len=24 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =13 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[2638] U8G_SECTION(".progmem.u8g_font_10x20_78_79") = { - 0,10,20,0,252,9,1,212,2,205,32,255,0,13,0,11, - 0,9,9,18,10,0,0,54,0,28,0,136,128,201,128,119, - 0,201,128,136,128,28,0,54,0,9,9,18,10,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,10,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,10,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,10,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,10,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,10,0,0,8,0,28,0,28,0,127,0,255, - 128,127,0,28,0,28,0,8,0,9,9,18,10,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,10,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,10,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,10,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,127,0,119,0,99,0,255,255,255,255, - 255,8,9,9,10,0,0,24,219,255,126,24,126,255,219,24, - 8,9,9,10,0,0,24,219,255,102,36,102,255,219,24,9, - 9,18,10,0,0,8,0,73,0,42,0,28,0,255,128,28, - 0,42,0,73,0,8,0,9,9,18,10,0,0,8,0,73, - 0,62,0,62,0,255,128,62,0,62,0,73,0,8,0,7, - 7,7,10,1,0,16,146,124,56,124,146,16,9,9,18,10, - 0,0,34,0,20,0,148,128,127,0,28,0,127,0,148,128, - 20,0,34,0,255,255,255,255,9,11,22,10,0,0,28,0, - 28,0,201,128,201,128,62,0,28,0,62,0,201,128,201,128, - 28,0,28,0,9,11,22,10,0,0,28,0,28,0,201,128, - 201,128,62,0,28,0,62,0,201,128,201,128,28,0,28,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 9,8,16,10,0,1,62,0,67,0,129,128,129,128,129,128, - 129,128,67,0,62,0,255,9,9,18,10,0,0,254,0,130, - 0,131,128,131,128,131,128,131,128,255,128,63,128,63,128,9, - 9,18,10,0,0,63,128,63,128,255,128,131,128,131,128,131, - 128,131,128,130,0,254,0,8,8,8,10,0,0,254,131,131, - 131,131,131,255,127,8,8,8,10,0,0,127,255,131,131,131, - 131,131,254,255,255,255,9,9,18,10,0,0,8,0,28,0, - 28,0,107,0,247,128,107,0,28,0,28,0,8,0,255,1, - 10,10,10,4,0,128,128,128,128,128,128,128,128,128,128,2, - 10,10,10,3,0,192,192,192,192,192,192,192,192,192,192,3, - 10,10,10,3,0,224,224,224,224,224,224,224,224,224,224,4, - 6,6,10,3,5,112,128,224,240,240,96,4,6,6,10,3, - 5,96,240,240,112,16,224,9,6,12,10,0,5,115,128,132, - 0,231,0,247,128,247,128,99,0,9,6,12,10,0,5,99, - 0,247,128,247,128,115,128,16,128,231,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,9,9,18,10,0,0,127,0,247,128,231,128,247,128, - 247,128,247,128,247,128,227,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,253,128,251,128,247,128,237,128,193,128, - 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, - 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, - 127,0,243,128,235,128,219,128,193,128,251,128,251,128,241,128, - 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, - 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, - 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, - 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, - 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, - 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, - 127,0,9,9,18,10,0,0,127,0,128,128,136,128,152,128, - 136,128,136,128,156,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,152,128,132,128,132,128,136,128,156,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,152,128,132,128, - 136,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,136,128,152,128,168,128,188,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,156,128,144,128, - 152,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,140,128,144,128,152,128,148,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,156,128,132,128, - 136,128,136,128,136,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,136,128,148,128,136,128,148,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,136,128,148,128, - 140,128,132,128,136,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,164,128,170,128,170,128,170,128,164,128,128,128, - 127,0,9,9,18,10,0,0,127,0,247,128,231,128,247,128, - 247,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,253,128,251,128,247,128,239,128,193,128, - 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, - 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, - 127,0,243,128,235,128,219,128,193,128,251,128,251,128,251,128, - 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, - 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, - 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, - 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, - 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, - 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, - 127,0,7,8,8,10,1,1,48,24,12,254,254,12,24,48, - 255,255,255,7,5,5,10,1,1,224,250,62,14,30,8,7, - 7,10,1,1,8,12,230,255,230,12,8,7,5,5,10,1, - 1,30,14,62,250,224,9,7,14,10,0,0,48,0,28,0, - 31,0,255,128,31,0,28,0,48,0,9,9,18,10,0,0, - 28,0,30,0,15,0,255,128,255,128,255,128,15,0,30,0, - 28,0,9,5,10,10,0,1,2,0,3,0,255,128,3,0, - 2,0,9,7,14,10,0,0,4,0,6,0,255,0,255,128, - 255,0,6,0,4,0,9,5,10,10,0,1,2,0,183,0, - 183,128,183,0,2,0,9,5,10,10,0,1,2,0,171,0, - 171,128,171,0,2,0,9,5,10,10,0,1,2,0,255,0, - 255,128,255,0,2,0,9,8,16,10,0,1,128,0,112,0, - 78,0,33,128,31,128,62,0,112,0,128,0,9,8,16,10, - 0,1,128,0,112,0,62,0,31,128,33,128,78,0,112,0, - 128,0,9,8,16,10,0,1,128,0,112,0,62,0,31,128, - 31,128,62,0,112,0,128,0,9,7,14,10,0,0,132,0, - 134,0,255,0,255,128,127,0,6,0,4,0,9,7,14,10, - 0,0,4,0,6,0,127,0,255,128,255,0,134,0,132,0, - 6,9,9,10,2,0,16,16,248,248,252,248,248,16,16,8, - 9,9,10,0,1,4,4,254,254,255,254,254,4,4,9,9, - 18,10,0,0,24,0,28,0,22,0,243,0,129,128,243,0, - 22,0,28,0,24,0,9,9,18,10,0,0,24,0,28,0, - 26,0,249,0,192,128,249,0,26,0,28,0,24,0,9,9, - 18,10,0,0,0,128,1,128,62,128,64,128,129,128,243,0, - 238,0,60,0,56,0,9,9,18,10,0,0,56,0,60,0, - 238,0,243,0,129,128,64,128,62,128,1,128,0,128,8,9, - 9,10,0,1,16,24,20,242,129,243,118,28,24,8,9,9, - 10,0,1,24,28,118,243,129,242,20,24,16,9,8,16,10, - 0,1,4,0,250,0,129,0,64,128,129,128,251,0,6,0, - 4,0,255,9,8,16,10,0,2,4,0,6,0,251,0,129, - 128,64,128,129,0,250,0,4,0,9,9,18,10,0,1,28, - 0,127,0,251,128,1,128,0,128,1,128,251,128,127,0,28, - 0,9,5,10,10,0,3,210,0,43,0,127,128,43,0,210, - 0,9,9,18,10,0,0,16,0,56,0,92,0,236,0,116, - 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, - 0,123,0,7,128,123,0,242,0,9,9,18,10,0,0,3, - 128,1,128,2,128,60,0,116,0,236,0,92,0,56,0,16, - 0,9,9,18,10,0,0,16,0,24,0,28,0,252,0,124, - 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, - 0,123,0,127,128,123,0,242,0,9,9,18,10,0,0,3, - 128,1,128,2,128,60,0,124,0,252,0,28,0,24,0,16, - 0,255,255,255,255,9,7,14,10,0,1,20,0,10,0,253, - 0,0,128,253,0,10,0,20,0,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,9, - 12,24,10,0,0,224,128,49,128,49,128,42,128,42,128,36, - 128,36,128,42,128,42,128,49,128,49,128,224,128,9,12,24, - 10,0,0,131,128,198,0,198,0,170,0,170,0,146,0,146, - 0,170,0,170,0,198,0,198,0,131,128,9,12,24,10,0, - 0,193,128,99,0,99,0,85,0,85,0,73,0,73,0,85, - 0,85,0,99,0,99,0,193,128,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,8,13,13,10,1,0,255,216,216, - 216,216,216,216,216,216,216,216,216,255,8,13,13,10,1,0, - 255,27,27,27,27,27,27,27,27,27,27,27,255,4,13,13, - 10,4,0,16,48,32,96,64,192,128,192,64,96,32,48,16, - 4,13,13,10,4,0,128,192,64,96,32,48,16,48,32,96, - 64,192,128,7,13,13,10,1,0,18,54,36,108,72,216,144, - 216,72,108,36,54,18,7,13,13,10,2,0,144,216,72,108, - 36,54,18,54,36,108,72,216,144,255,255,255,255,255,255,255, - 255,255,10,8,16,10,0,2,24,0,48,0,96,0,255,192, - 255,192,96,0,48,0,24,0,10,8,16,10,0,2,6,0, - 3,0,1,128,255,192,255,192,1,128,3,0,6,0,10,8, - 16,10,0,2,18,0,51,0,97,128,255,192,255,192,97,128, - 51,0,18,0,10,9,18,10,0,2,12,0,24,0,63,192, - 127,192,192,0,127,192,63,192,24,0,12,0,10,9,18,10, - 0,2,12,0,6,0,255,0,255,128,0,192,255,128,255,0, - 6,0,12,0,10,9,18,10,0,2,18,0,51,0,127,128, - 255,192,128,192,255,192,127,128,51,0,18,0,10,8,16,10, - 0,2,24,192,48,192,96,192,255,192,255,192,96,192,48,192, - 24,192,10,8,16,10,0,2,198,0,195,0,193,128,255,192, - 255,192,193,128,195,0,198,0,10,9,18,10,0,2,12,64, - 24,64,63,192,127,192,192,64,127,192,63,192,24,64,12,64, - 10,9,18,10,0,2,140,0,134,0,255,0,255,128,128,192, - 255,128,255,0,134,0,140,0,10,8,16,10,0,2,6,0, - 3,0,171,128,170,192,85,192,85,128,3,0,6,0}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w= 9 h=17 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20[3453] U8G_SECTION(".progmem.u8g_font_10x20") = { - 0,10,20,0,252,13,2,74,4,153,32,255,252,16,252,13, - 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, - 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, - 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, - 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, - 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, - 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, - 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, - 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, - 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, - 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, - 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, - 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, - 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, - 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, - 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, - 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, - 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, - 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, - 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, - 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, - 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, - 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, - 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, - 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, - 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, - 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, - 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, - 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, - 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, - 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, - 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, - 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, - 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, - 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, - 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, - 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, - 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, - 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, - 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, - 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, - 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, - 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, - 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, - 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, - 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, - 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, - 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, - 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, - 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, - 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, - 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, - 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, - 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, - 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, - 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, - 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, - 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, - 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, - 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, - 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, - 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, - 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, - 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, - 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, - 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, - 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, - 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, - 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, - 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, - 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, - 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, - 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, - 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, - 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, - 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, - 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, - 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, - 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, - 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, - 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, - 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, - 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, - 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, - 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, - 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, - 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, - 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, - 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, - 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, - 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, - 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, - 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, - 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, - 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, - 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, - 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, - 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, - 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, - 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, - 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, - 219,206,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,10,0,16,2,13,13,10,4,0,192, - 192,0,192,192,192,192,192,192,192,192,192,192,7,12,12,10, - 1,0,24,24,60,102,194,192,192,194,102,60,24,24,9,12, - 24,10,1,0,30,0,51,0,51,0,48,0,48,0,252,0, - 48,0,48,0,48,0,248,0,173,128,231,0,9,9,18,10, - 0,1,128,128,221,128,127,0,99,0,99,0,99,0,127,0, - 221,128,128,128,8,11,11,10,1,0,129,195,102,60,126,24, - 126,24,24,24,24,2,13,13,10,4,0,192,192,192,192,192, - 0,0,0,192,192,192,192,192,8,13,13,10,1,0,60,102, - 198,96,120,204,102,51,30,6,99,102,60,6,2,2,10,2, - 11,204,204,8,11,11,10,1,0,60,102,195,189,165,161,165, - 189,195,102,60,8,9,9,10,1,4,62,67,3,127,195,195, - 125,0,255,9,11,22,10,0,0,4,128,13,128,27,0,54, - 0,108,0,216,0,108,0,54,0,27,0,13,128,4,128,8, - 4,4,10,1,4,255,255,3,3,6,1,1,10,2,6,252, - 8,11,11,10,1,0,60,102,195,189,165,189,169,173,195,102, - 60,8,1,1,10,1,13,255,6,6,6,10,2,7,48,120, - 204,204,120,48,8,7,7,10,1,2,24,24,255,24,24,0, - 255,5,7,7,10,2,6,112,216,24,48,96,192,248,5,7, - 7,10,2,6,112,216,24,48,24,216,112,4,3,3,10,3, - 10,48,96,192,7,10,10,10,1,253,198,198,198,198,198,238, - 250,192,192,192,8,13,13,10,1,0,127,255,251,251,251,123, - 27,27,27,27,27,27,27,3,3,3,10,4,5,224,224,224, - 5,4,4,10,2,252,48,24,216,112,4,7,7,10,2,6, - 96,224,96,96,96,96,240,7,9,9,10,1,4,56,108,198, - 198,198,108,56,0,254,9,11,22,10,1,0,144,0,216,0, - 108,0,54,0,27,0,13,128,27,0,54,0,108,0,216,0, - 144,0,8,12,12,10,1,1,64,192,65,66,228,8,18,38, - 74,158,2,2,8,12,12,10,1,1,64,192,65,66,228,8, - 22,41,65,130,4,15,8,12,12,10,1,1,224,16,97,18, - 228,8,18,38,74,159,2,2,8,13,13,10,1,0,24,24, - 0,24,24,24,48,96,195,195,195,102,60,8,15,15,10,1, - 0,96,48,24,0,24,60,102,195,195,195,255,195,195,195,195, - 8,15,15,10,1,0,6,12,24,0,24,60,102,195,195,195, - 255,195,195,195,195,8,15,15,10,1,0,24,60,102,0,24, - 60,102,195,195,195,255,195,195,195,195,8,15,15,10,1,0, - 50,126,76,0,24,60,102,195,195,195,255,195,195,195,195,8, - 15,15,10,1,0,102,102,0,24,60,102,102,195,195,195,255, - 195,195,195,195,8,16,16,10,1,0,60,102,102,60,0,24, - 60,102,195,195,195,255,195,195,195,195,8,13,13,10,1,0, - 31,60,108,108,204,204,255,204,204,204,204,204,207,8,17,17, - 10,1,252,60,102,195,192,192,192,192,192,192,192,195,102,60, - 24,12,108,56,8,15,15,10,1,0,96,48,24,0,255,192, - 192,192,192,252,192,192,192,192,255,8,15,15,10,1,0,12, - 24,48,0,255,192,192,192,192,252,192,192,192,192,255,8,15, - 15,10,1,0,24,60,102,0,255,192,192,192,192,252,192,192, - 192,192,255,8,15,15,10,1,0,102,102,0,0,255,192,192, - 192,192,252,192,192,192,192,255,6,15,15,10,2,0,96,48, - 24,0,252,48,48,48,48,48,48,48,48,48,252,6,15,15, - 10,2,0,24,48,96,0,252,48,48,48,48,48,48,48,48, - 48,252,6,15,15,10,2,0,48,120,204,0,252,48,48,48, - 48,48,48,48,48,48,252,6,15,15,10,2,0,204,204,0, - 252,48,48,48,48,48,48,48,48,48,48,252,9,13,26,10, - 0,0,126,0,99,0,97,128,97,128,97,128,97,128,249,128, - 97,128,97,128,97,128,97,128,99,0,126,0,8,15,15,10, - 1,0,50,126,76,0,195,227,243,243,219,219,207,207,199,195, - 195,8,15,15,10,1,0,48,24,12,0,60,102,195,195,195, - 195,195,195,195,102,60,8,15,15,10,1,0,12,24,48,0, - 60,102,195,195,195,195,195,195,195,102,60,8,15,15,10,1, - 0,24,60,102,0,60,102,195,195,195,195,195,195,195,102,60, - 8,15,15,10,1,0,50,126,76,0,60,102,195,195,195,195, - 195,195,195,102,60,8,15,15,10,1,0,102,102,0,60,102, - 195,195,195,195,195,195,195,195,102,60,7,8,8,10,1,0, - 130,198,108,56,56,108,198,130,8,15,15,10,1,255,1,62, - 102,199,199,203,203,203,211,211,211,227,102,124,128,8,15,15, - 10,1,0,48,24,12,0,195,195,195,195,195,195,195,195,195, - 102,60,8,15,15,10,1,0,12,24,48,0,195,195,195,195, - 195,195,195,195,195,102,60,8,15,15,10,1,0,24,60,102, - 0,195,195,195,195,195,195,195,195,195,102,60,8,15,15,10, - 1,0,102,102,0,195,195,195,195,195,195,195,195,195,195,102, - 60,8,15,15,10,1,0,12,24,48,0,195,195,102,102,60, - 60,24,24,24,24,24,7,13,13,10,2,0,192,192,192,252, - 198,198,198,198,198,252,192,192,192,8,13,13,10,1,0,28, - 54,99,99,102,236,108,102,99,99,99,102,108,8,12,12,10, - 1,0,48,24,12,0,126,195,3,127,195,195,195,125,8,12, - 12,10,1,0,12,24,48,0,126,195,3,127,195,195,195,125, - 8,12,12,10,1,0,24,60,102,0,126,195,3,127,195,195, - 195,125,8,12,12,10,1,0,50,126,76,0,126,195,3,127, - 195,195,195,125,8,11,11,10,1,0,102,102,0,126,195,3, - 127,195,195,195,125,8,13,13,10,1,0,60,102,102,60,0, - 126,195,3,127,195,195,195,125,8,8,8,10,1,0,118,155, - 27,30,120,216,217,110,8,12,12,10,1,252,62,99,192,192, - 192,192,99,62,24,12,108,56,8,12,12,10,1,0,96,48, - 24,0,60,102,195,255,192,192,99,62,8,12,12,10,1,0, - 6,12,24,0,60,102,195,255,192,192,99,62,8,12,12,10, - 1,0,24,60,102,0,60,102,195,255,192,192,99,62,8,11, - 11,10,1,0,102,102,0,60,102,195,255,192,192,99,62,8, - 12,12,10,1,0,96,48,24,0,120,24,24,24,24,24,24, - 255,8,12,12,10,1,0,12,24,48,0,120,24,24,24,24, - 24,24,255,8,12,12,10,1,0,24,60,102,0,120,24,24, - 24,24,24,24,255,8,11,11,10,1,0,102,102,0,120,24, - 24,24,24,24,24,255,8,13,13,10,1,0,136,216,112,112, - 216,140,62,103,195,195,195,102,60,8,12,12,10,1,0,50, - 126,76,0,220,230,195,195,195,195,195,195,8,12,12,10,1, - 0,96,48,24,0,60,102,195,195,195,195,102,60,8,12,12, - 10,1,0,6,12,24,0,60,102,195,195,195,195,102,60,8, - 12,12,10,1,0,24,60,102,0,60,102,195,195,195,195,102, - 60,8,12,12,10,1,0,50,126,76,0,60,102,195,195,195, - 195,102,60,8,11,11,10,1,0,102,102,0,60,102,195,195, - 195,195,102,60,8,10,10,10,1,1,24,24,0,0,255,255, - 0,0,24,24,8,10,10,10,1,255,1,62,102,203,203,211, - 211,102,124,128,8,12,12,10,1,0,48,24,12,0,195,195, - 195,195,195,195,103,59,8,12,12,10,1,0,6,12,24,0, - 195,195,195,195,195,195,103,59,8,12,12,10,1,0,24,60, - 102,0,195,195,195,195,195,195,103,59,8,11,11,10,1,0, - 102,102,0,195,195,195,195,195,195,103,59,8,16,16,10,1, - 252,12,24,48,0,195,195,195,195,195,195,103,59,3,195,102, - 60,7,17,17,10,2,252,192,192,192,192,192,192,248,204,198, - 198,198,204,248,192,192,192,192,8,15,15,10,1,252,102,102, - 0,195,195,195,195,195,195,103,59,3,195,102,60}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w= 9 h=15 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20r[1667] U8G_SECTION(".progmem.u8g_font_10x20r") = { - 0,10,20,0,252,13,2,74,4,153,32,127,252,16,252,13, - 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, - 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, - 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, - 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, - 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, - 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, - 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, - 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, - 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, - 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, - 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, - 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, - 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, - 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, - 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, - 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, - 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, - 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, - 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, - 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, - 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, - 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, - 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, - 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, - 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, - 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, - 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, - 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, - 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, - 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, - 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, - 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, - 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, - 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, - 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, - 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, - 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, - 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, - 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, - 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, - 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, - 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, - 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, - 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, - 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, - 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, - 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, - 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, - 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, - 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, - 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, - 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, - 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, - 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, - 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, - 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, - 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, - 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, - 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, - 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, - 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, - 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, - 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, - 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, - 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, - 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, - 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, - 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, - 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, - 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, - 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, - 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, - 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, - 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, - 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, - 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, - 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, - 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, - 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, - 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, - 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, - 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, - 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, - 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, - 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, - 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, - 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, - 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, - 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, - 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, - 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, - 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, - 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, - 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, - 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, - 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, - 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, - 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, - 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, - 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, - 219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 4 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_4x6[1500] U8G_SECTION(".progmem.u8g_font_4x6") = { - 1,4,6,0,255,5,1,3,1,250,32,255,255,5,255,5, - 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, - 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, - 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, - 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, - 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, - 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, - 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, - 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, - 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, - 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, - 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, - 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, - 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, - 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, - 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, - 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, - 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, - 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, - 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, - 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, - 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, - 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, - 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, - 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, - 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, - 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, - 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, - 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, - 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, - 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, - 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, - 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, - 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, - 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, - 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, - 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, - 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, - 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, - 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, - 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, - 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, - 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, - 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, - 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, - 54,70,128,64,96,64,64,128,5,66,66,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,7,0, - 64,18,21,69,128,0,128,128,128,2,53,69,64,224,128,224, - 64,2,53,69,32,64,96,64,160,2,68,68,144,96,96,144, - 2,53,69,160,64,224,64,64,18,21,69,128,128,0,128,128, - 1,54,70,96,192,160,96,32,192,6,49,65,160,1,70,70, - 96,144,208,208,144,96,2,53,69,96,160,96,0,224,3,67, - 67,80,160,80,3,50,66,224,32,4,49,65,224,3,68,68, - 96,240,208,96,6,49,65,224,4,51,67,64,160,64,2,53, - 69,64,224,64,0,224,3,36,68,192,64,128,192,2,37,69, - 192,64,128,64,128,21,34,66,64,128,1,53,69,160,160,160, - 192,128,2,69,69,112,208,208,80,80,20,17,65,128,18,34, - 66,64,128,3,36,68,64,192,64,64,2,53,69,64,160,64, - 0,224,3,67,67,160,80,160,1,70,70,128,128,128,80,112, - 16,1,70,70,128,128,176,16,32,48,1,70,70,192,64,128, - 80,176,16,2,53,69,64,0,64,128,96,2,53,69,128,64, - 160,224,160,2,53,69,32,64,160,224,160,2,53,69,192,64, - 160,224,160,2,53,69,96,192,160,224,160,2,53,69,160,64, - 160,224,160,2,53,69,64,64,160,224,160,2,69,69,112,160, - 240,160,176,1,54,70,64,160,128,160,64,128,2,53,69,128, - 224,192,128,224,2,53,69,32,224,192,128,224,2,53,69,96, - 224,192,128,224,2,53,69,160,224,192,128,224,2,53,69,128, - 224,64,64,224,2,53,69,32,224,64,64,224,2,53,69,64, - 224,64,64,224,2,53,69,160,64,64,64,224,2,69,69,224, - 80,208,80,224,2,69,69,80,160,224,224,160,2,53,69,128, - 64,160,160,64,2,53,69,32,64,160,160,64,2,53,69,64, - 64,160,160,64,2,69,69,112,224,160,160,64,2,53,69,160, - 64,160,160,64,3,51,67,160,64,160,2,53,69,96,160,224, - 160,192,2,53,69,128,64,160,160,224,2,53,69,32,64,160, - 160,224,2,53,69,64,0,160,160,224,2,53,69,160,0,160, - 160,224,2,53,69,32,0,160,64,64,2,53,69,128,192,160, - 192,128,1,54,70,64,160,192,160,224,128,2,53,69,128,64, - 96,160,96,2,53,69,32,64,96,160,96,2,53,69,96,0, - 96,160,96,2,69,69,80,160,96,160,96,2,53,69,160,0, - 96,160,96,2,53,69,64,0,96,160,96,2,68,68,112,176, - 160,112,1,53,69,64,160,128,96,64,2,53,69,128,64,160, - 192,96,2,53,69,32,64,160,192,96,2,53,69,192,64,160, - 192,96,2,53,69,160,64,160,192,96,2,53,69,128,64,64, - 64,224,2,53,69,32,192,64,64,224,2,53,69,64,160,64, - 64,224,2,53,69,160,0,192,64,224,2,53,69,160,64,96, - 160,64,2,69,69,80,160,192,160,160,2,53,69,128,64,64, - 160,64,2,53,69,32,64,64,160,64,2,53,69,64,0,64, - 160,64,2,53,69,224,0,64,160,64,2,53,69,160,0,64, - 160,64,2,53,69,64,0,224,0,64,2,52,68,96,160,160, - 192,2,53,69,128,64,160,160,96,2,53,69,32,64,160,160, - 96,2,53,69,64,0,160,160,96,2,53,69,160,0,160,160, - 96,1,54,70,32,64,160,224,32,192,1,54,70,128,128,192, - 160,192,128,1,54,70,160,0,160,224,32,192}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 4 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_4x6r[734] U8G_SECTION(".progmem.u8g_font_4x6r") = { - 1,4,6,0,255,5,1,3,1,250,32,127,255,5,255,5, - 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, - 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, - 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, - 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, - 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, - 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, - 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, - 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, - 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, - 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, - 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, - 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, - 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, - 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, - 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, - 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, - 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, - 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, - 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, - 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, - 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, - 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, - 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, - 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, - 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, - 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, - 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, - 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, - 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, - 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, - 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, - 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, - 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, - 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, - 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, - 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, - 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, - 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, - 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, - 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, - 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, - 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, - 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, - 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, - 54,70,128,64,96,64,64,128,5,66,66,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x7[1624] U8G_SECTION(".progmem.u8g_font_5x7") = { - 1,5,7,0,255,6,1,21,2,39,32,255,255,6,255,6, - 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, - 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, - 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, - 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, - 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, - 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, - 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, - 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, - 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, - 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, - 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, - 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, - 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, - 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, - 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, - 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, - 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, - 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, - 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, - 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, - 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, - 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, - 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, - 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, - 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, - 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, - 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, - 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, - 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, - 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, - 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, - 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, - 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, - 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, - 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, - 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, - 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, - 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, - 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, - 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, - 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, - 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, - 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, - 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, - 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, - 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, - 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, - 66,82,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,8,0,80,34,22,86,128,0,128,128,128, - 128,1,70,86,32,112,160,160,112,32,2,69,85,48,64,224, - 64,176,2,85,85,136,112,80,112,136,18,54,86,160,160,64, - 224,64,64,34,21,85,128,128,0,128,128,17,55,87,96,128, - 192,160,96,32,192,23,49,81,160,1,87,87,112,136,168,200, - 168,136,112,5,51,83,96,160,96,3,83,83,72,144,72,3, - 66,82,240,16,20,49,81,224,1,87,87,112,136,232,200,200, - 136,112,7,65,81,240,21,51,83,64,160,64,2,86,86,32, - 32,248,32,32,248,20,36,84,192,64,128,192,20,36,84,192, - 192,64,192,22,34,82,64,128,1,69,85,144,144,144,224,128, - 2,70,86,112,208,208,80,80,80,20,34,82,192,192,17,34, - 82,64,128,20,52,84,64,192,64,224,5,51,83,64,160,64, - 3,83,83,144,72,144,1,71,87,128,128,128,144,48,112,16, - 1,71,87,128,128,128,176,16,32,48,1,71,87,192,192,64, - 208,48,112,16,18,54,86,64,0,64,128,160,64,2,70,86, - 96,144,144,240,144,144,2,70,86,96,144,144,240,144,144,2, - 70,86,96,144,144,240,144,144,2,70,86,96,144,144,240,144, - 144,2,70,86,144,96,144,240,144,144,2,70,86,96,96,144, - 240,144,144,2,70,86,112,160,176,224,160,176,1,71,87,96, - 144,128,128,144,96,64,2,70,86,240,128,224,128,128,240,2, - 70,86,240,128,224,128,128,240,2,70,86,240,128,224,128,128, - 240,2,70,86,240,128,224,128,128,240,18,54,86,224,64,64, - 64,64,224,18,54,86,224,64,64,64,64,224,18,54,86,224, - 64,64,64,64,224,18,54,86,224,64,64,64,64,224,2,70, - 86,224,80,208,80,80,224,2,70,86,176,144,208,176,176,144, - 2,70,86,96,144,144,144,144,96,2,70,86,96,144,144,144, - 144,96,2,70,86,96,144,144,144,144,96,2,70,86,96,144, - 144,144,144,96,2,70,86,144,96,144,144,144,96,2,68,84, - 144,96,96,144,2,70,86,112,176,176,208,208,224,2,70,86, - 144,144,144,144,144,96,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,144,96,2,70,86,144,0,144,144,144, - 96,18,54,86,160,160,160,64,64,64,2,70,86,128,224,144, - 224,128,128,2,70,86,96,144,160,144,144,160,2,70,86,64, - 32,112,144,176,80,2,70,86,32,64,112,144,176,80,2,70, - 86,32,80,112,144,176,80,2,70,86,80,160,112,144,176,80, - 2,70,86,80,0,112,144,176,80,2,70,86,96,96,112,144, - 176,80,2,68,84,112,176,160,112,17,53,85,96,128,128,96, - 64,2,70,86,64,32,96,176,192,96,2,70,86,32,64,96, - 176,192,96,2,70,86,64,160,96,176,192,96,2,70,86,160, - 0,96,176,192,96,18,54,86,128,64,192,64,64,224,18,54, - 86,64,128,192,64,64,224,18,54,86,64,160,192,64,64,224, - 18,54,86,160,0,192,64,64,224,2,70,86,64,48,96,144, - 144,96,2,70,86,80,160,224,144,144,144,2,70,86,64,32, - 96,144,144,96,2,70,86,32,64,96,144,144,96,2,70,86, - 96,0,96,144,144,96,2,70,86,80,160,96,144,144,96,2, - 70,86,80,0,96,144,144,96,2,69,85,96,0,240,0,96, - 2,68,84,112,176,208,224,2,70,86,64,32,144,144,144,112, - 2,70,86,32,64,144,144,144,112,2,70,86,96,0,144,144, - 144,112,2,70,86,80,0,144,144,144,112,1,71,87,32,64, - 144,144,80,32,64,1,70,86,128,224,144,144,224,128,1,71, - 87,80,0,144,144,80,32,64}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x7r[789] U8G_SECTION(".progmem.u8g_font_5x7r") = { - 1,5,7,0,255,6,1,21,2,39,32,127,255,6,255,6, - 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, - 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, - 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, - 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, - 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, - 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, - 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, - 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, - 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, - 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, - 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, - 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, - 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, - 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, - 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, - 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, - 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, - 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, - 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, - 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, - 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, - 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, - 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, - 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, - 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, - 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, - 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, - 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, - 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, - 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, - 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, - 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, - 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, - 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, - 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, - 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, - 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, - 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, - 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, - 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, - 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, - 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, - 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, - 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, - 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, - 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, - 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, - 66,82,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 - Font Bounding box w= 5 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x8[1693] U8G_SECTION(".progmem.u8g_font_5x8") = { - 1,5,8,0,255,6,1,33,2,53,32,255,255,7,255,6, - 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, - 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, - 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, - 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, - 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, - 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, - 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, - 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, - 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, - 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, - 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, - 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, - 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, - 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, - 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, - 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, - 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, - 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, - 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, - 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, - 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, - 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, - 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, - 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, - 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, - 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, - 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, - 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, - 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, - 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, - 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, - 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, - 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, - 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, - 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, - 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, - 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, - 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, - 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, - 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, - 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, - 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, - 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, - 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, - 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, - 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, - 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, - 66,82,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,9,0,80,34,22,86,128,0,128,128,128, - 128,1,70,86,32,112,160,160,112,32,2,70,86,32,80,224, - 64,80,160,2,85,85,136,112,80,112,136,2,86,86,136,80, - 248,32,248,32,34,23,87,128,128,128,0,128,128,128,2,71, - 87,112,128,224,144,112,16,224,23,49,81,160,2,86,86,112, - 168,200,200,168,112,20,53,85,96,160,96,0,224,3,67,83, - 80,160,80,18,51,83,224,32,32,20,49,81,224,2,86,86, - 112,232,216,232,216,112,23,49,81,224,21,51,83,64,160,64, - 18,53,85,64,224,64,0,224,20,53,85,64,160,32,64,224, - 20,53,85,192,32,192,32,192,22,34,82,64,128,1,69,85, - 144,144,144,224,128,2,86,86,120,232,232,104,40,40,36,17, - 81,128,17,34,82,64,128,20,53,85,64,192,64,64,224,20, - 53,85,64,160,64,0,224,3,67,83,160,80,160,2,71,87, - 128,128,128,160,96,240,32,2,71,87,128,128,160,208,16,32, - 112,2,71,87,128,64,128,96,160,240,32,18,54,86,64,0, - 64,128,160,64,2,71,87,64,32,96,144,240,144,144,2,71, - 87,32,64,96,144,240,144,144,2,71,87,96,144,96,144,240, - 144,144,2,71,87,80,160,96,144,240,144,144,2,71,87,144, - 0,96,144,240,144,144,2,71,87,96,144,96,144,240,144,144, - 2,70,86,112,160,160,240,160,176,1,71,87,96,144,128,128, - 144,96,64,2,71,87,64,32,240,128,224,128,240,2,71,87, - 32,64,240,128,224,128,240,2,71,87,96,144,240,128,224,128, - 240,2,71,87,144,0,240,128,224,128,240,18,55,87,128,64, - 224,64,64,64,224,18,55,87,32,64,224,64,64,64,224,18, - 55,87,64,160,224,64,64,64,224,18,55,87,160,0,224,64, - 64,64,224,2,86,86,112,72,232,72,72,112,2,71,87,80, - 160,144,208,176,144,144,2,71,87,64,32,96,144,144,144,96, - 2,71,87,32,64,96,144,144,144,96,2,71,87,96,144,96, - 144,144,144,96,2,71,87,80,160,96,144,144,144,96,2,71, - 87,144,0,96,144,144,144,96,18,51,83,160,64,160,2,70, - 86,112,176,176,208,208,224,2,71,87,64,32,144,144,144,144, - 96,2,71,87,32,64,144,144,144,144,96,2,71,87,96,144, - 144,144,144,144,96,2,71,87,144,0,144,144,144,144,96,2, - 87,87,16,32,136,80,32,32,32,2,70,86,128,224,144,144, - 224,128,2,70,86,96,144,160,160,144,160,2,71,87,64,32, - 0,112,144,144,112,2,71,87,32,64,0,112,144,144,112,2, - 71,87,32,80,0,112,144,144,112,2,71,87,80,160,0,112, - 144,144,112,2,70,86,80,0,112,144,144,112,2,71,87,96, - 144,96,112,144,144,112,2,84,84,240,104,176,120,17,53,85, - 96,128,128,96,64,2,71,87,64,32,0,96,176,192,96,2, - 71,87,32,64,0,96,176,192,96,2,71,87,96,144,0,96, - 176,192,96,2,70,86,80,0,96,176,192,96,18,55,87,128, - 64,0,192,64,64,224,18,55,87,32,64,0,192,64,64,224, - 18,55,87,64,160,0,192,64,64,224,18,54,86,160,0,192, - 64,64,224,2,71,87,160,64,160,16,112,144,96,2,71,87, - 80,160,0,224,144,144,144,2,71,87,64,32,0,96,144,144, - 96,2,71,87,32,64,0,96,144,144,96,2,71,87,96,144, - 0,96,144,144,96,2,71,87,80,160,0,96,144,144,96,2, - 70,86,144,0,96,144,144,96,18,53,85,64,0,224,0,64, - 2,68,84,112,176,208,224,2,71,87,64,32,0,144,144,144, - 112,2,71,87,32,64,0,144,144,144,112,2,71,87,96,144, - 0,144,144,144,112,2,70,86,144,0,144,144,144,112,1,72, - 88,32,64,0,144,144,112,144,96,1,71,87,128,128,224,144, - 224,128,128,1,71,87,144,0,144,144,112,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 - Font Bounding box w= 5 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x8r[805] U8G_SECTION(".progmem.u8g_font_5x8r") = { - 1,5,8,0,255,6,1,33,2,53,32,127,255,7,255,6, - 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, - 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, - 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, - 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, - 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, - 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, - 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, - 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, - 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, - 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, - 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, - 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, - 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, - 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, - 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, - 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, - 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, - 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, - 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, - 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, - 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, - 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, - 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, - 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, - 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, - 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, - 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, - 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, - 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, - 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, - 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, - 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, - 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, - 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, - 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, - 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, - 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, - 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, - 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, - 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, - 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, - 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, - 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, - 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, - 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, - 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, - 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, - 66,82,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 6 h=10 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 "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x10[1866] U8G_SECTION(".progmem.u8g_font_6x10") = { - 1,6,10,0,254,7,1,54,2,104,32,255,254,8,254,7, - 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, - 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, - 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, - 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, - 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, - 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, - 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, - 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, - 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, - 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, - 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, - 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, - 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, - 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, - 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, - 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, - 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, - 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, - 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, - 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, - 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, - 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, - 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, - 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, - 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, - 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, - 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, - 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, - 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, - 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, - 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, - 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, - 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, - 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, - 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, - 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, - 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, - 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, - 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, - 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, - 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, - 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, - 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, - 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, - 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, - 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, - 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, - 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, - 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, - 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, - 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, - 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, - 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, - 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, - 32,192,6,83,99,72,168,144,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,10,0,96,34,23,103,128, - 0,128,128,128,128,128,1,87,103,32,120,160,160,160,120,32, - 2,87,103,48,72,64,224,64,72,176,2,85,101,136,112,80, - 112,136,1,88,104,136,136,80,32,248,32,32,32,34,23,103, - 128,128,128,0,128,128,128,1,88,104,112,128,224,144,72,56, - 8,112,25,49,97,160,2,87,103,112,136,168,200,168,136,112, - 19,70,102,112,144,176,80,0,240,2,101,101,36,72,144,72, - 36,20,66,98,240,16,21,65,97,240,2,87,103,112,136,232, - 200,200,136,112,9,81,97,248,22,51,99,64,160,64,2,86, - 102,32,32,248,32,32,248,21,69,101,96,144,32,64,240,21, - 69,101,224,16,96,16,224,40,34,98,64,128,1,86,102,136, - 136,136,200,176,128,2,87,103,120,232,232,104,40,40,40,37, - 17,97,128,32,34,98,64,128,21,53,101,64,192,64,64,224, - 19,70,102,96,144,144,96,0,240,2,101,101,144,72,36,72, - 144,1,105,105,64,192,64,64,228,12,20,60,4,1,105,105, - 64,192,64,64,232,20,4,8,28,1,89,105,192,32,64,32, - 200,24,40,120,8,2,87,103,32,0,32,32,64,136,112,2, - 88,104,64,32,112,136,136,248,136,136,2,88,104,16,32,112, - 136,136,248,136,136,2,88,104,32,80,112,136,136,248,136,136, - 2,88,104,72,176,112,136,136,248,136,136,2,88,104,80,0, - 112,136,136,248,136,136,2,88,104,32,80,112,136,136,248,136, - 136,2,103,103,60,80,144,156,240,144,156,0,89,105,112,136, - 128,128,128,136,112,32,64,2,88,104,64,248,128,128,240,128, - 128,248,2,88,104,16,248,128,128,240,128,128,248,2,88,104, - 32,248,128,128,240,128,128,248,2,88,104,80,248,128,128,240, - 128,128,248,18,56,104,128,64,224,64,64,64,64,224,18,56, - 104,32,64,224,64,64,64,64,224,18,56,104,64,160,224,64, - 64,64,64,224,18,56,104,160,0,224,64,64,64,64,224,2, - 87,103,240,72,72,232,72,72,240,2,88,104,40,80,136,200, - 168,152,136,136,2,88,104,64,32,112,136,136,136,136,112,2, - 88,104,16,32,112,136,136,136,136,112,2,88,104,32,80,112, - 136,136,136,136,112,2,88,104,40,80,112,136,136,136,136,112, - 2,88,104,80,0,112,136,136,136,136,112,2,85,101,136,80, - 32,80,136,2,87,103,112,152,152,168,200,200,112,2,88,104, - 64,32,136,136,136,136,136,112,2,88,104,16,32,136,136,136, - 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,88, - 104,80,0,136,136,136,136,136,112,2,88,104,16,32,136,136, - 80,32,32,32,2,87,103,128,240,136,240,128,128,128,2,87, - 103,112,136,144,160,144,136,176,2,88,104,64,32,0,112,8, - 120,136,120,2,88,104,16,32,0,112,8,120,136,120,2,88, - 104,32,80,0,112,8,120,136,120,2,88,104,40,80,0,112, - 8,120,136,120,2,87,103,80,0,112,8,120,136,120,2,88, - 104,32,80,32,112,8,120,136,120,2,101,101,120,20,124,144, - 124,0,87,103,112,136,128,136,112,32,64,2,88,104,64,32, - 0,112,136,248,128,112,2,88,104,16,32,0,112,136,248,128, - 112,2,88,104,32,80,0,112,136,248,128,112,2,87,103,80, - 0,112,136,248,128,112,18,56,104,128,64,0,192,64,64,64, - 224,18,56,104,64,128,0,192,64,64,64,224,18,56,104,64, - 160,0,192,64,64,64,224,18,55,103,160,0,192,64,64,64, - 224,2,87,103,192,48,112,136,136,136,112,2,88,104,40,80, - 0,176,200,136,136,136,2,88,104,64,32,0,112,136,136,136, - 112,2,88,104,16,32,0,112,136,136,136,112,2,88,104,32, - 80,0,112,136,136,136,112,2,88,104,40,80,0,112,136,136, - 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, - 0,248,0,32,2,85,101,120,152,168,200,240,2,88,104,64, - 32,0,136,136,136,152,104,2,88,104,16,32,0,136,136,136, - 152,104,2,88,104,32,80,0,136,136,136,152,104,2,87,103, - 80,0,136,136,136,152,104,0,89,105,16,32,136,136,152,104, - 8,136,112,0,88,104,128,240,136,136,136,240,128,128,0,89, - 105,80,0,136,136,152,104,8,136,112}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 5 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 6 h=10 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 "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x10r[889] U8G_SECTION(".progmem.u8g_font_6x10r") = { - 1,6,10,0,254,7,1,54,2,104,32,127,254,8,254,7, - 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, - 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, - 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, - 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, - 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, - 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, - 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, - 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, - 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, - 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, - 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, - 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, - 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, - 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, - 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, - 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, - 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, - 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, - 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, - 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, - 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, - 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, - 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, - 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, - 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, - 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, - 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, - 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, - 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, - 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, - 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, - 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, - 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, - 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, - 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, - 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, - 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, - 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, - 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, - 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, - 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, - 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, - 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, - 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, - 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, - 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, - 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, - 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, - 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, - 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, - 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, - 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, - 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, - 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, - 32,192,6,83,99,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 3, '1' Height: 8 - Calculated Max Values w= 6 h=12 x= 5 y= 8 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[2382] U8G_SECTION(".progmem.u8g_font_6x12_67_75") = { - 1,6,12,0,254,3,2,41,3,99,0,255,0,10,254,8, - 0,2,87,103,168,0,136,0,136,0,168,2,87,103,240,136, - 232,168,232,136,240,2,87,103,112,168,248,168,248,168,112,2, - 87,103,112,136,8,8,8,136,112,18,69,101,96,144,16,144, - 96,1,88,104,112,136,128,128,136,120,8,8,2,87,103,32, - 32,32,32,168,112,32,2,103,103,248,252,252,156,252,252,248, - 2,87,103,112,248,248,168,248,248,112,255,255,255,255,255,255, - 255,3,85,101,32,64,248,64,32,2,87,103,32,112,168,32, - 32,32,32,3,85,101,32,16,248,16,32,2,87,103,32,32, - 32,32,168,112,32,4,83,99,80,248,80,2,87,103,32,112, - 168,32,168,112,32,2,89,105,192,240,224,160,32,16,16,8, - 8,2,89,105,24,120,56,40,32,64,64,128,128,2,89,105, - 128,128,64,64,32,40,56,120,24,2,89,105,8,8,16,16, - 32,160,224,240,192,3,101,101,40,72,252,80,48,3,101,101, - 48,40,252,72,80,4,99,99,192,216,100,4,99,99,12,108, - 152,3,101,101,40,80,252,80,40,2,88,104,32,112,168,112, - 168,32,32,32,3,101,101,80,40,252,40,80,2,88,104,32, - 32,32,168,112,168,112,32,3,101,101,36,72,240,72,36,3, - 101,101,144,72,60,72,144,3,85,101,40,72,248,72,40,2, - 87,103,32,112,168,32,32,32,248,3,85,101,160,144,248,144, - 160,2,87,103,248,32,32,32,168,112,32,2,87,103,32,112, - 168,32,168,112,248,3,101,101,40,68,248,64,32,3,101,101, - 80,136,124,8,16,3,101,101,32,76,252,72,40,3,101,101, - 16,200,252,72,80,3,100,100,72,220,236,72,3,101,101,8, - 88,252,104,64,2,87,103,128,144,176,208,144,56,16,2,88, - 104,32,64,248,72,40,8,8,8,2,88,104,32,16,248,144, - 160,128,128,128,2,88,104,8,8,8,40,72,248,64,32,2, - 87,103,128,128,160,144,248,16,32,3,84,100,240,16,56,16, - 3,85,101,8,8,72,248,64,3,85,101,48,72,72,232,72, - 3,85,101,96,144,144,184,16,2,88,104,248,128,224,192,160, - 32,16,16,2,89,105,160,192,248,192,168,24,248,24,40,2, - 86,102,56,48,168,136,136,112,2,86,102,224,96,168,136,136, - 112,5,83,99,32,64,248,3,83,99,248,64,32,34,56,104, - 128,192,160,128,128,128,128,128,2,56,104,32,96,160,32,32, - 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, - 56,104,128,128,128,128,128,160,192,128,2,56,104,32,32,32, - 32,32,160,96,32,2,89,105,32,16,248,16,32,64,248,64, - 32,2,88,104,80,240,80,80,80,80,120,80,2,89,105,32, - 64,248,64,32,16,248,16,32,2,89,105,32,64,248,64,32, - 64,248,64,32,2,88,104,80,248,80,80,80,80,80,80,2, - 89,105,32,16,248,16,32,16,248,16,32,2,88,104,80,80, - 80,80,80,80,248,80,2,87,103,32,64,248,0,248,16,32, - 2,87,103,32,16,248,0,248,64,32,2,103,103,20,40,124, - 144,124,32,80,2,103,103,8,88,252,164,252,104,64,2,103, - 103,160,80,248,36,248,16,40,3,85,101,32,120,128,120,32, - 2,87,103,32,80,216,80,80,80,80,3,85,101,32,240,8, - 240,32,2,87,103,80,80,80,80,216,80,32,3,101,101,72, - 252,132,252,72,2,88,104,32,80,216,80,80,216,80,32,2, - 102,102,248,160,208,168,148,8,2,102,102,124,20,44,84,164, - 64,2,102,102,64,164,84,44,20,124,2,102,102,8,148,168, - 208,160,248,2,103,103,16,60,64,252,64,60,16,2,103,103, - 32,240,8,252,8,240,32,3,100,100,64,232,212,64,3,100, - 100,8,92,172,8,2,88,104,32,112,168,32,112,32,112,32, - 2,88,104,32,112,32,112,32,168,112,32,3,101,101,32,64, - 212,64,32,2,88,104,32,112,136,32,0,32,0,32,3,101, - 101,16,8,172,8,16,2,88,104,32,0,32,0,32,136,112, - 32,3,85,101,160,192,248,192,160,3,85,101,40,24,248,24, - 40,3,85,101,32,120,136,120,32,2,88,104,32,80,216,80, - 80,80,80,112,3,85,101,32,240,136,240,32,2,88,104,112, - 80,80,80,80,216,80,32,2,89,105,32,80,216,80,112,0, - 112,80,112,2,89,105,32,80,216,80,80,80,216,136,248,2, - 89,105,32,80,248,136,80,80,216,136,248,2,89,105,32,112, - 248,112,112,112,248,168,248,2,89,105,32,80,216,80,216,80, - 80,80,112,2,89,105,32,80,216,80,216,80,216,136,248,3, - 85,101,160,240,136,240,160,2,88,104,248,128,176,160,144,16, - 8,8,2,88,104,128,128,64,72,40,104,8,248,2,88,104, - 32,80,216,80,80,216,80,32,3,101,101,16,104,252,104,16, - 2,88,104,80,120,80,80,80,80,240,80,2,89,105,16,248, - 16,16,248,16,16,248,16,3,101,101,40,72,252,72,40,3, - 101,101,80,72,252,72,80,3,101,101,48,120,252,120,48,3, - 101,101,56,88,252,88,56,3,101,101,112,104,252,104,112,3, - 101,101,48,120,252,120,48,3,85,101,32,96,184,96,32,3, - 85,101,32,48,232,48,32,3,101,101,48,120,180,120,48,6, - 102,102,252,252,252,252,252,252,0,98,98,252,252,0,99,99, - 252,252,252,0,101,101,252,252,252,252,252,0,102,102,252,252, - 252,252,252,252,0,104,104,252,252,252,252,252,252,252,252,0, - 105,105,252,252,252,252,252,252,252,252,252,0,107,107,252,252, - 252,252,252,252,252,252,252,252,252,0,108,108,252,252,252,252, - 252,252,252,252,252,252,252,252,0,92,108,248,248,248,248,248, - 248,248,248,248,248,248,248,0,76,108,240,240,240,240,240,240, - 240,240,240,240,240,240,0,76,108,240,240,240,240,240,240,240, - 240,240,240,240,240,0,60,108,224,224,224,224,224,224,224,224, - 224,224,224,224,0,44,108,192,192,192,192,192,192,192,192,192, - 192,192,192,0,44,108,192,192,192,192,192,192,192,192,192,192, - 192,192,0,28,108,128,128,128,128,128,128,128,128,128,128,128, - 128,48,60,108,224,224,224,224,224,224,224,224,224,224,224,224, - 1,107,107,168,0,84,0,168,0,84,0,168,0,84,0,108, - 108,168,84,168,84,168,84,168,84,168,84,168,84,0,108,108, - 84,252,168,252,84,252,168,252,84,252,168,252,10,98,98,252, - 252,80,28,108,128,128,128,128,128,128,128,128,128,128,128,128, - 0,54,102,224,224,224,224,224,224,48,54,102,224,224,224,224, - 224,224,6,54,102,224,224,224,224,224,224,0,108,108,224,224, - 224,224,224,224,252,252,252,252,252,252,0,108,108,224,224,224, - 224,224,224,28,28,28,28,28,28,0,108,108,252,252,252,252, - 252,252,224,224,224,224,224,224,0,108,108,252,252,252,252,252, - 252,28,28,28,28,28,28,54,54,102,224,224,224,224,224,224, - 0,108,108,28,28,28,28,28,28,224,224,224,224,224,224,0, - 108,108,28,28,28,28,28,28,252,252,252,252,252,252,2,85, - 101,248,248,248,248,248,2,85,101,248,136,136,136,248,2,85, - 101,112,136,136,136,112,2,85,101,248,136,168,136,248,2,85, - 101,248,136,248,136,248,2,85,101,248,168,168,168,248,2,85, - 101,248,168,248,168,248,2,85,101,248,200,168,152,248,2,85, - 101,248,152,168,200,248,2,85,101,248,216,168,216,248,20,51, - 99,224,224,224,20,51,99,224,160,224,3,101,101,252,252,252, - 252,252,3,101,101,252,132,132,132,252,17,74,106,240,240,240, - 240,240,240,240,240,240,240,17,74,106,240,144,144,144,144,144, - 144,144,144,240,4,99,99,60,120,240,4,99,99,60,72,240, - 2,87,103,32,32,112,112,248,248,248,2,87,103,32,32,80, - 80,136,136,248,3,85,101,32,32,112,112,248,3,85,101,32, - 32,80,80,248,18,71,103,128,192,224,240,224,192,128,18,71, - 103,128,192,160,144,160,192,128,19,53,101,128,192,224,192,128, - 19,53,101,128,192,160,192,128,3,101,101,192,240,252,240,192, - 3,101,101,192,176,140,176,192,2,87,103,248,248,248,112,112, - 32,32,2,87,103,248,136,136,80,80,32,32,2,85,101,248, - 112,112,32,32,2,85,101,248,80,80,32,32,18,71,103,16, - 48,112,240,112,48,16,18,71,103,16,48,80,144,80,48,16, - 19,53,101,32,96,224,96,32,19,53,101,32,96,160,96,32, - 3,101,101,12,60,252,60,12,3,101,101,12,52,196,52,12, - 3,85,101,32,112,248,112,32,3,85,101,32,80,136,80,32, - 3,85,101,32,80,168,80,32,2,102,102,48,72,180,180,72, - 48,2,87,103,32,80,80,136,80,80,32,2,102,102,48,72, - 132,132,72,48,2,102,102,32,8,128,4,64,16,2,85,101, - 112,168,168,168,112,2,87,103,112,136,168,216,168,136,112,2, - 102,102,48,120,252,252,120,48,2,102,102,48,104,228,228,104, - 48,2,102,102,48,88,156,156,88,48,2,102,102,48,72,132, - 252,120,48,2,102,102,48,120,252,132,72,48,2,102,102,48, - 88,156,132,72,48,2,102,102,48,104,228,132,72,48,18,89, - 105,8,56,120,120,248,120,120,56,8,2,89,105,128,224,240, - 240,248,240,240,224,128,0,108,108,252,252,252,252,204,132,132, - 204,252,252,252,252,0,108,108,252,252,252,204,180,120,120,180, - 204,252,252,252,6,102,102,252,252,252,204,180,120,0,102,102, - 120,180,204,252,252,252,5,51,99,32,64,128,53,51,99,128, - 64,32,50,51,99,32,64,128,2,51,99,128,64,32,5,99, - 99,48,72,132,2,99,99,132,72,48,2,85,101,8,24,56, - 120,248,2,85,101,128,192,224,240,248,2,85,101,248,240,224, - 192,128,2,85,101,248,120,56,24,8,2,85,101,112,136,136, - 136,112,2,85,101,248,232,232,232,248,2,85,101,248,184,184, - 184,248,2,85,101,248,248,232,200,248,2,85,101,248,152,184, - 248,248,2,85,101,248,168,168,168,248,2,87,103,32,32,80, - 112,168,136,248,2,87,103,32,32,112,112,232,232,248,2,87, - 103,32,32,112,112,184,184,248,2,103,103,48,72,132,132,132, - 72,48,2,85,101,248,168,232,136,248,2,85,101,248,136,232, - 168,248,2,85,101,248,136,184,168,248,2,85,101,248,168,184, - 136,248,2,85,101,112,168,232,136,112,2,85,101,112,136,232, - 168,112,2,85,101,112,136,184,168,112,2,85,101,112,168,184, - 136,112,3,85,101,248,144,160,192,128,3,85,101,248,72,40, - 24,8,3,85,101,128,192,160,144,248,20,68,100,240,144,144, - 240,19,68,100,240,240,240,240,20,68,100,240,144,144,240,20, - 68,100,240,240,240,240,3,85,101,8,24,40,72,248}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 3 - Calculated Max Values w= 6 h=10 x= 1 y= 2 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_75r[427] U8G_SECTION(".progmem.u8g_font_6x12_75r") = { - 1,6,12,0,254,7,1,41,0,0,32,79,0,9,255,7, - 0,2,85,101,248,248,248,248,248,2,85,101,248,136,136,136, - 248,2,85,101,112,136,136,136,112,2,85,101,248,136,168,136, - 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, - 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, - 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, - 248,20,51,99,224,224,224,20,51,99,224,160,224,3,101,101, - 252,252,252,252,252,3,101,101,252,132,132,132,252,17,74,106, - 240,240,240,240,240,240,240,240,240,240,17,74,106,240,144,144, - 144,144,144,144,144,144,240,4,99,99,60,120,240,4,99,99, - 60,72,240,2,87,103,32,32,112,112,248,248,248,2,87,103, - 32,32,80,80,136,136,248,3,85,101,32,32,112,112,248,3, - 85,101,32,32,80,80,248,18,71,103,128,192,224,240,224,192, - 128,18,71,103,128,192,160,144,160,192,128,19,53,101,128,192, - 224,192,128,19,53,101,128,192,160,192,128,3,101,101,192,240, - 252,240,192,3,101,101,192,176,140,176,192,2,87,103,248,248, - 248,112,112,32,32,2,87,103,248,136,136,80,80,32,32,2, - 85,101,248,112,112,32,32,2,85,101,248,80,80,32,32,18, - 71,103,16,48,112,240,112,48,16,18,71,103,16,48,80,144, - 80,48,16,19,53,101,32,96,224,96,32,19,53,101,32,96, - 160,96,32,3,101,101,12,60,252,60,12,3,101,101,12,52, - 196,52,12,3,85,101,32,112,248,112,32,3,85,101,32,80, - 136,80,32,3,85,101,32,80,168,80,32,2,102,102,48,72, - 180,180,72,48,2,87,103,32,80,80,136,80,80,32,2,102, - 102,48,72,132,132,72,48,2,102,102,32,8,128,4,64,16, - 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, - 136,112,2,102,102,48,120,252,252,120,48}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 6 h=12 x= 2 y= 4 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[2316] U8G_SECTION(".progmem.u8g_font_6x12_78_79") = { - 1,6,12,0,254,6,2,80,3,53,0,255,0,10,254,9, - 0,2,87,103,168,0,136,0,136,0,168,3,101,101,144,252, - 32,64,96,3,101,101,196,200,48,200,196,3,101,101,96,64, - 32,252,144,2,103,103,204,148,232,48,232,148,204,255,1,105, - 105,120,132,180,180,164,180,180,132,120,1,105,105,120,132,180, - 132,180,132,204,132,120,3,101,101,32,176,252,176,32,2,101, - 101,252,204,180,132,252,255,255,18,72,104,144,144,80,112,240, - 240,240,112,3,102,102,4,56,124,124,64,128,2,102,102,64, - 224,80,40,20,12,3,99,99,248,140,248,2,102,102,12,20, - 40,80,224,64,3,100,100,248,132,132,248,4,99,99,248,244, - 248,2,87,103,8,8,16,16,160,224,64,2,103,103,12,12, - 28,216,248,112,48,2,85,101,136,80,32,80,136,3,85,101, - 216,248,32,248,216,2,86,102,136,80,32,80,136,128,1,103, - 103,204,204,120,112,252,204,192,1,103,103,120,204,164,244,164, - 204,120,2,102,102,48,48,252,252,48,48,3,85,101,32,32, - 216,32,32,2,102,102,48,48,204,204,48,48,2,87,103,32, - 32,248,32,32,32,32,1,90,106,112,80,216,136,216,80,80, - 80,80,112,2,105,105,120,220,188,220,88,88,88,120,120,2, - 87,103,112,32,168,248,168,32,112,2,87,103,32,248,80,80, - 80,248,32,3,85,101,32,32,248,32,32,3,102,102,48,48, - 252,252,48,48,2,104,104,48,120,48,252,252,48,120,48,2, - 87,103,32,112,168,248,168,112,32,3,85,101,32,112,248,112, - 32,3,85,101,32,112,216,112,32,255,3,85,101,32,216,80, - 32,80,2,87,103,112,216,136,216,168,248,112,3,86,102,32, - 32,248,80,112,136,3,86,102,32,32,216,32,80,136,3,86, - 102,32,32,248,112,112,136,3,86,102,32,32,248,112,112,136, - 3,86,102,32,32,232,48,80,136,2,102,102,48,88,140,88, - 172,88,2,86,102,32,168,112,112,168,32,2,87,103,32,168, - 112,80,112,168,32,2,87,103,32,168,112,248,112,168,32,2, - 87,103,32,168,112,248,112,168,32,2,87,103,32,168,112,248, - 112,168,32,2,86,102,32,168,112,112,168,32,1,88,104,80, - 32,168,112,112,168,32,80,1,88,104,80,32,168,112,112,168, - 32,80,2,103,103,80,248,124,248,124,248,80,2,103,103,80, - 168,116,248,116,168,80,2,86,102,32,168,112,112,168,32,2, - 87,103,32,168,112,80,112,168,32,2,86,102,32,168,112,112, - 168,32,2,103,103,168,216,80,168,116,168,32,3,87,103,32, - 112,248,216,112,248,216,3,87,103,32,112,216,168,80,248,216, - 3,86,102,32,112,216,112,248,32,2,87,103,112,248,168,216, - 168,248,112,2,86,102,32,168,112,112,168,32,2,86,102,32, - 168,112,112,168,32,2,86,102,32,168,112,112,168,32,2,86, - 102,32,168,112,112,168,32,2,87,103,32,168,112,248,112,168, - 32,2,87,103,32,168,112,248,112,168,32,2,87,103,32,168, - 112,248,112,168,32,2,87,103,32,168,112,248,112,168,32,2, - 87,103,32,168,112,248,112,168,32,255,3,101,101,120,140,140, - 140,120,255,2,102,102,248,140,140,140,252,124,2,102,102,124, - 252,140,140,140,248,2,102,102,248,140,140,140,252,124,2,102, - 102,124,252,140,140,140,248,255,255,255,2,103,103,16,56,84, - 236,84,56,16,255,34,23,103,128,128,128,128,128,128,128,18, - 39,103,192,192,192,192,192,192,192,18,71,103,240,240,240,240, - 240,240,240,22,69,101,96,128,224,240,96,22,69,101,96,240, - 112,16,96,6,101,101,72,144,216,252,72,6,101,101,72,252, - 108,36,72,255,255,1,106,106,8,124,200,200,200,120,8,200, - 136,112,2,89,105,112,248,248,112,32,0,32,112,32,2,88, - 104,216,248,112,32,0,32,112,32,2,85,101,216,248,248,112, - 32,2,87,103,96,240,240,120,240,240,96,2,104,104,100,184, - 32,216,248,240,228,120,2,102,102,128,88,120,220,152,64,18, - 56,104,32,64,192,192,192,192,64,32,18,56,104,128,64,96, - 96,96,96,64,128,18,40,104,64,192,192,192,192,192,192,64, - 18,40,104,128,192,192,192,192,192,192,128,17,73,105,48,48, - 96,96,192,96,96,48,48,17,73,105,192,192,96,96,48,96, - 96,192,192,2,87,103,24,48,96,192,96,48,24,2,87,103, - 192,96,48,24,48,96,192,1,89,105,56,56,112,112,224,112, - 112,56,56,1,89,105,224,224,112,112,56,112,112,224,224,17, - 57,105,32,64,128,128,128,128,128,64,32,17,57,105,128,64, - 32,32,32,32,32,64,128,17,73,105,48,96,96,96,192,96, - 96,96,48,17,73,105,192,96,96,96,48,96,96,96,192,2, - 89,105,112,248,216,152,216,216,136,248,112,2,89,105,112,248, - 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, - 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, - 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, - 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, - 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, - 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, - 172,148,148,148,172,252,120,2,89,105,112,136,168,232,168,168, - 248,136,112,2,89,105,112,136,168,216,152,168,248,136,112,2, - 89,105,112,136,232,152,168,152,232,136,112,2,89,105,112,136, - 200,200,232,248,168,136,112,2,89,105,112,136,248,200,232,152, - 232,136,112,2,89,105,112,136,184,200,232,216,168,136,112,2, - 89,105,112,136,248,152,168,168,168,136,112,2,89,105,112,136, - 168,216,168,216,168,136,112,2,89,105,112,136,168,216,184,152, - 232,136,112,2,105,105,120,132,212,236,236,236,212,132,120,2, - 89,105,112,248,216,152,216,216,216,248,112,2,89,105,112,248, - 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, - 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, - 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, - 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, - 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, - 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, - 172,148,148,148,172,252,120,3,101,101,48,24,252,24,48,255, - 255,255,2,85,101,128,64,40,24,56,3,85,101,32,48,248, - 48,32,2,85,101,56,24,40,64,128,3,101,101,64,48,252, - 48,64,2,102,102,48,56,252,252,56,48,4,99,99,8,252, - 8,2,102,102,16,24,252,252,24,16,3,99,99,8,188,8, - 2,102,102,16,24,188,188,24,16,3,101,101,16,248,252,248, - 16,2,103,103,192,176,72,60,120,240,192,2,103,103,192,240, - 120,60,72,176,192,3,101,101,224,120,60,120,224,3,102,102, - 128,144,248,252,120,16,2,102,102,16,120,252,248,144,128,2, - 103,103,32,240,248,252,248,240,32,3,101,101,32,240,252,240, - 32,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, - 16,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, - 16,2,102,102,16,232,132,132,232,16,2,102,102,16,232,132, - 132,232,16,3,101,101,16,232,132,232,16,255,3,101,101,16, - 232,132,232,16,2,103,103,120,220,12,4,12,220,120,3,99, - 99,232,124,232,2,102,102,64,224,96,16,12,12,3,99,99, - 232,124,232,2,102,102,12,12,16,96,224,64,2,102,102,96, - 224,224,20,12,28,2,101,101,192,232,124,232,192,2,102,102, - 28,12,20,224,224,96,2,101,101,16,200,252,200,16,2,101, - 101,16,200,252,200,16,3,99,99,232,124,232,3,100,100,232, - 252,252,232,2,101,101,80,232,4,232,80,255,2,85,101,136, - 144,160,192,248,2,86,102,32,32,80,112,168,248,2,86,102, - 32,32,32,32,32,248,2,87,103,120,128,144,168,144,128,120, - 2,87,103,240,8,72,168,72,8,240,18,73,105,64,160,160, - 32,32,64,64,64,48,18,73,105,32,80,80,64,64,32,32, - 32,192,2,87,103,136,168,136,80,80,32,32,2,104,104,128, - 156,160,160,160,92,64,64,2,104,104,4,228,20,20,20,232, - 8,8,18,55,103,64,64,64,224,64,64,64,255,2,103,103, - 252,64,32,32,32,32,64,255,255,255,3,85,101,32,80,168, - 80,32,2,87,103,32,32,80,80,136,168,136,2,87,103,168, - 168,168,168,168,168,112,3,85,101,8,8,40,8,248,3,85, - 101,248,128,160,128,128,3,101,101,196,108,84,108,196,3,101, - 101,140,216,168,216,140,2,101,101,204,120,72,120,204,2,87, - 103,32,32,32,32,32,32,248,2,87,103,248,32,32,32,32, - 32,32,3,85,101,80,216,80,216,80,3,85,101,80,80,216, - 80,80,4,99,99,64,188,64,4,99,99,128,252,128,4,99, - 99,4,252,4,18,55,103,64,160,64,64,64,64,224,3,85, - 101,32,80,248,80,32,3,85,101,32,80,136,80,32,3,101, - 101,16,40,196,40,16,3,101,101,32,80,140,80,32,3,101, - 101,124,68,196,68,124,3,101,101,248,136,140,136,248,1,90, - 106,248,160,160,160,160,160,160,160,160,248,1,90,106,248,40, - 40,40,40,40,40,40,40,248,17,57,105,32,32,64,64,128, - 64,64,32,32,17,57,105,128,128,64,64,32,64,64,128,128, - 0,107,107,20,40,40,80,80,160,80,80,40,40,20,0,107, - 107,160,80,80,40,40,20,40,40,80,80,160,16,75,107,16, - 32,96,160,160,160,160,160,96,32,16,16,76,108,128,64,96, - 80,80,80,80,80,80,96,64,128,17,41,105,128,64,64,64, - 64,64,64,64,128,17,41,105,64,128,128,128,128,128,128,128, - 64,2,87,103,32,112,168,168,168,168,168,2,87,103,168,168, - 168,168,168,112,32,2,103,103,56,68,228,68,4,68,56,2, - 103,103,112,136,156,136,128,136,112,4,99,99,104,252,104,3, - 101,101,32,64,252,64,32,3,101,101,16,8,252,8,16,4, - 99,99,72,252,72,2,103,103,16,32,124,128,124,32,16,2, - 103,103,32,16,248,4,248,16,32,3,101,101,72,252,132,252, - 72,3,101,101,36,68,252,68,36,3,101,101,144,136,252,136, - 144,2,103,103,20,36,124,132,124,36,20,2,103,103,160,144, - 248,132,248,144,160,3,100,100,8,92,172,8}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - 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=10 dx= 6 dy= 0 ascent=10 len=10 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12[1933] U8G_SECTION(".progmem.u8g_font_6x12") = { - 1,6,12,0,254,7,1,53,2,107,32,255,254,10,254,8, - 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, - 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, - 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, - 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, - 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, - 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, - 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, - 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, - 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, - 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, - 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, - 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, - 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, - 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, - 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, - 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, - 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, - 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, - 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, - 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, - 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, - 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, - 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, - 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, - 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, - 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, - 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, - 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, - 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, - 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, - 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, - 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, - 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, - 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, - 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, - 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, - 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, - 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, - 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, - 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, - 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, - 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, - 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, - 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, - 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, - 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, - 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, - 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, - 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, - 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, - 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, - 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, - 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, - 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, - 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, - 144,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,12,0,96,34,23,103,128,0,128,128,128,128,128,1, - 87,103,32,112,168,160,168,112,32,2,87,103,48,72,64,224, - 64,72,176,2,85,101,168,80,136,80,168,2,87,103,136,80, - 248,32,248,32,32,34,23,103,128,128,128,0,128,128,128,18, - 72,104,112,128,96,144,144,96,16,224,25,49,97,160,2,103, - 103,120,132,148,164,148,132,120,22,53,101,96,160,96,0,224, - 2,85,101,40,80,160,80,40,3,83,99,248,8,8,21,49, - 97,224,2,103,103,120,132,180,164,164,132,120,9,81,97,248, - 23,68,100,96,144,144,96,2,87,103,32,32,248,32,32,0, - 248,23,53,101,64,160,32,64,224,23,53,101,192,32,64,32, - 192,23,51,99,32,64,128,0,87,103,136,136,136,152,232,128, - 128,2,88,104,120,232,232,232,104,40,40,40,37,34,98,192, - 192,16,50,98,32,192,23,53,101,64,192,64,64,224,23,53, - 101,64,160,64,0,224,2,85,101,160,80,40,80,160,2,90, - 106,64,192,64,64,80,48,80,120,16,16,2,90,106,64,192, - 64,64,80,40,8,16,32,56,2,90,106,192,32,64,32,208, - 48,80,120,16,16,2,87,103,32,0,32,32,64,136,112,2, - 90,106,64,32,0,112,136,136,248,136,136,136,2,90,106,16, - 32,0,112,136,136,248,136,136,136,2,90,106,32,80,0,112, - 136,136,248,136,136,136,2,90,106,104,176,0,112,136,136,248, - 136,136,136,2,89,105,80,0,112,136,136,248,136,136,136,2, - 90,106,32,80,32,112,136,136,248,136,136,136,2,87,103,120, - 160,160,240,160,160,184,0,89,105,112,136,128,128,128,136,112, - 16,96,2,90,106,64,32,0,248,128,128,240,128,128,248,2, - 90,106,16,32,0,248,128,128,240,128,128,248,2,90,106,32, - 80,0,248,128,128,240,128,128,248,2,89,105,80,0,248,128, - 128,240,128,128,248,18,58,106,128,64,0,224,64,64,64,64, - 64,224,18,58,106,32,64,0,224,64,64,64,64,64,224,18, - 58,106,64,160,0,224,64,64,64,64,64,224,18,57,105,160, - 0,224,64,64,64,64,64,224,2,87,103,112,72,72,232,72, - 72,112,2,90,106,104,176,0,136,136,200,168,152,136,136,2, - 90,106,64,32,0,112,136,136,136,136,136,112,2,90,106,16, - 32,0,112,136,136,136,136,136,112,2,90,106,32,80,0,112, - 136,136,136,136,136,112,2,90,106,104,176,0,112,136,136,136, - 136,136,112,2,89,105,80,0,112,136,136,136,136,136,112,3, - 85,101,136,80,32,80,136,1,89,105,8,112,152,168,168,168, - 200,112,128,2,90,106,64,32,0,136,136,136,136,136,136,112, - 2,90,106,16,32,0,136,136,136,136,136,136,112,2,90,106, - 32,80,0,136,136,136,136,136,136,112,2,89,105,80,0,136, - 136,136,136,136,136,112,2,90,106,16,32,0,136,136,80,32, - 32,32,32,18,71,103,128,224,144,144,144,224,128,2,87,103, - 112,136,144,160,144,136,176,2,88,104,64,32,0,112,8,120, - 136,120,2,88,104,16,32,0,112,8,120,136,120,2,88,104, - 32,80,0,112,8,120,136,120,2,88,104,104,176,0,112,8, - 120,136,120,2,87,103,80,0,112,8,120,136,120,2,88,104, - 32,80,32,112,8,120,136,120,2,85,101,112,40,112,160,120, - 0,87,103,112,136,128,136,112,16,96,2,88,104,64,32,0, - 112,136,240,128,112,2,88,104,16,32,0,112,136,240,128,112, - 2,88,104,32,80,0,112,136,240,128,112,2,87,103,80,0, - 112,136,240,128,112,18,56,104,128,64,0,192,64,64,64,224, - 18,56,104,32,64,0,192,64,64,64,224,18,56,104,64,160, - 0,192,64,64,64,224,18,55,103,160,0,192,64,64,64,224, - 2,89,105,80,32,80,8,120,136,136,136,112,2,88,104,104, - 176,0,176,200,136,136,136,2,88,104,64,32,0,112,136,136, - 136,112,2,88,104,16,32,0,112,136,136,136,112,2,88,104, - 32,80,0,112,136,136,136,112,2,88,104,104,176,0,112,136, - 136,136,112,2,87,103,80,0,112,136,136,136,112,3,85,101, - 32,0,248,0,32,2,85,101,120,152,168,200,240,2,88,104, - 64,32,0,136,136,136,136,112,2,88,104,16,32,0,136,136, - 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,87, - 103,80,0,136,136,136,136,112,0,90,106,16,32,0,136,136, - 136,80,32,64,128,0,89,105,128,128,240,136,136,136,240,128, - 128,0,89,105,80,0,136,136,136,80,32,64,128}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 5 h= 9 x= 2 y=10 dx= 6 dy= 0 ascent=10 len= 9 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12r[898] U8G_SECTION(".progmem.u8g_font_6x12r") = { - 1,6,12,0,254,7,1,53,2,107,32,127,254,10,254,8, - 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, - 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, - 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, - 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, - 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, - 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, - 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, - 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, - 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, - 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, - 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, - 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, - 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, - 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, - 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, - 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, - 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, - 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, - 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, - 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, - 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, - 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, - 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, - 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, - 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, - 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, - 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, - 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, - 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, - 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, - 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, - 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, - 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, - 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, - 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, - 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, - 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, - 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, - 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, - 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, - 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, - 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, - 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, - 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, - 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, - 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, - 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, - 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, - 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, - 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, - 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, - 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, - 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, - 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, - 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, - 144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 9 - Calculated Max Values w= 6 h=13 x= 5 y= 9 dx= 6 dy= 0 ascent=11 len=13 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[2236] U8G_SECTION(".progmem.u8g_font_6x13_67_75") = { - 1,6,13,0,254,3,1,73,2,147,32,255,0,11,254,9, - 0,3,101,101,80,40,252,40,80,2,89,105,32,32,32,32, - 168,112,168,112,32,3,101,101,36,72,240,72,36,3,101,101, - 144,72,60,72,144,3,85,101,32,72,248,72,32,2,89,105, - 32,112,168,32,32,32,32,32,248,3,85,101,32,144,248,144, - 32,2,89,105,248,32,32,32,32,32,168,112,32,2,89,105, - 32,112,168,32,32,168,112,32,248,3,101,101,40,68,248,64, - 32,3,101,101,80,136,124,8,16,3,101,101,32,76,252,72, - 40,3,101,101,16,200,252,72,80,4,100,100,72,220,236,72, - 3,101,101,8,88,252,104,64,2,89,105,128,128,144,176,208, - 144,16,56,16,2,89,105,32,64,248,72,40,8,8,8,8, - 2,89,105,32,16,248,144,160,128,128,128,128,2,89,105,8, - 8,8,8,40,72,248,64,32,2,89,105,128,128,128,128,160, - 144,248,16,32,3,85,101,240,16,16,56,16,3,86,102,8, - 8,8,72,248,64,3,85,101,48,72,72,232,72,3,85,101, - 96,144,144,184,144,2,89,105,248,128,224,192,160,32,16,16, - 8,2,89,105,160,192,248,192,168,24,248,24,40,3,86,102, - 56,48,168,136,136,112,3,86,102,224,96,168,136,136,112,5, - 83,99,32,64,248,3,83,99,248,64,32,34,57,105,128,192, - 160,128,128,128,128,128,128,2,57,105,32,96,160,32,32,32, - 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, - 57,105,128,128,128,128,128,128,160,192,128,2,57,105,32,32, - 32,32,32,32,160,96,32,2,89,105,32,16,248,16,32,64, - 248,64,32,2,89,105,80,240,80,80,80,80,80,120,80,2, - 89,105,32,64,248,64,32,16,248,16,32,2,89,105,32,64, - 248,64,32,64,248,64,32,2,89,105,80,248,80,80,80,80, - 80,80,80,2,89,105,32,16,248,16,32,16,248,16,32,2, - 89,105,80,80,80,80,80,80,80,248,80,2,87,103,32,64, - 248,0,248,16,32,2,87,103,32,16,248,0,248,64,32,2, - 103,103,20,40,124,144,124,32,80,2,103,103,8,88,252,164, - 252,104,64,2,103,103,160,80,248,36,248,16,40,2,103,103, - 16,32,124,128,124,32,16,2,89,105,32,80,216,80,80,80, - 80,80,80,2,103,103,32,16,248,4,248,16,32,2,89,105, - 80,80,80,80,80,80,216,80,32,3,101,101,72,252,132,252, - 72,2,89,105,32,80,216,80,80,80,216,80,32,3,102,102, - 248,160,208,168,148,8,3,102,102,124,20,44,84,164,64,3, - 102,102,64,164,84,44,20,124,3,102,102,8,148,168,208,160, - 248,2,103,103,16,60,64,252,64,60,16,2,103,103,32,240, - 8,252,8,240,32,4,100,100,64,232,212,64,4,100,100,8, - 92,172,8,2,89,105,32,112,168,32,112,32,112,32,32,2, - 89,105,32,32,112,32,112,32,168,112,32,3,85,101,32,64, - 168,64,32,2,89,105,32,112,168,0,32,32,0,32,32,3, - 85,101,32,16,168,16,32,2,89,105,32,32,0,32,32,0, - 168,112,32,3,85,101,160,192,248,192,160,3,85,101,40,24, - 248,24,40,3,85,101,32,120,136,120,32,2,89,105,32,80, - 216,80,80,80,80,80,112,3,85,101,32,240,136,240,32,2, - 89,105,112,80,80,80,80,80,216,80,32,2,90,106,32,80, - 216,80,80,112,0,112,80,112,2,89,105,32,80,216,80,80, - 80,216,136,248,2,89,105,32,80,248,136,80,80,216,136,248, - 2,89,105,32,112,248,112,112,112,248,168,248,2,89,105,32, - 80,216,80,216,80,80,80,112,2,89,105,32,80,216,80,216, - 80,216,136,248,3,85,101,160,240,136,240,160,3,88,104,248, - 128,176,224,144,16,8,8,2,88,104,128,128,64,72,56,104, - 8,248,2,89,105,32,80,216,80,80,80,216,80,32,3,101, - 101,16,104,252,104,16,2,89,105,80,120,80,80,80,80,80, - 240,80,2,89,105,16,248,16,16,248,16,16,248,16,3,101, - 101,40,72,252,72,40,3,101,101,80,72,252,72,80,4,101, - 101,48,120,252,120,48,3,101,101,56,88,252,88,56,3,101, - 101,112,104,252,104,112,4,101,101,48,120,252,120,48,3,85, - 101,32,96,184,96,32,3,85,101,32,48,232,48,32,4,101, - 101,48,120,180,120,48,7,102,102,252,252,252,252,252,252,0, - 98,98,252,252,0,99,99,252,252,252,0,101,101,252,252,252, - 252,252,0,103,103,252,252,252,252,252,252,252,0,104,104,252, - 252,252,252,252,252,252,252,0,106,106,252,252,252,252,252,252, - 252,252,252,252,0,107,107,252,252,252,252,252,252,252,252,252, - 252,252,0,109,109,252,252,252,252,252,252,252,252,252,252,252, - 252,252,0,93,109,248,248,248,248,248,248,248,248,248,248,248, - 248,248,0,77,109,240,240,240,240,240,240,240,240,240,240,240, - 240,240,0,77,109,240,240,240,240,240,240,240,240,240,240,240, - 240,240,0,61,109,224,224,224,224,224,224,224,224,224,224,224, - 224,224,0,45,109,192,192,192,192,192,192,192,192,192,192,192, - 192,192,0,45,109,192,192,192,192,192,192,192,192,192,192,192, - 192,192,0,29,109,128,128,128,128,128,128,128,128,128,128,128, - 128,128,48,61,109,224,224,224,224,224,224,224,224,224,224,224, - 224,224,0,109,109,168,0,84,0,168,0,84,0,168,0,84, - 0,168,0,109,109,168,84,168,84,168,84,168,84,168,84,168, - 84,168,0,109,109,84,252,168,252,84,252,168,252,84,252,168, - 252,84,11,98,98,252,252,80,29,109,128,128,128,128,128,128, - 128,128,128,128,128,128,128,0,55,103,224,224,224,224,224,224, - 224,48,55,103,224,224,224,224,224,224,224,7,54,102,224,224, - 224,224,224,224,0,109,109,224,224,224,224,224,224,252,252,252, - 252,252,252,252,0,109,109,224,224,224,224,224,224,28,28,28, - 28,28,28,28,0,109,109,252,252,252,252,252,252,224,224,224, - 224,224,224,224,0,109,109,252,252,252,252,252,252,28,28,28, - 28,28,28,28,55,54,102,224,224,224,224,224,224,0,109,109, - 28,28,28,28,28,28,224,224,224,224,224,224,224,0,109,109, - 28,28,28,28,28,28,252,252,252,252,252,252,252,3,85,101, - 248,248,248,248,248,3,85,101,248,136,136,136,248,3,85,101, - 112,136,136,136,112,3,85,101,248,136,168,136,248,2,85,101, - 248,136,248,136,248,2,85,101,248,168,168,168,248,2,85,101, - 248,168,248,168,248,2,85,101,248,200,168,152,248,2,85,101, - 248,152,168,200,248,2,85,101,248,216,168,216,248,21,51,99, - 224,224,224,21,51,99,224,160,224,4,101,101,252,252,252,252, - 252,4,101,101,252,132,132,132,252,17,75,107,240,240,240,240, - 240,240,240,240,240,240,240,17,75,107,240,144,144,144,144,144, - 144,144,144,144,240,5,99,99,60,120,240,5,99,99,60,72, - 240,2,89,105,32,32,32,112,112,112,248,248,248,2,89,105, - 32,32,32,80,80,80,136,136,248,4,85,101,32,32,112,112, - 248,4,85,101,32,32,80,80,248,2,89,105,128,192,224,240, - 248,240,224,192,128,2,89,105,128,192,160,144,136,144,160,192, - 128,20,53,101,128,192,224,192,128,20,53,101,128,192,160,192, - 128,4,101,101,192,240,252,240,192,4,101,101,192,176,140,176, - 192,2,89,105,248,248,248,112,112,112,32,32,32,2,89,105, - 248,136,136,80,80,80,32,32,32,3,85,101,248,112,112,32, - 32,3,85,101,248,80,80,32,32,2,89,105,8,24,56,120, - 248,120,56,24,8,2,89,105,8,24,40,72,136,72,40,24, - 8,20,53,101,32,96,224,96,32,20,53,101,32,96,160,96, - 32,4,101,101,12,60,252,60,12,4,101,101,12,52,196,52, - 12,4,85,101,32,112,248,112,32,4,85,101,32,80,136,80, - 32,4,85,101,32,80,168,80,32,3,102,102,48,72,180,180, - 72,48,2,89,105,32,32,80,80,136,80,80,32,32,3,102, - 102,48,72,132,132,72,48,3,102,102,32,8,128,4,64,16, - 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, - 136,112,3,102,102,48,120,252,252,120,48,3,102,102,48,104, - 228,228,104,48,3,102,102,48,88,156,156,88,48,3,102,102, - 48,72,132,252,120,48,3,102,102,48,120,252,132,72,48,3, - 102,102,48,88,156,132,72,48,3,102,102,48,88,156,252,120, - 48,18,90,106,8,56,120,120,248,248,120,120,56,8,2,90, - 106,128,224,240,240,248,248,240,240,224,128,0,109,109,252,252, - 252,252,252,204,132,132,204,252,252,252,252,0,109,109,252,252, - 252,252,204,180,120,120,180,204,252,252,252,6,103,103,252,252, - 252,252,204,180,120,0,102,102,120,180,204,252,252,252,6,51, - 99,32,64,128,54,51,99,128,64,32,51,51,99,32,64,128, - 3,51,99,128,64,32,6,99,99,48,72,132,3,99,99,132, - 72,48,3,85,101,8,24,56,120,248,3,85,101,128,192,224, - 240,248,3,85,101,248,240,224,192,128,3,85,101,248,120,56, - 24,8,4,85,101,112,136,136,136,112,3,85,101,248,232,232, - 232,248,3,85,101,248,184,184,184,248,3,85,101,248,248,232, - 200,248,3,85,101,248,152,184,248,248,3,85,101,248,168,168, - 168,248,2,89,105,32,32,32,80,80,112,168,136,248,2,89, - 105,32,32,32,112,112,112,232,232,248,2,89,105,32,32,32, - 112,112,112,184,184,248,2,103,103,48,72,132,132,132,72,48, - 3,85,101,248,168,232,136,248,3,85,101,248,136,232,168,248, - 3,85,101,248,136,184,168,248,3,85,101,248,168,184,136,248, - 3,85,101,112,168,232,136,112,3,85,101,112,136,232,168,112, - 3,85,101,112,136,184,168,112,3,85,101,112,168,184,136,112, - 3,85,101,248,144,160,192,128,3,85,101,248,72,40,24,8, - 3,85,101,128,192,160,144,248,20,68,100,240,144,144,240,20, - 68,100,240,240,240,240,20,68,100,240,144,144,240,20,68,100, - 240,240,240,240,3,85,101,8,24,40,72,248}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 3 - Calculated Max Values w= 6 h=11 x= 1 y= 3 dx= 6 dy= 0 ascent=10 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_75r[447] U8G_SECTION(".progmem.u8g_font_6x13_75r") = { - 1,6,13,0,254,9,1,57,0,0,32,79,0,10,255,9, - 0,3,85,101,248,248,248,248,248,3,85,101,248,136,136,136, - 248,3,85,101,112,136,136,136,112,3,85,101,248,136,168,136, - 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, - 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, - 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, - 248,21,51,99,224,224,224,21,51,99,224,160,224,4,101,101, - 252,252,252,252,252,4,101,101,252,132,132,132,252,17,75,107, - 240,240,240,240,240,240,240,240,240,240,240,17,75,107,240,144, - 144,144,144,144,144,144,144,144,240,5,99,99,60,120,240,5, - 99,99,60,72,240,2,89,105,32,32,32,112,112,112,248,248, - 248,2,89,105,32,32,32,80,80,80,136,136,248,4,85,101, - 32,32,112,112,248,4,85,101,32,32,80,80,248,2,89,105, - 128,192,224,240,248,240,224,192,128,2,89,105,128,192,160,144, - 136,144,160,192,128,20,53,101,128,192,224,192,128,20,53,101, - 128,192,160,192,128,4,101,101,192,240,252,240,192,4,101,101, - 192,176,140,176,192,2,89,105,248,248,248,112,112,112,32,32, - 32,2,89,105,248,136,136,80,80,80,32,32,32,3,85,101, - 248,112,112,32,32,3,85,101,248,80,80,32,32,2,89,105, - 8,24,56,120,248,120,56,24,8,2,89,105,8,24,40,72, - 136,72,40,24,8,20,53,101,32,96,224,96,32,20,53,101, - 32,96,160,96,32,4,101,101,12,60,252,60,12,4,101,101, - 12,52,196,52,12,4,85,101,32,112,248,112,32,4,85,101, - 32,80,136,80,32,4,85,101,32,80,168,80,32,3,102,102, - 48,72,180,180,72,48,2,89,105,32,32,80,80,136,80,80, - 32,32,3,102,102,48,72,132,132,72,48,3,102,102,32,8, - 128,4,64,16,2,85,101,112,168,168,168,112,2,87,103,112, - 136,168,216,168,136,112,3,102,102,48,120,252,252,120,48}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 6 h=13 x= 2 y= 5 dx= 6 dy= 0 ascent=11 len=13 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[1470] U8G_SECTION(".progmem.u8g_font_6x13_78_79") = { - 1,6,13,0,254,7,1,42,2,11,32,255,0,11,254,10, - 0,2,87,103,112,32,168,248,168,32,112,255,2,104,104,48, - 48,48,252,252,48,48,48,2,89,105,32,112,32,168,248,168, - 32,112,32,2,89,105,32,112,32,168,248,168,32,112,32,2, - 89,105,32,112,32,168,248,168,32,112,32,4,85,101,32,112, - 248,112,32,4,85,101,32,80,136,80,32,255,4,86,102,32, - 32,248,80,112,136,2,89,105,112,216,216,0,136,136,112,248, - 112,4,86,102,32,32,248,80,112,136,4,86,102,32,32,248, - 112,112,136,4,86,102,32,32,248,112,112,136,4,86,102,32, - 32,248,112,112,136,4,86,102,32,32,248,112,112,136,4,102, - 102,48,48,252,88,120,204,3,87,103,32,168,112,112,112,168, - 32,3,87,103,32,168,112,80,112,168,32,3,87,103,32,168, - 112,248,112,168,32,3,87,103,32,168,112,248,112,168,32,3, - 87,103,32,168,112,248,112,168,32,3,87,103,32,168,112,112, - 112,168,32,3,87,103,80,80,248,32,248,80,80,3,87,103, - 80,112,248,112,248,112,80,255,255,3,87,103,32,168,168,112, - 168,168,32,3,87,103,32,168,168,80,168,168,32,3,87,103, - 32,168,168,112,168,168,32,3,87,103,32,168,168,80,168,168, - 32,4,85,101,32,248,80,112,216,255,255,255,3,87,103,32, - 168,168,112,168,168,32,3,87,103,32,168,168,112,168,168,32, - 3,87,103,32,168,168,112,168,168,32,3,87,103,32,168,168, - 112,168,168,32,3,87,103,32,168,112,248,112,168,32,3,87, - 103,32,168,112,248,112,168,32,3,87,103,32,168,168,112,168, - 168,32,3,87,103,32,168,112,248,112,168,32,3,87,103,32, - 168,112,248,112,168,32,255,2,102,102,120,140,140,140,140,120, - 255,2,102,102,248,136,140,140,252,60,2,102,102,60,252,140, - 140,136,248,2,102,102,248,140,140,140,252,124,2,102,102,124, - 252,140,140,140,248,255,255,255,2,89,105,32,112,32,80,248, - 80,32,112,32,255,34,25,105,128,128,128,128,128,128,128,128, - 128,18,57,105,224,224,224,224,224,224,224,224,224,2,89,105, - 248,248,248,248,248,248,248,248,248,23,53,101,96,128,224,224, - 64,23,53,101,64,224,224,32,192,7,101,101,108,144,252,252, - 72,7,101,101,72,252,252,36,216,255,255,2,106,106,8,124, - 232,232,120,8,104,104,72,48,18,57,105,64,224,224,64,64, - 0,64,224,64,2,89,105,80,248,248,112,32,0,32,112,32, - 2,87,103,80,248,248,248,112,32,32,2,103,103,96,240,248, - 124,248,240,96,2,89,105,104,176,16,216,248,240,96,104,48, - 2,104,104,64,144,184,124,92,188,184,80,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,2,89,105,112,248,216,152, - 216,216,136,248,112,2,89,105,112,248,216,168,232,216,136,248, - 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, - 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, - 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, - 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, - 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, - 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, - 120,2,89,105,112,136,168,232,168,168,168,136,112,2,89,105, - 112,136,168,216,152,168,248,136,112,2,89,105,112,136,168,216, - 168,152,232,136,112,2,89,105,112,136,200,200,232,248,168,136, - 112,2,89,105,112,136,248,200,232,152,232,136,112,2,89,105, - 112,136,184,200,232,216,168,136,112,2,89,105,112,136,248,152, - 168,168,168,136,112,2,89,105,112,136,168,216,168,216,168,136, - 112,2,89,105,112,136,168,216,184,152,232,136,112,2,105,105, - 120,132,212,236,236,236,212,132,120,2,89,105,112,248,216,152, - 216,216,216,248,112,2,89,105,112,248,216,168,232,216,136,248, - 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, - 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, - 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, - 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, - 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, - 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, - 120,4,102,102,48,24,252,252,24,48,255,255,255,4,85,101, - 128,64,40,24,56,4,85,101,32,48,248,48,32,4,85,101, - 56,24,40,64,128,3,103,103,64,32,48,252,48,32,64,3, - 104,104,32,48,24,252,252,24,48,32,4,101,101,16,24,252, - 24,16,4,102,102,16,24,252,252,24,16,4,102,102,16,24, - 188,188,24,16,3,103,103,32,48,184,188,184,48,32,3,103, - 103,32,48,248,252,248,48,32,255,255,4,101,101,192,112,60, - 112,192,3,103,103,32,176,248,252,120,48,32,3,103,103,32, - 48,120,252,248,176,32,0,109,109,32,32,48,240,248,248,252, - 248,248,240,48,32,32,255,255,255,255,255,255,255,255,255,255, - 1,107,107,120,252,220,204,4,0,4,204,220,248,120,255,4, - 102,102,32,32,224,20,12,28,4,101,101,144,200,124,200,144, - 4,102,102,28,12,20,224,32,32,4,102,102,32,32,224,20, - 12,28,4,101,101,144,200,124,200,144,4,102,102,28,12,20, - 224,32,32,4,101,101,16,8,252,8,16,4,101,101,16,200, - 252,200,16,5,99,99,232,124,232,4,101,101,208,216,124,216, - 208,2,105,105,160,80,40,244,4,244,40,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,255,255, - 255,255,255,255,1,91,107,248,160,160,160,160,160,160,160,160, - 160,248,1,91,107,248,40,40,40,40,40,40,40,40,40,248, - 17,75,107,16,32,32,64,64,128,64,64,32,32,16,17,75, - 107,128,64,64,32,32,16,32,32,64,64,128,1,107,107,20, - 40,40,80,80,160,80,80,40,40,20,1,107,107,160,80,80, - 40,40,20,40,40,80,80,160,255,255,255,255,255,255,255,255, - 255,3,101,101,32,64,252,64,32,3,101,101,16,8,252,8, - 16,4,99,99,72,252,72,2,103,103,16,32,124,128,124,32, - 16,2,103,103,32,16,248,4,248,16,32,3,101,101,72,252, - 132,252,72,3,101,101,36,68,252,68,36,3,101,101,144,136, - 252,136,144,2,103,103,20,36,124,132,124,36,20,2,103,103, - 160,144,248,132,248,144,160,4,100,100,8,92,172,8}; -/* - Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13B[2171] U8G_SECTION(".progmem.u8g_font_6x13B") = { - 1,6,13,0,254,9,1,99,2,211,32,255,254,11,254,10, - 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, - 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, - 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, - 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, - 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, - 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, - 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, - 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, - 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, - 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, - 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, - 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, - 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, - 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, - 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, - 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, - 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, - 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, - 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, - 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, - 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, - 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, - 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, - 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, - 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, - 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, - 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, - 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, - 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, - 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, - 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, - 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, - 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, - 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, - 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, - 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, - 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, - 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, - 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, - 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, - 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, - 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, - 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, - 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, - 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, - 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, - 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, - 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, - 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, - 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, - 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, - 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, - 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, - 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, - 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, - 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, - 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, - 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, - 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, - 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, - 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, - 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, - 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, - 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,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, - 13,0,96,34,42,106,192,192,0,192,192,192,192,192,192,192, - 3,104,104,16,120,212,208,208,212,120,16,2,105,105,56,108, - 96,96,248,96,96,100,248,3,102,102,204,252,72,72,252,204, - 2,105,105,204,204,120,120,252,48,252,48,48,34,42,106,192, - 192,192,192,0,0,192,192,192,192,2,106,106,120,204,192,120, - 204,204,120,12,204,120,9,98,98,204,204,2,105,105,120,204, - 180,236,228,236,180,204,120,4,103,103,248,12,252,140,252,0, - 252,3,103,103,52,104,208,160,208,104,52,4,100,100,252,252, - 4,4,22,65,97,240,2,105,105,120,204,188,172,188,180,172, - 204,120,9,82,98,248,248,7,100,100,120,204,204,120,2,105, - 105,48,48,252,252,48,48,0,252,252,6,70,102,224,176,48, - 96,192,240,6,70,102,224,176,96,48,176,224,26,50,98,96, - 192,0,104,104,204,204,204,204,204,252,128,128,2,105,105,124, - 252,244,244,244,116,52,52,52,38,34,98,192,192,16,50,98, - 96,192,6,70,102,96,224,96,96,96,240,5,87,103,112,248, - 136,248,112,0,248,3,103,103,176,88,44,20,44,88,176,2, - 106,106,96,224,96,96,100,252,28,52,60,12,2,106,106,96, - 224,96,96,120,236,12,24,48,60,2,106,106,224,176,96,48, - 180,236,28,52,60,12,2,106,106,48,48,0,48,48,96,192, - 204,204,120,2,106,106,96,48,0,48,120,204,204,252,204,204, - 2,106,106,24,48,0,48,120,204,204,252,204,204,2,106,106, - 56,108,0,48,120,204,204,252,204,204,2,106,106,52,88,0, - 48,120,204,204,252,204,204,2,106,106,204,204,0,48,120,204, - 204,252,204,204,2,106,106,48,72,120,48,120,204,204,252,204, - 204,2,105,105,124,176,176,176,184,240,240,176,188,0,107,107, - 120,204,192,192,192,192,192,204,120,48,96,2,106,106,96,48, - 0,252,192,192,248,192,192,252,2,106,106,24,48,0,252,192, - 192,248,192,192,252,2,106,106,56,108,0,252,192,192,248,192, - 192,252,2,106,106,204,204,0,252,192,192,248,192,192,252,18, - 74,106,192,96,0,240,96,96,96,96,96,240,18,74,106,48, - 96,0,240,96,96,96,96,96,240,2,90,106,112,216,0,120, - 48,48,48,48,48,120,2,106,106,204,204,0,120,48,48,48, - 48,48,120,2,105,105,248,108,108,108,236,108,108,108,248,2, - 106,106,52,88,0,204,236,236,252,220,220,204,2,106,106,96, - 48,0,120,204,204,204,204,204,120,2,106,106,24,48,0,120, - 204,204,204,204,204,120,2,106,106,56,108,0,120,204,204,204, - 204,204,120,2,106,106,52,88,0,120,204,204,204,204,204,120, - 2,106,106,204,204,0,120,204,204,204,204,204,120,3,101,101, - 204,120,48,120,204,1,105,105,4,120,220,220,204,236,236,120, - 128,2,106,106,96,48,0,204,204,204,204,204,204,120,2,106, - 106,24,48,0,204,204,204,204,204,204,120,2,106,106,56,108, - 0,204,204,204,204,204,204,120,2,106,106,108,108,0,204,204, - 204,204,204,204,120,2,106,106,24,48,0,204,72,120,48,48, - 48,48,2,105,105,192,248,204,204,204,248,192,192,192,1,105, - 105,120,204,204,248,204,204,204,248,128,2,105,105,96,48,0, - 120,12,124,204,220,108,2,105,105,24,48,0,120,12,124,204, - 220,108,2,105,105,56,108,0,120,12,124,204,220,108,2,105, - 105,52,88,0,120,12,124,204,220,108,2,105,105,108,108,0, - 120,12,124,204,220,108,2,106,106,56,40,56,0,120,12,124, - 204,220,108,2,102,102,120,52,120,176,180,104,0,104,104,120, - 204,192,192,204,120,48,96,2,105,105,96,48,0,120,204,252, - 192,192,120,2,105,105,24,48,0,120,204,252,192,192,120,2, - 105,105,56,108,0,120,204,252,192,192,120,2,105,105,108,108, - 0,120,204,252,192,192,120,18,73,105,192,96,0,224,96,96, - 96,96,240,18,73,105,48,96,0,224,96,96,96,96,240,2, - 89,105,112,216,0,112,48,48,48,48,120,2,89,105,216,216, - 0,112,48,48,48,48,120,2,106,106,216,112,240,152,120,204, - 204,204,204,120,2,105,105,52,88,0,216,236,204,204,204,204, - 2,105,105,96,48,0,120,204,204,204,204,120,2,105,105,24, - 48,0,120,204,204,204,204,120,2,105,105,56,108,0,120,204, - 204,204,204,120,2,105,105,52,88,0,120,204,204,204,204,120, - 2,105,105,204,204,0,120,204,204,204,204,120,3,103,103,48, - 48,0,252,0,48,48,1,105,105,4,120,204,220,204,236,204, - 120,128,2,105,105,96,48,0,204,204,204,204,220,108,2,105, - 105,24,48,0,204,204,204,204,220,108,2,105,105,56,108,0, - 204,204,204,204,220,108,2,105,105,204,204,0,204,204,204,204, - 220,108,0,107,107,24,48,0,204,204,204,220,108,12,204,120, - 0,106,106,192,192,216,236,204,236,216,192,192,192,0,107,107, - 204,204,0,204,204,204,220,108,12,204,120}; -/* - Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13Br[1040] U8G_SECTION(".progmem.u8g_font_6x13Br") = { - 1,6,13,0,254,9,1,99,2,211,32,127,254,11,254,10, - 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, - 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, - 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, - 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, - 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, - 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, - 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, - 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, - 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, - 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, - 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, - 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, - 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, - 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, - 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, - 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, - 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, - 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, - 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, - 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, - 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, - 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, - 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, - 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, - 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, - 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, - 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, - 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, - 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, - 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, - 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, - 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, - 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, - 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, - 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, - 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, - 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, - 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, - 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, - 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, - 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, - 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, - 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, - 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, - 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, - 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, - 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, - 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, - 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, - 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, - 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, - 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, - 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, - 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, - 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, - 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, - 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, - 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, - 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, - 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, - 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, - 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, - 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, - 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,255 - }; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13[2160] U8G_SECTION(".progmem.u8g_font_6x13") = { - 1,6,13,0,254,9,1,102,2,214,32,255,254,11,254,10, - 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, - 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, - 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, - 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, - 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, - 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, - 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, - 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, - 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, - 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, - 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, - 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, - 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, - 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, - 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, - 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, - 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, - 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, - 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, - 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, - 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, - 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, - 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, - 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, - 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, - 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, - 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, - 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, - 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, - 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, - 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, - 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, - 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, - 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, - 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, - 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, - 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, - 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, - 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, - 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, - 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, - 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, - 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, - 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, - 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, - 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, - 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, - 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, - 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, - 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, - 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, - 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, - 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, - 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, - 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, - 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, - 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, - 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, - 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, - 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, - 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, - 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, - 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, - 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, - 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,13,0,96,34,25,105,128,0,128,128,128,128,128,128,128, - 3,88,104,32,112,168,160,160,168,112,32,2,89,105,48,72, - 64,64,224,64,64,72,176,3,86,102,136,112,80,80,112,136, - 2,89,105,136,136,80,80,248,32,248,32,32,34,25,105,128, - 128,128,128,0,128,128,128,128,18,74,106,96,144,128,96,144, - 144,96,16,144,96,26,50,98,160,160,3,89,105,112,136,168, - 216,200,216,168,136,112,4,87,103,112,8,120,136,120,0,248, - 3,86,102,40,80,160,160,80,40,4,83,99,248,8,8,22, - 49,97,224,3,89,105,112,136,232,216,216,232,216,136,112,10, - 81,97,248,23,68,100,96,144,144,96,3,87,103,32,32,248, - 32,32,0,248,7,53,101,64,160,32,64,224,7,53,101,64, - 160,64,32,192,42,34,98,64,128,0,88,104,136,136,136,136, - 152,232,128,128,2,89,105,120,232,232,232,232,104,40,40,40, - 38,33,97,192,32,34,98,64,128,7,53,101,64,192,64,64, - 224,4,87,103,112,136,136,136,112,0,248,3,86,102,160,80, - 40,40,80,160,2,90,106,64,192,64,64,224,8,24,40,56, - 8,2,90,106,64,192,64,64,224,16,40,8,16,56,2,90, - 106,64,160,64,32,160,72,24,40,56,8,2,89,105,32,0, - 32,32,64,128,136,136,112,2,90,106,64,32,0,32,80,136, - 136,248,136,136,2,90,106,16,32,0,32,80,136,136,248,136, - 136,2,90,106,48,72,0,32,80,136,136,248,136,136,2,90, - 106,40,80,0,32,80,136,136,248,136,136,2,90,106,80,80, - 0,32,80,136,136,248,136,136,2,90,106,32,80,32,32,80, - 136,136,248,136,136,2,89,105,88,160,160,160,176,224,160,160, - 184,0,91,107,112,136,128,128,128,128,128,136,112,32,64,2, - 90,106,64,32,0,248,128,128,240,128,128,248,2,90,106,16, - 32,0,248,128,128,240,128,128,248,2,90,106,48,72,0,248, - 128,128,240,128,128,248,2,90,106,80,80,0,248,128,128,240, - 128,128,248,18,58,106,128,64,0,224,64,64,64,64,64,224, - 18,58,106,32,64,0,224,64,64,64,64,64,224,18,74,106, - 96,144,0,224,64,64,64,64,64,224,18,58,106,160,160,0, - 224,64,64,64,64,64,224,2,89,105,240,72,72,72,232,72, - 72,72,240,2,90,106,40,80,0,136,136,200,168,152,136,136, - 2,90,106,64,32,0,112,136,136,136,136,136,112,2,90,106, - 16,32,0,112,136,136,136,136,136,112,2,90,106,48,72,0, - 112,136,136,136,136,136,112,2,90,106,40,80,0,112,136,136, - 136,136,136,112,2,90,106,80,80,0,112,136,136,136,136,136, - 112,3,85,101,136,80,32,80,136,1,91,107,8,112,152,152, - 168,168,168,200,200,112,128,2,90,106,64,32,0,136,136,136, - 136,136,136,112,2,90,106,16,32,0,136,136,136,136,136,136, - 112,2,90,106,48,72,0,136,136,136,136,136,136,112,2,90, - 106,80,80,0,136,136,136,136,136,136,112,2,90,106,16,32, - 0,136,136,80,32,32,32,32,2,89,105,128,240,136,136,136, - 240,128,128,128,2,89,105,96,144,144,160,160,144,136,136,176, - 2,89,105,64,32,0,112,8,120,136,152,104,2,89,105,16, - 32,0,112,8,120,136,152,104,2,89,105,48,72,0,112,8, - 120,136,152,104,2,89,105,40,80,0,112,8,120,136,152,104, - 2,89,105,80,80,0,112,8,120,136,152,104,2,90,106,48, - 72,48,0,112,8,120,136,152,104,2,86,102,112,40,112,160, - 168,80,0,88,104,112,136,128,128,136,112,32,64,2,89,105, - 64,32,0,112,136,248,128,136,112,2,89,105,16,32,0,112, - 136,248,128,136,112,2,89,105,48,72,0,112,136,248,128,136, - 112,2,89,105,80,80,0,112,136,248,128,136,112,18,57,105, - 128,64,0,192,64,64,64,64,224,18,57,105,32,64,0,192, - 64,64,64,64,224,18,73,105,96,144,0,192,64,64,64,64, - 224,18,57,105,160,160,0,192,64,64,64,64,224,2,90,106, - 80,32,96,16,112,136,136,136,136,112,2,89,105,40,80,0, - 176,200,136,136,136,136,2,89,105,64,32,0,112,136,136,136, - 136,112,2,89,105,16,32,0,112,136,136,136,136,112,2,89, - 105,48,72,0,112,136,136,136,136,112,2,89,105,40,80,0, - 112,136,136,136,136,112,2,89,105,80,80,0,112,136,136,136, - 136,112,3,87,103,32,32,0,248,0,32,32,1,88,104,8, - 112,152,168,168,200,112,128,2,89,105,64,32,0,136,136,136, - 136,152,104,2,89,105,16,32,0,136,136,136,136,152,104,2, - 89,105,48,72,0,136,136,136,136,152,104,2,89,105,80,80, - 0,136,136,136,136,152,104,0,91,107,16,32,0,136,136,136, - 152,104,8,136,112,0,90,106,128,128,176,200,136,136,200,176, - 128,128,0,91,107,80,80,0,136,136,136,152,104,8,136,112 - }; -/* - Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13O[2162] U8G_SECTION(".progmem.u8g_font_6x13O") = { - 1,6,13,0,254,9,1,104,2,216,32,255,254,11,254,10, - 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, - 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, - 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, - 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, - 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, - 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, - 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, - 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, - 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, - 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, - 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, - 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, - 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, - 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, - 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, - 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, - 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, - 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, - 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, - 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, - 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, - 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, - 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, - 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, - 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, - 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, - 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, - 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, - 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, - 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, - 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, - 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, - 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, - 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, - 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, - 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, - 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, - 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, - 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, - 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, - 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, - 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, - 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, - 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, - 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, - 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, - 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, - 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, - 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, - 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, - 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, - 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, - 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, - 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, - 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, - 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, - 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, - 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, - 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, - 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, - 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, - 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, - 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, - 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, - 168,144,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,13,0,96,34,41,105,64,0,64,64,64,128,128, - 128,128,3,104,104,16,56,84,80,160,168,112,32,2,105,105, - 24,36,32,32,112,32,64,72,176,3,102,102,68,56,40,80, - 112,136,2,105,105,68,68,40,40,124,32,248,32,32,34,41, - 105,64,64,64,64,0,128,128,128,128,18,90,106,48,72,64, - 48,72,72,48,16,144,96,58,50,98,160,160,2,105,105,56, - 68,84,108,100,216,168,136,112,4,103,103,56,4,124,136,120, - 0,248,19,86,102,40,80,160,160,160,80,20,83,99,248,8, - 16,38,49,97,224,3,105,105,56,68,116,108,108,232,216,136, - 112,26,81,97,248,23,68,100,96,144,144,96,19,71,103,32, - 32,240,64,64,0,240,23,69,101,32,80,32,64,224,23,69, - 101,96,16,96,32,192,58,34,98,64,128,0,104,104,36,36, - 68,72,88,168,128,128,18,89,105,120,232,232,232,232,80,80, - 80,80,54,33,97,192,32,34,98,64,128,23,53,101,32,96, - 64,64,224,4,103,103,56,68,68,136,112,0,248,19,86,102, - 80,40,40,40,80,160,18,90,106,32,96,64,64,224,8,56, - 80,112,16,18,90,106,32,96,64,64,224,16,40,16,32,112, - 18,90,106,96,16,96,32,192,8,56,80,112,16,2,89,105, - 16,0,16,16,32,64,136,136,112,2,106,106,32,16,0,16, - 40,68,68,248,136,136,2,106,106,8,16,0,16,40,68,68, - 248,136,136,2,106,106,24,36,0,16,40,68,68,248,136,136, - 2,106,106,20,40,0,16,40,68,68,248,136,136,2,106,106, - 40,40,0,16,40,68,68,248,136,136,2,106,106,16,40,16, - 16,40,68,68,248,136,136,2,105,105,44,80,80,80,88,224, - 160,160,184,0,107,107,56,68,64,64,64,128,128,136,112,32, - 64,2,106,106,32,16,0,124,64,64,120,128,128,248,2,106, - 106,8,16,0,124,64,64,120,128,128,248,2,106,106,24,36, - 0,124,64,64,120,128,128,248,2,106,106,40,40,0,124,64, - 64,120,128,128,248,18,74,106,64,32,0,112,32,32,32,64, - 64,224,18,74,106,16,32,0,112,32,32,32,64,64,224,18, - 90,106,48,72,0,112,32,32,32,64,64,224,18,74,106,80, - 80,0,112,32,32,32,64,64,224,2,105,105,120,36,36,36, - 116,36,72,72,240,2,106,106,20,40,0,68,68,100,88,136, - 136,136,2,106,106,32,16,0,56,68,68,68,136,136,112,2, - 106,106,8,16,0,56,68,68,68,136,136,112,2,106,106,24, - 36,0,56,68,68,68,136,136,112,2,106,106,20,40,0,56, - 68,68,68,136,136,112,2,106,106,40,40,0,56,68,68,68, - 136,136,112,3,101,101,68,40,48,80,136,1,107,107,4,60, - 76,76,84,84,168,232,232,112,128,2,106,106,32,16,0,68, - 68,68,136,136,136,112,2,106,106,8,16,0,68,68,68,136, - 136,136,112,2,106,106,24,36,0,68,68,68,136,136,136,112, - 2,106,106,40,40,0,68,68,68,136,136,136,112,18,90,106, - 16,32,0,136,136,80,32,64,64,64,2,105,105,64,120,68, - 68,72,240,128,128,128,2,89,105,48,72,72,80,80,144,136, - 136,176,2,105,105,32,16,0,56,4,124,136,152,104,2,105, - 105,8,16,0,56,4,124,136,152,104,2,105,105,24,36,0, - 56,4,124,136,152,104,2,105,105,20,40,0,56,4,124,136, - 152,104,2,105,105,40,40,0,56,4,124,136,152,104,2,106, - 106,24,36,24,0,56,4,124,136,152,104,2,102,102,56,20, - 120,160,168,80,0,104,104,56,68,64,128,136,112,32,64,2, - 105,105,32,16,0,56,68,124,128,136,112,2,105,105,8,16, - 0,56,68,124,128,136,112,2,105,105,24,36,0,56,68,124, - 128,136,112,2,105,105,40,40,0,56,68,124,128,136,112,18, - 57,105,64,32,0,96,32,32,64,64,224,18,73,105,16,32, - 0,96,32,32,64,64,224,18,89,105,48,72,0,96,32,32, - 64,64,224,18,73,105,80,80,0,96,32,32,64,64,224,2, - 106,106,32,24,48,8,56,68,68,136,136,112,2,105,105,20, - 40,0,88,100,68,136,136,136,2,105,105,32,16,0,56,68, - 68,136,136,112,2,105,105,8,16,0,56,68,68,136,136,112, - 2,105,105,24,36,0,56,68,68,136,136,112,2,105,105,20, - 40,0,56,68,68,136,136,112,2,105,105,40,40,0,56,68, - 68,136,136,112,19,87,103,32,32,0,248,0,64,64,1,104, - 104,4,56,76,84,168,200,112,128,2,105,105,32,16,0,68, - 68,68,136,152,104,2,105,105,8,16,0,68,68,68,136,152, - 104,2,105,105,24,36,0,68,68,68,136,152,104,2,105,105, - 40,40,0,68,68,68,136,152,104,0,107,107,8,16,0,68, - 68,136,152,104,8,144,96,0,106,106,64,64,88,100,68,136, - 200,176,128,128,0,107,107,40,40,0,68,68,136,152,104,8, - 144,96}; -/* - Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13Or[1043] U8G_SECTION(".progmem.u8g_font_6x13Or") = { - 1,6,13,0,254,9,1,104,2,216,32,127,254,11,254,10, - 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, - 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, - 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, - 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, - 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, - 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, - 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, - 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, - 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, - 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, - 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, - 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, - 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, - 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, - 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, - 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, - 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, - 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, - 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, - 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, - 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, - 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, - 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, - 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, - 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, - 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, - 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, - 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, - 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, - 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, - 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, - 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, - 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, - 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, - 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, - 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, - 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, - 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, - 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, - 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, - 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, - 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, - 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, - 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, - 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, - 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, - 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, - 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, - 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, - 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, - 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, - 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, - 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, - 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, - 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, - 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, - 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, - 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, - 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, - 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, - 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, - 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, - 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, - 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, - 168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13r[1041] U8G_SECTION(".progmem.u8g_font_6x13r") = { - 1,6,13,0,254,9,1,102,2,214,32,127,254,11,254,10, - 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, - 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, - 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, - 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, - 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, - 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, - 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, - 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, - 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, - 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, - 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, - 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, - 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, - 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, - 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, - 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, - 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, - 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, - 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, - 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, - 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, - 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, - 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, - 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, - 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, - 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, - 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, - 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, - 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, - 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, - 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, - 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, - 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, - 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, - 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, - 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, - 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, - 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, - 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, - 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, - 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, - 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, - 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, - 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, - 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, - 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, - 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, - 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, - 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, - 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, - 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, - 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, - 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, - 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, - 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, - 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, - 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, - 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, - 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, - 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, - 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, - 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, - 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, - 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, - 255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 10 - Calculated Max Values w= 7 h=13 x= 6 y= 9 dx= 7 dy= 0 ascent=11 len=13 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[2197] U8G_SECTION(".progmem.u8g_font_7x13_67_75") = { - 1,7,13,0,254,3,1,91,2,178,32,255,0,11,254,10, - 0,4,117,117,72,36,254,36,72,18,89,121,32,32,32,168, - 112,32,168,112,32,4,101,117,36,72,248,72,36,4,101,117, - 144,72,124,72,144,4,101,117,36,68,252,68,36,18,89,121, - 32,112,168,32,32,32,32,32,248,4,101,117,144,136,252,136, - 144,18,89,121,248,32,32,32,32,32,168,112,32,18,89,121, - 32,112,168,32,32,168,112,32,248,4,117,117,36,66,252,64, - 32,4,117,117,72,132,126,4,8,4,117,117,36,74,252,72, - 40,4,117,117,72,164,126,36,40,4,117,117,40,84,238,68, - 40,4,117,117,40,84,254,84,40,2,106,122,64,64,128,152, - 104,8,16,84,56,16,2,106,122,32,64,252,68,36,4,4, - 4,4,4,2,106,122,16,8,252,136,144,128,128,128,128,128, - 2,106,122,4,4,4,4,4,36,68,252,64,32,2,106,122, - 128,128,128,128,128,144,136,252,8,16,2,104,120,240,16,16, - 16,16,84,56,16,2,90,122,8,8,8,8,8,40,72,248, - 64,32,4,119,119,28,34,34,34,170,112,32,4,119,119,112, - 136,136,136,170,28,8,2,120,120,254,0,224,192,160,16,8, - 4,2,121,121,144,160,254,160,146,10,254,10,18,4,119,119, - 72,156,170,136,136,136,112,4,119,119,36,114,170,34,34,34, - 28,6,99,115,32,64,252,4,99,115,252,64,32,50,57,121, - 128,192,160,128,128,128,128,128,128,18,57,121,32,96,160,32, - 32,32,32,32,32,6,99,115,16,8,252,4,99,115,252,8, - 16,50,57,121,128,128,128,128,128,128,160,192,128,18,57,121, - 32,32,32,32,32,32,160,96,32,2,105,121,16,8,252,8, - 48,64,252,64,32,2,122,122,40,120,168,40,40,40,40,42, - 60,40,2,105,121,32,64,252,64,48,8,252,8,16,2,105, - 121,32,64,252,64,32,64,252,64,32,2,121,121,68,238,68, - 68,68,68,68,68,68,2,105,121,16,8,252,8,16,8,252, - 8,16,2,122,122,68,68,68,68,68,68,68,68,238,68,3, - 103,119,32,64,252,0,252,8,16,3,103,119,16,8,252,0, - 252,64,32,3,119,119,16,34,126,132,126,40,16,4,117,117, - 40,124,146,124,40,3,119,119,16,40,252,66,252,136,16,3, - 119,119,16,32,126,128,126,32,16,2,121,121,16,40,108,170, - 40,40,40,40,40,3,119,119,16,8,252,2,252,8,16,2, - 121,121,40,40,40,40,40,170,108,40,16,4,117,117,40,124, - 130,124,40,2,122,122,16,40,108,170,40,40,170,108,40,16, - 2,119,119,252,144,136,196,162,144,8,2,119,119,126,18,34, - 70,138,18,32,2,119,119,32,18,138,70,34,18,126,2,119, - 119,8,144,162,196,136,144,252,2,121,121,8,16,62,64,254, - 64,62,16,8,2,121,121,32,16,248,4,254,4,248,16,32, - 4,117,117,32,72,254,68,32,4,117,117,8,36,254,68,8, - 18,89,121,32,112,168,32,248,32,248,32,32,18,89,121,32, - 32,248,32,248,32,168,112,32,3,119,119,16,32,64,182,64, - 32,16,2,122,122,16,40,84,146,0,16,16,0,16,16,3, - 119,119,16,8,4,218,4,8,16,2,122,122,16,16,0,16, - 16,0,146,84,40,16,4,117,117,144,160,254,160,144,4,117, - 117,18,10,254,10,18,3,119,119,16,48,94,130,94,48,16, - 2,121,121,16,40,68,238,40,40,40,40,56,3,119,119,16, - 24,244,130,244,24,16,2,121,121,56,40,40,40,40,238,68, - 40,16,1,124,124,16,40,68,238,40,40,40,56,0,56,40, - 56,1,122,122,16,40,68,238,40,40,40,108,68,124,1,122, - 122,16,40,68,254,40,40,40,108,68,124,1,122,122,16,40, - 68,254,56,56,56,124,68,124,2,121,121,16,40,68,238,68, - 238,40,40,56,1,122,122,16,40,68,238,68,238,40,108,68, - 124,3,119,119,144,152,244,130,244,152,144,2,119,119,254,128, - 188,176,168,164,130,2,119,119,130,74,42,26,122,2,254,2, - 121,121,16,40,68,238,40,238,68,40,16,255,255,255,255,255, - 255,255,255,255,255,255,255,7,118,118,254,254,254,254,254,254, - 0,114,114,254,254,0,115,115,254,254,254,0,117,117,254,254, - 254,254,254,0,119,119,254,254,254,254,254,254,254,0,120,120, - 254,254,254,254,254,254,254,254,0,122,122,254,254,254,254,254, - 254,254,254,254,254,0,123,123,254,254,254,254,254,254,254,254, - 254,254,254,0,125,125,254,254,254,254,254,254,254,254,254,254, - 254,254,254,0,109,125,252,252,252,252,252,252,252,252,252,252, - 252,252,252,0,93,125,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,77,125,240,240,240,240,240,240,240,240,240,240, - 240,240,240,0,77,125,240,240,240,240,240,240,240,240,240,240, - 240,240,240,0,61,125,224,224,224,224,224,224,224,224,224,224, - 224,224,224,0,45,125,192,192,192,192,192,192,192,192,192,192, - 192,192,192,0,29,125,128,128,128,128,128,128,128,128,128,128, - 128,128,128,64,61,125,224,224,224,224,224,224,224,224,224,224, - 224,224,224,1,123,123,84,0,170,0,84,0,170,0,84,0, - 170,0,125,125,170,84,170,84,170,84,170,84,170,84,170,84, - 170,0,125,125,254,84,254,170,254,84,254,170,254,84,254,170, - 254,11,114,114,254,254,96,29,125,128,128,128,128,128,128,128, - 128,128,128,128,128,128,0,71,119,240,240,240,240,240,240,240, - 64,55,119,224,224,224,224,224,224,224,7,70,118,240,240,240, - 240,240,240,0,125,125,240,240,240,240,240,240,254,254,254,254, - 254,254,254,0,125,125,240,240,240,240,240,240,14,14,14,14, - 14,14,14,0,125,125,254,254,254,254,254,254,240,240,240,240, - 240,240,240,0,125,125,254,254,254,254,254,254,14,14,14,14, - 14,14,14,71,54,118,224,224,224,224,224,224,0,125,125,14, - 14,14,14,14,14,240,240,240,240,240,240,240,0,125,125,14, - 14,14,14,14,14,254,254,254,254,254,254,254,3,119,119,254, - 254,254,254,254,254,254,3,119,119,254,130,130,130,130,130,254, - 3,119,119,124,130,130,130,130,130,124,3,119,119,254,130,186, - 186,186,130,254,3,119,119,254,130,254,130,254,130,254,3,119, - 119,254,170,170,170,170,170,254,3,119,119,254,170,254,170,254, - 170,254,3,119,119,254,146,138,198,162,146,254,3,119,119,254, - 146,162,198,138,146,254,3,119,119,254,214,170,214,170,214,254, - 20,85,117,248,248,248,248,248,20,85,117,248,136,136,136,248, - 4,117,117,254,254,254,254,254,4,117,117,254,130,130,130,254, - 19,87,119,248,248,248,248,248,248,248,19,87,119,248,136,136, - 136,136,136,248,4,117,117,62,126,254,252,248,4,117,117,62, - 66,130,132,248,2,120,120,16,16,56,56,124,124,254,254,2, - 120,120,16,16,40,40,68,68,130,254,19,86,118,32,32,112, - 112,248,248,19,86,118,32,32,80,80,136,248,3,119,119,128, - 224,248,254,248,224,128,3,119,119,128,224,152,134,152,224,128, - 4,101,117,192,240,252,240,192,4,101,117,192,176,140,176,192, - 4,117,117,128,240,254,240,128,4,117,117,128,240,142,240,128, - 2,120,120,254,254,124,124,56,56,16,16,2,120,120,254,130, - 68,68,40,40,16,16,19,86,118,248,248,112,112,32,32,19, - 86,118,248,136,80,80,32,32,3,119,119,2,14,62,254,62, - 14,2,3,119,119,2,14,50,194,50,14,2,4,101,117,12, - 60,252,60,12,4,101,117,12,52,196,52,12,4,117,117,2, - 30,254,30,2,4,117,117,2,30,226,30,2,2,119,119,16, - 56,124,254,124,56,16,2,119,119,16,40,68,130,68,40,16, - 2,119,119,16,40,84,186,84,40,16,3,119,119,56,68,146, - 186,146,68,56,18,89,121,32,32,80,80,136,80,80,32,32, - 3,119,119,56,68,130,130,130,68,56,3,119,119,40,0,130, - 0,130,0,40,3,119,119,56,108,170,170,170,108,56,3,119, - 119,56,68,146,170,146,68,56,3,119,119,56,124,254,254,254, - 124,56,3,119,119,56,116,242,242,242,116,56,3,119,119,56, - 92,158,158,158,92,56,3,119,119,56,68,130,254,254,124,56, - 3,119,119,56,124,254,254,130,68,56,3,119,119,56,92,158, - 158,130,68,56,3,119,119,56,76,142,142,254,124,56,51,71, - 119,192,224,240,240,240,224,192,3,71,119,48,112,240,240,240, - 112,48,0,125,125,254,254,254,254,198,130,130,130,198,254,254, - 254,254,0,125,125,254,254,254,254,198,186,186,186,198,254,254, - 254,254,6,119,119,254,254,254,254,198,186,186,0,119,119,186, - 186,198,254,254,254,254,6,68,116,48,64,128,128,54,68,116, - 192,32,16,16,51,68,116,16,16,32,192,3,68,116,128,128, - 64,48,6,116,116,56,68,130,130,3,116,116,130,130,68,56, - 3,119,119,2,6,14,30,62,126,254,3,119,119,128,192,224, - 240,248,252,254,3,119,119,254,252,248,240,224,192,128,3,119, - 119,254,126,62,30,14,6,2,20,85,117,112,136,136,136,112, - 3,119,119,254,226,226,226,226,226,254,3,119,119,254,142,142, - 142,142,142,254,3,119,119,254,254,250,242,226,194,254,3,119, - 119,254,134,142,158,190,254,254,3,119,119,254,146,146,146,146, - 146,254,2,120,120,16,16,40,40,84,124,146,254,2,120,120, - 16,16,56,56,116,116,242,254,2,120,120,16,16,56,56,92, - 92,158,254,3,119,119,56,68,130,130,130,68,56,2,119,119, - 254,146,146,242,130,130,254,2,119,119,254,130,130,242,146,146, - 254,2,119,119,254,130,130,158,146,146,254,2,119,119,254,146, - 146,158,130,130,254,2,119,119,56,84,146,242,130,68,56,2, - 119,119,56,68,130,242,146,84,56,2,119,119,56,68,130,158, - 146,84,56,2,119,119,56,84,146,158,130,68,56,255,255,255, - 255,255,255,255,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 7, '1' Height: 5 - Calculated Max Values w= 7 h= 9 x= 1 y= 2 dx= 7 dy= 0 ascent= 9 len= 9 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent = 9 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13_75r[471] U8G_SECTION(".progmem.u8g_font_7x13_75r") = { - 1,7,13,0,254,7,1,71,0,0,32,79,0,9,0,8, - 0,3,119,119,254,254,254,254,254,254,254,3,119,119,254,130, - 130,130,130,130,254,3,119,119,124,130,130,130,130,130,124,3, - 119,119,254,130,186,186,186,130,254,3,119,119,254,130,254,130, - 254,130,254,3,119,119,254,170,170,170,170,170,254,3,119,119, - 254,170,254,170,254,170,254,3,119,119,254,146,138,198,162,146, - 254,3,119,119,254,146,162,198,138,146,254,3,119,119,254,214, - 170,214,170,214,254,20,85,117,248,248,248,248,248,20,85,117, - 248,136,136,136,248,4,117,117,254,254,254,254,254,4,117,117, - 254,130,130,130,254,19,87,119,248,248,248,248,248,248,248,19, - 87,119,248,136,136,136,136,136,248,4,117,117,62,126,254,252, - 248,4,117,117,62,66,130,132,248,2,120,120,16,16,56,56, - 124,124,254,254,2,120,120,16,16,40,40,68,68,130,254,19, - 86,118,32,32,112,112,248,248,19,86,118,32,32,80,80,136, - 248,3,119,119,128,224,248,254,248,224,128,3,119,119,128,224, - 152,134,152,224,128,4,101,117,192,240,252,240,192,4,101,117, - 192,176,140,176,192,4,117,117,128,240,254,240,128,4,117,117, - 128,240,142,240,128,2,120,120,254,254,124,124,56,56,16,16, - 2,120,120,254,130,68,68,40,40,16,16,19,86,118,248,248, - 112,112,32,32,19,86,118,248,136,80,80,32,32,3,119,119, - 2,14,62,254,62,14,2,3,119,119,2,14,50,194,50,14, - 2,4,101,117,12,60,252,60,12,4,101,117,12,52,196,52, - 12,4,117,117,2,30,254,30,2,4,117,117,2,30,226,30, - 2,2,119,119,16,56,124,254,124,56,16,2,119,119,16,40, - 68,130,68,40,16,2,119,119,16,40,84,186,84,40,16,3, - 119,119,56,68,146,186,146,68,56,18,89,121,32,32,80,80, - 136,80,80,32,32,3,119,119,56,68,130,130,130,68,56,3, - 119,119,40,0,130,0,130,0,40,3,119,119,56,108,170,170, - 170,108,56,3,119,119,56,68,146,170,146,68,56,3,119,119, - 56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13B[2172] U8G_SECTION(".progmem.u8g_font_7x13B") = { - 1,7,13,0,254,9,1,105,2,216,32,255,254,11,254,9, - 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, - 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, - 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, - 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, - 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, - 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, - 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, - 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, - 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, - 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, - 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, - 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, - 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, - 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, - 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, - 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, - 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, - 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, - 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, - 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, - 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, - 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, - 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, - 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, - 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, - 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, - 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, - 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, - 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, - 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, - 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, - 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, - 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, - 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, - 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, - 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, - 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, - 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, - 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, - 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, - 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, - 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, - 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, - 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, - 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, - 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, - 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, - 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, - 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, - 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, - 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, - 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, - 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, - 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, - 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, - 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, - 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, - 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, - 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, - 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, - 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, - 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, - 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, - 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, - 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,13,0,112,34,42,122,192,192,0,192,192,192,192,192,192, - 192,3,104,120,16,124,212,208,208,212,124,16,2,105,121,56, - 108,96,96,248,96,96,108,184,3,102,118,204,252,72,72,252, - 204,2,105,121,204,204,120,120,252,48,252,48,48,34,42,122, - 192,192,192,192,0,0,192,192,192,192,2,106,122,120,204,192, - 120,204,204,120,12,204,120,26,82,114,216,216,2,106,122,120, - 204,132,180,228,228,180,132,204,120,20,87,119,240,24,248,152, - 248,0,248,3,103,119,52,104,208,160,208,104,52,3,100,116, - 252,12,12,12,21,65,113,240,2,106,122,120,204,132,188,172, - 188,180,172,204,120,27,81,113,248,7,100,116,120,204,204,120, - 3,103,119,48,48,252,48,48,0,252,6,70,118,224,176,48, - 96,192,240,6,70,118,224,176,96,48,176,224,25,67,115,48, - 96,192,1,103,119,204,204,204,204,204,252,128,2,105,121,124, - 252,244,244,244,116,52,52,52,38,34,114,192,192,16,50,114, - 96,192,6,70,118,96,224,96,96,96,240,21,87,119,112,248, - 136,248,112,0,248,3,103,119,176,88,44,20,44,88,176,2, - 106,122,96,224,96,96,100,252,28,52,60,12,2,106,122,96, - 224,96,96,120,236,12,24,48,60,2,106,122,224,176,96,48, - 180,236,28,52,60,12,2,106,122,48,48,0,48,48,96,192, - 204,204,120,2,106,122,96,48,0,48,120,204,204,252,204,204, - 2,106,122,24,48,0,48,120,204,204,252,204,204,2,106,122, - 56,108,0,48,120,204,204,252,204,204,2,106,122,52,88,0, - 48,120,204,204,252,204,204,2,106,122,204,204,0,48,120,204, - 204,252,204,204,2,106,122,120,72,120,48,120,204,204,252,204, - 204,2,105,121,124,248,216,216,220,248,216,216,220,0,107,123, - 120,204,192,192,192,192,192,204,120,48,96,2,106,122,96,48, - 0,252,192,192,240,192,192,252,2,106,122,24,48,0,252,192, - 192,240,192,192,252,2,106,122,56,108,0,252,192,192,240,192, - 192,252,2,106,122,204,204,0,252,192,192,240,192,192,252,2, - 106,122,96,48,0,252,48,48,48,48,48,252,2,106,122,24, - 48,0,252,48,48,48,48,48,252,2,106,122,56,108,0,252, - 48,48,48,48,48,252,2,106,122,204,204,0,252,48,48,48, - 48,48,252,2,105,121,248,108,108,108,236,108,108,108,248,2, - 106,122,52,88,0,204,204,236,252,220,204,204,2,106,122,96, - 48,0,120,204,204,204,204,204,120,2,106,122,24,48,0,120, - 204,204,204,204,204,120,2,106,122,56,108,0,120,204,204,204, - 204,204,120,2,106,122,52,88,0,120,204,204,204,204,204,120, - 2,106,122,204,204,0,120,204,204,204,204,204,120,3,101,117, - 204,120,48,120,204,1,106,122,4,120,220,220,220,236,236,236, - 120,128,2,106,122,96,48,0,204,204,204,204,204,204,120,2, - 106,122,24,48,0,204,204,204,204,204,204,120,2,106,122,56, - 108,0,204,204,204,204,204,204,120,2,106,122,204,204,0,204, - 204,204,204,204,204,120,2,106,122,24,48,0,204,72,120,48, - 48,48,48,2,105,121,192,248,204,204,204,248,192,192,192,2, - 105,121,120,204,204,216,216,204,204,204,216,2,105,121,48,24, - 0,120,12,124,204,220,124,2,105,121,24,48,0,120,12,124, - 204,220,124,2,105,121,56,108,0,120,12,124,204,220,124,2, - 105,121,52,88,0,120,12,124,204,220,124,2,105,121,108,108, - 0,120,12,124,204,220,124,2,106,122,56,40,56,0,120,12, - 124,204,220,124,2,102,118,120,52,124,176,180,104,0,104,120, - 120,204,192,192,204,120,48,96,2,105,121,48,24,0,120,204, - 252,192,204,120,2,105,121,24,48,0,120,204,252,192,204,120, - 2,105,121,56,108,0,120,204,252,192,204,120,2,105,121,108, - 108,0,120,204,252,192,204,120,18,73,121,192,96,0,224,96, - 96,96,96,240,18,73,121,48,96,0,224,96,96,96,96,240, - 2,89,121,112,216,0,112,48,48,48,48,120,18,89,121,216, - 216,0,224,96,96,96,96,240,2,106,122,104,48,120,12,124, - 204,204,204,204,120,2,105,121,52,88,0,248,236,204,204,204, - 204,2,105,121,96,48,0,120,204,204,204,204,120,2,105,121, - 24,48,0,120,204,204,204,204,120,2,105,121,56,108,0,120, - 204,204,204,204,120,2,105,121,52,88,0,120,204,204,204,204, - 120,2,105,121,108,108,0,120,204,204,204,204,120,3,103,119, - 48,48,0,252,0,48,48,1,105,121,4,120,204,220,204,236, - 204,120,128,2,105,121,96,48,0,204,204,204,204,220,124,2, - 105,121,24,48,0,204,204,204,204,220,124,2,105,121,56,108, - 0,204,204,204,204,220,124,2,105,121,108,108,0,204,204,204, - 204,220,124,0,107,123,24,48,0,204,204,204,220,124,12,204, - 120,0,106,122,192,192,216,236,204,204,236,216,192,192,0,107, - 123,108,108,0,204,204,204,220,108,12,204,120}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13Br[1041] U8G_SECTION(".progmem.u8g_font_7x13Br") = { - 1,7,13,0,254,9,1,105,2,216,32,127,254,11,254,9, - 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, - 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, - 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, - 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, - 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, - 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, - 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, - 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, - 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, - 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, - 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, - 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, - 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, - 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, - 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, - 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, - 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, - 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, - 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, - 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, - 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, - 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, - 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, - 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, - 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, - 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, - 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, - 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, - 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, - 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, - 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, - 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, - 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, - 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, - 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, - 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, - 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, - 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, - 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, - 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, - 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, - 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, - 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, - 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, - 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, - 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, - 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, - 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, - 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, - 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, - 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, - 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, - 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, - 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, - 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, - 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, - 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, - 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, - 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, - 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, - 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, - 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, - 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, - 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, - 255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13[2157] U8G_SECTION(".progmem.u8g_font_7x13") = { - 1,7,13,0,254,9,1,95,2,207,32,255,254,11,254,10, - 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, - 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, - 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, - 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, - 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, - 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, - 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, - 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, - 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, - 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, - 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, - 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, - 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, - 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, - 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, - 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, - 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, - 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, - 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, - 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, - 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, - 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, - 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, - 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, - 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, - 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, - 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, - 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, - 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, - 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, - 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, - 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, - 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, - 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, - 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, - 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, - 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, - 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, - 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, - 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, - 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, - 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, - 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, - 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, - 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, - 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, - 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, - 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, - 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, - 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, - 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, - 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, - 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, - 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, - 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, - 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, - 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, - 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, - 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, - 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, - 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, - 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, - 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, - 16,16,224,24,83,115,72,168,144,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,13,0,112,50,25,121, - 128,0,128,128,128,128,128,128,128,19,88,120,32,112,168,160, - 160,168,112,32,2,105,121,56,68,64,64,224,64,64,68,184, - 3,102,118,132,120,72,72,120,132,2,89,121,136,136,80,80, - 248,32,248,32,32,50,25,121,128,128,128,128,0,128,128,128, - 128,18,74,122,96,144,128,96,144,144,96,16,144,96,25,66, - 114,144,144,2,105,121,120,132,180,164,164,164,180,132,120,20, - 87,119,112,8,120,136,120,0,248,3,103,119,20,40,80,160, - 80,40,20,20,83,115,248,8,8,22,65,113,240,2,105,121, - 120,132,180,172,172,180,172,132,120,26,81,113,248,23,68,116, - 96,144,144,96,19,87,119,32,32,248,32,32,0,248,22,54, - 118,64,160,32,64,128,224,22,54,118,224,32,64,32,160,64, - 42,34,114,64,128,1,103,119,132,132,132,132,204,180,128,2, - 105,121,124,232,232,232,104,40,40,40,40,38,33,113,192,32, - 34,114,64,128,22,54,118,64,192,64,64,64,224,21,70,118, - 96,144,144,96,0,240,3,103,119,160,80,40,20,40,80,160, - 2,106,122,64,192,64,64,68,236,20,20,28,4,2,106,122, - 64,192,64,64,72,244,4,8,16,28,2,106,122,224,32,64, - 32,164,76,20,20,28,4,2,105,121,32,0,32,32,64,128, - 132,132,120,2,106,122,32,16,0,48,72,132,132,252,132,132, - 2,106,122,16,32,0,48,72,132,132,252,132,132,2,106,122, - 48,72,0,48,72,132,132,252,132,132,2,106,122,100,152,0, - 48,72,132,132,252,132,132,2,106,122,72,72,0,48,72,132, - 132,252,132,132,2,106,122,48,72,48,48,72,132,132,252,132, - 132,2,105,121,92,160,160,160,184,224,160,160,188,0,107,123, - 120,132,128,128,128,128,128,132,120,16,32,2,106,122,32,16, - 0,252,128,128,240,128,128,252,2,106,122,16,32,0,252,128, - 128,240,128,128,252,2,106,122,48,72,0,252,128,128,240,128, - 128,252,2,106,122,72,72,0,252,128,128,240,128,128,252,18, - 90,122,64,32,0,248,32,32,32,32,32,248,18,90,122,32, - 64,0,248,32,32,32,32,32,248,18,90,122,32,80,0,248, - 32,32,32,32,32,248,18,90,122,136,136,0,248,32,32,32, - 32,32,248,2,105,121,248,68,68,68,228,68,68,68,248,2, - 106,122,100,152,0,132,196,164,164,148,140,132,2,106,122,32, - 16,0,120,132,132,132,132,132,120,2,106,122,16,32,0,120, - 132,132,132,132,132,120,2,106,122,48,72,0,120,132,132,132, - 132,132,120,2,106,122,100,152,0,120,132,132,132,132,132,120, - 2,106,122,72,72,0,120,132,132,132,132,132,120,3,102,118, - 132,72,48,48,72,132,1,107,123,4,120,140,148,148,164,164, - 164,196,120,128,2,106,122,32,16,0,132,132,132,132,132,132, - 120,2,106,122,16,32,0,132,132,132,132,132,132,120,2,106, - 122,48,72,0,132,132,132,132,132,132,120,2,106,122,72,72, - 0,132,132,132,132,132,132,120,18,90,122,16,32,0,136,136, - 80,32,32,32,32,2,105,121,128,248,132,132,132,248,128,128, - 128,18,89,121,96,144,144,160,160,144,136,136,176,2,105,121, - 32,16,0,120,4,124,132,140,116,2,105,121,16,32,0,120, - 4,124,132,140,116,2,105,121,48,72,0,120,4,124,132,140, - 116,2,105,121,100,152,0,120,4,124,132,140,116,2,105,121, - 72,72,0,120,4,124,132,140,116,2,106,122,48,72,48,0, - 120,4,124,132,140,116,2,102,118,104,20,124,144,148,104,0, - 104,120,120,132,128,128,132,120,16,32,2,105,121,32,16,0, - 120,132,252,128,132,120,2,105,121,16,32,0,120,132,252,128, - 132,120,2,105,121,48,72,0,120,132,252,128,132,120,2,105, - 121,72,72,0,120,132,252,128,132,120,18,89,121,64,32,0, - 96,32,32,32,32,248,18,89,121,32,64,0,96,32,32,32, - 32,248,18,89,121,96,144,0,96,32,32,32,32,248,18,89, - 121,144,144,0,96,32,32,32,32,248,2,106,122,72,48,80, - 8,120,132,132,132,132,120,2,105,121,100,152,0,184,196,132, - 132,132,132,2,105,121,32,16,0,120,132,132,132,132,120,2, - 105,121,16,32,0,120,132,132,132,132,120,2,105,121,48,72, - 0,120,132,132,132,132,120,2,105,121,100,152,0,120,132,132, - 132,132,120,2,105,121,72,72,0,120,132,132,132,132,120,19, - 87,119,32,32,0,248,0,32,32,1,104,120,4,120,140,148, - 164,196,120,128,2,105,121,32,16,0,132,132,132,132,140,116, - 2,105,121,16,32,0,132,132,132,132,140,116,2,105,121,48, - 72,0,132,132,132,132,140,116,2,105,121,72,72,0,132,132, - 132,132,140,116,0,107,123,16,32,0,132,132,132,140,116,4, - 132,120,0,106,122,128,128,184,196,132,132,196,184,128,128,0, - 107,123,72,72,0,132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13O[2158] U8G_SECTION(".progmem.u8g_font_7x13O") = { - 1,7,13,0,254,9,1,96,2,208,32,255,254,11,254,10, - 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, - 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, - 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, - 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, - 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, - 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, - 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, - 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, - 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, - 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, - 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, - 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, - 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, - 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, - 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, - 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, - 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, - 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, - 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, - 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, - 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, - 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, - 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, - 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, - 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, - 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, - 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, - 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, - 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, - 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, - 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, - 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, - 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, - 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, - 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, - 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, - 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, - 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, - 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, - 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, - 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, - 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, - 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, - 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, - 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, - 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, - 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, - 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, - 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, - 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, - 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, - 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, - 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, - 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, - 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, - 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, - 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, - 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, - 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, - 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, - 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, - 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, - 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, - 16,16,16,224,24,83,115,72,168,144,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,13,0,112,34,41, - 121,64,0,64,64,64,128,128,128,128,3,104,120,16,56,84, - 80,160,168,112,32,2,121,121,28,34,32,32,112,32,64,68, - 184,3,118,118,66,60,36,72,120,132,2,105,121,68,68,40, - 40,124,16,248,32,32,34,41,121,64,64,64,64,0,128,128, - 128,128,2,106,122,24,36,32,48,72,72,48,16,144,96,25, - 66,114,144,144,2,121,121,60,66,90,82,82,164,180,132,120, - 4,103,119,56,4,60,68,60,0,248,3,103,119,20,40,80, - 160,160,80,40,20,83,115,248,16,16,22,65,113,240,2,121, - 121,60,66,90,86,172,180,172,132,120,26,81,113,248,23,68, - 116,96,144,144,96,19,87,119,16,16,120,32,32,0,248,22, - 70,118,32,80,16,96,128,224,22,70,118,96,16,96,32,160, - 64,42,34,114,64,128,1,119,119,66,66,66,132,204,180,128, - 2,105,121,124,232,232,232,40,80,80,80,80,38,33,113,192, - 32,34,114,64,128,38,54,118,32,96,32,64,64,224,21,86, - 118,48,72,72,48,0,240,3,103,119,80,40,20,20,40,80, - 160,2,106,122,32,96,32,64,68,236,20,40,56,8,2,106, - 122,32,96,32,64,72,244,4,24,32,56,2,106,122,96,16, - 96,32,164,76,20,40,56,8,2,105,121,16,0,16,16,32, - 64,132,132,120,2,122,122,16,8,0,24,36,66,66,124,132, - 132,2,122,122,8,16,0,24,36,66,66,124,132,132,2,122, - 122,24,36,0,24,36,66,66,124,132,132,2,122,122,50,76, - 0,24,36,66,66,124,132,132,2,122,122,36,36,0,24,36, - 66,66,124,132,132,2,122,122,24,36,24,24,36,66,66,124, - 132,132,2,121,121,46,80,80,80,124,160,160,160,188,0,123, - 123,60,66,64,64,64,128,128,132,120,16,32,2,122,122,16, - 8,0,126,64,64,112,128,128,252,2,122,122,8,16,0,126, - 64,64,112,128,128,252,2,122,122,24,36,0,126,64,64,112, - 128,128,252,2,122,122,36,36,0,126,64,64,112,128,128,252, - 2,106,122,32,16,0,124,16,16,32,32,32,248,2,106,122, - 16,32,0,124,16,16,32,32,32,248,2,106,122,16,40,0, - 124,16,16,32,32,32,248,2,106,122,68,68,0,124,16,16, - 32,32,32,248,2,121,121,124,34,34,34,242,68,68,68,248, - 2,122,122,50,76,0,66,98,82,82,140,140,132,2,122,122, - 16,8,0,60,66,66,132,132,132,120,2,122,122,8,16,0, - 60,66,66,132,132,132,120,2,122,122,24,36,0,60,66,66, - 132,132,132,120,2,122,122,50,76,0,60,66,66,132,132,132, - 120,2,122,122,36,36,0,60,66,66,132,132,132,120,3,118, - 118,66,36,24,48,72,132,1,123,123,2,60,70,74,74,82, - 164,164,196,120,128,2,122,122,16,8,0,66,66,66,132,132, - 132,120,2,122,122,8,16,0,66,66,66,132,132,132,120,2, - 122,122,24,36,0,66,66,66,132,132,132,120,2,122,122,36, - 36,0,66,66,66,132,132,132,120,18,90,122,16,32,0,136, - 136,80,32,32,64,64,2,121,121,64,124,66,66,66,124,128, - 128,128,18,89,121,48,72,72,80,80,144,136,136,176,2,121, - 121,16,8,0,60,2,124,132,140,116,2,121,121,8,16,0, - 60,2,124,132,140,116,2,121,121,24,36,0,60,2,124,132, - 140,116,2,121,121,50,76,0,60,2,124,132,140,116,2,121, - 121,36,36,0,60,2,124,132,140,116,2,122,122,24,36,24, - 0,60,2,124,132,140,116,2,118,118,52,10,124,144,148,104, - 0,120,120,60,66,128,128,132,120,16,32,2,121,121,16,8, - 0,60,66,124,128,132,120,2,121,121,8,16,0,60,66,124, - 128,132,120,2,121,121,24,36,0,60,66,124,128,132,120,2, - 121,121,36,36,0,60,66,124,128,132,120,18,89,121,32,16, - 0,48,16,32,32,32,248,18,89,121,16,32,0,48,16,32, - 32,32,248,18,89,121,48,72,0,48,16,32,32,32,248,18, - 89,121,72,72,0,48,16,32,32,32,248,2,122,122,36,24, - 40,4,60,66,66,132,132,120,2,121,121,50,76,0,92,98, - 66,132,132,132,2,121,121,16,8,0,60,66,66,132,132,120, - 2,121,121,8,16,0,60,66,66,132,132,120,2,121,121,24, - 36,0,60,66,66,132,132,120,2,121,121,50,76,0,60,66, - 66,132,132,120,2,121,121,36,36,0,60,66,66,132,132,120, - 19,71,119,32,32,0,240,0,64,64,1,120,120,2,60,74, - 82,164,196,120,128,2,121,121,16,8,0,66,66,66,132,140, - 116,2,121,121,8,16,0,66,66,66,132,140,116,2,121,121, - 24,36,0,66,66,66,132,140,116,2,121,121,36,36,0,66, - 66,66,132,140,116,0,123,123,8,16,0,66,66,132,140,116, - 4,132,120,0,122,122,64,64,92,98,66,132,196,184,128,128, - 0,123,123,36,36,0,66,66,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13Or[1035] U8G_SECTION(".progmem.u8g_font_7x13Or") = { - 1,7,13,0,254,9,1,96,2,208,32,127,254,11,254,10, - 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, - 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, - 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, - 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, - 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, - 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, - 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, - 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, - 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, - 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, - 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, - 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, - 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, - 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, - 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, - 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, - 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, - 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, - 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, - 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, - 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, - 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, - 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, - 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, - 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, - 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, - 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, - 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, - 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, - 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, - 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, - 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, - 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, - 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, - 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, - 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, - 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, - 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, - 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, - 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, - 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, - 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, - 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, - 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, - 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, - 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, - 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, - 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, - 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, - 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, - 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, - 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, - 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, - 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, - 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, - 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, - 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, - 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, - 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, - 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, - 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, - 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, - 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, - 16,16,16,224,24,83,115,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13r[1034] U8G_SECTION(".progmem.u8g_font_7x13r") = { - 1,7,13,0,254,9,1,95,2,207,32,127,254,11,254,10, - 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, - 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, - 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, - 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, - 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, - 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, - 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, - 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, - 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, - 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, - 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, - 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, - 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, - 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, - 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, - 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, - 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, - 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, - 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, - 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, - 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, - 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, - 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, - 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, - 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, - 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, - 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, - 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, - 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, - 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, - 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, - 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, - 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, - 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, - 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, - 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, - 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, - 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, - 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, - 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, - 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, - 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, - 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, - 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, - 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, - 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, - 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, - 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, - 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, - 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, - 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, - 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, - 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, - 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, - 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, - 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, - 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, - 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, - 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, - 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, - 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, - 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, - 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, - 16,16,224,24,83,115,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=14 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14B[2390] U8G_SECTION(".progmem.u8g_font_7x14B") = { - 1,7,14,0,254,10,1,137,3,30,32,255,254,12,254,11, - 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, - 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, - 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, - 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, - 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, - 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, - 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, - 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, - 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, - 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, - 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, - 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, - 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, - 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, - 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, - 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, - 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, - 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, - 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, - 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, - 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, - 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, - 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, - 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, - 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, - 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, - 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, - 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, - 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, - 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, - 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, - 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, - 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, - 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, - 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, - 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, - 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, - 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, - 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, - 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, - 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, - 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, - 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, - 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, - 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, - 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, - 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, - 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, - 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, - 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, - 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, - 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, - 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, - 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, - 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, - 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, - 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, - 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, - 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, - 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, - 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, - 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, - 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, - 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, - 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, - 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, - 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, - 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, - 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, - 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, - 24,48,48,48,48,48,224,9,100,116,68,244,188,136,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,14, - 0,112,34,42,122,192,192,0,192,192,192,192,192,192,192,1, - 105,121,48,124,180,176,176,176,180,124,48,2,105,121,56,108, - 96,96,240,96,96,248,108,4,102,118,204,120,104,88,120,204, - 2,106,122,132,204,120,252,48,48,252,48,48,48,34,42,122, - 192,192,192,192,0,0,192,192,192,192,2,107,123,120,204,96, - 48,120,204,120,48,24,204,120,27,82,114,216,216,2,107,123, - 120,204,252,236,236,236,236,236,252,204,120,21,88,120,112,216, - 120,216,216,120,0,248,2,103,119,28,60,120,240,120,60,28, - 2,101,117,252,252,12,12,12,22,65,113,240,2,107,123,120, - 204,252,236,236,252,236,236,236,204,120,28,81,113,248,25,84, - 116,112,216,216,112,2,102,118,48,48,252,48,48,252,22,87, - 119,112,216,24,48,96,192,248,22,87,119,112,216,24,112,24, - 216,112,26,67,115,48,96,192,0,104,120,204,204,204,204,220, - 252,192,192,0,108,124,124,236,236,236,236,108,44,44,44,44, - 44,60,39,34,114,192,192,32,51,115,96,96,192,22,54,118, - 96,224,96,96,96,96,22,86,118,112,216,216,112,0,248,2, - 103,119,224,112,56,28,56,112,224,2,106,122,100,236,104,120, - 120,52,108,92,220,140,2,106,122,100,236,104,120,120,56,116, - 76,216,156,2,106,122,196,108,232,120,240,60,108,220,156,12, - 0,107,123,96,96,0,96,96,96,96,96,204,204,120,2,108, - 124,96,48,0,120,252,204,204,204,252,204,204,204,2,108,124, - 24,48,0,120,252,204,204,204,252,204,204,204,2,108,124,48, - 120,0,120,252,204,204,204,252,204,204,204,2,108,124,104,176, - 0,120,252,204,204,204,252,204,204,204,2,108,124,204,204,0, - 120,252,204,204,204,252,204,204,204,2,108,124,48,72,48,0, - 120,252,204,204,252,204,204,204,2,122,122,126,216,216,216,220, - 248,216,216,216,222,0,108,124,120,204,204,192,192,192,192,204, - 204,120,48,96,2,108,124,96,48,0,252,192,192,192,248,192, - 192,192,252,2,108,124,24,48,0,252,192,192,192,248,192,192, - 192,252,2,108,124,48,120,0,252,192,192,192,248,192,192,192, - 252,2,108,124,204,204,0,252,192,192,192,248,192,192,192,252, - 2,108,124,96,48,0,252,48,48,48,48,48,48,48,252,2, - 108,124,24,48,0,252,48,48,48,48,48,48,48,252,2,108, - 124,48,120,0,252,48,48,48,48,48,48,48,252,2,108,124, - 204,204,0,252,48,48,48,48,48,48,48,252,2,122,122,120, - 108,102,102,254,102,102,102,108,120,2,108,124,104,176,0,204, - 236,236,236,220,220,220,204,204,2,108,124,96,48,0,120,204, - 204,204,204,204,204,204,120,2,108,124,24,48,0,120,204,204, - 204,204,204,204,204,120,2,108,124,48,120,0,120,204,204,204, - 204,204,204,204,120,2,108,124,104,176,0,120,204,204,204,204, - 204,204,204,120,2,108,124,204,204,0,120,204,204,204,204,204, - 204,204,120,2,119,119,198,108,56,56,108,198,130,0,110,126, - 4,4,120,220,220,220,220,236,236,236,236,120,128,128,2,108, - 124,96,48,0,204,204,204,204,204,204,204,204,120,2,108,124, - 24,48,0,204,204,204,204,204,204,204,204,120,2,108,124,48, - 120,0,204,204,204,204,204,204,204,204,120,2,108,124,204,204, - 0,204,204,204,204,204,204,204,204,120,2,108,124,24,48,0, - 204,204,204,120,120,120,48,48,48,2,106,122,192,192,248,204, - 204,204,204,248,192,192,2,106,122,56,108,108,108,120,108,108, - 108,108,248,2,106,122,96,48,0,120,204,60,108,204,204,124, - 2,106,122,24,48,0,120,204,60,108,204,204,124,2,106,122, - 48,120,0,120,204,60,108,204,204,124,2,106,122,104,176,0, - 120,204,60,108,204,204,124,2,106,122,204,204,0,120,204,60, - 108,204,204,124,2,107,123,48,72,48,0,120,204,60,108,204, - 204,124,2,119,119,124,218,58,94,216,222,124,0,105,121,120, - 204,192,192,192,204,120,48,96,2,106,122,96,48,0,120,204, - 204,252,192,204,120,2,106,122,24,48,0,120,204,204,252,192, - 204,120,2,106,122,48,120,0,120,204,204,252,192,204,120,2, - 106,122,204,204,0,120,204,204,252,192,204,120,34,58,122,192, - 96,0,96,96,96,96,96,96,96,34,58,122,96,192,0,192, - 192,192,192,192,192,192,18,74,122,96,240,0,96,96,96,96, - 96,96,96,2,106,122,204,204,0,48,48,48,48,48,48,48, - 2,107,123,216,112,240,152,12,124,204,204,204,204,120,2,106, - 122,104,176,0,248,204,204,204,204,204,204,2,106,122,96,48, - 0,120,204,204,204,204,204,120,2,106,122,24,48,0,120,204, - 204,204,204,204,120,2,106,122,48,120,0,120,204,204,204,204, - 204,120,2,106,122,104,176,0,120,204,204,204,204,204,120,2, - 106,122,204,204,0,120,204,204,204,204,204,120,2,104,120,48, - 48,0,252,252,0,48,48,0,107,123,4,8,120,220,220,236, - 236,204,120,128,128,2,106,122,96,48,0,204,204,204,204,204, - 204,124,2,106,122,24,48,0,204,204,204,204,204,204,124,2, - 106,122,48,120,0,204,204,204,204,204,204,124,2,106,122,204, - 204,0,204,204,204,204,204,204,124,0,108,124,24,48,0,204, - 204,204,120,56,56,48,240,96,0,108,124,192,192,192,248,204, - 204,204,204,204,248,192,192,0,108,124,204,204,0,204,204,204, - 120,56,56,48,240,96}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 6 h=13 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=13 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14Br[1151] U8G_SECTION(".progmem.u8g_font_7x14Br") = { - 1,7,14,0,254,10,1,137,3,30,32,127,254,12,254,11, - 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, - 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, - 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, - 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, - 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, - 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, - 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, - 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, - 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, - 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, - 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, - 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, - 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, - 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, - 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, - 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, - 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, - 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, - 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, - 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, - 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, - 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, - 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, - 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, - 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, - 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, - 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, - 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, - 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, - 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, - 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, - 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, - 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, - 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, - 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, - 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, - 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, - 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, - 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, - 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, - 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, - 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, - 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, - 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, - 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, - 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, - 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, - 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, - 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, - 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, - 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, - 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, - 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, - 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, - 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, - 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, - 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, - 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, - 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, - 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, - 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, - 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, - 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, - 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, - 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, - 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, - 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, - 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, - 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, - 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, - 24,48,48,48,48,48,224,9,100,116,68,244,188,136,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=14 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14[2374] U8G_SECTION(".progmem.u8g_font_7x14") = { - 1,7,14,0,254,10,1,138,3,30,32,255,254,12,254,11, - 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, - 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, - 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, - 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, - 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, - 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, - 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, - 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, - 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, - 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, - 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, - 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, - 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, - 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, - 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, - 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, - 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, - 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, - 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, - 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, - 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, - 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, - 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, - 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, - 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, - 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, - 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, - 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, - 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, - 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, - 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, - 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, - 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, - 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, - 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, - 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, - 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, - 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, - 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, - 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, - 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, - 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, - 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, - 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, - 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, - 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, - 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, - 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, - 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, - 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, - 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, - 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, - 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, - 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, - 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, - 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, - 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, - 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, - 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, - 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, - 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, - 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, - 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, - 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, - 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, - 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, - 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, - 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, - 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, - 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, - 16,32,32,32,32,32,192,9,100,116,64,164,148,8,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,14, - 0,112,50,26,122,128,128,0,128,128,128,128,128,128,128,1, - 105,121,32,120,164,160,160,160,164,120,32,18,89,121,48,72, - 64,64,240,64,64,240,72,4,102,118,132,120,72,72,120,132, - 18,90,122,136,80,80,32,248,32,248,32,32,32,50,26,122, - 128,128,128,128,0,0,128,128,128,128,2,107,123,120,132,64, - 48,72,132,72,48,8,132,120,27,66,114,144,144,2,107,123, - 120,132,180,204,196,196,196,204,180,132,120,21,88,120,112,136, - 120,136,152,104,0,248,2,103,119,20,40,80,160,80,40,20, - 18,84,116,248,8,8,8,22,65,113,240,2,107,123,120,132, - 244,204,204,244,204,204,204,132,120,27,81,113,248,25,68,116, - 96,144,144,96,18,86,118,32,32,248,32,32,248,22,71,119, - 96,144,16,32,64,128,240,22,71,119,96,144,16,96,16,144, - 96,42,51,115,32,64,128,16,88,120,136,136,136,136,216,168, - 128,128,16,92,124,120,168,168,168,168,104,40,40,40,40,40, - 56,55,17,113,128,32,35,115,64,64,128,38,55,119,64,192, - 64,64,64,64,224,22,70,118,96,144,144,96,0,240,2,103, - 119,160,80,40,20,40,80,160,2,106,122,64,196,72,72,80, - 36,44,84,156,132,2,106,122,64,196,72,72,80,40,52,68, - 136,156,2,106,122,196,36,72,48,208,36,76,84,156,4,0, - 107,123,32,32,0,32,32,32,32,64,132,132,120,2,108,124, - 32,16,0,48,72,132,132,252,132,132,132,132,2,108,124,16, - 32,0,48,72,132,132,252,132,132,132,132,2,108,124,48,72, - 0,48,72,132,132,252,132,132,132,132,2,108,124,100,152,0, - 48,72,132,132,252,132,132,132,132,2,107,123,72,0,48,72, - 132,132,252,132,132,132,132,2,107,123,48,72,48,72,132,132, - 252,132,132,132,132,2,106,122,60,80,144,144,252,144,144,144, - 144,156,0,108,124,120,132,132,128,128,128,128,132,132,120,16, - 32,2,108,124,32,16,0,252,128,128,128,248,128,128,128,252, - 2,108,124,16,32,0,252,128,128,128,248,128,128,128,252,2, - 108,124,48,72,0,252,128,128,128,248,128,128,128,252,2,107, - 123,72,0,252,128,128,128,248,128,128,128,252,18,92,124,64, - 32,0,248,32,32,32,32,32,32,32,248,18,92,124,16,32, - 0,248,32,32,32,32,32,32,32,248,18,92,124,32,80,0, - 248,32,32,32,32,32,32,32,248,18,91,123,80,0,248,32, - 32,32,32,32,32,32,248,2,122,122,120,68,66,66,242,66, - 66,66,68,120,2,108,124,100,152,0,196,196,164,164,148,148, - 148,140,140,2,108,124,32,16,0,120,132,132,132,132,132,132, - 132,120,2,108,124,16,32,0,120,132,132,132,132,132,132,132, - 120,2,108,124,48,72,0,120,132,132,132,132,132,132,132,120, - 2,108,124,100,152,0,120,132,132,132,132,132,132,132,120,2, - 107,123,72,0,120,132,132,132,132,132,132,132,120,2,119,119, - 130,68,40,16,40,68,130,0,110,126,4,4,120,140,148,148, - 148,164,164,164,196,120,128,128,2,108,124,32,16,0,132,132, - 132,132,132,132,132,132,120,2,108,124,16,32,0,132,132,132, - 132,132,132,132,132,120,2,108,124,48,72,0,132,132,132,132, - 132,132,132,132,120,2,107,123,72,0,132,132,132,132,132,132, - 132,132,120,18,92,124,16,32,0,136,136,80,80,32,32,32, - 32,32,2,106,122,128,128,248,132,132,132,132,248,128,128,2, - 106,122,48,72,72,72,112,72,68,68,68,248,2,106,122,32, - 16,0,120,132,4,124,132,132,124,2,106,122,8,16,0,120, - 132,4,124,132,132,124,2,106,122,48,72,0,120,132,4,124, - 132,132,124,2,106,122,100,152,0,120,132,4,124,132,132,124, - 2,105,121,72,0,120,132,4,124,132,132,124,2,107,123,48, - 72,48,0,120,132,4,124,132,132,124,2,119,119,124,146,50, - 94,144,146,124,0,105,121,120,132,128,128,128,132,120,16,32, - 2,106,122,32,16,0,120,132,132,252,128,132,120,2,106,122, - 16,32,0,120,132,132,252,128,132,120,2,106,122,48,72,0, - 120,132,132,252,128,132,120,2,105,121,72,0,120,132,132,252, - 128,132,120,18,90,122,64,32,0,96,32,32,32,32,32,248, - 18,90,122,16,32,0,96,32,32,32,32,32,248,18,90,122, - 96,144,0,96,32,32,32,32,32,248,18,89,121,80,0,96, - 32,32,32,32,32,248,18,91,123,80,32,80,8,120,136,136, - 136,136,136,112,2,106,122,100,152,0,184,196,132,132,132,132, - 132,2,106,122,32,16,0,120,132,132,132,132,132,120,2,106, - 122,16,32,0,120,132,132,132,132,132,120,2,106,122,48,72, - 0,120,132,132,132,132,132,120,2,106,122,100,152,0,120,132, - 132,132,132,132,120,2,105,121,72,0,120,132,132,132,132,132, - 120,2,101,117,48,0,252,0,48,0,107,123,4,8,120,148, - 148,164,164,196,120,128,128,2,106,122,32,16,0,132,132,132, - 132,132,140,116,2,106,122,16,32,0,132,132,132,132,132,140, - 116,2,106,122,48,72,0,132,132,132,132,132,140,116,2,105, - 121,72,0,132,132,132,132,132,140,116,0,108,124,16,32,0, - 132,132,68,72,40,56,16,144,96,0,108,124,128,128,128,184, - 196,132,132,132,196,184,128,128,0,107,123,72,0,132,132,68, - 72,40,56,16,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=13 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=13 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14r[1151] U8G_SECTION(".progmem.u8g_font_7x14r") = { - 1,7,14,0,254,10,1,138,3,30,32,127,254,12,254,11, - 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, - 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, - 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, - 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, - 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, - 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, - 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, - 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, - 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, - 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, - 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, - 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, - 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, - 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, - 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, - 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, - 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, - 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, - 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, - 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, - 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, - 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, - 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, - 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, - 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, - 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, - 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, - 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, - 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, - 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, - 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, - 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, - 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, - 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, - 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, - 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, - 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, - 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, - 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, - 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, - 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, - 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, - 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, - 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, - 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, - 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, - 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, - 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, - 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, - 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, - 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, - 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, - 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, - 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, - 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, - 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, - 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, - 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, - 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, - 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, - 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, - 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, - 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, - 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, - 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, - 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, - 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, - 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, - 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, - 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, - 16,32,32,32,32,32,192,9,100,116,64,164,148,8,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 7 y= 9 dx= 8 dy= 0 ascent=11 len=13 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[2420] U8G_SECTION(".progmem.u8g_font_8x13_67_75") = { - 1,8,13,0,254,3,1,94,2,193,32,255,0,11,254,10, - 0,3,133,133,36,18,255,18,36,18,88,136,32,32,168,112, - 32,168,112,32,2,119,135,16,34,68,248,68,34,16,18,119, - 135,16,136,68,62,68,136,16,3,133,133,32,65,255,65,32, - 18,89,137,32,112,168,32,32,32,32,32,112,3,133,133,4, - 130,255,130,4,18,89,137,112,32,32,32,32,32,168,112,32, - 2,122,138,16,56,84,16,16,16,84,56,16,254,3,133,133, - 34,65,254,64,32,3,133,133,68,130,127,2,4,3,133,133, - 34,69,254,68,36,3,133,133,68,162,127,34,36,3,133,133, - 36,90,231,66,36,3,133,133,36,82,255,82,36,18,106,138, - 64,64,128,152,104,8,16,84,56,16,18,106,138,32,64,252, - 68,36,4,4,4,4,4,18,106,138,16,8,252,136,144,128, - 128,128,128,128,18,106,138,4,4,4,4,4,36,68,252,64, - 32,18,106,138,128,128,128,128,128,144,136,252,8,16,18,104, - 136,240,16,16,16,16,84,56,16,18,90,138,8,8,8,8, - 8,40,72,248,64,32,4,135,135,12,18,33,33,169,112,32, - 4,135,135,48,72,132,132,149,14,4,2,136,136,255,0,112, - 96,80,8,4,2,2,136,136,136,144,190,144,9,125,9,17, - 4,135,135,100,142,149,132,132,72,48,4,135,135,38,113,169, - 33,33,18,12,5,131,131,32,64,255,3,131,131,255,64,32, - 50,57,137,128,192,160,128,128,128,128,128,128,34,57,137,32, - 96,160,32,32,32,32,32,32,5,131,131,4,2,255,3,131, - 131,255,2,4,50,57,137,128,128,128,128,128,128,160,192,128, - 34,57,137,32,32,32,32,32,32,160,96,32,2,121,137,8, - 4,254,4,40,64,254,64,32,2,138,138,36,116,172,36,36, - 36,36,53,46,36,2,121,137,32,64,254,64,40,4,254,4, - 8,2,139,139,32,64,255,64,32,0,32,64,255,64,32,2, - 122,138,68,238,68,68,68,68,68,68,68,68,2,139,139,4, - 2,255,2,4,0,4,2,255,2,4,2,122,138,68,68,68, - 68,68,68,68,68,238,68,2,119,135,32,64,254,0,254,4, - 8,2,119,135,8,4,254,0,254,64,32,2,135,135,16,33, - 127,130,127,36,16,3,133,133,36,126,153,126,36,2,135,135, - 8,36,254,65,254,132,8,2,135,135,16,32,127,128,127,32, - 16,18,121,137,16,40,108,170,40,40,40,40,40,2,135,135, - 8,4,254,1,254,4,8,2,121,137,40,40,40,40,40,170, - 108,40,16,3,133,133,36,126,129,126,36,2,123,139,16,40, - 108,170,40,40,40,170,108,40,16,2,119,135,252,144,136,196, - 162,144,8,18,119,135,126,18,34,70,138,18,32,18,119,135, - 32,18,138,70,34,18,126,2,119,135,8,144,162,196,136,144, - 252,2,137,137,8,16,63,64,255,64,63,16,8,2,137,137, - 16,8,252,2,255,2,252,8,16,2,135,135,16,32,72,245, - 66,32,16,2,135,135,8,4,18,175,66,4,8,2,122,138, - 16,56,84,146,16,124,16,124,16,16,2,122,138,16,16,124, - 16,124,16,146,84,56,16,2,119,135,16,32,64,182,64,32, - 16,2,122,138,16,40,84,146,0,16,16,0,16,16,18,119, - 135,16,8,4,218,4,8,16,2,122,138,16,16,0,16,16, - 0,146,84,40,16,3,117,133,144,160,254,160,144,19,117,133, - 18,10,254,10,18,2,135,135,16,48,95,129,95,48,16,2, - 121,137,16,40,68,238,40,40,40,40,56,2,135,135,8,12, - 250,129,250,12,8,2,121,137,56,40,40,40,40,238,68,40, - 16,1,123,139,16,40,68,238,40,40,56,0,56,40,56,1, - 122,138,16,40,68,238,40,40,40,108,68,124,1,122,138,16, - 40,68,254,40,40,40,108,68,124,1,122,138,16,40,68,254, - 56,56,56,124,68,124,2,121,137,16,40,68,238,68,238,40, - 40,56,1,122,138,16,40,68,238,68,238,40,108,68,124,2, - 135,135,136,140,250,129,250,140,136,2,119,135,254,128,188,176, - 168,164,130,2,119,135,130,74,42,26,122,2,254,2,121,137, - 16,40,68,238,40,238,68,40,16,4,133,133,36,82,255,82, - 36,2,138,138,36,46,53,36,36,36,36,172,116,36,0,141, - 141,4,2,255,2,4,2,255,2,4,2,255,2,4,4,117, - 133,40,72,254,72,40,20,117,133,40,36,254,36,40,4,117, - 133,16,84,254,84,16,4,133,133,42,74,255,74,42,4,133, - 133,84,82,255,82,84,4,133,133,24,90,255,90,24,3,135, - 135,16,48,80,159,80,48,16,3,135,135,8,12,10,249,10, - 12,8,4,133,133,36,102,189,102,36,7,134,134,255,255,255, - 255,255,255,0,130,130,255,255,0,131,131,255,255,255,0,133, - 133,255,255,255,255,255,0,135,135,255,255,255,255,255,255,255, - 0,136,136,255,255,255,255,255,255,255,255,0,138,138,255,255, - 255,255,255,255,255,255,255,255,0,139,139,255,255,255,255,255, - 255,255,255,255,255,255,0,141,141,255,255,255,255,255,255,255, - 255,255,255,255,255,255,0,125,141,254,254,254,254,254,254,254, - 254,254,254,254,254,254,0,109,141,252,252,252,252,252,252,252, - 252,252,252,252,252,252,0,93,141,248,248,248,248,248,248,248, - 248,248,248,248,248,248,0,77,141,240,240,240,240,240,240,240, - 240,240,240,240,240,240,0,61,141,224,224,224,224,224,224,224, - 224,224,224,224,224,224,0,45,141,192,192,192,192,192,192,192, - 192,192,192,192,192,192,0,29,141,128,128,128,128,128,128,128, - 128,128,128,128,128,128,64,77,141,240,240,240,240,240,240,240, - 240,240,240,240,240,240,1,139,139,85,0,170,0,85,0,170, - 0,85,0,170,0,141,141,170,85,170,85,170,85,170,85,170, - 85,170,85,170,0,141,141,255,85,255,170,255,85,255,170,255, - 85,255,170,255,11,130,130,255,255,112,29,141,128,128,128,128, - 128,128,128,128,128,128,128,128,128,0,71,135,240,240,240,240, - 240,240,240,64,71,135,240,240,240,240,240,240,240,7,70,134, - 240,240,240,240,240,240,0,141,141,240,240,240,240,240,240,255, - 255,255,255,255,255,255,0,141,141,240,240,240,240,240,240,15, - 15,15,15,15,15,15,0,141,141,255,255,255,255,255,255,240, - 240,240,240,240,240,240,0,141,141,255,255,255,255,255,255,15, - 15,15,15,15,15,15,71,70,134,240,240,240,240,240,240,0, - 141,141,15,15,15,15,15,15,240,240,240,240,240,240,240,0, - 141,141,15,15,15,15,15,15,255,255,255,255,255,255,255,2, - 119,135,254,254,254,254,254,254,254,2,119,135,254,130,130,130, - 130,130,254,2,119,135,124,130,130,130,130,130,124,2,119,135, - 254,130,186,186,186,130,254,2,119,135,254,130,254,130,254,130, - 254,2,119,135,254,170,170,170,170,170,254,2,119,135,254,170, - 254,170,254,170,254,2,119,135,254,146,138,198,162,146,254,2, - 119,135,254,146,162,198,138,146,254,2,119,135,254,214,170,214, - 170,214,254,37,51,131,224,224,224,37,51,131,224,160,224,21, - 100,132,252,252,252,252,21,100,132,252,132,132,252,18,89,137, - 248,248,248,248,248,248,248,248,248,18,89,137,248,136,136,136, - 136,136,136,136,248,5,132,132,31,62,124,248,5,132,132,31, - 34,68,248,2,136,136,24,24,60,60,126,126,255,255,2,136, - 136,24,24,36,36,66,66,129,255,18,102,134,48,48,120,120, - 252,252,18,102,134,48,48,72,72,132,252,18,107,139,128,192, - 224,240,248,252,248,240,224,192,128,18,107,139,128,192,160,144, - 136,132,136,144,160,192,128,20,101,133,192,240,252,240,192,20, - 101,133,192,176,140,176,192,3,119,135,128,224,248,254,248,224, - 128,3,119,135,128,224,152,134,152,224,128,2,136,136,255,255, - 126,126,60,60,24,24,2,136,136,255,129,66,66,36,36,24, - 24,18,102,134,252,252,120,120,48,48,18,102,134,252,132,72, - 72,48,48,18,107,139,4,12,28,60,124,252,124,60,28,12, - 4,18,107,139,4,12,20,36,68,132,68,36,20,12,4,20, - 101,133,12,60,252,60,12,20,101,133,12,52,196,52,12,3, - 119,135,2,14,62,254,62,14,2,3,119,135,2,14,50,194, - 50,14,2,3,119,135,16,56,124,254,124,56,16,3,119,135, - 16,40,68,130,68,40,16,3,119,135,16,40,84,186,84,40, - 16,3,119,135,56,68,146,186,146,68,56,18,105,137,48,48, - 72,72,132,72,72,48,48,2,136,136,60,66,129,129,129,129, - 66,60,2,136,136,24,66,0,129,129,0,66,24,2,136,136, - 60,106,171,171,171,171,106,60,2,136,136,60,66,153,165,165, - 153,66,60,2,136,136,60,126,255,255,255,255,126,60,2,136, - 136,60,114,241,241,241,241,114,60,2,136,136,60,78,143,143, - 143,143,78,60,2,136,136,60,66,129,129,255,255,126,60,2, - 136,136,60,126,255,255,129,129,66,60,2,136,136,60,78,143, - 143,129,129,66,60,2,136,136,60,78,143,143,255,255,126,60, - 2,72,136,48,112,240,240,240,240,112,48,66,72,136,192,224, - 240,240,240,240,224,192,0,141,141,255,255,255,255,195,129,129, - 129,129,195,255,255,255,0,141,141,255,255,255,255,195,153,189, - 189,153,195,255,255,255,6,135,135,255,255,255,255,195,153,189, - 0,134,134,189,153,195,255,255,255,6,68,132,48,64,128,128, - 70,68,132,192,32,16,16,66,68,132,16,16,32,192,2,68, - 132,128,128,64,48,6,132,132,60,66,129,129,2,132,132,129, - 129,66,60,2,136,136,1,3,7,15,31,63,127,255,2,136, - 136,128,192,224,240,248,252,254,255,2,136,136,255,254,252,248, - 240,224,192,128,2,136,136,255,127,63,31,15,7,3,1,20, - 85,133,112,136,136,136,112,2,120,136,254,226,226,226,226,226, - 226,254,2,120,136,254,142,142,142,142,142,142,254,2,120,136, - 254,254,250,242,226,194,130,254,2,120,136,254,130,134,142,158, - 190,254,254,2,120,136,254,146,146,146,146,146,146,254,2,122, - 138,16,16,40,40,68,84,124,146,130,254,2,122,138,16,16, - 56,56,116,116,116,242,242,254,2,122,138,16,16,56,56,92, - 92,92,158,158,254,2,136,136,60,66,129,129,129,129,66,60, - 2,119,135,254,146,146,242,130,130,254,2,119,135,254,130,130, - 242,146,146,254,2,119,135,254,130,130,158,146,146,254,2,119, - 135,254,146,146,158,130,130,254,2,119,135,124,146,146,242,130, - 130,124,2,119,135,124,130,130,242,146,146,124,2,119,135,124, - 130,130,158,146,146,124,2,119,135,124,146,146,158,130,130,124, - 19,102,134,252,136,144,160,192,128,19,102,134,252,68,36,20, - 12,4,19,102,134,128,192,160,144,136,252,19,102,134,252,132, - 132,132,132,252,19,102,134,252,252,252,252,252,252,37,68,132, - 240,144,144,240,37,68,132,240,240,240,240,19,102,134,4,12, - 20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 11, '1' Height: 4 - Calculated Max Values w= 8 h=11 x= 2 y= 3 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13_75r[496] U8G_SECTION(".progmem.u8g_font_8x13_75r") = { - 1,8,13,0,254,11,1,83,0,0,32,79,0,11,0,11, - 0,2,119,135,254,254,254,254,254,254,254,2,119,135,254,130, - 130,130,130,130,254,2,119,135,124,130,130,130,130,130,124,2, - 119,135,254,130,186,186,186,130,254,2,119,135,254,130,254,130, - 254,130,254,2,119,135,254,170,170,170,170,170,254,2,119,135, - 254,170,254,170,254,170,254,2,119,135,254,146,138,198,162,146, - 254,2,119,135,254,146,162,198,138,146,254,2,119,135,254,214, - 170,214,170,214,254,37,51,131,224,224,224,37,51,131,224,160, - 224,21,100,132,252,252,252,252,21,100,132,252,132,132,252,18, - 89,137,248,248,248,248,248,248,248,248,248,18,89,137,248,136, - 136,136,136,136,136,136,248,5,132,132,31,62,124,248,5,132, - 132,31,34,68,248,2,136,136,24,24,60,60,126,126,255,255, - 2,136,136,24,24,36,36,66,66,129,255,18,102,134,48,48, - 120,120,252,252,18,102,134,48,48,72,72,132,252,18,107,139, - 128,192,224,240,248,252,248,240,224,192,128,18,107,139,128,192, - 160,144,136,132,136,144,160,192,128,20,101,133,192,240,252,240, - 192,20,101,133,192,176,140,176,192,3,119,135,128,224,248,254, - 248,224,128,3,119,135,128,224,152,134,152,224,128,2,136,136, - 255,255,126,126,60,60,24,24,2,136,136,255,129,66,66,36, - 36,24,24,18,102,134,252,252,120,120,48,48,18,102,134,252, - 132,72,72,48,48,18,107,139,4,12,28,60,124,252,124,60, - 28,12,4,18,107,139,4,12,20,36,68,132,68,36,20,12, - 4,20,101,133,12,60,252,60,12,20,101,133,12,52,196,52, - 12,3,119,135,2,14,62,254,62,14,2,3,119,135,2,14, - 50,194,50,14,2,3,119,135,16,56,124,254,124,56,16,3, - 119,135,16,40,68,130,68,40,16,3,119,135,16,40,84,186, - 84,40,16,3,119,135,56,68,146,186,146,68,56,18,105,137, - 48,48,72,72,132,72,72,48,48,2,136,136,60,66,129,129, - 129,129,66,60,2,136,136,24,66,0,129,129,0,66,24,2, - 136,136,60,106,171,171,171,171,106,60,2,136,136,60,66,153, - 165,165,153,66,60,2,136,136,60,126,255,255,255,255,126,60 - }; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=12 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=12 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13B[2302] U8G_SECTION(".progmem.u8g_font_8x13B") = { - 1,8,13,0,254,10,1,127,3,12,32,255,254,11,254,10, - 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, - 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, - 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, - 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, - 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, - 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, - 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, - 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, - 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, - 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, - 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, - 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, - 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, - 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, - 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, - 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, - 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, - 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, - 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, - 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, - 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, - 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, - 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, - 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, - 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, - 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, - 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, - 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, - 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, - 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, - 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, - 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, - 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, - 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, - 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, - 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, - 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, - 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, - 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, - 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, - 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, - 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, - 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, - 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, - 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, - 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, - 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, - 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, - 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, - 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, - 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, - 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, - 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, - 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, - 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, - 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, - 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, - 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, - 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, - 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, - 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, - 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, - 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, - 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, - 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, - 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, - 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, - 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, - 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, - 254,156,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,13,0,128,50,42,138,192,192,0,192,192,192,192, - 192,192,192,3,104,136,16,124,212,208,208,212,124,16,1,123, - 139,60,102,96,96,252,96,96,96,240,190,224,3,119,135,198, - 254,108,68,108,254,198,18,106,138,204,204,204,120,120,252,48, - 252,48,48,50,42,138,192,192,192,192,0,0,192,192,192,192, - 18,106,138,120,204,192,120,204,204,120,12,204,120,26,82,130, - 216,216,3,121,137,124,198,186,234,226,234,186,198,124,21,87, - 135,240,24,248,152,248,0,248,3,119,135,54,108,216,176,216, - 108,54,3,101,133,252,252,4,4,4,22,81,129,248,3,121, - 137,124,198,186,170,186,178,170,198,124,28,97,129,252,24,100, - 132,120,204,204,120,19,103,135,48,48,252,48,48,0,252,22, - 70,134,224,176,48,96,192,240,22,70,134,224,176,96,48,176, - 224,41,67,131,48,96,192,0,121,137,198,198,198,198,198,238, - 252,192,192,1,123,139,62,122,202,202,202,122,58,10,10,10, - 14,54,34,130,192,192,16,67,131,48,144,96,22,70,134,96, - 224,96,96,96,240,21,87,135,112,248,136,248,112,0,248,3, - 119,135,216,108,54,26,54,108,216,2,122,138,96,224,96,96, - 98,246,14,26,30,6,2,122,138,96,224,96,96,124,246,6, - 12,24,30,2,122,138,224,176,96,48,178,230,14,26,30,6, - 18,106,138,48,48,0,48,48,96,192,204,204,120,2,122,138, - 48,24,0,56,124,198,198,254,198,198,2,122,138,24,48,0, - 56,124,198,198,254,198,198,2,122,138,56,108,0,56,124,198, - 198,254,198,198,2,122,138,52,88,0,56,124,198,198,254,198, - 198,2,122,138,108,108,0,56,124,198,198,254,198,198,2,123, - 139,24,36,24,0,56,124,198,198,254,198,198,2,122,138,126, - 248,216,216,216,252,216,216,216,222,0,124,140,124,230,192,192, - 192,192,192,230,124,24,72,48,2,122,138,48,24,0,254,192, - 192,248,192,192,254,2,122,138,24,48,0,254,192,192,248,192, - 192,254,2,122,138,56,108,0,254,192,192,248,192,192,254,2, - 122,138,108,108,0,254,192,192,248,192,192,254,34,74,138,192, - 96,0,240,96,96,96,96,96,240,34,74,138,48,96,0,240, - 96,96,96,96,96,240,34,90,138,112,216,0,240,96,96,96, - 96,96,240,34,90,138,216,216,0,240,96,96,96,96,96,240, - 2,120,136,252,102,102,246,102,102,102,252,2,122,138,52,88, - 0,198,230,246,214,222,206,198,2,123,139,48,24,0,124,198, - 198,198,198,198,198,124,2,123,139,24,48,0,124,198,198,198, - 198,198,198,124,2,123,139,56,108,0,124,198,198,198,198,198, - 198,124,2,123,139,52,88,0,124,198,198,198,198,198,198,124, - 2,123,139,108,108,0,124,198,198,198,198,198,198,124,2,119, - 135,198,198,124,56,124,198,198,1,122,138,2,124,206,214,214, - 214,214,230,124,128,2,122,138,48,24,0,198,198,198,198,198, - 198,124,2,122,138,24,48,0,198,198,198,198,198,198,124,2, - 122,138,56,108,0,198,198,198,198,198,198,124,2,122,138,108, - 108,0,198,198,198,198,198,198,124,18,106,138,24,48,0,204, - 72,120,48,48,48,48,2,121,137,192,252,198,198,198,252,192, - 192,192,2,122,138,60,102,102,108,236,108,102,102,102,108,2, - 122,138,48,24,0,124,6,126,198,198,206,118,2,122,138,24, - 48,0,124,6,126,198,198,206,118,2,122,138,56,108,0,124, - 6,126,198,198,206,118,2,122,138,52,88,0,124,6,126,198, - 198,206,118,2,122,138,108,108,0,124,6,126,198,198,206,118, - 2,123,139,24,36,24,0,124,6,126,198,198,206,118,2,119, - 135,108,218,26,124,216,218,108,0,122,138,124,230,192,192,192, - 230,124,24,72,48,2,122,138,48,24,0,124,198,198,254,192, - 198,124,2,122,138,24,48,0,124,198,198,254,192,198,124,2, - 122,138,56,108,0,124,198,198,254,192,198,124,2,122,138,108, - 108,0,124,198,198,254,192,198,124,34,74,138,192,96,0,224, - 96,96,96,96,96,240,34,74,138,96,192,0,224,96,96,96, - 96,96,240,18,90,138,112,216,0,112,48,48,48,48,48,120, - 18,90,138,216,216,0,112,48,48,48,48,48,120,2,122,138, - 108,56,120,12,126,198,198,198,198,124,2,122,138,52,88,0, - 220,230,198,198,198,198,198,2,122,138,48,24,0,124,198,198, - 198,198,198,124,2,122,138,24,48,0,124,198,198,198,198,198, - 124,2,122,138,56,108,0,124,198,198,198,198,198,124,2,122, - 138,52,88,0,124,198,198,198,198,198,124,2,122,138,108,108, - 0,124,198,198,198,198,198,124,19,103,135,48,48,0,252,0, - 48,48,1,121,137,2,124,206,214,214,214,230,124,128,2,122, - 138,48,24,0,198,198,198,198,198,206,118,2,122,138,24,48, - 0,198,198,198,198,198,206,118,2,122,138,56,108,0,198,198, - 198,198,198,206,118,2,122,138,108,108,0,198,198,198,198,198, - 206,118,0,124,140,24,48,0,198,198,198,198,206,118,6,198, - 124,0,123,139,192,192,220,230,198,198,198,230,220,192,192,0, - 124,140,108,108,0,198,198,198,198,206,118,6,198,124}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13Br[1123] U8G_SECTION(".progmem.u8g_font_8x13Br") = { - 1,8,13,0,254,10,1,127,3,12,32,127,254,11,254,10, - 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, - 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, - 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, - 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, - 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, - 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, - 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, - 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, - 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, - 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, - 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, - 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, - 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, - 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, - 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, - 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, - 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, - 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, - 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, - 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, - 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, - 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, - 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, - 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, - 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, - 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, - 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, - 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, - 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, - 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, - 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, - 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, - 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, - 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, - 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, - 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, - 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, - 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, - 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, - 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, - 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, - 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, - 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, - 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, - 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, - 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, - 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, - 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, - 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, - 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, - 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, - 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, - 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, - 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, - 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, - 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, - 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, - 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, - 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, - 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, - 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, - 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, - 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, - 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, - 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, - 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, - 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, - 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, - 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, - 254,156,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13[2152] U8G_SECTION(".progmem.u8g_font_8x13") = { - 1,8,13,0,254,9,1,97,2,205,32,255,254,11,254,9, - 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, - 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, - 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, - 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, - 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, - 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, - 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, - 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, - 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, - 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, - 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, - 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, - 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, - 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, - 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, - 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, - 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, - 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, - 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, - 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, - 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, - 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, - 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, - 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, - 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, - 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, - 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, - 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, - 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, - 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, - 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, - 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, - 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, - 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, - 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, - 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, - 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, - 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, - 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, - 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, - 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, - 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, - 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, - 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, - 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, - 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, - 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, - 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, - 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, - 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, - 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, - 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, - 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, - 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, - 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, - 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, - 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, - 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, - 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, - 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, - 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, - 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, - 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, - 72,168,144,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,13,0,128,50,25,137,128,0,128,128,128,128, - 128,128,128,19,88,136,32,112,168,160,160,168,112,32,2,121, - 137,28,34,32,112,32,32,32,98,220,19,102,134,132,120,72, - 72,120,132,2,121,137,130,130,68,40,124,16,124,16,16,50, - 25,137,128,128,128,128,0,128,128,128,128,34,74,138,96,144, - 128,96,144,144,96,16,144,96,42,66,130,144,144,3,121,137, - 56,68,146,170,162,170,146,68,56,20,87,135,112,8,120,136, - 120,0,248,3,119,135,18,36,72,144,72,36,18,19,100,132, - 252,4,4,4,38,65,129,240,3,121,137,56,68,146,170,170, - 178,170,68,56,26,97,129,252,39,68,132,96,144,144,96,19, - 87,135,32,32,248,32,32,0,248,22,70,134,96,144,16,96, - 128,240,22,70,134,96,144,32,16,144,96,58,34,130,64,128, - 17,103,135,132,132,132,132,204,180,128,18,105,137,124,232,232, - 232,104,40,40,40,40,54,33,129,192,48,34,130,64,192,22, - 54,134,64,192,64,64,64,224,21,70,134,96,144,144,96,0, - 240,3,119,135,144,72,36,18,36,72,144,2,122,138,64,192, - 64,64,66,230,10,18,26,6,2,122,138,64,192,64,64,76, - 242,2,12,16,30,2,122,138,96,144,32,16,146,102,10,18, - 26,6,18,105,137,32,0,32,32,64,128,132,132,120,18,106, - 138,32,16,0,48,72,132,132,252,132,132,18,106,138,16,32, - 0,48,72,132,132,252,132,132,18,106,138,48,72,0,48,72, - 132,132,252,132,132,18,106,138,100,152,0,48,72,132,132,252, - 132,132,18,106,138,72,72,0,48,72,132,132,252,132,132,18, - 106,138,48,72,48,48,72,132,132,252,132,132,2,121,137,110, - 144,144,144,156,240,144,144,158,16,107,139,120,132,128,128,128, - 128,128,132,120,16,32,18,106,138,32,16,0,252,128,128,240, - 128,128,252,18,106,138,16,32,0,252,128,128,240,128,128,252, - 18,106,138,48,72,0,252,128,128,240,128,128,252,18,106,138, - 72,72,0,252,128,128,240,128,128,252,18,90,138,64,32,0, - 248,32,32,32,32,32,248,18,90,138,16,32,0,248,32,32, - 32,32,32,248,18,90,138,48,72,0,248,32,32,32,32,32, - 248,18,90,138,136,136,0,248,32,32,32,32,32,248,2,121, - 137,120,68,66,66,226,66,66,68,120,2,122,138,100,152,0, - 130,194,162,146,138,134,130,2,122,138,32,16,0,124,130,130, - 130,130,130,124,2,122,138,8,16,0,124,130,130,130,130,130, - 124,2,122,138,24,36,0,124,130,130,130,130,130,124,2,122, - 138,100,152,0,124,130,130,130,130,130,124,2,122,138,68,68, - 0,124,130,130,130,130,130,124,19,102,134,132,72,48,48,72, - 132,17,107,139,4,120,140,148,148,164,164,164,196,120,128,18, - 106,138,64,32,0,132,132,132,132,132,132,120,18,106,138,16, - 32,0,132,132,132,132,132,132,120,18,106,138,48,72,0,132, - 132,132,132,132,132,120,18,106,138,72,72,0,132,132,132,132, - 132,132,120,18,90,138,16,32,0,136,136,80,32,32,32,32, - 18,105,137,128,248,132,132,132,248,128,128,128,18,105,137,112, - 136,136,144,160,152,132,132,184,18,105,137,32,16,0,120,4, - 124,132,140,116,18,105,137,8,16,0,120,4,124,132,140,116, - 18,105,137,48,72,0,120,4,124,132,140,116,18,105,137,100, - 152,0,120,4,124,132,140,116,18,105,137,72,72,0,120,4, - 124,132,140,116,18,106,138,48,72,48,0,120,4,124,132,140, - 116,2,118,134,108,18,124,144,146,108,16,104,136,120,132,128, - 128,132,120,16,32,18,105,137,32,16,0,120,132,252,128,132, - 120,18,105,137,16,32,0,120,132,252,128,132,120,18,105,137, - 48,72,0,120,132,252,128,132,120,18,105,137,72,72,0,120, - 132,252,128,132,120,18,89,137,64,32,0,96,32,32,32,32, - 248,18,89,137,32,64,0,96,32,32,32,32,248,18,89,137, - 96,144,0,96,32,32,32,32,248,18,89,137,144,144,0,96, - 32,32,32,32,248,18,106,138,72,48,80,8,120,132,132,132, - 132,120,18,105,137,100,152,0,184,196,132,132,132,132,18,105, - 137,64,32,0,120,132,132,132,132,120,18,105,137,16,32,0, - 120,132,132,132,132,120,18,105,137,48,72,0,120,132,132,132, - 132,120,18,105,137,100,152,0,120,132,132,132,132,120,18,105, - 137,72,72,0,120,132,132,132,132,120,19,87,135,32,32,0, - 248,0,32,32,17,104,136,4,120,140,148,164,196,120,128,18, - 105,137,64,32,0,136,136,136,136,136,116,18,105,137,16,32, - 0,136,136,136,136,136,116,18,105,137,48,72,0,136,136,136, - 136,136,116,18,105,137,80,80,0,136,136,136,136,136,116,16, - 107,139,16,32,0,132,132,132,140,116,4,132,120,16,106,138, - 128,128,184,196,132,132,196,184,128,128,16,107,139,72,72,0, - 132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 8 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13O[2153] U8G_SECTION(".progmem.u8g_font_8x13O") = { - 1,8,13,0,254,9,1,98,2,206,32,255,254,11,254,9, - 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, - 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, - 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, - 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, - 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, - 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, - 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, - 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, - 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, - 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, - 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, - 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, - 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, - 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, - 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, - 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, - 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, - 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, - 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, - 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, - 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, - 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, - 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, - 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, - 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, - 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, - 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, - 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, - 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, - 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, - 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, - 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, - 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, - 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, - 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, - 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, - 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, - 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, - 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, - 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, - 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, - 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, - 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, - 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, - 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, - 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, - 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, - 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, - 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, - 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, - 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, - 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, - 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, - 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, - 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, - 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, - 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, - 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, - 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, - 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, - 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, - 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, - 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, - 131,72,168,144,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,13,0,128,50,41,137,64,0,64,64,64, - 128,128,128,128,19,104,136,16,56,84,80,160,168,112,32,2, - 137,137,14,17,16,56,16,32,32,98,220,3,118,134,66,60, - 36,72,120,132,2,121,137,130,130,68,40,124,16,248,32,32, - 50,41,137,64,64,64,64,0,128,128,128,128,18,90,138,48, - 72,64,48,72,144,96,16,144,96,42,66,130,144,144,2,137, - 137,28,34,73,85,162,170,146,68,56,20,103,135,56,4,120, - 136,120,0,248,3,119,135,18,36,72,144,144,72,36,19,100, - 132,252,4,8,8,38,65,129,240,2,137,137,28,34,89,85, - 170,178,170,68,56,26,97,129,252,39,68,132,96,144,144,96, - 19,103,135,16,16,124,32,32,0,248,22,86,134,48,72,8, - 112,128,240,22,86,134,112,8,48,16,144,96,58,34,130,64, - 128,1,119,135,66,66,66,132,204,180,128,18,105,137,124,232, - 232,232,104,80,80,80,80,54,33,129,192,48,34,130,64,192, - 38,54,134,32,96,32,64,64,224,21,102,134,24,36,72,48, - 0,240,3,119,135,72,36,18,18,36,72,144,18,106,138,32, - 96,32,64,68,236,20,40,60,8,2,122,138,32,96,32,64, - 76,242,4,24,32,60,18,106,138,112,8,48,16,148,108,20, - 40,60,8,18,105,137,16,0,16,16,32,64,132,136,112,2, - 122,138,16,8,0,24,36,66,66,124,132,132,2,122,138,8, - 16,0,24,36,66,66,124,132,132,2,122,138,24,36,0,24, - 36,66,66,124,132,132,2,122,138,50,76,0,24,36,66,66, - 124,132,132,2,122,138,36,36,0,24,36,66,66,124,132,132, - 2,122,138,24,36,24,24,36,66,66,124,132,132,2,137,137, - 55,72,72,72,78,112,144,144,158,0,123,139,60,66,64,64, - 64,128,128,132,120,16,32,2,122,138,16,8,0,126,64,64, - 112,128,128,252,2,122,138,8,16,0,126,64,64,112,128,128, - 252,2,122,138,24,36,0,126,64,64,112,128,128,252,2,122, - 138,36,36,0,126,64,64,112,128,128,252,18,106,138,32,16, - 0,124,16,16,32,32,32,248,18,106,138,8,16,0,124,16, - 16,32,32,32,248,18,106,138,24,36,0,124,16,16,32,32, - 32,248,18,106,138,68,68,0,124,16,16,32,32,32,248,2, - 121,137,120,68,66,66,226,68,132,136,240,2,138,138,50,76, - 0,65,97,81,146,138,134,130,2,138,138,16,8,0,62,65, - 65,130,130,130,124,2,138,138,4,8,0,62,65,65,130,130, - 130,124,2,138,138,12,18,0,62,65,65,130,130,130,124,2, - 138,138,50,76,0,62,65,65,130,130,130,124,2,138,138,34, - 34,0,62,65,65,130,130,130,124,3,118,134,66,36,24,48, - 72,132,1,123,139,2,60,70,74,74,82,164,164,196,120,128, - 2,122,138,32,16,0,66,66,66,132,132,132,120,2,122,138, - 8,16,0,66,66,66,132,132,132,120,2,122,138,24,36,0, - 66,66,66,132,132,132,120,2,122,138,36,36,0,66,66,66, - 132,132,132,120,18,90,138,16,32,0,136,136,80,96,64,64, - 64,2,121,137,64,124,66,66,66,124,128,128,128,18,105,137, - 56,68,68,72,80,136,132,132,184,2,121,137,16,8,0,60, - 2,124,132,140,116,2,121,137,4,8,0,60,2,124,132,140, - 116,2,121,137,24,36,0,60,2,124,132,140,116,2,121,137, - 50,76,0,60,2,124,132,140,116,2,121,137,36,36,0,60, - 2,124,132,140,116,2,122,138,24,36,24,0,60,2,124,132, - 140,116,2,134,134,54,9,126,144,146,108,0,120,136,60,66, - 128,128,132,120,16,32,2,121,137,16,8,0,60,66,124,128, - 132,120,2,121,137,8,16,0,60,66,124,128,132,120,2,121, - 137,24,36,0,60,66,124,128,132,120,2,121,137,36,36,0, - 60,66,124,128,132,120,18,89,137,32,16,0,48,16,16,32, - 32,248,18,89,137,16,32,0,48,16,16,32,32,248,18,89, - 137,48,72,0,48,16,16,32,32,248,18,89,137,72,72,0, - 48,16,16,32,32,248,2,122,138,36,24,40,4,60,66,66, - 132,132,120,2,121,137,50,76,0,92,98,66,132,132,132,2, - 121,137,32,16,0,60,66,66,132,132,120,2,121,137,8,16, - 0,60,66,66,132,132,120,2,121,137,24,36,0,60,66,66, - 132,132,120,2,121,137,50,76,0,60,66,66,132,132,120,2, - 121,137,36,36,0,60,66,66,132,132,120,19,103,135,16,16, - 0,252,0,32,32,1,120,136,2,60,70,90,164,196,120,128, - 18,105,137,32,16,0,68,68,68,136,136,116,18,105,137,8, - 16,0,68,68,68,136,136,116,18,105,137,24,36,0,68,68, - 68,136,136,116,18,105,137,40,40,0,68,68,68,136,136,116, - 0,123,139,8,16,0,66,66,132,140,116,4,132,120,0,122, - 138,64,64,92,98,66,132,196,184,128,128,0,123,139,36,36, - 0,66,66,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 8 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13Or[1029] U8G_SECTION(".progmem.u8g_font_8x13Or") = { - 1,8,13,0,254,9,1,98,2,206,32,127,254,11,254,9, - 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, - 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, - 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, - 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, - 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, - 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, - 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, - 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, - 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, - 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, - 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, - 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, - 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, - 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, - 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, - 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, - 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, - 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, - 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, - 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, - 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, - 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, - 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, - 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, - 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, - 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, - 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, - 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, - 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, - 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, - 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, - 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, - 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, - 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, - 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, - 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, - 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, - 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, - 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, - 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, - 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, - 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, - 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, - 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, - 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, - 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, - 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, - 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, - 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, - 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, - 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, - 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, - 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, - 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, - 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, - 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, - 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, - 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, - 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, - 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, - 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, - 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, - 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, - 131,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13r[1028] U8G_SECTION(".progmem.u8g_font_8x13r") = { - 1,8,13,0,254,9,1,97,2,205,32,127,254,11,254,9, - 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, - 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, - 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, - 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, - 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, - 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, - 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, - 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, - 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, - 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, - 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, - 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, - 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, - 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, - 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, - 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, - 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, - 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, - 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, - 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, - 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, - 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, - 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, - 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, - 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, - 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, - 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, - 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, - 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, - 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, - 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, - 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, - 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, - 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, - 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, - 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, - 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, - 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, - 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, - 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, - 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, - 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, - 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, - 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, - 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, - 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, - 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, - 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, - 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, - 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, - 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, - 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, - 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, - 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, - 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, - 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, - 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, - 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, - 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, - 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, - 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, - 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, - 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, - 72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 4, '1' Height: 10 - Calculated Max Values w= 9 h=15 x= 8 y=10 dx= 9 dy= 0 ascent=12 len=30 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 4 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[3804] U8G_SECTION(".progmem.u8g_font_9x15_67_75") = { - 0,9,15,0,253,4,1,255,4,34,32,255,0,12,253,10, - 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, - 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, - 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, - 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, - 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, - 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, - 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, - 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, - 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, - 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, - 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, - 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, - 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, - 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, - 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, - 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, - 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, - 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, - 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, - 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, - 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, - 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, - 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, - 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, - 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, - 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, - 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, - 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, - 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, - 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, - 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, - 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, - 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, - 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, - 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, - 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, - 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, - 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, - 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, - 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, - 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, - 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, - 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, - 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, - 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, - 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, - 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, - 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, - 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, - 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, - 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, - 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, - 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, - 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, - 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, - 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, - 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, - 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, - 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, - 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, - 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, - 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, - 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, - 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, - 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, - 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, - 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, - 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, - 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, - 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, - 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, - 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, - 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, - 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, - 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, - 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, - 124,7,11,11,9,1,255,16,40,68,238,68,238,40,40,40, - 40,56,7,11,11,9,1,255,16,40,68,238,68,238,40,40, - 108,68,124,9,7,14,9,0,1,132,0,134,0,253,0,128, - 128,253,0,134,0,132,0,7,7,7,9,1,0,254,128,188, - 176,168,164,130,7,7,7,9,1,0,130,74,42,26,122,2, - 254,7,11,11,9,1,255,16,40,68,238,40,40,40,238,68, - 40,16,9,7,14,9,0,1,4,0,50,0,73,0,255,128, - 73,0,50,0,4,0,9,10,20,9,0,0,34,0,39,0, - 42,128,34,0,34,0,34,0,34,0,170,0,114,0,34,0, - 7,13,13,9,1,254,8,4,254,4,8,4,254,4,8,4, - 254,4,8,8,5,5,9,0,2,36,68,255,68,36,8,5, - 5,9,0,2,36,34,255,34,36,9,5,10,9,0,2,42, - 0,73,0,255,128,73,0,42,0,8,5,5,9,0,2,42, - 74,255,74,42,8,5,5,9,0,2,84,82,255,82,84,9, - 5,10,9,0,2,85,0,148,128,255,128,148,128,85,0,7, - 7,7,9,1,1,16,48,80,158,80,48,16,7,7,7,9, - 1,1,16,24,20,242,20,24,16,8,5,5,9,0,2,36, - 102,189,102,36,9,7,14,9,0,5,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,9,2,4,9,0,253,255,128, - 255,128,9,4,8,9,0,253,255,128,255,128,255,128,255,128, - 9,6,12,9,0,253,255,128,255,128,255,128,255,128,255,128, - 255,128,9,8,16,9,0,253,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,9,9,18,9,0,253,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 9,11,22,9,0,253,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,13,26,9, - 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,15,30,9, - 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 8,15,15,9,0,253,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,7,15,15,9,0,253,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,254,6,15,15,9,0,253, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 15,15,9,0,253,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,3,15,15,9,0,253,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,2,15,15,9,0,253,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,1,15, - 15,9,0,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,4,15,15,9,5,253,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,9,15,30,9,0,253,170,128, - 0,0,85,0,0,0,170,128,0,0,85,0,0,0,170,128, - 0,0,85,0,0,0,170,128,0,0,85,0,9,15,30,9, - 0,253,170,128,85,0,170,128,85,0,170,128,85,0,170,128, - 85,0,170,128,85,0,170,128,85,0,170,128,85,0,170,128, - 9,15,30,9,0,253,255,128,85,0,255,128,170,128,255,128, - 85,0,255,128,170,128,255,128,85,0,255,128,170,128,255,128, - 85,0,255,128,9,2,4,9,0,10,255,128,255,128,1,15, - 15,9,8,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,8,8,9,0,253,248,248,248,248,248,248,248, - 248,4,8,8,9,5,253,240,240,240,240,240,240,240,240,5, - 7,7,9,0,5,248,248,248,248,248,248,248,9,15,30,9, - 0,253,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 9,15,30,9,0,253,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,9,15,30,9,0,253,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,9,15,30,9,0,253,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,4,7,7,9, - 5,5,240,240,240,240,240,240,240,9,15,30,9,0,253,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,9,15,30, - 9,0,253,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56,7,7,7,9,1,1,56,116, - 242,242,242,116,56,7,7,7,9,1,1,56,92,158,158,158, - 92,56,7,7,7,9,1,1,56,68,130,254,254,124,56,7, - 7,7,9,1,1,56,124,254,254,130,68,56,7,7,7,9, - 1,1,56,92,158,158,130,68,56,7,7,7,9,1,1,56, - 92,158,254,254,124,56,4,7,7,9,1,1,48,112,240,240, - 240,112,48,4,7,7,9,4,1,192,224,240,240,240,224,192, - 9,15,30,9,0,253,255,128,255,128,255,128,255,128,255,128, - 227,128,193,128,193,128,193,128,227,128,255,128,255,128,255,128, - 255,128,255,128,9,15,30,9,0,253,255,128,255,128,255,128, - 255,128,227,128,221,128,190,128,190,128,190,128,221,128,227,128, - 255,128,255,128,255,128,255,128,9,8,16,9,0,4,255,128, - 255,128,255,128,255,128,227,128,221,128,190,128,190,128,9,8, - 16,9,0,253,190,128,190,128,221,128,227,128,255,128,255,128, - 255,128,255,128,4,4,4,9,1,4,48,64,128,128,4,4, - 4,9,4,4,192,32,16,16,4,4,4,9,4,1,16,16, - 32,192,4,4,4,9,1,1,128,128,64,48,7,4,4,9, - 1,4,56,68,130,130,7,4,4,9,1,1,130,130,68,56, - 7,7,7,9,1,1,2,6,14,30,62,126,254,7,7,7, - 9,1,1,128,192,224,240,248,252,254,7,7,7,9,1,1, - 254,252,248,240,224,192,128,7,7,7,9,1,1,254,126,62, - 30,14,6,2,5,5,5,9,2,2,112,136,136,136,112,7, - 7,7,9,1,1,254,242,242,242,242,242,254,7,7,7,9, - 1,1,254,158,158,158,158,158,254,7,7,7,9,1,1,254, - 254,250,242,226,194,254,7,7,7,9,1,1,254,134,142,158, - 190,254,254,7,7,7,9,1,1,254,146,146,146,146,146,254, - 9,10,20,9,0,0,8,0,8,0,20,0,20,0,34,0, - 42,0,93,0,73,0,128,128,255,128,9,10,20,9,0,0, - 8,0,8,0,28,0,28,0,58,0,58,0,121,0,121,0, - 248,128,255,128,9,10,20,9,0,0,8,0,8,0,28,0, - 28,0,46,0,46,0,79,0,79,0,143,128,255,128,9,9, - 18,9,0,0,62,0,65,0,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,7,7,7,9,1,1,254,146,146,242, - 130,130,254,7,7,7,9,1,1,254,130,130,242,146,146,254, - 7,7,7,9,1,1,254,130,130,158,146,146,254,7,7,7, - 9,1,1,254,146,146,158,130,130,254,7,7,7,9,1,1, - 124,146,146,242,130,130,124,7,7,7,9,1,1,124,130,130, - 242,146,146,124,7,7,7,9,1,1,124,130,130,158,146,146, - 124,7,7,7,9,1,1,124,146,146,158,130,130,124,6,6, - 6,9,1,1,252,136,144,160,192,128,6,6,6,9,1,1, - 252,68,36,20,12,4,6,6,6,9,1,1,128,192,160,144, - 136,252,6,6,6,9,1,1,252,132,132,132,132,252,6,6, - 6,9,1,1,252,252,252,252,252,252,5,5,5,9,2,1, - 248,136,136,136,248,5,5,5,9,2,1,248,248,248,248,248, - 6,6,6,9,1,1,4,12,20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 5 - Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_75r[792] U8G_SECTION(".progmem.u8g_font_9x15_75r") = { - 0,9,15,0,253,9,2,33,0,0,32,79,0,10,0,9, - 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=26 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[3795] U8G_SECTION(".progmem.u8g_font_9x15_78_79") = { - 0,9,15,0,253,9,2,231,4,175,32,255,0,12,254,11, - 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, - 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, - 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, - 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, - 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, - 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, - 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, - 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, - 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, - 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, - 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, - 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, - 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, - 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, - 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, - 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, - 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, - 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, - 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, - 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, - 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, - 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, - 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, - 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, - 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, - 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, - 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, - 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, - 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, - 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, - 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, - 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, - 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, - 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, - 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, - 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, - 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, - 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, - 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, - 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, - 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, - 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, - 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, - 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, - 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, - 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, - 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, - 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, - 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, - 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, - 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, - 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, - 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, - 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, - 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, - 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, - 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, - 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, - 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, - 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, - 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, - 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, - 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, - 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, - 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, - 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, - 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, - 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, - 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, - 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, - 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, - 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, - 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, - 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, - 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, - 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, - 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, - 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, - 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, - 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, - 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, - 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, - 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, - 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, - 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, - 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, - 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, - 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, - 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, - 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, - 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, - 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, - 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, - 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, - 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, - 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, - 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, - 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, - 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, - 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, - 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, - 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, - 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, - 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, - 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, - 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, - 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, - 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, - 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, - 10,0,20,0,255,7,7,7,9,1,0,130,132,136,144,160, - 192,254,9,10,20,9,0,0,8,0,8,0,20,0,20,0, - 42,0,42,0,85,0,93,0,128,128,255,128,7,10,10,9, - 1,0,16,16,16,16,16,16,16,16,16,254,7,7,7,9, - 1,1,62,64,132,138,132,64,62,7,7,7,9,1,1,248, - 4,66,162,66,4,248,5,12,12,9,2,255,112,136,136,16, - 16,32,32,64,64,128,128,112,5,12,12,9,2,255,112,136, - 136,64,64,32,32,16,16,8,8,112,7,8,8,9,1,0, - 130,146,84,68,40,40,16,16,8,10,10,9,0,255,128,143, - 144,80,80,80,80,47,32,32,8,10,10,9,0,255,1,241, - 9,10,10,10,10,244,4,4,3,10,10,9,3,0,64,64, - 64,64,224,64,64,64,64,64,255,255,255,255,255,9,9,18, - 9,0,0,8,0,20,0,34,0,65,0,136,128,65,0,34, - 0,20,0,8,0,7,8,8,9,1,0,16,16,40,40,68, - 84,146,130,7,7,7,9,1,1,146,146,146,146,146,84,56, - 7,7,7,9,1,1,2,2,2,18,2,2,254,7,7,7, - 9,1,1,254,128,128,144,128,128,128,8,11,11,9,0,255, - 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, - 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, - 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, - 85,0,99,0,99,0,193,128,9,13,26,9,0,254,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,9,13,26,9,0,254,255,128, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,7,7,7,9,1,1,40,40, - 238,40,238,40,40,7,7,7,9,1,1,40,40,40,238,40, - 40,40,7,3,3,9,1,3,64,190,64,9,5,10,9,0, - 2,128,0,128,0,255,128,128,0,128,0,9,5,10,9,0, - 2,0,128,0,128,255,128,0,128,0,128,5,10,10,9,2, - 0,32,80,32,32,32,32,32,32,32,248,5,9,9,9,2, - 0,32,32,80,80,248,80,80,32,32,7,9,9,9,1,0, - 16,16,16,40,198,40,16,16,16,8,9,9,9,0,0,8, - 8,8,20,227,20,8,8,8,8,9,9,9,1,0,16,16, - 16,40,199,40,16,16,16,8,7,7,9,0,1,127,65,65, - 193,65,65,127,8,7,7,9,1,1,254,130,130,131,130,130, - 254,5,12,12,9,2,255,248,160,160,160,160,160,160,160,160, - 160,160,248,5,12,12,9,2,255,248,40,40,40,40,40,40, - 40,40,40,40,248,3,10,10,9,3,0,32,32,64,64,128, - 128,64,64,32,32,3,10,10,9,3,0,128,128,64,64,32, - 32,64,64,128,128,6,10,10,9,1,0,36,36,72,72,144, - 144,72,72,36,36,6,10,10,9,2,0,144,144,72,72,36, - 36,72,72,144,144,255,255,255,255,9,11,22,9,0,0,8, - 0,20,0,54,0,85,0,213,128,85,0,85,0,85,0,85, - 0,85,0,85,0,9,11,22,9,0,255,85,0,85,0,85, - 0,85,0,85,0,85,0,213,128,85,0,54,0,20,0,8, - 0,8,8,8,9,0,0,28,34,169,113,33,1,34,28,8, - 8,8,9,0,0,56,68,149,142,132,128,68,56,9,5,10, - 9,0,2,114,0,169,0,255,128,169,0,114,0,9,5,10, - 9,0,2,32,0,64,0,255,128,64,0,32,0,9,5,10, - 9,0,2,2,0,1,0,255,128,1,0,2,0,9,5,10, - 9,0,2,34,0,65,0,255,128,65,0,34,0,9,7,14, - 9,0,1,16,0,32,0,127,128,128,0,127,128,32,0,16, - 0,9,7,14,9,0,1,4,0,2,0,255,0,0,128,255, - 0,2,0,4,0,9,7,14,9,0,1,20,0,34,0,127, - 0,128,128,127,0,34,0,20,0,9,5,10,9,0,2,32, - 128,64,128,255,128,64,128,32,128,9,5,10,9,0,2,130, - 0,129,0,255,128,129,0,130,0,9,7,14,9,0,1,16, - 128,32,128,127,128,128,128,127,128,32,128,16,128,9,7,14, - 9,0,1,132,0,130,0,255,0,128,128,255,0,130,0,132, - 0,9,6,12,9,0,1,2,0,1,0,85,128,170,128,1, - 0,2,0}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=20 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15B[2990] U8G_SECTION(".progmem.u8g_font_9x15B") = { - 0,9,15,0,253,10,1,232,3,214,32,255,253,12,253,11, - 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, - 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, - 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, - 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, - 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, - 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, - 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, - 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, - 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, - 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, - 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, - 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, - 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, - 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, - 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, - 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, - 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, - 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, - 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, - 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, - 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, - 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, - 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, - 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, - 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, - 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, - 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, - 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, - 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, - 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, - 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, - 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, - 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, - 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, - 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, - 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, - 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, - 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, - 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, - 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, - 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, - 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, - 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, - 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, - 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, - 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, - 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, - 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, - 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, - 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, - 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, - 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, - 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, - 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, - 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, - 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, - 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, - 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, - 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, - 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, - 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, - 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, - 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, - 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, - 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, - 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, - 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, - 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, - 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, - 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, - 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, - 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, - 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, - 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, - 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, - 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, - 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, - 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, - 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, - 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, - 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, - 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, - 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, - 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, - 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, - 48,48,48,48,224,8,3,3,9,0,7,115,219,206,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,9,0,12,2,10,10,9,4,0,192,0,192,192,192, - 192,192,192,192,192,7,8,8,9,1,0,4,124,206,208,208, - 230,124,64,8,10,10,9,0,255,30,51,48,48,124,48,48, - 248,191,224,7,7,7,9,1,2,198,254,108,68,108,254,198, - 8,10,10,9,0,0,195,195,102,60,126,24,126,24,24,24, - 2,11,11,9,4,255,192,192,192,192,192,0,0,192,192,192, - 192,6,11,11,9,1,255,120,204,192,120,204,204,204,120,12, - 204,120,6,2,2,9,1,9,204,204,8,11,11,9,0,0, - 60,126,195,189,165,161,165,189,195,126,60,5,7,7,9,1, - 3,240,24,248,152,248,0,248,8,8,8,9,0,1,27,54, - 108,216,216,108,54,27,7,5,5,9,1,2,254,254,6,6, - 6,6,1,1,9,1,4,252,8,11,11,9,0,0,60,126, - 195,189,165,189,169,173,195,126,60,6,2,2,9,1,9,252, - 252,6,4,4,9,2,6,120,204,204,120,8,10,10,9,0, - 0,24,24,24,255,255,24,24,24,255,255,5,7,7,9,1, - 4,112,152,24,48,96,192,248,5,7,7,9,1,4,112,152, - 24,48,24,152,112,4,3,3,9,2,8,48,96,192,7,10, - 10,9,1,253,198,198,198,198,198,238,250,192,192,192,7,10, - 10,9,1,0,126,254,246,246,246,118,54,54,54,54,3,3, - 3,9,3,3,64,224,64,5,3,3,9,2,253,24,216,112, - 4,7,7,9,1,4,96,224,96,96,96,96,240,5,6,6, - 9,1,4,112,216,216,112,0,248,8,8,8,9,0,1,216, - 108,54,27,27,54,108,216,8,11,11,9,0,0,96,224,96, - 96,97,99,247,15,27,31,3,8,11,11,9,0,0,96,224, - 96,96,110,115,243,6,12,24,31,8,11,11,9,0,0,112, - 152,24,48,25,155,119,15,27,31,3,7,10,10,9,1,0, - 24,24,0,24,48,96,192,198,198,124,8,12,12,9,0,0, - 96,48,24,0,60,102,195,195,255,195,195,195,8,12,12,9, - 0,0,6,12,24,0,60,102,195,195,255,195,195,195,8,12, - 12,9,0,0,24,60,102,0,60,102,195,195,255,195,195,195, - 8,12,12,9,0,0,50,126,76,0,60,102,195,195,255,195, - 195,195,8,11,11,9,0,0,102,102,0,60,102,195,195,255, - 195,195,195,8,12,12,9,0,0,24,36,36,24,60,102,195, - 195,255,195,195,195,8,10,10,9,0,0,31,60,108,108,204, - 255,204,204,204,207,8,13,13,9,0,253,62,99,193,192,192, - 192,192,193,99,62,12,108,56,7,12,12,9,1,0,96,48, - 24,0,254,192,192,252,192,192,192,254,7,12,12,9,1,0, - 12,24,48,0,254,192,192,252,192,192,192,254,7,12,12,9, - 1,0,24,60,102,0,254,192,192,252,192,192,192,254,7,11, - 11,9,1,0,102,102,0,254,192,192,252,192,192,192,254,6, - 12,12,9,1,0,192,96,48,0,252,48,48,48,48,48,48, - 252,6,12,12,9,1,0,24,48,96,0,252,48,48,48,48, - 48,48,252,6,12,12,9,1,0,48,120,204,0,252,48,48, - 48,48,48,48,252,6,11,11,9,1,0,204,204,0,252,48, - 48,48,48,48,48,252,9,10,20,9,0,0,126,0,99,0, - 97,128,97,128,249,128,249,128,97,128,97,128,99,0,126,0, - 8,12,12,9,0,0,50,126,76,0,195,227,243,251,223,207, - 199,195,8,12,12,9,0,0,96,48,24,0,60,102,195,195, - 195,195,102,60,8,12,12,9,0,0,6,12,24,0,60,102, - 195,195,195,195,102,60,8,12,12,9,0,0,24,60,102,0, - 60,102,195,195,195,195,102,60,8,12,12,9,0,0,50,126, - 76,0,60,102,195,195,195,195,102,60,8,11,11,9,0,0, - 102,102,0,60,102,195,195,195,195,102,60,7,8,8,9,1, - 0,130,198,108,56,56,108,198,130,8,12,12,9,0,255,1, - 63,102,199,203,203,211,211,227,102,252,128,8,12,12,9,0, - 0,96,48,24,0,195,195,195,195,195,195,102,60,8,12,12, - 9,0,0,6,12,24,0,195,195,195,195,195,195,102,60,8, - 12,12,9,0,0,24,60,102,0,195,195,195,195,195,195,102, - 60,8,11,11,9,0,0,102,102,0,195,195,195,195,195,195, - 102,60,8,12,12,9,0,0,6,12,24,0,195,102,60,24, - 24,24,24,24,7,10,10,9,1,0,240,96,124,102,102,102, - 124,96,96,240,7,10,10,9,1,0,60,102,198,204,216,204, - 198,198,198,220,8,11,11,9,0,0,96,48,24,0,62,67, - 3,127,195,199,123,8,11,11,9,0,0,12,24,48,0,62, - 67,3,127,195,199,123,8,11,11,9,0,0,24,60,102,0, - 62,67,3,127,195,199,123,8,11,11,9,0,0,50,126,76, - 0,62,67,3,127,195,199,123,8,10,10,9,0,0,102,102, - 0,62,67,3,127,195,199,123,8,11,11,9,0,0,24,36, - 36,24,62,67,3,127,195,199,123,8,7,7,9,0,0,118, - 155,27,126,216,217,110,8,10,10,9,0,253,62,99,192,192, - 192,99,62,12,108,56,8,11,11,9,0,0,96,48,24,0, - 60,102,195,255,192,99,62,8,11,11,9,0,0,12,24,48, - 0,60,102,195,255,192,99,62,8,11,11,9,0,0,24,60, - 102,0,60,102,195,255,192,99,62,8,10,10,9,0,0,102, - 102,0,60,102,195,255,192,99,62,6,11,11,9,1,0,192, - 96,48,0,112,48,48,48,48,48,252,6,11,11,9,1,0, - 24,48,96,0,112,48,48,48,48,48,252,6,11,11,9,1, - 0,48,120,204,0,112,48,48,48,48,48,252,6,10,10,9, - 1,0,204,204,0,112,48,48,48,48,48,252,8,12,12,9, - 0,0,136,216,112,112,216,140,62,103,195,195,102,60,8,11, - 11,9,0,0,50,126,76,0,220,230,195,195,195,195,195,8, - 11,11,9,0,0,96,48,24,0,60,102,195,195,195,102,60, - 8,11,11,9,0,0,12,24,48,0,60,102,195,195,195,102, - 60,8,11,11,9,0,0,24,60,102,0,60,102,195,195,195, - 102,60,8,11,11,9,0,0,50,126,76,0,60,102,195,195, - 195,102,60,8,10,10,9,0,0,102,102,0,60,102,195,195, - 195,102,60,8,10,10,9,0,0,24,24,0,0,255,255,0, - 0,24,24,8,9,9,9,0,255,1,63,102,207,219,243,102, - 252,128,8,11,11,9,0,0,96,48,24,0,195,195,195,195, - 195,103,59,8,11,11,9,0,0,12,24,48,0,195,195,195, - 195,195,103,59,8,11,11,9,0,0,24,60,102,0,195,195, - 195,195,195,103,59,8,10,10,9,0,0,102,102,0,195,195, - 195,195,195,103,59,8,14,14,9,0,253,12,24,48,0,195, - 195,195,195,195,103,59,3,198,124,7,12,12,9,1,253,224, - 96,96,124,102,102,102,102,124,96,96,224,8,13,13,9,0, - 253,102,102,0,195,195,195,195,195,103,59,3,198,124}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 3 y=12 dx= 9 dy= 0 ascent=12 len=13 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15Br[1423] U8G_SECTION(".progmem.u8g_font_9x15Br") = { - 0,9,15,0,253,10,1,232,3,214,32,127,253,12,253,11, - 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, - 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, - 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, - 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, - 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, - 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, - 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, - 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, - 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, - 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, - 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, - 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, - 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, - 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, - 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, - 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, - 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, - 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, - 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, - 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, - 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, - 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, - 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, - 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, - 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, - 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, - 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, - 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, - 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, - 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, - 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, - 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, - 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, - 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, - 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, - 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, - 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, - 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, - 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, - 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, - 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, - 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, - 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, - 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, - 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, - 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, - 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, - 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, - 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, - 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, - 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, - 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, - 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, - 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, - 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, - 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, - 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, - 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, - 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, - 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, - 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, - 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, - 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, - 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, - 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, - 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, - 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, - 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, - 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, - 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, - 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, - 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, - 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, - 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, - 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, - 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, - 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, - 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, - 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, - 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, - 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, - 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, - 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, - 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, - 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, - 48,48,48,48,224,8,3,3,9,0,7,115,219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=14 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15[2959] U8G_SECTION(".progmem.u8g_font_9x15") = { - 0,9,15,0,253,10,1,232,3,216,32,255,253,12,253,11, - 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, - 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, - 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, - 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, - 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, - 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, - 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, - 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, - 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, - 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, - 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, - 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, - 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, - 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, - 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, - 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, - 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, - 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, - 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, - 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, - 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, - 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, - 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, - 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, - 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, - 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, - 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, - 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, - 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, - 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, - 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, - 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, - 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, - 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, - 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, - 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, - 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, - 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, - 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, - 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, - 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, - 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, - 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, - 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, - 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, - 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, - 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, - 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, - 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, - 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, - 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, - 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, - 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, - 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, - 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, - 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, - 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, - 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, - 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, - 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, - 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, - 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, - 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, - 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, - 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, - 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, - 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, - 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, - 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, - 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, - 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, - 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, - 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, - 146,140,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,9,0,12,1,11,11,9,4,0,128, - 128,0,0,128,128,128,128,128,128,128,6,8,8,9,1,0, - 8,120,148,144,160,164,120,64,7,10,10,9,1,0,28,34, - 32,32,248,32,32,96,162,92,7,6,6,9,1,3,130,124, - 68,68,124,130,7,10,10,9,1,0,130,130,68,40,124,16, - 124,16,16,16,1,11,11,9,4,255,128,128,128,128,128,0, - 128,128,128,128,128,4,11,11,9,2,255,96,144,128,96,144, - 144,144,96,16,144,96,5,2,2,9,2,9,136,136,8,9, - 9,9,0,1,60,66,153,165,161,165,153,66,60,5,7,7, - 9,1,3,96,144,112,144,120,0,248,7,8,8,9,1,1, - 18,36,72,144,144,72,36,18,6,4,4,9,1,2,252,4, - 4,4,5,1,1,9,2,4,248,8,9,9,9,0,1,60, - 66,185,165,185,169,165,66,60,6,1,1,9,1,9,252,4, - 4,4,9,3,6,96,144,144,96,7,9,9,9,1,1,16, - 16,16,254,16,16,16,0,254,4,6,6,9,1,4,96,144, - 16,96,128,240,4,6,6,9,1,4,96,144,32,16,144,96, - 3,3,3,9,3,8,32,64,128,7,9,9,9,1,254,130, - 130,130,130,130,198,186,128,128,7,10,10,9,1,0,126,138, - 138,138,122,10,10,10,10,10,2,2,2,9,4,4,192,192, - 4,3,3,9,2,253,48,144,96,3,6,6,9,1,4,64, - 192,64,64,64,224,5,6,6,9,1,4,112,136,136,112,0, - 248,7,8,8,9,1,1,144,72,36,18,18,36,72,144,7, - 10,10,9,1,0,64,192,64,64,66,230,10,18,26,6,7, - 10,10,9,1,0,64,192,64,64,76,242,2,12,16,30,7, - 10,10,9,1,0,96,144,32,16,146,102,10,18,26,6,7, - 10,10,9,1,0,16,0,16,16,32,64,128,130,130,124,7, - 12,12,9,1,0,64,32,16,0,56,68,130,130,254,130,130, - 130,7,12,12,9,1,0,4,8,16,0,56,68,130,130,254, - 130,130,130,7,12,12,9,1,0,16,40,68,0,56,68,130, - 130,254,130,130,130,7,11,11,9,1,0,98,156,0,56,68, - 130,130,254,130,130,130,7,11,11,9,1,0,68,68,0,56, - 68,130,130,254,130,130,130,7,11,11,9,1,0,56,68,56, - 40,68,130,130,254,130,130,130,7,10,10,9,1,0,110,144, - 144,144,144,252,144,144,144,158,7,13,13,9,1,253,124,130, - 128,128,128,128,128,128,130,124,24,72,48,7,12,12,9,1, - 0,64,32,16,0,254,64,64,120,64,64,64,254,7,12,12, - 9,1,0,4,8,16,0,254,64,64,120,64,64,64,254,7, - 12,12,9,1,0,16,40,68,0,254,64,64,120,64,64,64, - 254,7,11,11,9,1,0,68,68,0,254,64,64,120,64,64, - 64,254,5,12,12,9,2,0,128,64,32,0,248,32,32,32, - 32,32,32,248,5,12,12,9,2,0,8,16,32,0,248,32, - 32,32,32,32,32,248,5,12,12,9,2,0,32,80,136,0, - 248,32,32,32,32,32,32,248,5,11,11,9,2,0,136,136, - 0,248,32,32,32,32,32,32,248,8,10,10,9,0,0,124, - 66,65,65,225,65,65,65,66,124,7,11,11,9,1,0,98, - 156,0,130,194,162,146,146,138,134,130,7,12,12,9,1,0, - 64,32,16,0,124,130,130,130,130,130,130,124,7,12,12,9, - 1,0,4,8,16,0,124,130,130,130,130,130,130,124,7,12, - 12,9,1,0,16,40,68,0,124,130,130,130,130,130,130,124, - 7,11,11,9,1,0,98,156,0,124,130,130,130,130,130,130, - 124,7,11,11,9,1,0,68,68,0,124,130,130,130,130,130, - 130,124,7,7,7,9,1,1,130,68,40,16,40,68,130,7, - 12,12,9,1,255,2,124,134,138,138,146,146,162,162,194,124, - 128,7,12,12,9,1,0,64,32,16,0,130,130,130,130,130, - 130,130,124,7,12,12,9,1,0,4,8,16,0,130,130,130, - 130,130,130,130,124,7,12,12,9,1,0,16,40,68,0,130, - 130,130,130,130,130,130,124,7,11,11,9,1,0,68,68,0, - 130,130,130,130,130,130,130,124,7,12,12,9,1,0,4,8, - 16,0,130,130,68,40,16,16,16,16,7,10,10,9,1,0, - 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, - 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, - 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, - 0,4,8,16,0,124,2,2,126,130,134,122,7,11,11,9, - 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,50,76,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,68,68,0,124,2,2,126,130,134,122,7,11,11, - 9,1,0,24,36,24,0,124,2,2,126,130,134,122,7,7, - 7,9,1,0,108,146,18,124,144,146,110,7,10,10,9,1, - 253,124,130,128,128,128,130,124,24,72,48,7,11,11,9,1, - 0,64,32,16,0,124,130,130,254,128,128,124,7,11,11,9, - 1,0,4,8,16,0,124,130,130,254,128,128,124,7,11,11, - 9,1,0,16,40,68,0,124,130,130,254,128,128,124,7,10, - 10,9,1,0,68,68,0,124,130,130,254,128,128,124,5,11, - 11,9,2,0,128,64,32,0,224,32,32,32,32,32,248,5, - 11,11,9,2,0,16,32,64,0,224,32,32,32,32,32,248, - 6,11,11,9,1,0,32,80,136,0,112,16,16,16,16,16, - 124,5,10,10,9,2,0,144,144,0,224,32,32,32,32,32, - 248,7,11,11,9,1,0,72,48,80,8,124,130,130,130,130, - 130,124,7,10,10,9,1,0,98,156,0,188,194,130,130,130, - 130,130,7,11,11,9,1,0,64,32,16,0,124,130,130,130, - 130,130,124,7,11,11,9,1,0,4,8,16,0,124,130,130, - 130,130,130,124,7,11,11,9,1,0,16,40,68,0,124,130, - 130,130,130,130,124,7,10,10,9,1,0,98,156,0,124,130, - 130,130,130,130,124,7,10,10,9,1,0,68,68,0,124,130, - 130,130,130,130,124,7,9,9,9,1,0,16,56,16,0,254, - 0,16,56,16,7,9,9,9,1,255,2,124,138,138,146,162, - 162,124,128,7,11,11,9,1,0,64,32,16,0,132,132,132, - 132,132,132,122,7,11,11,9,1,0,4,8,16,0,132,132, - 132,132,132,132,122,7,11,11,9,1,0,16,40,68,0,132, - 132,132,132,132,132,122,7,10,10,9,1,0,72,72,0,132, - 132,132,132,132,132,122,6,14,14,9,1,253,8,16,32,0, - 132,132,132,132,132,140,116,4,132,120,7,12,12,9,1,253, - 128,128,128,188,194,130,130,194,188,128,128,128,6,13,13,9, - 1,253,72,72,0,132,132,132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=13 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15r[1427] U8G_SECTION(".progmem.u8g_font_9x15r") = { - 0,9,15,0,253,10,1,232,3,216,32,127,253,12,253,11, - 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, - 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, - 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, - 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, - 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, - 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, - 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, - 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, - 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, - 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, - 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, - 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, - 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, - 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, - 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, - 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, - 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, - 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, - 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, - 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, - 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, - 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, - 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, - 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, - 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, - 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, - 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, - 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, - 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, - 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, - 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, - 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, - 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, - 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, - 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, - 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, - 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, - 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, - 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, - 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, - 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, - 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, - 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, - 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, - 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, - 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, - 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, - 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, - 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, - 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, - 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, - 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, - 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, - 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, - 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, - 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, - 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, - 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, - 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, - 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, - 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, - 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, - 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, - 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, - 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, - 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, - 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, - 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, - 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, - 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, - 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, - 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, - 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, - 146,140,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 4, '1' Height: 10 - Calculated Max Values w= 9 h=18 x= 8 y=12 dx= 9 dy= 0 ascent=14 len=36 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 4 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[3936] U8G_SECTION(".progmem.u8g_font_9x18_67_75") = { - 0,9,18,0,252,4,1,255,4,34,32,255,0,14,252,10, - 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, - 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, - 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, - 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, - 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, - 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, - 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, - 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, - 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, - 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, - 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, - 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, - 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, - 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, - 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, - 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, - 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, - 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, - 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, - 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, - 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, - 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, - 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, - 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, - 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, - 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, - 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, - 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, - 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, - 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, - 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, - 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, - 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, - 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, - 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, - 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, - 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, - 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, - 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, - 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, - 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, - 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, - 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, - 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, - 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, - 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, - 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, - 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, - 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, - 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, - 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, - 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, - 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, - 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, - 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, - 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, - 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, - 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, - 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, - 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, - 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, - 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, - 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, - 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, - 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, - 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, - 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, - 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, - 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, - 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, - 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, - 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, - 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, - 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, - 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, - 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, - 124,7,10,10,9,1,0,16,40,68,238,68,238,40,40,40, - 56,7,11,11,9,1,255,16,40,68,238,68,238,40,40,108, - 68,124,9,7,14,9,0,1,132,0,134,0,253,0,128,128, - 253,0,134,0,132,0,7,7,7,9,1,0,252,128,184,176, - 168,132,2,7,7,7,9,1,0,128,66,42,26,58,2,126, - 7,11,11,9,1,255,16,40,68,238,40,40,40,238,68,40, - 16,9,7,14,9,0,1,4,0,50,0,73,0,255,128,73, - 0,50,0,4,0,9,10,20,9,0,0,34,0,39,0,42, - 128,34,0,34,0,34,0,34,0,170,0,114,0,34,0,7, - 13,13,9,1,254,8,4,254,4,8,4,254,4,8,4,254, - 4,8,8,5,5,9,0,2,36,68,255,68,36,8,5,5, - 9,0,2,36,34,255,34,36,9,5,10,9,0,2,42,0, - 73,0,255,128,73,0,42,0,8,5,5,9,0,2,42,74, - 255,74,42,8,5,5,9,0,2,84,82,255,82,84,9,5, - 10,9,0,2,85,0,148,128,255,128,148,128,85,0,7,7, - 7,9,1,1,16,48,80,158,80,48,16,7,7,7,9,1, - 1,16,24,20,242,20,24,16,8,5,5,9,0,2,36,102, - 189,102,36,9,9,18,9,0,5,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,9,2,4,9,0, - 252,255,128,255,128,9,4,8,9,0,252,255,128,255,128,255, - 128,255,128,9,7,14,9,0,252,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,9,9,18,9,0,252,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,9, - 11,22,9,0,252,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,9,14,28,9,0, - 252,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,9,16,32, - 9,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,9,18,36,9,0,252,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,8,18,18, - 9,0,252,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,7,18,18,9,0,252,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,254,254,254,254,6,18,18, - 9,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252, - 252,252,252,252,252,5,18,18,9,0,252,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,3,18,18, - 9,0,252,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,2,18,18,9,0,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,1,18,18, - 9,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,4,18,18,9,5,252,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,9,17,34, - 9,0,253,85,0,0,0,170,128,0,0,85,0,0,0,170, - 128,0,0,85,0,0,0,170,128,0,0,85,0,0,0,170, - 128,0,0,85,0,9,18,36,9,0,252,170,128,85,0,170, - 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,170, - 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,9, - 18,36,9,0,252,255,128,170,128,255,128,85,0,255,128,170, - 128,255,128,85,0,255,128,170,128,255,128,85,0,255,128,170, - 128,255,128,85,0,255,128,170,128,9,2,4,9,0,12,255, - 128,255,128,1,18,18,9,8,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,5,9,9,9,0, - 252,248,248,248,248,248,248,248,248,248,4,9,9,9,5,252, - 240,240,240,240,240,240,240,240,240,5,9,9,9,0,5,248, - 248,248,248,248,248,248,248,248,9,18,36,9,0,252,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,9,18,36,9,0,252,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,9,18,36,9, - 0,252,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,9,18,36,9,0,252,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 4,9,9,9,5,5,240,240,240,240,240,240,240,240,240,9, - 18,36,9,0,252,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,9,18,36,9,0,252,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,7,7,7,9,1,1,254,254,254,254,254,254,254, - 7,7,7,9,1,1,254,130,130,130,130,130,254,7,7,7, - 9,1,1,124,130,130,130,130,130,124,7,7,7,9,1,1, - 254,130,186,186,186,130,254,7,7,7,9,1,1,254,130,254, - 130,254,130,254,7,7,7,9,1,1,254,170,170,170,170,170, - 254,7,7,7,9,1,1,254,170,254,170,254,170,254,7,7, - 7,9,1,1,254,146,138,198,162,146,254,7,7,7,9,1, - 1,254,146,162,198,138,146,254,7,7,7,9,1,1,254,214, - 138,214,162,214,254,3,3,3,9,3,3,224,224,224,3,3, - 3,9,3,3,224,160,224,9,5,10,9,0,2,255,128,255, - 128,255,128,255,128,255,128,9,5,10,9,0,2,255,128,128, - 128,128,128,128,128,255,128,5,9,9,9,2,0,248,248,248, - 248,248,248,248,248,248,5,9,9,9,2,0,248,136,136,136, - 136,136,136,136,248,9,5,10,9,0,2,127,128,127,128,255, - 128,255,0,255,0,9,5,10,9,0,2,127,128,64,128,128, - 128,129,0,255,0,9,10,20,9,0,0,8,0,8,0,28, - 0,28,0,62,0,62,0,127,0,127,0,255,128,255,128,9, - 10,20,9,0,0,8,0,8,0,20,0,20,0,34,0,34, - 0,65,0,65,0,128,128,255,128,7,7,7,9,1,1,16, - 16,56,56,124,124,254,7,7,7,9,1,1,16,16,40,40, - 68,68,254,9,9,18,9,0,0,192,0,240,0,252,0,255, - 0,255,128,255,0,252,0,240,0,192,0,9,9,18,9,0, - 0,192,0,176,0,140,0,131,0,128,128,131,0,140,0,176, - 0,192,0,7,7,7,9,1,1,128,224,248,254,248,224,128, - 7,7,7,9,1,1,128,224,152,134,152,224,128,9,5,10, - 9,0,2,224,0,252,0,255,128,252,0,224,0,9,5,10, - 9,0,2,224,0,156,0,131,128,156,0,224,0,9,10,20, - 9,0,0,255,128,255,128,127,0,127,0,62,0,62,0,28, - 0,28,0,8,0,8,0,9,10,20,9,0,0,255,128,128, - 128,65,0,65,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,7,7,9,1,1,254,124,124,56,56,16,16,7,7, - 7,9,1,1,254,68,68,40,40,16,16,9,9,18,9,0, - 0,1,128,7,128,31,128,127,128,255,128,127,128,31,128,7, - 128,1,128,9,9,18,9,0,0,1,128,6,128,24,128,96, - 128,128,128,96,128,24,128,6,128,1,128,7,7,7,9,1, - 1,2,14,62,254,62,14,2,7,7,7,9,1,1,2,14, - 50,194,50,14,2,9,5,10,9,0,2,3,128,31,128,255, - 128,31,128,3,128,9,5,10,9,0,2,3,128,28,128,224, - 128,28,128,3,128,9,9,18,9,0,0,8,0,28,0,62, - 0,127,0,255,128,127,0,62,0,28,0,8,0,9,9,18, - 9,0,0,8,0,20,0,34,0,65,0,128,128,65,0,34, - 0,20,0,8,0,9,9,18,9,0,0,8,0,20,0,34, - 0,73,0,156,128,73,0,34,0,20,0,8,0,7,7,7, - 9,1,1,56,68,146,186,146,68,56,5,9,9,9,2,0, - 32,32,80,80,136,80,80,32,32,7,7,7,9,1,1,56, - 68,130,130,130,68,56,7,7,7,9,1,1,16,68,0,130, - 0,68,16,7,7,7,9,1,1,56,108,170,170,170,108,56, - 7,7,7,9,1,1,56,68,146,170,146,68,56,7,7,7, - 9,1,1,56,124,254,254,254,124,56,7,7,7,9,1,1, - 56,116,242,242,242,116,56,7,7,7,9,1,1,56,92,158, - 158,158,92,56,7,7,7,9,1,1,56,68,130,254,254,124, - 56,7,7,7,9,1,1,56,124,254,254,130,68,56,7,7, - 7,9,1,1,56,92,158,158,130,68,56,7,7,7,9,1, - 1,56,92,158,254,254,124,56,4,7,7,9,1,1,48,112, - 240,240,240,112,48,4,7,7,9,4,1,192,224,240,240,240, - 224,192,9,18,36,9,0,252,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,227,128,193,128,193,128,193,128,227,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,18,36,9, - 0,252,255,128,255,128,255,128,255,128,255,128,255,128,227,128, - 221,128,190,128,190,128,190,128,221,128,227,128,255,128,255,128, - 255,128,255,128,255,128,9,10,20,9,0,4,255,128,255,128, - 255,128,255,128,255,128,255,128,227,128,221,128,190,128,190,128, - 9,9,18,9,0,252,190,128,190,128,221,128,227,128,255,128, - 255,128,255,128,255,128,255,128,4,4,4,9,1,4,48,64, - 128,128,4,4,4,9,4,4,192,32,16,16,4,4,4,9, - 4,1,16,16,32,192,4,4,4,9,1,1,128,128,64,48, - 7,4,4,9,1,4,56,68,130,130,7,4,4,9,1,1, - 130,130,68,56,7,7,7,9,1,1,2,6,14,30,62,126, - 254,7,7,7,9,1,1,128,192,224,240,248,252,254,7,7, - 7,9,1,1,254,252,248,240,224,192,128,7,7,7,9,1, - 1,254,126,62,30,14,6,2,5,5,5,9,2,2,112,136, - 136,136,112,7,7,7,9,1,1,254,242,242,242,242,242,254, - 7,7,7,9,1,1,254,158,158,158,158,158,254,7,7,7, - 9,1,1,254,254,250,242,226,194,254,7,7,7,9,1,1, - 254,134,142,158,190,254,254,7,7,7,9,1,1,254,146,146, - 146,146,146,254,9,10,20,9,0,0,8,0,8,0,20,0, - 20,0,34,0,42,0,93,0,73,0,128,128,255,128,9,10, - 20,9,0,0,8,0,8,0,28,0,28,0,58,0,58,0, - 121,0,121,0,248,128,255,128,9,10,20,9,0,0,8,0, - 8,0,28,0,28,0,46,0,46,0,79,0,79,0,143,128, - 255,128,9,9,18,9,0,0,62,0,65,0,128,128,128,128, - 128,128,128,128,128,128,65,0,62,0,7,7,7,9,1,1, - 254,146,146,242,130,130,254,7,7,7,9,1,1,254,130,130, - 242,146,146,254,7,7,7,9,1,1,254,130,130,158,146,146, - 254,7,7,7,9,1,1,254,146,146,158,130,130,254,7,7, - 7,9,1,1,124,146,146,242,130,130,124,7,7,7,9,1, - 1,124,130,130,242,146,146,124,7,7,7,9,1,1,124,130, - 130,158,146,146,124,7,7,7,9,1,1,124,146,146,158,130, - 130,124,6,6,6,9,1,1,252,136,144,160,192,128,6,6, - 6,9,1,1,252,68,36,20,12,4,6,6,6,9,1,1, - 128,192,160,144,136,252,6,6,6,9,1,1,252,132,132,132, - 132,252,6,6,6,9,1,1,252,252,252,252,252,252,5,5, - 5,9,2,1,248,136,136,136,248,5,5,5,9,2,1,248, - 248,248,248,248,6,6,6,9,1,1,4,12,20,36,68,252 - }; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 5 - Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_75r[792] U8G_SECTION(".progmem.u8g_font_9x18_75r") = { - 0,9,18,0,252,9,2,33,0,0,32,79,0,10,0,9, - 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 9 h=12 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=24 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =12 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[3336] U8G_SECTION(".progmem.u8g_font_9x18_78_79") = { - 0,9,18,0,252,9,2,231,4,175,32,255,0,12,255,11, - 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, - 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, - 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, - 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, - 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, - 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, - 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, - 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, - 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, - 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, - 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, - 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, - 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, - 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, - 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, - 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, - 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, - 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, - 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, - 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, - 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, - 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, - 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, - 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, - 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, - 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, - 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, - 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, - 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, - 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, - 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, - 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, - 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, - 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, - 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, - 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, - 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, - 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, - 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, - 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, - 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, - 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, - 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, - 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, - 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, - 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, - 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, - 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, - 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, - 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, - 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, - 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, - 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, - 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, - 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, - 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, - 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, - 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, - 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, - 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, - 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, - 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, - 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, - 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, - 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, - 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, - 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, - 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, - 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, - 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, - 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, - 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, - 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, - 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, - 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, - 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, - 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, - 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, - 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, - 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, - 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, - 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, - 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, - 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, - 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, - 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, - 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, - 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, - 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, - 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, - 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, - 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, - 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, - 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, - 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, - 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, - 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, - 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, - 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, - 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, - 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, - 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, - 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, - 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, - 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, - 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, - 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, - 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, - 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, - 10,0,20,0,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,8,11,11,9,0,255, - 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, - 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, - 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, - 85,0,99,0,99,0,193,128,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,5,12,12,9,2,255,248,160,160,160, - 160,160,160,160,160,160,160,248,5,12,12,9,2,255,248,40, - 40,40,40,40,40,40,40,40,40,248,3,10,10,9,3,0, - 32,32,64,64,128,128,64,64,32,32,3,10,10,9,3,0, - 128,128,64,64,32,32,64,64,128,128,6,10,10,9,1,0, - 36,36,72,72,144,144,72,72,36,36,6,10,10,9,2,0, - 144,144,72,72,36,36,72,72,144,144,255,255,255,255,9,11, - 22,9,0,0,8,0,20,0,54,0,85,0,213,128,85,0, - 85,0,85,0,85,0,85,0,85,0,9,11,22,9,0,255, - 85,0,85,0,85,0,85,0,85,0,85,0,213,128,85,0, - 54,0,20,0,8,0,8,8,8,9,0,0,28,34,169,113, - 33,1,34,28,8,8,8,9,0,0,56,68,149,142,132,128, - 68,56,9,5,10,9,0,2,114,0,169,0,255,128,169,0, - 114,0,9,5,10,9,0,2,32,0,64,0,255,128,64,0, - 32,0,9,5,10,9,0,2,2,0,1,0,255,128,1,0, - 2,0,9,5,10,9,0,2,34,0,65,0,255,128,65,0, - 34,0,9,7,14,9,0,1,16,0,32,0,127,128,128,0, - 127,128,32,0,16,0,9,7,14,9,0,1,4,0,2,0, - 255,0,0,128,255,0,2,0,4,0,9,7,14,9,0,1, - 20,0,34,0,127,0,128,128,127,0,34,0,20,0,9,5, - 10,9,0,2,32,128,64,128,255,128,64,128,32,128,9,5, - 10,9,0,2,130,0,129,0,255,128,129,0,130,0,9,7, - 14,9,0,1,16,128,32,128,127,128,128,128,127,128,32,128, - 16,128,9,7,14,9,0,1,132,0,130,0,255,0,128,128, - 255,0,130,0,132,0,9,6,12,9,0,1,2,0,1,0, - 85,128,170,128,1,0,2,0}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18B[3026] U8G_SECTION(".progmem.u8g_font_9x18B") = { - 0,9,18,0,252,10,1,242,3,225,32,255,253,14,252,11, - 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, - 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, - 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, - 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, - 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, - 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, - 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, - 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, - 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, - 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, - 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, - 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, - 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, - 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, - 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, - 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, - 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, - 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, - 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, - 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, - 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, - 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, - 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, - 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, - 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, - 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, - 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, - 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, - 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, - 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, - 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, - 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, - 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, - 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, - 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, - 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, - 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, - 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, - 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, - 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, - 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, - 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, - 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, - 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, - 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, - 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, - 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, - 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, - 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, - 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, - 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, - 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, - 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, - 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, - 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, - 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, - 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, - 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, - 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, - 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, - 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, - 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, - 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, - 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, - 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, - 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, - 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, - 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, - 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, - 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, - 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, - 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, - 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, - 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, - 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, - 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, - 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, - 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, - 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, - 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, - 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, - 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, - 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, - 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, - 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, - 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, - 8,3,3,9,0,7,115,219,206,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,9,0,14, - 2,10,10,9,4,0,192,0,192,192,192,192,192,192,192,192, - 7,8,8,9,1,0,4,124,206,208,208,230,124,64,8,10, - 10,9,0,255,30,51,48,48,124,48,48,248,191,224,7,7, - 7,9,1,2,198,254,108,68,108,254,198,8,10,10,9,0, - 0,195,195,102,60,126,24,126,24,24,24,2,11,11,9,3, - 255,192,192,192,192,192,0,192,192,192,192,192,6,11,11,9, - 1,255,120,204,192,120,204,204,204,120,12,204,120,5,2,2, - 9,2,11,216,216,8,11,11,9,0,0,60,126,195,189,165, - 161,165,189,195,126,60,5,7,7,9,1,3,112,24,120,216, - 120,0,248,8,8,8,9,0,1,27,54,108,216,216,108,54, - 27,7,5,5,9,1,2,254,254,6,6,6,6,1,1,9, - 1,4,252,8,11,11,9,0,0,60,126,195,189,165,189,169, - 173,195,126,60,6,2,2,9,1,9,252,252,5,4,4,9, - 1,8,112,216,216,112,6,9,9,9,1,1,48,48,48,252, - 48,48,48,0,252,5,6,6,9,1,4,112,216,24,48,96, - 248,5,6,6,9,1,4,112,216,48,24,216,112,4,3,3, - 9,2,10,48,96,192,7,9,9,9,1,254,198,198,198,198, - 206,222,246,192,192,7,10,10,9,1,0,126,246,246,246,118, - 54,54,54,54,54,3,2,2,9,3,4,224,224,6,3,3, - 9,1,253,24,204,120,4,6,6,9,1,4,96,224,96,96, - 96,240,5,7,7,9,1,3,112,216,216,216,112,0,248,8, - 8,8,9,0,1,216,108,54,27,27,54,108,216,8,11,11, - 9,0,0,96,224,96,96,97,99,247,15,27,31,3,8,11, - 11,9,0,0,96,224,96,96,110,115,243,6,12,24,31,8, - 11,11,9,0,0,112,152,24,48,25,155,119,15,27,31,3, - 7,10,10,9,1,0,24,24,0,24,48,96,192,198,198,124, - 7,14,14,9,1,0,96,48,24,0,16,56,56,56,108,124, - 108,198,198,198,7,14,14,9,1,0,12,24,48,0,16,56, - 56,56,108,124,108,198,198,198,7,14,14,9,1,0,16,56, - 108,0,16,56,56,56,108,124,108,198,198,198,7,13,13,9, - 1,0,118,220,0,16,56,56,56,108,124,108,198,198,198,7, - 13,13,9,1,0,108,108,0,16,56,56,56,108,124,108,198, - 198,198,7,14,14,9,1,0,56,108,108,56,16,56,56,56, - 108,124,108,198,198,198,7,10,10,9,1,0,62,60,108,108, - 110,252,204,204,204,206,7,14,14,9,1,252,60,102,192,192, - 192,192,192,192,102,60,24,12,108,56,7,14,14,9,1,0, - 96,48,24,0,254,192,192,192,248,192,192,192,192,254,7,14, - 14,9,1,0,12,24,48,0,254,192,192,192,248,192,192,192, - 192,254,7,14,14,9,1,0,16,56,108,0,254,192,192,192, - 248,192,192,192,192,254,7,13,13,9,1,0,108,108,0,254, - 192,192,192,248,192,192,192,192,254,6,14,14,9,1,0,96, - 48,24,0,252,48,48,48,48,48,48,48,48,252,6,14,14, - 9,1,0,12,24,48,0,252,48,48,48,48,48,48,48,48, - 252,6,14,14,9,1,0,16,56,108,0,252,48,48,48,48, - 48,48,48,48,252,6,13,13,9,1,0,108,108,0,252,48, - 48,48,48,48,48,48,48,252,8,10,10,9,0,0,124,102, - 99,99,243,99,99,99,102,124,7,13,13,9,1,0,118,220, - 0,198,198,230,246,222,206,198,198,198,198,7,14,14,9,1, - 0,96,48,24,0,124,198,198,198,198,198,198,198,198,124,7, - 14,14,9,1,0,12,24,48,0,124,198,198,198,198,198,198, - 198,198,124,7,14,14,9,1,0,16,56,108,0,124,198,198, - 198,198,198,198,198,198,124,7,13,13,9,1,0,118,220,0, - 124,198,198,198,198,198,198,198,198,124,7,13,13,9,1,0, - 108,108,0,124,198,198,198,198,198,198,198,198,124,8,7,7, - 9,0,1,195,102,60,24,60,102,195,7,12,12,9,1,255, - 6,126,206,206,222,222,246,246,230,230,252,192,7,14,14,9, - 1,0,96,48,24,0,198,198,198,198,198,198,198,198,108,56, - 7,14,14,9,1,0,12,24,48,0,198,198,198,198,198,198, - 198,198,108,56,7,14,14,9,1,0,16,56,108,0,198,198, - 198,198,198,198,198,198,108,56,7,13,13,9,1,0,108,108, - 0,198,198,198,198,198,198,198,198,108,56,8,14,14,9,0, - 0,12,24,48,0,195,195,102,60,24,24,24,24,24,24,7, - 10,10,9,1,0,192,192,252,198,198,198,252,192,192,192,7, - 10,10,9,1,0,60,102,102,102,236,102,102,102,102,108,7, - 11,11,9,1,0,96,48,24,0,124,6,6,126,198,198,126, - 7,11,11,9,1,0,12,24,48,0,124,6,6,126,198,198, - 126,7,11,11,9,1,0,16,56,108,0,124,6,6,126,198, - 198,126,7,10,10,9,1,0,118,220,0,124,6,6,126,198, - 198,126,7,10,10,9,1,0,108,108,0,124,6,6,126,198, - 198,126,7,11,11,9,1,0,56,108,56,0,124,6,6,126, - 198,198,126,8,7,7,9,0,0,118,27,27,127,216,219,118, - 7,11,11,9,1,252,124,198,192,192,192,198,124,24,12,108, - 56,7,11,11,9,1,0,96,48,24,0,124,198,198,254,192, - 198,124,7,11,11,9,1,0,12,24,48,0,124,198,198,254, - 192,198,124,7,11,11,9,1,0,16,56,108,0,124,198,198, - 254,192,198,124,7,10,10,9,1,0,108,108,0,124,198,198, - 254,192,198,124,6,11,11,9,1,0,192,96,48,0,240,48, - 48,48,48,48,252,6,11,11,9,1,0,12,24,48,0,240, - 48,48,48,48,48,252,6,11,11,9,1,0,32,112,216,0, - 240,48,48,48,48,48,252,6,10,10,9,1,0,108,108,0, - 240,48,48,48,48,48,252,7,11,11,9,1,0,108,56,56, - 108,12,126,198,198,198,198,124,7,10,10,9,1,0,118,220, - 0,220,230,198,198,198,198,198,7,11,11,9,1,0,96,48, - 24,0,56,108,198,198,198,108,56,7,11,11,9,1,0,12, - 24,48,0,56,108,198,198,198,108,56,7,11,11,9,1,0, - 16,56,108,0,56,108,198,198,198,108,56,7,10,10,9,1, - 0,118,220,0,56,108,198,198,198,108,56,7,10,10,9,1, - 0,108,108,0,56,108,198,198,198,108,56,8,7,7,9,0, - 1,24,24,0,255,0,24,24,8,9,9,9,0,255,1,63, - 102,207,219,243,102,252,128,7,11,11,9,1,0,96,48,24, - 0,198,198,198,198,198,198,126,7,11,11,9,1,0,12,24, - 48,0,198,198,198,198,198,198,126,7,11,11,9,1,0,16, - 56,108,0,198,198,198,198,198,198,126,7,10,10,9,1,0, - 108,108,0,198,198,198,198,198,198,126,7,14,14,9,1,253, - 12,24,48,0,198,198,108,108,108,56,56,48,176,96,7,11, - 11,9,1,254,192,192,248,204,198,198,198,204,248,192,192,7, - 13,13,9,1,253,108,108,0,198,198,108,108,108,56,56,48, - 176,96}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=13 x= 3 y=14 dx= 9 dy= 0 ascent=14 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18Br[1434] U8G_SECTION(".progmem.u8g_font_9x18Br") = { - 0,9,18,0,252,10,1,242,3,225,32,127,253,14,253,11, - 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, - 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, - 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, - 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, - 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, - 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, - 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, - 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, - 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, - 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, - 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, - 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, - 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, - 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, - 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, - 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, - 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, - 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, - 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, - 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, - 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, - 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, - 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, - 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, - 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, - 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, - 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, - 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, - 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, - 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, - 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, - 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, - 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, - 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, - 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, - 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, - 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, - 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, - 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, - 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, - 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, - 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, - 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, - 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, - 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, - 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, - 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, - 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, - 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, - 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, - 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, - 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, - 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, - 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, - 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, - 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, - 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, - 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, - 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, - 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, - 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, - 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, - 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, - 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, - 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, - 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, - 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, - 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, - 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, - 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, - 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, - 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, - 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, - 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, - 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, - 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, - 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, - 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, - 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, - 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, - 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, - 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, - 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, - 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, - 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, - 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, - 8,3,3,9,0,7,115,219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=14 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18[3011] U8G_SECTION(".progmem.u8g_font_9x18") = { - 0,9,18,0,252,10,1,232,3,215,32,255,253,14,253,11, - 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, - 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, - 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, - 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, - 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, - 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, - 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, - 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, - 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, - 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, - 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, - 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, - 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, - 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, - 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, - 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, - 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, - 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, - 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, - 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, - 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, - 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, - 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, - 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, - 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, - 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, - 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, - 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, - 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, - 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, - 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, - 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, - 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, - 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, - 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, - 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, - 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, - 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, - 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, - 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, - 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, - 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, - 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, - 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, - 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, - 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, - 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, - 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, - 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, - 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, - 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, - 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, - 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, - 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, - 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, - 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, - 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, - 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, - 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, - 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, - 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, - 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, - 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, - 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, - 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, - 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, - 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, - 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, - 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, - 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, - 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, - 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, - 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, - 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, - 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, - 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,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,9,0,14,1,11,11,9,4,0,128,128,0,0, - 128,128,128,128,128,128,128,6,8,8,9,1,0,8,120,148, - 144,160,164,120,64,7,10,10,9,1,0,28,34,32,32,248, - 32,32,96,162,92,7,6,6,9,1,3,130,124,68,68,124, - 130,7,10,10,9,1,0,130,130,68,40,124,16,124,16,16, - 16,1,11,11,9,4,255,128,128,128,128,128,0,128,128,128, - 128,128,4,11,11,9,2,255,96,144,128,96,144,144,144,96, - 16,144,96,3,2,2,9,3,11,160,160,8,9,9,9,0, - 1,60,66,153,165,161,165,153,66,60,5,7,7,9,1,3, - 96,144,112,144,120,0,248,7,8,8,9,1,1,18,36,72, - 144,144,72,36,18,6,4,4,9,1,2,252,4,4,4,5, - 1,1,9,2,4,248,8,9,9,9,0,1,60,66,185,165, - 189,169,165,66,60,6,1,1,9,1,9,252,4,4,4,9, - 3,6,96,144,144,96,7,9,9,9,1,1,16,16,16,254, - 16,16,16,0,254,4,6,6,9,1,4,96,144,16,96,128, - 240,4,6,6,9,1,4,96,144,32,16,144,96,3,3,3, - 9,3,10,32,64,128,7,9,9,9,1,254,130,130,130,130, - 130,198,186,128,128,7,10,10,9,1,0,126,138,138,138,122, - 10,10,10,10,10,2,2,2,9,4,4,192,192,4,3,3, - 9,2,253,32,144,96,3,6,6,9,1,4,64,192,64,64, - 64,224,5,6,6,9,1,4,112,136,136,112,0,248,7,8, - 8,9,1,1,144,72,36,18,18,36,72,144,7,10,10,9, - 1,0,64,192,64,64,66,230,10,18,26,6,7,10,10,9, - 1,0,64,192,64,64,76,242,2,12,16,30,7,10,10,9, - 1,0,96,144,32,16,146,102,10,18,26,6,7,10,10,9, - 1,0,16,0,16,16,32,64,128,130,130,124,7,14,14,9, - 1,0,32,16,8,0,16,40,40,40,68,124,68,130,130,130, - 7,14,14,9,1,0,8,16,32,0,16,40,40,40,68,124, - 68,130,130,130,7,14,14,9,1,0,16,40,68,0,16,40, - 40,40,68,124,68,130,130,130,7,13,13,9,1,0,52,88, - 0,16,40,40,40,68,124,68,130,130,130,7,13,13,9,1, - 0,40,40,0,16,40,40,40,68,124,68,130,130,130,7,14, - 14,9,1,0,16,40,40,16,16,40,40,40,68,124,68,130, - 130,130,7,10,10,9,1,0,30,40,40,40,78,120,72,136, - 136,142,7,13,13,9,1,253,60,66,128,128,128,128,128,128, - 66,60,8,36,24,7,14,14,9,1,0,32,16,8,0,254, - 128,128,128,248,128,128,128,128,254,7,14,14,9,1,0,8, - 16,32,0,254,128,128,128,248,128,128,128,128,254,7,14,14, - 9,1,0,16,40,68,0,254,128,128,128,248,128,128,128,128, - 254,7,13,13,9,1,0,40,40,0,254,128,128,128,248,128, - 128,128,128,254,5,14,14,9,2,0,64,32,16,0,248,32, - 32,32,32,32,32,32,32,248,5,14,14,9,2,0,16,32, - 64,0,248,32,32,32,32,32,32,32,32,248,5,14,14,9, - 2,0,32,80,136,0,248,32,32,32,32,32,32,32,32,248, - 5,13,13,9,2,0,80,80,0,248,32,32,32,32,32,32, - 32,32,248,7,10,10,9,1,0,120,68,66,66,242,66,66, - 66,68,120,7,13,13,9,1,0,52,88,0,130,130,194,162, - 146,138,134,130,130,130,7,14,14,9,1,0,32,16,8,0, - 124,130,130,130,130,130,130,130,130,124,7,14,14,9,1,0, - 8,16,32,0,124,130,130,130,130,130,130,130,130,124,7,14, - 14,9,1,0,16,40,68,0,124,130,130,130,130,130,130,130, - 130,124,7,13,13,9,1,0,52,88,0,124,130,130,130,130, - 130,130,130,130,124,7,13,13,9,1,0,40,40,0,124,130, - 130,130,130,130,130,130,130,124,7,7,7,9,1,1,130,68, - 40,16,40,68,130,7,12,12,9,1,255,2,124,134,138,138, - 146,146,162,162,194,124,128,7,14,14,9,1,0,32,16,8, - 0,130,130,130,130,130,130,130,130,68,56,7,14,14,9,1, - 0,8,16,32,0,130,130,130,130,130,130,130,130,68,56,7, - 14,14,9,1,0,16,40,68,0,130,130,130,130,130,130,130, - 130,68,56,7,13,13,9,1,0,40,40,0,130,130,130,130, - 130,130,130,130,68,56,7,14,14,9,1,0,8,16,32,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, - 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, - 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, - 0,8,16,32,0,124,2,2,126,130,134,122,7,11,11,9, - 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,52,88,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,40,40,0,124,2,2,126,130,134,122,7,12,12, - 9,1,0,16,40,40,16,0,124,2,2,126,130,134,122,7, - 7,7,9,1,0,108,18,18,126,144,146,108,7,10,10,9, - 1,253,124,130,128,128,128,130,124,16,72,48,7,11,11,9, - 1,0,32,16,8,0,124,130,130,254,128,130,124,7,11,11, - 9,1,0,8,16,32,0,124,130,130,254,128,130,124,7,11, - 11,9,1,0,16,40,68,0,124,130,130,254,128,130,124,7, - 10,10,9,1,0,40,40,0,124,130,130,254,128,130,124,5, - 12,12,9,2,0,128,64,32,0,0,224,32,32,32,32,32, - 248,5,12,12,9,2,0,16,32,64,0,0,224,32,32,32, - 32,32,248,5,12,12,9,2,0,32,80,136,0,0,224,32, - 32,32,32,32,248,5,11,11,9,2,0,80,80,0,0,224, - 32,32,32,32,32,248,7,11,11,9,1,0,72,48,80,8, - 60,68,130,130,130,68,56,7,10,10,9,1,0,52,88,0, - 188,194,130,130,130,130,130,7,11,11,9,1,0,32,16,8, - 0,124,130,130,130,130,130,124,7,11,11,9,1,0,8,16, - 32,0,124,130,130,130,130,130,124,7,11,11,9,1,0,16, - 40,68,0,124,130,130,130,130,130,124,7,10,10,9,1,0, - 52,88,0,124,130,130,130,130,130,124,7,10,10,9,1,0, - 40,40,0,124,130,130,130,130,130,124,7,9,9,9,1,0, - 16,56,16,0,254,0,16,56,16,7,9,9,9,1,255,2, - 124,138,138,146,162,162,124,128,7,11,11,9,1,0,64,32, - 16,0,130,130,130,130,130,134,122,7,11,11,9,1,0,8, - 16,32,0,130,130,130,130,130,134,122,7,11,11,9,1,0, - 16,40,68,0,130,130,130,130,130,134,122,7,10,10,9,1, - 0,40,40,0,130,130,130,130,130,134,122,7,14,14,9,1, - 253,4,8,16,0,66,66,36,36,36,24,24,16,144,96,7, - 11,11,9,1,254,128,128,184,196,130,130,130,196,184,128,128, - 7,13,13,9,1,253,36,36,0,66,66,36,36,36,24,24, - 16,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=13 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18r[1424] U8G_SECTION(".progmem.u8g_font_9x18r") = { - 0,9,18,0,252,10,1,232,3,215,32,127,253,14,253,11, - 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, - 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, - 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, - 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, - 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, - 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, - 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, - 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, - 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, - 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, - 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, - 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, - 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, - 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, - 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, - 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, - 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, - 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, - 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, - 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, - 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, - 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, - 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, - 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, - 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, - 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, - 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, - 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, - 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, - 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, - 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, - 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, - 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, - 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, - 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, - 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, - 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, - 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, - 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, - 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, - 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, - 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, - 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, - 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, - 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, - 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, - 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, - 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, - 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, - 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, - 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, - 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, - 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, - 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, - 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, - 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, - 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, - 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, - 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, - 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, - 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, - 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, - 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, - 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, - 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, - 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, - 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, - 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, - 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, - 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, - 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, - 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, - 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, - 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, - 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, - 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,255 - }; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 9 h= 9 x= 1 y= 5 dx=10 dy= 0 ascent= 8 len=12 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_baby[2227] U8G_SECTION(".progmem.u8g_font_baby") = { - 0,10,10,255,254,5,1,108,2,200,32,255,254,8,254,6, - 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, - 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, - 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, - 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, - 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, - 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, - 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, - 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, - 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, - 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, - 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, - 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, - 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, - 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, - 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, - 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, - 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, - 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, - 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, - 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, - 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, - 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, - 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, - 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, - 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, - 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, - 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, - 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, - 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, - 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, - 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, - 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, - 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, - 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, - 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, - 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, - 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, - 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, - 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, - 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, - 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, - 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, - 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, - 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, - 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, - 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, - 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, - 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, - 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, - 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, - 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, - 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, - 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, - 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, - 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, - 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, - 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, - 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, - 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, - 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, - 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, - 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,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, - 255,1,6,6,3,1,255,128,0,128,128,128,128,4,6,6, - 5,0,255,16,112,160,160,112,64,4,6,6,5,0,0,96, - 208,64,224,64,240,4,4,4,5,0,1,240,144,144,240,5, - 7,7,6,0,255,136,80,32,112,32,112,32,1,7,7,2, - 0,255,128,128,128,0,128,128,128,4,7,7,5,0,255,112, - 128,96,144,96,16,224,3,1,1,4,0,5,160,7,7,7, - 8,0,255,56,68,154,162,154,68,56,3,3,3,4,0,4, - 96,160,224,4,3,3,5,0,1,80,160,80,5,3,3,6, - 0,1,248,8,8,2,1,1,3,0,2,192,7,7,7,8, - 0,255,56,68,178,186,170,68,56,4,1,1,5,0,5,240, - 3,3,3,4,0,4,64,160,64,3,5,5,4,0,0,64, - 224,64,0,224,3,4,4,4,0,4,192,32,64,224,3,4, - 4,4,0,4,224,32,96,224,2,2,2,3,0,5,64,128, - 5,6,6,6,0,254,144,144,144,248,128,128,5,6,6,6, - 0,0,120,232,232,104,40,40,1,1,1,3,1,2,128,3, - 3,3,4,0,254,64,32,192,3,4,4,4,0,4,64,192, - 64,224,4,4,4,5,0,4,96,144,144,96,4,3,3,5, - 0,1,160,80,160,7,6,6,8,0,0,136,144,160,42,78, - 130,7,6,6,8,0,0,136,144,164,42,68,142,9,6,12, - 10,0,0,226,0,100,0,232,0,10,128,19,128,32,128,4, - 6,6,5,0,255,32,0,32,64,144,96,4,8,8,5,0, - 0,64,32,0,96,144,144,240,144,4,8,8,5,0,0,32, - 64,0,96,144,144,240,144,4,8,8,5,0,0,96,144,0, - 96,144,144,240,144,4,8,8,5,0,0,80,160,0,96,144, - 144,240,144,4,7,7,5,0,0,80,0,96,144,144,240,144, - 4,7,7,5,0,0,96,0,96,144,144,240,144,7,5,5, - 8,0,0,126,144,156,240,158,4,7,7,5,0,254,96,144, - 128,144,96,32,64,4,8,8,5,0,0,64,32,0,240,128, - 224,128,240,4,8,8,5,0,0,32,64,0,240,128,224,128, - 240,4,8,8,5,0,0,96,144,0,240,128,224,128,240,4, - 7,7,5,0,0,80,0,240,128,224,128,240,3,8,8,4, - 0,0,128,64,0,224,64,64,64,224,3,8,8,4,0,0, - 32,64,0,224,64,64,64,224,3,8,8,4,0,0,64,160, - 0,224,64,64,64,224,3,7,7,4,0,0,160,0,224,64, - 64,64,224,5,5,5,6,0,0,112,72,232,72,112,4,8, - 8,5,0,0,80,160,0,144,144,208,176,144,4,8,8,5, - 0,0,64,32,0,96,144,144,144,96,4,8,8,5,0,0, - 32,64,0,96,144,144,144,96,4,8,8,5,0,0,96,144, - 0,96,144,144,144,96,4,8,8,5,0,0,80,160,0,96, - 144,144,144,96,4,7,7,5,0,0,80,0,96,144,144,144, - 96,3,3,3,4,0,1,160,64,160,6,5,5,7,0,0, - 48,76,120,200,48,4,8,8,5,0,0,64,32,0,144,144, - 144,144,96,4,8,8,5,0,0,32,64,0,144,144,144,144, - 96,4,8,8,5,0,0,96,144,0,144,144,144,144,96,4, - 7,7,5,0,0,80,0,144,144,144,144,96,4,9,9,5, - 0,255,32,64,0,144,144,144,112,16,96,4,6,6,5,0, - 0,128,224,144,144,224,128,4,5,5,5,0,0,96,144,160, - 144,160,4,7,7,5,0,0,64,32,0,96,144,144,112,4, - 7,7,5,0,0,32,64,0,96,144,144,112,4,7,7,5, - 0,0,96,144,0,96,144,144,112,4,7,7,5,0,0,80, - 160,0,96,144,144,112,4,6,6,5,0,0,80,0,96,144, - 144,112,4,7,7,5,0,0,96,96,0,96,144,144,112,7, - 4,4,8,0,0,108,146,148,126,3,6,6,4,0,254,96, - 128,128,96,32,64,4,7,7,5,0,0,64,32,0,96,144, - 160,112,4,7,7,5,0,0,32,64,0,96,144,160,112,4, - 7,7,5,0,0,96,144,0,96,144,160,112,4,6,6,5, - 0,0,80,0,96,144,160,112,2,6,6,3,0,0,128,64, - 0,64,64,64,2,6,6,3,0,0,64,128,0,128,128,128, - 3,6,6,4,0,0,64,160,0,64,64,64,3,5,5,4, - 0,0,160,0,64,64,64,5,6,6,6,0,0,96,24,112, - 144,144,96,4,7,7,5,0,0,80,160,0,224,144,144,144, - 4,7,7,5,0,0,64,32,0,96,144,144,96,4,7,7, - 5,0,0,32,64,0,96,144,144,96,4,7,7,5,0,0, - 96,144,0,96,144,144,96,4,7,7,5,0,0,80,160,0, - 96,144,144,96,4,6,6,5,0,0,80,0,96,144,144,96, - 5,5,5,6,0,0,32,0,248,0,32,4,4,4,5,0, - 0,96,176,208,96,4,7,7,5,0,0,64,32,0,144,144, - 144,112,4,7,7,5,0,0,32,64,0,144,144,144,112,4, - 7,7,5,0,0,96,144,0,144,144,144,112,4,6,6,5, - 0,0,80,0,144,144,144,112,4,9,9,5,0,254,32,64, - 0,144,144,144,112,16,96,4,8,8,5,0,254,128,128,224, - 144,144,224,128,128,4,8,8,5,0,254,80,0,144,144,144, - 112,16,96}; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 3 dx= 5 dy= 0 ascent= 6 len= 6 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_babyn[180] U8G_SECTION(".progmem.u8g_font_babyn") = { - 0,10,10,255,254,5,0,0,0,0,42,57,0,6,254,5, - 0,3,3,3,4,0,3,160,64,160,3,3,3,5,1,1, - 64,224,64,2,3,3,3,0,254,192,64,128,3,1,1,4, - 0,2,224,1,1,1,2,0,0,128,3,6,6,4,0,255, - 32,32,64,64,128,128,3,5,5,4,0,0,64,160,160,160, - 64,2,5,5,3,0,0,64,192,64,64,64,4,5,5,5, - 0,0,96,144,32,64,240,4,5,5,5,0,0,224,16,96, - 16,224,4,5,5,5,0,0,144,144,144,112,16,4,5,5, - 5,0,0,240,128,224,16,224,4,5,5,5,0,0,96,128, - 224,144,96,4,5,5,5,0,0,240,16,32,64,128,4,5, - 5,5,0,0,96,144,96,144,96,4,5,5,5,0,0,96, - 144,112,16,96}; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 1 y= 5 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_babyr[1040] U8G_SECTION(".progmem.u8g_font_babyr") = { - 0,10,10,255,254,5,1,108,2,200,32,127,254,7,254,6, - 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, - 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, - 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, - 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, - 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, - 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, - 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, - 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, - 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, - 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, - 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, - 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, - 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, - 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, - 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, - 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, - 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, - 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, - 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, - 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, - 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, - 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, - 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, - 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, - 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, - 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, - 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, - 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, - 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, - 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, - 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, - 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, - 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, - 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, - 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, - 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, - 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, - 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, - 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, - 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, - 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, - 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, - 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, - 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, - 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, - 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, - 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, - 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, - 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, - 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, - 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, - 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, - 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, - 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, - 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, - 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, - 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, - 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, - 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, - 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, - 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, - 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,255 - }; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07[948] U8G_SECTION(".progmem.u8g_font_blipfest_07") = { - 0,5,6,0,255,5,1,5,2,47,32,255,255,5,255,5, - 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, - 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, - 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, - 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, - 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, - 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, - 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, - 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, - 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, - 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, - 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, - 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, - 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, - 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, - 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, - 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, - 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, - 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, - 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, - 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, - 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, - 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, - 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, - 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, - 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, - 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, - 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, - 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, - 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, - 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, - 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, - 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, - 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, - 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, - 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, - 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, - 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, - 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, - 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, - 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, - 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, - 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, - 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, - 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, - 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,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, - 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,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,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,255}; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[160] U8G_SECTION(".progmem.u8g_font_blipfest_07n") = { - 0,5,6,0,255,5,0,0,0,0,42,57,0,5,0,5, - 0,255,3,3,3,4,0,1,64,224,64,1,2,2,2,0, - 0,128,128,3,1,1,4,0,2,224,1,1,1,2,0,0, - 128,255,3,5,5,4,0,0,224,160,160,160,224,2,5,5, - 3,0,0,192,64,64,64,64,3,5,5,4,0,0,224,32, - 224,128,224,3,5,5,4,0,0,224,32,224,32,224,3,5, - 5,4,0,0,160,160,224,32,32,3,5,5,4,0,0,224, - 128,224,32,224,3,5,5,4,0,0,224,128,224,160,224,3, - 5,5,4,0,0,224,32,32,32,32,3,5,5,4,0,0, - 224,160,224,160,224,3,5,5,4,0,0,224,160,224,32,224 - }; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[820] U8G_SECTION(".progmem.u8g_font_blipfest_07r") = { - 0,5,6,0,255,5,1,5,2,47,32,127,255,5,255,5, - 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, - 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, - 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, - 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, - 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, - 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, - 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, - 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, - 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, - 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, - 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, - 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, - 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, - 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, - 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, - 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, - 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, - 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, - 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, - 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, - 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, - 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, - 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, - 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, - 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, - 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, - 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, - 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, - 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, - 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, - 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, - 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, - 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, - 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, - 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, - 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, - 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, - 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, - 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, - 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, - 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, - 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, - 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, - 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, - 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,255, - 255,255,255,255}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 9 h= 8 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=10 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikita[2236] U8G_SECTION(".progmem.u8g_font_chikita") = { - 0,9,10,0,254,5,1,107,2,195,32,255,254,8,254,6, - 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, - 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, - 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, - 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, - 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, - 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, - 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, - 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, - 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, - 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, - 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, - 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, - 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, - 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, - 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, - 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, - 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, - 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, - 128,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,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, - 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, - 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, - 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, - 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, - 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, - 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, - 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, - 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, - 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, - 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, - 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, - 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, - 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, - 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, - 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, - 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, - 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, - 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, - 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, - 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, - 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, - 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, - 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, - 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, - 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, - 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, - 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, - 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, - 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, - 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, - 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, - 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, - 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, - 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, - 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, - 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, - 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, - 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, - 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, - 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, - 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, - 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, - 3,6,0,1,64,168,16,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,255,1,7,7,2,0,255,128, - 0,128,128,128,128,128,3,5,5,4,0,0,64,224,128,224, - 64,5,6,6,6,0,0,112,136,72,224,64,248,5,5,5, - 6,0,0,136,112,80,112,136,5,6,6,6,0,0,136,80, - 32,112,112,32,1,5,5,2,0,0,128,128,0,128,128,4, - 7,7,5,0,254,112,128,96,144,96,16,224,3,1,1,4, - 0,6,160,7,7,7,8,0,255,124,130,186,162,186,130,124, - 3,4,4,4,0,4,96,224,160,96,6,5,5,7,0,0, - 36,72,144,72,36,5,3,3,6,0,2,248,8,8,3,1, - 1,5,1,2,224,7,7,7,8,0,255,124,130,186,178,170, - 130,124,5,1,1,6,0,6,248,4,4,4,5,0,3,96, - 144,144,96,3,5,5,5,1,0,64,224,64,0,224,4,5, - 5,5,0,2,96,144,32,64,240,4,5,5,5,0,2,224, - 16,96,16,224,2,2,2,3,0,5,64,128,5,6,6,6, - 0,254,136,136,216,168,128,128,6,7,7,7,0,254,124,232, - 232,104,40,40,40,3,3,3,5,1,1,224,224,224,3,3, - 3,5,1,254,64,32,224,2,5,5,3,0,2,64,192,64, - 64,64,4,5,5,5,0,2,96,144,144,144,96,6,5,5, - 7,0,0,144,72,36,72,144,7,8,8,8,0,254,66,196, - 72,80,38,74,142,2,7,8,8,8,0,254,66,196,72,80, - 44,66,132,14,7,8,8,8,0,254,226,68,40,208,38,74, - 142,2,5,7,7,6,0,255,32,0,32,32,72,136,112,5, - 8,8,6,0,0,64,32,0,112,136,136,248,136,5,8,8, - 6,0,0,16,32,0,112,136,136,248,136,5,8,8,6,0, - 0,32,80,0,112,136,136,248,136,5,8,8,6,0,0,40, - 80,0,112,136,136,248,136,5,7,7,6,0,0,80,0,112, - 136,136,248,136,5,8,8,6,0,0,32,80,32,112,136,136, - 248,136,9,5,10,10,0,0,63,128,72,0,143,0,248,0, - 143,128,5,7,7,6,0,254,112,136,128,136,112,16,112,5, - 8,8,6,0,0,64,32,0,248,128,240,128,248,5,8,8, - 6,0,0,16,32,0,248,128,240,128,248,5,8,8,6,0, - 0,32,80,0,248,128,240,128,248,5,7,7,6,0,0,80, - 0,248,128,240,128,248,3,8,8,4,0,0,128,64,0,224, - 64,64,64,224,3,8,8,4,0,0,32,64,0,224,64,64, - 64,224,3,8,8,4,0,0,64,160,0,224,64,64,64,224, - 3,7,7,4,0,0,160,0,224,64,64,64,224,5,5,5, - 6,0,0,112,72,232,72,112,5,8,8,6,0,0,40,80, - 0,136,200,168,152,136,5,8,8,6,0,0,64,32,0,112, - 136,136,136,112,5,8,8,6,0,0,16,32,0,112,136,136, - 136,112,5,8,8,6,0,0,32,80,0,112,136,136,136,112, - 5,8,8,6,0,0,64,168,16,112,136,136,136,112,5,7, - 7,6,0,0,80,0,112,136,136,136,112,3,3,3,4,0, - 1,160,64,160,5,5,5,6,0,0,120,152,168,200,240,5, - 8,8,6,0,0,64,32,0,136,136,136,136,112,5,8,8, - 6,0,0,16,32,0,136,136,136,136,112,5,8,8,6,0, - 0,32,80,0,136,136,136,136,112,5,7,7,6,0,0,80, - 0,136,136,136,136,112,5,8,8,6,0,0,16,32,0,136, - 136,80,32,32,5,5,5,6,0,0,128,240,136,240,128,4, - 5,5,5,0,0,96,144,160,144,160,4,7,7,5,0,0, - 64,32,0,112,144,144,240,4,7,7,5,0,0,32,64,0, - 112,144,144,240,4,7,7,5,0,0,32,80,0,112,144,144, - 240,4,7,7,5,0,0,80,160,0,112,144,144,240,4,6, - 6,5,0,0,80,0,112,144,144,240,4,7,7,5,0,0, - 32,80,32,112,144,144,240,7,5,5,8,0,0,236,18,126, - 144,238,4,6,6,5,0,254,112,128,128,112,32,96,4,7, - 7,5,0,0,64,32,0,96,144,224,112,4,7,7,5,0, - 0,32,64,0,96,144,224,112,4,7,7,5,0,0,32,80, - 0,96,144,224,112,4,6,6,5,0,0,80,0,96,144,224, - 112,2,7,7,3,0,0,128,64,0,64,64,64,64,2,7, - 7,3,0,0,64,128,0,128,128,128,128,3,7,7,4,0, - 0,64,160,0,64,64,64,64,3,6,6,4,0,0,160,0, - 64,64,64,64,4,6,6,5,0,0,64,32,112,144,144,96, - 4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7, - 5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0, - 32,64,0,96,144,144,96,4,7,7,5,0,0,96,144,0, - 96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144, - 96,4,6,6,5,0,0,80,0,96,144,144,96,5,5,5, - 6,0,0,32,0,248,0,32,4,4,4,5,0,0,112,176, - 208,224,4,7,7,5,0,0,64,32,0,144,144,144,112,4, - 7,7,5,0,0,32,64,0,144,144,144,112,4,7,7,5, - 0,0,32,80,0,144,144,144,112,4,6,6,5,0,0,80, - 0,144,144,144,112,4,8,8,5,0,254,32,64,0,144,144, - 112,16,224,4,6,6,5,0,254,128,224,144,144,224,128,4, - 7,7,5,0,254,80,0,144,144,112,16,224}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikitan[180] U8G_SECTION(".progmem.u8g_font_chikitan") = { - 0,9,10,0,254,5,0,0,0,0,42,57,0,5,255,5, - 0,3,3,3,5,1,1,160,64,160,5,5,5,6,0,0, - 32,32,248,32,32,2,2,2,3,0,255,64,128,5,1,1, - 6,0,2,248,1,1,1,2,0,0,128,3,5,5,5,1, - 0,32,32,64,128,128,4,5,5,5,0,0,96,144,144,144, - 96,2,5,5,3,0,0,64,192,64,64,64,5,5,5,6, - 0,0,112,136,48,64,248,5,5,5,6,0,0,240,8,112, - 8,240,5,5,5,6,0,0,48,80,144,248,16,5,5,5, - 6,0,0,248,128,240,8,240,5,5,5,6,0,0,120,128, - 240,136,112,5,5,5,6,0,0,248,8,16,32,64,5,5, - 5,6,0,0,112,136,112,136,112,5,5,5,6,0,0,112, - 136,120,8,240}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 7 h= 7 x= 1 y= 4 dx= 8 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikitar[1032] U8G_SECTION(".progmem.u8g_font_chikitar") = { - 0,9,10,0,254,5,1,107,2,195,32,127,254,6,254,6, - 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, - 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, - 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, - 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, - 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, - 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, - 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, - 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, - 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, - 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, - 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, - 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, - 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, - 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, - 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, - 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, - 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, - 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, - 128,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,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, - 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, - 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, - 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, - 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, - 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, - 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, - 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, - 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, - 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, - 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, - 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, - 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, - 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, - 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, - 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, - 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, - 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, - 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, - 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, - 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, - 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, - 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, - 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, - 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, - 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, - 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, - 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, - 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, - 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, - 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, - 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, - 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, - 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, - 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, - 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, - 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, - 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, - 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, - 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, - 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, - 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, - 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, - 3,6,0,1,64,168,16,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 7 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w=12 h=16 x=-3 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB08[2425] U8G_SECTION(".progmem.u8g_font_courB08") = { - 0,12,16,253,252,6,1,146,3,13,32,255,254,9,254,7, - 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, - 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, - 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, - 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, - 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, - 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, - 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, - 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, - 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, - 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, - 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, - 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, - 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, - 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, - 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, - 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, - 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, - 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, - 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, - 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, - 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, - 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, - 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, - 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, - 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, - 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, - 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, - 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, - 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, - 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, - 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, - 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, - 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, - 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, - 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, - 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, - 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, - 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, - 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, - 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, - 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, - 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, - 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, - 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, - 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, - 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, - 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, - 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, - 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, - 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, - 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, - 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, - 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, - 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, - 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, - 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, - 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, - 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, - 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, - 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, - 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, - 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, - 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, - 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, - 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, - 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, - 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, - 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, - 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, - 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, - 5,2,2,6,0,3,104,176,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,1,2, - 7,7,6,1,254,192,0,192,192,192,192,192,5,8,8,6, - 0,255,32,32,120,200,192,120,32,32,6,7,7,6,0,0, - 56,104,32,248,32,100,248,5,5,5,6,0,1,136,112,80, - 112,136,6,7,7,6,0,0,204,72,252,48,252,48,120,1, - 9,9,6,2,254,128,128,128,128,0,128,128,128,128,5,8, - 8,6,0,255,120,72,96,144,72,48,144,240,3,1,1,6, - 1,5,160,6,7,7,6,0,0,48,72,180,164,180,72,48, - 4,5,5,6,1,2,224,16,208,0,240,7,5,5,6,255, - 0,54,108,216,108,54,5,3,3,6,0,2,248,8,8,5, - 1,1,6,0,3,248,7,7,7,6,0,0,56,68,186,178, - 170,68,56,4,1,1,6,0,5,240,4,3,3,6,0,4, - 96,144,96,5,6,6,6,0,0,32,32,248,32,0,248,3, - 4,4,6,1,3,96,160,64,224,3,4,4,6,1,3,224, - 64,32,192,2,2,2,6,2,5,64,128,7,7,7,6,255, - 254,236,108,108,108,126,64,64,6,8,8,6,0,255,124,168, - 168,104,40,40,40,108,2,1,1,6,1,3,192,3,3,3, - 6,1,254,64,32,192,3,4,4,6,1,3,192,64,64,224, - 4,5,5,6,1,2,96,144,96,0,240,7,5,5,6,255, - 0,216,108,54,108,216,7,7,7,6,255,0,192,68,72,244, - 44,94,4,7,7,7,6,255,0,192,68,72,246,42,68,14, - 7,7,7,6,255,0,224,68,40,212,44,94,4,5,7,7, - 6,0,254,48,0,48,48,96,200,112,7,9,9,6,255,0, - 32,16,0,120,56,40,124,108,238,7,9,9,6,255,0,16, - 32,0,120,56,40,124,108,238,7,9,9,6,255,0,16,40, - 0,120,56,40,124,108,238,7,9,9,6,255,0,52,72,0, - 120,56,40,124,108,238,7,8,8,6,255,0,40,0,120,56, - 40,124,108,238,7,9,9,6,255,0,48,72,48,120,56,40, - 124,108,238,7,6,6,6,255,0,126,58,108,120,218,222,5, - 8,8,6,0,254,120,216,192,192,216,112,16,96,6,9,9, - 6,255,0,32,16,0,252,100,120,96,108,252,6,9,9,6, - 255,0,16,32,0,252,100,120,96,108,252,6,9,9,6,255, - 0,32,80,0,252,100,120,96,108,252,6,8,8,6,255,0, - 80,0,252,100,120,96,108,252,4,9,9,6,0,0,64,32, - 0,240,96,96,96,96,240,4,9,9,6,0,0,32,64,0, - 240,96,96,96,96,240,4,9,9,6,0,0,64,160,0,240, - 96,96,96,96,240,4,8,8,6,0,0,160,0,240,96,96, - 96,96,240,6,6,6,6,255,0,248,108,244,100,108,248,7, - 9,9,6,255,0,52,72,0,238,100,116,124,108,236,5,9, - 9,6,0,0,64,32,0,112,216,216,216,216,112,5,9,9, - 6,0,0,32,64,0,112,216,216,216,216,112,5,9,9,6, - 0,0,32,80,0,112,216,216,216,216,112,5,9,9,6,0, - 0,104,144,0,112,216,216,216,216,112,5,8,8,6,0,0, - 80,0,112,216,216,216,216,112,5,5,5,6,0,1,136,80, - 32,80,136,7,6,6,6,255,0,58,108,124,108,108,184,7, - 9,9,6,255,0,32,16,0,238,108,108,108,108,56,7,9, - 9,6,255,0,8,16,0,238,108,108,108,108,56,7,9,9, - 6,255,0,16,40,0,238,108,108,108,108,56,7,8,8,6, - 255,0,40,0,238,108,108,108,108,56,7,9,9,6,255,0, - 4,8,0,230,102,60,24,24,60,6,6,6,6,255,0,224, - 120,108,108,120,224,7,6,6,6,255,0,56,104,124,102,102, - 236,6,8,8,6,0,0,32,16,0,112,152,120,216,252,6, - 8,8,6,0,0,16,32,0,112,152,120,216,252,6,8,8, - 6,0,0,32,80,0,112,152,120,216,252,6,8,8,6,0, - 0,104,144,0,112,152,120,216,252,6,7,7,6,0,0,80, - 0,112,152,120,216,252,6,9,9,6,0,0,48,72,48,0, - 112,152,120,216,252,6,5,5,6,255,0,108,180,124,176,220, - 5,7,7,6,0,254,112,216,192,216,112,16,96,5,8,8, - 6,0,0,64,32,0,112,216,248,192,120,5,8,8,6,0, - 0,32,64,0,112,216,248,192,120,5,8,8,6,0,0,32, - 80,0,112,216,248,192,120,5,7,7,6,0,0,80,0,112, - 216,248,192,120,6,8,8,6,0,0,32,16,0,112,48,48, - 48,252,6,8,8,6,0,0,16,32,0,112,48,48,48,252, - 6,8,8,6,0,0,32,80,0,112,48,48,48,252,6,7, - 7,6,0,0,80,0,112,48,48,48,252,5,8,8,6,0, - 0,208,96,176,120,216,216,216,112,7,8,8,6,255,0,52, - 72,0,216,108,108,108,110,5,8,8,6,0,0,64,32,0, - 112,216,216,216,112,5,8,8,6,0,0,32,64,0,112,216, - 216,216,112,5,8,8,6,0,0,32,80,0,112,216,216,216, - 112,5,8,8,6,0,0,104,144,0,112,216,216,216,112,5, - 7,7,6,0,0,80,0,112,216,216,216,112,5,5,5,6, - 0,1,32,0,248,0,32,5,7,7,6,0,255,8,112,216, - 248,216,112,128,7,8,8,6,255,0,32,16,0,236,108,108, - 108,62,7,8,8,6,255,0,16,32,0,236,108,108,108,62, - 7,8,8,6,255,0,16,40,0,236,108,108,108,62,7,7, - 7,6,255,0,40,0,236,108,108,108,62,7,10,10,6,255, - 254,8,16,0,238,108,108,40,56,48,240,6,9,9,6,255, - 254,224,96,120,108,108,108,120,96,240,7,9,9,6,255,254, - 40,0,238,108,108,40,56,48,240}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w=12 h=16 x=-3 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB08r[1145] U8G_SECTION(".progmem.u8g_font_courB08r") = { - 0,12,16,253,252,6,1,146,3,13,32,127,254,8,254,7, - 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, - 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, - 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, - 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, - 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, - 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, - 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, - 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, - 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, - 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, - 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, - 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, - 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, - 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, - 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, - 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, - 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, - 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, - 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, - 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, - 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, - 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, - 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, - 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, - 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, - 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, - 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, - 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, - 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, - 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, - 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, - 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, - 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, - 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, - 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, - 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, - 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, - 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, - 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, - 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, - 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, - 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, - 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, - 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, - 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, - 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, - 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, - 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, - 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, - 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, - 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, - 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, - 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, - 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, - 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, - 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, - 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, - 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, - 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, - 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, - 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, - 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, - 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, - 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, - 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, - 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, - 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, - 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, - 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, - 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, - 5,2,2,6,0,3,104,176,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=12 len=26 - Font Bounding box w=13 h=21 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB10[3355] U8G_SECTION(".progmem.u8g_font_courB10") = { - 0,13,21,254,250,9,1,222,4,32,32,255,253,12,252,10, - 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, - 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, - 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, - 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, - 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, - 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, - 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, - 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, - 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, - 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, - 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, - 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, - 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, - 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, - 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, - 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, - 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, - 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, - 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, - 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, - 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, - 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, - 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, - 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, - 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, - 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, - 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, - 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, - 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, - 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, - 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, - 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, - 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, - 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, - 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, - 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, - 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, - 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, - 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, - 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, - 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, - 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, - 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, - 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, - 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, - 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, - 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, - 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, - 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, - 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, - 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, - 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, - 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, - 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, - 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, - 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, - 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, - 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, - 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, - 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, - 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, - 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, - 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, - 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, - 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, - 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, - 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, - 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, - 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, - 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, - 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, - 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, - 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, - 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, - 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, - 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, - 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, - 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, - 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, - 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, - 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, - 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, - 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, - 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, - 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, - 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, - 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, - 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, - 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, - 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, - 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, - 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, - 96,96,96,96,192,6,3,3,9,1,3,100,252,152,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,9,0,1,2,9,9,9,3,254,192,192,0,128,192, - 192,192,192,192,6,10,10,9,1,255,48,48,124,204,192,192, - 204,120,48,48,7,9,9,9,1,0,60,102,96,96,248,96, - 96,102,252,7,6,6,9,1,1,198,124,198,198,124,198,10, - 9,18,9,0,0,243,192,97,128,51,0,30,0,63,0,12, - 0,63,0,12,0,63,0,2,11,11,9,3,254,192,192,192, - 192,192,0,192,192,192,192,192,8,11,11,9,0,255,62,98, - 96,240,140,227,57,15,6,70,124,4,2,2,9,2,8,144, - 144,9,8,16,9,0,1,28,0,99,0,205,128,209,128,209, - 128,205,128,99,0,28,0,5,7,7,9,2,2,112,24,120, - 216,104,0,248,7,5,5,9,1,1,54,108,216,108,54,7, - 3,3,9,1,2,254,2,2,6,1,1,9,1,4,252,9, - 8,16,9,0,1,62,0,99,0,217,128,213,128,217,128,213, - 128,99,0,62,0,4,1,1,9,2,8,240,4,4,4,9, - 2,5,96,144,144,96,7,7,7,9,1,1,16,16,254,16, - 16,0,254,5,6,6,9,2,4,112,152,24,48,96,248,5, - 6,6,9,2,4,112,152,48,24,152,112,3,2,2,9,3, - 7,96,192,9,10,20,9,0,253,231,0,99,0,99,0,99, - 0,99,0,103,0,123,128,96,0,96,0,96,0,7,11,11, - 9,1,255,126,212,148,148,212,116,20,20,20,20,126,2,2, - 2,9,3,3,192,192,3,4,4,9,2,253,64,96,32,224, - 4,6,6,9,3,4,96,224,96,96,96,240,5,7,7,9, - 2,2,112,216,136,216,112,0,248,7,5,5,9,1,1,216, - 108,54,108,216,9,10,20,9,0,0,96,0,224,128,97,0, - 98,0,101,0,251,0,23,0,43,0,79,128,131,0,9,10, - 20,9,0,0,96,0,224,128,97,0,98,0,103,0,253,128, - 17,128,35,0,70,0,15,128,10,10,20,9,255,0,112,0, - 152,64,48,128,25,0,154,128,117,128,11,128,21,128,39,192, - 65,128,6,9,9,9,1,254,48,48,0,48,112,192,196,204, - 124,9,12,24,9,0,0,24,0,12,0,0,0,124,0,28, - 0,54,0,54,0,34,0,99,0,127,0,99,0,247,128,9, - 12,24,9,0,0,12,0,24,0,0,0,124,0,28,0,54, - 0,54,0,34,0,99,0,127,0,99,0,247,128,9,12,24, - 9,0,0,28,0,54,0,0,0,124,0,28,0,54,0,54, - 0,34,0,99,0,127,0,99,0,247,128,9,12,24,9,0, - 0,26,0,44,0,0,0,124,0,28,0,54,0,54,0,34, - 0,99,0,127,0,99,0,247,128,9,12,24,9,0,0,36, - 0,36,0,0,0,124,0,28,0,54,0,54,0,34,0,99, - 0,127,0,99,0,247,128,9,12,24,9,0,0,24,0,36, - 0,24,0,126,0,28,0,54,0,54,0,34,0,99,0,127, - 0,99,0,247,128,9,9,18,9,0,0,63,128,28,128,28, - 0,61,0,47,0,109,0,124,0,76,128,223,128,7,13,13, - 9,1,252,58,110,198,192,192,192,192,102,60,16,24,8,56, - 8,12,12,9,0,0,24,12,0,255,99,99,104,120,104,99, - 99,255,8,12,12,9,0,0,12,24,0,255,99,99,104,120, - 104,99,99,255,8,12,12,9,0,0,28,54,0,255,99,99, - 104,120,104,99,99,255,8,12,12,9,0,0,36,36,0,255, - 99,99,104,120,104,99,99,255,6,12,12,9,1,0,96,48, - 0,252,48,48,48,48,48,48,48,252,6,12,12,9,1,0, - 24,48,0,252,48,48,48,48,48,48,48,252,6,12,12,9, - 1,0,56,108,0,252,48,48,48,48,48,48,48,252,6,12, - 12,9,1,0,72,72,0,252,48,48,48,48,48,48,48,252, - 8,9,9,9,0,0,252,102,99,99,243,99,99,102,252,9, - 12,24,9,0,0,26,0,44,0,0,0,231,128,99,0,115, - 0,115,0,107,0,107,0,103,0,103,0,243,0,8,12,12, - 9,0,0,48,24,0,60,102,195,195,195,195,195,102,60,8, - 12,12,9,0,0,12,24,0,60,102,195,195,195,195,195,102, - 60,8,12,12,9,0,0,56,108,0,60,102,195,195,195,195, - 195,102,60,8,12,12,9,0,0,52,88,0,60,102,195,195, - 195,195,195,102,60,8,12,12,9,0,0,36,36,0,60,102, - 195,195,195,195,195,102,60,6,7,7,9,1,1,132,204,120, - 48,120,204,132,8,10,10,9,0,0,1,62,102,203,203,211, - 211,227,102,188,9,12,24,9,0,0,24,0,12,0,0,0, - 247,128,99,0,99,0,99,0,99,0,99,0,99,0,99,0, - 62,0,9,12,24,9,0,0,12,0,24,0,0,0,247,128, - 99,0,99,0,99,0,99,0,99,0,99,0,99,0,62,0, - 9,12,24,9,0,0,28,0,54,0,0,0,247,128,99,0, - 99,0,99,0,99,0,99,0,99,0,99,0,62,0,9,12, - 24,9,0,0,18,0,18,0,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,10,12,24,9, - 255,0,6,0,12,0,0,0,243,192,97,128,51,0,51,0, - 30,0,12,0,12,0,12,0,63,0,8,9,9,9,0,0, - 240,96,126,99,99,102,124,96,240,8,9,9,9,0,0,60, - 102,102,108,102,99,99,107,238,8,10,10,9,0,0,48,24, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,12,24, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,56,108, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,52,88, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,36,36, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,24,36, - 24,124,6,6,126,198,206,119,9,7,14,9,0,0,119,0, - 29,128,8,128,127,128,200,0,205,128,119,0,8,11,11,9, - 0,252,61,103,195,192,192,99,62,16,24,8,56,8,10,10, - 9,0,0,48,24,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,12,24,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,28,54,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,36,36,0,60,102,195,255,192,103,62,6,10,10, - 9,1,0,96,48,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,24,48,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,112,216,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,72,72,0,240,48,48,48,48,48,252,8,10,10, - 9,0,0,236,56,204,62,102,195,195,195,102,60,9,10,20, - 9,0,0,26,0,44,0,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,247,128,8,10,10,9,0,0,48,24,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,12,24,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,28,54,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,52,88,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,36,36,0, - 60,102,195,195,195,102,60,8,7,7,9,0,1,24,24,0, - 255,0,24,24,8,7,7,9,0,0,61,102,207,219,243,102, - 188,9,10,20,9,0,0,24,0,12,0,0,0,231,0,99, - 0,99,0,99,0,99,0,103,0,59,128,9,10,20,9,0, - 0,12,0,24,0,0,0,231,0,99,0,99,0,99,0,99, - 0,103,0,59,128,9,10,20,9,0,0,28,0,54,0,0, - 0,231,0,99,0,99,0,99,0,99,0,103,0,59,128,9, - 10,20,9,0,0,36,0,36,0,0,0,231,0,99,0,99, - 0,99,0,99,0,103,0,59,128,9,13,26,9,0,253,6, - 0,12,0,0,0,227,128,99,0,99,0,54,0,54,0,28, - 0,28,0,24,0,24,0,124,0,8,12,12,9,0,253,224, - 96,110,115,99,99,99,115,110,96,96,240,9,13,26,9,0, - 253,18,0,18,0,0,0,227,128,99,0,99,0,54,0,54, - 0,28,0,28,0,24,0,24,0,124,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 3 y= 7 dx= 9 dy= 0 ascent=11 len=20 - Font Bounding box w=13 h=21 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB10r[1551] U8G_SECTION(".progmem.u8g_font_courB10r") = { - 0,13,21,254,250,9,1,222,4,32,32,127,253,11,253,10, - 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, - 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, - 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, - 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, - 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, - 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, - 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, - 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, - 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, - 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, - 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, - 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, - 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, - 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, - 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, - 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, - 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, - 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, - 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, - 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, - 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, - 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, - 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, - 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, - 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, - 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, - 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, - 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, - 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, - 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, - 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, - 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, - 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, - 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, - 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, - 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, - 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, - 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, - 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, - 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, - 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, - 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, - 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, - 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, - 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, - 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, - 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, - 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, - 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, - 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, - 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, - 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, - 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, - 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, - 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, - 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, - 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, - 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, - 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, - 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, - 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, - 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, - 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, - 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, - 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, - 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, - 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, - 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, - 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, - 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, - 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, - 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, - 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, - 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, - 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, - 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, - 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, - 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, - 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, - 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, - 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, - 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, - 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, - 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, - 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, - 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, - 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, - 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, - 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, - 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, - 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, - 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, - 96,96,96,96,192,6,3,3,9,1,3,100,252,152,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=11 h=14 x= 4 y= 9 dx=10 dy= 0 ascent=14 len=28 - Font Bounding box w=16 h=24 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB12[3959] U8G_SECTION(".progmem.u8g_font_courB12") = { - 0,16,24,253,250,10,2,51,4,246,32,255,253,14,253,11, - 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, - 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, - 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, - 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, - 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, - 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, - 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, - 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, - 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, - 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, - 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, - 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, - 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, - 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, - 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, - 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, - 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, - 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, - 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, - 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, - 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, - 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, - 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, - 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, - 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, - 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, - 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, - 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, - 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, - 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, - 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, - 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, - 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, - 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, - 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, - 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, - 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, - 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, - 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, - 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, - 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, - 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, - 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, - 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, - 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, - 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, - 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, - 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, - 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, - 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, - 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, - 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, - 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, - 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, - 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, - 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, - 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, - 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, - 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, - 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, - 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, - 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, - 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, - 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, - 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, - 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, - 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, - 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, - 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, - 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, - 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, - 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, - 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, - 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, - 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, - 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, - 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, - 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, - 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, - 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, - 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, - 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, - 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, - 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, - 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, - 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, - 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, - 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, - 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, - 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, - 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, - 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, - 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, - 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, - 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, - 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, - 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, - 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, - 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, - 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, - 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, - 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, - 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, - 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, - 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, - 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, - 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, - 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, - 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,10,0,1,2,10,10,10,4,253,192,192,0, - 192,192,192,192,192,192,192,7,10,10,10,1,0,24,24,62, - 102,192,192,102,60,24,24,8,10,10,10,1,0,30,51,48, - 48,252,252,48,51,227,254,8,7,7,10,1,1,195,126,102, - 66,102,126,195,10,10,20,10,0,0,243,192,97,128,51,0, - 51,0,30,0,63,0,12,0,63,0,12,0,63,0,2,13, - 13,10,4,254,192,192,192,192,192,192,0,192,192,192,192,192, - 192,10,12,24,10,0,255,31,128,49,128,49,128,120,0,206, - 0,195,128,112,192,28,192,7,128,99,0,99,0,126,0,5, - 2,2,10,3,8,216,216,10,10,20,10,0,0,12,0,63, - 0,97,128,78,128,216,192,216,192,78,128,97,128,63,0,12, - 0,6,7,7,10,2,3,120,12,124,204,124,0,252,9,7, - 14,10,0,0,25,128,51,0,102,0,204,0,102,0,51,0, - 25,128,8,5,5,10,1,2,255,255,3,3,3,7,2,2, - 10,1,4,254,254,10,10,20,10,0,0,12,0,63,0,97, - 128,92,128,214,192,220,192,82,128,97,128,63,0,12,0,5, - 1,1,10,2,9,248,5,5,5,10,2,6,112,216,136,216, - 112,8,9,9,10,1,0,24,24,255,255,24,24,0,255,255, - 5,6,6,10,2,5,112,216,48,96,200,248,5,6,6,10, - 2,5,112,216,48,24,216,112,4,3,3,10,3,8,48,96, - 192,9,10,20,10,0,253,231,0,99,0,99,0,99,0,99, - 0,103,0,123,128,96,0,96,0,96,0,9,12,24,10,0, - 255,63,128,91,0,219,0,219,0,219,0,91,0,59,0,27, - 0,27,0,27,0,27,0,63,128,3,2,2,10,3,4,224, - 224,4,4,4,10,3,253,32,96,48,240,6,6,6,10,2, - 5,48,240,48,48,48,252,6,7,7,10,2,3,120,204,204, - 204,120,0,252,9,7,14,10,0,0,204,0,102,0,51,0, - 25,128,51,0,102,0,204,0,10,11,22,10,0,0,32,0, - 225,0,99,0,98,0,102,0,252,128,25,128,19,128,54,128, - 111,192,65,128,10,11,22,10,0,0,32,0,224,128,97,128, - 99,0,102,0,255,128,10,192,25,128,51,0,102,64,71,192, - 11,11,22,10,0,0,112,0,216,128,49,128,27,0,218,0, - 118,64,12,192,9,192,27,64,55,224,32,192,7,10,10,10, - 1,253,24,24,0,24,24,112,192,198,198,124,10,14,28,10, - 0,0,48,0,24,0,12,0,0,0,60,0,12,0,30,0, - 18,0,51,0,51,0,63,0,97,128,97,128,243,192,10,14, - 28,10,0,0,6,0,12,0,24,0,0,0,60,0,12,0, - 30,0,18,0,51,0,51,0,63,0,97,128,97,128,243,192, - 10,14,28,10,0,0,12,0,30,0,51,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,13,26,10,0,0,59,0,110,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,13,26,10,0,0,54,0,54,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,14,28,10,0,0,28,0,54,0,54,0,28,0, - 60,0,12,0,30,0,18,0,51,0,51,0,63,0,97,128, - 97,128,243,192,10,10,20,10,0,0,127,192,60,192,44,0, - 45,0,111,0,77,0,124,0,76,192,204,192,255,192,9,13, - 26,10,0,253,30,128,115,128,97,128,192,0,192,0,192,0, - 192,0,97,128,115,128,30,0,24,0,12,0,60,0,8,14, - 14,10,1,0,48,24,12,0,255,99,96,100,124,100,96,99, - 99,255,8,14,14,10,1,0,6,12,24,0,255,99,96,100, - 124,100,96,99,99,255,8,14,14,10,1,0,24,60,102,0, - 255,99,96,100,124,100,96,99,99,255,8,13,13,10,1,0, - 54,54,0,255,99,96,100,124,100,96,99,99,255,8,14,14, - 10,1,0,48,24,12,0,255,24,24,24,24,24,24,24,24, - 255,8,14,14,10,1,0,12,24,48,0,255,24,24,24,24, - 24,24,24,24,255,8,14,14,10,1,0,24,60,102,0,255, - 24,24,24,24,24,24,24,24,255,8,13,13,10,1,0,54, - 54,0,255,24,24,24,24,24,24,24,24,255,9,10,20,10, - 0,0,252,0,103,0,99,0,97,128,249,128,97,128,97,128, - 99,0,103,0,252,0,10,13,26,10,0,0,59,0,110,0, - 0,0,247,192,113,128,121,128,105,128,109,128,109,128,101,128, - 103,128,99,128,251,128,9,14,28,10,0,0,48,0,24,0, - 12,0,0,0,62,0,99,0,99,0,193,128,193,128,193,128, - 193,128,99,0,99,0,62,0,9,14,28,10,0,0,6,0, - 12,0,24,0,0,0,62,0,99,0,99,0,193,128,193,128, - 193,128,193,128,99,0,99,0,62,0,9,14,28,10,0,0, - 12,0,30,0,51,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, - 0,0,59,0,110,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, - 0,0,54,0,54,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,8,7,7,10, - 1,1,227,118,60,24,60,110,199,9,12,24,10,0,255,0, - 128,63,128,99,0,103,0,197,128,205,128,217,128,209,128,115, - 0,99,0,254,0,128,0,10,14,28,10,0,0,48,0,24, - 0,12,0,0,0,243,192,97,128,97,128,97,128,97,128,97, - 128,97,128,97,128,51,0,30,0,10,14,28,10,0,0,3, - 0,6,0,12,0,0,0,243,192,97,128,97,128,97,128,97, - 128,97,128,97,128,97,128,51,0,30,0,10,14,28,10,0, - 0,12,0,30,0,51,0,0,0,243,192,97,128,97,128,97, - 128,97,128,97,128,97,128,97,128,51,0,30,0,10,13,26, - 10,0,0,27,0,27,0,0,0,243,192,97,128,97,128,97, - 128,97,128,97,128,97,128,97,128,51,0,30,0,10,14,28, - 10,0,0,3,0,6,0,12,0,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,9, - 10,20,10,0,0,240,0,96,0,126,0,99,0,97,128,99, - 0,126,0,96,0,96,0,240,0,8,11,11,10,0,0,60, - 102,102,100,108,102,99,99,99,122,236,8,11,11,10,1,0, - 48,24,12,0,60,102,6,126,198,198,123,8,11,11,10,1, - 0,6,12,24,0,60,102,6,126,198,198,123,8,11,11,10, - 1,0,24,60,102,0,60,102,6,126,198,198,123,8,10,10, - 10,1,0,59,110,0,60,102,6,126,198,198,123,8,10,10, - 10,1,0,54,54,0,60,102,6,126,198,198,123,8,12,12, - 10,1,0,28,54,54,28,0,60,102,6,126,198,198,123,10, - 7,14,10,255,0,59,128,108,192,12,192,127,192,204,0,204, - 192,119,128,8,10,10,10,1,253,61,103,195,192,192,227,126, - 24,12,60,8,11,11,10,1,0,48,24,12,0,60,102,195, - 255,192,99,62,8,11,11,10,1,0,6,12,24,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,24,60,102,0,60, - 102,195,255,192,99,62,8,10,10,10,1,0,54,54,0,60, - 102,195,255,192,99,62,8,11,11,10,1,0,96,48,24,0, - 120,24,24,24,24,24,255,8,11,11,10,1,0,6,12,24, - 0,120,24,24,24,24,24,255,8,11,11,10,1,0,24,60, - 102,0,120,24,24,24,24,24,255,8,10,10,10,1,0,108, - 108,0,120,24,24,24,24,24,255,8,12,12,10,1,0,224, - 118,28,60,198,62,103,227,195,195,102,60,9,10,20,10,0, - 0,59,0,110,0,0,0,238,0,115,0,99,0,99,0,99, - 0,99,0,247,128,8,11,11,10,1,0,48,24,12,0,60, - 102,195,195,195,102,60,8,11,11,10,1,0,12,24,48,0, - 60,102,195,195,195,102,60,8,11,11,10,1,0,24,60,102, - 0,60,102,195,195,195,102,60,8,10,10,10,1,0,59,110, - 0,60,102,195,195,195,102,60,8,10,10,10,1,0,108,108, - 0,60,102,195,195,195,102,60,8,8,8,10,1,1,24,24, - 0,255,255,0,24,24,8,9,9,10,1,255,3,63,102,207, - 219,243,102,252,192,9,11,22,10,0,0,48,0,24,0,12, - 0,0,0,231,0,99,0,99,0,99,0,99,0,103,0,59, - 128,9,11,22,10,0,0,12,0,24,0,48,0,0,0,231, - 0,99,0,99,0,99,0,99,0,103,0,59,128,9,11,22, - 10,0,0,24,0,60,0,102,0,0,0,231,0,99,0,99, - 0,99,0,99,0,103,0,59,128,9,10,20,10,0,0,54, - 0,54,0,0,0,231,0,99,0,99,0,99,0,99,0,103, - 0,59,128,10,14,28,10,0,253,6,0,12,0,24,0,0, - 0,243,192,97,128,51,0,51,0,30,0,30,0,12,0,24, - 0,24,0,124,0,9,14,28,10,0,253,224,0,96,0,96, - 0,96,0,110,0,115,0,97,128,97,128,97,128,115,0,110, - 0,96,0,96,0,248,0,10,13,26,10,0,253,54,0,54, - 0,0,0,243,192,97,128,51,0,51,0,30,0,30,0,12, - 0,12,0,24,0,124,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 - Font Bounding box w=16 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB12r[1857] U8G_SECTION(".progmem.u8g_font_courB12r") = { - 0,16,24,253,250,10,2,51,4,246,32,127,253,12,253,11, - 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, - 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, - 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, - 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, - 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, - 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, - 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, - 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, - 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, - 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, - 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, - 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, - 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, - 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, - 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, - 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, - 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, - 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, - 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, - 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, - 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, - 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, - 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, - 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, - 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, - 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, - 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, - 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, - 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, - 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, - 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, - 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, - 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, - 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, - 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, - 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, - 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, - 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, - 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, - 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, - 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, - 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, - 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, - 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, - 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, - 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, - 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, - 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, - 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, - 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, - 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, - 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, - 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, - 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, - 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, - 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, - 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, - 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, - 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, - 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, - 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, - 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, - 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, - 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, - 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, - 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, - 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, - 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, - 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, - 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, - 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, - 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, - 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, - 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, - 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, - 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, - 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, - 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, - 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, - 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, - 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, - 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, - 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, - 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, - 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, - 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, - 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, - 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, - 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, - 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, - 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, - 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, - 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, - 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, - 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, - 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, - 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, - 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, - 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, - 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, - 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, - 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, - 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, - 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, - 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, - 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, - 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, - 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, - 255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=12 h=17 x= 4 y= 9 dx=11 dy= 0 ascent=15 len=34 - Font Bounding box w=17 h=26 x=-4 y=-7 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =15 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB14[4784] U8G_SECTION(".progmem.u8g_font_courB14") = { - 0,17,26,252,249,11,2,101,5,155,32,255,252,15,251,12, - 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, - 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, - 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, - 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, - 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, - 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, - 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, - 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, - 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, - 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, - 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, - 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, - 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, - 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, - 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, - 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, - 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, - 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, - 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, - 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, - 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, - 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, - 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, - 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, - 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, - 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, - 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, - 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, - 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, - 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, - 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, - 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, - 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, - 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, - 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, - 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, - 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, - 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, - 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, - 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, - 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, - 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, - 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, - 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, - 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, - 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, - 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, - 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, - 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, - 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, - 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, - 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, - 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, - 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, - 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, - 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, - 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, - 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, - 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, - 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, - 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, - 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, - 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, - 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, - 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, - 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, - 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, - 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, - 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, - 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, - 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, - 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, - 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, - 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, - 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, - 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, - 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, - 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, - 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, - 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, - 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, - 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, - 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, - 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, - 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, - 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, - 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, - 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, - 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, - 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, - 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, - 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, - 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, - 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, - 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, - 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, - 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, - 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, - 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, - 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, - 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, - 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, - 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, - 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, - 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, - 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, - 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, - 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, - 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, - 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, - 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, - 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, - 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, - 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, - 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, - 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, - 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, - 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, - 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, - 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, - 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, - 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, - 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, - 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, - 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, - 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, - 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, - 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, - 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, - 11,1,4,115,255,222,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,11,0,1,3,12,12, - 11,4,252,192,192,0,192,192,224,224,224,224,224,224,224,8, - 13,13,11,1,0,24,24,24,63,127,227,192,192,227,127,62, - 24,24,10,11,22,11,0,0,62,0,127,0,99,0,96,0, - 48,0,252,0,252,0,48,0,96,192,255,192,255,128,8,9, - 9,11,1,1,195,255,126,195,195,195,126,255,195,10,11,22, - 11,0,0,243,192,243,192,97,128,51,0,30,0,63,0,12, - 0,63,0,12,0,63,0,63,0,2,16,16,11,4,253,192, - 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,8, - 14,14,11,1,254,63,115,99,96,248,222,199,227,123,31,6, - 198,206,252,6,2,2,11,2,9,204,204,11,12,24,11,0, - 0,14,0,63,128,113,192,110,192,219,96,216,96,216,96,219, - 96,110,192,113,192,63,128,14,0,6,8,8,11,2,3,112, - 24,120,216,216,108,0,252,9,7,14,11,0,1,25,128,51, - 0,102,0,204,0,102,0,51,0,25,128,9,4,8,11,1, - 4,255,128,255,128,1,128,1,128,8,2,2,11,1,4,255, - 255,11,12,24,11,0,0,14,0,63,128,113,192,126,192,219, - 96,219,96,222,96,223,96,123,224,112,192,63,128,14,0,5, - 2,2,11,2,9,248,248,5,5,5,11,2,6,112,136,136, - 136,112,10,10,20,11,0,0,12,0,12,0,12,0,255,192, - 255,192,12,0,12,0,0,0,255,192,255,192,6,7,7,11, - 2,5,120,204,12,24,48,100,252,6,7,7,11,2,5,120, - 204,12,56,12,204,120,4,3,3,11,4,9,48,96,192,10, - 13,26,11,0,252,231,128,231,128,97,128,97,128,97,128,97, - 128,99,128,127,192,125,192,96,0,96,0,96,0,96,0,8, - 14,14,11,1,254,63,106,202,202,202,106,58,10,10,10,10, - 10,10,59,2,3,3,11,4,3,192,192,192,4,5,5,11, - 3,252,64,96,48,240,224,6,7,7,11,2,5,48,240,48, - 48,48,48,252,6,8,8,11,2,3,120,204,132,132,204,120, - 0,252,9,7,14,11,1,1,204,0,102,0,51,0,25,128, - 51,0,102,0,204,0,11,12,24,11,0,0,48,0,240,32, - 48,96,48,192,49,128,51,64,254,192,13,192,26,192,52,192, - 103,224,64,192,11,12,24,11,0,0,48,0,240,32,48,96, - 48,192,49,128,51,192,255,96,12,96,24,192,49,128,99,32, - 71,224,11,12,24,11,0,0,120,0,204,32,12,96,56,192, - 13,128,207,64,126,192,13,192,26,192,52,192,103,224,64,192, - 7,12,12,11,2,252,24,24,0,24,24,24,120,224,192,198, - 254,124,12,15,30,11,255,0,24,0,12,0,6,0,0,0, - 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, - 48,192,249,240,249,240,12,15,30,11,255,0,3,0,6,0, - 12,0,0,0,62,0,63,0,15,0,15,0,25,128,25,128, - 63,192,63,192,48,192,249,240,249,240,12,15,30,11,255,0, - 6,0,15,0,25,128,0,0,62,0,63,0,15,0,15,0, - 25,128,25,128,63,192,63,192,48,192,249,240,249,240,12,14, - 28,11,255,0,29,128,55,0,0,0,62,0,63,0,15,0, - 15,0,25,128,25,128,63,192,63,192,48,192,249,240,249,240, - 12,14,28,11,255,0,25,128,25,128,0,0,62,0,63,0, - 15,0,15,0,25,128,25,128,63,192,63,192,48,192,249,240, - 249,240,12,15,30,11,255,0,6,0,9,0,9,0,6,0, - 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, - 48,192,249,240,249,240,11,11,22,11,0,0,63,224,63,224, - 30,96,54,0,55,192,39,192,126,0,126,0,102,96,239,224, - 239,224,10,16,32,11,0,251,30,192,127,192,97,192,192,192, - 192,0,192,0,192,0,192,0,96,192,127,192,63,0,8,0, - 12,0,2,0,30,0,28,0,10,15,30,11,0,0,24,0, - 12,0,6,0,0,0,255,192,255,192,48,192,54,192,62,0, - 62,0,54,0,48,192,48,192,255,192,255,192,10,15,30,11, - 0,0,3,0,6,0,12,0,0,0,255,192,255,192,48,192, - 54,192,62,0,62,0,54,0,48,192,48,192,255,192,255,192, - 10,15,30,11,0,0,12,0,30,0,51,0,0,0,255,192, - 255,192,48,192,54,192,62,0,62,0,54,0,48,192,48,192, - 255,192,255,192,10,14,28,11,0,0,51,0,51,0,0,0, - 255,192,255,192,48,192,54,192,62,0,62,0,54,0,48,192, - 48,192,255,192,255,192,8,15,15,11,1,0,96,48,24,0, - 255,255,24,24,24,24,24,24,24,255,255,8,15,15,11,1, - 0,6,12,24,0,255,255,24,24,24,24,24,24,24,255,255, - 8,15,15,11,1,0,24,60,102,0,255,255,24,24,24,24, - 24,24,24,255,255,8,14,14,11,1,0,102,102,0,255,255, - 24,24,24,24,24,24,24,255,255,10,11,22,11,0,0,254, - 0,255,128,97,128,96,192,248,192,248,192,96,192,96,192,97, - 128,255,128,254,0,10,14,28,11,0,0,59,0,110,0,0, - 0,231,192,247,192,113,128,121,128,105,128,109,128,101,128,103, - 128,99,128,251,128,249,128,10,15,30,11,0,0,24,0,12, - 0,6,0,0,0,30,0,127,128,97,128,192,192,192,192,192, - 192,192,192,192,192,97,128,127,128,30,0,10,15,30,11,0, - 0,3,0,6,0,12,0,0,0,30,0,127,128,97,128,192, - 192,192,192,192,192,192,192,192,192,97,128,127,128,30,0,10, - 15,30,11,0,0,12,0,30,0,51,0,0,0,30,0,127, - 128,97,128,192,192,192,192,192,192,192,192,192,192,97,128,127, - 128,30,0,10,14,28,11,0,0,59,0,110,0,0,0,30, - 0,127,128,97,128,192,192,192,192,192,192,192,192,192,192,97, - 128,127,128,30,0,10,14,28,11,0,0,51,0,51,0,0, - 0,30,0,127,128,97,128,192,192,192,192,192,192,192,192,192, - 192,97,128,127,128,30,0,10,10,20,11,0,0,64,128,225, - 192,115,128,55,0,30,0,30,0,59,0,115,128,225,192,64, - 128,12,13,26,11,255,255,0,48,15,96,63,192,49,192,99, - 96,102,96,102,96,108,96,120,96,48,192,63,192,111,0,192, - 0,10,15,30,11,0,0,48,0,24,0,12,0,0,0,251, - 192,251,192,97,128,97,128,97,128,97,128,97,128,97,128,115, - 128,63,0,30,0,10,15,30,11,0,0,3,0,6,0,12, - 0,0,0,251,192,251,192,97,128,97,128,97,128,97,128,97, - 128,97,128,115,128,63,0,30,0,10,15,30,11,0,0,12, - 0,30,0,51,0,0,0,251,192,251,192,97,128,97,128,97, - 128,97,128,97,128,97,128,115,128,63,0,30,0,10,14,28, - 11,0,0,51,0,51,0,0,0,251,192,251,192,97,128,97, - 128,97,128,97,128,97,128,97,128,115,128,63,0,30,0,10, - 15,30,11,0,0,3,0,6,0,12,0,0,0,243,192,243, - 192,97,128,51,0,63,0,30,0,12,0,12,0,12,0,63, - 0,63,0,10,11,22,11,0,0,240,0,224,0,127,0,127, - 128,97,192,96,192,97,192,127,128,127,0,224,0,240,0,9, - 12,24,11,1,0,60,0,126,0,99,0,99,0,103,0,110, - 0,103,0,97,128,97,128,105,128,239,128,231,0,10,13,26, - 11,0,0,24,0,12,0,6,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, - 11,0,0,3,0,6,0,12,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, - 11,0,0,12,0,30,0,51,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,12,24, - 11,0,0,59,0,110,0,0,0,63,0,127,128,97,128,1, - 128,127,128,255,128,193,128,255,192,125,192,10,12,24,11,0, - 0,51,0,51,0,0,0,63,0,127,128,97,128,1,128,127, - 128,255,128,193,128,255,192,125,192,10,14,28,11,0,0,12, - 0,18,0,18,0,12,0,0,0,63,0,127,128,97,128,1, - 128,127,128,255,128,193,128,255,192,125,192,10,9,18,11,0, - 0,123,128,255,192,204,192,12,192,127,192,255,192,204,0,255, - 192,123,128,10,14,28,11,0,251,61,128,127,128,227,128,193, - 128,192,0,192,0,225,192,127,192,63,0,8,0,12,0,6, - 0,30,0,28,0,10,13,26,11,0,0,24,0,12,0,6, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,13,26,11,0,0,3,0,6,0,12, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,13,26,11,0,0,12,0,30,0,51, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,12,24,11,0,0,51,0,51,0,0, - 0,30,0,127,128,225,192,192,192,255,192,255,192,224,0,127, - 192,31,192,8,13,13,11,1,0,48,24,12,0,248,248,24, - 24,24,24,24,255,255,8,13,13,11,1,0,12,24,48,0, - 248,248,24,24,24,24,24,255,255,8,13,13,11,1,0,24, - 60,102,0,248,248,24,24,24,24,24,255,255,8,12,12,11, - 1,0,204,204,0,248,248,24,24,24,24,24,255,255,10,13, - 26,11,0,0,225,128,251,128,62,0,119,0,195,128,63,128, - 97,192,192,192,192,192,192,192,225,192,127,128,30,0,10,12, - 24,11,0,0,59,0,110,0,0,0,239,0,255,128,113,128, - 97,128,97,128,97,128,97,128,243,192,243,192,10,13,26,11, - 0,0,24,0,12,0,6,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, - 0,0,3,0,6,0,12,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, - 0,0,12,0,30,0,51,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,12,24,11, - 0,0,59,0,110,0,0,0,30,0,127,128,225,192,192,192, - 192,192,192,192,225,192,127,128,30,0,10,12,24,11,0,0, - 51,0,51,0,0,0,30,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,30,0,10,10,20,11,0,0,12,0, - 12,0,0,0,0,0,255,192,255,192,0,0,0,0,12,0, - 12,0,12,11,22,11,255,255,0,48,15,96,63,192,113,224, - 99,96,102,96,108,96,120,224,63,192,111,0,192,0,10,13, - 26,11,0,0,24,0,12,0,6,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, - 26,11,0,0,6,0,12,0,24,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, - 26,11,0,0,12,0,30,0,51,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,12, - 24,11,0,0,51,0,51,0,0,0,231,128,231,128,97,128, - 97,128,97,128,97,128,99,128,127,192,61,192,10,17,34,11, - 0,252,3,0,6,0,12,0,0,0,243,192,243,192,97,128, - 97,128,51,0,51,0,30,0,30,0,12,0,24,0,56,0, - 252,0,252,0,10,16,32,11,0,252,224,0,224,0,96,0, - 111,0,127,128,113,192,96,192,96,192,96,192,113,192,127,128, - 111,0,96,0,96,0,248,0,248,0,10,16,32,11,0,252, - 51,0,51,0,0,0,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0 - }; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=12 h=16 x= 4 y= 9 dx=11 dy= 0 ascent=13 len=32 - Font Bounding box w=17 h=26 x=-4 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB14r[2167] U8G_SECTION(".progmem.u8g_font_courB14r") = { - 0,17,26,252,249,11,2,101,5,155,32,127,252,13,252,12, - 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, - 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, - 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, - 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, - 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, - 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, - 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, - 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, - 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, - 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, - 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, - 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, - 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, - 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, - 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, - 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, - 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, - 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, - 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, - 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, - 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, - 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, - 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, - 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, - 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, - 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, - 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, - 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, - 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, - 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, - 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, - 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, - 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, - 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, - 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, - 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, - 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, - 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, - 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, - 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, - 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, - 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, - 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, - 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, - 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, - 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, - 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, - 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, - 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, - 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, - 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, - 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, - 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, - 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, - 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, - 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, - 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, - 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, - 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, - 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, - 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, - 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, - 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, - 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, - 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, - 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, - 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, - 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, - 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, - 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, - 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, - 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, - 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, - 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, - 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, - 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, - 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, - 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, - 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, - 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, - 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, - 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, - 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, - 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, - 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, - 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, - 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, - 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, - 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, - 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, - 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, - 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, - 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, - 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, - 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, - 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, - 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, - 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, - 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, - 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, - 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, - 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, - 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, - 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, - 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, - 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, - 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, - 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, - 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, - 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, - 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, - 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, - 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, - 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, - 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, - 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, - 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, - 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, - 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, - 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, - 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, - 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, - 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, - 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, - 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, - 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, - 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, - 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, - 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, - 11,1,4,115,255,222,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=21 x= 6 y=13 dx=15 dy= 0 ascent=21 len=42 - Font Bounding box w=22 h=35 x=-4 y=-9 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =15 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB18[6429] U8G_SECTION(".progmem.u8g_font_courB18") = { - 0,22,35,252,247,15,3,223,8,17,32,255,251,21,251,16, - 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, - 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, - 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, - 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, - 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, - 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, - 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, - 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, - 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, - 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, - 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, - 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, - 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, - 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, - 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, - 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, - 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, - 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, - 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, - 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, - 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, - 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, - 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, - 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, - 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, - 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, - 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, - 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, - 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, - 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, - 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, - 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, - 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, - 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, - 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, - 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, - 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, - 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, - 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, - 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, - 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, - 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, - 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, - 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, - 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, - 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, - 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, - 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, - 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, - 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, - 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, - 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, - 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, - 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, - 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, - 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, - 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, - 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, - 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, - 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, - 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, - 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, - 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, - 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, - 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, - 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, - 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, - 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, - 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, - 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, - 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, - 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, - 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, - 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, - 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, - 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, - 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, - 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, - 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, - 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, - 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, - 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, - 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, - 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, - 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, - 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, - 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, - 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, - 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, - 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, - 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, - 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, - 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, - 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, - 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, - 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, - 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, - 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, - 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, - 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, - 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, - 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, - 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, - 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, - 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, - 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, - 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, - 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, - 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, - 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, - 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, - 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, - 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, - 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, - 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, - 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, - 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, - 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, - 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, - 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, - 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, - 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, - 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, - 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, - 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, - 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, - 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, - 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, - 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, - 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, - 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, - 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, - 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, - 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, - 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, - 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, - 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, - 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, - 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, - 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, - 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, - 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, - 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, - 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, - 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, - 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, - 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, - 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, - 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, - 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, - 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, - 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, - 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, - 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, - 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, - 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, - 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, - 60,48,126,112,231,224,195,192,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,15,0,1,4, - 16,16,15,4,251,96,96,96,0,96,96,96,96,96,240,240, - 240,240,240,240,96,9,16,32,15,2,0,12,0,12,0,12, - 0,61,128,127,128,227,128,193,128,192,0,192,0,192,0,225, - 128,127,128,63,0,12,0,12,0,12,0,12,15,30,15,1, - 0,15,128,31,192,56,192,48,0,48,0,48,0,48,0,255, - 0,255,0,24,0,24,0,56,0,112,48,255,240,255,224,10, - 11,22,15,2,2,192,192,255,192,127,128,225,192,192,192,192, - 192,192,192,225,192,127,128,255,192,192,192,12,15,30,15,1, - 0,249,240,249,240,112,224,48,192,57,192,25,128,15,0,15, - 0,63,192,6,0,63,192,6,0,6,0,63,192,63,192,2, - 18,18,15,6,254,192,192,192,192,192,192,192,192,0,0,192, - 192,192,192,192,192,192,192,12,18,36,15,1,254,15,224,31, - 224,56,96,48,96,56,0,126,0,207,128,195,224,240,240,124, - 48,31,48,7,240,1,224,0,192,96,192,97,192,127,128,127, - 0,7,3,3,15,3,12,198,198,198,14,14,28,15,0,1, - 7,128,31,224,56,112,103,152,111,216,220,204,216,12,216,12, - 220,204,111,216,103,152,56,112,31,224,7,128,8,11,11,15, - 3,4,60,102,6,126,198,198,207,123,0,255,255,13,9,18, - 15,1,1,14,56,28,112,56,224,113,192,227,128,113,192,56, - 224,28,112,14,56,12,6,12,15,1,4,255,240,255,240,0, - 48,0,48,0,48,0,48,11,2,4,15,2,6,255,224,255, - 224,14,14,28,15,0,1,7,128,31,224,56,112,111,152,111, - 216,204,204,204,204,207,140,205,140,108,216,108,216,56,112,31, - 224,7,128,7,2,2,15,3,13,254,254,8,7,7,15,3, - 9,60,102,195,195,195,102,60,12,14,28,15,1,0,6,0, - 6,0,6,0,6,0,255,240,255,240,6,0,6,0,6,0, - 6,0,0,0,0,0,255,240,255,240,7,9,9,15,4,7, - 124,198,198,12,24,48,96,198,254,7,9,9,15,4,7,124, - 198,198,12,60,6,198,198,124,6,4,4,15,4,12,28,56, - 112,224,14,16,32,15,0,251,240,240,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,56,112,63,252,63,188,48,0, - 48,0,48,0,48,0,48,0,12,18,36,15,1,254,31,240, - 127,240,230,192,230,192,230,192,230,192,230,192,126,192,30,192, - 6,192,6,192,6,192,6,192,6,192,6,192,6,192,62,240, - 62,240,3,3,3,15,5,6,224,224,224,5,6,6,15,4, - 251,48,48,120,24,248,112,8,9,9,15,3,7,24,248,24, - 24,24,24,24,24,255,8,11,11,15,3,4,60,126,195,195, - 195,195,126,60,0,255,255,13,9,18,15,1,1,227,128,113, - 192,56,224,28,112,14,56,28,112,56,224,113,192,227,128,16, - 16,32,15,255,0,24,0,248,1,24,3,24,6,24,12,24, - 24,24,48,24,100,255,204,1,156,3,44,6,76,12,140,24, - 254,48,12,32,30,16,16,32,15,255,0,24,0,248,1,24, - 3,24,6,24,12,24,24,24,48,24,126,255,243,1,163,3, - 6,6,12,12,24,24,48,48,99,32,127,15,16,32,15,0, - 0,124,0,198,2,198,6,12,12,60,24,6,48,198,96,198, - 200,125,152,3,56,6,88,12,152,25,24,49,252,96,24,64, - 60,9,15,30,15,2,252,12,0,12,0,12,0,0,0,12, - 0,12,0,28,0,120,0,224,0,192,0,193,128,193,128,225, - 128,127,128,63,0,14,20,40,15,0,0,56,0,28,0,14, - 0,7,0,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,14,20,40,15,0,0,0,224,1,192,3,128,7, - 0,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, - 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, - 252,14,21,42,15,0,0,6,0,15,0,31,128,57,192,112, - 224,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, - 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, - 252,14,19,38,15,0,0,14,96,31,192,51,128,0,0,63, - 0,63,0,7,128,7,128,12,192,12,192,28,224,24,96,24, - 96,63,240,63,240,112,56,96,24,252,252,252,252,14,19,38, - 15,0,0,24,192,24,192,24,192,0,0,63,0,63,0,7, - 128,7,128,12,192,12,192,28,224,24,96,24,96,63,240,63, - 240,112,56,96,24,252,252,252,252,14,20,40,15,0,0,7, - 0,13,128,8,128,13,128,7,0,63,0,63,0,7,128,7, - 128,12,192,12,192,28,224,24,96,24,96,63,240,63,240,112, - 56,96,24,252,252,252,252,15,15,30,15,0,0,15,254,15, - 254,3,134,7,134,7,128,13,152,9,248,25,248,31,152,63, - 128,49,128,97,134,97,134,247,254,247,254,12,20,40,15,1, - 251,15,176,63,240,112,112,96,48,224,48,192,0,192,0,192, - 0,192,0,192,0,224,0,96,16,112,48,63,224,15,192,6, - 0,15,0,3,0,31,0,14,0,13,20,40,15,1,0,56, - 0,28,0,14,0,7,0,0,0,255,240,255,240,48,48,48, - 48,49,176,49,128,63,128,63,128,49,128,49,128,48,24,48, - 24,48,24,255,248,255,248,13,20,40,15,1,0,0,224,1, - 192,3,128,7,0,0,0,255,240,255,240,48,48,48,48,49, - 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, - 24,255,248,255,248,13,21,42,15,1,0,3,0,7,128,15, - 192,28,224,56,112,0,0,255,240,255,240,48,48,48,48,49, - 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, - 24,255,248,255,248,13,19,38,15,1,0,24,192,24,192,24, - 192,0,0,255,240,255,240,48,48,48,48,49,176,49,128,63, - 128,63,128,49,128,49,128,48,24,48,24,48,24,255,248,255, - 248,10,20,40,15,2,0,112,0,56,0,28,0,14,0,0, - 0,255,192,255,192,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, - 20,40,15,2,0,3,128,7,0,14,0,28,0,0,0,255, - 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,255,192,255,192,10,21,42, - 15,2,0,12,0,30,0,63,0,115,128,225,192,0,0,255, - 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,255,192,255,192,10,19,38, - 15,2,0,51,0,51,0,51,0,0,0,255,192,255,192,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,14,15,30,15,0,0,255, - 192,255,240,48,56,48,24,48,28,48,12,254,12,254,12,48, - 12,48,12,48,12,48,24,48,56,255,240,255,224,13,19,38, - 15,1,0,14,96,31,192,51,128,0,0,240,248,240,248,120, - 48,120,48,108,48,108,48,102,48,102,48,99,48,99,48,97, - 176,97,176,96,240,248,240,248,112,13,20,40,15,1,0,28, - 0,14,0,7,0,3,128,0,0,15,128,63,224,112,112,96, - 48,224,56,192,24,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,13,20,40,15,1,0,0,224,1, - 192,3,128,7,0,0,0,15,128,63,224,112,112,96,48,224, - 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, - 112,63,224,15,128,13,21,42,15,1,0,3,0,7,128,15, - 192,28,224,56,112,0,0,15,128,63,224,112,112,96,48,224, - 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, - 112,63,224,15,128,13,19,38,15,1,0,14,96,31,192,51, - 128,0,0,15,128,63,224,112,112,96,48,224,56,192,24,192, - 24,192,24,192,24,192,24,224,56,96,48,112,112,63,224,15, - 128,13,19,38,15,1,0,24,192,24,192,24,192,0,0,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,192,24,224,56,96,48,112,112,63,224,15,128,12,12,24, - 15,1,1,64,32,224,112,112,224,57,192,31,128,15,0,15, - 0,31,128,57,192,112,224,224,112,64,32,13,18,36,15,1, - 255,0,24,0,48,15,224,63,224,112,112,96,240,225,184,193, - 24,195,24,198,24,196,24,204,24,232,56,120,48,112,112,63, - 224,111,128,192,0,13,20,40,15,1,0,56,0,28,0,14, - 0,7,0,0,0,248,248,248,248,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,48,96,63, - 224,31,192,13,20,40,15,1,0,0,224,1,192,3,128,7, - 0,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, - 192,13,21,42,15,1,0,3,0,7,128,15,192,28,224,56, - 112,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, - 192,13,19,38,15,1,0,24,192,24,192,24,192,0,0,248, - 248,248,248,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,48,96,63,224,31,192,14,20,40, - 15,0,0,0,224,1,192,3,128,7,0,0,0,252,252,252, - 252,112,56,56,112,24,96,12,192,15,192,7,128,3,0,3, - 0,3,0,3,0,3,0,31,224,31,224,13,15,30,15,1, - 0,252,0,252,0,48,0,63,192,63,240,48,56,48,24,48, - 24,48,24,48,56,63,240,63,192,48,0,252,0,252,0,12, - 16,32,15,1,0,15,0,31,128,57,192,48,192,48,192,49, - 192,55,128,55,192,48,224,48,112,48,48,48,48,48,48,51, - 112,251,224,249,192,12,16,32,15,1,0,112,0,56,0,28, - 0,14,0,0,0,63,0,127,128,97,192,0,192,31,192,127, - 192,224,192,192,192,193,192,255,240,126,240,12,16,32,15,1, - 0,1,192,3,128,7,0,14,0,0,0,63,0,127,128,97, - 192,0,192,31,192,127,192,224,192,192,192,193,192,255,240,126, - 240,12,16,32,15,1,0,14,0,31,0,59,128,113,192,0, - 0,63,0,127,128,97,192,0,192,31,192,127,192,224,192,192, - 192,193,192,255,240,126,240,12,15,30,15,1,0,28,192,63, - 128,103,0,0,0,63,0,127,128,97,192,0,192,31,192,127, - 192,224,192,192,192,193,192,255,240,126,240,12,15,30,15,1, - 0,49,128,49,128,49,128,0,0,63,0,127,128,97,192,0, - 192,31,192,127,192,224,192,192,192,193,192,255,240,126,240,12, - 16,32,15,1,0,14,0,27,0,17,0,27,0,14,0,63, - 0,127,128,97,192,0,192,31,192,127,192,224,192,192,192,193, - 192,255,240,126,240,14,11,22,15,0,0,60,240,127,248,103, - 156,3,12,31,12,127,252,227,252,195,0,199,140,255,252,124, - 240,11,16,32,15,1,251,31,96,127,224,112,224,224,96,192, - 96,192,0,192,0,224,0,112,96,127,224,31,192,6,0,15, - 0,3,0,31,0,14,0,12,16,32,15,1,0,56,0,28, - 0,14,0,7,0,0,0,31,128,127,224,112,224,224,112,192, - 48,255,240,255,240,224,0,112,112,127,240,31,192,12,16,32, - 15,1,0,1,192,3,128,7,0,14,0,0,0,31,128,127, - 224,112,224,224,112,192,48,255,240,255,240,224,0,112,112,127, - 240,31,192,12,16,32,15,1,0,7,0,15,128,29,192,56, - 224,0,0,31,128,127,224,112,224,224,112,192,48,255,240,255, - 240,224,0,112,112,127,240,31,192,12,15,30,15,1,0,49, - 128,49,128,49,128,0,0,31,128,127,224,112,224,224,112,192, - 48,255,240,255,240,224,0,112,112,127,240,31,192,10,16,32, - 15,2,0,224,0,112,0,56,0,28,0,0,0,124,0,124, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,10,16,32,15,2,0,3,128,7,0,14,0,28, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,10,16,32,15,2,0,28, - 0,62,0,119,0,227,128,0,0,124,0,124,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, - 15,30,15,2,0,99,0,99,0,99,0,0,0,124,0,124, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,17,34,15,0,0,240,0,252,112,15,240,31, - 128,125,192,112,224,15,240,63,240,56,120,112,56,96,24,96, - 24,96,24,112,56,56,112,63,240,15,192,14,15,30,15,0, - 0,14,96,31,192,51,128,0,0,243,192,247,224,60,112,56, - 48,48,48,48,48,48,48,48,48,48,48,252,252,252,252,12, - 16,32,15,1,0,56,0,28,0,14,0,7,0,0,0,31, - 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, - 224,127,224,31,128,12,16,32,15,1,0,1,192,3,128,7, - 0,14,0,0,0,31,128,127,224,112,224,224,112,192,48,192, - 48,192,48,224,112,112,224,127,224,31,128,12,16,32,15,1, - 0,14,0,31,0,59,128,113,192,0,0,31,128,127,224,112, - 224,224,112,192,48,192,48,192,48,224,112,112,224,127,224,31, - 128,12,15,30,15,1,0,28,192,63,128,103,0,0,0,31, - 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, - 224,127,224,31,128,12,15,30,15,1,0,49,128,49,128,49, - 128,0,0,31,128,127,224,112,224,224,112,192,48,192,48,192, - 48,224,112,112,224,127,224,31,128,13,12,24,15,0,1,7, - 0,7,0,7,0,0,0,0,0,255,248,255,248,0,0,0, - 0,7,0,7,0,7,0,14,14,28,15,0,254,0,12,15, - 216,63,240,56,112,112,216,97,152,99,24,102,24,108,56,56, - 112,63,240,63,192,96,0,192,0,14,16,32,15,0,0,56, - 0,28,0,14,0,7,0,0,0,240,240,240,240,48,48,48, - 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,14, - 16,32,15,0,0,1,192,3,128,7,0,14,0,0,0,240, - 240,240,240,48,48,48,48,48,48,48,48,48,48,48,48,56, - 112,31,252,15,188,14,16,32,15,0,0,7,0,15,128,29, - 192,56,224,0,0,240,240,240,240,48,48,48,48,48,48,48, - 48,48,48,48,48,56,112,31,252,15,188,14,15,30,15,0, - 0,24,192,24,192,24,192,0,0,240,240,240,240,48,48,48, - 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,12, - 21,42,15,1,251,0,224,1,192,3,128,7,0,0,0,249, - 240,249,240,96,96,112,224,48,192,57,192,25,128,27,128,15, - 0,15,0,6,0,14,0,12,0,28,0,254,0,254,0,13, - 21,42,15,1,251,240,0,240,0,48,0,48,0,48,0,55, - 192,63,240,60,112,56,56,48,24,48,24,48,24,56,56,60, - 112,63,240,55,192,48,0,48,0,48,0,254,0,254,0,12, - 20,40,15,1,251,49,128,49,128,49,128,0,0,249,240,249, - 240,96,96,112,224,48,192,57,192,25,128,27,128,15,0,15, - 0,6,0,14,0,12,0,28,0,254,0,254,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=21 x= 6 y=11 dx=15 dy= 0 ascent=17 len=40 - Font Bounding box w=22 h=35 x=-4 y=-9 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =15 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB18r[3001] U8G_SECTION(".progmem.u8g_font_courB18r") = { - 0,22,35,252,247,15,3,223,8,17,32,127,251,17,251,16, - 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, - 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, - 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, - 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, - 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, - 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, - 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, - 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, - 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, - 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, - 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, - 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, - 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, - 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, - 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, - 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, - 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, - 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, - 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, - 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, - 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, - 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, - 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, - 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, - 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, - 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, - 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, - 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, - 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, - 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, - 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, - 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, - 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, - 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, - 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, - 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, - 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, - 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, - 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, - 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, - 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, - 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, - 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, - 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, - 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, - 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, - 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, - 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, - 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, - 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, - 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, - 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, - 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, - 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, - 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, - 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, - 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, - 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, - 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, - 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, - 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, - 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, - 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, - 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, - 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, - 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, - 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, - 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, - 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, - 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, - 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, - 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, - 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, - 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, - 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, - 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, - 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, - 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, - 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, - 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, - 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, - 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, - 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, - 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, - 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, - 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, - 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, - 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, - 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, - 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, - 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, - 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, - 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, - 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, - 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, - 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, - 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, - 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, - 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, - 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, - 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, - 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, - 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, - 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, - 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, - 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, - 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, - 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, - 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, - 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, - 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, - 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, - 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, - 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, - 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, - 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, - 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, - 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, - 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, - 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, - 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, - 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, - 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, - 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, - 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, - 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, - 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, - 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, - 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, - 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, - 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, - 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, - 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, - 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, - 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, - 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, - 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, - 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, - 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, - 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, - 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, - 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, - 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, - 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, - 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, - 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, - 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, - 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, - 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, - 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, - 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, - 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, - 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, - 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, - 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, - 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, - 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, - 60,48,126,112,231,224,195,192,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 20, '1' Height: 21 - Calculated Max Values w=21 h=29 x= 8 y=17 dx=20 dy= 0 ascent=26 len=87 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24[10502] U8G_SECTION(".progmem.u8g_font_courB24") = { - 0,30,44,249,245,20,5,57,12,115,32,255,249,26,249,21, - 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, - 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, - 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, - 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, - 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, - 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, - 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, - 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, - 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, - 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, - 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, - 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, - 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, - 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, - 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, - 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, - 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, - 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, - 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, - 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, - 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, - 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, - 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, - 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, - 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, - 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, - 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, - 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, - 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, - 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, - 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, - 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, - 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, - 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, - 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, - 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, - 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, - 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, - 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, - 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, - 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, - 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, - 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, - 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, - 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, - 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, - 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, - 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, - 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, - 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, - 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, - 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, - 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, - 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, - 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, - 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, - 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, - 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, - 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, - 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, - 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, - 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, - 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, - 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, - 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, - 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, - 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, - 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, - 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, - 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, - 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, - 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, - 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, - 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, - 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, - 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, - 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, - 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, - 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, - 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, - 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, - 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, - 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, - 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, - 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, - 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, - 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, - 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, - 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, - 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, - 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, - 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, - 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, - 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, - 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, - 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, - 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, - 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, - 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, - 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, - 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, - 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, - 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, - 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, - 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, - 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, - 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, - 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, - 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, - 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, - 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, - 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, - 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, - 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, - 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, - 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, - 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, - 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, - 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, - 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, - 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, - 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, - 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, - 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, - 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, - 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, - 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, - 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, - 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, - 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, - 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, - 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, - 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, - 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, - 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, - 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, - 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, - 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, - 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, - 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, - 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, - 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, - 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, - 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, - 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, - 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, - 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, - 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, - 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, - 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, - 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, - 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, - 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, - 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, - 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, - 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, - 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, - 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, - 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, - 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, - 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, - 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, - 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, - 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, - 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, - 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, - 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, - 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, - 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, - 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, - 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, - 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, - 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, - 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, - 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, - 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, - 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, - 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, - 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, - 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, - 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, - 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, - 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, - 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, - 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, - 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, - 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, - 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, - 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, - 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, - 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, - 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, - 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, - 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, - 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, - 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, - 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, - 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, - 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, - 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, - 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, - 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, - 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, - 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, - 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, - 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, - 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, - 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, - 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, - 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, - 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, - 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, - 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, - 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, - 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, - 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, - 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, - 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, - 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, - 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, - 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, - 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, - 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, - 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, - 227,252,225,248,0,96,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,20,0,1,5,21,21, - 20,7,249,112,248,248,112,0,0,112,112,112,112,112,112,112, - 112,248,248,248,248,248,112,32,13,23,46,20,3,255,7,0, - 7,0,7,0,7,0,7,0,15,216,63,248,127,248,120,120, - 240,56,224,56,224,0,224,0,224,0,240,56,120,120,127,248, - 63,240,15,192,7,0,7,0,7,0,7,0,16,20,40,20, - 1,0,3,224,7,240,15,248,30,56,28,56,28,0,28,0, - 28,0,14,0,255,224,255,224,255,224,14,0,14,0,14,0, - 14,2,30,7,127,255,127,255,127,254,15,15,30,20,2,2, - 224,14,247,222,255,254,127,252,60,120,120,60,112,28,112,28, - 112,28,120,60,60,120,127,252,255,254,247,222,224,14,17,20, - 60,20,1,0,254,63,128,254,63,128,254,63,128,56,14,0, - 28,28,0,30,60,0,14,56,0,15,120,0,7,112,0,3, - 224,0,31,252,0,31,252,0,1,192,0,31,252,0,31,252, - 0,1,192,0,1,192,0,31,252,0,31,252,0,31,252,0, - 3,26,26,20,8,251,224,224,224,224,224,224,224,224,224,224, - 224,224,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 16,24,48,20,2,253,1,254,7,254,15,254,28,6,24,6, - 24,6,60,0,127,0,231,128,193,224,96,240,112,60,60,14, - 15,6,7,131,1,231,0,254,0,60,48,24,48,24,48,56, - 63,240,63,224,63,128,11,4,8,20,4,17,96,192,241,224, - 241,224,96,192,21,20,60,20,255,0,0,252,0,3,255,0, - 15,255,192,30,3,224,56,96,224,113,246,112,115,254,112,231, - 158,56,231,14,56,206,14,56,206,0,56,206,0,56,206,6, - 56,231,15,120,231,254,112,115,252,240,120,241,224,62,7,192, - 31,255,0,7,252,0,11,14,28,20,4,6,31,0,127,128, - 97,128,1,128,63,128,127,128,225,128,193,128,195,128,255,224, - 125,224,0,0,255,224,255,224,15,14,28,20,1,0,3,6, - 7,14,14,28,28,56,56,112,112,224,225,192,225,192,112,224, - 56,112,28,56,14,28,7,14,3,6,16,8,16,20,2,5, - 255,255,255,255,255,255,0,7,0,7,0,7,0,7,0,7, - 15,3,6,20,2,8,255,254,255,254,255,254,21,20,60,20, - 255,0,1,248,0,7,254,0,31,255,128,60,3,192,59,241, - 224,115,252,224,115,254,240,227,158,112,227,142,120,227,142,56, - 227,254,56,227,252,56,227,184,56,243,188,120,115,158,112,123, - 143,240,60,3,224,31,255,192,15,255,0,3,252,0,10,2, - 4,20,5,17,255,192,255,192,9,9,18,20,5,11,28,0, - 119,0,193,128,128,128,128,128,128,128,193,128,119,0,28,0, - 17,18,54,20,1,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, - 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,8,14,14,20, - 5,7,60,126,231,195,3,7,14,12,24,56,112,225,255,255, - 9,14,28,20,5,7,62,0,127,0,99,0,3,0,7,0, - 30,0,31,0,3,128,1,128,1,128,193,128,227,0,127,0, - 60,0,8,6,6,20,6,15,6,15,62,120,224,64,18,22, - 66,20,1,249,252,63,0,252,63,0,252,63,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,15,0,30,31,0,31,255,192,31,247,192,29,231, - 192,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,15,24,48,20,2,253,15,254,63,254, - 123,24,243,24,227,24,227,24,227,24,227,24,227,24,115,24, - 63,24,31,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,31,62,31,62,31,62,5,4,4,20, - 7,8,112,248,248,112,5,7,7,20,6,250,48,48,48,24, - 248,248,112,8,13,13,20,6,7,56,248,216,24,24,24,24, - 24,24,24,24,255,255,11,14,28,20,4,6,14,0,63,128, - 113,192,224,224,192,96,192,96,192,96,224,224,113,192,63,128, - 14,0,0,0,255,224,255,224,15,14,28,20,2,0,193,128, - 225,192,112,224,56,112,28,56,14,28,7,14,7,14,14,28, - 28,56,56,112,112,224,225,192,193,128,19,20,60,20,0,0, - 56,0,0,248,0,0,216,0,128,24,1,192,24,1,128,24, - 3,0,24,6,0,24,12,0,24,28,192,24,25,192,255,51, - 192,255,114,192,0,102,192,0,206,192,1,140,192,3,159,224, - 7,31,224,2,0,192,0,1,224,0,1,224,19,20,60,20, - 0,0,56,0,0,248,0,0,216,2,0,24,7,0,24,14, - 0,24,12,0,24,24,0,24,56,0,24,112,0,24,103,128, - 254,239,192,255,220,224,1,152,96,3,0,224,7,1,192,14, - 7,128,4,14,0,0,28,96,0,31,224,0,31,224,19,21, - 63,20,0,0,62,0,0,127,0,0,99,0,0,3,1,0, - 3,3,128,30,7,0,31,6,0,3,142,0,1,156,0,195, - 152,192,227,49,192,127,115,192,28,98,192,0,198,192,1,206, - 192,3,140,192,7,31,224,2,31,224,0,0,192,0,3,224, - 0,3,224,13,21,42,20,3,250,7,0,15,128,15,128,7, - 0,0,0,0,0,0,0,7,0,7,0,7,0,31,0,63, - 0,124,0,240,0,224,0,224,56,224,56,240,56,127,248,63, - 248,31,224,21,26,78,20,255,0,3,0,0,7,128,0,1, - 224,0,0,240,0,0,48,0,0,0,0,31,240,0,31,248, - 0,31,248,0,1,252,0,1,220,0,1,220,0,3,222,0, - 3,142,0,3,142,0,7,7,0,7,7,0,7,7,0,15, - 255,128,15,255,128,31,255,192,28,1,192,28,1,192,255,143, - 248,255,143,248,255,143,248,21,26,78,20,255,0,0,3,0, - 0,15,0,0,30,0,0,120,0,0,96,0,0,0,0,31, - 240,0,31,248,0,31,248,0,1,252,0,1,220,0,1,220, - 0,3,222,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,21,26,78,20,255, - 0,0,64,0,0,224,0,3,184,0,7,28,0,14,14,0, - 0,0,0,31,240,0,31,248,0,31,248,0,1,252,0,1, - 220,0,1,220,0,3,222,0,3,142,0,3,142,0,7,7, - 0,7,7,0,7,7,0,15,255,128,15,255,128,31,255,192, - 28,1,192,28,1,192,255,143,248,255,143,248,255,143,248,21, - 25,75,20,255,0,3,134,0,7,230,0,6,118,0,6,28, - 0,0,0,0,31,240,0,31,248,0,31,248,0,1,252,0, - 1,220,0,1,220,0,3,222,0,3,142,0,3,142,0,7, - 7,0,7,7,0,7,7,0,15,255,128,15,255,128,31,255, - 192,28,1,192,28,1,192,255,143,248,255,143,248,255,143,248, - 21,25,75,20,255,0,12,24,0,30,60,0,30,60,0,12, - 24,0,0,0,0,31,240,0,31,248,0,31,248,0,1,252, - 0,1,220,0,1,220,0,3,222,0,3,142,0,3,142,0, - 7,7,0,7,7,0,7,7,0,15,255,128,15,255,128,31, - 255,192,28,1,192,28,1,192,255,143,248,255,143,248,255,143, - 248,21,26,78,20,255,0,0,240,0,1,152,0,1,8,0, - 1,152,0,0,240,0,0,0,0,31,240,0,31,248,0,31, - 248,0,1,252,0,1,220,0,1,220,0,3,222,0,3,142, - 0,3,142,0,7,7,0,7,7,0,7,7,0,15,255,128, - 15,255,128,31,255,192,28,1,192,28,1,192,255,143,248,255, - 143,248,255,143,248,20,20,60,20,0,0,31,255,224,31,255, - 224,31,255,224,7,112,224,7,112,224,6,112,224,14,112,224, - 14,115,0,14,115,0,14,127,0,28,127,0,28,115,0,31, - 243,0,31,243,0,56,112,112,56,112,112,56,112,112,255,255, - 240,255,255,240,255,255,240,17,26,78,20,1,250,3,227,0, - 15,255,0,31,255,0,62,31,0,120,15,0,112,7,0,240, - 7,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,240,0,0,112,1,0,120,3,128,62,15,128, - 63,255,0,15,254,0,3,248,0,0,192,0,0,192,0,0, - 224,0,4,112,0,7,240,0,3,224,0,17,26,78,20,1, - 0,3,0,0,7,128,0,1,224,0,0,240,0,0,48,0, - 0,0,0,255,255,0,255,255,0,255,255,0,28,7,0,28, - 7,0,28,7,0,28,119,0,28,112,0,31,240,0,31,240, - 0,31,240,0,28,112,0,28,112,0,28,3,128,28,3,128, - 28,3,128,28,3,128,255,255,128,255,255,128,255,255,128,17, - 26,78,20,1,0,0,12,0,0,60,0,0,120,0,1,224, - 0,1,128,0,0,0,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,26,78,20,1,0,0,128,0,1,192,0,7, - 112,0,14,56,0,28,28,0,0,0,0,255,255,0,255,255, - 0,255,255,0,28,7,0,28,7,0,28,7,0,28,119,0, - 28,112,0,31,240,0,31,240,0,31,240,0,28,112,0,28, - 112,0,28,3,128,28,3,128,28,3,128,28,3,128,255,255, - 128,255,255,128,255,255,128,17,25,75,20,1,0,6,12,0, - 15,30,0,15,30,0,6,12,0,0,0,0,255,255,0,255, - 255,0,255,255,0,28,7,0,28,7,0,28,7,0,28,119, - 0,28,112,0,31,240,0,31,240,0,31,240,0,28,112,0, - 28,112,0,28,3,128,28,3,128,28,3,128,28,3,128,255, - 255,128,255,255,128,255,255,128,13,26,52,20,3,0,24,0, - 60,0,15,0,7,128,1,128,0,0,255,248,255,248,255,248, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,13,26,52,20,3,0,0,48,0,240,1,224,7,128, - 6,0,0,0,255,248,255,248,255,248,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,255,248,255,248,255,248,13,26,52,20, - 3,0,2,0,7,0,29,192,56,224,112,112,0,0,255,248, - 255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 255,248,255,248,255,248,13,25,50,20,3,0,48,96,120,240, - 120,240,48,96,0,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,17,20, - 60,20,2,0,255,224,0,255,248,0,255,252,0,56,62,0, - 56,15,0,56,7,0,56,7,0,56,3,128,255,131,128,255, - 131,128,255,131,128,56,3,128,56,3,128,56,3,128,56,7, - 0,56,7,0,56,30,0,255,254,0,255,252,0,255,240,0, - 20,25,75,20,255,0,3,134,0,7,230,0,6,118,0,6, - 28,0,0,0,0,252,31,240,254,31,240,255,31,240,31,1, - 192,31,129,192,31,129,192,29,193,192,29,225,192,28,225,192, - 28,241,192,28,121,192,28,57,192,28,61,192,28,29,192,28, - 15,192,28,15,192,28,7,192,127,199,192,127,195,192,127,193, - 192,17,26,78,20,1,0,6,0,0,15,0,0,3,192,0, - 1,224,0,0,96,0,0,0,0,7,240,0,15,252,0,31, - 252,0,60,30,0,120,15,0,112,7,0,112,7,0,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 112,7,0,120,7,0,56,14,0,62,62,0,31,252,0,15, - 248,0,3,224,0,17,26,78,20,1,0,0,24,0,0,120, - 0,0,240,0,3,192,0,3,0,0,0,0,0,7,240,0, - 15,252,0,31,252,0,60,30,0,120,15,0,112,7,0,112, - 7,0,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,112,7,0,120,7,0,56,14,0,62,62,0, - 31,252,0,15,248,0,3,224,0,17,26,78,20,1,0,0, - 128,0,1,192,0,7,112,0,14,56,0,28,28,0,0,0, - 0,7,240,0,15,252,0,31,252,0,60,30,0,120,15,0, - 112,7,0,112,7,0,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,112,7,0,120,7,0,56,14, - 0,62,62,0,31,252,0,15,248,0,3,224,0,17,25,75, - 20,1,0,7,12,0,15,204,0,12,236,0,12,56,0,0, - 0,0,7,240,0,15,252,0,31,252,0,60,30,0,120,15, - 0,112,7,0,112,7,0,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,112,7,0,120,7,0,56, - 14,0,62,62,0,31,252,0,15,248,0,3,224,0,17,25, - 75,20,1,0,12,24,0,30,60,0,30,60,0,12,24,0, - 0,0,0,7,240,0,15,252,0,31,252,0,60,30,0,120, - 15,0,112,7,0,112,7,0,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,112,7,0,120,7,0, - 56,14,0,62,62,0,31,252,0,15,248,0,3,224,0,15, - 16,32,20,2,0,224,14,240,30,248,62,120,60,60,120,30, - 240,15,224,7,192,7,192,15,224,30,240,60,120,120,60,248, - 62,240,30,224,14,17,23,69,20,1,254,0,3,128,3,227, - 128,15,255,128,31,255,0,62,62,0,56,30,0,120,63,0, - 112,127,0,224,123,128,224,243,128,225,227,128,225,195,128,227, - 195,128,231,131,128,255,7,128,126,7,0,126,15,0,60,30, - 0,127,252,0,127,248,0,247,240,0,224,0,0,224,0,0, - 19,26,78,20,0,0,3,0,0,7,128,0,1,224,0,0, - 240,0,0,48,0,0,0,0,255,31,224,255,31,224,255,31, - 224,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,28,7,128,31,31,0,15,254,0,7,252, - 0,1,248,0,19,26,78,20,0,0,0,28,0,0,60,0, - 0,240,0,1,224,0,1,128,0,0,0,0,255,31,224,255, - 31,224,255,31,224,56,3,128,56,3,128,56,3,128,56,3, - 128,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,28,7,128,31,31,0,15, - 254,0,7,252,0,1,248,0,19,26,78,20,0,0,0,64, - 0,0,224,0,3,184,0,7,28,0,14,14,0,0,0,0, - 255,31,224,255,31,224,255,31,224,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, - 128,56,3,128,56,3,128,56,3,128,56,3,128,28,7,128, - 31,31,0,15,254,0,7,252,0,1,248,0,19,26,78,20, - 0,0,6,12,0,15,30,0,15,30,0,6,12,0,0,0, - 0,0,0,0,255,191,224,255,191,224,255,191,224,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, - 128,28,7,128,31,31,0,15,254,0,7,252,0,1,248,0, - 17,26,78,20,1,0,0,24,0,0,120,0,0,240,0,3, - 192,0,3,0,0,0,0,0,254,63,128,254,63,128,254,63, - 128,60,30,0,28,28,0,30,60,0,14,56,0,15,120,0, - 7,240,0,3,224,0,3,224,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,31,252,0,31,252, - 0,31,252,0,18,20,60,20,1,0,255,128,0,255,128,0, - 255,128,0,28,0,0,31,248,0,31,254,0,31,255,0,28, - 15,128,28,3,128,28,3,192,28,3,192,28,3,128,28,15, - 128,31,255,0,31,254,0,31,248,0,28,0,0,255,128,0, - 255,128,0,255,128,0,17,22,66,20,0,255,3,224,0,7, - 240,0,15,248,0,30,60,0,28,28,0,28,28,0,28,28, - 0,28,60,0,29,248,0,29,248,0,29,254,0,28,31,0, - 28,15,0,28,7,128,28,3,128,28,3,128,29,195,128,29, - 195,128,255,255,0,254,255,0,254,126,0,0,24,0,17,22, - 66,20,2,0,24,0,0,60,0,0,15,0,0,7,128,0, - 1,128,0,0,0,0,0,0,0,15,224,0,63,240,0,63, - 248,0,56,60,0,0,28,0,0,28,0,15,252,0,63,252, - 0,127,252,0,120,28,0,240,28,0,224,124,0,255,255,128, - 127,255,128,63,159,128,17,22,66,20,2,0,0,32,0,0, - 112,0,0,240,0,3,192,0,7,128,0,6,0,0,0,0, - 0,15,224,0,63,240,0,63,248,0,56,60,0,0,28,0, - 0,28,0,15,252,0,63,252,0,127,252,0,120,28,0,224, - 60,0,224,124,0,255,255,128,127,223,128,63,159,128,17,22, - 66,20,1,0,0,128,0,1,192,0,7,112,0,14,56,0, - 28,28,0,0,0,0,0,0,0,7,224,0,63,240,0,63, - 248,0,60,60,0,0,28,0,0,28,0,15,252,0,63,252, - 0,127,252,0,120,28,0,240,28,0,224,60,0,255,255,128, - 127,255,128,63,159,128,17,21,63,20,1,0,14,24,0,31, - 152,0,25,248,0,24,112,0,0,0,0,0,0,0,15,224, - 0,63,240,0,63,248,0,56,60,0,0,28,0,0,28,0, - 15,252,0,63,252,0,127,252,0,120,28,0,240,28,0,224, - 124,0,255,255,128,127,223,128,63,159,128,17,21,63,20,2, - 0,12,24,0,30,60,0,30,60,0,12,24,0,0,0,0, - 0,0,0,15,224,0,63,240,0,63,248,0,56,60,0,0, - 28,0,0,28,0,15,252,0,63,252,0,127,252,0,120,28, - 0,240,28,0,224,124,0,255,255,128,127,223,128,63,159,128, - 17,21,63,20,1,0,3,192,0,6,96,0,4,32,0,6, - 96,0,3,192,0,0,0,0,15,224,0,63,240,0,63,248, - 0,56,60,0,0,28,0,0,28,0,15,252,0,63,252,0, - 127,252,0,120,28,0,240,28,0,224,124,0,255,255,128,127, - 223,128,63,159,128,20,15,45,20,255,0,15,135,0,63,255, - 192,63,255,192,56,253,224,0,112,112,3,240,112,31,255,240, - 127,255,240,255,255,240,240,112,0,224,120,0,241,248,112,127, - 255,240,63,255,240,31,39,128,16,21,42,20,2,250,7,230, - 31,254,63,254,124,62,112,14,240,14,224,14,224,0,224,0, - 224,0,240,6,124,15,63,254,31,252,7,240,1,128,1,128, - 1,192,8,224,15,192,3,128,16,21,42,20,1,0,6,0, - 15,0,3,192,1,224,0,96,0,0,7,224,31,248,63,252, - 124,62,112,14,240,15,255,255,255,255,255,255,224,0,112,0, - 124,15,63,255,31,254,7,240,16,22,44,20,1,0,0,16, - 0,56,0,120,1,224,3,192,3,0,0,0,7,224,31,248, - 63,252,124,62,112,14,240,15,255,255,255,255,255,255,224,0, - 112,0,124,14,63,255,31,254,7,240,16,22,44,20,1,0, - 0,128,1,192,7,112,14,56,28,28,0,0,0,0,7,224, - 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, - 224,0,112,0,124,31,63,255,31,255,7,240,16,21,42,20, - 1,0,12,24,30,60,30,60,12,24,0,0,0,0,7,224, - 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, - 224,0,112,0,124,31,63,255,31,255,7,240,15,22,44,20, - 2,0,24,0,60,0,15,0,7,128,1,128,0,0,0,0, - 127,128,127,128,127,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,254,255,254,255,254,15,23, - 46,20,2,0,0,128,1,192,3,192,15,0,30,0,24,0, - 0,0,0,0,127,128,127,128,127,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, - 255,254,15,22,44,20,2,0,2,0,7,0,29,192,56,224, - 112,112,0,0,0,0,127,128,127,128,127,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, - 255,254,255,254,15,21,42,20,2,0,48,96,120,240,120,240, - 48,96,0,0,0,0,127,128,127,128,127,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, - 255,254,255,254,16,21,42,20,2,0,126,14,255,191,255,252, - 3,240,15,240,127,248,124,56,112,60,7,220,31,254,127,254, - 120,30,240,15,224,7,224,7,224,15,240,15,248,62,127,252, - 63,248,31,224,17,21,63,20,1,0,14,24,0,31,152,0, - 25,248,0,24,112,0,0,0,0,0,0,0,249,240,0,251, - 252,0,255,254,0,60,30,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,254,63,128,254,63,128,17,21,63,20,1,0,6, - 0,0,15,0,0,3,192,0,1,224,0,0,96,0,0,0, - 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, - 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, - 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,22, - 66,20,1,0,0,16,0,0,56,0,0,120,0,1,224,0, - 3,192,0,3,0,0,0,0,0,7,240,0,15,248,0,63, - 254,0,60,30,0,120,15,0,240,7,128,224,3,128,224,3, - 128,224,3,128,240,7,128,120,15,0,124,31,0,63,254,0, - 31,252,0,7,240,0,17,22,66,20,1,0,0,128,0,1, - 192,0,7,112,0,14,56,0,28,28,0,0,0,0,0,0, - 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, - 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, - 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,21, - 63,20,1,0,7,12,0,15,204,0,12,252,0,12,56,0, - 0,0,0,0,0,0,7,240,0,15,248,0,63,254,0,60, - 30,0,120,15,0,240,7,128,224,3,128,224,3,128,224,3, - 128,240,7,128,120,15,0,124,31,0,63,254,0,31,252,0, - 7,240,0,17,21,63,20,1,0,12,24,0,30,60,0,30, - 60,0,12,24,0,0,0,0,0,0,0,7,240,0,15,248, - 0,63,254,0,60,30,0,120,15,0,240,7,128,224,3,128, - 224,3,128,224,3,128,240,7,128,120,15,0,124,31,0,63, - 254,0,31,252,0,7,240,0,15,15,30,20,2,2,3,128, - 7,192,7,192,3,128,0,0,0,0,255,254,255,254,255,254, - 0,0,0,0,3,128,7,192,7,192,3,128,17,18,54,20, - 1,254,0,3,128,3,227,128,15,255,128,63,255,0,62,62, - 0,120,63,0,112,127,0,224,243,128,225,227,128,227,195,128, - 231,131,128,127,7,0,126,31,0,63,254,0,127,252,0,247, - 240,0,224,0,0,224,0,0,18,22,66,20,0,0,3,0, - 0,7,128,0,1,224,0,0,240,0,0,48,0,0,0,0, - 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, - 18,22,66,20,0,0,0,8,0,0,28,0,0,60,0,0, - 240,0,1,224,0,1,128,0,0,0,0,252,63,0,252,63, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,15,0,28,31,0,31, - 255,192,15,247,192,7,231,192,18,22,66,20,0,0,0,128, - 0,1,192,0,7,112,0,14,56,0,28,28,0,0,0,0, - 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, - 18,21,63,20,0,0,12,24,0,30,60,0,30,60,0,12, - 24,0,0,0,0,0,0,0,252,63,0,252,63,0,252,63, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,15,0,28,31,0,31,255,192,15, - 247,192,7,231,192,17,29,87,20,1,249,0,16,0,0,56, - 0,0,120,0,1,224,0,3,192,0,3,0,0,0,0,0, - 254,63,128,254,63,128,254,63,128,120,15,0,56,14,0,60, - 30,0,28,28,0,30,60,0,14,56,0,15,120,0,7,112, - 0,7,240,0,3,224,0,3,224,0,1,192,0,1,192,0, - 3,128,0,3,128,0,7,0,0,255,224,0,255,224,0,255, - 224,0,19,28,84,20,0,249,252,0,0,252,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,252,0,31,255,0, - 31,255,128,31,135,192,31,3,192,30,1,224,28,0,224,28, - 0,224,28,0,224,30,1,224,30,1,192,31,135,192,31,255, - 128,31,255,0,28,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,255,192,0,255,192,0,255,192,0,17,28,84,20, - 1,249,6,12,0,15,30,0,15,30,0,6,12,0,0,0, - 0,0,0,0,254,63,128,254,63,128,254,63,128,120,15,0, - 56,14,0,60,30,0,28,28,0,30,60,0,14,56,0,15, - 120,0,7,112,0,7,240,0,3,224,0,3,224,0,1,192, - 0,1,192,0,3,128,0,3,128,0,7,0,0,255,224,0, - 255,224,0,255,224,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 20, '1' Height: 21 - Calculated Max Values w=21 h=28 x= 8 y=16 dx=20 dy= 0 ascent=23 len=75 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24r[4775] U8G_SECTION(".progmem.u8g_font_courB24r") = { - 0,30,44,249,245,20,5,57,12,115,32,127,249,23,249,21, - 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, - 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, - 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, - 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, - 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, - 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, - 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, - 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, - 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, - 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, - 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, - 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, - 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, - 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, - 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, - 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, - 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, - 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, - 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, - 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, - 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, - 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, - 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, - 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, - 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, - 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, - 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, - 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, - 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, - 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, - 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, - 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, - 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, - 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, - 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, - 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, - 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, - 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, - 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, - 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, - 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, - 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, - 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, - 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, - 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, - 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, - 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, - 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, - 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, - 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, - 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, - 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, - 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, - 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, - 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, - 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, - 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, - 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, - 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, - 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, - 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, - 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, - 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, - 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, - 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, - 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, - 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, - 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, - 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, - 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, - 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, - 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, - 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, - 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, - 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, - 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, - 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, - 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, - 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, - 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, - 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, - 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, - 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, - 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, - 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, - 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, - 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, - 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, - 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, - 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, - 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, - 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, - 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, - 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, - 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, - 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, - 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, - 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, - 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, - 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, - 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, - 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, - 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, - 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, - 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, - 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, - 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, - 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, - 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, - 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, - 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, - 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, - 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, - 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, - 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, - 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, - 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, - 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, - 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, - 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, - 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, - 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, - 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, - 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, - 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, - 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, - 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, - 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, - 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, - 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, - 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, - 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, - 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, - 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, - 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, - 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, - 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, - 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, - 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, - 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, - 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, - 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, - 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, - 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, - 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, - 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, - 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, - 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, - 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, - 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, - 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, - 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, - 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, - 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, - 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, - 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, - 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, - 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, - 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, - 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, - 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, - 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, - 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, - 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, - 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, - 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, - 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, - 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, - 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, - 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, - 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, - 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, - 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, - 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, - 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, - 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, - 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, - 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, - 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, - 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, - 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, - 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, - 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, - 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, - 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, - 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, - 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, - 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, - 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, - 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, - 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, - 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, - 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, - 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, - 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, - 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, - 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, - 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, - 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, - 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, - 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, - 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, - 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, - 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, - 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, - 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, - 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, - 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, - 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, - 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, - 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, - 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, - 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, - 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, - 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, - 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, - 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, - 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, - 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, - 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, - 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, - 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, - 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, - 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, - 227,252,225,248,0,96,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=17 h=27 x= 7 y= 8 dx=20 dy= 0 ascent=23 len=54 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =23 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24n[686] U8G_SECTION(".progmem.u8g_font_courB24n") = { - 0,30,44,249,245,21,0,0,0,0,42,57,0,23,251,21, - 0,15,14,28,20,3,7,3,128,3,128,3,128,3,128,99, - 140,251,190,127,252,31,240,15,224,15,224,30,240,60,120,120, - 60,48,24,17,17,51,20,1,1,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,255,255, - 128,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,7,10,10,20, - 5,251,30,30,60,60,56,112,112,224,224,192,15,3,6,20, - 2,8,255,254,255,254,255,254,5,4,4,20,7,0,112,248, - 248,112,13,27,54,20,3,252,0,56,0,56,0,120,0,112, - 0,112,0,224,0,224,1,224,1,192,1,192,3,128,3,128, - 7,128,7,0,15,0,14,0,14,0,28,0,28,0,60,0, - 56,0,56,0,112,0,112,0,240,0,224,0,224,0,13,21, - 42,20,3,0,15,128,63,224,127,240,112,112,240,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,240,120,112,112,127,240,63,224,15,128,13,21, - 42,20,4,0,3,0,15,0,127,0,255,0,255,0,103,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,14,21, - 42,20,2,0,7,192,31,240,63,248,120,60,112,28,112,28, - 112,28,0,28,0,56,0,120,0,240,1,224,3,192,7,128, - 15,0,30,0,60,0,120,0,255,252,255,252,255,252,15,21, - 42,20,2,0,7,224,31,240,127,248,120,60,112,28,0,28, - 0,28,0,60,7,248,7,240,7,248,0,124,0,28,0,14, - 0,14,0,14,0,30,224,60,255,252,255,248,63,224,14,21, - 42,20,2,0,0,240,1,240,1,240,3,240,7,240,7,112, - 15,112,14,112,30,112,28,112,56,112,120,112,112,112,255,252, - 255,252,255,252,0,112,0,112,3,252,3,252,3,252,15,21, - 42,20,2,0,63,252,63,252,63,252,56,0,56,0,56,0, - 56,0,63,224,63,248,63,252,56,124,0,30,0,14,0,14, - 0,14,0,14,64,30,240,60,255,248,127,248,31,224,14,21, - 42,20,3,0,1,248,7,248,15,248,31,0,60,0,120,0, - 112,0,112,0,227,192,239,240,255,240,248,120,240,60,224,28, - 224,28,240,28,112,60,120,120,127,248,63,240,15,192,14,21, - 42,20,2,0,255,252,255,252,255,252,224,60,224,56,224,56, - 0,56,0,120,0,112,0,112,0,240,0,224,0,224,1,224, - 1,192,1,192,3,192,3,128,7,128,7,0,7,0,14,21, - 42,20,3,0,15,128,63,224,127,240,112,112,224,56,224,56, - 224,56,112,112,127,240,63,224,63,240,124,248,240,60,224,28, - 224,28,224,28,224,28,248,124,127,248,63,240,15,192,14,21, - 42,20,3,0,15,128,63,224,127,240,120,240,240,120,224,56, - 224,60,224,60,224,60,240,124,120,252,63,220,63,156,15,60, - 0,56,0,120,0,112,97,240,255,224,255,128,126,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 6 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w=10 h=16 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR08[2433] U8G_SECTION(".progmem.u8g_font_courR08") = { - 0,10,16,254,252,6,1,151,3,21,32,255,254,9,254,7, - 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, - 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, - 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, - 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, - 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, - 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, - 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, - 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, - 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, - 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, - 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, - 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, - 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, - 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, - 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, - 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, - 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, - 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, - 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, - 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, - 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, - 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, - 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, - 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, - 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, - 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, - 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, - 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, - 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, - 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, - 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, - 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, - 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, - 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, - 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, - 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, - 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, - 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, - 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, - 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, - 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, - 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, - 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, - 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, - 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, - 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, - 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, - 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, - 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, - 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, - 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, - 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, - 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, - 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, - 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, - 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, - 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, - 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, - 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, - 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, - 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, - 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, - 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, - 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, - 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, - 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, - 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, - 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, - 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, - 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, - 6,2,254,128,64,64,64,32,64,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,1,1,7,7,6,2, - 254,128,0,128,128,128,128,128,4,8,8,6,1,255,32,32, - 112,128,128,112,32,32,6,7,7,6,0,0,56,64,248,32, - 32,68,252,5,5,5,6,0,1,136,112,80,112,136,5,7, - 7,6,0,0,136,80,248,32,248,32,112,1,9,9,6,2, - 254,128,128,128,0,0,128,128,128,128,4,8,8,6,1,255, - 112,128,96,144,144,96,16,224,3,1,1,6,2,5,160,6, - 7,7,6,0,0,48,72,180,164,180,72,48,4,5,5,6, - 1,1,224,16,208,0,240,6,3,3,6,0,1,108,216,108, - 5,3,3,6,0,2,248,8,8,4,1,1,6,1,3,240, - 6,7,7,6,0,0,48,72,188,180,172,72,48,4,1,1, - 6,1,5,240,4,3,3,6,1,4,96,144,96,5,6,6, - 6,0,0,32,32,248,32,0,248,3,4,4,6,2,3,96, - 160,64,224,3,4,4,6,2,3,224,64,32,192,2,2,2, - 6,2,5,64,128,6,7,7,6,0,254,216,72,72,72,116, - 64,64,6,8,8,6,0,255,124,168,168,104,40,40,40,108, - 1,2,2,6,2,2,128,128,3,3,3,6,1,254,64,32, - 192,3,4,4,6,2,3,192,64,64,224,4,5,5,6,1, - 1,96,144,96,0,240,6,3,3,6,1,1,216,108,216,6, - 7,7,6,0,0,192,68,72,244,44,92,132,6,7,7,6, - 0,0,192,68,72,252,52,72,156,6,7,7,6,0,0,224, - 68,40,212,44,92,132,4,7,7,6,0,254,32,0,32,32, - 64,144,96,6,9,9,6,0,0,32,16,0,112,40,72,120, - 72,204,6,9,9,6,0,0,16,32,0,112,40,72,120,72, - 204,6,9,9,6,0,0,32,80,0,112,40,72,120,72,204, - 6,9,9,6,0,0,40,80,0,112,40,72,120,72,204,6, - 8,8,6,0,0,80,0,112,40,72,120,72,204,6,9,9, - 6,0,0,16,40,16,112,40,72,120,72,204,6,6,6,6, - 0,0,124,48,92,112,144,156,4,8,8,6,1,254,96,144, - 128,128,144,96,32,192,5,9,9,6,0,0,32,16,0,248, - 72,112,64,72,248,5,9,9,6,0,0,16,32,0,248,72, - 112,64,72,248,5,9,9,6,0,0,32,80,0,248,72,112, - 64,72,248,5,8,8,6,0,0,80,0,248,72,112,64,72, - 248,5,9,9,6,0,0,64,32,0,248,32,32,32,32,248, - 5,9,9,6,0,0,16,32,0,248,32,32,32,32,248,5, - 9,9,6,0,0,32,80,0,248,32,32,32,32,248,5,8, - 8,6,0,0,80,0,248,32,32,32,32,248,5,6,6,6, - 0,0,240,72,232,72,72,240,6,9,9,6,0,0,40,80, - 0,220,72,104,88,72,200,4,9,9,6,1,0,64,32,0, - 96,144,144,144,144,96,4,9,9,6,1,0,32,64,0,96, - 144,144,144,144,96,4,9,9,6,1,0,32,80,0,96,144, - 144,144,144,96,4,9,9,6,1,0,80,160,0,96,144,144, - 144,144,96,4,8,8,6,1,0,160,0,96,144,144,144,144, - 96,5,5,5,6,0,1,136,80,32,80,136,6,6,6,6, - 0,0,52,72,88,104,72,176,6,9,9,6,0,0,32,16, - 0,204,72,72,72,72,48,6,9,9,6,0,0,16,32,0, - 204,72,72,72,72,48,6,9,9,6,0,0,16,40,0,204, - 72,72,72,72,48,6,8,8,6,0,0,80,0,204,72,72, - 72,72,48,5,9,9,6,0,0,16,32,0,216,136,80,32, - 32,112,5,6,6,6,0,0,192,112,72,112,64,224,6,6, - 6,6,0,0,48,72,88,68,84,200,5,8,8,6,0,0, - 64,32,0,96,16,112,144,104,5,8,8,6,0,0,16,32, - 0,96,16,112,144,104,5,8,8,6,0,0,32,80,0,96, - 16,112,144,104,5,8,8,6,0,0,80,160,0,96,16,112, - 144,104,5,7,7,6,0,0,80,0,96,16,112,144,104,5, - 9,9,6,0,0,32,80,32,0,96,16,112,144,104,6,5, - 5,6,0,0,108,148,124,144,236,4,7,7,6,1,254,96, - 144,128,144,96,32,192,4,8,8,6,1,0,64,32,0,96, - 144,240,128,112,4,8,8,6,1,0,32,64,0,96,144,240, - 128,112,4,8,8,6,1,0,64,160,0,96,144,240,128,112, - 4,7,7,6,1,0,160,0,96,144,240,128,112,5,8,8, - 6,0,0,64,32,0,96,32,32,32,248,5,8,8,6,0, - 0,16,32,0,96,32,32,32,248,5,8,8,6,0,0,32, - 80,0,96,32,32,32,248,5,7,7,6,0,0,80,0,96, - 32,32,32,248,4,8,8,6,1,0,208,96,160,112,144,144, - 144,96,6,8,8,6,0,0,40,80,0,176,72,72,72,236, - 4,8,8,6,1,0,64,32,0,96,144,144,144,96,4,8, - 8,6,1,0,16,32,0,96,144,144,144,96,4,8,8,6, - 1,0,64,160,0,96,144,144,144,96,4,8,8,6,1,0, - 80,160,0,96,144,144,144,96,4,7,7,6,1,0,160,0, - 96,144,144,144,96,5,5,5,6,0,1,32,0,248,0,32, - 6,6,6,6,0,0,4,56,88,104,72,176,6,8,8,6, - 0,0,32,16,0,216,72,72,72,52,6,8,8,6,0,0, - 16,32,0,216,72,72,72,52,6,8,8,6,0,0,32,80, - 0,216,72,72,72,52,6,7,7,6,0,0,80,0,216,72, - 72,72,52,5,10,10,6,0,254,16,32,0,216,72,72,72, - 48,32,192,5,9,9,6,0,254,192,64,112,72,72,72,112, - 64,224,5,9,9,6,0,254,80,0,216,72,72,72,48,32, - 192}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 6 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w=10 h=16 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR08r[1157] U8G_SECTION(".progmem.u8g_font_courR08r") = { - 0,10,16,254,252,6,1,151,3,21,32,127,254,8,254,7, - 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, - 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, - 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, - 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, - 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, - 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, - 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, - 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, - 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, - 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, - 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, - 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, - 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, - 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, - 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, - 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, - 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, - 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, - 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, - 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, - 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, - 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, - 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, - 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, - 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, - 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, - 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, - 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, - 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, - 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, - 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, - 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, - 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, - 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, - 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, - 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, - 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, - 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, - 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, - 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, - 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, - 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, - 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, - 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, - 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, - 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, - 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, - 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, - 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, - 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, - 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, - 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, - 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, - 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, - 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, - 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, - 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, - 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, - 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, - 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, - 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, - 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, - 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, - 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, - 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, - 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, - 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, - 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, - 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, - 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, - 6,2,254,128,64,64,64,32,64,64,64,128,4,2,2,6, - 1,3,80,160,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 4 y= 8 dx= 9 dy= 0 ascent=12 len=24 - Font Bounding box w=14 h=20 x=-3 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR10[3052] U8G_SECTION(".progmem.u8g_font_courR10") = { - 0,14,20,253,251,9,1,224,3,220,32,255,253,12,253,10, - 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, - 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, - 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, - 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, - 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, - 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, - 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, - 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, - 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, - 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, - 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, - 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, - 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, - 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, - 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, - 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, - 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, - 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, - 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, - 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, - 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, - 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, - 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, - 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, - 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, - 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, - 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, - 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, - 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, - 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, - 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, - 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, - 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, - 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, - 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, - 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, - 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, - 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, - 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, - 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, - 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, - 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, - 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, - 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, - 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, - 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, - 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, - 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, - 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, - 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, - 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, - 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, - 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, - 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, - 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, - 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, - 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, - 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, - 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, - 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, - 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, - 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, - 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, - 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, - 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, - 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, - 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, - 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, - 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, - 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, - 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, - 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, - 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, - 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, - 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, - 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, - 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, - 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, - 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, - 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, - 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, - 100,152,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,9,0,1,1,9,9,9,4,254,128, - 128,0,128,128,128,128,128,128,5,9,9,9,2,0,32,32, - 120,136,128,136,112,32,32,7,9,9,9,1,0,24,36,32, - 32,120,32,32,66,252,6,6,6,9,1,1,180,72,132,132, - 72,180,7,9,9,9,1,0,238,68,68,40,124,16,124,16, - 56,1,11,11,9,3,254,128,128,128,128,0,0,128,128,128, - 128,128,6,10,10,9,1,255,60,68,64,240,136,68,60,8, - 136,240,5,1,1,9,2,8,216,8,9,9,9,0,0,60, - 66,153,165,161,165,153,66,60,4,6,6,9,2,3,192,32, - 224,176,0,240,8,7,7,9,0,0,17,34,68,204,68,34, - 17,7,3,3,9,1,3,254,2,2,6,1,1,9,1,4, - 252,8,9,9,9,0,0,60,66,185,165,185,169,165,66,60, - 4,1,1,9,2,8,240,4,4,4,9,2,6,96,144,144, - 96,7,7,7,9,1,1,16,16,254,16,16,0,254,4,6, - 6,9,2,4,96,144,16,32,64,240,4,6,6,9,2,4, - 96,144,96,16,144,96,4,2,2,9,2,8,48,192,8,10, - 10,9,0,253,198,66,66,66,66,70,123,64,64,64,7,10, - 10,9,1,255,126,148,148,148,116,20,20,20,20,62,2,2, - 2,9,3,3,192,192,3,3,3,9,2,253,64,32,224,3, - 6,6,9,3,4,64,192,64,64,64,224,4,6,6,9,2, - 3,96,144,144,96,0,240,8,7,7,9,0,0,136,68,34, - 51,34,68,136,10,10,20,9,255,0,64,0,193,0,66,0, - 68,0,68,128,233,128,18,128,20,128,39,192,64,128,10,10, - 20,9,255,0,64,0,193,0,66,0,68,0,69,128,234,64, - 16,64,16,128,33,0,67,192,10,10,20,9,255,0,96,0, - 145,0,98,0,20,0,148,128,105,128,18,128,20,128,39,192, - 64,128,5,9,9,9,2,254,32,32,0,32,96,128,128,136, - 112,9,12,24,9,0,0,48,0,12,0,0,0,56,0,8, - 0,20,0,20,0,34,0,62,0,65,0,65,0,247,128,9, - 12,24,9,0,0,12,0,48,0,0,0,56,0,8,0,20, - 0,20,0,34,0,62,0,65,0,65,0,247,128,9,12,24, - 9,0,0,8,0,20,0,0,0,56,0,8,0,20,0,20, - 0,34,0,62,0,65,0,65,0,247,128,9,12,24,9,0, - 0,26,0,44,0,0,0,56,0,8,0,20,0,20,0,34, - 0,62,0,65,0,65,0,247,128,9,11,22,9,0,0,54, - 0,0,0,56,0,8,0,20,0,20,0,34,0,62,0,65, - 0,65,0,247,128,9,12,24,9,0,0,24,0,36,0,24, - 0,56,0,8,0,20,0,20,0,34,0,62,0,65,0,65, - 0,247,128,9,9,18,9,255,0,31,128,12,128,20,0,20, - 128,39,128,60,128,68,0,68,128,239,128,7,12,12,9,1, - 253,58,70,130,128,128,128,128,66,60,16,8,56,7,12,12, - 9,1,0,96,24,0,254,66,66,72,120,72,66,66,254,7, - 12,12,9,1,0,12,48,0,254,66,66,72,120,72,66,66, - 254,7,12,12,9,1,0,16,40,0,254,66,66,72,120,72, - 66,66,254,7,11,11,9,1,0,108,0,254,66,66,72,120, - 72,66,66,254,5,12,12,9,2,0,192,48,0,248,32,32, - 32,32,32,32,32,248,5,12,12,9,2,0,24,96,0,248, - 32,32,32,32,32,32,32,248,5,12,12,9,2,0,32,80, - 0,248,32,32,32,32,32,32,32,248,5,11,11,9,2,0, - 216,0,248,32,32,32,32,32,32,32,248,8,9,9,9,0, - 0,252,66,65,65,241,65,65,66,252,8,12,12,9,0,0, - 26,44,0,231,98,82,82,74,74,70,70,226,8,12,12,9, - 0,0,48,12,0,60,66,129,129,129,129,129,66,60,8,12, - 12,9,0,0,12,48,0,60,66,129,129,129,129,129,66,60, - 8,12,12,9,0,0,16,40,0,60,66,129,129,129,129,129, - 66,60,8,12,12,9,0,0,26,44,0,60,66,129,129,129, - 129,129,66,60,8,11,11,9,0,0,102,0,60,66,129,129, - 129,129,129,66,60,7,7,7,9,1,1,130,68,40,16,40, - 68,130,9,9,18,9,255,0,30,128,33,0,66,128,68,128, - 72,128,80,128,32,128,97,0,158,0,8,12,12,9,0,0, - 48,12,0,231,66,66,66,66,66,66,66,60,8,12,12,9, - 0,0,12,48,0,231,66,66,66,66,66,66,66,60,8,12, - 12,9,0,0,16,40,0,231,66,66,66,66,66,66,66,60, - 8,11,11,9,0,0,102,0,231,66,66,66,66,66,66,66, - 60,7,12,12,9,1,0,12,48,0,238,68,68,40,40,16, - 16,16,124,7,9,9,9,0,0,224,64,124,66,66,66,124, - 64,224,7,9,9,9,0,0,56,68,68,88,68,66,66,82, - 204,7,10,10,9,1,0,96,24,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,24,96,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,16,40,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,52,88,0,120,132,4,124,132,140, - 118,7,9,9,9,1,0,108,0,120,132,4,124,132,140,118, - 7,10,10,9,1,0,48,72,48,120,132,4,124,132,140,118, - 8,7,7,9,0,0,118,137,9,127,136,137,118,7,10,10, - 9,1,253,58,70,130,128,128,66,60,16,8,56,7,10,10, - 9,1,0,96,24,0,56,68,130,254,128,66,60,7,10,10, - 9,1,0,12,48,0,56,68,130,254,128,66,60,7,10,10, - 9,1,0,16,40,0,56,68,130,254,128,66,60,7,9,9, - 9,1,0,108,0,56,68,130,254,128,66,60,5,10,10,9, - 2,0,192,48,0,224,32,32,32,32,32,248,5,10,10,9, - 2,0,48,192,0,224,32,32,32,32,32,248,5,10,10,9, - 2,0,32,80,0,224,32,32,32,32,32,248,5,9,9,9, - 2,0,216,0,224,32,32,32,32,32,248,8,12,12,9,0, - 0,2,228,24,40,68,60,66,129,129,129,66,60,8,10,10, - 9,0,0,26,44,0,220,98,66,66,66,66,231,8,10,10, - 9,0,0,48,12,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,12,48,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,16,40,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,26,44,0,60,66,129,129,129,66,60,8,9,9, - 9,0,0,108,0,60,66,129,129,129,66,60,8,7,7,9, - 0,1,24,24,0,255,0,24,24,8,7,7,9,0,0,61, - 70,137,145,161,66,188,8,10,10,9,0,0,48,12,0,198, - 66,66,66,66,70,59,8,10,10,9,0,0,12,48,0,198, - 66,66,66,66,70,59,8,10,10,9,0,0,16,40,0,198, - 66,66,66,66,70,59,8,9,9,9,0,0,108,0,198,66, - 66,66,66,70,59,8,13,13,9,0,253,6,24,0,231,66, - 66,36,36,24,8,16,16,120,8,12,12,9,0,253,192,64, - 92,98,65,65,65,98,92,64,64,240,8,12,12,9,0,253, - 54,0,231,66,66,36,36,24,8,16,16,120}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w= 9 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=11 len=18 - Font Bounding box w=14 h=20 x=-3 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR10r[1443] U8G_SECTION(".progmem.u8g_font_courR10r") = { - 0,14,20,253,251,9,1,224,3,220,32,127,253,11,253,10, - 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, - 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, - 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, - 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, - 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, - 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, - 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, - 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, - 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, - 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, - 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, - 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, - 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, - 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, - 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, - 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, - 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, - 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, - 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, - 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, - 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, - 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, - 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, - 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, - 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, - 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, - 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, - 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, - 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, - 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, - 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, - 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, - 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, - 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, - 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, - 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, - 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, - 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, - 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, - 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, - 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, - 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, - 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, - 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, - 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, - 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, - 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, - 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, - 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, - 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, - 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, - 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, - 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, - 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, - 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, - 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, - 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, - 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, - 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, - 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, - 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, - 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, - 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, - 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, - 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, - 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, - 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, - 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, - 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, - 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, - 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, - 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, - 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, - 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, - 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, - 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, - 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, - 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, - 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, - 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, - 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, - 100,152,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=14 len=28 - Font Bounding box w=15 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR12[3471] U8G_SECTION(".progmem.u8g_font_courR12") = { - 0,15,24,253,250,10,2,12,4,92,32,255,253,14,253,11, - 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, - 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, - 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, - 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, - 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, - 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, - 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, - 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, - 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, - 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, - 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, - 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, - 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, - 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, - 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, - 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, - 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, - 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, - 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, - 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, - 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, - 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, - 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, - 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, - 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, - 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, - 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, - 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, - 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, - 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, - 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, - 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, - 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, - 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, - 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, - 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, - 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, - 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, - 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, - 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, - 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, - 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, - 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, - 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, - 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, - 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, - 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, - 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, - 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, - 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, - 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, - 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, - 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, - 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, - 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, - 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, - 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, - 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, - 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, - 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, - 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, - 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, - 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, - 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, - 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, - 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, - 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, - 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, - 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, - 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, - 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, - 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, - 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, - 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, - 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, - 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, - 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, - 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, - 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, - 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, - 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, - 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, - 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, - 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, - 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, - 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, - 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, - 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, - 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, - 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, - 3,10,1,3,96,146,12,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,10,0,1,1,10, - 10,10,4,253,128,128,0,128,128,128,128,128,128,128,5,10, - 10,10,2,0,32,32,120,136,128,128,136,112,32,32,8,10, - 10,10,1,0,28,34,32,32,248,32,32,32,65,255,7,7, - 7,10,1,1,130,124,68,68,68,124,130,9,10,20,10,0, - 0,227,128,65,0,34,0,34,0,20,0,62,0,8,0,62, - 0,8,0,62,0,1,12,12,10,4,254,128,128,128,128,128, - 0,0,128,128,128,128,128,9,12,24,10,0,255,31,0,33, - 0,33,0,112,0,140,0,131,0,96,128,24,128,7,0,66, - 0,66,0,124,0,4,2,2,10,3,8,144,144,10,10,20, - 10,0,0,30,0,33,0,64,128,142,64,144,64,144,64,142, - 64,64,128,33,0,30,0,5,7,7,10,2,3,112,8,120, - 136,120,0,248,7,7,7,10,1,0,18,36,72,144,72,36, - 18,7,4,4,10,1,2,254,2,2,2,7,1,1,10,1, - 4,254,10,10,20,10,0,0,30,0,33,0,64,128,156,64, - 146,64,156,64,146,64,64,128,33,0,30,0,5,1,1,10, - 2,8,248,5,5,5,10,2,6,112,136,136,136,112,7,9, - 9,10,1,0,16,16,16,254,16,16,16,0,254,4,6,6, - 10,2,5,96,144,32,64,144,240,4,6,6,10,3,5,96, - 144,32,16,144,96,3,3,3,10,4,8,32,64,128,8,10, - 10,10,1,253,198,66,66,66,66,70,123,64,64,64,7,12, - 12,10,1,255,62,84,148,148,148,84,52,20,20,20,20,62, - 2,2,2,10,4,4,192,192,3,4,4,10,3,253,64,64, - 32,224,5,6,6,10,2,5,32,224,32,32,32,248,5,7, - 7,10,2,3,112,136,136,136,112,0,248,7,7,7,10,1, - 0,144,72,36,18,36,72,144,10,11,22,10,0,0,32,0, - 224,64,32,128,33,0,34,0,252,128,9,128,18,128,36,128, - 71,192,0,128,10,11,22,10,0,0,32,0,224,64,32,128, - 33,0,34,0,253,128,10,64,16,128,33,0,66,64,3,192, - 10,11,22,10,0,0,96,0,144,64,32,128,17,0,146,0, - 100,128,9,128,18,128,36,128,71,192,0,128,6,10,10,10, - 1,253,16,16,0,16,16,96,128,132,132,120,9,14,28,10, - 0,0,32,0,16,0,8,0,0,0,120,0,20,0,20,0, - 34,0,34,0,34,0,62,0,65,0,65,0,227,128,9,14, - 28,10,0,0,4,0,8,0,16,0,0,0,120,0,20,0, - 20,0,34,0,34,0,34,0,62,0,65,0,65,0,227,128, - 9,14,28,10,0,0,8,0,20,0,34,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,13,26,10,0,0,50,0,76,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,13,26,10,0,0,36,0,36,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,14,28,10,0,0,24,0,36,0,36,0,24,0, - 120,0,20,0,20,0,34,0,34,0,34,0,62,0,65,0, - 65,0,227,128,9,10,20,10,0,0,127,128,40,128,40,128, - 74,0,78,0,122,0,72,128,136,128,136,128,223,128,8,13, - 13,10,1,253,29,99,65,128,128,128,128,65,99,28,16,8, - 56,7,14,14,10,1,0,32,16,8,0,254,66,66,72,120, - 72,64,66,66,254,7,14,14,10,1,0,4,8,16,0,254, - 66,66,72,120,72,64,66,66,254,7,14,14,10,1,0,16, - 40,68,0,254,66,66,72,120,72,64,66,66,254,7,13,13, - 10,1,0,36,36,0,254,66,66,72,120,72,64,66,66,254, - 7,14,14,10,1,0,32,16,8,0,254,16,16,16,16,16, - 16,16,16,254,7,14,14,10,1,0,8,16,32,0,254,16, - 16,16,16,16,16,16,16,254,7,14,14,10,1,0,16,40, - 68,0,254,16,16,16,16,16,16,16,16,254,7,13,13,10, - 1,0,68,68,0,254,16,16,16,16,16,16,16,16,254,8, - 10,10,10,1,0,248,70,66,65,241,65,65,66,70,248,9, - 13,26,10,0,0,25,0,38,0,0,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,243,0,8, - 14,14,10,1,0,32,16,8,0,60,66,66,129,129,129,129, - 66,66,60,8,14,14,10,1,0,4,8,16,0,60,66,66, - 129,129,129,129,66,66,60,8,14,14,10,1,0,8,20,34, - 0,60,66,66,129,129,129,129,66,66,60,8,13,13,10,1, - 0,50,76,0,60,66,66,129,129,129,129,66,66,60,8,13, - 13,10,1,0,36,36,0,60,66,66,129,129,129,129,66,66, - 60,7,7,7,10,1,1,130,68,40,16,40,68,130,8,10, - 10,10,1,0,61,66,66,133,137,145,161,66,66,188,9,14, - 28,10,0,0,16,0,8,0,4,0,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,14,28,10,0,0,2,0,4,0,8,0,0,0,247,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 28,0,9,14,28,10,0,0,8,0,20,0,34,0,0,0, - 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, - 34,0,28,0,9,13,26,10,0,0,34,0,34,0,0,0, - 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, - 34,0,28,0,9,14,28,10,0,0,2,0,4,0,8,0, - 0,0,227,128,65,0,34,0,34,0,20,0,8,0,8,0, - 8,0,8,0,62,0,8,10,10,10,1,0,224,64,124,66, - 65,66,124,64,64,224,7,11,11,10,1,0,56,68,68,72, - 88,68,66,66,66,82,204,7,11,11,10,1,0,32,16,8, - 0,56,68,4,124,132,132,122,7,11,11,10,1,0,4,8, - 16,0,56,68,4,124,132,132,122,7,11,11,10,1,0,16, - 40,68,0,56,68,4,124,132,132,122,7,10,10,10,1,0, - 50,76,0,56,68,4,124,132,132,122,7,10,10,10,1,0, - 36,36,0,56,68,4,124,132,132,122,7,12,12,10,1,0, - 24,36,36,24,0,56,68,4,124,132,132,122,9,7,14,10, - 0,0,55,0,72,128,8,128,127,128,136,0,136,128,119,0, - 7,10,10,10,1,253,58,70,130,128,128,66,60,16,8,56, - 7,11,11,10,1,0,32,16,8,0,56,68,130,254,128,66, - 60,7,11,11,10,1,0,4,8,16,0,56,68,130,254,128, - 66,60,7,11,11,10,1,0,16,40,68,0,56,68,130,254, - 128,66,60,7,10,10,10,1,0,36,36,0,56,68,130,254, - 128,66,60,7,11,11,10,1,0,32,16,8,0,112,16,16, - 16,16,16,254,7,11,11,10,1,0,8,16,32,0,112,16, - 16,16,16,16,254,7,11,11,10,1,0,16,40,68,0,112, - 16,16,16,16,16,254,7,10,10,10,1,0,72,72,0,112, - 16,16,16,16,16,254,7,11,11,10,1,0,230,24,104,4, - 60,66,130,130,130,68,56,8,10,10,10,1,0,50,76,0, - 220,98,66,66,66,66,231,7,11,11,10,1,0,32,16,8, - 0,56,68,130,130,130,68,56,7,11,11,10,1,0,8,16, - 32,0,56,68,130,130,130,68,56,7,11,11,10,1,0,16, - 40,68,0,56,68,130,130,130,68,56,7,10,10,10,1,0, - 50,76,0,56,68,130,130,130,68,56,7,10,10,10,1,0, - 68,68,0,56,68,130,130,130,68,56,8,7,7,10,1,1, - 24,24,0,255,0,24,24,7,9,9,10,1,255,2,58,68, - 138,146,162,68,184,128,8,11,11,10,1,0,32,16,8,0, - 198,66,66,66,66,70,59,8,11,11,10,1,0,4,8,16, - 0,198,66,66,66,66,70,59,8,11,11,10,1,0,16,40, - 68,0,198,66,66,66,66,70,59,8,10,10,10,1,0,36, - 36,0,198,66,66,66,66,70,59,9,14,28,10,0,253,2, - 0,4,0,8,0,0,0,227,128,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,120,0,8,14,14,10,1, - 253,192,64,64,64,92,98,65,65,65,98,92,64,64,240,9, - 13,26,10,0,253,18,0,18,0,0,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,16,0,120,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=13 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 - Font Bounding box w=15 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR12r[1592] U8G_SECTION(".progmem.u8g_font_courR12r") = { - 0,15,24,253,250,10,2,12,4,92,32,127,253,12,253,11, - 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, - 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, - 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, - 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, - 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, - 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, - 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, - 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, - 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, - 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, - 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, - 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, - 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, - 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, - 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, - 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, - 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, - 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, - 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, - 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, - 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, - 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, - 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, - 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, - 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, - 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, - 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, - 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, - 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, - 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, - 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, - 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, - 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, - 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, - 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, - 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, - 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, - 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, - 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, - 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, - 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, - 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, - 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, - 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, - 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, - 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, - 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, - 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, - 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, - 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, - 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, - 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, - 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, - 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, - 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, - 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, - 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, - 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, - 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, - 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, - 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, - 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, - 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, - 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, - 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, - 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, - 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, - 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, - 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, - 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, - 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, - 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, - 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, - 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, - 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, - 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, - 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, - 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, - 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, - 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, - 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, - 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, - 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, - 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, - 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, - 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, - 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, - 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, - 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, - 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, - 3,10,1,3,96,146,12,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=11 h=16 x= 5 y=10 dx=11 dy= 0 ascent=15 len=32 - Font Bounding box w=16 h=26 x=-3 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR14[4276] U8G_SECTION(".progmem.u8g_font_courR14") = { - 0,16,26,253,249,11,2,74,5,74,32,255,252,15,252,12, - 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, - 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, - 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, - 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, - 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, - 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, - 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, - 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, - 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, - 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, - 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, - 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, - 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, - 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, - 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, - 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, - 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, - 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, - 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, - 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, - 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, - 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, - 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, - 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, - 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, - 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, - 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, - 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, - 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, - 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, - 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, - 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, - 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, - 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, - 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, - 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, - 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, - 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, - 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, - 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, - 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, - 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, - 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, - 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, - 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, - 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, - 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, - 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, - 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, - 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, - 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, - 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, - 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, - 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, - 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, - 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, - 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, - 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, - 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, - 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, - 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, - 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, - 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, - 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, - 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, - 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, - 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, - 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, - 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, - 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, - 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, - 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, - 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, - 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, - 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, - 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, - 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, - 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, - 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, - 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, - 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, - 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, - 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, - 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, - 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, - 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, - 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, - 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, - 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, - 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, - 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, - 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, - 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, - 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, - 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, - 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, - 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, - 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, - 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, - 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, - 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, - 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, - 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, - 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, - 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, - 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, - 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, - 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, - 96,153,6,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,11,0,1,2,12,12,11,4,252, - 192,192,0,0,128,128,192,192,192,192,192,192,6,12,12,11, - 2,0,16,16,16,60,68,132,128,128,68,56,16,16,8,11, - 11,11,2,0,28,34,32,32,16,252,16,32,33,65,126,6, - 7,7,11,2,2,132,120,132,132,132,120,132,9,11,22,11, - 1,0,227,128,65,0,34,0,34,0,20,0,20,0,127,0, - 8,0,127,0,8,0,62,0,1,15,15,11,5,253,128,128, - 128,128,128,128,0,0,0,128,128,128,128,128,128,7,14,14, - 11,2,254,62,66,66,64,112,140,130,98,28,6,130,130,132, - 252,4,2,2,11,3,10,144,144,11,11,22,11,0,0,31, - 0,96,192,79,64,145,32,160,32,160,32,160,32,145,32,78, - 64,96,192,31,0,6,8,8,11,2,3,112,8,120,136,152, - 236,0,252,10,8,16,11,1,0,24,192,49,128,99,0,198, - 0,198,0,99,0,49,128,24,192,9,4,8,11,1,3,255, - 128,0,128,0,128,0,128,8,1,1,11,1,5,255,11,11, - 22,11,0,0,31,0,96,192,94,64,145,32,145,32,158,32, - 148,32,146,32,81,64,96,128,31,0,5,1,1,11,3,10, - 248,5,5,5,11,3,6,112,136,136,136,112,9,9,18,11, - 1,1,8,0,8,0,8,0,255,128,8,0,8,0,8,0, - 0,0,255,128,5,7,7,11,3,5,112,136,8,16,32,64, - 248,5,7,7,11,3,5,112,136,8,48,8,136,112,3,3, - 3,11,4,9,32,64,128,9,12,24,11,1,252,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,125,128,64,0,64, - 0,64,0,64,0,8,14,14,11,1,254,63,74,138,138,138, - 74,58,10,10,10,10,10,10,59,2,2,2,11,4,5,192, - 192,3,3,3,11,4,253,64,32,192,5,7,7,11,3,5, - 32,224,32,32,32,32,248,6,8,8,11,2,3,120,132,132, - 132,132,120,0,252,10,8,16,11,0,0,198,0,99,0,49, - 128,24,192,24,192,49,128,99,0,198,0,11,12,24,11,0, - 0,32,0,224,64,32,128,33,0,33,0,34,64,252,192,9, - 64,10,64,19,224,32,64,0,224,11,12,24,11,0,0,32, - 0,224,64,32,128,33,0,33,0,34,192,253,32,8,32,8, - 64,16,128,33,0,3,224,11,12,24,11,0,0,112,0,136, - 64,8,128,49,0,9,0,138,64,116,192,9,64,10,64,19, - 224,32,64,0,224,6,11,11,11,2,253,24,24,0,16,16, - 112,128,128,132,132,120,11,15,30,11,0,0,16,0,8,0, - 4,0,0,0,60,0,4,0,10,0,10,0,17,0,17,0, - 32,128,63,128,64,64,64,64,241,224,11,15,30,11,0,0, - 1,0,2,0,4,0,0,0,60,0,4,0,10,0,10,0, - 17,0,17,0,32,128,63,128,64,64,64,64,241,224,11,15, - 30,11,0,0,12,0,18,0,33,0,0,0,60,0,4,0, - 10,0,10,0,17,0,17,0,32,128,63,128,64,64,64,64, - 241,224,11,14,28,11,0,0,25,0,38,0,0,0,60,0, - 4,0,10,0,10,0,17,0,17,0,32,128,63,128,64,64, - 64,64,241,224,11,14,28,11,0,0,18,0,18,0,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,11,15,30,11,0,0,12,0,18,0, - 18,0,12,0,60,0,4,0,10,0,10,0,17,0,17,0, - 32,128,63,128,64,64,64,64,241,224,11,11,22,11,255,0, - 31,224,6,32,10,32,10,0,18,64,19,192,62,64,34,0, - 66,32,66,32,231,224,9,14,28,11,1,253,30,128,97,128, - 64,128,128,0,128,0,128,0,128,0,128,0,64,128,97,0, - 30,0,8,0,4,0,24,0,8,15,15,11,1,0,32,16, - 8,0,255,65,65,65,72,120,72,65,65,65,255,8,15,15, - 11,1,0,4,8,16,0,255,65,65,65,72,120,72,65,65, - 65,255,8,15,15,11,1,0,24,36,66,0,255,65,65,65, - 72,120,72,65,65,65,255,8,14,14,11,1,0,36,36,0, - 255,65,65,65,72,120,72,65,65,65,255,7,15,15,11,2, - 0,32,16,8,0,254,16,16,16,16,16,16,16,16,16,254, - 7,15,15,11,2,0,8,16,32,0,254,16,16,16,16,16, - 16,16,16,16,254,7,15,15,11,2,0,24,36,66,0,254, - 16,16,16,16,16,16,16,16,16,254,7,14,14,11,2,0, - 36,36,0,254,16,16,16,16,16,16,16,16,16,254,8,11, - 11,11,1,0,252,66,65,65,65,241,65,65,65,66,252,9, - 14,28,11,1,0,25,0,38,0,0,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,15,30,11,1,0,16,0,8,0,4,0,0,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,9,15,30,11,1,0,4,0,8,0,16, - 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, - 128,128,128,65,0,99,0,28,0,9,15,30,11,1,0,12, - 0,18,0,33,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, - 11,1,0,25,0,38,0,0,0,28,0,99,0,65,0,128, - 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, - 14,28,11,1,0,18,0,18,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,9,18,11,1,1,128,128,65,0,34,0,20,0,8, - 0,20,0,34,0,65,0,128,128,11,11,22,11,0,0,14, - 32,49,192,32,128,65,64,66,64,68,64,72,64,80,64,32, - 128,113,128,142,0,10,15,30,11,0,0,16,0,8,0,4, - 0,0,0,243,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,10,15,30,11,0,0,2, - 0,4,0,8,0,0,0,243,192,64,128,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,33,0,30,0,10,15,30, - 11,0,0,12,0,18,0,33,0,0,0,243,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,33,0,30, - 0,10,14,28,11,0,0,18,0,18,0,0,0,243,192,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,9,15,30,11,1,0,2,0,4,0,8,0,0, - 0,227,128,65,0,34,0,34,0,20,0,20,0,8,0,8, - 0,8,0,8,0,62,0,9,11,22,11,1,0,224,0,64, - 0,126,0,65,0,64,128,64,128,65,0,126,0,64,0,64, - 0,224,0,8,11,11,11,1,0,60,66,66,68,88,70,65, - 65,65,73,230,9,12,24,11,1,0,32,0,16,0,8,0, - 0,0,60,0,66,0,2,0,126,0,130,0,130,0,134,0, - 123,128,9,12,24,11,1,0,4,0,8,0,16,0,0,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,24,0,36,0,66,0,0,0,60,0, - 66,0,2,0,126,0,130,0,130,0,134,0,123,128,9,11, - 22,11,1,0,50,0,76,0,0,0,60,0,66,0,2,0, - 126,0,130,0,130,0,134,0,123,128,9,11,22,11,1,0, - 36,0,36,0,0,0,60,0,66,0,2,0,126,0,130,0, - 130,0,134,0,123,128,9,13,26,11,1,0,24,0,36,0, - 36,0,24,0,0,0,60,0,66,0,2,0,126,0,130,0, - 130,0,134,0,123,128,11,8,16,11,0,0,113,128,138,64, - 4,32,127,224,132,0,132,0,138,32,113,192,8,11,11,11, - 1,253,61,67,129,128,128,128,67,60,16,8,48,8,12,12, - 11,1,0,32,16,8,0,60,66,129,255,128,128,67,60,8, - 12,12,11,1,0,2,4,8,0,60,66,129,255,128,128,67, - 60,8,12,12,11,1,0,24,36,66,0,60,66,129,255,128, - 128,67,60,8,11,11,11,1,0,36,36,0,60,66,129,255, - 128,128,67,60,7,12,12,11,2,0,32,16,8,0,112,16, - 16,16,16,16,16,254,7,12,12,11,2,0,8,16,32,0, - 112,16,16,16,16,16,16,254,7,12,12,11,2,0,48,72, - 132,0,112,16,16,16,16,16,16,254,7,11,11,11,2,0, - 72,72,0,112,16,16,16,16,16,16,254,8,12,12,11,1, - 0,114,140,52,66,62,67,129,129,129,129,66,60,9,11,22, - 11,1,0,50,0,76,0,0,0,222,0,97,0,65,0,65, - 0,65,0,65,0,65,0,227,128,8,12,12,11,1,0,32, - 16,8,0,60,66,129,129,129,129,66,60,8,12,12,11,1, - 0,4,8,16,0,60,66,129,129,129,129,66,60,8,12,12, - 11,1,0,24,36,66,0,60,66,129,129,129,129,66,60,8, - 11,11,11,1,0,50,76,0,60,66,129,129,129,129,66,60, - 8,11,11,11,1,0,36,36,0,60,66,129,129,129,129,66, - 60,8,9,9,11,1,1,24,24,0,0,255,0,0,24,24, - 8,8,8,11,1,0,61,66,133,137,145,161,66,188,9,12, - 24,11,1,0,32,0,16,0,8,0,0,0,195,0,65,0, - 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,11, - 1,0,2,0,4,0,8,0,0,0,195,0,65,0,65,0, - 65,0,65,0,65,0,67,0,61,128,9,12,24,11,1,0, - 24,0,36,0,66,0,0,0,195,0,65,0,65,0,65,0, - 65,0,65,0,67,0,61,128,9,11,22,11,1,0,36,0, - 36,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, - 67,0,61,128,9,16,32,11,1,252,2,0,4,0,8,0, - 0,0,227,128,65,0,65,0,34,0,34,0,20,0,20,0, - 8,0,8,0,16,0,16,0,248,0,9,16,32,11,1,252, - 192,0,64,0,64,0,64,0,94,0,97,0,64,128,64,128, - 64,128,64,128,97,0,94,0,64,0,64,0,64,0,240,0, - 9,15,30,11,1,252,36,0,36,0,0,0,227,128,65,0, - 65,0,34,0,34,0,20,0,20,0,8,0,8,0,16,0, - 16,0,248,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=11 h=16 x= 5 y= 9 dx=11 dy= 0 ascent=13 len=26 - Font Bounding box w=16 h=26 x=-3 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR14r[1988] U8G_SECTION(".progmem.u8g_font_courR14r") = { - 0,16,26,253,249,11,2,74,5,74,32,127,252,13,252,12, - 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, - 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, - 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, - 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, - 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, - 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, - 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, - 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, - 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, - 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, - 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, - 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, - 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, - 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, - 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, - 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, - 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, - 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, - 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, - 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, - 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, - 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, - 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, - 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, - 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, - 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, - 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, - 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, - 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, - 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, - 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, - 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, - 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, - 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, - 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, - 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, - 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, - 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, - 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, - 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, - 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, - 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, - 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, - 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, - 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, - 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, - 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, - 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, - 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, - 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, - 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, - 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, - 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, - 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, - 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, - 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, - 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, - 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, - 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, - 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, - 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, - 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, - 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, - 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, - 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, - 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, - 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, - 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, - 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, - 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, - 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, - 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, - 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, - 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, - 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, - 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, - 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, - 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, - 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, - 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, - 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, - 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, - 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, - 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, - 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, - 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, - 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, - 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, - 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, - 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, - 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, - 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, - 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, - 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, - 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, - 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, - 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, - 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, - 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, - 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, - 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, - 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, - 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, - 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, - 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, - 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, - 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, - 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, - 96,153,6,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 15 - Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=19 len=42 - Font Bounding box w=23 h=32 x=-5 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR18[6152] U8G_SECTION(".progmem.u8g_font_courR18") = { - 0,23,32,251,248,14,3,161,7,151,32,255,251,19,251,16, - 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, - 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, - 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, - 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, - 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, - 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, - 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, - 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, - 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, - 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, - 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, - 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, - 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, - 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, - 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, - 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, - 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, - 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, - 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, - 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, - 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, - 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, - 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, - 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, - 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, - 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, - 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, - 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, - 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, - 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, - 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, - 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, - 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, - 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, - 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, - 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, - 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, - 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, - 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, - 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, - 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, - 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, - 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, - 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, - 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, - 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, - 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, - 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, - 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, - 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, - 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, - 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, - 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, - 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, - 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, - 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, - 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, - 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, - 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, - 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, - 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, - 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, - 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, - 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, - 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, - 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, - 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, - 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, - 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, - 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, - 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, - 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, - 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, - 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, - 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, - 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, - 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, - 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, - 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, - 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, - 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, - 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, - 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, - 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, - 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, - 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, - 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, - 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, - 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, - 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, - 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, - 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, - 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, - 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, - 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, - 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, - 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, - 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, - 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, - 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, - 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, - 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, - 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, - 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, - 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, - 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, - 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, - 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, - 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, - 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, - 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, - 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, - 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, - 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, - 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, - 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, - 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, - 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, - 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, - 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, - 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, - 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, - 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, - 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, - 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, - 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, - 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, - 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, - 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, - 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, - 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, - 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, - 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, - 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, - 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, - 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, - 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, - 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, - 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, - 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, - 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, - 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, - 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, - 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, - 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, - 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, - 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, - 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, - 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, - 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, - 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, - 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, - 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, - 192,12,3,6,15,1,6,60,48,102,96,195,192,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,15,0,1,2,16,16,15,6,251,192,192,0,0,0,128, - 128,128,192,192,192,192,192,192,192,192,8,16,16,15,3,0, - 8,8,8,8,29,99,65,128,128,128,64,99,28,8,8,8, - 10,14,28,15,2,0,14,0,17,128,32,0,32,0,32,0, - 32,0,254,0,16,0,16,0,16,0,16,0,32,64,64,64, - 255,128,10,10,20,15,2,2,128,64,94,128,33,0,64,128, - 64,128,64,128,64,128,33,0,94,128,128,64,11,14,28,15, - 2,0,241,224,64,64,32,128,32,128,17,0,17,0,10,0, - 127,192,4,0,4,0,127,192,4,0,4,0,63,128,1,19, - 19,15,7,253,128,128,128,128,128,128,128,128,0,0,0,128, - 128,128,128,128,128,128,128,10,18,36,15,2,254,15,192,16, - 64,32,64,32,64,32,0,112,0,140,0,130,0,65,0,32, - 128,16,64,12,64,3,128,1,0,129,0,129,0,130,0,252, - 0,7,2,2,15,4,12,198,198,13,13,26,15,1,1,15, - 128,48,96,64,16,70,144,137,136,144,136,144,8,144,8,136, - 136,71,16,64,16,48,96,15,128,7,9,9,15,4,5,120, - 132,60,68,132,140,118,0,254,12,11,22,15,1,0,6,48, - 12,96,24,192,49,128,99,0,198,0,99,0,49,128,24,192, - 12,96,6,48,11,4,8,15,2,5,255,224,0,32,0,32, - 0,32,10,1,2,15,2,7,255,192,13,13,26,15,1,1, - 15,128,48,96,64,16,79,16,136,136,136,136,143,8,137,8, - 136,136,72,144,64,16,48,96,15,128,7,1,1,15,4,12, - 254,7,7,7,15,4,9,56,68,130,130,130,68,56,11,13, - 26,15,2,1,4,0,4,0,4,0,4,0,4,0,255,224, - 4,0,4,0,4,0,4,0,4,0,0,0,255,224,6,9, - 9,15,4,7,56,68,132,4,8,16,32,68,252,6,9,9, - 15,4,7,120,132,4,8,56,4,4,132,120,5,4,4,15, - 5,12,24,48,96,192,12,16,32,15,1,251,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,48,160, - 47,48,32,0,32,0,32,0,32,0,32,0,11,18,36,15, - 2,254,31,224,100,128,196,128,196,128,196,128,196,128,196,128, - 100,128,28,128,4,128,4,128,4,128,4,128,4,128,4,128, - 4,128,4,128,60,224,3,3,3,15,6,6,224,224,224,4, - 5,5,15,5,252,32,32,16,144,96,7,9,9,15,4,7, - 48,208,16,16,16,16,16,16,254,7,9,9,15,4,5,56, - 68,130,130,130,68,56,0,254,12,11,22,15,1,0,198,0, - 99,0,49,128,24,192,12,96,6,48,12,96,24,192,49,128, - 99,0,198,0,14,16,32,15,0,0,48,0,208,0,16,8, - 16,16,16,32,16,32,16,64,16,152,255,40,2,72,4,72, - 4,136,9,8,17,252,0,8,0,28,14,16,32,15,0,0, - 48,0,208,0,16,8,16,16,16,32,16,32,16,64,16,184, - 255,68,2,132,4,4,4,8,8,16,16,32,0,68,0,252, - 14,16,32,15,0,0,120,0,132,0,4,8,8,16,56,32, - 4,32,4,64,132,152,121,40,2,72,4,72,4,136,9,8, - 17,252,0,8,0,28,8,14,14,15,3,253,24,24,0,0, - 8,8,48,64,128,128,128,129,65,62,13,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,63,0,5,0,8,128, - 8,128,8,128,16,64,16,64,16,64,63,224,32,32,32,32, - 64,16,64,16,240,120,13,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,63,0,5,0,8,128,8,128,8,128, - 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, - 240,120,13,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, - 16,64,63,224,32,32,32,32,64,16,64,16,240,120,13,18, - 36,15,1,0,28,64,54,192,35,128,0,0,63,0,5,0, - 8,128,8,128,8,128,16,64,16,64,16,64,63,224,32,32, - 32,32,64,16,64,16,240,120,13,18,36,15,1,0,24,192, - 24,192,0,0,0,0,63,0,5,0,8,128,8,128,8,128, - 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, - 240,120,13,19,38,15,1,0,7,0,8,128,8,128,8,128, - 7,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, - 16,64,63,224,32,32,32,32,64,16,64,16,240,120,15,14, - 28,15,255,0,15,254,2,130,4,130,4,130,4,136,8,136, - 8,248,8,136,31,136,16,130,16,130,32,130,32,130,243,254, - 11,18,36,15,2,252,15,32,48,224,96,96,64,32,128,0, - 128,0,128,0,128,0,128,0,128,0,64,32,96,96,48,192, - 15,0,4,0,2,0,18,0,12,0,12,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,255,224,32,32,32,32, - 32,32,34,0,34,0,62,0,34,0,34,0,32,16,32,16, - 32,16,32,16,255,240,12,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,255,224,32,32,32,32,32,32,34,0, - 34,0,62,0,34,0,34,0,32,16,32,16,32,16,32,16, - 255,240,12,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,255,224,32,32,32,32,32,32,34,0,34,0,62,0, - 34,0,34,0,32,16,32,16,32,16,32,16,255,240,12,18, - 36,15,1,0,25,128,25,128,0,0,0,0,255,224,32,32, - 32,32,32,32,34,0,34,0,62,0,34,0,34,0,32,16, - 32,16,32,16,32,16,255,240,9,19,38,15,3,0,96,0, - 48,0,24,0,12,0,0,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,255,128,9,19,38,15,3,0,3,0,6,0,12,0, - 24,0,0,0,255,128,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, - 9,19,38,15,3,0,24,0,60,0,102,0,195,0,0,0, - 255,128,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,255,128,9,18,36,15, - 3,0,99,0,99,0,0,0,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,13,14,28,15,0,0,127,192,32,48, - 32,16,32,8,32,8,32,8,252,8,32,8,32,8,32,8, - 32,8,32,16,32,48,127,192,14,18,36,15,0,0,14,32, - 27,96,17,192,0,0,240,252,48,16,40,16,36,16,36,16, - 34,16,34,16,33,16,33,16,32,144,32,144,32,80,32,48, - 252,48,13,19,38,15,1,0,24,0,12,0,6,0,3,0, - 0,0,15,128,48,96,96,48,64,16,128,8,128,8,128,8, - 128,8,128,8,128,8,64,16,96,48,48,96,15,128,13,19, - 38,15,1,0,0,96,0,192,1,128,3,0,0,0,15,128, - 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, - 128,8,64,16,96,48,48,96,15,128,13,19,38,15,1,0, - 3,0,7,128,12,192,24,96,0,0,15,128,48,96,96,48, - 64,16,128,8,128,8,128,8,128,8,128,8,128,8,64,16, - 96,48,48,96,15,128,13,18,36,15,1,0,14,32,27,96, - 17,192,0,0,15,128,48,96,96,48,64,16,128,8,128,8, - 128,8,128,8,128,8,128,8,64,16,96,48,48,96,15,128, - 13,18,36,15,1,0,24,192,24,192,0,0,0,0,15,128, - 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, - 128,8,64,16,96,48,48,96,15,128,11,11,22,15,2,2, - 128,32,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,128,32,14,15,30,15,0,0,0,4,7,200, - 24,48,48,48,32,72,64,136,64,136,65,8,66,8,68,8, - 72,8,48,16,48,48,88,96,135,128,12,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,249,240,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,32,64,31,128,12,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,249,240,64,32,64,32,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,32,64, - 31,128,12,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,249,240,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,32,64,31,128,12,18, - 36,15,1,0,25,128,25,128,0,0,0,0,249,240,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,32,32,64,31,128,13,19,38,15,1,0,0,192, - 1,128,3,0,6,0,0,0,240,120,32,32,16,64,16,64, - 8,128,8,128,5,0,2,0,2,0,2,0,2,0,2,0, - 2,0,31,192,11,14,28,15,2,0,248,0,32,0,32,0, - 63,128,32,64,32,32,32,32,32,32,32,32,32,64,63,128, - 32,0,32,0,248,0,11,16,32,15,2,0,14,0,17,0, - 32,128,32,128,32,128,32,128,33,0,39,0,32,192,32,64, - 32,32,32,32,32,32,36,32,36,64,243,128,11,16,32,15, - 2,0,48,0,24,0,12,0,6,0,0,0,30,0,97,0, - 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, - 126,224,11,16,32,15,2,0,1,128,3,0,6,0,12,0, - 0,0,30,0,97,0,0,128,0,128,0,128,63,128,64,128, - 128,128,128,128,129,128,126,224,11,16,32,15,2,0,12,0, - 30,0,51,0,97,128,0,0,30,0,97,0,0,128,0,128, - 0,128,63,128,64,128,128,128,128,128,129,128,126,224,11,15, - 30,15,2,0,56,128,109,128,71,0,0,0,30,0,97,0, - 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, - 126,224,11,15,30,15,2,0,49,128,49,128,0,0,0,0, - 30,0,97,0,0,128,0,128,0,128,63,128,64,128,128,128, - 128,128,129,128,126,224,11,17,34,15,2,0,14,0,17,0, - 17,0,17,0,14,0,0,0,30,0,97,0,0,128,0,128, - 0,128,63,128,64,128,128,128,128,128,129,128,126,224,15,11, - 22,15,0,0,28,112,98,140,65,4,1,2,1,2,63,254, - 65,0,129,0,129,2,130,132,124,120,11,15,30,15,2,252, - 31,64,96,192,64,64,128,64,128,0,128,0,128,0,128,0, - 64,96,96,192,31,0,4,0,2,0,18,0,12,0,11,16, - 32,15,2,0,48,0,24,0,12,0,6,0,0,0,31,0, - 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, - 96,96,31,128,11,16,32,15,2,0,1,128,3,0,6,0, - 12,0,0,0,31,0,96,192,64,64,128,32,128,32,255,224, - 128,0,128,0,64,0,96,96,31,128,11,16,32,15,2,0, - 12,0,30,0,51,0,97,128,0,0,31,0,96,192,64,64, - 128,32,128,32,255,224,128,0,128,0,64,0,96,96,31,128, - 11,15,30,15,2,0,49,128,49,128,0,0,0,0,31,0, - 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, - 96,96,31,128,9,16,32,15,3,0,96,0,48,0,24,0, - 12,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,255,128,9,16,32,15,3,0, - 3,0,6,0,12,0,24,0,0,0,120,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, - 9,16,32,15,3,0,24,0,60,0,102,0,195,0,0,0, - 120,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,9,15,30,15,3,0,99,0,99,0, - 0,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,255,128,12,16,32,15,1,0, - 124,192,135,0,13,0,48,128,0,64,15,224,48,96,32,48, - 64,16,64,16,64,16,64,16,64,16,32,32,48,96,15,128, - 13,15,30,15,1,0,28,64,54,192,35,128,0,0,231,128, - 40,64,48,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,248,248,11,16,32,15,2,0,24,0,12,0,6,0, - 3,0,0,0,31,0,96,192,64,64,128,32,128,32,128,32, - 128,32,128,32,64,64,96,192,31,0,11,16,32,15,2,0, - 1,128,3,0,6,0,12,0,0,0,31,0,96,192,64,64, - 128,32,128,32,128,32,128,32,128,32,64,64,96,192,31,0, - 11,16,32,15,2,0,12,0,30,0,51,0,97,128,0,0, - 31,0,96,192,64,64,128,32,128,32,128,32,128,32,128,32, - 64,64,96,192,31,0,11,15,30,15,2,0,28,64,54,192, - 35,128,0,0,31,0,96,192,64,64,128,32,128,32,128,32, - 128,32,128,32,64,64,96,192,31,0,11,15,30,15,2,0, - 49,128,49,128,0,0,0,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,11,9, - 18,15,2,3,14,0,14,0,0,0,0,0,255,224,0,0, - 0,0,14,0,14,0,12,12,24,15,1,0,0,16,15,160, - 48,64,32,160,65,16,66,16,68,16,72,16,80,16,32,32, - 80,96,143,128,12,16,32,15,1,0,24,0,12,0,6,0, - 3,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,32,96,16,160,15,48,12,16,32,15,1,0, - 0,192,1,128,3,0,6,0,0,0,224,224,32,32,32,32, - 32,32,32,32,32,32,32,32,32,32,32,96,16,160,15,48, - 12,16,32,15,1,0,6,0,15,0,25,128,48,192,0,0, - 224,224,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,96,16,160,15,48,12,15,30,15,1,0,25,128,25,128, - 0,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,32,96,16,160,15,48,12,21,42,15,1,251, - 0,192,1,128,3,0,6,0,0,0,240,240,64,32,64,32, - 32,64,32,64,32,128,16,128,17,0,9,0,10,0,6,0, - 4,0,4,0,8,0,8,0,254,0,13,21,42,15,1,251, - 224,0,32,0,32,0,32,0,32,0,39,192,56,48,48,16, - 32,8,32,8,32,8,32,8,32,8,48,16,56,48,39,192, - 32,0,32,0,32,0,32,0,252,0,12,20,40,15,1,251, - 25,128,25,128,0,0,0,0,240,240,64,32,64,32,32,64, - 32,64,32,128,16,128,17,0,9,0,10,0,6,0,4,0, - 4,0,8,0,8,0,254,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 15 - Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=17 len=40 - Font Bounding box w=23 h=32 x=-5 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR18r[2862] U8G_SECTION(".progmem.u8g_font_courR18r") = { - 0,23,32,251,248,14,3,161,7,151,32,127,251,17,251,16, - 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, - 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, - 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, - 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, - 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, - 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, - 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, - 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, - 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, - 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, - 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, - 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, - 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, - 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, - 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, - 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, - 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, - 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, - 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, - 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, - 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, - 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, - 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, - 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, - 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, - 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, - 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, - 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, - 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, - 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, - 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, - 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, - 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, - 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, - 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, - 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, - 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, - 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, - 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, - 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, - 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, - 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, - 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, - 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, - 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, - 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, - 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, - 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, - 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, - 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, - 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, - 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, - 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, - 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, - 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, - 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, - 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, - 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, - 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, - 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, - 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, - 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, - 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, - 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, - 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, - 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, - 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, - 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, - 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, - 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, - 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, - 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, - 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, - 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, - 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, - 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, - 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, - 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, - 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, - 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, - 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, - 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, - 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, - 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, - 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, - 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, - 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, - 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, - 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, - 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, - 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, - 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, - 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, - 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, - 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, - 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, - 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, - 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, - 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, - 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, - 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, - 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, - 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, - 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, - 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, - 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, - 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, - 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, - 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, - 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, - 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, - 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, - 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, - 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, - 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, - 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, - 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, - 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, - 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, - 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, - 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, - 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, - 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, - 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, - 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, - 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, - 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, - 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, - 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, - 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, - 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, - 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, - 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, - 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, - 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, - 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, - 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, - 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, - 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, - 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, - 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, - 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, - 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, - 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, - 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, - 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, - 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, - 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, - 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, - 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, - 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, - 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, - 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, - 192,12,3,6,15,1,6,60,48,102,96,195,192,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 20 - Calculated Max Values w=19 h=28 x= 9 y=17 dx=20 dy= 0 ascent=26 len=81 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =26 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24[8729] U8G_SECTION(".progmem.u8g_font_courR24") = { - 0,28,42,250,246,19,4,184,10,129,32,255,250,26,250,21, - 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, - 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, - 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, - 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, - 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, - 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, - 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, - 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, - 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, - 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, - 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, - 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, - 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, - 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, - 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, - 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, - 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, - 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, - 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, - 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, - 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, - 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, - 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, - 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, - 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, - 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, - 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, - 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, - 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, - 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, - 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, - 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, - 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, - 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, - 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, - 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, - 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, - 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, - 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, - 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, - 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, - 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, - 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, - 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, - 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, - 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, - 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, - 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, - 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, - 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, - 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, - 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, - 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, - 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, - 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, - 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, - 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, - 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, - 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, - 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, - 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, - 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, - 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, - 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, - 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, - 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, - 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, - 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, - 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, - 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, - 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, - 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, - 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, - 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, - 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, - 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, - 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, - 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, - 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, - 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, - 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, - 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, - 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, - 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, - 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, - 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, - 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, - 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, - 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, - 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, - 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, - 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, - 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, - 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, - 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, - 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, - 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, - 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, - 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, - 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, - 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, - 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, - 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, - 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, - 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, - 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, - 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, - 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, - 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, - 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, - 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, - 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, - 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, - 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, - 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, - 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, - 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, - 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, - 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, - 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, - 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, - 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, - 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, - 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, - 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, - 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, - 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, - 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, - 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, - 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, - 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, - 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, - 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, - 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, - 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, - 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, - 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, - 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, - 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, - 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, - 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, - 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, - 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, - 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, - 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, - 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, - 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, - 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, - 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, - 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, - 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, - 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, - 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, - 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, - 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, - 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, - 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, - 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, - 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, - 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, - 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, - 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, - 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, - 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, - 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, - 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, - 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, - 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, - 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, - 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, - 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, - 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, - 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, - 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, - 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, - 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, - 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, - 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, - 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, - 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, - 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, - 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, - 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, - 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, - 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, - 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, - 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, - 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, - 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, - 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, - 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, - 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, - 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, - 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, - 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, - 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, - 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, - 199,24,129,176,0,224,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,20,0,1,5,20,20, - 20,7,250,112,248,112,0,0,0,0,32,32,32,32,32,32, - 32,112,112,112,112,112,32,11,20,40,20,4,0,4,0,4, - 0,4,0,4,0,31,128,48,224,96,32,192,32,128,0,128, - 0,128,0,128,0,192,0,96,32,48,224,31,128,4,0,4, - 0,4,0,4,0,14,19,38,20,2,0,3,224,12,48,8, - 24,24,0,16,0,16,0,16,0,24,0,8,0,255,128,8, - 0,8,0,8,0,8,0,8,0,24,0,16,4,48,12,127, - 248,13,13,26,20,3,3,192,24,111,176,56,224,32,32,96, - 48,64,16,64,16,64,16,96,48,32,32,56,224,111,176,192, - 24,15,19,38,20,2,0,248,62,96,12,48,24,16,16,24, - 48,8,32,12,96,6,192,2,128,3,128,63,248,1,0,1, - 0,63,248,1,0,1,0,1,0,1,0,31,240,1,25,25, - 20,9,252,128,128,128,128,128,128,128,128,128,128,128,0,0, - 0,0,128,128,128,128,128,128,128,128,128,128,14,23,46,20, - 3,254,7,248,28,8,16,8,16,8,16,0,24,0,124,0, - 198,0,131,0,129,192,192,96,112,56,24,12,12,4,7,4, - 1,132,0,252,0,96,0,32,64,32,64,32,64,224,127,128, - 10,3,6,20,5,17,97,128,243,192,97,128,19,19,57,20, - 0,0,1,240,0,7,28,0,28,7,0,48,1,128,33,232, - 128,99,24,192,70,8,64,204,8,96,136,0,32,136,0,32, - 136,0,32,140,0,32,198,12,96,67,24,64,97,240,192,48, - 1,128,24,3,0,15,30,0,1,240,0,9,12,24,20,5, - 7,60,0,102,0,2,0,2,0,126,0,198,0,130,0,206, - 0,123,128,0,0,0,0,255,128,16,14,28,20,2,0,1, - 131,3,6,6,12,12,24,24,48,48,96,96,192,225,192,96, - 192,48,96,24,48,12,24,6,12,3,6,14,6,12,20,3, - 6,255,252,0,4,0,4,0,4,0,4,0,4,15,1,2, - 20,2,9,255,254,19,19,57,20,0,0,3,248,0,14,14, - 0,24,3,0,48,1,128,103,224,192,66,48,64,194,24,96, - 130,8,32,130,8,32,130,24,32,130,48,32,131,224,32,194, - 48,96,66,24,64,103,12,192,48,1,128,24,3,0,14,14, - 0,3,248,0,9,2,4,20,5,17,255,128,255,128,9,10, - 20,20,5,11,62,0,99,0,65,0,193,128,128,128,128,128, - 193,128,65,0,99,0,62,0,15,16,32,20,2,1,1,0, - 1,0,1,0,1,0,1,0,1,0,255,254,1,0,1,0, - 1,0,1,0,1,0,1,0,0,0,0,0,255,254,8,14, - 14,20,5,7,60,102,67,193,3,2,6,12,24,16,48,96, - 193,255,8,14,14,20,6,7,60,102,195,1,1,6,28,6, - 3,1,1,195,102,60,6,5,5,20,9,17,12,24,48,96, - 192,16,20,40,20,1,250,240,60,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,24,12,24,28,28, - 52,23,231,16,0,16,0,16,0,16,0,16,0,16,0,15, - 23,46,20,2,254,15,254,57,16,113,16,97,16,225,16,193, - 16,193,16,225,16,97,16,113,16,61,16,15,16,1,16,1, - 16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1, - 16,31,190,5,4,4,20,7,7,112,248,248,112,5,5,5, - 20,7,251,32,32,48,152,240,7,14,14,20,6,7,112,208, - 16,16,16,16,16,16,16,16,16,16,16,254,9,12,24,20, - 5,7,28,0,119,0,65,0,193,128,128,128,193,128,65,0, - 119,0,28,0,0,0,0,0,255,128,16,14,28,20,2,0, - 193,128,96,192,48,96,24,48,12,24,6,12,3,6,3,135, - 3,6,6,12,12,24,24,48,48,96,96,192,18,21,63,20, - 1,0,48,0,192,240,0,128,16,1,128,16,3,0,16,2, - 0,16,6,0,16,12,0,16,8,0,16,24,0,16,48,0, - 16,35,0,16,103,0,254,197,0,0,141,0,1,153,0,3, - 17,0,2,49,0,6,63,128,12,1,0,8,1,0,24,7, - 128,18,21,63,20,1,0,48,0,128,240,1,128,16,3,0, - 16,6,0,16,4,0,16,12,0,16,24,0,16,16,0,16, - 48,0,16,96,0,16,71,128,16,204,192,253,152,64,3,0, - 192,2,0,128,6,1,128,12,7,0,8,12,0,24,24,0, - 48,48,0,96,63,192,19,21,63,20,0,0,60,0,0,102, - 0,96,3,0,192,3,1,128,6,3,0,28,6,0,6,12, - 0,3,8,0,1,24,0,1,48,0,195,33,128,102,99,128, - 60,194,128,1,134,128,1,12,128,3,8,128,6,24,128,12, - 31,192,24,0,128,48,0,128,0,3,192,11,20,40,20,4, - 250,14,0,31,0,14,0,0,0,0,0,0,0,0,0,4, - 0,4,0,12,0,24,0,112,0,64,0,192,0,128,0,128, - 0,192,32,96,32,49,224,31,0,19,26,78,20,0,0,6, - 0,0,3,0,0,1,128,0,0,192,0,0,96,0,0,0, - 0,0,0,0,31,224,0,0,160,0,1,176,0,1,16,0, - 1,16,0,3,24,0,2,8,0,2,8,0,6,12,0,4, - 4,0,4,4,0,12,6,0,15,254,0,8,2,0,24,3, - 0,16,1,0,16,1,0,48,1,128,254,15,224,19,26,78, - 20,0,0,0,12,0,0,24,0,0,48,0,0,96,0,0, - 192,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, - 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, - 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, - 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, - 224,19,26,78,20,0,0,0,64,0,0,224,0,1,176,0, - 3,24,0,6,12,0,0,0,0,0,0,0,31,224,0,0, - 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, - 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, - 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, - 1,128,254,15,224,19,24,72,20,0,0,3,132,0,6,236, - 0,4,56,0,0,0,0,0,0,0,31,224,0,0,160,0, - 1,176,0,1,16,0,1,16,0,3,24,0,2,8,0,2, - 8,0,6,12,0,4,4,0,4,4,0,12,6,0,15,254, - 0,8,2,0,24,3,0,16,1,0,16,1,0,48,1,128, - 254,15,224,19,24,72,20,0,0,6,12,0,15,30,0,6, - 12,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, - 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, - 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, - 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, - 224,19,26,78,20,0,0,0,224,0,1,176,0,1,16,0, - 1,16,0,1,176,0,0,224,0,0,0,0,31,224,0,0, - 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, - 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, - 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, - 1,128,254,15,224,18,19,57,20,1,0,31,255,128,2,64, - 128,2,64,128,6,64,128,4,64,128,4,64,128,4,64,0, - 12,68,0,8,68,0,8,124,0,8,68,0,24,68,0,31, - 192,0,16,64,0,48,64,64,32,64,64,32,64,64,32,64, - 64,251,255,192,15,24,48,20,2,251,7,196,28,116,48,12, - 96,12,64,4,192,4,128,0,128,0,128,0,128,0,128,0, - 128,0,128,0,192,0,64,2,96,4,48,28,28,112,7,192, - 1,0,1,0,1,128,4,192,7,128,15,26,52,20,1,0, - 12,0,6,0,3,0,1,128,0,192,0,0,0,0,255,252, - 16,4,16,4,16,4,16,4,16,4,16,64,16,64,16,64, - 31,192,16,64,16,64,16,0,16,2,16,2,16,2,16,2, - 16,2,255,254,15,26,52,20,1,0,0,48,0,96,0,192, - 1,128,3,0,0,0,0,0,255,252,16,4,16,4,16,4, - 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, - 16,0,16,2,16,2,16,2,16,2,16,2,255,254,15,26, - 52,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, - 0,0,255,252,16,4,16,4,16,4,16,4,16,4,16,64, - 16,64,16,64,31,192,16,64,16,64,16,0,16,2,16,2, - 16,2,16,2,16,2,255,254,15,24,48,20,1,0,12,48, - 30,120,12,48,0,0,0,0,255,252,16,4,16,4,16,4, - 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, - 16,0,16,2,16,2,16,2,16,2,16,2,255,254,11,26, - 52,20,4,0,48,0,24,0,12,0,6,0,3,0,0,0, - 0,0,255,224,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,255,224,11,26,52,20,4,0,0,192, - 1,128,3,0,6,0,12,0,0,0,0,0,255,224,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 255,224,11,26,52,20,4,0,4,0,14,0,27,0,49,128, - 96,192,0,0,0,0,255,224,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,255,224,11,24,48,20, - 4,0,96,192,241,224,96,192,0,0,0,0,255,224,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 255,224,15,19,38,20,1,0,255,192,32,112,32,24,32,12, - 32,4,32,6,32,2,32,2,32,2,254,2,32,2,32,2, - 32,2,32,6,32,4,32,12,32,24,32,112,255,192,18,24, - 72,20,0,0,3,132,0,6,236,0,4,56,0,0,0,0, - 0,0,0,248,31,192,28,1,0,20,1,0,22,1,0,18, - 1,0,19,1,0,17,129,0,16,129,0,16,193,0,16,65, - 0,16,97,0,16,33,0,16,49,0,16,25,0,16,9,0, - 16,13,0,16,5,0,16,7,0,127,3,0,15,26,52,20, - 2,0,24,0,12,0,6,0,3,0,1,128,0,0,0,0, - 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, - 48,24,28,112,7,192,15,26,52,20,2,0,0,24,0,48, - 0,96,0,192,1,128,0,0,0,0,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, - 15,26,52,20,2,0,1,0,3,128,6,192,12,96,24,48, - 0,0,0,0,7,192,28,112,48,24,96,12,64,4,192,6, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,32,8,48,24,28,112,7,192,15,24,48,20,2,0, - 14,16,27,176,16,224,0,0,0,0,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, - 15,24,48,20,2,0,48,48,120,120,48,48,0,0,0,0, - 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, - 48,24,28,112,7,192,13,14,28,20,3,1,128,8,192,24, - 96,48,48,96,24,192,13,128,7,0,7,0,13,128,24,192, - 48,96,96,48,192,24,128,8,16,21,42,20,2,255,0,1, - 7,195,28,118,48,28,32,24,96,60,64,36,192,102,128,194, - 129,130,129,2,131,2,134,2,204,6,72,4,120,12,48,8, - 48,24,124,48,199,224,128,0,17,26,78,20,1,0,6,0, - 0,3,0,0,1,128,0,0,192,0,0,96,0,0,0,0, - 0,0,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,17,26,78,20, - 1,0,0,24,0,0,48,0,0,96,0,0,192,0,1,128, - 0,0,0,0,0,0,0,254,63,128,32,2,0,32,2,0, - 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,48,6,0,16,4,0,24,12,0,14,56,0,3,224,0, - 17,26,78,20,1,0,0,128,0,1,192,0,3,96,0,6, - 48,0,12,24,0,0,0,0,0,0,0,254,63,128,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, - 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,48,6,0,16,4,0,24,12,0,14,56, - 0,3,224,0,17,24,72,20,1,0,12,24,0,30,60,0, - 12,24,0,0,0,0,0,0,0,254,63,128,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, - 32,2,0,48,6,0,16,4,0,24,12,0,14,56,0,3, - 224,0,15,26,52,20,2,0,0,48,0,96,0,192,1,128, - 3,0,0,0,0,0,248,62,96,12,48,24,16,16,24,48, - 8,32,12,96,6,192,2,128,3,128,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,31,240,16,19,38,20, - 1,0,254,0,16,0,16,0,16,0,31,224,16,60,16,6, - 16,2,16,3,16,3,16,2,16,6,16,60,31,224,16,0, - 16,0,16,0,16,0,254,0,15,21,42,20,1,0,7,192, - 12,96,8,32,24,48,16,16,16,16,16,16,16,48,16,96, - 17,192,16,112,16,24,16,4,16,6,16,2,16,2,16,2, - 17,6,17,4,17,140,248,248,15,22,44,20,2,0,24,0, - 12,0,6,0,3,0,1,128,0,0,0,0,0,0,15,128, - 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, - 128,16,128,16,128,48,192,240,127,158,15,22,44,20,2,0, - 0,96,0,192,1,128,3,0,6,0,0,0,0,0,0,0, - 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, - 192,16,128,16,128,16,128,48,192,240,127,158,15,22,44,20, - 2,0,1,0,3,128,6,192,12,96,24,48,0,0,0,0, - 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, - 112,48,192,16,128,16,128,16,128,48,192,240,127,158,15,20, - 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, - 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, - 192,16,128,16,128,16,128,48,192,240,127,158,15,20,40,20, - 2,0,48,192,121,224,48,192,0,0,0,0,0,0,15,128, - 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, - 128,16,128,16,128,48,192,240,127,158,15,23,46,20,2,0, - 7,0,13,128,8,128,8,128,13,128,7,0,0,0,0,0, - 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, - 112,48,192,16,128,16,128,16,128,48,192,240,127,158,19,14, - 42,20,0,0,31,15,128,113,152,192,0,240,64,0,96,96, - 0,96,32,30,64,32,115,255,224,192,192,0,128,64,0,128, - 96,0,128,224,0,193,80,96,99,88,192,62,79,128,14,19, - 38,20,3,251,15,200,56,104,96,24,64,24,192,8,128,8, - 128,0,128,0,128,0,192,0,64,4,96,28,56,112,15,192, - 2,0,2,0,3,0,9,128,15,0,14,22,44,20,2,0, - 24,0,12,0,6,0,3,0,1,128,0,0,0,0,0,0, - 15,192,56,112,96,24,64,8,192,12,128,4,255,252,128,0, - 128,0,128,0,192,0,96,12,56,56,15,224,14,22,44,20, - 2,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, - 128,0,128,0,128,0,192,0,96,12,56,56,15,224,14,22, - 44,20,2,0,1,0,3,128,6,192,12,96,24,48,0,0, - 0,0,0,0,15,192,56,112,96,24,64,8,192,12,128,4, - 255,252,128,0,128,0,128,0,192,0,96,12,56,56,15,224, - 14,20,40,20,2,0,48,96,120,240,48,96,0,0,0,0, - 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, - 128,0,128,0,128,0,192,0,96,12,56,56,15,224,13,22, - 44,20,3,0,48,0,24,0,12,0,6,0,3,0,0,0, - 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, - 13,22,44,20,3,0,0,192,1,128,3,0,6,0,12,0, - 0,0,0,0,0,0,126,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, - 255,248,13,21,42,20,3,0,4,0,14,0,27,0,49,128, - 96,192,0,0,0,0,126,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, - 255,248,13,20,40,20,3,0,97,128,243,192,97,128,0,0, - 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, - 15,20,40,20,2,0,124,12,79,56,1,224,3,192,14,96, - 56,48,32,24,0,12,15,228,56,54,96,14,192,6,128,2, - 128,2,128,2,192,6,64,4,96,12,24,56,15,224,15,20, - 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, - 227,192,46,112,56,16,48,24,32,8,32,8,32,8,32,8, - 32,8,32,8,32,8,32,8,32,8,248,62,15,22,44,20, - 2,0,12,0,6,0,3,0,1,128,0,192,0,0,0,0, - 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,15,224,15,22, - 44,20,2,0,0,48,0,96,0,192,1,128,3,0,0,0, - 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, - 15,22,44,20,2,0,1,128,3,192,6,96,12,48,24,24, - 0,0,0,0,0,0,15,224,56,56,96,12,64,4,192,6, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,56,56, - 15,224,15,20,40,20,2,0,14,16,27,176,16,224,0,0, - 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, - 15,20,40,20,2,0,24,96,60,240,24,96,0,0,0,0, - 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,15,224,14,16, - 32,20,2,1,3,0,7,128,3,0,0,0,0,0,0,0, - 0,0,0,0,255,252,0,0,0,0,0,0,0,0,3,0, - 7,128,3,0,15,16,32,20,2,255,0,2,7,230,28,60, - 48,24,64,52,192,102,128,194,129,130,131,2,134,2,204,6, - 88,4,112,24,120,112,207,192,128,0,16,22,44,20,1,0, - 12,0,6,0,3,0,1,128,0,192,0,0,0,0,0,0, - 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,12,24,28,12,52,7,231,16,22,44,20, - 1,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,21, - 42,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, - 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,20, - 40,20,1,0,24,48,60,120,24,48,0,0,0,0,0,0, - 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,12,24,28,12,52,7,231,15,28,56,20, - 2,250,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,248,62,64,4,96,12,32,8,48,24,16,16,24,48, - 8,32,12,96,4,64,6,192,2,128,3,128,1,0,3,0, - 2,0,2,0,6,0,4,0,127,128,17,27,81,20,0,250, - 240,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,17,248,0,23,14,0,28,3,0,24,1, - 0,24,1,128,16,0,128,16,0,128,16,0,128,16,0,128, - 24,1,128,24,1,0,28,3,0,23,14,0,17,248,0,16, - 0,0,16,0,0,16,0,0,16,0,0,16,0,0,255,0, - 0,15,25,50,20,2,250,24,24,60,60,24,24,0,0,0, - 0,248,62,64,4,96,12,32,8,48,24,16,16,24,48,8, - 32,12,96,4,64,6,192,2,128,3,128,1,0,3,0,2, - 0,2,0,6,0,4,0,127,128}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=15 h=25 x= 7 y= 9 dx=20 dy= 0 ascent=22 len=50 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =22 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24n[638] U8G_SECTION(".progmem.u8g_font_courR24n") = { - 0,28,42,250,246,20,0,0,0,0,42,57,0,22,252,20, - 0,11,13,26,20,4,8,4,0,4,0,4,0,4,0,132, - 32,245,224,31,0,14,0,10,0,27,0,49,128,32,128,96, - 192,15,17,34,20,2,1,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,255,254,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,6,9,9,20,5,252,60, - 60,120,120,96,224,192,192,128,15,1,2,20,2,9,255,254, - 5,4,4,20,7,0,112,248,248,112,11,25,50,20,4,253, - 0,32,0,96,0,64,0,64,0,192,0,128,1,128,1,0, - 3,0,2,0,2,0,6,0,4,0,12,0,8,0,8,0, - 24,0,16,0,48,0,32,0,96,0,64,0,64,0,192,0, - 128,0,11,20,40,20,4,0,31,0,49,128,96,192,64,64, - 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 128,32,128,32,192,96,64,64,64,64,96,192,49,128,31,0, - 11,20,40,20,4,0,12,0,60,0,228,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,255,224,13,20, - 40,20,3,0,15,192,48,96,96,16,64,16,64,16,0,16, - 0,48,0,32,0,96,0,192,1,128,3,0,6,0,12,0, - 24,0,48,0,96,0,192,0,128,8,255,248,13,20,40,20, - 3,0,15,128,56,224,96,48,0,16,0,16,0,16,0,16, - 0,32,0,64,7,128,0,96,0,16,0,8,0,8,0,8, - 0,8,0,24,192,48,112,224,31,128,13,20,40,20,3,0, - 0,192,1,64,1,64,2,64,6,64,4,64,8,64,24,64, - 16,64,32,64,96,64,64,64,128,64,255,248,0,64,0,64, - 0,64,0,64,0,64,3,248,13,20,40,20,3,0,63,240, - 32,0,32,0,32,0,32,0,32,0,32,0,39,128,60,224, - 32,48,0,16,0,24,0,8,0,8,0,8,0,24,192,16, - 96,48,56,224,15,128,12,20,40,20,4,0,7,192,28,32, - 48,0,32,0,96,0,64,0,192,0,143,128,184,224,160,32, - 192,48,192,16,192,16,192,16,192,16,64,16,96,48,32,32, - 56,224,15,128,11,20,40,20,4,0,255,224,128,32,128,32, - 0,96,0,64,0,64,0,192,0,128,0,128,1,128,1,0, - 1,0,3,0,2,0,2,0,2,0,6,0,4,0,4,0, - 4,0,11,20,40,20,4,0,31,0,96,192,64,64,192,96, - 128,32,128,32,192,96,64,64,49,128,31,0,113,192,64,64, - 192,96,128,32,128,32,128,32,192,96,64,64,113,192,31,0, - 12,20,40,20,4,0,31,0,112,192,64,96,192,32,128,48, - 128,48,128,48,128,48,192,80,64,208,115,144,30,16,0,32, - 0,32,0,32,0,64,0,192,1,128,14,0,120,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 20 - Calculated Max Values w=19 h=26 x= 9 y=17 dx=20 dy= 0 ascent=22 len=60 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24r[3991] U8G_SECTION(".progmem.u8g_font_courR24r") = { - 0,28,42,250,246,19,4,184,10,129,32,127,250,22,250,21, - 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, - 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, - 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, - 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, - 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, - 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, - 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, - 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, - 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, - 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, - 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, - 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, - 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, - 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, - 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, - 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, - 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, - 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, - 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, - 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, - 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, - 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, - 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, - 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, - 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, - 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, - 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, - 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, - 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, - 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, - 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, - 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, - 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, - 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, - 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, - 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, - 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, - 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, - 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, - 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, - 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, - 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, - 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, - 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, - 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, - 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, - 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, - 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, - 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, - 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, - 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, - 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, - 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, - 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, - 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, - 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, - 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, - 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, - 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, - 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, - 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, - 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, - 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, - 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, - 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, - 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, - 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, - 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, - 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, - 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, - 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, - 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, - 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, - 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, - 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, - 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, - 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, - 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, - 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, - 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, - 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, - 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, - 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, - 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, - 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, - 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, - 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, - 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, - 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, - 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, - 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, - 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, - 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, - 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, - 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, - 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, - 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, - 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, - 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, - 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, - 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, - 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, - 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, - 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, - 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, - 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, - 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, - 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, - 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, - 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, - 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, - 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, - 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, - 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, - 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, - 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, - 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, - 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, - 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, - 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, - 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, - 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, - 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, - 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, - 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, - 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, - 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, - 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, - 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, - 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, - 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, - 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, - 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, - 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, - 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, - 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, - 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, - 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, - 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, - 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, - 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, - 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, - 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, - 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, - 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, - 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, - 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, - 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, - 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, - 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, - 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, - 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, - 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, - 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, - 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, - 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, - 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, - 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, - 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, - 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, - 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, - 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, - 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, - 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, - 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, - 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, - 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, - 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, - 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, - 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, - 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, - 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, - 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, - 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, - 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, - 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, - 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, - 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, - 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, - 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, - 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, - 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, - 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, - 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, - 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, - 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, - 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, - 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, - 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, - 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, - 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, - 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, - 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, - 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, - 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, - 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, - 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, - 199,24,129,176,0,224,255}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 3, '1' Height: 11 - Calculated Max Values w=16 h=17 x= 7 y= 6 dx=19 dy= 0 ascent=17 len=34 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 1 - X Font ascent =12 descent= 0 - Max Font ascent =17 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[3981] U8G_SECTION(".progmem.u8g_font_cu12_67_75") = { - 0,40,30,247,246,3,2,98,5,14,32,255,1,17,254,12, - 0,11,5,10,12,1,4,2,128,1,64,255,224,1,64,2, - 128,5,11,11,6,1,1,32,32,32,32,32,32,168,112,168, - 112,32,11,5,10,12,1,4,32,96,65,128,255,0,65,128, - 32,96,11,5,10,12,1,4,192,128,48,64,31,224,48,64, - 192,128,11,7,14,12,1,3,0,32,32,32,64,32,255,224, - 64,32,32,32,0,32,7,11,11,8,1,1,16,56,84,16, - 16,16,16,16,16,16,254,11,7,14,12,1,3,128,0,128, - 128,128,64,255,224,128,64,128,128,128,0,7,11,11,8,1, - 1,254,16,16,16,16,16,16,16,84,56,16,7,11,11,8, - 1,1,16,56,84,16,16,16,16,16,84,56,254,11,7,14, - 12,1,4,1,192,0,32,32,32,64,32,255,192,64,0,32, - 0,11,7,14,12,1,4,112,0,128,0,128,128,128,64,127, - 224,0,64,0,128,11,7,14,12,1,4,1,192,2,32,34, - 32,66,32,255,192,66,0,34,0,11,7,14,12,1,4,112, - 0,136,0,136,128,136,64,127,224,8,64,8,128,12,5,10, - 13,1,4,38,64,73,32,233,112,80,160,32,64,12,5,10, - 13,1,4,33,64,66,32,255,240,68,32,40,64,4,11,11, - 5,1,1,16,16,32,64,176,208,32,160,160,192,240,6,11, - 11,7,1,1,32,64,252,68,36,4,4,4,4,4,4,6, - 11,11,7,1,1,16,8,252,136,144,128,128,128,128,128,128, - 6,11,11,7,1,1,4,4,4,4,4,4,36,68,252,64, - 32,6,11,11,7,1,1,128,128,128,128,128,128,144,136,252, - 8,16,8,6,6,9,1,2,252,4,4,21,14,4,6,8, - 8,7,1,1,4,4,4,36,68,252,64,32,11,8,16,11, - 1,1,15,128,16,64,32,32,32,32,32,32,168,32,112,0, - 32,0,11,8,16,11,1,1,62,0,65,0,128,128,128,128, - 128,128,130,160,1,192,0,128,9,11,22,10,1,1,255,128, - 0,0,240,0,192,0,160,0,144,0,8,0,4,0,2,0, - 1,0,0,128,12,13,26,13,1,0,128,0,144,0,160,0, - 255,240,160,0,144,0,128,16,0,144,0,80,255,240,0,80, - 0,144,0,16,10,7,14,11,1,2,3,192,67,0,130,128, - 130,128,128,128,65,0,62,0,10,7,14,11,1,2,240,0, - 48,128,80,64,80,64,64,64,32,128,31,0,11,3,6,12, - 1,6,32,0,64,0,255,224,11,3,6,12,1,6,255,224, - 64,0,32,0,3,11,11,4,1,1,128,192,160,128,128,128, - 128,128,128,128,128,3,11,11,4,1,1,32,96,160,32,32, - 32,32,32,32,32,32,11,3,6,12,1,6,0,128,0,64, - 255,224,11,3,6,12,1,6,255,224,0,64,0,128,3,11, - 11,4,1,1,128,128,128,128,128,128,128,128,160,192,128,3, - 11,11,4,1,1,32,32,32,32,32,32,32,32,160,96,32, - 11,11,22,12,1,1,0,128,0,64,255,224,0,64,0,128, - 0,0,32,0,64,0,255,224,64,0,32,0,11,11,22,12, - 1,1,32,128,112,128,168,128,32,128,32,128,32,128,32,128, - 32,128,34,160,33,192,32,128,11,11,22,12,1,1,32,0, - 64,0,255,224,64,0,32,0,0,0,0,128,0,64,255,224, - 0,64,0,128,11,11,22,12,1,1,32,0,64,0,255,224, - 64,0,32,0,0,0,32,0,64,0,255,224,64,0,32,0, - 11,11,22,12,1,1,32,128,113,192,170,160,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,11,11,22,12, - 1,1,0,128,0,64,255,224,0,64,0,128,0,0,0,128, - 0,64,255,224,0,64,0,128,11,11,22,12,1,1,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,32,128,170,160, - 113,192,32,128,11,8,16,12,1,3,32,0,64,0,255,224, - 0,0,0,0,255,224,0,64,0,128,11,8,16,12,1,3, - 0,128,0,64,255,224,0,0,0,0,255,224,64,0,32,0, - 11,7,14,12,1,3,16,128,32,128,127,224,129,0,127,224, - 34,0,18,0,13,7,14,14,1,3,17,64,33,32,127,240, - 130,8,127,240,36,32,20,64,11,7,14,12,1,3,9,0, - 8,128,255,192,16,32,255,192,32,128,33,0,11,7,14,12, - 1,3,16,0,32,0,127,224,128,0,127,224,32,0,16,0, - 7,11,11,8,1,1,16,40,108,170,40,40,40,40,40,40, - 40,11,7,14,12,1,3,1,0,0,128,255,192,0,32,255, - 192,0,128,1,0,7,11,11,8,1,1,40,40,40,40,40, - 40,40,170,108,40,16,12,7,14,12,1,3,16,128,32,64, - 127,224,128,16,127,224,32,64,16,128,7,12,12,8,1,0, - 16,40,108,170,40,40,40,40,170,108,40,16,10,10,20,11, - 1,1,248,0,144,0,136,0,196,0,162,0,17,0,8,128, - 4,64,2,0,1,0,10,10,20,11,1,1,7,192,2,64, - 4,64,8,192,17,64,34,0,68,0,136,0,16,0,32,0, - 10,10,20,11,1,1,32,0,16,0,136,0,68,0,34,0, - 17,64,8,192,4,64,2,64,7,192,10,10,20,11,1,1, - 1,0,2,0,4,64,8,128,17,0,162,0,196,0,136,0, - 144,0,248,0,11,7,14,12,1,3,16,0,63,224,64,0, - 255,224,64,0,63,224,16,0,11,7,14,12,1,3,1,0, - 255,128,0,64,255,224,0,64,255,128,1,0,12,5,10,13, - 1,4,32,0,72,128,245,80,66,32,32,0,12,5,10,13, - 1,4,0,64,17,32,170,240,68,32,0,64,5,11,11,6, - 1,1,32,112,168,32,32,248,32,248,32,32,32,5,11,11, - 6,1,1,32,32,32,248,32,248,32,32,168,112,32,11,5, - 10,12,1,4,32,0,64,0,238,224,64,0,32,0,5,11, - 11,6,1,1,32,112,168,0,32,32,32,0,32,32,32,11, - 5,10,12,1,4,0,128,0,64,238,224,0,64,0,128,5, - 11,11,6,1,1,32,32,32,0,32,32,32,0,168,112,32, - 12,7,14,13,1,3,128,0,144,0,160,0,255,240,160,0, - 144,0,128,0,12,7,14,13,1,3,0,16,0,144,0,80, - 255,240,0,80,0,144,0,16,12,9,18,13,1,2,8,0, - 24,0,47,240,64,16,128,16,64,16,47,240,24,0,8,0, - 9,12,24,10,1,1,8,0,20,0,34,0,65,0,227,128, - 34,0,34,0,34,0,34,0,34,0,34,0,62,0,12,9, - 18,13,1,2,1,0,1,128,255,64,128,32,128,16,128,32, - 255,64,1,128,1,0,9,12,24,10,1,1,62,0,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, - 20,0,8,0,9,17,34,10,1,0,8,0,20,0,34,0, - 65,0,227,128,34,0,34,0,34,0,34,0,34,0,34,0, - 62,0,0,0,62,0,34,0,34,0,62,0,9,14,28,10, - 1,0,8,0,20,0,34,0,65,0,227,128,34,0,34,0, - 34,0,34,0,34,0,34,0,227,128,128,128,255,128,9,14, - 28,10,1,0,8,0,20,0,62,0,65,0,227,128,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,128,128,255,128, - 9,14,28,10,1,0,8,0,28,0,42,0,73,0,235,128, - 42,0,42,0,42,0,42,0,42,0,42,0,235,128,136,128, - 255,128,9,15,30,10,1,2,8,0,20,0,34,0,73,0, - 213,128,34,0,65,0,227,128,34,0,34,0,34,0,34,0, - 34,0,34,0,62,0,9,17,34,10,1,0,8,0,20,0, - 34,0,73,0,213,128,34,0,65,0,227,128,34,0,34,0, - 34,0,34,0,34,0,34,0,227,128,128,128,255,128,14,9, - 18,16,2,2,224,64,160,96,191,208,128,24,128,20,128,24, - 191,208,160,96,224,64,11,11,22,12,1,1,255,224,128,0, - 188,0,176,0,168,0,164,0,130,0,129,0,128,128,128,64, - 128,32,11,11,22,12,1,1,128,32,64,32,32,32,16,32, - 8,32,4,160,2,160,1,160,7,160,0,32,255,224,9,16, - 32,10,1,0,8,0,20,0,34,0,65,0,227,128,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, - 20,0,8,0,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,255,255,255,255,255,255,255,255,255,255,255, - 11,11,22,14,2,1,255,224,255,224,255,224,255,224,255,224, - 255,224,255,224,255,224,255,224,255,224,255,224,11,11,22,14, - 2,1,255,224,128,32,128,32,128,32,128,32,128,32,128,32, - 128,32,128,32,128,32,255,224,11,11,22,14,2,1,63,128, - 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 64,64,63,128,11,11,22,14,2,1,255,224,128,32,191,160, - 191,160,191,160,191,160,191,160,191,160,191,160,128,32,255,224, - 11,11,22,14,2,1,255,224,128,32,255,224,128,32,255,224, - 128,32,255,224,128,32,255,224,128,32,255,224,11,11,22,14, - 2,1,255,224,170,160,170,160,170,160,170,160,170,160,170,160, - 170,160,170,160,170,160,255,224,11,11,22,14,2,1,255,224, - 170,160,255,224,170,160,255,224,170,160,255,224,170,160,255,224, - 170,160,255,224,11,11,22,14,2,1,255,224,201,32,164,160, - 146,96,201,32,164,160,146,96,201,32,164,160,146,96,255,224, - 11,11,22,14,2,1,255,224,146,96,164,160,201,32,146,96, - 164,160,201,32,146,96,164,160,201,32,255,224,11,11,22,14, - 2,1,255,224,213,96,170,160,213,96,170,160,213,96,170,160, - 213,96,170,160,213,96,255,224,7,7,7,12,3,3,254,254, - 254,254,254,254,254,7,7,7,12,3,3,254,130,130,130,130, - 130,254,13,6,12,16,2,3,255,248,255,248,255,248,255,248, - 255,248,255,248,13,6,12,16,2,3,255,248,128,8,128,8, - 128,8,128,8,255,248,6,13,13,9,2,254,252,252,252,252, - 252,252,252,252,252,252,252,252,252,6,13,13,9,2,254,252, - 132,132,132,132,132,132,132,132,132,132,132,252,16,6,12,19, - 2,3,31,255,63,254,63,254,127,252,127,252,255,248,16,6, - 12,19,2,3,31,255,32,2,32,2,64,4,64,4,255,248, - 11,12,24,14,2,1,4,0,4,0,14,0,14,0,31,0, - 31,0,63,128,63,128,127,192,127,192,255,224,255,224,11,12, - 24,14,2,1,4,0,4,0,10,0,10,0,17,0,17,0, - 32,128,32,128,64,64,64,64,128,32,255,224,7,8,8,12, - 3,1,16,16,56,56,124,124,254,254,7,8,8,12,3,1, - 16,16,40,40,68,68,130,254,12,11,22,15,2,1,192,0, - 240,0,252,0,255,0,255,192,255,240,255,192,255,0,252,0, - 240,0,192,0,12,11,22,15,2,1,192,0,176,0,140,0, - 131,0,128,192,128,48,128,192,131,0,140,0,176,0,192,0, - 8,7,7,13,3,1,192,240,252,255,252,240,192,8,7,7, - 13,3,1,192,176,140,131,140,176,192,12,7,14,15,2,1, - 192,0,252,0,255,192,255,240,255,192,252,0,192,0,12,7, - 14,15,2,1,192,0,188,0,131,192,128,48,131,192,188,0, - 192,0,11,12,24,14,2,1,255,224,255,224,127,192,127,192, - 63,128,63,128,31,0,31,0,14,0,14,0,4,0,4,0, - 11,12,24,14,2,1,255,224,128,32,64,64,64,64,32,128, - 32,128,17,0,17,0,10,0,10,0,4,0,4,0,7,8, - 8,12,3,1,254,254,124,124,56,56,16,16,7,8,8,12, - 3,1,254,130,68,68,40,40,16,16,12,11,22,15,2,1, - 0,48,0,240,3,240,15,240,63,240,255,240,63,240,15,240, - 3,240,0,240,0,48,12,11,22,15,2,1,0,48,0,208, - 3,16,12,16,48,16,192,16,48,16,12,16,3,16,0,208, - 0,48,8,7,7,13,3,1,3,15,63,255,63,15,3,8, - 7,7,13,3,1,3,13,49,193,49,13,3,12,7,14,15, - 2,1,0,48,3,240,63,240,255,240,63,240,3,240,0,48, - 12,7,14,15,2,1,0,48,3,208,60,16,192,16,60,16, - 3,208,0,48,11,11,22,14,2,1,4,0,14,0,31,0, - 63,128,127,192,255,224,127,192,63,128,31,0,14,0,4,0, - 11,11,22,14,2,1,4,0,10,0,17,0,32,128,64,64, - 128,32,64,64,32,128,17,0,10,0,4,0,11,11,22,14, - 2,1,4,0,10,0,17,0,36,128,78,64,159,32,78,64, - 36,128,17,0,10,0,4,0,11,11,22,14,2,1,31,0, - 96,192,64,64,142,32,159,32,159,32,159,32,142,32,64,64, - 96,192,31,0,7,12,12,8,1,0,16,40,40,68,68,130, - 130,68,68,40,40,16,11,11,22,14,2,1,31,0,96,192, - 64,64,128,32,128,32,128,32,128,32,128,32,64,64,96,192, - 31,0,11,11,22,14,2,1,14,0,32,128,64,64,0,0, - 128,32,128,32,128,32,0,0,64,64,32,128,14,0,11,11, - 22,14,2,1,31,0,106,192,106,192,170,160,170,160,170,160, - 170,160,170,160,106,192,106,192,31,0,11,11,22,14,2,1, - 31,0,96,192,64,64,142,32,145,32,145,32,145,32,142,32, - 64,64,96,192,31,0,11,11,22,14,2,1,31,0,127,192, - 127,192,255,224,255,224,255,224,255,224,255,224,127,192,127,192, - 31,0,11,11,22,14,2,1,31,0,120,192,120,64,248,32, - 248,32,248,32,248,32,248,32,120,64,120,192,31,0,11,11, - 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, - 131,224,131,224,67,192,99,192,31,0,11,11,22,14,2,1, - 31,0,127,192,127,192,255,224,255,224,128,32,128,32,128,32, - 64,64,96,192,31,0,11,11,22,14,2,1,31,0,96,192, - 64,64,128,32,128,32,128,32,255,224,255,224,127,192,127,192, - 31,0,11,11,22,14,2,1,31,0,103,192,71,192,135,224, - 135,224,135,224,128,32,128,32,64,64,96,192,31,0,11,11, - 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, - 255,224,255,224,127,192,127,192,31,0,6,11,11,8,2,1, - 28,124,124,252,252,252,252,252,124,124,28,6,11,11,9,2, - 1,224,248,248,252,252,252,252,252,248,248,224,7,12,12,10, - 2,1,254,254,254,254,254,198,130,130,130,198,254,254,13,13, - 26,16,2,0,255,248,240,120,207,152,223,216,191,232,191,232, - 191,232,191,232,191,232,223,216,207,152,240,120,255,248,13,7, - 14,16,2,6,255,248,240,120,207,152,223,216,191,232,191,232, - 191,232,13,7,14,16,2,0,191,232,191,232,191,232,223,216, - 207,152,240,120,255,248,6,6,6,8,2,6,28,96,64,128, - 128,128,6,6,6,13,7,6,224,24,8,4,4,4,6,6, - 6,13,7,1,4,4,4,8,24,224,6,6,6,8,2,1, - 128,128,128,64,96,28,11,6,12,14,2,6,31,0,96,192, - 64,64,128,32,128,32,128,32,11,6,12,14,2,1,128,32, - 128,32,128,32,64,64,96,192,31,0,12,12,24,15,2,1, - 0,16,0,48,0,112,0,240,1,240,3,240,7,240,15,240, - 31,240,63,240,127,240,255,240,12,12,24,15,2,1,128,0, - 192,0,224,0,240,0,248,0,252,0,254,0,255,0,255,128, - 255,192,255,224,255,240,12,12,24,15,2,1,255,240,255,224, - 255,192,255,128,255,0,254,0,252,0,248,0,240,0,224,0, - 192,0,128,0,12,12,24,15,2,1,255,240,127,240,63,240, - 31,240,15,240,7,240,3,240,1,240,0,240,0,112,0,48, - 0,16,7,7,7,8,1,2,56,68,130,130,130,68,56,11, - 11,22,14,2,1,255,224,248,32,248,32,248,32,248,32,248, - 32,248,32,248,32,248,32,248,32,255,224,11,11,22,14,2, - 1,255,224,131,224,131,224,131,224,131,224,131,224,131,224,131, - 224,131,224,131,224,255,224,11,11,22,14,2,1,255,224,255, - 224,255,160,255,32,254,32,252,32,248,32,240,32,224,32,192, - 32,255,224,11,11,22,14,2,1,255,224,128,96,128,224,129, - 224,131,224,135,224,143,224,159,224,191,224,255,224,255,224,11, - 11,22,14,2,1,255,224,132,32,132,32,132,32,132,32,132, - 32,132,32,132,32,132,32,132,32,255,224,11,12,24,14,2, - 1,4,0,4,0,10,0,10,0,17,0,17,0,32,128,36, - 128,78,64,68,64,128,32,255,224,11,12,24,14,2,1,4, - 0,4,0,14,0,14,0,29,0,29,0,60,128,60,128,124, - 64,124,64,252,32,255,224,11,12,24,14,2,1,4,0,4, - 0,14,0,14,0,23,0,23,0,39,128,39,128,71,192,71, - 192,135,224,255,224,13,13,26,16,2,0,31,192,32,32,64, - 16,128,8,128,8,128,8,128,8,128,8,128,8,128,8,64, - 16,32,32,31,192,11,11,22,14,2,1,255,224,132,32,132, - 32,132,32,132,32,252,32,128,32,128,32,128,32,128,32,255, - 224,11,11,22,14,2,1,255,224,128,32,128,32,128,32,128, - 32,252,32,132,32,132,32,132,32,132,32,255,224,11,11,22, - 14,2,1,255,224,128,32,128,32,128,32,128,32,135,224,132, - 32,132,32,132,32,132,32,255,224,11,11,22,14,2,1,255, - 224,132,32,132,32,132,32,132,32,135,224,128,32,128,32,128, - 32,128,32,255,224,11,11,22,14,2,1,31,0,100,192,68, - 64,132,32,132,32,252,32,128,32,128,32,64,64,96,192,31, - 0,11,11,22,14,2,1,31,0,96,192,64,64,128,32,128, - 32,252,32,132,32,132,32,68,64,100,192,31,0,11,11,22, - 14,2,1,31,0,96,192,64,64,128,32,128,32,135,224,132, - 32,132,32,68,64,100,192,31,0,11,11,22,14,2,1,31, - 0,100,192,68,64,132,32,132,32,135,224,128,32,128,32,64, - 64,96,192,31,0,255,255,255,255,255,255,255,255}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 11, '1' Height: 6 - Calculated Max Values w=16 h=13 x= 3 y= 3 dx=19 dy= 0 ascent=13 len=24 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =13 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12_75r[1123] U8G_SECTION(".progmem.u8g_font_cu12_75r") = { - 0,40,30,247,246,11,2,247,0,0,32,79,0,13,254,12, - 0,11,11,22,14,2,1,255,224,255,224,255,224,255,224,255, - 224,255,224,255,224,255,224,255,224,255,224,255,224,11,11,22, - 14,2,1,255,224,128,32,128,32,128,32,128,32,128,32,128, - 32,128,32,128,32,128,32,255,224,11,11,22,14,2,1,63, - 128,64,64,128,32,128,32,128,32,128,32,128,32,128,32,128, - 32,64,64,63,128,11,11,22,14,2,1,255,224,128,32,191, - 160,191,160,191,160,191,160,191,160,191,160,191,160,128,32,255, - 224,11,11,22,14,2,1,255,224,128,32,255,224,128,32,255, - 224,128,32,255,224,128,32,255,224,128,32,255,224,11,11,22, - 14,2,1,255,224,170,160,170,160,170,160,170,160,170,160,170, - 160,170,160,170,160,170,160,255,224,11,11,22,14,2,1,255, - 224,170,160,255,224,170,160,255,224,170,160,255,224,170,160,255, - 224,170,160,255,224,11,11,22,14,2,1,255,224,201,32,164, - 160,146,96,201,32,164,160,146,96,201,32,164,160,146,96,255, - 224,11,11,22,14,2,1,255,224,146,96,164,160,201,32,146, - 96,164,160,201,32,146,96,164,160,201,32,255,224,11,11,22, - 14,2,1,255,224,213,96,170,160,213,96,170,160,213,96,170, - 160,213,96,170,160,213,96,255,224,7,7,7,12,3,3,254, - 254,254,254,254,254,254,7,7,7,12,3,3,254,130,130,130, - 130,130,254,13,6,12,16,2,3,255,248,255,248,255,248,255, - 248,255,248,255,248,13,6,12,16,2,3,255,248,128,8,128, - 8,128,8,128,8,255,248,6,13,13,9,2,254,252,252,252, - 252,252,252,252,252,252,252,252,252,252,6,13,13,9,2,254, - 252,132,132,132,132,132,132,132,132,132,132,132,252,16,6,12, - 19,2,3,31,255,63,254,63,254,127,252,127,252,255,248,16, - 6,12,19,2,3,31,255,32,2,32,2,64,4,64,4,255, - 248,11,12,24,14,2,1,4,0,4,0,14,0,14,0,31, - 0,31,0,63,128,63,128,127,192,127,192,255,224,255,224,11, - 12,24,14,2,1,4,0,4,0,10,0,10,0,17,0,17, - 0,32,128,32,128,64,64,64,64,128,32,255,224,7,8,8, - 12,3,1,16,16,56,56,124,124,254,254,7,8,8,12,3, - 1,16,16,40,40,68,68,130,254,12,11,22,15,2,1,192, - 0,240,0,252,0,255,0,255,192,255,240,255,192,255,0,252, - 0,240,0,192,0,12,11,22,15,2,1,192,0,176,0,140, - 0,131,0,128,192,128,48,128,192,131,0,140,0,176,0,192, - 0,8,7,7,13,3,1,192,240,252,255,252,240,192,8,7, - 7,13,3,1,192,176,140,131,140,176,192,12,7,14,15,2, - 1,192,0,252,0,255,192,255,240,255,192,252,0,192,0,12, - 7,14,15,2,1,192,0,188,0,131,192,128,48,131,192,188, - 0,192,0,11,12,24,14,2,1,255,224,255,224,127,192,127, - 192,63,128,63,128,31,0,31,0,14,0,14,0,4,0,4, - 0,11,12,24,14,2,1,255,224,128,32,64,64,64,64,32, - 128,32,128,17,0,17,0,10,0,10,0,4,0,4,0,7, - 8,8,12,3,1,254,254,124,124,56,56,16,16,7,8,8, - 12,3,1,254,130,68,68,40,40,16,16,12,11,22,15,2, - 1,0,48,0,240,3,240,15,240,63,240,255,240,63,240,15, - 240,3,240,0,240,0,48,12,11,22,15,2,1,0,48,0, - 208,3,16,12,16,48,16,192,16,48,16,12,16,3,16,0, - 208,0,48,8,7,7,13,3,1,3,15,63,255,63,15,3, - 8,7,7,13,3,1,3,13,49,193,49,13,3,12,7,14, - 15,2,1,0,48,3,240,63,240,255,240,63,240,3,240,0, - 48,12,7,14,15,2,1,0,48,3,208,60,16,192,16,60, - 16,3,208,0,48,11,11,22,14,2,1,4,0,14,0,31, - 0,63,128,127,192,255,224,127,192,63,128,31,0,14,0,4, - 0,11,11,22,14,2,1,4,0,10,0,17,0,32,128,64, - 64,128,32,64,64,32,128,17,0,10,0,4,0,11,11,22, - 14,2,1,4,0,10,0,17,0,36,128,78,64,159,32,78, - 64,36,128,17,0,10,0,4,0,11,11,22,14,2,1,31, - 0,96,192,64,64,142,32,159,32,159,32,159,32,142,32,64, - 64,96,192,31,0,7,12,12,8,1,0,16,40,40,68,68, - 130,130,68,68,40,40,16,11,11,22,14,2,1,31,0,96, - 192,64,64,128,32,128,32,128,32,128,32,128,32,64,64,96, - 192,31,0,11,11,22,14,2,1,14,0,32,128,64,64,0, - 0,128,32,128,32,128,32,0,0,64,64,32,128,14,0,11, - 11,22,14,2,1,31,0,106,192,106,192,170,160,170,160,170, - 160,170,160,170,160,106,192,106,192,31,0,11,11,22,14,2, - 1,31,0,96,192,64,64,142,32,145,32,145,32,145,32,142, - 32,64,64,96,192,31,0,11,11,22,14,2,1,31,0,127, - 192,127,192,255,224,255,224,255,224,255,224,255,224,127,192,127, - 192,31,0}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 3 y=11 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12[3993] U8G_SECTION(".progmem.u8g_font_cu12") = { - 0,40,30,247,246,11,2,90,5,94,32,255,252,16,252,12, - 252,0,0,0,5,0,0,2,12,12,5,1,0,192,192,192, - 192,192,192,192,0,0,0,192,192,4,5,5,7,2,7,144, - 144,144,144,144,10,15,30,12,1,253,4,128,4,128,9,0, - 9,0,9,0,255,192,18,0,18,0,18,0,255,192,36,0, - 36,0,36,0,72,0,72,0,5,14,14,8,1,255,32,112, - 168,168,168,160,96,48,40,168,168,168,112,32,11,13,26,14, - 1,255,96,64,152,128,151,128,145,0,146,0,98,0,4,0, - 8,192,9,32,17,32,33,32,33,32,64,192,10,12,24,13, - 1,0,24,0,36,0,36,0,36,0,40,0,51,192,49,0, - 81,0,138,0,138,0,196,64,123,128,1,5,5,4,2,7, - 128,128,128,128,128,4,15,15,6,2,253,16,32,64,64,128, - 128,128,128,128,128,128,64,64,32,16,4,15,15,6,1,253, - 128,64,32,32,16,16,16,16,16,16,16,32,32,64,128,7, - 7,7,7,0,5,16,146,84,56,84,146,16,9,9,18,11, - 2,255,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,5,5,5,1,253,192,192,64,64,128,4, - 1,1,7,2,3,240,2,2,2,5,1,0,192,192,5,16, - 16,8,2,252,8,8,16,16,16,16,32,32,32,32,64,64, - 64,64,128,128,5,11,11,7,1,0,112,80,136,136,136,136, - 136,136,136,80,112,5,11,11,7,1,0,32,224,32,32,32, - 32,32,32,32,32,248,5,11,11,7,1,0,112,136,136,136, - 8,16,16,32,72,72,248,5,11,11,7,1,0,112,136,136, - 8,8,48,8,8,136,136,112,7,11,11,9,1,0,24,24, - 40,40,72,200,254,8,8,8,62,5,11,11,7,1,0,136, - 240,128,128,240,200,8,8,136,144,96,5,11,11,7,1,0, - 48,72,64,128,240,136,136,136,136,80,112,6,12,12,8,1, - 0,128,252,132,136,16,16,16,32,32,32,32,32,5,11,11, - 7,1,0,112,136,136,136,80,112,136,136,136,136,112,5,11, - 11,7,1,0,112,80,136,136,136,136,120,8,16,144,96,2, - 7,7,7,3,0,192,192,0,0,0,192,192,2,10,10,5, - 1,253,192,192,0,0,0,192,192,64,64,128,5,9,9,6, - 1,1,8,16,32,64,128,64,32,16,8,10,5,10,13,2, - 2,255,192,0,0,0,0,0,0,255,192,5,9,9,6,1, - 1,128,64,32,16,8,16,32,64,128,5,12,12,8,1,0, - 112,136,136,16,32,32,96,0,0,0,96,96,10,12,24,12, - 1,0,30,0,33,0,76,128,147,64,161,64,161,64,161,64, - 161,64,147,64,77,128,32,192,31,0,11,11,22,11,0,0, - 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, - 32,128,32,128,241,224,10,11,22,10,0,0,255,0,32,128, - 32,64,32,64,32,128,63,0,32,128,32,64,32,64,32,128, - 255,0,9,11,22,10,1,0,30,128,33,128,64,128,128,128, - 128,0,128,0,128,0,128,128,64,128,33,0,30,0,10,11, - 22,10,0,0,254,0,33,128,32,128,32,64,32,64,32,64, - 32,64,32,64,32,128,33,128,254,0,10,11,22,10,1,0, - 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, - 32,128,32,128,255,128,9,11,22,9,1,0,255,128,32,128, - 32,128,34,128,34,0,62,0,34,0,34,0,32,0,32,0, - 248,0,10,11,22,10,1,0,30,128,33,128,64,128,128,128, - 128,0,128,0,131,192,128,128,64,128,32,128,31,128,11,11, - 22,11,1,0,251,224,32,128,32,128,32,128,32,128,63,128, - 32,128,32,128,32,128,32,128,251,224,5,11,11,5,1,0, - 248,32,32,32,32,32,32,32,32,32,248,6,11,11,6,1, - 0,124,16,16,16,16,16,16,16,16,144,224,11,11,22,11, - 1,0,249,224,32,128,33,0,34,0,36,0,46,0,50,0, - 33,0,33,0,32,128,249,224,8,11,11,8,0,0,248,32, - 32,32,32,32,33,33,33,35,255,14,11,22,14,1,0,240, - 60,48,48,48,48,40,80,40,80,40,144,36,144,36,144,35, - 16,35,16,251,124,11,11,22,11,1,0,227,224,48,128,48, - 128,40,128,40,128,36,128,34,128,34,128,33,128,33,128,248, - 128,10,11,22,10,1,0,30,0,33,0,64,128,128,64,128, - 64,128,64,128,64,128,64,64,128,33,0,30,0,9,11,22, - 9,1,0,255,0,33,128,32,128,32,128,33,128,63,0,32, - 0,32,0,32,0,32,0,248,0,10,14,28,10,1,253,30, - 0,33,0,64,128,128,64,128,64,128,64,128,64,128,64,92, - 128,51,0,30,0,2,0,2,64,1,128,11,11,22,11,1, - 0,254,0,33,0,32,128,32,128,33,0,62,0,35,0,33, - 0,33,0,33,0,248,224,6,11,11,7,1,0,124,132,132, - 128,64,48,8,4,132,132,248,9,11,22,9,1,0,255,128, - 136,128,136,128,136,128,8,0,8,0,8,0,8,0,8,0, - 8,0,62,0,11,11,22,11,1,0,251,224,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, - 11,11,22,11,1,0,241,224,32,128,32,128,17,0,17,0, - 17,0,10,0,10,0,10,0,4,0,4,0,16,11,22,16, - 1,0,241,207,33,132,33,132,34,68,18,72,18,72,18,72, - 20,40,12,48,12,48,8,16,11,11,22,11,1,0,243,192, - 17,0,18,0,10,0,12,0,4,0,10,0,26,0,17,0, - 32,128,241,224,11,11,22,11,1,0,241,224,32,128,17,0, - 17,0,10,0,14,0,4,0,4,0,4,0,4,0,31,0, - 7,11,11,7,1,0,254,196,132,136,8,16,34,34,66,70, - 254,3,16,16,5,1,252,224,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,224,5,16,16,8,2,252,128,128,64, - 64,64,64,32,32,32,32,16,16,16,16,8,8,3,16,16, - 5,0,252,224,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,224,5,3,3,6,1,9,32,112,136,11,1,2,12, - 1,254,255,224,3,4,4,6,3,8,128,192,64,32,6,7, - 7,7,1,0,112,136,8,120,136,136,124,6,12,12,7,1, - 0,192,64,64,64,64,120,68,68,68,68,68,120,5,7,7, - 6,1,0,112,136,128,128,128,136,112,6,12,12,7,1,0, - 24,8,8,8,8,120,136,136,136,136,136,124,5,7,7,6, - 1,0,112,136,248,128,128,136,112,5,12,12,6,1,0,56, - 72,64,64,64,240,64,64,64,64,64,224,7,11,11,8,1, - 252,62,68,68,68,120,64,124,130,130,130,124,7,12,12,8, - 1,0,192,64,64,64,64,120,68,68,68,68,68,238,3,11, - 11,4,1,0,192,192,0,0,192,64,64,64,64,64,224,4, - 14,14,5,0,253,48,48,0,0,48,16,16,16,16,16,16, - 16,144,224,7,12,12,8,1,0,192,64,64,64,64,94,72, - 80,112,88,72,238,3,12,12,4,1,0,192,64,64,64,64, - 64,64,64,64,64,64,224,11,7,14,12,1,0,251,128,68, - 64,68,64,68,64,68,64,68,64,238,224,7,7,7,8,1, - 0,248,68,68,68,68,68,238,5,7,7,6,1,0,112,136, - 136,136,136,136,112,6,10,10,7,1,253,248,68,68,68,68, - 68,120,64,64,224,6,10,10,7,1,253,120,136,136,136,136, - 136,120,8,8,28,5,7,7,6,1,0,208,104,64,64,64, - 64,240,5,7,7,6,1,0,120,136,128,112,8,136,240,6, - 10,10,7,1,0,32,32,32,248,32,32,32,36,36,24,7, - 7,7,8,1,0,204,68,68,68,68,68,62,8,7,7,9, - 1,0,231,36,36,36,24,24,24,11,7,14,11,0,0,238, - 224,36,128,42,128,42,128,42,128,27,0,17,0,8,7,7, - 9,1,0,231,36,24,24,24,36,231,8,10,10,8,1,253, - 231,36,36,36,24,24,24,16,144,224,5,7,7,6,1,0, - 248,144,144,32,72,72,248,5,16,16,6,1,252,24,32,32, - 32,32,32,32,192,32,32,32,32,32,32,32,24,1,16,16, - 3,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,16,16,5,0,252,192,32,32,32,32,32,32, - 24,32,32,32,32,32,32,32,192,5,3,3,8,1,9,72, - 168,144,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,5,0,0,2,12,12,5,1,253,192, - 192,0,0,0,192,192,192,192,192,192,192,5,11,11,7,1, - 254,16,16,112,168,160,160,160,200,112,64,64,8,12,12,9, - 1,0,6,9,17,16,16,124,16,16,16,81,178,204,7,7, - 7,9,1,3,130,124,68,68,68,124,130,11,11,22,12,0, - 0,241,224,32,128,17,0,10,0,127,192,14,0,4,0,127, - 192,4,0,4,0,31,0,1,16,16,3,2,252,128,128,128, - 128,128,128,128,0,0,128,128,128,128,128,128,128,4,13,13, - 6,1,0,96,144,128,128,96,144,144,144,96,16,16,144,96, - 5,2,2,6,1,11,216,216,9,10,20,10,1,3,62,0, - 65,0,158,128,162,128,162,128,160,128,162,128,156,128,65,0, - 62,0,4,6,6,5,1,7,96,16,112,144,112,240,7,7, - 7,9,1,0,18,36,108,216,108,36,18,6,4,4,8,1, - 2,252,4,4,4,3,1,1,5,0,3,224,9,10,20,10, - 1,3,62,0,65,0,188,128,146,128,146,128,156,128,146,128, - 186,128,65,0,62,0,5,1,1,7,1,11,248,4,4,4, - 6,2,8,96,144,144,96,7,9,9,9,2,1,16,16,16, - 254,16,16,16,0,254,4,7,7,5,1,6,96,144,16,16, - 32,64,240,4,7,7,5,1,6,96,144,16,32,16,144,96, - 3,4,4,6,3,11,32,96,64,128,7,10,10,8,1,253, - 136,136,136,136,136,218,164,128,128,128,7,15,15,8,1,252, - 62,116,244,244,244,116,52,20,20,20,20,20,20,20,20,2, - 2,2,4,2,5,192,192,3,3,3,7,2,253,64,32,224, - 3,7,7,4,1,6,64,192,64,64,64,64,224,4,6,6, - 5,1,7,96,144,144,144,96,240,7,7,7,8,1,0,144, - 72,108,54,108,72,144,11,11,22,12,1,0,64,0,196,0, - 68,0,68,0,68,64,232,192,9,64,10,64,11,224,16,64, - 16,224,11,11,22,12,1,0,64,0,196,0,68,0,68,0, - 68,0,232,192,9,32,8,32,8,64,16,128,17,224,12,11, - 22,13,1,0,96,0,146,0,18,0,34,0,18,32,148,96, - 100,160,5,32,5,240,8,32,8,112,5,12,12,8,1,253, - 48,48,0,0,0,48,32,32,64,128,136,112,11,16,32,11, - 0,0,8,0,12,0,4,0,2,0,0,0,4,0,4,0, - 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, - 241,224,11,16,32,11,0,0,2,0,6,0,4,0,8,0, - 0,0,4,0,4,0,10,0,10,0,10,0,17,0,17,0, - 31,0,32,128,32,128,241,224,11,15,30,11,0,0,4,0, - 14,0,17,0,0,0,4,0,4,0,10,0,10,0,10,0, - 17,0,17,0,31,0,32,128,32,128,241,224,11,15,30,11, - 0,0,9,0,21,0,18,0,0,0,4,0,4,0,10,0, - 10,0,10,0,17,0,17,0,31,0,32,128,32,128,241,224, - 11,14,28,11,0,0,27,0,27,0,0,0,4,0,4,0, - 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, - 241,224,11,15,30,11,0,0,6,0,9,0,9,0,6,0, - 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, - 32,128,32,128,241,224,14,11,22,15,0,0,15,248,10,24, - 10,8,10,40,18,32,31,224,18,36,18,36,34,8,34,8, - 247,248,9,14,28,10,1,253,30,128,33,128,64,128,128,128, - 128,0,128,0,128,0,128,128,64,128,33,0,30,0,8,0, - 4,0,28,0,10,16,32,11,0,0,16,0,24,0,8,0, - 4,0,0,0,255,128,32,128,32,128,34,128,34,0,62,0, - 34,64,34,64,32,128,32,128,255,128,10,16,32,11,0,0, - 4,0,12,0,8,0,16,0,0,0,255,128,32,128,32,128, - 34,128,34,0,62,0,34,64,34,64,32,128,32,128,255,128, - 10,15,30,11,0,0,8,0,28,0,34,0,0,0,255,128, - 32,128,32,128,34,128,34,0,62,0,34,64,34,64,32,128, - 32,128,255,128,10,14,28,11,0,0,54,0,54,0,0,0, - 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, - 32,128,32,128,255,128,5,16,16,6,1,0,64,96,32,16, - 0,248,32,32,32,32,32,32,32,32,32,248,5,16,16,6, - 1,0,16,48,32,64,0,248,32,32,32,32,32,32,32,32, - 32,248,5,15,15,6,1,0,32,112,136,0,248,32,32,32, - 32,32,32,32,32,32,248,5,14,14,6,1,0,216,216,0, - 248,32,32,32,32,32,32,32,32,32,248,10,11,22,11,0, - 0,254,0,33,128,32,128,32,64,32,64,248,64,32,64,32, - 64,32,128,33,128,254,0,11,15,30,12,0,0,9,0,21, - 0,18,0,0,0,227,224,48,128,48,128,40,128,40,128,36, - 128,34,128,34,128,33,128,33,128,248,128,10,16,32,12,1, - 0,16,0,24,0,8,0,4,0,0,0,30,0,33,0,64, - 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, - 0,10,16,32,12,1,0,2,0,6,0,4,0,8,0,0, - 0,30,0,33,0,64,128,128,64,128,64,128,64,128,64,128, - 64,64,128,33,0,30,0,10,15,30,12,1,0,8,0,28, - 0,34,0,0,0,30,0,33,0,64,128,128,64,128,64,128, - 64,128,64,128,64,64,128,33,0,30,0,10,15,30,12,1, - 0,18,0,42,0,36,0,0,0,30,0,33,0,64,128,128, - 64,128,64,128,64,128,64,128,64,64,128,33,0,30,0,10, - 14,28,12,1,0,54,0,54,0,0,0,30,0,33,0,64, - 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, - 0,7,7,7,9,1,0,130,68,40,16,40,68,130,10,13, - 26,12,1,255,0,128,31,0,33,0,66,128,130,64,132,64, - 140,64,136,64,144,64,80,128,33,0,62,0,64,0,11,16, - 32,12,1,0,8,0,12,0,4,0,2,0,0,0,251,224, - 32,128,32,128,32,128,32,128,32,128,32,128,32,128,32,128, - 17,0,14,0,11,16,32,12,1,0,2,0,6,0,4,0, - 8,0,0,0,251,224,32,128,32,128,32,128,32,128,32,128, - 32,128,32,128,32,128,17,0,14,0,11,15,30,12,1,0, - 4,0,14,0,17,0,0,0,251,224,32,128,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,17,0,14,0,11,14, - 28,12,1,0,27,0,27,0,0,0,251,224,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, - 11,16,32,12,0,0,2,0,6,0,4,0,8,0,0,0, - 241,224,32,128,17,0,17,0,10,0,14,0,4,0,4,0, - 4,0,4,0,31,0,9,11,22,10,0,0,248,0,32,0, - 62,0,33,0,32,128,32,128,32,128,33,0,62,0,32,0, - 248,0,6,12,12,7,1,0,48,72,72,72,72,216,72,68, - 68,68,68,216,6,12,12,7,1,0,64,96,32,16,0,112, - 136,8,120,136,136,124,6,12,12,7,1,0,16,48,32,64, - 0,112,136,8,120,136,136,124,6,11,11,7,1,0,32,112, - 136,0,112,136,8,120,136,136,124,6,11,11,7,1,0,72, - 168,144,0,112,136,8,120,136,136,124,6,10,10,7,1,0, - 216,216,0,112,136,8,120,136,136,124,6,11,11,7,1,0, - 48,72,72,48,112,136,8,120,136,136,124,10,7,14,11,1, - 0,115,128,140,64,15,192,120,0,136,0,140,64,115,128,5, - 10,10,6,1,253,112,136,128,128,128,136,112,32,16,112,5, - 12,12,6,1,0,64,96,32,16,0,112,136,248,128,128,136, - 112,5,12,12,6,1,0,16,48,32,64,0,112,136,248,128, - 128,136,112,5,11,11,6,1,0,32,112,136,0,112,136,248, - 128,128,136,112,5,10,10,6,1,0,216,216,0,112,136,248, - 128,128,136,112,4,12,12,4,0,0,128,192,64,32,0,96, - 32,32,32,32,32,112,4,12,12,4,1,0,16,48,32,64, - 0,192,64,64,64,64,64,224,5,11,11,5,0,0,32,112, - 136,0,96,32,32,32,32,32,112,5,10,10,6,0,0,216, - 216,0,96,32,32,32,32,32,112,5,12,12,6,1,0,80, - 112,224,16,16,120,136,136,136,136,136,112,7,11,11,8,1, - 0,72,168,144,0,248,68,68,68,68,68,238,5,12,12,6, - 1,0,64,96,32,16,0,112,136,136,136,136,136,112,5,12, - 12,6,1,0,16,48,32,64,0,112,136,136,136,136,136,112, - 5,11,11,6,1,0,32,112,136,0,112,136,136,136,136,136, - 112,5,11,11,6,1,0,72,168,144,0,112,136,136,136,136, - 136,112,5,10,10,6,1,0,216,216,0,112,136,136,136,136, - 136,112,9,7,14,11,1,0,8,0,8,0,0,0,255,128, - 0,0,8,0,8,0,5,11,11,6,1,254,8,16,112,152, - 168,168,168,200,112,64,128,7,12,12,8,1,0,64,96,32, - 16,0,204,68,68,68,68,68,62,7,12,12,8,1,0,8, - 24,16,32,0,204,68,68,68,68,68,62,7,11,11,8,1, - 0,16,56,68,0,204,68,68,68,68,68,62,7,10,10,8, - 1,0,108,108,0,204,68,68,68,68,68,62,8,15,15,8, - 1,253,4,12,8,16,0,231,36,36,36,24,24,24,16,144, - 224,6,15,15,7,1,253,192,64,64,64,64,120,68,68,68, - 68,68,120,64,64,224,8,13,13,8,1,253,54,54,0,231, - 36,36,36,24,24,24,16,144,224}; -/* - Fontname: cursor - Copyright: These glyphs are unencumbered - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=16 x= 1 y= 0 dx=17 dy= 0 ascent=15 len=32 - Font Bounding box w=31 h=31 x=-15 y=-16 - Calculated Min Values x=-15 y=-16 dx= 0 dy= 0 - Pure Font ascent =15 descent=-8 - X Font ascent =16 descent=-16 - Max Font ascent =15 descent=-16 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cursor[5286] U8G_SECTION(".progmem.u8g_font_cursor") = { - 0,31,31,241,240,15,4,101,8,211,32,255,248,15,240,16, - 240,14,14,28,17,250,248,224,28,240,60,248,124,124,248,63, - 240,31,224,15,192,15,192,31,224,63,240,124,248,248,124,240, - 60,224,28,16,16,32,17,249,247,240,15,248,31,252,63,254, - 127,127,254,63,252,31,248,15,240,15,240,31,248,63,252,127, - 254,254,127,252,63,248,31,240,15,14,14,28,17,243,242,0, - 12,0,60,0,248,3,248,15,240,63,240,3,224,7,224,14, - 192,28,192,56,128,112,128,224,0,64,0,16,16,32,17,242, - 241,0,7,0,31,0,127,1,254,7,254,31,252,63,252,63, - 248,7,248,15,240,31,240,62,224,124,224,248,64,112,0,32, - 0,8,10,10,17,253,255,255,0,255,24,24,24,24,90,60, - 24,10,12,24,17,252,254,255,192,255,192,255,192,255,192,255, - 192,30,0,30,0,127,128,127,128,127,128,63,0,30,0,8, - 10,10,17,253,255,24,60,90,24,24,24,24,255,0,255,10, - 12,24,17,252,254,12,0,30,0,127,128,127,128,127,128,30, - 0,30,0,255,192,255,192,255,192,255,192,255,192,16,8,16, - 17,242,251,1,0,7,192,136,96,255,255,0,24,0,32,0, - 64,255,192,16,9,18,17,242,251,7,0,15,192,159,224,255, - 255,255,255,255,255,255,248,255,224,255,192,13,14,28,17,250, - 248,226,56,34,32,34,32,34,32,255,248,162,40,162,40,162, - 40,162,40,255,248,34,32,34,32,34,32,226,56,15,16,32, - 17,249,247,251,190,251,190,251,190,59,184,255,254,255,254,255, - 254,251,190,251,190,255,254,255,254,255,254,59,184,251,190,251, - 190,251,190,14,14,28,17,0,255,192,0,192,0,196,16,196, - 32,196,64,196,128,197,0,198,0,199,240,192,0,192,0,192, - 0,255,252,255,252,16,16,32,17,255,254,240,0,240,0,247, - 12,247,28,247,56,247,112,247,224,247,192,247,252,247,252,247, - 252,240,0,255,255,255,255,255,255,255,255,14,14,28,17,243, - 255,0,12,0,12,32,140,16,140,8,140,4,140,2,140,1, - 140,63,140,0,12,0,12,0,12,255,252,255,252,16,16,32, - 17,242,254,0,15,0,15,48,239,56,239,28,239,14,239,7, - 239,3,239,63,239,63,239,63,239,0,15,255,255,255,255,255, - 255,255,255,13,14,28,17,250,255,2,0,2,0,2,0,2, - 0,2,0,2,0,34,32,18,64,10,128,7,0,2,0,0, - 0,255,248,255,248,15,16,32,17,249,254,3,128,3,128,3, - 128,3,128,3,128,3,128,51,152,59,184,31,240,15,224,7, - 192,3,128,255,254,255,254,255,254,255,254,14,10,20,17,249, - 255,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,16,12,24,17,248,254,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,255,255,255,255,255, - 255,255,255,15,16,32,17,248,248,255,254,128,0,191,254,160, - 2,175,250,168,10,171,234,170,42,170,170,171,170,168,42,175, - 234,160,10,191,250,128,2,255,254,16,16,32,17,248,248,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,10, - 14,28,17,252,242,12,0,12,0,30,0,30,0,63,0,63, - 0,127,128,127,128,204,192,140,64,12,0,12,0,12,0,12, - 0,12,16,32,17,251,241,15,0,15,0,31,128,31,128,63, - 192,63,192,127,224,127,224,255,240,255,240,255,240,239,112,15, - 0,15,0,15,0,15,0,14,14,28,17,249,249,7,128,31, - 224,63,240,120,120,112,56,224,28,224,28,224,28,224,28,112, - 56,120,120,63,240,31,224,7,128,16,16,32,17,248,248,7, - 224,31,248,63,252,127,254,127,254,252,63,248,31,248,31,248, - 31,248,31,252,63,127,254,127,254,63,252,31,248,7,224,14, - 16,32,17,250,243,63,240,103,152,200,204,147,36,158,36,136, - 68,199,140,127,248,83,40,83,40,83,40,87,168,211,44,240, - 60,255,252,255,252,15,16,32,17,250,243,127,248,239,156,219, - 238,183,182,191,246,159,102,207,206,255,252,215,172,215,172,215, - 172,223,236,215,174,243,62,255,254,255,254,15,16,32,17,249, - 249,31,240,32,8,96,6,80,26,79,226,192,2,192,2,64, - 2,64,2,89,26,106,170,235,170,218,154,64,2,64,2,63, - 252,16,16,32,17,249,249,31,240,63,248,127,255,127,255,255, - 255,255,255,255,255,255,255,127,255,127,255,255,255,255,255,255, - 255,255,255,127,255,63,252,16,15,30,17,249,248,2,128,2, - 128,2,128,2,128,2,128,2,128,254,255,0,0,254,255,2, - 128,2,128,2,128,2,128,2,128,2,128,16,16,32,17,249, - 247,7,192,7,192,7,192,7,192,7,192,255,255,255,255,255, - 255,255,255,255,255,7,192,7,192,7,192,7,192,7,192,7, - 192,16,15,30,17,249,248,66,132,162,138,82,148,42,168,22, - 208,10,160,253,127,2,128,253,127,10,160,22,208,42,168,82, - 148,162,138,66,132,16,15,30,17,249,248,102,204,182,219,222, - 246,110,236,54,216,250,191,252,127,1,0,252,127,250,191,54, - 216,110,236,222,246,182,219,102,204,16,15,30,17,249,248,1, - 0,1,0,1,0,1,0,1,0,1,0,1,0,254,255,1, - 0,1,0,1,0,1,0,1,0,1,0,1,0,16,16,32, - 17,249,247,3,128,3,128,3,128,3,128,3,128,3,128,255, - 255,255,255,255,255,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,15,15,30,17,249,248,2,128,6,192,10,160,18, - 144,34,136,66,132,254,254,0,0,254,254,66,132,34,136,18, - 144,10,160,6,192,2,128,16,16,32,17,249,247,7,192,15, - 224,31,240,59,184,115,156,227,142,255,255,254,255,255,255,227, - 142,115,156,59,184,31,240,15,224,7,192,3,128,10,10,20, - 17,251,251,30,0,127,128,127,128,255,192,255,192,255,192,255, - 192,127,128,127,128,30,0,12,12,24,17,250,250,31,128,127, - 224,127,224,255,240,255,240,255,240,255,240,255,240,255,240,127, - 224,127,224,31,128,12,12,24,17,250,249,255,240,128,16,128, - 16,128,16,128,16,134,16,134,16,128,16,128,16,128,16,128, - 16,255,240,14,14,28,17,249,248,255,252,255,252,255,252,224, - 28,224,28,231,156,231,156,231,156,231,156,224,28,224,28,255, - 252,255,252,255,252,10,14,28,17,251,249,12,0,30,0,63, - 0,109,128,204,192,12,0,12,0,12,0,12,0,204,192,109, - 128,63,0,30,0,12,0,12,16,32,17,250,248,15,0,31, - 128,63,192,127,224,255,240,255,240,255,240,15,0,15,0,255, - 240,255,240,255,240,127,224,63,192,31,128,15,0,15,15,30, - 17,242,241,0,2,0,12,0,60,0,248,3,248,15,240,63, - 240,1,224,2,224,4,192,8,192,16,128,32,128,64,0,128, - 0,15,16,32,17,242,240,0,6,0,30,0,126,1,252,7, - 248,31,248,127,240,127,240,7,224,15,224,29,192,57,192,113, - 128,225,128,192,0,128,0,15,15,30,17,242,241,0,2,0, - 12,0,60,0,248,3,248,0,112,0,176,1,32,2,32,4, - 0,8,0,16,0,32,0,64,0,128,0,15,15,30,17,242, - 241,0,6,0,30,0,124,1,252,7,248,7,248,1,240,3, - 240,7,96,14,64,28,0,56,0,112,0,224,0,192,0,12, - 12,24,17,250,249,255,240,137,16,153,144,176,208,224,112,134, - 16,134,16,224,112,176,208,153,144,137,16,255,240,14,14,28, - 17,249,248,255,252,255,252,207,204,223,236,252,252,251,124,247, - 188,247,188,251,124,252,252,223,236,207,204,255,252,255,252,14, - 14,28,17,250,248,143,192,223,224,248,48,144,16,152,0,252, - 0,0,0,0,0,0,252,0,100,32,36,48,124,31,236,15, - 196,16,16,32,17,249,247,199,224,239,240,255,248,255,252,252, - 28,255,12,255,0,255,0,0,255,0,255,48,127,56,63,63, - 255,31,255,15,247,7,227,14,14,28,17,249,249,3,0,7, - 128,15,192,3,0,35,16,99,24,255,252,255,252,99,24,35, - 16,3,0,15,192,7,128,3,0,16,16,32,17,248,248,3, - 192,3,224,7,224,15,240,23,232,59,220,255,255,255,255,255, - 255,255,255,59,220,23,232,15,240,7,224,3,192,3,192,16, - 15,30,17,242,243,0,120,0,112,128,51,159,176,255,240,254, - 48,252,48,96,56,0,240,31,224,8,0,8,0,8,0,8, - 0,30,0,16,16,32,17,242,243,0,252,0,252,192,255,255, - 255,255,255,255,252,255,252,255,252,255,252,255,252,127,248,31, - 240,28,0,28,0,63,0,63,0,16,16,32,17,254,240,63, - 0,16,128,200,64,234,160,200,32,203,160,248,60,56,63,8, - 39,8,39,9,47,9,39,9,32,17,16,33,8,62,248,16, - 16,32,17,254,240,63,0,223,128,239,192,255,224,239,224,239, - 252,255,254,255,255,63,239,15,239,15,255,15,239,15,231,31, - 240,63,248,62,248,13,16,32,17,244,240,0,24,0,120,1, - 224,3,192,7,128,15,192,31,224,95,192,255,224,191,224,15, - 192,15,128,148,0,196,0,104,0,48,0,13,16,32,17,244, - 240,0,56,0,248,3,240,7,224,15,192,31,224,127,240,255, - 240,255,240,255,240,255,224,255,192,255,128,254,0,252,0,120, - 0,15,14,28,17,0,242,127,128,128,64,126,32,16,16,14, - 16,16,16,14,40,16,68,12,130,3,4,2,72,1,16,0, - 160,0,64,16,16,32,17,0,241,127,128,255,192,255,224,255, - 240,127,248,31,248,63,248,31,252,63,254,31,255,15,254,7, - 252,3,248,1,240,0,224,0,64,15,14,28,17,250,250,62, - 248,99,140,193,6,128,2,128,2,128,2,128,2,192,6,96, - 12,48,24,24,48,12,96,6,192,3,128,15,14,28,17,250, - 250,62,248,127,252,227,142,193,6,192,6,192,6,194,134,225, - 14,112,28,56,56,28,112,15,224,7,192,3,128,16,16,32, - 17,248,248,255,255,213,85,170,171,213,85,160,11,208,5,160, - 11,208,5,160,11,208,5,160,11,208,5,170,171,213,85,170, - 171,255,255,16,16,32,17,248,248,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,14,14,28,17,249,248,127, - 248,63,240,159,228,207,204,231,156,243,60,255,252,255,252,243, - 60,231,156,207,204,159,228,63,240,127,248,16,16,32,17,248, - 247,63,252,127,254,127,254,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,127,254,127,254,63, - 252,8,14,14,17,0,242,128,192,224,240,248,252,254,255,248, - 216,140,12,6,6,10,16,32,17,255,241,192,0,224,0,240, - 0,248,0,252,0,254,0,255,0,255,128,255,192,255,192,254, - 0,239,0,207,0,7,128,7,128,3,0,14,13,26,17,0, - 249,192,0,192,0,193,0,194,0,196,0,200,0,223,252,200, - 0,196,0,194,0,193,0,192,0,192,0,16,15,30,17,255, - 248,240,0,240,0,240,192,241,192,243,128,247,0,255,255,255, - 255,255,255,247,0,243,128,241,192,240,192,240,0,240,0,10, - 14,28,17,0,249,192,0,192,0,192,0,192,0,192,0,192, - 0,255,192,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,12,16,32,17,255,248,240,0,240,0,240,0,240,0,240, - 0,240,0,255,240,255,240,255,240,255,240,240,0,240,0,240, - 0,240,0,240,0,240,0,16,16,32,17,248,248,128,3,127, - 253,127,253,68,69,69,85,69,85,69,85,69,85,68,69,127, - 253,127,253,127,253,127,253,127,253,127,253,128,3,15,16,32, - 17,248,248,127,252,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,127,252,10,10,20,17,0,255,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,255,192,255,192,12,12,24, - 17,255,254,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,255,240,255,240,255,240,255,240,10,10,20,17,247, - 255,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,255,192,255,192,12,12,24,17,246,254,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,255,240,255,240,255, - 240,255,240,16,16,32,17,242,245,3,128,30,240,2,128,129, - 0,67,135,36,75,29,112,5,64,4,64,2,128,4,64,9, - 32,18,144,20,80,120,60,248,63,16,16,32,17,242,245,31, - 224,63,240,63,248,195,130,231,199,127,255,63,251,31,240,7, - 224,7,192,15,224,31,240,63,248,126,252,252,127,252,127,16, - 16,32,17,248,248,128,3,127,253,127,253,68,69,84,85,84, - 85,84,85,84,85,68,69,127,253,127,253,127,253,127,253,127, - 253,127,253,128,3,15,16,32,17,248,248,127,252,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,127,252,15,14,28,17,252, - 243,7,0,12,0,6,0,3,0,127,248,128,4,179,54,179, - 54,179,54,128,6,128,6,96,28,24,96,7,128,16,16,32, - 17,252,241,15,128,30,0,15,0,7,0,127,248,255,252,255, - 255,255,255,255,255,255,255,255,255,255,255,63,247,31,224,15, - 192,7,128,11,16,32,17,246,255,112,0,136,0,140,0,74, - 0,122,0,33,0,17,0,16,128,8,128,12,64,4,64,2, - 32,1,224,0,224,0,96,0,32,13,16,32,17,245,255,252, - 0,254,0,255,0,127,0,63,128,63,128,31,192,15,192,15, - 224,7,224,7,240,3,248,1,248,0,248,0,120,0,56,15, - 16,32,17,249,252,7,128,15,192,31,224,51,48,51,48,31, - 224,15,192,7,128,135,132,135,134,67,8,56,112,7,128,31, - 226,240,62,128,4,16,16,32,17,249,252,15,192,31,224,63, - 240,127,248,127,248,63,240,31,224,143,193,143,199,207,207,247, - 156,120,120,7,128,127,227,255,255,240,62,10,10,20,17,252, - 251,12,0,12,0,12,0,12,0,255,192,255,192,12,0,12, - 0,12,0,12,0,12,12,24,17,251,250,15,0,15,0,15, - 0,15,0,255,240,255,240,255,240,255,240,15,0,15,0,15, - 0,15,0,9,15,30,17,252,248,62,0,127,0,227,128,193, - 128,225,128,99,128,7,0,30,0,28,0,20,0,20,0,119, - 0,54,0,28,0,8,0,11,16,32,17,251,248,31,0,63, - 128,127,192,255,224,241,224,249,224,123,224,63,192,31,128,31, - 0,31,0,63,128,127,192,63,128,31,0,14,0,8,14,14, - 17,249,242,1,3,7,15,31,63,127,255,31,27,49,48,96, - 96,10,16,32,17,248,241,0,192,1,192,3,192,7,192,15, - 192,31,192,63,192,127,192,255,192,255,192,31,192,61,192,60, - 192,120,0,120,0,48,0,14,13,26,17,243,249,0,12,0, - 12,2,12,1,12,0,140,0,76,255,236,0,76,0,140,1, - 12,2,12,0,12,0,12,16,15,30,17,242,248,0,15,0, - 15,3,15,3,143,1,207,0,239,255,255,255,255,255,255,0, - 239,1,207,3,143,3,15,0,15,0,15,10,14,28,17,247, - 249,0,192,0,192,0,192,0,192,0,192,0,192,255,192,255, - 192,0,192,0,192,0,192,0,192,0,192,0,192,12,16,32, - 17,246,248,0,240,0,240,0,240,0,240,0,240,0,240,255, - 240,255,240,255,240,255,240,0,240,0,240,0,240,0,240,0, - 240,0,240,16,16,32,17,248,248,128,3,127,253,127,253,68, - 69,85,69,85,69,85,69,85,69,68,69,127,253,127,253,127, - 253,127,253,127,253,127,253,128,3,15,16,32,17,248,248,127, - 252,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,127,252,14, - 14,28,17,250,248,255,252,128,68,128,68,128,68,255,196,136, - 68,136,68,136,68,136,68,143,252,136,4,136,4,136,4,255, - 252,16,16,32,17,249,247,255,255,255,255,255,255,224,119,255, - 247,255,247,255,247,238,119,238,119,239,255,239,255,239,255,238, - 7,255,255,255,255,255,255,12,13,26,17,250,242,1,0,1, - 0,5,128,5,128,13,128,13,192,29,192,29,192,61,224,61, - 224,125,224,125,240,248,224,16,16,32,17,248,240,0,192,0, - 224,1,224,3,240,3,240,7,240,7,248,15,248,15,248,31, - 252,31,252,63,252,63,255,127,255,255,248,127,224,7,15,15, - 17,253,0,40,40,40,40,40,40,40,40,40,40,40,254,124, - 56,16,9,16,32,17,252,255,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,255,128,255,128, - 127,0,62,0,28,0,8,0,15,7,14,17,249,252,16,16, - 48,24,127,252,240,30,127,252,48,24,16,16,15,9,18,17, - 249,251,24,48,56,56,127,252,255,254,255,254,255,254,127,252, - 56,56,24,48,15,7,14,17,1,252,16,0,48,0,127,254, - 240,0,127,254,48,0,16,0,16,9,18,17,0,251,12,0, - 28,0,63,255,127,255,255,255,127,255,63,255,28,0,12,0, - 15,7,14,17,241,252,0,16,0,24,255,252,0,30,255,252, - 0,24,0,16,16,9,18,17,241,251,0,48,0,56,255,252, - 255,254,255,255,255,254,255,252,0,56,0,48,7,15,15,17, - 253,240,16,56,124,254,40,40,40,40,40,40,40,40,40,40, - 40,9,16,32,17,252,240,8,0,28,0,62,0,127,0,255, - 128,255,128,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,7,15,15,17,253,248,16,56,124, - 254,40,40,40,40,40,40,40,254,124,56,16,9,15,30,17, - 252,248,28,0,62,0,127,0,255,128,255,128,62,0,62,0, - 62,0,62,0,62,0,255,128,255,128,127,0,62,0,28,0, - 15,16,32,17,246,240,0,32,0,112,0,248,1,222,5,222, - 9,222,17,222,17,222,17,222,17,222,49,222,113,222,253,222, - 24,136,0,120,0,48,16,16,32,17,245,240,0,56,0,124, - 0,254,0,255,6,255,14,255,30,255,30,255,30,255,30,255, - 62,255,126,255,254,255,126,254,12,126,0,60,14,14,28,17, - 249,249,255,0,128,0,128,0,128,0,143,192,136,64,136,68, - 136,68,8,68,15,196,0,36,0,20,0,12,3,252,16,16, - 32,17,248,248,255,192,255,192,255,192,224,0,239,240,239,240, - 239,247,238,119,238,119,239,247,15,247,15,255,0,31,3,255, - 3,255,3,255,16,16,32,17,250,247,32,16,16,32,16,32, - 8,64,8,64,135,135,103,152,31,224,31,224,103,152,135,135, - 8,64,8,64,16,32,16,32,32,16,16,16,32,17,250,247, - 96,24,48,48,16,32,24,96,143,193,207,207,111,220,63,240, - 63,224,111,248,207,207,143,193,24,64,24,96,48,48,96,24, - 11,16,32,17,247,242,0,96,1,0,52,96,121,0,104,96, - 252,0,132,0,228,0,164,0,228,0,164,0,228,0,228,0, - 132,0,132,0,252,0,12,16,32,17,246,242,0,48,24,176, - 62,176,62,176,126,176,255,0,255,0,255,0,255,0,255,0, - 255,0,255,0,255,0,255,0,255,0,255,0,15,16,32,17, - 249,247,1,0,2,128,2,128,2,128,4,64,4,64,4,64, - 57,56,192,6,56,56,9,32,18,144,36,72,40,40,48,24, - 32,8,16,16,32,17,249,247,1,0,3,128,3,128,6,192, - 6,192,12,96,28,120,249,62,192,7,248,62,57,56,51,152, - 102,204,108,108,120,60,112,28,15,13,26,17,249,249,3,128, - 15,224,28,112,48,24,96,12,193,6,194,134,193,6,96,12, - 48,24,28,112,15,224,3,128,16,14,28,17,249,249,7,192, - 15,224,31,240,60,120,112,28,225,14,195,135,198,199,195,135, - 225,14,112,28,60,120,31,240,7,192,13,13,26,16,250,249, - 2,0,2,0,2,0,2,0,2,0,2,0,255,248,2,0, - 2,0,2,0,2,0,2,0,2,0,15,15,30,16,249,248, - 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, - 255,254,3,128,3,128,3,128,3,128,3,128,3,128,14,14, - 28,17,0,242,192,0,240,0,124,0,127,0,63,192,63,240, - 31,0,31,0,12,128,12,64,4,32,4,16,0,8,0,4, - 16,16,32,17,255,241,224,0,248,0,254,0,127,128,127,224, - 63,252,63,252,31,252,31,192,15,224,15,112,7,56,7,28, - 7,14,0,7,0,3,14,14,28,17,0,242,255,252,255,252, - 192,0,192,0,192,0,199,240,198,0,197,0,196,128,196,64, - 196,32,196,16,192,0,192,0,16,16,32,17,255,241,255,255, - 255,255,255,255,255,255,240,0,247,252,247,252,247,252,247,192, - 247,224,247,112,247,56,247,28,247,12,240,0,240,0,14,14, - 28,17,243,242,255,252,255,252,0,12,0,12,0,12,63,140, - 1,140,2,140,4,140,8,140,16,140,32,140,0,12,0,12, - 16,16,32,17,242,241,255,255,255,255,255,255,255,255,0,15, - 63,239,63,239,63,239,3,239,7,239,14,239,28,239,56,239, - 48,239,0,15,0,15,13,14,28,17,250,242,255,248,255,248, - 0,0,2,0,7,0,10,128,18,64,34,32,2,0,2,0, - 2,0,2,0,2,0,2,0,15,16,32,17,249,241,255,254, - 255,254,255,254,255,254,3,128,7,192,15,224,31,240,59,184, - 51,152,3,128,3,128,3,128,3,128,3,128,3,128,14,10, - 20,17,249,246,255,252,255,252,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,16,12,24,17,248,245,255,255, - 255,255,255,255,255,255,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,7,16,16,17,253,240,16,0,56,124, - 254,238,254,124,56,16,186,214,146,130,130,130,9,16,32,17, - 252,240,28,0,28,0,62,0,127,0,255,128,255,128,255,128, - 127,0,62,0,93,0,255,128,255,128,255,128,235,128,235,128, - 227,128,10,10,20,17,0,246,255,192,255,192,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,12,12,24,17, - 255,245,255,240,255,240,255,240,255,240,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,14,14,28,17,249,244, - 17,32,4,80,147,76,79,144,50,96,194,24,2,0,2,0, - 2,0,2,0,2,0,2,128,2,128,1,0,16,16,32,17, - 248,242,23,110,223,251,191,252,127,255,255,252,255,255,243,158, - 3,128,3,128,3,128,3,128,3,224,3,224,3,224,3,224, - 1,192,10,10,20,17,247,246,255,192,255,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,12,12,24,17, - 246,245,255,240,255,240,255,240,255,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,16,16,32,17,241,249, - 31,224,31,224,31,224,63,240,97,24,193,12,129,7,131,135, - 131,135,132,7,200,12,96,24,63,240,31,224,31,224,31,224, - 16,16,32,17,241,249,63,240,63,240,63,240,127,248,255,252, - 255,255,255,255,255,255,255,255,255,255,255,255,255,252,127,248, - 63,240,63,240,63,240,7,14,14,10,253,249,238,56,16,16, - 16,16,16,16,16,16,16,16,56,238,9,16,32,10,252,248, - 247,128,255,128,255,128,62,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,255,128,247,128, - 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,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,255,255,255,255}; -/* - Fontname: cursor - Copyright: These - Capital A Height: 0, '1' Height: 0 - Calculated Max Values w=16 h=16 x= 0 y= 0 dx=17 dy= 0 ascent= 7 len=32 - Font Bounding box w=31 h=31 x=-15 y=-16 - Calculated Min Values x=-14 y=-16 dx= 0 dy= 0 - Pure Font ascent = 0 descent= 0 - X Font ascent = 0 descent= 0 - Max Font ascent = 7 descent=-16 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cursorr[492] U8G_SECTION(".progmem.u8g_font_cursorr") = { - 0,31,31,241,240,0,1,6,0,0,32,80,0,7,240,0, - 0,255,255,14,14,28,17,243,242,0,12,0,60,0,248,3, - 248,15,240,63,240,3,224,7,224,14,192,28,192,56,128,112, - 128,224,0,64,0,16,16,32,17,242,241,0,7,0,31,0, - 127,1,254,7,254,31,252,63,252,63,248,7,248,15,240,31, - 240,62,224,124,224,248,64,112,0,32,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,10,14,28, - 17,252,242,12,0,12,0,30,0,30,0,63,0,63,0,127, - 128,127,128,204,192,140,64,12,0,12,0,12,0,12,0,12, - 16,32,17,251,241,15,0,15,0,31,128,31,128,63,192,63, - 192,127,224,127,224,255,240,255,240,255,240,239,112,15,0,15, - 0,15,0,15,0,255,255,255,255,255,255,16,15,30,17,249, - 248,2,128,2,128,2,128,2,128,2,128,2,128,254,255,0, - 0,254,255,2,128,2,128,2,128,2,128,2,128,2,128,16, - 16,32,17,249,247,7,192,7,192,7,192,7,192,7,192,255, - 255,255,255,255,255,255,255,255,255,7,192,7,192,7,192,7, - 192,7,192,7,192,255,255,16,15,30,17,249,248,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,254,255,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,16,16,32,17,249, - 247,3,128,3,128,3,128,3,128,3,128,3,128,255,255,255, - 255,255,255,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,255,255,255,255,255,255,255,255,15,15,30,17,242,241,0, - 2,0,12,0,60,0,248,3,248,15,240,63,240,1,224,2, - 224,4,192,8,192,16,128,32,128,64,0,128,0,15,16,32, - 17,242,240,0,6,0,30,0,126,1,252,7,248,31,248,127, - 240,127,240,7,224,15,224,29,192,57,192,113,128,225,128,192, - 0,128,0,15,15,30,17,242,241,0,2,0,12,0,60,0, - 248,3,248,0,112,0,176,1,32,2,32,4,0,8,0,16, - 0,32,0,64,0,128,0,15,15,30,17,242,241,0,6,0, - 30,0,124,1,252,7,248,7,248,1,240,3,240,7,96,14, - 64,28,0,56,0,112,0,224,0,192,0,255}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 7 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 = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0[1702] U8G_SECTION(".progmem.u8g_font_fixed_v0") = { - 1,7,9,0,254,7,1,46,2,94,32,255,254,7,254,7, - 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, - 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, - 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, - 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, - 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, - 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, - 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, - 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, - 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, - 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, - 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, - 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, - 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, - 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, - 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, - 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, - 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, - 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, - 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, - 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, - 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, - 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, - 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, - 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, - 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, - 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, - 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, - 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, - 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, - 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, - 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, - 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, - 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, - 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, - 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, - 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, - 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, - 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, - 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, - 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, - 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, - 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, - 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, - 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, - 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, - 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, - 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, - 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, - 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, - 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, - 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, - 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, - 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, - 103,192,32,16,24,16,32,192,4,82,98,72,176,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,255,2, - 87,103,48,0,248,32,32,32,248,2,87,103,32,112,168,160, - 168,112,32,2,87,103,64,64,64,240,64,72,120,3,85,101, - 136,112,80,112,136,2,87,103,136,136,80,248,32,248,32,34, - 23,103,128,128,128,0,128,128,128,2,87,103,120,128,120,136, - 240,8,240,5,81,97,248,2,87,103,112,136,168,200,168,136, - 112,2,87,103,112,8,120,136,120,0,248,4,83,99,72,144, - 72,4,82,98,248,8,255,2,87,103,112,136,248,200,200,136, - 112,8,81,97,248,20,51,99,64,160,64,2,87,103,32,32, - 248,32,32,0,248,255,255,255,255,255,255,255,255,255,4,83, - 99,144,72,144,255,255,255,255,2,87,103,64,32,112,136,248, - 136,136,2,87,103,16,32,112,136,248,136,136,2,87,103,32, - 80,112,136,248,136,136,2,87,103,72,176,112,136,248,136,136, - 2,87,103,80,0,112,136,248,136,136,2,87,103,112,0,112, - 136,248,136,136,2,87,103,120,160,160,240,160,160,184,0,89, - 105,112,136,128,128,128,136,112,32,96,2,87,103,64,32,248, - 128,224,128,248,2,87,103,16,32,248,128,224,128,248,2,87, - 103,32,80,248,128,224,128,248,2,87,103,80,0,248,128,224, - 128,248,2,87,103,64,32,248,32,32,32,248,2,87,103,16, - 32,248,32,32,32,248,2,87,103,32,80,248,32,32,32,248, - 2,87,103,80,0,248,32,32,32,248,2,87,103,240,136,136, - 232,136,136,240,2,87,103,72,176,136,200,168,152,136,2,87, - 103,64,32,112,136,136,136,112,2,87,103,16,32,112,136,136, - 136,112,2,87,103,32,80,112,136,136,136,112,2,87,103,72, - 176,112,136,136,136,112,2,87,103,80,0,112,136,136,136,112, - 20,51,99,160,64,160,2,87,103,112,136,152,168,200,136,112, - 2,87,103,64,32,136,136,136,136,112,2,87,103,16,32,136, - 136,136,136,112,2,87,103,32,80,136,136,136,136,112,2,87, - 103,80,0,136,136,136,136,112,2,87,103,16,32,136,136,80, - 32,32,2,87,103,128,128,240,136,240,128,128,0,89,105,240, - 136,136,176,136,136,176,128,128,2,87,103,64,32,112,8,120, - 136,120,2,87,103,16,32,112,8,120,136,120,2,87,103,32, - 80,112,8,120,136,120,2,87,103,72,176,112,8,120,136,120, - 2,87,103,80,0,112,8,120,136,120,2,87,103,48,0,112, - 8,120,136,120,2,85,101,240,40,120,160,120,0,87,103,112, - 136,128,136,112,32,96,2,87,103,64,32,112,136,248,128,120, - 2,87,103,16,32,112,136,248,128,120,2,87,103,32,80,112, - 136,248,128,120,2,87,103,80,0,112,136,248,128,120,2,87, - 103,64,32,248,32,32,32,248,2,87,103,16,32,248,32,32, - 32,248,2,87,103,32,80,248,32,32,32,248,2,87,103,80, - 0,248,32,32,32,248,2,87,103,8,56,8,120,136,136,120, - 2,87,103,72,176,176,200,136,136,136,2,87,103,64,32,112, - 136,136,136,112,2,87,103,16,32,112,136,136,136,112,2,87, - 103,32,80,112,136,136,136,112,2,87,103,72,176,112,136,136, - 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, - 0,248,0,32,2,85,101,112,152,168,200,112,2,87,103,64, - 32,136,136,136,136,112,2,87,103,16,32,136,136,136,136,112, - 2,87,103,32,80,136,136,136,136,112,2,87,103,80,0,136, - 136,136,136,112,0,89,105,16,32,136,136,136,136,120,8,112, - 2,87,103,128,128,240,136,240,128,128,0,89,105,80,0,136, - 136,136,136,120,8,112}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 5 h= 7 x= 1 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 7 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 7 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[159] U8G_SECTION(".progmem.u8g_font_fixed_v0n") = { - 1,7,9,0,254,7,0,0,0,0,42,57,0,7,0,7, - 0,2,87,103,32,168,112,32,112,168,32,3,85,101,32,32, - 248,32,32,18,34,98,64,128,5,81,97,248,18,18,98,128, - 128,2,87,103,8,16,16,32,64,64,128,2,87,103,112,136, - 136,136,136,136,112,2,87,103,32,96,32,32,32,32,248,2, - 87,103,112,136,8,16,32,64,248,2,87,103,240,8,8,48, - 8,8,240,2,87,103,16,144,144,248,16,16,16,2,87,103, - 248,128,128,240,8,8,240,2,87,103,112,128,128,240,136,136, - 112,2,87,103,248,8,8,8,8,8,8,2,87,103,112,136, - 136,112,136,136,112,2,87,103,112,136,136,248,8,8,112}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 7 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 = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[878] U8G_SECTION(".progmem.u8g_font_fixed_v0r") = { - 1,7,9,0,254,7,1,46,2,94,32,127,254,7,254,7, - 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, - 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, - 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, - 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, - 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, - 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, - 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, - 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, - 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, - 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, - 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, - 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, - 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, - 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, - 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, - 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, - 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, - 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, - 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, - 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, - 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, - 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, - 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, - 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, - 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, - 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, - 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, - 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, - 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, - 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, - 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, - 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, - 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, - 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, - 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, - 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, - 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, - 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, - 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, - 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, - 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, - 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, - 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, - 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, - 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, - 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, - 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, - 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, - 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, - 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, - 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, - 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, - 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, - 103,192,32,16,24,16,32,192,4,82,98,72,176,255}; -/* - Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO8859-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=10 x= 4 y=10 dx= 8 dy= 0 ascent=12 len=10 - Font Bounding box w= 7 h=12 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =10 descent= 1 - X Font ascent =12 descent= 0 - Max Font ascent =12 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[1042] U8G_SECTION(".progmem.u8g_font_freedoomr10r") = { - 0,7,12,0,0,10,1,113,3,88,32,127,1,12,0,12, - 0,0,0,0,7,0,1,0,0,0,7,0,1,0,0,0, - 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, - 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, - 1,3,10,10,7,0,2,96,128,128,128,128,128,128,128,128, - 96,3,10,10,7,3,2,192,32,32,32,32,32,32,32,32, - 192,5,5,5,8,1,7,168,112,32,112,168,7,7,7,8, - 0,4,16,16,16,254,16,16,16,2,2,2,7,2,10,64, - 128,7,1,1,8,0,7,254,2,2,2,7,2,2,192,192, - 7,10,10,8,0,2,2,4,4,8,16,16,32,64,64,128, - 6,10,10,7,0,2,252,132,132,132,132,132,132,132,132,252, - 2,10,10,7,4,2,192,64,64,64,64,64,64,64,64,64, - 6,10,10,7,0,2,252,4,4,4,4,252,128,128,128,252, - 6,10,10,7,0,2,252,4,4,4,60,4,4,4,4,252, - 6,10,10,7,0,2,132,132,132,132,132,252,4,4,4,4, - 6,10,10,7,0,2,252,128,128,128,252,4,4,4,4,252, - 6,10,10,7,0,2,252,128,128,128,252,132,132,132,132,252, - 6,10,10,7,0,2,252,4,4,4,4,4,4,4,4,4, - 6,10,10,7,0,2,252,132,132,132,252,132,132,132,132,252, - 6,10,10,7,0,2,252,132,132,132,252,4,4,4,4,252, - 2,7,7,7,2,2,192,192,0,0,0,192,192,0,0,0, - 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, - 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, - 1,7,10,10,8,0,2,254,130,130,130,130,254,130,130,130, - 130,7,10,10,8,0,2,254,130,130,130,252,130,130,130,130, - 254,7,10,10,8,0,2,254,128,128,128,128,128,128,128,128, - 254,7,10,10,8,0,2,252,130,130,130,130,130,130,130,130, - 252,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, - 254,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, - 128,7,10,10,8,0,2,254,128,128,128,158,130,130,130,130, - 254,7,10,10,8,0,2,130,130,130,130,254,130,130,130,130, - 130,1,10,10,8,3,2,128,128,128,128,128,128,128,128,128, - 128,7,10,10,8,0,2,30,2,2,2,2,2,130,130,130, - 124,7,10,10,8,0,2,130,132,136,144,224,160,144,136,132, - 130,7,10,10,8,0,2,128,128,128,128,128,128,128,128,128, - 254,7,10,10,8,0,2,130,198,170,146,130,130,130,130,130, - 130,7,10,10,8,0,2,194,194,162,162,146,146,138,138,134, - 134,7,10,10,8,0,2,124,130,130,130,130,130,130,130,130, - 124,7,10,10,8,0,2,254,130,130,130,254,128,128,128,128, - 128,7,10,10,8,0,2,120,132,132,132,132,132,132,132,132, - 126,7,10,10,8,0,2,254,130,130,130,254,160,144,136,132, - 130,7,10,10,8,0,2,254,128,128,128,128,254,2,2,2, - 254,7,9,9,8,0,3,254,16,16,16,16,16,16,16,16, - 7,10,10,8,0,2,130,130,130,130,130,130,130,130,130,254, - 7,10,10,8,0,2,130,130,130,68,68,108,40,40,16,16, - 7,10,10,8,0,2,130,130,130,130,130,146,146,170,170,198, - 7,10,10,8,0,2,130,68,68,40,16,16,40,68,68,130, - 7,10,10,8,0,2,130,130,130,130,254,16,16,16,16,16, - 7,10,10,8,0,2,254,2,6,12,24,48,96,192,128,254, - 4,10,10,7,0,2,240,128,128,128,128,128,128,128,128,240, - 6,10,10,7,0,2,128,64,64,32,32,16,16,8,8,4, - 4,10,10,7,2,2,240,16,16,16,16,16,16,16,16,240, - 5,3,3,7,1,9,32,80,136,6,1,1,7,0,2,252, - 2,2,2,7,2,10,128,64,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1}; -/* - Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=24 x= 7 y=13 dx=19 dy= 0 ascent=26 len=72 - Font Bounding box w=18 h=26 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =26 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[943] U8G_SECTION(".progmem.u8g_font_freedoomr25n") = { - 0,18,26,0,0,24,3,112,3,144,32,127,0,26,0,24, - 0,0,0,0,11,0,0,255,255,255,255,255,255,255,255,255, - 255,17,16,48,19,1,6,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,255,255,128,255, - 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,7,8,8,11,3,2,62,62,62, - 62,62,240,240,240,9,2,4,11,1,13,255,128,255,128,5, - 5,5,11,5,2,248,248,248,248,248,255,17,24,72,19,1, - 2,255,255,128,255,255,128,192,3,128,192,3,128,192,3,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,192,3,128,192,3,128, - 255,255,128,255,255,128,255,255,128,6,24,24,19,7,2,252, - 252,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,17,24,72,19,1,2,255,255,128, - 255,255,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,128,0,3,128,0,3,128,0,3,128,0,3,128,255,255, - 128,255,255,128,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,255,255,128,255, - 255,128,255,255,128,17,24,72,19,1,2,255,255,128,255,255, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,0,3,128,0,3,128,31,255,128,31, - 255,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, - 128,0,3,128,0,3,128,0,3,128,255,255,128,255,255,128, - 255,255,128,17,24,72,19,1,2,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, - 128,17,24,72,19,1,2,255,255,128,255,255,128,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,255,255,128,255,255,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,17, - 24,72,19,1,2,255,255,128,255,255,128,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,255,255,128,255,255,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,255,255,128,255,255,128,255,255,128,16,24,48, - 19,2,2,255,255,255,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,17,24,72,19,1,2,255,255,128,255,255,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,255,255,128,255,255,128,255,255, - 128,17,24,72,19,1,2,255,255,128,255,255,128,192,3,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,255,255,128,255,255,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,5, - 16,16,11,5,2,248,248,248,248,248,0,0,0,0,0,0, - 248,248,248,248,248,7,16,16,11,3,2,62,62,62,62,62, - 0,0,0,62,62,62,62,62,240,240,240,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,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,255,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=17 x= 4 y=10 dx=17 dy= 0 ascent=17 len=34 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =17 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11[3948] U8G_SECTION(".progmem.u8g_font_fub11") = { - 0,24,21,255,252,11,2,82,5,55,32,255,253,17,252,11, - 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, - 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, - 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, - 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, - 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, - 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, - 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, - 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, - 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, - 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, - 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, - 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, - 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, - 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, - 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, - 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, - 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, - 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, - 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, - 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, - 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, - 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, - 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, - 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, - 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, - 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, - 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, - 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, - 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, - 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, - 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, - 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, - 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, - 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, - 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, - 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, - 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, - 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, - 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, - 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, - 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, - 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, - 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, - 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, - 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, - 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, - 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, - 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, - 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, - 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, - 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, - 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, - 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, - 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, - 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, - 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, - 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, - 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, - 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, - 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, - 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, - 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, - 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, - 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, - 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, - 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, - 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, - 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, - 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, - 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, - 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, - 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, - 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, - 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, - 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, - 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, - 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, - 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, - 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, - 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, - 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, - 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, - 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, - 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, - 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, - 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, - 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, - 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, - 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, - 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, - 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, - 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, - 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, - 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, - 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, - 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, - 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, - 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, - 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, - 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, - 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, - 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, - 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, - 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, - 0,3,121,223,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,5,0,0,2,11,11,6,2, - 253,192,0,0,192,192,192,192,192,192,192,192,7,12,12,9, - 1,254,4,4,60,110,206,208,208,214,110,60,32,64,8,11, - 11,10,1,0,62,119,96,96,252,96,96,96,96,96,255,9, - 8,16,10,1,2,128,128,93,0,34,0,65,0,65,0,34, - 0,93,0,128,128,9,11,22,11,1,0,195,128,99,0,103, - 0,247,128,62,0,60,0,255,128,24,0,24,0,24,0,24, - 0,1,14,14,5,2,253,128,128,128,128,128,128,0,0,128, - 128,128,128,128,128,6,14,14,8,1,253,120,236,192,224,120, - 124,204,204,248,120,28,12,156,248,5,1,1,5,0,10,216, - 12,11,22,14,1,0,31,128,57,192,111,96,217,176,152,16, - 152,16,153,144,143,16,64,32,48,192,31,128,5,8,8,7, - 1,3,112,216,120,216,216,120,0,248,8,6,6,10,1,1, - 103,102,238,206,102,103,9,4,8,10,0,3,255,128,0,128, - 0,128,0,128,255,12,11,22,14,1,0,31,128,57,192,111, - 96,201,176,136,144,143,16,137,144,136,144,72,160,48,192,31, - 128,5,1,1,5,0,10,248,4,4,4,6,1,7,96,208, - 144,240,9,10,20,16,3,0,8,0,8,0,8,0,255,128, - 8,0,8,0,8,0,0,0,0,0,255,128,5,6,6,7, - 1,5,112,216,24,48,192,248,5,7,7,7,1,4,112,216, - 24,112,24,216,112,3,3,3,4,1,9,96,192,128,255,7, - 14,14,9,1,253,126,244,244,244,244,116,20,20,20,20,20, - 20,20,20,2,2,2,4,1,4,192,192,4,4,4,3,0, - 252,64,48,176,224,3,6,6,5,1,5,96,224,96,96,96, - 96,6,8,8,8,1,3,120,252,204,204,204,120,0,252,8, - 6,6,10,1,1,204,102,103,103,102,204,12,11,22,13,1, - 0,224,128,97,128,99,0,99,0,102,0,108,224,12,224,25, - 224,25,96,51,240,96,96,11,11,22,13,1,0,97,0,227, - 0,98,0,102,0,100,0,109,224,27,96,24,96,49,192,35, - 0,99,224,12,11,22,13,1,0,120,192,216,128,113,128,217, - 0,115,0,6,96,4,224,13,224,25,96,25,240,48,96,7, - 11,11,9,1,253,24,0,24,24,56,112,224,192,194,254,60, - 11,16,32,11,0,0,24,0,12,0,4,0,0,0,0,0, - 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, - 127,192,96,224,224,96,11,16,32,11,0,0,3,0,2,0, - 4,0,0,0,0,0,14,0,14,0,15,0,27,0,27,128, - 57,128,49,128,63,192,127,192,96,224,224,96,11,16,32,11, - 0,0,6,0,14,0,25,0,0,0,0,0,14,0,14,0, - 15,0,27,0,27,128,57,128,49,128,63,192,127,192,96,224, - 224,96,11,15,30,11,0,0,13,0,23,0,0,0,0,0, - 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, - 127,192,96,224,224,96,11,15,30,11,0,0,27,0,0,0, - 0,0,0,0,14,0,14,0,15,0,27,0,27,0,59,128, - 49,128,63,192,127,192,96,224,224,96,10,17,34,12,1,0, - 12,0,18,0,18,0,30,0,0,0,0,0,12,0,30,0, - 30,0,63,0,51,0,51,0,99,128,127,128,255,192,192,192, - 192,192,15,11,22,16,0,0,3,254,7,128,7,128,13,128, - 29,128,25,254,57,128,63,128,97,128,97,128,193,254,10,15, - 30,12,1,252,31,0,119,128,97,192,192,0,192,0,192,0, - 192,0,193,192,97,192,115,128,62,0,8,0,14,0,2,0, - 28,0,8,16,16,10,1,0,96,48,24,0,0,255,192,192, - 192,192,255,192,192,192,192,255,8,16,16,10,1,0,12,8, - 16,0,0,255,192,192,192,192,255,192,192,192,192,255,8,16, - 16,10,1,0,24,60,36,0,0,255,192,192,192,192,255,192, - 192,192,192,255,8,15,15,10,1,0,102,0,0,0,255,192, - 192,192,192,255,192,192,192,192,255,4,16,16,4,255,0,192, - 96,48,0,0,48,48,48,48,48,48,48,48,48,48,48,4, - 16,16,4,1,0,112,96,192,0,0,192,192,192,192,192,192, - 192,192,192,192,192,4,16,16,4,0,0,96,240,144,0,0, - 96,96,96,96,96,96,96,96,96,96,96,5,15,15,5,0, - 0,216,0,0,0,48,48,48,48,48,48,48,48,48,48,48, - 11,11,22,12,0,0,127,0,99,128,96,192,96,224,96,96, - 252,96,96,96,96,224,96,192,99,128,127,0,10,15,30,12, - 1,0,25,0,22,0,0,0,0,0,240,192,240,192,248,192, - 216,192,220,192,204,192,206,192,198,192,199,192,195,192,195,192, - 11,16,32,13,1,0,24,0,8,0,12,0,0,0,0,0, - 31,0,123,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,123,192,31,0,11,16,32,13,1,0,3,0,2,0, - 4,0,0,0,0,0,31,0,123,192,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,0,11,16,32,13, - 1,0,14,0,27,0,17,0,0,0,0,0,31,0,123,192, - 96,192,192,96,192,96,192,96,192,96,192,96,96,192,123,192, - 31,0,11,15,30,13,1,0,31,0,0,0,0,0,0,0, - 31,0,123,192,96,192,192,96,192,96,192,96,192,96,224,224, - 96,192,127,192,31,0,11,15,30,13,1,0,27,0,0,0, - 0,0,0,0,31,0,123,192,96,192,192,96,192,96,192,96, - 192,96,192,96,96,192,123,192,31,0,8,8,8,16,4,0, - 129,195,102,24,24,36,66,129,11,11,22,13,1,0,31,160, - 59,192,96,192,193,96,194,96,196,96,200,96,208,96,224,192, - 123,128,191,0,10,16,32,12,1,0,48,0,24,0,8,0, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,62,0,10,16,32,12,1,0, - 3,0,6,0,4,0,0,0,0,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,62,0, - 10,16,32,12,1,0,28,0,30,0,51,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,62,0,10,15,30,12,1,0,51,0,0,0, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,115,128,62,0,10,16,32,10,0,0, - 6,0,6,0,4,0,0,0,0,0,225,192,113,128,51,128, - 59,0,31,0,30,0,12,0,12,0,12,0,12,0,12,0, - 8,11,11,10,1,0,192,192,254,199,195,195,199,254,192,192, - 192,8,11,11,10,1,0,124,238,198,206,220,216,206,199,195, - 219,222,7,12,12,9,1,0,96,48,16,0,60,110,6,126, - 230,198,238,118,7,12,12,9,1,0,12,24,16,0,60,110, - 6,126,230,198,238,118,7,12,12,9,1,0,56,44,68,0, - 60,110,6,126,230,198,238,118,7,11,11,9,1,0,60,0, - 0,60,110,6,126,230,198,238,118,7,11,11,9,1,0,108, - 0,0,60,230,6,126,230,198,238,118,7,13,13,9,1,0, - 24,36,36,60,0,60,102,6,126,230,198,238,126,13,8,16, - 15,1,0,60,224,103,176,7,24,127,248,231,0,199,24,237, - 184,120,240,7,12,12,9,1,252,60,110,198,192,192,198,110, - 60,16,28,4,56,7,13,13,9,1,0,96,32,48,16,0, - 60,110,198,254,192,198,110,60,7,13,13,9,1,0,12,12, - 24,16,0,60,110,198,254,192,198,110,60,7,13,13,9,1, - 0,24,56,44,68,0,60,110,198,254,192,198,110,60,7,12, - 12,9,1,0,108,0,0,0,60,110,198,254,192,206,110,60, - 3,12,12,4,0,0,192,96,32,0,96,96,96,96,96,96, - 96,96,3,12,12,4,1,0,96,192,128,0,192,192,192,192, - 192,192,192,192,5,12,12,4,0,0,96,208,136,0,96,96, - 96,96,96,96,96,96,5,11,11,5,0,0,216,0,0,48, - 48,48,48,48,48,48,48,8,11,11,10,1,0,51,28,102, - 62,103,195,195,195,195,103,60,7,11,11,9,1,0,60,0, - 0,220,238,198,198,198,198,198,198,8,13,13,10,1,0,96, - 48,16,8,0,60,102,195,195,195,195,102,60,8,13,13,10, - 1,0,6,12,8,16,0,60,102,195,195,195,195,102,60,8, - 13,13,10,1,0,24,28,36,34,0,60,102,195,195,195,195, - 102,60,8,11,11,10,1,0,60,0,0,60,102,195,195,195, - 195,102,60,8,12,12,10,1,0,102,0,0,0,60,102,195, - 195,195,195,102,60,10,6,12,16,3,2,12,0,0,0,255, - 192,0,0,0,0,12,0,8,10,10,10,1,255,1,62,102, - 207,203,211,227,118,252,128,7,12,12,9,1,0,96,48,16, - 0,198,198,198,198,198,198,238,118,7,12,12,9,1,0,12, - 24,16,0,198,198,198,198,198,198,238,118,7,12,12,9,1, - 0,56,40,68,0,198,198,198,198,198,198,238,118,7,11,11, - 9,1,0,108,0,0,198,198,198,198,198,198,238,118,9,16, - 32,9,0,253,7,0,6,0,12,0,8,0,0,0,99,128, - 99,0,115,0,54,0,54,0,30,0,28,0,28,0,28,0, - 248,0,112,0,8,14,14,10,1,253,192,192,192,220,230,195, - 195,195,199,230,220,192,192,192,8,14,14,9,1,253,108,0, - 0,199,198,238,108,108,60,56,56,56,48,48}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=16 dy= 0 ascent=11 len=18 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11n[266] U8G_SECTION(".progmem.u8g_font_fub11n") = { - 0,24,21,255,252,11,0,0,0,0,42,57,0,11,254,11, - 0,6,5,5,10,2,5,120,48,252,48,120,9,9,18,16, - 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,3,4,4,5,1,254,96,96,192,192,4,2, - 2,6,1,3,240,240,2,2,2,5,2,0,192,192,5,12, - 12,7,1,255,24,24,16,48,48,32,32,96,96,64,192,192, - 8,11,11,9,1,0,60,102,195,195,195,195,195,195,195,102, - 60,4,11,11,9,2,0,48,240,240,48,48,48,48,48,48, - 48,48,8,11,11,9,1,0,62,119,99,3,7,6,30,60, - 112,224,255,8,11,11,9,1,0,124,238,198,6,60,6,3, - 195,199,126,60,8,11,11,9,1,0,14,30,30,54,102,102, - 198,255,255,6,6,8,11,11,9,1,0,254,192,192,192,254, - 231,3,3,199,254,124,8,11,11,9,1,0,60,118,67,192, - 222,231,195,195,195,102,60,8,11,11,9,1,0,255,3,7, - 6,14,12,28,24,56,56,112,8,11,11,9,1,0,126,231, - 195,231,60,102,195,195,195,231,60,8,11,11,9,1,0,60, - 102,195,195,231,127,3,3,198,110,60}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=12 len=28 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11r[1829] U8G_SECTION(".progmem.u8g_font_fub11r") = { - 0,24,21,255,252,11,2,82,5,55,32,127,253,12,252,11, - 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, - 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, - 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, - 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, - 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, - 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, - 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, - 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, - 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, - 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, - 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, - 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, - 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, - 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, - 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, - 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, - 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, - 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, - 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, - 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, - 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, - 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, - 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, - 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, - 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, - 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, - 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, - 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, - 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, - 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, - 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, - 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, - 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, - 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, - 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, - 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, - 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, - 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, - 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, - 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, - 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, - 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, - 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, - 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, - 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, - 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, - 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, - 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, - 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, - 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, - 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, - 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, - 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, - 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, - 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, - 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, - 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, - 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, - 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, - 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, - 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, - 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, - 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, - 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, - 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, - 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, - 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, - 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, - 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, - 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, - 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, - 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, - 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, - 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, - 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, - 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, - 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, - 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, - 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, - 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, - 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, - 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, - 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, - 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, - 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, - 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, - 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, - 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, - 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, - 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, - 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, - 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, - 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, - 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, - 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, - 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, - 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, - 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, - 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, - 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, - 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, - 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, - 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, - 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, - 0,3,121,223,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=21 len=54 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14[5788] U8G_SECTION(".progmem.u8g_font_fub14") = { - 0,31,26,254,251,14,3,116,7,95,32,255,252,21,251,14, - 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, - 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, - 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, - 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, - 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, - 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, - 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, - 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, - 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, - 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, - 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, - 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, - 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, - 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, - 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, - 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, - 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, - 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, - 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, - 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, - 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, - 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, - 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, - 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, - 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, - 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, - 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, - 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, - 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, - 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, - 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, - 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, - 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, - 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, - 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, - 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, - 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, - 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, - 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, - 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, - 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, - 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, - 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, - 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, - 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, - 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, - 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, - 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, - 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, - 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, - 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, - 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, - 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, - 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, - 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, - 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, - 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, - 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, - 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, - 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, - 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, - 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, - 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, - 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, - 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, - 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, - 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, - 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, - 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, - 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, - 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, - 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, - 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, - 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, - 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, - 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, - 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, - 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, - 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, - 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, - 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, - 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, - 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, - 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, - 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, - 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, - 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, - 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, - 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, - 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, - 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, - 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, - 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, - 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, - 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, - 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, - 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, - 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, - 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, - 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, - 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, - 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, - 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, - 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, - 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, - 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, - 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, - 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, - 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, - 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, - 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, - 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, - 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, - 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, - 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, - 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, - 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, - 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, - 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, - 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, - 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, - 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, - 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, - 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, - 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, - 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, - 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, - 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, - 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, - 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, - 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, - 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, - 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, - 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, - 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, - 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, - 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, - 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, - 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, - 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, - 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, - 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, - 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, - 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, - 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, - 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, - 4,48,96,127,192,199,128,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,0,3,14, - 14,9,3,252,224,224,0,0,224,224,224,224,224,224,224,224, - 224,224,9,14,28,11,1,254,2,0,2,0,62,0,127,0, - 231,128,231,128,232,0,232,0,235,128,243,128,127,0,62,0, - 32,0,32,0,10,14,28,12,1,0,31,0,63,192,113,192, - 112,0,112,0,254,0,254,0,112,0,112,0,112,0,112,0, - 112,0,255,192,255,192,10,10,20,12,1,3,128,64,94,128, - 33,0,64,128,64,128,64,128,64,128,33,0,94,128,128,64, - 11,14,28,13,1,0,224,224,225,192,113,192,113,128,251,224, - 251,224,31,0,255,224,255,224,14,0,14,0,14,0,14,0, - 14,0,1,18,18,7,3,252,128,128,128,128,128,128,128,128, - 0,0,128,128,128,128,128,128,128,128,8,18,18,10,1,252, - 62,126,224,224,112,60,126,231,231,231,254,124,30,7,7,135, - 254,56,7,2,2,7,0,12,238,238,15,14,28,17,1,0, - 7,192,31,240,55,152,111,204,204,228,156,2,156,2,156,226, - 140,226,207,198,71,132,32,24,28,112,15,192,7,9,9,8, - 1,5,120,204,124,204,204,252,36,0,254,10,8,16,12,1, - 1,57,192,113,128,115,128,231,0,231,0,115,128,113,128,57, - 192,11,5,10,13,1,4,255,224,255,224,0,32,0,32,0, - 32,255,15,14,28,17,1,0,7,192,31,240,63,152,111,236, - 204,100,140,98,143,194,143,194,140,98,204,102,76,100,32,24, - 28,112,15,192,6,2,2,6,0,12,252,252,5,5,5,7, - 1,9,112,136,136,136,112,12,12,24,20,4,0,2,0,2, - 0,2,0,255,240,255,240,2,0,2,0,2,0,0,0,0, - 0,255,240,255,240,6,8,8,8,1,6,120,204,12,24,48, - 224,252,252,6,7,7,8,1,7,120,204,12,48,12,204,120, - 4,4,4,4,1,12,48,96,96,192,255,9,17,34,11,1, - 253,63,128,121,0,249,0,249,0,249,0,249,0,121,0,9, - 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9, - 0,9,0,3,3,3,6,2,5,224,224,224,5,5,5,5, - 1,251,64,112,24,24,240,4,8,8,6,1,6,48,240,48, - 48,48,48,48,48,7,9,9,9,1,5,56,68,198,198,198, - 68,56,0,254,10,8,16,12,1,1,231,0,99,128,115,128, - 57,192,57,192,115,128,99,128,231,0,14,14,28,16,1,0, - 112,48,240,48,48,96,48,192,48,192,49,128,49,156,51,60, - 6,60,6,108,12,204,24,252,24,12,48,12,15,14,28,17, - 1,0,112,48,240,32,48,96,48,192,48,192,49,128,51,60, - 51,102,6,6,12,14,12,28,24,48,48,126,48,126,14,14, - 28,16,1,0,120,24,204,48,12,48,48,96,12,192,204,192, - 121,156,1,188,3,60,6,108,6,204,12,252,8,12,24,12, - 9,14,28,11,1,252,14,0,14,0,0,0,14,0,14,0, - 14,0,60,0,112,0,224,0,224,0,225,128,225,128,127,128, - 62,0,14,20,40,14,0,0,12,0,14,0,6,0,3,0, - 0,0,0,0,7,128,7,128,7,192,15,192,14,192,28,224, - 28,224,28,96,56,112,63,240,63,248,112,56,112,56,224,28, - 14,20,40,14,0,0,0,192,1,192,1,128,3,0,0,0, - 0,0,7,128,7,128,7,192,15,192,14,192,28,224,28,224, - 28,96,56,112,63,240,63,248,112,56,112,56,224,28,14,20, - 40,14,0,0,3,128,7,128,6,192,12,192,0,0,0,0, - 7,128,7,128,7,192,15,192,14,192,28,224,28,224,28,96, - 56,112,63,240,63,248,112,56,112,56,224,28,14,19,38,14, - 0,0,6,64,15,192,8,128,0,0,0,0,7,128,7,128, - 7,192,15,192,14,192,28,224,28,224,28,96,56,112,63,240, - 63,248,112,56,112,56,224,28,14,19,38,15,0,0,14,224, - 14,224,0,0,0,0,0,0,3,128,7,128,7,192,7,192, - 14,192,14,224,28,224,28,112,28,112,63,248,63,248,112,56, - 112,28,224,28,13,21,42,15,1,0,7,0,8,128,8,128, - 8,128,7,0,0,0,0,0,7,0,15,128,15,128,29,192, - 29,192,29,192,56,224,56,224,48,96,127,240,127,240,224,56, - 224,56,224,56,19,14,42,20,0,0,0,255,224,1,255,224, - 3,240,0,3,112,0,7,112,0,7,112,0,14,127,192,14, - 127,192,28,112,0,31,240,0,63,240,0,112,112,0,112,127, - 224,224,127,224,13,18,36,15,1,252,15,128,63,224,112,240, - 96,112,224,0,224,0,224,0,224,0,224,0,224,120,96,112, - 112,240,63,224,31,128,4,0,7,128,1,128,15,0,10,20, - 40,12,1,0,48,0,56,0,24,0,12,0,0,0,0,0, - 255,192,255,192,224,0,224,0,224,0,224,0,255,128,255,128, - 224,0,224,0,224,0,224,0,255,192,255,192,10,20,40,12, - 1,0,7,0,6,0,12,0,8,0,0,0,0,0,255,192, - 255,192,224,0,224,0,224,0,224,0,255,128,255,128,224,0, - 224,0,224,0,224,0,255,192,255,192,10,20,40,12,1,0, - 28,0,30,0,54,0,35,0,0,0,0,0,255,192,255,192, - 224,0,224,0,224,0,224,0,255,128,255,128,224,0,224,0, - 224,0,224,0,255,192,255,192,10,19,38,12,1,0,119,0, - 119,0,0,0,0,0,0,0,255,192,255,192,224,0,224,0, - 224,0,224,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,192,255,192,5,20,20,5,255,0,224,96,48,16,0,0, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,4,20, - 20,5,1,0,48,112,96,192,0,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,5,20,20,5,0,0,112,112, - 216,136,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,7,19,19,7,0,0,238,238,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,13,14,28,14,0, - 0,127,128,127,224,112,240,112,112,112,56,112,56,254,56,254, - 56,112,56,112,56,112,112,112,240,127,224,127,128,13,19,38, - 15,1,0,12,64,31,128,17,0,0,0,0,0,240,56,248, - 56,248,56,252,56,238,56,238,56,231,56,231,56,227,184,227, - 184,225,248,225,248,224,248,224,248,14,20,40,16,1,0,28, - 0,12,0,6,0,2,0,0,0,0,0,15,192,63,240,112, - 112,96,56,224,24,224,28,224,28,224,28,224,28,224,24,96, - 56,112,112,63,240,15,192,14,20,40,16,1,0,0,224,1, - 192,1,128,3,0,0,0,0,0,15,192,63,240,112,112,96, - 56,224,24,224,28,224,28,224,28,224,28,224,24,96,56,112, - 112,63,240,15,192,14,20,40,16,1,0,7,0,7,128,13, - 192,8,192,0,0,0,0,15,192,63,240,112,112,96,56,224, - 24,224,28,224,28,224,28,224,28,224,24,96,56,112,112,63, - 240,15,192,14,19,38,16,1,0,7,192,15,192,0,0,0, - 0,0,0,15,192,63,240,112,48,96,56,224,24,224,28,224, - 28,224,28,224,28,224,24,112,56,120,240,63,240,15,192,14, - 19,38,16,1,0,29,192,29,192,0,0,0,0,0,0,15, - 192,63,240,112,112,96,56,224,24,224,28,224,28,224,28,224, - 28,224,24,96,56,112,112,63,240,15,192,10,10,20,20,5, - 1,128,64,192,192,97,128,51,0,12,0,12,0,18,0,33, - 0,64,128,128,64,15,16,32,16,0,255,0,2,7,230,31, - 252,56,60,48,60,112,108,112,238,113,206,115,142,119,14,126, - 12,124,28,56,56,63,240,239,224,64,0,12,20,40,14,1, - 0,56,0,24,0,12,0,6,0,0,0,0,0,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,113,224,63,192,31,128,12,20,40,14,1,0,1, - 192,3,128,3,0,6,0,0,0,0,0,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,113,224,63,192,31,128,12,20,40,14,1,0,14,0,15, - 0,27,0,17,128,0,0,0,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,113, - 224,63,192,31,128,12,19,38,14,1,0,29,192,29,192,0, - 0,0,0,0,0,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,63,192,31, - 128,12,19,38,13,0,0,1,128,3,0,2,0,0,0,0, - 0,240,112,112,240,56,224,56,224,29,192,29,192,15,128,15, - 0,7,0,7,0,7,0,7,0,7,0,7,0,11,14,28, - 13,1,0,224,0,224,0,255,0,255,192,225,192,224,224,224, - 224,224,224,225,192,255,128,254,0,224,0,224,0,224,0,10, - 14,28,12,1,0,62,0,127,128,227,128,227,128,227,0,231, - 0,238,0,238,0,231,128,227,192,225,192,253,192,255,192,239, - 128,9,16,32,11,1,0,112,0,48,0,24,0,8,0,0, - 0,0,0,62,0,127,128,227,128,31,128,127,128,227,128,227, - 128,227,128,255,128,57,128,9,16,32,11,1,0,7,0,6, - 0,12,0,12,0,0,0,0,0,62,0,127,128,227,128,3, - 128,63,128,251,128,227,128,227,128,255,128,121,128,9,16,32, - 11,1,0,28,0,30,0,54,0,35,0,0,0,0,0,62, - 0,127,128,227,128,31,128,127,128,227,128,227,128,227,128,255, - 128,57,128,9,14,28,11,1,0,63,0,62,0,0,0,0, - 0,62,0,127,128,227,128,31,128,127,128,227,128,227,128,227, - 128,255,128,57,128,9,15,30,11,1,0,119,0,119,0,0, - 0,0,0,0,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,9,17,34,11,1,0,28, - 0,34,0,34,0,34,0,28,0,0,0,0,0,62,0,127, - 128,227,128,31,128,127,128,227,128,227,128,227,128,255,128,57, - 128,16,10,20,18,1,0,62,124,127,254,227,135,31,255,127, - 255,227,128,227,128,227,199,254,254,60,124,9,14,28,11,1, - 252,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,16,0,30,0,6,0,62,0,9,16,32, - 11,1,0,112,0,48,0,24,0,8,0,0,0,0,0,30, - 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, - 128,62,0,9,16,32,11,1,0,7,0,6,0,12,0,8, - 0,0,0,0,0,30,0,127,0,227,128,227,128,255,128,255, - 128,224,0,227,128,127,128,62,0,9,16,32,11,1,0,28, - 0,30,0,54,0,35,0,0,0,0,0,30,0,127,0,227, - 128,227,128,255,128,255,128,224,0,227,128,127,128,62,0,9, - 15,30,11,1,0,119,0,119,0,0,0,0,0,0,0,30, - 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, - 128,62,0,4,15,15,5,0,0,192,224,96,48,0,112,112, - 112,112,112,112,112,112,112,112,4,15,15,4,1,0,112,96, - 192,128,0,224,224,224,224,224,224,224,224,224,224,7,15,15, - 5,255,0,56,124,76,198,0,56,56,56,56,56,56,56,56, - 56,56,7,14,14,6,0,0,238,238,0,0,56,56,56,56, - 56,56,56,56,56,56,10,14,28,12,1,0,57,128,15,0, - 31,0,99,0,31,128,127,128,97,192,225,192,225,192,225,192, - 225,192,97,192,127,128,31,0,9,14,28,11,1,0,62,0, - 60,0,0,0,0,0,239,0,255,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,16,32,12,1,0, - 48,0,24,0,24,0,12,0,0,0,0,0,30,0,127,128, - 97,128,225,192,225,192,225,192,225,192,97,128,127,128,30,0, - 10,16,32,12,1,0,3,0,6,0,6,0,12,0,0,0, - 0,0,30,0,127,128,97,128,225,192,225,192,225,192,225,192, - 97,128,127,128,30,0,10,16,32,12,1,0,12,0,30,0, - 26,0,51,0,0,0,0,0,30,0,127,128,97,128,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,10,14,28,12, - 1,0,31,0,62,0,0,0,0,0,30,0,127,128,97,128, - 225,192,225,192,225,192,225,192,97,128,127,128,30,0,10,15, - 30,12,1,0,59,128,59,128,0,0,0,0,0,0,30,0, - 127,128,97,128,225,192,225,192,225,192,225,192,97,128,127,128, - 30,0,12,8,16,20,4,2,6,0,14,0,0,0,255,240, - 255,240,0,0,6,0,14,0,10,12,24,12,1,0,0,192, - 31,128,127,128,99,128,231,192,237,192,233,192,241,192,113,128, - 127,128,222,0,128,0,9,16,32,11,1,0,112,0,48,0, - 24,0,8,0,0,0,0,0,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,255,128,123,128,9,16,32,11, - 1,0,7,0,6,0,12,0,8,0,0,0,0,0,227,128, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,255,128, - 123,128,9,16,32,11,1,0,28,0,28,0,54,0,34,0, - 0,0,0,0,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,255,128,123,128,9,15,30,11,1,0,119,0, - 119,0,0,0,0,0,0,0,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,255,128,123,128,11,19,38,11, - 0,252,1,128,3,0,2,0,4,0,0,0,112,224,113,192, - 113,192,57,192,59,128,27,128,31,128,31,0,15,0,14,0, - 14,0,78,0,252,0,120,0,10,18,36,12,1,252,224,0, - 224,0,224,0,224,0,239,0,255,128,225,128,225,192,225,192, - 225,192,225,192,225,192,255,128,255,0,224,0,224,0,224,0, - 224,0,11,18,36,11,0,252,59,128,59,128,0,0,0,0, - 225,224,113,192,113,192,115,128,59,128,59,128,31,0,31,0, - 31,0,14,0,14,0,12,0,28,0,28,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=12 h=15 x= 4 y= 7 dx=20 dy= 0 ascent=14 len=28 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14n[436] U8G_SECTION(".progmem.u8g_font_fub14n") = { - 0,31,26,254,251,14,0,0,0,0,42,57,0,14,254,14, - 0,8,7,7,12,2,7,102,60,24,255,24,60,102,12,12, - 24,20,4,0,2,0,2,0,2,0,2,0,2,0,255,240, - 255,240,2,0,2,0,2,0,2,0,2,0,4,5,5,6, - 1,254,112,112,96,224,192,5,3,3,7,1,4,248,248,248, - 3,3,3,6,2,0,224,224,224,6,15,15,9,1,255,12, - 12,12,12,24,24,24,48,48,48,96,96,96,96,192,10,14, - 28,11,1,0,30,0,127,0,97,128,225,192,225,192,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,127,128,30,0, - 6,14,14,11,2,0,28,124,252,220,28,28,28,28,28,28, - 28,28,28,28,10,14,28,11,1,0,31,0,127,128,97,192, - 225,192,1,192,1,192,3,128,7,128,15,0,30,0,56,0, - 112,0,255,192,255,192,10,14,28,11,1,0,62,0,127,0, - 227,128,3,128,3,128,31,0,31,0,3,128,1,192,1,192, - 225,192,243,128,127,0,62,0,11,14,28,11,1,0,7,128, - 15,128,15,128,27,128,59,128,51,128,115,128,99,128,227,128, - 255,224,255,224,3,128,3,128,3,128,10,14,28,11,1,0, - 255,128,255,128,224,0,224,0,224,0,255,0,255,128,225,128, - 1,192,1,192,225,192,227,128,127,0,62,0,10,14,28,11, - 1,0,30,0,63,128,97,128,96,0,224,0,223,0,255,128, - 225,128,225,192,225,192,225,192,97,128,127,128,30,0,10,14, - 28,11,1,0,255,192,255,192,1,192,3,128,3,128,7,128, - 7,0,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 10,14,28,11,1,0,63,0,127,128,225,192,225,192,225,128, - 127,0,63,0,115,128,225,192,225,192,225,192,225,192,127,128, - 63,0,10,14,28,11,1,0,30,0,127,0,225,128,225,128, - 225,192,225,192,243,192,127,192,25,192,1,128,225,128,99,128, - 127,0,62,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=16 len=54 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14r[2680] U8G_SECTION(".progmem.u8g_font_fub14r") = { - 0,31,26,254,251,14,3,116,7,95,32,127,252,16,251,14, - 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, - 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, - 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, - 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, - 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, - 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, - 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, - 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, - 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, - 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, - 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, - 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, - 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, - 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, - 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, - 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, - 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, - 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, - 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, - 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, - 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, - 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, - 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, - 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, - 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, - 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, - 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, - 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, - 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, - 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, - 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, - 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, - 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, - 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, - 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, - 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, - 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, - 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, - 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, - 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, - 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, - 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, - 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, - 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, - 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, - 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, - 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, - 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, - 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, - 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, - 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, - 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, - 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, - 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, - 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, - 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, - 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, - 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, - 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, - 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, - 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, - 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, - 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, - 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, - 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, - 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, - 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, - 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, - 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, - 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, - 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, - 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, - 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, - 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, - 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, - 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, - 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, - 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, - 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, - 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, - 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, - 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, - 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, - 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, - 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, - 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, - 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, - 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, - 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, - 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, - 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, - 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, - 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, - 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, - 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, - 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, - 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, - 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, - 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, - 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, - 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, - 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, - 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, - 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, - 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, - 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, - 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, - 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, - 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, - 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, - 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, - 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, - 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, - 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, - 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, - 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, - 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, - 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, - 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, - 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, - 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, - 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, - 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, - 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, - 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, - 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, - 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, - 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, - 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, - 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, - 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, - 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, - 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, - 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, - 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, - 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, - 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, - 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, - 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, - 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, - 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, - 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, - 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, - 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, - 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, - 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, - 4,48,96,127,192,199,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=25 x= 6 y=15 dx=24 dy= 0 ascent=25 len=66 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17[6938] U8G_SECTION(".progmem.u8g_font_fub17") = { - 0,34,31,254,250,17,4,8,8,209,32,255,251,25,250,17, - 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, - 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, - 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, - 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, - 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, - 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, - 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, - 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, - 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, - 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, - 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, - 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, - 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, - 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, - 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, - 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, - 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, - 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, - 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, - 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, - 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, - 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, - 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, - 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, - 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, - 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, - 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, - 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, - 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, - 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, - 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, - 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, - 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, - 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, - 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, - 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, - 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, - 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, - 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, - 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, - 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, - 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, - 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, - 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, - 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, - 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, - 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, - 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, - 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, - 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, - 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, - 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, - 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, - 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, - 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, - 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, - 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, - 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, - 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, - 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, - 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, - 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, - 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, - 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, - 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, - 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, - 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, - 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, - 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, - 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, - 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, - 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, - 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, - 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, - 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, - 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, - 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, - 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, - 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, - 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, - 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, - 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, - 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, - 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, - 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, - 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, - 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, - 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, - 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, - 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, - 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, - 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, - 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, - 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, - 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, - 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, - 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, - 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, - 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, - 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, - 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, - 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, - 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, - 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, - 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, - 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, - 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, - 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, - 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, - 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, - 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, - 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, - 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, - 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, - 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, - 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, - 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, - 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, - 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, - 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, - 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, - 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, - 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, - 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, - 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, - 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, - 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, - 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, - 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, - 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, - 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, - 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, - 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, - 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, - 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, - 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, - 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, - 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, - 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, - 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, - 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, - 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, - 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, - 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, - 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, - 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, - 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, - 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, - 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, - 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, - 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, - 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, - 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, - 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, - 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, - 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, - 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, - 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, - 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, - 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, - 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, - 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, - 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, - 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, - 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, - 48,127,240,227,192,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,7,0,0,3,17,17,9, - 3,251,224,224,224,0,0,224,224,224,224,224,224,224,224,224, - 224,224,224,10,18,36,13,1,253,1,0,1,0,3,0,31, - 0,127,128,115,192,231,192,228,0,228,0,236,0,233,192,233, - 192,123,192,127,128,31,0,16,0,48,0,32,0,11,17,34, - 13,1,0,15,128,31,224,56,224,56,224,56,0,56,0,255, - 0,255,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,255,224,255,224,11,12,24,13,1,4,128,32,95,64,113, - 128,96,128,64,64,64,64,64,64,64,64,96,192,49,128,95, - 64,128,32,13,17,34,15,1,0,224,120,240,120,112,112,120, - 240,56,224,253,248,253,248,31,192,15,128,255,248,255,248,7, - 0,7,0,7,0,7,0,7,0,7,0,1,22,22,8,4, - 251,128,128,128,128,128,128,128,128,128,0,0,0,0,128,128, - 128,128,128,128,128,128,128,9,21,42,11,1,252,63,0,127, - 0,241,0,224,0,224,0,120,0,62,0,63,0,119,128,227, - 128,227,128,231,128,255,0,126,0,31,0,7,128,3,128,3, - 128,135,128,255,0,124,0,8,3,3,8,0,15,231,231,231, - 17,17,51,19,1,0,3,224,0,15,248,0,60,30,0,51, - 230,0,103,243,0,103,59,0,206,57,128,206,1,128,206,1, - 128,206,1,128,206,57,128,78,57,0,103,243,0,51,230,0, - 56,14,0,15,248,0,3,224,0,8,11,11,10,1,6,60, - 102,6,126,230,198,198,126,0,0,255,11,9,18,14,1,1, - 60,224,56,224,121,224,113,192,243,192,113,192,121,224,56,224, - 60,224,12,5,10,14,1,5,255,240,0,16,0,16,0,16, - 0,16,255,17,17,51,19,1,0,3,224,0,15,248,0,60, - 30,0,55,246,0,103,251,0,102,27,0,198,25,128,199,241, - 128,199,241,128,198,57,128,198,25,128,70,25,0,102,27,0, - 48,6,0,56,14,0,15,248,0,3,224,0,7,2,2,7, - 0,15,254,254,5,5,5,7,1,12,112,136,136,136,112,14, - 14,28,24,5,0,2,0,2,0,2,0,2,0,255,252,255, - 252,2,0,2,0,2,0,2,0,0,0,0,0,255,252,255, - 252,7,9,9,9,1,8,124,230,6,14,28,56,224,254,254, - 7,9,9,9,1,8,124,206,6,14,56,14,6,206,124,5, - 4,4,5,1,14,56,112,96,192,255,11,20,40,14,2,253, - 63,224,125,128,253,128,253,128,253,128,253,128,253,128,125,128, - 13,128,13,128,13,128,13,128,13,128,13,128,13,128,13,128, - 13,128,13,128,13,128,13,128,3,3,3,7,2,6,224,224, - 224,6,5,5,6,1,251,32,56,12,12,248,4,9,9,6, - 1,8,48,240,176,48,48,48,48,48,48,8,11,11,10,1, - 6,60,102,195,195,195,195,231,126,60,0,255,12,9,18,14, - 1,1,227,128,113,192,121,224,56,224,60,240,56,224,121,224, - 113,192,227,128,16,17,34,18,1,0,48,24,240,24,176,48, - 48,112,48,96,48,224,48,192,49,128,49,142,3,14,3,30, - 6,54,14,54,12,102,24,127,24,6,48,6,16,17,34,18, - 1,0,48,24,240,48,176,48,48,96,48,224,48,192,49,192, - 49,128,51,62,3,119,6,3,6,7,12,14,28,28,24,112, - 48,127,48,127,17,17,51,19,1,0,124,6,0,198,12,0, - 6,12,0,56,24,0,14,56,0,6,48,0,206,112,0,124, - 96,0,0,199,0,1,199,0,1,143,0,3,155,0,3,27, - 0,7,51,0,6,63,128,12,3,0,28,3,0,10,17,34, - 12,1,251,14,0,14,0,0,0,0,0,14,0,14,0,14, - 0,28,0,56,0,112,0,240,0,224,0,224,128,224,192,115, - 192,127,128,31,0,16,24,48,16,0,0,14,0,7,0,3, - 0,3,128,1,128,0,0,0,0,3,192,3,192,3,224,7, - 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, - 252,63,252,127,254,120,14,112,15,240,7,16,24,48,16,0, - 0,0,112,0,96,0,224,0,192,1,128,0,0,0,0,3, - 192,3,192,3,224,7,224,7,240,15,112,14,112,14,120,30, - 56,28,56,28,60,63,252,63,252,127,254,120,14,112,15,240, - 7,16,24,48,16,0,0,1,192,3,192,3,224,6,96,4, - 48,0,0,0,0,3,192,3,192,3,224,7,224,7,240,15, - 112,14,112,14,120,30,56,28,56,28,60,63,252,63,252,127, - 254,120,14,112,15,240,7,16,23,46,16,0,0,0,16,7, - 240,7,224,0,0,0,0,0,0,3,192,3,192,3,224,7, - 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, - 252,63,252,127,254,120,14,112,15,240,7,16,23,46,17,0, - 0,14,112,14,112,14,112,0,0,0,0,0,0,3,192,3, - 192,7,224,7,224,7,224,15,112,14,112,30,120,30,56,28, - 56,60,60,63,252,127,254,127,254,112,14,240,15,224,7,15, - 25,50,16,1,0,3,128,6,192,4,64,4,64,4,192,3, - 128,0,0,0,0,3,128,7,192,7,192,15,192,14,224,14, - 224,30,224,28,112,28,112,60,112,56,120,63,248,127,252,127, - 252,112,28,240,30,224,14,21,17,51,23,1,0,0,255,248, - 0,255,248,1,248,0,1,248,0,3,184,0,3,184,0,7, - 56,0,7,63,248,14,63,248,14,56,0,30,56,0,31,248, - 0,63,248,0,120,56,0,112,56,0,240,63,248,224,63,248, - 14,22,44,16,1,251,15,192,31,240,63,248,120,56,112,60, - 240,28,224,0,224,0,224,0,224,0,224,0,224,0,112,28, - 112,60,56,120,31,240,15,192,3,0,3,192,0,96,0,96, - 7,192,11,24,48,15,2,0,56,0,24,0,28,0,12,0, - 6,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,255,224,255,224,255,224,11,24,48,15,2,0,3,128, - 3,0,7,0,6,0,12,0,0,0,0,0,255,224,255,224, - 255,224,224,0,224,0,224,0,224,0,255,224,255,224,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,255,224,11,24, - 48,15,2,0,14,0,31,0,27,0,59,128,49,128,0,0, - 0,0,255,224,255,224,255,224,224,0,224,0,224,0,224,0, - 255,224,255,224,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,255,224,11,23,46,15,2,0,59,128,59,128,59,128, - 0,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,255,224,255,224,255,224,5,24,24,7,0,0,224,224, - 96,48,16,0,0,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,5,24,24,5,1,0,56,48,112,96, - 192,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,7,24,24,7,0,0,56,56,108,108,198,0, - 0,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,8,23,23,8,0,0,231,231,231,0,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,15, - 17,34,16,0,0,63,192,63,240,63,248,56,60,56,28,56, - 30,56,14,56,14,255,14,255,14,56,14,56,30,56,28,56, - 60,63,248,63,240,63,192,14,23,46,18,2,0,0,32,15, - 192,15,192,0,0,0,0,0,0,248,28,248,28,252,28,252, - 28,238,28,238,28,231,28,231,28,231,156,227,156,227,220,225, - 220,225,220,224,252,224,252,224,124,224,124,15,24,48,17,1, - 0,28,0,14,0,6,0,3,0,1,0,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, - 14,224,14,224,14,240,14,112,28,120,60,63,248,31,240,7, - 224,15,24,48,17,1,0,0,112,0,224,0,192,1,128,1, - 0,0,0,0,0,7,192,31,240,63,248,120,60,112,28,240, - 30,224,14,224,14,224,14,224,14,224,14,240,14,112,28,120, - 60,63,248,31,240,7,224,15,24,48,17,1,0,3,128,7, - 192,6,192,12,96,8,32,0,0,0,0,7,192,31,240,63, - 248,120,60,112,28,240,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,60,63,248,31,240,7,224,15,23,46, - 17,1,0,7,32,15,224,8,192,0,0,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,120,60,63,248,31,240,7, - 224,15,23,46,17,1,0,14,112,14,112,14,112,0,0,0, - 0,0,0,7,192,31,240,63,248,120,60,112,28,240,30,224, - 14,224,14,224,14,224,14,224,14,240,14,112,28,120,60,63, - 248,31,240,7,224,13,12,24,23,5,1,192,24,96,48,48, - 96,24,192,13,128,7,0,7,0,13,128,24,192,48,96,96, - 48,192,24,17,19,57,17,0,255,0,1,0,3,241,128,15, - 251,0,31,254,0,60,30,0,56,30,0,120,63,0,112,119, - 0,112,231,0,113,199,0,115,135,0,119,7,0,126,7,0, - 60,14,0,60,30,0,63,252,0,111,248,0,227,224,0,64, - 0,0,14,24,48,18,2,0,28,0,12,0,14,0,6,0, - 3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,56,127,248,63,240,15,192,14,24,48,18,2,0,0,224, - 0,192,1,192,1,128,3,0,0,0,0,0,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,240,60,112,56,127,248,63,240,15,192,14,24, - 48,18,2,0,7,128,7,128,15,192,12,192,24,96,0,0, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,240,60,112,56,127,248, - 63,240,15,192,14,23,46,16,1,0,28,224,28,224,28,224, - 0,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 120,120,127,248,63,240,15,192,13,23,46,15,1,0,1,192, - 1,128,3,0,2,0,0,0,0,0,224,56,240,120,112,112, - 120,240,56,224,61,224,29,192,31,192,15,128,15,128,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,12,17,34,15, - 1,0,224,0,224,0,224,0,255,128,255,224,255,224,224,240, - 224,112,224,112,224,240,255,224,255,224,255,128,224,0,224,0, - 224,0,224,0,12,17,34,14,1,0,63,0,127,128,241,192, - 225,192,225,192,227,128,231,0,238,0,238,0,239,128,231,192, - 225,224,224,112,238,112,238,112,239,224,231,192,10,19,38,13, - 1,0,112,0,56,0,24,0,12,0,4,0,0,0,0,0, - 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, - 225,192,243,192,127,192,60,192,10,19,38,13,1,0,3,128, - 3,0,6,0,6,0,12,0,0,0,0,0,31,0,127,128, - 113,192,1,192,31,192,127,192,241,192,225,192,225,192,243,192, - 127,192,60,192,10,19,38,13,1,0,14,0,30,0,27,0, - 51,0,33,128,0,0,0,0,31,0,127,128,113,192,1,192, - 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, - 10,17,34,13,1,0,31,128,63,0,0,0,0,0,0,0, - 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, - 225,192,243,192,127,192,60,192,10,18,36,13,1,0,115,128, - 115,128,115,128,0,0,0,0,0,0,63,0,127,128,241,192, - 1,192,31,192,127,192,241,192,225,192,225,192,243,192,127,192, - 60,192,10,20,40,13,1,0,14,0,27,0,17,0,19,0, - 31,0,14,0,0,0,0,0,31,0,127,128,113,192,1,192, - 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, - 18,12,36,20,1,0,31,31,0,127,191,128,113,243,128,0, - 225,192,31,255,192,127,255,192,240,224,0,224,224,0,224,225, - 192,241,243,192,127,63,128,62,31,0,10,17,34,12,1,251, - 31,0,127,128,115,192,225,192,224,0,224,0,224,0,224,0, - 225,192,115,192,127,128,63,0,8,0,14,0,3,0,3,0, - 30,0,11,19,38,13,1,0,112,0,56,0,24,0,12,0, - 4,0,0,0,0,0,31,0,63,128,113,192,225,224,255,224, - 255,224,224,0,224,0,225,192,113,192,127,192,31,0,11,19, - 38,13,1,0,3,128,3,0,7,0,6,0,12,0,0,0, - 0,0,31,0,63,128,113,192,225,224,255,224,255,224,224,0, - 224,0,225,192,113,192,127,192,31,0,11,19,38,13,1,0, - 14,0,31,0,27,0,49,128,33,128,0,0,0,0,31,0, - 63,128,113,192,225,224,255,224,255,224,224,0,224,0,225,192, - 113,192,127,192,31,0,11,18,36,13,1,0,115,128,115,128, - 115,128,0,0,0,0,0,0,31,0,63,128,115,192,225,192, - 255,224,255,224,224,0,224,0,225,192,115,192,127,128,31,0, - 5,18,18,6,255,0,224,112,48,24,0,0,56,56,56,56, - 56,56,56,56,56,56,56,56,4,18,18,5,1,0,112,96, - 224,192,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 7,18,18,6,255,0,56,124,108,198,0,0,56,56,56,56, - 56,56,56,56,56,56,56,56,8,18,18,7,255,0,231,231, - 231,0,0,0,56,56,56,56,56,56,56,56,56,56,56,56, - 12,17,34,14,1,0,28,96,15,192,15,128,59,128,33,192, - 31,224,63,224,112,224,240,240,224,112,224,112,224,112,224,112, - 240,240,112,224,63,192,31,128,11,17,34,13,1,0,31,128, - 63,0,0,0,0,0,0,0,239,128,255,192,241,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 12,19,38,14,1,0,56,0,28,0,12,0,6,0,6,0, - 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, - 224,112,224,112,240,240,112,224,63,192,31,128,12,19,38,14, - 1,0,1,192,3,128,3,0,6,0,4,0,0,0,0,0, - 31,128,63,192,112,224,240,224,224,112,224,112,224,112,224,112, - 240,240,112,224,63,192,31,128,12,19,38,14,1,0,15,0, - 15,0,31,128,25,128,48,192,0,0,0,0,31,128,63,192, - 112,224,240,224,224,112,224,112,224,112,224,112,240,240,112,224, - 63,192,31,128,12,17,34,14,1,0,31,192,63,128,0,0, - 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, - 224,112,224,112,240,240,112,224,63,192,31,128,12,18,36,14, - 1,0,57,192,57,192,57,192,0,0,0,0,0,0,31,128, - 63,192,112,224,240,224,224,112,224,112,224,112,224,112,240,240, - 112,224,63,192,31,128,14,10,20,24,5,2,7,0,7,0, - 6,0,0,0,255,252,255,252,0,0,2,0,7,0,7,0, - 12,15,30,14,1,254,0,32,0,48,31,224,63,192,113,224, - 241,240,227,112,230,112,236,112,248,112,248,240,112,224,127,192, - 223,128,192,0,11,19,38,13,1,0,112,0,56,0,28,0, - 12,0,6,0,0,0,0,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,241,224,127,224,62,224, - 11,19,38,13,1,0,3,128,3,128,7,0,6,0,12,0, - 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,241,224,127,224,62,224,11,19,38,13, - 1,0,14,0,31,0,27,0,49,128,32,128,0,0,0,0, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,241,224,127,224,62,224,11,18,36,13,1,0,115,128, - 115,128,115,128,0,0,0,0,0,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,241,224,127,224, - 62,224,11,23,46,13,1,251,1,128,3,128,3,0,6,0, - 0,0,0,0,224,224,224,224,241,224,113,192,121,192,59,192, - 59,128,63,128,31,128,31,0,31,0,15,0,14,0,14,0, - 254,0,252,0,120,0,12,22,44,15,2,251,224,0,224,0, - 224,0,224,0,224,0,239,128,255,192,248,224,240,240,224,112, - 224,112,224,112,224,112,240,240,241,224,255,192,239,128,224,0, - 224,0,224,0,224,0,224,0,12,22,44,14,1,251,57,192, - 57,192,57,192,0,0,0,0,240,112,240,240,112,240,120,224, - 121,224,57,192,61,192,31,192,31,128,31,128,15,128,15,0, - 15,0,15,0,14,0,30,0,28,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 17 - Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =17 descent= 0 - X Font ascent =17 descent= 0 - Max Font ascent =17 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17n[512] U8G_SECTION(".progmem.u8g_font_fub17n") = { - 0,34,31,254,250,17,0,0,0,0,42,57,0,17,253,17, - 0,9,9,18,15,3,8,54,0,54,0,54,0,156,128,255, - 128,156,128,54,0,54,0,54,0,14,14,28,24,5,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,252,255,252,2, - 0,2,0,2,0,2,0,2,0,2,0,5,6,6,7,1, - 253,56,112,112,96,96,224,6,3,3,8,1,4,252,252,252, - 3,3,3,7,2,0,224,224,224,8,18,18,10,1,255,7, - 6,6,14,12,12,12,28,24,24,56,48,48,48,112,96,96, - 224,11,17,34,13,1,0,31,0,63,128,113,192,112,192,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,112,192,113,192,63,128,31,0,7,17,17,13,2,0,14, - 62,254,254,206,14,14,14,14,14,14,14,14,14,14,14,14, - 12,17,34,13,1,0,15,128,63,224,120,224,112,112,0,112, - 0,112,0,240,1,224,3,224,7,192,15,128,30,0,60,0, - 248,0,255,240,255,240,255,240,11,17,34,13,1,0,31,0, - 127,192,241,224,224,224,0,224,0,224,1,192,15,128,15,128, - 1,192,0,224,0,224,224,224,241,224,255,192,127,128,31,0, - 12,17,34,13,1,0,3,192,7,192,7,192,15,192,29,192, - 29,192,57,192,113,192,113,192,225,192,255,240,255,240,255,240, - 1,192,1,192,1,192,1,192,11,17,34,13,1,0,255,192, - 255,192,255,192,224,0,224,0,224,0,239,128,255,192,241,224, - 224,224,0,224,0,224,224,224,225,224,255,192,127,128,63,0, - 11,17,34,13,1,0,15,0,63,192,57,224,112,224,96,0, - 224,0,239,128,255,192,241,224,224,224,224,224,224,224,224,224, - 96,224,113,192,63,128,31,0,11,17,34,13,1,0,255,224, - 255,224,255,224,0,224,1,224,1,192,3,192,3,128,7,128, - 7,128,7,0,15,0,14,0,30,0,28,0,60,0,60,0, - 11,17,34,13,1,0,31,0,127,192,241,224,224,224,224,224, - 224,224,113,192,63,128,63,128,113,192,224,224,224,224,224,224, - 224,224,241,224,127,192,31,0,11,17,34,13,1,0,31,0, - 63,128,113,192,224,192,224,224,224,224,224,224,241,224,127,224, - 62,224,0,224,0,224,224,224,225,192,113,192,127,128,30,0 - }; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17r[3222] U8G_SECTION(".progmem.u8g_font_fub17r") = { - 0,34,31,254,250,17,4,8,8,209,32,127,251,19,250,17, - 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, - 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, - 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, - 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, - 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, - 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, - 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, - 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, - 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, - 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, - 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, - 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, - 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, - 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, - 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, - 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, - 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, - 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, - 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, - 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, - 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, - 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, - 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, - 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, - 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, - 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, - 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, - 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, - 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, - 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, - 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, - 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, - 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, - 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, - 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, - 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, - 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, - 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, - 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, - 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, - 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, - 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, - 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, - 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, - 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, - 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, - 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, - 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, - 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, - 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, - 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, - 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, - 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, - 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, - 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, - 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, - 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, - 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, - 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, - 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, - 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, - 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, - 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, - 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, - 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, - 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, - 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, - 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, - 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, - 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, - 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, - 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, - 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, - 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, - 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, - 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, - 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, - 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, - 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, - 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, - 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, - 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, - 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, - 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, - 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, - 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, - 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, - 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, - 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, - 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, - 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, - 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, - 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, - 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, - 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, - 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, - 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, - 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, - 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, - 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, - 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, - 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, - 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, - 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, - 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, - 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, - 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, - 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, - 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, - 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, - 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, - 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, - 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, - 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, - 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, - 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, - 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, - 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, - 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, - 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, - 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, - 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, - 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, - 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, - 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, - 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, - 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, - 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, - 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, - 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, - 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, - 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, - 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, - 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, - 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, - 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, - 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, - 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, - 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, - 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, - 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, - 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, - 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, - 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, - 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, - 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, - 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, - 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, - 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, - 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, - 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, - 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, - 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, - 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, - 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, - 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, - 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, - 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, - 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, - 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, - 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, - 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, - 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, - 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, - 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, - 48,127,240,227,192,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=27 h=29 x= 7 y=18 dx=28 dy= 0 ascent=29 len=100 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =29 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20[8916] U8G_SECTION(".progmem.u8g_font_fub20") = { - 0,40,36,254,249,20,4,242,11,37,32,255,251,29,249,20, - 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, - 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, - 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, - 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, - 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, - 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, - 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, - 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, - 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, - 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, - 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, - 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, - 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, - 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, - 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, - 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, - 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, - 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, - 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, - 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, - 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, - 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, - 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, - 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, - 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, - 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, - 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, - 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, - 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, - 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, - 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, - 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, - 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, - 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, - 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, - 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, - 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, - 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, - 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, - 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, - 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, - 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, - 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, - 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, - 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, - 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, - 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, - 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, - 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, - 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, - 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, - 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, - 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, - 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, - 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, - 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, - 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, - 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, - 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, - 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, - 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, - 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, - 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, - 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, - 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, - 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, - 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, - 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, - 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, - 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, - 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, - 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, - 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, - 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, - 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, - 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, - 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, - 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, - 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, - 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, - 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, - 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, - 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, - 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, - 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, - 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, - 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, - 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, - 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, - 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, - 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, - 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, - 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, - 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, - 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, - 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, - 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, - 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, - 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, - 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, - 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, - 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, - 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, - 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, - 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, - 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, - 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, - 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, - 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, - 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, - 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, - 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, - 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, - 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, - 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, - 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, - 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, - 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, - 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, - 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, - 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, - 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, - 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, - 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, - 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, - 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, - 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, - 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, - 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, - 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, - 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, - 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, - 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, - 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, - 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, - 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, - 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, - 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, - 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, - 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, - 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, - 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, - 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, - 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, - 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, - 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, - 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, - 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, - 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, - 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, - 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, - 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, - 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, - 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, - 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, - 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, - 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, - 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, - 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, - 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, - 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, - 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, - 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, - 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, - 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, - 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, - 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, - 156,127,248,225,240,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,8,0,0,4,19,19,10, - 3,251,240,240,240,0,0,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,12,20,40,16,2,253,0,192,0,192,0, - 128,15,128,63,224,125,224,115,240,243,240,242,0,242,0,246, - 0,244,0,244,240,124,240,121,224,63,224,31,128,24,0,16, - 0,48,0,14,20,40,15,1,0,7,224,31,248,62,120,60, - 60,60,60,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,255,252,255, - 252,15,14,28,17,1,5,192,6,99,204,55,248,28,48,24, - 24,48,12,48,12,48,12,48,12,24,24,28,48,63,248,99, - 204,192,6,15,20,40,17,1,0,240,30,240,62,120,60,120, - 124,56,120,60,120,252,254,254,254,31,224,15,224,15,192,255, - 254,255,254,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,1,25,25,9,4,251,128,128,128,128,128,128,128,128,128, - 128,128,0,0,0,128,128,128,128,128,128,128,128,128,128,128, - 11,24,48,13,1,252,31,128,63,192,121,192,240,64,240,0, - 248,0,124,0,63,0,63,128,127,192,243,224,225,224,225,192, - 243,192,255,128,126,0,31,128,7,192,3,224,1,224,1,192, - 195,192,255,128,127,0,9,3,6,9,0,17,227,128,227,128, - 227,128,20,20,60,24,2,0,1,248,0,7,254,0,31,15, - 128,60,3,192,49,252,192,99,254,224,103,158,96,199,15,48, - 207,0,48,207,0,48,207,0,48,207,15,48,199,14,48,103, - 158,96,99,252,96,49,248,192,56,1,192,30,7,128,7,254, - 0,1,248,0,9,13,26,11,1,7,62,0,127,128,99,128, - 3,128,63,128,115,128,227,128,227,128,255,128,125,128,0,0, - 0,0,255,128,14,11,22,16,1,2,30,60,28,56,60,120, - 120,240,120,240,241,224,120,240,56,240,60,120,28,56,30,60, - 15,6,12,17,1,6,255,254,255,254,0,6,0,6,0,6, - 0,6,255,20,20,60,24,2,0,1,248,0,7,254,0,31, - 15,128,60,3,192,51,252,192,99,254,224,99,14,96,195,6, - 48,195,28,48,195,248,48,195,252,48,195,12,48,195,14,48, - 99,6,96,99,6,96,51,6,192,56,1,192,30,7,128,7, - 254,0,1,248,0,9,2,4,9,0,18,255,128,255,128,6, - 6,6,8,1,14,120,204,132,132,204,120,16,16,32,26,5, - 0,1,128,1,128,1,128,1,128,255,255,255,255,1,128,1, - 128,1,128,1,128,1,128,0,0,0,0,0,0,255,255,255, - 255,9,11,22,11,1,9,62,0,127,0,227,128,3,128,7, - 0,15,0,30,0,56,0,112,0,255,0,255,0,8,11,11, - 10,1,9,60,254,231,7,30,30,7,7,231,254,124,6,5, - 5,6,1,16,60,56,112,96,192,255,13,24,48,15,1,252, - 31,248,62,96,126,96,254,96,254,96,254,96,254,96,126,96, - 126,96,30,96,6,96,6,96,6,96,6,96,6,96,6,96, - 6,96,6,96,6,96,6,96,6,96,6,96,6,96,6,96, - 4,4,4,8,2,8,240,240,240,240,7,6,6,7,1,249, - 32,60,14,6,254,252,5,11,11,8,2,9,56,248,248,56, - 56,56,56,56,56,56,56,10,13,26,12,1,7,30,0,127, - 128,115,128,225,192,225,192,225,192,225,192,99,128,127,128,30, - 0,0,0,0,0,255,192,13,11,22,16,2,2,225,192,241, - 224,112,224,120,240,120,240,60,120,120,240,120,240,113,224,241, - 224,225,192,19,20,60,22,2,0,56,7,0,248,14,0,184, - 14,0,56,28,0,56,28,0,56,56,0,56,48,0,56,112, - 0,56,224,0,56,227,192,57,195,192,1,199,192,3,143,192, - 3,13,192,7,29,192,14,57,192,14,63,224,28,63,224,28, - 1,192,56,1,192,19,20,60,21,1,0,56,6,0,248,14, - 0,184,12,0,56,28,0,56,24,0,56,48,0,56,112,0, - 56,96,0,56,224,0,56,199,128,57,207,224,3,156,224,3, - 0,224,7,1,224,6,1,192,14,3,128,28,7,0,28,30, - 0,56,31,224,48,31,224,20,20,60,22,1,0,124,1,192, - 230,3,128,231,3,0,7,7,0,30,14,0,30,14,0,7, - 28,0,231,24,0,231,56,0,126,49,224,24,115,224,0,227, - 224,0,199,224,1,198,224,1,140,224,3,156,224,3,31,240, - 7,31,240,14,0,224,12,0,224,12,19,38,15,1,251,7, - 128,7,128,7,128,0,0,0,0,7,0,7,0,7,0,14, - 0,28,0,56,0,112,0,240,0,240,0,240,112,240,112,127, - 240,63,224,15,128,19,28,84,19,0,0,7,0,0,3,128, - 0,1,128,0,1,192,0,0,192,0,0,96,0,0,0,0, - 0,0,0,1,240,0,1,240,0,1,248,0,3,248,0,3, - 248,0,3,188,0,7,188,0,7,156,0,15,30,0,15,30, - 0,15,30,0,30,15,0,30,15,0,31,255,128,63,255,128, - 63,255,128,56,3,192,120,3,192,120,3,192,240,1,224,19, - 28,84,19,0,0,0,28,0,0,56,0,0,56,0,0,112, - 0,0,96,0,0,192,0,0,0,0,0,0,0,1,240,0, - 1,240,0,1,248,0,3,248,0,3,248,0,3,188,0,7, - 188,0,7,156,0,15,30,0,15,30,0,15,30,0,30,15, - 0,30,15,0,31,255,128,63,255,128,63,255,128,56,3,192, - 120,3,192,120,3,192,240,1,224,19,28,84,19,0,0,0, - 224,0,1,240,0,1,240,0,3,184,0,3,24,0,6,12, - 0,0,0,0,0,0,0,1,240,0,1,240,0,1,248,0, - 3,248,0,3,248,0,3,188,0,7,188,0,7,156,0,15, - 30,0,15,30,0,15,30,0,30,15,0,30,15,0,31,255, - 128,63,255,128,63,255,128,56,3,192,120,3,192,120,3,192, - 240,1,224,19,26,78,19,0,0,1,204,0,3,248,0,6, - 120,0,0,0,0,0,0,0,0,0,0,1,240,0,1,240, - 0,1,248,0,3,248,0,3,248,0,3,188,0,7,188,0, - 7,156,0,15,30,0,15,30,0,15,30,0,30,15,0,30, - 15,0,31,255,128,63,255,128,63,255,128,56,3,192,120,3, - 192,120,3,192,240,1,224,19,26,78,19,0,0,7,28,0, - 7,28,0,7,28,0,0,0,0,0,0,0,0,0,0,1, - 240,0,1,240,0,3,248,0,3,248,0,3,248,0,7,188, - 0,7,188,0,7,60,0,15,30,0,15,30,0,30,31,0, - 30,15,0,30,15,0,63,255,128,63,255,128,63,255,128,120, - 3,192,120,3,192,112,3,192,240,1,224,19,29,87,19,0, - 0,0,224,0,1,240,0,3,24,0,3,24,0,3,24,0, - 1,240,0,0,224,0,0,0,0,0,0,0,1,240,0,1, - 240,0,3,240,0,3,248,0,3,248,0,7,188,0,7,188, - 0,7,60,0,15,30,0,15,30,0,30,30,0,30,15,0, - 30,15,0,63,255,128,63,255,128,63,255,128,120,3,192,120, - 3,192,240,3,192,240,1,224,25,20,80,26,0,0,0,63, - 255,128,0,63,255,128,0,127,0,0,0,127,0,0,0,255, - 0,0,1,239,0,0,1,239,0,0,3,207,0,0,3,207, - 255,128,7,143,255,128,7,143,255,128,15,15,0,0,15,255, - 0,0,31,255,0,0,31,255,0,0,60,15,0,0,56,15, - 0,0,120,15,255,128,112,15,255,128,240,15,255,128,17,27, - 81,19,1,249,7,240,0,15,252,0,63,254,0,60,31,0, - 120,31,0,112,15,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,15,128,112,15, - 0,120,31,0,60,63,0,63,254,0,15,252,0,3,240,0, - 0,128,0,0,224,0,0,240,0,0,48,0,0,48,0,3, - 240,0,0,128,0,13,28,56,17,2,0,60,0,28,0,14, - 0,6,0,7,0,3,0,0,0,0,0,255,248,255,248,255, - 248,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, - 248,240,0,240,0,240,0,240,0,240,0,240,0,255,248,255, - 248,255,248,13,28,56,17,2,0,1,224,1,192,3,128,3, - 0,6,0,6,0,0,0,0,0,255,248,255,248,255,248,240, - 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,240, - 0,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, - 248,13,28,56,17,2,0,15,0,15,128,13,128,29,192,24, - 192,48,96,0,0,0,0,255,248,255,248,255,248,240,0,240, - 0,240,0,240,0,240,0,255,248,255,248,255,248,240,0,240, - 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,13, - 26,52,17,2,0,56,224,56,224,56,224,0,0,0,0,0, - 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, - 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, - 0,240,0,255,248,255,248,255,248,7,28,28,8,255,0,240, - 112,56,24,28,12,0,0,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,6,28,28,7,2, - 0,28,56,48,112,96,192,0,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,8,28,28, - 8,0,0,60,60,126,102,198,195,0,0,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,9, - 26,52,9,0,0,227,128,227,128,227,128,0,0,0,0,0, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,18,20,60,19,0,0,63, - 224,0,63,252,0,63,254,0,60,31,0,60,15,128,60,7, - 128,60,3,192,60,3,192,60,3,192,255,195,192,255,195,192, - 60,3,192,60,3,192,60,3,192,60,7,128,60,15,128,60, - 31,0,63,254,0,63,252,0,63,224,0,17,26,78,21,2, - 0,7,152,0,7,248,0,12,240,0,0,0,0,0,0,0, - 0,0,0,252,7,128,252,7,128,254,7,128,254,7,128,255, - 7,128,255,7,128,247,135,128,247,135,128,243,199,128,243,199, - 128,241,231,128,241,231,128,240,247,128,240,247,128,240,127,128, - 240,127,128,240,63,128,240,63,128,240,31,128,240,31,128,18, - 28,84,20,1,0,14,0,0,7,0,0,3,128,0,1,128, - 0,0,192,0,0,0,0,0,0,0,0,0,0,3,240,0, - 15,252,0,31,254,0,62,31,0,120,7,128,120,7,128,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,120,7,128,120,7,128,62,31,0, - 31,254,0,15,252,0,3,240,0,18,28,84,20,1,0,0, - 60,0,0,56,0,0,112,0,0,96,0,0,192,0,0,0, - 0,0,0,0,0,0,0,3,240,0,15,252,0,31,254,0, - 62,31,0,120,7,128,120,7,128,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,120,7,128,120,7,128,62,31,0,31,254,0,15,252,0, - 3,240,0,18,28,84,20,1,0,1,224,0,3,240,0,3, - 240,0,7,56,0,6,24,0,0,0,0,0,0,0,0,0, - 0,3,240,0,15,252,0,31,254,0,62,31,0,120,7,128, - 120,7,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,120,7,128,120,7, - 128,62,31,0,31,254,0,15,252,0,3,240,0,18,27,81, - 20,1,0,0,8,0,7,248,0,7,248,0,4,0,0,0, - 0,0,0,0,0,0,0,0,3,240,0,15,252,0,31,254, - 0,62,31,0,120,7,128,120,7,128,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,120,7,128,120,7,128,62,31,0,31,254,0,15,252, - 0,3,240,0,18,27,81,20,1,0,7,28,0,7,28,0, - 7,28,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 240,0,15,252,0,31,254,0,62,31,0,120,7,128,120,7, - 128,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,120,7,128,120,7,128,62, - 31,0,31,254,0,15,252,0,3,240,0,15,14,28,27,6, - 2,192,6,96,12,48,24,24,48,12,96,6,192,3,128,3, - 128,6,192,12,96,24,48,48,24,96,12,64,4,20,22,66, - 20,0,255,0,0,32,1,252,112,7,255,224,15,255,192,31, - 15,128,60,3,192,60,7,192,120,15,224,120,29,224,120,57, - 224,120,113,224,120,225,224,121,193,224,123,129,224,127,1,224, - 62,3,192,60,3,192,31,15,128,63,255,0,127,254,0,227, - 248,0,64,0,0,17,28,84,21,2,0,30,0,0,14,0, - 0,7,0,0,3,128,0,1,128,0,0,0,0,0,0,0, - 0,0,0,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,0,240,15,0, - 120,15,0,124,30,0,63,254,0,31,248,0,7,224,0,17, - 28,84,21,2,0,0,60,0,0,120,0,0,112,0,0,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,0,240,15,0,120,15,0,124,30,0, - 63,254,0,31,248,0,7,224,0,17,28,84,21,2,0,3, - 192,0,3,224,0,7,224,0,14,112,0,12,56,0,0,0, - 0,0,0,0,0,0,0,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 0,240,15,0,120,15,0,124,30,0,63,254,0,31,248,0, - 7,224,0,17,27,81,20,2,0,14,56,0,14,56,0,14, - 56,0,0,0,0,0,0,0,0,0,0,0,0,0,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,0,240,15,0,120,15,0,124,30, - 0,63,254,0,31,248,0,7,224,0,16,27,54,17,1,0, - 0,112,0,224,0,192,1,128,0,0,0,0,0,0,240,31, - 248,30,120,30,124,60,60,60,60,120,30,120,30,240,15,240, - 15,224,7,224,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,14,20,40,17,1,0,240,0,240,0, - 240,0,240,0,255,192,255,240,255,248,240,124,240,60,240,60, - 240,60,240,124,255,248,255,240,255,192,240,0,240,0,240,0, - 240,0,240,0,14,20,40,16,1,0,31,128,127,224,121,240, - 240,240,240,240,240,240,241,224,243,192,247,128,247,128,247,128, - 243,224,241,240,240,248,240,60,240,60,255,60,255,188,247,248, - 243,240,12,22,44,15,1,0,120,0,56,0,28,0,12,0, - 6,0,2,0,0,0,0,0,31,128,63,224,121,240,112,240, - 0,240,63,240,127,240,248,240,240,240,240,240,240,240,251,240, - 127,112,62,112,12,22,44,15,1,0,1,224,1,192,3,128, - 3,0,7,0,6,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,31,240,127,240,120,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,22,44,15,1,0,15,0,15,128, - 31,128,25,192,56,192,48,96,0,0,0,0,31,128,63,224, - 121,240,112,240,0,240,63,240,127,240,248,240,240,240,240,240, - 240,240,251,240,127,112,62,112,12,20,40,15,1,0,31,192, - 63,192,48,0,0,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,21,42,15,1,0,56,224,56,224, - 56,224,0,0,0,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,23,46,15,1,0,7,0,31,128, - 24,192,24,192,31,128,15,0,0,0,0,0,0,0,31,128, - 63,224,121,240,112,240,0,240,63,240,127,240,248,240,240,240, - 240,240,240,240,251,240,127,112,62,112,22,14,42,24,1,0, - 15,135,192,63,207,240,124,252,248,112,120,56,0,120,56,31, - 255,252,127,255,252,120,120,0,240,120,0,240,120,0,240,252, - 56,249,222,248,127,143,240,30,7,224,12,21,42,14,1,249, - 31,128,63,224,121,224,112,224,240,240,240,0,240,0,240,0, - 240,0,240,240,240,224,121,224,63,192,31,128,4,0,7,0, - 7,128,0,192,0,192,31,128,4,0,13,22,44,15,1,0, - 56,0,56,0,28,0,12,0,6,0,2,0,0,0,0,0, - 15,128,63,224,121,240,112,240,240,240,255,240,255,248,240,0, - 240,0,240,240,112,240,121,240,63,224,31,128,13,22,44,15, - 1,0,1,224,1,192,3,128,3,0,6,0,6,0,0,0, - 0,0,15,128,63,224,121,240,112,240,240,240,255,240,255,248, - 240,0,240,0,240,240,112,240,121,240,63,224,31,128,13,22, - 44,15,1,0,15,0,15,0,31,128,25,128,56,192,48,192, - 0,0,0,0,15,128,63,224,121,240,112,240,240,240,255,240, - 255,248,240,0,240,0,240,240,112,240,121,240,63,224,31,128, - 13,21,42,15,1,0,56,224,56,224,56,224,0,0,0,0, - 0,0,0,0,15,128,63,224,121,240,112,112,240,112,255,240, - 255,248,240,0,240,0,240,112,112,112,125,240,63,224,31,128, - 6,22,22,7,0,0,224,240,112,56,24,12,0,0,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,6,22,22,6, - 2,0,60,56,112,96,192,192,0,0,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,9,22,44,7,255,0,30,0, - 62,0,63,0,115,0,99,128,193,128,0,0,0,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,9,20,40,7,255,0, - 227,128,227,128,227,128,0,0,0,0,0,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,14,20,40,16,1,0,14,24, - 15,240,3,192,15,192,60,224,48,240,15,240,63,248,124,248, - 120,60,240,60,240,60,240,60,240,60,240,60,240,60,120,56, - 124,248,63,240,15,192,13,20,40,16,2,0,30,96,63,192, - 55,128,0,0,0,0,0,0,247,192,255,240,253,240,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,14,22,44,16,1,0,60,0,28,0,14,0, - 6,0,3,0,3,0,0,0,0,0,15,192,63,224,124,240, - 120,120,240,60,240,60,240,60,240,60,240,60,240,60,120,120, - 124,248,63,240,15,192,14,22,44,16,1,0,0,240,0,224, - 1,192,1,128,3,0,3,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,14,22,44,16,1,0,7,128, - 7,128,15,192,12,192,24,96,24,96,0,0,0,0,15,192, - 63,224,124,240,120,120,240,60,240,60,240,60,240,60,240,60, - 240,60,120,120,124,248,63,240,15,192,14,20,40,16,1,0, - 15,224,31,224,24,0,0,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,14,21,42,16,1,0,28,224, - 28,224,28,224,0,0,0,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,16,12,24,26,5,2,1,192, - 3,192,1,192,0,0,0,0,255,255,255,255,0,0,0,0, - 1,192,3,192,1,192,14,18,36,16,1,254,0,8,0,28, - 15,248,63,240,124,240,120,248,241,252,241,188,243,60,246,60, - 254,60,252,60,120,120,60,248,127,240,239,192,192,0,128,0, - 13,22,44,16,2,0,56,0,60,0,28,0,14,0,6,0, - 3,0,0,0,0,0,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,248,249,248,127,248, - 62,120,13,22,44,16,2,0,1,224,1,192,3,128,3,0, - 7,0,6,0,0,0,0,0,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,248,249,248, - 127,248,62,120,13,22,44,16,2,0,15,0,15,128,31,128, - 29,192,56,192,48,96,0,0,0,0,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, - 249,248,127,248,62,120,13,21,42,16,2,0,56,224,56,224, - 56,224,0,0,0,0,0,0,0,0,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, - 249,248,127,248,62,120,14,27,54,15,0,251,0,112,0,240, - 0,224,0,192,1,128,0,0,0,0,0,0,120,28,120,60, - 60,60,60,56,60,120,30,120,30,112,14,240,15,240,15,224, - 7,224,7,224,3,192,3,192,3,128,39,128,255,128,127,0, - 62,0,14,25,50,17,2,251,240,0,240,0,240,0,240,0, - 240,0,240,0,247,192,255,240,253,240,248,120,240,56,240,60, - 240,60,240,60,240,60,240,120,240,120,253,240,255,240,247,192, - 240,0,240,0,240,0,240,0,240,0,15,26,52,15,0,251, - 28,112,28,112,28,112,0,0,0,0,0,0,0,0,248,30, - 120,60,120,60,60,56,60,120,60,120,30,112,30,240,15,240, - 15,224,15,224,7,224,7,192,3,192,7,128,7,128,7,128, - 15,0,15,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=16 h=21 x= 5 y= 9 dx=26 dy= 0 ascent=20 len=40 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20n[583] U8G_SECTION(".progmem.u8g_font_fub20n") = { - 0,40,36,254,249,20,0,0,0,0,42,57,0,20,252,20, - 0,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=27 h=29 x= 7 y=16 dx=28 dy= 0 ascent=22 len=100 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =22 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_SECTION(".progmem.u8g_font_fub20r") = { - 0,40,36,254,249,20,4,242,11,37,32,127,251,22,249,20, - 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, - 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, - 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, - 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, - 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, - 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, - 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, - 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, - 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, - 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, - 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, - 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, - 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, - 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, - 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, - 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, - 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, - 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, - 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, - 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, - 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, - 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, - 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, - 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, - 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, - 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, - 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, - 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, - 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, - 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, - 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, - 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, - 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, - 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, - 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, - 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, - 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, - 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, - 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, - 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, - 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, - 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, - 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, - 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, - 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, - 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, - 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, - 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, - 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, - 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, - 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, - 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, - 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, - 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, - 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, - 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, - 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, - 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, - 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, - 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, - 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, - 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, - 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, - 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, - 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, - 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, - 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, - 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, - 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, - 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, - 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, - 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, - 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, - 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, - 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, - 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, - 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, - 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, - 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, - 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, - 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, - 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, - 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, - 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, - 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, - 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, - 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, - 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, - 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, - 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, - 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, - 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, - 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, - 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, - 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, - 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, - 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, - 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, - 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, - 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, - 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, - 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, - 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, - 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, - 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, - 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, - 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, - 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, - 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, - 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, - 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, - 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, - 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, - 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, - 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, - 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, - 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, - 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, - 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, - 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, - 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, - 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, - 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, - 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, - 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, - 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, - 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, - 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, - 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, - 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, - 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, - 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, - 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, - 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, - 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, - 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, - 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, - 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, - 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, - 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, - 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, - 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, - 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, - 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, - 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, - 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, - 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, - 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, - 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, - 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, - 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, - 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, - 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, - 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, - 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, - 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, - 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, - 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, - 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, - 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, - 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, - 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, - 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, - 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, - 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, - 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, - 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, - 156,127,248,225,240,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=34 h=37 x= 8 y=22 dx=35 dy= 0 ascent=37 len=160 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =37 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25[12908] U8G_SECTION(".progmem.u8g_font_fub25") = { - 0,50,46,254,247,25,7,111,16,148,32,255,249,37,247,25, - 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, - 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, - 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, - 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, - 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, - 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, - 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, - 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, - 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, - 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, - 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, - 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, - 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, - 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, - 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, - 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, - 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, - 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, - 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, - 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, - 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, - 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, - 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, - 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, - 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, - 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, - 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, - 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, - 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, - 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, - 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, - 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, - 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, - 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, - 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, - 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, - 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, - 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, - 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, - 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, - 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, - 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, - 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, - 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, - 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, - 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, - 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, - 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, - 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, - 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, - 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, - 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, - 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, - 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, - 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, - 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, - 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, - 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, - 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, - 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, - 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, - 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, - 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, - 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, - 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, - 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, - 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, - 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, - 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, - 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, - 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, - 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, - 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, - 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, - 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, - 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, - 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, - 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, - 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, - 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, - 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, - 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, - 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, - 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, - 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, - 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, - 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, - 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, - 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, - 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, - 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, - 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, - 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, - 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, - 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, - 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, - 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, - 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, - 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, - 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, - 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, - 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, - 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, - 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, - 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, - 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, - 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, - 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, - 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, - 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, - 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, - 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, - 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, - 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, - 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, - 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, - 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, - 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, - 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, - 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, - 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, - 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, - 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, - 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, - 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, - 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, - 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, - 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, - 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, - 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, - 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, - 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, - 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, - 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, - 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, - 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, - 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, - 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, - 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, - 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, - 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, - 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, - 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, - 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, - 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, - 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, - 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, - 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, - 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, - 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, - 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, - 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, - 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, - 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, - 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, - 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, - 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, - 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, - 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, - 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, - 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, - 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, - 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, - 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, - 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, - 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, - 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, - 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, - 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, - 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, - 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, - 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, - 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, - 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, - 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, - 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, - 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, - 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, - 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, - 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, - 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, - 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, - 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, - 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, - 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, - 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, - 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, - 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, - 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, - 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, - 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, - 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, - 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, - 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, - 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, - 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, - 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, - 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, - 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, - 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, - 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, - 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, - 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, - 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, - 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, - 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, - 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, - 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, - 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, - 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, - 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, - 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, - 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, - 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, - 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, - 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, - 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, - 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, - 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, - 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, - 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, - 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, - 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, - 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, - 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, - 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, - 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, - 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, - 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, - 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, - 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, - 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, - 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, - 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, - 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, - 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, - 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, - 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, - 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, - 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, - 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, - 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, - 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, - 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, - 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, - 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, - 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, - 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, - 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, - 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, - 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, - 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, - 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, - 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, - 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, - 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,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,10,0,0,5,25,25,13,4,249,248,248,248,248, - 0,0,0,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,15,26,52,19,2,252,0,48,0,48,0, - 48,0,32,7,224,31,248,63,252,124,252,120,254,248,254,249, - 128,249,128,249,128,249,0,251,0,251,62,251,62,126,62,126, - 124,63,252,31,248,15,224,12,0,24,0,24,0,24,0,17, - 25,75,20,2,1,7,254,0,15,255,0,31,255,0,31,15, - 128,62,15,128,62,0,0,62,0,0,62,0,0,62,0,0, - 255,240,0,255,240,0,255,240,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,255,128,255,255,128,255,255,128, - 18,19,57,20,1,6,64,0,128,224,1,192,115,227,128,63, - 255,0,30,30,0,28,14,0,24,6,0,48,3,0,48,3, - 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, - 30,30,0,63,255,0,115,243,128,224,1,192,64,0,128,19, - 25,75,21,1,0,248,3,224,248,7,224,124,7,192,124,7, - 192,62,15,128,62,15,128,31,31,0,255,31,224,255,191,224, - 15,190,0,7,252,0,7,252,0,3,248,0,255,255,224,255, - 255,224,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,14,31,62,16,1,251,31,240,63, - 248,127,248,124,24,248,0,248,0,124,0,126,0,63,128,31, - 192,31,240,63,248,124,248,248,124,240,60,240,120,240,120,253, - 240,127,224,63,192,31,224,7,240,1,248,0,252,0,124,0, - 124,128,248,225,248,255,240,255,224,63,128,11,4,8,11,0, - 22,241,224,241,224,241,224,241,224,25,25,100,29,2,1,0, - 255,192,0,3,255,224,0,15,0,120,0,30,0,60,0,24, - 63,14,0,56,127,134,0,112,255,199,0,97,227,195,0,225, - 193,227,128,195,193,225,128,195,192,1,128,195,192,1,128,195, - 192,1,128,195,192,1,128,195,193,225,128,227,193,227,128,97, - 227,195,0,113,255,195,0,48,255,135,0,56,62,14,0,28, - 0,28,0,15,0,120,0,7,193,240,0,1,255,224,0,0, - 127,0,0,12,17,34,14,1,8,15,128,63,192,56,224,112, - 224,0,224,15,224,63,224,120,224,112,224,112,224,121,224,63, - 224,30,96,0,0,0,0,255,240,255,240,17,14,42,21,2, - 2,31,15,128,30,31,0,62,31,0,60,62,0,124,62,0, - 124,124,0,248,124,0,248,124,0,124,124,0,124,62,0,60, - 62,0,62,31,0,30,15,0,31,15,128,18,8,24,21,2, - 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,255,25,25,100,29,2,1, - 0,255,192,0,3,255,224,0,15,0,120,0,30,0,60,0, - 25,255,142,0,57,255,198,0,113,255,231,0,97,193,227,0, - 225,192,227,128,193,193,225,128,193,255,129,128,193,255,129,128, - 193,255,193,128,193,193,193,128,193,193,193,128,225,192,227,128, - 97,192,227,0,113,192,227,0,49,192,231,0,56,0,14,0, - 28,0,28,0,15,0,120,0,7,193,240,0,1,255,224,0, - 0,127,0,0,11,3,6,11,0,22,255,224,255,224,255,224, - 7,7,7,11,2,18,56,196,130,130,130,196,120,20,21,63, - 34,7,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,255,255,240,255,255,240,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,240,255, - 255,240,11,13,26,13,1,13,63,128,127,192,241,224,1,224, - 1,224,3,192,7,192,15,128,30,0,124,0,240,0,255,192, - 255,192,11,14,28,13,1,12,127,128,255,128,227,192,3,192, - 7,192,31,128,31,128,3,192,1,224,1,224,225,224,243,192, - 127,128,63,0,7,7,7,8,2,21,62,60,56,120,112,224, - 192,255,16,31,62,19,2,250,15,255,63,255,127,24,255,24, - 255,24,255,24,255,24,255,24,255,24,255,24,127,24,63,24, - 31,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,5,5,5,10,3,10,248,248,248,248, - 248,9,8,16,9,1,247,48,0,48,0,63,0,7,128,3, - 128,3,128,255,0,254,0,6,14,14,9,1,12,28,124,252, - 220,28,28,28,28,28,28,28,28,28,28,12,17,34,14,1, - 8,31,128,63,192,121,224,112,224,224,112,224,112,224,112,224, - 112,224,112,112,224,121,224,63,192,31,128,0,0,0,0,255, - 240,255,240,16,14,28,21,2,2,240,120,248,124,124,60,124, - 62,62,30,62,31,31,31,31,31,62,31,62,30,124,62,124, - 60,248,124,240,120,25,26,104,27,1,0,28,0,120,0,124, - 0,112,0,252,0,240,0,156,0,224,0,28,1,192,0,28, - 1,192,0,28,3,128,0,28,7,128,0,28,7,0,0,28, - 14,0,0,28,14,0,0,28,28,0,0,28,28,30,0,28, - 56,30,0,0,120,62,0,0,112,126,0,0,224,126,0,0, - 224,238,0,1,193,206,0,1,193,206,0,3,131,142,0,7, - 3,255,128,7,3,255,128,14,0,14,0,14,0,14,0,28, - 0,14,0,25,26,104,27,1,0,28,0,112,0,124,0,224, - 0,252,0,224,0,220,1,192,0,28,3,192,0,28,3,128, - 0,28,7,0,0,28,7,0,0,28,14,0,0,28,14,0, - 0,28,28,0,0,28,56,0,0,28,56,124,0,28,113,255, - 0,0,115,199,128,0,227,199,128,0,192,7,128,1,192,15, - 128,3,128,15,0,3,128,30,0,7,0,60,0,6,0,248, - 0,14,1,240,0,12,3,192,0,28,3,255,0,24,3,255, - 0,25,25,100,27,1,1,127,128,60,0,255,192,56,0,227, - 192,112,0,3,192,112,0,31,128,224,0,31,129,224,0,3, - 193,192,0,1,227,192,0,225,227,128,0,227,231,128,0,127, - 207,0,0,63,14,30,0,0,30,62,0,0,28,62,0,0, - 60,126,0,0,56,110,0,0,120,238,0,0,241,206,0,0, - 241,206,0,1,227,142,0,1,227,255,128,3,195,255,128,3, - 128,14,0,7,128,14,0,15,0,14,0,16,25,50,18,1, - 249,3,224,3,224,3,224,3,224,0,0,0,0,0,0,1, - 192,1,192,1,192,3,192,7,128,15,0,30,0,60,0,124, - 0,248,0,248,0,248,0,248,14,248,31,124,62,63,254,31, - 248,7,224,23,35,105,24,1,0,3,192,0,3,192,0,1, - 224,0,0,224,0,0,112,0,0,48,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,124,0,0,252,0,0,254,0, - 0,254,0,1,254,0,1,255,0,3,255,0,3,207,0,3, - 207,128,7,207,128,7,135,192,7,135,192,15,135,192,15,3, - 224,31,3,224,31,3,240,31,255,240,63,255,240,63,255,248, - 127,255,248,124,0,248,124,0,252,248,0,124,248,0,126,240, - 0,62,23,35,105,24,1,0,0,15,0,0,15,0,0,30, - 0,0,28,0,0,56,0,0,48,0,0,112,0,0,0,0, - 0,0,0,0,0,0,0,124,0,0,252,0,0,254,0,0, - 254,0,1,254,0,1,255,0,3,255,0,3,207,0,3,207, - 128,7,207,128,7,135,192,7,135,192,15,135,192,15,3,224, - 31,3,224,31,3,240,31,255,240,63,255,240,63,255,248,127, - 255,248,124,0,248,124,0,252,248,0,124,248,0,126,240,0, - 62,23,35,105,24,1,0,0,252,0,0,252,0,0,254,0, - 1,206,0,1,199,0,3,135,0,3,3,128,0,0,0,0, - 0,0,0,0,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 23,34,102,24,1,0,0,1,128,1,255,0,3,255,0,3, - 254,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,124,0,0,252,0,0,254,0,0,254,0,1,254,0, - 1,255,0,3,255,0,3,207,0,3,207,128,7,207,128,7, - 135,192,7,135,192,15,135,192,15,3,224,31,3,224,31,3, - 240,31,255,240,63,255,240,63,255,248,127,255,248,124,0,248, - 124,0,252,248,0,124,248,0,126,240,0,62,23,34,102,25, - 1,0,3,199,128,3,199,128,3,199,128,3,199,128,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, - 0,124,0,0,254,0,0,254,0,1,255,0,1,255,0,1, - 239,0,3,239,128,3,239,128,3,199,128,7,199,192,7,199, - 192,15,131,224,15,131,224,15,131,224,31,1,240,31,255,240, - 31,255,240,63,255,248,63,255,248,124,0,252,124,0,124,124, - 0,124,248,0,62,248,0,62,23,37,111,24,1,0,0,120, - 0,0,252,0,1,206,0,1,134,0,1,134,0,1,206,0, - 0,252,0,0,120,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,124,0,0,252,0,0,252,0,0,254,0,1,254, - 0,1,255,0,3,255,0,3,207,0,3,207,128,7,207,128, - 7,135,192,7,135,192,15,135,192,15,3,224,31,3,224,31, - 3,224,31,255,240,63,255,240,63,255,248,127,255,248,124,0, - 248,124,0,252,248,0,124,248,0,126,240,0,62,32,25,100, - 34,1,0,0,7,255,254,0,15,255,254,0,15,255,254,0, - 31,240,0,0,31,240,0,0,63,240,0,0,61,240,0,0, - 121,240,0,0,249,240,0,0,241,240,0,1,241,255,254,1, - 225,255,254,3,225,255,254,3,193,255,254,7,193,240,0,7, - 255,240,0,15,255,240,0,15,255,240,0,31,255,240,0,30, - 1,240,0,62,1,240,0,60,1,255,255,124,1,255,255,248, - 1,255,255,248,1,255,255,21,33,99,25,2,249,3,255,0, - 15,255,192,31,255,224,63,255,240,62,3,240,124,1,240,120, - 1,248,120,0,248,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,248, - 120,1,248,124,1,248,124,3,240,63,7,240,31,255,224,31, - 255,192,7,255,128,1,252,0,0,96,0,0,120,0,0,126, - 0,0,15,0,0,7,0,0,7,0,1,254,0,1,252,0, - 17,35,105,21,2,0,30,0,0,15,0,0,7,0,0,7, - 128,0,3,128,0,1,192,0,0,192,0,0,0,0,0,0, - 0,0,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,255,255,128,255,255,128,255,255,128,255,255,128,17, - 35,105,21,2,0,0,120,0,0,240,0,0,224,0,1,192, - 0,1,128,0,3,128,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,0,255,255,0,255,255,0,255,255,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,17,35, - 105,21,2,0,7,224,0,7,224,0,15,240,0,14,112,0, - 14,56,0,28,56,0,24,28,0,0,0,0,0,0,0,0, - 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,128,255,255,128,255,255,128,255,255,128,17,34,102, - 21,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 0,255,255,0,255,255,0,255,255,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,255,255,0,255, - 255,0,255,255,0,255,255,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,128, - 255,255,128,255,255,128,255,255,128,8,35,35,9,255,0,240, - 120,56,60,28,12,6,0,0,0,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,7,35,35,8,2,0,30,28,60,56,112,96,224,0, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,11,35,70,9,255, - 0,31,0,63,0,63,128,59,128,113,192,97,192,192,224,0, - 0,0,0,0,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,11,34,68,11,0,0,241,224,241, - 224,241,224,241,224,0,0,0,0,0,0,0,0,0,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,23,25,75,24,0,0,63,252,0,63,255,128,63,255,192, - 63,255,224,62,7,240,62,1,248,62,0,248,62,0,124,62, - 0,124,62,0,60,62,0,60,255,240,62,255,240,62,255,240, - 62,62,0,60,62,0,60,62,0,124,62,0,124,62,0,248, - 62,1,248,62,7,240,63,255,224,63,255,192,63,255,128,63, - 252,0,21,34,102,25,2,0,0,3,0,1,255,0,3,254, - 0,7,252,0,6,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,254,0,248,255,0,248,255,0,248,255,128,248,255, - 128,248,255,192,248,255,192,248,251,224,248,251,224,248,249,224, - 248,249,240,248,248,240,248,248,248,248,248,120,248,248,124,248, - 248,60,248,248,62,248,248,30,248,248,31,248,248,31,248,248, - 15,248,248,15,248,248,7,248,248,7,248,248,3,248,23,36, - 108,27,2,0,7,192,0,3,192,0,1,224,0,0,224,0, - 0,240,0,0,112,0,0,56,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, - 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, - 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, - 23,36,108,27,2,0,0,7,192,0,7,128,0,15,0,0, - 14,0,0,28,0,0,24,0,0,48,0,0,0,0,0,0, - 0,0,0,0,0,0,0,3,255,128,7,255,192,31,255,240, - 31,255,240,63,1,248,126,0,252,124,0,124,120,0,60,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,124,0,124,124,0,124, - 62,0,248,63,131,248,31,255,240,15,255,224,7,255,192,0, - 254,0,23,36,108,27,2,0,0,124,0,0,254,0,0,254, - 0,1,239,0,1,199,0,3,131,128,3,1,128,0,0,0, - 0,0,0,0,0,0,0,0,0,3,255,128,7,255,192,31, - 255,240,31,255,240,63,1,248,126,0,252,124,0,124,120,0, - 60,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,124,0,124,124, - 0,124,62,0,248,63,131,248,31,255,240,15,255,224,7,255, - 192,0,254,0,23,34,102,27,2,0,0,241,128,1,255,128, - 3,255,0,3,30,0,3,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, - 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, - 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, - 23,34,102,27,2,0,3,199,128,3,199,128,3,199,128,3, - 199,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,3,255,128,7,255,192,31,255,240,31,255,240,63,1,248, - 126,0,252,124,0,124,120,0,60,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,124,0,124,124,0,124,62,0,248,63,131,248, - 31,255,240,15,255,224,7,255,192,0,254,0,18,19,57,34, - 8,1,64,0,0,224,0,192,112,1,128,56,3,0,28,6, - 0,14,12,0,6,24,0,3,48,0,1,224,0,0,192,0, - 1,224,0,3,48,0,6,24,0,12,12,0,24,6,0,48, - 3,0,112,1,128,224,1,192,64,0,128,25,28,112,27,1, - 255,0,0,1,0,0,0,3,128,1,255,195,128,3,255,247, - 0,15,255,254,0,15,255,252,0,31,128,252,0,63,0,126, - 0,62,0,254,0,60,1,254,0,124,3,223,0,124,7,159, - 0,124,15,31,0,124,30,31,0,124,60,31,0,124,120,31, - 0,124,240,31,0,125,224,31,0,127,192,31,0,63,128,62, - 0,63,0,62,0,63,0,124,0,31,193,252,0,63,255,248, - 0,127,255,240,0,243,255,224,0,224,127,0,0,64,0,0, - 0,21,36,108,25,2,0,15,0,0,7,128,0,3,192,0, - 3,192,0,1,224,0,0,224,0,0,112,0,0,0,0,0, - 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,240,248,0,240,120,1, - 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, - 3,252,0,21,36,108,25,2,0,0,15,128,0,15,0,0, - 30,0,0,60,0,0,56,0,0,112,0,0,96,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,240,248,0,240, - 120,1,240,124,3,240,127,7,224,63,255,192,31,255,128,15, - 255,0,3,252,0,21,36,108,25,2,0,0,248,0,1,248, - 0,1,252,0,3,220,0,7,142,0,7,14,0,14,7,0, - 0,0,0,0,0,0,0,0,0,0,0,0,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,240,248, - 0,240,120,1,240,124,3,240,127,7,224,63,255,192,31,255, - 128,15,255,0,3,252,0,21,34,102,25,2,0,7,143,0, - 7,143,0,7,143,0,7,143,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,240,248,0,240,124,1, - 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, - 3,252,0,21,35,105,22,1,0,0,30,0,0,30,0,0, - 28,0,0,56,0,0,48,0,0,112,0,0,0,0,0,0, - 0,0,0,0,0,0,0,252,1,248,252,1,240,126,3,224, - 126,3,224,63,7,192,31,7,192,31,143,128,15,143,128,15, - 223,0,7,223,0,7,254,0,3,254,0,3,252,0,1,248, - 0,1,248,0,0,240,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,18,25,75,22,2,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,240,0,255,254,0,255,255,0,255,255,128, - 248,15,128,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,255,255,128,255,255,0,255,254,0,255,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,18,25,75,19,1,1,31,240,0,63,252,0,127, - 252,0,248,62,0,248,62,0,248,62,0,248,62,0,248,124, - 0,248,248,0,248,240,0,249,240,0,251,224,0,251,224,0, - 249,248,0,249,252,0,248,127,0,248,63,128,248,15,128,248, - 7,128,248,7,192,251,199,192,251,199,128,249,255,128,249,255, - 0,248,126,0,15,28,56,19,2,0,60,0,30,0,14,0, - 7,0,7,0,3,128,1,128,0,0,0,0,0,0,7,224, - 63,248,127,252,124,62,120,62,0,62,15,254,63,254,127,254, - 124,62,248,62,248,62,248,62,248,62,252,126,127,254,63,222, - 31,30,15,28,56,19,2,0,0,120,0,240,0,240,1,224, - 1,192,1,128,3,0,0,0,0,0,0,0,7,224,63,248, - 127,252,124,62,120,62,0,62,15,254,63,254,127,254,124,62, - 248,62,248,62,248,62,248,62,252,126,127,254,63,222,31,30, - 15,28,56,19,2,0,7,192,7,224,15,224,14,240,28,112, - 24,56,56,24,0,0,0,0,0,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,15,26, - 52,19,2,0,0,24,15,248,31,240,31,224,48,0,0,0, - 0,0,0,0,7,224,63,248,127,252,124,62,120,62,0,62, - 15,254,63,254,127,254,124,62,248,62,248,62,248,62,248,62, - 252,126,127,254,63,222,31,30,15,27,54,19,2,0,60,120, - 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, - 15,224,63,248,127,252,124,62,120,62,0,62,15,254,63,254, - 127,254,124,62,248,62,248,62,248,62,248,62,252,126,127,254, - 63,222,31,30,15,30,60,19,2,0,3,192,7,224,14,112, - 12,48,12,48,14,112,7,224,3,192,0,0,0,0,0,0, - 0,0,7,224,31,248,63,252,124,62,120,62,0,62,15,254, - 63,254,127,254,124,62,248,62,248,62,248,62,248,62,252,126, - 127,254,63,222,31,30,27,18,72,31,2,0,7,224,124,0, - 31,249,255,0,127,253,255,128,124,63,135,192,120,31,3,192, - 0,31,3,224,7,255,255,224,63,255,255,224,127,255,255,224, - 124,31,0,0,248,31,0,0,248,31,0,0,248,31,131,224, - 248,31,131,192,252,59,199,192,127,241,255,192,63,224,255,128, - 15,128,126,0,15,26,52,18,2,248,7,224,31,248,63,252, - 124,124,120,60,248,62,248,62,248,0,248,0,248,0,248,0, - 248,62,248,62,120,60,124,124,63,252,31,248,15,224,3,0, - 3,128,3,224,0,240,0,112,0,112,15,224,15,192,15,28, - 56,19,2,0,62,0,30,0,15,0,7,0,7,128,3,128, - 1,192,0,0,0,0,0,0,7,224,31,248,63,252,124,60, - 120,62,248,30,248,30,255,254,255,254,255,254,248,0,248,0, - 248,30,120,62,124,62,63,252,31,248,7,224,15,28,56,19, - 2,0,0,120,0,112,0,240,0,224,1,192,1,128,3,0, - 0,0,0,0,0,0,7,224,31,248,63,252,124,60,120,62, - 248,30,248,30,255,254,255,254,255,254,248,0,248,0,248,30, - 120,62,124,62,63,252,31,248,7,224,15,28,56,19,2,0, - 7,224,7,224,15,224,14,112,28,112,28,56,56,24,0,0, - 0,0,0,0,7,224,31,248,63,252,124,60,120,62,248,30, - 248,30,255,254,255,254,255,254,248,0,248,0,248,30,120,62, - 124,62,63,252,31,248,7,224,15,27,54,19,2,0,60,120, - 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, - 7,224,31,248,63,252,124,124,120,62,248,62,248,62,255,254, - 255,254,255,254,248,0,248,0,248,62,120,62,124,126,63,252, - 31,248,7,224,8,28,28,9,255,0,240,120,120,60,28,14, - 6,0,0,0,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,7,28,28,8,2,0,30,60,56,120, - 112,224,192,0,0,0,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,10,28,56,9,255,0,31,0, - 63,0,63,128,123,128,115,192,97,192,224,192,0,0,0,0, - 0,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,11,26,52,9,255,0,241,224,241,224, - 241,224,241,224,0,0,0,0,0,0,0,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 18,26,78,21,2,0,0,1,0,15,135,0,3,254,0,1, - 248,0,3,248,0,15,252,0,60,60,0,16,30,0,7,255, - 0,31,255,0,63,255,0,126,31,128,124,15,128,248,15,128, - 248,7,128,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,128,120,15,128,124,15,128,126,31,0,63,255,0,31,252, - 0,3,240,0,16,26,52,20,2,0,0,24,15,248,31,248, - 31,240,48,0,0,0,0,0,0,0,249,248,251,252,255,254, - 252,63,252,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,18,28, - 84,21,2,0,31,0,0,15,0,0,7,128,0,3,128,0, - 3,192,0,1,192,0,0,224,0,0,0,0,0,0,0,0, - 0,0,3,240,0,15,252,0,63,254,0,62,31,0,124,15, - 128,120,15,128,248,7,128,248,7,128,248,7,192,248,7,192, - 248,7,192,248,7,128,120,15,128,124,15,128,62,31,0,63, - 254,0,15,252,0,3,240,0,18,28,84,21,2,0,0,60, - 0,0,56,0,0,120,0,0,112,0,0,224,0,0,192,0, - 1,128,0,0,0,0,0,0,0,0,0,0,3,240,0,15, - 252,0,63,254,0,62,31,0,124,15,128,120,15,128,248,7, - 128,248,7,128,248,7,192,248,7,192,248,7,192,248,7,128, - 120,15,128,124,15,128,62,31,0,63,254,0,15,252,0,3, - 240,0,18,28,84,21,2,0,3,224,0,3,240,0,7,240, - 0,7,56,0,14,56,0,14,28,0,28,12,0,0,0,0, - 0,0,0,0,0,0,3,240,0,15,252,0,63,254,0,62, - 31,0,124,15,128,120,15,128,248,7,128,248,7,128,248,7, - 192,248,7,192,248,7,192,248,7,128,120,15,128,124,15,128, - 62,31,0,63,254,0,15,252,0,3,240,0,18,27,81,21, - 2,0,0,4,0,0,12,0,7,252,0,15,248,0,15,240, - 0,24,0,0,0,0,0,0,0,0,0,0,0,3,240,0, - 15,252,0,63,254,0,62,31,0,124,15,128,120,15,128,248, - 7,128,248,7,128,248,7,192,248,7,192,248,7,192,248,7, - 128,120,15,128,124,15,128,62,31,0,63,254,0,15,252,0, - 3,240,0,18,27,81,21,2,0,30,60,0,30,60,0,30, - 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,3,240,0,15,252,0,63,254,0,62,31,0, - 124,15,128,120,15,128,248,7,128,248,7,128,248,7,192,248, - 7,192,248,7,192,248,7,128,120,15,128,124,15,128,62,31, - 0,63,254,0,15,252,0,3,240,0,20,15,45,34,7,3, - 0,112,0,0,248,0,0,248,0,0,112,0,0,0,0,0, - 0,0,0,0,0,255,255,240,255,255,240,0,0,0,0,0, - 0,0,112,0,0,248,0,0,248,0,0,112,0,18,23,69, - 21,2,254,0,1,0,0,1,128,0,3,128,3,247,0,15, - 255,0,63,254,0,62,31,0,124,63,128,120,55,128,248,119, - 128,248,231,128,249,199,192,251,135,192,251,135,192,255,7,128, - 126,15,128,124,15,128,62,31,0,63,254,0,127,252,0,227, - 240,0,224,0,0,192,0,0,16,28,56,20,2,0,62,0, - 30,0,15,0,7,0,3,128,3,128,1,192,0,0,0,0, - 0,0,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,252,63, - 127,255,63,223,31,159,16,28,56,20,2,0,0,120,0,240, - 0,240,0,224,1,192,1,128,3,0,0,0,0,0,0,0, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,252,63,127,255, - 63,223,31,159,16,28,56,20,2,0,7,224,7,224,15,240, - 14,112,28,56,28,56,56,28,0,0,0,0,0,0,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,252,63,127,255,63,223, - 31,159,16,27,54,20,2,0,60,120,60,120,60,120,60,120, - 0,0,0,0,0,0,0,0,0,0,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,252,63,127,255,63,223,31,159,17,35, - 105,19,1,249,0,30,0,0,60,0,0,56,0,0,120,0, - 0,112,0,0,224,0,0,192,0,0,0,0,0,0,0,0, - 0,0,248,15,128,248,15,128,252,15,128,124,31,0,126,31, - 0,62,31,0,62,62,0,63,62,0,31,60,0,31,124,0, - 15,252,0,15,248,0,15,248,0,7,248,0,7,240,0,3, - 240,0,3,240,0,3,224,0,3,224,0,3,192,0,103,192, - 0,255,192,0,255,192,0,127,128,0,62,0,0,17,32,96, - 21,2,249,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,249,240,0,255,252,0,255,254, - 0,254,63,0,252,31,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,254,63,0,255,254,0,255,252,0,251,240,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,17,33,99,19,1,249,30,60,0,30,60,0,30, - 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, - 0,248,15,128,248,15,128,252,15,128,124,31,0,124,31,0, - 126,31,0,62,62,0,63,62,0,31,62,0,31,124,0,31, - 252,0,15,248,0,15,248,0,7,248,0,7,240,0,7,240, - 0,3,240,0,3,224,0,3,224,0,3,224,0,7,192,0, - 7,192,0,7,192,0,15,128,0,15,128,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=20 h=28 x= 7 y=13 dx=34 dy= 0 ascent=26 len=75 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25n[957] U8G_SECTION(".progmem.u8g_font_fub25n") = { - 0,50,46,254,247,25,0,0,0,0,42,57,0,26,251,25, - 0,14,13,26,22,4,13,28,224,60,240,28,224,15,192,135, - 132,255,252,255,252,231,156,15,192,30,224,28,224,60,240,8, - 64,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,7,9,9,11,2,251,62,60,60,120, - 120,112,240,240,224,9,5,10,11,1,7,255,128,255,128,255, - 128,255,128,255,128,5,5,5,10,3,0,248,248,248,248,248, - 11,28,56,15,2,254,0,224,0,224,1,192,1,192,1,192, - 3,128,3,128,3,128,3,128,7,0,7,0,7,0,14,0, - 14,0,14,0,28,0,28,0,28,0,56,0,56,0,56,0, - 56,0,112,0,112,0,112,0,224,0,224,0,224,0,17,25, - 75,19,1,1,7,224,0,31,252,0,63,254,0,60,30,0, - 120,15,0,120,15,0,120,15,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, - 120,15,0,60,30,0,31,252,0,15,248,0,7,224,0,11, - 25,50,19,3,1,3,224,15,224,31,224,127,224,255,224,251, - 224,243,224,195,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,17,25,75,19,1,1,7,248,0, - 31,254,0,31,255,0,63,255,0,126,31,128,124,15,128,124, - 15,128,0,15,128,0,15,128,0,31,0,0,31,0,0,62, - 0,0,126,0,0,252,0,1,248,0,3,240,0,7,224,0, - 15,192,0,63,0,0,126,0,0,252,0,0,255,255,128,255, - 255,128,255,255,128,255,255,128,16,25,50,19,2,1,31,240, - 63,252,127,254,255,254,248,62,248,31,0,31,0,30,0,126, - 7,252,7,240,7,248,7,252,0,62,0,31,0,31,0,31, - 248,31,248,31,248,31,252,62,127,254,127,252,31,248,15,224, - 18,25,75,19,1,1,0,126,0,0,254,0,0,254,0,1, - 254,0,3,254,0,3,254,0,7,190,0,15,190,0,15,62, - 0,30,62,0,30,62,0,60,62,0,124,62,0,120,62,0, - 240,62,0,255,255,192,255,255,192,255,255,192,255,255,192,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,17,25,75,19,1,1,255,254,0,255,254,0,255,254,0, - 255,254,0,248,0,0,248,0,0,248,0,0,248,0,0,249, - 240,0,255,252,0,255,254,0,252,63,0,248,31,0,248,15, - 0,0,15,128,0,15,128,0,15,128,0,15,0,248,15,0, - 248,31,0,252,63,0,127,254,0,127,252,0,63,248,0,15, - 224,0,17,25,75,19,1,1,3,240,0,15,252,0,31,254, - 0,63,255,0,62,31,0,126,15,128,124,0,0,124,0,0, - 252,0,0,248,248,0,251,254,0,255,254,0,255,31,0,254, - 15,128,252,15,128,252,15,128,252,15,128,252,15,128,124,15, - 128,126,15,128,127,31,0,63,255,0,31,254,0,15,252,0, - 3,240,0,16,25,50,19,2,1,255,255,255,255,255,255,255, - 255,0,15,0,31,0,30,0,62,0,62,0,124,0,124,0, - 248,0,248,0,240,1,240,1,240,3,224,3,224,7,192,7, - 192,15,128,15,128,15,128,31,0,31,0,17,25,75,19,1, - 1,7,240,0,31,252,0,127,255,0,127,255,0,252,31,128, - 248,15,128,248,15,128,120,15,0,124,31,0,63,254,0,15, - 248,0,31,248,0,63,254,0,124,63,0,248,15,0,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,252,31,128, - 127,255,0,127,255,0,31,252,0,7,240,0,17,25,75,19, - 1,1,7,240,0,31,252,0,63,254,0,127,254,0,124,63, - 0,248,31,0,248,31,0,248,31,128,248,31,128,248,31,128, - 248,63,128,124,63,128,127,255,128,63,239,128,15,207,128,0, - 15,128,0,31,0,0,31,0,248,31,0,120,63,0,124,126, - 0,63,254,0,63,252,0,31,248,0,7,224,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=34 h=37 x= 8 y=21 dx=35 dy= 0 ascent=28 len=160 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25r[5936] U8G_SECTION(".progmem.u8g_font_fub25r") = { - 0,50,46,254,247,25,7,111,16,148,32,127,249,28,247,25, - 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, - 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, - 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, - 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, - 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, - 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, - 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, - 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, - 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, - 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, - 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, - 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, - 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, - 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, - 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, - 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, - 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, - 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, - 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, - 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, - 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, - 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, - 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, - 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, - 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, - 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, - 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, - 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, - 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, - 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, - 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, - 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, - 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, - 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, - 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, - 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, - 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, - 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, - 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, - 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, - 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, - 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, - 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, - 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, - 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, - 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, - 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, - 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, - 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, - 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, - 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, - 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, - 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, - 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, - 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, - 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, - 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, - 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, - 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, - 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, - 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, - 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, - 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, - 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, - 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, - 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, - 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, - 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, - 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, - 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, - 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, - 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, - 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, - 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, - 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, - 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, - 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, - 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, - 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, - 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, - 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, - 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, - 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, - 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, - 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, - 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, - 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, - 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, - 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, - 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, - 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, - 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, - 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, - 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, - 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, - 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, - 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, - 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, - 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, - 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, - 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, - 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, - 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, - 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, - 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, - 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, - 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, - 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, - 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, - 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, - 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, - 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, - 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, - 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, - 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, - 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, - 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, - 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, - 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, - 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, - 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, - 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, - 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, - 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, - 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, - 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, - 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, - 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, - 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, - 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, - 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, - 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, - 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, - 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, - 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, - 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, - 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, - 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, - 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, - 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, - 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, - 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, - 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, - 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, - 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, - 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, - 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, - 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, - 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, - 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, - 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, - 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, - 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, - 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, - 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, - 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, - 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, - 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, - 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, - 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, - 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, - 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, - 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, - 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, - 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, - 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, - 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, - 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, - 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, - 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, - 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, - 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, - 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, - 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, - 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, - 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, - 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, - 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, - 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, - 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, - 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, - 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, - 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, - 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, - 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, - 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, - 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, - 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, - 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, - 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, - 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, - 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, - 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, - 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, - 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, - 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, - 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, - 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, - 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, - 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, - 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, - 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, - 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, - 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, - 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, - 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, - 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, - 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, - 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, - 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, - 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, - 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, - 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, - 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, - 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, - 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, - 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, - 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, - 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, - 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, - 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, - 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, - 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, - 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, - 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, - 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, - 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, - 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, - 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, - 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, - 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, - 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, - 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, - 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, - 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, - 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, - 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, - 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, - 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, - 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, - 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, - 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, - 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, - 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, - 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, - 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, - 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, - 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, - 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, - 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, - 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, - 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, - 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, - 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, - 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, - 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,255 - }; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=38 h=43 x=10 y=26 dx=42 dy= 0 ascent=43 len=195 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =43 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30[16953] U8G_SECTION(".progmem.u8g_font_fub30") = { - 0,59,54,253,245,30,9,163,21,182,32,255,249,43,245,31, - 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, - 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, - 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, - 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, - 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, - 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, - 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, - 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, - 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, - 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, - 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, - 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, - 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, - 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, - 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, - 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, - 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, - 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, - 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, - 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, - 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, - 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, - 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, - 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, - 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, - 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, - 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, - 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, - 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, - 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, - 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, - 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, - 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, - 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, - 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, - 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, - 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, - 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, - 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, - 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, - 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, - 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, - 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, - 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, - 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, - 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, - 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, - 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, - 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, - 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, - 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, - 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, - 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, - 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, - 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, - 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, - 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, - 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, - 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, - 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, - 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, - 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, - 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, - 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, - 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, - 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, - 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, - 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, - 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, - 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, - 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, - 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, - 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, - 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, - 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, - 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, - 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, - 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, - 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, - 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, - 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, - 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, - 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, - 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, - 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, - 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, - 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, - 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, - 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, - 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, - 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, - 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, - 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, - 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, - 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, - 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, - 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, - 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, - 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, - 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, - 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, - 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, - 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, - 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, - 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, - 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, - 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, - 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, - 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, - 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, - 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, - 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, - 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, - 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, - 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, - 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, - 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, - 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, - 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, - 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, - 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, - 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, - 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, - 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, - 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, - 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, - 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, - 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, - 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, - 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, - 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, - 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, - 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, - 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, - 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, - 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, - 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, - 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, - 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, - 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, - 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, - 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, - 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, - 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, - 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, - 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, - 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, - 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, - 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, - 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, - 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, - 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, - 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, - 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, - 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, - 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, - 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, - 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, - 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, - 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, - 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, - 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, - 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, - 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, - 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, - 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, - 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, - 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, - 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, - 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, - 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, - 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, - 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, - 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, - 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, - 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, - 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, - 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, - 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, - 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, - 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, - 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, - 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, - 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, - 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, - 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, - 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, - 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, - 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, - 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, - 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, - 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, - 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, - 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, - 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, - 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, - 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, - 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, - 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, - 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, - 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, - 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, - 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, - 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, - 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, - 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, - 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, - 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, - 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, - 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, - 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, - 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, - 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, - 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, - 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, - 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, - 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, - 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, - 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, - 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, - 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, - 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, - 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, - 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, - 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, - 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, - 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, - 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, - 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, - 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, - 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, - 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, - 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, - 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, - 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, - 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, - 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, - 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, - 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, - 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, - 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, - 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, - 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, - 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, - 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, - 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, - 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, - 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, - 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, - 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, - 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, - 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, - 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, - 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, - 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, - 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, - 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, - 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, - 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, - 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, - 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, - 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, - 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, - 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, - 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, - 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, - 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, - 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, - 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, - 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, - 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, - 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, - 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, - 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, - 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, - 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, - 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, - 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, - 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, - 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, - 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, - 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, - 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, - 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, - 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, - 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, - 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, - 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, - 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, - 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, - 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, - 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, - 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, - 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, - 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, - 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, - 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, - 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, - 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, - 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, - 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, - 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, - 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, - 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, - 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, - 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, - 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, - 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, - 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, - 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, - 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, - 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, - 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, - 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, - 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, - 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, - 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, - 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, - 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, - 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, - 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, - 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, - 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, - 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, - 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, - 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, - 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, - 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, - 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, - 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, - 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, - 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, - 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, - 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, - 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, - 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, - 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, - 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, - 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, - 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, - 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, - 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, - 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, - 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, - 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, - 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, - 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, - 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, - 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, - 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, - 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, - 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, - 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, - 255,224,240,31,128,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,12,0,0,5,28,28,16, - 5,248,248,248,248,248,248,0,0,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,18,30, - 90,24,3,250,0,6,0,0,14,0,0,12,0,0,12,0, - 0,28,0,7,252,0,31,255,0,63,255,128,63,63,128,124, - 63,192,124,127,192,252,103,192,248,96,0,248,96,0,248,192, - 0,248,192,0,248,192,0,253,192,0,253,143,192,125,143,192, - 127,143,192,127,31,128,63,255,128,31,255,0,7,252,0,6, - 0,0,14,0,0,12,0,0,12,0,0,28,0,0,20,31, - 93,23,2,0,0,16,0,3,255,128,7,255,192,15,255,224, - 15,199,240,31,131,240,31,131,240,31,1,240,31,0,0,31, - 0,0,31,0,0,31,0,0,255,252,0,255,252,0,255,252, - 0,255,252,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,255,255,240,255,255,240,255,255,240,255,255, - 240,21,21,63,25,2,8,192,0,24,224,0,56,113,252,112, - 63,255,224,31,7,192,28,1,192,24,1,192,56,0,224,48, - 0,96,48,0,96,48,0,96,48,0,96,48,0,224,56,0, - 224,28,1,192,30,3,192,31,143,192,63,255,224,113,252,112, - 224,0,56,192,0,24,22,30,90,24,1,0,252,0,252,252, - 0,252,124,1,248,126,1,248,62,3,240,63,3,240,63,7, - 224,31,135,224,255,135,252,255,143,252,255,207,252,7,223,128, - 7,255,0,3,255,0,3,255,0,1,254,0,255,255,252,255, - 255,252,255,255,252,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,2,38,38,14,6,248,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,16,36,72,19,1,251,15,252,31,254,63,254,126,14, - 124,2,124,0,124,0,126,0,127,0,63,192,31,224,15,248, - 31,252,63,254,126,127,124,63,248,31,248,31,248,31,252,62, - 254,252,127,248,63,240,31,248,7,252,1,254,0,127,0,63, - 0,63,0,31,0,63,64,126,127,254,127,252,127,240,31,192, - 13,5,10,13,0,26,240,120,240,120,240,120,240,120,240,120, - 30,30,120,34,2,1,0,63,240,0,0,255,252,0,3,248, - 127,0,7,192,15,128,15,0,3,192,30,0,1,224,60,31, - 240,240,56,63,248,112,120,127,252,120,112,248,124,56,112,248, - 62,56,225,240,62,28,225,240,62,28,225,240,0,28,225,240, - 0,28,225,240,0,28,225,240,0,28,225,240,62,28,225,240, - 62,28,112,248,62,56,112,248,124,56,112,127,252,120,56,63, - 248,112,60,31,224,240,30,0,1,224,15,0,3,192,7,128, - 15,128,3,240,63,0,1,255,252,0,0,63,240,0,14,20, - 40,16,1,10,15,192,63,240,120,240,120,120,0,120,15,248, - 63,248,124,120,240,120,240,120,240,120,240,248,255,248,127,248, - 63,56,0,0,0,0,0,0,255,252,255,252,20,16,48,24, - 2,2,15,193,240,15,131,224,31,135,224,31,7,192,63,15, - 192,126,15,192,126,31,128,252,31,128,252,31,128,126,31,128, - 126,15,192,63,15,192,31,7,192,31,135,224,15,131,224,15, - 193,240,21,9,27,25,2,8,255,255,248,255,255,248,0,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,255,30,30,120,34,2,1,0,63,240,0,0,255, - 252,0,3,248,127,0,7,192,15,128,15,0,3,192,30,0, - 1,224,60,255,192,240,56,255,240,112,120,255,248,120,112,240, - 124,56,112,240,60,56,224,240,60,28,224,240,60,28,224,240, - 120,28,224,255,240,28,224,255,224,28,224,255,248,28,224,240, - 120,28,224,240,120,28,112,240,56,56,112,240,60,56,112,240, - 60,120,56,240,60,112,60,240,60,240,30,0,1,224,15,0, - 3,192,7,128,15,128,3,240,63,0,1,255,252,0,0,63, - 240,0,13,4,8,13,0,26,255,248,255,248,255,248,255,248, - 9,9,18,13,2,21,62,0,127,0,227,128,193,128,193,128, - 193,128,227,128,127,0,62,0,24,24,72,40,8,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,255,255,255,255,255,255,255,255,255,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 255,255,255,255,255,255,13,16,32,15,1,15,63,224,127,240, - 248,120,240,120,0,120,0,248,1,240,3,224,7,192,15,128, - 31,0,60,0,240,0,255,240,255,240,255,240,12,15,30,14, - 1,16,63,192,127,224,240,240,240,240,0,240,1,224,15,192, - 15,192,1,224,0,240,0,240,240,240,249,240,127,224,63,128, - 8,8,8,9,2,25,31,31,62,60,120,112,240,224,255,18, - 36,108,22,2,250,7,255,192,31,255,192,63,199,0,127,199, - 0,255,199,0,255,199,0,255,199,0,255,199,0,255,199,0, - 255,199,0,255,199,0,255,199,0,127,199,0,63,199,0,15, - 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, - 0,1,199,0,1,199,0,1,199,0,1,199,0,1,199,0, - 1,199,0,1,199,0,1,199,0,1,199,0,1,199,0,1, - 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, - 0,5,5,5,12,3,11,248,248,248,248,248,9,10,20,10, - 2,246,48,0,48,0,60,0,63,0,7,128,3,128,3,128, - 135,128,255,0,252,0,7,16,16,11,2,14,30,62,254,254, - 158,30,30,30,30,30,30,30,30,30,30,30,14,19,38,16, - 1,11,15,192,31,224,60,240,120,120,112,56,240,60,240,60, - 240,60,240,60,240,60,112,56,120,120,60,240,31,224,15,192, - 0,0,0,0,255,252,255,252,20,16,48,24,2,2,252,31, - 0,124,31,0,126,15,128,62,15,192,63,15,192,31,7,224, - 31,135,224,31,131,240,31,131,240,31,135,224,31,7,224,63, - 15,192,62,15,192,126,15,128,124,31,0,252,31,0,28,31, - 124,32,2,255,30,0,15,0,62,0,30,0,254,0,30,0, - 254,0,60,0,158,0,124,0,30,0,120,0,30,0,248,0, - 30,0,240,0,30,1,240,0,30,1,224,0,30,3,192,0, - 30,3,192,0,30,7,128,0,30,15,128,0,30,15,0,0, - 30,31,3,224,0,30,7,224,0,60,15,224,0,60,15,224, - 0,120,31,224,0,120,61,224,0,240,121,224,0,240,121,224, - 1,224,241,224,3,193,225,224,3,193,255,240,7,129,255,240, - 7,128,1,224,15,0,1,224,15,0,1,224,30,0,1,224, - 28,30,120,31,2,0,30,0,30,0,62,0,60,0,254,0, - 56,0,222,0,120,0,158,0,240,0,30,0,240,0,30,1, - 224,0,30,1,224,0,30,3,192,0,30,3,192,0,30,7, - 128,0,30,7,128,0,30,15,0,0,30,30,0,0,30,30, - 31,128,30,60,63,224,0,60,125,224,0,120,240,240,0,120, - 240,240,0,240,0,240,0,240,1,240,1,224,3,224,1,192, - 7,192,3,192,15,128,7,128,31,0,7,128,62,0,15,0, - 124,0,15,0,240,0,30,0,255,240,30,0,255,240,29,30, - 120,31,1,1,63,192,3,192,127,224,7,192,240,240,7,128, - 240,240,15,0,0,240,15,0,1,224,30,0,15,192,30,0, - 15,192,60,0,1,224,124,0,0,240,120,0,0,240,240,0, - 240,240,240,0,249,241,224,0,127,225,224,0,63,131,193,240, - 0,3,195,240,0,7,135,240,0,15,7,240,0,15,15,240, - 0,30,30,240,0,30,60,240,0,60,60,240,0,60,120,240, - 0,120,240,240,0,240,255,248,0,240,255,248,1,224,0,240, - 1,224,0,240,3,192,0,240,3,192,0,240,19,28,84,23, - 2,248,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,0,0,0,0,0,0,0,0,0,240,0,0,240,0, - 0,240,0,0,240,0,1,224,0,7,224,0,15,128,0,31, - 0,0,62,0,0,124,0,0,252,0,0,252,0,0,248,1, - 0,252,3,128,252,7,224,126,15,192,127,255,192,63,255,128, - 15,254,0,3,248,0,27,41,164,28,1,0,1,240,0,0, - 1,240,0,0,0,248,0,0,0,120,0,0,0,60,0,0, - 0,28,0,0,0,14,0,0,0,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,63,128,0, - 0,127,128,0,0,127,128,0,0,127,192,0,0,255,192,0, - 0,255,224,0,0,255,224,0,1,251,224,0,1,243,240,0, - 3,243,240,0,3,241,240,0,3,225,248,0,7,225,248,0, - 7,224,248,0,7,192,252,0,15,192,252,0,15,192,126,0, - 15,128,126,0,31,255,254,0,31,255,255,0,63,255,255,0, - 63,255,255,0,63,255,255,128,126,0,31,128,126,0,31,128, - 126,0,15,192,252,0,15,192,252,0,7,192,248,0,7,224, - 27,41,164,28,1,0,0,3,240,0,0,3,224,0,0,3, - 192,0,0,7,128,0,0,7,0,0,0,15,0,0,0,14, - 0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,127, - 128,0,0,127,192,0,0,255,192,0,0,255,224,0,0,255, - 224,0,1,251,224,0,1,243,240,0,3,243,240,0,3,241, - 240,0,3,225,248,0,7,225,248,0,7,224,248,0,7,192, - 252,0,15,192,252,0,15,192,126,0,15,128,126,0,31,255, - 254,0,31,255,255,0,63,255,255,0,63,255,255,0,63,255, - 255,128,126,0,31,128,126,0,31,128,126,0,15,192,252,0, - 15,192,252,0,7,192,248,0,7,224,27,41,164,28,1,0, - 0,63,0,0,0,63,128,0,0,127,128,0,0,123,192,0, - 0,243,192,0,0,225,224,0,1,192,224,0,1,192,112,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0, - 0,63,128,0,0,127,128,0,0,127,128,0,0,127,192,0, - 0,255,192,0,0,255,224,0,0,255,224,0,1,251,224,0, - 1,243,240,0,3,243,240,0,3,241,240,0,3,225,248,0, - 7,225,248,0,7,224,248,0,7,192,252,0,15,192,252,0, - 15,192,126,0,15,128,126,0,31,255,254,0,31,255,255,0, - 63,255,255,0,63,255,255,0,63,255,255,128,126,0,31,128, - 126,0,31,128,126,0,15,192,252,0,15,192,252,0,7,192, - 248,0,7,224,27,39,156,28,1,0,0,120,112,0,0,255, - 224,0,1,255,224,0,1,255,192,0,1,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63, - 0,0,0,63,128,0,0,127,128,0,0,127,128,0,0,127, - 192,0,0,255,192,0,0,255,224,0,0,255,224,0,1,251, - 224,0,1,243,240,0,3,243,240,0,3,241,240,0,3,225, - 248,0,7,225,248,0,7,224,248,0,7,192,252,0,15,192, - 252,0,15,192,126,0,15,128,126,0,31,255,254,0,31,255, - 255,0,63,255,255,0,63,255,255,0,63,255,255,128,126,0, - 31,128,126,0,31,128,126,0,15,192,252,0,15,192,252,0, - 7,192,248,0,7,224,27,40,160,29,1,0,1,224,240,0, - 1,224,240,0,1,224,240,0,1,224,240,0,1,224,240,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,63,128,0,0,63,128,0,0,127,192,0, - 0,127,192,0,0,127,192,0,0,255,224,0,0,255,224,0, - 1,251,240,0,1,251,240,0,1,251,240,0,3,241,248,0, - 3,241,248,0,3,224,248,0,7,224,252,0,7,224,252,0, - 7,192,124,0,15,192,126,0,15,192,126,0,15,128,62,0, - 31,255,255,0,31,255,255,0,31,255,255,0,63,255,255,128, - 63,255,255,128,126,0,31,128,126,0,15,192,126,0,15,192, - 252,0,7,224,252,0,7,224,252,0,7,224,27,43,172,28, - 0,0,0,31,0,0,0,63,128,0,0,113,192,0,0,96, - 192,0,0,96,192,0,0,96,192,0,0,113,192,0,0,63, - 128,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,63,128,0,0,63,128,0,0,63, - 128,0,0,127,192,0,0,127,192,0,0,127,192,0,0,255, - 224,0,0,251,224,0,0,251,240,0,1,251,240,0,1,241, - 240,0,1,241,248,0,3,241,248,0,3,224,248,0,7,224, - 252,0,7,224,252,0,7,192,124,0,15,192,126,0,15,192, - 126,0,15,255,254,0,31,255,255,0,31,255,255,0,31,255, - 255,128,63,255,255,128,63,0,31,128,62,0,15,192,126,0, - 15,192,126,0,15,192,252,0,7,224,252,0,7,224,38,30, - 150,40,0,0,0,1,255,255,248,0,1,255,255,248,0,3, - 255,255,248,0,3,255,255,248,0,7,255,0,0,0,7,223, - 0,0,0,15,223,0,0,0,15,159,0,0,0,31,159,0, - 0,0,31,31,0,0,0,63,31,0,0,0,62,31,0,0, - 0,126,31,255,248,0,124,31,255,248,0,252,31,255,248,0, - 248,31,255,248,1,248,31,255,248,1,240,31,0,0,3,255, - 255,0,0,7,255,255,0,0,7,255,255,0,0,15,255,255, - 0,0,15,255,255,0,0,31,128,63,0,0,31,128,63,0, - 0,63,0,63,255,252,63,0,63,255,252,126,0,63,255,252, - 126,0,63,255,252,252,0,63,255,252,24,40,120,29,2,247, - 1,255,192,3,255,240,15,255,248,15,255,252,31,255,254,63, - 128,254,62,0,127,126,0,127,124,0,63,124,0,63,252,0, - 0,252,0,0,252,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,252,0,0,252,0,0,124,0,63,124, - 0,127,126,0,127,62,0,255,63,0,254,31,255,254,31,255, - 252,15,255,248,7,255,240,1,255,192,0,24,0,0,24,0, - 0,31,0,0,31,128,0,3,192,0,1,192,0,1,192,0, - 195,192,0,255,128,0,254,0,20,41,123,25,3,0,15,128, - 0,15,128,0,7,192,0,3,192,0,1,224,0,0,224,0, - 0,240,0,0,112,0,0,0,0,0,0,0,0,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, - 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, - 255,255,240,255,255,240,255,255,240,20,41,123,25,3,0,0, - 63,0,0,62,0,0,124,0,0,120,0,0,240,0,0,224, - 0,1,224,0,1,192,0,0,0,0,0,0,0,0,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,224,255,255,224,255,255,224, - 255,255,224,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,20,41,123,25,3,0, - 3,248,0,3,248,0,7,252,0,7,188,0,7,30,0,14, - 14,0,14,7,0,28,7,0,0,0,0,0,0,0,0,0, - 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,224,255,255,224,255,255, - 224,255,255,224,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,255,255,240,255, - 255,240,255,255,240,255,255,240,255,255,240,20,40,120,25,3, - 0,15,15,0,15,15,0,15,15,0,15,15,0,15,15,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, - 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, - 255,255,240,255,255,240,255,255,240,9,41,82,11,255,0,248, - 0,124,0,60,0,30,0,14,0,15,0,7,0,3,0,0, - 0,0,0,0,0,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,8,41,41,10,3,0,15,31,30,60,56,120,112,224,0, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 12,41,82,11,0,0,31,128,63,128,63,128,123,192,121,192, - 112,224,224,224,192,112,0,0,0,0,0,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,13,40,80,13,0,0,240,120, - 240,120,240,120,240,120,240,120,0,0,0,0,0,0,0,0, - 0,0,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,26,30, - 120,29,0,0,31,255,0,0,31,255,224,0,31,255,248,0, - 31,255,252,0,31,255,254,0,31,1,255,0,31,0,127,0, - 31,0,31,128,31,0,31,128,31,0,15,192,31,0,15,192, - 31,0,7,192,31,0,7,192,255,252,7,192,255,252,7,192, - 255,252,7,192,255,252,7,192,31,0,7,192,31,0,7,192, - 31,0,15,192,31,0,15,192,31,0,31,128,31,0,31,128, - 31,0,127,0,31,1,255,0,31,255,254,0,31,255,252,0, - 31,255,248,0,31,255,224,0,31,255,0,0,25,39,156,31, - 3,0,0,248,96,0,1,255,224,0,1,255,192,0,3,255, - 128,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,128,15,128,255,128,15,128,255,128, - 15,128,255,192,15,128,255,192,15,128,255,224,15,128,251,224, - 15,128,251,240,15,128,249,240,15,128,249,248,15,128,248,248, - 15,128,248,252,15,128,248,252,15,128,248,126,15,128,248,126, - 15,128,248,63,15,128,248,63,15,128,248,31,143,128,248,31, - 143,128,248,15,143,128,248,15,207,128,248,7,207,128,248,7, - 239,128,248,3,239,128,248,3,255,128,248,1,255,128,248,1, - 255,128,248,0,255,128,248,0,255,128,248,0,127,128,27,41, - 164,31,2,0,1,240,0,0,1,240,0,0,0,248,0,0, - 0,120,0,0,0,60,0,0,0,28,0,0,0,28,0,0, - 0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, - 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, - 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, - 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, - 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, - 3,255,248,0,0,255,224,0,27,41,164,31,2,0,0,1, - 240,0,0,1,224,0,0,3,224,0,0,3,192,0,0,7, - 128,0,0,7,0,0,0,14,0,0,0,14,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, - 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, - 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, - 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, - 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, - 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, - 224,0,27,41,164,31,2,0,0,63,0,0,0,63,128,0, - 0,63,128,0,0,123,192,0,0,113,192,0,0,240,224,0, - 0,224,224,0,1,192,112,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,224,0,3,255,248,0,7,255,252,0, - 15,255,254,0,31,255,255,0,63,192,127,128,63,0,31,128, - 127,0,31,192,126,0,15,192,126,0,15,192,252,0,15,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,15,224,126,0,15,192,126,0,15,192,127,0,31,192, - 63,0,31,128,63,192,127,128,31,255,255,0,15,255,254,0, - 7,255,252,0,3,255,248,0,0,255,224,0,27,40,160,31, - 2,0,0,0,48,0,0,124,112,0,0,255,224,0,0,255, - 224,0,1,255,192,0,1,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, - 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, - 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, - 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, - 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, - 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, - 224,0,27,40,160,31,2,0,0,240,240,0,0,240,240,0, - 0,240,240,0,0,240,240,0,0,240,240,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, - 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, - 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, - 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, - 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, - 3,255,248,0,0,255,224,0,22,22,66,40,9,1,96,0, - 24,240,0,60,112,0,56,56,0,112,28,0,224,14,1,192, - 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, - 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, - 192,28,0,224,56,0,112,112,0,56,96,0,24,64,0,8, - 29,34,136,31,1,254,0,0,0,16,0,0,0,56,0,127, - 240,120,1,255,252,240,3,255,255,240,7,255,255,224,15,255, - 255,192,31,224,63,192,31,128,15,192,63,128,31,224,63,0, - 63,224,63,0,127,224,126,0,251,240,126,1,243,240,126,1, - 227,240,126,3,195,240,126,7,131,240,126,15,3,240,126,30, - 3,240,126,60,3,240,126,124,3,240,126,248,7,240,63,240, - 7,224,63,224,7,224,63,192,15,224,31,128,15,192,31,224, - 63,192,31,255,255,128,63,255,255,0,127,255,254,0,249,255, - 252,0,240,127,240,0,224,0,0,0,64,0,0,0,24,41, - 123,30,3,0,7,192,0,3,224,0,1,224,0,1,240,0, - 0,240,0,0,120,0,0,56,0,0,28,0,0,0,0,0, - 0,0,0,0,0,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,252,0, - 31,252,0,31,252,0,63,124,0,63,126,0,126,127,0,254, - 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, - 41,123,30,3,0,0,3,224,0,3,224,0,7,192,0,15, - 128,0,15,0,0,30,0,0,28,0,0,56,0,0,0,0, - 0,0,0,0,0,0,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,252, - 0,31,252,0,31,252,0,63,124,0,63,126,0,126,127,0, - 254,63,255,252,31,255,252,31,255,248,7,255,224,1,255,192, - 24,41,123,30,3,0,0,126,0,0,255,0,0,255,0,1, - 247,128,1,231,128,3,195,192,3,129,192,7,0,224,0,0, - 0,0,0,0,0,0,0,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 252,0,31,252,0,31,252,0,63,124,0,63,126,0,126,127, - 0,254,63,255,252,31,255,252,31,255,248,7,255,224,1,255, - 192,24,40,120,30,3,0,3,193,224,3,193,224,3,193,224, - 3,193,224,3,193,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,0,31,252,0,31,252,0,31,252,0, - 31,252,0,31,252,0,31,252,0,31,252,0,31,252,0,31, - 252,0,31,252,0,31,252,0,31,252,0,31,252,0,31,252, - 0,31,252,0,31,252,0,31,252,0,31,252,0,31,252,0, - 31,252,0,31,254,0,63,126,0,63,127,0,126,127,128,254, - 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, - 41,123,25,1,0,0,7,192,0,15,128,0,15,0,0,14, - 0,0,30,0,0,28,0,0,56,0,0,0,0,0,0,0, - 0,0,0,0,0,0,252,0,127,254,0,126,126,0,254,127, - 0,252,63,1,252,63,1,248,31,131,248,31,131,240,15,195, - 240,15,199,224,7,231,224,7,239,192,3,255,192,3,255,128, - 1,255,128,1,255,0,0,255,0,0,254,0,0,126,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 21,30,90,26,2,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,252,0,255,255,128,255,255,192,255,255, - 224,255,255,240,248,7,240,248,1,248,248,1,248,248,0,248, - 248,0,248,248,1,248,248,1,248,248,7,240,255,255,240,255, - 255,224,255,255,192,255,255,128,255,252,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 21,30,90,24,2,1,15,252,0,63,255,0,127,255,128,126, - 31,192,252,15,192,252,7,192,248,7,192,248,15,192,248,15, - 128,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 248,248,0,248,252,0,248,254,0,248,127,128,248,63,192,248, - 31,224,248,7,240,248,3,240,248,1,248,248,1,248,251,224, - 248,251,225,248,251,241,248,249,255,240,249,255,224,248,255,192, - 19,32,96,22,2,0,31,0,0,31,0,0,15,128,0,7, - 128,0,3,192,0,1,192,0,1,224,0,0,224,0,0,0, - 0,0,0,0,0,0,0,0,0,0,15,254,0,31,255,0, - 63,255,128,126,15,128,124,15,192,0,7,192,0,127,192,15, - 255,192,63,255,192,127,255,192,127,7,192,252,7,192,252,7, - 192,248,15,192,248,15,192,252,15,192,254,31,192,127,255,192, - 63,247,192,31,227,224,19,32,96,22,2,0,0,31,0,0, - 62,0,0,60,0,0,120,0,0,120,0,0,240,0,0,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,31,255,0,63,255,128,126,15,128,124,15,192,0, - 7,192,0,127,192,15,255,192,63,255,192,127,255,192,127,7, - 192,252,7,192,252,7,192,248,15,192,248,15,192,252,15,192, - 254,31,192,127,255,192,63,247,192,31,227,224,19,32,96,22, - 2,0,3,240,0,3,248,0,7,248,0,7,188,0,15,28, - 0,14,30,0,28,14,0,28,7,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, - 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, - 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, - 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 227,224,19,30,90,22,2,0,7,135,0,15,254,0,15,254, - 0,31,252,0,24,16,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, - 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, - 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, - 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 227,224,19,31,93,23,2,0,30,30,0,30,30,0,30,30, - 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,15,254,0,31,255,0,63, - 255,128,126,15,128,124,15,192,0,7,192,0,127,192,15,255, - 192,63,255,192,127,255,192,127,7,192,252,7,192,252,7,192, - 248,15,192,248,15,192,252,15,192,254,31,192,127,255,192,63, - 247,192,31,231,224,19,34,102,22,2,0,1,240,0,3,248, - 0,7,28,0,6,12,0,6,12,0,6,12,0,7,28,0, - 3,248,0,1,240,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,254,0,31,255,0,63,255,128,126,15, - 128,124,15,192,0,7,192,0,127,192,15,255,192,63,255,192, - 127,255,192,127,7,192,252,7,192,252,7,192,248,15,192,248, - 15,192,252,15,192,254,31,192,127,255,192,63,247,192,31,231, - 224,32,20,80,36,2,1,15,252,31,224,31,254,127,248,63, - 255,127,252,126,15,240,126,124,7,224,62,0,7,224,62,0, - 7,192,31,7,255,255,255,31,255,255,255,63,255,255,255,127, - 255,255,255,252,7,192,0,252,7,224,0,248,7,224,0,248, - 15,224,63,252,15,240,62,254,30,248,126,127,252,127,252,63, - 248,63,248,31,224,31,240,17,30,90,21,2,247,15,252,0, - 31,254,0,63,255,0,126,63,0,124,31,128,124,31,128,252, - 15,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,252,15,128,252,31,128,124,31,128,126,63,0, - 63,255,0,31,254,0,15,252,0,1,128,0,1,128,0,1, - 224,0,1,248,0,0,60,0,0,28,0,0,28,0,6,60, - 0,7,248,0,7,224,0,19,32,96,22,2,0,31,0,0, - 31,0,0,15,128,0,7,128,0,3,192,0,1,192,0,0, - 224,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0, - 0,7,252,0,31,255,0,63,255,0,62,31,128,124,15,192, - 124,7,192,252,7,192,255,255,192,255,255,192,255,255,224,255, - 255,224,248,0,0,248,0,0,252,0,0,124,7,192,124,15, - 192,126,31,128,63,255,128,31,255,0,7,252,0,19,32,96, - 22,2,0,0,31,0,0,62,0,0,60,0,0,120,0,0, - 120,0,0,240,0,0,224,0,1,192,0,0,0,0,0,0, - 0,0,0,0,0,0,0,7,252,0,31,255,0,63,255,0, - 62,31,128,124,15,192,124,7,192,252,7,192,255,255,192,255, - 255,192,255,255,224,255,255,224,248,0,0,248,0,0,252,0, - 0,124,7,192,124,15,192,126,31,128,63,255,128,31,255,0, - 7,252,0,19,32,96,22,2,0,3,240,0,3,248,0,7, - 248,0,7,188,0,15,28,0,14,30,0,28,14,0,28,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,252,0, - 31,255,0,63,255,0,62,31,128,124,15,192,124,7,192,252, - 7,192,255,255,192,255,255,192,255,255,224,255,255,224,248,0, - 0,248,0,0,252,0,0,124,7,192,124,15,192,126,31,128, - 63,255,128,31,255,0,7,252,0,19,31,93,22,2,0,30, - 30,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 15,192,252,15,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,15,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,8,32,32,11, - 0,0,248,120,124,60,30,14,7,7,0,0,0,0,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,9,32,64,10,2,0,15,128,31,0,30,0,62,0, - 60,0,120,0,112,0,224,0,0,0,0,0,0,0,0,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,13,32,64,11,255,0,15,192, - 31,192,31,224,61,224,56,240,120,112,112,56,224,56,0,0, - 0,0,0,0,0,0,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,13,31, - 62,11,255,0,240,120,240,120,240,120,240,120,240,120,0,0, - 0,0,0,0,0,0,0,0,0,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,20,31,93,24,2,0,0,0,96,7,193,224,3,247, - 224,1,255,128,0,254,0,0,254,0,3,254,0,15,159,0, - 30,15,128,24,15,128,0,7,192,7,255,192,15,255,224,63, - 255,224,63,15,240,126,3,240,124,3,240,252,1,240,252,1, - 240,252,1,240,248,1,240,248,1,240,252,1,240,252,1,240, - 252,1,240,124,3,240,126,3,224,63,15,224,31,255,192,15, - 255,128,7,254,0,18,30,90,24,3,0,7,134,0,15,254, - 0,15,254,0,31,252,0,24,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,32,96,24,2,0,15,128,0,7,128, - 0,7,192,0,3,192,0,1,224,0,0,224,0,0,112,0, - 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 254,0,15,255,0,31,255,192,63,15,192,126,3,224,124,3, - 240,252,1,240,252,1,240,252,1,240,248,1,240,248,1,240, - 248,1,240,252,1,240,252,1,240,124,3,240,126,3,224,63, - 15,192,31,255,192,15,255,0,3,254,0,20,32,96,24,2, - 0,0,15,128,0,31,0,0,30,0,0,60,0,0,56,0, - 0,120,0,0,112,0,0,224,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,254,0,15,255,0,31,255,192,63,15, - 192,126,3,224,124,3,240,252,1,240,252,1,240,252,1,240, - 248,1,240,248,1,240,248,1,240,252,1,240,252,1,240,124, - 3,240,126,3,224,63,15,192,31,255,192,15,255,0,3,254, - 0,20,32,96,24,2,0,1,248,0,1,252,0,3,252,0, - 3,222,0,7,158,0,7,15,0,14,7,0,14,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,31,93,24,2,0,0,1,128, - 3,195,0,7,255,0,7,255,0,15,254,0,12,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,254, - 0,15,255,0,31,255,192,63,15,192,126,3,224,124,3,240, - 252,1,240,252,1,240,252,1,240,248,1,240,248,1,240,248, - 1,240,252,1,240,252,1,240,124,3,240,126,3,224,63,15, - 192,31,255,192,15,255,0,3,254,0,20,31,93,24,2,0, - 15,7,128,15,7,128,15,7,128,15,7,128,15,7,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,3,254,0,15,255,0,31,255,192,63,15,192,126,3,224, - 124,3,240,252,1,240,252,1,240,252,1,240,248,1,240,248, - 1,240,248,1,240,252,1,240,252,1,240,124,3,240,126,3, - 224,63,15,192,31,255,192,15,255,0,3,254,0,24,19,57, - 40,8,2,0,16,0,0,56,0,0,124,0,0,124,0,0, - 124,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,56,0, - 0,124,0,0,124,0,0,124,0,0,56,0,21,26,78,24, - 1,254,0,0,56,0,0,120,0,0,112,1,255,224,7,255, - 224,15,255,224,31,135,224,63,7,240,62,15,248,126,14,248, - 126,28,248,126,56,248,124,120,248,124,112,248,126,224,248,127, - 192,248,63,193,248,63,129,248,63,3,240,31,135,224,31,255, - 224,31,255,192,57,255,0,120,0,0,240,0,0,96,0,0, - 18,32,96,24,3,0,31,0,0,15,0,0,15,128,0,7, - 128,0,3,192,0,1,192,0,0,224,0,0,224,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,252,7,192,252,15,192,252,15,192,254,31,192,127,255,192, - 63,247,192,31,231,192,18,32,96,24,3,0,0,62,0,0, - 60,0,0,124,0,0,120,0,0,240,0,0,224,0,1,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,252,7,192,252,15,192,252,15,192, - 254,31,192,127,255,192,63,247,192,31,231,192,18,32,96,24, - 3,0,3,240,0,3,248,0,7,248,0,7,188,0,15,60, - 0,14,30,0,30,14,0,28,6,0,0,0,0,0,0,0, - 0,0,0,0,0,0,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 231,192,18,31,93,24,3,0,30,30,0,30,30,0,30,30, - 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 252,7,192,252,15,192,252,15,192,254,31,192,127,255,192,63, - 247,192,31,231,192,21,41,123,22,1,248,0,7,192,0,15, - 128,0,15,0,0,30,0,0,30,0,0,60,0,0,56,0, - 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,252,1,248,252,3,240,126,3,240,126,3,224,63,7, - 224,63,7,224,63,7,192,31,143,192,31,143,192,15,143,128, - 15,223,128,15,223,128,7,223,0,7,255,0,3,255,0,3, - 254,0,3,254,0,1,252,0,1,252,0,0,252,0,0,248, - 0,1,248,0,33,248,0,115,240,0,255,240,0,255,224,0, - 127,192,0,31,128,0,20,38,114,25,3,248,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,249,254,0,251,255,128, - 251,255,192,255,15,192,254,7,224,252,3,224,252,3,240,252, - 3,240,252,3,240,248,1,240,248,1,240,252,3,240,252,3, - 240,252,3,240,252,3,224,254,7,224,255,15,192,255,255,192, - 251,255,128,249,254,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,21,39, - 117,21,0,248,15,7,128,15,7,128,15,7,128,15,7,128, - 15,7,128,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,1,248,252,1,248,126,1,240,126,3, - 240,63,3,224,63,3,224,63,7,224,31,135,192,31,143,192, - 15,207,192,15,207,128,15,223,128,7,255,128,7,255,0,3, - 255,0,3,255,0,3,254,0,1,254,0,1,252,0,0,252, - 0,0,252,0,1,248,0,1,248,0,1,248,0,3,240,0, - 3,240,0,7,240,0,7,224,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 30 - Calculated Max Values w=24 h=32 x= 8 y=14 dx=40 dy= 0 ascent=31 len=90 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =30 descent= 0 - X Font ascent =30 descent= 0 - Max Font ascent =31 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30n[1179] U8G_SECTION(".progmem.u8g_font_fub30n") = { - 0,59,54,253,245,30,0,0,0,0,42,57,0,31,251,30, - 0,16,16,32,26,5,14,4,32,28,56,30,120,30,120,15, - 240,7,224,227,199,255,255,255,255,243,207,7,224,15,240,30, - 120,30,120,28,56,4,32,24,25,75,40,8,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,255,255, - 255,255,255,255,255,255,255,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,8,10,10,12,2,251,31,31, - 62,62,60,124,120,120,240,240,10,5,10,14,2,8,255,192, - 255,192,255,192,255,192,255,192,5,5,5,12,4,0,248,248, - 248,248,248,13,32,64,17,2,254,0,120,0,120,0,120,0, - 240,0,240,0,240,1,224,1,224,1,224,3,192,3,192,3, - 192,3,192,7,128,7,128,7,128,15,0,15,0,15,0,14, - 0,30,0,30,0,30,0,60,0,60,0,60,0,120,0,120, - 0,120,0,120,0,240,0,240,0,20,30,90,23,1,1,3, - 252,0,15,255,0,31,255,128,63,15,128,62,7,192,124,3, - 192,124,3,224,124,3,224,124,3,224,248,1,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,124,3, - 224,124,3,224,124,3,224,124,3,224,62,7,192,63,15,128, - 31,255,128,15,255,0,3,252,0,12,30,60,23,4,0,1, - 240,3,240,15,240,63,240,255,240,255,240,253,240,249,240,225, - 240,129,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,20,30,90,23,1, - 1,3,255,0,7,255,128,31,255,192,31,255,224,63,255,240, - 63,3,240,126,1,240,126,1,240,124,1,240,0,1,240,0, - 3,240,0,3,240,0,7,224,0,15,224,0,15,192,0,31, - 128,0,63,0,0,254,0,1,252,0,3,248,0,7,240,0, - 15,224,0,63,128,0,127,0,0,252,0,0,255,255,240,255, - 255,240,255,255,240,255,255,240,255,255,240,19,30,90,23,2, - 1,7,252,0,31,255,0,63,255,128,127,255,128,127,255,192, - 252,15,192,252,7,192,248,7,192,0,7,192,0,7,192,0, - 15,192,0,63,192,3,255,128,3,254,0,3,252,0,3,255, - 0,3,255,128,0,31,192,0,7,224,0,7,224,0,7,224, - 0,3,224,248,7,224,252,7,224,252,7,192,126,15,192,127, - 255,128,63,255,128,31,255,0,15,252,0,21,30,90,23,1, - 0,0,63,128,0,63,128,0,127,128,0,255,128,0,255,128, - 1,255,128,1,255,128,3,239,128,3,207,128,7,207,128,15, - 143,128,15,143,128,31,15,128,31,15,128,62,15,128,62,15, - 128,124,15,128,252,15,128,248,15,128,255,255,248,255,255,248, - 255,255,248,255,255,248,255,255,248,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,19,30,90,23,2, - 0,127,255,192,127,255,192,127,255,192,127,255,192,127,255,192, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,252,0,125,255,0,127,255,128,127,255,192,127,15, - 224,126,7,224,124,3,224,0,3,224,0,3,224,0,3,224, - 0,3,224,0,3,224,248,7,224,252,7,224,252,15,192,127, - 255,128,127,255,128,63,254,0,15,252,0,20,30,90,23,1, - 1,3,254,0,7,255,0,15,255,128,31,255,192,63,255,192, - 63,7,224,126,3,224,126,3,224,124,0,0,124,0,0,252, - 0,0,248,0,0,249,255,0,251,255,128,255,255,192,255,15, - 224,254,7,224,254,3,240,252,3,240,252,3,240,252,1,240, - 252,1,240,124,3,240,124,3,240,126,3,224,63,7,224,63, - 255,192,31,255,128,15,255,0,3,254,0,19,30,90,23,2, - 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, - 0,7,224,0,7,224,0,7,192,0,15,192,0,15,192,0, - 31,128,0,31,128,0,63,0,0,63,0,0,63,0,0,126, - 0,0,126,0,0,252,0,0,252,0,1,252,0,1,248,0, - 1,248,0,3,240,0,3,240,0,7,240,0,7,224,0,15, - 224,0,15,192,0,15,192,0,31,192,0,20,30,90,23,1, - 1,7,254,0,31,255,128,63,255,192,127,255,224,127,255,224, - 126,7,224,124,3,224,124,3,224,124,3,224,124,3,224,126, - 7,224,127,15,192,63,255,128,15,255,0,7,252,0,31,255, - 0,63,255,192,127,15,224,124,7,224,252,3,240,252,3,240, - 248,1,240,248,3,240,252,3,240,252,3,240,254,7,240,127, - 255,224,63,255,192,31,255,128,15,255,0,20,30,90,23,1, - 1,3,252,0,15,255,0,31,255,128,63,255,192,127,255,192, - 126,7,224,252,7,224,252,3,224,252,3,240,248,3,240,248, - 3,240,252,3,240,252,7,240,124,7,240,127,15,240,63,255, - 240,63,253,240,31,249,240,7,225,240,0,3,240,0,3,224, - 0,3,224,0,3,224,124,7,224,124,7,192,126,15,192,63, - 255,128,31,255,0,15,254,0,7,252,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=38 h=43 x=10 y=25 dx=42 dy= 0 ascent=33 len=195 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =33 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30r[7686] U8G_SECTION(".progmem.u8g_font_fub30r") = { - 0,59,54,253,245,30,9,163,21,182,32,127,249,33,245,31, - 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, - 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, - 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, - 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, - 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, - 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, - 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, - 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, - 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, - 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, - 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, - 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, - 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, - 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, - 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, - 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, - 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, - 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, - 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, - 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, - 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, - 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, - 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, - 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, - 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, - 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, - 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, - 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, - 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, - 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, - 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, - 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, - 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, - 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, - 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, - 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, - 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, - 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, - 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, - 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, - 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, - 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, - 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, - 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, - 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, - 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, - 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, - 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, - 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, - 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, - 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, - 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, - 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, - 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, - 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, - 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, - 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, - 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, - 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, - 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, - 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, - 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, - 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, - 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, - 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, - 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, - 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, - 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, - 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, - 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, - 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, - 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, - 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, - 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, - 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, - 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, - 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, - 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, - 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, - 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, - 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, - 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, - 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, - 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, - 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, - 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, - 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, - 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, - 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, - 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, - 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, - 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, - 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, - 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, - 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, - 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, - 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, - 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, - 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, - 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, - 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, - 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, - 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, - 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, - 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, - 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, - 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, - 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, - 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, - 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, - 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, - 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, - 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, - 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, - 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, - 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, - 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, - 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, - 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, - 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, - 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, - 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, - 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, - 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, - 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, - 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, - 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, - 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, - 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, - 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, - 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, - 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, - 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, - 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, - 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, - 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, - 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, - 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, - 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, - 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, - 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, - 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, - 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, - 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, - 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, - 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, - 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, - 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, - 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, - 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, - 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, - 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, - 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, - 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, - 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, - 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, - 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, - 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, - 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, - 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, - 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, - 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, - 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, - 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, - 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, - 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, - 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, - 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, - 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, - 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, - 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, - 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, - 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, - 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, - 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, - 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, - 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, - 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, - 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, - 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, - 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, - 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, - 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, - 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, - 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, - 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, - 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, - 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, - 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, - 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, - 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, - 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, - 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, - 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, - 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, - 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, - 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, - 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, - 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, - 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, - 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, - 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, - 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, - 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, - 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, - 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, - 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, - 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, - 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, - 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, - 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, - 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, - 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, - 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, - 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, - 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, - 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, - 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, - 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, - 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, - 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, - 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, - 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, - 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, - 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, - 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, - 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, - 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, - 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, - 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, - 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, - 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, - 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, - 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, - 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, - 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, - 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, - 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, - 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, - 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, - 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, - 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, - 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, - 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, - 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, - 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, - 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, - 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, - 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, - 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, - 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, - 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, - 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, - 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, - 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, - 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, - 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, - 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, - 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, - 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, - 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, - 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, - 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, - 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, - 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, - 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, - 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, - 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, - 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, - 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, - 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, - 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, - 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, - 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, - 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, - 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, - 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, - 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, - 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, - 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, - 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, - 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, - 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, - 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, - 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, - 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, - 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, - 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, - 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, - 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, - 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, - 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, - 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, - 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, - 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, - 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, - 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, - 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, - 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, - 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, - 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, - 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, - 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, - 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, - 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, - 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, - 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, - 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, - 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, - 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, - 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, - 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, - 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, - 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, - 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, - 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, - 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, - 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, - 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, - 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, - 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, - 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, - 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, - 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, - 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, - 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, - 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, - 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, - 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, - 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, - 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, - 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, - 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, - 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, - 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, - 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, - 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, - 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, - 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, - 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, - 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, - 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, - 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, - 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, - 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, - 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, - 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, - 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, - 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, - 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, - 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, - 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, - 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, - 255,224,240,31,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--49-490-72-72-P-242-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 35 - Calculated Max Values w=29 h=39 x=10 y=17 dx=49 dy= 0 ascent=36 len=140 - Font Bounding box w=72 h=65 x=-4 y=-13 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =35 descent= 0 - X Font ascent =35 descent= 0 - Max Font ascent =36 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub35n[1667] U8G_SECTION(".progmem.u8g_font_fub35n") = { - 0,72,65,252,243,35,0,0,0,0,42,57,0,36,250,35, - 0,20,18,54,32,6,17,7,14,0,31,15,128,31,159,128, - 15,159,0,7,158,0,3,252,0,129,248,16,254,247,240,255, - 255,240,255,255,240,249,249,240,1,248,0,3,252,0,7,158, - 0,15,159,0,31,143,128,31,15,128,7,14,0,29,29,116, - 49,10,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,255,255,255,248,255,255,255,248,255, - 255,255,248,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,11,12,24,15,2,250,15,224,15, - 192,31,192,31,128,31,128,63,0,63,0,62,0,126,0,124, - 0,124,0,248,0,13,6,12,17,2,9,255,248,255,248,255, - 248,255,248,255,248,255,248,7,6,6,15,5,0,254,254,254, - 254,254,254,17,39,117,21,2,253,0,15,128,0,15,0,0, - 31,0,0,31,0,0,30,0,0,62,0,0,62,0,0,62, - 0,0,124,0,0,124,0,0,124,0,0,120,0,0,248,0, - 0,248,0,0,240,0,1,240,0,1,240,0,1,240,0,3, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,128,0,15,128,0,31,0,0, - 31,0,0,31,0,0,62,0,0,62,0,0,62,0,0,60, - 0,0,124,0,0,124,0,0,124,0,0,248,0,0,25,35, - 140,28,2,1,1,255,128,0,7,255,224,0,15,255,240,0, - 31,255,248,0,31,255,252,0,63,129,252,0,63,0,254,0, - 127,0,126,0,126,0,126,0,126,0,63,0,126,0,63,0, - 254,0,63,0,254,0,63,0,254,0,63,0,254,0,63,128, - 254,0,63,128,254,0,63,128,254,0,63,128,254,0,63,128, - 254,0,63,128,254,0,63,128,254,0,63,0,254,0,63,0, - 254,0,63,0,126,0,63,0,126,0,63,0,126,0,127,0, - 127,0,126,0,63,0,254,0,63,129,252,0,31,255,252,0, - 31,255,248,0,15,255,240,0,7,255,224,0,1,255,128,0, - 15,35,70,28,5,0,0,254,1,254,7,254,15,254,63,254, - 255,254,255,254,254,254,252,254,240,254,192,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,25,35,140,28, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,255,255,0,63,192,255,0,63,128,63,128,63,0, - 63,128,127,0,63,128,0,0,63,128,0,0,63,128,0,0, - 63,128,0,0,127,0,0,0,127,0,0,0,255,0,0,1, - 254,0,0,3,252,0,0,7,252,0,0,15,248,0,0,31, - 240,0,0,63,224,0,0,127,192,0,1,255,0,0,3,254, - 0,0,7,252,0,0,15,240,0,0,63,224,0,0,127,128, - 0,0,255,0,0,0,255,255,255,128,255,255,255,128,255,255, - 255,128,255,255,255,128,255,255,255,128,255,255,255,128,24,35, - 105,28,2,1,3,255,128,15,255,224,31,255,240,63,255,248, - 127,255,252,127,3,252,254,1,252,254,0,252,254,0,254,0, - 0,254,0,0,254,0,1,252,0,1,252,0,15,248,0,255, - 240,0,255,192,0,255,128,0,255,224,0,255,248,0,3,252, - 0,0,254,0,0,254,0,0,126,0,0,127,0,0,127,254, - 0,127,254,0,127,254,0,254,255,0,254,127,1,252,127,255, - 252,63,255,248,31,255,240,15,255,224,3,255,128,26,35,140, - 28,1,0,0,7,252,0,0,15,252,0,0,31,252,0,0, - 31,252,0,0,63,252,0,0,63,252,0,0,127,252,0,0, - 253,252,0,0,253,252,0,1,249,252,0,1,249,252,0,3, - 241,252,0,7,241,252,0,7,225,252,0,15,193,252,0,15, - 193,252,0,31,129,252,0,63,129,252,0,63,1,252,0,126, - 1,252,0,254,1,252,0,252,1,252,0,255,255,255,192,255, - 255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255, - 255,255,192,0,1,252,0,0,1,252,0,0,1,252,0,0, - 1,252,0,0,1,252,0,0,1,252,0,0,1,252,0,24, - 35,105,28,2,0,127,255,252,127,255,252,127,255,252,127,255, - 252,127,255,252,127,255,252,127,0,0,127,0,0,127,0,0, - 127,0,0,127,0,0,127,0,0,127,31,192,127,127,240,127, - 255,248,127,255,252,127,255,252,127,193,254,127,0,254,127,0, - 127,126,0,127,0,0,127,0,0,127,0,0,127,0,0,127, - 0,0,127,254,0,127,254,0,254,254,0,254,255,1,252,127, - 255,252,127,255,248,63,255,240,15,255,192,7,255,128,25,35, - 140,28,2,1,0,255,192,0,3,255,240,0,7,255,248,0, - 15,255,252,0,31,255,254,0,31,224,254,0,63,192,127,0, - 63,128,127,0,127,0,0,0,127,0,0,0,127,0,0,0, - 126,0,0,0,254,31,192,0,254,127,240,0,254,255,248,0, - 254,255,252,0,255,255,254,0,255,225,254,0,255,192,255,0, - 255,128,127,0,255,0,63,0,255,0,63,128,255,0,63,128, - 255,0,63,128,255,0,63,128,127,0,63,0,127,0,63,0, - 127,128,127,0,127,128,127,0,63,192,254,0,31,255,252,0, - 31,255,252,0,15,255,248,0,7,255,224,0,1,255,128,0, - 24,35,105,28,2,0,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,0,0,127,0,0,127,0,0, - 254,0,0,254,0,1,254,0,1,252,0,3,252,0,3,248, - 0,7,248,0,7,240,0,15,240,0,15,240,0,31,224,0, - 31,224,0,63,192,0,63,192,0,63,128,0,127,128,0,127, - 0,0,255,0,0,255,0,1,254,0,1,254,0,3,252,0, - 3,252,0,7,248,0,7,248,0,15,248,0,15,240,0,25, - 35,140,28,2,1,3,255,192,0,15,255,240,0,31,255,252, - 0,63,255,254,0,63,255,254,0,127,193,255,0,127,128,255, - 0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127, - 0,127,0,127,0,63,128,254,0,63,193,252,0,15,255,248, - 0,7,255,224,0,1,255,192,0,15,255,240,0,31,255,248, - 0,63,193,254,0,127,128,254,0,127,0,127,0,254,0,63, - 0,254,0,63,0,254,0,63,128,254,0,63,128,254,0,63, - 128,255,0,127,128,255,0,127,0,127,128,255,0,127,255,255, - 0,63,255,254,0,63,255,252,0,15,255,248,0,3,255,224, - 0,25,35,140,28,2,1,1,255,192,0,7,255,224,0,15, - 255,248,0,31,255,252,0,63,255,252,0,127,129,254,0,127, - 0,254,0,126,0,255,0,254,0,127,0,254,0,127,0,254, - 0,127,128,254,0,127,128,254,0,127,128,254,0,127,128,254, - 0,255,128,127,0,255,128,127,131,255,128,63,255,255,128,63, - 255,191,128,31,255,191,128,15,255,63,128,1,248,63,128,0, - 0,63,0,0,0,127,0,0,0,127,0,0,0,127,0,127, - 0,254,0,127,0,254,0,127,1,254,0,63,131,252,0,31, - 255,252,0,31,255,248,0,15,255,240,0,7,255,224,0,1, - 255,128,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--58-580-72-72-P-286-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 42 - Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=176 - Font Bounding box w=87 h=77 x=-5 y=-15 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =42 descent= 0 - X Font ascent =42 descent= 0 - Max Font ascent =43 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub42n[2235] U8G_SECTION(".progmem.u8g_font_fub42n") = { - 0,87,77,251,241,42,0,0,0,0,42,57,0,43,248,42, - 0,23,23,69,37,7,20,0,130,0,3,131,128,15,131,224, - 31,199,224,15,199,224,7,199,192,3,239,128,1,239,0,0, - 254,0,248,254,62,255,255,254,255,255,254,255,255,254,254,124, - 254,128,254,2,1,239,0,3,239,128,7,239,192,7,199,192, - 15,199,224,31,131,240,7,131,192,1,131,0,35,35,175,59, - 12,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,255,255,255,255,224,255,255,255,255,224,255,255,255,255, - 224,255,255,255,255,224,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,12,15,30,18,3,248,15,240,15,240,15,224,31,224,31, - 192,31,192,63,128,63,128,63,0,127,0,126,0,126,0,124, - 0,252,0,252,0,15,8,16,19,2,11,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,8,8,8,18,6, - 0,255,255,255,255,255,255,255,255,19,46,138,25,3,253,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,0,0,63,0, - 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, - 252,0,0,252,0,0,252,0,0,248,0,1,248,0,1,248, - 0,1,240,0,3,240,0,3,240,0,3,240,0,7,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, - 128,0,31,128,0,31,128,0,31,128,0,63,0,0,63,0, - 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, - 252,0,0,252,0,0,252,0,0,29,44,176,33,2,255,0, - 31,192,0,0,255,248,0,3,255,252,0,7,255,255,0,15, - 255,255,128,15,255,255,128,31,240,255,192,63,192,63,192,63, - 192,63,224,63,128,31,224,127,128,31,240,127,0,31,240,127, - 0,15,240,127,0,15,240,255,0,15,240,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,127,0,15,240,127,0,15,240,127,0,15,240,127, - 0,31,240,127,128,31,240,63,128,31,224,63,192,63,224,63, - 192,63,192,31,240,255,192,15,255,255,128,15,255,255,0,7, - 255,255,0,3,255,254,0,0,255,248,0,0,31,192,0,18, - 42,126,33,6,0,0,63,192,0,127,192,0,255,192,3,255, - 192,15,255,192,63,255,192,255,255,192,255,255,192,255,255,192, - 255,63,192,254,63,192,248,63,192,224,63,192,0,63,192,0, - 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, - 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, - 0,63,192,0,63,192,0,63,192,0,63,192,0,63,192,0, - 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, - 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, - 0,63,192,29,43,172,33,2,0,0,15,240,0,0,127,254, - 0,1,255,255,0,3,255,255,128,7,255,255,192,15,255,255, - 224,31,248,63,240,31,240,31,240,31,224,15,240,63,192,7, - 248,63,192,7,248,63,192,7,248,0,0,7,248,0,0,7, - 248,0,0,15,248,0,0,15,240,0,0,31,240,0,0,31, - 240,0,0,63,224,0,0,127,224,0,0,255,192,0,1,255, - 128,0,3,255,128,0,7,255,0,0,15,254,0,0,31,252, - 0,0,63,248,0,0,127,240,0,0,255,224,0,1,255,128, - 0,3,255,0,0,15,254,0,0,31,252,0,0,63,240,0, - 0,127,224,0,0,255,192,0,0,255,255,255,248,255,255,255, - 248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255, - 248,255,255,255,248,28,44,176,33,3,255,0,127,192,0,3, - 255,248,0,7,255,252,0,31,255,255,0,63,255,255,0,63, - 255,255,128,127,224,255,192,127,192,127,192,255,128,63,192,255, - 0,31,224,255,0,31,224,255,0,31,224,0,0,31,224,0, - 0,31,224,0,0,31,224,0,0,63,192,0,0,127,192,0, - 3,255,128,0,127,255,0,0,127,252,0,0,127,240,0,0, - 127,248,0,0,127,254,0,0,127,255,128,0,0,255,192,0, - 0,63,224,0,0,31,224,0,0,31,224,0,0,15,240,0, - 0,15,240,0,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,31,224,255,128,31,224,127,192,63,224,127, - 224,255,192,63,255,255,128,63,255,255,0,31,255,254,0,15, - 255,252,0,3,255,248,0,0,127,192,0,31,42,168,33,1, - 0,0,1,255,192,0,1,255,192,0,3,255,192,0,7,255, - 192,0,7,255,192,0,15,255,192,0,15,255,192,0,31,255, - 192,0,63,255,192,0,63,191,192,0,127,63,192,0,255,63, - 192,0,254,63,192,1,254,63,192,1,252,63,192,3,248,63, - 192,7,248,63,192,7,240,63,192,15,240,63,192,31,224,63, - 192,31,192,63,192,63,192,63,192,63,128,63,192,127,128,63, - 192,255,0,63,192,255,0,63,192,255,255,255,254,255,255,255, - 254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255, - 254,255,255,255,254,0,0,63,192,0,0,63,192,0,0,63, - 192,0,0,63,192,0,0,63,192,0,0,63,192,0,0,63, - 192,0,0,63,192,0,0,63,192,29,43,172,33,2,255,127, - 255,255,224,127,255,255,224,127,255,255,224,127,255,255,224,127, - 255,255,224,127,255,255,224,127,255,255,224,127,128,0,0,127, - 128,0,0,127,128,0,0,127,128,0,0,127,128,0,0,127, - 128,0,0,127,128,0,0,127,128,0,0,127,135,248,0,127, - 159,254,0,127,255,255,128,127,255,255,192,127,255,255,192,127, - 255,255,224,127,240,63,240,127,192,31,240,127,128,15,240,127, - 128,15,248,127,0,7,248,0,0,7,248,0,0,7,248,0, - 0,7,248,0,0,7,248,0,0,7,248,0,0,7,240,255, - 0,15,240,255,0,15,240,255,0,31,240,255,128,63,224,127, - 224,255,192,127,255,255,192,63,255,255,128,31,255,255,0,15, - 255,252,0,3,255,248,0,0,127,192,0,29,44,176,33,2, - 255,0,15,240,0,0,127,252,0,0,255,255,0,3,255,255, - 128,7,255,255,192,7,255,255,224,15,252,63,224,31,240,15, - 240,31,224,15,240,63,192,7,248,63,192,7,248,63,128,0, - 0,127,128,0,0,127,128,0,0,127,128,0,0,127,0,0, - 0,255,3,248,0,255,31,254,0,255,63,255,0,255,127,255, - 128,255,255,255,192,255,255,255,224,255,248,63,240,255,224,31, - 240,255,192,15,240,255,192,15,248,255,128,7,248,255,128,7, - 248,255,128,7,248,255,128,7,248,255,128,7,248,127,128,7, - 248,127,128,7,248,127,128,7,240,127,192,15,240,63,192,15, - 240,63,224,31,224,31,248,63,224,31,255,255,192,15,255,255, - 128,7,255,255,0,3,255,254,0,0,255,248,0,0,63,192, - 0,28,42,168,33,3,0,255,255,255,240,255,255,255,240,255, - 255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255, - 255,255,240,0,0,15,240,0,0,15,240,0,0,31,240,0, - 0,31,224,0,0,63,224,0,0,63,192,0,0,127,192,0, - 0,127,192,0,0,255,128,0,0,255,128,0,1,255,0,0, - 1,255,0,0,1,254,0,0,3,254,0,0,3,254,0,0, - 7,252,0,0,7,252,0,0,15,248,0,0,15,248,0,0, - 31,248,0,0,31,240,0,0,31,240,0,0,63,224,0,0, - 63,224,0,0,127,192,0,0,127,192,0,0,255,192,0,0, - 255,128,0,1,255,128,0,1,255,0,0,3,255,0,0,3, - 255,0,0,3,254,0,0,7,254,0,0,7,252,0,0,29, - 44,176,33,2,255,0,63,240,0,1,255,254,0,7,255,255, - 128,15,255,255,192,31,255,255,224,63,255,255,240,63,248,127, - 240,127,224,31,240,127,224,31,248,127,192,15,248,127,192,15, - 248,127,192,15,248,127,192,15,248,127,192,15,248,63,224,31, - 240,63,224,31,240,31,248,127,224,15,255,255,192,7,255,255, - 0,1,255,252,0,0,255,248,0,3,255,254,0,15,255,255, - 128,31,255,255,192,63,240,63,224,127,224,31,224,127,192,15, - 240,127,192,15,240,255,128,7,248,255,128,7,248,255,128,7, - 248,255,128,7,248,255,128,7,248,255,128,7,248,255,192,15, - 248,255,192,15,248,127,224,31,240,127,240,63,240,127,255,255, - 224,63,255,255,224,31,255,255,192,15,255,255,128,3,255,254, - 0,0,127,240,0,29,44,176,33,2,255,0,31,192,0,0, - 255,248,0,3,255,254,0,7,255,255,0,15,255,255,128,31, - 255,255,128,63,224,255,192,63,192,63,224,127,128,31,224,127, - 128,31,224,127,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,128,31,248,127,128,31,248,127,192,63,248,127, - 224,255,248,63,255,255,248,31,255,255,248,31,255,247,248,15, - 255,231,248,3,255,199,248,0,254,7,240,0,0,7,240,0, - 0,15,240,0,0,15,240,0,0,15,240,0,0,15,224,127, - 128,31,224,127,128,31,224,63,128,63,192,63,192,127,192,63, - 224,255,128,31,255,255,128,15,255,255,0,7,255,254,0,3, - 255,252,0,1,255,240,0,0,63,192,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--68-680-72-72-P-335-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 49 - Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=255 - Font Bounding box w=100 h=91 x=-5 y=-18 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =49 descent= 0 - X Font ascent =49 descent= 0 - Max Font ascent =50 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub49n[3074] U8G_SECTION(".progmem.u8g_font_fub49n") = { - 0,100,91,251,238,49,0,0,0,0,42,57,0,50,247,49, - 0,27,27,108,43,8,23,0,64,64,0,1,192,112,0,7, - 224,252,0,15,224,254,0,7,241,252,0,7,241,252,0,3, - 241,248,0,1,251,240,0,0,251,224,0,0,127,192,0,224, - 127,192,224,255,191,191,224,255,255,255,224,255,255,255,224,255, - 255,255,224,255,63,159,224,192,127,192,96,0,123,192,0,0, - 251,224,0,1,251,240,0,3,241,248,0,7,241,252,0,15, - 241,252,0,15,224,254,0,7,224,252,0,1,192,112,0,0, - 64,64,0,41,41,246,69,14,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,255,255,255,255,255, - 128,255,255,255,255,255,128,255,255,255,255,255,128,255,255,255, - 255,255,128,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,15, - 17,34,21,3,247,7,254,7,252,7,252,7,248,15,248,15, - 240,15,240,31,224,31,224,31,192,63,192,63,128,63,128,127, - 0,127,0,126,0,254,0,17,9,27,23,3,13,255,255,128, - 255,255,128,255,255,128,255,255,128,255,255,128,255,255,128,255, - 255,128,255,255,128,255,255,128,9,9,18,21,7,0,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 23,54,162,29,3,252,0,0,254,0,0,254,0,0,252,0, - 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, - 248,0,7,240,0,7,240,0,7,240,0,7,224,0,15,224, - 0,15,224,0,15,192,0,31,192,0,31,192,0,31,192,0, - 63,128,0,63,128,0,63,128,0,63,0,0,127,0,0,127, - 0,0,126,0,0,254,0,0,254,0,0,254,0,1,252,0, - 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, - 240,0,7,240,0,7,240,0,7,240,0,15,224,0,15,224, - 0,15,224,0,15,192,0,31,192,0,31,192,0,31,128,0, - 63,128,0,63,128,0,63,0,0,127,0,0,127,0,0,127, - 0,0,126,0,0,254,0,0,34,51,255,39,2,255,0,7, - 248,0,0,0,63,255,0,0,0,255,255,192,0,1,255,255, - 224,0,3,255,255,240,0,7,255,255,248,0,15,255,255,252, - 0,15,254,31,252,0,31,248,7,254,0,31,240,3,254,0, - 63,240,3,255,0,63,224,1,255,0,63,224,1,255,0,127, - 224,1,255,128,127,192,0,255,128,127,192,0,255,128,127,192, - 0,255,128,255,192,0,255,128,255,192,0,255,192,255,192,0, - 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, - 192,255,192,0,255,192,255,192,0,255,192,255,192,0,255,192, - 255,192,0,255,192,255,192,0,255,192,255,192,0,255,192,255, - 192,0,255,192,255,192,0,255,192,255,192,0,255,192,255,192, - 0,255,192,255,192,0,255,128,127,192,0,255,128,127,192,0, - 255,128,127,192,0,255,128,127,224,1,255,128,63,224,1,255, - 0,63,224,1,255,0,63,240,3,255,0,31,240,3,254,0, - 31,248,7,254,0,15,254,31,252,0,15,255,255,252,0,7, - 255,255,248,0,3,255,255,240,0,1,255,255,224,0,0,255, - 255,192,0,0,63,255,0,0,0,7,248,0,0,20,49,147, - 39,7,0,0,31,240,0,63,240,0,127,240,1,255,240,3, - 255,240,15,255,240,63,255,240,255,255,240,255,255,240,255,255, - 240,255,223,240,255,159,240,254,31,240,248,31,240,224,31,240, - 128,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, - 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, - 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, - 0,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, - 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, - 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, - 0,31,240,0,31,240,34,50,250,39,2,0,0,3,254,0, - 0,0,31,255,192,0,0,127,255,240,0,0,255,255,248,0, - 3,255,255,254,0,7,255,255,254,0,7,255,255,255,0,15, - 255,255,255,128,31,255,7,255,128,31,252,1,255,192,31,248, - 0,255,192,63,248,0,255,192,63,240,0,127,192,63,240,0, - 127,192,63,240,0,127,192,0,0,0,127,192,0,0,0,127, - 192,0,0,0,255,192,0,0,0,255,128,0,0,1,255,128, - 0,0,1,255,128,0,0,3,255,0,0,0,7,255,0,0, - 0,15,254,0,0,0,31,254,0,0,0,63,252,0,0,0, - 127,248,0,0,0,255,240,0,0,1,255,224,0,0,3,255, - 192,0,0,7,255,128,0,0,15,255,0,0,0,31,254,0, - 0,0,63,252,0,0,0,255,248,0,0,1,255,224,0,0, - 3,255,192,0,0,7,255,128,0,0,31,254,0,0,0,63, - 252,0,0,0,127,248,0,0,0,255,224,0,0,0,255,255, - 255,255,192,255,255,255,255,192,255,255,255,255,192,255,255,255, - 255,192,255,255,255,255,192,255,255,255,255,192,255,255,255,255, - 192,255,255,255,255,192,32,51,204,39,3,255,0,31,248,0, - 0,255,255,0,3,255,255,128,7,255,255,224,15,255,255,240, - 31,255,255,248,63,255,255,248,127,255,255,252,127,248,31,252, - 127,224,15,254,255,192,7,254,255,192,3,254,255,128,3,254, - 255,128,3,254,0,0,3,254,0,0,3,254,0,0,3,254, - 0,0,7,254,0,0,15,252,0,0,127,252,0,63,255,248, - 0,63,255,224,0,63,255,192,0,63,254,0,0,63,255,0, - 0,63,255,192,0,63,255,240,0,63,255,248,0,0,63,252, - 0,0,7,254,0,0,3,254,0,0,3,255,0,0,1,255, - 0,0,1,255,0,0,1,255,0,0,1,255,255,128,1,255, - 255,128,1,255,255,128,1,255,255,192,3,255,255,192,3,254, - 127,224,7,254,127,224,15,254,127,248,31,252,63,255,255,248, - 63,255,255,240,31,255,255,240,15,255,255,192,3,255,255,128, - 1,255,254,0,0,31,240,0,36,50,250,39,2,0,0,0, - 63,252,0,0,0,127,252,0,0,0,127,252,0,0,0,255, - 252,0,0,0,255,252,0,0,1,255,252,0,0,3,255,252, - 0,0,3,255,252,0,0,7,255,252,0,0,7,255,252,0, - 0,15,247,252,0,0,31,247,252,0,0,31,231,252,0,0, - 63,199,252,0,0,127,199,252,0,0,127,135,252,0,0,255, - 135,252,0,0,255,7,252,0,1,255,7,252,0,3,254,7, - 252,0,3,252,7,252,0,7,252,7,252,0,7,248,7,252, - 0,15,248,7,252,0,31,240,7,252,0,31,240,7,252,0, - 63,224,7,252,0,63,192,7,252,0,127,192,7,252,0,255, - 128,7,252,0,255,128,7,252,0,255,255,255,255,240,255,255, - 255,255,240,255,255,255,255,240,255,255,255,255,240,255,255,255, - 255,240,255,255,255,255,240,255,255,255,255,240,255,255,255,255, - 240,0,0,7,252,0,0,0,7,252,0,0,0,7,252,0, - 0,0,7,252,0,0,0,7,252,0,0,0,7,252,0,0, - 0,7,252,0,0,0,7,252,0,0,0,7,252,0,0,0, - 7,252,0,0,0,7,252,0,33,50,250,39,3,255,127,255, - 255,254,0,127,255,255,254,0,127,255,255,254,0,127,255,255, - 254,0,127,255,255,254,0,127,255,255,254,0,127,255,255,254, - 0,127,255,255,254,0,127,192,0,0,0,127,192,0,0,0, - 127,192,0,0,0,127,192,0,0,0,127,192,0,0,0,127, - 192,0,0,0,127,192,0,0,0,127,192,0,0,0,127,192, - 0,0,0,127,193,255,0,0,127,199,255,192,0,127,223,255, - 240,0,127,255,255,248,0,127,255,255,252,0,127,255,255,254, - 0,127,255,255,254,0,127,252,15,255,0,127,240,3,255,0, - 127,224,3,255,0,127,192,1,255,128,127,192,1,255,128,0, - 0,0,255,128,0,0,0,255,128,0,0,0,255,128,0,0, - 0,255,128,0,0,0,255,128,0,0,0,255,128,0,0,0, - 255,128,0,0,0,255,128,255,128,1,255,128,255,128,1,255, - 0,255,192,3,255,0,255,192,3,254,0,127,224,15,254,0, - 127,248,63,252,0,127,255,255,252,0,63,255,255,248,0,31, - 255,255,240,0,15,255,255,224,0,7,255,255,128,0,1,255, - 254,0,0,0,63,240,0,0,34,51,255,39,2,255,0,3, - 252,0,0,0,31,255,128,0,0,127,255,224,0,0,255,255, - 240,0,1,255,255,248,0,3,255,255,252,0,7,255,255,254, - 0,7,255,255,254,0,15,255,7,255,0,31,252,3,255,0, - 31,248,1,255,128,31,248,0,255,128,63,240,0,255,128,63, - 224,0,0,0,63,224,0,0,0,127,224,0,0,0,127,192, - 0,0,0,127,192,0,0,0,127,192,127,0,0,127,195,255, - 224,0,255,199,255,240,0,255,207,255,248,0,255,223,255,252, - 0,255,191,255,254,0,255,255,255,255,0,255,254,15,255,0, - 255,248,3,255,128,255,248,3,255,128,255,240,1,255,128,255, - 240,1,255,192,255,224,0,255,192,255,224,0,255,192,255,224, - 0,255,192,255,224,0,255,192,255,224,0,255,192,127,224,0, - 255,192,127,224,0,255,192,127,224,0,255,192,127,224,0,255, - 128,63,240,1,255,128,63,240,1,255,128,63,248,3,255,0, - 31,248,3,255,0,31,254,15,254,0,15,255,255,254,0,7, - 255,255,252,0,3,255,255,248,0,1,255,255,240,0,0,255, - 255,192,0,0,63,255,0,0,0,7,248,0,0,33,49,245, - 39,3,0,255,255,255,255,128,255,255,255,255,128,255,255,255, - 255,128,255,255,255,255,128,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,255,255,255,255,128,0,0,0,255,128, - 0,0,1,255,128,0,0,1,255,128,0,0,3,255,0,0, - 0,3,255,0,0,0,7,254,0,0,0,7,254,0,0,0, - 15,254,0,0,0,15,252,0,0,0,31,252,0,0,0,31, - 248,0,0,0,31,248,0,0,0,63,240,0,0,0,63,240, - 0,0,0,127,240,0,0,0,127,224,0,0,0,255,224,0, - 0,0,255,192,0,0,1,255,192,0,0,1,255,192,0,0, - 3,255,128,0,0,3,255,128,0,0,3,255,0,0,0,7, - 255,0,0,0,7,254,0,0,0,15,254,0,0,0,15,254, - 0,0,0,31,252,0,0,0,31,252,0,0,0,63,248,0, - 0,0,63,248,0,0,0,63,248,0,0,0,127,240,0,0, - 0,127,240,0,0,0,255,224,0,0,0,255,224,0,0,1, - 255,192,0,0,1,255,192,0,0,3,255,192,0,0,3,255, - 128,0,0,7,255,128,0,0,34,51,255,39,2,255,0,15, - 252,0,0,0,255,255,192,0,3,255,255,240,0,7,255,255, - 248,0,15,255,255,252,0,31,255,255,254,0,63,255,255,255, - 0,63,255,255,255,0,63,252,15,255,0,127,248,7,255,128, - 127,240,3,255,128,127,224,1,255,128,127,224,1,255,128,127, - 224,1,255,128,127,224,1,255,128,127,224,1,255,128,127,224, - 1,255,128,63,240,3,255,0,63,248,7,255,0,31,252,15, - 254,0,15,255,255,252,0,7,255,255,240,0,1,255,255,192, - 0,0,63,255,0,0,0,255,255,128,0,3,255,255,224,0, - 7,255,255,248,0,31,255,255,252,0,63,252,15,254,0,63, - 248,7,255,0,127,240,3,255,0,127,224,1,255,128,127,224, - 1,255,128,255,192,0,255,192,255,192,0,255,192,255,192,0, - 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, - 192,255,224,1,255,192,255,224,1,255,192,255,240,3,255,192, - 127,240,7,255,128,127,252,15,255,128,63,255,255,255,0,63, - 255,255,255,0,31,255,255,254,0,15,255,255,252,0,3,255, - 255,240,0,0,255,255,192,0,0,15,252,0,0,34,51,255, - 39,2,255,0,7,248,0,0,0,63,255,0,0,0,255,255, - 192,0,3,255,255,224,0,7,255,255,240,0,15,255,255,248, - 0,31,255,255,252,0,31,255,255,254,0,63,248,31,254,0, - 63,240,7,255,0,127,224,7,255,0,127,192,3,255,0,127, - 192,3,255,128,255,192,1,255,128,255,128,1,255,128,255,128, - 1,255,128,255,128,1,255,192,255,128,1,255,192,255,128,1, - 255,192,255,192,1,255,192,255,192,3,255,192,255,192,3,255, - 192,127,224,7,255,192,127,240,7,255,192,127,248,31,255,192, - 63,255,255,255,192,31,255,255,127,192,31,255,254,255,192,15, - 255,252,255,192,3,255,252,255,192,1,255,240,255,192,0,127, - 192,255,128,0,0,0,255,128,0,0,0,255,128,0,0,1, - 255,128,0,0,1,255,128,0,0,1,255,0,0,0,1,255, - 0,127,192,3,255,0,127,192,3,254,0,127,224,7,254,0, - 63,224,15,254,0,63,240,15,252,0,31,248,63,252,0,31, - 255,255,248,0,15,255,255,240,0,7,255,255,224,0,3,255, - 255,192,0,1,255,255,128,0,0,127,254,0,0,0,15,240, - 0,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=16 x= 4 y=10 dx=15 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11[3712] U8G_SECTION(".progmem.u8g_font_fur11") = { - 0,20,20,255,252,11,2,81,4,211,32,255,253,16,252,11, - 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, - 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, - 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, - 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, - 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, - 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, - 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, - 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, - 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, - 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, - 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, - 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, - 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, - 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, - 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, - 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, - 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, - 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, - 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, - 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, - 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, - 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, - 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, - 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, - 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, - 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, - 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, - 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, - 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, - 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, - 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, - 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, - 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, - 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, - 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, - 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, - 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, - 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, - 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, - 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, - 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, - 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, - 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, - 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, - 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, - 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, - 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, - 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, - 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, - 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, - 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, - 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, - 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, - 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, - 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, - 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, - 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, - 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, - 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, - 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, - 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, - 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, - 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, - 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, - 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, - 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, - 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, - 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, - 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, - 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, - 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, - 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, - 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, - 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, - 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, - 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, - 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, - 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, - 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, - 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, - 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, - 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, - 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, - 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, - 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, - 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, - 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, - 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, - 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, - 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, - 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, - 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, - 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, - 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, - 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, - 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, - 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, - 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, - 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, - 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, - 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,5,0,0,1,11,11,5,2,253,128,0,0, - 128,128,128,128,128,128,128,128,6,12,12,8,1,254,8,8, - 120,220,148,144,160,164,236,120,64,64,7,11,11,9,1,0, - 60,102,64,64,248,64,64,64,64,64,254,8,9,9,10,1, - 2,129,90,36,66,66,66,36,90,129,8,11,11,9,0,0, - 65,99,34,231,20,28,255,8,8,8,8,1,14,14,6,3, - 253,128,128,128,128,128,128,0,0,128,128,128,128,128,128,5, - 14,14,7,1,253,120,136,128,192,112,216,136,152,240,48,24, - 8,24,240,4,1,1,4,0,10,144,11,11,22,13,1,0, - 31,0,127,128,115,64,225,96,160,32,160,32,161,32,179,96, - 94,64,96,128,31,0,6,8,8,6,0,3,56,72,120,72, - 88,104,0,252,6,6,6,8,1,1,36,72,216,216,72,36, - 8,3,3,10,1,4,255,1,1,255,11,11,22,13,1,0, - 31,0,127,128,81,64,209,96,158,32,147,32,145,32,209,96, - 64,64,97,128,31,0,4,1,1,4,0,10,240,3,4,4, - 5,1,7,224,160,160,224,9,10,20,15,3,0,8,0,8, - 0,8,0,255,128,8,0,8,0,8,0,0,0,0,0,255, - 128,4,6,6,6,1,5,112,144,48,96,192,240,5,6,6, - 6,0,5,120,200,24,48,136,112,3,3,3,3,1,9,96, - 64,128,255,7,14,14,9,1,253,126,244,244,244,244,116,20, - 20,20,20,20,20,20,20,1,2,2,4,2,4,128,128,4, - 3,3,5,1,253,48,16,224,3,6,6,5,1,5,96,160, - 32,32,32,32,5,8,8,7,1,3,112,216,136,136,216,112, - 0,248,6,6,6,8,1,1,216,72,36,36,72,216,10,11, - 22,12,1,0,97,0,162,0,34,0,36,0,36,0,41,128, - 9,128,18,128,51,192,32,128,96,128,11,11,22,13,1,0, - 96,128,161,0,34,0,34,0,36,0,37,192,9,32,24,96, - 16,192,33,128,97,224,11,11,22,12,0,0,120,128,9,128, - 49,0,27,0,138,0,116,192,4,192,9,64,11,224,16,64, - 48,64,6,11,11,8,1,253,16,0,16,16,48,96,192,128, - 132,236,120,11,16,32,11,0,0,24,0,8,0,4,0,0, - 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, - 128,63,192,96,192,64,64,192,96,11,16,32,11,0,0,3, - 0,2,0,4,0,0,0,0,0,6,0,14,0,10,0,27, - 0,25,0,49,128,49,128,63,192,96,192,64,64,192,96,11, - 16,32,11,0,0,4,0,14,0,9,0,0,0,0,0,6, - 0,14,0,10,0,27,0,25,0,49,128,49,128,63,192,96, - 192,64,64,192,96,11,15,30,11,0,0,13,0,22,0,0, - 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, - 128,63,192,96,192,64,64,192,96,11,14,28,11,0,0,9, - 0,0,0,0,0,6,0,14,0,11,0,27,0,25,0,17, - 128,48,128,63,192,96,192,64,96,192,96,11,16,32,11,0, - 0,14,0,10,0,14,0,0,0,0,0,4,0,12,0,10, - 0,10,0,17,0,17,0,49,128,63,128,96,192,64,64,192, - 96,13,11,22,14,0,0,3,248,5,0,13,0,13,0,25, - 0,25,248,49,0,63,0,97,0,65,0,193,248,8,15,15, - 10,1,252,62,97,193,128,128,128,128,128,193,67,62,12,6, - 2,28,6,16,16,9,1,0,64,32,16,0,0,252,128,128, - 128,128,252,128,128,128,128,252,6,16,16,9,1,0,8,16, - 16,0,0,252,128,128,128,128,252,128,128,128,128,252,6,16, - 16,9,1,0,48,48,72,0,0,252,128,128,128,128,252,128, - 128,128,128,252,6,15,15,8,1,0,72,0,0,0,252,128, - 128,128,128,252,128,128,128,128,252,3,16,16,3,255,0,192, - 64,32,0,0,32,32,32,32,32,32,32,32,32,32,32,3, - 16,16,3,1,0,96,192,128,0,0,128,128,128,128,128,128, - 128,128,128,128,128,3,16,16,3,0,0,64,224,160,0,0, - 64,64,64,64,64,64,64,64,64,64,64,4,14,14,4,0, - 0,144,0,0,64,64,64,64,64,64,64,64,64,64,64,10, - 11,22,11,0,0,62,0,33,128,32,128,32,192,32,64,248, - 64,32,64,32,192,32,128,33,128,62,0,8,15,15,10,1, - 0,52,44,0,0,193,225,225,177,177,153,137,141,133,135,131, - 9,16,32,11,1,0,48,0,16,0,8,0,0,0,0,0, - 62,0,99,0,193,128,129,128,128,128,128,128,128,128,129,128, - 193,0,99,0,62,0,9,16,32,11,1,0,4,0,12,0, - 8,0,0,0,0,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,9,16,32,11, - 1,0,8,0,28,0,20,0,0,0,0,0,62,0,99,0, - 193,128,129,128,128,128,128,128,128,128,129,128,193,0,99,0, - 62,0,9,15,30,11,1,0,24,0,44,0,0,0,0,0, - 62,0,99,0,193,128,128,128,128,128,128,128,128,128,129,128, - 193,0,119,0,62,0,9,15,30,11,1,0,18,0,0,0, - 0,0,0,0,62,0,99,0,193,128,129,128,128,128,128,128, - 128,128,129,128,193,0,99,0,62,0,7,7,7,15,4,1, - 130,68,40,16,40,68,130,9,13,26,11,1,255,0,128,63, - 0,99,0,195,128,134,128,140,128,136,128,152,128,177,128,225, - 0,99,0,254,0,128,0,8,16,16,10,1,0,32,16,24, - 0,0,129,129,129,129,129,129,129,129,195,230,60,8,16,16, - 10,1,0,12,8,16,0,0,129,129,129,129,129,129,129,129, - 195,230,60,8,16,16,10,1,0,24,24,36,0,0,129,129, - 129,129,129,129,129,129,195,230,60,8,15,15,10,1,0,36, - 0,0,0,129,129,129,129,129,129,129,129,131,194,60,9,16, - 32,10,1,0,6,0,4,0,8,0,0,0,0,0,193,128, - 65,0,99,0,38,0,52,0,28,0,8,0,8,0,8,0, - 8,0,8,0,7,11,11,9,1,0,128,128,252,134,130,130, - 134,252,128,128,128,7,11,11,8,1,0,120,204,132,140,144, - 144,156,134,130,178,156,6,12,12,8,1,0,32,16,16,0, - 120,204,4,124,196,132,140,116,6,13,13,8,1,0,24,16, - 48,32,0,120,204,4,124,196,132,140,116,6,12,12,8,1, - 0,48,104,72,0,120,204,4,124,196,132,140,116,6,11,11, - 8,1,0,120,0,0,120,204,4,124,196,132,140,116,6,11, - 11,8,1,0,72,0,0,120,204,4,124,196,132,140,116,6, - 13,13,8,1,0,48,72,72,48,0,120,196,4,124,196,132, - 140,116,12,8,16,13,1,0,251,192,138,32,4,48,127,240, - 196,0,140,48,202,96,113,192,6,12,12,8,1,252,120,204, - 132,128,128,132,204,120,48,24,8,48,6,13,13,8,1,0, - 64,32,32,16,0,120,196,132,252,128,132,204,120,6,13,13, - 8,1,0,8,16,16,32,0,120,196,132,252,128,132,204,120, - 6,12,12,8,1,0,48,104,72,0,120,196,132,252,128,132, - 204,120,6,11,11,8,1,0,72,0,0,120,204,132,252,128, - 132,204,120,2,12,12,3,0,0,128,64,64,0,64,64,64, - 64,64,64,64,64,3,12,12,3,0,0,32,64,128,0,64, - 64,64,64,64,64,64,64,5,12,12,3,255,0,112,80,136, - 0,32,32,32,32,32,32,32,32,4,11,11,4,0,0,144, - 0,0,64,64,64,64,64,64,64,64,7,11,11,9,1,0, - 104,112,136,124,198,134,130,130,134,196,120,6,11,11,8,1, - 0,120,0,0,184,204,132,132,132,132,132,132,7,13,13,9, - 1,0,96,32,16,16,0,120,196,134,130,130,134,196,120,7, - 13,13,9,1,0,12,24,16,32,0,120,196,134,130,130,134, - 196,120,7,12,12,9,1,0,56,40,68,0,120,196,134,130, - 130,134,196,120,7,11,11,9,1,0,120,0,0,120,196,134, - 130,130,134,196,120,7,11,11,9,1,0,72,0,0,120,196, - 134,130,130,134,196,120,9,7,14,15,3,1,8,0,8,0, - 0,0,255,128,0,0,8,0,8,0,8,10,10,9,0,255, - 1,62,98,71,73,89,83,98,124,192,6,13,13,8,1,0, - 64,32,32,16,0,132,132,132,132,132,132,204,116,6,13,13, - 8,1,0,24,16,48,32,0,132,132,132,132,132,132,204,116, - 6,12,12,8,1,0,48,80,72,0,132,132,132,132,132,132, - 204,116,6,11,11,8,1,0,72,0,0,132,132,132,132,132, - 132,204,116,8,15,15,8,0,253,4,8,16,0,195,66,102, - 38,52,60,24,24,24,80,112,7,14,14,9,1,253,128,128, - 128,188,198,134,130,130,134,198,188,128,128,128,8,14,14,8, - 0,253,36,0,0,195,66,102,36,36,60,24,24,24,16,48 - }; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=15 dy= 0 ascent=11 len=18 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11n[265] U8G_SECTION(".progmem.u8g_font_fur11n") = { - 0,20,20,255,252,11,0,0,0,0,42,57,0,11,254,11, - 0,6,5,5,10,2,5,72,48,252,48,120,9,9,18,15, - 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,4,4,4,1,254,192,192,128,128,4,1, - 1,6,1,3,240,1,2,2,4,2,0,128,128,4,12,12, - 6,1,255,16,16,16,32,32,32,64,64,64,64,128,128,6, - 11,11,8,1,0,120,200,140,132,132,132,132,132,140,200,120, - 4,11,11,8,2,0,48,112,208,16,16,16,16,16,16,16, - 16,6,11,11,8,1,0,120,204,196,4,12,24,16,48,96, - 192,252,7,11,11,8,0,0,60,70,194,6,24,4,6,2, - 194,70,60,7,11,11,8,1,0,12,28,20,36,100,68,196, - 254,4,4,4,6,11,11,8,1,0,248,128,128,184,204,132, - 4,4,140,200,112,7,11,11,8,1,0,60,198,134,128,188, - 198,130,130,130,198,60,7,11,11,8,1,0,254,6,6,4, - 12,8,24,24,16,48,48,6,11,11,8,1,0,120,204,132, - 204,112,200,132,132,132,204,120,7,11,11,8,1,0,124,198, - 130,130,198,122,2,6,134,204,120}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=16 x= 4 y= 9 dx=15 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11r[1729] U8G_SECTION(".progmem.u8g_font_fur11r") = { - 0,20,20,255,252,11,2,81,4,211,32,127,253,13,252,11, - 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, - 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, - 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, - 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, - 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, - 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, - 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, - 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, - 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, - 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, - 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, - 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, - 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, - 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, - 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, - 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, - 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, - 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, - 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, - 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, - 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, - 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, - 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, - 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, - 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, - 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, - 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, - 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, - 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, - 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, - 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, - 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, - 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, - 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, - 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, - 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, - 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, - 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, - 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, - 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, - 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, - 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, - 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, - 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, - 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, - 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, - 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, - 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, - 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, - 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, - 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, - 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, - 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, - 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, - 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, - 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, - 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, - 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, - 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, - 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, - 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, - 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, - 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, - 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, - 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, - 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, - 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, - 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, - 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, - 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, - 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, - 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, - 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, - 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, - 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, - 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, - 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, - 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, - 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, - 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, - 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, - 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, - 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, - 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, - 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, - 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, - 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, - 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, - 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, - 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, - 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, - 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, - 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, - 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, - 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, - 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, - 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, - 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, - 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, - 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, - 255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=18 h=21 x= 5 y=13 dx=19 dy= 0 ascent=21 len=54 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14[5349] U8G_SECTION(".progmem.u8g_font_fur14") = { - 0,26,26,255,251,14,3,59,6,250,32,255,252,21,251,14, - 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, - 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, - 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, - 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, - 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, - 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, - 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, - 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, - 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, - 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, - 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, - 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, - 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, - 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, - 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, - 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, - 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, - 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, - 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, - 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, - 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, - 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, - 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, - 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, - 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, - 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, - 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, - 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, - 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, - 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, - 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, - 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, - 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, - 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, - 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, - 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, - 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, - 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, - 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, - 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, - 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, - 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, - 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, - 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, - 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, - 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, - 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, - 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, - 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, - 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, - 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, - 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, - 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, - 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, - 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, - 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, - 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, - 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, - 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, - 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, - 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, - 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, - 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, - 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, - 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, - 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, - 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, - 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, - 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, - 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, - 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, - 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, - 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, - 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, - 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, - 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, - 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, - 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, - 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, - 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, - 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, - 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, - 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, - 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, - 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, - 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, - 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, - 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, - 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, - 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, - 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, - 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, - 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, - 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, - 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, - 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, - 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, - 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, - 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, - 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, - 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, - 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, - 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, - 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, - 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, - 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, - 4,10,0,4,120,192,207,128,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,0,2, - 14,14,7,3,252,192,192,0,0,192,192,192,192,192,192,192, - 192,192,192,8,14,14,10,1,254,2,4,60,102,203,200,200, - 208,208,211,102,60,32,64,10,14,28,11,1,0,31,0,49, - 128,96,192,96,0,96,0,252,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,255,128,10,10,20,12,1,3,128, - 64,94,128,51,0,65,128,64,128,64,128,64,128,33,0,94, - 128,128,64,10,14,28,12,1,0,192,192,96,128,97,128,49, - 0,243,192,27,0,30,0,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,1,18,18,7,3,252,128,128,128,128,128, - 128,128,128,0,0,128,128,128,128,128,128,128,128,7,17,17, - 9,1,253,60,100,192,192,96,56,124,198,198,206,124,60,14, - 6,6,140,248,6,1,1,6,0,13,204,14,14,28,16,1, - 0,15,192,28,224,39,144,76,200,216,108,152,4,152,4,152, - 4,152,100,140,204,71,200,32,16,16,32,15,192,7,10,10, - 8,1,4,120,204,4,124,196,132,124,0,0,254,7,8,8, - 11,2,1,38,100,204,216,152,204,100,38,10,5,10,12,1, - 3,255,192,0,64,0,64,0,64,0,64,255,14,14,28,16, - 1,0,15,192,28,224,47,208,76,104,204,108,140,100,143,132, - 140,68,140,100,204,108,76,104,32,16,28,224,15,192,6,1, - 1,6,0,13,252,4,5,5,6,1,9,96,240,144,144,96, - 11,12,24,19,4,0,6,0,6,0,6,0,6,0,255,224, - 6,0,6,0,6,0,0,0,0,0,0,0,255,224,6,8, - 8,7,1,6,120,220,12,12,24,48,192,252,6,8,8,7, - 1,6,120,204,12,48,24,140,204,120,4,4,4,4,1,12, - 48,96,64,192,255,9,18,36,11,1,252,63,128,121,0,249, - 0,249,0,249,0,249,0,121,0,25,0,9,0,9,0,9, - 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,2, - 2,2,5,2,5,192,192,6,5,5,5,0,251,64,120,12, - 12,248,4,7,7,6,1,7,112,240,48,48,48,48,48,6, - 10,10,8,1,4,120,72,132,132,132,132,204,120,0,252,7, - 8,8,11,2,1,152,204,100,102,102,100,204,152,13,14,28, - 15,1,0,112,64,240,192,48,128,49,128,49,0,51,0,50, - 48,54,112,12,112,8,176,25,176,17,248,48,48,32,48,13, - 14,28,15,1,0,112,64,240,192,48,128,49,128,49,0,50, - 0,50,112,52,216,12,24,8,24,24,48,16,96,48,192,32, - 248,14,14,28,16,1,0,120,48,204,32,12,96,48,192,12, - 128,141,128,121,24,3,56,2,120,4,88,12,152,8,252,24, - 24,16,24,8,14,14,10,1,252,12,12,0,12,12,12,24, - 48,96,192,192,193,127,62,14,20,40,14,0,0,12,0,6, - 0,2,0,3,0,0,0,0,0,3,0,7,128,7,128,4, - 192,12,192,12,192,24,96,24,96,31,240,63,240,48,24,96, - 24,96,24,192,12,14,20,40,14,0,0,0,192,0,128,1, - 128,1,0,0,0,0,0,3,0,7,128,7,128,4,192,12, - 192,12,192,24,96,24,96,31,240,63,240,48,24,96,24,96, - 24,192,12,14,20,40,14,0,0,3,0,3,128,6,128,4, - 192,0,0,0,0,3,0,7,128,7,128,4,192,12,192,12, - 192,24,96,24,96,31,240,63,240,48,24,96,24,96,24,192, - 12,14,18,36,14,0,0,7,192,0,0,0,0,0,0,3, - 0,7,128,7,128,4,192,12,192,12,192,24,96,24,96,31, - 240,63,240,48,24,96,24,96,24,192,12,13,18,36,15,1, - 0,12,192,0,0,0,0,0,0,7,0,7,0,13,128,13, - 128,12,192,24,192,24,192,48,96,63,224,63,240,96,48,96, - 24,192,24,192,24,13,21,42,14,1,0,6,0,13,0,9, - 0,9,0,6,0,0,0,0,0,6,0,7,0,15,0,13, - 0,25,128,25,128,16,192,48,192,63,224,127,224,96,32,192, - 48,192,48,192,24,17,14,42,19,1,0,1,255,128,3,192, - 0,2,192,0,6,192,0,14,192,0,12,192,0,28,255,128, - 24,192,0,56,192,0,63,192,0,96,192,0,96,192,0,192, - 192,0,192,255,128,11,18,36,13,1,252,31,128,57,192,96, - 96,64,96,192,0,192,0,192,0,192,0,192,0,192,0,64, - 96,96,96,49,192,31,0,4,0,7,0,1,128,15,128,9, - 20,40,12,2,0,96,0,48,0,24,0,8,0,0,0,0, - 0,255,128,192,0,192,0,192,0,192,0,192,0,255,128,192, - 0,192,0,192,0,192,0,192,0,192,0,255,128,9,20,40, - 12,2,0,6,0,4,0,12,0,24,0,0,0,0,0,255, - 128,192,0,192,0,192,0,192,0,192,0,255,128,192,0,192, - 0,192,0,192,0,192,0,192,0,255,128,9,20,40,12,2, - 0,24,0,28,0,52,0,38,0,0,0,0,0,255,128,192, - 0,192,0,192,0,192,0,192,0,255,128,192,0,192,0,192, - 0,192,0,192,0,192,0,255,128,9,18,36,12,2,0,102, - 0,0,0,0,0,0,0,255,128,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,255,128,4,20,20,5,0,0,192,96,32,48,0,0,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,4,20,20, - 5,2,0,48,96,64,128,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,5,20,20,5,0,0,48,112,88, - 200,0,0,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,6,18,18,6,0,0,204,0,0,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,13,14,28,14,0,0,127, - 128,97,224,96,112,96,48,96,16,96,24,254,24,96,24,96, - 24,96,16,96,48,96,96,97,224,127,128,11,18,36,14,2, - 0,31,0,0,0,0,0,0,0,224,96,224,96,240,96,248, - 96,216,96,220,96,204,96,198,96,198,96,195,96,195,96,193, - 224,193,224,192,224,12,20,40,14,1,0,24,0,12,0,6, - 0,2,0,0,0,0,0,31,128,57,192,96,96,64,32,192, - 48,192,48,192,48,192,48,192,48,192,48,64,32,96,96,57, - 192,15,0,12,20,40,14,1,0,1,128,3,0,6,0,4, - 0,0,0,0,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,12,20,40,14,1,0,6,0,15,0,9,0,16,128,0, - 0,0,0,31,128,57,192,96,96,64,32,192,48,192,48,192, - 48,192,48,192,48,192,48,64,32,96,96,57,192,15,0,12, - 19,38,14,1,0,12,128,31,0,0,0,0,0,0,0,31, - 128,57,192,96,96,64,32,192,48,192,48,192,48,192,48,192, - 48,192,48,96,96,112,224,63,192,15,0,12,18,36,14,1, - 0,13,128,0,0,0,0,0,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,0,11,10,20,19,4,1,192,96,96,192,49, - 128,27,0,14,0,14,0,27,0,49,128,96,192,64,96,12, - 16,32,14,1,255,0,48,31,224,56,224,96,224,65,176,193, - 176,195,48,198,48,198,48,204,48,220,48,88,32,112,96,57, - 192,127,0,192,0,11,20,40,15,2,0,24,0,8,0,4, - 0,6,0,0,0,0,0,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,96,192,127, - 192,31,0,11,20,40,15,2,0,3,0,2,0,4,0,12, - 0,0,0,0,0,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,96,192,127,192,31, - 0,11,20,40,15,2,0,14,0,14,0,27,0,17,0,0, - 0,0,0,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,96,192,127,192,31,0,11, - 18,36,15,2,0,25,128,0,0,0,0,0,0,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,96,192,113,192,31,0,12,20,40,12,0,0,1, - 128,3,0,2,0,4,0,0,0,0,0,224,112,96,96,112, - 192,48,192,25,128,25,128,15,0,14,0,6,0,6,0,6, - 0,6,0,6,0,6,0,9,14,28,12,2,0,192,0,192, - 0,192,0,254,0,195,0,193,128,193,128,193,128,195,128,254, - 0,192,0,192,0,192,0,192,0,10,14,28,11,1,0,62, - 0,103,0,195,0,195,0,198,0,204,0,204,0,206,0,199, - 128,193,128,192,192,216,192,220,128,199,128,8,15,15,10,1, - 0,48,24,8,0,0,62,103,195,3,63,99,195,195,231,123, - 8,16,16,10,1,0,6,12,24,16,0,0,62,103,195,3, - 63,99,195,195,231,123,8,16,16,10,1,0,24,28,36,38, - 0,0,62,103,195,3,63,99,195,195,231,123,8,14,14,10, - 1,0,62,0,0,0,62,103,195,3,63,115,195,195,231,123, - 8,14,14,10,1,0,102,0,0,0,62,103,195,3,63,99, - 195,195,231,123,8,16,16,10,1,0,28,34,34,28,0,0, - 62,99,193,1,63,113,193,193,231,61,16,10,20,18,1,0, - 62,124,227,198,193,131,1,131,63,255,225,128,193,128,195,131, - 230,238,124,60,8,14,14,10,1,252,62,103,195,192,192,192, - 192,195,102,60,16,28,6,62,9,16,32,11,1,0,48,0, - 48,0,24,0,8,0,0,0,0,0,62,0,99,0,193,0, - 193,128,255,128,192,0,192,0,67,0,103,0,62,0,9,16, - 32,11,1,0,6,0,12,0,8,0,24,0,0,0,0,0, - 62,0,99,0,193,0,193,128,255,128,192,0,192,0,67,0, - 103,0,62,0,9,16,32,11,1,0,24,0,28,0,52,0, - 34,0,0,0,0,0,62,0,99,0,193,0,193,128,255,128, - 192,0,192,0,67,0,103,0,62,0,9,14,28,11,1,0, - 102,0,0,0,0,0,0,0,62,0,99,0,193,0,193,128, - 255,128,192,0,192,0,67,0,103,0,62,0,3,15,15,4, - 0,0,128,192,96,32,0,96,96,96,96,96,96,96,96,96, - 96,3,15,15,4,1,0,96,64,192,128,0,192,192,192,192, - 192,192,192,192,192,192,6,15,15,4,255,0,48,120,72,132, - 0,48,48,48,48,48,48,48,48,48,48,6,14,14,5,0, - 0,204,0,0,0,48,48,48,48,48,48,48,48,48,48,9, - 14,28,11,1,0,102,0,24,0,108,0,6,0,63,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,8,14,14,10,1,0,52,124,0,0,222,231,195,195,195, - 195,195,195,195,195,9,16,32,11,1,0,48,0,16,0,24, - 0,8,0,0,0,0,0,62,0,99,0,193,128,193,128,193, - 128,193,128,193,128,193,128,99,0,62,0,9,16,32,11,1, - 0,6,0,4,0,12,0,8,0,0,0,0,0,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,9,16,32,11,1,0,8,0,28,0,20,0,34,0,0, - 0,0,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,62,0,0, - 0,0,0,0,0,62,0,99,0,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,9,14,28,11,1,0,51, - 0,0,0,0,0,0,0,62,0,115,0,193,128,192,128,192, - 128,192,128,192,128,193,128,115,0,62,0,11,8,16,19,4, - 2,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, - 0,9,12,24,11,1,0,1,128,63,0,99,0,199,128,197, - 128,201,128,217,128,209,128,225,128,99,0,254,0,128,0,8, - 16,16,10,1,0,96,48,16,8,0,0,195,195,195,195,195, - 195,195,195,231,123,8,16,16,10,1,0,4,12,8,16,0, - 0,195,195,195,195,195,195,195,195,231,123,8,16,16,10,1, - 0,24,24,52,36,0,0,195,195,195,195,195,195,195,195,231, - 123,8,14,14,10,1,0,102,0,0,0,195,195,195,195,195, - 195,195,195,231,123,10,19,38,10,0,252,3,0,6,0,4, - 0,8,0,0,0,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,120,0,120, - 0,9,18,36,11,1,252,192,0,192,0,192,0,192,0,222, - 0,227,0,193,128,193,128,193,128,193,128,193,128,193,128,227, - 0,222,0,192,0,192,0,192,0,192,0,10,18,36,10,0, - 252,51,0,0,0,0,0,0,0,192,192,97,128,97,128,97, - 0,51,0,51,0,30,0,30,0,30,0,12,0,12,0,24, - 0,24,0,24,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=11 h=15 x= 4 y= 7 dx=19 dy= 0 ascent=14 len=28 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14n[405] U8G_SECTION(".progmem.u8g_font_fur14n") = { - 0,26,26,255,251,14,0,0,0,0,42,57,0,14,254,14, - 0,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=18 h=21 x= 5 y=12 dx=19 dy= 0 ascent=16 len=54 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14r[2489] U8G_SECTION(".progmem.u8g_font_fur14r") = { - 0,26,26,255,251,14,3,59,6,250,32,127,252,16,251,14, - 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, - 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, - 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, - 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, - 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, - 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, - 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, - 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, - 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, - 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, - 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, - 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, - 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, - 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, - 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, - 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, - 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, - 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, - 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, - 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, - 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, - 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, - 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, - 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, - 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, - 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, - 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, - 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, - 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, - 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, - 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, - 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, - 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, - 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, - 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, - 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, - 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, - 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, - 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, - 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, - 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, - 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, - 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, - 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, - 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, - 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, - 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, - 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, - 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, - 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, - 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, - 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, - 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, - 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, - 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, - 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, - 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, - 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, - 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, - 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, - 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, - 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, - 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, - 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, - 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, - 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, - 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, - 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, - 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, - 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, - 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, - 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, - 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, - 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, - 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, - 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, - 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, - 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, - 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, - 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, - 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, - 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, - 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, - 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, - 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, - 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, - 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, - 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, - 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, - 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, - 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, - 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, - 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, - 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, - 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, - 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, - 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, - 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, - 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, - 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, - 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, - 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, - 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, - 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, - 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, - 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, - 4,10,0,4,120,192,207,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=22 h=25 x= 6 y=15 dx=24 dy= 0 ascent=24 len=66 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =24 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17[6799] U8G_SECTION(".progmem.u8g_font_fur17") = { - 0,31,30,254,250,17,4,5,8,170,32,255,251,24,250,17, - 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, - 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, - 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, - 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, - 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, - 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, - 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, - 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, - 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, - 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, - 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, - 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, - 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, - 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, - 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, - 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, - 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, - 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, - 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, - 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, - 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, - 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, - 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, - 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, - 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, - 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, - 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, - 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, - 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, - 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, - 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, - 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, - 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, - 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, - 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, - 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, - 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, - 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, - 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, - 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, - 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, - 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, - 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, - 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, - 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, - 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, - 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, - 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, - 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, - 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, - 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, - 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, - 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, - 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, - 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, - 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, - 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, - 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, - 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, - 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, - 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, - 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, - 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, - 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, - 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, - 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, - 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, - 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, - 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, - 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, - 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, - 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, - 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, - 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, - 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, - 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, - 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, - 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, - 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, - 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, - 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, - 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, - 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, - 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, - 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, - 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, - 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, - 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, - 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, - 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, - 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, - 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, - 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, - 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, - 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, - 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, - 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, - 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, - 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, - 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, - 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, - 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, - 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, - 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, - 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, - 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, - 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, - 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, - 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, - 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, - 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, - 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, - 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, - 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, - 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, - 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, - 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, - 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, - 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, - 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, - 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, - 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, - 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, - 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, - 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, - 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, - 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, - 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, - 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, - 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, - 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, - 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, - 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, - 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, - 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, - 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, - 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, - 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, - 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, - 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, - 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, - 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, - 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, - 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, - 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, - 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, - 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, - 2,4,12,0,5,62,112,231,224,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,7,0,0, - 2,17,17,8,3,251,192,192,0,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,10,18,36,14,2,253,1,0,1, - 0,1,0,31,0,127,128,98,192,198,192,196,0,196,0,204, - 0,200,0,200,192,121,192,127,128,31,0,32,0,32,0,32, - 0,11,17,34,13,1,0,15,128,29,192,48,96,48,0,48, - 0,48,0,254,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,255,224,11,14,28,13,1,3,0, - 32,128,32,95,64,123,128,96,128,64,64,64,64,64,64,64, - 64,96,128,113,128,95,64,128,32,0,32,12,17,34,14,1, - 0,192,48,96,96,96,96,48,224,48,192,249,240,25,128,15, - 128,15,0,255,240,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,1,22,22,8,4,251,128,128,128,128,128,128,128, - 128,128,0,0,0,0,128,128,128,128,128,128,128,128,128,8, - 21,21,10,1,252,62,126,192,192,192,112,120,62,119,227,195, - 199,238,124,30,7,3,3,3,142,252,7,2,2,7,0,15, - 198,198,17,17,51,19,1,0,3,224,0,15,120,0,56,14, - 0,35,242,0,71,57,0,78,25,0,140,0,128,140,0,128, - 140,0,128,140,0,128,140,24,128,70,57,0,67,241,0,32, - 2,0,48,6,0,12,24,0,3,224,0,9,11,22,9,0, - 6,62,0,127,0,97,0,1,0,63,0,113,0,65,0,67, - 0,61,0,0,0,255,128,9,9,18,13,2,1,49,128,51, - 0,99,0,230,0,204,0,230,0,99,0,51,0,17,128,12, - 5,10,14,1,5,255,240,0,16,0,16,0,16,0,16,255, - 17,17,51,19,1,0,3,224,0,15,120,0,56,14,0,39, - 242,0,70,57,0,70,25,0,134,24,128,135,224,128,134,48, - 128,134,16,128,134,24,128,70,25,0,70,25,0,32,2,0, - 56,14,0,15,120,0,3,224,0,7,1,1,7,0,15,254, - 5,6,6,7,1,11,112,216,136,136,216,112,14,14,28,24, - 5,0,2,0,2,0,2,0,2,0,255,252,2,0,2,0, - 2,0,2,0,2,0,0,0,0,0,0,0,255,252,7,9, - 9,9,1,8,60,126,198,6,12,24,48,224,254,7,9,9, - 9,1,8,60,126,198,14,24,14,6,206,124,3,4,4,5, - 2,14,96,96,192,128,255,10,21,42,13,1,252,31,192,60, - 128,124,128,252,128,252,128,252,128,124,128,124,128,60,128,4, - 128,4,128,4,128,4,128,4,128,4,128,4,128,4,128,4, - 128,4,128,4,128,4,128,2,3,3,6,2,7,192,192,192, - 6,5,5,6,1,250,64,120,12,12,252,3,9,9,7,2, - 8,96,224,32,32,32,32,32,32,32,8,11,11,10,1,6, - 60,126,195,193,193,193,195,98,124,0,255,9,9,18,13,2, - 1,204,0,102,0,99,0,51,0,57,128,51,0,99,0,102, - 0,204,0,15,17,34,18,2,0,96,48,224,32,32,96,32, - 64,32,192,32,128,33,0,35,0,34,24,6,24,4,40,12, - 72,8,200,16,254,48,8,32,8,96,8,16,17,34,19,2, - 0,96,16,224,48,32,32,32,96,32,192,32,128,33,128,33, - 0,35,62,6,119,4,99,12,3,8,6,24,28,16,48,32, - 96,96,127,17,17,51,19,1,0,124,4,0,254,12,0,6, - 8,0,24,16,0,30,48,0,6,32,0,198,96,0,206,64, - 0,124,198,0,1,134,0,1,10,0,3,26,0,2,50,0, - 6,63,128,4,2,0,8,2,0,24,2,0,10,17,34,12, - 1,251,6,0,6,0,0,0,0,0,6,0,6,0,6,0, - 14,0,28,0,112,0,96,0,192,0,192,0,192,192,241,192, - 127,128,31,0,16,23,46,17,1,0,14,0,6,0,3,0, - 1,0,0,0,0,0,3,128,3,128,7,192,6,192,14,224, - 12,96,12,112,24,48,24,48,56,56,63,248,63,252,96,12, - 96,12,224,6,192,6,192,7,16,23,46,17,1,0,0,96, - 0,192,0,128,1,0,0,0,0,0,3,128,3,128,7,192, - 6,192,14,224,12,96,12,112,24,48,24,48,56,56,63,248, - 63,252,96,12,96,12,224,6,192,6,192,7,16,23,46,17, - 1,0,3,128,3,192,6,192,4,96,0,0,0,0,3,128, - 3,128,7,192,6,192,14,224,12,96,12,112,24,48,24,48, - 56,56,63,248,63,252,96,12,96,12,224,6,192,6,192,7, - 16,22,44,17,1,0,7,96,13,192,0,0,0,0,0,0, - 3,128,3,128,7,192,6,192,14,224,12,96,12,112,24,48, - 24,48,56,56,63,248,63,252,96,12,96,12,224,6,192,6, - 192,7,16,22,44,18,1,0,6,48,6,48,0,0,0,0, - 0,0,1,192,3,192,3,224,7,96,6,96,6,112,12,48, - 12,56,28,24,24,28,63,252,63,252,48,6,96,6,96,7, - 224,3,192,3,16,24,48,17,1,0,3,128,6,192,4,64, - 4,64,3,128,0,0,0,0,3,128,3,128,7,192,6,192, - 6,224,12,96,12,112,28,48,24,48,24,24,63,248,63,252, - 96,12,96,12,224,6,192,6,192,7,21,17,51,23,1,0, - 0,255,248,0,240,0,1,240,0,1,176,0,3,176,0,3, - 48,0,7,48,0,6,48,0,14,63,248,12,48,0,28,48, - 0,31,240,0,56,48,0,48,48,0,112,48,0,96,48,0, - 192,63,248,13,22,44,15,1,251,15,192,63,240,48,56,96, - 24,96,24,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,96,0,96,24,112,48,63,240,15,192,2,0,3,192,0, - 224,0,96,7,224,11,23,46,14,2,0,48,0,24,0,12, - 0,4,0,0,0,0,0,255,224,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,255,224,11,23,46,14,2,0,3, - 0,6,0,6,0,12,0,0,0,0,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,11,23,46, - 14,2,0,30,0,30,0,51,0,33,0,0,0,0,0,255, - 224,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, - 192,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, - 224,11,22,44,14,2,0,51,0,51,0,0,0,0,0,0, - 0,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,192,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,224,4,23,23,6,0,0,192,96,48,16,0,0,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 4,23,23,6,2,0,48,96,64,192,0,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,6,23,23, - 6,0,0,56,120,76,196,0,0,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,7,22,22,7,0,0, - 198,198,0,0,0,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,15,17,34,17,0,0,63,192,49,240, - 48,56,48,12,48,12,48,6,48,6,48,6,255,6,48,6, - 48,6,48,6,48,12,48,28,48,56,49,240,63,192,13,22, - 44,17,2,0,14,192,31,128,0,0,0,0,0,0,224,24, - 240,24,248,24,248,24,220,24,220,24,206,24,198,24,199,24, - 195,24,195,152,193,216,193,216,192,248,192,248,192,120,192,56, - 15,24,48,17,1,0,14,0,6,0,3,0,1,0,1,128, - 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, - 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, - 48,24,30,240,7,192,15,24,48,17,1,0,0,224,0,192, - 1,128,1,0,3,0,0,0,0,0,7,192,30,240,48,24, - 96,12,96,12,192,6,192,6,192,6,192,6,192,6,192,6, - 224,14,96,12,96,12,48,24,30,240,7,192,15,24,48,17, - 1,0,3,128,3,128,6,192,4,64,12,32,0,0,0,0, - 7,192,30,240,48,24,96,12,96,12,192,6,192,6,192,6, - 192,6,192,6,192,6,224,14,96,12,96,12,48,24,30,240, - 7,192,15,22,44,17,1,0,7,96,13,192,0,0,0,0, - 0,0,7,192,30,240,48,24,96,12,96,12,192,6,192,6, - 192,6,192,6,192,6,192,6,224,14,96,12,112,28,56,56, - 31,240,7,192,15,22,44,17,1,0,6,96,6,96,0,0, - 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, - 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, - 48,24,30,240,7,192,13,12,24,23,5,1,192,24,96,48, - 48,96,24,192,13,128,7,0,7,0,13,128,24,192,48,96, - 96,48,192,24,15,21,42,17,1,254,0,4,0,14,7,236, - 30,248,48,60,96,60,96,110,192,230,192,198,193,198,195,134, - 195,6,199,6,238,14,108,12,124,12,120,24,62,240,111,192, - 224,0,64,0,13,24,48,17,2,0,28,0,12,0,6,0, - 2,0,1,0,0,0,0,0,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 224,24,96,56,112,112,63,224,31,192,13,24,48,17,2,0, - 1,192,1,128,3,0,2,0,6,0,0,0,0,0,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,224,24,96,56,112,112,63,224,31,192, - 13,24,48,17,2,0,7,0,7,0,13,128,8,128,24,64, - 0,0,0,0,192,24,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,224,24,96,56, - 112,112,63,224,31,192,13,22,44,17,2,0,12,192,12,192, - 0,0,0,0,0,0,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 96,56,96,48,61,224,31,192,14,23,46,15,0,0,0,192, - 1,128,1,128,3,0,0,0,0,0,224,28,112,24,112,56, - 56,48,24,112,28,96,12,192,14,192,7,128,3,128,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,11,17,34,14, - 2,0,192,0,192,0,192,0,192,0,255,128,193,192,192,224, - 192,96,192,96,192,96,193,192,255,128,192,0,192,0,192,0, - 192,0,192,0,12,17,34,13,1,0,31,0,127,128,224,192, - 192,192,193,192,195,128,199,0,198,0,198,0,195,128,193,224, - 192,112,192,48,192,48,204,48,207,96,195,192,10,18,36,13, - 1,0,24,0,12,0,4,0,6,0,0,0,0,0,31,0, - 123,128,96,192,96,192,0,192,63,192,120,192,224,192,192,192, - 193,192,119,192,60,192,10,19,38,13,1,0,3,0,6,0, - 6,0,12,0,8,0,0,0,0,0,31,0,123,128,96,192, - 96,192,0,192,63,192,120,192,224,192,192,192,193,192,119,192, - 60,192,10,19,38,13,1,0,14,0,14,0,27,0,51,0, - 33,128,0,0,0,0,31,0,123,128,96,192,96,192,0,192, - 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,17, - 34,13,1,0,29,128,63,0,0,0,0,0,0,0,31,0, - 123,128,96,192,0,192,7,192,63,192,112,192,192,192,193,192, - 193,192,119,192,60,192,10,17,34,13,1,0,49,128,49,128, - 0,0,0,0,0,0,31,0,123,128,96,192,96,192,0,192, - 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,20, - 40,13,1,0,14,0,27,0,17,0,17,0,27,0,14,0, - 0,0,0,0,31,0,123,128,96,192,96,192,0,192,63,192, - 120,192,224,192,192,192,193,192,119,192,62,192,18,12,36,20, - 1,0,30,31,0,127,191,128,97,225,128,0,224,192,0,192, - 192,63,255,192,120,192,0,224,192,0,192,224,192,193,225,128, - 127,63,128,62,31,0,10,17,34,12,1,251,31,0,127,128, - 97,192,192,192,192,0,192,0,192,0,192,0,192,192,97,192, - 127,128,31,0,8,0,15,0,3,128,1,128,31,0,10,19, - 38,13,1,0,48,0,24,0,8,0,12,0,6,0,0,0, - 0,0,31,0,127,128,96,192,192,192,192,192,255,192,192,0, - 192,0,192,192,96,192,63,128,31,0,10,19,38,13,1,0, - 3,0,7,0,6,0,12,0,8,0,0,0,0,0,31,0, - 127,128,96,192,192,192,192,192,255,192,192,0,192,0,192,192, - 96,192,63,128,31,0,10,19,38,13,1,0,12,0,30,0, - 26,0,51,0,33,0,0,0,0,0,31,0,127,128,96,192, - 192,192,192,192,255,192,192,0,192,0,192,192,96,192,63,128, - 31,0,11,17,34,13,1,0,49,128,49,128,0,0,0,0, - 0,0,31,0,59,192,96,192,224,96,192,96,255,224,192,0, - 192,0,192,96,96,192,59,192,31,0,4,18,18,6,0,0, - 192,96,48,16,0,0,48,48,48,48,48,48,48,48,48,48, - 48,48,4,18,18,6,2,0,48,96,192,128,0,0,192,192, - 192,192,192,192,192,192,192,192,192,192,6,18,18,6,0,0, - 120,120,204,132,0,0,48,48,48,48,48,48,48,48,48,48, - 48,48,6,17,17,5,255,0,204,204,0,0,0,48,48,48, - 48,48,48,48,48,48,48,48,48,11,17,34,13,1,0,97, - 128,63,0,30,0,119,0,3,128,31,192,127,192,96,224,224, - 96,192,96,192,96,192,96,192,96,224,96,96,192,63,192,31, - 0,10,17,34,14,2,0,25,0,63,0,0,0,0,0,0, - 0,223,0,255,128,225,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,11,19,38,13,1,0,56, - 0,24,0,12,0,4,0,2,0,0,0,0,0,31,0,63, - 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, - 192,63,192,31,0,11,19,38,13,1,0,3,128,3,0,6, - 0,4,0,12,0,0,0,0,0,31,0,63,192,96,192,224, - 224,192,96,192,96,192,96,192,96,224,224,96,192,63,192,31, - 0,11,19,38,13,1,0,14,0,14,0,27,0,17,0,49, - 128,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, - 96,192,96,192,96,224,224,96,192,63,192,31,0,11,17,34, - 13,1,0,29,128,63,0,0,0,0,0,0,0,31,0,63, - 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, - 192,63,192,31,0,11,17,34,13,1,0,49,128,49,128,0, - 0,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, - 96,192,96,192,96,224,224,96,192,63,192,31,0,14,10,20, - 24,5,2,3,0,3,0,3,0,0,0,0,0,255,252,0, - 0,3,0,3,0,3,0,11,15,30,13,1,254,0,32,0, - 96,31,192,63,192,97,192,227,224,194,96,198,96,204,96,216, - 96,248,224,112,192,123,192,95,0,192,0,10,19,38,14,2, - 0,48,0,24,0,24,0,12,0,4,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,225,192,119,192,60,192,10,19,38,14,2,0,3,0,6, - 0,6,0,12,0,8,0,0,0,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,119, - 192,60,192,10,19,38,14,2,0,12,0,30,0,30,0,51, - 0,33,0,0,0,0,0,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,225,192,119,192,60,192,10, - 17,34,14,2,0,51,0,51,0,0,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,11,23,46,12,1,251,3,0,3, - 0,6,0,12,0,0,0,0,0,192,96,192,192,224,192,97, - 192,113,128,49,128,51,128,59,0,27,0,30,0,14,0,14, - 0,12,0,12,0,220,0,248,0,112,0,11,22,44,14,2, - 251,192,0,192,0,192,0,192,0,192,0,207,0,251,192,224, - 192,224,224,192,96,192,96,192,96,192,96,224,224,224,192,251, - 192,207,0,192,0,192,0,192,0,192,0,192,0,11,22,44, - 13,1,251,49,128,49,128,0,0,0,0,0,0,192,96,224, - 96,96,224,96,192,113,192,49,128,57,128,27,128,27,0,31, - 0,14,0,14,0,14,0,12,0,12,0,28,0,24,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 17 - Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =17 descent= 0 - X Font ascent =17 descent= 0 - Max Font ascent =17 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17n[510] U8G_SECTION(".progmem.u8g_font_fur17n") = { - 0,31,30,254,250,17,0,0,0,0,42,57,0,17,253,17, - 0,9,9,18,15,3,8,34,0,54,0,22,0,28,0,255, - 128,156,128,20,0,54,0,34,0,14,14,28,24,5,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,252,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,4,6,6,6,1, - 253,112,112,96,96,192,192,6,1,1,8,1,5,252,2,3, - 3,6,2,0,192,192,192,7,18,18,9,1,255,6,6,4, - 12,12,8,8,24,24,16,48,48,32,32,96,96,64,192,10, - 17,34,13,1,0,30,0,63,128,97,128,96,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,97, - 192,97,128,63,128,30,0,5,17,17,13,3,0,56,120,248, - 216,24,24,24,24,24,24,24,24,24,24,24,24,24,10,17, - 34,13,1,0,30,0,127,128,97,128,224,192,224,192,0,192, - 1,192,3,128,3,128,7,0,14,0,28,0,56,0,112,0, - 96,0,224,0,255,192,10,17,34,13,1,0,31,0,127,128, - 96,192,224,192,0,192,0,192,3,128,14,0,7,128,1,192, - 0,192,0,192,192,192,224,192,97,192,127,128,30,0,11,17, - 34,13,1,0,3,128,3,128,7,128,13,128,13,128,25,128, - 57,128,49,128,97,128,97,128,193,128,255,224,255,224,1,128, - 1,128,1,128,1,128,10,17,34,13,1,0,127,128,96,0, - 96,0,96,0,96,0,111,0,127,128,97,128,64,192,0,192, - 0,192,0,192,0,192,192,192,225,128,127,0,30,0,11,17, - 34,13,1,0,31,0,59,128,96,192,224,192,192,0,192,0, - 207,0,223,192,241,192,224,224,192,96,192,96,192,96,192,96, - 96,192,59,192,31,0,10,17,34,13,1,0,255,192,0,192, - 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, - 6,0,14,0,12,0,12,0,28,0,24,0,56,0,11,17, - 34,13,1,0,31,0,59,128,96,192,96,192,96,192,96,192, - 49,128,31,0,59,128,96,192,192,96,192,96,192,96,192,96, - 96,224,123,192,31,0,11,17,34,13,1,0,31,0,127,192, - 96,192,192,224,192,96,192,96,192,224,224,224,113,224,63,96, - 0,96,0,96,0,224,96,192,97,192,127,128,31,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=22 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17r[3146] U8G_SECTION(".progmem.u8g_font_fur17r") = { - 0,31,30,254,250,17,4,5,8,170,32,127,251,19,250,17, - 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, - 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, - 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, - 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, - 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, - 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, - 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, - 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, - 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, - 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, - 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, - 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, - 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, - 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, - 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, - 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, - 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, - 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, - 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, - 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, - 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, - 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, - 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, - 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, - 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, - 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, - 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, - 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, - 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, - 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, - 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, - 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, - 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, - 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, - 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, - 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, - 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, - 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, - 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, - 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, - 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, - 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, - 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, - 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, - 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, - 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, - 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, - 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, - 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, - 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, - 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, - 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, - 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, - 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, - 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, - 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, - 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, - 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, - 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, - 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, - 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, - 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, - 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, - 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, - 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, - 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, - 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, - 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, - 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, - 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, - 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, - 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, - 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, - 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, - 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, - 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, - 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, - 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, - 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, - 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, - 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, - 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, - 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, - 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, - 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, - 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, - 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, - 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, - 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, - 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, - 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, - 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, - 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, - 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, - 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, - 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, - 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, - 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, - 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, - 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, - 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, - 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, - 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, - 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, - 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, - 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, - 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, - 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, - 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, - 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, - 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, - 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, - 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, - 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, - 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, - 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, - 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, - 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, - 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, - 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, - 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, - 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, - 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, - 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, - 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, - 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, - 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, - 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, - 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, - 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, - 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, - 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, - 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, - 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, - 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, - 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, - 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, - 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, - 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, - 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, - 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, - 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, - 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, - 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, - 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, - 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, - 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, - 2,4,12,0,5,62,112,231,224,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=26 h=29 x= 7 y=17 dx=29 dy= 0 ascent=28 len=96 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =28 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20[8654] U8G_SECTION(".progmem.u8g_font_fur20") = { - 0,38,35,254,249,20,5,12,11,23,32,255,251,28,249,20, - 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, - 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, - 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, - 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, - 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, - 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, - 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, - 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, - 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, - 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, - 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, - 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, - 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, - 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, - 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, - 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, - 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, - 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, - 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, - 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, - 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, - 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, - 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, - 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, - 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, - 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, - 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, - 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, - 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, - 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, - 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, - 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, - 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, - 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, - 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, - 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, - 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, - 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, - 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, - 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, - 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, - 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, - 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, - 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, - 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, - 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, - 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, - 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, - 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, - 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, - 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, - 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, - 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, - 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, - 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, - 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, - 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, - 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, - 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, - 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, - 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, - 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, - 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, - 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, - 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, - 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, - 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, - 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, - 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, - 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, - 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, - 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, - 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, - 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, - 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, - 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, - 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, - 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, - 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, - 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, - 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, - 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, - 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, - 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, - 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, - 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, - 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, - 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, - 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, - 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, - 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, - 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, - 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, - 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, - 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, - 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, - 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, - 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, - 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, - 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, - 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, - 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, - 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, - 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, - 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, - 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, - 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, - 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, - 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, - 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, - 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, - 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, - 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, - 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, - 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, - 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, - 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, - 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, - 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, - 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, - 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, - 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, - 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, - 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, - 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, - 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, - 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, - 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, - 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, - 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, - 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, - 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, - 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, - 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, - 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, - 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, - 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, - 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, - 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, - 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, - 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, - 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, - 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, - 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, - 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, - 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, - 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, - 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, - 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, - 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, - 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, - 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, - 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, - 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, - 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, - 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, - 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, - 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, - 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, - 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, - 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, - 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, - 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, - 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, - 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, - 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, - 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, - 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, - 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, - 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, - 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, - 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, - 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, - 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, - 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, - 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, - 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, - 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, - 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, - 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, - 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, - 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, - 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, - 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, - 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, - 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, - 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, - 5,62,14,127,252,224,248,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,8,0,0,3,19, - 19,10,4,251,224,224,224,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,12,20,40,16,2,253,0,192,0, - 128,0,128,31,128,63,192,113,96,227,96,226,0,226,0,230, - 0,228,0,228,0,236,112,232,96,120,224,63,192,31,128,16, - 0,48,0,48,0,14,20,40,16,1,0,7,224,31,248,60, - 60,56,28,56,0,56,0,56,0,255,128,255,128,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,255, - 248,255,248,16,14,28,18,1,4,192,3,97,134,55,236,28, - 56,24,24,48,12,48,12,48,12,48,12,24,24,28,56,63, - 252,115,198,192,3,15,20,40,17,1,0,224,14,224,28,112, - 28,48,56,56,56,24,112,252,126,252,254,14,224,7,192,255, - 254,255,254,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,1,25,25,9,4,251,128,128,128,128,128,128,128, - 128,128,128,128,0,0,0,128,128,128,128,128,128,128,128,128, - 128,128,10,25,50,12,1,251,31,0,63,128,112,0,224,0, - 224,0,112,0,120,0,62,0,31,0,127,128,113,192,225,192, - 225,192,225,128,247,128,126,0,31,0,7,128,3,192,1,192, - 1,192,1,192,131,128,255,0,60,0,8,3,3,8,0,17, - 231,231,231,21,20,60,25,2,0,1,252,0,7,255,0,28, - 3,128,56,112,192,35,254,96,103,142,48,199,7,16,134,7, - 24,142,0,8,142,0,8,142,0,8,134,0,8,134,7,24, - 199,7,16,67,254,16,32,248,32,48,0,64,28,1,128,7, - 143,0,1,252,0,10,13,26,12,1,7,63,0,127,128,97, - 128,1,128,31,128,127,128,225,128,193,128,227,128,127,128,24, - 0,0,0,255,192,11,11,22,16,2,2,12,96,24,224,56, - 192,113,128,99,128,227,0,99,128,113,128,56,192,24,224,12, - 96,15,6,12,18,2,6,255,254,255,254,0,6,0,6,0, - 6,0,6,255,21,20,60,25,2,0,1,252,0,7,255,0, - 28,3,128,59,252,192,35,254,96,99,3,48,195,3,16,131, - 3,24,131,254,8,131,252,8,131,6,8,131,6,8,131,3, - 24,195,3,16,67,3,48,35,3,96,56,0,192,28,3,128, - 7,255,0,1,252,0,8,2,2,8,0,17,255,255,6,6, - 6,8,1,14,120,204,132,132,204,120,17,17,51,29,6,0, - 1,128,0,1,128,0,1,128,0,1,128,0,1,128,0,255, - 255,128,255,255,128,1,128,0,1,128,0,1,128,0,1,128, - 0,1,128,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,9,11,22,11,1,9,62,0,127,0,227,128,3, - 128,3,0,7,0,28,0,56,0,112,0,255,128,255,128,8, - 11,11,10,1,9,62,127,195,3,30,30,7,3,195,126,60, - 5,5,5,6,2,16,56,48,96,224,192,255,13,24,48,16, - 1,252,15,248,62,32,126,32,126,32,254,32,254,32,254,32, - 126,32,62,32,30,32,2,32,2,32,2,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 2,32,3,3,3,7,2,8,224,224,224,7,7,7,7,1, - 249,32,32,60,14,6,254,248,4,10,10,8,2,10,112,240, - 176,48,48,48,48,48,48,48,10,12,24,12,1,8,30,0, - 99,128,193,128,192,192,192,192,192,192,192,192,193,128,99,128, - 30,0,0,0,255,192,12,11,22,16,2,2,227,0,99,128, - 49,128,56,192,24,224,28,112,24,224,56,192,49,128,99,128, - 227,0,18,20,60,22,2,0,112,12,0,240,12,0,176,24, - 0,48,24,0,48,48,0,48,96,0,48,96,0,48,192,0, - 48,192,0,49,131,0,49,7,0,3,15,0,6,31,0,6, - 27,0,12,51,0,12,99,0,24,127,192,16,3,0,48,3, - 0,96,3,0,18,20,60,22,2,0,112,12,0,240,24,0, - 176,24,0,48,48,0,48,48,0,48,96,0,48,64,0,48, - 192,0,48,128,0,49,143,0,51,31,128,3,49,192,6,1, - 192,6,1,192,12,3,128,8,7,0,24,14,0,16,24,0, - 48,63,192,96,63,192,20,20,60,22,1,0,62,1,128,127, - 3,0,195,3,0,3,6,0,28,6,0,30,12,0,3,24, - 0,195,24,0,199,48,0,126,48,192,56,97,192,0,99,192, - 0,198,192,1,134,192,1,140,192,3,24,192,3,31,240,6, - 0,192,12,0,192,12,0,192,12,19,38,15,2,251,7,0, - 7,0,7,0,0,0,0,0,7,0,7,0,7,0,15,0, - 30,0,56,0,112,0,224,0,224,0,224,0,224,112,127,224, - 63,224,31,128,19,27,81,21,1,0,7,0,0,3,128,0, - 1,128,0,0,192,0,0,96,0,0,0,0,0,0,0,0, - 224,0,1,240,0,1,240,0,3,176,0,3,184,0,3,56, - 0,7,28,0,7,28,0,14,14,0,14,14,0,30,15,0, - 28,7,0,28,7,0,63,255,128,63,255,128,112,1,192,112, - 1,192,224,0,224,224,0,224,224,0,224,19,27,81,21,1, - 0,0,28,0,0,56,0,0,48,0,0,96,0,0,192,0, - 0,0,0,0,0,0,0,224,0,1,240,0,1,240,0,3, - 176,0,3,184,0,3,56,0,7,28,0,7,28,0,14,14, - 0,14,14,0,30,15,0,28,7,0,28,7,0,63,255,128, - 63,255,128,112,1,192,112,1,192,224,0,224,224,0,224,224, - 0,224,19,27,81,21,1,0,0,224,0,1,240,0,1,176, - 0,3,24,0,6,12,0,0,0,0,0,0,0,0,224,0, - 1,240,0,1,240,0,3,176,0,3,184,0,3,56,0,7, - 28,0,7,28,0,14,14,0,14,14,0,30,15,0,28,7, - 0,28,7,0,63,255,128,63,255,128,112,1,192,112,1,192, - 224,0,224,224,0,224,224,0,224,19,26,78,21,1,0,1, - 140,0,3,248,0,6,112,0,0,0,0,0,0,0,0,0, - 0,0,224,0,1,240,0,1,240,0,3,176,0,3,184,0, - 3,56,0,7,28,0,7,28,0,14,14,0,14,14,0,30, - 15,0,28,7,0,28,7,0,63,255,128,63,255,128,112,1, - 192,112,1,192,224,0,224,224,0,224,224,0,224,19,26,78, - 21,1,0,3,156,0,3,156,0,3,156,0,0,0,0,0, - 0,0,0,0,0,0,224,0,0,240,0,1,240,0,1,184, - 0,3,184,0,3,152,0,7,28,0,7,28,0,7,14,0, - 14,14,0,14,15,0,28,7,0,28,7,0,63,255,128,63, - 255,128,56,1,192,112,1,192,112,0,224,224,0,224,224,0, - 224,20,28,84,21,0,0,0,240,0,1,152,0,1,8,0, - 1,8,0,1,152,0,0,240,0,0,0,0,0,0,0,0, - 240,0,0,240,0,0,248,0,1,248,0,1,220,0,3,156, - 0,3,158,0,7,14,0,7,14,0,7,7,0,14,7,0, - 14,7,128,30,3,128,31,255,192,31,255,192,56,1,192,56, - 0,224,112,0,224,112,0,112,224,0,112,25,20,80,28,1, - 0,0,63,255,128,0,127,255,128,0,126,0,0,0,238,0, - 0,0,238,0,0,1,206,0,0,1,206,0,0,3,206,0, - 0,3,142,0,0,7,143,255,128,7,15,255,128,15,14,0, - 0,14,14,0,0,31,254,0,0,63,254,0,0,56,14,0, - 0,120,14,0,0,112,14,0,0,224,15,255,128,224,15,255, - 128,16,27,54,19,2,249,7,240,31,252,60,14,48,6,112, - 7,96,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,96,0,96,7,48,6,56,14,31,252,7,240,0, - 128,0,224,0,248,0,24,0,24,3,248,1,224,13,27,54, - 17,2,0,24,0,28,0,14,0,6,0,3,0,0,0,0, - 0,255,248,255,248,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,255,240,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,255,248,255,248,13,27,54,17,2,0,1, - 192,1,128,3,0,6,0,4,0,0,0,0,0,255,248,255, - 248,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,248,255,248,13,27,54,17,2,0,15,0,15,0,25, - 128,16,192,48,192,0,0,0,0,255,248,255,248,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,240,255,240,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,248,255, - 248,13,26,52,17,2,0,56,224,56,224,56,224,0,0,0, - 0,0,0,255,248,255,248,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,248,255,248,5,27,27,7,0, - 0,224,96,48,48,24,0,0,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,5,27,27,7, - 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,8,27,27, - 7,255,0,28,62,118,99,193,0,0,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,8,26, - 26,8,0,0,227,227,227,0,0,0,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,19,20, - 60,20,0,0,63,240,0,63,254,0,56,31,0,56,7,128, - 56,3,128,56,1,192,56,1,192,56,0,192,56,0,224,255, - 192,224,255,192,224,56,0,224,56,0,192,56,1,192,56,1, - 192,56,3,128,56,7,128,56,31,0,63,254,0,63,240,0, - 16,26,52,20,2,0,6,48,15,224,9,224,0,0,0,0, - 0,0,240,7,248,7,248,7,252,7,252,7,238,7,238,7, - 231,7,231,135,227,135,227,199,225,199,224,231,224,231,224,119, - 224,119,224,63,224,63,224,31,224,31,18,28,84,22,2,0, - 7,0,0,3,128,0,1,128,0,0,192,0,0,64,0,0, - 0,0,0,0,0,0,0,0,3,240,0,15,252,0,62,31, - 0,56,7,0,112,3,128,96,1,128,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,96, - 1,192,112,3,128,112,3,128,56,7,0,30,30,0,15,252, - 0,3,240,0,18,28,84,22,2,0,0,56,0,0,112,0, - 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, - 0,0,3,240,0,15,252,0,62,31,0,56,7,0,112,3, - 128,96,1,128,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,96,1,192,112,3,128,112, - 3,128,56,7,0,30,30,0,15,252,0,3,240,0,18,28, - 84,22,2,0,1,224,0,1,224,0,3,240,0,3,48,0, - 6,24,0,0,0,0,0,0,0,0,0,0,3,240,0,15, - 252,0,62,31,0,56,7,0,112,3,128,96,1,128,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,96,1,192,112,3,128,112,3,128,56,7,0,30, - 30,0,15,252,0,3,240,0,18,26,78,22,2,0,3,152, - 0,7,248,0,6,112,0,0,0,0,0,0,0,0,0,0, - 3,240,0,15,252,0,62,31,0,56,7,0,112,3,128,96, - 1,128,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,96,1,192,112,3,128,112,3,128, - 56,7,0,31,62,0,15,252,0,3,240,0,18,26,78,22, - 2,0,7,28,0,7,28,0,7,28,0,0,0,0,0,0, - 0,0,0,0,3,240,0,15,252,0,62,31,0,56,7,0, - 112,3,128,96,1,128,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,96,1,192,112,3, - 128,112,3,128,56,7,0,30,30,0,15,252,0,3,240,0, - 16,15,30,28,6,1,64,2,224,7,112,14,56,28,12,56, - 6,96,3,192,1,128,3,192,6,96,12,48,24,24,48,12, - 96,6,64,2,18,24,72,22,2,254,0,0,128,0,1,192, - 3,251,128,15,255,0,62,31,0,56,15,128,112,31,128,96, - 29,128,224,57,192,224,113,192,224,113,192,224,225,192,225,193, - 192,227,193,192,227,129,192,231,1,128,111,3,128,126,3,128, - 60,7,0,62,30,0,63,252,0,115,240,0,224,0,0,96, - 0,0,16,28,56,20,2,0,14,0,7,0,3,0,1,128, - 0,128,0,0,0,0,0,0,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,96,14,112,14,62,124,31,248,15,224, - 16,28,56,20,2,0,0,112,0,224,0,192,1,128,1,0, - 0,0,0,0,0,0,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,96,14,112,14,62,124,31,248,15,224,16,28, - 56,20,2,0,3,192,3,192,7,224,6,96,12,48,0,0, - 0,0,0,0,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,96,14,112,14,62,124,31,248,15,224,16,26,52,20, - 2,0,14,56,14,56,14,56,0,0,0,0,0,0,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,96,6,112,14, - 60,60,31,248,15,224,17,27,81,19,1,0,0,112,0,0, - 96,0,0,192,0,0,128,0,1,128,0,0,0,0,0,0, - 0,224,3,128,240,7,0,112,7,0,56,14,0,60,28,0, - 28,28,0,14,56,0,14,48,0,7,112,0,7,96,0,3, - 224,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,14,20,40, - 17,2,0,224,0,224,0,224,0,224,0,255,192,255,240,224, - 120,224,56,224,28,224,28,224,28,224,56,224,120,255,240,255, - 192,224,0,224,0,224,0,224,0,224,0,14,20,40,15,1, - 0,15,128,63,224,112,112,224,112,224,112,224,112,225,224,227, - 128,231,0,231,0,227,128,227,224,224,248,224,56,224,28,224, - 28,238,28,230,28,231,248,225,240,12,21,42,15,1,0,12, - 0,14,0,6,0,3,0,1,128,0,0,0,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,12,22,44,15,1,0,1, - 192,1,128,3,0,3,0,6,0,12,0,0,0,0,0,31, - 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, - 112,224,112,224,112,224,240,127,176,30,48,12,22,44,15,1, - 0,7,0,15,0,13,128,29,128,24,192,48,64,0,0,0, - 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, - 112,224,112,224,112,224,112,224,240,127,176,30,48,12,20,40, - 15,1,0,30,64,31,192,49,128,0,0,0,0,0,0,31, - 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, - 112,224,112,224,112,224,240,127,176,30,48,12,20,40,15,1, - 0,56,224,56,224,56,224,0,0,0,0,0,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,12,23,46,15,1,0,15, - 0,25,128,16,128,16,128,25,128,15,0,0,0,0,0,0, - 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, - 112,224,112,224,112,224,112,224,240,127,176,30,48,23,14,42, - 25,1,0,31,131,240,63,207,248,112,108,28,112,56,12,0, - 56,14,15,255,254,63,255,254,120,56,0,224,56,0,224,56, - 14,224,120,12,240,236,28,127,199,248,31,3,240,12,21,42, - 14,1,249,31,128,63,224,112,112,224,112,224,112,224,0,224, - 0,224,0,224,0,224,112,224,112,112,224,63,224,31,128,4, - 0,7,128,7,192,0,96,0,96,31,192,15,0,13,22,44, - 15,1,0,56,0,28,0,12,0,6,0,6,0,3,0,0, - 0,0,0,15,128,63,224,112,112,96,48,224,56,255,248,255, - 248,224,0,224,0,224,56,96,112,112,112,63,224,15,128,13, - 22,44,15,1,0,1,192,1,128,3,128,3,0,6,0,4, - 0,0,0,0,0,15,128,63,224,112,112,96,48,224,56,255, - 248,255,248,224,0,224,0,224,56,96,112,112,112,63,224,15, - 128,13,22,44,15,1,0,7,0,15,0,15,128,25,128,24, - 192,48,64,0,0,0,0,15,128,63,224,112,112,96,48,224, - 56,255,248,255,248,224,0,224,0,224,56,96,112,112,112,63, - 224,15,128,13,20,40,15,1,0,56,224,56,224,56,224,0, - 0,0,0,0,0,15,192,63,224,112,112,96,56,224,56,255, - 248,255,248,224,0,224,0,224,56,96,56,112,112,63,224,15, - 128,5,21,21,7,0,0,224,96,48,48,24,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,5,21,21,7, - 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,8,21,21,7,255,0,60,62,118, - 99,193,0,0,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,8,20,20,7,255,0,227,227,227,0,0,0,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,14,20,40,16, - 1,0,48,32,57,224,15,0,31,128,113,192,0,224,15,240, - 63,240,120,120,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,96,56,112,112,63,224,15,192,12,20,40,16,2,0, - 28,192,63,192,51,128,0,0,0,0,0,0,239,128,255,224, - 240,240,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,14,22,44,16,1,0,28,0, - 12,0,14,0,6,0,3,0,1,0,0,0,0,0,15,192, - 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,112,56,112,112,63,224,15,192,14,22,44,16,1,0, - 0,224,1,192,1,128,3,0,3,0,6,0,0,0,0,0, - 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, - 224,28,224,24,112,56,112,112,63,224,15,192,14,22,44,16, - 1,0,7,0,7,128,15,128,12,192,24,192,24,96,0,0, - 0,0,15,192,63,224,112,112,112,56,224,24,224,28,224,28, - 224,28,224,28,224,24,112,56,112,112,63,224,15,192,14,20, - 40,16,1,0,14,96,31,192,17,128,0,0,0,0,0,0, - 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, - 224,28,224,24,112,56,112,112,63,224,15,192,14,20,40,16, - 1,0,28,224,28,224,28,224,0,0,0,0,0,0,15,192, - 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,112,56,112,112,63,224,15,192,17,12,36,29,6,2, - 1,192,0,1,192,0,1,192,0,0,0,0,0,0,0,255, - 255,128,255,255,128,0,0,0,0,0,0,1,192,0,1,192, - 0,1,192,0,14,18,36,16,1,254,0,8,0,24,15,248, - 63,240,112,112,112,248,225,216,225,152,227,28,230,28,238,28, - 236,24,120,56,112,112,127,224,111,192,192,0,128,0,12,22, - 44,16,2,0,56,0,24,0,12,0,12,0,6,0,3,0, - 0,0,0,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,240,240,127,240,63,112, - 12,22,44,16,2,0,1,192,1,128,3,0,7,0,6,0, - 12,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, - 63,112,12,22,44,16,2,0,6,0,15,0,15,0,25,128, - 16,128,48,192,0,0,0,0,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,240,240, - 127,240,63,112,12,20,40,16,2,0,57,192,57,192,57,192, - 0,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, - 63,112,13,27,54,15,1,251,0,224,1,192,1,128,3,0, - 2,0,0,0,0,0,0,0,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,7,128, - 7,128,7,0,7,0,6,0,238,0,252,0,120,0,14,25, - 50,17,2,251,224,0,224,0,224,0,224,0,224,0,224,0, - 231,192,255,240,240,112,240,56,224,24,224,28,224,28,224,28, - 224,28,224,24,224,56,240,112,255,240,231,192,224,0,224,0, - 224,0,224,0,224,0,14,25,50,14,0,251,28,224,28,224, - 28,224,0,0,0,0,0,0,224,28,112,24,112,56,48,56, - 56,112,56,112,28,96,28,224,14,224,14,192,7,192,7,128, - 3,128,3,128,3,0,7,0,6,0,6,0,14,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=17 h=21 x= 6 y= 9 dx=29 dy= 0 ascent=20 len=48 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20n[596] U8G_SECTION(".progmem.u8g_font_fur20n") = { - 0,38,35,254,249,20,0,0,0,0,42,57,0,20,253,20, - 0,11,11,22,19,4,9,17,0,49,128,27,0,27,0,14, - 0,255,224,142,32,27,0,27,0,49,128,17,0,17,16,48, - 29,6,0,1,128,0,1,128,0,1,128,0,1,128,0,1, - 128,0,1,128,0,1,128,0,255,255,128,255,255,128,1,128, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,5,7,7,8,1,253,56,56,112,112,96,96,224, - 7,2,2,9,1,6,254,254,3,3,3,8,3,0,224,224, - 224,8,21,21,11,2,255,3,6,6,6,4,12,12,12,24, - 24,24,48,48,48,96,96,96,64,192,192,192,13,20,40,16, - 1,0,15,128,63,192,112,224,96,112,96,112,224,48,224,48, - 224,56,224,56,224,56,224,56,224,56,224,56,224,48,224,48, - 96,112,112,112,48,224,63,192,15,128,7,20,20,16,4,0, - 30,62,126,254,206,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,12,20,40,16,2,0,31,128,63,192,112,96, - 112,112,224,112,0,112,0,112,0,112,0,224,1,224,3,192, - 3,128,7,0,14,0,28,0,60,0,120,0,240,0,255,240, - 255,240,13,20,40,16,1,0,15,128,63,224,112,112,112,48, - 224,56,0,56,0,48,0,224,7,192,7,192,0,224,0,112, - 0,56,0,56,224,56,224,56,224,56,112,112,63,224,31,128, - 14,20,40,16,1,0,0,240,1,240,1,240,3,240,7,112, - 6,112,14,112,28,112,24,112,56,112,112,112,96,112,224,112, - 255,252,255,252,0,112,0,112,0,112,0,112,0,112,13,20, - 40,16,1,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,239,128,255,224,240,112,224,112,224,48,0,56,0,56, - 0,56,224,48,224,112,112,224,127,192,31,128,13,20,40,16, - 1,0,15,192,63,224,120,112,112,48,224,56,224,0,224,0, - 231,192,255,224,248,240,224,56,224,56,224,56,224,56,224,56, - 224,56,96,48,48,112,63,224,15,128,12,20,40,16,2,0, - 255,240,255,240,0,112,0,112,0,96,0,224,0,224,1,192, - 1,192,1,128,3,128,3,128,3,0,7,0,7,0,14,0, - 14,0,14,0,28,0,28,0,13,20,40,16,1,0,15,128, - 63,224,112,112,224,48,224,56,224,56,96,48,112,112,31,192, - 31,192,56,96,96,48,224,56,224,56,224,56,224,56,224,56, - 112,112,63,224,15,128,13,20,40,16,1,0,31,192,63,224, - 112,112,224,56,224,56,224,56,224,56,224,56,224,56,112,120, - 63,248,31,56,0,56,0,56,0,56,96,48,96,112,112,224, - 63,192,31,128}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=26 h=29 x= 7 y=16 dx=29 dy= 0 ascent=22 len=96 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =22 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20r[3976] U8G_SECTION(".progmem.u8g_font_fur20r") = { - 0,38,35,254,249,20,5,12,11,23,32,127,251,22,249,20, - 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, - 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, - 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, - 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, - 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, - 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, - 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, - 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, - 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, - 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, - 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, - 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, - 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, - 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, - 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, - 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, - 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, - 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, - 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, - 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, - 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, - 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, - 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, - 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, - 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, - 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, - 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, - 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, - 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, - 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, - 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, - 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, - 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, - 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, - 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, - 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, - 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, - 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, - 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, - 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, - 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, - 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, - 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, - 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, - 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, - 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, - 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, - 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, - 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, - 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, - 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, - 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, - 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, - 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, - 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, - 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, - 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, - 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, - 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, - 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, - 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, - 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, - 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, - 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, - 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, - 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, - 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, - 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, - 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, - 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, - 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, - 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, - 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, - 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, - 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, - 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, - 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, - 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, - 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, - 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, - 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, - 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, - 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, - 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, - 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, - 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, - 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, - 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, - 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, - 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, - 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, - 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, - 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, - 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, - 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, - 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, - 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, - 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, - 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, - 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, - 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, - 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, - 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, - 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, - 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, - 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, - 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, - 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, - 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, - 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, - 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, - 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, - 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, - 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, - 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, - 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, - 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, - 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, - 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, - 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, - 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, - 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, - 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, - 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, - 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, - 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, - 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, - 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, - 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, - 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, - 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, - 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, - 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, - 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, - 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, - 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, - 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, - 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, - 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, - 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, - 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, - 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, - 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, - 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, - 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, - 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, - 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, - 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, - 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, - 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, - 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, - 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, - 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, - 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, - 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, - 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, - 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, - 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, - 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, - 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, - 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, - 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, - 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, - 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, - 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, - 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, - 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, - 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, - 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, - 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, - 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, - 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, - 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, - 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, - 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, - 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, - 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, - 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, - 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, - 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, - 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, - 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, - 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, - 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, - 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, - 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, - 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, - 5,62,14,127,252,224,248,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=31 h=37 x= 8 y=22 dx=34 dy= 0 ascent=36 len=132 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =36 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25[11949] U8G_SECTION(".progmem.u8g_font_fur25") = { - 0,46,45,254,247,25,6,119,15,27,32,255,249,36,247,25, - 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, - 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, - 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, - 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, - 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, - 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, - 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, - 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, - 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, - 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, - 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, - 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, - 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, - 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, - 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, - 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, - 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, - 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, - 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, - 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, - 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, - 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, - 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, - 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, - 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, - 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, - 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, - 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, - 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, - 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, - 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, - 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, - 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, - 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, - 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, - 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, - 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, - 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, - 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, - 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, - 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, - 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, - 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, - 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, - 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, - 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, - 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, - 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, - 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, - 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, - 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, - 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, - 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, - 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, - 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, - 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, - 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, - 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, - 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, - 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, - 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, - 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, - 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, - 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, - 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, - 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, - 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, - 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, - 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, - 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, - 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, - 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, - 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, - 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, - 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, - 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, - 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, - 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, - 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, - 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, - 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, - 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, - 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, - 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, - 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, - 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, - 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, - 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, - 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, - 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, - 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, - 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, - 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, - 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, - 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, - 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, - 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, - 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, - 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, - 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, - 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, - 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, - 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, - 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, - 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, - 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, - 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, - 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, - 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, - 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, - 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, - 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, - 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, - 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, - 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, - 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, - 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, - 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, - 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, - 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, - 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, - 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, - 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, - 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, - 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, - 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, - 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, - 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, - 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, - 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, - 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, - 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, - 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, - 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, - 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, - 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, - 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, - 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, - 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, - 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, - 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, - 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, - 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, - 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, - 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, - 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, - 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, - 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, - 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, - 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, - 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, - 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, - 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, - 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, - 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, - 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, - 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, - 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, - 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, - 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, - 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, - 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, - 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, - 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, - 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, - 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, - 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, - 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, - 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, - 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, - 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, - 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, - 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, - 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, - 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, - 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, - 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, - 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, - 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, - 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, - 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, - 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, - 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, - 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, - 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, - 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, - 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, - 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, - 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, - 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, - 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, - 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, - 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, - 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, - 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, - 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, - 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, - 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, - 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, - 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, - 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, - 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, - 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, - 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, - 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, - 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, - 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, - 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, - 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, - 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, - 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, - 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, - 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, - 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, - 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, - 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, - 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, - 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, - 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, - 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, - 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, - 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, - 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, - 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, - 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, - 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, - 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, - 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, - 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, - 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, - 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, - 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, - 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, - 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, - 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, - 31,1,192,63,231,128,121,255,0,224,62,0,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, - 10,0,0,3,25,25,13,5,249,224,224,224,0,0,0,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,14,26,52,19,2,252,0,48,0,48,0,32,0,96, - 15,224,63,240,124,248,112,220,112,156,241,156,225,128,225,128, - 227,0,227,0,227,0,226,0,246,28,118,28,124,60,60,120, - 63,240,15,192,24,0,24,0,16,0,48,0,17,26,78,19, - 1,0,0,64,0,7,252,0,15,254,0,30,15,0,60,7, - 128,56,3,128,56,0,0,56,0,0,56,0,0,56,0,0, - 255,224,0,255,224,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,255,255,0,255,255,0, - 18,19,57,20,1,6,64,0,128,224,1,192,113,227,128,63, - 255,0,31,62,0,28,14,0,24,6,0,48,3,0,48,3, - 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, - 31,62,0,55,251,0,113,225,128,224,1,192,64,0,128,18, - 25,75,20,1,0,240,1,192,112,3,192,120,3,128,56,7, - 128,60,7,0,28,15,0,30,14,0,254,15,192,255,31,192, - 7,28,0,7,184,0,3,184,0,3,240,0,255,255,192,255, - 255,192,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,12,31,62,16,2,251,31,224,63, - 224,56,32,112,0,112,0,112,0,120,0,124,0,62,0,31, - 128,15,192,63,224,120,240,240,112,224,112,224,112,224,240,241, - 224,127,192,63,128,31,128,7,224,1,224,0,240,0,112,0, - 112,0,112,0,240,65,224,127,192,63,128,10,3,6,10,0, - 22,225,192,225,192,225,192,26,25,100,30,2,1,0,255,192, - 0,3,255,240,0,7,128,120,0,14,0,28,0,28,127,14, - 0,57,255,135,0,115,227,195,0,99,129,225,128,103,128,225, - 128,199,0,0,192,199,0,0,192,199,0,0,192,199,0,0, - 192,199,0,0,192,199,0,0,192,199,0,224,128,99,129,225, - 128,99,195,193,128,49,255,131,0,48,127,7,0,24,0,14, - 0,14,0,28,0,7,128,120,0,1,255,224,0,0,127,128, - 0,12,17,34,14,1,8,31,128,63,192,120,224,96,96,0, - 96,7,224,63,224,56,96,96,96,96,96,96,224,113,224,63, - 96,30,96,0,0,0,0,255,240,13,14,28,19,3,2,14, - 56,28,56,56,112,56,224,112,224,113,192,227,192,227,192,113, - 192,112,224,56,224,24,112,28,56,14,56,18,8,24,21,2, - 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,255,26,25,100,30,2,1, - 0,255,192,0,3,255,240,0,7,128,120,0,14,255,156,0, - 24,255,206,0,48,193,231,0,112,192,99,0,96,192,97,128, - 96,192,97,128,192,192,192,192,192,255,128,192,192,255,128,192, - 192,193,192,192,192,192,192,192,192,192,192,192,192,192,225,128, - 96,192,97,128,96,192,97,128,48,192,99,0,56,0,7,0, - 28,0,14,0,15,0,60,0,7,193,248,0,1,255,224,0, - 0,127,128,0,10,2,4,10,0,22,255,192,255,192,7,7, - 7,11,2,18,56,196,130,130,130,196,120,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,240,255,255,240, - 10,13,26,12,1,13,63,128,127,128,97,192,225,192,1,192, - 3,128,7,128,14,0,28,0,56,0,240,0,255,192,255,192, - 10,14,28,13,2,12,127,128,255,192,193,192,1,192,7,128, - 14,0,15,128,3,192,0,192,192,192,192,192,227,128,127,128, - 62,0,6,6,6,8,2,21,28,60,56,112,96,192,255,16, - 31,62,20,2,250,7,255,31,140,63,140,127,140,255,140,255, - 140,255,140,255,140,255,140,127,140,127,140,31,140,7,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,3,4,4,9,3,10,224,224,224,224,8,9,9, - 9,2,247,32,32,60,62,7,3,135,255,252,5,13,13,10, - 2,12,56,120,248,152,24,24,24,24,24,24,24,24,24,12, - 16,32,14,1,9,31,128,63,192,112,224,224,96,192,112,192, - 48,192,48,192,48,192,112,224,112,112,224,63,192,31,128,0, - 0,0,0,255,240,13,14,28,19,3,2,227,128,225,192,112, - 192,56,224,56,112,28,112,28,56,30,56,28,112,56,112,56, - 224,112,192,225,192,227,128,23,27,81,27,2,0,56,0,192, - 120,1,192,248,1,128,216,3,128,24,3,0,24,7,0,24, - 6,0,24,14,0,24,12,0,24,24,0,24,24,0,24,48, - 0,24,112,0,24,96,112,0,224,112,0,192,240,1,193,176, - 1,129,48,3,131,48,3,6,48,7,12,48,6,15,254,14, - 15,254,12,0,48,24,0,48,24,0,48,48,0,48,23,27, - 81,27,2,0,56,0,224,120,1,192,248,1,128,216,3,128, - 24,3,0,24,7,0,24,6,0,24,14,0,24,12,0,24, - 28,0,24,24,0,24,56,0,24,48,0,24,112,248,0,227, - 252,0,195,142,1,199,6,1,128,6,3,128,14,3,0,12, - 7,0,56,6,0,112,14,0,224,12,3,192,28,7,128,24, - 7,254,48,7,254,24,26,78,27,2,0,0,0,24,127,128, - 56,255,192,112,193,192,96,3,128,224,14,0,192,15,129,192, - 3,193,128,0,195,128,192,199,0,192,198,0,227,142,0,127, - 140,28,62,28,60,0,24,60,0,48,108,0,112,204,0,97, - 204,0,227,140,0,195,12,1,199,255,1,135,255,3,0,12, - 7,0,12,6,0,12,14,0,12,15,25,50,18,2,249,1, - 192,1,192,1,192,0,0,0,0,0,0,1,192,1,192,1, - 192,1,192,3,192,7,128,15,0,62,0,124,0,120,0,240, - 0,224,0,224,0,224,8,240,14,120,60,63,252,31,248,7, - 224,24,35,105,26,1,0,1,192,0,1,224,0,0,224,0, - 0,112,0,0,48,0,0,24,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,60,0,0,124,0,0,126,0,0,254, - 0,0,238,0,0,239,0,1,231,0,1,199,128,3,195,128, - 3,131,192,7,131,192,7,1,192,7,1,224,15,0,224,14, - 0,240,31,255,240,31,255,240,31,255,248,60,0,56,56,0, - 60,120,0,28,112,0,30,112,0,30,240,0,14,224,0,15, - 24,35,105,26,1,0,0,7,128,0,7,0,0,14,0,0, - 12,0,0,28,0,0,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,60,0,0,124,0,0,126,0,0,254,0, - 0,238,0,0,239,0,1,231,0,1,199,128,3,195,128,3, - 131,192,7,131,192,7,1,192,7,1,224,15,0,224,14,0, - 240,31,255,240,31,255,240,31,255,248,60,0,56,56,0,60, - 120,0,28,112,0,30,112,0,30,240,0,14,224,0,15,24, - 35,105,26,1,0,0,60,0,0,124,0,0,110,0,0,230, - 0,0,195,0,1,131,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,60,0,0,124,0,0,126,0,0,254,0,0, - 238,0,0,239,0,1,231,0,1,199,128,3,195,128,3,131, - 192,7,131,192,7,1,192,7,1,224,15,0,224,14,0,240, - 31,255,240,31,255,240,31,255,248,60,0,56,56,0,60,120, - 0,28,112,0,30,112,0,30,240,0,14,224,0,15,24,33, - 99,26,1,0,0,241,128,1,255,0,1,159,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0, - 124,0,0,126,0,0,254,0,0,238,0,0,239,0,1,231, - 0,1,199,128,3,195,128,3,131,192,7,131,192,7,1,192, - 7,1,224,15,0,224,14,0,240,31,255,240,31,255,240,31, - 255,248,60,0,56,56,0,60,120,0,28,112,0,30,112,0, - 30,240,0,14,224,0,15,25,33,132,25,0,0,0,225,192, - 0,0,225,192,0,0,225,192,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0, - 0,0,62,0,0,0,62,0,0,0,127,0,0,0,119,0, - 0,0,247,128,0,0,227,128,0,0,227,192,0,1,227,192, - 0,1,193,192,0,3,193,224,0,3,128,224,0,7,128,240, - 0,7,0,112,0,7,0,112,0,15,255,248,0,15,255,248, - 0,31,255,252,0,28,0,28,0,28,0,30,0,60,0,14, - 0,56,0,14,0,120,0,15,0,112,0,7,0,240,0,7, - 128,24,36,108,25,1,0,0,56,0,0,196,0,0,130,0, - 0,130,0,0,130,0,0,196,0,0,124,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,60,0,0,124,0,0,126, - 0,0,254,0,0,238,0,0,239,0,1,231,0,1,199,128, - 3,195,128,3,131,128,7,131,192,7,129,192,7,1,224,15, - 0,224,14,0,240,31,255,240,31,255,240,31,255,248,60,0, - 56,56,0,60,120,0,60,120,0,28,112,0,30,240,0,14, - 224,0,15,31,25,100,34,1,0,0,7,255,252,0,15,255, - 252,0,15,255,252,0,31,192,0,0,29,192,0,0,61,192, - 0,0,57,192,0,0,121,192,0,0,241,192,0,0,241,192, - 0,1,225,192,0,1,225,255,252,3,193,255,252,3,193,255, - 252,7,129,192,0,7,255,192,0,15,255,192,0,15,255,192, - 0,30,1,192,0,28,1,192,0,60,1,192,0,56,1,192, - 0,120,1,255,254,112,1,255,254,240,1,255,254,19,33,99, - 23,2,249,3,254,0,15,255,128,30,3,192,60,1,192,56, - 0,224,112,0,224,112,0,0,112,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,112,0,0,112,0,224,112,0,224,56, - 1,224,60,1,192,31,7,128,15,255,0,3,252,0,0,64, - 0,0,120,0,0,124,0,0,30,0,0,6,0,0,6,0, - 1,254,0,1,252,0,16,35,70,21,3,0,28,0,14,0, - 7,0,7,0,3,128,1,128,0,0,0,0,0,0,0,0, - 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, - 255,255,16,35,70,21,3,0,0,112,0,240,0,224,1,192, - 1,128,3,0,0,0,0,0,0,0,0,0,255,254,255,254, - 255,254,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,254,255,254,255,254,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,255,255,255,255,255,16,35, - 70,21,3,0,7,192,7,192,14,224,12,96,28,112,24,48, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,254, - 255,254,255,254,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,255,255,255,255,255,16,33,66,21,3,0, - 28,112,28,112,28,112,0,0,0,0,0,0,0,0,0,0, - 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, - 255,255,6,35,35,9,0,0,240,112,56,24,28,12,0,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,6,35,35,9,3, - 0,28,56,48,112,224,192,0,0,0,0,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,9,35,70,9,0,0,30,0,62,0,55,0, - 115,0,99,128,193,128,0,0,0,0,0,0,0,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 10,33,66,10,0,0,225,192,225,192,225,192,0,0,0,0, - 0,0,0,0,0,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,22,25,75,24,0,0,31,252, - 0,31,255,128,31,255,192,28,7,224,28,0,240,28,0,120, - 28,0,120,28,0,60,28,0,60,28,0,28,28,0,28,255, - 240,28,255,240,28,255,240,28,28,0,28,28,0,28,28,0, - 60,28,0,56,28,0,120,28,0,120,28,0,240,28,7,224, - 31,255,192,31,255,128,31,252,0,19,33,99,25,3,0,3, - 204,0,7,252,0,14,248,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,248,0,224,248,0,224,252,0,224, - 254,0,224,254,0,224,239,0,224,239,0,224,231,128,224,231, - 128,224,227,192,224,227,192,224,225,224,224,224,224,224,224,240, - 224,224,120,224,224,120,224,224,60,224,224,60,224,224,30,224, - 224,30,224,224,15,224,224,15,224,224,7,224,224,3,224,224, - 3,224,22,36,108,26,2,0,3,192,0,1,192,0,0,224, - 0,0,96,0,0,112,0,0,56,0,0,24,0,0,0,0, - 0,0,0,0,0,0,0,0,0,3,255,0,15,255,192,31, - 255,224,62,1,240,56,0,112,120,0,120,112,0,56,240,0, - 56,240,0,28,224,0,28,224,0,28,224,0,28,224,0,28, - 224,0,28,224,0,28,240,0,60,112,0,56,112,0,56,120, - 0,120,56,0,112,60,0,240,31,3,224,15,255,192,7,255, - 128,0,252,0,22,36,108,26,2,0,0,15,0,0,14,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,96,0,0, - 0,0,0,0,0,0,0,0,0,0,0,3,255,0,15,255, - 192,31,255,224,62,1,240,56,0,112,120,0,120,112,0,56, - 240,0,56,240,0,28,224,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,240,0,60,112,0,56,112,0, - 56,120,0,120,56,0,112,60,0,240,31,3,224,15,255,192, - 7,255,128,0,252,0,22,36,108,26,2,0,0,120,0,0, - 120,0,0,252,0,0,206,0,1,206,0,3,135,0,3,3, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,255,0, - 15,255,192,31,255,224,62,1,240,56,0,112,120,0,120,112, - 0,56,240,0,56,240,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,224,0,28,224,0,28,240,0,60,112,0,56, - 112,0,56,120,0,120,56,0,112,60,0,240,31,3,224,15, - 255,192,7,255,128,0,252,0,22,33,99,26,2,0,1,243, - 0,3,255,0,3,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,3,255,0,15,255,192,31,255,224,62, - 1,240,56,0,112,120,0,120,112,0,56,240,0,56,240,0, - 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,28, - 224,0,28,240,0,60,112,0,56,112,0,56,120,0,120,56, - 0,112,60,0,240,31,3,224,15,255,192,7,255,128,0,252, - 0,22,33,99,26,2,0,1,195,128,1,195,128,1,195,128, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 255,0,15,255,192,31,255,224,62,1,240,56,0,112,120,0, - 120,112,0,56,240,0,56,240,0,28,224,0,28,224,0,28, - 224,0,28,224,0,28,224,0,28,224,0,28,240,0,60,112, - 0,56,112,0,56,120,0,120,56,0,112,60,0,240,31,3, - 224,15,255,192,7,255,128,0,252,0,18,19,57,34,8,1, - 64,0,128,224,1,192,112,3,128,56,7,0,24,6,0,12, - 12,0,6,24,0,3,48,0,1,224,0,0,192,0,1,224, - 0,3,48,0,6,24,0,12,12,0,24,6,0,48,3,0, - 96,1,128,224,1,192,64,0,128,22,31,93,26,2,253,0, - 0,24,0,0,60,0,0,56,3,255,120,15,255,240,31,255, - 240,62,1,240,56,1,240,120,3,248,112,7,184,240,15,60, - 240,15,60,224,30,28,224,60,28,224,60,28,224,120,28,224, - 240,28,224,224,28,241,224,60,115,192,56,115,128,56,127,128, - 120,63,0,112,62,0,240,31,3,224,63,255,192,63,255,128, - 121,252,0,240,0,0,224,0,0,32,0,0,19,36,108,25, - 3,0,7,0,0,3,128,0,3,128,0,1,192,0,0,224, - 0,0,96,0,0,48,0,0,0,0,0,0,0,0,0,0, - 0,0,0,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,240,0,224,240,1,224,112,1,192,120, - 3,192,62,7,192,63,255,128,31,255,0,3,248,0,19,36, - 108,25,3,0,0,28,0,0,60,0,0,56,0,0,112,0, - 0,96,0,0,192,0,1,192,0,0,0,0,0,0,0,0, - 0,0,0,0,0,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,240,0,224,240,1,224,112,1, - 192,120,3,192,62,7,192,63,255,128,31,255,0,3,248,0, - 19,36,108,25,3,0,0,224,0,1,240,0,1,240,0,3, - 184,0,3,28,0,6,12,0,6,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,240,0,224,240,1,224, - 112,1,192,120,3,192,62,7,192,63,255,128,31,255,0,3, - 248,0,19,33,99,25,3,0,7,14,0,7,14,0,7,14, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,240,0,224,240,1,224,112,1,192,120,3,192,62, - 7,192,63,255,128,31,255,0,3,248,0,21,35,105,23,1, - 0,0,14,0,0,30,0,0,28,0,0,56,0,0,48,0, - 0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 0,120,120,0,112,120,0,240,60,1,224,30,1,224,30,3, - 192,15,3,128,15,7,128,7,135,0,3,143,0,3,206,0, - 1,252,0,1,252,0,0,248,0,0,120,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,16,25,50,21,3,0, - 224,0,224,0,224,0,224,0,255,224,255,252,255,254,224,62, - 224,15,224,7,224,7,224,7,224,7,224,7,224,15,224,62, - 255,254,255,252,255,224,224,0,224,0,224,0,224,0,224,0, - 224,0,17,25,75,19,2,0,7,224,0,31,248,0,126,124, - 0,112,60,0,240,28,0,224,28,0,224,28,0,224,56,0, - 224,248,0,225,224,0,225,192,0,225,192,0,225,224,0,225, - 240,0,224,252,0,224,63,0,224,15,0,224,7,128,224,3, - 128,224,3,128,231,3,128,227,131,128,227,231,128,225,255,0, - 224,124,0,15,27,54,19,2,0,14,0,7,0,3,128,3, - 128,1,192,0,192,0,0,0,0,0,0,15,240,63,252,60, - 60,120,30,112,14,0,14,0,14,15,254,63,254,124,14,112, - 14,224,14,224,30,224,30,240,62,120,238,63,238,15,142,15, - 28,56,19,2,0,0,112,0,224,0,224,1,192,3,128,3, - 0,6,0,0,0,0,0,0,0,15,240,63,252,60,60,120, - 30,112,14,0,14,0,14,15,254,63,254,124,14,112,14,224, - 14,224,30,224,30,240,62,120,238,63,238,15,142,15,28,56, - 19,2,0,3,192,7,192,7,224,14,224,12,112,28,48,24, - 24,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, - 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,15,25,50,19,2, - 0,15,152,31,240,25,224,0,0,0,0,0,0,0,0,15, - 240,63,252,60,60,120,30,112,14,0,14,0,14,15,254,63, - 254,124,14,112,14,224,14,224,30,224,30,240,62,120,238,63, - 238,15,142,15,25,50,19,2,0,28,56,28,56,28,56,0, - 0,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, - 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,15,29,58,19,2, - 0,3,128,12,64,8,32,8,32,8,32,12,64,7,192,0, - 0,0,0,0,0,0,0,15,240,63,252,60,124,120,30,112, - 30,0,30,0,30,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,27,18,72,31,2, - 0,15,224,126,0,63,241,255,0,124,121,199,128,112,31,129, - 192,112,15,1,192,0,15,0,224,0,14,0,224,15,255,255, - 224,63,255,255,224,124,14,0,0,240,14,0,0,224,14,0, - 0,224,31,0,224,224,27,1,192,240,59,131,192,124,241,239, - 128,63,225,255,128,31,192,126,0,14,26,52,18,2,248,15, - 224,63,248,60,120,112,60,112,28,240,28,224,0,224,0,224, - 0,224,0,224,0,224,0,240,28,112,28,112,60,60,120,31, - 240,7,224,1,0,1,224,1,240,0,120,0,24,0,24,7, - 240,7,224,16,28,56,19,2,0,28,0,14,0,14,0,7, - 0,3,128,1,128,0,192,0,0,0,0,0,0,7,224,31, - 248,60,124,120,30,112,14,240,14,224,14,255,254,255,255,224, - 0,224,0,224,0,112,14,112,14,120,30,62,124,31,248,7, - 224,16,28,56,19,2,0,0,120,0,240,0,224,1,192,1, - 128,3,128,3,0,0,0,0,0,0,0,7,224,31,248,60, - 124,120,30,112,14,240,14,224,14,255,254,255,255,224,0,224, - 0,224,0,112,14,112,14,120,30,62,124,31,248,7,224,16, - 28,56,19,2,0,3,192,7,192,7,224,14,224,12,112,24, - 48,24,24,0,0,0,0,0,0,7,224,31,248,60,124,120, - 30,112,14,240,14,224,14,255,254,255,255,224,0,224,0,224, - 0,112,14,112,14,120,30,62,124,31,248,7,224,16,25,50, - 19,2,0,28,56,28,56,28,56,0,0,0,0,0,0,0, - 0,7,224,31,248,60,60,120,14,112,14,240,14,224,6,255, - 254,255,255,224,0,224,0,224,0,112,14,112,14,120,30,62, - 60,31,248,7,224,6,27,27,8,255,0,240,112,56,24,28, - 12,0,0,0,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,6,27,27,8,2,0,28,56,112,112, - 224,192,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,9,27,54,8,255,0,62,0,62, - 0,119,0,115,0,227,128,193,128,0,0,0,0,0,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,10,25,50,8,255,0,227,192,227,192,227,192,0, - 0,0,0,0,0,0,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,17,26,78,21,2, - 0,16,4,0,56,28,0,30,248,0,7,192,0,15,192,0, - 60,240,0,112,120,0,0,60,0,7,252,0,31,254,0,62, - 63,0,120,15,0,112,7,0,240,7,128,240,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,240,7,0, - 112,7,0,120,15,0,62,62,0,31,252,0,7,240,0,15, - 25,50,19,2,0,15,48,31,240,27,224,0,0,0,0,0, - 0,0,0,227,240,239,248,252,124,248,30,240,30,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,17,28,84,21,2,0,14,0,0, - 15,0,0,7,0,0,3,128,0,1,128,0,0,192,0,0, - 224,0,0,0,0,0,0,0,0,0,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,17,28,84,21,2,0,0,56,0,0,120,0,0,112,0, - 0,224,0,0,192,0,1,128,0,3,0,0,0,0,0,0, - 0,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, - 0,112,7,0,240,7,0,240,7,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,7,128,240,7,128,112,7,0,120, - 15,0,62,62,0,31,252,0,7,240,0,17,28,84,21,2, - 0,1,192,0,3,224,0,3,224,0,7,112,0,14,56,0, - 12,24,0,28,28,0,0,0,0,0,0,0,0,0,0,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 0,240,7,128,224,3,128,224,3,128,224,3,128,224,3,128, - 240,7,128,240,7,128,112,7,0,120,15,0,62,62,0,31, - 252,0,7,240,0,17,25,75,21,2,0,7,152,0,15,248, - 0,12,240,0,0,0,0,0,0,0,0,0,0,0,0,0, - 7,240,0,31,252,0,62,62,0,120,15,0,112,7,0,240, - 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, - 128,240,7,128,240,7,128,112,7,0,120,15,0,62,62,0, - 31,252,0,7,240,0,17,25,75,21,2,0,28,56,0,28, - 56,0,28,56,0,0,0,0,0,0,0,0,0,0,0,0, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,240,7,128,240,7,128,112,7,0,120,15,0,62,62, - 0,31,252,0,7,240,0,20,15,45,34,7,3,0,96,0, - 0,240,0,0,240,0,0,96,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,0,0,0,0,0,0,0,96, - 0,0,240,0,0,240,0,0,96,0,17,23,69,21,2,254, - 0,1,0,0,1,128,0,3,128,7,247,0,31,254,0,62, - 62,0,120,31,0,112,63,0,240,55,128,240,119,128,224,227, - 128,225,195,128,225,131,128,227,131,128,231,7,128,254,7,128, - 124,7,0,124,15,0,62,62,0,127,252,0,103,240,0,224, - 0,0,192,0,0,15,28,56,19,2,0,28,0,30,0,14, - 0,7,0,3,0,1,128,1,128,0,0,0,0,0,0,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,240,30,124,126,63, - 238,31,142,15,28,56,19,2,0,0,112,0,240,0,224,1, - 192,1,128,3,0,7,0,0,0,0,0,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,30,124,126,63,238,31, - 142,15,28,56,19,2,0,3,128,7,192,7,192,14,224,12, - 96,24,48,24,48,0,0,0,0,0,0,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,240,30,240,30,124,126,63,238,31,142,15, - 25,50,19,2,0,56,112,56,112,56,112,0,0,0,0,0, - 0,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,240,30,240, - 62,124,126,63,238,31,142,16,34,68,18,1,249,0,56,0, - 112,0,96,0,224,1,192,1,128,0,0,0,0,0,0,224, - 7,240,7,112,15,112,14,120,14,56,30,60,28,28,28,28, - 60,30,56,14,120,15,112,7,112,7,240,7,224,3,224,3, - 224,1,192,1,192,3,128,3,128,231,128,255,0,127,0,62, - 0,16,32,64,20,2,249,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,227,240,231,248,254,60,248,30,240,14,240, - 15,224,7,224,7,224,7,224,7,224,7,224,7,240,15,240, - 14,248,30,254,124,239,248,227,240,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,16,32,64,18,1,249,28,56,28, - 56,28,56,0,0,0,0,0,0,0,0,224,7,224,7,240, - 15,112,14,120,14,56,30,60,28,60,28,28,56,30,56,14, - 120,15,112,15,112,7,240,7,224,3,224,3,192,3,192,3, - 192,3,128,3,128,7,128,7,0,7,0,15,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=20 h=28 x= 7 y=12 dx=34 dy= 0 ascent=26 len=75 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25n[774] U8G_SECTION(".progmem.u8g_font_fur25n") = { - 0,46,45,254,247,25,0,0,0,0,42,57,0,26,252,25, - 0,14,13,26,22,4,12,24,96,28,224,28,224,12,192,7, - 128,243,60,255,252,231,156,7,128,12,192,28,224,60,224,24, - 96,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,6,9,9,9,2,252,60,120,120,112, - 112,224,224,224,192,8,3,3,10,1,7,255,255,255,3,4, - 4,9,3,0,224,224,224,224,10,28,56,13,2,254,0,192, - 1,192,1,128,1,128,3,128,3,0,3,0,3,0,7,0, - 6,0,6,0,14,0,12,0,12,0,28,0,28,0,24,0, - 24,0,56,0,48,0,48,0,112,0,112,0,96,0,96,0, - 224,0,192,0,192,0,15,25,50,19,2,1,15,224,63,248, - 62,248,120,60,112,28,112,30,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,240,14, - 112,30,112,28,120,28,60,60,63,248,31,240,7,192,8,25, - 25,19,5,0,15,31,63,127,255,231,135,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,15,25,50, - 19,2,1,15,240,63,248,62,252,120,28,120,30,112,14,240, - 14,0,14,0,30,0,28,0,60,0,120,0,120,0,240,1, - 224,3,192,7,128,15,0,31,0,62,0,60,0,120,0,240, - 0,255,254,255,254,16,25,50,19,2,1,15,240,63,248,60, - 28,120,14,112,14,112,14,0,14,0,14,0,28,0,120,3, - 240,3,240,0,248,0,30,0,14,0,15,0,7,0,7,240, - 7,240,7,240,14,120,30,60,124,31,248,7,224,17,25,75, - 19,1,0,0,60,0,0,124,0,0,124,0,0,252,0,1, - 220,0,1,220,0,3,156,0,7,28,0,7,28,0,14,28, - 0,28,28,0,60,28,0,56,28,0,112,28,0,240,28,0, - 224,28,0,255,255,128,255,255,128,255,255,128,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,15,25, - 50,19,2,0,127,252,127,252,127,252,112,0,112,0,112,0, - 112,0,112,0,115,240,127,248,124,60,120,28,112,30,96,14, - 0,14,0,14,0,14,0,14,0,14,224,30,240,28,112,60, - 124,120,63,240,15,192,16,25,50,19,1,1,15,240,31,252, - 60,28,120,30,112,14,240,14,224,0,224,0,224,0,227,240, - 231,252,239,252,252,30,248,14,240,15,240,7,240,7,240,7, - 240,7,112,7,120,14,56,14,62,60,15,248,7,224,15,25, - 50,19,2,0,255,254,255,254,0,14,0,30,0,28,0,28, - 0,60,0,56,0,56,0,120,0,112,0,240,0,240,0,224, - 1,224,1,224,1,192,3,192,3,128,7,128,7,128,7,0, - 15,0,15,0,14,0,16,25,50,19,1,1,15,240,63,252, - 60,60,120,30,112,14,112,14,112,14,112,14,56,28,60,60, - 15,240,15,240,62,56,56,28,112,14,224,7,224,7,224,7, - 224,7,224,7,240,15,120,14,60,60,31,248,7,224,16,25, - 50,19,2,1,31,248,63,252,120,30,112,14,240,15,224,15, - 224,15,224,15,224,15,240,15,112,31,120,63,63,247,15,231, - 0,7,0,7,0,7,0,14,112,14,112,14,112,30,112,60, - 60,120,31,240,15,224}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=31 h=37 x= 8 y=21 dx=34 dy= 0 ascent=28 len=120 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25r[5389] U8G_SECTION(".progmem.u8g_font_fur25r") = { - 0,46,45,254,247,25,6,119,15,27,32,127,249,28,247,25, - 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, - 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, - 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, - 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, - 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, - 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, - 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, - 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, - 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, - 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, - 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, - 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, - 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, - 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, - 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, - 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, - 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, - 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, - 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, - 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, - 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, - 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, - 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, - 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, - 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, - 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, - 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, - 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, - 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, - 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, - 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, - 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, - 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, - 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, - 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, - 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, - 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, - 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, - 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, - 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, - 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, - 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, - 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, - 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, - 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, - 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, - 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, - 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, - 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, - 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, - 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, - 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, - 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, - 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, - 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, - 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, - 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, - 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, - 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, - 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, - 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, - 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, - 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, - 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, - 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, - 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, - 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, - 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, - 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, - 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, - 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, - 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, - 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, - 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, - 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, - 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, - 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, - 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, - 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, - 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, - 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, - 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, - 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, - 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, - 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, - 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, - 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, - 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, - 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, - 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, - 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, - 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, - 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, - 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, - 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, - 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, - 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, - 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, - 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, - 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, - 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, - 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, - 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, - 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, - 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, - 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, - 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, - 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, - 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, - 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, - 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, - 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, - 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, - 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, - 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, - 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, - 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, - 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, - 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, - 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, - 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, - 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, - 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, - 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, - 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, - 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, - 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, - 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, - 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, - 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, - 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, - 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, - 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, - 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, - 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, - 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, - 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, - 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, - 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, - 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, - 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, - 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, - 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, - 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, - 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, - 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, - 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, - 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, - 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, - 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, - 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, - 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, - 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, - 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, - 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, - 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, - 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, - 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, - 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, - 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, - 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, - 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, - 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, - 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, - 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, - 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, - 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, - 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, - 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, - 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, - 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, - 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, - 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, - 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, - 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, - 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, - 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, - 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, - 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, - 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, - 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, - 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, - 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, - 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, - 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, - 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, - 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, - 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, - 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, - 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, - 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, - 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, - 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, - 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, - 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, - 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, - 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, - 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, - 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, - 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, - 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, - 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, - 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, - 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, - 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, - 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, - 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, - 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, - 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, - 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, - 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, - 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, - 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, - 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, - 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, - 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, - 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, - 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, - 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, - 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, - 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, - 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, - 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, - 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, - 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, - 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, - 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, - 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, - 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, - 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, - 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, - 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, - 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, - 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, - 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, - 31,1,192,63,231,128,121,255,0,224,62,0,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=37 h=43 x=10 y=26 dx=40 dy= 0 ascent=43 len=185 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =43 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30[16505] U8G_SECTION(".progmem.u8g_font_fur30") = { - 0,54,54,253,245,30,9,94,20,223,32,255,249,43,245,31, - 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, - 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, - 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, - 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, - 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, - 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, - 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, - 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, - 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, - 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, - 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, - 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, - 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, - 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, - 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, - 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, - 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, - 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, - 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, - 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, - 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, - 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, - 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, - 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, - 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, - 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, - 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, - 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, - 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, - 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, - 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, - 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, - 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, - 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, - 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, - 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, - 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, - 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, - 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, - 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, - 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, - 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, - 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, - 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, - 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, - 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, - 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, - 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, - 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, - 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, - 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, - 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, - 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, - 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, - 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, - 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, - 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, - 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, - 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, - 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, - 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, - 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, - 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, - 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, - 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, - 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, - 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, - 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, - 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, - 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, - 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, - 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, - 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, - 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, - 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, - 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, - 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, - 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, - 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, - 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, - 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, - 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, - 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, - 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, - 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, - 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, - 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, - 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, - 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, - 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, - 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, - 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, - 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, - 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, - 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, - 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, - 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, - 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, - 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, - 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, - 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, - 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, - 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, - 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, - 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, - 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, - 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, - 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, - 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, - 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, - 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, - 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, - 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, - 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, - 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, - 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, - 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, - 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, - 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, - 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, - 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, - 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, - 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, - 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, - 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, - 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, - 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, - 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, - 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, - 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, - 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, - 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, - 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, - 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, - 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, - 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, - 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, - 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, - 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, - 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, - 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, - 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, - 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, - 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, - 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, - 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, - 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, - 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, - 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, - 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, - 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, - 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, - 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, - 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, - 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, - 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, - 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, - 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, - 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, - 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, - 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, - 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, - 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, - 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, - 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, - 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, - 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, - 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, - 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, - 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, - 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, - 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, - 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, - 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, - 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, - 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, - 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, - 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, - 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, - 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, - 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, - 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, - 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, - 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, - 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, - 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, - 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, - 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, - 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, - 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, - 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, - 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, - 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, - 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, - 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, - 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, - 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, - 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, - 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, - 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, - 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, - 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, - 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, - 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, - 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, - 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, - 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, - 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, - 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, - 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, - 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, - 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, - 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, - 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, - 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, - 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, - 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, - 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, - 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, - 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, - 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, - 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, - 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, - 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, - 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, - 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, - 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, - 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, - 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, - 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, - 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, - 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, - 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, - 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, - 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, - 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, - 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, - 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, - 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, - 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, - 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, - 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, - 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, - 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, - 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, - 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, - 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, - 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, - 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, - 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, - 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, - 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, - 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, - 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, - 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, - 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, - 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, - 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, - 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, - 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, - 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, - 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, - 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, - 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, - 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, - 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, - 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, - 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, - 240,15,128,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,12,0,0,4,28,28,14,5,248, - 240,240,240,240,0,0,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,17,31,93,23, - 3,250,0,12,0,0,12,0,0,24,0,0,24,0,0,24, - 0,15,248,0,63,254,0,62,63,0,120,119,0,120,103,0, - 240,103,128,240,96,0,240,192,0,240,192,0,240,192,0,241, - 128,0,241,128,0,241,128,0,243,7,128,243,7,128,123,7, - 0,126,15,0,62,30,0,31,254,0,15,248,0,12,0,0, - 12,0,0,28,0,0,24,0,0,24,0,0,8,0,0,20, - 31,93,23,2,0,0,16,0,1,255,0,7,255,192,15,135, - 224,15,1,224,30,0,240,30,0,240,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,248,0,255,248,0,255, - 248,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,255,224,255,255,224,255, - 255,224,21,22,66,25,2,7,192,0,24,224,0,56,96,48, - 48,51,254,96,63,255,224,31,7,192,28,1,192,24,0,192, - 56,0,224,48,0,96,48,0,96,48,0,96,48,0,96,56, - 0,224,24,0,192,28,1,192,14,3,128,31,255,192,59,254, - 224,112,248,112,224,0,56,192,0,24,21,30,90,23,1,0, - 240,0,120,248,0,120,120,0,240,124,0,240,60,1,240,62, - 1,224,30,1,224,30,3,192,15,3,192,15,7,128,255,135, - 248,255,143,248,255,207,248,3,207,0,1,254,0,1,252,0, - 255,255,248,255,255,248,255,255,248,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,2,38,38,14,6,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 0,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,15,37,74,19,2,250,15,248,31,248, - 62,24,60,0,120,0,120,0,120,0,120,0,60,0,63,0, - 31,128,15,224,15,240,63,248,124,124,120,62,240,30,240,30, - 240,30,240,60,248,120,127,240,63,224,31,224,7,240,1,248, - 0,124,0,60,0,30,0,30,0,30,0,28,0,60,96,248, - 127,240,127,224,3,0,12,4,8,12,0,26,240,240,240,240, - 240,240,240,240,30,30,120,34,2,1,0,63,240,0,0,255, - 252,0,3,240,63,0,7,128,7,128,15,0,3,192,28,3, - 0,224,56,63,240,112,56,127,248,112,112,248,124,56,97,240, - 30,24,97,224,30,24,225,224,30,28,195,192,0,12,195,192, - 0,12,195,192,0,12,195,192,0,12,195,192,0,12,195,192, - 0,12,193,192,30,12,97,224,30,24,97,224,30,24,96,240, - 60,56,48,255,252,48,56,63,248,112,28,15,224,224,14,0, - 1,192,7,0,3,128,3,192,15,0,1,255,252,0,0,63, - 240,0,14,19,38,16,1,11,15,192,63,240,56,120,112,56, - 0,56,0,56,15,248,63,248,120,56,224,56,224,56,224,120, - 240,248,127,184,31,56,0,0,0,0,255,252,255,252,16,16, - 32,22,3,2,7,7,15,14,14,14,28,28,60,60,56,120, - 120,112,240,240,240,240,120,112,56,120,60,60,28,28,14,14, - 15,14,7,7,21,10,30,25,2,8,255,255,248,255,255,248, - 255,255,248,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,255,30,30,120,34,2,1,0, - 63,240,0,0,255,252,0,3,240,63,0,7,128,7,128,14, - 0,1,192,28,127,240,224,56,127,248,112,48,127,252,48,112, - 112,30,56,96,112,14,24,96,112,14,24,192,112,14,12,192, - 112,28,12,192,127,248,12,192,127,240,12,192,127,248,12,192, - 112,28,12,192,112,28,12,192,112,28,12,96,112,12,24,96, - 112,12,24,112,112,14,56,48,112,14,48,56,112,14,112,28, - 0,0,224,14,0,1,192,7,128,7,128,3,240,63,0,1, - 255,252,0,0,63,240,0,12,3,6,12,0,26,255,240,255, - 240,255,240,9,9,18,13,2,21,62,0,127,0,227,128,193, - 128,193,128,193,128,227,128,127,0,62,0,24,24,72,40,8, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,255,255,255,255,255,255,255,255,255,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,12,16,32,14,1,15,31, - 192,127,224,120,240,112,112,224,112,0,112,0,224,1,224,3, - 192,7,128,14,0,60,0,120,0,255,240,255,240,255,240,12, - 16,32,14,1,15,63,192,127,224,112,240,96,112,0,112,0, - 240,7,224,7,128,7,224,0,240,0,112,224,112,224,112,127, - 224,127,192,31,128,8,7,7,9,2,25,15,30,28,56,56, - 112,224,255,18,36,108,22,2,250,3,255,192,15,255,192,63, - 195,0,127,195,0,127,195,0,255,195,0,255,195,0,255,195, - 0,255,195,0,255,195,0,255,195,0,127,195,0,127,195,0, - 63,195,0,15,195,0,0,195,0,0,195,0,0,195,0,0, - 195,0,0,195,0,0,195,0,0,195,0,0,195,0,0,195, - 0,0,195,0,0,195,0,0,195,0,0,195,0,0,195,0, - 0,195,0,0,195,0,0,195,0,0,195,0,0,195,0,0, - 195,0,0,195,0,4,5,5,10,3,11,240,240,240,240,240, - 10,10,20,10,2,246,48,0,48,0,62,0,63,128,7,128, - 1,192,1,192,3,192,255,128,254,0,7,16,16,12,2,14, - 30,62,254,238,142,14,14,14,14,14,14,14,14,14,14,14, - 14,19,38,16,1,10,15,192,63,224,120,112,112,56,224,56, - 224,28,224,28,224,28,224,28,224,28,224,56,112,56,56,112, - 31,224,7,128,0,0,0,0,255,252,255,252,16,16,32,22, - 3,2,224,224,112,112,120,120,56,56,28,60,30,30,15,14, - 15,15,15,15,15,14,30,30,28,60,56,56,120,120,112,112, - 224,224,28,30,120,32,2,0,30,0,12,0,62,0,28,0, - 254,0,56,0,238,0,56,0,142,0,112,0,14,0,112,0, - 14,0,224,0,14,0,192,0,14,1,192,0,14,3,128,0, - 14,3,128,0,14,7,0,0,14,7,0,0,14,14,0,0, - 14,12,7,128,14,28,7,128,0,56,15,128,0,56,31,128, - 0,112,27,128,0,112,59,128,0,224,115,128,0,224,99,128, - 1,192,195,128,1,129,195,128,3,129,255,240,7,1,255,240, - 7,0,3,128,14,0,3,128,14,0,3,128,28,0,3,128, - 28,30,120,32,2,0,30,0,28,0,62,0,28,0,254,0, - 56,0,238,0,56,0,142,0,112,0,14,0,112,0,14,0, - 224,0,14,0,224,0,14,1,192,0,14,3,128,0,14,3, - 128,0,14,7,0,0,14,7,0,0,14,14,0,0,14,14, - 31,128,14,28,63,224,0,56,121,224,0,56,112,112,0,112, - 240,112,0,112,0,112,0,224,0,240,0,224,0,224,1,192, - 3,192,1,128,7,128,3,128,15,0,7,0,60,0,7,0, - 120,0,14,0,255,240,14,0,255,240,28,0,255,240,30,31, - 124,32,1,0,0,0,1,192,63,192,3,128,127,224,3,128, - 112,240,7,0,96,112,6,0,0,112,14,0,0,240,28,0, - 7,224,28,0,7,128,56,0,7,224,56,0,0,240,112,0, - 0,112,112,0,224,112,224,0,224,113,192,0,127,225,192,0, - 127,195,129,224,31,131,129,224,0,7,3,224,0,7,7,224, - 0,14,6,224,0,12,12,224,0,28,28,224,0,56,24,224, - 0,56,48,224,0,112,112,224,0,112,127,252,0,224,127,252, - 0,224,0,224,1,192,0,224,1,128,0,224,3,128,0,224, - 17,28,84,21,2,248,0,240,0,0,240,0,0,240,0,0, - 240,0,0,0,0,0,0,0,0,0,0,0,240,0,0,240, - 0,0,240,0,0,240,0,1,240,0,1,224,0,7,192,0, - 15,128,0,31,0,0,60,0,0,120,0,0,240,0,0,240, - 0,0,240,0,0,240,3,0,240,3,128,124,15,128,127,255, - 0,63,254,0,31,252,0,3,240,0,28,41,164,30,1,0, - 0,240,0,0,0,240,0,0,0,120,0,0,0,56,0,0, - 0,28,0,0,0,14,0,0,0,14,0,0,0,7,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0, - 0,31,128,0,0,31,128,0,0,63,192,0,0,63,192,0, - 0,127,192,0,0,121,224,0,0,121,224,0,0,241,240,0, - 0,240,240,0,1,240,240,0,1,224,248,0,1,224,120,0, - 3,224,124,0,3,192,60,0,7,192,60,0,7,128,62,0, - 7,128,30,0,15,128,31,0,15,255,255,0,31,255,255,128, - 31,255,255,128,30,0,7,128,60,0,3,192,60,0,3,192, - 124,0,3,224,120,0,1,224,120,0,1,224,240,0,0,240, - 240,0,0,240,28,41,164,30,1,0,0,0,240,0,0,0, - 240,0,0,1,224,0,0,1,192,0,0,3,128,0,0,7, - 0,0,0,7,0,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,15,0,0,0,31,128,0,0,31, - 128,0,0,63,192,0,0,63,192,0,0,127,192,0,0,121, - 224,0,0,121,224,0,0,241,240,0,0,240,240,0,1,240, - 240,0,1,224,248,0,1,224,120,0,3,224,124,0,3,192, - 60,0,7,192,60,0,7,128,62,0,7,128,30,0,15,128, - 31,0,15,255,255,0,31,255,255,128,31,255,255,128,30,0, - 7,128,60,0,3,192,60,0,3,192,124,0,3,224,120,0, - 1,224,120,0,1,224,240,0,0,240,240,0,0,240,28,41, - 164,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,57,192,0,0,112,224,0,0,96,96,0, - 0,224,112,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,15,0,0,0,31,128,0,0,31,128,0,0,63,192,0, - 0,63,192,0,0,127,192,0,0,121,224,0,0,121,224,0, - 0,241,240,0,0,240,240,0,1,240,240,0,1,224,248,0, - 1,224,120,0,3,224,124,0,3,192,60,0,7,192,60,0, - 7,128,62,0,7,128,30,0,15,128,31,0,15,255,255,0, - 31,255,255,128,31,255,255,128,30,0,7,128,60,0,3,192, - 60,0,3,192,124,0,3,224,120,0,1,224,120,0,1,224, - 240,0,0,240,240,0,0,240,28,39,156,30,1,0,0,16, - 48,0,0,126,112,0,0,127,224,0,0,231,224,0,0,192, - 128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,15,0,0,0,31,128,0,0,31,128,0,0,63, - 192,0,0,63,192,0,0,127,192,0,0,121,224,0,0,121, - 224,0,0,241,240,0,0,240,240,0,1,240,240,0,1,224, - 248,0,1,224,120,0,3,224,124,0,3,192,60,0,7,192, - 60,0,7,128,62,0,7,128,30,0,15,128,31,0,15,255, - 255,0,31,255,255,128,31,255,255,128,30,0,7,128,60,0, - 3,192,60,0,3,192,124,0,3,224,120,0,1,224,120,0, - 1,224,240,0,0,240,240,0,0,240,29,39,156,30,1,0, - 0,120,120,0,0,120,120,0,0,120,120,0,0,120,120,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,128,0,0,15,128,0,0,31,128,0, - 0,31,192,0,0,63,192,0,0,61,224,0,0,125,224,0, - 0,121,240,0,0,120,240,0,0,240,240,0,0,240,248,0, - 1,240,120,0,1,224,124,0,1,224,60,0,3,224,60,0, - 3,192,62,0,7,192,30,0,7,128,31,0,7,128,15,0, - 15,255,255,128,15,255,255,128,31,255,255,128,30,0,3,192, - 30,0,3,192,60,0,3,224,60,0,1,224,120,0,1,224, - 120,0,0,240,120,0,0,240,240,0,0,248,28,43,172,30, - 1,0,0,14,0,0,0,63,0,0,0,49,128,0,0,96, - 192,0,0,96,192,0,0,96,192,0,0,96,192,0,0,49, - 128,0,0,63,128,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,31,0,0,0,31,0,0,0,31, - 128,0,0,63,128,0,0,63,192,0,0,123,192,0,0,123, - 192,0,0,121,224,0,0,241,224,0,0,241,240,0,1,224, - 240,0,1,224,248,0,1,224,120,0,3,192,120,0,3,192, - 124,0,7,192,60,0,7,128,62,0,15,128,30,0,15,0, - 30,0,15,255,255,0,31,255,255,0,31,255,255,128,60,0, - 7,128,60,0,7,192,60,0,3,192,120,0,3,192,120,0, - 1,224,240,0,1,224,240,0,1,240,240,0,0,240,37,30, - 150,39,0,0,0,1,255,255,240,0,1,255,255,240,0,3, - 255,255,240,0,3,255,255,240,0,7,252,0,0,0,7,188, - 0,0,0,15,188,0,0,0,15,60,0,0,0,31,60,0, - 0,0,30,60,0,0,0,62,60,0,0,0,60,60,0,0, - 0,124,60,0,0,0,120,63,255,240,0,248,63,255,240,0, - 240,63,255,240,1,240,63,255,240,1,224,60,0,0,3,224, - 60,0,0,3,255,252,0,0,7,255,252,0,0,7,255,252, - 0,0,15,0,60,0,0,31,0,60,0,0,30,0,60,0, - 0,62,0,60,0,0,60,0,63,255,248,124,0,63,255,248, - 120,0,63,255,248,248,0,63,255,248,22,40,120,26,2,247, - 1,255,128,7,255,224,15,255,240,31,0,248,62,0,120,60, - 0,60,120,0,60,120,0,60,120,0,0,112,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,112, - 0,0,120,0,60,120,0,60,60,0,60,60,0,120,31,0, - 248,15,255,240,7,255,224,3,255,128,0,48,0,0,48,0, - 0,62,0,0,63,128,0,63,192,0,1,192,0,1,192,0, - 1,192,0,255,128,0,254,0,19,41,123,24,3,0,30,0, - 0,15,0,0,7,0,0,3,128,0,3,128,0,1,192,0, - 0,224,0,0,96,0,0,0,0,0,0,0,0,0,0,255, - 255,192,255,255,192,255,255,192,255,255,192,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,255,255,192,255,255,192,255,255,192,255, - 255,192,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,255,255,224, - 255,255,224,255,255,224,255,255,224,19,41,123,24,3,0,0, - 30,0,0,60,0,0,56,0,0,120,0,0,240,0,0,224, - 0,1,192,0,1,128,0,0,0,0,0,0,0,0,0,0, - 255,255,192,255,255,192,255,255,192,255,255,192,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 255,255,192,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,19,41,123,24,3,0, - 1,224,0,3,240,0,7,240,0,7,120,0,15,56,0,14, - 28,0,28,28,0,24,14,0,0,0,0,0,0,0,0,0, - 0,255,255,192,255,255,192,255,255,192,255,255,192,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,255,255,192,255,255,192,255,255, - 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,19,39,117,24,3, - 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,192,255, - 255,192,255,255,192,255,255,192,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,255,255,192,255,255,192,255,255,192,255,255,192,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,255,255,224,255,255,224, - 255,255,224,255,255,224,8,41,41,10,255,0,240,120,56,28, - 30,14,7,3,0,0,0,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,7,41,41,10,3,0,30,30,60,56,112, - 112,224,192,0,0,0,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,12,41,82,10,255,0,15,0,31,0,31,128, - 63,128,57,192,112,224,96,224,224,112,0,0,0,0,0,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,12,39,78,11, - 0,0,240,240,240,240,240,240,240,240,0,0,0,0,0,0, - 0,0,0,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 26,30,120,28,0,0,31,255,0,0,31,255,224,0,31,255, - 248,0,31,255,252,0,30,0,254,0,30,0,63,0,30,0, - 31,0,30,0,15,128,30,0,7,128,30,0,7,128,30,0, - 3,192,30,0,3,192,30,0,3,192,30,0,3,192,255,252, - 3,192,255,252,3,192,255,252,3,192,30,0,3,192,30,0, - 3,192,30,0,3,192,30,0,7,128,30,0,7,128,30,0, - 15,128,30,0,31,0,30,0,63,0,30,0,254,0,31,255, - 252,0,31,255,248,0,31,255,224,0,31,255,0,0,22,39, - 117,28,3,0,0,131,0,3,243,0,7,255,0,7,62,0, - 6,8,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 0,60,252,0,60,254,0,60,254,0,60,255,0,60,255,0, - 60,255,128,60,247,128,60,247,192,60,243,192,60,243,224,60, - 241,224,60,241,240,60,240,240,60,240,248,60,240,120,60,240, - 124,60,240,60,60,240,62,60,240,30,60,240,31,60,240,15, - 60,240,15,188,240,7,188,240,3,252,240,3,252,240,1,252, - 240,1,252,240,0,252,240,0,252,26,41,164,30,2,0,1, - 224,0,0,0,240,0,0,0,120,0,0,0,56,0,0,0, - 28,0,0,0,28,0,0,0,14,0,0,0,7,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,1,255,224,0,3, - 255,240,0,15,255,252,0,31,255,254,0,31,0,62,0,62, - 0,31,0,60,0,15,0,120,0,7,128,120,0,7,128,112, - 0,3,128,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,112,0,3,128,120,0,7,128,120, - 0,7,128,120,0,15,128,60,0,15,0,62,0,31,0,31, - 128,126,0,15,255,252,0,7,255,248,0,3,255,240,0,0, - 255,192,0,26,41,164,30,2,0,0,1,224,0,0,3,192, - 0,0,7,128,0,0,7,0,0,0,15,0,0,0,14,0, - 0,0,28,0,0,0,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,255,224,0,3,255,240,0,15,255,252, - 0,31,255,254,0,31,0,62,0,62,0,31,0,60,0,15, - 0,120,0,7,128,120,0,7,128,112,0,3,128,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,112,0,3,128,120,0,7,128,120,0,7,128,120,0,15, - 128,60,0,15,0,62,0,31,0,31,128,126,0,15,255,252, - 0,7,255,248,0,3,255,240,0,0,255,192,0,26,41,164, - 30,2,0,0,30,0,0,0,63,0,0,0,63,0,0,0, - 127,128,0,0,115,128,0,0,225,192,0,0,192,224,0,1, - 192,96,0,0,0,0,0,0,0,0,0,0,0,0,0,1, - 255,224,0,3,255,240,0,15,255,252,0,31,255,254,0,31, - 0,62,0,62,0,31,0,60,0,15,0,120,0,7,128,120, - 0,7,128,112,0,3,128,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,112,0,3,128,120, - 0,7,128,120,0,7,128,120,0,15,128,60,0,15,0,62, - 0,31,0,31,128,126,0,15,255,252,0,7,255,248,0,3, - 255,240,0,0,255,192,0,26,39,156,30,2,0,0,32,96, - 0,0,252,224,0,0,255,224,0,1,207,192,0,1,129,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,255,224,0,3,255,240,0,15,255,252,0,31,255,254, - 0,31,0,62,0,62,0,31,0,60,0,15,0,120,0,7, - 128,120,0,7,128,112,0,3,128,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,112,0,3, - 128,120,0,7,128,120,0,7,128,120,0,15,128,60,0,15, - 0,62,0,31,0,31,128,126,0,15,255,252,0,7,255,248, - 0,3,255,240,0,0,255,192,0,26,39,156,30,2,0,0, - 240,240,0,0,240,240,0,0,240,240,0,0,240,240,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,255,224,0,3,255,240,0,15,255,252,0,31, - 255,254,0,31,0,62,0,62,0,31,0,60,0,15,0,120, - 0,7,128,120,0,7,128,112,0,3,128,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,112, - 0,3,128,120,0,7,128,120,0,7,128,120,0,15,128,60, - 0,15,0,62,0,31,0,31,128,126,0,15,255,252,0,7, - 255,248,0,3,255,240,0,0,255,192,0,22,22,66,40,9, - 1,96,0,24,240,0,60,120,0,120,56,0,112,28,0,224, - 14,1,192,7,3,128,3,135,0,1,206,0,0,252,0,0, - 120,0,0,120,0,0,252,0,1,206,0,3,135,0,7,3, - 128,14,1,192,28,0,224,56,0,112,112,0,56,96,0,24, - 64,0,8,26,38,152,30,2,252,0,0,1,0,0,0,3, - 128,0,0,3,192,0,0,7,128,0,255,199,128,3,255,255, - 0,15,255,255,0,31,255,254,0,31,0,62,0,62,0,127, - 0,124,0,127,0,120,0,255,128,120,1,247,128,240,1,227, - 128,240,3,195,192,240,7,195,192,240,7,131,192,240,15,3, - 192,240,31,3,192,240,30,3,192,240,60,3,192,240,124,3, - 192,240,248,3,192,112,240,3,192,121,240,7,128,123,224,7, - 128,127,192,15,128,63,192,15,0,63,128,31,0,31,128,126, - 0,31,255,252,0,31,255,248,0,63,255,240,0,124,255,192, - 0,120,0,0,0,240,0,0,0,112,0,0,0,32,0,0, - 0,23,41,123,29,3,0,3,192,0,1,192,0,1,224,0, - 0,240,0,0,112,0,0,56,0,0,24,0,0,28,0,0, - 0,0,0,0,0,0,0,0,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,120,0,60,120,0,60, - 124,0,124,62,0,248,63,255,248,31,255,240,15,255,224,3, - 255,128,23,41,123,29,3,0,0,7,128,0,7,0,0,15, - 0,0,30,0,0,28,0,0,56,0,0,48,0,0,112,0, - 0,0,0,0,0,0,0,0,0,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,120,0,60,120,0, - 60,124,0,124,62,0,248,63,255,248,31,255,240,15,255,224, - 3,255,128,23,41,123,29,3,0,0,124,0,0,124,0,0, - 254,0,0,238,0,1,199,0,1,199,0,3,131,128,7,1, - 128,0,0,0,0,0,0,0,0,0,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,120,0,60,120, - 0,60,124,0,124,62,0,248,63,255,248,31,255,240,15,255, - 224,3,255,128,23,38,114,29,3,0,3,195,192,3,195,192, - 3,195,192,3,195,192,0,0,0,0,0,0,0,0,0,0, - 0,0,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,120,0,60,120,0,60,124,0,124,62,0,248, - 63,255,248,31,255,240,15,255,224,3,255,128,24,41,123,26, - 1,0,0,3,192,0,7,128,0,7,0,0,15,0,0,14, - 0,0,28,0,0,24,0,0,48,0,0,0,0,0,0,0, - 0,0,0,248,0,15,248,0,31,124,0,30,124,0,60,62, - 0,124,30,0,120,31,0,248,15,0,240,15,129,224,7,129, - 224,3,195,192,3,227,192,1,231,128,1,247,0,0,255,0, - 0,254,0,0,126,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,19,30,90, - 24,3,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,255,248,0,255,255,0,255,255,128,255,255, - 192,240,15,192,240,3,224,240,1,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,3,224,240,15,192,255,255,192,255, - 255,128,255,255,0,255,248,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,20,30,90, - 22,2,0,3,248,0,15,254,0,63,255,0,124,15,0,248, - 7,128,240,7,128,240,7,128,240,7,128,240,15,0,240,31, - 0,240,62,0,240,124,0,240,248,0,240,240,0,240,240,0, - 240,248,0,240,126,0,240,63,0,240,31,192,240,15,224,240, - 3,224,240,1,240,240,0,240,240,0,240,243,192,240,243,192, - 240,241,224,240,241,241,224,240,255,224,240,63,128,18,31,93, - 23,2,0,7,128,0,7,128,0,3,192,0,1,192,0,0, - 224,0,0,112,0,0,48,0,0,0,0,0,0,0,0,0, - 0,0,0,0,15,254,0,63,255,0,62,15,128,120,7,128, - 120,3,192,0,3,192,0,3,192,3,255,192,15,255,192,63, - 255,192,126,3,192,120,3,192,240,3,192,240,3,192,240,7, - 192,240,7,192,248,15,192,124,63,192,63,251,192,31,227,192, - 18,32,96,23,2,0,0,60,0,0,60,0,0,120,0,0, - 240,0,0,224,0,1,192,0,1,128,0,3,128,0,0,0, - 0,0,0,0,0,0,0,0,0,0,15,254,0,63,255,0, - 62,15,128,120,7,128,120,3,192,0,3,192,0,3,192,3, - 255,192,15,255,192,63,255,192,126,3,192,120,3,192,240,3, - 192,240,3,192,240,7,192,240,7,192,248,15,192,124,63,192, - 63,251,192,31,227,192,18,32,96,23,2,0,1,224,0,3, - 240,0,3,240,0,7,184,0,7,60,0,14,28,0,12,14, - 0,28,6,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,227,192,18,30,90,23, - 2,0,7,134,0,15,206,0,15,254,0,28,124,0,24,16, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,243,192,18,30,90,23, - 2,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,227,192,18,34,102,23, - 2,0,1,224,0,3,240,0,6,24,0,12,12,0,12,12, - 0,12,12,0,12,12,0,6,24,0,3,240,0,1,224,0, - 0,0,0,0,0,0,0,0,0,0,0,0,15,254,0,63, - 255,0,62,15,128,120,7,128,120,3,192,0,3,192,0,3, - 192,3,255,192,15,255,192,63,255,192,126,3,192,120,3,192, - 240,3,192,240,3,192,240,7,192,240,7,192,248,15,192,124, - 63,192,63,251,192,31,227,192,32,20,80,36,2,1,15,248, - 31,240,63,254,63,248,124,30,120,60,120,7,112,30,120,7, - 224,14,0,3,224,15,0,3,192,15,0,127,255,255,31,255, - 255,255,63,255,255,255,126,3,192,0,120,3,192,0,240,3, - 192,0,240,3,192,15,240,7,224,14,240,7,224,30,248,14, - 112,30,126,62,124,124,63,252,63,248,31,240,15,240,17,30, - 90,21,2,247,15,252,0,31,254,0,62,31,0,120,15,128, - 120,7,128,240,7,128,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,7,128,112,7, - 128,120,7,128,120,15,0,62,31,0,31,254,0,15,252,0, - 1,128,0,1,128,0,1,240,0,1,252,0,1,254,0,0, - 14,0,0,14,0,0,14,0,7,252,0,7,240,0,18,32, - 96,22,2,0,30,0,0,15,0,0,7,0,0,3,128,0, - 3,192,0,1,192,0,0,224,0,0,96,0,0,0,0,0, - 0,0,0,0,0,0,0,0,7,252,0,31,254,0,62,31, - 0,60,7,128,120,3,128,112,3,192,240,3,192,240,3,192, - 255,255,192,255,255,192,255,255,192,240,0,0,240,0,0,240, - 0,0,112,3,192,120,7,128,56,7,128,62,31,0,31,254, - 0,7,252,0,18,32,96,22,2,0,0,30,0,0,60,0, - 0,120,0,0,112,0,0,224,0,0,224,0,1,192,0,1, - 128,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, - 0,31,254,0,62,31,0,60,7,128,120,3,128,112,3,192, - 240,3,192,240,3,192,255,255,192,255,255,192,255,255,192,240, - 0,0,240,0,0,240,0,0,112,3,192,120,7,128,56,7, - 128,62,31,0,31,254,0,7,252,0,18,32,96,22,2,0, - 1,224,0,3,240,0,3,240,0,7,248,0,7,56,0,14, - 28,0,12,12,0,28,14,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,31,254,0,62,31,0,60,7,128, - 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, - 192,120,7,128,56,7,128,62,31,0,31,254,0,7,252,0, - 18,30,90,22,2,0,30,30,0,30,30,0,30,30,0,30, - 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,31,254,0,62,15,0,60,7,128, - 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, - 192,120,3,128,60,7,128,62,15,0,31,254,0,7,252,0, - 8,32,32,10,255,0,240,120,56,28,30,14,7,3,0,0, - 0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,9,32,64,10,2,0,15,128,15,0, - 30,0,28,0,56,0,56,0,112,0,224,0,0,0,0,0, - 0,0,0,0,120,0,120,0,120,0,120,0,120,0,120,0, - 120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0, - 120,0,120,0,120,0,120,0,120,0,120,0,12,32,64,10, - 255,0,15,0,31,128,31,128,59,192,57,192,112,224,224,96, - 192,112,0,0,0,0,0,0,0,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,12,30,60,10,255,0,240,240,240,240,240,240,240,240, - 0,0,0,0,0,0,0,0,0,0,0,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,20,30,90,24,2,0,16,1,0,60,7,0, - 30,31,0,7,252,0,3,240,0,7,240,0,62,120,0,120, - 60,0,96,30,0,0,15,0,7,255,128,31,255,192,63,15, - 192,60,3,192,120,1,224,120,1,224,240,1,224,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, - 1,224,120,1,224,120,3,224,60,3,192,63,15,128,31,255, - 0,7,254,0,18,30,90,24,3,0,7,14,0,15,204,0, - 31,252,0,28,248,0,24,16,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,243,254,0,247,255,0,254,31, - 128,248,7,128,248,7,128,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,20,32,96,24,2,0,15,0,0,7,128,0, - 3,128,0,1,192,0,1,192,0,0,224,0,0,112,0,0, - 48,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, - 0,15,255,0,63,15,128,60,3,192,120,3,224,120,1,224, - 240,1,224,240,0,240,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,1,224,120,1,224,120,3,224,60,3, - 192,63,15,128,15,255,0,7,254,0,20,32,96,24,2,0, - 0,30,0,0,30,0,0,60,0,0,56,0,0,112,0,0, - 96,0,0,224,0,1,192,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,15,255,0,63,15,128,60,3,192, - 120,3,224,120,1,224,240,1,224,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,1,224,120,1, - 224,120,3,224,60,3,192,63,15,128,15,255,0,7,254,0, - 20,32,96,24,2,0,0,240,0,1,248,0,1,248,0,3, - 188,0,3,156,0,7,14,0,6,6,0,12,7,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,20,30,90,24,2,0,3,135,0,7, - 230,0,15,254,0,14,124,0,12,8,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,20,30,90,24,2,0,15,15,0,15, - 15,0,15,15,0,15,15,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,24,19,57,40,8,2,0,16,0,0, - 56,0,0,124,0,0,124,0,0,124,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0, - 0,0,0,0,0,0,0,56,0,0,124,0,0,124,0,0, - 124,0,0,56,0,21,26,78,24,1,254,0,0,56,0,0, - 120,0,0,112,3,255,224,7,255,192,31,135,192,30,3,224, - 60,7,240,60,15,240,120,14,240,120,28,120,120,56,120,120, - 120,120,120,112,120,120,224,120,121,192,120,123,192,240,63,128, - 240,63,1,240,30,1,224,15,135,192,31,255,128,59,255,0, - 112,0,0,240,0,0,96,0,0,18,32,96,24,3,0,30, - 0,0,15,0,0,7,0,0,3,128,0,3,192,0,1,192, - 0,0,224,0,0,96,0,0,0,0,0,0,0,0,0,0, - 0,0,0,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,7,192,120,7,192,124,31,192,63,251,192,31,243,192,18, - 32,96,24,3,0,0,62,0,0,60,0,0,120,0,0,112, - 0,0,224,0,0,224,0,1,192,0,3,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,7,192,120,7,192,124,31,192,63, - 251,192,31,243,192,18,32,96,24,3,0,1,224,0,3,240, - 0,3,240,0,7,120,0,7,56,0,14,28,0,28,12,0, - 24,14,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 7,192,124,31,192,63,251,192,31,243,192,18,30,90,24,3, - 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,40,120,21,1, - 248,0,15,0,0,30,0,0,28,0,0,56,0,0,112,0, - 0,112,0,0,224,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,240,240,1,224,120,1,224,120,1, - 192,60,3,192,60,3,192,62,7,128,30,7,128,30,7,0, - 15,15,0,15,15,0,15,158,0,7,158,0,7,156,0,3, - 252,0,3,252,0,1,248,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,224,0,1,224,0,33,224,0,243,192,0, - 127,192,0,127,128,0,31,0,0,19,38,114,24,3,248,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,243,254,0, - 247,255,0,254,15,128,252,7,192,248,3,192,248,3,192,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,248,3,192,248,3,192,252,7,192, - 254,15,128,247,255,0,243,254,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,20,38,114,22,1,248,15,15,0,15,15,0,15,15,0, - 15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,240,248,0,224,120,1,224,120,1, - 224,60,3,192,60,3,192,62,3,128,30,7,128,30,7,128, - 15,15,0,15,15,0,7,143,0,7,158,0,7,222,0,3, - 252,0,3,252,0,1,252,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 30 - Calculated Max Values w=24 h=33 x= 8 y=15 dx=40 dy= 0 ascent=31 len=90 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =30 descent= 0 - X Font ascent =30 descent= 0 - Max Font ascent =31 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30n[1175] U8G_SECTION(".progmem.u8g_font_fur30n") = { - 0,54,54,253,245,30,0,0,0,0,42,57,0,31,251,30, - 0,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=37 h=43 x=10 y=25 dx=40 dy= 0 ascent=33 len=185 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =33 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30r[7380] U8G_SECTION(".progmem.u8g_font_fur30r") = { - 0,54,54,253,245,30,9,94,20,223,32,127,249,33,245,31, - 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, - 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, - 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, - 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, - 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, - 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, - 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, - 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, - 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, - 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, - 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, - 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, - 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, - 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, - 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, - 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, - 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, - 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, - 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, - 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, - 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, - 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, - 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, - 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, - 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, - 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, - 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, - 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, - 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, - 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, - 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, - 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, - 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, - 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, - 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, - 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, - 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, - 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, - 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, - 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, - 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, - 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, - 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, - 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, - 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, - 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, - 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, - 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, - 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, - 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, - 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, - 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, - 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, - 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, - 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, - 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, - 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, - 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, - 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, - 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, - 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, - 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, - 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, - 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, - 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, - 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, - 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, - 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, - 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, - 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, - 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, - 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, - 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, - 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, - 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, - 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, - 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, - 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, - 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, - 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, - 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, - 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, - 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, - 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, - 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, - 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, - 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, - 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, - 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, - 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, - 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, - 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, - 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, - 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, - 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, - 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, - 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, - 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, - 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, - 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, - 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, - 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, - 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, - 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, - 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, - 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, - 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, - 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, - 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, - 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, - 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, - 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, - 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, - 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, - 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, - 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, - 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, - 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, - 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, - 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, - 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, - 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, - 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, - 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, - 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, - 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, - 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, - 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, - 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, - 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, - 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, - 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, - 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, - 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, - 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, - 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, - 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, - 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, - 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, - 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, - 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, - 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, - 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, - 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, - 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, - 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, - 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, - 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, - 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, - 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, - 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, - 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, - 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, - 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, - 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, - 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, - 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, - 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, - 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, - 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, - 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, - 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, - 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, - 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, - 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, - 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, - 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, - 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, - 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, - 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, - 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, - 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, - 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, - 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, - 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, - 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, - 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, - 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, - 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, - 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, - 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, - 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, - 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, - 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, - 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, - 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, - 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, - 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, - 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, - 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, - 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, - 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, - 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, - 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, - 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, - 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, - 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, - 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, - 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, - 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, - 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, - 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, - 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, - 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, - 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, - 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, - 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, - 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, - 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, - 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, - 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, - 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, - 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, - 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, - 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, - 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, - 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, - 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, - 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, - 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, - 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, - 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, - 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, - 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, - 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, - 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, - 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, - 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, - 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, - 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, - 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, - 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, - 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, - 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, - 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, - 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, - 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, - 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, - 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, - 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, - 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, - 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, - 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, - 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, - 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, - 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, - 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, - 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, - 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, - 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, - 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, - 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, - 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, - 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, - 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, - 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, - 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, - 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, - 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, - 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, - 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, - 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, - 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, - 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, - 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, - 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, - 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, - 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, - 240,15,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--48-480-72-72-P-226-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 35 - Calculated Max Values w=29 h=39 x=10 y=16 dx=49 dy= 0 ascent=36 len=116 - Font Bounding box w=65 h=64 x=-4 y=-13 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =35 descent= 0 - X Font ascent =35 descent= 0 - Max Font ascent =36 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur35n[1417] U8G_SECTION(".progmem.u8g_font_fur35n") = { - 0,65,64,252,243,35,0,0,0,0,42,57,0,36,250,35, - 0,19,19,57,31,6,16,6,12,0,30,15,0,15,30,0, - 15,30,0,7,28,0,3,184,0,1,176,0,193,240,96,255, - 255,224,255,255,224,248,227,224,1,240,0,3,184,0,7,188, - 0,7,28,0,15,30,0,30,15,0,14,14,0,2,8,0, - 29,29,116,49,10,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,255,255,255,248,255,255, - 255,248,255,255,255,248,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,9,12,24,13,2,250, - 31,128,31,0,31,0,62,0,62,0,62,0,60,0,124,0, - 120,0,120,0,112,0,240,0,12,4,8,16,2,10,255,240, - 255,240,255,240,255,240,5,6,6,13,5,0,248,248,248,248, - 248,248,15,39,78,19,2,253,0,14,0,30,0,28,0,28, - 0,60,0,56,0,56,0,120,0,112,0,112,0,112,0,240, - 0,224,0,224,1,224,1,192,1,192,1,192,3,192,3,128, - 3,128,7,128,7,0,7,0,15,0,15,0,14,0,14,0, - 30,0,28,0,28,0,60,0,56,0,56,0,56,0,120,0, - 112,0,112,0,240,0,22,35,105,27,2,1,3,255,0,7, - 255,128,31,255,224,31,255,224,62,3,240,62,1,240,124,0, - 248,120,0,248,120,0,120,248,0,120,248,0,124,248,0,124, - 248,0,124,248,0,124,248,0,124,248,0,124,248,0,124,248, - 0,124,248,0,124,248,0,124,248,0,124,248,0,124,248,0, - 124,248,0,124,120,0,124,120,0,120,120,0,120,124,0,248, - 60,0,248,62,1,240,63,3,240,31,255,224,15,255,192,7, - 255,128,1,255,0,12,35,70,27,7,0,3,240,7,240,15, - 240,31,240,127,240,255,240,253,240,241,240,193,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,21,35,105,27,3,1,3,255,0,15,255,128,31,255,192, - 63,255,224,63,1,240,126,0,240,124,0,248,124,0,248,124, - 0,248,124,0,248,0,0,248,0,0,248,0,0,240,0,1, - 240,0,3,224,0,7,224,0,7,192,0,15,128,0,31,128, - 0,63,0,0,126,0,0,252,0,1,248,0,3,240,0,7, - 224,0,15,192,0,31,192,0,31,128,0,63,0,0,126,0, - 0,252,0,0,255,255,248,255,255,248,255,255,248,255,255,248, - 22,35,105,27,2,1,3,255,0,15,255,192,31,255,224,31, - 255,240,63,1,248,62,0,248,124,0,120,124,0,120,124,0, - 124,0,0,120,0,0,120,0,0,248,0,1,240,0,15,224, - 0,255,192,0,255,0,0,255,128,0,255,192,0,15,224,0, - 1,240,0,0,248,0,0,248,0,0,124,0,0,124,0,0, - 124,248,0,124,248,0,124,252,0,124,252,0,120,124,0,248, - 127,3,248,63,255,240,31,255,224,15,255,192,3,255,0,24, - 35,105,27,1,0,0,3,240,0,7,240,0,7,240,0,15, - 240,0,31,240,0,63,240,0,61,240,0,121,240,0,249,240, - 0,241,240,1,225,240,3,225,240,3,193,240,7,129,240,15, - 129,240,15,1,240,30,1,240,62,1,240,60,1,240,120,1, - 240,248,1,240,240,1,240,255,255,255,255,255,255,255,255,255, - 255,255,255,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,21,35, - 105,27,3,0,127,255,224,127,255,224,127,255,224,127,255,224, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,254,0,125,255,128,127,255, - 192,127,131,224,126,1,240,124,0,240,120,0,248,120,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,248,0,120,248,0,248,248,0,240,248,1,240,126,3, - 224,63,255,224,63,255,192,15,255,128,7,254,0,23,35,105, - 27,2,1,1,255,128,7,255,192,15,255,224,31,193,240,31, - 0,248,62,0,248,62,0,120,124,0,120,124,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,127,0,120,255,192, - 249,255,240,251,255,240,255,131,248,254,0,248,252,0,124,252, - 0,124,248,0,60,248,0,60,248,0,60,248,0,62,248,0, - 60,248,0,60,120,0,60,124,0,124,124,0,120,63,1,248, - 31,255,240,15,255,224,7,255,192,1,255,0,21,35,105,27, - 3,0,255,255,248,255,255,248,255,255,248,255,255,248,0,0, - 120,0,0,248,0,0,240,0,1,240,0,1,240,0,1,224, - 0,3,224,0,3,224,0,7,192,0,7,192,0,7,128,0, - 15,128,0,15,128,0,15,0,0,31,0,0,31,0,0,62, - 0,0,62,0,0,62,0,0,124,0,0,124,0,0,248,0, - 0,248,0,0,248,0,1,240,0,1,240,0,3,240,0,3, - 224,0,3,224,0,7,192,0,7,192,0,22,35,105,27,2, - 1,3,255,128,15,255,224,31,255,240,63,255,248,63,1,248, - 126,0,252,124,0,124,124,0,124,124,0,124,124,0,124,124, - 0,124,60,0,120,62,0,248,31,131,240,15,255,224,3,255, - 128,7,255,128,15,255,224,31,3,240,62,0,248,124,0,120, - 120,0,124,248,0,60,248,0,60,248,0,60,248,0,60,248, - 0,60,248,0,60,248,0,124,124,0,124,126,1,248,63,255, - 248,31,255,240,15,255,224,3,255,128,22,35,105,27,2,1, - 3,255,128,15,255,192,31,255,224,63,255,240,126,1,248,124, - 0,248,120,0,248,248,0,124,248,0,124,248,0,124,248,0, - 124,248,0,124,248,0,124,248,0,124,248,0,252,120,0,252, - 124,1,252,127,3,252,63,255,252,31,255,124,15,254,124,3, - 248,124,0,0,124,0,0,124,0,0,120,0,0,120,0,0, - 248,120,0,248,120,1,240,124,1,240,62,3,224,63,255,224, - 31,255,192,15,255,128,7,254,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--58-580-72-72-P-271-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 42 - Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=175 - Font Bounding box w=78 h=76 x=-4 y=-15 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =42 descent= 0 - X Font ascent =42 descent= 0 - Max Font ascent =43 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur42n[2135] U8G_SECTION(".progmem.u8g_font_fur42n") = { - 0,78,76,252,241,42,0,0,0,0,42,57,0,43,249,42, - 0,23,22,66,37,7,20,3,1,128,7,131,192,15,131,224, - 7,131,192,7,199,192,3,199,128,1,239,0,0,238,0,0, - 254,0,254,124,254,255,255,254,255,255,254,254,124,254,0,124, - 0,0,238,0,1,239,0,3,199,128,3,199,128,7,195,192, - 15,131,224,15,131,224,3,1,128,35,35,175,59,12,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,255,255,255,255,224,255, - 255,255,255,224,255,255,255,255,224,255,255,255,255,224,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,10,15, - 30,16,3,249,31,192,31,192,31,128,63,128,63,0,63,0, - 62,0,62,0,126,0,124,0,124,0,120,0,248,0,248,0, - 240,0,14,5,10,18,2,12,255,252,255,252,255,252,255,252, - 255,252,6,7,7,16,6,0,252,252,252,252,252,252,252,17, - 46,138,23,3,253,0,7,128,0,7,128,0,7,128,0,15, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,60,0,0,60,0,0,60,0,0,120,0,0, - 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,240, - 0,1,224,0,1,224,0,1,224,0,3,192,0,3,192,0, - 3,192,0,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,62,0,0,60,0,0,60,0,0,60,0,0,120,0,0, - 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,26, - 42,168,32,3,1,0,255,224,0,3,255,240,0,7,255,252, - 0,15,255,254,0,31,255,254,0,63,128,127,0,63,0,63, - 0,62,0,31,128,126,0,31,128,124,0,15,128,124,0,15, - 192,124,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, - 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, - 192,248,0,7,192,252,0,7,192,252,0,7,192,252,0,7, - 192,252,0,7,192,252,0,15,192,124,0,15,192,124,0,15, - 192,126,0,15,192,126,0,15,128,62,0,31,128,63,0,31, - 128,63,0,63,0,31,192,127,0,31,255,254,0,15,255,252, - 0,7,255,252,0,3,255,240,0,0,255,192,0,14,42,84, - 32,8,0,0,252,1,252,3,252,7,252,15,252,63,252,127, - 252,255,124,254,124,248,124,224,124,128,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,25,42,168,32,4,1,1,255,192, - 0,7,255,240,0,15,255,248,0,31,255,252,0,31,255,254, - 0,63,128,127,0,63,0,63,0,127,0,31,128,126,0,31, - 128,126,0,31,128,126,0,15,128,126,0,15,128,0,0,31, - 128,0,0,31,128,0,0,31,0,0,0,63,0,0,0,63, - 0,0,0,126,0,0,0,252,0,0,1,252,0,0,3,248, - 0,0,7,240,0,0,7,224,0,0,15,224,0,0,31,192, - 0,0,63,128,0,0,127,0,0,0,254,0,0,1,252,0, - 0,3,248,0,0,7,240,0,0,15,224,0,0,31,224,0, - 0,63,192,0,0,63,128,0,0,127,0,0,0,254,0,0, - 0,255,255,255,128,255,255,255,128,255,255,255,128,255,255,255, - 128,255,255,255,128,26,42,168,32,3,1,1,255,192,0,7, - 255,240,0,15,255,252,0,31,255,254,0,63,255,255,0,63, - 128,127,0,127,0,31,128,126,0,31,128,126,0,15,128,126, - 0,15,128,252,0,15,128,0,0,15,128,0,0,15,128,0, - 0,31,128,0,0,63,0,0,0,126,0,0,3,252,0,0, - 127,248,0,0,127,240,0,0,127,224,0,0,127,240,0,0, - 127,252,0,0,3,254,0,0,0,127,0,0,0,63,128,0, - 0,31,128,0,0,15,192,0,0,15,192,0,0,7,192,0, - 0,7,192,252,0,7,192,252,0,7,192,252,0,7,192,252, - 0,15,192,254,0,31,192,127,0,63,128,127,128,127,128,63, - 255,255,0,63,255,254,0,31,255,252,0,7,255,248,0,1, - 255,224,0,29,42,168,32,2,0,0,0,127,0,0,0,127, - 0,0,0,255,0,0,1,255,0,0,3,255,0,0,3,255, - 0,0,7,223,0,0,15,223,0,0,15,159,0,0,31,31, - 0,0,63,31,0,0,62,31,0,0,124,31,0,0,252,31, - 0,0,248,31,0,1,240,31,0,3,240,31,0,3,224,31, - 0,7,192,31,0,15,192,31,0,15,128,31,0,31,0,31, - 0,63,0,31,0,126,0,31,0,124,0,31,0,252,0,31, - 0,248,0,31,0,255,255,255,248,255,255,255,248,255,255,255, - 248,255,255,255,248,255,255,255,248,0,0,31,0,0,0,31, - 0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, - 0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, - 0,26,42,168,32,3,0,127,255,255,0,127,255,255,0,127, - 255,255,0,127,255,255,0,127,255,255,0,124,0,0,0,124, - 0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,124, - 0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,124, - 31,192,0,124,127,240,0,124,255,252,0,125,255,254,0,127, - 224,254,0,127,128,63,0,127,0,31,0,126,0,31,128,126, - 0,15,128,124,0,15,128,0,0,15,192,0,0,15,192,0, - 0,7,192,0,0,7,192,0,0,7,192,0,0,15,192,0, - 0,15,192,252,0,15,192,252,0,15,128,252,0,31,128,254, - 0,31,128,126,0,63,0,127,128,126,0,63,255,254,0,63, - 255,252,0,15,255,248,0,7,255,224,0,1,255,192,0,27, - 42,168,32,3,1,0,127,240,0,1,255,252,0,3,255,254, - 0,15,240,127,0,15,192,63,128,31,128,31,128,63,0,15, - 192,63,0,15,192,62,0,15,192,126,0,0,0,126,0,0, - 0,124,0,0,0,124,0,0,0,124,0,0,0,124,0,0, - 0,124,15,224,0,124,63,248,0,124,255,254,0,124,255,255, - 0,125,255,255,128,127,224,127,128,127,192,31,192,255,128,15, - 192,255,0,7,192,255,0,7,224,254,0,7,224,254,0,7, - 224,254,0,3,224,254,0,3,224,254,0,3,224,254,0,7, - 224,254,0,7,224,126,0,7,224,127,0,7,192,127,0,15, - 192,63,128,15,192,31,192,63,128,31,255,255,0,15,255,255, - 0,7,255,254,0,1,255,248,0,0,127,224,0,26,42,168, - 32,3,0,255,255,255,192,255,255,255,192,255,255,255,192,255, - 255,255,192,255,255,255,192,0,0,7,192,0,0,15,192,0, - 0,15,128,0,0,31,128,0,0,31,128,0,0,31,0,0, - 0,63,0,0,0,63,0,0,0,126,0,0,0,126,0,0, - 0,124,0,0,0,252,0,0,0,252,0,0,1,248,0,0, - 1,248,0,0,1,248,0,0,3,240,0,0,3,240,0,0, - 7,224,0,0,7,224,0,0,15,224,0,0,15,192,0,0, - 15,192,0,0,31,128,0,0,31,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,127,0,0,0,126,0,0,0, - 254,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, - 248,0,0,3,248,0,0,3,240,0,0,27,42,168,32,2, - 1,0,255,224,0,3,255,252,0,15,255,254,0,31,255,255, - 0,63,255,255,128,63,128,63,192,127,0,31,192,126,0,15, - 192,126,0,7,192,126,0,7,192,124,0,7,192,124,0,7, - 192,126,0,7,192,62,0,15,192,63,0,15,128,31,128,31, - 0,15,224,127,0,7,255,254,0,3,255,248,0,0,255,240, - 0,3,255,248,0,15,255,254,0,31,224,127,0,63,128,31, - 128,62,0,15,192,126,0,7,192,124,0,7,224,252,0,3, - 224,252,0,3,224,248,0,3,224,248,0,3,224,252,0,3, - 224,252,0,3,224,252,0,7,224,254,0,7,224,127,0,15, - 224,127,128,31,192,63,255,255,128,31,255,255,128,15,255,255, - 0,3,255,252,0,0,255,240,0,27,42,168,32,3,1,1, - 255,240,0,7,255,252,0,15,255,254,0,31,255,255,0,63, - 255,255,128,63,128,63,128,126,0,31,192,126,0,15,192,252, - 0,15,192,252,0,7,224,252,0,7,224,248,0,7,224,248, - 0,7,224,248,0,7,224,252,0,7,224,252,0,7,224,252, - 0,15,224,124,0,15,224,126,0,31,224,63,0,63,224,63, - 192,123,224,31,255,243,224,15,255,243,224,3,255,195,224,0, - 255,7,224,0,0,7,224,0,0,7,224,0,0,7,224,0, - 0,7,192,0,0,7,192,0,0,7,192,124,0,15,192,124, - 0,15,128,126,0,31,128,62,0,31,128,63,0,63,0,63, - 128,255,0,31,255,254,0,31,255,252,0,15,255,248,0,7, - 255,240,0,1,255,192,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--68-680-72-72-P-317-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 49 - Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=250 - Font Bounding box w=92 h=89 x=-5 y=-18 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =49 descent= 0 - X Font ascent =49 descent= 0 - Max Font ascent =50 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur49n[2643] U8G_SECTION(".progmem.u8g_font_fur49n") = { - 0,92,89,251,238,49,0,0,0,0,42,57,0,50,247,49, - 0,27,26,104,45,9,23,0,192,96,0,3,192,120,0,15, - 192,126,0,7,224,252,0,3,224,248,0,1,241,240,0,1, - 241,240,0,0,251,224,0,0,123,192,0,0,59,128,0,224, - 63,128,224,255,255,255,224,255,255,255,224,255,255,255,224,255, - 159,63,224,128,63,128,32,0,123,192,0,0,123,192,0,0, - 241,224,0,1,241,240,0,3,241,248,0,3,224,248,0,7, - 224,252,0,15,192,124,0,3,192,120,0,0,128,32,0,41, - 41,246,69,14,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,255,255,255,255,255,128,255,255,255, - 255,255,128,255,255,255,255,255,128,255,255,255,255,255,128,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,12,17,34,19,3, - 247,15,240,15,240,15,224,15,224,31,224,31,192,31,192,31, - 128,63,128,63,0,63,0,62,0,126,0,126,0,124,0,124, - 0,248,0,16,6,12,22,3,14,255,255,255,255,255,255,255, - 255,255,255,255,255,7,8,8,19,7,0,254,254,254,254,254, - 254,254,254,21,54,162,27,3,252,0,0,248,0,0,240,0, - 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, - 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, - 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,124,0,0,120,0,0,248,0,0,248,0,0,240,0, - 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, - 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, - 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,124,0,0,120,0,0,248,0,0,31,51,204,38,3, - 255,0,31,240,0,0,127,252,0,1,255,255,0,3,255,255, - 128,7,255,255,192,15,255,255,224,31,240,31,240,31,192,15, - 240,63,128,7,248,63,128,3,248,63,0,1,248,127,0,1, - 252,126,0,1,252,126,0,0,252,126,0,0,252,254,0,0, - 252,254,0,0,254,252,0,0,254,252,0,0,254,252,0,0, - 254,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, - 126,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, - 126,252,0,0,126,252,0,0,254,254,0,0,254,254,0,0, - 254,254,0,0,254,254,0,0,254,126,0,0,254,126,0,0, - 252,126,0,0,252,127,0,1,252,127,0,1,252,63,0,1, - 252,63,128,3,248,63,128,3,248,31,192,7,248,31,224,15, - 240,15,248,63,240,15,255,255,224,7,255,255,192,3,255,255, - 128,1,255,255,0,0,127,252,0,0,15,240,0,16,49,98, - 38,9,0,0,127,0,255,1,255,3,255,7,255,31,255,63, - 255,127,255,255,255,255,63,252,63,240,63,192,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,29,50,200,38,4,0,0,31,224,0,0, - 255,252,0,3,255,255,0,7,255,255,128,15,255,255,192,31, - 255,255,224,31,240,31,224,63,224,7,240,63,192,3,240,63, - 128,3,248,127,128,3,248,127,0,1,248,127,0,1,248,127, - 0,1,248,127,0,1,248,0,0,1,248,0,0,1,248,0, - 0,3,248,0,0,3,248,0,0,7,240,0,0,7,240,0, - 0,15,224,0,0,31,224,0,0,63,192,0,0,127,128,0, - 0,127,0,0,0,255,0,0,1,254,0,0,3,252,0,0, - 7,248,0,0,15,240,0,0,31,240,0,0,63,224,0,0, - 127,192,0,0,127,128,0,0,255,0,0,1,254,0,0,3, - 252,0,0,7,248,0,0,15,248,0,0,31,240,0,0,63, - 224,0,0,127,192,0,0,255,128,0,0,255,0,0,0,255, - 255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255, - 255,255,248,31,51,204,38,3,255,0,31,240,0,0,255,254, - 0,1,255,255,128,3,255,255,192,7,255,255,224,15,248,31, - 240,31,224,7,248,31,192,3,248,63,192,1,252,63,128,0, - 252,63,128,0,252,127,0,0,252,127,0,0,252,127,0,0, - 252,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, - 248,0,0,3,248,0,0,7,240,0,0,31,224,0,0,255, - 192,0,31,255,128,0,31,254,0,0,31,252,0,0,31,255, - 0,0,31,255,192,0,0,255,224,0,0,15,240,0,0,7, - 248,0,0,3,252,0,0,1,252,0,0,0,254,0,0,0, - 254,0,0,0,126,0,0,0,126,0,0,0,126,254,0,0, - 126,254,0,0,126,255,0,0,126,255,0,0,254,127,0,0, - 254,127,128,1,252,127,128,3,252,63,224,7,248,31,248,31, - 240,15,255,255,224,7,255,255,192,3,255,255,128,0,255,254, - 0,0,31,240,0,34,50,250,38,2,0,0,0,15,240,0, - 0,0,15,240,0,0,0,31,240,0,0,0,63,240,0,0, - 0,63,240,0,0,0,127,240,0,0,0,255,240,0,0,0, - 255,240,0,0,1,251,240,0,0,3,251,240,0,0,3,243, - 240,0,0,7,227,240,0,0,15,227,240,0,0,15,195,240, - 0,0,31,131,240,0,0,63,131,240,0,0,63,3,240,0, - 0,126,3,240,0,0,254,3,240,0,1,252,3,240,0,1, - 248,3,240,0,3,248,3,240,0,7,240,3,240,0,7,224, - 3,240,0,15,224,3,240,0,31,192,3,240,0,31,128,3, - 240,0,63,128,3,240,0,127,0,3,240,0,126,0,3,240, - 0,252,0,3,240,0,252,0,3,240,0,255,255,255,255,192, - 255,255,255,255,192,255,255,255,255,192,255,255,255,255,192,255, - 255,255,255,192,255,255,255,255,192,0,0,3,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,3,240,0,0,0,3, - 240,0,0,0,3,240,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,3,240,0,0,0,3,240,0, - 0,0,3,240,0,30,50,200,38,4,255,63,255,255,224,63, - 255,255,224,63,255,255,224,63,255,255,224,63,255,255,224,63, - 255,255,224,63,0,0,0,63,0,0,0,63,0,0,0,63, - 0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63, - 0,0,0,63,0,0,0,63,0,0,0,63,3,248,0,63, - 31,254,0,63,63,255,128,63,127,255,192,63,255,255,224,63, - 248,31,224,63,224,7,240,63,192,3,240,63,128,3,248,63, - 0,1,248,63,0,1,252,62,0,1,252,0,0,0,252,0, - 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,0, - 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,254, - 0,1,252,254,0,1,248,254,0,1,248,255,0,3,248,127, - 0,3,240,127,128,7,224,127,192,15,224,63,240,63,192,31, - 255,255,128,15,255,255,0,7,255,254,0,1,255,248,0,0, - 31,224,0,31,51,204,38,3,255,0,7,248,0,0,63,255, - 0,0,255,255,192,1,255,255,224,3,255,255,240,7,252,15, - 240,15,248,7,248,31,224,3,248,31,192,1,252,63,192,1, - 252,63,128,0,252,63,0,0,252,127,0,0,252,127,0,0, - 0,127,0,0,0,126,0,0,0,126,0,0,0,126,0,0, - 0,126,0,0,0,126,0,0,0,126,7,252,0,126,31,255, - 0,126,63,255,192,126,127,255,224,126,255,255,240,127,252,15, - 248,127,240,3,248,255,192,1,252,255,192,1,252,255,128,0, - 254,255,128,0,254,255,0,0,126,255,0,0,126,255,0,0, - 126,255,0,0,126,255,0,0,126,255,0,0,126,255,0,0, - 126,127,0,0,126,127,0,0,126,127,128,0,254,63,128,0, - 252,63,128,1,252,31,192,1,252,31,224,3,248,15,248,15, - 240,7,255,255,224,3,255,255,192,1,255,255,128,0,127,254, - 0,0,15,248,0,30,49,196,38,4,0,255,255,255,252,255, - 255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,0, - 0,0,252,0,0,1,252,0,0,1,252,0,0,1,248,0, - 0,3,248,0,0,3,240,0,0,7,240,0,0,7,240,0, - 0,7,224,0,0,15,224,0,0,15,224,0,0,31,192,0, - 0,31,192,0,0,31,128,0,0,63,128,0,0,63,128,0, - 0,127,0,0,0,127,0,0,0,127,0,0,0,254,0,0, - 0,254,0,0,0,254,0,0,1,252,0,0,1,252,0,0, - 3,248,0,0,3,248,0,0,3,248,0,0,7,240,0,0, - 7,240,0,0,15,240,0,0,15,224,0,0,15,224,0,0, - 31,192,0,0,31,192,0,0,63,192,0,0,63,128,0,0, - 63,128,0,0,127,128,0,0,127,0,0,0,127,0,0,0, - 254,0,0,0,254,0,0,1,254,0,0,1,252,0,0,32, - 51,204,38,3,255,0,15,248,0,0,127,255,0,1,255,255, - 128,3,255,255,224,7,255,255,240,15,248,31,248,31,224,7, - 252,31,192,1,252,63,128,1,252,63,128,0,254,63,0,0, - 254,63,0,0,254,63,0,0,126,63,0,0,126,63,0,0, - 126,63,0,0,254,63,0,0,252,31,128,0,252,31,128,1, - 248,15,192,3,248,15,224,7,240,7,248,31,224,3,255,255, - 192,0,255,255,128,0,127,254,0,1,255,255,128,3,255,255, - 192,15,248,15,240,31,192,3,248,31,128,1,248,63,0,0, - 252,127,0,0,126,126,0,0,126,126,0,0,126,254,0,0, - 127,252,0,0,63,252,0,0,63,252,0,0,63,254,0,0, - 127,254,0,0,127,254,0,0,127,254,0,0,127,127,0,0, - 254,127,128,1,254,63,192,3,252,63,240,15,252,31,255,255, - 248,15,255,255,240,3,255,255,192,0,255,255,0,0,15,248, - 0,31,51,204,38,3,255,0,31,248,0,0,255,255,0,3, - 255,255,192,7,255,255,224,15,255,255,240,31,240,31,248,63, - 192,7,248,63,128,3,252,127,0,1,252,126,0,1,252,126, - 0,0,254,254,0,0,254,254,0,0,254,252,0,0,254,252, - 0,0,254,252,0,0,254,252,0,0,254,252,0,0,254,254, - 0,0,254,254,0,0,254,254,0,0,254,126,0,1,254,127, - 0,1,254,63,128,3,254,63,192,7,254,31,240,31,254,31, - 255,255,126,15,255,254,126,7,255,252,126,1,255,248,126,0, - 63,224,126,0,0,0,126,0,0,0,126,0,0,0,126,0, - 0,0,254,0,0,0,252,0,0,0,252,0,0,0,252,126, - 0,0,252,127,0,1,248,63,0,1,248,63,0,3,248,63, - 0,7,240,63,128,7,240,31,192,31,224,31,224,63,224,15, - 255,255,192,7,255,255,128,3,255,255,0,1,255,252,0,0, - 63,224,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y=11 dx=16 dy= 0 ascent=16 len=34 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11[4313] U8G_SECTION(".progmem.u8g_font_gdb11") = { - 0,27,26,247,250,11,2,67,5,71,32,255,252,16,251,14, - 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, - 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, - 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, - 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, - 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, - 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, - 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, - 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, - 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, - 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, - 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, - 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, - 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, - 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, - 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, - 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, - 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, - 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, - 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, - 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, - 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, - 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, - 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, - 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, - 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, - 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, - 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, - 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, - 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, - 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, - 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, - 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, - 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, - 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, - 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, - 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, - 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, - 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, - 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, - 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, - 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, - 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, - 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, - 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, - 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, - 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, - 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, - 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, - 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, - 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, - 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, - 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, - 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, - 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, - 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, - 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, - 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, - 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, - 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, - 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, - 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, - 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, - 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, - 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, - 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, - 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, - 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, - 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, - 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, - 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, - 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, - 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, - 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, - 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, - 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, - 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, - 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, - 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, - 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, - 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, - 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, - 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, - 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, - 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, - 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, - 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, - 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, - 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, - 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, - 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, - 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, - 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, - 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, - 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, - 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, - 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, - 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, - 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, - 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,4,0,0,3,13,13,6,1,251,96,224,64, - 64,64,64,96,96,96,96,96,96,192,7,11,11,9,1,0, - 16,24,126,148,144,144,144,210,124,16,16,8,11,11,9,1, - 0,30,34,98,96,96,252,96,96,97,127,158,7,7,7,9, - 1,2,132,126,68,68,68,68,254,10,11,22,9,255,0,227, - 192,113,0,51,0,58,0,26,0,30,0,12,0,127,128,12, - 0,12,0,30,0,1,19,19,4,2,252,128,128,128,128,128, - 128,128,128,0,0,0,128,128,128,128,128,128,128,128,7,13, - 13,9,1,0,112,152,144,240,252,158,130,98,60,12,68,100, - 124,6,3,3,7,0,9,196,204,140,11,12,24,13,1,0, - 31,0,32,128,79,64,147,32,146,32,144,32,144,32,144,32, - 137,32,78,64,32,128,31,0,5,6,6,5,0,5,112,208, - 176,144,248,240,7,8,8,9,1,0,18,38,108,220,220,108, - 38,18,7,4,4,9,1,1,254,2,2,2,6,1,1,6, - 0,4,252,6,7,7,6,0,6,120,72,188,188,180,104,120, - 7,1,1,9,1,11,254,4,4,4,6,1,7,112,144,144, - 224,7,8,8,7,0,1,16,16,254,16,16,16,0,254,4, - 7,7,6,1,5,112,208,16,32,64,144,240,4,7,7,6, - 1,5,48,80,144,48,16,144,224,4,4,4,6,2,9,112, - 96,192,128,9,12,24,10,1,252,227,0,99,0,99,0,99, - 0,99,0,99,0,127,128,91,0,64,0,64,0,96,0,112, - 0,10,13,26,11,0,254,63,192,98,128,194,128,194,128,98, - 128,62,128,2,128,2,128,2,128,2,128,2,128,2,128,7, - 192,3,3,3,4,0,5,224,224,192,2,4,4,4,2,252, - 192,64,64,192,4,7,7,6,1,5,32,224,32,32,32,32, - 240,4,6,6,5,0,5,96,144,144,144,96,240,8,8,8, - 9,1,0,136,76,102,55,55,102,76,136,10,11,22,11,1, - 0,192,192,65,128,65,0,66,0,68,0,172,0,8,128,19, - 128,50,128,99,192,197,192,9,11,22,11,1,0,192,128,65, - 0,66,0,66,0,68,0,168,0,25,128,18,128,33,0,98, - 128,199,128,11,11,22,11,0,0,96,96,80,192,32,128,17, - 0,146,0,230,0,4,64,9,192,25,64,49,224,98,224,6, - 13,13,8,1,251,56,56,48,16,16,16,32,96,192,196,204, - 204,112,11,16,32,11,0,0,16,0,24,0,12,0,6,0, - 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, - 33,128,33,192,96,192,241,224,11,16,32,11,0,0,1,0, - 3,128,6,0,12,0,0,0,6,0,14,0,14,0,11,0, - 19,0,19,0,63,128,33,128,33,192,96,192,241,224,11,16, - 32,11,0,0,4,0,14,0,31,0,17,0,0,128,6,0, - 14,0,14,0,11,0,19,0,19,0,63,128,33,128,33,192, - 96,192,241,224,11,15,30,11,0,0,12,128,31,128,39,0, - 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, - 33,128,33,192,96,192,241,224,11,15,30,11,0,0,16,128, - 49,128,49,128,0,0,6,0,14,0,14,0,11,0,19,0, - 19,0,63,128,33,128,33,192,96,192,241,224,11,16,32,11, - 0,0,6,0,10,0,10,0,14,0,0,0,6,0,14,0, - 14,0,11,0,19,0,19,0,63,128,33,128,33,192,96,192, - 241,224,14,11,22,15,0,0,15,252,7,140,5,136,13,128, - 9,128,31,248,25,128,17,128,49,132,33,132,243,252,9,15, - 30,10,0,252,31,0,99,0,64,0,192,0,192,0,192,0, - 192,0,192,0,96,0,112,128,31,0,4,0,2,0,6,0, - 28,0,9,16,32,9,0,0,32,0,48,0,24,0,4,0, - 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, - 48,0,48,128,48,128,255,128,9,16,32,9,0,0,2,0, - 7,0,14,0,24,0,0,0,255,0,49,0,49,0,48,0, - 48,0,63,0,48,0,48,0,48,128,48,128,255,128,9,16, - 32,9,0,0,8,0,28,0,30,0,35,0,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,15,30,9,0,0,33,0,97,0,99,0, - 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, - 48,0,48,128,48,128,255,128,5,16,16,6,0,0,64,224, - 112,16,8,120,48,48,48,48,48,48,48,48,48,120,5,16, - 16,6,1,0,16,56,112,192,0,240,96,96,96,96,96,96, - 96,96,96,240,6,16,16,6,0,0,48,112,120,204,0,120, - 48,48,48,48,48,48,48,48,48,120,7,15,15,6,255,0, - 66,194,194,0,60,24,24,24,24,24,24,24,24,24,60,9, - 11,22,11,1,0,254,0,99,0,97,0,97,128,97,128,249, - 128,97,128,97,128,97,0,99,0,252,0,10,15,30,12,1, - 0,25,0,63,0,46,0,0,0,225,192,96,128,112,128,120, - 128,92,128,76,128,70,128,71,128,67,128,65,128,225,128,10, - 16,32,11,0,0,16,0,24,0,12,0,2,0,0,0,30, - 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,0,30,0,10,16,32,11,0,0,1,0,3,128,6, - 0,12,0,0,0,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,10,16,32,11,0, - 0,4,0,14,0,31,0,17,128,0,0,30,0,33,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,0,30, - 0,10,15,30,11,0,0,12,128,31,128,39,0,0,0,30, - 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,0,30,0,10,15,30,11,0,0,16,128,49,128,49, - 128,0,0,30,0,33,128,64,128,192,192,192,192,192,192,192, - 192,192,192,64,128,97,0,30,0,6,6,6,8,1,2,140, - 216,112,112,216,140,10,11,22,11,0,0,31,192,35,128,99, - 128,195,192,198,192,204,192,216,192,240,192,113,128,113,0,254, - 0,10,16,32,12,1,0,16,0,56,0,28,0,6,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,49,0,30,0,10,16,32,12,1,0,2,0,7, - 0,14,0,24,0,0,0,241,192,96,128,96,128,96,128,96, - 128,96,128,96,128,96,128,96,128,49,0,30,0,10,16,32, - 12,1,0,12,0,14,0,30,0,51,0,0,0,241,192,96, - 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,49, - 0,30,0,10,15,30,12,1,0,33,0,33,128,33,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,49,0,30,0,10,16,32,11,1,0,4,0,7, - 0,12,0,24,0,0,0,227,192,113,128,49,0,59,0,26, - 0,14,0,12,0,12,0,12,0,12,0,30,0,8,11,11, - 10,1,0,240,96,126,99,99,99,99,98,124,96,240,9,13, - 26,11,1,0,14,0,49,128,33,128,97,128,97,0,102,0, - 104,0,100,0,103,0,97,128,104,128,104,128,239,0,8,13, - 13,9,1,0,96,48,16,8,0,60,102,198,30,102,198,207, - 118,8,13,13,9,1,0,12,28,24,48,0,60,102,198,30, - 102,198,207,118,8,13,13,9,1,0,16,56,108,198,0,60, - 102,198,30,102,198,207,118,8,12,12,9,1,0,114,252,0, - 0,60,102,198,30,102,198,207,118,8,12,12,9,1,0,194, - 198,134,0,60,102,198,30,102,198,207,118,8,13,13,9,1, - 0,24,40,40,48,0,60,102,198,30,102,198,207,118,11,8, - 16,13,1,0,61,192,102,32,196,32,63,224,68,0,198,32, - 255,192,115,128,7,12,12,8,1,252,62,70,196,192,192,192, - 102,56,16,8,24,48,7,13,13,9,1,0,96,48,24,8, - 0,60,70,198,254,192,192,98,60,7,13,13,9,1,0,12, - 14,24,48,0,60,70,198,254,192,192,98,60,7,13,13,9, - 1,0,24,56,108,66,0,60,70,198,254,192,192,98,60,7, - 12,12,9,1,0,66,198,194,0,60,70,198,254,192,192,98, - 60,5,13,13,5,0,0,224,96,48,16,0,48,112,48,48, - 48,48,48,120,5,13,13,5,1,0,48,56,96,64,128,96, - 224,96,96,96,96,96,240,6,13,13,5,0,0,48,112,216, - 132,0,48,112,48,48,48,48,48,120,7,12,12,5,255,0, - 66,194,194,0,24,56,24,24,24,24,24,60,7,13,13,9, - 1,0,112,62,56,108,4,62,78,198,198,198,196,76,56,9, - 12,24,10,1,0,57,0,126,0,0,0,0,0,110,0,255, - 0,115,0,99,0,99,0,99,0,99,0,247,128,7,13,13, - 9,1,0,112,48,24,8,0,56,68,198,198,198,198,68,56, - 7,13,13,9,1,0,14,12,24,16,0,56,68,198,198,198, - 198,68,56,7,13,13,9,1,0,24,60,44,66,0,56,68, - 198,198,198,198,68,56,7,12,12,9,1,0,50,124,128,0, - 56,68,198,198,198,198,68,56,7,12,12,9,1,0,66,194, - 66,0,56,68,198,198,198,198,68,56,7,6,6,8,0,2, - 16,16,0,126,144,16,7,9,9,9,1,0,2,58,68,206, - 214,230,230,68,248,10,13,26,10,0,0,24,0,56,0,12, - 0,4,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,13,26,10,0,0,7,0,6,0,12, - 0,8,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,13,26,10,0,0,12,0,30,0,18, - 0,33,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,12,24,10,0,0,33,0,33,128,33, - 0,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,10,17,34,9,255,252,3,0,3,128,6,0,4, - 0,8,0,121,192,48,128,25,128,25,0,15,0,14,0,14, - 0,6,0,4,0,12,0,120,0,240,0,8,18,18,10,1, - 252,96,224,96,96,96,96,110,127,97,97,97,97,98,124,96, - 96,96,240,10,16,32,9,255,252,16,128,48,128,48,128,0, - 0,121,192,48,128,25,128,25,0,15,0,14,0,14,0,6, - 0,4,0,12,0,120,0,240,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=17 x= 1 y= 6 dx=10 dy= 0 ascent=14 len=17 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11n[263] U8G_SECTION(".progmem.u8g_font_gdb11n") = { - 0,27,26,247,250,11,0,0,0,0,42,57,0,14,253,11, - 0,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=32 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11r[2001] U8G_SECTION(".progmem.u8g_font_gdb11r") = { - 0,27,26,247,250,11,2,67,5,71,32,127,252,15,252,14, - 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, - 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, - 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, - 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, - 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, - 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, - 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, - 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, - 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, - 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, - 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, - 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, - 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, - 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, - 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, - 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, - 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, - 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, - 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, - 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, - 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, - 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, - 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, - 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, - 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, - 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, - 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, - 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, - 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, - 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, - 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, - 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, - 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, - 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, - 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, - 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, - 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, - 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, - 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, - 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, - 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, - 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, - 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, - 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, - 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, - 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, - 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, - 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, - 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, - 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, - 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, - 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, - 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, - 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, - 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, - 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, - 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, - 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, - 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, - 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, - 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, - 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, - 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, - 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, - 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, - 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, - 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, - 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, - 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, - 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, - 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, - 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, - 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, - 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, - 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, - 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, - 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, - 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, - 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, - 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, - 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, - 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, - 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, - 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, - 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, - 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, - 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, - 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, - 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, - 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, - 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, - 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, - 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, - 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, - 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, - 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, - 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, - 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, - 255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12[4626] U8G_SECTION(".progmem.u8g_font_gdb12") = { - 0,29,28,246,249,12,2,113,5,210,32,255,252,17,251,15, - 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, - 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, - 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, - 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, - 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, - 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, - 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, - 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, - 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, - 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, - 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, - 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, - 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, - 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, - 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, - 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, - 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, - 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, - 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, - 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, - 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, - 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, - 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, - 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, - 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, - 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, - 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, - 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, - 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, - 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, - 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, - 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, - 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, - 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, - 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, - 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, - 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, - 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, - 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, - 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, - 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, - 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, - 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, - 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, - 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, - 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, - 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, - 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, - 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, - 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, - 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, - 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, - 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, - 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, - 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, - 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, - 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, - 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, - 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, - 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, - 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, - 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, - 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, - 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, - 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, - 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, - 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, - 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, - 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, - 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, - 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, - 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, - 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, - 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, - 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, - 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, - 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, - 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, - 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, - 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, - 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, - 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, - 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, - 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, - 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, - 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, - 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, - 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, - 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, - 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, - 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, - 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, - 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, - 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, - 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, - 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, - 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, - 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, - 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, - 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, - 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, - 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, - 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, - 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, - 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, - 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, - 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, - 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, - 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, - 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, - 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, - 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, - 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, - 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, - 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, - 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, - 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, - 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, - 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, - 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, - 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, - 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, - 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, - 4,8,9,0,4,48,0,125,128,79,0,134,0,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,5,0,0,3,14,14,6,1,251,96,224,64,0,96,96, - 96,96,96,96,96,96,96,64,7,12,12,10,2,0,16,16, - 62,86,144,144,144,144,86,124,16,16,9,11,22,10,0,0, - 15,128,49,128,49,0,112,0,112,0,254,0,112,0,112,0, - 96,128,123,128,255,0,8,7,7,10,1,2,255,66,66,66, - 66,102,255,10,11,22,10,0,0,227,192,113,0,51,0,26, - 0,26,0,12,0,127,128,12,0,12,0,12,0,30,0,1, - 20,20,4,2,252,128,128,128,128,128,128,128,128,128,0,0, - 128,128,128,128,128,128,128,128,128,8,13,13,10,1,0,120, - 152,136,240,190,135,193,113,62,14,34,50,62,6,3,3,7, - 0,10,236,252,220,12,13,26,14,1,0,15,0,48,192,64, - 32,143,32,145,16,145,16,144,16,144,16,144,16,136,160,79, - 32,32,64,31,128,5,7,7,5,0,5,112,208,112,144,248, - 0,240,8,9,9,10,1,0,17,34,102,204,220,204,102,34, - 17,8,4,4,10,1,2,255,1,1,1,6,1,1,7,0, - 4,252,7,7,7,7,0,7,56,68,186,170,178,108,56,8, - 2,2,9,1,11,255,254,5,5,5,7,1,7,112,136,136, - 136,112,8,9,9,8,0,1,8,8,8,127,8,8,8,0, - 255,4,7,7,7,2,6,112,208,16,32,64,144,240,5,7, - 7,6,0,6,56,104,8,24,8,136,112,4,4,4,6,2, - 10,48,96,192,128,10,13,26,11,1,252,99,0,227,0,99, - 0,99,0,99,0,99,0,103,0,127,128,91,64,64,0,64, - 0,96,0,112,0,9,14,28,11,1,254,63,128,101,0,197, - 0,197,0,197,0,101,0,61,0,5,0,5,0,5,0,5, - 0,5,0,5,0,15,128,3,3,3,4,0,5,224,224,192, - 3,4,4,4,1,252,64,96,96,192,5,7,7,7,1,6, - 32,224,32,32,32,32,248,4,7,7,5,0,5,96,144,144, - 144,96,0,240,8,9,9,10,1,0,136,76,102,55,51,55, - 102,76,136,11,11,22,12,1,0,64,64,192,128,65,0,67, - 0,70,0,228,0,8,192,25,64,50,64,35,224,192,224,10, - 11,22,12,1,0,64,64,192,128,65,0,65,0,66,0,228, - 192,9,64,26,128,16,128,33,64,99,192,11,11,22,11,0, - 0,96,32,208,64,32,128,145,128,227,0,2,0,4,192,13, - 64,25,64,19,224,96,224,7,14,14,9,1,251,56,56,48, - 0,16,16,16,32,96,192,194,198,196,120,12,16,32,12,0, - 0,24,0,28,0,3,0,0,0,6,0,14,0,15,0,11, - 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, - 240,12,16,32,12,0,0,1,0,7,128,12,0,0,0,6, - 0,14,0,15,0,11,0,27,0,19,128,17,128,63,128,33, - 192,32,192,96,224,241,240,12,16,32,12,0,0,6,0,15, - 0,16,128,0,0,6,0,14,0,15,0,11,0,27,0,19, - 128,17,128,63,128,33,192,32,192,96,224,241,240,12,16,32, - 12,0,0,12,192,31,128,35,0,0,0,6,0,14,0,15, - 0,11,0,27,0,19,128,17,128,63,128,33,192,32,192,96, - 224,241,240,12,16,32,12,0,0,27,0,27,128,27,0,0, - 0,6,0,14,0,15,0,11,0,27,0,19,128,17,128,63, - 128,33,192,32,192,96,224,241,240,12,17,34,12,0,0,6, - 0,9,0,17,0,14,0,0,0,6,0,14,0,15,0,11, - 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, - 240,15,12,24,15,0,0,31,252,5,132,5,132,13,128,9, - 128,31,248,17,144,17,128,49,128,33,130,97,132,243,252,9, - 16,32,11,1,252,31,0,99,128,65,0,192,0,192,0,192, - 0,192,0,192,0,192,0,96,128,59,128,30,0,8,0,6, - 0,14,0,28,0,10,16,32,10,0,0,48,0,56,0,6, - 0,0,0,255,128,48,128,48,128,48,0,48,0,63,0,50, - 0,48,0,48,0,48,64,48,128,255,128,10,16,32,10,0, - 0,3,0,7,0,24,0,0,0,255,128,48,128,48,128,48, - 0,48,0,63,0,50,0,48,0,48,0,48,64,48,128,255, - 128,10,16,32,10,0,0,12,0,30,0,33,0,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,10,16,32,10,0,0,51,0,63, - 0,54,0,0,0,255,128,48,128,48,128,48,0,48,0,63, - 0,50,0,48,0,48,0,48,64,48,128,255,128,5,16,16, - 6,0,0,192,224,24,0,120,48,48,48,48,48,48,48,48, - 48,48,120,5,16,16,6,1,0,24,56,192,0,240,96,96, - 96,96,96,96,96,96,96,96,240,6,16,16,6,0,0,48, - 120,132,0,120,48,48,48,48,48,48,48,48,48,48,120,6, - 16,16,6,0,0,204,252,216,0,120,48,48,48,48,48,48, - 48,48,48,48,120,10,12,24,12,1,0,254,0,99,128,97, - 128,96,192,96,192,248,192,96,192,96,192,96,192,97,128,99, - 0,254,0,11,16,32,13,1,0,28,128,63,0,39,0,0, - 0,224,224,112,64,112,64,120,64,92,64,78,64,78,64,71, - 64,67,192,65,192,65,192,224,192,10,16,32,12,1,0,48, - 0,56,0,6,0,0,0,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,128,96,128,97,0,30,0,10, - 16,32,12,1,0,2,0,15,0,24,0,0,0,30,0,33, - 128,65,128,64,192,192,192,192,192,192,192,192,192,192,128,96, - 128,97,0,30,0,10,16,32,12,1,0,12,0,30,0,33, - 0,0,0,30,0,33,128,65,128,64,192,192,192,192,192,192, - 192,192,192,192,128,96,128,97,0,30,0,10,16,32,12,1, - 0,25,128,63,0,70,0,0,0,30,0,33,128,65,128,64, - 192,192,192,192,192,192,192,192,192,192,128,96,128,97,0,30, - 0,10,16,32,12,1,0,55,0,55,0,54,0,0,0,30, - 0,33,128,65,128,64,192,192,192,192,192,192,192,192,192,192, - 128,96,128,97,0,30,0,6,6,6,8,1,2,132,72,48, - 48,72,132,10,12,24,12,1,0,30,192,33,128,97,128,67, - 192,198,192,196,192,200,192,216,192,240,128,97,128,97,0,222, - 0,11,16,32,13,1,0,16,0,60,0,6,0,0,0,240, - 224,96,64,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,128,48,128,31,0,11,16,32,13,1,0,3,0,7, - 128,12,0,0,0,240,224,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,128,48,128,31,0,11,16,32, - 13,1,0,12,0,30,0,49,0,0,128,240,224,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,96,128,48, - 128,31,0,11,16,32,13,1,0,27,0,63,0,51,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,128,48,128,31,0,11,16,32,12,0,0,1, - 0,7,128,12,0,0,0,241,224,48,192,24,128,29,128,13, - 0,15,0,6,0,6,0,6,0,6,0,6,0,15,0,9, - 12,24,11,1,0,248,0,96,0,126,0,99,0,97,128,97, - 128,97,128,97,128,113,0,110,0,96,0,248,0,9,14,28, - 12,1,0,14,0,51,0,33,128,97,128,97,128,103,0,108, - 0,108,0,102,0,99,0,97,128,104,128,104,128,239,0,8, - 14,14,9,1,0,112,48,24,8,0,60,102,198,14,126,198, - 198,207,118,8,14,14,9,1,0,14,12,24,48,0,60,102, - 198,14,126,198,198,207,118,8,14,14,9,1,0,24,60,108, - 66,0,60,102,198,14,126,198,198,207,118,8,13,13,9,1, - 0,114,126,140,0,60,102,198,14,126,198,198,207,118,8,13, - 13,9,1,0,108,110,108,0,60,102,198,14,126,198,198,207, - 118,8,14,14,9,1,0,56,68,72,56,0,60,102,198,14, - 126,198,198,207,118,12,9,18,14,1,0,29,192,111,32,198, - 48,166,48,63,240,70,0,199,16,251,224,113,192,8,13,13, - 9,1,252,62,70,196,192,192,192,194,127,60,16,12,28,48, - 7,14,14,9,1,0,112,48,24,8,0,60,100,198,198,254, - 192,226,124,56,7,14,14,9,1,0,14,12,24,16,0,60, - 100,198,198,254,192,226,124,56,7,14,14,9,1,0,24,60, - 100,66,0,60,100,198,198,254,192,226,124,56,7,13,13,9, - 1,0,110,126,108,0,60,100,198,198,254,192,226,124,56,5, - 14,14,6,0,0,224,96,48,16,0,48,112,48,48,48,48, - 48,48,120,5,14,14,6,1,0,56,48,96,64,0,96,224, - 96,96,96,96,96,96,240,6,14,14,6,0,0,48,120,200, - 132,0,48,112,48,48,48,48,48,48,120,6,13,13,6,0, - 0,220,220,216,0,48,112,48,48,48,48,48,48,120,8,14, - 14,10,1,0,48,255,28,102,6,63,71,195,195,195,195,194, - 102,60,9,13,26,11,1,0,57,0,63,0,78,0,0,0, - 102,0,255,0,115,0,99,0,99,0,99,0,99,0,99,0, - 247,128,8,14,14,10,1,0,48,112,24,12,0,60,70,195, - 195,195,195,194,98,60,8,14,14,10,1,0,6,12,24,16, - 0,60,70,195,195,195,195,194,98,60,8,14,14,10,1,0, - 24,60,38,66,0,60,70,195,195,195,195,194,98,60,8,13, - 13,10,1,0,57,126,76,0,60,70,195,195,195,195,194,98, - 60,8,13,13,10,1,0,118,126,108,0,60,70,195,195,195, - 195,194,98,60,8,7,7,8,0,2,8,8,0,127,128,8, - 8,8,9,9,10,1,0,63,102,71,203,219,211,226,102,252, - 10,14,28,11,0,0,24,0,60,0,12,0,6,0,0,0, - 227,128,97,128,97,128,97,128,97,128,97,128,99,128,127,192, - 57,128,10,14,28,11,0,0,3,0,7,0,4,0,8,0, - 0,0,227,128,97,128,97,128,97,128,97,128,97,128,99,128, - 127,192,57,128,10,14,28,11,0,0,12,0,14,0,27,0, - 33,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, - 99,128,127,192,57,128,10,13,26,11,0,0,27,0,63,0, - 51,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, - 99,128,127,192,57,128,11,18,36,10,255,252,3,128,3,0, - 6,0,4,0,0,0,121,224,56,128,24,128,25,128,13,0, - 13,0,14,0,6,0,6,0,4,0,12,0,120,0,240,0, - 9,18,36,11,1,252,96,0,224,0,96,0,96,0,96,0, - 103,0,111,0,113,128,97,128,97,128,97,128,97,0,127,0, - 110,0,96,0,96,0,96,0,248,0,11,17,34,10,255,252, - 25,128,31,128,27,0,0,0,121,224,56,128,24,128,25,128, - 13,0,13,0,14,0,6,0,6,0,4,0,12,0,120,0, - 240,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 9 h=18 x= 1 y= 7 dx=10 dy= 0 ascent=15 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12n[286] U8G_SECTION(".progmem.u8g_font_gdb12n") = { - 0,29,28,246,249,12,0,0,0,0,42,57,0,15,252,12, - 0,7,7,7,8,1,7,48,180,222,48,222,148,48,7,7, - 7,8,1,2,16,16,16,254,16,16,16,3,6,6,5,1, - 252,96,224,96,96,64,128,6,1,1,7,0,4,252,3,3, - 3,5,1,0,224,224,192,9,18,36,9,0,253,1,128,3, - 0,3,0,3,0,6,0,6,0,4,0,12,0,12,0,24, - 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,192, - 0,8,11,11,10,1,0,60,102,66,195,195,195,195,195,66, - 98,60,7,12,12,10,1,0,8,120,152,24,24,24,24,24, - 24,24,24,254,7,11,11,9,1,0,60,102,230,6,4,8, - 16,34,66,126,254,7,11,11,9,1,0,60,102,230,6,8, - 28,6,6,6,140,120,8,12,12,9,0,0,6,14,14,22, - 22,38,102,70,255,6,6,31,7,11,11,10,1,0,126,124, - 64,64,124,134,6,6,6,134,124,8,12,12,10,1,0,14, - 56,112,96,192,254,195,195,195,195,98,60,8,11,11,10,1, - 0,255,254,130,6,4,12,8,24,24,48,96,8,11,11,10, - 1,0,60,102,102,102,124,62,71,195,195,195,60,8,11,11, - 10,1,0,60,70,195,195,195,195,63,2,6,12,112}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12r[2190] U8G_SECTION(".progmem.u8g_font_gdb12r") = { - 0,29,28,246,249,12,2,113,5,210,32,127,252,16,252,15, - 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, - 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, - 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, - 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, - 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, - 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, - 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, - 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, - 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, - 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, - 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, - 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, - 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, - 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, - 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, - 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, - 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, - 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, - 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, - 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, - 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, - 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, - 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, - 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, - 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, - 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, - 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, - 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, - 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, - 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, - 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, - 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, - 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, - 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, - 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, - 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, - 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, - 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, - 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, - 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, - 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, - 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, - 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, - 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, - 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, - 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, - 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, - 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, - 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, - 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, - 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, - 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, - 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, - 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, - 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, - 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, - 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, - 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, - 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, - 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, - 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, - 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, - 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, - 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, - 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, - 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, - 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, - 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, - 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, - 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, - 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, - 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, - 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, - 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, - 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, - 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, - 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, - 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, - 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, - 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, - 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, - 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, - 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, - 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, - 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, - 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, - 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, - 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, - 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, - 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, - 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, - 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, - 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, - 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, - 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, - 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, - 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, - 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, - 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, - 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, - 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, - 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, - 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, - 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, - 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, - 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, - 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, - 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, - 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, - 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, - 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, - 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, - 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, - 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, - 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, - 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, - 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, - 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, - 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, - 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, - 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, - 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, - 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, - 4,8,9,0,4,48,0,125,128,79,0,134,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=19 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=60 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14[6044] U8G_SECTION(".progmem.u8g_font_gdb14") = { - 0,36,33,244,248,14,3,134,7,177,32,255,251,20,250,18, - 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, - 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, - 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, - 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, - 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, - 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, - 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, - 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, - 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, - 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, - 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, - 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, - 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, - 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, - 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, - 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, - 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, - 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, - 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, - 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, - 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, - 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, - 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, - 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, - 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, - 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, - 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, - 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, - 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, - 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, - 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, - 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, - 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, - 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, - 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, - 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, - 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, - 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, - 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, - 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, - 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, - 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, - 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, - 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, - 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, - 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, - 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, - 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, - 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, - 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, - 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, - 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, - 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, - 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, - 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, - 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, - 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, - 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, - 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, - 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, - 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, - 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, - 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, - 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, - 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, - 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, - 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, - 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, - 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, - 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, - 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, - 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, - 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, - 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, - 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, - 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, - 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, - 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, - 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, - 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, - 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, - 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, - 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, - 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, - 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, - 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, - 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, - 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, - 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, - 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, - 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, - 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, - 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, - 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, - 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, - 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, - 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, - 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, - 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, - 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, - 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, - 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, - 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, - 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, - 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, - 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, - 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, - 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, - 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, - 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, - 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, - 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, - 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, - 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, - 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, - 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, - 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, - 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, - 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, - 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, - 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, - 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, - 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, - 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, - 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, - 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, - 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, - 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, - 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, - 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, - 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, - 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, - 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, - 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, - 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, - 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, - 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, - 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, - 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, - 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, - 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, - 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, - 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, - 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, - 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, - 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, - 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, - 5,48,64,124,128,159,0,135,0,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,0, - 4,16,16,7,1,250,112,240,96,0,32,32,32,112,112,112, - 112,112,112,112,112,96,10,14,28,12,1,0,12,0,12,0, - 31,128,125,192,108,128,204,0,204,0,204,0,204,0,236,192, - 127,128,63,0,12,0,12,0,11,14,28,12,0,0,7,192, - 12,224,24,64,24,64,56,0,56,0,56,0,127,0,184,0, - 56,0,56,32,48,32,127,224,255,224,10,9,18,12,1,2, - 128,64,94,128,51,0,97,128,97,128,97,128,51,128,94,128, - 128,64,12,14,28,12,0,0,241,240,120,192,56,192,29,128, - 29,128,13,0,15,0,6,0,63,192,6,0,6,0,6,0, - 6,0,31,128,2,24,24,5,2,251,192,192,192,192,192,192, - 192,192,192,192,128,0,0,64,192,192,192,192,192,192,192,192, - 192,192,9,16,32,11,1,0,62,0,99,0,99,0,112,0, - 60,0,127,0,199,128,195,128,225,128,121,128,63,0,31,0, - 71,0,67,0,99,0,126,0,7,3,3,9,1,12,198,238, - 198,15,15,30,17,1,0,7,192,24,48,48,24,99,204,108, - 236,200,70,216,6,216,6,216,6,216,6,108,44,103,204,48, - 24,24,48,7,192,6,7,7,6,0,7,120,216,24,248,216, - 252,248,9,10,20,12,1,0,8,128,17,128,51,0,103,0, - 238,0,238,0,103,0,51,0,17,128,8,128,10,5,10,12, - 1,2,255,192,0,192,0,192,0,192,0,192,7,1,1,8, - 1,5,254,8,8,8,8,0,8,60,66,157,149,153,153,86, - 60,9,2,4,11,1,13,255,128,255,128,6,5,5,8,1, - 9,56,76,204,200,112,8,10,10,9,1,2,24,24,24,24, - 255,24,24,24,0,255,6,8,8,8,1,7,120,204,140,24, - 16,32,68,252,6,8,8,8,1,7,56,204,140,56,12,12, - 140,120,6,5,5,7,2,12,56,60,112,96,192,12,15,30, - 13,1,251,96,192,225,192,96,192,96,192,96,192,96,192,96, - 192,113,192,127,240,110,192,96,0,96,0,112,0,112,0,96, - 0,14,17,34,14,0,253,31,252,113,176,225,176,225,176,225, - 176,225,176,113,176,31,176,1,176,1,176,1,176,1,176,1, - 176,1,176,1,176,1,176,7,252,4,3,3,5,0,6,96, - 240,224,4,5,5,5,1,251,32,96,48,48,224,6,8,8, - 8,1,7,48,240,48,48,48,48,48,252,5,7,7,6,0, - 7,112,216,216,216,216,112,248,10,10,20,12,1,0,196,0, - 102,0,99,0,51,128,57,192,61,192,49,128,99,0,102,0, - 196,0,12,14,28,14,1,0,48,16,240,48,48,96,48,192, - 48,128,49,128,255,0,6,96,4,224,13,224,25,96,19,240, - 48,96,96,240,12,14,28,14,1,0,48,48,240,96,48,192, - 48,192,49,128,51,0,254,0,6,240,13,48,26,48,16,96, - 48,192,97,144,195,240,14,14,28,15,0,0,56,8,76,24, - 40,48,60,96,12,64,140,192,121,128,3,24,2,56,6,88, - 12,88,8,252,24,24,48,60,9,16,32,11,1,250,28,0, - 30,0,12,0,0,0,12,0,12,0,12,0,24,0,56,0, - 112,0,96,0,224,0,227,128,227,128,231,0,126,0,14,20, - 40,14,0,0,8,0,28,0,15,0,3,128,0,0,0,0, - 1,0,7,128,7,128,5,128,13,192,12,192,8,224,24,224, - 31,224,16,112,48,112,48,48,32,56,248,124,14,20,40,14, - 0,0,0,128,0,224,3,192,7,0,0,0,0,0,1,0, - 7,128,7,128,5,128,13,192,12,192,8,224,24,224,31,224, - 16,112,48,112,48,48,32,56,248,124,14,20,40,14,0,0, - 3,0,7,128,15,192,12,96,16,0,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,14,19,38,14,0,0,4,32, - 15,240,27,192,0,0,0,0,1,0,7,128,7,128,5,128, - 13,192,12,192,8,224,24,224,31,224,16,112,48,112,48,48, - 32,56,248,124,14,19,38,14,0,0,8,64,28,224,24,224, - 0,0,0,0,1,0,7,128,7,128,5,128,13,192,12,192, - 8,224,24,224,31,224,16,112,48,112,48,48,32,56,248,124, - 14,20,40,14,0,0,1,128,6,192,6,192,7,128,0,0, - 0,0,1,0,7,128,7,128,5,128,13,192,12,192,8,224, - 24,224,31,224,16,112,48,112,48,48,32,56,248,124,18,14, - 42,19,0,0,7,255,128,1,225,128,3,96,128,3,96,128, - 6,96,0,6,96,0,7,255,0,12,98,0,12,96,0,24, - 96,0,24,96,0,48,96,64,48,96,192,249,255,128,11,19, - 38,13,1,251,15,192,49,192,96,128,64,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,112,96,63,192,31,128, - 4,0,6,0,3,0,3,0,12,0,12,20,40,12,0,0, - 16,0,56,0,30,0,7,0,0,0,0,0,255,224,56,96, - 56,96,56,64,56,0,56,0,63,192,56,128,56,0,56,0, - 56,0,56,48,56,32,255,224,12,20,40,12,0,0,1,0, - 1,192,7,128,14,0,0,0,0,0,255,224,56,96,56,96, - 56,64,56,0,56,0,63,192,56,128,56,0,56,0,56,0, - 56,48,56,32,255,224,12,20,40,12,0,0,6,0,15,0, - 31,128,48,192,0,0,0,0,255,224,56,96,56,96,56,64, - 56,0,56,0,63,192,56,128,56,0,56,0,56,0,56,48, - 56,32,255,224,12,19,38,12,0,0,16,128,49,192,49,192, - 0,0,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 7,20,20,8,0,0,64,224,112,24,4,0,126,24,24,24, - 24,24,24,24,24,24,24,24,24,126,7,20,20,8,1,0, - 8,30,60,96,128,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,252,7,20,20,8,0,0,16,56,124,198,0,0, - 126,24,24,24,24,24,24,24,24,24,24,24,24,126,8,19, - 19,8,255,0,65,99,227,0,0,63,12,12,12,12,12,12, - 12,12,12,12,12,12,63,14,14,28,15,0,0,127,192,240, - 240,48,56,48,24,48,28,48,28,254,28,48,28,48,28,48, - 28,48,24,48,56,48,240,255,192,15,19,38,15,0,0,2, - 32,15,240,11,224,16,0,0,0,248,126,56,24,60,24,62, - 24,54,24,55,24,51,152,49,152,49,216,48,248,48,120,48, - 56,48,56,252,24,12,20,40,14,1,0,16,0,60,0,30, - 0,3,0,0,0,0,0,15,128,48,192,96,96,64,96,192, - 48,192,48,192,48,192,48,192,48,192,48,96,96,96,64,48, - 128,31,0,12,20,40,14,1,0,1,0,1,192,7,128,14, - 0,0,0,0,0,15,128,48,192,96,96,64,96,192,48,192, - 48,192,48,192,48,192,48,192,48,96,96,96,64,48,128,31, - 0,12,20,40,14,1,0,6,0,15,0,15,128,24,192,32, - 0,0,0,15,128,48,192,96,96,64,96,192,48,192,48,192, - 48,192,48,192,48,192,48,96,96,96,64,48,128,31,0,12, - 19,38,14,1,0,8,64,31,224,55,128,0,0,0,0,15, - 128,48,192,96,96,64,96,192,48,192,48,192,48,192,48,192, - 48,192,48,96,96,96,64,48,128,31,0,12,19,38,14,1, - 0,16,128,57,192,49,192,0,0,0,0,15,128,48,192,96, - 96,64,96,192,48,192,48,192,48,192,48,192,48,192,48,96, - 96,96,64,48,128,31,0,8,7,7,10,1,3,195,102,60, - 24,60,102,195,12,15,30,14,1,255,15,176,16,224,32,224, - 96,224,193,240,195,112,195,48,198,48,204,48,232,32,120,96, - 112,64,112,128,223,0,128,0,15,20,40,15,0,0,4,0, - 14,0,7,0,1,192,0,0,0,0,252,126,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,24, - 24,48,24,32,7,192,15,20,40,15,0,0,0,64,0,240, - 1,224,3,0,0,0,0,0,252,126,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,24,48, - 24,32,7,192,15,20,40,15,0,0,1,128,3,128,7,192, - 12,96,0,16,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,19,38,15,0,0,4,32,12,112,12,96,0,0, - 0,0,252,126,48,24,48,24,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,24,48,24,32,7,192,13,20, - 40,14,0,0,0,128,0,224,3,192,7,0,0,0,0,0, - 240,120,56,48,28,96,28,96,14,192,6,128,7,128,3,0, - 3,0,3,0,3,0,3,0,3,0,15,192,12,14,28,13, - 0,0,252,0,48,0,48,0,63,192,48,96,48,48,48,48, - 48,48,48,48,48,96,55,192,48,0,48,0,252,0,11,17, - 34,14,1,0,15,128,16,192,32,96,32,96,96,96,96,96, - 97,192,99,0,99,0,99,0,99,192,97,192,96,224,104,96, - 104,96,108,64,239,128,10,17,34,11,1,0,48,0,120,0, - 24,0,12,0,6,0,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,17, - 34,11,1,0,7,0,7,0,14,0,12,0,24,0,0,0, - 0,0,62,0,99,0,227,0,3,0,63,0,99,0,195,0, - 195,0,255,192,123,0,10,17,34,11,1,0,12,0,30,0, - 62,0,115,0,65,128,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,16, - 32,11,1,0,56,128,124,128,127,0,198,0,0,0,0,0, - 62,0,99,0,227,0,3,0,63,0,99,0,195,0,195,0, - 255,192,123,0,10,15,30,11,1,0,99,0,99,128,99,0, - 0,0,0,0,62,0,99,0,227,0,3,0,63,0,99,0, - 195,0,195,0,255,192,123,0,10,16,32,11,1,0,14,0, - 27,0,26,0,28,0,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,15,10, - 20,17,1,0,30,120,119,140,227,6,131,6,31,252,99,0, - 195,0,199,132,253,252,112,240,9,15,30,10,1,251,31,0, - 99,128,65,0,192,0,192,0,192,0,192,0,225,0,126,0, - 60,0,16,0,28,0,12,0,12,0,48,0,9,17,34,11, - 1,0,56,0,56,0,28,0,12,0,6,0,0,0,0,0, - 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, - 127,0,62,0,9,17,34,11,1,0,7,0,7,128,14,0, - 12,0,24,0,0,0,0,0,30,0,99,0,65,128,193,128, - 255,128,192,0,192,0,225,128,127,0,62,0,9,17,34,11, - 1,0,12,0,30,0,63,0,51,0,96,128,0,0,0,0, - 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, - 127,0,62,0,9,15,30,11,1,0,97,128,99,128,99,0, - 0,0,0,0,30,0,99,0,65,128,193,128,255,128,192,0, - 192,0,225,128,127,0,62,0,6,17,17,7,0,0,224,112, - 48,24,8,0,0,56,120,24,24,24,24,24,24,24,124,6, - 17,17,7,1,0,28,60,56,96,64,0,0,112,240,48,48, - 48,48,48,48,48,248,7,17,17,7,0,0,56,56,124,198, - 130,0,0,56,120,24,24,24,24,24,24,24,124,8,15,15, - 7,255,0,99,227,195,0,0,28,60,12,12,12,12,12,12, - 12,62,10,17,34,12,1,0,24,0,125,192,15,128,31,0, - 51,128,3,128,1,192,31,192,97,192,64,192,192,192,192,192, - 192,192,192,128,225,128,113,0,30,0,12,16,32,13,1,0, - 28,64,62,64,63,128,99,0,0,0,0,0,51,128,247,192, - 56,192,48,192,48,192,48,192,48,192,48,192,48,192,249,240, - 10,17,34,12,1,0,56,0,56,0,28,0,6,0,2,0, - 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, - 192,192,96,128,113,0,30,0,10,17,34,12,1,0,3,128, - 7,0,6,0,12,0,8,0,0,0,0,0,30,0,33,128, - 65,128,192,192,192,192,192,192,192,192,96,128,113,0,30,0, - 10,17,34,12,1,0,12,0,30,0,31,0,49,128,96,128, - 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, - 192,192,96,128,113,0,30,0,10,16,32,12,1,0,24,64, - 60,128,127,128,71,0,0,0,0,0,30,0,33,128,65,128, - 192,192,192,192,192,192,192,192,96,128,113,0,30,0,10,15, - 30,12,1,0,49,128,115,128,97,128,0,0,0,0,30,0, - 33,128,65,128,192,192,192,192,192,192,192,192,96,128,113,0, - 30,0,8,8,8,10,1,2,24,24,16,255,0,24,24,24, - 10,12,24,12,1,255,0,64,30,192,51,128,99,192,199,192, - 196,192,200,192,248,192,113,128,113,0,94,0,128,0,12,17, - 34,13,1,0,56,0,28,0,12,0,6,0,2,0,0,0, - 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, - 97,192,127,240,60,192,12,17,34,13,1,0,3,128,7,128, - 6,0,12,0,8,0,0,0,0,0,97,192,224,192,96,192, - 96,192,96,192,96,192,96,192,97,192,127,240,60,192,12,17, - 34,13,1,0,14,0,14,0,31,0,49,128,32,128,0,0, - 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, - 97,192,127,240,60,192,12,15,30,13,1,0,49,128,113,128, - 97,128,0,0,0,0,97,192,224,192,96,192,96,192,96,192, - 96,192,96,192,97,192,127,240,60,192,13,22,44,12,255,251, - 0,192,1,224,1,128,3,0,6,0,0,0,0,0,124,120, - 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, - 3,0,3,0,6,0,70,0,124,0,248,0,11,22,44,13, - 1,251,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 51,128,63,192,56,224,48,96,48,96,48,96,48,96,48,192, - 63,128,55,0,48,0,48,0,48,0,48,0,252,0,13,20, - 40,12,255,251,24,96,28,224,24,192,0,0,0,0,124,120, - 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, - 3,0,3,0,6,0,70,0,124,0,248,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=11 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14n[448] U8G_SECTION(".progmem.u8g_font_gdb14n") = { - 0,36,33,244,248,14,0,0,0,0,42,57,0,18,252,14, - 0,9,10,20,10,1,8,24,0,24,0,219,0,255,128,60, - 0,62,0,255,0,219,0,24,0,24,0,8,8,8,10,1, - 2,24,24,24,255,24,24,24,24,4,7,7,6,1,252,48, - 240,48,48,32,96,64,7,1,1,8,1,5,254,4,3,3, - 6,1,0,96,240,224,11,22,44,11,0,252,0,96,0,192, - 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, - 6,0,12,0,12,0,28,0,24,0,24,0,56,0,48,0, - 48,0,96,0,96,0,192,0,10,14,28,12,1,0,30,0, - 51,0,97,128,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,97,128,97,128,51,0,30,0,8,14,14,12,2,0, - 8,120,248,24,24,24,24,24,24,24,24,24,24,255,8,14, - 14,11,2,0,62,103,227,195,3,6,4,12,24,48,33,65, - 255,255,9,14,28,11,1,0,30,0,99,0,227,0,67,0, - 3,0,6,0,31,0,7,128,3,128,1,128,1,128,1,128, - 67,0,190,0,10,14,28,12,1,0,1,0,7,0,7,0, - 15,0,27,0,19,0,51,0,99,0,99,0,255,192,3,0, - 3,0,3,0,15,192,9,14,28,12,1,0,63,128,63,0, - 32,0,96,0,96,0,126,0,67,0,1,128,1,128,1,128, - 1,128,1,128,195,0,62,0,10,14,28,12,1,0,7,0, - 28,0,48,0,96,0,64,0,223,0,225,128,192,192,192,192, - 192,192,192,192,96,128,49,128,30,0,10,14,28,12,1,0, - 127,192,255,128,129,128,129,128,3,0,3,0,2,0,6,0, - 6,0,12,0,12,0,24,0,56,0,48,0,9,14,28,11, - 1,0,62,0,113,128,241,128,241,128,249,128,127,0,63,0, - 63,128,99,128,193,128,193,128,193,128,99,0,62,0,10,14, - 28,12,1,0,31,0,35,128,65,128,192,192,192,192,192,192, - 192,192,97,192,62,192,0,128,1,128,3,0,14,0,56,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=19 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=60 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14r[2842] U8G_SECTION(".progmem.u8g_font_gdb14r") = { - 0,36,33,244,248,14,3,134,7,177,32,127,251,19,251,18, - 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, - 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, - 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, - 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, - 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, - 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, - 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, - 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, - 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, - 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, - 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, - 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, - 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, - 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, - 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, - 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, - 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, - 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, - 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, - 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, - 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, - 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, - 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, - 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, - 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, - 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, - 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, - 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, - 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, - 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, - 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, - 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, - 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, - 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, - 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, - 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, - 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, - 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, - 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, - 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, - 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, - 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, - 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, - 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, - 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, - 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, - 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, - 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, - 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, - 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, - 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, - 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, - 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, - 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, - 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, - 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, - 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, - 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, - 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, - 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, - 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, - 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, - 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, - 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, - 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, - 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, - 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, - 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, - 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, - 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, - 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, - 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, - 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, - 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, - 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, - 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, - 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, - 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, - 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, - 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, - 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, - 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, - 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, - 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, - 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, - 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, - 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, - 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, - 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, - 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, - 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, - 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, - 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, - 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, - 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, - 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, - 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, - 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, - 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, - 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, - 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, - 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, - 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, - 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, - 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, - 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, - 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, - 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, - 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, - 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, - 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, - 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, - 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, - 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, - 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, - 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, - 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, - 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, - 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, - 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, - 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, - 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, - 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, - 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, - 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, - 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, - 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, - 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, - 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, - 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, - 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, - 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, - 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, - 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, - 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, - 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, - 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, - 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, - 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, - 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, - 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, - 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, - 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, - 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, - 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, - 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, - 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, - 5,48,64,124,128,159,0,135,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=23 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=69 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x=-4 y=-7 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17[7600] U8G_SECTION(".progmem.u8g_font_gdb17") = { - 0,42,39,242,246,17,4,81,9,172,32,255,250,23,249,21, - 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, - 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, - 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, - 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, - 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, - 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, - 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, - 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, - 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, - 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, - 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, - 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, - 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, - 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, - 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, - 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, - 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, - 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, - 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, - 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, - 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, - 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, - 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, - 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, - 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, - 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, - 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, - 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, - 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, - 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, - 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, - 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, - 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, - 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, - 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, - 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, - 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, - 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, - 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, - 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, - 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, - 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, - 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, - 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, - 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, - 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, - 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, - 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, - 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, - 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, - 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, - 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, - 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, - 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, - 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, - 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, - 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, - 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, - 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, - 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, - 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, - 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, - 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, - 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, - 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, - 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, - 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, - 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, - 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, - 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, - 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, - 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, - 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, - 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, - 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, - 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, - 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, - 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, - 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, - 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, - 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, - 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, - 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, - 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, - 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, - 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, - 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, - 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, - 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, - 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, - 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, - 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, - 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, - 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, - 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, - 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, - 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, - 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, - 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, - 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, - 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, - 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, - 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, - 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, - 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, - 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, - 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, - 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, - 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, - 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, - 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, - 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, - 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, - 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, - 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, - 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, - 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, - 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, - 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, - 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, - 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, - 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, - 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, - 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, - 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, - 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, - 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, - 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, - 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, - 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, - 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, - 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, - 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, - 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, - 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, - 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, - 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, - 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, - 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, - 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, - 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, - 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, - 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, - 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, - 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, - 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, - 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, - 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, - 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, - 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,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,7,0,0,4,19,19,8,2,249, - 112,240,240,224,32,96,96,96,96,96,96,112,112,112,240,240, - 240,240,192,10,17,34,14,2,255,12,0,12,0,15,128,63, - 192,109,192,108,192,204,0,204,0,204,0,204,0,204,0,236, - 64,125,192,63,128,30,0,12,0,12,0,13,16,32,14,0, - 0,3,240,6,56,12,16,28,16,28,16,60,0,60,0,60, - 0,255,192,60,0,60,0,60,16,56,24,56,24,127,248,255, - 240,12,11,22,14,1,2,192,48,239,112,112,224,96,96,96, - 96,96,96,96,96,112,224,111,96,192,48,128,16,15,16,32, - 14,255,0,248,126,120,56,60,48,30,48,30,96,15,96,7, - 192,7,192,7,192,3,128,63,248,3,128,3,128,3,128,3, - 128,15,224,2,27,27,6,2,251,192,192,192,192,192,192,192, - 192,192,192,192,192,128,0,0,192,192,192,192,192,192,192,192, - 192,192,192,192,10,19,38,13,2,0,31,0,35,128,97,0, - 113,0,120,0,62,0,127,128,207,128,195,192,225,192,240,192, - 124,192,63,128,31,128,7,128,65,128,65,128,97,0,126,0, - 9,4,8,11,1,14,115,128,247,128,247,128,231,0,18,18, - 54,20,1,0,3,240,0,14,28,0,24,6,0,48,3,0, - 97,241,128,102,57,128,198,16,192,204,0,192,204,0,192,204, - 0,192,204,0,192,204,0,192,102,1,128,103,25,128,49,243, - 0,24,6,0,12,12,0,3,240,0,6,9,9,7,1,8, - 120,216,24,120,216,216,252,0,252,11,12,24,14,1,0,4, - 32,8,96,24,192,49,192,115,128,231,128,231,128,115,128,49, - 192,24,192,8,96,4,32,12,6,12,14,1,2,127,240,128, - 48,0,48,0,48,0,48,0,32,8,1,1,10,1,6,255, - 10,9,18,10,255,10,30,0,97,128,255,128,219,192,222,192, - 220,192,251,192,97,128,30,0,11,2,4,13,1,16,127,224, - 255,224,6,7,7,10,2,10,56,76,204,204,204,200,112,10, - 12,24,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,0,0,0,0,255,192,7,10,10, - 9,1,8,60,102,230,6,12,24,16,50,98,254,7,10,10, - 9,1,8,60,102,70,6,28,6,6,6,142,120,6,6,6, - 9,3,14,56,60,112,96,192,128,15,18,36,15,0,250,24, - 24,248,120,56,56,56,56,56,56,56,56,56,56,56,56,60, - 120,63,248,63,190,55,24,48,0,48,0,56,0,56,0,60, - 0,48,0,15,20,40,17,1,253,15,254,49,248,113,152,225, - 152,225,152,225,152,225,152,113,152,121,152,31,152,1,152,1, - 152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,7, - 254,4,4,4,6,1,7,112,240,240,224,5,6,6,6,1, - 250,32,96,120,56,112,224,7,10,10,9,1,8,24,248,24, - 24,24,24,24,24,24,126,7,9,9,8,0,8,56,76,198, - 198,198,228,120,0,254,11,12,24,14,2,0,132,0,198,0, - 99,0,115,128,57,192,61,224,61,224,57,192,115,128,99,0, - 198,0,132,0,15,16,32,17,1,0,48,6,240,12,48,24, - 48,48,48,48,48,96,48,192,253,128,1,140,3,28,6,44, - 12,44,12,76,24,254,48,12,96,62,15,16,32,17,1,0, - 48,6,240,12,48,24,48,24,48,48,48,96,48,192,252,192, - 1,188,3,102,6,70,6,12,12,8,24,16,48,34,112,126, - 15,16,32,17,1,0,56,6,204,12,12,24,56,48,12,48, - 12,96,140,192,121,128,1,140,3,28,6,60,12,44,12,76, - 24,254,48,12,96,62,10,19,38,12,1,249,14,0,30,0, - 30,0,28,0,0,0,6,0,6,0,6,0,14,0,12,0, - 24,0,56,0,112,0,224,0,224,192,225,192,225,192,243,128, - 62,0,17,23,69,17,0,0,6,0,0,15,0,0,7,128, - 0,1,192,0,0,96,0,0,0,0,0,192,0,1,192,0, - 3,192,0,3,224,0,2,224,0,6,240,0,6,112,0,6, - 112,0,12,120,0,12,56,0,15,248,0,24,28,0,24,28, - 0,16,28,0,48,14,0,48,14,0,252,63,128,17,23,69, - 17,0,0,0,48,0,0,120,0,1,224,0,3,128,0,2, - 0,0,0,0,0,0,192,0,1,192,0,3,192,0,3,224, - 0,2,224,0,6,240,0,6,112,0,6,112,0,12,120,0, - 12,56,0,15,248,0,24,28,0,24,28,0,16,28,0,48, - 14,0,48,14,0,252,63,128,17,23,69,17,0,0,1,192, - 0,3,224,0,7,240,0,14,48,0,8,24,0,0,0,0, - 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, - 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, - 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, - 252,63,128,17,22,66,17,0,0,7,140,0,15,248,0,15, - 240,0,16,96,0,0,0,0,0,192,0,1,192,0,3,192, - 0,3,224,0,2,224,0,6,240,0,6,112,0,6,112,0, - 12,120,0,12,56,0,15,248,0,24,28,0,24,28,0,16, - 28,0,48,14,0,48,14,0,252,63,128,17,22,66,17,0, - 0,7,56,0,15,120,0,15,120,0,6,48,0,0,0,0, - 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, - 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, - 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, - 252,63,128,17,23,69,17,0,0,3,224,0,6,96,0,6, - 96,0,7,96,0,3,128,0,0,0,0,0,192,0,1,192, - 0,3,192,0,3,224,0,2,224,0,6,240,0,6,112,0, - 6,112,0,12,120,0,12,56,0,15,248,0,24,28,0,24, - 28,0,16,28,0,48,14,0,48,14,0,252,63,128,21,17, - 51,22,0,0,7,255,240,1,248,48,1,248,48,3,184,48, - 3,184,48,3,56,0,7,56,0,6,56,0,7,255,224,12, - 56,64,12,56,0,28,56,0,24,56,0,24,56,8,48,56, - 24,48,56,24,248,255,248,14,23,46,15,1,250,7,240,24, - 120,48,48,112,0,96,0,96,0,224,0,224,0,224,0,224, - 0,224,0,240,0,112,0,120,8,60,60,63,240,15,192,1, - 0,3,128,3,192,1,192,3,128,6,0,13,23,46,14,1, - 0,24,0,60,0,94,0,7,0,1,128,0,0,255,240,120, - 48,120,48,120,32,120,32,120,0,120,0,120,0,127,192,120, - 128,120,0,120,0,120,0,120,16,120,24,120,48,255,240,13, - 23,46,14,1,0,1,192,3,224,7,128,14,0,24,0,0, - 0,255,240,120,48,120,48,120,32,120,32,120,0,120,0,120, - 0,127,192,120,128,120,0,120,0,120,0,120,16,120,24,120, - 48,255,240,13,23,46,14,1,0,7,0,15,0,31,128,56, - 192,32,96,0,0,255,240,120,48,120,48,120,32,120,32,120, - 0,120,0,120,0,127,192,120,128,120,0,120,0,120,0,120, - 16,120,24,120,48,255,240,13,22,44,14,1,0,28,224,61, - 224,61,224,24,192,0,0,255,240,120,48,120,48,120,32,120, - 32,120,0,120,0,120,0,127,192,120,128,120,0,120,0,120, - 0,120,16,120,24,120,48,255,240,8,23,23,9,0,0,96, - 240,120,28,6,0,127,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,127,8,23,23,9,1,0,6,31,60,112, - 64,0,254,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,9,23,46,9,0,0,28,0,62,0,126,0,227, - 0,129,128,0,0,127,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,127,0,9,22,44,9,0,0,115,128,247, - 128,247,128,99,0,0,0,127,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,127,0,16,17,34,17,0,0,63, - 224,248,120,56,60,56,30,56,30,56,15,56,15,56,15,255, - 143,56,15,56,15,56,15,56,30,56,30,56,60,56,120,255, - 224,18,22,66,18,0,0,3,204,0,7,248,0,15,248,0, - 8,112,0,0,0,0,248,15,192,124,3,0,60,3,0,62, - 3,0,63,3,0,55,131,0,51,195,0,51,195,0,49,227, - 0,48,243,0,48,123,0,48,123,0,48,63,0,48,31,0, - 48,15,0,48,7,0,252,3,0,15,23,46,17,1,0,12, - 0,30,0,15,0,3,128,0,64,0,0,7,192,24,112,48, - 56,48,28,96,28,96,14,224,14,224,14,224,14,224,14,224, - 14,224,12,112,28,112,24,56,24,28,32,7,192,15,23,46, - 17,1,0,0,96,0,240,3,224,7,0,4,0,0,0,7, - 192,24,112,48,56,48,28,96,28,96,14,224,14,224,14,224, - 14,224,14,224,14,224,12,112,28,112,24,56,24,28,32,7, - 192,15,23,46,17,1,0,3,128,7,192,15,224,28,96,16, - 48,0,0,7,192,24,112,48,56,48,28,96,28,96,14,224, - 14,224,14,224,14,224,14,224,14,224,12,112,28,112,24,56, - 24,28,32,7,192,15,22,44,17,1,0,15,24,31,240,31, - 224,48,192,0,0,7,192,24,112,48,56,48,28,96,28,96, - 14,224,14,224,14,224,14,224,14,224,14,224,12,112,28,112, - 24,56,24,28,32,7,192,15,22,44,17,1,0,14,112,30, - 240,30,240,12,96,0,0,7,192,24,112,48,56,48,28,96, - 28,96,14,224,14,224,14,224,14,224,14,224,14,224,12,112, - 28,112,24,56,24,28,32,7,192,9,9,18,11,1,3,193, - 128,227,128,119,0,62,0,28,0,62,0,119,0,227,128,193, - 128,15,18,36,17,1,255,7,238,8,124,56,56,48,60,112, - 124,96,254,224,238,225,206,227,142,227,14,231,14,254,12,124, - 28,124,24,56,48,124,32,239,192,128,0,17,23,69,18,0, - 0,3,0,0,7,128,0,3,192,0,0,224,0,0,48,0, - 0,0,0,254,31,128,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, - 0,56,6,0,56,6,0,56,6,0,56,4,0,28,12,0, - 14,24,0,3,224,0,17,23,69,18,0,0,0,56,0,0, - 124,0,0,240,0,1,192,0,3,0,0,0,0,0,254,31, - 128,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,4,0,28,12,0,14,24,0,3,224, - 0,17,23,69,18,0,0,0,224,0,1,224,0,3,240,0, - 7,24,0,4,12,0,0,0,0,254,31,128,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, - 0,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, - 56,4,0,28,12,0,14,24,0,3,224,0,17,22,66,18, - 0,0,3,156,0,7,188,0,7,188,0,3,24,0,0,0, - 0,254,31,128,56,6,0,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,4,0,28,12,0,14,24, - 0,3,224,0,16,23,46,17,0,0,0,48,0,248,1,224, - 3,128,2,0,0,0,248,31,60,14,28,12,14,24,15,24, - 7,48,7,48,3,224,3,224,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,7,240,14,17,34,15,0,0,254,0, - 56,0,56,0,63,192,56,112,56,56,56,28,56,28,56,28, - 56,28,56,56,56,112,59,224,56,0,56,0,56,0,254,0, - 15,20,40,17,0,0,1,240,6,60,12,28,24,14,24,14, - 56,14,56,28,56,56,56,96,56,192,56,192,56,224,56,120, - 56,60,56,30,56,14,57,6,57,134,57,132,249,248,12,20, - 40,13,1,0,56,0,60,0,28,0,14,0,6,0,3,0, - 0,0,0,0,31,128,113,192,241,192,129,192,3,192,63,192, - 113,192,225,192,225,192,227,240,253,224,121,128,12,20,40,13, - 1,0,3,192,3,192,7,128,7,0,14,0,12,0,0,0, - 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,12,20,40,13,1,0, - 6,0,15,0,31,0,59,128,48,192,96,64,0,0,0,0, - 31,128,113,192,241,192,129,192,3,192,63,192,113,192,225,192, - 225,192,227,240,253,224,121,128,12,19,38,13,1,0,0,32, - 28,96,63,192,71,192,67,128,0,0,0,0,31,128,113,192, - 241,192,129,192,3,192,63,192,113,192,225,192,225,192,227,240, - 253,224,121,128,12,18,36,13,1,0,57,192,61,224,57,192, - 57,192,0,0,0,0,31,128,113,192,241,192,129,192,3,192, - 63,192,113,192,225,192,225,192,227,240,253,224,121,128,12,19, - 38,13,1,0,15,0,27,0,25,128,27,0,30,0,0,0, - 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,18,12,36,20,1,0, - 7,158,0,31,227,0,56,225,128,112,193,128,64,193,128,15, - 255,0,56,192,0,96,192,0,224,224,128,227,241,192,254,127, - 0,124,62,0,11,18,36,12,1,250,15,224,48,192,112,192, - 96,64,224,0,224,0,224,0,224,0,240,64,120,192,63,128, - 31,0,4,0,14,0,15,0,7,0,14,0,24,0,11,20, - 40,13,1,0,60,0,60,0,30,0,14,0,7,0,1,0, - 0,0,0,0,15,0,49,192,112,192,96,224,224,224,255,192, - 224,0,224,0,240,64,120,224,63,192,31,0,11,20,40,13, - 1,0,1,192,3,192,3,128,7,0,6,0,12,0,0,0, - 0,0,15,0,49,192,112,192,96,224,224,224,255,192,224,0, - 224,0,240,64,120,224,63,192,31,0,11,20,40,13,1,0, - 6,0,15,0,31,128,29,128,48,192,32,96,0,0,0,0, - 15,0,49,192,112,192,96,224,224,224,255,192,224,0,224,0, - 240,64,120,224,63,192,31,0,11,18,36,13,1,0,24,192, - 61,224,61,224,57,192,0,0,0,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,8,20,20,8,0,0,240,240,120,24,12,4,0,0, - 28,124,28,28,28,28,28,28,28,28,28,127,7,20,20,8, - 1,0,14,30,28,56,48,96,0,0,56,248,56,56,56,56, - 56,56,56,56,56,254,9,20,40,8,0,0,24,0,60,0, - 126,0,118,0,195,0,129,128,0,0,0,0,28,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,127,0,9,18,36,8,0,0,115,128,247,128,247,128, - 231,0,0,0,0,0,28,0,124,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,127,0,12,19, - 38,14,1,0,12,0,126,112,15,224,15,128,61,192,0,224, - 0,224,15,224,49,240,96,240,96,112,224,112,224,112,224,112, - 224,96,224,96,112,192,56,128,31,0,15,19,38,16,1,0, - 0,16,14,48,31,224,51,224,33,192,0,0,0,0,24,240, - 251,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,12,20,40,14,1,0,28,0,60,0, - 14,0,6,0,3,0,1,128,0,0,0,0,15,128,49,192, - 112,224,96,112,224,112,224,112,224,112,224,112,224,96,112,96, - 56,192,31,0,12,20,40,14,1,0,1,192,3,224,3,128, - 7,0,6,0,12,0,0,0,0,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,12,20,40,14,1,0,7,0,15,0,15,128,29,192, - 56,192,32,96,0,0,0,0,15,128,49,192,112,224,96,112, - 224,112,224,112,224,112,224,112,224,96,112,96,56,192,31,0, - 12,19,38,14,1,0,0,48,30,32,63,224,39,192,65,128, - 0,0,0,0,15,128,49,192,112,224,96,112,224,112,224,112, - 224,112,224,112,224,96,112,96,56,192,31,0,12,18,36,14, - 1,0,28,224,61,224,61,224,24,192,0,0,0,0,15,128, - 49,192,112,224,96,112,224,112,224,112,224,112,224,112,224,96, - 112,96,56,192,31,0,10,10,20,11,1,2,12,0,12,0, - 12,0,0,0,255,192,0,0,0,0,12,0,12,0,12,0, - 12,14,28,14,1,255,0,16,15,176,49,224,112,224,97,240, - 227,112,230,112,230,112,236,112,248,96,112,224,120,192,95,0, - 128,0,15,20,40,15,0,0,14,0,15,0,7,0,3,128, - 1,128,0,192,0,0,0,0,56,56,248,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,250,63,190,30,56, - 15,20,40,15,0,0,0,224,0,240,1,192,1,128,3,0, - 2,0,0,0,0,0,56,56,248,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,250,63,190,30,56,15,20, - 40,15,0,0,3,128,3,192,7,192,14,224,28,112,24,16, - 0,0,0,0,56,56,248,248,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,250,63,190,30,56,15,18,36,15, - 0,0,14,112,14,112,30,240,14,112,0,0,0,0,56,56, - 248,248,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,250,63,190,30,56,15,26,52,14,255,250,0,112,0,240, - 0,224,1,192,1,128,3,0,0,0,0,0,126,62,60,24, - 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, - 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0, - 13,26,52,15,1,250,24,0,248,0,56,0,56,0,56,0, - 56,0,56,0,56,0,57,224,63,240,60,112,56,56,56,24, - 56,24,56,24,56,24,56,16,60,48,63,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,15,24,48,14,255,250, - 7,56,15,120,15,120,14,112,0,0,0,0,126,62,60,24, - 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, - 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 16 - Calculated Max Values w=12 h=25 x= 2 y= 9 dx=14 dy= 0 ascent=21 len=50 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =16 descent= 0 - X Font ascent =16 descent= 0 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17n[542] U8G_SECTION(".progmem.u8g_font_gdb17n") = { - 0,42,39,242,246,16,0,0,0,0,42,57,0,21,251,16, - 0,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=23 h=27 x= 3 y=14 dx=23 dy= 0 ascent=22 len=69 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x=-4 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17r[3540] U8G_SECTION(".progmem.u8g_font_gdb17r") = { - 0,42,39,242,246,17,4,81,9,172,32,127,250,22,250,21, - 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, - 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, - 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, - 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, - 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, - 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, - 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, - 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, - 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, - 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, - 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, - 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, - 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, - 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, - 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, - 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, - 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, - 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, - 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, - 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, - 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, - 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, - 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, - 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, - 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, - 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, - 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, - 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, - 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, - 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, - 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, - 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, - 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, - 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, - 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, - 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, - 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, - 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, - 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, - 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, - 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, - 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, - 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, - 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, - 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, - 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, - 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, - 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, - 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, - 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, - 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, - 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, - 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, - 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, - 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, - 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, - 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, - 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, - 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, - 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, - 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, - 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, - 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, - 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, - 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, - 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, - 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, - 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, - 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, - 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, - 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, - 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, - 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, - 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, - 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, - 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, - 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, - 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, - 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, - 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, - 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, - 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, - 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, - 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, - 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, - 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, - 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, - 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, - 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, - 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, - 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, - 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, - 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, - 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, - 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, - 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, - 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, - 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, - 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, - 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, - 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, - 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, - 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, - 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, - 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, - 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, - 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, - 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, - 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, - 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, - 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, - 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, - 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, - 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, - 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, - 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, - 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, - 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, - 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, - 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, - 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, - 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, - 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, - 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, - 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, - 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, - 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, - 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, - 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, - 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, - 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, - 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, - 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, - 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, - 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, - 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, - 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, - 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, - 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, - 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, - 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, - 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, - 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, - 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, - 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, - 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, - 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, - 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, - 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, - 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=18 dx=28 dy= 0 ascent=28 len=112 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x=-5 y=-9 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20[10077] U8G_SECTION(".progmem.u8g_font_gdb20") = { - 0,49,47,240,244,20,5,86,12,137,32,255,248,28,247,25, - 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, - 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, - 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, - 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, - 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, - 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, - 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, - 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, - 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, - 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, - 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, - 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, - 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, - 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, - 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, - 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, - 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, - 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, - 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, - 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, - 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, - 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, - 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, - 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, - 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, - 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, - 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, - 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, - 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, - 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, - 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, - 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, - 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, - 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, - 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, - 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, - 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, - 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, - 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, - 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, - 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, - 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, - 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, - 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, - 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, - 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, - 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, - 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, - 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, - 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, - 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, - 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, - 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, - 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, - 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, - 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, - 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, - 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, - 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, - 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, - 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, - 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, - 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, - 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, - 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, - 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, - 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, - 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, - 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, - 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, - 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, - 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, - 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, - 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, - 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, - 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, - 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, - 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, - 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, - 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, - 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, - 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, - 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, - 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, - 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, - 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, - 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, - 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, - 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, - 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, - 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, - 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, - 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, - 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, - 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, - 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, - 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, - 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, - 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, - 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, - 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, - 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, - 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, - 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, - 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, - 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, - 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, - 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, - 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, - 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, - 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, - 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, - 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, - 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, - 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, - 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, - 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, - 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, - 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, - 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, - 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, - 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, - 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, - 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, - 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, - 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, - 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, - 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, - 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, - 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, - 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, - 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, - 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, - 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, - 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, - 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, - 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, - 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, - 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, - 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, - 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, - 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, - 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, - 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, - 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, - 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, - 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, - 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, - 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, - 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, - 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, - 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, - 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, - 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, - 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, - 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, - 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, - 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, - 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, - 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, - 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, - 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, - 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, - 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, - 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, - 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, - 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, - 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, - 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, - 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, - 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, - 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, - 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, - 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, - 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, - 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, - 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, - 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, - 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, - 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, - 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, - 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, - 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, - 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, - 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, - 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, - 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, - 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, - 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, - 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, - 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, - 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, - 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, - 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, - 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, - 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, - 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, - 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, - 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, - 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, - 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, - 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, - 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, - 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, - 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, - 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, - 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, - 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, - 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, - 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, - 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, - 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, - 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, - 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, - 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, - 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, - 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, - 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,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,8,0,0,5,24, - 24,10,2,247,112,248,248,248,112,0,0,48,48,48,48,112, - 112,112,112,120,120,120,120,120,120,120,120,96,13,20,40,16, - 2,255,3,0,3,0,3,0,15,248,31,248,59,56,115,16, - 227,0,227,0,227,0,227,0,227,0,227,0,115,24,123,48, - 63,224,31,192,3,0,3,0,3,0,14,19,38,16,1,0, - 1,252,6,60,14,28,28,12,28,8,60,0,60,0,60,0, - 60,0,255,224,60,0,60,0,60,0,60,4,56,4,56,12, - 127,252,255,252,128,48,12,13,26,16,2,3,192,48,239,112, - 112,224,48,192,96,96,96,96,96,96,96,96,112,224,57,192, - 111,96,192,48,128,16,18,19,57,16,255,0,248,31,192,252, - 15,128,62,6,0,30,14,0,31,12,0,15,156,0,7,152, - 0,7,248,0,3,240,0,3,240,0,3,240,0,1,224,0, - 63,255,0,1,224,0,1,224,0,1,224,0,1,224,0,3, - 240,0,7,248,0,2,32,32,7,3,250,64,192,192,192,192, - 192,192,192,192,192,192,192,192,192,128,0,0,64,192,192,192, - 192,192,192,192,192,192,192,192,192,192,128,12,22,44,16,2, - 0,15,192,49,224,112,224,112,64,124,0,126,0,63,128,127, - 192,99,224,225,240,224,240,240,112,252,112,127,112,63,224,31, - 192,7,224,65,224,64,224,224,224,240,192,127,0,11,5,10, - 13,1,17,112,224,241,224,241,224,241,224,225,192,21,21,63, - 23,1,0,1,252,0,7,7,0,12,1,128,24,0,192,48, - 126,96,96,199,48,97,134,48,195,2,24,199,0,24,199,0, - 24,199,0,24,199,0,24,199,0,24,199,128,24,99,199,48, - 97,252,48,48,248,96,16,0,64,8,1,128,6,3,0,1, - 252,0,7,11,11,9,1,9,60,204,140,60,108,204,206,252, - 0,0,254,14,15,30,16,1,0,2,8,6,28,12,56,28, - 112,56,112,120,224,241,224,243,192,241,224,120,224,56,112,28, - 112,12,56,6,24,2,12,13,7,14,16,2,3,255,248,255, - 248,0,24,0,24,0,24,0,24,0,16,10,2,4,11,1, - 7,255,192,255,128,12,11,22,11,0,11,31,128,48,192,126, - 96,219,48,219,48,222,48,219,48,217,48,100,224,48,192,31, - 128,14,3,6,16,1,18,127,248,127,252,255,248,7,8,8, - 11,2,12,60,126,70,198,198,204,252,120,12,15,30,13,1, - 2,6,0,6,0,6,0,6,0,6,0,127,240,255,224,6, - 0,6,0,6,0,6,0,4,0,0,0,255,240,255,224,8, - 11,11,11,2,10,62,115,227,3,6,6,12,24,49,97,255, - 9,11,22,11,1,10,62,0,231,0,231,0,7,0,28,0, - 63,0,7,128,3,128,3,128,199,0,126,0,8,8,8,10, - 3,16,28,30,63,60,120,112,224,192,18,23,69,19,1,248, - 28,6,0,252,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,62,62,0,63,255,128,63,223,192,51,142,0,48,0,0, - 48,0,0,56,0,0,56,0,0,56,0,0,60,0,0,62, - 0,0,48,0,0,17,24,72,19,1,252,15,255,128,60,127, - 0,120,102,0,112,102,0,240,102,0,240,102,0,240,102,0, - 240,102,0,120,102,0,120,102,0,60,102,0,15,230,0,0, - 102,0,0,102,0,0,102,0,0,102,0,0,102,0,0,102, - 0,0,102,0,0,102,0,0,102,0,0,102,0,0,255,0, - 1,255,128,5,5,5,7,1,8,112,248,248,248,112,7,7, - 7,7,0,249,24,48,60,62,30,60,240,8,11,11,11,2, - 10,8,248,24,24,24,24,24,24,24,24,255,7,11,11,9, - 1,9,56,76,198,198,198,198,198,108,56,0,254,13,15,30, - 16,2,0,129,0,195,128,97,128,112,192,56,224,60,112,30, - 120,30,120,30,120,60,112,56,224,112,192,97,192,193,128,131, - 0,17,19,57,20,2,0,48,3,128,240,3,0,48,6,0, - 48,12,0,48,28,0,48,24,0,48,48,0,48,96,0,120, - 224,0,132,193,0,1,135,0,3,15,0,7,11,0,6,19, - 0,12,51,0,24,63,128,56,67,0,48,3,0,224,15,128, - 17,19,57,20,2,0,48,1,128,240,3,0,48,7,0,48, - 6,0,48,12,0,48,24,0,48,56,0,48,48,0,120,96, - 0,132,192,0,1,207,0,1,153,128,3,49,128,7,1,0, - 14,3,0,12,6,0,24,12,0,56,24,128,112,63,128,18, - 19,57,20,1,0,60,1,192,102,1,128,70,3,0,12,6, - 0,28,14,0,6,12,0,6,24,0,134,48,0,124,112,0, - 0,96,128,0,195,128,1,135,128,3,133,128,3,9,128,6, - 25,128,12,31,192,28,33,128,24,1,128,112,7,192,13,23, - 46,15,1,248,7,0,15,128,15,128,15,128,7,0,0,0, - 0,0,3,0,3,0,3,0,7,0,6,0,14,0,28,0, - 60,0,120,0,112,0,240,24,240,120,240,120,240,120,120,240, - 63,192,20,28,84,20,0,0,3,0,0,7,128,0,7,192, - 0,15,224,0,1,224,0,0,112,0,0,24,0,0,0,0, - 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, - 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, - 24,3,128,56,3,192,56,3,192,254,15,240,20,28,84,20, - 0,0,0,8,0,0,30,0,0,62,0,0,124,0,0,240, - 0,1,224,0,1,128,0,0,0,0,0,32,0,0,240,0, - 0,240,0,1,248,0,1,248,0,1,248,0,3,188,0,3, - 60,0,3,60,0,7,30,0,6,30,0,14,31,0,15,255, - 0,12,7,0,28,7,128,24,7,128,24,3,128,56,3,192, - 56,3,192,254,15,240,20,27,81,20,0,0,0,224,0,0, - 240,0,1,248,0,3,252,0,7,14,0,4,6,0,0,0, - 0,0,32,0,0,240,0,0,240,0,1,248,0,1,248,0, - 1,248,0,3,188,0,3,60,0,3,60,0,7,30,0,6, - 30,0,14,31,0,15,255,0,12,7,0,28,7,128,24,7, - 128,24,3,128,56,3,192,56,3,192,254,15,240,20,26,78, - 20,0,0,3,195,0,7,254,0,7,254,0,12,124,0,8, - 0,0,0,0,0,0,32,0,0,240,0,0,240,0,1,248, - 0,1,248,0,1,248,0,3,188,0,3,60,0,3,60,0, - 7,30,0,6,30,0,14,31,0,15,255,0,12,7,0,28, - 7,128,24,7,128,24,3,128,56,3,192,56,3,192,254,15, - 240,20,26,78,20,0,0,6,12,0,15,30,0,15,30,0, - 15,30,0,14,28,0,0,0,0,0,32,0,0,240,0,0, - 240,0,1,248,0,1,248,0,1,248,0,3,188,0,3,60, - 0,3,60,0,7,30,0,6,30,0,14,31,0,15,255,0, - 12,7,0,28,7,128,24,7,128,24,3,128,56,3,192,56, - 3,192,254,15,240,20,27,81,20,0,0,0,112,0,1,152, - 0,1,152,0,1,144,0,0,224,0,0,0,0,0,0,0, - 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, - 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, - 24,3,128,56,3,192,56,3,192,254,15,240,25,20,80,26, - 0,0,3,255,255,0,0,255,3,0,0,255,3,0,0,239, - 3,0,0,239,3,0,1,207,0,0,1,207,0,0,3,143, - 0,0,3,143,0,0,3,255,254,0,7,15,4,0,6,15, - 0,0,14,15,0,0,14,15,0,0,12,15,0,0,28,15, - 0,0,24,15,0,128,24,15,1,128,56,31,1,128,254,63, - 255,128,16,27,54,18,1,249,1,254,6,31,28,14,56,4, - 56,0,112,0,112,0,240,0,240,0,240,0,240,0,240,0, - 240,0,248,0,120,0,124,1,126,7,63,254,31,252,15,240, - 0,192,1,192,1,240,0,240,0,240,1,224,3,128,15,28, - 56,17,1,0,8,0,28,0,62,0,31,0,7,128,1,192, - 0,64,0,0,255,252,124,12,60,12,60,12,60,12,60,0, - 60,0,60,0,60,0,63,240,60,32,60,0,60,0,60,0, - 60,0,60,0,60,2,60,6,124,14,255,254,15,28,56,17, - 1,0,0,96,0,240,1,248,1,240,3,192,7,0,12,0, - 0,0,255,252,124,12,60,12,60,12,60,12,60,0,60,0, - 60,0,60,0,63,240,60,32,60,0,60,0,60,0,60,0, - 60,0,60,2,60,6,124,14,255,254,15,27,54,17,1,0, - 3,128,7,192,15,192,31,224,28,112,48,24,0,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,2, - 60,6,124,14,255,254,15,26,52,17,1,0,56,112,56,112, - 120,240,120,240,48,96,0,0,255,252,124,12,60,12,60,12, - 60,12,60,0,60,0,60,0,60,0,63,240,60,32,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 9,28,56,10,0,0,32,0,240,0,248,0,124,0,30,0, - 15,0,3,0,0,0,127,128,63,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,63,0,127,128,10,28, - 56,10,1,0,2,0,7,128,15,192,31,0,62,0,120,0, - 96,0,0,0,255,0,126,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,10,27,54,10, - 0,0,12,0,30,0,63,0,127,128,225,192,192,64,0,0, - 127,128,63,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,127,128,11,26,52,10,255,0,112,224, - 241,224,241,224,241,224,96,192,0,0,63,192,31,128,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,31,128, - 63,192,18,20,60,20,1,0,63,240,0,252,60,0,60,14, - 0,60,15,0,60,7,128,60,7,128,60,3,192,60,3,192, - 60,3,192,255,195,192,60,3,192,60,3,192,60,3,192,60, - 3,128,60,7,128,60,7,128,60,15,0,60,14,0,124,28, - 0,255,240,0,19,26,78,21,1,0,3,195,0,7,254,0, - 15,252,0,12,120,0,24,0,0,0,0,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,28,84,20,1,0,2,0, - 0,15,0,0,15,128,0,7,192,0,3,224,0,0,240,0, - 0,48,0,0,0,0,3,240,0,12,28,0,28,14,0,56, - 7,0,56,7,128,112,7,128,112,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,248,3,128, - 120,7,128,120,7,0,60,15,0,30,30,0,15,248,0,3, - 224,0,18,28,84,20,1,0,0,16,0,0,60,0,0,124, - 0,0,248,0,1,224,0,3,192,0,3,0,0,0,0,0, - 3,240,0,12,28,0,28,14,0,56,7,0,56,7,128,112, - 7,128,112,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,248,3,128,120,7,128,120,7,0, - 60,15,0,30,30,0,15,248,0,3,224,0,18,27,81,20, - 1,0,0,192,0,1,224,0,3,240,0,7,248,0,14,28, - 0,8,12,0,0,0,0,3,240,0,12,28,0,28,14,0, - 56,7,0,56,7,128,112,7,128,112,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,248,3, - 128,120,7,128,120,7,0,60,15,0,30,30,0,15,248,0, - 3,224,0,18,26,78,20,1,0,3,198,0,15,252,0,15, - 252,0,24,120,0,16,0,0,0,0,0,3,240,0,12,28, - 0,28,14,0,56,7,0,56,7,128,112,7,128,112,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,248,3,128,120,7,128,120,7,0,60,15,0,30,30, - 0,15,248,0,3,224,0,18,26,78,20,1,0,14,28,0, - 30,60,0,30,60,0,30,60,0,28,56,0,0,0,0,3, - 240,0,12,28,0,28,14,0,56,7,0,56,7,128,112,7, - 128,112,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,248,3,128,120,7,128,120,7,0,60, - 15,0,30,30,0,15,248,0,3,224,0,11,10,20,13,1, - 4,96,96,240,224,57,192,31,128,15,0,15,0,31,128,57, - 192,112,224,224,96,18,21,63,20,1,255,3,241,192,12,31, - 128,28,15,0,56,15,0,56,31,128,112,63,128,112,63,192, - 240,123,192,240,243,192,240,227,192,241,195,192,241,195,192,243, - 131,192,247,3,128,126,7,128,126,7,0,60,7,0,62,14, - 0,127,248,0,227,224,0,128,0,0,19,28,84,21,1,0, - 3,0,0,7,128,0,15,192,0,7,192,0,1,224,0,0, - 112,0,0,24,0,0,0,0,255,7,224,126,3,192,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,3,0,30,3,0,15,6,0,7,252, - 0,3,240,0,19,28,84,21,1,0,0,8,0,0,30,0, - 0,62,0,0,124,0,0,240,0,1,192,0,1,128,0,0, - 0,0,255,7,224,126,3,192,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 3,0,30,3,0,15,6,0,7,252,0,3,240,0,19,27, - 81,21,1,0,0,224,0,0,240,0,1,248,0,3,252,0, - 7,14,0,12,6,0,0,0,0,255,7,224,126,3,192,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,3,0,30,3,0,15,6,0,7, - 252,0,3,240,0,19,26,78,21,1,0,6,12,0,15,30, - 0,15,30,0,15,30,0,14,28,0,0,0,0,255,7,224, - 126,3,192,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,3,0,30,3,0, - 15,6,0,7,252,0,3,240,0,19,28,84,20,0,0,0, - 8,0,0,30,0,0,62,0,0,124,0,0,240,0,1,192, - 0,1,128,0,0,0,0,252,7,224,60,3,192,30,3,128, - 15,3,0,15,7,0,7,134,0,3,142,0,3,204,0,1, - 220,0,1,248,0,0,248,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,1,248,0, - 3,252,0,16,20,40,18,1,0,255,128,126,0,60,0,60, - 0,63,240,60,60,60,30,60,15,60,15,60,15,60,15,60, - 14,60,30,60,60,63,240,60,0,60,0,60,0,126,0,255, - 128,18,24,72,21,1,0,0,248,0,3,254,0,15,31,0, - 14,15,128,28,7,128,28,7,128,60,7,128,60,7,128,60, - 15,0,60,60,0,60,112,0,60,224,0,60,224,0,60,240, - 0,60,252,0,60,127,0,60,63,128,60,15,192,60,7,192, - 61,3,192,60,129,192,60,193,128,124,225,128,252,254,0,14, - 24,48,16,1,0,28,0,62,0,30,0,15,0,7,0,3, - 128,1,128,0,192,0,0,31,192,112,224,240,240,192,240,0, - 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, - 252,126,248,56,96,14,24,48,16,1,0,0,224,1,240,1, - 224,3,192,3,128,3,0,7,0,6,0,0,0,31,192,112, - 224,240,240,192,240,0,240,3,240,31,240,63,240,120,240,240, - 240,240,240,240,240,251,252,126,248,56,96,14,23,46,16,1, - 0,3,128,7,128,15,192,31,224,28,224,56,48,32,16,0, - 0,31,192,112,224,240,240,192,240,0,240,3,240,31,240,63, - 240,120,240,240,240,240,240,240,240,251,252,126,248,56,96,14, - 22,44,16,1,0,14,8,31,24,63,240,99,240,64,224,0, - 0,0,0,31,192,112,224,240,240,192,240,0,240,3,240,31, - 240,63,240,120,240,240,240,240,240,240,240,251,252,126,248,56, - 96,14,22,44,16,1,0,56,112,120,240,120,240,120,240,48, - 96,0,0,0,0,31,192,112,224,240,240,192,240,0,240,3, - 240,31,240,63,240,120,240,240,240,240,240,240,240,251,252,126, - 248,56,96,14,22,44,16,1,0,3,128,4,192,12,192,12, - 192,7,128,0,0,0,0,31,192,112,224,240,240,192,240,0, - 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, - 252,126,248,56,96,22,15,45,23,1,0,3,227,224,31,252, - 112,60,252,56,120,120,60,112,120,60,128,120,60,7,255,248, - 28,120,0,120,120,0,112,120,0,240,124,8,249,254,28,255, - 191,248,127,31,240,60,7,192,14,22,44,15,1,249,3,248, - 12,120,56,48,112,16,112,0,240,0,240,0,240,0,240,0, - 240,0,248,8,124,28,63,248,31,240,15,192,3,0,3,192, - 3,224,5,224,1,224,3,192,14,0,13,24,48,15,1,0, - 14,0,30,0,31,0,15,0,7,128,3,128,1,192,0,192, - 0,0,7,192,24,224,56,112,112,120,112,120,240,120,255,240, - 240,0,240,0,240,0,248,8,124,56,127,240,63,224,15,128, - 13,24,48,15,1,0,0,224,0,240,1,240,1,224,3,192, - 3,128,7,0,6,0,0,0,7,192,24,224,56,112,112,120, - 112,120,240,120,255,240,240,0,240,0,240,0,248,8,124,56, - 127,240,63,224,15,128,13,23,46,15,1,0,3,128,7,192, - 15,192,15,224,28,112,56,48,48,24,0,0,7,192,24,224, - 56,112,112,120,112,120,240,120,255,240,240,0,240,0,240,0, - 248,8,124,56,127,240,63,224,15,128,13,22,44,15,1,0, - 56,112,56,112,120,240,120,240,48,96,0,0,0,0,7,192, - 24,224,56,112,112,120,112,120,240,120,255,240,240,0,240,0, - 240,0,248,8,124,56,127,240,63,224,15,128,9,24,48,10, - 0,0,112,0,248,0,120,0,60,0,28,0,14,0,6,0, - 2,0,0,0,14,0,126,0,62,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,63,0, - 127,128,9,24,48,10,1,0,7,0,15,128,15,0,30,0, - 28,0,56,0,48,0,32,0,0,0,28,0,252,0,124,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,0,10,23,46,10,0,0,28,0, - 30,0,63,0,127,0,115,128,193,192,128,64,0,0,14,0, - 126,0,62,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,63,0,127,128,11,22,44,10, - 255,0,112,224,241,224,241,224,241,224,225,192,0,0,0,0, - 7,0,63,0,31,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,31,128,63,192,14,23, - 46,16,1,0,14,0,63,28,95,248,3,224,15,224,60,224, - 0,112,0,56,15,248,24,248,56,124,112,60,112,60,240,60, - 240,60,240,60,240,60,240,56,240,56,120,112,120,112,60,96, - 15,128,17,22,66,19,1,0,7,6,0,15,204,0,31,252, - 0,17,248,0,48,112,0,0,0,0,0,0,0,12,60,0, - 252,252,0,127,254,0,63,30,0,62,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,126,63,0,255,127,128,15,24,48,17,1,0, - 14,0,31,0,15,0,7,0,3,128,1,128,0,192,0,192, - 0,0,7,224,24,112,56,56,112,60,112,30,240,30,240,30, - 240,30,240,30,240,30,240,28,120,28,56,56,28,48,15,192, - 15,24,48,17,1,0,0,240,0,248,0,240,1,224,1,192, - 3,128,3,0,6,0,0,0,7,224,24,112,56,56,112,60, - 112,30,240,30,240,30,240,30,240,30,240,30,240,28,120,28, - 56,56,28,48,15,192,15,23,46,17,1,0,3,128,3,192, - 7,224,15,224,30,112,24,56,48,24,0,0,7,224,24,112, - 56,56,112,60,112,30,240,30,240,30,240,30,240,30,240,30, - 240,28,120,28,56,56,28,48,15,192,15,22,44,17,1,0, - 14,12,31,136,31,248,49,240,32,224,0,0,0,0,7,224, - 24,112,56,56,112,60,112,30,240,30,240,30,240,30,240,30, - 240,30,240,28,120,28,56,56,28,48,15,192,15,22,44,17, - 1,0,24,48,60,120,60,120,56,112,56,112,0,0,0,0, - 7,224,24,112,56,56,112,60,112,30,240,30,240,30,240,30, - 240,30,240,30,240,28,120,28,56,56,28,48,15,192,12,12, - 24,13,1,3,6,0,14,0,14,0,12,0,0,0,255,240, - 255,224,0,0,6,0,14,0,14,0,12,0,15,16,32,17, - 1,255,7,238,24,124,56,60,112,124,112,254,240,254,241,222, - 243,158,243,158,247,30,254,28,124,28,124,56,124,48,111,192, - 128,0,17,24,72,18,0,0,7,0,0,15,128,0,7,128, - 0,3,192,0,1,192,0,0,224,0,0,96,0,0,48,0, - 0,0,0,28,14,0,252,126,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,126,0,63,255,128,31,223,0,15,12,0, - 17,24,72,18,0,0,0,56,0,0,124,0,0,120,0,0, - 240,0,0,224,0,0,192,0,1,128,0,1,128,0,0,0, - 0,28,14,0,252,126,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,126,0,63,255,128,31,223,0,15,12,0,17,23, - 69,18,0,0,0,192,0,1,224,0,3,240,0,7,248,0, - 7,56,0,14,12,0,8,4,0,0,0,0,28,14,0,252, - 126,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,126,0, - 63,255,128,31,223,0,15,12,0,17,22,66,18,0,0,14, - 28,0,30,60,0,30,60,0,30,60,0,12,24,0,0,0, - 0,0,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,17,32,96,16,255,248,0,56,0,0,62,0,0,124,0, - 0,120,0,0,240,0,0,224,0,0,192,0,1,128,0,0, - 0,0,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,16,32,64,18,1,248,12,0,252, - 0,124,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 120,61,252,63,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,63,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,30,90, - 16,255,248,6,12,0,15,30,0,15,30,0,14,28,0,14, - 28,0,0,0,0,0,0,0,127,15,128,62,7,0,30,6, - 0,30,6,0,15,14,0,15,12,0,7,140,0,7,152,0, - 7,152,0,3,248,0,3,240,0,1,240,0,1,240,0,1, - 224,0,0,224,0,0,192,0,0,192,0,1,192,0,1,128, - 0,39,128,0,127,0,0,254,0,0,120,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 19 - Calculated Max Values w=14 h=30 x= 2 y=11 dx=17 dy= 0 ascent=25 len=60 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent= 0 - X Font ascent =19 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20n[624] U8G_SECTION(".progmem.u8g_font_gdb20n") = { - 0,49,47,240,244,19,0,0,0,0,42,57,0,25,250,19, - 0,12,13,26,14,1,11,3,0,15,0,70,64,102,112,246, - 240,63,192,15,0,63,224,254,240,230,112,70,32,7,0,14, - 0,12,12,24,13,1,3,6,0,6,0,6,0,6,0,6, - 0,127,240,255,224,6,0,6,0,6,0,6,0,6,0,6, - 10,10,9,2,250,56,252,252,60,60,56,56,112,96,192,10, - 2,4,11,1,7,255,192,255,128,5,5,5,9,2,255,112, - 248,248,248,112,14,30,60,15,1,251,0,28,0,56,0,56, - 0,120,0,112,0,112,0,224,0,224,0,224,1,192,1,192, - 3,128,3,128,3,128,7,0,7,0,7,0,14,0,14,0, - 28,0,28,0,28,0,56,0,56,0,120,0,112,0,112,0, - 224,0,224,0,192,0,14,18,36,16,1,0,7,192,24,224, - 56,112,112,120,112,120,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,240,56,112,56,120,56,56,112,28,96,15,128, - 13,19,38,16,2,0,1,128,15,128,127,128,239,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,63,224,127,248,13,19,38,16, - 1,0,15,224,56,240,120,120,240,120,112,120,0,120,0,240, - 0,240,1,224,1,192,3,128,7,0,14,0,28,8,28,8, - 56,24,127,248,255,248,255,248,13,19,38,16,1,0,31,128, - 121,224,112,240,240,240,64,240,0,240,1,224,7,192,15,192, - 3,240,0,240,0,120,0,120,0,120,0,120,128,240,192,240, - 127,224,31,128,14,19,38,17,1,0,0,48,1,240,1,240, - 3,240,7,240,6,240,12,240,12,240,24,240,56,240,48,240, - 96,240,255,252,255,248,0,240,0,240,0,240,1,248,7,252, - 13,19,38,16,1,0,63,248,63,240,63,224,112,0,112,0, - 96,0,96,0,127,128,127,224,97,240,0,248,0,120,0,120, - 0,120,0,120,0,112,128,240,193,224,127,128,14,20,40,16, - 1,0,0,112,3,240,7,128,15,0,28,0,60,0,120,0, - 120,0,115,224,255,240,252,120,240,124,240,60,240,60,240,60, - 112,60,120,56,56,56,28,112,7,192,13,19,38,16,2,0, - 255,248,255,248,255,240,192,48,128,96,128,96,0,224,0,192, - 1,192,1,128,3,128,3,128,7,0,7,0,14,0,14,0, - 30,0,28,0,56,0,14,19,38,16,1,0,15,192,24,240, - 48,120,112,120,112,120,120,120,126,240,63,192,31,224,15,240, - 63,248,120,252,248,124,240,60,240,60,240,56,112,56,56,112, - 31,192,14,20,40,16,1,255,7,192,24,240,56,120,112,120, - 240,60,240,60,240,60,240,60,248,60,124,124,63,252,31,60, - 0,56,0,120,0,112,0,240,1,224,7,128,63,0,56,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=16 dx=28 dy= 0 ascent=26 len=112 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x=-5 y=-8 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =26 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20r[4680] U8G_SECTION(".progmem.u8g_font_gdb20r") = { - 0,49,47,240,244,20,5,86,12,137,32,127,248,26,248,25, - 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, - 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, - 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, - 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, - 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, - 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, - 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, - 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, - 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, - 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, - 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, - 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, - 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, - 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, - 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, - 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, - 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, - 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, - 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, - 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, - 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, - 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, - 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, - 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, - 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, - 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, - 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, - 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, - 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, - 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, - 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, - 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, - 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, - 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, - 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, - 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, - 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, - 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, - 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, - 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, - 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, - 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, - 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, - 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, - 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, - 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, - 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, - 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, - 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, - 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, - 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, - 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, - 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, - 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, - 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, - 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, - 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, - 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, - 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, - 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, - 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, - 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, - 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, - 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, - 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, - 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, - 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, - 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, - 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, - 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, - 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, - 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, - 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, - 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, - 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, - 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, - 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, - 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, - 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, - 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, - 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, - 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, - 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, - 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, - 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, - 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, - 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, - 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, - 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, - 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, - 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, - 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, - 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, - 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, - 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, - 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, - 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, - 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, - 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, - 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, - 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, - 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, - 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, - 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, - 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, - 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, - 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, - 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, - 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, - 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, - 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, - 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, - 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, - 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, - 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, - 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, - 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, - 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, - 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, - 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, - 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, - 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, - 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, - 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, - 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, - 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, - 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, - 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, - 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, - 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, - 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, - 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, - 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, - 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, - 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, - 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, - 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, - 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, - 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, - 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, - 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, - 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, - 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, - 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, - 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, - 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, - 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, - 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, - 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, - 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, - 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, - 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, - 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, - 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, - 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, - 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, - 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, - 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, - 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, - 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, - 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, - 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, - 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, - 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, - 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, - 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, - 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, - 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, - 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, - 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, - 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, - 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, - 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, - 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, - 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, - 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, - 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, - 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, - 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, - 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, - 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, - 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, - 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, - 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, - 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, - 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, - 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, - 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, - 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, - 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, - 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, - 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, - 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, - 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, - 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, - 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, - 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, - 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, - 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, - 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, - 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, - 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, - 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, - 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, - 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, - 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, - 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, - 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, - 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, - 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, - 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, - 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, - 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, - 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, - 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, - 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, - 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, - 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=34 h=41 x= 4 y=23 dx=35 dy= 0 ascent=34 len=136 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x=-6 y=-11 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =34 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25[14643] U8G_SECTION(".progmem.u8g_font_gdb25") = { - 0,61,57,236,242,25,7,167,18,92,32,255,247,34,245,31, - 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, - 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, - 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, - 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, - 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, - 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, - 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, - 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, - 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, - 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, - 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, - 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, - 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, - 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, - 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, - 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, - 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, - 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, - 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, - 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, - 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, - 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, - 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, - 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, - 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, - 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, - 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, - 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, - 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, - 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, - 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, - 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, - 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, - 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, - 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, - 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, - 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, - 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, - 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, - 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, - 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, - 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, - 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, - 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, - 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, - 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, - 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, - 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, - 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, - 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, - 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, - 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, - 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, - 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, - 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, - 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, - 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, - 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, - 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, - 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, - 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, - 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, - 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, - 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, - 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, - 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, - 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, - 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, - 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, - 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, - 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, - 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, - 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, - 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, - 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, - 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, - 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, - 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, - 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, - 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, - 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, - 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, - 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, - 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, - 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, - 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, - 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, - 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, - 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, - 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, - 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, - 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, - 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, - 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, - 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, - 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, - 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, - 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, - 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, - 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, - 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, - 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, - 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, - 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, - 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, - 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, - 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, - 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, - 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, - 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, - 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, - 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, - 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, - 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, - 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, - 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, - 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, - 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, - 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, - 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, - 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, - 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, - 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, - 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, - 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, - 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, - 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, - 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, - 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, - 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, - 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, - 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, - 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, - 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, - 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, - 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, - 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, - 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, - 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, - 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, - 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, - 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, - 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, - 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, - 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, - 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, - 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, - 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, - 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, - 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, - 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, - 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, - 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, - 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, - 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, - 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, - 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, - 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, - 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, - 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, - 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, - 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, - 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, - 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, - 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, - 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, - 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, - 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, - 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, - 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, - 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, - 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, - 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, - 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, - 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, - 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, - 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, - 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, - 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, - 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, - 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, - 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, - 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, - 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, - 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, - 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, - 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, - 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, - 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, - 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, - 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, - 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, - 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, - 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, - 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, - 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, - 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, - 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, - 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, - 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, - 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, - 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, - 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, - 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, - 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, - 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, - 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, - 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, - 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, - 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, - 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, - 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, - 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, - 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, - 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, - 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, - 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, - 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, - 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, - 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, - 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, - 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, - 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, - 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, - 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, - 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, - 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, - 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, - 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, - 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, - 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, - 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, - 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, - 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, - 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, - 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, - 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, - 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, - 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, - 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, - 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, - 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, - 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, - 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, - 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, - 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, - 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, - 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, - 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, - 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, - 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, - 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, - 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, - 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, - 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, - 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, - 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, - 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, - 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, - 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, - 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, - 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, - 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, - 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, - 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, - 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, - 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, - 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, - 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, - 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, - 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, - 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, - 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, - 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, - 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, - 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, - 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, - 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, - 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, - 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, - 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, - 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, - 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, - 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, - 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, - 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, - 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, - 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, - 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, - 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, - 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, - 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, - 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, - 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, - 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, - 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, - 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, - 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, - 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, - 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, - 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, - 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, - 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, - 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, - 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, - 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, - 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, - 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, - 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, - 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, - 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, - 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, - 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, - 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, - 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, - 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, - 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, - 0,99,255,0,192,254,0,128,56,0,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,10,0, - 0,6,29,29,12,3,245,120,252,252,252,248,112,0,16,48, - 56,56,120,120,120,120,120,120,120,120,120,120,120,124,124,252, - 252,252,248,192,16,25,50,20,2,255,0,192,1,192,1,192, - 1,248,7,255,31,255,61,223,121,198,121,198,113,192,241,192, - 241,192,241,192,241,192,241,192,241,192,121,195,125,199,63,206, - 31,252,15,248,3,192,1,192,1,192,1,128,19,25,75,20, - 1,255,0,127,0,1,255,192,3,199,192,7,131,192,7,1, - 192,15,1,128,15,1,128,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,127,252,0,255,248,0,31,0,0,31, - 0,0,31,0,0,31,0,0,30,0,96,30,0,192,30,0, - 192,63,255,192,127,255,192,255,255,192,64,31,128,17,16,48, - 20,1,4,64,0,128,224,1,128,115,243,128,63,255,0,30, - 30,0,28,14,0,56,7,0,56,7,0,56,7,0,56,7, - 0,56,7,0,28,14,0,62,31,0,127,255,128,243,243,128, - 96,1,128,22,24,72,20,254,0,254,3,252,255,3,252,31, - 0,240,31,128,224,15,193,192,7,193,192,7,227,128,3,227, - 128,3,247,128,1,247,0,0,255,0,0,254,0,0,254,0, - 0,124,0,31,255,240,31,255,224,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,3,41,41,9,3,248,96,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,128,0,0,0,64,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,192, - 16,28,56,20,2,0,7,224,31,252,60,124,120,56,120,24, - 124,24,127,0,63,192,63,240,127,248,243,252,240,254,240,63, - 240,31,248,15,126,15,127,15,63,206,15,254,3,252,0,254, - 48,126,48,62,48,30,56,30,60,60,63,248,15,224,14,6, - 12,16,1,21,112,56,120,60,248,124,248,124,240,120,112,56, - 27,26,104,30,1,0,0,63,128,0,1,255,240,0,7,192, - 124,0,15,0,30,0,30,0,15,0,60,31,135,128,56,127, - 227,128,112,225,193,192,113,193,193,192,225,192,193,224,227,128, - 128,224,227,128,0,224,227,128,0,224,227,128,0,224,227,128, - 0,224,227,128,0,224,225,192,1,224,113,224,33,192,112,240, - 113,192,56,127,227,128,60,31,7,128,30,0,15,0,15,0, - 30,0,7,192,124,0,1,255,240,0,0,63,128,0,9,14, - 28,11,1,11,30,0,62,0,103,0,231,0,7,0,63,0, - 103,0,231,0,231,0,255,128,119,0,0,0,255,128,255,128, - 17,18,54,21,1,0,0,128,128,1,129,128,3,3,0,7, - 7,0,14,14,0,30,30,0,60,60,0,124,124,0,248,248, - 0,252,248,0,124,124,0,60,60,0,30,30,0,14,14,0, - 7,7,0,3,3,0,1,129,128,0,128,128,17,9,27,20, - 2,3,255,255,128,255,255,128,0,3,128,0,3,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,0,12,2,4, - 14,1,9,127,240,255,240,13,15,30,14,1,14,15,128,31, - 192,48,96,96,48,95,16,137,136,137,136,143,136,139,8,137, - 8,73,144,124,240,48,96,31,192,15,128,16,3,6,20,2, - 23,255,255,255,255,255,254,10,10,20,14,2,15,15,0,63, - 128,115,192,97,192,225,192,225,192,225,128,243,128,127,0,60, - 0,15,18,36,16,1,3,1,128,3,128,3,128,3,128,3, - 128,3,128,127,254,255,252,3,128,3,128,3,128,3,128,3, - 128,3,0,0,0,0,0,127,254,255,252,11,15,30,13,1, - 12,7,192,31,224,56,224,120,224,112,224,0,192,1,192,3, - 128,3,0,6,0,12,0,24,32,48,96,127,224,255,224,11, - 15,30,13,0,12,7,128,31,224,56,224,56,224,32,224,1, - 192,3,128,7,192,0,224,0,224,0,224,128,224,225,192,127, - 192,31,0,9,10,20,13,4,20,14,0,31,128,31,128,63, - 0,62,0,60,0,120,0,112,0,224,0,64,0,22,27,81, - 23,1,247,14,0,96,254,7,224,254,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,63,7,224,63,143,224,63,255,228, - 63,251,252,59,241,248,57,225,224,56,0,0,56,0,0,60, - 0,0,60,0,0,60,0,0,62,0,0,63,0,0,62,0, - 0,48,0,0,22,30,90,24,1,251,3,255,252,31,255,252, - 63,29,240,124,28,224,124,28,224,248,28,224,248,28,224,248, - 28,224,248,28,224,248,28,224,124,28,224,126,28,224,63,28, - 224,31,252,224,3,252,224,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,127, - 248,0,255,252,6,6,6,8,1,11,56,124,252,252,252,120, - 8,9,9,9,1,247,24,56,60,63,127,31,30,252,224,10, - 15,30,14,2,12,6,0,62,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,63, - 0,255,192,9,14,28,11,1,11,30,0,63,0,119,0,227, - 128,227,128,227,128,227,128,227,128,119,0,126,0,60,0,0, - 0,255,128,255,128,17,18,54,21,2,0,64,64,0,224,224, - 0,112,112,0,56,56,0,60,60,0,30,30,0,31,31,0, - 15,143,128,15,143,128,15,143,128,15,143,128,31,31,0,30, - 30,0,60,60,0,56,56,0,112,112,0,96,96,0,192,192, - 0,22,24,72,25,2,0,12,0,24,252,0,56,28,0,112, - 28,0,224,28,1,192,28,1,192,28,3,128,28,7,0,28, - 6,0,28,14,0,62,28,0,255,184,0,0,56,112,0,112, - 240,0,225,240,1,193,112,1,195,112,3,134,112,7,4,112, - 14,15,252,14,31,248,28,0,112,56,0,112,112,1,252,21, - 24,72,25,2,0,12,0,56,252,0,112,28,0,112,28,0, - 224,28,1,192,28,3,128,28,3,128,28,7,0,28,14,0, - 28,28,0,62,28,0,255,184,0,0,113,240,0,227,248,0, - 230,56,1,206,56,3,128,48,7,0,96,7,0,224,14,0, - 192,28,1,136,60,7,8,56,15,248,112,15,248,23,24,72, - 25,1,0,31,0,12,63,128,28,115,128,56,227,128,112,7, - 0,224,31,0,224,3,129,192,3,131,128,3,131,0,135,135, - 0,255,14,0,60,28,0,0,28,56,0,56,120,0,112,248, - 0,224,184,0,225,184,1,195,56,3,130,56,7,7,254,7, - 15,252,14,0,56,28,0,56,56,0,254,16,29,58,18,1, - 245,3,192,7,224,7,224,7,224,7,192,3,128,0,0,0, - 0,1,192,1,192,1,192,1,192,3,192,3,128,7,128,15, - 0,31,0,62,0,60,0,124,0,248,0,248,7,248,31,248, - 31,248,31,252,30,126,60,63,248,15,224,25,34,136,25,0, - 0,0,192,0,0,3,224,0,0,3,240,0,0,3,248,0, - 0,0,252,0,0,0,62,0,0,0,15,0,0,0,2,0, - 0,0,0,0,0,0,4,0,0,0,30,0,0,0,62,0, - 0,0,126,0,0,0,127,0,0,0,111,0,0,0,239,128, - 0,0,239,128,0,0,199,128,0,1,199,192,0,1,199,192, - 0,1,131,192,0,3,131,224,0,3,131,224,0,3,255,224, - 0,7,255,240,0,7,0,240,0,6,0,248,0,14,0,248, - 0,14,0,120,0,12,0,124,0,28,0,124,0,28,0,124, - 0,255,129,255,0,255,129,255,128,25,34,136,25,0,0,0, - 1,128,0,0,3,192,0,0,7,224,0,0,15,192,0,0, - 31,0,0,0,124,0,0,0,240,0,0,0,64,0,0,0, - 0,0,0,0,4,0,0,0,30,0,0,0,62,0,0,0, - 126,0,0,0,127,0,0,0,111,0,0,0,239,128,0,0, - 239,128,0,0,199,128,0,1,199,192,0,1,199,192,0,1, - 131,192,0,3,131,224,0,3,131,224,0,3,255,224,0,7, - 255,240,0,7,0,240,0,6,0,248,0,14,0,248,0,14, - 0,120,0,12,0,124,0,28,0,124,0,28,0,124,0,255, - 129,255,0,255,129,255,128,25,34,136,25,0,0,0,28,0, - 0,0,62,0,0,0,127,0,0,0,255,128,0,1,255,128, - 0,1,227,192,0,3,128,224,0,2,0,64,0,0,0,0, - 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, - 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, - 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, - 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, - 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, - 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, - 0,255,129,255,128,25,33,132,25,0,0,0,248,48,0,1, - 254,240,0,3,255,224,0,3,255,192,0,6,31,128,0,6, - 3,0,0,4,0,0,0,0,0,0,0,0,4,0,0,0, - 30,0,0,0,62,0,0,0,126,0,0,0,127,0,0,0, - 111,0,0,0,239,128,0,0,239,128,0,0,199,128,0,1, - 199,192,0,1,199,192,0,1,131,192,0,3,131,224,0,3, - 131,224,0,3,255,224,0,7,255,240,0,7,0,240,0,6, - 0,248,0,14,0,248,0,14,0,120,0,12,0,124,0,28, - 0,124,0,28,0,124,0,255,129,255,0,255,129,255,128,25, - 32,128,25,0,0,1,192,224,0,3,193,224,0,7,195,224, - 0,7,195,224,0,3,193,224,0,1,129,192,0,0,0,0, - 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, - 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, - 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, - 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, - 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, - 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, - 0,255,129,255,128,25,34,136,25,0,0,0,30,0,0,0, - 127,0,0,0,119,0,0,0,103,0,0,0,231,0,0,0, - 119,0,0,0,126,0,0,0,56,0,0,0,0,0,0,0, - 4,0,0,0,30,0,0,0,62,0,0,0,126,0,0,0, - 127,0,0,0,111,0,0,0,239,128,0,0,239,128,0,0, - 199,128,0,1,199,192,0,1,199,192,0,1,131,192,0,3, - 131,224,0,3,131,224,0,3,255,224,0,7,255,240,0,7, - 0,240,0,6,0,248,0,14,0,248,0,14,0,120,0,12, - 0,124,0,28,0,124,0,28,0,124,0,255,129,255,0,255, - 129,255,128,32,25,100,32,0,0,0,255,255,252,0,255,255, - 252,0,31,240,28,0,61,240,12,0,61,240,12,0,57,240, - 12,0,121,240,12,0,113,240,0,0,241,240,0,0,225,240, - 0,0,225,240,0,1,255,255,240,1,255,255,240,3,193,240, - 32,3,129,240,0,3,129,240,0,7,129,240,0,7,1,240, - 0,15,1,240,0,14,1,240,3,14,1,240,3,30,1,240, - 6,28,1,240,14,255,7,255,254,255,15,255,254,20,34,102, - 22,1,247,0,127,128,3,255,240,7,135,224,15,1,224,30, - 0,192,60,0,64,60,0,0,124,0,0,120,0,0,120,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,252,0,0,124,0,0,126,0,0,127, - 0,96,63,129,224,31,255,192,15,255,0,7,254,0,1,240, - 0,0,224,0,0,248,0,0,252,0,1,252,0,0,124,0, - 0,120,0,1,240,0,1,192,0,19,34,102,21,1,0,6, - 0,0,31,0,0,31,128,0,31,192,0,7,224,0,1,240, - 0,0,120,0,0,16,0,0,0,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,19,34,102,21,1,0,0,12,0,0,31, - 0,0,63,0,0,126,0,0,248,0,1,224,0,3,128,0, - 2,0,0,0,0,0,255,255,192,255,255,192,62,1,192,30, - 1,192,30,1,128,30,1,128,30,0,128,30,0,0,30,0, - 0,30,0,0,30,0,0,31,255,0,31,254,0,30,6,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,96,30,0,96,30,0,224,63,1,224,255,255,224,255,255, - 192,19,34,102,21,1,0,0,224,0,1,240,0,3,248,0, - 7,252,0,15,252,0,15,30,0,28,7,0,16,2,0,0, - 0,0,255,255,192,255,255,192,62,1,192,30,1,192,30,1, - 128,30,1,128,30,0,128,30,0,0,30,0,0,30,0,0, - 30,0,0,31,255,0,31,254,0,30,6,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,96,30,0, - 96,30,0,224,63,1,224,255,255,224,255,255,192,19,32,96, - 21,1,0,14,7,0,30,15,0,31,15,128,30,15,0,30, - 15,0,12,6,0,0,0,0,255,255,192,255,255,192,62,1, - 192,30,1,192,30,1,128,30,1,128,30,0,128,30,0,0, - 30,0,0,30,0,0,30,0,0,31,255,0,31,254,0,30, - 6,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,96,30,0,96,30,0,224,63,1,224,255,255,224, - 255,255,192,12,34,68,13,0,0,48,0,248,0,252,0,254, - 0,63,0,15,128,3,192,0,128,0,0,127,240,63,240,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,63,224,127,240,12,34,68, - 13,1,0,0,192,1,224,3,240,7,224,31,128,62,0,120, - 0,32,0,0,0,255,224,127,224,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,127,192,255,224,13,34,68,13,0,0,7,0,15, - 128,31,192,63,224,127,224,248,240,224,56,128,16,0,0,127, - 240,63,240,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,63,224,127, - 240,14,32,64,13,255,0,56,28,120,60,248,124,248,124,120, - 60,112,56,0,0,63,248,31,248,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,31,240,63,248,22,25,75,25,1,0,15,252,0, - 255,255,128,255,15,192,31,3,224,31,1,240,31,1,248,31, - 0,248,31,0,248,31,0,124,31,0,124,31,0,124,255,248, - 124,255,248,124,31,0,124,31,0,124,31,0,124,31,0,120, - 31,0,248,31,0,248,31,1,240,31,1,240,31,3,224,31, - 7,192,127,255,128,255,252,0,25,33,132,27,1,0,0,240, - 48,0,1,254,224,0,3,255,224,0,3,255,192,0,6,31, - 128,0,6,3,0,0,4,0,0,0,0,0,0,0,254,0, - 255,128,255,0,127,0,31,0,28,0,31,128,28,0,31,192, - 28,0,31,192,28,0,31,224,28,0,29,240,28,0,29,248, - 28,0,28,248,28,0,28,124,28,0,28,126,28,0,28,62, - 28,0,28,31,28,0,28,15,156,0,28,15,156,0,28,7, - 220,0,28,3,252,0,28,3,252,0,28,1,252,0,28,0, - 252,0,28,0,252,0,28,0,124,0,127,0,60,0,255,128, - 12,0,23,34,102,25,1,0,1,128,0,7,192,0,7,224, - 0,7,240,0,1,248,0,0,124,0,0,30,0,0,4,0, - 0,0,0,0,126,0,3,255,192,7,135,224,14,1,240,30, - 0,248,60,0,248,60,0,124,124,0,124,120,0,126,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,252,0,60,124,0,124,124,0,120,62,0,120,62, - 0,240,31,1,224,15,195,192,7,255,0,0,252,0,23,34, - 102,25,1,0,0,3,0,0,7,192,0,15,192,0,31,128, - 0,62,0,0,120,0,0,224,0,0,128,0,0,0,0,0, - 126,0,3,255,192,7,135,224,14,1,240,30,0,248,60,0, - 248,60,0,124,124,0,124,120,0,126,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,252, - 0,60,124,0,124,124,0,120,62,0,120,62,0,240,31,1, - 224,15,195,192,7,255,0,0,252,0,23,34,102,25,1,0, - 0,56,0,0,124,0,0,254,0,1,255,0,3,255,0,3, - 199,128,7,1,192,4,0,128,0,0,0,0,126,0,3,255, - 192,7,135,224,14,1,240,30,0,248,60,0,248,60,0,124, - 124,0,124,120,0,126,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,252,0,60,124,0, - 124,124,0,120,62,0,120,62,0,240,31,1,224,15,195,192, - 7,255,0,0,252,0,23,33,99,25,1,0,1,240,96,3, - 252,224,7,255,192,7,255,128,14,63,128,12,6,0,8,0, - 0,0,0,0,0,126,0,3,255,192,7,135,224,14,1,240, - 30,0,248,60,0,248,60,0,124,124,0,124,120,0,126,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,252,0,60,124,0,124,124,0,120,62,0,120, - 62,0,240,31,1,224,15,195,192,7,255,0,0,252,0,23, - 32,96,25,1,0,3,129,192,7,131,192,7,195,224,7,131, - 192,7,131,192,3,1,128,0,0,0,0,126,0,3,255,192, - 7,135,224,14,1,240,30,0,248,60,0,248,60,0,124,124, - 0,124,120,0,126,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,252,0,60,124,0,124, - 124,0,120,62,0,120,62,0,240,31,1,224,15,195,192,7, - 255,0,0,252,0,13,12,24,17,2,5,96,48,240,120,120, - 240,61,224,31,192,15,128,15,128,31,192,57,224,120,240,240, - 120,96,48,23,26,78,25,1,255,0,126,30,3,255,252,7, - 135,248,14,3,240,30,1,248,60,1,252,60,3,252,124,7, - 252,120,15,254,248,15,126,248,30,62,248,62,62,248,60,62, - 248,120,62,248,240,62,248,240,62,253,224,60,127,192,124,127, - 128,120,127,128,120,63,0,240,31,129,224,63,195,192,127,255, - 0,240,252,0,192,0,0,25,34,136,27,1,0,0,192,0, - 0,3,224,0,0,3,240,0,0,3,248,0,0,0,252,0, - 0,0,30,0,0,0,7,0,0,0,2,0,0,0,0,0, - 0,255,224,255,128,127,224,255,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,24,0,15,128,56, - 0,15,128,56,0,7,192,112,0,3,224,224,0,1,255,192, - 0,0,127,0,0,25,34,136,27,1,0,0,1,128,0,0, - 3,224,0,0,7,224,0,0,15,192,0,0,31,0,0,0, - 60,0,0,0,112,0,0,0,64,0,0,0,0,0,0,255, - 224,255,128,127,224,255,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,24,0,15,128,56,0,15, - 128,56,0,7,192,112,0,3,224,224,0,1,255,192,0,0, - 127,0,0,25,34,136,27,1,0,0,28,0,0,0,62,0, - 0,0,127,0,0,0,255,128,0,1,255,192,0,1,227,192, - 0,3,128,224,0,2,0,64,0,0,0,0,0,255,224,255, - 128,127,224,255,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,24,0,15,128,56,0,15,128,56, - 0,7,192,112,0,3,224,224,0,1,255,192,0,0,127,0, - 0,25,32,128,27,1,0,1,192,224,0,3,225,240,0,3, - 225,240,0,3,193,224,0,3,193,224,0,1,128,192,0,0, - 0,0,0,255,224,255,128,127,224,255,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,24,0,15, - 128,56,0,15,128,56,0,7,192,112,0,3,224,224,0,1, - 255,192,0,0,127,0,0,24,34,102,25,0,0,0,1,128, - 0,3,192,0,7,224,0,31,192,0,63,0,0,124,0,0, - 240,0,0,64,0,0,0,0,126,0,255,255,0,255,31,0, - 56,15,128,56,15,192,112,7,192,112,3,224,224,3,224,224, - 1,241,192,1,241,192,0,251,128,0,251,128,0,127,0,0, - 127,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,1,255,192, - 1,255,192,21,25,75,23,1,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,254,0,31,255,192,31,7, - 224,31,3,240,31,1,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,1,240,31,1,240,31,135,224,31, - 127,128,31,62,0,31,0,0,31,0,0,31,0,0,127,224, - 0,255,224,0,23,30,90,25,0,0,0,31,128,0,255,224, - 1,195,240,3,128,248,7,128,248,15,0,124,15,0,124,15, - 0,124,31,0,124,31,0,248,31,1,248,31,7,240,31,15, - 128,31,31,0,31,30,0,31,30,0,31,31,0,31,31,128, - 31,15,224,31,7,248,31,3,252,31,0,252,31,0,126,31, - 48,62,31,48,30,31,48,30,31,56,28,31,60,60,127,63, - 248,255,15,224,19,30,90,20,1,0,7,0,0,31,128,0, - 15,128,0,15,192,0,7,192,0,3,224,0,1,224,0,0, - 224,0,0,112,0,0,48,0,0,0,0,0,0,0,1,248, - 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, - 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, - 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, - 128,62,14,0,19,30,90,20,1,0,0,56,0,0,62,0, - 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,1, - 192,0,3,128,0,1,0,0,0,0,0,0,0,0,1,248, - 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, - 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, - 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, - 128,62,14,0,19,29,87,20,1,0,1,224,0,1,224,0, - 3,240,0,7,248,0,7,252,0,15,60,0,30,30,0,56, - 7,0,16,2,0,0,0,0,0,0,0,1,248,0,15,254, - 0,62,63,0,124,31,0,124,31,0,112,31,0,0,31,0, - 1,255,0,15,255,0,63,31,0,124,31,0,120,31,0,248, - 31,0,248,31,32,248,127,224,255,223,192,127,159,128,62,14, - 0,19,27,81,20,1,0,7,129,128,15,227,0,31,255,0, - 63,254,0,49,252,0,96,56,0,0,0,0,0,0,0,0, - 0,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,19,27,81,20,1,0,12,6, - 0,30,15,0,62,31,0,62,31,0,62,31,0,28,14,0, - 0,0,0,0,0,0,0,0,0,1,248,0,15,254,0,62, - 63,0,124,31,0,124,31,0,112,31,0,0,31,0,1,255, - 0,15,255,0,63,31,0,124,31,0,120,31,0,248,31,0, - 248,31,32,248,127,224,255,223,192,127,159,128,62,14,0,19, - 28,84,20,1,0,0,240,0,3,248,0,3,184,0,7,56, - 0,7,56,0,7,56,0,3,240,0,1,224,0,0,0,0, - 0,0,0,1,248,0,15,254,0,62,63,0,124,31,0,124, - 31,0,112,31,0,0,31,0,1,255,0,15,255,0,63,31, - 0,124,31,0,120,31,0,248,31,0,248,31,32,248,127,224, - 255,223,192,127,159,128,62,14,0,27,18,72,29,1,0,0, - 252,62,0,7,254,255,128,15,191,199,128,30,15,131,192,62, - 15,129,192,124,15,1,224,0,15,1,224,0,255,255,224,15, - 255,255,192,31,15,0,0,124,15,0,0,120,15,0,0,248, - 15,128,0,248,31,128,96,252,127,225,224,255,227,255,192,127, - 193,255,0,63,0,124,0,17,27,81,18,1,247,1,252,0, - 7,255,0,31,31,0,60,15,0,60,7,0,120,6,0,120, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,252,0,0,126,1,0,127,7,128,63,254,0,31,252,0, - 7,240,0,1,192,0,1,192,0,1,240,0,3,248,0,0, - 248,0,0,248,0,1,240,0,3,224,0,7,0,0,17,30, - 90,19,1,0,3,128,0,15,128,0,31,192,0,7,192,0, - 3,192,0,1,224,0,0,224,0,0,112,0,0,48,0,0, - 56,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,30, - 90,19,1,0,0,60,0,0,63,0,0,62,0,0,124,0, - 0,120,0,0,240,0,0,240,0,1,224,0,1,192,0,1, - 128,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,19,1,0,0,224,0,1,240,0,3,248,0,3,248,0, - 7,252,0,15,30,0,14,14,0,28,7,0,24,3,0,0, - 0,0,0,0,0,1,240,0,15,252,0,30,62,0,60,31, - 0,120,15,0,120,15,128,248,15,128,255,255,128,255,254,0, - 248,0,0,248,0,0,248,0,0,252,0,0,126,1,128,127, - 7,0,63,254,0,31,252,0,7,240,0,17,27,81,19,1, - 0,14,7,0,30,15,0,31,15,128,30,15,0,30,15,0, - 28,14,0,0,0,0,0,0,0,0,0,0,1,240,0,15, - 252,0,30,62,0,60,31,0,120,15,0,120,15,128,248,15, - 128,255,255,128,255,254,0,248,0,0,248,0,0,248,0,0, - 252,0,0,126,1,128,127,7,0,63,254,0,31,252,0,7, - 240,0,11,30,60,12,0,0,56,0,252,0,124,0,62,0, - 62,0,31,0,15,0,7,128,3,128,1,128,0,0,0,0, - 7,0,127,0,127,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 127,192,127,224,11,30,60,12,1,0,3,128,3,224,7,224, - 7,192,15,128,15,0,30,0,28,0,24,0,48,0,0,0, - 0,0,14,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,128,255,192,14,29,58,12,255,0,7,128,7,192, - 15,192,31,224,31,240,60,240,120,120,112,28,192,8,0,0, - 0,0,3,128,63,128,63,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,63,224,63,240,14,27,54,12,255,0,48,24,120,60, - 248,124,248,124,248,124,112,56,0,0,0,0,0,0,3,128, - 63,128,63,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,63,224, - 63,240,18,29,87,20,1,0,3,0,0,31,192,0,63,231, - 192,3,255,0,0,252,0,3,252,0,15,252,0,30,30,0, - 0,31,0,0,15,0,0,15,128,3,231,128,15,255,128,30, - 63,192,60,31,192,124,15,192,120,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,128,248,7,128,124,15,128, - 124,15,0,126,14,0,63,28,0,15,248,0,3,224,0,22, - 27,81,23,1,0,1,192,64,3,248,224,7,255,192,15,255, - 128,12,127,0,24,30,0,0,0,0,0,0,0,0,0,0, - 14,15,128,254,63,192,254,255,224,63,255,224,63,199,224,63, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 255,143,248,255,223,252,19,30,90,21,1,0,3,128,0,15, - 192,0,15,192,0,7,192,0,3,224,0,1,224,0,0,240, - 0,0,112,0,0,56,0,0,16,0,0,0,0,0,0,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,19,30,90,21,1,0,0,28,0,0, - 63,0,0,63,0,0,62,0,0,124,0,0,120,0,0,240, - 0,0,224,0,1,192,0,0,128,0,0,0,0,0,0,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,19,29,87,21,1,0,0,240,0,0, - 240,0,1,248,0,3,252,0,7,252,0,7,158,0,15,15, - 0,28,3,0,8,1,128,0,0,0,0,0,0,1,248,0, - 7,254,0,30,31,128,60,15,128,124,7,192,120,7,192,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 192,124,3,192,124,7,128,62,7,128,63,15,0,15,252,0, - 3,240,0,19,27,81,21,1,0,3,128,128,7,241,192,15, - 255,128,31,255,0,24,254,0,48,60,0,0,0,0,0,0, - 0,0,0,0,1,248,0,7,254,0,30,31,128,60,15,128, - 124,7,192,120,7,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,192,124,3,192,124,7,128,62,7, - 128,63,15,0,15,252,0,3,240,0,19,27,81,21,1,0, - 14,7,0,15,7,128,31,15,128,31,15,128,30,15,0,14, - 7,0,0,0,0,0,0,0,0,0,0,1,248,0,7,254, - 0,30,31,128,60,15,128,124,7,192,120,7,192,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,192,124, - 3,192,124,7,128,62,7,128,63,15,0,15,252,0,3,240, - 0,15,15,30,17,1,3,3,0,7,0,7,0,7,0,6, - 0,0,0,127,254,255,252,0,0,0,0,3,0,7,0,7, - 0,7,0,6,0,19,20,60,21,1,255,0,0,32,1,248, - 224,7,255,192,30,31,128,60,15,192,60,31,192,120,31,224, - 120,59,224,248,115,224,248,227,224,249,227,224,249,195,224,251, - 131,192,127,3,192,126,7,128,62,7,128,63,15,0,63,252, - 0,99,240,0,192,0,0,22,30,90,23,1,0,3,128,0, - 7,192,0,15,192,0,3,224,0,1,224,0,0,240,0,0, - 240,0,0,120,0,0,56,0,0,24,0,0,0,0,0,0, - 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, - 252,31,243,240,15,193,192,22,30,90,23,1,0,0,30,0, - 0,31,0,0,63,128,0,62,0,0,124,0,0,120,0,0, - 112,0,0,224,0,0,224,0,1,192,0,0,0,0,0,0, - 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, - 252,31,243,240,15,193,192,22,29,87,23,1,0,0,112,0, - 0,248,0,1,248,0,3,252,0,3,254,0,7,158,0,15, - 7,0,14,3,128,8,1,0,0,0,0,0,0,0,14,0, - 224,254,31,224,126,7,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,7,224,63,31,252,31,251,252,31,243, - 240,15,193,192,22,27,81,23,1,0,7,3,128,15,7,128, - 31,15,128,31,15,128,31,15,128,14,7,0,0,0,0,0, - 0,0,0,0,0,14,0,224,254,31,224,126,7,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,7,224,63, - 31,252,31,251,252,31,243,240,15,193,192,21,39,117,20,255, - 247,0,7,0,0,15,192,0,15,128,0,31,0,0,31,0, - 0,62,0,0,60,0,0,120,0,0,112,0,0,96,0,0, - 0,0,0,0,0,127,193,248,63,129,248,31,0,224,15,128, - 224,15,129,192,7,193,192,7,193,128,7,195,128,3,227,128, - 3,231,0,1,247,0,1,246,0,0,254,0,0,254,0,0, - 252,0,0,124,0,0,120,0,0,56,0,0,56,0,0,112, - 0,0,112,0,0,224,0,33,224,0,127,192,0,127,128,0, - 255,0,0,124,0,0,20,39,117,22,1,247,6,0,0,254, - 0,0,254,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,31,0,62,127,128,62,255,192,63,135,224,63,3,224,62, - 1,240,62,0,240,62,0,240,62,0,240,62,0,240,62,0, - 240,62,0,224,62,0,224,62,1,192,63,195,192,63,255,128, - 62,255,0,62,60,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,255,192,0,255,192, - 0,21,36,108,20,255,247,3,129,192,7,195,224,7,195,224, - 7,195,224,7,131,192,7,3,128,0,0,0,0,0,0,0, - 0,0,127,193,248,63,129,248,31,0,224,15,128,224,15,129, - 192,7,193,192,7,193,128,7,195,128,3,227,128,3,231,0, - 1,247,0,1,246,0,0,254,0,0,254,0,0,252,0,0, - 124,0,0,120,0,0,56,0,0,56,0,0,112,0,0,112, - 0,0,224,0,33,224,0,127,192,0,127,128,0,255,0,0, - 124,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=18 h=38 x= 3 y=14 dx=21 dy= 0 ascent=31 len=114 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25n[960] U8G_SECTION(".progmem.u8g_font_gdb25n") = { - 0,61,57,236,242,24,0,0,0,0,42,57,0,31,249,24, - 0,16,16,32,18,1,14,0,192,3,192,3,192,99,140,123, - 158,125,191,127,252,15,224,7,224,63,252,253,190,249,158,51, - 142,3,192,3,192,3,0,15,14,28,17,1,4,1,128,3, - 128,3,128,3,128,3,128,3,128,127,254,255,252,3,128,3, - 128,3,128,3,128,3,128,3,0,8,12,12,11,2,249,30, - 127,255,127,31,31,30,30,60,56,112,96,12,2,4,14,1, - 9,127,240,255,240,6,6,6,11,3,255,56,124,252,252,252, - 120,17,38,114,19,1,249,0,1,128,0,7,128,0,7,128, - 0,15,0,0,15,0,0,15,0,0,30,0,0,30,0,0, - 28,0,0,60,0,0,60,0,0,120,0,0,120,0,0,120, - 0,0,240,0,0,240,0,0,224,0,1,224,0,1,224,0, - 3,192,0,3,192,0,3,192,0,7,128,0,7,128,0,7, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,120,0,0, - 240,0,0,240,0,0,192,0,0,18,24,72,20,1,0,3, - 240,0,7,252,0,30,62,0,28,31,0,60,15,0,120,15, - 128,120,15,128,120,7,128,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,120, - 7,128,124,7,128,124,15,128,60,15,0,62,14,0,31,30, - 0,15,248,0,3,224,0,16,24,48,20,2,0,0,96,3, - 224,31,224,255,224,99,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,7,240,127,255,127,255,16,24,48, - 20,2,0,3,248,15,252,60,62,124,63,120,31,248,31,112, - 31,0,31,0,62,0,60,0,124,0,120,0,240,1,224,3, - 224,3,192,7,128,15,1,30,3,60,3,120,3,127,255,255, - 255,255,255,16,24,48,20,2,0,7,240,31,248,60,124,120, - 62,248,62,248,62,64,62,0,60,0,124,0,240,7,240,7, - 252,0,254,0,62,0,63,0,31,0,31,0,31,0,31,0, - 30,192,62,240,124,127,248,15,192,17,24,72,20,1,0,0, - 12,0,0,124,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,188,0,7,188,0,7,60,0,14,60,0,14,60,0, - 28,60,0,56,60,0,56,60,0,112,60,0,255,255,128,255, - 255,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,3,255,128,3,255,128,17,24,72,20,1,0,31,255,0, - 31,255,128,31,254,0,31,252,0,24,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,63,240,0,63,252,0,48,126, - 0,96,31,0,0,31,0,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,0,31,0,96,31,0,248,126,0,63, - 252,0,7,224,0,17,24,72,20,2,0,0,14,0,0,126, - 0,1,240,0,7,192,0,15,128,0,30,0,0,62,0,0, - 60,0,0,124,0,0,121,248,0,127,254,0,254,63,0,252, - 31,0,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,124,15,128,124,15,0,60,31,0,31,30,0,15,252,0, - 3,240,0,17,24,72,20,2,0,127,255,128,127,255,0,255, - 255,0,255,255,0,224,6,0,192,14,0,128,12,0,0,28, - 0,0,28,0,0,56,0,0,56,0,0,112,0,0,112,0, - 0,240,0,0,224,0,1,224,0,1,192,0,3,192,0,3, - 192,0,7,128,0,7,128,0,15,128,0,31,0,0,28,0, - 0,17,24,72,21,2,0,3,240,0,15,252,0,28,62,0, - 24,31,0,56,31,0,56,31,0,56,31,0,60,62,0,63, - 60,0,31,248,0,15,240,0,7,252,0,14,254,0,62,63, - 0,124,31,128,120,31,128,248,15,128,248,15,128,248,15,128, - 248,15,0,124,31,0,126,62,0,63,252,0,7,224,0,17, - 25,75,20,2,255,3,240,0,15,252,0,30,62,0,60,30, - 0,120,31,0,120,31,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,128,126,63,128,63,255,128,15, - 207,0,0,15,0,0,31,0,0,30,0,0,62,0,0,124, - 0,0,248,0,1,240,0,15,192,0,63,0,0,56,0,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=34 h=41 x= 3 y=20 dx=35 dy= 0 ascent=33 len=136 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x=-6 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =33 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25r[6779] U8G_SECTION(".progmem.u8g_font_gdb25r") = { - 0,61,57,236,242,25,7,167,18,92,32,127,247,33,247,31, - 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, - 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, - 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, - 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, - 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, - 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, - 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, - 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, - 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, - 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, - 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, - 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, - 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, - 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, - 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, - 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, - 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, - 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, - 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, - 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, - 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, - 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, - 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, - 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, - 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, - 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, - 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, - 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, - 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, - 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, - 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, - 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, - 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, - 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, - 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, - 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, - 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, - 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, - 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, - 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, - 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, - 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, - 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, - 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, - 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, - 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, - 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, - 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, - 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, - 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, - 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, - 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, - 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, - 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, - 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, - 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, - 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, - 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, - 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, - 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, - 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, - 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, - 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, - 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, - 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, - 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, - 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, - 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, - 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, - 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, - 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, - 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, - 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, - 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, - 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, - 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, - 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, - 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, - 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, - 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, - 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, - 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, - 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, - 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, - 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, - 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, - 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, - 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, - 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, - 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, - 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, - 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, - 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, - 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, - 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, - 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, - 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, - 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, - 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, - 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, - 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, - 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, - 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, - 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, - 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, - 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, - 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, - 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, - 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, - 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, - 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, - 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, - 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, - 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, - 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, - 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, - 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, - 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, - 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, - 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, - 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, - 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, - 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, - 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, - 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, - 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, - 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, - 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, - 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, - 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, - 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, - 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, - 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, - 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, - 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, - 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, - 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, - 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, - 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, - 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, - 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, - 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, - 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, - 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, - 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, - 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, - 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, - 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, - 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, - 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, - 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, - 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, - 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, - 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, - 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, - 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, - 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, - 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, - 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, - 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, - 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, - 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, - 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, - 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, - 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, - 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, - 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, - 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, - 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, - 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, - 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, - 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, - 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, - 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, - 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, - 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, - 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, - 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, - 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, - 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, - 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, - 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, - 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, - 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, - 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, - 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, - 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, - 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, - 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, - 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, - 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, - 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, - 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, - 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, - 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, - 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, - 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, - 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, - 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, - 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, - 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, - 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, - 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, - 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, - 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, - 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, - 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, - 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, - 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, - 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, - 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, - 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, - 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, - 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, - 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, - 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, - 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, - 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, - 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, - 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, - 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, - 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, - 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, - 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, - 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, - 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, - 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, - 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, - 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, - 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, - 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, - 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, - 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, - 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, - 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, - 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, - 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, - 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, - 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, - 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, - 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, - 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, - 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, - 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, - 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, - 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, - 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, - 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, - 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, - 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, - 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, - 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, - 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, - 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, - 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, - 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, - 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, - 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, - 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, - 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, - 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, - 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, - 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, - 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, - 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, - 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, - 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, - 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, - 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, - 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, - 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, - 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, - 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, - 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, - 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, - 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, - 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, - 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, - 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, - 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, - 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, - 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, - 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, - 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, - 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, - 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, - 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, - 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, - 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, - 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, - 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, - 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, - 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, - 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, - 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, - 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, - 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, - 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, - 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, - 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, - 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, - 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, - 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, - 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, - 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, - 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, - 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, - 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, - 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, - 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, - 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, - 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, - 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, - 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, - 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, - 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, - 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, - 0,99,255,0,192,254,0,128,56,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=41 h=49 x= 5 y=27 dx=42 dy= 0 ascent=42 len=210 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x=-7 y=-13 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =42 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30[19508] U8G_SECTION(".progmem.u8g_font_gdb30") = { - 0,74,69,232,239,30,10,50,24,78,32,255,245,42,243,38, - 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, - 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, - 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, - 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, - 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, - 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, - 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, - 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, - 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, - 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, - 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, - 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, - 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, - 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, - 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, - 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, - 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, - 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, - 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, - 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, - 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, - 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, - 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, - 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, - 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, - 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, - 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, - 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, - 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, - 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, - 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, - 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, - 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, - 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, - 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, - 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, - 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, - 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, - 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, - 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, - 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, - 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, - 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, - 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, - 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, - 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, - 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, - 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, - 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, - 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, - 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, - 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, - 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, - 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, - 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, - 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, - 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, - 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, - 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, - 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, - 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, - 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, - 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, - 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, - 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, - 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, - 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, - 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, - 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, - 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, - 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, - 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, - 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, - 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, - 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, - 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, - 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, - 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, - 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, - 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, - 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, - 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, - 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, - 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, - 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, - 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, - 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, - 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, - 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, - 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, - 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, - 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, - 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, - 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, - 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, - 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, - 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, - 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, - 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, - 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, - 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, - 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, - 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, - 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, - 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, - 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, - 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, - 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, - 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, - 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, - 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, - 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, - 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, - 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, - 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, - 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, - 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, - 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, - 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, - 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, - 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, - 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, - 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, - 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, - 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, - 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, - 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, - 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, - 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, - 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, - 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, - 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, - 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, - 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, - 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, - 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, - 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, - 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, - 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, - 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, - 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, - 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, - 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, - 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, - 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, - 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, - 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, - 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, - 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, - 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, - 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, - 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, - 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, - 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, - 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, - 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, - 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, - 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, - 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, - 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, - 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, - 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, - 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, - 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, - 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, - 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, - 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, - 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, - 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, - 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, - 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, - 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, - 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, - 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, - 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, - 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, - 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, - 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, - 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, - 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, - 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, - 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, - 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, - 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, - 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, - 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, - 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, - 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, - 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, - 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, - 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, - 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, - 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, - 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, - 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, - 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, - 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, - 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, - 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, - 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, - 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, - 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, - 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, - 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, - 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, - 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, - 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, - 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, - 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, - 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, - 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, - 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, - 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, - 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, - 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, - 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, - 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, - 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, - 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, - 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, - 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, - 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, - 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, - 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, - 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, - 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, - 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, - 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, - 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, - 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, - 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, - 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, - 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, - 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, - 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, - 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, - 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, - 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, - 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, - 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, - 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, - 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, - 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, - 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, - 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, - 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, - 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, - 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, - 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, - 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, - 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, - 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, - 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, - 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, - 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, - 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, - 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, - 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, - 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, - 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, - 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, - 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, - 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, - 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, - 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, - 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, - 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, - 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, - 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, - 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, - 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, - 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, - 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, - 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, - 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, - 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, - 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, - 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, - 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, - 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, - 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, - 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, - 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, - 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, - 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, - 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, - 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, - 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, - 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, - 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, - 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, - 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, - 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, - 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, - 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, - 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, - 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, - 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, - 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, - 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, - 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, - 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, - 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, - 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, - 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, - 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, - 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, - 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, - 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, - 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, - 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, - 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, - 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, - 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, - 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, - 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, - 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, - 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, - 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, - 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, - 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, - 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, - 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, - 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, - 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, - 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, - 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, - 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, - 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, - 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, - 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, - 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, - 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, - 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, - 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, - 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, - 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, - 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, - 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, - 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, - 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, - 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, - 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, - 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, - 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, - 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, - 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, - 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, - 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, - 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, - 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, - 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, - 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, - 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, - 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, - 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, - 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, - 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, - 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, - 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, - 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, - 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, - 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, - 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, - 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, - 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, - 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, - 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, - 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, - 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, - 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, - 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, - 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, - 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, - 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, - 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, - 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, - 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, - 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, - 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, - 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, - 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, - 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, - 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, - 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, - 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, - 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, - 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, - 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, - 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, - 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, - 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, - 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, - 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, - 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, - 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, - 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, - 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, - 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, - 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, - 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, - 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, - 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, - 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, - 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, - 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, - 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, - 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, - 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, - 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, - 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, - 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, - 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, - 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, - 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, - 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, - 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, - 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, - 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, - 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, - 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, - 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, - 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, - 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, - 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, - 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, - 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, - 192,64,31,128,192,15,0,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,12,0,0,8,35, - 35,15,3,243,62,127,255,255,255,254,124,0,0,12,28,28, - 28,60,60,60,60,60,62,62,62,62,62,62,62,62,126,126, - 126,126,126,127,126,120,96,21,30,90,24,2,255,0,24,0, - 0,56,0,0,56,0,0,56,0,0,127,192,3,255,240,7, - 255,248,31,187,240,62,56,240,60,56,96,124,56,32,120,56, - 0,248,56,0,248,56,0,248,56,0,248,56,0,248,56,0, - 248,56,0,252,56,0,124,56,16,126,56,56,63,56,240,31, - 251,224,15,255,192,7,255,128,1,252,0,0,56,0,0,56, - 0,0,56,0,0,48,0,22,29,87,24,1,0,0,31,192, - 0,255,248,1,225,248,3,192,248,7,192,120,7,128,112,15, - 128,48,15,128,48,15,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,255,0,255,255,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,16,31,0,12,31, - 0,24,30,0,56,62,0,120,63,255,248,127,255,248,255,255, - 248,128,15,240,20,20,60,24,2,4,64,0,32,224,0,96, - 113,248,240,63,255,192,31,15,128,30,7,128,28,3,128,56, - 1,192,56,1,192,56,1,192,56,1,192,56,1,192,60,3, - 192,30,7,128,31,15,128,31,255,128,57,249,192,112,0,224, - 224,0,112,64,0,32,27,28,112,24,254,0,127,0,127,224, - 255,128,127,224,127,192,15,0,15,224,30,0,15,224,30,0, - 7,240,60,0,3,240,60,0,3,248,56,0,1,252,120,0, - 0,252,112,0,0,254,240,0,0,126,224,0,0,127,224,0, - 0,63,192,0,0,63,192,0,0,31,192,0,0,31,128,0, - 15,255,255,0,15,255,254,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,63,192,0,1,255,248,0,1,255,248,0,4,49,49,11, - 4,246,48,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,224,0,0,0,0,0,112,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,192,18,34,102,23,3,0,3,252,0,15,255,0,30, - 31,0,60,15,0,124,7,0,124,6,0,126,2,0,127,128, - 0,63,224,0,63,240,0,63,252,0,127,254,0,123,255,0, - 240,255,128,240,63,128,240,31,192,240,7,192,248,7,192,124, - 3,192,127,3,192,63,195,192,31,243,128,15,255,128,7,255, - 0,1,255,0,0,127,128,96,63,128,96,31,128,112,15,128, - 112,15,128,120,15,0,126,30,0,127,252,0,15,240,0,17, - 7,21,19,1,26,56,7,0,124,15,128,252,31,128,252,31, - 128,252,31,128,248,31,0,112,14,0,31,31,124,35,2,0, - 0,31,224,0,0,127,252,0,1,240,31,0,7,192,7,128, - 15,0,1,224,30,0,0,224,28,3,240,112,56,31,254,56, - 56,60,124,56,112,120,60,28,112,240,28,28,240,240,24,28, - 224,224,0,14,225,224,0,14,225,224,0,14,225,224,0,14, - 225,224,0,14,225,224,0,14,225,240,0,14,240,240,0,30, - 112,248,6,28,112,126,30,28,56,127,252,56,56,31,240,56, - 28,7,192,112,14,0,0,224,15,0,1,224,7,192,7,128, - 1,240,31,0,0,127,252,0,0,31,240,0,12,16,32,13, - 1,14,15,0,63,128,99,192,227,192,131,192,7,192,63,192, - 123,192,243,192,243,192,247,224,255,240,115,128,0,0,255,224, - 255,224,20,22,66,25,2,0,0,192,32,1,192,112,1,192, - 224,3,129,224,7,131,192,15,7,192,31,15,128,62,15,128, - 126,31,0,252,63,0,252,126,0,252,126,0,252,63,0,126, - 31,0,62,15,128,31,15,128,15,7,192,7,131,192,3,129, - 224,1,192,224,0,192,112,0,192,32,21,11,33,24,2,4, - 127,255,248,255,255,248,255,255,248,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 96,15,3,6,17,1,11,127,254,127,252,255,252,17,17,51, - 17,0,17,3,224,0,15,248,0,60,30,0,48,6,0,103, - 227,0,99,51,0,195,49,128,195,49,128,195,225,128,195,65, - 128,195,97,128,99,35,0,99,51,0,55,158,0,60,30,0, - 15,248,0,3,224,0,20,4,12,24,2,27,127,255,240,255, - 255,240,255,255,224,255,255,224,11,13,26,17,3,17,15,0, - 31,192,63,192,123,224,113,224,241,224,241,224,241,224,241,192, - 251,192,127,128,127,0,30,0,18,22,66,20,1,3,0,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,127,255,192,255,255,192,255,255,128,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,192, - 0,0,0,0,0,0,0,127,255,192,127,255,192,255,255,128, - 13,17,34,17,2,15,7,224,31,240,120,248,120,120,248,120, - 0,120,0,240,0,224,1,224,3,192,7,128,15,0,30,8, - 60,8,120,24,255,248,255,248,13,18,36,17,1,14,7,224, - 31,240,60,248,120,120,124,120,0,120,0,240,1,224,7,240, - 5,240,0,120,0,120,0,120,0,120,128,120,224,240,127,224, - 31,128,11,11,22,15,5,24,15,0,15,192,31,224,31,128, - 63,0,62,0,124,0,120,0,240,0,224,0,64,0,27,33, - 132,28,1,245,3,0,6,0,255,128,254,0,255,128,126,0, - 63,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,192,254,0,31,227,254,0,31,255,254,64,31,255,127,224, - 30,254,127,192,30,124,63,128,30,56,28,0,30,0,0,0, - 30,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0, - 31,0,0,0,31,128,0,0,31,128,0,0,31,192,0,0, - 31,0,0,0,24,0,0,0,26,36,144,29,1,250,1,255, - 255,192,7,255,255,192,31,195,255,0,63,3,222,0,126,3, - 222,0,124,3,222,0,252,3,222,0,252,3,222,0,252,3, - 222,0,252,3,222,0,252,3,222,0,126,3,222,0,127,3, - 222,0,63,3,222,0,31,195,222,0,7,255,222,0,1,255, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,7,255,0,0,31,255,192,0,31,255,192,7,7, - 7,10,1,13,60,126,254,254,254,252,120,10,10,20,11,1, - 246,14,0,28,0,30,0,63,128,63,192,15,192,15,192,31, - 128,254,0,112,0,13,17,34,17,2,15,1,128,15,128,255, - 128,71,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,240,127,248,11,16,32, - 13,1,14,15,0,63,128,123,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,192,123,192,63,128,30,0,0,0,255, - 224,255,224,20,22,66,25,3,0,64,32,0,224,112,0,112, - 56,0,120,28,0,56,30,0,60,15,0,30,15,128,31,7, - 192,31,135,224,15,199,240,15,227,240,15,227,240,15,199,240, - 31,135,224,31,7,192,30,15,128,60,15,0,56,30,0,120, - 28,0,112,56,0,224,48,0,64,96,0,27,29,116,30,2, - 0,3,0,1,192,63,0,3,128,255,0,7,128,15,0,15, - 0,15,0,14,0,15,0,28,0,15,0,60,0,15,0,120, - 0,15,0,112,0,15,0,240,0,15,1,224,0,15,1,192, - 0,31,131,128,0,255,231,128,0,0,15,0,0,0,14,1, - 0,0,28,15,128,0,60,15,128,0,120,31,128,0,112,55, - 128,0,224,55,128,1,224,103,128,3,192,199,128,3,129,199, - 128,7,129,255,224,15,3,255,192,30,0,7,128,28,0,7, - 128,60,0,63,224,26,29,116,30,2,0,3,0,1,192,63, - 0,7,128,255,0,7,128,15,0,15,0,15,0,30,0,15, - 0,60,0,15,0,60,0,15,0,120,0,15,0,240,0,15, - 0,224,0,15,1,224,0,15,3,192,0,31,135,128,0,255, - 231,0,0,0,15,0,0,0,30,63,0,0,60,127,192,0, - 56,231,192,0,121,195,192,0,241,131,192,1,224,3,128,1, - 192,7,0,3,192,14,0,7,128,28,0,15,0,56,0,14, - 0,112,64,30,0,224,64,60,1,255,192,120,3,255,192,28, - 29,116,30,1,0,15,128,0,224,63,192,1,192,115,224,3, - 192,241,224,7,128,129,192,7,0,3,128,14,0,15,192,30, - 0,15,224,60,0,1,240,56,0,0,240,120,0,0,240,240, - 0,0,240,224,0,225,225,192,0,127,195,192,0,31,7,128, - 0,0,7,0,128,0,14,7,192,0,30,7,192,0,60,11, - 192,0,56,27,192,0,112,19,192,0,240,51,192,1,224,99, - 192,1,192,227,192,3,192,255,240,7,129,255,224,15,0,3, - 192,14,0,3,192,30,0,31,240,18,35,105,22,2,243,0, - 248,0,1,252,0,3,252,0,3,252,0,3,252,0,3,248, - 0,1,240,0,0,0,0,0,0,0,0,0,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,0,1,240,0,1, - 224,0,3,224,0,7,192,0,15,192,0,15,128,0,31,0, - 0,63,0,0,126,0,0,126,0,0,252,0,0,252,3,192, - 252,15,192,252,15,192,252,15,192,252,15,128,126,31,128,127, - 31,0,63,254,0,15,240,0,30,42,168,30,0,0,0,32, - 0,0,0,112,0,0,0,248,0,0,1,252,0,0,1,254, - 0,0,0,255,0,0,0,63,128,0,0,15,192,0,0,3, - 224,0,0,0,224,0,0,0,64,0,0,0,0,0,0,1, - 128,0,0,7,128,0,0,15,192,0,0,31,192,0,0,31, - 224,0,0,31,224,0,0,63,224,0,0,63,240,0,0,59, - 240,0,0,121,240,0,0,121,248,0,0,113,248,0,0,240, - 252,0,0,240,252,0,0,224,252,0,1,224,126,0,1,224, - 126,0,1,192,126,0,3,255,255,0,3,255,255,0,3,128, - 31,0,7,128,31,128,7,0,31,128,7,0,15,192,15,0, - 15,192,14,0,15,192,14,0,7,224,30,0,7,224,255,192, - 63,252,255,192,63,252,30,42,168,30,0,0,0,0,32,0, - 0,0,48,0,0,0,124,0,0,0,254,0,0,1,254,0, - 0,3,248,0,0,7,224,0,0,15,128,0,0,31,0,0, - 0,60,0,0,0,16,0,0,0,0,0,0,0,1,128,0, - 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, - 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, - 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, - 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, - 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, - 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, - 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, - 255,192,63,252,30,41,164,30,0,0,0,7,0,0,0,7, - 128,0,0,15,192,0,0,31,224,0,0,63,240,0,0,127, - 248,0,0,248,248,0,1,240,60,0,1,192,14,0,1,0, - 8,0,0,0,0,0,0,1,128,0,0,7,128,0,0,15, - 192,0,0,31,192,0,0,31,224,0,0,31,224,0,0,63, - 224,0,0,63,240,0,0,59,240,0,0,121,240,0,0,121, - 248,0,0,113,248,0,0,240,252,0,0,240,252,0,0,224, - 252,0,1,224,126,0,1,224,126,0,1,192,126,0,3,255, - 255,0,3,255,255,0,3,128,31,0,7,128,31,128,7,0, - 31,128,7,0,15,192,15,0,15,192,14,0,15,192,14,0, - 7,224,30,0,7,224,255,192,63,252,255,192,63,252,30,40, - 160,30,0,0,0,16,4,0,0,127,7,0,0,255,254,0, - 1,255,254,0,1,255,252,0,3,255,248,0,3,3,240,0, - 2,0,64,0,0,0,0,0,0,0,0,0,0,1,128,0, - 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, - 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, - 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, - 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, - 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, - 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, - 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, - 255,192,63,252,30,40,160,30,0,0,0,64,16,0,0,240, - 60,0,1,248,126,0,1,248,126,0,1,248,126,0,1,240, - 124,0,1,240,124,0,0,64,32,0,0,0,0,0,0,0, - 0,0,0,1,128,0,0,7,128,0,0,15,192,0,0,31, - 192,0,0,31,224,0,0,31,224,0,0,63,224,0,0,63, - 240,0,0,59,240,0,0,121,240,0,0,121,248,0,0,113, - 248,0,0,240,252,0,0,240,252,0,0,224,252,0,1,224, - 126,0,1,224,126,0,1,192,126,0,3,255,255,0,3,255, - 255,0,3,128,31,0,7,128,31,128,7,0,31,128,7,0, - 15,192,15,0,15,192,14,0,15,192,14,0,7,224,30,0, - 7,224,255,192,63,252,255,192,63,252,30,42,168,30,0,0, - 0,1,0,0,0,15,224,0,0,31,224,0,0,28,240,0, - 0,60,240,0,0,60,240,0,0,60,224,0,0,63,224,0, - 0,31,128,0,0,4,0,0,0,0,0,0,0,0,0,0, - 0,1,128,0,0,7,128,0,0,15,192,0,0,31,192,0, - 0,31,224,0,0,31,224,0,0,63,224,0,0,63,240,0, - 0,59,240,0,0,121,240,0,0,121,248,0,0,113,248,0, - 0,240,252,0,0,240,252,0,0,224,252,0,1,224,126,0, - 1,224,126,0,1,192,126,0,3,255,255,0,3,255,255,0, - 3,128,31,0,7,128,31,128,7,0,31,128,7,0,15,192, - 15,0,15,192,14,0,15,192,14,0,7,224,30,0,7,224, - 255,192,63,252,255,192,63,252,38,30,150,39,0,0,0,127, - 255,255,240,0,127,255,255,248,0,15,255,0,112,0,7,255, - 0,112,0,15,63,0,112,0,15,63,0,48,0,15,63,0, - 48,0,30,63,0,48,0,30,63,0,0,0,60,63,0,0, - 0,60,63,0,0,0,60,63,0,0,0,120,63,0,0,0, - 127,255,255,192,0,255,255,255,128,0,240,63,1,128,0,224, - 63,0,0,1,224,63,0,0,1,224,63,0,0,3,192,63, - 0,0,3,192,63,0,0,3,128,63,0,0,7,128,63,0, - 0,7,128,63,0,12,15,0,63,0,12,15,0,63,0,28, - 14,0,63,0,28,31,0,127,128,124,255,193,255,255,248,255, - 193,255,255,248,24,40,120,27,1,246,0,31,224,0,255,252, - 1,255,254,7,224,254,15,192,126,31,128,60,31,0,28,62, - 0,0,62,0,0,126,0,0,124,0,0,124,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,0,127,0,0,63, - 128,2,63,128,7,31,224,15,15,252,254,7,255,248,3,255, - 240,0,255,192,0,30,0,0,28,0,0,31,0,0,63,192, - 0,63,192,0,15,192,0,15,128,0,31,128,0,254,0,0, - 112,0,23,42,126,25,1,0,1,0,0,3,128,0,15,192, - 0,15,224,0,31,240,0,7,248,0,1,252,0,0,126,0, - 0,31,0,0,7,0,0,2,0,0,0,0,255,255,248,255, - 255,252,63,128,56,31,128,56,31,128,24,31,128,24,31,128, - 24,31,128,24,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,255,224,31,255,224,31,128,192,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,6,31,128,6,31,128,14,31,128,14,63,192,30, - 255,255,254,255,255,252,23,42,126,25,1,0,0,2,0,0, - 3,128,0,7,224,0,15,240,0,31,240,0,63,192,0,127, - 0,0,252,0,1,240,0,1,192,0,1,0,0,0,0,0, - 255,255,248,255,255,252,63,128,56,31,128,56,31,128,24,31, - 128,24,31,128,24,31,128,24,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,255,224,31,255,224,31,128,192, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,6,31,128,6,31,128,14,31,128, - 14,63,192,30,255,255,254,255,255,252,23,41,123,25,1,0, - 0,56,0,0,124,0,0,254,0,0,255,0,1,255,0,3, - 255,128,7,199,192,15,1,224,14,0,224,8,0,64,0,0, - 0,255,255,248,255,255,252,63,128,56,31,128,56,31,128,24, - 31,128,24,31,128,24,31,128,24,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,255,224,31,255,224,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,6,31,128,6,31,128,14,31, - 128,14,63,192,30,255,255,254,255,255,252,23,40,120,25,1, - 0,2,0,128,7,129,224,15,195,240,15,195,240,15,195,240, - 15,131,224,15,3,192,4,1,0,0,0,0,0,0,0,255, - 255,248,255,255,252,63,128,56,31,128,56,31,128,24,31,128, - 24,31,128,24,31,128,24,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,255,224,31,255,224,31,128,192,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,6,31,128,6,31,128,14,31,128,14, - 63,192,30,255,255,254,255,255,252,15,42,84,16,255,0,8, - 0,28,0,62,0,127,0,127,128,191,192,15,224,3,240,0, - 248,0,56,0,16,0,0,31,254,31,254,7,248,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,7,248,31, - 254,31,254,14,42,84,16,2,0,0,128,0,224,1,248,3, - 252,7,252,15,240,31,192,63,0,124,0,112,0,32,0,0, - 0,255,240,255,240,63,192,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,63,192,255,240,255,240,16,41,82, - 16,0,0,3,128,7,192,15,224,15,240,31,240,63,248,124, - 124,240,30,224,15,128,4,0,0,63,252,63,252,15,240,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,15, - 240,63,252,63,252,16,40,80,16,0,0,32,8,120,30,252, - 63,252,63,252,63,248,62,240,60,64,16,0,0,0,0,63, - 252,63,252,15,240,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,15,240,63,252,63,252,29,30,120,31,0, - 0,3,255,192,0,255,255,248,0,127,192,254,0,143,192,63, - 128,15,192,31,192,15,192,15,192,15,192,7,224,15,192,7, - 240,15,192,3,240,15,192,3,240,15,192,3,248,15,192,1, - 248,15,192,1,248,127,255,1,248,255,255,1,248,15,192,1, - 248,15,192,1,248,15,192,1,248,15,192,1,248,15,192,1, - 240,15,192,3,240,15,192,3,240,15,192,7,224,15,192,7, - 224,15,192,15,192,15,192,31,128,15,192,63,0,31,224,254, - 0,127,255,248,0,127,255,192,0,30,40,160,32,1,0,0, - 16,4,0,0,127,7,0,0,255,255,0,0,255,254,0,1, - 255,252,0,3,255,252,0,3,3,248,0,2,0,64,0,0, - 0,0,0,0,0,0,0,255,0,15,252,255,128,15,252,63, - 192,3,240,31,192,1,224,31,224,1,224,31,240,1,224,31, - 240,1,224,31,248,1,224,31,252,1,224,30,254,1,224,30, - 126,1,224,30,63,1,224,30,63,129,224,30,31,129,224,30, - 15,193,224,30,7,225,224,30,7,225,224,30,3,241,224,30, - 1,249,224,30,1,253,224,30,0,253,224,30,0,127,224,30, - 0,63,224,30,0,63,224,30,0,31,224,30,0,15,224,30, - 0,7,224,63,0,7,224,255,192,3,224,255,192,0,224,27, - 42,168,30,1,0,0,64,0,0,0,224,0,0,1,240,0, - 0,3,248,0,0,3,252,0,0,1,254,0,0,0,127,0, - 0,0,31,128,0,0,7,192,0,0,1,192,0,0,0,128, - 0,0,0,0,0,0,31,192,0,0,255,240,0,3,225,252, - 0,7,128,126,0,15,0,63,0,31,0,31,0,30,0,31, - 128,62,0,15,128,126,0,15,192,124,0,15,192,124,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,254,0,7,192,126,0,15,192,126,0,15,128,127,0,15, - 128,63,0,31,0,31,128,31,0,31,192,62,0,15,240,252, - 0,7,255,240,0,1,255,224,0,0,127,0,0,27,42,168, - 30,1,0,0,0,64,0,0,0,96,0,0,0,248,0,0, - 1,252,0,0,3,252,0,0,7,240,0,0,15,192,0,0, - 31,128,0,0,62,0,0,0,120,0,0,0,32,0,0,0, - 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, - 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, - 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, - 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, - 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, - 255,240,0,1,255,224,0,0,127,0,0,27,41,164,30,1, - 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, - 0,0,127,224,0,0,255,240,0,1,249,248,0,3,224,120, - 0,3,128,28,0,2,0,8,0,0,0,0,0,0,31,192, - 0,0,255,240,0,3,225,252,0,7,128,126,0,15,0,63, - 0,31,0,31,0,30,0,31,128,62,0,15,128,126,0,15, - 192,124,0,15,192,124,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,254,0,7,192,126,0,15, - 192,126,0,15,128,127,0,15,128,63,0,31,0,31,128,31, - 0,31,192,62,0,15,240,252,0,7,255,240,0,1,255,224, - 0,0,127,0,0,27,40,160,30,1,0,0,32,8,0,0, - 254,14,0,1,255,254,0,1,255,252,0,3,255,248,0,7, - 255,248,0,6,7,240,0,2,0,128,0,0,0,0,0,0, - 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, - 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, - 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, - 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, - 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, - 255,240,0,1,255,224,0,0,127,0,0,27,40,160,30,1, - 0,0,128,32,0,1,240,124,0,1,240,124,0,3,240,252, - 0,3,240,252,0,3,240,252,0,3,224,248,0,0,128,32, - 0,0,0,0,0,0,0,0,0,0,31,192,0,0,255,240, - 0,3,225,252,0,7,128,126,0,15,0,63,0,31,0,31, - 0,30,0,31,128,62,0,15,128,126,0,15,192,124,0,15, - 192,124,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,254,0,7,192,126,0,15,192,126,0,15, - 128,127,0,15,128,63,0,31,0,31,128,31,0,31,192,62, - 0,15,240,252,0,7,255,240,0,1,255,224,0,0,127,0, - 0,16,15,30,20,2,6,96,6,240,15,120,31,60,62,30, - 124,15,248,7,240,3,192,7,224,15,248,30,124,60,62,120, - 31,240,15,96,6,27,31,124,30,1,255,0,31,195,224,0, - 255,247,192,3,225,255,128,7,128,127,0,15,0,63,0,31, - 0,63,128,30,0,127,128,62,0,255,192,126,0,255,192,124, - 1,255,192,124,3,239,224,252,3,231,224,252,7,199,224,252, - 15,135,224,252,15,7,224,252,31,7,224,252,62,7,224,252, - 60,7,224,252,120,7,192,254,248,7,192,127,240,15,192,127, - 224,15,128,127,192,15,128,63,128,31,0,63,128,31,0,31, - 192,62,0,31,240,252,0,63,255,240,0,121,255,224,0,248, - 127,0,0,192,0,0,0,29,42,168,32,1,0,0,32,0, - 0,0,48,0,0,0,248,0,0,1,252,0,0,1,254,0, - 0,0,127,0,0,0,31,128,0,0,15,192,0,0,3,224, - 0,0,0,240,0,0,0,64,0,0,0,0,0,255,240,31, - 248,255,240,31,248,63,192,7,224,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,128,31,192,7,128,15,192,7,128,15,224,7, - 0,7,224,15,0,3,248,62,0,1,255,252,0,0,255,240, - 0,0,31,192,0,29,42,168,32,1,0,0,0,32,0,0, - 0,56,0,0,0,124,0,0,0,254,0,0,1,254,0,0, - 3,252,0,0,7,240,0,0,15,192,0,0,31,0,0,0, - 28,0,0,0,16,0,0,0,0,0,0,255,240,31,248,255, - 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, - 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, - 31,192,0,29,41,164,32,1,0,0,3,128,0,0,7,128, - 0,0,15,192,0,0,31,224,0,0,63,240,0,0,127,248, - 0,0,124,124,0,0,240,62,0,1,192,14,0,0,128,4, - 0,0,0,0,0,255,240,31,248,255,240,31,248,63,192,7, - 224,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,128,31,192,7, - 128,15,192,7,128,15,224,7,0,7,224,15,0,3,248,62, - 0,1,255,252,0,0,255,240,0,0,31,192,0,29,40,160, - 32,1,0,0,32,8,0,0,248,62,0,0,248,62,0,1, - 248,126,0,1,248,126,0,1,248,126,0,0,240,60,0,0, - 64,16,0,0,0,0,0,0,0,0,0,255,240,31,248,255, - 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, - 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, - 31,192,0,29,42,168,29,0,0,0,0,32,0,0,0,48, - 0,0,0,124,0,0,1,254,0,0,3,254,0,0,7,248, - 0,0,15,224,0,0,31,128,0,0,62,0,0,0,60,0, - 0,0,16,0,0,0,0,0,0,127,0,31,248,255,128,31, - 248,31,192,3,192,15,192,3,128,7,224,7,128,3,240,7, - 0,3,240,15,0,1,248,14,0,1,248,30,0,0,252,28, - 0,0,124,60,0,0,126,56,0,0,63,120,0,0,63,240, - 0,0,31,240,0,0,31,224,0,0,15,224,0,0,15,192, - 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, - 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, - 0,0,15,192,0,0,31,224,0,0,255,252,0,0,255,252, - 0,24,30,90,27,1,0,255,248,0,255,248,0,63,192,0, - 31,128,0,31,128,0,31,128,0,31,255,128,31,255,240,31, - 131,248,31,128,252,31,128,126,31,128,127,31,128,63,31,128, - 63,31,128,63,31,128,63,31,128,63,31,128,62,31,128,126, - 31,128,252,31,129,248,31,191,240,31,191,128,31,128,0,31, - 128,0,31,128,0,31,128,0,63,192,0,255,248,0,255,248, - 0,28,36,144,31,1,0,0,7,240,0,0,63,252,0,0, - 255,254,0,1,240,255,0,3,224,63,128,7,192,31,128,7, - 192,31,192,15,128,15,192,15,128,15,192,31,128,15,192,31, - 128,15,192,31,128,31,128,31,128,63,0,31,128,126,0,31, - 129,248,0,31,135,224,0,31,135,128,0,31,143,128,0,31, - 143,128,0,31,143,192,0,31,143,224,0,31,135,248,0,31, - 135,254,0,31,131,255,128,31,128,255,192,31,128,63,224,31, - 128,31,240,31,128,7,240,31,140,3,240,31,142,1,240,31, - 142,1,240,31,142,1,240,31,143,1,224,63,143,195,192,255, - 143,255,128,255,129,254,0,23,35,105,24,1,0,1,192,0, - 15,192,0,15,224,0,7,240,0,3,240,0,1,248,0,0, - 248,0,0,124,0,0,60,0,0,30,0,0,12,0,0,0, - 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,23,35,105,24,1,0,0,15,0,0, - 15,192,0,31,224,0,31,128,0,63,0,0,62,0,0,124, - 0,0,120,0,0,240,0,0,224,0,0,192,0,0,0,0, - 0,0,0,0,255,0,15,255,128,31,15,192,62,7,224,126, - 7,224,252,7,224,96,7,224,0,7,224,0,31,224,1,255, - 224,7,255,224,31,231,224,63,135,224,63,7,224,126,7,224, - 126,7,224,126,7,224,126,31,228,127,63,252,63,247,254,63, - 231,240,15,131,128,23,35,105,24,1,0,0,120,0,0,252, - 0,0,252,0,1,254,0,3,255,0,3,255,0,7,207,128, - 15,135,192,15,1,192,28,0,224,8,0,64,0,0,0,0, - 0,0,0,255,0,15,255,128,31,15,192,62,7,224,126,7, - 224,252,7,224,96,7,224,0,7,224,0,31,224,1,255,224, - 7,255,224,31,231,224,63,135,224,63,7,224,126,7,224,126, - 7,224,126,7,224,126,31,228,127,63,252,63,247,254,63,231, - 240,15,131,128,23,33,99,24,1,0,3,192,48,7,240,48, - 15,252,96,31,255,224,31,255,192,56,127,128,48,15,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,0,15,255, - 128,31,15,192,62,7,224,126,7,224,252,7,224,96,7,224, - 0,7,224,0,31,224,1,255,224,7,255,224,31,231,224,63, - 135,224,63,7,224,126,7,224,126,7,224,126,7,224,126,31, - 228,127,63,252,63,247,254,63,231,240,15,131,128,23,33,99, - 24,1,0,7,1,192,15,131,224,31,135,224,31,135,224,31, - 135,224,31,7,192,14,3,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,23,34,102,24,1,0,0,60,0,0, - 254,0,1,239,0,3,207,0,3,207,0,3,207,0,3,238, - 0,1,252,0,0,248,0,0,0,0,0,0,0,0,0,0, - 0,255,0,15,255,128,31,15,192,62,7,224,126,7,224,252, - 7,224,96,7,224,0,7,224,0,31,224,1,255,224,7,255, - 224,31,231,224,63,135,224,63,7,224,126,7,224,126,7,224, - 126,7,224,126,31,228,127,63,252,63,247,254,63,231,240,15, - 131,128,33,22,110,35,1,0,0,63,3,224,0,1,255,159, - 248,0,7,255,252,62,0,15,135,248,30,0,31,3,240,31, - 0,63,3,240,15,0,127,3,224,15,128,120,3,224,15,128, - 0,3,224,15,128,0,127,255,255,128,3,255,255,254,0,15, - 195,224,0,0,63,3,224,0,0,126,3,224,0,0,124,3, - 240,0,0,252,3,240,1,0,252,7,248,7,0,254,31,252, - 31,0,255,252,255,254,0,127,248,127,252,0,127,224,63,240, - 0,31,128,15,192,0,20,32,96,22,2,246,0,127,128,1, - 255,240,7,135,224,15,3,224,30,1,224,62,0,192,124,0, - 192,124,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,0,127,0,96,127, - 129,224,63,255,192,31,255,128,15,254,0,3,252,0,0,240, - 0,0,224,0,0,252,0,1,254,0,0,254,0,0,126,0, - 0,124,0,0,252,0,3,240,0,1,128,0,19,35,105,23, - 2,0,3,128,0,15,192,0,31,224,0,7,224,0,3,240, - 0,1,240,0,0,248,0,0,120,0,0,60,0,0,28,0, - 0,8,0,0,0,0,0,0,0,0,252,0,7,255,0,15, - 31,128,30,15,128,62,15,192,124,7,192,124,7,224,124,7, - 224,252,7,224,255,255,224,255,255,128,252,0,0,252,0,0, - 252,0,0,254,0,0,126,0,64,127,0,224,63,131,192,63, - 255,128,31,255,0,15,254,0,3,248,0,19,35,105,23,2, - 0,0,14,0,0,31,192,0,31,192,0,63,128,0,63,0, - 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,0, - 192,0,0,0,0,0,0,0,0,252,0,7,255,0,15,31, - 128,30,15,128,62,15,192,124,7,192,124,7,224,124,7,224, - 252,7,224,255,255,224,255,255,128,252,0,0,252,0,0,252, - 0,0,254,0,0,126,0,64,127,0,224,63,131,192,63,255, - 128,31,255,0,15,254,0,3,248,0,19,35,105,23,2,0, - 0,120,0,0,248,0,1,252,0,1,254,0,3,254,0,7, - 255,0,15,223,128,15,7,128,30,3,192,60,1,224,24,0, - 64,0,0,0,0,0,0,0,252,0,7,255,0,15,31,128, - 30,15,128,62,15,192,124,7,192,124,7,224,124,7,224,252, - 7,224,255,255,224,255,255,128,252,0,0,252,0,0,252,0, - 0,254,0,0,126,0,64,127,0,224,63,131,192,63,255,128, - 31,255,0,15,254,0,3,248,0,19,33,99,23,2,0,15, - 3,192,31,7,192,31,135,224,31,135,224,31,7,192,31,7, - 192,14,3,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,252,0,7,255,0,15,31,128,30,15,128,62,15,192,124, - 7,192,124,7,224,124,7,224,252,7,224,255,255,224,255,255, - 128,252,0,0,252,0,0,252,0,0,254,0,0,126,0,64, - 127,0,224,63,131,192,63,255,128,31,255,0,15,254,0,3, - 248,0,13,35,70,14,0,0,28,0,126,0,254,0,127,0, - 31,0,15,128,7,128,3,192,1,192,0,224,0,64,0,0, - 0,0,1,192,63,192,127,192,63,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,31,224,127,248,127,248,14,35, - 70,14,1,0,0,224,1,252,1,252,3,248,3,240,7,224, - 7,192,15,128,15,0,30,0,8,0,0,0,0,0,3,128, - 127,128,255,128,127,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,16,35,70,14,255,0, - 3,192,3,224,7,240,15,240,15,248,31,252,62,124,60,30, - 120,15,240,7,64,3,0,0,0,0,0,224,31,224,63,224, - 31,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 15,240,63,252,63,252,16,33,66,14,255,0,56,14,124,31, - 124,31,252,63,252,63,124,31,120,30,0,0,0,0,0,0, - 0,0,0,224,31,224,63,224,31,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,240,63,252,63,252,21,34, - 102,25,2,0,1,192,0,15,224,0,63,240,248,31,255,248, - 0,255,192,0,126,0,1,255,0,7,239,128,31,143,128,2, - 7,192,0,3,224,0,3,224,1,251,240,7,253,240,15,255, - 240,31,15,248,62,7,248,62,3,248,124,3,248,124,1,248, - 252,1,248,252,1,248,252,1,248,252,1,248,252,1,240,252, - 1,240,252,1,240,126,3,224,126,3,224,63,3,192,63,7, - 128,31,143,0,7,254,0,1,248,0,26,33,132,28,1,0, - 0,240,12,0,1,252,12,0,3,255,28,0,3,255,248,0, - 7,255,240,0,14,31,224,0,12,3,192,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,3,1,240,0, - 127,135,252,0,255,159,252,0,63,191,254,0,31,248,254,0, - 31,224,126,0,31,192,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,63,192,255,0,255,243,255,192, - 255,243,255,192,21,35,105,25,2,0,1,192,0,15,224,0, - 15,224,0,7,240,0,3,240,0,1,248,0,0,248,0,0, - 124,0,0,60,0,0,30,0,0,12,0,0,0,0,0,0, - 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, - 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, - 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, - 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, - 1,248,0,21,35,105,25,2,0,0,15,0,0,15,192,0, - 31,224,0,31,128,0,63,0,0,62,0,0,124,0,0,120, - 0,0,240,0,0,224,0,0,192,0,0,0,0,0,0,0, - 0,252,0,3,255,0,15,15,192,30,7,224,62,7,224,62, - 3,240,124,3,240,124,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,252,1,248,252,1,240,126,1,240, - 126,3,224,62,3,224,63,3,192,31,135,128,7,254,0,1, - 248,0,21,35,105,25,2,0,0,120,0,0,252,0,0,252, - 0,1,254,0,3,255,0,3,255,0,7,207,128,15,135,192, - 15,1,192,28,0,224,8,0,64,0,0,0,0,0,0,0, - 252,0,3,255,0,15,15,192,30,7,224,62,7,224,62,3, - 240,124,3,240,124,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,248,252,1,240,126,1,240,126, - 3,224,62,3,224,63,3,192,31,135,128,7,254,0,1,248, - 0,21,33,99,25,2,0,3,192,48,7,240,48,15,252,96, - 31,255,224,31,255,192,56,127,128,48,15,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,252,0,3,255,0,15,15, - 192,30,7,224,62,7,224,62,3,240,124,3,240,124,1,248, - 252,1,248,252,1,248,252,1,248,252,1,248,252,1,248,252, - 1,248,252,1,240,126,1,240,126,3,224,62,3,224,63,3, - 192,31,135,128,7,254,0,1,248,0,21,33,99,25,2,0, - 7,1,192,15,131,224,31,135,224,31,135,224,31,135,224,31, - 7,192,14,3,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, - 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, - 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, - 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, - 1,248,0,18,18,54,20,1,4,0,192,0,1,224,0,1, - 224,0,1,224,0,1,224,0,0,192,0,0,0,0,127,255, - 192,127,255,192,255,255,128,0,0,0,0,0,0,0,192,0, - 1,224,0,1,224,0,1,224,0,1,224,0,0,192,0,21, - 24,72,25,2,255,0,0,24,0,252,56,3,255,240,15,15, - 224,30,7,224,62,3,240,60,7,240,124,15,240,124,31,248, - 252,29,248,252,57,248,252,121,248,252,241,248,252,225,248,253, - 193,248,255,193,240,127,129,240,127,1,224,62,3,224,63,3, - 192,63,135,128,127,254,0,113,248,0,192,0,0,26,35,140, - 27,1,0,0,224,0,0,3,240,0,0,7,240,0,0,1, - 248,0,0,0,248,0,0,0,124,0,0,0,62,0,0,0, - 30,0,0,0,15,0,0,0,7,0,0,0,2,0,0,0, - 0,0,0,0,0,0,0,3,128,28,0,255,135,252,0,255, - 135,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,129,252,0,31,199,252,128,31, - 255,255,128,15,254,255,192,7,248,126,0,3,224,112,0,26, - 35,140,27,1,0,0,3,128,0,0,7,240,0,0,7,240, - 0,0,15,224,0,0,15,192,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,60,0,0,0,120,0,0,0,48,0, - 0,0,0,0,0,0,0,0,0,3,128,28,0,255,135,252, - 0,255,135,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,129,252,0,31,199,252, - 128,31,255,255,128,15,254,255,192,7,248,126,0,3,224,112, - 0,26,35,140,27,1,0,0,30,0,0,0,62,0,0,0, - 127,0,0,0,255,128,0,0,255,128,0,1,255,192,0,3, - 247,224,0,3,193,224,0,7,128,240,0,15,0,112,0,6, - 0,48,0,0,0,0,0,0,0,0,0,3,128,28,0,255, - 135,252,0,255,135,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,129,252,0,31, - 199,252,128,31,255,255,128,15,254,255,192,7,248,126,0,3, - 224,112,0,26,33,132,27,1,0,3,192,240,0,7,193,240, - 0,7,225,248,0,7,225,248,0,7,193,240,0,7,193,240, - 0,7,129,224,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,128,28,0,255,135,252,0,255,135,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,129,252,0,31,199,252,128,31,255,255, - 128,15,254,255,192,7,248,126,0,3,224,112,0,25,46,184, - 24,255,245,0,1,224,0,0,3,248,0,0,3,248,0,0, - 3,240,0,0,7,224,0,0,7,192,0,0,15,128,0,0, - 15,0,0,0,30,0,0,0,28,0,0,0,56,0,0,0, - 0,0,0,0,0,0,0,127,240,127,128,127,240,127,128,31, - 192,30,0,15,192,28,0,15,192,28,0,7,224,60,0,7, - 224,56,0,3,240,56,0,3,240,112,0,1,240,112,0,1, - 248,240,0,1,248,224,0,0,252,224,0,0,253,224,0,0, - 125,192,0,0,127,192,0,0,127,128,0,0,63,128,0,0, - 63,128,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,30,0,0,0,28,0,0,0,60,0,0,0, - 120,0,0,32,248,0,0,63,240,0,0,127,224,0,0,255, - 192,0,0,255,128,0,0,126,0,0,0,24,47,141,27,1, - 245,3,0,0,63,128,0,255,128,0,255,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,131,224,31,143, - 248,31,191,252,31,255,252,31,240,254,31,192,126,31,128,63, - 31,128,63,31,128,31,31,128,31,31,128,31,31,128,31,31, - 128,31,31,128,30,31,128,30,31,128,62,31,192,60,31,240, - 124,31,255,248,31,255,240,31,159,224,31,135,128,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,63,192,0,255,248,0,255,248,0,25,44, - 176,24,255,245,0,224,56,0,1,240,124,0,3,240,252,0, - 3,240,252,0,3,240,252,0,3,224,248,0,1,192,112,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 127,240,127,128,127,240,127,128,31,192,30,0,15,192,28,0, - 15,192,28,0,7,224,60,0,7,224,56,0,3,240,56,0, - 3,240,112,0,1,240,112,0,1,248,240,0,1,248,224,0, - 0,252,224,0,0,253,224,0,0,125,192,0,0,127,192,0, - 0,127,128,0,0,63,128,0,0,63,128,0,0,31,0,0, - 0,31,0,0,0,14,0,0,0,14,0,0,0,30,0,0, - 0,28,0,0,0,60,0,0,0,120,0,0,32,248,0,0, - 63,240,0,0,127,224,0,0,255,192,0,0,255,128,0,0, - 126,0,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 29 - Calculated Max Values w=22 h=46 x= 3 y=17 dx=25 dy= 0 ascent=38 len=138 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent= 0 - X Font ascent =29 descent= 0 - Max Font ascent =38 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30n[1275] U8G_SECTION(".progmem.u8g_font_gdb30n") = { - 0,74,69,232,239,29,0,0,0,0,42,57,0,38,247,29, - 0,19,20,60,21,1,17,0,48,0,1,240,0,1,240,0, - 32,240,0,112,225,128,120,227,192,126,231,224,127,255,224,31, - 255,0,3,248,0,3,248,0,31,255,0,127,255,192,254,231, - 192,124,227,192,48,225,192,0,240,128,0,240,0,1,240,0, - 0,192,0,18,18,54,20,1,4,0,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,127,255, - 192,255,255,192,255,255,128,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,192,0,10, - 15,30,13,1,247,7,0,63,128,255,192,127,192,63,192,15, - 192,15,192,15,128,15,128,15,0,31,0,30,0,60,0,120, - 0,48,0,15,3,6,17,1,11,127,254,127,252,255,252,8, - 7,7,13,3,255,62,127,255,255,255,254,124,21,46,138,23, - 1,248,0,0,56,0,0,248,0,0,240,0,1,240,0,1, - 240,0,1,224,0,3,224,0,3,224,0,3,192,0,7,192, - 0,7,128,0,15,128,0,15,128,0,15,0,0,31,0,0, - 31,0,0,30,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,120,0,0,248,0,0,248,0,0,240,0,1,240,0, - 1,224,0,3,224,0,3,224,0,3,192,0,7,192,0,7, - 192,0,7,128,0,15,128,0,15,0,0,31,0,0,31,0, - 0,30,0,0,62,0,0,62,0,0,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,192,0,0,22,29,87,24, - 1,0,0,252,0,3,255,0,7,143,192,15,7,224,30,3, - 224,62,1,240,62,1,240,124,1,248,124,1,248,124,0,248, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, - 248,126,0,248,62,1,240,62,1,240,31,1,224,31,3,192, - 15,135,128,3,255,0,0,252,0,19,29,87,24,3,0,0, - 16,0,0,248,0,7,248,0,63,248,0,255,248,0,225,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,15,255,0, - 127,255,224,127,255,224,20,29,87,24,1,0,0,255,0,7, - 255,192,15,143,224,63,7,224,62,3,240,126,3,240,126,3, - 240,120,3,240,0,3,240,0,7,224,0,7,224,0,15,192, - 0,15,128,0,31,128,0,31,0,0,62,0,0,124,0,0, - 248,0,0,248,0,1,240,0,3,224,32,7,192,48,15,128, - 48,15,0,48,30,0,112,63,255,240,127,255,240,255,255,240, - 127,255,240,20,29,87,24,1,0,1,254,0,7,255,128,31, - 31,192,63,15,192,62,7,224,126,7,224,60,7,224,0,7, - 224,0,7,192,0,15,192,0,31,128,0,127,0,1,254,0, - 1,255,128,2,63,192,0,15,224,0,7,224,0,3,240,0, - 3,240,0,3,240,0,3,240,0,3,240,0,3,240,64,7, - 224,96,15,224,252,31,192,63,255,128,31,254,0,3,248,0, - 21,29,87,25,2,0,0,1,128,0,15,128,0,31,128,0, - 63,128,0,63,128,0,127,128,0,255,128,0,239,128,1,239, - 128,3,207,128,3,143,128,7,143,128,7,15,128,14,15,128, - 30,15,128,28,15,128,56,15,128,56,15,128,127,255,248,255, - 255,240,255,255,224,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,31,192,1,255,240,1,255,240,20,29,87, - 24,2,0,0,0,32,31,255,240,31,255,192,31,255,192,31, - 255,128,28,0,0,28,0,0,28,0,0,60,0,0,60,0, - 0,56,0,0,59,252,0,63,255,0,63,255,128,120,31,192, - 32,15,224,0,7,224,0,7,240,0,3,240,0,3,240,0, - 3,240,0,3,240,0,3,240,0,7,224,64,7,224,224,15, - 192,252,31,128,63,254,0,7,248,0,20,29,87,24,2,0, - 0,1,128,0,31,192,0,127,0,1,252,0,3,240,0,7, - 192,0,15,128,0,31,128,0,63,0,0,62,0,0,126,0, - 0,124,126,0,125,255,128,255,255,192,255,15,224,254,7,224, - 252,7,240,252,3,240,252,3,240,252,3,240,252,3,240,124, - 3,240,126,3,224,126,3,224,62,3,192,31,7,192,15,143, - 128,7,255,0,1,248,0,21,28,84,24,2,0,127,255,240, - 127,255,248,127,255,240,127,255,224,112,1,224,224,1,224,192, - 1,192,64,3,192,0,3,128,0,7,128,0,7,0,0,15, - 0,0,15,0,0,30,0,0,30,0,0,60,0,0,60,0, - 0,124,0,0,120,0,0,248,0,0,240,0,1,240,0,1, - 240,0,3,224,0,3,224,0,7,224,0,15,192,0,6,0, - 0,20,29,87,24,2,0,0,252,0,7,255,128,15,31,192, - 30,15,192,28,7,224,60,7,224,60,7,224,60,7,224,62, - 15,192,63,143,128,31,255,0,31,254,0,15,252,0,3,255, - 0,7,255,128,15,255,192,31,31,224,62,15,240,126,7,240, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,224,126, - 3,224,126,7,192,63,15,128,31,254,0,3,248,0,20,29, - 87,24,2,255,1,252,0,7,255,0,15,31,128,30,15,192, - 62,7,224,124,7,224,124,7,224,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,254,3,240,126,7,240,127,15, - 240,63,255,240,31,251,224,7,227,224,0,7,224,0,7,192, - 0,7,192,0,15,128,0,31,0,0,62,0,0,252,0,3, - 248,0,15,224,0,63,128,0,56,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=41 h=49 x= 4 y=24 dx=42 dy= 0 ascent=39 len=210 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x=-7 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30r[9112] U8G_SECTION(".progmem.u8g_font_gdb30r") = { - 0,74,69,232,239,30,10,50,24,78,32,127,245,39,245,38, - 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, - 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, - 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, - 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, - 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, - 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, - 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, - 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, - 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, - 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, - 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, - 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, - 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, - 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, - 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, - 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, - 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, - 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, - 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, - 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, - 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, - 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, - 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, - 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, - 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, - 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, - 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, - 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, - 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, - 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, - 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, - 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, - 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, - 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, - 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, - 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, - 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, - 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, - 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, - 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, - 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, - 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, - 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, - 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, - 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, - 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, - 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, - 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, - 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, - 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, - 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, - 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, - 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, - 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, - 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, - 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, - 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, - 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, - 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, - 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, - 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, - 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, - 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, - 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, - 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, - 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, - 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, - 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, - 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, - 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, - 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, - 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, - 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, - 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, - 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, - 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, - 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, - 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, - 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, - 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, - 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, - 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, - 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, - 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, - 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, - 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, - 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, - 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, - 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, - 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, - 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, - 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, - 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, - 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, - 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, - 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, - 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, - 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, - 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, - 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, - 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, - 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, - 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, - 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, - 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, - 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, - 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, - 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, - 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, - 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, - 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, - 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, - 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, - 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, - 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, - 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, - 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, - 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, - 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, - 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, - 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, - 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, - 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, - 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, - 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, - 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, - 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, - 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, - 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, - 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, - 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, - 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, - 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, - 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, - 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, - 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, - 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, - 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, - 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, - 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, - 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, - 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, - 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, - 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, - 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, - 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, - 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, - 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, - 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, - 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, - 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, - 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, - 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, - 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, - 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, - 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, - 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, - 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, - 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, - 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, - 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, - 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, - 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, - 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, - 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, - 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, - 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, - 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, - 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, - 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, - 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, - 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, - 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, - 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, - 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, - 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, - 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, - 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, - 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, - 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, - 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, - 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, - 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, - 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, - 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, - 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, - 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, - 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, - 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, - 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, - 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, - 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, - 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, - 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, - 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, - 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, - 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, - 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, - 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, - 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, - 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, - 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, - 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, - 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, - 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, - 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, - 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, - 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, - 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, - 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, - 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, - 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, - 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, - 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, - 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, - 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, - 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, - 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, - 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, - 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, - 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, - 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, - 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, - 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, - 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, - 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, - 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, - 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, - 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, - 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, - 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, - 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, - 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, - 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, - 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, - 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, - 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, - 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, - 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, - 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, - 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, - 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, - 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, - 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, - 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, - 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, - 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, - 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, - 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, - 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, - 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, - 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, - 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, - 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, - 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, - 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, - 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, - 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, - 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, - 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, - 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, - 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, - 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, - 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, - 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, - 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, - 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, - 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, - 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, - 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, - 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, - 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, - 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, - 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, - 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, - 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, - 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, - 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, - 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, - 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, - 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, - 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, - 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, - 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, - 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, - 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, - 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, - 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, - 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, - 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, - 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, - 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, - 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, - 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, - 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, - 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, - 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, - 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, - 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, - 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, - 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, - 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, - 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, - 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, - 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, - 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, - 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, - 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, - 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, - 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, - 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, - 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, - 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, - 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, - 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, - 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, - 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, - 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, - 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, - 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, - 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, - 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, - 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, - 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, - 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, - 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, - 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, - 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, - 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, - 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, - 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, - 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, - 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, - 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, - 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, - 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, - 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, - 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, - 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, - 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, - 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, - 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, - 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, - 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, - 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, - 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, - 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, - 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, - 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, - 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, - 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, - 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, - 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, - 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, - 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, - 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, - 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, - 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, - 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, - 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, - 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, - 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, - 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, - 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, - 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, - 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, - 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, - 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, - 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, - 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, - 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, - 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, - 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, - 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, - 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, - 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, - 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, - 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, - 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, - 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, - 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, - 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, - 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, - 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, - 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, - 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, - 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, - 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, - 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, - 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, - 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, - 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, - 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, - 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, - 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, - 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, - 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, - 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, - 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, - 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, - 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, - 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, - 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, - 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, - 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, - 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, - 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, - 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, - 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, - 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, - 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, - 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, - 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, - 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, - 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, - 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, - 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, - 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, - 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, - 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, - 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, - 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, - 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, - 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, - 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, - 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, - 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, - 192,64,31,128,192,15,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=15 len=30 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =10 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =15 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10[3670] U8G_SECTION(".progmem.u8g_font_gdr10") = { - 0,25,24,247,250,10,2,30,4,177,32,255,252,15,251,13, - 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, - 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, - 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, - 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, - 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, - 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, - 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, - 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, - 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, - 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, - 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, - 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, - 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, - 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, - 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, - 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, - 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, - 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, - 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, - 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, - 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, - 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, - 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, - 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, - 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, - 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, - 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, - 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, - 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, - 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, - 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, - 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, - 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, - 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, - 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, - 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, - 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, - 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, - 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, - 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, - 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, - 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, - 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, - 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, - 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, - 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, - 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, - 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, - 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, - 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, - 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, - 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, - 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, - 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, - 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, - 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, - 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, - 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, - 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, - 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, - 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, - 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, - 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, - 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, - 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, - 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, - 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, - 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, - 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, - 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, - 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, - 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, - 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, - 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, - 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, - 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, - 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, - 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, - 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, - 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, - 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, - 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, - 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, - 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, - 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, - 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, - 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, - 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, - 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, - 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, - 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, - 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, - 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, - 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, - 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, - 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, - 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, - 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, - 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, - 32,192,8,2,2,8,0,4,57,206,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,4,0, - 0,2,13,13,5,1,251,64,64,0,0,64,64,64,64,64, - 64,64,192,192,6,10,10,8,1,0,16,28,116,144,144,144, - 144,116,56,16,7,11,11,8,1,255,60,68,68,64,64,240, - 64,64,66,134,252,4,6,6,8,2,2,144,240,144,144,240, - 144,9,10,20,8,255,0,231,128,34,0,22,0,20,0,8, - 0,62,0,8,0,8,0,8,0,28,0,1,17,17,4,2, - 253,128,128,128,128,128,128,128,128,0,128,128,128,128,128,128, - 128,128,6,12,12,8,1,0,112,152,128,96,184,140,196,100, - 24,136,200,112,5,2,2,7,1,9,136,136,10,10,20,12, - 1,0,30,0,127,128,114,128,160,64,160,64,160,64,176,64, - 94,128,97,128,30,0,4,6,6,4,0,5,96,160,96,160, - 240,240,6,8,8,8,1,0,36,72,72,144,144,72,72,36, - 7,3,3,8,0,2,254,2,2,4,1,1,6,1,4,240, - 6,6,6,6,0,6,120,132,180,180,180,120,6,1,1,8, - 1,9,252,4,4,4,6,1,6,112,144,144,224,6,8,8, - 7,1,1,32,32,32,252,32,32,64,248,4,7,7,6,1, - 5,112,144,16,32,64,144,240,4,7,7,5,0,5,112,144, - 16,48,16,144,224,3,3,3,5,2,9,96,64,128,9,12, - 24,9,0,252,195,0,65,0,65,0,65,0,65,0,65,0, - 99,0,125,128,64,0,64,0,96,0,96,0,8,12,12,10, - 1,254,63,202,138,138,202,122,10,10,10,10,10,31,1,2, - 2,2,1,5,128,128,2,4,4,4,1,252,128,192,64,128, - 4,6,6,6,0,5,96,160,32,32,32,112,4,6,6,5, - 0,5,96,144,144,144,96,240,7,8,8,8,1,0,144,72, - 108,36,54,108,72,144,9,10,20,10,1,0,193,0,66,0, - 66,0,68,0,72,0,169,0,23,0,37,0,39,128,67,128, - 8,10,10,10,1,0,193,66,68,68,72,171,21,34,37,79, - 10,11,22,10,0,0,112,0,80,128,33,0,18,0,18,0, - 228,0,8,128,11,128,18,128,19,192,33,192,6,13,13,8, - 1,251,32,32,0,32,32,32,64,64,128,128,132,136,112,10, - 15,30,10,0,0,32,0,24,0,12,0,0,0,0,0,4, - 0,12,0,20,0,18,0,18,0,30,0,33,0,33,0,65, - 128,227,192,10,15,30,10,0,0,2,0,7,0,12,0,16, - 0,0,0,4,0,12,0,20,0,18,0,18,0,30,0,33, - 0,33,0,65,128,227,192,10,15,30,10,0,0,12,0,12, - 0,18,0,33,0,0,0,4,0,12,0,20,0,18,0,18, - 0,30,0,33,0,33,0,65,128,227,192,10,14,28,10,0, - 0,10,0,25,0,38,0,0,0,4,0,12,0,20,0,18, - 0,18,0,30,0,33,0,33,0,65,128,227,192,10,13,26, - 10,0,0,34,0,34,0,0,0,4,0,12,0,20,0,18, - 0,18,0,30,0,33,0,33,0,65,128,227,192,10,15,30, - 10,0,0,12,0,20,0,28,0,0,0,0,0,4,0,12, - 0,20,0,18,0,18,0,30,0,33,0,33,0,65,128,227, - 192,12,10,20,13,1,0,31,224,10,32,10,0,18,0,31, - 224,50,0,34,0,34,0,66,16,231,240,7,14,14,9,1, - 252,62,66,128,128,128,128,128,128,66,102,24,24,8,16,7, - 15,15,8,1,0,64,224,16,8,0,252,68,64,64,124,64, - 64,64,66,254,7,15,15,8,1,0,8,28,48,0,0,252, - 68,64,64,124,64,64,64,66,254,7,15,15,8,1,0,16, - 56,72,4,0,252,68,64,64,124,64,64,64,66,254,7,13, - 13,8,1,0,136,136,0,252,68,64,64,124,64,64,64,66, - 254,4,15,15,5,0,0,128,192,32,16,0,112,32,32,32, - 32,32,32,32,32,112,4,15,15,5,1,0,32,48,64,128, - 0,224,64,64,64,64,64,64,64,64,224,5,15,15,5,0, - 0,32,112,136,0,0,112,32,32,32,32,32,32,32,32,112, - 5,13,13,5,0,0,136,136,0,112,32,32,32,32,32,32, - 32,32,112,8,10,10,10,1,0,252,70,65,65,241,65,65, - 66,66,252,9,14,28,11,1,0,18,0,58,0,4,0,0, - 0,195,128,97,0,97,0,81,0,73,0,77,0,69,0,67, - 0,67,0,225,0,8,15,15,10,1,0,32,112,8,4,0, - 60,66,129,129,129,129,129,130,66,60,8,15,15,10,1,0, - 4,14,24,0,0,60,66,129,129,129,129,129,130,66,60,8, - 15,15,10,1,0,8,28,36,66,0,60,66,129,129,129,129, - 129,130,66,60,8,14,14,10,1,0,18,50,76,0,60,66, - 129,129,129,129,129,130,66,60,8,13,13,10,1,0,68,68, - 0,60,66,129,129,129,129,129,130,66,60,5,5,5,7,1, - 2,136,80,32,80,136,8,10,10,10,1,0,29,98,131,133, - 137,145,161,194,66,188,9,15,30,11,1,0,32,0,48,0, - 12,0,0,0,0,0,227,128,65,0,65,0,65,0,65,0, - 65,0,65,0,65,0,34,0,60,0,9,15,30,11,1,0, - 2,0,6,0,8,0,16,0,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,65,0,34,0,60,0,9,15, - 30,11,1,0,8,0,28,0,34,0,0,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 60,0,9,13,26,11,1,0,34,0,34,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 60,0,9,15,30,10,1,0,4,0,14,0,24,0,0,0, - 0,0,195,128,97,0,50,0,22,0,28,0,8,0,8,0, - 8,0,8,0,28,0,7,10,10,9,1,0,224,64,124,70, - 66,66,66,124,64,224,8,13,13,10,1,0,28,38,66,66, - 68,72,80,88,78,67,81,81,206,7,12,12,8,1,0,64, - 32,16,0,28,100,4,28,100,132,140,118,7,12,12,8,1, - 0,8,16,32,0,28,100,4,28,100,132,140,118,7,12,12, - 8,1,0,48,72,136,4,28,100,4,28,100,132,140,118,7, - 11,11,8,1,0,100,152,0,28,100,4,28,100,132,140,118, - 7,11,11,8,1,0,136,136,0,28,100,4,28,100,132,140, - 118,7,12,12,8,1,0,48,80,112,0,28,100,4,28,100, - 132,140,118,10,8,16,12,1,0,59,128,204,64,136,64,63, - 192,72,0,136,0,156,192,231,0,6,12,12,7,1,252,60, - 72,128,128,128,128,196,120,32,48,16,32,6,12,12,8,1, - 0,96,32,16,0,56,68,132,252,128,128,68,120,6,12,12, - 8,1,0,12,24,32,0,56,68,132,252,128,128,68,120,6, - 12,12,8,1,0,48,72,132,0,56,68,132,252,128,128,68, - 120,6,11,11,8,1,0,132,136,0,56,68,132,252,128,128, - 68,120,4,12,12,5,0,0,192,64,32,0,32,96,32,32, - 32,32,32,112,4,12,12,5,1,0,48,96,64,0,64,192, - 64,64,64,64,64,224,5,12,12,5,0,0,32,80,136,0, - 32,96,32,32,32,32,32,112,5,11,11,5,0,0,136,136, - 0,32,96,32,32,32,32,32,112,6,12,12,8,1,0,104, - 28,120,8,52,204,132,132,132,132,72,112,8,11,11,9,1, - 0,54,76,0,78,210,98,66,66,66,66,231,7,12,12,9, - 1,0,96,32,16,0,56,68,130,130,130,130,68,56,7,12, - 12,9,1,0,12,8,16,0,56,68,130,130,130,130,68,56, - 7,12,12,9,1,0,16,40,68,0,56,68,130,130,130,130, - 68,56,7,11,11,9,1,0,52,216,0,56,68,130,130,130, - 130,68,56,7,11,11,9,1,0,132,132,0,56,68,130,130, - 130,130,68,56,5,6,6,7,1,2,32,32,0,248,32,32, - 7,8,8,9,1,0,62,68,142,146,146,226,68,248,9,12, - 24,9,0,0,48,0,24,0,8,0,0,0,195,0,65,0, - 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,9, - 0,0,6,0,4,0,8,0,0,0,195,0,65,0,65,0, - 65,0,65,0,65,0,67,0,61,128,9,12,24,9,0,0, - 8,0,20,0,34,0,0,0,195,0,65,0,65,0,65,0, - 65,0,65,0,67,0,61,128,9,11,22,9,0,0,34,0, - 66,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, - 67,0,61,128,8,16,16,8,0,252,6,12,8,0,231,98, - 34,36,52,20,24,8,8,16,160,192,7,17,17,9,1,252, - 64,192,64,64,64,92,102,66,66,66,66,100,120,64,64,64, - 224,8,15,15,8,0,252,66,66,0,231,98,34,36,52,20, - 24,8,8,16,160,192}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 10 - Calculated Max Values w= 8 h=16 x= 2 y= 6 dx= 8 dy= 0 ascent=13 len=16 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =13 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10n[249] U8G_SECTION(".progmem.u8g_font_gdr10n") = { - 0,25,24,247,250,10,0,0,0,0,42,57,0,13,253,10, - 0,6,7,7,8,1,6,32,168,236,48,252,164,32,6,6, - 6,7,1,2,32,32,32,252,32,32,2,4,4,4,1,253, - 192,64,64,128,4,1,1,6,1,4,240,1,2,2,4,2, - 0,128,128,8,16,16,8,0,253,3,2,6,4,4,12,8, - 8,16,16,48,32,32,96,64,192,6,10,10,8,1,0,56, - 72,132,132,132,132,132,132,72,112,5,10,10,8,2,0,32, - 224,32,32,32,32,32,32,32,248,5,10,10,8,2,0,56, - 200,136,8,16,32,32,64,136,248,6,10,10,8,1,0,112, - 136,136,16,48,8,4,4,140,120,6,10,10,8,1,0,8, - 24,40,40,72,136,252,8,8,60,6,10,10,8,1,0,124, - 64,64,120,140,4,4,4,132,120,6,10,10,8,1,0,24, - 32,64,128,248,132,132,132,72,56,6,10,10,8,1,0,252, - 132,8,8,8,16,16,32,32,64,6,10,10,8,1,0,120, - 196,196,200,56,204,132,132,132,120,6,10,10,8,1,0,56, - 200,132,132,132,124,4,8,16,96}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =10 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10r[1723] U8G_SECTION(".progmem.u8g_font_gdr10r") = { - 0,25,24,247,250,10,2,30,4,177,32,127,252,14,252,13, - 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, - 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, - 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, - 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, - 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, - 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, - 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, - 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, - 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, - 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, - 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, - 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, - 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, - 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, - 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, - 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, - 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, - 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, - 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, - 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, - 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, - 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, - 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, - 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, - 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, - 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, - 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, - 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, - 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, - 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, - 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, - 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, - 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, - 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, - 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, - 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, - 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, - 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, - 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, - 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, - 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, - 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, - 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, - 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, - 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, - 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, - 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, - 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, - 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, - 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, - 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, - 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, - 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, - 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, - 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, - 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, - 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, - 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, - 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, - 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, - 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, - 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, - 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, - 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, - 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, - 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, - 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, - 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, - 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, - 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, - 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, - 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, - 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, - 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, - 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, - 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, - 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, - 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, - 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, - 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, - 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, - 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, - 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, - 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, - 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, - 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, - 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, - 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, - 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, - 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, - 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, - 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, - 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, - 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, - 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, - 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, - 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, - 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, - 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, - 32,192,8,2,2,8,0,4,57,206,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y=10 dx=15 dy= 0 ascent=16 len=34 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11[3977] U8G_SECTION(".progmem.u8g_font_gdr11") = { - 0,26,25,247,250,11,2,61,5,21,32,255,252,16,251,14, - 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, - 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, - 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, - 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, - 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, - 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, - 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, - 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, - 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, - 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, - 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, - 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, - 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, - 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, - 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, - 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, - 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, - 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, - 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, - 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, - 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, - 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, - 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, - 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, - 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, - 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, - 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, - 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, - 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, - 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, - 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, - 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, - 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, - 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, - 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, - 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, - 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, - 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, - 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, - 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, - 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, - 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, - 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, - 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, - 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, - 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, - 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, - 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, - 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, - 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, - 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, - 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, - 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, - 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, - 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, - 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, - 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, - 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, - 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, - 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, - 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, - 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, - 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, - 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, - 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, - 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, - 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, - 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, - 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, - 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, - 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, - 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, - 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, - 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, - 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, - 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, - 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, - 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, - 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, - 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, - 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, - 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, - 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, - 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, - 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, - 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, - 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, - 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, - 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, - 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, - 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, - 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, - 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, - 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, - 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, - 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, - 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, - 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, - 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, - 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, - 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, - 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, - 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, - 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, - 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, - 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, - 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, - 32,64,192,8,2,2,9,0,4,57,206,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,4, - 0,0,2,13,13,5,1,251,64,192,0,64,64,64,64,64, - 64,64,64,64,64,7,11,11,8,1,0,16,24,118,144,144, - 144,144,212,126,16,16,7,11,11,8,1,0,60,68,68,64, - 64,240,64,64,66,130,254,6,6,6,8,1,2,248,76,72, - 72,120,132,9,11,22,8,0,0,231,128,98,0,50,0,20, - 0,28,0,8,0,127,0,8,0,8,0,8,0,28,0,1, - 19,19,4,2,252,128,128,128,128,128,128,128,128,0,0,0, - 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, - 128,224,248,142,130,66,60,12,132,196,120,5,2,2,7,1, - 10,136,136,11,11,22,13,1,0,31,0,32,128,94,64,162, - 32,160,32,160,32,160,32,177,32,94,64,32,128,31,0,5, - 6,6,5,0,5,48,80,112,144,248,240,7,8,8,9,1, - 0,38,36,72,152,152,72,36,38,7,3,3,8,1,2,254, - 2,2,5,1,1,6,1,4,248,6,7,7,6,0,6,120, - 72,188,188,180,104,120,6,1,1,9,1,10,252,4,4,4, - 6,1,7,112,144,144,224,7,8,8,7,0,1,16,16,254, - 16,16,16,0,126,4,7,7,6,1,5,112,144,16,32,64, - 144,240,5,7,7,6,0,5,56,72,8,24,8,136,112,3, - 4,4,6,2,9,32,96,64,128,8,12,12,10,1,252,198, - 66,66,66,66,66,102,123,64,64,64,96,8,13,13,10,1, - 254,63,202,138,138,138,202,122,10,10,10,10,10,31,1,2, - 2,3,1,5,128,128,2,4,4,4,1,252,192,64,192,128, - 4,7,7,6,1,5,32,224,32,32,32,32,240,4,6,6, - 5,0,5,96,144,144,144,96,240,7,8,8,9,1,0,144, - 72,100,54,54,100,72,144,10,11,22,11,1,0,192,128,65, - 0,65,0,66,0,70,0,164,0,8,128,27,128,18,128,35, - 192,101,192,9,11,22,11,1,0,193,0,65,0,66,0,68, - 0,68,0,168,0,11,128,20,128,33,0,34,128,71,128,10, - 11,22,10,0,0,96,128,144,128,33,0,17,0,18,0,228, - 0,4,128,11,128,18,128,19,192,37,192,6,13,13,8,1, - 251,16,48,0,16,16,16,32,64,128,132,132,136,112,11,15, - 30,11,0,0,16,0,56,0,4,0,2,0,4,0,12,0, - 14,0,18,0,18,0,19,0,31,0,33,0,33,128,32,128, - 241,224,11,15,30,11,0,0,1,0,7,0,12,0,0,0, - 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, - 33,128,32,128,241,224,11,15,30,11,0,0,4,0,14,0, - 17,0,32,0,4,0,12,0,14,0,18,0,18,0,19,0, - 31,0,33,0,33,128,32,128,241,224,11,15,30,11,0,0, - 9,0,29,0,34,0,0,0,4,0,12,0,14,0,18,0, - 18,0,19,0,31,0,33,0,33,128,32,128,241,224,11,14, - 28,11,0,0,33,0,33,0,0,0,4,0,12,0,14,0, - 18,0,18,0,19,0,31,0,33,0,33,128,32,128,241,224, - 11,16,32,11,0,0,4,0,10,0,18,0,12,0,0,0, - 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, - 33,128,32,128,241,224,13,11,22,14,0,0,15,248,5,8, - 5,0,9,0,15,240,17,0,17,0,17,0,33,8,33,8, - 243,248,9,15,30,10,1,252,62,0,66,0,128,0,128,0, - 128,0,128,0,128,0,128,0,192,0,97,128,62,0,8,0, - 12,0,4,0,8,0,7,15,15,9,1,0,64,224,24,0, - 254,66,64,64,124,64,64,64,66,66,254,7,15,15,9,1, - 0,4,12,48,0,254,66,64,64,124,64,64,64,66,66,254, - 7,15,15,9,1,0,16,40,68,0,254,66,64,64,124,64, - 64,64,66,66,254,7,14,14,9,1,0,68,68,0,254,66, - 64,64,124,64,64,64,66,66,254,4,15,15,5,0,0,128, - 192,48,0,112,32,32,32,32,32,32,32,32,32,112,5,15, - 15,5,1,0,16,56,192,0,224,64,64,64,64,64,64,64, - 64,64,224,5,15,15,5,0,0,32,80,136,0,112,32,32, - 32,32,32,32,32,32,32,112,5,14,14,5,0,0,136,136, - 0,112,32,32,32,32,32,32,32,32,32,112,9,11,22,11, - 1,0,252,0,67,0,65,0,64,128,64,128,240,128,64,128, - 64,128,65,0,67,0,252,0,10,15,30,12,1,0,25,0, - 57,0,38,0,0,0,193,192,96,128,112,128,80,128,72,128, - 76,128,70,128,66,128,65,128,65,128,224,128,9,15,30,11, - 1,0,32,0,112,0,12,0,0,0,30,0,99,0,129,0, - 128,128,128,128,128,128,128,128,128,128,65,0,98,0,60,0, - 9,15,30,11,1,0,2,0,6,0,24,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,9,15,30,11,1,0,8,0,20,0,34,0, - 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, - 128,128,65,0,98,0,60,0,9,15,30,11,1,0,18,0, - 58,0,68,0,0,0,30,0,99,0,129,0,128,128,128,128, - 128,128,128,128,128,128,65,0,98,0,60,0,9,14,28,11, - 1,0,34,0,34,0,0,0,30,0,99,0,129,0,128,128, - 128,128,128,128,128,128,128,128,65,0,98,0,60,0,6,6, - 6,7,1,2,140,88,48,48,88,140,9,11,22,11,1,0, - 30,128,35,0,67,0,134,128,132,128,136,128,144,128,176,128, - 97,0,98,0,188,0,10,15,30,12,1,0,32,0,24,0, - 4,0,2,0,225,192,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,15,30,12,1,0, - 2,0,7,0,8,0,16,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,15, - 30,12,1,0,12,0,30,0,34,0,1,0,225,192,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,33,0, - 30,0,10,14,28,12,1,0,34,0,34,0,0,0,225,192, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 33,0,30,0,10,15,30,11,0,0,1,0,7,0,12,0, - 0,0,225,192,48,128,17,0,25,0,10,0,14,0,4,0, - 4,0,4,0,4,0,14,0,7,11,11,9,1,0,240,64, - 124,70,66,66,66,68,124,64,240,8,14,14,10,1,0,28, - 38,66,66,66,76,80,80,76,71,65,81,81,222,7,13,13, - 8,1,0,64,96,48,16,0,60,68,132,28,100,132,140,118, - 7,13,13,8,1,0,12,8,16,32,0,60,68,132,28,100, - 132,140,118,7,13,13,8,1,0,48,56,72,132,0,60,68, - 132,28,100,132,140,118,7,12,12,8,1,0,116,152,0,0, - 60,68,132,28,100,132,140,118,7,12,12,8,1,0,132,132, - 0,0,60,68,132,28,100,132,140,118,7,13,13,8,1,0, - 48,72,72,48,0,60,68,132,28,100,132,140,118,11,8,16, - 12,1,0,29,192,102,32,68,32,159,224,100,0,132,0,142, - 32,115,192,7,12,12,8,1,252,60,68,128,128,128,128,194, - 124,16,24,8,16,6,13,13,8,1,0,96,32,16,16,0, - 56,68,132,252,128,128,68,120,6,13,13,8,1,0,12,8, - 16,16,0,56,68,132,252,128,128,68,120,6,13,13,8,1, - 0,16,56,108,68,0,56,68,132,252,128,128,68,120,6,12, - 12,8,1,0,68,68,0,0,56,68,132,252,128,128,68,120, - 4,13,13,5,0,0,192,64,32,32,16,32,96,32,32,32, - 32,32,112,4,13,13,5,1,0,48,32,64,64,0,64,192, - 64,64,64,64,64,224,5,13,13,5,0,0,32,112,216,136, - 0,32,96,32,32,32,32,32,112,5,12,12,5,0,0,136, - 136,0,0,32,96,32,32,32,32,32,112,7,13,13,9,1, - 0,96,30,56,68,4,62,198,130,130,130,132,68,56,8,12, - 12,10,1,0,50,76,0,0,78,210,98,66,66,66,66,231, - 7,13,13,9,1,0,96,32,16,8,0,56,196,130,130,130, - 130,68,56,7,13,13,9,1,0,4,12,24,16,0,56,196, - 130,130,130,130,68,56,7,13,13,9,1,0,16,56,36,68, - 0,56,196,130,130,130,130,68,56,7,12,12,9,1,0,50, - 92,0,0,56,196,130,130,130,130,68,56,7,12,12,9,1, - 0,68,68,0,0,56,196,130,130,130,130,68,56,6,6,6, - 7,1,2,32,32,0,252,32,32,7,9,9,9,1,0,2, - 62,68,138,146,162,226,68,248,8,13,13,10,1,0,96,48, - 16,8,0,198,66,66,66,66,66,70,59,8,13,13,10,1, - 0,4,12,8,16,0,198,66,66,66,66,66,70,59,8,13, - 13,10,1,0,24,56,36,66,0,198,66,66,66,66,66,70, - 59,8,12,12,10,1,0,68,68,0,0,198,66,66,66,66, - 66,70,59,9,17,34,9,0,252,2,0,4,0,12,0,8, - 0,0,0,243,128,97,0,34,0,50,0,20,0,20,0,28, - 0,8,0,8,0,16,0,176,0,224,0,8,18,18,10,1, - 252,64,192,64,64,64,64,78,115,65,65,65,65,98,124,64, - 64,64,240,9,16,32,9,0,252,34,0,34,0,0,0,0, - 0,243,128,97,0,34,0,50,0,20,0,20,0,28,0,8, - 0,8,0,16,0,176,0,224,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=17 x= 1 y= 6 dx= 9 dy= 0 ascent=14 len=17 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11n[262] U8G_SECTION(".progmem.u8g_font_gdr11n") = { - 0,26,25,247,250,11,0,0,0,0,42,57,0,14,253,11, - 0,6,8,8,8,1,6,48,16,164,120,120,164,16,48,7, - 6,6,7,0,2,16,16,16,254,16,16,2,5,5,4,1, - 253,64,192,64,64,128,5,1,1,6,1,4,248,2,2,2, - 4,1,0,192,128,8,17,17,8,0,253,1,2,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,11,11,8, - 1,0,48,72,132,132,132,132,132,132,132,72,48,6,11,11, - 8,1,0,16,240,16,16,16,16,16,16,16,16,124,6,11, - 11,8,1,0,28,100,68,4,8,8,16,32,68,68,252,6, - 11,11,7,0,0,56,68,68,4,24,12,4,4,4,140,120, - 7,11,11,8,0,0,4,12,12,20,36,36,68,254,4,4, - 30,6,11,11,8,1,0,124,64,64,64,120,132,4,4,4, - 132,120,6,11,11,8,1,0,12,48,64,192,184,196,132,132, - 132,72,56,7,11,11,8,1,0,254,132,4,8,8,8,16, - 16,32,32,96,7,11,11,9,1,0,120,196,196,196,120,60, - 194,130,130,130,124,6,11,11,8,1,0,56,200,132,132,132, - 132,124,4,8,16,224}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y= 9 dx=15 dy= 0 ascent=15 len=30 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11r[1868] U8G_SECTION(".progmem.u8g_font_gdr11r") = { - 0,26,25,247,250,11,2,61,5,21,32,127,252,15,252,14, - 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, - 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, - 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, - 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, - 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, - 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, - 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, - 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, - 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, - 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, - 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, - 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, - 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, - 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, - 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, - 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, - 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, - 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, - 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, - 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, - 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, - 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, - 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, - 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, - 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, - 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, - 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, - 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, - 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, - 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, - 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, - 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, - 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, - 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, - 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, - 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, - 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, - 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, - 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, - 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, - 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, - 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, - 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, - 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, - 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, - 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, - 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, - 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, - 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, - 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, - 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, - 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, - 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, - 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, - 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, - 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, - 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, - 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, - 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, - 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, - 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, - 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, - 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, - 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, - 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, - 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, - 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, - 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, - 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, - 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, - 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, - 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, - 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, - 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, - 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, - 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, - 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, - 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, - 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, - 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, - 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, - 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, - 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, - 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, - 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, - 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, - 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, - 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, - 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, - 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, - 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, - 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, - 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, - 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, - 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, - 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, - 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, - 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, - 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, - 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, - 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, - 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, - 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, - 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, - 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, - 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, - 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, - 32,64,192,8,2,2,9,0,4,57,206,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12[4200] U8G_SECTION(".progmem.u8g_font_gdr12") = { - 0,28,28,246,249,12,2,80,5,85,32,255,252,17,251,15, - 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, - 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, - 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, - 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, - 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, - 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, - 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, - 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, - 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, - 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, - 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, - 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, - 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, - 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, - 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, - 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, - 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, - 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, - 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, - 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, - 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, - 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, - 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, - 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, - 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, - 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, - 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, - 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, - 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, - 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, - 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, - 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, - 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, - 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, - 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, - 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, - 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, - 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, - 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, - 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, - 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, - 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, - 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, - 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, - 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, - 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, - 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, - 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, - 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, - 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, - 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, - 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, - 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, - 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, - 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, - 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, - 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, - 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, - 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, - 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, - 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, - 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, - 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, - 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, - 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, - 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, - 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, - 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, - 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, - 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, - 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, - 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, - 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, - 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, - 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, - 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, - 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, - 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, - 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, - 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, - 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, - 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, - 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, - 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, - 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, - 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, - 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, - 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, - 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, - 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, - 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, - 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, - 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, - 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, - 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, - 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, - 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, - 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, - 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, - 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, - 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, - 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, - 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, - 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, - 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, - 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, - 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, - 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, - 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, - 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, - 0,125,128,79,0,134,0,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,4,0,0,2,14, - 14,5,2,251,64,192,64,128,128,128,128,128,128,128,128,128, - 128,128,7,12,12,9,1,0,16,16,62,212,144,144,144,144, - 210,124,16,16,7,12,12,9,1,0,60,70,68,64,64,64, - 240,64,64,66,66,254,7,6,6,9,1,3,132,126,68,68, - 68,254,9,11,22,9,0,0,231,128,99,0,50,0,20,0, - 28,0,8,0,127,0,8,0,8,0,8,0,62,0,1,20, - 20,4,2,252,128,128,128,128,128,128,128,128,128,0,0,128, - 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, - 128,224,184,134,130,98,60,12,132,196,120,5,2,2,7,1, - 10,136,136,12,12,24,14,1,0,15,0,48,192,94,32,146, - 32,160,16,160,16,160,16,160,16,144,160,79,32,32,64,31, - 128,5,7,7,5,0,5,48,208,112,208,176,72,240,7,8, - 8,9,1,0,34,36,76,216,216,76,36,34,8,4,4,9, - 0,2,255,1,1,1,5,1,1,6,1,4,248,7,6,6, - 7,0,7,56,238,170,178,238,56,6,1,1,9,2,11,252, - 5,5,5,7,1,7,112,136,136,136,112,7,9,9,8,0, - 1,16,16,16,254,16,16,16,0,126,4,7,7,6,1,6, - 112,144,16,32,64,144,240,5,8,8,6,0,5,56,72,8, - 16,8,8,136,112,4,4,4,6,2,10,48,96,64,128,8, - 13,13,10,1,252,194,70,66,66,66,66,102,126,91,64,64, - 64,96,8,14,14,10,1,254,63,70,134,134,134,70,62,6, - 6,6,6,6,6,15,1,2,2,3,1,5,128,128,2,4, - 4,4,2,252,192,192,64,128,5,7,7,6,1,6,32,224, - 32,32,32,32,248,4,7,7,5,0,5,96,144,144,144,144, - 96,240,7,8,8,9,1,0,136,72,36,50,50,36,72,136, - 10,11,22,11,1,0,192,128,65,0,65,0,66,0,68,0, - 228,0,9,128,18,128,18,128,39,192,65,192,9,11,22,11, - 1,0,192,128,65,0,66,0,66,0,68,0,239,128,12,128, - 17,0,49,0,34,128,71,128,10,12,24,11,1,0,96,0, - 144,128,33,0,18,0,146,0,228,0,8,0,9,128,18,128, - 50,128,39,192,65,192,6,14,14,8,1,251,16,48,16,16, - 16,16,32,32,64,128,132,132,136,112,11,16,32,11,0,0, - 16,0,60,0,2,0,0,0,4,0,6,0,14,0,10,0, - 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, - 11,16,32,11,0,0,1,0,7,128,8,0,0,0,4,0, - 6,0,14,0,10,0,11,0,17,0,17,0,31,128,33,128, - 32,128,32,192,241,224,11,16,32,11,0,0,4,0,10,0, - 17,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, - 17,0,31,128,33,128,32,128,32,192,241,224,11,15,30,11, - 0,0,29,128,39,0,0,0,4,0,6,0,14,0,10,0, - 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, - 11,15,30,11,0,0,33,0,33,0,0,0,4,0,6,0, - 14,0,10,0,11,0,17,0,17,0,31,128,33,128,32,128, - 32,192,241,224,11,17,34,11,0,0,14,0,18,0,18,0, - 12,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, - 17,0,31,128,33,128,32,128,32,192,241,224,14,12,24,15, - 0,0,31,248,5,8,5,0,9,0,9,0,31,240,17,32, - 17,0,33,0,33,8,97,12,243,248,9,16,32,10,1,252, - 30,0,99,0,128,0,128,0,128,0,128,0,128,0,128,0, - 128,0,65,0,97,128,62,0,8,0,12,0,4,0,8,0, - 8,16,16,9,1,0,64,48,8,0,254,66,64,64,64,124, - 72,64,64,66,67,254,8,16,16,9,1,0,4,14,48,0, - 254,66,64,64,64,124,72,64,64,66,67,254,8,16,16,9, - 1,0,24,44,68,2,254,66,64,64,64,124,72,64,64,66, - 67,254,8,15,15,9,1,0,132,132,0,254,66,64,64,64, - 124,72,64,64,66,67,254,4,16,16,6,0,0,128,96,16, - 0,112,32,32,32,32,32,32,32,32,32,32,112,5,16,16, - 6,1,0,24,48,192,0,224,64,64,64,64,64,64,64,64, - 64,64,224,6,16,16,6,0,0,48,88,132,0,112,32,32, - 32,32,32,32,32,32,32,32,112,6,15,15,6,0,0,132, - 136,0,112,32,32,32,32,32,32,32,32,32,32,112,10,12, - 24,11,0,0,126,0,33,128,32,128,32,64,32,64,124,64, - 160,64,32,64,32,64,32,128,33,0,126,0,10,15,30,12, - 1,0,25,0,38,0,0,0,193,192,96,128,112,128,80,128, - 88,128,76,128,68,128,70,128,67,128,65,128,65,128,224,128, - 9,16,32,11,1,0,32,0,24,0,4,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, - 65,0,98,0,60,0,9,16,32,11,1,0,3,0,6,0, - 24,0,0,0,30,0,99,0,129,0,128,128,128,128,128,128, - 128,128,128,128,128,128,65,0,98,0,60,0,9,16,32,11, - 1,0,12,0,22,0,34,0,1,0,30,0,99,0,129,0, - 128,128,128,128,128,128,128,128,128,128,128,128,65,0,98,0, - 60,0,9,15,30,11,1,0,25,0,110,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, - 65,0,98,0,60,0,9,15,30,11,1,0,66,0,66,0, - 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, - 128,128,128,128,65,0,98,0,60,0,6,6,6,8,1,2, - 132,72,48,48,72,132,9,12,24,11,1,0,30,128,35,0, - 67,0,131,128,132,128,136,128,136,128,144,128,225,0,97,0, - 98,0,188,0,10,16,32,12,1,0,48,0,24,0,6,0, - 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,16,32,12,1,0, - 1,0,6,0,8,0,0,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, - 10,16,32,12,1,0,12,0,26,0,33,0,0,0,225,192, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,33,0,30,0,10,15,30,12,1,0,33,0,33,0, - 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,11,16,32,11,0,0, - 1,0,3,128,12,0,0,0,225,224,48,128,49,128,25,0, - 10,0,14,0,4,0,4,0,4,0,4,0,4,0,31,0, - 8,12,12,10,1,0,240,64,124,66,65,65,65,65,98,92, - 64,240,9,14,28,11,1,0,30,0,35,0,65,0,65,0, - 65,0,70,0,72,0,72,0,70,0,67,128,64,128,72,128, - 72,128,207,0,7,14,14,9,1,0,96,32,16,16,8,60, - 68,132,4,60,196,132,140,118,7,14,14,9,1,0,12,8, - 16,16,0,60,68,132,4,60,196,132,140,118,7,14,14,9, - 1,0,16,56,76,132,0,60,68,132,4,60,196,132,140,118, - 7,13,13,9,1,0,34,116,152,0,60,68,132,4,60,196, - 132,140,118,7,12,12,9,1,0,132,132,0,60,68,132,4, - 60,196,132,140,118,7,14,14,9,1,0,56,72,72,48,0, - 60,68,132,4,60,196,132,140,118,11,9,18,13,1,0,57, - 192,70,64,196,32,4,32,31,224,100,0,132,0,142,32,115, - 192,7,13,13,8,1,252,60,68,128,128,128,128,128,98,60, - 16,24,8,16,7,14,14,9,1,0,96,32,16,8,0,60, - 68,130,130,254,128,128,66,60,7,14,14,9,1,0,4,14, - 8,16,0,60,68,130,130,254,128,128,66,60,7,14,14,9, - 1,0,24,56,36,66,0,60,68,130,130,254,128,128,66,60, - 7,12,12,9,1,0,130,132,0,60,68,130,130,254,128,128, - 66,60,4,14,14,5,0,0,192,64,32,16,0,32,96,32, - 32,32,32,32,32,112,4,14,14,5,1,0,16,48,96,64, - 0,64,192,64,64,64,64,64,64,224,6,14,14,5,0,0, - 32,112,200,132,0,32,96,32,32,32,32,32,32,112,6,12, - 12,5,255,0,132,132,0,16,48,16,16,16,16,16,16,56, - 7,13,13,9,1,0,96,30,56,68,60,70,130,130,130,130, - 132,68,56,8,13,13,10,1,0,51,58,76,0,76,210,98, - 66,66,66,66,66,231,8,14,14,10,1,0,96,48,16,8, - 0,60,66,129,129,129,129,130,66,60,8,14,14,10,1,0, - 6,12,8,16,0,60,66,129,129,129,129,130,66,60,8,14, - 14,10,1,0,24,56,36,66,0,60,66,129,129,129,129,130, - 66,60,8,13,13,10,1,0,50,122,76,0,60,66,129,129, - 129,129,130,66,60,8,12,12,10,1,0,130,130,0,60,66, - 129,129,129,129,130,66,60,6,6,6,8,1,2,32,32,252, - 0,32,32,8,9,9,10,1,0,29,102,135,137,153,145,226, - 98,252,8,14,14,10,1,0,96,48,16,8,0,198,66,66, - 66,66,66,66,70,59,8,14,14,10,1,0,6,12,8,16, - 0,198,66,66,66,66,66,66,70,59,8,14,14,10,1,0, - 24,28,36,66,0,198,66,66,66,66,66,66,70,59,8,12, - 12,10,1,0,130,130,0,198,66,66,66,66,66,66,70,59, - 9,18,36,9,0,252,3,0,6,0,4,0,8,0,0,0, - 243,128,97,0,33,0,50,0,18,0,20,0,28,0,12,0, - 8,0,8,0,16,0,176,0,224,0,8,18,18,10,1,252, - 64,192,64,64,64,78,114,65,65,65,65,66,98,124,64,64, - 64,240,9,16,32,9,0,252,65,0,65,0,0,0,243,128, - 97,0,33,0,50,0,18,0,20,0,28,0,12,0,8,0, - 8,0,16,0,176,0,224,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 8 h=18 x= 2 y= 7 dx= 9 dy= 0 ascent=15 len=18 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =15 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12n[270] U8G_SECTION(".progmem.u8g_font_gdr12n") = { - 0,28,28,246,249,12,0,0,0,0,42,57,0,15,253,12, - 0,7,7,7,8,1,7,16,148,222,48,252,146,16,7,7, - 7,8,0,2,16,16,16,254,16,16,16,2,5,5,4,1, - 253,64,192,64,64,128,5,1,1,6,1,4,248,2,3,3, - 4,1,255,192,192,128,8,18,18,9,0,253,1,1,3,2, - 6,4,4,12,8,8,24,16,48,32,32,96,64,192,7,11, - 11,9,1,0,56,68,130,130,130,130,130,130,132,68,56,6, - 12,12,9,1,0,16,112,144,16,16,16,16,16,16,16,16, - 252,6,12,12,8,1,0,60,68,196,4,4,8,16,16,32, - 68,132,252,7,12,12,8,0,0,28,38,98,2,4,28,2, - 2,2,2,134,124,7,12,12,9,1,0,4,12,12,20,20, - 36,68,68,254,4,4,30,6,11,11,9,2,0,124,64,64, - 64,120,132,4,4,4,132,120,7,12,12,9,1,0,12,48, - 64,64,128,252,198,130,130,130,68,56,7,11,11,9,1,0, - 254,130,4,4,8,8,24,16,48,32,96,7,12,12,9,1, - 0,120,196,196,196,232,60,78,130,130,130,194,124,7,11,11, - 9,1,0,56,68,130,130,130,198,122,2,4,8,112}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=30 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12r[1992] U8G_SECTION(".progmem.u8g_font_gdr12r") = { - 0,28,28,246,249,12,2,80,5,85,32,127,252,16,252,15, - 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, - 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, - 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, - 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, - 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, - 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, - 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, - 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, - 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, - 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, - 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, - 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, - 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, - 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, - 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, - 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, - 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, - 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, - 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, - 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, - 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, - 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, - 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, - 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, - 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, - 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, - 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, - 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, - 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, - 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, - 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, - 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, - 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, - 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, - 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, - 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, - 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, - 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, - 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, - 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, - 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, - 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, - 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, - 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, - 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, - 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, - 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, - 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, - 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, - 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, - 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, - 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, - 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, - 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, - 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, - 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, - 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, - 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, - 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, - 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, - 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, - 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, - 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, - 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, - 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, - 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, - 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, - 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, - 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, - 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, - 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, - 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, - 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, - 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, - 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, - 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, - 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, - 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, - 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, - 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, - 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, - 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, - 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, - 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, - 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, - 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, - 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, - 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, - 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, - 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, - 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, - 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, - 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, - 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, - 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, - 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, - 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, - 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, - 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, - 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, - 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, - 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, - 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, - 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, - 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, - 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, - 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, - 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, - 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, - 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, - 0,125,128,79,0,134,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=57 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14[5942] U8G_SECTION(".progmem.u8g_font_gdr14") = { - 0,35,33,244,248,14,3,95,7,136,32,255,251,20,250,18, - 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, - 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, - 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, - 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, - 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, - 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, - 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, - 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, - 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, - 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, - 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, - 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, - 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, - 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, - 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, - 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, - 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, - 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, - 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, - 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, - 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, - 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, - 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, - 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, - 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, - 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, - 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, - 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, - 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, - 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, - 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, - 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, - 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, - 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, - 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, - 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, - 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, - 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, - 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, - 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, - 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, - 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, - 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, - 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, - 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, - 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, - 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, - 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, - 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, - 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, - 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, - 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, - 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, - 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, - 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, - 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, - 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, - 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, - 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, - 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, - 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, - 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, - 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, - 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, - 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, - 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, - 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, - 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, - 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, - 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, - 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, - 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, - 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, - 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, - 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, - 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, - 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, - 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, - 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, - 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, - 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, - 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, - 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, - 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, - 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, - 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, - 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, - 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, - 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, - 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, - 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, - 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, - 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, - 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, - 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, - 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, - 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, - 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, - 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, - 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, - 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, - 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, - 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, - 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, - 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, - 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, - 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, - 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, - 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, - 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, - 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, - 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, - 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, - 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, - 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, - 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, - 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, - 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, - 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, - 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, - 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, - 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, - 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, - 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, - 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, - 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, - 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, - 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, - 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, - 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, - 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, - 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, - 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, - 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, - 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, - 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, - 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, - 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, - 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, - 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, - 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, - 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, - 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, - 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, - 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, - 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, - 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, - 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, - 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, - 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, - 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, - 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, - 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, - 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, - 124,128,159,0,135,0,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,5,0,0,2,16,16, - 6,2,250,192,192,128,64,192,192,192,192,192,192,192,192,192, - 192,192,128,9,14,28,11,1,0,12,0,12,0,31,128,109, - 128,76,0,204,0,204,0,204,0,204,0,236,128,125,128,63, - 0,12,0,12,0,10,14,28,11,0,0,7,128,24,192,16, - 128,48,128,48,0,48,0,48,0,126,0,48,0,48,0,48, - 0,32,64,32,64,255,192,9,7,14,11,1,3,221,128,119, - 0,99,0,99,0,115,0,127,0,128,128,12,14,28,11,255, - 0,225,240,48,64,48,192,25,128,29,128,15,0,7,0,6, - 0,63,192,6,0,6,0,6,0,6,0,31,128,2,24,24, - 5,2,251,192,192,192,192,192,192,192,192,192,192,128,0,0, - 64,192,192,192,192,192,192,192,192,192,192,9,16,32,11,1, - 0,30,0,99,0,98,0,112,0,56,0,94,0,199,0,195, - 128,225,128,113,128,63,0,15,0,7,0,67,0,99,0,62, - 0,7,3,3,9,1,12,198,198,198,15,14,28,16,0,0, - 7,192,24,48,49,248,98,44,198,6,204,6,204,6,204,6, - 204,6,206,38,102,76,51,152,24,48,7,192,6,8,8,6, - 0,6,112,152,24,56,120,124,0,124,9,10,20,11,1,0, - 17,128,17,0,34,0,102,0,204,0,204,0,102,0,34,0, - 17,0,17,128,10,5,10,11,0,2,255,192,0,192,0,192, - 0,192,0,192,6,1,1,8,1,5,252,8,8,8,8,0, - 8,60,66,189,149,153,153,86,60,7,1,1,11,2,13,254, - 4,5,5,8,2,9,96,240,240,240,96,8,10,10,9,1, - 2,24,24,24,24,255,24,24,24,0,255,6,8,8,8,1, - 7,120,140,140,8,16,32,68,252,7,8,8,7,255,7,60, - 102,6,28,6,6,134,120,5,5,5,7,2,12,24,48,32, - 64,192,12,15,30,13,1,251,96,192,224,192,96,192,96,192, - 96,192,96,192,96,192,113,192,127,208,92,224,64,0,64,0, - 96,0,96,0,112,0,13,17,34,14,0,253,31,248,99,96, - 195,96,195,96,195,96,227,96,115,96,63,96,3,96,3,96, - 3,96,3,96,3,96,3,96,3,96,3,96,15,248,2,3, - 3,3,1,6,192,192,192,4,5,5,5,1,251,96,96,112, - 48,192,6,8,8,8,1,7,48,240,48,48,48,48,48,252, - 4,8,8,6,1,6,96,240,240,240,240,96,0,240,8,10, - 10,11,2,0,136,140,68,98,51,51,102,68,140,136,12,14, - 28,13,0,0,24,96,120,192,24,192,25,128,27,0,27,0, - 126,0,4,96,12,224,25,96,18,96,51,240,96,96,192,240, - 13,14,28,14,0,0,48,16,240,32,48,96,48,64,48,128, - 48,128,249,0,3,120,2,152,4,24,12,48,8,32,16,72, - 49,248,12,14,28,14,1,0,112,32,152,64,24,64,56,128, - 77,128,141,0,114,0,6,96,4,224,9,96,25,96,19,240, - 32,96,96,240,8,16,16,10,1,250,24,24,16,4,12,12, - 12,24,48,96,96,192,195,195,230,124,13,20,40,14,0,0, - 16,0,28,0,14,0,3,0,0,128,0,0,2,0,3,0, - 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, - 16,96,32,48,32,48,248,120,13,20,40,14,0,0,0,128, - 0,192,3,160,6,0,0,0,0,0,2,0,3,0,5,0, - 5,128,5,128,8,128,8,192,8,192,31,192,16,96,16,96, - 32,48,32,48,248,120,13,20,40,14,0,0,2,0,7,0, - 13,128,8,64,16,0,0,0,2,0,3,0,5,0,5,128, - 5,128,8,128,8,192,8,192,31,192,16,96,16,96,32,48, - 32,48,248,120,13,19,38,14,0,0,4,64,14,96,19,192, - 0,0,0,0,2,0,3,0,5,0,5,128,5,128,8,128, - 8,192,8,192,31,192,16,96,16,96,32,48,32,48,248,120, - 13,18,36,14,0,0,8,64,12,96,8,64,0,0,2,0, - 3,0,5,0,5,128,5,128,8,128,8,192,8,192,31,192, - 16,96,16,96,32,48,32,48,248,120,13,20,40,14,0,0, - 2,0,7,0,7,128,7,0,0,0,0,0,2,0,3,0, - 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, - 16,96,32,48,32,48,248,120,18,14,42,18,0,0,7,255, - 128,1,96,128,3,96,128,2,96,0,6,96,0,6,96,0, - 7,255,0,12,98,0,8,96,0,24,96,0,16,96,0,16, - 96,64,48,96,64,249,255,128,11,19,38,12,1,251,7,192, - 24,96,32,0,96,0,64,0,192,0,192,0,192,0,192,0, - 192,0,224,0,96,128,113,192,62,0,8,0,4,0,14,0, - 6,0,24,0,11,20,40,11,0,0,32,0,56,0,28,0, - 6,0,1,0,0,0,255,192,48,64,48,64,48,0,48,0, - 48,0,63,128,49,0,48,0,48,0,48,0,48,32,48,96, - 255,192,11,20,40,11,0,0,1,0,1,128,7,0,12,0, - 0,0,0,0,255,192,48,64,48,64,48,0,48,0,48,0, - 63,128,49,0,48,0,48,0,48,0,48,32,48,96,255,192, - 11,20,40,11,0,0,4,0,14,0,27,0,48,128,0,0, - 0,0,255,192,48,64,48,64,48,0,48,0,48,0,63,128, - 49,0,48,0,48,0,48,0,48,32,48,96,255,192,11,18, - 36,11,0,0,16,128,49,128,49,128,0,0,255,192,48,64, - 48,64,48,0,48,0,48,0,63,128,49,0,48,0,48,0, - 48,0,48,32,48,96,255,192,6,20,20,7,0,0,128,192, - 112,24,0,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,252,7,20,20,7,0,0,4,14,28,48,64,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,252,7,20,20,7, - 0,0,16,56,108,134,0,0,252,48,48,48,48,48,48,48, - 48,48,48,48,48,252,7,18,18,7,0,0,66,198,198,0, - 252,48,48,48,48,48,48,48,48,48,48,48,48,252,13,14, - 28,14,0,0,127,128,176,224,48,112,48,48,48,24,48,24, - 254,24,48,24,48,24,48,24,48,48,48,112,48,224,255,128, - 15,19,38,15,0,0,2,32,7,32,9,192,0,0,0,0, - 240,126,48,24,56,24,60,24,52,24,50,24,51,24,49,152, - 48,152,48,216,48,120,48,56,48,56,252,24,12,20,40,14, - 1,0,16,0,56,0,12,0,2,0,1,0,0,0,15,128, - 48,192,32,96,96,96,192,48,192,48,192,48,192,48,192,48, - 192,48,96,96,96,64,48,128,31,0,12,20,40,14,1,0, - 1,0,1,192,3,0,12,0,0,0,0,0,15,128,48,192, - 32,96,96,96,192,48,192,48,192,48,192,48,192,48,192,48, - 96,96,96,64,48,128,31,0,12,20,40,14,1,0,6,0, - 14,0,11,0,16,128,32,0,0,0,15,128,48,192,32,96, - 96,96,192,48,192,48,192,48,192,48,192,48,192,48,96,96, - 96,64,48,128,31,0,12,19,38,14,1,0,8,128,28,64, - 55,128,0,0,0,0,15,128,48,192,32,96,96,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,64,48,128, - 31,0,12,18,36,14,1,0,16,128,24,192,16,128,0,0, - 15,128,48,192,32,96,96,96,192,48,192,48,192,48,192,48, - 192,48,192,48,96,96,96,64,48,128,31,0,7,7,7,9, - 1,3,194,102,60,24,60,102,194,12,15,30,14,1,255,15, - 48,48,224,32,224,64,224,193,176,195,48,194,48,198,48,204, - 48,200,48,88,32,112,64,112,128,207,0,128,0,15,20,40, - 15,0,0,8,0,14,0,7,0,1,128,0,64,0,0,252, - 126,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,24,48,28,96,7,192,15,20,40,15,0, - 0,0,64,0,96,1,192,3,0,0,0,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,24,48,28,96,7,192,15,20,40,15,0,0,1, - 0,3,128,6,192,12,96,0,0,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,15,18,36,15,0,0,4,32,12, - 96,12,96,0,0,252,126,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,24,48,28,96,7, - 192,14,20,40,14,0,0,0,128,0,224,1,128,6,0,0, - 0,0,0,224,124,48,48,24,32,24,96,12,64,6,192,7, - 128,3,0,3,0,3,0,3,0,3,0,3,0,15,192,11, - 14,28,12,0,0,252,0,48,0,48,0,63,128,48,192,48, - 96,48,96,48,96,48,96,48,192,63,128,48,0,48,0,252, - 0,13,17,34,13,0,0,7,128,8,192,16,96,48,96,48, - 96,48,224,51,192,55,0,54,0,55,0,51,192,48,240,48, - 56,48,24,52,24,50,16,243,224,10,17,34,11,1,0,96, - 0,48,0,16,0,8,0,4,0,0,0,0,0,30,0,99, - 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, - 192,10,17,34,11,1,0,3,0,6,0,12,0,8,0,16, - 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, - 0,195,0,195,0,199,0,123,192,10,17,34,11,1,0,24, - 0,28,0,54,0,98,0,65,0,0,0,0,0,30,0,99, - 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, - 192,10,15,30,11,1,0,57,0,78,0,0,0,0,0,0, - 0,30,0,99,0,195,0,3,0,31,0,99,0,195,0,195, - 0,199,0,123,192,10,15,30,11,1,0,33,0,99,0,99, - 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, - 0,195,0,195,0,199,0,123,192,10,16,32,11,1,0,28, - 0,60,0,60,0,24,0,0,0,0,0,30,0,99,0,195, - 0,3,0,31,0,99,0,195,0,195,0,199,0,123,192,14, - 10,20,16,1,0,30,112,99,152,195,12,131,12,31,252,115, - 0,195,0,195,0,197,132,120,248,9,15,30,10,1,251,15, - 0,49,128,96,0,192,0,192,0,192,0,192,0,192,0,99, - 0,124,0,16,0,8,0,28,0,12,0,48,0,9,17,34, - 11,1,0,48,0,112,0,24,0,8,0,4,0,0,0,0, - 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, - 0,113,128,62,0,9,17,34,11,1,0,3,0,6,0,6, - 0,12,0,8,0,0,0,0,0,30,0,33,0,65,128,255, - 128,192,0,192,0,192,0,224,0,113,128,62,0,9,17,34, - 11,1,0,12,0,28,0,54,0,35,0,65,0,0,0,0, - 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, - 0,113,128,62,0,9,15,30,11,1,0,33,0,49,128,33, - 0,0,0,0,0,30,0,33,0,65,128,255,128,192,0,192, - 0,192,0,224,0,113,128,62,0,6,17,17,6,0,0,192, - 96,32,48,16,0,0,48,240,48,48,48,48,48,48,48,252, - 7,17,17,6,0,0,12,14,24,16,32,0,0,48,240,48, - 48,48,48,48,48,48,252,7,17,17,6,0,0,48,56,104, - 196,130,0,0,48,240,48,48,48,48,48,48,48,252,7,15, - 15,6,0,0,198,198,198,0,0,48,240,48,48,48,48,48, - 48,48,252,9,16,32,11,1,0,48,0,91,128,12,0,50, - 0,3,0,1,0,31,128,99,128,67,128,193,128,193,128,193, - 128,193,0,227,0,98,0,60,0,13,15,30,13,0,0,14, - 64,19,128,0,0,0,0,0,0,113,192,182,96,56,96,48, - 96,48,96,48,96,48,96,48,96,48,96,253,248,10,17,34, - 12,1,0,48,0,48,0,24,0,12,0,4,0,0,0,0, - 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, - 128,113,0,30,0,10,17,34,12,1,0,3,0,3,0,6, - 0,4,0,8,0,0,0,0,0,30,0,35,128,65,128,192, - 192,192,192,192,192,192,192,224,128,113,0,30,0,10,17,34, - 12,1,0,12,0,30,0,18,0,33,0,64,128,0,0,0, - 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, - 128,113,0,30,0,10,15,30,12,1,0,56,128,71,0,0, - 0,0,0,0,0,30,0,35,128,65,128,192,192,192,192,192, - 192,192,192,224,128,113,0,30,0,10,15,30,12,1,0,49, - 128,49,128,33,0,0,0,0,0,30,0,35,128,65,128,192, - 192,192,192,192,192,192,192,224,128,113,0,30,0,8,7,7, - 9,1,3,24,24,0,255,0,24,24,10,12,24,12,1,255, - 0,64,30,192,35,128,67,192,194,192,196,192,200,192,216,192, - 240,128,113,0,222,0,128,0,11,17,34,12,1,0,48,0, - 24,0,24,0,12,0,4,0,0,0,0,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,17,34,12,1,0,3,0,3,128,6,0,4,0,8,0, - 0,0,0,0,97,128,231,128,97,128,97,128,97,128,97,128, - 97,128,97,128,103,160,57,192,11,17,34,12,1,0,12,0, - 14,0,26,0,49,0,32,128,0,0,0,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,15,30,12,1,0,49,128,49,128,49,128,0,0,0,0, - 97,128,231,128,97,128,97,128,97,128,97,128,97,128,97,128, - 103,160,57,192,12,22,44,11,255,251,0,192,0,192,1,128, - 3,0,2,0,0,0,0,0,124,240,16,32,24,64,24,64, - 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, - 4,0,120,0,240,0,11,22,44,12,0,251,48,0,240,0, - 48,0,48,0,48,0,48,0,48,0,51,128,60,192,56,224, - 48,96,48,96,48,96,48,96,48,64,56,128,55,0,48,0, - 48,0,48,0,48,0,252,0,12,20,40,11,255,251,12,96, - 12,96,8,64,0,0,0,0,124,240,16,32,24,64,24,64, - 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, - 4,0,120,0,240,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=10 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14n[445] U8G_SECTION(".progmem.u8g_font_gdr14n") = { - 0,35,33,244,248,14,0,0,0,0,42,57,0,18,252,14, - 0,9,10,20,10,1,8,24,0,24,0,137,0,235,128,60, - 0,60,0,235,0,137,0,24,0,24,0,8,8,8,9,1, - 2,24,24,24,255,24,24,24,24,4,6,6,5,0,253,112, - 240,48,48,32,64,6,1,1,8,1,5,252,2,3,3,5, - 2,0,192,192,192,9,22,44,11,1,252,0,128,1,128,1, - 0,3,0,3,0,2,0,6,0,6,0,12,0,12,0,8, - 0,24,0,24,0,16,0,48,0,48,0,96,0,96,0,64, - 0,192,0,192,0,128,0,9,14,28,11,1,0,28,0,39, - 0,99,0,67,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,0,97,0,98,0,28,0,8,14,14,11,2,0,24, - 120,152,24,24,24,24,24,24,24,24,24,24,255,8,14,14, - 11,1,0,60,103,195,131,3,6,6,12,24,24,48,97,193, - 255,9,14,28,12,1,0,30,0,103,0,195,0,3,0,2, - 0,4,0,30,0,3,0,1,128,1,128,1,128,1,128,195, - 0,60,0,10,14,28,11,0,0,3,0,7,0,7,0,11, - 0,27,0,19,0,35,0,99,0,67,0,255,192,3,0,3, - 0,3,0,15,192,9,14,28,11,0,0,0,128,63,0,32, - 0,32,0,96,0,126,0,67,0,1,128,1,128,1,128,1, - 128,1,0,195,0,60,0,9,14,28,11,1,0,3,0,12, - 0,48,0,32,0,96,0,222,0,227,0,193,128,193,128,193, - 128,193,128,97,0,99,0,30,0,9,13,26,11,1,0,127, - 128,129,0,129,0,3,0,2,0,6,0,4,0,12,0,8, - 0,24,0,24,0,48,0,32,0,9,14,28,11,1,0,62, - 0,71,0,195,0,195,0,195,0,118,0,30,0,39,0,99, - 128,193,128,193,128,193,128,99,0,60,0,9,14,28,11,1, - 0,30,0,99,0,67,0,193,128,193,128,193,128,193,128,99, - 128,61,128,1,0,3,0,6,0,8,0,112,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=57 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14r[2791] U8G_SECTION(".progmem.u8g_font_gdr14r") = { - 0,35,33,244,248,14,3,95,7,136,32,127,251,19,251,18, - 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, - 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, - 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, - 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, - 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, - 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, - 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, - 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, - 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, - 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, - 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, - 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, - 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, - 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, - 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, - 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, - 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, - 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, - 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, - 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, - 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, - 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, - 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, - 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, - 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, - 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, - 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, - 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, - 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, - 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, - 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, - 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, - 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, - 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, - 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, - 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, - 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, - 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, - 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, - 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, - 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, - 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, - 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, - 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, - 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, - 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, - 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, - 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, - 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, - 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, - 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, - 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, - 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, - 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, - 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, - 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, - 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, - 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, - 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, - 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, - 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, - 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, - 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, - 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, - 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, - 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, - 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, - 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, - 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, - 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, - 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, - 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, - 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, - 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, - 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, - 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, - 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, - 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, - 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, - 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, - 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, - 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, - 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, - 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, - 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, - 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, - 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, - 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, - 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, - 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, - 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, - 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, - 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, - 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, - 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, - 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, - 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, - 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, - 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, - 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, - 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, - 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, - 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, - 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, - 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, - 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, - 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, - 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, - 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, - 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, - 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, - 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, - 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, - 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, - 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, - 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, - 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, - 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, - 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, - 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, - 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, - 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, - 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, - 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, - 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, - 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, - 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, - 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, - 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, - 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, - 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, - 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, - 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, - 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, - 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, - 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, - 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, - 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, - 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, - 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, - 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, - 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, - 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, - 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, - 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, - 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, - 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, - 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, - 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, - 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, - 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, - 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, - 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, - 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, - 124,128,159,0,135,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=22 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=66 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17[7056] U8G_SECTION(".progmem.u8g_font_gdr17") = { - 0,40,38,242,247,17,4,64,9,46,32,255,250,23,249,21, - 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, - 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, - 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, - 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, - 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, - 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, - 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, - 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, - 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, - 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, - 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, - 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, - 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, - 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, - 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, - 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, - 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, - 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, - 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, - 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, - 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, - 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, - 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, - 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, - 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, - 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, - 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, - 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, - 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, - 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, - 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, - 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, - 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, - 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, - 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, - 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, - 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, - 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, - 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, - 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, - 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, - 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, - 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, - 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, - 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, - 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, - 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, - 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, - 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, - 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, - 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, - 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, - 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, - 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, - 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, - 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, - 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, - 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, - 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, - 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, - 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, - 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, - 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, - 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, - 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, - 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, - 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, - 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, - 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, - 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, - 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, - 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, - 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, - 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, - 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, - 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, - 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, - 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, - 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, - 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, - 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, - 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, - 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, - 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, - 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, - 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, - 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, - 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, - 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, - 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, - 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, - 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, - 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, - 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, - 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, - 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, - 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, - 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, - 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, - 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, - 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, - 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, - 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, - 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, - 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, - 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, - 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, - 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, - 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, - 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, - 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, - 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, - 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, - 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, - 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, - 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, - 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, - 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, - 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, - 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, - 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, - 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, - 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, - 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, - 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, - 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, - 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, - 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, - 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, - 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, - 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, - 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, - 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, - 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, - 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, - 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, - 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, - 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, - 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, - 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, - 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, - 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, - 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, - 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, - 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, - 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, - 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, - 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, - 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, - 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, - 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, - 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, - 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, - 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, - 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, - 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,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,0,3,19,19,7,2,249, - 96,224,224,192,64,64,64,64,64,96,96,96,96,224,224,224, - 224,224,192,11,17,34,13,1,255,6,0,6,0,7,128,31, - 224,38,64,102,0,198,0,198,0,198,0,198,0,198,0,230, - 32,118,64,63,128,15,0,6,0,6,0,11,16,32,13,1, - 0,7,192,24,224,16,64,48,64,48,0,48,0,48,0,48, - 0,255,0,48,0,48,0,48,0,48,32,32,32,96,96,255, - 224,9,8,16,13,2,4,128,128,93,0,119,0,99,0,99, - 0,119,0,93,0,128,128,14,16,32,13,255,0,240,124,48, - 48,24,96,28,96,12,192,14,192,7,128,3,128,3,0,63, - 240,3,0,3,0,3,0,3,0,3,0,15,192,2,27,27, - 6,2,251,192,192,192,192,192,192,192,192,192,192,192,192,128, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,31,0,35,128,97,0,96,0,112,0,60,0, - 127,0,199,128,195,192,193,192,224,192,120,192,63,128,15,0, - 3,128,65,128,65,128,97,0,62,0,9,3,6,11,1,15, - 193,128,193,128,193,128,17,17,51,19,1,0,3,224,0,12, - 24,0,48,6,0,48,246,0,99,27,0,102,1,0,204,1, - 128,204,1,128,204,1,128,204,1,128,204,1,128,70,19,0, - 103,19,0,49,230,0,48,6,0,12,24,0,3,224,0,7, - 8,8,7,0,8,56,76,140,60,108,108,126,126,10,12,24, - 13,1,0,8,64,24,192,16,128,49,128,99,0,230,0,231, - 0,99,0,49,128,16,128,8,192,8,64,11,6,12,13,1, - 2,255,224,0,96,0,96,0,96,0,96,0,96,7,1,1, - 9,1,6,254,9,9,18,10,0,10,62,0,99,0,255,128, - 146,128,156,128,152,128,213,128,107,0,62,0,9,1,2,13, - 2,16,255,128,6,6,6,10,2,10,56,76,204,204,200,112, - 10,12,24,11,1,2,12,0,12,0,12,0,12,0,255,192, - 12,0,12,0,12,0,12,0,0,0,0,0,255,128,7,10, - 10,9,1,8,60,70,198,6,12,24,16,32,66,254,8,10, - 10,9,255,8,30,35,67,2,14,3,3,3,198,60,5,6, - 6,9,3,14,24,56,48,96,192,128,14,18,36,14,0,250, - 48,48,240,112,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,240,63,188,55,56,48,0,48,0,48,0,48,0, - 56,0,48,0,13,20,40,15,1,253,31,248,49,224,97,224, - 193,224,193,224,193,224,193,224,97,224,113,224,31,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 7,248,2,3,3,4,1,8,192,192,192,5,6,6,6,0, - 250,48,32,56,88,16,224,7,10,10,9,1,8,24,248,24, - 24,24,24,24,24,24,126,6,8,8,8,1,8,56,76,204, - 204,204,200,112,252,10,12,24,13,2,0,132,0,198,0,98, - 0,35,0,49,128,24,192,25,192,49,128,35,0,98,0,198, - 0,132,0,14,16,32,16,1,0,48,24,240,56,48,48,48, - 96,48,192,48,192,49,128,255,0,3,24,6,56,12,88,12, - 88,24,152,17,252,48,24,96,60,13,16,32,15,1,0,48, - 8,240,16,48,48,48,32,48,96,48,192,48,128,253,128,3, - 112,2,152,7,24,4,16,8,48,24,96,16,200,49,248,14, - 16,32,16,1,0,56,24,204,16,12,48,56,32,12,64,12, - 192,140,128,113,128,3,24,2,56,6,88,12,88,8,152,25, - 252,16,24,48,60,10,19,38,12,1,249,6,0,14,0,14, - 0,12,0,2,0,6,0,6,0,6,0,12,0,28,0,56, - 0,112,0,96,0,192,0,192,192,192,192,192,192,97,128,62, - 0,16,23,46,16,0,0,12,0,30,0,7,0,1,128,0, - 64,0,0,0,128,1,128,3,128,3,192,2,192,6,192,6, - 96,4,96,12,112,12,48,15,240,24,24,24,24,16,24,48, - 12,48,12,248,63,16,23,46,16,0,0,0,48,0,112,1, - 192,3,128,2,0,0,0,0,128,1,128,3,128,3,192,2, - 192,6,192,6,96,4,96,12,112,12,48,15,240,24,24,24, - 24,16,24,48,12,48,12,248,63,16,22,44,16,0,0,3, - 128,6,192,12,32,8,16,0,0,0,128,1,128,3,128,3, - 192,2,192,6,192,6,96,4,96,12,112,12,48,15,240,24, - 24,24,24,16,24,48,12,48,12,248,63,16,22,44,16,0, - 0,0,16,7,176,9,224,16,192,0,0,0,128,1,128,3, - 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, - 240,24,24,24,24,16,24,48,12,48,12,248,63,16,21,42, - 16,0,0,12,48,12,48,8,32,0,0,0,128,1,128,3, - 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, - 240,24,24,24,24,16,24,48,12,48,12,248,63,16,23,46, - 16,0,0,1,192,3,96,3,96,3,192,1,128,0,0,0, - 128,1,128,3,128,3,192,2,192,6,192,6,96,4,96,12, - 112,12,48,15,240,24,24,24,24,16,24,48,12,48,12,248, - 63,20,17,51,21,0,0,7,255,224,1,176,32,1,176,32, - 1,48,0,3,48,0,3,48,0,6,48,0,7,255,192,4, - 48,128,12,48,0,12,48,0,24,48,0,24,48,0,16,48, - 0,48,48,16,48,48,48,248,255,240,12,23,46,14,1,250, - 7,224,24,112,48,0,32,0,96,0,64,0,192,0,192,0, - 192,0,192,0,192,0,192,0,224,0,96,32,112,32,61,192, - 31,128,4,0,4,0,7,0,3,0,2,0,28,0,12,23, - 46,13,1,0,48,0,120,0,28,0,6,0,1,0,0,0, - 255,224,48,32,48,32,48,0,48,0,48,0,48,0,63,192, - 48,128,48,0,48,0,48,0,48,0,48,0,48,16,48,48, - 255,224,12,23,46,13,1,0,0,192,3,192,7,0,12,0, - 16,0,0,0,255,224,48,32,48,32,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,16,48,48,255,224,12,22,44,13,1,0,14,0,27,0, - 48,128,64,64,0,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,12,21,42,13,1,0,32,128, - 97,128,32,128,0,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,8,23,23,8,255,0,96,240, - 56,12,2,0,63,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,63,7,23,23,8,1,0,6,14,56,112,64, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,8,22,22,8,0,0,56,108,194,129,0,126,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,126,8,21, - 21,8,0,0,195,195,130,0,126,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,126,14,17,34,16,1,0,127, - 128,176,224,48,48,48,24,48,24,48,12,48,12,48,12,255, - 12,48,12,48,12,48,12,48,24,48,24,48,48,48,96,255, - 128,16,22,44,18,1,0,0,16,7,176,9,224,16,192,0, - 0,240,63,48,12,56,12,60,12,52,12,54,12,51,12,51, - 12,49,140,48,204,48,204,48,108,48,60,48,60,48,28,48, - 28,252,12,14,23,46,16,1,0,24,0,28,0,7,0,3, - 128,0,128,0,0,7,192,24,96,48,48,96,24,96,24,64, - 12,192,12,192,12,192,12,192,12,192,12,192,8,96,24,96, - 16,48,48,24,96,15,128,14,23,46,16,1,0,0,96,0, - 240,1,192,3,0,4,0,0,0,7,192,24,96,48,48,96, - 24,96,24,64,12,192,12,192,12,192,12,192,12,192,12,192, - 8,96,24,96,16,48,48,24,96,15,128,14,22,44,16,1, - 0,3,128,4,192,8,96,16,32,0,0,7,192,24,96,48, - 48,96,24,96,24,64,12,192,12,192,12,192,12,192,12,192, - 12,192,8,96,24,96,16,48,48,24,96,15,128,14,22,44, - 16,1,0,0,32,15,48,19,224,32,128,0,0,7,192,24, - 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, - 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,14, - 21,42,16,1,0,24,96,24,96,16,64,0,0,7,192,24, - 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, - 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,9, - 9,18,11,1,3,193,128,99,0,54,0,28,0,28,0,28, - 0,54,0,99,0,193,128,14,18,36,16,1,255,7,204,24, - 120,48,48,32,120,96,120,64,220,193,204,193,140,195,12,199, - 12,198,12,204,8,104,24,120,16,48,48,120,96,207,128,128, - 0,16,23,46,18,1,0,12,0,30,0,7,0,1,192,0, - 64,0,0,252,63,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,24,24, - 24,12,48,7,224,16,23,46,18,1,0,0,48,0,112,1, - 192,3,128,2,0,0,0,252,63,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,24,24,24,12,48,7,224,16,22,44,18,1,0,1, - 128,2,64,4,32,8,16,0,0,252,63,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,24,24,24,12,48,7,224,16,21,42,18,1, - 0,12,48,12,48,8,32,0,0,252,63,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,24,24,24,12,48,7,224,15,23,46,16,0, - 0,0,48,0,112,0,192,3,128,2,0,0,0,240,62,56, - 12,24,24,28,24,14,48,6,32,7,96,3,192,3,192,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,7,224,12, - 17,34,14,1,0,252,0,48,0,48,0,63,128,48,224,48, - 96,48,48,48,48,48,48,48,48,48,48,48,96,56,192,55, - 128,48,0,48,0,252,0,14,20,40,15,1,0,3,192,12, - 224,24,112,16,48,48,48,48,48,48,96,49,192,51,0,54, - 0,54,0,55,128,51,224,48,248,48,60,48,28,50,12,50, - 12,51,24,243,240,11,20,40,12,1,0,48,0,120,0,24, - 0,12,0,4,0,2,0,0,0,0,0,31,0,97,128,225, - 128,1,128,1,128,31,128,121,128,225,128,193,128,193,128,199, - 128,121,224,11,20,40,12,1,0,1,128,3,128,3,0,6, - 0,4,0,8,0,0,0,0,0,31,0,97,128,225,128,1, - 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, - 224,11,19,38,12,1,0,12,0,30,0,19,0,33,128,64, - 192,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, - 128,121,128,225,128,193,128,193,128,199,128,121,224,11,18,36, - 12,1,0,24,64,60,128,71,0,0,0,0,0,0,0,31, - 0,97,128,225,128,1,128,1,128,31,128,121,128,225,128,193, - 128,193,128,199,128,121,224,11,18,36,12,1,0,97,128,97, - 128,97,128,0,0,0,0,0,0,31,0,97,128,225,128,1, - 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, - 224,11,19,38,12,1,0,14,0,11,0,27,0,27,0,14, - 0,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, - 128,121,128,225,128,193,128,193,128,199,128,121,224,17,12,36, - 19,1,0,31,62,0,97,195,0,97,193,128,193,129,128,15, - 255,128,57,128,0,97,128,0,193,128,0,193,128,0,193,193, - 0,198,227,0,120,124,0,10,18,36,12,1,250,15,192,48, - 192,96,128,64,0,192,0,192,0,192,0,192,0,224,0,96, - 64,120,192,63,0,12,0,4,0,7,0,3,0,2,0,28, - 0,10,20,40,12,1,0,48,0,56,0,24,0,12,0,6, - 0,2,0,0,0,0,0,15,0,49,128,96,192,64,192,255, - 192,192,0,192,0,192,0,224,0,96,64,48,128,31,0,10, - 20,40,12,1,0,1,192,1,128,3,0,2,0,4,0,12, - 0,0,0,0,0,15,0,49,128,96,192,64,192,255,192,192, - 0,192,0,192,0,224,0,96,64,48,128,31,0,10,19,38, - 12,1,0,6,0,15,0,25,0,48,128,32,64,0,0,0, - 0,15,0,49,128,96,192,64,192,255,192,192,0,192,0,192, - 0,224,0,96,64,48,128,31,0,10,18,36,12,1,0,32, - 128,48,192,32,128,0,0,0,0,0,0,15,0,49,128,96, - 192,64,192,255,192,192,0,192,0,192,0,224,0,96,64,48, - 128,31,0,7,20,20,7,0,0,192,224,112,48,24,8,0, - 0,24,120,24,24,24,24,24,24,24,24,24,126,7,20,20, - 7,1,0,14,12,24,16,48,96,0,0,48,240,48,48,48, - 48,48,48,48,48,48,252,8,19,19,7,0,0,24,60,100, - 194,129,0,0,24,120,24,24,24,24,24,24,24,24,24,126, - 8,18,18,7,0,0,130,195,130,0,0,0,24,120,24,24, - 24,24,24,24,24,24,24,126,11,19,38,13,1,0,24,0, - 60,224,7,128,31,0,49,128,0,192,0,192,15,192,49,224, - 96,224,64,96,192,96,192,96,192,96,192,64,224,192,96,192, - 49,128,30,0,14,18,36,15,1,0,12,32,31,64,35,128, - 0,0,0,0,0,0,113,224,178,48,52,48,56,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,12,20, - 40,14,1,0,56,0,24,0,12,0,4,0,6,0,3,0, - 0,0,0,0,15,128,48,192,96,96,64,112,192,48,192,48, - 192,48,192,48,224,32,96,96,48,192,31,0,12,20,40,14, - 1,0,0,192,1,128,3,128,3,0,6,0,4,0,0,0, - 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, - 192,48,224,32,96,96,48,192,31,0,12,19,38,14,1,0, - 6,0,15,0,25,128,16,128,32,64,0,0,0,0,15,128, - 48,192,96,96,64,112,192,48,192,48,192,48,192,48,224,32, - 96,96,48,192,31,0,12,18,36,14,1,0,28,96,62,64, - 35,128,0,0,0,0,0,0,15,128,48,192,96,96,64,112, - 192,48,192,48,192,48,192,48,224,32,96,96,48,192,31,0, - 12,18,36,14,1,0,48,192,48,192,48,192,0,0,0,0, - 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, - 192,48,224,32,96,96,48,192,31,0,9,9,18,11,1,3, - 12,0,12,0,0,0,0,0,255,128,0,0,0,0,12,0, - 12,0,12,14,28,14,1,255,0,16,15,176,49,224,96,224, - 65,240,195,48,198,48,198,48,204,48,248,32,112,96,120,192, - 223,0,128,0,14,20,40,14,0,0,28,0,12,0,6,0, - 3,0,1,0,1,128,0,0,0,0,48,48,240,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,112,56,188, - 31,48,14,20,40,14,0,0,0,96,0,224,0,192,1,128, - 3,0,2,0,0,0,0,0,48,48,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,112,56,188,31,48, - 14,19,38,14,0,0,3,0,7,128,4,192,8,96,16,32, - 0,0,0,0,48,48,240,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,112,56,188,31,48,14,18,36,14, - 0,0,24,96,24,96,24,96,0,0,0,0,0,0,48,48, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,112,56,188,31,48,14,26,52,13,255,250,0,112,0,96, - 0,224,0,192,1,128,1,0,0,0,0,0,124,60,24,24, - 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, - 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0, - 12,26,52,14,1,250,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,224,56,96,48,48,48,48, - 48,48,48,48,48,48,48,32,48,96,56,64,55,128,48,0, - 48,0,48,0,48,0,48,0,252,0,14,24,48,13,255,250, - 12,48,12,48,8,32,0,0,0,0,0,0,124,60,24,24, - 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, - 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 16 - Calculated Max Values w=11 h=25 x= 2 y= 9 dx=13 dy= 0 ascent=21 len=50 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =16 descent= 0 - X Font ascent =16 descent= 0 - Max Font ascent =21 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17n[539] U8G_SECTION(".progmem.u8g_font_gdr17n") = { - 0,40,38,242,247,16,0,0,0,0,42,57,0,21,252,16, - 0,10,12,24,12,1,9,12,0,12,0,140,0,204,192,119, - 128,30,0,30,0,119,128,204,192,12,128,12,0,12,0,10, - 9,18,11,1,3,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,4,7,7,6,1,252,112,240,48, - 48,32,96,64,7,1,1,9,1,6,254,3,4,4,6,2, - 255,96,224,224,192,11,25,50,13,1,252,0,96,0,96,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,6,0,6, - 0,6,0,12,0,12,0,12,0,24,0,24,0,48,0,48, - 0,48,0,96,0,96,0,224,0,192,0,192,0,11,16,32, - 13,1,0,15,0,49,128,96,192,64,192,64,224,192,96,192, - 96,192,96,192,96,192,96,192,96,192,64,96,64,96,192,49, - 128,30,0,9,16,32,13,2,0,12,0,60,0,252,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,255,128,10,16,32,13,1,0,15, - 0,49,128,96,192,96,192,0,192,0,192,1,128,1,128,3, - 0,6,0,12,0,28,0,24,0,48,64,96,64,255,192,10, - 16,32,13,1,0,30,0,99,0,97,128,193,128,1,128,3, - 0,6,0,31,0,3,128,1,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,1,128,3,128,7, - 128,5,128,13,128,25,128,17,128,49,128,97,128,65,128,255, - 224,1,128,1,128,1,128,1,128,15,224,10,16,32,13,1, - 0,63,192,32,0,32,0,32,0,96,0,96,0,127,0,67, - 128,1,192,0,192,0,192,0,192,0,192,1,128,193,128,62, - 0,11,16,32,13,1,0,3,128,14,0,24,0,48,0,96, - 0,96,0,207,0,241,192,192,224,192,96,192,96,192,96,96, - 96,96,64,48,128,31,0,11,16,32,13,1,0,127,224,64, - 192,128,192,0,128,1,128,1,128,3,0,3,0,6,0,6, - 0,4,0,12,0,12,0,24,0,24,0,48,0,11,16,32, - 13,1,0,31,0,113,128,224,192,224,192,224,192,241,128,63, - 0,15,128,51,192,96,224,192,96,192,96,192,96,192,64,96, - 128,31,0,11,17,34,13,1,255,31,0,49,128,96,192,192, - 192,192,96,192,96,192,96,224,96,113,224,30,96,0,224,0, - 192,0,192,1,128,3,0,14,0,48,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=22 h=27 x= 2 y=14 dx=23 dy= 0 ascent=22 len=66 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17r[3380] U8G_SECTION(".progmem.u8g_font_gdr17r") = { - 0,40,38,242,247,17,4,64,9,46,32,127,250,22,250,21, - 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, - 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, - 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, - 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, - 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, - 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, - 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, - 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, - 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, - 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, - 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, - 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, - 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, - 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, - 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, - 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, - 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, - 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, - 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, - 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, - 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, - 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, - 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, - 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, - 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, - 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, - 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, - 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, - 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, - 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, - 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, - 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, - 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, - 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, - 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, - 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, - 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, - 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, - 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, - 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, - 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, - 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, - 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, - 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, - 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, - 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, - 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, - 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, - 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, - 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, - 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, - 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, - 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, - 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, - 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, - 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, - 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, - 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, - 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, - 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, - 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, - 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, - 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, - 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, - 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, - 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, - 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, - 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, - 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, - 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, - 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, - 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, - 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, - 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, - 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, - 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, - 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, - 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, - 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, - 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, - 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, - 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, - 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, - 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, - 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, - 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, - 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, - 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, - 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, - 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, - 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, - 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, - 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, - 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, - 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, - 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, - 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, - 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, - 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, - 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, - 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, - 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, - 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, - 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, - 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, - 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, - 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, - 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, - 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, - 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, - 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, - 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, - 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, - 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, - 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, - 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, - 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, - 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, - 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, - 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, - 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, - 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, - 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, - 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, - 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, - 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, - 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, - 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, - 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, - 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, - 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, - 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, - 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, - 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, - 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, - 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, - 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, - 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, - 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, - 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, - 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, - 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, - 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, - 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, - 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, - 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, - 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, - 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, - 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, - 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, - 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, - 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, - 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, - 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, - 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, - 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=19 dx=27 dy= 0 ascent=27 len=81 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =27 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20[9119] U8G_SECTION(".progmem.u8g_font_gdr20") = { - 0,47,44,240,246,20,4,220,11,144,32,255,248,27,247,25, - 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, - 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, - 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, - 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, - 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, - 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, - 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, - 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, - 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, - 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, - 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, - 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, - 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, - 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, - 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, - 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, - 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, - 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, - 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, - 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, - 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, - 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, - 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, - 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, - 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, - 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, - 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, - 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, - 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, - 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, - 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, - 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, - 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, - 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, - 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, - 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, - 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, - 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, - 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, - 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, - 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, - 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, - 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, - 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, - 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, - 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, - 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, - 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, - 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, - 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, - 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, - 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, - 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, - 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, - 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, - 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, - 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, - 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, - 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, - 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, - 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, - 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, - 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, - 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, - 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, - 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, - 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, - 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, - 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, - 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, - 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, - 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, - 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, - 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, - 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, - 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, - 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, - 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, - 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, - 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, - 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, - 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, - 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, - 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, - 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, - 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, - 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, - 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, - 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, - 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, - 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, - 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, - 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, - 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, - 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, - 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, - 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, - 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, - 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, - 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, - 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, - 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, - 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, - 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, - 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, - 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, - 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, - 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, - 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, - 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, - 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, - 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, - 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, - 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, - 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, - 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, - 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, - 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, - 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, - 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, - 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, - 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, - 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, - 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, - 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, - 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, - 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, - 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, - 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, - 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, - 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, - 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, - 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, - 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, - 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, - 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, - 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, - 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, - 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, - 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, - 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, - 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, - 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, - 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, - 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, - 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, - 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, - 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, - 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, - 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, - 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, - 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, - 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, - 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, - 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, - 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, - 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, - 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, - 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, - 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, - 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, - 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, - 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, - 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, - 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, - 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, - 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, - 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, - 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, - 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, - 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, - 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, - 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, - 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, - 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, - 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, - 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, - 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, - 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, - 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, - 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, - 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, - 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, - 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, - 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, - 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, - 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, - 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, - 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, - 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, - 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, - 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, - 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, - 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, - 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, - 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, - 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,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,7,0,0,4,24, - 24,9,2,247,112,240,240,224,0,0,32,96,96,96,96,96, - 96,96,96,96,112,112,112,112,112,112,112,64,12,20,40,15, - 2,255,6,0,6,0,6,0,15,224,54,224,102,96,102,0, - 198,0,198,0,198,0,198,0,198,0,198,0,230,32,118,48, - 63,192,31,128,6,0,6,0,6,0,13,19,38,15,1,0, - 7,224,8,112,16,48,16,32,48,32,48,0,48,0,48,0, - 48,0,255,0,48,0,48,0,48,0,48,0,48,8,32,24, - 96,48,127,240,131,240,11,10,20,15,2,4,192,96,127,192, - 49,192,96,192,96,192,96,192,113,192,63,128,64,64,128,32, - 16,19,38,15,255,0,240,63,56,28,28,24,28,56,14,48, - 6,112,7,96,3,192,3,192,1,128,1,128,63,252,1,128, - 1,128,1,128,1,128,1,128,1,128,15,240,2,32,32,7, - 3,250,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 128,0,0,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,11,22,44,15,2,0,31,128,49,192,96,128,96,0, - 112,0,120,0,62,0,111,128,199,192,193,224,192,224,224,96, - 240,96,124,96,63,192,15,128,3,192,1,192,64,192,64,192, - 96,128,63,0,9,4,8,13,2,17,97,128,227,128,227,128, - 195,0,21,20,60,24,1,0,1,252,0,6,3,0,24,0, - 192,48,0,96,48,124,96,97,134,48,99,0,48,194,0,24, - 198,0,24,198,0,24,198,0,24,198,0,24,199,0,24,99, - 0,48,97,198,48,48,248,96,48,0,96,24,0,192,6,3, - 0,1,252,0,7,10,10,8,1,9,56,204,140,28,108,204, - 220,238,0,254,12,14,28,16,1,0,6,16,4,48,8,96, - 24,96,48,192,113,192,227,128,227,128,113,192,48,192,24,96, - 8,96,4,48,6,16,13,6,12,15,1,3,255,248,0,24, - 0,24,0,24,0,24,0,24,9,1,2,11,1,8,255,128, - 10,11,22,11,1,11,30,0,97,0,126,128,147,64,151,64, - 156,64,148,64,146,64,105,128,33,0,30,0,10,1,2,16, - 3,19,255,192,7,7,7,11,2,12,60,110,198,198,198,236, - 120,12,14,28,13,1,2,6,0,6,0,6,0,6,0,6, - 0,255,240,6,0,6,0,6,0,6,0,4,0,0,0,0, - 0,255,224,8,11,11,10,1,10,62,99,195,3,6,6,12, - 24,50,97,255,9,12,24,11,0,9,31,0,51,128,97,128, - 1,128,3,0,15,0,1,128,1,128,1,128,1,128,195,0, - 62,0,7,7,7,10,3,16,12,30,24,48,48,96,192,15, - 23,46,17,1,248,48,8,240,56,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,56,56,56,120,63,248,55, - 222,51,152,48,0,48,0,48,0,48,0,56,0,56,0,56, - 0,48,0,15,24,48,18,1,252,15,254,48,252,96,216,64, - 216,192,216,192,216,192,216,192,216,224,216,112,216,56,216,15, - 216,0,216,0,216,0,216,0,216,0,216,0,216,0,216,0, - 216,0,216,0,216,0,216,3,254,3,4,4,5,1,9,96, - 224,224,192,5,7,7,7,1,249,48,32,48,120,24,48,224, - 8,11,11,11,2,10,24,248,24,24,24,24,24,24,24,24, - 255,7,10,10,9,1,9,56,108,198,198,198,198,108,56,0, - 254,12,14,28,16,2,0,130,0,65,0,97,128,48,192,56, - 224,28,96,12,112,28,112,30,96,56,224,48,192,97,128,65, - 0,130,0,16,19,38,19,2,0,48,6,240,14,48,12,48, - 24,48,56,48,48,48,96,48,224,48,192,205,130,1,142,3, - 30,6,22,6,38,12,70,24,127,24,134,48,6,96,31,15, - 19,38,18,2,0,48,6,240,12,48,8,48,24,48,48,48, - 48,48,96,48,192,48,192,205,128,1,28,3,102,6,70,4, - 6,12,12,24,24,24,48,48,98,96,254,17,19,57,19,1, - 0,60,3,0,70,6,0,6,4,0,28,12,0,6,24,0, - 6,16,0,6,48,0,142,96,0,120,96,0,0,193,0,1, - 135,0,1,143,0,3,11,0,2,19,0,6,35,0,12,63, - 128,12,67,0,24,3,0,48,15,128,10,24,48,13,2,247, - 14,0,30,0,30,0,28,0,0,0,0,0,0,0,12,0, - 12,0,12,0,12,0,28,0,24,0,48,0,48,0,96,0, - 96,0,192,0,192,64,192,192,192,192,224,128,97,128,62,0, - 19,27,81,19,0,0,6,0,0,15,0,0,7,128,0,1, - 192,0,0,96,0,0,16,0,0,0,0,0,64,0,0,224, - 0,0,224,0,1,224,0,1,240,0,1,176,0,3,48,0, - 3,56,0,3,24,0,6,28,0,6,28,0,6,12,0,15, - 254,0,12,6,0,8,6,0,24,7,0,24,3,0,16,3, - 0,48,3,128,254,15,224,19,27,81,19,0,0,0,8,0, - 0,30,0,0,60,0,0,112,0,1,192,0,1,0,0,0, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,19,27, - 81,19,0,0,0,224,0,1,224,0,1,240,0,3,56,0, - 6,12,0,12,4,0,0,0,0,0,64,0,0,224,0,0, - 224,0,1,224,0,1,240,0,1,176,0,3,48,0,3,56, - 0,3,24,0,6,28,0,6,28,0,6,12,0,15,254,0, - 12,6,0,8,6,0,24,7,0,24,3,0,16,3,0,48, - 3,128,254,15,224,19,26,78,19,0,0,3,132,0,7,230, - 0,4,252,0,8,56,0,0,0,0,0,0,0,0,64,0, - 0,224,0,0,224,0,1,224,0,1,240,0,1,176,0,3, - 48,0,3,56,0,3,24,0,6,28,0,6,28,0,6,12, - 0,15,254,0,12,6,0,8,6,0,24,7,0,24,3,0, - 16,3,0,48,3,128,254,15,224,19,25,75,19,0,0,6, - 12,0,6,12,0,14,28,0,6,12,0,0,0,0,0,64, - 0,0,224,0,0,224,0,1,224,0,1,240,0,1,176,0, - 3,48,0,3,56,0,3,24,0,6,28,0,6,28,0,6, - 12,0,15,254,0,12,6,0,8,6,0,24,7,0,24,3, - 0,16,3,0,48,3,128,254,15,224,19,27,81,19,0,0, - 0,224,0,1,176,0,1,48,0,3,48,0,1,176,0,1, - 224,0,0,0,0,0,64,0,0,224,0,0,224,0,1,224, - 0,1,240,0,1,176,0,3,48,0,3,56,0,3,24,0, - 6,28,0,6,28,0,6,12,0,15,254,0,12,6,0,8, - 6,0,24,7,0,24,3,0,16,3,0,48,3,128,254,15, - 224,23,20,60,25,0,0,3,255,252,0,124,4,0,108,4, - 0,236,4,0,204,0,1,204,0,1,140,0,1,140,0,3, - 140,0,3,255,248,7,12,16,6,12,0,6,12,0,12,12, - 0,12,12,0,28,12,0,24,12,2,24,12,2,48,12,6, - 252,63,254,15,27,54,17,1,249,3,248,12,28,16,8,48, - 0,96,0,96,0,64,0,192,0,192,0,192,0,192,0,192, - 0,192,0,224,0,96,0,112,0,120,2,60,12,31,248,15, - 240,0,128,0,128,1,224,0,224,0,96,0,192,3,0,13, - 27,54,16,1,0,16,0,56,0,28,0,15,0,3,128,0, - 192,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, - 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,24,255,248,13,27,54,16,1, - 0,0,32,0,240,1,224,3,128,7,0,12,0,0,0,255, - 240,48,16,48,16,48,16,48,0,48,0,48,0,48,0,48, - 0,63,224,48,64,48,0,48,0,48,0,48,0,48,0,48, - 8,48,8,48,24,255,248,13,27,54,16,1,0,3,0,7, - 128,15,192,28,192,56,96,32,48,0,0,255,240,48,16,48, - 16,48,16,48,0,48,0,48,0,48,0,48,0,63,224,48, - 64,48,0,48,0,48,0,48,0,48,0,48,8,48,8,48, - 24,255,248,13,25,50,16,1,0,24,48,56,112,56,112,48, - 96,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, - 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,24,255,248,9,27,54,10,255, - 0,96,0,240,0,120,0,28,0,7,0,1,0,0,0,31, - 128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,31,128,8,27,27,10,2,0,6,15,30, - 56,96,128,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,10,27,54,10,0,0,28,0, - 30,0,62,0,115,0,193,128,128,192,0,0,63,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,63,0,10,25,50,10,0,0,193,128,225,192,225,192, - 193,128,0,0,63,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,63,0,18,20,60,19, - 0,0,31,240,0,120,28,0,24,6,0,24,3,0,24,1, - 128,24,1,128,24,1,192,24,0,192,24,0,192,255,128,192, - 24,0,192,24,0,192,24,0,192,24,1,128,24,1,128,24, - 1,128,24,3,0,24,6,0,24,28,0,127,240,0,19,26, - 78,21,1,0,3,132,0,7,230,0,4,124,0,8,56,0, - 0,0,0,0,0,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,27,81,19,1,0,12,0,0,30,0,0,15,0, - 0,3,128,0,0,224,0,0,32,0,0,0,0,3,240,0, - 12,24,0,16,12,0,48,6,0,32,3,0,96,3,0,64, - 3,128,192,1,128,192,1,128,192,1,128,192,1,128,192,1, - 128,192,1,128,224,1,0,96,3,0,96,2,0,48,6,0, - 56,4,0,12,24,0,7,224,0,17,27,81,19,1,0,0, - 24,0,0,60,0,0,120,0,0,224,0,1,128,0,2,0, - 0,0,0,0,3,240,0,12,24,0,16,12,0,48,6,0, - 32,3,0,96,3,0,64,3,128,192,1,128,192,1,128,192, - 1,128,192,1,128,192,1,128,192,1,128,224,1,0,96,3, - 0,96,2,0,48,6,0,56,4,0,12,24,0,7,224,0, - 17,27,81,19,1,0,1,192,0,1,224,0,3,224,0,7, - 48,0,12,24,0,8,12,0,0,0,0,3,240,0,12,24, - 0,16,12,0,48,6,0,32,3,0,96,3,0,64,3,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,192, - 1,128,224,1,0,96,3,0,96,2,0,48,6,0,56,4, - 0,12,24,0,7,224,0,17,26,78,19,1,0,3,4,0, - 7,204,0,8,248,0,16,112,0,0,0,0,0,0,0,3, - 240,0,12,24,0,16,12,0,48,6,0,32,3,0,96,3, - 0,64,3,128,192,1,128,192,1,128,192,1,128,192,1,128, - 192,1,128,192,1,128,224,1,0,96,3,0,96,2,0,48, - 6,0,56,4,0,12,24,0,7,224,0,17,25,75,19,1, - 0,12,24,0,14,28,0,14,28,0,12,24,0,0,0,0, - 3,240,0,12,24,0,16,12,0,48,6,0,32,3,0,96, - 3,0,64,3,128,192,1,128,192,1,128,192,1,128,192,1, - 128,192,1,128,192,1,128,224,1,0,96,3,0,96,2,0, - 48,6,0,56,4,0,12,24,0,7,224,0,11,10,20,13, - 1,4,192,96,96,192,49,128,27,0,14,0,14,0,27,0, - 49,128,96,192,192,96,17,21,63,19,1,255,3,241,128,4, - 31,0,24,14,0,48,30,0,32,31,0,96,63,0,64,59, - 128,192,115,128,192,225,128,192,225,128,193,193,128,195,129,128, - 195,1,128,231,1,0,110,3,0,124,2,0,124,6,0,56, - 4,0,124,24,0,199,224,0,128,0,0,19,27,81,21,1, - 0,6,0,0,15,0,0,7,128,0,1,192,0,0,96,0, - 0,16,0,0,0,0,252,7,224,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,0,24,3,0,28,6,0,14,12,0,3, - 240,0,19,27,81,21,1,0,0,12,0,0,30,0,0,60, - 0,0,112,0,0,192,0,1,0,0,0,0,0,252,7,224, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,0,24,3,0, - 28,6,0,14,12,0,3,240,0,19,27,81,21,1,0,0, - 224,0,0,240,0,1,240,0,3,152,0,6,12,0,4,6, - 0,0,0,0,252,7,224,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,0,24,3,0,28,6,0,14,12,0,3,240,0, - 19,25,75,21,1,0,6,12,0,7,14,0,7,14,0,6, - 12,0,0,0,0,252,7,224,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,0,24,3,0,28,6,0,14,12,0,3,240, - 0,18,27,81,19,0,0,0,12,0,0,30,0,0,60,0, - 0,112,0,0,192,0,1,0,0,0,0,0,240,31,192,56, - 7,0,28,6,0,12,12,0,14,12,0,7,24,0,7,24, - 0,3,48,0,3,176,0,1,224,0,1,224,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,7,248,0,15,20,40,17,1,0,254,0, - 48,0,48,0,48,0,63,224,48,120,48,28,48,14,48,6, - 48,6,48,6,48,6,48,12,48,12,52,56,51,224,48,0, - 48,0,48,0,254,0,16,24,48,18,1,0,1,224,6,56, - 8,24,16,28,16,12,48,12,48,12,48,28,48,56,48,240, - 49,192,49,128,49,128,49,192,48,240,48,124,48,62,48,15, - 48,7,48,3,49,3,49,3,49,134,241,248,13,23,46,15, - 1,0,56,0,56,0,28,0,14,0,6,0,3,0,1,0, - 0,0,15,192,48,224,112,96,96,96,0,96,0,96,15,224, - 63,224,126,96,240,96,224,96,192,96,192,96,65,224,62,120, - 13,23,46,15,1,0,0,224,0,224,1,192,1,128,3,0, - 2,0,4,0,0,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,13,23,46,15,1,0,7,0,7,0,15,128, - 29,192,24,192,48,96,32,32,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,21,42,15,1,0,28,16, - 63,32,35,192,64,0,0,0,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,21,42,15,1,0,48,96, - 56,112,48,96,48,96,0,0,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,22,44,15,1,0,7,128, - 13,128,12,192,12,128,13,128,15,0,0,0,15,192,48,224, - 112,96,96,96,0,96,0,96,15,224,63,224,126,96,240,96, - 224,96,192,96,192,96,65,224,62,120,19,15,45,22,2,0, - 31,143,0,113,176,192,96,224,192,224,224,96,128,192,96,0, - 192,96,7,255,192,28,192,0,112,192,0,96,192,0,192,192, - 0,192,224,0,193,96,64,194,112,224,124,31,0,12,22,44, - 14,1,249,7,224,24,96,32,32,96,0,64,0,192,0,192, - 0,192,0,192,0,192,0,224,0,112,16,120,96,63,192,31, - 128,2,0,2,0,7,128,3,128,1,128,3,0,12,0,13, - 23,46,15,1,0,24,0,60,0,12,0,6,0,3,0,1, - 0,1,128,0,0,7,192,24,96,32,48,96,24,64,24,192, - 24,255,240,192,0,192,0,192,0,224,0,96,0,112,8,56, - 48,15,192,13,23,46,15,1,0,0,96,0,240,0,192,1, - 128,1,128,3,0,6,0,0,0,7,192,24,96,32,48,96, - 24,64,24,192,24,255,240,192,0,192,0,192,0,224,0,96, - 0,112,8,56,48,15,192,13,23,46,15,1,0,3,0,7, - 128,15,128,12,192,24,96,16,32,32,16,0,0,7,192,24, - 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, - 0,224,0,96,0,112,8,56,48,15,192,13,21,42,15,1, - 0,24,48,56,112,56,112,48,96,0,0,0,0,7,192,24, - 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, - 0,224,0,96,0,112,8,56,48,15,192,7,23,23,9,0, - 0,224,224,112,48,24,12,4,0,24,120,24,24,24,24,24, - 24,24,24,24,24,24,24,126,8,23,23,9,1,0,7,7, - 14,12,24,48,32,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,252,9,23,46,9,0,0,28,0,28,0,62, - 0,119,0,99,0,193,128,128,128,0,0,24,0,120,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,126,0,10,21,42,9,0,0,193, - 128,193,128,227,192,193,128,0,0,0,0,24,0,120,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,126,0,14,23,46,16,1,0,12, - 0,62,24,3,240,3,192,30,224,48,96,0,112,0,56,7, - 152,24,120,32,60,96,28,64,12,192,12,192,12,192,12,192, - 12,192,8,224,24,96,16,112,48,56,96,15,128,16,21,42, - 18,1,0,7,8,15,144,24,224,16,0,0,0,0,0,112, - 112,177,136,54,12,56,12,56,12,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,252,63,14,23,46, - 16,1,0,28,0,28,0,14,0,6,0,3,0,1,128,0, - 128,0,0,7,192,24,112,32,56,96,24,64,28,192,12,192, - 12,192,12,192,12,192,12,224,8,96,24,112,16,56,32,15, - 192,14,23,46,16,1,0,0,112,0,112,0,224,1,192,1, - 128,3,0,2,0,0,0,7,192,24,112,32,56,96,24,64, - 28,192,12,192,12,192,12,192,12,192,12,224,8,96,24,112, - 16,56,32,15,192,14,23,46,16,1,0,3,128,3,128,7, - 192,14,192,12,96,24,48,48,16,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,14, - 8,31,144,17,224,32,0,0,0,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,24, - 48,24,48,56,112,24,48,0,0,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,11,10,20,13,1,4,6, - 0,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, - 0,6,0,14,16,32,16,1,255,7,204,24,120,32,120,96, - 120,64,252,193,220,193,140,195,140,199,12,198,12,236,8,124, - 24,120,16,120,32,207,192,128,0,15,23,46,17,1,0,28, - 0,28,0,14,0,7,0,3,0,1,128,0,128,0,0,48, - 24,240,120,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,56,24,222,15,24,15,23,46, - 17,1,0,0,112,0,112,0,224,0,192,1,128,1,0,2, - 0,0,0,48,24,240,120,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,56,24,222,15, - 24,15,23,46,17,1,0,3,128,3,128,7,192,14,224,12, - 96,24,48,16,16,0,0,48,24,240,120,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 56,24,222,15,24,15,21,42,17,1,0,24,48,28,56,24, - 48,24,48,0,0,0,0,48,24,240,120,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 56,24,222,15,24,16,31,62,16,255,248,0,28,0,28,0, - 56,0,112,0,96,0,192,0,128,0,0,126,31,28,6,28, - 4,12,12,14,12,14,8,6,24,7,24,3,16,3,48,3, - 176,1,160,1,224,1,224,0,192,0,192,0,128,1,128,1, - 128,3,0,126,0,124,0,248,0,15,32,64,17,1,248,16, - 0,240,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,240,51,24,52,28,56,12,48,14,48,6,48,6,48, - 6,48,6,48,6,48,4,48,12,56,8,60,16,55,224,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,254,0,16, - 29,58,16,255,248,6,12,14,28,14,28,6,12,0,0,0, - 0,126,31,28,6,28,4,12,12,14,12,14,8,6,24,7, - 24,3,16,3,48,3,176,1,160,1,224,1,224,0,192,0, - 192,0,128,1,128,1,128,3,0,126,0,124,0,248,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 19 - Calculated Max Values w=13 h=30 x= 2 y=11 dx=15 dy= 0 ascent=25 len=60 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent= 0 - X Font ascent =19 descent= 0 - Max Font ascent =25 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20n[619] U8G_SECTION(".progmem.u8g_font_gdr20n") = { - 0,47,44,240,246,19,0,0,0,0,42,57,0,25,251,19, - 0,12,13,26,14,1,11,6,0,6,0,134,0,102,48,242, - 240,27,128,6,0,27,128,114,240,230,48,6,32,6,0,6, - 0,12,11,22,13,1,3,6,0,6,0,6,0,6,0,6, - 0,255,240,6,0,6,0,6,0,6,0,6,0,4,8,8, - 7,2,251,112,240,48,48,48,32,64,192,9,1,2,11,1, - 8,255,128,4,4,4,7,2,0,112,240,240,224,13,30,60, - 15,1,251,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,1,192,1,128,1,128,3,128,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,24,0,56, - 0,48,0,48,0,112,0,96,0,96,0,224,0,192,0,13, - 19,38,15,1,0,7,128,24,192,32,96,96,48,64,48,64, - 56,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 16,96,16,96,48,48,32,24,64,15,128,11,19,38,15,2, - 0,2,0,30,0,126,0,134,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,15,0,127,224,11,19,38,15,2,0,15,128,48, - 192,96,96,96,96,96,96,0,96,0,96,0,192,0,192,1, - 128,3,0,7,0,6,0,12,0,24,0,48,32,112,32,224, - 32,255,224,11,19,38,15,2,0,31,0,113,128,96,192,224, - 192,0,192,0,192,1,128,3,0,15,0,3,192,0,192,0, - 224,0,96,0,96,0,96,0,96,128,192,193,128,127,0,12, - 19,38,15,1,0,0,64,1,192,3,192,3,192,6,192,12, - 192,12,192,24,192,48,192,48,192,96,192,224,192,255,240,0, - 192,0,192,0,192,0,192,0,192,7,240,11,19,38,15,2, - 0,63,224,32,0,32,0,96,0,96,0,96,0,96,0,127, - 0,97,192,0,192,0,96,0,96,0,96,0,96,0,96,0, - 64,128,192,193,128,63,0,12,20,40,15,2,0,0,192,7, - 0,14,0,24,0,48,0,112,0,96,0,96,0,207,128,240, - 224,224,96,192,112,192,48,192,48,192,48,96,48,96,32,32, - 96,48,64,15,128,12,19,38,15,2,0,255,240,128,96,128, - 96,0,224,0,192,0,192,1,128,1,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,56,0,48, - 0,12,19,38,15,2,0,31,128,48,192,96,96,224,96,224, - 96,224,96,248,192,127,128,31,128,31,192,49,224,96,112,192, - 112,192,48,192,48,192,32,96,32,112,64,31,128,12,20,40, - 15,2,255,15,128,49,192,32,224,64,96,192,112,192,48,192, - 48,192,48,192,48,96,112,48,176,31,48,0,96,0,96,0, - 96,0,192,1,128,7,0,30,0,48,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=16 dx=27 dy= 0 ascent=26 len=80 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x=-4 y=-8 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =26 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20r[4232] U8G_SECTION(".progmem.u8g_font_gdr20r") = { - 0,47,44,240,246,20,4,220,11,144,32,127,248,26,248,25, - 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, - 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, - 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, - 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, - 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, - 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, - 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, - 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, - 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, - 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, - 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, - 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, - 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, - 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, - 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, - 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, - 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, - 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, - 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, - 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, - 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, - 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, - 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, - 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, - 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, - 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, - 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, - 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, - 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, - 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, - 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, - 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, - 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, - 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, - 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, - 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, - 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, - 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, - 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, - 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, - 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, - 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, - 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, - 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, - 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, - 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, - 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, - 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, - 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, - 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, - 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, - 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, - 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, - 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, - 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, - 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, - 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, - 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, - 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, - 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, - 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, - 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, - 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, - 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, - 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, - 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, - 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, - 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, - 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, - 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, - 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, - 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, - 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, - 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, - 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, - 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, - 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, - 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, - 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, - 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, - 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, - 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, - 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, - 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, - 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, - 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, - 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, - 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, - 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, - 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, - 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, - 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, - 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, - 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, - 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, - 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, - 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, - 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, - 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, - 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, - 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, - 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, - 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, - 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, - 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, - 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, - 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, - 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, - 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, - 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, - 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, - 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, - 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, - 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, - 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, - 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, - 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, - 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, - 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, - 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, - 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, - 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, - 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, - 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, - 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, - 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, - 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, - 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, - 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, - 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, - 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, - 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, - 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, - 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, - 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, - 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, - 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, - 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, - 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, - 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, - 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, - 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, - 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, - 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, - 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, - 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, - 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, - 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, - 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, - 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, - 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, - 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, - 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, - 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, - 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, - 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, - 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, - 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, - 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, - 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, - 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, - 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, - 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, - 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, - 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, - 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, - 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, - 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, - 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, - 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, - 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, - 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, - 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, - 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, - 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, - 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, - 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, - 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, - 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, - 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, - 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, - 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, - 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, - 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, - 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, - 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, - 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, - 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, - 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, - 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, - 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, - 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, - 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, - 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, - 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, - 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, - 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=33 h=41 x= 4 y=23 dx=34 dy= 0 ascent=34 len=132 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x=-4 y=-11 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =34 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25[13042] U8G_SECTION(".progmem.u8g_font_gdr25") = { - 0,59,57,236,242,25,6,209,16,163,32,255,247,34,245,31, - 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, - 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, - 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, - 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, - 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, - 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, - 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, - 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, - 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, - 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, - 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, - 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, - 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, - 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, - 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, - 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, - 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, - 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, - 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, - 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, - 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, - 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, - 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, - 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, - 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, - 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, - 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, - 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, - 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, - 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, - 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, - 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, - 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, - 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, - 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, - 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, - 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, - 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, - 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, - 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, - 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, - 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, - 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, - 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, - 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, - 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, - 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, - 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, - 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, - 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, - 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, - 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, - 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, - 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, - 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, - 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, - 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, - 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, - 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, - 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, - 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, - 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, - 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, - 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, - 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, - 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, - 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, - 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, - 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, - 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, - 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, - 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, - 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, - 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, - 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, - 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, - 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, - 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, - 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, - 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, - 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, - 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, - 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, - 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, - 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, - 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, - 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, - 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, - 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, - 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, - 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, - 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, - 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, - 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, - 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, - 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, - 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, - 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, - 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, - 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, - 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, - 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, - 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, - 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, - 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, - 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, - 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, - 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, - 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, - 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, - 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, - 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, - 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, - 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, - 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, - 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, - 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, - 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, - 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, - 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, - 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, - 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, - 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, - 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, - 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, - 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, - 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, - 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, - 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, - 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, - 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, - 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, - 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, - 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, - 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, - 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, - 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, - 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, - 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, - 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, - 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, - 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, - 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, - 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, - 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, - 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, - 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, - 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, - 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, - 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, - 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, - 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, - 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, - 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, - 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, - 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, - 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, - 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, - 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, - 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, - 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, - 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, - 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, - 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, - 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, - 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, - 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, - 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, - 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, - 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, - 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, - 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, - 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, - 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, - 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, - 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, - 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, - 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, - 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, - 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, - 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, - 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, - 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, - 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, - 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, - 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, - 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, - 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, - 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, - 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, - 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, - 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, - 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, - 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, - 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, - 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, - 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, - 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, - 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, - 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, - 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, - 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, - 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, - 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, - 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, - 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, - 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, - 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, - 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, - 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, - 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, - 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, - 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, - 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, - 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, - 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, - 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, - 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, - 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, - 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, - 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, - 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, - 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, - 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, - 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, - 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, - 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, - 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, - 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, - 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, - 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, - 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, - 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, - 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, - 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, - 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, - 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, - 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, - 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, - 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, - 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, - 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, - 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, - 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, - 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, - 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, - 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, - 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, - 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, - 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, - 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, - 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, - 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, - 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, - 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, - 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, - 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, - 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, - 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, - 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, - 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, - 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, - 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, - 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, - 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, - 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, - 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, - 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, - 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, - 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, - 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, - 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, - 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, - 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, - 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, - 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, - 192,128,63,225,0,99,255,0,192,254,0,128,56,0,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,9,0,0,5,29,29,11,3,245,112,248,248,248,112, - 0,0,96,96,96,96,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,240,240,240,192,15,25,50,19,2,255,1,128, - 1,128,1,128,1,240,7,252,31,254,57,140,113,132,113,128, - 97,128,225,128,225,128,225,128,225,128,225,128,241,128,113,128, - 121,134,61,140,63,248,31,240,3,192,1,128,1,128,1,128, - 17,25,75,19,1,255,0,252,0,3,255,0,7,15,0,14, - 7,0,12,6,0,12,2,0,28,2,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,127,224,0,255,224,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,24, - 0,128,24,1,0,24,3,0,63,223,0,127,255,0,192,255, - 0,13,13,26,19,3,5,192,24,239,184,127,240,56,224,96, - 112,96,48,96,48,96,48,120,240,63,224,111,176,192,24,128, - 8,21,24,72,19,255,0,120,7,248,252,1,248,62,1,224, - 31,3,128,15,3,128,7,135,0,7,135,0,3,206,0,1, - 206,0,1,252,0,0,248,0,0,248,0,0,112,0,0,112, - 0,15,255,192,31,255,128,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,248,0,3,254,0,3, - 41,41,9,3,248,96,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,128,0,0,0,64,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,192,15,28, - 56,19,2,0,7,224,15,248,28,120,56,24,56,8,56,0, - 60,0,31,0,31,128,63,224,99,248,224,252,224,124,224,30, - 240,30,120,14,62,14,31,14,15,220,3,248,0,248,0,60, - 32,28,32,28,48,28,60,56,63,240,7,192,12,5,10,16, - 2,22,96,48,224,112,224,112,224,112,192,96,25,25,100,29, - 2,0,0,127,0,0,3,255,224,0,7,128,240,0,14,0, - 56,0,28,31,28,0,56,127,206,0,112,225,199,0,97,192, - 131,0,99,128,3,0,195,0,1,128,199,0,1,128,199,0, - 1,128,199,0,1,128,199,0,1,128,199,0,1,128,199,128, - 1,128,99,128,3,0,99,192,67,0,113,241,135,0,56,255, - 14,0,28,60,28,0,14,0,56,0,7,128,240,0,3,255, - 224,0,0,127,0,0,8,14,14,10,1,11,28,60,70,198, - 6,30,102,198,198,206,119,0,255,255,15,18,36,19,2,0, - 2,6,6,4,12,12,12,24,24,56,56,112,112,224,241,224, - 225,192,225,192,241,224,112,240,56,112,24,56,12,24,12,12, - 6,4,2,6,17,8,24,19,1,4,255,255,128,255,255,128, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,0,11,2,4,13,1,9,127,224,255,224,13,14,28,14, - 1,14,15,128,63,224,112,96,127,48,200,152,136,136,143,8, - 138,8,137,8,201,152,92,240,112,112,63,224,15,128,13,2, - 4,20,3,23,127,248,255,248,8,9,9,14,3,15,28,62, - 103,231,231,231,230,124,56,15,18,36,16,1,3,3,128,3, - 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,0,0,0,0,0,127,252,255, - 252,11,15,30,14,1,12,15,128,31,192,49,224,96,224,64, - 224,0,192,1,192,1,128,3,0,6,0,12,0,24,32,48, - 32,127,224,255,224,11,16,32,13,1,11,31,0,63,128,99, - 192,225,192,1,192,1,128,7,0,31,128,1,192,0,224,0, - 224,0,224,0,224,193,192,127,128,30,0,8,9,9,13,4, - 20,7,15,30,28,56,48,112,96,192,20,27,81,21,1,247, - 12,1,128,252,7,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,30,7,128,31,31,128,31,251,144, - 27,243,224,25,225,128,24,0,0,24,0,0,24,0,0,28, - 0,0,28,0,0,28,0,0,30,0,0,30,0,0,24,0, - 0,20,30,90,22,1,251,3,255,240,28,63,192,48,59,128, - 112,59,128,96,59,128,224,59,128,224,59,128,224,59,128,224, - 59,128,240,59,128,112,59,128,120,59,128,62,59,128,31,251, - 128,7,251,128,0,59,128,0,59,128,0,59,128,0,59,128, - 0,59,128,0,59,128,0,59,128,0,59,128,0,59,128,0, - 59,128,0,59,128,0,59,128,0,59,128,0,127,192,1,255, - 240,3,5,5,6,1,11,96,224,224,224,192,7,9,9,9, - 1,247,24,16,56,60,62,14,12,56,224,10,15,30,13,2, - 12,6,0,62,0,254,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,255,192,9, - 14,28,11,1,11,30,0,63,0,103,0,67,128,193,128,193, - 128,193,128,193,128,225,0,115,0,126,0,60,0,255,128,255, - 128,15,18,36,19,3,0,129,0,193,128,96,192,112,96,48, - 112,56,48,28,56,30,28,15,30,15,30,30,28,28,56,56, - 56,48,112,112,224,96,192,193,128,129,0,19,24,72,23,2, - 0,12,0,192,252,1,224,28,1,128,28,3,128,28,3,0, - 28,6,0,28,14,0,28,12,0,28,24,0,28,56,0,28, - 48,0,255,224,0,0,224,0,0,192,192,1,193,192,1,130, - 192,3,2,192,7,4,192,6,8,192,12,16,192,28,31,224, - 24,63,224,48,0,192,112,3,224,20,24,72,24,2,0,12, - 0,96,252,0,192,28,0,192,28,1,128,28,3,0,28,3, - 0,28,6,0,28,14,0,28,12,0,28,24,0,28,56,0, - 255,176,0,0,97,224,0,99,240,0,196,112,1,204,112,1, - 128,96,3,0,224,7,0,192,6,1,128,12,3,32,28,6, - 16,24,15,240,48,31,240,20,25,75,23,1,0,30,0,0, - 63,0,48,103,128,96,195,128,224,3,0,192,6,1,128,31, - 129,128,3,195,0,0,231,0,0,230,0,97,204,0,63,220, - 0,15,24,0,0,48,0,0,48,96,0,96,224,0,225,96, - 0,195,96,1,130,96,3,132,96,3,12,112,6,31,240,14, - 0,96,12,0,96,24,1,240,14,29,58,18,2,245,3,128, - 7,192,7,192,7,192,3,128,0,0,0,0,3,128,3,128, - 3,128,3,128,3,128,7,0,7,0,14,0,28,0,60,0, - 56,0,112,0,112,0,224,0,224,12,224,28,224,28,224,28, - 240,56,120,112,63,224,31,128,23,34,102,24,0,0,3,0, - 0,7,128,0,7,224,0,1,240,0,0,120,0,0,60,0, - 0,14,0,0,2,0,0,0,0,0,8,0,0,56,0,0, - 60,0,0,60,0,0,108,0,0,110,0,0,110,0,0,198, - 0,0,199,0,0,199,0,1,131,0,1,131,128,1,131,128, - 3,1,128,3,255,192,3,255,192,6,0,224,6,0,224,6, - 0,224,12,0,112,12,0,112,12,0,112,24,0,56,28,0, - 120,255,1,254,23,34,102,24,0,0,0,1,128,0,3,192, - 0,7,192,0,15,0,0,30,0,0,56,0,0,96,0,0, - 192,0,0,0,0,0,8,0,0,56,0,0,60,0,0,60, - 0,0,108,0,0,110,0,0,110,0,0,198,0,0,199,0, - 0,199,0,1,131,0,1,131,128,1,131,128,3,1,128,3, - 255,192,3,255,192,6,0,224,6,0,224,6,0,224,12,0, - 112,12,0,112,12,0,112,24,0,56,28,0,120,255,1,254, - 23,33,99,24,0,0,0,56,0,0,124,0,0,254,0,1, - 231,0,1,131,128,3,1,192,6,0,128,0,0,0,0,8, - 0,0,56,0,0,60,0,0,60,0,0,108,0,0,110,0, - 0,110,0,0,198,0,0,199,0,0,199,0,1,131,0,1, - 131,128,1,131,128,3,1,128,3,255,192,3,255,192,6,0, - 224,6,0,224,6,0,224,12,0,112,12,0,112,12,0,112, - 24,0,56,28,0,120,255,1,254,23,32,96,24,0,0,0, - 224,64,1,248,192,3,253,128,6,31,0,4,6,0,0,0, - 0,0,0,0,0,8,0,0,56,0,0,60,0,0,60,0, - 0,108,0,0,110,0,0,110,0,0,198,0,0,199,0,0, - 199,0,1,131,0,1,131,128,1,131,128,3,1,128,3,255, - 192,3,255,192,6,0,224,6,0,224,6,0,224,12,0,112, - 12,0,112,12,0,112,24,0,56,28,0,120,255,1,254,23, - 31,93,24,0,0,3,129,192,3,129,192,3,129,192,3,1, - 128,3,1,128,0,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,23,34,102,24,0,0,0,62,0,0,126,0,0,199, - 0,0,195,0,0,195,0,0,230,0,0,252,0,0,48,0, - 0,0,0,0,8,0,0,56,0,0,60,0,0,60,0,0, - 108,0,0,110,0,0,110,0,0,198,0,0,199,0,0,199, - 0,1,131,0,1,131,128,1,131,128,3,1,128,3,255,192, - 3,255,192,6,0,224,6,0,224,6,0,224,12,0,112,12, - 0,112,12,0,112,24,0,56,28,0,120,255,1,254,30,25, - 100,31,0,0,1,255,255,240,0,63,255,240,0,25,192,48, - 0,25,192,16,0,57,192,16,0,49,192,0,0,113,192,0, - 0,97,192,0,0,97,192,0,0,225,192,0,0,255,255,192, - 1,255,255,192,1,193,192,128,1,129,192,0,3,129,192,0, - 3,1,192,0,7,1,192,0,7,1,192,0,6,1,192,0, - 14,1,192,0,12,1,192,4,28,1,192,12,28,1,192,24, - 60,3,255,248,255,15,255,248,18,34,102,21,1,247,0,126, - 0,3,255,192,7,7,192,14,1,128,28,0,0,56,0,0, - 48,0,0,112,0,0,112,0,0,96,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,240,0,0,112,0,0,120,0,0,56,0,64,60,0,192, - 30,3,128,15,254,0,7,252,0,1,240,0,0,64,0,0, - 96,0,0,240,0,0,120,0,0,56,0,0,48,0,0,224, - 0,3,128,0,18,34,102,20,1,0,12,0,0,62,0,0, - 63,0,0,15,128,0,3,192,0,0,224,0,0,112,0,0, - 16,0,0,0,0,255,255,0,63,255,0,28,3,0,28,1, - 0,28,1,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,31,252,0,31,252,0,28,8,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,64,28,0,192,28,1,128,63,255,128,255,255,128, - 18,34,102,20,1,0,0,12,0,0,30,0,0,62,0,0, - 120,0,0,240,0,1,192,0,3,0,0,6,0,0,0,0, - 0,255,255,0,63,255,0,28,3,0,28,1,0,28,1,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,31, - 252,0,31,252,0,28,8,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,64, - 28,0,192,28,1,128,63,255,128,255,255,128,18,33,99,20, - 1,0,1,192,0,3,224,0,7,240,0,7,56,0,12,28, - 0,24,14,0,16,2,0,0,0,0,255,255,0,63,255,0, - 28,3,0,28,1,0,28,1,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,31,252,0,31,252,0,28,8, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,64,28,0,192,28,1,128,63, - 255,128,255,255,128,18,31,93,20,1,0,28,14,0,28,14, - 0,28,14,0,28,14,0,24,12,0,0,0,0,255,255,0, - 63,255,0,28,3,0,28,1,0,28,1,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,31,252,0,31,252, - 0,28,8,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,64,28,0,192,28, - 1,128,63,255,128,255,255,128,11,34,68,12,255,0,96,0, - 248,0,252,0,62,0,15,0,3,128,1,192,0,64,0,0, - 63,224,15,128,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, - 63,224,11,34,68,12,1,0,0,192,1,224,3,224,7,128, - 15,0,28,0,48,0,96,0,0,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,12,33,66,12, - 0,0,14,0,31,0,63,128,57,192,96,224,192,112,128,32, - 0,0,127,192,31,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,127,192,12,31,62,12,0,0,224,112,224,112,224,112, - 224,112,192,96,0,0,127,192,31,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,31,0,127,192,21,25,75,24,1,0,31,248, - 0,255,255,0,28,15,128,28,3,192,28,1,224,28,0,240, - 28,0,112,28,0,112,28,0,120,28,0,56,28,0,56,255, - 240,56,255,224,56,28,0,56,28,0,56,28,0,56,28,0, - 112,28,0,112,28,0,112,28,0,224,28,1,224,28,3,192, - 28,15,128,63,254,0,255,248,0,24,32,96,26,1,0,0, - 240,64,1,248,96,3,252,192,2,31,128,6,6,0,0,0, - 0,0,0,0,248,1,255,60,0,124,30,0,56,30,0,56, - 31,0,56,31,128,56,29,128,56,29,192,56,28,224,56,28, - 96,56,28,112,56,28,56,56,28,28,56,28,28,56,28,14, - 56,28,7,56,28,7,56,28,3,184,28,3,248,28,1,248, - 28,0,248,28,0,248,28,0,120,62,0,56,255,128,24,21, - 34,102,24,1,0,3,0,0,7,128,0,15,192,0,3,224, - 0,0,240,0,0,56,0,0,28,0,0,4,0,0,0,0, - 0,252,0,3,255,0,7,7,128,12,3,192,24,1,224,56, - 0,224,112,0,112,112,0,112,96,0,120,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,224,0,56,224,0,56, - 240,0,48,112,0,112,112,0,96,120,0,224,60,0,192,30, - 1,128,15,7,0,7,254,0,1,248,0,21,34,102,24,1, - 0,0,3,0,0,7,128,0,15,192,0,31,0,0,60,0, - 0,112,0,0,224,0,0,128,0,0,0,0,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,96,120,0,224,60,0,192,30,1,128,15,7, - 0,7,254,0,1,248,0,21,33,99,24,1,0,0,120,0, - 0,252,0,0,252,0,1,206,0,3,135,0,6,1,128,4, - 0,128,0,0,0,0,252,0,3,255,0,7,7,128,12,3, - 192,24,1,224,56,0,224,112,0,112,112,0,112,96,0,120, - 224,0,56,224,0,56,224,0,56,224,0,56,224,0,56,224, - 0,56,224,0,56,240,0,48,112,0,112,112,0,96,120,0, - 224,60,0,192,30,1,128,15,7,0,7,254,0,1,248,0, - 21,32,96,24,1,0,1,224,128,3,240,192,7,249,128,6, - 63,0,12,12,0,0,0,0,0,0,0,0,252,0,3,255, - 0,7,7,128,12,3,192,24,1,224,56,0,224,112,0,112, - 112,0,112,96,0,120,224,0,56,224,0,56,224,0,56,224, - 0,56,224,0,56,224,0,56,224,0,56,240,0,48,112,0, - 112,112,0,96,120,0,224,60,0,192,30,1,128,15,7,0, - 7,254,0,1,248,0,21,31,93,24,1,0,3,1,128,7, - 3,128,7,3,128,7,3,128,2,1,0,0,0,0,0,252, - 0,3,255,0,7,7,128,12,3,192,24,1,224,56,0,224, - 112,0,112,112,0,112,96,0,120,224,0,56,224,0,56,224, - 0,56,224,0,56,224,0,56,224,0,56,224,0,56,240,0, - 48,112,0,112,112,0,96,120,0,224,60,0,192,30,1,128, - 15,7,0,7,254,0,1,248,0,13,12,24,16,2,5,192, - 48,224,120,112,224,57,192,31,128,15,0,15,0,31,128,57, - 192,112,224,224,112,192,56,21,26,78,24,1,255,0,252,56, - 3,255,112,7,7,224,12,3,224,24,1,224,56,3,240,48, - 7,240,112,7,112,96,14,120,224,28,56,224,28,56,224,56, - 56,224,112,56,224,112,56,224,224,56,225,192,56,243,128,48, - 115,128,112,119,0,96,126,0,224,60,0,192,62,1,128,63, - 7,0,119,254,0,225,248,0,128,0,0,24,34,102,26,1, - 0,1,128,0,3,192,0,3,224,0,0,240,0,0,120,0, - 0,28,0,0,6,0,0,3,0,0,0,0,255,129,255,62, - 0,124,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,112,14,0,112,14,0,112,15,0,224,7,193, - 192,3,255,128,0,126,0,24,34,102,26,1,0,0,1,128, - 0,3,224,0,7,224,0,15,128,0,30,0,0,56,0,0, - 112,0,0,64,0,0,0,0,255,129,255,62,0,124,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 112,14,0,112,14,0,112,15,0,224,7,193,192,3,255,128, - 0,126,0,24,33,99,26,1,0,0,28,0,0,62,0,0, - 127,0,0,231,0,1,193,128,3,128,192,2,0,64,0,0, - 0,255,129,255,62,0,124,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,112,14,0,112,14,0,112, - 15,0,224,7,193,192,3,255,128,0,126,0,24,31,93,26, - 1,0,1,128,192,3,129,192,3,129,192,3,129,192,1,0, - 128,0,0,0,255,129,255,62,0,124,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,14,0,112, - 14,0,112,15,0,224,7,193,192,3,255,128,0,126,0,23, - 34,102,24,0,0,0,1,128,0,3,192,0,7,192,0,15, - 0,0,30,0,0,56,0,0,96,0,0,192,0,0,0,0, - 248,1,254,60,0,120,30,0,96,14,0,224,7,0,192,7, - 129,192,3,129,128,3,195,128,1,195,0,0,231,0,0,238, - 0,0,126,0,0,124,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,124,0,1,255,0,18,25,75,21,1, - 0,255,128,0,60,0,0,28,0,0,28,0,0,31,248,0, - 31,254,0,28,31,0,28,7,128,28,3,128,28,3,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, - 128,28,7,128,28,15,0,29,254,0,28,248,0,28,0,0, - 28,0,0,28,0,0,62,0,0,255,128,0,20,30,90,23, - 1,0,0,124,0,1,255,0,3,15,128,6,3,128,14,3, - 192,12,1,192,12,1,192,28,1,192,28,1,192,28,3,128, - 28,7,128,28,31,0,28,120,0,28,240,0,28,224,0,28, - 224,0,28,240,0,28,124,0,28,63,0,28,31,192,28,7, - 224,28,1,224,28,0,240,28,0,112,28,128,112,28,128,112, - 28,192,96,28,224,224,60,255,192,252,63,0,16,29,58,18, - 2,0,56,0,60,0,28,0,14,0,14,0,7,0,3,128, - 1,128,0,192,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, - 2,0,0,56,0,120,0,112,0,224,0,192,1,192,3,128, - 3,0,6,0,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, - 2,0,3,128,7,128,7,192,15,224,30,224,28,112,56,56, - 48,24,96,12,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,27,54,18, - 2,0,14,4,31,12,63,152,99,240,64,224,0,0,0,0, - 0,0,0,0,3,224,31,240,56,120,112,56,240,56,192,56, - 0,56,0,120,7,248,28,56,112,56,96,56,224,56,224,56, - 224,120,241,185,127,63,60,24,16,27,54,18,2,0,48,24, - 48,24,112,56,112,56,48,24,0,0,0,0,0,0,0,0, - 3,224,31,240,56,120,112,56,240,56,192,56,0,56,0,120, - 7,248,28,56,112,56,96,56,224,56,224,56,224,120,241,185, - 127,63,60,24,16,28,56,18,2,0,3,192,7,224,12,96, - 12,96,24,96,12,96,15,192,7,128,0,0,0,0,3,224, - 31,240,56,120,112,56,240,56,192,56,0,56,0,120,7,248, - 28,56,112,56,96,56,224,56,224,56,224,120,241,185,127,63, - 60,24,24,18,54,28,2,0,3,225,240,15,243,252,56,119, - 30,112,60,14,224,60,7,240,56,7,192,56,7,1,255,255, - 15,255,254,30,56,0,120,56,0,112,56,0,224,56,0,224, - 60,2,224,92,3,241,159,14,127,15,248,60,3,224,15,27, - 54,17,2,247,1,248,7,254,28,28,56,12,48,4,112,0, - 96,0,224,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,8,120,24,63,240,31,224,15,128,2,0,2,0,3,128, - 7,192,1,192,1,128,7,0,28,0,14,29,58,18,2,0, - 28,0,60,0,30,0,14,0,7,0,3,128,1,128,0,192, - 0,64,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, - 0,56,0,60,0,120,0,112,0,224,0,192,1,128,1,0, - 3,0,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, - 1,128,3,192,7,224,7,224,14,112,28,56,24,24,48,12, - 32,4,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,27,54,18,2,0, - 24,12,56,28,56,28,56,28,48,24,0,0,0,0,0,0, - 0,0,3,192,15,240,28,120,48,56,112,28,96,28,224,28, - 255,252,255,248,224,0,224,0,224,0,240,0,112,4,120,12, - 60,56,31,240,7,192,10,29,58,11,0,0,224,0,240,0, - 120,0,56,0,28,0,12,0,14,0,6,0,3,0,0,0, - 0,0,6,0,126,0,30,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,30,0,127,192,10,29,58,11,1,0,1,192,3,192, - 3,128,7,128,7,0,14,0,12,0,24,0,16,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,13,29,58,11,255,0,7,0,7,128, - 15,128,31,192,29,192,56,224,112,112,96,48,192,24,0,0, - 0,0,3,0,63,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,15,0,63,224,12,27,54,11,0,0,192,96,224,112, - 224,112,192,96,192,96,0,0,0,0,0,0,0,0,6,0, - 126,0,30,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,30,0, - 127,192,16,28,56,20,2,0,6,0,63,6,7,159,1,248, - 3,224,15,112,28,56,0,28,0,28,0,14,3,206,15,254, - 28,127,48,31,112,15,96,15,224,7,224,7,224,7,224,7, - 224,6,224,6,240,14,112,12,120,28,60,56,31,240,7,192, - 21,27,81,22,1,0,1,192,128,7,225,0,7,243,0,12, - 126,0,8,28,0,0,0,0,0,0,0,0,0,0,0,0, - 0,12,15,0,252,63,128,60,99,192,29,129,192,29,1,192, - 30,1,192,30,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,62,3,192,255,143,248,16,29,58,20,2,0,28,0,30, - 0,14,0,7,0,3,128,3,128,1,192,0,192,0,96,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,29,58,20,2,0,0,28,0, - 60,0,56,0,112,0,112,0,224,0,192,1,128,3,0,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,29,58,20,2,0,1,192,3, - 192,3,224,7,240,7,112,14,56,28,28,24,12,48,6,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,27,54,20,2,0,7,2,15, - 134,31,204,49,248,32,112,0,0,0,0,0,0,0,0,3, - 224,15,248,28,60,48,30,112,14,96,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,6,112,14,120,12,62,56,31, - 240,7,192,16,27,54,20,2,0,24,12,24,12,28,14,24, - 12,24,12,0,0,0,0,0,0,0,0,3,224,15,248,28, - 60,48,30,112,14,96,15,224,7,224,7,224,7,224,7,224, - 7,224,7,240,6,112,14,120,12,62,56,31,240,7,192,14, - 14,28,16,1,4,1,128,3,128,3,128,3,0,0,0,0, - 0,127,252,255,252,0,0,0,0,1,128,3,128,3,128,3, - 0,16,20,40,20,2,255,0,1,3,227,15,254,28,60,48, - 30,112,30,96,63,224,103,224,199,224,135,225,135,227,7,230, - 7,252,6,120,14,120,12,60,56,127,240,199,192,128,0,21, - 29,87,21,0,0,7,0,0,7,128,0,3,192,0,1,192, - 0,0,224,0,0,96,0,0,48,0,0,48,0,0,24,0, - 0,0,0,0,0,0,12,0,192,252,15,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,28,1,192,28,3,192, - 28,7,192,30,29,200,15,241,240,7,192,192,21,29,87,21, - 0,0,0,7,0,0,15,128,0,14,0,0,30,0,0,28, - 0,0,56,0,0,48,0,0,96,0,0,64,0,0,0,0, - 0,0,0,12,0,192,252,15,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,28,3,192,28,7,192, - 30,29,200,15,241,240,7,192,192,21,29,87,21,0,0,0, - 112,0,0,120,0,0,248,0,1,252,0,1,222,0,3,142, - 0,7,7,0,6,3,0,12,1,128,0,0,0,0,0,0, - 12,0,192,252,15,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,3,192,28,7,192,30,29,200, - 15,241,240,7,192,192,21,27,81,21,0,0,6,3,0,7, - 3,128,7,3,128,6,3,0,6,3,0,0,0,0,0,0, - 0,0,0,0,0,0,0,12,0,192,252,15,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, - 192,28,7,192,30,29,200,15,241,240,7,192,192,20,38,114, - 20,255,247,0,3,128,0,7,128,0,7,0,0,14,0,0, - 12,0,0,28,0,0,56,0,0,48,0,0,96,0,0,0, - 0,0,0,0,127,131,240,30,0,224,14,0,192,14,0,192, - 7,1,128,7,1,128,7,3,0,3,131,0,3,131,0,1, - 198,0,1,198,0,1,198,0,0,236,0,0,236,0,0,120, - 0,0,120,0,0,120,0,0,48,0,0,48,0,0,96,0, - 0,96,0,0,224,0,1,192,0,67,128,0,127,0,0,254, - 0,0,124,0,0,18,39,117,21,1,247,12,0,0,252,0, - 0,60,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 60,0,28,255,0,29,143,0,31,7,128,30,3,128,28,3, - 192,28,1,192,28,1,192,28,1,192,28,1,192,28,1,192, - 28,1,128,28,1,128,28,3,128,30,3,0,31,134,0,31, - 252,0,28,240,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,62,0,0,255,128,0, - 20,36,108,20,255,247,3,1,128,3,1,128,7,3,128,7, - 3,128,3,1,128,0,0,0,0,0,0,0,0,0,0,0, - 0,127,131,240,30,0,224,14,0,192,14,0,192,7,1,128, - 7,1,128,7,3,0,3,131,0,3,131,0,1,198,0,1, - 198,0,1,198,0,0,236,0,0,236,0,0,120,0,0,120, - 0,0,120,0,0,48,0,0,48,0,0,96,0,0,96,0, - 0,224,0,1,192,0,67,128,0,127,0,0,254,0,0,124, - 0,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=38 x= 3 y=14 dx=19 dy= 0 ascent=31 len=114 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25n[810] U8G_SECTION(".progmem.u8g_font_gdr25n") = { - 0,59,57,236,242,24,0,0,0,0,42,57,0,31,249,24, - 0,16,16,32,18,1,14,1,128,1,128,1,128,97,132,113, - 142,121,159,31,248,7,192,3,192,31,248,121,158,241,142,33, - 134,1,128,1,128,1,128,15,14,28,16,1,4,3,128,3, - 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,6,10,10,9,2,250,60, - 252,60,28,28,24,24,48,32,64,11,2,4,13,1,9,127, - 224,255,224,5,5,5,9,2,255,112,248,248,248,112,17,38, - 114,19,1,249,0,1,128,0,7,0,0,7,0,0,7,0, - 0,14,0,0,14,0,0,14,0,0,28,0,0,28,0,0, - 56,0,0,56,0,0,56,0,0,112,0,0,112,0,0,112, - 0,0,224,0,0,224,0,1,192,0,1,192,0,1,192,0, - 3,128,0,3,128,0,3,128,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,28,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,192,0,0,17,24,72,19,1,0,3,224,0,15, - 248,0,28,60,0,56,30,0,48,14,0,112,7,0,96,7, - 0,96,7,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,3,0,112, - 7,0,112,7,0,120,6,0,60,14,0,30,28,0,15,248, - 0,7,224,0,14,24,48,19,3,0,1,128,7,128,63,128, - 255,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,15,224,127,252,14,24,48,19,2,0, - 3,224,15,248,24,120,48,60,112,28,96,28,224,28,0,28, - 0,24,0,56,0,48,0,112,0,224,1,192,1,128,3,128, - 7,0,14,0,28,0,24,4,48,4,112,12,255,252,255,252, - 15,24,48,19,1,0,3,224,15,248,28,120,56,60,112,28, - 112,28,0,28,0,24,0,48,0,96,3,224,3,248,0,60, - 0,28,0,14,0,14,0,14,0,14,0,14,0,28,64,28, - 240,120,63,240,15,192,16,24,48,19,1,0,0,24,0,120, - 0,120,0,248,1,248,1,184,3,56,7,56,6,56,12,56, - 28,56,24,56,48,56,112,56,96,56,255,255,255,254,0,56, - 0,56,0,56,0,56,0,56,0,124,3,255,15,24,48,19, - 1,0,0,4,31,252,31,248,24,0,24,0,24,0,48,0, - 48,0,48,0,63,224,63,248,48,124,64,28,0,30,0,14, - 0,14,0,14,0,14,0,14,0,28,64,28,240,120,63,240, - 15,192,15,24,48,19,2,0,0,56,0,240,3,192,7,0, - 14,0,28,0,56,0,112,0,112,0,99,224,239,248,248,60, - 240,28,224,30,224,14,224,14,224,14,224,14,112,14,112,12, - 56,28,60,56,31,240,7,192,15,23,46,19,2,0,127,254, - 255,254,192,12,192,12,128,28,0,24,0,56,0,48,0,112, - 0,96,0,96,0,224,0,192,1,192,1,128,3,128,3,0, - 7,0,7,0,14,0,14,0,28,0,56,0,15,24,48,19, - 2,0,15,192,63,240,120,120,112,60,240,28,224,28,224,28, - 240,24,120,48,62,96,31,192,7,240,24,120,48,60,112,30, - 96,14,224,14,224,14,224,14,224,12,112,28,124,56,63,240, - 15,192,15,25,50,19,2,255,7,192,15,240,56,120,48,60, - 112,28,96,28,224,14,224,14,224,14,224,14,240,14,112,30, - 120,62,63,238,15,140,0,28,0,28,0,24,0,56,0,112, - 0,224,1,192,7,128,30,0,48,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=33 h=41 x= 3 y=20 dx=34 dy= 0 ascent=33 len=132 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =33 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25r[6239] U8G_SECTION(".progmem.u8g_font_gdr25r") = { - 0,59,57,236,242,25,6,209,16,163,32,127,247,33,247,31, - 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, - 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, - 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, - 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, - 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, - 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, - 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, - 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, - 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, - 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, - 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, - 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, - 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, - 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, - 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, - 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, - 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, - 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, - 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, - 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, - 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, - 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, - 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, - 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, - 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, - 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, - 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, - 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, - 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, - 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, - 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, - 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, - 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, - 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, - 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, - 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, - 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, - 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, - 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, - 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, - 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, - 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, - 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, - 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, - 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, - 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, - 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, - 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, - 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, - 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, - 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, - 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, - 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, - 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, - 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, - 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, - 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, - 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, - 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, - 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, - 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, - 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, - 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, - 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, - 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, - 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, - 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, - 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, - 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, - 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, - 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, - 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, - 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, - 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, - 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, - 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, - 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, - 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, - 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, - 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, - 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, - 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, - 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, - 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, - 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, - 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, - 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, - 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, - 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, - 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, - 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, - 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, - 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, - 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, - 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, - 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, - 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, - 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, - 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, - 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, - 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, - 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, - 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, - 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, - 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, - 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, - 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, - 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, - 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, - 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, - 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, - 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, - 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, - 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, - 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, - 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, - 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, - 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, - 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, - 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, - 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, - 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, - 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, - 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, - 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, - 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, - 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, - 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, - 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, - 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, - 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, - 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, - 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, - 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, - 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, - 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, - 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, - 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, - 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, - 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, - 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, - 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, - 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, - 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, - 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, - 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, - 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, - 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, - 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, - 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, - 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, - 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, - 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, - 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, - 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, - 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, - 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, - 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, - 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, - 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, - 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, - 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, - 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, - 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, - 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, - 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, - 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, - 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, - 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, - 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, - 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, - 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, - 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, - 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, - 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, - 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, - 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, - 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, - 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, - 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, - 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, - 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, - 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, - 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, - 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, - 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, - 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, - 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, - 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, - 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, - 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, - 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, - 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, - 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, - 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, - 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, - 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, - 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, - 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, - 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, - 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, - 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, - 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, - 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, - 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, - 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, - 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, - 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, - 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, - 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, - 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, - 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, - 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, - 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, - 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, - 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, - 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, - 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, - 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, - 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, - 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, - 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, - 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, - 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, - 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, - 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, - 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, - 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, - 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, - 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, - 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, - 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, - 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, - 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, - 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, - 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, - 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, - 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, - 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, - 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, - 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, - 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, - 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, - 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, - 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, - 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, - 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, - 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, - 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, - 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, - 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, - 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, - 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, - 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, - 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, - 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, - 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, - 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, - 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, - 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, - 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, - 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, - 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, - 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, - 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, - 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, - 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, - 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, - 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, - 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, - 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, - 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, - 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, - 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, - 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, - 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, - 192,128,63,225,0,99,255,0,192,254,0,128,56,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=40 h=49 x= 5 y=28 dx=41 dy= 0 ascent=42 len=195 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x=-5 y=-13 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =42 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30[18369] U8G_SECTION(".progmem.u8g_font_gdr30") = { - 0,71,68,232,239,30,9,231,23,124,32,255,245,42,243,38, - 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, - 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, - 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, - 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, - 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, - 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, - 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, - 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, - 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, - 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, - 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, - 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, - 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, - 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, - 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, - 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, - 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, - 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, - 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, - 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, - 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, - 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, - 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, - 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, - 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, - 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, - 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, - 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, - 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, - 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, - 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, - 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, - 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, - 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, - 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, - 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, - 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, - 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, - 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, - 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, - 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, - 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, - 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, - 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, - 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, - 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, - 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, - 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, - 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, - 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, - 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, - 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, - 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, - 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, - 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, - 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, - 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, - 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, - 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, - 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, - 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, - 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, - 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, - 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, - 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, - 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, - 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, - 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, - 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, - 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, - 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, - 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, - 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, - 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, - 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, - 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, - 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, - 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, - 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, - 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, - 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, - 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, - 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, - 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, - 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, - 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, - 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, - 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, - 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, - 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, - 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, - 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, - 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, - 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, - 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, - 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, - 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, - 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, - 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, - 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, - 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, - 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, - 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, - 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, - 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, - 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, - 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, - 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, - 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, - 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, - 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, - 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, - 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, - 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, - 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, - 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, - 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, - 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, - 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, - 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, - 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, - 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, - 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, - 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, - 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, - 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, - 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, - 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, - 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, - 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, - 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, - 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, - 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, - 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, - 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, - 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, - 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, - 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, - 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, - 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, - 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, - 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, - 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, - 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, - 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, - 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, - 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, - 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, - 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, - 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, - 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, - 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, - 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, - 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, - 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, - 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, - 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, - 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, - 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, - 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, - 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, - 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, - 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, - 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, - 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, - 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, - 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, - 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, - 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, - 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, - 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, - 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, - 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, - 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, - 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, - 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, - 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, - 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, - 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, - 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, - 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, - 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, - 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, - 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, - 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, - 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, - 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, - 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, - 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, - 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, - 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, - 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, - 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, - 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, - 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, - 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, - 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, - 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, - 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, - 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, - 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, - 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, - 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, - 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, - 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, - 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, - 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, - 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, - 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, - 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, - 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, - 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, - 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, - 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, - 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, - 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, - 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, - 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, - 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, - 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, - 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, - 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, - 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, - 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, - 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, - 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, - 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, - 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, - 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, - 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, - 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, - 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, - 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, - 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, - 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, - 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, - 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, - 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, - 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, - 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, - 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, - 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, - 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, - 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, - 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, - 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, - 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, - 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, - 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, - 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, - 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, - 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, - 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, - 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, - 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, - 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, - 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, - 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, - 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, - 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, - 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, - 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, - 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, - 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, - 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, - 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, - 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, - 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, - 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, - 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, - 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, - 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, - 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, - 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, - 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, - 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, - 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, - 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, - 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, - 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, - 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, - 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, - 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, - 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, - 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, - 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, - 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, - 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, - 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, - 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, - 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, - 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, - 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, - 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, - 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, - 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, - 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, - 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, - 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, - 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, - 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, - 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, - 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, - 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, - 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, - 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, - 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, - 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, - 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, - 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, - 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, - 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, - 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, - 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, - 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, - 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, - 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, - 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, - 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, - 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, - 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, - 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, - 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, - 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, - 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, - 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, - 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, - 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, - 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, - 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, - 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, - 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, - 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, - 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, - 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, - 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, - 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, - 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, - 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, - 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, - 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, - 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, - 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, - 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, - 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, - 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, - 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, - 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, - 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, - 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, - 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, - 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, - 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, - 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, - 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, - 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, - 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, - 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, - 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, - 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, - 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, - 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, - 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, - 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, - 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, - 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, - 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, - 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, - 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, - 255,224,96,127,192,64,31,128,192,15,0,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,11, - 0,0,6,35,35,13,3,243,56,124,252,252,252,248,112,0, - 16,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 120,120,120,120,120,124,124,124,124,120,96,18,30,90,23,2, - 255,0,96,0,0,96,0,0,96,0,0,96,0,0,255,0, - 3,255,128,15,255,192,30,99,128,60,97,128,56,97,0,120, - 96,0,112,96,0,240,96,0,240,96,0,240,96,0,240,96, - 0,240,96,0,240,96,0,248,96,0,120,96,0,124,96,192, - 62,97,128,63,231,128,31,255,0,15,252,0,3,248,0,0, - 96,0,0,96,0,0,96,0,0,96,0,19,29,87,23,2, - 0,0,127,0,1,255,224,3,131,224,7,1,192,6,0,192, - 14,0,192,14,0,192,30,0,64,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,255,248,0,255,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 28,0,0,28,0,32,28,0,32,24,0,96,56,0,224,63, - 255,224,127,255,224,192,255,224,15,15,30,23,4,7,128,2, - 192,6,103,204,63,248,56,56,112,28,96,12,96,12,96,12, - 96,12,48,24,56,56,127,252,231,206,192,6,25,28,112,23, - 254,0,126,0,255,128,254,0,63,128,31,0,30,0,15,128, - 60,0,7,192,120,0,3,192,112,0,3,224,240,0,1,224, - 224,0,0,241,224,0,0,241,192,0,0,123,192,0,0,127, - 128,0,0,63,0,0,0,63,0,0,0,30,0,0,0,30, - 0,0,15,255,252,0,15,255,252,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,127,128,0,1,255, - 224,0,4,49,49,11,4,246,112,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,224,0,0, - 0,0,0,112,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,224,19,34,102,24,2,0,1, - 248,0,7,254,0,30,31,0,60,7,0,60,6,0,60,0, - 0,62,0,0,63,0,0,31,128,0,31,224,0,31,248,0, - 63,252,0,121,255,0,240,127,128,240,63,192,240,15,192,240, - 7,224,248,3,224,124,1,224,126,1,224,63,129,192,31,225, - 192,7,251,128,3,255,0,0,255,0,0,63,128,0,15,128, - 16,7,128,16,7,128,24,7,128,28,7,0,30,15,0,31, - 254,0,3,240,0,15,5,10,19,2,27,112,14,240,30,240, - 30,240,30,224,28,30,30,120,34,2,0,0,31,224,0,0, - 255,252,0,1,224,30,0,7,128,7,128,14,0,1,192,28, - 3,240,224,24,15,252,96,48,60,60,48,112,112,8,56,96, - 224,0,24,97,224,0,24,193,224,0,12,195,192,0,12,195, - 192,0,12,195,192,0,12,195,192,0,12,195,192,0,12,195, - 192,0,12,195,224,0,12,97,224,0,24,97,240,8,24,112, - 248,12,56,48,124,48,48,24,63,224,96,28,15,128,224,14, - 0,1,192,7,128,7,128,1,224,30,0,0,255,252,0,0, - 31,224,0,11,15,30,12,1,14,15,0,31,0,51,128,97, - 128,97,128,3,128,29,128,97,128,193,128,193,128,239,128,253, - 224,121,128,255,192,255,192,18,21,63,23,2,0,0,128,64, - 1,128,192,3,1,128,7,3,0,14,7,0,14,14,0,28, - 30,0,60,60,0,120,60,0,240,120,0,240,120,0,248,120, - 0,120,60,0,60,60,0,28,30,0,14,14,0,14,7,0, - 7,3,0,3,1,128,1,128,192,0,128,64,20,10,30,23, - 1,4,127,255,240,255,255,240,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,96, - 14,2,4,16,1,11,127,252,255,248,15,17,34,17,1,17, - 7,192,31,240,56,56,96,12,79,132,196,70,132,66,132,194, - 135,130,133,130,132,130,196,198,68,100,106,60,56,56,31,240, - 7,192,16,2,4,24,4,28,127,255,255,254,11,11,22,17, - 3,18,15,0,63,192,113,224,96,224,224,224,224,224,224,224, - 224,192,241,128,127,0,62,0,17,22,66,20,1,3,0,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,0,0,0,0,0,0,0,0,0,127,255,128,255,255,128, - 13,17,34,17,2,15,7,192,31,240,112,248,96,120,224,120, - 0,120,0,112,0,224,1,224,3,192,7,128,15,0,30,0, - 60,8,120,24,255,248,255,248,14,18,36,16,1,14,15,128, - 63,224,113,240,224,240,192,240,0,240,1,224,7,128,15,224, - 1,240,0,120,0,60,0,60,0,60,128,120,224,248,63,224, - 15,128,10,10,20,15,5,25,7,128,7,192,15,0,15,0, - 30,0,60,0,56,0,112,0,96,0,192,0,25,33,132,26, - 1,245,6,0,24,0,254,0,248,0,126,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,31,0, - 248,0,31,1,248,0,31,131,248,0,31,255,121,0,27,254, - 127,128,25,252,126,0,24,240,56,0,24,0,0,0,24,0, - 0,0,24,0,0,0,28,0,0,0,28,0,0,0,28,0, - 0,0,30,0,0,0,30,0,0,0,31,0,0,0,31,0, - 0,0,24,0,0,0,23,36,108,26,1,250,1,255,254,15, - 255,254,31,7,252,60,7,112,120,7,112,120,7,112,240,7, - 112,240,7,112,240,7,112,240,7,112,240,7,112,248,7,112, - 120,7,112,124,7,112,62,7,112,31,135,112,15,255,112,1, - 255,112,0,7,112,0,7,112,0,7,112,0,7,112,0,7, - 112,0,7,112,0,7,112,0,7,112,0,7,112,0,7,112, - 0,7,112,0,7,112,0,7,112,0,7,112,0,7,112,0, - 7,112,0,31,248,0,63,254,4,5,5,7,2,14,112,240, - 240,240,224,8,10,10,11,2,246,24,56,48,62,127,15,15, - 30,120,224,13,17,34,16,2,15,3,128,31,128,255,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,15,192,127,248,12,15,30,14,1, - 14,15,128,63,192,49,224,96,96,192,112,192,48,192,48,192, - 48,224,48,224,96,120,192,63,128,31,0,255,240,255,240,18, - 21,63,23,3,0,64,64,0,224,96,0,96,48,0,48,24, - 0,56,28,0,28,14,0,14,15,0,15,7,128,7,135,128, - 7,195,192,3,195,192,7,195,192,7,135,128,15,7,128,30, - 15,0,28,14,0,56,28,0,48,56,0,112,48,0,96,96, - 0,192,64,0,24,29,87,28,2,0,4,0,4,60,0,14, - 204,0,24,12,0,56,12,0,48,12,0,112,12,0,224,12, - 0,192,12,1,192,12,3,128,12,3,0,12,7,0,12,6, - 0,127,142,0,0,28,0,0,24,4,0,56,28,0,112,28, - 0,96,44,0,224,108,1,192,76,1,192,140,3,129,12,3, - 3,12,7,3,255,14,7,254,12,0,12,28,0,12,56,0, - 127,24,29,87,28,2,0,4,0,6,60,0,14,204,0,28, - 12,0,24,12,0,56,12,0,112,12,0,112,12,0,224,12, - 0,192,12,1,192,12,3,128,12,3,0,12,7,0,127,142, - 0,0,14,0,0,28,60,0,24,255,0,57,199,0,115,131, - 0,99,3,0,224,2,1,192,4,1,128,8,3,128,16,7, - 0,32,7,0,65,14,0,129,12,1,255,28,1,255,25,29, - 116,28,1,0,15,128,3,0,31,192,7,0,49,192,14,0, - 112,192,12,0,0,192,28,0,1,128,24,0,15,0,56,0, - 1,192,112,0,0,192,96,0,0,192,224,0,0,193,192,0, - 0,193,128,0,193,195,128,0,127,135,0,0,30,7,0,0, - 0,14,2,0,0,12,14,0,0,28,14,0,0,56,22,0, - 0,48,38,0,0,112,102,0,0,224,198,0,0,224,134,0, - 1,193,134,128,3,131,255,0,3,128,6,0,7,0,6,0, - 6,0,6,0,14,0,63,128,17,35,105,21,2,243,0,224, - 0,1,240,0,3,240,0,3,240,0,3,224,0,1,192,0, - 0,0,0,0,0,0,0,0,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,7,0,0,15,0,0,30,0,0,60,0,0, - 60,0,0,120,0,0,120,0,0,240,0,0,240,3,128,240, - 7,128,240,7,128,240,7,128,248,15,0,120,15,0,126,30, - 0,63,248,0,15,224,0,28,41,164,29,0,0,0,128,0, - 0,1,192,0,0,3,240,0,0,1,248,0,0,0,124,0, - 0,0,31,0,0,0,7,128,0,0,1,192,0,0,0,128, - 0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0, - 0,0,15,0,0,0,15,0,0,0,31,128,0,0,31,128, - 0,0,27,128,0,0,59,192,0,0,57,192,0,0,49,224, - 0,0,113,224,0,0,112,224,0,0,96,240,0,0,224,240, - 0,0,224,112,0,0,192,120,0,1,192,120,0,1,192,56, - 0,1,255,252,0,3,255,252,0,3,128,30,0,3,0,30, - 0,7,0,30,0,7,0,15,0,6,0,15,0,14,0,15, - 0,14,0,7,128,12,0,7,128,62,0,7,192,255,192,63, - 240,28,41,164,29,0,0,0,0,32,0,0,0,56,0,0, - 0,252,0,0,1,248,0,0,3,224,0,0,15,128,0,0, - 30,0,0,0,56,0,0,0,32,0,0,0,0,0,0,0, - 0,0,0,0,2,0,0,0,7,0,0,0,15,0,0,0, - 15,0,0,0,31,128,0,0,31,128,0,0,27,128,0,0, - 59,192,0,0,57,192,0,0,49,224,0,0,113,224,0,0, - 112,224,0,0,96,240,0,0,224,240,0,0,224,112,0,0, - 192,120,0,1,192,120,0,1,192,56,0,1,255,252,0,3, - 255,252,0,3,128,30,0,3,0,30,0,7,0,30,0,7, - 0,15,0,6,0,15,0,14,0,15,0,14,0,7,128,12, - 0,7,128,62,0,7,192,255,192,63,240,28,41,164,29,0, - 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, - 0,0,121,224,0,0,240,240,0,1,192,56,0,1,128,24, - 0,1,0,16,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,28,39,156,29,0,0,0,16,8,0,0, - 124,12,0,0,254,28,0,1,255,248,0,1,135,240,0,3, - 3,224,0,2,1,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,7,0,0,0,15,0,0,0,15,0,0,0, - 31,128,0,0,31,128,0,0,27,128,0,0,59,192,0,0, - 57,192,0,0,49,224,0,0,113,224,0,0,112,224,0,0, - 96,240,0,0,224,240,0,0,224,112,0,0,192,120,0,1, - 192,120,0,1,192,56,0,1,255,252,0,3,255,252,0,3, - 128,30,0,3,0,30,0,7,0,30,0,7,0,15,0,6, - 0,15,0,14,0,15,0,14,0,7,128,12,0,7,128,62, - 0,7,192,255,192,63,240,28,38,152,29,0,0,0,128,32, - 0,0,224,56,0,1,224,120,0,1,224,120,0,1,224,120, - 0,0,128,32,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,28,42,168,29,0,0,0,2,0,0,0, - 15,128,0,0,31,192,0,0,24,192,0,0,48,192,0,0, - 48,192,0,0,48,192,0,0,63,128,0,0,31,0,0,0, - 8,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, - 7,0,0,0,15,0,0,0,15,0,0,0,31,128,0,0, - 31,128,0,0,27,128,0,0,59,192,0,0,57,192,0,0, - 49,224,0,0,113,224,0,0,112,224,0,0,96,240,0,0, - 224,240,0,0,224,112,0,0,192,120,0,1,192,120,0,1, - 192,56,0,1,255,252,0,3,255,252,0,3,128,30,0,3, - 0,30,0,7,0,30,0,7,0,15,0,6,0,15,0,14, - 0,15,0,14,0,7,128,12,0,7,128,62,0,7,192,255, - 192,63,240,36,30,150,37,0,0,0,127,255,255,192,0,31, - 255,255,224,0,7,252,0,192,0,7,60,0,192,0,7,60, - 0,192,0,14,60,0,192,0,14,60,0,0,0,30,60,0, - 0,0,28,60,0,0,0,28,60,0,0,0,60,60,0,0, - 0,56,60,0,0,0,120,60,0,0,0,127,255,255,0,0, - 127,255,255,0,0,240,60,6,0,0,224,60,0,0,1,224, - 60,0,0,1,192,60,0,0,1,192,60,0,0,3,128,60, - 0,0,3,128,60,0,0,7,128,60,0,0,7,0,60,0, - 0,7,0,60,0,16,14,0,60,0,48,14,0,60,0,48, - 30,0,62,0,112,62,0,127,255,224,255,193,255,255,224,22, - 40,120,26,2,246,0,31,224,0,255,252,1,192,252,7,128, - 56,14,0,16,14,0,0,28,0,0,56,0,0,56,0,0, - 120,0,0,112,0,0,112,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,248,0,0,120,0,0,124,0,0,60,0,0,62,0,8, - 31,0,60,15,128,240,15,255,224,3,255,128,0,254,0,0, - 24,0,0,16,0,0,28,0,0,62,0,0,63,0,0,15, - 0,0,15,0,0,30,0,0,120,0,1,192,0,21,41,123, - 24,1,0,4,0,0,14,0,0,31,0,0,15,192,0,3, - 224,0,0,240,0,0,60,0,0,14,0,0,4,0,0,0, - 0,0,0,0,255,255,224,127,255,240,30,0,96,30,0,96, - 30,0,96,30,0,96,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,128,31,255, - 128,30,3,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,8,30, - 0,24,30,0,24,31,0,56,127,255,240,255,255,240,21,41, - 123,24,1,0,0,1,0,0,3,192,0,7,224,0,15,192, - 0,63,0,0,124,0,0,240,0,1,192,0,1,0,0,0, - 0,0,0,0,0,255,255,224,127,255,240,30,0,96,30,0, - 96,30,0,96,30,0,96,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,31,255,128,31, - 255,128,30,3,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,8, - 30,0,24,30,0,24,31,0,56,127,255,240,255,255,240,21, - 41,123,24,1,0,0,48,0,0,120,0,0,252,0,1,254, - 0,3,207,0,7,7,0,14,1,128,28,0,192,16,0,128, - 0,0,0,0,0,0,255,255,224,127,255,240,30,0,96,30, - 0,96,30,0,96,30,0,96,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,31,255,128, - 31,255,128,30,3,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 8,30,0,24,30,0,24,31,0,56,127,255,240,255,255,240, - 21,38,114,24,1,0,4,1,0,15,3,192,15,3,192,15, - 3,192,14,3,128,4,1,0,0,0,0,0,0,0,255,255, - 224,127,255,240,30,0,96,30,0,96,30,0,96,30,0,96, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,31,255,128,31,255,128,30,3,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,8,30,0,24,30,0,24,31, - 0,56,127,255,240,255,255,240,13,41,82,14,255,0,32,0, - 112,0,252,0,126,0,31,0,7,128,1,224,0,112,0,32, - 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, - 13,41,82,14,2,0,0,64,0,112,1,248,3,240,7,192, - 31,0,60,0,112,0,64,0,0,0,0,0,255,192,127,128, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,127,128,255,192,15,41,82,14,255,0,1,128, - 3,192,7,224,15,240,30,120,56,60,112,12,224,6,64,4, - 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, - 14,38,76,14,0,0,64,16,112,28,240,60,240,60,224,56, - 64,16,0,0,0,0,63,240,31,224,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,31,224, - 63,240,25,30,120,28,1,0,7,254,0,0,255,255,192,0, - 127,3,240,0,15,0,248,0,15,0,124,0,15,0,62,0, - 15,0,30,0,15,0,31,0,15,0,15,0,15,0,15,0, - 15,0,15,128,15,0,7,128,15,0,7,128,15,0,7,128, - 255,254,7,128,255,252,7,128,15,0,7,128,15,0,7,128, - 15,0,7,128,15,0,7,0,15,0,15,0,15,0,15,0, - 15,0,30,0,15,0,30,0,15,0,60,0,15,0,124,0, - 15,0,248,0,15,3,224,0,31,255,192,0,127,254,0,0, - 27,39,156,31,2,0,0,32,16,0,0,124,12,0,0,254, - 24,0,1,255,240,0,3,15,240,0,3,3,224,0,2,1, - 0,0,0,0,0,0,0,0,0,0,252,0,63,224,124,0, - 15,128,30,0,7,0,31,0,7,0,31,0,7,0,31,128, - 7,0,31,192,7,0,29,192,7,0,28,224,7,0,28,240, - 7,0,28,120,7,0,28,56,7,0,28,60,7,0,28,30, - 7,0,28,14,7,0,28,15,7,0,28,7,135,0,28,7, - 135,0,28,3,199,0,28,1,231,0,28,1,231,0,28,0, - 247,0,28,0,127,0,28,0,127,0,28,0,63,0,28,0, - 31,0,28,0,31,0,28,0,15,0,62,0,7,0,255,128, - 3,0,25,41,164,29,2,0,2,0,0,0,3,128,0,0, - 7,192,0,0,7,224,0,0,1,248,0,0,0,124,0,0, - 0,30,0,0,0,7,128,0,0,1,0,0,0,0,0,0, - 0,0,0,0,0,63,0,0,0,255,224,0,3,193,240,0, - 7,0,248,0,14,0,124,0,28,0,62,0,60,0,30,0, - 56,0,31,0,120,0,15,0,120,0,15,0,112,0,15,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 248,0,7,0,120,0,15,0,120,0,15,0,124,0,14,0, - 60,0,28,0,62,0,28,0,31,0,56,0,15,128,112,0, - 7,193,224,0,3,255,128,0,0,254,0,0,25,41,164,29, - 2,0,0,0,128,0,0,0,224,0,0,1,240,0,0,7, - 240,0,0,15,192,0,0,30,0,0,0,56,0,0,0,224, - 0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,63, - 0,0,0,255,224,0,3,193,240,0,7,0,248,0,14,0, - 124,0,28,0,62,0,60,0,30,0,56,0,31,0,120,0, - 15,0,120,0,15,0,112,0,15,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,248,0,7,0,120,0, - 15,0,120,0,15,0,124,0,14,0,60,0,28,0,62,0, - 28,0,31,0,56,0,15,128,112,0,7,193,224,0,3,255, - 128,0,0,254,0,0,25,41,164,29,2,0,0,28,0,0, - 0,62,0,0,0,126,0,0,0,127,0,0,0,227,128,0, - 1,193,192,0,3,128,224,0,6,0,112,0,4,0,32,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, - 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, - 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, - 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, - 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, - 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, - 25,39,156,29,2,0,0,64,32,0,1,248,48,0,3,252, - 48,0,3,255,224,0,6,31,192,0,4,15,128,0,12,2, - 0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,255, - 224,0,3,193,240,0,7,0,248,0,14,0,124,0,28,0, - 62,0,60,0,30,0,56,0,31,0,120,0,15,0,120,0, - 15,0,112,0,15,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,248,0,7,0,120,0,15,0,120,0, - 15,0,124,0,14,0,60,0,28,0,62,0,28,0,31,0, - 56,0,15,128,112,0,7,193,224,0,3,255,128,0,0,254, - 0,0,25,38,152,29,2,0,1,0,64,0,3,128,224,0, - 3,128,224,0,7,129,224,0,3,128,224,0,2,0,128,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, - 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, - 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, - 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, - 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, - 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, - 15,14,28,20,2,6,96,6,240,14,120,28,60,56,30,112, - 15,224,7,192,7,192,15,224,30,112,60,56,120,28,240,14, - 96,6,25,31,124,29,2,255,0,63,7,128,1,255,207,0, - 3,193,254,0,7,0,126,0,14,0,60,0,28,0,126,0, - 56,0,126,0,56,0,255,0,120,1,239,0,120,1,239,0, - 112,3,207,128,240,7,135,128,240,7,7,128,240,15,7,128, - 240,30,7,128,240,60,7,128,240,60,7,128,240,120,7,128, - 240,240,7,128,240,224,7,0,121,224,7,0,123,192,15,0, - 123,128,14,0,63,128,12,0,63,0,28,0,30,0,56,0, - 31,0,112,0,63,193,224,0,121,255,128,0,240,126,0,0, - 192,0,0,0,27,41,164,31,2,0,0,128,0,0,1,192, - 0,0,3,240,0,0,1,248,0,0,0,124,0,0,0,30, - 0,0,0,7,128,0,0,1,192,0,0,0,128,0,0,0, - 0,0,0,0,0,0,255,192,127,224,127,128,63,192,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 30,0,15,0,30,0,15,0,30,0,7,128,60,0,7,192, - 120,0,3,224,240,0,1,255,224,0,0,63,128,0,27,41, - 164,31,2,0,0,0,32,0,0,0,120,0,0,0,252,0, - 0,1,248,0,0,3,224,0,0,15,128,0,0,30,0,0, - 0,56,0,0,0,32,0,0,0,0,0,0,0,0,0,0, - 255,192,127,224,127,128,63,192,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,30,0,15,0,30,0, - 15,0,30,0,7,128,60,0,7,192,120,0,3,224,240,0, - 1,255,224,0,0,63,128,0,27,41,164,31,2,0,0,6, - 0,0,0,15,0,0,0,31,128,0,0,63,192,0,0,121, - 224,0,0,224,240,0,1,192,48,0,3,128,24,0,1,0, - 16,0,0,0,0,0,0,0,0,0,255,192,127,224,127,128, - 63,192,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,30,0,15,0,30,0,15,0,30,0,7,128, - 60,0,7,192,120,0,3,224,240,0,1,255,224,0,0,63, - 128,0,27,38,152,31,2,0,0,128,32,0,0,224,56,0, - 1,224,120,0,1,224,120,0,1,192,112,0,0,128,32,0, - 0,0,0,0,0,0,0,0,255,192,127,224,127,128,63,192, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,30,0,15,0,30,0,15,0,30,0,7,128,60,0, - 7,192,120,0,3,224,240,0,1,255,224,0,0,63,128,0, - 28,41,164,29,0,0,0,0,32,0,0,0,56,0,0,0, - 252,0,0,1,248,0,0,3,224,0,0,7,128,0,0,30, - 0,0,0,56,0,0,0,32,0,0,0,0,0,0,0,0, - 0,0,252,0,63,240,254,0,63,240,31,0,15,128,15,0, - 7,0,15,128,14,0,7,192,14,0,3,192,28,0,3,224, - 60,0,1,224,56,0,0,240,120,0,0,248,112,0,0,120, - 224,0,0,125,224,0,0,61,192,0,0,63,192,0,0,31, - 128,0,0,31,128,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,63,192,0,0,255,240,0,21,30,90,25,2,0, - 255,224,0,127,128,0,30,0,0,30,0,0,30,0,0,30, - 0,0,31,254,0,31,255,128,30,15,192,30,3,224,30,1, - 240,30,0,248,30,0,120,30,0,120,30,0,120,30,0,120, - 30,0,120,30,0,120,30,0,240,30,0,240,30,1,224,31, - 7,192,30,255,128,30,124,0,30,0,0,30,0,0,30,0, - 0,30,0,0,127,128,0,255,224,0,25,36,144,27,1,0, - 0,31,128,0,0,127,224,0,1,195,240,0,3,128,248,0, - 7,0,120,0,7,0,124,0,14,0,60,0,14,0,60,0, - 14,0,60,0,30,0,60,0,30,0,60,0,30,0,120,0, - 30,1,248,0,30,7,240,0,30,15,192,0,30,31,0,0, - 30,60,0,0,30,60,0,0,30,60,0,0,30,62,0,0, - 30,63,0,0,30,31,192,0,30,15,240,0,30,3,252,0, - 30,0,254,0,30,0,127,0,30,0,31,128,30,0,15,128, - 30,0,7,128,30,32,7,128,30,48,7,128,30,48,7,0, - 30,56,15,0,30,60,30,0,62,63,252,0,254,7,224,0, - 20,35,105,22,2,0,30,0,0,62,0,0,31,0,0,15, - 0,0,7,128,0,3,192,0,1,192,0,0,224,0,0,96, - 0,0,48,0,0,0,0,0,0,0,0,0,0,1,248,0, - 15,254,0,28,30,0,120,15,0,112,15,0,240,15,0,128, - 15,0,0,15,0,0,15,0,0,255,0,7,255,0,31,143, - 0,62,15,0,120,15,0,248,15,0,240,15,0,240,15,0, - 240,31,0,240,63,0,120,239,32,127,143,240,30,7,128,20, - 35,105,22,2,0,0,15,0,0,31,0,0,30,0,0,60, - 0,0,56,0,0,112,0,0,112,0,0,224,0,1,192,0, - 1,128,0,0,0,0,0,0,0,0,0,0,1,248,0,15, - 254,0,28,30,0,120,15,0,112,15,0,240,15,0,128,15, - 0,0,15,0,0,15,0,0,255,0,7,255,0,31,143,0, - 62,15,0,120,15,0,248,15,0,240,15,0,240,15,0,240, - 31,0,240,63,0,120,239,32,127,143,240,30,7,128,20,34, - 102,22,2,0,0,224,0,1,240,0,3,240,0,7,56,0, - 6,28,0,12,14,0,24,6,0,48,3,0,32,1,128,0, - 0,0,0,0,0,0,0,0,1,248,0,15,254,0,28,30, - 0,120,15,0,112,15,0,240,15,0,128,15,0,0,15,0, - 0,15,0,0,255,0,7,255,0,31,143,0,62,15,0,120, - 15,0,248,15,0,240,15,0,240,15,0,240,31,0,240,63, - 0,120,239,32,127,143,240,30,7,128,20,32,96,22,2,0, - 7,0,128,15,193,128,31,193,0,63,243,0,48,254,0,96, - 56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,248, - 0,15,254,0,28,30,0,120,15,0,112,15,0,240,15,0, - 128,15,0,0,15,0,0,15,0,0,255,0,7,255,0,31, - 143,0,62,15,0,120,15,0,248,15,0,240,15,0,240,15, - 0,240,31,0,240,63,0,120,239,32,127,143,240,30,7,128, - 20,32,96,22,2,0,28,7,0,28,7,0,60,15,0,60, - 15,0,24,6,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,248,0,15,254,0,28,30,0,120,15,0, - 112,15,0,240,15,0,128,15,0,0,15,0,0,15,0,0, - 255,0,7,255,0,31,143,0,62,15,0,120,15,0,248,15, - 0,240,15,0,240,15,0,240,31,0,240,63,0,120,239,32, - 127,143,240,30,7,128,20,34,102,22,2,0,0,240,0,1, - 248,0,3,24,0,3,24,0,6,24,0,6,24,0,7,56, - 0,3,240,0,1,192,0,0,0,0,0,0,0,0,0,0, - 1,248,0,15,254,0,28,30,0,120,15,0,112,15,0,240, - 15,0,128,15,0,0,15,0,0,15,0,0,255,0,7,255, - 0,31,143,0,62,15,0,120,15,0,248,15,0,240,15,0, - 240,15,0,240,31,0,240,63,0,120,239,32,127,143,240,30, - 7,128,29,22,88,33,2,0,1,248,31,128,7,252,127,192, - 28,62,225,224,56,31,192,240,112,15,128,112,240,15,128,120, - 240,15,0,120,192,15,0,120,0,127,255,248,3,255,255,240, - 15,143,0,0,30,15,0,0,60,15,0,0,120,15,0,0, - 240,15,0,0,240,15,128,0,240,31,128,24,240,63,192,48, - 248,243,224,240,127,227,255,192,127,128,255,128,30,0,126,0, - 18,32,96,21,2,246,0,127,0,1,255,192,7,7,192,14, - 1,128,28,0,128,56,0,0,120,0,0,112,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,248,0,0,120,1,0,124,3,128,62,7,0,31, - 254,0,31,248,0,7,240,0,0,192,0,0,128,0,0,224, - 0,0,240,0,1,248,0,0,120,0,0,120,0,0,240,0, - 3,192,0,14,0,0,18,35,105,22,2,0,14,0,0,31, - 0,0,15,128,0,7,128,0,3,192,0,1,192,0,0,224, - 0,0,112,0,0,48,0,0,24,0,0,0,0,0,0,0, - 0,0,0,0,248,0,7,254,0,14,15,0,28,7,128,56, - 7,128,56,3,192,112,3,192,112,3,192,255,255,192,255,255, - 128,240,0,0,240,0,0,240,0,0,240,0,0,248,0,0, - 120,0,0,120,0,0,124,0,192,62,1,128,31,7,0,15, - 254,0,3,248,0,18,35,105,22,2,0,0,7,0,0,15, - 128,0,15,0,0,30,0,0,60,0,0,56,0,0,112,0, - 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, - 0,0,0,248,0,7,254,0,14,15,0,28,7,128,56,7, - 128,56,3,192,112,3,192,112,3,192,255,255,192,255,255,128, - 240,0,0,240,0,0,240,0,0,240,0,0,248,0,0,120, - 0,0,120,0,0,124,0,192,62,1,128,31,7,0,15,254, - 0,3,248,0,18,34,102,22,2,0,0,240,0,0,240,0, - 1,248,0,3,156,0,7,14,0,14,6,0,12,3,0,24, - 1,128,16,0,128,0,0,0,0,0,0,0,0,0,0,248, - 0,7,254,0,14,15,0,28,7,128,56,7,128,56,3,192, - 112,3,192,112,3,192,255,255,192,255,255,128,240,0,0,240, - 0,0,240,0,0,240,0,0,248,0,0,120,0,0,120,0, - 0,124,0,192,62,1,128,31,7,0,15,254,0,3,248,0, - 18,32,96,22,2,0,14,3,128,30,7,128,30,7,128,30, - 7,128,28,7,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,248,0,7,254,0,14,15,0,28,7,128, - 56,7,128,56,3,192,112,3,192,112,3,192,255,255,192,255, - 255,128,240,0,0,240,0,0,240,0,0,240,0,0,248,0, - 0,120,0,0,120,0,0,124,0,192,62,1,128,31,7,0, - 15,254,0,3,248,0,12,35,70,13,0,0,240,0,248,0, - 120,0,60,0,28,0,14,0,7,0,3,0,1,128,0,128, - 0,0,0,0,0,0,1,128,31,128,63,128,15,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,15,192, - 63,240,12,35,70,13,2,0,0,224,1,240,3,224,3,192, - 7,128,7,0,14,0,28,0,24,0,48,0,0,0,0,0, - 0,0,6,0,126,0,254,0,62,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,63,0,255,192,15,34, - 68,13,255,0,3,128,7,192,7,224,14,240,28,112,56,56, - 112,12,96,6,192,2,0,0,0,0,0,0,0,192,15,192, - 31,192,7,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,7,224,31,248,14,32,64,13,0,0,96,24, - 240,60,240,60,224,56,224,56,0,0,0,0,0,0,0,0, - 0,0,1,128,31,128,63,128,15,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,15,192,63,240,20,34, - 102,24,2,0,3,0,0,31,192,128,31,225,224,1,255,192, - 0,126,0,0,252,0,3,254,0,15,143,0,4,7,128,0, - 3,128,0,3,192,0,1,192,1,241,224,7,255,224,14,31, - 224,28,7,240,56,3,240,56,1,240,120,1,240,112,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 0,224,248,1,224,120,1,192,124,1,192,124,3,128,62,7, - 0,31,14,0,15,252,0,3,240,0,23,32,96,26,2,0, - 1,224,32,3,240,48,7,248,96,7,252,192,14,63,128,8, - 15,0,0,0,0,0,0,0,0,0,0,0,0,0,12,7, - 192,254,15,224,62,49,224,30,96,240,30,192,240,30,128,240, - 31,0,240,31,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,127,131,248,255,199,254, - 20,35,105,24,2,0,15,0,0,15,0,0,7,128,0,3, - 192,0,1,192,0,0,224,0,0,112,0,0,112,0,0,56, - 0,0,24,0,0,0,0,0,0,0,0,0,0,0,252,0, - 7,255,0,14,15,128,28,7,192,56,3,192,56,3,224,112, - 1,224,112,1,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,0,240,240,0,240,248,0,224,120,1,224,124,1,192, - 60,1,192,62,3,128,31,7,0,15,254,0,3,240,0,20, - 35,105,24,2,0,0,7,128,0,7,192,0,15,128,0,15, - 0,0,30,0,0,60,0,0,56,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,0,0,0,0,0,0,252,0,7, - 255,0,14,15,128,28,7,192,56,3,192,56,3,224,112,1, - 224,112,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,248,0,224,120,1,224,124,1,192,60, - 1,192,62,3,128,31,7,0,15,254,0,3,240,0,20,34, - 102,24,2,0,0,112,0,0,248,0,1,252,0,1,220,0, - 3,142,0,7,7,0,14,3,128,12,1,192,24,0,192,0, - 0,0,0,0,0,0,0,0,0,252,0,7,255,0,14,15, - 128,28,7,192,56,3,192,56,3,224,112,1,224,112,1,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, - 0,240,248,0,224,120,1,224,124,1,192,60,1,192,62,3, - 128,31,7,0,15,254,0,3,240,0,20,32,96,24,2,0, - 3,192,64,7,224,96,15,240,192,15,249,128,28,127,0,16, - 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 0,7,255,0,14,15,128,28,7,192,56,3,192,56,3,224, - 112,1,224,112,1,240,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,248,0,224,120,1,224,124,1, - 192,60,1,192,62,3,128,31,7,0,15,254,0,3,240,0, - 20,32,96,24,2,0,6,1,128,15,3,192,15,3,192,14, - 3,128,14,3,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,0,7,255,0,14,15,128,28,7,192, - 56,3,192,56,3,224,112,1,224,112,1,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,248,0, - 224,120,1,224,124,1,192,60,1,192,62,3,128,31,7,0, - 15,254,0,3,240,0,17,15,45,20,1,6,0,224,0,1, - 224,0,1,224,0,1,192,0,0,0,0,0,0,0,0,0, - 0,127,255,128,255,255,128,0,0,0,0,0,0,0,224,0, - 1,224,0,1,224,0,1,192,0,20,24,72,24,2,255,0, - 0,48,1,248,112,7,254,224,14,15,192,28,7,192,56,3, - 224,56,7,224,112,15,224,112,28,240,240,24,240,240,56,240, - 240,112,240,240,224,240,240,192,240,241,192,240,243,128,224,255, - 0,224,126,1,192,126,1,192,62,3,128,63,7,0,119,254, - 0,225,248,0,128,0,0,24,35,105,25,1,0,3,128,0, - 7,192,0,3,192,0,1,224,0,0,240,0,0,112,0,0, - 56,0,0,24,0,0,12,0,0,4,0,0,0,0,0,0, - 0,0,0,0,6,0,112,254,7,240,126,7,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,1,240,31,2,240,15,12,255, - 15,248,252,3,224,112,24,35,105,25,1,0,0,1,192,0, - 3,224,0,7,192,0,7,128,0,15,0,0,14,0,0,28, - 0,0,56,0,0,48,0,0,96,0,0,0,0,0,0,0, - 0,0,0,6,0,112,254,7,240,126,7,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,1,240,31,2,240,15,12,255,15, - 248,252,3,224,112,24,34,102,25,1,0,0,56,0,0,124, - 0,0,126,0,0,231,0,1,195,0,3,129,128,3,0,192, - 6,0,96,12,0,32,0,0,0,0,0,0,0,0,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,24,32,96,25,1,0,3,0,192,7,129,224,7,129,224, - 7,129,224,7,1,192,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,6,0,112,254,7,240,126,7,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,1,240,31,2,240,15,12, - 255,15,248,252,3,224,112,24,46,138,24,255,245,0,0,240, - 0,0,248,0,1,224,0,3,224,0,3,192,0,7,128,0, - 7,0,0,14,0,0,12,0,0,24,0,0,0,0,0,0, - 0,0,0,0,127,224,255,31,0,62,15,0,28,15,0,24, - 7,128,56,7,128,56,3,128,48,3,192,112,3,192,96,1, - 224,224,1,224,224,0,224,192,0,241,192,0,241,192,0,121, - 128,0,123,128,0,59,0,0,63,0,0,63,0,0,30,0, - 0,30,0,0,12,0,0,12,0,0,28,0,0,24,0,0, - 56,0,0,112,0,0,112,0,0,224,0,63,192,0,127,128, - 0,255,0,0,124,0,0,21,47,141,25,2,245,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,15,0,28,63,192,28,99,224, - 28,193,224,29,129,240,31,0,240,31,0,248,30,0,248,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,120,30,0, - 120,30,0,112,30,0,112,30,0,224,30,0,224,31,129,192, - 31,195,128,31,255,0,30,124,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,63,0,0,255,224,0,24,43,129,24,255,245, - 0,192,48,1,192,112,1,224,120,3,192,240,1,128,96,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,224, - 255,31,0,62,15,0,28,15,0,24,7,128,56,7,128,56, - 3,128,48,3,192,112,3,192,96,1,224,224,1,224,224,0, - 224,192,0,241,192,0,241,192,0,121,128,0,123,128,0,59, - 0,0,63,0,0,63,0,0,30,0,0,30,0,0,12,0, - 0,12,0,0,28,0,0,24,0,0,56,0,0,112,0,0, - 112,0,0,224,0,63,192,0,127,128,0,255,0,0,124,0, - 0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 29 - Calculated Max Values w=20 h=46 x= 3 y=17 dx=23 dy= 0 ascent=38 len=138 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =29 descent= 0 - X Font ascent =29 descent= 0 - Max Font ascent =38 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30n[1252] U8G_SECTION(".progmem.u8g_font_gdr30n") = { - 0,71,68,232,239,29,0,0,0,0,42,57,0,38,248,29, - 0,18,20,60,21,2,17,0,192,0,1,192,0,1,192,0, - 1,192,0,193,193,0,240,195,192,248,207,192,124,223,0,15, - 252,0,3,224,0,3,224,0,15,252,0,60,223,0,248,207, - 128,240,195,128,64,193,128,1,192,0,1,192,0,1,192,0, - 1,128,0,17,17,51,20,1,5,0,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,128,0,7,13,13,11, - 2,249,8,60,254,254,30,30,30,28,28,56,48,96,64,14, - 2,4,16,1,11,127,252,255,248,6,6,6,11,3,255,56, - 124,252,252,248,112,20,46,138,23,1,248,0,0,48,0,0, - 240,0,0,240,0,0,224,0,1,224,0,1,192,0,1,192, - 0,3,192,0,3,128,0,7,128,0,7,128,0,7,0,0, - 15,0,0,15,0,0,14,0,0,30,0,0,28,0,0,28, - 0,0,60,0,0,56,0,0,120,0,0,120,0,0,112,0, - 0,240,0,0,224,0,0,224,0,1,224,0,1,192,0,3, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,14,0,0,30,0,0,30,0,0,28,0,0, - 60,0,0,60,0,0,56,0,0,120,0,0,112,0,0,240, - 0,0,192,0,0,19,29,87,23,2,0,1,248,0,7,252, - 0,14,30,0,28,15,0,24,7,128,56,7,128,56,3,192, - 112,3,192,112,3,192,112,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,192,120,1,192,120,3,192,120,3,128, - 60,3,128,60,3,0,30,7,0,15,14,0,7,252,0,3, - 240,0,17,29,87,23,3,0,0,96,0,1,224,0,15,224, - 0,127,224,0,255,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,3,240,0,63,254,0,127,255,128,17, - 29,87,22,2,0,1,248,0,7,254,0,28,31,0,56,15, - 0,120,15,128,112,7,128,240,7,128,224,7,128,0,7,128, - 0,7,128,0,15,0,0,15,0,0,30,0,0,30,0,0, - 60,0,0,120,0,0,240,0,0,240,0,1,224,0,3,192, - 0,7,128,0,15,0,0,15,0,0,30,0,128,60,0,128, - 120,0,128,240,1,128,255,255,128,255,255,128,18,29,87,22, - 1,0,1,248,0,7,254,0,30,31,0,60,15,0,56,7, - 128,120,7,128,112,7,128,0,7,128,0,7,0,0,15,0, - 0,30,0,0,60,0,0,248,0,3,254,0,0,63,0,0, - 15,128,0,7,128,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,7,128,128,7,128,224,15,0, - 120,62,0,63,252,0,7,224,0,19,29,87,23,1,0,0, - 3,0,0,15,0,0,31,0,0,63,0,0,127,0,0,127, - 0,0,239,0,0,207,0,1,207,0,3,143,0,3,143,0, - 7,15,0,14,15,0,14,15,0,28,15,0,24,15,0,56, - 15,0,112,15,0,112,15,0,255,255,224,255,255,192,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,63,128,1,255,224,18,29,87,23,2,0,0,0,128,0, - 1,128,31,255,0,31,254,0,24,0,0,24,0,0,24,0, - 0,24,0,0,56,0,0,56,0,0,56,0,0,63,240,0, - 63,252,0,120,63,0,32,15,0,0,7,128,0,7,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 128,0,7,128,128,7,128,224,15,0,120,62,0,63,252,0, - 7,240,0,18,29,87,23,3,0,0,7,0,0,63,0,0, - 248,0,1,224,0,3,192,0,15,0,0,14,0,0,30,0, - 0,60,0,0,56,0,0,120,0,0,120,248,0,119,254,0, - 254,31,0,248,15,128,240,7,128,240,7,192,240,3,192,240, - 3,192,240,3,192,240,3,192,248,3,192,120,3,128,120,3, - 128,60,7,128,60,7,0,31,14,0,15,252,0,3,240,0, - 19,27,81,23,2,0,127,255,192,127,255,224,96,1,192,64, - 3,192,192,3,128,0,3,128,0,7,0,0,7,0,0,14, - 0,0,14,0,0,28,0,0,28,0,0,56,0,0,56,0, - 0,56,0,0,112,0,0,112,0,0,224,0,0,224,0,1, - 192,0,1,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,15,0,0,28,0,0,18,29,87,22,2,0,3,248,0, - 15,254,0,28,31,0,56,15,0,48,7,128,112,7,128,112, - 7,128,112,7,128,112,7,0,120,15,0,62,30,0,31,188, - 0,15,240,0,3,252,0,7,254,0,30,63,0,60,15,128, - 120,7,192,112,7,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,128,120,7,128,124,7,0,62,14,0,31,252, - 0,7,224,0,19,30,90,23,2,255,1,248,0,7,254,0, - 14,31,0,28,15,128,56,7,128,120,3,192,112,3,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,248,1, - 224,120,3,224,124,7,224,62,13,224,31,249,224,7,225,192, - 0,3,192,0,3,192,0,7,128,0,7,128,0,15,0,0, - 30,0,0,60,0,0,120,0,0,240,0,3,224,0,31,128, - 0,56,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=40 h=49 x= 4 y=25 dx=41 dy= 0 ascent=39 len=195 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x=-5 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30r[8588] U8G_SECTION(".progmem.u8g_font_gdr30r") = { - 0,71,68,232,239,30,9,231,23,124,32,127,245,39,245,38, - 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, - 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, - 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, - 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, - 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, - 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, - 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, - 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, - 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, - 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, - 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, - 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, - 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, - 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, - 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, - 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, - 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, - 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, - 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, - 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, - 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, - 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, - 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, - 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, - 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, - 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, - 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, - 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, - 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, - 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, - 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, - 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, - 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, - 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, - 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, - 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, - 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, - 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, - 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, - 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, - 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, - 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, - 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, - 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, - 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, - 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, - 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, - 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, - 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, - 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, - 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, - 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, - 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, - 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, - 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, - 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, - 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, - 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, - 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, - 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, - 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, - 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, - 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, - 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, - 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, - 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, - 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, - 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, - 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, - 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, - 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, - 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, - 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, - 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, - 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, - 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, - 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, - 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, - 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, - 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, - 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, - 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, - 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, - 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, - 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, - 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, - 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, - 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, - 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, - 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, - 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, - 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, - 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, - 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, - 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, - 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, - 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, - 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, - 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, - 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, - 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, - 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, - 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, - 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, - 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, - 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, - 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, - 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, - 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, - 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, - 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, - 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, - 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, - 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, - 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, - 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, - 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, - 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, - 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, - 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, - 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, - 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, - 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, - 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, - 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, - 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, - 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, - 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, - 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, - 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, - 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, - 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, - 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, - 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, - 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, - 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, - 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, - 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, - 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, - 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, - 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, - 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, - 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, - 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, - 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, - 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, - 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, - 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, - 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, - 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, - 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, - 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, - 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, - 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, - 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, - 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, - 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, - 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, - 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, - 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, - 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, - 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, - 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, - 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, - 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, - 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, - 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, - 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, - 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, - 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, - 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, - 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, - 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, - 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, - 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, - 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, - 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, - 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, - 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, - 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, - 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, - 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, - 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, - 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, - 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, - 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, - 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, - 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, - 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, - 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, - 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, - 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, - 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, - 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, - 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, - 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, - 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, - 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, - 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, - 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, - 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, - 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, - 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, - 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, - 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, - 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, - 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, - 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, - 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, - 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, - 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, - 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, - 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, - 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, - 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, - 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, - 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, - 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, - 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, - 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, - 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, - 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, - 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, - 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, - 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, - 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, - 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, - 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, - 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, - 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, - 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, - 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, - 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, - 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, - 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, - 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, - 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, - 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, - 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, - 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, - 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, - 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, - 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, - 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, - 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, - 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, - 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, - 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, - 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, - 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, - 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, - 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, - 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, - 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, - 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, - 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, - 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, - 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, - 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, - 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, - 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, - 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, - 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, - 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, - 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, - 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, - 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, - 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, - 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, - 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, - 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, - 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, - 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, - 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, - 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, - 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, - 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, - 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, - 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, - 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, - 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, - 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, - 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, - 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, - 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, - 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, - 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, - 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, - 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, - 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, - 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, - 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, - 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, - 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, - 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, - 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, - 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, - 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, - 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, - 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, - 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, - 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, - 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, - 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, - 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, - 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, - 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, - 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, - 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, - 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, - 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, - 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, - 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, - 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, - 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, - 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, - 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, - 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, - 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, - 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, - 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, - 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, - 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, - 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, - 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, - 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, - 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, - 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, - 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, - 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, - 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, - 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, - 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, - 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, - 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, - 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, - 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, - 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, - 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, - 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, - 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, - 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, - 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, - 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, - 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, - 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, - 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, - 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, - 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, - 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, - 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, - 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, - 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, - 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, - 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, - 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, - 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, - 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, - 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, - 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, - 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, - 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, - 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, - 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, - 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, - 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, - 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, - 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, - 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, - 255,224,96,127,192,64,31,128,192,15,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=12 h=15 x= 2 y= 8 dx=13 dy= 0 ascent=13 len=26 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9[3248] U8G_SECTION(".progmem.u8g_font_gdr9") = { - 0,23,21,248,251,9,1,255,4,54,32,255,252,13,252,12, - 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, - 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, - 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, - 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, - 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, - 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, - 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, - 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, - 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, - 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, - 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, - 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, - 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, - 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, - 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, - 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, - 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, - 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, - 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, - 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, - 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, - 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, - 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, - 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, - 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, - 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, - 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, - 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, - 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, - 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, - 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, - 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, - 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, - 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, - 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, - 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, - 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, - 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, - 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, - 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, - 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, - 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, - 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, - 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, - 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, - 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, - 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, - 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, - 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, - 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, - 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, - 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, - 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, - 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, - 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, - 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, - 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, - 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, - 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, - 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, - 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, - 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, - 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, - 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, - 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, - 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, - 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, - 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, - 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, - 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, - 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, - 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, - 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, - 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, - 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, - 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, - 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, - 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, - 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, - 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, - 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, - 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, - 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, - 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, - 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, - 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, - 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, - 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, - 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, - 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, - 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, - 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, - 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, - 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,3,0,0,2,11,11,4,1,252,128,128,0, - 128,128,128,192,192,192,192,192,5,9,9,7,1,0,32,56, - 232,160,160,160,232,112,32,6,9,9,7,1,0,56,68,72, - 64,240,64,64,68,252,3,5,5,7,2,2,160,224,160,160, - 224,7,9,9,7,0,0,206,100,40,56,16,124,16,16,56, - 1,15,15,3,1,253,128,128,128,128,128,128,128,0,128,128, - 128,128,128,128,128,6,11,11,8,1,0,112,144,128,224,184, - 132,68,56,136,136,112,4,2,2,6,1,8,144,144,9,9, - 18,11,1,0,62,0,93,0,166,128,160,128,160,128,160,128, - 182,128,93,0,62,0,4,5,5,4,0,4,96,160,224,224, - 240,5,7,7,7,1,0,104,72,144,176,144,72,104,6,4, - 4,7,1,1,252,4,4,4,5,1,1,5,0,3,248,5, - 6,6,5,0,5,112,136,184,168,168,112,5,1,1,7,1, - 8,248,3,4,4,5,1,5,96,160,160,192,6,7,7,6, - 0,1,16,16,124,16,16,0,252,4,6,6,5,0,4,48, - 208,32,32,80,240,4,6,6,5,0,4,48,80,32,16,144, - 96,3,3,3,5,2,8,96,128,128,8,11,11,8,0,252, - 198,66,66,66,66,70,123,64,64,64,96,8,11,11,9,0, - 254,127,138,138,202,122,10,10,10,10,10,31,1,2,2,2, - 1,4,128,128,2,3,3,3,1,253,128,64,192,3,5,5, - 5,1,5,192,64,64,64,224,3,5,5,4,0,4,96,160, - 160,192,224,6,7,7,7,1,0,160,80,72,44,72,80,160, - 8,9,9,9,1,0,194,68,68,72,178,22,42,79,199,7, - 9,9,9,1,0,194,68,72,72,182,26,36,74,206,9,9, - 18,9,0,0,49,0,82,0,52,0,20,0,233,0,11,0, - 21,0,39,128,99,128,5,11,11,7,1,252,32,32,32,32, - 32,64,128,128,136,136,112,9,12,24,9,0,0,48,0,12, - 0,0,0,8,0,8,0,20,0,20,0,36,0,62,0,34, - 0,67,0,227,128,9,12,24,9,0,0,6,0,24,0,0, - 0,8,0,8,0,20,0,20,0,36,0,62,0,34,0,67, - 0,227,128,9,12,24,9,0,0,28,0,34,0,0,0,8, - 0,8,0,20,0,20,0,36,0,62,0,34,0,67,0,227, - 128,9,12,24,9,0,0,58,0,60,0,0,0,8,0,8, - 0,20,0,20,0,36,0,62,0,34,0,67,0,227,128,9, - 11,22,9,0,0,36,0,36,0,8,0,8,0,20,0,20, - 0,36,0,62,0,34,0,67,0,227,128,9,13,26,9,0, - 0,12,0,20,0,20,0,8,0,8,0,8,0,20,0,20, - 0,36,0,62,0,34,0,67,0,227,128,11,9,18,12,0, - 0,31,224,10,32,18,0,31,192,18,0,34,0,34,0,34, - 32,231,224,6,12,12,8,1,253,60,68,128,128,128,128,128, - 68,120,32,16,48,6,12,12,7,1,0,224,16,0,252,68, - 64,120,64,64,64,68,252,6,12,12,7,1,0,24,96,0, - 252,68,64,120,64,64,64,68,252,6,12,12,7,1,0,112, - 136,0,252,68,64,120,64,64,64,68,252,6,11,11,7,1, - 0,144,144,124,68,64,120,64,64,64,68,252,4,12,12,4, - 0,0,192,32,0,112,32,32,32,32,32,32,32,112,4,12, - 12,4,1,0,112,128,0,224,64,64,64,64,64,64,64,224, - 4,12,12,4,0,0,96,144,0,112,32,32,32,32,32,32, - 32,112,4,11,11,4,0,0,144,144,96,32,32,32,32,32, - 32,32,112,8,9,9,9,0,0,252,66,65,65,241,65,65, - 66,252,10,12,24,10,0,0,26,0,60,0,0,0,193,192, - 96,128,80,128,88,128,76,128,70,128,67,128,65,128,224,128, - 7,12,12,9,1,0,96,24,0,56,68,130,130,130,130,130, - 68,56,7,12,12,9,1,0,12,48,0,56,68,130,130,130, - 130,130,68,56,7,12,12,9,1,0,56,68,0,56,68,130, - 130,130,130,130,68,56,7,12,12,9,1,0,52,120,0,56, - 68,130,130,130,130,130,68,56,7,11,11,9,1,0,72,72, - 56,68,130,130,130,130,130,68,56,4,4,4,6,1,2,144, - 96,96,144,7,9,9,9,1,0,58,68,138,138,146,162,194, - 68,184,9,12,24,10,0,0,56,0,4,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,98,0,60,0, - 9,12,24,10,0,0,6,0,24,0,0,0,227,128,65,0, - 65,0,65,0,65,0,65,0,65,0,98,0,60,0,9,12, - 24,10,0,0,28,0,34,0,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,11,22,10, - 0,0,34,0,36,0,195,128,65,0,65,0,65,0,65,0, - 65,0,65,0,98,0,60,0,9,12,24,9,0,0,6,0, - 24,0,0,0,227,128,98,0,50,0,20,0,28,0,8,0, - 8,0,8,0,28,0,7,9,9,8,0,0,224,124,70,66, - 66,66,100,92,224,8,11,11,8,0,0,28,34,66,66,68, - 72,76,67,65,73,206,6,11,11,7,1,0,192,96,32,0, - 56,72,136,56,200,136,252,6,11,11,7,1,0,24,16,32, - 0,56,72,136,56,200,136,252,6,11,11,7,1,0,32,80, - 136,0,56,72,136,56,200,136,252,6,10,10,7,1,0,104, - 176,0,56,72,136,56,200,136,252,6,10,10,7,1,0,144, - 144,0,56,72,136,56,200,136,252,6,11,11,7,1,0,48, - 80,80,48,56,72,136,56,200,136,252,9,7,14,10,1,0, - 63,0,76,128,136,128,63,128,200,0,136,128,247,0,5,10, - 10,7,1,253,120,136,128,128,128,200,112,32,16,48,5,11, - 11,7,1,0,64,32,32,16,112,72,136,248,128,200,112,5, - 11,11,7,1,0,24,16,32,0,112,72,136,248,128,200,112, - 5,11,11,7,1,0,32,80,136,0,112,72,136,248,128,200, - 112,5,10,10,7,1,0,144,152,0,112,72,136,248,128,200, - 112,4,11,11,4,0,0,128,64,32,0,96,32,32,32,32, - 32,112,3,11,11,4,1,0,32,64,128,0,192,64,64,64, - 64,64,224,4,11,11,4,0,0,96,80,144,0,96,32,32, - 32,32,32,112,4,10,10,4,0,0,144,144,0,96,32,32, - 32,32,32,112,5,11,11,7,1,0,200,48,80,16,120,136, - 136,136,136,144,112,8,10,10,8,0,0,18,108,0,78,242, - 66,66,66,66,231,6,11,11,8,1,0,64,32,16,0,56, - 204,132,132,132,200,112,6,11,11,8,1,0,8,16,32,0, - 56,204,132,132,132,200,112,6,11,11,8,1,0,48,80,136, - 0,56,204,132,132,132,200,112,6,10,10,8,1,0,104,152, - 0,56,204,132,132,132,200,112,6,10,10,8,1,0,136,136, - 0,56,204,132,132,132,200,112,6,4,4,6,0,2,16,124, - 128,16,6,7,7,8,1,0,60,204,148,164,164,200,240,8, - 11,11,8,0,0,32,16,8,0,198,66,66,66,66,70,59, - 8,11,11,8,0,0,4,8,16,0,198,66,66,66,66,70, - 59,8,11,11,8,0,0,24,24,36,0,198,66,66,66,66, - 70,59,8,10,10,8,0,0,36,68,0,198,66,66,66,66, - 70,59,7,15,15,7,0,252,4,8,16,0,230,68,36,36, - 40,24,16,16,16,32,192,7,15,15,8,0,252,192,64,64, - 64,76,114,66,66,66,68,120,64,64,64,224,7,14,14,7, - 0,252,68,68,0,230,68,36,36,40,24,16,16,16,32,192 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 7 h=14 x= 1 y= 5 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9n[235] U8G_SECTION(".progmem.u8g_font_gdr9n") = { - 0,23,21,248,251,9,0,0,0,0,42,57,0,12,254,9, - 0,5,6,6,7,1,5,32,168,112,112,168,32,5,5,5, - 6,1,2,32,32,248,32,32,2,4,4,3,1,254,64,192, - 64,128,5,1,1,5,0,3,248,1,2,2,3,1,0,128, - 128,7,14,14,7,0,254,6,4,4,8,8,8,16,16,32, - 32,32,64,64,192,5,9,9,7,1,0,112,144,136,136,136, - 136,136,80,112,5,9,9,7,1,0,32,224,32,32,32,32, - 32,32,248,5,9,9,7,1,0,56,72,136,8,16,32,64, - 136,248,6,9,9,7,0,0,48,72,136,16,120,4,4,132, - 120,6,9,9,7,0,0,8,24,40,40,72,72,252,8,60, - 5,9,9,7,1,0,120,128,128,240,136,8,8,136,112,5, - 9,9,7,1,0,24,96,64,176,200,136,136,136,112,5,9, - 9,7,1,0,248,136,8,16,16,32,32,96,64,5,9,9, - 7,1,0,112,200,136,208,112,136,136,136,112,5,9,9,7, - 1,0,112,152,136,136,136,120,16,16,224}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=12 h=15 x= 1 y= 8 dx=13 dy= 0 ascent=12 len=26 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9r[1553] U8G_SECTION(".progmem.u8g_font_gdr9r") = { - 0,23,21,248,251,9,1,255,4,54,32,127,252,12,252,12, - 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, - 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, - 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, - 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, - 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, - 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, - 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, - 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, - 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, - 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, - 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, - 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, - 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, - 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, - 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, - 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, - 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, - 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, - 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, - 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, - 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, - 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, - 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, - 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, - 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, - 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, - 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, - 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, - 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, - 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, - 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, - 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, - 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, - 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, - 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, - 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, - 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, - 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, - 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, - 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, - 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, - 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, - 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, - 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, - 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, - 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, - 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, - 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, - 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, - 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, - 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, - 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, - 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, - 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, - 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, - 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, - 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, - 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, - 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, - 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, - 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, - 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, - 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, - 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, - 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, - 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, - 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, - 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, - 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, - 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, - 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, - 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, - 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, - 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, - 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, - 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, - 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, - 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, - 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, - 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, - 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, - 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, - 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, - 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, - 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, - 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, - 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, - 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, - 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, - 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, - 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, - 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, - 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, - 255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_SECTION(".progmem.u8g_font_helvB08") = { - 0,12,19,255,251,8,1,182,3,122,32,255,254,11,254,8, - 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, - 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, - 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, - 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, - 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, - 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, - 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, - 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, - 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, - 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, - 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, - 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, - 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, - 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, - 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, - 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, - 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, - 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, - 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, - 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, - 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, - 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, - 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, - 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, - 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, - 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, - 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, - 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, - 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, - 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, - 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, - 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, - 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, - 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, - 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, - 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, - 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, - 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, - 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, - 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, - 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, - 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, - 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, - 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, - 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, - 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, - 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, - 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, - 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, - 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, - 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, - 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, - 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, - 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, - 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, - 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, - 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, - 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, - 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, - 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, - 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, - 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, - 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, - 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, - 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, - 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, - 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, - 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, - 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, - 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, - 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, - 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, - 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, - 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, - 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, - 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, - 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, - 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, - 2,6,0,3,104,176,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,3,0,1,2,8,8, - 4,1,254,192,0,64,64,192,192,192,192,5,8,8,6,0, - 255,16,112,216,160,160,216,112,64,5,8,8,6,0,0,56, - 104,96,240,96,96,104,216,6,6,6,6,0,1,132,120,72, - 72,120,132,6,8,8,7,0,0,132,132,204,72,252,48,252, - 48,1,10,10,3,1,254,128,128,128,128,0,0,128,128,128, - 128,5,10,10,6,0,254,112,200,224,112,152,200,112,56,152, - 112,3,1,1,3,0,7,160,8,8,8,10,1,0,60,66, - 153,165,161,157,66,60,3,5,5,5,1,3,224,32,160,0, - 224,6,3,3,7,0,1,108,216,108,5,3,3,7,1,2, - 248,8,8,4,1,1,5,0,3,240,8,8,8,10,1,0, - 60,66,189,165,185,165,66,60,3,1,1,3,0,7,224,3, - 3,3,4,0,5,96,160,192,6,7,7,6,0,0,48,48, - 252,48,48,0,252,3,4,4,3,0,4,96,160,64,224,3, - 4,4,3,0,4,224,64,32,192,2,2,2,3,0,7,64, - 128,5,8,8,6,0,254,216,216,216,216,216,232,192,192,6, - 10,10,6,0,254,124,232,232,232,104,40,40,40,40,40,2, - 1,1,3,0,3,192,2,2,2,3,0,254,64,192,2,4, - 4,3,0,4,64,192,64,64,3,5,5,5,1,3,224,160, - 224,0,224,6,3,3,7,0,1,216,108,216,8,8,8,9, - 0,0,68,196,72,72,18,38,47,66,7,8,8,9,0,0, - 68,196,72,72,22,42,36,78,8,8,8,9,0,0,228,68, - 40,200,18,38,47,66,5,8,8,6,0,254,48,0,48,48, - 96,192,216,112,7,11,11,8,0,0,32,16,0,56,56,108, - 108,108,254,198,198,7,11,11,8,0,0,8,16,0,56,56, - 108,108,108,254,198,198,7,11,11,8,0,0,16,40,0,56, - 56,108,108,108,254,198,198,7,11,11,8,0,0,20,40,0, - 56,56,108,108,108,254,198,198,7,10,10,8,0,0,40,0, - 56,56,108,108,108,254,198,198,7,11,11,8,0,0,16,40, - 16,56,56,108,108,108,254,198,198,9,8,16,10,0,0,63, - 128,60,0,108,0,111,128,108,0,252,0,204,0,207,128,7, - 10,10,8,0,254,60,102,194,192,192,194,102,60,16,48,5, - 11,11,6,0,0,64,32,0,248,192,192,248,192,192,192,248, - 5,11,11,6,0,0,16,32,0,248,192,192,248,192,192,192, - 248,5,11,11,6,0,0,32,80,0,248,192,192,248,192,192, - 192,248,5,10,10,6,0,0,80,0,248,192,192,248,192,192, - 192,248,2,11,11,3,0,0,128,64,0,192,192,192,192,192, - 192,192,192,2,11,11,3,0,0,64,128,0,192,192,192,192, - 192,192,192,192,3,11,11,3,255,0,64,160,0,96,96,96, - 96,96,96,96,96,4,10,10,3,255,0,144,0,96,96,96, - 96,96,96,96,96,7,8,8,7,255,0,120,108,102,246,102, - 102,108,120,7,11,11,8,0,0,20,40,0,198,230,230,214, - 214,206,206,198,7,11,11,8,0,0,16,8,0,56,108,198, - 198,198,198,108,56,7,11,11,8,0,0,8,16,0,56,108, - 198,198,198,198,108,56,7,11,11,8,0,0,16,40,0,56, - 108,198,198,198,198,108,56,7,11,11,8,0,0,20,40,0, - 56,108,198,198,198,198,108,56,7,10,10,8,0,0,40,0, - 56,108,198,198,198,198,108,56,6,5,5,6,0,1,204,120, - 48,120,204,7,8,8,8,0,0,58,108,206,214,214,230,108, - 184,6,11,11,7,0,0,32,16,0,204,204,204,204,204,204, - 204,120,6,11,11,7,0,0,8,16,0,204,204,204,204,204, - 204,204,120,6,11,11,7,0,0,32,80,0,204,204,204,204, - 204,204,204,120,6,10,10,7,0,0,72,0,204,204,204,204, - 204,204,204,120,8,11,11,9,0,0,4,8,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,192,248,204,204,204, - 248,192,192,5,8,8,6,0,0,112,200,200,208,200,200,200, - 208,6,9,9,6,0,0,32,16,0,112,152,120,216,216,108, - 6,9,9,6,0,0,16,32,0,112,152,120,216,216,108,6, - 9,9,6,0,0,32,80,0,112,152,120,216,216,108,6,9, - 9,6,0,0,40,80,0,112,152,120,216,216,108,6,8,8, - 6,0,0,80,0,112,152,120,216,216,108,6,9,9,6,0, - 0,32,80,32,112,152,120,216,216,108,8,6,6,9,0,0, - 126,155,127,216,219,110,4,8,8,5,0,254,112,208,192,192, - 208,112,32,96,5,9,9,6,0,0,64,32,0,112,216,248, - 192,216,112,5,9,9,6,0,0,16,32,0,112,216,248,192, - 216,112,5,9,9,6,0,0,32,80,0,112,216,248,192,216, - 112,5,8,8,6,0,0,80,0,112,216,248,192,216,112,2, - 9,9,3,0,0,128,64,0,192,192,192,192,192,192,2,9, - 9,3,0,0,64,128,0,192,192,192,192,192,192,3,9,9, - 3,0,0,64,160,0,192,192,192,192,192,192,3,8,8,3, - 0,0,160,0,192,192,192,192,192,192,5,9,9,6,0,0, - 80,96,160,112,216,216,216,216,112,5,9,9,6,0,0,80, - 160,0,176,216,216,216,216,216,5,9,9,6,0,0,64,32, - 0,112,216,216,216,216,112,5,9,9,6,0,0,16,32,0, - 112,216,216,216,216,112,5,9,9,6,0,0,32,80,0,112, - 216,216,216,216,112,5,9,9,6,0,0,80,160,0,112,216, - 216,216,216,112,5,8,8,6,0,0,80,0,112,216,216,216, - 216,112,6,5,5,6,0,1,48,0,252,0,48,7,6,6, - 6,255,0,58,108,124,108,108,184,5,9,9,6,0,0,64, - 32,0,216,216,216,216,216,104,5,9,9,6,0,0,16,32, - 0,216,216,216,216,216,104,5,9,9,6,0,0,32,80,0, - 216,216,216,216,216,104,5,8,8,6,0,0,80,0,216,216, - 216,216,216,104,5,11,11,6,0,254,16,32,0,216,216,216, - 216,120,48,48,96,5,10,10,6,0,254,192,192,240,216,200, - 200,216,240,192,192,5,10,10,6,0,254,80,0,216,216,216, - 216,120,48,48,96}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08r[1287] U8G_SECTION(".progmem.u8g_font_helvB08r") = { - 0,12,19,255,251,8,1,182,3,122,32,127,254,9,254,8, - 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, - 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, - 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, - 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, - 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, - 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, - 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, - 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, - 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, - 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, - 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, - 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, - 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, - 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, - 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, - 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, - 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, - 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, - 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, - 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, - 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, - 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, - 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, - 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, - 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, - 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, - 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, - 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, - 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, - 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, - 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, - 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, - 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, - 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, - 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, - 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, - 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, - 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, - 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, - 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, - 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, - 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, - 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, - 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, - 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, - 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, - 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, - 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, - 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, - 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, - 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, - 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, - 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, - 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, - 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, - 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, - 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, - 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, - 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, - 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, - 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, - 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, - 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, - 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, - 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, - 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, - 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, - 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, - 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, - 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, - 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, - 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, - 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, - 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, - 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, - 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, - 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, - 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, - 2,6,0,3,104,176,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 2 y= 9 dx=15 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_SECTION(".progmem.u8g_font_helvB10") = { - 0,17,23,255,250,11,2,27,4,205,32,255,253,14,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, - 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, - 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, - 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, - 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, - 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, - 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, - 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, - 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, - 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, - 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, - 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, - 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, - 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, - 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, - 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, - 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, - 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, - 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, - 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, - 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, - 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, - 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, - 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, - 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, - 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, - 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, - 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, - 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, - 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, - 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, - 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, - 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, - 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, - 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, - 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, - 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, - 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, - 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, - 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, - 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, - 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, - 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, - 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, - 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, - 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, - 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, - 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, - 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, - 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, - 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, - 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, - 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, - 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, - 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, - 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, - 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, - 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, - 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, - 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, - 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, - 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, - 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, - 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, - 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, - 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, - 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, - 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, - 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, - 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, - 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, - 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, - 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, - 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, - 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, - 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, - 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, - 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, - 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, - 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, - 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, - 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, - 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, - 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, - 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, - 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, - 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, - 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, - 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, - 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, - 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, - 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, - 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, - 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, - 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, - 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, - 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, - 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, - 3,9,1,3,114,222,140,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,4,0,1,2,11, - 11,4,1,253,192,192,0,64,64,192,192,192,192,192,192,7, - 10,10,8,0,255,4,60,110,200,208,208,230,102,124,64,8, - 11,11,8,0,0,60,102,102,96,252,48,48,48,96,251,222, - 7,7,7,8,0,2,130,124,108,108,108,124,130,8,11,11, - 9,0,0,195,195,195,102,102,60,126,24,126,24,24,1,14, - 14,4,2,253,128,128,128,128,128,128,0,0,128,128,128,128, - 128,128,6,14,14,8,1,253,120,204,204,224,120,220,204,204, - 236,120,28,204,204,120,5,2,2,5,0,9,216,216,10,11, - 22,12,1,0,30,0,97,128,76,128,210,192,144,64,144,64, - 144,64,146,64,76,128,97,128,30,0,5,7,7,6,0,4, - 112,144,112,208,248,0,248,7,5,5,9,1,2,54,108,216, - 108,54,7,4,4,9,1,2,254,254,2,2,3,1,1,4, - 0,4,224,10,11,22,12,1,0,30,0,97,128,92,128,146, - 64,146,64,156,64,146,64,146,64,82,128,97,128,30,0,5, - 1,1,5,0,9,248,4,4,4,6,1,7,96,144,144,96, - 8,9,9,9,0,0,24,24,24,255,24,24,24,0,255,4, - 6,6,5,0,5,96,176,48,96,192,240,4,6,6,5,0, - 5,96,176,96,48,176,96,3,2,2,5,1,9,96,192,7, - 11,11,9,1,253,198,198,198,198,198,198,238,246,192,192,192, - 8,14,14,8,0,253,63,122,250,250,250,122,58,10,10,10, - 10,10,10,10,2,2,2,4,1,3,192,192,5,3,3,5, - 0,253,24,216,112,3,6,6,4,0,5,96,224,96,96,96, - 96,5,7,7,6,0,4,112,216,216,216,112,0,248,7,5, - 5,9,1,2,216,108,54,108,216,12,11,22,12,0,0,97, - 128,225,128,99,0,99,0,102,0,102,32,6,96,12,224,13, - 96,25,240,24,96,11,11,22,12,0,0,97,128,225,128,99, - 0,99,0,102,0,102,192,7,96,12,96,12,192,25,128,25, - 224,12,11,22,12,0,0,97,128,177,128,99,0,51,0,182, - 0,102,32,6,96,12,224,13,96,25,240,24,96,7,11,11, - 9,1,253,24,24,0,24,24,48,96,192,198,198,124,10,14, - 28,10,0,0,24,0,12,0,0,0,12,0,12,0,30,0, - 18,0,51,0,51,0,97,128,127,128,97,128,192,192,192,192, - 10,14,28,10,0,0,6,0,12,0,0,0,12,0,12,0, - 30,0,18,0,51,0,51,0,97,128,127,128,97,128,192,192, - 192,192,10,14,28,10,0,0,14,0,27,0,0,0,12,0, - 12,0,30,0,18,0,51,0,51,0,97,128,127,128,97,128, - 192,192,192,192,10,14,28,10,0,0,13,0,22,0,0,0, - 12,0,12,0,30,0,18,0,51,0,51,0,97,128,127,128, - 97,128,192,192,192,192,10,14,28,10,0,0,51,0,51,0, - 0,0,12,0,12,0,30,0,18,0,51,0,51,0,97,128, - 127,128,97,128,192,192,192,192,10,14,28,10,0,0,12,0, - 18,0,12,0,12,0,12,0,30,0,18,0,51,0,51,0, - 97,128,127,128,97,128,192,192,192,192,14,11,22,15,0,0, - 15,252,15,0,27,0,19,0,51,0,51,248,99,0,127,0, - 99,0,195,0,195,252,9,14,28,11,1,253,31,0,123,128, - 96,128,192,0,192,0,192,0,192,0,192,0,96,128,123,128, - 31,0,6,0,54,0,28,0,7,14,14,9,1,0,48,24, - 0,254,192,192,192,192,254,192,192,192,192,254,7,14,14,9, - 1,0,12,24,0,254,192,192,192,192,254,192,192,192,192,254, - 7,14,14,9,1,0,28,54,0,254,192,192,192,192,254,192, - 192,192,192,254,7,14,14,9,1,0,108,108,0,254,192,192, - 192,192,254,192,192,192,192,254,3,14,14,4,0,0,192,96, - 0,96,96,96,96,96,96,96,96,96,96,96,3,14,14,4, - 1,0,96,192,0,192,192,192,192,192,192,192,192,192,192,192, - 5,14,14,4,0,0,112,216,0,96,96,96,96,96,96,96, - 96,96,96,96,5,14,14,4,0,0,216,216,0,96,96,96, - 96,96,96,96,96,96,96,96,10,11,22,11,0,0,126,0, - 99,128,97,128,96,192,96,192,248,192,96,192,96,192,97,128, - 99,128,126,0,9,14,28,11,1,0,26,0,44,0,0,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,14,28,12,1,0,24,0,12,0, - 0,0,30,0,115,128,97,128,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,14,28,12,1,0,6,0, - 12,0,0,0,30,0,115,128,97,128,192,192,192,192,192,192, - 192,192,192,192,97,128,115,128,30,0,10,14,28,12,1,0, - 14,0,27,0,0,0,30,0,115,128,97,128,192,192,192,192, - 192,192,192,192,192,192,97,128,115,128,30,0,10,14,28,12, - 1,0,13,0,22,0,0,0,30,0,115,128,97,128,192,192, - 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,14, - 28,12,1,0,51,0,51,0,0,0,30,0,115,128,97,128, - 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, - 8,7,7,9,0,1,195,102,60,24,60,102,195,12,11,22, - 12,0,0,15,48,57,224,48,192,97,224,99,96,102,96,108, - 96,120,96,48,192,121,192,207,0,9,14,28,11,1,0,24, - 0,12,0,0,0,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,0,62,0,9,14,28,11,1, - 0,6,0,12,0,0,0,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,99,0,62,0,9,14,28, - 11,1,0,28,0,54,0,0,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,193,128,99,0,62,0,9, - 14,28,11,1,0,99,0,99,0,0,0,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,10,0,0,6,0,12,0,0,0,192,192,97, - 128,97,128,51,0,51,0,30,0,30,0,12,0,12,0,12, - 0,12,0,8,11,11,10,1,0,192,192,254,199,195,195,199, - 254,192,192,192,6,11,11,8,1,0,120,204,204,204,216,216, - 204,204,204,204,216,7,11,11,8,1,0,48,24,0,120,204, - 12,124,204,204,220,118,7,11,11,8,1,0,24,48,0,120, - 204,12,124,204,204,220,118,7,11,11,8,1,0,56,108,0, - 120,204,12,124,204,204,220,118,7,11,11,8,1,0,52,88, - 0,120,204,12,124,204,204,220,118,7,11,11,8,1,0,108, - 108,0,120,204,12,124,204,204,220,118,7,11,11,8,1,0, - 48,72,48,120,204,12,124,204,204,220,118,11,8,16,13,1, - 0,123,192,206,96,12,96,127,224,204,0,204,0,222,96,119, - 192,7,11,11,9,1,253,60,102,198,192,192,198,102,60,24, - 88,112,6,11,11,8,1,0,96,48,0,120,204,204,252,192, - 192,236,120,6,11,11,8,1,0,24,48,0,120,204,204,252, - 192,192,236,120,6,11,11,8,1,0,56,108,0,120,204,204, - 252,192,192,236,120,6,11,11,8,1,0,108,108,0,120,204, - 204,252,192,192,236,120,3,11,11,4,0,0,192,96,0,96, - 96,96,96,96,96,96,96,3,11,11,4,1,0,96,192,0, - 192,192,192,192,192,192,192,192,5,11,11,4,0,0,112,216, - 0,96,96,96,96,96,96,96,96,5,11,11,4,0,0,216, - 216,0,96,96,96,96,96,96,96,96,7,11,11,9,1,0, - 108,56,72,60,108,198,198,198,198,108,56,7,11,11,9,1, - 0,52,88,0,220,238,198,198,198,198,198,198,7,11,11,9, - 1,0,48,24,0,56,108,198,198,198,198,108,56,7,11,11, - 9,1,0,24,48,0,56,108,198,198,198,198,108,56,7,11, - 11,9,1,0,56,108,0,56,108,198,198,198,198,108,56,7, - 11,11,9,1,0,52,88,0,56,108,198,198,198,198,108,56, - 7,11,11,9,1,0,108,108,0,56,108,198,198,198,198,108, - 56,8,7,7,9,0,1,24,24,0,255,0,24,24,7,8, - 8,9,1,0,58,108,206,214,214,230,108,184,7,11,11,9, - 1,0,48,24,0,198,198,198,198,198,198,238,118,7,11,11, - 9,1,0,12,24,0,198,198,198,198,198,198,238,118,7,11, - 11,9,1,0,56,108,0,198,198,198,198,198,198,238,118,7, - 11,11,9,1,0,108,108,0,198,198,198,198,198,198,238,118, - 8,14,14,8,0,253,12,24,0,195,195,102,102,36,60,24, - 24,24,48,112,7,14,14,9,1,253,192,192,192,216,236,198, - 198,198,198,236,216,192,192,192,8,14,14,8,0,253,54,54, - 0,195,195,102,102,36,60,24,24,24,48,112}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=12 len=24 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10r[1720] U8G_SECTION(".progmem.u8g_font_helvB10r") = { - 0,17,23,255,250,11,2,27,4,205,32,127,253,12,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, - 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, - 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, - 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, - 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, - 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, - 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, - 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, - 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, - 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, - 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, - 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, - 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, - 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, - 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, - 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, - 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, - 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, - 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, - 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, - 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, - 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, - 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, - 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, - 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, - 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, - 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, - 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, - 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, - 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, - 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, - 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, - 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, - 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, - 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, - 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, - 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, - 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, - 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, - 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, - 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, - 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, - 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, - 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, - 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, - 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, - 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, - 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, - 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, - 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, - 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, - 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, - 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, - 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, - 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, - 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, - 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, - 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, - 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, - 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, - 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, - 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, - 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, - 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, - 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, - 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, - 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, - 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, - 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, - 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, - 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, - 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, - 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, - 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, - 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, - 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, - 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, - 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, - 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, - 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, - 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, - 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, - 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, - 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, - 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, - 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, - 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, - 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, - 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, - 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, - 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, - 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, - 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, - 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, - 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, - 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, - 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, - 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, - 3,9,1,3,114,222,140,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=17 x= 2 y=10 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_SECTION(".progmem.u8g_font_helvB12") = { - 0,20,27,254,249,12,2,74,5,106,32,255,252,16,252,12, - 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, - 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, - 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, - 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, - 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, - 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, - 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, - 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, - 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, - 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, - 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, - 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, - 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, - 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, - 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, - 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, - 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, - 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, - 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, - 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, - 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, - 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, - 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, - 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, - 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, - 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, - 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, - 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, - 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, - 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, - 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, - 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, - 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, - 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, - 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, - 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, - 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, - 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, - 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, - 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, - 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, - 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, - 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, - 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, - 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, - 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, - 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, - 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, - 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, - 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, - 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, - 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, - 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, - 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, - 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, - 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, - 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, - 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, - 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, - 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, - 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, - 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, - 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, - 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, - 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, - 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, - 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, - 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, - 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, - 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, - 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, - 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, - 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, - 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, - 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, - 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, - 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, - 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, - 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, - 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, - 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, - 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, - 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, - 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, - 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, - 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, - 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, - 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, - 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, - 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, - 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, - 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, - 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, - 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, - 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, - 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, - 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, - 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, - 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, - 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, - 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, - 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, - 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, - 8,3,3,10,1,3,113,153,142,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,5,0,1, - 2,12,12,6,1,253,192,192,0,64,64,64,192,192,192,192, - 192,192,8,11,11,9,0,255,4,60,126,239,200,216,208,247, - 126,60,32,8,12,12,9,0,0,28,62,99,99,96,48,124, - 48,48,32,127,255,7,7,7,9,1,2,186,124,198,198,198, - 124,186,8,12,12,9,0,0,195,195,102,102,60,24,126,24, - 126,24,24,24,1,16,16,5,2,252,128,128,128,128,128,128, - 128,0,0,128,128,128,128,128,128,128,8,15,15,9,0,253, - 60,126,102,96,120,126,199,195,243,126,30,6,102,126,60,5, - 2,2,6,0,10,216,216,12,12,24,12,0,0,15,0,57, - 192,96,96,79,32,217,176,144,16,144,16,217,176,79,32,96, - 32,57,192,15,0,5,7,7,6,1,5,96,144,112,144,120, - 0,248,8,6,6,9,0,2,51,102,204,204,102,51,8,5, - 5,10,0,2,255,255,3,3,3,4,2,2,5,0,3,240, - 240,12,12,24,12,0,0,15,0,57,192,96,96,95,32,217, - 176,153,144,158,16,219,48,91,32,96,96,57,192,15,0,5, - 1,1,6,0,10,248,4,5,5,7,1,7,96,144,144,144, - 96,8,11,11,10,1,0,24,24,24,255,255,24,24,24,0, - 255,255,5,7,7,6,0,5,112,216,216,48,96,248,248,5, - 7,7,6,0,5,112,216,24,48,24,216,112,3,3,3,6, - 1,10,32,96,128,8,12,12,10,1,253,195,195,195,195,195, - 195,199,255,251,192,192,192,8,15,15,9,0,253,127,242,242, - 242,242,242,114,18,18,18,18,18,18,18,18,2,2,2,5, - 1,4,192,192,5,4,4,6,0,252,32,48,152,112,4,7, - 7,6,1,5,48,240,240,48,48,48,48,5,7,7,6,0, - 5,112,216,136,216,112,0,248,8,6,6,9,1,2,204,102, - 51,51,102,204,13,12,24,14,1,0,48,192,240,128,241,128, - 49,0,51,48,50,112,54,240,4,176,13,176,9,248,24,48, - 16,48,12,12,24,14,0,0,48,128,241,128,241,0,51,0, - 50,0,54,224,53,176,13,176,8,96,24,192,17,240,49,240, - 13,12,24,14,0,0,112,64,216,192,24,128,49,128,25,48, - 219,112,114,240,6,176,5,176,13,248,8,48,24,48,7,12, - 12,10,1,253,48,48,0,48,48,96,224,192,198,198,254,124, - 11,16,32,12,0,0,16,0,24,0,4,0,0,0,14,0, - 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, - 255,224,192,96,192,96,11,16,32,12,0,0,2,0,6,0, - 8,0,0,0,14,0,14,0,31,0,27,0,59,128,49,128, - 113,192,96,192,127,192,255,224,192,96,192,96,11,16,32,12, - 0,0,4,0,14,0,17,0,0,0,14,0,14,0,31,0, - 27,0,59,128,49,128,113,192,96,192,127,192,255,224,192,96, - 192,96,11,15,30,12,0,0,14,128,23,0,0,0,14,0, - 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, - 255,224,192,96,192,96,11,15,30,12,0,0,49,128,49,128, - 0,0,14,0,14,0,31,0,27,0,59,128,49,128,113,192, - 96,192,127,192,255,224,192,96,192,96,11,16,32,12,0,0, - 12,0,18,0,18,0,12,0,14,0,14,0,31,0,27,0, - 59,128,49,128,113,192,96,192,127,192,255,224,192,96,192,96, - 14,12,24,15,0,0,31,252,31,252,27,0,51,0,51,0, - 51,248,99,248,127,0,127,0,195,0,195,252,195,252,10,16, - 32,12,1,252,31,0,63,128,113,192,96,192,224,0,192,0, - 192,0,224,0,96,192,113,192,63,128,31,0,4,0,6,0, - 19,0,14,0,8,16,16,10,1,0,32,48,8,0,255,255, - 192,192,192,254,254,192,192,192,255,255,8,16,16,10,1,0, - 4,12,16,0,255,255,192,192,192,254,254,192,192,192,255,255, - 8,16,16,10,1,0,8,28,34,0,255,255,192,192,192,254, - 254,192,192,192,255,255,8,15,15,10,1,0,102,102,0,255, - 255,192,192,192,254,254,192,192,192,255,255,3,16,16,4,0, - 0,128,192,32,0,96,96,96,96,96,96,96,96,96,96,96, - 96,3,16,16,4,1,0,32,96,128,0,192,192,192,192,192, - 192,192,192,192,192,192,192,5,16,16,4,0,0,32,112,136, - 0,96,96,96,96,96,96,96,96,96,96,96,96,6,15,15, - 4,255,0,204,204,0,48,48,48,48,48,48,48,48,48,48, - 48,48,12,12,24,12,0,0,63,0,63,192,48,224,48,96, - 48,112,252,48,252,48,48,112,48,96,48,224,63,192,63,0, - 10,15,30,12,1,0,29,0,46,0,0,0,224,192,240,192, - 240,192,216,192,216,192,204,192,204,192,198,192,198,192,195,192, - 195,192,193,192,11,16,32,13,1,0,8,0,12,0,2,0, - 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, - 224,224,96,192,113,192,63,128,31,0,11,16,32,13,1,0, - 1,0,3,0,4,0,0,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 11,16,32,13,1,0,4,0,14,0,17,0,0,0,31,0, - 63,128,113,192,96,192,224,224,192,96,192,96,224,224,96,192, - 113,192,63,128,31,0,11,15,30,13,1,0,14,128,23,0, - 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, - 224,224,96,192,113,192,63,128,31,0,11,15,30,13,1,0, - 25,128,25,128,0,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,224,224,96,192,113,192,63,128,31,0,9,9, - 18,10,0,0,65,0,227,128,119,0,62,0,28,0,62,0, - 119,0,227,128,65,0,11,12,24,13,1,0,31,32,63,192, - 112,192,97,192,227,96,198,96,204,96,216,224,112,192,97,192, - 127,128,159,0,10,16,32,12,1,0,16,0,24,0,4,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,16,32,12,1,0, - 2,0,6,0,8,0,0,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, - 10,16,32,12,1,0,4,0,14,0,17,0,0,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,15,30,12,1,0,51,0,51,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,16,32,11,0,0, - 2,0,6,0,8,0,0,0,192,192,225,192,97,128,51,0, - 51,0,30,0,30,0,12,0,12,0,12,0,12,0,12,0, - 9,12,24,11,1,0,192,0,254,0,255,0,195,128,193,128, - 193,128,195,128,255,0,254,0,192,0,192,0,192,0,8,12, - 12,10,1,0,124,254,198,198,220,222,195,195,195,195,222,220, - 8,13,13,9,1,0,32,48,8,0,124,254,198,14,126,230, - 198,254,119,8,13,13,9,1,0,4,12,16,0,124,254,198, - 14,126,230,198,254,119,8,13,13,9,1,0,16,56,68,0, - 124,254,198,14,126,230,198,254,119,8,12,12,9,1,0,58, - 92,0,124,254,198,14,126,230,198,254,119,8,12,12,9,1, - 0,108,108,0,124,254,198,14,126,230,198,254,119,8,13,13, - 9,1,0,24,36,36,24,124,254,198,14,126,230,198,254,119, - 13,9,18,15,1,0,125,224,255,240,198,24,15,248,127,248, - 230,0,207,56,255,240,121,224,8,13,13,9,1,252,60,126, - 231,192,192,192,231,126,60,16,24,76,56,8,13,13,10,1, - 0,32,48,8,0,60,126,195,255,255,192,231,126,60,8,13, - 13,10,1,0,4,12,16,0,60,126,195,255,255,192,231,126, - 60,8,13,13,10,1,0,8,28,34,0,60,126,195,255,255, - 192,231,126,60,8,12,12,10,1,0,54,54,0,60,126,195, - 255,255,192,231,126,60,3,13,13,4,0,0,128,192,32,0, - 96,96,96,96,96,96,96,96,96,3,13,13,4,1,0,32, - 96,128,0,192,192,192,192,192,192,192,192,192,5,13,13,4, - 0,0,32,112,136,0,96,96,96,96,96,96,96,96,96,5, - 12,12,4,0,0,216,216,0,96,96,96,96,96,96,96,96, - 96,8,12,12,10,1,0,96,124,248,28,126,231,195,195,195, - 231,126,60,8,12,12,10,1,0,58,92,0,222,255,227,195, - 195,195,195,195,195,8,13,13,10,1,0,32,48,8,0,60, - 126,231,195,195,195,231,126,60,8,13,13,10,1,0,8,24, - 32,0,60,126,231,195,195,195,231,126,60,8,13,13,10,1, - 0,16,56,68,0,60,126,231,195,195,195,231,126,60,8,12, - 12,10,1,0,58,92,0,60,126,231,195,195,195,231,126,60, - 8,12,12,10,1,0,108,108,0,60,126,231,195,195,195,231, - 126,60,8,8,8,10,1,0,24,24,0,255,255,0,24,24, - 8,9,9,10,1,0,61,127,231,207,219,243,231,254,188,8, - 13,13,10,1,0,32,48,8,0,195,195,195,195,195,195,199, - 255,123,8,13,13,10,1,0,8,24,32,0,195,195,195,195, - 195,195,199,255,123,8,13,13,10,1,0,16,56,68,0,195, - 195,195,195,195,195,199,255,123,8,12,12,10,1,0,108,108, - 0,195,195,195,195,195,195,199,255,123,8,17,17,9,0,252, - 4,12,16,0,195,195,99,102,54,54,60,28,24,24,24,112, - 96,8,16,16,10,1,252,192,192,192,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,16,16,9,0,252,54,54,0, - 195,195,99,102,54,54,60,28,24,24,24,112,96}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=16 x= 2 y=10 dx=16 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12r[1914] U8G_SECTION(".progmem.u8g_font_helvB12r") = { - 0,20,27,254,249,12,2,74,5,106,32,127,252,13,252,12, - 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, - 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, - 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, - 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, - 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, - 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, - 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, - 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, - 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, - 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, - 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, - 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, - 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, - 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, - 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, - 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, - 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, - 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, - 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, - 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, - 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, - 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, - 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, - 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, - 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, - 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, - 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, - 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, - 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, - 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, - 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, - 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, - 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, - 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, - 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, - 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, - 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, - 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, - 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, - 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, - 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, - 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, - 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, - 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, - 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, - 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, - 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, - 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, - 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, - 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, - 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, - 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, - 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, - 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, - 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, - 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, - 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, - 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, - 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, - 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, - 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, - 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, - 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, - 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, - 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, - 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, - 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, - 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, - 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, - 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, - 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, - 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, - 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, - 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, - 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, - 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, - 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, - 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, - 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, - 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, - 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, - 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, - 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, - 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, - 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, - 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, - 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, - 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, - 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, - 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, - 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, - 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, - 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, - 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, - 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, - 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, - 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, - 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, - 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, - 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, - 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, - 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, - 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, - 8,3,3,10,1,3,113,153,142,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=19 x= 2 y=12 dx=18 dy= 0 ascent=18 len=38 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_SECTION(".progmem.u8g_font_helvB14") = { - 0,22,29,254,249,14,3,23,6,234,32,255,252,18,251,14, - 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, - 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, - 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, - 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, - 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, - 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, - 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, - 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, - 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, - 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, - 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, - 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, - 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, - 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, - 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, - 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, - 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, - 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, - 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, - 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, - 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, - 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, - 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, - 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, - 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, - 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, - 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, - 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, - 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, - 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, - 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, - 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, - 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, - 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, - 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, - 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, - 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, - 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, - 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, - 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, - 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, - 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, - 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, - 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, - 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, - 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, - 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, - 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, - 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, - 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, - 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, - 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, - 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, - 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, - 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, - 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, - 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, - 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, - 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, - 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, - 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, - 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, - 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, - 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, - 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, - 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, - 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, - 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, - 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, - 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, - 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, - 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, - 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, - 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, - 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, - 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, - 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, - 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, - 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, - 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, - 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, - 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, - 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, - 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, - 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, - 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, - 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, - 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, - 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, - 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, - 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, - 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, - 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, - 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, - 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, - 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, - 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, - 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, - 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, - 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, - 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, - 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, - 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, - 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, - 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, - 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, - 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, - 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, - 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, - 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, - 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, - 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, - 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, - 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, - 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, - 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, - 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, - 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, - 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, - 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, - 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, - 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, - 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, - 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, - 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, - 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, - 128,207,0,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,5,0,1,3,14,14,6,2,252, - 224,224,224,0,96,96,224,224,224,224,224,224,224,224,8,14, - 14,10,1,254,2,2,62,127,231,200,200,208,208,227,127,126, - 64,64,10,13,26,11,0,0,31,0,63,192,113,192,112,0, - 112,0,56,0,127,0,28,0,28,0,56,0,112,192,255,192, - 239,128,9,8,16,11,1,2,193,128,255,128,119,0,99,0, - 99,0,119,0,255,128,193,128,9,13,26,10,0,0,227,128, - 227,128,227,128,119,0,119,0,62,0,255,128,28,0,255,128, - 28,0,28,0,28,0,28,0,2,18,18,5,1,252,192,192, - 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,192, - 9,18,36,10,0,252,62,0,127,0,227,128,227,128,240,0, - 124,0,254,0,199,0,195,128,225,128,113,128,63,128,15,0, - 7,128,227,128,227,128,127,0,62,0,5,2,2,7,1,12, - 216,216,14,14,28,15,1,0,15,192,56,112,96,24,199,140, - 207,204,152,196,152,4,152,4,152,68,207,204,199,140,96,24, - 56,112,15,192,6,9,9,8,1,5,120,140,124,204,204,116, - 0,252,252,10,8,16,11,0,1,29,192,59,128,119,0,238, - 0,238,0,119,0,59,128,29,192,9,5,10,11,1,3,255, - 128,255,128,1,128,1,128,1,128,5,3,3,6,0,4,248, - 248,248,13,14,28,15,1,0,15,128,48,96,96,16,95,144, - 153,200,152,200,153,200,159,8,153,136,153,136,88,208,96,48, - 56,224,15,128,5,2,2,7,1,12,248,248,6,6,6,7, - 0,7,120,252,204,204,252,120,9,9,18,11,1,0,28,0, - 28,0,255,128,255,128,28,0,28,0,0,0,255,128,255,128, - 6,8,8,6,0,5,120,252,204,28,120,224,252,252,6,8, - 8,6,0,5,120,252,204,56,60,204,252,120,5,3,3,5, - 0,11,56,112,224,9,14,28,11,1,252,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,251,128,224, - 0,224,0,224,0,224,0,9,18,36,10,0,252,63,128,123, - 0,251,0,251,0,251,0,251,0,251,0,123,0,59,0,27, - 0,27,0,27,0,27,0,27,0,27,0,27,0,27,0,27, - 0,2,2,2,5,1,6,192,192,5,5,5,7,1,251,96, - 112,24,248,240,4,8,8,6,0,5,48,240,240,48,48,48, - 48,48,6,9,9,8,1,5,120,204,204,204,204,120,0,252, - 252,10,8,16,11,0,1,238,0,119,0,59,128,29,192,29, - 192,59,128,119,0,238,0,14,13,26,15,0,0,48,96,240, - 96,240,192,48,192,49,128,49,152,51,56,54,56,6,120,12, - 216,12,252,24,24,24,24,15,13,26,15,0,0,48,96,240, - 96,240,192,48,192,49,128,49,188,51,126,54,102,6,14,12, - 60,12,112,24,126,24,126,14,13,26,15,0,0,120,48,252, - 48,204,96,56,96,60,192,204,216,253,184,123,56,3,120,6, - 216,6,252,12,24,12,24,8,14,14,10,1,252,28,28,28, - 0,28,28,28,56,120,112,231,231,255,126,12,18,36,14,1, - 0,56,0,28,0,6,0,0,0,15,0,15,0,31,128,25, - 128,25,128,57,192,57,192,48,192,112,224,127,224,127,224,224, - 112,224,112,224,112,12,18,36,14,1,0,1,192,3,128,6, - 0,0,0,15,0,15,0,31,128,25,128,25,128,57,192,57, - 192,48,192,112,224,127,224,127,224,224,112,224,112,224,112,12, - 18,36,14,1,0,7,0,15,128,29,192,0,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,12,18,36,14,1,0,14, - 32,31,192,35,128,0,0,15,0,15,0,31,128,25,128,25, - 128,57,192,57,192,48,192,112,224,127,224,127,224,224,112,224, - 112,224,112,12,18,36,14,1,0,25,128,25,128,25,128,0, - 0,15,0,15,0,31,128,25,128,25,128,57,192,57,192,48, - 192,112,224,127,224,127,224,224,112,224,112,224,112,12,18,36, - 14,1,0,15,0,25,128,25,128,15,0,15,0,15,0,31, - 128,25,128,25,128,57,192,57,192,48,192,112,224,127,224,127, - 224,224,112,224,112,224,112,16,14,28,18,1,0,15,255,15, - 255,31,128,27,128,59,128,59,128,51,254,115,254,115,128,127, - 128,255,128,227,128,227,255,227,255,12,19,38,14,1,251,15, - 128,63,224,120,224,112,112,240,112,224,0,224,0,224,0,224, - 0,240,112,112,112,120,224,63,224,15,128,12,0,14,0,3, - 0,31,0,30,0,10,18,36,13,2,0,56,0,28,0,6, - 0,0,0,255,192,255,192,224,0,224,0,224,0,224,0,255, - 128,255,128,224,0,224,0,224,0,224,0,255,192,255,192,10, - 18,36,13,2,0,3,128,7,0,12,0,0,0,255,192,255, - 192,224,0,224,0,224,0,224,0,255,128,255,128,224,0,224, - 0,224,0,224,0,255,192,255,192,10,18,36,13,2,0,14, - 0,31,0,59,128,0,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,255, - 192,255,192,10,18,36,13,2,0,51,0,51,0,51,0,0, - 0,255,192,255,192,224,0,224,0,224,0,224,0,255,128,255, - 128,224,0,224,0,224,0,224,0,255,192,255,192,5,18,18, - 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,5,18,18,5,1,0,56,112,192,0,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,7,18,18, - 5,255,0,56,124,238,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,6,18,18,5,0,0,204,204,204,0,112, - 112,112,112,112,112,112,112,112,112,112,112,112,112,14,14,28, - 14,255,0,63,192,63,240,56,120,56,56,56,28,56,28,255, - 28,255,28,56,28,56,28,56,56,56,120,63,240,63,192,12, - 18,36,14,1,0,14,32,31,192,35,128,0,0,224,112,240, - 112,240,112,248,112,252,112,236,112,238,112,230,112,231,112,227, - 112,225,240,225,240,224,240,224,112,13,18,36,15,1,0,28, - 0,14,0,3,0,0,0,15,128,63,224,120,240,112,112,240, - 120,224,56,224,56,224,56,224,56,240,120,112,112,120,240,63, - 224,15,128,13,18,36,15,1,0,1,192,3,128,6,0,0, - 0,15,128,63,224,120,240,112,112,240,120,224,56,224,56,224, - 56,224,56,240,120,112,112,120,240,63,224,15,128,13,18,36, - 15,1,0,7,0,15,128,29,192,0,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,13,18,36,15,1,0,7,16,15, - 224,17,192,0,0,15,128,63,224,120,240,112,112,240,120,224, - 56,224,56,224,56,224,56,240,120,112,112,120,240,63,224,15, - 128,13,18,36,15,1,0,12,192,12,192,12,192,0,0,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,240,120,112,112,120,240,63,224,15,128,10,8,16,11,0, - 1,225,192,115,128,63,0,30,0,30,0,63,0,115,128,225, - 192,15,14,28,15,0,0,7,198,31,252,60,56,56,120,120, - 220,113,156,113,28,115,28,118,28,124,60,56,56,60,120,127, - 240,199,192,12,18,36,14,1,0,28,0,14,0,3,0,0, - 0,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,112,224,127,224,31,128,12,18,36, - 14,1,0,1,192,3,128,6,0,0,0,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,112,224,127,224,31,128,12,18,36,14,1,0,7,0,15, - 128,29,192,0,0,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,127,224,31, - 128,12,18,36,14,1,0,25,128,25,128,25,128,0,0,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,112,224,127,224,31,128,13,18,36,13,0, - 0,1,192,3,128,6,0,0,0,224,56,224,56,112,112,56, - 224,56,224,29,192,29,192,15,128,7,0,7,0,7,0,7, - 0,7,0,7,0,11,14,28,13,1,0,224,0,224,0,224, - 0,255,0,255,192,225,224,224,224,224,224,225,224,255,192,255, - 0,224,0,224,0,224,0,8,14,14,10,1,0,60,126,231, - 231,231,231,238,238,231,231,231,231,239,238,10,14,28,11,1, - 0,112,0,56,0,12,0,0,0,62,0,127,0,115,128,7, - 128,63,128,123,128,227,128,231,128,251,128,123,192,10,14,28, - 11,1,0,3,128,7,0,12,0,0,0,62,0,127,0,115, - 128,7,128,63,128,123,128,227,128,231,128,251,128,123,192,10, - 14,28,11,1,0,28,0,62,0,119,0,0,0,62,0,127, - 0,115,128,7,128,63,128,123,128,227,128,231,128,251,128,123, - 192,10,14,28,11,1,0,59,0,127,0,110,0,0,0,62, - 0,127,0,115,128,7,128,63,128,123,128,227,128,231,128,251, - 128,123,192,10,14,28,11,1,0,51,0,51,0,51,0,0, - 0,62,0,127,0,115,128,7,128,63,128,123,128,227,128,231, - 128,251,128,123,192,10,14,28,11,1,0,60,0,102,0,102, - 0,60,0,62,0,127,0,115,128,7,128,63,128,123,128,227, - 128,231,128,251,128,123,192,14,10,20,16,1,0,61,240,127, - 248,103,28,15,28,63,252,119,0,231,0,239,156,255,252,121, - 240,9,15,30,10,1,251,30,0,127,128,115,128,224,0,224, - 0,224,0,224,0,115,128,127,128,30,0,24,0,28,0,6, - 0,62,0,60,0,9,14,28,11,1,0,112,0,56,0,12, - 0,0,0,30,0,127,0,115,128,225,128,255,128,255,128,224, - 0,115,128,127,128,30,0,9,14,28,11,1,0,3,128,7, - 0,12,0,0,0,30,0,127,0,115,128,225,128,255,128,255, - 128,224,0,115,128,127,128,30,0,9,14,28,11,1,0,28, - 0,62,0,119,0,0,0,30,0,127,0,115,128,225,128,255, - 128,255,128,224,0,115,128,127,128,30,0,9,14,28,11,1, - 0,51,0,51,0,51,0,0,0,30,0,127,0,115,128,225, - 128,255,128,255,128,224,0,115,128,127,128,30,0,5,14,14, - 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, - 56,5,14,14,5,1,0,56,112,192,0,224,224,224,224,224, - 224,224,224,224,224,7,14,14,5,255,0,56,124,238,0,56, - 56,56,56,56,56,56,56,56,56,5,14,14,5,0,0,216, - 216,216,0,112,112,112,112,112,112,112,112,112,112,10,14,28, - 12,1,0,96,0,55,0,60,0,102,0,31,0,127,128,115, - 128,225,192,225,192,225,192,225,192,115,128,127,128,30,0,9, - 14,28,11,1,0,59,0,127,0,110,0,0,0,239,0,255, - 128,243,128,227,128,227,128,227,128,227,128,227,128,227,128,227, - 128,10,14,28,12,1,0,112,0,56,0,12,0,0,0,30, - 0,127,128,115,128,225,192,225,192,225,192,225,192,115,128,127, - 128,30,0,10,14,28,12,1,0,3,128,7,0,12,0,0, - 0,30,0,127,128,115,128,225,192,225,192,225,192,225,192,115, - 128,127,128,30,0,10,14,28,12,1,0,28,0,62,0,119, - 0,0,0,30,0,127,128,115,128,225,192,225,192,225,192,225, - 192,115,128,127,128,30,0,10,14,28,12,1,0,59,0,127, - 0,110,0,0,0,30,0,127,128,115,128,225,192,225,192,225, - 192,225,192,115,128,127,128,30,0,10,14,28,12,1,0,51, - 0,51,0,51,0,0,0,30,0,127,128,115,128,225,192,225, - 192,225,192,225,192,115,128,127,128,30,0,9,8,16,11,1, - 1,28,0,28,0,0,0,255,128,255,128,0,0,28,0,28, - 0,12,10,20,12,0,0,15,48,63,224,57,192,115,224,119, - 224,126,224,124,224,57,192,127,192,207,0,9,14,28,11,1, - 0,112,0,56,0,12,0,0,0,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,231,128,255,128,123,128,9,14,28, - 11,1,0,3,128,7,0,12,0,0,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 14,28,11,1,0,28,0,62,0,119,0,0,0,227,128,227, - 128,227,128,227,128,227,128,227,128,227,128,231,128,255,128,123, - 128,9,14,28,11,1,0,51,0,51,0,51,0,0,0,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,231,128,255, - 128,123,128,9,18,36,11,1,252,7,0,14,0,24,0,0, - 0,227,128,227,128,227,128,119,0,119,0,119,0,62,0,62, - 0,28,0,28,0,28,0,24,0,120,0,112,0,10,18,36, - 12,1,252,224,0,224,0,224,0,224,0,239,0,255,128,243, - 128,225,192,225,192,225,192,225,192,243,128,255,128,239,0,224, - 0,224,0,224,0,224,0,9,18,36,11,1,252,51,0,51, - 0,51,0,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,28,0,24,0,120,0,112, - 0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14r[2548] U8G_SECTION(".progmem.u8g_font_helvB14r") = { - 0,22,29,254,249,14,3,23,6,234,32,127,252,14,252,14, - 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, - 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, - 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, - 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, - 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, - 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, - 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, - 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, - 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, - 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, - 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, - 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, - 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, - 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, - 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, - 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, - 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, - 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, - 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, - 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, - 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, - 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, - 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, - 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, - 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, - 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, - 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, - 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, - 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, - 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, - 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, - 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, - 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, - 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, - 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, - 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, - 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, - 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, - 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, - 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, - 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, - 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, - 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, - 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, - 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, - 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, - 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, - 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, - 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, - 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, - 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, - 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, - 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, - 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, - 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, - 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, - 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, - 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, - 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, - 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, - 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, - 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, - 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, - 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, - 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, - 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, - 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, - 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, - 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, - 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, - 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, - 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, - 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, - 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, - 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, - 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, - 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, - 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, - 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, - 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, - 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, - 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, - 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, - 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, - 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, - 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, - 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, - 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, - 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, - 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, - 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, - 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, - 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, - 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, - 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, - 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, - 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, - 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, - 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, - 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, - 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, - 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, - 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, - 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, - 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, - 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, - 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, - 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, - 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, - 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, - 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, - 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, - 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, - 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, - 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, - 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, - 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, - 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, - 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, - 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, - 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, - 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, - 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, - 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, - 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, - 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, - 128,207,0,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=17 dx=24 dy= 0 ascent=24 len=72 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_SECTION(".progmem.u8g_font_helvB18") = { - 0,28,37,254,248,19,4,35,9,107,32,255,251,24,251,19, - 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, - 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, - 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, - 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, - 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, - 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, - 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, - 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, - 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, - 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, - 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, - 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, - 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, - 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, - 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, - 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, - 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, - 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, - 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, - 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, - 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, - 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, - 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, - 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, - 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, - 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, - 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, - 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, - 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, - 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, - 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, - 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, - 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, - 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, - 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, - 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, - 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, - 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, - 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, - 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, - 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, - 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, - 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, - 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, - 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, - 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, - 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, - 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, - 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, - 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, - 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, - 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, - 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, - 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, - 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, - 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, - 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, - 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, - 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, - 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, - 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, - 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, - 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, - 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, - 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, - 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, - 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, - 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, - 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, - 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, - 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, - 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, - 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, - 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, - 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, - 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, - 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, - 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, - 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, - 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, - 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, - 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, - 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, - 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, - 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, - 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, - 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, - 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, - 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, - 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, - 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, - 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, - 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, - 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, - 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, - 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, - 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, - 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, - 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, - 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, - 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, - 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, - 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, - 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, - 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, - 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, - 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, - 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, - 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, - 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, - 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, - 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, - 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, - 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, - 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, - 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, - 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, - 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, - 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, - 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, - 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, - 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, - 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, - 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, - 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, - 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, - 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, - 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, - 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, - 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, - 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, - 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, - 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, - 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, - 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, - 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, - 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, - 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, - 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, - 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, - 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, - 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, - 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, - 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, - 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, - 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, - 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, - 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, - 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, - 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, - 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, - 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, - 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, - 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, - 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, - 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, - 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, - 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, - 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, - 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, - 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, - 8,14,1,5,120,224,254,224,239,224,227,192,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,1,3,19,19,7,2,251,224,224,224,0,0,96,96, - 96,224,224,224,224,224,224,224,224,224,224,224,11,18,36,14, - 1,254,1,128,1,128,31,128,63,192,123,224,115,96,227,0, - 230,0,230,0,230,0,230,0,236,0,236,224,125,224,127,192, - 63,128,24,0,24,0,13,18,36,14,1,0,31,128,63,192, - 112,224,112,224,112,0,120,0,56,0,28,0,255,192,255,192, - 28,0,28,0,28,0,56,0,56,0,127,56,255,248,241,240, - 12,12,24,14,1,3,192,48,239,112,127,224,57,192,112,224, - 112,224,112,224,112,224,57,192,127,224,239,112,192,48,13,18, - 36,14,0,0,224,56,224,56,112,112,112,112,56,224,56,224, - 29,192,29,192,127,240,127,240,7,0,127,240,127,240,7,0, - 7,0,7,0,7,0,7,0,2,24,24,7,3,251,192,192, - 192,192,192,192,192,192,192,192,0,0,0,0,192,192,192,192, - 192,192,192,192,192,192,12,24,48,14,1,251,31,128,63,192, - 121,224,112,224,120,224,60,0,30,0,127,0,247,128,227,192, - 225,224,224,224,112,112,120,112,60,112,30,224,15,192,7,128, - 3,192,113,224,112,224,121,224,63,192,31,128,7,2,2,9, - 1,16,238,238,19,19,57,19,0,0,1,240,0,15,254,0, - 30,15,0,56,3,128,112,1,192,97,240,192,227,184,224,198, - 12,96,198,0,96,198,0,96,198,0,96,198,12,96,227,184, - 224,97,240,192,112,1,192,56,3,128,30,15,0,15,254,0, - 1,240,0,8,12,12,10,1,7,124,254,198,30,126,230,198, - 255,123,0,255,255,10,8,16,13,1,3,29,192,59,128,119, - 0,238,0,238,0,119,0,59,128,29,192,12,7,14,15,1, - 4,255,240,255,240,0,48,0,48,0,48,0,48,0,48,7, - 3,3,8,0,6,254,254,254,19,19,57,19,0,0,3,248, - 0,15,254,0,28,15,0,56,3,128,115,249,192,99,28,192, - 227,12,224,195,12,96,195,24,96,195,240,96,195,48,96,195, - 24,96,227,24,96,99,12,224,112,0,192,56,1,192,30,3, - 128,15,254,0,3,248,0,7,2,2,9,1,17,254,254,8, - 7,7,9,0,11,60,102,195,195,195,102,60,11,13,26,15, - 2,0,14,0,14,0,14,0,14,0,255,224,255,224,14,0, - 14,0,14,0,14,0,0,0,255,224,255,224,6,10,10,7, - 0,8,120,252,204,12,28,120,224,192,252,252,6,10,10,7, - 0,8,120,252,204,12,56,56,12,204,252,120,6,4,4,8, - 1,15,28,56,112,224,11,19,38,15,2,251,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 225,224,243,224,254,224,236,224,224,0,224,0,224,0,224,0, - 224,0,11,24,48,13,1,251,15,224,63,224,124,192,124,192, - 252,192,252,192,252,192,252,192,252,192,124,192,124,192,60,192, - 28,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,3,3,3,7,2,6,224,224, - 224,6,6,6,8,1,251,112,120,28,28,252,120,4,10,10, - 7,1,8,48,48,240,240,48,48,48,48,48,48,8,12,12, - 10,1,7,60,126,231,195,195,195,231,126,60,0,255,255,10, - 8,16,13,1,3,238,0,119,0,59,128,29,192,29,192,59, - 128,119,0,238,0,17,18,54,19,1,0,48,24,0,48,24, - 0,240,48,0,240,48,0,48,96,0,48,96,0,48,192,0, - 48,192,0,49,134,0,49,142,0,3,30,0,3,30,0,6, - 54,0,6,102,0,12,127,128,12,127,128,24,6,0,24,6, - 0,16,18,36,19,1,0,48,24,48,24,240,48,240,48,48, - 96,48,96,48,192,48,192,49,158,49,191,3,51,3,3,6, - 7,6,30,12,56,12,48,24,63,24,63,17,18,54,19,1, - 0,120,24,0,252,24,0,204,48,0,12,48,0,56,96,0, - 56,96,0,12,192,0,204,192,0,253,134,0,121,142,0,3, - 30,0,3,30,0,6,54,0,6,102,0,12,127,128,12,127, - 128,24,6,0,24,6,0,11,19,38,15,2,251,14,0,14, - 0,14,0,0,0,0,0,14,0,14,0,14,0,14,0,28, - 0,60,0,120,0,112,0,240,224,224,224,225,224,243,192,127, - 192,63,0,16,24,48,18,1,0,14,0,7,0,3,128,1, - 192,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, - 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, - 14,112,14,224,7,224,7,224,7,16,24,48,18,1,0,0, - 112,0,224,1,192,3,128,0,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,16, - 24,48,18,1,0,1,192,3,224,7,112,14,56,0,0,3, - 192,3,192,7,224,7,224,14,96,14,112,14,112,28,56,28, - 56,28,56,56,28,56,28,63,252,127,254,112,14,112,14,224, - 7,224,7,224,7,16,23,46,18,1,0,7,152,15,248,12, - 240,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, - 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, - 14,112,14,224,7,224,7,224,7,16,23,46,18,1,0,14, - 112,14,112,0,0,0,0,3,192,3,192,7,224,7,224,14, - 96,14,112,14,112,28,56,28,56,28,56,56,28,56,28,63, - 252,127,254,112,14,112,14,224,7,224,7,224,7,16,24,48, - 18,1,0,3,192,6,96,4,32,6,96,3,192,3,192,3, - 192,7,224,7,224,14,96,14,112,14,112,28,56,28,56,28, - 56,56,28,56,28,63,252,127,254,112,14,112,14,224,7,224, - 7,224,7,22,19,57,24,1,0,3,255,248,3,255,248,7, - 112,0,7,112,0,14,112,0,14,112,0,14,112,0,28,112, - 0,28,127,240,28,127,240,56,112,0,56,112,0,63,240,0, - 127,240,0,112,112,0,112,112,0,224,112,0,224,127,252,224, - 127,252,16,24,48,18,1,251,7,240,31,252,62,62,120,15, - 112,7,240,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,240,7,112,7,120,15,62,62,31,252,7,240,3,192, - 0,224,0,224,7,224,3,192,13,24,48,16,2,0,56,0, - 28,0,14,0,7,0,0,0,255,240,255,240,224,0,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,248,255,248,13,24, - 48,16,2,0,1,192,3,128,7,0,14,0,0,0,255,240, - 255,240,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,248,255,248,13,24,48,16,2,0,7,0,15,128,29,192, - 56,224,0,0,255,240,255,240,224,0,224,0,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,248,255,248,13,23,46,16,2,0, - 56,224,56,224,0,0,0,0,255,240,255,240,224,0,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,248,255,248,6,24, - 24,7,0,0,224,112,56,28,0,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,6,24,24,7, - 1,0,28,56,112,224,0,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,112,112,112,9,24,48,7,255,0, - 28,0,62,0,119,0,227,128,0,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 7,23,23,7,0,0,238,238,0,0,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,19,19,57, - 19,255,0,31,252,0,31,255,0,28,15,128,28,3,192,28, - 1,192,28,1,224,28,0,224,28,0,224,255,192,224,255,192, - 224,28,0,224,28,0,224,28,0,224,28,1,224,28,1,192, - 28,3,192,28,15,128,31,255,0,31,252,0,15,23,46,19, - 2,0,15,48,31,240,25,224,0,0,224,14,240,14,240,14, - 248,14,248,14,252,14,238,14,238,14,231,14,227,142,227,142, - 225,206,224,206,224,238,224,126,224,62,224,62,224,30,224,14, - 17,24,72,19,1,0,14,0,0,7,0,0,3,128,0,1, - 192,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, - 0,112,7,0,240,7,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,112, - 7,0,120,15,0,62,62,0,31,252,0,7,240,0,17,24, - 72,19,1,0,0,56,0,0,112,0,0,224,0,1,192,0, - 0,0,0,7,240,0,31,252,0,62,62,0,120,15,0,112, - 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,7,128,112,7,0, - 120,15,0,62,62,0,31,252,0,7,240,0,17,24,72,19, - 1,0,1,192,0,3,224,0,7,112,0,14,56,0,0,0, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,7,128,224,3,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,240,7,128,112,7,0,120,15, - 0,62,62,0,31,252,0,7,240,0,17,23,69,19,1,0, - 7,152,0,15,248,0,12,240,0,0,0,0,7,240,0,31, - 252,0,62,62,0,120,15,0,112,7,0,240,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,240,7,128,112,7,0,120,15,0,62,62,0,31, - 252,0,7,240,0,17,23,69,19,1,0,14,56,0,14,56, - 0,0,0,0,0,0,0,7,240,0,31,252,0,62,62,0, - 120,15,0,112,7,0,240,7,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,240,7, - 128,112,7,0,120,15,0,62,62,0,31,252,0,7,240,0, - 12,12,24,15,1,1,64,32,224,112,112,224,57,192,31,128, - 15,0,15,0,31,128,57,192,112,224,224,112,64,32,19,19, - 57,19,0,0,3,248,96,15,254,224,31,31,192,60,3,128, - 56,7,128,120,15,192,112,29,192,112,57,192,112,113,192,112, - 225,192,113,193,192,115,129,192,119,1,192,126,3,192,60,3, - 128,60,7,128,127,31,0,239,254,0,195,248,0,15,24,48, - 19,2,0,14,0,7,0,3,128,1,192,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, - 248,15,224,15,24,48,19,2,0,0,112,0,224,1,192,3, - 128,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,112,28,124,124,63,248,15,224,15,24,48,19,2,0,3, - 128,7,192,14,224,28,112,0,0,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,240,30,112,28,124,124,63,248,15,224,15, - 23,46,19,2,0,28,112,28,112,0,0,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, - 248,15,224,15,24,48,17,1,0,0,112,0,224,1,192,3, - 128,0,0,224,14,240,30,112,28,120,60,56,56,60,120,28, - 112,30,240,14,224,15,224,7,192,7,192,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,14,19,38,17,2,0,224, - 0,224,0,224,0,224,0,255,224,255,248,224,56,224,28,224, - 28,224,28,224,28,224,56,255,248,255,240,224,0,224,0,224, - 0,224,0,224,0,11,19,38,14,2,0,30,0,127,128,243, - 128,225,192,225,192,225,192,225,192,227,128,239,0,239,128,227, - 192,225,192,224,224,224,224,224,224,224,224,225,192,239,192,239, - 128,12,19,38,14,1,0,28,0,14,0,7,0,3,128,0, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 14,1,0,1,192,3,128,7,0,14,0,0,0,31,128,63, - 192,113,224,112,224,0,224,7,224,63,224,124,224,240,224,224, - 224,225,224,243,224,127,240,62,112,12,19,38,14,1,0,7, - 0,15,128,29,192,56,224,0,0,31,128,63,192,113,224,112, - 224,0,224,7,224,63,224,124,224,240,224,224,224,225,224,243, - 224,127,240,62,112,12,19,38,14,1,0,60,192,127,192,103, - 128,0,0,0,0,31,128,63,192,113,224,112,224,0,224,7, - 224,63,224,124,224,240,224,224,224,225,224,243,224,127,240,62, - 112,12,18,36,14,1,0,57,192,57,192,0,0,0,0,31, - 128,63,192,113,224,112,224,0,224,7,224,63,224,124,224,240, - 224,224,224,225,224,243,224,127,240,62,112,12,19,38,14,1, - 0,7,0,13,128,8,128,13,128,7,0,31,128,63,192,113, - 224,112,224,0,224,7,224,63,224,124,224,240,224,224,224,225, - 224,243,224,127,240,62,112,20,14,42,22,1,0,31,143,0, - 63,255,192,113,249,224,112,240,224,0,224,112,7,224,112,63, - 255,240,124,255,240,240,224,0,224,224,0,225,240,112,243,248, - 240,127,63,224,62,15,128,11,19,38,13,1,251,31,128,63, - 192,121,224,112,224,224,0,224,0,224,0,224,0,224,0,224, - 0,112,224,121,224,63,192,31,128,30,0,7,0,7,0,63, - 0,30,0,12,19,38,14,1,0,28,0,14,0,7,0,3, - 128,0,0,15,0,63,192,121,224,112,224,224,112,224,112,255, - 240,255,240,224,0,224,0,112,112,120,240,63,224,15,128,12, - 19,38,14,1,0,3,128,7,0,14,0,28,0,0,0,15, - 0,63,192,121,224,112,224,224,112,224,112,255,240,255,240,224, - 0,224,0,112,112,120,240,63,224,15,128,12,19,38,14,1, - 0,7,0,15,128,29,192,56,224,0,0,15,0,63,192,121, - 224,112,224,224,112,224,112,255,240,255,240,224,0,224,0,112, - 112,120,240,63,224,15,128,12,18,36,14,1,0,57,192,57, - 192,0,0,0,0,15,0,63,192,121,224,112,224,224,112,224, - 112,255,240,255,240,224,0,224,0,112,112,120,240,63,224,15, - 128,6,19,19,7,0,0,224,112,56,28,0,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,6,19,19,7,1,0, - 28,56,112,224,0,112,112,112,112,112,112,112,112,112,112,112, - 112,112,112,9,19,38,7,255,0,28,0,62,0,119,0,227, - 128,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,7, - 18,18,7,0,0,238,238,0,0,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,12,19,38,14,1,0,112,0,29, - 192,7,0,31,0,97,128,15,192,63,192,121,224,112,224,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, - 192,15,0,11,19,38,15,2,0,60,192,127,192,103,128,0, - 0,0,0,239,128,255,192,241,192,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,12, - 19,38,14,1,0,28,0,14,0,7,0,3,128,0,0,15, - 0,63,192,121,224,112,224,224,112,224,112,224,112,224,112,224, - 112,224,112,112,224,121,224,63,192,15,0,12,19,38,14,1, - 0,3,128,7,0,14,0,28,0,0,0,15,0,63,192,121, - 224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,121,224,63,192,15,0,12,19,38,14,1,0,14,0,31, - 0,59,128,113,192,0,0,15,0,63,192,121,224,112,224,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, - 192,15,0,12,19,38,14,1,0,60,192,127,192,103,128,0, - 0,0,0,15,0,63,192,121,224,112,224,224,112,224,112,224, - 112,224,112,224,112,224,112,112,224,121,224,63,192,15,0,12, - 18,36,14,1,0,57,192,57,192,0,0,0,0,15,0,63, - 192,121,224,112,224,224,112,224,112,224,112,224,112,224,112,224, - 112,112,224,121,224,63,192,15,0,11,12,24,15,2,1,14, - 0,14,0,14,0,0,0,0,0,255,224,255,224,0,0,0, - 0,14,0,14,0,14,0,14,14,28,14,0,0,7,140,31, - 252,60,248,56,112,112,248,113,248,115,184,119,56,126,56,124, - 56,56,112,124,240,255,224,199,128,11,19,38,15,2,0,56, - 0,28,0,14,0,7,0,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,225,224,115, - 224,126,224,28,224,11,19,38,15,2,0,3,128,7,0,14, - 0,28,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,225,224,115,224,126,224,28, - 224,11,19,38,15,2,0,14,0,31,0,59,128,113,192,0, - 0,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,225,224,115,224,126,224,28,224,11,18,36, - 15,2,0,57,192,57,192,0,0,0,0,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,225, - 224,115,224,126,224,28,224,13,24,48,15,1,251,0,224,1, - 192,3,128,7,0,0,0,224,56,224,56,112,56,120,112,56, - 112,60,240,28,224,28,224,15,192,15,192,7,192,7,128,3, - 128,3,128,7,0,7,0,14,0,62,0,60,0,12,24,48, - 15,2,251,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,224,0,224,0,224,0,224, - 0,224,0,13,23,46,15,1,251,28,224,28,224,0,0,0, - 0,224,56,224,56,112,56,120,112,56,112,60,240,28,224,28, - 224,15,192,15,192,7,192,7,128,3,128,3,128,7,0,7, - 0,14,0,62,0,60,0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=15 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18r[3453] U8G_SECTION(".progmem.u8g_font_helvB18r") = { - 0,28,37,254,248,19,4,35,9,107,32,127,251,19,251,19, - 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, - 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, - 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, - 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, - 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, - 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, - 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, - 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, - 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, - 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, - 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, - 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, - 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, - 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, - 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, - 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, - 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, - 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, - 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, - 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, - 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, - 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, - 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, - 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, - 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, - 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, - 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, - 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, - 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, - 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, - 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, - 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, - 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, - 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, - 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, - 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, - 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, - 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, - 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, - 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, - 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, - 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, - 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, - 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, - 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, - 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, - 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, - 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, - 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, - 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, - 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, - 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, - 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, - 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, - 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, - 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, - 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, - 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, - 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, - 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, - 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, - 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, - 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, - 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, - 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, - 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, - 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, - 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, - 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, - 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, - 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, - 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, - 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, - 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, - 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, - 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, - 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, - 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, - 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, - 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, - 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, - 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, - 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, - 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, - 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, - 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, - 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, - 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, - 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, - 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, - 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, - 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, - 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, - 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, - 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, - 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, - 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, - 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, - 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, - 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, - 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, - 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, - 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, - 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, - 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, - 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, - 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, - 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, - 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, - 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, - 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, - 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, - 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, - 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, - 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, - 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, - 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, - 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, - 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, - 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, - 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, - 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, - 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, - 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, - 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, - 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, - 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, - 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, - 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, - 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, - 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, - 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, - 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, - 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, - 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, - 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, - 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, - 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, - 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, - 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, - 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, - 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, - 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, - 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, - 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, - 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, - 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, - 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, - 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, - 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, - 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, - 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, - 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, - 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, - 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, - 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, - 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, - 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, - 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, - 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, - 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, - 8,14,1,5,120,224,254,224,239,224,227,192,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 23 - Calculated Max Values w=31 h=32 x= 4 y=21 dx=33 dy= 0 ascent=31 len=120 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_SECTION(".progmem.u8g_font_helvB24") = { - 0,40,49,250,244,25,5,252,14,144,32,255,249,31,249,25, - 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, - 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, - 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, - 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, - 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, - 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, - 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, - 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, - 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, - 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, - 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, - 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, - 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, - 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, - 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, - 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, - 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, - 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, - 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, - 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, - 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, - 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, - 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, - 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, - 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, - 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, - 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, - 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, - 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, - 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, - 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, - 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, - 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, - 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, - 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, - 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, - 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, - 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, - 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, - 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, - 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, - 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, - 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, - 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, - 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, - 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, - 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, - 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, - 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, - 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, - 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, - 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, - 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, - 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, - 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, - 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, - 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, - 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, - 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, - 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, - 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, - 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, - 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, - 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, - 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, - 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, - 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, - 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, - 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, - 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, - 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, - 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, - 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, - 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, - 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, - 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, - 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, - 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, - 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, - 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, - 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, - 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, - 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, - 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, - 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, - 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, - 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, - 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, - 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, - 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, - 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, - 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, - 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, - 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, - 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, - 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, - 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, - 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, - 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, - 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, - 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, - 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, - 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, - 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, - 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, - 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, - 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, - 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, - 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, - 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, - 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, - 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, - 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, - 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, - 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, - 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, - 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, - 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, - 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, - 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, - 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, - 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, - 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, - 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, - 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, - 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, - 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, - 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, - 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, - 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, - 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, - 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, - 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, - 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, - 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, - 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, - 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, - 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, - 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, - 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, - 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, - 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, - 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, - 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, - 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, - 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, - 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, - 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, - 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, - 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, - 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, - 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, - 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, - 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, - 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, - 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, - 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, - 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, - 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, - 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, - 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, - 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, - 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, - 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, - 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, - 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, - 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, - 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, - 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, - 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, - 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, - 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, - 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, - 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, - 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, - 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, - 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, - 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, - 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, - 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, - 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, - 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, - 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, - 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, - 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, - 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, - 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, - 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, - 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, - 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, - 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, - 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, - 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, - 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, - 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, - 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, - 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, - 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, - 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, - 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, - 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, - 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, - 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, - 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, - 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, - 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, - 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, - 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, - 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, - 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, - 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, - 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, - 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, - 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, - 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, - 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, - 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, - 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, - 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, - 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, - 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, - 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, - 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, - 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, - 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, - 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, - 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, - 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, - 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, - 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, - 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, - 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, - 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, - 5,56,0,126,12,255,156,231,252,193,248,0,112,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,9,0,1,5,24,24,11,2,250,248,248,248,248,248,0, - 0,112,112,112,112,112,112,248,248,248,248,248,248,248,248,248, - 248,248,15,24,48,18,1,253,0,32,0,32,0,96,7,240, - 31,248,63,252,127,252,124,190,248,158,249,158,241,128,241,128, - 243,0,243,0,243,30,250,30,126,62,127,252,63,248,31,240, - 15,192,12,0,8,0,8,0,17,24,72,18,0,0,3,240, - 0,31,252,0,63,254,0,63,255,0,126,31,0,124,15,128, - 124,15,128,124,7,128,124,0,0,126,0,0,62,0,0,255, - 240,0,255,240,0,31,0,0,15,0,0,15,0,0,15,0, - 0,31,0,0,30,0,0,61,227,0,127,255,128,255,255,128, - 255,255,0,96,126,0,15,15,30,18,1,4,224,14,247,222, - 255,254,127,252,60,120,120,60,112,28,112,28,112,28,120,60, - 60,120,127,252,255,254,247,222,224,14,18,24,72,18,0,0, - 248,7,192,248,7,192,124,15,128,60,15,0,30,30,0,30, - 30,0,15,60,0,15,60,0,7,248,0,7,248,0,3,240, - 0,1,224,0,63,255,0,63,255,0,1,224,0,1,224,0, - 63,255,0,63,255,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,31,31,9,3,250,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,0,0,0, - 0,224,224,224,224,224,224,224,224,224,224,224,224,16,32,64, - 18,1,249,15,240,31,248,63,248,126,124,124,60,124,60,126, - 0,127,0,63,192,31,224,63,248,127,252,113,254,240,255,240, - 63,248,31,252,15,127,15,127,159,63,254,31,248,7,252,1, - 254,0,126,0,62,120,30,120,30,124,62,63,252,63,252,31, - 248,7,224,10,4,8,11,0,21,243,192,243,192,243,192,243, - 192,26,25,100,24,0,0,0,127,128,0,3,255,224,0,7, - 128,248,0,31,0,60,0,28,0,14,0,56,0,7,0,112, - 63,3,0,112,127,131,128,224,243,193,128,225,192,225,192,193, - 192,224,192,195,128,0,192,195,128,0,192,195,128,0,192,195, - 128,0,192,193,192,224,192,225,192,225,192,224,243,195,128,96, - 127,131,128,112,63,7,0,56,0,14,0,30,0,60,0,15, - 128,248,0,7,255,224,0,1,255,128,0,9,16,32,12,1, - 9,62,0,127,0,227,128,195,128,31,128,127,128,243,128,227, - 128,227,128,255,128,123,128,0,0,0,0,255,128,255,128,255, - 128,12,13,26,18,3,2,8,16,24,48,56,112,120,240,241, - 224,225,192,225,192,241,224,249,240,120,240,56,112,24,48,8, - 16,16,10,20,19,1,4,255,255,255,255,255,255,255,255,0, - 15,0,15,0,15,0,15,0,15,0,15,9,5,10,11,1, - 7,255,128,255,128,255,128,255,128,255,128,26,25,100,24,0, - 0,0,255,128,0,3,255,224,0,7,128,248,0,30,0,60, - 0,28,0,14,0,56,255,135,0,112,255,195,0,112,225,227, - 128,224,224,225,128,224,224,225,128,192,224,225,192,192,225,193, - 192,192,255,129,192,192,255,1,192,192,227,129,192,192,227,193, - 192,224,225,193,128,224,224,227,128,112,224,243,128,112,224,119, - 0,56,0,14,0,30,0,28,0,15,128,120,0,7,255,224, - 0,1,255,128,0,10,3,6,11,0,21,255,192,255,192,255, - 192,9,10,20,13,2,14,62,0,127,0,99,0,193,128,193, - 128,193,128,193,128,99,0,127,0,62,0,16,22,44,19,1, - 0,3,192,3,192,3,192,3,192,3,192,3,192,255,255,255, - 255,255,255,255,255,3,192,3,192,3,192,3,192,3,192,3, - 192,0,0,0,0,255,255,255,255,255,255,255,255,10,15,30, - 11,0,9,63,0,127,128,243,192,225,192,225,192,1,192,3, - 192,7,128,15,0,62,0,120,0,112,0,255,192,255,192,255, - 192,10,15,30,11,0,9,30,0,127,128,243,192,225,192,225, - 192,3,192,15,128,15,128,3,192,1,192,225,192,225,192,243, - 192,127,128,62,0,6,5,5,11,4,20,60,120,112,224,224, - 15,25,50,20,2,249,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,255,254,255,222,247,158,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,17,31,93,18,0,250,15,255, - 128,31,255,128,63,140,0,127,140,0,127,140,0,255,140,0, - 255,140,0,255,140,0,255,140,0,255,140,0,127,140,0,127, - 140,0,63,140,0,63,140,0,15,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,4,5,5,9,2, - 11,96,240,240,240,96,7,8,8,11,2,249,48,48,48,124, - 30,14,252,248,6,15,15,11,2,9,28,60,252,252,28,28, - 28,28,28,28,28,28,28,28,28,10,16,32,12,1,9,63, - 0,127,128,115,128,225,192,225,192,225,192,225,192,225,192,115, - 128,127,128,63,0,0,0,0,0,255,192,255,192,255,192,12, - 12,24,18,3,3,129,0,193,128,225,192,241,224,120,240,56, - 112,56,112,120,240,241,224,225,192,193,128,129,0,26,24,96, - 28,0,0,0,0,56,0,6,0,112,0,30,0,112,0,254, - 0,224,0,254,1,192,0,14,1,192,0,14,3,128,0,14, - 3,128,0,14,7,0,0,14,7,0,0,14,14,7,0,14, - 28,15,0,14,28,31,0,14,56,31,0,0,56,55,0,0, - 112,103,0,0,112,231,0,0,224,199,0,1,193,135,0,1, - 193,255,192,3,129,255,192,3,128,7,0,7,0,7,0,7, - 0,7,0,25,24,96,28,1,0,0,0,224,0,12,1,192, - 0,28,1,192,0,252,3,128,0,252,3,128,0,28,7,0, - 0,28,14,0,0,28,14,0,0,28,28,0,0,28,28,0, - 0,28,56,126,0,28,48,255,0,28,113,231,128,28,225,195, - 128,0,225,195,128,1,192,7,128,1,192,15,0,3,128,30, - 0,7,0,60,0,7,0,120,0,14,0,240,0,14,1,255, - 128,28,1,255,128,28,1,255,128,25,24,96,27,1,0,63, - 0,28,0,127,128,56,0,243,192,56,0,225,192,112,0,225, - 192,224,0,3,192,224,0,15,129,192,0,15,129,192,0,15, - 195,128,0,1,199,0,0,225,199,14,0,225,206,30,0,243, - 206,30,0,127,156,62,0,63,28,126,0,0,56,238,0,0, - 112,206,0,0,113,142,0,0,227,142,0,0,227,255,128,1, - 195,255,128,1,192,14,0,3,128,14,0,3,128,14,0,16, - 24,48,20,1,250,3,224,3,224,3,224,3,224,0,0,0, - 0,3,192,3,192,3,192,7,192,31,128,63,128,127,0,126, - 0,252,0,248,15,248,15,248,15,252,31,126,127,127,254,63, - 254,63,252,15,240,22,31,93,23,0,0,3,192,0,1,224, - 0,0,240,0,0,120,0,0,60,0,0,0,0,0,252,0, - 0,252,0,1,254,0,1,254,0,1,254,0,3,255,0,3, - 255,0,3,255,0,7,207,128,7,207,128,7,207,128,15,135, - 128,15,135,192,15,135,192,31,3,192,31,3,224,31,255,224, - 31,255,224,63,255,240,63,255,240,62,1,240,124,0,248,124, - 0,248,252,0,252,248,0,124,22,31,93,23,0,0,0,15, - 0,0,30,0,0,60,0,0,120,0,0,240,0,0,0,0, - 0,252,0,0,252,0,1,254,0,1,254,0,1,254,0,3, - 255,0,3,255,0,3,255,0,7,207,128,7,207,128,7,207, - 128,15,135,128,15,135,192,15,135,192,31,3,192,31,3,224, - 31,255,224,31,255,224,63,255,240,63,255,240,62,1,240,124, - 0,248,124,0,248,252,0,252,248,0,124,22,31,93,23,0, - 0,0,48,0,0,120,0,0,252,0,1,206,0,3,135,0, - 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, - 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, - 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, - 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, - 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,30, - 90,23,0,0,0,241,128,1,255,128,3,255,0,3,30,0, - 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, - 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, - 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, - 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, - 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,31, - 93,23,0,0,3,207,0,3,207,0,3,207,0,3,207,0, - 0,0,0,0,0,0,0,252,0,0,252,0,1,254,0,1, - 254,0,1,254,0,3,255,0,3,255,0,3,255,0,7,207, - 128,7,207,128,7,207,128,15,135,128,15,135,192,15,135,192, - 31,3,192,31,3,224,31,255,224,31,255,224,63,255,240,63, - 255,240,62,1,240,124,0,248,124,0,248,252,0,252,248,0, - 124,22,31,93,23,0,0,0,120,0,0,204,0,0,132,0, - 0,132,0,0,204,0,0,120,0,0,0,0,0,252,0,1, - 254,0,1,254,0,1,254,0,3,255,0,3,255,0,3,255, - 0,7,207,128,7,207,128,7,207,128,15,135,128,15,135,192, - 15,135,192,31,3,192,31,3,224,31,255,224,31,255,224,63, - 255,240,63,255,240,62,1,240,124,0,248,124,0,248,252,0, - 252,248,0,124,31,25,100,32,0,0,0,255,255,252,0,255, - 255,252,0,255,255,252,1,255,255,252,1,243,192,0,1,227, - 192,0,3,227,192,0,3,227,192,0,3,195,192,0,7,195, - 192,0,7,195,192,0,7,195,255,248,15,131,255,248,15,131, - 255,248,15,131,255,248,31,3,192,0,31,255,192,0,31,255, - 192,0,63,255,192,0,63,255,192,0,62,3,192,0,124,3, - 255,254,124,3,255,254,248,3,255,254,248,3,255,254,21,32, - 96,23,1,249,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,240,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,252,0,0, - 96,0,0,96,0,0,248,0,0,28,0,0,28,0,1,248, - 0,1,240,0,18,31,93,22,2,0,30,0,0,15,0,0, - 7,128,0,3,192,0,1,224,0,0,0,0,255,255,128,255, - 255,128,255,255,128,255,255,128,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,0,255,255,0, - 255,255,0,255,255,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,18,31,93,22,2,0,0,120,0, - 0,240,0,1,224,0,3,192,0,7,128,0,0,0,0,255, - 255,128,255,255,128,255,255,128,255,255,128,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,0, - 255,255,0,255,255,0,255,255,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 192,255,255,192,255,255,192,255,255,192,18,31,93,22,2,0, - 0,192,0,1,224,0,3,240,0,7,56,0,14,28,0,0, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,192,255,255,192,255,255,192,255,255,192,18,31,93, - 22,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, - 0,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,192,255,255,192,255,255,192,255,255,192, - 8,31,31,9,0,0,240,120,60,30,15,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,62,62,8,31,31,9,2,0,15,30,60,120,240, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,10,31,62,9,0,0, - 12,0,30,0,63,0,115,128,225,192,0,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,10,31, - 62,9,0,0,243,192,243,192,243,192,243,192,0,0,0,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,23,25,75,23,255,0,31,255,128,31,255,224,31,255, - 240,31,255,248,31,7,248,31,0,252,31,0,252,31,0,124, - 31,0,126,31,0,62,31,0,62,255,240,62,255,240,62,255, - 240,62,31,0,62,31,0,62,31,0,124,31,0,124,31,0, - 124,31,0,248,31,3,248,31,255,240,31,255,240,31,255,192, - 31,255,128,19,30,90,24,2,0,3,198,0,7,254,0,15, - 252,0,12,120,0,0,0,0,248,3,224,252,3,224,252,3, - 224,254,3,224,254,3,224,255,3,224,255,3,224,255,131,224, - 255,195,224,251,195,224,251,227,224,249,227,224,249,243,224,248, - 243,224,248,251,224,248,123,224,248,63,224,248,63,224,248,31, - 224,248,31,224,248,15,224,248,15,224,248,7,224,248,7,224, - 248,3,224,23,31,93,25,1,0,1,224,0,0,240,0,0, - 120,0,0,60,0,0,30,0,0,0,0,1,255,0,7,255, - 192,15,255,224,31,255,240,63,199,248,63,1,248,126,0,252, - 124,0,124,124,0,124,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,126,0,252,63,1,248,63,199,248,31,255,240,15,255,224, - 7,255,192,1,255,0,23,31,93,25,1,0,0,7,128,0, - 15,0,0,30,0,0,60,0,0,120,0,0,0,0,1,255, - 0,7,255,192,15,255,224,31,255,240,63,199,248,63,1,248, - 126,0,252,124,0,124,124,0,124,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,124,0, - 124,124,0,124,126,0,252,63,1,248,63,199,248,31,255,240, - 15,255,224,7,255,192,1,255,0,23,31,93,25,1,0,0, - 24,0,0,60,0,0,126,0,0,231,0,1,195,128,0,0, - 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, - 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, - 31,255,240,15,255,224,7,255,192,1,255,0,23,30,90,25, - 1,0,0,120,192,0,255,192,1,255,128,1,143,0,0,0, - 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, - 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, - 31,255,240,15,255,224,7,255,192,1,255,0,23,31,93,25, - 1,0,1,231,128,1,231,128,1,231,128,1,231,128,0,0, - 0,0,0,0,1,255,0,7,255,192,15,255,224,31,255,240, - 63,199,248,63,1,248,126,0,252,124,0,124,124,0,124,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,124,0,124,124,0,124,126,0,252,63,1,248, - 63,199,248,31,255,240,15,255,224,7,255,192,1,255,0,15, - 16,32,19,2,0,32,8,112,28,248,62,252,126,126,252,63, - 248,31,240,15,224,15,224,31,240,63,248,126,252,252,126,248, - 62,112,28,32,8,24,25,75,25,1,0,1,255,7,7,255, - 206,15,255,252,31,255,248,63,199,248,63,0,248,126,1,252, - 124,3,252,124,7,188,248,7,62,248,14,62,248,28,62,248, - 56,62,248,112,62,248,224,62,248,224,62,125,192,124,127,128, - 124,127,0,252,63,1,248,63,199,248,63,255,240,63,255,224, - 119,255,192,225,255,0,19,31,93,24,2,0,7,128,0,3, - 192,0,1,224,0,0,240,0,0,120,0,0,0,0,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,252,7,224,127,31,192,127,255,192, - 63,255,128,31,255,0,7,252,0,19,31,93,24,2,0,0, - 30,0,0,60,0,0,120,0,0,240,0,1,224,0,0,0, - 0,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,252,7,224,127,31,192, - 127,255,192,63,255,128,31,255,0,7,252,0,19,31,93,24, - 2,0,0,96,0,0,240,0,1,248,0,3,156,0,7,14, - 0,0,0,0,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,252,7,224, - 127,31,192,127,255,192,63,255,128,31,255,0,7,252,0,19, - 31,93,24,2,0,15,30,0,15,30,0,15,30,0,15,30, - 0,0,0,0,0,0,0,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 252,7,224,127,31,192,127,255,192,63,255,128,31,255,0,7, - 252,0,20,31,93,22,1,0,0,30,0,0,60,0,0,120, - 0,0,240,0,1,224,0,0,0,0,252,3,240,252,3,240, - 126,7,224,62,7,192,63,15,192,63,15,128,31,15,128,31, - 159,0,15,159,0,15,254,0,7,254,0,7,252,0,3,252, - 0,3,248,0,3,248,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,18,25,75,22,2,0,248,0,0,248,0, - 0,248,0,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,254, - 0,255,252,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,20,2,0,15,192,0,63, - 240,0,127,252,0,255,252,0,248,126,0,248,62,0,240,62, - 0,240,62,0,240,124,0,240,252,0,241,248,0,241,252,0, - 241,254,0,240,127,0,240,31,0,240,31,128,240,15,128,240, - 15,128,240,15,128,240,31,128,240,63,0,241,255,0,241,254, - 0,241,252,0,241,240,0,15,25,50,18,1,0,15,0,7, - 128,3,128,1,192,0,224,0,0,0,0,15,240,63,252,127, - 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, - 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, - 25,50,18,1,0,0,120,0,240,0,224,1,192,3,128,0, - 0,0,0,15,240,63,252,127,252,124,62,248,30,248,30,1, - 254,15,254,63,254,127,30,248,30,240,30,240,62,248,126,255, - 254,255,254,127,222,63,30,15,25,50,18,1,0,1,128,3, - 192,7,224,14,112,28,56,0,0,0,0,15,240,63,252,127, - 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, - 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, - 24,48,18,1,0,7,140,15,252,31,248,24,240,0,0,0, - 0,15,240,63,252,127,252,124,62,248,30,248,30,1,254,15, - 254,63,254,127,30,248,30,240,30,240,62,248,126,255,254,255, - 254,127,222,63,30,15,24,48,18,1,0,30,120,30,120,30, - 120,30,120,0,0,0,0,15,240,63,252,127,252,124,62,248, - 30,248,30,1,254,15,254,63,254,127,30,248,30,240,30,240, - 62,248,126,255,254,255,254,127,222,63,30,15,25,50,18,1, - 0,3,192,6,96,4,32,4,32,6,96,3,192,0,0,15, - 240,63,252,127,252,124,62,248,30,248,30,1,254,15,254,63, - 254,127,30,248,30,248,30,240,62,248,126,255,254,255,254,127, - 222,63,30,26,19,76,29,1,0,7,224,248,0,31,251,254, - 0,63,255,255,0,63,255,255,0,124,63,15,128,120,30,7, - 128,120,30,7,192,0,62,7,192,7,255,255,192,63,255,255, - 192,127,255,255,192,124,30,0,0,248,30,0,0,248,30,7, - 192,252,63,15,192,255,255,255,128,127,247,255,0,63,227,254, - 0,15,129,248,0,15,25,50,18,1,249,7,224,31,248,63, - 252,63,252,124,62,120,30,248,30,240,0,240,0,240,0,240, - 0,248,30,248,30,124,62,127,252,63,248,31,248,7,224,3, - 0,3,0,7,192,0,224,0,224,15,192,15,128,16,25,50, - 18,1,0,15,0,7,128,3,128,1,192,0,224,0,0,0, - 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, - 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, - 252,31,240,7,192,16,25,50,18,1,0,0,120,0,240,0, - 224,1,192,3,128,0,0,0,0,7,224,31,248,63,252,127, - 254,124,62,248,30,240,31,255,255,255,255,255,255,240,0,240, - 0,248,30,124,62,127,254,63,252,31,240,7,192,16,25,50, - 18,1,0,1,128,3,192,7,224,14,112,28,56,0,0,0, - 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, - 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, - 252,31,240,7,192,16,24,48,18,1,0,30,120,30,120,30, - 120,30,120,0,0,0,0,7,224,31,248,63,252,127,254,124, - 62,248,30,240,31,255,255,255,255,255,255,240,0,240,0,248, - 30,124,62,127,254,63,252,31,240,7,192,7,25,25,9,1, - 0,240,120,56,28,14,0,0,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,6,25,25,9,2,0, - 60,56,112,112,224,0,0,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,10,25,50,9,255,0,12, - 0,30,0,63,0,115,128,225,192,0,0,0,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,10,24,48,9,255,0,243,192,243,192,243,192,243,192,0, - 0,0,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,17,26,78,20,1,0,48,0,0, - 120,32,0,124,240,0,63,224,0,31,192,0,63,224,0,115, - 240,0,33,248,0,7,252,0,31,254,0,63,254,0,127,255, - 0,124,31,0,248,15,128,248,15,128,240,7,128,240,7,128, - 240,7,128,248,15,128,248,15,128,252,31,128,126,63,0,127, - 255,0,63,254,0,31,252,0,7,240,0,15,24,48,20,2, - 0,15,24,31,248,63,240,49,224,0,0,0,0,243,240,247, - 248,255,252,255,254,252,62,248,62,240,30,240,30,240,30,240, - 30,240,30,240,30,240,30,240,30,240,30,240,30,240,30,240, - 30,17,25,75,20,1,0,7,128,0,3,192,0,1,192,0, - 1,224,0,0,240,0,0,0,0,0,0,0,7,240,0,31, - 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, - 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, - 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, - 240,0,17,25,75,20,1,0,0,120,0,0,240,0,0,224, - 0,1,192,0,3,192,0,0,0,0,0,0,0,7,240,0, - 31,252,0,63,254,0,127,255,0,124,31,0,248,15,128,248, - 15,128,240,7,128,240,7,128,240,7,128,240,7,128,248,15, - 128,248,15,128,124,31,0,127,255,0,63,254,0,31,252,0, - 7,240,0,17,25,75,20,1,0,0,192,0,1,224,0,3, - 240,0,7,56,0,14,28,0,0,0,0,0,0,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,17,24,72,20,1,0,7,140,0,15,252,0, - 31,248,0,24,240,0,0,0,0,0,0,0,7,240,0,31, - 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, - 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, - 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, - 240,0,17,24,72,20,1,0,30,60,0,30,60,0,30,60, - 0,30,60,0,0,0,0,0,0,0,7,240,0,31,252,0, - 63,254,0,127,255,0,124,31,0,248,15,128,248,15,128,240, - 7,128,240,7,128,240,7,128,240,7,128,248,15,128,248,15, - 128,124,31,0,127,255,0,63,254,0,31,252,0,7,240,0, - 16,16,32,19,1,0,3,192,3,192,3,192,3,192,0,0, - 0,0,255,255,255,255,255,255,255,255,0,0,0,0,3,192, - 3,192,3,192,3,192,21,18,54,20,255,0,1,252,56,7, - 255,112,15,255,224,31,255,192,31,143,192,62,7,224,62,15, - 224,60,29,224,60,57,224,60,113,224,62,227,224,63,131,224, - 63,7,224,31,143,192,31,255,192,63,255,128,119,255,0,225, - 252,0,15,25,50,20,2,0,30,0,15,0,7,0,3,128, - 1,192,0,0,0,0,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, - 0,240,1,224,1,192,3,128,7,0,0,0,0,0,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, - 31,30,15,25,50,20,2,0,3,0,7,128,15,192,28,224, - 56,112,0,0,0,0,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, - 60,120,60,120,60,120,60,120,0,0,0,0,0,0,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, - 31,30,16,32,64,19,1,249,0,120,0,240,1,224,1,192, - 3,128,0,0,0,0,248,31,248,31,248,31,120,30,124,62, - 124,60,60,60,60,60,62,120,62,120,30,120,31,240,31,240, - 15,240,15,224,7,224,7,224,7,192,7,192,7,192,15,128, - 63,128,63,0,63,0,60,0,16,32,64,20,2,249,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,243,240,247,252, - 255,254,255,254,252,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,252,62,255,254,255,252,247,248,241,240, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,31, - 62,19,1,249,30,120,30,120,30,120,30,120,0,0,0,0, - 248,31,248,31,248,31,120,62,124,62,124,60,124,60,62,124, - 62,120,62,120,30,120,31,240,31,240,15,240,15,224,7,224, - 7,224,7,192,7,192,7,192,15,128,63,128,63,0,63,0, - 60,0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=17 h=25 x= 2 y=13 dx=19 dy= 0 ascent=25 len=72 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24n[720] U8G_SECTION(".progmem.u8g_font_helvB24n") = { - 0,40,49,250,244,23,0,0,0,0,42,57,0,25,250,23, - 0,10,11,22,13,1,13,12,0,12,0,76,128,237,192,255, - 192,127,128,30,0,63,0,127,128,115,128,33,0,16,16,32, - 19,1,0,3,192,3,192,3,192,3,192,3,192,3,192,255, - 255,255,255,255,255,255,255,3,192,3,192,3,192,3,192,3, - 192,3,192,5,11,11,9,2,250,248,248,248,248,248,24,24, - 56,112,224,128,9,5,10,11,1,7,255,128,255,128,255,128, - 255,128,255,128,5,5,5,9,2,0,248,248,248,248,248,8, - 25,25,9,0,0,3,3,3,3,6,6,6,14,12,12,12, - 28,24,24,24,48,48,48,112,96,96,96,192,192,192,15,24, - 48,18,1,0,15,224,31,240,63,248,127,252,124,124,248,62, - 248,62,248,62,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,248,62,248,62,248,62,124,124,127,252,63,248, - 31,240,15,224,10,23,46,18,2,0,1,192,3,192,7,192, - 31,192,255,192,255,192,255,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,16,24,48,18,1,0,15,224, - 63,248,127,252,127,254,252,126,248,63,248,31,240,31,240,31, - 0,63,0,62,0,126,0,252,1,248,7,240,15,224,31,128, - 63,0,126,0,252,0,255,255,255,255,255,255,255,255,16,24, - 48,18,1,0,15,224,63,248,127,252,127,252,248,62,240,62, - 240,30,240,30,0,62,0,124,3,248,3,240,3,252,0,126, - 0,63,0,31,240,31,240,31,240,63,248,62,127,254,127,252, - 63,248,15,224,16,24,48,18,1,0,0,248,0,248,1,248, - 3,248,3,248,7,248,15,120,14,120,30,120,28,120,60,120, - 120,120,112,120,240,120,224,120,255,255,255,255,255,255,255,255, - 0,120,0,120,0,120,0,120,0,120,15,24,48,18,1,0, - 63,252,63,252,63,252,63,252,56,0,120,0,120,0,120,0, - 123,224,127,248,127,252,127,252,120,126,0,62,0,62,0,30, - 0,30,240,62,240,62,248,124,127,252,127,248,63,240,15,192, - 15,24,48,18,1,0,7,224,31,248,63,252,63,254,124,62, - 120,30,240,0,240,0,243,224,247,248,255,252,255,252,252,126, - 248,62,240,30,240,30,240,30,240,30,248,62,124,124,127,252, - 63,248,31,240,7,192,16,24,48,18,1,0,255,255,255,255, - 255,255,255,255,0,30,0,62,0,60,0,120,0,248,0,240, - 1,240,1,224,3,224,3,192,7,192,7,192,7,128,15,128, - 15,128,15,128,31,0,31,0,31,0,31,0,17,24,72,18, - 0,0,7,240,0,31,252,0,63,254,0,62,62,0,124,31, - 0,120,15,0,120,15,0,120,15,0,124,31,0,62,62,0, - 31,252,0,31,252,0,63,254,0,124,31,0,248,15,128,240, - 7,128,240,7,128,240,7,128,248,15,128,126,63,0,127,254, - 0,63,254,0,31,252,0,7,240,0,15,24,48,18,1,0, - 7,192,31,240,63,248,127,252,124,124,248,62,240,30,240,30, - 240,30,240,30,248,62,252,126,127,254,127,254,63,222,7,158, - 0,30,0,30,240,60,248,124,127,248,127,248,31,240,7,192 - }; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 23 - Calculated Max Values w=29 h=32 x= 3 y=20 dx=33 dy= 0 ascent=25 len=120 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24r[5214] U8G_SECTION(".progmem.u8g_font_helvB24r") = { - 0,40,49,250,244,25,5,252,14,144,32,127,249,25,249,25, - 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, - 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, - 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, - 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, - 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, - 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, - 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, - 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, - 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, - 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, - 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, - 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, - 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, - 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, - 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, - 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, - 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, - 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, - 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, - 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, - 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, - 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, - 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, - 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, - 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, - 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, - 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, - 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, - 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, - 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, - 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, - 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, - 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, - 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, - 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, - 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, - 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, - 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, - 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, - 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, - 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, - 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, - 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, - 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, - 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, - 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, - 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, - 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, - 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, - 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, - 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, - 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, - 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, - 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, - 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, - 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, - 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, - 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, - 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, - 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, - 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, - 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, - 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, - 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, - 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, - 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, - 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, - 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, - 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, - 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, - 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, - 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, - 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, - 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, - 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, - 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, - 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, - 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, - 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, - 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, - 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, - 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, - 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, - 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, - 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, - 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, - 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, - 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, - 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, - 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, - 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, - 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, - 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, - 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, - 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, - 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, - 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, - 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, - 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, - 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, - 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, - 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, - 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, - 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, - 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, - 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, - 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, - 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, - 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, - 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, - 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, - 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, - 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, - 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, - 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, - 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, - 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, - 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, - 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, - 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, - 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, - 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, - 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, - 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, - 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, - 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, - 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, - 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, - 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, - 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, - 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, - 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, - 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, - 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, - 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, - 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, - 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, - 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, - 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, - 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, - 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, - 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, - 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, - 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, - 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, - 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, - 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, - 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, - 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, - 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, - 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, - 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, - 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, - 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, - 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, - 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, - 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, - 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, - 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, - 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, - 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, - 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, - 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, - 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, - 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, - 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, - 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, - 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, - 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, - 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, - 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, - 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, - 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, - 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, - 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, - 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, - 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, - 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, - 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, - 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, - 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, - 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, - 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, - 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, - 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, - 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, - 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, - 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, - 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, - 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, - 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, - 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, - 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, - 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, - 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, - 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, - 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, - 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, - 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, - 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, - 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, - 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, - 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, - 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, - 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, - 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, - 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, - 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, - 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, - 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, - 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, - 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, - 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, - 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, - 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, - 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, - 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, - 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, - 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, - 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, - 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, - 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, - 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, - 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, - 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, - 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, - 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, - 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, - 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, - 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, - 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, - 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, - 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, - 5,56,0,126,12,255,156,231,252,193,248,0,112,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_SECTION(".progmem.u8g_font_helvR08") = { - 0,13,18,254,252,8,1,178,3,111,32,255,254,11,254,8, - 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, - 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, - 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, - 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, - 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, - 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, - 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, - 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, - 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, - 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, - 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, - 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, - 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, - 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, - 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, - 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, - 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, - 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, - 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, - 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, - 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, - 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, - 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, - 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, - 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, - 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, - 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, - 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, - 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, - 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, - 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, - 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, - 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, - 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, - 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, - 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, - 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, - 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, - 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, - 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, - 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, - 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, - 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, - 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, - 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, - 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, - 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, - 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, - 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, - 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, - 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, - 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, - 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, - 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, - 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, - 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, - 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, - 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, - 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, - 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, - 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, - 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, - 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, - 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, - 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, - 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, - 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, - 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, - 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, - 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, - 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, - 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, - 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, - 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, - 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, - 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, - 64,64,128,6,2,2,7,0,3,100,152,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,3, - 0,1,1,8,8,3,1,254,128,0,128,128,128,128,128,128, - 5,8,8,6,1,255,16,112,168,160,160,168,112,64,5,8, - 8,6,0,0,48,72,64,224,64,64,72,176,4,6,6,5, - 0,1,144,96,144,144,96,144,5,8,8,6,0,0,136,136, - 136,80,248,32,248,32,1,10,10,3,1,254,128,128,128,128, - 0,0,128,128,128,128,5,10,10,6,0,254,112,136,192,112, - 152,200,112,24,136,112,3,1,1,3,0,7,160,7,7,7, - 9,1,0,56,68,154,162,154,68,56,3,5,5,4,0,3, - 224,32,160,0,224,5,5,5,6,0,0,40,80,160,80,40, - 5,3,3,7,1,2,248,8,8,3,1,1,4,0,3,224, - 7,7,7,9,1,0,56,68,186,178,170,68,56,3,1,1, - 3,0,7,224,4,4,4,4,0,4,96,144,144,96,5,7, - 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, - 4,96,160,64,224,3,4,4,3,0,4,224,64,32,192,2, - 2,2,3,0,7,64,128,4,8,8,5,0,254,144,144,144, - 144,144,240,128,128,6,10,10,6,0,254,124,232,232,232,104, - 40,40,40,40,40,2,1,1,3,0,3,192,2,2,2,3, - 0,254,64,192,2,4,4,3,0,4,64,192,64,64,3,5, - 5,4,0,3,224,160,224,0,224,5,5,5,6,0,0,160, - 80,40,80,160,9,8,16,9,0,0,68,0,196,0,72,0, - 72,0,17,0,19,0,39,128,33,0,8,8,8,9,0,0, - 68,196,72,72,19,21,34,39,9,8,16,9,0,0,224,0, - 68,0,36,0,200,0,9,0,19,0,23,128,33,0,4,8, - 8,6,1,254,32,0,32,32,64,128,144,96,7,11,11,7, - 0,0,32,16,0,16,16,40,40,68,124,130,130,7,11,11, - 7,0,0,8,16,0,16,16,40,40,68,124,130,130,7,11, - 11,7,0,0,16,40,0,16,16,40,40,68,124,130,130,7, - 11,11,7,0,0,20,40,0,16,16,40,40,68,124,130,130, - 7,10,10,7,0,0,40,0,16,16,40,40,68,124,130,130, - 7,11,11,7,0,0,16,40,16,16,16,40,40,68,124,130, - 130,9,8,16,10,0,0,31,128,24,0,40,0,47,128,72, - 0,120,0,136,0,143,128,6,10,10,8,1,254,120,132,128, - 128,128,128,132,120,16,48,5,11,11,7,1,0,64,32,0, - 248,128,128,248,128,128,128,248,5,11,11,7,1,0,16,32, - 0,248,128,128,248,128,128,128,248,5,11,11,7,1,0,32, - 80,0,248,128,128,248,128,128,128,248,5,10,10,7,1,0, - 80,0,248,128,128,248,128,128,128,248,2,11,11,3,0,0, - 128,64,0,64,64,64,64,64,64,64,64,2,11,11,3,1, - 0,64,128,0,128,128,128,128,128,128,128,128,3,11,11,3, - 0,0,64,160,0,64,64,64,64,64,64,64,64,3,10,10, - 3,0,0,160,0,64,64,64,64,64,64,64,64,7,8,8, - 8,0,0,120,68,66,242,66,66,68,120,6,11,11,8,1, - 0,40,80,0,196,196,164,164,148,148,140,140,6,11,11,8, - 1,0,32,16,0,120,132,132,132,132,132,132,120,6,11,11, - 8,1,0,8,16,0,120,132,132,132,132,132,132,120,6,11, - 11,8,1,0,32,80,0,120,132,132,132,132,132,132,120,6, - 11,11,8,1,0,40,80,0,120,132,132,132,132,132,132,120, - 6,10,10,8,1,0,72,0,120,132,132,132,132,132,132,120, - 5,5,5,6,0,1,136,80,32,80,136,6,10,10,8,1, - 255,4,120,140,148,148,164,164,196,120,128,6,11,11,8,1, - 0,32,16,0,132,132,132,132,132,132,132,120,6,11,11,8, - 1,0,8,16,0,132,132,132,132,132,132,132,120,6,11,11, - 8,1,0,32,80,0,132,132,132,132,132,132,132,120,6,10, - 10,8,1,0,72,0,132,132,132,132,132,132,132,120,7,11, - 11,7,0,0,8,16,0,130,68,68,40,40,16,16,16,5, - 8,8,7,1,0,128,128,240,136,136,240,128,128,4,8,8, - 5,0,0,96,144,144,160,144,144,144,160,5,9,9,5,0, - 0,64,32,0,224,16,112,144,144,104,5,9,9,5,0,0, - 32,64,0,224,16,112,144,144,104,5,9,9,5,0,0,32, - 80,0,224,16,112,144,144,104,5,9,9,5,0,0,80,160, - 0,224,16,112,144,144,104,5,8,8,5,0,0,80,0,224, - 16,112,144,144,104,5,9,9,5,0,0,32,80,32,224,16, - 112,144,144,104,7,6,6,8,0,0,236,18,126,144,146,108, - 4,8,8,5,0,254,96,144,128,128,144,96,32,96,4,9, - 9,5,0,0,64,32,0,96,144,240,128,144,96,4,9,9, - 5,0,0,32,64,0,96,144,240,128,144,96,4,9,9,5, - 0,0,64,160,0,96,144,240,128,144,96,4,8,8,5,0, - 0,160,0,96,144,240,128,144,96,2,9,9,2,255,0,128, - 64,0,64,64,64,64,64,64,2,9,9,2,0,0,64,128, - 0,128,128,128,128,128,128,3,9,9,2,255,0,64,160,0, - 64,64,64,64,64,64,3,8,8,2,255,0,160,0,64,64, - 64,64,64,64,5,9,9,6,0,0,64,120,144,120,136,136, - 136,136,112,4,9,9,5,0,0,80,160,0,224,144,144,144, - 144,144,5,9,9,6,0,0,64,32,0,112,136,136,136,136, - 112,5,9,9,6,0,0,16,32,0,112,136,136,136,136,112, - 5,9,9,6,0,0,32,80,0,112,136,136,136,136,112,5, - 9,9,6,0,0,40,80,0,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,1,32,0,248,0,32,7,6,6,6,255,0,58,76,84, - 100,68,184,4,9,9,5,0,0,64,32,0,144,144,144,144, - 144,112,4,9,9,5,0,0,16,32,0,144,144,144,144,144, - 112,4,9,9,5,0,0,64,160,0,144,144,144,144,144,112, - 4,8,8,5,0,0,160,0,144,144,144,144,144,112,5,11, - 11,5,255,254,8,16,0,72,72,80,80,48,32,32,192,5, - 10,10,6,0,254,128,128,176,200,136,136,200,176,128,128,5, - 10,10,5,255,254,80,0,72,72,80,80,48,32,32,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08r[1276] U8G_SECTION(".progmem.u8g_font_helvR08r") = { - 0,13,18,254,252,8,1,178,3,111,32,127,254,9,254,8, - 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, - 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, - 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, - 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, - 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, - 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, - 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, - 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, - 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, - 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, - 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, - 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, - 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, - 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, - 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, - 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, - 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, - 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, - 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, - 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, - 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, - 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, - 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, - 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, - 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, - 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, - 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, - 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, - 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, - 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, - 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, - 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, - 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, - 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, - 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, - 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, - 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, - 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, - 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, - 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, - 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, - 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, - 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, - 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, - 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, - 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, - 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, - 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, - 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, - 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, - 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, - 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, - 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, - 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, - 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, - 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, - 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, - 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, - 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, - 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, - 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, - 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, - 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, - 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, - 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, - 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, - 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, - 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, - 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, - 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, - 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, - 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, - 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, - 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, - 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, - 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, - 64,64,128,6,2,2,7,0,3,100,152,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=13 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_SECTION(".progmem.u8g_font_helvR10") = { - 0,17,22,254,251,11,2,10,4,133,32,255,253,14,253,11, - 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, - 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, - 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, - 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, - 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, - 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, - 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, - 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, - 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, - 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, - 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, - 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, - 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, - 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, - 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, - 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, - 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, - 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, - 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, - 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, - 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, - 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, - 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, - 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, - 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, - 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, - 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, - 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, - 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, - 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, - 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, - 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, - 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, - 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, - 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, - 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, - 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, - 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, - 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, - 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, - 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, - 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, - 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, - 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, - 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, - 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, - 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, - 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, - 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, - 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, - 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, - 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, - 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, - 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, - 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, - 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, - 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, - 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, - 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, - 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, - 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, - 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, - 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, - 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, - 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, - 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, - 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, - 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, - 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, - 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, - 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, - 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, - 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, - 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, - 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, - 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, - 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, - 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, - 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, - 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, - 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, - 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, - 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, - 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, - 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, - 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, - 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, - 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, - 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, - 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, - 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, - 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, - 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, - 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, - 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,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,4,0,1,1,11,11,4,1,253,128,128,0,128, - 128,128,128,128,128,128,128,6,10,10,8,1,255,4,120,204, - 144,144,160,164,204,120,128,7,11,11,8,0,0,56,68,64, - 64,248,32,32,32,64,98,220,6,6,6,8,1,2,132,120, - 72,72,120,132,7,11,11,7,0,0,130,130,130,68,68,40, - 254,16,254,16,16,1,14,14,3,1,253,128,128,128,128,128, - 128,0,0,128,128,128,128,128,128,5,14,14,8,2,253,112, - 216,136,192,112,152,136,136,200,112,24,136,216,112,5,1,1, - 5,0,9,216,10,11,22,12,1,0,30,0,97,128,92,128, - 162,192,162,64,160,64,162,64,156,64,64,128,97,128,30,0, - 4,7,7,6,1,4,224,16,112,144,208,0,240,6,5,5, - 8,1,2,36,72,144,72,36,7,4,4,9,1,2,254,2, - 2,2,3,1,1,4,0,4,224,10,11,22,12,1,0,30, - 0,97,128,92,128,146,64,146,64,156,64,146,64,146,64,64, - 128,97,128,30,0,4,1,1,4,0,9,240,4,4,4,6, - 1,7,96,144,144,96,7,9,9,9,1,0,16,16,16,254, - 16,16,16,0,254,4,6,6,5,0,5,96,144,16,32,64, - 240,4,6,6,5,0,5,96,144,32,16,144,96,2,2,2, - 5,2,9,64,128,6,11,11,8,1,253,132,132,132,132,132, - 132,204,180,128,128,128,7,14,14,8,0,253,62,116,244,244, - 244,116,52,20,20,20,20,20,20,20,2,1,1,4,1,4, - 192,4,3,3,5,0,253,32,144,96,2,6,6,5,1,5, - 64,192,64,64,64,64,4,7,7,6,1,4,96,144,144,144, - 96,0,240,6,5,5,8,1,2,144,72,36,72,144,10,11, - 22,12,1,0,66,0,194,0,68,0,68,0,72,0,72,128, - 9,128,18,128,20,128,39,192,32,128,9,11,22,12,1,0, - 66,0,194,0,68,0,68,0,72,0,75,0,20,128,16,128, - 17,0,34,0,39,128,11,11,22,12,0,0,97,0,145,0, - 34,0,18,0,148,0,100,64,4,192,9,64,10,64,19,224, - 16,64,6,11,11,8,1,253,16,16,0,16,32,64,128,132, - 132,204,48,9,14,28,9,0,0,16,0,8,0,0,0,8, - 0,28,0,20,0,20,0,34,0,34,0,65,0,127,0,65, - 0,128,128,128,128,9,14,28,9,0,0,4,0,8,0,0, - 0,8,0,28,0,20,0,20,0,34,0,34,0,65,0,127, - 0,65,0,128,128,128,128,9,14,28,9,0,0,12,0,18, - 0,0,0,8,0,28,0,20,0,20,0,34,0,34,0,65, - 0,127,0,65,0,128,128,128,128,9,14,28,9,0,0,26, - 0,44,0,0,0,8,0,28,0,20,0,20,0,34,0,34, - 0,65,0,127,0,65,0,128,128,128,128,9,13,26,9,0, - 0,54,0,0,0,8,0,28,0,20,0,20,0,34,0,34, - 0,65,0,127,0,65,0,128,128,128,128,9,14,28,9,0, - 0,12,0,18,0,18,0,12,0,12,0,20,0,20,0,34, - 0,34,0,65,0,127,0,65,0,128,128,128,128,12,11,22, - 14,1,0,31,240,18,0,18,0,34,0,34,0,35,240,126, - 0,66,0,66,0,130,0,131,240,8,14,14,10,1,253,28, - 99,65,128,128,128,128,128,65,99,28,8,36,24,7,14,14, - 9,1,0,32,16,0,254,128,128,128,128,252,128,128,128,128, - 254,7,14,14,9,1,0,8,16,0,254,128,128,128,128,252, - 128,128,128,128,254,7,14,14,9,1,0,24,36,0,254,128, - 128,128,128,252,128,128,128,128,254,7,13,13,9,1,0,108, - 0,254,128,128,128,128,252,128,128,128,128,254,2,14,14,4, - 1,0,128,64,0,64,64,64,64,64,64,64,64,64,64,64, - 2,14,14,4,2,0,64,128,0,128,128,128,128,128,128,128, - 128,128,128,128,4,14,14,4,1,0,96,144,0,64,64,64, - 64,64,64,64,64,64,64,64,5,13,13,4,0,0,216,0, - 32,32,32,32,32,32,32,32,32,32,32,9,11,22,10,0, - 0,124,0,67,0,65,0,64,128,64,128,240,128,64,128,64, - 128,65,0,67,0,124,0,8,14,14,10,1,0,26,44,0, - 193,161,161,145,145,137,137,133,133,131,131,9,14,28,11,1, - 0,16,0,8,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, - 11,1,0,4,0,8,0,0,0,28,0,99,0,65,0,128, - 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, - 14,28,11,1,0,12,0,18,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,14,28,11,1,0,26,0,44,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,9,13,26,11,1,0,51,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,7,7,7,9,1,1,130,68,40,16,40,68,130, - 11,11,22,11,0,0,14,32,49,192,32,128,65,64,66,64, - 68,64,72,64,80,64,32,128,113,128,142,0,8,14,14,10, - 1,0,16,8,0,129,129,129,129,129,129,129,129,129,66,60, - 8,14,14,10,1,0,4,8,0,129,129,129,129,129,129,129, - 129,129,66,60,8,14,14,10,1,0,24,36,0,129,129,129, - 129,129,129,129,129,129,66,60,8,13,13,10,1,0,102,0, - 129,129,129,129,129,129,129,129,129,66,60,9,14,28,9,0, - 0,4,0,8,0,0,0,128,128,193,128,65,0,34,0,34, - 0,20,0,28,0,8,0,8,0,8,0,8,0,7,11,11, - 9,1,0,128,128,252,134,130,130,134,252,128,128,128,5,11, - 11,7,1,0,112,136,136,136,176,144,136,136,136,136,176,7, - 11,11,8,1,0,32,16,0,120,204,4,124,196,132,204,118, - 7,11,11,8,1,0,16,32,0,120,204,4,124,196,132,204, - 118,7,11,11,8,1,0,48,72,0,120,204,4,124,196,132, - 204,118,7,11,11,8,1,0,52,88,0,120,204,4,124,196, - 132,204,118,7,11,11,8,1,0,72,72,0,120,204,4,124, - 196,132,204,118,7,12,12,8,1,0,48,72,48,0,120,204, - 4,124,196,132,204,118,11,8,16,13,1,0,123,192,198,96, - 4,32,127,224,196,0,132,0,206,96,123,192,6,11,11,8, - 1,253,120,204,128,128,128,132,204,120,16,72,48,6,11,11, - 8,1,0,32,16,0,120,204,132,252,128,128,204,120,6,11, - 11,8,1,0,16,32,0,120,204,132,252,128,128,204,120,6, - 11,11,8,1,0,48,72,0,120,204,132,252,128,128,204,120, - 6,11,11,8,1,0,72,72,0,120,204,132,252,128,128,204, - 120,2,11,11,3,1,0,128,64,0,128,128,128,128,128,128, - 128,128,2,11,11,3,1,0,64,128,0,128,128,128,128,128, - 128,128,128,4,11,11,3,0,0,96,144,0,64,64,64,64, - 64,64,64,64,3,11,11,3,0,0,160,160,0,64,64,64, - 64,64,64,64,64,6,11,11,8,1,0,216,112,144,120,204, - 132,132,132,132,204,120,6,11,11,8,1,0,104,176,0,184, - 204,132,132,132,132,132,132,6,11,11,8,1,0,32,16,0, - 120,204,132,132,132,132,204,120,6,11,11,8,1,0,16,32, - 0,120,204,132,132,132,132,204,120,6,11,11,8,1,0,48, - 72,0,120,204,132,132,132,132,204,120,6,11,11,8,1,0, - 104,176,0,120,204,132,132,132,132,204,120,6,11,11,8,1, - 0,72,72,0,120,204,132,132,132,132,204,120,7,7,7,9, - 1,1,16,16,0,254,0,16,16,8,8,8,8,0,0,61, - 98,70,74,82,98,70,188,6,11,11,8,1,0,32,16,0, - 132,132,132,132,132,132,204,116,6,11,11,8,1,0,16,32, - 0,132,132,132,132,132,132,204,116,6,11,11,8,1,0,48, - 72,0,132,132,132,132,132,132,204,116,6,11,11,8,1,0, - 72,72,0,132,132,132,132,132,132,204,116,7,14,14,7,0, - 253,8,16,0,130,194,68,68,36,40,24,16,16,48,96,6, - 14,14,8,1,253,128,128,128,184,204,132,132,132,132,204,184, - 128,128,128,7,14,14,7,0,253,36,36,0,130,194,68,68, - 36,40,24,16,16,48,96}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=13 h=14 x= 2 y= 9 dx=13 dy= 0 ascent=12 len=24 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10r[1648] U8G_SECTION(".progmem.u8g_font_helvR10r") = { - 0,17,22,254,251,11,2,10,4,133,32,127,253,12,253,11, - 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, - 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, - 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, - 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, - 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, - 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, - 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, - 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, - 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, - 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, - 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, - 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, - 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, - 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, - 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, - 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, - 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, - 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, - 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, - 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, - 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, - 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, - 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, - 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, - 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, - 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, - 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, - 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, - 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, - 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, - 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, - 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, - 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, - 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, - 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, - 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, - 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, - 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, - 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, - 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, - 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, - 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, - 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, - 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, - 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, - 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, - 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, - 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, - 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, - 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, - 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, - 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, - 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, - 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, - 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, - 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, - 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, - 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, - 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, - 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, - 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, - 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, - 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, - 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, - 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, - 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, - 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, - 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, - 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, - 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, - 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, - 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, - 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, - 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, - 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, - 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, - 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, - 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, - 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, - 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, - 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, - 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, - 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, - 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, - 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, - 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, - 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, - 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, - 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, - 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, - 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, - 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, - 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, - 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, - 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,255 - }; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=16 x= 3 y=10 dx=17 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_SECTION(".progmem.u8g_font_helvR12") = { - 0,20,26,254,250,12,2,91,5,99,32,255,252,16,252,12, - 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, - 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, - 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, - 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, - 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, - 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, - 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, - 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, - 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, - 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, - 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, - 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, - 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, - 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, - 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, - 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, - 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, - 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, - 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, - 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, - 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, - 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, - 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, - 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, - 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, - 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, - 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, - 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, - 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, - 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, - 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, - 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, - 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, - 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, - 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, - 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, - 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, - 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, - 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, - 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, - 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, - 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, - 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, - 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, - 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, - 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, - 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, - 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, - 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, - 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, - 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, - 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, - 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, - 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, - 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, - 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, - 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, - 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, - 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, - 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, - 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, - 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, - 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, - 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, - 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, - 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, - 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, - 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, - 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, - 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, - 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, - 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, - 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, - 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, - 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, - 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, - 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, - 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, - 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, - 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, - 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, - 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, - 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, - 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, - 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, - 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, - 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, - 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, - 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, - 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, - 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, - 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, - 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, - 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, - 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, - 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, - 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, - 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, - 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, - 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, - 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, - 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, - 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, - 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, - 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, - 113,142,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,5,0,1,1,12,12,6,2,253,128, - 128,0,128,128,128,128,128,128,128,128,128,7,13,13,9,1, - 254,4,4,56,76,138,144,144,144,162,100,56,64,64,8,12, - 12,9,0,0,14,17,33,32,32,16,126,8,16,32,121,134, - 8,7,7,9,0,3,189,102,66,66,66,102,189,9,12,24, - 9,0,0,128,128,65,0,65,0,34,0,34,0,20,0,127, - 0,8,0,127,0,8,0,8,0,8,0,1,16,16,4,1, - 252,128,128,128,128,128,128,0,0,0,0,128,128,128,128,128, - 128,7,15,15,9,1,253,56,68,70,96,152,140,134,194,98, - 50,28,4,196,68,56,3,2,2,5,1,10,160,160,12,12, - 24,12,0,0,15,0,48,192,71,32,72,160,144,16,144,16, - 144,16,144,16,72,160,71,32,48,192,15,0,5,7,7,6, - 1,5,96,144,112,144,120,0,248,6,6,6,9,1,2,36, - 72,144,144,72,36,8,5,5,10,0,1,255,1,1,1,1, - 4,1,1,5,0,4,240,12,12,24,12,0,0,15,0,48, - 192,64,32,79,32,136,144,136,144,143,16,138,16,73,32,72, - 160,48,192,15,0,5,1,1,6,0,10,248,5,5,5,7, - 1,7,112,136,136,136,112,9,11,22,10,0,0,8,0,8, - 0,8,0,8,0,255,128,8,0,8,0,8,0,8,0,0, - 0,255,128,5,7,7,6,0,5,112,136,136,16,96,128,248, - 5,7,7,6,0,5,112,136,8,48,8,136,112,3,3,3, - 6,1,10,32,96,128,7,13,13,9,1,252,130,130,130,130, - 130,130,130,134,250,128,128,128,128,7,15,15,9,1,253,62, - 116,244,244,244,244,116,52,20,20,20,20,20,20,20,1,2, - 2,5,2,4,128,128,4,4,4,6,0,252,32,32,144,96, - 3,7,7,6,0,5,32,224,32,32,32,32,32,4,7,7, - 6,1,5,96,144,144,144,96,0,240,6,6,6,9,1,2, - 144,72,36,36,72,144,12,12,24,14,0,0,32,64,224,128, - 32,128,33,0,34,0,34,32,36,96,4,160,9,32,17,240, - 16,32,32,32,12,13,26,14,0,0,0,64,32,128,224,128, - 33,0,34,0,34,0,36,224,37,16,9,16,8,32,16,192, - 33,0,33,240,13,12,24,14,0,0,112,64,136,64,8,128, - 48,128,9,0,137,16,114,48,2,80,4,144,4,248,8,16, - 8,16,7,12,12,10,1,253,16,16,0,16,16,32,64,128, - 130,130,68,56,10,16,32,11,0,0,16,0,24,0,4,0, - 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, - 127,128,64,128,64,128,128,64,128,64,10,16,32,11,0,0, - 2,0,6,0,8,0,0,0,12,0,12,0,18,0,18,0, - 18,0,33,0,33,0,127,128,64,128,64,128,128,64,128,64, - 10,16,32,11,0,0,4,0,14,0,17,0,0,0,12,0, - 12,0,18,0,18,0,18,0,33,0,33,0,127,128,64,128, - 64,128,128,64,128,64,10,15,30,11,0,0,26,0,44,0, - 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, - 127,128,64,128,64,128,128,64,128,64,10,15,30,11,0,0, - 18,0,18,0,0,0,12,0,12,0,18,0,18,0,18,0, - 33,0,33,0,127,128,64,128,64,128,128,64,128,64,10,15, - 30,11,0,0,12,0,18,0,18,0,12,0,12,0,18,0, - 18,0,18,0,33,0,33,0,127,128,64,128,64,128,128,64, - 128,64,14,12,24,16,0,0,7,252,9,0,9,0,17,0, - 17,0,33,252,33,0,127,0,65,0,65,0,129,0,129,252, - 10,16,32,12,1,252,15,0,48,128,64,64,64,0,128,0, - 128,0,128,0,128,0,64,0,64,64,48,128,15,0,4,0, - 4,0,18,0,12,0,8,16,16,11,1,0,32,48,8,0, - 255,128,128,128,128,255,128,128,128,128,128,255,8,16,16,11, - 1,0,4,12,16,0,255,128,128,128,128,255,128,128,128,128, - 128,255,8,16,16,11,1,0,16,56,68,0,255,128,128,128, - 128,255,128,128,128,128,128,255,8,15,15,11,1,0,36,36, - 0,255,128,128,128,128,255,128,128,128,128,128,255,3,16,16, - 4,0,0,128,192,32,0,64,64,64,64,64,64,64,64,64, - 64,64,64,3,16,16,4,0,0,32,96,128,0,64,64,64, - 64,64,64,64,64,64,64,64,64,5,16,16,4,255,0,32, - 112,136,0,32,32,32,32,32,32,32,32,32,32,32,32,3, - 15,15,4,0,0,160,160,0,64,64,64,64,64,64,64,64, - 64,64,64,64,12,12,24,12,0,0,63,0,32,192,32,32, - 32,32,32,16,248,16,32,16,32,16,32,32,32,32,32,192, - 63,0,9,15,30,12,1,0,26,0,44,0,0,0,128,128, - 192,128,160,128,160,128,144,128,136,128,136,128,132,128,130,128, - 130,128,129,128,128,128,11,16,32,13,1,0,8,0,12,0, - 2,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, - 128,32,128,32,64,64,64,64,49,128,14,0,11,16,32,13, - 1,0,1,0,3,0,4,0,0,0,14,0,49,128,64,64, - 64,64,128,32,128,32,128,32,128,32,64,64,64,64,49,128, - 14,0,11,16,32,13,1,0,4,0,14,0,17,0,0,0, - 14,0,49,128,64,64,64,64,128,32,128,32,128,32,128,32, - 64,64,64,64,49,128,14,0,11,15,30,13,1,0,13,0, - 22,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, - 128,32,128,32,64,64,64,64,49,128,14,0,11,15,30,13, - 1,0,17,0,17,0,0,0,14,0,49,128,64,64,64,64, - 128,32,128,32,128,32,128,32,64,64,64,64,49,128,14,0, - 8,8,8,10,1,0,129,66,36,24,24,36,66,129,11,14, - 28,13,1,255,0,64,14,128,49,128,65,64,66,64,130,32, - 132,32,132,32,136,32,72,64,80,64,49,128,46,0,64,0, - 9,16,32,12,1,0,32,0,48,0,8,0,0,0,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,9,16,32,12,1,0,2,0,6,0, - 8,0,0,0,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,65,0,62,0,9,16,32,12, - 1,0,8,0,28,0,34,0,0,0,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 62,0,9,15,30,12,1,0,34,0,34,0,0,0,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,9,16,32,11,1,0,2,0,6,0, - 8,0,0,0,128,128,65,0,65,0,34,0,34,0,20,0, - 28,0,8,0,8,0,8,0,8,0,8,0,8,12,12,11, - 2,0,128,128,252,130,129,129,130,252,128,128,128,128,7,12, - 12,10,2,0,120,132,130,130,132,188,134,130,130,130,132,184, - 8,13,13,9,1,0,32,48,8,0,124,130,2,6,122,130, - 130,134,123,8,13,13,9,1,0,4,12,16,0,124,130,2, - 6,122,130,130,134,123,8,13,13,9,1,0,16,56,68,0, - 124,130,2,6,122,130,130,134,123,8,12,12,9,1,0,52, - 88,0,124,130,2,6,122,130,130,134,123,8,12,12,9,1, - 0,40,40,0,124,130,2,6,122,130,130,134,123,8,13,13, - 9,1,0,16,40,16,0,124,130,2,6,122,130,130,134,123, - 13,9,18,15,1,0,124,224,131,16,2,8,6,8,123,248, - 130,0,130,8,135,16,120,224,7,13,13,8,1,252,56,68, - 130,128,128,128,130,68,56,16,16,72,48,7,13,13,9,1, - 0,64,96,16,0,56,68,130,130,254,128,130,68,56,7,13, - 13,9,1,0,8,24,32,0,56,68,130,130,254,128,130,68, - 56,7,13,13,9,1,0,16,56,68,0,56,68,130,130,254, - 128,130,68,56,7,12,12,9,1,0,40,40,0,56,68,130, - 130,254,128,130,68,56,3,13,13,4,1,0,128,192,32,0, - 64,64,64,64,64,64,64,64,64,3,13,13,4,1,0,32, - 96,128,0,64,64,64,64,64,64,64,64,64,5,13,13,4, - 0,0,32,112,136,0,32,32,32,32,32,32,32,32,32,3, - 12,12,4,1,0,160,160,0,64,64,64,64,64,64,64,64, - 64,7,12,12,9,1,0,72,48,88,60,68,130,130,130,130, - 130,68,56,7,12,12,9,1,0,52,88,0,188,194,130,130, - 130,130,130,130,130,7,13,13,9,1,0,32,48,8,0,56, - 68,130,130,130,130,130,68,56,7,13,13,9,1,0,8,24, - 32,0,56,68,130,130,130,130,130,68,56,7,13,13,9,1, - 0,16,56,68,0,56,68,130,130,130,130,130,68,56,7,12, - 12,9,1,0,52,88,0,56,68,130,130,130,130,130,68,56, - 7,12,12,9,1,0,40,40,0,56,68,130,130,130,130,130, - 68,56,7,9,9,10,1,0,16,16,0,0,254,0,0,16, - 16,7,10,10,10,1,0,2,60,68,138,146,146,162,162,68, - 184,7,13,13,9,1,0,32,48,8,0,130,130,130,130,130, - 130,130,134,122,7,13,13,9,1,0,4,12,16,0,130,130, - 130,130,130,130,130,134,122,7,13,13,9,1,0,16,56,68, - 0,130,130,130,130,130,130,130,134,122,7,12,12,9,1,0, - 40,40,0,130,130,130,130,130,130,130,134,122,7,16,16,8, - 0,253,8,24,32,0,130,130,68,68,40,40,56,16,16,32, - 32,192,7,16,16,9,1,252,128,128,128,184,196,130,130,130, - 130,130,196,184,128,128,128,128,7,15,15,8,0,253,40,40, - 0,130,130,68,68,40,40,56,16,16,32,32,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=13 h=16 x= 3 y=10 dx=17 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12r[1907] U8G_SECTION(".progmem.u8g_font_helvR12r") = { - 0,20,26,254,250,12,2,91,5,99,32,127,252,13,252,12, - 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, - 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, - 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, - 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, - 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, - 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, - 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, - 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, - 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, - 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, - 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, - 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, - 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, - 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, - 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, - 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, - 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, - 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, - 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, - 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, - 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, - 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, - 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, - 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, - 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, - 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, - 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, - 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, - 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, - 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, - 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, - 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, - 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, - 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, - 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, - 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, - 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, - 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, - 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, - 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, - 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, - 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, - 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, - 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, - 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, - 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, - 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, - 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, - 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, - 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, - 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, - 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, - 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, - 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, - 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, - 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, - 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, - 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, - 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, - 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, - 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, - 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, - 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, - 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, - 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, - 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, - 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, - 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, - 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, - 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, - 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, - 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, - 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, - 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, - 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, - 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, - 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, - 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, - 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, - 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, - 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, - 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, - 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, - 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, - 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, - 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, - 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, - 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, - 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, - 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, - 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, - 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, - 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, - 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, - 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, - 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, - 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, - 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, - 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, - 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, - 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, - 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, - 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, - 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, - 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, - 113,142,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=12 dx=18 dy= 0 ascent=18 len=36 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_SECTION(".progmem.u8g_font_helvR14") = { - 0,22,29,254,249,14,2,149,6,82,32,255,252,18,252,14, - 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, - 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, - 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, - 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, - 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, - 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, - 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, - 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, - 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, - 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, - 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, - 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, - 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, - 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, - 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, - 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, - 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, - 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, - 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, - 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, - 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, - 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, - 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, - 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, - 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, - 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, - 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, - 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, - 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, - 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, - 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, - 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, - 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, - 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, - 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, - 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, - 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, - 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, - 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, - 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, - 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, - 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, - 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, - 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, - 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, - 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, - 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, - 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, - 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, - 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, - 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, - 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, - 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, - 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, - 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, - 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, - 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, - 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, - 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, - 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, - 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, - 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, - 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, - 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, - 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, - 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, - 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, - 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, - 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, - 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, - 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, - 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, - 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, - 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, - 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, - 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, - 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, - 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, - 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, - 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, - 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, - 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, - 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, - 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, - 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, - 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, - 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, - 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, - 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, - 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, - 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, - 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, - 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, - 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, - 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, - 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, - 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, - 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, - 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, - 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, - 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, - 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, - 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, - 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, - 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, - 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, - 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, - 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, - 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, - 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, - 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, - 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, - 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, - 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, - 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, - 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, - 3,3,10,1,4,115,255,206,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,5,0,1,2, - 14,14,6,2,252,192,192,0,0,64,64,192,192,192,192,192, - 192,192,192,8,14,14,10,1,254,4,4,62,127,107,200,200, - 200,200,107,127,62,16,16,9,13,26,10,0,0,30,0,63, - 0,97,128,97,128,96,0,48,0,126,0,24,0,24,0,48, - 0,96,128,255,128,223,0,8,7,7,10,1,3,195,255,102, - 102,102,255,195,8,13,13,10,1,0,195,195,102,102,102,60, - 255,24,255,24,24,24,24,2,18,18,5,1,252,192,192,192, - 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,8, - 18,18,10,1,252,60,126,195,195,240,124,110,199,195,227,115, - 62,14,7,195,195,126,60,5,2,2,6,0,12,216,216,13, - 14,28,15,1,0,15,128,48,96,64,16,71,16,136,136,144, - 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, - 128,5,8,8,7,1,6,112,152,56,72,216,104,0,248,7, - 6,6,9,1,2,54,108,216,216,108,54,9,5,10,11,1, - 3,255,128,255,128,1,128,1,128,1,128,5,1,1,6,0, - 5,248,13,14,28,14,0,0,15,128,48,96,64,16,79,144, - 136,72,136,72,136,72,143,136,137,8,136,136,72,80,64,16, - 48,96,15,128,5,1,1,5,0,12,248,5,5,5,7,1, - 8,112,216,136,216,112,8,11,11,10,1,0,24,24,24,255, - 255,24,24,24,0,255,255,5,8,8,6,0,5,112,248,152, - 24,48,96,248,248,5,8,8,6,0,5,112,248,152,48,48, - 152,248,112,4,3,3,4,0,11,48,96,192,8,14,14,10, - 1,252,195,195,195,195,195,195,195,231,255,219,192,192,192,192, - 8,18,18,10,1,252,63,114,242,242,242,242,242,114,50,18, - 18,18,18,18,18,18,18,18,2,2,2,4,1,4,192,192, - 5,5,5,5,0,252,96,112,24,216,240,4,8,8,6,0, - 5,48,240,240,48,48,48,48,48,5,8,8,7,1,6,112, - 216,136,136,216,112,0,248,7,6,6,9,1,2,216,108,54, - 54,108,216,14,13,26,15,0,0,48,48,240,48,240,96,48, - 192,48,192,49,136,49,24,51,56,6,120,6,216,12,252,24, - 24,24,24,14,13,26,15,0,0,48,48,240,48,240,96,48, - 192,48,192,49,184,49,124,51,76,6,12,6,24,12,48,24, - 124,24,124,14,13,26,15,0,0,112,48,248,48,152,96,48, - 192,48,192,153,136,249,24,115,56,6,120,6,216,12,252,24, - 24,24,24,7,14,14,10,1,252,24,24,0,0,24,24,24, - 56,112,224,198,198,254,124,12,18,36,13,0,0,24,0,12, - 0,6,0,0,0,6,0,6,0,15,0,15,0,25,128,25, - 128,48,192,48,192,63,192,127,224,96,96,96,96,192,48,192, - 48,12,18,36,13,0,0,1,128,3,0,6,0,0,0,6, - 0,6,0,15,0,15,0,25,128,25,128,48,192,48,192,63, - 192,127,224,96,96,96,96,192,48,192,48,12,18,36,13,0, - 0,6,0,15,0,25,128,0,0,6,0,6,0,15,0,15, - 0,25,128,25,128,48,192,48,192,63,192,127,224,96,96,96, - 96,192,48,192,48,12,18,36,13,0,0,12,128,22,128,19, - 0,0,0,6,0,6,0,15,0,15,0,25,128,25,128,48, - 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,12, - 17,34,13,0,0,25,128,25,128,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,12,17,34,13,0,0,6,0,9, - 0,9,0,6,0,6,0,15,0,15,0,25,128,25,128,48, - 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,16, - 14,28,18,1,0,7,255,7,255,13,128,13,128,25,128,25, - 128,49,254,49,254,63,128,127,128,97,128,97,128,193,255,193, - 255,12,18,36,14,1,252,15,128,63,224,112,112,96,48,224, - 0,192,0,192,0,192,0,192,0,224,0,96,48,112,112,63, - 224,15,128,6,0,3,0,27,0,30,0,10,18,36,13,2, - 0,48,0,24,0,12,0,0,0,255,192,255,192,192,0,192, - 0,192,0,192,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,192,255,192,10,18,36,13,2,0,3,0,6,0,12, - 0,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,10, - 18,36,13,2,0,12,0,30,0,51,0,0,0,255,192,255, - 192,192,0,192,0,192,0,192,0,255,128,255,128,192,0,192, - 0,192,0,192,0,255,192,255,192,10,17,34,13,2,0,51, - 0,51,0,0,0,255,192,255,192,192,0,192,0,192,0,192, - 0,255,128,255,128,192,0,192,0,192,0,192,0,255,192,255, - 192,4,18,18,6,0,0,192,96,48,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,4,18,18,6,2,0,48, - 96,192,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,6,18,18,6,0,0,48,120,132,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,6,17,17,6,0,0,204, - 204,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 14,14,28,14,255,0,63,224,63,240,48,56,48,24,48,12, - 48,12,254,12,254,12,48,12,48,12,48,24,48,56,63,240, - 63,224,11,18,36,14,1,0,12,128,22,128,19,0,0,0, - 192,96,224,96,240,96,240,96,216,96,204,96,204,96,198,96, - 198,96,195,96,193,224,193,224,192,224,192,96,13,18,36,15, - 1,0,24,0,12,0,6,0,0,0,15,128,63,224,112,112, - 96,48,224,56,192,24,192,24,192,24,192,24,224,56,96,48, - 112,112,63,224,15,128,13,18,36,15,1,0,1,128,3,0, - 6,0,0,0,15,128,63,224,112,112,96,48,224,56,192,24, - 192,24,192,24,192,24,224,56,96,48,112,112,63,224,15,128, - 13,18,36,15,1,0,3,0,7,128,12,192,0,0,15,128, - 63,224,112,112,96,48,224,56,192,24,192,24,192,24,192,24, - 224,56,96,48,112,112,63,224,15,128,13,18,36,15,1,0, - 6,64,11,64,9,128,0,0,15,128,63,224,112,112,96,48, - 224,56,192,24,192,24,192,24,192,24,224,56,96,48,112,112, - 63,224,15,128,13,17,34,15,1,0,12,192,12,192,0,0, - 15,128,63,224,112,112,96,48,224,56,192,24,192,24,192,24, - 192,24,224,56,96,48,112,112,63,224,15,128,10,9,18,10, - 0,0,192,192,97,128,51,0,30,0,12,0,30,0,51,0, - 97,128,192,192,14,14,28,15,0,0,7,204,31,248,56,48, - 48,120,112,220,97,140,99,12,98,12,102,12,108,28,56,24, - 56,56,111,240,199,192,11,18,36,14,1,0,24,0,12,0, - 6,0,0,0,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,96,192,127,192,31,0, - 11,18,36,14,1,0,3,0,6,0,12,0,0,0,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,96,192,127,192,31,0,11,18,36,14,1,0, - 6,0,15,0,25,128,0,0,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,96,192, - 127,192,31,0,11,17,34,14,1,0,49,128,49,128,0,0, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,96,192,127,192,31,0,12,18,36,13, - 0,0,1,128,3,0,6,0,0,0,192,48,192,48,96,96, - 96,96,48,192,57,192,25,128,15,0,6,0,6,0,6,0, - 6,0,6,0,6,0,10,14,28,12,1,0,192,0,192,0, - 192,0,255,0,255,128,193,192,192,192,192,192,193,192,255,128, - 255,0,192,0,192,0,192,0,7,14,14,9,1,0,56,124, - 198,198,198,198,220,220,198,198,198,198,222,220,9,14,28,11, - 1,0,48,0,24,0,12,0,0,0,126,0,231,0,195,0, - 7,0,127,0,227,0,195,0,195,0,231,128,121,128,9,14, - 28,11,1,0,12,0,24,0,48,0,0,0,126,0,231,0, - 195,0,7,0,127,0,227,0,195,0,195,0,231,128,121,128, - 9,14,28,11,1,0,24,0,60,0,102,0,0,0,126,0, - 231,0,195,0,7,0,127,0,227,0,195,0,195,0,231,128, - 121,128,9,14,28,11,1,0,50,0,90,0,76,0,0,0, - 126,0,231,0,195,0,7,0,127,0,227,0,195,0,195,0, - 231,128,121,128,9,14,28,11,1,0,102,0,102,0,0,0, - 0,0,126,0,231,0,195,0,7,0,127,0,227,0,195,0, - 195,0,231,128,121,128,9,14,28,11,1,0,24,0,36,0, - 36,0,24,0,126,0,231,0,195,0,7,0,127,0,227,0, - 195,0,195,0,231,128,121,128,14,10,20,17,2,0,126,240, - 231,248,195,12,7,12,127,252,227,0,195,0,195,140,231,252, - 122,240,8,14,14,10,1,252,62,127,99,192,192,192,192,99, - 127,62,24,12,108,120,8,14,14,10,1,0,48,24,12,0, - 60,126,195,195,255,192,192,227,127,60,8,14,14,10,1,0, - 12,24,48,0,60,126,195,195,255,192,192,227,127,60,8,14, - 14,10,1,0,24,60,102,0,60,126,195,195,255,192,192,227, - 127,60,8,14,14,10,1,0,102,102,0,0,60,126,195,195, - 255,192,192,227,127,60,4,14,14,4,0,0,192,96,48,0, - 96,96,96,96,96,96,96,96,96,96,4,14,14,4,0,0, - 48,96,192,0,96,96,96,96,96,96,96,96,96,96,6,14, - 14,4,255,0,48,120,204,0,48,48,48,48,48,48,48,48, - 48,48,5,14,14,4,0,0,216,216,0,0,96,96,96,96, - 96,96,96,96,96,96,9,14,28,11,1,0,96,0,54,0, - 56,0,76,0,62,0,127,0,99,0,193,128,193,128,193,128, - 193,128,99,0,127,0,62,0,8,14,14,10,1,0,50,90, - 76,0,222,255,227,195,195,195,195,195,195,195,9,14,28,11, - 1,0,48,0,24,0,12,0,0,0,62,0,127,0,99,0, - 193,128,193,128,193,128,193,128,99,0,127,0,62,0,9,14, - 28,11,1,0,6,0,12,0,24,0,0,0,62,0,127,0, - 99,0,193,128,193,128,193,128,193,128,99,0,127,0,62,0, - 9,14,28,11,1,0,24,0,60,0,102,0,0,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,0,50,0,90,0,76,0,0,0, - 62,0,127,0,99,0,193,128,193,128,193,128,193,128,99,0, - 127,0,62,0,9,14,28,11,1,0,51,0,51,0,0,0, - 0,0,62,0,127,0,99,0,193,128,193,128,193,128,193,128, - 99,0,127,0,62,0,8,8,8,10,1,1,24,24,0,255, - 255,0,24,24,11,10,20,11,0,0,14,96,63,192,49,128, - 99,192,102,192,108,192,120,192,49,128,127,128,206,0,8,14, - 14,10,1,0,48,24,12,0,195,195,195,195,195,195,195,199, - 255,123,8,14,14,10,1,0,6,12,24,0,195,195,195,195, - 195,195,195,199,255,123,8,14,14,10,1,0,24,60,102,0, - 195,195,195,195,195,195,195,199,255,123,8,14,14,10,1,0, - 102,102,0,0,195,195,195,195,195,195,195,199,255,123,8,18, - 18,10,1,252,6,12,24,0,195,195,195,102,102,102,36,60, - 24,24,24,24,112,112,9,18,36,11,1,252,192,0,192,0, - 192,0,192,0,222,0,255,0,227,0,193,128,193,128,193,128, - 193,128,227,0,255,0,222,0,192,0,192,0,192,0,192,0, - 8,18,18,10,1,252,102,102,0,0,195,195,195,102,102,102, - 36,60,24,24,24,24,112,112}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14r[2281] U8G_SECTION(".progmem.u8g_font_helvR14r") = { - 0,22,29,254,249,14,2,149,6,82,32,127,252,14,252,14, - 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, - 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, - 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, - 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, - 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, - 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, - 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, - 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, - 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, - 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, - 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, - 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, - 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, - 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, - 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, - 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, - 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, - 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, - 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, - 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, - 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, - 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, - 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, - 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, - 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, - 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, - 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, - 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, - 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, - 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, - 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, - 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, - 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, - 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, - 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, - 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, - 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, - 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, - 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, - 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, - 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, - 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, - 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, - 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, - 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, - 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, - 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, - 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, - 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, - 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, - 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, - 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, - 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, - 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, - 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, - 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, - 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, - 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, - 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, - 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, - 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, - 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, - 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, - 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, - 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, - 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, - 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, - 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, - 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, - 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, - 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, - 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, - 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, - 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, - 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, - 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, - 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, - 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, - 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, - 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, - 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, - 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, - 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, - 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, - 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, - 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, - 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, - 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, - 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, - 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, - 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, - 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, - 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, - 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, - 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, - 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, - 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, - 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, - 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, - 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, - 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, - 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, - 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, - 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, - 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, - 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, - 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, - 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, - 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, - 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, - 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, - 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, - 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, - 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, - 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, - 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, - 3,3,10,1,4,115,255,206,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=16 dx=25 dy= 0 ascent=24 len=69 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_SECTION(".progmem.u8g_font_helvR18") = { - 0,28,37,253,248,19,4,37,9,49,32,255,251,24,251,19, - 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, - 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, - 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, - 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, - 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, - 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, - 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, - 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, - 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, - 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, - 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, - 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, - 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, - 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, - 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, - 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, - 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, - 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, - 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, - 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, - 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, - 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, - 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, - 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, - 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, - 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, - 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, - 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, - 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, - 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, - 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, - 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, - 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, - 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, - 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, - 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, - 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, - 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, - 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, - 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, - 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, - 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, - 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, - 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, - 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, - 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, - 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, - 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, - 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, - 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, - 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, - 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, - 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, - 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, - 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, - 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, - 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, - 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, - 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, - 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, - 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, - 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, - 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, - 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, - 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, - 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, - 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, - 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, - 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, - 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, - 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, - 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, - 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, - 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, - 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, - 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, - 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, - 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, - 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, - 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, - 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, - 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, - 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, - 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, - 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, - 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, - 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, - 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, - 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, - 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, - 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, - 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, - 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, - 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, - 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, - 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, - 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, - 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, - 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, - 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, - 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, - 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, - 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, - 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, - 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, - 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, - 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, - 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, - 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, - 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, - 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, - 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, - 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, - 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, - 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, - 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, - 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, - 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, - 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, - 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, - 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, - 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, - 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, - 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, - 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, - 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, - 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, - 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, - 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, - 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, - 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, - 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, - 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, - 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, - 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, - 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, - 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, - 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, - 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, - 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, - 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, - 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, - 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, - 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, - 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, - 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, - 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, - 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, - 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, - 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, - 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, - 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, - 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, - 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, - 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, - 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, - 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, - 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, - 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, - 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, - 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, - 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, - 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, - 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, - 207,192,195,128,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,1,2,19,19,6,2, - 251,192,192,192,0,0,64,64,192,192,192,192,192,192,192,192, - 192,192,192,192,10,18,36,13,1,254,1,128,1,128,31,0, - 63,128,115,192,102,192,198,0,204,0,204,0,204,0,216,0, - 216,0,216,192,113,192,127,128,63,0,96,0,96,0,12,18, - 36,14,1,0,31,128,63,224,112,112,96,48,96,0,112,0, - 48,0,24,0,255,128,255,128,24,0,24,0,24,0,48,0, - 48,0,103,48,255,240,240,224,11,12,24,13,1,3,192,96, - 238,224,127,192,49,128,96,192,96,192,96,192,96,192,49,128, - 127,192,238,224,192,96,14,18,36,14,0,0,224,28,96,24, - 112,56,48,48,56,112,24,96,28,224,12,192,63,240,63,240, - 3,0,63,240,63,240,3,0,3,0,3,0,3,0,3,0, - 2,24,24,6,2,251,192,192,192,192,192,192,192,192,192,192, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,11,24, - 48,13,1,251,31,0,63,128,113,192,96,192,112,192,56,0, - 28,0,126,0,231,0,195,128,193,192,192,192,96,96,112,96, - 56,96,28,192,15,128,7,0,3,128,97,192,96,192,113,192, - 63,128,31,0,6,2,2,8,1,16,204,204,19,19,57,19, - 1,0,3,248,0,14,14,0,48,1,128,96,0,192,65,240, - 64,195,24,96,134,12,32,132,0,32,132,0,32,132,0,32, - 132,0,32,134,12,32,195,24,96,65,240,64,96,0,192,48, - 1,128,24,3,0,14,14,0,3,248,0,7,12,12,9,1, - 7,120,204,204,28,108,204,204,220,118,0,254,254,9,8,16, - 14,2,3,25,128,51,0,102,0,204,0,204,0,102,0,51, - 0,25,128,13,8,16,15,1,2,255,248,255,248,0,24,0, - 24,0,24,0,24,0,24,0,24,6,2,2,8,1,6,252, - 252,18,19,57,19,1,0,7,248,0,28,14,0,48,3,0, - 96,1,128,67,240,128,194,24,192,130,8,64,130,8,64,130, - 8,64,130,16,64,131,240,64,130,32,64,130,16,64,194,16, - 192,66,8,128,96,1,128,48,3,0,28,14,0,7,248,0, - 6,2,2,8,1,16,252,252,8,7,7,9,0,11,60,102, - 195,195,195,102,60,12,13,26,14,1,0,6,0,6,0,6, - 0,6,0,255,240,255,240,6,0,6,0,6,0,6,0,0, - 0,255,240,255,240,7,10,10,7,0,8,60,126,198,6,12, - 24,48,96,254,254,7,10,10,7,0,8,124,254,198,6,60, - 60,6,198,254,124,5,4,4,7,1,15,24,48,96,192,10, - 19,38,14,2,251,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,193,192,227,192,254,192,220, - 192,192,0,192,0,192,0,192,0,192,0,10,24,48,12,1, - 251,31,192,127,192,125,128,253,128,253,128,253,128,253,128,253, - 128,253,128,125,128,125,128,61,128,13,128,13,128,13,128,13, - 128,13,128,13,128,13,128,13,128,13,128,13,128,13,128,13, - 128,2,3,3,6,2,6,192,192,192,5,6,6,7,1,251, - 96,112,24,24,248,112,4,10,10,7,0,8,48,48,240,240, - 48,48,48,48,48,48,7,12,12,9,1,7,56,108,198,198, - 198,198,198,108,56,0,254,254,9,8,16,14,3,3,204,0, - 102,0,51,0,25,128,25,128,51,0,102,0,204,0,18,18, - 54,19,1,0,48,24,0,48,24,0,240,48,0,240,48,0, - 48,96,0,48,96,0,48,192,0,48,192,0,49,131,0,49, - 135,0,3,15,0,3,15,0,6,27,0,6,51,0,12,127, - 192,12,127,192,24,3,0,24,3,0,18,18,54,19,1,0, - 48,24,0,48,24,0,240,48,0,240,48,0,48,96,0,48, - 96,0,48,192,0,48,192,0,49,135,128,49,143,192,3,24, - 192,3,0,192,6,1,128,6,3,0,12,6,0,12,12,0, - 24,31,192,24,31,192,19,18,54,19,0,0,124,12,0,254, - 12,0,198,24,0,6,24,0,60,48,0,60,48,0,6,96, - 0,198,96,0,254,193,128,124,195,128,1,135,128,1,135,128, - 3,13,128,3,25,128,6,63,224,6,63,224,12,1,128,12, - 1,128,10,19,38,12,1,251,12,0,12,0,12,0,0,0, - 0,0,12,0,12,0,12,0,12,0,24,0,56,0,112,0, - 96,0,224,192,192,192,193,192,227,128,127,128,62,0,15,24, - 48,17,1,0,12,0,6,0,3,0,1,128,0,0,3,128, - 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, - 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, - 192,6,192,6,15,24,48,17,1,0,0,96,0,192,1,128, - 3,0,0,0,3,128,3,128,6,192,6,192,12,64,12,96, - 12,96,24,48,24,48,24,48,48,24,63,248,63,248,96,12, - 96,12,96,12,192,6,192,6,192,6,15,24,48,17,1,0, - 1,128,3,192,6,96,12,48,0,0,3,128,3,128,6,192, - 6,192,12,64,12,96,12,96,24,48,24,48,24,48,48,24, - 63,248,63,248,96,12,96,12,96,12,192,6,192,6,192,6, - 15,23,46,17,1,0,7,16,13,176,8,224,0,0,3,128, - 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, - 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, - 192,6,192,6,15,23,46,17,1,0,12,96,12,96,0,0, - 0,0,3,128,3,128,6,192,6,192,12,64,12,96,12,96, - 24,48,24,48,24,48,48,24,63,248,63,248,96,12,96,12, - 96,12,192,6,192,6,192,6,15,24,48,17,1,0,3,128, - 4,64,4,64,3,128,0,0,3,128,3,128,6,192,6,192, - 12,64,12,96,12,96,24,48,24,48,24,48,48,24,63,248, - 63,248,96,12,96,12,96,12,192,6,192,6,192,6,21,19, - 57,23,1,0,3,255,248,3,255,248,6,96,0,6,96,0, - 12,96,0,12,96,0,12,96,0,24,96,0,24,127,248,24, - 127,248,48,96,0,63,224,0,63,224,0,96,96,0,96,96, - 0,96,96,0,192,96,0,192,127,248,192,127,248,15,24,48, - 18,1,251,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,1,128,0,192,0,192,7, - 192,3,128,12,24,48,16,2,0,48,0,24,0,12,0,6, - 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, - 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,255,240,255,240,12,24,48,16,2,0,1, - 128,3,0,6,0,12,0,0,0,255,240,255,240,192,0,192, - 0,192,0,192,0,192,0,192,0,255,224,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,240,255,240,12, - 24,48,16,2,0,6,0,15,0,25,128,48,192,0,0,255, - 240,255,240,192,0,192,0,192,0,192,0,192,0,192,0,255, - 224,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,240,255,240,12,23,46,16,2,0,24,192,24,192,0, - 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, - 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,255,240,255,240,5,24,24,8,1,0,192, - 96,48,24,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,5,24,24,8,2,0,24,48,96, - 192,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96, - 96,96,96,96,96,8,24,24,8,0,0,24,60,102,195,0, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,6,23,23,8,1,0,204,204,0,0,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 18,19,57,18,255,0,31,248,0,31,254,0,24,15,0,24, - 3,128,24,1,128,24,1,192,24,0,192,24,0,192,255,128, - 192,255,128,192,24,0,192,24,0,192,24,0,192,24,1,192, - 24,1,128,24,3,128,24,15,0,31,254,0,31,248,0,14, - 23,46,18,2,0,14,32,27,96,17,192,0,0,224,12,240, - 12,240,12,216,12,220,12,204,12,206,12,198,12,199,12,195, - 12,195,140,193,140,193,204,192,204,192,236,192,108,192,60,192, - 60,192,28,16,24,48,18,1,0,12,0,6,0,3,0,1, - 128,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,16,24,48,18,1,0,0, - 48,0,96,0,192,1,128,0,0,7,224,31,248,60,60,112, - 14,96,6,224,7,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,224,7,96,6,112,14,60,60,31,248,7,224,16, - 24,48,18,1,0,0,192,1,224,3,48,6,24,0,0,7, - 224,31,248,60,60,112,14,96,6,224,7,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,224,7,96,6,112,14,60, - 60,31,248,7,224,16,23,46,18,1,0,3,136,6,216,4, - 112,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,16,23,46,18,1,0,6, - 48,6,48,0,0,0,0,7,224,31,248,60,60,112,14,96, - 6,224,7,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,224,7,96,6,112,14,60,60,31,248,7,224,13,12,24, - 14,0,1,192,24,96,48,48,96,24,192,13,128,7,0,7, - 0,13,128,24,192,48,96,96,48,192,24,18,19,57,18,0, - 0,3,240,192,15,253,192,30,31,128,56,7,0,48,15,0, - 112,29,128,96,57,128,96,113,128,96,225,128,97,193,128,99, - 129,128,103,1,128,110,1,128,124,3,128,56,3,0,56,7, - 0,126,30,0,239,252,0,195,240,0,14,24,48,18,2,0, - 24,0,12,0,6,0,3,0,0,0,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, - 14,24,48,18,2,0,0,96,0,192,1,128,3,0,0,0, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 112,56,63,240,15,192,14,24,48,18,2,0,3,0,7,128, - 12,192,24,96,0,0,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,96,24,112,56,63,240,15,192,14,23,46,18, - 2,0,24,192,24,192,0,0,0,0,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, - 14,24,48,16,1,0,0,96,0,192,1,128,3,0,0,0, - 192,12,224,28,96,24,112,56,48,48,56,112,24,96,28,224, - 12,192,15,192,7,128,7,128,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,13,19,38,16,2,0,192,0,192,0, - 192,0,192,0,255,224,255,240,192,48,192,24,192,24,192,24, - 192,24,192,48,255,240,255,224,192,0,192,0,192,0,192,0, - 192,0,10,19,38,15,3,0,28,0,127,0,227,0,193,128, - 193,128,193,128,195,0,199,0,206,0,207,0,195,128,193,128, - 192,192,192,192,192,192,193,128,195,128,207,0,206,0,11,19, - 38,13,1,0,24,0,12,0,6,0,3,0,0,0,31,0, - 63,128,97,192,96,192,0,192,7,192,63,192,120,192,224,192, - 192,192,193,192,227,192,126,224,60,96,11,19,38,13,1,0, - 1,128,3,0,6,0,12,0,0,0,31,0,63,128,97,192, - 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, - 227,192,126,224,60,96,11,19,38,13,1,0,12,0,30,0, - 51,0,97,128,0,0,31,0,63,128,97,192,96,192,0,192, - 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, - 60,96,11,18,36,13,1,0,28,64,54,192,35,128,0,0, - 31,0,63,128,97,192,96,192,0,192,7,192,63,192,120,192, - 224,192,192,192,193,192,227,192,126,224,60,96,11,18,36,13, - 1,0,51,0,51,0,0,0,0,0,31,0,63,128,97,192, - 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, - 227,192,126,224,60,96,11,19,38,13,1,0,6,0,9,0, - 9,0,6,0,0,0,31,0,63,128,97,192,96,192,0,192, - 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, - 60,96,19,14,42,21,1,0,31,14,0,63,191,128,97,241, - 192,96,224,192,0,192,96,7,192,96,63,255,224,120,255,224, - 224,192,0,192,192,0,193,224,96,227,240,224,126,63,192,60, - 15,0,10,19,38,12,1,251,31,0,63,128,113,192,96,192, - 224,0,192,0,192,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,12,0,6,0,6,0,62,0,28,0,11,19, - 38,13,1,0,24,0,12,0,6,0,3,0,0,0,14,0, - 63,128,113,192,96,192,192,96,192,96,255,224,255,224,192,0, - 192,0,96,96,112,224,63,192,15,0,11,19,38,13,1,0, - 3,0,6,0,12,0,24,0,0,0,14,0,63,128,113,192, - 96,192,192,96,192,96,255,224,255,224,192,0,192,0,96,96, - 112,224,63,192,15,0,11,19,38,13,1,0,12,0,30,0, - 51,0,97,128,0,0,14,0,63,128,113,192,96,192,192,96, - 192,96,255,224,255,224,192,0,192,0,96,96,112,224,63,192, - 15,0,11,18,36,13,1,0,51,0,51,0,0,0,0,0, - 14,0,63,128,113,192,96,192,192,96,192,96,255,224,255,224, - 192,0,192,0,96,96,112,224,63,192,15,0,5,19,19,6, - 0,0,192,96,48,24,0,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,5,19,19,6,1,0,24,48,96,192,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,96,8,19, - 19,6,255,0,24,60,102,195,0,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,6,18,18,6,0,0,204,204,0, - 0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,11, - 19,38,13,1,0,96,0,57,128,14,0,30,0,99,0,31, - 128,63,128,113,192,96,192,224,224,192,96,192,96,192,96,192, - 96,224,224,96,192,113,192,63,128,31,0,10,18,36,14,2, - 0,56,128,109,128,71,0,0,0,206,0,223,128,241,128,224, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,19,38,13,1,0,24,0,12,0,6, - 0,3,0,0,0,31,0,63,128,113,192,96,192,224,224,192, - 96,192,96,192,96,192,96,224,224,96,192,113,192,63,128,31, - 0,11,19,38,13,1,0,3,0,6,0,12,0,24,0,0, - 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, - 96,192,96,224,224,96,192,113,192,63,128,31,0,11,19,38, - 13,1,0,12,0,30,0,51,0,97,128,0,0,31,0,63, - 128,113,192,96,192,224,224,192,96,192,96,192,96,192,96,224, - 224,96,192,113,192,63,128,31,0,11,18,36,13,1,0,28, - 64,54,192,35,128,0,0,31,0,63,128,113,192,96,192,224, - 224,192,96,192,96,192,96,192,96,224,224,96,192,113,192,63, - 128,31,0,11,18,36,13,1,0,51,0,51,0,0,0,0, - 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, - 96,192,96,224,224,96,192,113,192,63,128,31,0,12,12,24, - 14,1,1,6,0,6,0,6,0,0,0,0,0,255,240,255, - 240,0,0,0,0,6,0,6,0,6,0,13,14,28,13,0, - 0,15,152,31,248,56,112,48,224,113,240,99,176,99,48,102, - 48,108,48,124,112,56,96,112,224,255,192,207,128,10,19,38, - 14,2,0,48,0,24,0,12,0,6,0,0,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,193,192,99,192,126,192,28,192,10,19,38,14,2,0,3, - 0,6,0,12,0,24,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,193,192,99, - 192,126,192,28,192,10,19,38,14,2,0,12,0,30,0,51, - 0,97,128,0,0,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,193,192,99,192,126,192,28, - 192,10,18,36,14,2,0,51,0,51,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,193,192,99,192,126,192,28,192,12,24,48,13,0, - 251,0,192,1,128,3,0,6,0,0,0,192,48,192,48,96, - 48,112,96,48,96,56,224,24,192,24,192,13,128,13,128,7, - 128,7,0,3,0,3,0,6,0,6,0,12,0,60,0,56, - 0,11,24,48,14,2,251,192,0,192,0,192,0,192,0,192, - 0,207,0,223,128,241,192,224,192,192,224,192,96,192,96,192, - 96,192,96,192,224,224,192,241,192,223,128,207,0,192,0,192, - 0,192,0,192,0,192,0,12,23,46,13,0,251,25,128,25, - 128,0,0,0,0,192,48,192,48,96,48,112,96,48,96,56, - 224,24,192,24,192,13,128,13,128,7,128,7,0,3,0,3, - 0,6,0,6,0,12,0,60,0,56,0}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=15 dx=25 dy= 0 ascent=20 len=69 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18r[3381] U8G_SECTION(".progmem.u8g_font_helvR18r") = { - 0,28,37,253,248,19,4,37,9,49,32,127,251,20,251,19, - 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, - 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, - 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, - 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, - 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, - 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, - 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, - 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, - 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, - 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, - 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, - 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, - 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, - 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, - 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, - 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, - 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, - 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, - 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, - 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, - 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, - 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, - 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, - 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, - 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, - 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, - 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, - 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, - 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, - 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, - 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, - 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, - 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, - 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, - 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, - 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, - 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, - 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, - 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, - 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, - 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, - 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, - 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, - 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, - 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, - 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, - 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, - 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, - 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, - 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, - 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, - 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, - 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, - 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, - 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, - 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, - 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, - 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, - 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, - 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, - 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, - 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, - 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, - 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, - 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, - 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, - 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, - 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, - 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, - 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, - 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, - 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, - 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, - 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, - 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, - 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, - 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, - 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, - 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, - 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, - 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, - 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, - 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, - 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, - 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, - 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, - 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, - 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, - 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, - 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, - 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, - 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, - 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, - 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, - 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, - 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, - 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, - 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, - 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, - 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, - 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, - 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, - 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, - 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, - 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, - 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, - 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, - 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, - 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, - 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, - 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, - 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, - 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, - 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, - 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, - 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, - 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, - 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, - 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, - 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, - 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, - 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, - 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, - 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, - 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, - 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, - 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, - 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, - 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, - 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, - 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, - 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, - 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, - 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, - 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, - 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, - 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, - 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, - 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, - 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, - 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, - 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, - 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, - 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, - 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, - 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, - 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, - 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, - 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, - 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, - 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, - 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, - 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, - 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, - 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, - 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, - 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, - 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, - 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, - 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, - 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, - 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, - 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, - 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, - 207,192,195,128,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=29 h=32 x= 4 y=22 dx=34 dy= 0 ascent=31 len=120 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_SECTION(".progmem.u8g_font_helvR24") = { - 0,39,48,251,245,25,5,215,14,105,32,255,249,31,249,25, - 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, - 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, - 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, - 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, - 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, - 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, - 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, - 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, - 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, - 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, - 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, - 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, - 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, - 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, - 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, - 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, - 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, - 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, - 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, - 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, - 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, - 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, - 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, - 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, - 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, - 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, - 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, - 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, - 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, - 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, - 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, - 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, - 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, - 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, - 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, - 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, - 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, - 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, - 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, - 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, - 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, - 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, - 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, - 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, - 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, - 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, - 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, - 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, - 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, - 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, - 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, - 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, - 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, - 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, - 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, - 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, - 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, - 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, - 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, - 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, - 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, - 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, - 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, - 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, - 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, - 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, - 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, - 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, - 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, - 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, - 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, - 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, - 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, - 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, - 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, - 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, - 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, - 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, - 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, - 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, - 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, - 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, - 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, - 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, - 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, - 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, - 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, - 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, - 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, - 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, - 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, - 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, - 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, - 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, - 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, - 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, - 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, - 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, - 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, - 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, - 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, - 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, - 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, - 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, - 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, - 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, - 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, - 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, - 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, - 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, - 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, - 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, - 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, - 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, - 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, - 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, - 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, - 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, - 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, - 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, - 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, - 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, - 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, - 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, - 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, - 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, - 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, - 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, - 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, - 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, - 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, - 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, - 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, - 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, - 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, - 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, - 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, - 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, - 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, - 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, - 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, - 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, - 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, - 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, - 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, - 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, - 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, - 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, - 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, - 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, - 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, - 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, - 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, - 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, - 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, - 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, - 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, - 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, - 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, - 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, - 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, - 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, - 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, - 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, - 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, - 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, - 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, - 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, - 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, - 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, - 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, - 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, - 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, - 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, - 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, - 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, - 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, - 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, - 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, - 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, - 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, - 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, - 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, - 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, - 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, - 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, - 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, - 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, - 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, - 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, - 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, - 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, - 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, - 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, - 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, - 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, - 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, - 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, - 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, - 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, - 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, - 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, - 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, - 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, - 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, - 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, - 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, - 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, - 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, - 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, - 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, - 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, - 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, - 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, - 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, - 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, - 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, - 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, - 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, - 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, - 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, - 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, - 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, - 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, - 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, - 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, - 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,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,9,0,1,3,25,25,11,4,249,224,224,224,224, - 0,0,64,64,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,14,25,50,19,2,252,0,32,0,96,0, - 64,7,224,31,240,60,248,120,188,112,156,112,156,225,128,225, - 0,225,0,227,0,227,0,226,12,226,28,118,28,124,60,60, - 120,31,240,15,224,8,0,24,0,16,0,16,0,15,24,48, - 19,1,0,3,192,15,248,31,252,60,60,120,30,112,14,112, - 14,112,0,112,0,56,0,56,0,255,192,255,192,12,0,14, - 0,14,0,12,0,28,0,24,0,56,0,115,134,255,254,255, - 254,96,124,12,13,26,18,3,5,230,48,255,240,127,240,112, - 224,96,96,224,112,224,112,224,112,96,96,112,224,127,240,255, - 240,230,48,16,24,48,18,1,0,224,7,224,7,112,14,112, - 14,56,28,56,28,28,56,28,56,14,112,14,112,7,224,127, - 254,127,254,127,254,1,192,1,192,127,254,127,254,127,254,1, - 192,1,192,1,192,1,192,1,192,2,32,32,9,3,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,15, - 32,64,18,1,249,3,192,15,240,31,248,28,120,56,60,56, - 28,56,28,60,0,30,0,31,128,63,224,113,240,224,248,224, - 124,224,28,224,30,112,14,124,14,62,14,31,28,15,156,3, - 248,1,240,0,240,0,120,112,56,112,56,120,56,56,112,63, - 240,31,224,7,128,8,3,3,11,1,22,231,231,231,24,25, - 75,25,0,0,0,254,0,3,255,128,7,1,224,12,0,112, - 24,0,24,48,126,12,96,255,134,97,193,198,195,128,195,195, - 0,3,199,0,3,134,0,1,134,0,1,134,0,1,134,0, - 1,199,0,3,195,128,195,97,225,198,96,255,134,48,62,12, - 24,0,24,28,0,56,7,1,224,3,255,128,0,254,0,10, - 15,30,12,1,10,63,0,119,128,97,128,1,128,7,128,127, - 128,225,128,193,128,195,128,231,128,125,192,0,0,0,0,255, - 192,255,192,12,9,18,18,3,5,28,112,56,224,113,192,227, - 128,195,0,227,128,113,192,56,224,28,112,16,9,18,19,1, - 3,255,255,255,255,255,255,0,7,0,7,0,7,0,7,0, - 7,0,7,8,2,2,11,1,8,255,255,24,25,75,25,0, - 0,0,126,0,3,255,128,7,1,224,12,0,112,24,0,24, - 48,0,12,97,255,6,97,255,134,193,129,195,193,128,195,193, - 128,195,129,129,129,129,255,1,129,252,1,129,142,1,193,134, - 3,193,131,3,97,129,134,97,129,198,48,0,12,24,0,24, - 28,0,56,7,1,224,3,255,128,0,126,0,9,2,4,11, - 1,22,255,128,255,128,9,9,18,13,2,15,62,0,127,0, - 227,128,193,128,193,128,193,128,227,128,127,0,62,0,17,21, - 63,19,1,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,255,255,128,255,255,128,255, - 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,0,0,0,0,0,0,255,255,128,255,255,128, - 255,255,128,9,15,30,11,1,9,30,0,127,0,99,0,193, - 128,193,128,1,128,3,0,7,0,30,0,56,0,112,0,224, - 0,192,0,255,128,255,128,9,15,30,11,1,9,62,0,127, - 0,227,128,193,128,193,128,3,128,15,0,15,0,3,128,1, - 128,193,128,193,128,227,128,127,0,62,0,7,5,5,11,3, - 22,30,60,56,112,224,14,24,48,19,2,250,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,60,240,124,255,252,255,220,255,28, - 224,0,224,0,224,0,224,0,224,0,224,0,16,30,60,17, - 1,251,7,255,31,255,63,140,63,140,127,140,127,140,255,140, - 255,140,255,140,255,140,127,140,127,140,63,140,63,140,31,140, - 3,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140, - 1,140,1,140,1,140,1,140,1,140,1,140,1,140,4,4, - 4,9,3,11,96,240,240,96,7,7,7,11,2,249,24,24, - 60,14,6,206,124,5,15,15,11,2,9,24,56,248,248,24, - 24,24,24,24,24,24,24,24,24,24,10,15,30,12,1,10, - 30,0,127,128,97,128,225,192,192,192,192,192,192,192,192,192, - 225,192,97,128,127,128,30,0,0,0,255,192,255,192,12,9, - 18,18,3,5,227,128,113,192,56,224,28,112,12,48,28,112, - 56,224,113,192,227,128,25,25,100,28,1,0,0,0,48,0, - 24,0,112,0,56,0,96,0,248,0,224,0,248,1,192,0, - 24,1,128,0,24,3,128,0,24,3,0,0,24,7,0,0, - 24,14,0,0,24,12,0,0,24,28,6,0,24,24,14,0, - 24,56,30,0,24,112,62,0,24,96,118,0,0,224,102,0, - 1,192,198,0,1,129,198,0,3,131,134,0,3,3,255,128, - 7,3,255,128,6,0,6,0,14,0,6,0,12,0,6,0, - 25,25,100,28,1,0,0,0,96,0,24,0,224,0,56,0, - 192,0,248,1,128,0,248,3,128,0,24,3,0,0,24,6, - 0,0,24,14,0,0,24,12,0,0,24,28,0,0,24,24, - 0,0,24,56,60,0,24,48,255,0,24,112,195,128,24,97, - 129,128,24,193,129,128,1,192,3,128,1,128,7,0,3,128, - 14,0,3,0,60,0,6,0,112,0,14,0,224,0,12,1, - 192,0,28,1,255,128,24,1,255,128,25,24,96,28,1,0, - 62,0,14,0,127,0,12,0,99,128,24,0,193,128,56,0, - 193,128,48,0,3,128,96,0,15,0,224,0,15,128,192,0, - 1,193,128,0,0,195,128,0,192,195,6,0,192,199,14,0, - 97,206,30,0,127,140,62,0,30,24,118,0,0,56,102,0, - 0,48,198,0,0,97,198,0,0,227,134,0,1,195,255,128, - 1,131,255,128,3,0,6,0,7,0,6,0,6,0,6,0, - 14,25,50,19,3,249,3,128,3,128,3,128,3,128,0,0, - 0,0,3,128,3,128,3,128,7,128,7,0,15,0,30,0, - 60,0,120,0,112,0,240,0,224,28,224,28,224,28,240,60, - 120,120,127,240,63,224,7,128,20,31,93,22,1,0,3,192, - 0,1,224,0,0,224,0,0,112,0,0,56,0,0,0,0, - 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,3, - 252,0,3,156,0,3,156,0,7,158,0,7,14,0,7,14, - 0,15,15,0,14,15,0,14,7,0,30,7,128,31,255,128, - 31,255,128,63,255,192,60,3,192,56,1,192,120,1,224,120, - 1,224,112,0,224,240,0,240,240,0,240,20,31,93,22,1, - 0,0,60,0,0,120,0,0,112,0,0,224,0,1,192,0, - 0,0,0,0,240,0,0,240,0,0,240,0,1,248,0,1, - 248,0,3,252,0,3,156,0,3,156,0,7,158,0,7,14, - 0,7,14,0,15,15,0,15,15,0,14,7,0,30,7,128, - 31,255,128,31,255,128,63,255,192,60,3,192,120,1,192,120, - 1,224,120,1,224,112,0,224,240,0,240,240,0,240,20,31, - 93,22,1,0,0,64,0,0,224,0,1,240,0,3,184,0, - 7,28,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,30,90,22,1,0,1,198,0,3,254,0,7,252,0, - 6,56,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,30,90,22,1,0,3,156,0,3,156,0,3,156,0, - 0,0,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,31,93,22,1,0,0,240,0,1,152,0,1,8,0, - 1,8,0,1,152,0,0,240,0,0,0,0,0,240,0,0, - 240,0,1,248,0,1,248,0,3,252,0,3,156,0,3,156, - 0,7,158,0,7,14,0,7,14,0,15,15,0,14,15,0, - 14,7,0,30,7,128,31,255,128,31,255,128,63,255,192,60, - 3,192,56,1,192,120,1,224,120,1,224,112,0,224,240,0, - 240,240,0,240,29,25,100,32,1,0,0,127,255,248,0,127, - 255,248,0,255,255,248,0,227,128,0,1,195,128,0,1,195, - 128,0,3,195,128,0,3,131,128,0,3,131,128,0,7,131, - 128,0,7,3,128,0,7,3,255,240,15,3,255,240,14,3, - 255,240,30,3,128,0,31,255,128,0,31,255,128,0,63,255, - 128,0,56,3,128,0,120,3,128,0,120,3,128,0,112,3, - 128,0,240,3,255,248,224,3,255,248,224,3,255,248,20,32, - 96,23,2,249,1,248,0,7,254,0,15,255,128,31,7,128, - 60,3,192,120,1,224,112,0,224,112,0,224,240,0,0,240, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,240,0,112,240,0,112,112,0,240,112,0,224,120,1,224, - 60,3,192,31,7,192,15,255,128,7,254,0,1,248,0,0, - 96,0,0,96,0,0,240,0,0,56,0,0,24,0,3,56, - 0,1,240,0,17,31,93,22,3,0,15,0,0,7,128,0, - 3,128,0,1,192,0,0,224,0,0,0,0,255,255,0,255, - 255,0,255,255,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,255,255,0, - 255,255,0,255,255,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,255,255, - 128,255,255,128,255,255,128,17,31,93,22,3,0,0,120,0, - 0,240,0,0,224,0,1,192,0,3,128,0,0,0,0,255, - 255,0,255,255,0,255,255,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 255,255,0,255,255,0,255,255,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,255,255,128,255,255,128,255,255,128,17,31,93,22,3,0, - 0,128,0,1,192,0,3,224,0,7,112,0,14,56,0,0, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,255,255,128,255,255,128,255,255,128,17,30,90, - 22,3,0,28,56,0,28,56,0,28,56,0,0,0,0,0, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,255,255,128,255,255,128,255,255,128,7,31,31, - 9,0,0,240,120,56,28,14,0,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,7,31,31,9,2,0,30,60,56,112,224,0,112,112, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,9,31,62,9,0,0,8,0,28, - 0,62,0,119,0,227,128,0,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,9,30,60,9,0, - 0,227,128,227,128,227,128,0,0,0,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,21,25,75, - 23,0,0,31,254,0,31,255,128,31,255,192,28,3,224,28, - 0,224,28,0,240,28,0,112,28,0,112,28,0,56,28,0, - 56,28,0,56,255,192,56,255,192,56,28,0,56,28,0,56, - 28,0,56,28,0,120,28,0,112,28,0,112,28,0,240,28, - 0,224,28,3,192,31,255,192,31,255,128,31,254,0,19,30, - 90,24,2,0,1,198,0,3,254,0,7,252,0,6,56,0, - 0,0,0,240,0,224,248,0,224,248,0,224,252,0,224,252, - 0,224,254,0,224,239,0,224,231,0,224,231,128,224,227,192, - 224,227,192,224,225,224,224,224,224,224,224,240,224,224,120,224, - 224,56,224,224,60,224,224,28,224,224,30,224,224,15,224,224, - 7,224,224,7,224,224,3,224,224,1,224,224,1,224,23,31, - 93,25,1,0,0,240,0,0,120,0,0,56,0,0,28,0, - 0,14,0,0,0,0,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,248,60,0,120,120,0,60,112,0,28,112,0, - 28,240,0,30,224,0,14,224,0,14,224,0,14,224,0,14, - 224,0,14,240,0,30,240,0,30,112,0,28,120,0,60,60, - 0,120,62,0,248,31,1,240,15,255,224,3,255,128,0,254, - 0,23,31,93,25,1,0,0,15,0,0,30,0,0,28,0, - 0,56,0,0,112,0,0,0,0,0,254,0,3,255,128,15, - 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, - 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, - 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, - 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, - 128,0,254,0,23,31,93,25,1,0,0,16,0,0,56,0, - 0,124,0,0,238,0,1,199,0,0,0,0,0,254,0,3, - 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, - 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, - 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, - 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, - 224,3,255,128,0,254,0,23,30,90,25,1,0,0,113,128, - 0,255,128,1,255,0,1,142,0,0,0,0,0,254,0,3, - 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, - 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, - 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, - 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, - 224,3,255,128,0,254,0,23,29,87,25,1,0,1,195,128, - 1,195,128,1,195,128,0,0,0,0,254,0,3,255,128,15, - 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, - 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, - 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, - 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, - 128,0,254,0,15,15,30,19,2,1,64,4,224,14,240,30, - 120,60,60,120,31,240,15,224,7,192,7,192,15,224,30,240, - 60,120,120,60,240,30,96,12,23,25,75,25,1,0,0,254, - 6,3,255,140,15,255,248,31,1,240,62,0,248,60,0,248, - 120,1,188,112,3,28,112,6,28,240,6,30,224,12,14,224, - 24,14,224,48,14,224,96,14,224,192,14,225,128,30,243,0, - 30,118,0,28,124,0,60,60,0,120,62,0,248,63,1,240, - 111,255,224,195,255,128,0,254,0,18,31,93,24,3,0,7, - 128,0,3,192,0,1,192,0,0,224,0,0,112,0,0,0, - 0,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,240,3,192,120,7,128, - 124,15,128,63,255,0,31,254,0,3,240,0,18,31,93,24, - 3,0,0,120,0,0,240,0,0,224,0,1,192,0,3,128, - 0,0,0,0,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,240,3,192, - 120,7,128,124,15,128,63,255,0,31,254,0,3,240,0,18, - 31,93,24,3,0,0,64,0,0,224,0,1,240,0,3,184, - 0,7,28,0,0,0,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,18,30,90,24,3,0,14,28,0,14,28,0,14,28, - 0,0,0,0,0,0,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,31,93,22,1,0,0,60,0,0,120,0,0,112, - 0,0,224,0,1,192,0,0,0,0,224,0,224,240,1,224, - 112,1,192,120,3,192,56,3,128,60,7,128,28,15,0,30, - 15,0,15,30,0,7,28,0,7,188,0,3,184,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,17,25,75,22,3,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,255,248,0,255,254,0, - 255,255,0,224,15,0,224,7,0,224,7,128,224,3,128,224, - 3,128,224,7,128,224,7,0,224,15,0,255,254,0,255,252, - 0,255,248,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,14,25,50,20,4,0,15,128,63,224, - 127,240,120,240,240,120,224,56,224,56,224,56,224,120,224,240, - 227,224,227,224,227,240,224,120,224,60,224,28,224,28,224,28, - 224,28,224,28,224,56,224,120,231,240,231,224,231,128,16,25, - 50,18,1,0,15,0,7,128,3,128,1,192,0,224,0,0, - 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, - 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, - 121,252,127,223,63,143,16,25,50,18,1,0,0,240,1,224, - 1,192,3,128,7,0,0,0,0,0,15,224,63,248,60,124, - 112,28,112,28,0,28,0,28,0,252,31,252,127,156,120,28, - 240,28,224,28,224,60,224,124,120,252,127,223,63,143,16,25, - 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, - 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, - 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, - 120,252,127,223,63,143,16,24,48,18,1,0,7,24,15,248, - 31,240,24,224,0,0,0,0,15,224,63,248,60,124,112,28, - 112,28,0,28,0,28,0,252,31,252,127,156,120,28,240,28, - 224,28,224,60,224,124,120,252,127,223,63,143,16,23,46,18, - 1,0,14,112,14,112,14,112,0,0,0,0,15,224,63,248, - 60,252,112,28,112,28,0,28,0,28,0,252,31,252,127,156, - 120,28,240,28,224,28,224,60,224,124,121,252,127,223,63,143, - 16,25,50,18,1,0,3,128,6,192,4,64,4,64,6,192, - 3,128,0,0,15,224,63,248,60,124,112,28,112,28,0,28, - 0,28,0,252,31,252,127,156,120,28,240,28,224,28,224,60, - 224,124,120,252,127,223,63,143,26,18,72,29,1,0,7,192, - 248,0,31,241,254,0,60,127,143,0,112,62,3,128,112,30, - 3,128,0,28,1,192,0,28,1,192,0,252,1,192,15,255, - 255,192,63,255,255,192,126,31,255,192,240,28,0,0,224,28, - 1,192,224,30,1,192,224,126,3,128,248,247,143,0,127,231, - 255,0,63,129,252,0,14,25,50,17,1,249,7,192,31,240, - 63,248,56,56,112,28,112,28,224,0,224,0,224,0,224,0, - 224,0,224,28,224,28,112,56,120,120,63,240,31,224,7,128, - 3,0,3,0,7,128,1,192,0,192,25,192,15,128,15,25, - 50,18,1,0,30,0,15,0,7,0,3,128,1,192,0,0, - 0,0,7,192,31,240,62,120,120,28,112,28,240,14,224,14, - 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, - 60,124,31,240,15,224,15,25,50,18,1,0,1,224,3,192, - 3,128,7,0,14,0,0,0,0,0,7,192,31,240,60,120, - 120,28,112,28,240,14,224,14,224,14,255,254,255,254,224,0, - 224,0,224,14,112,14,120,28,60,124,31,240,15,224,15,25, - 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, - 0,0,7,192,31,240,60,120,120,28,112,28,240,14,224,14, - 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, - 60,124,31,240,7,192,15,23,46,18,1,0,28,112,28,112, - 28,112,0,0,0,0,7,192,31,240,60,120,120,28,112,28, - 240,14,224,14,224,14,255,254,255,254,224,0,224,0,224,14, - 112,14,120,28,60,124,31,240,7,192,7,25,25,9,0,0, - 240,120,56,28,14,0,0,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,7,25,25,9,2,0,30, - 60,56,112,224,0,0,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,112,9,25,50,9,0,0,8,0, - 28,0,62,0,119,0,227,128,0,0,0,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 8,23,23,9,1,0,231,231,231,0,0,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,15,25,50, - 19,1,0,120,64,60,224,31,192,15,128,31,128,59,192,17, - 224,7,240,31,248,63,248,120,60,112,28,112,28,224,14,224, - 14,224,14,224,14,224,14,224,14,112,28,112,28,120,60,63, - 248,31,240,7,192,14,24,48,18,2,0,14,48,31,240,63, - 224,49,192,0,0,0,0,3,192,239,240,255,248,248,60,240, - 28,240,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,15,25,50,19,1, - 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, - 240,7,192,15,25,50,19,1,0,1,224,3,192,3,128,7, - 0,14,0,0,0,0,0,7,192,31,240,63,248,120,60,112, - 28,112,28,224,14,224,14,224,14,224,14,224,14,224,14,112, - 28,112,28,120,60,63,248,31,240,7,192,15,25,50,19,1, - 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, - 240,7,192,15,24,48,19,1,0,14,48,31,240,63,224,49, - 192,0,0,0,0,7,192,31,240,63,248,120,60,112,28,112, - 28,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,120,60,63,248,31,240,7,192,15,23,46,19,1,0,28, - 112,28,112,28,112,0,0,0,0,7,192,31,240,63,248,120, - 60,112,28,112,28,224,14,224,14,224,14,224,14,224,14,224, - 14,112,28,112,28,120,60,63,248,31,240,7,192,15,15,30, - 19,2,1,3,128,3,128,3,128,0,0,0,0,0,0,255, - 254,255,254,255,254,0,0,0,0,0,0,3,128,3,128,3, - 128,16,18,36,19,2,0,7,195,31,246,63,252,120,120,112, - 28,112,60,224,110,224,206,225,142,227,14,230,14,236,14,120, - 28,112,28,56,60,127,248,223,240,135,192,14,25,50,19,2, - 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, - 220,15,0,14,25,50,19,2,0,1,224,3,192,3,128,7, - 0,14,0,0,0,0,0,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 60,224,60,240,252,127,252,63,220,15,0,14,25,50,19,2, - 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, - 220,15,0,14,23,46,19,2,0,28,224,28,224,28,224,0, - 0,0,0,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,224,60,224,60,240, - 252,127,252,63,220,15,0,14,32,64,17,1,249,0,240,1, - 224,1,192,3,128,7,0,0,0,0,0,224,28,224,28,224, - 60,112,56,112,56,112,56,120,112,56,112,56,240,60,224,28, - 224,29,192,29,192,15,192,15,128,15,128,7,0,7,0,7, - 0,14,0,14,0,30,0,124,0,124,0,112,0,15,31,62, - 19,2,250,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,231,224,239,240,255,248,248,60,240,28,240,30,224,14,224, - 14,224,14,224,14,224,14,224,14,240,28,240,28,248,60,255, - 248,239,240,227,192,224,0,224,0,224,0,224,0,224,0,224, - 0,14,30,60,17,1,249,28,112,28,112,28,112,0,0,0, - 0,224,28,224,28,224,60,112,56,112,56,112,120,120,112,56, - 112,56,240,60,224,28,224,29,192,29,192,15,192,15,128,15, - 128,7,0,7,0,7,0,14,0,14,0,30,0,124,0,124, - 0,112,0}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=24 x= 3 y=15 dx=19 dy= 0 ascent=26 len=48 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =26 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24n[702] U8G_SECTION(".progmem.u8g_font_helvR24n") = { - 0,39,48,251,245,24,0,0,0,0,42,57,0,26,251,24, - 0,10,11,22,13,1,15,12,0,12,0,76,128,237,192,127, - 128,63,0,30,0,63,0,115,128,225,192,64,128,17,16,48, - 19,1,1,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, - 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,3,9,9,9,3,251,224,224,224,224,32,96,96, - 192,128,8,2,2,11,1,8,255,255,3,4,4,9,3,0, - 224,224,224,224,9,24,48,9,0,0,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,8,0,24,0,24,0,24,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,15,24,48,18,1,0, - 7,192,31,240,63,248,60,120,120,60,112,28,112,28,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,112,28,112,28,112,60,60,120,63,248,31,240,7,192, - 8,24,24,18,3,0,3,7,7,15,63,255,255,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,24, - 48,18,1,0,7,192,31,240,63,248,120,60,112,28,240,14, - 224,14,224,14,0,14,0,28,0,60,0,120,0,240,3,224, - 7,192,31,0,60,0,120,0,112,0,224,0,224,0,255,254, - 255,254,255,254,15,24,48,18,1,0,7,192,31,240,63,248, - 56,56,112,28,112,28,112,28,112,28,0,28,0,56,3,248, - 3,240,3,248,0,60,0,30,0,14,224,14,224,14,224,14, - 112,28,120,60,63,248,31,240,7,192,16,24,48,18,0,0, - 0,24,0,56,0,120,0,120,0,248,1,248,3,184,3,184, - 7,56,14,56,14,56,28,56,56,56,56,56,112,56,224,56, - 255,255,255,255,255,255,0,56,0,56,0,56,0,56,0,56, - 15,24,48,18,1,0,63,252,63,252,63,252,56,0,56,0, - 56,0,112,0,112,0,119,192,127,240,127,248,120,124,112,28, - 0,30,0,14,0,14,0,14,224,14,224,30,240,28,120,124, - 127,248,63,240,15,128,15,24,48,18,1,0,3,192,15,240, - 31,248,60,56,56,28,112,28,112,0,112,0,96,0,227,192, - 239,240,255,248,248,60,240,28,240,14,224,14,224,14,96,14, - 112,14,112,28,56,60,63,248,31,240,7,192,15,24,48,18, - 1,0,255,254,255,254,255,254,0,14,0,28,0,24,0,56, - 0,112,0,112,0,224,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,7,0,14,0,14,0,14,0,28,0,28,0, - 28,0,15,24,48,18,1,0,7,192,31,240,63,248,56,60, - 112,28,112,28,112,28,112,28,120,60,60,120,31,240,15,224, - 63,248,120,60,112,28,224,14,224,14,224,14,224,14,240,28, - 120,60,63,248,31,240,7,192,15,24,48,18,1,0,7,192, - 31,240,63,248,120,124,112,60,240,28,224,30,224,14,224,14, - 224,14,224,30,224,30,112,62,127,254,63,238,15,206,0,14, - 0,28,224,28,240,60,120,120,63,240,63,224,15,128}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=29 h=32 x= 4 y=20 dx=34 dy= 0 ascent=27 len=120 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24r[4992] U8G_SECTION(".progmem.u8g_font_helvR24r") = { - 0,39,48,251,245,25,5,215,14,105,32,127,249,27,249,25, - 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, - 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, - 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, - 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, - 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, - 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, - 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, - 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, - 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, - 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, - 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, - 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, - 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, - 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, - 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, - 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, - 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, - 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, - 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, - 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, - 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, - 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, - 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, - 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, - 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, - 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, - 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, - 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, - 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, - 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, - 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, - 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, - 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, - 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, - 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, - 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, - 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, - 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, - 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, - 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, - 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, - 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, - 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, - 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, - 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, - 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, - 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, - 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, - 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, - 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, - 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, - 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, - 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, - 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, - 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, - 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, - 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, - 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, - 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, - 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, - 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, - 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, - 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, - 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, - 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, - 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, - 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, - 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, - 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, - 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, - 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, - 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, - 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, - 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, - 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, - 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, - 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, - 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, - 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, - 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, - 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, - 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, - 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, - 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, - 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, - 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, - 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, - 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, - 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, - 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, - 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, - 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, - 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, - 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, - 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, - 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, - 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, - 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, - 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, - 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, - 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, - 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, - 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, - 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, - 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, - 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, - 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, - 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, - 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, - 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, - 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, - 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, - 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, - 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, - 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, - 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, - 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, - 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, - 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, - 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, - 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, - 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, - 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, - 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, - 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, - 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, - 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, - 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, - 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, - 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, - 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, - 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, - 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, - 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, - 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, - 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, - 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, - 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, - 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, - 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, - 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, - 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, - 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, - 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, - 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, - 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, - 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, - 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, - 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, - 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, - 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, - 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, - 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, - 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, - 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, - 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, - 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, - 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, - 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, - 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, - 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, - 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, - 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, - 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, - 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, - 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, - 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, - 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, - 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, - 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, - 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, - 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, - 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, - 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, - 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, - 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, - 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, - 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, - 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, - 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, - 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, - 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, - 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, - 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, - 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, - 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, - 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, - 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, - 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, - 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, - 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, - 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, - 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, - 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, - 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, - 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, - 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, - 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, - 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, - 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, - 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, - 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, - 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, - 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, - 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, - 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, - 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, - 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, - 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, - 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, - 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, - 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, - 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, - 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, - 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, - 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, - 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, - 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, - 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, - 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, - 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, - 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, - 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, - 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, - 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, - 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, - 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,255 - }; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 9 h=10 x= 1 y= 4 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent =10 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[2193] U8G_SECTION(".progmem.u8g_font_lucasfont_alternate") = { - 0,9,11,0,255,7,1,148,3,22,32,255,255,10,255,7, - 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, - 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, - 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, - 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, - 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, - 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, - 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, - 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, - 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, - 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, - 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, - 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, - 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, - 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, - 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, - 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, - 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, - 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, - 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, - 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, - 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, - 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, - 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, - 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, - 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, - 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, - 0,240,136,136,136,136,136,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,184,136,136,112,5, - 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, - 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, - 8,8,8,8,136,112,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, - 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, - 7,0,0,132,196,164,148,140,132,132,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,7,7,6,0,0,112,136,136,136,168,144, - 104,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,136,136, - 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, - 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, - 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, - 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, - 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, - 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, - 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, - 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, - 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, - 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, - 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, - 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, - 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, - 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, - 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, - 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, - 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, - 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, - 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, - 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, - 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, - 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, - 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, - 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, - 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, - 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, - 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, - 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, - 152,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,255,1,7,7,2,0,0,128,0,0,128,128,128,128, - 5,7,7,6,0,0,32,112,168,160,168,112,32,5,7,7, - 6,0,0,56,64,64,240,64,64,248,255,5,7,7,6,0, - 0,136,136,80,32,248,32,32,1,7,7,2,0,0,128,128, - 128,0,128,128,128,255,255,8,8,8,9,0,255,60,66,153, - 161,161,153,66,60,255,6,5,5,7,0,1,36,72,144,72, - 36,5,3,3,6,0,1,248,8,8,5,1,1,6,0,3, - 248,255,255,255,5,7,7,6,0,0,32,32,248,32,32,0, - 248,255,255,255,255,6,7,7,7,0,0,124,244,244,116,20, - 20,20,1,1,1,2,0,3,128,255,255,255,6,5,5,7, - 0,1,144,72,36,72,144,255,255,255,5,7,7,6,0,0, - 32,0,32,64,128,136,112,5,10,10,6,0,0,64,32,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,16,32,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,32,80,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,104,144,0, - 112,136,136,248,136,136,136,5,9,9,6,0,0,80,0,112, - 136,136,248,136,136,136,5,10,10,6,0,0,32,80,32,112, - 136,136,248,136,136,136,9,7,14,10,0,0,119,128,136,0, - 136,0,255,0,136,0,136,0,143,128,255,5,10,10,6,0, - 0,64,32,0,248,128,128,240,128,128,248,5,10,10,6,0, - 0,16,32,0,248,128,128,240,128,128,248,5,10,10,6,0, - 0,32,80,0,248,128,128,240,128,128,248,5,9,9,6,0, - 0,80,0,248,128,128,240,128,128,248,2,10,10,3,0,0, - 128,64,0,64,64,64,64,64,64,64,2,10,10,4,1,0, - 64,128,0,128,128,128,128,128,128,128,3,10,10,4,0,0, - 64,160,0,64,64,64,64,64,64,64,3,9,9,4,0,0, - 160,0,64,64,64,64,64,64,64,6,7,7,7,0,0,120, - 68,68,244,68,68,120,6,10,10,7,0,0,100,152,0,132, - 196,164,148,140,132,132,5,10,10,6,0,0,64,32,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,16,32,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,32,80,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,104,144,0,112, - 136,136,136,136,136,112,5,8,8,6,0,0,136,112,136,136, - 136,136,136,112,5,5,5,6,0,1,136,80,32,80,136,255, - 5,10,10,6,0,0,64,32,0,136,136,136,136,136,136,112, - 5,10,10,6,0,0,16,32,0,136,136,136,136,136,136,112, - 5,10,10,6,0,0,32,80,0,136,136,136,136,136,136,112, - 5,8,8,6,0,0,136,0,136,136,136,136,136,112,5,10, - 10,6,0,0,16,32,0,136,136,136,80,32,32,32,255,4, - 8,8,5,0,255,96,144,144,160,144,144,160,128,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,104,144,0, - 112,8,120,136,120,5,7,7,6,0,0,80,0,112,8,120, - 136,120,5,9,9,6,0,0,32,80,32,0,112,8,120,136, - 120,9,5,10,10,0,0,119,0,8,128,127,0,136,0,119, - 128,255,5,8,8,6,0,0,64,32,0,112,136,240,128,120, - 5,8,8,6,0,0,16,32,0,112,136,240,128,120,5,8, - 8,6,0,0,32,80,0,112,136,240,128,120,5,7,7,6, - 0,0,80,0,112,136,240,128,120,2,7,7,3,0,0,128, - 64,0,64,64,64,64,2,7,7,3,0,0,64,128,0,128, - 128,128,128,3,7,7,4,0,0,64,160,0,64,64,64,64, - 3,6,6,4,0,0,160,0,64,64,64,64,255,5,8,8, - 6,0,0,104,144,0,240,136,136,136,136,5,8,8,6,0, - 0,64,32,0,112,136,136,136,112,5,8,8,6,0,0,16, - 32,0,112,136,136,136,112,5,8,8,6,0,0,32,80,0, - 112,136,136,136,112,5,8,8,6,0,0,104,144,0,112,136, - 136,136,112,5,7,7,6,0,0,80,0,112,136,136,136,112, - 5,5,5,6,0,1,32,0,248,0,32,255,5,8,8,6, - 0,0,64,32,0,136,136,136,136,120,5,8,8,6,0,0, - 16,32,0,136,136,136,136,120,5,8,8,6,0,0,32,80, - 0,136,136,136,136,120,5,7,7,6,0,0,80,0,136,136, - 136,136,120,5,9,9,6,0,255,16,32,0,136,136,136,120, - 8,112,255,5,8,8,6,0,255,80,0,136,136,136,120,8, - 112}; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 7 h= 7 x= 0 y= 3 dx= 8 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[206] U8G_SECTION(".progmem.u8g_font_lucasfont_alternaten") = { - 0,9,11,0,255,7,0,0,0,0,42,57,0,7,255,7, - 0,7,5,5,8,0,1,68,40,254,40,68,5,5,5,6, - 0,1,32,32,248,32,32,2,3,3,3,0,255,64,64,128, - 6,1,1,7,0,3,252,1,2,2,2,0,0,128,128,7, - 7,7,8,0,0,2,4,8,16,32,64,128,5,7,7,6, - 0,0,112,136,136,136,136,136,112,5,7,7,6,0,0,32, - 96,32,32,32,32,248,5,7,7,6,0,0,112,136,8,16, - 32,64,248,5,7,7,6,0,0,240,8,8,120,8,8,240, - 5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7, - 6,0,0,248,128,112,8,8,136,112,5,7,7,6,0,0, - 112,136,128,240,136,136,112,5,7,7,6,0,0,248,8,16, - 32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136, - 112,5,7,7,6,0,0,112,136,136,120,8,136,112}; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 7 x= 0 y= 4 dx= 8 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[1138] U8G_SECTION(".progmem.u8g_font_lucasfont_alternater") = { - 0,9,11,0,255,7,1,148,3,22,32,127,255,7,255,7, - 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, - 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, - 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, - 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, - 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, - 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, - 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, - 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, - 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, - 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, - 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, - 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, - 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, - 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, - 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, - 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, - 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, - 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, - 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, - 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, - 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, - 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, - 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, - 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, - 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, - 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, - 0,240,136,136,136,136,136,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,184,136,136,112,5, - 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, - 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, - 8,8,8,8,136,112,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, - 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, - 7,0,0,132,196,164,148,140,132,132,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,7,7,6,0,0,112,136,136,136,168,144, - 104,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,136,136, - 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, - 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, - 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, - 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, - 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, - 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, - 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, - 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, - 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, - 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, - 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, - 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, - 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, - 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, - 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, - 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, - 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, - 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, - 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, - 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, - 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, - 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, - 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, - 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, - 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, - 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, - 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, - 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, - 152,255}; -/* - Fontname: m2icon5 - Copyright: public domain - Capital A Height: 5, '1' Height: 0 - Calculated Max Values w= 9 h= 6 x= 0 y= 0 dx=10 dy= 0 ascent= 5 len=10 - Font Bounding box w= 9 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_5[221] U8G_SECTION(".progmem.u8g_font_m2icon_5") = { - 1,9,6,0,255,5,0,17,0,172,65,104,255,5,255,5, - 255,2,117,149,28,254,130,130,254,2,69,133,112,208,144,144, - 240,2,84,100,216,112,112,216,2,117,133,6,12,216,112,32, - 2,68,84,240,144,144,240,2,68,84,240,144,208,240,2,68, - 84,240,240,240,240,2,85,101,248,136,136,136,248,2,85,101, - 248,136,168,136,248,2,85,101,248,248,248,248,248,2,68,84, - 224,176,240,112,2,68,84,224,176,240,112,2,68,84,224,240, - 240,112,2,85,101,240,152,152,248,120,2,85,101,240,152,216, - 248,120,2,85,101,240,248,248,248,120,2,68,84,96,144,144, - 96,2,68,84,96,144,208,96,2,68,84,96,240,240,96,255, - 255,255,255,255,255,255,255,255,255,255,255,255,2,117,133,32, - 64,254,64,32,2,85,101,32,112,168,32,32,255,255,255,2, - 149,170,28,0,254,0,130,0,191,128,255,0,1,22,38,128, - 128,128,128,128,128,2,85,101,32,32,248,32,32}; -/* - Fontname: m2icon_7 - Copyright: public domain - Capital A Height: 7, '1' Height: 0 - Calculated Max Values w=12 h= 8 x= 0 y= 1 dx=13 dy= 0 ascent= 7 len=14 - Font Bounding box w=12 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_7[275] U8G_SECTION(".progmem.u8g_font_m2icon_7") = { - 1,12,8,0,255,7,0,17,0,214,65,104,255,7,255,7, - 255,2,151,174,15,0,255,128,128,128,128,128,128,128,128,128, - 255,128,2,87,103,56,104,232,136,136,136,248,3,84,100,216, - 112,112,216,2,134,150,3,6,12,216,112,32,2,102,118,252, - 132,132,132,132,252,2,102,118,252,132,180,180,132,252,2,102, - 118,252,252,252,252,252,252,2,119,151,254,130,130,130,130,130, - 254,2,119,151,254,130,186,186,186,130,254,2,119,151,254,254, - 254,254,254,254,254,2,102,118,248,140,140,140,252,124,2,102, - 118,248,140,172,140,252,124,2,102,134,248,252,252,252,252,124, - 2,119,151,252,134,134,134,134,254,126,2,119,151,252,134,182, - 182,134,254,126,2,119,151,252,254,254,254,254,254,126,2,102, - 118,120,204,132,132,204,120,2,102,118,120,204,180,180,204,120, - 2,102,118,120,252,252,252,252,120,255,255,255,255,255,255,255, - 255,255,255,255,255,255,2,135,151,16,48,95,129,95,48,16, - 2,119,135,16,40,68,238,40,40,56,255,255,255,2,199,222, - 15,0,255,128,128,128,159,240,160,32,192,64,255,128,1,24, - 40,128,128,128,128,128,128,128,128,2,119,199,16,0,16,186, - 16,0,16}; -/* - Fontname: m2icon_9 - Copyright: public domain - Capital A Height: 8, '1' Height: 0 - Calculated Max Values w=13 h=11 x= 0 y= 1 dx=12 dy= 0 ascent= 9 len=18 - Font Bounding box w=13 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_9[471] U8G_SECTION(".progmem.u8g_font_m2icon_9") = { - 0,13,11,0,254,8,0,17,1,111,65,105,254,9,254,8, - 254,10,8,16,11,0,0,15,128,255,192,128,64,128,64,128, - 64,128,64,128,64,255,192,6,8,8,7,0,0,60,84,148, - 244,132,132,132,252,6,5,5,7,0,1,204,120,48,120,204, - 10,7,14,12,0,0,0,192,1,128,3,0,198,0,108,0, - 56,0,16,0,8,8,8,9,0,0,255,129,129,129,129,129, - 129,255,8,8,8,9,0,0,255,129,189,189,189,189,129,255, - 8,8,8,9,0,0,255,255,255,255,255,255,255,255,9,9, - 18,10,0,0,255,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,255,128,9,9,18,10,0,0,255,128,128,128, - 190,128,190,128,190,128,190,128,190,128,128,128,255,128,9,9, - 18,11,0,0,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,8,8,8,8,0,0,254,131,131,131, - 131,131,255,127,8,8,8,9,0,0,254,131,187,187,187,131, - 255,127,8,8,8,9,0,0,254,255,255,255,255,255,255,127, - 9,9,18,10,0,0,255,0,129,128,129,128,129,128,129,128, - 129,128,129,128,255,128,127,128,9,9,18,10,0,0,255,0, - 129,128,189,128,189,128,189,128,189,128,129,128,255,128,127,128, - 9,9,18,10,0,0,255,0,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,127,128,8,8,8,9,0,0,60,66, - 129,129,129,129,66,60,8,8,8,9,0,0,60,66,153,189, - 189,153,66,60,8,8,8,9,0,0,60,126,255,255,255,255, - 126,60,255,255,255,255,255,255,255,255,255,255,255,255,255,10, - 8,16,11,0,0,24,0,40,0,79,192,128,64,128,64,79, - 192,40,0,24,0,8,9,9,9,0,0,24,36,66,129,231, - 36,36,36,60,255,255,255,13,8,16,11,0,0,15,128,255, - 192,128,64,128,64,159,248,160,16,192,32,255,192,1,11,11, - 2,0,254,128,128,128,128,128,128,128,128,128,128,128,9,9, - 18,10,0,0,8,0,0,0,8,0,8,0,190,128,8,0, - 8,0,0,0,8,0,255}; -/* - Fontname: micro - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 4 h= 5 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_micro[855] U8G_SECTION(".progmem.u8g_font_micro") = { - 1,4,5,0,0,5,0,255,1,245,32,255,0,5,0,5, - 0,7,0,64,2,37,69,192,192,192,0,192,5,50,66,160, - 160,2,53,69,160,224,160,224,160,2,53,69,64,224,192,96, - 224,3,52,68,160,96,192,160,2,53,69,64,64,224,192,64, - 21,34,66,64,192,18,37,69,64,128,128,128,64,2,37,69, - 128,64,64,64,128,2,53,69,160,64,224,64,160,3,51,67, - 64,224,64,2,34,66,64,192,4,49,65,224,2,34,66,192, - 192,2,53,69,32,32,64,64,128,2,53,69,64,160,160,160, - 64,2,37,69,64,192,64,64,64,2,53,69,192,32,64,128, - 224,2,53,69,192,32,96,32,224,2,53,69,160,160,160,224, - 32,2,53,69,224,128,192,32,192,2,53,69,96,128,224,160, - 224,2,53,69,224,32,32,64,64,2,53,69,224,160,224,160, - 224,2,53,69,224,160,224,32,192,2,37,69,192,192,0,192, - 192,2,37,69,192,192,0,64,192,2,53,69,32,64,128,64, - 32,3,51,67,224,0,224,2,53,69,128,64,32,64,128,2, - 53,69,224,32,96,0,64,2,53,69,96,160,192,128,96,2, - 53,69,224,160,224,160,160,2,53,69,224,160,192,160,224,2, - 53,69,224,128,128,128,224,2,53,69,192,160,160,160,192,2, - 53,69,224,128,224,128,224,2,53,69,224,128,224,128,128,2, - 53,69,224,128,160,160,224,2,53,69,160,160,224,160,160,2, - 53,69,224,64,64,64,224,2,53,69,32,32,32,160,224,2, - 53,69,160,160,192,160,160,2,53,69,128,128,128,128,224,2, - 53,69,160,224,160,160,160,2,53,69,224,160,160,160,160,2, - 53,69,224,160,160,160,224,2,53,69,224,160,224,128,128,2, - 53,69,224,160,160,192,96,2,53,69,224,160,192,160,160,2, - 53,69,224,128,224,32,224,2,53,69,224,64,64,64,64,2, - 53,69,160,160,160,160,224,2,53,69,160,160,160,160,64,2, - 53,69,160,160,160,224,160,2,53,69,160,224,64,224,160,2, - 53,69,160,160,224,64,64,2,53,69,224,32,64,128,224,18, - 37,69,192,128,128,128,192,2,53,69,128,128,64,64,32,2, - 37,69,192,64,64,64,192,5,50,66,64,160,2,49,65,224, - 21,34,66,128,192,2,52,68,224,96,160,224,2,53,69,128, - 224,160,160,224,2,52,68,224,128,128,224,2,53,69,32,224, - 160,160,224,2,52,68,224,160,192,224,2,53,69,96,128,192, - 128,128,2,52,68,224,160,96,224,2,53,69,128,224,160,160, - 160,18,20,68,128,128,128,128,2,52,68,32,32,160,224,2, - 53,69,128,160,192,192,160,2,37,69,192,64,64,64,64,2, - 52,68,160,224,160,160,2,52,68,224,160,160,160,2,52,68, - 224,160,160,224,2,52,68,224,160,224,128,2,52,68,224,160, - 224,32,2,52,68,224,160,128,128,2,52,68,224,192,96,224, - 2,53,69,64,224,64,64,96,2,52,68,160,160,160,224,2, - 52,68,160,160,160,64,2,52,68,160,160,224,160,2,52,68, - 160,64,64,160,2,52,68,160,160,96,192,2,52,68,224,96, - 192,224,2,53,69,96,64,192,64,96,18,21,69,128,128,128, - 128,128,2,53,69,192,64,96,64,192,4,50,66,192,96,2, - 53,69,96,64,64,64,192,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,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,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,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}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=22 - Font Bounding box w=17 h=19 x=-2 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB08[2760] U8G_SECTION(".progmem.u8g_font_ncenB08") = { - 0,17,19,254,251,8,1,193,3,159,32,255,254,11,254,8, - 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, - 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, - 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, - 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, - 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, - 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, - 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, - 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, - 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, - 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, - 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, - 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, - 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, - 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, - 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, - 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, - 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, - 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, - 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, - 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, - 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, - 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, - 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, - 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, - 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, - 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, - 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, - 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, - 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, - 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, - 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, - 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, - 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, - 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, - 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, - 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, - 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, - 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, - 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, - 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, - 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, - 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, - 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, - 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, - 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, - 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, - 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, - 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, - 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, - 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, - 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, - 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, - 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, - 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, - 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, - 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, - 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, - 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, - 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, - 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, - 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, - 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, - 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, - 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, - 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, - 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, - 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, - 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, - 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, - 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, - 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, - 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, - 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, - 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, - 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, - 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, - 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, - 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, - 116,184,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,3,0,1,2,8,8,3,0,254,192, - 192,0,64,64,192,192,192,5,7,7,6,0,255,8,120,208, - 208,232,112,64,7,8,8,8,0,0,60,100,96,252,48,98, - 190,220,7,5,5,8,0,1,186,108,108,108,186,8,8,8, - 9,0,0,247,98,52,54,24,62,24,60,1,8,8,6,2, - 0,128,128,128,0,128,128,128,128,4,10,10,5,0,254,112, - 144,192,96,176,208,96,48,144,224,3,2,2,4,0,6,160, - 160,8,8,8,9,0,0,60,66,157,165,161,157,66,60,3, - 6,6,4,0,2,192,32,224,160,0,224,6,5,5,7,0, - 0,36,108,216,108,36,5,3,3,6,0,2,248,8,8,3, - 1,1,4,0,3,224,8,8,8,9,0,0,60,66,189,165, - 185,173,66,60,4,1,1,5,0,6,240,3,4,4,4,0, - 4,64,160,160,64,5,5,5,6,0,1,32,248,32,0,248, - 3,4,4,3,0,4,96,160,64,224,3,4,4,3,0,4, - 224,64,32,192,3,2,2,4,0,6,96,192,6,7,7,7, - 0,254,204,204,204,220,236,192,192,7,8,8,8,0,0,126, - 244,244,116,20,20,20,62,2,2,2,3,0,3,192,192,2, - 3,3,4,1,254,128,64,192,3,4,4,3,0,4,64,192, - 64,224,4,6,6,5,0,2,96,144,144,96,0,240,6,5, - 5,7,0,0,144,216,108,216,144,8,8,8,9,0,0,68, - 196,72,232,18,22,47,34,8,8,8,9,0,0,68,196,72, - 232,19,21,34,39,8,8,8,9,0,0,228,68,40,200,18, - 22,47,34,5,8,8,6,0,254,48,48,0,16,96,192,216, - 112,9,11,22,8,255,0,48,0,24,0,0,0,8,0,28, - 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, - 8,255,0,6,0,12,0,0,0,8,0,28,0,28,0,38, - 0,38,0,127,0,67,0,231,128,9,11,22,8,255,0,28, - 0,54,0,0,0,8,0,28,0,28,0,38,0,38,0,127, - 0,67,0,231,128,9,11,22,8,255,0,26,0,44,0,0, - 0,8,0,28,0,28,0,38,0,38,0,127,0,67,0,231, - 128,9,11,22,8,255,0,20,0,20,0,0,0,8,0,28, - 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, - 8,255,0,24,0,36,0,24,0,8,0,28,0,28,0,38, - 0,38,0,127,0,67,0,231,128,10,8,16,11,0,0,63, - 192,22,64,22,128,39,128,62,128,70,64,70,64,239,192,7, - 10,10,8,0,254,58,70,194,192,192,194,66,60,16,48,6, - 11,11,7,0,0,96,48,0,252,100,104,120,104,100,100,252, - 6,11,11,7,0,0,24,48,0,252,100,104,120,104,100,100, - 252,6,11,11,7,0,0,56,108,0,252,100,104,120,104,100, - 100,252,6,11,11,7,0,0,40,40,0,252,100,104,120,104, - 100,100,252,4,11,11,5,0,0,192,96,0,240,96,96,96, - 96,96,96,240,4,11,11,5,0,0,48,96,0,240,96,96, - 96,96,96,96,240,5,11,11,5,0,0,112,216,0,240,96, - 96,96,96,96,96,240,4,11,11,5,0,0,80,80,0,240, - 96,96,96,96,96,96,240,8,8,8,9,0,0,252,98,99, - 243,99,99,98,252,8,11,11,9,0,0,26,44,0,199,98, - 114,122,94,78,70,226,7,11,11,8,0,0,48,24,0,56, - 68,198,198,198,198,68,56,7,11,11,8,0,0,24,48,0, - 56,68,198,198,198,198,68,56,7,11,11,8,0,0,56,108, - 0,56,68,198,198,198,198,68,56,7,11,11,8,0,0,52, - 88,0,56,68,198,198,198,198,68,56,7,11,11,8,0,0, - 40,40,0,56,68,198,198,198,198,68,56,5,5,5,6,0, - 1,216,112,32,112,216,7,8,8,8,0,0,58,68,206,214, - 214,230,68,184,8,11,11,9,0,0,48,24,0,247,98,98, - 98,98,98,98,60,8,11,11,9,0,0,12,24,0,247,98, - 98,98,98,98,98,60,8,11,11,9,0,0,28,54,0,247, - 98,98,98,98,98,98,60,8,11,11,9,0,0,20,20,0, - 247,98,98,98,98,98,98,60,8,11,11,9,0,0,12,24, - 0,247,98,52,52,24,24,24,60,7,8,8,8,0,0,224, - 124,102,102,102,124,96,240,7,8,8,8,0,0,60,102,102, - 108,102,102,102,236,4,8,8,5,0,0,192,96,0,224,48, - 112,176,240,4,8,8,5,0,0,48,96,0,224,48,112,176, - 240,5,9,9,5,0,0,32,112,216,0,224,48,112,176,240, - 5,8,8,5,0,0,104,176,0,224,48,112,176,240,4,8, - 8,5,0,0,160,160,0,224,48,112,176,240,4,8,8,5, - 0,0,96,144,96,224,48,112,176,240,8,5,5,9,0,0, - 238,155,127,216,239,5,7,7,6,0,254,112,200,192,200,112, - 32,96,5,8,8,6,0,0,96,48,0,112,216,248,192,120, - 5,8,8,6,0,0,48,96,0,112,216,248,192,120,5,9, - 9,6,0,0,32,112,216,0,112,216,248,192,120,5,8,8, - 6,0,0,80,80,0,112,216,248,192,120,4,8,8,5,0, - 0,192,96,0,224,96,96,96,240,4,8,8,5,0,0,48, - 96,0,224,96,96,96,240,5,9,9,5,0,0,32,112,216, - 0,224,96,96,96,240,4,8,8,5,0,0,160,160,0,224, - 96,96,96,240,6,8,8,7,0,0,200,112,144,120,204,204, - 204,120,6,8,8,7,0,0,104,176,0,216,236,204,204,204, - 6,8,8,7,0,0,96,48,0,120,204,204,204,120,6,8, - 8,7,0,0,24,48,0,120,204,204,204,120,6,9,9,7, - 0,0,32,112,216,0,120,204,204,204,120,6,8,8,7,0, - 0,52,88,0,120,204,204,204,120,6,8,8,7,0,0,80, - 80,0,120,204,204,204,120,5,5,5,6,0,1,32,0,248, - 0,32,6,7,7,7,0,255,4,120,220,236,204,120,128,6, - 8,8,7,0,0,96,48,0,204,204,204,220,108,6,8,8, - 7,0,0,24,48,0,204,204,204,220,108,6,9,9,7,0, - 0,32,112,216,0,204,204,204,220,108,6,8,8,7,0,0, - 80,80,0,204,204,204,220,108,6,10,10,7,0,254,24,48, - 0,236,104,104,48,48,224,192,6,10,10,7,0,254,192,192, - 192,216,236,204,204,248,192,224,6,10,10,7,0,254,80,80, - 0,236,104,104,48,48,224,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=20 - Font Bounding box w=17 h=19 x=-2 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB08r[1315] U8G_SECTION(".progmem.u8g_font_ncenB08r") = { - 0,17,19,254,251,8,1,193,3,159,32,127,254,9,254,8, - 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, - 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, - 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, - 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, - 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, - 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, - 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, - 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, - 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, - 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, - 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, - 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, - 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, - 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, - 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, - 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, - 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, - 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, - 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, - 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, - 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, - 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, - 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, - 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, - 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, - 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, - 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, - 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, - 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, - 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, - 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, - 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, - 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, - 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, - 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, - 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, - 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, - 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, - 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, - 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, - 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, - 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, - 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, - 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, - 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, - 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, - 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, - 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, - 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, - 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, - 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, - 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, - 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, - 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, - 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, - 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, - 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, - 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, - 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, - 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, - 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, - 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, - 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, - 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, - 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, - 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, - 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, - 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, - 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, - 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, - 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, - 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, - 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, - 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, - 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, - 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, - 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, - 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, - 116,184,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=15 x= 3 y= 8 dx=15 dy= 0 ascent=15 len=30 - Font Bounding box w=20 h=25 x=-2 y=-6 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =15 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB10[4003] U8G_SECTION(".progmem.u8g_font_ncenB10") = { - 0,20,25,254,250,11,2,24,5,41,32,255,253,15,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, - 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, - 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, - 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, - 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, - 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, - 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, - 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, - 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, - 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, - 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, - 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, - 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, - 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, - 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, - 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, - 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, - 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, - 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, - 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, - 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, - 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, - 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, - 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, - 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, - 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, - 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, - 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, - 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, - 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, - 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, - 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, - 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, - 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, - 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, - 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, - 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, - 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, - 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, - 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, - 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, - 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, - 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, - 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, - 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, - 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, - 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, - 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, - 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, - 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, - 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, - 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, - 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, - 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, - 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, - 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, - 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, - 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, - 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, - 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, - 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, - 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, - 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, - 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, - 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, - 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, - 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, - 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, - 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, - 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, - 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, - 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, - 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, - 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, - 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, - 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, - 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, - 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, - 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, - 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, - 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, - 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, - 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, - 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, - 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, - 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, - 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, - 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, - 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, - 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, - 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, - 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, - 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, - 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, - 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, - 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, - 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, - 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, - 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, - 48,48,32,192,7,2,2,8,0,4,118,220,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, - 4,0,1,2,11,11,5,1,253,192,192,192,0,64,64,192, - 192,192,192,192,7,9,9,8,0,255,4,60,110,206,208,210, - 118,60,32,8,11,11,9,0,0,28,38,102,96,252,48,48, - 32,225,191,222,8,8,8,9,0,2,153,126,102,195,195,102, - 126,153,10,11,22,11,0,0,241,192,96,128,49,0,49,0, - 26,0,26,0,63,0,12,0,63,0,12,0,30,0,1,11, - 11,8,3,0,128,128,128,128,0,0,128,128,128,128,128,6, - 13,13,7,0,254,56,108,76,96,120,156,204,228,120,28,204, - 200,112,5,2,2,7,1,8,216,216,11,11,22,12,0,0, - 14,0,49,128,64,64,79,64,153,32,144,32,153,32,78,64, - 64,64,49,128,14,0,5,7,7,6,0,4,224,48,112,176, - 216,0,248,7,5,5,8,0,1,54,108,216,108,54,7,4, - 4,8,0,2,254,2,2,2,4,2,2,5,0,3,240,240, - 11,11,22,12,0,0,14,0,49,128,64,64,94,64,137,32, - 142,32,138,32,91,64,64,64,49,128,14,0,5,1,1,7, - 1,8,248,4,4,4,6,1,7,96,144,144,96,7,7,7, - 8,0,1,16,16,254,16,16,0,254,5,6,6,5,255,5, - 112,152,24,48,96,248,5,6,6,5,255,5,112,152,48,24, - 152,112,4,3,3,6,1,8,48,96,128,9,10,20,10,0, - 253,247,0,99,0,99,0,99,0,99,0,103,0,123,128,64, - 0,96,0,96,0,9,11,22,10,0,0,127,128,251,0,251, - 0,251,0,251,0,123,0,27,0,27,0,27,0,27,0,63, - 128,2,2,2,5,1,4,192,192,3,3,3,5,1,253,64, - 32,224,4,6,6,5,0,5,96,224,96,96,96,240,5,7, - 7,6,0,4,112,216,216,216,112,0,248,7,5,5,8,0, - 1,216,108,54,108,216,11,11,22,12,0,0,97,0,227,0, - 98,0,102,0,100,0,252,192,9,192,26,192,20,192,55,224, - 32,192,11,11,22,12,0,0,97,0,227,0,98,0,102,0, - 100,0,253,192,10,96,24,96,16,192,49,128,35,224,12,11, - 22,12,255,0,112,128,153,128,49,0,27,0,154,0,118,96, - 4,224,13,96,10,96,27,240,16,96,6,11,11,7,0,253, - 48,48,48,0,16,48,96,192,204,204,120,10,15,30,11,0, - 0,48,0,24,0,4,0,0,0,12,0,12,0,22,0,22, - 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,10, - 15,30,11,0,0,3,0,6,0,8,0,0,0,12,0,12, - 0,22,0,22,0,18,0,35,0,35,0,63,0,65,128,65, - 128,227,192,10,15,30,11,0,0,4,0,14,0,17,0,0, - 0,12,0,12,0,22,0,22,0,18,0,35,0,35,0,63, - 0,65,128,65,128,227,192,10,14,28,11,0,0,29,0,46, - 0,0,0,12,0,12,0,22,0,22,0,18,0,35,0,35, - 0,63,0,65,128,65,128,227,192,10,14,28,11,0,0,51, - 0,51,0,0,0,12,0,12,0,22,0,22,0,18,0,35, - 0,35,0,63,0,65,128,65,128,227,192,10,15,30,11,0, - 0,12,0,18,0,12,0,0,0,12,0,12,0,22,0,22, - 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,15, - 11,22,15,255,0,15,254,5,134,5,130,9,146,9,144,17, - 240,31,144,33,146,33,130,65,134,227,254,10,14,28,11,0, - 253,31,64,112,192,96,64,192,64,192,0,192,0,192,0,192, - 0,96,64,112,192,31,0,4,0,2,0,14,0,9,15,30, - 10,0,0,24,0,12,0,2,0,0,0,255,128,97,128,96, - 128,100,128,100,0,124,0,100,0,100,128,96,128,97,128,255, - 128,9,15,30,10,0,0,3,0,6,0,8,0,0,0,255, - 128,97,128,96,128,100,128,100,0,124,0,100,0,100,128,96, - 128,97,128,255,128,9,15,30,10,0,0,4,0,14,0,17, - 0,0,0,255,128,97,128,96,128,100,128,100,0,124,0,100, - 0,100,128,96,128,97,128,255,128,9,14,28,10,0,0,51, - 0,51,0,0,0,255,128,97,128,96,128,100,128,100,0,124, - 0,100,0,100,128,96,128,97,128,255,128,4,15,15,7,1, - 0,192,96,16,0,240,96,96,96,96,96,96,96,96,96,240, - 5,15,15,7,1,0,24,48,64,0,240,96,96,96,96,96, - 96,96,96,96,240,5,15,15,7,1,0,32,112,136,0,240, - 96,96,96,96,96,96,96,96,96,240,6,14,14,7,0,0, - 204,204,0,120,48,48,48,48,48,48,48,48,48,120,11,11, - 22,12,0,0,255,0,97,192,96,192,96,96,96,96,248,96, - 96,96,96,96,96,192,97,192,255,0,11,14,28,12,0,0, - 14,128,23,0,0,0,224,224,112,64,120,64,92,64,76,64, - 70,64,71,64,67,192,65,192,64,192,224,64,11,15,30,12, - 0,0,24,0,12,0,2,0,0,0,31,0,113,192,96,192, - 192,96,192,96,192,96,192,96,192,96,96,192,113,192,31,0, - 11,15,30,12,0,0,0,192,1,128,2,0,0,0,31,0, - 113,192,96,192,192,96,192,96,192,96,192,96,192,96,96,192, - 113,192,31,0,11,15,30,12,0,0,4,0,14,0,17,0, - 0,0,31,0,113,192,96,192,192,96,192,96,192,96,192,96, - 192,96,96,192,113,192,31,0,11,14,28,12,0,0,14,128, - 23,0,0,0,31,0,113,192,96,192,192,96,192,96,192,96, - 192,96,192,96,96,192,113,192,31,0,11,14,28,12,0,0, - 25,128,25,128,0,0,31,0,113,192,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,113,192,31,0,8,7,7,8, - 0,1,195,102,60,24,60,102,195,11,11,22,12,0,0,31, - 32,113,192,96,192,193,96,194,96,196,96,200,96,208,96,96, - 192,113,192,159,0,11,15,30,12,0,0,12,0,6,0,1, - 0,0,0,240,224,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,48,128,31,0,11,15,30,12,0,0,1, - 128,3,0,4,0,0,0,240,224,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,48,128,31,0,11,15,30, - 12,0,0,4,0,14,0,17,0,0,0,240,224,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,48,128,31, - 0,11,14,28,12,0,0,25,128,25,128,0,0,240,224,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,96,64,48, - 128,31,0,10,15,30,11,0,0,1,128,3,0,4,0,0, - 0,241,192,96,128,49,0,49,0,26,0,26,0,12,0,12, - 0,12,0,12,0,30,0,9,11,22,10,0,0,240,0,96, - 0,127,0,99,128,97,128,97,128,99,128,126,0,96,0,96, - 0,240,0,8,11,11,9,0,0,30,35,99,98,108,98,99, - 99,99,99,238,8,11,11,9,0,0,48,24,4,0,60,102, - 6,62,198,206,119,8,11,11,9,0,0,12,24,32,0,60, - 102,6,62,198,206,119,8,11,11,9,0,0,16,56,108,0, - 60,102,6,62,198,206,119,8,10,10,9,0,0,52,88,0, - 60,102,6,62,198,206,119,8,10,10,9,0,0,108,108,0, - 60,102,6,62,198,206,119,8,11,11,9,0,0,24,36,24, - 0,60,102,6,62,198,206,119,13,7,14,14,0,0,57,224, - 103,48,6,24,63,248,198,0,199,24,121,240,7,10,10,8, - 0,253,60,102,198,192,194,102,60,16,8,56,8,11,11,9, - 0,0,48,24,4,0,60,102,195,255,192,99,62,8,11,11, - 9,0,0,12,24,32,0,60,102,195,255,192,99,62,8,11, - 11,9,0,0,16,56,108,0,60,102,195,255,192,99,62,8, - 10,10,9,0,0,108,108,0,60,102,195,255,192,99,62,4, - 11,11,5,0,0,192,96,16,0,224,96,96,96,96,96,240, - 4,11,11,5,0,0,48,96,128,0,224,96,96,96,96,96, - 240,5,11,11,5,0,0,32,112,216,0,224,96,96,96,96, - 96,240,5,10,10,5,0,0,216,216,0,224,96,96,96,96, - 96,240,8,11,11,9,0,0,198,56,120,140,62,102,195,195, - 195,102,60,9,10,20,10,0,0,26,0,44,0,0,0,238, - 0,115,0,99,0,99,0,99,0,99,0,247,128,8,11,11, - 9,0,0,48,24,4,0,60,102,195,195,195,102,60,8,11, - 11,9,0,0,12,24,32,0,60,102,195,195,195,102,60,8, - 11,11,9,0,0,16,56,108,0,60,102,195,195,195,102,60, - 8,10,10,9,0,0,52,88,0,60,102,195,195,195,102,60, - 8,10,10,9,0,0,108,108,0,60,102,195,195,195,102,60, - 8,7,7,8,0,1,24,24,0,255,0,24,24,8,9,9, - 9,0,255,2,60,110,203,211,211,102,60,64,9,11,22,10, - 0,0,48,0,24,0,4,0,0,0,247,128,99,0,99,0, - 99,0,99,0,103,0,59,128,9,11,22,10,0,0,12,0, - 24,0,32,0,0,0,247,128,99,0,99,0,99,0,99,0, - 103,0,59,128,9,11,22,10,0,0,8,0,28,0,54,0, - 0,0,247,128,99,0,99,0,99,0,99,0,103,0,59,128, - 9,10,20,10,0,0,54,0,54,0,0,0,247,128,99,0, - 99,0,99,0,99,0,103,0,59,128,8,14,14,7,255,253, - 6,12,16,0,247,98,98,52,52,24,24,16,208,224,9,14, - 28,10,0,253,224,0,96,0,96,0,96,0,110,0,115,0, - 97,128,97,128,97,128,115,0,110,0,96,0,96,0,240,0, - 8,13,13,7,255,253,54,54,0,247,98,98,52,52,24,24, - 16,208,224}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 3 y= 8 dx=15 dy= 0 ascent=12 len=28 - Font Bounding box w=20 h=25 x=-2 y=-6 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB10r[1853] U8G_SECTION(".progmem.u8g_font_ncenB10r") = { - 0,20,25,254,250,11,2,24,5,41,32,127,253,12,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, - 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, - 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, - 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, - 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, - 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, - 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, - 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, - 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, - 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, - 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, - 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, - 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, - 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, - 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, - 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, - 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, - 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, - 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, - 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, - 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, - 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, - 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, - 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, - 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, - 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, - 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, - 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, - 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, - 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, - 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, - 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, - 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, - 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, - 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, - 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, - 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, - 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, - 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, - 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, - 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, - 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, - 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, - 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, - 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, - 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, - 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, - 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, - 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, - 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, - 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, - 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, - 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, - 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, - 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, - 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, - 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, - 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, - 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, - 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, - 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, - 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, - 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, - 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, - 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, - 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, - 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, - 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, - 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, - 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, - 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, - 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, - 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, - 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, - 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, - 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, - 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, - 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, - 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, - 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, - 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, - 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, - 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, - 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, - 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, - 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, - 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, - 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, - 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, - 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, - 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, - 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, - 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, - 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, - 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, - 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, - 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, - 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, - 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, - 48,48,32,192,7,2,2,8,0,4,118,220,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=22 h=27 x=-3 y=-7 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =16 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB12[4735] U8G_SECTION(".progmem.u8g_font_ncenB12") = { - 0,22,27,253,249,12,2,152,5,246,32,255,253,16,253,12, - 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, - 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, - 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, - 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, - 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, - 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, - 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, - 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, - 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, - 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, - 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, - 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, - 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, - 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, - 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, - 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, - 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, - 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, - 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, - 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, - 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, - 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, - 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, - 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, - 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, - 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, - 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, - 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, - 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, - 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, - 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, - 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, - 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, - 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, - 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, - 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, - 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, - 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, - 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, - 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, - 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, - 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, - 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, - 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, - 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, - 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, - 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, - 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, - 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, - 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, - 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, - 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, - 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, - 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, - 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, - 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, - 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, - 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, - 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, - 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, - 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, - 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, - 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, - 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, - 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, - 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, - 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, - 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, - 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, - 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, - 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, - 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, - 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, - 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, - 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, - 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, - 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, - 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, - 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, - 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, - 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, - 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, - 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, - 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, - 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, - 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, - 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, - 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, - 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, - 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, - 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, - 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, - 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, - 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, - 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, - 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, - 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, - 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, - 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, - 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, - 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, - 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, - 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, - 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, - 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, - 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, - 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, - 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, - 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, - 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, - 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, - 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, - 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, - 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, - 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, - 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, - 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, - 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, - 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, - 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, - 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, - 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, - 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, - 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, - 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, - 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, - 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, - 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, - 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, - 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, - 78,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,4,1,1,3,12,12,5,1,253,64,224, - 224,64,0,64,64,224,224,224,224,64,8,12,12,10,0,254, - 1,2,62,115,231,231,232,233,114,60,32,64,9,12,24,10, - 0,0,31,0,57,128,115,128,115,128,113,0,56,0,254,0, - 24,0,24,0,120,128,191,0,110,0,8,8,8,10,1,2, - 90,255,102,195,195,102,255,90,10,12,24,10,0,0,251,192, - 113,128,49,0,59,0,26,0,30,0,63,0,12,0,63,0, - 12,0,12,0,63,0,2,12,12,10,4,0,192,192,192,192, - 192,0,0,192,192,192,192,192,6,15,15,9,1,253,56,76, - 76,96,48,120,140,132,196,120,48,24,200,200,112,5,2,2, - 6,0,9,216,216,12,12,24,12,0,0,31,128,57,192,96, - 96,207,176,217,48,152,16,152,16,217,176,207,48,96,96,57, - 192,31,128,6,7,7,6,0,5,112,152,120,216,108,0,248, - 6,5,5,8,1,2,36,108,216,108,36,8,5,5,10,0, - 2,255,255,3,3,3,4,2,2,5,0,3,240,240,12,12, - 24,12,0,0,31,128,57,192,96,96,223,48,201,48,142,16, - 139,16,201,176,221,240,96,96,57,192,31,128,5,1,1,6, - 0,10,248,5,5,5,7,1,7,112,216,136,216,112,8,9, - 9,10,1,0,24,24,255,255,24,24,0,255,255,5,7,7, - 6,0,5,112,152,216,16,32,120,248,6,7,7,6,0,5, - 120,204,76,24,76,204,120,4,3,3,6,1,9,48,112,192, - 11,11,22,11,0,253,243,192,113,192,113,192,113,192,113,192, - 113,192,123,192,110,224,96,0,112,0,112,0,11,12,24,12, - 0,0,127,224,249,128,249,128,249,128,249,128,121,128,25,128, - 25,128,25,128,25,128,25,128,127,224,4,3,3,5,0,3, - 96,240,96,4,4,4,6,0,253,64,96,48,224,4,7,7, - 6,1,5,32,224,96,96,96,96,240,5,7,7,6,0,5, - 112,216,216,216,112,0,248,6,5,5,8,1,2,144,216,108, - 216,144,12,12,24,14,1,0,32,64,224,192,97,128,97,0, - 99,0,98,32,246,96,12,224,9,32,27,240,48,96,32,240, - 12,12,24,14,1,0,32,64,224,192,97,128,97,0,99,0, - 98,224,247,48,13,176,8,32,24,64,48,240,33,240,13,12, - 24,14,0,0,120,32,204,96,76,192,24,128,77,128,205,16, - 123,48,6,112,4,144,13,248,24,48,16,120,8,12,12,8, - 0,253,8,28,28,8,0,8,48,112,230,239,102,60,13,16, - 32,13,0,0,24,0,28,0,6,0,0,0,6,0,7,0, - 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, - 96,224,241,248,13,16,32,13,0,0,1,128,3,128,6,0, - 0,0,6,0,7,0,7,0,15,0,11,128,27,128,17,192, - 63,192,49,192,32,224,96,224,241,248,13,16,32,13,0,0, - 2,0,7,0,13,128,0,0,6,0,7,0,7,0,15,0, - 11,128,27,128,17,192,63,192,49,192,32,224,96,224,241,248, - 13,15,30,13,0,0,14,128,23,0,0,0,6,0,7,0, - 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, - 96,224,241,248,13,15,30,13,0,0,25,128,25,128,0,0, - 6,0,7,0,7,0,15,0,11,128,27,128,17,192,63,192, - 49,192,32,224,96,224,241,248,13,16,32,13,0,0,6,0, - 11,0,6,0,0,0,6,0,7,0,7,0,15,0,11,128, - 27,128,17,192,63,192,49,192,32,224,96,224,241,248,16,12, - 24,16,255,0,31,255,7,195,5,195,5,201,9,216,9,248, - 17,216,31,201,33,193,33,195,97,195,247,255,11,15,30,13, - 1,253,15,160,56,224,112,96,112,32,224,32,224,0,224,0, - 224,32,112,32,112,64,56,192,15,0,12,0,6,0,28,0, - 11,16,32,12,0,0,24,0,28,0,6,0,0,0,255,224, - 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, - 56,96,56,96,255,224,11,16,32,12,0,0,1,128,3,128, - 6,0,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,32,56,32,56,96,56,96,255,224,11,16,32,12, - 0,0,2,0,7,0,13,128,0,0,255,224,56,96,56,96, - 57,32,59,0,63,0,59,0,57,32,56,32,56,96,56,96, - 255,224,11,15,30,12,0,0,25,128,25,128,0,0,255,224, - 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, - 56,96,56,96,255,224,7,16,16,7,0,0,96,112,24,0, - 254,56,56,56,56,56,56,56,56,56,56,254,7,16,16,7, - 0,0,12,28,48,0,254,56,56,56,56,56,56,56,56,56, - 56,254,7,16,16,7,0,0,16,56,108,0,254,56,56,56, - 56,56,56,56,56,56,56,254,7,15,15,7,0,0,108,108, - 0,254,56,56,56,56,56,56,56,56,56,56,254,13,12,24, - 14,0,0,255,128,56,224,56,112,56,112,56,56,126,56,56, - 56,56,56,56,112,56,112,56,224,255,128,14,15,30,14,0, - 0,7,64,11,128,0,0,240,124,56,16,60,16,62,16,47, - 16,39,144,35,208,33,240,32,240,32,112,32,48,248,16,12, - 16,32,14,1,0,24,0,28,0,6,0,0,0,15,0,57, - 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, - 224,57,192,15,0,12,16,32,14,1,0,1,128,3,128,6, - 0,0,0,15,0,57,192,112,224,112,224,224,112,224,112,224, - 112,224,112,112,224,112,224,57,192,15,0,12,16,32,14,1, - 0,6,0,15,0,25,128,0,0,15,0,57,192,112,224,112, - 224,224,112,224,112,224,112,224,112,112,224,112,224,57,192,15, - 0,12,15,30,14,1,0,14,128,23,0,0,0,15,0,57, - 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, - 224,57,192,15,0,12,15,30,14,1,0,25,128,25,128,0, - 0,15,0,57,192,112,224,112,224,224,112,224,112,224,112,224, - 112,112,224,112,224,57,192,15,0,8,8,8,10,1,0,66, - 231,126,56,28,126,231,66,12,14,28,14,1,255,0,16,15, - 32,57,192,112,224,112,224,225,112,226,112,228,112,232,112,112, - 224,112,224,57,192,79,0,128,0,14,16,32,14,0,0,6, - 0,7,0,1,128,0,0,254,124,56,16,56,16,56,16,56, - 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,14, - 16,32,14,0,0,0,96,0,224,1,128,0,0,254,124,56, - 16,56,16,56,16,56,16,56,16,56,16,56,16,56,16,28, - 32,30,96,7,128,14,16,32,14,0,0,1,128,3,192,6, - 96,0,0,254,124,56,16,56,16,56,16,56,16,56,16,56, - 16,56,16,56,16,28,32,30,96,7,128,14,15,30,14,0, - 0,6,96,6,96,0,0,254,124,56,16,56,16,56,16,56, - 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,13, - 16,32,12,255,0,0,192,1,192,3,0,0,0,254,248,56, - 96,28,64,28,128,14,128,15,0,7,0,7,0,7,0,7, - 0,7,0,31,192,12,12,24,13,0,0,254,0,56,0,63, - 192,56,224,56,112,56,112,56,112,56,224,63,192,56,0,56, - 0,254,0,10,12,24,10,0,0,31,0,51,128,115,128,115, - 128,115,0,119,0,113,128,113,192,113,192,113,192,123,128,247, - 0,9,12,24,10,0,0,96,0,112,0,24,0,0,0,126, - 0,231,0,199,0,31,0,103,0,231,0,239,0,119,128,9, - 12,24,10,0,0,6,0,14,0,24,0,0,0,126,0,231, - 0,199,0,31,0,103,0,231,0,239,0,119,128,9,12,24, - 10,0,0,16,0,56,0,108,0,0,0,126,0,231,0,199, - 0,31,0,103,0,231,0,239,0,119,128,9,11,22,10,0, - 0,58,0,92,0,0,0,126,0,231,0,199,0,31,0,103, - 0,231,0,239,0,119,128,9,11,22,10,0,0,108,0,108, - 0,0,0,126,0,231,0,199,0,31,0,103,0,231,0,239, - 0,119,128,9,12,24,10,0,0,24,0,44,0,24,0,0, - 0,126,0,231,0,199,0,31,0,103,0,231,0,239,0,119, - 128,13,8,16,15,0,0,125,224,231,48,199,56,63,248,103, - 0,231,24,239,48,123,224,8,11,11,9,0,253,62,115,231, - 227,224,227,118,60,24,12,56,9,12,24,10,0,0,48,0, - 56,0,12,0,0,0,62,0,119,0,227,128,255,128,224,0, - 225,128,115,0,62,0,9,12,24,10,0,0,6,0,14,0, - 24,0,0,0,62,0,119,0,227,128,255,128,224,0,225,128, - 115,0,62,0,9,12,24,10,0,0,8,0,28,0,54,0, - 0,0,62,0,119,0,227,128,255,128,224,0,225,128,115,0, - 62,0,9,11,22,10,0,0,54,0,54,0,0,0,62,0, - 119,0,227,128,255,128,224,0,225,128,115,0,62,0,5,12, - 12,6,0,0,192,224,48,0,240,112,112,112,112,112,112,248, - 5,12,12,6,0,0,24,56,96,0,240,112,112,112,112,112, - 112,248,5,12,12,6,0,0,32,112,216,0,240,112,112,112, - 112,112,112,248,5,11,11,6,0,0,216,216,0,240,112,112, - 112,112,112,112,248,9,13,26,11,0,0,96,0,59,0,28, - 0,54,0,7,0,31,0,119,128,227,128,227,128,227,128,227, - 128,119,0,28,0,11,11,22,11,255,0,14,128,23,0,0, - 0,247,128,121,192,113,192,113,192,113,192,113,192,113,192,251, - 224,10,12,24,11,0,0,24,0,28,0,6,0,0,0,63, - 0,115,128,225,192,225,192,225,192,225,192,115,128,63,0,10, - 12,24,11,0,0,3,0,7,0,12,0,0,0,63,0,115, - 128,225,192,225,192,225,192,225,192,115,128,63,0,10,12,24, - 11,0,0,12,0,30,0,51,0,0,0,63,0,115,128,225, - 192,225,192,225,192,225,192,115,128,63,0,10,11,22,11,0, - 0,29,0,46,0,0,0,63,0,115,128,225,192,225,192,225, - 192,225,192,115,128,63,0,10,11,22,11,0,0,54,0,54, - 0,0,0,63,0,115,128,225,192,225,192,225,192,225,192,115, - 128,63,0,8,8,8,10,1,0,24,24,0,255,255,0,24, - 24,9,12,24,10,0,254,0,128,1,0,30,0,115,0,231, - 128,235,128,235,128,243,128,103,0,60,0,64,0,128,0,11, - 12,24,11,255,0,24,0,28,0,6,0,0,0,243,192,113, - 192,113,192,113,192,113,192,113,192,123,192,62,224,11,12,24, - 11,255,0,3,0,7,0,12,0,0,0,243,192,113,192,113, - 192,113,192,113,192,113,192,123,192,62,224,11,12,24,11,255, - 0,4,0,14,0,27,0,0,0,243,192,113,192,113,192,113, - 192,113,192,113,192,123,192,62,224,11,11,22,11,255,0,27, - 0,27,0,0,0,243,192,113,192,113,192,113,192,113,192,113, - 192,123,192,62,224,11,15,30,10,255,253,3,0,7,0,12, - 0,0,0,251,224,112,192,56,128,25,128,29,0,15,0,14, - 0,6,0,52,0,116,0,56,0,10,15,30,11,255,253,240, - 0,112,0,112,0,112,0,119,0,123,128,113,192,113,192,113, - 192,113,192,123,128,119,0,112,0,112,0,252,0,11,14,28, - 10,255,253,27,0,27,0,0,0,251,224,48,192,56,128,25, - 128,29,0,15,0,14,0,6,0,52,0,116,0,56,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=14 len=30 - Font Bounding box w=22 h=27 x=-3 y=-7 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB12r[2194] U8G_SECTION(".progmem.u8g_font_ncenB12r") = { - 0,22,27,253,249,12,2,152,5,246,32,127,253,14,253,12, - 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, - 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, - 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, - 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, - 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, - 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, - 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, - 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, - 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, - 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, - 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, - 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, - 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, - 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, - 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, - 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, - 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, - 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, - 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, - 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, - 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, - 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, - 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, - 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, - 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, - 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, - 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, - 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, - 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, - 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, - 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, - 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, - 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, - 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, - 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, - 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, - 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, - 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, - 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, - 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, - 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, - 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, - 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, - 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, - 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, - 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, - 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, - 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, - 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, - 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, - 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, - 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, - 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, - 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, - 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, - 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, - 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, - 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, - 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, - 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, - 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, - 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, - 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, - 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, - 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, - 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, - 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, - 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, - 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, - 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, - 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, - 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, - 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, - 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, - 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, - 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, - 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, - 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, - 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, - 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, - 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, - 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, - 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, - 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, - 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, - 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, - 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, - 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, - 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, - 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, - 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, - 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, - 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, - 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, - 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, - 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, - 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, - 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, - 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, - 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, - 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, - 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, - 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, - 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, - 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, - 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, - 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, - 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, - 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, - 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, - 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, - 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, - 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, - 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, - 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, - 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, - 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, - 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, - 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, - 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, - 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, - 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, - 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, - 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, - 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, - 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, - 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, - 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, - 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, - 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, - 78,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=19 x= 4 y=11 dx=21 dy= 0 ascent=19 len=42 - Font Bounding box w=24 h=32 x=-3 y=-8 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =19 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB14[5558] U8G_SECTION(".progmem.u8g_font_ncenB14") = { - 0,24,32,253,248,14,3,71,7,51,32,255,252,19,252,14, - 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, - 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, - 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, - 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, - 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, - 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, - 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, - 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, - 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, - 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, - 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, - 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, - 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, - 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, - 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, - 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, - 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, - 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, - 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, - 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, - 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, - 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, - 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, - 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, - 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, - 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, - 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, - 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, - 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, - 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, - 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, - 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, - 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, - 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, - 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, - 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, - 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, - 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, - 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, - 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, - 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, - 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, - 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, - 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, - 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, - 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, - 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, - 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, - 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, - 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, - 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, - 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, - 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, - 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, - 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, - 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, - 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, - 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, - 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, - 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, - 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, - 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, - 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, - 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, - 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, - 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, - 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, - 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, - 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, - 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, - 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, - 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, - 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, - 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, - 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, - 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, - 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, - 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, - 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, - 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, - 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, - 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, - 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, - 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, - 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, - 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, - 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, - 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, - 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, - 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, - 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, - 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, - 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, - 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, - 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, - 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, - 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, - 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, - 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, - 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, - 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, - 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, - 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, - 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, - 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, - 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, - 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, - 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, - 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, - 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, - 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, - 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, - 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, - 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, - 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, - 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, - 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, - 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, - 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, - 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, - 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, - 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, - 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, - 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, - 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, - 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, - 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, - 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, - 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, - 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, - 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, - 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, - 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, - 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, - 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, - 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, - 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, - 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, - 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, - 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, - 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, - 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, - 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, - 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, - 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, - 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, - 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, - 6,12,1,4,57,192,127,128,231,0,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,5,0, - 1,4,14,14,7,1,252,96,240,240,96,0,96,96,96,240, - 240,240,240,240,96,9,13,26,11,1,254,0,128,0,128,31, - 0,115,128,227,128,228,0,228,0,232,0,232,128,113,128,30, - 0,32,0,32,0,10,14,28,11,0,0,31,0,49,128,115, - 128,115,128,112,0,112,0,56,0,255,128,28,0,28,0,24, - 64,112,192,159,192,239,128,9,9,18,10,0,2,221,128,255, - 128,99,0,193,128,193,128,193,128,99,0,255,128,221,128,14, - 14,28,15,0,0,252,60,120,24,56,16,28,48,30,32,14, - 96,7,192,31,240,3,128,31,240,3,128,3,128,3,128,15, - 224,2,14,14,11,4,0,192,192,192,192,192,192,0,0,192, - 192,192,192,192,192,7,16,16,8,0,254,120,204,140,192,112, - 124,158,134,194,242,124,28,4,196,204,120,6,2,2,10,2, - 11,204,204,14,14,28,15,0,0,7,128,24,96,32,16,71, - 200,76,200,152,68,152,4,152,4,152,4,76,72,71,136,32, - 16,24,96,7,128,7,8,8,8,0,6,120,204,60,204,220, - 110,0,254,8,5,5,9,0,3,51,102,204,102,51,9,6, - 12,10,0,2,255,128,255,128,1,128,1,128,1,128,1,128, - 5,3,3,6,0,3,248,248,248,14,14,28,15,0,0,7, - 128,24,96,32,16,95,136,76,200,140,196,140,196,143,132,141, - 132,76,200,94,232,32,16,24,96,7,128,6,2,2,8,1, - 11,252,252,6,6,6,7,0,8,120,204,132,132,204,120,10, - 11,22,11,0,0,12,0,12,0,12,0,255,192,255,192,12, - 0,12,0,12,0,0,0,255,192,255,192,6,8,8,6,0, - 6,120,204,204,24,48,96,196,252,6,8,8,6,0,6,120, - 204,12,56,12,204,204,120,5,4,4,7,1,11,24,56,112, - 192,12,13,26,13,0,252,249,240,112,224,112,224,112,224,112, - 224,112,224,112,224,121,224,110,240,96,0,240,0,240,0,96, - 0,13,14,28,14,0,0,63,248,126,112,254,112,254,112,254, - 112,254,112,126,112,62,112,14,112,14,112,14,112,14,112,14, - 112,31,248,4,4,4,5,0,3,96,240,240,96,4,4,4, - 6,1,252,64,112,48,224,6,8,8,6,0,6,48,240,48, - 48,48,48,48,252,6,8,8,7,0,6,120,204,204,204,204, - 120,0,252,8,5,5,9,0,3,204,102,51,102,204,14,14, - 28,15,0,0,48,96,240,96,48,192,48,192,49,128,49,128, - 51,24,255,56,6,120,6,216,13,152,13,252,24,24,24,60, - 14,14,28,15,0,0,48,96,240,96,48,192,48,192,49,128, - 49,128,51,120,255,204,6,204,6,24,12,48,12,96,24,196, - 24,252,14,14,28,15,0,0,120,96,204,96,12,192,56,192, - 13,128,205,128,207,24,123,56,6,120,6,216,13,152,13,252, - 24,24,24,60,9,14,28,10,0,252,12,0,30,0,30,0, - 12,0,0,0,12,0,24,0,48,0,96,0,227,0,227,128, - 227,128,243,0,124,0,14,19,38,14,255,0,12,0,14,0, - 7,0,1,128,0,0,1,0,1,128,3,128,3,192,5,192, - 4,192,8,224,8,224,16,112,31,240,32,112,32,56,96,56, - 240,124,14,19,38,14,255,0,0,96,0,224,1,192,3,0, - 0,0,1,0,1,128,3,128,3,192,5,192,4,192,8,224, - 8,224,16,112,31,240,32,112,32,56,96,56,240,124,14,19, - 38,14,255,0,1,128,3,192,6,96,12,48,0,0,1,0, - 1,128,3,128,3,192,5,192,4,192,8,224,8,224,16,112, - 31,240,32,112,32,56,96,56,240,124,14,18,36,14,255,0, - 3,144,7,224,9,192,0,0,1,0,1,128,3,128,3,192, - 5,192,4,192,8,224,8,224,16,112,31,240,32,112,32,56, - 96,56,240,124,14,17,34,14,255,0,6,96,6,96,0,0, - 1,0,1,128,3,128,3,192,5,192,4,192,8,224,8,224, - 16,112,31,240,32,112,32,56,96,56,240,124,14,19,38,14, - 255,0,1,128,2,64,2,64,1,128,0,0,1,0,1,128, - 3,128,3,192,5,192,4,192,8,224,8,224,16,112,31,240, - 32,112,32,56,96,56,240,124,20,14,42,21,0,0,3,255, - 240,0,248,112,0,184,48,1,56,144,1,56,144,2,57,128, - 4,63,128,4,57,128,15,248,128,16,56,144,16,56,16,32, - 56,48,96,56,112,240,255,240,12,18,36,14,0,252,15,144, - 60,112,112,48,112,48,224,16,224,16,224,0,224,0,224,0, - 224,16,240,16,112,32,60,96,15,128,2,0,3,128,1,128, - 7,0,11,19,38,13,0,0,48,0,56,0,28,0,6,0, - 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, - 115,0,113,0,113,32,112,32,112,96,112,224,255,224,11,19, - 38,13,0,0,1,128,3,128,7,0,12,0,0,0,255,224, - 112,224,112,96,113,32,113,32,115,0,127,0,115,0,113,0, - 113,32,112,32,112,96,112,224,255,224,11,19,38,13,0,0, - 6,0,15,0,25,128,48,192,0,0,255,224,112,224,112,96, - 113,32,113,32,115,0,127,0,115,0,113,0,113,32,112,32, - 112,96,112,224,255,224,11,17,34,13,0,0,25,128,25,128, - 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, - 115,0,113,0,113,32,112,32,112,96,112,224,255,224,6,19, - 19,9,0,0,192,224,112,24,0,124,56,56,56,56,56,56, - 56,56,56,56,56,56,124,6,19,19,9,1,0,12,28,56, - 96,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, - 8,19,19,9,0,0,24,60,102,195,0,124,56,56,56,56, - 56,56,56,56,56,56,56,56,124,6,17,17,9,1,0,204, - 204,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, - 14,14,28,16,0,0,255,192,112,240,112,56,112,56,112,28, - 112,28,252,28,112,28,112,28,112,28,112,56,112,56,112,240, - 255,192,14,18,36,16,0,0,7,32,15,192,19,128,0,0, - 240,124,120,56,60,16,60,16,62,16,47,16,39,144,35,208, - 33,240,32,240,32,240,32,112,112,48,248,16,14,19,38,16, - 0,0,12,0,14,0,7,0,1,128,0,0,15,192,60,240, - 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,112,56,60,240,15,192,14,19,38,16,0,0,0,192, - 1,192,3,128,6,0,0,0,15,192,60,240,112,56,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, - 60,240,15,192,14,19,38,16,0,0,3,0,7,128,12,192, - 24,96,0,0,15,192,60,240,112,56,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,112,56,112,56,60,240,15,192, - 14,18,36,16,0,0,7,32,15,192,19,128,0,0,15,192, - 60,240,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,60,240,15,192,14,17,34,16,0,0, - 12,192,12,192,0,0,15,192,60,240,112,56,112,56,224,28, - 224,28,224,28,224,28,224,28,224,28,112,56,112,56,60,240, - 15,192,10,10,20,11,0,0,64,128,225,192,115,128,63,0, - 30,0,30,0,63,0,115,128,225,192,64,128,14,15,30,16, - 0,0,0,8,15,208,60,240,112,56,112,88,224,156,225,28, - 225,28,226,28,228,28,232,28,112,56,48,56,60,240,79,192, - 14,19,38,16,0,0,12,0,14,0,7,0,1,128,0,0, - 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,112,16,112,16,56,96,31,192,14,19,38,16, - 0,0,0,96,0,224,1,192,3,0,0,0,248,124,112,56, - 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,56,96,31,192,14,19,38,16,0,0,3,0, - 7,128,12,192,24,96,0,0,248,124,112,56,112,16,112,16, - 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, - 56,96,31,192,14,17,34,16,0,0,12,192,12,192,0,0, - 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,112,16,112,16,56,96,31,192,13,19,38,15, - 0,0,0,96,0,224,1,192,3,0,0,0,252,120,120,48, - 56,32,60,96,28,64,30,128,15,128,7,0,7,0,7,0, - 7,0,7,0,7,0,31,192,12,14,28,14,1,0,248,0, - 112,0,112,0,127,192,113,224,112,240,112,240,112,240,112,240, - 113,224,127,128,112,0,112,0,248,0,11,14,28,12,0,0, - 30,0,51,128,113,192,113,192,113,192,113,128,119,0,113,192, - 112,224,112,224,112,224,112,224,113,192,247,0,10,14,28,11, - 0,0,48,0,56,0,28,0,6,0,0,0,127,0,227,128, - 195,128,7,128,59,128,227,128,227,128,231,128,121,192,10,14, - 28,11,0,0,3,0,7,0,14,0,24,0,0,0,127,0, - 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, - 10,14,28,11,0,0,12,0,30,0,51,0,97,128,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,10,13,26,11,0,0,24,128,63,0,70,0,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,10,12,24,11,0,0,51,0,51,0,0,0,127,0, - 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, - 10,14,28,11,0,0,12,0,18,0,18,0,12,0,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,16,9,18,17,0,0,63,120,99,206,227,135,7,135, - 59,255,227,128,227,129,231,195,120,252,9,13,26,10,0,252, - 31,0,115,128,225,128,224,0,224,0,224,0,224,128,113,128, - 30,0,8,0,14,0,6,0,28,0,10,14,28,11,0,0, - 48,0,56,0,28,0,6,0,0,0,30,0,115,128,225,192, - 225,192,255,192,224,0,224,64,112,192,31,0,10,14,28,11, - 0,0,3,0,7,0,14,0,24,0,0,0,30,0,115,128, - 225,192,225,192,255,192,224,0,224,64,112,192,31,0,10,14, - 28,11,0,0,12,0,30,0,51,0,97,128,0,0,30,0, - 115,128,225,192,225,192,255,192,224,0,224,64,112,192,31,0, - 10,12,24,11,0,0,51,0,51,0,0,0,30,0,115,128, - 225,192,225,192,255,192,224,0,224,64,112,192,31,0,6,14, - 14,6,255,0,192,224,112,24,0,120,56,56,56,56,56,56, - 56,124,6,14,14,6,0,0,12,28,56,96,0,240,112,112, - 112,112,112,112,112,248,8,14,14,6,255,0,24,60,102,195, - 0,120,56,56,56,56,56,56,56,124,5,12,12,6,0,0, - 216,216,0,240,112,112,112,112,112,112,112,248,11,14,28,12, - 0,0,192,0,51,0,28,0,102,0,3,0,31,128,113,192, - 224,224,224,224,224,224,224,224,224,224,113,192,31,0,12,13, - 26,13,0,0,12,64,31,128,35,0,0,0,247,192,121,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,11,14, - 28,12,0,0,48,0,56,0,28,0,6,0,0,0,31,0, - 113,192,224,224,224,224,224,224,224,224,224,224,113,192,31,0, - 11,14,28,12,0,0,1,128,3,128,7,0,12,0,0,0, - 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, - 31,0,11,14,28,12,0,0,6,0,15,0,25,128,48,192, - 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, - 113,192,31,0,11,13,26,12,0,0,24,128,63,0,70,0, - 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, - 113,192,31,0,11,12,24,12,0,0,51,0,51,0,0,0, - 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, - 31,0,10,10,20,11,0,0,12,0,12,0,0,0,0,0, - 255,192,255,192,0,0,0,0,12,0,12,0,10,11,22,11, - 0,255,1,0,31,0,115,128,227,192,229,192,229,192,233,192, - 233,192,115,128,62,0,32,0,12,14,28,13,0,0,24,0, - 28,0,14,0,3,0,0,0,249,240,112,224,112,224,112,224, - 112,224,112,224,112,224,121,224,62,240,12,14,28,13,0,0, - 3,0,7,0,14,0,24,0,0,0,249,240,112,224,112,224, - 112,224,112,224,112,224,112,224,121,224,62,240,12,14,28,13, - 0,0,6,0,15,0,25,128,48,192,0,0,249,240,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,12,12, - 24,13,0,0,25,128,25,128,0,0,249,240,112,224,112,224, - 112,224,112,224,112,224,112,224,121,224,62,240,11,18,36,12, - 0,252,1,128,3,128,7,0,12,0,0,0,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,12,18,36,12,255,252,240,0,112,0, - 112,0,112,0,112,0,119,128,120,224,112,112,112,112,112,112, - 112,112,112,112,120,224,119,128,112,0,112,0,112,0,248,0, - 11,16,32,12,0,252,25,128,25,128,0,0,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=18 x= 4 y=10 dx=20 dy= 0 ascent=16 len=42 - Font Bounding box w=24 h=32 x=-3 y=-8 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB14r[2603] U8G_SECTION(".progmem.u8g_font_ncenB14r") = { - 0,24,32,253,248,14,3,71,7,51,32,127,252,16,252,14, - 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, - 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, - 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, - 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, - 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, - 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, - 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, - 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, - 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, - 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, - 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, - 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, - 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, - 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, - 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, - 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, - 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, - 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, - 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, - 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, - 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, - 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, - 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, - 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, - 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, - 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, - 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, - 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, - 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, - 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, - 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, - 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, - 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, - 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, - 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, - 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, - 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, - 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, - 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, - 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, - 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, - 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, - 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, - 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, - 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, - 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, - 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, - 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, - 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, - 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, - 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, - 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, - 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, - 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, - 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, - 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, - 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, - 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, - 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, - 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, - 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, - 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, - 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, - 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, - 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, - 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, - 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, - 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, - 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, - 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, - 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, - 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, - 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, - 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, - 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, - 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, - 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, - 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, - 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, - 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, - 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, - 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, - 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, - 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, - 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, - 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, - 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, - 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, - 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, - 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, - 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, - 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, - 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, - 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, - 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, - 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, - 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, - 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, - 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, - 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, - 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, - 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, - 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, - 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, - 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, - 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, - 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, - 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, - 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, - 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, - 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, - 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, - 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, - 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, - 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, - 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, - 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, - 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, - 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, - 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, - 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, - 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, - 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, - 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, - 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, - 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, - 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, - 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, - 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, - 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, - 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, - 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, - 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, - 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, - 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, - 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, - 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, - 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, - 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, - 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, - 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, - 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, - 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, - 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, - 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, - 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, - 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, - 6,12,1,4,57,192,127,128,231,0,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 6 y=15 dx=26 dy= 0 ascent=24 len=72 - Font Bounding box w=33 h=40 x=-4 y=-10 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB18[8114] U8G_SECTION(".progmem.u8g_font_ncenB18") = { - 0,33,40,252,246,18,4,68,10,106,32,255,251,24,251,18, - 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, - 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, - 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, - 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, - 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, - 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, - 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, - 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, - 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, - 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, - 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, - 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, - 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, - 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, - 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, - 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, - 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, - 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, - 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, - 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, - 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, - 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, - 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, - 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, - 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, - 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, - 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, - 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, - 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, - 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, - 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, - 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, - 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, - 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, - 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, - 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, - 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, - 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, - 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, - 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, - 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, - 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, - 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, - 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, - 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, - 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, - 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, - 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, - 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, - 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, - 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, - 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, - 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, - 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, - 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, - 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, - 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, - 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, - 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, - 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, - 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, - 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, - 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, - 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, - 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, - 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, - 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, - 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, - 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, - 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, - 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, - 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, - 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, - 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, - 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, - 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, - 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, - 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, - 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, - 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, - 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, - 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, - 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, - 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, - 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, - 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, - 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, - 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, - 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, - 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, - 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, - 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, - 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, - 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, - 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, - 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, - 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, - 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, - 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, - 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, - 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, - 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, - 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, - 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, - 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, - 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, - 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, - 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, - 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, - 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, - 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, - 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, - 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, - 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, - 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, - 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, - 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, - 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, - 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, - 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, - 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, - 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, - 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, - 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, - 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, - 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, - 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, - 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, - 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, - 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, - 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, - 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, - 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, - 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, - 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, - 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, - 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, - 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, - 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, - 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, - 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, - 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, - 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, - 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, - 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, - 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, - 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, - 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, - 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, - 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, - 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, - 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, - 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, - 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, - 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, - 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, - 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, - 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, - 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, - 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, - 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, - 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, - 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, - 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, - 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, - 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, - 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, - 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, - 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, - 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, - 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, - 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, - 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, - 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, - 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, - 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, - 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, - 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, - 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, - 112,255,240,231,224,65,192,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,7,0,1,5,18, - 18,7,1,251,112,248,248,112,0,0,32,32,112,112,112,112, - 112,112,248,248,248,112,12,15,30,14,1,255,0,32,0,64, - 15,192,56,240,121,240,113,96,242,0,242,0,244,0,244,0, - 120,16,120,16,60,96,47,192,64,0,14,18,36,15,0,0, - 3,224,15,48,14,120,30,120,30,48,30,0,30,0,30,0, - 127,224,15,0,15,0,15,0,7,0,7,4,126,12,207,252, - 207,248,113,240,12,12,24,14,1,2,207,48,255,240,127,224, - 112,224,224,112,224,112,224,112,224,112,112,224,127,224,255,240, - 207,48,19,18,54,19,0,0,255,143,224,62,3,0,62,3, - 0,31,6,0,31,6,0,15,140,0,15,140,0,7,216,0, - 7,248,0,31,254,0,1,224,0,1,224,0,31,254,0,1, - 224,0,1,224,0,1,224,0,3,240,0,15,252,0,3,18, - 18,14,6,0,224,224,224,224,224,224,224,0,0,0,224,224, - 224,224,224,224,224,224,11,20,40,13,1,254,31,0,35,128, - 99,128,99,0,120,0,62,0,63,128,71,192,193,224,224,224, - 240,96,124,96,63,64,15,128,3,128,1,128,48,128,112,128, - 113,0,62,0,10,4,8,12,1,14,97,128,243,192,243,192, - 97,128,19,18,54,21,1,0,3,248,0,15,254,0,60,7, - 128,48,1,128,97,248,192,103,24,192,198,8,96,206,0,96, - 206,0,96,206,0,96,206,0,96,199,4,96,103,136,192,97, - 240,192,48,1,128,60,7,128,15,254,0,3,248,0,8,10, - 10,10,1,8,120,206,6,126,198,206,119,0,0,255,11,7, - 14,13,1,3,28,224,57,192,115,128,231,0,115,128,57,192, - 28,224,11,6,12,13,1,4,255,224,255,224,0,96,0,96, - 0,96,0,96,6,3,3,8,1,5,252,252,252,19,18,54, - 21,1,0,3,248,0,15,254,0,60,7,128,48,1,128,103, - 240,192,99,24,192,195,24,96,195,24,96,195,240,96,195,96, - 96,195,48,96,195,48,96,99,24,192,103,156,192,48,1,128, - 60,7,128,15,254,0,3,248,0,8,2,2,10,1,15,255, - 255,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, - 22,14,1,1,6,0,6,0,6,0,255,240,255,240,6,0, - 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, - 124,206,198,198,14,12,24,48,98,254,254,7,11,11,8,0, - 7,124,206,198,6,12,60,14,6,198,206,124,5,5,5,7, - 1,14,24,56,112,96,192,17,17,51,18,0,251,254,63,128, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,63,222,0,39,159, - 128,48,0,0,48,0,0,120,0,0,120,0,0,48,0,0, - 16,18,36,18,1,0,31,255,127,156,127,156,255,156,255,156, - 255,156,127,156,127,156,31,156,3,156,3,156,3,156,3,156, - 3,156,3,156,3,156,3,156,15,255,3,4,4,7,2,5, - 224,224,224,224,5,6,6,7,1,251,16,32,112,56,24,240, - 6,11,11,8,0,7,48,240,48,48,48,48,48,48,48,48, - 252,9,10,20,11,1,8,28,0,99,0,227,128,227,128,227, - 128,99,0,28,0,0,0,0,0,255,128,11,7,14,13,1, - 3,231,0,115,128,57,192,28,224,57,192,115,128,231,0,18, - 18,54,21,1,0,48,6,0,240,6,0,48,12,0,48,24, - 0,48,24,0,48,48,0,48,96,0,48,99,0,48,199,0, - 49,135,0,253,143,0,3,27,0,6,19,0,6,51,0,12, - 99,0,24,127,192,24,3,0,48,7,128,18,18,54,21,1, - 0,48,6,0,240,6,0,48,12,0,48,24,0,48,24,0, - 48,48,0,48,96,0,48,111,128,48,201,192,49,152,192,253, - 152,192,3,1,192,6,1,128,6,3,0,12,6,0,24,12, - 64,24,31,192,48,31,192,19,18,54,21,0,0,124,3,0, - 206,3,0,198,6,0,6,12,0,12,12,0,56,24,0,12, - 48,0,6,49,128,198,99,128,206,195,128,124,197,128,1,141, - 128,3,25,128,3,25,128,6,49,128,12,63,224,12,1,128, - 24,3,192,11,18,36,13,1,251,7,0,15,128,15,128,7, - 0,0,0,0,0,3,0,3,0,6,0,28,0,56,0,112, - 0,240,0,240,192,241,224,241,224,120,192,31,128,19,24,72, - 19,0,0,6,0,0,7,0,0,3,128,0,1,192,0,0, - 96,0,0,0,0,0,96,0,0,96,0,0,240,0,0,240, - 0,1,120,0,1,120,0,3,60,0,2,60,0,2,60,0, - 6,30,0,4,30,0,7,254,0,12,15,0,8,15,0,8, - 15,0,24,7,128,56,7,128,254,31,224,19,24,72,19,0, - 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, - 0,0,0,0,96,0,0,96,0,0,240,0,0,240,0,1, - 120,0,1,120,0,3,60,0,2,60,0,2,60,0,6,30, - 0,4,30,0,7,254,0,12,15,0,8,15,0,8,15,0, - 24,7,128,56,7,128,254,31,224,19,23,69,19,0,0,0, - 96,0,0,240,0,1,152,0,3,12,0,0,0,0,0,96, - 0,0,96,0,0,240,0,0,240,0,1,120,0,1,120,0, - 3,60,0,2,60,0,2,60,0,6,30,0,4,30,0,7, - 254,0,12,15,0,8,15,0,8,15,0,24,7,128,56,7, - 128,254,31,224,19,22,66,19,0,0,0,226,0,1,252,0, - 2,56,0,0,0,0,0,96,0,0,96,0,0,240,0,0, - 240,0,1,120,0,1,120,0,3,60,0,2,60,0,2,60, - 0,6,30,0,4,30,0,7,254,0,12,15,0,8,15,0, - 8,15,0,24,7,128,56,7,128,254,31,224,19,23,69,19, - 0,0,3,156,0,3,156,0,3,156,0,0,0,0,0,0, - 0,0,96,0,0,96,0,0,240,0,0,240,0,1,120,0, - 1,120,0,3,60,0,2,60,0,2,60,0,6,30,0,4, - 30,0,7,254,0,12,15,0,8,15,0,8,15,0,24,7, - 128,56,7,128,254,31,224,19,24,72,19,0,0,0,240,0, - 1,152,0,1,8,0,1,152,0,0,240,0,0,0,0,0, - 96,0,0,96,0,0,240,0,0,240,0,1,120,0,1,120, - 0,3,60,0,2,60,0,2,60,0,6,30,0,4,30,0, - 7,254,0,12,15,0,8,15,0,8,15,0,24,7,128,56, - 7,128,254,31,224,25,18,72,26,0,0,1,255,255,128,0, - 111,3,128,0,111,1,128,0,207,0,128,0,207,0,128,1, - 143,8,128,1,143,8,0,3,15,24,0,3,15,248,0,6, - 15,24,0,7,255,8,0,12,15,8,0,12,15,0,128,24, - 15,0,128,24,15,0,128,48,15,1,128,112,15,3,128,252, - 63,255,128,17,23,69,19,1,251,3,249,128,15,15,128,60, - 3,128,60,1,128,120,1,128,120,0,128,248,0,128,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,120,0,128, - 120,0,128,60,1,0,60,1,0,15,6,0,3,248,0,0, - 128,0,1,192,0,0,224,0,0,96,0,3,192,0,15,24, - 48,18,1,0,12,0,14,0,7,0,1,128,0,192,0,0, - 255,254,60,30,60,6,60,2,60,2,60,34,60,32,60,96, - 63,224,60,96,60,32,60,32,60,2,60,2,60,2,60,6, - 60,30,255,254,15,24,48,18,1,0,0,24,0,56,0,112, - 0,192,1,128,0,0,255,254,60,30,60,6,60,2,60,2, - 60,34,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,2,60,6,60,30,255,254,15,23,46,18,1,0, - 1,128,3,192,6,96,12,48,0,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,23, - 46,18,1,0,14,112,14,112,14,112,0,0,0,0,255,254, - 60,30,60,6,60,2,60,2,60,34,60,32,60,96,63,224, - 60,96,60,32,60,32,60,2,60,2,60,2,60,6,60,30, - 255,254,8,24,24,10,1,0,192,224,112,24,12,0,255,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, - 8,24,24,10,1,0,3,7,14,24,48,0,255,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,255,8,23, - 23,10,1,0,24,60,102,195,0,255,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,255,8,23,23,10,1, - 0,231,231,231,0,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,255,135,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,20,22,66,22,1,0,0,226,0,1,252,0, - 2,56,0,0,0,0,252,7,240,62,1,192,31,0,128,31, - 128,128,31,192,128,23,224,128,19,240,128,17,240,128,16,248, - 128,16,124,128,16,126,128,16,63,128,16,31,128,16,15,128, - 16,7,128,16,3,128,56,1,128,254,0,128,19,24,72,21, - 1,0,6,0,0,7,0,0,3,128,0,0,192,0,0,96, - 0,0,0,0,3,248,0,15,30,0,60,7,128,60,7,128, - 120,3,192,120,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,120,3,192,120,3,192,60,7, - 128,60,7,128,15,30,0,3,248,0,19,23,69,21,1,0, - 0,24,0,0,56,0,0,96,0,0,192,0,0,0,0,3, - 248,0,15,30,0,60,7,128,60,7,128,120,3,192,120,3, - 192,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,120,3,192,120,3,192,60,7,128,60,7,128,15, - 30,0,3,248,0,19,23,69,21,1,0,0,96,0,0,240, - 0,1,152,0,3,12,0,0,0,0,3,248,0,15,30,0, - 60,7,128,60,7,128,120,3,192,120,3,192,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,120,3, - 192,120,3,192,60,7,128,60,7,128,15,30,0,3,248,0, - 19,22,66,21,1,0,0,226,0,1,252,0,2,56,0,0, - 0,0,3,248,0,15,30,0,60,7,128,60,7,128,120,3, - 192,120,3,192,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,120,3,192,120,3,192,60,7,128,60, - 7,128,15,30,0,3,248,0,19,23,69,21,1,0,7,28, - 0,7,28,0,7,28,0,0,0,0,0,0,0,3,248,0, - 15,30,0,60,7,128,60,7,128,120,3,192,120,3,192,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,120,3,192,120,3,192,60,7,128,60,7,128,15,30,0, - 3,248,0,12,12,24,14,1,1,192,48,224,112,112,224,57, - 192,31,128,15,0,15,0,31,128,57,192,112,224,224,112,192, - 48,20,18,54,21,0,0,1,252,48,7,143,96,30,3,192, - 30,3,192,60,7,224,60,13,224,124,25,240,124,49,240,124, - 97,240,124,193,240,125,129,240,127,1,240,62,1,224,60,1, - 224,62,3,192,126,3,192,199,143,0,129,252,0,19,24,72, - 21,1,0,3,0,0,3,128,0,1,192,0,0,96,0,0, - 48,0,0,0,0,255,15,224,60,3,128,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,30,2,0,31,142,0,7,248,0,19,24,72,21,1, - 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, - 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 30,2,0,31,142,0,7,248,0,19,23,69,21,1,0,0, - 96,0,0,240,0,1,152,0,3,12,0,0,0,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,30,2,0,31,142, - 0,7,248,0,19,23,69,21,1,0,7,28,0,7,28,0, - 7,28,0,0,0,0,0,0,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,30,2,0,31,142,0,7,248,0,18, - 24,72,18,0,0,0,6,0,0,14,0,0,28,0,0,48, - 0,0,96,0,0,0,0,255,15,192,60,3,0,30,6,0, - 30,6,0,15,12,0,15,12,0,7,152,0,7,152,0,3, - 240,0,3,240,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,7,248,0,16,18,36, - 18,1,0,255,128,60,0,60,0,60,0,63,248,60,62,60, - 30,60,31,60,31,60,31,60,31,60,30,60,62,63,240,60, - 0,60,0,60,0,255,128,15,18,36,15,255,0,7,224,30, - 120,28,60,60,60,60,60,60,56,60,112,61,224,60,60,60, - 30,60,30,60,30,60,30,60,30,60,30,60,28,61,60,253, - 240,14,18,36,15,0,0,12,0,14,0,7,0,3,0,1, - 128,0,0,127,128,241,224,240,240,96,240,1,240,14,240,120, - 240,240,240,240,240,240,240,249,252,126,56,14,18,36,15,0, - 0,1,128,3,128,7,0,6,0,12,0,0,0,127,128,241, - 224,240,240,96,240,1,240,14,240,120,240,240,240,240,240,240, - 240,249,252,126,56,14,18,36,15,0,0,2,0,7,0,15, - 128,24,192,48,96,0,0,127,128,241,224,240,240,96,240,1, - 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, - 17,34,15,0,0,14,32,31,192,35,128,0,0,0,0,127, - 128,241,224,240,240,96,240,1,240,14,240,120,240,240,240,240, - 240,240,240,249,252,126,56,14,17,34,15,0,0,56,224,56, - 224,56,224,0,0,0,0,127,128,241,224,240,240,96,240,1, - 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, - 18,36,15,0,0,7,0,13,128,8,128,13,128,7,0,0, - 0,127,128,241,224,240,240,96,240,1,240,14,240,120,240,240, - 240,240,240,240,240,249,252,126,56,22,12,36,23,0,0,31, - 207,192,121,248,112,112,248,120,112,240,56,1,240,60,14,255, - 252,120,240,0,240,240,0,240,248,8,240,248,8,249,188,48, - 126,15,224,13,17,34,14,0,251,15,240,56,120,120,120,112, - 48,240,0,240,0,240,0,240,0,120,8,120,8,60,48,31, - 224,2,0,7,0,3,128,1,128,15,0,14,18,36,15,0, - 0,12,0,14,0,7,0,3,0,1,128,0,0,15,192,56, - 112,120,120,112,56,240,60,255,252,240,0,240,0,120,8,120, - 8,60,48,15,224,14,18,36,15,0,0,0,96,0,224,1, - 192,3,128,6,0,0,0,15,192,56,112,120,120,112,56,240, - 60,255,252,240,0,240,0,120,8,120,8,60,48,15,224,14, - 18,36,15,0,0,2,0,7,0,15,128,24,192,48,96,0, - 0,15,192,56,112,120,120,112,56,240,60,255,252,240,0,240, - 0,120,8,120,8,60,48,15,224,14,17,34,15,0,0,28, - 112,28,112,28,112,0,0,0,0,15,192,56,112,120,120,112, - 56,240,60,255,252,240,0,240,0,120,8,120,8,60,48,15, - 224,8,18,18,9,0,0,96,112,56,24,12,0,252,60,60, - 60,60,60,60,60,60,60,60,255,8,18,18,9,0,0,12, - 28,56,48,96,0,252,60,60,60,60,60,60,60,60,60,60, - 255,9,18,36,9,0,0,8,0,28,0,62,0,99,0,193, - 128,0,0,252,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,255,0,8,17,17,9,0, - 0,231,231,231,0,0,252,60,60,60,60,60,60,60,60,60, - 60,255,14,18,36,15,0,0,192,0,57,192,15,0,15,0, - 49,192,0,224,15,240,56,112,120,120,112,56,240,60,240,60, - 240,60,240,60,112,56,120,120,56,112,15,192,17,17,51,18, - 0,0,3,136,0,7,240,0,8,224,0,0,0,0,0,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,18,36,15,0,0,12,0,14,0,7, - 0,3,0,1,128,0,0,15,192,56,112,120,120,112,56,240, - 60,240,60,240,60,240,60,112,56,120,120,56,112,15,192,14, - 18,36,15,0,0,0,96,0,224,1,192,3,0,6,0,0, - 0,15,192,56,112,120,120,112,56,240,60,240,60,240,60,240, - 60,112,56,120,120,56,112,15,192,14,18,36,15,0,0,2, - 0,7,0,15,128,24,192,48,96,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,14,17,34,15,0,0,7,16,15,224,17,192,0, - 0,0,0,15,192,56,112,120,120,112,56,240,60,240,60,240, - 60,240,60,112,56,120,120,56,112,15,192,14,17,34,15,0, - 0,56,224,56,224,56,224,0,0,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,12,12,24,14,1,1,6,0,6,0,6,0,0, - 0,0,0,255,240,255,240,0,0,0,0,6,0,6,0,6, - 0,14,18,36,15,0,253,0,16,0,16,0,32,15,224,56, - 112,120,120,112,184,240,188,241,60,241,60,242,60,114,56,124, - 120,60,112,15,192,8,0,16,0,16,0,17,18,54,18,0, - 0,3,0,0,3,128,0,1,192,0,0,192,0,0,96,0, - 0,0,0,254,63,128,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,62,62, - 0,31,222,0,15,159,128,17,18,54,18,0,0,0,96,0, - 0,224,0,1,192,0,1,128,0,3,0,0,0,0,0,254, - 63,128,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,62,62,0,31,222,0, - 15,159,128,17,18,54,18,0,0,0,128,0,1,192,0,3, - 224,0,6,48,0,12,24,0,0,0,0,254,63,128,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,62,62,0,31,222,0,15,159,128,17, - 17,51,18,0,0,14,56,0,14,56,0,14,56,0,0,0, - 0,0,0,0,254,63,128,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,62, - 62,0,31,222,0,15,159,128,16,23,46,15,255,251,0,48, - 0,112,0,224,0,192,1,128,0,0,254,63,60,12,30,8, - 30,24,15,16,15,48,7,160,7,224,3,192,3,192,1,192, - 1,128,1,128,97,0,243,0,254,0,120,0,16,23,46,16, - 255,251,252,0,60,0,60,0,60,0,60,0,60,0,61,240, - 63,28,60,30,60,14,60,15,60,15,60,15,60,15,60,14, - 62,30,63,28,61,240,60,0,60,0,60,0,60,0,255,0, - 16,22,44,15,255,251,14,56,14,56,14,56,0,0,0,0, - 254,63,60,12,30,8,30,24,15,16,15,48,7,160,7,224, - 3,192,3,192,1,192,1,128,1,128,97,0,243,0,254,0, - 120,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=23 x= 6 y=13 dx=26 dy= 0 ascent=20 len=72 - Font Bounding box w=33 h=40 x=-4 y=-10 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB18r[3736] U8G_SECTION(".progmem.u8g_font_ncenB18r") = { - 0,33,40,252,246,18,4,68,10,106,32,127,251,20,251,18, - 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, - 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, - 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, - 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, - 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, - 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, - 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, - 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, - 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, - 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, - 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, - 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, - 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, - 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, - 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, - 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, - 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, - 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, - 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, - 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, - 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, - 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, - 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, - 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, - 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, - 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, - 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, - 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, - 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, - 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, - 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, - 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, - 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, - 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, - 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, - 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, - 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, - 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, - 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, - 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, - 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, - 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, - 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, - 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, - 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, - 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, - 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, - 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, - 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, - 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, - 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, - 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, - 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, - 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, - 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, - 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, - 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, - 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, - 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, - 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, - 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, - 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, - 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, - 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, - 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, - 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, - 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, - 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, - 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, - 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, - 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, - 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, - 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, - 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, - 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, - 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, - 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, - 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, - 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, - 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, - 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, - 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, - 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, - 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, - 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, - 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, - 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, - 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, - 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, - 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, - 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, - 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, - 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, - 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, - 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, - 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, - 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, - 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, - 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, - 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, - 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, - 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, - 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, - 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, - 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, - 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, - 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, - 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, - 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, - 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, - 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, - 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, - 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, - 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, - 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, - 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, - 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, - 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, - 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, - 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, - 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, - 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, - 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, - 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, - 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, - 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, - 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, - 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, - 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, - 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, - 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, - 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, - 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, - 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, - 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, - 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, - 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, - 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, - 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, - 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, - 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, - 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, - 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, - 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, - 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, - 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, - 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, - 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, - 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, - 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, - 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, - 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, - 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, - 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, - 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, - 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, - 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, - 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, - 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, - 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, - 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, - 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, - 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, - 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, - 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, - 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, - 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, - 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, - 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, - 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, - 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, - 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, - 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, - 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, - 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, - 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, - 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, - 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, - 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, - 112,255,240,231,224,65,192,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=32 h=33 x= 8 y=18 dx=33 dy= 0 ascent=33 len=132 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =33 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24[12964] U8G_SECTION(".progmem.u8g_font_ncenB24") = { - 0,39,53,252,243,25,6,143,16,147,32,255,249,33,249,25, - 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, - 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, - 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, - 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, - 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, - 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, - 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, - 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, - 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, - 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, - 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, - 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, - 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, - 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, - 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, - 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, - 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, - 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, - 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, - 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, - 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, - 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, - 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, - 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, - 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, - 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, - 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, - 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, - 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, - 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, - 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, - 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, - 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, - 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, - 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, - 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, - 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, - 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, - 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, - 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, - 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, - 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, - 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, - 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, - 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, - 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, - 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, - 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, - 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, - 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, - 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, - 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, - 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, - 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, - 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, - 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, - 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, - 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, - 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, - 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, - 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, - 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, - 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, - 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, - 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, - 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, - 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, - 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, - 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, - 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, - 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, - 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, - 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, - 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, - 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, - 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, - 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, - 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, - 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, - 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, - 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, - 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, - 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, - 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, - 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, - 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, - 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, - 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, - 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, - 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, - 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, - 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, - 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, - 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, - 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, - 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, - 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, - 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, - 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, - 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, - 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, - 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, - 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, - 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, - 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, - 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, - 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, - 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, - 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, - 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, - 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, - 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, - 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, - 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, - 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, - 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, - 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, - 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, - 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, - 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, - 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, - 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, - 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, - 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, - 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, - 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, - 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, - 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, - 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, - 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, - 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, - 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, - 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, - 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, - 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, - 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, - 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, - 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, - 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, - 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, - 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, - 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, - 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, - 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, - 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, - 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, - 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, - 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, - 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, - 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, - 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, - 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, - 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, - 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, - 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, - 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, - 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, - 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, - 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, - 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, - 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, - 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, - 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, - 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, - 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, - 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, - 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, - 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, - 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, - 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, - 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, - 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, - 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, - 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, - 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, - 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, - 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, - 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, - 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, - 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, - 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, - 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, - 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, - 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, - 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, - 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, - 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, - 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, - 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, - 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, - 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, - 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, - 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, - 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, - 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, - 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, - 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, - 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, - 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, - 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, - 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, - 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, - 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, - 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, - 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, - 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, - 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, - 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, - 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, - 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, - 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, - 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, - 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, - 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, - 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, - 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, - 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, - 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, - 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, - 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, - 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, - 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, - 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, - 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, - 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, - 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, - 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, - 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, - 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, - 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, - 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, - 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, - 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, - 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, - 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, - 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, - 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, - 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, - 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, - 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, - 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, - 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, - 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, - 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, - 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, - 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, - 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, - 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, - 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, - 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, - 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, - 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, - 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, - 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, - 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, - 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, - 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, - 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, - 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, - 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, - 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, - 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, - 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, - 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, - 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, - 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, - 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, - 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, - 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, - 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, - 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, - 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, - 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, - 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, - 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, - 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, - 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, - 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, - 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, - 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, - 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, - 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, - 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, - 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,9,1,1,6,25,25,10,2,249,120,252,252, - 252,252,120,0,0,48,48,48,48,48,48,120,120,120,120,124, - 252,252,252,252,252,120,15,22,44,19,1,253,0,6,0,6, - 0,12,3,252,14,124,60,62,124,62,120,126,248,126,248,220, - 248,192,249,128,253,128,255,2,255,6,126,6,63,28,31,248, - 15,224,24,0,24,0,48,0,17,24,72,19,1,0,1,248, - 0,7,252,0,15,142,0,15,15,0,31,31,0,31,31,0, - 31,31,0,31,14,0,15,0,0,15,0,0,7,128,0,127, - 248,0,127,248,0,7,128,0,7,128,0,7,128,0,3,128, - 0,3,129,128,123,3,128,255,199,0,199,255,0,199,254,0, - 253,254,0,120,124,0,16,16,32,19,1,3,99,198,247,239, - 255,254,127,252,60,62,120,30,112,14,112,14,112,14,112,14, - 120,30,60,60,127,254,255,255,247,239,99,198,19,24,72,19, - 0,0,255,31,224,255,31,224,124,7,128,62,7,0,62,7, - 0,31,6,0,31,14,0,15,140,0,15,140,0,7,216,0, - 7,216,0,3,240,0,31,254,0,31,254,0,1,224,0,1, - 224,0,31,254,0,31,254,0,1,224,0,1,224,0,1,224, - 0,1,224,0,15,252,0,15,252,0,4,25,25,20,8,0, - 240,240,240,240,240,240,240,240,240,240,0,0,0,0,0,240, - 240,240,240,240,240,240,240,240,240,12,29,58,16,2,253,31, - 0,115,128,99,192,227,192,227,192,241,128,120,0,124,0,62, - 0,30,0,63,0,111,128,199,192,227,224,225,224,240,240,120, - 112,124,112,62,96,31,192,15,128,7,192,3,224,97,224,240, - 224,240,224,240,224,121,192,63,0,11,5,10,11,0,18,96, - 192,241,224,241,224,241,224,96,192,24,25,75,25,1,0,0, - 255,0,3,255,192,7,129,224,30,0,112,24,0,24,48,0, - 12,112,127,14,96,243,134,97,193,134,227,193,135,195,128,131, - 195,128,3,195,128,3,195,128,3,195,128,3,195,128,7,193, - 192,134,225,225,134,96,255,12,112,60,28,56,0,56,28,0, - 112,15,129,192,3,255,128,0,254,0,11,15,30,12,0,10, - 63,0,227,192,241,192,227,192,15,192,113,192,225,192,227,192, - 247,224,253,224,0,0,0,0,0,0,255,224,255,224,12,11, - 22,16,2,3,4,16,12,48,24,96,56,224,113,192,243,192, - 113,192,56,224,24,96,12,48,4,16,16,10,20,20,2,3, - 255,255,255,255,255,255,255,255,0,15,0,15,0,15,0,15, - 0,15,0,15,8,4,4,11,1,6,255,255,255,255,23,25, - 75,24,0,0,0,254,0,3,255,128,7,1,224,12,0,112, - 24,0,56,48,0,24,97,254,12,96,231,12,192,227,142,192, - 227,134,192,227,134,192,231,6,192,252,6,192,238,6,192,231, - 6,192,231,6,192,227,134,96,227,140,99,241,204,48,0,24, - 24,0,24,28,0,112,7,0,224,3,255,128,0,252,0,11, - 3,6,11,0,18,255,224,255,224,255,224,9,10,20,13,2, - 13,62,0,127,0,99,0,193,128,193,128,193,128,193,128,99, - 0,127,0,62,0,16,17,34,20,2,0,3,192,3,192,3, - 192,3,192,255,255,255,255,255,255,255,255,3,192,3,192,3, - 192,3,192,0,0,255,255,255,255,255,255,255,255,10,14,28, - 11,0,9,63,0,99,128,193,192,241,192,241,192,113,192,3, - 128,7,0,14,0,24,64,48,64,127,192,255,192,255,192,11, - 14,28,11,0,9,63,0,115,192,113,192,33,192,1,192,3, - 128,31,0,3,192,1,224,113,224,241,224,225,224,99,192,63, - 0,7,6,6,11,2,17,12,30,62,124,240,192,20,23,69, - 22,1,249,254,63,192,254,63,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,15,192,62,15,192,63,31,192,63,255,192,63,247,240, - 55,199,240,48,0,0,48,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,48,0,0,21,25,75,25,1,0,15,255, - 248,63,255,248,127,227,192,127,227,192,255,227,192,255,227,192, - 255,227,192,255,227,192,127,227,192,127,227,192,63,227,192,31, - 227,192,7,227,192,1,227,192,1,227,192,1,227,192,1,227, - 192,1,227,192,1,227,192,1,227,192,1,227,192,1,227,192, - 1,227,192,15,255,248,15,255,248,6,6,6,9,1,5,120, - 252,252,252,252,120,7,7,7,11,1,249,24,48,124,14,14, - 220,120,9,14,28,11,1,9,12,0,252,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,11,15,30,12,0,10,14,0,63,128,113,192, - 241,224,224,224,224,224,224,224,241,224,113,192,63,128,14,0, - 0,0,0,0,127,224,127,224,12,11,22,16,2,3,130,0, - 195,0,97,128,113,192,56,224,60,240,56,224,113,192,97,128, - 195,0,130,0,25,23,92,28,1,0,12,0,56,0,252,0, - 48,0,28,0,112,0,28,0,224,0,28,0,192,0,28,1, - 192,0,28,1,128,0,28,3,128,0,28,7,0,0,28,7, - 2,0,28,14,6,0,28,12,14,0,28,28,30,0,255,184, - 62,0,0,56,110,0,0,112,206,0,0,97,142,0,0,227, - 14,0,0,195,255,128,1,192,14,0,3,128,14,0,3,0, - 14,0,7,0,63,128,25,23,92,28,1,0,12,0,56,0, - 252,0,112,0,28,0,112,0,28,0,224,0,28,0,192,0, - 28,1,192,0,28,1,128,0,28,3,128,0,28,7,0,0, - 28,6,126,0,28,14,199,0,28,13,135,128,28,29,227,128, - 255,185,231,128,0,56,231,128,0,112,15,0,0,96,14,0, - 0,224,28,0,1,192,48,128,1,192,96,128,3,128,255,128, - 3,1,255,128,7,1,255,128,26,23,92,28,0,0,63,0, - 28,0,115,192,56,0,113,192,56,0,33,192,112,0,1,192, - 96,0,3,128,224,0,31,0,192,0,3,193,192,0,1,227, - 128,0,113,227,129,0,241,231,3,0,225,230,7,0,99,206, - 15,0,63,28,31,0,0,28,55,0,0,56,103,0,0,48, - 199,0,0,113,135,0,0,97,255,192,0,224,7,0,1,192, - 7,0,1,192,7,0,3,128,31,192,15,25,50,16,1,249, - 3,192,7,224,7,224,7,224,7,224,3,192,0,0,0,0, - 1,128,1,128,1,128,3,128,7,0,31,0,62,0,126,0, - 124,0,252,124,252,124,252,126,252,124,124,60,126,60,63,240, - 15,192,25,31,124,25,0,0,0,48,0,0,0,120,0,0, - 0,124,0,0,0,62,0,0,0,15,0,0,0,3,0,0, - 0,0,0,0,0,28,0,0,0,30,0,0,0,62,0,0, - 0,63,0,0,0,127,0,0,0,127,128,0,0,127,128,0, - 0,255,128,0,0,207,192,0,1,207,192,0,1,143,192,0, - 1,135,224,0,3,135,224,0,3,7,240,0,7,3,240,0, - 7,255,240,0,7,255,248,0,14,1,248,0,12,1,252,0, - 28,0,252,0,28,0,254,0,62,0,254,0,255,131,255,128, - 255,131,255,128,25,32,128,25,0,0,0,1,128,0,0,3, - 192,0,0,7,192,0,0,15,128,0,0,30,0,0,0,24, - 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, - 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, - 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, - 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, - 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, - 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, - 254,0,255,131,255,128,255,131,255,128,25,31,124,25,0,0, - 0,28,0,0,0,62,0,0,0,127,0,0,0,227,128,0, - 1,128,192,0,0,0,0,0,0,28,0,0,0,28,0,0, - 0,30,0,0,0,62,0,0,0,63,0,0,0,127,0,0, - 0,127,128,0,0,127,128,0,0,255,128,0,0,207,192,0, - 1,207,192,0,1,143,192,0,1,135,224,0,3,135,224,0, - 3,7,240,0,7,3,240,0,7,255,240,0,7,255,248,0, - 14,1,248,0,12,1,252,0,28,0,252,0,28,0,254,0, - 62,0,254,0,255,131,255,128,255,131,255,128,25,31,124,25, - 0,0,0,56,96,0,0,127,224,0,0,255,192,0,0,195, - 128,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28, - 0,0,0,30,0,0,0,62,0,0,0,63,0,0,0,127, - 0,0,0,127,128,0,0,127,128,0,0,255,128,0,0,207, - 192,0,1,207,192,0,1,143,192,0,1,135,224,0,3,135, - 224,0,3,7,240,0,7,3,240,0,7,255,240,0,7,255, - 248,0,14,1,248,0,12,1,252,0,28,0,252,0,28,0, - 254,0,62,0,254,0,255,131,255,128,255,131,255,128,25,31, - 124,25,0,0,0,193,128,0,1,227,192,0,1,227,192,0, - 1,227,192,0,0,193,128,0,0,0,0,0,0,28,0,0, - 0,28,0,0,0,30,0,0,0,62,0,0,0,63,0,0, - 0,127,0,0,0,127,128,0,0,127,128,0,0,255,128,0, - 0,207,192,0,1,207,192,0,1,143,192,0,1,135,224,0, - 3,135,224,0,3,7,240,0,7,3,240,0,7,255,240,0, - 7,255,248,0,14,1,248,0,12,1,252,0,28,0,252,0, - 28,0,254,0,62,0,254,0,255,131,255,128,255,131,255,128, - 25,33,132,25,0,0,0,62,0,0,0,119,0,0,0,99, - 0,0,0,99,0,0,0,119,0,0,0,62,0,0,0,0, - 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, - 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, - 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, - 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, - 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, - 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, - 254,0,255,131,255,128,255,131,255,128,31,25,100,33,255,0, - 1,255,255,254,1,255,255,254,0,123,240,126,0,59,240,62, - 0,51,240,30,0,51,240,14,0,115,240,6,0,99,240,198, - 0,227,240,198,0,195,241,194,1,195,241,192,1,131,243,192, - 3,131,255,192,3,3,255,192,7,255,243,192,7,255,241,192, - 14,3,240,198,14,3,240,198,12,3,240,198,28,3,240,14, - 24,3,240,14,56,3,240,30,124,3,240,126,255,31,255,254, - 255,31,255,254,22,32,96,24,1,249,0,126,24,3,255,184, - 7,193,248,31,128,248,31,0,120,62,0,56,126,0,56,126, - 0,24,254,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,254,0,0,254,0,12,254,0,28, - 126,0,24,126,0,56,63,0,48,31,128,112,15,193,224,7, - 255,192,0,255,0,0,48,0,0,96,0,0,248,0,0,28, - 0,0,28,0,1,184,0,0,240,0,21,32,96,23,1,0, - 0,192,0,1,224,0,1,240,0,0,248,0,0,60,0,0, - 12,0,0,0,0,255,255,248,255,255,248,31,129,248,31,128, - 248,31,128,120,31,128,56,31,128,56,31,134,24,31,134,24, - 31,142,0,31,142,0,31,158,0,31,254,0,31,254,0,31, - 158,0,31,142,0,31,134,24,31,134,24,31,134,24,31,128, - 56,31,128,56,31,128,120,31,129,248,255,255,248,255,255,248, - 21,32,96,23,1,0,0,3,0,0,7,128,0,15,128,0, - 31,0,0,60,0,0,48,0,0,0,0,255,255,248,255,255, - 248,31,129,248,31,128,248,31,128,120,31,128,56,31,128,56, - 31,134,24,31,134,24,31,142,0,31,142,0,31,158,0,31, - 254,0,31,254,0,31,158,0,31,142,0,31,134,24,31,134, - 24,31,134,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,21,32,96,23,1,0,0,56,0,0, - 124,0,0,254,0,1,199,0,3,1,128,0,0,0,0,0, - 0,255,255,248,255,255,248,31,129,248,31,128,248,31,128,120, - 31,128,56,31,128,56,31,134,24,31,134,24,31,142,0,31, - 142,0,31,158,0,31,254,0,31,254,0,31,158,0,31,142, - 0,31,134,24,31,134,24,31,134,24,31,128,56,31,128,56, - 31,128,120,31,129,248,255,255,248,255,255,248,21,32,96,23, - 1,0,1,131,0,3,199,128,3,199,128,3,199,128,1,131, - 0,0,0,0,0,0,0,255,255,248,255,255,248,31,129,248, - 31,128,248,31,128,120,31,128,56,31,128,56,31,134,24,31, - 134,24,31,142,0,31,142,0,31,158,0,31,254,0,31,254, - 0,31,158,0,31,142,0,31,134,24,31,134,24,31,134,24, - 31,128,56,31,128,56,31,128,120,31,129,248,255,255,248,255, - 255,248,12,33,66,14,1,0,48,0,120,0,124,0,62,0, - 15,0,3,0,0,0,0,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,12,33,66,14,1,0, - 0,192,1,224,3,224,7,192,15,0,12,0,0,0,0,0, - 255,240,255,240,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,255,240, - 255,240,12,32,64,14,1,0,7,0,15,128,31,192,56,224, - 96,48,0,0,0,0,255,240,255,240,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,240,255,240,12,32,64,14,1,0,48,96, - 120,240,120,240,120,240,48,96,0,0,0,0,255,240,255,240, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,255,240,255,240,24,25, - 75,26,1,0,255,255,0,255,255,224,31,131,240,31,129,248, - 31,128,252,31,128,124,31,128,126,31,128,126,31,128,127,31, - 128,63,31,128,63,31,128,63,255,248,63,255,248,63,31,128, - 63,31,128,63,31,128,63,31,128,127,31,128,126,31,128,126, - 31,128,252,31,128,248,31,131,240,255,255,224,255,255,0,27, - 31,124,27,0,0,0,56,96,0,0,127,224,0,0,255,192, - 0,0,195,128,0,0,0,0,0,0,0,0,0,255,128,127, - 224,255,192,127,224,63,224,15,0,15,224,6,0,15,240,6, - 0,15,248,6,0,15,252,6,0,13,254,6,0,12,254,6, - 0,12,255,6,0,12,127,134,0,12,63,198,0,12,31,230, - 0,12,15,230,0,12,15,246,0,12,7,254,0,12,3,254, - 0,12,1,254,0,12,0,254,0,12,0,126,0,12,0,126, - 0,12,0,62,0,30,0,30,0,255,192,14,0,255,192,6, - 0,24,32,96,26,1,0,1,128,0,3,192,0,3,224,0, - 1,240,0,0,120,0,0,24,0,0,0,0,0,126,0,3, - 255,192,15,193,240,31,128,248,63,0,252,62,0,124,126,0, - 126,126,0,126,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,126, - 0,126,126,0,126,62,0,124,63,0,252,31,128,248,15,193, - 240,3,255,192,0,126,0,24,32,96,26,1,0,0,0,192, - 0,1,224,0,3,224,0,7,192,0,15,0,0,12,0,0, - 0,0,0,126,0,3,255,192,15,193,240,31,128,248,63,0, - 252,62,0,124,126,0,126,126,0,126,252,0,63,252,0,63, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,126,0,126,126,0,126,62,0,124,63,0, - 252,31,128,248,15,193,240,3,255,192,0,126,0,24,32,96, - 26,1,0,0,28,0,0,62,0,0,127,0,0,227,128,1, - 128,192,0,0,0,0,0,0,0,126,0,3,255,192,15,193, - 240,31,128,248,63,0,252,62,0,124,126,0,126,126,0,126, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,126,0,126,126,0, - 126,62,0,124,63,0,252,31,128,248,15,193,240,3,255,192, - 0,126,0,24,31,93,26,1,0,0,112,192,0,255,192,1, - 255,128,1,135,0,0,0,0,0,0,0,0,126,0,3,255, - 192,15,193,240,31,128,248,63,0,252,62,0,124,126,0,126, - 126,0,126,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,252,0,63,126,0, - 126,126,0,126,62,0,124,63,0,252,31,128,248,15,193,240, - 3,255,192,0,126,0,24,32,96,26,1,0,0,193,128,1, - 227,192,1,227,192,1,227,192,0,193,128,0,0,0,0,0, - 0,0,126,0,3,255,192,15,193,240,31,128,248,63,0,252, - 62,0,124,126,0,126,126,0,126,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,252,0,63,252,0, - 63,252,0,63,126,0,126,126,0,126,62,0,124,63,0,252, - 31,128,248,15,193,240,3,255,192,0,126,0,16,17,34,20, - 2,0,32,4,112,14,248,31,252,63,126,126,63,252,31,248, - 15,240,7,224,15,240,31,248,63,252,126,126,252,63,248,31, - 112,14,32,4,24,27,81,26,1,255,0,0,12,0,126,24, - 3,255,248,7,195,240,31,128,248,31,0,248,62,0,252,126, - 1,254,126,3,126,254,7,127,252,6,63,252,12,63,252,28, - 63,252,24,63,252,48,63,252,96,63,252,224,63,254,192,127, - 127,128,126,127,128,126,63,0,124,31,0,248,31,128,248,15, - 193,224,27,255,192,48,126,0,48,0,0,26,32,128,28,1, - 0,0,48,0,0,0,120,0,0,0,124,0,0,0,62,0, - 0,0,15,0,0,0,3,0,0,0,0,0,0,255,240,255, - 192,255,240,255,192,31,128,30,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,28,0,15,192,24, - 0,15,224,56,0,7,248,240,0,3,255,224,0,0,255,192, - 0,26,32,128,28,1,0,0,0,96,0,0,0,240,0,0, - 1,240,0,0,3,224,0,0,7,128,0,0,6,0,0,0, - 0,0,0,255,240,255,192,255,240,255,192,31,128,30,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,28,0,15,192,24,0,15,224,56,0,7,248,240,0,3, - 255,224,0,0,255,192,0,26,32,128,28,1,0,0,14,0, - 0,0,31,0,0,0,63,128,0,0,113,192,0,0,192,96, - 0,0,0,0,0,0,0,0,0,255,240,255,192,255,240,255, - 192,31,128,30,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,28,0,15,192,24,0,15,224,56, - 0,7,248,240,0,3,255,224,0,0,255,192,0,26,32,128, - 28,1,0,0,48,96,0,0,120,240,0,0,120,240,0,0, - 120,240,0,0,48,96,0,0,0,0,0,0,0,0,0,255, - 240,255,192,255,240,255,192,31,128,30,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,28,0,15, - 192,24,0,15,224,56,0,7,248,240,0,3,255,224,0,0, - 255,192,0,24,33,99,24,0,0,0,0,96,0,0,240,0, - 1,240,0,3,224,0,7,128,0,6,0,0,0,0,0,0, - 0,255,241,255,255,241,255,63,128,124,31,192,56,31,192,112, - 15,224,112,15,224,224,7,240,192,3,241,192,3,249,128,1, - 251,128,1,255,0,0,255,0,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,3,255,192,3,255,192,22,25,75,24, - 1,0,255,240,0,255,240,0,31,128,0,31,128,0,31,128, - 0,31,255,128,31,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,240,0,255,240,0,18,25,75, - 20,0,0,3,252,0,7,190,0,15,15,0,15,15,0,31, - 15,128,31,15,128,31,15,128,31,15,0,31,15,0,31,14, - 0,31,28,0,31,126,0,31,15,128,31,15,128,31,7,192, - 31,7,192,31,7,192,31,7,192,31,7,192,31,7,192,31, - 7,128,31,7,128,31,79,0,255,254,0,255,120,0,18,23, - 69,20,1,0,3,0,0,7,128,0,7,192,0,3,224,0, - 0,240,0,0,48,0,0,0,0,15,240,0,63,252,0,120, - 62,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,18,23,69,20,1,0,0, - 96,0,0,240,0,1,240,0,3,224,0,7,128,0,6,0, - 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, - 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, - 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, - 192,63,143,128,18,22,66,20,1,0,1,192,0,3,224,0, - 7,240,0,14,56,0,24,12,0,0,0,0,15,240,0,63, - 252,0,120,62,0,124,62,0,124,62,0,56,62,0,0,62, - 0,3,254,0,31,190,0,126,62,0,124,62,0,252,62,0, - 252,62,0,252,127,64,127,255,192,63,143,128,18,22,66,20, - 1,0,7,12,0,15,252,0,31,248,0,24,112,0,0,0, - 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, - 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, - 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, - 192,63,143,128,18,23,69,20,1,0,12,24,0,30,60,0, - 30,60,0,30,60,0,12,24,0,0,0,0,0,0,0,15, - 240,0,63,252,0,120,62,0,124,62,0,124,62,0,56,62, - 0,0,62,0,3,254,0,31,190,0,126,62,0,124,62,0, - 252,62,0,252,62,0,252,127,64,127,255,192,63,143,128,18, - 23,69,20,1,0,3,224,0,7,112,0,6,48,0,6,48, - 0,7,112,0,3,224,0,0,0,0,15,240,0,63,252,0, - 120,62,0,124,62,0,124,62,0,56,62,0,0,62,0,3, - 254,0,31,190,0,126,62,0,124,62,0,252,62,0,252,62, - 0,252,127,64,127,255,192,63,143,128,26,16,64,28,1,0, - 7,224,248,0,30,123,222,0,56,63,15,0,124,63,15,128, - 124,62,7,128,120,62,7,192,49,254,7,192,15,255,255,192, - 63,255,255,192,126,62,0,0,252,62,0,0,248,63,0,192, - 248,127,1,128,252,239,131,128,127,199,255,0,63,1,252,0, - 15,23,46,17,1,249,3,240,14,60,62,62,124,62,124,62, - 248,28,248,0,248,0,248,0,248,0,252,2,252,6,126,6, - 63,28,31,248,7,240,1,128,3,0,7,192,0,224,0,224, - 13,192,7,128,16,23,46,18,1,0,6,0,15,0,15,128, - 7,192,1,224,0,96,0,0,3,224,14,120,60,60,124,30, - 124,30,248,31,248,31,255,255,255,255,248,0,248,0,252,3, - 124,6,63,14,31,252,7,240,16,23,46,18,1,0,0,48, - 0,120,0,248,1,240,3,192,3,0,0,0,3,224,14,120, - 60,60,124,30,124,30,248,31,248,31,255,255,255,255,248,0, - 248,0,252,3,124,6,63,14,31,252,7,240,16,22,44,18, - 1,0,1,192,3,224,7,240,14,56,24,12,0,0,3,224, - 14,120,60,60,124,30,124,30,248,31,248,31,255,255,255,255, - 248,0,248,0,252,3,124,6,63,14,31,252,7,240,16,23, - 46,18,1,0,12,24,30,60,30,60,30,60,12,24,0,0, - 0,0,3,224,14,120,60,60,124,30,124,30,248,31,248,31, - 255,255,255,255,248,0,248,0,252,3,124,6,63,14,31,252, - 7,240,9,23,46,11,1,0,96,0,240,0,248,0,124,0, - 30,0,6,0,0,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,128,255,128,9,23,46,11,1,0,6,0,15,0, - 31,0,62,0,120,0,96,0,0,0,254,0,254,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,255,128,255,128,11,22,44,11,255,0, - 14,0,31,0,63,128,113,192,192,96,0,0,63,128,63,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,63,224,63,224,11,23,46,11, - 0,0,96,192,241,224,241,224,241,224,96,192,0,0,0,0, - 127,0,127,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,127,192,127,192, - 17,26,78,20,1,0,0,4,0,14,14,0,15,156,0,3, - 248,0,1,240,0,3,248,0,7,120,0,14,60,0,4,62, - 0,0,30,0,3,255,0,15,63,0,60,31,0,124,31,128, - 120,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,124,31,0,124,31,0,62,62,0,15,248, - 0,3,224,0,20,22,66,22,1,0,3,134,0,7,254,0, - 15,252,0,12,56,0,0,0,0,0,0,0,254,62,0,254, - 255,128,63,255,128,63,143,192,63,7,192,63,7,192,62,7, - 192,62,7,192,62,7,192,62,7,192,62,7,192,62,7,192, - 62,7,192,62,7,192,255,159,240,255,159,240,17,23,69,19, - 1,0,6,0,0,15,0,0,15,128,0,7,192,0,1,224, - 0,0,96,0,0,0,0,3,224,0,15,248,0,62,62,0, - 124,31,0,124,31,0,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,124,31,0,124,31,0,62,62, - 0,15,248,0,3,224,0,17,23,69,19,1,0,0,24,0, - 0,60,0,0,124,0,0,248,0,1,224,0,1,128,0,0, - 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, - 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, - 224,0,17,22,66,19,1,0,1,192,0,3,224,0,7,240, - 0,14,56,0,24,12,0,0,0,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,17,22,66,19,1,0, - 3,134,0,7,254,0,15,252,0,12,56,0,0,0,0,0, - 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, - 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, - 224,0,17,23,69,19,1,0,12,24,0,30,60,0,30,60, - 0,30,60,0,12,24,0,0,0,0,0,0,0,3,224,0, - 15,248,0,62,62,0,124,31,0,124,31,0,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 0,124,31,0,62,62,0,15,248,0,3,224,0,17,17,51, - 20,2,0,1,192,0,3,224,0,3,224,0,3,224,0,1, - 192,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,0,0,0,0,0,0,1,192,0,3,224,0,3,224,0, - 3,224,0,1,192,0,17,22,66,19,1,253,0,2,0,0, - 6,0,0,12,0,3,236,0,15,248,0,62,62,0,124,63, - 0,124,111,0,248,79,128,248,207,128,248,143,128,249,143,128, - 251,15,128,250,15,128,126,31,0,124,31,0,62,62,0,31, - 248,0,27,224,0,48,0,0,48,0,0,32,0,0,20,23, - 69,22,1,0,3,0,0,7,128,0,7,192,0,3,224,0, - 0,240,0,0,48,0,0,0,0,254,31,192,254,31,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,7,192,62,15,192,62,15,192,63,31,192, - 31,255,192,31,247,240,7,199,240,20,23,69,22,1,0,0, - 24,0,0,60,0,0,124,0,0,248,0,1,224,0,1,128, - 0,0,0,0,254,31,192,254,31,192,62,7,192,62,7,192, - 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,15,192,62,15,192,63,31,192,31,255,192,31,247, - 240,7,199,240,20,22,66,22,1,0,0,224,0,1,240,0, - 3,248,0,7,28,0,12,6,0,0,0,0,254,31,192,254, - 31,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,7,192,62,7,192,62,15,192,62,15,192, - 63,31,192,31,255,192,31,247,240,7,199,240,20,23,69,22, - 1,0,6,12,0,15,30,0,15,30,0,15,30,0,6,12, - 0,0,0,0,0,0,0,254,31,192,254,31,192,62,7,192, - 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,15,192,62,15,192,63,31,192,31,255, - 192,31,247,240,7,199,240,19,30,90,19,0,249,0,12,0, - 0,30,0,0,62,0,0,124,0,0,240,0,0,192,0,0, - 0,0,255,143,224,255,143,224,63,3,128,63,3,128,31,3, - 0,31,135,0,15,134,0,15,198,0,7,204,0,7,236,0, - 3,248,0,3,248,0,1,248,0,1,240,0,0,240,0,0, - 224,0,0,96,0,112,192,0,248,192,0,249,128,0,255,0, - 0,127,0,0,60,0,0,20,29,87,22,0,249,255,0,0, - 255,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 63,0,31,127,192,31,199,224,31,131,224,31,131,240,31,3, - 240,31,3,240,31,1,240,31,1,240,31,1,240,31,3,240, - 31,131,224,31,131,224,31,199,192,31,255,128,31,63,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,127,224, - 0,127,224,0,19,30,90,19,0,249,3,6,0,7,143,0, - 7,143,0,7,143,0,3,6,0,0,0,0,0,0,0,255, - 143,224,255,143,224,63,3,128,63,3,128,31,3,0,31,135, - 0,15,134,0,15,198,0,7,204,0,7,236,0,3,248,0, - 3,248,0,1,248,0,1,240,0,0,240,0,0,224,0,0, - 96,0,112,192,0,248,192,0,249,128,0,255,0,0,127,0, - 0,60,0,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=25 x= 3 y=10 dx=20 dy= 0 ascent=25 len=72 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =25 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24n[846] U8G_SECTION(".progmem.u8g_font_ncenB24n") = { - 0,39,53,252,243,24,0,0,0,0,42,57,0,25,251,24, - 0,12,15,30,17,2,10,6,0,14,0,14,0,230,112,230, - 112,246,240,63,192,15,0,127,224,246,240,230,112,230,112,7, - 0,7,0,6,0,16,16,32,20,2,1,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,6,11,11,9,2, - 251,120,248,252,252,252,124,28,24,48,112,224,8,4,4,11, - 1,6,255,255,255,255,6,6,6,9,1,0,120,252,252,252, - 252,120,10,25,50,9,255,0,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,7,0,6,0,14,0,14,0, - 12,0,28,0,28,0,24,0,56,0,56,0,48,0,112,0, - 112,0,96,0,224,0,224,0,192,0,16,24,48,19,1,0, - 3,192,15,240,30,120,60,60,124,62,120,30,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,120,30,120,30,124,62,60,60,30,120,15,240,3,192, - 13,24,48,19,3,0,1,128,7,128,255,128,255,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,255,248,255,248,17,24,72,19,1,0,15,240,0,63, - 252,0,120,126,0,240,63,0,248,31,0,252,31,0,252,31, - 0,252,31,0,124,63,0,56,62,0,0,124,0,0,248,0, - 0,240,0,1,224,0,3,192,0,3,129,128,7,1,128,14, - 1,128,28,3,128,63,255,128,127,255,0,127,255,0,255,255, - 0,255,255,0,16,24,48,19,1,0,15,224,63,248,120,124, - 248,62,252,62,252,62,252,62,120,62,0,124,0,112,7,224, - 7,192,0,248,0,126,0,62,0,63,120,31,252,31,252,31, - 252,63,248,62,120,126,63,248,7,224,17,24,72,19,0,0, - 0,4,0,0,12,0,0,28,0,0,60,0,0,124,0,0, - 252,0,1,252,0,1,252,0,3,124,0,6,124,0,12,124, - 0,28,124,0,56,124,0,112,124,0,224,124,0,192,124,0, - 255,255,128,255,255,128,0,124,0,0,124,0,0,124,0,0, - 124,0,3,255,128,3,255,128,16,24,48,19,1,0,31,255, - 63,254,63,254,63,252,63,240,48,0,48,0,48,0,48,0, - 55,224,63,248,56,124,48,62,32,62,0,31,0,31,56,31, - 124,31,252,31,252,62,120,62,112,252,63,240,15,192,17,24, - 72,19,1,0,3,240,0,15,252,0,31,30,0,62,62,0, - 60,62,0,124,62,0,120,28,0,248,0,0,248,0,0,248, - 0,0,249,248,0,255,254,0,255,127,0,252,31,0,248,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,124,31,0, - 124,31,0,62,62,0,31,252,0,7,240,0,16,24,48,19, - 2,0,255,255,255,254,255,254,255,252,255,252,192,24,192,24, - 192,56,128,112,0,112,0,240,0,224,1,224,1,224,3,224, - 3,192,7,192,7,192,15,192,15,192,15,192,15,192,15,192, - 7,128,17,24,72,19,1,0,7,240,0,15,252,0,60,62, - 0,56,31,0,120,15,0,120,15,0,120,15,0,124,15,0, - 126,30,0,127,252,0,63,240,0,31,252,0,15,254,0,63, - 255,0,120,127,0,248,31,128,240,15,128,240,15,128,240,15, - 0,240,15,0,248,30,0,124,60,0,63,240,0,7,192,0, - 17,24,72,19,1,0,3,192,0,31,248,0,62,124,0,124, - 62,0,252,31,0,248,31,0,248,15,128,248,15,128,248,15, - 128,252,31,128,252,63,128,127,111,128,63,207,128,31,143,128, - 0,15,128,0,15,128,112,15,0,248,31,0,252,31,0,248, - 30,0,248,62,0,112,252,0,63,240,0,15,192,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=32 h=32 x= 8 y=17 dx=32 dy= 0 ascent=26 len=124 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24r[5937] U8G_SECTION(".progmem.u8g_font_ncenB24r") = { - 0,39,53,252,243,25,6,143,16,147,32,127,249,26,249,25, - 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, - 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, - 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, - 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, - 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, - 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, - 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, - 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, - 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, - 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, - 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, - 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, - 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, - 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, - 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, - 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, - 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, - 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, - 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, - 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, - 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, - 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, - 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, - 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, - 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, - 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, - 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, - 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, - 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, - 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, - 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, - 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, - 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, - 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, - 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, - 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, - 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, - 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, - 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, - 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, - 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, - 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, - 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, - 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, - 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, - 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, - 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, - 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, - 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, - 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, - 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, - 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, - 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, - 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, - 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, - 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, - 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, - 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, - 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, - 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, - 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, - 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, - 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, - 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, - 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, - 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, - 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, - 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, - 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, - 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, - 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, - 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, - 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, - 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, - 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, - 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, - 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, - 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, - 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, - 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, - 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, - 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, - 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, - 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, - 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, - 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, - 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, - 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, - 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, - 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, - 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, - 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, - 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, - 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, - 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, - 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, - 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, - 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, - 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, - 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, - 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, - 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, - 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, - 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, - 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, - 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, - 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, - 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, - 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, - 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, - 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, - 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, - 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, - 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, - 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, - 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, - 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, - 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, - 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, - 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, - 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, - 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, - 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, - 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, - 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, - 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, - 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, - 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, - 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, - 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, - 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, - 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, - 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, - 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, - 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, - 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, - 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, - 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, - 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, - 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, - 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, - 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, - 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, - 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, - 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, - 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, - 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, - 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, - 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, - 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, - 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, - 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, - 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, - 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, - 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, - 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, - 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, - 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, - 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, - 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, - 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, - 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, - 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, - 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, - 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, - 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, - 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, - 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, - 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, - 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, - 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, - 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, - 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, - 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, - 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, - 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, - 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, - 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, - 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, - 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, - 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, - 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, - 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, - 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, - 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, - 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, - 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, - 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, - 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, - 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, - 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, - 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, - 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, - 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, - 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, - 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, - 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, - 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, - 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, - 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, - 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, - 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, - 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, - 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, - 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, - 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, - 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, - 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, - 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, - 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, - 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, - 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, - 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, - 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, - 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, - 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, - 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, - 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, - 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, - 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, - 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, - 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, - 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, - 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, - 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, - 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, - 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, - 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, - 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, - 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, - 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, - 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, - 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, - 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, - 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, - 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, - 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, - 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, - 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, - 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, - 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, - 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, - 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, - 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, - 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, - 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, - 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, - 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, - 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, - 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, - 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, - 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, - 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, - 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, - 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, - 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, - 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, - 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, - 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, - 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, - 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, - 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, - 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, - 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, - 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, - 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, - 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, - 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, - 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, - 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, - 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, - 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, - 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, - 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, - 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, - 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, - 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, - 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, - 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, - 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, - 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, - 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, - 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, - 255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=16 - Font Bounding box w=14 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR08[2642] U8G_SECTION(".progmem.u8g_font_ncenR08") = { - 0,14,18,254,252,8,1,180,3,120,32,255,254,11,254,8, - 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, - 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, - 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, - 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, - 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, - 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, - 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, - 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, - 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, - 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, - 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, - 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, - 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, - 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, - 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, - 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, - 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, - 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, - 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, - 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, - 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, - 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, - 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, - 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, - 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, - 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, - 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, - 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, - 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, - 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, - 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, - 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, - 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, - 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, - 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, - 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, - 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, - 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, - 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, - 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, - 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, - 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, - 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, - 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, - 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, - 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, - 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, - 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, - 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, - 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, - 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, - 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, - 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, - 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, - 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, - 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, - 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, - 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, - 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, - 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, - 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, - 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, - 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, - 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, - 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, - 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, - 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, - 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, - 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, - 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, - 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, - 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, - 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, - 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, - 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, - 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, - 152,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,3,0,1,1,8,8,4,1,254,128,128, - 0,128,128,128,128,128,5,7,7,6,0,255,16,120,168,160, - 200,112,64,6,8,8,7,0,0,56,72,64,248,32,32,68, - 248,6,6,6,7,0,1,132,120,72,72,120,132,7,8,8, - 8,0,0,198,68,40,108,16,124,16,56,1,8,8,6,2, - 0,128,128,128,0,0,128,128,128,4,10,10,5,0,254,112, - 144,128,96,144,144,96,16,144,224,3,1,1,4,0,6,160, - 9,8,16,10,0,0,62,0,65,0,156,128,164,128,160,128, - 156,128,65,0,62,0,4,6,6,5,0,2,224,32,96,176, - 0,240,5,3,3,6,0,1,72,144,72,5,3,3,6,0, - 1,248,8,8,3,1,1,4,0,2,224,9,8,16,10,0, - 0,62,0,65,0,188,128,148,128,152,128,182,128,65,0,62, - 0,4,1,1,5,0,6,240,3,4,4,4,0,4,64,160, - 160,64,5,5,5,6,0,0,32,248,32,0,248,3,4,4, - 3,0,4,96,160,64,224,3,4,4,3,0,4,224,64,32, - 192,2,2,2,3,0,6,64,128,5,7,7,6,0,254,144, - 144,144,144,232,128,128,6,10,10,7,0,254,124,168,168,168, - 104,40,40,40,40,124,1,2,2,4,1,2,128,128,2,3, - 3,3,0,254,128,64,192,3,4,4,3,0,4,64,192,64, - 224,4,6,6,5,0,2,96,144,144,96,0,240,5,3,3, - 6,0,1,144,72,144,7,8,8,7,0,0,72,200,80,240, - 36,44,94,68,6,8,8,7,0,0,72,200,80,240,44,52, - 72,92,7,8,8,7,0,0,232,72,48,208,36,44,94,68, - 4,8,8,5,0,254,32,32,0,32,64,128,144,96,7,11, - 11,8,0,0,32,16,0,16,16,40,40,68,124,68,238,7, - 11,11,8,0,0,8,16,0,16,16,40,40,68,124,68,238, - 7,11,11,8,0,0,16,40,0,16,16,40,40,68,124,68, - 238,7,11,11,8,0,0,20,40,0,16,16,40,40,68,124, - 68,238,7,10,10,8,0,0,40,0,16,16,40,40,68,124, - 68,238,7,11,11,8,0,0,16,40,16,16,16,40,40,68, - 124,68,238,10,8,16,11,0,0,31,192,12,64,21,64,23, - 0,61,0,36,64,68,64,231,192,6,10,10,7,0,254,60, - 68,128,128,128,128,68,56,16,48,6,11,11,7,0,0,32, - 16,0,252,68,84,112,80,68,68,252,6,11,11,7,0,0, - 8,16,0,252,68,84,112,80,68,68,252,6,11,11,7,0, - 0,16,40,0,252,68,84,112,80,68,68,252,6,10,10,7, - 0,0,40,0,252,68,84,112,80,68,68,252,3,11,11,4, - 0,0,128,64,0,224,64,64,64,64,64,64,224,3,11,11, - 4,0,0,32,64,0,224,64,64,64,64,64,64,224,3,11, - 11,4,0,0,64,160,0,224,64,64,64,64,64,64,224,3, - 10,10,4,0,0,160,0,224,64,64,64,64,64,64,224,7, - 8,8,8,0,0,248,68,66,226,66,66,68,248,8,11,11, - 9,0,0,20,40,0,231,98,82,82,74,74,70,230,7,11, - 11,8,0,0,32,16,0,56,68,130,130,130,130,68,56,7, - 11,11,8,0,0,8,16,0,56,68,130,130,130,130,68,56, - 7,11,11,8,0,0,16,40,0,56,68,130,130,130,130,68, - 56,7,11,11,8,0,0,20,40,0,56,68,130,130,130,130, - 68,56,7,10,10,8,0,0,40,0,56,68,130,130,130,130, - 68,56,5,5,5,6,0,0,136,80,32,80,136,8,8,8, - 8,255,0,29,34,69,73,81,97,98,156,7,11,11,8,0, - 0,32,16,0,238,68,68,68,68,68,68,56,7,11,11,8, - 0,0,8,16,0,238,68,68,68,68,68,68,56,7,11,11, - 8,0,0,16,40,0,238,68,68,68,68,68,68,56,7,10, - 10,8,0,0,40,0,238,68,68,68,68,68,68,56,7,11, - 11,8,0,0,8,16,0,198,68,40,40,16,16,16,56,6, - 8,8,7,0,0,192,120,68,68,68,120,64,224,6,8,8, - 7,0,0,48,72,72,88,68,68,84,216,5,8,8,6,0, - 0,64,32,0,96,144,112,144,248,5,8,8,6,0,0,32, - 64,0,96,144,112,144,248,5,8,8,6,0,0,32,80,0, - 96,144,112,144,248,5,8,8,6,0,0,80,160,0,96,144, - 112,144,248,5,7,7,6,0,0,80,0,96,144,112,144,248, - 5,8,8,6,0,0,32,80,32,96,144,112,144,248,7,5, - 5,8,0,0,108,146,126,144,238,4,7,7,5,0,254,112, - 144,128,144,96,32,96,4,8,8,5,0,0,64,32,0,96, - 144,240,128,112,4,8,8,5,0,0,32,64,0,96,144,240, - 128,112,4,8,8,5,0,0,32,80,0,96,144,240,128,112, - 4,7,7,5,0,0,80,0,96,144,240,128,112,3,8,8, - 4,0,0,128,64,0,192,64,64,64,224,3,8,8,4,0, - 0,32,64,0,192,64,64,64,224,3,8,8,4,0,0,64, - 160,0,192,64,64,64,224,3,7,7,4,0,0,160,0,192, - 64,64,64,224,4,8,8,5,0,0,80,96,160,96,144,144, - 144,96,6,8,8,7,0,0,40,80,0,176,72,72,72,236, - 4,8,8,5,0,0,64,32,0,96,144,144,144,96,4,8, - 8,5,0,0,32,64,0,96,144,144,144,96,4,8,8,5, - 0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0, - 80,160,0,96,144,144,144,96,4,7,7,5,0,0,80,0, - 96,144,144,144,96,5,5,5,6,0,0,32,0,248,0,32, - 5,6,6,5,0,255,104,144,176,208,96,128,5,8,8,6, - 0,0,64,32,0,144,144,144,144,104,5,8,8,6,0,0, - 32,64,0,144,144,144,144,104,5,8,8,6,0,0,32,80, - 0,144,144,144,144,104,5,7,7,6,0,0,80,0,144,144, - 144,144,104,6,10,10,6,0,254,16,32,0,220,136,80,80, - 32,32,192,5,10,10,5,255,254,192,64,64,112,72,72,72, - 112,64,224,6,9,9,6,0,254,80,0,220,136,80,80,32, - 32,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=16 - Font Bounding box w=14 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR08r[1266] U8G_SECTION(".progmem.u8g_font_ncenR08r") = { - 0,14,18,254,252,8,1,180,3,120,32,127,254,9,254,8, - 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, - 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, - 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, - 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, - 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, - 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, - 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, - 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, - 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, - 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, - 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, - 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, - 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, - 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, - 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, - 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, - 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, - 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, - 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, - 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, - 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, - 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, - 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, - 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, - 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, - 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, - 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, - 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, - 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, - 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, - 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, - 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, - 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, - 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, - 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, - 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, - 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, - 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, - 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, - 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, - 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, - 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, - 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, - 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, - 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, - 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, - 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, - 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, - 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, - 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, - 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, - 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, - 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, - 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, - 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, - 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, - 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, - 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, - 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, - 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, - 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, - 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, - 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, - 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, - 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, - 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, - 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, - 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, - 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, - 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, - 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, - 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, - 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, - 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, - 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, - 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, - 152,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=14 len=33 - Font Bounding box w=18 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR10[3813] U8G_SECTION(".progmem.u8g_font_ncenR10") = { - 0,18,24,254,250,11,2,24,5,38,32,255,253,14,253,11, - 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, - 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, - 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, - 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, - 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, - 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, - 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, - 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, - 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, - 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, - 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, - 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, - 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, - 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, - 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, - 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, - 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, - 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, - 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, - 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, - 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, - 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, - 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, - 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, - 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, - 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, - 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, - 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, - 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, - 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, - 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, - 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, - 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, - 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, - 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, - 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, - 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, - 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, - 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, - 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, - 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, - 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, - 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, - 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, - 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, - 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, - 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, - 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, - 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, - 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, - 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, - 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, - 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, - 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, - 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, - 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, - 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, - 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, - 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, - 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, - 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, - 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, - 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, - 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, - 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, - 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, - 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, - 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, - 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, - 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, - 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, - 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, - 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, - 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, - 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, - 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, - 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, - 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, - 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, - 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, - 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, - 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, - 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, - 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, - 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, - 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, - 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, - 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, - 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, - 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, - 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, - 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, - 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, - 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, - 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, - 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, - 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, - 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, - 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, - 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, - 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, - 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, - 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, - 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, - 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, - 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, - 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, - 1,3,114,140,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,4,0,1,1,11,11,4,1, - 253,128,128,0,128,128,128,128,128,128,128,128,6,11,11,8, - 1,254,4,4,120,204,144,144,160,228,120,128,128,7,11,11, - 8,0,0,60,98,70,64,32,252,16,16,96,178,206,7,7, - 7,8,0,2,186,68,130,130,130,68,186,9,11,22,8,0, - 0,227,128,65,0,34,0,34,0,20,0,20,0,62,0,8, - 0,62,0,8,0,28,0,1,11,11,9,4,0,128,128,128, - 128,0,0,128,128,128,128,128,5,13,13,7,1,254,120,136, - 128,192,112,152,136,200,112,24,8,136,240,4,2,2,6,1, - 8,144,144,12,11,22,14,1,0,15,0,48,192,79,32,89, - 32,144,16,144,16,152,144,79,32,64,32,48,192,15,0,5, - 7,7,6,0,4,96,144,112,144,248,0,248,6,5,5,7, - 0,1,36,72,144,72,36,7,4,4,9,0,1,254,2,2, - 2,4,1,1,5,0,3,240,12,11,22,14,1,0,15,0, - 48,192,94,32,73,32,137,16,142,16,139,16,89,160,64,32, - 48,192,15,0,5,1,1,5,0,8,248,4,4,4,6,1, - 7,96,144,144,96,7,7,7,9,1,0,16,16,254,16,16, - 0,254,4,6,6,5,0,5,96,144,32,64,144,240,4,6, - 6,5,0,5,96,144,32,16,144,96,3,3,3,5,1,8, - 32,64,128,8,10,10,9,0,253,231,66,66,66,66,102,123, - 64,96,64,7,13,13,9,1,254,126,212,212,212,212,116,20, - 20,20,20,20,20,62,2,2,2,4,1,3,192,192,3,4, - 4,5,0,253,64,64,32,192,3,6,6,5,1,5,64,192, - 64,64,64,224,4,7,7,5,0,4,96,144,144,144,96,0, - 240,6,5,5,7,0,1,144,72,36,72,144,10,11,22,12, - 0,0,65,0,193,0,66,0,66,0,68,0,228,128,9,128, - 18,128,20,128,39,192,32,128,10,11,22,12,0,0,65,0, - 193,0,66,0,66,0,68,0,229,128,10,64,16,128,17,0, - 34,64,35,192,10,11,22,12,0,0,97,0,145,0,34,0, - 18,0,148,0,100,128,9,128,18,128,20,128,39,192,32,128, - 5,11,11,6,0,253,32,32,0,32,32,32,64,128,136,200, - 112,11,14,28,10,255,0,8,0,4,0,0,0,4,0,4, - 0,10,0,10,0,10,0,17,0,17,0,63,128,32,128,32, - 128,251,224,11,14,28,10,255,0,2,0,4,0,0,0,4, - 0,4,0,10,0,10,0,10,0,17,0,17,0,63,128,32, - 128,32,128,251,224,11,14,28,10,255,0,4,0,10,0,17, - 0,4,0,4,0,10,0,10,0,10,0,17,0,17,0,63, - 128,32,128,32,128,251,224,11,14,28,10,255,0,12,128,19, - 0,0,0,4,0,4,0,10,0,10,0,10,0,17,0,17, - 0,63,128,32,128,32,128,251,224,11,13,26,10,255,0,17, - 0,17,0,4,0,4,0,10,0,10,0,10,0,17,0,17, - 0,63,128,32,128,32,128,251,224,11,14,28,10,255,0,12, - 0,18,0,12,0,4,0,4,0,10,0,10,0,10,0,17, - 0,17,0,63,128,32,128,32,128,251,224,14,11,22,15,0, - 0,15,252,5,4,9,4,9,32,17,32,17,224,63,32,33, - 32,65,4,65,4,227,252,9,14,28,11,1,253,30,128,97, - 128,64,128,192,128,128,0,128,0,128,0,192,128,64,128,97, - 0,30,0,8,0,4,0,24,0,9,14,28,10,0,0,16, - 0,8,0,0,0,255,128,32,128,32,128,36,0,36,0,60, - 0,36,0,36,0,32,128,32,128,255,128,9,14,28,10,0, - 0,4,0,8,0,0,0,255,128,32,128,32,128,36,0,36, - 0,60,0,36,0,36,0,32,128,32,128,255,128,9,14,28, - 10,0,0,12,0,18,0,0,0,255,128,32,128,32,128,36, - 0,36,0,60,0,36,0,36,0,32,128,32,128,255,128,9, - 14,28,10,0,0,18,0,18,0,0,0,255,128,32,128,32, - 128,36,0,36,0,60,0,36,0,36,0,32,128,32,128,255, - 128,5,14,14,6,0,0,64,32,0,248,32,32,32,32,32, - 32,32,32,32,248,5,14,14,6,0,0,16,32,0,248,32, - 32,32,32,32,32,32,32,32,248,5,14,14,6,0,0,48, - 72,0,248,32,32,32,32,32,32,32,32,32,248,5,14,14, - 6,0,0,80,80,0,248,32,32,32,32,32,32,32,32,32, - 248,10,11,22,11,0,0,255,0,32,128,32,192,32,64,32, - 64,248,64,32,64,32,64,32,192,32,128,255,0,12,14,28, - 13,0,0,12,128,19,0,0,0,225,240,48,64,48,64,40, - 64,44,64,38,64,35,64,33,64,32,192,32,64,248,64,10, - 14,28,11,0,0,8,0,4,0,0,0,30,0,97,128,64, - 128,192,192,128,64,128,64,128,64,192,192,64,128,97,128,30, - 0,10,14,28,11,0,0,2,0,4,0,0,0,30,0,97, - 128,64,128,192,192,128,64,128,64,128,64,192,192,64,128,97, - 128,30,0,10,14,28,11,0,0,12,0,18,0,0,0,30, - 0,97,128,64,128,192,192,128,64,128,64,128,64,192,192,64, - 128,97,128,30,0,10,14,28,11,0,0,25,0,38,0,0, - 0,30,0,97,128,64,128,192,192,128,64,128,64,128,64,192, - 192,64,128,97,128,30,0,10,14,28,11,0,0,18,0,18, - 0,0,0,30,0,97,128,64,128,192,192,128,64,128,64,128, - 64,192,192,64,128,97,128,30,0,7,7,7,9,1,0,130, - 68,40,16,40,68,130,11,11,22,11,255,0,15,32,48,192, - 32,192,97,96,66,32,68,32,72,32,112,96,32,64,112,192, - 143,0,12,14,28,13,0,0,8,0,4,0,0,0,249,240, - 32,64,32,64,32,64,32,64,32,64,32,64,32,64,32,64, - 48,128,31,0,12,14,28,13,0,0,1,0,2,0,0,0, - 249,240,32,64,32,64,32,64,32,64,32,64,32,64,32,64, - 32,64,48,128,31,0,12,14,28,13,0,0,6,0,9,0, - 0,0,249,240,32,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,48,128,31,0,12,14,28,13,0,0,9,0, - 9,0,0,0,249,240,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,48,128,31,0,11,14,28,10,255,0, - 2,0,4,0,0,0,251,224,96,128,49,0,17,0,26,0, - 10,0,4,0,4,0,4,0,4,0,31,0,9,11,22,10, - 0,0,248,0,32,0,63,0,33,128,32,128,32,128,33,0, - 62,0,32,0,32,0,248,0,7,11,11,8,0,0,56,100, - 68,76,88,68,66,66,66,86,220,7,11,11,8,0,0,32, - 16,8,0,56,76,4,60,196,140,118,7,11,11,8,0,0, - 8,16,32,0,56,76,4,60,196,140,118,7,11,11,8,0, - 0,16,40,68,0,56,76,4,60,196,140,118,7,10,10,8, - 0,0,50,76,0,56,76,4,60,196,140,118,7,10,10,8, - 0,0,72,72,0,56,76,4,60,196,140,118,7,11,11,8, - 0,0,48,72,48,0,56,76,4,60,196,140,118,11,7,14, - 12,0,0,59,192,78,96,4,32,63,224,196,0,142,32,115, - 192,6,10,10,7,0,253,120,204,128,128,128,196,120,32,16, - 96,6,11,11,7,0,0,64,32,16,0,120,204,132,252,128, - 196,120,6,11,11,7,0,0,8,16,32,0,120,204,132,252, - 128,196,120,6,11,11,7,0,0,16,40,68,0,120,204,132, - 252,128,196,120,6,10,10,7,0,0,72,72,0,120,204,132, - 252,128,196,120,3,11,11,4,0,0,128,64,32,0,192,64, - 64,64,64,64,224,3,11,11,4,0,0,32,64,128,0,192, - 64,64,64,64,64,224,5,11,11,4,255,0,32,80,136,0, - 96,32,32,32,32,32,112,4,10,10,4,255,0,144,144,0, - 96,32,32,32,32,32,112,7,11,11,7,255,0,76,48,208, - 8,60,102,66,66,66,102,60,8,10,10,9,0,0,50,76, - 0,220,102,66,66,66,66,231,6,11,11,7,0,0,64,32, - 16,0,120,204,132,132,132,204,120,6,11,11,7,0,0,16, - 32,64,0,120,204,132,132,132,204,120,6,11,11,7,0,0, - 32,80,136,0,120,204,132,132,132,204,120,6,10,10,7,0, - 0,100,152,0,120,204,132,132,132,204,120,6,10,10,7,0, - 0,72,72,0,120,204,132,132,132,204,120,7,7,7,9,1, - 0,16,16,0,254,0,16,16,6,9,9,7,0,255,8,120, - 220,148,164,164,204,120,64,8,11,11,9,0,0,32,16,8, - 0,231,66,66,66,66,102,59,8,11,11,9,0,0,2,4, - 8,0,231,66,66,66,66,102,59,8,11,11,9,0,0,8, - 20,34,0,231,66,66,66,66,102,59,8,10,10,9,0,0, - 36,36,0,231,66,66,66,66,102,59,7,14,14,8,0,253, - 4,8,16,0,238,68,68,40,40,16,16,32,160,192,7,14, - 14,8,0,253,192,64,64,64,92,102,66,66,66,102,92,64, - 64,224,7,13,13,8,0,253,72,72,0,238,68,68,40,40, - 16,16,32,160,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=12 len=33 - Font Bounding box w=18 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR10r[1781] U8G_SECTION(".progmem.u8g_font_ncenR10r") = { - 0,18,24,254,250,11,2,24,5,38,32,127,253,12,253,11, - 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, - 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, - 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, - 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, - 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, - 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, - 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, - 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, - 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, - 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, - 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, - 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, - 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, - 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, - 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, - 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, - 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, - 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, - 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, - 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, - 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, - 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, - 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, - 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, - 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, - 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, - 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, - 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, - 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, - 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, - 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, - 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, - 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, - 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, - 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, - 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, - 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, - 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, - 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, - 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, - 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, - 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, - 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, - 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, - 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, - 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, - 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, - 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, - 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, - 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, - 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, - 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, - 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, - 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, - 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, - 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, - 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, - 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, - 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, - 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, - 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, - 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, - 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, - 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, - 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, - 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, - 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, - 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, - 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, - 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, - 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, - 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, - 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, - 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, - 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, - 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, - 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, - 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, - 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, - 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, - 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, - 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, - 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, - 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, - 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, - 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, - 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, - 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, - 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, - 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, - 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, - 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, - 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, - 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, - 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, - 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, - 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, - 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, - 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, - 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, - 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, - 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, - 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, - 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, - 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, - 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, - 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, - 1,3,114,140,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=16 len=32 - Font Bounding box w=21 h=26 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =16 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR12[4247] U8G_SECTION(".progmem.u8g_font_ncenR12") = { - 0,21,26,253,250,12,2,59,5,140,32,255,253,16,253,12, - 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, - 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, - 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, - 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, - 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, - 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, - 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, - 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, - 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, - 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, - 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, - 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, - 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, - 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, - 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, - 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, - 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, - 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, - 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, - 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, - 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, - 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, - 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, - 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, - 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, - 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, - 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, - 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, - 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, - 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, - 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, - 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, - 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, - 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, - 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, - 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, - 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, - 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, - 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, - 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, - 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, - 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, - 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, - 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, - 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, - 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, - 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, - 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, - 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, - 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, - 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, - 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, - 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, - 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, - 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, - 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, - 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, - 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, - 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, - 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, - 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, - 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, - 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, - 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, - 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, - 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, - 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, - 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, - 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, - 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, - 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, - 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, - 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, - 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, - 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, - 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, - 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, - 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, - 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, - 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, - 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, - 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, - 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, - 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, - 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, - 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, - 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, - 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, - 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, - 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, - 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, - 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, - 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, - 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, - 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, - 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, - 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, - 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, - 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, - 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, - 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, - 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, - 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, - 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, - 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, - 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, - 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, - 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, - 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, - 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, - 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, - 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, - 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, - 2,2,10,1,3,115,206,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,4,1,1,2,12, - 12,5,1,253,192,192,0,64,64,64,64,192,192,192,192,192, - 6,12,12,9,1,254,4,4,56,76,204,144,144,228,100,56, - 64,64,9,12,24,9,0,0,30,0,49,0,35,0,35,0, - 48,0,16,0,254,0,16,0,16,0,112,128,191,0,78,0, - 7,8,8,9,1,2,186,108,198,130,130,198,108,186,9,12, - 24,9,0,0,243,128,97,0,34,0,50,0,20,0,20,0, - 62,0,8,0,62,0,8,0,8,0,62,0,1,12,12,10, - 4,0,128,128,128,128,128,0,0,128,128,128,128,128,6,15, - 15,8,1,253,56,72,64,96,48,88,140,132,196,104,48,24, - 8,72,112,5,2,2,5,0,9,216,216,12,12,24,12,0, - 0,31,128,48,192,71,32,205,176,152,144,144,16,144,16,152, - 144,205,176,71,32,48,192,31,128,5,7,7,6,0,5,224, - 144,112,144,232,0,240,6,5,5,7,0,1,36,72,216,72, - 36,8,5,5,10,1,1,255,1,1,1,1,4,1,1,5, - 0,3,240,12,12,24,12,0,0,31,128,48,192,95,32,201, - 176,137,144,143,16,137,16,137,144,200,176,92,224,48,192,31, - 128,5,1,1,5,0,9,248,5,5,5,7,1,7,112,136, - 136,136,112,7,9,9,10,1,0,16,16,16,254,16,16,16, - 0,254,5,7,7,6,0,5,112,216,136,16,32,72,248,5, - 7,7,6,0,5,112,216,136,48,136,216,112,3,3,3,5, - 0,9,32,96,128,10,11,22,10,0,253,231,0,99,0,99, - 0,99,0,99,0,99,0,99,0,125,192,96,0,96,0,96, - 0,8,15,15,10,0,253,127,234,202,202,202,234,122,10,10, - 10,10,10,10,10,31,2,2,2,5,1,3,192,192,3,4, - 4,5,1,253,64,64,32,192,3,7,7,6,1,5,64,192, - 64,64,64,64,224,4,7,7,5,0,5,96,144,144,144,96, - 0,240,6,5,5,7,0,1,144,72,108,72,144,11,12,24, - 14,1,0,64,64,192,192,65,128,65,0,66,0,70,64,236, - 192,9,64,18,64,51,224,96,64,64,224,11,12,24,13,1, - 0,64,128,193,128,67,0,66,0,68,0,77,192,251,96,18, - 32,32,192,97,0,195,32,131,224,13,12,24,14,0,0,112, - 24,216,48,136,96,48,192,136,128,217,144,115,48,6,80,4, - 144,12,248,24,16,48,56,7,12,12,7,0,253,24,24,0, - 16,16,48,96,192,196,206,100,56,11,16,32,12,0,0,24, - 0,12,0,2,0,0,0,4,0,4,0,14,0,14,0,22, - 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, - 16,32,12,0,0,3,0,6,0,8,0,0,0,4,0,4, - 0,14,0,14,0,22,0,19,0,19,0,63,128,33,128,65, - 128,64,192,243,224,11,16,32,12,0,0,4,0,14,0,17, - 0,0,0,4,0,4,0,14,0,14,0,22,0,19,0,19, - 0,63,128,33,128,65,128,64,192,243,224,11,15,30,12,0, - 0,29,0,46,0,0,0,4,0,4,0,14,0,14,0,22, - 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, - 15,30,12,0,0,18,0,18,0,0,0,4,0,4,0,14, - 0,14,0,22,0,19,0,19,0,63,128,33,128,65,128,64, - 192,243,224,11,16,32,12,0,0,12,0,18,0,12,0,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,16,12,24,17,0,0,15, - 255,2,195,2,193,4,193,4,200,8,248,8,216,31,201,16, - 193,32,193,32,195,251,255,10,15,30,12,1,253,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,8,0,4,0,24,0,10,16,32,12,0, - 0,24,0,12,0,2,0,0,0,255,192,48,192,48,64,48, - 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, - 192,10,16,32,12,0,0,3,0,6,0,8,0,0,0,255, - 192,48,192,48,64,48,64,50,0,62,0,54,0,50,0,48, - 64,48,64,48,192,255,192,10,16,32,12,0,0,4,0,14, - 0,17,0,0,0,255,192,48,192,48,64,48,64,50,0,62, - 0,54,0,50,0,48,64,48,64,48,192,255,192,10,15,30, - 12,0,0,17,0,17,0,0,0,255,192,48,192,48,64,48, - 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, - 192,6,16,16,7,0,0,192,96,16,0,252,48,48,48,48, - 48,48,48,48,48,48,252,6,16,16,7,0,0,12,24,32, - 0,252,48,48,48,48,48,48,48,48,48,48,252,6,16,16, - 7,0,0,32,112,136,0,252,48,48,48,48,48,48,48,48, - 48,48,252,6,15,15,7,0,0,72,72,0,252,48,48,48, - 48,48,48,48,48,48,48,252,12,12,24,13,0,0,255,0, - 49,192,48,96,48,96,48,48,124,48,48,48,48,48,48,96, - 48,96,49,192,255,0,13,15,30,13,0,0,14,64,19,128, - 0,0,240,248,56,32,60,32,44,32,46,32,39,32,35,160, - 33,160,32,224,32,224,32,96,248,32,11,16,32,13,1,0, - 24,0,12,0,2,0,0,0,14,0,49,128,96,192,96,192, - 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, - 11,16,32,13,1,0,1,128,3,0,4,0,0,0,14,0, - 49,128,96,192,96,192,192,96,192,96,192,96,192,96,96,192, - 96,192,49,128,14,0,11,16,32,13,1,0,4,0,14,0, - 17,0,0,0,14,0,49,128,96,192,96,192,192,96,192,96, - 192,96,192,96,96,192,96,192,49,128,14,0,11,15,30,13, - 1,0,14,128,23,0,0,0,14,0,49,128,96,192,96,192, - 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, - 11,15,30,13,1,0,17,0,17,0,0,0,14,0,49,128, - 96,192,96,192,192,96,192,96,192,96,192,96,96,192,96,192, - 49,128,14,0,8,8,8,10,1,0,129,66,36,24,24,36, - 66,129,11,14,28,13,1,255,0,32,14,64,49,128,97,192, - 97,64,194,96,196,96,196,96,200,96,80,192,112,192,49,128, - 78,0,128,0,13,16,32,13,0,0,12,0,6,0,1,0, - 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,48,32,48,32,24,64,15,128,13,16,32,13,0,0, - 0,192,1,128,2,0,0,0,252,248,48,32,48,32,48,32, - 48,32,48,32,48,32,48,32,48,32,48,32,24,64,15,128, - 13,16,32,13,0,0,2,0,7,0,8,128,0,0,252,248, - 48,32,48,32,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,24,64,15,128,13,15,30,13,0,0,8,128,8,128, - 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,48,32,48,32,24,64,15,128,12,16,32,12,0,0, - 1,128,3,0,4,0,0,0,252,240,48,64,24,128,24,128, - 13,0,13,0,6,0,6,0,6,0,6,0,6,0,31,128, - 11,12,24,11,0,0,252,0,48,0,48,0,63,128,48,192, - 48,96,48,96,48,192,63,128,48,0,48,0,252,0,8,12, - 12,10,1,0,60,102,99,99,102,124,102,99,99,99,118,236, - 7,12,12,9,1,0,64,96,16,0,120,204,204,28,108,204, - 204,118,7,12,12,9,1,0,4,12,16,0,120,204,204,28, - 108,204,204,118,7,12,12,9,1,0,16,56,68,0,120,204, - 204,28,108,204,204,118,7,11,11,9,1,0,52,88,0,120, - 204,204,28,108,204,204,118,7,11,11,9,1,0,72,72,0, - 120,204,204,28,108,204,204,118,7,13,13,9,1,0,48,72, - 72,48,0,120,204,204,28,108,204,204,118,12,8,16,13,0, - 0,121,192,206,32,198,48,31,240,102,0,198,16,207,32,121, - 192,6,11,11,7,0,253,56,108,204,192,192,196,108,56,32, - 16,96,7,12,12,8,0,0,32,48,8,0,56,68,198,254, - 192,192,102,60,7,12,12,8,0,0,4,12,16,0,56,68, - 198,254,192,192,102,60,7,12,12,8,0,0,16,56,68,0, - 56,68,198,254,192,192,102,60,7,11,11,8,0,0,36,36, - 0,56,68,198,254,192,192,102,60,4,12,12,5,0,0,128, - 192,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, - 0,16,48,64,0,224,96,96,96,96,96,96,240,5,12,12, - 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,4, - 11,11,5,0,0,144,144,0,224,96,96,96,96,96,96,240, - 7,13,13,8,0,0,64,38,24,104,12,60,110,198,198,198, - 198,108,56,9,11,22,10,0,0,26,0,44,0,0,0,238, - 0,115,0,99,0,99,0,99,0,99,0,99,0,247,128,7, - 12,12,8,0,0,64,96,16,0,56,108,198,198,198,198,108, - 56,7,12,12,8,0,0,4,12,16,0,56,108,198,198,198, - 198,108,56,7,12,12,8,0,0,16,56,68,0,56,108,198, - 198,198,198,108,56,7,11,11,8,0,0,52,88,0,56,108, - 198,198,198,198,108,56,7,11,11,8,0,0,72,72,0,56, - 108,198,198,198,198,108,56,8,7,7,10,1,1,24,24,0, - 255,0,24,24,7,10,10,8,0,255,2,60,100,206,214,214, - 230,76,120,128,9,12,24,10,0,0,32,0,48,0,8,0, - 0,0,231,0,99,0,99,0,99,0,99,0,99,0,99,0, - 61,128,9,12,24,10,0,0,2,0,6,0,8,0,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,61,128, - 9,12,24,10,0,0,8,0,28,0,34,0,0,0,231,0, - 99,0,99,0,99,0,99,0,99,0,99,0,61,128,9,11, - 22,10,0,0,36,0,36,0,0,0,231,0,99,0,99,0, - 99,0,99,0,99,0,99,0,61,128,8,15,15,9,0,253, - 2,6,8,0,247,98,54,52,28,24,8,24,16,208,224,8, - 14,14,9,0,253,224,96,96,124,102,99,99,99,99,102,124, - 96,96,240,8,14,14,9,0,253,36,36,0,247,98,54,52, - 28,24,8,24,16,208,224}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=15 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=13 len=30 - Font Bounding box w=21 h=26 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =13 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR12r[1976] U8G_SECTION(".progmem.u8g_font_ncenR12r") = { - 0,21,26,253,250,12,2,59,5,140,32,127,253,13,253,12, - 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, - 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, - 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, - 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, - 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, - 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, - 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, - 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, - 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, - 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, - 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, - 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, - 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, - 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, - 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, - 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, - 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, - 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, - 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, - 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, - 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, - 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, - 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, - 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, - 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, - 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, - 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, - 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, - 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, - 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, - 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, - 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, - 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, - 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, - 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, - 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, - 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, - 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, - 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, - 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, - 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, - 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, - 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, - 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, - 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, - 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, - 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, - 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, - 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, - 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, - 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, - 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, - 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, - 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, - 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, - 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, - 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, - 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, - 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, - 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, - 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, - 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, - 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, - 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, - 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, - 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, - 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, - 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, - 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, - 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, - 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, - 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, - 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, - 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, - 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, - 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, - 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, - 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, - 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, - 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, - 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, - 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, - 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, - 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, - 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, - 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, - 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, - 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, - 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, - 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, - 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, - 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, - 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, - 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, - 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, - 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, - 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, - 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, - 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, - 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, - 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, - 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, - 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, - 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, - 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, - 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, - 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, - 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, - 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, - 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, - 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, - 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, - 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, - 2,2,10,1,3,115,206,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=19 x= 4 y=11 dx=19 dy= 0 ascent=19 len=42 - Font Bounding box w=27 h=30 x=-4 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =19 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR14[5319] U8G_SECTION(".progmem.u8g_font_ncenR14") = { - 0,27,30,252,249,14,3,41,7,30,32,255,252,19,252,14, - 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, - 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, - 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, - 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, - 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, - 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, - 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, - 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, - 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, - 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, - 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, - 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, - 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, - 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, - 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, - 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, - 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, - 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, - 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, - 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, - 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, - 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, - 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, - 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, - 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, - 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, - 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, - 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, - 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, - 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, - 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, - 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, - 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, - 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, - 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, - 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, - 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, - 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, - 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, - 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, - 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, - 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, - 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, - 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, - 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, - 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, - 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, - 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, - 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, - 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, - 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, - 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, - 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, - 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, - 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, - 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, - 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, - 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, - 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, - 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, - 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, - 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, - 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, - 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, - 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, - 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, - 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, - 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, - 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, - 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, - 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, - 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, - 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, - 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, - 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, - 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, - 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, - 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, - 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, - 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, - 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, - 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, - 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, - 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, - 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, - 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, - 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, - 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, - 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, - 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, - 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, - 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, - 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, - 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, - 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, - 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, - 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, - 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, - 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, - 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, - 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, - 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, - 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, - 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, - 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, - 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, - 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, - 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, - 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, - 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, - 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, - 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, - 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, - 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, - 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, - 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, - 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, - 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, - 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, - 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, - 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, - 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, - 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, - 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, - 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, - 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, - 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, - 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, - 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, - 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, - 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, - 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, - 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, - 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, - 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, - 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, - 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, - 192,109,128,199,0,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,5,0,1,2,14,14,5, - 1,252,192,192,0,0,64,64,64,192,192,192,192,192,192,192, - 8,13,13,10,1,254,2,2,30,103,203,200,200,208,208,115, - 62,32,32,10,14,28,11,0,0,15,0,25,128,49,128,48, - 0,48,0,24,0,255,128,12,0,12,0,12,0,12,0,120, - 64,158,64,247,128,9,9,18,12,1,3,156,128,255,128,99, - 0,193,128,193,128,193,128,99,0,255,128,156,128,14,14,28, - 15,0,0,252,124,48,16,24,32,24,32,12,64,12,64,6, - 128,31,224,3,0,3,0,31,224,3,0,3,0,15,192,2, - 14,14,10,4,0,192,192,192,192,192,0,0,0,192,192,192, - 192,192,192,8,17,17,9,0,253,60,102,70,64,96,120,62, - 79,195,227,122,60,14,6,98,102,60,6,2,2,7,0,10, - 204,204,14,14,28,15,0,0,7,128,24,96,32,16,71,136, - 72,200,144,68,144,4,144,4,144,4,72,72,71,136,32,16, - 24,96,7,128,6,8,8,7,0,6,112,136,56,200,152,108, - 0,252,8,7,7,9,0,2,17,51,102,204,102,51,17,9, - 5,10,10,0,3,255,128,0,128,0,128,0,128,0,128,5, - 1,1,6,0,5,248,14,14,28,15,0,0,7,128,24,96, - 32,16,79,136,68,200,132,68,132,196,135,132,132,132,68,72, - 78,104,32,16,24,96,7,128,6,1,1,7,0,10,252,6, - 6,6,7,0,8,120,204,132,132,204,120,9,9,18,10,0, - 1,8,0,8,0,8,0,255,128,8,0,8,0,8,0,0, - 0,255,128,6,8,8,6,0,6,120,204,140,24,48,96,196, - 252,6,8,8,6,0,6,120,204,140,56,12,140,204,120,4, - 3,3,6,1,11,48,96,128,10,13,26,11,0,252,227,192, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,125,192, - 64,0,64,0,96,0,96,0,10,17,34,11,0,253,63,192, - 233,0,201,0,201,0,201,0,201,0,233,0,57,0,9,0, - 9,0,9,0,9,0,9,0,9,0,9,0,9,0,63,192, - 2,2,2,5,1,5,192,192,4,4,4,6,0,252,64,112, - 16,224,6,8,8,6,0,6,48,240,48,48,48,48,48,252, - 5,8,8,6,0,6,112,216,136,136,216,112,0,248,8,7, - 7,9,0,2,136,204,102,51,102,204,136,15,14,28,15,0, - 0,48,32,240,32,48,64,48,64,48,128,48,128,49,24,253, - 56,2,40,2,88,4,152,4,254,8,24,8,60,14,14,28, - 15,0,0,48,32,240,32,48,64,48,64,48,128,48,128,49, - 120,253,204,2,140,2,24,4,48,4,96,8,196,8,252,15, - 14,28,15,0,0,120,32,204,32,140,64,56,64,12,128,140, - 128,205,24,121,56,2,40,2,88,4,152,4,254,8,24,8, - 60,7,14,14,8,0,252,24,24,0,0,16,16,32,32,64, - 192,192,198,230,120,14,18,36,13,255,0,12,0,6,0,1, - 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, - 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,14, - 18,36,13,255,0,0,192,1,128,2,0,0,0,3,0,3, - 0,3,0,5,128,5,128,5,128,8,192,8,192,31,224,16, - 96,16,96,32,48,32,48,248,252,14,18,36,13,255,0,3, - 0,7,128,8,64,0,0,3,0,3,0,3,0,5,128,5, - 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, - 48,248,252,14,17,34,13,255,0,7,64,11,128,0,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,14,17,34,13,255, - 0,12,192,12,192,0,0,3,0,3,0,3,0,5,128,5, - 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, - 48,248,252,14,19,38,13,255,0,3,0,4,128,4,128,3, - 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, - 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,18, - 14,42,18,255,0,7,255,192,1,96,192,2,96,64,2,96, - 64,4,98,64,4,98,0,8,126,0,8,98,0,31,226,0, - 16,96,64,32,96,64,32,96,64,96,96,192,241,255,192,12, - 18,36,13,0,252,15,144,56,112,96,48,96,16,192,16,192, - 0,192,0,192,0,192,0,192,0,96,16,96,16,56,96,15, - 192,4,0,7,0,1,0,14,0,11,18,36,12,0,0,24, - 0,12,0,2,0,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,18,36,12,0,0,3,0,6,0,8,0,0, - 0,255,224,48,96,48,32,48,32,49,32,49,0,63,0,49, - 0,49,0,48,32,48,32,48,32,48,96,255,224,11,18,36, - 12,0,0,6,0,15,0,16,128,0,0,255,224,48,96,48, - 32,48,32,49,32,49,0,63,0,49,0,49,0,48,32,48, - 32,48,32,48,96,255,224,11,17,34,12,0,0,25,128,25, - 128,0,0,255,224,48,96,48,32,48,32,49,32,49,0,63, - 0,49,0,49,0,48,32,48,32,48,32,48,96,255,224,6, - 18,18,7,0,0,192,96,16,0,252,48,48,48,48,48,48, - 48,48,48,48,48,48,252,6,18,18,7,0,0,12,24,32, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,252,6, - 18,18,7,0,0,48,120,132,0,252,48,48,48,48,48,48, - 48,48,48,48,48,48,252,6,17,17,7,0,0,204,204,0, - 252,48,48,48,48,48,48,48,48,48,48,48,48,252,14,14, - 28,15,0,0,255,192,48,112,48,24,48,24,48,12,48,12, - 254,12,48,12,48,12,48,12,48,24,48,24,48,112,255,192, - 14,17,34,15,0,0,7,64,11,128,0,0,240,124,48,16, - 56,16,60,16,46,16,38,16,35,16,35,144,33,144,32,208, - 32,240,32,112,32,48,248,16,14,18,36,15,0,0,12,0, - 6,0,1,0,0,0,15,192,56,112,96,24,96,24,192,12, - 192,12,192,12,192,12,192,12,192,12,96,24,96,24,56,112, - 15,192,14,18,36,15,0,0,0,192,1,128,2,0,0,0, - 15,192,56,112,96,24,96,24,192,12,192,12,192,12,192,12, - 192,12,192,12,96,24,96,24,56,112,15,192,14,18,36,15, - 0,0,3,0,7,128,8,64,0,0,15,192,56,112,96,24, - 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 96,24,56,112,15,192,14,17,34,15,0,0,7,64,11,128, - 0,0,15,192,56,112,96,24,96,24,192,12,192,12,192,12, - 192,12,192,12,192,12,96,24,96,24,56,112,15,192,14,17, - 34,15,0,0,12,192,12,192,0,0,15,192,56,112,96,24, - 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 96,24,56,112,15,192,10,9,18,10,0,1,192,192,97,128, - 51,0,30,0,12,0,30,0,51,0,97,128,192,192,15,14, - 28,15,255,0,7,228,28,56,48,28,48,44,96,70,96,134, - 97,6,98,6,100,6,104,6,48,12,48,12,92,56,135,224, - 14,18,36,15,0,0,6,0,3,0,0,128,0,0,252,124, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,48,16,48,16,24,32,15,192,14,18,36,15,0,0, - 0,192,1,128,2,0,0,0,252,124,48,16,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 24,32,15,192,14,18,36,15,0,0,3,0,7,128,8,64, - 0,0,252,124,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,24,32,15,192,14,17, - 34,15,0,0,12,96,12,96,0,0,252,124,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,24,32,15,192,14,18,36,13,255,0,0,96,0,192, - 1,0,0,0,252,124,48,16,24,32,24,32,12,64,12,64, - 6,128,7,128,3,0,3,0,3,0,3,0,3,0,15,192, - 11,14,28,12,0,0,252,0,48,0,48,0,63,128,48,192, - 48,96,48,96,48,96,48,96,48,192,63,0,48,0,48,0, - 252,0,9,14,28,10,0,0,30,0,35,0,97,0,97,0, - 99,0,110,0,99,0,97,128,97,128,97,128,97,128,109,128, - 109,0,230,0,9,13,26,10,0,0,48,0,24,0,4,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,13,26,10,0,0,6,0,12,0,16,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,13,26,10,0,0,24,0,60,0,66,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,12,24,10,0,0,58,0,92,0,0,0, - 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, - 121,128,9,12,24,10,0,0,102,0,102,0,0,0,28,0, - 98,0,99,0,3,0,31,0,99,0,195,0,199,0,121,128, - 9,14,28,10,0,0,24,0,36,0,36,0,24,0,0,0, - 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, - 121,128,15,9,18,16,0,0,28,248,99,140,99,6,3,6, - 31,254,99,0,195,0,197,134,120,252,8,13,13,9,0,252, - 60,99,195,192,192,192,193,99,62,16,28,4,56,8,13,13, - 9,0,0,96,48,8,0,60,102,195,195,255,192,193,99,62, - 8,13,13,9,0,0,6,12,16,0,60,102,195,195,255,192, - 193,99,62,8,13,13,9,0,0,24,60,66,0,60,102,195, - 195,255,192,193,99,62,8,12,12,9,0,0,102,102,0,60, - 102,195,195,255,192,193,99,62,5,13,13,5,255,0,192,96, - 16,0,112,48,48,48,48,48,48,48,120,5,13,13,5,0, - 0,24,48,64,0,224,96,96,96,96,96,96,96,240,6,13, - 13,5,255,0,48,120,132,0,112,48,48,48,48,48,48,48, - 120,6,12,12,5,255,0,204,204,0,112,48,48,48,48,48, - 48,48,120,9,14,28,10,0,0,192,0,54,0,56,0,204, - 0,6,0,63,0,99,0,193,128,193,128,193,128,193,128,193, - 128,99,0,62,0,10,12,24,11,0,0,60,128,79,0,0, - 0,239,0,115,128,97,128,97,128,97,128,97,128,97,128,97, - 128,243,192,9,13,26,10,0,0,96,0,48,0,8,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,13,26,10,0,0,3,0,6,0,8,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,13,26,10,0,0,24,0,60,0,66,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,12,24,10,0,0,58,0,92,0,0,0,62, - 0,99,0,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,9,12,24,10,0,0,99,0,99,0,0,0,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,99,0,62,0,10, - 7,14,10,0,2,12,0,12,0,0,0,255,192,0,0,12, - 0,12,0,9,12,24,10,0,254,0,128,62,128,99,0,197, - 128,197,128,201,128,201,128,209,128,115,0,62,0,64,0,64, - 0,10,13,26,11,0,0,48,0,24,0,4,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,13,26,11,0,0,3,0,6,0,8,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,13,26,11,0,0,12,0,30,0,33,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,12,24,11,0,0,51,0,51,0,0,0,227,192,97, - 128,97,128,97,128,97,128,97,128,97,128,115,128,61,192,10, - 17,34,11,0,252,3,0,6,0,8,0,0,0,241,192,96, - 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, - 0,16,0,208,0,224,0,10,18,36,11,0,252,224,0,96, - 0,96,0,96,0,96,0,111,0,113,128,96,192,96,192,96, - 192,96,192,96,192,113,128,111,0,96,0,96,0,96,0,240, - 0,10,16,32,11,0,252,51,0,51,0,0,0,241,192,96, - 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, - 0,16,0,208,0,224,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=18 x= 4 y=10 dx=19 dy= 0 ascent=15 len=42 - Font Bounding box w=27 h=30 x=-4 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR14r[2534] U8G_SECTION(".progmem.u8g_font_ncenR14r") = { - 0,27,30,252,249,14,3,41,7,30,32,127,252,15,252,14, - 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, - 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, - 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, - 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, - 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, - 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, - 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, - 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, - 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, - 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, - 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, - 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, - 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, - 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, - 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, - 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, - 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, - 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, - 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, - 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, - 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, - 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, - 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, - 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, - 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, - 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, - 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, - 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, - 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, - 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, - 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, - 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, - 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, - 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, - 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, - 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, - 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, - 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, - 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, - 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, - 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, - 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, - 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, - 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, - 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, - 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, - 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, - 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, - 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, - 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, - 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, - 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, - 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, - 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, - 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, - 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, - 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, - 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, - 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, - 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, - 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, - 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, - 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, - 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, - 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, - 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, - 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, - 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, - 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, - 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, - 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, - 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, - 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, - 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, - 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, - 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, - 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, - 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, - 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, - 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, - 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, - 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, - 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, - 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, - 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, - 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, - 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, - 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, - 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, - 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, - 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, - 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, - 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, - 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, - 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, - 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, - 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, - 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, - 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, - 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, - 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, - 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, - 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, - 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, - 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, - 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, - 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, - 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, - 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, - 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, - 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, - 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, - 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, - 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, - 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, - 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, - 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, - 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, - 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, - 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, - 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, - 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, - 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, - 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, - 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, - 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, - 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, - 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, - 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, - 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, - 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, - 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, - 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, - 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, - 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, - 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, - 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, - 192,109,128,199,0,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=25 h=24 x= 6 y=15 dx=25 dy= 0 ascent=24 len=72 - Font Bounding box w=31 h=37 x=-3 y=-8 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR18[7488] U8G_SECTION(".progmem.u8g_font_ncenR18") = { - 0,31,37,253,248,18,4,33,9,197,32,255,251,24,251,18, - 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, - 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, - 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, - 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, - 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, - 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, - 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, - 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, - 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, - 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, - 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, - 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, - 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, - 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, - 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, - 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, - 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, - 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, - 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, - 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, - 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, - 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, - 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, - 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, - 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, - 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, - 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, - 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, - 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, - 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, - 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, - 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, - 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, - 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, - 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, - 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, - 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, - 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, - 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, - 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, - 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, - 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, - 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, - 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, - 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, - 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, - 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, - 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, - 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, - 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, - 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, - 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, - 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, - 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, - 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, - 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, - 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, - 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, - 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, - 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, - 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, - 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, - 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, - 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, - 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, - 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, - 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, - 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, - 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, - 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, - 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, - 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, - 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, - 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, - 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, - 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, - 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, - 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, - 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, - 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, - 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, - 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, - 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, - 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, - 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, - 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, - 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, - 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, - 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, - 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, - 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, - 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, - 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, - 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, - 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, - 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, - 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, - 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, - 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, - 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, - 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, - 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, - 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, - 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, - 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, - 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, - 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, - 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, - 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, - 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, - 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, - 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, - 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, - 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, - 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, - 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, - 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, - 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, - 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, - 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, - 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, - 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, - 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, - 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, - 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, - 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, - 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, - 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, - 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, - 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, - 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, - 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, - 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, - 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, - 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, - 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, - 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, - 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, - 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, - 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, - 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, - 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, - 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, - 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, - 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, - 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, - 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, - 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, - 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, - 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, - 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, - 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, - 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, - 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, - 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, - 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, - 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, - 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, - 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, - 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, - 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, - 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, - 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, - 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, - 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, - 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, - 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, - 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, - 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, - 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, - 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, - 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, - 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, - 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, - 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, - 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, - 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, - 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, - 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, - 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, - 231,224,195,192,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,7,0,1,3,19,19,7,2, - 251,224,224,224,0,0,64,64,64,224,224,224,224,224,224,224, - 224,224,224,64,10,18,36,14,2,253,0,64,0,64,0,128, - 31,128,113,192,97,192,226,192,194,0,196,0,196,0,200,0, - 232,0,112,64,112,192,63,0,32,0,64,0,64,0,13,18, - 36,14,0,0,3,192,14,48,12,112,28,112,28,32,28,0, - 28,0,14,0,127,192,7,0,7,0,7,0,7,0,7,0, - 118,8,140,8,143,240,115,224,13,12,24,15,1,4,71,16, - 255,248,112,112,32,32,96,48,96,48,96,48,96,48,32,32, - 112,112,255,248,71,16,16,18,36,17,0,0,252,63,56,12, - 24,8,28,24,12,16,14,48,6,32,7,96,3,64,3,192, - 31,248,1,128,1,128,31,248,1,128,1,128,1,128,15,240, - 2,18,18,15,6,0,192,192,192,192,192,192,192,0,0,0, - 192,192,192,192,192,192,192,192,10,22,44,12,1,252,31,0, - 35,128,97,128,97,128,120,0,60,0,31,0,47,128,67,192, - 193,192,192,192,224,192,240,192,124,128,63,0,15,0,3,128, - 1,128,97,128,97,128,113,0,62,0,6,2,2,8,1,15, - 204,204,18,18,54,20,1,0,3,240,0,12,12,0,16,2, - 0,32,1,0,67,240,128,70,24,128,140,8,64,140,0,64, - 140,0,64,140,0,64,140,0,64,140,8,64,70,24,128,67, - 224,128,32,1,0,16,2,0,12,12,0,3,240,0,7,10, - 10,9,1,8,120,76,4,124,196,204,118,0,0,254,10,7, - 14,12,1,3,24,192,49,128,99,0,198,0,99,0,49,128, - 24,192,12,7,14,14,1,3,255,240,255,240,0,48,0,48, - 0,48,0,48,0,48,6,2,2,8,1,6,252,252,18,18, - 54,20,1,0,3,240,0,12,12,0,16,2,0,32,1,0, - 71,240,128,67,24,128,131,24,64,131,24,64,131,16,64,131, - 224,64,131,48,64,131,24,64,67,12,128,71,142,128,32,1, - 0,16,2,0,12,12,0,3,240,0,7,1,1,9,1,15, - 254,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, - 22,14,1,2,6,0,6,0,6,0,255,240,255,240,6,0, - 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, - 124,198,198,6,12,24,48,96,192,194,254,7,11,11,8,0, - 7,124,198,198,6,12,60,6,6,198,198,124,5,4,4,8, - 2,15,24,56,96,128,14,17,34,14,0,251,240,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,112, - 63,176,46,60,32,0,32,0,112,0,112,0,32,0,13,22, - 44,15,1,252,31,248,115,48,227,48,227,48,227,48,227,48, - 227,48,227,48,115,48,31,48,3,48,3,48,3,48,3,48, - 3,48,3,48,3,48,3,48,3,48,3,48,3,48,7,248, - 3,3,3,7,2,5,224,224,224,4,4,4,7,1,252,64, - 112,16,224,6,11,11,8,1,7,16,48,240,48,48,48,48, - 48,48,48,252,7,10,10,9,1,8,56,68,198,198,198,68, - 56,0,0,254,10,7,14,12,1,3,198,0,99,0,49,128, - 24,192,49,128,99,0,198,0,18,18,54,19,0,0,16,4, - 0,48,12,0,240,8,0,48,24,0,48,16,0,48,48,0, - 48,32,0,48,99,0,48,71,0,48,207,0,252,139,0,1, - 155,0,1,19,0,3,51,0,2,99,0,6,127,192,4,3, - 0,12,7,128,18,18,54,19,0,0,16,8,0,48,24,0, - 240,16,0,48,48,0,48,32,0,48,96,0,48,64,0,48, - 207,128,48,152,192,49,152,192,253,0,192,3,1,128,2,3, - 0,6,6,0,4,12,0,12,24,0,8,24,64,24,31,192, - 18,18,54,19,0,0,124,4,0,198,12,0,198,8,0,6, - 24,0,12,16,0,60,48,0,6,32,0,6,99,0,198,71, - 0,198,207,0,124,139,0,1,155,0,1,19,0,3,51,0, - 2,99,0,6,127,192,4,3,0,12,7,128,10,18,36,12, - 1,252,7,0,7,0,7,0,0,0,0,0,2,0,2,0, - 6,0,12,0,28,0,56,0,112,0,224,0,225,192,225,192, - 224,192,113,128,30,0,19,23,69,19,0,0,3,0,0,3, - 128,0,0,192,0,0,32,0,0,0,0,0,64,0,0,96, - 0,0,224,0,0,240,0,1,48,0,1,56,0,2,24,0, - 2,28,0,4,12,0,4,12,0,8,14,0,15,254,0,16, - 6,0,16,7,0,32,3,0,32,3,128,96,3,128,248,15, - 224,19,23,69,19,0,0,0,24,0,0,56,0,0,96,0, - 0,128,0,0,0,0,0,64,0,0,96,0,0,224,0,0, - 240,0,1,48,0,1,56,0,2,24,0,2,28,0,4,12, - 0,4,12,0,8,14,0,15,254,0,16,6,0,16,7,0, - 32,3,0,32,3,128,96,3,128,248,15,224,19,23,69,19, - 0,0,0,96,0,0,240,0,1,152,0,2,4,0,0,0, - 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, - 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, - 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, - 128,96,3,128,248,15,224,19,22,66,19,0,0,1,196,0, - 3,248,0,4,112,0,0,0,0,0,64,0,0,96,0,0, - 224,0,0,240,0,1,48,0,1,56,0,2,24,0,2,28, - 0,4,12,0,4,12,0,8,14,0,15,254,0,16,6,0, - 16,7,0,32,3,0,32,3,128,96,3,128,248,15,224,19, - 22,66,19,0,0,3,24,0,3,24,0,0,0,0,0,0, - 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, - 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, - 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, - 128,96,3,128,248,15,224,19,24,72,19,0,0,0,224,0, - 1,16,0,1,16,0,1,16,0,0,224,0,0,0,0,0, - 64,0,0,96,0,0,224,0,0,240,0,1,48,0,1,56, - 0,2,24,0,2,28,0,4,12,0,4,12,0,8,14,0, - 15,254,0,16,6,0,16,7,0,32,3,0,32,3,128,96, - 3,128,248,15,224,24,18,54,25,0,0,1,255,255,0,38, - 7,0,102,3,0,70,1,0,198,1,0,134,17,1,134,16, - 1,6,48,3,7,240,2,6,48,7,254,16,4,6,16,12, - 6,1,8,6,1,24,6,1,16,6,3,48,6,7,252,31, - 255,15,23,46,17,1,251,7,242,28,30,56,6,48,2,112, - 2,96,2,224,0,224,0,224,0,224,0,224,0,224,0,96, - 2,112,2,48,6,56,4,28,28,7,240,3,224,1,0,1, - 192,0,64,3,128,13,23,46,16,1,0,24,0,28,0,6, - 0,1,0,0,0,255,248,48,56,48,24,48,8,48,8,48, - 136,48,128,49,128,63,128,49,128,48,128,48,128,48,8,48, - 8,48,8,48,24,48,56,255,248,13,23,46,16,1,0,0, - 96,0,224,1,128,2,0,0,0,255,248,48,56,48,24,48, - 8,48,8,48,136,48,128,49,128,63,128,49,128,48,128,48, - 128,48,8,48,8,48,8,48,24,48,56,255,248,13,23,46, - 16,1,0,3,0,7,128,12,192,16,32,0,0,255,248,48, - 56,48,24,48,8,48,8,48,136,48,128,49,128,63,128,49, - 128,48,128,48,128,48,8,48,8,48,8,48,24,48,56,255, - 248,13,22,44,16,1,0,12,96,12,96,0,0,0,0,255, - 248,48,56,48,24,48,8,48,8,48,136,48,128,49,128,63, - 128,49,128,48,128,48,128,48,8,48,8,48,8,48,24,48, - 56,255,248,6,23,23,9,2,0,192,224,48,8,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 7,23,23,9,2,0,6,14,24,32,0,252,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,8,23,23, - 9,1,0,24,60,102,129,0,126,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,126,7,22,22,9,2,0, - 198,198,0,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,16,18,36,20,2,0,255,224,48,56, - 48,12,48,12,48,6,48,6,48,7,48,7,254,7,48,7, - 48,7,48,7,48,6,48,6,48,12,48,12,48,56,255,224, - 19,22,66,21,1,0,1,196,0,3,248,0,4,112,0,0, - 0,0,248,15,224,60,3,128,28,1,0,30,1,0,23,1, - 0,19,129,0,17,129,0,16,193,0,16,225,0,16,97,0, - 16,49,0,16,57,0,16,29,0,16,15,0,16,7,0,16, - 7,0,56,3,0,254,1,0,17,23,69,19,1,0,12,0, - 0,14,0,0,3,0,0,0,128,0,0,0,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,17,23,69,19,1,0,0,24,0,0,56,0,0, - 96,0,0,128,0,0,0,0,7,240,0,28,28,0,48,6, - 0,48,6,0,112,7,0,96,3,0,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,96,3,0,112, - 7,0,48,6,0,48,6,0,28,28,0,7,240,0,17,23, - 69,19,1,0,0,192,0,1,224,0,3,48,0,4,8,0, - 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, - 48,6,0,28,28,0,7,240,0,17,22,66,19,1,0,3, - 136,0,7,240,0,8,224,0,0,0,0,7,240,0,28,28, - 0,48,6,0,48,6,0,112,7,0,96,3,0,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,224,3,128,96, - 3,0,112,7,0,48,6,0,48,6,0,28,28,0,7,240, - 0,17,22,66,19,1,0,6,48,0,6,48,0,0,0,0, - 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, - 48,6,0,28,28,0,7,240,0,13,12,24,14,1,1,192, - 24,96,48,48,96,24,192,13,128,7,0,7,0,13,128,24, - 192,48,96,96,48,192,24,17,19,57,19,1,0,0,3,0, - 7,246,0,28,28,0,48,14,0,48,30,0,96,51,0,96, - 99,0,224,67,128,224,195,128,225,131,128,227,3,128,226,3, - 128,230,3,128,108,3,0,120,3,0,48,6,0,48,6,0, - 124,28,0,199,240,0,16,23,46,19,2,0,6,0,7,0, - 1,128,0,64,0,0,252,31,48,14,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,56,12,24,8,30,56,7,224,16,23,46,19,2,0, - 0,48,0,112,0,192,1,0,0,0,252,31,48,14,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,56,12,24,8,30,56,7,224,16,23, - 46,19,2,0,1,128,3,192,6,96,8,16,0,0,252,31, - 48,14,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,56,12,24,8,30,56, - 7,224,16,22,44,19,2,0,6,48,6,48,0,0,0,0, - 252,31,48,14,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,56,12,24,8, - 30,56,7,224,16,23,46,17,0,0,0,48,0,112,0,192, - 1,0,0,0,252,63,56,12,24,8,28,24,12,16,14,48, - 6,32,7,96,3,64,3,192,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,7,224,13,18,36,16,2,0,252,0, - 48,0,48,0,48,0,63,128,48,224,48,48,48,56,48,56, - 48,56,48,56,48,48,48,224,63,128,48,0,48,0,48,0, - 252,0,12,18,36,14,1,0,15,128,24,192,48,96,48,96, - 48,96,48,96,48,192,51,192,48,96,48,48,48,48,48,48, - 48,48,48,48,54,48,54,48,54,96,243,192,12,18,36,13, - 1,0,24,0,28,0,6,0,1,0,0,0,0,0,31,0, - 113,128,112,192,96,192,0,192,7,192,56,192,96,192,192,192, - 192,192,225,240,126,96,12,18,36,13,1,0,1,128,3,128, - 6,0,8,0,0,0,0,0,31,0,113,128,112,192,96,192, - 0,192,7,192,56,192,96,192,192,192,192,192,225,240,126,96, - 12,18,36,13,1,0,6,0,15,0,25,128,32,64,0,0, - 0,0,31,0,113,128,112,192,96,192,0,192,7,192,56,192, - 96,192,192,192,192,192,225,240,126,96,12,17,34,13,1,0, - 28,64,63,128,71,0,0,0,0,0,31,0,113,128,112,192, - 96,192,0,192,7,192,56,192,96,192,192,192,192,192,225,240, - 126,96,12,16,32,13,1,0,25,128,25,128,0,0,0,0, - 31,0,113,128,112,192,96,192,0,192,7,192,56,192,96,192, - 192,192,192,192,225,240,126,96,12,19,38,13,1,0,14,0, - 17,0,17,0,17,0,14,0,0,0,0,0,31,0,113,128, - 112,192,96,192,0,192,7,192,56,192,96,192,192,192,192,192, - 225,240,126,96,19,12,36,21,1,0,31,31,0,113,241,192, - 96,224,192,0,224,224,0,192,96,7,255,224,56,192,0,96, - 192,0,192,224,0,192,224,64,227,112,192,124,31,128,10,16, - 32,12,1,252,31,0,113,192,97,192,224,192,192,0,192,0, - 192,0,192,0,224,0,96,64,112,192,31,128,8,0,14,0, - 2,0,28,0,11,18,36,13,1,0,24,0,28,0,6,0, - 1,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, - 255,224,192,0,192,0,224,0,96,64,112,192,31,128,11,18, - 36,13,1,0,1,128,3,128,6,0,8,0,0,0,0,0, - 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, - 224,0,96,64,112,192,31,128,11,18,36,13,1,0,6,0, - 15,0,25,128,32,64,0,0,0,0,31,0,113,192,96,192, - 224,224,192,96,255,224,192,0,192,0,224,0,96,64,112,192, - 31,128,11,16,32,13,1,0,49,128,49,128,0,0,0,0, - 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, - 224,0,96,64,112,192,31,128,6,18,18,8,1,0,192,224, - 48,8,0,0,240,48,48,48,48,48,48,48,48,48,48,252, - 6,18,18,8,1,0,24,56,96,128,0,0,240,48,48,48, - 48,48,48,48,48,48,48,252,8,18,18,8,0,0,24,60, - 102,129,0,0,120,24,24,24,24,24,24,24,24,24,24,126, - 6,16,16,8,1,0,204,204,0,0,240,48,48,48,48,48, - 48,48,48,48,48,252,11,18,36,13,1,0,192,0,51,0, - 28,0,28,0,102,0,3,0,31,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,31,0, - 14,17,34,14,0,0,7,16,15,224,17,192,0,0,0,0, - 241,192,55,224,56,112,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,252,11,18,36,13,1,0,24,0, - 28,0,6,0,1,0,0,0,0,0,31,0,113,192,96,192, - 224,224,192,96,192,96,192,96,192,96,224,224,96,192,113,192, - 31,0,11,18,36,13,1,0,1,128,3,128,6,0,8,0, - 0,0,0,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,11,18,36,13, - 1,0,14,0,31,0,49,128,64,64,0,0,0,0,31,0, - 113,192,96,192,224,224,192,96,192,96,192,96,192,96,224,224, - 96,192,113,192,31,0,11,17,34,13,1,0,28,64,63,128, - 71,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, - 192,96,192,96,192,96,224,224,96,192,113,192,31,0,11,16, - 32,13,1,0,49,128,49,128,0,0,0,0,31,0,113,192, - 96,192,224,224,192,96,192,96,192,96,192,96,224,224,96,192, - 113,192,31,0,12,10,20,14,1,2,6,0,6,0,0,0, - 0,0,255,240,255,240,0,0,0,0,6,0,6,0,11,16, - 32,13,1,254,0,64,0,128,31,128,113,192,98,192,226,224, - 196,96,196,96,196,96,200,96,200,224,80,192,113,192,63,0, - 32,0,64,0,14,18,36,14,0,0,12,0,14,0,3,0, - 0,128,0,0,0,0,240,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,56,112,31,176,14,60,14,18, - 36,14,0,0,0,192,1,192,3,0,4,0,0,0,0,0, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,176,14,60,14,18,36,14,0,0,3,0, - 7,128,12,192,16,32,0,0,0,0,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,56,112,31,176, - 14,60,14,16,32,14,0,0,12,192,12,192,0,0,0,0, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,176,14,60,13,23,46,12,255,251,0,96, - 0,224,1,128,2,0,0,0,0,0,120,56,48,16,56,48, - 24,32,24,32,12,96,12,64,6,192,6,128,7,128,3,0, - 3,0,2,0,2,0,196,0,236,0,120,0,13,23,46,14, - 0,251,240,0,48,0,48,0,48,0,48,0,48,0,55,192, - 60,112,56,48,48,56,48,24,48,24,48,24,48,24,48,56, - 56,48,60,112,55,192,48,0,48,0,48,0,48,0,252,0, - 13,21,42,12,255,251,12,96,12,96,0,0,0,0,120,56, - 48,16,56,48,24,32,24,32,12,96,12,64,6,192,6,128, - 7,128,3,0,3,0,2,0,2,0,196,0,236,0,120,0 - }; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=25 h=23 x= 6 y=14 dx=25 dy= 0 ascent=20 len=72 - Font Bounding box w=31 h=37 x=-3 y=-8 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR18r[3477] U8G_SECTION(".progmem.u8g_font_ncenR18r") = { - 0,31,37,253,248,18,4,33,9,197,32,127,251,20,251,18, - 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, - 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, - 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, - 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, - 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, - 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, - 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, - 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, - 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, - 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, - 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, - 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, - 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, - 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, - 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, - 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, - 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, - 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, - 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, - 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, - 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, - 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, - 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, - 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, - 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, - 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, - 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, - 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, - 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, - 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, - 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, - 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, - 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, - 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, - 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, - 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, - 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, - 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, - 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, - 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, - 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, - 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, - 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, - 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, - 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, - 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, - 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, - 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, - 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, - 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, - 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, - 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, - 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, - 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, - 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, - 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, - 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, - 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, - 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, - 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, - 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, - 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, - 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, - 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, - 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, - 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, - 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, - 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, - 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, - 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, - 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, - 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, - 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, - 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, - 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, - 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, - 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, - 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, - 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, - 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, - 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, - 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, - 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, - 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, - 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, - 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, - 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, - 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, - 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, - 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, - 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, - 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, - 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, - 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, - 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, - 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, - 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, - 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, - 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, - 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, - 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, - 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, - 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, - 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, - 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, - 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, - 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, - 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, - 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, - 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, - 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, - 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, - 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, - 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, - 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, - 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, - 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, - 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, - 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, - 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, - 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, - 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, - 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, - 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, - 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, - 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, - 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, - 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, - 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, - 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, - 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, - 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, - 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, - 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, - 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, - 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, - 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, - 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, - 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, - 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, - 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, - 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, - 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, - 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, - 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, - 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, - 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, - 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, - 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, - 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, - 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, - 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, - 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, - 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, - 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, - 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, - 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, - 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, - 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, - 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, - 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, - 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, - 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, - 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, - 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, - 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, - 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, - 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, - 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, - 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, - 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, - 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, - 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, - 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, - 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, - 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, - 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, - 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, - 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, - 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, - 231,224,195,192,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=31 h=32 x= 9 y=19 dx=32 dy= 0 ascent=32 len=128 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =32 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24[11729] U8G_SECTION(".progmem.u8g_font_ncenR24") = { - 0,39,50,250,245,25,5,159,15,28,32,255,249,32,249,25, - 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, - 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, - 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, - 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, - 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, - 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, - 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, - 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, - 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, - 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, - 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, - 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, - 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, - 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, - 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, - 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, - 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, - 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, - 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, - 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, - 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, - 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, - 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, - 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, - 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, - 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, - 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, - 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, - 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, - 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, - 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, - 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, - 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, - 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, - 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, - 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, - 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, - 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, - 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, - 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, - 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, - 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, - 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, - 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, - 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, - 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, - 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, - 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, - 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, - 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, - 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, - 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, - 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, - 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, - 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, - 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, - 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, - 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, - 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, - 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, - 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, - 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, - 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, - 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, - 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, - 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, - 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, - 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, - 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, - 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, - 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, - 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, - 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, - 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, - 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, - 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, - 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, - 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, - 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, - 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, - 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, - 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, - 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, - 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, - 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, - 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, - 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, - 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, - 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, - 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, - 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, - 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, - 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, - 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, - 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, - 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, - 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, - 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, - 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, - 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, - 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, - 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, - 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, - 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, - 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, - 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, - 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, - 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, - 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, - 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, - 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, - 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, - 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, - 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, - 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, - 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, - 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, - 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, - 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, - 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, - 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, - 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, - 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, - 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, - 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, - 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, - 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, - 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, - 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, - 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, - 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, - 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, - 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, - 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, - 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, - 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, - 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, - 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, - 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, - 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, - 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, - 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, - 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, - 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, - 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, - 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, - 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, - 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, - 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, - 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, - 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, - 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, - 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, - 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, - 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, - 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, - 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, - 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, - 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, - 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, - 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, - 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, - 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, - 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, - 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, - 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, - 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, - 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, - 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, - 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, - 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, - 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, - 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, - 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, - 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, - 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, - 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, - 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, - 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, - 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, - 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, - 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, - 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, - 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, - 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, - 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, - 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, - 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, - 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, - 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, - 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, - 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, - 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, - 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, - 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, - 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, - 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, - 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, - 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, - 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, - 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, - 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, - 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, - 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, - 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, - 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, - 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, - 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, - 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, - 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, - 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, - 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, - 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, - 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, - 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, - 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, - 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, - 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, - 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, - 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, - 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, - 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, - 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, - 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, - 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, - 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, - 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, - 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, - 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, - 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, - 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, - 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, - 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, - 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, - 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, - 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, - 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, - 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, - 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, - 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, - 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, - 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, - 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, - 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, - 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, - 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, - 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, - 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, - 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, - 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, - 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, - 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, - 127,135,225,254,192,120,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,9,1,1,4,25,25, - 10,3,249,96,240,240,96,0,0,0,96,96,96,96,96,96, - 96,96,96,96,96,240,240,240,240,240,240,96,13,24,48,18, - 2,252,0,24,0,24,0,16,0,48,7,224,31,240,56,112, - 112,112,112,240,224,224,224,128,225,128,225,0,227,0,227,0, - 242,16,118,48,60,96,31,224,15,128,8,0,24,0,16,0, - 16,0,16,23,46,19,1,0,1,240,7,252,14,14,12,14, - 28,30,28,30,28,28,28,0,30,0,14,0,14,0,255,248, - 15,0,7,0,7,0,7,0,6,0,6,0,126,3,223,7, - 143,142,223,252,112,240,16,17,34,19,1,3,67,194,239,247, - 127,254,60,60,112,14,112,14,224,7,224,7,224,7,224,7, - 224,7,112,14,112,14,60,60,127,254,239,247,3,192,17,23, - 69,19,0,0,255,31,128,60,15,0,28,6,0,30,6,0, - 14,4,0,15,12,0,7,8,0,7,24,0,3,144,0,3, - 176,0,1,224,0,0,224,0,7,252,0,7,252,0,0,224, - 0,0,224,0,7,252,0,7,252,0,0,224,0,0,224,0, - 0,224,0,7,248,0,7,248,0,2,25,25,20,9,0,192, - 192,192,192,192,192,192,192,192,192,0,0,0,0,0,192,192, - 192,192,192,192,192,192,192,192,12,30,60,17,2,251,15,0, - 57,192,48,192,113,192,113,192,112,128,56,0,60,0,30,0, - 15,0,63,128,99,192,193,224,192,240,192,112,224,48,240,48, - 120,48,60,96,31,192,15,0,7,128,3,192,1,192,16,224, - 56,224,56,224,48,192,57,192,15,0,9,3,6,11,1,19, - 99,0,247,128,99,0,24,25,75,25,0,0,0,126,0,3, - 255,128,7,129,224,14,0,112,24,0,56,48,0,28,48,127, - 12,96,227,134,97,129,134,67,128,134,195,0,131,199,0,3, - 199,0,3,199,0,3,199,0,3,195,0,3,67,128,6,97, - 193,134,97,227,140,48,126,12,24,0,24,28,0,112,7,1, - 224,3,255,128,0,126,0,11,14,28,11,0,11,63,0,99, - 128,97,128,99,128,15,128,121,128,225,128,193,128,227,128,125, - 224,0,0,0,0,0,0,255,192,11,11,22,14,1,2,4, - 32,12,96,24,192,49,128,115,128,231,0,115,128,49,128,24, - 192,12,96,4,32,16,9,18,20,1,3,255,255,255,255,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,8,3,3, - 11,1,7,255,255,255,24,24,72,25,0,0,0,126,0,3, - 255,192,15,1,240,28,0,56,56,0,24,51,252,12,96,199, - 14,96,195,6,64,195,6,192,195,3,192,198,3,192,252,3, - 192,204,3,192,206,3,192,198,3,96,199,6,96,195,6,96, - 195,142,51,227,204,24,0,24,28,0,112,7,0,224,3,255, - 192,0,126,0,10,2,4,11,0,19,255,192,255,192,9,9, - 18,13,2,14,62,0,119,0,193,128,193,128,128,128,193,128, - 193,128,119,0,62,0,16,16,32,20,2,0,1,128,1,128, - 1,128,1,128,255,255,255,255,1,128,1,128,1,128,1,128, - 1,128,0,0,0,0,0,0,255,255,255,255,10,14,28,11, - 0,9,63,0,115,128,97,128,113,128,113,128,1,128,3,0, - 7,0,14,0,28,0,56,64,112,64,255,192,255,192,9,14, - 28,11,1,9,62,0,99,0,113,128,97,128,1,128,7,0, - 62,0,7,0,3,0,97,128,225,128,195,128,231,0,126,0, - 7,6,6,11,2,19,6,14,28,56,96,192,17,23,69,20, - 1,249,56,14,0,248,62,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,30,0,56,30,0,60,126,0,63,238,0,47, - 143,128,32,0,0,32,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,32,0,0,17,30,90,20,2,251,15,255,128, - 63,255,128,120,198,0,240,198,0,240,198,0,240,198,0,240, - 198,0,240,198,0,240,198,0,240,198,0,120,198,0,124,198, - 0,63,198,0,15,198,0,0,198,0,0,198,0,0,198,0, - 0,198,0,0,198,0,0,198,0,0,198,0,0,198,0,0, - 198,0,0,198,0,0,198,0,0,198,0,0,198,0,0,198, - 0,3,255,128,3,255,128,4,4,4,9,2,6,96,240,240, - 96,6,7,7,11,1,249,16,32,120,12,12,140,120,8,14, - 14,11,1,9,56,248,24,24,24,24,24,24,24,24,24,24, - 24,255,11,14,28,10,255,11,14,0,59,128,96,192,224,224, - 192,96,192,96,224,224,96,192,59,128,14,0,0,0,0,0, - 0,0,127,192,11,11,22,14,1,2,132,0,198,0,99,0, - 49,128,57,192,28,224,57,192,49,128,99,0,198,0,132,0, - 25,23,92,28,1,0,56,0,24,0,248,0,48,0,24,0, - 48,0,24,0,96,0,24,0,192,0,24,0,128,0,24,1, - 128,0,24,3,0,0,24,6,0,0,24,6,4,0,24,12, - 12,0,24,24,28,0,24,24,60,0,255,48,108,0,0,96, - 76,0,0,192,204,0,0,193,140,0,1,131,12,0,3,3, - 255,128,3,0,12,0,6,0,12,0,12,0,12,0,8,0, - 63,0,25,23,92,28,1,0,56,0,24,0,248,0,48,0, - 24,0,32,0,24,0,96,0,24,0,192,0,24,1,128,0, - 24,1,128,0,24,3,0,0,24,6,0,0,24,6,62,0, - 24,12,99,0,24,24,193,128,24,48,193,128,255,48,225,128, - 0,96,195,0,0,192,7,0,0,192,14,0,1,128,28,0, - 3,0,56,0,3,0,112,128,6,0,224,128,12,1,255,128, - 8,1,255,128,25,23,92,28,1,0,62,0,8,0,99,0, - 24,0,113,128,48,0,97,128,48,0,1,128,96,0,7,0, - 192,0,30,1,128,0,7,1,128,0,3,131,0,0,97,134, - 4,0,225,134,12,0,195,140,28,0,231,24,60,0,126,48, - 108,0,0,48,204,0,0,96,204,0,0,193,140,0,0,195, - 12,0,1,131,255,128,3,0,12,0,6,0,12,0,6,0, - 12,0,12,0,63,0,12,25,50,14,1,249,3,0,7,128, - 7,128,3,0,0,0,0,0,0,0,3,0,3,0,2,0, - 2,0,6,0,12,0,28,0,56,0,120,0,112,0,240,0, - 224,112,224,112,224,112,240,48,112,48,60,224,31,192,23,32, - 96,23,0,0,6,0,0,7,0,0,3,128,0,1,192,0, - 0,96,0,0,48,0,0,0,0,0,16,0,0,56,0,0, - 56,0,0,120,0,0,124,0,0,124,0,0,220,0,0,222, - 0,1,158,0,1,142,0,1,143,0,3,7,0,3,7,128, - 3,7,128,6,3,128,7,255,192,7,255,192,12,1,192,12, - 1,224,12,1,224,24,0,240,24,0,240,56,0,248,124,1, - 252,254,3,254,23,32,96,23,0,0,0,1,128,0,3,128, - 0,7,0,0,14,0,0,24,0,0,48,0,0,0,0,0, - 16,0,0,56,0,0,56,0,0,120,0,0,124,0,0,124, - 0,0,220,0,0,222,0,1,158,0,1,142,0,1,143,0, - 3,7,0,3,7,128,3,7,128,6,3,128,7,255,192,7, - 255,192,12,1,192,12,1,224,12,1,224,24,0,240,24,0, - 240,56,0,248,124,1,252,254,3,254,23,31,93,23,0,0, - 0,24,0,0,60,0,0,126,0,0,195,0,1,129,128,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, - 23,0,0,0,241,128,1,255,0,3,30,0,0,0,0,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, - 23,0,0,1,134,0,3,207,0,1,134,0,0,0,0,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,32,96, - 23,0,0,0,120,0,0,204,0,0,132,0,0,132,0,0, - 204,0,0,120,0,0,0,0,0,16,0,0,56,0,0,56, - 0,0,120,0,0,124,0,0,124,0,0,220,0,0,222,0, - 1,158,0,1,142,0,1,143,0,3,7,0,3,7,128,3, - 7,128,6,3,128,7,255,192,7,255,192,12,1,192,12,1, - 224,12,1,224,24,0,240,24,0,240,56,0,248,124,1,252, - 254,3,254,30,25,100,32,0,0,1,255,255,252,0,127,255, - 252,0,29,192,124,0,25,192,28,0,25,192,28,0,49,192, - 12,0,49,192,140,0,97,192,132,0,97,193,132,0,193,193, - 128,0,193,195,128,1,129,255,128,1,129,255,128,3,1,195, - 128,3,255,193,128,7,255,193,128,6,1,192,132,12,1,192, - 132,12,1,192,4,24,1,192,12,24,1,192,12,48,1,192, - 28,48,1,192,124,120,7,255,252,254,31,255,252,20,32,96, - 22,1,249,0,248,96,3,255,96,15,7,224,28,1,224,60, - 0,224,56,0,224,120,0,96,120,0,96,240,0,96,240,0, - 32,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,48,120,0,48,120,0,32,120,0,96,60, - 0,96,28,0,192,14,1,128,7,207,0,1,254,0,0,32, - 0,0,64,0,0,240,0,0,24,0,0,24,0,1,24,0, - 0,240,0,20,32,96,24,1,0,3,0,0,3,128,0,1, - 192,0,0,224,0,0,48,0,0,24,0,0,0,0,255,255, - 240,63,255,240,14,1,240,14,0,112,14,0,112,14,0,48, - 14,4,48,14,4,16,14,4,16,14,12,0,14,60,0,15, - 252,0,15,252,0,14,60,0,14,12,0,14,12,0,14,4, - 16,14,4,16,14,0,16,14,0,48,14,0,48,14,0,112, - 14,1,240,63,255,240,255,255,240,20,32,96,24,1,0,0, - 1,128,0,3,128,0,7,0,0,14,0,0,24,0,0,48, - 0,0,0,0,255,255,240,63,255,240,14,1,240,14,0,112, - 14,0,112,14,0,48,14,4,48,14,4,16,14,4,16,14, - 12,0,14,60,0,15,252,0,15,252,0,14,60,0,14,12, - 0,14,12,0,14,4,16,14,4,16,14,0,16,14,0,48, - 14,0,48,14,0,112,14,1,240,63,255,240,255,255,240,20, - 32,96,24,1,0,0,48,0,0,120,0,0,252,0,1,134, - 0,3,3,0,0,0,0,0,0,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, - 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, - 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, - 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, - 255,240,255,255,240,20,30,90,24,1,0,0,198,0,1,239, - 0,0,198,0,0,0,0,0,0,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, - 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, - 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, - 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, - 255,240,255,255,240,11,32,64,13,1,0,96,0,112,0,56, - 0,28,0,6,0,3,0,0,0,255,224,63,128,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,63,128,255,224,11,32,64,13,1, - 0,0,192,1,192,3,128,7,0,12,0,24,0,0,0,255, - 224,63,128,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,63,128,255, - 224,11,31,62,13,1,0,6,0,15,0,31,128,48,192,96, - 96,0,0,255,224,63,128,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,63,128,255,224,11,30,60,13,1,0,49,128,123,192,49, - 128,0,0,0,0,255,224,63,128,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,63,128,255,224,22,25,75,24,1,0,255,252,0, - 255,255,128,30,7,192,14,1,224,14,0,240,14,0,112,14, - 0,120,14,0,120,14,0,56,14,0,60,14,0,60,14,0, - 60,127,224,60,127,224,60,14,0,60,14,0,60,14,0,60, - 14,0,56,14,0,120,14,0,120,14,0,112,14,0,224,14, - 1,192,255,255,128,255,254,0,26,30,120,28,1,0,0,30, - 48,0,0,63,224,0,0,99,192,0,0,0,0,0,0,0, - 0,0,255,0,255,192,31,0,63,0,15,128,12,0,15,192, - 12,0,15,192,12,0,13,224,12,0,13,240,12,0,12,248, - 12,0,12,120,12,0,12,124,12,0,12,62,12,0,12,30, - 12,0,12,31,12,0,12,15,140,0,12,7,140,0,12,7, - 204,0,12,3,204,0,12,1,236,0,12,0,236,0,12,0, - 252,0,12,0,124,0,12,0,60,0,12,0,60,0,63,0, - 28,0,255,192,12,0,22,32,96,24,1,0,6,0,0,7, - 0,0,3,128,0,1,192,0,0,96,0,0,48,0,0,0, - 0,1,254,0,7,255,128,15,3,192,28,0,224,60,0,240, - 56,0,112,120,0,120,120,0,120,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,56,120,0,120,120,0,120,56,0,112,60,0,240, - 28,0,224,15,3,192,7,255,128,1,254,0,22,32,96,24, - 1,0,0,3,0,0,7,0,0,14,0,0,28,0,0,48, - 0,0,96,0,0,0,0,1,254,0,7,255,128,15,3,192, - 28,0,224,60,0,240,56,0,112,120,0,120,120,0,120,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,56,120,0,120,120,0,120, - 56,0,112,60,0,240,28,0,224,15,3,192,7,255,128,1, - 254,0,22,31,93,24,1,0,0,48,0,0,120,0,0,252, - 0,1,134,0,3,3,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,22,30,90,24,1,0,0,241,128,1,255, - 0,3,30,0,0,0,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,22,30,90,24,1,0,0,198,0,1,239, - 0,0,198,0,0,0,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,17,15,45,20,2,1,224,3,128,112,7, - 0,56,14,0,28,28,0,14,56,0,7,112,0,3,224,0, - 1,192,0,3,224,0,7,112,0,14,56,0,28,28,0,56, - 14,0,112,7,0,224,3,128,22,28,84,24,1,254,0,0, - 24,1,254,48,7,255,176,14,3,224,28,0,224,60,1,240, - 56,1,240,120,3,120,120,6,120,240,6,60,240,12,60,240, - 24,60,240,56,60,240,48,60,240,96,60,240,224,60,240,192, - 60,113,128,56,123,0,120,123,0,120,62,0,112,60,0,240, - 30,1,224,31,3,192,55,255,128,113,254,0,96,0,0,192, - 0,0,26,32,128,26,0,0,0,48,0,0,0,56,0,0, - 0,28,0,0,0,14,0,0,0,3,0,0,0,1,128,0, - 0,0,0,0,255,224,255,192,63,128,63,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 15,0,24,0,7,0,24,0,7,128,48,0,3,224,240,0, - 1,255,192,0,0,127,0,0,26,32,128,26,0,0,0,0, - 48,0,0,0,112,0,0,0,224,0,0,1,192,0,0,3, - 0,0,0,6,0,0,0,0,0,0,255,224,255,192,63,128, - 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, - 48,0,3,224,240,0,1,255,192,0,0,127,0,0,26,31, - 124,26,0,0,0,6,0,0,0,15,0,0,0,31,128,0, - 0,48,192,0,0,96,96,0,0,0,0,0,255,224,255,192, - 63,128,63,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,15,0,24,0,7,0,24,0, - 7,128,48,0,3,224,240,0,1,255,192,0,0,127,0,0, - 26,30,120,26,0,0,0,48,192,0,0,121,224,0,0,48, - 192,0,0,0,0,0,0,0,0,0,255,224,255,192,63,128, - 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, - 48,0,3,224,240,0,1,255,192,0,0,127,0,0,23,32, - 96,23,0,0,0,1,128,0,3,128,0,7,0,0,14,0, - 0,24,0,0,48,0,0,0,0,255,131,254,126,0,248,62, - 0,112,30,0,96,15,0,224,15,0,192,7,129,128,7,193, - 128,3,195,0,3,227,0,1,230,0,0,246,0,0,252,0, - 0,124,0,0,120,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,254, - 0,3,255,128,20,25,75,22,1,0,255,224,0,31,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,15,254,0,15, - 255,128,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,3,224,15,255,192, - 15,255,0,14,0,0,14,0,0,14,0,0,14,0,0,31, - 0,0,255,224,0,17,26,78,19,0,255,3,248,0,7,156, - 0,14,14,0,14,15,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,14,0,28,14,0,28,248,0,28,248,0,28, - 14,0,28,7,0,28,7,0,28,7,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,231,128,28,231,0, - 60,231,0,252,254,0,0,56,0,16,23,46,17,1,0,12, - 0,14,0,7,0,3,128,0,192,0,96,0,0,7,192,31, - 240,120,120,112,56,112,56,112,56,1,248,15,248,60,56,112, - 56,224,56,224,56,224,120,240,253,127,159,63,14,16,23,46, - 17,1,0,0,48,0,112,0,224,1,192,3,0,6,0,0, - 0,7,192,31,240,120,120,112,56,112,56,112,56,1,248,15, - 248,60,56,112,56,224,56,224,56,224,120,240,253,127,159,63, - 14,16,22,44,17,1,0,3,0,7,128,15,192,24,96,48, - 48,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,21,42,17,1,0,15,24,31,240,49,224,0, - 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,21,42,17,1,0,12,96,30,240,12,96,0, - 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,23,46,17,1,0,7,128,12,192,8,64,8, - 64,12,192,7,128,0,0,7,192,31,240,120,120,112,56,112, - 56,112,56,1,248,15,248,60,56,112,56,224,56,224,56,224, - 120,240,253,127,159,62,14,23,16,48,25,1,0,15,195,224, - 63,231,248,112,124,28,112,60,12,112,56,14,112,56,14,1, - 248,14,15,255,254,60,56,0,112,56,0,240,56,0,224,60, - 2,224,124,6,240,254,28,127,207,248,63,3,240,12,23,46, - 14,1,249,7,128,31,224,56,112,112,240,112,240,224,96,224, - 0,224,0,224,0,224,0,240,0,240,16,120,48,124,96,63, - 192,15,0,2,0,4,0,15,0,1,128,1,128,17,128,15, - 0,14,23,46,16,1,0,24,0,28,0,14,0,7,0,1, - 128,0,192,0,0,7,192,31,240,56,56,112,24,112,28,240, - 28,240,28,255,252,224,0,224,0,240,0,240,4,120,12,60, - 56,31,240,7,192,14,23,46,16,1,0,0,24,0,56,0, - 112,0,224,1,128,3,0,0,0,7,192,31,240,56,120,112, - 56,96,28,224,28,224,28,255,252,224,0,224,0,240,0,240, - 4,120,12,60,56,31,240,7,192,14,22,44,16,1,0,3, - 0,7,128,15,192,24,96,48,48,0,0,7,192,31,240,56, - 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, - 0,240,4,120,12,60,56,31,240,7,192,14,21,42,16,1, - 0,12,96,30,240,12,96,0,0,0,0,7,192,31,240,56, - 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, - 0,240,4,120,12,60,24,31,240,7,192,9,23,46,11,1, - 0,192,0,224,0,112,0,56,0,12,0,6,0,0,0,252, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,9, - 23,46,11,1,0,1,128,3,128,7,0,14,0,24,0,48, - 0,0,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,255,128,10,22,44,11,0,0,12,0,30,0,63,0,97, - 128,192,192,0,0,126,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,127,192,9,21,42,11,1,0,99,0,247,128,99, - 0,0,0,0,0,252,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,255,128,14,25,50,17,1,0,48,0,60,0,14, - 224,7,192,15,128,13,192,0,224,0,240,0,112,7,248,31, - 248,56,120,112,60,112,60,224,28,224,28,224,28,224,28,224, - 28,224,28,240,60,112,56,120,120,63,240,15,192,19,21,63, - 19,0,0,3,198,0,7,252,0,12,120,0,0,0,0,0, - 0,0,28,120,0,253,254,0,31,158,0,30,15,0,30,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,255, - 31,224,14,23,46,16,1,0,48,0,56,0,28,0,14,0, - 3,0,1,128,0,0,7,128,31,224,56,112,112,56,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,240,60,112,56, - 120,120,31,224,7,128,14,23,46,16,1,0,0,24,0,56, - 0,112,0,224,1,128,3,0,0,0,7,128,31,224,56,112, - 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,56,120,120,31,224,7,128,14,22,44,16,1,0, - 3,0,7,128,15,192,24,96,48,48,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, - 1,0,15,24,31,240,49,224,0,0,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, - 1,0,24,192,61,224,24,192,0,0,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,16,16,32,20, - 2,0,1,128,3,192,3,192,1,128,0,0,0,0,0,0, - 255,255,255,255,0,0,0,0,0,0,1,128,3,192,3,192, - 1,128,14,22,44,16,1,253,0,24,0,24,0,48,7,240, - 31,240,56,112,112,248,112,216,225,156,225,156,227,28,227,28, - 230,28,230,28,236,56,124,56,120,112,63,224,63,128,48,0, - 96,0,96,0,18,23,69,20,0,0,6,0,0,7,0,0, - 3,128,0,1,192,0,0,96,0,0,48,0,0,0,0,28, - 7,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,15,0,28,15,0,14,63,0,15,247,192,7,199,0,18, - 23,69,20,0,0,0,12,0,0,28,0,0,56,0,0,112, - 0,0,192,0,1,128,0,0,0,0,28,7,0,252,63,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,15,0,28,15, - 0,14,63,0,15,247,192,7,199,0,18,22,66,20,0,0, - 0,192,0,1,224,0,3,240,0,6,24,0,12,12,0,0, - 0,0,28,7,0,252,63,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,15,0,28,15,0,14,63,0,15,247,192,7, - 199,0,18,21,63,20,0,0,3,24,0,7,188,0,3,24, - 0,0,0,0,0,0,0,28,7,0,252,63,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,15,0,28,15,0,14,63, - 0,15,247,192,7,199,0,17,30,90,19,1,249,0,12,0, - 0,28,0,0,56,0,0,112,0,0,192,0,1,128,0,0, - 0,0,255,31,128,124,7,0,60,6,0,28,6,0,30,12, - 0,14,12,0,15,8,0,7,24,0,7,24,0,7,176,0, - 3,176,0,3,224,0,1,224,0,1,224,0,0,192,0,0, - 192,0,1,128,0,1,128,0,99,0,0,227,0,0,230,0, - 0,252,0,0,112,0,0,16,29,58,19,1,249,56,0,248, - 0,56,0,56,0,56,0,56,0,56,240,59,252,63,30,60, - 14,60,15,56,7,56,7,56,7,56,7,56,7,56,7,60, - 15,60,14,62,30,59,252,57,240,56,0,56,0,56,0,56, - 0,56,0,56,0,255,0,18,28,84,20,1,249,3,24,0, - 7,188,0,3,24,0,0,0,0,0,0,0,255,31,192,124, - 7,0,60,6,0,28,6,0,30,12,0,14,12,0,15,8, - 0,7,24,0,7,24,0,7,176,0,3,176,0,3,224,0, - 1,224,0,1,224,0,0,192,0,0,192,0,1,128,0,1, - 128,0,99,0,0,227,0,0,230,0,0,252,0,0,112,0, - 0}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=16 h=25 x= 3 y=11 dx=20 dy= 0 ascent=25 len=50 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24n[722] U8G_SECTION(".progmem.u8g_font_ncenR24n") = { - 0,39,50,250,245,24,0,0,0,0,42,57,0,25,250,24, - 0,12,14,28,17,2,11,6,0,6,0,6,0,198,112,230, - 112,127,224,31,128,31,0,127,192,230,112,198,112,6,0,6, - 0,6,0,16,17,34,20,2,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,255,255,255,255,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,5,10,10,9,2, - 250,112,248,248,120,24,24,48,96,224,128,8,3,3,11,1, - 7,255,255,255,4,4,4,9,2,0,96,240,240,96,10,25, - 50,9,255,0,0,192,0,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,48,0,48,0,48,0,96,0, - 96,0,96,0,192,0,16,24,48,18,2,0,3,192,15,240, - 28,56,24,24,56,28,120,30,112,14,240,15,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,112,14, - 120,30,56,28,24,24,28,56,15,240,3,192,13,24,48,18, - 3,0,3,0,7,0,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, - 255,248,15,24,48,18,1,0,7,224,31,248,56,28,96,30, - 112,14,120,14,120,14,120,14,48,30,0,28,0,28,0,56, - 0,120,0,112,0,224,1,192,3,128,7,2,14,2,28,6, - 56,6,127,254,255,254,255,254,15,24,48,18,1,0,7,224, - 31,248,56,56,112,28,120,28,120,28,48,28,0,28,0,56, - 0,112,1,224,15,240,0,248,0,60,0,28,0,30,96,14, - 240,14,240,14,240,30,224,28,120,124,63,240,15,192,16,24, - 48,18,1,0,0,48,0,48,0,112,0,240,1,240,1,240, - 3,112,6,112,6,112,12,112,24,112,24,112,48,112,96,112, - 96,112,192,112,255,255,255,255,0,112,0,112,0,112,0,112, - 0,248,3,254,14,24,48,18,2,0,56,8,63,248,63,240, - 63,224,48,0,48,0,32,0,96,0,99,192,111,240,124,120, - 112,56,96,60,0,28,0,28,0,28,96,28,240,28,240,28, - 240,60,224,56,112,120,127,240,31,128,15,24,48,18,1,0, - 3,240,15,252,28,62,56,30,56,30,48,12,112,0,112,0, - 112,0,241,224,247,248,254,60,252,28,248,30,240,14,240,14, - 240,14,112,14,112,14,112,30,56,28,56,60,31,240,7,192, - 13,24,48,18,3,0,255,248,255,248,255,248,192,16,192,48, - 128,32,128,96,128,64,0,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,7,0,7,0,7,0,15,0,15,0, - 15,0,15,0,6,0,15,24,48,18,1,0,7,224,31,248, - 60,56,56,28,112,28,112,12,112,12,120,24,60,56,63,112, - 31,224,7,240,7,248,29,252,56,124,112,30,112,30,224,14, - 224,14,224,14,112,28,120,60,63,248,15,224,15,24,48,18, - 1,0,15,192,63,240,120,120,112,56,240,60,224,28,224,28, - 224,30,224,30,240,30,240,62,120,126,120,126,63,222,31,158, - 0,30,0,28,0,28,96,56,240,56,240,112,241,224,127,192, - 63,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=31 h=31 x= 9 y=17 dx=31 dy= 0 ascent=27 len=100 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24r[5367] U8G_SECTION(".progmem.u8g_font_ncenR24r") = { - 0,39,50,250,245,25,5,159,15,28,32,127,249,27,249,25, - 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, - 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, - 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, - 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, - 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, - 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, - 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, - 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, - 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, - 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, - 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, - 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, - 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, - 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, - 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, - 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, - 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, - 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, - 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, - 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, - 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, - 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, - 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, - 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, - 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, - 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, - 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, - 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, - 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, - 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, - 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, - 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, - 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, - 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, - 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, - 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, - 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, - 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, - 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, - 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, - 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, - 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, - 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, - 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, - 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, - 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, - 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, - 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, - 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, - 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, - 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, - 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, - 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, - 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, - 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, - 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, - 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, - 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, - 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, - 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, - 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, - 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, - 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, - 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, - 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, - 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, - 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, - 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, - 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, - 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, - 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, - 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, - 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, - 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, - 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, - 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, - 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, - 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, - 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, - 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, - 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, - 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, - 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, - 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, - 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, - 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, - 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, - 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, - 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, - 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, - 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, - 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, - 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, - 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, - 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, - 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, - 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, - 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, - 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, - 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, - 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, - 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, - 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, - 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, - 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, - 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, - 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, - 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, - 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, - 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, - 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, - 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, - 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, - 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, - 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, - 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, - 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, - 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, - 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, - 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, - 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, - 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, - 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, - 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, - 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, - 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, - 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, - 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, - 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, - 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, - 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, - 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, - 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, - 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, - 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, - 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, - 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, - 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, - 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, - 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, - 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, - 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, - 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, - 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, - 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, - 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, - 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, - 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, - 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, - 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, - 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, - 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, - 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, - 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, - 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, - 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, - 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, - 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, - 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, - 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, - 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, - 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, - 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, - 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, - 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, - 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, - 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, - 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, - 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, - 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, - 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, - 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, - 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, - 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, - 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, - 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, - 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, - 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, - 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, - 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, - 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, - 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, - 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, - 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, - 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, - 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, - 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, - 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, - 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, - 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, - 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, - 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, - 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, - 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, - 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, - 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, - 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, - 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, - 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, - 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, - 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, - 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, - 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, - 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, - 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, - 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, - 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, - 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, - 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, - 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, - 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, - 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, - 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, - 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, - 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, - 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, - 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, - 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, - 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, - 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, - 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, - 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, - 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, - 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, - 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, - 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, - 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, - 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, - 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, - 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, - 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, - 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, - 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, - 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, - 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, - 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, - 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, - 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, - 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, - 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, - 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, - 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, - 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, - 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, - 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, - 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, - 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, - 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, - 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, - 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, - 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, - 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, - 127,135,225,254,192,120,255}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w=11 h= 9 x= 1 y= 4 dx=12 dy= 0 ascent= 9 len=10 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01[1535] U8G_SECTION(".progmem.u8g_font_orgv01") = { - 1,11,11,0,254,5,0,249,1,238,32,255,255,9,254,5, - 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, - 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, - 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, - 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, - 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, - 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, - 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, - 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, - 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, - 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, - 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, - 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, - 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, - 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, - 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, - 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, - 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, - 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, - 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, - 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, - 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, - 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, - 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, - 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, - 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, - 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, - 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, - 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, - 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, - 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, - 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, - 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, - 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, - 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, - 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, - 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, - 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, - 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, - 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, - 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, - 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, - 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, - 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, - 2,53,69,128,64,96,64,128,3,83,99,8,248,128,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,255, - 2,20,36,128,0,128,128,2,85,101,32,248,160,248,32,2, - 85,101,64,224,64,72,120,2,85,101,136,112,80,112,136,2, - 85,101,136,248,32,112,32,2,21,37,128,128,0,128,128,2, - 86,102,248,128,248,248,8,248,4,81,97,248,18,85,117,248, - 168,200,168,248,2,181,202,251,224,138,0,251,224,136,32,139, - 224,19,83,115,72,144,72,3,66,82,240,16,255,2,85,101, - 248,248,200,200,248,6,81,97,248,2,0,112,2,0,112,2, - 0,112,2,0,112,2,0,112,2,0,112,2,0,112,2,0, - 112,2,0,112,2,0,112,2,0,112,4,83,99,144,72,144, - 2,0,112,2,0,112,2,0,112,18,85,117,32,0,224,128, - 248,2,88,104,64,32,0,248,136,248,136,136,2,88,104,16, - 32,0,248,136,248,136,136,2,88,104,32,80,0,248,136,248, - 136,136,2,89,105,8,248,128,0,248,136,248,136,136,2,87, - 103,80,0,248,136,248,136,136,2,87,103,32,0,248,136,248, - 136,136,2,85,101,248,160,248,160,184,0,87,103,248,128,128, - 128,248,16,48,2,88,104,64,32,0,248,128,248,128,248,2, - 88,104,16,32,0,248,128,248,128,248,2,88,104,32,80,0, - 248,128,248,128,248,2,86,102,80,248,128,248,128,248,2,88, - 104,64,32,0,248,32,32,32,248,2,88,104,16,32,0,248, - 32,32,32,248,2,88,104,32,80,0,248,32,32,32,248,2, - 87,103,80,0,248,32,32,32,248,2,85,101,240,136,232,136, - 240,2,89,105,8,248,128,0,248,136,136,136,136,2,88,104, - 64,32,0,248,136,136,136,248,2,88,104,16,32,0,248,136, - 136,136,248,2,88,104,32,80,0,248,136,136,136,248,2,89, - 105,8,248,128,0,248,136,136,136,248,2,87,103,80,0,248, - 136,136,136,248,3,51,67,160,64,160,2,85,101,248,152,168, - 200,248,2,87,103,64,32,136,136,136,136,248,2,87,103,16, - 32,136,136,136,136,248,2,86,102,32,80,136,136,136,248,2, - 86,102,80,0,136,136,136,248,2,88,104,16,32,0,136,136, - 80,32,32,18,85,117,128,240,136,240,128,1,86,102,240,136, - 176,136,176,128,2,68,84,240,16,240,240,2,71,87,64,32, - 0,240,16,240,240,2,71,87,32,64,0,240,16,240,240,2, - 71,87,96,144,0,240,16,240,240,2,70,86,144,0,240,16, - 240,240,2,70,86,32,0,240,16,240,240,2,116,132,254,30, - 240,254,0,70,86,240,128,128,240,32,96,2,71,87,64,32, - 0,240,240,128,240,2,71,87,32,64,0,240,240,128,240,2, - 71,87,96,144,0,240,240,128,240,2,70,86,144,0,240,240, - 128,240,2,39,39,128,64,0,64,64,64,64,2,39,39,64, - 128,0,128,128,128,128,2,55,39,64,160,0,64,64,64,64, - 2,54,38,160,0,64,64,64,64,2,85,85,56,16,240,144, - 240,2,71,87,80,160,0,240,144,144,144,2,71,87,64,32, - 0,240,144,144,240,2,71,87,32,64,0,240,144,144,240,2, - 71,87,96,144,0,240,144,144,240,2,71,87,80,160,0,240, - 144,144,240,2,70,86,144,0,240,144,144,240,2,85,101,32, - 0,248,0,32,2,68,84,240,176,208,240,2,71,87,64,32, - 0,144,144,144,240,2,71,87,32,64,0,144,144,144,240,2, - 71,87,96,144,0,144,144,144,240,2,70,86,144,0,144,144, - 144,240,1,72,88,32,64,0,144,144,144,240,16,18,85,117, - 128,240,136,240,128,1,71,87,144,0,144,144,144,240,16}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01n[130] U8G_SECTION(".progmem.u8g_font_orgv01n") = { - 1,11,11,0,254,5,0,0,0,0,42,57,0,5,255,5, - 0,3,51,67,160,64,160,3,51,67,64,224,64,1,18,34, - 128,128,4,65,81,240,2,17,33,128,2,85,101,8,16,32, - 64,128,2,85,101,248,136,136,136,248,2,21,37,128,128,128, - 128,128,2,85,101,248,8,248,128,248,2,85,101,248,8,248, - 8,248,2,85,101,136,136,248,8,8,2,85,101,248,128,248, - 8,248,2,85,101,248,128,248,136,248,2,85,101,248,8,8, - 8,8,2,85,101,248,136,248,136,248,2,85,101,248,136,248, - 8,248}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01r[719] U8G_SECTION(".progmem.u8g_font_orgv01r") = { - 1,11,11,0,254,5,0,249,1,238,32,127,255,5,255,5, - 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, - 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, - 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, - 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, - 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, - 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, - 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, - 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, - 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, - 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, - 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, - 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, - 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, - 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, - 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, - 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, - 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, - 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, - 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, - 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, - 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, - 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, - 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, - 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, - 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, - 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, - 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, - 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, - 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, - 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, - 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, - 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, - 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, - 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, - 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, - 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, - 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, - 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, - 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, - 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, - 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, - 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, - 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, - 2,53,69,128,64,96,64,128,3,83,99,8,248,128,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 5 y=14 dx=27 dy= 0 ascent=24 len=72 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =18 descent=-6 - Max Font ascent =24 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18[7637] U8G_SECTION(".progmem.u8g_font_osb18") = { - 0,70,31,234,249,18,4,190,10,54,32,255,250,24,250,18, - 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, - 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, - 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, - 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, - 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, - 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, - 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, - 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, - 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, - 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, - 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, - 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, - 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, - 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, - 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, - 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, - 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, - 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, - 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, - 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, - 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, - 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, - 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, - 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, - 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, - 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, - 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, - 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, - 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, - 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, - 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, - 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, - 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, - 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, - 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, - 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, - 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, - 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, - 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, - 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, - 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, - 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, - 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, - 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, - 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, - 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, - 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, - 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, - 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, - 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, - 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, - 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, - 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, - 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, - 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, - 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, - 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, - 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, - 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, - 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, - 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, - 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, - 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, - 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, - 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, - 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, - 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, - 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, - 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, - 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, - 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, - 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, - 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, - 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, - 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, - 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, - 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, - 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, - 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, - 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, - 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, - 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, - 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, - 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, - 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, - 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, - 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, - 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, - 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, - 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, - 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, - 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, - 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, - 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, - 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, - 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, - 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, - 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, - 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, - 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, - 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, - 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, - 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, - 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, - 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, - 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, - 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, - 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, - 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, - 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, - 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, - 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, - 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, - 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, - 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, - 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, - 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, - 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, - 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, - 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, - 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, - 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, - 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, - 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, - 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, - 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, - 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, - 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, - 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, - 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, - 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, - 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, - 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, - 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, - 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, - 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, - 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, - 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, - 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, - 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, - 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, - 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, - 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, - 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, - 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, - 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, - 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, - 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, - 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, - 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, - 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, - 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, - 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, - 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, - 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, - 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, - 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, - 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, - 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, - 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, - 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, - 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, - 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, - 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, - 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, - 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, - 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, - 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, - 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, - 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, - 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, - 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, - 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, - 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, - 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, - 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, - 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, - 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, - 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, - 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, - 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, - 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, - 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, - 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, - 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, - 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, - 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, - 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, - 120,8,255,4,143,196,131,252,64,120,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,7,0, - 0,4,18,18,6,1,250,96,240,240,96,0,0,64,96,96, - 96,96,96,240,240,240,240,240,96,9,18,36,15,3,253,4, - 0,4,0,4,0,30,0,53,0,117,128,231,128,231,128,228, - 0,228,0,228,0,228,0,100,128,116,128,31,0,4,0,4, - 0,4,0,16,18,36,19,2,0,0,248,1,132,3,6,7, - 14,7,14,7,0,7,0,63,0,7,240,7,128,3,128,3, - 128,3,128,3,1,123,2,143,204,135,252,120,240,12,12,24, - 14,1,3,132,16,223,176,112,224,96,96,192,48,192,48,192, - 48,192,48,64,96,96,96,127,224,207,48,14,18,36,14,0, - 0,254,124,56,16,60,16,60,32,30,32,30,64,14,64,15, - 128,7,128,127,240,7,0,127,240,7,0,7,0,7,0,7, - 0,7,0,31,224,2,22,22,8,3,252,192,192,192,192,192, - 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,192, - 192,11,23,46,15,1,251,15,0,48,128,96,192,97,192,97, - 192,112,128,124,0,63,0,223,128,143,192,129,224,192,96,248, - 32,126,32,63,64,15,128,3,192,49,192,112,192,112,192,96, - 128,33,128,30,0,8,3,3,12,2,14,231,231,231,18,18, - 54,20,1,0,3,240,0,12,12,0,16,2,0,33,201,0, - 67,56,128,70,24,128,142,8,64,142,8,64,142,0,64,142, - 0,64,142,8,64,142,8,64,70,8,128,67,16,128,33,225, - 0,16,2,0,12,12,0,3,240,0,7,9,9,10,1,9, - 120,204,204,60,76,204,206,126,254,7,10,10,12,3,1,32, - 100,68,204,204,204,204,196,100,34,13,7,14,15,1,4,255, - 248,255,248,0,24,0,24,0,24,0,24,0,24,6,3,3, - 8,1,5,252,252,252,18,18,54,20,1,0,3,240,0,12, - 12,0,16,2,0,47,225,0,71,48,128,71,56,128,135,56, - 64,135,48,64,135,192,64,135,48,64,135,56,64,135,56,64, - 71,58,128,71,58,128,47,157,0,16,2,0,12,12,0,3, - 240,0,7,2,2,11,2,14,254,254,8,7,7,14,3,11, - 60,102,131,129,129,194,126,21,18,54,23,1,254,0,48,0, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, - 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,0,0,255,255,248, - 255,255,248,7,11,11,11,2,7,124,206,206,238,28,48,98, - 66,254,190,8,8,11,11,12,2,7,60,198,231,231,6,56, - 6,103,231,199,60,4,4,4,11,5,13,48,112,96,192,13, - 18,36,15,1,250,97,128,225,192,225,192,225,192,225,192,225, - 192,225,192,64,136,64,136,65,248,127,120,94,48,64,0,96, - 0,96,0,112,0,112,0,112,0,13,21,42,15,1,253,31, - 248,126,96,126,96,254,96,254,96,254,96,254,96,126,96,62, - 96,14,96,6,96,6,96,6,96,6,96,6,96,6,96,6, - 96,6,96,6,96,6,96,6,96,4,4,4,8,2,6,96, - 240,240,96,5,5,5,11,3,250,32,96,24,24,240,6,11, - 11,11,3,7,48,240,112,112,112,112,112,112,112,112,252,7, - 9,9,9,1,9,56,68,198,198,198,198,68,56,254,7,10, - 10,13,3,1,152,140,68,102,102,102,102,70,76,136,18,18, - 54,22,3,0,48,8,0,240,8,0,112,16,0,112,48,0, - 112,32,0,112,96,0,112,64,0,112,195,0,112,135,0,113, - 143,0,253,15,0,3,23,0,2,39,0,4,39,0,12,63, - 192,8,7,0,24,7,0,16,31,192,18,18,54,23,3,0, - 48,4,0,240,8,0,112,24,0,112,16,0,112,48,0,112, - 32,0,112,96,0,112,79,0,112,147,192,113,177,192,253,57, - 192,3,3,128,2,6,0,6,8,0,4,16,64,8,63,192, - 24,47,192,16,39,128,20,18,54,23,2,0,124,2,0,199, - 6,0,231,4,0,6,12,0,56,8,0,6,16,0,7,16, - 0,231,33,192,231,97,192,198,67,192,60,133,192,0,133,192, - 1,9,192,1,9,192,2,31,240,6,1,192,4,1,192,8, - 7,240,8,18,18,12,2,250,48,120,120,48,56,68,68,4, - 8,24,48,114,97,225,225,225,114,60,17,23,69,19,1,1, - 7,0,0,7,0,0,1,128,0,0,128,0,0,0,0,0, - 192,0,0,192,0,1,192,0,1,224,0,1,224,0,3,224, - 0,2,240,0,2,240,0,4,240,0,4,120,0,4,120,0, - 8,56,0,15,252,0,8,60,0,16,28,0,16,30,0,48, - 30,0,252,255,128,17,23,69,19,1,1,0,56,0,0,48, - 0,0,96,0,0,192,0,0,0,0,0,192,0,0,192,0, - 0,192,0,1,224,0,1,224,0,1,224,0,2,240,0,2, - 240,0,4,112,0,4,120,0,4,120,0,8,56,0,15,252, - 0,8,60,0,16,28,0,16,30,0,48,30,0,252,127,128, - 17,23,69,19,1,0,0,192,0,1,192,0,3,96,0,6, - 24,0,0,0,0,0,192,0,0,192,0,0,192,0,1,224, - 0,1,224,0,1,224,0,2,240,0,2,240,0,4,112,0, - 4,120,0,4,120,0,8,56,0,15,252,0,8,60,0,16, - 28,0,16,30,0,48,30,0,252,127,128,17,23,69,19,1, - 0,1,8,0,7,240,0,4,240,0,0,0,0,0,0,0, - 0,192,0,0,192,0,1,192,0,1,224,0,1,224,0,3, - 224,0,2,240,0,2,240,0,4,240,0,4,120,0,4,120, - 0,8,56,0,15,252,0,8,60,0,16,28,0,16,30,0, - 48,30,0,252,255,128,16,23,46,18,1,0,14,112,14,112, - 14,112,0,0,0,0,1,128,1,128,1,128,3,192,3,192, - 3,192,5,224,5,224,4,224,8,240,8,240,8,112,31,248, - 16,120,16,60,48,60,48,60,252,255,18,23,69,19,1,0, - 1,224,0,2,16,0,2,16,0,1,224,0,0,0,0,0, - 192,0,0,192,0,0,224,0,1,224,0,1,224,0,1,240, - 0,2,240,0,2,240,0,4,120,0,4,120,0,4,120,0, - 8,60,0,15,252,0,8,28,0,16,30,0,16,30,0,48, - 30,0,252,127,192,23,18,54,25,1,0,0,127,254,0,60, - 14,0,60,6,0,124,6,0,92,2,0,220,34,0,156,32, - 1,156,96,1,28,96,3,31,224,2,28,96,6,28,34,7, - 252,34,8,28,2,8,28,2,24,28,6,56,28,14,254,127, - 254,13,24,48,17,2,250,7,136,24,120,48,56,112,24,112, - 24,240,8,240,8,240,8,240,0,240,0,240,0,240,8,240, - 8,112,8,112,8,56,16,24,32,7,192,2,0,3,128,0, - 192,0,192,8,192,7,128,14,23,46,18,2,1,28,0,12, - 0,6,0,1,0,0,0,255,252,56,28,56,12,56,12,56, - 4,56,68,56,64,56,192,56,192,63,192,56,192,56,68,56, - 68,56,4,56,4,56,12,56,28,255,252,14,23,46,18,2, - 1,0,224,0,192,1,128,2,0,0,0,255,252,56,28,56, - 12,56,12,56,4,56,68,56,64,56,192,56,192,63,192,56, - 192,56,68,56,68,56,4,56,4,56,12,56,28,255,252,14, - 23,46,18,2,0,3,0,7,128,12,192,16,32,0,0,255, - 252,56,28,56,12,56,12,56,4,56,68,56,64,56,192,56, - 192,63,192,56,192,56,68,56,68,56,4,56,4,56,12,56, - 28,255,252,14,23,46,18,2,0,28,224,28,224,28,224,0, - 0,0,0,255,252,56,28,56,12,56,12,56,4,56,68,56, - 64,56,192,56,192,63,192,56,192,56,68,56,68,56,4,56, - 12,56,12,56,28,255,252,8,23,23,11,2,1,192,96,48, - 16,0,255,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,255,8,23,23,11,2,1,7,14,8,16,0,255, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 255,8,23,23,11,2,0,16,56,108,130,0,255,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,255,8,23, - 23,11,2,0,231,231,231,0,0,255,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,255,16,18,36,19,2, - 0,255,224,56,56,56,28,56,14,56,14,56,14,56,15,56, - 15,255,15,56,15,56,15,56,15,56,14,56,14,56,12,56, - 28,56,56,255,224,17,23,69,18,1,0,3,136,0,3,240, - 0,4,96,0,0,0,0,0,0,0,252,63,128,60,14,0, - 62,4,0,31,4,0,31,4,0,23,132,0,23,196,0,19, - 196,0,17,228,0,17,244,0,16,244,0,16,124,0,16,124, - 0,16,60,0,16,28,0,16,28,0,56,12,0,254,4,0, - 15,24,48,18,2,0,12,0,12,0,14,0,3,0,1,0, - 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, - 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, - 48,56,8,32,7,192,15,24,48,18,2,0,0,96,0,96, - 0,224,1,128,1,0,0,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,24,48,18, - 2,0,1,0,3,128,7,128,14,192,24,48,0,0,7,192, - 8,32,56,48,48,24,112,28,112,28,240,30,240,30,240,30, - 240,30,240,30,240,30,112,28,112,28,48,24,48,56,8,32, - 7,192,15,23,46,18,2,0,7,32,15,224,16,192,0,0, - 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, - 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, - 48,56,8,32,7,192,15,23,46,18,2,0,28,224,28,224, - 28,224,0,0,0,0,7,192,8,32,56,48,48,24,112,28, - 112,28,240,30,240,30,240,30,240,30,240,30,240,30,112,28, - 112,28,48,24,48,56,8,32,7,192,16,15,30,24,4,0, - 192,3,96,6,48,12,24,24,12,48,6,96,3,192,1,128, - 3,192,6,96,12,48,56,24,112,12,224,6,192,3,15,18, - 36,18,2,0,7,194,8,116,48,60,48,56,112,60,112,124, - 240,94,240,222,241,158,243,30,246,30,244,30,124,28,120,28, - 56,24,120,24,92,32,135,192,18,24,72,20,2,0,6,0, - 0,7,0,0,3,0,0,1,128,0,0,0,0,0,0,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,18,24,72,20,2,0,0,24,0,0, - 56,0,0,112,0,0,192,0,0,128,0,0,0,0,255,31, - 192,56,7,0,56,2,0,56,2,0,56,2,0,56,2,0, - 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,24,2,0,28,4,0,14,8, - 0,3,240,0,18,24,72,20,2,0,0,128,0,1,192,0, - 1,224,0,6,48,0,8,8,0,0,0,0,255,31,192,56, - 7,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,56,2,0,56,2,0, - 56,2,0,56,2,0,24,2,0,28,4,0,14,8,0,3, - 240,0,18,23,69,20,2,0,7,56,0,7,56,0,7,56, - 0,0,0,0,0,0,0,255,31,192,56,7,0,56,2,0, - 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,24,2,0,28,4,0,14,8,0,3,240,0,16,23,46, - 19,2,1,0,112,0,96,0,192,1,0,0,0,254,127,60, - 12,60,8,30,16,30,16,30,16,15,32,15,32,7,64,7, - 192,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 240,15,18,36,18,2,0,255,128,56,0,56,0,63,224,56, - 56,56,28,56,30,56,30,56,30,56,30,56,28,56,56,63, - 224,56,0,56,0,56,0,56,0,255,128,12,18,36,13,0, - 0,7,128,12,192,24,224,56,224,56,224,56,224,56,192,59, - 0,56,192,56,96,56,112,56,112,56,112,56,112,56,112,63, - 112,63,96,251,192,11,18,36,13,1,0,32,0,48,0,48, - 0,24,0,4,0,0,0,30,0,99,0,99,128,115,128,7, - 128,27,128,115,128,227,128,227,160,227,160,247,160,121,192,11, - 18,36,13,1,0,3,0,3,0,6,0,4,0,8,0,0, - 0,30,0,99,0,99,128,115,128,35,128,31,128,115,128,227, - 128,227,160,227,160,247,160,121,192,11,18,36,13,1,0,12, - 0,12,0,30,0,50,0,65,0,0,0,30,0,99,0,99, - 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, - 160,121,192,11,17,34,13,1,0,57,0,127,0,70,0,0, - 0,0,0,30,0,99,0,99,128,115,128,35,128,31,128,115, - 128,227,128,227,160,227,160,247,160,121,192,11,17,34,13,1, - 0,119,0,119,0,119,0,0,0,0,0,30,0,99,0,99, - 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, - 160,121,192,11,18,36,13,1,0,28,0,38,0,34,0,34, - 0,28,0,0,0,30,0,99,0,99,128,115,128,35,128,31, - 128,115,128,227,128,227,160,227,160,231,160,121,192,15,12,24, - 18,1,0,62,248,99,140,99,142,115,142,7,142,27,254,115, - 128,227,128,227,130,227,130,247,196,120,120,9,18,36,12,1, - 250,30,0,49,0,113,128,227,128,227,128,224,0,224,0,224, - 0,224,128,112,128,49,0,30,0,8,0,8,0,6,0,6, - 0,6,0,28,0,9,18,36,12,1,0,32,0,112,0,48, - 0,24,0,4,0,0,0,30,0,51,0,99,128,227,128,227, - 128,255,128,224,0,224,0,224,128,112,128,49,0,30,0,9, - 18,36,12,1,0,3,0,7,0,6,0,12,0,8,0,0, - 0,30,0,51,0,99,128,227,128,227,128,255,128,224,0,224, - 0,224,128,112,128,49,0,30,0,9,18,36,12,1,0,12, - 0,28,0,28,0,50,0,65,0,0,0,30,0,51,0,99, - 128,227,128,227,128,255,128,224,0,224,0,224,128,112,128,49, - 0,30,0,9,17,34,12,1,0,115,128,115,128,115,128,0, - 0,0,0,30,0,51,0,99,128,227,128,227,128,255,128,224, - 0,224,0,224,0,112,128,49,0,30,0,7,18,18,8,1, - 0,192,224,112,16,8,0,120,56,56,56,56,56,56,56,56, - 56,56,126,6,18,18,8,1,0,12,28,24,48,0,0,240, - 112,112,112,112,112,112,112,112,112,112,248,7,18,18,7,0, - 0,56,56,108,198,0,0,120,56,56,56,56,56,56,56,56, - 56,56,126,7,17,17,8,1,0,238,238,238,0,0,120,56, - 56,56,56,56,56,56,56,56,56,126,10,18,36,12,1,0, - 57,128,30,0,14,0,31,0,39,0,3,128,31,128,51,192, - 97,192,225,192,225,192,225,192,225,192,225,192,225,192,97,128, - 51,128,30,0,11,17,34,13,1,0,24,128,63,128,39,0, - 0,0,0,0,243,128,125,192,121,192,113,192,113,192,113,192, - 113,192,113,192,113,192,113,192,113,192,251,224,10,18,36,12, - 1,0,48,0,48,0,24,0,12,0,4,0,0,0,30,0, - 51,0,97,128,225,192,225,192,225,192,225,192,225,192,225,192, - 97,128,51,0,30,0,10,18,36,12,1,0,3,0,3,0, - 7,0,4,0,8,0,0,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 10,18,36,12,1,0,12,0,14,0,30,0,51,0,96,128, - 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, - 225,192,225,192,97,128,51,0,30,0,10,17,34,12,1,0, - 56,128,63,0,70,0,0,0,0,0,30,0,51,0,97,128, - 225,192,225,192,225,192,225,192,225,192,225,192,97,128,51,0, - 30,0,10,17,34,12,1,0,115,128,115,128,115,128,0,0, - 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, - 225,192,225,192,97,128,51,0,30,0,21,17,51,23,1,254, - 0,48,0,0,120,0,0,120,0,0,48,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,248,255,255,248,0,0, - 0,0,0,0,0,0,0,0,48,0,0,120,0,0,120,0, - 0,48,0,10,12,24,12,1,0,30,64,51,128,97,128,225, - 192,227,192,229,192,233,192,241,192,241,192,97,128,115,0,158, - 0,12,18,36,13,0,0,24,0,24,0,12,0,6,0,2, - 0,0,0,249,224,56,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,224,57,224,58,224,28,240,12,18,36,13,0, - 0,1,128,1,128,3,0,2,0,0,0,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,18,36,13,0,0,6,0,6,0,15, - 0,25,128,0,0,0,0,249,224,56,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,57,224,58,224,28,240,12, - 17,34,13,0,0,57,192,57,192,57,192,0,0,0,0,249, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 224,57,224,58,224,28,240,12,24,48,12,0,250,1,128,1, - 128,3,0,6,0,4,0,0,0,252,240,112,64,56,64,56, - 128,28,128,28,128,29,0,15,0,15,0,7,0,6,0,6, - 0,2,0,4,0,116,0,116,0,104,0,56,0,12,23,46, - 13,0,250,24,0,120,0,184,0,56,0,56,0,57,224,58, - 240,60,112,60,112,56,112,56,96,56,224,56,192,56,128,57, - 0,58,0,60,0,56,0,56,0,56,0,56,0,96,0,128, - 0,13,23,46,13,0,250,28,224,28,224,28,224,0,0,0, - 0,254,120,56,32,60,64,28,64,30,64,14,64,14,128,7, - 128,7,128,7,0,3,0,3,0,2,0,2,0,58,0,60, - 0,52,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=21 h=23 x= 3 y= 8 dx=23 dy= 0 ascent=18 len=63 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18n[600] U8G_SECTION(".progmem.u8g_font_osb18n") = { - 0,70,31,234,249,18,0,0,0,0,42,57,0,18,251,18, - 0,9,10,20,13,2,8,24,0,24,0,201,128,235,128,28, - 0,44,0,235,128,217,128,24,0,24,0,21,21,63,23,1, - 253,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, - 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 4,9,9,7,2,251,224,240,240,240,16,32,32,64,128,6, - 3,3,8,1,5,252,252,252,4,4,4,8,2,0,96,240, - 240,96,9,23,46,11,1,251,1,128,1,128,1,0,3,0, - 3,0,2,0,6,0,6,0,4,0,12,0,12,0,8,0, - 24,0,24,0,24,0,16,0,48,0,48,0,32,0,96,0, - 96,0,64,0,192,0,12,18,36,15,1,0,15,0,25,128, - 48,192,112,224,112,224,240,224,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,48,192,25,128,15,0, - 8,18,18,15,3,0,24,56,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,255,11,18,36,15,2,0,31,0, - 113,192,96,224,224,224,240,224,248,224,121,192,1,192,3,0, - 6,0,8,0,48,32,64,32,64,32,255,224,191,224,143,192, - 135,128,12,18,36,15,1,0,31,0,49,192,96,224,112,224, - 120,224,120,224,0,192,1,128,62,0,1,192,0,224,0,240, - 112,240,248,240,240,240,192,224,65,192,63,0,11,18,36,15, - 2,0,3,0,7,0,7,0,15,0,15,0,23,0,55,0, - 39,0,103,0,71,0,199,0,135,0,255,224,7,0,7,0, - 7,0,7,0,63,224,11,18,36,15,2,0,65,128,127,128, - 126,0,120,0,64,0,64,0,95,0,99,128,65,192,65,224, - 1,224,33,224,241,224,241,224,225,192,193,192,67,128,62,0, - 11,18,36,15,2,0,7,128,24,64,48,224,113,224,113,224, - 240,0,240,0,247,128,249,192,240,224,240,224,240,224,240,224, - 112,224,112,224,48,192,57,192,15,0,11,18,36,15,2,0, - 156,64,190,96,255,32,255,224,128,32,128,64,128,64,0,128, - 1,128,3,0,7,0,6,0,14,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,15,1,0,31,128,32,64,64,32, - 192,32,192,32,240,32,252,64,127,128,127,192,63,224,103,240, - 193,240,192,112,192,48,192,48,96,32,112,64,31,128,12,18, - 36,15,2,0,31,0,113,128,96,192,224,224,224,224,224,240, - 224,240,96,240,113,240,30,240,0,240,0,240,56,224,120,224, - 120,224,97,192,33,128,30,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 3 y=13 dx=27 dy= 0 ascent=20 len=72 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =18 descent=-6 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18r[3611] U8G_SECTION(".progmem.u8g_font_osb18r") = { - 0,70,31,234,249,18,4,190,10,54,32,127,250,20,250,18, - 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, - 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, - 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, - 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, - 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, - 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, - 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, - 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, - 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, - 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, - 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, - 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, - 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, - 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, - 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, - 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, - 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, - 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, - 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, - 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, - 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, - 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, - 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, - 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, - 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, - 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, - 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, - 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, - 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, - 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, - 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, - 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, - 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, - 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, - 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, - 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, - 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, - 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, - 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, - 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, - 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, - 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, - 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, - 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, - 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, - 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, - 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, - 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, - 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, - 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, - 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, - 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, - 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, - 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, - 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, - 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, - 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, - 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, - 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, - 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, - 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, - 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, - 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, - 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, - 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, - 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, - 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, - 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, - 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, - 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, - 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, - 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, - 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, - 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, - 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, - 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, - 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, - 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, - 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, - 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, - 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, - 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, - 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, - 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, - 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, - 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, - 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, - 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, - 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, - 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, - 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, - 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, - 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, - 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, - 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, - 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, - 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, - 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, - 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, - 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, - 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, - 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, - 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, - 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, - 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, - 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, - 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, - 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, - 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, - 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, - 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, - 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, - 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, - 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, - 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, - 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, - 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, - 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, - 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, - 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, - 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, - 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, - 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, - 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, - 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, - 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, - 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, - 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, - 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, - 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, - 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, - 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, - 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, - 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, - 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, - 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, - 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, - 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, - 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, - 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, - 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, - 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, - 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, - 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, - 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, - 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, - 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, - 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, - 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, - 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, - 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, - 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, - 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, - 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, - 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, - 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, - 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, - 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, - 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, - 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, - 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, - 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, - 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, - 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, - 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, - 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, - 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, - 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, - 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, - 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, - 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, - 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, - 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, - 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, - 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, - 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, - 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, - 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, - 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, - 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, - 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, - 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, - 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, - 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, - 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, - 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, - 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, - 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, - 120,8,255,4,143,196,131,252,64,120,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=28 h=29 x= 5 y=17 dx=31 dy= 0 ascent=28 len=87 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_SECTION(".progmem.u8g_font_osb21") = { - 0,77,36,232,248,21,5,141,12,241,32,255,249,28,248,21, - 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, - 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, - 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, - 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, - 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, - 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, - 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, - 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, - 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, - 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, - 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, - 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, - 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, - 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, - 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, - 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, - 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, - 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, - 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, - 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, - 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, - 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, - 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, - 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, - 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, - 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, - 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, - 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, - 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, - 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, - 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, - 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, - 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, - 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, - 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, - 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, - 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, - 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, - 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, - 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, - 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, - 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, - 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, - 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, - 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, - 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, - 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, - 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, - 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, - 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, - 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, - 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, - 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, - 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, - 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, - 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, - 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, - 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, - 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, - 0,112,240,248,248,248,8,16,16,32,192,21,24,72,26,2, - 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, - 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, - 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, - 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, - 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, - 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, - 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, - 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, - 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, - 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, - 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, - 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, - 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, - 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, - 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, - 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, - 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, - 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, - 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, - 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, - 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, - 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, - 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, - 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, - 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, - 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, - 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, - 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, - 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, - 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, - 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, - 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, - 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, - 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, - 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, - 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, - 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, - 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, - 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, - 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, - 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, - 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, - 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, - 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, - 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, - 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, - 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, - 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, - 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, - 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, - 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, - 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, - 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, - 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, - 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, - 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, - 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, - 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, - 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, - 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, - 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, - 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, - 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, - 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, - 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, - 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, - 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, - 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, - 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, - 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, - 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, - 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, - 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, - 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, - 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, - 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, - 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, - 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, - 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, - 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, - 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, - 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, - 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, - 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, - 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, - 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, - 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, - 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, - 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, - 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, - 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, - 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, - 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, - 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, - 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, - 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, - 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, - 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, - 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, - 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, - 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, - 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, - 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, - 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, - 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, - 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, - 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, - 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, - 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, - 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, - 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, - 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, - 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, - 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, - 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, - 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, - 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, - 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, - 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, - 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, - 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, - 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, - 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, - 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, - 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, - 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, - 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, - 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, - 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, - 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, - 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, - 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, - 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, - 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, - 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, - 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, - 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, - 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, - 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, - 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, - 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, - 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, - 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, - 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, - 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, - 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, - 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, - 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, - 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, - 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, - 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, - 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, - 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, - 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, - 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, - 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, - 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, - 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, - 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, - 143,193,131,241,128,254,64,62,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,8,0,0,5, - 21,21,9,2,249,112,248,248,112,0,0,32,32,32,32,32, - 112,112,112,112,248,248,248,248,248,112,10,21,42,16,3,253, - 2,0,2,0,2,0,15,0,26,128,50,192,114,192,243,192, - 243,192,242,0,242,0,242,0,242,0,242,64,114,64,50,64, - 30,128,15,0,2,0,2,0,2,0,17,21,63,20,2,1, - 0,254,0,1,131,0,3,131,0,3,135,128,7,135,128,7, - 135,0,7,128,0,7,128,0,7,128,0,31,128,0,39,248, - 0,7,128,0,7,192,0,3,192,0,3,128,0,3,128,0, - 3,128,128,123,1,128,143,135,0,135,254,0,121,252,0,13, - 13,26,17,2,3,207,152,255,248,112,112,96,48,192,24,192, - 24,192,24,192,24,192,24,96,48,112,112,255,248,207,152,15, - 21,42,16,1,0,254,126,124,24,124,24,60,16,60,16,30, - 32,30,32,30,64,15,64,15,128,7,128,127,248,7,128,127, - 248,7,128,7,128,7,128,7,128,7,128,7,128,63,240,2, - 26,26,8,3,251,192,192,192,192,192,192,192,192,192,192,0, - 0,0,0,0,0,192,192,192,192,192,192,192,192,192,192,13, - 27,54,18,1,250,15,128,16,64,32,96,96,224,97,224,97, - 224,112,128,124,0,63,0,95,192,79,240,195,240,192,248,224, - 56,248,24,126,16,127,144,31,224,7,224,1,224,48,224,120, - 96,120,96,112,96,96,192,48,128,31,0,9,4,8,13,2, - 16,99,0,247,128,247,128,99,0,20,21,63,22,1,1,3, - 252,0,12,3,0,16,0,128,32,0,64,32,244,64,65,140, - 32,67,132,32,131,132,16,135,132,16,135,132,16,135,128,16, - 135,128,16,135,128,16,135,130,16,67,132,32,67,132,32,33, - 136,64,32,240,64,16,0,128,12,3,0,3,252,0,8,11, - 11,10,1,10,56,76,108,108,60,204,205,205,118,0,255,7, - 11,11,13,3,2,34,68,196,204,204,204,204,204,68,98,34, - 14,8,16,16,1,4,255,252,255,252,0,12,0,12,0,12, - 0,12,0,12,0,12,7,3,3,11,2,6,254,254,254,20, - 21,63,22,1,1,3,252,0,12,3,0,16,0,128,32,0, - 64,47,248,64,67,206,32,67,206,32,131,207,16,131,206,16, - 131,206,16,131,240,16,131,204,16,131,206,16,131,206,16,67, - 206,160,67,206,160,35,206,192,47,231,64,16,0,128,12,3, - 0,3,252,0,7,2,2,13,3,17,254,254,9,10,20,17, - 4,12,8,0,62,0,119,0,193,128,193,128,193,128,193,128, - 99,0,127,0,28,0,24,22,66,26,1,254,0,24,0,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,255,255,255,255,255,255,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,0,0,0,0,0,255,255,255,255,255,255,9,12, - 24,13,2,9,62,0,71,0,199,128,231,0,111,0,12,0, - 24,0,33,0,65,128,255,0,159,0,142,0,10,13,26,13, - 2,8,62,0,67,0,195,128,227,128,99,128,3,0,60,0, - 7,0,3,128,243,192,227,128,199,128,62,0,5,5,5,12, - 5,16,24,56,112,96,192,14,22,44,17,2,248,96,192,224, - 224,241,224,241,224,225,224,225,224,224,224,224,224,96,192,64, - 196,64,196,65,252,127,124,78,56,64,0,64,0,96,0,224, - 0,240,0,240,0,112,0,96,0,13,25,50,17,2,252,31, - 248,126,96,254,96,254,96,254,96,254,96,254,96,254,96,254, - 96,126,96,62,96,6,96,6,96,6,96,6,96,6,96,6, - 96,6,96,6,96,6,96,6,96,6,96,6,96,6,96,6, - 96,4,4,4,8,2,7,96,240,240,96,5,6,6,13,4, - 249,32,64,48,24,24,240,7,12,12,13,3,9,28,252,60, - 60,60,60,60,60,60,60,60,254,8,11,11,11,2,10,60, - 102,230,231,231,231,230,102,60,0,255,7,11,11,13,3,2, - 136,68,102,102,102,102,102,102,68,140,136,22,21,63,26,3, - 0,12,1,128,28,1,0,252,3,0,60,2,0,60,6,0, - 60,12,0,60,12,0,60,24,0,60,16,0,60,48,112,60, - 32,240,60,97,240,254,65,240,0,194,240,0,130,240,1,132, - 240,3,8,240,3,15,252,6,0,240,4,0,240,12,3,248, - 21,22,66,26,3,0,0,1,128,28,1,0,252,3,0,60, - 2,0,60,6,0,60,4,0,60,12,0,60,24,0,60,24, - 0,60,51,224,60,36,112,60,108,120,60,78,120,254,206,120, - 0,134,112,1,128,192,1,1,0,3,2,8,2,4,8,6, - 15,248,4,11,240,12,8,224,22,21,63,25,2,0,62,0, - 128,67,1,128,195,129,0,227,131,0,99,130,0,3,6,0, - 60,4,0,7,8,0,3,152,0,243,208,112,227,176,112,199, - 160,240,62,97,240,0,65,240,0,194,240,0,130,240,1,132, - 240,1,7,252,3,0,240,2,0,240,6,3,252,9,22,44, - 13,2,249,24,0,60,0,60,0,60,0,24,0,0,0,28, - 0,34,0,34,0,34,0,6,0,12,0,28,0,56,0,112, - 0,113,0,240,128,240,128,240,128,240,128,113,0,62,0,19, - 27,81,22,2,1,3,0,0,3,128,0,1,128,0,0,192, - 0,0,64,0,0,0,0,0,64,0,0,96,0,0,224,0, - 0,224,0,0,240,0,1,240,0,1,240,0,1,248,0,2, - 120,0,2,120,0,2,124,0,4,60,0,4,60,0,4,62, - 0,15,254,0,8,30,0,8,31,0,16,15,0,16,15,0, - 48,15,128,254,127,224,19,27,81,21,2,1,0,24,0,0, - 56,0,0,48,0,0,96,0,0,64,0,0,0,0,0,64, - 0,0,96,0,0,224,0,0,224,0,0,240,0,1,240,0, - 1,240,0,1,248,0,2,120,0,2,120,0,2,124,0,4, - 60,0,4,60,0,8,60,0,15,254,0,8,30,0,16,30, - 0,16,15,0,16,15,0,48,15,128,254,127,224,19,27,81, - 22,2,0,0,64,0,0,224,0,1,240,0,3,24,0,4, - 4,0,0,0,0,0,64,0,0,96,0,0,224,0,0,224, - 0,0,240,0,1,240,0,1,240,0,1,248,0,2,120,0, - 2,120,0,2,124,0,4,60,0,4,60,0,4,62,0,15, - 254,0,8,30,0,8,31,0,16,15,0,16,15,0,48,15, - 128,254,127,224,19,27,81,21,2,0,0,4,0,1,200,0, - 3,248,0,4,112,0,0,0,0,0,0,0,0,64,0,0, - 96,0,0,224,0,0,224,0,0,240,0,1,240,0,1,240, - 0,1,248,0,2,120,0,2,120,0,2,124,0,4,60,0, - 4,60,0,4,60,0,15,254,0,8,30,0,24,30,0,16, - 15,0,16,15,0,48,15,128,254,127,224,19,27,81,22,2, - 0,3,12,0,7,158,0,7,158,0,3,12,0,0,0,0, - 0,0,0,0,96,0,0,96,0,0,224,0,0,240,0,0, - 240,0,1,240,0,1,248,0,1,120,0,2,120,0,2,124, - 0,2,60,0,4,60,0,4,62,0,4,30,0,15,254,0, - 8,31,0,8,15,0,16,15,0,16,15,0,48,15,128,254, - 127,224,19,27,81,21,1,0,0,240,0,1,8,0,1,8, - 0,1,8,0,0,240,0,0,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 120,0,1,120,0,2,124,0,2,60,0,2,60,0,4,62, - 0,4,30,0,7,254,0,8,31,0,8,15,0,8,15,0, - 24,15,0,24,15,128,254,63,224,26,21,84,28,0,0,0, - 63,255,192,0,15,131,192,0,15,129,192,0,31,128,192,0, - 23,128,192,0,55,128,64,0,39,132,64,0,103,132,0,0, - 71,140,0,0,199,156,0,0,135,252,0,1,135,156,0,1, - 7,140,0,3,7,132,64,3,255,132,64,6,7,128,64,4, - 7,128,64,12,7,128,192,12,7,129,192,28,7,131,192,255, - 63,255,192,15,28,56,18,2,250,15,230,28,30,56,30,56, - 14,120,14,120,6,248,6,248,6,248,2,248,0,248,0,248, - 0,248,0,248,2,120,2,120,2,120,4,56,4,60,12,28, - 8,6,48,1,192,1,0,1,192,0,96,0,96,4,96,3, - 192,16,27,54,19,1,1,6,0,7,0,3,0,1,128,0, - 0,0,0,255,255,30,15,30,7,30,3,30,3,30,1,30, - 17,30,16,30,48,30,48,31,240,30,48,30,48,30,17,30, - 17,30,1,30,1,30,3,30,7,30,15,255,255,16,27,54, - 19,1,1,0,56,0,120,0,96,0,192,0,0,0,0,255, - 255,30,15,30,7,30,3,30,3,30,1,30,17,30,16,30, - 48,30,48,31,240,30,48,30,48,30,17,30,17,30,1,30, - 1,30,3,30,7,30,15,255,255,16,27,54,19,1,0,0, - 128,1,192,3,96,6,56,8,0,0,0,255,255,30,15,30, - 7,30,3,30,3,30,1,30,17,30,16,30,48,30,48,31, - 240,30,48,30,48,30,17,30,17,30,1,30,1,30,3,30, - 7,30,15,255,255,16,27,54,19,1,0,6,24,15,60,15, - 60,6,24,0,0,0,0,255,255,30,15,30,7,30,3,30, - 3,30,1,30,17,30,16,30,48,30,48,31,240,30,48,30, - 48,30,17,30,17,30,1,30,1,30,3,30,7,30,15,255, - 255,9,27,54,11,1,1,96,0,112,0,56,0,8,0,0, - 0,0,0,255,128,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,255,128,10,27,54, - 12,1,1,3,128,3,128,6,0,12,0,8,0,0,0,255, - 192,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,255,192,9,27,54,11,1,0,12, - 0,28,0,62,0,99,0,0,128,0,0,255,128,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,255,128,10,27,54,13,2,0,97,128,243,192,243, - 192,97,128,0,0,0,0,255,192,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,255, - 192,19,21,63,22,2,0,255,248,0,30,14,0,30,7,0, - 30,3,128,30,3,192,30,3,192,30,3,192,30,3,224,30, - 3,224,30,3,224,255,131,224,30,3,224,30,3,224,30,3, - 224,30,3,192,30,3,192,30,3,128,30,3,128,30,7,0, - 30,14,0,255,248,0,21,26,78,22,1,1,0,226,0,1, - 254,0,2,28,0,0,0,0,0,0,0,254,15,248,31,1, - 192,31,0,128,15,128,128,15,192,128,15,192,128,11,224,128, - 11,240,128,9,248,128,8,248,128,8,252,128,8,126,128,8, - 62,128,8,31,128,8,31,128,8,15,128,8,7,128,8,7, - 128,8,3,128,28,1,128,255,129,128,17,27,81,20,2,1, - 14,0,0,7,0,0,3,0,0,1,128,0,0,0,0,0, - 128,0,7,112,0,12,24,0,24,12,0,56,14,0,120,14, - 0,120,15,0,120,15,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,120,15,0,120, - 15,0,120,15,0,56,14,0,24,12,0,12,24,0,7,112, - 0,17,27,81,20,2,1,0,56,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,128,0,7,112,0,12,24,0,24, - 12,0,56,14,0,120,14,0,120,15,0,120,15,0,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,120,15,0,120,15,0,120,15,0,56,14,0,24, - 12,0,12,24,0,7,112,0,17,27,81,20,2,0,0,128, - 0,1,192,0,3,96,0,6,48,0,8,8,0,0,128,0, - 7,112,0,12,24,0,24,12,0,56,14,0,120,14,0,120, - 15,0,120,15,0,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, - 120,15,0,56,14,0,24,12,0,12,24,0,7,112,0,17, - 27,81,20,2,0,0,8,0,7,136,0,7,240,0,8,224, - 0,0,0,0,0,128,0,7,112,0,12,24,0,24,12,0, - 56,14,0,120,14,0,120,15,0,120,15,0,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,120,15,0,120,15,0,120,15,0,56,14,0,24,12,0, - 12,24,0,7,112,0,17,27,81,20,2,0,12,48,0,30, - 120,0,30,120,0,12,48,0,0,0,0,0,128,0,7,112, - 0,12,24,0,24,12,0,56,14,0,120,14,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,120,15,0,120,15,0,120,15, - 0,56,14,0,24,12,0,12,24,0,7,112,0,18,19,57, - 26,4,254,64,0,64,224,0,192,112,1,128,56,3,0,28, - 6,0,14,12,0,7,24,0,3,176,0,1,224,0,0,224, - 0,1,240,0,3,56,0,6,28,0,12,12,0,24,6,0, - 48,3,0,112,1,128,224,0,192,64,0,0,17,22,66,20, - 2,0,0,128,0,7,113,128,12,27,0,24,14,0,56,14, - 0,56,14,0,120,31,0,120,31,0,248,47,128,248,111,128, - 248,79,128,248,143,128,249,15,128,251,15,128,250,15,128,124, - 15,0,124,15,0,120,14,0,56,14,0,56,12,0,108,24, - 0,199,112,0,19,27,81,22,2,1,7,0,0,3,128,0, - 1,128,0,0,192,0,0,0,0,0,0,0,255,15,224,60, - 3,128,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,28, - 1,0,28,2,0,14,4,0,7,248,0,19,27,81,22,2, - 1,0,28,0,0,56,0,0,48,0,0,96,0,0,0,0, - 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,28,1,0,28,2,0,14,4,0,7, - 248,0,19,27,81,22,2,0,0,192,0,0,224,0,1,240, - 0,6,24,0,0,4,0,0,0,0,255,15,224,60,3,128, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,28,3,0, - 28,2,0,14,4,0,7,248,0,19,27,81,22,2,0,3, - 12,0,7,158,0,7,158,0,3,12,0,0,0,0,0,0, - 0,255,143,224,60,3,128,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,28,1,0,28,2,0,14,4,0,7,248,0, - 19,27,81,21,2,1,0,28,0,0,60,0,0,48,0,0, - 96,0,0,0,0,0,0,0,255,31,224,62,7,0,30,6, - 0,30,6,0,31,4,0,15,4,0,15,136,0,7,136,0, - 7,144,0,7,208,0,3,240,0,3,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,7,248,0,17,21,63,19,1,0,255,192,0, - 30,0,0,30,0,0,30,0,0,31,248,0,30,14,0,30, - 15,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 128,30,15,0,30,14,0,31,248,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,192,0,14,21,42,16, - 1,0,7,192,12,96,28,112,28,112,60,112,60,112,60,112, - 60,96,61,128,60,96,60,48,60,56,60,56,60,56,60,60, - 60,60,60,56,63,184,63,184,63,48,253,224,12,21,42,14, - 1,0,96,0,112,0,56,0,24,0,12,0,4,0,0,0, - 30,0,99,128,99,192,243,192,115,192,7,192,27,192,115,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, - 1,0,1,128,3,128,3,0,6,0,12,0,8,0,0,0, - 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, - 1,0,12,0,12,0,30,0,19,0,33,128,64,128,0,0, - 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,20,40,14, - 1,0,56,128,127,128,71,0,0,0,0,0,0,0,30,0, - 99,128,99,192,243,192,115,192,3,192,31,192,51,192,115,192, - 243,192,243,208,243,208,245,208,121,224,12,20,40,14,1,0, - 97,128,243,192,243,192,97,128,0,0,0,0,30,0,99,128, - 99,192,243,192,115,192,35,192,15,192,51,192,115,192,243,192, - 243,208,243,208,243,208,125,224,12,21,42,14,1,1,30,0, - 33,0,33,0,33,0,50,0,12,0,0,0,31,0,99,128, - 97,192,241,192,113,192,33,192,15,192,49,192,97,192,225,192, - 225,208,225,208,227,208,124,224,17,14,42,19,1,0,62,60, - 0,99,230,0,99,199,0,243,199,128,115,199,128,7,199,128, - 27,255,128,115,192,0,115,192,0,243,192,128,243,192,128,243, - 225,0,242,225,0,124,62,0,10,21,42,13,1,249,15,0, - 56,128,112,192,113,192,243,192,243,128,240,0,240,0,240,0, - 240,0,112,64,112,64,56,128,31,0,4,0,8,0,6,0, - 3,0,3,0,3,0,30,0,11,21,42,13,1,0,48,0, - 48,0,56,0,24,0,12,0,0,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,21,42,13,1,0,1,128, - 3,128,3,128,6,0,4,0,8,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,21,42,13,1,0,12,0, - 14,0,30,0,27,0,49,128,64,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,20,40,13,1,0,49,128, - 123,192,123,192,49,128,0,0,0,0,15,0,51,128,113,192, - 113,192,241,192,241,224,255,224,240,0,240,0,240,32,112,64, - 112,64,56,128,15,0,7,21,21,9,1,0,192,224,112,48, - 24,8,0,124,60,60,60,60,60,60,60,60,60,60,60,60, - 126,6,21,21,9,2,0,12,12,28,56,32,0,0,248,120, - 120,120,120,120,120,120,120,120,120,120,120,252,8,21,21,8, - 1,0,56,56,124,110,131,0,0,252,60,60,60,60,60,60, - 60,60,60,60,60,60,254,8,20,20,9,1,0,102,255,255, - 102,0,0,124,60,60,60,60,60,60,60,60,60,60,60,60, - 126,12,21,42,14,1,0,60,64,31,128,15,0,15,0,55, - 128,3,128,3,192,31,192,49,224,113,224,112,224,240,224,240, - 240,240,240,240,240,240,224,240,224,112,224,113,192,49,192,15, - 0,13,19,38,16,2,1,30,64,63,192,35,128,0,0,0, - 0,251,192,124,224,120,224,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,253,248,12,21,42, - 14,1,0,48,0,56,0,56,0,12,0,6,0,2,0,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, - 14,1,0,1,128,1,192,3,128,3,0,6,0,4,0,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, - 14,1,0,6,0,14,0,15,0,27,0,48,128,32,64,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,20,40, - 14,1,0,28,64,63,192,71,128,0,0,0,0,0,0,15, - 0,49,128,112,192,112,224,240,224,240,224,240,240,240,240,240, - 224,240,224,112,224,112,192,49,128,15,0,12,20,40,14,1, - 0,49,128,123,192,123,192,49,128,0,0,0,0,15,0,49, - 128,112,192,112,224,240,224,240,224,240,240,240,240,240,224,240, - 224,112,224,112,192,49,128,15,0,24,19,57,26,1,254,0, - 24,0,0,60,0,0,60,0,0,24,0,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0, - 0,0,0,0,0,0,0,0,0,0,24,0,0,60,0,0, - 60,0,0,60,0,0,24,0,12,14,28,14,1,0,15,16, - 49,160,113,192,112,224,241,224,243,224,242,240,244,240,248,224, - 240,224,112,224,112,192,121,128,143,0,14,21,42,15,0,0, - 24,0,28,0,12,0,6,0,3,0,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,248,60,248,29,120,14,124,14,21,42,15,0,0, - 0,192,0,192,1,192,1,128,3,0,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,120,60,248,29,120,14,124,14,21,42,15,0,0, - 3,0,7,0,7,128,12,128,24,64,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,120,60,248,29,120,14,124,14,20,40,15,0,0, - 24,192,61,224,61,224,24,192,0,0,0,0,253,248,60,120, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,248,29,120,14,124,13,28,56,15,1,249,0,192, - 0,192,1,192,3,128,2,0,0,0,0,0,252,248,120,32, - 56,32,60,64,28,64,28,64,30,64,14,128,15,128,7,128, - 7,0,7,0,3,0,3,0,2,0,2,0,50,0,124,0, - 116,0,116,0,56,0,13,26,52,15,1,250,28,0,124,0, - 188,0,60,0,60,0,60,0,60,240,63,120,60,120,60,120, - 60,120,60,120,60,112,60,112,60,96,60,192,60,128,61,0, - 62,0,60,0,60,0,60,0,60,0,60,0,48,0,192,0, - 13,27,54,15,1,249,24,96,60,240,60,240,24,96,0,0, - 0,0,254,120,120,48,56,32,60,32,28,32,30,64,30,64, - 14,64,15,128,7,128,7,128,7,0,3,0,3,0,1,0, - 2,0,50,0,122,0,116,0,116,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=24 h=27 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21n[703] U8G_SECTION(".progmem.u8g_font_osb21n") = { - 0,77,36,232,248,21,0,0,0,0,42,57,0,22,250,21, - 0,11,12,24,14,2,9,14,0,14,0,78,192,228,224,245, - 192,14,0,14,0,245,192,228,192,78,192,14,0,14,0,24, - 25,75,26,1,252,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,255,255,255,255,255,255,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 5,10,10,7,1,251,112,248,248,248,120,8,16,16,32,192, - 7,3,3,11,2,6,254,254,254,4,4,4,8,2,0,96, - 240,240,96,9,27,54,13,2,250,1,128,1,128,1,128,3, - 0,3,0,3,0,2,0,6,0,6,0,6,0,12,0,12, - 0,12,0,24,0,24,0,24,0,16,0,48,0,48,0,48, - 0,96,0,96,0,96,0,192,0,192,0,192,0,128,0,14, - 21,42,16,1,1,15,192,24,96,56,112,56,112,120,120,120, - 120,248,120,248,124,248,124,248,124,248,124,248,124,248,124,248, - 124,248,120,120,120,120,120,56,112,56,112,24,96,15,192,9, - 21,42,16,3,0,6,0,14,0,30,0,254,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,255,128,12, - 21,42,16,2,1,63,192,97,224,96,224,224,240,224,240,240, - 240,248,240,121,224,49,224,3,192,7,128,14,0,28,0,48, - 16,96,16,64,16,192,16,255,240,255,224,143,224,135,192,13, - 21,42,16,2,1,63,192,96,224,96,224,224,240,240,240,248, - 240,120,240,112,240,0,224,1,192,31,0,0,224,0,240,0, - 112,112,120,248,120,248,120,240,120,224,112,96,240,59,192,13, - 21,42,16,1,0,1,192,1,192,3,192,3,192,7,192,7, - 192,15,192,27,192,27,192,51,192,35,192,99,192,67,192,195, - 192,255,248,3,192,3,192,3,192,3,192,3,192,31,248,13, - 21,42,16,2,0,96,224,127,192,127,128,127,0,120,0,64, - 0,64,0,64,0,79,0,113,224,64,240,64,240,0,248,0, - 248,112,248,248,248,248,248,240,240,224,240,97,224,59,192,13, - 21,42,16,2,1,15,224,24,32,56,48,48,240,112,240,112, - 240,240,96,240,0,240,0,247,128,248,224,240,112,240,112,240, - 112,240,120,112,120,112,112,112,112,48,112,56,96,13,192,11, - 21,42,16,3,0,156,64,190,96,255,32,255,32,199,224,129, - 160,128,64,128,64,0,128,0,128,1,0,3,0,7,0,6, - 0,14,0,14,0,30,0,30,0,30,0,30,0,30,0,14, - 21,42,16,2,1,31,192,48,32,96,48,96,16,224,16,240, - 16,248,32,254,32,127,192,63,192,31,240,31,248,99,248,64, - 248,192,60,192,24,192,24,192,24,96,16,112,48,31,192,13, - 21,42,16,2,1,31,128,48,192,112,96,112,112,240,112,240, - 112,240,120,240,120,240,120,112,120,112,120,56,248,15,120,0, - 120,0,120,56,112,120,112,120,96,112,224,96,192,63,128}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=28 h=29 x= 3 y=16 dx=31 dy= 0 ascent=23 len=87 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_SECTION(".progmem.u8g_font_osb21r") = { - 0,77,36,232,248,21,5,141,12,241,32,127,249,23,249,21, - 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, - 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, - 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, - 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, - 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, - 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, - 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, - 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, - 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, - 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, - 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, - 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, - 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, - 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, - 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, - 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, - 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, - 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, - 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, - 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, - 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, - 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, - 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, - 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, - 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, - 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, - 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, - 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, - 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, - 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, - 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, - 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, - 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, - 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, - 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, - 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, - 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, - 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, - 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, - 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, - 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, - 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, - 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, - 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, - 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, - 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, - 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, - 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, - 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, - 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, - 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, - 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, - 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, - 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, - 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, - 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, - 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, - 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, - 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, - 0,112,240,248,248,248,8,16,16,32,192,21,24,72,26,2, - 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, - 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, - 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, - 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, - 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, - 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, - 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, - 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, - 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, - 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, - 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, - 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, - 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, - 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, - 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, - 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, - 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, - 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, - 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, - 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, - 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, - 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, - 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, - 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, - 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, - 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, - 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, - 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, - 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, - 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, - 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, - 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, - 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, - 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, - 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, - 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, - 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, - 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, - 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, - 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, - 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, - 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, - 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, - 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, - 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, - 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, - 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, - 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, - 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, - 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, - 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, - 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, - 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, - 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, - 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, - 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, - 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, - 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, - 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, - 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, - 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, - 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, - 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, - 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, - 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, - 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, - 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, - 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, - 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, - 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, - 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, - 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, - 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, - 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, - 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, - 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, - 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, - 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, - 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, - 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, - 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, - 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, - 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, - 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, - 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, - 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, - 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, - 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, - 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, - 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, - 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, - 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, - 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, - 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, - 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, - 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, - 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, - 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, - 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, - 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, - 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, - 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, - 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, - 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, - 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, - 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, - 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, - 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, - 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, - 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, - 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, - 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, - 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, - 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, - 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, - 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, - 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, - 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, - 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, - 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, - 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, - 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, - 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, - 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, - 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, - 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, - 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, - 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, - 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, - 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, - 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, - 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, - 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, - 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, - 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, - 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, - 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, - 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, - 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, - 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, - 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, - 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, - 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, - 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, - 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, - 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, - 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, - 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, - 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, - 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, - 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, - 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, - 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, - 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, - 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, - 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, - 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, - 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, - 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, - 143,193,131,241,128,254,64,62,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=34 h=33 x= 6 y=20 dx=36 dy= 0 ascent=34 len=125 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x=-2 y=-10 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =26 descent=-8 - Max Font ascent =34 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26[12640] U8G_SECTION(".progmem.u8g_font_osb26") = { - 0,95,44,227,246,26,7,105,16,163,32,255,248,34,246,26, - 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, - 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, - 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, - 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, - 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, - 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, - 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, - 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, - 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, - 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, - 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, - 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, - 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, - 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, - 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, - 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, - 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, - 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, - 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, - 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, - 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, - 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, - 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, - 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, - 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, - 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, - 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, - 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, - 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, - 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, - 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, - 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, - 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, - 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, - 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, - 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, - 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, - 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, - 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, - 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, - 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, - 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, - 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, - 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, - 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, - 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, - 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, - 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, - 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, - 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, - 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, - 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, - 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, - 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, - 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, - 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, - 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, - 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, - 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, - 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, - 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, - 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, - 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, - 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, - 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, - 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, - 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, - 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, - 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, - 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, - 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, - 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, - 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, - 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, - 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, - 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, - 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, - 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, - 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, - 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, - 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, - 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, - 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, - 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, - 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, - 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, - 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, - 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, - 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, - 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, - 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, - 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, - 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, - 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, - 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, - 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, - 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, - 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, - 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, - 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, - 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, - 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, - 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, - 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, - 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, - 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, - 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, - 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, - 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, - 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, - 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, - 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, - 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, - 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, - 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, - 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, - 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, - 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, - 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, - 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, - 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, - 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, - 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, - 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, - 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, - 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, - 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, - 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, - 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, - 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, - 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, - 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, - 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, - 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, - 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, - 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, - 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, - 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, - 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, - 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, - 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, - 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, - 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, - 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, - 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, - 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, - 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, - 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, - 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, - 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, - 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, - 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, - 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, - 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, - 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, - 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, - 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, - 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, - 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, - 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, - 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, - 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, - 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, - 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, - 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, - 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, - 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, - 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, - 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, - 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, - 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, - 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, - 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, - 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, - 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, - 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, - 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, - 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, - 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, - 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, - 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, - 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, - 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, - 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, - 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, - 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, - 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, - 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, - 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, - 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, - 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, - 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, - 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, - 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, - 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, - 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, - 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, - 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, - 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, - 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, - 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, - 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, - 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, - 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, - 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, - 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, - 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, - 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, - 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, - 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, - 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, - 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, - 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, - 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, - 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, - 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, - 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, - 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, - 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, - 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, - 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, - 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, - 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, - 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, - 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, - 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, - 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, - 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, - 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, - 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, - 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, - 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, - 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, - 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, - 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, - 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, - 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, - 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, - 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, - 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, - 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, - 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, - 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, - 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, - 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, - 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, - 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, - 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, - 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, - 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, - 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, - 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, - 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, - 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, - 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, - 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, - 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, - 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, - 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, - 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, - 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, - 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, - 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, - 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, - 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, - 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, - 32,135,252,32,129,255,224,128,63,192,64,15,128,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,10,0,0,6,26,26,10,2,248,120,252,252,252,120,0, - 0,0,32,48,48,48,48,48,48,120,120,120,120,252,252,252, - 252,252,252,120,13,25,50,19,3,252,1,0,1,0,1,0, - 1,0,15,192,29,32,57,48,121,112,121,112,249,112,241,96, - 241,0,241,0,241,0,241,0,241,8,121,16,121,16,57,16, - 29,32,15,192,1,0,1,0,1,0,1,0,21,26,78,24, - 2,0,0,2,0,0,61,192,0,112,96,0,240,112,1,224, - 112,1,224,240,3,224,240,3,224,224,3,224,0,3,224,0, - 3,224,0,31,224,0,35,225,0,1,254,0,1,240,0,1, - 240,0,0,240,0,0,240,0,0,240,0,0,224,0,0,224, - 8,60,192,16,199,192,48,131,255,224,131,255,192,124,63,128, - 18,17,51,20,1,3,64,0,128,227,241,192,127,255,128,60, - 15,0,56,7,0,48,3,0,112,3,128,96,1,128,96,1, - 128,96,1,128,96,1,128,112,3,128,48,3,0,56,7,0, - 62,31,0,127,255,128,99,241,128,18,25,75,20,1,0,255, - 143,192,63,3,128,63,3,0,31,3,0,31,130,0,15,130, - 0,15,196,0,15,196,0,7,196,0,7,232,0,3,232,0, - 3,248,0,3,240,0,63,255,128,1,240,0,1,240,0,63, - 255,128,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,31,254,0,2,32,32,10,4,250, - 192,192,192,192,192,192,192,192,192,192,192,192,192,0,0,0, - 0,0,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 15,32,64,22,2,249,7,224,28,24,56,24,48,28,112,124, - 112,124,112,124,120,56,124,0,63,0,31,224,127,240,71,252, - 193,252,192,126,224,30,248,14,254,6,127,134,63,228,31,248, - 7,248,1,248,0,124,60,60,60,28,124,28,124,28,112,24, - 48,56,24,112,15,192,11,4,8,15,2,19,113,192,241,224, - 241,224,113,192,24,25,75,28,2,1,1,255,128,6,0,64, - 12,0,48,24,0,24,48,60,136,32,227,132,65,193,134,65, - 193,130,195,192,130,131,192,131,131,192,129,131,192,1,131,192, - 1,131,192,1,131,192,65,131,192,131,195,192,130,65,192,130, - 65,193,134,32,227,4,48,60,8,16,0,24,12,0,48,6, - 0,64,1,255,128,10,13,26,13,1,12,60,0,70,0,199, - 0,231,0,71,0,63,0,103,0,231,0,231,64,231,64,123, - 128,0,0,255,128,9,15,30,17,4,1,8,0,24,128,48, - 128,97,0,99,0,227,0,227,0,227,0,227,0,227,0,227, - 0,97,0,49,128,48,128,8,0,16,9,18,20,2,5,255, - 255,255,255,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,9,4,8,13,2,7,255,128,255,128,255,128,255,128,24, - 25,75,28,2,1,1,255,128,6,0,64,12,0,48,24,0, - 24,55,254,8,33,227,132,65,227,198,65,227,194,193,227,194, - 129,227,195,129,231,129,129,252,1,129,231,1,129,227,129,129, - 227,193,129,227,195,193,227,210,65,227,210,65,227,214,33,227, - 212,55,249,232,16,0,24,12,0,48,6,0,64,1,255,128, - 9,2,4,15,3,20,255,128,255,128,11,10,20,19,4,16, - 63,128,123,192,224,192,192,96,192,96,192,96,192,224,97,192, - 63,128,31,0,29,26,104,33,2,254,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,255,255,255,248,255,255,255,248,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,0,0,0,0,0,0,0,255,255,255,240,255,255, - 255,240,10,16,32,15,3,9,31,0,103,128,195,192,195,192, - 227,192,243,128,7,128,14,0,28,0,48,64,64,64,64,64, - 255,192,255,192,159,128,135,0,11,16,32,15,2,9,31,0, - 35,128,99,192,115,192,115,192,51,128,3,0,28,0,3,128, - 3,192,97,224,241,224,241,224,227,224,99,192,63,0,6,7, - 7,15,6,18,28,28,60,120,96,192,128,17,27,81,20,2, - 246,96,48,0,112,120,0,240,120,0,240,120,0,240,120,0, - 240,120,0,240,120,0,240,120,0,240,120,0,96,56,0,96, - 48,128,96,48,128,96,113,128,32,127,128,48,255,128,95,207, - 0,71,143,0,64,0,0,96,0,0,96,0,0,112,0,0, - 112,0,0,120,0,0,120,0,0,120,0,0,120,0,0,48, - 0,0,17,30,90,20,2,251,15,255,128,63,140,0,127,140, - 0,127,140,0,255,140,0,255,140,0,255,140,0,255,140,0, - 255,140,0,127,140,0,127,140,0,63,140,0,31,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,5,5,5,9,2,9,112,248,248,248,112,7,7,7, - 15,4,249,32,32,24,14,14,14,252,8,15,15,16,4,10, - 12,28,252,60,60,60,60,60,60,60,60,60,60,60,255,9, - 13,26,13,2,12,28,0,103,0,99,0,227,128,227,128,227, - 128,227,128,227,128,99,0,103,0,28,0,0,0,255,128,9, - 14,28,17,4,2,132,0,198,0,99,0,99,0,115,128,115, - 128,115,128,115,128,115,128,99,128,99,0,195,0,134,0,12, - 0,25,26,104,31,4,0,0,0,48,0,12,0,48,0,28, - 0,96,0,252,0,96,0,60,0,192,0,60,0,128,0,60, - 1,128,0,60,3,0,0,60,3,0,0,60,6,0,0,60, - 6,0,0,60,12,14,0,60,12,30,0,60,24,30,0,60, - 16,62,0,255,48,62,0,0,96,94,0,0,96,158,0,0, - 192,158,0,0,193,30,0,1,131,30,0,1,131,255,128,3, - 0,30,0,2,0,30,0,6,0,30,0,12,0,255,128,25, - 26,104,31,4,0,0,0,48,0,28,0,32,0,252,0,96, - 0,60,0,64,0,60,0,192,0,60,1,128,0,60,1,128, - 0,60,3,0,0,60,3,0,0,60,6,0,0,60,4,62, - 0,60,12,207,0,60,9,135,128,60,25,135,128,60,49,199, - 128,255,49,231,0,0,96,207,0,0,96,28,0,0,192,56, - 0,0,128,96,0,1,128,64,128,3,0,128,128,3,1,255, - 128,6,1,255,128,6,1,63,0,12,1,14,0,26,26,104, - 30,2,0,0,0,24,0,31,0,24,0,35,128,48,0,99, - 192,48,0,115,192,96,0,115,192,64,0,51,128,192,0,3, - 0,128,0,28,1,128,0,3,131,0,0,3,195,0,0,113, - 230,7,0,241,228,15,0,227,236,15,0,99,200,31,0,63, - 24,31,0,0,16,47,0,0,48,79,0,0,96,79,0,0, - 96,143,0,0,192,143,0,0,129,255,192,1,128,15,0,1, - 0,15,0,3,0,15,0,2,0,127,192,11,26,52,16,2, - 248,28,0,62,0,62,0,62,0,28,0,0,0,0,0,30, - 0,49,0,33,0,33,0,1,0,2,0,6,0,14,0,28, - 0,60,0,120,192,120,64,248,32,240,32,240,32,240,32,120, - 64,120,64,31,128,23,33,99,25,1,0,1,128,0,1,192, - 0,0,224,0,0,96,0,0,48,0,0,16,0,0,0,0, - 0,16,0,0,24,0,0,56,0,0,56,0,0,60,0,0, - 124,0,0,124,0,0,126,0,0,254,0,0,254,0,0,158, - 0,1,159,0,1,159,0,1,31,0,3,15,128,3,15,128, - 3,15,128,6,7,192,7,255,192,6,7,192,4,7,224,12, - 3,224,12,3,224,28,3,240,28,3,240,255,159,254,23,33, - 99,25,1,0,0,3,0,0,7,128,0,7,0,0,14,0, - 0,28,0,0,16,0,0,0,0,0,16,0,0,24,0,0, - 56,0,0,56,0,0,60,0,0,124,0,0,124,0,0,126, - 0,0,254,0,0,254,0,0,159,0,1,159,0,1,159,0, - 1,31,128,3,15,128,3,15,128,3,15,128,6,7,192,7, - 255,192,6,7,192,12,7,224,12,3,224,12,3,224,28,3, - 240,60,3,248,255,159,254,23,33,99,25,1,0,0,16,0, - 0,56,0,0,56,0,0,124,0,0,199,0,1,129,128,0, - 0,0,0,16,0,0,24,0,0,56,0,0,56,0,0,60, - 0,0,124,0,0,124,0,0,126,0,0,254,0,0,254,0, - 0,158,0,1,159,0,1,159,0,1,31,0,3,15,128,3, - 15,128,3,15,128,6,7,192,7,255,192,6,7,192,4,7, - 224,12,3,224,12,3,224,28,3,240,28,3,240,255,159,254, - 23,32,96,25,1,0,0,112,128,0,249,0,1,191,0,1, - 14,0,0,0,0,0,0,0,0,0,0,0,24,0,0,56, - 0,0,56,0,0,60,0,0,124,0,0,124,0,0,126,0, - 0,254,0,0,254,0,0,159,0,1,159,0,1,159,0,1, - 31,128,3,15,128,3,15,128,3,15,128,6,7,192,7,255, - 192,6,7,192,12,7,224,12,3,224,12,3,224,28,3,240, - 60,3,248,255,159,254,23,32,96,25,1,0,1,195,128,3, - 199,128,3,199,128,1,195,128,0,0,0,0,0,0,0,24, - 0,0,56,0,0,56,0,0,56,0,0,60,0,0,124,0, - 0,124,0,0,126,0,0,254,0,0,254,0,0,159,0,1, - 159,0,1,159,0,1,15,128,3,15,128,2,15,128,2,15, - 192,6,7,192,7,255,192,4,7,192,4,3,224,8,3,224, - 8,3,224,24,1,240,24,3,240,255,159,254,23,33,99,25, - 1,0,0,60,0,0,126,0,0,195,0,0,195,0,0,199, - 0,0,126,0,0,60,0,0,0,0,0,24,0,0,56,0, - 0,56,0,0,60,0,0,124,0,0,124,0,0,126,0,0, - 254,0,0,254,0,0,159,0,1,159,0,1,159,0,1,15, - 0,3,15,128,3,15,128,2,15,128,2,7,192,7,255,192, - 4,7,192,4,3,224,12,3,224,8,3,224,24,1,240,28, - 1,240,255,159,254,32,25,100,34,1,0,0,15,255,255,0, - 3,240,31,0,7,240,15,0,7,240,7,0,5,240,7,0, - 13,240,3,0,9,240,3,0,25,240,35,0,25,240,32,0, - 49,240,96,0,49,240,96,0,97,240,224,0,97,255,224,0, - 193,240,224,0,193,240,96,1,129,240,96,1,129,240,33,3, - 255,240,33,3,1,240,3,6,1,240,3,6,1,240,7,12, - 1,240,7,12,1,240,15,62,1,240,63,255,143,255,255,19, - 33,99,22,2,249,3,248,192,14,6,192,30,3,192,60,3, - 192,60,1,192,124,1,192,124,0,192,124,0,192,252,0,192, - 252,0,64,252,0,64,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,96,124,0,64,124,0,64,124,0, - 64,60,0,192,62,0,128,30,1,0,15,2,0,3,156,0, - 0,224,0,0,128,0,0,240,0,0,56,0,0,56,0,0, - 56,0,2,48,0,1,224,0,20,33,99,23,2,0,3,0, - 0,7,128,0,3,128,0,1,192,0,0,224,0,0,32,0, - 0,0,0,0,0,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,33,99,23,2,0,0,6,0,0,14,0,0,30,0, - 0,28,0,0,48,0,0,96,0,0,0,0,0,0,0,255, - 255,224,31,1,224,31,0,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,4,32,31,4,0,31,12,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,12,48,31, - 4,48,31,4,48,31,0,48,31,0,112,31,0,112,31,0, - 240,31,0,240,31,3,240,255,255,240,20,33,99,23,2,0, - 0,32,0,0,96,0,0,240,0,1,248,0,3,140,0,6, - 3,0,0,0,0,0,0,0,255,255,224,31,1,224,31,0, - 224,31,0,224,31,0,96,31,0,96,31,0,32,31,4,32, - 31,4,0,31,12,0,31,12,0,31,28,0,31,252,0,31, - 28,0,31,12,0,31,12,48,31,4,48,31,4,48,31,0, - 48,31,0,112,31,0,112,31,0,240,31,1,240,31,3,240, - 255,255,240,20,32,96,23,2,0,7,14,0,7,143,0,7, - 143,0,7,14,0,0,0,0,0,0,0,0,0,0,255,255, - 224,31,1,224,31,0,224,31,0,224,31,0,96,31,0,96, - 31,0,32,31,4,32,31,4,0,31,12,0,31,12,0,31, - 28,0,31,252,0,31,28,0,31,12,0,31,12,48,31,4, - 48,31,4,48,31,0,48,31,0,112,31,0,112,31,0,240, - 31,0,240,31,3,240,255,255,240,11,33,66,14,2,0,96, - 0,112,0,120,0,56,0,28,0,4,0,0,0,0,0,255, - 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, - 224,11,33,66,14,2,0,0,192,1,192,3,192,3,128,7, - 0,4,0,0,0,0,0,255,224,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,255,224,11,33,66,14,2,0,4, - 0,14,0,14,0,31,0,113,128,192,96,0,0,0,0,255, - 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, - 224,11,32,64,15,2,0,112,224,241,224,241,224,112,224,0, - 0,0,0,0,0,255,224,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,255,224,23,25,75,27,2,0,255,255,0, - 31,3,192,31,0,224,31,0,240,31,0,120,31,0,120,31, - 0,124,31,0,124,31,0,126,31,0,126,31,0,126,255,224, - 126,31,0,126,31,0,126,31,0,126,31,0,126,31,0,124, - 31,0,124,31,0,124,31,0,120,31,0,120,31,0,240,31, - 0,224,31,3,192,255,255,0,24,32,96,27,2,0,0,112, - 64,0,252,192,0,159,128,0,135,0,0,0,0,0,0,0, - 0,0,0,255,3,255,31,128,124,31,128,56,15,192,16,7, - 224,16,7,240,16,7,240,16,5,248,16,5,252,16,4,252, - 16,4,126,16,4,127,16,4,63,16,4,31,144,4,31,208, - 4,15,208,4,7,240,4,7,240,4,3,240,4,1,240,4, - 1,240,4,0,240,14,0,112,31,0,48,255,192,48,20,33, - 99,24,2,1,7,0,0,7,128,0,3,128,0,1,192,0, - 0,192,0,0,96,0,0,0,0,0,0,0,3,252,0,6, - 6,0,14,7,0,28,3,128,60,3,192,60,3,192,124,3, - 224,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,252,3,240,252,3,240,124,3,224,124, - 3,224,124,3,224,60,3,192,60,3,192,28,3,128,14,7, - 0,6,6,0,3,252,0,20,33,99,24,2,1,0,14,0, - 0,30,0,0,28,0,0,56,0,0,48,0,0,96,0,0, - 0,0,0,0,0,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,224,124,3,224,124,3,224,60,3, - 192,60,3,192,28,3,128,14,7,0,6,6,0,3,252,0, - 20,33,99,24,2,0,0,96,0,0,96,0,0,240,0,1, - 248,0,3,156,0,6,6,0,0,0,0,0,0,0,3,252, - 0,6,6,0,14,7,0,28,3,128,60,3,192,60,3,192, - 124,3,224,124,3,224,124,3,224,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 224,124,3,224,124,3,224,60,3,192,60,3,192,28,3,128, - 14,7,0,6,6,0,3,252,0,20,32,96,24,2,0,1, - 194,0,3,230,0,6,124,0,4,56,0,0,0,0,0,0, - 0,0,0,0,3,252,0,6,6,0,14,7,0,28,3,128, - 60,3,192,60,3,192,124,3,224,124,3,224,124,3,224,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,124,3,224,124,3,224,124,3,224,60,3,192, - 60,3,192,28,3,128,14,7,0,6,6,0,3,252,0,20, - 32,96,24,2,0,7,14,0,7,143,0,7,143,0,7,14, - 0,0,0,0,0,0,0,0,0,0,3,252,0,6,6,0, - 14,7,0,28,3,128,60,3,192,60,3,192,124,3,224,124, - 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,124,3,224,124,3,224, - 124,3,224,60,3,192,60,3,192,28,3,128,14,7,0,6, - 6,0,3,252,0,22,23,69,32,5,254,64,0,8,224,0, - 28,240,0,60,120,0,120,56,0,240,28,0,224,14,1,192, - 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, - 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, - 192,28,0,224,56,0,112,112,0,56,224,0,28,64,0,8, - 20,25,75,24,2,1,3,252,48,6,6,96,14,3,192,28, - 3,128,60,3,192,60,3,192,124,3,224,124,7,224,124,15, - 224,252,11,240,252,19,240,252,35,240,252,99,240,252,67,240, - 252,131,240,253,3,240,127,3,224,126,3,224,124,3,224,60, - 3,192,60,3,192,28,3,128,60,7,0,102,6,0,195,252, - 0,23,33,99,26,2,1,1,192,0,1,224,0,0,224,0, - 0,112,0,0,56,0,0,8,0,0,0,0,0,0,0,255, - 225,254,31,0,120,31,0,48,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,15,0,32,15,0, - 32,7,128,64,3,192,192,1,255,0,23,33,99,26,2,1, - 0,3,128,0,3,128,0,7,128,0,14,0,0,12,0,0, - 24,0,0,0,0,0,0,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,23,33,99,26,2,0,0,8,0,0,24,0,0, - 60,0,0,126,0,0,227,0,1,128,192,0,0,0,0,0, - 0,255,225,254,31,0,120,31,0,48,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,15,0,48, - 15,128,32,7,128,64,3,192,192,1,255,0,23,32,96,26, - 2,0,1,195,128,1,227,192,1,227,192,1,195,128,0,0, - 0,0,0,0,0,0,0,255,225,254,31,0,120,31,0,48, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,15,0,32,15,0,32,7,128,64,3,192,192,1, - 255,0,23,33,99,26,2,0,0,1,128,0,3,128,0,7, - 128,0,7,0,0,12,0,0,8,0,0,0,0,0,0,0, - 255,225,254,31,128,112,31,128,96,15,128,96,15,192,64,7, - 192,192,7,224,192,7,224,128,3,225,128,3,241,0,1,241, - 0,1,251,0,0,250,0,0,254,0,0,252,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,3,255,128,20,25,75,24,2, - 0,255,240,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,254,0,31,7,128,31,3,192,31,1,224,31,1,240,31, - 1,240,31,1,240,31,1,240,31,1,240,31,1,224,31,3, - 192,31,7,128,31,254,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,255,240,0,16,25,50,19, - 1,0,3,224,6,120,14,60,30,60,28,60,60,60,60,60, - 60,56,60,112,61,192,60,48,60,28,60,30,60,30,60,15, - 60,15,60,15,60,15,60,15,60,15,61,207,63,222,63,158, - 61,156,252,248,15,25,50,18,2,0,48,0,56,0,60,0, - 28,0,14,0,2,0,0,0,0,0,15,128,49,224,96,240, - 112,240,120,240,120,240,48,240,3,240,28,240,56,240,120,240, - 240,240,240,242,240,242,240,242,121,252,62,120,15,25,50,18, - 2,0,0,224,0,224,1,224,1,192,3,0,6,0,4,0, - 0,0,15,128,49,224,96,240,112,240,120,240,120,240,32,240, - 7,240,28,240,56,240,120,240,240,240,240,242,240,242,240,242, - 121,252,62,120,15,25,50,18,2,0,7,0,7,0,15,0, - 13,128,24,192,112,96,0,0,0,0,15,128,49,224,96,240, - 112,240,120,240,120,240,32,240,7,240,28,240,56,240,120,240, - 240,240,240,242,240,242,240,242,121,252,62,120,15,24,48,18, - 2,0,28,32,63,32,103,224,65,192,0,0,0,0,0,0, - 15,128,49,224,96,240,112,240,120,240,120,240,48,240,7,240, - 28,240,56,240,120,240,240,240,240,242,240,242,240,242,121,252, - 62,120,15,24,48,18,2,0,112,224,120,240,120,240,112,224, - 0,0,0,0,0,0,15,128,49,224,96,240,112,240,120,240, - 120,240,32,240,7,240,28,240,56,240,120,240,240,240,240,242, - 240,242,240,242,121,252,62,120,15,25,50,18,2,1,15,128, - 25,192,16,192,16,192,24,192,15,128,7,0,0,0,15,128, - 49,224,96,240,112,240,120,240,120,240,32,240,7,240,24,240, - 56,240,112,240,240,240,240,242,240,242,240,242,121,252,62,120, - 21,17,51,25,2,0,31,143,128,49,248,224,96,248,240,112, - 248,112,120,248,120,120,240,120,48,240,120,3,240,120,28,255, - 248,56,240,0,120,240,0,240,240,8,240,248,8,240,248,8, - 240,248,16,121,188,48,62,15,192,13,24,48,16,2,249,7, - 128,28,96,56,32,120,112,120,240,248,240,240,224,240,64,240, - 0,240,0,240,0,240,8,120,16,120,16,56,16,28,32,15, - 192,2,0,4,0,3,128,1,192,1,192,17,192,15,128,13, - 25,50,17,2,0,48,0,56,0,60,0,28,0,6,0,3, - 0,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, - 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, - 24,56,16,28,32,7,192,13,25,50,17,2,0,0,96,0, - 224,1,224,1,192,3,128,6,0,0,0,0,0,7,128,24, - 224,56,240,120,240,120,240,240,120,240,120,240,120,255,248,240, - 0,240,0,240,8,120,8,120,24,56,16,28,32,7,192,13, - 25,50,17,2,0,7,0,7,0,15,128,13,128,24,192,48, - 112,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, - 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, - 24,56,16,28,32,7,192,13,24,48,17,2,0,56,224,120, - 240,120,240,56,224,0,0,0,0,0,0,7,128,24,224,56, - 240,120,240,120,240,240,120,240,120,240,120,255,248,240,0,240, - 0,240,8,120,8,120,24,56,16,28,32,7,192,8,25,25, - 10,1,0,192,224,240,112,24,12,0,0,252,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,255,8,25,25,10, - 1,0,3,7,7,14,28,16,0,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,255,10,25,50,10,0, - 0,28,0,30,0,30,0,55,0,97,128,192,192,0,0,0, - 0,126,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,127,128,10,24,48,11,1,0,115,128,243,192,243,192,115, - 128,0,0,0,0,0,0,126,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,127,128,14,25,50,18,2,0,30, - 48,15,96,15,128,7,128,15,192,49,224,1,224,0,240,15, - 248,28,248,56,120,120,120,120,124,240,124,240,60,240,60,240, - 60,240,60,240,60,240,124,120,120,120,120,56,112,28,224,7, - 192,17,23,69,19,1,1,7,136,0,15,248,0,16,240,0, - 0,0,0,0,0,0,0,0,0,252,120,0,61,188,0,61, - 28,0,62,30,0,62,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,255,127,128,14,25,50,18, - 2,0,24,0,60,0,28,0,14,0,7,0,3,0,0,0, - 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, - 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, - 24,224,7,128,14,25,50,18,2,0,0,96,0,240,0,224, - 1,192,3,128,3,0,0,0,0,0,7,128,28,224,56,112, - 120,120,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 240,60,120,120,120,120,56,112,24,224,7,128,14,25,50,18, - 2,0,3,0,7,128,7,128,15,192,28,224,48,48,32,16, - 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, - 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, - 24,224,7,128,14,24,48,18,2,0,14,16,31,144,39,224, - 33,224,0,0,0,0,0,0,7,128,28,224,56,112,120,120, - 120,120,240,60,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,120,120,56,112,24,224,7,128,14,24,48,18,2,0, - 56,112,60,240,60,240,56,112,0,0,0,0,0,0,7,128, - 28,224,56,112,120,120,120,120,240,60,240,60,240,60,240,60, - 240,60,240,60,240,60,120,120,120,120,56,112,24,224,7,128, - 29,23,92,31,1,254,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,7,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,248,255,255,255,248,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7, - 0,0,0,15,128,0,0,15,128,0,0,15,128,0,0,7, - 0,0,14,17,34,18,2,0,7,132,24,232,56,120,120,120, - 120,120,240,124,240,188,241,188,243,60,246,60,244,60,248,60, - 120,120,120,120,120,112,92,96,135,128,17,25,75,19,1,0, - 12,0,0,30,0,0,14,0,0,7,0,0,3,0,0,0, - 128,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, - 62,0,60,94,0,30,158,0,15,31,128,17,25,75,19,1, - 0,0,48,0,0,112,0,0,112,0,0,224,0,1,192,0, - 1,0,0,0,0,0,0,0,0,252,126,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,62,0,60,62,0, - 60,62,0,60,94,0,30,158,0,15,31,128,17,25,75,19, - 1,0,1,128,0,3,192,0,3,192,0,7,224,0,12,48, - 0,24,24,0,0,0,0,0,0,0,252,126,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,62,0,60,62, - 0,60,62,0,60,94,0,30,158,0,15,31,128,17,24,72, - 19,1,0,28,112,0,30,120,0,30,120,0,28,112,0,0, - 0,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, - 62,0,60,94,0,30,158,0,15,31,128,17,33,99,18,0, - 248,0,28,0,0,28,0,0,60,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,0,0,255,159,128,62,6,0,30, - 4,0,31,4,0,15,4,0,15,8,0,15,136,0,7,136, - 0,7,152,0,3,208,0,3,208,0,3,240,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 64,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,15,32,64,18,1,247,12,0,28,0,124,0, - 188,0,60,0,60,0,60,0,60,120,60,252,61,30,63,30, - 62,30,62,30,62,30,60,30,60,28,60,28,60,56,60,56, - 60,48,60,96,60,192,61,0,62,0,60,0,60,0,60,0, - 60,0,60,0,60,0,48,0,192,0,17,32,96,18,0,248, - 14,28,0,15,60,0,15,60,0,14,28,0,0,0,0,0, - 0,0,0,0,0,255,159,128,62,6,0,30,4,0,30,4, - 0,15,8,0,15,8,0,15,8,0,7,136,0,7,144,0, - 3,208,0,3,208,0,3,224,0,1,224,0,1,224,0,0, - 224,0,0,192,0,0,192,0,0,64,0,0,128,0,28,128, - 0,60,128,0,61,0,0,57,0,0,59,0,0,30,0,0 - }; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=29 h=33 x= 4 y=11 dx=31 dy= 0 ascent=26 len=120 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26n[880] U8G_SECTION(".progmem.u8g_font_osb26n") = { - 0,95,44,227,246,25,0,0,0,0,42,57,0,26,249,25, - 0,12,14,28,17,3,11,14,0,14,0,14,0,196,112,228, - 240,245,224,14,0,14,0,245,224,228,240,196,112,14,0,14, - 0,14,0,29,30,120,31,1,251,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,255,255,255,248,255,255,255,248,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,7,11,11,10,2,249,120,252,254,254,126,6,4,12,8, - 48,224,9,4,8,13,2,7,255,128,255,128,255,128,255,128, - 5,5,5,9,2,0,112,248,248,248,112,12,33,66,15,2, - 249,0,112,0,96,0,96,0,224,0,192,0,192,1,192,1, - 192,1,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,56, - 0,56,0,48,0,48,0,112,0,96,0,96,0,224,0,192, - 0,192,0,16,25,50,20,2,1,7,224,14,112,28,56,60, - 60,60,60,124,62,124,62,124,62,252,63,252,63,252,63,252, - 63,252,63,252,63,252,63,252,63,252,63,124,62,124,62,124, - 62,60,60,60,60,28,56,14,112,7,224,12,25,50,20,4, - 0,7,0,7,0,31,0,255,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,255,240,15,25,50,20,2,1,31,240,48,120,96,60,96, - 62,224,62,240,62,248,62,252,62,124,124,56,124,0,248,1, - 240,1,224,3,128,7,0,12,2,24,2,48,2,32,2,76, - 6,127,254,127,252,71,252,67,252,65,248,15,26,52,20,2, - 0,1,0,14,240,56,120,48,60,112,62,120,62,124,62,124, - 62,60,62,24,60,0,120,0,112,31,192,0,240,0,120,0, - 60,0,60,56,62,124,62,252,62,252,62,248,62,224,60,96, - 124,96,120,31,224,16,25,50,20,2,0,0,120,0,120,0, - 248,1,248,1,248,3,248,3,248,6,248,6,248,12,248,12, - 248,24,248,56,248,48,248,96,248,96,248,192,248,255,255,0, - 248,0,248,0,248,0,248,0,248,0,248,15,255,15,26,52, - 20,3,0,0,8,48,56,63,240,63,224,63,128,62,0,32, - 0,32,0,32,0,32,0,39,192,56,112,48,120,32,60,32, - 60,0,62,0,62,56,62,120,62,252,62,248,62,248,60,224, - 60,96,120,112,112,31,224,16,25,50,20,2,1,7,240,12, - 8,28,12,56,60,56,124,120,124,120,120,120,48,248,0,248, - 0,251,224,252,56,252,60,248,30,248,31,248,31,248,31,248, - 31,120,31,120,31,120,31,56,30,28,30,12,60,7,240,15, - 25,50,20,3,0,79,28,95,156,127,198,127,230,127,254,224, - 246,192,4,192,12,128,12,128,24,0,16,0,48,0,96,0, - 224,1,192,1,192,3,192,7,128,7,128,15,128,15,128,15, - 128,15,128,15,128,7,0,17,25,75,20,2,1,7,240,0, - 24,12,0,48,12,0,48,6,0,112,6,0,112,6,0,120, - 6,0,124,4,0,127,12,0,127,152,0,63,224,0,31,248, - 0,15,252,0,15,254,0,49,255,0,96,127,0,64,31,0, - 192,15,128,192,7,0,192,7,0,192,3,0,96,6,0,96, - 6,0,56,12,0,14,240,0,15,25,50,20,2,1,31,192, - 60,112,120,48,120,56,248,60,248,60,248,60,248,62,248,62, - 248,62,248,62,120,62,124,126,60,126,15,190,0,62,0,62, - 12,60,30,60,62,60,62,56,60,56,48,112,16,96,15,192 - }; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=34 h=33 x= 4 y=18 dx=36 dy= 0 ascent=28 len=125 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x=-2 y=-8 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =26 descent=-8 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26r[5950] U8G_SECTION(".progmem.u8g_font_osb26r") = { - 0,95,44,227,246,26,7,105,16,163,32,127,248,28,248,26, - 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, - 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, - 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, - 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, - 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, - 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, - 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, - 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, - 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, - 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, - 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, - 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, - 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, - 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, - 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, - 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, - 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, - 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, - 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, - 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, - 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, - 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, - 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, - 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, - 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, - 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, - 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, - 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, - 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, - 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, - 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, - 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, - 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, - 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, - 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, - 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, - 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, - 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, - 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, - 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, - 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, - 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, - 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, - 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, - 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, - 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, - 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, - 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, - 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, - 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, - 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, - 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, - 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, - 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, - 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, - 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, - 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, - 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, - 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, - 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, - 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, - 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, - 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, - 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, - 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, - 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, - 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, - 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, - 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, - 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, - 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, - 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, - 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, - 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, - 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, - 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, - 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, - 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, - 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, - 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, - 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, - 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, - 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, - 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, - 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, - 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, - 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, - 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, - 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, - 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, - 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, - 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, - 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, - 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, - 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, - 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, - 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, - 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, - 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, - 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, - 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, - 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, - 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, - 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, - 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, - 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, - 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, - 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, - 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, - 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, - 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, - 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, - 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, - 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, - 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, - 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, - 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, - 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, - 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, - 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, - 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, - 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, - 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, - 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, - 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, - 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, - 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, - 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, - 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, - 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, - 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, - 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, - 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, - 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, - 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, - 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, - 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, - 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, - 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, - 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, - 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, - 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, - 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, - 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, - 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, - 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, - 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, - 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, - 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, - 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, - 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, - 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, - 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, - 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, - 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, - 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, - 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, - 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, - 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, - 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, - 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, - 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, - 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, - 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, - 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, - 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, - 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, - 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, - 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, - 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, - 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, - 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, - 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, - 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, - 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, - 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, - 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, - 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, - 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, - 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, - 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, - 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, - 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, - 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, - 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, - 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, - 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, - 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, - 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, - 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, - 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, - 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, - 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, - 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, - 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, - 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, - 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, - 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, - 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, - 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, - 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, - 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, - 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, - 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, - 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, - 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, - 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, - 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, - 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, - 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, - 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, - 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, - 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, - 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, - 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, - 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, - 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, - 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, - 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, - 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, - 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, - 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, - 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, - 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, - 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, - 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, - 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, - 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, - 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, - 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, - 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, - 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, - 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, - 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, - 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, - 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, - 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, - 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, - 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, - 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, - 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, - 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, - 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, - 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, - 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, - 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, - 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, - 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, - 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, - 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, - 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, - 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, - 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, - 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, - 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, - 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, - 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, - 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, - 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, - 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, - 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, - 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, - 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, - 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, - 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, - 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, - 32,135,252,32,129,255,224,128,63,192,64,15,128,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=38 h=37 x= 7 y=23 dx=41 dy= 0 ascent=38 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =29 descent=-9 - Max Font ascent =38 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_SECTION(".progmem.u8g_font_osb29") = { - 0,107,49,223,245,29,9,166,21,115,32,255,247,38,245,29, - 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, - 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, - 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, - 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, - 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, - 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, - 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, - 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, - 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, - 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, - 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, - 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, - 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, - 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, - 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, - 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, - 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, - 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, - 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, - 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, - 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, - 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, - 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, - 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, - 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, - 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, - 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, - 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, - 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, - 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, - 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, - 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, - 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, - 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, - 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, - 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, - 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, - 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, - 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, - 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, - 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, - 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, - 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, - 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, - 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, - 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, - 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, - 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, - 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, - 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, - 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, - 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, - 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, - 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, - 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, - 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, - 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, - 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, - 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, - 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, - 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, - 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, - 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, - 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, - 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, - 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, - 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, - 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, - 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, - 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, - 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, - 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, - 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,103,224,0,104,120, - 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, - 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, - 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, - 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, - 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, - 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, - 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, - 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, - 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, - 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, - 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, - 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, - 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, - 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, - 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, - 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, - 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, - 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, - 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, - 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, - 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, - 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, - 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, - 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, - 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, - 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, - 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, - 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, - 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, - 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, - 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, - 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, - 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, - 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, - 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, - 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, - 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, - 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, - 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, - 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, - 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, - 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, - 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, - 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, - 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, - 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, - 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, - 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, - 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, - 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, - 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, - 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, - 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, - 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, - 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, - 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, - 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, - 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, - 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, - 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, - 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, - 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, - 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, - 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, - 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, - 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, - 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, - 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, - 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, - 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, - 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, - 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, - 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, - 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, - 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, - 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, - 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, - 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, - 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, - 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, - 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, - 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, - 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, - 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, - 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, - 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, - 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, - 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, - 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, - 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, - 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, - 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, - 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, - 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, - 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, - 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, - 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, - 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, - 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, - 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, - 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, - 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, - 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, - 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, - 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, - 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, - 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, - 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, - 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, - 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, - 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, - 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, - 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, - 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, - 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, - 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, - 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, - 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, - 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, - 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, - 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, - 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, - 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, - 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, - 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, - 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, - 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, - 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, - 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, - 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, - 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, - 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, - 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, - 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, - 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, - 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, - 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, - 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, - 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, - 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, - 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, - 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, - 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, - 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, - 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, - 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, - 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, - 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, - 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, - 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, - 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, - 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, - 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, - 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, - 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, - 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, - 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, - 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, - 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, - 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, - 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, - 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, - 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, - 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, - 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, - 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, - 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, - 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, - 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, - 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, - 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, - 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, - 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, - 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, - 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, - 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, - 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, - 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, - 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, - 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, - 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, - 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, - 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, - 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, - 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, - 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, - 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, - 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, - 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, - 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, - 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, - 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, - 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, - 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, - 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, - 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, - 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, - 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, - 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, - 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, - 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, - 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, - 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, - 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, - 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, - 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, - 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, - 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, - 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, - 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, - 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, - 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, - 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, - 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, - 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, - 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, - 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, - 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, - 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, - 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, - 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, - 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, - 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, - 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, - 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, - 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, - 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, - 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, - 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, - 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, - 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, - 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, - 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, - 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, - 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, - 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, - 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, - 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, - 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, - 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, - 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, - 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, - 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, - 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, - 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, - 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, - 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, - 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, - 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, - 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, - 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, - 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, - 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, - 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, - 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, - 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, - 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, - 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, - 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, - 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, - 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, - 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, - 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, - 127,248,192,31,240,96,3,224,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,11,0,0,6, - 29,29,10,2,247,120,252,252,252,252,120,0,0,32,48,48, - 48,48,48,48,48,112,120,120,120,120,252,252,252,252,252,252, - 120,120,14,28,56,22,4,251,1,128,1,128,1,128,1,128, - 3,192,15,176,29,152,61,152,121,184,121,184,249,184,249,184, - 249,128,249,128,249,128,249,128,249,128,249,132,121,132,121,132, - 61,136,29,152,15,176,3,192,1,128,1,128,1,128,1,128, - 23,29,87,27,2,0,0,1,0,0,30,224,0,120,16,0, - 248,24,0,240,28,1,240,60,1,240,124,3,240,124,3,240, - 120,3,240,0,3,240,0,3,240,0,3,240,0,31,240,64, - 1,255,128,1,248,0,0,248,0,0,248,0,0,248,0,0, - 120,0,0,120,0,0,112,0,0,112,6,60,112,4,127,224, - 28,131,255,248,129,255,240,195,63,224,124,31,192,18,20,60, - 21,2,3,0,0,128,195,225,128,239,249,192,255,255,128,120, - 15,0,112,7,0,96,3,0,224,1,128,192,1,128,192,1, - 128,192,1,128,192,1,128,224,1,128,96,3,0,112,7,0, - 120,15,0,255,255,128,239,249,192,195,225,128,0,0,128,21, - 28,84,23,1,0,255,195,248,63,0,224,63,0,192,31,128, - 192,31,128,128,31,192,128,15,193,0,15,193,0,7,227,0, - 7,226,0,7,246,0,3,244,0,3,252,0,1,248,0,63, - 255,192,1,248,0,1,248,0,1,248,0,63,255,192,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,15,255,128,3,35,35,11,4,249,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0, - 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,17,36,108,24,2,248,1,240,0,6,12,0,12,6, - 0,24,7,0,56,31,0,56,63,0,56,63,0,56,62,0, - 60,28,0,63,0,0,63,192,0,31,224,0,63,248,0,103, - 254,0,67,255,0,192,255,0,192,63,128,224,15,128,248,3, - 128,254,1,128,127,129,128,127,225,0,63,249,0,15,254,0, - 3,254,0,0,254,0,0,63,0,14,15,0,31,7,0,63, - 7,0,63,7,0,62,7,0,56,6,0,24,12,0,12,24, - 0,7,240,0,12,5,10,16,2,22,112,224,249,240,249,240, - 249,240,112,224,28,28,112,32,2,1,0,127,224,0,1,128, - 24,0,6,0,12,0,12,0,3,0,24,0,1,0,16,30, - 33,128,48,113,160,192,96,224,224,64,97,224,96,96,97,224, - 96,96,193,224,32,32,195,224,32,48,195,224,32,48,195,224, - 0,48,195,224,0,48,195,224,0,48,195,224,16,48,193,224, - 16,32,65,224,48,96,97,224,32,96,96,240,96,64,48,112, - 192,192,16,31,1,128,24,0,1,0,12,0,3,0,6,0, - 12,0,1,128,24,0,0,127,224,0,11,14,28,15,2,14, - 30,0,35,0,99,128,115,128,115,128,15,128,51,128,99,128, - 227,128,227,160,227,160,125,192,0,0,255,224,10,16,32,18, - 4,1,24,64,48,192,112,128,97,128,225,128,227,128,227,128, - 227,128,227,128,227,128,227,128,97,128,97,128,48,192,24,64, - 8,0,19,11,33,22,2,5,255,255,224,255,255,224,255,255, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,10,4,8,14,2,8,255, - 192,255,192,255,192,255,192,28,28,112,32,2,1,0,127,224, - 0,1,128,24,0,6,0,12,0,12,0,3,0,24,0,1, - 0,19,255,193,128,48,249,224,192,96,248,240,64,96,248,248, - 96,96,248,248,96,192,248,248,32,192,248,240,48,192,249,224, - 48,192,254,0,48,192,249,192,48,192,249,224,48,192,249,240, - 48,192,249,240,32,64,249,242,96,96,249,242,96,96,249,242, - 64,48,249,246,192,19,254,253,128,24,0,121,0,12,0,3, - 0,6,0,12,0,1,128,24,0,0,127,224,0,10,3,6, - 16,3,23,255,192,255,192,255,192,12,11,22,22,5,18,31, - 128,127,224,112,96,224,48,192,48,192,48,192,48,224,112,112, - 224,63,192,31,128,32,29,116,36,2,254,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,255,255,255,255,255,255,255,255,255,255,255,255,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,0,0,0,0, - 0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,11, - 17,34,17,3,11,31,0,99,192,225,224,225,224,241,224,241, - 224,115,192,7,128,14,0,28,0,48,32,96,32,64,96,255, - 224,255,224,143,192,135,128,12,18,36,16,2,10,31,0,51, - 192,97,224,113,224,121,224,121,224,1,192,3,128,30,0,3, - 192,1,224,1,240,121,240,249,240,241,240,225,224,99,192,31, - 0,7,7,7,17,7,21,14,30,30,60,120,96,192,19,30, - 90,22,2,245,112,28,0,112,28,0,248,62,0,248,62,0, - 248,62,0,248,62,0,248,62,0,240,62,0,240,62,0,240, - 62,0,112,28,0,112,28,0,96,28,32,96,24,32,32,56, - 96,32,127,224,61,255,192,47,231,192,39,195,192,32,0,0, - 32,0,0,112,0,0,112,0,0,120,0,0,120,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,56,0,0,18,33, - 99,23,3,251,15,255,192,63,206,0,127,206,0,127,206,0, - 255,206,0,255,206,0,255,206,0,255,206,0,255,206,0,255, - 206,0,255,206,0,255,206,0,127,206,0,63,206,0,7,206, - 0,1,206,0,1,206,0,1,206,0,1,206,0,1,206,0, - 1,206,0,1,206,0,1,206,0,1,206,0,1,206,0,1, - 206,0,1,206,0,1,206,0,1,206,0,1,206,0,1,206, - 0,1,206,0,1,206,0,6,6,6,10,2,10,120,252,252, - 252,252,120,7,8,8,17,5,248,32,32,56,12,14,14,14, - 252,8,17,17,16,4,11,12,28,252,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,10,14,28,14,2,14,30,0, - 51,0,115,128,243,192,243,192,243,192,243,192,243,192,243,192, - 115,128,51,0,30,0,0,0,255,192,10,16,32,18,4,1, - 6,0,131,0,195,0,97,128,97,128,113,192,113,192,113,192, - 113,192,113,192,97,192,97,128,65,128,195,0,134,0,4,0, - 28,29,116,34,4,0,0,0,12,0,12,0,12,0,28,0, - 24,0,252,0,24,0,60,0,48,0,60,0,32,0,60,0, - 96,0,60,0,192,0,60,0,192,0,60,1,128,0,60,1, - 128,0,60,3,0,0,60,2,3,128,60,6,3,128,60,12, - 7,128,60,12,15,128,60,24,15,128,255,24,31,128,0,48, - 23,128,0,32,39,128,0,96,103,128,0,192,71,128,0,192, - 199,128,1,128,255,240,1,128,7,128,3,0,7,128,2,0, - 7,128,6,0,7,128,12,0,63,240,27,29,116,34,4,0, - 0,0,12,0,12,0,24,0,28,0,24,0,252,0,48,0, - 60,0,48,0,60,0,96,0,60,0,96,0,60,0,192,0, - 60,1,128,0,60,1,128,0,60,3,0,0,60,3,31,0, - 60,6,115,192,60,6,225,224,60,12,225,224,60,8,241,224, - 255,24,241,224,0,48,115,192,0,48,3,128,0,96,7,0, - 0,96,14,0,0,192,24,0,0,128,48,32,1,128,64,32, - 3,0,64,96,3,0,191,224,6,0,255,224,6,0,159,192, - 12,0,135,128,30,29,116,34,2,0,0,0,3,0,31,0, - 3,0,51,192,6,0,97,224,4,0,113,224,12,0,121,224, - 8,0,121,224,24,0,1,192,48,0,3,128,48,0,30,0, - 96,0,3,192,64,0,1,224,192,0,49,240,128,224,249,241, - 128,224,249,243,1,224,225,226,3,224,99,230,3,224,63,132, - 5,224,0,12,5,224,0,8,9,224,0,16,25,224,0,48, - 17,224,0,32,49,224,0,96,63,252,0,64,1,224,0,192, - 1,224,0,128,1,224,1,0,1,224,3,0,15,252,12,29, - 58,18,3,247,30,0,63,0,63,0,63,0,63,0,30,0, - 0,0,14,0,17,0,32,128,32,128,32,128,1,128,3,0, - 3,0,6,0,14,0,28,0,60,96,120,32,120,48,248,16, - 248,16,248,16,248,16,248,48,124,96,63,192,31,128,26,37, - 148,29,2,0,0,224,0,0,0,240,0,0,0,240,0,0, - 0,120,0,0,0,56,0,0,0,12,0,0,0,6,0,0, - 0,0,0,0,0,4,0,0,0,6,0,0,0,14,0,0, - 0,14,0,0,0,15,0,0,0,31,0,0,0,31,0,0, - 0,31,128,0,0,63,128,0,0,47,128,0,0,47,192,0, - 0,111,192,0,0,79,192,0,0,71,192,0,0,199,224,0, - 0,135,224,0,0,131,224,0,1,131,240,0,1,3,240,0, - 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, - 6,0,252,0,4,0,252,0,12,0,252,0,12,0,124,0, - 30,0,254,0,255,199,255,192,26,37,148,29,2,0,0,0, - 224,0,0,0,224,0,0,1,224,0,0,3,192,0,0,3, - 128,0,0,6,0,0,0,12,0,0,0,0,0,0,0,4, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,31, - 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, - 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, - 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, - 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, - 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, - 255,192,26,37,148,29,2,0,0,4,0,0,0,14,0,0, - 0,14,0,0,0,31,0,0,0,59,128,0,0,224,192,0, - 1,128,48,0,0,0,0,0,0,4,0,0,0,6,0,0, - 0,14,0,0,0,14,0,0,0,15,0,0,0,31,0,0, - 0,31,0,0,0,31,128,0,0,63,128,0,0,47,128,0, - 0,47,192,0,0,111,192,0,0,79,192,0,0,71,192,0, - 0,199,224,0,0,135,224,0,0,131,224,0,1,131,240,0, - 1,3,240,0,3,1,240,0,3,255,248,0,2,1,248,0, - 6,0,248,0,6,0,252,0,4,0,252,0,12,0,252,0, - 12,0,124,0,30,0,254,0,255,199,255,192,26,36,144,29, - 2,0,0,56,32,0,0,126,32,0,0,255,224,0,0,143, - 192,0,0,131,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, - 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, - 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, - 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, - 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, - 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, - 255,192,26,36,144,29,2,0,0,224,224,0,1,241,240,0, - 1,241,240,0,1,241,240,0,0,224,224,0,0,0,0,0, - 0,0,0,0,0,4,0,0,0,14,0,0,0,14,0,0, - 0,14,0,0,0,31,0,0,0,31,0,0,0,31,0,0, - 0,63,128,0,0,63,128,0,0,63,128,0,0,111,192,0, - 0,111,192,0,0,79,192,0,0,199,192,0,0,199,224,0, - 0,135,224,0,1,131,224,0,1,131,240,0,1,3,240,0, - 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, - 6,0,252,0,4,0,252,0,12,0,124,0,12,0,124,0, - 30,0,126,0,255,199,255,192,26,37,148,29,2,0,0,31, - 0,0,0,63,128,0,0,97,192,0,0,96,192,0,0,96, - 192,0,0,113,192,0,0,63,128,0,0,30,0,0,0,0, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, - 0,0,0,31,0,0,0,31,0,0,0,31,128,0,0,63, - 128,0,0,63,128,0,0,47,128,0,0,111,192,0,0,79, - 192,0,0,71,192,0,0,135,224,0,0,135,224,0,0,131, - 224,0,1,3,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,4,0,252,0,4,0, - 252,0,12,0,252,0,12,0,124,0,28,0,254,0,255,199, - 255,192,36,28,140,38,1,0,0,7,255,255,224,0,1,254, - 3,224,0,1,254,1,224,0,1,254,0,224,0,1,254,0, - 224,0,3,126,0,96,0,3,126,0,96,0,6,126,0,32, - 0,6,126,4,32,0,12,126,4,0,0,12,126,12,0,0, - 24,126,12,0,0,24,126,28,0,0,48,127,252,0,0,48, - 126,60,0,0,96,126,28,0,0,96,126,12,0,0,192,126, - 4,48,0,192,126,4,48,1,255,254,4,48,1,128,126,0, - 48,3,0,126,0,112,3,0,126,0,112,6,0,126,0,240, - 6,0,126,0,240,14,0,126,1,240,63,0,126,7,240,255, - 199,255,255,240,21,37,111,26,3,248,1,254,48,7,3,48, - 14,1,240,30,0,240,60,0,240,60,0,112,124,0,112,124, - 0,48,124,0,48,252,0,48,252,0,48,252,0,16,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,24, - 252,0,24,124,0,16,124,0,16,124,0,16,60,0,48,60, - 0,32,30,0,96,14,0,192,7,1,128,1,254,0,0,32, - 0,0,96,0,0,120,0,0,28,0,0,14,0,0,14,0, - 0,14,0,2,28,0,1,248,0,22,37,111,26,2,0,1, - 128,0,1,192,0,1,224,0,0,224,0,0,112,0,0,24, - 0,0,8,0,0,0,0,0,0,0,255,255,252,15,192,124, - 15,192,60,15,192,28,15,192,28,15,192,12,15,192,12,15, - 192,12,15,193,4,15,193,0,15,195,0,15,195,0,15,199, - 0,15,255,0,15,199,0,15,195,0,15,195,0,15,193,4, - 15,193,4,15,193,4,15,192,12,15,192,12,15,192,12,15, - 192,28,15,192,28,15,192,60,15,192,252,255,255,252,22,37, - 111,26,2,0,0,1,192,0,3,192,0,3,192,0,7,128, - 0,14,0,0,12,0,0,24,0,0,0,0,0,0,0,255, - 255,252,15,192,124,15,192,60,15,192,28,15,192,28,15,192, - 12,15,192,12,15,192,4,15,193,4,15,193,0,15,195,0, - 15,195,0,15,199,0,15,255,0,15,199,0,15,195,0,15, - 195,0,15,193,4,15,193,4,15,193,4,15,192,4,15,192, - 12,15,192,12,15,192,28,15,192,28,15,192,60,15,192,252, - 255,255,252,22,37,111,26,2,0,0,8,0,0,24,0,0, - 60,0,0,126,0,0,231,0,1,193,128,3,0,64,0,0, - 0,0,0,0,255,255,252,15,192,124,15,192,60,15,192,28, - 15,192,28,15,192,12,15,192,12,15,192,12,15,193,4,15, - 193,0,15,195,0,15,195,0,15,199,0,15,255,0,15,199, - 0,15,195,0,15,195,0,15,193,4,15,193,4,15,193,4, - 15,192,12,15,192,12,15,192,12,15,192,28,15,192,28,15, - 192,60,15,192,252,255,255,252,22,36,108,26,2,0,1,193, - 192,3,227,224,3,227,224,3,227,224,1,193,192,0,0,0, - 0,0,0,0,0,0,255,255,252,15,192,124,15,192,60,15, - 192,28,15,192,28,15,192,12,15,192,12,15,192,4,15,193, - 4,15,193,0,15,195,0,15,195,0,15,199,0,15,255,0, - 15,199,0,15,195,0,15,195,0,15,193,4,15,193,4,15, - 193,4,15,192,4,15,192,12,15,192,12,15,192,28,15,192, - 28,15,192,60,15,192,252,255,255,252,13,37,74,17,2,0, - 96,0,112,0,120,0,56,0,28,0,14,0,2,0,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, - 0,112,0,240,1,240,1,224,3,128,7,0,4,0,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, - 6,0,6,0,15,0,31,128,57,192,112,112,192,24,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,36,72,16,2,0, - 112,112,248,248,248,248,248,248,112,112,0,0,0,0,0,0, - 255,248,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,248,25,28,112,29,2,0,255,255, - 128,0,31,128,224,0,31,128,112,0,31,128,56,0,31,128, - 60,0,31,128,30,0,31,128,30,0,31,128,31,0,31,128, - 31,0,31,128,31,0,31,128,31,128,31,128,31,128,31,128, - 31,128,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,30,0,31,128,30,0,31,128,60,0,31,128, - 56,0,31,128,112,0,31,128,224,0,255,255,128,0,27,36, - 144,30,2,0,0,24,0,0,0,62,32,0,0,127,224,0, - 0,71,192,0,0,1,128,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,128,255,224,31,192,63,0,31,192,30,0, - 15,224,12,0,7,240,12,0,7,240,12,0,7,248,12,0, - 7,248,12,0,6,252,12,0,6,254,12,0,6,126,12,0, - 6,63,12,0,6,63,140,0,6,31,140,0,6,31,204,0, - 6,15,236,0,6,7,236,0,6,7,252,0,6,3,252,0, - 6,1,252,0,6,1,252,0,6,0,252,0,6,0,252,0, - 6,0,124,0,6,0,60,0,15,0,60,0,31,128,28,0, - 255,224,12,0,22,37,111,27,3,1,7,128,0,7,128,0, - 3,192,0,1,192,0,0,224,0,0,112,0,0,16,0,0, - 0,0,0,0,0,1,254,0,3,3,0,6,1,128,14,1, - 192,28,0,224,60,0,240,60,0,240,124,0,248,124,0,248, - 124,0,248,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, - 248,124,0,248,60,0,240,60,0,240,28,0,224,14,1,192, - 6,1,128,3,3,0,1,254,0,22,37,111,27,3,1,0, - 7,128,0,7,128,0,15,0,0,14,0,0,28,0,0,56, - 0,0,32,0,0,0,0,0,0,0,1,254,0,3,3,0, - 6,1,128,14,1,192,28,0,224,60,0,240,60,0,240,124, - 0,248,124,0,248,124,0,248,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, - 124,0,248,124,0,248,124,0,248,60,0,240,60,0,240,28, - 0,224,14,1,192,6,1,128,3,3,0,1,254,0,22,37, - 111,27,3,0,0,48,0,0,48,0,0,120,0,0,252,0, - 1,206,0,3,135,0,6,1,128,0,0,0,0,0,0,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,0, - 240,60,0,240,28,0,224,14,1,192,6,1,128,3,3,0, - 1,254,0,22,36,108,27,3,0,1,192,128,3,241,128,3, - 255,0,4,63,0,4,12,0,0,0,0,0,0,0,0,0, - 0,1,254,0,3,3,0,6,1,128,14,1,192,28,0,224, - 60,0,240,60,0,240,124,0,248,124,0,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,124,0,248,124,0,248,124,0,248, - 60,0,240,60,0,240,28,0,224,14,1,192,6,1,128,3, - 3,0,1,254,0,22,36,108,27,3,0,3,131,128,7,199, - 192,7,199,192,7,199,192,3,131,128,0,0,0,0,0,0, - 0,0,0,1,254,0,3,3,0,6,1,128,14,1,192,28, - 0,224,60,0,240,60,0,240,124,0,248,124,0,248,124,0, - 248,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, - 252,0,252,252,0,252,252,0,252,124,0,248,124,0,248,124, - 0,248,60,0,240,60,0,240,28,0,224,14,1,192,6,1, - 128,3,3,0,1,254,0,24,25,75,36,6,254,64,0,2, - 224,0,7,240,0,14,120,0,28,60,0,60,30,0,120,15, - 0,240,7,129,224,3,195,192,1,231,128,0,239,0,0,126, - 0,0,60,0,0,124,0,0,254,0,1,231,0,3,195,128, - 7,129,192,15,0,224,30,0,112,60,0,56,120,0,28,112, - 0,14,224,0,7,192,0,2,22,28,84,27,3,1,1,254, - 12,3,3,152,6,3,208,14,1,240,28,1,224,60,1,240, - 60,1,240,124,1,248,124,3,248,124,6,248,252,14,252,252, - 12,252,252,24,252,252,56,252,252,112,252,252,96,252,252,192, - 252,253,192,252,125,128,248,127,0,248,126,0,248,62,0,240, - 62,0,240,30,0,224,62,1,192,46,1,128,103,3,0,193, - 254,0,26,37,148,30,3,1,0,224,0,0,0,240,0,0, - 0,120,0,0,0,56,0,0,0,28,0,0,0,12,0,0, - 0,6,0,0,0,0,0,0,0,0,0,0,255,240,127,192, - 31,128,31,0,31,128,14,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,15,128,12,0,15,192,12,0,7,192,24,0, - 7,224,56,0,1,252,240,0,0,255,192,0,26,37,148,30, - 3,1,0,0,224,0,0,1,224,0,0,1,224,0,0,3, - 192,0,0,7,0,0,0,6,0,0,0,12,0,0,0,0, - 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, - 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, - 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, - 240,0,0,255,192,0,26,37,148,30,3,0,0,4,0,0, - 0,14,0,0,0,31,0,0,0,31,128,0,0,59,192,0, - 0,224,224,0,1,128,48,0,0,0,0,0,0,0,0,0, - 255,240,127,192,31,128,31,0,31,128,14,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,15,128,4,0,15,128,12,0, - 7,192,24,0,7,224,24,0,1,240,112,0,0,255,192,0, - 26,36,144,30,3,0,0,224,224,0,1,241,240,0,1,241, - 240,0,1,241,240,0,0,224,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, - 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, - 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, - 240,0,0,255,192,0,25,37,148,28,2,0,0,0,224,0, - 0,0,224,0,0,1,224,0,0,3,192,0,0,3,128,0, - 0,6,0,0,0,12,0,0,0,0,0,0,0,0,0,0, - 255,240,255,128,31,192,60,0,31,192,24,0,15,192,24,0, - 15,224,24,0,7,224,16,0,7,224,48,0,3,240,32,0, - 3,240,32,0,1,248,96,0,1,248,64,0,1,252,64,0, - 0,252,192,0,0,254,128,0,0,127,128,0,0,127,128,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,1,255,224,0, - 23,28,84,27,2,0,255,248,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,255,128,31,129,224,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,248,0,19,28,84,22,1,0, - 0,248,0,3,156,0,7,142,0,15,15,0,15,15,0,15, - 15,0,31,15,0,31,15,0,31,14,0,31,28,0,31,112, - 0,31,12,0,31,7,0,31,7,128,31,3,192,31,3,192, - 31,3,192,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,224,31,115,224,31,243,192,31,243,192,31,227,128,31,103, - 0,255,62,0,17,28,84,20,2,0,56,0,0,60,0,0, - 60,0,0,30,0,0,14,0,0,3,0,0,1,0,0,0, - 0,0,0,0,0,15,192,0,24,240,0,48,120,0,112,120, - 0,124,124,0,124,124,0,56,124,0,1,252,0,14,124,0, - 28,124,0,56,124,0,120,124,0,248,124,0,248,124,128,248, - 124,128,248,124,128,252,253,128,127,191,0,62,30,0,17,28, - 84,20,2,0,0,48,0,0,112,0,0,240,0,0,224,0, - 1,192,0,1,128,0,3,0,0,0,0,0,0,0,0,15, - 192,0,24,240,0,48,120,0,112,120,0,124,124,0,124,124, - 0,124,124,0,0,252,0,7,124,0,28,124,0,56,124,0, - 120,124,0,248,124,0,248,124,128,248,124,128,248,124,128,252, - 253,128,127,191,0,62,30,0,17,28,84,20,2,0,3,0, - 0,3,128,0,7,128,0,7,192,0,12,224,0,24,112,0, - 48,24,0,0,0,0,0,0,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,17,27,81,20,2,0,14,8,0,31,152,0,63,240, - 0,35,240,0,32,224,0,0,0,0,0,0,0,0,0,0, - 15,192,0,24,240,0,48,120,0,112,120,0,124,124,0,124, - 124,0,124,124,0,0,252,0,7,124,0,28,124,0,56,124, - 0,120,124,0,248,124,0,248,124,128,248,124,128,248,124,128, - 252,253,128,127,191,0,62,30,0,17,27,81,20,2,0,56, - 112,0,124,248,0,124,248,0,124,248,0,56,112,0,0,0, - 0,0,0,0,0,0,0,15,192,0,24,240,0,48,120,0, - 112,120,0,124,124,0,124,124,0,124,124,0,0,252,0,7, - 124,0,28,124,0,56,124,0,120,124,0,248,124,0,248,124, - 128,248,124,128,248,124,128,252,253,128,127,191,0,62,30,0, - 17,28,84,20,2,1,15,192,0,12,192,0,24,96,0,24, - 96,0,24,96,0,28,224,0,15,192,0,7,128,0,0,0, - 0,15,192,0,16,240,0,48,120,0,112,120,0,120,124,0, - 124,124,0,124,124,0,0,252,0,7,124,0,28,124,0,56, - 124,0,120,124,0,248,124,0,248,124,128,248,124,128,248,124, - 128,252,253,128,127,255,0,62,62,0,23,19,57,27,2,0, - 15,195,224,24,238,112,48,124,56,112,124,60,120,124,60,124, - 124,62,124,124,62,24,124,62,3,252,62,14,127,254,60,124, - 0,120,124,0,248,124,2,248,124,2,248,124,2,248,124,4, - 252,222,4,127,143,8,63,3,240,14,27,54,18,2,248,7, - 224,14,48,60,24,60,28,120,60,120,124,248,124,248,120,248, - 48,248,0,248,0,248,0,248,0,120,4,120,4,56,4,60, - 8,30,16,7,224,2,0,2,0,3,128,0,192,0,224,0, - 224,0,224,7,128,14,28,56,18,2,0,56,0,56,0,60, - 0,30,0,14,0,7,0,1,0,0,0,0,0,7,192,28, - 224,56,112,56,120,120,120,120,124,248,124,248,124,248,124,255, - 252,248,0,248,0,248,4,120,4,120,4,56,8,60,24,30, - 48,7,192,14,28,56,18,2,0,0,112,0,112,0,240,1, - 224,1,192,3,128,2,0,0,0,0,0,7,192,28,224,56, - 112,56,120,120,120,120,124,248,124,248,124,255,252,248,0,248, - 0,248,0,248,4,120,4,120,12,56,8,60,24,30,48,7, - 192,14,28,56,18,2,0,3,0,7,128,7,128,15,192,12, - 192,24,96,48,56,0,0,0,0,7,192,28,224,56,112,56, - 120,120,120,120,124,248,124,248,124,248,124,255,252,248,0,248, - 0,248,0,120,4,120,4,56,8,60,8,30,16,7,224,14, - 27,54,18,2,0,56,112,124,248,124,248,124,248,56,112,0, - 0,0,0,0,0,7,192,28,224,56,112,56,120,120,120,120, - 124,248,124,248,124,248,124,255,252,248,0,248,0,248,0,120, - 4,120,12,56,8,60,24,30,48,7,192,10,28,56,12,1, - 0,224,0,240,0,248,0,120,0,28,0,14,0,2,0,0, - 0,0,0,127,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,127,192,9,28,56,12,2,0,1, - 128,3,128,7,128,15,0,14,0,28,0,16,0,0,0,0, - 0,254,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,11,28,56,11,1,0,14,0,30, - 0,31,0,63,0,115,128,224,192,128,96,0,0,0,0,127, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,127,192,11,27,54,12,1,0,113,192,251,224,251, - 224,251,224,113,192,0,0,0,0,0,0,127,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,127, - 192,16,28,56,20,2,0,31,8,15,184,7,224,7,224,7, - 224,13,240,16,248,0,248,0,124,7,252,30,126,60,62,56, - 62,120,30,120,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,30,120,30,120,30,56,60,60,60,12,112,7,224,19, - 27,81,22,2,0,0,2,0,7,194,0,15,254,0,15,252, - 0,8,120,0,0,0,0,0,0,0,0,0,0,254,60,0, - 62,222,0,63,15,0,63,15,128,63,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,255,191,224,16,28,56,20,2,0,24,0,28,0, - 30,0,15,0,7,0,3,128,0,192,0,0,0,0,7,192, - 12,112,28,56,56,60,120,30,120,30,248,30,248,31,248,31, - 248,31,248,31,248,31,248,30,120,30,120,30,56,60,28,56, - 12,112,7,192,16,28,56,20,2,0,0,56,0,56,0,120, - 0,240,0,224,1,192,3,0,0,0,0,0,7,192,12,112, - 28,56,56,60,120,30,120,30,248,30,248,31,248,31,248,31, - 248,31,248,31,248,30,120,30,120,30,56,60,28,56,12,112, - 7,192,16,28,56,20,2,0,3,128,3,192,3,192,7,224, - 14,112,28,56,48,12,0,0,0,0,7,192,12,112,28,56, - 56,60,120,30,120,30,248,30,248,31,248,31,248,31,248,31, - 248,31,248,30,120,30,120,30,56,60,28,56,12,112,7,192, - 16,27,54,20,2,0,14,4,31,140,31,248,35,248,32,112, - 0,0,0,0,0,0,7,192,12,112,28,56,56,60,120,30, - 120,30,248,30,248,31,248,31,248,31,248,31,248,31,248,30, - 120,30,120,30,56,60,28,56,12,112,7,192,16,27,54,20, - 2,0,28,56,62,124,62,124,62,124,28,56,0,0,0,0, - 0,0,7,192,12,112,28,56,56,60,120,30,120,30,248,30, - 248,31,248,31,248,31,248,31,248,31,248,30,120,30,120,30, - 56,60,28,56,12,112,7,192,33,26,130,37,2,253,0,3, - 192,0,0,0,7,224,0,0,0,7,224,0,0,0,7,224, - 0,0,0,7,224,0,0,0,3,192,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,255,128,255,255,255,255,128,255, - 255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,3,192,0,0,0,7,224,0,0,0,7,224,0, - 0,0,7,224,0,0,0,7,224,0,0,0,3,192,0,0, - 16,19,38,20,2,0,7,225,12,114,28,60,56,60,120,62, - 120,62,248,126,248,95,248,223,249,159,251,31,254,31,252,30, - 124,30,120,30,60,28,124,56,78,48,135,192,19,28,84,21, - 1,0,12,0,0,30,0,0,15,0,0,7,0,0,3,128, - 0,1,192,0,0,64,0,0,0,0,0,0,0,254,63,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,31,128,62,31,128,30,47,128, - 31,79,128,7,143,224,19,28,84,21,1,0,0,28,0,0, - 60,0,0,60,0,0,120,0,0,224,0,0,192,0,1,128, - 0,0,0,0,0,0,0,254,63,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,31,128,62,31,128,30,47,128,30,79,128,7,143,224, - 19,28,84,21,1,0,1,192,0,1,224,0,3,224,0,3, - 240,0,7,56,0,12,28,0,24,4,0,0,0,0,0,0, - 0,254,63,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,31,128,62,31, - 128,30,47,128,30,79,128,7,143,224,19,27,81,21,1,0, - 28,28,0,62,62,0,62,62,0,62,62,0,28,28,0,0, - 0,0,0,0,0,0,0,0,254,63,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,31,128,62,31,128,30,47,128,30,79,128,7,143, - 224,18,37,111,19,0,247,0,14,0,0,30,0,0,30,0, - 0,60,0,0,48,0,0,96,0,0,192,0,0,0,0,0, - 0,0,255,207,192,63,3,0,31,3,0,31,2,0,15,2, - 0,15,130,0,15,132,0,7,196,0,7,196,0,3,196,0, - 3,232,0,3,232,0,1,248,0,1,240,0,0,240,0,0, - 240,0,0,96,0,0,96,0,0,96,0,0,32,0,0,64, - 0,12,64,0,30,64,0,62,128,0,62,128,0,60,128,0, - 29,0,0,14,0,0,18,36,108,20,0,247,3,0,0,15, - 0,0,63,0,0,223,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,31,0,31,63,128,31,71,128,31,135,192, - 31,135,192,31,7,192,31,7,192,31,7,192,31,7,128,31, - 7,128,31,15,0,31,15,0,31,14,0,31,12,0,31,24, - 0,31,48,0,31,96,0,31,128,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,30, - 0,0,56,0,0,224,0,0,19,36,108,20,0,247,7,14, - 0,15,159,0,15,159,0,15,159,0,7,14,0,0,0,0, - 0,0,0,0,0,0,255,207,224,63,3,0,31,3,0,31, - 2,0,15,2,0,15,130,0,15,132,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,248,0,1,240,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 32,0,0,64,0,12,64,0,30,64,0,62,64,0,62,128, - 0,60,128,0,29,0,0,14,0,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 28 - Calculated Max Values w=33 h=37 x= 5 y=12 dx=37 dy= 0 ascent=29 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =28 descent= 0 - X Font ascent =28 descent= 0 - Max Font ascent =29 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29n[1232] U8G_SECTION(".progmem.u8g_font_osb29n") = { - 0,107,49,223,245,28,0,0,0,0,42,57,0,29,248,28, - 0,14,16,32,19,3,12,3,0,7,128,7,128,199,24,227, - 60,242,124,122,248,7,128,7,128,250,248,242,124,227,60,199, - 24,7,128,7,128,3,0,33,33,165,37,2,251,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,255,255,255,255,128,255,255,255, - 255,128,255,255,255,255,128,0,1,192,0,0,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,7,13,13,10,2,249,120,252,252,254,254,126,6,4, - 4,8,24,96,192,10,4,8,14,2,8,255,192,255,192,255, - 192,255,192,6,6,6,10,2,0,120,252,252,252,252,120,13, - 37,74,17,2,248,0,24,0,56,0,56,0,48,0,112,0, - 112,0,96,0,96,0,224,0,224,0,192,1,192,1,192,1, - 128,3,128,3,128,3,128,3,0,7,0,7,0,6,0,14, - 0,14,0,12,0,12,0,28,0,28,0,24,0,56,0,56, - 0,48,0,112,0,112,0,112,0,96,0,224,0,224,0,18, - 28,84,22,2,1,3,240,0,14,28,0,14,28,0,28,14, - 0,60,15,0,60,15,0,124,15,128,124,15,128,124,15,128, - 252,15,192,252,15,192,252,15,192,252,15,192,252,15,192,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,124,15, - 128,124,15,128,124,15,128,60,15,0,60,15,0,28,14,0, - 12,28,0,14,28,0,3,240,0,13,28,56,22,5,0,3, - 128,7,128,15,128,255,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,255,248,17,28,84,22,2,1,15,248,0, - 24,62,0,48,63,0,112,31,0,240,31,128,240,31,128,252, - 31,128,252,31,128,254,31,128,126,63,0,60,63,0,0,126, - 0,0,252,0,0,248,0,1,224,0,3,128,0,6,0,0, - 12,0,128,24,0,128,16,0,128,32,0,128,47,1,128,127, - 255,128,127,255,128,71,255,0,67,255,0,65,254,0,64,252, - 0,17,28,84,22,2,1,15,248,0,24,62,0,48,63,0, - 48,31,0,112,31,128,120,31,128,124,31,128,124,31,128,124, - 31,128,60,31,0,0,31,0,0,62,0,0,120,0,15,192, - 0,0,120,0,0,62,0,0,63,0,0,31,0,16,31,128, - 124,31,128,252,31,128,252,31,128,252,31,128,248,31,128,240, - 63,0,112,62,0,56,124,0,31,248,0,18,28,84,22,2, - 0,0,124,0,0,124,0,0,252,0,0,252,0,1,252,0, - 1,252,0,3,252,0,3,252,0,6,252,0,6,252,0,12, - 252,0,12,252,0,24,252,0,24,252,0,48,252,0,48,252, - 0,96,252,0,96,252,0,192,252,0,255,255,192,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,15,255,192,17,29,87,22,3,0,0,6,0,112,28, - 0,127,252,0,127,248,0,127,224,0,127,192,0,126,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,104, - 120,0,112,62,0,96,62,0,96,31,0,0,31,0,0,31, - 128,0,31,128,56,31,128,124,31,128,252,31,128,252,31,128, - 248,31,0,240,31,0,224,30,0,96,62,0,48,124,0,31, - 240,0,18,29,87,22,3,0,0,32,0,3,220,0,7,6, - 0,14,6,0,30,15,0,60,31,0,60,63,0,124,63,0, - 124,62,0,124,28,0,252,0,0,252,0,0,252,0,0,253, - 248,0,255,30,0,254,31,0,252,15,128,252,15,128,252,15, - 192,252,15,192,252,15,192,124,15,192,124,15,192,124,15,192, - 60,15,128,28,15,128,30,15,0,14,30,0,3,252,0,17, - 28,84,22,3,0,103,135,0,111,199,0,127,227,128,127,241, - 128,127,249,128,127,255,128,96,125,128,64,1,0,64,3,0, - 64,3,0,192,6,0,0,4,0,0,12,0,0,24,0,0, - 56,0,0,112,0,0,112,0,0,240,0,1,240,0,3,224, - 0,3,224,0,3,224,0,7,224,0,7,224,0,7,224,0, - 7,224,0,7,224,0,3,192,0,19,29,87,22,2,0,0, - 64,0,7,184,0,28,6,0,56,3,0,112,1,0,112,1, - 128,240,1,128,240,1,128,248,1,128,252,3,0,255,2,0, - 127,196,0,127,248,0,63,252,0,31,255,0,15,255,128,27, - 255,128,48,255,192,96,63,192,96,15,192,224,3,224,224,1, - 192,224,1,192,224,1,192,224,1,192,112,1,128,56,1,0, - 28,6,0,15,252,0,18,28,84,22,3,1,15,240,0,30, - 28,0,60,30,0,124,14,0,124,15,0,252,15,128,252,15, - 128,252,15,128,252,15,128,252,15,192,252,15,192,124,15,192, - 124,15,192,62,31,192,30,63,192,7,239,192,0,15,192,0, - 15,192,0,15,192,30,15,128,31,15,128,63,15,128,63,15, - 0,62,15,0,56,30,0,24,28,0,24,56,0,15,240,0 - }; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=38 h=37 x= 5 y=21 dx=41 dy= 0 ascent=31 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x=-2 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =29 descent=-9 - Max Font ascent =31 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_SECTION(".progmem.u8g_font_osb29r") = { - 0,107,49,223,245,29,9,166,21,115,32,127,247,31,247,29, - 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, - 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, - 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, - 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, - 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, - 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, - 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, - 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, - 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, - 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, - 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, - 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, - 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, - 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, - 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, - 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, - 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, - 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, - 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, - 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, - 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, - 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, - 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, - 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, - 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, - 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, - 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, - 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, - 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, - 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, - 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, - 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, - 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, - 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, - 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, - 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, - 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, - 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, - 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, - 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, - 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, - 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, - 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, - 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, - 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, - 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, - 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, - 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, - 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, - 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, - 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, - 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, - 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, - 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, - 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, - 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, - 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, - 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, - 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, - 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, - 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, - 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, - 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, - 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, - 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, - 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, - 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, - 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, - 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, - 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, - 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, - 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, - 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,103,224,0,104,120, - 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, - 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, - 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, - 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, - 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, - 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, - 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, - 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, - 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, - 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, - 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, - 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, - 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, - 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, - 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, - 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, - 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, - 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, - 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, - 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, - 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, - 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, - 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, - 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, - 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, - 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, - 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, - 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, - 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, - 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, - 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, - 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, - 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, - 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, - 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, - 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, - 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, - 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, - 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, - 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, - 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, - 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, - 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, - 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, - 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, - 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, - 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, - 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, - 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, - 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, - 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, - 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, - 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, - 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, - 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, - 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, - 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, - 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, - 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, - 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, - 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, - 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, - 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, - 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, - 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, - 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, - 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, - 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, - 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, - 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, - 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, - 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, - 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, - 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, - 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, - 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, - 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, - 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, - 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, - 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, - 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, - 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, - 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, - 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, - 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, - 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, - 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, - 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, - 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, - 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, - 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, - 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, - 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, - 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, - 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, - 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, - 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, - 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, - 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, - 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, - 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, - 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, - 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, - 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, - 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, - 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, - 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, - 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, - 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, - 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, - 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, - 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, - 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, - 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, - 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, - 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, - 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, - 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, - 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, - 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, - 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, - 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, - 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, - 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, - 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, - 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, - 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, - 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, - 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, - 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, - 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, - 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, - 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, - 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, - 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, - 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, - 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, - 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, - 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, - 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, - 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, - 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, - 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, - 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, - 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, - 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, - 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, - 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, - 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, - 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, - 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, - 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, - 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, - 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, - 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, - 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, - 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, - 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, - 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, - 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, - 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, - 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, - 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, - 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, - 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, - 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, - 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, - 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, - 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, - 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, - 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, - 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, - 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, - 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, - 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, - 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, - 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, - 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, - 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, - 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, - 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, - 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, - 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, - 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, - 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, - 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, - 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, - 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, - 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, - 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, - 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, - 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, - 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, - 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, - 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, - 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, - 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, - 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, - 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, - 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, - 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, - 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, - 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, - 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, - 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, - 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, - 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, - 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, - 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, - 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, - 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, - 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, - 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, - 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, - 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, - 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, - 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, - 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, - 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, - 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, - 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, - 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, - 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, - 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, - 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, - 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, - 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, - 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, - 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, - 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, - 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, - 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, - 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, - 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, - 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, - 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, - 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, - 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, - 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, - 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, - 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, - 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, - 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, - 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, - 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, - 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, - 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, - 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, - 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, - 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, - 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, - 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, - 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, - 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, - 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, - 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, - 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, - 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, - 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, - 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, - 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, - 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, - 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, - 127,248,192,31,240,96,3,224,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 9 y=28 dx=52 dy= 0 ascent=45 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x=-2 y=-12 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =35 descent=-10 - Max Font ascent =45 descent=-12 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35[22095] U8G_SECTION(".progmem.u8g_font_osb35") = { - 0,133,60,215,242,35,12,218,29,222,32,255,246,45,244,35, - 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, - 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, - 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, - 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, - 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, - 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, - 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, - 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, - 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, - 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, - 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, - 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, - 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, - 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, - 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, - 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, - 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, - 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, - 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, - 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, - 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, - 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, - 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, - 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, - 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, - 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, - 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, - 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, - 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, - 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, - 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, - 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, - 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, - 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, - 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, - 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, - 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, - 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, - 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, - 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, - 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, - 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, - 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, - 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, - 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, - 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, - 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, - 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, - 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, - 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, - 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, - 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, - 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, - 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, - 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, - 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, - 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, - 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, - 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, - 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, - 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, - 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, - 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, - 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, - 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, - 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, - 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, - 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, - 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, - 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, - 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, - 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, - 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, - 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, - 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, - 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, - 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, - 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, - 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, - 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, - 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, - 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, - 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, - 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, - 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, - 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, - 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, - 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, - 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, - 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, - 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, - 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, - 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, - 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, - 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, - 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, - 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, - 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, - 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, - 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, - 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, - 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, - 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, - 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, - 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, - 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, - 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, - 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, - 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, - 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, - 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, - 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, - 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, - 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, - 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, - 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, - 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, - 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, - 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, - 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, - 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, - 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, - 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, - 0,0,0,0,0,0,126,255,255,255,255,126,9,31,62,13, - 2,248,63,0,127,128,127,128,127,128,127,128,63,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,126,0,255,0,255,128,255,128,255,128,127,128,1,128, - 1,128,1,128,3,0,3,0,6,0,28,0,56,0,96,0, - 37,40,200,45,4,249,0,0,0,0,48,0,0,0,0,240, - 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, - 0,0,126,0,0,0,1,252,0,0,0,7,240,0,0,0, - 15,192,0,0,0,63,0,0,0,0,252,0,0,0,3,240, - 0,0,0,15,224,0,0,0,63,128,0,0,0,126,0,0, - 0,1,248,0,0,0,7,224,0,0,0,31,128,0,0,0, - 127,0,0,0,0,252,0,0,0,0,248,0,0,0,0,126, - 0,0,0,0,31,128,0,0,0,15,224,0,0,0,3,248, - 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, - 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, - 0,0,0,31,192,0,0,0,7,224,0,0,0,1,248,0, - 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, - 0,0,3,248,0,0,0,0,248,0,0,0,0,48,41,13, - 78,45,2,6,255,255,255,255,255,128,255,255,255,255,255,128, - 255,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,128,255,255,255,255,255,128,255,255,255,255, - 255,128,37,40,200,45,4,249,96,0,0,0,0,120,0,0, - 0,0,252,0,0,0,0,63,0,0,0,0,15,192,0,0, - 0,3,240,0,0,0,1,252,0,0,0,0,127,0,0,0, - 0,31,128,0,0,0,7,224,0,0,0,1,248,0,0,0, - 0,126,0,0,0,0,63,128,0,0,0,15,224,0,0,0, - 3,240,0,0,0,0,252,0,0,0,0,63,0,0,0,0, - 15,192,0,0,0,7,240,0,0,0,1,248,0,0,0,0, - 248,0,0,0,3,240,0,0,0,15,192,0,0,0,63,128, - 0,0,0,254,0,0,0,1,248,0,0,0,7,224,0,0, - 0,31,128,0,0,0,126,0,0,0,1,252,0,0,0,7, - 240,0,0,0,31,192,0,0,0,63,0,0,0,0,252,0, - 0,0,3,240,0,0,0,15,224,0,0,0,63,128,0,0, - 0,254,0,0,0,0,248,0,0,0,0,96,0,0,0,0, - 15,34,68,22,3,1,31,240,59,248,96,252,96,252,192,126, - 192,126,192,126,192,126,192,126,64,252,96,252,48,248,1,240, - 1,224,3,192,3,128,7,0,7,0,14,0,12,16,12,16, - 12,16,12,16,6,32,3,192,0,0,0,0,0,128,3,224, - 7,240,7,240,7,240,7,240,3,224,35,34,170,39,2,1, - 0,15,255,0,0,0,56,1,224,0,0,224,0,112,0,1, - 128,0,28,0,7,0,0,14,0,14,0,0,7,0,12,0, - 248,3,0,28,3,205,243,128,56,7,135,241,128,56,15,7, - 225,192,112,31,7,225,192,112,62,7,224,224,112,62,7,224, - 224,224,124,7,192,224,224,124,7,192,224,224,124,7,192,224, - 224,252,15,192,224,224,248,15,128,224,224,248,15,128,224,224, - 248,15,129,192,224,248,31,129,192,224,248,31,129,128,112,248, - 31,3,128,112,248,63,3,0,112,120,111,6,0,56,60,199, - 140,0,56,31,3,240,0,28,0,0,0,0,14,0,0,0, - 0,7,0,0,0,0,3,128,0,0,0,1,192,0,96,0, - 0,120,1,192,0,0,31,255,0,0,33,35,175,36,2,0, - 0,0,192,0,0,0,1,192,0,0,0,1,224,0,0,0, - 1,224,0,0,0,3,224,0,0,0,3,240,0,0,0,3, - 240,0,0,0,7,240,0,0,0,7,248,0,0,0,7,248, - 0,0,0,15,248,0,0,0,15,252,0,0,0,15,252,0, - 0,0,25,252,0,0,0,25,254,0,0,0,25,254,0,0, - 0,48,254,0,0,0,48,255,0,0,0,32,255,0,0,0, - 96,127,0,0,0,96,127,128,0,0,64,127,128,0,0,192, - 63,128,0,0,192,63,192,0,0,255,255,192,0,1,255,255, - 192,0,1,128,31,224,0,1,0,31,224,0,3,0,15,224, - 0,3,0,15,240,0,2,0,15,240,0,6,0,7,240,0, - 15,0,7,248,0,31,0,15,252,0,255,240,255,255,128,28, - 34,136,33,3,0,255,255,240,0,15,224,126,0,15,224,31, - 0,15,224,31,128,15,224,15,192,15,224,15,192,15,224,15, - 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, - 224,15,224,15,192,15,224,15,192,15,224,31,128,15,224,30, - 0,15,224,60,0,15,255,224,0,15,224,124,0,15,224,63, - 0,15,224,31,128,15,224,15,192,15,224,15,224,15,224,15, - 240,15,224,15,240,15,224,15,240,15,224,15,240,15,224,15, - 240,15,224,15,240,15,224,15,224,15,224,15,224,15,224,31, - 192,15,224,31,128,15,224,126,0,255,255,248,0,26,34,136, - 31,3,1,0,127,193,128,1,224,241,128,3,192,63,128,15, - 128,31,128,15,128,15,128,31,0,15,128,63,0,7,128,63, - 0,7,128,127,0,3,128,127,0,3,128,127,0,3,128,127, - 0,1,128,255,0,1,128,255,0,1,128,255,0,1,128,255, - 0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255, - 0,0,0,255,0,0,0,255,0,0,192,127,0,0,192,127, - 0,0,192,127,0,0,128,63,0,1,128,63,0,1,128,63, - 0,1,128,31,128,3,0,15,128,3,0,7,128,6,0,3, - 192,12,0,1,224,56,0,0,127,224,0,32,34,136,37,3, - 0,255,255,248,0,15,224,31,0,15,224,7,128,15,224,3, - 224,15,224,1,240,15,224,1,240,15,224,0,248,15,224,0, - 252,15,224,0,252,15,224,0,254,15,224,0,254,15,224,0, - 254,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0, - 255,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0, - 255,15,224,0,255,15,224,0,254,15,224,0,254,15,224,0, - 254,15,224,0,254,15,224,0,252,15,224,0,252,15,224,0, - 248,15,224,1,240,15,224,1,224,15,224,3,192,15,224,7, - 128,15,224,30,0,255,255,248,0,27,34,136,33,3,0,255, - 255,255,224,15,224,31,224,15,224,7,224,15,224,3,224,15, - 224,1,224,15,224,1,224,15,224,0,224,15,224,0,224,15, - 224,0,96,15,224,48,96,15,224,48,96,15,224,48,0,15, - 224,112,0,15,224,112,0,15,224,240,0,15,225,240,0,15, - 255,240,0,15,225,240,0,15,224,240,0,15,224,112,0,15, - 224,112,32,15,224,48,96,15,224,48,96,15,224,48,96,15, - 224,0,96,15,224,0,96,15,224,0,224,15,224,0,224,15, - 224,1,224,15,224,3,224,15,224,3,224,15,224,15,224,255, - 255,255,224,255,255,255,224,28,34,136,32,3,0,255,255,255, - 240,7,240,15,240,7,240,3,240,7,240,1,240,7,240,1, - 240,7,240,0,240,7,240,0,240,7,240,0,112,7,240,0, - 112,7,240,24,48,7,240,24,48,7,240,24,48,7,240,56, - 48,7,240,56,0,7,240,120,0,7,240,248,0,7,255,248, - 0,7,240,248,0,7,240,120,0,7,240,56,0,7,240,56, - 0,7,240,24,0,7,240,24,0,7,240,24,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,255,255,128,0,30,34,136,35,3,1,0,127,224,192,0, - 224,120,192,3,192,31,192,7,128,15,192,15,128,7,192,31, - 0,7,192,31,0,3,192,63,0,3,192,63,0,1,192,127, - 0,1,192,127,0,1,192,127,0,0,192,255,0,0,192,255, - 0,0,192,255,0,0,0,255,0,0,0,255,0,0,0,255, - 3,255,252,255,3,255,252,255,0,31,192,255,0,31,192,255, - 0,31,192,127,0,31,192,127,0,31,192,127,0,31,192,127, - 0,31,192,63,0,31,192,63,0,31,192,31,0,31,192,15, - 128,57,192,15,128,49,192,7,192,96,192,1,224,192,192,0, - 127,128,192,34,34,170,39,3,0,255,255,63,255,192,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,255,255,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,255,255, - 63,255,192,16,34,68,21,3,0,255,255,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,255,255,23,34,102, - 26,2,0,1,255,254,0,15,224,0,15,224,0,15,224,0, - 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, - 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, - 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, - 15,224,30,15,224,126,15,224,127,15,224,255,15,224,255,15, - 224,254,15,224,254,15,224,248,15,192,112,15,192,96,15,128, - 48,31,0,24,30,0,15,248,0,33,34,170,37,3,0,255, - 255,31,254,0,7,240,7,240,0,7,240,3,192,0,7,240, - 3,128,0,7,240,3,0,0,7,240,7,0,0,7,240,14, - 0,0,7,240,12,0,0,7,240,24,0,0,7,240,48,0, - 0,7,240,96,0,0,7,240,224,0,0,7,240,224,0,0, - 7,241,240,0,0,7,243,240,0,0,7,247,248,0,0,7, - 255,252,0,0,7,255,252,0,0,7,249,254,0,0,7,241, - 254,0,0,7,240,255,0,0,7,240,255,0,0,7,240,127, - 128,0,7,240,127,128,0,7,240,63,192,0,7,240,63,192, - 0,7,240,31,224,0,7,240,31,224,0,7,240,15,240,0, - 7,240,15,240,0,7,240,7,248,0,7,240,7,248,0,7, - 240,7,252,0,255,255,63,255,128,28,34,136,32,3,0,255, - 255,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,48,7, - 240,0,48,7,240,0,48,7,240,0,112,7,240,0,112,7, - 240,0,112,7,240,0,240,7,240,0,240,7,240,0,240,7, - 240,1,240,7,240,3,240,7,240,3,240,7,240,7,240,255, - 255,255,240,255,255,255,240,39,34,170,43,2,0,255,240,0, - 63,254,7,240,0,63,192,7,248,0,63,192,7,248,0,63, - 192,7,248,0,127,192,7,252,0,127,192,7,252,0,95,192, - 7,252,0,95,192,7,254,0,223,192,6,254,0,223,192,6, - 255,0,159,192,6,127,0,159,192,6,127,1,159,192,6,127, - 129,159,192,6,63,129,31,192,6,63,129,31,192,6,63,195, - 31,192,6,31,194,31,192,6,31,226,31,192,6,15,226,31, - 192,6,15,230,31,192,6,15,244,31,192,6,7,244,31,192, - 6,7,244,31,192,6,7,252,31,192,6,3,248,31,192,6, - 3,248,31,192,6,1,248,31,192,6,1,248,31,192,6,1, - 240,31,192,6,0,240,31,192,15,0,240,31,192,63,192,240, - 31,192,255,240,97,255,254,34,35,175,37,2,255,255,224,15, - 255,192,31,240,3,255,0,15,240,0,252,0,15,248,0,120, - 0,7,252,0,48,0,3,254,0,48,0,3,254,0,48,0, - 3,255,0,48,0,3,255,128,48,0,3,255,128,48,0,3, - 127,192,48,0,3,63,224,48,0,3,31,224,48,0,3,31, - 240,48,0,3,15,248,48,0,3,7,248,48,0,3,7,252, - 48,0,3,3,254,48,0,3,1,255,48,0,3,1,255,48, - 0,3,0,255,176,0,3,0,127,240,0,3,0,127,240,0, - 3,0,63,240,0,3,0,31,240,0,3,0,15,240,0,3, - 0,15,240,0,3,0,7,240,0,3,0,3,240,0,3,0, - 3,240,0,7,128,1,240,0,15,192,0,240,0,63,240,0, - 240,0,255,252,0,112,0,0,0,0,48,0,28,34,136,33, - 3,1,0,63,192,0,0,224,112,0,3,192,56,0,7,128, - 30,0,15,128,30,0,15,0,15,0,31,0,15,128,63,0, - 15,192,63,0,15,192,127,0,15,192,127,0,15,224,127,0, - 15,224,127,0,15,224,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0, - 15,224,127,0,15,192,63,0,15,192,63,0,15,192,31,0, - 15,128,15,0,15,0,15,128,31,0,7,128,30,0,3,192, - 60,0,0,224,112,0,0,63,192,0,29,34,136,34,3,0, - 255,255,248,0,7,240,63,0,7,240,15,192,7,240,15,224, - 7,240,15,240,7,240,7,240,7,240,7,248,7,240,7,248, - 7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,248, - 7,240,7,240,7,240,15,240,7,240,15,224,7,240,15,192, - 7,240,31,0,7,255,252,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,255,255,128,0,28,45,180,33,3,246,0,63, - 192,0,0,224,112,0,3,192,56,0,7,128,30,0,15,128, - 30,0,15,0,15,0,31,0,15,128,63,0,15,128,63,0, - 15,192,127,0,15,192,127,0,15,224,127,0,15,224,127,0, - 15,224,255,0,15,240,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0, - 15,224,63,0,15,192,63,15,15,192,31,17,143,128,15,160, - 223,0,15,160,223,0,7,160,254,0,3,224,252,16,0,240, - 248,16,0,127,224,16,0,0,224,16,0,0,224,16,0,0, - 224,48,0,0,240,48,0,0,248,112,0,0,255,240,0,0, - 255,224,0,0,127,224,0,0,127,192,0,0,63,128,0,0, - 31,0,32,36,144,36,3,254,255,255,240,0,7,240,126,0, - 7,240,63,0,7,240,63,128,7,240,31,192,7,240,31,192, - 7,240,31,224,7,240,31,224,7,240,31,224,7,240,31,224, - 7,240,31,224,7,240,31,192,7,240,63,192,7,240,63,0, - 7,240,126,0,7,255,240,0,7,240,240,0,7,240,62,0, - 7,240,63,0,7,240,31,128,7,240,31,128,7,240,31,192, - 7,240,31,192,7,240,31,192,7,240,31,192,7,240,31,195, - 7,240,31,195,7,240,31,195,7,240,31,195,7,240,31,195, - 7,240,31,198,7,240,31,198,7,240,15,238,255,255,135,252, - 0,0,3,248,0,0,0,96,23,34,102,29,4,1,7,252, - 24,24,15,24,56,3,248,112,1,248,112,0,248,240,0,120, - 248,0,120,248,0,56,252,0,24,254,0,24,255,128,24,255, - 224,8,127,240,0,127,252,0,63,254,0,31,255,128,15,255, - 192,3,255,240,1,255,248,128,127,248,192,31,252,192,15,252, - 192,3,254,224,1,254,224,0,126,224,0,62,240,0,30,248, - 0,30,248,0,28,252,0,28,254,0,24,239,0,48,195,128, - 96,193,255,128,29,34,136,34,3,0,255,255,255,248,255,63, - 231,248,252,31,193,248,248,31,192,248,248,31,192,248,240,31, - 192,120,224,31,192,56,224,31,192,56,224,31,192,56,192,31, - 192,24,192,31,192,24,192,31,192,24,192,31,192,24,128,31, - 192,8,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,3,255, - 254,0,33,34,170,38,3,0,255,255,7,255,128,15,224,1, - 254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7, - 224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248, - 1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252, - 0,0,34,34,170,37,2,0,255,255,135,255,192,15,248,0, - 126,0,7,248,0,56,0,7,248,0,56,0,3,248,0,48, - 0,3,252,0,48,0,3,252,0,48,0,1,254,0,96,0, - 1,254,0,96,0,0,254,0,96,0,0,255,0,192,0,0, - 255,0,192,0,0,127,0,192,0,0,127,129,128,0,0,127, - 129,128,0,0,63,129,128,0,0,63,195,0,0,0,63,195, - 0,0,0,31,195,0,0,0,31,230,0,0,0,15,230,0, - 0,0,15,246,0,0,0,15,252,0,0,0,7,252,0,0, - 0,7,252,0,0,0,7,248,0,0,0,3,248,0,0,0, - 3,248,0,0,0,3,240,0,0,0,1,240,0,0,0,1, - 240,0,0,0,0,224,0,0,0,0,224,0,0,0,0,224, - 0,0,49,34,238,52,2,0,255,255,63,255,207,255,128,31, - 252,7,254,0,252,0,7,248,3,252,0,112,0,7,248,1, - 252,0,112,0,3,248,1,254,0,96,0,3,252,1,254,0, - 96,0,3,252,0,254,0,96,0,1,252,0,254,0,192,0, - 1,254,1,255,0,192,0,1,254,1,255,0,192,0,0,254, - 1,255,1,128,0,0,255,3,127,129,128,0,0,255,3,63, - 129,128,0,0,127,3,63,129,128,0,0,127,135,63,195,0, - 0,0,127,134,31,195,0,0,0,63,134,31,195,0,0,0, - 63,198,31,231,0,0,0,31,204,15,230,0,0,0,31,204, - 15,230,0,0,0,31,236,15,246,0,0,0,15,248,7,252, - 0,0,0,15,248,7,252,0,0,0,15,248,7,252,0,0, - 0,7,248,3,252,0,0,0,7,240,3,248,0,0,0,7, - 240,3,248,0,0,0,3,240,1,248,0,0,0,3,224,1, - 240,0,0,0,3,224,1,240,0,0,0,1,224,0,240,0, - 0,0,1,192,0,240,0,0,0,1,192,0,224,0,0,0, - 0,192,0,96,0,0,33,34,170,36,2,0,127,255,31,254, - 0,31,252,3,240,0,7,248,3,192,0,3,248,3,128,0, - 3,252,3,128,0,1,252,3,0,0,1,254,7,0,0,0, - 255,6,0,0,0,255,12,0,0,0,127,140,0,0,0,127, - 152,0,0,0,63,240,0,0,0,63,240,0,0,0,31,224, - 0,0,0,31,224,0,0,0,15,240,0,0,0,15,248,0, - 0,0,7,248,0,0,0,7,252,0,0,0,7,252,0,0, - 0,15,254,0,0,0,29,254,0,0,0,24,255,0,0,0, - 56,255,0,0,0,48,127,128,0,0,96,127,128,0,0,224, - 63,192,0,0,192,63,224,0,1,128,31,224,0,3,128,31, - 240,0,3,128,15,240,0,7,128,15,248,0,31,128,31,252, - 0,255,240,127,255,128,32,34,136,35,2,0,255,254,15,255, - 31,248,1,248,15,248,0,240,7,248,0,224,7,248,0,192, - 3,252,0,192,3,252,0,192,1,252,1,128,1,254,1,128, - 0,254,3,0,0,255,3,0,0,255,3,0,0,127,134,0, - 0,127,134,0,0,63,196,0,0,63,204,0,0,31,204,0, - 0,31,248,0,0,15,248,0,0,15,248,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,255,255,0,25,34,136,31,3,0,127,255,255,128,127,128, - 127,128,126,0,255,0,124,0,255,0,120,1,254,0,120,3, - 254,0,112,3,252,0,112,7,252,0,96,7,248,0,96,15, - 248,0,96,15,240,0,64,31,224,0,0,31,224,0,0,63, - 192,0,0,63,192,0,0,127,128,0,0,127,128,0,0,255, - 0,0,0,255,0,0,1,254,0,0,3,254,0,128,3,252, - 0,128,7,248,0,128,7,248,0,128,15,240,1,128,15,240, - 1,128,31,224,3,128,31,224,3,128,63,192,7,128,63,192, - 15,128,127,128,31,128,127,128,63,128,255,255,255,128,255,255, - 255,128,11,42,84,18,4,248,255,224,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,255,224,16,44,88,22, - 3,247,224,0,224,0,224,0,240,0,112,0,112,0,120,0, - 56,0,56,0,60,0,28,0,28,0,30,0,14,0,14,0, - 14,0,15,0,7,0,7,0,7,128,3,128,3,128,3,192, - 1,192,1,192,1,224,0,224,0,224,0,224,0,240,0,112, - 0,112,0,120,0,56,0,56,0,60,0,28,0,28,0,30, - 0,14,0,14,0,14,0,15,0,7,11,42,84,18,3,248, - 255,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,255,224,22,17,51,28,3,18,0,48,0,0,112,0, - 0,120,0,0,252,0,0,252,0,1,254,0,3,207,0,3, - 143,0,7,135,128,15,3,128,15,3,192,30,1,224,60,0, - 224,60,0,240,120,0,120,112,0,56,240,0,60,25,3,12, - 25,0,248,255,255,255,128,255,255,255,128,255,255,255,128,8, - 9,9,21,4,25,96,240,248,124,60,30,15,3,1,21,22, - 66,24,2,1,15,248,0,24,62,0,56,63,0,120,31,0, - 124,31,128,126,31,128,126,31,128,62,31,128,8,63,128,1, - 255,128,7,159,128,30,31,128,62,31,128,124,31,128,124,31, - 128,252,31,128,252,31,136,252,31,136,252,31,152,254,63,144, - 127,127,240,63,143,224,22,34,102,25,1,0,255,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,159,128,31,179,224,31,225,224,31,193,240,31,193,248,31, - 192,248,31,192,248,31,128,252,31,128,252,31,128,252,31,128, - 252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,248, - 31,192,248,31,193,248,29,193,240,24,225,224,24,99,192,16, - 63,128,18,22,66,22,2,1,3,252,0,15,6,0,31,3, - 0,62,3,128,62,7,128,126,15,128,124,31,128,252,31,128, - 252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,0, - 128,30,1,0,15,130,0,3,252,0,23,34,102,26,2,0, - 0,63,224,0,7,224,0,7,224,0,7,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,7,231,224,31,23,224,30,31,224,62,15,224, - 126,15,224,124,15,224,124,7,224,252,7,224,252,7,224,252, - 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, - 224,124,7,224,124,15,224,126,15,224,62,15,224,30,31,224, - 15,23,224,7,231,254,18,22,66,23,2,1,3,252,0,14, - 30,0,30,31,0,62,15,128,60,15,128,124,15,128,124,15, - 192,252,15,192,252,15,192,252,15,192,255,255,192,252,0,0, - 252,0,0,252,0,0,252,0,64,124,0,64,124,0,192,62, - 0,192,62,0,128,31,1,0,15,131,0,3,252,0,18,34, - 102,16,1,1,0,255,0,1,199,128,7,199,128,7,199,192, - 15,143,192,15,143,192,31,143,192,31,143,128,31,135,128,31, - 128,0,31,128,0,31,128,0,255,240,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,240,0,24,33,99,27,2,246, - 7,254,62,31,15,71,63,7,143,62,7,207,126,7,238,126, - 7,228,126,7,224,126,7,224,126,7,224,62,7,192,31,15, - 128,15,15,0,3,252,0,12,0,0,48,0,0,48,0,0, - 112,0,0,112,0,0,127,255,128,127,255,224,63,255,240,31, - 255,240,7,255,248,60,1,248,96,0,120,192,0,56,192,0, - 56,192,0,48,192,0,112,96,0,96,48,1,192,30,7,128, - 3,252,0,24,34,102,27,1,0,255,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,143,224, - 31,145,240,31,160,248,31,160,252,31,192,252,31,192,252,31, - 192,252,31,128,252,31,128,252,31,128,252,31,128,252,31,128, - 252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,255,227,255,11, - 35,70,15,2,0,4,0,31,0,63,128,63,128,63,128,63, - 128,31,0,4,0,0,0,0,0,0,0,0,0,0,0,255, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,255,224,15,46,92,16,254, - 245,0,16,0,124,0,254,0,254,0,254,0,254,0,124,0, - 16,0,0,0,0,0,0,0,0,0,0,7,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,56,252,124,252,252, - 252,252,252,248,248,248,248,113,240,49,224,31,128,25,34,136, - 27,1,0,255,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,131,254,0,31,128,240,0,31,128,96,0,31, - 128,192,0,31,128,128,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,143,0,0,31,159,0,0,31,159,128,0,31, - 191,128,0,31,239,192,0,31,199,224,0,31,135,224,0,31, - 131,240,0,31,129,248,0,31,129,248,0,31,128,252,0,31, - 128,252,0,31,128,254,0,255,243,255,128,12,34,68,14,1, - 0,255,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,255,240,34,22,110,37,2,1,255,31,193,248,0, - 63,35,230,124,0,63,67,228,62,0,63,131,248,63,0,63, - 131,248,63,0,63,131,248,63,0,63,3,240,63,0,63,3, - 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, - 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, - 0,63,3,240,63,0,63,3,240,63,0,63,3,240,63,0, - 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, - 3,240,63,0,255,207,252,255,192,23,22,66,27,2,1,255, - 31,192,63,35,224,63,65,240,63,65,248,63,129,248,63,129, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,63,1,248,63,1,248,63,1,248,255,199, - 254,20,22,66,24,2,1,3,252,0,15,15,0,30,7,128, - 62,7,192,62,7,192,124,3,224,124,3,224,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,124,3,224,124,3,224,62,7,192,62,7,192, - 30,7,128,15,15,0,3,252,0,22,33,99,25,1,246,255, - 159,128,31,163,192,31,225,224,31,193,240,31,192,248,31,192, - 248,31,192,248,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,192,252,31, - 192,248,31,192,248,31,193,240,31,225,240,31,179,224,31,159, - 128,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,255, - 240,0,22,33,99,25,2,246,7,240,32,15,24,96,30,28, - 96,62,14,224,126,15,224,124,15,224,124,7,224,252,7,224, - 252,7,224,252,7,224,252,7,224,252,7,224,252,7,224,252, - 7,224,252,7,224,124,7,224,124,15,224,126,15,224,62,15, - 224,30,31,224,31,23,224,7,231,224,0,7,224,0,7,224, - 0,7,224,0,7,224,0,7,224,0,7,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,63,252,17,22,66,20,2, - 1,255,31,0,63,63,128,63,79,128,63,79,128,63,159,128, - 63,159,128,63,159,0,63,14,0,63,0,0,63,0,0,63, - 0,0,63,0,0,63,0,0,63,0,0,63,0,0,63,0, - 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, - 255,192,0,16,22,44,21,3,1,31,196,48,116,96,60,224, - 28,224,28,240,12,248,4,254,4,127,128,127,224,63,240,31, - 252,7,254,129,254,192,127,192,31,224,15,224,7,240,7,248, - 6,204,14,135,248,15,32,64,17,1,0,1,128,1,128,1, - 128,1,128,1,128,3,128,3,128,7,128,15,128,63,128,255, - 248,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,130,31,130,31,130,31,130,31, - 134,31,134,31,132,15,196,15,248,7,240,24,22,66,26,1, - 0,255,143,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,131,248,31,131,248,31,133,248,15,133,248,15,201,248, - 7,241,255,23,23,69,25,1,255,255,241,254,63,192,120,31, - 128,48,15,192,48,15,192,32,7,192,96,7,224,96,7,224, - 64,3,224,192,3,240,128,3,240,128,1,241,128,1,249,0, - 0,249,0,0,255,0,0,254,0,0,126,0,0,126,0,0, - 124,0,0,60,0,0,60,0,0,24,0,0,24,0,35,23, - 115,37,1,255,255,231,255,31,224,63,129,252,7,128,31,128, - 252,3,0,15,128,252,2,0,15,192,124,2,0,15,192,124, - 6,0,7,192,126,4,0,7,224,254,4,0,3,224,191,12, - 0,3,224,191,8,0,3,241,159,24,0,1,241,31,144,0, - 1,241,31,144,0,1,251,31,176,0,0,250,15,224,0,0, - 250,15,224,0,0,254,15,224,0,0,124,7,192,0,0,124, - 7,192,0,0,60,7,192,0,0,56,3,128,0,0,56,3, - 128,0,0,24,3,0,0,23,22,66,25,1,0,255,231,252, - 63,192,240,31,192,224,15,192,192,15,225,128,7,227,0,3, - 242,0,3,254,0,1,252,0,1,252,0,0,252,0,0,126, - 0,0,127,0,0,127,0,0,223,128,1,159,192,3,15,192, - 2,15,224,6,7,224,14,7,240,30,7,248,255,207,254,23, - 33,99,25,1,245,255,241,254,63,192,120,31,128,48,15,192, - 32,15,192,32,15,192,96,7,224,64,7,224,64,3,240,192, - 3,240,128,1,248,128,1,249,128,0,249,0,0,253,0,0, - 253,0,0,126,0,0,126,0,0,62,0,0,60,0,0,28, - 0,0,28,0,0,12,0,0,8,0,0,8,0,0,8,0, - 15,16,0,31,16,0,63,144,0,63,32,0,62,32,0,62, - 64,0,31,192,0,15,0,0,18,22,66,22,2,0,127,255, - 192,124,15,192,120,31,128,112,63,0,96,63,0,96,126,0, - 64,126,0,64,252,0,1,248,0,1,248,0,3,240,0,3, - 240,0,7,224,64,15,192,64,15,192,64,31,128,192,31,0, - 192,63,1,192,126,1,192,126,3,192,252,15,192,255,255,192, - 14,43,86,20,3,247,0,60,0,240,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,0,15,0,28,0, - 240,0,60,0,30,0,15,0,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,7,128,7,128,3,192,0,240,0,60,3,44,44,13, - 5,247,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,15,43, - 86,20,3,247,240,0,60,0,15,0,7,128,7,128,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,3,192,3,192,0,240,0,62, - 0,240,1,224,3,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,128,7,128,15,0,60,0,240,0,27,9,36,31,2,8, - 31,128,1,128,63,240,0,192,127,254,0,96,255,255,128,96, - 193,255,240,96,192,63,255,224,192,15,255,192,96,1,255,128, - 48,0,63,0,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,13,0,0,8,35,35,14,3, - 245,60,126,255,255,255,126,60,0,0,0,24,24,24,24,24, - 24,24,24,60,60,60,60,126,126,126,126,254,255,255,255,255, - 255,255,126,60,18,34,102,28,5,250,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,1,240,0,7,236,0,15, - 103,0,30,99,0,62,99,128,126,103,128,126,111,128,124,111, - 128,252,111,128,252,103,0,252,96,0,252,96,0,252,96,0, - 252,96,0,252,96,0,252,96,0,124,96,192,124,96,192,62, - 96,128,62,97,128,30,97,0,15,99,0,7,252,0,0,248, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 29,34,136,34,3,1,0,1,255,0,0,7,129,192,0,31, - 0,224,0,31,0,224,0,63,0,240,0,126,1,240,0,126, - 3,240,0,254,3,240,0,254,3,224,0,254,1,192,0,254, - 0,0,0,254,0,0,0,254,0,0,0,254,0,0,15,254, - 0,0,24,126,6,0,0,127,252,0,0,127,0,0,0,63, - 0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,31, - 0,0,0,31,0,0,0,30,0,0,0,30,0,24,30,28, - 0,56,127,220,0,112,195,248,0,224,128,255,255,224,128,127, - 255,192,128,255,255,128,193,207,255,0,127,3,252,0,24,22, - 66,28,2,5,96,126,6,243,255,207,127,255,254,63,129,252, - 30,0,120,60,0,60,56,0,28,56,0,28,112,0,14,112, - 0,14,112,0,14,112,0,14,112,0,14,112,0,14,56,0, - 28,56,0,28,60,0,60,30,0,120,63,129,252,127,255,254, - 243,255,207,96,126,6,26,34,136,28,1,0,255,248,63,192, - 63,224,15,0,31,224,14,0,31,224,12,0,31,224,12,0, - 15,240,8,0,15,240,8,0,7,240,24,0,7,248,16,0, - 3,248,48,0,3,252,32,0,3,252,96,0,1,254,64,0, - 1,254,192,0,0,254,128,0,0,255,128,0,0,255,0,0, - 63,255,254,0,0,127,0,0,0,127,0,0,0,127,0,0, - 0,127,0,0,63,255,254,0,0,127,0,0,0,127,0,0, - 0,127,0,0,0,127,0,0,0,127,0,0,0,127,0,0, - 0,127,0,0,0,127,0,0,0,127,0,0,0,127,0,0, - 7,255,248,0,3,42,42,13,5,248,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,0,0,0, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,22,43,129,30,2,248,1,255,0,7,1,192, - 14,0,224,28,0,224,28,1,240,60,3,240,60,7,240,60, - 7,240,62,7,224,62,3,192,63,0,0,31,192,0,31,248, - 0,15,254,0,31,255,128,55,255,192,97,255,240,96,127,248, - 224,31,248,224,7,252,240,1,252,252,0,124,255,0,60,255, - 192,28,127,240,24,63,252,24,31,255,16,15,255,160,3,255, - 192,0,255,224,0,63,224,0,15,240,6,3,240,31,129,240, - 63,128,240,63,128,240,63,128,240,63,0,240,62,0,224,28, - 1,192,28,3,192,15,7,0,3,252,0,15,6,12,21,3, - 26,120,60,252,126,252,126,252,126,252,126,120,60,35,34,170, - 39,2,1,0,15,254,0,0,0,112,3,192,0,0,192,0, - 96,0,3,128,0,56,0,6,0,0,28,0,12,0,0,6, - 0,24,3,225,134,0,24,15,25,131,0,48,30,15,129,128, - 48,62,7,129,128,96,60,3,128,192,96,124,3,128,192,96, - 124,1,128,192,192,252,1,128,96,192,252,1,128,96,192,252, - 0,0,96,192,252,0,0,96,192,252,0,0,96,192,252,0, - 0,96,192,252,0,128,96,192,252,0,128,96,64,124,0,128, - 192,96,124,1,128,192,96,60,1,0,192,48,62,3,1,128, - 48,30,2,1,128,24,15,12,3,0,24,3,248,6,0,12, - 0,0,6,0,6,0,0,12,0,3,128,0,56,0,0,192, - 0,96,0,0,112,1,192,0,0,15,254,0,0,14,17,34, - 18,2,17,31,0,51,192,97,224,113,224,121,224,57,224,7, - 224,57,224,113,224,241,224,241,228,241,228,241,228,126,248,0, - 0,127,252,127,252,13,20,40,23,5,1,4,0,28,24,24, - 48,56,112,112,96,112,224,241,224,241,224,241,224,241,224,241, - 224,241,224,241,224,112,224,112,224,112,96,56,48,24,16,12, - 0,4,0,23,13,39,27,2,6,255,255,254,255,255,254,255, - 255,254,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 12,5,10,18,3,10,255,240,255,240,255,240,255,240,255,240, - 35,34,170,39,2,1,0,15,254,0,0,0,112,3,192,0, - 0,192,0,96,0,3,128,0,56,0,6,0,0,28,0,12, - 0,0,6,0,24,255,252,6,0,24,62,31,3,0,48,62, - 15,129,128,48,62,15,193,128,96,62,15,192,192,96,62,15, - 192,192,96,62,15,192,192,192,62,15,128,96,192,62,31,0, - 96,192,63,248,0,96,192,62,60,0,96,192,62,30,0,96, - 192,62,15,0,96,192,62,15,128,96,192,62,15,128,96,64, - 62,15,128,192,96,62,15,136,192,96,62,15,136,192,48,62, - 15,137,128,48,62,15,145,128,24,255,231,243,0,24,0,3, - 230,0,12,0,0,6,0,6,0,0,12,0,3,128,0,56, - 0,0,192,0,96,0,0,112,1,192,0,0,15,254,0,0, - 12,3,6,20,4,28,255,240,255,240,255,240,16,15,30,28, - 6,20,15,240,31,248,62,124,120,30,240,14,224,7,224,7, - 224,7,224,7,224,14,112,14,124,60,63,252,31,240,3,192, - 41,36,216,45,2,253,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,255,255,255,255,255,128, - 255,255,255,255,255,128,255,255,255,255,255,128,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,0,255,255,255,255,255,0,255,255,255,255,255,0,14,21, - 42,21,4,14,31,240,48,248,96,124,224,124,240,124,248,124, - 248,120,120,248,1,240,1,224,3,128,6,0,12,4,16,4, - 32,4,32,12,127,252,127,252,79,248,71,248,1,224,16,21, - 42,22,3,14,31,224,48,248,112,124,112,124,124,124,124,124, - 60,124,0,120,0,224,15,128,0,240,0,124,0,62,16,63, - 124,63,252,63,252,63,240,63,112,126,112,252,31,240,8,9, - 9,21,9,25,6,15,31,62,60,120,240,192,128,24,35,105, - 29,3,244,120,3,192,124,3,192,252,7,224,252,7,224,252, - 7,224,252,7,224,252,7,224,252,7,224,252,7,224,248,7, - 224,248,7,224,120,7,192,112,3,192,112,3,193,112,3,129, - 48,3,131,48,7,135,48,7,255,56,15,254,62,62,254,47, - 252,126,35,248,60,32,0,0,48,0,0,112,0,0,112,0, - 0,120,0,0,120,0,0,124,0,0,124,0,0,126,0,0, - 126,0,0,126,0,0,62,0,0,28,0,0,23,41,123,28, - 3,249,3,255,254,15,240,224,63,240,224,127,240,224,127,240, - 224,255,240,224,255,240,224,255,240,224,255,240,224,255,240,224, - 255,240,224,255,240,224,255,240,224,255,240,224,127,240,224,63, - 240,224,31,240,224,7,240,224,0,112,224,0,112,224,0,112, - 224,0,112,224,0,112,224,0,112,224,0,112,224,0,112,224, - 0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,112, - 224,0,112,224,0,112,224,0,112,224,0,112,224,8,7,7, - 14,3,12,60,126,255,255,255,126,60,10,10,20,21,5,246, - 8,0,8,0,24,0,15,0,7,128,3,192,3,192,3,192, - 199,128,63,0,11,20,40,21,5,14,7,0,15,0,255,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 255,224,13,17,34,19,3,17,15,128,24,192,56,224,112,112, - 112,112,240,120,240,120,240,120,240,120,240,120,240,120,112,112, - 112,224,56,224,15,128,0,0,255,248,13,20,40,23,5,1, - 1,0,193,128,96,192,112,224,48,112,56,112,56,120,60,120, - 60,120,60,120,60,120,60,120,60,120,56,112,56,112,48,112, - 96,224,64,192,1,128,1,0,36,36,180,44,5,255,0,0, - 0,48,0,7,0,0,48,0,7,0,0,96,0,31,0,0, - 224,0,255,0,0,192,0,31,0,1,192,0,31,0,1,128, - 0,31,0,3,0,0,31,0,7,0,0,31,0,6,0,0, - 31,0,14,0,0,31,0,12,0,0,31,0,24,0,0,31, - 0,24,0,0,31,0,48,0,0,31,0,112,15,0,31,0, - 96,31,0,31,0,224,31,0,31,0,192,63,0,31,1,128, - 127,0,255,227,128,127,0,0,3,0,223,0,0,7,1,159, - 0,0,6,1,159,0,0,12,3,31,0,0,12,2,31,0, - 0,24,6,31,0,0,56,12,31,0,0,48,15,255,240,0, - 112,0,31,0,0,96,0,31,0,0,192,0,31,0,1,192, - 0,31,0,1,128,0,31,0,3,128,1,255,224,3,0,0, - 0,0,35,36,180,43,5,255,0,0,0,56,0,7,0,0, - 48,0,7,0,0,112,0,31,0,0,224,0,255,0,0,192, - 0,31,0,1,192,0,31,0,1,128,0,31,0,3,128,0, - 31,0,3,0,0,31,0,7,0,0,31,0,14,0,0,31, - 0,12,0,0,31,0,28,0,0,31,0,24,0,0,31,0, - 56,126,0,31,0,113,143,128,31,0,99,7,192,31,0,231, - 3,224,31,0,199,3,224,31,1,199,131,224,255,227,135,195, - 224,0,3,3,199,192,0,7,1,135,128,0,6,0,15,0, - 0,14,0,30,0,0,12,0,56,0,0,24,0,96,0,0, - 56,0,128,32,0,48,1,0,32,0,112,2,0,32,0,96, - 2,255,224,0,192,7,255,224,1,192,6,255,192,1,128,4, - 127,192,3,128,4,63,128,3,0,0,0,0,38,36,180,44, - 3,255,0,0,0,12,0,31,224,0,12,0,48,248,0,24, - 0,112,124,0,56,0,112,124,0,48,0,124,124,0,112,0, - 124,124,0,96,0,60,124,0,192,0,0,120,1,192,0,0, - 224,1,128,0,15,128,3,128,0,0,240,3,0,0,0,124, - 7,0,0,0,62,6,0,0,16,63,12,0,0,124,63,28, - 3,192,252,63,24,7,192,252,63,56,7,192,240,63,48,15, - 192,112,126,112,31,192,112,252,224,31,192,31,240,192,55,192, - 0,1,192,103,192,0,1,128,103,192,0,3,128,199,192,0, - 3,0,135,192,0,6,1,135,192,0,14,3,7,192,0,12, - 3,255,252,0,28,0,7,192,0,24,0,7,192,0,56,0, - 7,192,0,112,0,7,192,0,96,0,7,192,0,224,0,127, - 248,0,192,0,0,0,16,35,70,23,3,245,7,0,15,128, - 31,192,31,192,31,192,15,128,7,0,0,0,0,0,7,128, - 12,224,16,48,16,48,16,48,16,48,0,96,0,224,0,192, - 3,192,7,128,15,128,31,0,31,4,62,4,126,6,124,2, - 252,3,252,3,252,3,252,3,252,6,126,6,63,12,31,248, - 7,224,33,45,225,36,2,0,0,56,0,0,0,0,60,0, - 0,0,0,62,0,0,0,0,62,0,0,0,0,31,0,0, - 0,0,7,0,0,0,0,3,128,0,0,0,1,192,0,0, - 0,0,64,0,0,0,0,0,0,0,0,0,192,0,0,0, - 1,192,0,0,0,1,224,0,0,0,1,224,0,0,0,3, - 224,0,0,0,3,240,0,0,0,3,240,0,0,0,7,240, - 0,0,0,7,248,0,0,0,7,248,0,0,0,15,248,0, - 0,0,15,252,0,0,0,15,252,0,0,0,25,252,0,0, - 0,25,254,0,0,0,25,254,0,0,0,48,254,0,0,0, - 48,255,0,0,0,32,255,0,0,0,96,127,0,0,0,96, - 127,128,0,0,64,127,128,0,0,192,63,128,0,0,192,63, - 192,0,0,255,255,192,0,1,255,255,192,0,1,128,31,224, - 0,1,0,31,224,0,3,0,15,224,0,3,0,15,240,0, - 2,0,15,240,0,6,0,7,240,0,15,0,7,248,0,31, - 0,15,252,0,255,240,255,255,128,33,45,225,36,2,0,0, - 0,14,0,0,0,0,15,0,0,0,0,31,0,0,0,0, - 62,0,0,0,0,60,0,0,0,0,120,0,0,0,0,240, - 0,0,0,0,192,0,0,0,0,128,0,0,0,0,0,0, - 0,0,0,192,0,0,0,1,192,0,0,0,1,224,0,0, - 0,1,224,0,0,0,3,224,0,0,0,3,240,0,0,0, - 3,240,0,0,0,7,240,0,0,0,7,248,0,0,0,7, - 248,0,0,0,15,248,0,0,0,15,252,0,0,0,15,252, - 0,0,0,25,252,0,0,0,25,254,0,0,0,25,254,0, - 0,0,48,254,0,0,0,48,255,0,0,0,32,255,0,0, - 0,96,127,0,0,0,96,127,128,0,0,64,127,128,0,0, - 192,63,128,0,0,192,63,192,0,0,255,255,192,0,1,255, - 255,192,0,1,128,31,224,0,1,0,31,224,0,3,0,15, - 224,0,3,0,15,240,0,6,0,15,240,0,6,0,7,240, - 0,15,0,7,248,0,255,240,255,255,128,255,240,255,255,128, - 33,44,220,36,2,0,0,1,192,0,0,0,1,224,0,0, - 0,3,224,0,0,0,7,240,0,0,0,15,120,0,0,0, - 30,30,0,0,0,120,7,0,0,0,64,1,128,0,0,0, - 0,0,0,0,0,192,0,0,0,1,192,0,0,0,1,224, - 0,0,0,1,224,0,0,0,3,224,0,0,0,3,240,0, - 0,0,3,240,0,0,0,7,240,0,0,0,7,248,0,0, - 0,7,248,0,0,0,15,248,0,0,0,15,252,0,0,0, - 15,252,0,0,0,25,252,0,0,0,25,254,0,0,0,25, - 254,0,0,0,48,254,0,0,0,48,255,0,0,0,32,255, - 0,0,0,96,127,0,0,0,96,127,128,0,0,64,127,128, - 0,0,192,63,128,0,0,192,63,192,0,0,255,255,192,0, - 1,255,255,192,0,1,128,31,224,0,1,0,31,224,0,3, - 0,15,224,0,3,0,15,240,0,2,0,15,240,0,6,0, - 7,240,0,15,0,7,248,0,31,0,15,252,0,255,240,255, - 255,128,33,43,215,36,2,0,0,15,1,0,0,0,31,227, - 0,0,0,63,254,0,0,0,33,254,0,0,0,32,124,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,192,0,0,0,1,192,0,0,0,1,224,0,0,0, - 1,224,0,0,0,3,224,0,0,0,3,240,0,0,0,3, - 240,0,0,0,7,240,0,0,0,7,248,0,0,0,7,248, - 0,0,0,15,248,0,0,0,15,252,0,0,0,15,252,0, - 0,0,25,252,0,0,0,25,254,0,0,0,25,254,0,0, - 0,48,254,0,0,0,48,255,0,0,0,32,255,0,0,0, - 96,127,0,0,0,96,127,128,0,0,64,127,128,0,0,192, - 63,128,0,0,192,63,192,0,0,255,255,192,0,1,255,255, - 192,0,1,128,31,224,0,1,0,31,224,0,3,0,15,224, - 0,3,0,15,240,0,6,0,15,240,0,6,0,7,240,0, - 15,0,7,248,0,255,240,255,255,128,255,240,255,255,128,33, - 43,215,36,2,0,0,60,15,0,0,0,126,31,128,0,0, - 126,31,128,0,0,126,31,128,0,0,126,31,128,0,0,60, - 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,192,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,3,240,0,0,0,3,240,0,0, - 0,3,240,0,0,0,7,248,0,0,0,7,248,0,0,0, - 7,248,0,0,0,15,252,0,0,0,15,252,0,0,0,25, - 252,0,0,0,25,254,0,0,0,24,254,0,0,0,48,254, - 0,0,0,48,255,0,0,0,48,127,0,0,0,96,127,0, - 0,0,96,127,128,0,0,96,63,128,0,0,192,63,128,0, - 0,192,63,192,0,0,255,255,192,0,1,255,255,192,0,1, - 128,31,224,0,1,128,15,224,0,3,0,15,224,0,3,0, - 15,240,0,3,0,7,240,0,7,0,7,240,0,15,0,7, - 248,0,31,128,15,252,0,255,240,255,255,128,33,45,225,36, - 2,0,0,1,224,0,0,0,7,248,0,0,0,14,28,0, - 0,0,12,12,0,0,0,12,12,0,0,0,12,12,0,0, - 0,14,28,0,0,0,7,248,0,0,0,3,240,0,0,0, - 0,0,0,0,0,0,192,0,0,0,1,192,0,0,0,1, - 224,0,0,0,1,224,0,0,0,3,224,0,0,0,3,240, - 0,0,0,3,240,0,0,0,7,240,0,0,0,7,248,0, - 0,0,7,248,0,0,0,15,248,0,0,0,13,252,0,0, - 0,13,252,0,0,0,29,252,0,0,0,25,254,0,0,0, - 24,254,0,0,0,56,254,0,0,0,48,255,0,0,0,48, - 127,0,0,0,112,127,0,0,0,96,127,128,0,0,96,63, - 128,0,0,224,63,128,0,0,192,63,192,0,0,255,255,192, - 0,1,255,255,192,0,1,128,31,224,0,1,128,31,224,0, - 3,0,15,224,0,3,0,15,240,0,3,0,15,240,0,7, - 0,7,240,0,15,0,7,248,0,31,128,15,252,0,255,240, - 255,255,128,45,34,204,48,1,0,0,0,127,255,255,240,0, - 0,31,248,7,240,0,0,15,248,1,240,0,0,15,248,0, - 240,0,0,31,248,0,240,0,0,27,248,0,112,0,0,59, - 248,0,112,0,0,51,248,0,48,0,0,115,248,0,48,0, - 0,99,248,12,48,0,0,227,248,12,16,0,0,195,248,12, - 0,0,1,195,248,28,0,0,1,131,248,28,0,0,3,131, - 248,60,0,0,3,3,248,124,0,0,7,3,255,252,0,0, - 6,3,248,124,0,0,14,3,248,60,0,0,12,3,248,28, - 0,0,28,3,248,28,0,0,24,3,248,12,24,0,56,3, - 248,12,24,0,63,255,248,12,24,0,96,3,248,0,56,0, - 224,3,248,0,56,0,192,3,248,0,56,1,192,3,248,0, - 120,1,128,3,248,0,120,3,128,3,248,0,248,7,128,3, - 248,1,248,15,128,3,248,3,248,255,248,127,255,255,248,255, - 248,127,255,255,248,26,45,180,31,3,246,0,127,193,128,1, - 224,241,128,3,192,63,128,7,128,31,128,15,128,15,128,31, - 0,15,128,63,0,7,128,63,0,7,128,63,0,3,128,127, - 0,3,128,127,0,1,128,127,0,1,128,255,0,1,128,255, - 0,1,128,255,0,1,128,255,0,0,0,255,0,0,0,255, - 0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255, - 0,0,192,127,0,0,192,127,0,0,192,127,0,0,128,63, - 0,0,128,63,0,1,128,63,0,1,128,31,128,3,0,15, - 128,3,0,7,128,6,0,3,192,12,0,1,224,56,0,0, - 127,224,0,0,12,0,0,0,8,0,0,0,30,0,0,0, - 31,128,0,0,3,192,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,129,192,0,0,199,192,0,0,63,0,0,27, - 45,180,33,3,0,0,224,0,0,1,240,0,0,1,240,0, - 0,0,248,0,0,0,124,0,0,0,60,0,0,0,14,0, - 0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0, - 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, - 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, - 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, - 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, - 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, - 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, - 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, - 224,255,255,255,224,255,255,255,224,27,45,180,33,3,0,0, - 0,56,0,0,0,120,0,0,0,248,0,0,0,248,0,0, - 1,240,0,0,3,192,0,0,3,128,0,0,6,0,0,0, - 4,0,0,0,0,0,0,0,0,0,0,255,255,255,224,15, - 224,31,224,15,224,7,224,15,224,3,224,15,224,1,224,15, - 224,1,224,15,224,0,224,15,224,0,224,15,224,0,96,15, - 224,48,96,15,224,48,96,15,224,48,0,15,224,112,0,15, - 224,112,0,15,224,240,0,15,225,240,0,15,255,240,0,15, - 225,240,0,15,224,240,0,15,224,112,0,15,224,112,32,15, - 224,48,96,15,224,48,96,15,224,48,96,15,224,0,96,15, - 224,0,224,15,224,0,224,15,224,0,224,15,224,1,224,15, - 224,3,224,15,224,3,224,15,224,15,224,255,255,255,224,255, - 255,255,224,27,44,176,33,3,0,0,6,0,0,0,15,0, - 0,0,15,128,0,0,31,192,0,0,57,224,0,0,240,112, - 0,3,192,28,0,0,0,4,0,0,0,0,0,0,0,0, - 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, - 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, - 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, - 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, - 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, - 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, - 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, - 224,255,255,255,224,255,255,255,224,27,43,172,33,3,0,1, - 224,120,0,3,240,252,0,3,240,252,0,3,240,252,0,3, - 240,252,0,1,224,120,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15, - 224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15, - 224,0,224,15,224,0,224,15,224,48,96,15,224,48,96,15, - 224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15, - 225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15, - 224,112,0,15,224,112,96,15,224,48,96,15,224,48,96,15, - 224,48,96,15,224,0,96,15,224,0,224,15,224,0,224,15, - 224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15, - 224,15,224,255,255,255,224,255,255,255,224,16,45,90,21,3, - 0,56,0,124,0,124,0,62,0,31,0,15,0,3,128,1, - 192,0,0,0,0,0,0,255,255,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,255,255,16,45,90,21,3, - 0,0,14,0,30,0,62,0,60,0,120,0,240,0,224,1, - 192,0,0,0,0,0,0,255,255,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,255,255,16,44,88,21,3, - 0,1,192,3,192,3,224,7,240,31,120,60,28,240,7,0, - 1,0,0,0,0,255,255,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,255,255,255,255,16,43,86,21,3,0,120, - 30,252,63,252,63,252,63,252,63,120,30,0,0,0,0,0, - 0,255,255,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,255,255,32,34,136,37,3,0,255,255,248,0,7, - 240,31,0,7,240,7,128,7,240,3,224,7,240,1,240,7, - 240,1,240,7,240,0,248,7,240,0,252,7,240,0,252,7, - 240,0,254,7,240,0,254,7,240,0,254,7,240,0,255,7, - 240,0,255,7,240,0,255,7,240,0,255,255,255,0,255,7, - 240,0,255,7,240,0,255,7,240,0,255,7,240,0,255,7, - 240,0,254,7,240,0,254,7,240,0,254,7,240,0,254,7, - 240,0,252,7,240,0,252,7,240,0,248,7,240,1,240,7, - 240,1,224,7,240,3,192,7,240,7,128,7,240,31,0,255, - 255,248,0,34,44,220,37,2,255,0,7,128,128,0,0,15, - 241,128,0,0,31,255,0,0,0,16,255,0,0,0,16,60, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,224,15,255,192,31,240,3,255,0, - 15,240,0,252,0,15,248,0,120,0,7,252,0,48,0,3, - 254,0,48,0,3,254,0,48,0,3,255,0,48,0,3,255, - 128,48,0,3,255,128,48,0,3,127,192,48,0,3,63,224, - 48,0,3,31,224,48,0,3,31,240,48,0,3,15,248,48, - 0,3,7,248,48,0,3,7,252,48,0,3,3,254,48,0, - 3,1,255,48,0,3,1,255,48,0,3,0,255,176,0,3, - 0,127,240,0,3,0,127,240,0,3,0,63,240,0,3,0, - 31,240,0,3,0,15,240,0,3,0,15,240,0,3,0,7, - 240,0,3,0,3,240,0,3,0,3,240,0,7,128,1,240, - 0,15,192,0,240,0,63,240,0,240,0,255,252,0,112,0, - 0,0,0,48,0,28,45,180,33,3,0,0,192,0,0,1, - 224,0,0,1,240,0,0,0,248,0,0,0,120,0,0,0, - 60,0,0,0,28,0,0,0,6,0,0,0,2,0,0,0, - 0,0,0,0,0,0,0,0,63,192,0,0,224,112,0,3, - 192,56,0,7,128,30,0,15,128,30,0,15,0,15,0,31, - 0,15,128,63,0,15,192,63,0,15,192,127,0,15,192,127, - 0,15,224,127,0,15,224,127,0,15,224,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,127,0,15,224,127, - 0,15,224,127,0,15,224,127,0,15,192,63,0,15,192,63, - 0,15,192,31,0,15,128,15,0,15,0,15,128,31,0,7, - 128,30,0,3,192,60,0,0,224,112,0,0,63,192,0,28, - 45,180,33,3,0,0,0,48,0,0,0,120,0,0,0,248, - 0,0,1,240,0,0,1,224,0,0,3,192,0,0,3,128, - 0,0,6,0,0,0,4,0,0,0,0,0,0,0,0,0, - 0,0,63,192,0,0,224,112,0,3,192,56,0,7,128,30, - 0,15,128,30,0,15,0,15,0,31,0,15,128,63,0,15, - 192,63,0,15,192,127,0,15,192,127,0,15,224,127,0,15, - 224,127,0,15,224,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,15, - 224,127,0,15,192,63,0,15,192,63,0,15,192,31,0,15, - 128,15,0,15,0,15,128,31,0,7,128,30,0,3,192,60, - 0,0,224,112,0,0,63,192,0,28,45,180,33,3,0,0, - 6,0,0,0,14,0,0,0,15,0,0,0,31,128,0,0, - 63,192,0,0,121,224,0,0,240,240,0,3,192,60,0,3, - 0,12,0,0,0,0,0,0,0,0,0,0,63,192,0,0, - 224,112,0,3,192,56,0,7,128,30,0,15,128,30,0,15, - 0,15,0,31,0,15,128,63,0,15,192,63,0,15,192,127, - 0,15,192,127,0,15,224,127,0,15,224,127,0,15,224,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,127, - 0,15,224,127,0,15,224,127,0,15,224,127,0,15,192,63, - 0,15,192,63,0,15,192,31,0,15,128,15,0,15,0,15, - 128,31,0,7,128,30,0,3,192,60,0,0,224,112,0,0, - 63,192,0,28,44,176,33,3,0,0,0,8,0,0,126,24, - 0,0,255,248,0,1,255,240,0,1,7,224,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,63,192,0,0,224,112,0,3,192,56,0,7,128,30, - 0,15,128,30,0,15,0,15,0,31,0,15,128,63,0,15, - 192,63,0,15,192,127,0,15,192,127,0,15,224,127,0,15, - 224,127,0,15,224,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,127,0,15,224,127,0,15,224,127,0,15, - 224,127,0,15,192,63,0,15,192,63,0,15,192,31,0,15, - 128,15,0,15,0,15,128,31,0,7,128,30,0,3,192,60, - 0,0,224,112,0,0,63,192,0,28,44,176,33,3,0,1, - 224,120,0,3,240,252,0,3,240,252,0,3,240,252,0,3, - 240,252,0,1,224,120,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,63,192,0,0,224,112,0,3, - 192,56,0,7,128,30,0,15,128,30,0,15,0,15,0,31, - 0,15,128,63,0,15,192,63,0,15,192,127,0,15,192,127, - 0,15,224,127,0,15,224,127,0,15,224,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,127,0,15,224,127, - 0,15,224,127,0,15,224,127,0,15,192,63,0,15,192,63, - 0,15,192,31,0,15,128,15,0,15,0,15,128,31,0,7, - 128,30,0,3,192,60,0,0,224,112,0,0,63,192,0,31, - 30,120,45,7,253,32,0,0,0,112,0,0,12,248,0,0, - 30,124,0,0,60,62,0,0,120,31,0,1,240,15,128,3, - 224,7,192,7,192,3,224,15,128,1,240,31,0,0,248,62, - 0,0,124,124,0,0,62,248,0,0,31,240,0,0,15,224, - 0,0,7,192,0,0,15,224,0,0,31,240,0,0,62,248, - 0,0,124,60,0,0,248,30,0,1,240,15,0,3,224,7, - 128,7,192,3,192,15,128,1,224,31,0,0,240,62,0,0, - 120,124,0,0,60,248,0,0,30,112,0,0,12,28,34,136, - 33,3,1,0,63,224,48,0,224,112,96,1,192,60,192,7, - 128,31,192,15,128,31,128,15,0,15,0,31,0,15,128,63, - 0,15,192,63,0,31,192,63,0,31,224,127,0,63,224,127, - 0,111,224,127,0,239,224,255,0,207,240,255,1,143,240,255, - 3,15,240,255,7,15,240,255,14,15,240,255,12,15,240,255, - 24,15,240,255,48,15,240,255,112,15,224,127,96,15,224,127, - 192,15,224,127,128,15,192,63,128,15,192,63,0,15,192,31, - 0,15,128,15,0,15,0,31,128,30,0,63,128,30,0,51, - 192,56,0,96,224,112,0,192,127,192,0,33,45,225,38,3, - 0,0,24,0,0,0,0,60,0,0,0,0,62,0,0,0, - 0,31,0,0,0,0,15,128,0,0,0,7,128,0,0,0, - 1,192,0,0,0,0,224,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,7,255,128,15,224,1, - 254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7, - 224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248, - 1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252, - 0,0,33,45,225,38,3,0,0,0,7,0,0,0,0,15, - 0,0,0,0,15,0,0,0,0,31,0,0,0,0,60,0, - 0,0,0,56,0,0,0,0,112,0,0,0,0,224,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,7,255,128,15,224,1,254,0,15,224,0,120,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,7,224,0,48,0,7,224,0,96,0,7,240,0,96,0, - 3,240,0,192,0,1,248,1,192,0,0,252,3,128,0,0, - 127,159,0,0,0,31,252,0,0,33,45,225,38,3,0,0, - 0,64,0,0,0,0,224,0,0,0,1,240,0,0,0,3, - 240,0,0,0,7,248,0,0,0,15,28,0,0,0,30,15, - 0,0,0,112,3,128,0,0,0,0,128,0,0,0,0,0, - 0,0,0,0,0,0,255,255,7,255,128,15,224,1,254,0, - 15,224,0,120,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,7,224,0,48,0,7,224,0, - 96,0,7,240,0,96,0,3,240,0,192,0,1,248,1,192, - 0,0,252,3,128,0,0,127,159,0,0,0,31,252,0,0, - 33,44,220,38,3,0,0,60,15,0,0,0,126,31,128,0, - 0,126,31,128,0,0,126,31,128,0,0,126,31,128,0,0, - 60,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,254,7,255,128,15,224,1, - 254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7, - 224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248, - 1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252, - 0,0,32,45,180,35,2,0,0,0,7,0,0,0,15,0, - 0,0,31,0,0,0,31,0,0,0,60,0,0,0,120,0, - 0,0,112,0,0,0,192,0,0,0,128,0,0,0,0,0, - 0,0,0,0,255,254,15,255,31,248,1,248,15,248,0,240, - 7,248,0,224,7,248,0,192,3,252,0,192,3,252,0,192, - 1,252,1,128,1,254,1,128,0,254,3,0,0,255,3,0, - 0,255,3,0,0,127,134,0,0,127,134,0,0,63,196,0, - 0,63,204,0,0,31,204,0,0,31,248,0,0,15,248,0, - 0,15,248,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,255,255,0,29,34,136,34, - 3,0,255,255,128,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,255,248,0,7,240, - 63,0,7,240,15,192,7,240,15,224,7,240,15,240,7,240, - 7,240,7,240,7,248,7,240,7,248,7,240,7,248,7,240, - 7,248,7,240,7,248,7,240,7,248,7,240,7,240,7,240, - 15,240,7,240,15,224,7,240,15,192,7,240,31,0,7,255, - 252,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,255,255,128,0,23,34,102,27,2,0, - 0,127,0,1,227,128,3,195,224,7,193,224,7,193,240,15, - 129,240,15,129,240,15,129,240,31,129,240,31,129,224,31,129, - 224,31,129,192,31,131,128,31,188,0,31,131,0,31,129,192, - 31,128,240,31,128,248,31,128,248,31,128,124,31,128,124,31, - 128,126,31,128,126,31,128,126,31,128,126,31,128,126,31,128, - 126,31,184,126,31,252,124,31,252,124,31,248,252,31,248,248, - 31,184,240,255,159,224,21,34,102,24,2,0,24,0,0,60, - 0,0,62,0,0,30,0,0,15,0,0,7,128,0,3,128, - 0,1,192,0,0,192,0,0,0,0,0,0,0,0,0,0, - 15,248,0,24,62,0,56,63,0,120,31,0,124,31,128,126, - 31,128,126,31,128,60,31,128,0,127,128,3,223,128,15,31, - 128,30,31,128,62,31,128,124,31,128,252,31,128,252,31,128, - 252,31,136,252,31,136,252,31,152,254,63,144,127,127,240,63, - 143,224,21,34,102,24,2,0,0,12,0,0,30,0,0,62, - 0,0,62,0,0,124,0,0,120,0,0,224,0,0,192,0, - 1,128,0,0,0,0,0,0,0,0,0,0,15,248,0,24, - 62,0,56,63,0,120,31,0,124,31,128,126,31,128,126,31, - 128,62,31,128,8,63,128,1,255,128,7,159,128,30,31,128, - 62,31,128,124,31,128,124,31,128,252,31,128,252,31,136,252, - 31,136,252,31,152,254,63,144,127,127,240,63,143,224,21,34, - 102,24,2,0,1,192,0,1,224,0,3,224,0,3,224,0, - 7,240,0,7,56,0,14,28,0,28,14,0,48,7,0,0, - 0,0,0,0,0,0,0,0,15,248,0,24,62,0,56,63, - 0,120,31,0,124,31,128,126,31,128,126,31,128,62,31,128, - 8,63,128,1,255,128,7,159,128,30,31,128,62,31,128,124, - 31,128,124,31,128,252,31,128,252,31,136,252,31,136,252,31, - 152,254,63,144,127,127,240,63,143,224,21,32,96,24,2,0, - 15,3,0,31,195,0,63,254,0,49,252,0,32,120,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,248, - 0,24,62,0,56,63,0,120,31,0,124,31,128,126,31,128, - 126,31,128,62,31,128,8,63,128,1,255,128,7,159,128,30, - 31,128,62,31,128,124,31,128,124,31,128,252,31,128,252,31, - 136,252,31,136,252,31,152,254,63,144,127,127,240,63,143,224, - 21,32,96,24,2,0,60,30,0,126,63,0,126,63,0,126, - 63,0,126,63,0,60,30,0,0,0,0,0,0,0,0,0, - 0,0,0,0,15,248,0,24,62,0,56,63,0,120,31,0, - 124,31,128,126,31,128,126,31,128,62,31,128,8,63,128,1, - 255,128,7,159,128,30,31,128,62,31,128,124,31,128,124,31, - 128,252,31,128,252,31,136,252,31,136,252,31,152,254,63,144, - 127,127,240,63,143,224,21,34,102,24,2,1,3,240,0,7, - 248,0,14,28,0,12,12,0,12,12,0,12,12,0,14,28, - 0,7,248,0,1,224,0,0,0,0,0,0,0,0,0,0, - 15,248,0,24,62,0,56,63,0,120,31,0,124,31,128,126, - 31,128,126,31,128,62,31,128,8,63,128,1,255,128,7,31, - 128,30,31,128,62,31,128,124,31,128,124,31,128,252,31,128, - 252,31,136,252,31,136,252,31,152,254,63,144,127,111,240,63, - 199,224,29,22,88,34,2,1,15,240,255,128,24,63,195,192, - 56,63,195,224,120,31,131,240,124,31,129,240,126,31,129,240, - 126,31,129,248,62,31,129,248,0,63,129,248,1,255,129,248, - 7,31,255,248,30,31,128,0,62,31,128,0,124,31,128,0, - 124,31,128,8,252,31,128,8,252,31,128,24,252,31,192,16, - 252,31,192,16,254,51,192,32,127,97,240,64,63,192,255,128, - 18,32,96,22,2,247,3,252,0,15,6,0,31,7,0,62, - 7,128,62,7,128,126,15,128,124,31,128,252,31,128,252,31, - 0,252,14,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,124,0,64,124,0,192,62,0,128,62,1,128,30, - 1,0,15,130,0,3,252,0,0,128,0,0,128,0,1,128, - 0,0,240,0,0,56,0,0,60,0,0,60,0,0,60,0, - 4,120,0,3,240,0,18,34,102,23,2,0,28,0,0,30, - 0,0,30,0,0,31,0,0,15,128,0,7,128,0,3,192, - 0,0,192,0,0,96,0,0,0,0,0,0,0,0,0,0, - 3,252,0,14,30,0,30,31,0,62,15,128,60,15,128,124, - 15,128,124,15,192,252,15,192,252,15,192,252,15,192,255,255, - 192,252,0,0,252,0,0,252,0,0,252,0,64,124,0,64, - 124,0,192,62,0,192,62,1,128,31,1,0,15,135,0,3, - 252,0,18,34,102,23,2,0,0,14,0,0,31,0,0,31, - 0,0,62,0,0,60,0,0,120,0,0,240,0,0,224,0, - 1,128,0,0,0,0,0,0,0,0,0,0,3,252,0,14, - 30,0,30,31,0,62,15,128,60,15,128,124,15,128,124,15, - 192,252,15,192,252,15,192,252,15,192,255,255,192,252,0,0, - 252,0,0,252,0,0,252,0,64,124,0,64,124,0,192,62, - 0,192,62,0,128,31,1,0,15,131,0,3,252,0,18,34, - 102,23,2,0,1,224,0,1,224,0,1,240,0,3,240,0, - 3,248,0,7,56,0,14,28,0,28,14,0,56,3,0,0, - 0,0,0,0,0,0,0,0,3,252,0,14,30,0,30,31, - 0,62,15,128,60,15,128,124,15,128,124,15,192,252,15,192, - 252,15,192,252,15,192,255,255,192,252,0,0,252,0,0,252, - 0,0,252,0,64,124,0,64,124,0,192,62,0,192,62,0, - 128,31,1,0,15,131,0,3,252,0,18,32,96,23,2,0, - 30,15,0,63,31,128,63,31,128,63,31,128,63,31,128,30, - 15,0,0,0,0,0,0,0,0,0,0,0,0,0,3,252, - 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, - 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, - 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, - 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, - 12,34,68,15,1,0,96,0,240,0,248,0,248,0,124,0, - 28,0,14,0,7,0,3,0,0,0,0,0,0,0,127,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,127,240,12,34,68,15,2,0, - 0,224,1,240,1,240,3,224,7,192,7,128,15,0,28,0, - 24,0,0,0,0,0,0,0,255,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,255,224,14,34,68,14,0,0,7,128,15,128,15,128, - 15,192,31,224,60,224,56,112,112,60,192,12,0,0,0,0, - 0,0,63,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,63,248,14,32, - 64,14,1,0,120,120,252,252,252,252,252,252,252,252,120,120, - 0,0,0,0,0,0,0,0,63,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,63,248,20,34,102,24,2,0,15,193,128,15,227,0, - 7,254,0,3,248,0,1,248,0,1,252,0,3,254,0,14, - 126,0,24,63,0,0,63,128,0,31,128,0,15,192,7,255, - 192,15,15,224,30,7,224,62,7,224,62,7,224,124,7,240, - 124,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,124,3,224,124,7, - 224,62,7,192,62,7,192,30,7,128,15,15,0,3,252,0, - 23,32,96,27,2,0,3,224,96,7,248,64,15,255,192,12, - 127,128,8,15,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,31,192,63,35,224,63,65,240,63,65,248, - 63,129,248,63,129,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 63,1,248,255,199,254,20,34,102,24,2,0,14,0,0,31, - 0,0,31,0,0,15,128,0,7,192,0,3,192,0,1,224, - 0,0,96,0,0,48,0,0,0,0,0,0,0,0,0,0, - 3,252,0,15,15,0,30,7,128,62,7,192,62,7,192,124, - 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224, - 124,3,224,62,7,192,62,7,192,30,7,128,15,15,0,3, - 252,0,20,34,102,24,2,0,0,7,0,0,15,128,0,15, - 128,0,31,0,0,62,0,0,60,0,0,120,0,0,224,0, - 0,192,0,0,0,0,0,0,0,0,0,0,3,252,0,15, - 15,0,30,7,128,62,7,192,62,7,192,124,3,224,124,3, - 224,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,252,3,240,124,3,224,124,3,224,62, - 7,192,62,7,192,30,7,128,15,15,0,3,252,0,20,34, - 102,24,2,0,0,240,0,0,240,0,1,248,0,1,248,0, - 3,252,0,3,156,0,7,14,0,14,7,0,24,1,128,0, - 0,0,0,0,0,0,0,0,3,252,0,15,15,0,30,7, - 128,62,7,192,62,7,192,124,3,224,124,3,224,252,3,240, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,224,124,3,224,62,7,192,62,7, - 192,30,7,128,15,15,0,3,252,0,20,32,96,24,2,0, - 7,192,128,15,240,128,31,255,128,16,255,0,16,62,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,252, - 0,15,15,0,30,7,128,62,7,192,62,7,192,124,3,224, - 124,3,224,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,124,3,224,124,3, - 224,62,7,192,62,7,192,30,7,128,15,15,0,3,252,0, - 20,32,96,24,2,0,30,15,0,63,31,128,63,31,128,63, - 31,128,63,31,128,30,15,0,0,0,0,0,0,0,0,0, - 0,0,0,0,3,252,0,15,15,0,30,7,128,62,7,192, - 62,7,192,124,3,224,124,3,224,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,124,3,224,124,3,224,62,7,192,62,7,192,30,7,128, - 15,15,0,3,252,0,41,32,192,45,2,253,0,0,28,0, - 0,0,0,0,62,0,0,0,0,0,127,0,0,0,0,0, - 127,0,0,0,0,0,127,0,0,0,0,0,62,0,0,0, - 0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,128,255,255,255,255,255,128,255,255,255,255, - 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,28,0,0,0,0,0,62,0,0,0,0,0, - 127,0,0,0,0,0,127,0,0,0,0,0,127,0,0,0, - 0,0,62,0,0,0,0,0,28,0,0,0,20,22,66,24, - 2,1,3,252,48,15,15,96,30,15,192,62,7,192,62,7, - 192,124,7,224,124,7,224,252,15,240,252,27,240,252,51,240, - 252,115,240,252,227,240,252,195,240,253,131,240,255,3,240,126, - 3,224,126,3,224,62,7,192,62,7,192,63,7,128,111,15, - 0,195,252,0,24,34,102,26,1,0,7,0,0,7,128,0, - 7,192,0,7,192,0,3,224,0,1,224,0,0,112,0,0, - 48,0,0,24,0,0,0,0,0,0,0,0,0,0,255,143, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,131, - 248,31,131,248,31,133,248,15,133,248,15,201,248,7,241,255, - 24,34,102,26,1,0,0,3,128,0,3,128,0,7,128,0, - 15,128,0,15,0,0,30,0,0,28,0,0,56,0,0,48, - 0,0,0,0,0,0,0,0,0,0,255,143,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,131,248,31,131,248, - 31,133,248,15,133,248,15,201,248,7,241,255,24,34,102,26, - 1,0,0,56,0,0,120,0,0,124,0,0,252,0,0,254, - 0,1,206,0,3,135,0,7,3,128,14,0,192,0,0,0, - 0,0,0,0,0,0,255,143,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,131,248,31,131,248,31,133,248,15, - 133,248,15,201,248,7,241,255,24,32,96,26,1,0,7,131, - 192,15,199,224,15,199,224,15,199,224,15,199,224,7,131,192, - 0,0,0,0,0,0,0,0,0,0,0,0,255,135,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,131,248,31, - 131,248,31,133,248,15,133,248,15,201,248,7,241,255,23,45, - 135,25,1,245,0,1,192,0,1,224,0,3,224,0,7,192, - 0,7,128,0,15,0,0,14,0,0,28,0,0,24,0,0, - 0,0,0,0,0,0,0,0,255,241,254,63,192,120,31,128, - 48,15,192,32,15,192,32,15,192,96,7,224,64,7,224,64, - 3,240,192,3,240,128,1,248,128,1,249,128,0,249,0,0, - 253,0,0,253,0,0,126,0,0,126,0,0,62,0,0,60, - 0,0,28,0,0,28,0,0,12,0,0,8,0,0,8,0, - 0,8,0,15,16,0,31,16,0,63,144,0,63,32,0,62, - 32,0,62,64,0,31,192,0,15,0,0,22,44,132,25,1, - 244,3,128,0,15,128,0,63,128,0,255,128,0,223,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 135,240,31,159,248,31,177,248,31,160,252,31,192,252,31,192, - 252,31,192,252,31,128,252,31,128,252,31,128,248,31,129,248, - 31,129,240,31,129,240,31,129,224,31,131,192,31,131,128,31, - 135,128,31,134,0,31,140,0,31,152,0,31,224,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,30,0,0,120,0,0,224, - 0,0,128,0,0,23,44,132,25,1,245,3,193,224,7,227, - 240,7,227,240,7,227,240,7,227,240,3,193,224,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,241,254,63, - 192,120,31,128,48,15,192,32,15,192,32,15,192,96,7,224, - 64,7,224,64,3,240,192,3,240,128,1,240,128,1,249,128, - 0,249,0,0,253,0,0,253,0,0,126,0,0,126,0,0, - 62,0,0,60,0,0,28,0,0,28,0,0,12,0,0,8, - 0,0,8,0,0,8,0,15,16,0,31,16,0,63,144,0, - 63,32,0,62,32,0,62,64,0,31,192,0,15,0,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 34 - Calculated Max Values w=41 h=44 x= 6 y=13 dx=45 dy= 0 ascent=35 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =34 descent= 0 - X Font ascent =34 descent= 0 - Max Font ascent =35 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35n[1539] U8G_SECTION(".progmem.u8g_font_osb35n") = { - 0,133,60,215,242,34,0,0,0,0,42,57,0,35,247,34, - 0,17,19,57,24,4,13,1,128,0,3,192,0,3,192,0, - 227,195,0,241,135,128,248,143,128,252,159,128,126,191,0,3, - 192,0,3,192,0,126,191,0,252,159,128,248,143,128,241,135, - 128,225,195,0,3,192,0,3,192,0,3,192,0,1,128,0, - 41,41,246,45,2,249,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,255,255,255,255,255,128,255,255, - 255,255,255,128,255,255,255,255,255,128,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,9,15,30,13, - 2,248,126,0,255,0,255,128,255,128,255,128,127,128,1,128, - 1,128,1,128,3,0,2,0,6,0,28,0,56,0,96,0, - 12,5,10,18,3,10,255,240,255,240,255,240,255,240,255,240, - 8,6,6,14,3,1,126,255,255,255,255,126,16,44,88,22, - 3,247,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,1,224,1,192,1,192,3,192,3,128, - 3,128,7,128,7,0,7,0,15,0,14,0,14,0,14,0, - 30,0,28,0,28,0,60,0,56,0,56,0,120,0,112,0, - 112,0,240,0,224,0,224,0,224,0,23,35,105,28,2,0, - 0,16,0,0,254,0,3,199,128,7,131,192,15,1,224,15, - 1,224,31,1,240,63,1,248,63,1,248,127,1,248,127,1, - 252,127,1,252,127,1,252,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,255,1,254,127,1,252,127,1,252,127,1,252,127,1, - 252,63,1,248,63,1,248,31,1,240,15,1,224,15,1,224, - 7,131,192,3,199,128,0,254,0,16,34,68,28,6,0,0, - 240,0,240,1,240,7,240,255,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,255, - 255,255,255,21,34,102,28,3,1,7,255,0,14,15,192,28, - 7,224,56,7,240,120,3,240,120,3,248,248,3,248,252,3, - 248,255,3,248,255,3,248,255,7,248,127,7,240,63,15,240, - 12,15,224,0,31,192,0,63,128,0,127,0,0,252,0,1, - 240,0,3,192,0,7,128,0,14,0,24,12,0,24,24,0, - 24,48,0,24,96,0,24,111,192,56,127,255,248,255,255,240, - 239,255,240,195,255,240,193,255,224,192,255,192,192,63,128,22, - 34,102,28,3,1,7,255,0,14,15,192,28,7,224,56,7, - 240,120,3,240,124,3,248,126,3,248,127,3,248,127,3,248, - 127,3,248,63,3,240,30,3,240,0,7,224,0,7,192,0, - 15,0,7,248,0,0,31,128,0,15,192,0,7,224,0,7, - 240,0,3,248,0,3,248,62,3,252,127,3,252,255,3,252, - 255,3,252,255,3,252,254,3,252,252,3,248,248,7,248,120, - 7,240,56,15,224,30,31,192,15,255,0,23,34,102,28,2, - 0,0,7,192,0,15,192,0,15,192,0,31,192,0,63,192, - 0,63,192,0,127,192,0,127,192,0,255,192,0,223,192,1, - 223,192,1,159,192,3,159,192,7,31,192,6,31,192,14,31, - 192,12,31,192,28,31,192,24,31,192,56,31,192,112,31,192, - 96,31,192,224,31,192,255,255,254,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,0,31, - 192,7,255,252,7,255,252,21,34,102,28,4,0,32,0,192, - 60,7,128,63,255,128,63,255,0,63,254,0,63,248,0,63, - 224,0,63,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,49,252,0,54,63,0,60,15,192,56,15,224, - 48,15,224,32,7,240,0,7,240,0,7,248,0,7,248,8, - 7,248,62,7,248,126,7,248,254,7,248,254,7,248,254,7, - 240,248,7,240,240,7,224,112,15,192,48,15,192,28,31,0, - 15,252,0,22,34,102,28,3,1,0,255,128,3,192,192,7, - 192,96,15,128,240,31,131,240,31,7,240,63,15,240,63,15, - 240,127,15,224,127,7,192,127,3,0,127,0,0,255,0,0, - 255,0,0,255,63,0,255,255,192,255,195,224,255,131,240,255, - 3,248,255,1,248,255,1,252,255,1,252,255,1,252,127,1, - 252,127,1,252,127,1,252,127,1,252,63,1,248,63,1,248, - 31,1,248,15,129,240,7,131,224,3,195,192,1,255,0,20, - 34,102,28,5,1,71,224,224,207,240,224,223,248,112,255,252, - 48,255,254,48,255,255,240,255,255,240,224,31,176,192,0,32, - 192,0,96,128,0,96,128,0,192,128,1,192,0,1,128,0, - 3,128,0,7,0,0,15,0,0,14,0,0,30,0,0,60, - 0,0,124,0,0,252,0,1,252,0,1,248,0,3,248,0, - 3,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,7,248,0,3,248,0,3,240,0,23,34,102,28,3, - 1,1,255,128,7,0,192,12,0,96,28,0,48,56,0,24, - 56,0,24,120,0,24,120,0,24,124,0,24,126,0,24,127, - 0,48,127,192,32,127,240,96,63,255,128,63,255,0,31,255, - 192,15,255,240,7,255,248,15,255,248,24,63,252,48,15,252, - 112,3,254,96,0,254,224,0,126,224,0,62,224,0,30,224, - 0,30,224,0,12,240,0,28,112,0,24,56,0,24,28,0, - 48,15,0,192,3,255,0,22,34,102,28,3,1,3,254,0, - 15,15,0,31,7,128,62,7,192,126,3,224,126,3,240,126, - 3,240,254,3,248,254,3,248,254,3,248,254,3,248,254,3, - 252,254,3,252,254,3,252,126,3,252,127,7,252,63,7,252, - 31,15,252,15,255,252,3,243,252,0,3,252,0,3,252,0, - 3,248,7,3,248,31,131,248,31,195,248,63,195,240,63,195, - 240,63,131,224,62,7,224,60,7,192,28,15,128,14,31,0, - 7,252,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 6 y=25 dx=52 dy= 0 ascent=38 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =35 descent=-10 - Max Font ascent =38 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35r[10245] U8G_SECTION(".progmem.u8g_font_osb35r") = { - 0,133,60,215,242,35,12,218,29,222,32,127,246,38,245,35, - 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, - 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, - 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, - 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, - 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, - 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, - 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, - 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, - 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, - 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, - 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, - 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, - 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, - 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, - 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, - 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, - 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, - 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, - 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, - 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, - 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, - 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, - 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, - 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, - 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, - 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, - 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, - 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, - 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, - 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, - 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, - 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, - 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, - 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, - 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, - 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, - 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, - 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, - 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, - 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, - 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, - 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, - 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, - 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, - 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, - 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, - 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, - 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, - 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, - 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, - 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, - 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, - 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, - 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, - 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, - 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, - 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, - 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, - 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, - 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, - 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, - 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, - 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, - 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, - 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, - 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, - 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, - 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, - 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, - 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, - 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, - 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, - 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, - 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, - 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, - 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, - 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, - 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, - 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, - 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, - 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, - 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, - 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, - 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, - 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, - 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, - 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, - 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, - 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, - 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, - 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, - 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, - 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, - 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, - 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, - 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, - 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, - 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, - 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, - 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, - 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, - 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, - 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, - 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, - 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, - 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, - 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, - 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, - 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, - 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, - 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, - 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, - 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, - 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, - 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, - 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, - 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, - 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, - 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, - 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, - 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, - 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, - 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, - 0,0,0,0,0,0,126,255,255,255,255,126,9,31,62,13, - 2,248,63,0,127,128,127,128,127,128,127,128,63,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,126,0,255,0,255,128,255,128,255,128,127,128,1,128, - 1,128,1,128,3,0,3,0,6,0,28,0,56,0,96,0, - 37,40,200,45,4,249,0,0,0,0,48,0,0,0,0,240, - 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, - 0,0,126,0,0,0,1,252,0,0,0,7,240,0,0,0, - 15,192,0,0,0,63,0,0,0,0,252,0,0,0,3,240, - 0,0,0,15,224,0,0,0,63,128,0,0,0,126,0,0, - 0,1,248,0,0,0,7,224,0,0,0,31,128,0,0,0, - 127,0,0,0,0,252,0,0,0,0,248,0,0,0,0,126, - 0,0,0,0,31,128,0,0,0,15,224,0,0,0,3,248, - 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, - 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, - 0,0,0,31,192,0,0,0,7,224,0,0,0,1,248,0, - 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, - 0,0,3,248,0,0,0,0,248,0,0,0,0,48,41,13, - 78,45,2,6,255,255,255,255,255,128,255,255,255,255,255,128, - 255,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,128,255,255,255,255,255,128,255,255,255,255, - 255,128,37,40,200,45,4,249,96,0,0,0,0,120,0,0, - 0,0,252,0,0,0,0,63,0,0,0,0,15,192,0,0, - 0,3,240,0,0,0,1,252,0,0,0,0,127,0,0,0, - 0,31,128,0,0,0,7,224,0,0,0,1,248,0,0,0, - 0,126,0,0,0,0,63,128,0,0,0,15,224,0,0,0, - 3,240,0,0,0,0,252,0,0,0,0,63,0,0,0,0, - 15,192,0,0,0,7,240,0,0,0,1,248,0,0,0,0, - 248,0,0,0,3,240,0,0,0,15,192,0,0,0,63,128, - 0,0,0,254,0,0,0,1,248,0,0,0,7,224,0,0, - 0,31,128,0,0,0,126,0,0,0,1,252,0,0,0,7, - 240,0,0,0,31,192,0,0,0,63,0,0,0,0,252,0, - 0,0,3,240,0,0,0,15,224,0,0,0,63,128,0,0, - 0,254,0,0,0,0,248,0,0,0,0,96,0,0,0,0, - 15,34,68,22,3,1,31,240,59,248,96,252,96,252,192,126, - 192,126,192,126,192,126,192,126,64,252,96,252,48,248,1,240, - 1,224,3,192,3,128,7,0,7,0,14,0,12,16,12,16, - 12,16,12,16,6,32,3,192,0,0,0,0,0,128,3,224, - 7,240,7,240,7,240,7,240,3,224,35,34,170,39,2,1, - 0,15,255,0,0,0,56,1,224,0,0,224,0,112,0,1, - 128,0,28,0,7,0,0,14,0,14,0,0,7,0,12,0, - 248,3,0,28,3,205,243,128,56,7,135,241,128,56,15,7, - 225,192,112,31,7,225,192,112,62,7,224,224,112,62,7,224, - 224,224,124,7,192,224,224,124,7,192,224,224,124,7,192,224, - 224,252,15,192,224,224,248,15,128,224,224,248,15,128,224,224, - 248,15,129,192,224,248,31,129,192,224,248,31,129,128,112,248, - 31,3,128,112,248,63,3,0,112,120,111,6,0,56,60,199, - 140,0,56,31,3,240,0,28,0,0,0,0,14,0,0,0, - 0,7,0,0,0,0,3,128,0,0,0,1,192,0,96,0, - 0,120,1,192,0,0,31,255,0,0,33,35,175,36,2,0, - 0,0,192,0,0,0,1,192,0,0,0,1,224,0,0,0, - 1,224,0,0,0,3,224,0,0,0,3,240,0,0,0,3, - 240,0,0,0,7,240,0,0,0,7,248,0,0,0,7,248, - 0,0,0,15,248,0,0,0,15,252,0,0,0,15,252,0, - 0,0,25,252,0,0,0,25,254,0,0,0,25,254,0,0, - 0,48,254,0,0,0,48,255,0,0,0,32,255,0,0,0, - 96,127,0,0,0,96,127,128,0,0,64,127,128,0,0,192, - 63,128,0,0,192,63,192,0,0,255,255,192,0,1,255,255, - 192,0,1,128,31,224,0,1,0,31,224,0,3,0,15,224, - 0,3,0,15,240,0,2,0,15,240,0,6,0,7,240,0, - 15,0,7,248,0,31,0,15,252,0,255,240,255,255,128,28, - 34,136,33,3,0,255,255,240,0,15,224,126,0,15,224,31, - 0,15,224,31,128,15,224,15,192,15,224,15,192,15,224,15, - 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, - 224,15,224,15,192,15,224,15,192,15,224,31,128,15,224,30, - 0,15,224,60,0,15,255,224,0,15,224,124,0,15,224,63, - 0,15,224,31,128,15,224,15,192,15,224,15,224,15,224,15, - 240,15,224,15,240,15,224,15,240,15,224,15,240,15,224,15, - 240,15,224,15,240,15,224,15,224,15,224,15,224,15,224,31, - 192,15,224,31,128,15,224,126,0,255,255,248,0,26,34,136, - 31,3,1,0,127,193,128,1,224,241,128,3,192,63,128,15, - 128,31,128,15,128,15,128,31,0,15,128,63,0,7,128,63, - 0,7,128,127,0,3,128,127,0,3,128,127,0,3,128,127, - 0,1,128,255,0,1,128,255,0,1,128,255,0,1,128,255, - 0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255, - 0,0,0,255,0,0,0,255,0,0,192,127,0,0,192,127, - 0,0,192,127,0,0,128,63,0,1,128,63,0,1,128,63, - 0,1,128,31,128,3,0,15,128,3,0,7,128,6,0,3, - 192,12,0,1,224,56,0,0,127,224,0,32,34,136,37,3, - 0,255,255,248,0,15,224,31,0,15,224,7,128,15,224,3, - 224,15,224,1,240,15,224,1,240,15,224,0,248,15,224,0, - 252,15,224,0,252,15,224,0,254,15,224,0,254,15,224,0, - 254,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0, - 255,15,224,0,255,15,224,0,255,15,224,0,255,15,224,0, - 255,15,224,0,255,15,224,0,254,15,224,0,254,15,224,0, - 254,15,224,0,254,15,224,0,252,15,224,0,252,15,224,0, - 248,15,224,1,240,15,224,1,224,15,224,3,192,15,224,7, - 128,15,224,30,0,255,255,248,0,27,34,136,33,3,0,255, - 255,255,224,15,224,31,224,15,224,7,224,15,224,3,224,15, - 224,1,224,15,224,1,224,15,224,0,224,15,224,0,224,15, - 224,0,96,15,224,48,96,15,224,48,96,15,224,48,0,15, - 224,112,0,15,224,112,0,15,224,240,0,15,225,240,0,15, - 255,240,0,15,225,240,0,15,224,240,0,15,224,112,0,15, - 224,112,32,15,224,48,96,15,224,48,96,15,224,48,96,15, - 224,0,96,15,224,0,96,15,224,0,224,15,224,0,224,15, - 224,1,224,15,224,3,224,15,224,3,224,15,224,15,224,255, - 255,255,224,255,255,255,224,28,34,136,32,3,0,255,255,255, - 240,7,240,15,240,7,240,3,240,7,240,1,240,7,240,1, - 240,7,240,0,240,7,240,0,240,7,240,0,112,7,240,0, - 112,7,240,24,48,7,240,24,48,7,240,24,48,7,240,56, - 48,7,240,56,0,7,240,120,0,7,240,248,0,7,255,248, - 0,7,240,248,0,7,240,120,0,7,240,56,0,7,240,56, - 0,7,240,24,0,7,240,24,0,7,240,24,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,255,255,128,0,30,34,136,35,3,1,0,127,224,192,0, - 224,120,192,3,192,31,192,7,128,15,192,15,128,7,192,31, - 0,7,192,31,0,3,192,63,0,3,192,63,0,1,192,127, - 0,1,192,127,0,1,192,127,0,0,192,255,0,0,192,255, - 0,0,192,255,0,0,0,255,0,0,0,255,0,0,0,255, - 3,255,252,255,3,255,252,255,0,31,192,255,0,31,192,255, - 0,31,192,127,0,31,192,127,0,31,192,127,0,31,192,127, - 0,31,192,63,0,31,192,63,0,31,192,31,0,31,192,15, - 128,57,192,15,128,49,192,7,192,96,192,1,224,192,192,0, - 127,128,192,34,34,170,39,3,0,255,255,63,255,192,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,255,255,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,255,255, - 63,255,192,16,34,68,21,3,0,255,255,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,255,255,23,34,102, - 26,2,0,1,255,254,0,15,224,0,15,224,0,15,224,0, - 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, - 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, - 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, - 15,224,30,15,224,126,15,224,127,15,224,255,15,224,255,15, - 224,254,15,224,254,15,224,248,15,192,112,15,192,96,15,128, - 48,31,0,24,30,0,15,248,0,33,34,170,37,3,0,255, - 255,31,254,0,7,240,7,240,0,7,240,3,192,0,7,240, - 3,128,0,7,240,3,0,0,7,240,7,0,0,7,240,14, - 0,0,7,240,12,0,0,7,240,24,0,0,7,240,48,0, - 0,7,240,96,0,0,7,240,224,0,0,7,240,224,0,0, - 7,241,240,0,0,7,243,240,0,0,7,247,248,0,0,7, - 255,252,0,0,7,255,252,0,0,7,249,254,0,0,7,241, - 254,0,0,7,240,255,0,0,7,240,255,0,0,7,240,127, - 128,0,7,240,127,128,0,7,240,63,192,0,7,240,63,192, - 0,7,240,31,224,0,7,240,31,224,0,7,240,15,240,0, - 7,240,15,240,0,7,240,7,248,0,7,240,7,248,0,7, - 240,7,252,0,255,255,63,255,128,28,34,136,32,3,0,255, - 255,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,48,7, - 240,0,48,7,240,0,48,7,240,0,112,7,240,0,112,7, - 240,0,112,7,240,0,240,7,240,0,240,7,240,0,240,7, - 240,1,240,7,240,3,240,7,240,3,240,7,240,7,240,255, - 255,255,240,255,255,255,240,39,34,170,43,2,0,255,240,0, - 63,254,7,240,0,63,192,7,248,0,63,192,7,248,0,63, - 192,7,248,0,127,192,7,252,0,127,192,7,252,0,95,192, - 7,252,0,95,192,7,254,0,223,192,6,254,0,223,192,6, - 255,0,159,192,6,127,0,159,192,6,127,1,159,192,6,127, - 129,159,192,6,63,129,31,192,6,63,129,31,192,6,63,195, - 31,192,6,31,194,31,192,6,31,226,31,192,6,15,226,31, - 192,6,15,230,31,192,6,15,244,31,192,6,7,244,31,192, - 6,7,244,31,192,6,7,252,31,192,6,3,248,31,192,6, - 3,248,31,192,6,1,248,31,192,6,1,248,31,192,6,1, - 240,31,192,6,0,240,31,192,15,0,240,31,192,63,192,240, - 31,192,255,240,97,255,254,34,35,175,37,2,255,255,224,15, - 255,192,31,240,3,255,0,15,240,0,252,0,15,248,0,120, - 0,7,252,0,48,0,3,254,0,48,0,3,254,0,48,0, - 3,255,0,48,0,3,255,128,48,0,3,255,128,48,0,3, - 127,192,48,0,3,63,224,48,0,3,31,224,48,0,3,31, - 240,48,0,3,15,248,48,0,3,7,248,48,0,3,7,252, - 48,0,3,3,254,48,0,3,1,255,48,0,3,1,255,48, - 0,3,0,255,176,0,3,0,127,240,0,3,0,127,240,0, - 3,0,63,240,0,3,0,31,240,0,3,0,15,240,0,3, - 0,15,240,0,3,0,7,240,0,3,0,3,240,0,3,0, - 3,240,0,7,128,1,240,0,15,192,0,240,0,63,240,0, - 240,0,255,252,0,112,0,0,0,0,48,0,28,34,136,33, - 3,1,0,63,192,0,0,224,112,0,3,192,56,0,7,128, - 30,0,15,128,30,0,15,0,15,0,31,0,15,128,63,0, - 15,192,63,0,15,192,127,0,15,192,127,0,15,224,127,0, - 15,224,127,0,15,224,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0, - 15,224,127,0,15,192,63,0,15,192,63,0,15,192,31,0, - 15,128,15,0,15,0,15,128,31,0,7,128,30,0,3,192, - 60,0,0,224,112,0,0,63,192,0,29,34,136,34,3,0, - 255,255,248,0,7,240,63,0,7,240,15,192,7,240,15,224, - 7,240,15,240,7,240,7,240,7,240,7,248,7,240,7,248, - 7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,248, - 7,240,7,240,7,240,15,240,7,240,15,224,7,240,15,192, - 7,240,31,0,7,255,252,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,255,255,128,0,28,45,180,33,3,246,0,63, - 192,0,0,224,112,0,3,192,56,0,7,128,30,0,15,128, - 30,0,15,0,15,0,31,0,15,128,63,0,15,128,63,0, - 15,192,127,0,15,192,127,0,15,224,127,0,15,224,127,0, - 15,224,255,0,15,240,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,255,0,15,240,255,0,15,240,255,0, - 15,240,255,0,15,240,127,0,15,224,127,0,15,224,127,0, - 15,224,63,0,15,192,63,15,15,192,31,17,143,128,15,160, - 223,0,15,160,223,0,7,160,254,0,3,224,252,16,0,240, - 248,16,0,127,224,16,0,0,224,16,0,0,224,16,0,0, - 224,48,0,0,240,48,0,0,248,112,0,0,255,240,0,0, - 255,224,0,0,127,224,0,0,127,192,0,0,63,128,0,0, - 31,0,32,36,144,36,3,254,255,255,240,0,7,240,126,0, - 7,240,63,0,7,240,63,128,7,240,31,192,7,240,31,192, - 7,240,31,224,7,240,31,224,7,240,31,224,7,240,31,224, - 7,240,31,224,7,240,31,192,7,240,63,192,7,240,63,0, - 7,240,126,0,7,255,240,0,7,240,240,0,7,240,62,0, - 7,240,63,0,7,240,31,128,7,240,31,128,7,240,31,192, - 7,240,31,192,7,240,31,192,7,240,31,192,7,240,31,195, - 7,240,31,195,7,240,31,195,7,240,31,195,7,240,31,195, - 7,240,31,198,7,240,31,198,7,240,15,238,255,255,135,252, - 0,0,3,248,0,0,0,96,23,34,102,29,4,1,7,252, - 24,24,15,24,56,3,248,112,1,248,112,0,248,240,0,120, - 248,0,120,248,0,56,252,0,24,254,0,24,255,128,24,255, - 224,8,127,240,0,127,252,0,63,254,0,31,255,128,15,255, - 192,3,255,240,1,255,248,128,127,248,192,31,252,192,15,252, - 192,3,254,224,1,254,224,0,126,224,0,62,240,0,30,248, - 0,30,248,0,28,252,0,28,254,0,24,239,0,48,195,128, - 96,193,255,128,29,34,136,34,3,0,255,255,255,248,255,63, - 231,248,252,31,193,248,248,31,192,248,248,31,192,248,240,31, - 192,120,224,31,192,56,224,31,192,56,224,31,192,56,192,31, - 192,24,192,31,192,24,192,31,192,24,192,31,192,24,128,31, - 192,8,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,0,31, - 192,0,0,31,192,0,0,31,192,0,0,31,192,0,3,255, - 254,0,33,34,170,38,3,0,255,255,7,255,128,15,224,1, - 254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7, - 224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248, - 1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252, - 0,0,34,34,170,37,2,0,255,255,135,255,192,15,248,0, - 126,0,7,248,0,56,0,7,248,0,56,0,3,248,0,48, - 0,3,252,0,48,0,3,252,0,48,0,1,254,0,96,0, - 1,254,0,96,0,0,254,0,96,0,0,255,0,192,0,0, - 255,0,192,0,0,127,0,192,0,0,127,129,128,0,0,127, - 129,128,0,0,63,129,128,0,0,63,195,0,0,0,63,195, - 0,0,0,31,195,0,0,0,31,230,0,0,0,15,230,0, - 0,0,15,246,0,0,0,15,252,0,0,0,7,252,0,0, - 0,7,252,0,0,0,7,248,0,0,0,3,248,0,0,0, - 3,248,0,0,0,3,240,0,0,0,1,240,0,0,0,1, - 240,0,0,0,0,224,0,0,0,0,224,0,0,0,0,224, - 0,0,49,34,238,52,2,0,255,255,63,255,207,255,128,31, - 252,7,254,0,252,0,7,248,3,252,0,112,0,7,248,1, - 252,0,112,0,3,248,1,254,0,96,0,3,252,1,254,0, - 96,0,3,252,0,254,0,96,0,1,252,0,254,0,192,0, - 1,254,1,255,0,192,0,1,254,1,255,0,192,0,0,254, - 1,255,1,128,0,0,255,3,127,129,128,0,0,255,3,63, - 129,128,0,0,127,3,63,129,128,0,0,127,135,63,195,0, - 0,0,127,134,31,195,0,0,0,63,134,31,195,0,0,0, - 63,198,31,231,0,0,0,31,204,15,230,0,0,0,31,204, - 15,230,0,0,0,31,236,15,246,0,0,0,15,248,7,252, - 0,0,0,15,248,7,252,0,0,0,15,248,7,252,0,0, - 0,7,248,3,252,0,0,0,7,240,3,248,0,0,0,7, - 240,3,248,0,0,0,3,240,1,248,0,0,0,3,224,1, - 240,0,0,0,3,224,1,240,0,0,0,1,224,0,240,0, - 0,0,1,192,0,240,0,0,0,1,192,0,224,0,0,0, - 0,192,0,96,0,0,33,34,170,36,2,0,127,255,31,254, - 0,31,252,3,240,0,7,248,3,192,0,3,248,3,128,0, - 3,252,3,128,0,1,252,3,0,0,1,254,7,0,0,0, - 255,6,0,0,0,255,12,0,0,0,127,140,0,0,0,127, - 152,0,0,0,63,240,0,0,0,63,240,0,0,0,31,224, - 0,0,0,31,224,0,0,0,15,240,0,0,0,15,248,0, - 0,0,7,248,0,0,0,7,252,0,0,0,7,252,0,0, - 0,15,254,0,0,0,29,254,0,0,0,24,255,0,0,0, - 56,255,0,0,0,48,127,128,0,0,96,127,128,0,0,224, - 63,192,0,0,192,63,224,0,1,128,31,224,0,3,128,31, - 240,0,3,128,15,240,0,7,128,15,248,0,31,128,31,252, - 0,255,240,127,255,128,32,34,136,35,2,0,255,254,15,255, - 31,248,1,248,15,248,0,240,7,248,0,224,7,248,0,192, - 3,252,0,192,3,252,0,192,1,252,1,128,1,254,1,128, - 0,254,3,0,0,255,3,0,0,255,3,0,0,127,134,0, - 0,127,134,0,0,63,196,0,0,63,204,0,0,31,204,0, - 0,31,248,0,0,15,248,0,0,15,248,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,255,255,0,25,34,136,31,3,0,127,255,255,128,127,128, - 127,128,126,0,255,0,124,0,255,0,120,1,254,0,120,3, - 254,0,112,3,252,0,112,7,252,0,96,7,248,0,96,15, - 248,0,96,15,240,0,64,31,224,0,0,31,224,0,0,63, - 192,0,0,63,192,0,0,127,128,0,0,127,128,0,0,255, - 0,0,0,255,0,0,1,254,0,0,3,254,0,128,3,252, - 0,128,7,248,0,128,7,248,0,128,15,240,1,128,15,240, - 1,128,31,224,3,128,31,224,3,128,63,192,7,128,63,192, - 15,128,127,128,31,128,127,128,63,128,255,255,255,128,255,255, - 255,128,11,42,84,18,4,248,255,224,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,255,224,16,44,88,22, - 3,247,224,0,224,0,224,0,240,0,112,0,112,0,120,0, - 56,0,56,0,60,0,28,0,28,0,30,0,14,0,14,0, - 14,0,15,0,7,0,7,0,7,128,3,128,3,128,3,192, - 1,192,1,192,1,224,0,224,0,224,0,224,0,240,0,112, - 0,112,0,120,0,56,0,56,0,60,0,28,0,28,0,30, - 0,14,0,14,0,14,0,15,0,7,11,42,84,18,3,248, - 255,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,255,224,22,17,51,28,3,18,0,48,0,0,112,0, - 0,120,0,0,252,0,0,252,0,1,254,0,3,207,0,3, - 143,0,7,135,128,15,3,128,15,3,192,30,1,224,60,0, - 224,60,0,240,120,0,120,112,0,56,240,0,60,25,3,12, - 25,0,248,255,255,255,128,255,255,255,128,255,255,255,128,8, - 9,9,21,4,25,96,240,248,124,60,30,15,3,1,21,22, - 66,24,2,1,15,248,0,24,62,0,56,63,0,120,31,0, - 124,31,128,126,31,128,126,31,128,62,31,128,8,63,128,1, - 255,128,7,159,128,30,31,128,62,31,128,124,31,128,124,31, - 128,252,31,128,252,31,136,252,31,136,252,31,152,254,63,144, - 127,127,240,63,143,224,22,34,102,25,1,0,255,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,159,128,31,179,224,31,225,224,31,193,240,31,193,248,31, - 192,248,31,192,248,31,128,252,31,128,252,31,128,252,31,128, - 252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,248, - 31,192,248,31,193,248,29,193,240,24,225,224,24,99,192,16, - 63,128,18,22,66,22,2,1,3,252,0,15,6,0,31,3, - 0,62,3,128,62,7,128,126,15,128,124,31,128,252,31,128, - 252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,0, - 128,30,1,0,15,130,0,3,252,0,23,34,102,26,2,0, - 0,63,224,0,7,224,0,7,224,0,7,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,7,231,224,31,23,224,30,31,224,62,15,224, - 126,15,224,124,15,224,124,7,224,252,7,224,252,7,224,252, - 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, - 224,124,7,224,124,15,224,126,15,224,62,15,224,30,31,224, - 15,23,224,7,231,254,18,22,66,23,2,1,3,252,0,14, - 30,0,30,31,0,62,15,128,60,15,128,124,15,128,124,15, - 192,252,15,192,252,15,192,252,15,192,255,255,192,252,0,0, - 252,0,0,252,0,0,252,0,64,124,0,64,124,0,192,62, - 0,192,62,0,128,31,1,0,15,131,0,3,252,0,18,34, - 102,16,1,1,0,255,0,1,199,128,7,199,128,7,199,192, - 15,143,192,15,143,192,31,143,192,31,143,128,31,135,128,31, - 128,0,31,128,0,31,128,0,255,240,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,240,0,24,33,99,27,2,246, - 7,254,62,31,15,71,63,7,143,62,7,207,126,7,238,126, - 7,228,126,7,224,126,7,224,126,7,224,62,7,192,31,15, - 128,15,15,0,3,252,0,12,0,0,48,0,0,48,0,0, - 112,0,0,112,0,0,127,255,128,127,255,224,63,255,240,31, - 255,240,7,255,248,60,1,248,96,0,120,192,0,56,192,0, - 56,192,0,48,192,0,112,96,0,96,48,1,192,30,7,128, - 3,252,0,24,34,102,27,1,0,255,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,143,224, - 31,145,240,31,160,248,31,160,252,31,192,252,31,192,252,31, - 192,252,31,128,252,31,128,252,31,128,252,31,128,252,31,128, - 252,31,128,252,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,255,227,255,11, - 35,70,15,2,0,4,0,31,0,63,128,63,128,63,128,63, - 128,31,0,4,0,0,0,0,0,0,0,0,0,0,0,255, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,255,224,15,46,92,16,254, - 245,0,16,0,124,0,254,0,254,0,254,0,254,0,124,0, - 16,0,0,0,0,0,0,0,0,0,0,7,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,56,252,124,252,252, - 252,252,252,248,248,248,248,113,240,49,224,31,128,25,34,136, - 27,1,0,255,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,131,254,0,31,128,240,0,31,128,96,0,31, - 128,192,0,31,128,128,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,143,0,0,31,159,0,0,31,159,128,0,31, - 191,128,0,31,239,192,0,31,199,224,0,31,135,224,0,31, - 131,240,0,31,129,248,0,31,129,248,0,31,128,252,0,31, - 128,252,0,31,128,254,0,255,243,255,128,12,34,68,14,1, - 0,255,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,255,240,34,22,110,37,2,1,255,31,193,248,0, - 63,35,230,124,0,63,67,228,62,0,63,131,248,63,0,63, - 131,248,63,0,63,131,248,63,0,63,3,240,63,0,63,3, - 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, - 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, - 0,63,3,240,63,0,63,3,240,63,0,63,3,240,63,0, - 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, - 3,240,63,0,255,207,252,255,192,23,22,66,27,2,1,255, - 31,192,63,35,224,63,65,240,63,65,248,63,129,248,63,129, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,63,1,248,63,1,248,63,1,248,255,199, - 254,20,22,66,24,2,1,3,252,0,15,15,0,30,7,128, - 62,7,192,62,7,192,124,3,224,124,3,224,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,124,3,224,124,3,224,62,7,192,62,7,192, - 30,7,128,15,15,0,3,252,0,22,33,99,25,1,246,255, - 159,128,31,163,192,31,225,224,31,193,240,31,192,248,31,192, - 248,31,192,248,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,192,252,31, - 192,248,31,192,248,31,193,240,31,225,240,31,179,224,31,159, - 128,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,255, - 240,0,22,33,99,25,2,246,7,240,32,15,24,96,30,28, - 96,62,14,224,126,15,224,124,15,224,124,7,224,252,7,224, - 252,7,224,252,7,224,252,7,224,252,7,224,252,7,224,252, - 7,224,252,7,224,124,7,224,124,15,224,126,15,224,62,15, - 224,30,31,224,31,23,224,7,231,224,0,7,224,0,7,224, - 0,7,224,0,7,224,0,7,224,0,7,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,63,252,17,22,66,20,2, - 1,255,31,0,63,63,128,63,79,128,63,79,128,63,159,128, - 63,159,128,63,159,0,63,14,0,63,0,0,63,0,0,63, - 0,0,63,0,0,63,0,0,63,0,0,63,0,0,63,0, - 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, - 255,192,0,16,22,44,21,3,1,31,196,48,116,96,60,224, - 28,224,28,240,12,248,4,254,4,127,128,127,224,63,240,31, - 252,7,254,129,254,192,127,192,31,224,15,224,7,240,7,248, - 6,204,14,135,248,15,32,64,17,1,0,1,128,1,128,1, - 128,1,128,1,128,3,128,3,128,7,128,15,128,63,128,255, - 248,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,130,31,130,31,130,31,130,31, - 134,31,134,31,132,15,196,15,248,7,240,24,22,66,26,1, - 0,255,143,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,131,248,31,131,248,31,133,248,15,133,248,15,201,248, - 7,241,255,23,23,69,25,1,255,255,241,254,63,192,120,31, - 128,48,15,192,48,15,192,32,7,192,96,7,224,96,7,224, - 64,3,224,192,3,240,128,3,240,128,1,241,128,1,249,0, - 0,249,0,0,255,0,0,254,0,0,126,0,0,126,0,0, - 124,0,0,60,0,0,60,0,0,24,0,0,24,0,35,23, - 115,37,1,255,255,231,255,31,224,63,129,252,7,128,31,128, - 252,3,0,15,128,252,2,0,15,192,124,2,0,15,192,124, - 6,0,7,192,126,4,0,7,224,254,4,0,3,224,191,12, - 0,3,224,191,8,0,3,241,159,24,0,1,241,31,144,0, - 1,241,31,144,0,1,251,31,176,0,0,250,15,224,0,0, - 250,15,224,0,0,254,15,224,0,0,124,7,192,0,0,124, - 7,192,0,0,60,7,192,0,0,56,3,128,0,0,56,3, - 128,0,0,24,3,0,0,23,22,66,25,1,0,255,231,252, - 63,192,240,31,192,224,15,192,192,15,225,128,7,227,0,3, - 242,0,3,254,0,1,252,0,1,252,0,0,252,0,0,126, - 0,0,127,0,0,127,0,0,223,128,1,159,192,3,15,192, - 2,15,224,6,7,224,14,7,240,30,7,248,255,207,254,23, - 33,99,25,1,245,255,241,254,63,192,120,31,128,48,15,192, - 32,15,192,32,15,192,96,7,224,64,7,224,64,3,240,192, - 3,240,128,1,248,128,1,249,128,0,249,0,0,253,0,0, - 253,0,0,126,0,0,126,0,0,62,0,0,60,0,0,28, - 0,0,28,0,0,12,0,0,8,0,0,8,0,0,8,0, - 15,16,0,31,16,0,63,144,0,63,32,0,62,32,0,62, - 64,0,31,192,0,15,0,0,18,22,66,22,2,0,127,255, - 192,124,15,192,120,31,128,112,63,0,96,63,0,96,126,0, - 64,126,0,64,252,0,1,248,0,1,248,0,3,240,0,3, - 240,0,7,224,64,15,192,64,15,192,64,31,128,192,31,0, - 192,63,1,192,126,1,192,126,3,192,252,15,192,255,255,192, - 14,43,86,20,3,247,0,60,0,240,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,0,15,0,28,0, - 240,0,60,0,30,0,15,0,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,7,128,7,128,3,192,0,240,0,60,3,44,44,13, - 5,247,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,15,43, - 86,20,3,247,240,0,60,0,15,0,7,128,7,128,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,3,192,3,192,0,240,0,62, - 0,240,1,224,3,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,128,7,128,15,0,60,0,240,0,27,9,36,31,2,8, - 31,128,1,128,63,240,0,192,127,254,0,96,255,255,128,96, - 193,255,240,96,192,63,255,224,192,15,255,192,96,1,255,128, - 48,0,63,0,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 5 y=15 dx=28 dy= 0 ascent=25 len=72 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =19 descent=-6 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_SECTION(".progmem.u8g_font_osr18") = { - 0,68,33,235,248,18,4,197,10,125,32,255,250,25,249,19, - 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, - 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, - 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, - 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, - 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, - 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, - 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, - 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, - 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, - 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, - 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, - 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, - 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, - 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, - 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, - 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, - 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, - 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, - 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, - 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, - 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, - 192,42,0,30,0,235,192,201,192,12,0,12,0,22,22,66, - 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, - 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, - 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, - 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, - 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, - 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, - 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, - 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, - 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, - 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, - 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, - 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, - 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, - 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, - 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, - 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, - 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, - 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, - 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, - 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, - 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, - 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, - 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, - 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, - 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, - 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, - 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, - 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,8,2,252,96,240,240, - 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, - 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, - 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, - 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, - 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, - 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, - 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, - 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, - 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, - 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, - 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, - 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, - 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, - 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, - 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, - 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, - 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, - 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, - 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, - 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, - 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, - 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, - 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, - 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, - 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, - 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, - 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, - 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, - 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, - 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, - 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, - 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, - 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, - 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, - 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, - 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, - 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, - 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, - 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, - 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, - 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, - 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, - 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, - 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, - 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, - 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, - 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, - 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, - 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, - 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, - 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, - 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, - 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, - 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, - 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, - 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, - 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, - 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, - 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, - 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, - 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, - 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, - 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, - 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, - 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, - 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, - 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, - 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, - 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, - 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, - 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, - 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, - 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, - 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, - 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, - 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, - 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, - 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, - 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, - 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, - 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, - 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, - 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, - 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, - 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, - 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, - 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, - 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, - 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, - 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, - 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, - 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, - 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, - 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, - 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, - 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, - 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, - 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, - 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, - 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, - 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, - 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, - 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, - 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, - 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, - 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, - 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, - 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, - 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, - 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, - 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, - 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, - 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, - 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, - 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, - 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, - 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, - 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, - 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, - 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, - 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, - 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, - 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, - 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, - 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, - 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, - 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, - 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, - 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, - 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, - 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, - 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, - 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, - 64,124,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,7,0,0,3,18,18,7,2,250,224, - 224,224,0,64,64,64,64,64,64,64,64,224,224,224,224,224, - 224,9,18,36,15,3,253,4,0,4,0,4,0,31,0,53, - 0,100,128,229,128,197,128,196,0,196,0,196,0,228,128,100, - 128,53,0,31,0,4,0,4,0,4,0,14,18,36,19,2, - 0,0,248,1,132,3,4,2,12,6,0,6,0,6,0,62, - 0,7,224,6,0,6,0,6,0,6,0,6,0,116,4,140, - 4,139,248,112,240,11,11,22,15,2,2,159,32,113,192,64, - 64,128,96,128,32,128,32,128,32,128,32,64,64,96,192,159, - 32,15,18,36,15,0,0,252,126,56,24,24,16,28,16,12, - 32,14,64,6,64,7,128,3,128,63,240,3,0,3,0,63, - 240,3,0,3,0,3,0,3,0,31,224,1,23,23,7,3, - 251,128,128,128,128,128,128,128,128,128,0,0,0,0,0,128, - 128,128,128,128,128,128,128,128,10,23,46,17,3,251,30,0, - 33,0,35,0,35,0,32,0,48,0,28,0,46,0,71,0, - 131,128,129,192,192,192,224,64,112,64,56,128,29,0,6,0, - 3,0,3,0,49,0,49,0,34,0,28,0,7,2,2,11, - 2,15,198,198,19,18,54,21,1,0,3,248,0,12,6,0, - 16,225,0,33,28,128,67,12,64,70,4,64,134,4,32,134, - 0,32,134,0,32,134,0,32,134,0,32,134,8,32,67,8, - 64,67,8,64,32,240,128,16,1,0,12,6,0,3,248,0, - 7,8,8,11,2,10,240,200,24,104,136,154,100,252,6,10, - 10,12,3,1,32,68,136,136,136,136,136,136,68,32,13,6, - 12,15,1,3,255,248,0,8,0,8,0,8,0,8,0,8, - 7,1,1,11,2,6,254,19,18,54,21,1,0,3,248,0, - 12,6,0,31,225,0,35,24,128,67,24,64,67,24,64,131, - 24,32,131,24,32,131,224,32,131,16,32,131,24,32,131,24, - 32,67,26,64,67,26,64,47,142,128,16,1,0,12,6,0, - 3,248,0,7,1,1,11,2,15,254,7,7,7,15,4,11, - 56,68,130,130,130,68,56,22,18,54,24,1,255,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,255,255,252,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,0,0,0,0,0, - 255,255,252,7,10,10,11,2,8,124,134,134,230,6,8,16, - 96,66,254,7,11,11,12,3,7,120,132,198,198,4,120,14, - 70,198,134,120,4,4,4,11,5,13,48,48,96,128,14,19, - 38,17,2,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,64,192,64,128,64,132,163,252,159,28,128,0,128,0, - 192,0,192,0,192,0,224,0,64,0,11,22,44,14,2,252, - 63,224,120,128,248,128,248,128,248,128,248,128,248,128,120,128, - 8,128,8,128,8,128,8,128,8,128,8,128,8,128,8,128, - 8,128,8,128,8,128,8,128,8,128,8,128,3,3,3,7, - 2,7,224,224,224,5,5,5,11,3,251,64,48,24,24,240, - 6,11,11,12,3,7,16,16,240,48,48,48,48,48,48,48, - 252,6,9,9,10,2,9,112,136,132,132,132,132,72,48,252, - 7,10,10,13,3,1,8,68,68,34,34,34,34,68,68,136, - 18,18,54,23,3,0,16,4,0,240,12,0,48,8,0,48, - 16,0,48,16,0,48,32,0,48,96,0,48,67,0,48,135, - 0,48,139,0,253,11,0,3,19,0,2,19,0,6,35,0, - 4,63,192,8,3,0,24,3,0,16,15,192,17,18,54,22, - 3,0,16,4,0,240,8,0,48,8,0,48,16,0,48,16, - 0,48,32,0,48,64,0,48,78,0,48,179,128,48,161,128, - 253,49,128,3,17,128,2,3,0,4,6,0,4,8,0,8, - 16,128,24,49,128,16,63,128,18,18,54,23,3,0,120,4, - 0,134,12,0,198,8,0,4,16,0,120,16,0,12,32,0, - 6,96,0,198,67,0,198,135,0,142,139,0,121,11,0,2, - 19,0,2,19,0,4,35,0,12,63,192,8,3,0,16,3, - 0,16,15,192,9,18,36,12,1,250,28,0,28,0,28,0, - 0,0,28,0,34,0,34,0,6,0,4,0,24,0,48,0, - 96,0,227,0,195,128,192,128,224,128,97,0,62,0,18,24, - 72,20,2,0,6,0,0,6,0,0,3,0,0,0,128,0, - 0,0,0,0,0,0,0,128,0,0,192,0,1,192,0,1, - 192,0,1,224,0,3,224,0,2,96,0,2,112,0,6,112, - 0,4,48,0,4,56,0,12,24,0,15,248,0,24,28,0, - 16,12,0,16,14,0,48,14,0,254,63,192,18,24,72,20, - 2,0,0,16,0,0,48,0,0,96,0,0,64,0,0,128, - 0,0,0,0,0,128,0,0,192,0,1,192,0,1,192,0, - 1,224,0,3,224,0,2,96,0,2,112,0,6,112,0,4, - 48,0,4,56,0,12,56,0,15,248,0,24,28,0,16,12, - 0,16,14,0,48,14,0,254,63,192,18,24,72,20,2,0, - 0,128,0,0,192,0,1,96,0,2,48,0,4,8,0,0, - 0,0,0,128,0,0,192,0,1,192,0,1,192,0,1,224, - 0,3,224,0,2,96,0,2,112,0,6,112,0,4,48,0, - 4,56,0,12,56,0,15,248,0,24,28,0,16,12,0,16, - 12,0,48,14,0,254,63,192,18,23,69,20,2,0,3,144, - 0,5,240,0,0,0,0,0,0,0,0,0,0,0,128,0, - 0,128,0,1,192,0,1,192,0,1,224,0,3,224,0,2, - 96,0,2,112,0,6,112,0,4,48,0,12,56,0,12,56, - 0,15,248,0,24,28,0,16,28,0,16,12,0,48,14,0, - 254,63,192,18,23,69,20,1,0,6,24,0,6,24,0,2, - 16,0,0,0,0,0,0,0,0,192,0,0,192,0,0,192, - 0,1,224,0,1,224,0,1,96,0,2,112,0,2,112,0, - 2,48,0,4,56,0,4,24,0,12,24,0,15,252,0,8, - 12,0,24,12,0,24,14,0,56,6,0,254,63,192,17,24, - 72,20,2,0,1,192,0,2,32,0,2,32,0,2,32,0, - 1,192,0,0,0,0,0,128,0,0,128,0,1,192,0,1, - 192,0,1,192,0,2,224,0,2,96,0,2,96,0,4,112, - 0,4,112,0,12,48,0,8,56,0,15,248,0,24,28,0, - 16,28,0,16,12,0,48,14,0,254,127,128,24,18,54,26, - 0,0,0,127,255,0,28,7,0,28,3,0,44,1,0,44, - 1,0,76,17,0,76,16,0,140,48,0,143,240,1,12,48, - 3,12,16,2,12,17,7,252,17,4,12,1,8,12,1,8, - 12,3,24,12,7,254,63,255,14,24,48,18,2,250,7,132, - 24,108,32,60,96,28,96,12,192,12,192,4,192,0,192,0, - 192,0,192,0,192,4,96,4,96,4,96,8,48,24,24,48, - 7,192,2,0,3,128,0,192,0,192,8,192,7,128,15,24, - 48,18,1,0,4,0,6,0,3,0,1,128,0,0,0,0, - 255,254,24,6,24,2,24,2,24,2,24,34,24,32,24,96, - 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, - 24,14,255,254,15,24,48,18,1,0,0,48,0,48,0,96, - 0,192,0,0,0,0,255,254,24,14,24,6,24,2,24,2, - 24,34,24,32,24,96,31,224,24,96,24,32,24,32,24,34, - 24,2,24,2,24,6,24,14,255,254,15,24,48,18,1,0, - 0,128,1,192,3,64,6,48,8,8,0,0,255,254,24,6, - 24,2,24,2,24,2,24,34,24,32,24,96,31,224,24,96, - 24,32,24,32,24,34,24,2,24,2,24,6,24,14,255,254, - 15,23,46,18,1,0,6,48,6,48,4,16,0,0,0,0, - 255,254,24,14,24,6,24,2,24,2,24,34,24,32,24,96, - 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, - 24,14,255,254,8,24,24,10,1,0,64,96,48,16,8,0, - 255,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,255,8,24,24,10,1,0,3,3,6,8,0,0,255,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,255, - 8,24,24,10,1,0,8,24,52,66,129,0,255,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,255,8,23, - 23,10,1,0,195,195,66,0,0,255,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,255,17,18,54,19,1, - 0,255,240,0,24,12,0,24,6,0,24,3,0,24,3,0, - 24,1,128,24,1,128,24,1,128,127,1,128,24,1,128,24, - 1,128,24,1,128,24,1,128,24,3,0,24,3,0,24,6, - 0,24,12,0,255,240,0,18,24,72,19,1,0,3,200,0, - 2,248,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 15,192,28,2,0,30,2,0,22,2,0,23,2,0,19,130, - 0,17,130,0,17,194,0,16,226,0,16,226,0,16,114,0, - 16,50,0,16,58,0,16,30,0,16,14,0,16,14,0,16, - 6,0,252,2,0,15,24,48,18,2,1,28,0,12,0,6, - 0,2,0,1,0,0,0,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,96,12,32,8,48,24,24,48,7,192,15,24,48,18,2, - 1,0,112,0,96,0,192,0,128,1,0,0,0,7,192,24, - 48,48,24,32,8,96,12,96,12,192,6,192,6,192,6,192, - 6,192,6,192,6,96,12,96,12,32,8,48,24,24,48,7, - 192,15,24,48,18,2,0,1,0,3,128,6,192,12,96,16, - 16,0,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,24,48,18,2,0,15,16,19, - 224,0,0,0,0,0,0,0,0,7,192,24,48,48,24,32, - 8,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,96,12,96,12,32,8,48,24,24,48,7,192,15,24,48, - 18,2,0,8,0,12,96,12,96,0,0,0,0,0,0,7, - 192,24,48,48,24,32,8,96,12,96,12,192,6,192,6,192, - 6,192,6,192,6,192,6,96,12,96,12,32,8,48,24,24, - 48,7,192,16,16,32,24,4,255,0,1,64,3,32,6,16, - 12,8,24,4,48,2,96,1,192,1,128,3,64,6,32,12, - 16,24,8,48,4,96,2,192,1,15,18,36,18,2,0,7, - 194,24,52,48,28,32,12,96,28,96,44,192,70,192,198,193, - 134,195,6,198,6,196,6,232,12,112,12,96,8,112,24,88, - 48,135,192,19,24,72,21,1,1,3,0,0,3,128,0,0, - 128,0,0,64,0,0,0,0,0,0,0,255,15,224,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, - 1,0,24,1,0,12,1,0,12,2,0,6,4,0,1,248, - 0,19,24,72,21,1,1,0,28,0,0,24,0,0,48,0, - 0,32,0,0,64,0,0,0,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,19, - 24,72,21,1,0,0,96,0,0,224,0,1,176,0,3,8, - 0,0,4,0,0,0,0,255,15,224,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,12,1,0,12,2,0,6,4,0,1,248,0,19,23,69, - 21,1,1,3,24,0,3,24,0,0,0,0,0,0,0,0, - 0,0,255,15,224,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,12,1,0,12, - 2,0,6,4,0,1,248,0,17,24,72,19,1,0,0,24, - 0,0,56,0,0,48,0,0,64,0,0,0,0,0,0,0, - 255,31,128,28,6,0,28,4,0,14,4,0,6,8,0,7, - 8,0,3,144,0,3,160,0,1,224,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,7,252,0,15,18,36,17,1,0,255,0,24,0, - 24,0,31,224,24,24,24,12,24,6,24,6,24,6,24,14, - 24,12,24,24,31,240,24,0,24,0,24,0,24,0,255,0, - 12,18,36,14,1,0,7,128,24,224,24,96,48,96,48,192, - 48,128,55,0,49,128,48,64,48,96,48,112,48,48,48,48, - 48,48,54,48,54,112,52,96,243,192,11,18,36,13,1,0, - 96,0,96,0,48,0,24,0,8,0,0,0,30,0,99,0, - 65,128,97,128,33,128,15,128,113,128,193,128,195,160,195,160, - 197,160,121,192,11,18,36,13,1,0,1,128,3,128,3,0, - 4,0,8,0,0,0,62,0,65,0,65,128,97,128,33,128, - 15,128,113,128,193,128,193,160,195,160,197,160,120,192,11,18, - 36,13,1,0,8,0,12,0,28,0,50,0,65,0,0,0, - 30,0,99,0,65,128,97,128,33,128,15,128,113,128,193,128, - 195,160,195,160,197,160,121,192,11,17,34,13,1,0,56,128, - 79,0,0,0,0,0,0,0,30,0,99,0,65,128,97,128, - 33,128,15,128,113,128,193,128,195,160,195,160,197,160,121,192, - 11,17,34,13,1,0,99,0,99,0,1,0,0,0,0,0, - 60,0,67,0,67,0,99,0,3,0,15,0,115,0,195,0, - 195,32,199,32,203,32,121,192,11,18,36,13,1,0,28,0, - 34,0,34,0,34,0,28,0,0,0,60,0,67,0,67,0, - 99,0,35,0,15,0,115,0,195,0,195,32,199,32,199,32, - 121,192,16,12,24,18,1,0,30,120,99,198,65,134,97,131, - 1,131,31,255,97,128,193,128,195,129,195,130,196,194,120,124, - 9,18,36,11,1,250,30,0,33,0,96,128,193,128,193,128, - 192,0,192,0,192,0,192,0,96,128,33,0,30,0,8,0, - 12,0,2,0,3,0,3,0,30,0,9,18,36,12,1,0, - 96,0,112,0,48,0,8,0,0,0,0,0,30,0,35,0, - 97,128,193,128,193,128,255,128,192,0,192,0,192,128,96,128, - 33,0,30,0,9,18,36,12,1,0,1,0,3,0,2,0, - 4,0,8,0,0,0,30,0,35,0,97,128,193,128,193,128, - 255,128,192,0,192,0,192,128,96,128,33,0,30,0,9,18, - 36,12,1,0,8,0,12,0,28,0,18,0,33,0,0,0, - 30,0,35,0,97,128,193,128,193,128,255,128,192,0,192,0, - 192,128,96,128,33,0,30,0,9,17,34,12,1,0,51,0, - 51,0,1,0,0,0,0,0,30,0,35,0,97,128,193,128, - 193,128,255,128,192,0,192,0,192,128,96,128,33,0,30,0, - 7,18,18,8,0,0,192,224,96,16,8,0,120,24,24,24, - 24,24,24,24,24,24,24,126,6,18,18,7,1,0,4,12, - 24,16,32,0,240,48,48,48,48,48,48,48,48,48,48,252, - 8,17,17,8,0,0,24,56,36,195,0,120,24,24,24,24, - 24,24,24,24,24,24,126,7,17,17,9,1,0,4,198,198, - 0,0,120,24,24,24,24,24,24,24,24,24,24,124,10,18, - 36,13,1,0,56,128,27,0,12,0,22,0,35,0,3,0, - 31,128,33,128,97,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,33,128,30,0,13,17,34,15,1,0,14,64, - 19,192,0,0,0,0,0,0,243,192,52,192,56,96,56,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,253,248, - 10,18,36,13,1,0,96,0,48,0,16,0,8,0,4,0, - 0,0,30,0,33,128,97,128,192,192,192,192,192,192,192,192, - 192,192,192,192,97,128,33,128,30,0,10,18,36,13,1,0, - 1,128,3,128,3,0,4,0,0,0,0,0,30,0,33,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, - 33,128,30,0,10,18,36,13,1,0,4,0,12,0,14,0, - 18,0,33,0,0,0,30,0,33,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,33,128,30,0,10,17, - 34,13,1,0,60,128,47,0,0,0,0,0,0,0,30,0, - 33,128,97,128,192,192,192,192,192,192,192,192,192,192,192,192, - 97,128,33,128,30,0,10,17,34,13,1,0,49,128,49,128, - 1,0,0,0,0,0,30,0,33,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,33,128,30,0,22,16, - 48,24,1,255,0,112,0,0,112,0,0,112,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,255,252,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,112, - 0,0,112,0,10,12,24,13,1,0,30,64,33,128,96,128, - 193,192,194,192,196,192,200,192,208,192,208,192,97,128,97,128, - 158,0,13,18,36,14,0,0,16,0,24,0,12,0,4,0, - 2,0,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,18,36,14, - 0,0,0,192,0,192,1,128,2,0,0,0,0,0,241,224, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,224, - 48,224,57,96,30,120,13,18,36,14,0,0,2,0,6,0, - 5,0,8,128,16,0,0,0,241,224,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,224,48,224,57,96,30,120, - 13,17,34,14,0,0,24,192,24,192,0,0,0,0,0,0, - 240,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,224,48,224,57,96,30,120,13,24,48,14,0,250,0,96, - 0,224,0,192,1,0,0,0,0,0,252,248,56,32,24,32, - 24,64,12,64,12,64,12,128,6,128,6,128,7,0,3,0, - 3,0,3,0,2,0,34,0,98,0,100,0,56,0,11,24, - 48,14,1,250,48,0,240,0,48,0,48,0,48,0,48,0, - 49,192,54,224,52,96,56,96,56,96,48,96,48,192,48,192, - 49,128,49,0,50,0,60,0,48,0,48,0,48,0,48,0, - 48,0,96,0,13,23,46,14,0,250,8,64,12,96,12,96, - 0,0,0,0,252,120,24,32,24,32,24,64,12,64,12,64, - 14,128,6,128,6,128,7,0,3,0,3,0,2,0,2,0, - 34,0,114,0,100,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y= 8 dx=24 dy= 0 ascent=18 len=66 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =18 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18n[595] U8G_SECTION(".progmem.u8g_font_osr18n") = { - 0,68,33,235,248,18,0,0,0,0,42,57,0,18,250,18, - 0,10,10,20,14,2,8,12,0,12,0,204,192,201,192,42, - 0,30,0,235,192,201,192,12,0,12,0,22,22,66,24,1, - 252,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,255, - 255,252,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,3,8,8,7,2,252,192,224,224,32,32,64,64, - 128,7,1,1,11,2,6,254,3,3,3,7,2,0,224,224, - 224,8,24,24,12,2,250,1,1,2,2,2,4,4,4,12, - 8,8,24,16,16,16,32,32,32,64,64,64,128,128,128,12, - 18,36,15,1,0,15,0,16,192,32,64,96,96,96,32,192, - 48,192,48,192,48,192,48,192,48,192,48,192,48,192,48,96, - 32,96,96,32,64,16,192,15,0,9,18,36,15,3,0,8, - 0,8,0,24,0,248,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,255,128,10,18,36,15,2,0,30,0,99,128,129,192,128, - 192,128,192,224,192,240,192,32,192,1,128,3,0,6,0,8, - 0,16,0,32,0,64,64,192,64,255,192,255,192,11,18,36, - 15,2,0,63,0,97,128,192,192,224,192,240,192,0,192,0, - 192,1,128,62,0,1,128,0,192,0,96,96,96,240,96,240, - 96,192,192,65,128,63,0,12,18,36,15,2,0,1,0,3, - 0,3,0,7,0,15,0,11,0,19,0,51,0,35,0,67, - 0,195,0,131,0,255,224,3,0,3,0,3,0,3,0,31, - 240,11,18,36,15,2,0,96,192,127,128,126,0,64,0,64, - 0,64,0,95,0,97,128,64,192,64,224,0,96,0,96,96, - 96,240,96,224,192,192,192,65,128,62,0,11,18,36,15,2, - 0,15,0,24,128,48,64,96,192,96,192,64,0,192,0,207, - 0,209,192,224,192,224,224,224,96,224,96,224,96,96,224,96, - 192,49,128,15,0,10,18,36,15,3,0,255,192,255,192,128, - 64,128,64,128,128,0,128,1,0,1,0,2,0,6,0,6, - 0,12,0,12,0,30,0,30,0,30,0,30,0,14,0,12, - 18,36,15,2,0,31,128,48,224,96,96,192,48,192,48,224, - 48,240,32,124,64,63,128,55,224,96,240,192,112,192,48,192, - 48,192,48,96,96,112,192,31,128,11,18,36,15,2,0,30, - 0,49,128,96,192,224,192,192,64,192,96,192,96,192,224,96, - 224,113,96,30,96,0,96,0,64,96,192,96,192,64,128,65, - 0,62,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 3 y=13 dx=28 dy= 0 ascent=20 len=72 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =19 descent=-6 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_SECTION(".progmem.u8g_font_osr18r") = { - 0,68,33,235,248,18,4,197,10,125,32,127,250,20,250,19, - 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, - 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, - 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, - 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, - 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, - 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, - 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, - 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, - 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, - 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, - 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, - 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, - 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, - 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, - 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, - 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, - 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, - 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, - 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, - 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, - 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, - 192,42,0,30,0,235,192,201,192,12,0,12,0,22,22,66, - 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, - 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, - 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, - 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, - 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, - 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, - 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, - 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, - 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, - 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, - 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, - 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, - 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, - 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, - 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, - 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, - 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, - 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, - 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, - 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, - 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, - 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, - 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, - 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, - 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, - 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, - 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, - 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,8,2,252,96,240,240, - 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, - 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, - 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, - 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, - 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, - 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, - 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, - 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, - 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, - 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, - 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, - 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, - 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, - 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, - 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, - 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, - 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, - 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, - 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, - 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, - 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, - 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, - 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, - 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, - 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, - 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, - 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, - 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, - 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, - 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, - 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, - 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, - 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, - 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, - 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, - 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, - 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, - 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, - 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, - 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, - 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, - 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, - 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, - 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, - 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, - 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, - 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, - 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, - 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, - 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, - 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, - 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, - 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, - 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, - 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, - 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, - 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, - 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, - 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, - 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, - 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, - 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, - 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, - 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, - 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, - 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, - 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, - 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, - 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, - 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, - 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, - 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, - 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, - 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, - 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, - 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, - 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, - 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, - 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, - 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, - 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, - 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, - 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, - 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, - 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, - 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, - 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, - 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, - 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, - 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, - 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, - 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, - 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, - 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, - 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, - 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, - 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, - 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, - 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, - 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, - 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, - 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, - 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, - 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, - 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, - 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, - 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, - 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, - 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, - 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, - 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, - 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, - 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, - 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, - 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, - 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, - 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, - 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, - 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, - 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, - 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, - 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, - 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, - 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, - 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, - 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, - 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, - 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, - 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, - 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, - 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, - 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, - 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, - 64,124,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-154-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=29 h=28 x= 6 y=17 dx=32 dy= 0 ascent=28 len=88 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =22 descent=-7 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_SECTION(".progmem.u8g_font_osr21") = { - 0,76,38,232,247,21,5,131,12,189,32,255,249,28,248,22, - 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, - 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, - 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, - 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, - 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, - 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, - 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, - 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, - 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, - 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, - 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, - 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, - 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, - 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, - 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, - 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, - 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, - 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, - 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, - 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, - 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, - 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, - 24,14,2,9,12,0,14,0,204,64,228,192,53,0,14,0, - 63,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, - 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, - 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, - 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, - 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, - 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, - 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, - 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, - 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, - 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, - 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, - 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, - 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, - 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, - 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, - 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, - 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, - 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, - 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, - 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,79, - 0,112,192,64,96,64,96,0,112,0,112,0,112,96,112,240, - 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, - 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, - 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, - 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, - 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, - 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, - 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, - 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, - 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, - 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, - 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, - 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, - 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, - 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, - 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, - 240,240,16,16,16,32,64,22,24,72,27,2,251,0,0,12, - 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, - 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, - 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, - 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, - 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, - 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, - 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, - 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, - 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, - 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, - 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, - 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, - 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, - 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, - 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, - 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, - 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, - 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, - 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, - 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, - 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, - 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, - 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, - 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, - 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, - 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, - 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, - 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, - 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, - 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, - 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, - 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, - 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, - 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, - 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, - 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, - 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, - 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, - 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, - 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, - 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, - 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, - 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, - 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, - 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, - 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, - 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, - 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, - 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, - 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, - 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, - 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, - 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, - 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, - 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, - 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, - 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, - 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, - 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, - 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, - 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, - 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, - 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, - 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, - 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, - 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, - 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, - 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, - 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, - 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, - 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, - 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, - 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, - 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, - 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, - 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, - 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, - 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, - 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, - 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, - 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, - 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, - 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, - 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, - 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, - 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, - 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, - 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, - 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, - 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, - 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, - 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, - 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, - 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, - 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, - 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, - 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, - 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, - 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, - 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, - 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, - 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, - 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, - 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, - 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, - 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, - 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, - 56,56,56,56,48,56,48,56,48,56,32,44,96,35,192,10, - 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, - 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, - 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, - 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, - 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, - 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, - 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, - 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, - 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, - 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, - 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, - 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, - 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, - 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, - 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, - 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, - 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, - 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, - 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, - 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, - 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, - 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, - 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, - 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, - 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, - 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, - 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, - 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, - 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, - 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, - 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, - 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, - 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, - 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, - 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, - 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, - 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, - 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, - 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, - 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, - 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, - 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, - 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, - 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, - 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, - 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, - 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, - 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, - 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, - 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, - 2,126,1,143,193,131,241,128,255,64,62,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,8, - 0,0,4,21,21,8,2,249,96,240,240,96,0,64,64,96, - 96,96,96,96,96,96,96,240,240,240,240,240,96,10,21,42, - 17,3,253,4,0,4,0,4,0,4,0,31,0,52,128,100, - 64,100,192,229,192,228,128,228,0,228,0,228,0,228,0,100, - 64,100,64,52,128,31,0,4,0,4,0,4,0,16,21,42, - 21,2,0,0,60,0,194,0,131,1,135,1,135,3,130,3, - 128,3,128,3,128,63,128,3,240,3,128,3,128,3,128,3, - 0,3,0,123,1,142,1,135,3,135,254,120,252,13,13,26, - 17,2,4,143,136,112,112,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,64,16,96,48,112,112,143,136,16,21,42, - 17,1,0,252,63,56,8,56,8,24,16,28,16,28,32,14, - 32,14,64,6,64,7,128,3,128,63,248,3,128,3,128,63, - 248,3,128,3,128,3,128,3,128,3,128,31,240,1,27,27, - 8,4,251,128,128,128,128,128,128,128,128,128,128,128,0,0, - 0,0,0,128,128,128,128,128,128,128,128,128,128,128,11,27, - 54,19,3,250,30,0,49,0,97,128,99,128,97,0,112,0, - 56,0,60,0,62,0,79,0,131,128,129,192,128,224,192,96, - 224,32,112,32,56,64,28,128,15,0,7,0,3,0,1,128, - 33,128,113,128,97,128,35,0,28,0,8,3,3,12,2,16, - 195,231,195,21,22,66,23,1,0,0,32,0,3,222,0,12, - 1,128,24,0,192,48,114,96,33,142,32,67,6,16,67,2, - 16,135,2,8,135,0,8,135,0,8,135,0,8,135,0,8, - 135,0,8,135,2,8,67,2,16,67,4,16,33,132,32,48, - 120,96,24,0,192,12,1,128,3,222,0,8,9,9,12,2, - 12,120,196,12,52,68,197,205,118,254,7,12,12,14,3,1, - 16,34,98,68,196,196,196,196,196,66,34,16,14,6,12,16, - 1,5,255,252,0,4,0,4,0,4,0,4,0,4,7,2, - 2,11,2,7,254,254,21,22,66,23,1,0,0,32,0,3, - 222,0,12,1,128,24,0,192,63,248,96,35,140,32,67,142, - 16,67,142,16,131,142,8,131,140,8,131,240,8,131,140,8, - 131,140,8,131,142,8,131,142,72,67,142,80,67,134,80,47, - 195,160,48,0,96,24,0,192,12,1,128,3,222,0,8,1, - 1,14,3,17,255,8,8,8,16,4,13,60,66,129,129,129, - 129,66,60,24,21,63,26,1,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,255,255,255,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,0,8,0,0,8,0,0,8,0,0, - 0,0,0,0,0,255,255,255,8,13,13,13,3,8,60,198, - 135,199,231,6,12,24,48,65,193,255,255,9,13,26,13,3, - 8,60,0,70,0,67,0,99,0,3,0,6,0,120,0,7, - 0,3,0,227,128,227,0,135,0,124,0,5,5,5,13,6, - 16,24,56,48,96,128,15,22,44,18,2,248,192,64,192,96, - 224,224,192,224,192,224,192,96,192,96,192,96,64,96,64,64, - 64,66,192,194,177,190,143,12,128,0,128,0,192,0,192,0, - 192,0,224,0,224,0,96,0,12,26,52,16,2,251,31,240, - 124,64,252,64,252,64,252,64,252,64,252,64,124,64,60,64, - 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, - 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, - 4,64,4,4,4,8,2,8,96,240,240,96,6,7,7,13, - 3,250,32,32,48,8,12,140,120,6,12,12,13,4,9,16, - 48,240,48,48,48,48,48,48,48,48,252,7,10,10,11,2, - 11,56,68,198,198,198,198,198,68,56,254,8,12,12,14,3, - 1,8,132,70,66,35,35,35,35,34,70,68,8,19,21,63, - 25,4,0,16,3,0,48,2,0,240,4,0,48,4,0,48, - 8,0,48,8,0,48,16,0,48,48,0,48,32,0,48,65, - 128,48,67,128,48,131,128,252,133,128,1,9,128,3,9,128, - 2,17,128,4,31,224,4,1,128,8,1,128,8,1,128,16, - 7,224,19,21,63,25,4,0,16,2,0,48,2,0,240,4, - 0,48,4,0,48,8,0,48,16,0,48,16,0,48,32,0, - 48,39,128,48,72,192,48,80,224,48,144,224,252,156,224,1, - 12,192,2,0,192,2,1,0,4,6,0,4,12,32,8,8, - 32,8,31,224,16,31,224,20,21,63,25,3,0,60,1,0, - 70,1,0,67,2,0,99,2,0,3,4,0,6,12,0,120, - 8,0,7,16,0,3,16,0,227,160,192,227,33,192,135,65, - 192,124,130,192,0,132,192,1,4,192,1,8,192,2,15,240, - 2,0,192,4,0,192,8,0,192,8,3,240,11,21,42,14, - 1,249,12,0,30,0,30,0,12,0,0,0,14,0,17,0, - 17,0,17,0,2,0,6,0,28,0,56,0,112,0,224,192, - 225,224,225,224,224,32,96,32,112,64,31,128,20,28,84,22, - 1,0,3,0,0,3,128,0,1,128,0,0,192,0,0,64, - 0,0,0,0,0,0,0,0,32,0,0,96,0,0,96,0, - 0,112,0,0,240,0,0,240,0,0,184,0,1,56,0,1, - 56,0,3,28,0,3,28,0,2,28,0,6,14,0,6,14, - 0,7,254,0,12,7,0,12,7,0,8,7,0,24,3,128, - 24,3,128,255,31,240,20,28,84,22,1,0,0,4,0,0, - 12,0,0,24,0,0,48,0,0,32,0,0,0,0,0,0, - 0,0,32,0,0,96,0,0,96,0,0,112,0,0,240,0, - 0,240,0,1,184,0,1,56,0,1,56,0,3,28,0,3, - 28,0,2,28,0,6,14,0,6,14,0,7,254,0,12,7, - 0,12,7,0,8,7,0,24,3,128,24,3,128,255,31,240, - 20,28,84,22,1,0,0,32,0,0,96,0,0,240,0,1, - 152,0,3,4,0,0,0,0,0,0,0,0,32,0,0,96, - 0,0,96,0,0,112,0,0,240,0,0,240,0,0,184,0, - 1,56,0,1,56,0,3,28,0,3,28,0,2,28,0,6, - 14,0,6,14,0,7,254,0,12,7,0,12,7,0,8,7, - 0,24,3,128,24,3,128,255,31,240,20,27,81,22,1,0, - 1,228,0,3,252,0,2,56,0,0,0,0,0,0,0,0, - 0,0,0,32,0,0,96,0,0,96,0,0,112,0,0,240, - 0,0,240,0,0,184,0,1,184,0,1,56,0,3,28,0, - 3,28,0,2,28,0,6,14,0,6,14,0,7,254,0,12, - 7,0,12,7,0,8,7,0,24,3,128,24,3,128,255,31, - 240,19,27,81,22,2,0,6,24,0,7,28,0,6,24,0, - 0,0,0,0,0,0,0,0,0,0,64,0,0,192,0,0, - 224,0,0,224,0,1,224,0,1,224,0,1,112,0,3,112, - 0,2,48,0,2,56,0,6,56,0,4,24,0,4,28,0, - 12,28,0,15,252,0,8,14,0,24,14,0,24,6,0,24, - 7,0,56,7,0,254,31,224,20,28,84,23,2,0,0,96, - 0,1,152,0,1,8,0,1,8,0,1,152,0,0,96,0, - 0,0,0,0,96,0,0,96,0,0,96,0,0,240,0,0, - 240,0,0,240,0,1,184,0,1,56,0,1,56,0,3,28, - 0,2,28,0,2,28,0,6,14,0,4,14,0,15,254,0, - 8,7,0,8,7,0,24,7,0,24,3,128,56,3,128,255, - 31,240,27,21,84,30,1,0,0,63,255,224,0,15,0,224, - 0,15,0,96,0,31,0,96,0,23,0,32,0,55,0,32, - 0,39,8,32,0,103,8,0,0,71,8,0,0,199,24,0, - 0,135,248,0,1,7,24,0,3,7,8,0,2,7,8,32, - 7,255,8,32,4,7,0,32,12,7,0,32,8,7,0,96, - 24,7,0,96,56,7,1,224,255,63,255,224,15,28,56,19, - 2,250,15,226,16,54,48,30,32,14,96,6,96,6,224,6, - 224,2,224,0,224,0,224,0,224,0,224,0,224,2,96,2, - 96,2,96,4,32,4,48,12,24,8,6,112,1,128,1,0, - 1,192,0,96,0,112,8,96,7,192,17,28,84,20,2,0, - 4,0,0,6,0,0,3,0,0,1,0,0,0,128,0,0, - 0,0,0,0,0,255,255,128,28,3,128,28,3,128,28,1, - 128,28,1,128,28,0,128,28,32,128,28,32,0,28,32,0, - 28,96,0,31,224,0,28,96,0,28,32,0,28,32,128,28, - 32,128,28,0,128,28,1,128,28,1,128,28,3,128,28,7, - 128,255,255,128,17,28,84,20,2,0,0,24,0,0,56,0, - 0,48,0,0,96,0,0,128,0,0,0,0,0,0,0,255, - 255,128,28,3,128,28,3,128,28,1,128,28,1,128,28,0, - 128,28,32,128,28,32,0,28,32,0,28,96,0,31,224,0, - 28,96,0,28,32,0,28,32,128,28,32,128,28,0,128,28, - 1,128,28,1,128,28,3,128,28,7,128,255,255,128,17,28, - 84,20,2,0,0,128,0,0,192,0,1,192,0,2,32,0, - 4,24,0,0,0,0,0,0,0,255,255,128,28,3,128,28, - 3,128,28,1,128,28,1,128,28,0,128,28,32,128,28,32, - 0,28,32,0,28,96,0,31,224,0,28,96,0,28,32,0, - 28,32,128,28,32,128,28,0,128,28,1,128,28,1,128,28, - 3,128,28,7,128,255,255,128,17,27,81,20,2,0,6,48, - 0,7,56,0,6,48,0,0,0,0,0,0,0,0,0,0, - 255,255,128,28,7,128,28,3,128,28,1,128,28,1,128,28, - 1,128,28,32,128,28,32,0,28,32,0,28,96,0,31,224, - 0,28,96,0,28,32,0,28,32,128,28,32,128,28,1,0, - 28,1,128,28,1,128,28,3,128,28,7,128,255,255,128,8, - 28,28,12,2,0,192,224,96,48,24,0,0,255,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 255,9,28,56,12,2,0,1,0,3,0,6,0,4,0,8, - 0,0,0,0,0,255,128,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,8, - 28,28,12,2,0,8,24,28,38,193,0,0,255,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 255,9,27,54,11,2,0,195,0,227,128,195,0,0,0,0, - 0,0,0,255,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,0,19,21,63, - 22,2,0,255,248,0,28,6,0,28,3,0,28,1,128,28, - 1,192,28,0,192,28,0,192,28,0,224,28,0,224,255,128, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,192, - 28,0,192,28,1,128,28,1,128,28,3,0,28,6,0,255, - 248,0,20,27,81,23,2,0,1,226,0,3,254,0,2,28, - 0,0,0,0,0,0,0,0,0,0,252,7,240,28,0,128, - 30,0,128,31,0,128,23,0,128,19,128,128,19,192,128,17, - 192,128,16,224,128,16,240,128,16,112,128,16,56,128,16,56, - 128,16,28,128,16,30,128,16,14,128,16,7,128,16,7,128, - 16,3,128,16,1,128,254,1,128,17,28,84,20,2,0,12, - 0,0,14,0,0,6,0,0,3,0,0,1,128,0,0,0, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,28,84,20,2,0,0,24,0,0,56,0,0, - 112,0,0,64,0,0,128,0,0,0,0,0,128,0,7,112, - 0,24,8,0,16,12,0,48,6,0,96,6,0,96,3,0, - 96,3,0,224,3,0,224,3,0,224,3,0,224,3,128,224, - 3,128,224,3,0,224,3,0,96,3,0,96,3,0,96,6, - 0,48,6,0,16,12,0,24,8,0,7,240,0,17,28,84, - 20,2,0,0,128,0,1,128,0,3,192,0,6,32,0,12, - 16,0,0,8,0,0,128,0,7,112,0,24,8,0,16,12, - 0,48,6,0,96,6,0,96,3,0,96,3,0,224,3,0, - 224,3,0,224,3,0,224,3,128,224,3,128,224,3,0,224, - 3,0,96,3,0,96,3,0,96,6,0,48,6,0,16,12, - 0,24,8,0,7,240,0,17,27,81,20,2,0,7,136,0, - 15,248,0,8,112,0,0,0,0,0,0,0,0,128,0,7, - 112,0,24,8,0,16,12,0,48,6,0,96,6,0,96,3, - 0,96,3,0,224,3,0,224,3,0,224,3,0,224,3,128, - 224,3,128,224,3,0,224,3,0,96,3,0,96,3,0,96, - 6,0,48,6,0,16,12,0,24,8,0,7,240,0,17,27, - 81,20,2,0,12,48,0,14,56,0,12,48,0,0,0,0, - 0,0,0,0,128,0,7,112,0,24,8,0,16,12,0,48, - 6,0,96,6,0,96,3,0,96,3,0,224,3,0,224,3, - 0,224,3,0,224,3,128,224,3,128,224,3,0,224,3,0, - 96,3,0,96,3,0,96,6,0,48,6,0,16,12,0,24, - 8,0,7,240,0,18,18,54,27,5,255,128,0,192,192,1, - 128,96,3,0,48,6,0,24,12,0,12,24,0,6,48,0, - 3,96,0,1,192,0,1,192,0,3,96,0,6,48,0,12, - 24,0,24,12,0,48,6,0,96,3,0,64,1,128,128,0, - 192,17,21,63,20,2,1,7,241,0,8,15,0,16,14,0, - 48,6,0,96,14,0,96,27,0,96,19,0,224,35,0,224, - 99,0,224,195,128,225,131,128,225,3,0,226,3,0,230,3, - 0,236,3,0,104,3,0,112,6,0,112,6,0,112,12,0, - 88,8,0,143,240,0,20,28,84,23,2,0,3,0,0,3, - 128,0,1,128,0,0,192,0,0,32,0,0,0,0,0,0, - 0,255,7,240,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,12,0,128,12,1,0,6,2,0,3,252,0, - 20,28,84,23,2,0,0,4,0,0,12,0,0,24,0,0, - 16,0,0,32,0,0,0,0,0,0,0,255,7,240,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,12,0, - 128,12,1,0,6,2,0,3,252,0,20,28,84,23,2,0, - 0,32,0,0,96,0,0,112,0,0,136,0,3,4,0,0, - 0,0,0,0,0,255,7,240,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,12,1,128,12,1,0,6,2, - 0,3,252,0,20,27,81,23,2,0,1,134,0,3,142,0, - 1,134,0,0,0,0,0,0,0,0,0,0,255,131,240,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,12, - 0,128,12,1,0,6,2,0,3,252,0,19,28,84,21,1, - 0,0,4,0,0,12,0,0,24,0,0,16,0,0,32,0, - 0,0,0,0,0,0,255,143,224,30,3,128,14,3,0,14, - 2,0,7,2,0,7,4,0,3,132,0,1,200,0,1,200, - 0,0,240,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,254,0,17,21,63,20,2,0,255,128,0,28,0, - 0,28,0,0,31,240,0,28,12,0,28,6,0,28,3,0, - 28,3,0,28,3,128,28,3,128,28,3,0,28,3,0,28, - 6,0,28,12,0,31,240,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,255,128,0,13,21,42,15,1,0, - 7,192,12,96,24,112,56,112,56,112,56,96,56,192,59,0, - 56,192,56,96,56,48,56,48,56,56,56,56,56,56,56,56, - 58,56,63,56,62,48,60,48,251,192,13,21,42,15,1,0, - 96,0,96,0,48,0,24,0,8,0,4,0,0,0,31,0, - 97,128,65,192,97,192,113,192,1,192,15,192,49,192,97,192, - 193,192,193,200,195,200,196,216,56,240,13,21,42,15,1,0, - 0,192,1,192,1,128,3,0,6,0,4,0,0,0,31,0, - 33,128,96,192,112,192,112,192,0,192,7,192,56,192,96,192, - 224,192,224,200,225,200,226,216,60,112,13,21,42,15,1,0, - 4,0,12,0,14,0,26,0,17,0,32,128,0,0,31,0, - 33,128,97,192,113,192,113,192,1,192,15,192,49,192,97,192, - 225,192,225,200,225,200,226,216,60,240,13,20,40,15,1,0, - 24,0,63,128,71,128,0,0,0,0,0,0,31,0,33,128, - 97,192,113,192,113,192,1,192,15,192,49,192,97,192,225,192, - 225,200,225,200,226,216,60,240,13,20,40,15,1,0,97,128, - 97,192,97,128,0,0,0,0,0,0,30,0,97,128,64,128, - 96,128,96,192,0,192,15,192,48,192,96,192,192,192,193,200, - 194,200,194,216,60,112,13,21,42,15,1,0,14,0,49,0, - 33,0,33,0,19,0,14,0,0,0,30,0,33,128,97,128, - 97,128,113,192,1,192,15,192,113,192,97,192,225,192,225,200, - 227,200,229,216,120,240,18,14,42,20,1,0,31,30,0,97, - 227,0,65,227,0,97,193,128,113,193,128,1,193,128,15,255, - 192,113,192,0,65,192,0,193,192,128,193,192,128,194,224,128, - 194,97,0,60,62,0,10,20,40,12,1,250,31,0,48,128, - 96,192,96,192,225,192,224,128,224,0,224,0,224,0,224,64, - 96,64,96,128,48,128,31,0,8,0,12,0,3,0,3,0, - 3,0,30,0,10,21,42,13,1,0,96,0,112,0,56,0, - 24,0,4,0,0,0,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,21,42,13,1,0,0,192,1,192,1,128, - 3,0,6,0,0,0,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,21,42,13,1,0,4,0,4,0,14,0, - 11,0,17,0,32,128,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,20,40,13,1,0,49,128,113,192,49,128, - 0,0,0,0,0,0,30,0,49,128,97,128,96,192,224,192, - 224,192,255,192,224,0,224,0,224,64,96,64,96,64,48,128, - 31,0,7,21,21,8,0,0,192,192,96,48,24,0,0,124, - 28,28,28,28,28,28,28,28,28,28,28,28,126,7,21,21, - 8,1,0,6,14,12,24,16,0,0,248,56,56,56,56,56, - 56,56,56,56,56,56,56,252,7,20,20,9,1,0,48,48, - 104,132,2,0,248,56,56,56,56,56,56,56,56,56,56,56, - 56,252,8,19,19,9,1,0,198,231,198,0,0,124,28,28, - 28,28,28,28,28,28,28,28,28,28,126,12,21,42,14,1, - 0,56,64,29,128,14,0,15,0,19,0,33,128,1,192,15, - 192,48,224,96,224,96,96,224,96,224,112,224,112,224,96,224, - 96,224,96,96,96,96,192,48,128,15,0,14,20,40,16,1, - 0,14,32,15,32,19,192,16,192,0,0,0,0,249,192,62, - 96,60,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,252,252,12,21,42,14,1,0,32, - 0,48,0,24,0,8,0,4,0,0,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,0, - 192,1,192,1,128,3,0,2,0,4,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,4, - 0,6,0,14,0,11,0,16,128,32,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,20,40,14,1,0,28, - 64,63,192,39,128,0,0,0,0,0,0,15,0,48,128,96, - 192,96,96,224,96,224,96,224,112,224,112,224,96,224,96,96, - 96,96,192,48,128,15,0,12,20,40,14,1,0,48,192,57, - 192,48,192,0,0,0,0,0,0,15,0,48,128,96,192,96, - 96,224,96,224,96,224,112,224,112,224,96,224,96,96,96,96, - 192,48,128,15,0,24,19,57,26,1,254,0,24,0,0,60, - 0,0,60,0,0,24,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,24,0,0,60,0,0,60, - 0,0,24,0,12,14,28,14,1,0,15,32,48,160,96,192, - 96,224,225,96,227,96,226,112,228,112,232,96,240,96,96,96, - 96,192,112,128,143,0,14,21,42,16,1,0,24,0,24,0, - 12,0,6,0,2,0,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,21,42,16,1,0,0,96,0,224, - 0,192,1,128,1,0,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,21,42,16,1,0,2,0,3,0, - 7,0,4,128,8,64,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,20,40,16,1,0,24,96,28,224, - 24,96,0,0,0,0,0,0,248,240,56,112,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,240, - 25,112,14,124,14,28,56,15,0,249,0,48,0,112,0,96, - 0,192,1,128,0,0,0,0,254,124,24,16,24,16,28,16, - 12,32,12,32,14,32,6,64,6,64,6,64,3,128,3,128, - 3,128,1,128,1,0,1,0,1,0,98,0,114,0,100,0, - 56,0,12,28,56,14,1,249,56,0,248,0,56,0,56,0, - 56,0,56,0,56,0,57,224,62,112,60,112,56,112,56,112, - 56,112,56,96,56,96,56,192,56,128,57,128,58,0,60,0, - 56,0,56,0,56,0,56,0,56,0,56,0,48,0,192,0, - 14,26,52,15,0,249,12,48,14,112,12,48,0,0,0,0, - 254,60,24,16,24,16,28,32,12,32,12,32,14,32,6,64, - 6,64,7,64,3,128,3,128,3,128,1,0,1,0,1,0, - 1,0,114,0,114,0,116,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-154-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=24 h=28 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21n[702] U8G_SECTION(".progmem.u8g_font_osr21n") = { - 0,76,38,232,247,21,0,0,0,0,42,57,0,22,250,21, - 0,10,12,24,14,2,9,12,0,14,0,204,64,228,192,53, - 0,14,0,63,0,229,192,196,192,12,0,14,0,12,0,24, - 25,75,26,1,252,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,0,8,0,255,255,255,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 4,8,8,8,2,251,224,240,240,16,16,16,32,64,7,2, - 2,11,2,7,254,254,4,4,4,8,2,0,96,240,240,96, - 9,28,56,13,2,250,0,128,0,128,1,128,1,0,1,0, - 1,0,2,0,2,0,2,0,6,0,4,0,4,0,12,0, - 8,0,8,0,24,0,16,0,16,0,16,0,32,0,32,0, - 32,0,64,0,64,0,64,0,192,0,128,0,128,0,14,21, - 42,17,1,0,7,128,24,64,48,32,32,48,96,16,96,24, - 96,24,224,24,224,24,224,24,224,28,224,28,224,24,224,24, - 224,24,96,24,96,24,96,48,48,32,16,96,15,192,10,21, - 42,17,3,0,2,0,6,0,6,0,14,0,254,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,255,192,12,21, - 42,17,2,0,31,0,32,192,64,96,128,112,128,112,192,112, - 240,112,112,112,32,96,0,224,0,192,1,0,6,0,12,0, - 24,0,48,16,96,16,64,16,224,112,255,240,255,240,12,21, - 42,17,2,0,31,0,97,192,192,224,224,96,240,96,112,112, - 0,96,0,96,0,224,48,192,63,0,0,192,0,96,0,112, - 0,112,96,112,240,112,240,112,192,96,192,192,127,128,14,21, - 42,17,2,0,0,64,0,192,1,192,1,192,3,192,7,192, - 5,192,13,192,9,192,17,192,49,192,33,192,65,192,193,192, - 255,252,1,192,1,192,1,192,1,192,1,192,15,252,12,21, - 42,17,2,0,96,64,127,128,127,0,64,0,64,0,64,0, - 64,0,79,0,112,192,64,96,64,96,0,112,0,112,0,112, - 96,112,240,112,240,112,224,96,192,224,64,192,63,128,12,21, - 42,17,2,0,7,128,24,64,16,96,48,224,96,224,96,192, - 96,0,224,0,231,128,232,192,240,96,240,96,224,112,224,112, - 224,112,224,112,96,112,96,96,112,96,48,192,31,128,11,21, - 42,17,3,0,255,224,255,224,192,32,128,32,128,64,128,64, - 0,64,0,128,1,0,1,0,2,0,6,0,6,0,12,0, - 12,0,12,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,17,2,0,15,128,48,96,96,48,224,24,224,24,224,24, - 224,24,240,16,124,32,63,192,15,224,51,240,96,248,224,56, - 224,28,224,28,224,24,224,24,96,24,112,48,31,192,12,21, - 42,17,2,0,15,0,48,128,96,64,96,96,224,96,224,96, - 224,112,224,112,224,112,96,112,96,240,49,176,14,48,0,48, - 0,32,48,96,112,96,112,64,96,192,96,128,63,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-154-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=29 h=28 x= 4 y=17 dx=32 dy= 0 ascent=23 len=88 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =22 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_SECTION(".progmem.u8g_font_osr21r") = { - 0,76,38,232,247,21,5,131,12,189,32,127,249,23,249,22, - 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, - 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, - 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, - 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, - 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, - 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, - 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, - 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, - 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, - 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, - 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, - 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, - 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, - 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, - 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, - 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, - 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, - 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, - 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, - 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, - 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, - 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, - 24,14,2,9,12,0,14,0,204,64,228,192,53,0,14,0, - 63,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, - 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, - 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, - 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, - 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, - 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, - 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, - 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, - 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, - 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, - 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, - 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, - 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, - 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, - 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, - 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, - 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, - 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, - 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, - 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,79, - 0,112,192,64,96,64,96,0,112,0,112,0,112,96,112,240, - 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, - 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, - 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, - 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, - 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, - 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, - 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, - 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, - 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, - 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, - 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, - 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, - 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, - 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, - 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, - 240,240,16,16,16,32,64,22,24,72,27,2,251,0,0,12, - 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, - 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, - 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, - 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, - 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, - 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, - 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, - 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, - 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, - 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, - 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, - 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, - 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, - 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, - 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, - 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, - 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, - 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, - 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, - 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, - 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, - 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, - 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, - 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, - 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, - 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, - 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, - 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, - 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, - 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, - 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, - 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, - 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, - 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, - 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, - 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, - 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, - 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, - 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, - 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, - 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, - 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, - 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, - 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, - 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, - 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, - 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, - 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, - 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, - 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, - 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, - 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, - 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, - 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, - 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, - 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, - 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, - 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, - 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, - 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, - 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, - 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, - 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, - 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, - 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, - 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, - 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, - 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, - 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, - 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, - 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, - 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, - 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, - 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, - 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, - 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, - 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, - 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, - 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, - 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, - 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, - 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, - 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, - 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, - 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, - 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, - 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, - 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, - 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, - 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, - 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, - 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, - 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, - 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, - 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, - 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, - 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, - 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, - 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, - 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, - 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, - 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, - 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, - 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, - 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, - 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, - 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, - 56,56,56,56,48,56,48,56,48,56,32,44,96,35,192,10, - 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, - 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, - 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, - 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, - 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, - 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, - 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, - 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, - 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, - 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, - 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, - 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, - 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, - 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, - 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, - 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, - 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, - 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, - 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, - 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, - 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, - 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, - 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, - 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, - 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, - 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, - 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, - 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, - 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, - 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, - 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, - 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, - 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, - 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, - 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, - 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, - 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, - 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, - 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, - 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, - 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, - 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, - 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, - 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, - 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, - 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, - 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, - 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, - 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, - 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, - 2,126,1,143,193,131,241,128,255,64,62,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=36 h=35 x= 7 y=21 dx=38 dy= 0 ascent=35 len=140 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x=-1 y=-10 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =27 descent=-8 - Max Font ascent =35 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_SECTION(".progmem.u8g_font_osr26") = { - 0,94,46,227,245,26,7,96,17,82,32,255,248,35,246,27, - 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, - 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, - 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, - 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, - 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, - 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, - 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, - 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, - 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, - 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, - 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, - 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, - 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, - 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, - 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, - 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, - 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, - 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, - 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, - 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, - 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, - 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, - 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, - 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, - 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, - 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, - 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, - 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, - 0,195,24,226,56,114,112,10,128,7,0,15,128,122,240,242, - 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, - 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, - 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, - 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, - 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, - 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, - 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, - 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, - 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, - 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, - 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, - 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, - 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, - 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, - 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, - 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, - 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, - 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, - 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, - 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, - 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, - 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, - 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, - 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, - 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, - 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, - 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, - 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, - 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, - 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, - 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, - 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, - 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, - 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, - 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, - 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, - 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, - 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, - 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, - 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, - 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, - 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, - 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, - 0,112,240,248,120,8,8,8,16,16,32,64,28,29,116,34, - 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, - 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, - 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, - 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, - 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, - 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, - 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, - 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, - 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, - 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, - 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, - 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, - 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, - 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, - 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, - 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, - 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, - 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, - 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, - 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, - 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, - 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, - 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, - 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, - 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, - 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, - 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, - 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, - 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, - 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, - 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, - 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, - 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, - 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, - 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, - 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, - 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, - 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, - 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, - 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, - 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, - 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, - 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, - 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, - 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, - 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, - 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, - 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, - 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, - 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, - 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, - 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, - 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, - 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, - 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, - 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, - 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, - 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, - 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, - 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, - 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, - 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, - 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, - 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, - 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, - 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, - 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, - 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, - 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, - 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, - 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, - 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, - 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, - 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, - 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, - 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, - 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, - 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, - 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, - 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, - 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, - 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, - 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, - 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, - 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, - 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, - 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, - 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, - 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, - 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, - 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, - 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, - 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, - 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, - 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, - 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, - 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, - 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, - 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, - 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, - 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, - 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, - 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, - 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, - 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, - 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, - 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, - 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, - 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, - 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, - 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, - 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, - 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, - 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, - 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, - 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, - 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, - 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, - 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, - 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, - 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, - 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, - 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, - 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, - 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, - 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, - 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, - 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, - 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, - 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, - 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, - 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, - 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, - 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, - 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, - 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, - 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, - 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, - 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, - 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, - 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, - 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, - 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, - 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, - 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, - 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, - 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, - 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, - 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, - 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, - 28,7,28,7,28,7,28,7,28,7,28,7,30,6,30,14, - 19,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, - 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, - 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, - 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, - 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, - 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, - 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, - 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, - 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, - 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, - 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, - 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, - 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, - 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, - 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, - 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, - 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, - 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, - 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, - 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, - 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, - 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, - 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, - 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, - 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, - 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, - 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, - 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, - 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, - 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, - 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, - 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, - 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, - 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, - 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, - 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, - 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, - 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, - 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, - 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, - 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, - 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, - 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, - 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, - 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, - 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, - 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, - 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, - 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, - 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, - 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, - 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, - 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, - 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, - 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, - 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, - 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, - 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, - 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, - 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, - 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,10,0,0,4,25,25,10,3,248,96,240,240, - 240,96,64,64,96,96,96,96,96,96,96,96,96,96,240,240, - 240,240,240,240,240,96,12,25,50,21,4,252,1,0,1,0, - 1,0,1,0,7,192,25,32,57,48,113,48,113,112,225,112, - 225,32,225,0,225,0,225,0,225,0,225,0,113,16,113,16, - 57,16,29,32,7,192,1,0,1,0,1,0,1,0,20,25, - 75,25,2,0,0,15,128,0,24,96,0,48,32,0,96,112, - 0,192,240,0,192,240,1,192,224,1,192,0,1,192,0,1, - 192,0,1,192,0,63,192,0,1,254,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,57,128,16, - 199,128,16,131,128,48,131,224,96,134,255,192,120,63,128,18, - 16,48,22,2,5,195,241,192,124,15,128,48,7,0,32,3, - 0,96,1,0,64,1,128,64,0,128,64,0,128,64,0,128, - 64,0,128,64,1,128,96,1,0,32,3,0,48,7,0,124, - 15,128,227,241,192,20,25,75,22,1,0,255,7,240,60,1, - 192,28,1,128,30,1,0,14,3,0,15,2,0,7,6,0, - 7,132,0,3,140,0,3,136,0,1,216,0,1,208,0,1, - 224,0,31,255,0,0,224,0,0,224,0,31,255,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,15,254,0,2,33,33,10,4,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,0,0,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,13,32,64, - 23,4,249,7,128,24,64,16,96,48,224,48,224,48,64,56, - 0,28,0,30,0,15,0,23,128,99,192,129,224,128,240,128, - 120,128,24,192,24,224,8,120,8,60,16,30,32,15,64,7, - 128,3,192,1,192,0,224,16,96,56,96,56,96,48,64,16, - 192,15,0,10,4,8,16,3,20,96,192,225,192,225,192,96, - 192,26,26,104,30,2,1,0,255,192,0,3,0,48,0,4, - 0,8,0,8,0,4,0,16,30,2,0,32,113,225,0,32, - 224,225,0,65,192,96,128,65,192,96,128,129,128,32,64,131, - 128,32,64,131,128,0,64,131,128,0,64,131,128,0,64,131, - 128,0,64,131,128,0,64,131,128,32,64,65,192,64,128,65, - 192,64,128,32,224,65,0,32,112,129,0,16,31,2,0,8, - 0,4,0,4,0,8,0,3,0,48,0,0,255,192,0,9, - 13,26,13,2,12,120,0,132,0,198,0,198,0,14,0,54, - 0,70,0,198,0,198,128,206,128,115,0,0,0,255,0,10, - 14,28,18,4,2,16,64,48,128,97,128,97,0,195,0,195, - 0,195,0,195,0,195,0,67,0,97,0,32,128,16,192,8, - 0,18,7,21,22,2,6,255,255,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,9,2,4,13, - 2,8,255,128,255,128,26,26,104,30,2,1,0,255,192,0, - 3,0,48,0,4,0,8,0,8,0,4,0,19,255,2,0, - 32,225,193,0,32,224,225,0,64,224,224,128,64,224,224,128, - 128,224,224,64,128,224,224,64,128,225,192,64,128,254,0,64, - 128,225,128,64,128,224,192,64,128,224,224,64,128,224,224,64, - 64,224,228,128,64,224,228,128,32,224,233,0,35,248,121,0, - 16,0,2,0,8,0,4,0,4,0,8,0,3,0,48,0, - 0,255,192,0,9,1,2,15,3,21,255,128,10,9,18,22, - 6,16,30,0,97,128,192,128,128,64,128,64,128,64,64,128, - 97,128,30,0,30,25,100,34,2,255,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,255,255,255,252,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,255,252,10,15, - 30,16,3,10,63,0,67,128,129,192,129,192,225,192,225,192, - 1,128,3,0,6,0,8,0,48,0,64,64,64,64,255,192, - 255,192,10,16,32,16,4,9,62,0,67,0,193,128,225,128, - 225,128,1,128,3,0,124,0,3,128,1,192,1,192,225,192, - 225,192,129,192,131,128,126,0,6,6,6,16,7,19,12,28, - 56,48,96,192,19,27,81,22,2,246,96,24,0,224,60,0, - 224,60,0,224,60,0,224,60,0,224,60,0,224,60,0,224, - 60,0,224,60,0,192,24,0,64,24,0,64,24,0,64,56, - 0,96,48,32,112,124,96,95,227,224,71,193,192,128,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,224,0,0,224, - 0,0,224,0,0,240,0,0,96,0,0,15,31,62,19,2, - 251,31,254,62,16,126,16,254,16,254,16,254,16,254,16,254, - 16,254,16,126,16,62,16,2,16,2,16,2,16,2,16,2, - 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2, - 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4, - 5,5,10,3,9,96,240,240,240,96,7,7,7,16,4,248, - 16,32,28,6,6,134,124,8,15,15,16,4,10,8,24,248, - 24,24,24,24,24,24,24,24,24,24,24,255,9,13,26,15, - 3,12,28,0,99,0,67,0,193,128,193,128,193,128,193,128, - 193,128,67,0,99,0,28,0,0,0,255,128,9,14,28,17, - 4,2,132,0,66,0,99,0,33,0,49,128,49,128,49,128, - 49,128,49,128,33,128,99,0,67,0,134,0,4,0,24,25, - 75,31,4,0,8,0,16,24,0,48,248,0,32,24,0,64, - 24,0,64,24,0,128,24,1,128,24,1,0,24,2,0,24, - 6,0,24,4,12,24,8,28,24,8,28,24,16,44,255,48, - 76,0,32,76,0,64,140,0,192,140,0,129,12,1,2,12, - 1,3,255,2,0,12,6,0,12,4,0,12,8,0,127,24, - 25,75,31,4,0,8,0,32,24,0,96,248,0,64,24,0, - 192,24,0,128,24,1,0,24,1,0,24,2,0,24,6,0, - 24,4,0,24,12,248,24,9,14,24,18,15,24,18,7,255, - 35,135,0,97,135,0,64,14,0,128,12,0,128,24,1,0, - 32,3,0,193,2,1,1,6,1,1,4,3,255,8,3,254, - 24,25,75,31,4,0,62,0,32,67,0,32,193,128,64,225, - 128,192,1,128,128,3,1,128,124,1,0,3,130,0,1,194, - 0,1,196,0,225,204,24,225,200,24,129,208,56,131,144,88, - 126,32,88,0,96,152,0,64,152,0,193,24,0,129,24,1, - 2,24,3,3,255,2,0,24,6,0,24,4,0,24,8,0, - 127,13,25,50,17,1,248,6,0,15,0,15,0,15,0,6, - 0,7,0,8,192,16,64,16,64,16,192,0,128,1,0,7, - 0,14,0,28,0,56,0,112,0,240,112,224,120,224,120,224, - 24,224,24,112,16,56,96,15,192,25,34,136,28,2,0,0, - 192,0,0,0,224,0,0,0,224,0,0,0,48,0,0,0, - 24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0, - 8,0,0,0,12,0,0,0,28,0,0,0,28,0,0,0, - 30,0,0,0,62,0,0,0,46,0,0,0,47,0,0,0, - 103,0,0,0,103,0,0,0,71,128,0,0,195,128,0,0, - 195,128,0,0,131,192,0,1,129,192,0,1,129,192,0,3, - 1,224,0,3,255,224,0,2,0,224,0,6,0,240,0,6, - 0,112,0,6,0,112,0,12,0,120,0,12,0,120,0,30, - 0,120,0,255,195,255,128,25,34,136,28,2,0,0,0,192, - 0,0,1,192,0,0,3,128,0,0,7,0,0,0,6,0, - 0,0,8,0,0,0,0,0,0,0,0,0,0,0,8,0, - 0,0,12,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,46,0,0,0,47,0,0,0,103,0, - 0,0,103,0,0,0,71,128,0,0,195,128,0,0,195,128, - 0,1,131,192,0,1,129,192,0,1,129,192,0,3,1,224, - 0,3,255,224,0,2,0,224,0,6,0,240,0,6,0,112, - 0,4,0,112,0,12,0,120,0,12,0,56,0,30,0,124, - 0,255,195,255,128,25,34,136,28,2,0,0,8,0,0,0, - 28,0,0,0,30,0,0,0,51,0,0,0,65,128,0,1, - 128,64,0,0,0,0,0,0,0,0,0,0,8,0,0,0, - 12,0,0,0,28,0,0,0,28,0,0,0,30,0,0,0, - 62,0,0,0,46,0,0,0,47,0,0,0,103,0,0,0, - 103,0,0,0,71,128,0,0,195,128,0,0,195,128,0,0, - 131,192,0,1,129,192,0,1,129,192,0,3,1,224,0,3, - 255,224,0,2,0,224,0,6,0,240,0,6,0,112,0,6, - 0,112,0,12,0,120,0,12,0,120,0,30,0,120,0,255, - 195,255,128,25,33,132,28,2,0,0,112,64,0,0,252,64, - 0,0,159,192,0,1,7,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,8,0,0,0,12,0,0,0,28,0, - 0,0,28,0,0,0,30,0,0,0,62,0,0,0,46,0, - 0,0,47,0,0,0,103,0,0,0,103,0,0,0,71,128, - 0,0,195,128,0,0,195,128,0,1,131,192,0,1,129,192, - 0,1,129,192,0,3,1,224,0,3,255,224,0,2,0,224, - 0,6,0,240,0,6,0,112,0,4,0,112,0,12,0,120, - 0,12,0,56,0,30,0,124,0,255,195,255,128,25,33,132, - 28,2,0,0,193,128,0,1,193,192,0,1,193,192,0,0, - 193,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 8,0,0,0,24,0,0,0,28,0,0,0,28,0,0,0, - 60,0,0,0,62,0,0,0,62,0,0,0,110,0,0,0, - 79,0,0,0,71,0,0,0,199,0,0,0,199,128,0,0, - 131,128,0,1,131,128,0,1,129,192,0,1,1,192,0,3, - 1,192,0,3,255,224,0,2,0,224,0,6,0,224,0,6, - 0,112,0,4,0,112,0,12,0,112,0,12,0,120,0,30, - 0,120,0,255,195,255,128,25,35,140,28,2,0,0,28,0, - 0,0,34,0,0,0,65,0,0,0,65,0,0,0,65,0, - 0,0,65,0,0,0,34,0,0,0,28,0,0,0,0,0, - 0,0,8,0,0,0,12,0,0,0,28,0,0,0,28,0, - 0,0,30,0,0,0,62,0,0,0,46,0,0,0,47,0, - 0,0,111,0,0,0,71,0,0,0,71,128,0,0,199,128, - 0,0,131,128,0,1,131,192,0,1,131,192,0,1,1,192, - 0,3,1,224,0,3,255,224,0,2,0,224,0,6,0,240, - 0,6,0,240,0,4,0,112,0,12,0,120,0,12,0,120, - 0,28,0,120,0,255,195,255,128,33,26,130,36,1,0,0, - 7,255,255,128,0,1,224,7,128,0,1,224,3,128,0,3, - 224,1,128,0,2,224,1,128,0,6,224,0,128,0,4,224, - 0,128,0,12,224,32,128,0,8,224,32,0,0,24,224,32, - 0,0,16,224,96,0,0,48,224,96,0,0,48,255,224,0, - 0,96,224,96,0,0,96,224,96,0,0,192,224,32,0,0, - 192,224,32,128,1,255,224,32,128,1,0,224,0,128,3,0, - 224,0,128,2,0,224,1,128,6,0,224,1,128,6,0,224, - 1,128,14,0,224,3,128,30,0,224,15,128,255,199,255,255, - 128,19,34,102,24,3,249,3,252,64,14,6,96,28,3,224, - 24,1,224,56,0,224,120,0,224,112,0,96,112,0,96,240, - 0,96,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,32,112,0,32, - 120,0,96,56,0,64,56,0,64,24,0,128,12,0,128,6, - 3,0,3,204,0,0,112,0,0,64,0,0,240,0,0,28, - 0,0,28,0,0,28,0,2,28,0,1,240,0,21,34,102, - 25,2,0,3,0,0,3,128,0,1,192,0,0,192,0,0, - 96,0,0,16,0,0,0,0,0,0,0,255,255,248,14,0, - 120,14,0,56,14,0,24,14,0,24,14,0,8,14,0,8, - 14,4,8,14,4,0,14,4,0,14,12,0,14,12,0,15, - 252,0,14,12,0,14,4,0,14,4,0,14,4,8,14,4, - 8,14,0,8,14,0,8,14,0,24,14,0,24,14,0,56, - 14,0,56,14,0,248,255,255,248,21,34,102,25,2,0,0, - 3,0,0,7,128,0,7,0,0,12,0,0,24,0,0,48, - 0,0,0,0,0,0,0,255,255,248,14,0,120,14,0,56, - 14,0,24,14,0,24,14,0,8,14,0,8,14,4,8,14, - 4,0,14,4,0,14,12,0,14,12,0,15,252,0,14,12, - 0,14,4,0,14,4,0,14,4,8,14,4,8,14,0,8, - 14,0,8,14,0,24,14,0,24,14,0,56,14,0,56,14, - 0,248,255,255,248,21,34,102,25,2,0,0,48,0,0,48, - 0,0,120,0,0,204,0,1,134,0,2,1,128,0,0,0, - 0,0,0,255,255,248,14,0,120,14,0,56,14,0,24,14, - 0,24,14,0,8,14,0,8,14,4,8,14,4,0,14,4, - 0,14,12,0,14,12,0,15,252,0,14,12,0,14,4,0, - 14,4,0,14,4,8,14,4,8,14,0,8,14,0,8,14, - 0,24,14,0,24,14,0,56,14,0,56,14,0,248,255,255, - 248,21,33,99,25,2,0,1,131,0,3,135,0,3,135,0, - 1,131,0,0,0,0,0,0,0,0,0,0,255,255,248,14, - 0,120,14,0,56,14,0,24,14,0,24,14,0,8,14,0, - 8,14,4,8,14,4,0,14,4,0,14,12,0,14,12,0, - 15,252,0,14,12,0,14,4,0,14,4,0,14,4,8,14, - 4,8,14,0,8,14,0,8,14,0,24,14,0,24,14,0, - 56,14,0,56,14,0,248,255,255,248,10,34,68,14,2,0, - 192,0,224,0,112,0,56,0,8,0,4,0,0,0,0,0, - 255,192,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,192,10,34,68,14,2,0,0,192,1,192,1,128, - 3,0,6,0,4,0,0,0,0,0,255,192,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,255,192,10,34, - 68,14,2,0,4,0,14,0,30,0,59,0,97,128,128,64, - 0,0,0,0,255,192,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,255,192,11,33,66,14,2,0,96,192, - 224,224,224,224,96,192,0,0,0,0,0,0,127,224,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,127,224, - 24,26,78,27,2,0,255,255,0,14,0,192,14,0,112,14, - 0,56,14,0,60,14,0,28,14,0,30,14,0,30,14,0, - 14,14,0,15,14,0,15,14,0,15,255,224,15,14,0,15, - 14,0,15,14,0,15,14,0,15,14,0,14,14,0,30,14, - 0,30,14,0,28,14,0,56,14,0,56,14,0,112,14,0, - 192,255,255,0,25,33,132,28,2,0,0,120,32,0,0,254, - 96,0,0,143,192,0,0,131,128,0,0,0,0,0,0,0, - 0,0,0,0,0,0,254,0,255,128,15,0,28,0,15,128, - 8,0,15,128,8,0,11,192,8,0,11,192,8,0,9,224, - 8,0,8,240,8,0,8,240,8,0,8,120,8,0,8,60, - 8,0,8,60,8,0,8,30,8,0,8,30,8,0,8,15, - 8,0,8,7,136,0,8,7,136,0,8,3,200,0,8,1, - 232,0,8,1,232,0,8,0,248,0,8,0,120,0,8,0, - 120,0,8,0,56,0,28,0,24,0,255,128,24,0,21,34, - 102,26,3,0,3,0,0,7,0,0,3,128,0,1,192,0, - 0,64,0,0,32,0,0,0,0,0,32,0,3,220,0,6, - 3,0,12,1,128,28,1,192,56,0,224,56,0,224,120,0, - 240,112,0,112,112,0,112,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,240,0,120,112, - 0,112,112,0,112,120,0,240,56,0,224,56,0,224,28,1, - 192,12,1,128,6,3,0,3,254,0,21,34,102,26,3,0, - 0,6,0,0,7,0,0,14,0,0,28,0,0,16,0,0, - 32,0,0,0,0,0,32,0,3,220,0,6,3,0,12,1, - 128,28,1,192,56,0,224,56,0,224,120,0,240,112,0,112, - 112,0,112,240,0,120,240,0,120,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,112,0,112,112,0, - 112,120,0,240,56,0,224,56,0,224,28,1,192,12,1,128, - 6,3,0,3,254,0,21,34,102,26,3,0,0,32,0,0, - 112,0,0,112,0,0,216,0,1,4,0,6,3,0,0,0, - 0,0,32,0,3,220,0,6,3,0,12,1,128,28,1,192, - 56,0,224,56,0,224,120,0,240,112,0,112,112,0,112,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,240,0,120,240,0,120,112,0,112,112,0,112,120,0,240, - 56,0,224,56,0,224,28,1,192,12,1,128,6,3,0,3, - 254,0,21,33,99,26,3,0,3,225,0,3,255,0,4,62, - 0,0,0,0,0,0,0,0,0,0,0,32,0,3,220,0, - 6,3,0,12,1,128,28,1,192,56,0,224,56,0,224,120, - 0,240,112,0,112,112,0,112,240,0,120,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, - 112,0,112,112,0,112,120,0,240,56,0,224,56,0,224,28, - 1,192,12,1,128,6,3,0,3,254,0,21,33,99,26,3, - 0,3,6,0,7,7,0,7,7,0,3,6,0,0,0,0, - 0,0,0,0,32,0,3,220,0,6,3,0,12,1,128,28, - 1,192,56,0,224,56,0,224,120,0,240,112,0,112,112,0, - 112,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,112,0,112,112,0,112,120, - 0,240,56,0,224,56,0,224,28,1,192,12,1,128,6,3, - 0,3,254,0,22,23,69,34,6,254,128,0,4,192,0,12, - 96,0,24,48,0,48,24,0,96,12,0,192,6,1,128,3, - 3,0,1,134,0,0,204,0,0,120,0,0,48,0,0,120, - 0,0,204,0,1,134,0,3,3,0,6,1,128,12,0,192, - 24,0,96,48,0,48,96,0,24,192,0,12,128,0,0,21, - 27,81,26,3,0,0,32,0,3,222,24,6,3,48,12,1, - 224,28,1,192,56,0,224,56,1,224,120,3,240,112,2,112, - 112,6,112,240,12,120,240,24,120,240,16,120,240,48,120,240, - 96,120,240,192,120,240,192,120,241,128,120,115,0,112,114,0, - 112,126,0,240,60,0,224,56,0,224,28,1,192,60,1,128, - 102,3,0,195,222,0,25,34,136,29,2,0,0,192,0,0, - 0,224,0,0,0,224,0,0,0,48,0,0,0,16,0,0, - 0,8,0,0,0,0,0,0,0,0,0,0,255,192,255,128, - 14,0,14,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 6,0,8,0,7,0,8,0,3,0,16,0,1,192,32,0, - 0,127,192,0,25,34,136,29,2,0,0,0,192,0,0,1, - 192,0,0,3,128,0,0,7,0,0,0,4,0,0,0,8, - 0,0,0,0,0,0,0,0,0,0,255,192,255,128,14,0, - 14,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,6,0, - 8,0,7,0,8,0,3,0,16,0,1,192,32,0,0,127, - 192,0,25,34,136,29,2,0,0,8,0,0,0,28,0,0, - 0,30,0,0,0,55,0,0,0,65,128,0,1,128,96,0, - 0,0,0,0,0,0,0,0,255,192,255,128,14,0,14,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,6,0,8,0, - 7,0,8,0,3,128,16,0,1,192,96,0,0,127,192,0, - 25,33,132,29,2,0,0,192,192,0,0,225,192,0,0,225, - 192,0,0,192,192,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,192,255,128,14,0,14,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,6,0,8,0,7,0,8,0,3,0, - 16,0,1,192,32,0,0,127,192,0,24,34,102,27,2,0, - 0,0,192,0,1,192,0,3,128,0,7,0,0,4,0,0, - 8,0,0,0,0,0,0,0,255,225,255,31,0,56,15,0, - 48,7,128,48,7,128,32,3,192,96,3,192,64,1,224,128, - 0,224,128,0,241,0,0,113,0,0,122,0,0,58,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,1,255,224,21,26,78,25,2,0,255,224,0,14, - 0,0,14,0,0,14,0,0,14,0,0,15,255,0,14,1, - 192,14,0,224,14,0,240,14,0,120,14,0,120,14,0,120, - 14,0,120,14,0,120,14,0,240,14,0,224,14,1,192,15, - 255,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,255,224,0,16,26,52,19,1,0, - 1,240,3,28,6,14,14,14,28,14,28,14,28,12,28,28, - 28,48,29,192,28,48,28,24,28,12,28,14,28,6,28,7, - 28,7,28,7,28,7,28,7,28,135,29,199,29,199,29,142, - 29,140,252,120,16,25,50,19,2,1,112,0,112,0,56,0, - 28,0,12,0,2,0,0,0,0,0,15,128,48,224,32,112, - 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, - 224,112,224,113,224,241,225,113,113,126,62,60,16,25,50,19, - 2,1,0,112,0,240,0,224,1,128,3,0,2,0,0,0, - 0,0,15,128,48,224,96,112,96,112,120,112,120,112,0,112, - 1,240,30,112,112,112,96,112,224,112,224,113,224,241,225,113, - 113,126,62,60,16,25,50,19,2,0,6,0,7,0,7,0, - 13,128,24,192,48,96,0,0,0,0,15,128,48,224,96,112, - 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, - 224,112,224,113,224,241,225,113,113,126,62,60,16,24,48,19, - 2,0,30,48,63,224,35,192,0,0,0,0,0,0,0,0, - 15,128,48,224,96,112,96,112,120,112,120,112,0,112,1,240, - 30,112,112,112,96,112,224,112,224,113,224,241,225,113,113,126, - 62,60,16,24,48,19,2,0,48,96,112,224,112,224,48,96, - 0,0,0,0,0,0,15,0,48,192,96,96,96,96,112,96, - 112,96,0,96,1,224,30,96,112,96,96,96,224,96,224,97, - 224,225,225,99,113,126,62,60,16,25,50,19,2,0,7,0, - 24,192,16,64,16,64,24,192,7,0,0,0,0,0,15,128, - 48,224,96,112,96,112,120,112,120,112,0,112,1,240,30,112, - 112,112,96,112,224,112,224,113,224,241,225,113,113,126,62,60, - 22,17,51,26,2,0,15,135,192,48,236,112,96,120,48,112, - 120,56,120,112,24,56,112,28,0,112,28,7,255,252,56,112, - 0,112,112,0,224,112,0,224,112,4,224,248,8,224,184,8, - 225,56,16,113,28,48,62,7,192,12,24,48,16,2,249,15, - 128,24,96,48,48,112,48,96,112,224,112,224,112,224,0,224, - 0,224,0,224,0,224,0,96,16,112,16,48,32,24,96,15, - 128,2,0,6,0,1,128,0,192,0,192,16,192,15,128,13, - 25,50,17,2,1,48,0,56,0,28,0,12,0,6,0,3, - 0,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, - 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, - 16,48,16,24,96,7,128,13,25,50,17,2,1,0,112,0, - 112,0,224,0,192,1,128,3,0,0,0,0,0,15,128,24, - 224,48,96,112,112,96,48,224,56,224,56,255,248,224,0,224, - 0,224,0,224,8,112,16,112,16,48,16,24,96,7,128,13, - 25,50,17,2,0,3,0,3,0,7,128,5,128,8,64,16, - 32,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, - 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, - 16,48,32,24,96,7,128,13,24,48,17,2,0,24,96,56, - 112,56,112,24,96,0,0,0,0,0,0,15,128,24,224,48, - 96,112,48,96,48,224,56,224,56,255,248,224,0,224,0,224, - 0,224,8,112,16,112,16,48,32,24,96,7,128,9,25,50, - 11,0,0,192,0,224,0,112,0,56,0,8,0,4,0,0, - 0,0,0,62,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,63,128,8,25,25,10,2,0,3,7,7,12,24, - 48,0,0,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,9,25,50,11,1,0,24,0,28,0,60,0, - 54,0,99,0,128,128,0,0,0,0,124,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,127,0,9,24,48,11, - 1,0,97,128,227,128,227,128,97,128,0,0,0,0,0,0, - 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 127,128,14,26,52,18,2,0,28,16,14,48,15,192,7,128, - 7,128,13,192,48,224,0,224,0,112,7,240,24,120,48,56, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,112,24,112,56,48,48,24,96,7,128,17,24,72,21, - 2,0,7,4,0,15,204,0,9,248,0,8,112,0,0,0, - 0,0,0,0,0,0,0,248,248,0,57,28,0,58,14,0, - 60,14,0,60,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,254,63,128,14,25,50,18,2,1, - 56,0,56,0,28,0,12,0,6,0,3,0,0,0,0,0, - 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, - 7,128,14,25,50,18,2,1,0,48,0,112,0,224,0,192, - 1,128,1,0,0,0,0,0,7,128,24,96,48,48,112,56, - 112,24,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,24,112,56,48,48,24,96,7,128,14,25,50,18,2,0, - 3,0,3,0,7,128,4,128,8,64,16,32,0,0,0,0, - 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, - 7,128,14,24,48,18,2,0,30,16,31,240,33,224,0,0, - 0,0,0,0,0,0,7,128,24,96,48,48,112,56,112,24, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,24, - 112,56,48,48,24,96,7,128,14,24,48,18,2,0,24,48, - 56,112,56,112,24,48,0,0,0,0,0,0,7,128,24,96, - 48,48,112,56,112,24,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,112,24,112,56,48,48,24,96,7,128,30,23, - 92,34,2,254,0,3,0,0,0,7,128,0,0,7,128,0, - 0,7,128,0,0,3,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,252,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, - 0,7,128,0,0,7,128,0,0,7,128,0,0,3,0,0, - 14,17,34,18,2,0,7,132,24,104,48,56,112,56,112,56, - 224,92,224,156,225,156,227,28,226,28,228,28,232,28,120,24, - 112,56,48,48,88,96,135,192,17,25,75,20,1,1,28,0, - 0,28,0,0,14,0,0,3,0,0,1,0,0,0,128,0, - 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, - 56,46,0,28,78,0,15,143,128,17,25,75,20,1,1,0, - 28,0,0,60,0,0,48,0,0,96,0,0,192,0,0,128, - 0,0,0,0,0,0,0,248,62,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,30,0,56,30, - 0,56,46,0,28,78,0,15,143,128,17,25,75,20,1,0, - 0,128,0,1,192,0,1,192,0,3,96,0,4,48,0,8, - 8,0,0,0,0,0,0,0,248,62,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,30,0,56, - 30,0,56,46,0,28,78,0,15,143,128,17,24,72,20,1, - 0,12,48,0,28,56,0,28,56,0,12,48,0,0,0,0, - 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, - 56,46,0,28,78,0,15,143,128,18,33,99,19,1,249,0, - 12,0,0,28,0,0,24,0,0,48,0,0,96,0,0,64, - 0,0,0,0,0,0,0,255,31,192,28,6,0,28,4,0, - 12,4,0,14,4,0,14,4,0,6,8,0,7,8,0,7, - 8,0,3,16,0,3,144,0,3,144,0,1,224,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, - 0,128,0,112,128,0,113,128,0,113,0,0,114,0,0,60, - 0,0,16,34,68,19,1,247,12,0,60,0,92,0,28,0, - 28,0,28,0,28,0,28,0,28,60,28,126,28,143,29,7, - 30,7,30,7,30,7,28,6,28,14,28,14,28,12,28,24, - 28,16,28,32,28,64,29,128,31,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,224,0,17,32,96,19, - 1,248,6,12,0,7,28,0,7,28,0,6,12,0,0,0, - 0,0,0,0,0,0,0,255,31,128,28,6,0,28,4,0, - 14,4,0,14,4,0,14,8,0,7,8,0,7,8,0,7, - 16,0,3,144,0,3,144,0,3,160,0,1,224,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, - 0,128,0,112,128,0,121,0,0,121,0,0,114,0,0,60, - 0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=30 h=34 x= 4 y=10 dx=34 dy= 0 ascent=27 len=124 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26n[932] U8G_SECTION(".progmem.u8g_font_osr26n") = { - 0,94,46,227,245,25,0,0,0,0,42,57,0,27,249,25, - 0,13,15,30,18,3,10,7,0,7,0,7,0,195,24,226, - 56,114,112,10,128,7,0,15,128,122,240,242,120,226,56,7, - 0,7,0,7,0,30,31,124,34,2,250,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,255,255,255,252,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,5,11,11,10,2,250,112,248,248, - 120,8,8,8,16,16,32,64,9,2,4,13,2,8,255,128, - 255,128,4,5,5,10,3,0,96,240,240,240,96,12,34,68, - 16,2,249,0,16,0,48,0,48,0,32,0,96,0,96,0, - 64,0,192,0,192,0,128,0,128,1,128,1,0,1,0,3, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,24,0,16,0,48,0,48,0,32,0,96,0,96, - 0,64,0,192,0,192,0,17,25,75,21,2,0,3,224,0, - 14,56,0,28,28,0,24,12,0,56,14,0,112,7,0,112, - 7,0,112,7,0,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 112,7,0,112,7,0,112,7,0,56,14,0,56,14,0,24, - 12,0,12,24,0,7,112,0,12,25,50,21,4,0,1,0, - 3,0,3,0,15,0,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,240, - 15,25,50,21,3,0,15,192,48,112,96,56,64,60,192,30, - 192,30,224,30,248,30,248,30,120,28,0,60,0,56,0,112, - 0,224,1,192,3,0,14,0,28,4,56,4,48,4,96,4, - 96,12,255,252,255,252,255,252,15,25,50,21,3,0,15,192, - 48,112,32,56,96,28,112,28,120,28,120,28,48,28,0,28, - 0,56,0,112,31,192,24,112,0,56,0,60,0,30,0,30, - 112,30,248,30,248,30,248,30,192,60,192,56,96,112,63,224, - 17,25,75,21,2,0,0,16,0,0,48,0,0,112,0,0, - 112,0,0,240,0,1,240,0,1,112,0,3,112,0,6,112, - 0,6,112,0,12,112,0,8,112,0,24,112,0,48,112,0, - 32,112,0,96,112,0,192,112,0,255,255,128,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,7,255, - 128,15,26,52,21,3,0,32,0,48,56,63,240,63,192,47, - 0,32,0,32,0,32,0,32,0,39,192,56,112,48,56,32, - 60,32,28,0,30,0,30,0,30,0,30,120,30,248,30,248, - 28,240,60,224,60,96,56,112,112,63,192,15,25,50,21,3, - 0,3,224,6,24,12,12,24,28,56,60,48,60,112,16,112, - 0,112,0,243,224,246,56,252,28,248,28,248,14,240,14,240, - 14,240,14,240,14,112,14,112,14,112,12,56,28,56,24,24, - 56,14,224,14,25,50,21,3,0,255,252,255,252,255,252,192, - 12,128,8,128,8,128,8,128,16,0,16,0,32,0,96,0, - 64,0,128,1,128,1,128,3,0,3,0,7,0,7,0,15, - 128,15,128,15,128,15,128,15,128,7,128,17,25,75,21,2, - 0,7,240,0,28,28,0,48,14,0,112,6,0,224,3,0, - 224,3,0,224,3,0,240,3,0,240,6,0,124,6,0,127, - 140,0,31,240,0,7,252,0,25,254,0,48,63,0,96,15, - 128,224,7,128,224,3,128,224,3,128,224,3,128,224,3,0, - 96,7,0,112,6,0,56,12,0,15,248,0,15,25,50,21, - 3,0,7,192,24,96,48,48,112,56,112,28,224,28,224,28, - 224,30,224,30,224,30,224,30,112,62,112,62,56,94,15,158, - 0,30,0,28,0,28,56,28,120,28,120,56,112,56,96,112, - 48,224,31,192}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=36 h=34 x= 4 y=20 dx=38 dy= 0 ascent=28 len=130 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =27 descent=-8 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_SECTION(".progmem.u8g_font_osr26r") = { - 0,94,46,227,245,26,7,96,17,82,32,127,248,28,248,27, - 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, - 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, - 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, - 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, - 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, - 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, - 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, - 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, - 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, - 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, - 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, - 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, - 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, - 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, - 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, - 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, - 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, - 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, - 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, - 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, - 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, - 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, - 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, - 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, - 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, - 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, - 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, - 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, - 0,195,24,226,56,114,112,10,128,7,0,15,128,122,240,242, - 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, - 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, - 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, - 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, - 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, - 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, - 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, - 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, - 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, - 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, - 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, - 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, - 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, - 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, - 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, - 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, - 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, - 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, - 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, - 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, - 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, - 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, - 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, - 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, - 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, - 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, - 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, - 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, - 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, - 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, - 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, - 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, - 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, - 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, - 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, - 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, - 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, - 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, - 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, - 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, - 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, - 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, - 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, - 0,112,240,248,120,8,8,8,16,16,32,64,28,29,116,34, - 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, - 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, - 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, - 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, - 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, - 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, - 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, - 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, - 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, - 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, - 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, - 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, - 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, - 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, - 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, - 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, - 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, - 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, - 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, - 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, - 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, - 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, - 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, - 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, - 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, - 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, - 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, - 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, - 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, - 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, - 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, - 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, - 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, - 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, - 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, - 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, - 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, - 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, - 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, - 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, - 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, - 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, - 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, - 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, - 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, - 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, - 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, - 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, - 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, - 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, - 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, - 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, - 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, - 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, - 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, - 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, - 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, - 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, - 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, - 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, - 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, - 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, - 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, - 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, - 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, - 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, - 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, - 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, - 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, - 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, - 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, - 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, - 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, - 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, - 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, - 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, - 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, - 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, - 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, - 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, - 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, - 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, - 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, - 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, - 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, - 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, - 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, - 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, - 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, - 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, - 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, - 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, - 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, - 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, - 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, - 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, - 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, - 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, - 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, - 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, - 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, - 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, - 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, - 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, - 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, - 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, - 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, - 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, - 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, - 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, - 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, - 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, - 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, - 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, - 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, - 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, - 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, - 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, - 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, - 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, - 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, - 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, - 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, - 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, - 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, - 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, - 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, - 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, - 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, - 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, - 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, - 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, - 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, - 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, - 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, - 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, - 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, - 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, - 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, - 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, - 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, - 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, - 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, - 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, - 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, - 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, - 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, - 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, - 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, - 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, - 28,7,28,7,28,7,28,7,28,7,28,7,30,6,30,14, - 19,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, - 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, - 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, - 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, - 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, - 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, - 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, - 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, - 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, - 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, - 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, - 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, - 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, - 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, - 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, - 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, - 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, - 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, - 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, - 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, - 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, - 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, - 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, - 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, - 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, - 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, - 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, - 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, - 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, - 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, - 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, - 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, - 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, - 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, - 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, - 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, - 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, - 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, - 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, - 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, - 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, - 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, - 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, - 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, - 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, - 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, - 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, - 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, - 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, - 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, - 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, - 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, - 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, - 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, - 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, - 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, - 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, - 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, - 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, - 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, - 255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=41 h=39 x= 8 y=23 dx=44 dy= 0 ascent=39 len=174 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =30 descent=-9 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_SECTION(".progmem.u8g_font_osr29") = { - 0,107,51,223,244,29,9,148,21,166,32,255,247,39,245,30, - 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, - 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, - 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, - 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, - 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, - 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, - 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, - 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, - 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, - 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, - 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, - 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, - 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, - 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, - 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, - 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, - 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, - 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, - 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, - 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, - 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, - 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, - 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, - 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, - 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, - 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, - 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, - 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, - 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, - 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, - 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, - 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, - 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, - 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, - 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, - 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, - 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, - 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, - 30,249,62,29,112,3,128,3,128,29,112,249,62,241,30,227, - 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, - 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, - 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, - 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, - 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, - 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, - 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, - 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, - 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, - 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, - 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, - 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, - 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, - 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, - 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, - 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, - 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, - 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, - 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, - 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, - 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, - 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, - 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, - 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, - 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, - 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, - 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, - 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, - 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, - 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, - 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, - 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, - 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, - 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, - 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, - 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, - 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, - 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, - 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, - 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, - 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, - 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, - 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, - 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, - 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, - 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, - 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, - 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, - 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, - 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, - 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, - 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, - 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, - 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, - 0,0,0,112,248,248,248,112,5,26,26,11,3,249,112,248, - 248,248,112,0,0,0,0,0,0,0,0,0,112,240,248,120, - 8,8,8,16,16,32,96,64,32,34,136,39,3,250,0,0, - 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, - 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, - 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, - 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, - 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, - 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, - 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, - 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, - 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, - 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, - 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, - 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, - 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, - 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, - 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, - 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, - 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, - 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, - 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, - 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, - 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, - 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, - 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, - 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, - 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, - 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, - 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, - 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, - 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, - 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, - 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, - 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, - 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, - 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, - 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, - 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, - 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, - 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, - 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, - 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, - 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, - 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, - 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, - 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, - 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, - 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, - 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, - 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, - 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, - 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, - 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, - 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, - 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, - 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, - 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, - 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, - 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, - 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, - 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, - 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, - 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, - 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, - 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, - 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, - 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, - 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, - 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, - 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, - 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, - 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, - 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, - 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, - 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, - 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, - 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, - 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, - 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, - 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, - 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, - 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, - 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, - 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, - 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, - 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, - 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, - 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, - 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, - 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, - 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, - 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, - 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, - 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, - 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, - 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, - 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, - 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, - 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, - 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, - 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, - 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, - 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, - 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, - 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, - 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, - 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, - 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, - 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, - 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, - 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, - 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, - 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, - 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, - 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, - 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, - 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, - 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, - 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, - 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, - 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, - 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, - 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, - 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, - 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, - 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, - 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, - 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, - 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, - 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, - 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, - 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, - 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, - 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, - 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, - 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, - 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, - 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, - 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, - 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, - 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, - 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, - 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, - 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, - 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, - 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, - 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, - 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, - 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, - 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, - 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, - 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, - 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, - 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, - 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, - 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, - 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, - 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, - 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, - 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, - 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, - 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, - 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, - 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, - 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, - 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, - 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, - 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, - 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, - 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, - 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, - 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, - 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, - 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, - 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, - 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, - 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, - 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, - 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, - 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, - 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, - 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, - 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, - 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, - 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, - 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, - 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, - 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, - 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, - 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, - 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, - 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, - 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, - 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, - 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, - 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, - 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, - 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, - 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, - 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, - 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, - 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, - 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, - 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, - 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, - 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, - 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, - 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, - 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, - 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, - 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, - 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, - 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, - 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, - 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, - 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, - 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, - 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, - 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, - 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, - 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, - 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, - 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, - 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, - 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, - 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, - 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, - 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, - 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, - 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, - 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, - 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, - 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, - 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, - 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, - 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, - 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, - 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, - 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, - 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, - 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, - 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, - 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, - 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, - 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, - 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, - 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, - 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, - 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, - 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, - 252,96,1,248,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,11,0,0,5,28,28,11,3, - 247,112,248,248,248,112,0,32,32,32,32,32,32,112,112,112, - 112,112,112,112,112,248,248,248,248,248,248,248,112,14,28,56, - 24,5,252,0,128,0,128,0,128,0,128,0,128,7,224,12, - 152,24,136,56,140,112,156,112,188,240,188,240,152,240,128,240, - 128,240,128,240,128,240,132,112,132,112,132,56,132,24,136,14, - 144,3,224,0,128,0,128,0,128,0,128,23,28,84,30,3, - 0,0,3,240,0,6,24,0,28,12,0,24,14,0,48,62, - 0,112,62,0,112,62,0,112,24,0,112,0,0,240,0,0, - 240,0,0,240,0,31,240,0,32,255,128,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,224,0, - 0,224,0,62,224,2,67,192,2,128,224,4,129,127,60,194, - 63,248,60,15,240,20,20,60,24,2,4,64,0,32,225,248, - 112,119,254,224,62,7,192,24,1,128,48,0,192,48,0,192, - 96,0,96,96,0,96,96,0,96,96,0,96,96,0,96,96, - 0,96,48,0,192,48,0,192,24,1,128,62,7,192,119,254, - 224,225,248,112,64,0,32,22,28,84,24,1,0,255,131,252, - 62,0,112,30,0,96,14,0,64,15,0,64,15,0,128,7, - 128,128,7,129,0,3,193,0,3,194,0,1,226,0,1,228, - 0,0,252,0,0,248,0,0,120,0,31,255,192,0,120,0, - 0,120,0,31,255,192,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,7,255, - 128,2,37,37,12,5,249,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,0,0,0,0,0,0,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,15,36,72,26, - 4,248,7,192,12,32,24,48,48,120,48,120,48,112,56,0, - 56,0,28,0,30,0,15,0,31,192,35,224,97,240,64,248, - 192,60,192,30,192,14,224,6,240,6,120,6,60,4,31,12, - 15,152,7,224,3,224,0,224,0,112,0,112,0,56,56,56, - 60,56,56,48,48,48,24,96,7,128,12,4,8,18,3,22, - 96,96,240,240,240,240,96,96,30,29,116,34,2,1,0,127, - 248,0,1,192,14,0,3,0,3,0,4,0,0,128,8,0, - 0,64,16,7,196,32,32,24,108,16,32,48,60,16,64,112, - 28,8,64,224,12,8,192,224,12,8,129,224,4,4,129,224, - 0,4,129,224,0,4,129,224,0,4,129,224,0,4,129,224, - 0,4,129,224,4,4,192,224,4,8,64,224,8,8,64,112, - 8,8,32,112,24,16,48,24,48,48,16,15,192,32,8,0, - 0,64,4,0,0,128,3,0,3,0,1,192,14,0,0,127, - 248,0,11,14,28,16,3,14,60,0,102,0,67,0,99,0, - 99,0,7,0,27,0,99,0,195,0,195,32,231,32,121,192, - 0,0,127,192,10,16,32,19,4,1,24,64,48,192,32,128, - 97,128,97,0,195,0,195,0,195,0,195,0,195,0,195,0, - 97,128,97,128,48,128,16,64,8,0,20,8,24,24,2,7, - 255,255,240,255,255,240,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,48,0,0,48,10,2,4,14,2,9,255,192, - 255,192,30,29,116,34,2,1,0,127,248,0,1,192,14,0, - 3,0,3,0,4,0,0,128,8,0,0,64,19,255,192,32, - 32,112,240,48,32,112,120,16,64,112,120,8,64,112,120,8, - 192,112,120,8,128,112,112,4,128,112,224,4,128,127,128,4, - 128,112,224,4,128,112,112,4,128,112,112,4,128,112,120,4, - 128,112,120,8,64,112,120,136,64,112,120,136,32,112,56,144, - 32,112,57,16,19,252,30,32,8,0,0,64,4,0,0,128, - 3,0,3,0,1,192,14,0,0,127,248,0,11,2,4,19, - 4,23,255,224,255,224,11,10,20,23,6,18,31,0,96,128, - 64,64,128,32,128,32,128,32,128,32,64,64,96,128,31,0, - 35,28,140,39,2,254,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,192,255,255,255, - 255,192,11,17,34,18,4,11,31,0,99,192,129,192,128,224, - 192,224,224,224,112,224,1,192,1,128,3,0,12,0,24,0, - 32,32,64,32,64,96,255,224,255,224,11,17,34,18,5,11, - 31,0,97,192,192,192,224,224,240,224,0,224,0,192,97,128, - 126,0,1,128,0,192,0,224,224,224,240,224,224,192,129,192, - 127,0,7,7,7,18,8,21,6,14,28,56,48,96,128,21, - 30,90,25,3,245,96,6,0,224,15,0,240,15,0,240,15, - 0,240,15,0,224,15,0,224,15,0,224,15,0,224,15,0, - 224,15,0,224,6,0,64,6,0,64,6,0,64,6,0,96, - 12,8,96,14,24,88,59,248,79,241,248,67,224,240,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,224,0,0, - 224,0,0,240,0,0,240,0,0,112,0,0,112,0,0,17, - 35,105,23,3,250,15,255,128,63,140,0,127,140,0,127,140, - 0,255,140,0,255,140,0,255,140,0,255,140,0,255,140,0, - 127,140,0,127,140,0,63,140,0,7,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,5,5, - 5,11,3,10,112,248,248,248,112,8,8,8,18,5,248,48, - 32,60,6,7,7,15,252,9,17,34,19,5,11,4,0,12, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,10, - 14,28,16,3,14,30,0,51,0,97,128,192,192,192,192,192, - 192,192,192,192,192,193,192,97,128,35,0,30,0,0,0,255, - 192,10,16,32,20,5,1,134,0,195,0,65,0,97,128,32, - 192,48,192,48,192,48,192,48,192,48,192,48,192,97,128,97, - 128,67,0,130,0,4,0,27,28,112,35,5,0,4,0,12, - 0,12,0,8,0,28,0,24,0,252,0,16,0,28,0,32, - 0,28,0,96,0,28,0,64,0,28,0,192,0,28,0,128, - 0,28,1,128,0,28,3,0,0,28,2,0,0,28,6,7, - 0,28,4,15,0,28,12,15,0,28,24,23,0,255,144,23, - 0,0,48,39,0,0,32,71,0,0,96,71,0,0,192,135, - 0,0,129,7,0,1,129,255,224,1,0,7,0,3,0,7, - 0,6,0,7,0,6,0,7,0,12,0,63,224,27,28,112, - 35,5,0,4,0,4,0,12,0,12,0,28,0,8,0,252, - 0,16,0,28,0,48,0,28,0,32,0,28,0,96,0,28, - 0,64,0,28,0,128,0,28,1,128,0,28,1,0,0,28, - 3,31,0,28,6,99,192,28,4,129,192,28,12,128,224,28, - 8,192,224,255,152,224,224,0,48,240,224,0,32,1,192,0, - 96,1,128,0,64,3,0,0,192,12,0,1,128,24,0,1, - 0,32,32,3,0,64,32,2,0,64,96,6,0,255,224,12, - 0,255,224,28,28,112,36,5,0,31,0,6,0,97,192,4, - 0,192,224,8,0,224,224,24,0,240,224,16,0,0,192,48, - 0,1,128,96,0,126,0,64,0,97,128,192,0,0,192,128, - 0,0,225,128,0,96,227,3,128,240,226,3,128,224,230,7, - 128,129,196,7,128,67,136,11,128,62,24,19,128,0,16,19, - 128,0,48,35,128,0,96,99,128,0,64,67,128,0,192,131, - 128,0,128,255,240,1,128,3,128,3,0,3,128,2,0,3, - 128,6,0,3,128,4,0,31,240,15,28,56,19,1,247,3, - 128,7,192,7,192,7,192,3,128,0,0,3,128,4,64,8, - 32,8,32,8,96,0,96,0,192,1,128,7,0,14,0,28, - 0,56,0,120,0,240,60,240,62,240,62,240,6,240,6,112, - 6,120,12,28,24,7,224,29,38,152,32,2,0,0,224,0, - 0,0,240,0,0,0,112,0,0,0,56,0,0,0,12,0, - 0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0, - 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, - 0,0,15,128,0,0,15,128,0,0,15,128,0,0,31,192, - 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, - 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,240, - 0,0,192,120,0,0,128,120,0,1,128,120,0,1,255,252, - 0,1,0,60,0,3,0,28,0,3,0,30,0,6,0,30, - 0,6,0,15,0,6,0,15,0,14,0,15,0,30,0,15, - 128,255,224,255,248,29,38,152,32,2,0,0,0,48,0,0, - 0,112,0,0,0,240,0,0,0,224,0,0,1,128,0,0, - 3,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0, - 15,128,0,0,15,128,0,0,15,128,0,0,31,192,0,0, - 19,192,0,0,51,192,0,0,49,224,0,0,33,224,0,0, - 97,224,0,0,96,240,0,0,64,240,0,0,192,240,0,0, - 192,120,0,0,128,120,0,1,128,120,0,1,255,252,0,3, - 0,60,0,3,0,30,0,3,0,30,0,6,0,30,0,6, - 0,15,0,6,0,15,0,14,0,15,0,31,0,31,192,255, - 224,255,248,29,38,152,32,2,0,0,6,0,0,0,7,0, - 0,0,15,128,0,0,29,128,0,0,56,192,0,0,96,48, - 0,0,128,8,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,6,0,0,0,7,0,0,0,7,0,0,0,15,128, - 0,0,15,128,0,0,15,128,0,0,31,192,0,0,19,192, - 0,0,51,192,0,0,49,224,0,0,33,224,0,0,97,224, - 0,0,96,240,0,0,64,240,0,0,192,240,0,0,192,120, - 0,0,128,120,0,1,128,120,0,1,255,252,0,1,0,60, - 0,3,0,28,0,3,0,30,0,6,0,30,0,6,0,15, - 0,6,0,15,0,14,0,15,0,30,0,15,128,255,224,255, - 248,29,37,148,32,2,0,0,60,8,0,0,127,24,0,0, - 207,240,0,0,129,240,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0, - 7,0,0,0,7,0,0,0,15,128,0,0,15,128,0,0, - 15,128,0,0,31,192,0,0,19,192,0,0,51,192,0,0, - 49,224,0,0,33,224,0,0,97,224,0,0,96,240,0,0, - 64,240,0,0,192,240,0,0,192,120,0,0,128,120,0,1, - 128,120,0,1,255,252,0,3,0,60,0,3,0,30,0,3, - 0,30,0,6,0,30,0,6,0,15,0,6,0,15,0,14, - 0,15,0,31,0,31,192,255,224,255,248,29,37,148,32,2, - 0,0,96,48,0,0,240,120,0,0,240,120,0,0,96,48, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, - 0,0,15,128,0,0,15,128,0,0,31,128,0,0,31,192, - 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, - 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,112, - 0,0,192,120,0,0,128,120,0,1,128,56,0,1,255,252, - 0,1,0,28,0,3,0,28,0,3,0,30,0,6,0,30, - 0,6,0,15,0,6,0,15,0,14,0,15,0,31,0,15, - 128,255,224,255,248,29,39,156,32,2,0,0,15,0,0,0, - 16,128,0,0,32,64,0,0,32,64,0,0,32,64,0,0, - 32,64,0,0,16,128,0,0,15,0,0,0,0,0,0,0, - 0,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0, - 7,0,0,0,15,128,0,0,15,128,0,0,31,128,0,0, - 31,192,0,0,19,192,0,0,51,192,0,0,51,224,0,0, - 33,224,0,0,97,224,0,0,97,240,0,0,64,240,0,0, - 192,240,0,0,192,248,0,0,128,120,0,1,128,120,0,1, - 255,252,0,1,0,60,0,3,0,60,0,2,0,62,0,6, - 0,30,0,6,0,31,0,6,0,31,0,14,0,15,0,30, - 0,15,128,255,224,255,248,37,29,145,41,1,0,0,3,255, - 255,248,0,0,124,0,248,0,0,124,0,56,0,0,124,0, - 56,0,0,252,0,24,0,1,188,0,24,0,1,188,0,8, - 0,3,60,0,8,0,3,60,4,8,0,6,60,4,0,0, - 6,60,4,0,0,12,60,4,0,0,12,60,12,0,0,24, - 60,28,0,0,24,63,252,0,0,48,60,28,0,0,48,60, - 12,0,0,96,60,4,0,0,96,60,4,8,0,255,252,4, - 8,0,128,60,4,8,1,128,60,0,8,1,0,60,0,24, - 3,0,60,0,24,2,0,60,0,24,6,0,60,0,56,14, - 0,60,0,120,31,0,60,1,248,255,225,255,255,248,22,38, - 114,28,3,248,1,255,12,7,1,140,14,0,252,28,0,124, - 24,0,60,56,0,60,56,0,28,112,0,28,112,0,12,112, - 0,12,240,0,8,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,112,0,4, - 112,0,4,120,0,12,56,0,8,56,0,8,28,0,16,12, - 0,16,14,0,32,3,0,192,1,247,128,0,56,0,0,32, - 0,0,56,0,0,14,0,0,7,0,0,7,0,0,7,0, - 1,14,0,0,252,0,23,38,114,29,3,0,1,128,0,1, - 192,0,1,224,0,0,224,0,0,48,0,0,24,0,0,12, - 0,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, - 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, - 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, - 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, - 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, - 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,38, - 114,29,3,0,0,0,192,0,1,224,0,3,192,0,3,128, - 0,6,0,0,12,0,0,8,0,0,0,0,0,0,0,255, - 255,254,15,0,62,15,0,14,15,0,14,15,0,6,15,0, - 6,15,0,2,15,0,2,15,1,2,15,1,0,15,1,0, - 15,1,0,15,3,0,15,7,0,15,255,0,15,7,0,15, - 3,0,15,1,0,15,1,2,15,1,2,15,1,2,15,0, - 2,15,0,6,15,0,6,15,0,6,15,0,14,15,0,30, - 15,0,126,255,255,254,23,38,114,29,3,0,0,8,0,0, - 28,0,0,62,0,0,55,0,0,99,128,1,128,192,2,0, - 32,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, - 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, - 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, - 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, - 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, - 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,37, - 111,29,3,0,1,128,192,3,193,224,3,193,224,1,128,192, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,15, - 0,62,15,0,14,15,0,14,15,0,6,15,0,6,15,0, - 2,15,0,2,15,1,2,15,1,0,15,1,0,15,3,0, - 15,3,0,15,7,0,15,255,0,15,7,0,15,3,0,15, - 3,0,15,1,2,15,1,2,15,1,2,15,0,2,15,0, - 6,15,0,6,15,0,6,15,0,14,15,0,30,15,0,126, - 255,255,254,12,38,76,17,3,0,192,0,224,0,112,0,56, - 0,24,0,12,0,2,0,0,0,0,0,255,240,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,255,240,12,38,76,17,3,0,0,48,0,112,0, - 224,1,192,3,128,2,0,4,0,0,0,0,0,255,240,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,255,240,12,38,76,17,3,0,6,0,14, - 0,15,0,27,128,48,192,96,96,128,16,0,0,0,0,255, - 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,255,240,12,37,74,15,2,0,96, - 96,240,240,240,240,96,96,0,0,0,0,0,0,0,0,255, - 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,255,240,27,29,116,32,3,0,255, - 255,192,0,15,0,112,0,15,0,28,0,15,0,14,0,15, - 0,7,0,15,0,7,128,15,0,3,128,15,0,3,192,15, - 0,3,192,15,0,1,192,15,0,1,224,15,0,1,224,15, - 0,1,224,255,240,1,224,15,0,1,224,15,0,1,224,15, - 0,1,224,15,0,1,224,15,0,1,224,15,0,3,192,15, - 0,3,192,15,0,3,192,15,0,3,128,15,0,7,0,15, - 0,7,0,15,0,14,0,15,0,28,0,15,0,112,0,255, - 255,192,0,28,37,148,32,3,0,0,60,8,0,0,127,152, - 0,0,71,240,0,0,65,240,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,0,63,240,15,128,7, - 128,15,128,3,0,15,192,3,0,15,224,3,0,13,224,3, - 0,13,240,3,0,12,248,3,0,12,120,3,0,12,124,3, - 0,12,60,3,0,12,30,3,0,12,31,3,0,12,15,3, - 0,12,7,131,0,12,7,131,0,12,3,195,0,12,3,227, - 0,12,1,227,0,12,0,243,0,12,0,251,0,12,0,123, - 0,12,0,63,0,12,0,63,0,12,0,31,0,12,0,31, - 0,12,0,15,0,30,0,7,0,255,192,7,0,24,38,114, - 29,3,1,3,128,0,3,192,0,1,192,0,0,224,0,0, - 112,0,0,48,0,0,8,0,0,0,0,0,0,0,0,255, - 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, - 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, - 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, - 0,192,0,255,0,24,38,114,29,3,1,0,1,192,0,3, - 192,0,3,128,0,7,0,0,14,0,0,12,0,0,16,0, - 0,0,0,0,0,0,0,255,0,3,0,192,6,0,96,12, - 0,48,28,0,56,56,0,28,56,0,28,120,0,30,112,0, - 14,112,0,14,240,0,15,240,0,15,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,112, - 0,14,112,0,14,120,0,30,56,0,28,56,0,28,28,0, - 56,12,0,48,6,0,96,3,0,192,0,255,0,24,38,114, - 29,3,0,0,24,0,0,24,0,0,60,0,0,126,0,0, - 195,0,1,129,128,6,0,96,0,0,0,0,0,0,0,255, - 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, - 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, - 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, - 0,192,0,255,0,24,37,111,29,3,0,1,240,32,3,252, - 64,2,63,192,2,7,128,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,0,3,0,192,6,0,96,12,0,48,28, - 0,56,56,0,28,56,0,28,120,0,30,112,0,14,112,0, - 14,240,0,15,240,0,15,240,0,15,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,112,0,14,112, - 0,14,120,0,30,56,0,28,56,0,28,28,0,56,12,0, - 48,6,0,96,3,0,192,0,255,0,24,37,111,29,3,0, - 1,129,128,3,195,192,3,195,192,1,129,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,0,3,0,192,6,0, - 96,12,0,48,28,0,56,56,0,28,56,0,28,120,0,30, - 112,0,14,112,0,14,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,112,0,14,112,0,14,120,0,30,56,0,28,56,0,28, - 28,0,56,12,0,48,6,0,96,3,0,192,0,255,0,25, - 25,100,39,7,254,192,0,1,128,224,0,3,0,112,0,6, - 0,56,0,12,0,28,0,24,0,14,0,48,0,7,0,96, - 0,3,128,192,0,1,193,128,0,0,227,0,0,0,118,0, - 0,0,60,0,0,0,28,0,0,0,62,0,0,0,103,0, - 0,0,195,128,0,1,129,192,0,3,0,224,0,6,0,112, - 0,12,0,56,0,24,0,28,0,48,0,14,0,96,0,7, - 0,192,0,3,128,128,0,1,0,24,29,87,29,3,1,0, - 255,131,3,0,230,6,0,124,12,0,60,28,0,56,56,0, - 60,56,0,124,120,0,254,112,0,206,112,1,142,240,3,15, - 240,6,15,240,14,15,240,12,15,240,24,15,240,48,15,240, - 96,15,240,224,15,240,192,15,113,128,14,115,0,14,126,0, - 30,62,0,28,60,0,28,28,0,56,60,0,48,62,0,96, - 103,0,192,193,255,0,29,38,152,34,3,1,0,112,0,0, - 0,112,0,0,0,56,0,0,0,28,0,0,0,14,0,0, - 0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, - 255,240,31,248,15,0,3,192,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,7,0,1,0, - 7,0,3,0,3,128,2,0,1,192,6,0,0,224,24,0, - 0,63,240,0,29,38,152,34,3,1,0,0,56,0,0,0, - 120,0,0,0,240,0,0,0,224,0,0,1,128,0,0,3, - 0,0,0,2,0,0,0,0,0,0,0,0,0,0,255,240, - 31,248,15,0,3,192,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,7,0,1,0,7,0, - 3,0,3,128,2,0,1,192,6,0,0,224,24,0,0,63, - 240,0,29,38,152,34,3,0,0,3,0,0,0,7,0,0, - 0,7,128,0,0,13,192,0,0,24,96,0,0,96,48,0, - 0,192,8,0,0,0,0,0,0,0,0,0,255,240,31,248, - 15,0,3,192,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,7,0,3,0,7,0,3,0, - 3,128,6,0,1,192,14,0,0,224,24,0,0,63,240,0, - 29,37,148,34,3,0,0,48,48,0,0,120,120,0,0,120, - 120,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,240,31,248,15,0,3,192,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,7,0,1,0,7,0,3,0,3,128,2,0,1,192, - 6,0,0,224,24,0,0,63,240,0,27,38,152,30,2,0, - 0,0,48,0,0,0,112,0,0,0,224,0,0,0,192,0, - 0,1,128,0,0,3,0,0,0,2,0,0,0,0,0,0, - 0,0,0,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,23,29,87,28,3,0,255,248, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,255,128, - 15,0,224,15,0,120,15,0,60,15,0,60,15,0,30,15, - 0,30,15,0,30,15,0,30,15,0,30,15,0,60,15,0, - 60,15,0,120,15,0,224,15,255,128,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,255,248,0,19,29,87,22,1,0,0,252,0,3,14, - 0,6,7,0,14,7,128,12,7,128,28,7,128,28,7,128, - 28,7,0,28,14,0,28,28,0,28,224,0,28,24,0,28, - 6,0,28,7,0,28,3,128,28,3,128,28,1,192,28,1, - 192,28,1,192,28,1,224,28,1,224,28,1,224,28,1,224, - 28,225,192,29,225,192,29,225,192,28,131,128,28,199,0,252, - 60,0,18,28,84,21,2,1,112,0,0,120,0,0,60,0, - 0,28,0,0,6,0,0,3,0,0,1,0,0,0,0,0, - 0,0,0,15,192,0,56,112,0,32,56,0,96,28,0,120, - 28,0,120,28,0,56,28,0,0,28,0,0,252,0,15,28, - 0,56,28,0,112,28,0,224,28,0,224,28,64,224,60,64, - 224,60,64,224,92,192,112,159,128,31,15,0,18,28,84,21, - 2,1,0,28,0,0,60,0,0,120,0,0,112,0,0,192, - 0,1,128,0,1,0,0,0,0,0,0,0,0,15,192,0, - 56,112,0,32,56,0,96,28,0,120,28,0,120,28,0,56, - 28,0,0,28,0,0,252,0,15,28,0,56,28,0,112,28, - 0,224,28,0,224,28,64,224,60,64,224,60,64,224,92,192, - 112,159,128,31,15,0,18,28,84,21,2,0,3,128,0,3, - 128,0,7,128,0,6,192,0,12,96,0,24,48,0,32,24, - 0,0,0,0,0,0,0,15,192,0,56,112,0,32,56,0, - 96,28,0,120,28,0,120,28,0,56,28,0,0,28,0,0, - 252,0,15,28,0,56,28,0,112,28,0,224,28,0,224,28, - 64,224,60,64,224,60,64,224,92,192,112,159,128,31,15,0, - 18,27,81,21,2,0,30,8,0,63,136,0,39,248,0,64, - 240,0,0,0,0,0,0,0,0,0,0,0,0,0,15,192, - 0,56,112,0,32,56,0,96,28,0,120,28,0,120,28,0, - 56,28,0,0,28,0,0,252,0,15,28,0,56,28,0,112, - 28,0,224,28,0,224,28,64,224,60,64,224,60,64,224,92, - 192,112,159,128,31,15,0,18,27,81,21,2,0,56,48,0, - 120,120,0,120,120,0,56,48,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,192,0,24,112,0,32,56,0,96,28, - 0,112,28,0,120,28,0,56,28,0,0,28,0,0,252,0, - 15,28,0,56,28,0,112,28,0,224,28,0,224,28,64,224, - 60,64,224,60,64,224,92,192,112,159,128,31,15,0,18,28, - 84,21,2,0,7,128,0,8,64,0,16,32,0,16,32,0, - 16,32,0,8,64,0,7,128,0,0,0,0,0,0,0,15, - 192,0,56,112,0,32,56,0,96,28,0,112,28,0,120,28, - 0,56,28,0,0,28,0,0,252,0,15,28,0,56,28,0, - 112,28,0,224,28,0,224,28,64,224,60,64,224,92,64,224, - 156,192,112,159,128,31,15,0,25,19,76,29,2,0,15,193, - 240,0,56,115,28,0,32,30,14,0,96,30,7,0,120,28, - 7,0,120,28,7,0,56,28,7,128,0,28,7,128,3,255, - 255,128,28,28,0,0,112,28,0,0,112,28,0,0,224,28, - 1,128,224,28,1,0,224,62,1,0,224,46,1,0,224,70, - 2,0,112,131,4,0,31,0,248,0,15,27,54,18,2,248, - 7,224,28,16,56,8,48,12,112,28,112,60,240,60,240,24, - 240,0,240,0,240,0,240,0,240,6,112,4,112,4,48,12, - 56,8,28,48,7,224,1,0,2,0,1,192,0,96,0,112, - 0,112,8,240,7,192,15,28,56,19,2,1,56,0,60,0, - 28,0,14,0,7,0,3,0,0,128,0,0,0,0,7,192, - 12,112,56,56,48,28,112,28,112,28,240,30,240,30,255,254, - 240,0,240,0,240,0,240,2,112,4,112,4,56,4,56,8, - 28,16,7,224,15,28,56,19,2,1,0,28,0,60,0,56, - 0,112,0,224,0,192,1,0,0,0,0,0,7,192,12,112, - 56,56,48,28,112,28,112,28,240,30,240,30,255,254,240,0, - 240,0,240,0,240,2,112,4,112,4,56,4,56,8,28,16, - 7,224,15,28,56,19,2,0,1,128,3,128,3,192,7,192, - 6,96,8,48,16,8,0,0,0,0,7,192,12,112,56,56, - 48,28,112,28,112,28,240,30,240,30,255,254,240,0,240,0, - 240,0,240,6,112,4,112,4,56,4,56,8,28,16,7,224, - 15,27,54,19,2,0,24,24,60,60,60,60,24,24,0,0, - 0,0,0,0,0,0,7,192,12,112,56,56,48,28,112,28, - 112,28,240,14,240,14,255,254,240,0,240,0,240,0,240,2, - 112,4,112,4,56,4,56,8,28,16,7,224,10,28,56,11, - 0,0,192,0,224,0,224,0,112,0,24,0,12,0,4,0, - 0,0,0,0,126,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,127,192,10,28,56,11,1,0, - 0,192,1,192,3,128,7,0,6,0,12,0,16,0,0,0, - 0,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,255,128,11,28,56,11,0,0,12,0, - 12,0,30,0,31,0,51,0,96,128,128,96,0,0,0,0, - 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,127,192,11,26,52,13,1,0,96,192,241,224, - 241,224,96,192,0,0,0,0,0,0,62,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,63,192, - 17,29,87,21,2,0,30,4,0,15,12,0,7,176,0,3, - 224,0,1,224,0,6,224,0,12,240,0,16,120,0,0,56, - 0,0,28,0,3,254,0,12,62,0,24,30,0,56,15,0, - 112,15,0,112,7,0,240,7,0,240,7,128,240,7,128,240, - 7,128,240,7,0,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,20,26,78, - 22,1,0,3,225,0,7,254,0,4,126,0,0,0,0,0, - 0,0,0,0,0,0,0,0,252,60,0,28,199,0,29,3, - 0,31,3,128,30,3,128,30,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,159, - 240,17,28,84,21,2,1,56,0,0,60,0,0,30,0,0, - 14,0,0,3,0,0,1,128,0,0,128,0,0,0,0,0, - 0,0,3,224,0,12,56,0,24,28,0,56,14,0,112,14, - 0,112,7,0,240,7,0,240,7,0,240,7,128,240,7,128, - 240,7,128,240,7,0,240,7,0,112,7,0,112,14,0,56, - 14,0,24,28,0,12,56,0,3,224,0,17,28,84,21,2, - 1,0,28,0,0,28,0,0,56,0,0,112,0,0,96,0, - 0,192,0,1,128,0,0,0,0,0,0,0,3,224,0,12, - 56,0,24,28,0,56,14,0,112,14,0,112,7,0,240,7, - 0,240,7,0,240,7,128,240,7,128,240,7,128,240,7,0, - 240,7,0,112,7,0,112,14,0,56,14,0,24,28,0,12, - 56,0,3,224,0,17,28,84,21,2,0,1,128,0,1,192, - 0,3,192,0,3,96,0,6,32,0,12,16,0,16,12,0, - 0,0,0,0,0,0,3,224,0,12,56,0,24,28,0,56, - 14,0,112,14,0,112,7,0,240,7,0,240,7,0,240,7, - 128,240,7,128,240,7,128,240,7,0,240,7,0,112,7,0, - 112,14,0,56,14,0,24,28,0,12,56,0,3,224,0,17, - 27,81,21,2,0,15,4,0,31,204,0,19,248,0,16,240, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,224,0, - 12,56,0,24,28,0,56,14,0,112,14,0,112,7,0,240, - 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, - 0,240,7,0,112,7,0,112,14,0,56,14,0,24,28,0, - 12,56,0,3,224,0,17,27,81,21,2,0,24,24,0,60, - 60,0,60,60,0,24,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,35,26,130, - 39,2,254,0,0,224,0,0,0,1,240,0,0,0,1,240, - 0,0,0,1,240,0,0,0,0,224,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,255,255,224,255,255,255,255,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0, - 0,0,1,240,0,0,0,1,240,0,0,0,1,240,0,0, - 0,0,224,0,0,17,19,57,21,2,0,3,225,0,12,59, - 0,24,30,0,56,14,0,112,14,0,112,31,0,240,55,0, - 240,103,0,240,199,128,240,135,128,241,7,128,242,7,0,244, - 7,0,124,7,0,120,14,0,56,14,0,120,28,0,76,56, - 0,131,224,0,20,28,84,22,1,1,14,0,0,15,0,0, - 7,0,0,3,128,0,1,192,0,0,64,0,0,32,0,0, - 0,0,0,0,0,252,31,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,7,128,28, - 7,128,28,15,128,12,11,128,14,51,128,3,195,240,20,28, - 84,22,1,1,0,7,0,0,15,0,0,30,0,0,24,0, - 0,48,0,0,96,0,0,64,0,0,0,0,0,0,0,252, - 31,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,7,128,28,7,128,28,15,128,12, - 11,128,14,51,128,3,195,240,20,28,84,22,1,0,0,96, - 0,0,224,0,0,240,0,1,176,0,3,24,0,2,4,0, - 4,2,0,0,0,0,0,0,0,252,31,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,128,28,15,128,12,11,128,14,51,128,3, - 195,240,20,27,81,22,1,0,6,6,0,15,15,0,15,15, - 0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0, - 252,15,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,7,128,28,7,128,28,15,128, - 12,11,128,14,51,128,3,195,240,20,37,111,22,1,248,0, - 3,0,0,7,0,0,15,0,0,28,0,0,24,0,0,48, - 0,0,0,0,0,0,0,0,0,0,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,18,38, - 114,21,1,246,12,0,0,60,0,0,252,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 30,0,28,127,0,28,199,128,29,3,128,31,3,192,30,3, - 192,30,3,128,28,3,128,28,3,128,28,7,0,28,7,0, - 28,6,0,28,12,0,28,28,0,28,24,0,28,48,0,28, - 192,0,29,128,0,30,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 56,0,0,192,0,0,19,36,108,21,1,247,3,6,0,7, - 143,0,7,143,0,3,6,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,143,224,30,3,128,30,1,0,14,3,0, - 14,2,0,7,2,0,7,2,0,7,6,0,3,132,0,3, - 132,0,3,140,0,1,200,0,1,200,0,1,200,0,0,240, - 0,0,240,0,0,240,0,0,96,0,0,96,0,0,96,0, - 0,64,0,0,64,0,48,64,0,120,64,0,120,128,0,121, - 128,0,59,0,0,30,0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 28 - Calculated Max Values w=35 h=38 x= 5 y=11 dx=39 dy= 0 ascent=30 len=170 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =28 descent= 0 - X Font ascent =28 descent= 0 - Max Font ascent =30 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29n[1201] U8G_SECTION(".progmem.u8g_font_osr29n") = { - 0,107,51,223,244,28,0,0,0,0,42,57,0,30,248,28, - 0,15,17,34,21,3,11,3,128,3,192,3,128,3,128,225, - 142,241,30,249,62,29,112,3,128,3,128,29,112,249,62,241, - 30,227,142,3,128,3,192,3,128,35,34,170,39,2,250,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,255, - 255,255,255,224,255,255,255,255,224,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,5,12,12,11,3,249,112, - 240,248,248,24,8,8,16,16,32,32,64,10,2,4,14,2, - 9,255,192,255,192,5,5,5,11,3,0,112,248,248,248,112, - 14,38,76,18,2,248,0,12,0,12,0,12,0,8,0,24, - 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,64, - 0,192,0,192,0,128,1,128,1,128,1,0,3,0,3,0, - 2,0,6,0,6,0,4,0,12,0,12,0,8,0,24,0, - 24,0,16,0,48,0,48,0,32,0,96,0,96,0,64,0, - 192,0,20,28,84,24,2,0,1,248,0,7,12,0,12,7, - 0,28,3,128,24,1,128,56,1,192,56,1,192,112,0,224, - 112,0,224,112,0,224,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,112,0,224,112,0,224,112,0,224,56,1,192,56,1,192, - 24,1,128,12,3,0,6,6,0,3,252,0,14,28,56,24, - 5,0,1,128,1,128,3,128,7,128,255,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,255,252,17,28,84,24,3,0, - 7,224,0,24,60,0,32,30,0,64,15,0,192,15,0,192, - 7,128,192,7,128,240,7,128,252,7,128,252,7,128,124,7, - 128,24,15,0,0,14,0,0,28,0,0,56,0,0,112,0, - 0,224,0,1,192,0,3,0,0,6,0,0,12,0,128,24, - 0,128,48,0,128,48,1,128,112,1,128,127,255,128,127,255, - 128,127,255,128,17,28,84,24,3,0,15,224,0,48,56,0, - 96,28,0,96,14,0,240,15,0,248,15,0,248,15,0,120, - 15,0,0,15,0,0,15,0,0,14,0,0,28,0,28,56, - 0,31,224,0,0,60,0,0,30,0,0,15,0,0,7,0, - 0,7,128,0,7,128,120,7,128,248,7,128,248,7,128,248, - 7,0,192,15,0,192,14,0,96,28,0,31,240,0,19,28, - 84,24,2,0,0,12,0,0,12,0,0,28,0,0,60,0, - 0,60,0,0,124,0,0,252,0,0,252,0,1,188,0,3, - 60,0,3,60,0,6,60,0,12,60,0,12,60,0,24,60, - 0,48,60,0,32,60,0,96,60,0,192,60,0,255,255,224, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,7,255,224,17,29,87,24,4,0,0,2, - 0,120,12,0,127,248,0,127,240,0,111,192,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,104, - 60,0,112,30,0,96,14,0,96,15,0,96,7,0,0,7, - 128,0,7,128,0,7,128,16,7,128,120,7,128,252,7,128, - 252,7,128,248,15,0,224,15,0,224,14,0,96,28,0,48, - 56,0,31,240,0,17,28,84,24,3,0,1,248,0,3,12, - 0,12,6,0,28,7,0,24,15,0,56,31,0,48,31,0, - 112,14,0,112,0,0,112,0,0,240,0,0,241,240,0,246, - 28,0,252,14,0,248,7,0,248,7,0,240,7,128,240,7, - 128,240,7,128,240,7,128,112,7,128,112,7,128,112,7,0, - 48,7,0,56,7,0,24,14,0,12,28,0,7,248,0,16, - 28,56,24,4,0,255,255,255,255,255,255,192,3,128,2,128, - 2,128,6,128,4,0,12,0,8,0,24,0,48,0,32,0, - 96,0,192,0,192,1,128,3,128,3,128,7,128,7,128,7, - 128,15,192,15,192,15,192,15,192,15,192,7,192,20,28,84, - 24,2,0,3,248,0,14,14,0,56,7,0,112,3,128,112, - 1,192,240,1,192,240,1,192,240,1,192,240,1,192,248,1, - 128,126,3,128,127,131,0,63,252,0,15,252,0,7,255,0, - 24,127,192,48,15,224,112,3,224,224,1,240,224,0,240,224, - 0,240,224,0,224,224,0,224,224,0,224,112,1,192,48,1, - 128,28,7,0,15,252,0,17,28,84,24,3,0,7,224,0, - 12,56,0,56,12,0,56,14,0,112,14,0,112,7,0,240, - 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, - 128,112,15,128,112,15,128,56,27,128,28,51,128,7,199,128, - 0,7,128,0,7,0,0,7,0,56,7,0,124,7,0,124, - 14,0,120,14,0,112,12,0,112,24,0,48,48,0,31,224, - 0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=41 h=38 x= 5 y=22 dx=44 dy= 0 ascent=31 len=174 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =30 descent=-9 - Max Font ascent =31 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_SECTION(".progmem.u8g_font_osr29r") = { - 0,107,51,223,244,29,9,148,21,166,32,127,247,31,247,30, - 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, - 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, - 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, - 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, - 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, - 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, - 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, - 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, - 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, - 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, - 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, - 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, - 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, - 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, - 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, - 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, - 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, - 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, - 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, - 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, - 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, - 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, - 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, - 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, - 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, - 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, - 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, - 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, - 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, - 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, - 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, - 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, - 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, - 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, - 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, - 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, - 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, - 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, - 30,249,62,29,112,3,128,3,128,29,112,249,62,241,30,227, - 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, - 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, - 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, - 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, - 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, - 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, - 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, - 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, - 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, - 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, - 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, - 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, - 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, - 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, - 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, - 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, - 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, - 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, - 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, - 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, - 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, - 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, - 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, - 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, - 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, - 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, - 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, - 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, - 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, - 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, - 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, - 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, - 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, - 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, - 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, - 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, - 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, - 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, - 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, - 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, - 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, - 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, - 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, - 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, - 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, - 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, - 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, - 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, - 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, - 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, - 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, - 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, - 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, - 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, - 0,0,0,112,248,248,248,112,5,26,26,11,3,249,112,248, - 248,248,112,0,0,0,0,0,0,0,0,0,112,240,248,120, - 8,8,8,16,16,32,96,64,32,34,136,39,3,250,0,0, - 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, - 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, - 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, - 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, - 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, - 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, - 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, - 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, - 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, - 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, - 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, - 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, - 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, - 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, - 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, - 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, - 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, - 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, - 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, - 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, - 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, - 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, - 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, - 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, - 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, - 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, - 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, - 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, - 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, - 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, - 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, - 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, - 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, - 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, - 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, - 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, - 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, - 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, - 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, - 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, - 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, - 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, - 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, - 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, - 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, - 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, - 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, - 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, - 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, - 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, - 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, - 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, - 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, - 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, - 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, - 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, - 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, - 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, - 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, - 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, - 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, - 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, - 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, - 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, - 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, - 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, - 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, - 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, - 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, - 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, - 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, - 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, - 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, - 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, - 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, - 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, - 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, - 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, - 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, - 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, - 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, - 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, - 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, - 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, - 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, - 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, - 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, - 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, - 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, - 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, - 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, - 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, - 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, - 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, - 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, - 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, - 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, - 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, - 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, - 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, - 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, - 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, - 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, - 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, - 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, - 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, - 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, - 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, - 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, - 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, - 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, - 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, - 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, - 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, - 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, - 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, - 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, - 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, - 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, - 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, - 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, - 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, - 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, - 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, - 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, - 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, - 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, - 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, - 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, - 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, - 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, - 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, - 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, - 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, - 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, - 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, - 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, - 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, - 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, - 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, - 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, - 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, - 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, - 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, - 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, - 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, - 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, - 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, - 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, - 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, - 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, - 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, - 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, - 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, - 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, - 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, - 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, - 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, - 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, - 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, - 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, - 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, - 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, - 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, - 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, - 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, - 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, - 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, - 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, - 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, - 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, - 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, - 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, - 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, - 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, - 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, - 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, - 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, - 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, - 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, - 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, - 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, - 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, - 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, - 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, - 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, - 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, - 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, - 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, - 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, - 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, - 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, - 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, - 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, - 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, - 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, - 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, - 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, - 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, - 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, - 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, - 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, - 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, - 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, - 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, - 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, - 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, - 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, - 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, - 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, - 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, - 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, - 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, - 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, - 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, - 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, - 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, - 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, - 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, - 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, - 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, - 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, - 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, - 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, - 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, - 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, - 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, - 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, - 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, - 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, - 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, - 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, - 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, - 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, - 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, - 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, - 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, - 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, - 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, - 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, - 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, - 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, - 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, - 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, - 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, - 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, - 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, - 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, - 252,96,1,248,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=47 x=10 y=28 dx=52 dy= 0 ascent=47 len=252 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x=-2 y=-13 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =36 descent=-10 - Max Font ascent =47 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_SECTION(".progmem.u8g_font_osr35") = { - 0,128,62,216,241,35,12,236,30,116,32,255,246,47,243,36, - 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, - 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, - 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, - 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, - 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, - 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, - 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, - 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, - 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, - 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, - 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, - 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, - 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, - 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, - 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, - 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, - 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, - 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, - 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, - 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, - 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, - 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, - 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, - 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, - 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, - 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, - 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, - 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, - 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, - 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, - 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, - 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, - 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, - 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, - 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, - 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, - 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, - 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, - 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, - 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, - 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, - 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, - 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, - 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, - 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, - 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, - 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, - 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, - 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, - 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, - 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, - 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, - 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, - 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, - 0,224,0,1,224,0,1,224,0,1,224,0,96,195,128,240, - 135,192,248,143,192,124,159,128,7,248,0,1,224,0,1,224, - 0,6,184,0,124,143,128,248,135,192,240,195,192,97,193,128, - 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, - 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, - 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, - 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, - 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, - 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, - 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, - 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, - 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, - 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, - 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, - 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, - 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, - 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, - 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, - 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, - 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, - 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, - 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, - 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, - 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, - 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, - 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, - 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, - 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, - 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, - 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, - 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, - 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, - 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, - 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, - 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, - 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, - 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, - 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, - 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, - 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, - 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, - 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, - 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, - 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, - 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, - 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, - 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, - 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, - 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, - 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, - 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, - 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, - 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, - 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, - 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, - 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, - 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, - 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, - 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, - 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, - 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, - 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, - 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, - 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, - 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, - 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, - 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, - 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, - 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, - 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, - 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, - 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, - 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, - 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, - 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, - 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, - 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, - 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, - 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, - 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, - 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, - 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, - 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, - 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, - 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, - 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, - 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, - 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, - 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, - 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, - 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, - 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, - 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, - 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, - 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, - 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, - 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, - 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, - 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, - 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, - 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, - 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, - 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, - 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, - 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, - 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, - 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, - 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, - 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, - 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, - 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, - 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, - 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, - 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, - 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, - 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, - 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, - 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, - 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, - 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, - 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, - 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, - 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, - 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, - 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, - 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, - 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, - 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, - 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, - 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, - 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, - 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, - 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, - 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, - 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, - 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, - 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, - 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, - 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, - 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, - 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, - 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, - 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, - 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, - 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, - 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, - 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, - 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, - 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, - 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, - 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, - 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, - 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, - 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, - 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, - 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, - 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, - 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, - 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, - 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, - 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, - 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, - 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, - 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, - 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, - 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, - 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, - 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, - 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, - 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, - 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, - 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, - 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, - 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, - 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, - 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, - 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, - 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, - 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, - 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, - 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, - 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, - 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, - 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, - 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, - 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, - 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, - 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, - 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, - 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, - 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, - 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, - 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, - 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, - 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, - 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, - 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, - 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, - 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, - 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, - 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, - 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, - 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, - 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, - 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, - 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, - 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, - 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, - 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, - 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, - 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, - 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, - 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, - 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, - 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, - 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, - 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, - 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, - 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, - 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, - 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, - 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, - 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, - 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, - 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, - 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, - 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, - 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, - 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, - 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, - 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, - 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, - 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, - 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, - 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, - 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, - 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, - 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, - 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, - 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, - 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, - 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, - 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, - 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, - 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, - 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, - 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, - 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, - 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, - 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, - 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, - 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, - 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, - 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, - 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, - 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, - 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, - 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, - 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, - 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, - 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, - 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, - 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, - 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, - 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, - 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, - 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, - 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, - 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, - 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, - 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, - 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, - 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, - 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, - 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, - 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, - 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, - 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, - 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, - 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, - 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, - 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, - 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, - 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, - 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, - 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, - 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, - 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, - 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, - 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, - 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, - 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, - 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, - 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, - 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, - 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, - 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, - 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, - 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, - 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, - 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, - 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, - 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, - 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, - 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, - 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, - 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, - 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, - 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, - 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, - 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, - 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, - 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, - 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, - 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, - 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, - 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, - 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, - 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, - 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, - 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, - 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, - 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, - 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, - 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, - 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, - 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, - 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, - 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, - 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, - 48,240,15,32,112,15,64,120,15,128,120,15,128,120,15,0, - 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, - 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, - 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, - 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, - 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, - 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, - 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, - 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, - 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, - 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, - 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, - 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, - 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, - 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, - 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, - 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, - 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, - 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, - 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, - 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, - 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, - 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, - 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, - 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, - 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, - 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, - 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, - 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, - 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, - 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, - 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, - 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, - 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, - 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, - 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, - 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, - 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, - 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, - 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, - 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, - 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, - 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, - 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, - 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, - 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, - 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, - 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, - 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, - 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, - 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, - 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, - 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, - 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, - 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, - 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, - 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, - 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, - 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, - 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, - 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, - 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, - 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, - 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, - 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, - 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, - 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, - 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, - 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, - 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, - 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, - 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, - 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, - 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, - 31,128,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,14,0,0,6,33,33,14,4,246,120, - 252,252,252,120,0,0,48,48,48,48,48,48,48,48,48,48, - 48,120,120,120,120,120,120,248,252,252,252,252,252,252,252,120, - 17,34,102,28,5,250,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,7,252,0,14,198,0,28,195, - 0,56,195,128,120,195,128,120,207,128,120,207,128,248,207,128, - 240,199,0,240,192,0,240,192,0,240,192,0,240,192,0,240, - 192,0,248,192,128,120,192,128,120,192,128,120,193,128,56,193, - 0,28,195,0,14,198,0,7,252,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,28,34,136,35, - 3,0,0,0,126,0,0,1,227,128,0,3,128,192,0,7, - 0,192,0,14,0,224,0,14,1,224,0,28,3,224,0,28, - 3,224,0,60,3,192,0,60,0,128,0,60,0,0,0,60, - 0,0,0,60,0,0,0,60,0,0,0,60,0,0,31,252, - 0,0,0,127,248,0,0,124,0,0,0,124,0,0,0,60, - 0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60, - 0,0,0,56,0,0,0,56,0,16,62,56,0,32,99,240, - 0,32,193,240,0,96,128,120,0,64,128,254,0,192,128,159, - 255,128,193,7,255,0,126,1,254,0,24,24,72,28,2,5, - 64,0,2,224,126,7,115,255,206,63,129,252,30,0,120,28, - 0,56,56,0,24,48,0,12,48,0,12,96,0,6,96,0, - 6,96,0,6,96,0,6,96,0,6,96,0,6,112,0,12, - 48,0,12,56,0,28,28,0,56,30,0,120,63,129,252,115, - 255,206,224,126,7,64,0,2,27,33,132,29,1,0,255,224, - 127,224,31,0,15,0,15,0,6,0,15,128,6,0,7,128, - 12,0,7,192,12,0,3,192,24,0,3,224,24,0,1,224, - 48,0,1,240,32,0,0,240,96,0,0,248,64,0,0,248, - 192,0,0,124,128,0,0,125,128,0,0,63,0,0,0,63, - 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, - 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,31,0,0,3,255, - 240,0,2,44,44,14,6,248,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,18,43,129,31,5,247,1,240,0,6,24,0, - 12,12,0,24,30,0,56,62,0,56,62,0,56,62,0,56, - 8,0,60,0,0,30,0,0,31,0,0,15,128,0,7,192, - 0,15,224,0,25,240,0,48,252,0,96,126,0,64,63,0, - 192,15,128,192,7,128,192,3,192,224,1,192,240,0,192,120, - 0,192,124,0,192,62,0,128,31,1,128,15,131,0,7,198, - 0,3,248,0,1,240,0,0,248,0,0,124,0,0,60,0, - 0,30,0,0,14,0,30,14,0,62,14,0,62,14,0,60, - 12,0,24,28,0,12,56,0,7,224,0,14,5,10,22,4, - 27,112,56,248,124,248,124,248,124,112,56,35,36,180,40,3, - 0,0,7,252,0,0,0,60,7,128,0,0,224,0,192,0, - 1,128,0,48,0,3,0,0,24,0,4,0,0,12,0,8, - 0,0,6,0,24,1,240,131,0,48,7,28,129,0,32,30, - 7,128,128,96,28,3,128,128,64,56,1,128,64,64,120,1, - 128,64,192,120,0,128,64,128,120,0,128,96,128,248,0,0, - 32,128,240,0,0,32,128,240,0,0,32,128,240,0,0,32, - 128,240,0,0,32,128,240,0,0,32,128,240,0,0,32,128, - 248,0,128,96,64,120,0,128,64,64,120,0,128,64,96,56, - 1,128,192,32,60,1,0,128,48,30,3,1,128,16,15,14, - 3,0,24,3,248,2,0,12,0,0,6,0,6,0,0,12, - 0,3,128,0,56,0,0,192,0,96,0,0,120,3,192,0, - 0,31,254,0,0,13,17,34,19,3,17,62,0,99,0,193, - 128,225,128,225,128,3,128,13,128,49,128,113,128,225,128,225, - 136,225,136,247,152,120,240,0,0,0,0,255,240,13,19,38, - 23,5,1,4,0,12,24,24,48,48,32,112,96,96,96,96, - 192,224,192,224,192,224,192,224,192,224,192,224,192,96,192,112, - 96,48,96,56,48,24,16,12,0,23,10,30,29,3,8,255, - 255,254,255,255,254,0,0,6,0,0,6,0,0,6,0,0, - 6,0,0,6,0,0,6,0,0,6,0,0,6,12,3,6, - 18,3,11,255,240,255,240,255,240,35,36,180,40,3,0,0, - 7,252,0,0,0,60,7,128,0,0,224,0,192,0,1,128, - 0,48,0,3,0,0,24,0,4,0,0,12,0,8,0,0, - 6,0,25,255,248,3,0,48,60,30,1,0,32,60,15,0, - 128,96,60,7,128,128,64,60,7,128,64,64,60,7,128,64, - 192,60,7,128,64,128,60,7,128,96,128,60,15,0,32,128, - 60,30,0,32,128,63,240,0,32,128,60,28,0,32,128,60, - 14,0,32,128,60,7,0,32,128,60,7,0,32,128,60,7, - 128,96,64,60,7,128,64,64,60,7,132,64,64,60,7,132, - 192,32,60,7,136,128,48,60,3,201,128,17,255,129,241,0, - 24,0,0,2,0,12,0,0,6,0,6,0,0,12,0,3, - 0,0,24,0,0,192,0,96,0,0,112,1,192,0,0,31, - 254,0,0,13,2,4,21,4,28,255,248,255,248,14,13,26, - 29,8,21,15,192,56,96,112,48,96,24,192,8,192,12,192, - 12,192,12,192,12,96,24,96,24,56,112,15,192,41,34,204, - 45,2,254,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,255,255,255,255,255,128,255,255,255,255,255,128,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,255,255,255,255,128,255,255,255,255,255,128,14, - 21,42,22,4,13,15,192,49,240,96,120,192,124,192,60,224, - 60,248,60,120,60,48,120,0,112,0,224,1,192,3,128,6, - 0,12,0,48,4,32,4,96,12,127,248,255,248,255,248,14, - 21,42,22,5,13,15,192,56,224,96,112,96,56,112,56,120, - 56,48,56,0,112,0,224,63,128,56,224,0,120,0,56,0, - 60,112,60,248,60,240,60,192,56,192,120,96,240,31,192,8, - 9,9,22,10,25,7,15,15,30,60,48,96,192,128,25,36, - 144,29,3,243,112,1,192,0,240,3,192,0,240,3,224,0, - 240,3,224,0,240,3,224,0,240,3,224,0,240,3,224,0, - 240,3,224,0,240,3,224,0,240,3,224,0,224,3,224,0, - 224,1,192,0,224,1,192,0,96,1,192,0,96,1,192,0, - 96,1,192,0,96,1,128,0,96,3,129,128,112,7,193,128, - 88,15,127,128,79,254,63,128,67,252,31,0,64,0,0,0, - 192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0, - 192,0,0,0,224,0,0,0,224,0,0,0,240,0,0,0, - 240,0,0,0,240,0,0,0,248,0,0,0,120,0,0,0, - 120,0,0,0,20,42,126,26,3,249,7,255,240,31,193,128, - 63,193,128,127,193,128,127,193,128,255,193,128,255,193,128,255, - 193,128,255,193,128,255,193,128,255,193,128,127,193,128,127,193, - 128,63,193,128,15,193,128,0,193,128,0,193,128,0,193,128, - 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, - 193,128,0,193,128,0,193,128,0,193,128,0,193,128,0,193, - 128,0,193,128,0,193,128,0,193,128,0,193,128,0,193,128, - 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, - 193,128,0,193,128,0,193,128,6,6,6,14,4,12,120,252, - 252,252,252,120,10,10,20,21,5,246,8,0,8,0,24,0, - 15,0,3,128,1,192,1,192,1,192,195,128,63,0,11,20, - 40,21,5,14,2,0,6,0,14,0,254,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,255,224,12,17,34,18, - 3,17,15,0,57,192,112,192,96,224,224,96,224,112,224,112, - 224,112,224,112,224,112,96,96,112,224,49,192,31,0,0,0, - 0,0,255,240,13,19,38,23,5,1,1,0,193,128,96,192, - 32,96,48,112,48,48,24,48,24,56,24,56,24,56,24,56, - 24,56,24,56,24,48,48,112,48,96,96,224,64,192,1,128, - 33,35,175,42,5,255,2,0,0,96,0,6,0,0,64,0, - 14,0,0,192,0,254,0,1,128,0,14,0,1,0,0,14, - 0,3,0,0,14,0,2,0,0,14,0,6,0,0,14,0, - 12,0,0,14,0,8,0,0,14,0,24,0,0,14,0,16, - 0,0,14,0,48,0,0,14,0,96,0,0,14,0,96,56, - 0,14,0,192,120,0,14,0,128,120,0,14,1,128,248,0, - 14,3,0,184,0,255,227,1,56,0,0,6,1,56,0,0, - 4,2,56,0,0,12,2,56,0,0,8,4,56,0,0,24, - 12,56,0,0,48,8,56,0,0,32,24,56,0,0,96,31, - 255,128,0,64,0,56,0,0,192,0,56,0,1,128,0,56, - 0,1,128,0,56,0,3,0,0,56,0,2,0,1,255,128, - 6,0,0,0,0,33,35,175,42,5,255,2,0,0,96,0, - 6,0,0,64,0,6,0,0,192,0,14,0,1,128,0,254, - 0,1,128,0,14,0,3,0,0,14,0,2,0,0,14,0, - 6,0,0,14,0,4,0,0,14,0,12,0,0,14,0,24, - 0,0,14,0,16,0,0,14,0,48,0,0,14,0,33,248, - 0,14,0,102,62,0,14,0,204,15,0,14,0,152,15,128, - 14,1,152,7,128,14,1,24,7,128,255,227,31,7,128,0, - 6,31,7,128,0,4,15,7,0,0,12,0,14,0,0,8, - 0,28,0,0,24,0,56,0,0,48,0,112,0,0,48,0, - 192,0,0,96,1,128,0,0,64,2,0,128,0,192,4,0, - 128,1,128,12,1,128,1,128,15,255,0,3,0,15,255,0, - 2,0,31,255,0,6,0,0,0,0,33,35,175,42,5,255, - 15,192,0,48,0,56,224,0,96,0,96,112,0,96,0,96, - 56,0,192,0,112,56,0,128,0,120,56,1,128,0,48,56, - 3,0,0,0,112,3,0,0,0,224,6,0,0,63,128,4, - 0,0,56,224,12,0,0,0,120,24,0,0,0,56,24,0, - 0,0,60,48,0,0,112,60,32,28,0,248,60,96,28,0, - 240,60,192,60,0,192,120,192,92,0,96,241,128,92,0,63, - 193,0,156,0,0,3,1,156,0,0,6,1,28,0,0,6, - 2,28,0,0,12,6,28,0,0,8,4,28,0,0,24,8, - 28,0,0,48,24,28,0,0,48,31,255,128,0,96,0,28, - 0,0,64,0,28,0,0,192,0,28,0,1,128,0,28,0, - 1,128,0,28,0,3,0,1,255,128,2,0,0,0,0,18, - 33,99,24,2,246,1,224,0,3,240,0,3,240,0,3,240, - 0,1,224,0,0,0,0,0,0,0,1,224,0,2,48,0, - 4,24,0,4,24,0,4,24,0,4,24,0,0,48,0,0, - 112,0,0,224,0,1,192,0,7,128,0,15,0,0,30,0, - 0,60,0,0,124,0,0,120,15,0,248,31,128,240,31,192, - 240,15,192,240,0,192,240,0,192,120,0,192,120,1,128,60, - 3,0,15,14,0,3,248,0,34,46,230,37,2,0,0,56, - 0,0,0,0,60,0,0,0,0,60,0,0,0,0,30,0, - 0,0,0,15,0,0,0,0,3,128,0,0,0,1,128,0, - 0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,224,0,0,0,1,224,0,0,0,1,224,0,0,0,3, - 240,0,0,0,3,240,0,0,0,3,240,0,0,0,6,248, - 0,0,0,6,248,0,0,0,6,248,0,0,0,12,124,0, - 0,0,12,124,0,0,0,12,124,0,0,0,24,62,0,0, - 0,24,62,0,0,0,24,30,0,0,0,48,31,0,0,0, - 48,31,0,0,0,48,15,0,0,0,96,15,128,0,0,96, - 15,128,0,0,96,7,128,0,0,255,255,192,0,0,255,255, - 192,0,0,192,3,192,0,1,128,3,224,0,1,128,3,224, - 0,3,128,1,224,0,3,0,1,240,0,3,0,1,240,0, - 7,0,0,240,0,7,0,0,248,0,31,128,1,252,0,255, - 248,31,255,192,34,46,230,37,2,0,0,0,7,0,0,0, - 0,15,0,0,0,0,15,0,0,0,0,30,0,0,0,0, - 60,0,0,0,0,48,0,0,0,0,96,0,0,0,0,192, - 0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,3,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,6,248,0,0,0,6, - 248,0,0,0,6,248,0,0,0,12,124,0,0,0,12,124, - 0,0,0,12,124,0,0,0,24,62,0,0,0,24,62,0, - 0,0,24,30,0,0,0,48,31,0,0,0,48,31,0,0, - 0,48,15,0,0,0,96,15,128,0,0,96,15,128,0,0, - 224,7,128,0,0,255,255,192,0,0,255,255,192,0,1,192, - 3,192,0,1,128,3,224,0,1,128,3,224,0,3,128,1, - 224,0,3,0,1,240,0,3,0,1,240,0,7,0,0,240, - 0,15,128,0,248,0,255,248,31,255,192,255,248,31,255,192, - 34,45,225,37,2,0,0,0,192,0,0,0,1,224,0,0, - 0,3,240,0,0,0,7,56,0,0,0,14,28,0,0,0, - 28,14,0,0,0,48,3,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,3,240,0,0,0,3,240,0,0,0,3,240,0,0, - 0,6,248,0,0,0,6,248,0,0,0,6,248,0,0,0, - 12,124,0,0,0,12,124,0,0,0,12,124,0,0,0,24, - 62,0,0,0,24,62,0,0,0,24,30,0,0,0,48,31, - 0,0,0,48,31,0,0,0,48,15,0,0,0,96,15,128, - 0,0,96,15,128,0,0,96,7,128,0,0,255,255,192,0, - 0,255,255,192,0,0,192,3,192,0,1,128,3,224,0,1, - 128,3,224,0,3,128,1,224,0,3,0,1,240,0,3,0, - 1,240,0,7,0,0,240,0,7,0,0,248,0,31,128,1, - 252,0,255,248,31,255,192,34,45,225,37,2,0,0,15,0, - 128,0,0,31,225,128,0,0,63,255,0,0,0,33,255,0, - 0,0,32,62,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,192,0,0,0,0,192,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,6,248,0,0,0,6,248,0, - 0,0,6,248,0,0,0,12,124,0,0,0,12,124,0,0, - 0,12,124,0,0,0,24,62,0,0,0,24,62,0,0,0, - 24,30,0,0,0,48,31,0,0,0,48,31,0,0,0,112, - 15,0,0,0,96,15,128,0,0,96,15,128,0,0,224,7, - 128,0,0,255,255,192,0,0,255,255,192,0,1,192,3,192, - 0,1,128,3,224,0,1,128,3,224,0,3,128,1,224,0, - 3,0,1,240,0,3,0,1,240,0,7,0,0,240,0,15, - 128,0,248,0,255,248,31,255,192,255,248,31,255,192,34,44, - 220,37,2,0,0,28,7,0,0,0,62,15,128,0,0,62, - 15,128,0,0,62,15,128,0,0,28,7,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,64,0,0,0,0,192,0,0,0,0,224,0,0, - 0,0,224,0,0,0,1,224,0,0,0,1,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,3,248,0,0,0,7, - 248,0,0,0,6,120,0,0,0,6,124,0,0,0,14,60, - 0,0,0,12,60,0,0,0,12,62,0,0,0,28,30,0, - 0,0,24,30,0,0,0,24,31,0,0,0,48,15,0,0, - 0,48,15,0,0,0,112,15,128,0,0,96,7,128,0,0, - 96,7,128,0,0,255,255,192,0,0,255,255,192,0,0,192, - 3,192,0,1,192,3,224,0,1,192,1,224,0,1,128,1, - 224,0,3,128,1,240,0,3,128,0,240,0,7,128,0,240, - 0,7,128,0,248,0,31,192,1,252,0,255,248,31,255,192, - 34,47,235,37,2,0,0,1,224,0,0,0,6,24,0,0, - 0,4,8,0,0,0,8,4,0,0,0,8,4,0,0,0, - 8,4,0,0,0,8,4,0,0,0,4,8,0,0,0,6, - 24,0,0,0,3,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,7,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,1, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,44,35,210,48,1,0,0,0,127,255,255,240,0,0,15, - 224,3,240,0,0,15,192,0,240,0,0,15,192,0,112,0, - 0,15,192,0,112,0,0,27,192,0,48,0,0,27,192,0, - 48,0,0,51,192,0,48,0,0,51,192,0,16,0,0,99, - 192,0,16,0,0,99,192,16,16,0,0,195,192,16,16,0, - 1,195,192,16,0,0,1,131,192,48,0,0,3,131,192,48, - 0,0,3,3,192,48,0,0,7,3,192,112,0,0,6,3, - 255,240,0,0,14,3,192,240,0,0,12,3,192,48,0,0, - 24,3,192,48,0,0,24,3,192,16,0,0,48,3,192,16, - 16,0,63,255,192,16,16,0,96,3,192,16,16,0,96,3, - 192,0,16,0,192,3,192,0,16,0,192,3,192,0,48,1, - 128,3,192,0,48,1,128,3,192,0,112,3,128,3,192,0, - 112,7,128,3,192,0,240,15,128,3,192,1,240,255,248,127, - 255,255,240,255,248,127,255,255,240,26,47,188,32,3,245,0, - 63,0,128,0,225,225,128,3,128,113,128,7,0,63,128,14, - 0,31,128,30,0,15,128,28,0,7,128,60,0,7,128,60, - 0,3,128,124,0,3,128,120,0,1,128,120,0,1,128,120, - 0,0,128,248,0,0,128,248,0,0,0,248,0,0,0,248, - 0,0,0,248,0,0,0,248,0,0,0,248,0,0,0,248, - 0,0,0,248,0,0,0,248,0,0,0,120,0,0,192,120, - 0,0,192,120,0,0,192,124,0,0,192,60,0,0,128,60, - 0,1,128,28,0,1,128,30,0,3,0,14,0,3,0,7, - 0,6,0,3,128,12,0,1,192,56,0,0,127,224,0,0, - 8,0,0,0,8,0,0,0,28,0,0,0,15,128,0,0, - 3,192,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 129,224,0,0,199,192,0,0,63,0,0,28,46,184,34,3, - 0,0,224,0,0,0,240,0,0,0,240,0,0,0,120,0, - 0,0,60,0,0,0,14,0,0,0,6,0,0,0,3,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 240,255,255,255,240,7,128,1,240,7,128,0,240,7,128,0, - 112,7,128,0,112,7,128,0,48,7,128,0,48,7,128,0, - 48,7,128,0,16,7,128,32,16,7,128,32,16,7,128,32, - 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,224, - 0,7,255,224,0,7,129,224,0,7,128,96,0,7,128,96, - 0,7,128,96,0,7,128,32,16,7,128,32,16,7,128,32, - 16,7,128,0,16,7,128,0,48,7,128,0,48,7,128,0, - 48,7,128,0,112,7,128,0,112,7,128,0,240,7,128,1, - 240,255,255,255,240,255,255,255,240,28,46,184,34,3,0,0, - 0,28,0,0,0,60,0,0,0,60,0,0,0,120,0,0, - 0,240,0,0,0,192,0,0,1,128,0,0,3,0,0,0, - 2,0,0,0,0,0,0,0,0,0,0,255,255,255,240,255, - 255,255,240,7,128,1,240,7,128,0,240,7,128,0,112,7, - 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, - 128,96,0,7,128,96,0,7,128,96,0,7,128,224,0,7, - 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, - 128,96,0,7,128,32,16,7,128,32,16,7,128,32,16,7, - 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, - 255,255,240,255,255,255,240,28,45,180,34,3,0,0,3,0, - 0,0,7,128,0,0,15,192,0,0,12,224,0,0,24,112, - 0,0,112,24,0,0,192,12,0,0,0,2,0,0,0,0, - 0,0,0,0,0,255,255,255,240,255,255,255,240,7,128,1, - 240,7,128,0,240,7,128,0,112,7,128,0,112,7,128,0, - 48,7,128,0,48,7,128,0,48,7,128,0,16,7,128,32, - 16,7,128,32,16,7,128,32,0,7,128,96,0,7,128,96, - 0,7,128,96,0,7,128,224,0,7,255,224,0,7,129,224, - 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,32, - 16,7,128,32,16,7,128,32,16,7,128,0,16,7,128,0, - 48,7,128,0,48,7,128,0,48,7,128,0,112,7,128,0, - 112,7,128,0,240,7,128,1,240,255,255,255,240,255,255,255, - 240,28,44,176,34,3,0,0,112,28,0,0,248,62,0,0, - 248,62,0,0,248,62,0,0,112,28,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,255,255,240,7, - 192,7,240,7,128,1,240,7,128,0,240,7,128,0,112,7, - 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, - 128,32,0,7,128,96,0,7,128,96,0,7,128,224,0,7, - 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, - 128,32,0,7,128,32,16,7,128,32,16,7,128,32,16,7, - 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, - 255,255,240,255,255,255,240,14,46,92,19,3,0,224,0,240, - 0,240,0,120,0,60,0,12,0,6,0,3,0,1,0,0, - 0,0,0,255,252,255,252,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,15,128,255,252,14,46,92,19,3,0,0, - 28,0,60,0,60,0,120,0,240,0,192,1,128,3,0,0, - 0,0,0,0,0,255,252,255,252,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,192,255,252,14,45,90,19,3, - 0,3,0,7,128,7,192,14,192,24,96,112,56,192,12,0, - 0,0,0,0,0,255,252,7,192,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,255,252,255,252,15,44,88,20,3, - 0,112,28,248,62,248,62,248,62,112,28,0,0,0,0,0, - 0,0,0,127,254,7,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,7,192,127,254,32,35,140,38,4,0,255, - 255,248,0,15,128,15,0,7,128,3,128,7,128,1,192,7, - 128,0,224,7,128,0,240,7,128,0,120,7,128,0,124,7, - 128,0,60,7,128,0,62,7,128,0,62,7,128,0,30,7, - 128,0,30,7,128,0,31,7,128,0,31,7,128,0,31,255, - 254,0,31,7,128,0,31,7,128,0,31,7,128,0,31,7, - 128,0,31,7,128,0,31,7,128,0,30,7,128,0,62,7, - 128,0,62,7,128,0,60,7,128,0,60,7,128,0,120,7, - 128,0,120,7,128,0,240,7,128,0,224,7,128,1,192,7, - 128,3,128,15,128,30,0,255,255,248,0,33,46,230,38,3, - 255,0,7,1,128,0,0,31,225,128,0,0,31,255,0,0, - 0,16,255,0,0,0,48,62,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,192,7,255,128,255,192,7,255,128,7,224,0, - 120,0,7,240,0,48,0,7,240,0,48,0,7,248,0,48, - 0,6,248,0,48,0,6,252,0,48,0,6,126,0,48,0, - 6,62,0,48,0,6,63,0,48,0,6,31,0,48,0,6, - 15,128,48,0,6,15,192,48,0,6,7,192,48,0,6,7, - 224,48,0,6,3,224,48,0,6,1,240,48,0,6,1,248, - 48,0,6,0,248,48,0,6,0,252,48,0,6,0,124,48, - 0,6,0,62,48,0,6,0,63,48,0,6,0,31,48,0, - 6,0,15,176,0,6,0,15,176,0,6,0,7,240,0,6, - 0,7,240,0,6,0,3,240,0,6,0,1,240,0,6,0, - 1,240,0,15,0,0,240,0,31,128,0,240,0,255,240,0, - 112,0,0,0,0,48,0,28,46,184,33,3,1,1,192,0, - 0,1,224,0,0,1,240,0,0,0,112,0,0,0,56,0, - 0,0,28,0,0,0,12,0,0,0,6,0,0,0,0,0, - 0,0,0,0,0,0,31,128,0,0,255,240,0,1,192,56, - 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, - 128,30,0,7,128,60,0,3,192,60,0,3,192,124,0,3, - 224,124,0,3,224,120,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,120,0,1,224,120,0,1,224,120,0,3,224,124,0,3, - 192,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, - 0,14,0,7,0,7,0,14,0,3,128,28,0,0,192,48, - 0,0,127,224,0,28,46,184,33,3,1,0,0,56,0,0, - 0,120,0,0,0,248,0,0,0,224,0,0,1,192,0,0, - 3,128,0,0,3,0,0,0,6,0,0,0,0,0,0,0, - 0,0,0,0,31,128,0,0,255,240,0,1,192,56,0,3, - 128,28,0,7,0,14,0,14,0,7,0,30,0,7,128,30, - 0,7,128,60,0,3,192,60,0,3,192,124,0,3,224,124, - 0,3,224,120,0,1,224,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,120, - 0,1,224,120,0,1,224,120,0,3,224,124,0,3,192,60, - 0,3,192,60,0,3,192,30,0,7,128,14,0,7,0,14, - 0,7,0,7,0,14,0,3,128,28,0,0,192,48,0,0, - 127,224,0,28,46,184,33,3,0,0,6,0,0,0,15,0, - 0,0,15,0,0,0,31,128,0,0,57,192,0,0,112,224, - 0,0,192,48,0,3,128,28,0,0,0,0,0,0,0,0, - 0,0,31,128,0,0,255,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,30,0,7, - 128,60,0,3,192,60,0,3,192,124,0,3,224,124,0,3, - 224,120,0,1,224,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,120,0,3,224,124,0,3,192,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,7, - 0,7,0,14,0,3,128,28,0,0,192,48,0,0,127,224, - 0,28,45,180,33,3,0,0,120,12,0,0,255,8,0,1, - 255,248,0,1,143,248,0,1,1,224,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,31,128,0,0, - 255,240,0,1,192,56,0,3,128,28,0,7,0,14,0,14, - 0,7,0,30,0,7,128,30,0,7,128,60,0,3,192,60, - 0,3,192,124,0,3,224,124,0,3,224,120,0,1,224,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,120,0,1,224,120,0,1,224,120, - 0,3,224,124,0,3,192,60,0,3,192,60,0,3,192,30, - 0,7,128,14,0,7,0,14,0,7,0,7,0,14,0,3, - 128,28,0,0,192,48,0,0,127,224,0,28,45,180,33,3, - 0,0,224,56,0,1,240,124,0,1,240,124,0,1,240,124, - 0,0,224,56,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,31,128,0,0,240,240,0,1,192,56, - 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, - 128,28,0,3,128,60,0,3,192,60,0,3,192,124,0,3, - 224,120,0,1,224,120,0,1,224,248,0,1,224,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,120,0,1,224,120,0,1,224,124,0,3,224,124,0,3, - 224,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, - 0,14,0,15,0,7,0,14,0,3,128,28,0,0,224,112, - 0,0,127,224,0,30,30,120,46,8,254,192,0,0,12,224, - 0,0,28,112,0,0,56,56,0,0,112,28,0,0,224,14, - 0,1,192,7,0,3,128,3,128,7,0,1,192,14,0,0, - 224,28,0,0,112,56,0,0,56,112,0,0,28,224,0,0, - 15,192,0,0,7,128,0,0,7,128,0,0,15,192,0,0, - 28,224,0,0,56,112,0,0,112,56,0,0,224,28,0,1, - 192,14,0,3,128,7,0,7,0,3,128,14,0,1,192,28, - 0,0,224,56,0,0,112,112,0,0,56,224,0,0,28,192, - 0,0,12,28,36,144,33,3,0,0,31,128,32,0,240,240, - 96,1,192,56,224,3,128,30,192,7,0,15,128,14,0,7, - 128,30,0,7,128,28,0,7,128,60,0,15,192,60,0,31, - 192,124,0,59,224,120,0,49,224,120,0,97,224,248,0,225, - 240,248,1,193,240,248,1,129,240,248,3,1,240,248,7,1, - 240,248,6,1,240,248,12,1,240,248,28,1,240,248,56,1, - 240,248,48,1,240,120,96,1,224,120,224,1,224,121,192,3, - 224,125,128,3,192,63,0,3,192,63,0,3,192,30,0,7, - 128,30,0,7,0,30,0,15,0,63,0,14,0,51,128,28, - 0,97,192,112,0,192,127,224,0,34,46,230,39,3,1,0, - 28,0,0,0,0,28,0,0,0,0,30,0,0,0,0,15, - 0,0,0,0,7,0,0,0,0,1,128,0,0,0,0,192, - 0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0, - 0,255,252,3,255,192,255,252,3,255,192,7,192,0,126,0, - 7,128,0,60,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,3,192,0, - 24,0,3,192,0,48,0,1,192,0,48,0,1,224,0,96, - 0,0,224,0,96,0,0,112,0,192,0,0,60,3,128,0, - 0,15,254,0,0,34,46,230,39,3,1,0,0,7,0,0, - 0,0,15,0,0,0,0,30,0,0,0,0,28,0,0,0, - 0,56,0,0,0,0,112,0,0,0,0,96,0,0,0,0, - 128,0,0,0,0,0,0,0,0,0,0,0,0,255,252,3, - 255,192,255,252,3,255,192,7,192,0,126,0,7,128,0,60, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,3,192,0,24,0,3,192, - 0,48,0,1,192,0,48,0,1,224,0,96,0,0,224,0, - 96,0,0,112,0,192,0,0,60,3,128,0,0,15,254,0, - 0,34,46,230,39,3,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,3,240,0,0,0,3,56,0,0, - 0,6,28,0,0,0,28,6,0,0,0,48,3,128,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,252, - 3,255,192,7,192,0,126,0,7,128,0,60,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,3,192,0,24,0,3,192,0,48,0,3, - 192,0,48,0,1,224,0,96,0,0,240,0,224,0,0,120, - 1,192,0,0,62,7,128,0,0,15,254,0,0,34,45,225, - 39,3,0,0,28,7,0,0,0,62,15,128,0,0,62,15, - 128,0,0,62,15,128,0,0,28,7,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,32,46,184,35,2,0,0,0,3,0,0,0, - 7,128,0,0,15,0,0,0,30,0,0,0,60,0,0,0, - 56,0,0,0,96,0,0,0,192,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,254,15,255,255,254,15,255,7,224, - 0,240,7,224,0,96,3,224,0,96,3,240,0,64,1,240, - 0,192,0,248,0,128,0,252,1,128,0,124,1,0,0,62, - 3,0,0,62,2,0,0,31,6,0,0,31,12,0,0,15, - 136,0,0,7,152,0,0,7,208,0,0,3,240,0,0,3, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,240,0,0,127, - 255,192,28,35,140,33,3,0,255,254,0,0,7,192,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,255,240,0,7,192,30,0,7,128,7,128,7,128,7,192, - 7,128,3,224,7,128,3,224,7,128,1,240,7,128,1,240, - 7,128,1,240,7,128,1,240,7,128,1,240,7,128,1,240, - 7,128,3,224,7,128,3,224,7,128,7,192,7,128,7,128, - 7,128,30,0,7,255,248,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,192,0,0, - 255,254,0,0,22,35,105,26,1,0,0,63,128,0,243,224, - 1,192,240,3,128,240,7,128,248,7,0,120,15,0,120,15, - 0,120,15,0,248,15,0,240,15,0,224,15,1,192,15,3, - 0,15,60,0,15,6,0,15,1,128,15,0,192,15,0,224, - 15,0,112,15,0,120,15,0,120,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,60,15,56, - 60,15,120,60,15,120,60,15,112,120,15,96,112,15,48,224, - 255,31,192,21,33,99,24,2,1,56,0,0,60,0,0,30, - 0,0,14,0,0,7,0,0,3,128,0,1,128,0,0,192, - 0,0,0,0,0,0,0,0,0,0,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,21,33,99,24, - 2,1,0,7,0,0,15,128,0,15,0,0,30,0,0,60, - 0,0,48,0,0,96,0,0,192,0,0,0,0,0,0,0, - 0,0,0,7,248,0,24,30,0,16,15,0,48,7,0,56, - 7,128,60,7,128,62,7,128,28,7,128,0,7,128,0,31, - 128,3,247,128,31,7,128,60,7,128,120,7,128,248,7,128, - 240,7,128,240,15,136,240,15,136,240,23,136,248,23,152,120, - 39,240,63,195,240,21,33,99,24,2,0,0,192,0,0,224, - 0,1,224,0,1,240,0,3,48,0,6,24,0,12,12,0, - 24,2,0,0,0,0,0,0,0,0,0,0,7,248,0,24, - 30,0,16,15,0,48,7,0,56,7,128,60,7,128,62,7, - 128,28,7,128,0,7,128,0,31,128,3,247,128,31,7,128, - 60,7,128,120,7,128,248,7,128,240,7,128,240,15,136,240, - 15,136,240,23,136,248,23,152,120,39,240,63,195,240,21,32, - 96,24,2,0,15,129,0,31,227,0,31,255,0,16,254,0, - 32,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,7,248,0,24,30,0,16,15,0,48,7,0,56,7, - 128,60,7,128,62,7,128,28,7,128,0,7,128,0,31,128, - 3,247,128,31,7,128,60,7,128,120,7,128,248,7,128,240, - 7,128,240,15,136,240,15,136,240,23,136,248,23,152,120,39, - 240,63,195,240,21,32,96,24,2,0,28,14,0,62,31,0, - 62,31,0,62,31,0,28,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,7,248,0,24,30,0,16,15, - 0,48,7,0,56,7,128,60,7,128,62,7,128,28,7,128, - 0,7,128,0,31,128,3,247,128,31,7,128,60,7,128,120, - 7,128,248,7,128,240,7,128,240,15,136,240,15,136,240,23, - 136,248,23,152,120,39,240,63,195,240,21,34,102,24,2,0, - 1,224,0,2,24,0,4,8,0,8,4,0,8,4,0,8, - 4,0,4,12,0,6,24,0,1,240,0,0,0,0,0,0, - 0,0,0,0,7,248,0,24,30,0,16,15,0,48,7,0, - 56,7,128,60,7,128,60,7,128,28,7,128,0,7,128,0, - 31,128,3,247,128,31,7,128,60,7,128,120,7,128,248,7, - 128,240,7,128,240,15,136,240,15,136,240,31,136,248,23,152, - 120,39,240,63,195,240,30,22,88,34,2,1,7,248,63,128, - 24,30,97,224,16,15,224,224,48,7,192,112,56,7,192,120, - 60,7,128,120,62,7,128,120,30,7,128,60,0,7,128,60, - 0,15,128,60,1,247,255,252,15,7,128,0,60,7,128,0, - 120,7,128,0,248,7,128,0,240,7,128,8,240,15,128,8, - 240,11,192,8,240,27,192,16,248,17,224,48,120,32,240,96, - 63,192,127,192,17,32,96,21,2,247,7,252,0,14,6,0, - 28,3,0,56,3,0,56,3,128,120,15,128,120,15,128,240, - 15,128,240,7,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,0, - 56,1,0,28,2,0,14,6,0,7,248,0,0,128,0,0, - 128,0,1,128,0,0,240,0,0,56,0,0,28,0,0,28, - 0,0,28,0,12,56,0,3,240,0,18,33,99,22,2,1, - 60,0,0,60,0,0,30,0,0,15,0,0,7,0,0,3, - 128,0,0,192,0,0,64,0,0,0,0,0,0,0,0,0, - 0,7,248,0,14,28,0,28,14,0,56,15,0,56,7,128, - 120,7,128,120,7,128,240,7,192,240,7,192,240,7,192,255, - 255,192,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,120,1,128,56,1,0,28,3,0,14,6,0, - 7,252,0,18,33,99,22,2,1,0,7,0,0,15,0,0, - 15,0,0,30,0,0,60,0,0,48,0,0,96,0,0,192, - 0,0,0,0,0,0,0,0,0,0,7,248,0,14,28,0, - 28,14,0,56,15,0,56,7,128,120,7,128,120,7,128,240, - 7,192,240,7,192,240,7,192,255,255,192,240,0,0,240,0, - 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,128, - 56,1,0,28,3,0,14,6,0,7,252,0,18,33,99,22, - 2,0,0,192,0,0,224,0,1,224,0,1,240,0,3,184, - 0,7,24,0,4,12,0,24,2,0,0,0,0,0,0,0, - 0,0,0,7,248,0,14,28,0,28,14,0,56,15,0,56, - 7,128,120,7,128,120,7,128,240,7,192,240,7,192,240,7, - 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,128, - 120,0,128,120,0,128,120,1,128,56,1,0,28,3,0,14, - 6,0,7,252,0,18,32,96,22,2,0,28,7,0,62,15, - 128,62,15,128,62,15,128,28,7,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,7,248,0,14,12,0,28, - 14,0,60,7,0,56,7,128,120,3,128,120,3,128,240,3, - 192,240,3,192,240,3,192,255,255,192,240,0,0,240,0,0, - 240,0,0,240,0,64,120,0,128,120,0,128,120,0,128,56, - 1,128,28,1,0,14,6,0,7,252,0,12,33,66,14,0, - 1,224,0,240,0,240,0,120,0,60,0,12,0,6,0,3, - 0,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,63,240,11,33,66,13,2,1,0,224,1,224,1,224,3, - 192,7,128,6,0,12,0,24,0,0,0,0,0,0,0,254, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,255,192,13,33,66,14,0, - 0,7,0,7,0,7,128,15,128,29,192,24,96,48,48,192, - 24,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,63,240,13,32,64,15,1,0,112,112,248,248,248,248,248, - 248,112,112,0,0,0,0,0,0,0,0,0,0,63,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,63,240,19,35,105,24,2,0,31, - 0,0,15,131,128,7,198,0,3,252,0,1,240,0,0,240, - 0,1,248,0,7,124,0,12,60,0,24,30,0,0,31,0, - 0,15,0,0,7,128,3,255,128,14,15,192,28,7,192,60, - 3,192,56,3,224,120,3,224,120,1,224,248,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, - 240,1,224,120,1,192,120,3,192,56,3,192,60,3,128,28, - 7,0,14,14,0,3,252,0,23,32,96,27,2,0,1,224, - 64,3,248,192,7,255,192,6,63,128,4,7,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,31,128,30, - 97,224,30,192,224,30,128,240,31,0,240,31,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,255,199,254,19,33, - 99,24,2,1,28,0,0,30,0,0,30,0,0,15,0,0, - 7,128,0,1,128,0,0,192,0,0,96,0,0,0,0,0, - 0,0,0,0,0,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,19,33,99,24,2,1,0,7,0, - 0,7,128,0,15,0,0,30,0,0,28,0,0,56,0,0, - 96,0,0,64,0,0,0,0,0,0,0,0,0,0,3,252, - 0,14,14,0,28,7,0,60,3,128,56,3,192,120,3,192, - 120,1,224,248,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,3, - 192,56,3,192,60,3,128,28,7,0,14,14,0,3,252,0, - 19,33,99,24,2,0,0,96,0,0,224,0,0,240,0,1, - 240,0,1,184,0,3,24,0,6,4,0,8,3,0,0,0, - 0,0,0,0,0,0,0,3,252,0,14,14,0,28,7,0, - 60,3,128,56,3,192,120,3,192,120,1,224,248,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,120,1,224,120,3,192,56,3,192,60,3,128, - 28,7,0,14,14,0,3,252,0,19,32,96,24,2,0,7, - 129,0,15,225,0,31,255,0,24,254,0,16,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,252,0, - 14,14,0,28,7,0,60,3,128,56,3,192,120,3,192,120, - 1,224,248,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,120,1,224,120,3,192, - 56,3,192,60,3,128,28,7,0,14,14,0,3,252,0,19, - 32,96,24,2,0,14,7,0,31,15,128,31,15,128,31,15, - 128,14,7,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,3,252,0,14,14,0,28,7,0,60,3,128,56, - 3,192,120,3,192,120,1,224,248,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, - 120,1,224,120,3,192,56,3,192,60,3,128,28,7,0,14, - 14,0,3,252,0,41,31,186,45,2,253,0,0,30,0,0, - 0,0,0,63,0,0,0,0,0,63,0,0,0,0,0,63, - 0,0,0,0,0,63,0,0,0,0,0,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,255,255,255,128,255,255,255,255,255,128,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,30,0,0,0,0,0,63,0,0,0,0,0,63, - 0,0,0,0,0,63,0,0,0,0,0,63,0,0,0,0, - 0,30,0,0,0,19,22,66,24,2,1,3,252,96,14,14, - 64,28,7,192,60,3,128,56,3,192,120,7,192,120,13,224, - 248,9,224,240,25,224,240,49,224,240,97,224,240,193,224,240, - 129,224,241,129,224,243,1,224,126,1,224,124,3,192,56,3, - 192,60,3,128,60,7,0,110,14,0,195,252,0,23,33,99, - 27,2,1,14,0,0,15,0,0,7,128,0,3,192,0,1, - 192,0,0,224,0,0,48,0,0,16,0,0,0,0,0,0, - 0,0,0,0,254,7,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,1,240,30,1,240,30,1,240,30,2,240,14,6,240, - 15,12,240,3,240,254,23,33,99,27,2,1,0,1,192,0, - 3,192,0,3,192,0,7,128,0,14,0,0,12,0,0,24, - 0,0,48,0,0,0,0,0,0,0,0,0,0,254,7,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,1,240,30,1,240, - 30,1,240,30,2,240,14,6,240,15,12,240,3,240,254,23, - 33,99,27,2,0,0,48,0,0,56,0,0,120,0,0,124, - 0,0,204,0,1,134,0,3,3,0,6,0,128,0,0,0, - 0,0,0,0,0,0,254,7,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,1,240,30,1,240,30,1,240,30,2,240,14, - 6,240,15,12,240,3,240,254,23,32,96,27,2,0,7,3, - 128,15,135,192,15,135,192,15,135,192,7,3,128,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,7,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,1,240,30,1,240,30, - 1,240,30,2,240,14,6,240,15,12,240,3,240,254,24,45, - 135,26,1,246,0,0,240,0,0,240,0,1,224,0,1,192, - 0,3,128,0,7,0,0,6,0,0,12,0,0,24,0,0, - 0,0,0,0,0,0,0,0,255,225,255,31,0,120,15,0, - 48,15,0,48,7,0,32,7,128,96,7,128,96,3,192,64, - 3,192,192,3,192,192,1,224,128,1,225,128,0,225,128,0, - 241,128,0,241,0,0,115,0,0,123,0,0,122,0,0,62, - 0,0,62,0,0,60,0,0,28,0,0,28,0,0,24,0, - 0,24,0,0,24,0,24,48,0,60,48,0,60,48,0,60, - 96,0,56,96,0,31,192,0,15,0,0,20,46,138,25,2, - 243,30,0,0,126,0,0,254,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,15,192,30,63,224,30,97,240,30,192,240,30,128, - 240,31,128,240,31,0,240,31,0,240,30,0,240,30,0,240, - 30,1,224,30,1,224,30,1,192,30,3,128,30,3,128,30, - 7,0,30,6,0,30,12,0,30,24,0,30,48,0,30,192, - 0,31,128,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,60,0,0,240,0,0,128,0,0,24,43,129,26,1, - 245,1,192,224,3,225,240,3,225,240,3,225,240,1,192,224, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 225,255,31,128,120,15,0,48,15,0,48,7,128,32,7,128, - 96,7,128,96,3,192,64,3,192,64,3,192,192,1,224,128, - 1,224,128,0,225,128,0,241,128,0,241,0,0,115,0,0, - 123,0,0,122,0,0,62,0,0,62,0,0,60,0,0,28, - 0,0,28,0,0,24,0,0,24,0,0,24,0,24,48,0, - 60,48,0,60,48,0,60,96,0,56,96,0,31,192,0,15, - 0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 34 - Calculated Max Values w=41 h=46 x= 6 y=14 dx=45 dy= 0 ascent=36 len=246 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x= 0 y=-10 dx= 0 dy= 0 - Pure Font ascent =34 descent= 0 - X Font ascent =34 descent= 0 - Max Font ascent =36 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35n[1560] U8G_SECTION(".progmem.u8g_font_osr35n") = { - 0,128,62,216,241,34,0,0,0,0,42,57,0,36,246,34, - 0,18,20,60,25,4,14,0,224,0,1,224,0,1,224,0, - 1,224,0,96,195,128,240,135,192,248,143,192,124,159,128,7, - 248,0,1,224,0,1,224,0,6,184,0,124,143,128,248,135, - 192,240,195,192,97,193,128,1,224,0,1,224,0,1,224,0, - 0,224,0,41,41,246,45,2,248,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,7, - 15,15,14,4,247,120,252,252,254,126,6,6,6,4,12,8, - 24,48,96,64,12,3,6,18,3,11,255,240,255,240,255,240, - 6,5,5,14,4,1,120,252,252,252,120,16,46,92,22,3, - 246,0,3,0,3,0,3,0,6,0,6,0,6,0,12,0, - 12,0,12,0,24,0,24,0,24,0,48,0,48,0,48,0, - 48,0,96,0,96,0,96,0,192,0,192,0,192,1,128,1, - 128,1,128,3,0,3,0,3,0,6,0,6,0,6,0,12, - 0,12,0,12,0,24,0,24,0,24,0,48,0,48,0,48, - 0,96,0,96,0,96,0,96,0,192,0,192,0,23,34,102, - 28,2,0,0,124,0,1,199,0,7,1,128,6,0,192,14, - 0,224,28,0,112,60,0,120,60,0,120,56,0,56,120,0, - 60,120,0,60,120,0,60,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,120,0,60,120,0,60,120,0,60,120,0, - 60,60,0,120,60,0,120,28,0,112,28,0,112,14,0,224, - 7,1,192,3,131,128,0,254,0,17,34,102,28,6,0,0, - 64,0,0,64,0,0,192,0,0,192,0,1,192,0,7,192, - 0,255,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,255, - 255,128,255,255,128,21,34,102,28,4,0,3,252,0,14,31, - 0,16,7,192,32,3,224,96,1,240,64,1,240,192,0,240, - 192,0,248,224,0,248,252,0,248,254,0,248,126,0,248,126, - 0,240,62,1,240,0,1,224,0,3,192,0,3,128,0,7, - 0,0,14,0,0,28,0,0,112,0,0,224,0,1,192,0, - 3,0,0,6,0,16,12,0,16,24,0,16,16,0,16,48, - 0,48,48,0,112,127,255,240,127,255,240,127,255,240,127,255, - 240,21,34,102,28,4,0,3,248,0,14,31,0,24,7,128, - 48,3,192,112,3,192,120,1,224,124,1,224,126,1,224,126, - 1,224,60,1,224,0,1,224,0,3,192,0,3,192,0,7, - 128,0,14,0,15,248,0,31,143,0,14,3,128,0,3,224, - 0,1,224,0,1,240,0,0,248,0,0,248,0,0,248,60, - 0,248,126,0,248,254,0,248,254,0,248,252,1,240,224,1, - 240,224,3,224,96,3,192,48,15,0,15,254,0,23,34,102, - 28,3,0,0,1,128,0,1,128,0,3,128,0,7,128,0, - 7,128,0,15,128,0,31,128,0,31,128,0,55,128,0,119, - 128,0,231,128,0,199,128,1,199,128,3,135,128,3,7,128, - 6,7,128,14,7,128,12,7,128,24,7,128,56,7,128,48, - 7,128,96,7,128,224,7,128,255,255,254,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,3,255,254,3,255,254,21,35,105,28,4,0,48, - 0,64,60,3,192,63,255,128,63,255,0,63,252,0,55,240, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,0, - 48,0,0,48,0,0,51,254,0,60,7,128,56,3,192,48, - 1,224,48,1,240,48,1,240,0,0,240,0,0,248,0,0, - 248,0,0,248,0,0,248,60,0,248,126,0,248,254,0,248, - 254,0,240,252,1,240,248,1,224,240,1,224,112,3,192,112, - 7,128,60,31,0,15,252,0,21,34,102,28,4,0,0,126, - 0,1,193,128,3,128,192,7,0,64,14,0,224,28,1,224, - 28,3,224,56,3,224,56,3,192,120,0,0,120,0,0,120, - 0,0,120,0,0,240,126,0,241,255,128,243,131,192,247,1, - 224,254,1,240,252,0,240,252,0,240,248,0,248,248,0,120, - 248,0,120,248,0,120,120,0,120,120,0,120,120,0,248,120, - 0,240,56,0,240,60,0,224,28,1,224,14,3,192,7,7, - 128,1,254,0,19,34,102,28,5,0,255,255,224,255,255,224, - 255,255,224,255,255,224,224,0,224,192,0,64,128,0,64,128, - 0,192,128,0,128,128,1,128,0,1,128,0,3,0,0,2, - 0,0,6,0,0,12,0,0,24,0,0,24,0,0,48,0, - 0,112,0,0,112,0,0,224,0,0,224,0,1,224,0,1, - 224,0,3,224,0,3,224,0,3,224,0,7,240,0,7,240, - 0,7,240,0,7,240,0,7,240,0,3,240,0,3,224,0, - 23,34,102,28,3,0,1,254,0,7,135,128,30,1,192,56, - 0,224,120,0,112,112,0,112,240,0,56,240,0,56,240,0, - 56,240,0,56,248,0,56,252,0,112,126,0,112,127,192,224, - 63,241,192,31,255,0,7,255,128,7,255,224,12,63,248,56, - 7,252,112,1,252,112,0,126,224,0,62,224,0,62,224,0, - 62,224,0,30,224,0,30,224,0,28,96,0,60,112,0,56, - 48,0,120,24,0,240,14,1,192,3,255,0,21,34,102,28, - 4,0,1,248,0,7,142,0,14,3,0,28,1,128,56,1, - 192,120,1,224,120,0,224,120,0,240,240,0,240,240,0,240, - 240,0,240,240,0,248,240,0,248,248,0,248,120,1,248,120, - 1,248,120,3,248,60,7,120,30,14,120,15,252,120,3,240, - 120,0,0,240,0,0,240,0,0,240,0,0,240,60,0,224, - 124,0,224,124,1,192,124,1,192,120,3,128,112,3,0,56, - 6,0,28,28,0,15,248,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 6 y=26 dx=52 dy= 0 ascent=37 len=252 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =36 descent=-10 - Max Font ascent =37 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_SECTION(".progmem.u8g_font_osr35r") = { - 0,128,62,216,241,35,12,236,30,116,32,127,246,37,245,36, - 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, - 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, - 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, - 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, - 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, - 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, - 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, - 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, - 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, - 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, - 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, - 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, - 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, - 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, - 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, - 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, - 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, - 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, - 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, - 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, - 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, - 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, - 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, - 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, - 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, - 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, - 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, - 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, - 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, - 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, - 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, - 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, - 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, - 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, - 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, - 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, - 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, - 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, - 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, - 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, - 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, - 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, - 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, - 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, - 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, - 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, - 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, - 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, - 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, - 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, - 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, - 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, - 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, - 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, - 0,224,0,1,224,0,1,224,0,1,224,0,96,195,128,240, - 135,192,248,143,192,124,159,128,7,248,0,1,224,0,1,224, - 0,6,184,0,124,143,128,248,135,192,240,195,192,97,193,128, - 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, - 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, - 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, - 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, - 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, - 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, - 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, - 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, - 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, - 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, - 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, - 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, - 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, - 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, - 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, - 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, - 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, - 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, - 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, - 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, - 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, - 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, - 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, - 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, - 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, - 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, - 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, - 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, - 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, - 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, - 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, - 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, - 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, - 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, - 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, - 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, - 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, - 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, - 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, - 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, - 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, - 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, - 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, - 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, - 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, - 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, - 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, - 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, - 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, - 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, - 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, - 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, - 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, - 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, - 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, - 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, - 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, - 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, - 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, - 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, - 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, - 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, - 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, - 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, - 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, - 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, - 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, - 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, - 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, - 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, - 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, - 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, - 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, - 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, - 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, - 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, - 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, - 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, - 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, - 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, - 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, - 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, - 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, - 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, - 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, - 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, - 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, - 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, - 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, - 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, - 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, - 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, - 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, - 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, - 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, - 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, - 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, - 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, - 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, - 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, - 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, - 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, - 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, - 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, - 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, - 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, - 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, - 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, - 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, - 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, - 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, - 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, - 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, - 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, - 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, - 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, - 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, - 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, - 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, - 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, - 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, - 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, - 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, - 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, - 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, - 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, - 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, - 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, - 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, - 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, - 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, - 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, - 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, - 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, - 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, - 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, - 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, - 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, - 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, - 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, - 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, - 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, - 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, - 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, - 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, - 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, - 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, - 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, - 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, - 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, - 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, - 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, - 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, - 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, - 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, - 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, - 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, - 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, - 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, - 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, - 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, - 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, - 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, - 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, - 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, - 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, - 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, - 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, - 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, - 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, - 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, - 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, - 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, - 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, - 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, - 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, - 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, - 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, - 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, - 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, - 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, - 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, - 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, - 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, - 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, - 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, - 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, - 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, - 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, - 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, - 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, - 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, - 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, - 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, - 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, - 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, - 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, - 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, - 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, - 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, - 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, - 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, - 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, - 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, - 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, - 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, - 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, - 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, - 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, - 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, - 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, - 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, - 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, - 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, - 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, - 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, - 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, - 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, - 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, - 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, - 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, - 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, - 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, - 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, - 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, - 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, - 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, - 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, - 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, - 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, - 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, - 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, - 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, - 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, - 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, - 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, - 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, - 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, - 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, - 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, - 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, - 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, - 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, - 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, - 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, - 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, - 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, - 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, - 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, - 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, - 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, - 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, - 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, - 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, - 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, - 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, - 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, - 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, - 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, - 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, - 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, - 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, - 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, - 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, - 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, - 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, - 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, - 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, - 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, - 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, - 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, - 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, - 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, - 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, - 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, - 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, - 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, - 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, - 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, - 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, - 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, - 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, - 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, - 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, - 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, - 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, - 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, - 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, - 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, - 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, - 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, - 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, - 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, - 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, - 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, - 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, - 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, - 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, - 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, - 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, - 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, - 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, - 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, - 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, - 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, - 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, - 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, - 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, - 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, - 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, - 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, - 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, - 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, - 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, - 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, - 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, - 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, - 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, - 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, - 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, - 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, - 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, - 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, - 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, - 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, - 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, - 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, - 48,240,15,32,112,15,64,120,15,128,120,15,128,120,15,0, - 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, - 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, - 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, - 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, - 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, - 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, - 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, - 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, - 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, - 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, - 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, - 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, - 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, - 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, - 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, - 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, - 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, - 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, - 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, - 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, - 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, - 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, - 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, - 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, - 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, - 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, - 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, - 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, - 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, - 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, - 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, - 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, - 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, - 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, - 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, - 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, - 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, - 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, - 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, - 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, - 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, - 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, - 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, - 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, - 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, - 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, - 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, - 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, - 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, - 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, - 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, - 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, - 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, - 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, - 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, - 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, - 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, - 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, - 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, - 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, - 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, - 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, - 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, - 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, - 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, - 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, - 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, - 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, - 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, - 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, - 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, - 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, - 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, - 31,128,255}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 4, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 4 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01type[1163] U8G_SECTION(".progmem.u8g_font_p01type") = { - 0,5,6,0,254,4,1,81,2,129,32,255,254,4,254,5, - 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, - 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, - 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, - 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, - 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, - 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, - 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, - 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, - 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, - 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, - 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, - 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, - 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, - 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, - 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, - 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, - 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, - 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, - 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, - 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, - 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, - 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, - 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, - 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, - 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, - 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, - 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, - 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, - 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, - 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, - 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, - 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, - 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, - 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, - 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, - 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, - 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, - 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, - 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, - 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, - 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, - 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, - 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, - 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, - 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, - 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, - 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, - 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, - 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, - 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, - 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, - 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, - 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, - 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, - 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, - 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, - 192,4,2,2,5,0,1,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,255,1,5,5,2,0, - 255,128,0,128,128,128,255,255,255,255,1,5,5,3,1,255, - 128,128,0,128,128,255,255,255,255,5,5,5,6,0,255,40, - 80,160,80,40,3,2,2,4,0,0,224,32,3,1,1,4, - 0,1,224,255,255,255,3,5,5,4,0,255,64,224,64,0, - 224,255,255,255,255,255,1,1,1,2,0,1,128,255,255,255, - 5,5,5,6,0,255,160,80,40,80,160,255,255,255,4,5, - 5,5,0,255,32,0,96,128,112,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 3,3,3,4,0,0,160,64,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,3,5,5,4,0,255,64,0, - 224,0,64,255,255,255,255,255,255,255,255}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 5 x= 0 y= 1 dx= 5 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 4 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01typen[177] U8G_SECTION(".progmem.u8g_font_p01typen") = { - 0,5,6,0,254,5,0,0,0,0,42,57,0,4,255,5, - 0,3,3,3,4,0,0,160,64,160,3,3,3,4,0,0, - 64,224,64,2,2,2,3,0,255,64,128,3,1,1,4,0, - 1,224,1,1,1,2,0,0,128,4,4,4,5,0,255,16, - 32,64,128,3,5,5,4,0,255,96,160,160,160,192,1,5, - 5,2,0,255,128,128,128,128,128,3,5,5,4,0,255,192, - 32,224,128,96,3,5,5,4,0,255,192,32,192,32,192,3, - 5,5,4,0,255,160,160,224,32,32,3,5,5,4,0,255, - 96,128,224,32,192,3,5,5,4,0,255,96,128,224,160,192, - 3,5,5,4,0,255,224,32,32,64,64,3,5,5,4,0, - 255,96,160,224,160,192,3,5,5,4,0,255,96,160,224,32, - 192}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 4, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 4 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01typer[938] U8G_SECTION(".progmem.u8g_font_p01typer") = { - 0,5,6,0,254,4,1,81,2,129,32,127,254,4,254,5, - 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, - 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, - 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, - 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, - 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, - 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, - 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, - 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, - 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, - 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, - 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, - 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, - 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, - 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, - 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, - 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, - 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, - 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, - 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, - 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, - 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, - 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, - 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, - 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, - 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, - 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, - 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, - 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, - 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, - 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, - 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, - 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, - 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, - 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, - 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, - 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, - 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, - 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, - 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, - 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, - 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, - 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, - 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, - 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, - 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, - 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, - 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, - 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, - 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, - 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, - 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, - 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, - 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, - 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, - 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, - 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, - 192,4,2,2,5,0,1,80,160,255}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[1140] U8G_SECTION(".progmem.u8g_font_pixelle_micro") = { - 0,6,8,255,254,5,1,97,2,188,32,255,254,6,254,6, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, - 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, - 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, - 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, - 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, - 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, - 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, - 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, - 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, - 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, - 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, - 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, - 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, - 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, - 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, - 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, - 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, - 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, - 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, - 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, - 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, - 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, - 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, - 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, - 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, - 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, - 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, - 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, - 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, - 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, - 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, - 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, - 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, - 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, - 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, - 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, - 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, - 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, - 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, - 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, - 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, - 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, - 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, - 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, - 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, - 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, - 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, - 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, - 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, - 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, - 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, - 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, - 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, - 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, - 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, - 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, - 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, - 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, - 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, - 1,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,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,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,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}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 6 x= 0 y= 1 dx= 4 dy= 0 ascent= 6 len= 6 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[180] U8G_SECTION(".progmem.u8g_font_pixelle_micron") = { - 0,6,8,255,254,5,0,0,0,0,42,57,0,6,255,5, - 0,3,4,4,4,0,0,64,224,64,160,3,3,3,4,0, - 0,64,224,64,1,2,2,2,0,255,128,128,3,1,1,4, - 0,1,224,1,1,1,2,0,0,128,3,6,6,4,0,0, - 32,32,64,64,128,128,3,5,5,4,0,0,64,160,224,160, - 64,3,5,5,4,0,0,192,64,64,64,224,3,5,5,4, - 0,0,64,160,32,64,224,3,5,5,4,0,0,192,32,64, - 32,192,3,5,5,4,0,0,160,160,224,32,32,3,5,5, - 4,0,0,224,128,224,32,192,3,5,5,4,0,0,64,160, - 192,160,64,3,5,5,4,0,0,224,32,64,64,128,3,5, - 5,4,0,0,64,160,64,160,64,3,5,5,4,0,0,64, - 160,96,160,64}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_SECTION(".progmem.u8g_font_pixelle_micror") = { - 0,6,8,255,254,5,1,97,2,188,32,127,254,6,254,6, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, - 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, - 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, - 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, - 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, - 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, - 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, - 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, - 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, - 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, - 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, - 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, - 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, - 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, - 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, - 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, - 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, - 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, - 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, - 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, - 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, - 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, - 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, - 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, - 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, - 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, - 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, - 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, - 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, - 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, - 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, - 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, - 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, - 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, - 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, - 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, - 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, - 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, - 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, - 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, - 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, - 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, - 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, - 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, - 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, - 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, - 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, - 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, - 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, - 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, - 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, - 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, - 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, - 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, - 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, - 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, - 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, - 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, - 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, - 1,80,160,255}; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 6, '1' Height: 5 - Calculated Max Values w= 7 h= 8 x= 0 y= 6 dx= 8 dy= 0 ascent=10 len= 8 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 1 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[1376] U8G_SECTION(".progmem.u8g_font_robot_de_niro") = { - 0,10,10,255,0,6,1,97,2,193,32,255,1,10,0,9, - 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, - 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, - 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, - 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, - 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, - 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, - 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, - 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, - 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, - 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, - 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, - 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, - 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, - 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, - 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, - 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, - 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, - 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, - 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, - 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, - 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, - 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, - 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, - 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, - 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, - 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, - 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, - 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, - 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, - 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, - 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, - 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, - 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, - 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, - 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, - 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, - 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, - 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, - 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, - 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, - 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, - 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, - 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, - 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, - 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, - 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, - 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, - 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, - 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, - 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, - 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, - 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, - 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, - 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, - 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, - 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, - 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, - 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, - 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, - 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, - 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, - 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, - 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, - 2,192,64,64,32,64,64,192,4,2,2,5,0,5,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,255,255,255,4,7,7,5,0,2,96,144,64,224,64,128, - 240,255,255,255,4,7,7,5,0,2,96,128,96,144,96,16, - 96,255,7,8,8,8,0,2,124,130,154,170,162,154,130,124, - 255,255,255,255,7,8,8,8,0,2,124,130,186,170,178,170, - 130,124,255,255,255,255,255,255,255,6,5,5,7,0,3,108, - 232,104,40,40,255,255,255,255,255,255,255,255,255,255,255,255, - 255,4,8,8,4,255,2,80,0,48,80,112,80,80,128,255, - 255,3,7,7,4,0,1,96,128,128,160,96,64,32,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,3,7,7,4, - 0,3,160,0,96,160,160,160,64,4,4,4,5,0,4,144, - 96,96,144,255,255,255,255,4,7,7,5,0,3,80,0,160, - 160,160,160,80,255,255,4,7,7,4,255,1,32,80,96,80, - 96,64,128,255,255,255,255,4,6,6,5,0,3,80,0,96, - 160,160,80,255,255,255,4,6,6,5,0,3,96,0,96,160, - 208,96,4,6,6,5,0,3,96,0,96,160,208,96,4,7, - 7,5,0,3,64,160,0,96,160,208,96,255,255,255,255,255, - 255,255,255,255,255,255,3,6,6,4,0,3,160,0,96,160, - 160,192,5,5,5,6,0,3,32,0,248,0,32,255,255,255, - 255,4,6,6,5,0,3,80,0,160,160,160,80,255,255,255 - }; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 5 x= 0 y= 6 dx= 5 dy= 0 ascent= 9 len= 5 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 9 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[178] U8G_SECTION(".progmem.u8g_font_robot_de_niron") = { - 0,10,10,255,0,5,0,0,0,0,42,57,0,9,0,5, - 0,3,3,3,4,0,6,160,64,160,3,3,3,4,0,4, - 64,224,64,2,2,2,3,0,2,64,128,3,1,1,4,0, - 5,224,1,1,1,2,0,3,128,3,5,5,4,0,3,32, - 32,64,128,128,3,5,5,4,0,3,64,160,160,160,64,3, - 5,5,4,0,3,192,64,64,64,224,3,5,5,4,0,3, - 192,32,96,128,224,3,5,5,4,0,3,192,32,224,32,224, - 3,5,5,4,0,3,160,160,224,32,32,3,5,5,4,0, - 3,96,128,224,32,224,3,5,5,4,0,3,96,128,224,160, - 64,4,5,5,5,0,3,224,32,112,32,32,3,5,5,4, - 0,3,96,160,224,160,192,3,5,5,4,0,3,96,160,224, - 32,192}; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 6, '1' Height: 5 - Calculated Max Values w= 6 h= 7 x= 0 y= 6 dx= 7 dy= 0 ascent=10 len= 7 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 1 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[1041] U8G_SECTION(".progmem.u8g_font_robot_de_niror") = { - 0,10,10,255,0,6,1,97,2,193,32,127,1,10,0,9, - 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, - 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, - 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, - 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, - 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, - 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, - 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, - 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, - 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, - 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, - 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, - 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, - 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, - 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, - 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, - 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, - 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, - 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, - 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, - 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, - 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, - 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, - 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, - 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, - 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, - 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, - 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, - 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, - 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, - 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, - 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, - 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, - 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, - 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, - 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, - 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, - 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, - 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, - 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, - 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, - 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, - 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, - 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, - 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, - 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, - 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, - 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, - 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, - 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, - 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, - 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, - 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, - 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, - 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, - 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, - 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, - 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, - 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, - 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, - 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, - 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, - 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, - 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, - 2,192,64,64,32,64,64,192,4,2,2,5,0,5,80,160, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=15 x= 3 y= 9 dx=11 dy= 0 ascent=11 len=15 - Font Bounding box w=11 h=15 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =11 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb08[2612] U8G_SECTION(".progmem.u8g_font_symb08") = { - 0,11,15,255,252,7,1,152,3,60,32,255,254,11,252,7, - 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, - 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, - 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, - 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, - 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, - 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, - 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, - 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, - 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, - 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, - 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, - 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, - 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, - 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, - 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, - 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, - 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, - 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, - 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, - 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, - 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, - 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, - 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, - 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, - 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, - 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, - 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, - 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, - 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, - 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, - 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, - 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, - 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, - 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, - 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, - 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, - 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, - 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, - 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, - 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, - 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, - 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, - 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, - 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, - 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, - 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, - 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, - 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, - 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, - 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, - 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, - 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, - 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, - 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, - 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, - 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, - 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, - 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, - 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, - 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, - 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, - 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, - 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, - 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, - 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, - 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, - 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, - 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, - 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, - 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, - 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, - 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, - 64,128,5,2,2,6,0,2,104,176,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,255,6,7,7,7, - 0,0,140,212,112,32,32,32,112,3,3,3,3,0,5,32, - 64,128,5,7,7,6,0,0,8,48,192,48,8,0,248,4, - 7,7,3,255,0,16,16,32,32,64,64,128,7,3,3,7, - 0,1,108,146,108,5,9,9,5,0,254,24,32,112,32,32, - 32,32,32,192,5,5,5,7,1,0,112,112,248,248,32,5, - 5,5,7,1,0,32,112,248,112,32,5,5,5,7,1,0, - 216,248,248,112,32,5,5,5,7,1,0,32,112,248,248,32, - 10,5,10,10,0,0,33,0,64,128,255,192,64,128,33,0, - 10,5,10,10,0,0,32,0,64,0,255,192,64,0,32,0, - 5,14,14,6,0,252,32,112,168,32,32,32,32,32,32,32, - 32,32,32,32,10,5,10,10,0,0,1,0,0,128,255,192, - 0,128,1,0,5,13,13,6,0,254,32,32,32,32,32,32, - 32,32,32,32,168,112,32,3,4,4,4,0,3,64,160,160, - 64,5,7,7,6,0,0,32,32,248,32,32,0,248,5,3, - 3,4,0,5,40,80,160,5,7,7,6,0,0,128,96,24, - 96,128,0,248,5,5,5,6,0,0,136,80,32,80,136,6, - 3,3,7,0,1,108,144,108,4,8,8,5,0,0,96,144, - 16,16,112,144,144,96,4,3,3,5,0,1,96,240,96,5, - 5,5,6,0,0,32,0,248,0,32,5,5,5,6,0,0, - 16,248,32,248,64,5,5,5,6,0,1,248,0,248,0,248, - 5,5,5,6,0,0,104,176,0,104,176,7,1,1,9,1, - 0,146,1,15,15,6,2,252,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,10,1,2,10,0,2,255,192,6, - 6,6,7,0,0,4,4,4,68,252,64,7,7,7,8,0, - 0,204,102,52,92,76,38,98,6,9,9,7,0,255,124,132, - 200,24,12,4,68,232,48,8,8,8,8,0,0,108,146,146, - 92,20,18,82,163,7,8,8,9,1,254,16,36,74,82,106, - 108,160,96,7,7,7,8,0,0,56,68,170,146,170,68,56, - 7,7,7,8,0,0,56,68,146,186,146,68,56,7,9,9, - 8,0,255,2,60,76,138,146,162,100,120,128,7,5,5,8, - 0,0,56,68,130,130,130,7,5,5,8,0,0,130,130,130, - 68,56,7,5,5,7,0,0,248,4,2,4,248,7,7,7, - 7,0,254,248,4,2,4,248,0,254,7,7,7,7,0,255, - 4,62,72,136,80,62,32,7,5,5,7,0,0,62,64,128, - 64,62,7,7,7,7,0,254,62,64,128,64,62,0,254,5, - 5,5,7,1,0,120,128,248,128,120,5,7,7,7,1,255, - 16,120,144,248,160,120,64,7,7,7,8,0,0,2,4,8, - 16,32,64,254,6,7,7,7,0,0,252,132,132,72,72,48, - 48,7,8,8,8,0,255,56,68,250,170,178,174,68,56,7, - 8,8,8,0,255,56,68,154,170,162,154,68,56,10,5,10, - 10,0,2,253,0,170,128,42,128,42,128,122,192,8,9,9, - 9,0,255,255,66,66,66,66,66,66,66,231,6,10,10,6, - 0,0,4,4,8,8,72,208,80,80,32,32,1,1,1,3, - 1,2,128,6,3,3,7,0,0,252,4,4,5,5,5,6, - 0,0,32,80,80,136,136,5,5,5,6,0,0,136,136,80, - 80,32,10,5,10,11,0,0,33,0,127,128,128,64,127,128, - 33,0,9,5,10,10,0,0,32,0,127,128,128,0,127,128, - 32,0,5,10,10,6,0,0,32,112,216,80,80,80,80,80, - 80,80,9,5,10,10,0,0,2,0,255,0,0,128,255,0, - 2,0,5,10,10,6,0,0,80,80,80,80,80,80,80,216, - 80,32,7,7,7,7,0,0,16,40,68,198,68,40,16,3, - 9,9,3,0,254,32,32,64,64,128,64,64,32,32,7,8, - 8,8,0,255,56,68,186,170,178,170,68,56,7,8,8,8, - 0,255,56,68,154,162,162,154,68,56,8,5,5,9,0,2, - 250,85,85,85,85,6,9,9,7,0,255,252,132,64,32,16, - 32,64,132,252,3,14,14,4,1,252,32,64,64,128,128,128, - 128,128,128,128,128,128,128,128,1,15,15,4,1,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,3,15,15, - 4,1,252,128,128,128,128,128,128,128,128,128,128,128,128,64, - 64,32,3,14,14,4,1,252,224,128,128,128,128,128,128,128, - 128,128,128,128,128,128,1,15,15,4,1,252,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,4,1, - 254,128,128,128,128,128,128,128,128,128,128,128,128,224,3,14, - 14,5,2,252,96,128,128,128,128,128,128,128,128,128,128,128, - 128,128,3,15,15,5,0,252,32,32,32,32,32,64,128,64, - 32,32,32,32,32,32,32,3,13,13,5,2,254,128,128,128, - 128,128,128,128,128,128,128,128,128,96,1,15,15,5,2,252, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,255, - 3,9,9,3,0,254,128,128,64,64,32,64,64,128,128,3, - 12,12,3,0,254,32,64,64,64,64,64,64,64,64,64,64, - 128,4,14,14,7,3,252,48,80,128,128,128,128,128,128,128, - 128,128,128,128,128,1,15,15,7,0,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,4,13,13,7,0,254, - 16,16,16,16,16,16,16,16,16,16,16,160,192,3,14,14, - 4,0,252,128,64,64,32,32,32,32,32,32,32,32,32,32, - 32,1,15,15,4,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,3,15,15,4,0,252,32,32,32,32, - 32,32,32,32,32,32,32,32,64,64,128,3,14,14,4,0, - 252,224,32,32,32,32,32,32,32,32,32,32,32,32,32,1, - 15,15,4,2,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,13,13,4,0,254,32,32,32,32,32,32, - 32,32,32,32,32,32,224,3,14,14,5,0,252,192,32,32, - 32,32,32,32,32,32,32,32,32,32,32,3,15,15,5,2, - 252,128,128,128,128,128,64,32,64,128,128,128,128,128,128,128, - 3,13,13,5,0,254,32,32,32,32,32,32,32,32,32,32, - 32,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 9 h=10 x= 1 y= 9 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w=11 h=15 x=-1 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb08r[1211] U8G_SECTION(".progmem.u8g_font_symb08r") = { - 0,11,15,255,252,7,1,152,3,60,32,127,254,10,253,7, - 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, - 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, - 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, - 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, - 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, - 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, - 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, - 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, - 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, - 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, - 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, - 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, - 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, - 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, - 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, - 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, - 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, - 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, - 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, - 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, - 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, - 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, - 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, - 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, - 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, - 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, - 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, - 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, - 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, - 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, - 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, - 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, - 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, - 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, - 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, - 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, - 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, - 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, - 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, - 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, - 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, - 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, - 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, - 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, - 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, - 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, - 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, - 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, - 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, - 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, - 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, - 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, - 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, - 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, - 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, - 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, - 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, - 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, - 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, - 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, - 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, - 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, - 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, - 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, - 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, - 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, - 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, - 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, - 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, - 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, - 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, - 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, - 64,128,5,2,2,6,0,2,104,176,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=15 x= 7 y=11 dx=15 dy= 0 ascent=12 len=24 - Font Bounding box w=16 h=15 x=-1 y=-3 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb10[3433] U8G_SECTION(".progmem.u8g_font_symb10") = { - 0,16,15,255,253,10,2,6,4,121,32,255,253,12,253,10, - 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, - 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, - 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, - 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, - 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, - 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, - 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, - 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, - 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, - 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, - 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, - 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, - 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, - 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, - 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, - 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, - 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, - 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, - 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, - 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, - 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, - 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, - 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, - 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, - 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, - 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, - 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, - 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, - 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, - 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, - 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, - 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, - 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, - 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, - 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, - 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, - 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, - 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, - 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, - 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, - 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, - 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, - 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, - 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, - 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, - 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, - 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, - 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, - 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, - 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, - 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, - 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, - 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, - 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, - 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, - 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, - 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, - 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, - 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, - 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, - 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, - 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, - 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, - 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, - 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, - 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, - 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, - 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, - 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, - 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, - 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, - 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, - 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, - 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, - 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, - 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, - 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, - 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, - 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, - 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, - 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, - 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, - 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, - 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, - 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, - 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, - 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, - 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, - 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, - 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, - 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, - 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, - 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, - 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,255,8,10,10,9,0,0,198,105,43,16,16,16,16,16, - 16,56,4,3,3,4,0,7,48,96,128,7,9,9,8,0, - 0,2,12,48,192,48,12,2,0,254,5,10,10,4,255,0, - 8,8,16,16,32,32,64,64,128,128,9,4,8,10,0,2, - 119,0,152,128,140,128,119,0,7,13,13,7,0,253,6,10, - 8,8,60,16,16,16,32,32,32,160,192,9,7,14,11,1, - 0,28,0,28,0,28,0,235,128,255,128,235,128,8,0,7, - 7,7,11,2,0,16,56,124,254,124,56,16,7,7,7,11, - 2,0,108,254,254,254,124,56,16,9,7,14,11,1,0,8, - 0,28,0,62,0,127,0,255,128,107,0,8,0,13,7,14, - 15,1,0,16,64,32,32,64,16,255,248,64,16,32,32,16, - 64,14,7,14,14,0,0,16,0,32,0,64,0,255,252,64, - 0,32,0,16,0,7,15,15,9,1,253,16,56,84,146,16, - 16,16,16,16,16,16,16,16,16,16,14,7,14,14,0,0, - 0,32,0,16,0,8,255,252,0,8,0,16,0,32,7,15, - 15,9,1,253,16,16,16,16,16,16,16,16,16,16,16,146, - 84,56,16,4,4,4,6,1,6,96,144,144,96,7,9,9, - 8,0,0,16,16,16,254,16,16,16,0,254,7,3,3,6, - 0,7,54,108,144,7,9,9,8,0,0,128,96,24,6,24, - 96,128,0,254,7,7,7,8,0,0,130,68,40,16,40,68, - 130,8,4,4,10,0,2,119,136,136,119,6,11,11,7,0, - 0,112,136,4,4,4,116,204,132,132,200,112,5,5,5,7, - 1,1,112,248,248,248,112,7,7,7,8,0,0,16,16,0, - 254,0,16,16,7,7,7,8,0,0,4,8,254,16,254,32, - 64,7,5,5,8,0,1,254,0,254,0,254,7,5,5,8, - 0,2,114,156,0,114,156,11,2,4,15,2,0,132,32,132, - 32,1,15,15,9,4,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,15,1,2,15,0,3,255,254,8,9, - 9,10,0,0,1,1,1,1,1,1,65,255,64,8,10,10, - 12,2,0,136,206,102,36,116,156,140,70,99,225,8,12,12, - 10,1,255,63,97,66,70,36,6,3,1,97,241,26,12,10, - 11,22,12,1,0,115,0,157,128,137,128,139,0,206,0,106, - 0,41,0,9,0,9,0,105,0,176,192,9,12,24,12,1, - 253,16,0,35,0,69,128,72,128,144,128,212,128,105,0,107, - 0,182,0,144,0,144,0,96,0,9,9,18,11,1,0,28, - 0,99,0,99,0,148,128,136,128,148,128,99,0,99,0,28, - 0,9,9,18,11,1,0,28,0,99,0,73,0,136,128,190, - 128,136,128,73,0,99,0,28,0,11,11,22,12,0,0,31, - 32,96,192,64,192,129,32,130,32,132,32,136,32,144,32,96, - 64,96,192,159,0,10,7,14,10,0,0,30,0,97,128,64, - 128,128,64,128,64,128,64,128,64,10,7,14,10,0,0,128, - 64,128,64,128,64,128,64,64,128,97,128,30,0,9,7,14, - 10,0,0,254,0,1,0,0,128,0,128,0,128,1,0,254, - 0,9,9,18,10,1,254,254,0,1,0,0,128,0,128,0, - 128,1,0,254,0,0,0,255,128,9,9,18,10,0,255,1, - 0,63,128,66,0,130,0,132,0,132,0,72,0,63,128,16, - 0,9,7,14,10,1,0,63,128,64,0,128,0,128,0,128, - 0,64,0,63,128,9,9,18,10,0,254,63,128,64,0,128, - 0,128,0,128,0,64,0,63,128,0,0,255,128,7,7,7, - 10,1,0,62,64,128,254,128,64,62,7,9,9,10,0,255, - 4,62,72,144,254,144,96,62,64,11,10,20,11,0,0,0, - 64,0,128,1,0,2,0,4,0,8,0,16,0,32,0,64, - 0,255,224,9,11,22,10,0,0,255,128,128,128,65,0,65, - 0,34,0,34,0,34,0,20,0,20,0,8,0,8,0,10, - 10,20,12,1,0,30,0,33,0,124,128,146,64,146,64,156, - 64,146,64,121,128,33,0,30,0,10,10,20,12,1,0,30, - 0,33,0,78,128,146,64,144,64,144,64,146,64,76,128,33, - 0,30,0,11,6,12,11,0,4,250,128,170,128,38,192,37, - 64,37,64,118,224,10,12,24,12,1,255,255,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,64, - 128,225,192,8,12,12,8,0,0,1,1,1,2,2,98,164, - 36,20,20,8,8,1,2,2,4,1,3,128,128,9,5,10, - 10,0,0,255,128,0,128,0,128,0,128,0,128,8,7,7, - 9,0,0,24,24,36,36,66,66,129,8,7,7,9,0,0, - 129,66,66,36,36,24,24,13,7,14,15,1,0,16,64,32, - 32,127,240,192,24,127,240,32,32,16,64,13,7,14,14,0, - 0,16,0,32,0,127,248,192,0,127,248,32,0,16,0,7, - 12,12,9,1,0,16,56,108,170,40,40,40,40,40,40,40, - 40,13,7,14,14,1,0,0,64,0,32,255,240,0,24,255, - 240,0,32,0,64,7,12,12,9,1,0,40,40,40,40,40, - 40,40,40,170,108,56,16,7,11,11,7,0,0,16,40,40, - 68,68,130,68,68,40,40,16,4,15,15,5,0,253,16,32, - 32,64,64,64,128,128,128,64,64,64,32,32,16,10,10,20, - 12,1,0,30,0,33,0,92,128,146,64,146,64,156,64,146, - 64,82,128,33,0,30,0,10,10,20,12,1,0,30,0,33, - 0,76,128,146,64,144,64,144,64,146,64,76,128,33,0,30, - 0,10,6,12,11,0,4,250,128,34,128,38,192,37,64,37, - 64,36,64,9,12,24,10,0,255,255,0,129,0,64,0,32, - 0,16,0,8,0,8,0,16,0,32,0,64,0,128,128,255, - 128,4,15,15,6,1,253,16,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,1,15,15,6,1,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,128,128,128,128,128,128,128,128,128,128,128,64,64,32,16, - 4,15,15,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,1,15,15,6,1,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,4,15,15,6,1,253, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,240,4, - 15,15,7,3,253,48,64,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,15,15,7,1,253,32,32,32,32,32,32, - 64,128,64,32,32,32,32,32,32,4,15,15,7,3,253,128, - 128,128,128,128,128,128,128,128,128,128,128,128,64,48,1,15, - 15,7,3,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,255,4,15,15,5,1,253,128,64,64,32,32,32, - 16,16,16,32,32,32,64,64,128,5,13,13,4,0,255,24, - 40,32,32,32,32,32,32,32,32,32,160,192,5,15,15,10, - 5,253,56,88,64,128,128,128,128,128,128,128,128,128,128,128, - 128,1,15,15,10,5,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,5,15,15,10,1,253,8,8,8,8, - 8,8,8,8,8,8,8,8,16,208,224,4,15,15,6,1, - 253,128,64,32,32,16,16,16,16,16,16,16,16,16,16,16, - 1,15,15,6,4,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,4,15,15,6,1,253,16,16,16,16,16, - 16,16,16,16,16,16,32,32,64,128,4,15,15,6,1,253, - 240,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1, - 15,15,6,4,253,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,4,15,15,6,1,253,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,240,4,15,15,7,0,253,192, - 32,16,16,16,16,16,16,16,16,16,16,16,16,16,3,15, - 15,7,3,253,128,128,128,128,128,128,64,32,64,128,128,128, - 128,128,128,4,15,15,7,0,253,16,16,16,16,16,16,16, - 16,16,16,16,16,16,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=11 h=15 x= 7 y=11 dx=13 dy= 0 ascent=12 len=20 - Font Bounding box w=16 h=15 x=-1 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb10r[1633] U8G_SECTION(".progmem.u8g_font_symb10r") = { - 0,16,15,255,253,10,2,6,4,121,32,127,253,12,253,10, - 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, - 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, - 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, - 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, - 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, - 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, - 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, - 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, - 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, - 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, - 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, - 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, - 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, - 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, - 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, - 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, - 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, - 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, - 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, - 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, - 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, - 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, - 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, - 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, - 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, - 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, - 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, - 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, - 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, - 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, - 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, - 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, - 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, - 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, - 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, - 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, - 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, - 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, - 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, - 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, - 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, - 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, - 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, - 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, - 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, - 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, - 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, - 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, - 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, - 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, - 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, - 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, - 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, - 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, - 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, - 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, - 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, - 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, - 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, - 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, - 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, - 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, - 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, - 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, - 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, - 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, - 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, - 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, - 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, - 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, - 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, - 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, - 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, - 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, - 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, - 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, - 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, - 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, - 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, - 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, - 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, - 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, - 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, - 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, - 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, - 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, - 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, - 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, - 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, - 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, - 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, - 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, - 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=16 h=17 x= 7 y=12 dx=17 dy= 0 ascent=13 len=30 - Font Bounding box w=20 h=17 x=-3 y=-4 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb12[4136] U8G_SECTION(".progmem.u8g_font_symb12") = { - 0,20,17,253,252,11,2,70,5,85,32,255,252,13,252,12, - 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, - 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, - 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, - 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, - 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, - 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, - 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, - 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, - 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, - 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, - 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, - 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, - 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, - 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, - 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, - 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, - 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, - 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, - 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, - 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, - 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, - 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, - 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, - 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, - 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, - 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, - 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, - 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, - 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, - 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, - 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, - 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, - 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, - 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, - 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, - 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, - 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, - 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, - 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, - 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, - 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, - 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, - 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, - 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, - 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, - 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, - 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, - 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, - 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, - 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, - 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, - 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, - 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, - 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, - 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, - 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, - 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, - 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, - 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, - 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, - 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, - 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, - 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, - 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, - 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, - 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, - 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, - 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, - 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, - 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, - 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, - 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, - 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, - 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, - 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, - 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, - 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, - 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, - 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, - 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, - 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, - 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, - 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, - 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, - 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, - 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, - 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, - 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, - 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, - 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, - 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, - 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, - 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, - 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, - 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, - 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, - 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, - 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, - 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, - 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, - 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, - 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, - 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, - 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, - 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, - 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, - 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, - 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, - 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, - 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, - 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, - 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,255,10,11,22,10,255,0,225,128,18,192,10,192,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,30,0,3,4, - 4,4,1,8,96,96,192,128,8,11,11,9,0,0,1,6, - 24,96,128,96,24,6,1,0,255,8,11,11,3,253,0,1, - 2,2,4,8,16,16,32,64,64,128,11,5,10,12,0,2, - 113,192,138,32,132,32,138,32,113,192,7,15,15,8,0,253, - 6,10,8,8,8,126,16,16,16,16,32,32,32,160,192,9, - 10,20,12,1,255,28,0,62,0,62,0,28,0,107,0,255, - 128,255,128,107,0,8,0,28,0,7,9,9,12,2,0,16, - 56,124,124,254,124,124,56,16,8,9,9,12,2,0,102,255, - 255,255,126,60,60,24,24,9,10,20,12,2,255,8,0,28, - 0,28,0,62,0,127,0,127,0,255,128,107,0,8,0,28, - 0,15,9,18,17,0,0,8,32,16,16,32,8,64,4,255, - 254,64,4,32,8,16,16,8,32,16,9,18,16,0,0,8, - 0,16,0,32,0,64,0,255,255,64,0,32,0,16,0,8, - 0,9,15,30,10,0,254,8,0,28,0,42,0,73,0,136, - 128,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,15,9,18,16,0,0,0,32,0,16,0, - 8,0,4,255,254,0,4,0,8,0,16,0,32,9,15,30, - 10,0,254,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,136,128,73,0,42,0,28,0,8, - 0,5,5,5,6,0,6,112,136,136,136,112,9,11,22,9, - 0,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,0,0,255,128,6,4,4,7,1,8,108,108, - 216,144,8,11,11,9,0,0,128,96,24,6,1,6,24,96, - 128,0,255,9,9,18,9,0,0,128,128,65,0,34,0,20, - 0,8,0,20,0,34,0,65,0,128,128,10,5,10,11,0, - 2,113,192,138,0,132,0,138,0,113,192,7,14,14,8,0, - 255,120,196,4,2,2,2,58,102,194,194,130,196,68,56,6, - 6,6,8,1,2,120,252,252,252,252,120,8,7,7,9,0, - 1,24,24,0,255,0,24,24,9,10,20,9,0,255,2,0, - 2,0,4,0,255,128,8,0,8,0,255,128,16,0,32,0, - 32,0,8,7,7,9,0,1,255,0,0,255,0,0,255,8, - 5,5,9,0,2,113,142,0,113,142,13,3,6,16,1,0, - 66,16,231,56,66,16,1,17,17,10,4,252,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,16,1,2, - 16,0,4,255,255,9,11,22,10,0,255,0,128,0,128,0, - 128,0,128,0,128,0,128,32,128,96,128,255,128,96,0,32, - 0,9,11,22,13,2,0,68,0,231,0,103,0,50,0,26, - 0,60,0,108,0,102,0,99,0,51,128,113,0,9,14,28, - 11,0,255,30,0,63,128,67,128,65,0,66,0,34,0,19, - 0,1,0,1,128,0,128,0,128,112,128,191,0,28,0,12, - 13,26,13,0,0,113,128,138,192,140,96,196,64,100,128,37, - 0,7,128,5,128,12,192,12,192,8,208,104,96,48,64,12, - 13,26,16,2,252,12,0,17,224,34,48,36,16,72,48,114, - 32,102,96,100,192,115,0,144,0,144,0,144,0,96,0,11, - 11,22,12,1,0,14,0,49,128,64,64,81,64,138,32,132, - 32,138,32,81,64,64,64,49,128,14,0,11,11,22,12,1, - 0,14,0,49,128,68,64,68,64,132,32,191,160,132,32,68, - 64,68,64,49,128,14,0,12,12,24,13,1,0,15,16,48, - 224,64,96,64,160,129,16,130,16,132,16,136,16,80,32,96, - 32,112,192,159,0,11,9,18,12,1,0,14,0,49,128,64, - 64,64,64,128,32,128,32,128,32,128,32,128,32,11,9,18, - 12,1,0,128,32,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,10,8,16,11,0,0,255,0,0,128,0, - 64,0,64,0,64,0,64,0,128,255,0,10,10,20,11,0, - 253,255,0,0,128,0,64,0,64,0,64,0,64,0,128,255, - 0,0,0,255,192,11,10,20,11,0,255,0,128,63,224,65, - 0,129,0,130,0,130,0,132,0,68,0,63,224,8,0,10, - 8,16,11,0,0,63,192,64,0,128,0,128,0,128,0,128, - 0,64,0,63,192,10,10,20,11,0,254,63,192,64,0,128, - 0,128,0,128,0,128,0,64,0,63,192,0,0,255,192,7, - 7,7,11,0,0,62,64,128,254,128,64,62,7,9,9,11, - 0,255,4,62,72,136,254,144,80,62,32,11,11,22,12,1, - 0,0,32,0,64,0,128,1,0,2,0,4,0,8,0,16, - 0,32,0,64,0,255,192,10,11,22,11,1,1,255,192,192, - 128,96,128,97,0,49,0,50,0,50,0,28,0,28,0,8, - 0,8,0,11,11,22,13,1,0,14,0,49,128,94,64,73, - 64,137,32,142,32,138,32,73,64,93,192,49,128,14,0,11, - 11,22,13,1,0,14,0,49,128,70,64,73,64,145,32,144, - 32,144,32,73,64,70,64,49,128,14,0,13,6,12,14,0, - 5,255,24,171,16,34,176,34,176,34,80,119,88,12,15,30, - 13,1,254,255,240,96,96,96,96,96,96,96,96,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,240, - 240,7,16,16,9,1,253,2,2,2,2,2,4,68,196,36, - 36,20,20,20,8,8,8,2,2,2,4,1,3,192,192,11, - 5,10,12,0,0,255,224,0,32,0,32,0,32,0,32,9, - 8,16,10,0,0,8,0,8,0,20,0,34,0,34,0,65, - 0,128,128,128,128,9,8,16,10,0,0,128,128,128,128,65, - 0,34,0,34,0,20,0,8,0,8,0,16,9,18,17,0, - 0,8,16,16,8,63,252,64,2,128,1,64,2,63,252,16, - 8,8,16,15,9,18,16,0,0,8,0,16,0,63,254,64, - 0,128,0,64,0,63,254,16,0,8,0,9,15,30,10,0, - 254,8,0,20,0,34,0,99,0,162,128,34,0,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,15, - 9,18,16,0,0,0,32,0,16,255,248,0,4,0,2,0, - 4,255,248,0,16,0,32,9,15,30,10,0,254,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, - 0,162,128,99,0,34,0,20,0,8,0,7,12,12,8,0, - 0,16,40,40,68,68,130,130,68,68,40,40,16,4,15,15, - 5,0,254,16,16,32,32,64,64,128,128,128,64,64,32,32, - 16,16,11,11,22,13,1,0,14,0,49,128,94,64,81,64, - 145,32,158,32,145,32,81,64,81,64,49,128,14,0,11,11, - 22,13,1,0,14,0,49,128,70,64,73,64,144,32,144,32, - 144,32,73,64,70,64,49,128,14,0,11,6,12,13,0,5, - 252,32,38,96,38,96,37,160,37,160,36,32,11,15,30,11, - 0,254,255,192,112,64,56,64,24,0,12,0,14,0,7,0, - 3,0,2,0,4,0,8,0,16,32,32,64,127,192,255,128, - 6,17,17,6,1,252,4,8,16,32,32,64,64,64,64,128, - 128,128,128,128,128,128,128,1,17,17,6,1,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,17, - 17,6,1,252,128,128,128,128,128,128,128,128,64,64,64,64, - 32,32,16,8,4,5,17,17,6,0,252,248,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,1,17,17,6, - 0,252,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,17,17,6,0,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,248,4,17,17,8,3,252, - 48,64,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,4,17,17,8,0,252,16,16,16,16,16,16,16,32,192, - 32,16,16,16,16,16,16,16,4,17,17,8,3,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,64,48,1, - 17,17,8,3,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,255,4,15,15,5,0,254,128,128,64, - 64,32,32,16,16,16,32,32,64,64,128,128,5,17,17,5, - 0,252,24,40,32,32,32,32,32,32,32,32,32,32,32,32, - 32,160,192,6,17,17,11,5,252,24,44,72,64,128,128,128, - 128,128,128,128,128,128,128,128,128,128,1,17,17,11,5,252, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,11,0,252,4,4,4,4,4,4,4,4,4, - 4,4,4,4,8,72,208,96,6,17,17,7,1,252,128,64, - 32,16,16,8,8,8,8,4,4,4,4,4,4,4,4,1, - 17,17,6,5,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,6,17,17,6,0,252,4,4,4,4, - 4,4,4,4,8,8,8,8,16,16,32,64,128,5,17,17, - 6,1,252,248,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,1,17,17,6,5,252,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,5,17,17,6,1, - 252,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,248,4,17,17,8,0,252,192,32,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,4,17,17,8,3,252,128, - 128,128,128,128,128,128,64,48,64,128,128,128,128,128,128,128, - 4,17,17,8,0,252,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=13 h=17 x= 7 y=12 dx=14 dy= 0 ascent=13 len=26 - Font Bounding box w=20 h=17 x=-3 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb12r[1985] U8G_SECTION(".progmem.u8g_font_symb12r") = { - 0,20,17,253,252,11,2,70,5,85,32,127,252,13,252,12, - 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, - 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, - 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, - 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, - 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, - 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, - 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, - 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, - 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, - 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, - 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, - 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, - 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, - 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, - 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, - 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, - 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, - 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, - 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, - 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, - 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, - 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, - 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, - 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, - 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, - 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, - 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, - 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, - 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, - 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, - 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, - 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, - 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, - 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, - 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, - 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, - 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, - 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, - 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, - 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, - 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, - 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, - 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, - 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, - 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, - 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, - 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, - 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, - 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, - 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, - 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, - 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, - 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, - 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, - 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, - 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, - 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, - 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, - 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, - 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, - 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, - 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, - 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, - 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, - 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, - 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, - 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, - 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, - 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, - 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, - 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, - 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, - 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, - 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, - 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, - 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, - 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, - 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, - 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, - 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, - 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, - 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, - 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, - 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, - 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, - 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, - 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, - 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, - 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, - 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, - 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, - 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, - 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, - 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, - 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, - 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, - 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, - 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, - 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, - 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, - 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, - 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, - 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, - 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, - 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, - 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, - 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, - 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, - 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, - 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, - 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=19 h=19 x= 9 y=13 dx=19 dy= 0 ascent=14 len=34 - Font Bounding box w=20 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb14[4665] U8G_SECTION(".progmem.u8g_font_symb14") = { - 0,20,19,255,251,13,2,127,6,16,32,255,252,14,251,13, - 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, - 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, - 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, - 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, - 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, - 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, - 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, - 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, - 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, - 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, - 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, - 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, - 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, - 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, - 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, - 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, - 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, - 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, - 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, - 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, - 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, - 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, - 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, - 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, - 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, - 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, - 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, - 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, - 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, - 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, - 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, - 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, - 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, - 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, - 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, - 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, - 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, - 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, - 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, - 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, - 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, - 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, - 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, - 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, - 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, - 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, - 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, - 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, - 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, - 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, - 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, - 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, - 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, - 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, - 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, - 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, - 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, - 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, - 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, - 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, - 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, - 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, - 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, - 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, - 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, - 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, - 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, - 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, - 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, - 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, - 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, - 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, - 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, - 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, - 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, - 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, - 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, - 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, - 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, - 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, - 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, - 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, - 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, - 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, - 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, - 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, - 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, - 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, - 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, - 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, - 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, - 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, - 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, - 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, - 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, - 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, - 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, - 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, - 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, - 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, - 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, - 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, - 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, - 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, - 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, - 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, - 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, - 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, - 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, - 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, - 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, - 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, - 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, - 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, - 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, - 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, - 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, - 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, - 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, - 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, - 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, - 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, - 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, - 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, - 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, - 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, - 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, - 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, - 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, - 4,115,255,206,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,255,11,13,26,12,0,0,225,192,115,32, - 58,96,28,96,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,30,0,4,5,5,5,1,9,48,112,96,192, - 128,9,12,24,10,0,0,3,128,15,0,60,0,240,0,192, - 0,240,0,60,0,15,0,3,128,0,0,255,128,255,128,8, - 13,13,5,255,0,3,6,6,12,12,24,24,48,48,96,96, - 192,192,12,5,10,13,0,3,121,224,207,48,134,16,207,48, - 121,224,9,17,34,9,0,252,3,128,5,128,12,0,12,0, - 12,0,127,0,24,0,24,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,208,0,224,0,10,9,18,14,2,0, - 12,0,30,0,30,0,30,0,109,128,255,192,255,192,109,128, - 12,0,9,9,18,13,2,0,8,0,28,0,62,0,127,0, - 255,128,127,0,62,0,28,0,8,0,9,9,18,13,2,0, - 99,0,247,128,255,128,255,128,127,0,127,0,62,0,28,0, - 8,0,10,9,18,14,2,0,12,0,30,0,63,0,127,128, - 255,192,255,192,109,128,12,0,12,0,17,8,24,19,1,1, - 24,12,0,48,6,0,96,3,0,255,255,128,255,255,128,96, - 3,0,48,6,0,24,12,0,18,8,24,18,0,1,24,0, - 0,48,0,0,96,0,0,255,255,192,255,255,192,96,0,0, - 48,0,0,24,0,0,8,19,19,10,1,251,24,60,126,219, - 153,24,24,24,24,24,24,24,24,24,24,24,24,24,24,18, - 8,24,18,0,1,0,6,0,0,3,0,0,1,128,255,255, - 192,255,255,192,0,1,128,0,3,0,0,6,0,8,19,19, - 10,1,251,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,153,219,126,60,24,5,6,6,7,1,7,112,248,216,216, - 248,112,8,11,11,10,1,0,24,24,24,255,255,24,24,24, - 0,255,255,8,5,5,8,0,9,51,119,102,204,136,9,12, - 24,10,0,0,224,0,120,0,30,0,7,128,1,128,7,128, - 30,0,120,0,224,0,0,0,255,128,255,128,10,9,18,10, - 0,0,225,192,115,128,51,0,30,0,12,0,30,0,51,0, - 115,128,225,192,11,5,10,12,0,3,121,224,207,0,134,0, - 207,0,121,224,7,14,14,9,1,0,120,204,134,6,6,6, - 62,102,198,198,198,196,236,120,5,6,6,9,2,2,112,248, - 248,248,248,112,8,8,8,10,1,1,24,24,0,255,255,0, - 24,24,8,9,9,10,1,0,12,12,255,255,24,255,255,48, - 48,8,8,8,10,1,1,255,255,0,255,255,0,255,255,8, - 7,7,10,1,2,115,255,206,0,115,255,206,14,2,4,18, - 2,0,195,12,195,12,2,19,19,10,4,251,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,19, - 2,6,19,0,4,255,255,224,255,255,224,9,12,24,12,1, - 0,1,128,1,128,1,128,1,128,1,128,1,128,33,128,97, - 128,255,128,255,128,96,0,32,0,11,13,26,13,1,0,194, - 0,227,192,113,224,56,224,57,128,125,0,207,0,199,0,227, - 0,115,128,49,192,112,192,240,64,10,15,30,13,1,255,31, - 192,63,192,96,128,65,0,66,0,34,0,19,0,3,128,1, - 192,0,192,0,192,112,192,248,128,31,0,14,0,13,14,28, - 15,1,0,121,192,254,224,142,112,134,48,198,96,118,128,54, - 64,38,96,6,96,6,96,6,96,6,96,108,120,184,48,12, - 15,30,14,1,252,12,0,24,0,49,224,103,48,204,48,216, - 48,214,48,246,96,100,224,119,192,179,128,152,0,152,0,216, - 0,112,0,12,13,26,14,1,0,31,128,57,192,96,96,217, - 176,221,176,143,16,134,16,143,16,219,176,217,176,96,96,57, - 192,31,128,12,13,26,14,1,0,31,128,57,192,102,96,198, - 48,198,48,191,208,191,208,134,16,198,48,198,48,96,96,57, - 192,31,128,12,13,26,14,1,0,31,176,57,240,96,96,192, - 240,193,176,131,16,134,16,140,16,216,48,240,48,96,96,249, - 192,223,128,12,9,18,14,1,0,31,128,57,192,96,96,224, - 112,192,48,192,48,192,48,192,48,192,48,12,9,18,14,1, - 0,192,48,192,48,192,48,192,48,192,48,224,112,96,96,57, - 192,31,128,12,9,18,13,1,0,255,128,255,224,0,96,0, - 48,0,48,0,48,0,96,255,224,255,128,12,12,24,13,0, - 253,255,128,255,224,0,96,0,48,0,48,0,48,0,96,255, - 224,255,128,0,0,255,240,255,240,12,13,26,13,0,254,0, - 96,0,192,31,240,127,240,97,128,195,0,195,0,198,0,102, - 0,127,240,31,240,24,0,48,0,12,9,18,13,0,0,31, - 240,127,240,96,0,192,0,192,0,192,0,96,0,127,240,31, - 240,12,12,24,13,0,253,31,240,127,240,96,0,192,0,192, - 0,192,0,96,0,127,240,31,240,0,0,255,240,255,240,9, - 9,18,12,1,0,31,128,127,128,224,0,192,0,255,128,192, - 0,224,0,127,128,31,128,10,11,22,12,1,255,0,128,31, - 192,127,192,226,0,196,0,255,128,200,0,240,0,127,192,63, - 192,64,0,13,13,26,14,0,0,0,24,0,48,0,96,0, - 192,1,128,3,0,6,0,12,0,24,0,48,0,96,0,192, - 0,255,248,11,13,26,13,1,0,255,224,224,32,96,96,96, - 64,112,192,48,128,48,128,57,128,25,0,27,0,14,0,14, - 0,4,0,13,13,26,15,1,0,31,192,56,224,96,48,223, - 24,205,152,205,152,205,152,207,24,205,152,220,216,96,48,56, - 224,31,192,13,13,26,15,1,0,31,192,56,224,96,48,199, - 152,205,152,204,152,204,24,204,24,204,152,199,24,96,48,56, - 224,31,192,14,8,16,16,1,5,251,28,171,24,35,24,34, - 168,34,168,34,168,34,72,119,92,14,16,32,15,0,254,255, - 252,120,120,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,120,120,252,252,9, - 14,28,10,0,0,0,128,0,128,0,128,0,128,48,128,113, - 0,217,0,25,0,25,0,13,0,14,0,6,0,6,0,6, - 0,2,2,2,4,1,4,192,192,11,6,12,13,1,0,255, - 224,255,224,0,96,0,96,0,96,0,96,10,9,18,11,0, - 0,12,0,12,0,30,0,51,0,51,0,97,128,97,128,192, - 192,192,192,10,9,18,11,0,0,192,192,192,192,97,128,97, - 128,51,0,51,0,30,0,12,0,12,0,18,9,27,18,0, - 0,8,4,0,24,6,0,63,255,0,127,255,128,224,1,192, - 127,255,128,63,255,0,24,6,0,8,4,0,16,9,18,18, - 1,0,8,0,24,0,63,255,127,255,224,0,127,255,63,255, - 24,0,8,0,9,17,34,11,1,253,8,0,28,0,54,0, - 119,0,247,128,54,0,54,0,54,0,54,0,54,0,54,0, - 54,0,54,0,54,0,54,0,54,0,54,0,16,9,18,18, - 1,0,0,16,0,24,255,252,255,254,0,7,255,254,255,252, - 0,24,0,16,9,17,34,11,1,253,54,0,54,0,54,0, - 54,0,54,0,54,0,54,0,54,0,54,0,54,0,54,0, - 54,0,247,128,119,0,54,0,28,0,8,0,9,14,28,9, - 0,0,28,0,28,0,54,0,54,0,99,0,99,0,193,128, - 193,128,99,0,99,0,54,0,54,0,28,0,28,0,5,17, - 17,6,0,253,24,24,48,48,96,96,192,192,128,192,192,96, - 96,48,48,24,24,13,13,26,15,1,0,31,192,56,224,96, - 48,207,24,205,152,205,152,207,24,205,152,205,152,205,152,96, - 48,56,224,31,192,13,13,26,15,1,0,31,192,56,224,96, - 48,199,24,204,152,204,24,204,24,204,24,204,152,199,24,96, - 48,56,224,31,192,13,8,16,15,1,5,251,24,35,24,35, - 24,34,168,34,168,34,168,34,72,34,72,12,16,32,13,0, - 254,255,224,224,96,112,32,56,0,28,0,14,0,7,0,3, - 0,6,0,12,0,24,0,48,0,96,16,192,48,255,240,255, - 240,6,19,19,7,1,251,4,12,24,24,48,48,96,96,96, - 96,192,192,192,192,192,192,192,192,192,2,19,19,7,1,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,6,19,19,7,1,251,192,192,192,192,192,192,192, - 192,192,224,96,96,96,48,48,24,24,12,4,5,19,19,7, - 1,251,248,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,2,19,19,7,1,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,19, - 19,7,1,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,5,19,19,9,4,251,56,96,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 5,19,19,9,1,251,24,24,24,24,24,24,16,48,96,192, - 96,48,16,24,24,24,24,24,24,5,19,19,9,4,251,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 96,56,2,19,19,9,4,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,255,5,17,17,6, - 0,253,192,192,96,96,48,48,24,24,8,24,24,48,48,96, - 96,192,192,6,19,19,6,0,251,28,28,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,224,224,7,19,19,13, - 5,251,28,126,102,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,2,19,19,13,5,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,7,19, - 19,13,0,251,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,204,252,112,6,19,19,7,0,251,128,192,96, - 96,48,48,24,24,24,24,12,12,12,12,12,12,12,12,12, - 2,19,19,7,4,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,6,19,19,7,0,251,12, - 12,12,12,12,12,12,12,12,24,24,24,24,48,48,96,96, - 192,128,5,19,19,7,1,251,248,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,2,19,19,7,4, - 251,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,5,19,19,7,1,251,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,5,19,19, - 9,1,251,224,48,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,5,19,19,9,4,251,192,192,192,192, - 192,192,64,96,48,24,48,96,64,192,192,192,192,192,192,5, - 19,19,9,1,251,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,48,224,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=14 h=19 x= 9 y=13 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=20 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb14r[2261] U8G_SECTION(".progmem.u8g_font_symb14r") = { - 0,20,19,255,251,13,2,127,6,16,32,127,252,14,251,13, - 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, - 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, - 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, - 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, - 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, - 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, - 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, - 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, - 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, - 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, - 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, - 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, - 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, - 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, - 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, - 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, - 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, - 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, - 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, - 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, - 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, - 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, - 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, - 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, - 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, - 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, - 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, - 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, - 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, - 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, - 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, - 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, - 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, - 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, - 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, - 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, - 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, - 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, - 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, - 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, - 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, - 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, - 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, - 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, - 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, - 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, - 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, - 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, - 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, - 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, - 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, - 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, - 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, - 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, - 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, - 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, - 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, - 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, - 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, - 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, - 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, - 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, - 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, - 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, - 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, - 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, - 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, - 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, - 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, - 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, - 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, - 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, - 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, - 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, - 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, - 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, - 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, - 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, - 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, - 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, - 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, - 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, - 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, - 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, - 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, - 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, - 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, - 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, - 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, - 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, - 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, - 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, - 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, - 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, - 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, - 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, - 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, - 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, - 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, - 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, - 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, - 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, - 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, - 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, - 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, - 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, - 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, - 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, - 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, - 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, - 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, - 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, - 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, - 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, - 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, - 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, - 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, - 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, - 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, - 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, - 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, - 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, - 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, - 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, - 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, - 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, - 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, - 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, - 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, - 4,115,255,206,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=25 h=24 x=13 y=18 dx=26 dy= 0 ascent=19 len=63 - Font Bounding box w=27 h=24 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb18[6604] U8G_SECTION(".progmem.u8g_font_symb18") = { - 0,27,24,255,251,17,3,215,8,151,32,255,251,19,251,17, - 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, - 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, - 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, - 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, - 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, - 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, - 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, - 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, - 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, - 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, - 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, - 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, - 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, - 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, - 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, - 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, - 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, - 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, - 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, - 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, - 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, - 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, - 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, - 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, - 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, - 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, - 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, - 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, - 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, - 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, - 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, - 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, - 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, - 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, - 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, - 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, - 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, - 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, - 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, - 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, - 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, - 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, - 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, - 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, - 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, - 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, - 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, - 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, - 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, - 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, - 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, - 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, - 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, - 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, - 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, - 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, - 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, - 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, - 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, - 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, - 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, - 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, - 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, - 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, - 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, - 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, - 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, - 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, - 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, - 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, - 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, - 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, - 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, - 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, - 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, - 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, - 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, - 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, - 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, - 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, - 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, - 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, - 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, - 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, - 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, - 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, - 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, - 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, - 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, - 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, - 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, - 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, - 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, - 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, - 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, - 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, - 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, - 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, - 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, - 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, - 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, - 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, - 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, - 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, - 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, - 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, - 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, - 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, - 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, - 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, - 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, - 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, - 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, - 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, - 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, - 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, - 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, - 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, - 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, - 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, - 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, - 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, - 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, - 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, - 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, - 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, - 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, - 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, - 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, - 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, - 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, - 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, - 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, - 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, - 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, - 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, - 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, - 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, - 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, - 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, - 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, - 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, - 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, - 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, - 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, - 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, - 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, - 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, - 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, - 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, - 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, - 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, - 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, - 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, - 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, - 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, - 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, - 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, - 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, - 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, - 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, - 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, - 124,96,199,192,131,128,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,255,13,17,34,15,1,0,224,112, - 112,216,57,184,27,48,14,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 5,6,6,6,1,12,24,56,112,96,192,128,12,15,30,14, - 0,0,0,112,1,224,7,128,30,0,120,0,224,0,224,0, - 120,0,30,0,3,192,0,240,0,48,0,0,255,240,255,240, - 8,17,17,4,255,0,3,3,6,6,12,12,24,24,24,48, - 48,96,96,96,192,192,192,15,7,14,17,1,4,56,56,124, - 124,198,198,195,134,199,198,124,124,56,56,13,22,44,13,0, - 251,0,240,1,152,1,152,3,0,3,0,3,0,31,192,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,204,0,204,0,120,0,14,13,26, - 18,2,0,7,128,15,192,15,192,15,192,15,192,119,184,251, - 124,255,252,255,252,251,124,115,56,3,0,7,128,10,13,26, - 18,4,0,12,0,30,0,63,0,63,0,127,128,127,128,255, - 192,127,128,127,128,63,0,30,0,30,0,12,0,12,13,26, - 18,3,0,112,224,249,240,255,240,255,240,255,240,255,240,127, - 224,127,224,63,192,31,128,31,128,15,0,6,0,12,13,26, - 18,3,0,6,0,15,0,31,128,31,128,63,192,127,224,127, - 224,255,240,255,240,246,240,102,96,6,0,6,0,24,12,36, - 26,1,1,6,0,96,12,0,48,24,0,24,48,0,12,96, - 0,6,255,255,255,255,255,255,96,0,6,48,0,12,24,0, - 24,12,0,48,6,0,96,25,12,48,25,0,1,6,0,0, - 0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0, - 0,255,255,255,128,255,255,255,128,96,0,0,0,48,0,0, - 0,24,0,0,0,12,0,0,0,6,0,0,0,12,24,48, - 14,1,251,6,0,15,0,31,128,54,192,102,96,198,48,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,25,12,48,25,0,1,0,0,48,0,0,0,24, - 0,0,0,12,0,0,0,6,0,0,0,3,0,255,255,255, - 128,255,255,255,128,0,0,3,0,0,0,6,0,0,0,12, - 0,0,0,24,0,0,0,48,0,12,24,48,14,1,251,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,198,48,102,96,54,192,31,128,15,0,6,0,7, - 7,7,9,1,10,56,108,198,198,198,108,56,10,14,28,12, - 1,0,12,0,12,0,12,0,12,0,255,192,255,192,12,0, - 12,0,12,0,12,0,0,0,0,0,255,192,255,192,9,6, - 12,10,1,12,25,128,59,128,119,0,102,0,204,0,136,0, - 12,15,30,14,0,0,224,0,120,0,30,0,7,128,1,224, - 0,112,0,112,1,224,7,128,62,0,240,0,192,0,0,0, - 255,240,255,240,11,10,20,13,1,2,192,96,96,192,49,128, - 27,0,14,0,14,0,27,0,49,128,96,192,192,96,14,7, - 14,16,1,4,56,56,124,124,198,192,195,128,199,192,124,124, - 56,56,10,19,38,12,1,0,62,0,99,0,193,128,1,128, - 0,192,0,192,0,192,0,192,30,192,115,192,97,192,192,192, - 192,192,193,128,193,128,193,128,227,0,119,0,62,0,8,8, - 8,12,2,3,60,126,255,255,255,255,126,60,10,8,16,12, - 1,3,12,0,12,0,0,0,255,192,255,192,0,0,12,0, - 12,0,10,13,26,14,2,0,1,128,1,128,3,0,3,0, - 255,192,255,192,12,0,255,192,255,192,48,0,48,0,96,0, - 96,0,11,8,16,13,1,3,255,224,255,224,0,0,255,224, - 255,224,0,0,255,224,255,224,11,8,16,13,1,3,56,32, - 124,96,199,192,131,128,56,32,124,96,199,192,131,128,18,2, - 6,24,3,0,192,192,192,192,192,192,2,24,24,14,6,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,25,2,8,25,0,6,255,255, - 255,128,255,255,255,128,14,16,32,16,1,0,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 32,12,96,12,255,252,255,252,96,0,32,0,12,16,32,14, - 1,0,129,128,195,0,227,240,113,240,56,96,28,192,60,128, - 110,128,199,128,195,128,227,128,241,192,112,224,48,112,112,48, - 224,16,14,19,38,16,1,255,15,128,63,252,112,248,96,48, - 64,96,64,192,96,192,48,224,28,112,0,56,0,56,0,28, - 0,28,0,12,48,12,120,12,222,24,15,240,3,192,17,18, - 54,19,1,0,30,24,0,63,60,0,99,206,0,193,135,0, - 129,131,0,193,134,0,225,140,0,113,184,0,57,176,0,25, - 152,0,17,152,0,1,152,0,1,156,0,1,140,0,1,140, - 0,25,134,128,63,7,128,78,7,0,15,20,40,19,2,251, - 6,0,12,0,24,60,48,254,49,134,99,6,102,6,108,6, - 104,12,121,156,115,152,114,48,122,112,91,224,221,128,140,0, - 140,0,140,0,216,0,112,0,16,17,34,18,1,0,7,224, - 30,120,56,28,96,6,104,22,204,51,198,99,195,195,193,131, - 195,195,198,99,204,51,104,22,96,6,56,28,30,120,7,224, - 16,17,34,18,1,0,7,224,30,120,56,28,97,134,97,134, - 193,131,193,131,207,243,207,243,193,131,193,131,193,131,97,134, - 96,6,56,28,30,120,7,224,18,17,51,20,1,0,3,240, - 192,15,253,128,28,15,0,48,7,0,48,15,0,96,25,128, - 96,49,128,96,97,128,96,193,128,97,129,128,99,1,128,102, - 1,128,60,3,0,56,3,0,60,14,0,111,252,0,195,240, - 0,16,13,26,18,1,0,7,224,31,248,56,28,96,6,96, - 6,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,16,13,26,18,1,0,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,96,6,96,6,56,28,31,248,7, - 224,15,12,24,17,1,0,255,224,255,248,0,28,0,12,0, - 6,0,6,0,6,0,6,0,12,0,28,255,248,255,224,15, - 15,30,17,1,253,255,224,255,248,0,28,0,12,0,6,0, - 6,0,6,0,6,0,12,0,28,255,248,255,224,0,0,255, - 254,255,254,15,16,32,17,1,254,0,12,0,12,15,254,63, - 254,112,48,96,48,192,96,192,96,192,192,192,192,97,128,113, - 128,63,254,15,254,6,0,6,0,15,12,24,17,1,0,15, - 254,63,254,112,0,96,0,192,0,192,0,192,0,192,0,96, - 0,112,0,63,254,15,254,15,15,30,17,1,253,15,254,63, - 254,112,0,96,0,192,0,192,0,192,0,192,0,96,0,112, - 0,63,254,15,254,0,0,255,254,255,254,12,13,26,16,2, - 0,31,240,127,240,96,0,192,0,192,0,192,0,255,240,192, - 0,192,0,192,0,96,0,127,240,31,240,12,15,30,16,2, - 255,0,192,31,240,127,240,97,128,193,128,195,0,195,0,255, - 240,198,0,198,0,204,0,108,0,127,240,31,240,24,0,17, - 16,48,19,1,0,0,1,128,0,3,0,0,6,0,0,12, - 0,0,24,0,0,48,0,0,96,0,0,192,0,1,128,0, - 3,0,0,6,0,0,12,0,0,24,0,0,48,0,0,127, - 255,128,255,255,128,16,18,36,18,1,0,255,255,192,3,192, - 2,96,6,96,4,48,12,48,8,48,24,24,16,24,48,12, - 32,12,32,6,96,6,64,3,192,3,192,1,128,1,128,16, - 17,34,18,1,0,7,224,30,120,56,28,96,6,111,230,198, - 115,198,51,198,115,199,227,198,195,198,99,198,51,111,62,96, - 6,56,28,30,120,7,224,16,17,34,18,1,0,7,224,30, - 120,56,28,96,6,99,230,198,99,204,35,204,3,204,3,204, - 3,204,3,206,51,103,230,99,198,56,28,30,120,7,224,20, - 10,30,22,1,7,255,96,112,153,96,96,24,112,224,24,112, - 224,24,89,96,24,89,96,24,78,96,24,78,96,24,70,96, - 60,230,240,17,21,63,19,1,253,255,255,128,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,252,31,128,14,19,38,14,0,0,0,12, - 0,12,0,8,0,8,0,24,48,24,112,16,216,16,24,16, - 12,48,12,48,6,32,6,32,3,32,3,96,1,192,1,192, - 0,192,0,192,2,2,2,6,2,6,192,192,15,8,16,17, - 1,0,255,254,255,254,0,6,0,6,0,6,0,6,0,6, - 0,6,13,12,24,15,1,0,7,0,7,0,13,128,13,128, - 24,192,24,192,48,96,48,96,96,48,96,48,192,24,192,24, - 13,12,24,15,1,0,192,24,192,24,96,48,96,48,48,96, - 48,96,24,192,24,192,13,128,13,128,7,0,7,0,23,12, - 36,25,1,0,6,0,192,12,0,96,24,0,48,63,255,248, - 127,255,252,224,0,14,224,0,14,127,255,252,63,255,248,24, - 0,48,12,0,96,6,0,192,23,12,36,25,1,0,6,0, - 0,12,0,0,24,0,0,63,255,254,127,255,254,224,0,0, - 224,0,0,127,255,254,63,255,254,24,0,0,12,0,0,6, - 0,0,12,19,38,14,1,0,6,0,15,0,31,128,57,192, - 121,224,217,176,25,128,25,128,25,128,25,128,25,128,25,128, - 25,128,25,128,25,128,25,128,25,128,25,128,25,128,23,12, - 36,25,1,0,0,0,192,0,0,96,0,0,48,255,255,248, - 255,255,252,0,0,14,0,0,14,255,255,252,255,255,248,0, - 0,48,0,0,96,0,0,192,12,19,38,14,1,0,25,128, - 25,128,25,128,25,128,25,128,25,128,25,128,25,128,25,128, - 25,128,25,128,25,128,25,128,217,176,121,224,57,192,31,128, - 15,0,6,0,10,18,36,12,1,0,12,0,30,0,30,0, - 51,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 97,128,97,128,51,0,51,0,30,0,30,0,12,0,7,22, - 22,8,0,251,6,6,12,12,24,24,48,48,96,96,192,192, - 96,96,48,48,24,24,12,12,6,6,16,17,34,18,1,0, - 7,224,30,120,56,28,96,6,103,230,198,51,198,51,198,51, - 199,227,198,99,198,51,198,51,102,50,96,6,56,28,30,120, - 7,224,16,17,34,18,1,0,7,224,30,120,56,28,96,6, - 99,198,198,99,204,35,204,3,200,3,200,3,204,3,204,35, - 102,102,99,198,56,28,30,120,7,224,18,10,30,20,1,7, - 254,192,192,24,192,192,24,225,192,24,225,192,24,243,192,24, - 210,192,24,222,192,24,204,192,24,204,192,24,204,192,14,20, - 40,18,2,254,255,248,224,24,112,8,56,0,28,0,14,0, - 7,0,3,128,1,192,0,192,1,128,3,0,6,0,12,0, - 24,0,48,0,96,4,192,12,255,252,255,252,9,24,48,10, - 1,251,1,128,3,0,6,0,12,0,24,0,24,0,48,0, - 48,0,96,0,96,0,96,0,96,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,2,24,24,10,1,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 9,24,48,10,1,251,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,96,0,96,0,48,0,48,0,24,0,24,0,12,0, - 6,0,3,0,1,128,7,24,24,10,1,251,254,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,2,24,24,10,1,251,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,7,24,24,10,1,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,254, - 7,24,24,12,5,251,30,48,96,96,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,24, - 24,12,2,251,24,24,24,24,24,24,24,24,16,48,96,192, - 96,48,16,24,24,24,24,24,24,24,24,24,7,24,24,12, - 5,251,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,96,96,48,30,2,24,24,12,5,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,255,7,22,22,8,1,251,192, - 192,96,96,48,48,24,24,12,12,6,6,12,12,24,24,48, - 48,96,96,192,192,8,24,24,8,0,251,7,15,27,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 216,240,224,8,24,24,17,8,251,14,27,51,32,96,64,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,2,24,24,17,8,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,8, - 24,24,17,2,251,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,2,6,204,216,112,9,24,48, - 10,0,251,192,0,96,0,48,0,24,0,12,0,12,0,6, - 0,6,0,3,0,3,0,3,0,3,0,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,2,24,24,10,7,251,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,9,24,48,10,0,251,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3, - 0,3,0,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,48,0,96,0,192,0,7,24,24,10,2,251,254,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,2,24,24,10,7,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,7,24,24,10,2,251,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 254,7,24,24,12,0,251,240,24,12,12,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5, - 24,24,12,5,251,192,192,192,192,192,192,192,192,64,96,48, - 24,48,96,64,192,192,192,192,192,192,192,192,192,7,24,24, - 12,0,251,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,12,12,24,240,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=20 h=24 x=13 y=18 dx=22 dy= 0 ascent=19 len=51 - Font Bounding box w=27 h=24 x=-1 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb18r[3303] U8G_SECTION(".progmem.u8g_font_symb18r") = { - 0,27,24,255,251,17,3,215,8,151,32,127,251,19,251,17, - 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, - 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, - 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, - 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, - 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, - 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, - 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, - 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, - 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, - 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, - 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, - 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, - 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, - 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, - 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, - 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, - 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, - 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, - 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, - 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, - 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, - 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, - 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, - 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, - 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, - 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, - 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, - 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, - 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, - 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, - 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, - 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, - 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, - 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, - 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, - 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, - 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, - 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, - 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, - 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, - 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, - 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, - 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, - 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, - 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, - 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, - 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, - 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, - 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, - 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, - 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, - 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, - 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, - 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, - 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, - 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, - 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, - 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, - 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, - 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, - 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, - 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, - 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, - 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, - 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, - 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, - 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, - 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, - 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, - 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, - 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, - 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, - 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, - 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, - 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, - 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, - 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, - 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, - 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, - 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, - 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, - 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, - 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, - 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, - 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, - 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, - 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, - 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, - 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, - 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, - 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, - 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, - 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, - 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, - 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, - 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, - 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, - 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, - 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, - 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, - 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, - 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, - 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, - 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, - 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, - 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, - 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, - 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, - 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, - 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, - 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, - 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, - 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, - 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, - 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, - 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, - 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, - 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, - 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, - 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, - 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, - 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, - 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, - 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, - 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, - 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, - 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, - 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, - 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, - 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, - 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, - 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, - 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, - 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, - 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, - 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, - 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, - 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, - 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, - 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, - 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, - 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, - 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, - 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, - 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, - 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, - 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, - 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, - 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, - 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, - 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, - 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, - 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, - 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, - 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, - 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, - 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, - 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, - 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, - 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, - 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, - 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, - 124,96,199,192,131,128,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=34 x=15 y=26 dx=34 dy= 0 ascent=27 len=108 - Font Bounding box w=40 h=34 x=-5 y=-7 - Calculated Min Values x=-5 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb24[10727] U8G_SECTION(".progmem.u8g_font_symb24") = { - 0,40,34,251,249,23,5,133,13,247,32,255,249,27,249,23, - 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, - 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, - 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, - 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, - 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, - 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, - 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, - 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, - 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, - 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, - 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, - 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, - 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, - 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, - 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, - 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, - 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, - 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, - 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, - 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, - 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, - 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, - 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, - 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, - 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, - 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, - 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, - 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, - 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, - 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, - 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, - 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, - 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, - 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, - 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, - 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, - 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, - 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, - 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, - 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, - 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, - 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, - 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, - 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, - 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, - 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, - 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, - 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, - 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, - 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, - 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, - 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, - 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, - 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, - 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, - 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, - 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, - 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, - 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, - 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, - 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, - 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, - 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, - 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, - 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, - 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, - 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, - 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, - 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, - 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, - 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, - 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, - 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, - 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, - 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, - 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, - 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, - 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, - 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, - 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, - 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, - 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, - 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, - 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, - 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, - 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, - 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, - 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, - 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, - 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, - 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, - 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, - 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, - 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, - 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, - 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, - 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, - 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, - 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, - 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, - 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, - 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, - 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, - 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, - 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, - 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, - 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, - 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, - 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, - 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, - 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, - 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, - 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, - 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, - 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, - 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, - 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, - 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, - 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, - 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, - 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, - 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, - 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, - 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, - 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, - 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, - 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, - 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, - 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, - 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, - 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, - 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, - 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, - 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, - 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, - 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, - 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, - 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, - 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, - 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, - 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, - 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, - 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, - 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, - 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, - 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, - 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, - 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, - 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, - 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, - 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, - 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, - 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, - 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, - 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, - 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, - 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, - 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, - 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, - 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, - 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, - 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, - 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, - 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, - 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, - 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, - 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, - 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, - 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, - 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, - 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, - 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, - 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, - 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, - 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, - 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, - 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, - 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, - 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, - 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, - 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, - 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, - 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, - 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, - 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, - 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, - 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, - 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, - 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, - 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, - 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, - 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, - 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, - 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, - 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, - 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, - 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, - 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, - 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, - 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, - 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, - 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, - 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, - 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, - 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, - 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, - 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, - 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, - 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, - 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, - 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, - 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, - 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, - 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, - 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, - 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, - 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, - 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, - 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, - 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, - 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, - 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, - 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, - 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, - 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, - 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, - 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, - 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, - 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, - 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, - 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, - 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, - 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, - 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, - 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, - 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, - 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, - 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, - 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, - 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, - 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, - 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, - 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, - 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, - 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, - 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, - 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, - 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, - 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, - 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, - 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, - 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, - 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, - 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, - 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, - 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, - 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, - 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, - 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, - 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, - 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, - 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, - 127,134,227,254,192,56,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,255,20,23,69,20,0,0,240,1, - 192,124,7,224,15,12,112,7,12,240,3,152,224,1,208,224, - 1,208,0,1,240,0,1,240,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,1,240,0, - 7,252,0,6,9,9,8,1,16,24,60,60,120,112,96,224, - 192,128,16,21,42,18,1,0,0,7,0,31,0,124,1,240, - 7,192,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,120,0,30,0,7,0,1,0,0,0,0,255,255, - 255,255,15,23,46,6,251,0,0,2,0,6,0,12,0,12, - 0,24,0,48,0,48,0,96,0,192,0,192,1,128,3,0, - 3,0,6,0,12,0,12,0,24,0,48,0,48,0,96,0, - 192,0,192,0,128,0,21,10,30,23,1,4,28,3,192,127, - 15,224,99,158,48,193,248,24,192,240,24,192,240,24,192,248, - 24,99,156,48,127,15,240,28,3,192,16,29,58,16,0,250, - 0,30,0,51,0,103,0,98,0,224,0,224,0,192,0,192, - 0,192,15,252,1,192,1,192,1,192,1,192,1,128,1,128, - 1,128,3,128,3,128,3,128,3,0,3,0,3,0,3,0, - 2,0,102,0,230,0,236,0,120,0,18,18,54,24,3,0, - 1,224,0,3,240,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,240,0,1,224,0,124,207,128,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,252,207,192,120,199,128, - 0,192,0,1,224,0,14,18,36,24,5,0,3,0,7,128, - 7,192,15,192,31,224,63,240,127,248,127,248,255,252,255,252, - 127,248,127,248,63,240,31,224,15,192,7,192,7,128,3,0, - 16,18,36,24,4,0,124,62,254,127,254,127,255,255,255,255, - 255,255,255,255,127,254,127,254,63,252,63,252,31,248,15,240, - 15,240,7,224,3,192,1,128,1,128,16,18,36,24,4,0, - 1,128,1,192,3,192,7,224,7,240,15,240,31,248,63,252, - 63,252,127,254,255,255,255,255,255,255,253,191,249,159,249,159, - 113,142,3,192,32,16,64,34,1,0,1,128,1,128,3,0, - 0,192,7,0,0,224,14,0,0,112,28,0,0,56,56,0, - 0,28,112,0,0,14,255,255,255,255,255,255,255,255,112,0, - 0,14,56,0,0,28,28,0,0,56,14,0,0,112,7,0, - 0,224,3,0,0,192,1,128,1,128,29,16,64,32,1,0, - 1,128,0,0,3,0,0,0,6,0,0,0,14,0,0,0, - 28,0,0,0,56,0,0,0,112,0,0,0,255,255,255,248, - 255,255,255,248,112,0,0,0,56,0,0,0,28,0,0,0, - 14,0,0,0,6,0,0,0,3,0,0,0,1,128,0,0, - 16,27,54,20,2,0,1,128,3,192,7,224,15,240,29,184, - 57,156,113,142,225,135,193,131,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,29,16,64,32, - 2,0,0,0,12,0,0,0,14,0,0,0,7,0,0,0, - 3,128,0,0,1,192,0,0,0,224,0,0,0,112,255,255, - 255,248,255,255,255,248,0,0,0,112,0,0,0,224,0,0, - 1,192,0,0,3,128,0,0,7,0,0,0,14,0,0,0, - 12,0,16,27,54,20,2,0,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,193,131,225,135, - 113,142,57,156,29,184,15,240,7,224,3,192,1,128,9,10, - 20,13,2,13,28,0,99,0,65,0,128,128,128,128,128,128, - 128,128,65,0,99,0,28,0,16,22,44,18,1,0,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, - 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,0,0,0,0,255,255,255,255,12,9,18,13,1,15, - 28,112,28,112,60,240,56,224,113,192,113,192,227,128,195,0, - 130,0,16,21,42,18,1,0,224,0,248,0,62,0,15,128, - 1,224,0,120,0,30,0,7,0,7,0,30,0,120,1,224, - 7,128,30,0,120,0,224,0,128,0,0,0,0,0,255,255, - 255,255,16,16,32,18,1,1,192,3,224,7,112,14,56,28, - 28,56,14,112,7,224,3,192,3,192,7,224,14,112,28,56, - 56,28,112,14,224,7,192,3,19,10,30,23,1,4,28,3, - 192,63,15,224,99,156,0,193,248,0,192,240,0,192,240,0, - 193,248,0,99,156,0,127,15,224,28,3,192,14,27,54,16, - 1,0,30,0,63,128,32,224,0,112,0,48,0,24,0,24, - 0,24,0,28,0,28,0,28,15,28,31,252,56,124,120,60, - 112,60,240,56,224,56,224,56,224,56,224,112,224,112,96,96, - 112,224,57,192,31,128,15,0,11,12,24,15,2,4,14,0, - 63,128,127,192,127,192,255,224,255,224,255,224,255,224,127,192, - 127,192,63,128,14,0,16,13,26,18,1,2,1,128,3,192, - 3,192,1,128,0,0,255,255,255,255,0,0,0,0,1,128, - 3,192,3,192,1,128,17,19,57,18,1,255,0,12,0,0, - 24,0,0,24,0,0,48,0,0,48,0,255,255,128,255,255, - 128,0,192,0,0,192,0,1,128,0,1,128,0,3,0,0, - 255,255,128,255,255,128,6,0,0,12,0,0,12,0,0,24, - 0,0,24,0,0,17,12,36,18,0,3,255,255,128,255,255, - 128,0,0,0,0,0,0,0,0,0,255,255,128,255,255,128, - 0,0,0,0,0,0,0,0,0,255,255,128,255,255,128,16, - 9,18,18,1,4,28,0,127,135,225,254,64,56,0,0,28, - 0,127,135,225,254,192,56,26,4,16,33,3,0,96,12,1, - 128,240,30,3,192,240,30,3,192,96,12,1,128,2,34,34, - 20,9,249,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,32,2,8,32,0,7,255,255,255,255,255, - 255,255,255,18,21,63,21,1,0,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,16,0,192,112,0,192,255,255,192,255, - 255,192,112,0,0,16,0,0,16,22,44,27,5,0,0,32, - 96,96,240,126,240,127,248,127,124,63,60,15,62,12,31,24, - 31,152,55,240,115,240,97,240,225,240,240,248,240,124,120,62, - 124,30,124,31,60,15,124,7,252,6,18,27,81,22,1,254, - 7,240,0,31,254,0,63,255,128,56,63,128,96,7,0,96, - 7,0,64,6,0,64,12,0,64,12,0,96,28,0,48,28, - 0,28,14,0,14,14,0,0,15,0,0,7,0,0,7,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,192,60, - 1,128,255,1,128,159,195,0,7,254,0,3,248,0,0,240, - 0,23,24,72,26,1,0,15,128,192,63,225,240,97,247,248, - 192,252,124,128,120,62,128,120,28,128,56,56,192,56,112,224, - 56,192,120,57,192,62,59,192,14,57,224,6,56,224,6,56, - 224,0,56,240,0,56,240,0,56,112,0,112,112,0,112,112, - 0,96,120,30,192,122,63,128,62,47,128,60,6,0,16,23, - 26,78,32,5,249,0,192,0,1,192,0,3,0,112,6,3, - 252,6,14,30,12,24,30,28,48,14,24,96,14,56,192,30, - 57,128,30,59,0,30,62,0,28,62,48,60,60,120,56,30, - 112,120,62,64,240,47,65,224,111,99,192,71,63,0,199,0, - 0,135,0,0,131,0,0,131,0,0,199,0,0,102,0,0, - 60,0,0,22,23,69,25,1,0,0,252,0,3,255,0,15, - 3,192,28,0,224,56,0,112,50,1,48,103,3,152,99,135, - 24,193,134,8,192,204,12,192,120,12,192,48,12,192,120,12, - 192,204,12,193,134,12,99,135,24,103,3,152,50,1,48,56, - 0,112,28,0,224,15,3,192,3,255,0,0,252,0,22,23, - 69,25,1,0,0,252,0,3,255,0,15,3,192,28,48,224, - 24,48,96,48,48,48,96,48,24,96,48,24,96,48,24,192, - 48,12,192,48,12,223,255,236,223,255,236,192,48,12,192,48, - 12,96,48,24,96,48,24,48,48,48,56,48,112,28,48,224, - 15,3,192,3,255,0,0,252,0,24,24,72,27,1,0,0, - 126,2,3,255,198,7,129,238,14,0,124,24,0,56,48,0, - 124,112,0,238,96,1,198,96,3,134,192,7,3,192,14,3, - 192,28,3,192,56,3,192,112,3,192,224,3,97,192,6,99, - 128,6,119,0,14,62,0,12,28,0,24,62,0,112,119,129, - 224,227,255,192,192,126,0,22,17,51,25,1,0,0,252,0, - 3,255,0,15,3,192,28,0,224,56,0,112,48,0,48,96, - 0,24,96,0,24,192,0,12,192,0,12,192,0,12,192,0, - 12,192,0,12,192,0,12,192,0,12,192,0,12,192,0,12, - 22,17,51,25,1,0,192,0,12,192,0,12,192,0,12,192, - 0,12,192,0,12,192,0,12,192,0,12,192,0,12,192,0, - 12,96,0,24,96,0,24,48,0,48,56,0,112,28,0,224, - 15,3,192,3,255,0,0,252,0,21,16,48,23,1,0,255, - 255,0,255,255,192,0,1,224,0,0,112,0,0,48,0,0, - 56,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,48,0,0,112,0,0,224,255,255,192,255,255,0,21, - 20,60,23,1,252,255,255,0,255,255,192,0,0,224,0,0, - 112,0,0,48,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,48,0,0,112,0,0,224,255, - 255,192,255,255,0,0,0,0,0,0,0,255,255,240,255,255, - 240,21,20,60,23,1,254,0,0,96,0,0,192,7,255,248, - 15,255,248,56,1,128,112,3,0,96,3,0,224,6,0,192, - 6,0,192,12,0,192,12,0,192,24,0,224,24,0,96,48, - 0,112,48,0,60,96,0,31,255,248,7,255,248,0,192,0, - 1,128,0,21,16,48,23,1,0,7,255,248,31,255,248,56, - 0,0,112,0,0,96,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,224,0,0,96,0,0,112,0,0, - 60,0,0,31,255,248,7,255,248,21,20,60,23,1,252,7, - 255,248,31,255,248,56,0,0,112,0,0,96,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 96,0,0,112,0,0,56,0,0,31,255,248,7,255,248,0, - 0,0,0,0,0,127,255,248,127,255,248,15,16,32,23,1, - 0,7,254,31,254,56,0,112,0,96,0,192,0,192,0,255, - 254,255,254,192,0,192,0,96,0,112,0,56,0,31,254,7, - 254,15,20,40,23,1,254,0,24,0,24,7,254,31,254,56, - 96,112,96,96,192,64,192,193,128,255,254,255,254,195,0,70, - 0,110,0,124,0,60,0,31,254,55,254,48,0,32,0,22, - 22,66,25,1,0,0,0,12,0,0,28,0,0,56,0,0, - 112,0,0,224,0,1,192,0,3,128,0,7,0,0,14,0, - 0,28,0,0,56,0,0,112,0,0,96,0,0,192,0,1, - 128,0,3,0,0,7,0,0,14,0,0,28,0,0,56,0, - 0,127,255,248,255,255,248,20,24,72,23,1,0,255,255,240, - 127,255,240,120,0,48,120,0,32,60,0,96,60,0,64,28, - 0,192,30,0,192,30,1,128,15,1,128,15,1,0,7,3, - 0,7,130,0,7,134,0,3,196,0,3,204,0,3,204,0, - 1,248,0,1,248,0,0,240,0,0,240,0,0,224,0,0, - 96,0,0,64,0,21,22,66,25,2,0,1,252,0,7,7, - 0,12,1,192,24,0,192,51,248,96,97,142,48,65,134,16, - 193,134,24,193,134,24,129,140,8,129,248,8,129,184,8,129, - 152,8,193,156,24,193,142,24,65,135,16,103,195,176,48,0, - 96,24,0,192,28,1,192,7,7,0,1,252,0,21,23,69, - 25,2,0,1,252,0,7,207,0,14,1,128,24,0,192,48, - 0,96,48,0,48,96,125,48,65,199,16,195,3,24,195,1, - 24,134,0,8,134,0,8,134,0,8,134,0,8,134,0,8, - 199,0,24,67,3,24,97,199,16,32,252,48,48,0,96,28, - 0,192,7,135,128,1,254,0,27,13,52,29,1,10,255,220, - 1,224,204,206,3,128,140,78,3,128,12,15,7,128,12,11, - 5,128,12,11,141,128,12,9,141,128,12,9,201,128,12,8, - 217,128,12,8,241,128,12,8,113,128,12,8,97,128,62,30, - 39,224,25,27,108,27,1,0,255,255,255,128,63,255,254,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,63,0,126,0, - 255,193,255,128,17,27,81,18,0,0,0,0,128,0,0,128, - 0,0,128,0,0,128,0,1,128,0,1,0,0,1,0,0, - 3,0,0,2,0,8,2,0,56,2,0,236,6,0,12,4, - 0,6,4,0,6,4,0,3,4,0,3,12,0,1,140,0, - 1,136,0,0,200,0,0,200,0,0,104,0,0,120,0,0, - 56,0,0,48,0,0,16,0,0,16,0,3,3,3,8,2, - 7,224,224,224,21,10,30,23,1,0,255,255,248,255,255,248, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,16,15,30,20,2,0,1,128, - 1,128,3,192,3,192,6,96,14,112,12,48,28,56,24,24, - 48,12,48,12,96,6,224,7,192,3,128,1,16,15,30,20, - 2,0,128,1,192,3,224,7,96,6,48,12,48,12,24,24, - 28,56,12,48,6,96,6,96,3,192,3,192,1,128,1,128, - 32,18,72,34,1,0,0,128,1,0,1,128,1,128,3,0, - 0,192,6,0,0,96,15,255,255,240,31,255,255,248,56,0, - 0,28,112,0,0,14,224,0,0,7,224,0,0,7,112,0, - 0,14,56,0,0,28,31,255,255,248,15,255,255,240,6,0, - 0,96,3,0,0,192,1,128,1,128,0,128,1,0,29,17, - 68,32,1,0,0,128,0,0,1,128,0,0,3,0,0,0, - 6,0,0,0,15,255,255,248,31,255,255,248,56,0,0,0, - 112,0,0,0,224,0,0,0,112,0,0,0,56,0,0,0, - 31,255,255,248,15,255,255,248,6,0,0,0,3,0,0,0, - 1,128,0,0,0,128,0,0,17,27,81,20,1,0,0,128, - 0,1,192,0,3,224,0,7,112,0,14,56,0,28,28,0, - 60,30,0,124,31,0,236,27,128,12,24,0,12,24,0,12, - 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, - 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, - 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,29, - 17,68,32,2,0,0,0,8,0,0,0,12,0,0,0,6, - 0,0,0,3,0,255,255,255,128,255,255,255,192,0,0,0, - 224,0,0,0,112,0,0,0,56,0,0,0,112,0,0,0, - 224,255,255,255,192,255,255,255,128,0,0,3,0,0,0,6, - 0,0,0,12,0,0,0,8,0,17,27,81,20,1,0,12, - 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, - 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, - 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,12, - 24,0,12,24,0,236,27,128,124,31,0,60,30,0,28,28, - 0,14,56,0,7,112,0,3,224,0,1,192,0,0,128,0, - 14,25,50,16,1,0,3,0,7,128,7,128,12,192,12,192, - 24,96,24,96,48,48,48,48,96,24,96,24,192,12,192,12, - 224,28,96,24,96,24,48,48,48,48,24,96,24,96,12,192, - 12,192,7,128,7,128,3,0,9,30,60,11,1,250,1,128, - 3,0,3,0,6,0,6,0,14,0,12,0,28,0,24,0, - 56,0,48,0,48,0,96,0,96,0,192,0,192,0,96,0, - 96,0,48,0,48,0,56,0,24,0,28,0,12,0,14,0, - 6,0,6,0,3,0,3,0,1,128,21,22,66,26,2,0, - 1,252,0,7,15,0,12,1,128,24,0,192,48,0,96,99, - 254,48,67,6,16,195,3,24,195,3,24,195,3,24,131,6, - 8,131,252,8,131,6,8,195,3,24,195,3,24,67,3,16, - 99,3,48,32,0,32,48,0,96,28,1,192,7,15,0,3, - 252,0,21,23,69,26,2,0,1,252,0,7,223,0,14,3, - 128,24,0,192,48,0,96,32,0,32,96,252,48,65,206,16, - 195,6,24,195,3,24,194,0,8,134,0,8,134,0,8,134, - 0,8,134,3,24,195,3,24,67,6,24,97,206,48,32,248, - 48,48,0,96,28,0,192,15,135,128,3,254,0,22,13,39, - 25,1,10,255,56,28,24,56,28,24,56,28,24,60,60,24, - 60,60,24,52,44,24,54,108,24,54,108,24,50,76,24,51, - 204,24,51,204,24,49,140,24,49,140,21,28,84,23,1,255, - 255,255,224,120,3,224,124,0,96,60,0,96,30,0,32,15, - 0,0,15,128,0,7,128,0,3,192,0,3,224,0,1,240, - 0,0,240,0,0,120,0,0,120,0,0,56,0,0,48,0, - 0,96,0,0,192,0,1,128,0,3,128,0,3,0,0,6, - 0,8,12,0,24,24,0,24,48,0,48,127,255,240,127,255, - 240,255,255,240,13,34,68,13,1,249,0,24,0,120,0,224, - 1,192,3,128,3,0,6,0,12,0,12,0,24,0,24,0, - 56,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0, - 96,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,2,34, - 34,13,1,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,34,68,13,1,249,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,0,96,0,96,0, - 96,0,48,0,48,0,48,0,56,0,24,0,24,0,12,0, - 12,0,6,0,3,0,3,128,1,192,0,224,0,120,0,24, - 11,34,68,13,0,249,255,224,255,224,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,2,34,34,13,0,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,11,34,68,13,0,249,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,255,224,255,224,8,34,34,16, - 6,249,7,31,56,112,96,96,224,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,9,34,68,16,255,249,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 3,0,3,0,6,0,12,0,56,0,224,0,120,0,12,0, - 6,0,3,0,3,0,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,8,34, - 34,16,6,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 96,96,112,56,31,7,2,34,34,16,6,249,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,255,9, - 30,60,11,1,250,192,0,96,0,96,0,48,0,48,0,56, - 0,24,0,28,0,12,0,14,0,6,0,6,0,3,0,3, - 0,1,128,1,128,3,0,3,0,6,0,6,0,14,0,12, - 0,28,0,24,0,56,0,48,0,48,0,96,0,96,0,192, - 0,9,33,66,9,0,250,3,0,7,128,7,128,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,248,0,248,0,112,0,12,34,68,23,10,249,1, - 224,3,240,6,112,12,240,8,96,24,0,24,0,48,0,48, - 0,48,0,112,0,96,0,96,0,96,0,96,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,3,34,34,22,10,249,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,12,34,68,22,1, - 249,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,96,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,1,128,1,128,97,0,243,0,230, - 0,252,0,120,0,13,34,68,13,0,249,192,0,240,0,56, - 0,24,0,12,0,6,0,3,0,1,0,1,128,0,192,0, - 192,0,192,0,96,0,96,0,96,0,48,0,48,0,48,0, - 48,0,48,0,16,0,16,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,2, - 34,34,13,11,249,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,13,34,68,13,0,249,0,24,0, - 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,16,0,16,0,48,0,48,0,48,0, - 48,0,48,0,96,0,96,0,96,0,192,0,192,0,192,1, - 128,1,0,3,0,6,0,12,0,28,0,56,0,240,0,192, - 0,11,34,68,13,1,249,255,224,255,224,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,2,34,34,13,10, - 249,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,11,34,68,13,1,249,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,255,224,255,224,8,34,34, - 16,0,249,224,120,28,14,6,6,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,9,34,68,16,6,249,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,96,0,96,0,48,0,24,0,14,0,3,128,14,0,24, - 0,48,0,96,0,96,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,8, - 33,33,16,0,250,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 6,6,14,28,120,224,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=27 h=33 x=15 y=26 dx=29 dy= 0 ascent=27 len=92 - Font Bounding box w=40 h=34 x=-5 y=-7 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb24r[5335] U8G_SECTION(".progmem.u8g_font_symb24r") = { - 0,40,34,251,249,23,5,133,13,247,32,127,249,27,249,23, - 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, - 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, - 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, - 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, - 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, - 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, - 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, - 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, - 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, - 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, - 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, - 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, - 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, - 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, - 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, - 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, - 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, - 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, - 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, - 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, - 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, - 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, - 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, - 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, - 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, - 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, - 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, - 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, - 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, - 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, - 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, - 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, - 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, - 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, - 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, - 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, - 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, - 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, - 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, - 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, - 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, - 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, - 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, - 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, - 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, - 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, - 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, - 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, - 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, - 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, - 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, - 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, - 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, - 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, - 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, - 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, - 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, - 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, - 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, - 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, - 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, - 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, - 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, - 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, - 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, - 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, - 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, - 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, - 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, - 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, - 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, - 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, - 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, - 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, - 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, - 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, - 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, - 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, - 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, - 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, - 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, - 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, - 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, - 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, - 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, - 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, - 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, - 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, - 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, - 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, - 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, - 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, - 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, - 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, - 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, - 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, - 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, - 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, - 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, - 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, - 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, - 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, - 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, - 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, - 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, - 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, - 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, - 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, - 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, - 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, - 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, - 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, - 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, - 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, - 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, - 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, - 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, - 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, - 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, - 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, - 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, - 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, - 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, - 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, - 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, - 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, - 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, - 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, - 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, - 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, - 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, - 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, - 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, - 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, - 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, - 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, - 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, - 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, - 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, - 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, - 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, - 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, - 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, - 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, - 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, - 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, - 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, - 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, - 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, - 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, - 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, - 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, - 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, - 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, - 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, - 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, - 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, - 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, - 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, - 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, - 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, - 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, - 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, - 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, - 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, - 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, - 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, - 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, - 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, - 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, - 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, - 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, - 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, - 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, - 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, - 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, - 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, - 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, - 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, - 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, - 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, - 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, - 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, - 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, - 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, - 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, - 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, - 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, - 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, - 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, - 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, - 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, - 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, - 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, - 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, - 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, - 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, - 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, - 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, - 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, - 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, - 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, - 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, - 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, - 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, - 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, - 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, - 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, - 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, - 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, - 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, - 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, - 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, - 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, - 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, - 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, - 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, - 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, - 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, - 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, - 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, - 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, - 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, - 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, - 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, - 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, - 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, - 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, - 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, - 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, - 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, - 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, - 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, - 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, - 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, - 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, - 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, - 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, - 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, - 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, - 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, - 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, - 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, - 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, - 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, - 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, - 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, - 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, - 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, - 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, - 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, - 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, - 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, - 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, - 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, - 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, - 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, - 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, - 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, - 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, - 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, - 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, - 127,134,227,254,192,56,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=11 x= 1 y= 6 dx=11 dy= 0 ascent=10 len=18 - Font Bounding box w=13 h=18 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-3 - X Font ascent = 7 descent=-3 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB08[2551] U8G_SECTION(".progmem.u8g_font_timB08") = { - 0,13,18,254,251,7,1,164,3,77,32,255,253,10,253,7, - 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, - 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, - 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, - 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, - 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, - 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, - 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, - 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, - 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, - 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, - 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, - 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, - 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, - 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, - 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, - 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, - 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, - 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, - 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, - 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, - 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, - 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, - 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, - 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, - 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, - 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, - 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, - 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, - 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, - 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, - 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, - 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, - 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, - 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, - 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, - 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, - 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, - 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, - 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, - 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, - 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, - 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, - 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, - 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, - 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, - 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, - 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, - 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, - 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, - 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, - 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, - 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, - 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, - 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, - 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, - 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, - 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, - 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, - 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, - 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, - 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, - 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, - 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, - 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, - 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, - 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, - 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, - 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, - 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, - 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, - 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, - 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, - 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, - 0,2,104,176,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,2,0,1,2,7,7,4,1, - 253,192,192,0,192,192,192,192,5,7,7,6,0,255,16,120, - 208,208,224,120,32,5,7,7,6,0,0,56,104,96,248,96, - 232,216,5,5,5,6,0,1,136,112,80,112,136,5,7,7, - 6,0,0,216,216,112,32,112,32,112,1,7,7,3,1,0, - 128,128,128,0,128,128,128,4,9,9,5,0,254,96,176,192, - 160,208,112,48,208,96,3,1,1,4,0,5,160,7,7,7, - 9,1,0,56,68,154,162,154,68,56,3,6,6,4,0,1, - 192,32,224,160,0,224,5,5,5,6,0,0,40,80,160,80, - 40,5,3,3,7,1,1,248,8,8,3,1,1,3,0,2, - 224,7,7,7,9,1,0,56,68,186,178,170,68,56,3,1, - 1,4,0,5,224,4,3,3,4,0,4,96,144,96,5,7, - 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, - 3,96,160,64,224,3,4,4,3,0,3,224,64,32,192,2, - 2,2,4,1,5,64,128,5,8,8,5,0,253,216,208,208, - 208,240,128,192,192,6,10,10,6,0,253,124,232,232,232,104, - 40,40,40,40,40,1,2,2,3,1,2,128,128,2,3,3, - 3,1,253,128,64,192,3,4,4,3,0,3,64,192,64,224, - 3,6,6,4,0,1,64,160,160,64,0,224,5,5,5,6, - 0,0,160,80,40,80,160,7,7,7,7,0,0,68,200,72, - 244,44,62,68,7,7,7,7,0,0,68,200,72,246,42,36, - 78,7,7,7,7,0,0,228,72,40,212,44,62,68,4,7, - 7,6,1,253,96,96,0,64,208,208,96,8,10,10,7,255, - 0,32,16,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,8,16,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,16,40,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,52,88,0,16,24,56,44,124,78,239,8,9,9,7,255, - 0,36,0,16,24,56,44,124,78,239,8,10,10,7,255,0, - 24,36,24,16,24,56,44,124,78,239,9,7,14,9,255,0, - 63,128,28,128,44,0,47,0,124,0,76,128,239,128,6,10, - 10,7,0,253,124,204,192,192,192,236,120,32,16,48,6,10, - 10,7,0,0,32,16,0,252,100,96,120,96,100,252,6,10, - 10,7,0,0,8,16,0,252,100,96,120,96,100,252,6,10, - 10,7,0,0,48,72,0,252,100,96,120,96,100,252,6,9, - 9,7,0,0,40,0,252,100,96,120,96,100,252,4,10,10, - 5,0,0,64,32,0,240,96,96,96,96,96,240,4,10,10, - 5,0,0,32,64,0,240,96,96,96,96,96,240,4,10,10, - 5,0,0,96,144,0,240,96,96,96,96,96,240,4,9,9, - 5,0,0,144,0,240,96,96,96,96,96,240,7,7,7,8, - 0,0,252,102,102,246,102,102,252,7,10,10,8,0,0,52, - 88,0,238,100,116,92,92,76,228,6,10,10,7,0,0,32, - 16,0,120,204,204,204,204,204,120,6,10,10,7,0,0,16, - 32,0,120,204,204,204,204,204,120,6,10,10,7,0,0,48, - 72,0,120,204,204,204,204,204,120,6,10,10,7,0,0,52, - 88,0,120,204,204,204,204,204,120,6,9,9,7,0,0,72, - 0,120,204,204,204,204,204,120,6,5,5,6,0,0,204,120, - 48,120,204,6,9,9,8,1,255,4,120,204,220,236,236,204, - 120,128,7,10,10,7,0,0,32,16,0,246,100,100,100,100, - 100,56,7,10,10,7,0,0,8,16,0,246,100,100,100,100, - 100,56,7,10,10,7,0,0,24,36,0,246,100,100,100,100, - 100,56,7,9,9,7,0,0,36,0,246,100,100,100,100,100, - 56,8,10,10,8,0,0,4,8,0,247,98,52,56,24,24, - 60,6,7,7,6,0,0,224,120,108,108,120,96,240,5,7, - 7,6,0,0,112,200,200,208,200,200,216,5,8,8,5,0, - 0,64,32,0,96,176,112,176,248,5,8,8,5,0,0,16, - 32,0,96,176,112,176,248,5,8,8,5,0,0,32,80,0, - 96,176,112,176,248,5,8,8,5,0,0,104,176,0,96,176, - 112,176,248,5,7,7,5,0,0,80,0,96,176,112,176,248, - 5,8,8,5,0,0,32,80,32,96,176,112,176,248,7,5, - 5,8,0,0,110,186,126,184,238,4,8,8,5,0,253,112, - 208,192,208,112,64,32,96,4,8,8,5,0,0,64,32,0, - 112,208,240,192,112,4,8,8,5,0,0,16,32,0,112,208, - 240,192,112,5,8,8,5,0,0,32,80,136,112,208,240,192, - 112,4,7,7,5,0,0,80,0,112,208,240,192,112,2,8, - 8,3,0,0,128,64,0,192,192,192,192,192,2,8,8,3, - 0,0,64,128,0,192,192,192,192,192,3,8,8,3,0,0, - 64,160,0,192,192,192,192,192,3,7,7,3,0,0,160,0, - 192,192,192,192,192,5,9,9,6,0,0,128,112,96,176,24, - 120,216,216,112,6,8,8,6,0,0,104,176,0,176,216,216, - 216,220,5,8,8,6,0,0,64,32,0,112,216,216,216,112, - 5,8,8,6,0,0,16,32,0,112,216,216,216,112,5,8, - 8,6,0,0,32,80,0,112,216,216,216,112,5,8,8,6, - 0,0,104,176,0,112,216,216,216,112,5,7,7,6,0,0, - 80,0,112,216,216,216,112,5,5,5,6,0,0,32,0,248, - 0,32,5,7,7,6,0,255,16,112,216,216,216,112,64,5, - 8,8,5,0,0,64,32,0,216,208,208,208,112,5,8,8, - 5,0,0,16,32,0,216,208,208,208,112,5,8,8,5,0, - 0,32,80,0,216,208,208,208,112,5,7,7,5,0,0,80, - 0,216,208,208,208,112,5,11,11,5,0,253,16,32,0,216, - 216,112,112,32,32,192,192,5,10,10,5,255,253,224,96,112, - 104,104,104,112,96,96,224,5,10,10,5,0,253,80,0,216, - 216,112,112,32,32,192,192}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=10 x= 1 y= 6 dx=11 dy= 0 ascent= 8 len=18 - Font Bounding box w=13 h=18 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-3 - X Font ascent = 7 descent=-3 - Max Font ascent = 8 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB08r[1221] U8G_SECTION(".progmem.u8g_font_timB08r") = { - 0,13,18,254,251,7,1,164,3,77,32,127,253,8,253,7, - 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, - 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, - 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, - 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, - 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, - 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, - 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, - 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, - 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, - 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, - 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, - 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, - 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, - 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, - 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, - 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, - 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, - 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, - 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, - 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, - 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, - 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, - 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, - 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, - 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, - 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, - 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, - 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, - 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, - 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, - 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, - 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, - 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, - 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, - 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, - 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, - 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, - 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, - 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, - 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, - 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, - 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, - 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, - 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, - 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, - 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, - 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, - 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, - 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, - 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, - 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, - 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, - 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, - 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, - 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, - 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, - 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, - 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, - 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, - 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, - 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, - 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, - 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, - 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, - 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, - 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, - 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, - 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, - 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, - 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, - 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, - 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, - 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, - 0,2,104,176,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=14 x= 1 y= 8 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB10[3539] U8G_SECTION(".progmem.u8g_font_timB10") = { - 0,17,24,254,250,10,2,6,4,148,32,255,253,14,253,10, - 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, - 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, - 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, - 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, - 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, - 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, - 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, - 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, - 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, - 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, - 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, - 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, - 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, - 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, - 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, - 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, - 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, - 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, - 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, - 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, - 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, - 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, - 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, - 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, - 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, - 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, - 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, - 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, - 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, - 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, - 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, - 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, - 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, - 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, - 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, - 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, - 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, - 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, - 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, - 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, - 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, - 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, - 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, - 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, - 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, - 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, - 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, - 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, - 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, - 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, - 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, - 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, - 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, - 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, - 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, - 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, - 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, - 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, - 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, - 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, - 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, - 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, - 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, - 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, - 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, - 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, - 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, - 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, - 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, - 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, - 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, - 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, - 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, - 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, - 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, - 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, - 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, - 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, - 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, - 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, - 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, - 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, - 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, - 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, - 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, - 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, - 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, - 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, - 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, - 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, - 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, - 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, - 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, - 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, - 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, - 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, - 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, - 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,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,3,0,1,2,10,10,4,1,253,192,192,0,192, - 192,192,192,192,192,192,6,11,11,7,0,254,8,8,120,212, - 208,208,240,228,120,32,32,7,10,10,8,0,0,60,118,102, - 96,48,248,48,48,246,222,7,6,6,8,0,2,56,238,68, - 68,238,56,8,10,10,8,0,0,247,98,118,52,60,24,60, - 24,24,60,1,12,12,3,1,254,128,128,128,128,128,0,0, - 128,128,128,128,128,5,12,12,7,1,254,112,216,200,96,240, - 152,200,120,48,152,216,112,3,2,2,5,1,8,160,160,10, - 10,20,12,1,0,30,0,97,128,78,128,146,64,144,64,144, - 64,146,64,76,128,97,128,30,0,4,7,7,5,0,3,96, - 16,112,144,112,0,240,7,5,5,9,1,1,54,108,216,108, - 54,7,4,4,9,1,1,254,2,2,2,3,1,1,4,0, - 3,224,10,10,20,12,1,0,30,0,97,128,92,128,146,64, - 146,64,156,64,148,64,82,128,97,128,30,0,4,1,1,5, - 0,8,240,4,4,4,6,1,6,96,144,144,96,7,9,9, - 8,0,0,16,16,16,254,16,16,16,0,254,4,6,6,4, - 0,4,96,176,48,96,192,240,4,6,6,4,0,4,96,176, - 96,48,176,96,3,3,3,5,1,8,32,96,128,8,10,10, - 7,255,253,238,102,102,102,102,102,123,64,96,96,7,13,13, - 8,0,253,126,244,244,244,244,116,20,20,20,20,20,20,20, - 2,2,2,4,0,4,192,192,3,3,3,5,1,253,64,32, - 224,4,6,6,4,0,4,32,224,96,96,96,240,4,7,7, - 5,0,3,96,144,144,144,96,0,240,7,5,5,9,1,1, - 216,108,54,108,216,10,10,20,10,0,0,33,0,226,0,98, - 0,100,0,100,128,249,128,11,128,22,128,23,192,33,128,10, - 10,20,10,0,0,33,0,226,0,98,0,100,0,101,128,250, - 192,8,192,17,128,19,0,35,192,10,10,20,10,0,0,97, - 0,178,0,98,0,52,0,180,128,105,128,11,128,22,128,23, - 192,33,128,5,10,10,7,1,253,48,48,0,48,48,96,192, - 216,216,112,10,14,28,10,0,0,16,0,24,0,4,0,0, - 0,12,0,12,0,30,0,22,0,51,0,35,0,63,0,97, - 128,65,128,227,192,10,14,28,10,0,0,2,0,6,0,8, - 0,0,0,12,0,12,0,30,0,22,0,51,0,35,0,63, - 0,97,128,65,128,227,192,10,14,28,10,0,0,8,0,28, - 0,34,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,26, - 0,44,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,18, - 0,18,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,14,28,10,0,0,12, - 0,18,0,12,0,0,0,12,0,12,0,30,0,22,0,51, - 0,35,0,63,0,97,128,65,128,227,192,13,10,20,14,0, - 0,31,248,15,24,11,8,27,32,19,224,63,32,35,40,99, - 8,67,24,231,248,8,13,13,10,1,253,61,99,193,193,192, - 192,192,193,99,62,16,8,56,8,14,14,9,0,0,32,48, - 8,0,255,99,97,100,124,100,101,97,99,255,8,14,14,9, - 0,0,4,12,16,0,255,99,97,100,124,100,101,97,99,255, - 8,14,14,9,0,0,8,28,34,0,255,99,97,100,124,100, - 101,97,99,255,8,13,13,9,0,0,36,36,0,255,99,97, - 100,124,100,101,97,99,255,4,14,14,5,0,0,128,192,32, - 0,240,96,96,96,96,96,96,96,96,240,4,14,14,5,0, - 0,16,48,64,0,240,96,96,96,96,96,96,96,96,240,5, - 14,14,5,0,0,32,112,136,0,240,96,96,96,96,96,96, - 96,96,240,4,13,13,5,0,0,144,144,0,240,96,96,96, - 96,96,96,96,96,240,9,10,20,11,1,0,254,0,99,0, - 97,128,97,128,241,128,97,128,97,128,97,128,99,0,254,0, - 10,13,26,10,0,0,26,0,44,0,0,0,225,192,112,128, - 112,128,88,128,76,128,76,128,70,128,67,128,67,128,225,128, - 9,14,28,11,1,0,16,0,24,0,4,0,0,0,62,0, - 99,0,193,128,193,128,193,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,11,1,0,4,0,12,0,16,0,0,0, - 62,0,99,0,193,128,193,128,193,128,193,128,193,128,193,128, - 99,0,62,0,9,14,28,11,1,0,8,0,28,0,34,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,9,13,26,11,1,0,26,0,44,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,9,13,26,11,1,0,34,0,34,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,8,7,7,8,0,0,195,102,60,24, - 60,102,195,9,12,24,11,1,255,0,128,61,0,99,0,195, - 128,197,128,201,128,201,128,209,128,225,128,99,0,94,0,128, - 0,9,14,28,10,0,0,16,0,24,0,4,0,0,0,243, - 128,97,0,97,0,97,0,97,0,97,0,97,0,97,0,115, - 0,62,0,9,14,28,10,0,0,4,0,12,0,16,0,0, - 0,243,128,97,0,97,0,97,0,97,0,97,0,97,0,97, - 0,115,0,62,0,9,14,28,10,0,0,8,0,28,0,34, - 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, - 0,97,0,115,0,62,0,9,13,26,10,0,0,18,0,18, - 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, - 0,97,0,115,0,62,0,10,14,28,10,0,0,1,0,3, - 0,4,0,0,0,249,192,112,128,49,0,57,0,26,0,30, - 0,12,0,12,0,12,0,30,0,8,10,10,9,0,0,240, - 96,126,103,99,99,99,126,96,240,7,10,10,8,0,0,56, - 108,100,108,120,108,102,102,102,236,7,11,11,7,0,0,32, - 48,8,0,120,204,12,124,204,204,118,7,11,11,7,0,0, - 8,24,32,0,120,204,12,124,204,204,118,7,11,11,7,0, - 0,16,56,68,0,120,204,12,124,204,204,118,7,10,10,7, - 0,0,52,88,0,120,204,12,124,204,204,118,7,10,10,7, - 0,0,40,40,0,120,204,12,124,204,204,118,7,11,11,7, - 0,0,48,72,48,0,120,204,12,124,204,204,118,10,7,14, - 11,0,0,123,128,204,192,204,192,63,192,204,0,204,192,119, - 128,6,10,10,7,0,253,56,76,204,192,192,228,120,32,16, - 112,6,11,11,7,0,0,64,96,16,0,56,76,204,252,192, - 228,120,6,11,11,7,0,0,8,24,32,0,56,76,204,252, - 192,228,120,6,11,11,7,0,0,16,56,68,0,56,76,204, - 252,192,228,120,6,10,10,7,0,0,80,80,0,56,76,204, - 252,192,228,120,4,11,11,4,0,0,128,192,32,0,224,96, - 96,96,96,96,240,4,11,11,4,0,0,32,96,128,0,224, - 96,96,96,96,96,240,5,11,11,4,0,0,32,112,136,0, - 224,96,96,96,96,96,240,4,10,10,4,0,0,160,160,0, - 224,96,96,96,96,96,240,6,10,10,7,0,0,204,112,152, - 120,204,204,204,204,204,120,8,10,10,8,0,0,52,88,0, - 236,118,102,102,102,102,231,6,11,11,7,0,0,32,48,8, - 0,120,204,204,204,204,204,120,6,11,11,7,0,0,8,24, - 32,0,120,204,204,204,204,204,120,6,11,11,7,0,0,32, - 112,136,0,120,204,204,204,204,204,120,6,10,10,7,0,0, - 104,176,0,120,204,204,204,204,204,120,6,10,10,7,0,0, - 80,80,0,120,204,204,204,204,204,120,6,7,7,8,0,0, - 48,48,0,252,0,48,48,6,9,9,7,0,255,4,120,204, - 220,236,236,204,120,128,8,11,11,7,255,0,32,48,8,0, - 238,102,102,102,102,102,59,8,11,11,7,255,0,4,12,16, - 0,238,102,102,102,102,102,59,8,11,11,7,255,0,16,56, - 68,0,238,102,102,102,102,102,59,8,10,10,7,255,0,40, - 40,0,238,102,102,102,102,102,59,8,14,14,7,255,253,2, - 6,8,0,247,98,50,52,28,28,8,8,56,48,7,13,13, - 8,0,253,224,96,96,108,118,102,102,102,102,124,96,96,240, - 8,13,13,7,255,253,34,34,0,247,98,50,52,28,28,8, - 8,56,48}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=13 x= 1 y= 8 dx=14 dy= 0 ascent=11 len=26 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB10r[1632] U8G_SECTION(".progmem.u8g_font_timB10r") = { - 0,17,24,254,250,10,2,6,4,148,32,127,253,11,253,10, - 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, - 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, - 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, - 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, - 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, - 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, - 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, - 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, - 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, - 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, - 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, - 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, - 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, - 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, - 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, - 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, - 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, - 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, - 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, - 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, - 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, - 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, - 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, - 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, - 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, - 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, - 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, - 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, - 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, - 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, - 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, - 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, - 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, - 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, - 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, - 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, - 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, - 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, - 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, - 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, - 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, - 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, - 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, - 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, - 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, - 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, - 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, - 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, - 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, - 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, - 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, - 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, - 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, - 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, - 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, - 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, - 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, - 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, - 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, - 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, - 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, - 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, - 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, - 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, - 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, - 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, - 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, - 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, - 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, - 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, - 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, - 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, - 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, - 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, - 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, - 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, - 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, - 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, - 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, - 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, - 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, - 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, - 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, - 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, - 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, - 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, - 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, - 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, - 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, - 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, - 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, - 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, - 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, - 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, - 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, - 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, - 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, - 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,255 - }; -/* - Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=16 x= 2 y= 9 dx=17 dy= 0 ascent=16 len=33 - Font Bounding box w=19 h=27 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB12[3887] U8G_SECTION(".progmem.u8g_font_timB12") = { - 0,19,27,254,249,11,2,42,5,41,32,255,252,16,252,11, - 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, - 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, - 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, - 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, - 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, - 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, - 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, - 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, - 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, - 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, - 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, - 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, - 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, - 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, - 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, - 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, - 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, - 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, - 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, - 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, - 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, - 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, - 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, - 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, - 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, - 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, - 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, - 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, - 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, - 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, - 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, - 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, - 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, - 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, - 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, - 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, - 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, - 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, - 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, - 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, - 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, - 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, - 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, - 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, - 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, - 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, - 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, - 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, - 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, - 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, - 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, - 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, - 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, - 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, - 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, - 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, - 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, - 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, - 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, - 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, - 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, - 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, - 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, - 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, - 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, - 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, - 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, - 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, - 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, - 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, - 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, - 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, - 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, - 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, - 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, - 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, - 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, - 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, - 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, - 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, - 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, - 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, - 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, - 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, - 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, - 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, - 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, - 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, - 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, - 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, - 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, - 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, - 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, - 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, - 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, - 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, - 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, - 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, - 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, - 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, - 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, - 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, - 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, - 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, - 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, - 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, - 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, - 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, - 4,48,0,120,128,159,0,14,0,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,5,0,1, - 2,12,12,6,2,252,192,192,0,0,64,64,64,192,192,192, - 192,192,6,12,12,8,1,254,4,4,56,76,204,208,208,224, - 100,56,64,64,8,11,11,8,0,0,28,38,38,48,48,124, - 48,16,113,158,110,6,7,7,8,1,1,180,120,204,132,204, - 120,180,8,11,11,8,0,0,227,98,50,52,28,126,24,126, - 24,24,126,1,15,15,4,1,253,128,128,128,128,128,128,0, - 0,0,128,128,128,128,128,128,6,15,15,8,1,252,56,76, - 76,96,48,120,156,204,228,120,56,24,200,200,112,5,2,2, - 6,0,9,216,216,12,11,22,12,255,0,15,0,48,192,71, - 32,72,160,152,16,152,16,152,16,72,160,71,32,48,192,15, - 0,5,7,7,5,0,4,96,144,112,176,216,0,248,7,7, - 7,8,0,0,18,54,108,216,108,54,18,7,6,6,9,1, - 1,254,254,2,2,2,2,4,2,2,5,0,3,240,240,12, - 11,22,12,0,0,15,0,48,192,78,32,73,32,137,16,142, - 16,138,16,73,32,93,32,48,192,15,0,5,1,1,6,0, - 9,248,4,5,5,7,1,6,96,144,144,144,96,7,9,9, - 9,1,0,16,16,254,254,16,16,0,254,254,4,7,7,5, - 0,4,96,240,176,32,64,240,240,4,7,7,5,0,4,96, - 176,48,96,48,176,96,3,3,3,6,1,9,96,64,128,8, - 11,11,9,0,253,238,102,102,102,102,102,111,118,64,96,96, - 7,15,15,9,1,252,62,116,244,244,244,244,116,52,20,20, - 20,20,20,20,20,2,2,2,4,1,4,192,192,5,4,4, - 6,0,252,32,48,136,112,4,7,7,5,1,4,96,224,96, - 96,96,96,240,4,7,7,6,1,4,96,144,144,144,96,0, - 240,7,7,7,8,0,0,144,216,108,54,108,216,144,11,11, - 22,12,0,0,96,128,225,0,97,0,98,0,100,64,100,192, - 249,192,10,192,19,224,32,192,32,192,10,11,22,12,0,0, - 97,0,225,0,98,0,98,0,100,0,107,128,254,192,16,128, - 17,0,35,192,39,192,11,11,22,12,0,0,96,128,177,0, - 49,0,98,0,52,64,180,192,105,192,10,192,19,224,32,192, - 32,192,6,11,11,8,1,253,24,24,0,16,32,64,192,192, - 204,204,112,11,15,30,12,0,0,48,0,24,0,4,0,0, - 0,4,0,14,0,14,0,27,0,19,0,51,0,33,128,127, - 128,64,192,192,192,225,224,11,15,30,12,0,0,1,128,3, - 0,4,0,0,0,4,0,14,0,14,0,27,0,19,0,51, - 0,33,128,127,128,64,192,192,192,225,224,11,15,30,12,0, - 0,4,0,14,0,17,0,0,0,4,0,14,0,14,0,27, - 0,19,0,51,0,33,128,127,128,64,192,192,192,225,224,11, - 14,28,12,0,0,29,0,46,0,0,0,4,0,14,0,14, - 0,27,0,19,0,51,0,33,128,127,128,64,192,192,192,225, - 224,11,14,28,12,0,0,27,0,27,0,0,0,4,0,14, - 0,14,0,27,0,19,0,51,0,33,128,127,128,64,192,192, - 192,225,224,11,16,32,12,0,0,6,0,9,0,9,0,6, - 0,0,0,4,0,14,0,14,0,27,0,19,0,51,0,33, - 128,127,128,64,192,192,192,225,224,14,11,22,16,1,0,15, - 248,7,24,11,8,11,0,19,32,31,224,35,32,35,0,67, - 4,67,12,231,252,9,15,30,11,1,252,30,128,99,128,65, - 128,192,128,192,0,192,0,192,0,192,0,96,128,115,0,62, - 0,8,0,12,0,34,0,28,0,8,15,15,10,1,0,96, - 48,8,0,255,99,97,96,98,126,98,96,97,99,255,8,15, - 15,10,1,0,6,12,16,0,255,99,97,96,98,126,98,96, - 97,99,255,8,15,15,10,1,0,8,28,34,0,255,99,97, - 96,98,126,98,96,97,99,255,8,14,14,10,1,0,102,102, - 0,255,99,97,96,98,126,98,96,97,99,255,5,15,15,6, - 0,0,192,96,16,0,120,48,48,48,48,48,48,48,48,48, - 120,4,15,15,6,1,0,48,96,128,0,240,96,96,96,96, - 96,96,96,96,96,240,5,15,15,6,0,0,32,112,136,0, - 120,48,48,48,48,48,48,48,48,48,120,6,14,14,6,0, - 0,204,204,0,120,48,48,48,48,48,48,48,48,48,120,9, - 11,22,11,1,0,252,0,102,0,99,0,97,128,97,128,249, - 128,97,128,97,128,99,0,102,0,252,0,10,14,28,12,1, - 0,29,0,46,0,0,0,241,192,112,128,88,128,88,128,76, - 128,70,128,71,128,67,128,65,128,65,128,224,128,10,15,30, - 12,1,0,48,0,24,0,4,0,0,0,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,30, - 0,10,15,30,12,1,0,3,0,6,0,8,0,0,0,30, - 0,97,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,128,30,0,10,15,30,12,1,0,4,0,14,0,17, - 0,0,0,30,0,97,128,64,128,192,192,192,192,192,192,192, - 192,192,192,64,128,97,128,30,0,10,14,28,12,1,0,29, - 0,46,0,0,0,30,0,97,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,128,30,0,10,14,28,12,1, - 0,51,0,51,0,0,0,30,0,97,128,64,128,192,192,192, - 192,192,192,192,192,192,192,64,128,97,128,30,0,7,8,8, - 9,1,0,130,198,108,56,56,108,198,130,10,13,26,13,1, - 255,0,64,30,128,97,128,65,128,194,192,194,192,196,192,200, - 192,200,192,80,128,97,128,62,0,64,0,10,15,30,12,1, - 0,48,0,24,0,4,0,0,0,241,192,96,128,96,128,96, - 128,96,128,96,128,96,128,96,128,96,128,33,0,30,0,10, - 15,30,12,1,0,3,0,6,0,8,0,0,0,241,192,96, - 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,33, - 0,30,0,10,15,30,12,1,0,4,0,14,0,17,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,33,0,30,0,10,14,28,12,1,0,51,0,51, - 0,0,0,241,192,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,96,128,33,0,30,0,11,15,30,12,0,0,1, - 128,3,0,4,0,0,0,248,224,112,64,56,128,24,128,29, - 0,15,0,6,0,6,0,6,0,6,0,15,0,8,11,11, - 10,1,0,240,96,126,103,99,99,103,126,96,96,240,8,11, - 11,9,0,0,24,38,102,102,108,98,99,99,99,98,236,8, - 12,12,8,0,0,48,16,8,0,56,204,204,28,108,204,205, - 118,8,12,12,8,0,0,24,16,32,0,56,204,204,28,108, - 204,205,118,8,12,12,8,0,0,16,56,68,0,56,204,204, - 28,108,204,205,118,8,11,11,8,0,0,52,88,0,56,204, - 204,28,108,204,205,118,8,11,11,8,0,0,108,108,0,56, - 204,204,28,108,204,205,118,8,13,13,8,0,0,16,40,40, - 16,0,56,204,204,28,108,204,205,118,10,8,16,12,1,0, - 51,128,206,192,204,192,31,192,108,0,204,0,214,64,99,128, - 6,12,12,7,0,252,56,108,204,192,192,192,100,56,32,48, - 136,112,6,12,12,7,0,0,48,16,8,0,56,108,204,252, - 192,192,100,56,6,12,12,7,0,0,24,16,32,0,56,108, - 204,252,192,192,100,56,6,12,12,7,0,0,16,56,68,0, - 56,108,204,252,192,192,100,56,6,11,11,7,0,0,108,108, - 0,56,108,204,252,192,192,100,56,4,12,12,5,0,0,192, - 64,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, - 0,48,32,64,0,224,96,96,96,96,96,96,240,5,12,12, - 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,5, - 11,11,5,255,0,216,216,0,112,48,48,48,48,48,48,120, - 7,11,11,8,0,0,108,48,216,60,108,198,198,198,198,108, - 56,8,11,11,9,0,0,52,88,0,236,126,102,102,102,102, - 102,247,7,12,12,8,0,0,48,16,8,0,56,108,198,198, - 198,198,108,56,7,12,12,8,0,0,24,16,32,0,56,108, - 198,198,198,198,108,56,7,12,12,8,0,0,16,56,68,0, - 56,108,198,198,198,198,108,56,7,11,11,8,0,0,52,88, - 0,56,108,198,198,198,198,108,56,7,11,11,8,0,0,108, - 108,0,56,108,198,198,198,198,108,56,8,8,8,9,0,0, - 24,24,0,255,255,0,24,24,7,10,10,8,0,255,2,60, - 108,206,214,214,230,108,120,128,8,12,12,9,0,0,48,16, - 8,0,238,102,102,102,102,102,111,54,8,12,12,9,0,0, - 12,8,16,0,238,102,102,102,102,102,111,54,8,12,12,9, - 0,0,16,56,68,0,238,102,102,102,102,102,111,54,8,11, - 11,9,0,0,108,108,0,238,102,102,102,102,102,111,54,8, - 16,16,8,0,252,12,8,16,0,247,98,98,52,52,28,24, - 24,16,16,224,192,8,15,15,9,0,252,224,96,96,108,118, - 99,99,99,99,114,108,96,96,96,240,8,15,15,8,0,252, - 108,108,0,247,98,98,52,52,28,24,24,16,16,224,192}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=15 x= 2 y= 9 dx=17 dy= 0 ascent=12 len=33 - Font Bounding box w=19 h=27 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB12r[1834] U8G_SECTION(".progmem.u8g_font_timB12r") = { - 0,19,27,254,249,11,2,42,5,41,32,127,252,12,252,11, - 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, - 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, - 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, - 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, - 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, - 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, - 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, - 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, - 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, - 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, - 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, - 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, - 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, - 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, - 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, - 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, - 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, - 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, - 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, - 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, - 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, - 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, - 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, - 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, - 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, - 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, - 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, - 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, - 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, - 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, - 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, - 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, - 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, - 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, - 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, - 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, - 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, - 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, - 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, - 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, - 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, - 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, - 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, - 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, - 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, - 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, - 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, - 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, - 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, - 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, - 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, - 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, - 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, - 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, - 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, - 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, - 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, - 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, - 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, - 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, - 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, - 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, - 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, - 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, - 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, - 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, - 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, - 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, - 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, - 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, - 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, - 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, - 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, - 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, - 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, - 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, - 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, - 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, - 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, - 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, - 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, - 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, - 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, - 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, - 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, - 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, - 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, - 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, - 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, - 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, - 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, - 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, - 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, - 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, - 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, - 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, - 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, - 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, - 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, - 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, - 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, - 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, - 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, - 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, - 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, - 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, - 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, - 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, - 4,48,0,120,128,159,0,14,0,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=11 dx=19 dy= 0 ascent=17 len=39 - Font Bounding box w=22 h=28 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =17 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB14[4851] U8G_SECTION(".progmem.u8g_font_timB14") = { - 0,22,28,254,249,13,2,178,6,78,32,255,252,17,252,13, - 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, - 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, - 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, - 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, - 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, - 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, - 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, - 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, - 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, - 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, - 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, - 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, - 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, - 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, - 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, - 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, - 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, - 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, - 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, - 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, - 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, - 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, - 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, - 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, - 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, - 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, - 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, - 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, - 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, - 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, - 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, - 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, - 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, - 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, - 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, - 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, - 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, - 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, - 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, - 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, - 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, - 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, - 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, - 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, - 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, - 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, - 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, - 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, - 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, - 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, - 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, - 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, - 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, - 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, - 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, - 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, - 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, - 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, - 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, - 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, - 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, - 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, - 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, - 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, - 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, - 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, - 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, - 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, - 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, - 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, - 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, - 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, - 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, - 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, - 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, - 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, - 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, - 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, - 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, - 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, - 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, - 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, - 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, - 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, - 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, - 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, - 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, - 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, - 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, - 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, - 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, - 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, - 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, - 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, - 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, - 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, - 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, - 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, - 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, - 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, - 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, - 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, - 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, - 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, - 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, - 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, - 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, - 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, - 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, - 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, - 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, - 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, - 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, - 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, - 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, - 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, - 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, - 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, - 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, - 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, - 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, - 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, - 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, - 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, - 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, - 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, - 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, - 1,3,112,249,159,14,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,5,0,1,3,13,13, - 6,1,252,224,224,224,0,64,64,224,224,224,224,224,224,64, - 8,13,13,9,0,254,1,3,62,119,239,236,216,216,240,115, - 62,96,64,14,13,26,9,0,0,31,0,59,0,59,0,56, - 0,56,0,56,0,254,0,56,4,56,0,48,0,240,128,191, - 128,239,0,8,8,8,9,0,2,219,255,102,195,195,102,255, - 219,9,13,26,9,0,0,251,128,113,0,115,0,58,0,58, - 0,28,0,127,0,28,0,127,0,28,0,28,0,28,0,127, - 0,2,16,16,4,1,253,192,192,192,192,192,192,0,0,0, - 0,192,192,192,192,192,192,7,16,16,9,1,253,60,102,70, - 96,48,120,220,206,230,118,60,28,12,196,204,120,6,2,2, - 6,0,10,204,204,13,13,26,15,1,0,15,128,56,224,96, - 48,79,208,220,216,152,72,152,8,152,8,220,216,79,144,96, - 48,56,224,15,128,6,8,8,6,0,5,112,216,56,216,216, - 236,0,252,9,7,14,11,1,1,25,128,51,0,102,0,204, - 0,102,0,51,0,25,128,9,6,12,11,1,1,255,128,255, - 128,1,128,1,128,1,128,1,128,5,3,3,6,0,4,248, - 248,248,13,13,26,15,1,0,15,128,56,224,96,48,95,144, - 204,216,140,200,143,136,141,136,204,216,94,240,96,48,56,224, - 15,128,6,1,1,6,0,11,252,6,5,5,7,0,8,120, - 204,204,204,120,8,11,11,11,1,0,24,24,24,255,255,24, - 24,24,0,255,255,5,8,8,5,0,5,112,152,24,48,32, - 64,248,240,5,8,8,5,0,5,112,152,24,112,56,24,152, - 112,5,3,3,6,0,10,56,112,192,10,13,26,11,0,252, - 247,128,115,128,115,128,115,128,115,128,115,128,115,128,127,128, - 125,192,96,0,224,0,240,0,96,0,9,17,34,10,0,252, - 63,128,127,128,251,0,251,0,251,0,251,0,123,0,59,0, - 27,0,27,0,27,0,27,0,27,0,27,0,27,0,27,0, - 27,0,3,3,3,5,1,4,224,224,224,5,4,4,6,1, - 252,32,24,152,112,6,8,8,5,0,5,48,240,48,48,48, - 48,48,252,6,8,8,6,0,5,120,204,204,204,204,120,0, - 252,9,7,14,11,1,1,204,0,102,0,51,0,25,128,51, - 0,102,0,204,0,13,13,26,13,0,0,48,96,240,192,48, - 192,49,128,49,128,51,16,51,48,254,112,6,176,13,176,13, - 248,24,48,24,48,13,13,26,13,0,0,48,96,240,192,48, - 192,49,128,49,128,51,112,51,152,254,24,6,48,12,32,12, - 64,24,248,24,240,13,13,26,13,0,0,112,96,152,192,24, - 192,113,128,57,128,27,16,155,48,118,112,6,176,13,176,13, - 248,24,48,24,48,7,13,13,9,1,252,56,56,56,0,16, - 16,48,96,228,238,238,230,124,14,17,34,14,0,0,14,0, - 7,0,1,128,0,0,3,0,3,128,7,128,5,192,13,192, - 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, - 14,17,34,14,0,0,3,128,7,0,12,0,0,0,3,0, - 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, - 48,112,32,56,96,56,248,252,14,17,34,14,0,0,3,0, - 7,128,12,192,0,0,3,0,3,128,7,128,5,192,13,192, - 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, - 14,17,34,14,0,0,6,64,15,192,9,128,0,0,3,0, - 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, - 48,112,32,56,96,56,248,252,14,16,32,14,0,0,12,192, - 12,192,0,0,3,0,3,128,7,128,5,192,13,192,8,192, - 24,224,16,96,31,240,48,112,32,56,96,56,248,252,14,17, - 34,14,0,0,7,0,13,128,13,128,7,0,3,0,3,128, - 7,128,5,192,13,192,8,192,24,224,16,96,31,240,48,112, - 32,56,96,56,248,252,17,13,39,19,0,0,7,255,128,3, - 225,128,2,224,128,6,224,0,4,224,0,12,226,0,8,254, - 0,31,226,0,16,224,0,48,224,0,32,224,128,96,225,128, - 249,255,128,12,17,34,14,1,252,15,144,56,240,112,112,112, - 48,224,0,224,0,224,0,224,0,224,0,112,0,112,48,60, - 224,15,128,4,0,3,0,19,0,14,0,10,17,34,13,2, - 0,56,0,28,0,6,0,0,0,255,192,112,192,112,64,112, - 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, - 192,255,192,10,17,34,13,2,0,14,0,28,0,48,0,0, - 0,255,192,112,192,112,64,112,0,112,0,113,0,127,0,113, - 0,112,0,112,0,112,64,112,192,255,192,10,17,34,13,2, - 0,12,0,30,0,51,0,0,0,255,192,112,192,112,64,112, - 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, - 192,255,192,10,16,32,13,2,0,51,0,51,0,0,0,255, - 192,112,192,112,64,112,0,112,0,113,0,127,0,113,0,112, - 0,112,0,112,64,112,192,255,192,5,17,17,7,1,0,224, - 112,24,0,248,112,112,112,112,112,112,112,112,112,112,112,248, - 5,17,17,7,1,0,56,112,192,0,248,112,112,112,112,112, - 112,112,112,112,112,112,248,6,17,17,7,1,0,48,120,204, - 0,248,112,112,112,112,112,112,112,112,112,112,112,248,6,16, - 16,7,1,0,204,204,0,248,112,112,112,112,112,112,112,112, - 112,112,112,248,13,13,26,14,0,0,127,128,56,224,56,112, - 56,48,56,56,56,56,254,56,56,56,56,56,56,48,56,112, - 56,224,127,128,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,240,112,120,32,120,32,124,32,94,32,78,32,79,32, - 71,160,67,160,67,224,65,224,64,224,224,224,13,17,34,15, - 1,0,14,0,7,0,1,128,0,0,15,128,56,224,112,112, - 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, - 56,224,15,128,13,17,34,15,1,0,3,128,7,0,12,0, - 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, - 224,56,224,56,112,112,112,112,56,224,15,128,13,17,34,15, - 1,0,6,0,15,0,25,128,0,0,15,128,56,224,112,112, - 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, - 56,224,15,128,13,17,34,15,1,0,12,128,31,128,19,0, - 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, - 224,56,224,56,112,112,112,112,56,224,15,128,13,16,32,15, - 1,0,25,128,25,128,0,0,15,128,56,224,112,112,112,112, - 224,56,224,56,224,56,224,56,224,56,112,112,112,112,56,224, - 15,128,9,8,16,11,1,1,193,128,99,0,54,0,28,0, - 28,0,54,0,99,0,193,128,13,15,30,15,1,255,0,96, - 15,192,56,224,112,176,113,176,225,56,227,56,226,56,230,56, - 228,56,108,112,104,112,56,224,31,128,48,0,12,17,34,14, - 1,0,28,0,14,0,3,0,0,0,248,240,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, - 56,192,31,128,12,17,34,14,1,0,1,192,3,128,6,0, - 0,0,248,240,112,32,112,32,112,32,112,32,112,32,112,32, - 112,32,112,32,112,32,112,96,56,192,31,128,12,17,34,14, - 1,0,6,0,15,0,25,128,0,0,248,240,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, - 56,192,31,128,12,16,32,14,1,0,25,128,25,128,0,0, - 248,240,112,32,112,32,112,32,112,32,112,32,112,32,112,32, - 112,32,112,32,112,96,56,192,31,128,13,17,34,14,1,0, - 0,224,1,192,3,0,0,0,252,120,120,48,56,96,60,64, - 30,192,14,128,15,128,7,0,7,0,7,0,7,0,7,0, - 31,192,10,13,26,11,1,0,248,0,112,0,112,0,127,0, - 115,128,113,192,113,192,113,192,115,128,127,0,112,0,112,0, - 248,0,9,13,26,10,0,0,30,0,59,0,115,128,115,128, - 115,128,119,0,114,0,115,0,115,128,115,128,115,128,115,128, - 247,0,8,13,13,9,0,0,112,56,12,0,124,206,206,30, - 110,206,206,254,119,8,13,13,9,0,0,14,28,48,0,124, - 206,206,30,110,206,206,254,119,8,13,13,9,0,0,24,60, - 102,0,124,206,206,30,110,206,206,254,119,8,13,13,9,0, - 0,50,126,76,0,124,206,206,30,110,206,206,254,119,8,12, - 12,9,0,0,102,102,0,124,206,206,30,110,206,206,254,119, - 8,13,13,9,0,0,56,108,108,56,124,206,206,30,110,206, - 206,254,119,12,9,18,13,0,0,125,224,231,176,199,48,15, - 240,127,0,231,0,199,0,239,176,121,224,7,13,13,8,0, - 252,62,118,230,224,224,224,224,118,60,16,12,76,56,7,13, - 13,8,0,0,112,56,12,0,60,118,230,254,224,224,224,118, - 60,8,13,13,8,0,0,7,14,24,0,60,118,230,254,224, - 224,224,118,60,7,13,13,8,0,0,24,60,102,0,60,118, - 230,254,224,224,224,118,60,7,12,12,8,0,0,102,102,0, - 60,118,230,254,224,224,224,118,60,5,13,13,5,0,0,224, - 112,24,0,240,112,112,112,112,112,112,112,248,5,13,13,5, - 0,0,56,112,192,0,240,112,112,112,112,112,112,112,248,6, - 13,13,5,0,0,48,120,204,0,240,112,112,112,112,112,112, - 112,248,6,12,12,5,0,0,204,204,0,240,112,112,112,112, - 112,112,112,248,8,13,13,9,0,0,96,54,56,76,62,102, - 231,231,231,231,231,102,60,10,13,26,11,0,0,25,0,63, - 0,38,0,0,0,231,0,127,128,115,128,115,128,115,128,115, - 128,115,128,115,128,251,192,8,13,13,9,0,0,112,56,12, - 0,60,102,231,231,231,231,231,102,60,8,13,13,9,0,0, - 7,14,24,0,60,102,231,231,231,231,231,102,60,8,13,13, - 9,0,0,24,60,102,0,60,102,231,231,231,231,231,102,60, - 8,13,13,9,0,0,50,126,76,0,60,102,231,231,231,231, - 231,102,60,8,12,12,9,0,0,102,102,0,60,102,231,231, - 231,231,231,102,60,8,8,8,11,1,1,24,24,0,255,255, - 0,24,24,10,11,22,9,255,255,0,64,30,128,51,0,115, - 128,115,128,119,128,123,128,113,128,51,0,94,0,128,0,10, - 13,26,11,0,0,56,0,28,0,6,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 13,26,11,0,0,14,0,28,0,48,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 13,26,11,0,0,12,0,30,0,51,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 12,24,11,0,0,51,0,51,0,0,0,247,128,115,128,115, - 128,115,128,115,128,115,128,115,128,127,128,61,192,10,17,34, - 9,255,252,3,128,7,0,12,0,0,0,251,192,113,128,121, - 0,59,0,58,0,30,0,30,0,12,0,12,0,12,0,8, - 0,216,0,240,0,9,17,34,10,0,252,240,0,112,0,112, - 0,112,0,118,0,127,0,115,128,115,128,115,128,115,128,115, - 128,123,0,118,0,112,0,112,0,112,0,248,0,10,16,32, - 9,255,252,51,0,51,0,0,0,251,192,113,128,121,0,59, - 0,58,0,30,0,30,0,12,0,12,0,12,0,8,0,216, - 0,240,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=10 dx=19 dy= 0 ascent=14 len=39 - Font Bounding box w=22 h=28 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB14r[2295] U8G_SECTION(".progmem.u8g_font_timB14r") = { - 0,22,28,254,249,13,2,178,6,78,32,127,252,14,252,13, - 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, - 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, - 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, - 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, - 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, - 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, - 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, - 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, - 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, - 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, - 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, - 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, - 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, - 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, - 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, - 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, - 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, - 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, - 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, - 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, - 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, - 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, - 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, - 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, - 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, - 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, - 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, - 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, - 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, - 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, - 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, - 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, - 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, - 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, - 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, - 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, - 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, - 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, - 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, - 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, - 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, - 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, - 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, - 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, - 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, - 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, - 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, - 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, - 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, - 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, - 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, - 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, - 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, - 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, - 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, - 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, - 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, - 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, - 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, - 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, - 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, - 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, - 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, - 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, - 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, - 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, - 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, - 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, - 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, - 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, - 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, - 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, - 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, - 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, - 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, - 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, - 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, - 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, - 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, - 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, - 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, - 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, - 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, - 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, - 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, - 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, - 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, - 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, - 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, - 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, - 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, - 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, - 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, - 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, - 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, - 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, - 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, - 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, - 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, - 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, - 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, - 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, - 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, - 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, - 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, - 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, - 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, - 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, - 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, - 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, - 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, - 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, - 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, - 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, - 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, - 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, - 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, - 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, - 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, - 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, - 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, - 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, - 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, - 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, - 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, - 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, - 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, - 1,3,112,249,159,14,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=24 h=23 x= 3 y=14 dx=25 dy= 0 ascent=23 len=69 - Font Bounding box w=27 h=38 x=-2 y=-10 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =23 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB18[7223] U8G_SECTION(".progmem.u8g_font_timB18") = { - 0,27,38,254,246,17,4,47,9,109,32,255,251,23,250,17, - 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, - 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, - 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, - 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, - 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, - 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, - 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, - 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, - 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, - 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, - 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, - 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, - 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, - 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, - 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, - 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, - 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, - 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, - 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, - 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, - 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, - 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, - 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, - 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, - 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, - 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, - 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, - 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, - 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, - 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, - 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, - 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, - 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, - 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, - 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, - 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, - 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, - 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, - 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, - 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, - 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, - 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, - 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, - 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, - 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, - 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, - 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, - 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, - 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, - 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, - 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, - 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, - 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, - 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, - 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, - 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, - 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, - 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, - 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, - 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, - 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, - 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, - 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, - 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, - 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, - 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, - 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, - 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, - 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, - 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, - 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, - 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, - 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, - 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, - 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, - 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, - 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, - 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, - 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, - 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, - 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, - 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, - 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, - 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, - 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, - 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, - 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, - 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, - 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, - 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, - 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, - 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, - 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, - 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, - 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, - 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, - 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, - 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, - 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, - 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, - 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, - 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, - 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, - 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, - 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, - 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, - 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, - 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, - 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, - 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, - 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, - 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, - 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, - 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, - 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, - 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, - 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, - 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, - 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, - 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, - 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, - 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, - 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, - 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, - 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, - 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, - 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, - 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, - 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, - 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, - 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, - 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, - 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, - 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, - 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, - 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, - 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, - 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, - 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, - 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, - 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, - 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, - 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, - 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, - 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, - 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, - 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, - 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, - 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, - 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, - 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, - 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, - 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, - 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, - 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, - 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, - 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, - 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, - 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, - 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, - 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, - 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, - 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, - 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, - 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, - 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, - 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, - 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, - 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, - 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, - 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, - 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, - 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, - 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, - 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, - 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, - 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, - 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, - 126,16,255,16,143,240,135,224,1,128,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, - 1,4,17,17,8,2,251,96,240,240,96,0,0,96,96,96, - 96,96,240,240,240,240,240,96,10,18,36,13,1,253,0,128, - 1,128,1,0,31,128,115,192,115,192,230,128,228,0,228,0, - 236,0,232,0,248,0,120,128,127,128,62,0,48,0,96,0, - 96,0,11,17,34,13,0,0,15,192,30,96,60,224,60,224, - 60,64,28,0,28,0,255,128,255,128,28,0,28,0,28,0, - 12,32,124,96,207,224,255,224,115,192,11,12,24,13,0,3, - 192,96,238,224,127,192,59,128,113,192,96,192,96,192,113,192, - 59,128,127,192,238,224,192,96,14,17,34,13,0,0,254,124, - 56,48,60,32,28,96,30,64,14,192,15,128,7,128,7,0, - 31,192,7,0,31,192,7,0,7,0,7,0,7,0,31,192, - 2,22,22,6,2,251,192,192,192,192,192,192,192,192,192,0, - 0,0,0,192,192,192,192,192,192,192,192,192,7,20,20,11, - 2,253,60,110,206,198,224,112,120,92,142,134,194,226,116,60, - 28,14,198,230,236,120,6,2,2,8,1,14,204,204,17,17, - 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, - 97,243,0,99,51,0,198,17,128,198,1,128,198,1,128,198, - 1,128,198,1,128,99,51,0,97,227,0,48,6,0,60,30, - 0,15,248,0,3,224,0,7,10,10,8,0,7,120,220,12, - 124,236,204,126,0,254,254,11,10,20,13,1,1,12,96,24, - 192,49,128,115,128,231,0,231,0,115,128,49,128,24,192,12, - 96,11,7,14,15,2,2,255,224,255,224,0,96,0,96,0, - 96,0,96,0,96,6,3,3,8,1,5,252,252,252,17,17, - 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, - 103,227,0,99,51,0,195,49,128,195,49,128,195,225,128,195, - 97,128,195,49,128,99,51,0,103,187,0,48,6,0,60,30, - 0,15,248,0,3,224,0,6,1,1,8,1,14,252,8,7, - 7,9,0,10,60,102,195,195,195,102,60,12,13,26,14,1, - 0,6,0,6,0,6,0,6,0,255,240,255,240,6,0,6, - 0,6,0,6,0,0,0,255,240,255,240,6,10,10,7,0, - 7,56,124,140,12,24,16,32,64,252,252,6,10,10,7,0, - 7,56,124,140,12,56,28,12,140,248,112,5,4,4,8,2, - 13,56,112,96,192,12,17,34,14,1,251,241,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, - 240,108,224,96,0,96,0,224,0,240,0,96,0,11,22,44, - 14,1,251,31,224,127,224,126,64,254,64,254,64,254,64,254, - 64,254,64,254,64,126,64,126,64,30,64,2,64,2,64,2, - 64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,3, - 3,3,6,1,6,224,224,224,6,6,6,8,1,250,16,48, - 56,12,140,120,6,10,10,7,0,7,48,240,48,48,48,48, - 48,48,48,252,7,10,10,8,0,7,56,108,198,198,198,108, - 56,0,254,254,11,10,20,13,1,1,198,0,99,0,49,128, - 57,192,28,224,28,224,57,192,51,128,99,0,198,0,17,17, - 51,18,0,0,48,4,0,240,12,0,48,24,0,48,24,0, - 48,48,0,48,32,0,48,96,0,48,66,0,48,198,0,252, - 142,0,1,142,0,1,22,0,3,54,0,6,38,0,6,127, - 128,12,6,0,8,6,0,17,17,51,18,0,0,48,4,0, - 240,12,0,48,24,0,48,24,0,48,48,0,48,32,0,48, - 96,0,48,71,0,48,207,128,252,145,128,1,129,128,1,3, - 0,3,2,0,6,4,0,6,8,0,12,31,128,8,31,128, - 17,17,51,18,1,0,56,4,0,124,12,0,140,24,0,12, - 24,0,56,48,0,28,32,0,12,96,0,140,66,0,248,198, - 0,113,14,0,3,14,0,2,22,0,6,54,0,12,38,0, - 12,127,128,24,6,0,16,6,0,9,17,34,12,1,251,12, - 0,30,0,30,0,12,0,0,0,0,0,12,0,12,0,28, - 0,56,0,120,0,240,0,241,0,243,128,243,128,123,0,62, - 0,17,22,66,18,0,0,3,128,0,1,192,0,0,192,0, - 0,96,0,0,0,0,1,128,0,1,192,0,3,192,0,3, - 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, - 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, - 48,30,0,112,30,0,248,127,128,17,22,66,18,0,0,0, - 224,0,1,192,0,1,128,0,3,0,0,0,0,0,1,128, - 0,1,192,0,3,192,0,3,224,0,3,224,0,6,224,0, - 6,240,0,4,112,0,12,112,0,8,120,0,8,56,0,31, - 248,0,16,60,0,48,60,0,48,30,0,112,30,0,248,127, - 128,17,22,66,18,0,0,1,128,0,3,192,0,6,96,0, - 0,0,0,0,0,0,1,128,0,1,192,0,3,192,0,3, - 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, - 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, - 48,30,0,112,30,0,248,127,128,17,21,63,18,0,0,3, - 16,0,7,224,0,8,192,0,0,0,0,1,128,0,1,192, - 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, - 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, - 60,0,48,60,0,48,30,0,112,30,0,248,127,128,17,21, - 63,18,0,0,6,96,0,6,96,0,0,0,0,0,0,0, - 1,128,0,1,192,0,3,192,0,3,224,0,3,224,0,6, - 224,0,6,240,0,4,112,0,12,112,0,8,120,0,8,56, - 0,31,248,0,16,60,0,48,60,0,48,30,0,112,30,0, - 248,127,128,17,23,69,18,0,0,1,128,0,3,192,0,6, - 96,0,6,96,0,3,192,0,1,128,0,1,128,0,1,192, - 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, - 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, - 60,0,48,60,0,48,30,0,112,30,0,248,127,128,23,17, - 51,25,0,0,1,255,252,0,124,28,0,252,12,0,188,4, - 1,188,4,1,60,32,3,60,32,2,60,96,6,63,224,7, - 252,96,12,60,32,8,60,32,24,60,2,16,60,2,48,60, - 6,112,60,14,248,255,254,15,23,46,18,1,250,3,242,30, - 62,60,14,120,6,120,2,240,2,240,0,240,0,240,0,240, - 0,240,0,240,0,120,0,120,2,60,14,31,60,7,240,1, - 0,3,0,3,128,0,192,8,192,7,128,15,22,44,17,1, - 0,7,0,3,128,1,128,0,192,0,0,255,252,60,28,60, - 12,60,4,60,4,60,32,60,32,60,96,63,224,60,96,60, - 32,60,32,60,2,60,2,60,6,60,14,255,254,15,22,44, - 17,1,0,1,192,3,128,3,0,6,0,0,0,255,252,60, - 28,60,12,60,4,60,4,60,32,60,32,60,96,63,224,60, - 96,60,32,60,32,60,2,60,2,60,6,60,14,255,254,15, - 22,44,17,1,0,3,0,7,128,12,192,0,0,0,0,255, - 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, - 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, - 254,15,21,42,17,1,0,12,192,12,192,0,0,0,0,255, - 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, - 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, - 254,8,22,22,10,0,0,112,56,24,12,0,255,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,8,22,22, - 10,0,0,14,28,24,48,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,8,22,22,10,0,0,24, - 60,102,0,0,255,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,255,8,21,21,10,0,0,102,102,0,0,255, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, - 16,17,34,18,1,0,255,224,60,120,60,60,60,30,60,30, - 60,15,60,15,255,143,255,143,60,15,60,15,60,14,60,30, - 60,28,60,60,60,120,255,224,17,22,66,18,0,0,1,136, - 0,3,240,0,4,96,0,0,0,0,0,0,0,248,15,128, - 124,7,0,62,2,0,63,2,0,63,130,0,47,194,0,39, - 226,0,35,226,0,33,242,0,32,250,0,32,126,0,32,62, - 0,32,30,0,32,14,0,32,14,0,96,6,0,248,2,0, - 16,22,44,19,1,0,7,0,3,128,1,128,0,192,0,0, - 7,224,30,120,60,60,120,30,120,30,240,15,240,15,240,15, - 240,15,240,15,240,15,240,15,120,30,120,30,60,60,30,120, - 7,224,16,22,44,19,1,0,0,112,0,224,0,192,1,128, - 0,0,7,224,30,120,60,60,120,30,120,30,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,120,30,120,30,60,60, - 30,120,7,224,16,22,44,19,1,0,1,128,3,192,6,96, - 0,0,0,0,7,224,30,120,60,60,120,30,120,30,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,120,30,120,30, - 60,60,30,120,7,224,16,22,44,19,1,0,3,16,7,224, - 8,192,0,0,0,0,7,224,30,120,60,60,120,30,120,30, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, - 120,30,60,60,30,120,7,224,16,21,42,19,1,0,12,96, - 12,96,0,0,0,0,7,224,30,120,60,60,120,30,120,30, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, - 120,30,60,60,30,120,7,224,12,12,24,14,1,0,192,48, - 224,112,112,224,57,192,31,128,15,0,15,0,31,128,57,192, - 112,224,224,112,192,48,16,19,38,19,1,255,0,4,7,236, - 30,120,56,28,120,62,120,62,240,111,240,207,240,207,241,143, - 243,15,243,15,246,15,124,30,124,30,56,28,62,120,55,224, - 96,0,17,22,66,18,0,0,3,128,0,1,192,0,0,192, - 0,0,96,0,0,0,0,255,15,128,62,6,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, - 0,30,4,0,31,28,0,7,248,0,17,22,66,18,0,0, - 0,56,0,0,112,0,0,96,0,0,192,0,0,0,0,255, - 15,128,62,6,0,60,2,0,60,2,0,60,2,0,60,2, - 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,6,0,30,4,0,31,28,0,7, - 248,0,17,22,66,18,0,0,0,96,0,0,240,0,1,152, - 0,0,0,0,0,0,0,255,15,128,62,6,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, - 0,30,4,0,31,28,0,7,248,0,17,21,63,18,0,0, - 3,24,0,3,24,0,0,0,0,0,0,0,255,15,128,62, - 6,0,60,2,0,60,2,0,60,2,0,60,2,0,60,2, - 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,6,0,30,4,0,31,28,0,7,248,0,18, - 23,69,18,0,0,0,14,0,0,28,0,0,24,0,0,48, - 0,0,0,0,0,0,0,255,143,192,62,3,0,30,2,0, - 15,6,0,15,12,0,7,140,0,7,152,0,3,208,0,3, - 240,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,7,248,0,14,17,34,15,0,0, - 255,0,60,0,60,0,60,0,63,224,60,120,60,60,60,60, - 60,60,60,60,60,60,60,120,63,224,60,0,60,0,60,0, - 255,0,11,17,34,14,1,0,31,0,57,128,113,192,113,192, - 113,192,113,192,115,128,119,0,115,128,113,192,112,224,112,224, - 112,224,112,224,112,224,112,192,243,128,10,17,34,12,1,0, - 56,0,28,0,12,0,6,0,0,0,62,0,119,0,227,128, - 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, - 113,128,10,17,34,12,1,0,14,0,28,0,24,0,48,0, - 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,10,17,34,12,1,0, - 12,0,30,0,51,0,0,0,0,0,62,0,119,0,227,128, - 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, - 113,128,10,17,34,12,1,0,24,128,63,0,70,0,0,0, - 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,10,16,32,12,1,0, - 51,0,51,0,0,0,0,0,62,0,119,0,227,128,227,128, - 67,128,15,128,115,128,227,128,227,128,231,128,255,192,113,128, - 10,18,36,12,1,0,12,0,30,0,51,0,51,0,30,0, - 12,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,15,12,24,17,1,0, - 62,120,119,204,227,206,99,142,3,142,31,254,115,128,227,128, - 227,192,231,226,254,252,124,120,9,18,36,11,1,250,30,0, - 115,0,115,128,227,128,225,0,224,0,224,0,224,0,240,0, - 120,128,127,0,30,0,8,0,24,0,28,0,6,0,70,0, - 60,0,9,17,34,11,1,0,56,0,28,0,12,0,6,0, - 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, - 224,0,240,0,120,128,127,0,30,0,9,17,34,11,1,0, - 14,0,28,0,24,0,48,0,0,0,30,0,115,0,115,128, - 227,128,227,128,255,128,224,0,224,0,240,0,120,128,127,0, - 30,0,9,17,34,11,1,0,24,0,60,0,102,0,0,0, - 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, - 224,0,240,0,120,128,127,0,30,0,9,16,32,11,1,0, - 51,0,51,0,0,0,0,0,30,0,115,0,115,128,227,128, - 227,128,255,128,224,0,224,0,240,0,120,128,127,0,30,0, - 5,17,17,7,1,0,224,112,48,24,0,240,112,112,112,112, - 112,112,112,112,112,112,248,6,17,17,7,1,0,28,56,48, - 96,0,240,112,112,112,112,112,112,112,112,112,112,248,6,17, - 17,7,1,0,48,120,204,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,6,16,16,7,1,0,204,204,0,0,240, - 112,112,112,112,112,112,112,112,112,112,248,11,17,34,13,1, - 0,96,0,56,192,15,0,30,0,99,0,31,128,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,12,17,34,14,1,0,12,64,31,128,35,0,0, - 0,0,0,243,192,119,224,120,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,249,240,11,17,34,13,1, - 0,28,0,14,0,6,0,3,0,0,0,31,0,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,11,17,34,13,1,0,3,128,7,0,6,0,12, - 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, - 224,224,224,224,224,113,192,123,192,31,0,11,17,34,13,1, - 0,12,0,30,0,51,0,0,0,0,0,31,0,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,11,17,34,13,1,0,24,128,63,0,70,0,0, - 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, - 224,224,224,224,224,113,192,123,192,31,0,11,16,32,13,1, - 0,49,128,49,128,0,0,0,0,31,0,123,192,113,192,224, - 224,224,224,224,224,224,224,224,224,224,224,113,192,123,192,31, - 0,12,12,24,14,1,0,6,0,6,0,6,0,0,0,0, - 0,255,240,255,240,0,0,0,0,6,0,6,0,6,0,11, - 16,32,13,1,254,0,64,0,64,30,128,121,192,113,192,226, - 224,226,224,228,224,228,224,232,224,232,224,113,192,123,192,63, - 0,64,0,64,0,12,17,34,14,1,0,28,0,14,0,6, - 0,3,0,0,0,241,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,113,224,126,240,60,224,12,17,34, - 14,1,0,7,0,14,0,12,0,24,0,0,0,241,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,113, - 224,126,240,60,224,12,17,34,14,1,0,6,0,15,0,25, - 128,0,0,0,0,241,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,113,224,126,240,60,224,12,16,32, - 14,1,0,25,128,25,128,0,0,0,0,241,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, - 240,60,224,12,22,44,12,0,251,1,192,3,128,3,0,6, - 0,0,0,253,240,120,96,56,64,56,192,60,128,28,128,29, - 128,31,0,15,0,15,0,6,0,6,0,6,0,100,0,236, - 0,248,0,112,0,12,22,44,14,1,251,240,0,112,0,112, - 0,112,0,112,0,115,128,119,224,124,224,120,112,112,112,112, - 112,112,112,112,112,112,112,120,224,119,224,115,128,112,0,112, - 0,112,0,112,0,252,0,12,21,42,12,0,251,25,128,25, - 128,0,0,0,0,253,240,120,96,56,64,56,192,60,128,28, - 128,29,128,31,0,15,0,15,0,6,0,6,0,6,0,100, - 0,236,0,248,0,112,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=24 h=22 x= 3 y=13 dx=25 dy= 0 ascent=18 len=66 - Font Bounding box w=27 h=38 x=-2 y=-10 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB18r[3355] U8G_SECTION(".progmem.u8g_font_timB18r") = { - 0,27,38,254,246,17,4,47,9,109,32,127,251,18,251,17, - 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, - 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, - 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, - 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, - 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, - 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, - 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, - 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, - 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, - 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, - 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, - 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, - 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, - 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, - 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, - 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, - 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, - 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, - 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, - 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, - 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, - 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, - 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, - 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, - 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, - 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, - 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, - 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, - 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, - 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, - 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, - 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, - 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, - 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, - 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, - 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, - 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, - 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, - 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, - 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, - 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, - 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, - 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, - 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, - 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, - 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, - 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, - 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, - 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, - 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, - 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, - 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, - 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, - 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, - 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, - 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, - 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, - 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, - 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, - 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, - 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, - 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, - 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, - 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, - 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, - 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, - 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, - 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, - 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, - 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, - 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, - 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, - 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, - 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, - 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, - 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, - 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, - 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, - 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, - 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, - 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, - 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, - 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, - 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, - 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, - 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, - 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, - 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, - 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, - 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, - 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, - 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, - 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, - 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, - 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, - 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, - 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, - 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, - 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, - 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, - 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, - 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, - 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, - 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, - 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, - 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, - 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, - 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, - 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, - 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, - 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, - 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, - 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, - 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, - 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, - 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, - 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, - 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, - 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, - 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, - 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, - 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, - 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, - 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, - 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, - 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, - 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, - 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, - 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, - 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, - 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, - 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, - 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, - 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, - 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, - 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, - 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, - 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, - 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, - 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, - 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, - 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, - 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, - 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, - 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, - 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, - 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, - 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, - 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, - 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, - 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, - 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, - 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, - 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, - 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, - 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, - 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, - 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, - 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, - 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, - 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, - 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, - 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, - 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, - 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, - 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, - 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, - 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, - 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, - 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, - 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, - 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, - 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, - 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, - 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, - 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, - 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, - 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, - 126,16,255,16,143,240,135,224,1,128,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=30 x= 4 y=18 dx=33 dy= 0 ascent=30 len=108 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =30 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_SECTION(".progmem.u8g_font_timB24") = { - 0,38,49,251,244,23,5,149,13,202,32,255,249,30,249,23, - 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, - 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, - 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, - 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, - 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, - 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, - 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, - 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, - 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, - 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, - 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, - 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, - 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, - 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, - 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, - 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, - 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, - 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, - 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, - 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, - 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, - 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, - 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, - 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, - 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, - 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, - 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, - 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, - 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, - 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, - 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, - 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, - 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, - 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, - 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, - 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, - 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, - 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, - 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, - 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, - 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, - 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, - 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, - 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, - 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, - 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, - 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, - 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, - 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, - 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, - 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, - 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, - 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, - 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, - 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, - 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, - 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, - 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, - 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, - 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, - 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, - 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, - 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, - 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, - 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, - 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, - 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, - 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, - 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, - 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, - 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, - 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, - 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, - 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, - 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, - 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, - 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, - 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, - 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, - 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, - 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, - 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, - 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, - 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, - 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, - 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, - 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, - 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, - 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, - 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, - 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, - 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, - 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, - 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, - 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, - 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, - 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, - 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, - 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, - 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, - 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, - 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, - 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, - 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, - 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, - 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, - 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, - 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, - 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, - 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, - 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, - 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, - 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, - 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, - 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, - 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, - 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, - 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, - 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, - 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, - 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, - 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, - 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, - 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, - 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, - 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, - 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, - 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, - 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, - 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, - 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, - 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, - 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, - 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, - 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, - 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, - 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, - 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, - 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, - 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, - 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, - 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, - 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, - 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, - 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, - 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, - 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, - 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, - 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, - 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, - 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, - 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, - 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, - 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, - 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, - 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, - 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, - 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, - 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, - 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, - 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, - 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, - 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, - 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, - 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, - 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, - 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, - 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, - 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, - 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, - 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, - 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, - 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, - 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, - 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, - 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, - 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, - 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, - 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, - 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, - 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, - 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, - 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, - 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, - 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, - 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, - 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, - 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, - 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, - 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, - 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, - 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, - 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, - 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, - 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, - 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, - 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, - 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, - 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, - 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, - 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, - 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, - 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, - 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, - 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, - 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, - 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, - 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, - 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, - 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, - 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, - 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, - 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, - 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, - 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, - 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, - 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, - 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, - 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, - 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, - 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, - 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, - 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, - 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, - 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, - 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, - 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, - 255,198,143,254,131,252,1,248,0,112,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,8,0, - 1,5,23,23,11,3,249,112,248,248,248,112,0,0,0,32, - 32,32,32,112,112,112,112,248,248,248,248,248,248,112,13,25, - 50,17,1,251,0,8,0,8,0,24,0,16,7,240,28,224, - 56,240,120,240,240,240,240,224,240,128,241,128,241,0,243,0, - 242,0,250,16,126,48,127,224,63,192,15,0,8,0,16,0, - 16,0,32,0,32,0,16,23,46,17,1,0,0,240,3,252, - 7,30,14,30,14,30,30,12,30,0,30,0,31,0,15,0, - 15,0,127,240,127,240,7,128,7,128,7,128,55,128,127,1, - 239,3,199,135,199,255,238,254,124,124,14,15,30,17,1,4, - 96,24,247,188,255,252,127,248,60,240,120,120,112,56,112,56, - 112,56,120,120,60,240,127,248,255,252,247,188,96,24,18,23, - 69,17,1,0,255,135,192,62,3,128,62,3,0,31,3,0, - 31,6,0,31,134,0,15,132,0,15,140,0,7,200,0,7, - 216,0,7,208,0,3,240,0,31,252,0,31,252,0,3,224, - 0,31,252,0,31,252,0,1,224,0,1,224,0,1,224,0, - 1,224,0,3,240,0,15,252,0,2,30,30,7,3,249,192, - 192,192,192,192,192,192,192,192,192,192,192,0,0,0,0,0, - 0,192,192,192,192,192,192,192,192,192,192,192,192,12,28,56, - 17,2,251,15,128,24,192,48,224,113,224,113,224,120,192,60, - 0,62,0,31,0,15,128,63,192,99,224,193,224,192,240,224, - 112,240,48,120,48,124,96,63,192,31,128,7,128,3,192,49, - 224,120,224,120,224,112,192,49,128,31,0,8,4,4,11,2, - 18,66,231,231,66,22,23,69,25,1,0,1,254,0,7,255, - 128,15,3,192,28,0,224,56,0,112,48,254,48,113,199,56, - 99,131,24,231,131,28,199,0,12,199,0,12,199,0,12,199, - 0,12,199,128,12,195,195,12,227,230,28,96,252,24,112,0, - 56,56,0,112,28,0,224,15,3,192,7,255,128,1,254,0, - 9,14,28,10,0,9,60,0,102,0,103,0,103,0,31,0, - 103,0,199,0,199,0,239,128,115,0,0,0,0,0,255,128, - 255,128,14,14,28,17,2,1,2,4,6,12,14,28,28,56, - 56,112,112,224,225,192,225,192,112,224,56,112,28,56,14,28, - 6,12,2,4,16,9,18,19,1,3,255,255,255,255,255,255, - 0,7,0,7,0,7,0,7,0,7,0,7,8,4,4,11, - 1,6,255,255,255,255,22,23,69,25,2,0,1,254,0,7, - 255,128,15,3,192,28,0,224,56,0,112,51,252,48,113,206, - 56,96,199,24,224,199,28,192,199,12,192,206,12,192,248,12, - 192,220,12,192,206,12,192,198,12,224,199,28,97,195,152,115, - 227,248,56,0,112,28,0,224,15,3,192,7,255,128,1,254, - 0,9,2,4,11,1,18,255,128,255,128,9,10,20,13,2, - 13,28,0,127,0,99,0,193,128,193,128,193,128,193,128,99, - 0,127,0,60,0,15,19,38,19,2,0,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,0,0,255,254,255,254,255, - 254,10,14,28,10,1,9,62,0,127,0,199,128,131,128,3, - 128,3,128,3,0,6,0,12,0,24,0,48,64,127,192,255, - 128,255,128,9,14,28,10,1,9,30,0,63,0,103,128,67, - 128,3,0,6,0,31,0,7,128,3,128,3,128,3,128,195, - 128,231,0,126,0,7,6,6,11,3,17,6,14,28,56,96, - 128,16,22,44,19,2,250,248,252,120,124,120,60,120,60,120, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 124,124,252,127,191,95,56,64,0,224,0,224,0,224,0,224, - 0,224,0,16,29,58,18,1,250,15,255,63,255,63,140,127, - 140,255,140,255,140,255,140,255,140,255,140,255,140,255,140,127, - 140,63,140,63,140,15,140,1,140,1,140,1,140,1,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,4,4,4,8,2,9,96,240,240,96,7,7,7, - 11,1,249,6,12,28,14,198,238,124,9,14,28,10,0,9, - 12,0,124,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,255,128,9,14,28,11, - 1,9,28,0,119,0,99,0,227,128,227,128,227,128,227,128, - 99,0,119,0,28,0,0,0,0,0,255,128,255,128,14,14, - 28,17,1,1,129,0,193,128,225,192,112,224,56,112,28,56, - 14,28,14,28,28,56,56,112,112,224,225,192,193,128,129,0, - 23,23,69,25,0,0,12,0,8,124,0,24,28,0,48,28, - 0,48,28,0,96,28,0,96,28,0,192,28,1,128,28,1, - 128,28,3,12,28,6,28,28,6,60,28,12,124,255,152,252, - 0,24,220,0,49,156,0,99,156,0,99,28,0,199,254,1, - 199,254,1,128,28,3,0,28,3,0,28,23,23,69,25,0, - 0,12,0,48,124,0,96,28,0,96,28,0,192,28,0,128, - 28,1,128,28,3,0,28,2,0,28,6,0,28,12,240,28, - 25,248,28,27,60,28,50,28,255,176,28,0,96,28,0,96, - 24,0,192,48,1,128,96,1,128,192,3,1,130,6,3,254, - 6,7,252,12,15,252,22,23,69,25,1,0,30,0,16,63, - 0,48,103,128,96,67,128,96,3,0,192,6,0,192,31,1, - 128,7,131,0,3,131,0,3,134,24,3,140,56,195,140,120, - 231,24,248,126,49,248,0,49,184,0,99,56,0,199,56,0, - 198,56,1,143,252,3,143,252,3,0,56,6,0,56,6,0, - 56,12,23,46,16,2,249,7,0,15,128,15,128,15,128,7, - 0,0,0,0,0,0,0,2,0,2,0,6,0,12,0,28, - 0,60,0,120,0,120,0,248,96,248,240,248,240,248,112,120, - 112,60,224,31,192,21,30,90,24,1,0,6,0,0,7,0, - 0,3,128,0,1,192,0,0,96,0,0,0,0,0,32,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,30,90,24,1,0,0,3,0,0,7, - 0,0,14,0,0,28,0,0,48,0,0,64,0,0,0,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,30,90,24,1,0,0,96,0,0,240, - 0,1,248,0,1,152,0,3,12,0,2,4,0,0,0,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,29,87,24,1,0,0,194,0,1,246, - 0,3,124,0,2,24,0,0,0,0,0,0,0,0,32,0, - 0,96,0,0,112,0,0,240,0,0,248,0,0,248,0,1, - 248,0,1,124,0,1,124,0,3,62,0,2,62,0,6,62, - 0,6,31,0,4,31,0,12,15,0,15,255,128,24,15,128, - 24,7,192,16,7,192,48,3,224,48,3,224,112,7,240,252, - 31,248,21,29,87,24,1,0,1,8,0,3,156,0,3,156, - 0,1,8,0,0,0,0,0,0,0,0,32,0,0,96,0, - 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, - 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, - 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, - 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,21, - 30,90,24,1,0,0,224,0,1,176,0,3,24,0,2,8, - 0,3,24,0,1,176,0,0,224,0,0,0,0,0,96,0, - 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, - 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, - 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, - 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,32, - 23,92,33,0,0,3,255,255,252,0,255,255,252,0,99,224, - 28,0,99,224,12,0,195,224,12,0,195,224,4,1,131,224, - 4,1,131,224,128,3,3,224,128,3,3,225,128,2,3,227, - 128,7,255,255,128,7,255,227,128,12,3,225,128,12,3,224, - 128,24,3,224,128,24,3,224,1,56,3,224,3,48,3,224, - 6,112,3,224,14,112,3,224,62,248,7,255,252,254,31,255, - 252,19,30,90,24,2,249,1,252,32,7,255,96,15,7,224, - 30,1,224,60,0,224,124,0,96,124,0,96,248,0,32,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,124,0,0,124,0,0,60,0,32, - 30,0,96,15,129,192,3,255,128,0,254,0,0,24,0,0, - 48,0,0,112,0,0,56,0,3,24,0,3,184,0,1,240, - 0,21,30,90,22,0,0,6,0,0,7,0,0,3,128,0, - 1,192,0,0,96,0,0,48,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,30,90,22,0,0,0,1,128,0,3,128,0,7,0, - 0,14,0,0,24,0,0,48,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,30,90,22,0,0,0,48,0,0,120,0,0,252,0, - 0,204,0,1,134,0,1,2,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,29,87,22,0,0,0,132,0,1,206,0,1,206,0, - 0,132,0,0,0,0,0,0,0,255,255,224,63,255,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,0,32,31,4, - 0,31,4,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,4,0,31,4,0,31,0,8,31,0,24,31, - 0,48,31,0,112,31,1,240,63,255,224,255,255,224,11,30, - 60,13,1,0,192,0,224,0,112,0,56,0,12,0,6,0, - 0,0,255,224,63,128,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,63,128,255,224, - 12,30,60,13,1,0,0,48,0,112,0,224,1,192,3,0, - 6,0,0,0,255,224,63,128,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,63,128, - 255,224,11,30,60,13,1,0,6,0,15,0,31,128,25,128, - 48,192,32,64,0,0,255,224,63,128,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 63,128,255,224,11,29,58,13,1,0,16,128,57,192,57,192, - 16,128,0,0,0,0,255,224,63,128,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 63,128,255,224,22,23,69,24,0,0,255,254,0,63,15,128, - 31,3,224,31,1,240,31,1,240,31,0,248,31,0,248,31, - 0,252,31,0,252,31,0,252,255,240,124,255,240,124,255,240, - 124,31,0,124,31,0,252,31,0,248,31,0,248,31,0,248, - 31,1,240,31,1,224,31,3,192,63,15,128,127,254,0,22, - 29,87,24,1,0,0,97,0,0,251,0,1,190,0,1,12, - 0,0,0,0,0,0,0,254,1,252,127,0,112,63,128,32, - 31,128,32,31,192,32,31,224,32,23,240,32,19,248,32,17, - 248,32,17,252,32,16,254,32,16,127,32,16,63,32,16,31, - 160,16,31,224,16,15,224,16,7,224,16,3,224,16,3,224, - 16,1,224,16,0,224,56,0,96,254,0,32,21,30,90,25, - 2,0,6,0,0,7,0,0,3,128,0,1,192,0,0,96, - 0,0,48,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, - 2,0,0,3,128,0,7,0,0,14,0,0,24,0,0,48, - 0,0,96,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, - 2,0,0,48,0,0,120,0,0,252,0,0,204,0,1,134, - 0,1,2,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,29,87,25, - 2,0,0,194,0,1,246,0,3,124,0,2,24,0,0,0, - 0,0,0,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,21,29,87,25,2,0,0, - 132,0,1,206,0,1,206,0,0,132,0,0,0,0,0,0, - 0,1,252,0,7,255,0,15,143,128,30,3,192,60,1,224, - 124,1,240,120,0,240,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,120,0,240,124,1,240,60,1,224,30,3,192,15,143,128, - 7,255,0,1,252,0,15,16,32,19,2,0,64,4,224,14, - 240,30,120,60,60,120,30,240,15,224,7,192,7,192,15,224, - 30,240,60,120,120,60,240,30,224,14,64,4,21,27,81,26, - 2,254,0,0,48,0,0,96,1,252,64,7,143,192,14,3, - 128,30,1,192,60,3,224,124,6,240,120,4,240,248,12,248, - 248,24,248,248,24,248,248,48,248,248,32,248,248,96,248,248, - 192,248,248,128,248,249,128,248,123,0,240,126,1,240,62,1, - 224,28,3,192,14,7,128,31,254,0,17,248,0,48,0,0, - 96,0,0,23,30,90,24,0,0,0,192,0,0,224,0,0, - 112,0,0,56,0,0,12,0,0,2,0,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,30,90,24,0,0,0,0,192,0,1,192,0, - 3,128,0,7,0,0,12,0,0,16,0,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,30,90,24,0,0,0,12,0,0,30,0,0, - 63,0,0,51,0,0,97,128,0,64,128,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,29,87,24,0,0,0,33,0,0,115,128,0, - 115,128,0,33,0,0,0,0,0,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 48,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,30,90,24,1,0,0,0,192,0,1,192,0,3,128,0, - 7,0,0,12,0,0,16,0,0,0,0,255,195,252,127,0, - 240,63,0,96,63,0,96,31,128,192,31,128,128,15,193,128, - 15,195,0,7,227,0,3,230,0,3,244,0,1,252,0,1, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,1,252,0,7,255,0, - 19,23,69,20,0,0,255,224,0,63,128,0,31,0,0,31, - 0,0,31,254,0,31,15,128,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,224,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,63,128,0,255,224,0,17,23,69,19,0, - 0,3,240,0,14,60,0,30,62,0,28,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,28,0,60,56,0,60, - 224,0,60,60,0,60,30,0,60,15,0,60,15,0,60,15, - 128,60,15,128,60,15,128,60,15,128,60,15,0,60,15,0, - 60,30,0,252,124,0,14,23,46,16,1,0,48,0,56,0, - 28,0,14,0,3,0,0,128,0,0,31,128,49,224,112,240, - 120,240,120,240,48,240,1,240,7,240,28,240,56,240,120,240, - 240,240,249,240,255,244,126,252,60,120,14,23,46,16,1,0, - 0,48,0,112,0,224,1,192,3,0,4,0,0,0,31,128, - 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, - 56,240,120,240,240,240,249,240,255,244,126,252,60,120,14,23, - 46,16,1,0,3,0,7,128,15,192,12,192,24,96,16,32, - 0,0,31,128,49,224,112,240,120,240,120,240,48,240,1,240, - 7,240,28,240,56,240,120,240,240,240,249,240,255,244,126,252, - 60,120,14,22,44,16,1,0,12,32,31,96,55,192,33,128, - 0,0,0,0,31,128,49,224,112,240,120,240,120,240,48,240, - 1,240,7,240,28,240,56,240,120,240,240,240,249,240,255,244, - 126,252,60,120,14,22,44,16,1,0,8,64,28,224,28,224, - 8,64,0,0,0,0,31,128,49,224,112,240,120,240,120,240, - 48,240,1,240,7,240,28,240,56,240,120,240,240,240,249,240, - 255,244,126,252,60,120,14,25,50,16,1,0,7,0,13,128, - 24,192,16,64,24,192,13,128,7,0,0,0,0,0,31,128, - 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, - 56,240,120,240,240,240,249,240,255,244,126,252,60,120,21,16, - 48,24,1,0,31,135,192,49,238,224,112,252,112,120,248,112, - 120,248,56,48,248,56,1,248,56,7,255,248,28,248,0,56, - 248,0,120,252,0,248,252,8,248,254,24,255,255,240,126,63, - 224,60,15,192,13,23,46,15,1,249,7,224,30,240,60,120, - 120,120,120,48,240,0,240,0,240,0,240,0,240,0,248,0, - 120,0,120,0,60,48,31,224,15,192,3,0,6,0,6,0, - 3,128,49,128,59,128,31,0,14,23,46,15,0,0,48,0, - 56,0,28,0,14,0,3,0,0,128,0,0,7,192,30,240, - 60,112,120,56,120,60,248,60,248,60,255,252,248,0,248,0, - 248,0,120,0,124,0,62,24,31,240,7,224,14,23,46,15, - 0,0,0,24,0,56,0,112,0,224,1,128,2,0,0,0, - 7,192,30,240,60,112,120,56,120,60,248,60,248,60,255,252, - 248,0,248,0,248,0,120,0,124,0,62,24,31,240,7,224, - 14,23,46,15,0,0,3,0,7,128,15,192,12,192,24,96, - 16,32,0,0,7,192,30,240,60,112,120,56,120,60,248,60, - 248,60,255,252,248,0,248,0,248,0,120,0,124,0,62,24, - 31,240,7,224,14,22,44,15,0,0,4,32,14,112,14,112, - 4,32,0,0,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,8,23,23,9,0,0,192,224,112,56, - 12,2,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,8,23,23,9,0,0,3,7,14,28,48,64,0, - 252,124,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 8,23,23,9,0,0,24,60,126,102,195,129,0,252,124,60, - 60,60,60,60,60,60,60,60,60,60,60,126,255,8,22,22, - 9,0,0,66,231,231,66,0,0,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,14,22,44,17,1,0,56, - 48,62,248,15,248,255,128,251,192,97,224,15,240,60,248,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,22,66,18,0, - 0,3,8,0,7,216,0,13,240,0,8,96,0,0,0,0, - 0,0,0,252,120,0,125,252,0,63,62,0,62,30,0,62, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,126,63,0, - 255,127,128,14,23,46,17,1,0,48,0,56,0,28,0,14, - 0,3,0,0,128,0,0,15,192,60,240,120,120,120,120,240, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,60,240,15,192,14,23,46,17,1,0,0,24,0, - 56,0,112,0,224,1,128,2,0,0,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,14,23,46,17,1, - 0,3,0,7,128,15,192,12,192,24,96,16,32,0,0,15, - 192,60,240,120,120,120,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,60,120,120,120,120,60,240,15,192,14, - 22,44,17,1,0,12,32,31,96,55,192,33,128,0,0,0, - 0,15,192,60,240,120,120,120,120,240,60,240,60,240,60,240, - 60,240,60,240,60,240,60,240,60,120,120,120,120,60,240,15, - 192,14,22,44,17,1,0,8,64,28,224,28,224,8,64,0, - 0,0,0,15,192,60,240,120,120,120,120,240,60,240,60,240, - 60,240,60,240,60,240,60,240,60,240,60,120,120,120,120,60, - 240,15,192,14,15,30,19,2,1,3,0,7,128,7,128,3, - 0,0,0,0,0,255,252,255,252,255,252,0,0,0,0,3, - 0,7,128,7,128,3,0,14,22,44,17,1,253,0,8,0, - 24,0,24,15,240,60,240,120,120,120,120,240,252,241,188,241, - 60,243,60,242,60,246,60,252,60,248,60,120,120,120,120,60, - 240,111,192,96,0,192,0,128,0,17,23,69,18,0,0,24, - 0,0,28,0,0,14,0,0,7,0,0,1,128,0,0,64, - 0,0,0,0,252,126,0,124,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,62,0,62,127,0,31,223, - 128,7,140,0,17,23,69,18,0,0,0,12,0,0,28,0, - 0,56,0,0,112,0,0,192,0,1,0,0,0,0,0,252, - 126,0,124,62,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,62,0,62,127,0,31,223,128,7,140,0,17, - 23,69,18,0,0,1,128,0,3,192,0,7,224,0,6,96, - 0,12,48,0,8,16,0,0,0,0,252,126,0,124,62,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,62, - 0,62,127,0,31,223,128,7,140,0,17,22,66,18,0,0, - 4,32,0,14,112,0,14,112,0,4,32,0,0,0,0,0, - 0,0,252,126,0,124,62,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,62,127,0,31,223,128,7, - 140,0,15,30,60,17,0,249,0,12,0,28,0,56,0,112, - 0,192,1,0,0,0,255,190,126,12,62,8,62,8,31,24, - 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, - 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, - 254,0,120,0,15,29,58,19,1,249,252,0,124,0,60,0, - 60,0,60,0,60,0,60,224,63,248,62,124,60,60,60,62, - 60,30,60,30,60,30,60,30,60,30,60,30,60,30,60,60, - 62,60,63,248,60,224,60,0,60,0,60,0,60,0,60,0, - 126,0,255,0,15,29,58,17,0,249,4,32,14,112,14,112, - 4,32,0,0,0,0,255,190,126,12,62,8,62,8,31,24, - 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, - 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, - 254,0,120,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=16 h=25 x= 2 y= 9 dx=19 dy= 0 ascent=25 len=50 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24n[701] U8G_SECTION(".progmem.u8g_font_timB24n") = { - 0,38,49,251,244,23,0,0,0,0,42,57,0,25,250,23, - 0,13,14,28,17,1,9,3,0,7,0,7,0,231,56,242, - 120,122,240,15,128,15,128,122,240,242,120,231,56,7,0,7, - 0,6,0,15,15,30,19,2,0,3,128,3,128,3,128,3, - 128,3,128,3,128,255,254,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,11,11,8,1,250,56,124,124, - 124,60,12,8,24,48,96,192,8,4,4,11,1,6,255,255, - 255,255,5,5,5,8,1,0,112,248,248,248,112,9,25,50, - 9,0,0,1,128,1,128,1,0,3,0,3,0,3,0,6, - 0,6,0,6,0,4,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,14,23,46,16,1,0,7,128,31,224,28, - 224,56,112,120,112,120,120,120,120,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,248,124,120,120,120,120,120, - 120,56,112,28,224,15,192,7,128,13,23,46,16,2,0,1, - 128,7,128,31,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,31,192,255,248,16,23,46, - 16,0,0,3,192,15,240,31,248,63,248,48,252,96,124,64, - 124,0,124,0,120,0,120,0,120,0,240,0,224,1,192,1, - 128,3,0,7,1,14,3,28,6,63,254,127,254,255,252,255, - 252,14,23,46,16,1,0,7,192,31,240,63,240,48,248,96, - 120,64,120,0,120,0,112,0,192,3,224,15,240,15,248,3, - 248,0,252,0,124,0,60,0,60,0,60,96,56,240,56,248, - 112,127,192,31,0,14,23,46,16,1,0,0,112,0,240,0, - 240,1,240,3,240,6,240,6,240,12,240,24,240,24,240,48, - 240,96,240,96,240,192,240,255,252,255,252,255,252,255,252,0, - 240,0,240,0,240,0,240,0,240,13,23,46,16,1,0,31, - 248,31,248,31,248,31,248,48,0,48,0,32,0,62,0,127, - 128,127,224,127,240,127,240,3,248,0,248,0,120,0,56,0, - 56,0,56,96,48,240,48,248,96,127,192,31,0,14,23,46, - 16,1,0,0,28,0,240,3,192,7,128,15,0,30,0,62, - 0,60,0,124,0,127,224,253,240,248,248,248,120,248,124,248, - 124,248,124,248,124,120,124,120,120,120,120,56,112,28,224,15, - 192,13,23,46,16,2,0,127,248,127,248,255,248,255,248,192, - 48,128,112,128,112,0,96,0,224,0,224,0,192,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,14,0,28,0,14,23,46,16,1,0,15,224,62,240,60, - 120,120,120,120,56,120,56,124,56,126,112,63,224,63,128,31, - 192,15,224,63,240,113,248,112,252,224,124,224,60,224,60,224, - 60,240,56,120,120,127,240,31,192,14,23,46,16,1,0,15, - 192,28,224,56,112,120,120,120,120,248,120,248,124,248,124,248, - 124,248,124,120,124,124,124,62,252,31,248,0,248,0,240,1, - 240,1,224,3,192,7,128,15,0,60,0,224,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=30 x= 4 y=17 dx=33 dy= 0 ascent=26 len=108 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24r[5003] U8G_SECTION(".progmem.u8g_font_timB24r") = { - 0,38,49,251,244,23,5,149,13,202,32,127,249,26,249,23, - 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, - 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, - 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, - 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, - 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, - 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, - 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, - 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, - 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, - 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, - 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, - 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, - 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, - 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, - 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, - 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, - 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, - 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, - 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, - 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, - 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, - 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, - 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, - 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, - 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, - 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, - 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, - 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, - 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, - 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, - 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, - 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, - 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, - 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, - 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, - 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, - 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, - 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, - 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, - 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, - 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, - 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, - 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, - 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, - 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, - 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, - 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, - 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, - 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, - 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, - 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, - 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, - 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, - 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, - 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, - 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, - 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, - 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, - 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, - 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, - 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, - 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, - 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, - 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, - 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, - 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, - 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, - 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, - 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, - 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, - 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, - 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, - 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, - 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, - 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, - 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, - 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, - 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, - 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, - 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, - 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, - 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, - 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, - 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, - 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, - 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, - 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, - 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, - 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, - 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, - 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, - 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, - 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, - 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, - 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, - 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, - 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, - 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, - 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, - 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, - 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, - 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, - 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, - 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, - 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, - 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, - 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, - 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, - 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, - 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, - 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, - 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, - 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, - 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, - 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, - 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, - 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, - 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, - 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, - 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, - 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, - 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, - 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, - 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, - 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, - 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, - 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, - 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, - 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, - 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, - 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, - 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, - 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, - 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, - 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, - 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, - 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, - 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, - 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, - 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, - 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, - 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, - 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, - 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, - 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, - 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, - 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, - 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, - 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, - 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, - 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, - 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, - 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, - 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, - 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, - 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, - 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, - 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, - 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, - 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, - 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, - 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, - 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, - 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, - 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, - 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, - 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, - 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, - 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, - 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, - 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, - 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, - 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, - 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, - 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, - 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, - 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, - 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, - 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, - 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, - 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, - 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, - 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, - 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, - 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, - 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, - 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, - 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, - 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, - 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, - 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, - 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, - 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, - 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, - 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, - 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, - 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, - 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, - 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, - 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, - 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, - 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, - 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, - 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, - 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, - 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, - 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, - 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, - 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, - 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, - 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, - 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, - 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, - 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, - 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, - 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, - 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, - 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, - 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, - 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, - 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, - 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, - 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, - 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, - 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, - 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, - 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, - 255,198,143,254,131,252,1,248,0,112,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=11 h=10 x= 1 y= 6 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w=12 h=17 x=-2 y=-4 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR08[2512] U8G_SECTION(".progmem.u8g_font_timR08") = { - 0,12,17,254,252,7,1,147,3,56,32,255,254,10,253,7, - 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, - 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, - 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, - 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, - 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, - 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, - 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, - 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, - 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, - 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, - 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, - 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, - 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, - 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, - 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, - 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, - 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, - 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, - 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, - 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, - 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, - 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, - 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, - 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, - 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, - 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, - 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, - 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, - 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, - 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, - 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, - 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, - 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, - 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, - 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, - 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, - 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, - 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, - 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, - 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, - 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, - 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, - 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, - 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, - 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, - 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, - 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, - 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, - 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, - 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, - 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, - 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, - 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, - 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, - 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, - 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, - 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, - 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, - 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, - 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, - 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, - 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, - 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, - 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, - 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, - 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, - 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, - 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, - 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, - 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, - 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, - 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, - 32,64,64,64,128,6,2,2,7,0,2,100,152,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,2,0,1,1,7,7,3,1,254,128,0,128,128,128,128, - 128,4,7,7,5,0,255,32,112,144,128,144,96,64,5,7, - 7,5,0,0,48,80,64,224,64,200,240,5,6,6,5,0, - 1,136,112,80,80,112,136,5,7,7,5,0,0,136,80,216, - 32,248,32,112,1,7,7,2,0,0,128,128,128,0,128,128, - 128,4,9,9,5,0,254,112,144,64,160,144,80,32,144,224, - 3,1,1,5,1,5,160,7,7,7,9,1,0,56,68,154, - 162,154,68,56,3,5,5,4,0,2,192,32,160,0,224,4, - 4,4,5,0,1,80,160,160,80,5,2,2,7,1,1,248, - 8,3,1,1,4,0,2,224,7,7,7,9,1,0,56,68, - 186,178,170,68,56,3,1,1,4,0,5,224,4,4,4,4, - 0,3,96,144,144,96,5,7,7,6,0,0,32,32,248,32, - 32,0,248,3,4,4,3,0,3,96,160,64,224,3,4,4, - 3,0,3,224,64,32,192,2,2,2,3,0,5,64,128,5, - 7,7,5,0,254,144,144,144,144,232,128,128,6,9,9,6, - 0,254,124,232,232,232,104,40,40,40,40,1,1,1,2,0, - 2,128,3,3,3,4,0,253,64,32,192,3,4,4,3,0, - 3,64,192,64,224,3,5,5,4,0,2,64,160,64,0,224, - 4,4,4,5,0,1,160,80,80,160,7,7,7,8,0,0, - 68,200,72,244,44,62,68,7,7,7,8,0,0,68,200,72, - 246,42,36,78,7,7,7,8,0,0,228,72,40,212,44,62, - 68,3,7,7,4,0,254,64,0,64,64,128,160,224,7,10, - 10,8,0,0,32,16,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,8,16,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,16,40,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,20,40,0,16,56,40,40,124,68,238,7,9, - 9,8,0,0,40,0,16,56,40,40,124,68,238,7,10,10, - 8,0,0,16,40,16,16,56,40,40,124,68,238,8,7,7, - 9,0,0,31,57,40,46,120,73,239,6,10,10,7,0,253, - 124,196,128,128,128,196,120,32,16,96,5,10,10,6,0,0, - 64,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, - 16,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, - 32,80,0,248,72,64,112,64,72,248,5,9,9,6,0,0, - 80,0,248,72,64,112,64,72,248,3,10,10,4,0,0,128, - 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,32, - 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,64, - 160,0,224,64,64,64,64,64,224,3,9,9,4,0,0,160, - 0,224,64,64,64,64,64,224,6,7,7,7,0,0,248,76, - 68,228,68,76,248,7,10,10,8,0,0,20,40,0,206,100, - 100,84,84,76,228,6,10,10,7,0,0,32,16,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,16,32,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,16,40,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,40,80,0,120,204, - 132,132,132,204,120,6,9,9,7,0,0,72,0,120,204,132, - 132,132,204,120,5,5,5,6,0,0,136,80,32,80,136,8, - 9,9,8,255,255,1,62,102,74,66,82,102,124,128,7,10, - 10,8,0,0,32,16,0,238,68,68,68,68,108,56,7,10, - 10,8,0,0,8,16,0,238,68,68,68,68,108,56,7,10, - 10,8,0,0,16,40,0,238,68,68,68,68,108,56,7,9, - 9,8,0,0,40,0,238,68,68,68,68,108,56,7,10,10, - 8,0,0,8,16,0,198,68,40,56,16,16,56,5,7,7, - 6,0,0,224,64,112,72,112,64,224,4,7,7,5,0,0, - 32,80,80,96,80,80,224,3,8,8,4,0,0,128,64,0, - 192,32,96,160,224,3,8,8,4,0,0,32,64,0,192,32, - 96,160,224,3,8,8,4,0,0,64,160,0,192,32,96,160, - 224,4,8,8,4,0,0,80,160,0,192,32,96,160,224,3, - 7,7,4,0,0,160,0,192,32,96,160,224,3,8,8,4, - 0,0,64,160,64,192,32,96,160,224,5,5,5,6,0,0, - 216,40,112,160,216,3,8,8,4,0,253,96,128,128,128,96, - 64,32,192,3,8,8,4,0,0,128,64,0,96,160,192,128, - 96,3,8,8,4,0,0,32,64,0,96,160,192,128,96,3, - 8,8,4,0,0,64,160,0,96,160,192,128,96,3,7,7, - 4,0,0,160,0,96,160,192,128,96,2,8,8,3,0,0, - 128,64,0,192,64,64,64,64,3,8,8,3,0,0,32,64, - 0,192,64,64,64,64,3,8,8,3,0,0,64,160,0,192, - 64,64,64,64,3,7,7,3,0,0,160,0,192,64,64,64, - 64,4,8,8,5,0,0,64,112,160,112,144,144,144,96,5, - 8,8,5,0,0,80,160,0,224,144,144,144,216,4,8,8, - 5,0,0,64,32,0,96,144,144,144,96,4,8,8,5,0, - 0,32,64,0,96,144,144,144,96,4,8,8,5,0,0,64, - 160,0,96,144,144,144,96,4,8,8,5,0,0,80,160,0, - 96,144,144,144,96,4,7,7,5,0,0,160,0,96,144,144, - 144,96,5,5,5,6,0,0,32,0,248,0,32,6,7,7, - 5,255,255,4,56,72,72,72,112,128,5,8,8,5,0,0, - 64,32,0,144,144,144,144,104,5,8,8,5,0,0,32,64, - 0,144,144,144,144,104,5,8,8,5,0,0,32,80,0,144, - 144,144,144,104,5,7,7,5,0,0,80,0,144,144,144,144, - 104,6,10,10,5,255,254,16,32,0,220,72,80,48,32,96, - 192,5,10,10,5,255,253,192,64,112,72,72,72,112,64,64, - 224,6,9,9,5,255,254,80,0,220,72,80,48,32,96,192 - }; -/* - Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=11 h= 9 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=14 - Font Bounding box w=12 h=17 x=-2 y=-4 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR08r[1198] U8G_SECTION(".progmem.u8g_font_timR08r") = { - 0,12,17,254,252,7,1,147,3,56,32,127,254,8,253,7, - 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, - 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, - 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, - 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, - 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, - 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, - 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, - 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, - 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, - 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, - 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, - 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, - 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, - 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, - 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, - 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, - 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, - 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, - 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, - 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, - 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, - 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, - 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, - 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, - 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, - 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, - 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, - 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, - 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, - 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, - 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, - 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, - 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, - 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, - 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, - 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, - 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, - 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, - 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, - 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, - 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, - 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, - 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, - 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, - 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, - 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, - 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, - 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, - 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, - 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, - 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, - 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, - 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, - 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, - 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, - 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, - 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, - 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, - 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, - 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, - 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, - 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, - 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, - 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, - 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, - 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, - 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, - 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, - 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, - 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, - 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, - 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, - 32,64,64,64,128,6,2,2,7,0,2,100,152,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=13 h=14 x= 2 y= 8 dx=13 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR10[3359] U8G_SECTION(".progmem.u8g_font_timR10") = { - 0,17,24,254,250,10,2,4,4,92,32,255,253,14,253,10, - 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, - 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, - 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, - 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, - 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, - 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, - 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, - 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, - 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, - 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, - 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, - 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, - 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, - 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, - 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, - 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, - 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, - 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, - 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, - 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, - 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, - 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, - 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, - 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, - 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, - 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, - 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, - 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, - 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, - 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, - 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, - 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, - 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, - 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, - 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, - 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, - 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, - 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, - 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, - 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, - 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, - 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, - 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, - 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, - 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, - 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, - 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, - 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, - 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, - 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, - 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, - 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, - 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, - 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, - 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, - 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, - 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, - 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, - 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, - 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, - 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, - 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, - 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, - 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, - 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, - 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, - 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, - 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, - 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, - 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, - 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, - 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, - 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, - 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, - 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, - 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, - 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, - 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, - 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, - 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, - 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, - 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, - 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, - 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, - 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, - 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, - 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, - 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, - 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, - 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, - 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, - 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, - 98,156,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,3,0,1,1,10,10,5,2,253,128, - 128,0,128,128,128,128,128,128,128,6,9,9,7,0,255,4, - 124,204,144,144,160,228,120,128,7,10,10,8,0,0,28,52, - 32,32,248,32,32,32,226,188,5,7,7,7,1,1,136,112, - 136,136,136,112,136,7,10,10,7,0,0,238,68,108,40,124, - 16,124,16,16,56,1,10,10,3,1,0,128,128,128,128,0, - 0,128,128,128,128,5,13,13,7,1,253,56,88,64,96,112, - 152,136,200,112,48,16,208,224,3,2,2,5,1,8,160,160, - 10,10,20,12,1,0,30,0,97,128,78,128,146,64,144,64, - 144,64,146,64,76,128,97,128,30,0,3,6,6,4,0,4, - 224,32,160,224,0,224,6,6,6,7,0,0,36,72,144,144, - 72,36,7,4,4,9,1,2,254,2,2,2,3,1,1,4, - 0,3,224,10,10,20,12,1,0,30,0,97,128,92,128,146, - 64,156,64,148,64,146,64,82,128,97,128,30,0,4,1,1, - 4,0,8,240,4,4,4,6,1,6,96,144,144,96,7,7, - 7,8,0,0,16,16,254,16,16,0,254,4,6,6,4,0, - 4,96,144,16,32,64,240,4,6,6,4,0,4,96,144,32, - 16,144,96,3,3,3,5,1,8,32,96,128,7,10,10,7, - 0,253,204,68,68,68,68,108,118,64,64,96,7,13,13,7, - 0,253,62,116,244,244,244,116,52,20,20,20,20,20,20,1, - 2,2,4,2,3,128,128,3,3,3,5,1,253,64,32,192, - 3,6,6,4,0,4,64,192,64,64,64,224,4,6,6,5, - 0,4,96,144,144,96,0,240,6,6,6,7,1,0,144,72, - 36,36,72,144,10,10,20,10,0,0,65,0,194,0,66,0, - 68,0,68,128,233,128,10,128,20,128,23,192,32,128,10,10, - 20,10,0,0,65,0,194,0,66,0,68,0,69,128,234,64, - 8,64,16,128,17,0,35,192,10,10,20,10,0,0,97,0, - 146,0,34,0,20,0,148,128,105,128,10,128,20,128,23,192, - 32,128,5,10,10,6,0,253,32,32,0,32,32,64,128,136, - 136,112,9,14,28,11,1,0,16,0,24,0,4,0,0,0, - 8,0,8,0,20,0,20,0,34,0,34,0,62,0,65,0, - 65,0,227,128,9,14,28,11,1,0,4,0,12,0,16,0, - 0,0,8,0,8,0,20,0,20,0,34,0,34,0,62,0, - 65,0,65,0,227,128,9,14,28,11,1,0,8,0,28,0, - 34,0,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 62,0,65,0,65,0,227,128,9,14,28,11,1,0,18,0, - 42,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, - 34,0,62,0,65,0,65,0,227,128,9,13,26,11,1,0, - 36,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, - 34,0,62,0,65,0,65,0,227,128,9,14,28,11,1,0, - 24,0,36,0,24,0,0,0,8,0,8,0,20,0,20,0, - 34,0,34,0,62,0,65,0,65,0,227,128,11,10,20,13, - 1,0,31,224,12,32,20,0,20,64,39,192,36,64,60,0, - 68,32,68,32,239,224,8,13,13,10,1,253,61,99,65,129, - 128,128,128,193,98,60,8,4,24,7,14,14,9,1,0,32, - 48,8,0,254,66,64,68,124,68,64,66,66,254,7,14,14, - 9,1,0,4,12,16,0,254,66,64,68,124,68,64,66,66, - 254,7,14,14,9,1,0,16,56,68,0,254,66,64,68,124, - 68,64,66,66,254,7,13,13,9,1,0,36,36,0,254,66, - 64,68,124,68,64,66,66,254,3,14,14,5,1,0,128,192, - 32,0,224,64,64,64,64,64,64,64,64,224,3,14,14,5, - 1,0,32,96,128,0,224,64,64,64,64,64,64,64,64,224, - 5,14,14,5,0,0,32,112,136,0,112,32,32,32,32,32, - 32,32,32,112,3,13,13,5,1,0,160,160,0,224,64,64, - 64,64,64,64,64,64,224,9,10,20,10,0,0,254,0,35, - 0,33,0,32,128,248,128,32,128,32,128,33,0,35,0,254, - 0,9,14,28,11,1,0,18,0,42,0,36,0,0,0,227, - 128,97,0,81,0,89,0,73,0,77,0,69,0,69,0,67, - 0,227,0,8,14,14,10,1,0,32,48,8,0,60,102,66, - 129,129,129,129,66,102,60,8,14,14,10,1,0,4,12,16, - 0,60,102,66,129,129,129,129,66,102,60,8,14,14,10,1, - 0,16,56,68,0,60,102,66,129,129,129,129,66,102,60,8, - 14,14,10,1,0,36,84,72,0,60,102,66,129,129,129,129, - 66,102,60,8,13,13,10,1,0,36,36,0,60,102,66,129, - 129,129,129,66,102,60,7,7,7,8,1,0,130,68,40,16, - 40,68,130,9,12,24,10,0,255,0,128,31,0,49,0,35, - 0,68,128,76,128,72,128,80,128,49,0,99,0,94,0,128, - 0,8,14,14,10,1,0,32,48,8,0,231,66,66,66,66, - 66,66,66,102,60,8,14,14,10,1,0,4,12,16,0,231, - 66,66,66,66,66,66,66,102,60,8,14,14,10,1,0,16, - 56,68,0,231,66,66,66,66,66,66,66,102,60,8,13,13, - 10,1,0,36,36,0,231,66,66,66,66,66,66,66,102,60, - 9,14,28,9,0,0,2,0,6,0,8,0,0,0,227,128, - 65,0,34,0,34,0,20,0,8,0,8,0,8,0,8,0, - 28,0,6,10,10,8,1,0,224,64,120,76,68,68,76,120, - 64,224,6,10,10,7,0,0,56,108,68,72,112,88,76,68, - 84,216,6,11,11,7,1,0,64,96,16,0,112,200,24,104, - 136,200,116,6,11,11,7,1,0,8,24,32,0,112,200,24, - 104,136,200,116,6,11,11,7,1,0,32,112,136,0,112,200, - 24,104,136,200,116,6,11,11,7,1,0,72,168,144,0,112, - 200,24,104,136,200,116,6,10,10,7,1,0,80,80,0,112, - 200,24,104,136,200,116,6,11,11,7,1,0,48,72,48,0, - 112,200,24,104,136,200,116,9,7,14,11,1,0,127,0,201, - 128,31,0,104,0,136,0,204,128,119,0,6,10,10,7,1, - 253,112,200,128,128,128,196,120,32,16,96,6,11,11,7,1, - 0,64,96,16,0,112,136,248,128,128,196,120,6,11,11,7, - 1,0,8,24,32,0,112,136,248,128,128,196,120,6,11,11, - 7,1,0,32,112,136,0,112,136,248,128,128,196,120,6,10, - 10,7,1,0,80,80,0,112,136,248,128,128,196,120,3,11, - 11,3,0,0,128,192,32,0,192,64,64,64,64,64,224,3, - 11,11,3,0,0,32,96,128,0,192,64,64,64,64,64,224, - 5,11,11,3,255,0,32,112,136,0,96,32,32,32,32,32, - 112,3,10,10,3,0,0,160,160,0,192,64,64,64,64,64, - 224,5,10,10,7,1,0,216,96,144,120,216,136,136,136,216, - 112,7,11,11,7,0,0,36,84,72,0,216,108,68,68,68, - 68,238,5,11,11,7,1,0,64,96,16,0,112,216,136,136, - 136,216,112,5,11,11,7,1,0,16,48,64,0,112,216,136, - 136,136,216,112,5,11,11,7,1,0,32,112,136,0,112,216, - 136,136,136,216,112,5,11,11,7,1,0,72,168,144,0,112, - 216,136,136,136,216,112,5,10,10,7,1,0,80,80,0,112, - 216,136,136,136,216,112,7,7,7,8,1,0,16,16,0,254, - 0,16,16,7,9,9,7,0,255,2,60,108,68,68,68,108, - 120,128,7,11,11,7,0,0,32,48,8,0,204,68,68,68, - 68,108,54,7,11,11,7,0,0,8,24,32,0,204,68,68, - 68,68,108,54,7,11,11,7,0,0,16,56,68,0,204,68, - 68,68,68,108,54,7,10,10,7,0,0,40,40,0,204,68, - 68,68,68,108,54,7,14,14,7,0,253,4,12,16,0,238, - 68,68,40,40,16,48,32,160,192,6,13,13,7,0,253,192, - 64,64,88,108,68,68,68,108,88,64,64,224,7,13,13,7, - 0,253,40,40,0,238,68,68,40,40,16,48,32,160,192}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=13 h=13 x= 2 y= 8 dx=13 dy= 0 ascent=11 len=24 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR10r[1571] U8G_SECTION(".progmem.u8g_font_timR10r") = { - 0,17,24,254,250,10,2,4,4,92,32,127,253,11,253,10, - 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, - 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, - 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, - 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, - 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, - 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, - 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, - 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, - 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, - 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, - 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, - 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, - 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, - 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, - 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, - 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, - 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, - 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, - 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, - 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, - 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, - 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, - 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, - 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, - 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, - 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, - 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, - 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, - 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, - 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, - 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, - 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, - 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, - 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, - 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, - 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, - 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, - 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, - 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, - 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, - 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, - 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, - 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, - 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, - 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, - 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, - 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, - 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, - 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, - 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, - 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, - 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, - 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, - 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, - 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, - 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, - 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, - 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, - 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, - 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, - 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, - 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, - 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, - 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, - 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, - 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, - 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, - 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, - 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, - 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, - 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, - 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, - 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, - 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, - 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, - 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, - 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, - 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, - 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, - 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, - 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, - 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, - 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, - 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, - 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, - 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, - 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, - 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, - 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, - 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, - 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, - 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, - 98,156,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=16 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=30 - Font Bounding box w=19 h=26 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR12[3905] U8G_SECTION(".progmem.u8g_font_timR12") = { - 0,19,26,254,249,11,2,36,5,11,32,255,252,15,252,11, - 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, - 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, - 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, - 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, - 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, - 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, - 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, - 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, - 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, - 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, - 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, - 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, - 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, - 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, - 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, - 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, - 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, - 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, - 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, - 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, - 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, - 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, - 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, - 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, - 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, - 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, - 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, - 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, - 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, - 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, - 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, - 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, - 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, - 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, - 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, - 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, - 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, - 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, - 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, - 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, - 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, - 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, - 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, - 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, - 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, - 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, - 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, - 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, - 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, - 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, - 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, - 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, - 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, - 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, - 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, - 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, - 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, - 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, - 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, - 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, - 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, - 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, - 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, - 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, - 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, - 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, - 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, - 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, - 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, - 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, - 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, - 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, - 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, - 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, - 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, - 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, - 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, - 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, - 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, - 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, - 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, - 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, - 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, - 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, - 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, - 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, - 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, - 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, - 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, - 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, - 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, - 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, - 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, - 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, - 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, - 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, - 3,9,0,3,113,153,142,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,4,0,1,1,11, - 11,5,2,253,128,128,0,0,128,128,128,128,128,128,128,7, - 12,12,8,0,254,4,4,60,74,138,136,144,146,84,56,32, - 32,8,11,11,8,0,0,12,18,34,32,32,252,16,16,113, - 145,110,8,9,9,8,0,1,153,102,66,129,129,129,66,102, - 153,9,11,22,8,255,0,227,128,65,0,34,0,20,0,8, - 0,62,0,8,0,62,0,8,0,8,0,28,0,1,11,11, - 3,0,0,128,128,128,128,128,0,128,128,128,128,128,7,14, - 14,8,0,253,56,68,76,32,80,136,132,66,34,20,8,100, - 68,56,4,2,2,6,1,9,144,144,11,11,22,13,0,0, - 14,0,49,128,64,64,78,64,145,32,144,32,144,32,81,64, - 78,64,49,128,14,0,4,6,6,5,0,5,96,16,112,144, - 80,240,7,7,7,8,0,0,18,36,72,144,72,36,18,8, - 5,5,9,0,0,255,1,1,1,1,4,1,1,5,0,4, - 240,11,11,22,13,0,0,14,0,49,128,64,64,78,64,137, - 32,142,32,138,32,74,64,73,64,49,128,14,0,5,1,1, - 6,0,9,248,5,5,5,7,1,6,112,136,136,136,112,7, - 9,9,9,1,0,16,16,16,254,16,16,16,0,254,5,7, - 7,5,0,4,112,136,8,16,32,72,248,6,7,7,5,255, - 4,56,68,4,24,4,132,120,3,3,3,6,2,8,32,64, - 128,8,11,11,8,0,253,198,66,66,66,66,66,71,122,64, - 64,64,7,15,15,8,0,252,62,116,244,244,244,116,52,20, - 20,20,20,20,20,20,20,1,2,2,4,1,4,128,128,4, - 4,4,6,0,252,32,112,16,224,3,7,7,5,1,4,64, - 192,64,64,64,64,224,4,6,6,5,0,5,96,144,144,144, - 96,240,7,7,7,8,0,0,144,72,36,18,36,72,144,11, - 11,22,13,1,0,64,128,193,0,67,0,66,0,68,64,76, - 192,233,64,25,64,18,64,39,224,64,64,12,11,22,13,0, - 0,64,128,193,0,67,0,66,0,68,224,77,16,232,16,24, - 32,16,64,32,144,65,240,13,11,22,13,255,0,56,32,68, - 64,4,192,24,128,5,16,135,48,122,80,6,80,4,144,9, - 248,8,16,5,11,11,7,1,253,32,32,0,0,32,32,64, - 128,136,136,112,12,15,30,12,0,0,8,0,4,0,2,0, - 0,0,4,0,6,0,10,0,11,0,17,0,17,128,32,128, - 63,128,64,192,64,64,224,240,12,15,30,12,0,0,1,0, - 2,0,4,0,0,0,4,0,6,0,10,0,11,0,17,0, - 17,128,32,128,63,128,64,192,64,64,224,240,12,15,30,12, - 0,0,4,0,10,0,17,0,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 12,14,28,12,0,0,13,0,22,0,0,0,4,0,6,0, - 10,0,11,0,17,0,17,128,32,128,63,128,64,192,64,64, - 224,240,12,14,28,12,0,0,9,0,9,0,0,0,4,0, - 6,0,10,0,11,0,17,0,17,128,32,128,63,128,64,192, - 64,64,224,240,12,14,28,12,0,0,6,0,9,0,9,0, - 6,0,6,0,10,0,11,0,17,0,17,128,32,128,63,128, - 64,192,64,64,224,240,14,11,22,15,0,0,7,248,3,8, - 5,8,9,0,9,16,17,240,31,16,33,0,33,0,65,4, - 243,248,10,15,30,11,0,252,15,64,48,192,64,64,128,64, - 128,0,128,0,128,0,128,0,64,64,49,128,14,0,4,0, - 14,0,2,0,28,0,9,15,30,10,0,0,32,0,16,0, - 8,0,0,0,255,0,65,0,64,0,64,0,66,0,126,0, - 66,0,64,0,64,0,64,128,255,0,9,15,30,10,0,0, - 2,0,4,0,8,0,0,0,255,0,65,0,65,0,64,0, - 66,0,126,0,66,0,64,0,64,0,64,128,255,0,9,15, - 30,10,0,0,8,0,20,0,34,0,0,0,255,0,65,0, - 64,0,64,0,66,0,126,0,66,0,64,0,64,0,64,128, - 255,0,9,14,28,10,0,0,36,0,36,0,0,0,255,0, - 65,0,64,0,64,0,66,0,126,0,66,0,64,0,64,0, - 64,128,255,0,4,15,15,5,255,0,128,64,32,0,112,32, - 32,32,32,32,32,32,32,32,112,5,15,15,5,0,0,8, - 16,32,0,224,64,64,64,64,64,64,64,64,64,224,5,15, - 15,5,255,0,32,80,136,0,112,32,32,32,32,32,32,32, - 32,32,112,3,14,14,5,0,0,160,160,0,224,64,64,64, - 64,64,64,64,64,64,224,10,11,22,12,1,0,252,0,67, - 0,64,128,64,64,64,64,248,64,64,64,64,64,64,128,67, - 0,252,0,10,14,28,12,0,0,13,0,22,0,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,15,30,12,1,0,32,0,16,0,8, - 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, - 128,128,128,65,0,99,0,28,0,9,15,30,12,1,0,2, - 0,4,0,8,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,15,30, - 12,1,0,8,0,20,0,34,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,14,28,12,1,0,26,0,44,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,9,14,28,12,1,0,34,0,34,0,0,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,7,7,9,1,0,130,68,40,16,40, - 68,130,11,13,26,12,0,255,0,64,14,64,49,128,65,64, - 130,32,132,32,132,32,136,32,144,32,80,64,49,128,78,0, - 64,0,10,15,30,12,0,0,16,0,8,0,4,0,0,0, - 225,192,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,33,0,30,0,10,15,30,12,0,0,1,0,2,0, - 4,0,0,0,225,192,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,15,30,12,0,0, - 4,0,10,0,17,0,0,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,14, - 28,12,0,0,18,0,18,0,0,0,225,192,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, - 11,15,30,12,0,0,0,128,1,0,2,0,0,0,224,224, - 64,64,32,128,17,0,17,0,10,0,4,0,4,0,4,0, - 4,0,14,0,8,11,11,9,0,0,224,64,124,66,65,65, - 66,124,64,64,224,7,11,11,8,0,0,56,68,68,68,72, - 88,68,66,66,82,204,7,12,12,7,1,0,64,32,16,0, - 112,136,136,56,200,136,154,100,7,12,12,7,1,0,8,16, - 32,0,112,136,136,56,200,136,154,100,7,12,12,7,1,0, - 32,80,136,0,112,136,136,56,200,136,154,100,7,11,11,7, - 1,0,104,176,0,112,136,136,56,200,136,154,100,7,11,11, - 7,1,0,72,72,0,112,136,136,56,200,136,154,100,7,12, - 12,7,1,0,32,80,80,32,112,136,136,56,200,136,154,100, - 9,8,16,11,1,0,115,0,140,128,136,128,63,128,200,0, - 136,0,156,128,99,0,6,12,12,7,0,252,56,68,132,128, - 128,128,68,56,16,56,8,112,6,12,12,7,0,0,64,32, - 16,0,56,68,132,252,128,128,68,56,6,12,12,7,0,0, - 4,8,16,0,56,68,132,252,128,128,68,56,6,12,12,7, - 0,0,16,40,68,0,56,68,132,252,128,128,68,56,6,11, - 11,7,0,0,72,72,0,56,68,132,252,128,128,68,56,3, - 12,12,5,0,0,128,64,32,0,64,192,64,64,64,64,64, - 224,3,12,12,5,0,0,32,64,128,0,64,192,64,64,64, - 64,64,224,5,12,12,5,255,0,32,80,136,0,32,96,32, - 32,32,32,32,112,3,11,11,5,0,0,160,160,0,64,192, - 64,64,64,64,64,224,7,11,11,8,0,0,108,48,200,60, - 68,130,130,130,130,68,56,8,11,11,8,255,0,52,88,0, - 92,230,66,66,66,66,66,231,7,12,12,8,0,0,32,16, - 8,0,56,68,130,130,130,130,68,56,7,12,12,8,0,0, - 4,8,16,0,56,68,130,130,130,130,68,56,7,12,12,8, - 0,0,16,40,68,0,56,68,130,130,130,130,68,56,7,11, - 11,8,0,0,52,88,0,56,68,130,130,130,130,68,56,7, - 11,11,8,0,0,72,72,0,56,68,130,130,130,130,68,56, - 9,9,18,9,255,0,8,0,8,0,0,0,0,0,255,128, - 0,0,0,0,8,0,8,0,7,12,12,8,0,254,2,2, - 60,68,138,146,146,162,100,56,64,64,8,12,12,8,255,0, - 32,16,8,0,198,66,66,66,66,66,70,59,8,12,12,8, - 255,0,4,8,16,0,198,66,66,66,66,66,70,59,8,12, - 12,8,255,0,16,40,68,0,198,66,66,66,66,66,70,59, - 8,11,11,8,255,0,36,36,0,198,66,66,66,66,66,70, - 59,8,16,16,8,255,252,2,4,8,0,247,66,66,36,36, - 20,8,8,16,16,160,192,8,15,15,8,255,252,64,192,64, - 92,98,65,65,65,65,98,92,64,64,64,224,8,15,15,8, - 255,252,36,36,0,247,66,98,36,52,20,24,8,16,16,160, - 192}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=15 x= 2 y= 8 dx=16 dy= 0 ascent=12 len=28 - Font Bounding box w=19 h=26 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR12r[1784] U8G_SECTION(".progmem.u8g_font_timR12r") = { - 0,19,26,254,249,11,2,36,5,11,32,127,252,12,252,11, - 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, - 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, - 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, - 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, - 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, - 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, - 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, - 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, - 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, - 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, - 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, - 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, - 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, - 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, - 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, - 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, - 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, - 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, - 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, - 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, - 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, - 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, - 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, - 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, - 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, - 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, - 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, - 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, - 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, - 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, - 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, - 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, - 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, - 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, - 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, - 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, - 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, - 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, - 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, - 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, - 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, - 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, - 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, - 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, - 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, - 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, - 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, - 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, - 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, - 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, - 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, - 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, - 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, - 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, - 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, - 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, - 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, - 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, - 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, - 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, - 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, - 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, - 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, - 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, - 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, - 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, - 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, - 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, - 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, - 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, - 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, - 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, - 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, - 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, - 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, - 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, - 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, - 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, - 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, - 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, - 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, - 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, - 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, - 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, - 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, - 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, - 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, - 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, - 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, - 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, - 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, - 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, - 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, - 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, - 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, - 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, - 3,9,0,3,113,153,142,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=18 x= 2 y=10 dx=18 dy= 0 ascent=18 len=39 - Font Bounding box w=22 h=29 x=-3 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR14[4577] U8G_SECTION(".progmem.u8g_font_timR14") = { - 0,22,29,253,249,13,2,131,6,16,32,255,252,18,252,13, - 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, - 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, - 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, - 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, - 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, - 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, - 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, - 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, - 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, - 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, - 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, - 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, - 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, - 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, - 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, - 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, - 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, - 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, - 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, - 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, - 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, - 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, - 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, - 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, - 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, - 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, - 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, - 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, - 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, - 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, - 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, - 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, - 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, - 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, - 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, - 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, - 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, - 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, - 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, - 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, - 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, - 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, - 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, - 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, - 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, - 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, - 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, - 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, - 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, - 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, - 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, - 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, - 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, - 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, - 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, - 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, - 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, - 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, - 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, - 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, - 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, - 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, - 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, - 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, - 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, - 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, - 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, - 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, - 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, - 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, - 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, - 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, - 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, - 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, - 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, - 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, - 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, - 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, - 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, - 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, - 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, - 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, - 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, - 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, - 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, - 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, - 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, - 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, - 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, - 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, - 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, - 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, - 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, - 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, - 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, - 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, - 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, - 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, - 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, - 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, - 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, - 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, - 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, - 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, - 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, - 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, - 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, - 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, - 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, - 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, - 11,1,3,48,0,121,128,207,0,6,0,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,5, - 0,1,2,13,13,4,1,252,192,192,0,0,128,128,128,192, - 192,192,192,192,192,7,14,14,9,1,253,6,4,60,110,200, - 216,208,208,240,114,124,64,192,128,10,13,26,11,0,0,15, - 0,25,128,25,128,24,0,24,0,24,0,126,0,24,0,24, - 0,16,0,120,64,191,192,231,128,9,7,14,11,1,3,221, - 128,247,128,99,0,65,0,99,0,247,128,221,128,8,13,13, - 9,0,0,247,98,98,118,52,52,126,24,126,24,24,24,126, - 1,13,13,3,1,0,128,128,128,128,128,0,0,0,128,128, - 128,128,128,8,16,16,10,1,253,60,102,102,112,56,124,142, - 199,227,113,62,28,14,102,102,60,5,2,2,5,0,10,216, - 216,13,13,26,15,1,0,15,128,48,96,64,16,71,144,136, - 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, - 128,5,8,8,5,0,5,96,144,16,112,144,232,0,248,8, - 7,7,10,1,1,17,51,102,204,102,51,17,9,5,10,11, - 1,2,255,128,255,128,1,128,1,128,1,128,5,2,2,6, - 0,3,248,248,13,13,26,15,1,0,15,128,48,96,64,16, - 95,16,136,136,136,136,143,8,137,8,136,136,92,208,64,16, - 48,96,15,128,5,2,2,5,0,10,248,248,5,5,5,7, - 1,8,112,136,136,136,112,8,11,11,10,1,0,24,24,24, - 255,255,24,24,24,0,255,255,5,8,8,6,0,5,112,152, - 24,16,32,32,64,248,5,8,8,6,0,5,112,136,24,112, - 24,8,136,112,4,3,3,4,0,10,48,96,128,9,13,26, - 9,255,252,231,0,99,0,99,0,99,0,99,0,99,0,99, - 0,119,0,123,128,64,0,64,0,96,0,96,0,7,17,17, - 8,1,252,62,116,244,244,244,244,244,116,20,20,20,20,20, - 20,20,20,20,2,2,2,4,1,4,192,192,4,5,5,6, - 1,252,32,32,16,176,112,3,8,8,6,1,5,64,192,64, - 64,64,64,64,224,5,8,8,6,0,5,112,216,136,136,216, - 112,0,248,8,7,7,10,1,1,136,204,102,51,102,204,136, - 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, - 68,64,76,192,233,64,27,64,50,64,39,224,96,64,64,64, - 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, - 69,192,78,96,232,96,24,64,48,128,32,128,97,0,67,224, - 13,13,26,13,255,0,112,32,136,96,24,64,112,192,25,128, - 9,16,139,48,114,80,6,208,12,144,9,248,24,16,16,16, - 6,13,13,8,1,252,48,48,0,16,16,48,96,96,192,204, - 140,196,120,13,17,34,14,1,0,24,0,12,0,2,0,0, - 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, - 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, - 0,0,192,1,128,2,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,13,17,34,14,1,0,2,0,7,0,13,128,0, - 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, - 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, - 0,12,128,31,128,19,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,13,16,32,14,1,0,13,128,13,128,0,0,2, - 0,7,0,7,0,5,0,13,128,9,128,25,192,16,192,31, - 192,48,224,32,96,96,112,240,248,13,18,36,14,1,0,6, - 0,9,0,9,0,6,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,15,13,26,17,1,0,15,252,7,140,5,132,5, - 128,13,128,9,136,25,248,31,136,17,128,49,128,33,130,97, - 134,247,254,11,17,34,13,1,252,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,4,0,2,0,22,0,14,0,9,17,34,12,1, - 0,48,0,24,0,4,0,0,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,17,34,12,1,0,3,0,6,0,8,0,0, - 0,255,128,97,128,96,128,96,0,96,0,97,0,127,0,97, - 0,96,0,96,0,96,128,97,128,255,128,9,17,34,12,1, - 0,8,0,28,0,54,0,0,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,16,32,12,1,0,54,0,54,0,0,0,255, - 128,97,128,96,128,96,0,96,0,97,0,127,0,97,0,96, - 0,96,0,96,128,97,128,255,128,6,17,17,6,255,0,192, - 96,16,0,60,24,24,24,24,24,24,24,24,24,24,24,60, - 6,17,17,6,1,0,12,24,32,0,240,96,96,96,96,96, - 96,96,96,96,96,96,240,5,17,17,6,1,0,32,112,216, - 0,240,96,96,96,96,96,96,96,96,96,96,96,240,5,16, - 16,6,1,0,216,216,0,240,96,96,96,96,96,96,96,96, - 96,96,96,240,12,13,26,13,0,0,127,128,49,192,48,96, - 48,96,48,48,48,48,252,48,48,48,48,48,48,96,48,96, - 49,192,127,128,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,224,112,96,32,112,32,120,32,92,32,76,32,78,32, - 71,32,67,160,65,224,64,224,64,96,224,32,12,17,34,14, - 1,0,48,0,24,0,4,0,0,0,15,0,48,192,96,96, - 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, - 48,192,15,0,12,17,34,14,1,0,0,192,1,128,2,0, - 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, - 192,48,192,48,96,96,96,96,48,192,15,0,12,17,34,14, - 1,0,4,0,14,0,27,0,0,0,15,0,48,192,96,96, - 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, - 48,192,15,0,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, - 192,48,192,48,96,96,96,96,48,192,15,0,12,16,32,14, - 1,0,27,0,27,0,0,0,15,0,48,192,96,96,96,96, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 15,0,8,7,7,10,1,1,195,102,60,24,60,102,195,12, - 15,30,14,1,255,0,48,15,96,48,192,96,224,97,160,195, - 48,195,48,198,48,204,48,204,48,88,96,112,96,48,192,111, - 0,192,0,11,17,34,14,2,0,48,0,24,0,4,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,112,192,57,128,31,0,11,17,34,14,2, - 0,0,192,1,128,2,0,0,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,112,192,57, - 128,31,0,11,17,34,14,2,0,4,0,14,0,27,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,112,192,57,128,31,0,11,16,32,14,2, - 0,27,0,27,0,0,0,240,224,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,112,192,57,128,31, - 0,12,17,34,14,1,0,0,192,1,128,2,0,0,0,240, - 240,112,96,48,192,24,128,25,0,15,0,6,0,6,0,6, - 0,6,0,6,0,6,0,15,0,9,13,26,10,1,0,240, - 0,96,0,96,0,127,0,99,128,97,128,97,128,97,128,99, - 0,126,0,96,0,96,0,240,0,8,13,13,9,0,0,28, - 50,99,99,102,110,124,102,99,99,107,111,238,7,13,13,9, - 1,0,192,96,16,0,120,200,204,28,108,204,204,252,102,7, - 13,13,9,1,0,12,24,32,0,120,200,204,28,108,204,204, - 252,102,7,13,13,9,1,0,16,56,108,0,120,200,204,28, - 108,204,204,252,102,7,13,13,9,1,0,100,252,152,0,120, - 200,204,28,108,204,204,252,102,7,12,12,9,1,0,108,108, - 0,120,200,204,28,108,204,204,252,102,7,14,14,9,1,0, - 48,72,72,48,0,120,200,204,28,108,204,204,252,102,11,9, - 18,12,0,0,123,192,206,96,204,32,31,224,108,0,204,0, - 204,0,254,96,99,192,7,13,13,8,0,252,60,102,192,192, - 192,192,192,102,60,16,8,88,56,7,13,13,8,0,0,192, - 96,16,0,60,102,194,254,192,192,192,102,60,7,13,13,8, - 0,0,6,12,16,0,60,102,194,254,192,192,192,102,60,7, - 13,13,8,0,0,16,56,108,0,60,102,194,254,192,192,192, - 102,60,7,12,12,8,0,0,108,108,0,60,102,194,254,192, - 192,192,102,60,6,13,13,5,254,0,192,96,16,0,24,56, - 24,24,24,24,24,24,60,6,13,13,5,0,0,12,24,32, - 0,96,224,96,96,96,96,96,96,240,5,13,13,5,0,0, - 32,112,216,0,96,224,96,96,96,96,96,96,240,5,12,12, - 5,0,0,216,216,0,96,224,96,96,96,96,96,96,240,8, - 13,13,9,0,0,96,54,56,76,62,102,195,195,195,195,195, - 102,60,9,13,26,10,0,0,50,0,126,0,76,0,0,0, - 102,0,239,0,115,0,99,0,99,0,99,0,99,0,99,0, - 243,128,8,13,13,9,0,0,48,24,4,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,0,6,12,16,0,60, - 102,195,195,195,195,195,102,60,8,13,13,9,0,0,16,56, - 108,0,60,102,195,195,195,195,195,102,60,8,13,13,9,0, - 0,50,126,76,0,60,102,195,195,195,195,195,102,60,8,12, - 12,9,0,0,108,108,0,60,102,195,195,195,195,195,102,60, - 8,8,8,10,1,1,24,24,0,255,255,0,24,24,8,11, - 11,9,0,255,1,63,102,207,203,219,211,243,102,124,192,9, - 13,26,10,0,0,96,0,48,0,8,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 13,26,10,0,0,6,0,12,0,16,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 13,26,10,0,0,8,0,28,0,54,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 12,24,10,0,0,54,0,54,0,0,0,231,0,99,0,99, - 0,99,0,99,0,99,0,99,0,119,0,59,128,8,17,17, - 8,255,252,3,6,8,0,243,99,114,50,54,28,28,12,8, - 24,16,240,224,8,17,17,9,0,252,96,224,96,96,110,119, - 99,99,99,99,99,118,124,96,96,96,240,8,16,16,9,0, - 252,54,54,0,243,99,114,50,54,28,28,12,8,24,16,240, - 224}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=10 dx=18 dy= 0 ascent=14 len=39 - Font Bounding box w=22 h=29 x=-3 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR14r[2156] U8G_SECTION(".progmem.u8g_font_timR14r") = { - 0,22,29,253,249,13,2,131,6,16,32,127,252,14,252,13, - 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, - 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, - 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, - 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, - 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, - 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, - 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, - 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, - 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, - 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, - 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, - 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, - 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, - 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, - 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, - 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, - 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, - 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, - 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, - 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, - 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, - 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, - 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, - 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, - 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, - 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, - 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, - 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, - 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, - 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, - 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, - 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, - 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, - 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, - 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, - 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, - 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, - 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, - 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, - 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, - 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, - 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, - 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, - 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, - 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, - 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, - 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, - 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, - 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, - 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, - 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, - 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, - 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, - 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, - 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, - 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, - 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, - 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, - 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, - 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, - 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, - 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, - 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, - 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, - 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, - 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, - 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, - 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, - 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, - 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, - 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, - 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, - 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, - 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, - 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, - 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, - 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, - 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, - 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, - 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, - 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, - 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, - 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, - 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, - 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, - 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, - 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, - 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, - 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, - 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, - 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, - 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, - 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, - 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, - 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, - 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, - 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, - 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, - 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, - 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, - 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, - 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, - 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, - 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, - 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, - 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, - 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, - 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, - 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, - 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, - 11,1,3,48,0,121,128,207,0,6,0,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=23 x= 3 y=14 dx=23 dy= 0 ascent=23 len=69 - Font Bounding box w=29 h=37 x=-4 y=-9 - Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =17 descent=-6 - Max Font ascent =23 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR18[6850] U8G_SECTION(".progmem.u8g_font_timR18") = { - 0,29,37,252,247,17,4,9,8,241,32,255,250,23,250,17, - 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, - 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, - 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, - 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, - 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, - 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, - 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, - 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, - 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, - 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, - 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, - 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, - 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, - 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, - 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, - 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, - 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, - 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, - 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, - 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, - 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, - 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, - 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, - 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, - 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, - 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, - 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, - 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, - 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, - 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, - 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, - 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, - 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, - 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, - 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, - 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, - 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, - 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, - 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, - 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, - 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, - 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, - 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, - 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, - 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, - 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, - 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, - 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, - 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, - 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, - 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, - 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, - 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, - 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, - 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, - 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, - 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, - 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, - 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, - 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, - 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, - 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, - 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, - 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, - 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, - 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, - 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, - 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, - 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, - 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, - 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, - 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, - 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, - 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, - 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, - 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, - 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, - 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, - 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, - 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, - 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, - 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, - 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, - 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, - 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, - 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, - 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, - 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, - 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, - 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, - 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, - 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, - 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, - 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, - 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, - 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, - 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, - 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, - 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, - 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, - 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, - 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, - 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, - 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, - 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, - 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, - 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, - 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, - 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, - 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, - 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, - 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, - 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, - 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, - 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, - 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, - 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, - 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, - 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, - 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, - 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, - 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, - 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, - 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, - 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, - 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, - 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, - 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, - 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, - 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, - 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, - 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, - 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, - 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, - 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, - 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, - 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, - 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, - 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, - 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, - 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, - 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, - 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, - 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, - 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, - 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, - 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, - 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, - 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, - 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, - 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, - 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, - 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, - 32,124,96,199,192,131,128,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,1,3,17, - 17,8,3,251,96,96,0,0,0,64,64,64,64,224,224,224, - 224,224,224,224,64,9,16,32,12,1,254,2,0,2,0,15, - 0,51,128,101,128,196,0,196,0,200,0,200,0,200,0,208, - 0,112,128,113,0,62,0,64,0,64,0,10,17,34,12,1, - 0,15,0,25,128,49,128,48,0,48,0,48,0,48,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,64,190, - 192,231,128,11,12,24,13,1,3,192,96,238,224,127,192,49, - 128,96,192,96,192,96,192,96,192,49,128,127,192,238,224,192, - 96,14,17,34,14,0,0,248,124,112,48,48,32,24,96,24, - 64,12,192,12,128,7,128,3,0,31,224,3,0,31,224,3, - 0,3,0,3,0,3,0,15,192,2,17,17,6,2,0,192, - 192,192,192,192,192,192,0,0,0,192,192,192,192,192,192,192, - 8,20,20,12,2,253,28,38,70,96,112,56,60,78,135,131, - 195,226,116,56,28,14,6,98,100,56,6,2,2,8,1,14, - 204,204,17,17,51,19,1,0,7,240,0,28,28,0,48,6, - 0,97,227,0,71,49,0,196,25,128,140,0,128,136,0,128, - 136,0,128,136,0,128,140,0,128,196,25,128,71,113,0,97, - 195,0,48,6,0,28,28,0,7,240,0,7,9,9,8,0, - 8,120,204,12,124,204,204,118,0,254,9,10,20,13,1,1, - 8,128,25,128,51,0,102,0,204,0,204,0,102,0,51,0, - 25,128,8,128,11,7,14,15,2,1,255,224,255,224,0,96, - 0,96,0,96,0,96,0,96,6,2,2,8,0,5,252,252, - 17,17,51,19,1,0,7,240,0,28,28,0,48,6,0,103, - 227,0,66,49,0,194,17,128,130,16,128,130,48,128,131,224, - 128,130,64,128,130,32,128,194,49,128,71,25,0,96,3,0, - 48,6,0,28,28,0,7,240,0,7,2,2,8,1,14,254, - 254,7,7,7,9,1,10,56,68,130,130,130,68,56,10,11, - 22,14,2,0,12,0,12,0,12,0,255,192,255,192,12,0, - 12,0,12,0,0,0,255,192,255,192,6,10,10,7,0,7, - 56,76,140,12,8,16,48,32,68,252,6,10,10,7,0,7, - 56,76,140,8,48,8,12,140,136,112,5,4,4,8,2,13, - 24,56,112,192,11,17,34,13,1,251,225,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,113,192,126,192, - 92,224,64,0,192,0,192,0,224,0,64,0,9,21,42,11, - 1,252,31,128,57,0,121,0,121,0,249,0,249,0,249,0, - 121,0,121,0,57,0,25,0,9,0,9,0,9,0,9,0, - 9,0,9,0,9,0,9,0,9,0,9,0,2,3,3,6, - 2,5,192,192,192,6,6,6,8,1,250,16,48,60,12,204, - 120,5,10,10,7,1,7,32,96,160,32,32,32,32,32,32, - 248,7,9,9,8,0,8,56,68,198,198,198,68,56,0,254, - 9,10,20,12,2,1,136,0,204,0,102,0,51,0,25,128, - 25,128,51,0,102,0,204,0,136,0,16,17,34,18,1,0, - 32,24,96,24,160,48,32,96,32,96,32,192,32,192,33,132, - 35,12,251,28,6,20,6,36,12,100,24,68,24,255,48,4, - 48,4,15,17,34,18,1,0,32,24,96,24,160,48,32,96, - 32,96,32,192,32,192,33,156,35,38,251,70,6,6,6,4, - 12,8,24,24,24,16,48,34,48,126,17,17,51,18,0,0, - 56,12,0,76,12,0,140,24,0,8,48,0,48,48,0,8, - 96,0,12,96,0,140,194,0,137,134,0,113,142,0,3,10, - 0,3,18,0,6,50,0,12,34,0,12,127,128,24,2,0, - 24,2,0,8,17,17,11,1,251,12,12,0,0,8,8,24, - 24,56,48,112,224,195,195,193,99,62,17,22,66,17,0,0, - 12,0,0,14,0,0,7,0,0,1,128,0,0,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,17,22,66,17,0,0,0,24,0,0,56,0,0,112, - 0,0,192,0,0,0,0,0,128,0,1,192,0,1,192,0, - 1,96,0,2,96,0,2,48,0,6,48,0,4,48,0,4, - 24,0,12,24,0,15,248,0,8,12,0,24,12,0,16,12, - 0,16,6,0,48,6,0,252,31,128,17,22,66,17,0,0, - 1,128,0,3,192,0,6,96,0,4,32,0,0,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,17,21,63,17,0,0,3,32,0,7,224,0,4,192, - 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, - 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, - 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, - 0,48,6,0,252,31,128,17,21,63,17,0,0,6,96,0, - 6,96,0,0,0,0,0,0,0,0,128,0,1,192,0,1, - 192,0,1,96,0,2,96,0,2,48,0,6,48,0,4,48, - 0,4,24,0,12,24,0,15,248,0,8,12,0,24,12,0, - 16,12,0,16,6,0,48,6,0,252,31,128,17,23,69,17, - 0,0,1,192,0,2,32,0,2,32,0,2,32,0,1,192, - 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, - 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, - 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, - 0,48,6,0,252,31,128,21,17,51,22,0,0,3,255,240, - 0,240,48,1,176,16,1,48,16,3,48,0,2,48,0,6, - 48,64,4,48,64,4,63,192,12,48,64,15,240,64,8,48, - 0,24,48,0,16,48,8,48,48,8,32,48,24,248,255,248, - 14,23,46,16,1,250,7,228,28,60,56,12,96,4,96,4, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,4,56,8,30,56,7,224,1,0,3,0,3,192,0,192, - 12,192,7,128,13,22,44,15,1,0,24,0,28,0,14,0, - 3,0,0,0,255,240,48,48,48,16,48,16,48,0,48,0, - 48,64,48,64,63,192,48,64,48,64,48,0,48,0,48,8, - 48,8,48,24,255,248,13,22,44,15,1,0,0,96,0,224, - 1,192,3,0,0,0,255,240,48,48,48,16,48,16,48,0, - 48,0,48,64,48,64,63,192,48,64,48,64,48,0,48,0, - 48,8,48,8,48,24,255,248,13,22,44,15,1,0,6,0, - 15,0,25,128,16,128,0,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, - 48,0,48,8,48,8,48,24,255,248,13,21,42,15,1,0, - 25,128,25,128,0,0,0,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, - 48,0,48,8,48,8,48,24,255,248,7,22,22,8,0,0, - 192,224,112,24,0,126,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,126,7,22,22,8,1,0,6,14,28,48, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,6,22,22,8,1,0,48,120,204,132,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,6,21, - 21,8,1,0,204,204,0,0,252,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,16,17,34,17,0,0,127, - 224,24,56,24,28,24,6,24,6,24,3,24,3,255,3,255, - 3,24,3,24,3,24,3,24,6,24,6,24,28,24,56,127, - 224,16,21,42,18,1,0,3,32,7,224,4,192,0,0,240, - 31,48,4,56,4,56,4,44,4,38,4,38,4,35,4,33, - 132,33,132,32,196,32,100,32,100,32,52,32,28,32,28,248, - 12,16,22,44,18,1,0,12,0,14,0,7,0,1,128,0, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,16,22,44,18,1,0,0,48,0,112,0,224,1, - 128,0,0,7,224,28,56,56,28,96,6,96,6,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,96,6,96,6,56, - 28,28,56,7,224,16,22,44,18,1,0,1,128,3,192,6, - 96,4,32,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,16,21,42,18,1,0,3,32,7, - 224,4,192,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,16,21,42,18,1,0,6,96,6, - 96,0,0,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,10,9,18,12,1,1,192,192,97, - 128,51,0,30,0,12,0,30,0,51,0,97,128,192,192,16, - 19,38,18,1,255,0,4,7,228,28,56,56,28,96,38,96, - 70,192,67,192,131,192,131,193,3,193,3,194,3,194,3,100, - 6,104,6,56,28,28,56,39,224,32,0,16,22,44,18,1, - 0,6,0,7,0,3,128,0,192,0,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,16,22,44, - 18,1,0,0,48,0,112,0,224,1,128,0,0,252,31,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,8,24,8,28,48,7,224,16, - 22,44,18,1,0,1,128,3,192,6,96,4,32,0,0,252, - 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, - 224,16,21,42,18,1,0,6,96,6,96,0,0,0,0,252, - 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, - 224,16,22,44,18,1,0,0,48,0,112,0,224,1,128,0, - 0,252,63,48,12,56,8,24,24,28,16,12,48,6,32,6, - 96,3,64,3,192,1,128,1,128,1,128,1,128,1,128,1, - 128,7,224,13,17,34,15,1,0,252,0,48,0,48,0,48, - 0,63,192,48,112,48,48,48,24,48,24,48,24,48,48,48, - 112,63,192,48,0,48,0,48,0,252,0,10,17,34,12,1, - 0,30,0,51,0,97,128,97,128,97,128,97,128,99,0,108, - 0,103,0,99,128,97,128,97,192,96,192,96,192,108,192,108, - 128,231,0,9,17,34,11,1,0,96,0,112,0,56,0,12, - 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, - 0,195,0,195,0,199,0,251,0,113,128,9,17,34,11,1, - 0,3,0,7,0,14,0,24,0,0,0,62,0,103,0,99, - 0,3,0,15,0,59,0,99,0,195,0,195,0,199,0,251, - 0,113,128,9,17,34,11,1,0,12,0,30,0,51,0,33, - 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, - 0,195,0,195,0,199,0,251,0,113,128,9,16,32,11,1, - 0,50,0,126,0,76,0,0,0,62,0,103,0,99,0,3, - 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, - 128,9,16,32,11,1,0,102,0,102,0,0,0,0,0,62, - 0,103,0,99,0,3,0,15,0,59,0,99,0,195,0,195, - 0,199,0,251,0,113,128,9,18,36,11,1,0,28,0,34, - 0,34,0,34,0,28,0,0,0,62,0,103,0,99,0,3, - 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, - 128,14,12,24,16,1,0,60,240,103,152,99,12,3,12,15, - 252,59,0,99,0,195,0,195,0,199,132,251,248,112,240,9, - 18,36,11,1,250,31,0,99,128,65,128,192,0,192,0,192, - 0,192,0,192,0,224,0,112,128,127,0,30,0,8,0,24, - 0,30,0,6,0,102,0,60,0,9,17,34,11,1,0,96, - 0,112,0,56,0,12,0,0,0,30,0,99,0,65,128,193, - 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, - 0,9,17,34,11,1,0,3,0,7,0,14,0,24,0,0, - 0,30,0,99,0,65,128,193,128,255,128,192,0,192,0,192, - 0,224,0,112,128,127,0,30,0,9,17,34,11,1,0,12, - 0,30,0,51,0,33,0,0,0,30,0,99,0,65,128,193, - 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, - 0,9,16,32,11,1,0,51,0,51,0,0,0,0,0,30, - 0,99,0,65,128,193,128,255,128,192,0,192,0,192,0,224, - 0,112,128,127,0,30,0,6,17,17,6,255,0,192,224,112, - 24,0,56,24,24,24,24,24,24,24,24,24,24,60,5,17, - 17,6,1,0,24,56,112,192,0,96,224,96,96,96,96,96, - 96,96,96,96,240,6,17,17,6,0,0,48,120,204,132,0, - 48,112,48,48,48,48,48,48,48,48,48,120,6,16,16,6, - 0,0,204,204,0,0,112,48,48,48,48,48,48,48,48,48, - 48,120,10,17,34,12,1,0,192,0,113,128,30,0,60,0, - 198,0,31,0,115,128,97,128,192,192,192,192,192,192,192,192, - 192,192,192,192,97,128,115,128,30,0,11,16,32,13,1,0, - 25,0,63,0,38,0,0,0,103,0,239,128,113,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,241,224, - 10,17,34,12,1,0,96,0,112,0,56,0,12,0,0,0, - 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,17,34,12,1,0,3,0, - 7,0,14,0,24,0,0,0,30,0,115,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, - 10,17,34,12,1,0,12,0,30,0,51,0,33,0,0,0, - 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,16,32,12,1,0,25,0, - 63,0,38,0,0,0,30,0,115,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,16, - 32,12,1,0,51,0,51,0,0,0,0,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, - 115,128,30,0,10,10,20,12,1,1,12,0,12,0,0,0, - 0,0,255,192,255,192,0,0,0,0,12,0,12,0,10,14, - 28,12,1,255,0,192,30,192,115,128,99,128,198,192,196,192, - 204,192,200,192,216,192,208,192,113,128,115,128,222,0,192,0, - 11,17,34,13,1,0,96,0,112,0,56,0,12,0,0,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,17,34,13,1,0,1,128, - 3,128,7,0,12,0,0,0,225,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,192,62,192,28,224, - 11,17,34,13,1,0,12,0,30,0,51,0,33,0,0,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,16,32,13,1,0,51,0, - 51,0,0,0,0,0,225,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,113,192,62,192,28,224,11,22, - 44,11,0,251,1,128,3,128,7,0,12,0,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,12,0,8,0,24,0,240,0,224,0, - 10,22,44,12,1,251,96,0,224,0,96,0,96,0,96,0, - 110,0,115,128,97,128,96,192,96,192,96,192,96,192,96,192, - 96,192,97,128,115,128,110,0,96,0,96,0,96,0,96,0, - 240,0,11,21,42,11,0,251,51,0,51,0,0,0,0,0, - 241,224,96,192,96,128,48,128,48,128,49,0,25,0,25,0, - 26,0,14,0,14,0,4,0,12,0,8,0,24,0,240,0, - 224,0}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=23 x= 3 y=13 dx=23 dy= 0 ascent=19 len=60 - Font Bounding box w=29 h=37 x=-4 y=-9 - Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =17 descent=-6 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR18r[3208] U8G_SECTION(".progmem.u8g_font_timR18r") = { - 0,29,37,252,247,17,4,9,8,241,32,127,250,19,250,17, - 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, - 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, - 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, - 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, - 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, - 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, - 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, - 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, - 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, - 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, - 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, - 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, - 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, - 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, - 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, - 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, - 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, - 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, - 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, - 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, - 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, - 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, - 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, - 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, - 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, - 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, - 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, - 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, - 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, - 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, - 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, - 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, - 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, - 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, - 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, - 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, - 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, - 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, - 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, - 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, - 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, - 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, - 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, - 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, - 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, - 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, - 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, - 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, - 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, - 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, - 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, - 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, - 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, - 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, - 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, - 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, - 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, - 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, - 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, - 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, - 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, - 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, - 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, - 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, - 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, - 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, - 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, - 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, - 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, - 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, - 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, - 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, - 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, - 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, - 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, - 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, - 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, - 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, - 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, - 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, - 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, - 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, - 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, - 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, - 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, - 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, - 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, - 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, - 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, - 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, - 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, - 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, - 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, - 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, - 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, - 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, - 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, - 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, - 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, - 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, - 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, - 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, - 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, - 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, - 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, - 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, - 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, - 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, - 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, - 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, - 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, - 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, - 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, - 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, - 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, - 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, - 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, - 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, - 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, - 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, - 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, - 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, - 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, - 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, - 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, - 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, - 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, - 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, - 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, - 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, - 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, - 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, - 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, - 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, - 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, - 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, - 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, - 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, - 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, - 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, - 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, - 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, - 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, - 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, - 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, - 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, - 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, - 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, - 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, - 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, - 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, - 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, - 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, - 32,124,96,199,192,131,128,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=31 h=30 x= 4 y=18 dx=32 dy= 0 ascent=30 len=112 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =30 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24[10419] U8G_SECTION(".progmem.u8g_font_timR24") = { - 0,38,48,251,245,23,5,140,13,213,32,255,249,30,249,23, - 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, - 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, - 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, - 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, - 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, - 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, - 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, - 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, - 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, - 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, - 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, - 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, - 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, - 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, - 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, - 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, - 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, - 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, - 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, - 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, - 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, - 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, - 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, - 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, - 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, - 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, - 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, - 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, - 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, - 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, - 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, - 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, - 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, - 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, - 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, - 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, - 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, - 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, - 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, - 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, - 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, - 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, - 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, - 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, - 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, - 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, - 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, - 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, - 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, - 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, - 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, - 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, - 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, - 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, - 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, - 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, - 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, - 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, - 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, - 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, - 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, - 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, - 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, - 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, - 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, - 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, - 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, - 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, - 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, - 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, - 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, - 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, - 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, - 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, - 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, - 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, - 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, - 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, - 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, - 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, - 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, - 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, - 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, - 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, - 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, - 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, - 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, - 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, - 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, - 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, - 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, - 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, - 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, - 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, - 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, - 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, - 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, - 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, - 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, - 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, - 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, - 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, - 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, - 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, - 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, - 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, - 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, - 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, - 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, - 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, - 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, - 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, - 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, - 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, - 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, - 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, - 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, - 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, - 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, - 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, - 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, - 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, - 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, - 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, - 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, - 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, - 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, - 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, - 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, - 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, - 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, - 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, - 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, - 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, - 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, - 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, - 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, - 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, - 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, - 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, - 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, - 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, - 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, - 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, - 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, - 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, - 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, - 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, - 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, - 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, - 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, - 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, - 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, - 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, - 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, - 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, - 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, - 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, - 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, - 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, - 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, - 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, - 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, - 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, - 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, - 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, - 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, - 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, - 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, - 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, - 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, - 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, - 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, - 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, - 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, - 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, - 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, - 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, - 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, - 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, - 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, - 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, - 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, - 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, - 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, - 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, - 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, - 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, - 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, - 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, - 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, - 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, - 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, - 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, - 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, - 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, - 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, - 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, - 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, - 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, - 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, - 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, - 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, - 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, - 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, - 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, - 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, - 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, - 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, - 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, - 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, - 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, - 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, - 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, - 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, - 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, - 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, - 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, - 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, - 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, - 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, - 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, - 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, - 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, - 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, - 18,1,7,62,3,127,135,225,254,192,124,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,8, - 0,1,4,22,22,11,3,249,96,240,240,96,0,0,96,96, - 96,96,96,96,96,96,96,96,96,240,240,240,240,96,12,23, - 46,17,2,252,0,64,0,64,0,128,0,128,15,128,56,224, - 113,112,97,112,225,48,195,0,194,0,194,0,230,0,228,0, - 116,16,124,48,63,224,31,192,31,0,16,0,48,0,32,0, - 32,0,15,23,46,17,1,0,1,240,3,152,6,28,6,28, - 14,24,14,0,14,0,14,0,14,0,14,0,255,224,255,224, - 15,0,7,0,7,0,7,0,7,0,6,0,6,2,126,6, - 199,252,207,248,120,240,16,17,34,17,0,3,199,227,255,255, - 62,124,120,30,112,14,224,7,224,7,192,3,192,3,192,3, - 224,7,224,7,112,14,120,30,62,124,255,255,199,227,17,23, - 69,17,0,0,254,31,128,120,7,0,56,6,0,60,4,0, - 28,12,0,30,8,0,14,24,0,15,16,0,7,48,0,7, - 160,0,3,224,0,3,192,0,63,254,0,1,192,0,1,192, - 0,1,192,0,63,254,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,7,240,0,2,23,23,7,2,0,192, - 192,192,192,192,192,192,192,192,0,0,0,0,0,192,192,192, - 192,192,192,192,192,192,12,28,56,17,2,251,31,128,49,192, - 97,192,97,192,113,128,56,0,60,0,30,0,15,0,63,128, - 99,192,193,224,192,224,192,112,224,48,112,48,120,48,60,96, - 31,192,15,0,7,128,3,192,1,192,24,224,56,96,56,96, - 56,192,31,128,9,3,6,11,1,18,227,128,227,128,227,128, - 22,23,69,25,1,0,0,252,0,3,255,0,14,1,192,24, - 0,96,48,0,48,96,0,24,96,127,24,193,199,12,195,131, - 12,195,1,12,199,0,12,199,0,12,199,0,12,199,0,12, - 199,128,12,67,129,24,97,230,24,96,124,48,48,0,48,24, - 0,96,14,1,192,7,255,0,1,252,0,9,13,26,9,0, - 10,60,0,78,0,198,0,198,0,30,0,102,0,198,0,198, - 0,239,128,123,0,0,0,0,0,255,0,13,13,26,17,1, - 1,2,8,6,24,12,48,24,96,56,224,113,192,227,128,113, - 192,56,224,24,96,12,48,6,24,2,8,16,9,18,18,1, - 4,255,255,255,255,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,8,2,2,11,1,7,255,255,22,23,69,25,1, - 0,0,254,0,3,255,0,14,1,192,24,0,96,48,0,48, - 35,252,24,96,199,24,192,195,12,192,195,12,192,195,12,192, - 198,12,192,248,12,192,220,12,192,204,12,192,206,12,64,198, - 8,96,199,24,35,227,208,48,0,48,24,0,96,14,1,192, - 3,255,0,0,252,0,10,2,4,11,0,18,255,192,255,192, - 10,10,20,13,1,13,30,0,63,0,97,128,192,192,192,192, - 192,192,192,192,97,128,63,0,30,0,16,20,40,19,1,0, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, - 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,0,0,255,255,255,255,9,14,28,10,0,9,60,0, - 78,0,135,0,3,0,3,0,7,0,6,0,12,0,24,0, - 16,0,32,0,64,128,255,0,254,0,9,14,28,10,0,9, - 62,0,71,0,131,0,3,0,3,0,6,0,60,0,7,0, - 3,128,1,128,1,128,193,128,227,0,126,0,7,6,6,11, - 3,17,6,14,28,48,96,192,16,22,44,17,0,249,248,124, - 56,28,56,28,56,28,56,28,56,28,56,28,56,28,56,28, - 56,28,56,28,56,60,60,124,63,223,47,152,32,0,112,0, - 112,0,112,0,112,0,112,0,32,0,13,29,58,15,1,250, - 7,248,30,32,62,32,126,32,126,32,254,32,254,32,254,32, - 254,32,126,32,126,32,62,32,30,32,14,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,4,4,4,8,2,7, - 96,240,240,96,6,7,7,11,2,249,32,96,120,28,12,28, - 248,6,14,14,10,2,9,48,240,48,48,48,48,48,48,48, - 48,48,48,48,252,9,13,26,10,0,10,62,0,99,0,195, - 128,193,128,193,128,193,128,193,128,225,128,99,0,62,0,0, - 0,0,0,255,128,13,13,26,16,2,1,130,0,195,0,97, - 128,48,192,56,224,28,112,14,56,28,112,56,224,48,192,97, - 128,195,0,130,0,22,23,69,25,2,0,48,0,96,240,0, - 96,48,0,192,48,1,192,48,1,128,48,3,0,48,3,0, - 48,6,0,48,14,0,48,12,16,48,24,48,48,24,112,48, - 48,112,252,96,240,0,97,176,0,193,48,1,194,48,1,134, - 48,3,12,48,3,31,252,6,0,48,12,0,48,12,0,48, - 23,23,69,25,1,0,48,0,192,240,0,192,48,1,128,48, - 3,128,48,3,0,48,6,0,48,6,0,48,12,0,48,28, - 0,48,24,240,48,49,56,48,50,28,48,96,12,252,224,12, - 0,192,28,1,128,24,3,128,48,3,0,96,6,0,64,6, - 0,128,12,1,2,24,3,252,24,3,248,24,23,69,25,0, - 0,62,0,24,71,0,24,131,0,48,3,0,112,3,0,96, - 6,0,192,60,0,192,7,1,128,3,131,128,1,131,4,1, - 134,12,193,134,28,227,12,28,126,24,60,0,24,108,0,48, - 76,0,112,140,0,97,140,0,195,12,0,199,255,1,128,12, - 3,0,12,3,0,12,11,22,44,14,1,249,6,0,15,0, - 15,0,6,0,0,0,2,0,2,0,6,0,4,0,12,0, - 24,0,56,0,48,0,112,0,112,0,224,192,224,224,224,224, - 112,96,112,96,57,192,31,0,22,30,90,24,1,0,6,0, - 0,7,0,0,3,128,0,0,192,0,0,96,0,0,48,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,1, - 128,0,3,128,0,7,0,0,12,0,0,24,0,0,48,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,48, - 0,0,120,0,0,252,0,1,206,0,3,3,0,2,1,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,28,84,24,1,0,0,224, - 128,1,249,128,3,63,0,2,14,0,0,0,0,0,48,0, - 0,48,0,0,112,0,0,120,0,0,120,0,0,252,0,0, - 220,0,0,156,0,1,142,0,1,14,0,3,15,0,3,7, - 0,2,7,0,6,7,128,6,3,128,15,255,192,12,3,192, - 24,1,192,24,1,224,48,1,224,48,0,240,112,0,240,252, - 3,252,22,28,84,24,1,0,1,199,0,1,199,0,1,199, - 0,0,0,0,0,0,0,0,48,0,0,48,0,0,112,0, - 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, - 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, - 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, - 48,1,224,48,0,240,112,0,240,252,3,252,22,30,90,24, - 1,0,0,112,0,0,248,0,1,140,0,1,4,0,1,140, - 0,0,248,0,0,112,0,0,0,0,0,48,0,0,48,0, - 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, - 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, - 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, - 48,1,224,48,0,240,112,0,240,252,3,252,28,23,92,30, - 1,0,0,255,255,224,0,31,129,224,0,31,0,96,0,55, - 0,32,0,55,0,32,0,103,0,0,0,103,0,0,0,71, - 0,128,0,199,0,128,0,199,1,128,1,135,3,128,1,135, - 255,128,3,7,3,128,3,7,1,128,7,255,0,128,6,7, - 0,128,12,7,0,0,12,7,0,16,24,7,0,16,24,7, - 0,48,48,7,0,96,48,15,129,224,254,63,255,224,20,30, - 90,22,1,249,1,255,16,7,131,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,16,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,56,0,0,56,0,16,28,0,48, - 14,0,96,7,131,192,1,255,0,0,64,0,0,192,0,0, - 240,0,0,56,0,0,24,0,0,56,0,1,240,0,19,30, - 90,20,1,0,3,0,0,3,128,0,1,192,0,0,96,0, - 0,48,0,0,24,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, - 90,20,1,0,0,6,0,0,14,0,0,28,0,0,48,0, - 0,96,0,0,192,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, - 90,20,1,0,0,48,0,0,120,0,0,252,0,1,206,0, - 3,3,0,2,1,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,28, - 84,20,1,0,3,142,0,3,142,0,3,142,0,0,0,0, - 0,0,0,255,255,192,62,3,192,28,0,192,28,0,64,28, - 0,64,28,0,0,28,0,0,28,0,0,28,1,0,28,1, - 0,28,3,0,31,255,0,28,3,0,28,1,0,28,1,0, - 28,0,0,28,0,0,28,0,32,28,0,32,28,0,96,28, - 0,192,62,3,192,255,255,192,9,30,60,11,1,0,96,0, - 112,0,56,0,12,0,6,0,3,0,0,0,255,128,62,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,62,0,255,128,9,30,60,11,1,0, - 1,128,3,128,7,0,12,0,24,0,48,0,0,0,255,128, - 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,10,30,60,11, - 1,0,12,0,30,0,63,0,115,128,192,192,128,64,0,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,9,28, - 56,11,1,0,227,128,227,128,227,128,0,0,0,0,255,128, - 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,22,23,69,24, - 1,0,255,254,0,62,7,128,28,1,192,28,0,224,28,0, - 112,28,0,112,28,0,56,28,0,56,28,0,60,28,0,60, - 28,0,60,255,192,60,255,192,60,28,0,60,28,0,60,28, - 0,56,28,0,56,28,0,112,28,0,112,28,0,224,28,1, - 192,62,7,128,255,254,0,22,29,87,24,1,0,0,224,128, - 1,249,128,3,63,0,2,14,0,0,0,0,0,0,0,248, - 1,252,60,0,112,30,0,32,31,0,32,31,0,32,23,128, - 32,19,192,32,19,192,32,17,224,32,16,240,32,16,248,32, - 16,120,32,16,60,32,16,30,32,16,31,32,16,15,32,16, - 7,160,16,3,224,16,1,224,16,1,224,16,0,224,56,0, - 96,254,0,32,22,30,90,24,1,0,3,0,0,3,128,0, - 1,192,0,0,96,0,0,48,0,0,24,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,30,90,24,1,0,0,1,128,0,3,128, - 0,7,0,0,12,0,0,24,0,0,48,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,30,90,24,1,0,0,48,0,0,120,0, - 0,252,0,1,206,0,3,3,0,2,1,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,28,84,24,1,0,0,224,128,1,249,128, - 3,63,0,2,14,0,0,0,0,1,254,0,7,135,128,14, - 1,192,28,0,224,56,0,112,56,0,112,112,0,56,112,0, - 56,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,112,0,56,112,0,56,56,0,112,56, - 0,112,28,0,224,14,1,192,7,135,128,1,254,0,22,28, - 84,24,1,0,1,199,0,1,199,0,1,199,0,0,0,0, - 0,0,0,1,254,0,7,135,128,14,1,192,28,0,224,56, - 0,112,56,0,112,112,0,56,112,0,56,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, - 112,0,56,112,0,56,56,0,112,56,0,112,28,0,224,14, - 1,192,7,135,128,1,254,0,16,16,32,19,1,0,64,2, - 224,7,112,14,56,28,28,56,14,112,7,224,3,192,3,192, - 7,224,14,112,28,56,56,28,112,14,224,7,64,2,22,27, - 81,24,1,254,0,0,16,0,0,48,1,254,96,7,135,192, - 14,1,192,28,1,224,56,3,112,56,2,112,112,6,56,112, - 12,56,240,8,60,240,24,60,240,48,60,240,96,60,240,64, - 60,240,192,60,240,128,60,113,128,56,115,0,56,58,0,112, - 62,0,112,28,0,224,30,1,192,55,135,128,33,254,0,96, - 0,0,64,0,0,22,30,90,24,1,0,0,192,0,0,224, - 0,0,112,0,0,24,0,0,12,0,0,6,0,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,30,90,24,1,0,0,1,128,0,3, - 128,0,7,0,0,12,0,0,24,0,0,48,0,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,30,90,24,1,0,0,24,0,0,60, - 0,0,126,0,0,231,0,1,129,128,1,0,128,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,28,84,24,1,0,1,199,0,1,199, - 0,1,199,0,0,0,0,0,0,0,255,129,252,62,0,112, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,96, - 30,0,96,14,0,64,15,0,192,7,195,128,1,254,0,22, - 30,90,24,1,0,0,0,192,0,1,192,0,3,128,0,6, - 0,0,12,0,0,24,0,0,0,0,255,192,252,63,0,56, - 30,0,48,15,0,96,15,128,192,7,128,128,3,193,128,3, - 195,0,1,227,0,0,246,0,0,252,0,0,124,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,124,0,1,255,0,18, - 23,69,19,1,0,255,128,0,62,0,0,28,0,0,28,0, - 0,28,0,0,31,252,0,28,31,0,28,7,128,28,3,128, - 28,3,192,28,1,192,28,1,192,28,1,192,28,3,192,28, - 3,128,28,7,128,28,31,0,31,252,0,28,0,0,28,0, - 0,28,0,0,62,0,0,255,128,0,15,23,46,17,1,0, - 7,192,12,112,24,56,24,56,56,56,56,56,56,56,56,56, - 56,48,56,96,57,192,56,120,56,28,56,30,56,14,56,14, - 56,14,56,14,56,14,59,12,59,156,59,152,249,240,13,23, - 46,15,1,0,24,0,28,0,14,0,3,0,1,128,0,192, - 0,0,0,0,31,128,49,192,112,224,112,224,96,224,3,224, - 14,224,24,224,48,224,96,224,224,224,225,224,242,232,126,248, - 60,112,13,23,46,15,1,0,0,192,1,192,3,128,6,0, - 12,0,24,0,0,0,0,0,31,128,49,192,112,224,112,224, - 96,224,3,224,14,224,24,224,48,224,96,224,224,224,225,224, - 242,232,126,248,60,112,13,23,46,15,1,0,6,0,15,0, - 31,128,57,192,96,96,64,32,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, - 28,16,62,48,99,224,65,192,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, - 56,224,56,224,56,224,0,0,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,23,46,15,1,0, - 7,0,15,128,24,192,16,64,24,192,15,128,7,0,0,0, - 31,128,49,192,112,224,112,224,96,224,3,224,14,224,24,224, - 48,224,96,224,224,224,225,224,242,232,126,248,60,112,19,15, - 45,22,1,0,31,159,0,49,249,192,112,224,192,112,224,224, - 96,224,224,3,255,224,14,224,0,24,224,0,48,224,0,96, - 224,0,224,224,32,225,240,96,243,120,192,126,63,128,60,31, - 0,12,22,44,15,1,249,15,128,56,192,112,224,96,224,224, - 96,192,0,192,0,192,0,192,0,224,0,224,16,112,48,124, - 96,63,192,15,0,4,0,12,0,15,0,3,128,1,128,3, - 128,31,0,12,23,46,15,1,0,48,0,56,0,28,0,6, - 0,3,0,1,128,0,0,0,0,15,128,57,192,96,224,96, - 112,192,112,255,240,192,0,192,0,192,0,224,0,224,16,112, - 48,124,96,63,192,15,0,12,23,46,15,1,0,1,128,3, - 128,7,0,12,0,24,0,48,0,0,0,0,0,15,128,57, - 192,96,224,96,112,192,112,255,240,192,0,192,0,192,0,224, - 0,224,16,112,48,124,96,63,192,15,0,12,23,46,15,1, - 0,6,0,15,0,31,128,57,192,96,96,64,32,0,0,0, - 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, - 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,12, - 21,42,15,1,0,56,224,56,224,56,224,0,0,0,0,0, - 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, - 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,7, - 23,23,9,1,0,192,224,112,24,12,6,0,0,24,248,56, - 56,56,56,56,56,56,56,56,56,56,56,254,7,23,23,9, - 1,0,6,14,28,48,96,192,0,0,24,248,56,56,56,56, - 56,56,56,56,56,56,56,56,254,10,23,46,9,0,0,12, - 0,30,0,63,0,115,128,192,192,128,64,0,0,0,0,12, - 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,127,0,9,21,42, - 9,0,0,227,128,227,128,227,128,0,0,0,0,0,0,12, - 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,127,0,14,23,46, - 17,1,0,16,0,56,0,28,112,15,240,15,0,127,128,49, - 192,0,224,7,240,24,240,48,120,112,56,96,60,224,28,224, - 28,224,28,224,28,224,28,112,24,112,56,56,48,28,96,7, - 128,16,21,42,16,0,0,14,8,31,24,49,240,32,224,0, - 0,0,0,24,240,251,248,62,60,60,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,254, - 127,14,23,46,16,1,0,24,0,28,0,14,0,3,0,1, - 128,0,192,0,0,0,0,7,128,24,224,48,112,112,56,96, - 56,224,28,224,28,224,28,224,28,224,28,112,24,112,56,56, - 48,28,96,7,128,14,23,46,16,1,0,0,192,1,192,3, - 128,6,0,12,0,24,0,0,0,0,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,112, - 24,112,56,56,48,28,96,7,128,14,23,46,16,1,0,3, - 0,7,128,15,192,28,224,48,48,32,16,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, - 16,1,0,28,16,62,48,99,224,65,192,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, - 16,1,0,56,224,56,224,56,224,0,0,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,16,17,34, - 19,1,0,1,128,3,192,3,192,1,128,0,0,0,0,0, - 0,255,255,255,255,0,0,0,0,0,0,0,0,1,128,3, - 192,3,192,1,128,14,21,42,17,1,253,0,24,0,16,0, - 48,7,160,24,224,48,240,112,184,97,184,225,28,225,28,227, - 28,226,28,230,28,116,24,116,56,60,48,28,96,31,128,48, - 0,32,0,96,0,16,23,46,17,0,0,12,0,14,0,7, - 0,1,128,0,192,0,96,0,0,0,0,248,124,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,60,60,124,31,223,15,152,16,23,46,17,0,0,0, - 96,0,224,1,192,3,0,6,0,12,0,0,0,0,0,248, - 124,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,60,60,124,31,223,15,152,16,23,46, - 17,0,0,1,128,3,192,7,224,14,112,24,24,16,8,0, - 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, - 152,16,21,42,17,0,0,28,112,28,112,28,112,0,0,0, - 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, - 152,15,30,60,17,0,249,0,24,0,56,0,112,0,192,1, - 128,3,0,0,0,0,0,254,30,120,12,56,12,60,8,28, - 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, - 192,1,128,1,128,1,128,1,0,3,0,2,0,62,0,124, - 0,56,0,15,30,60,17,0,249,24,0,248,0,56,0,56, - 0,56,0,56,0,56,0,56,0,57,240,59,248,62,124,60, - 28,56,30,56,14,56,14,56,14,56,14,56,14,56,12,56, - 28,60,24,62,48,59,224,56,0,56,0,56,0,56,0,56, - 0,56,0,255,0,15,28,56,17,1,249,28,112,28,112,28, - 112,0,0,0,0,0,0,254,30,120,12,56,12,60,8,28, - 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, - 192,1,128,1,128,1,0,1,0,3,0,2,0,62,0,124, - 0,56,0}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=16 h=26 x= 4 y=10 dx=19 dy= 0 ascent=23 len=52 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =23 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24n[696] U8G_SECTION(".progmem.u8g_font_timR24n") = { - 0,38,48,251,245,23,0,0,0,0,42,57,0,23,253,23, - 0,12,13,26,17,2,10,6,0,15,0,6,0,198,48,246, - 240,118,224,15,0,118,224,246,240,198,48,6,0,15,0,6, - 0,16,16,32,19,1,1,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,4,7,7,8,2,253,96,240,240, - 112,16,32,64,8,2,2,11,1,7,255,255,4,4,4,8, - 2,0,96,240,240,96,10,26,52,9,0,253,0,192,0,192, - 1,128,1,128,3,128,3,0,3,0,3,0,6,0,6,0, - 6,0,14,0,12,0,12,0,28,0,24,0,24,0,24,0, - 48,0,48,0,48,0,112,0,96,0,96,0,192,0,192,0, - 14,23,46,16,1,0,7,128,28,224,56,112,48,48,112,56, - 112,56,96,24,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,24,112,56,112,56,48,48,56,112, - 28,224,7,128,9,23,46,16,4,0,12,0,28,0,124,0, - 220,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,15,23,46,16,0,0,7,224, - 15,240,28,248,48,60,32,60,96,28,64,28,0,28,0,28, - 0,24,0,56,0,48,0,96,0,96,0,192,1,128,3,0, - 6,0,12,2,24,6,63,252,127,248,255,248,12,23,46,16, - 2,0,15,128,63,192,97,224,192,224,128,224,0,224,0,192, - 0,192,1,128,3,0,7,192,31,224,1,240,0,112,0,112, - 0,48,0,48,0,48,0,112,0,96,224,192,243,128,127,0, - 14,23,46,16,1,0,0,96,0,224,0,224,1,224,1,96, - 3,96,6,96,4,96,12,96,24,96,16,96,48,96,96,96, - 64,96,255,252,255,252,255,252,0,96,0,96,0,96,0,96, - 0,96,0,96,13,23,46,16,1,0,15,248,31,240,31,224, - 16,0,48,0,32,0,126,0,127,128,127,192,7,224,1,224, - 0,240,0,112,0,112,0,48,0,48,0,48,0,48,0,96, - 0,96,224,192,243,128,126,0,14,23,46,16,1,0,0,120, - 1,192,3,128,15,0,30,0,28,0,56,0,120,0,112,0, - 115,192,247,240,248,120,224,56,224,60,224,28,224,28,224,28, - 224,28,112,28,112,24,56,56,28,96,7,192,14,23,46,16, - 1,0,63,252,127,252,96,24,192,24,128,56,0,48,0,48, - 0,48,0,96,0,96,0,96,0,224,0,192,0,192,1,192, - 1,128,1,128,1,128,3,0,3,0,3,0,7,0,6,0, - 13,23,46,16,2,0,31,128,56,224,112,112,224,48,224,48, - 224,48,224,112,240,96,124,192,63,0,31,128,15,192,27,224, - 113,240,96,240,224,120,192,120,192,56,192,56,224,56,96,112, - 112,224,31,192,14,23,46,16,1,0,7,128,24,224,48,112, - 112,56,96,56,224,28,224,28,224,28,224,28,224,28,240,28, - 112,28,120,60,62,252,15,184,0,56,0,112,0,112,0,224, - 1,192,3,128,15,0,120,0}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=31 h=30 x= 4 y=17 dx=32 dy= 0 ascent=25 len=112 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24r[4764] U8G_SECTION(".progmem.u8g_font_timR24r") = { - 0,38,48,251,245,23,5,140,13,213,32,127,249,25,249,23, - 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, - 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, - 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, - 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, - 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, - 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, - 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, - 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, - 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, - 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, - 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, - 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, - 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, - 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, - 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, - 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, - 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, - 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, - 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, - 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, - 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, - 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, - 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, - 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, - 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, - 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, - 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, - 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, - 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, - 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, - 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, - 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, - 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, - 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, - 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, - 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, - 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, - 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, - 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, - 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, - 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, - 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, - 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, - 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, - 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, - 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, - 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, - 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, - 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, - 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, - 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, - 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, - 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, - 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, - 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, - 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, - 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, - 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, - 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, - 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, - 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, - 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, - 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, - 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, - 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, - 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, - 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, - 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, - 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, - 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, - 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, - 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, - 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, - 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, - 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, - 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, - 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, - 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, - 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, - 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, - 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, - 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, - 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, - 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, - 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, - 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, - 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, - 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, - 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, - 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, - 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, - 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, - 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, - 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, - 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, - 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, - 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, - 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, - 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, - 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, - 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, - 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, - 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, - 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, - 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, - 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, - 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, - 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, - 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, - 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, - 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, - 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, - 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, - 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, - 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, - 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, - 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, - 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, - 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, - 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, - 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, - 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, - 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, - 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, - 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, - 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, - 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, - 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, - 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, - 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, - 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, - 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, - 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, - 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, - 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, - 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, - 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, - 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, - 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, - 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, - 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, - 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, - 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, - 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, - 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, - 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, - 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, - 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, - 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, - 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, - 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, - 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, - 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, - 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, - 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, - 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, - 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, - 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, - 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, - 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, - 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, - 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, - 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, - 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, - 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, - 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, - 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, - 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, - 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, - 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, - 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, - 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, - 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, - 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, - 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, - 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, - 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, - 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, - 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, - 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, - 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, - 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, - 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, - 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, - 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, - 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, - 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, - 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, - 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, - 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, - 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, - 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, - 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, - 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, - 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, - 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, - 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, - 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, - 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, - 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, - 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, - 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, - 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, - 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, - 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, - 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, - 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, - 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, - 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, - 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, - 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, - 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, - 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, - 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, - 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, - 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, - 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, - 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, - 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, - 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, - 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, - 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, - 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, - 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, - 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, - 18,1,7,62,3,127,135,225,254,192,124,255}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=11 h=13 x= 1 y=10 dx=12 dy= 0 ascent=13 len=18 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssb[2656] U8G_SECTION(".progmem.u8g_font_tpssb") = { - 0,11,17,0,252,9,1,205,3,159,32,255,252,13,252,9, - 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, - 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, - 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, - 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, - 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, - 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, - 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, - 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, - 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, - 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, - 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, - 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, - 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, - 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, - 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, - 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, - 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, - 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, - 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, - 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, - 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, - 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, - 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, - 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, - 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, - 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, - 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, - 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, - 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, - 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, - 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, - 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, - 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, - 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, - 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, - 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, - 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, - 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, - 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, - 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, - 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, - 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, - 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, - 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, - 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, - 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, - 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, - 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, - 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, - 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, - 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, - 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, - 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, - 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, - 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, - 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, - 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, - 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, - 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, - 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, - 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, - 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, - 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, - 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, - 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, - 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, - 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, - 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, - 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, - 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, - 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, - 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, - 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, - 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, - 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, - 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, - 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, - 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, - 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, - 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, - 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, - 184,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,255,2,9,9,3,0,0,192,192,0,192,192,192,192, - 192,192,5,7,7,7,1,0,32,112,168,160,168,112,32,6, - 9,9,7,0,0,192,192,248,192,192,192,204,204,252,5,5, - 5,7,1,1,136,112,80,112,136,6,9,9,8,1,0,204, - 204,120,48,48,120,48,120,48,2,9,9,4,1,0,192,192, - 192,0,0,0,192,192,192,8,10,10,10,1,0,124,192,126, - 195,126,3,3,3,195,62,5,1,1,7,1,3,216,9,7, - 14,11,1,0,62,0,65,0,221,128,209,128,221,128,65,0, - 62,0,7,8,8,9,1,0,120,204,204,204,204,126,0,254, - 7,3,3,9,1,2,102,204,102,5,3,3,7,1,1,248, - 248,24,255,9,7,14,11,1,0,62,0,65,0,221,128,209, - 128,209,128,65,0,62,0,5,1,1,6,0,6,248,3,3, - 3,5,1,2,224,160,224,5,7,7,7,1,0,32,32,248, - 32,32,0,248,255,255,255,255,255,255,255,255,255,7,3,3, - 9,1,2,204,102,204,255,255,255,255,6,12,12,7,0,0, - 96,48,0,120,204,204,252,204,204,204,204,204,6,12,12,7, - 0,0,24,48,0,120,204,204,252,204,204,204,204,204,6,12, - 12,7,0,0,48,72,0,120,204,204,252,204,204,204,204,204, - 6,12,12,7,0,0,232,184,0,120,204,204,252,204,204,204, - 204,204,6,11,11,7,0,0,72,0,120,204,204,252,204,204, - 204,204,204,6,13,13,7,0,0,48,72,48,0,120,204,204, - 252,204,204,204,204,204,11,9,18,12,0,0,127,224,206,0, - 206,0,255,192,206,0,206,0,206,0,206,0,207,224,6,11, - 11,7,0,254,120,204,192,192,192,192,192,204,120,48,96,6, - 12,12,7,0,0,96,48,0,252,192,192,248,192,192,192,192, - 252,6,12,12,7,0,0,24,48,0,252,192,192,248,192,192, - 192,192,252,6,12,12,7,0,0,48,72,0,252,192,192,248, - 192,192,192,192,252,6,11,11,7,0,0,204,0,252,192,192, - 248,192,192,192,192,252,3,12,12,4,0,0,192,96,0,96, - 96,96,96,96,96,96,96,96,3,12,12,4,0,0,96,192, - 0,192,192,192,192,192,192,192,192,192,4,12,12,5,0,0, - 96,144,0,96,96,96,96,96,96,96,96,96,6,11,11,7, - 0,0,204,0,48,48,48,48,48,48,48,48,48,6,9,9, - 7,0,0,248,204,204,236,204,204,204,204,248,6,12,12,7, - 0,0,232,184,0,204,236,252,220,204,204,204,204,204,6,12, - 12,7,0,0,96,48,0,120,204,204,204,204,204,204,204,120, - 6,12,12,7,0,0,24,48,0,120,204,204,204,204,204,204, - 204,120,6,12,12,7,0,0,48,72,0,120,204,204,204,204, - 204,204,204,120,6,12,12,7,0,0,232,184,0,120,204,204, - 204,204,204,204,204,120,6,11,11,7,0,0,204,0,120,204, - 204,204,204,204,204,204,120,3,3,3,6,1,2,160,64,160, - 6,9,9,7,0,0,120,204,220,220,236,236,236,204,120,6, - 12,12,7,0,0,96,48,0,204,204,204,204,204,204,204,204, - 120,6,12,12,7,0,0,24,48,0,204,204,204,204,204,204, - 204,204,120,6,12,12,7,0,0,48,72,0,204,204,204,204, - 204,204,204,204,120,6,11,11,7,0,0,204,0,204,204,204, - 204,204,204,204,204,120,6,12,12,7,0,0,24,48,0,204, - 204,120,48,48,48,48,48,48,7,9,9,8,0,0,192,192, - 252,198,252,192,192,192,192,7,11,11,8,0,254,252,198,220, - 198,198,198,220,192,192,192,192,6,9,9,7,0,0,96,48, - 0,120,204,204,204,204,124,6,9,9,7,0,0,24,48,0, - 120,204,204,204,204,124,6,9,9,7,0,0,48,72,0,120, - 204,204,204,204,124,6,9,9,7,0,0,232,184,0,120,204, - 204,204,204,124,6,8,8,7,0,0,204,0,120,204,204,204, - 204,124,6,10,10,7,0,0,48,72,48,0,120,204,204,204, - 204,124,9,6,12,11,1,0,127,128,136,128,143,128,136,0, - 136,128,127,128,6,8,8,7,0,254,120,204,192,192,204,120, - 48,96,6,9,9,7,0,0,96,48,0,120,204,252,192,204, - 120,6,9,9,7,0,0,24,48,0,120,204,252,192,204,120, - 6,9,9,7,0,0,48,72,0,120,204,252,192,204,120,6, - 8,8,7,0,0,204,0,120,204,252,192,204,120,3,12,12, - 4,0,0,192,96,0,96,96,96,96,96,96,96,96,96,3, - 12,12,4,0,0,96,192,0,192,192,192,192,192,192,192,192, - 192,4,12,12,5,0,0,96,144,0,96,96,96,96,96,96, - 96,96,96,6,11,11,7,0,0,204,0,48,48,48,48,48, - 48,48,48,48,6,9,9,7,0,0,12,60,12,124,204,204, - 204,204,124,6,9,9,7,0,0,232,184,0,248,236,204,204, - 204,204,6,9,9,7,0,0,96,48,0,120,204,204,204,204, - 120,6,9,9,7,0,0,24,48,0,120,204,204,204,204,120, - 6,9,9,7,0,0,48,72,0,120,204,204,204,204,120,6, - 9,9,7,0,0,232,184,0,120,204,204,204,204,120,6,8, - 8,7,0,0,204,0,120,204,204,204,204,120,6,6,6,7, - 0,1,48,0,252,252,0,48,6,6,6,7,0,0,120,220, - 220,236,236,120,6,9,9,7,0,0,96,48,0,204,204,204, - 204,204,120,6,9,9,7,0,0,24,48,0,204,204,204,204, - 204,120,6,9,9,7,0,0,48,72,0,204,204,204,204,204, - 120,6,8,8,7,0,0,204,0,204,204,204,204,204,120,6, - 13,13,7,0,252,24,48,0,204,204,204,204,204,124,12,12, - 204,120,6,6,6,7,0,0,192,248,204,248,192,192,6,12, - 12,7,0,252,204,0,204,204,204,204,204,124,12,12,204,120 - }; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 6 h= 9 x= 1 y= 3 dx= 8 dy= 0 ascent= 9 len= 9 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssbn[230] U8G_SECTION(".progmem.u8g_font_tpssbn") = { - 0,11,17,0,252,9,0,0,0,0,42,57,0,9,255,9, - 0,5,7,7,7,1,1,32,168,112,32,112,168,32,6,6, - 6,8,1,1,48,48,252,252,48,48,3,2,2,5,1,255, - 96,192,5,2,2,7,1,3,248,248,2,1,1,4,1,0, - 192,6,9,9,8,1,0,12,24,24,48,48,48,96,96,192, - 6,9,9,7,0,0,120,204,204,204,204,204,204,204,120,6, - 9,9,7,0,0,48,112,240,48,48,48,48,48,252,6,9, - 9,7,0,0,120,204,204,12,24,48,96,192,252,6,9,9, - 7,0,0,120,204,12,56,12,12,12,204,120,6,9,9,7, - 0,0,12,204,204,252,12,12,12,12,12,6,9,9,7,0, - 0,252,192,192,248,12,12,12,204,120,6,9,9,7,0,0, - 120,204,192,248,204,204,204,204,120,6,9,9,7,0,0,252, - 12,24,48,96,96,96,96,96,6,9,9,7,0,0,120,204, - 204,120,204,204,204,204,120,6,9,9,7,0,0,120,204,204, - 204,124,12,12,204,120}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=10 h=13 x= 1 y=10 dx=12 dy= 0 ascent=12 len=18 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssbr[1346] U8G_SECTION(".progmem.u8g_font_tpssbr") = { - 0,11,17,0,252,9,1,205,3,159,32,127,252,12,252,9, - 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, - 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, - 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, - 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, - 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, - 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, - 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, - 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, - 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, - 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, - 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, - 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, - 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, - 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, - 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, - 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, - 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, - 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, - 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, - 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, - 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, - 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, - 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, - 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, - 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, - 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, - 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, - 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, - 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, - 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, - 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, - 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, - 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, - 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, - 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, - 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, - 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, - 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, - 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, - 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, - 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, - 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, - 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, - 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, - 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, - 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, - 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, - 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, - 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, - 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, - 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, - 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, - 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, - 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, - 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, - 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, - 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, - 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, - 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, - 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, - 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, - 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, - 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, - 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, - 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, - 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, - 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, - 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, - 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, - 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, - 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, - 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, - 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, - 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, - 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, - 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, - 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, - 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, - 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, - 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, - 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, - 184,255}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=13 len=18 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpss[2605] U8G_SECTION(".progmem.u8g_font_tpss") = { - 0,11,17,255,252,9,1,192,3,136,32,255,252,13,252,9, - 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, - 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, - 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, - 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, - 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, - 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, - 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, - 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, - 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, - 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, - 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, - 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, - 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, - 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, - 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, - 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, - 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, - 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, - 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, - 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, - 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, - 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, - 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, - 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, - 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, - 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, - 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, - 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, - 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, - 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, - 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, - 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, - 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, - 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, - 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, - 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, - 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, - 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, - 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, - 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, - 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, - 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, - 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, - 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, - 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, - 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, - 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, - 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, - 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, - 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, - 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, - 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, - 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, - 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, - 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, - 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, - 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, - 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, - 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, - 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, - 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, - 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, - 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, - 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, - 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, - 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, - 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, - 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, - 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, - 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, - 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, - 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, - 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, - 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, - 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, - 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, - 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, - 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, - 0,10,232,184,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,255,1,9,9,2,0,0,128,128,0,128, - 128,128,128,128,128,5,7,7,7,1,0,32,112,168,160,168, - 112,32,5,9,9,7,1,0,128,128,240,128,128,128,136,136, - 248,5,5,5,7,1,1,136,112,80,112,136,5,9,9,7, - 1,0,136,136,80,32,32,248,32,248,32,1,9,9,3,1, - 0,128,128,128,0,0,0,128,128,128,6,10,10,8,1,0, - 120,128,120,132,120,4,4,4,132,120,5,1,1,7,1,3, - 136,7,7,7,9,1,0,124,130,186,162,186,130,124,6,8, - 8,8,1,0,112,136,136,136,136,116,0,252,5,3,3,7, - 1,2,72,144,72,5,2,2,7,1,2,248,8,0,0,0, - 8,0,0,7,7,7,9,1,0,124,130,186,162,162,130,124, - 5,1,1,6,0,6,248,3,3,3,5,1,2,64,160,64, - 5,7,7,7,1,0,32,32,248,32,32,0,248,255,255,255, - 0,0,0,8,0,0,255,0,0,0,8,0,0,255,255,255, - 5,3,3,7,1,2,144,72,144,255,255,255,255,5,12,12, - 6,0,0,64,32,0,112,136,136,248,136,136,136,136,136,5, - 12,12,6,0,0,16,32,0,112,136,136,248,136,136,136,136, - 136,5,12,12,6,0,0,32,80,0,112,136,136,248,136,136, - 136,136,136,5,12,12,6,0,0,232,184,0,112,136,136,248, - 136,136,136,136,136,5,11,11,6,0,0,80,0,112,136,136, - 248,136,136,136,136,136,5,13,13,6,0,0,32,80,32,0, - 112,136,136,248,136,136,136,136,136,9,9,18,10,0,0,127, - 128,136,0,136,0,255,0,136,0,136,0,136,0,136,0,143, - 128,5,9,9,6,0,254,112,136,128,128,128,136,112,32,96, - 5,12,12,6,0,0,64,32,0,248,128,128,240,128,128,128, - 128,248,5,12,12,6,0,0,16,32,0,248,128,128,240,128, - 128,128,128,248,5,12,12,6,0,0,32,80,0,248,128,128, - 240,128,128,128,128,248,5,11,11,6,0,0,80,0,248,128, - 128,240,128,128,128,128,248,2,12,12,2,0,0,128,64,0, - 64,64,64,64,64,64,64,64,64,2,12,12,2,0,0,64, - 128,0,128,128,128,128,128,128,128,128,128,3,12,12,2,255, - 0,64,160,0,64,64,64,64,64,64,64,64,64,3,11,11, - 2,255,0,160,0,64,64,64,64,64,64,64,64,64,5,9, - 9,6,0,0,240,136,136,232,136,136,136,136,240,5,12,12, - 6,0,0,232,184,0,136,136,136,200,168,152,136,136,136,5, - 12,12,6,0,0,64,32,0,112,136,136,136,136,136,136,136, - 112,5,12,12,6,0,0,16,32,0,112,136,136,136,136,136, - 136,136,112,5,12,12,6,0,0,32,80,0,112,136,136,136, - 136,136,136,136,112,5,12,12,6,0,0,232,184,0,112,136, - 136,136,136,136,136,136,112,5,11,11,6,0,0,80,0,112, - 136,136,136,136,136,136,136,112,3,3,3,6,1,2,160,64, - 160,7,9,9,8,0,0,58,68,76,84,84,84,100,68,184, - 5,12,12,6,0,0,64,32,0,136,136,136,136,136,136,136, - 136,112,5,12,12,6,0,0,16,32,0,136,136,136,136,136, - 136,136,136,112,5,12,12,6,0,0,32,80,0,136,136,136, - 136,136,136,136,136,112,5,11,11,6,0,0,80,0,136,136, - 136,136,136,136,136,136,112,5,12,12,6,0,0,16,32,0, - 136,136,80,32,32,32,32,32,32,5,9,9,6,0,0,128, - 128,240,136,240,128,128,128,128,5,11,11,6,0,254,240,136, - 176,136,136,136,176,128,128,128,128,5,9,9,6,0,0,64, - 32,0,112,136,136,136,136,120,5,9,9,6,0,0,16,32, - 0,112,136,136,136,136,120,5,9,9,6,0,0,32,80,0, - 112,136,136,136,136,120,5,9,9,6,0,0,232,184,0,112, - 136,136,136,136,120,5,8,8,6,0,0,80,0,112,136,136, - 136,136,120,5,10,10,6,0,0,32,80,32,0,112,136,136, - 136,136,120,9,6,12,10,0,0,119,0,136,128,143,128,136, - 0,136,128,119,0,5,8,8,6,0,254,112,136,128,128,136, - 112,32,64,5,6,6,6,0,0,112,136,248,128,136,112,5, - 6,6,6,0,0,112,136,248,128,136,112,5,6,6,6,0, - 0,112,136,248,128,136,112,5,6,6,6,0,0,112,136,248, - 128,136,112,2,10,10,3,0,0,128,64,0,0,64,64,64, - 64,64,64,2,10,10,3,0,0,64,128,0,0,128,128,128, - 128,128,128,3,10,10,4,0,0,64,160,0,0,64,64,64, - 64,64,64,3,9,9,4,0,0,160,0,0,64,64,64,64, - 64,64,5,9,9,6,0,0,8,56,8,120,136,136,136,136, - 120,5,9,9,6,0,0,232,184,0,176,200,136,136,136,136, - 5,9,9,6,0,0,64,32,0,112,136,136,136,136,112,5, - 9,9,6,0,0,16,32,0,112,136,136,136,136,112,5,9, - 9,6,0,0,32,80,0,112,136,136,136,136,112,5,9,9, - 6,0,0,232,184,0,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,1, - 32,0,248,0,32,5,6,6,6,0,0,112,152,168,168,200, - 112,5,9,9,6,0,0,64,32,0,136,136,136,136,136,112, - 5,9,9,6,0,0,16,32,0,136,136,136,136,136,112,5, - 9,9,6,0,0,32,80,0,136,136,136,136,136,112,5,8, - 8,6,0,0,80,0,136,136,136,136,136,112,5,13,13,6, - 0,252,16,32,0,136,136,136,136,136,120,8,8,136,112,5, - 6,6,5,0,0,128,240,136,240,128,128,5,12,12,6,0, - 252,80,0,136,136,136,136,136,120,8,8,136,112}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 5 h= 9 x= 1 y= 3 dx= 7 dy= 0 ascent= 9 len= 9 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssn[228] U8G_SECTION(".progmem.u8g_font_tpssn") = { - 0,11,17,255,252,9,0,0,0,0,42,57,0,9,255,9, - 0,5,7,7,7,1,1,32,168,112,32,112,168,32,5,5, - 5,7,1,1,32,32,248,32,32,2,2,2,4,1,255,64, - 128,5,1,1,7,1,3,248,1,1,1,3,1,0,128,5, - 9,9,7,1,0,8,16,16,32,32,32,64,64,128,5,9, - 9,6,0,0,112,136,136,136,136,136,136,136,112,5,9,9, - 6,0,0,32,96,160,32,32,32,32,32,248,5,9,9,6, - 0,0,112,136,136,8,16,32,64,128,248,5,9,9,6,0, - 0,112,136,8,48,8,8,8,136,112,5,9,9,6,0,0, - 8,136,136,248,8,8,8,8,8,5,9,9,6,0,0,248, - 128,128,248,8,8,8,136,112,5,9,9,6,0,0,112,136, - 128,240,136,136,136,136,112,5,9,9,6,0,0,248,8,16, - 32,64,64,64,64,64,5,9,9,6,0,0,112,136,136,112, - 136,136,136,136,112,5,9,9,6,0,0,112,136,136,136,120, - 8,8,136,112}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=12 len=16 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssr[1317] U8G_SECTION(".progmem.u8g_font_tpssr") = { - 0,11,17,255,252,9,1,192,3,136,32,127,252,12,252,9, - 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, - 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, - 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, - 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, - 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, - 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, - 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, - 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, - 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, - 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, - 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, - 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, - 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, - 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, - 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, - 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, - 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, - 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, - 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, - 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, - 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, - 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, - 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, - 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, - 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, - 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, - 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, - 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, - 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, - 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, - 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, - 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, - 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, - 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, - 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, - 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, - 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, - 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, - 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, - 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, - 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, - 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, - 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, - 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, - 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, - 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, - 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, - 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, - 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, - 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, - 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, - 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, - 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, - 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, - 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, - 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, - 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, - 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, - 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, - 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, - 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, - 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, - 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, - 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, - 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, - 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, - 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, - 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, - 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, - 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, - 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, - 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, - 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, - 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, - 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, - 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, - 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, - 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, - 0,10,232,184,255}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_square[1236] U8G_SECTION(".progmem.u8g_font_trixel_square") = { - 0,5,9,0,254,5,1,91,2,177,32,255,254,7,254,5, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, - 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, - 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, - 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, - 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, - 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, - 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, - 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, - 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, - 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, - 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, - 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, - 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, - 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, - 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, - 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, - 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, - 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, - 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, - 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, - 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, - 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, - 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, - 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, - 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, - 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, - 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, - 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, - 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, - 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, - 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, - 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, - 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, - 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, - 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, - 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, - 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, - 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, - 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, - 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, - 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, - 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, - 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, - 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, - 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, - 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, - 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, - 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, - 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, - 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, - 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, - 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, - 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, - 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, - 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, - 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, - 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, - 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, - 128,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,255,255,255,4,5,5,5,0,0,112,64,96,64,240, - 255,255,255,3,7,7,4,0,254,224,128,224,160,224,32,224, - 255,255,255,3,2,2,4,0,1,160,160,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,3,2,2,4,0,1, - 160,160,255,255,255,255,255,255,255,255,3,7,7,4,0,0, - 160,0,224,160,224,160,160,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,3,7,7,4,0,0,160,0, - 224,160,160,160,224,255,255,255,255,255,3,7,7,4,0,0, - 160,0,160,160,160,160,224,255,255,3,7,7,4,0,254,224, - 160,224,160,224,128,128,255,255,255,255,4,5,5,5,0,0, - 160,0,224,160,240,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,3,5,5,4,0,0,160,0,224,160, - 224,255,255,255,255,255,3,5,5,4,0,0,160,0,160,160, - 224,255,255,255}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[178] U8G_SECTION(".progmem.u8g_font_trixel_squaren") = { - 0,5,9,0,254,5,0,0,0,0,42,57,0,5,255,5, - 0,3,3,3,4,0,2,160,64,160,3,3,3,4,0,0, - 64,224,64,1,2,2,2,0,255,128,128,3,1,1,4,0, - 1,224,1,1,1,2,0,0,128,3,5,5,4,0,0,32, - 96,64,192,128,3,5,5,4,0,0,224,160,160,160,224,2, - 5,5,3,0,0,64,192,64,64,64,3,5,5,4,0,0, - 224,160,96,192,224,3,5,5,4,0,0,224,32,96,32,224, - 3,5,5,4,0,0,160,160,224,32,32,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,128,224,160, - 224,3,5,5,4,0,0,224,32,32,32,32,3,5,5,4, - 0,0,224,160,224,160,224,3,5,5,4,0,0,224,160,224, - 32,224}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[994] U8G_SECTION(".progmem.u8g_font_trixel_squarer") = { - 0,5,9,0,254,5,1,91,2,177,32,127,254,6,254,5, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, - 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, - 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, - 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, - 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, - 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, - 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, - 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, - 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, - 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, - 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, - 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, - 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, - 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, - 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, - 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, - 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, - 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, - 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, - 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, - 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, - 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, - 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, - 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, - 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, - 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, - 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, - 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, - 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, - 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, - 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, - 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, - 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, - 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, - 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, - 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, - 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, - 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, - 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, - 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, - 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, - 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, - 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, - 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, - 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, - 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, - 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, - 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, - 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, - 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, - 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, - 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, - 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, - 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, - 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, - 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, - 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, - 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, - 128,255}; -/* - Fontname: u8glib_4 - Copyright: public domain - Capital A Height: 4, '1' Height: 4 - Calculated Max Values w= 8 h= 7 x= 1 y= 4 dx= 9 dy= 0 ascent= 6 len= 7 - Font Bounding box w=10 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_SECTION(".progmem.u8g_font_u8glib_4") = { - 1,10,6,0,255,4,0,233,1,198,32,255,255,6,255,5, - 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, - 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, - 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, - 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, - 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, - 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, - 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, - 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, - 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, - 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, - 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, - 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, - 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, - 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, - 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, - 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, - 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, - 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, - 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, - 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, - 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, - 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, - 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, - 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, - 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, - 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, - 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, - 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, - 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, - 2,51,67,224,192,224,2,52,68,32,64,224,64,1,52,68, - 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, - 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, - 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, - 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, - 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, - 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, - 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, - 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, - 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, - 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, - 2,69,85,240,144,144,144,240,2,0,32,2,53,69,160,0, - 160,160,224,2,54,70,64,128,0,224,192,224,2,54,70,64, - 160,0,96,160,224,2,53,69,160,0,96,160,224,2,54,70, - 64,32,0,96,160,224,2,54,70,64,160,64,96,160,224,1, - 36,52,192,128,192,192,2,54,70,64,160,0,224,192,224,2, - 53,69,160,0,224,192,224,2,54,70,64,32,0,224,192,224, - 2,52,68,160,0,64,64,2,53,149,64,160,0,64,64,2, - 37,53,128,64,0,64,64,2,69,85,144,96,144,240,144,2, - 70,86,96,144,96,144,240,144,2,70,86,32,64,240,224,128, - 240,2,83,99,120,176,248,2,132,148,31,46,120,143,2,54, - 70,64,160,0,224,160,224,2,53,69,160,0,224,160,224,2, - 54,70,128,64,0,224,160,224,2,54,70,64,160,0,160,160, - 224,2,54,70,64,32,0,160,160,224,1,54,70,160,0,160, - 224,32,96,2,69,85,144,96,144,144,96,2,69,85,144,0, - 144,144,240,2,0,64,2,0,64,2,0,64,2,0,64,2, - 0,64,2,54,70,64,128,0,96,160,224,2,37,53,64,128, - 0,128,128,2,54,70,32,64,0,224,160,224,2,54,70,32, - 64,0,160,160,224,2,70,70,80,160,0,192,160,160,2,70, - 86,80,160,144,208,176,144,2,21,37,128,128,0,128,128,1, - 54,70,224,128,224,224,32,224,6,65,81,144,1,119,151,124, - 130,186,162,186,130,124,2,0,144,2,51,67,96,192,96,3, - 50,66,224,32,2,0,144,1,119,151,124,130,186,178,170,130, - 124,6,65,81,240,4,51,67,224,160,224,2,52,148,64,224, - 64,224,4,51,67,192,64,96,4,35,51,192,64,192,5,34, - 50,64,128,1,52,148,160,160,224,128,1,101,117,124,244,116, - 20,20,19,17,49,128,2,0,144,4,35,51,192,64,64,4, - 51,67,224,160,224,2,51,67,192,96,192,1,118,134,196,72, - 80,40,78,132,1,118,134,196,72,80,44,68,134,1,118,150, - 196,72,208,40,78,132,2,0,64,2,70,86,64,32,96,144, - 240,144,2,70,86,32,64,96,144,240,144,2,70,86,96,144, - 96,144,240,144,2,70,86,80,160,96,144,240,144,2,69,85, - 144,96,144,240,144,2,70,86,96,0,96,144,240,144,2,132, - 148,31,46,120,143,1,69,85,240,128,240,32,96,2,70,86, - 64,32,240,224,128,240,2,70,86,32,64,240,224,128,240,2, - 70,86,96,144,240,224,128,240,2,70,86,144,0,240,224,128, - 240,2,38,54,128,64,128,128,128,128,2,38,54,64,128,64, - 64,64,64,2,54,70,64,160,64,64,64,64,2,53,69,160, - 64,64,64,64,2,84,100,112,232,72,112,2,70,86,80,160, - 0,144,208,176,2,70,86,64,32,96,144,144,96,2,70,86, - 32,64,96,144,144,96,2,70,86,96,144,96,144,144,96,2, - 70,86,80,160,96,144,144,96,2,69,85,144,96,144,144,96, - 2,51,67,160,64,160,1,102,118,4,56,88,104,112,128,2, - 70,86,64,32,144,144,144,240,2,70,86,32,64,144,144,144, - 240,2,70,86,96,144,0,144,144,240,2,69,85,144,0,144, - 144,240,2,70,86,32,64,144,240,16,240,1,70,86,128,224, - 144,144,224,128,1,53,69,192,192,160,192,128,2,54,70,64, - 32,0,96,160,224,2,54,70,64,128,0,96,160,224,2,54, - 70,64,160,0,96,160,224,2,70,70,80,160,0,96,160,224, - 2,53,69,160,0,96,160,224,2,54,70,64,160,64,96,160, - 224,2,83,99,120,176,248,1,36,52,192,128,192,192,2,54, - 70,64,32,0,224,192,224,2,54,70,64,128,0,224,192,224, - 2,54,70,64,160,0,224,192,224,2,53,69,160,0,224,192, - 224,2,37,53,128,64,0,64,64,2,37,53,64,128,0,128, - 128,2,53,69,64,160,0,64,64,2,52,68,160,0,64,64, - 2,70,86,96,96,16,112,144,96,2,70,70,80,160,0,192, - 160,160,2,54,70,64,32,0,224,160,224,2,54,70,64,128, - 0,224,160,224,2,54,70,64,160,0,224,160,224,2,70,70, - 80,160,0,224,160,224,2,53,69,160,0,224,160,224,2,53, - 69,64,0,224,0,64,1,85,101,8,112,80,112,128,2,54, - 70,64,32,0,160,160,224,2,54,70,64,128,0,160,160,224, - 2,54,70,64,160,0,160,160,224,2,53,69,160,0,160,160, - 224,1,55,71,64,128,0,160,224,32,96,1,53,69,128,192, - 160,192,128,1,54,150,160,0,160,224,32,96}; -/* - Fontname: u8glib_4 - Copyright: public domain - Capital A Height: 4, '1' Height: 4 - Calculated Max Values w= 5 h= 6 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w=10 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_SECTION(".progmem.u8g_font_u8glib_4r") = { - 1,10,6,0,255,4,0,233,1,198,32,127,255,5,255,5, - 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, - 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, - 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, - 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, - 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, - 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, - 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, - 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, - 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, - 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, - 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, - 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, - 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, - 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, - 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, - 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, - 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, - 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, - 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, - 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, - 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, - 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, - 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, - 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, - 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, - 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, - 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, - 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, - 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, - 2,51,67,224,192,224,2,52,68,32,64,224,64,1,52,68, - 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, - 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, - 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, - 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, - 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, - 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, - 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, - 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, - 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, - 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, - 2,69,85,240,144,144,144,240}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4239] U8G_SECTION(".progmem.u8g_font_unifont_0_8") = { - 0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,68,56,114,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,6,1,1,8,1,4,252,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,10,10,8,1,0,128,128, - 136,144,160,192,160,144,136,132,5,10,10,8,2,0,96,32, - 32,32,32,32,32,32,32,248,7,8,8,8,1,0,236,146, - 146,146,146,146,146,146,6,8,8,8,1,0,184,196,132,132, - 132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,132, - 132,120,6,10,10,8,1,254,184,196,132,132,132,132,196,184, - 128,128,6,10,10,8,1,254,116,140,132,132,132,132,140,116, - 4,4,6,8,8,8,1,0,184,196,132,128,128,128,128,128, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,10, - 10,8,1,0,32,32,248,32,32,32,32,32,32,24,6,8, - 8,8,1,0,132,132,132,132,132,132,140,116,6,8,8,8, - 1,0,132,132,132,72,72,72,48,48,7,8,8,8,1,0, - 130,146,146,146,146,146,146,108,6,8,8,8,1,0,132,132, - 72,48,48,72,132,132,6,10,10,8,1,254,132,132,132,132, - 132,76,52,4,4,120,6,8,8,8,1,0,252,4,8,16, - 32,64,128,252,3,12,12,8,3,255,96,128,128,64,64,128, - 128,64,64,128,128,96,1,14,14,8,4,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,3,12,12,8,2,255, - 192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8, - 1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,113,157,202,82,115, - 211,194,82,66,93,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,73,157,202,82,122,93,202,80,73,145,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,147,202,82,115,159,202,18,114, - 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,147,234, - 82,91,159,202,82,75,147,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,116,185,166,164,37,165,164,164,116,185,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,75,209,234,16,91,209,202, - 16,75,223,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 205,194,18,49,159,136,82,115,147,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,121,205,194,18,121,159,192,82,123,147,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,75,157,201,32,121, - 25,201,4,73,57,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,75,185,201,8,121,9,201,8,73,49,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,69,205,196,144,68,137,168,132,16, - 153,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,114,29,202, - 18,114,19,194,18,67,221,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,19,202,18,114,19,194,18,67,205,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,14,33,137,32,14,33,138, - 32,9,33,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 221,194,2,49,141,136,80,115,159,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,57,221,194,2,49,141,136,66,115,157,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,113,207,202,16,74, - 13,202,2,113,221,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,114,69,202,76,114,69,194,68,65,143,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,114,93,202,66,114,77,194,80,65, - 159,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,59,157,193, - 32,49,25,137,4,113,57,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,211,194,18,66,31,194,18,57,211,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,69,17,237,16,85,81,197, - 176,69,17,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, - 141,194,82,51,159,138,18,114,19,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,123,141,194,82,123,159,194,18,122,19,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,57,143,194,80,50, - 77,138,66,113,157,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,51,155,196,34,37,163,148,162,99,155,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,221,194,8,50,9,138,8,113, - 221,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,57,221,194, - 8,65,137,192,72,59,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,14,249,144,32,12,33,130,32,28,33,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,49,207,202,16,73,145,200, - 80,51,143,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, - 33,203,96,114,161,194,32,66,33,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,51,143,202,80,123,145,202,16,74,15,128, - 0,0,1,128,0,0,1,128,0,85,85,6,13,13,8,1, - 0,96,24,0,252,128,128,128,248,128,128,128,128,252,6,14, - 14,8,1,0,72,72,0,0,252,128,128,128,248,128,128,128, - 128,252,7,10,10,8,1,0,252,32,32,32,60,34,34,34, - 34,44,6,14,14,8,1,0,24,96,0,0,252,128,128,128, - 128,128,128,128,128,128,6,10,10,8,1,0,56,68,128,128, - 248,128,128,128,68,56,6,10,10,8,1,0,120,132,132,128, - 96,24,4,132,132,120,5,10,10,8,2,0,248,32,32,32, - 32,32,32,32,32,248,5,14,14,8,2,0,144,144,0,0, - 248,32,32,32,32,32,32,32,32,248,6,10,10,8,1,0, - 28,8,8,8,8,8,8,136,136,112,8,10,10,8,0,0, - 120,72,72,72,78,73,73,73,73,142,7,10,10,8,1,0, - 144,144,144,144,252,146,146,146,146,156,7,10,10,8,1,0, - 252,32,32,32,60,34,34,34,34,34,6,14,14,8,1,0, - 24,96,0,0,128,140,144,160,192,192,160,144,136,132,6,13, - 13,8,1,0,96,24,0,132,140,140,148,148,164,164,196,196, - 132,7,14,14,8,1,0,132,132,120,0,130,130,68,68,40, - 40,16,16,32,96,7,10,10,8,1,0,130,130,130,130,130, - 130,254,16,16,16,6,10,10,8,1,0,48,72,72,132,132, - 132,252,132,132,132,6,10,10,8,1,0,248,128,128,128,248, - 132,132,132,132,248,6,10,10,8,1,0,248,132,132,132,248, - 132,132,132,132,248,6,10,10,8,1,0,252,128,128,128,128, - 128,128,128,128,128,8,12,12,8,0,254,14,18,18,18,34, - 34,34,66,66,255,129,129,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,7,10,10,8,1,0,146,146,84, - 84,56,56,84,84,146,146,6,10,10,8,1,0,120,132,4, - 4,120,8,4,4,132,120,6,10,10,8,1,0,132,140,140, - 148,148,164,164,196,196,132,6,13,13,8,1,0,72,48,0, - 132,140,140,148,148,164,164,196,196,132,6,10,10,8,1,0, - 128,140,144,160,192,192,160,144,136,132,6,10,10,8,1,0, - 60,36,36,36,36,36,36,68,68,132,6,10,10,8,1,0, - 132,132,204,204,180,180,132,132,132,132,6,10,10,8,1,0, - 132,132,132,132,252,132,132,132,132,132,6,10,10,8,1,0, - 120,132,132,132,132,132,132,132,132,120,6,10,10,8,1,0, - 252,132,132,132,132,132,132,132,132,132,6,10,10,8,1,0, - 248,132,132,132,248,128,128,128,128,128,6,10,10,8,1,0, - 120,132,132,128,128,128,128,132,132,120,7,10,10,8,1,0, - 254,16,16,16,16,16,16,16,16,16,7,10,10,8,1,0, - 130,130,68,68,40,40,16,16,32,96,7,11,11,8,1,0, - 16,124,146,146,146,146,146,124,16,16,16,6,10,10,8,1, - 0,132,132,72,72,48,48,72,72,132,132,7,12,12,8,1, - 254,132,132,132,132,132,132,132,132,132,254,2,2,6,10,10, - 8,1,0,132,132,132,132,132,252,4,4,4,4,7,10,10, - 8,1,0,146,146,146,146,146,146,146,146,146,254,8,12,12, - 8,0,254,146,146,146,146,146,146,146,146,146,255,1,1,7, - 10,10,8,1,0,224,32,32,32,60,34,34,34,34,60,6, - 10,10,8,1,0,132,132,132,132,228,148,148,148,148,228,6, - 10,10,8,1,0,128,128,128,128,248,132,132,132,132,248,6, - 10,10,8,1,0,112,136,4,4,124,4,4,4,136,112,6, - 10,10,8,1,0,152,164,164,164,228,164,164,164,164,152,6, - 10,10,8,1,0,124,132,132,132,124,36,68,68,132,132,6, - 8,8,8,1,0,120,132,4,124,132,132,140,116,6,12,12, - 8,1,0,4,56,64,128,248,132,132,132,132,132,132,120,6, - 8,8,8,1,0,248,132,132,248,132,132,132,248,6,8,8, - 8,1,0,252,128,128,128,128,128,128,128,7,9,9,8,1, - 255,60,36,68,68,132,132,132,254,130,6,8,8,8,1,0, - 120,132,132,252,128,128,132,120,7,8,8,8,1,0,146,146, - 84,56,56,84,146,146,6,8,8,8,1,0,120,132,4,120, - 8,4,132,120,6,8,8,8,1,0,140,140,148,148,164,164, - 196,196,6,12,12,8,1,0,72,48,0,0,140,140,148,148, - 164,164,196,196,6,8,8,8,1,0,140,144,160,192,160,144, - 136,132,6,8,8,8,1,0,60,36,36,36,36,68,68,132, - 6,8,8,8,1,0,132,204,204,180,180,132,132,132,6,8, - 8,8,1,0,132,132,132,252,132,132,132,132,6,8,8,8, - 1,0,120,132,132,132,132,132,132,120,6,8,8,8,1,0, - 252,132,132,132,132,132,132,132,6,10,10,8,1,254,248,132, - 132,132,132,248,128,128,128,128,6,8,8,8,1,0,120,132, - 128,128,128,128,132,120,7,8,8,8,1,0,254,16,16,16, - 16,16,16,16,6,10,10,8,1,254,132,132,72,72,48,48, - 32,32,64,192,7,10,10,8,1,255,16,16,124,146,146,146, - 146,124,16,16,6,8,8,8,1,0,132,132,72,48,48,72, - 132,132,7,10,10,8,1,254,132,132,132,132,132,132,132,254, - 2,2,6,8,8,8,1,0,132,132,132,132,252,4,4,4, - 7,8,8,8,1,0,146,146,146,146,146,146,146,254,8,10, - 10,8,0,254,146,146,146,146,146,146,146,255,1,1,7,8, - 8,8,1,0,224,32,32,60,34,34,34,60,6,8,8,8, - 1,0,132,132,132,228,148,148,148,228,6,8,8,8,1,0, - 128,128,128,248,132,132,132,248,6,8,8,8,1,0,112,136, - 4,124,4,4,136,112,6,8,8,8,1,0,152,164,164,228, - 164,164,164,152,6,8,8,8,1,0,124,132,132,132,124,36, - 68,132,6,12,12,8,1,0,96,24,0,0,120,132,132,252, - 128,128,132,120,6,12,12,8,1,0,72,72,0,0,120,132, - 132,252,128,128,132,120,6,11,11,8,1,255,64,64,240,64, - 64,120,68,68,68,68,24,6,12,12,8,1,0,24,96,0, - 0,252,128,128,128,128,128,128,128,6,8,8,8,1,0,56, - 68,128,248,128,128,68,56,6,8,8,8,1,0,120,132,128, - 96,24,4,132,120,5,11,11,8,2,0,32,32,0,96,32, - 32,32,32,32,32,248,5,11,11,8,2,0,144,144,0,96, - 32,32,32,32,32,32,248,5,13,13,8,1,254,8,8,0, - 24,8,8,8,8,8,8,8,144,96,8,8,8,8,0,0, - 120,72,72,78,73,73,73,142,7,8,8,8,1,0,144,144, - 144,252,146,146,146,156,6,10,10,8,1,0,64,64,240,64, - 64,88,100,68,68,68,6,12,12,8,1,0,24,96,0,0, - 140,144,160,192,160,144,136,132,6,12,12,8,1,0,96,24, - 0,0,140,140,148,148,164,164,196,196,6,15,15,8,1,254, - 132,132,120,0,0,132,132,72,72,48,48,32,32,64,192,5, - 10,10,8,2,254,136,136,136,136,136,136,248,32,32,32}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 8, '1' Height: 7 - Calculated Max Values w=16 h=16 x= 9 y=11 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 2 - X Font ascent =13 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3934] U8G_SECTION(".progmem.u8g_font_unifont_12_13") = { - 0,16,16,0,254,8,4,93,5,214,0,255,2,14,254,13, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,85,85,128, - 0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128, - 4,42,13,170,12,53,245,128,0,0,1,170,170,16,16,32, - 16,0,254,85,85,128,0,0,1,128,0,0,1,128,0,0, - 1,128,0,0,1,142,0,14,25,135,224,0,1,128,0,0, - 1,170,170,16,16,32,16,0,254,85,85,128,0,0,1,128, - 0,0,1,128,0,0,25,128,36,0,69,129,68,1,73,158, - 240,0,1,128,0,0,1,170,170,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,12,14,28,16,1,255,1,80,225,80,33,160,17,0,17, - 0,9,0,8,0,4,224,4,128,2,128,3,0,3,0,2, - 0,2,0,11,15,30,16,1,255,0,64,0,128,225,0,33, - 64,16,128,17,32,8,192,8,0,4,224,4,128,2,128,3, - 0,3,0,2,0,2,0,12,7,14,16,2,3,1,144,58, - 96,202,192,17,64,16,64,32,128,31,0,5,10,10,8,1, - 1,8,8,80,16,32,32,64,64,136,160,7,10,10,8,1, - 1,8,8,80,16,32,32,64,66,136,160,10,10,20,16,3, - 2,48,0,48,0,6,0,9,0,7,0,1,0,14,0,240, - 128,0,64,0,64,2,4,4,8,3,3,64,128,192,192,5, - 4,4,8,1,2,24,48,64,128,12,4,8,16,3,1,112, - 0,136,0,136,48,127,192,7,11,11,16,2,0,24,32,32, - 24,32,76,82,98,36,88,128,6,4,4,8,2,9,24,36, - 228,88,9,6,12,16,4,7,3,0,4,0,39,128,56,0, - 64,0,128,0,10,5,10,16,3,8,252,64,16,64,32,128, - 71,0,64,0,11,4,8,16,2,9,24,32,36,32,228,64, - 89,128,10,4,8,16,3,8,0,64,254,64,1,64,0,128, - 7,4,4,16,4,9,64,92,98,252,8,6,6,16,3,8, - 40,40,40,104,128,127,3,5,5,16,6,8,32,0,32,32, - 192,4,2,2,16,6,10,48,192,5,5,5,16,5,8,16, - 40,48,96,144,4,13,13,16,6,254,240,0,0,0,0,0, - 0,0,0,0,0,48,192,2,5,5,8,3,2,64,128,192, - 0,192,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,3,3,3,16,7,0, - 64,0,160,7,9,9,8,1,2,124,130,128,64,32,16,16, - 0,16,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,4,5,5,8,2,2,112,128,240,64, - 128,7,10,10,8,1,3,2,124,128,16,16,16,16,16,16, - 16,3,11,11,8,2,3,96,128,96,128,32,32,32,32,32, - 32,32,6,13,13,8,1,255,24,32,24,32,0,24,36,36, - 60,4,8,144,96,3,12,12,8,3,254,64,64,64,64,64, - 64,64,0,96,128,96,128,6,11,11,8,1,255,48,64,48, - 64,0,140,144,144,140,132,120,1,8,8,8,4,3,128,128, - 128,128,128,128,128,128,6,7,7,8,1,0,8,68,132,120, - 0,0,16,5,8,8,8,2,3,144,0,0,96,144,136,136, - 112,6,7,7,8,1,3,40,0,0,8,68,132,120,6,9, - 9,8,1,3,32,0,80,0,0,8,68,132,120,6,8,8, - 8,1,254,252,32,64,128,144,128,68,56,6,8,8,8,1, - 254,252,32,64,128,128,128,68,56,6,11,11,8,1,254,32, - 0,0,252,32,64,128,128,128,68,56,6,5,5,8,1,3, - 16,8,4,132,248,6,7,7,8,1,3,64,0,16,8,4, - 132,248,6,7,7,8,1,255,8,4,4,4,8,144,96,6, - 10,10,8,1,255,32,0,0,8,4,4,4,8,144,96,7, - 7,7,8,1,255,2,42,42,188,144,144,96,7,12,12,8, - 1,255,16,0,36,0,0,2,42,42,188,144,144,96,7,6, - 6,8,1,0,12,50,156,144,144,96,7,9,9,8,1,0, - 8,0,0,12,50,156,144,144,96,6,8,8,8,1,3,64, - 64,64,64,88,100,68,248,6,8,8,8,1,3,64,72,64, - 64,88,100,68,248,6,9,9,8,1,254,48,72,64,56,64, - 128,128,132,120,6,12,12,8,1,254,16,0,0,48,72,64, - 56,64,128,128,132,120,7,9,9,8,0,3,80,4,8,16, - 32,64,60,130,126,7,12,12,8,0,255,4,8,16,32,64, - 60,130,126,0,40,0,16,6,10,10,8,1,255,64,160,160, - 8,148,144,136,132,132,120,6,9,9,8,1,255,160,0,8, - 148,144,136,132,132,120,6,10,10,8,1,255,64,0,160,8, - 148,144,136,132,132,120,8,1,1,8,0,3,255,6,8,8, - 8,1,3,16,0,12,20,12,132,132,120,6,10,10,8,1, - 0,72,0,0,56,36,20,76,132,136,112,6,8,8,8,1, - 3,4,20,36,20,68,132,132,120,6,11,11,8,1,0,4, - 4,4,4,4,4,68,132,132,136,120,5,8,8,8,2,254, - 112,24,120,128,128,128,128,128,6,9,9,8,1,0,32,0, - 0,8,68,132,132,136,112,10,9,18,16,1,1,4,0,3, - 0,6,128,10,64,10,64,6,64,25,128,96,0,128,0,6, - 8,8,8,1,255,24,36,36,60,4,8,144,96,6,7,7, - 8,1,255,8,148,144,136,132,132,120,6,8,8,8,1,254, - 8,148,144,136,132,120,0,80,4,4,4,8,2,9,48,192, - 48,192,5,5,5,8,2,8,24,24,200,80,224,4,4,4, - 8,2,0,32,192,48,192,4,2,2,8,2,9,48,192,4, - 6,6,8,2,6,64,160,160,112,64,128,4,2,2,8,2, - 254,48,192,5,4,4,8,1,7,8,40,176,192,4,4,4, - 8,2,7,96,144,144,96,7,3,3,8,1,9,2,124,128, - 3,4,4,8,2,10,96,128,96,128,3,4,4,8,2,254, - 96,128,96,128,2,3,3,16,9,254,128,64,64,5,5,5, - 16,5,9,8,16,32,224,96,4,3,3,16,6,9,144,144, - 96,4,1,1,16,6,10,240,5,4,4,16,5,9,136,80, - 32,32,5,4,4,16,5,9,32,32,80,136,2,2,2,16, - 7,0,192,192,5,5,5,16,5,9,96,224,32,16,8,4, - 4,4,16,6,9,144,96,96,144,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,3,3,3, - 8,2,5,64,224,64,4,9,9,8,2,2,128,128,64,64, - 32,32,16,16,16,5,9,9,8,2,2,136,144,96,64,32, - 32,16,16,16,7,9,9,8,1,2,146,164,120,64,32,32, - 16,16,16,6,9,9,8,1,2,8,16,32,64,48,64,128, - 132,120,6,9,9,8,1,2,48,72,72,132,132,132,132,72, - 48,7,9,9,8,1,2,128,120,8,8,4,4,4,2,2, - 7,9,9,8,1,2,130,130,68,68,40,40,16,16,16,7, - 9,9,8,1,2,16,16,16,40,40,68,68,130,130,7,9, - 9,8,1,2,48,72,136,152,104,4,4,2,2,5,10,10, - 8,1,2,8,8,144,144,32,32,72,72,128,128,2,4,4, - 8,3,1,192,192,64,128,2,4,4,8,3,7,192,192,64, - 128,7,6,6,8,1,3,16,16,254,56,108,68,6,4,4, - 8,1,3,8,68,132,120,8,7,7,16,1,3,6,9,9, - 7,65,130,124,1,4,4,8,4,7,128,128,128,128,5,11, - 11,8,2,3,16,40,120,128,32,32,32,32,32,32,32,6, - 11,11,8,1,3,12,16,76,176,0,16,16,16,16,16,16, - 6,12,12,8,1,254,16,16,16,16,16,16,16,0,12,16, - 76,176,3,4,4,8,2,10,96,128,96,128,5,11,11,8, - 2,3,24,32,24,32,128,128,128,128,128,128,128,7,13,13, - 8,1,255,6,8,6,8,0,24,36,36,60,4,8,144,96, - 7,13,13,8,1,255,102,104,38,72,128,24,36,36,60,4, - 8,144,96,7,11,11,8,1,255,6,8,6,8,0,140,144, - 144,140,132,120,6,9,9,8,1,3,64,64,112,112,0,8, - 68,132,120,6,9,9,8,1,3,32,0,32,0,0,8,68, - 132,120,6,8,8,8,1,255,8,68,132,120,0,16,0,16, - 6,10,10,8,1,0,40,0,0,8,68,132,120,16,40,16, - 6,9,9,8,1,3,80,0,32,0,0,8,68,132,120,6, - 8,8,8,1,255,8,68,132,120,0,40,0,16,6,9,9, - 8,1,3,80,0,80,0,0,8,68,132,120,6,8,8,8, - 1,255,8,68,132,120,0,40,0,40,6,13,13,8,1,254, - 48,64,48,64,0,252,32,64,128,128,128,68,56,6,13,13, - 8,1,254,32,0,32,0,0,252,32,64,128,128,128,68,56, - 6,8,8,8,1,254,252,32,64,128,168,128,68,56,6,8, - 8,8,1,254,252,32,64,144,128,144,68,56,6,13,13,8, - 1,254,32,0,72,0,0,252,32,64,128,128,128,68,56,6, - 8,8,8,1,254,252,64,128,168,128,144,68,56,6,8,8, - 8,1,254,252,64,128,168,128,168,68,56,6,10,10,8,1, - 3,64,64,112,112,0,16,8,4,132,248,6,8,8,8,1, - 0,16,8,4,132,248,16,40,16,6,7,7,8,1,1,16, - 8,4,132,248,0,16,6,12,12,8,1,1,64,64,112,112, - 0,16,8,4,132,248,0,16,6,8,8,8,1,3,80,0, - 0,16,8,4,132,248,6,7,7,8,1,1,16,8,4,132, - 248,0,80,6,9,9,8,1,3,32,0,80,0,16,8,4, - 132,248,6,9,9,8,1,3,80,0,32,0,16,8,4,132, - 248,6,9,9,8,1,3,80,0,80,0,16,8,4,132,248, - 6,13,13,8,1,255,16,16,28,28,0,0,8,4,4,4, - 8,144,96,7,13,13,8,1,255,34,20,8,8,0,0,8, - 4,4,4,8,144,96,6,8,8,8,1,254,8,4,4,4, - 8,152,116,8,6,7,7,8,1,255,8,4,4,4,8,144, - 100,7,8,8,8,1,254,16,8,8,8,16,144,106,4,6, - 7,7,8,1,255,8,4,4,36,8,144,100,6,10,10,8, - 1,255,36,0,0,8,4,4,4,8,144,96,6,12,12,8, - 1,255,16,0,40,0,0,8,4,4,4,8,144,96,6,12, - 12,8,1,255,36,0,36,0,0,8,4,4,4,8,144,96, - 7,10,10,8,1,0,8,0,0,2,42,42,188,144,148,96, - 7,8,8,8,1,255,2,42,42,188,160,170,64,4,7,13, - 13,8,1,255,16,0,36,0,0,2,42,42,188,160,170,64, - 4,7,6,6,8,1,0,12,50,156,160,170,64,7,11,11, - 8,1,0,16,0,36,0,0,12,50,156,144,144,96,6,8, - 8,8,1,3,72,64,84,64,88,100,68,248,6,14,14,8, - 1,254,32,0,72,0,0,48,72,64,56,64,128,128,132,120, - 6,6,6,8,1,3,12,20,12,132,132,120,6,8,8,8, - 1,1,12,20,12,132,132,120,0,16,6,11,11,8,1,1, - 8,0,0,12,20,12,132,132,120,0,16,6,10,10,8,1, - 3,16,0,36,0,12,20,12,132,132,120,6,10,10,8,1, - 255,12,20,12,132,132,120,0,72,0,32,6,10,10,8,1, - 3,20,0,20,0,12,20,12,132,132,120,6,10,10,8,1, - 0,8,0,0,56,36,20,76,132,136,112,6,12,12,8,1, - 0,32,0,72,0,0,56,36,20,76,132,136,112,7,8,8, - 8,0,3,4,8,16,32,64,60,130,126,14,8,16,16,1, - 3,0,48,0,192,3,0,12,0,16,0,15,248,128,4,127, - 248,7,8,8,8,0,3,4,12,26,36,64,60,130,126,6, - 10,10,8,1,3,16,0,4,20,36,20,68,132,132,120,6, - 11,11,8,1,3,32,0,80,4,20,36,20,68,132,132,120, - 6,12,12,8,1,255,4,20,36,20,68,132,132,120,0,40, - 0,16,7,10,10,8,0,3,8,16,36,72,16,32,64,60, - 130,126,7,10,10,8,0,3,8,16,36,76,26,36,64,60, - 130,126,7,10,10,8,0,3,80,6,24,98,12,48,64,60, - 130,126,7,12,12,8,0,1,8,16,36,72,16,32,64,60, - 130,126,0,40,7,14,14,8,0,255,8,16,36,72,16,32, - 64,60,130,126,0,16,0,16,7,11,11,8,0,3,64,0, - 166,24,98,12,48,64,60,130,126,7,14,14,8,1,0,34, - 20,8,8,0,4,4,4,4,68,132,132,136,120,6,13,13, - 8,1,0,4,0,4,4,4,4,4,4,68,132,132,136,120, - 7,14,14,8,1,0,8,0,18,0,4,4,4,4,4,68, - 132,132,136,120,6,13,13,8,1,254,4,4,4,4,4,4, - 68,132,120,0,40,0,16,6,11,11,8,1,254,16,0,0, - 8,68,132,132,136,112,0,16,6,6,6,8,1,0,8,68, - 132,132,136,112,6,12,12,8,1,0,32,32,56,56,0,0, - 8,68,132,132,136,112,6,11,11,8,1,254,16,0,0,8, - 68,132,132,136,120,20,8,6,11,11,8,1,0,32,0,72, - 0,0,8,68,132,132,136,112,6,6,6,8,1,2,32,88, - 84,52,72,128,6,11,11,8,1,254,32,0,0,252,64,128, - 168,128,144,68,56,4,10,10,8,2,3,96,128,96,128,0, - 64,96,144,144,240,6,3,3,8,1,2,32,92,128,6,8, - 8,8,1,2,48,64,48,64,0,32,92,128,6,6,6,8, - 1,2,80,0,0,32,92,128,6,8,8,8,1,255,24,36, - 36,28,68,164,72,240,6,8,8,8,1,255,24,36,36,60, - 4,56,144,96,6,13,13,8,1,255,68,40,16,16,0,24, - 36,36,60,4,8,144,96,6,14,14,8,1,255,32,80,80, - 56,32,64,152,36,36,60,4,8,144,96,6,12,12,8,1, - 255,16,8,8,0,24,36,36,60,4,8,144,96,6,12,12, - 8,1,255,16,40,68,0,24,36,36,60,4,8,144,96,6, - 11,11,8,1,255,40,0,0,24,36,36,60,4,8,144,96, - 6,13,13,8,1,255,16,0,36,0,0,24,36,36,60,4, - 8,144,96,6,7,7,8,1,255,8,148,144,136,132,132,120, - 7,7,7,8,0,255,4,42,104,164,34,34,28,6,12,12, - 8,1,255,136,80,32,32,0,8,148,144,136,132,132,120,6, - 11,11,8,1,255,16,0,0,24,36,36,60,4,8,144,96, - 6,9,9,8,1,254,24,164,144,136,112,0,32,0,32,6, - 9,9,8,1,254,24,164,144,136,112,0,80,0,32,7,6, - 6,8,1,255,16,40,32,64,128,254,7,10,10,8,1,255, - 96,128,96,128,16,40,32,64,128,254,4,1,1,8,2,3, - 240,4,5,5,8,2,3,64,96,144,144,240,11,5,10,16, - 3,9,16,64,18,224,127,224,128,0,254,0,10,5,10,16, - 3,9,18,64,17,0,127,0,128,0,254,0,6,4,4,16, - 5,9,8,20,60,192,5,5,5,16,4,9,136,72,48,16, - 48,8,5,5,16,3,9,252,32,72,33,30,3,3,3,16, - 4,8,160,0,128,9,4,8,16,4,9,18,128,159,128,144, - 0,96,0,16,16,32,16,0,254,85,85,128,0,1,193,134, - 48,11,233,140,24,16,5,144,4,16,5,140,24,11,233,134, - 48,1,193,128,0,0,1,170,170,15,15,30,16,1,254,1, - 0,2,128,63,248,40,40,48,24,35,136,100,76,164,74,100, - 76,35,136,48,24,40,40,63,248,2,128,1,0,3,4,4, - 16,6,9,96,160,160,96,4,5,5,16,6,9,96,144,144, - 144,96,6,3,3,16,5,10,252,48,64,3,5,5,16,6, - 9,96,224,128,128,64,9,4,8,16,4,254,18,128,159,128, - 144,0,96,0,6,2,2,16,5,10,12,240,5,4,4,8, - 2,9,24,24,16,224,7,4,4,8,1,9,32,64,128,254, - 7,4,4,16,3,9,32,64,128,254,6,4,4,16,5,9, - 16,132,132,124,15,15,30,16,1,254,1,0,2,128,5,64, - 10,160,21,80,42,168,84,84,42,168,42,168,42,168,43,168, - 40,40,47,232,96,12,255,254,5,5,5,16,5,9,32,80, - 136,80,32,5,5,5,16,5,254,32,80,136,80,32,2,2, - 2,16,7,11,192,192,2,4,4,16,7,254,192,128,128,64, - 6,9,9,8,1,3,16,40,68,0,16,8,4,132,248,7, - 11,11,8,1,255,8,20,34,0,8,4,4,4,8,144,96, - 3,3,3,8,2,5,64,224,64,4,9,9,8,2,2,128, - 128,64,64,32,32,16,16,16,5,9,9,8,2,2,136,144, - 96,64,32,32,16,16,16,7,9,9,8,1,2,146,164,120, - 64,32,32,16,16,16,6,9,9,8,1,2,48,72,192,228, - 88,64,32,32,32,7,9,9,8,1,1,16,16,40,40,68, - 68,146,170,198,6,8,8,8,1,2,56,68,64,64,48,12, - 48,192,7,9,9,8,1,2,130,130,68,68,40,40,16,16, - 16,7,9,9,8,1,2,16,16,16,40,40,68,68,130,130, - 7,9,9,8,1,2,48,72,136,152,104,4,4,2,2,7, - 12,12,8,1,0,16,0,36,0,0,2,42,42,188,144,148, - 96,7,9,9,8,1,0,8,0,0,12,50,156,144,148,96, - 6,12,12,8,1,254,16,0,0,48,72,64,56,64,144,128, - 132,120,4,10,10,8,2,254,112,128,240,64,128,0,80,80, - 80,80,6,8,8,8,1,254,56,12,124,128,148,148,148,148, - 10,12,24,16,1,1,4,0,10,0,17,0,4,0,3,0, - 6,128,10,64,10,64,6,64,25,128,96,0,128,0}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 3, '1' Height: 12 - Calculated Max Values w=16 h=16 x=12 y=11 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent=-2 - X Font ascent =12 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[6498] U8G_SECTION(".progmem.u8g_font_unifont_18_19") = { - 0,16,16,0,254,3,7,129,10,5,0,255,254,14,254,12, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,8,4,4,16,4,9,152,91,35, - 28,2,2,2,16,7,11,192,192,2,5,5,16,12,3,192, - 192,0,192,192,14,15,30,16,2,255,32,0,31,0,0,128, - 57,252,68,192,4,192,12,192,56,192,8,192,135,192,134,192, - 78,192,60,192,0,192,0,64,15,12,24,16,1,255,57,254, - 68,192,4,192,12,192,56,192,8,192,135,192,134,192,78,192, - 60,192,0,192,0,64,15,12,24,16,1,255,57,254,68,204, - 4,204,12,204,56,204,8,204,135,204,134,204,78,204,60,204, - 0,204,0,68,16,13,26,16,0,254,255,255,0,192,0,192, - 15,192,24,0,24,0,15,224,0,48,3,48,5,176,7,224, - 0,64,0,32,16,16,32,16,0,254,3,192,6,32,1,0, - 255,255,0,192,0,192,15,192,24,0,24,0,15,224,0,48, - 3,48,5,176,7,224,0,64,0,32,16,12,24,16,0,255, - 255,255,1,128,0,192,0,192,1,192,15,128,65,128,64,192, - 32,192,16,192,9,192,7,128,16,12,24,16,0,255,255,255, - 1,128,0,192,0,192,1,192,15,156,65,178,64,226,32,194, - 16,198,9,196,7,128,16,13,26,16,0,254,255,255,1,128, - 57,128,101,152,3,152,7,248,31,136,57,136,33,156,1,184, - 1,160,0,160,0,30,16,12,24,16,0,255,255,255,0,32, - 0,32,56,32,116,248,99,204,99,12,48,12,16,120,12,192, - 2,128,0,124,16,16,32,16,0,254,0,152,0,112,0,0, - 255,255,12,48,12,48,12,48,12,48,12,96,4,0,2,0, - 1,128,0,96,0,16,0,24,0,24,16,16,32,16,0,254, - 16,0,15,224,0,16,255,255,12,48,12,48,12,48,12,48, - 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, - 16,13,26,16,0,254,255,255,12,48,12,48,12,48,12,48, - 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, - 16,16,32,16,0,254,15,0,0,128,0,64,255,255,12,48, - 12,48,12,48,12,48,12,96,4,0,2,0,1,128,0,96, - 0,16,0,24,0,24,15,15,30,16,1,255,0,76,0,60, - 0,0,57,254,68,204,4,204,12,204,56,204,8,204,135,204, - 134,204,78,204,60,204,0,204,0,68,15,15,30,16,1,255, - 2,0,1,240,0,8,57,254,68,204,4,204,12,204,56,204, - 8,204,135,204,134,204,78,204,60,204,0,204,0,68,15,15, - 30,16,1,255,1,192,0,32,0,16,57,254,68,204,4,204, - 12,204,56,204,8,204,135,204,134,204,78,204,60,204,0,204, - 0,68,15,15,30,16,1,255,0,224,1,208,0,40,57,254, - 68,204,4,204,12,204,56,204,8,204,135,204,134,204,78,204, - 60,204,0,204,0,68,16,12,24,16,0,255,255,255,1,128, - 1,128,29,128,51,224,35,144,39,152,29,152,1,152,1,152, - 1,128,0,128,16,12,24,16,0,255,255,255,8,24,8,24, - 9,216,59,56,58,24,18,56,17,216,8,24,6,24,1,152, - 0,8,16,12,24,16,0,255,255,255,1,152,1,152,1,152, - 1,152,7,152,3,152,1,152,0,152,0,24,0,24,0,8, - 16,12,24,16,0,255,255,255,12,24,12,24,7,216,2,24, - 4,24,4,56,4,120,3,216,0,24,0,24,0,8,16,11, - 22,16,0,0,255,255,0,96,0,96,15,224,24,0,24,4, - 15,206,0,100,16,96,8,96,7,192,16,12,24,16,0,255, - 255,255,0,24,0,24,0,24,31,248,3,24,6,56,6,120, - 3,216,0,24,0,24,0,8,16,13,26,16,0,254,255,255, - 0,16,0,16,60,120,112,228,96,196,32,68,31,44,12,24, - 24,56,24,100,7,134,0,6,16,12,24,16,0,255,255,255, - 0,24,0,24,0,24,3,248,17,152,8,216,8,216,7,152, - 0,24,0,24,0,8,16,12,24,16,0,255,255,255,3,24, - 3,24,31,24,48,24,48,24,31,248,1,24,13,24,22,24, - 29,24,0,136,16,12,24,16,0,255,255,255,0,24,0,24, - 7,24,5,152,33,184,33,248,33,216,19,152,15,24,0,24, - 0,8,16,11,22,16,0,0,255,255,0,192,0,192,0,192, - 7,192,12,0,24,0,24,0,24,0,12,16,7,224,16,12, - 24,16,0,255,255,255,1,128,1,128,1,128,3,128,7,96, - 12,16,8,24,8,24,8,56,4,112,3,224,16,11,22,16, - 0,0,255,255,0,24,0,24,3,248,6,0,6,0,3,240, - 0,24,4,24,2,24,1,240,16,12,24,16,0,255,255,255, - 0,96,0,96,7,224,12,0,24,0,24,192,25,160,9,16, - 5,16,3,48,1,224,16,12,24,16,0,255,255,255,25,152, - 25,152,25,152,25,152,25,152,9,152,7,24,0,24,0,24, - 0,24,0,8,16,12,24,16,0,255,255,255,0,24,0,24, - 0,24,7,248,14,24,12,24,12,24,6,24,2,24,1,24, - 0,136,13,12,24,16,3,255,227,248,216,192,204,192,76,192, - 28,192,120,192,97,192,35,192,30,192,0,192,0,192,0,64, - 16,12,24,16,0,255,255,255,0,24,0,24,0,24,1,248, - 2,0,6,0,6,24,2,40,1,240,0,8,0,4,13,12, - 24,16,3,255,115,248,200,192,192,192,192,192,96,192,28,192, - 48,192,96,192,97,192,99,192,30,192,0,64,16,12,24,16, - 0,255,255,255,0,24,0,24,0,24,7,248,6,24,6,24, - 2,24,0,24,0,24,0,24,0,8,16,12,24,16,0,255, - 255,255,0,24,0,24,0,24,7,248,6,24,6,24,2,24, - 0,24,1,24,3,152,1,8,16,12,24,16,0,255,255,255, - 6,24,6,24,6,24,6,24,6,24,2,56,1,216,0,24, - 0,24,0,24,0,8,16,12,24,16,0,255,255,255,49,128, - 49,128,49,128,49,240,49,200,19,132,15,132,1,132,1,140, - 1,140,0,128,16,12,24,16,0,255,255,255,0,24,0,24, - 7,216,14,120,13,24,12,152,12,120,7,248,0,24,0,24, - 0,8,14,12,24,16,2,255,227,252,216,96,200,96,76,96, - 60,96,12,96,31,224,28,96,12,96,0,96,0,96,0,32, - 16,12,24,16,0,255,255,255,6,24,6,24,6,24,6,24, - 6,24,15,248,6,24,2,24,0,24,0,24,0,8,16,12, - 24,16,0,255,255,255,3,24,3,24,3,24,3,24,6,24, - 4,56,4,120,3,216,0,24,0,24,0,8,16,12,24,16, - 0,255,255,255,0,192,0,192,0,192,3,192,3,128,3,128, - 1,0,0,128,0,64,0,32,0,24,16,12,24,16,0,255, - 255,255,0,192,0,192,0,192,3,192,3,128,3,128,1,0, - 0,128,4,64,14,32,4,24,16,12,24,16,0,255,255,255, - 0,24,0,24,28,56,58,248,49,216,49,152,24,24,8,24, - 4,24,3,24,0,8,16,11,22,16,0,0,255,255,0,48, - 0,48,0,112,14,200,25,140,49,140,49,140,49,152,19,112, - 14,0,16,13,26,16,0,254,255,255,0,48,0,48,0,112, - 14,200,25,140,49,140,49,140,49,152,19,112,14,0,0,192, - 0,192,16,12,24,16,0,255,255,255,0,24,0,24,3,216, - 15,56,12,24,12,56,4,120,3,216,0,24,0,24,0,8, - 16,12,24,16,0,255,255,255,6,24,6,24,31,24,1,152, - 1,152,25,152,21,24,30,24,2,24,1,24,0,136,16,12, - 24,16,0,255,255,255,12,24,14,24,13,24,12,152,12,88, - 12,56,6,56,1,216,0,24,0,24,0,8,16,12,24,16, - 0,255,255,255,3,24,3,24,3,24,11,24,15,24,14,248, - 4,24,4,24,2,24,1,24,0,136,16,12,24,16,0,255, - 255,255,0,24,0,24,7,248,12,0,12,0,6,240,1,152, - 3,16,3,0,1,128,0,252,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 2,2,2,16,7,255,192,192,9,11,22,16,7,0,63,128, - 64,0,64,0,96,0,48,0,24,0,8,0,12,0,12,0, - 156,0,120,0,6,13,13,16,10,254,252,48,48,48,48,48, - 48,48,48,48,48,48,16,8,14,14,16,0,0,60,98,49, - 252,48,48,48,48,48,48,48,48,48,16,9,16,32,16,7, - 254,120,0,132,0,132,0,31,128,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,2, - 0,6,3,3,16,4,255,152,68,56,6,3,3,16,6,255, - 112,136,100,4,3,3,16,6,255,96,128,112,3,5,5,16, - 6,255,96,128,96,128,96,5,3,3,16,5,10,136,72,48, - 5,3,3,16,4,10,128,112,8,5,3,3,16,4,10,224, - 16,8,6,4,4,16,3,9,112,8,228,28,6,16,16,16, - 10,254,136,120,0,252,48,48,48,48,48,48,48,48,48,48, - 48,16,8,16,16,16,8,254,128,120,4,63,12,12,12,12, - 12,12,12,12,12,12,12,4,8,16,16,16,8,254,240,8, - 4,63,12,12,12,12,12,12,12,12,12,12,12,4,9,16, - 32,16,7,254,120,0,244,0,10,0,31,128,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,2,0,5,3,3,16,6,255,224,16,8,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,14,14,28,16,1,0,0,96,0,96,0, - 0,113,8,248,240,4,0,4,24,24,60,48,36,8,36,132, - 124,135,216,121,128,48,0,1,3,3,16,8,10,128,128,128, - 4,1,1,16,6,0,240,3,3,3,16,6,10,128,64,32, - 3,3,3,16,7,10,32,64,128,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,16,13,26,16,0,254,255,255,0,192,0, - 192,14,192,25,248,17,200,19,204,14,204,0,204,0,204,4, - 192,14,64,4,0,16,13,26,16,0,254,255,255,8,24,8, - 24,9,216,59,56,58,24,18,56,17,216,8,24,4,24,0, - 152,1,200,0,128,16,13,26,16,0,254,255,255,1,152,1, - 152,1,152,1,152,7,152,3,152,1,152,0,152,0,24,0, - 152,1,200,0,128,16,13,26,16,0,254,255,255,0,24,0, - 24,0,24,3,248,17,152,8,216,8,216,7,152,0,24,0, - 152,1,200,0,128,16,13,26,16,0,254,255,255,0,24,0, - 24,3,248,6,0,6,0,3,240,0,24,4,24,3,240,0, - 0,0,192,0,192,16,13,26,16,0,254,255,255,0,96,0, - 96,7,224,12,0,24,224,25,144,25,16,13,48,7,224,0, - 0,1,128,1,128,16,13,26,16,0,254,255,255,49,128,49, - 128,49,128,49,240,49,200,19,132,15,132,1,132,1,140,9, - 140,28,128,8,0,16,13,26,16,0,254,255,255,3,24,3, - 24,3,24,3,24,6,24,4,56,4,120,3,216,0,24,1, - 24,3,136,1,0,16,13,26,16,0,254,255,255,3,0,3, - 0,51,24,75,40,7,240,15,24,51,8,67,24,3,48,3, - 28,1,16,0,14,16,13,26,16,0,254,255,255,0,32,0, - 32,30,112,49,152,49,152,16,48,8,96,4,192,0,60,0, - 192,0,192,0,60,8,5,5,16,4,255,72,146,130,68,3, - 8,6,6,16,4,254,72,146,132,67,4,3,2,12,12,16, - 7,255,128,192,192,192,192,192,192,192,192,192,192,64,5,12, - 12,16,6,255,144,216,216,216,216,216,216,216,216,216,216,72, - 8,7,7,16,4,2,60,78,199,195,227,114,60,6,13,13, - 16,5,254,112,232,204,204,76,60,24,48,96,32,16,8,4, - 9,13,26,16,4,254,252,0,226,0,1,0,1,0,1,0, - 3,0,54,0,44,0,56,0,4,0,2,0,1,0,0,128, - 8,13,13,16,4,254,252,226,2,2,60,2,1,51,46,60, - 4,2,1,12,12,24,16,2,255,128,16,64,48,32,96,16, - 192,9,128,7,0,6,0,13,0,9,128,9,128,9,128,7, - 0,8,13,13,16,4,254,192,195,195,67,62,12,12,104,88, - 120,4,2,1,8,13,13,16,4,254,60,192,128,192,124,16, - 32,35,51,15,4,4,2,11,11,22,16,3,0,128,0,135, - 0,142,192,140,64,68,96,67,224,64,32,32,32,32,64,24, - 192,7,0,10,10,20,16,3,1,255,192,32,0,64,0,128, - 0,128,0,131,0,135,128,124,128,56,128,0,128,8,12,12, - 16,4,255,56,100,98,97,32,56,72,192,192,192,32,31,5, - 4,4,16,6,3,112,136,136,112,2,2,2,16,8,6,192, - 192,15,15,30,16,1,255,2,0,1,32,0,192,57,254,68, - 192,4,192,12,192,56,192,8,192,135,192,134,192,78,192,60, - 192,0,192,0,64,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,16,12,24,16,0,255,255,255,1,152,1, - 152,1,152,1,152,7,152,3,152,1,152,0,152,0,24,0, - 24,15,248,16,12,24,16,0,255,255,255,0,24,0,24,0, - 24,3,248,17,152,8,216,8,216,7,152,0,24,0,24,31, - 248,8,13,13,16,4,254,124,226,193,1,1,3,62,60,48, - 48,48,48,16,16,13,26,16,0,254,255,255,0,24,0,24, - 3,248,6,0,6,0,3,240,0,24,4,24,2,24,1,240, - 0,0,15,254,16,12,24,16,0,255,255,255,0,24,0,24, - 7,216,14,120,13,24,12,152,12,120,7,248,0,24,0,24, - 15,248,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,4,4,16,5,9,48,180,132,120, - 5,8,8,16,11,0,96,144,96,0,192,96,48,8,4,7, - 7,16,11,1,96,144,96,0,96,144,96,6,14,14,8,1, - 255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,16, - 12,24,16,0,255,255,255,0,12,64,12,67,140,71,204,71, - 236,99,44,32,108,48,124,24,220,15,140,0,4,16,13,26, - 16,0,255,0,6,255,247,0,110,64,102,70,102,79,102,79, - 102,69,102,65,102,97,102,51,230,30,102,0,34,16,15,30, - 16,0,255,32,0,31,192,0,32,255,255,0,0,15,192,24, - 96,60,48,60,48,24,48,0,96,63,192,7,0,1,192,0, - 124,16,15,30,16,0,255,32,0,31,240,0,8,255,255,30, - 0,63,12,59,30,25,56,1,248,1,240,3,144,79,16,60, - 16,16,24,0,14,16,15,30,16,0,255,16,0,15,224,0, - 16,255,255,3,0,3,0,67,0,67,16,67,56,99,108,33, - 204,48,12,24,12,14,24,3,240,16,15,30,16,0,255,16, - 0,15,224,0,16,255,255,3,0,3,0,83,0,83,16,83, - 56,83,108,73,204,40,12,36,12,18,24,15,240,15,14,28, - 16,1,255,64,0,228,0,230,206,133,204,121,204,3,204,14, - 204,120,204,96,236,120,252,14,220,3,204,1,204,0,68,14, - 14,28,16,1,255,64,0,128,0,128,0,64,0,127,192,31, - 240,0,56,15,12,24,140,56,76,56,76,56,76,16,216,3, - 240,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,14,13,26,16,1,255,0, - 48,0,248,1,140,3,12,135,140,135,140,131,12,128,12,192, - 12,64,108,96,156,51,12,14,4,14,15,30,16,1,255,0, - 8,0,16,0,16,0,216,3,236,6,52,140,52,158,52,158, - 52,140,56,192,48,65,176,98,112,60,48,24,16,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,14,13,26,16,1,255,0,240,3,24,6, - 12,14,12,142,12,134,120,192,248,64,120,96,12,48,12,24, - 12,12,24,7,240,14,15,30,16,1,255,0,8,0,16,0, - 16,7,216,8,108,28,52,28,52,156,52,137,228,131,248,193, - 224,64,48,96,48,48,112,31,224,16,12,24,16,0,255,255, - 255,0,96,0,96,1,248,7,100,60,98,48,98,60,110,7, - 108,1,224,0,224,0,32,14,13,26,16,2,255,64,0,226, - 60,227,48,197,48,121,48,1,48,6,48,120,48,126,48,1, - 176,0,112,0,48,0,16,14,12,24,16,2,255,62,124,113, - 96,224,224,224,96,252,96,70,96,6,96,6,96,28,96,120, - 96,32,96,0,32,16,12,24,16,0,255,255,255,24,24,48, - 24,56,24,31,152,1,152,6,24,12,24,31,24,1,216,0, - 56,0,8,12,13,26,16,2,255,32,0,35,192,22,64,12, - 64,15,128,140,0,136,32,136,112,199,176,64,48,96,48,48, - 96,31,128,16,12,24,16,0,255,255,255,24,0,24,0,28, - 0,27,0,24,252,24,12,24,12,24,12,24,24,28,48,15, - 192,16,12,24,16,0,255,255,255,24,0,24,0,28,0,27, - 224,24,56,24,104,28,200,15,16,0,96,1,248,0,14,16, - 12,24,16,0,255,255,255,1,240,3,28,70,15,76,2,76, - 196,79,36,102,44,32,44,48,100,24,196,15,131,16,12,24, - 16,0,255,255,231,0,102,0,102,1,230,7,102,60,102,48, - 102,60,102,7,126,1,238,0,230,0,34,14,13,26,16,1, - 255,7,0,13,128,25,176,49,248,57,204,185,140,145,184,129, - 140,193,204,199,248,111,176,121,128,48,128,16,15,30,16,0, - 255,16,0,15,192,0,32,255,255,24,0,24,0,24,0,24, - 96,24,240,24,112,24,48,24,96,24,192,15,128,7,0,16, - 15,30,16,0,255,16,0,15,0,0,128,255,255,0,128,0, - 128,0,192,1,192,1,96,35,48,58,24,20,24,24,24,12, - 48,7,224,16,12,24,16,0,255,255,255,3,0,3,0,67, - 0,67,16,67,56,99,108,33,204,48,12,24,12,14,24,3, - 240,16,12,24,16,0,255,255,255,24,0,24,0,24,0,24, - 96,24,240,24,112,24,48,24,96,24,192,15,128,7,0,13, - 13,26,16,3,255,28,96,62,120,97,96,192,224,192,224,224, - 96,224,96,64,96,0,96,0,96,0,96,0,96,0,32,16, - 12,24,16,0,255,255,255,0,0,65,248,67,12,67,132,67, - 134,99,134,33,6,48,6,24,12,12,28,7,240,15,13,26, - 16,1,255,60,0,98,62,241,48,241,48,97,48,1,48,6, - 48,120,48,126,48,1,176,0,112,0,48,0,16,16,12,24, - 16,0,255,255,255,12,0,12,0,12,120,12,240,13,224,13, - 96,15,96,14,96,14,96,12,48,8,28,12,13,26,16,4, - 255,96,0,240,240,224,192,128,192,99,192,30,192,56,192,224, - 192,248,192,14,192,3,192,1,192,0,64,16,12,24,16,0, - 255,255,255,0,24,0,24,0,24,0,24,30,24,63,152,60, - 216,56,120,0,56,0,24,0,8,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,15,13,26, - 16,1,255,14,48,31,190,48,240,96,112,240,240,155,176,14, - 48,24,48,32,48,0,48,0,48,0,48,0,16,16,12,24, - 16,0,255,255,255,16,0,56,120,12,100,6,98,12,98,24, - 110,48,108,63,96,1,224,0,96,0,32,16,12,24,16,0, - 255,255,255,0,24,0,24,0,120,3,216,7,24,28,24,31, - 24,1,216,0,120,0,56,0,8,16,12,24,16,0,255,255, - 255,0,0,66,16,71,8,71,12,70,20,99,230,32,6,48, - 6,24,12,12,28,7,240,16,12,24,16,0,255,255,255,12, - 24,28,24,14,24,3,24,3,24,3,24,15,216,30,120,12, - 56,0,24,0,8,16,12,24,16,0,255,255,255,8,48,28, - 48,6,48,3,48,6,48,12,48,24,48,31,176,0,240,0, - 48,0,16,16,12,24,16,0,255,255,255,0,24,0,120,3, - 216,7,24,28,24,31,24,1,216,2,120,7,56,7,24,2, - 8,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,16,12,24,16,0,255,255,255,0,6,0, - 6,28,22,62,62,99,102,65,198,65,198,64,134,124,6,60, - 6,24,2,6,14,14,8,1,255,168,84,168,84,168,84,168, - 84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,168, - 84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,1, - 255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,15, - 13,26,16,1,255,112,204,249,238,143,60,143,28,31,140,63, - 204,25,140,0,12,0,12,0,12,0,12,0,12,0,4,16, - 12,24,16,0,255,255,255,28,24,14,24,7,152,1,216,6, - 120,28,24,31,24,1,216,0,120,0,56,0,8,16,12,24, - 16,0,255,255,255,16,12,56,12,28,12,6,12,2,204,1, - 236,3,28,102,12,60,12,24,12,0,4,16,12,24,16,0, - 255,255,255,0,0,15,192,24,96,60,48,60,48,24,48,0, - 96,63,192,7,0,1,192,0,124,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,2,2,2,16,7,255,192,192,14,12,24,16,0,255,240, - 0,8,0,15,192,28,96,60,48,60,48,24,48,0,96,63, - 192,7,0,1,192,0,124,5,10,10,16,11,255,48,184,112, - 48,48,48,48,48,48,16,13,14,28,16,0,255,15,128,63, - 224,96,16,96,8,32,0,248,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,16,0,12,14,28,16,4,255,63, - 0,65,128,128,192,190,64,65,64,1,240,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,64,6,5,5,16,5, - 254,4,104,144,104,4,6,5,5,16,6,254,96,128,112,8, - 4,5,5,5,16,5,254,24,96,128,96,24,3,5,5,16, - 6,255,96,128,96,128,64,6,14,14,8,1,255,168,84,168, - 84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,1, - 255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,5, - 9,9,16,0,255,248,24,48,96,64,64,64,88,56,5,12, - 12,16,0,255,128,112,8,248,24,48,96,64,64,64,88,56, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,16,10,20,16,0,255,0,6, - 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, - 56,2,16,13,26,16,0,255,0,128,0,112,0,8,0,4, - 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, - 56,2,5,3,3,16,6,0,192,48,8,8,12,12,16,4, - 255,56,92,204,236,216,192,96,56,12,6,3,1,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,8,13,13, - 16,8,255,128,112,8,4,23,14,6,6,6,6,6,6,2, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 16,13,26,16,0,254,255,255,3,0,67,16,67,56,99,108, - 35,204,49,140,24,12,14,24,3,240,0,0,0,192,0,192, - 16,13,26,16,0,254,255,255,12,0,12,0,12,0,12,48, - 12,120,12,56,12,48,7,224,3,192,0,0,1,128,1,128, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,16,13,26,16,0,254,255,255,4,24,14,24, - 3,24,1,152,3,24,6,24,12,24,15,216,0,120,1,24, - 3,136,1,0,15,15,30,16,1,254,64,0,228,0,230,206, - 133,204,121,204,3,204,14,204,120,204,96,236,120,252,14,220, - 123,204,97,204,120,68,14,0,8,14,14,16,4,255,128,124, - 3,121,197,205,158,128,124,3,121,197,205,158,7,5,5,16, - 5,255,124,2,114,202,220,10,6,12,16,5,255,3,128,112, - 64,10,64,77,64,173,128,176,0,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,10,11,22,16,3,0,30,0,63,0,97,128,192,192,192, - 192,192,192,192,192,192,192,97,128,63,0,30,0,9,12,24, - 16,4,0,64,0,64,0,96,0,56,0,14,0,3,0,1, - 128,97,128,225,128,225,128,195,0,126,0,10,11,22,16,3, - 0,224,0,56,0,14,0,3,0,3,0,227,0,126,0,28, - 0,6,0,1,128,0,64,12,12,24,16,2,255,131,192,132, - 96,136,48,140,48,142,48,142,48,134,48,64,48,64,96,32, - 96,17,192,15,0,11,13,26,16,2,255,31,0,63,128,96, - 192,64,64,96,192,49,128,31,0,96,192,192,96,192,96,224, - 224,127,192,31,0,11,13,26,16,2,255,7,0,30,0,57, - 96,112,192,97,128,195,0,198,0,198,0,198,0,198,0,99, - 96,48,192,31,128,12,12,24,16,2,255,28,0,12,0,12, - 0,140,0,140,96,140,160,141,176,199,48,64,48,96,48,48, - 96,31,192,9,13,26,16,4,255,60,0,126,0,195,0,195, - 0,199,0,127,0,59,0,3,0,3,0,3,0,3,0,3, - 0,1,128,13,13,26,16,1,255,224,0,96,0,96,0,96, - 8,103,240,127,192,112,96,96,96,96,96,96,96,112,192,63, - 128,30,0,12,15,30,16,2,254,128,0,128,0,96,0,60, - 0,15,0,3,192,0,224,0,48,60,48,66,48,225,48,225, - 48,225,96,65,192,1,0,16,12,24,16,0,255,255,255,0, - 24,0,24,0,120,3,216,7,152,28,120,31,24,1,216,0, - 120,0,56,0,8,16,13,26,16,0,254,255,255,0,24,0, - 24,0,120,3,216,7,24,28,24,31,24,1,216,28,120,7, - 56,1,136,0,64,9,8,16,16,3,3,224,0,248,0,124, - 0,14,0,3,0,1,0,0,128,0,128,12,13,26,16,1, - 255,48,0,120,0,204,0,12,0,31,240,12,0,12,96,12, - 240,12,240,12,48,12,96,7,192,3,128,9,8,16,16,3, - 2,0,128,0,128,1,0,3,0,14,0,124,0,248,0,224, - 0,12,9,18,16,2,2,56,16,124,16,226,32,242,96,242, - 192,98,192,7,128,15,0,14,0,12,13,26,16,2,255,0, - 16,0,16,0,16,56,16,124,16,126,16,62,16,6,48,12, - 96,248,224,193,192,127,128,30,0,2,13,13,16,8,255,128, - 192,192,192,192,192,192,192,192,192,192,192,64,11,13,26,16, - 2,255,224,0,96,0,96,192,97,192,99,192,98,192,102,192, - 108,192,120,192,112,192,96,192,0,192,0,96,11,10,20,16, - 3,1,31,0,63,128,96,192,192,96,192,96,192,96,192,96, - 96,192,63,128,31,0,14,9,18,16,1,255,0,4,2,4, - 135,8,135,8,66,16,96,48,48,96,31,192,15,0,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255, - 168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 8 - Calculated Max Values w=16 h=16 x= 4 y= 1 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4628] U8G_SECTION(".progmem.u8g_font_unifont_2_3") = { - 0,16,16,0,254,10,4,220,7,27,0,255,0,14,254,14, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,6,11,11,8,1,0,120,0,0, - 120,132,4,124,132,132,140,116,6,14,14,8,1,0,132,132, - 120,0,48,72,72,132,132,252,132,132,132,132,6,13,13,8, - 1,0,132,132,120,0,0,120,132,4,124,132,132,140,116,7, - 12,12,8,1,254,48,72,72,132,132,252,132,132,132,132,8, - 6,7,10,10,8,1,254,120,132,4,124,132,132,140,116,8, - 6,6,14,14,8,1,0,24,96,0,0,120,132,132,128,128, - 128,128,132,132,120,6,12,12,8,1,0,24,96,0,0,120, - 132,128,128,128,128,132,120,6,14,14,8,1,0,48,72,0, - 0,120,132,132,128,128,128,128,132,132,120,6,12,12,8,1, - 0,48,72,0,0,120,132,128,128,128,128,132,120,6,14,14, - 8,1,0,32,32,0,0,120,132,132,128,128,128,128,132,132, - 120,6,12,12,8,1,0,32,32,0,0,120,132,128,128,128, - 128,132,120,6,14,14,8,1,0,72,48,0,0,120,132,132, - 128,128,128,128,132,132,120,6,12,12,8,1,0,72,48,0, - 0,120,132,128,128,128,128,132,120,6,14,14,8,1,0,144, - 96,0,0,240,136,132,132,132,132,132,132,136,240,6,14,14, - 8,1,0,72,48,0,4,4,4,116,140,132,132,132,132,140, - 116,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68, - 120,7,12,12,8,1,0,4,30,4,4,116,140,132,132,132, - 132,140,116,6,13,13,8,1,0,120,0,0,252,128,128,128, - 248,128,128,128,128,252,6,11,11,8,1,0,120,0,0,120, - 132,132,252,128,128,132,120,6,14,14,8,1,0,132,132,120, - 0,252,128,128,128,248,128,128,128,128,252,6,12,12,8,1, - 0,132,132,120,0,120,132,132,252,128,128,132,120,6,14,14, - 8,1,0,32,32,0,0,252,128,128,128,248,128,128,128,128, - 252,6,12,12,8,1,0,32,32,0,0,120,132,132,252,128, - 128,132,120,6,12,12,8,1,254,252,128,128,128,248,128,128, - 128,128,252,16,12,6,10,10,8,1,254,120,132,132,252,128, - 128,132,120,32,24,6,14,14,8,1,0,72,48,0,0,252, - 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,72, - 48,0,0,120,132,132,252,128,128,132,120,6,14,14,8,1, - 0,48,72,0,0,120,132,132,128,128,156,132,132,140,116,6, - 14,14,8,1,254,48,72,0,4,116,136,136,136,112,64,120, - 132,132,120,6,14,14,8,1,0,132,132,120,0,120,132,132, - 128,128,156,132,132,140,116,6,15,15,8,1,254,132,132,120, - 0,4,116,136,136,136,112,64,120,132,132,120,6,14,14,8, - 1,0,32,32,0,0,120,132,132,128,128,156,132,132,140,116, - 6,14,14,8,1,254,32,32,0,4,116,136,136,136,112,64, - 120,132,132,120,6,12,12,8,1,254,120,132,132,128,128,156, - 132,132,140,116,16,96,6,14,14,8,1,254,24,32,0,4, - 116,136,136,136,112,64,120,132,132,120,6,14,14,8,1,0, - 48,72,0,0,132,132,132,132,252,132,132,132,132,132,6,14, - 14,8,1,0,96,144,0,128,128,128,184,196,132,132,132,132, - 132,132,8,10,10,8,0,0,66,66,255,66,66,126,66,66, - 66,66,7,11,11,8,0,1,64,240,64,64,92,98,66,66, - 66,66,66,6,14,14,8,1,0,100,152,0,0,124,16,16, - 16,16,16,16,16,16,124,6,12,12,8,1,0,100,152,0, - 0,48,16,16,16,16,16,16,124,5,13,13,8,2,0,240, - 0,0,248,32,32,32,32,32,32,32,32,248,5,11,11,8, - 2,0,240,0,0,96,32,32,32,32,32,32,248,6,14,14, - 8,1,0,132,132,120,0,124,16,16,16,16,16,16,16,16, - 124,6,12,12,8,1,0,132,132,120,0,48,16,16,16,16, - 16,16,124,5,12,12,8,2,254,248,32,32,32,32,32,32, - 32,32,248,32,24,5,13,13,8,2,254,32,32,0,96,32, - 32,32,32,32,32,248,32,24,5,14,14,8,2,0,32,32, - 0,0,248,32,32,32,32,32,32,32,32,248,5,8,8,8, - 2,0,96,32,32,32,32,32,32,248,6,10,10,8,1,0, - 132,132,132,132,132,132,4,4,132,120,5,14,14,8,2,254, - 136,136,0,0,136,136,136,136,136,136,104,8,136,112,7,14, - 14,8,1,0,24,36,0,0,62,8,8,8,8,8,8,136, - 136,112,6,14,14,8,1,254,24,36,0,0,24,8,8,8, - 8,8,8,8,144,96,7,12,12,8,0,254,66,68,72,80, - 96,96,80,72,68,66,32,192,7,12,12,8,0,254,64,64, - 68,72,80,96,80,72,68,66,32,192,6,8,8,8,1,0, - 132,136,144,224,224,144,136,132,6,14,14,8,1,0,48,192, - 0,0,128,128,128,128,128,128,128,128,128,252,5,14,14,8, - 2,0,48,192,0,0,96,32,32,32,32,32,32,32,32,248, - 6,12,12,8,1,254,128,128,128,128,128,128,128,128,128,252, - 16,96,5,12,12,8,2,254,96,32,32,32,32,32,32,32, - 32,248,32,192,6,14,14,8,1,0,72,48,0,0,128,128, - 128,128,128,128,128,128,128,252,5,14,14,8,2,0,144,96, - 0,0,96,32,32,32,32,32,32,32,32,248,6,10,10,8, - 1,0,128,128,128,128,136,136,128,128,128,252,5,10,10,8, - 1,0,96,32,32,32,40,40,32,32,32,248,7,10,10,8, - 0,0,64,64,72,80,96,192,64,64,64,126,5,10,10,8, - 2,0,96,32,40,48,96,160,32,32,32,248,6,14,14,8, - 1,0,24,96,0,0,132,196,196,164,164,148,148,140,140,132, - 6,12,12,8,1,0,24,96,0,0,184,196,132,132,132,132, - 132,132,7,12,12,8,0,254,66,98,98,82,82,74,74,70, - 70,66,32,192,7,10,10,8,0,254,92,98,66,66,66,66, - 66,66,32,192,6,14,14,8,1,0,72,48,0,0,132,196, - 196,164,164,148,148,140,140,132,6,12,12,8,1,0,72,48, - 0,0,184,196,132,132,132,132,132,132,6,13,13,8,1,0, - 192,64,64,128,0,184,196,132,132,132,132,132,132,6,10,10, - 8,1,0,184,196,132,132,132,132,132,132,132,152,6,10,10, - 8,1,254,184,196,132,132,132,132,132,132,4,24,6,13,13, - 8,1,0,120,0,0,120,132,132,132,132,132,132,132,132,120, - 6,11,11,8,1,0,120,0,0,120,132,132,132,132,132,132, - 120,6,14,14,8,1,0,132,132,120,0,120,132,132,132,132, - 132,132,132,132,120,6,12,12,8,1,0,132,132,120,0,120, - 132,132,132,132,132,132,120,7,14,14,8,1,0,102,136,0, - 0,120,132,132,132,132,132,132,132,132,120,7,12,12,8,1, - 0,102,136,0,0,120,132,132,132,132,132,132,120,7,10,10, - 8,1,0,110,144,144,144,156,144,144,144,144,110,7,8,8, - 8,1,0,108,146,146,158,144,144,146,108,6,14,14,8,1, - 0,24,96,0,0,248,132,132,132,248,144,136,136,132,132,6, - 12,12,8,1,0,24,96,0,0,184,196,132,128,128,128,128, - 128,7,12,12,8,0,254,124,66,66,66,124,72,68,68,66, - 66,32,192,7,10,10,8,0,254,92,98,66,64,64,64,64, - 64,32,192,6,14,14,8,1,0,72,48,0,0,248,132,132, - 132,248,144,136,136,132,132,6,12,12,8,1,0,72,48,0, - 0,184,196,132,128,128,128,128,128,6,14,14,8,1,0,24, - 96,0,0,120,132,132,128,96,24,4,132,132,120,6,12,12, - 8,1,0,24,96,0,0,120,132,128,96,24,132,132,120,6, - 14,14,8,1,0,48,72,0,0,120,132,132,128,96,24,4, - 132,132,120,6,12,12,8,1,0,48,72,0,0,120,132,128, - 96,24,4,132,120,6,12,12,8,1,254,120,132,132,128,96, - 24,4,132,132,120,16,96,6,10,10,8,1,254,120,132,128, - 96,24,4,132,120,16,96,6,14,14,8,1,0,72,48,0, - 0,120,132,132,128,96,24,4,132,132,120,6,12,12,8,1, - 0,72,48,0,0,120,132,128,96,24,4,132,120,7,12,12, - 8,1,254,254,16,16,16,16,16,16,16,16,16,16,96,5, - 12,12,8,1,254,32,32,248,32,32,32,32,32,32,24,16, - 96,7,14,14,8,1,0,72,48,0,0,254,16,16,16,16, - 16,16,16,16,16,5,14,14,8,1,0,72,48,0,0,32, - 32,248,32,32,32,32,32,32,24,7,10,10,8,1,0,254, - 16,16,20,24,48,80,16,16,16,5,10,10,8,1,0,32, - 32,248,32,40,48,96,160,32,24,6,14,14,8,1,0,100, - 152,0,0,132,132,132,132,132,132,132,132,132,120,6,12,12, - 8,1,0,100,152,0,0,132,132,132,132,132,132,140,116,6, - 13,13,8,1,0,120,0,0,132,132,132,132,132,132,132,132, - 132,120,6,11,11,8,1,0,120,0,0,132,132,132,132,132, - 132,140,116,6,14,14,8,1,0,132,132,120,0,132,132,132, - 132,132,132,132,132,132,120,6,13,13,8,1,0,132,132,120, - 0,0,132,132,132,132,132,132,140,116,6,14,14,8,1,0, - 48,72,48,0,132,132,132,132,132,132,132,132,132,120,6,12, - 12,8,1,0,48,72,48,0,132,132,132,132,132,132,140,116, - 7,14,14,8,1,0,102,136,0,0,132,132,132,132,132,132, - 132,132,132,120,7,12,12,8,1,0,102,136,0,0,132,132, - 132,132,132,132,140,116,6,12,12,8,1,254,132,132,132,132, - 132,132,132,132,132,120,32,24,7,10,10,8,1,254,132,132, - 132,132,132,132,140,116,8,6,6,14,14,8,1,0,48,72, - 0,0,132,132,132,132,180,180,204,204,132,132,7,12,12,8, - 1,0,48,72,0,0,130,146,146,146,146,146,146,108,7,14, - 14,8,1,0,48,72,0,0,130,130,68,68,40,16,16,16, - 16,16,6,14,14,8,1,254,48,72,0,0,132,132,132,132, - 132,76,52,4,4,120,7,14,14,8,1,0,72,72,0,0, - 130,130,68,68,40,16,16,16,16,16,6,14,14,8,1,0, - 24,96,0,0,252,4,4,8,16,32,64,128,128,252,6,12, - 12,8,1,0,24,96,0,0,252,4,8,16,32,64,128,252, - 6,14,14,8,1,0,32,32,0,0,252,4,4,8,16,32, - 64,128,128,252,6,12,12,8,1,0,32,32,0,0,252,4, - 8,16,32,64,128,252,6,14,14,8,1,0,72,48,0,0, - 252,4,4,8,16,32,64,128,128,252,6,12,12,8,1,0, - 72,48,0,0,252,4,8,16,32,64,128,252,4,11,11,8, - 2,0,48,64,64,64,192,64,64,64,64,64,64,7,11,11, - 8,0,0,64,240,64,92,98,66,66,66,66,98,92,7,10, - 10,8,0,0,124,162,162,34,60,34,34,34,34,60,6,10, - 10,8,1,0,252,128,128,128,248,132,132,132,132,248,6,10, - 10,8,1,0,252,128,128,184,196,132,132,132,196,184,6,10, - 10,8,1,0,192,64,64,64,120,68,68,68,68,120,6,8, - 8,8,1,0,192,64,64,64,120,68,68,120,6,10,10,8, - 1,0,120,132,132,4,4,4,4,132,132,248,7,12,12,8, - 1,0,6,8,120,136,136,128,128,128,128,136,136,112,7,10, - 10,8,1,0,6,8,120,136,128,128,128,128,136,112,7,10, - 10,8,0,0,120,68,66,66,242,66,66,66,68,120,7,10, - 10,8,0,0,120,164,162,34,34,34,34,34,36,56,6,10, - 10,8,1,0,252,4,4,4,124,132,132,132,132,124,6,10, - 10,8,1,0,252,4,4,116,140,132,132,132,140,116,6,10, - 10,8,1,254,120,132,132,132,132,72,48,8,8,112,6,10, - 10,8,1,0,252,4,4,4,124,4,4,4,4,252,6,10, - 10,8,1,0,48,72,132,4,4,252,132,132,72,48,6,10, - 10,8,1,0,120,132,132,128,112,128,128,132,132,120,7,11, - 11,8,1,255,62,32,32,32,60,32,32,32,32,32,192,5, - 12,12,8,1,255,24,32,32,32,248,32,32,32,32,32,32, - 192,7,11,11,8,1,0,6,120,136,136,128,128,184,136,136, - 152,104,6,10,10,8,1,0,132,132,132,72,72,48,48,72, - 72,48,6,11,11,8,1,0,128,128,128,128,228,148,148,148, - 148,148,136,5,10,10,8,1,0,224,32,32,32,32,32,32, - 32,32,24,5,10,10,8,2,0,248,32,32,32,248,32,32, - 32,32,248,6,10,10,8,1,0,140,148,160,160,192,192,160, - 144,136,132,6,11,11,8,1,0,96,128,128,136,144,160,192, - 160,144,136,132,5,10,10,8,2,0,96,32,32,32,248,32, - 32,32,32,248,6,10,10,8,1,0,72,80,32,96,144,48, - 72,72,132,132,7,10,10,8,1,0,146,146,146,146,146,146, - 146,146,146,110,7,11,11,8,0,255,34,34,50,50,42,42, - 38,38,34,34,192,6,10,10,8,1,254,184,196,132,132,132, - 132,132,132,4,4,6,10,10,8,1,0,120,132,132,132,252, - 132,132,132,132,120,6,11,11,8,1,0,4,116,136,136,136, - 136,136,136,136,136,112,6,9,9,8,1,0,4,116,136,136, - 136,136,136,136,112,6,12,12,8,1,254,108,148,148,148,148, - 148,148,148,148,100,4,4,6,10,10,8,1,254,108,148,148, - 148,148,148,148,100,4,4,7,10,10,8,1,0,124,162,162, - 34,60,32,32,32,32,32,7,11,11,8,1,254,6,184,200, - 136,136,136,136,200,176,128,128,7,10,10,8,1,0,224,64, - 120,68,68,120,80,72,68,66,6,10,10,8,1,0,120,132, - 132,4,24,96,128,132,132,120,6,8,8,8,1,0,120,132, - 4,24,96,128,132,120,6,10,10,8,1,0,252,128,64,32, - 16,16,32,64,128,252,5,12,12,8,1,255,64,160,160,96, - 32,32,32,32,32,32,32,24,5,12,12,8,1,254,32,32, - 248,32,32,32,32,32,32,24,8,48,7,10,10,8,1,0, - 126,144,144,16,16,16,16,16,16,16,5,11,11,8,1,0, - 24,32,32,32,248,32,32,32,32,32,24,7,11,11,8,1, - 255,254,16,16,16,16,16,16,16,16,16,12,7,12,12,8, - 1,0,2,2,140,136,136,136,136,136,136,136,136,112,7,10, - 10,8,1,0,2,2,140,136,136,136,136,136,152,104,6,10, - 10,8,1,0,132,72,72,132,132,132,132,132,72,48,6,10, - 10,8,1,0,152,132,132,132,132,132,132,136,144,96,7,10, - 10,8,1,0,98,162,34,20,20,8,8,8,8,8,7,11, - 11,8,1,254,6,136,136,136,136,136,72,56,8,8,112,6, - 10,10,8,1,0,252,4,8,16,120,32,64,128,128,252,6, - 8,8,8,1,0,252,8,16,120,32,64,128,252,6,10,10, - 8,1,0,252,8,16,32,56,4,4,4,140,120,6,10,10, - 8,1,0,252,64,32,16,112,128,128,128,196,120,6,10,10, - 8,1,254,248,64,32,16,112,128,128,128,132,120,6,10,10, - 8,1,254,124,8,16,56,4,4,120,128,132,120,6,10,10, - 8,1,0,120,132,132,8,16,252,64,128,128,252,6,10,10, - 8,1,0,252,64,64,64,120,4,4,4,132,120,6,8,8, - 8,1,0,252,64,64,120,4,4,132,120,5,10,10,8,1, - 0,32,32,248,32,32,48,8,8,136,112,6,10,10,8,1, - 254,184,196,132,132,136,144,160,192,128,128,1,11,11,8,3, - 0,128,128,128,128,128,128,128,128,128,128,128,3,11,11,8, - 2,0,160,160,160,160,160,160,160,160,160,160,160,5,11,11, - 8,1,0,32,32,32,32,248,32,248,32,32,32,32,1,10, - 10,8,4,0,128,128,128,128,128,128,128,0,128,128,7,14, - 14,8,1,0,10,4,0,0,206,162,162,162,164,164,168,168, - 168,206,7,12,12,8,1,0,10,4,192,160,174,162,162,164, - 164,168,168,206,7,12,12,8,1,0,10,36,32,32,110,162, - 162,164,164,168,168,110,7,10,10,8,1,0,142,130,130,130, - 130,130,130,146,146,236,7,13,13,8,1,254,2,130,128,134, - 130,130,130,130,130,130,242,4,24,8,13,13,8,0,254,1, - 97,32,35,33,33,33,33,33,33,249,2,12,7,10,10,8, - 1,0,150,146,146,210,210,178,178,154,154,148,7,13,13,8, - 1,254,2,146,144,214,210,210,178,178,178,146,146,36,24,7, - 13,13,8,1,254,2,2,0,166,210,146,146,146,146,146,146, - 36,24,6,14,14,8,1,0,72,48,0,0,48,72,72,132, - 132,252,132,132,132,132,6,12,12,8,1,0,72,48,0,0, - 120,132,4,124,132,132,140,116,5,14,14,8,2,0,144,96, - 0,0,248,32,32,32,32,32,32,32,32,248,5,12,12,8, - 2,0,144,96,0,0,96,32,32,32,32,32,32,248,6,14, - 14,8,1,0,72,48,0,0,120,132,132,132,132,132,132,132, - 132,120,6,12,12,8,1,0,72,48,0,0,120,132,132,132, - 132,132,132,120,6,14,14,8,1,0,72,48,0,0,132,132, - 132,132,132,132,132,132,132,120,6,12,12,8,1,0,72,48, - 0,0,132,132,132,132,132,132,140,116,6,14,14,8,1,0, - 120,0,72,0,132,132,132,132,132,132,132,132,132,120,6,13, - 13,8,1,0,120,0,72,72,0,132,132,132,132,132,132,140, - 116,6,14,14,8,1,0,24,96,0,72,0,132,132,132,132, - 132,132,132,132,120,6,14,14,8,1,0,24,96,0,72,72, - 0,132,132,132,132,132,132,140,116,6,14,14,8,1,0,72, - 48,0,72,0,132,132,132,132,132,132,132,132,120,6,14,14, - 8,1,0,72,48,0,72,72,0,132,132,132,132,132,132,140, - 116,6,14,14,8,1,0,96,24,0,72,0,132,132,132,132, - 132,132,132,132,120,6,14,14,8,1,0,96,24,0,72,72, - 0,132,132,132,132,132,132,140,116,6,8,8,8,1,0,120, - 132,4,4,252,132,132,120,6,14,14,8,1,0,120,0,72, - 0,48,72,72,132,132,252,132,132,132,132,6,13,13,8,1, - 0,120,0,72,72,0,120,132,4,124,132,132,140,116,6,14, - 14,8,1,0,120,0,48,0,48,72,72,132,132,252,132,132, - 132,132,6,13,13,8,1,0,120,0,32,32,0,120,132,4, - 124,132,132,140,116,7,13,13,8,1,0,120,0,0,62,80, - 144,144,254,144,144,144,144,158,7,11,11,8,1,0,120,0, - 0,124,146,18,126,144,144,146,124,7,10,10,8,1,0,120, - 132,132,128,128,156,132,158,132,124,7,11,11,8,1,254,4, - 116,136,136,136,112,64,120,158,132,120,6,14,14,8,1,0, - 72,48,0,0,120,132,132,128,128,156,132,132,140,116,6,14, - 14,8,1,254,72,48,0,4,116,136,136,136,112,64,120,132, - 132,120,6,14,14,8,1,0,72,48,0,0,132,136,144,160, - 192,192,160,144,136,132,6,14,14,8,1,0,144,96,0,0, - 128,128,136,144,160,192,160,144,136,132,6,12,12,8,1,254, - 120,132,132,132,132,132,132,132,132,120,32,24,6,10,10,8, - 1,254,120,132,132,132,132,132,132,120,32,24,6,15,15,8, - 1,254,120,0,0,120,132,132,132,132,132,132,132,132,120,32, - 24,6,13,13,8,1,254,120,0,0,120,132,132,132,132,132, - 132,120,32,24,6,14,14,8,1,0,72,48,0,0,252,8, - 16,32,56,4,4,4,140,120,6,14,14,8,1,254,72,48, - 0,0,124,8,16,32,56,4,4,4,132,120,6,14,14,8, - 1,254,36,24,0,0,24,8,8,8,8,8,8,8,144,96, - 7,10,10,8,1,0,206,162,162,162,164,164,168,168,168,206, - 7,10,10,8,1,0,192,160,174,162,162,164,164,168,168,206, - 7,11,11,8,1,0,32,32,32,110,162,162,164,164,168,168, - 110,6,14,14,8,1,0,24,96,0,0,120,132,132,128,128, - 156,132,132,140,116,6,14,14,8,1,254,24,96,0,4,116, - 136,136,136,112,64,120,132,132,120,6,10,10,8,1,0,144, - 144,144,148,244,148,148,148,148,136,6,11,11,8,1,255,184, - 196,132,132,136,144,160,192,128,128,128,6,13,13,8,1,0, - 96,24,0,132,196,196,164,164,148,148,140,140,132,6,11,11, - 8,1,0,96,24,0,184,196,132,132,132,132,132,132,6,14, - 14,8,1,0,24,96,48,72,48,48,72,72,132,252,132,132, - 132,132,6,14,14,8,1,0,24,96,0,48,72,48,0,120, - 132,4,124,132,140,116,7,14,14,8,1,0,12,48,0,0, - 62,80,144,144,254,144,144,144,144,158,7,12,12,8,1,0, - 12,48,0,0,124,146,18,126,144,144,146,124,6,15,15,8, - 1,255,24,96,0,4,116,136,140,148,148,164,164,196,68,184, - 128,6,13,13,8,1,255,24,96,0,4,120,140,148,148,164, - 164,196,120,128}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =12 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3783] U8G_SECTION(".progmem.u8g_font_unifont_4_5") = { - 0,16,16,0,254,10,4,176,6,163,0,255,0,14,254,12, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,7,12,12,8,0,0,204,34,0, - 0,60,66,2,62,66,66,70,58,6,14,14,8,1,0,120, - 132,132,0,48,72,72,132,132,252,132,132,132,132,6,12,12, - 8,1,0,120,132,132,0,120,132,4,124,132,132,140,116,7, - 14,14,8,0,0,204,34,0,0,126,64,64,64,124,64,64, - 64,64,126,7,12,12,8,0,0,204,34,0,0,60,66,66, - 126,64,64,66,60,6,14,14,8,1,0,120,132,132,0,252, - 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,120, - 132,132,0,120,132,132,252,128,128,132,120,7,14,14,8,0, - 0,204,34,0,0,62,8,8,8,8,8,8,8,8,62,7, - 12,12,8,0,0,204,34,0,0,24,8,8,8,8,8,8, - 62,6,14,14,8,1,0,120,132,132,0,124,16,16,16,16, - 16,16,16,16,124,6,12,12,8,1,0,120,132,132,0,48, - 16,16,16,16,16,16,124,7,14,14,8,0,0,204,34,0, - 0,60,66,66,66,66,66,66,66,66,60,7,12,12,8,0, - 0,204,34,0,0,60,66,66,66,66,66,66,60,6,14,14, - 8,1,0,120,132,132,0,120,132,132,132,132,132,132,132,132, - 120,6,12,12,8,1,0,120,132,132,0,120,132,132,132,132, - 132,132,120,7,14,14,8,0,0,204,34,0,0,124,66,66, - 66,124,72,68,68,66,66,7,12,12,8,0,0,204,34,0, - 0,92,98,66,64,64,64,64,64,6,14,14,8,1,0,120, - 132,132,0,248,132,132,132,248,144,136,136,132,132,6,12,12, - 8,1,0,120,132,132,0,184,196,132,128,128,128,128,128,7, - 14,14,8,0,0,204,34,0,0,66,66,66,66,66,66,66, - 66,66,60,7,12,12,8,0,0,204,34,0,0,66,66,66, - 66,66,66,70,58,6,14,14,8,1,0,120,132,132,0,132, - 132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,120, - 132,132,0,132,132,132,132,132,132,140,116,6,12,12,8,1, - 254,120,132,132,128,96,24,4,132,132,120,16,32,6,10,10, - 8,1,254,120,132,128,96,24,4,132,120,16,32,7,12,12, - 8,1,254,254,16,16,16,16,16,16,16,16,16,4,8,5, - 12,12,8,1,254,32,32,248,32,32,32,32,32,32,24,64, - 128,6,10,10,8,1,0,120,132,132,4,24,104,4,4,4, - 120,6,8,8,8,1,0,120,132,4,24,100,4,24,96,6, - 13,13,8,1,0,72,48,0,132,132,132,132,252,132,132,132, - 132,132,6,13,13,8,1,0,72,48,0,128,128,128,184,196, - 132,132,132,132,132,6,10,10,8,1,254,184,196,132,132,132, - 132,132,132,4,4,7,13,13,8,1,254,4,4,4,116,140, - 132,132,132,132,142,118,4,8,6,10,10,8,1,0,16,72, - 132,132,72,120,132,132,132,120,5,8,8,8,2,0,72,136, - 144,96,144,136,136,112,6,12,12,8,1,254,252,4,4,8, - 16,32,64,128,128,252,4,8,6,10,10,8,1,254,252,4, - 8,16,32,64,128,252,4,8,6,12,12,8,1,0,16,0, - 48,72,72,132,132,252,132,132,132,132,6,10,10,8,1,0, - 16,0,120,132,4,124,132,132,140,116,6,12,12,8,1,254, - 252,128,128,128,248,128,128,128,128,252,16,96,6,10,10,8, - 1,254,120,132,132,252,128,128,132,120,16,96,6,14,14,8, - 1,0,120,0,72,0,120,132,132,132,132,132,132,132,132,120, - 6,12,12,8,1,0,120,0,72,0,120,132,132,132,132,132, - 132,120,6,14,14,8,1,0,120,0,100,152,0,120,132,132, - 132,132,132,132,132,120,6,13,13,8,1,0,120,0,100,152, - 0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,16, - 0,120,132,132,132,132,132,132,132,132,120,6,10,10,8,1, - 0,16,0,120,132,132,132,132,132,132,120,6,14,14,8,1, - 0,120,0,16,0,120,132,132,132,132,132,132,132,132,120,6, - 12,12,8,1,0,120,0,16,0,120,132,132,132,132,132,132, - 120,7,12,12,8,1,0,124,0,130,130,68,68,40,16,16, - 16,16,16,6,12,12,8,1,254,120,0,132,132,132,132,132, - 76,52,4,4,120,4,12,12,8,2,254,96,32,32,32,32, - 32,32,32,48,48,64,128,7,10,10,8,1,254,184,196,132, - 132,132,132,134,134,4,8,6,12,12,8,1,254,32,32,248, - 32,32,32,32,32,44,28,16,32,5,10,10,8,1,254,24, - 8,8,8,8,8,8,8,144,96,7,11,11,8,0,0,16, - 16,16,84,186,146,146,146,146,186,84,7,10,10,8,0,254, - 84,186,146,146,146,146,186,84,16,16,7,11,11,8,0,0, - 2,26,36,44,74,82,126,98,66,66,194,7,12,12,8,0, - 255,2,60,70,74,72,80,80,96,98,66,124,128,7,11,11, - 8,0,255,2,4,60,74,80,80,96,96,66,124,128,6,10, - 10,8,1,0,64,64,64,64,240,64,64,64,64,124,7,12, - 12,8,1,0,2,4,254,24,24,16,16,48,48,80,80,144, - 7,10,10,8,1,254,120,132,128,96,24,4,132,120,18,12, - 6,10,10,8,1,254,252,4,8,16,32,64,128,192,32,28, - 6,10,10,8,1,0,120,132,132,4,8,16,16,16,16,16, - 6,8,8,8,1,0,120,132,132,4,8,16,16,16,6,10, - 10,8,1,0,120,68,68,68,120,68,244,68,68,120,7,10, - 10,8,0,0,68,68,68,68,68,254,68,68,68,56,6,10, - 10,8,1,0,48,48,48,72,72,72,72,132,132,132,6,14, - 14,8,1,254,8,8,252,144,144,160,248,160,160,192,192,252, - 128,128,7,10,10,8,0,255,2,60,70,74,126,80,96,66, - 124,128,7,10,10,8,1,0,62,8,8,8,8,62,8,136, - 136,112,7,13,13,8,1,254,8,8,0,24,8,8,62,8, - 8,8,8,144,96,7,12,12,8,1,254,112,136,136,136,136, - 136,136,136,152,104,8,6,7,10,10,8,1,254,104,152,136, - 136,136,136,152,104,8,6,6,10,10,8,1,0,120,68,68, - 68,248,80,72,72,68,68,6,8,8,8,1,0,88,100,68, - 224,64,64,64,64,7,10,10,8,1,0,130,130,68,254,40, - 16,16,16,16,16,7,10,10,8,1,254,68,68,68,254,68, - 36,28,4,4,56,6,8,8,8,1,0,184,196,132,132,248, - 128,132,120,6,8,8,8,1,0,116,140,132,132,132,140,148, - 100,6,8,8,8,1,0,152,164,196,132,132,132,196,184,6, - 11,11,8,1,0,112,128,128,184,196,132,132,132,132,196,184, - 6,8,8,8,1,0,120,132,4,4,4,4,132,120,6,9, - 9,8,1,255,120,132,128,128,128,152,164,120,128,7,12,12, - 8,1,255,8,8,8,104,152,136,136,136,136,152,104,6,7, - 11,11,8,1,0,6,8,8,104,152,136,136,136,136,152,104, - 6,8,8,8,1,0,120,132,132,252,4,4,132,120,6,8, - 8,8,1,0,120,132,4,4,252,132,132,120,7,8,8,8, - 1,0,114,140,8,8,248,136,136,112,6,8,8,8,1,0, - 120,132,128,120,128,128,132,120,6,8,8,8,1,0,120,132, - 4,120,4,4,132,120,7,8,8,8,1,0,114,140,8,112, - 8,8,136,112,6,8,8,8,1,0,120,132,132,184,132,132, - 132,120,7,10,10,8,1,254,24,8,8,8,62,8,8,8, - 144,96,7,11,11,8,1,254,6,104,152,136,136,136,152,104, - 8,136,112,6,10,10,8,1,254,116,140,132,132,132,140,116, - 4,132,120,6,8,8,8,1,0,120,132,128,128,156,132,132, - 124,6,10,10,8,1,254,132,132,132,72,72,48,48,72,72, - 48,6,8,8,8,1,0,132,132,72,72,48,48,72,48,6, - 11,11,8,1,254,132,132,132,132,132,132,140,116,4,4,4, - 6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,132, - 132,6,11,11,8,1,0,112,128,128,184,196,132,132,132,132, - 132,152,5,11,11,8,2,0,32,32,0,96,32,32,248,32, - 32,32,248,3,8,8,8,3,0,128,128,128,128,128,128,128, - 96,5,8,8,8,2,0,248,32,32,32,32,32,32,248,6, - 10,10,8,1,0,48,16,16,16,116,152,16,16,16,124,6, - 10,10,8,1,0,48,16,16,112,144,124,16,16,16,124,4, - 11,11,8,3,255,192,64,64,64,64,64,64,64,64,64,48, - 7,12,12,8,1,254,96,32,62,34,36,40,44,34,34,250, - 18,12,7,8,8,8,1,0,146,146,146,146,146,146,146,110, - 7,10,10,8,1,254,146,146,146,146,146,146,146,110,2,2, - 7,9,9,8,1,255,236,146,146,146,146,146,146,130,12,7, - 9,9,8,1,255,44,50,34,34,34,34,34,34,192,7,9, - 9,8,1,255,176,200,136,136,136,136,136,136,6,6,8,8, - 8,1,0,132,132,196,164,148,140,132,132,6,8,8,8,1, - 0,120,132,132,252,132,132,132,120,7,8,8,8,1,0,110, - 144,144,156,144,144,144,110,7,8,8,8,1,0,124,130,130, - 146,146,146,146,108,7,12,12,8,1,254,16,16,124,146,146, - 146,146,146,146,124,16,16,6,8,8,8,1,0,4,4,4, - 4,4,132,140,116,6,10,10,8,1,0,4,4,4,4,4, - 4,4,132,140,116,7,9,9,8,1,255,8,8,8,8,8, - 136,152,104,6,6,10,10,8,1,254,184,196,132,128,128,128, - 128,128,128,128,6,9,9,8,1,255,184,196,132,128,128,128, - 128,128,96,6,8,8,8,1,0,120,132,132,128,128,128,128, - 128,6,8,8,8,1,0,120,132,132,4,4,4,4,4,6, - 8,8,8,1,0,248,132,132,248,136,132,132,132,6,8,8, - 8,1,0,132,132,132,136,248,132,132,248,6,10,10,8,1, - 254,120,132,128,96,24,4,132,248,128,96,5,12,12,8,1, - 255,24,32,32,32,32,32,32,32,32,32,32,192,5,12,12, - 8,1,255,24,32,32,32,32,32,32,248,32,32,32,192,5, - 9,9,8,1,255,192,32,32,32,32,32,32,32,24,6,12, - 12,8,1,255,12,16,16,16,16,16,16,16,16,112,156,96, - 5,10,10,8,1,0,192,32,32,32,32,32,32,248,32,32, - 6,11,11,8,1,255,32,32,248,32,32,32,32,32,32,32, - 28,7,8,8,8,1,0,68,68,68,254,68,68,76,52,6, - 8,8,8,1,0,132,72,132,132,132,132,72,48,6,8,8, - 8,1,0,152,132,132,132,132,136,144,96,6,8,8,8,1, - 0,48,48,72,72,72,132,132,132,7,8,8,8,1,0,108, - 146,146,146,146,146,146,130,6,10,10,8,1,254,120,128,128, - 176,200,132,132,132,132,132,7,8,8,8,1,0,130,130,68, - 40,16,16,16,16,7,10,10,8,1,254,248,16,16,32,32, - 64,64,248,8,6,7,9,9,8,1,255,252,4,8,16,32, - 76,146,252,32,6,10,10,8,1,254,124,8,16,32,56,4, - 4,4,132,120,6,10,10,8,1,254,124,8,16,32,56,4, - 4,100,148,120,6,10,10,8,1,0,120,132,132,4,8,16, - 16,16,16,16,6,10,10,8,1,0,120,132,132,128,64,32, - 32,32,32,32,6,10,10,8,1,0,16,16,16,16,16,8, - 4,132,132,120,6,10,10,8,1,254,120,132,128,128,128,128, - 128,128,132,120,6,8,8,8,1,0,120,132,132,180,180,132, - 132,120,6,8,8,8,1,0,248,132,132,248,132,132,132,248, - 6,8,8,8,1,0,120,132,132,116,132,132,132,120,7,8, - 8,8,1,0,118,136,128,128,152,136,136,120,5,8,8,8, - 2,0,136,136,136,248,136,136,136,136,6,13,13,8,1,254, - 8,8,0,24,8,8,8,8,8,8,124,144,96,6,10,10, - 8,1,254,132,68,36,20,12,20,36,68,4,4,6,8,8, - 8,1,0,128,128,128,128,128,128,128,252,7,11,11,8,1, - 254,6,104,152,136,136,136,136,152,104,8,8,6,10,10,8, - 1,0,120,132,132,4,8,16,16,124,16,16,6,10,10,8, - 1,0,120,132,132,128,64,32,32,248,32,32,7,11,11,8, - 1,0,32,32,32,126,162,164,164,168,168,176,126,7,13,13, - 8,1,254,32,32,32,126,162,164,168,172,162,162,98,18,12, - 7,12,12,8,1,255,32,32,32,126,162,164,168,176,180,170, - 124,8,7,10,10,8,1,0,64,64,236,80,80,72,68,66, - 66,60,7,13,13,8,1,254,6,72,72,248,72,72,72,72, - 72,72,56,8,48,7,11,11,8,1,255,64,64,236,82,80, - 80,80,84,90,60,8,7,12,12,8,1,254,96,144,128,220, - 162,162,162,162,162,162,4,24,6,10,10,8,2,0,128,128, - 128,156,160,160,152,132,132,248,6,10,10,8,1,0,128,128, - 128,128,252,136,144,160,192,252,7,11,11,8,1,0,130,146, - 146,146,108,0,130,146,146,146,108,6,10,10,8,1,0,252, - 132,132,132,0,0,252,132,132,132,5,10,10,8,1,254,200, - 72,72,72,72,72,88,40,8,8,7,10,10,8,1,254,200, - 72,72,72,72,72,88,40,8,6,5,6,6,8,2,4,128, - 128,176,200,136,136,5,7,7,8,2,4,112,136,128,176,200, - 136,136,4,7,7,8,2,4,16,0,16,16,16,144,96,5, - 5,5,8,2,5,176,200,128,128,128,5,5,5,8,1,5, - 8,8,8,152,104,7,6,6,8,1,4,8,8,8,152,104, - 6,5,6,6,8,1,4,136,144,240,136,136,240,5,4,4, - 8,1,6,136,168,168,80,5,5,5,8,1,5,136,136,120, - 8,112,3,3,3,8,2,7,32,64,128,6,3,3,8,1, - 7,36,72,144,2,4,4,8,3,6,64,128,128,192,2,4, - 4,8,3,6,192,64,64,128,2,4,4,8,3,6,192,128, - 128,64,4,6,6,8,2,5,192,32,16,16,32,192,4,6, - 6,8,2,5,48,64,128,128,64,48,6,7,7,8,1,4, - 120,132,4,4,56,32,32,6,7,7,8,1,4,120,132,128, - 128,112,16,16,4,7,7,8,2,4,16,32,64,128,64,32, - 16,4,7,7,8,2,4,128,64,32,16,32,64,128,7,4, - 4,8,1,6,16,40,68,130,7,4,4,8,1,6,130,68, - 40,16,4,2,2,8,2,8,96,144,4,2,2,8,2,8, - 144,96,1,3,3,8,4,7,128,128,128,4,1,1,8,2, - 9,240,4,2,2,8,2,8,48,192,4,2,2,8,2,8, - 192,48,1,4,4,8,4,0,128,128,128,128,4,1,1,8, - 2,0,240,4,2,2,8,2,255,192,48,4,2,2,8,2, - 255,48,192,3,6,6,8,2,1,224,64,0,0,64,224,3, - 2,2,8,2,4,224,64,4,6,6,8,2,2,192,32,16, - 16,32,192,4,6,6,8,2,2,48,64,128,128,64,48,5, - 5,5,8,1,2,32,32,32,32,248,5,5,5,8,1,2, - 248,32,32,32,32,5,5,5,8,1,2,32,32,248,32,32, - 5,1,1,8,1,4,248,6,3,3,8,1,9,132,132,120, - 2,2,2,8,3,10,192,192,4,3,3,8,2,9,96,144, - 96,3,2,2,8,4,254,128,96,6,2,2,8,1,10,100, - 152,7,2,2,8,1,10,102,136,7,4,4,8,0,3,32, - 96,162,28,6,5,5,8,1,5,132,72,48,72,132,5,6, - 6,8,1,4,136,80,32,80,80,32,3,6,6,8,2,6, - 192,64,64,64,64,224,5,5,5,8,1,5,120,128,112,8, - 240,5,5,5,8,1,5,136,80,32,80,136,5,5,5,8, - 1,7,120,128,128,112,16,5,11,11,8,1,0,248,8,8, - 8,8,8,8,8,8,8,8,5,11,11,8,1,0,8,8, - 248,8,8,8,8,8,8,8,8,5,11,11,8,1,0,8, - 8,8,8,8,248,8,8,8,8,8,5,11,11,8,1,0, - 8,8,8,8,8,8,8,8,248,8,8,5,11,11,8,1, - 0,8,8,8,8,8,8,8,8,8,8,248,5,6,6,8, - 1,0,128,128,128,128,128,248,4,7,7,8,1,0,128,128, - 128,240,128,128,128,5,3,3,8,1,0,136,80,32,6,3, - 3,8,1,9,252,0,252,6,4,4,8,1,8,204,68,68, - 136,5,3,3,8,1,255,136,80,32,5,3,3,8,1,255, - 32,80,136,3,5,5,8,3,255,32,64,128,64,32,3,5, - 5,8,3,255,128,64,32,64,128,4,3,3,8,2,255,96, - 144,96,3,3,3,8,2,9,128,64,32,6,3,3,8,1, - 9,144,72,36,6,3,3,8,1,9,36,72,144,6,2,2, - 8,1,254,100,152,2,7,7,8,3,4,192,192,0,0,0, - 192,192,3,4,4,8,2,7,224,128,128,128,3,4,4,8, - 2,7,224,32,32,32,3,4,4,8,2,0,128,128,128,224, - 3,4,4,8,2,0,32,32,32,224,6,3,3,8,1,254, - 132,132,252,6,3,3,8,1,254,128,128,252,6,5,5,8, - 1,3,32,64,252,64,32}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 3, '1' Height: 10 - Calculated Max Values w=16 h=16 x=14 y=12 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[3556] U8G_SECTION(".progmem.u8g_font_unifont_67_75") = { - 0,16,16,0,254,3,2,120,4,26,16,255,0,14,254,10, - 0,6,5,5,8,1,4,32,64,252,64,32,5,6,6,8, - 2,3,32,112,168,32,32,32,6,5,5,8,1,3,16,8, - 252,8,16,5,6,6,8,2,3,32,32,32,168,112,32,8, - 5,5,8,0,3,36,66,255,66,36,5,9,9,8,2,1, - 32,112,168,32,32,32,168,112,32,6,6,6,8,1,3,240, - 192,160,144,8,4,6,6,6,8,1,3,60,12,20,36,64, - 128,6,6,6,8,1,3,128,64,36,20,12,60,6,6,6, - 8,1,2,4,8,144,160,192,240,7,9,9,8,1,1,8, - 8,40,72,254,72,40,8,8,7,9,9,8,1,1,32,32, - 40,36,254,36,40,32,32,7,5,5,8,1,3,32,76,242, - 64,32,7,5,5,8,1,3,8,100,158,4,8,8,5,5, - 8,0,3,36,72,255,72,36,5,9,9,8,2,1,32,112, - 168,32,112,168,32,32,32,8,5,5,8,0,3,36,18,255, - 18,36,5,9,9,8,2,1,32,32,32,168,112,32,168,112, - 32,7,5,5,8,1,3,34,68,248,68,34,7,5,5,8, - 1,3,136,68,62,68,136,6,5,5,8,1,3,36,68,252, - 68,36,5,6,6,8,2,3,32,112,168,32,32,248,6,5, - 5,8,1,3,144,136,252,136,144,5,6,6,8,2,3,248, - 32,32,168,112,32,5,10,10,8,2,0,32,112,168,32,32, - 32,168,112,32,248,7,6,6,8,1,3,4,34,66,252,64, - 32,7,6,6,8,1,3,64,136,132,126,4,8,7,6,6, - 8,1,3,4,42,74,252,72,40,7,6,6,8,1,3,64, - 168,164,126,36,40,8,5,5,8,0,3,36,90,231,66,36, - 8,9,9,8,0,1,8,8,44,74,255,74,44,8,8,6, - 10,10,8,1,0,128,128,144,176,208,144,16,84,56,16,5, - 10,10,8,1,0,32,64,240,72,40,8,8,8,8,8,5, - 10,10,8,2,0,32,16,120,144,160,128,128,128,128,128,5, - 10,10,8,1,0,8,8,8,8,8,40,72,240,64,32,5, - 10,10,8,2,0,128,128,128,128,128,160,144,120,16,32,7, - 5,5,8,1,1,248,8,42,28,8,5,8,8,8,1,2, - 8,8,8,40,72,248,64,32,8,5,5,8,0,3,30,33, - 169,113,32,8,5,5,8,0,3,120,132,149,142,4,6,8, - 8,8,1,3,252,0,240,192,160,144,8,4,6,11,11,8, - 1,0,160,192,252,192,160,0,20,12,252,12,20,6,6,6, - 8,1,2,92,152,148,132,132,120,6,6,6,8,1,2,232, - 100,164,132,132,120,6,3,3,8,1,5,32,64,252,6,3, - 3,8,1,3,252,64,32,3,6,6,8,4,3,128,192,160, - 128,128,128,3,6,6,8,2,3,32,96,160,32,32,32,6, - 3,3,8,1,5,16,8,252,6,3,3,8,1,3,252,8, - 16,3,6,6,8,4,2,128,128,128,160,192,128,3,6,6, - 8,2,3,32,32,32,160,96,32,6,11,11,8,1,0,16, - 8,252,8,16,0,32,64,252,64,32,8,6,6,8,0,3, - 36,116,164,37,46,36,6,11,11,8,1,0,32,64,252,64, - 32,0,16,8,252,8,16,6,11,11,8,1,0,32,64,252, - 64,32,0,32,64,252,64,32,8,6,6,8,0,3,36,126, - 165,36,36,36,6,11,11,8,1,0,16,8,252,8,16,0, - 16,8,252,8,16,8,6,6,8,0,3,36,36,36,165,126, - 36,6,7,7,8,1,2,32,64,252,0,252,8,16,6,7, - 7,8,1,2,16,8,252,0,252,64,32,7,9,9,8,0, - 1,8,8,40,126,136,126,40,8,8,8,9,9,8,0,1, - 8,8,44,126,137,126,44,8,8,7,9,9,8,1,1,32, - 32,40,252,34,252,40,32,32,6,5,5,8,1,3,32,124, - 128,124,32,5,6,6,8,2,3,32,80,216,80,80,80,6, - 5,5,8,1,3,16,248,4,248,16,5,6,6,8,2,3, - 80,80,80,216,80,32,8,5,5,8,0,3,36,126,129,126, - 36,5,8,8,8,2,2,32,80,216,80,80,216,80,32,6, - 6,6,8,1,3,240,160,208,168,20,8,6,6,6,8,1, - 3,60,20,44,84,160,64,6,6,6,8,1,3,8,20,168, - 208,160,240,6,6,6,8,1,3,64,160,84,44,20,60,7, - 7,7,8,0,2,16,62,64,254,64,62,16,7,7,7,8, - 1,2,16,248,4,254,4,248,16,8,5,5,8,0,3,32, - 66,245,72,32,8,5,5,8,0,3,4,66,175,18,4,5, - 10,10,8,2,0,32,112,168,32,32,248,32,248,32,32,5, - 10,10,8,2,0,32,32,248,32,248,32,32,168,112,32,7, - 5,5,8,1,3,32,64,238,64,32,5,10,10,8,2,0, - 32,112,168,0,32,32,32,0,32,32,7,5,5,8,1,3, - 8,4,238,4,8,5,10,10,8,2,0,32,32,0,32,32, - 32,0,168,112,32,6,5,5,8,1,3,160,192,252,192,160, - 6,5,5,8,1,3,20,12,252,12,20,8,7,7,8,0, - 2,16,48,95,129,95,48,16,7,10,10,8,1,0,16,40, - 68,238,40,40,40,40,40,56,8,7,7,8,0,2,8,12, - 250,129,250,12,8,7,10,10,8,1,0,56,40,40,40,40, - 40,238,68,40,16,7,12,12,8,1,0,16,40,68,238,40, - 40,40,40,56,0,56,56,7,12,12,8,1,0,16,40,68, - 198,68,68,68,68,68,198,130,254,7,12,12,8,1,0,16, - 40,124,198,68,68,68,68,68,198,130,254,7,12,12,8,1, - 0,16,56,84,214,84,84,84,84,84,214,146,254,7,14,14, - 8,1,0,16,40,84,238,68,198,68,68,68,68,68,68,68, - 124,7,14,14,8,1,0,16,40,84,238,68,198,68,68,68, - 68,68,198,130,254,7,7,7,8,1,2,16,216,244,130,244, - 216,16,7,9,9,8,1,0,254,128,184,176,168,132,130,128, - 128,7,9,9,8,1,0,2,2,130,66,42,26,58,2,254, - 5,11,11,8,2,0,32,80,216,80,80,80,80,80,216,80, - 32,13,5,10,16,1,3,14,32,17,16,255,248,17,16,14, - 32,8,10,10,8,0,0,36,46,53,36,36,36,36,172,116, - 36,8,15,15,8,0,254,4,2,255,2,4,4,2,255,2, - 4,4,2,255,2,4,8,5,5,8,0,3,36,68,255,68, - 36,8,5,5,8,0,3,36,34,255,34,36,11,5,10,16, - 2,3,36,128,68,64,255,224,68,64,36,128,12,5,10,16, - 1,3,37,0,69,0,255,240,69,0,37,0,12,5,10,16, - 2,3,10,64,10,32,255,240,10,32,10,64,13,5,10,16, - 1,3,37,32,69,16,255,248,69,16,37,32,8,5,5,8, - 0,3,32,96,191,96,32,8,5,5,8,0,3,4,6,253, - 6,4,12,5,10,16,2,3,32,64,96,96,191,208,96,96, - 32,64,16,8,16,16,0,6,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,16,2,4,16,0,254,255,255, - 255,255,16,4,8,16,0,254,255,255,255,255,255,255,255,255, - 16,6,12,16,0,254,255,255,255,255,255,255,255,255,255,255, - 255,255,16,8,16,16,0,254,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,16,10,20,16,0,254,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,16,12,24,16,0,254,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 16,14,28,16,0,254,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,16,16,32,16,0,254,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,14,16,32,16,0,254,255,252, - 255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,252, - 255,252,255,252,255,252,255,252,255,252,255,252,255,252,12,16, - 32,16,0,254,255,240,255,240,255,240,255,240,255,240,255,240, - 255,240,255,240,255,240,255,240,255,240,255,240,255,240,255,240, - 255,240,255,240,10,16,32,16,0,254,255,192,255,192,255,192, - 255,192,255,192,255,192,255,192,255,192,255,192,255,192,255,192, - 255,192,255,192,255,192,255,192,255,192,8,16,16,16,0,254, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 6,16,16,16,0,254,252,252,252,252,252,252,252,252,252,252, - 252,252,252,252,252,252,4,16,16,16,0,254,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,2,16,16,16, - 0,254,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,8,16,16,16,8,254,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,15,16,32,16,0,254,136,136, - 34,34,136,136,34,34,136,136,34,34,136,136,34,34,136,136, - 34,34,136,136,34,34,136,136,34,34,136,136,34,34,16,16, - 32,16,0,254,170,170,85,85,170,170,85,85,170,170,85,85, - 170,170,85,85,170,170,85,85,170,170,85,85,170,170,85,85, - 170,170,85,85,16,16,32,16,0,254,238,238,187,187,238,238, - 187,187,238,238,187,187,238,238,187,187,238,238,187,187,238,238, - 187,187,238,238,187,187,238,238,187,187,16,2,4,16,0,12, - 255,255,255,255,2,16,16,16,14,254,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,8,8,8,16,0,254, - 255,255,255,255,255,255,255,255,8,8,8,16,8,254,255,255, - 255,255,255,255,255,255,8,8,8,16,0,6,255,255,255,255, - 255,255,255,255,16,16,32,16,0,254,255,0,255,0,255,0, - 255,0,255,0,255,0,255,0,255,0,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,16,16,32,16,0,254, - 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, - 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, - 16,16,32,16,0,254,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,0,255,0,255,0,255,0,255,0, - 255,0,255,0,255,0,16,16,32,16,0,254,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,0,255,0,255, - 0,255,0,255,0,255,0,255,0,255,0,255,8,8,8,16, - 8,6,255,255,255,255,255,255,255,255,16,16,32,16,0,254, - 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, - 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, - 16,16,32,16,0,254,0,255,0,255,0,255,0,255,0,255, - 0,255,0,255,0,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,7,7,7,8,1,1,254,254,254,254, - 254,254,254,7,7,7,8,1,1,254,130,130,130,130,130,254, - 7,7,7,8,1,1,124,130,130,130,130,130,124,7,7,7, - 8,1,1,254,130,186,186,186,130,254,7,7,7,8,1,1, - 254,130,254,130,254,130,254,7,7,7,8,1,1,254,170,170, - 170,170,170,254,7,7,7,8,1,1,254,170,254,170,254,170, - 254,7,7,7,8,1,1,254,166,146,202,166,146,254,7,7, - 7,8,1,1,254,202,146,166,202,146,254,7,7,7,8,1, - 1,254,170,214,170,214,170,254,4,4,4,8,2,4,240,240, - 240,240,4,4,4,8,2,4,240,144,144,240,7,4,4,8, - 1,4,254,254,254,254,7,4,4,8,1,4,254,130,130,254, - 4,7,7,8,2,2,240,240,240,240,240,240,240,4,7,7, - 8,2,2,240,144,144,144,144,144,240,8,3,3,8,0,4, - 63,126,252,8,3,3,8,0,4,63,66,252,6,6,6,8, - 1,3,48,48,120,120,252,252,6,6,6,8,1,3,48,48, - 72,72,132,252,6,3,3,8,1,3,48,120,252,6,3,3, - 8,1,3,48,72,252,6,6,6,8,1,3,192,240,252,252, - 240,192,6,6,6,8,1,3,192,176,140,140,176,192,4,4, - 4,8,2,4,192,240,240,192,4,4,4,8,2,4,192,176, - 176,192,6,5,5,8,1,3,192,240,252,240,192,6,5,5, - 8,1,3,192,176,140,176,192,6,6,6,8,1,3,252,252, - 120,120,48,48,6,6,6,8,1,3,252,132,72,72,48,48, - 6,3,3,8,1,3,252,120,48,6,3,3,8,1,3,252, - 72,48,6,6,6,8,1,3,12,60,252,252,60,12,6,6, - 6,8,1,3,12,52,196,196,52,12,4,4,4,8,2,4, - 48,240,240,48,4,4,4,8,2,4,48,208,208,48,6,5, - 5,8,1,3,12,60,252,60,12,6,5,5,8,1,3,12, - 52,196,52,12,7,7,7,8,1,2,16,56,124,254,124,56, - 16,7,7,7,8,1,2,16,40,68,130,68,40,16,7,7, - 7,8,1,2,16,40,84,186,84,40,16,7,7,7,8,1, - 2,56,68,178,186,154,68,56,6,10,10,8,1,1,48,48, - 72,72,132,132,72,72,48,48,7,7,7,8,1,2,56,68, - 130,130,130,68,56,7,7,7,8,1,2,40,0,130,0,130, - 0,40,7,7,7,8,1,2,56,108,170,170,170,108,56,7, - 7,7,8,1,2,56,68,146,170,146,68,56,7,7,7,8, - 1,2,56,124,254,254,254,124,56,7,7,7,8,1,2,56, - 100,226,226,226,100,56,7,7,7,8,1,2,56,76,142,142, - 142,76,56,7,7,7,8,1,2,56,68,130,130,254,124,56, - 7,7,7,8,1,2,56,124,254,130,130,68,56,7,7,7, - 8,1,2,56,92,158,158,130,68,56,7,7,7,8,1,2, - 56,76,142,142,254,124,56,4,7,7,8,1,2,48,112,240, - 240,240,112,48,4,7,7,8,4,2,192,224,240,240,240,224, - 192,8,16,16,8,0,254,255,255,255,255,255,255,231,195,195, - 231,255,255,255,255,255,255,8,16,16,8,0,254,255,255,255, - 255,255,231,219,189,189,219,231,255,255,255,255,255,8,8,8, - 8,0,6,255,255,255,255,255,231,219,189,8,8,8,8,0, - 254,189,219,231,255,255,255,255,255,4,4,4,8,1,5,48, - 64,128,128,4,4,4,8,4,5,192,32,16,16,4,4,4, - 8,4,2,16,16,32,192,4,4,4,8,1,2,128,128,64, - 48,7,4,4,8,1,5,56,68,130,130,7,4,4,8,1, - 2,130,130,68,56,6,6,6,8,1,255,4,12,28,60,124, - 252,6,6,6,8,1,255,128,192,224,240,248,252,6,6,6, - 8,1,6,252,248,240,224,192,128,6,6,6,8,1,6,252, - 124,60,28,12,4,5,5,5,8,1,2,112,136,136,136,112, - 6,6,6,8,1,3,252,228,228,228,228,252,6,6,6,8, - 1,3,252,156,156,156,156,252,6,6,6,8,1,3,252,244, - 228,196,132,252,6,6,6,8,1,3,252,132,140,156,188,252, - 7,6,6,8,1,3,254,146,146,146,146,254,7,7,7,8, - 1,2,16,40,40,68,84,130,254,6,6,6,8,1,2,48, - 48,104,104,228,252,6,7,7,8,1,2,48,48,88,88,156, - 156,252,8,8,8,8,0,2,60,66,129,129,129,129,66,60, - 6,6,6,8,1,0,252,164,228,132,132,252,6,6,6,8, - 1,0,252,132,132,228,164,252,6,6,6,8,1,0,252,132, - 132,156,148,252,6,6,6,8,1,0,252,148,156,132,132,252, - 8,8,8,8,0,0,60,82,145,241,129,129,66,60,8,8, - 8,8,0,0,60,66,129,129,241,145,82,60,8,8,8,8, - 0,0,60,66,129,129,143,137,74,60,8,8,8,8,0,0, - 60,74,137,143,129,129,66,60,6,6,6,8,1,6,252,136, - 144,160,192,128,6,6,6,8,1,6,252,68,36,20,12,4, - 6,6,6,8,1,255,128,192,160,144,136,252,6,6,6,8, - 1,255,252,132,132,132,132,252,6,6,6,8,1,255,252,252, - 252,252,252,252,4,4,4,8,2,0,240,144,144,240,4,4, - 4,8,2,0,240,240,240,240,6,6,6,8,1,255,4,12, - 20,36,68,252}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 14 - Calculated Max Values w=16 h=16 x= 4 y= 5 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-1 - X Font ascent =14 descent=-1 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7240] U8G_SECTION(".progmem.u8g_font_unifont_72_73") = { - 0,16,16,0,254,10,4,144,6,240,0,255,255,14,254,14, - 255,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,14,5,10,16,1,4,115,36,132, - 164,100,188,20,164,227,36,13,5,10,16,1,4,119,72,130, - 72,98,48,18,72,226,72,13,5,10,16,1,4,247,72,130, - 72,242,48,130,72,242,72,14,5,10,16,1,4,243,124,132, - 144,244,144,132,144,243,16,14,5,10,16,1,4,244,152,132, - 164,246,164,133,172,244,156,13,5,10,16,1,4,99,72,148, - 80,244,96,148,80,147,72,14,5,10,16,1,4,231,160,148, - 32,231,160,148,32,231,188,10,5,10,16,1,4,241,192,138, - 0,241,128,136,64,243,128,11,5,10,16,1,4,139,224,136, - 128,248,128,136,128,136,128,11,5,10,16,1,4,131,224,130, - 0,131,224,130,0,250,0,11,5,10,16,1,4,139,224,136, - 128,136,128,80,128,32,128,11,5,10,16,1,4,251,224,130, - 0,251,224,130,0,130,0,11,5,10,16,1,4,123,192,130, - 32,131,192,130,64,122,32,11,5,10,16,1,4,121,192,130, - 32,114,32,10,32,241,192,11,5,10,16,1,4,123,224,128, - 128,112,128,8,128,243,224,12,5,10,16,1,4,228,112,148, - 64,148,112,148,64,231,112,13,5,10,16,1,4,227,16,148, - 48,148,16,148,16,227,56,13,5,10,16,1,4,227,48,148, - 8,148,16,148,32,227,56,13,5,10,16,1,4,227,48,148, - 8,148,48,148,8,227,48,13,5,10,16,1,4,227,8,148, - 24,148,40,148,56,227,8,14,5,10,16,1,4,147,36,212, - 168,212,176,183,168,148,164,14,5,10,16,1,4,104,164,133, - 52,98,44,18,36,226,36,13,5,10,16,1,4,247,112,130, - 72,242,112,130,72,242,112,13,5,10,16,1,4,102,72,137, - 104,143,88,137,72,105,72,11,5,10,16,1,4,250,32,131, - 96,250,160,130,32,250,32,14,5,10,16,1,4,116,184,132, - 164,100,184,20,164,227,56,14,5,10,16,1,4,243,156,132, - 32,243,32,128,160,247,28,9,5,10,16,1,4,243,128,132, - 0,243,0,128,128,135,0,9,5,10,16,1,4,115,128,132, - 0,179,0,144,128,119,0,9,5,10,16,1,4,227,128,148, - 0,227,0,160,128,151,0,9,5,10,16,1,4,147,128,148, - 0,147,0,144,128,103,0,9,5,10,16,1,4,119,0,132, - 128,103,0,20,0,228,0,14,5,10,16,1,4,231,160,148, - 32,151,160,148,32,231,188,6,10,10,8,1,0,40,48,32, - 96,184,36,36,36,36,56,6,2,2,8,1,0,132,252,6, - 9,9,8,1,1,144,208,176,144,0,32,32,32,60,7,7, - 7,8,1,2,2,20,42,84,168,80,128,6,11,11,8,1, - 0,120,132,132,128,64,32,16,16,0,16,16,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 5,10,10,8,2,0,56,40,40,40,32,32,160,160,160,224, - 5,10,10,8,2,0,8,8,8,8,8,248,136,136,136,136, - 5,10,10,8,2,0,136,136,136,136,136,248,32,32,32,32, - 5,10,10,8,2,0,32,32,32,32,32,248,136,136,136,136, - 5,10,10,8,2,0,248,168,168,168,32,32,168,168,168,248, - 5,5,5,8,2,5,136,216,168,216,136,6,8,8,8,1, - 1,28,220,220,192,192,220,220,28,8,10,10,8,0,0,3, - 3,3,27,24,24,216,192,192,192,7,10,10,8,1,0,14, - 174,174,160,160,160,160,160,160,160,7,9,9,8,1,0,218, - 218,218,218,218,218,218,218,218,8,10,10,8,0,0,160,160, - 80,40,40,20,20,10,5,5,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,15,15,30,16, - 0,255,7,192,24,48,32,8,65,4,67,4,133,2,129,2, - 129,2,129,2,129,2,65,4,71,196,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,196,72,36, - 128,34,128,34,128,194,131,2,132,2,72,36,79,228,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 71,196,72,36,128,34,128,34,128,194,128,34,128,34,72,36, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,68,64,196,129,66,130,66,132,66,136,66, - 159,242,64,68,65,244,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,79,228,72,4,136,2,143,194, - 128,34,128,34,128,34,72,36,71,196,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,196,72,36, - 136,2,136,2,143,194,136,34,136,34,72,36,71,196,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 79,228,72,36,128,66,128,66,128,130,129,2,129,2,66,4, - 66,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,72,36,136,34,136,34,135,194,136,34, - 136,34,72,36,71,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,71,196,72,36,136,34,136,34, - 135,226,128,34,128,34,72,36,71,196,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,72,228,89,20, - 137,18,137,18,137,18,137,18,137,18,73,20,92,228,32,8, - 24,48,7,192,14,14,28,16,1,255,31,224,32,16,72,72, - 152,196,136,68,136,68,136,68,136,68,136,68,136,68,156,228, - 64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16, - 73,200,154,36,139,36,136,36,136,196,137,4,138,4,138,20, - 159,228,64,8,32,16,31,224,14,14,28,16,1,255,31,224, - 32,16,73,200,154,36,136,36,136,36,136,196,136,36,138,36, - 138,36,157,196,64,8,32,16,31,224,14,14,28,16,1,255, - 31,224,32,16,72,72,152,196,136,196,137,68,137,68,138,68, - 143,244,136,68,156,228,64,8,32,16,31,224,14,14,28,16, - 1,255,31,224,32,16,75,40,154,196,138,4,138,196,139,36, - 136,36,136,36,138,36,157,196,64,8,32,16,31,224,14,14, - 28,16,1,255,31,224,32,16,72,200,153,36,138,4,138,196, - 139,36,138,36,138,36,138,36,157,196,64,8,32,16,31,224, - 14,14,28,16,1,255,31,224,32,16,75,232,154,36,136,36, - 136,68,136,132,136,132,136,132,136,132,157,196,64,8,32,16, - 31,224,14,14,28,16,1,255,31,224,32,16,73,200,154,36, - 138,36,138,36,137,196,138,36,138,36,138,36,157,196,64,8, - 32,16,31,224,14,14,28,16,1,255,31,224,32,16,73,200, - 154,36,138,36,138,36,137,228,136,36,136,36,138,36,157,196, - 64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16, - 88,200,165,36,133,36,133,36,137,36,145,36,161,36,165,36, - 188,196,64,8,32,16,31,224,15,14,28,16,0,255,64,4, - 129,2,129,2,129,2,129,2,129,2,129,2,129,2,129,2, - 129,2,129,2,129,2,129,2,64,4,15,14,28,16,0,255, - 64,4,135,130,136,66,136,66,128,66,128,66,128,66,128,130, - 131,2,132,2,136,66,136,66,143,194,64,4,15,14,28,16, - 0,255,64,4,135,130,136,66,136,66,128,66,128,130,131,2, - 128,130,128,66,128,66,136,66,136,66,135,130,64,4,15,14, - 28,16,0,255,65,132,130,130,130,130,130,130,132,130,132,130, - 136,130,136,130,143,226,128,130,128,130,128,130,128,130,64,4, - 15,14,28,16,0,255,64,4,143,194,136,2,136,2,136,2, - 139,130,140,66,136,66,128,66,128,66,136,66,136,66,135,130, - 64,4,15,14,28,16,0,255,64,4,135,130,136,66,136,66, - 136,2,136,2,139,130,140,66,136,66,136,66,136,66,136,66, - 135,130,64,4,15,14,28,16,0,255,64,4,143,226,136,34, - 136,34,128,66,128,130,128,130,128,130,129,2,129,2,129,2, - 129,2,129,2,64,4,15,14,28,16,0,255,64,4,135,130, - 136,66,136,66,136,66,136,66,135,130,136,66,136,66,136,66, - 136,66,136,66,135,130,64,4,15,14,28,16,0,255,64,4, - 135,130,136,66,136,66,136,66,136,66,136,194,135,66,128,66, - 128,66,136,66,136,66,135,130,64,4,15,14,28,16,0,255, - 64,4,136,226,137,18,137,18,137,18,137,18,137,18,137,18, - 137,18,137,18,137,18,137,18,136,226,64,4,15,14,28,16, - 0,255,64,4,136,34,136,34,136,34,136,34,136,34,136,34, - 136,34,136,34,136,34,136,34,136,34,136,34,64,4,15,14, - 28,16,0,255,64,4,145,226,146,18,146,18,144,18,144,18, - 144,34,144,194,145,2,146,2,146,18,146,18,147,242,64,4, - 15,14,28,16,0,255,64,4,145,226,146,18,146,18,144,18, - 144,34,144,194,144,34,144,18,144,18,146,18,146,18,145,226, - 64,4,15,14,28,16,0,255,64,4,144,98,144,162,144,162, - 144,162,145,34,145,34,146,34,146,34,147,250,144,34,144,34, - 144,34,64,4,15,14,28,16,0,255,64,4,147,242,146,2, - 146,2,146,2,146,226,147,18,146,18,144,18,144,18,146,18, - 146,18,145,226,64,4,15,14,28,16,0,255,64,4,145,226, - 146,18,146,18,146,2,146,2,146,226,147,18,146,18,146,18, - 146,18,146,18,145,226,64,4,15,14,28,16,0,255,64,4, - 147,242,146,18,146,18,144,34,144,66,144,66,144,66,144,130, - 144,130,144,130,144,130,144,130,64,4,15,14,28,16,0,255, - 64,4,145,226,146,18,146,18,146,18,146,18,145,226,146,18, - 146,18,146,18,146,18,146,18,145,226,64,4,15,14,28,16, - 0,255,64,4,145,226,146,18,146,18,146,18,146,18,146,50, - 145,210,144,18,144,18,146,18,146,18,145,226,64,4,15,14, - 28,16,0,255,64,4,156,114,162,138,162,138,130,138,130,138, - 132,138,136,138,144,138,160,138,162,138,162,138,190,114,64,4, - 6,14,14,16,4,255,32,96,160,32,32,32,32,32,32,32, - 32,32,32,36,9,14,28,16,3,255,120,0,132,0,132,0, - 4,0,4,0,4,0,8,0,48,0,64,0,128,0,128,0, - 132,0,132,0,252,128,9,14,28,16,3,255,120,0,132,0, - 132,0,4,0,4,0,8,0,48,0,8,0,4,0,4,0, - 132,0,132,0,132,0,120,128,10,15,30,16,3,254,24,0, - 40,0,40,0,40,0,72,0,72,0,72,0,136,0,136,0, - 254,0,8,0,8,0,8,0,8,64,8,0,9,14,28,16, - 3,255,252,0,128,0,128,0,128,0,128,0,128,0,184,0, - 196,0,132,0,4,0,4,0,132,0,132,0,120,128,9,14, - 28,16,3,255,120,0,132,0,132,0,132,0,128,0,128,0, - 184,0,196,0,132,0,132,0,132,0,132,0,132,0,120,128, - 10,14,28,16,3,255,254,0,130,0,130,0,4,0,8,0, - 8,0,8,0,16,0,16,0,16,0,16,0,16,0,16,0, - 16,64,9,14,28,16,3,255,120,0,132,0,132,0,132,0, - 132,0,72,0,48,0,72,0,132,0,132,0,132,0,132,0, - 132,0,120,128,9,14,28,16,3,255,120,0,132,0,132,0, - 132,0,132,0,132,0,140,0,116,0,4,0,4,0,132,0, - 132,0,132,0,120,128,13,14,28,16,0,255,35,192,100,32, - 164,32,36,32,36,32,36,32,36,32,36,32,36,32,36,32, - 36,32,36,32,36,32,35,200,12,14,28,16,0,255,32,128, - 97,128,162,128,32,128,32,128,32,128,32,128,32,128,32,128, - 32,128,32,128,32,128,32,128,32,144,14,14,28,16,0,255, - 35,192,100,32,164,32,32,32,32,32,32,32,32,64,33,128, - 34,0,36,0,36,0,36,32,36,32,39,228,14,14,28,16, - 0,255,35,192,100,32,164,32,32,32,32,32,32,64,33,128, - 32,64,32,32,32,32,36,32,36,32,36,32,35,196,13,14, - 28,16,0,255,32,192,97,64,161,64,33,64,34,64,34,64, - 34,64,36,64,36,64,39,240,32,64,32,64,32,64,32,72, - 14,14,28,16,0,255,39,224,100,0,164,0,36,0,36,0, - 36,0,37,192,38,32,36,32,32,32,32,32,36,32,36,32, - 35,196,14,14,28,16,0,255,35,192,100,32,164,32,36,32, - 36,0,36,0,37,192,38,32,36,32,36,32,36,32,36,32, - 36,32,35,196,14,14,28,16,0,255,39,240,100,16,164,16, - 32,32,32,64,32,64,32,64,32,128,32,128,32,128,32,128, - 32,128,32,128,32,132,14,14,28,16,0,255,35,192,100,32, - 164,32,36,32,36,32,34,64,33,128,34,64,36,32,36,32, - 36,32,36,32,36,32,35,196,14,14,28,16,0,255,35,192, - 100,32,164,32,36,32,36,32,36,32,36,96,35,160,32,32, - 32,32,36,32,36,32,36,32,35,196,13,14,28,16,1,255, - 113,192,138,32,138,32,10,32,10,32,10,32,50,32,66,32, - 130,32,130,32,130,32,138,32,138,32,249,200,14,14,28,16, - 1,255,48,48,64,8,128,4,128,4,135,132,136,68,128,68, - 135,196,136,68,136,68,135,180,128,4,64,8,48,48,14,14, - 28,16,1,255,48,48,72,8,152,4,136,4,139,132,140,68, - 136,36,136,36,136,36,140,68,155,132,128,4,64,8,48,48, - 14,14,28,16,1,255,48,48,64,8,128,4,128,4,135,132, - 136,68,144,4,144,4,144,36,136,68,135,132,128,4,64,8, - 48,48,14,14,28,16,1,255,48,48,64,72,128,196,128,68, - 135,68,136,196,144,68,144,68,144,68,136,196,135,100,128,4, - 64,8,48,48,14,14,28,16,1,255,48,48,64,8,128,4, - 128,4,143,132,144,68,144,68,159,196,144,4,144,68,143,132, - 128,4,64,8,48,48,14,14,28,16,1,255,48,48,65,136, - 130,196,130,4,143,132,130,4,130,4,130,4,130,4,130,4, - 135,4,128,4,64,8,48,48,14,14,28,16,1,255,48,48, - 64,8,128,4,128,100,135,132,136,68,136,68,159,132,144,4, - 143,196,144,36,144,36,79,200,48,48,14,14,28,16,1,255, - 48,48,72,8,152,4,136,4,137,196,142,68,136,68,136,68, - 136,68,136,68,156,228,128,4,64,8,48,48,14,14,28,16, - 1,255,49,48,65,8,128,4,128,4,129,4,131,4,129,4, - 129,4,129,4,129,4,131,132,128,4,64,8,48,48,14,14, - 28,16,1,255,49,48,65,8,128,4,128,4,129,4,131,4, - 129,4,129,4,129,4,129,4,129,4,137,4,70,8,48,48, - 14,14,28,16,1,255,48,48,72,8,152,4,136,4,137,196, - 136,132,137,4,143,4,137,132,136,196,156,228,128,4,64,8, - 48,48,14,14,28,16,1,255,48,48,66,8,134,4,130,4, - 130,4,130,4,130,4,130,4,130,4,130,4,135,4,128,4, - 64,8,48,48,14,14,28,16,1,255,48,48,64,8,128,4, - 128,4,150,196,187,68,146,68,146,68,146,68,146,68,187,100, - 128,4,64,8,48,48,14,14,28,16,1,255,48,48,64,8, - 128,4,128,4,137,196,158,68,136,68,136,68,136,68,136,68, - 156,228,128,4,64,8,48,48,14,14,28,16,1,255,48,48, - 64,8,128,4,128,4,143,132,144,68,144,68,144,68,144,68, - 144,68,143,132,128,4,64,8,48,48,14,14,28,16,1,255, - 48,48,64,8,128,4,128,4,139,132,156,68,136,36,136,36, - 136,36,140,68,139,132,136,4,92,8,48,48,14,14,28,16, - 1,255,48,48,64,8,128,4,128,4,135,68,136,196,144,68, - 144,68,144,68,136,196,135,68,128,68,64,232,48,48,14,14, - 28,16,1,255,48,48,64,8,128,4,128,4,137,196,158,100, - 136,4,136,4,136,4,136,4,156,4,128,4,64,8,48,48, - 14,14,28,16,1,255,48,48,64,8,128,4,128,4,135,196, - 136,36,136,4,135,196,128,36,136,36,135,196,128,4,64,8, - 48,48,14,14,28,16,1,255,48,48,64,8,128,4,130,4, - 130,4,143,132,130,4,130,4,130,4,130,68,131,132,128,4, - 64,8,48,48,14,14,28,16,1,255,48,48,64,8,128,4, - 128,4,136,68,152,196,136,68,136,68,136,68,136,196,143,100, - 128,4,64,8,48,48,14,14,28,16,1,255,48,48,64,8, - 128,4,128,4,156,116,136,36,132,68,132,68,130,132,130,132, - 129,4,128,4,64,8,48,48,14,14,28,16,1,255,48,48, - 64,8,128,4,128,4,191,116,146,36,146,36,137,68,139,68, - 132,132,132,132,128,4,64,8,48,48,14,14,28,16,1,255, - 48,48,64,8,128,4,128,4,156,228,136,68,132,132,131,4, - 132,132,136,68,156,228,128,4,64,8,48,48,14,14,28,16, - 1,255,48,48,64,8,128,4,128,4,184,228,144,68,136,132, - 133,4,130,4,130,4,135,4,128,4,64,8,48,48,14,14, - 28,16,1,255,48,48,64,8,128,4,128,4,135,228,132,68, - 136,132,129,4,130,4,132,36,143,196,128,4,64,8,48,48, - 15,15,30,16,0,255,7,192,24,48,33,8,66,132,68,68, - 132,66,132,66,135,194,132,66,132,66,68,68,76,100,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 79,132,68,68,132,34,132,66,135,130,132,66,132,34,68,68, - 79,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,196,68,36,132,2,132,2,132,2,132,2, - 132,2,68,36,67,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,79,132,68,68,132,34,132,34, - 132,34,132,34,132,34,68,68,79,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,79,228,68,36, - 132,2,132,2,135,130,132,2,132,2,68,36,79,228,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 79,228,68,36,132,2,132,2,135,130,132,2,132,2,68,4, - 78,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,196,68,36,132,2,132,2,132,226,132,34, - 132,34,68,100,67,164,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,78,228,68,68,132,66,132,66, - 135,194,132,66,132,66,68,68,78,228,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,67,132,65,4, - 129,2,129,2,129,2,129,2,129,2,65,4,67,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 65,196,64,132,128,130,128,130,128,130,128,130,128,130,72,132, - 71,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,78,100,68,68,132,130,133,2,134,2,133,2, - 132,130,68,68,78,100,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,78,4,68,4,132,2,132,2, - 132,2,132,2,132,2,68,36,79,196,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,76,100,70,196, - 134,194,133,66,133,66,132,66,132,66,68,68,78,228,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 76,100,68,68,134,66,134,66,133,66,133,66,132,194,68,196, - 76,100,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,132,68,68,136,34,136,34,136,34,136,34, - 136,34,68,68,67,132,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,79,132,68,68,132,66,132,66, - 135,130,132,2,132,2,68,4,78,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,67,132,68,68, - 136,34,136,34,136,34,136,34,137,162,68,68,67,164,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 79,132,68,68,132,66,132,66,135,130,133,2,132,130,68,68, - 78,36,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,132,68,68,132,2,132,2,131,130,128,66, - 128,66,68,68,67,132,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,79,228,73,36,129,2,129,2, - 129,2,129,2,129,2,65,4,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,78,228,68,68, - 132,66,132,66,132,66,132,66,132,66,68,68,67,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 76,100,68,68,132,66,132,66,130,130,130,130,130,130,65,4, - 65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,76,100,69,68,133,66,133,66,133,66,133,66, - 134,194,68,68,68,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,78,228,68,68,132,66,130,130, - 129,2,130,130,132,66,68,68,78,228,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,78,228,68,68, - 132,66,130,130,129,2,129,2,129,2,65,4,67,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 79,228,72,36,128,66,128,130,129,2,130,2,132,2,72,36, - 79,228,32,8,24,48,7,192,14,14,28,16,1,255,31,224, - 32,16,64,8,128,4,143,132,144,68,128,68,143,196,144,68, - 144,68,143,180,64,8,32,16,31,224,14,14,28,16,1,255, - 31,224,40,16,88,8,136,4,139,132,140,68,136,36,136,36, - 136,36,140,68,155,132,64,8,32,16,31,224,14,14,28,16, - 1,255,31,224,32,16,64,8,128,4,135,132,136,68,144,4, - 144,4,144,4,136,100,135,132,64,8,32,16,31,224,14,14, - 28,16,1,255,31,224,32,80,64,200,128,68,135,68,136,196, - 144,68,144,68,144,68,144,68,143,164,64,8,32,16,31,224, - 14,14,28,16,1,255,31,224,32,16,64,8,128,4,135,132, - 136,68,144,36,159,228,144,4,136,36,135,196,64,8,32,16, - 31,224,14,14,28,16,1,255,31,224,35,144,66,200,130,4, - 143,132,130,4,130,4,130,4,130,4,130,4,135,4,64,8, - 32,16,31,224,14,14,28,16,1,255,31,224,32,16,64,8, - 128,196,135,132,136,68,136,68,143,132,144,4,159,196,144,36, - 80,40,47,208,31,224,14,14,28,16,1,255,31,224,40,16, - 88,8,136,4,139,196,140,68,136,68,136,68,136,68,136,68, - 156,228,64,8,32,16,31,224,14,14,28,16,1,255,31,224, - 33,16,65,8,128,4,129,4,131,4,129,4,129,4,129,4, - 129,4,131,132,64,8,32,16,31,224,14,14,28,16,1,255, - 31,224,33,16,65,8,128,4,129,4,131,4,129,4,129,4, - 129,4,129,4,129,4,89,8,38,16,31,224,14,14,28,16, - 1,255,31,224,40,16,88,8,136,4,137,228,136,132,139,4, - 141,132,136,196,136,100,156,244,64,8,32,16,31,224,14,14, - 28,16,1,255,31,224,34,16,70,8,130,4,130,4,130,4, - 130,4,130,4,130,4,130,4,135,4,64,8,32,16,31,224, - 14,14,28,16,1,255,31,224,32,16,64,8,128,4,150,196, - 187,68,146,68,146,68,146,68,146,68,187,100,64,8,32,16, - 31,224,14,14,28,16,1,255,31,224,32,16,64,8,128,4, - 139,196,156,68,136,68,136,68,136,68,136,68,156,228,64,8, - 32,16,31,224,14,14,28,16,1,255,31,224,32,16,64,8, - 128,4,135,196,136,36,136,36,136,36,136,36,136,36,135,196, - 64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16, - 64,8,128,4,139,132,156,68,136,36,136,36,136,36,140,68, - 139,132,72,8,40,16,31,224,14,14,28,16,1,255,31,224, - 32,16,64,8,128,4,135,68,136,196,144,68,144,68,144,68, - 136,196,135,68,64,72,32,80,31,224,14,14,28,16,1,255, - 31,224,32,16,64,8,128,4,137,196,158,100,136,4,136,4, - 136,4,136,4,156,4,64,8,32,16,31,224,14,14,28,16, - 1,255,31,224,32,16,64,8,128,4,135,196,136,36,140,4, - 131,132,128,100,136,36,135,196,64,8,32,16,31,224,14,14, - 28,16,1,255,31,224,32,16,64,8,130,4,130,4,143,132, - 130,4,130,4,130,4,130,68,131,132,64,8,32,16,31,224, - 14,14,28,16,1,255,31,224,32,16,64,8,128,4,136,68, - 152,196,136,68,136,68,136,68,136,68,143,164,64,8,32,16, - 31,224,14,14,28,16,1,255,31,224,32,16,64,8,128,4, - 156,116,136,36,132,68,132,68,130,132,130,132,129,4,64,8, - 32,16,31,224,14,14,28,16,1,255,31,224,32,16,64,8, - 128,4,247,116,162,36,162,36,147,68,149,68,136,132,136,132, - 64,8,32,16,31,224,14,14,28,16,1,255,31,224,32,16, - 64,8,128,4,184,228,136,132,133,4,130,4,133,4,136,132, - 184,228,64,8,32,16,31,224,14,14,28,16,1,255,31,224, - 32,16,64,8,128,4,184,228,144,68,136,132,133,4,130,4, - 130,4,135,4,64,8,32,16,31,224,14,14,28,16,1,255, - 31,224,32,16,64,8,128,4,143,196,136,68,144,132,131,4, - 132,4,136,68,159,132,64,8,32,16,31,224,16,15,30,16, - 0,254,7,224,24,24,32,4,67,194,68,34,132,33,132,33, - 132,33,132,33,132,33,68,34,67,194,32,4,24,24,7,224, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,188, - 231,60,247,188,247,188,227,28,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60, - 231,220,247,188,247,124,227,28,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60, - 231,220,247,60,247,220,227,60,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,246,188, - 230,188,246,28,247,188,227,188,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,28, - 231,124,247,60,247,220,227,60,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60, - 230,252,246,60,246,220,227,60,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,246,60, - 231,188,247,188,247,124,227,124,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60, - 230,220,247,60,246,220,227,60,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,247,60, - 230,220,247,28,247,220,227,60,127,248,127,248,63,240,15,192, - 14,13,26,16,1,255,15,192,63,240,127,248,127,248,231,156, - 251,108,247,108,239,108,227,156,127,248,127,248,63,240,15,192, - 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, - 144,137,161,133,160,133,160,133,145,201,80,10,76,50,35,196, - 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,145,137,160,69,160,133,161,5,145,201,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,145,137,160,69,161,133,160,69, - 145,137,80,10,76,50,35,196,24,24,7,224,16,15,30,16, - 0,254,7,224,24,24,35,196,76,50,80,10,146,137,162,133, - 163,197,160,133,144,137,80,10,76,50,35,196,24,24,7,224, - 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, - 145,201,161,5,161,133,160,69,145,137,80,10,76,50,35,196, - 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,145,137,162,5,163,133,162,69,145,137,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,145,201,160,69,160,69,160,133, - 144,137,80,10,76,50,35,196,24,24,7,224,16,15,30,16, - 0,254,7,224,24,24,35,196,76,50,80,10,145,137,162,69, - 161,133,162,69,145,137,80,10,76,50,35,196,24,24,7,224, - 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, - 145,137,162,69,161,197,160,69,145,137,80,10,76,50,35,196, - 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,146,105,166,149,162,149,162,149,151,105,80,10, - 76,50,35,196,24,24,7,224,14,13,26,16,1,255,15,192, - 63,240,127,248,127,248,252,252,251,124,251,124,251,124,252,252, - 127,248,127,248,63,240,15,192}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 6, '1' Height: 3 - Calculated Max Values w= 8 h=10 x= 2 y= 4 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent =11 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_SECTION(".progmem.u8g_font_unifont_75r") = { - 0,16,16,0,254,6,1,137,0,0,32,79,0,11,0,8, - 0,7,7,7,8,1,1,254,254,254,254,254,254,254,7,7, - 7,8,1,1,254,130,130,130,130,130,254,7,7,7,8,1, - 1,124,130,130,130,130,130,124,7,7,7,8,1,1,254,130, - 186,186,186,130,254,7,7,7,8,1,1,254,130,254,130,254, - 130,254,7,7,7,8,1,1,254,170,170,170,170,170,254,7, - 7,7,8,1,1,254,170,254,170,254,170,254,7,7,7,8, - 1,1,254,166,146,202,166,146,254,7,7,7,8,1,1,254, - 202,146,166,202,146,254,7,7,7,8,1,1,254,170,214,170, - 214,170,254,4,4,4,8,2,4,240,240,240,240,4,4,4, - 8,2,4,240,144,144,240,7,4,4,8,1,4,254,254,254, - 254,7,4,4,8,1,4,254,130,130,254,4,7,7,8,2, - 2,240,240,240,240,240,240,240,4,7,7,8,2,2,240,144, - 144,144,144,144,240,8,3,3,8,0,4,63,126,252,8,3, - 3,8,0,4,63,66,252,6,6,6,8,1,3,48,48,120, - 120,252,252,6,6,6,8,1,3,48,48,72,72,132,252,6, - 3,3,8,1,3,48,120,252,6,3,3,8,1,3,48,72, - 252,6,6,6,8,1,3,192,240,252,252,240,192,6,6,6, - 8,1,3,192,176,140,140,176,192,4,4,4,8,2,4,192, - 240,240,192,4,4,4,8,2,4,192,176,176,192,6,5,5, - 8,1,3,192,240,252,240,192,6,5,5,8,1,3,192,176, - 140,176,192,6,6,6,8,1,3,252,252,120,120,48,48,6, - 6,6,8,1,3,252,132,72,72,48,48,6,3,3,8,1, - 3,252,120,48,6,3,3,8,1,3,252,72,48,6,6,6, - 8,1,3,12,60,252,252,60,12,6,6,6,8,1,3,12, - 52,196,196,52,12,4,4,4,8,2,4,48,240,240,48,4, - 4,4,8,2,4,48,208,208,48,6,5,5,8,1,3,12, - 60,252,60,12,6,5,5,8,1,3,12,52,196,52,12,7, - 7,7,8,1,2,16,56,124,254,124,56,16,7,7,7,8, - 1,2,16,40,68,130,68,40,16,7,7,7,8,1,2,16, - 40,84,186,84,40,16,7,7,7,8,1,2,56,68,178,186, - 154,68,56,6,10,10,8,1,1,48,48,72,72,132,132,72, - 72,48,48,7,7,7,8,1,2,56,68,130,130,130,68,56, - 7,7,7,8,1,2,40,0,130,0,130,0,40,7,7,7, - 8,1,2,56,108,170,170,170,108,56,7,7,7,8,1,2, - 56,68,146,170,146,68,56,7,7,7,8,1,2,56,124,254, - 254,254,124,56}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 8 - Calculated Max Values w=16 h=16 x= 3 y= 6 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_76[2532] U8G_SECTION(".progmem.u8g_font_unifont_76") = { - 0,16,16,0,254,10,2,68,4,220,32,159,0,14,254,10, - 0,7,12,12,8,1,0,16,146,68,0,56,124,124,56,0, - 68,146,16,8,4,4,8,0,6,32,118,255,126,7,8,8, - 8,1,2,56,124,254,16,16,16,16,32,16,16,32,16,0, - 254,139,200,3,192,47,241,4,36,138,80,40,18,10,80,73, - 148,4,33,71,224,8,16,16,136,120,30,16,136,8,16,7, - 224,7,11,11,8,1,0,68,68,72,72,80,82,4,96,144, - 144,96,7,6,6,8,1,3,16,16,254,56,108,68,7,7, - 7,8,1,3,16,16,238,68,84,108,68,5,9,9,8,2, - 0,8,16,32,64,128,64,40,24,56,6,8,8,8,1,0, - 252,132,136,144,160,148,140,156,8,8,8,8,0,0,60,66, - 129,153,153,129,66,60,8,6,6,8,0,2,24,36,36,102, - 165,66,8,6,6,8,0,2,66,165,102,36,36,24,5,6, - 6,8,1,2,8,16,96,144,144,96,7,9,9,8,1,0, - 12,18,18,12,16,96,144,144,96,7,6,6,8,1,1,124, - 198,0,84,198,254,7,7,7,8,1,1,124,130,186,124,146, - 130,254,7,7,7,8,1,0,254,130,130,130,130,130,254,7, - 8,8,8,1,0,8,254,138,138,202,178,130,254,7,7,7, - 8,1,0,254,130,170,146,170,130,254,5,10,10,8,2,0, - 136,136,80,80,32,32,80,80,136,136,7,12,12,8,1,2, - 10,160,8,130,56,124,254,16,16,16,16,32,12,13,26,16, - 2,0,36,128,73,0,73,0,36,128,36,128,73,0,0,0, - 127,32,255,208,191,80,128,80,128,224,127,0,11,13,26,16, - 2,0,4,0,10,0,17,0,32,128,64,64,128,32,128,32, - 128,32,128,32,128,32,128,32,128,32,255,224,11,13,26,16, - 2,0,4,0,14,0,31,0,63,128,127,192,255,224,255,224, - 255,224,255,224,255,224,255,224,255,224,255,224,13,13,26,16, - 1,255,5,0,15,128,15,128,103,48,242,120,127,240,242,120, - 98,48,4,0,4,0,4,0,8,0,16,0,14,15,30,16, - 1,254,102,24,79,24,223,176,159,160,255,160,255,32,255,56, - 126,228,127,36,127,40,63,152,63,144,31,176,15,32,6,0, - 7,4,4,8,1,2,252,62,62,28,7,4,4,8,1,2, - 126,248,248,112,7,4,4,8,1,2,252,34,50,28,4,7, - 7,8,2,2,16,16,112,208,144,144,96,7,4,4,8,1, - 2,126,136,152,112,4,7,7,8,2,0,96,144,144,208,112, - 16,16,8,12,12,8,0,0,231,165,126,129,165,165,129,90, - 90,66,189,231,4,10,10,8,2,0,224,16,16,32,32,64, - 64,128,128,112,13,13,26,16,1,0,31,192,32,32,69,16, - 141,136,157,200,189,232,255,248,130,8,135,8,143,136,95,208, - 32,32,31,192,15,13,26,16,0,255,4,64,8,32,16,16, - 16,16,19,144,12,96,62,248,68,68,133,66,131,130,2,128, - 4,64,24,48,13,15,30,16,1,254,6,0,2,0,255,248, - 71,16,63,224,2,0,26,192,34,32,31,192,18,64,15,128, - 10,128,7,0,10,128,2,0,5,8,8,8,2,0,112,136, - 80,32,248,32,32,32,5,9,9,8,2,0,32,112,32,248, - 32,48,96,32,32,6,10,10,8,1,0,56,36,36,56,32, - 168,112,32,112,168,5,9,9,8,2,0,32,112,32,248,32, - 32,32,32,32,7,7,7,8,1,0,56,16,146,254,146,16, - 56,8,9,9,8,0,1,30,33,64,194,199,194,64,33,30, - 11,11,22,16,2,0,21,0,27,0,0,0,85,64,164,160, - 164,160,164,160,149,32,78,64,31,0,4,0,11,12,24,16, - 3,255,4,0,21,0,36,128,78,64,213,96,213,96,206,96, - 228,224,223,96,142,32,21,0,4,0,8,8,8,8,0,0, - 12,2,57,121,13,62,99,193,7,8,8,8,1,0,124,146, - 146,146,186,214,146,124,13,12,24,16,1,0,31,192,32,32, - 64,16,64,16,152,72,188,8,254,24,239,56,255,248,127,240, - 63,224,31,192,13,10,20,16,1,0,255,248,255,248,0,0, - 0,0,255,248,255,248,0,0,0,0,255,248,255,248,13,10, - 20,16,1,0,248,248,248,248,0,0,0,0,255,248,255,248, - 0,0,0,0,255,248,255,248,13,10,20,16,1,0,255,248, - 255,248,0,0,0,0,248,248,248,248,0,0,0,0,255,248, - 255,248,13,10,20,16,1,0,248,248,248,248,0,0,0,0, - 248,248,248,248,0,0,0,0,255,248,255,248,13,10,20,16, - 1,0,255,248,255,248,0,0,0,0,255,248,255,248,0,0, - 0,0,248,248,248,248,13,10,20,16,1,0,248,248,248,248, - 0,0,0,0,255,248,255,248,0,0,0,0,248,248,248,248, - 13,10,20,16,1,0,255,248,255,248,0,0,0,0,248,248, - 248,248,0,0,0,0,248,248,248,248,13,10,20,16,1,0, - 248,248,248,248,0,0,0,0,248,248,248,248,0,0,0,0, - 248,248,248,248,7,7,7,8,1,0,146,124,124,238,124,124, - 146,8,10,10,8,0,1,60,66,129,165,129,153,165,129,66, - 60,8,9,9,8,0,1,60,66,129,165,129,165,153,66,60, - 8,9,9,8,0,1,60,126,255,219,255,219,231,126,60,7, - 7,7,8,1,2,146,84,56,238,56,84,146,6,10,10,8, - 2,0,224,48,24,20,20,20,20,24,48,224,6,10,10,8, - 1,0,28,48,96,160,160,160,160,96,48,28,5,11,11,8, - 2,0,136,136,112,136,136,136,112,32,248,32,32,5,9,9, - 8,2,0,112,136,136,136,112,32,248,32,32,5,10,10,8, - 2,1,32,32,248,32,32,112,136,136,136,112,7,8,8,8, - 1,1,14,6,10,112,136,136,136,112,6,10,10,8,1,0, - 4,4,4,116,140,12,20,252,4,4,6,10,10,8,1,0, - 64,64,224,64,88,100,68,72,72,72,7,9,9,8,1,0, - 214,84,124,84,214,16,56,40,56,8,11,11,8,0,255,8, - 89,203,73,73,73,62,8,62,8,8,6,10,10,8,1,0, - 248,132,132,132,248,128,128,128,128,252,7,10,10,8,1,0, - 68,170,40,40,16,16,16,16,16,16,7,7,7,8,1,0, - 130,68,56,68,68,68,56,7,10,10,8,1,0,130,124,40, - 40,40,40,40,40,124,130,7,8,8,8,1,0,124,146,144, - 96,12,18,146,124,8,9,9,8,0,0,28,34,34,18,116, - 148,148,101,2,7,10,10,8,1,0,168,248,170,174,170,170, - 170,170,12,248,7,6,6,8,1,1,56,68,68,238,0,254, - 7,10,10,8,1,0,168,248,168,168,168,168,168,168,170,6, - 7,7,7,8,1,0,30,6,138,82,32,80,136,6,10,10, - 8,1,0,128,240,144,144,156,20,28,16,16,96,6,6,6, - 8,1,2,84,168,0,0,84,168,6,9,9,8,1,0,132, - 132,72,72,252,72,72,132,132,7,13,13,8,1,0,16,56, - 146,186,198,130,68,68,68,130,130,130,254,7,11,11,8,1, - 0,16,56,198,130,68,68,68,130,130,130,254,7,9,9,8, - 1,0,170,254,130,130,68,68,130,130,254,7,10,10,8,1, - 0,16,40,68,68,68,68,40,238,130,254,6,11,11,8,1, - 0,4,60,68,132,132,116,36,68,132,132,252,6,8,8,8, - 1,0,48,72,72,48,72,72,132,252,7,13,13,8,1,0, - 16,56,146,186,254,254,124,124,124,254,254,254,254,7,11,11, - 8,1,0,16,56,254,238,124,124,124,254,254,254,254,7,8, - 8,8,1,0,170,254,254,124,124,254,254,254,7,10,10,8, - 1,0,16,56,108,68,108,124,56,254,254,254,6,11,11,8, - 1,0,4,60,108,252,252,124,60,124,252,252,252,6,8,8, - 8,1,0,48,120,120,48,120,120,252,252,7,10,10,8,1, - 0,16,16,56,124,254,254,254,124,16,56,7,9,9,8,1, - 0,108,146,130,130,130,68,40,16,16,5,10,10,8,2,0, - 32,32,80,80,136,136,80,80,32,32,7,10,10,8,1,0, - 56,56,56,16,254,254,214,16,16,56,7,10,10,8,1,0, - 16,16,40,68,130,130,130,124,16,56,7,9,9,8,1,0, - 108,254,254,254,254,124,56,16,16,5,10,10,8,2,0,32, - 32,112,112,248,248,112,112,32,32,7,10,10,8,1,0,56, - 40,56,16,238,186,214,16,16,56,8,11,11,8,0,0,8, - 81,146,146,146,73,73,73,82,129,126,4,10,10,8,1,0, - 16,16,16,16,16,16,16,112,240,224,6,10,10,8,1,0, - 16,24,20,20,16,16,16,112,240,224,8,11,11,8,0,0, - 28,23,17,17,17,17,113,241,231,15,14,8,11,11,8,0, - 0,28,23,17,29,23,17,113,241,231,15,14,6,12,12,8, - 1,0,128,128,128,128,128,184,204,140,136,144,160,192,6,11, - 11,8,1,0,128,128,156,252,228,132,156,252,228,4,4,6, - 13,13,8,1,255,8,72,76,124,248,200,72,76,124,248,200, - 72,64,7,10,10,8,1,0,40,16,16,146,124,146,16,16, - 16,40,7,10,10,8,1,0,56,40,16,214,186,214,16,16, - 40,16,16,16,32,16,0,254,3,184,4,165,8,179,5,9, - 18,5,40,9,68,31,238,0,40,15,48,73,36,201,13,101, - 22,19,37,120,60,192,0,64,15,16,32,16,0,254,3,128, - 4,64,4,64,8,32,0,40,57,24,27,56,41,0,33,8, - 67,132,64,4,128,34,128,66,126,252,0,64,0,32,15,16, - 32,16,0,254,3,128,4,64,4,64,8,32,0,40,59,24, - 24,184,41,0,34,8,67,132,64,4,128,34,128,66,126,252, - 0,64,0,32,15,16,32,16,0,254,3,128,4,64,4,64, - 8,32,0,40,57,24,24,184,43,0,32,136,67,4,64,4, - 128,34,128,66,126,252,0,64,0,32,15,16,32,16,0,254, - 3,128,4,64,4,64,8,32,0,40,58,152,26,184,43,128, - 32,136,64,132,64,4,128,34,128,66,126,252,0,64,0,32, - 15,16,32,16,0,254,3,128,4,64,4,64,8,32,0,40, - 59,152,26,56,43,0,32,136,67,4,64,4,128,34,128,66, - 126,252,0,64,0,32,15,16,32,16,0,254,3,128,4,64, - 4,64,8,32,0,40,57,152,26,56,43,128,34,72,65,132, - 64,4,128,34,128,66,126,252,0,64,0,32,15,16,32,16, - 0,254,3,128,4,64,4,64,8,32,0,40,59,152,24,184, - 41,0,33,8,65,4,64,4,128,34,128,66,126,252,0,64, - 0,32,15,16,32,16,0,254,3,128,4,64,4,64,8,32, - 0,40,56,24,24,56,40,0,32,8,64,4,64,4,128,34, - 128,66,126,252,0,64,0,32,16,16,32,16,0,254,3,184, - 7,189,15,191,7,15,18,7,56,15,124,31,254,0,56,15, - 48,79,36,207,13,231,31,243,61,248,60,192,0,64,15,16, - 32,16,0,254,7,192,15,224,60,120,123,188,119,172,127,204, - 199,142,231,254,215,238,223,238,111,108,118,220,124,60,62,248, - 15,96,7,192,15,16,32,16,0,254,7,192,24,48,32,8, - 67,132,68,84,64,52,184,114,152,2,168,18,160,18,80,148, - 73,36,67,196,33,8,24,176,7,192,13,12,24,16,0,255, - 7,0,24,192,32,32,64,16,77,144,146,72,146,72,77,144, - 64,16,32,32,24,192,7,0,12,11,22,16,2,0,24,0, - 24,0,16,0,30,0,16,0,95,128,128,128,128,64,129,64, - 66,48,60,0}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 4 y= 4 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent=-1 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_77[1587] U8G_SECTION(".progmem.u8g_font_unifont_77") = { - 0,16,16,0,254,11,3,99,5,215,32,99,0,14,254,11, - 255,9,9,18,16,3,1,255,128,128,128,128,128,128,128,136, - 128,128,128,128,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,128,128,160,128,128,128,130,128,128,128,128,128,255, - 128,9,9,18,16,3,1,255,128,128,128,160,128,128,128,136, - 128,128,128,130,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,162,128,128,128,128,128,128,128,162,128,128,128,255, - 128,9,9,18,16,3,1,255,128,128,128,162,128,128,128,136, - 128,128,128,162,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,162,128,128,128,162,128,128,128,162,128,128,128,255, - 128,13,12,24,16,0,255,7,0,24,192,32,32,64,16,64, - 16,128,200,128,200,64,16,64,16,32,32,24,192,7,0,13, - 12,24,16,0,255,7,0,24,192,32,32,64,16,64,16,152, - 200,152,200,64,16,64,16,32,32,24,192,7,0,13,12,24, - 16,0,255,7,0,31,192,63,224,127,240,127,240,255,56,255, - 56,127,240,127,240,63,224,15,128,7,0,13,12,24,16,0, - 255,7,0,31,192,63,224,127,240,127,240,231,56,231,56,127, - 240,127,240,63,224,15,128,7,0,13,2,4,16,1,4,255, - 248,255,248,13,2,4,16,1,4,248,248,248,248,13,6,12, - 16,1,2,255,248,255,248,0,0,0,0,255,248,255,248,13, - 6,12,16,1,2,248,248,248,248,0,0,0,0,255,248,255, - 248,13,6,12,16,1,2,255,248,255,248,0,0,0,0,248, - 248,248,248,13,6,12,16,1,2,248,248,248,248,0,0,0, - 0,248,248,248,248,6,11,11,8,1,0,224,156,132,132,228, - 156,128,128,128,128,128,6,11,11,8,1,0,224,252,252,252, - 252,156,128,128,128,128,128,16,14,28,16,0,255,7,50,95, - 124,62,126,124,31,248,39,116,67,34,129,1,0,2,128,4, - 64,8,32,16,16,32,8,64,4,14,12,24,16,1,0,3, - 128,4,64,4,64,3,128,1,0,7,192,1,0,65,8,225, - 28,65,8,33,16,31,224,13,13,26,16,1,0,128,8,64, - 16,32,32,16,64,8,128,5,0,2,0,5,0,8,128,80, - 80,32,32,80,80,128,8,9,14,28,16,3,255,8,0,8, - 0,127,128,137,128,136,0,126,0,9,0,9,0,62,0,72, - 0,60,0,10,0,28,0,8,0,15,11,22,16,0,0,1, - 0,17,16,127,252,57,56,84,84,84,84,146,146,146,146,254, - 254,124,124,56,56,11,8,16,16,2,0,63,128,95,192,143, - 192,135,128,128,0,15,128,18,64,34,32,11,13,26,16,2, - 255,14,0,17,0,17,0,17,0,14,0,4,0,228,224,245, - 224,117,192,53,128,14,0,4,0,4,0,13,13,26,16,1, - 255,2,0,66,16,47,160,16,64,32,32,32,32,226,56,32, - 32,32,32,16,64,47,160,66,16,2,0,15,13,26,16,0, - 0,1,0,2,128,57,56,127,252,253,126,5,64,3,128,1, - 0,1,0,1,0,1,0,1,0,1,0,13,15,30,16,1, - 254,2,0,117,112,141,136,141,136,138,136,77,144,40,160,26, - 192,40,160,77,144,138,136,141,136,141,136,117,112,2,0,15, - 16,32,16,0,254,1,0,2,128,58,184,68,68,132,66,242, - 158,138,162,6,192,6,192,8,32,6,192,6,192,10,160,50, - 152,70,196,121,60,15,15,30,16,0,255,1,0,2,128,4, - 64,4,64,8,0,107,252,136,2,136,34,96,36,24,16,6, - 80,0,136,33,8,38,72,24,48,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,13,14,28,16,1,255,2,0,5,0,5,0,8,128,8, - 128,18,64,18,64,34,32,34,32,66,16,64,16,130,8,128, - 8,255,248,6,11,11,8,1,255,4,8,16,32,64,252,8, - 16,32,64,128,11,9,18,16,2,0,59,128,68,64,138,32, - 138,32,68,64,59,128,17,0,59,128,17,0,11,11,22,16, - 2,0,7,0,3,0,5,0,56,224,68,96,142,160,149,0, - 104,128,48,128,17,0,14,0,10,14,28,16,3,255,1,192, - 0,192,1,64,14,0,17,0,56,128,84,128,139,0,134,0, - 68,0,56,0,16,0,56,0,16,0,8,12,12,16,4,254, - 7,3,5,56,68,130,130,68,56,16,56,16,11,10,20,16, - 2,0,0,224,0,96,2,160,1,0,58,128,68,0,130,0, - 130,0,68,0,56,0,15,13,26,16,0,254,224,14,192,6, - 168,10,16,16,43,160,4,64,8,32,8,32,4,64,3,128, - 1,0,3,128,1,0,7,12,12,8,0,0,16,56,84,16, - 56,16,56,68,130,130,68,56,14,7,14,16,0,255,56,0, - 68,16,130,136,131,252,130,136,68,16,56,0,7,7,7,8, - 0,255,56,68,130,130,130,68,56,7,7,7,8,0,255,56, - 124,254,254,254,124,56,5,5,5,8,2,0,112,136,136,136, - 112,11,6,12,16,2,0,59,128,68,64,138,32,138,32,68, - 64,59,128,11,7,14,16,3,255,4,0,117,192,142,32,142, - 32,142,32,117,192,4,0,13,5,10,16,1,0,112,112,136, - 136,143,136,136,136,112,112,14,10,20,16,2,0,24,0,39, - 128,64,124,128,0,128,0,128,0,128,0,64,124,39,128,24, - 0,11,13,26,16,2,0,31,0,10,0,63,128,64,64,128, - 32,128,32,64,64,64,64,64,64,32,128,32,128,32,128,31, - 0,7,9,9,8,0,254,56,68,130,130,68,56,16,16,16, - 6,9,9,8,0,254,112,136,4,4,8,48,32,248,32,7, - 10,10,8,0,254,16,40,68,130,68,40,16,16,124,16,7, - 10,10,8,0,254,146,84,56,254,56,84,146,16,124,16,13, - 11,22,16,1,0,2,0,2,0,2,0,2,0,114,112,8, - 128,5,0,242,120,8,128,5,0,2,0,6,11,11,8,1, - 0,36,40,48,40,36,32,112,136,136,136,112,6,10,10,8, - 1,254,56,112,224,224,224,112,56,16,124,16,8,7,7,8, - 0,3,66,36,24,255,24,36,66,7,8,8,8,0,0,68, - 68,68,40,40,40,16,254,7,8,8,8,0,0,254,16,40, - 40,40,68,68,68,7,8,8,8,1,0,252,132,132,132,148, - 252,16,30,6,14,14,8,1,255,168,84,168,84,168,84,168, - 84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,168, - 84,168,84,168,84,168,84,168,84,168,84,6,14,14,8,1, - 255,168,84,168,84,168,84,168,84,168,84,168,84,168,84,12, - 9,18,16,2,0,31,128,96,96,134,16,134,16,224,112,191, - 208,169,80,105,96,31,128,12,12,24,16,2,0,31,128,96, - 96,134,16,134,16,224,112,191,208,169,80,233,112,191,208,169, - 80,105,96,31,128,14,11,22,16,1,255,31,224,112,56,207, - 204,188,244,188,244,143,196,160,20,171,84,203,76,112,56,31, - 224,14,14,28,16,1,255,31,224,112,56,207,204,188,244,188, - 244,143,196,160,20,171,84,139,68,160,20,171,84,203,76,112, - 56,31,224}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 15, '1' Height: 13 - Calculated Max Values w=16 h=15 x= 7 y= 4 dx=16 dy= 0 ascent=14 len=30 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =15 descent=-2 - X Font ascent =15 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[6975] U8G_SECTION(".progmem.u8g_font_unifont_78_79") = { - 0,16,16,0,254,15,7,255,11,108,1,255,254,14,254,15, - 254,15,11,22,16,0,2,56,0,124,0,108,0,124,0,60, - 0,14,0,127,252,255,254,217,192,248,224,112,0,14,11,22, - 16,0,1,112,8,248,60,216,120,254,240,127,224,7,192,127, - 224,254,240,216,120,248,60,112,8,15,11,22,16,0,255,112, - 0,248,224,217,192,255,254,127,252,14,0,60,0,124,0,108, - 0,124,0,56,0,15,11,22,16,0,1,112,12,136,50,174, - 68,129,136,121,16,6,32,120,80,129,136,174,68,136,50,112, - 12,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,15,15,30,16,0,255,7,192,24,48,32, - 8,65,196,71,228,143,242,143,114,158,98,156,2,159,2,79, - 4,70,4,32,8,24,48,7,192,15,15,30,16,0,255,7, - 192,25,48,35,136,67,132,65,4,131,130,135,194,135,194,135, - 194,139,162,92,116,88,52,32,8,24,48,7,192,15,14,28, - 16,0,255,8,0,15,0,6,0,7,192,195,128,227,192,127, - 254,127,254,227,192,195,128,7,192,6,0,15,0,8,0,14, - 7,14,16,1,3,255,252,192,12,176,52,140,196,179,52,192, - 12,255,252,6,14,14,8,1,255,168,84,168,84,168,84,168, - 84,168,84,168,84,168,84,6,14,14,8,1,255,168,84,168, - 84,168,84,168,84,168,84,168,84,168,84,15,15,30,16,0, - 255,24,48,36,72,34,136,18,144,17,16,9,32,8,32,124, - 252,146,130,146,114,146,34,146,66,124,4,32,8,31,240,15, - 13,26,16,1,0,0,16,0,56,0,112,7,238,25,234,35, - 154,71,10,142,10,223,202,36,10,95,250,224,10,192,14,12, - 12,24,16,1,0,48,0,76,0,170,0,149,0,226,128,81, - 64,40,160,20,80,10,80,5,144,2,48,1,240,15,7,14, - 16,0,3,63,240,80,40,143,244,168,22,143,244,80,40,63, - 240,12,12,24,16,1,0,1,240,2,48,5,144,10,80,20, - 80,40,160,81,64,226,128,149,0,170,0,76,0,48,0,15, - 7,14,16,0,3,0,240,121,8,134,108,128,254,134,108,121, - 8,0,240,15,7,14,16,0,3,0,224,121,240,255,56,255, - 14,255,56,121,240,0,224,13,10,20,16,1,255,0,8,0, - 16,0,32,128,64,128,128,65,0,66,0,36,0,40,0,16, - 0,15,11,22,16,0,255,0,4,0,14,64,28,224,56,224, - 112,112,224,113,192,59,128,63,0,30,0,12,0,11,11,22, - 16,2,1,64,64,224,224,113,192,59,128,31,0,14,0,31, - 0,59,128,113,192,224,224,64,64,15,15,30,16,0,255,16, - 16,56,56,124,124,254,254,127,252,63,248,31,240,15,224,31, - 240,63,248,127,252,254,254,124,124,56,56,16,16,12,13,26, - 16,1,0,192,48,96,192,99,128,54,0,28,0,28,0,54, - 0,51,0,97,128,96,192,192,96,192,48,64,0,12,14,28, - 16,1,255,192,48,224,224,99,192,119,0,62,0,28,0,62, - 0,55,0,115,128,97,192,224,224,192,112,192,32,64,0,15, - 15,30,16,0,255,7,192,4,64,5,64,5,64,5,64,253, - 126,129,2,191,250,129,2,253,126,5,64,5,64,5,64,4, - 64,7,192,15,15,30,16,0,255,7,192,7,192,7,192,7, - 192,7,192,255,254,255,254,255,254,255,254,255,254,7,192,7, - 192,7,192,7,192,7,192,15,15,30,16,0,255,3,128,3, - 128,3,128,3,128,3,128,3,128,252,126,252,126,252,126,3, - 128,3,128,3,128,3,128,3,128,3,128,15,15,30,16,0, - 255,7,192,7,192,7,192,7,192,7,192,248,62,248,62,248, - 62,248,62,248,62,7,192,7,192,7,192,7,192,7,192,9, - 11,22,16,3,1,28,0,28,0,28,0,255,128,255,128,255, - 128,28,0,28,0,28,0,28,0,28,0,13,15,30,16,1, - 255,15,0,9,128,9,128,9,128,249,240,128,24,128,24,249, - 248,121,248,9,128,9,128,9,128,9,128,15,128,7,128,13, - 14,28,16,1,255,31,192,16,64,247,120,135,8,191,232,191, - 232,191,232,135,8,247,120,23,64,23,64,23,64,16,64,31, - 192,15,15,30,16,0,255,31,240,7,192,3,128,131,130,131, - 130,195,134,255,254,255,254,255,254,195,134,131,130,131,130,3, - 128,7,192,31,240,15,15,30,16,0,255,1,0,2,128,4, - 64,4,64,255,254,80,20,80,20,32,8,80,20,80,20,255, - 254,4,64,4,64,2,128,1,0,15,15,30,16,0,255,3, - 128,7,192,7,192,3,128,3,128,97,12,249,62,255,254,249, - 62,97,12,3,128,3,128,7,192,7,192,3,128,15,15,30, - 16,0,255,3,128,7,192,7,192,7,192,3,128,113,28,249, - 62,255,254,249,62,113,28,3,128,7,192,7,192,7,192,3, - 128,15,15,30,16,0,255,7,192,15,224,15,224,7,192,99, - 140,243,158,255,254,255,254,255,254,243,158,99,140,7,192,15, - 224,15,224,7,192,16,15,30,16,0,255,1,0,3,128,7, - 192,7,192,1,0,49,12,113,14,255,255,113,14,49,12,1, - 0,7,192,7,192,3,128,1,0,15,15,30,16,0,255,1, - 0,3,128,3,128,7,192,7,192,31,240,127,252,255,254,127, - 252,31,240,7,192,7,192,3,128,3,128,1,0,15,15,30, - 16,0,255,1,0,2,128,2,128,4,64,4,64,24,48,96, - 12,128,2,96,12,24,48,4,64,4,64,2,128,2,128,1, - 0,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,15,12,24,16,0,1,1,0,2,128,2, - 128,252,126,64,4,56,56,8,32,16,16,17,16,38,200,40, - 40,48,24,15,15,30,16,0,255,7,192,31,240,62,248,126, - 252,124,124,192,6,240,30,248,62,240,30,241,30,103,204,111, - 236,63,248,31,240,7,192,15,12,24,16,0,1,1,0,3, - 128,3,128,255,254,124,124,56,56,8,32,28,112,31,240,62, - 248,56,56,48,24,15,12,24,16,0,1,1,0,2,128,2, - 128,252,126,67,132,39,200,23,208,19,144,16,16,39,200,40, - 40,48,24,15,12,24,16,0,1,1,0,2,128,28,112,225, - 14,79,228,35,136,23,208,20,80,17,16,34,136,44,104,48, - 24,15,12,24,16,0,1,1,0,2,128,29,112,227,142,95, - 244,47,232,23,208,22,208,21,80,34,136,44,104,48,24,15, - 13,26,16,0,0,1,0,3,128,5,192,249,254,93,140,39, - 184,19,240,15,208,29,144,25,208,50,232,44,120,48,24,16, - 13,26,16,0,0,1,0,2,128,2,192,255,254,68,71,56, - 62,8,60,22,208,17,24,39,200,47,44,60,28,24,12,15, - 13,26,16,0,0,3,128,3,128,3,128,67,132,243,158,63, - 252,15,240,63,252,243,158,67,132,3,128,3,128,3,128,15, - 13,26,16,0,0,3,128,3,128,3,128,67,132,243,158,60, - 124,8,48,60,124,243,158,67,132,3,128,3,128,3,128,15, - 15,30,16,0,255,1,0,1,0,33,8,17,16,13,96,15, - 224,7,192,255,254,7,192,15,224,13,96,17,16,33,8,1, - 0,1,0,15,15,30,16,0,255,1,0,1,0,33,8,27, - 176,31,240,15,224,31,224,255,254,31,240,15,224,31,240,27, - 176,33,8,1,0,1,0,15,15,30,16,0,255,1,0,2, - 128,60,248,44,200,38,152,50,184,125,76,131,134,77,124,58, - 152,50,200,38,104,62,120,2,128,1,0,13,13,26,16,1, - 0,2,0,2,0,2,0,135,8,119,112,63,224,31,192,63, - 224,119,112,135,8,2,0,2,0,2,0,15,15,30,16,0, - 255,8,32,8,32,12,96,6,192,230,206,59,184,31,240,7, - 192,31,240,59,184,230,206,6,192,12,96,8,32,8,32,15, - 15,30,16,0,255,8,32,12,96,14,224,15,224,255,254,127, - 252,63,248,31,240,63,248,127,252,255,254,15,224,14,224,12, - 96,8,32,15,15,30,16,0,255,1,0,25,48,15,224,79, - 228,127,252,63,248,63,248,255,254,63,248,63,248,127,252,79, - 228,15,224,25,48,1,0,15,15,30,16,0,255,9,32,73, - 36,37,72,21,80,203,166,55,216,15,224,255,254,15,224,55, - 216,203,166,21,80,37,72,73,36,9,32,15,15,30,16,0, - 255,1,0,3,128,3,128,3,128,225,14,113,28,13,96,3, - 128,13,96,113,28,225,14,3,128,3,128,3,128,1,0,15, - 15,30,16,0,255,3,128,7,192,7,192,99,140,241,30,243, - 158,60,120,8,32,60,120,243,158,241,30,99,140,7,192,7, - 192,3,128,15,15,30,16,0,255,3,128,7,192,7,192,99, - 140,243,158,241,30,61,120,7,192,61,120,241,30,243,158,99, - 140,7,192,7,192,3,128,15,15,30,16,0,255,3,128,4, - 64,4,64,116,92,252,126,254,254,127,252,33,8,67,132,135, - 194,143,226,119,220,7,192,7,192,3,128,15,14,28,16,0, - 0,3,128,7,192,15,224,119,220,255,254,252,126,240,30,112, - 28,24,48,62,248,127,252,126,252,126,252,60,120,15,14,28, - 16,0,0,3,128,4,64,9,32,121,60,133,66,179,154,143, - 226,111,236,23,208,39,200,73,36,82,148,66,132,60,120,15, - 15,30,16,0,255,3,128,60,120,69,68,81,20,77,100,111, - 236,134,194,188,122,134,194,111,236,77,100,81,20,69,68,60, - 120,3,128,15,15,30,16,0,255,7,192,30,240,62,248,92, - 116,103,204,252,126,232,46,136,34,232,46,252,126,103,204,92, - 116,62,248,30,240,7,192,15,15,30,16,0,255,3,128,4, - 192,4,192,116,220,188,230,159,158,79,60,63,248,114,100,230, - 114,206,122,118,92,6,64,6,64,3,128,15,13,26,16,0, - 0,1,0,5,64,3,128,201,38,49,24,77,100,3,128,77, - 100,49,24,201,38,3,128,5,64,1,0,15,13,26,16,0, - 0,1,0,5,64,11,160,201,38,49,24,77,100,131,130,77, - 100,49,24,201,38,11,160,5,64,1,0,15,15,30,16,0, - 255,9,32,13,96,7,192,19,144,201,38,49,24,237,110,3, - 128,237,110,49,24,201,38,17,16,7,192,13,96,9,32,14, - 14,28,16,1,255,7,128,71,136,39,144,19,32,11,64,224, - 28,251,124,251,124,224,28,11,64,19,32,39,144,71,136,7, - 128,15,15,30,16,0,255,7,192,71,196,39,200,19,144,11, - 160,224,14,251,190,251,190,251,190,224,14,11,160,19,144,39, - 200,71,196,7,192,15,15,30,16,0,255,3,128,7,192,7, - 192,119,220,251,190,249,62,125,124,7,192,125,124,249,62,251, - 190,119,220,7,192,7,192,3,128,15,15,30,16,0,255,1, - 0,3,128,51,152,49,24,9,32,5,64,99,140,255,254,99, - 140,5,64,9,32,49,24,51,152,3,128,1,0,15,15,30, - 16,0,255,1,0,3,128,51,152,59,184,25,48,7,192,119, - 220,255,254,119,220,7,192,25,48,59,184,51,152,3,128,1, - 0,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,13,13,26,16,2,255,15,0,48,192,64, - 32,64,48,128,16,128,24,128,24,128,24,64,56,64,48,48, - 240,15,224,7,128,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,12,12,24,16,3,1,255, - 192,128,64,128,112,128,112,128,112,128,112,128,112,128,112,128, - 112,255,240,63,240,63,240,12,12,24,16,3,1,63,240,63, - 240,255,240,128,112,128,112,128,112,128,112,128,112,128,112,128, - 112,128,64,255,192,12,12,24,16,3,1,255,192,128,96,128, - 112,128,112,128,112,128,112,128,112,128,112,128,112,255,240,127, - 240,63,240,12,12,24,16,3,1,63,240,127,240,255,240,128, - 112,128,112,128,112,128,112,128,112,128,112,128,112,128,96,255, - 192,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,13,13,26, - 16,1,0,2,0,7,0,15,128,7,0,34,32,112,112,248, - 248,112,112,34,32,7,0,15,128,7,0,2,0,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,2,15,15,16,7,255,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,4,15,15,16,6,255,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,8,15,15,16,4, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 7,10,10,16,4,4,28,112,192,248,252,254,254,254,124,56, - 7,10,10,16,4,4,56,124,254,254,254,126,62,6,28,112, - 15,10,20,16,0,4,28,28,112,112,192,192,248,248,252,252, - 254,254,254,254,254,254,124,124,56,56,15,10,20,16,0,4, - 56,56,124,124,254,254,254,254,254,254,126,126,62,62,6,6, - 28,28,112,112,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,14,14,28,16, - 1,255,0,32,0,32,31,252,127,240,252,32,252,32,126,32, - 31,224,0,32,96,96,240,64,240,192,99,128,62,0,9,15, - 30,16,3,255,28,0,127,0,255,128,255,128,255,128,127,0, - 28,0,8,0,8,0,0,0,28,0,62,0,62,0,62,0, - 28,0,9,13,26,16,3,0,119,0,255,128,255,128,255,128, - 127,0,28,0,8,0,0,0,28,0,62,0,62,0,62,0, - 28,0,15,13,26,16,0,255,60,120,126,252,255,254,255,254, - 255,254,127,252,127,252,63,248,31,240,15,224,7,192,3,128, - 1,0,13,15,30,16,1,255,56,0,126,0,255,0,255,128, - 255,192,255,224,127,240,63,248,127,240,255,224,255,192,255,128, - 255,0,126,0,56,0,15,14,28,16,0,255,3,0,12,134, - 56,142,103,248,1,0,57,56,126,252,255,254,255,254,127,252, - 63,248,31,226,7,238,0,248,14,15,30,16,1,254,97,152, - 99,200,55,236,23,228,23,252,19,252,115,252,157,248,147,248, - 83,248,103,240,39,240,55,224,19,192,1,128,4,12,12,8, - 3,255,16,32,96,192,192,192,192,192,192,96,32,16,4,12, - 12,8,2,255,128,64,96,48,48,48,48,48,48,96,64,128, - 5,12,12,8,2,255,24,48,112,224,224,224,224,224,224,112, - 48,24,5,12,12,8,2,255,192,96,112,56,56,56,56,56, - 56,112,96,192,5,12,12,8,2,255,24,48,48,96,96,192, - 192,96,96,48,48,24,5,12,12,8,2,255,192,96,96,48, - 48,24,24,48,48,96,96,192,6,12,12,8,2,255,28,56, - 56,112,112,224,224,112,112,56,56,28,6,12,12,8,1,255, - 224,112,112,56,56,28,28,56,56,112,112,224,7,12,12,8, - 1,255,30,60,60,120,120,240,240,120,120,60,60,30,7,12, - 12,8,0,255,240,120,120,60,60,30,30,60,60,120,120,240, - 3,12,12,8,3,255,32,64,128,128,128,128,128,128,128,128, - 64,32,3,12,12,8,2,255,128,64,32,32,32,32,32,32, - 32,32,64,128,6,12,12,8,1,255,60,112,96,96,48,48, - 224,48,48,96,112,60,6,12,12,8,1,255,240,56,24,24, - 48,48,28,48,48,24,56,240,15,15,30,16,0,255,7,192, - 31,240,63,248,126,252,124,252,250,254,254,254,254,254,254,254, - 254,254,126,252,120,60,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,120,60,119,220,255,222,255,222, - 255,62,252,254,251,254,119,220,112,28,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,120,60,119,220, - 255,222,255,222,255,62,255,222,255,222,119,220,120,60,63,248, - 31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248, - 127,188,127,60,254,190,253,190,251,190,247,190,224,14,127,188, - 126,12,63,248,31,240,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,112,28,119,252,247,254,240,62,255,222,255,222, - 255,222,119,220,120,60,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,120,60,119,220,247,254,247,254, - 240,62,247,222,247,222,119,220,120,60,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,112,28,119,220, - 255,190,255,190,255,126,254,254,254,254,125,252,125,252,63,248, - 31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248, - 120,60,119,220,247,222,247,222,248,62,247,222,247,222,119,220, - 120,60,63,248,31,240,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,120,60,119,220,247,222,247,222,248,30,255,222, - 255,222,119,220,120,60,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,119,28,102,236,246,238,246,238, - 246,238,246,238,246,238,118,236,99,28,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,132,65,132, - 131,130,129,130,129,130,129,130,129,130,65,132,65,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 71,196,79,228,140,98,128,98,129,194,135,2,140,2,79,228, - 79,228,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,79,228,140,98,128,98,129,194,128,98, - 140,98,79,228,71,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,228,65,228,131,98,134,98, - 140,98,159,242,159,242,64,100,64,100,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,79,228,79,228, - 140,2,143,194,143,226,128,98,140,98,79,228,71,196,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 71,196,79,228,140,2,143,194,143,226,140,98,140,98,79,228, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,79,228,79,228,128,98,128,98,128,194,131,130, - 134,2,70,4,70,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,71,196,79,228,140,98,140,98, - 135,194,140,98,140,98,79,228,71,196,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,196,79,228, - 140,98,140,98,143,226,135,226,128,98,79,228,71,196,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 68,228,77,244,157,178,141,178,141,178,141,178,141,178,77,244, - 76,228,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,127,124,126,124,252,126,254,126,254,126,254,126, - 254,126,126,124,126,124,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,120,60,112,28,243,158,255,158, - 254,62,248,254,243,254,112,28,112,28,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,120,60,112,28, - 243,158,255,158,254,62,255,158,243,158,112,28,120,60,63,248, - 31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248, - 127,28,126,28,252,158,249,158,243,158,224,14,224,14,127,156, - 127,156,63,248,31,240,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,112,28,112,28,243,254,240,62,240,30,255,158, - 243,158,112,28,120,60,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,120,60,112,28,243,254,240,62, - 240,30,243,158,243,158,112,28,120,60,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,112,28,112,28, - 255,158,255,158,255,62,252,126,249,254,121,252,121,252,63,248, - 31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248, - 120,60,112,28,243,158,243,158,248,62,243,158,243,158,112,28, - 120,60,63,248,31,240,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,120,60,112,28,243,158,243,158,240,30,248,30, - 255,158,112,28,120,60,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,123,28,114,12,226,78,242,78, - 242,78,242,78,242,78,114,12,115,28,63,248,31,240,7,192, - 15,13,26,16,0,0,31,128,15,192,7,224,3,240,255,248, - 255,252,255,254,255,252,255,248,3,240,7,224,15,192,31,128, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,11,11,22,16, - 2,1,32,0,112,0,248,0,120,0,60,128,12,128,3,128, - 3,192,15,192,1,192,0,32,15,9,18,16,0,2,1,0, - 1,128,224,192,252,240,255,254,252,240,224,192,1,128,1,0, - 11,11,22,16,2,0,0,32,1,192,15,192,3,192,3,128, - 12,128,60,128,120,0,248,0,112,0,32,0,15,9,18,16, - 0,2,2,0,1,0,1,192,0,240,255,254,0,240,1,192, - 1,0,2,0,15,13,26,16,0,0,0,192,1,224,1,240, - 0,248,127,252,255,254,255,254,255,254,127,252,0,248,1,240, - 1,224,0,192,15,11,22,16,0,1,0,16,0,16,0,24, - 0,24,255,252,255,254,255,252,0,24,0,24,0,16,0,16, - 15,13,26,16,0,0,0,16,0,16,0,24,0,24,255,252, - 255,252,255,254,255,252,255,252,0,24,0,24,0,16,0,16, - 15,9,18,16,0,2,0,32,0,48,0,56,170,252,170,254, - 170,252,0,56,0,48,0,32,15,9,18,16,0,2,0,32, - 0,48,170,248,170,252,170,254,170,252,170,248,0,48,0,32, - 15,9,18,16,0,2,0,32,0,48,0,56,255,252,255,254, - 255,252,0,56,0,48,0,32,14,15,30,16,1,255,128,0, - 224,0,88,0,70,0,33,128,32,96,16,24,15,252,31,248, - 63,224,63,128,126,0,120,0,224,0,128,0,14,15,30,16, - 1,255,128,0,224,0,120,0,126,0,63,128,63,224,31,248, - 15,252,16,24,32,96,33,128,70,0,88,0,224,0,128,0, - 14,15,30,16,1,255,128,0,224,0,120,0,126,0,63,128, - 63,224,31,248,15,252,31,248,63,224,63,128,126,0,120,0, - 224,0,128,0,15,8,16,16,0,3,128,0,128,16,192,24, - 127,252,127,254,63,252,0,24,0,16,15,8,16,16,0,2, - 0,16,0,24,63,252,127,254,127,252,192,24,128,16,128,0, - 7,13,13,16,5,0,16,16,24,248,252,252,254,252,252,248, - 24,16,16,15,9,18,16,0,2,0,64,0,64,255,224,255, - 240,255,254,255,240,255,224,0,64,0,64,14,9,18,16,1, - 2,0,192,0,224,255,176,128,24,128,12,128,24,255,176,0, - 224,0,192,14,9,18,16,1,2,0,192,0,224,255,208,192, - 8,192,4,192,8,255,208,0,224,0,192,15,13,26,16,0, - 255,0,8,0,24,0,36,0,68,63,130,64,2,128,6,255, - 30,254,124,5,240,15,192,15,0,12,0,15,13,26,16,0, - 0,12,0,15,0,15,192,5,240,254,124,255,30,128,6,64, - 2,63,130,0,68,0,36,0,24,0,8,15,12,24,16,0, - 0,0,128,0,192,255,160,128,16,128,8,128,4,128,14,128, - 28,255,184,127,240,0,224,0,64,15,12,24,16,0,1,0, - 64,0,224,127,240,255,184,128,28,128,14,128,4,128,8,128, - 16,255,160,0,192,0,128,16,12,24,16,0,0,0,64,0, - 96,0,80,255,200,64,4,64,2,64,7,255,206,127,220,0, - 120,0,112,0,32,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,16,12,24,16,0,1,0, - 32,0,112,0,120,127,220,255,206,64,7,64,2,64,4,255, - 200,0,80,0,96,0,64,14,15,30,16,1,255,15,128,63, - 224,126,240,254,120,254,56,0,28,0,12,0,4,0,12,0, - 28,254,56,254,120,126,240,63,224,15,128,15,7,14,16,0, - 3,254,0,73,8,36,140,31,254,36,140,73,8,254,0,11, - 11,22,16,2,1,16,0,24,0,28,0,252,0,124,0,60, - 32,2,32,1,96,0,224,1,224,7,224,14,5,10,16,1, - 4,248,16,124,24,63,252,124,24,248,16,11,11,22,16,2, - 0,7,224,1,224,0,224,1,96,2,32,60,32,124,0,252, - 0,28,0,24,0,16,0,11,11,22,16,2,1,8,0,12, - 0,14,0,14,0,254,32,126,32,63,96,3,224,1,224,3, - 224,15,224,15,9,18,16,0,2,0,32,252,16,126,24,63, - 252,31,254,63,252,126,24,252,16,0,32,11,11,22,16,2, - 0,15,224,3,224,1,224,3,224,63,96,126,32,254,32,14, - 0,14,0,12,0,8,0,15,11,22,16,0,1,0,96,0, - 240,0,240,120,56,255,12,255,254,255,12,120,56,0,240,0, - 240,0,96,15,9,18,16,0,2,0,64,96,224,120,240,252, - 120,255,254,252,120,120,240,96,224,0,64,15,7,14,16,0, - 3,248,16,124,24,62,28,31,254,62,28,124,24,248,16,15, - 9,18,16,0,2,248,96,252,112,126,120,127,252,63,254,127, - 252,126,120,252,112,248,96,15,9,18,16,0,2,2,32,1, - 16,0,136,255,196,0,2,255,196,0,136,1,16,2,32,6, - 14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,168, - 84,168,84,6,6,6,8,1,0,128,136,144,160,192,252,11, - 12,24,16,2,0,4,0,10,0,10,0,17,0,17,0,36, - 128,42,128,74,64,81,64,159,32,128,32,255,224,5,6,6, - 8,1,0,32,32,32,32,32,248,10,8,16,16,3,1,63, - 192,64,0,129,128,130,64,130,64,129,128,64,0,63,192,10, - 8,16,16,3,1,255,0,0,128,96,64,144,64,144,64,96, - 64,0,128,255,0,5,10,10,8,2,0,112,136,136,16,16, - 32,32,64,64,56,5,10,10,8,2,0,112,136,136,64,64, - 32,32,16,16,224,7,8,8,8,0,0,130,130,84,68,40, - 40,16,16,14,8,16,16,1,1,129,252,130,0,68,0,68, - 0,36,0,36,0,18,0,17,252,14,8,16,16,1,1,254, - 4,1,4,0,136,0,136,0,144,0,144,1,32,254,32,3, - 10,10,8,2,0,64,64,64,64,224,64,64,64,64,64,6, - 14,14,8,1,255,168,84,168,84,168,84,168,84,168,84,168, - 84,168,84,12,14,28,16,2,254,255,240,128,0,64,0,64, - 0,32,0,32,0,32,0,32,0,32,0,32,0,64,0,64, - 0,128,0,128,0,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,9,9,18,16,4,0,8,0,20,0,34,0,65,0,136, - 128,65,0,34,0,20,0,8,0,7,8,8,8,0,0,16, - 16,40,40,68,84,130,130,9,10,20,16,3,0,136,128,136, - 128,136,128,136,128,136,128,136,128,136,128,136,128,73,0,62, - 0,6,6,6,8,1,0,4,4,36,4,4,252,6,6,6, - 8,1,0,252,128,128,144,128,128,12,10,20,16,2,0,224, - 16,48,48,40,80,36,144,35,16,35,16,36,144,40,80,48, - 48,224,16,12,10,20,16,2,0,128,112,192,192,161,64,146, - 64,140,64,140,64,146,64,161,64,192,192,128,112,14,10,20, - 16,1,0,224,28,48,48,40,80,36,144,35,16,35,16,36, - 144,40,80,48,48,224,28,9,12,24,16,3,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,255,128,9,12,24,16,3,0,255,128,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,13,7,14,16,1,2,5,0,5,0,253,248,5, - 0,253,248,5,0,5,0,13,7,14,16,1,2,5,0,5, - 0,5,0,253,248,5,0,5,0,5,0,14,3,6,16,1, - 4,64,0,191,252,64,0,14,3,6,16,1,4,128,0,255, - 252,128,0,14,3,6,16,1,4,0,4,255,252,0,4,3, - 11,11,16,7,255,64,160,64,64,64,64,64,64,64,64,224, - 7,11,11,8,0,0,16,40,40,68,68,254,68,68,40,40, - 16,13,13,26,16,1,0,2,0,5,0,5,0,8,128,16, - 64,96,48,128,8,96,48,16,64,8,128,5,0,5,0,2, - 0,15,13,26,16,0,0,0,128,1,64,1,64,2,32,4, - 16,24,12,224,2,24,12,4,16,2,32,1,64,1,64,0, - 128,15,13,26,16,1,0,2,0,5,0,5,0,8,128,16, - 64,96,48,128,14,96,48,16,64,8,128,5,0,5,0,2, - 0,15,13,26,16,0,0,31,254,16,2,16,2,16,2,16, - 2,16,2,240,2,16,2,16,2,16,2,16,2,16,2,31, - 254,15,13,26,16,1,0,255,240,128,16,128,16,128,16,128, - 16,128,16,128,30,128,16,128,16,128,16,128,16,128,16,255, - 240,5,13,13,8,2,0,248,160,160,160,160,160,160,160,160, - 160,160,160,248,5,13,13,8,1,0,248,40,40,40,40,40, - 40,40,40,40,40,40,248,4,12,12,8,2,0,16,32,32, - 64,64,128,128,64,64,32,32,16,4,12,12,8,2,0,128, - 64,64,32,32,16,16,32,32,64,64,128,6,12,12,8,1, - 0,20,40,40,80,80,160,160,80,80,40,40,20,6,12,12, - 8,1,0,160,80,80,40,40,20,20,40,40,80,80,160,4, - 12,12,8,3,255,16,32,96,160,160,160,160,160,160,96,32, - 16,4,12,12,8,1,255,128,64,96,80,80,80,80,80,80, - 96,64,128,3,12,12,8,4,255,32,64,128,128,128,128,128, - 128,128,128,64,32,3,12,12,8,1,255,128,64,32,32,32, - 32,32,32,32,32,64,128,11,12,24,16,2,0,4,0,10, - 0,27,0,42,128,106,192,170,160,42,128,42,128,42,128,42, - 128,42,128,42,128,11,12,24,16,2,0,42,128,42,128,42, - 128,42,128,42,128,42,128,170,160,106,192,42,128,27,0,10, - 0,4,0,12,10,20,16,2,1,7,128,8,64,16,32,32, - 16,168,16,112,16,32,16,0,32,8,64,7,128,12,10,20, - 16,2,1,30,0,33,0,64,128,128,64,129,80,128,224,128, - 64,64,0,33,0,30,0,15,7,14,16,0,2,3,128,5, - 72,9,36,255,254,9,36,5,72,3,128,15,5,10,16,0, - 3,32,0,64,0,255,254,64,0,32,0,15,5,10,16,0, - 3,0,8,0,4,255,254,0,4,0,8,14,5,10,16,0, - 3,32,16,64,8,255,252,64,8,32,16,15,7,14,16,0, - 2,16,0,32,0,127,254,128,0,127,254,32,0,16,0,15, - 7,14,16,0,2,0,16,0,8,255,252,0,2,255,252,0, - 8,0,16,14,7,14,16,0,2,16,32,32,16,127,248,128, - 4,127,248,32,16,16,32,14,5,10,16,0,3,32,4,64, - 4,255,252,64,4,32,4,14,5,10,16,1,3,128,16,128, - 8,255,252,128,8,128,16,14,7,14,16,0,2,16,4,32, - 4,127,252,128,4,127,252,32,4,16,4,14,7,14,16,1, - 2,128,32,128,16,255,248,128,4,255,248,128,16,128,32,15, - 5,10,16,0,3,0,8,34,36,213,94,8,132,0,8}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 11, '1' Height: 6 - Calculated Max Values w=15 h=15 x= 3 y= 3 dx=16 dy= 0 ascent=13 len=30 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 3 - X Font ascent =11 descent= 0 - Max Font ascent =13 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_86[1876] U8G_SECTION(".progmem.u8g_font_unifont_86") = { - 0,16,16,0,254,11,3,37,5,106,32,116,3,13,254,11, - 0,11,11,22,16,2,0,7,224,4,32,2,32,4,32,8, - 160,17,96,34,0,68,0,136,0,80,0,32,0,11,11,22, - 16,2,0,252,0,132,0,136,0,132,0,162,0,209,0,8, - 128,4,64,2,32,1,64,0,128,11,11,22,16,2,0,32, - 0,80,0,136,0,68,0,34,0,17,96,8,160,4,32,2, - 32,4,32,7,224,11,11,22,16,2,0,0,128,1,64,2, - 32,4,64,8,128,209,0,162,0,132,0,136,0,132,0,252, - 0,14,7,14,16,1,0,16,32,48,48,95,232,128,4,95, - 232,48,48,16,32,13,7,14,16,1,0,16,0,48,0,127, - 248,255,248,127,248,48,0,16,0,7,11,11,8,0,0,16, - 56,124,254,56,56,56,56,56,56,56,7,11,11,8,0,0, - 56,56,56,56,56,56,56,254,124,56,16,11,11,22,16,2, - 0,7,224,7,224,3,224,7,224,15,224,31,96,62,0,124, - 0,248,0,112,0,32,0,11,11,22,16,2,0,252,0,252, - 0,248,0,252,0,254,0,223,0,15,128,7,192,3,224,1, - 192,0,128,11,11,22,16,2,0,32,0,112,0,248,0,124, - 0,62,0,31,96,15,224,7,224,3,224,7,224,7,224,11, - 11,22,16,2,0,0,128,1,192,3,224,7,192,15,128,223, - 0,254,0,252,0,248,0,252,0,252,0,14,7,14,16,1, - 0,16,32,48,48,127,248,255,252,127,248,48,48,16,32,7, - 12,12,8,0,255,16,56,124,254,56,56,56,56,254,124,56, - 16,14,6,12,16,1,0,255,240,0,16,0,16,0,84,0, - 56,0,16,14,6,12,16,1,0,0,16,0,56,0,84,0, - 16,0,16,255,240,14,6,12,16,1,0,63,252,32,0,32, - 0,168,0,112,0,32,0,14,6,12,16,1,0,32,0,112, - 0,168,0,32,0,32,0,63,252,10,10,20,16,3,255,255, - 192,255,192,255,192,255,192,255,192,128,64,128,64,128,64,128, - 64,255,192,10,10,20,16,3,255,255,192,128,64,128,64,128, - 64,128,64,255,192,255,192,255,192,255,192,255,192,10,10,20, - 16,3,255,255,192,255,192,191,192,159,192,143,192,135,192,131, - 192,129,192,128,192,255,192,10,10,20,16,3,255,255,192,192, - 64,224,64,240,64,248,64,252,64,254,64,255,64,255,192,255, - 192,10,10,20,16,3,255,12,0,26,0,57,0,120,128,248, - 64,248,64,120,128,57,0,26,0,12,0,10,10,20,16,3, - 255,12,0,22,0,39,0,71,128,135,192,135,192,71,128,39, - 0,22,0,12,0,10,10,20,16,3,255,12,0,30,0,63, - 0,127,128,255,192,128,64,64,128,33,0,18,0,12,0,10, - 10,20,16,3,255,12,0,18,0,33,0,64,128,128,64,255, - 192,127,128,63,0,30,0,12,0,11,11,22,16,2,0,170, - 160,0,0,128,32,0,0,128,32,0,0,128,32,0,0,128, - 32,0,0,170,160,14,14,28,16,1,255,255,252,255,252,255, - 252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255, - 252,255,252,255,252,255,252,14,14,28,16,1,255,255,252,128, - 4,128,4,128,4,128,4,128,4,128,4,128,4,128,4,128, - 4,128,4,128,4,128,4,255,252,4,4,4,8,2,2,240, - 240,240,240,4,4,4,8,2,2,240,144,144,240,12,11,22, - 16,2,0,6,0,15,0,31,128,63,192,127,224,255,240,127, - 224,127,224,63,192,63,192,31,128,12,11,22,16,2,0,6, - 0,9,0,16,128,32,64,64,32,128,16,64,32,64,32,32, - 64,32,64,31,128,11,11,22,16,2,255,4,0,27,0,96, - 192,128,32,128,32,128,32,128,32,128,32,96,192,27,0,4, - 0,11,11,22,16,2,255,4,0,31,0,127,192,255,224,255, - 224,255,224,255,224,255,224,127,192,31,0,4,0,14,10,20, - 16,1,0,15,192,31,224,63,240,127,248,255,252,255,252,127, - 248,63,240,31,224,15,192,14,13,26,16,1,254,31,224,63, - 240,127,248,255,252,255,252,255,252,255,252,255,252,255,252,255, - 252,127,248,63,240,31,224,7,7,7,8,0,0,16,56,124, - 254,124,56,16,7,7,7,8,0,0,16,40,68,130,68,40, - 16,7,11,11,8,0,0,16,56,56,124,124,254,124,124,56, - 56,16,7,11,11,8,0,0,16,40,40,68,68,130,68,68, - 40,40,16,5,5,5,8,1,3,32,112,248,112,32,5,7, - 7,8,1,0,32,112,112,248,112,112,32,5,7,7,8,1, - 0,32,80,80,136,80,80,32,15,6,12,16,0,0,15,224, - 127,252,255,254,255,254,127,252,15,224,15,6,12,16,0,0, - 15,224,112,28,128,2,128,2,112,28,15,224,6,13,13,8, - 1,0,48,120,120,120,252,252,252,252,252,120,120,120,48,6, - 13,13,8,1,0,48,72,72,72,132,132,132,132,132,72,72, - 72,48,14,5,10,16,1,3,33,192,66,32,255,252,66,32, - 33,192,14,15,30,16,1,254,32,0,64,0,255,252,64,0, - 32,0,32,0,64,0,255,252,64,0,32,0,32,0,64,0, - 255,252,64,0,32,0,14,5,10,16,1,3,33,192,66,160, - 255,252,66,160,33,192,14,5,10,16,1,3,34,32,69,80, - 245,92,72,128,32,0,14,5,10,16,1,3,40,64,80,64, - 255,252,80,64,40,64,14,5,10,16,1,3,40,160,80,160, - 255,252,80,160,40,160,14,5,10,16,1,3,40,4,80,4, - 255,252,80,4,40,4,14,5,10,16,1,3,40,4,80,8, - 253,176,80,8,40,4,14,5,10,16,1,3,32,0,64,0, - 213,84,64,0,32,0,14,5,10,16,1,3,32,132,64,136, - 255,240,64,136,32,132,14,5,10,16,1,3,33,68,65,72, - 255,240,65,72,33,68,14,5,10,16,1,3,40,4,80,8, - 255,240,80,8,40,4,14,5,10,16,1,3,40,132,80,136, - 255,240,80,136,40,132,14,5,10,16,1,3,41,68,81,72, - 255,240,81,72,41,68,14,5,10,16,1,3,40,144,80,96, - 255,252,80,96,40,144,14,5,10,16,1,3,32,240,65,8, - 254,4,64,0,32,0,14,7,14,16,1,3,3,240,0,0, - 35,240,64,0,255,252,64,0,32,0,14,7,14,16,1,3, - 0,112,8,136,39,0,64,0,255,252,64,0,32,0,14,10, - 20,16,1,254,32,0,64,0,255,252,64,0,32,112,8,136, - 7,0,0,112,8,136,7,0,14,9,18,16,1,1,224,0, - 24,0,6,16,1,8,31,252,1,8,6,16,24,0,224,0, - 14,11,22,16,1,0,252,0,2,0,1,0,0,144,0,136, - 255,252,0,136,0,144,1,0,2,0,252,0,15,11,22,16, - 0,1,4,0,8,0,31,254,32,0,127,254,128,0,127,254, - 32,0,31,254,8,0,4,0,15,11,22,16,0,1,0,64, - 0,32,255,240,0,8,255,252,0,2,255,252,0,8,255,240, - 0,32,0,64,14,7,14,16,1,3,3,128,68,64,56,16, - 0,8,255,252,0,8,0,16,14,10,20,16,1,254,0,16, - 0,8,255,252,0,8,3,144,68,64,56,0,3,128,68,64, - 56,0,14,7,14,16,1,3,7,0,8,136,32,112,64,0, - 255,252,64,0,32,0,14,10,20,16,1,254,32,0,64,0, - 255,252,64,0,39,0,8,136,0,112,7,0,8,136,0,112, - 14,7,14,16,1,1,32,0,64,0,255,252,64,0,32,112, - 8,136,7,0,14,7,14,16,1,1,0,16,0,8,255,252, - 0,8,3,144,68,64,56,0,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,13,13,26,16,1,0,2,0,2,0,5,0, - 5,0,248,248,64,16,32,32,16,64,8,128,16,64,34,32, - 77,144,112,112,11,10,20,16,2,1,4,0,14,0,14,0, - 255,224,127,192,63,128,63,128,123,192,241,224,192,96,11,10, - 20,16,2,1,4,0,10,0,10,0,241,224,64,64,32,128, - 36,128,74,64,177,160,192,96,11,12,24,16,3,0,4,0, - 30,0,127,0,255,128,255,192,255,224,255,224,255,192,255,128, - 127,0,30,0,4,0,11,12,24,16,3,0,4,0,26,0, - 97,0,128,128,128,64,128,32,128,32,128,64,128,128,97,0, - 26,0,4,0}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 8, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 3 y=10 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4272] U8G_SECTION(".progmem.u8g_font_unifont_8_9") = { - 0,16,16,0,254,8,4,65,6,56,0,255,0,14,254,12, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,6,14,14,8,1,0,72,72,0, - 0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1, - 0,252,32,32,32,60,34,34,34,34,44,6,14,14,8,1, - 0,24,96,0,0,252,128,128,128,128,128,128,128,128,128,6, - 10,10,8,1,0,56,68,128,128,248,128,128,128,68,56,6, - 10,10,8,1,0,120,132,132,128,96,24,4,132,132,120,5, - 10,10,8,2,0,248,32,32,32,32,32,32,32,32,248,5, - 14,14,8,2,0,144,144,0,0,248,32,32,32,32,32,32, - 32,32,248,6,10,10,8,1,0,28,8,8,8,8,8,8, - 136,136,112,8,10,10,8,0,0,120,72,72,72,78,73,73, - 73,73,142,7,10,10,8,1,0,144,144,144,144,252,146,146, - 146,146,156,7,10,10,8,1,0,252,32,32,32,60,34,34, - 34,34,34,6,14,14,8,1,0,24,96,0,0,128,140,144, - 160,192,192,160,144,136,132,6,13,13,8,1,0,96,24,0, - 132,140,140,148,148,164,164,196,196,132,7,14,14,8,1,0, - 132,132,120,0,130,130,68,68,40,40,16,16,32,96,7,10, - 10,8,1,0,130,130,130,130,130,130,254,16,16,16,6,10, - 10,8,1,0,48,72,72,132,132,132,252,132,132,132,6,10, - 10,8,1,0,248,128,128,128,248,132,132,132,132,248,6,10, - 10,8,1,0,248,132,132,132,248,132,132,132,132,248,6,10, - 10,8,1,0,252,128,128,128,128,128,128,128,128,128,8,12, - 12,8,0,254,14,18,18,18,34,34,34,66,66,255,129,129, - 6,10,10,8,1,0,252,128,128,128,248,128,128,128,128,252, - 7,10,10,8,1,0,146,146,84,84,56,56,84,84,146,146, - 6,10,10,8,1,0,120,132,4,4,120,8,4,4,132,120, - 6,10,10,8,1,0,132,140,140,148,148,164,164,196,196,132, - 6,13,13,8,1,0,72,48,0,132,140,140,148,148,164,164, - 196,196,132,6,10,10,8,1,0,128,140,144,160,192,192,160, - 144,136,132,6,10,10,8,1,0,60,36,36,36,36,36,36, - 68,68,132,6,10,10,8,1,0,132,132,204,204,180,180,132, - 132,132,132,6,10,10,8,1,0,132,132,132,132,252,132,132, - 132,132,132,6,10,10,8,1,0,120,132,132,132,132,132,132, - 132,132,120,6,10,10,8,1,0,252,132,132,132,132,132,132, - 132,132,132,6,10,10,8,1,0,248,132,132,132,248,128,128, - 128,128,128,6,10,10,8,1,0,120,132,132,128,128,128,128, - 132,132,120,7,10,10,8,1,0,254,16,16,16,16,16,16, - 16,16,16,7,10,10,8,1,0,130,130,68,68,40,40,16, - 16,32,96,7,11,11,8,1,0,16,124,146,146,146,146,146, - 124,16,16,16,6,10,10,8,1,0,132,132,72,72,48,48, - 72,72,132,132,7,12,12,8,1,254,132,132,132,132,132,132, - 132,132,132,254,2,2,6,10,10,8,1,0,132,132,132,132, - 132,252,4,4,4,4,7,10,10,8,1,0,146,146,146,146, - 146,146,146,146,146,254,8,12,12,8,0,254,146,146,146,146, - 146,146,146,146,146,255,1,1,7,10,10,8,1,0,224,32, - 32,32,60,34,34,34,34,60,6,10,10,8,1,0,132,132, - 132,132,228,148,148,148,148,228,6,10,10,8,1,0,128,128, - 128,128,248,132,132,132,132,248,6,10,10,8,1,0,112,136, - 4,4,124,4,4,4,136,112,6,10,10,8,1,0,152,164, - 164,164,228,164,164,164,164,152,6,10,10,8,1,0,124,132, - 132,132,124,36,68,68,132,132,6,8,8,8,1,0,120,132, - 4,124,132,132,140,116,6,12,12,8,1,0,4,56,64,128, - 248,132,132,132,132,132,132,120,6,8,8,8,1,0,248,132, - 132,248,132,132,132,248,6,8,8,8,1,0,252,128,128,128, - 128,128,128,128,7,9,9,8,1,255,60,36,68,68,132,132, - 132,254,130,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,7,8,8,8,1,0,146,146,84,56,56,84,146,146,6, - 8,8,8,1,0,120,132,4,120,8,4,132,120,6,8,8, - 8,1,0,140,140,148,148,164,164,196,196,6,12,12,8,1, - 0,72,48,0,0,140,140,148,148,164,164,196,196,6,8,8, - 8,1,0,140,144,160,192,160,144,136,132,6,8,8,8,1, - 0,60,36,36,36,36,68,68,132,6,8,8,8,1,0,132, - 204,204,180,180,132,132,132,6,8,8,8,1,0,132,132,132, - 252,132,132,132,132,6,8,8,8,1,0,120,132,132,132,132, - 132,132,120,6,8,8,8,1,0,252,132,132,132,132,132,132, - 132,6,10,10,8,1,254,248,132,132,132,132,248,128,128,128, - 128,6,8,8,8,1,0,120,132,128,128,128,128,132,120,7, - 8,8,8,1,0,254,16,16,16,16,16,16,16,6,10,10, - 8,1,254,132,132,72,72,48,48,32,32,64,192,7,10,10, - 8,1,255,16,16,124,146,146,146,146,124,16,16,6,8,8, - 8,1,0,132,132,72,48,48,72,132,132,7,10,10,8,1, - 254,132,132,132,132,132,132,132,254,2,2,6,8,8,8,1, - 0,132,132,132,132,252,4,4,4,7,8,8,8,1,0,146, - 146,146,146,146,146,146,254,8,10,10,8,0,254,146,146,146, - 146,146,146,146,255,1,1,7,8,8,8,1,0,224,32,32, - 60,34,34,34,60,6,8,8,8,1,0,132,132,132,228,148, - 148,148,228,6,8,8,8,1,0,128,128,128,248,132,132,132, - 248,6,8,8,8,1,0,112,136,4,124,4,4,136,112,6, - 8,8,8,1,0,152,164,164,228,164,164,164,152,6,8,8, - 8,1,0,124,132,132,132,124,36,68,132,6,12,12,8,1, - 0,96,24,0,0,120,132,132,252,128,128,132,120,6,12,12, - 8,1,0,72,72,0,0,120,132,132,252,128,128,132,120,6, - 11,11,8,1,255,64,64,240,64,64,120,68,68,68,68,24, - 6,12,12,8,1,0,24,96,0,0,252,128,128,128,128,128, - 128,128,6,8,8,8,1,0,56,68,128,248,128,128,68,56, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,11, - 11,8,2,0,32,32,0,96,32,32,32,32,32,32,248,5, - 11,11,8,2,0,144,144,0,96,32,32,32,32,32,32,248, - 5,13,13,8,1,254,8,8,0,24,8,8,8,8,8,8, - 8,144,96,8,8,8,8,0,0,120,72,72,78,73,73,73, - 142,7,8,8,8,1,0,144,144,144,252,146,146,146,156,6, - 10,10,8,1,0,64,64,240,64,64,88,100,68,68,68,6, - 12,12,8,1,0,24,96,0,0,140,144,160,192,160,144,136, - 132,6,12,12,8,1,0,96,24,0,0,140,140,148,148,164, - 164,196,196,6,15,15,8,1,254,132,132,120,0,0,132,132, - 72,72,48,48,32,32,64,192,5,10,10,8,2,254,136,136, - 136,136,136,136,248,32,32,32,7,10,10,8,1,0,108,130, - 130,130,130,146,146,146,146,108,7,8,8,8,1,0,68,130, - 130,146,146,146,146,108,7,10,10,8,1,0,32,248,32,32, - 60,34,34,34,34,60,6,10,10,8,1,0,64,64,240,64, - 64,120,68,68,68,120,7,10,10,8,1,0,140,146,160,160, - 252,160,160,160,146,140,7,8,8,8,1,0,140,146,160,252, - 160,160,146,140,7,10,10,8,1,0,16,16,40,40,68,108, - 84,146,146,146,7,8,8,8,1,0,16,40,40,68,108,146, - 146,146,7,10,10,8,1,0,144,144,168,168,164,236,212,146, - 146,146,7,8,8,8,1,0,144,168,168,164,236,146,146,146, - 7,10,10,8,1,0,124,68,68,40,16,56,84,146,146,146, - 7,8,8,8,1,0,124,68,40,16,124,146,146,146,7,10, - 10,8,1,0,190,162,162,148,232,156,170,170,170,170,7,8, - 8,8,1,0,190,162,148,232,156,170,170,170,6,14,14,8, - 1,254,72,48,120,132,4,4,120,8,4,4,4,120,128,128, - 6,13,13,8,1,254,72,48,0,120,132,4,120,8,4,4, - 120,128,128,7,10,10,8,1,0,146,146,146,146,146,124,16, - 16,16,16,7,8,8,8,1,254,146,146,146,146,146,124,16, - 16,6,10,10,8,1,0,120,132,132,132,252,132,132,132,132, - 120,6,8,8,8,1,0,120,132,132,252,132,132,132,120,7, - 10,10,8,1,0,134,136,136,136,80,80,80,32,32,32,6, - 8,8,8,1,0,140,144,144,80,80,80,32,32,7,14,14, - 8,1,0,204,34,0,0,134,136,136,136,80,80,80,32,32, - 32,7,12,12,8,1,0,204,34,0,0,140,144,144,80,80, - 80,32,32,7,12,12,8,1,254,64,160,178,178,178,170,172, - 168,168,72,16,16,7,10,10,8,1,254,82,178,178,170,172, - 168,168,72,16,16,7,12,12,8,1,255,16,124,146,130,130, - 130,130,130,130,146,124,16,7,10,10,8,1,255,16,124,146, - 130,130,130,130,146,124,16,7,14,14,8,1,0,120,134,48, - 0,108,130,130,130,130,146,146,146,146,108,7,12,12,8,1, - 0,120,134,48,0,68,130,130,146,146,146,146,108,7,14,14, - 8,1,0,254,16,0,0,108,130,130,130,130,146,146,146,146, - 108,7,12,12,8,1,0,254,16,0,0,68,130,130,146,146, - 146,146,108,6,12,12,8,1,254,120,132,132,128,128,128,128, - 128,120,8,8,8,6,10,10,8,1,254,120,132,132,128,128, - 128,120,8,8,8,7,7,7,8,1,1,36,24,136,84,34, - 48,72,4,3,3,8,1,10,16,240,128,5,4,4,8,0, - 9,16,40,72,128,4,3,3,8,1,10,128,240,128,4,3, - 3,8,1,10,16,240,16,8,3,3,8,0,10,48,76,131, - 14,14,28,16,0,254,1,0,2,128,16,16,40,40,0,0, - 0,0,64,8,160,20,0,0,0,0,0,0,16,16,41,40, - 2,128,14,14,28,16,1,254,1,0,33,8,19,16,24,96, - 0,0,0,0,0,16,224,28,32,0,0,0,0,0,25,176, - 17,16,33,8,7,15,15,8,1,254,72,48,0,132,140,140, - 148,148,164,164,196,196,134,4,8,7,14,14,8,1,254,72, - 48,0,0,140,140,148,148,164,164,196,198,4,8,6,10,10, - 8,1,0,64,224,64,64,64,120,68,68,76,120,6,7,7, - 8,1,0,64,224,64,120,68,68,120,6,10,10,8,1,0, - 248,132,148,136,244,128,128,128,128,128,6,10,10,8,1,254, - 184,196,132,132,132,148,200,180,128,128,6,12,12,8,1,0, - 4,4,252,128,128,128,128,128,128,128,128,128,6,10,10,8, - 1,0,4,4,252,128,128,128,128,128,128,128,7,10,10,8, - 1,0,62,32,32,32,32,248,32,32,32,32,7,8,8,8, - 1,0,62,32,32,32,248,32,32,32,6,11,11,8,1,255, - 252,128,128,128,128,248,132,132,132,132,24,6,9,9,8,1, - 255,252,128,128,128,248,132,132,132,24,7,12,12,8,1,254, - 146,146,84,84,56,56,84,84,146,146,2,2,7,10,10,8, - 1,254,146,146,84,56,56,84,146,146,2,2,6,12,12,8, - 1,254,120,132,4,4,120,8,4,4,132,120,16,96,6,10, - 10,8,1,254,120,132,4,120,8,4,132,120,16,96,6,12, - 12,8,1,254,128,140,144,160,192,192,160,144,136,132,4,4, - 6,10,10,8,1,254,140,144,160,192,160,144,136,132,4,4, - 7,10,10,8,1,0,128,134,168,168,240,168,168,168,132,130, - 7,8,8,8,1,0,134,168,168,240,168,168,132,130,7,10, - 10,8,1,0,64,230,72,80,96,96,80,72,68,66,7,8, - 8,8,1,0,70,232,80,96,80,72,68,66,8,10,10,8, - 0,0,224,35,36,40,48,48,40,36,34,33,8,8,8,8, - 0,0,227,36,40,48,40,36,34,33,7,12,12,8,1,254, - 132,132,132,132,252,132,132,132,132,134,2,2,7,10,10,8, - 1,254,132,132,132,252,132,132,132,134,2,2,7,10,10,8, - 1,0,142,136,136,136,248,136,136,136,136,136,7,8,8,8, - 1,0,142,136,136,248,136,136,136,136,7,12,12,8,1,254, - 240,144,144,144,144,156,146,146,146,146,2,12,7,10,10,8, - 1,254,240,144,144,144,156,146,146,146,2,12,6,11,11,8, - 1,255,56,64,128,152,164,164,164,164,88,48,12,6,9,9, - 8,1,255,56,64,152,164,164,164,88,48,12,6,12,12,8, - 1,254,120,132,132,128,128,128,128,132,132,120,32,24,6,10, - 10,8,1,254,120,132,132,128,128,132,132,120,32,24,7,12, - 12,8,1,254,254,16,16,16,16,16,16,16,16,24,8,8, - 7,10,10,8,1,254,254,16,16,16,16,16,16,24,8,8, - 7,10,10,8,1,0,130,130,68,68,40,16,16,16,16,16, - 5,10,10,8,2,254,136,136,136,80,80,32,32,32,32,32, - 7,10,10,8,1,0,130,130,68,68,40,16,16,124,16,16, - 5,8,8,8,2,0,136,136,136,80,32,32,248,32,7,12, - 12,8,1,254,132,132,72,72,48,48,72,72,132,134,2,2, - 7,10,10,8,1,254,132,132,72,48,48,72,132,134,2,2, - 8,12,12,8,0,254,250,34,34,34,34,34,34,34,34,63, - 1,1,8,10,10,8,0,254,250,34,34,34,34,34,34,63, - 1,1,7,12,12,8,1,254,132,132,132,132,132,140,116,4, - 4,6,2,2,7,10,10,8,1,254,132,132,132,132,140,116, - 4,6,2,2,6,10,10,8,1,0,132,132,132,132,164,172, - 116,36,36,4,6,8,8,8,1,0,132,132,132,164,172,116, - 36,4,6,10,10,8,1,0,128,128,128,184,196,132,132,132, - 132,132,6,8,8,8,1,0,128,128,184,196,132,132,132,132, - 6,10,10,8,1,0,152,164,164,164,124,32,32,36,36,24, - 6,8,8,8,1,0,152,164,164,124,32,32,36,24,6,12, - 12,8,1,254,152,164,164,164,124,32,32,36,36,24,16,12, - 6,10,10,8,1,254,152,164,164,124,32,32,36,24,16,12, - 5,10,10,8,2,0,248,32,32,32,32,32,32,32,32,248, - 7,14,14,8,1,0,130,130,124,0,146,146,84,84,56,56, - 84,84,146,146,7,13,13,8,1,0,68,68,56,0,0,146, - 146,84,56,56,84,146,146,6,12,12,8,1,254,128,140,144, - 160,192,248,132,132,132,132,4,24,6,10,10,8,1,254,140, - 144,160,192,248,132,132,132,4,24,7,12,12,8,1,254,60, - 36,36,36,36,36,36,68,68,134,4,8,7,10,10,8,1, - 254,60,36,36,36,36,68,68,134,4,8,6,12,12,8,1, - 254,132,132,132,132,252,132,132,132,132,132,4,24,6,10,10, - 8,1,254,132,132,132,252,132,132,132,132,4,24,7,12,12, - 8,1,254,132,132,132,132,252,132,132,132,132,134,4,8,7, - 10,10,8,1,254,132,132,132,252,132,132,132,134,4,8,6, - 12,12,8,1,254,132,132,132,132,132,140,116,4,4,12,8, - 8,6,10,10,8,1,254,132,132,132,132,140,116,4,12,8, - 8,7,12,12,8,1,254,132,132,204,204,180,180,132,132,132, - 134,4,8,7,10,10,8,1,254,132,204,204,180,180,132,132, - 134,4,8,3,10,10,8,3,0,224,64,64,64,64,64,64, - 64,64,224,6,14,14,8,1,0,132,132,120,0,48,72,72, - 132,132,252,132,132,132,132,6,13,13,8,1,0,132,132,120, - 0,0,120,132,4,124,132,132,140,116,6,14,14,8,1,0, - 72,72,0,0,48,72,72,132,132,252,132,132,132,132,6,12, - 12,8,1,0,72,72,0,0,120,132,4,124,132,132,140,116, - 7,10,10,8,1,0,62,80,144,144,254,144,144,144,144,158, - 7,8,8,8,1,0,124,146,18,126,144,144,146,124,6,14, - 14,8,1,0,132,132,120,0,252,128,128,128,248,128,128,128, - 128,252,6,12,12,8,1,0,132,132,120,0,120,132,132,252, - 128,128,132,120,6,10,10,8,1,0,48,72,132,4,4,252, - 132,132,72,48,6,8,8,8,1,0,120,132,4,4,252,132, - 132,120,6,14,14,8,1,0,72,72,0,0,48,72,132,4, - 4,252,132,132,72,48,6,12,12,8,1,0,72,72,0,0, - 120,132,4,4,252,132,132,120,7,14,14,8,1,0,72,72, - 0,0,146,146,84,84,56,56,84,84,146,146,7,12,12,8, - 1,0,72,72,0,0,146,146,84,56,56,84,146,146,6,14, - 14,8,1,0,72,72,0,0,120,132,4,4,120,8,4,4, - 132,120,6,12,12,8,1,0,72,72,0,0,120,132,4,120, - 8,4,132,120,6,10,10,8,1,0,252,8,16,32,56,4, - 4,4,140,120,6,10,10,8,1,254,124,8,16,32,56,4, - 4,4,132,120,6,13,13,8,1,0,120,0,0,132,140,140, - 148,148,164,164,196,196,132,6,11,11,8,1,0,120,0,0, - 140,140,148,148,164,164,196,196,6,14,14,8,1,0,72,72, - 0,0,132,140,140,148,148,164,164,196,196,132,6,12,12,8, - 1,0,72,72,0,0,140,140,148,148,164,164,196,196,6,14, - 14,8,1,0,72,72,0,0,120,132,132,132,132,132,132,132, - 132,120,6,12,12,8,1,0,72,72,0,0,120,132,132,132, - 132,132,132,120,6,10,10,8,1,0,120,132,132,132,252,132, - 132,132,132,120,6,8,8,8,1,0,120,132,132,252,132,132, - 132,120,6,14,14,8,1,0,72,72,0,0,120,132,132,132, - 252,132,132,132,132,120,6,12,12,8,1,0,72,72,0,0, - 120,132,132,252,132,132,132,120,6,12,12,8,1,0,72,0, - 120,132,4,4,124,4,4,4,132,120,6,10,10,8,1,0, - 72,0,120,132,4,60,4,4,132,120,7,13,13,8,1,0, - 124,0,0,130,130,68,68,40,40,16,16,32,96,6,13,13, - 8,1,254,120,0,0,132,132,72,72,48,48,32,32,64,192, - 7,14,14,8,1,0,72,72,0,0,130,130,68,68,40,40, - 16,16,32,96,6,14,14,8,1,254,72,72,0,0,132,132, - 72,72,48,48,32,32,64,192,7,14,14,8,1,0,102,136, - 0,0,130,130,68,68,40,40,16,16,32,96,7,14,14,8, - 1,254,102,136,0,0,132,132,72,72,48,48,32,32,64,192, - 6,14,14,8,1,0,72,72,0,0,132,132,132,132,132,140, - 116,4,4,4,6,12,12,8,1,0,72,72,0,0,132,132, - 132,132,140,116,4,4,6,12,12,8,1,254,252,128,128,128, - 128,128,128,128,128,224,96,32,6,10,10,8,1,254,252,128, - 128,128,128,128,128,224,96,32,6,14,14,8,1,0,72,72, - 0,0,132,132,132,132,228,148,148,148,148,228,6,12,12,8, - 1,0,72,72,0,0,132,132,132,228,148,148,148,228,6,12, - 12,8,1,254,252,128,128,128,248,128,128,128,128,192,64,192, - 5,10,10,8,1,254,248,128,128,240,128,128,128,192,64,192, - 6,12,12,8,1,254,132,132,72,72,48,48,72,72,132,132, - 4,8,6,10,10,8,1,254,132,132,72,48,48,72,132,132, - 4,8,6,10,10,8,1,0,132,132,72,72,48,252,72,72, - 132,132,6,8,8,8,1,0,132,132,72,48,252,72,132,132 - }; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont[5516] U8G_SECTION(".progmem.u8g_font_unifont") = { - 0,16,16,0,254,10,6,167,8,149,0,255,254,14,254,11, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,147,194,82,50,95,138,82,113, - 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,59,165,193, - 36,49,25,137,36,113,37,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,123,165,193,36,121,25,193,36,121,37,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,121,191,194,72,122,73,194, - 72,121,137,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,122, - 77,194,82,123,83,194,214,122,79,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,49,165,202,40,122,49,202,40,73,165,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,115,209,202,16,115, - 209,202,16,115,223,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,120,225,197,0,120,193,196,32,121,193,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,69,241,196,64,124,65,196,64,68, - 65,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,65,241,193, - 0,65,241,193,0,125,1,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,69,241,196,64,68,65,168,64,16,65,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,125,241,193,0,125,241,193, - 0,65,1,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,61, - 225,193,16,65,225,193,32,61,17,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,60,225,193,16,57,17,133,16,120,225,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,61,241,192,64,56, - 65,132,64,121,241,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,114,57,202,32,74,57,202,32,115,185,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,113,137,202,24,74,9,202,8,113, - 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,153,202, - 4,74,9,202,16,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,113,153,202,4,74,25,202,4,113,153,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,113,133,202,12,74,21,202, - 28,113,133,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,73, - 147,234,84,106,89,219,212,74,83,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,52,83,194,154,49,23,137,18,113,19,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,123,185,193,36,121, - 57,193,36,121,57,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,51,37,196,180,71,173,196,164,52,165,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,125,17,193,176,125,81,193,16,125, - 17,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,58,93,194, - 82,50,93,138,82,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,121,207,194,16,121,145,192,80,123,143,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,121,193,194,0,121,129,192, - 64,67,129,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 193,194,0,89,129,200,64,59,129,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,113,193,202,0,113,129,208,64,75,129,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,73,193,202,0,73, - 129,200,64,51,129,128,0,0,1,128,0,0,1,128,0,85, - 85,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,68,56,114,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,6,1,1,8,1,4,252,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,10,10,8,1,0,128,128, - 136,144,160,192,160,144,136,132,5,10,10,8,2,0,96,32, - 32,32,32,32,32,32,32,248,7,8,8,8,1,0,236,146, - 146,146,146,146,146,146,6,8,8,8,1,0,184,196,132,132, - 132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,132, - 132,120,6,10,10,8,1,254,184,196,132,132,132,132,196,184, - 128,128,6,10,10,8,1,254,116,140,132,132,132,132,140,116, - 4,4,6,8,8,8,1,0,184,196,132,128,128,128,128,128, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,10, - 10,8,1,0,32,32,248,32,32,32,32,32,32,24,6,8, - 8,8,1,0,132,132,132,132,132,132,140,116,6,8,8,8, - 1,0,132,132,132,72,72,72,48,48,7,8,8,8,1,0, - 130,146,146,146,146,146,146,108,6,8,8,8,1,0,132,132, - 72,48,48,72,132,132,6,10,10,8,1,254,132,132,132,132, - 132,76,52,4,4,120,6,8,8,8,1,0,252,4,8,16, - 32,64,128,252,3,12,12,8,3,255,96,128,128,64,64,128, - 128,64,64,128,128,96,1,14,14,8,4,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,3,12,12,8,2,255, - 192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8, - 1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,113,157,202,82,115, - 211,194,82,66,93,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,73,157,202,82,122,93,202,80,73,145,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,147,202,82,115,159,202,18,114, - 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,147,234, - 82,91,159,202,82,75,147,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,116,185,166,164,37,165,164,164,116,185,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,75,209,234,16,91,209,202, - 16,75,223,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 205,194,18,49,159,136,82,115,147,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,121,205,194,18,121,159,192,82,123,147,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,75,157,201,32,121, - 25,201,4,73,57,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,75,185,201,8,121,9,201,8,73,49,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,69,205,196,144,68,137,168,132,16, - 153,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,114,29,202, - 18,114,19,194,18,67,221,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,19,202,18,114,19,194,18,67,205,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,14,33,137,32,14,33,138, - 32,9,33,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 221,194,2,49,141,136,80,115,159,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,57,221,194,2,49,141,136,66,115,157,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,113,207,202,16,74, - 13,202,2,113,221,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,114,69,202,76,114,69,194,68,65,143,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,114,93,202,66,114,77,194,80,65, - 159,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,59,157,193, - 32,49,25,137,4,113,57,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,211,194,18,66,31,194,18,57,211,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,69,17,237,16,85,81,197, - 176,69,17,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, - 141,194,82,51,159,138,18,114,19,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,123,141,194,82,123,159,194,18,122,19,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,57,143,194,80,50, - 77,138,66,113,157,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,51,155,196,34,37,163,148,162,99,155,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,221,194,8,50,9,138,8,113, - 221,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,57,221,194, - 8,65,137,192,72,59,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,14,249,144,32,12,33,130,32,28,33,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,49,207,202,16,73,145,200, - 80,51,143,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, - 33,203,96,114,161,194,32,66,33,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,51,143,202,80,123,145,202,16,74,15,128, - 0,0,1,128,0,0,1,128,0,85,85,0,0,0,8,0, - 14,1,10,10,8,4,0,128,128,0,128,128,128,128,128,128, - 128,7,10,10,8,1,0,16,16,124,146,144,144,146,124,16, - 16,7,10,10,8,1,0,28,32,32,32,248,32,32,32,124, - 194,6,8,8,8,1,1,132,72,120,72,72,120,72,132,7, - 10,10,8,1,0,130,68,40,16,254,16,254,16,16,16,1, - 10,10,8,4,0,128,128,128,128,0,0,128,128,128,128,6, - 10,10,8,1,0,120,132,128,120,132,132,120,4,132,120,4, - 2,2,8,2,12,144,144,8,10,10,8,0,0,60,66,153, - 165,161,161,165,153,66,60,5,7,7,8,2,5,112,8,120, - 136,120,0,248,6,9,9,8,1,0,36,36,72,72,144,72, - 72,36,36,6,4,4,8,1,0,252,4,4,4,6,1,1, - 8,1,4,252,8,10,10,8,0,0,60,66,185,165,165,185, - 169,165,66,60,6,1,1,8,1,11,252,3,4,4,8,2, - 10,64,160,160,64,7,9,9,8,1,1,16,16,16,254,16, - 16,16,0,254,5,7,7,8,2,5,112,136,8,112,128,128, - 248,5,7,7,8,2,5,112,136,8,112,8,136,112,3,3, - 3,8,3,10,32,64,128,5,8,8,8,2,254,136,136,136, - 136,216,168,128,128,6,12,12,8,1,255,124,244,244,244,244, - 116,20,20,20,20,20,28,2,2,2,8,3,4,192,192,3, - 2,2,8,2,254,32,192,3,7,7,8,2,5,32,96,160, - 32,32,32,32,5,7,7,8,2,5,112,136,136,136,112,0, - 248,6,9,9,8,1,0,144,144,72,72,36,72,72,144,144, - 6,10,10,8,1,0,68,196,72,80,80,36,44,84,156,132, - 6,10,10,8,1,0,68,196,72,80,80,40,52,68,136,156, - 6,10,10,8,1,0,196,36,72,48,208,36,44,84,156,132, - 6,10,10,8,1,0,16,16,0,16,16,96,132,132,132,120, - 6,14,14,8,1,0,96,24,0,0,48,72,72,132,132,252, - 132,132,132,132,6,14,14,8,1,0,24,96,0,0,48,72, - 72,132,132,252,132,132,132,132,6,14,14,8,1,0,48,72, - 0,0,48,72,72,132,132,252,132,132,132,132,6,14,14,8, - 1,0,100,152,0,0,48,72,72,132,132,252,132,132,132,132, - 6,14,14,8,1,0,72,72,0,0,48,72,72,132,132,252, - 132,132,132,132,6,14,14,8,1,0,48,72,48,0,48,72, - 72,132,132,252,132,132,132,132,7,10,10,8,1,0,62,80, - 144,144,254,144,144,144,144,158,6,12,12,8,1,254,120,132, - 132,128,128,128,128,132,132,120,16,96,6,14,14,8,1,0, - 96,24,0,0,252,128,128,128,248,128,128,128,128,252,6,14, - 14,8,1,0,24,96,0,0,252,128,128,128,248,128,128,128, - 128,252,6,14,14,8,1,0,48,72,0,0,252,128,128,128, - 248,128,128,128,128,252,6,14,14,8,1,0,72,72,0,0, - 252,128,128,128,248,128,128,128,128,252,5,14,14,8,2,0, - 96,24,0,0,248,32,32,32,32,32,32,32,32,248,5,14, - 14,8,2,0,48,192,0,0,248,32,32,32,32,32,32,32, - 32,248,5,14,14,8,2,0,96,144,0,0,248,32,32,32, - 32,32,32,32,32,248,5,14,14,8,2,0,144,144,0,0, - 248,32,32,32,32,32,32,32,32,248,7,10,10,8,0,0, - 120,68,66,66,242,66,66,66,68,120,6,14,14,8,1,0, - 100,152,0,0,132,196,196,164,164,148,148,140,140,132,6,14, - 14,8,1,0,96,24,0,0,120,132,132,132,132,132,132,132, - 132,120,6,14,14,8,1,0,24,96,0,0,120,132,132,132, - 132,132,132,132,132,120,6,14,14,8,1,0,48,72,0,0, - 120,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 100,152,0,0,120,132,132,132,132,132,132,132,132,120,6,14, - 14,8,1,0,72,72,0,0,120,132,132,132,132,132,132,132, - 132,120,6,5,5,8,1,2,132,72,48,72,132,6,12,12, - 8,1,255,4,116,136,140,148,148,164,164,196,68,184,128,6, - 14,14,8,1,0,96,24,0,0,132,132,132,132,132,132,132, - 132,132,120,6,14,14,8,1,0,24,96,0,0,132,132,132, - 132,132,132,132,132,132,120,6,14,14,8,1,0,48,72,0, - 0,132,132,132,132,132,132,132,132,132,120,6,14,14,8,1, - 0,72,72,0,0,132,132,132,132,132,132,132,132,132,120,7, - 14,14,8,1,0,24,96,0,0,130,130,68,68,40,16,16, - 16,16,16,6,11,11,8,1,0,128,128,240,136,132,132,136, - 240,128,128,128,6,10,10,8,1,0,112,136,136,136,248,132, - 132,132,196,184,6,12,12,8,1,0,96,24,0,0,120,132, - 4,124,132,132,140,116,6,12,12,8,1,0,24,96,0,0, - 120,132,4,124,132,132,140,116,6,12,12,8,1,0,48,72, - 0,0,120,132,4,124,132,132,140,116,6,12,12,8,1,0, - 100,152,0,0,120,132,4,124,132,132,140,116,6,12,12,8, - 1,0,72,72,0,0,120,132,4,124,132,132,140,116,6,13, - 13,8,1,0,48,72,48,0,0,120,132,4,124,132,132,140, - 116,7,8,8,8,1,0,124,146,18,126,144,144,146,124,6, - 10,10,8,1,254,120,132,128,128,128,128,132,120,16,96,6, - 12,12,8,1,0,96,24,0,0,120,132,132,252,128,128,132, - 120,6,12,12,8,1,0,24,96,0,0,120,132,132,252,128, - 128,132,120,6,12,12,8,1,0,48,72,0,0,120,132,132, - 252,128,128,132,120,6,12,12,8,1,0,72,72,0,0,120, - 132,132,252,128,128,132,120,5,12,12,8,2,0,192,48,0, - 0,96,32,32,32,32,32,32,248,5,12,12,8,2,0,48, - 192,0,0,96,32,32,32,32,32,32,248,5,12,12,8,2, - 0,96,144,0,0,96,32,32,32,32,32,32,248,5,12,12, - 8,2,0,144,144,0,0,96,32,32,32,32,32,32,248,6, - 12,12,8,1,0,100,24,40,68,4,124,132,132,132,132,132, - 120,6,12,12,8,1,0,100,152,0,0,184,196,132,132,132, - 132,132,132,6,12,12,8,1,0,96,24,0,0,120,132,132, - 132,132,132,132,120,6,12,12,8,1,0,24,96,0,0,120, - 132,132,132,132,132,132,120,6,12,12,8,1,0,48,72,0, - 0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,100, - 152,0,0,120,132,132,132,132,132,132,120,6,12,12,8,1, - 0,72,72,0,0,120,132,132,132,132,132,132,120,6,7,7, - 8,1,1,48,0,0,252,0,0,48,6,10,10,8,1,255, - 4,120,140,148,148,164,164,196,120,128,6,12,12,8,1,0, - 96,24,0,0,132,132,132,132,132,132,140,116,6,12,12,8, - 1,0,24,96,0,0,132,132,132,132,132,132,140,116,6,12, - 12,8,1,0,48,72,0,0,132,132,132,132,132,132,140,116, - 6,12,12,8,1,0,72,72,0,0,132,132,132,132,132,132, - 140,116,6,14,14,8,1,254,24,96,0,0,132,132,132,132, - 132,76,52,4,4,120,5,12,12,8,2,254,128,128,240,136, - 136,136,144,160,192,128,128,128,6,14,14,8,1,254,72,72, - 0,0,132,132,132,132,132,76,52,4,4,120}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=14 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifontr[1483] U8G_SECTION(".progmem.u8g_font_unifontr") = { - 0,16,16,0,254,10,1,231,3,213,32,127,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,68,56,114,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,6,1,1,8,1,4,252,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,10,10,8,1,0,128,128, - 136,144,160,192,160,144,136,132,5,10,10,8,2,0,96,32, - 32,32,32,32,32,32,32,248,7,8,8,8,1,0,236,146, - 146,146,146,146,146,146,6,8,8,8,1,0,184,196,132,132, - 132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,132, - 132,120,6,10,10,8,1,254,184,196,132,132,132,132,196,184, - 128,128,6,10,10,8,1,254,116,140,132,132,132,132,140,116, - 4,4,6,8,8,8,1,0,184,196,132,128,128,128,128,128, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,10, - 10,8,1,0,32,32,248,32,32,32,32,32,32,24,6,8, - 8,8,1,0,132,132,132,132,132,132,140,116,6,8,8,8, - 1,0,132,132,132,72,72,72,48,48,7,8,8,8,1,0, - 130,146,146,146,146,146,146,108,6,8,8,8,1,0,132,132, - 72,48,48,72,132,132,6,10,10,8,1,254,132,132,132,132, - 132,76,52,4,4,120,6,8,8,8,1,0,252,4,8,16, - 32,64,128,252,3,12,12,8,3,255,96,128,128,64,64,128, - 128,64,64,128,128,96,1,14,14,8,4,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,3,12,12,8,2,255, - 192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8, - 1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128, - 0,0,1,128,0,0,1,128,0,85,85}; diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c deleted file mode 100644 index 30b309723..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - - u8g_line.h - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) -{ - u8g_uint_t tmp; - u8g_uint_t x,y; - u8g_uint_t dx, dy; - u8g_int_t err; - u8g_int_t ystep; - - uint8_t swapxy = 0; - - /* no BBX intersection check at the moment, should be added... */ - - if ( x1 > x2 ) dx = x1-x2; else dx = x2-x1; - if ( y1 > y2 ) dy = y1-y2; else dy = y2-y1; - - if ( dy > dx ) - { - swapxy = 1; - tmp = dx; dx =dy; dy = tmp; - tmp = x1; x1 =y1; y1 = tmp; - tmp = x2; x2 =y2; y2 = tmp; - } - if ( x1 > x2 ) - { - tmp = x1; x1 =x2; x2 = tmp; - tmp = y1; y1 =y2; y2 = tmp; - } - err = dx >> 1; - if ( y2 > y1 ) ystep = 1; else ystep = -1; - y = y1; - for( x = x1; x <= x2; x++ ) - { - if ( swapxy == 0 ) - u8g_DrawPixel(u8g, x, y); - else - u8g_DrawPixel(u8g, y, x); - err -= (uint8_t)dy; - if ( err < 0 ) - { - y += (u8g_uint_t)ystep; - err += (u8g_uint_t)dx; - } - } -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c deleted file mode 100644 index 41c7fada1..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c +++ /dev/null @@ -1,456 +0,0 @@ -/* - - u8g_ll_api.c - - low level api - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include -#include "u8g.h" - -uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - return dev->dev_fn(u8g, dev, msg, arg); -} - -/*====================================================================*/ - -uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t r; - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_INIT, NULL); - u8g->state_cb(U8G_STATE_MSG_BACKUP_U8G); - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); - return r; -} - -void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_FIRST, NULL); - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); -} - -uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t r; - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); - r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_NEXT, NULL); - if ( r != 0 ) - { - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); - } - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); - return r; -} - -uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_CONTRAST, &contrast); -} - -void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_PIXEL, arg); -} - -void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - arg->dir = dir; - arg->pixel = pixel; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_8PIXEL, arg); -} - -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION -uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_IS_BBX_INTERSECTION, &arg); -} -#endif - - - -u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_uint_t r; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_WIDTH, &r); - return r; -} - -u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_uint_t r; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_HEIGHT, &r); - return r; -} - -u8g_uint_t u8g_GetModeLL(u8g_t *u8g, u8g_dev_t *dev) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_MODE, NULL); -} - - - -/*====================================================================*/ - -void u8g_UpdateDimension(u8g_t *u8g) -{ - u8g->width = u8g_GetWidthLL(u8g, u8g->dev); - u8g->height = u8g_GetHeightLL(u8g, u8g->dev); - u8g->mode = u8g_GetModeLL(u8g, u8g->dev); - /* 9 Dec 2012: u8g_scale.c requires update of current page */ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); -} - -static void u8g_init_data(u8g_t *u8g) -{ - uint8_t i; - u8g->font = NULL; - u8g->cursor_font = NULL; - u8g->cursor_bg_color = 0; - u8g->cursor_fg_color = 1; - u8g->cursor_encoding = 34; - u8g->cursor_fn = (u8g_draw_cursor_fn)0; - - for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) - u8g->pin_list[i] = U8G_PIN_NONE; - - u8g_SetColorIndex(u8g, 1); - - u8g_SetFontPosBaseline(u8g); - - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; - u8g->font_ref_ascent = 0; - u8g->font_ref_descent = 0; - u8g->font_line_spacing_factor = 64; /* 64 = 1.0, 77 = 1.2 line spacing factor */ - u8g->line_spacing = 0; - - u8g->state_cb = u8g_state_dummy_cb; - -} - -uint8_t u8g_Begin(u8g_t *u8g) -{ - /* call and init low level driver and com device */ - if ( u8g_InitLL(u8g, u8g->dev) == 0 ) - return 0; - /* fetch width and height from the low level */ - u8g_UpdateDimension(u8g); - return 1; -} - -uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_init_data(u8g); - u8g->dev = dev; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - -uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - u8g->pin_list[U8G_PI_SCK] = sck; - u8g->pin_list[U8G_PI_MOSI] = mosi; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - -uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) -{ - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - - /* assign user pins */ - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options) -{ - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - u8g->pin_list[U8G_PI_I2C_OPTION] = options; - - return u8g_Begin(u8g); -} - - -uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_EN] = en; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_DI] = di; - u8g->pin_list[U8G_PI_RW] = rw; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_D0] = d0; - u8g->pin_list[U8G_PI_D1] = d1; - u8g->pin_list[U8G_PI_D2] = d2; - u8g->pin_list[U8G_PI_D3] = d3; - u8g->pin_list[U8G_PI_D4] = d4; - u8g->pin_list[U8G_PI_D5] = d5; - u8g->pin_list[U8G_PI_D6] = d6; - u8g->pin_list[U8G_PI_D7] = d7; - - u8g->pin_list[U8G_PI_EN] = en; - u8g->pin_list[U8G_PI_CS1] = cs1; - u8g->pin_list[U8G_PI_CS2] = cs2; - u8g->pin_list[U8G_PI_DI] = di; - u8g->pin_list[U8G_PI_RW] = rw; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -/* - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS 14 - PIN_A0 15 - PIN_RESET 16 - PIN_WR 17 - PIN_RD 18 - - u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) - -*/ - -uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_D0] = d0; - u8g->pin_list[U8G_PI_D1] = d1; - u8g->pin_list[U8G_PI_D2] = d2; - u8g->pin_list[U8G_PI_D3] = d3; - u8g->pin_list[U8G_PI_D4] = d4; - u8g->pin_list[U8G_PI_D5] = d5; - u8g->pin_list[U8G_PI_D6] = d6; - u8g->pin_list[U8G_PI_D7] = d7; - - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_WR] = wr; - u8g->pin_list[U8G_PI_RD] = rd; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -void u8g_FirstPage(u8g_t *u8g) -{ - u8g_FirstPageLL(u8g, u8g->dev); -} - -uint8_t u8g_NextPage(u8g_t *u8g) -{ - if ( u8g->cursor_fn != (u8g_draw_cursor_fn)0 ) - { - u8g->cursor_fn(u8g); - } - return u8g_NextPageLL(u8g, u8g->dev); -} - -uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast) -{ - return u8g_SetContrastLL(u8g, u8g->dev, contrast); -} - -void u8g_SleepOn(u8g_t *u8g) -{ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_ON, NULL); -} - -void u8g_SleepOff(u8g_t *u8g) -{ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_OFF, NULL); -} - - -void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y) -{ - u8g_DrawPixelLL(u8g, u8g->dev, x, y); -} - -void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_Draw8PixelLL(u8g, u8g->dev, x, y, dir, pixel); -} - -/* u8g_IsBBXIntersection() has been moved to u8g_clip.c */ -#ifdef OBSOLETE_CODE -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - /* new code */ - u8g_dev_arg_bbx_t arg; - arg.x = x; - arg.y = y; - arg.w = w; - arg.h = h; - return u8g_is_box_bbx_intersection(&(u8g->current_page), &arg); - - /* old code */ - //return u8g_IsBBXIntersectionLL(u8g, u8g->dev, x, y, w, h); -} -#endif - -void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx) -{ - u8g->arg_pixel.color = idx; - /*u8g->color_index = idx; */ /* must be removed */ -} - -uint8_t u8g_GetColorIndex(u8g_t *u8g) -{ - return u8g->arg_pixel.color; -} - -uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g) -{ - uint8_t mode; - mode = u8g_GetMode(u8g); - if ( mode == U8G_MODE_R3G3B2 ) - return 255; /* white */ - else if ( u8g_GetMode(u8g) == U8G_MODE_GRAY2BIT ) - return 3; /* max intensity */ - else /* if ( u8g.getMode() == U8G_MODE_BW ) */ - return 1; /* pixel on */ - return 1; -} - -void u8g_SetDefaultForegroundColor(u8g_t *u8g) -{ - u8g_SetColorIndex(u8g, u8g_GetDefaultForegroundColor(u8g)); -} - -uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g) -{ - return 0; -} - -void u8g_SetDefaultBackgroundColor(u8g_t *u8g) -{ - u8g_SetColorIndex(u8g, u8g_GetDefaultBackgroundColor(u8g)); /* pixel on / black */ -} - -uint8_t u8g_GetDefaultMidColor(u8g_t *u8g) -{ - uint8_t mode; - mode = u8g_GetMode(u8g); - if ( mode == U8G_MODE_R3G3B2 ) - return 0x06d; /* gray: 01101101 */ - else if ( u8g_GetMode(u8g) == U8G_MODE_GRAY2BIT ) - return 1; /* low mid intensity */ - else /* if ( u8g.getMode() == U8G_MODE_BW ) */ - return 1; /* pixel on */ - return 1; /* default */ -} - -void u8g_SetDefaultMidColor(u8g_t *u8g) -{ - u8g_SetColorIndex(u8g, u8g_GetDefaultMidColor(u8g)); -} - - - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c deleted file mode 100644 index 1a3eb21ed..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - - u8g_page.c - - page helper functions, only called by the dev handler. - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* - setup page count structure - conditions: page_height <= total_height -*/ -void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) -{ - p->page_height = page_height; - p->total_height = total_height; - p->page = 0; - u8g_page_First(p); -} - -void u8g_page_First(u8g_page_t *p) -{ - p->page_y0 = 0; - p->page_y1 = p->page_height; - p->page_y1--; - p->page = 0; -} - -uint8_t u8g_page_Next(u8g_page_t * p) -{ - register u8g_uint_t y1; - p->page_y0 += p->page_height; - if ( p->page_y0 >= p->total_height ) - return 0; - p->page++; - y1 = p->page_y1; - y1 += p->page_height; - if ( y1 >= p->total_height ) - { - y1 = p->total_height; - y1--; - } - p->page_y1 = y1; - - return 1; -} - - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c deleted file mode 100644 index a94647361..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - - u8g_pb.c - - common procedures for the page buffer - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_pb_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* the following procedure does not work. why? Can be checked with descpic */ -/* -void u8g_pb_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t cnt = b->width; - do - { - *ptr++ = 0; - cnt--; - } while( cnt != 0 ); -} -*/ - -/* - intersection assumptions: - a1 <= a2 is always true -*/ - /* - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - */ -/* -uint8_t u8g_pb8v1_IsYIntersection___Old(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c0, c1, c; - c0 = v0 <= b->p.page_y1; - c1 = v1 >= b->p.page_y0; - c = v0 > v1; - if ( c0 && c1 ) return 1; - if ( c0 && c ) return 1; - if ( c1 && c ) return 1; - return 0; -} -*/ - -uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c1, c2, c3, tmp; - c1 = v0 <= pb->p.page_y1; - c2 = v1 >= pb->p.page_y0; - c3 = v0 > v1; - /* - if ( c1 && c2 ) - return 1; - if ( c1 && c3 ) - return 1; - if ( c2 && c3 ) - return 1; - return 0; - */ - - tmp = c1; - c1 &= c2; - c2 &= c3; - c3 &= tmp; - c1 |= c2; - c1 |= c3; - return c1 & 1; -} - - -uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t /*c0, c1, */ c2, c3; - /* - conditions: b->p.page_y0 < b->p.page_y1 - there are no restriction on v0 and v1. If v0 > v1, then warp around unsigned is assumed - */ - /* - c0 = v0 < 0; - c1 = v1 < 0; - */ - c2 = v0 > b->width; - c3 = v1 > b->width; - /*if ( c0 && c1 ) return 0;*/ - if ( c2 && c3 ) return 0; - /*if ( c1 && c2 ) return 0;*/ - return 1; -} - -uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx) -{ - u8g_uint_t tmp; - - tmp = bbx->y; - tmp += bbx->h; - tmp--; - - if ( u8g_pb_IsYIntersection(pb, bbx->y, tmp) == 0 ) - return 0; - - /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ - tmp = bbx->x; - tmp += bbx->w; - tmp--; - - return u8g_pb_IsXIntersection(pb, bbx->x, tmp); -} - -void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box) -{ - box->x0 = 0; - box->y0 = pb->p.page_y0; - box->x1 = pb->width; - box->x1--; - box->y1 = pb->p.page_y1; -} - - -uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - u8g_uint_t v0, v1; - v0 = arg_pixel->y; - v1 = v0; - switch( arg_pixel->dir ) - { - case 0: - break; - case 1: - v1 += 8; /* this is independent from the page height */ - break; - case 2: - break; - case 3: - v0 -= 8; - break; - } - return u8g_pb_IsYIntersection(b, v0, v1); -} - - - -uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev) -{ - return u8g_WriteSequence(u8g, dev, b->width, b->buf); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c deleted file mode 100644 index dbcd0215f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - u8g_pb14v1.c - - 14bit height monochrom (1 bit) page buffer, - byte has vertical orientation, 7 bits per byte - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - - -void u8g_pb14v1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb14v1_Clear(b); -} - -void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 7 ) - { - ptr += b->width; - y -= 7; - } - mask = 1; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb14v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb14v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb14v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb14v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb14v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb14v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb14v1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb14v1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c deleted file mode 100644 index 6f1502ed7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - - u8g_pb16h1.c - - 2x 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -void u8g_pb16h1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - - -void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16h1_Clear(b); -} - - -/* limitation: total buffer must not exceed 2*256 bytes */ -void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 8 ) - { - ptr += b->width; - y &= 0x07; - } - tmp = b->width; - tmp >>= 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } - -} - - -void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb16h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb16h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb16h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16h1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16h1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c deleted file mode 100644 index d694efbec..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c +++ /dev/null @@ -1,182 +0,0 @@ -/* - - u8g_pb16h2.c - - 2 bit per pixel page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb16h2_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - - /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ - end_ptr += b->width; - end_ptr += b->width; - - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -void u8g_pb16h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16h2_Clear(b); -} - -static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - register uint16_t tmp; - - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 2; - tmp *= (uint8_t)y; - ptr += tmp; - - tmp = x; - tmp >>= 2; - ptr += tmp; - - tmp = x; - tmp &= 3; - tmp <<= 1; - mask = 3; - mask <<= tmp; - mask = ~mask; - color_index &= 3; - color_index <<= tmp; - - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb16h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb16h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16h2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - - -uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb16h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_page_First(&(pb->p)); - u8g_pb16h2_Clear(pb); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16h2_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c deleted file mode 100644 index 774aaec70..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - u8g_pb16v1.c - - 16bit height monochrom (1 bit) page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - - -void u8g_pb16v1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16v1_Clear(b); -} - -void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 8 ) - { - ptr += b->width; - y &= 0x07; - } - mask = 1; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb16v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb16v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb16v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16v1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16v1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c deleted file mode 100644 index 3d40ddad7..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - - u8g_pb16v2.c - - 16 bit height 2 bit per pixel page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16v2_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - - /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ - end_ptr += b->width; - end_ptr += b->width; - - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -void u8g_pb16v2Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16v2_Clear(b); -} - -void u8g_pb16v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - if ( y >= 4 ) - { - ptr += b->width; - } - mask = 0x03; - y &= 0x03; - y <<= 1; - mask <<= y; - mask ^=0xff; - color_index &= 3; - color_index <<= y; - ptr += x; - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb16v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb16v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16v2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - - -uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb16v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16v2_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16v2_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c deleted file mode 100644 index 6ac100f32..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - - u8g_pb32h1.c - - 2x 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -void u8g_pb32h1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*4; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - - -void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb32h1_Clear(b); -} - - -/* limitation: total buffer must not exceed 2*256 bytes */ -void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint16_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width; - tmp >>= 3; - tmp *= y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } - -} - - -void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb32h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb32h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb32h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb32h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb32h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb32h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb32h1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb32h1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c deleted file mode 100644 index 8a13e0b7b..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c +++ /dev/null @@ -1,389 +0,0 @@ -/* - - u8g_pb8h1.c - - 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure - - 23. Sep 2012: Bug with down procedure, see FPS 1st page --> fixed (bug located in u8g_clip.c) - -*/ - -#include "u8g.h" -#include - -#ifdef __unix__ -#include -#endif - -/* NEW_CODE disabled, because the performance increase was too slow and not worth compared */ -/* to the increase of code size */ -/* #define NEW_CODE */ - -#ifdef __unix__ -void *u8g_buf_lower_limit; -void *u8g_buf_upper_limit; -#endif - -void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -#ifdef NEW_CODE -struct u8g_pb_h1_struct -{ - u8g_uint_t x; - u8g_uint_t y; - uint8_t *ptr; - uint8_t mask; - uint8_t line_byte_len; - uint8_t cnt; -}; - -static uint8_t u8g_pb8h1_bitmask[8] = { 0x080, 0x040, 0x020, 0x010, 0x008, 0x004, 0x002, 0x001 }; - -static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) U8G_NOINLINE; -static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) -{ - register u8g_uint_t x; - x = s->x; - x++; - s->x = x; - x &= 7; - s->mask = u8g_pb8h1_bitmask[x]; - if ( x == 0 ) - s->ptr++; -} - -static void u8g_pb8h1_state_left(struct u8g_pb_h1_struct *s) -{ - register u8g_uint_t x; - x = s->x; - x--; - s->x = x; - x &= 7; - s->mask = u8g_pb8h1_bitmask[x]; - if ( x == 7 ) - s->ptr--; -} - -static void u8g_pb8h1_state_down(struct u8g_pb_h1_struct *s) -{ - s->y++; - s->ptr += s->line_byte_len; -} - -static void u8g_pb8h1_state_up(struct u8g_pb_h1_struct *s) -{ - s->y--; - s->ptr -= s->line_byte_len; -} - -static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) U8G_NOINLINE; -static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) -{ - u8g_uint_t tmp; - - uint8_t *ptr = b->buf; - - s->x = x; - s->y = y; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 3; - s->line_byte_len = tmp; - - /* assume negative y values, can be down to -7, subtract this from the pointer and add correction of 8 to y */ - ptr -= tmp*8; - y+=8; - /* it is important that the result of tmp*y can be 16 bit value also for 8 bit mode */ - ptr += tmp*y; - - s->mask = u8g_pb8h1_bitmask[x & 7]; - - /* assume negative x values (to -7), subtract 8 pixel from the pointer and add 8 to x */ - ptr--; - x += 8; - x >>= 3; - ptr += x; - s->ptr = ptr; -} - -static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) U8G_NOINLINE; -static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) -{ - -#ifdef __unix__ - assert( s->ptr >= u8g_buf_lower_limit ); - assert( s->ptr < u8g_buf_upper_limit ); -#endif - - if ( color_index ) - { - *s->ptr |= s->mask; - } - else - { - uint8_t mask = s->mask; - mask ^=0xff; - *s->ptr &= mask; - } -} -#endif - - -void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -/* limitation: total buffer must not exceed 256 bytes */ -void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ -#ifdef NEW_CODE - struct u8g_pb_h1_struct s; - u8g_pb8h1_state_init(&s, b, x, y); - u8g_pb8h1_state_set_pixel(&s, color_index); - -// u8g_pb8h1_state_up(&s); -// if ( s.y > b->p.page_y1 ) -// return; -// if ( s.x > b->width ) -// return; -// u8g_pb8h1_state_set_pixel(&s, color_index); -#else - register uint8_t mask; - u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width; - tmp >>= 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -#endif -} - - -void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb8h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - -#ifdef NEW_CODE -static void u8g_pb8h1_Set8PixelState(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - struct u8g_pb_h1_struct s; - uint8_t cnt; - u8g_pb8h1_state_init(&s, b, arg_pixel->x, arg_pixel->y); - cnt = 8; - switch( arg_pixel->dir ) - { - case 0: - do - { - if ( s.x < b->width ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_right(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 1: - do - { - if ( s.y >= b->p.page_y0 ) - if ( s.y <= b->p.page_y1 ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_down(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 2: - do - { - if ( s.x < b->width ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_left(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 3: - do - { - if ( s.y >= b->p.page_y0 ) - if ( s.y <= b->p.page_y1 ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_up(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - } -} -#endif - -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: -#ifdef NEW_CODE - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1_Set8PixelState(pb, (u8g_dev_arg_pixel_t *)arg); -#else - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); -#endif - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c deleted file mode 100644 index ffc90c2a3..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - - u8g_pb8h1f.c - - 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation, same as u8g_pb8h1, but byte is flipped - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -/* limitation: total buffer must not exceed 256 bytes, 20 nov 2012: extended to >256 bytes */ -void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - /*register uint8_t mask, tmp;*/ - register uint8_t mask; - register u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width >> 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 1; - mask <<= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h1f_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h1f_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb8h1f_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h1f_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1f_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h1f_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c deleted file mode 100644 index 0e37f211f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - - u8g_pb8h2.c - - 8bit height 2 bit per pixel page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb8h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - register uint16_t tmp; - - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 2; - tmp *= (uint8_t)y; - ptr += tmp; - - tmp = x; - tmp >>= 2; - ptr += tmp; - - tmp = x; - tmp &= 3; - tmp <<= 1; - mask = 3; - mask <<= tmp; - mask = ~mask; - color_index &= 3; - color_index <<= tmp; - - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb8h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - - -uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb8h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c deleted file mode 100644 index 5753645d1..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c +++ /dev/null @@ -1,179 +0,0 @@ -/* - - u8g_pb8h8.c - - 8 bits per pixel, horizontal - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -uint8_t u8g_index_color_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_index_color_8h8_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_8h8_buff}; -u8g_dev_t name = { dev_fn, &u8g_index_color_8h8_pb, com_fn } - -*/ - -#include "u8g.h" - -#define WIDTH_BITS 7 -#define WIDTH (1<buf; - uint8_t *end_ptr = ptr; - uint8_t cnt = b->p.page_height; - do - { - end_ptr += b->width; - cnt--; - } while( cnt > 0 ); - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - -void u8g_pb8h8_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb8h8_Clear(b); -} - -static void u8g_pb8h8_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - ptr += tmp; - *ptr = color_index; -} - -void u8g_pb8h8_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h8_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8h8_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h8_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h8_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h8_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb8h8_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb8h8_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_R3G3B2; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c deleted file mode 100644 index 37352fd11..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - - u8g_pb8v1.c - - 8bit height monochrom (1 bit) page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - mask = 1; - y &= 0x07; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb8v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c deleted file mode 100644 index 3656511db..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - - u8g_pb8v2.c - - 8bit height 2 bit per pixel page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb8v2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -void u8g_pb8v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - mask = 0x03; - y &= 0x03; - y <<= 1; - mask <<= y; - mask ^=0xff; - color_index &= 3; - color_index <<= y; - ptr += x; - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb8v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8v2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); - -} - - - -uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb8v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_INDEX: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c deleted file mode 100644 index 139a43a24..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_rect.c - - U8G high level interface for horizontal and vertical things - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_draw_hline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - uint8_t pixel = 0x0ff; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, pixel); - w-=8; - x+=8; - } - if ( w != 0 ) - { - w ^=7; - w++; - pixel <<= w&7; - u8g_Draw8Pixel(u8g, x, y, 0, pixel); - } -} - -void u8g_draw_vline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) -{ - uint8_t pixel = 0x0ff; - while( h >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 1, pixel); - h-=8; - y+=8; - } - if ( h != 0 ) - { - h ^=7; - h++; - pixel <<= h&7; - u8g_Draw8Pixel(u8g, x, y, 1, pixel); - } -} - -void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, w, 1) == 0 ) - return; - u8g_draw_hline(u8g, x, y, w); -} - -void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, 1, w) == 0 ) - return; - u8g_draw_vline(u8g, x, y, w); -} - -/* restrictions: w > 0 && h > 0 */ -void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - u8g_uint_t xtmp = x; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - - u8g_draw_hline(u8g, x, y, w); - u8g_draw_vline(u8g, x, y, h); - x+=w; - x--; - u8g_draw_vline(u8g, x, y, h); - y+=h; - y--; - u8g_draw_hline(u8g, xtmp, y, w); -} - -void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - do - { - u8g_draw_hline(u8g, x, y, w); - y++; - h--; - } while( h != 0 ); -} - -/* restrictions: h > 0 */ -void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - u8g_draw_box(u8g, x, y, w, h); -} - - -void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) -{ - u8g_uint_t xl, yu; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - xl = x; - xl += r; - yu = y; - yu += r; - - { - u8g_uint_t yl, xr; - - xr = x; - xr += w; - xr -= r; - xr -= 1; - - yl = y; - yl += h; - yl -= r; - yl -= 1; - - u8g_draw_circle(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); - u8g_draw_circle(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); - u8g_draw_circle(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); - u8g_draw_circle(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); - } - - { - u8g_uint_t ww, hh; - - ww = w; - ww -= r; - ww -= r; - ww -= 2; - hh = h; - hh -= r; - hh -= r; - hh -= 2; - - xl++; - yu++; - h--; - w--; - u8g_draw_hline(u8g, xl, y, ww); - u8g_draw_hline(u8g, xl, y+h, ww); - u8g_draw_vline(u8g, x, yu, hh); - u8g_draw_vline(u8g, x+w, yu, hh); - } -} - -void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) -{ - u8g_uint_t xl, yu; - u8g_uint_t yl, xr; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - xl = x; - xl += r; - yu = y; - yu += r; - - xr = x; - xr += w; - xr -= r; - xr -= 1; - - yl = y; - yl += h; - yl -= r; - yl -= 1; - - u8g_draw_disc(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); - u8g_draw_disc(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); - u8g_draw_disc(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); - u8g_draw_disc(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); - - { - u8g_uint_t ww, hh; - - ww = w; - ww -= r; - ww -= r; - ww -= 2; - hh = h; - hh -= r; - hh -= r; - hh -= 2; - - xl++; - yu++; - h--; - u8g_draw_box(u8g, xl, y, ww, r+1); - u8g_draw_box(u8g, xl, yl, ww, r+1); - //u8g_draw_hline(u8g, xl, y+h, ww); - u8g_draw_box(u8g, x, yu, w, hh); - //u8g_draw_vline(u8g, x+w, yu, hh); - } -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c deleted file mode 100644 index c581104cb..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c +++ /dev/null @@ -1,398 +0,0 @@ -/* - - u8g_rot.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); -uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); -uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -u8g_dev_t u8g_dev_rot = { u8g_dev_rot90_fn, NULL, NULL }; - - -void u8g_UndoRotation(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - return; - u8g->dev = u8g_dev_rot.dev_mem; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot90(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot90_fn; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot180(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot180_fn; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot270(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot270_fn; - u8g_UpdateDimension(u8g); -} - -uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_INDEX: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y, tmp; - - /* transform the reference point */ - y = bbx->x; - x = u8g->height; - /* x = u8g_GetWidthLL(u8g, rotation_chain); */ - x -= bbx->y; - x--; - - /* adjust point to be the uppler left corner again */ - x -= bbx->h; - x++; - - /* swap box dimensions */ - tmp = bbx->w; - bbx->w = bbx->h; - bbx->h = tmp; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - //new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - //new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - - new_box.x0 = ((u8g_box_t *)arg)->y0; - new_box.x1 = ((u8g_box_t *)arg)->y1; - new_box.y0 = ((u8g_box_t *)arg)->x0; - new_box.y1 = ((u8g_box_t *)arg)->x1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - { - u8g_uint_t x, y; - y = ((u8g_dev_arg_pixel_t *)arg)->x; - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - { - u8g_uint_t x, y; - //uint16_t x,y; - y = ((u8g_dev_arg_pixel_t *)arg)->x; - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=1; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - -uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_INDEX: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y; - - /* transform the reference point */ - //y = u8g_GetHeightLL(u8g, rotation_chain); - y = u8g->height; - y -= bbx->y; - y--; - - //x = u8g_GetWidthLL(u8g, rotation_chain); - x = u8g->width; - x -= bbx->x; - x--; - - /* adjust point to be the uppler left corner again */ - y -= bbx->h; - y++; - - x -= bbx->w; - x++; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - - new_box.x0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; - new_box.x1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; - new_box.y0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - new_box.y1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - { - u8g_uint_t x, y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->y; - y--; - - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->x; - x--; - - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - { - u8g_uint_t x, y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->y; - y--; - - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->x; - x--; - - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=2; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - -uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_INDEX: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y, tmp; - - /* transform the reference point */ - x = bbx->y; - - y = u8g->width; - /* y = u8g_GetHeightLL(u8g, rotation_chain); */ - y -= bbx->x; - y--; - - /* adjust point to be the uppler left corner again */ - y -= bbx->w; - y++; - - /* swap box dimensions */ - tmp = bbx->w; - bbx->w = bbx->h; - bbx->h = tmp; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - - new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - new_box.y0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; - new_box.y1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - { - u8g_uint_t x, y; - x = ((u8g_dev_arg_pixel_t *)arg)->y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->x; - y--; - - /* - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - */ - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - { - u8g_uint_t x, y; - x = ((u8g_dev_arg_pixel_t *)arg)->y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->x; - y--; - - /* - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - */ - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=3; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c deleted file mode 100644 index e5b4b634f..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - - u8g_scale.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Scale screen by some constant factors. Usefull for making bigger fonts wiht less - memory consumption - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -u8g_dev_t u8g_dev_scale = { u8g_dev_scale_2x2_fn, NULL, NULL }; - -void u8g_UndoScale(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_scale ) - return; - u8g->dev = u8g_dev_scale.dev_mem; - u8g_UpdateDimension(u8g); -} - -void u8g_SetScale2x2(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_scale ) - { - u8g_dev_scale.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_scale; - } - u8g_dev_scale.dev_fn = u8g_dev_scale_2x2_fn; - u8g_UpdateDimension(u8g); -} - - -uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *chain = (u8g_dev_t *)(dev->dev_mem); - uint8_t pixel; - uint16_t scaled_pixel; - uint8_t i; - uint8_t dir; - u8g_uint_t x, y, xx,yy; - - switch(msg) - { - default: - return u8g_call_dev_fn(u8g, chain, msg, arg); - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, chain) / 2; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, chain) / 2; - break; - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, chain, msg, arg); - ((u8g_box_t *)arg)->x0 /= 2; - ((u8g_box_t *)arg)->x1 /= 2; - ((u8g_box_t *)arg)->y0 /= 2; - ((u8g_box_t *)arg)->y1 /= 2; - return 1; - case U8G_DEV_MSG_SET_PIXEL: - x = ((u8g_dev_arg_pixel_t *)arg)->x; - x *= 2; - y = ((u8g_dev_arg_pixel_t *)arg)->y; - y *= 2; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - x++; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - y++; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - pixel = ((u8g_dev_arg_pixel_t *)arg)->pixel; - dir = ((u8g_dev_arg_pixel_t *)arg)->dir; - scaled_pixel = 0; - for( i = 0; i < 8; i++ ) - { - scaled_pixel<<=2; - if ( pixel & 128 ) - { - scaled_pixel |= 3; - } - pixel<<=1; - } - x = ((u8g_dev_arg_pixel_t *)arg)->x; - x *= 2; - xx = x; - y = ((u8g_dev_arg_pixel_t *)arg)->y; - y *= 2; - yy = y; - if ( ((u8g_dev_arg_pixel_t *)arg)->dir & 1 ) - { - xx++; - } - else - { - yy++; - } - - ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel>>8; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - - ((u8g_dev_arg_pixel_t *)arg)->x = xx; - ((u8g_dev_arg_pixel_t *)arg)->y = yy; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel&255; - //((u8g_dev_arg_pixel_t *)arg)->pixel = 0x00; - switch(dir) - { - case 0: - x+=8; - xx+=8; - break; - case 1: - y+=8; - yy+=8; - break; - case 2: - x-=8; - xx-=8; - break; - case 3: - y-=8; - yy-=8; - break; - } - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - ((u8g_dev_arg_pixel_t *)arg)->x = xx; - ((u8g_dev_arg_pixel_t *)arg)->y = yy; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c deleted file mode 100644 index 3ae3eee4a..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - - u8g_state.c - - backup and restore hardware state - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - state callback: backup env U8G_STATE_MSG_BACKUP_ENV - device callback: DEV_MSG_INIT - state callback: backup u8g U8G_STATE_MSG_BACKUP_U8G - state callback: restore env U8G_STATE_MSG_RESTORE_ENV - - state callback: backup env U8G_STATE_MSG_BACKUP_ENV - state callback: retore u8g U8G_STATE_MSG_RESTORE_U8G - DEV_MSG_PAGE_FIRST or DEV_MSG_PAGE_NEXT - state callback: restore env U8G_STATE_MSG_RESTORE_ENV - -*/ - -#include -#include "u8g.h" - -void u8g_state_dummy_cb(uint8_t msg) -{ - /* the dummy procedure does nothing */ -} - -void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb) -{ - u8g->state_cb = backup_cb; - /* in most cases the init message was already sent, so this will backup the */ - /* current u8g state */ - backup_cb(U8G_STATE_MSG_BACKUP_U8G); -} - - -/*===============================================================*/ -/* AVR */ - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif -#endif - -#if defined(U8G_ATMEGA_HW_SPI) -#include -static uint8_t u8g_state_avr_spi_memory[2]; - -void u8g_backup_avr_spi(uint8_t msg) -{ - if ( U8G_STATE_MSG_IS_BACKUP(msg) ) - { - u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)] = SPCR; - } - else - { - uint8_t tmp = SREG; - cli(); - SPCR = 0; - SPCR = u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)]; - SREG = tmp; - } -} - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c deleted file mode 100644 index f1d1803cf..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - - u8g_u16toa.c - - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -const char *u8g_u16toap(char * dest, uint16_t v) -{ - uint8_t pos; - uint8_t d; - uint16_t c; - c = 10000; - for( pos = 0; pos < 5; pos++ ) - { - d = '0'; - while( v >= c ) - { - v -= c; - d++; - } - dest[pos] = d; - c /= 10; - } - dest[5] = '\0'; - return dest; -} - -/* v = value, d = number of digits */ -const char *u8g_u16toa(uint16_t v, uint8_t d) -{ - static char buf[6]; - d = 5-d; - return u8g_u16toap(buf, v) + d; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c deleted file mode 100644 index f3a2c06fa..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - - u8g_u8toa.c - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -static const unsigned char u8g_u8toa_tab[3] = { 100, 10, 1 } ; -const char *u8g_u8toap(char * dest, uint8_t v) -{ - uint8_t pos; - uint8_t d; - uint8_t c; - for( pos = 0; pos < 3; pos++ ) - { - d = '0'; - c = *(u8g_u8toa_tab+pos); - while( v >= c ) - { - v -= c; - d++; - } - dest[pos] = d; - } - dest[3] = '\0'; - return dest; -} - -/* v = value, d = number of digits */ -const char *u8g_u8toa(uint8_t v, uint8_t d) -{ - static char buf[4]; - d = 3-d; - return u8g_u8toap(buf, v) + d; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c deleted file mode 100644 index 8000506b4..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_virtual_screen.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -struct _u8g_vs_t -{ - u8g_uint_t x; - u8g_uint_t y; - u8g_t *u8g; -}; -typedef struct _u8g_vs_t u8g_vs_t; - -#define U8g_VS_MAX 4 -uint8_t u8g_vs_cnt = 0; -u8g_vs_t u8g_vs_list[U8g_VS_MAX]; -uint8_t u8g_vs_current; -u8g_uint_t u8g_vs_width; -u8g_uint_t u8g_vs_height; - -uint8_t u8g_dev_vs_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - default: - { - uint8_t i; - for( i = 0; i < u8g_vs_cnt; i++ ) - { - u8g_call_dev_fn(u8g_vs_list[i].u8g, u8g_vs_list[i].u8g->dev, msg, arg); - } - } - return 1; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_vs_current = 0; - if ( u8g_vs_cnt != 0 ) - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - return 0; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t ret = 0; - if ( u8g_vs_cnt != 0 ) - ret = u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - if ( ret != 0 ) - return ret; - u8g_vs_current++; /* next device */ - if ( u8g_vs_current >= u8g_vs_cnt ) /* reached end? */ - return 0; - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, U8G_DEV_MSG_PAGE_FIRST, arg); - } - return 0; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_vs_width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_vs_height; - break; - case U8G_DEV_MSG_GET_PAGE_BOX: - if ( u8g_vs_current < u8g_vs_cnt ) - { - u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - ((u8g_box_t *)arg)->x0 += u8g_vs_list[u8g_vs_current].x; - ((u8g_box_t *)arg)->x1 += u8g_vs_list[u8g_vs_current].x; - ((u8g_box_t *)arg)->y0 += u8g_vs_list[u8g_vs_current].y; - ((u8g_box_t *)arg)->y1 += u8g_vs_list[u8g_vs_current].y; - } - else - { - ((u8g_box_t *)arg)->x0 = 0; - ((u8g_box_t *)arg)->x1 = 0; - ((u8g_box_t *)arg)->y0 = 0; - ((u8g_box_t *)arg)->y1 = 0; - } - return 1; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_vs_current < u8g_vs_cnt ) - { - ((u8g_dev_arg_pixel_t *)arg)->x -= u8g_vs_list[u8g_vs_current].x; - ((u8g_dev_arg_pixel_t *)arg)->y -= u8g_vs_list[u8g_vs_current].y; - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - } - break; - } - return 1; -} - - - -u8g_dev_t u8g_dev_vs = { u8g_dev_vs_fn, NULL, NULL }; - -void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height) -{ - if ( vs_u8g->dev != &u8g_dev_vs ) - return; /* abort if there is no a virtual screen device */ - u8g_vs_width = width; - u8g_vs_height = height; -} - -uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g) -{ - if ( vs_u8g->dev != &u8g_dev_vs ) - return 0; /* abort if there is no a virtual screen device */ - if ( u8g_vs_cnt >= U8g_VS_MAX ) - return 0; /* maximum number of child u8g's reached */ - u8g_vs_list[u8g_vs_cnt].u8g = child_u8g; - u8g_vs_list[u8g_vs_cnt].x = x; - u8g_vs_list[u8g_vs_cnt].y = y; - u8g_vs_cnt++; - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.cpp b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.cpp deleted file mode 100644 index 553add782..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.cpp +++ /dev/null @@ -1,303 +0,0 @@ -/* - TwoWire.cpp - TWI/I2C library for Wiring & Arduino - 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 2012 by Todd Krein (todd@krein.org) to implement repeated starts -*/ - -extern "C" { - #include - #include - #include - #include "twi.h" -} - -#include "Wire.h" - -// Initialize Class Variables ////////////////////////////////////////////////// - -uint8_t TwoWire::rxBuffer[BUFFER_LENGTH]; -uint8_t TwoWire::rxBufferIndex = 0; -uint8_t TwoWire::rxBufferLength = 0; - -uint8_t TwoWire::txAddress = 0; -uint8_t TwoWire::txBuffer[BUFFER_LENGTH]; -uint8_t TwoWire::txBufferIndex = 0; -uint8_t TwoWire::txBufferLength = 0; - -uint8_t TwoWire::transmitting = 0; -void (*TwoWire::user_onRequest)(void); -void (*TwoWire::user_onReceive)(int); - -// Constructors //////////////////////////////////////////////////////////////// - -TwoWire::TwoWire() -{ -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void TwoWire::begin(void) -{ - rxBufferIndex = 0; - rxBufferLength = 0; - - txBufferIndex = 0; - txBufferLength = 0; - - twi_init(); -} - -void TwoWire::begin(uint8_t address) -{ - twi_setAddress(address); - twi_attachSlaveTxEvent(onRequestService); - twi_attachSlaveRxEvent(onReceiveService); - begin(); -} - -void TwoWire::begin(int address) -{ - begin((uint8_t)address); -} - -void TwoWire::setClock(uint32_t frequency) -{ - TWBR = ((F_CPU / frequency) - 16) / 2; -} - -uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint8_t sendStop) -{ - // clamp to buffer length - if(quantity > BUFFER_LENGTH){ - quantity = BUFFER_LENGTH; - } - // perform blocking read into buffer - uint8_t read = twi_readFrom(address, rxBuffer, quantity, sendStop); - // set rx buffer iterator vars - rxBufferIndex = 0; - rxBufferLength = read; - - return read; -} - -uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity) -{ - return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)true); -} - -uint8_t TwoWire::requestFrom(int address, int quantity) -{ - return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)true); -} - -uint8_t TwoWire::requestFrom(int address, int quantity, int sendStop) -{ - return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)sendStop); -} - -void TwoWire::beginTransmission(uint8_t address) -{ - // indicate that we are transmitting - transmitting = 1; - // set address of targeted slave - txAddress = address; - // reset tx buffer iterator vars - txBufferIndex = 0; - txBufferLength = 0; -} - -void TwoWire::beginTransmission(int address) -{ - beginTransmission((uint8_t)address); -} - -// -// Originally, 'endTransmission' was an f(void) function. -// It has been modified to take one parameter indicating -// whether or not a STOP should be performed on the bus. -// Calling endTransmission(false) allows a sketch to -// perform a repeated start. -// -// WARNING: Nothing in the library keeps track of whether -// the bus tenure has been properly ended with a STOP. It -// is very possible to leave the bus in a hung state if -// no call to endTransmission(true) is made. Some I2C -// devices will behave oddly if they do not see a STOP. -// -uint8_t TwoWire::endTransmission(uint8_t sendStop) -{ - // transmit buffer (blocking) - int8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, 1, sendStop); - // reset tx buffer iterator vars - txBufferIndex = 0; - txBufferLength = 0; - // indicate that we are done transmitting - transmitting = 0; - return ret; -} - -// This provides backwards compatibility with the original -// definition, and expected behaviour, of endTransmission -// -uint8_t TwoWire::endTransmission(void) -{ - return endTransmission(true); -} - -// must be called in: -// slave tx event callback -// or after beginTransmission(address) -size_t TwoWire::write(uint8_t data) -{ - if(transmitting){ - // in master transmitter mode - // don't bother if buffer is full - if(txBufferLength >= BUFFER_LENGTH){ - setWriteError(); - return 0; - } - // put byte in tx buffer - txBuffer[txBufferIndex] = data; - ++txBufferIndex; - // update amount in buffer - txBufferLength = txBufferIndex; - }else{ - // in slave send mode - // reply to master - twi_transmit(&data, 1); - } - return 1; -} - -// must be called in: -// slave tx event callback -// or after beginTransmission(address) -size_t TwoWire::write(const uint8_t *data, size_t quantity) -{ - if(transmitting){ - // in master transmitter mode - for(size_t i = 0; i < quantity; ++i){ - write(data[i]); - } - }else{ - // in slave send mode - // reply to master - twi_transmit(data, quantity); - } - return quantity; -} - -// must be called in: -// slave rx event callback -// or after requestFrom(address, numBytes) -int TwoWire::available(void) -{ - return rxBufferLength - rxBufferIndex; -} - -// must be called in: -// slave rx event callback -// or after requestFrom(address, numBytes) -int TwoWire::read(void) -{ - int value = -1; - - // get each successive byte on each call - if(rxBufferIndex < rxBufferLength){ - value = rxBuffer[rxBufferIndex]; - ++rxBufferIndex; - } - - return value; -} - -// must be called in: -// slave rx event callback -// or after requestFrom(address, numBytes) -int TwoWire::peek(void) -{ - int value = -1; - - if(rxBufferIndex < rxBufferLength){ - value = rxBuffer[rxBufferIndex]; - } - - return value; -} - -void TwoWire::flush(void) -{ - // XXX: to be implemented. -} - -// behind the scenes function that is called when data is received -void TwoWire::onReceiveService(uint8_t* inBytes, int numBytes) -{ - // don't bother if user hasn't registered a callback - if(!user_onReceive){ - return; - } - // don't bother if rx buffer is in use by a master requestFrom() op - // i know this drops data, but it allows for slight stupidity - // meaning, they may not have read all the master requestFrom() data yet - if(rxBufferIndex < rxBufferLength){ - return; - } - // copy twi rx buffer into local read buffer - // this enables new reads to happen in parallel - for(uint8_t i = 0; i < numBytes; ++i){ - rxBuffer[i] = inBytes[i]; - } - // set rx iterator vars - rxBufferIndex = 0; - rxBufferLength = numBytes; - // alert user program - user_onReceive(numBytes); -} - -// behind the scenes function that is called when data is requested -void TwoWire::onRequestService(void) -{ - // don't bother if user hasn't registered a callback - if(!user_onRequest){ - return; - } - // reset tx buffer iterator vars - // !!! this will kill any pending pre-master sendTo() activity - txBufferIndex = 0; - txBufferLength = 0; - // alert user program - user_onRequest(); -} - -// sets function called on slave write -void TwoWire::onReceive( void (*function)(int) ) -{ - user_onReceive = function; -} - -// sets function called on slave read -void TwoWire::onRequest( void (*function)(void) ) -{ - user_onRequest = function; -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -TwoWire Wire = TwoWire(); - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.h deleted file mode 100644 index 732bdc314..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/Wire.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - TwoWire.h - TWI/I2C library for Arduino & 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 2012 by Todd Krein (todd@krein.org) to implement repeated starts -*/ - -#ifndef TwoWire_h -#define TwoWire_h - -#include -#include "Stream.h" - -#define BUFFER_LENGTH 32 - -class TwoWire : public Stream -{ - private: - static uint8_t rxBuffer[]; - static uint8_t rxBufferIndex; - static uint8_t rxBufferLength; - - static uint8_t txAddress; - static uint8_t txBuffer[]; - static uint8_t txBufferIndex; - static uint8_t txBufferLength; - - static uint8_t transmitting; - static void (*user_onRequest)(void); - static void (*user_onReceive)(int); - static void onRequestService(void); - static void onReceiveService(uint8_t*, int); - public: - TwoWire(); - void begin(); - void begin(uint8_t); - void begin(int); - void setClock(uint32_t); - void beginTransmission(uint8_t); - void beginTransmission(int); - uint8_t endTransmission(void); - uint8_t endTransmission(uint8_t); - uint8_t requestFrom(uint8_t, uint8_t); - uint8_t requestFrom(uint8_t, uint8_t, uint8_t); - uint8_t requestFrom(int, int); - uint8_t requestFrom(int, int, int); - virtual size_t write(uint8_t); - virtual size_t write(const uint8_t *, size_t); - virtual int available(void); - virtual int read(void); - virtual int peek(void); - virtual void flush(void); - void onReceive( void (*)(int) ); - void onRequest( void (*)(void) ); - - inline size_t write(unsigned long n) { return write((uint8_t)n); } - inline size_t write(long n) { return write((uint8_t)n); } - inline size_t write(unsigned int n) { return write((uint8_t)n); } - inline size_t write(int n) { return write((uint8_t)n); } - using Print::write; -}; - -extern TwoWire Wire; - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino deleted file mode 100644 index d97a9e3cf..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino +++ /dev/null @@ -1,87 +0,0 @@ -// I2C SRF10 or SRF08 Devantech Ultrasonic Ranger Finder -// by Nicholas Zambetti -// and James Tichenor - -// Demonstrates use of the Wire library reading data from the -// Devantech Utrasonic Rangers SFR08 and SFR10 - -// Created 29 April 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) - Serial.begin(9600); // start serial communication at 9600bps -} - -int reading = 0; - -void loop() -{ - // step 1: instruct sensor to read echoes - Wire.beginTransmission(112); // transmit to device #112 (0x70) - // the address specified in the datasheet is 224 (0xE0) - // but i2c adressing uses the high 7 bits so it's 112 - Wire.write(byte(0x00)); // sets register pointer to the command register (0x00) - Wire.write(byte(0x50)); // command sensor to measure in "inches" (0x50) - // use 0x51 for centimeters - // use 0x52 for ping microseconds - Wire.endTransmission(); // stop transmitting - - // step 2: wait for readings to happen - delay(70); // datasheet suggests at least 65 milliseconds - - // step 3: instruct sensor to return a particular echo reading - Wire.beginTransmission(112); // transmit to device #112 - Wire.write(byte(0x02)); // sets register pointer to echo #1 register (0x02) - Wire.endTransmission(); // stop transmitting - - // step 4: request reading from sensor - Wire.requestFrom(112, 2); // request 2 bytes from slave device #112 - - // step 5: receive reading from sensor - if (2 <= Wire.available()) // if two bytes were received - { - reading = Wire.read(); // receive high byte (overwrites previous reading) - reading = reading << 8; // shift high byte to be high 8 bits - reading |= Wire.read(); // receive low byte as lower 8 bits - Serial.println(reading); // print the reading - } - - delay(250); // wait a bit since people have to read the output :) -} - - -/* - -// The following code changes the address of a Devantech Ultrasonic Range Finder (SRF10 or SRF08) -// usage: changeAddress(0x70, 0xE6); - -void changeAddress(byte oldAddress, byte newAddress) -{ - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(byte(0xA0)); - Wire.endTransmission(); - - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(byte(0xAA)); - Wire.endTransmission(); - - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(byte(0xA5)); - Wire.endTransmission(); - - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(newAddress); - Wire.endTransmission(); -} - -*/ diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino deleted file mode 100644 index 4d1580a61..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino +++ /dev/null @@ -1,39 +0,0 @@ -// I2C Digital Potentiometer -// by Nicholas Zambetti -// and Shawn Bonkowski - -// Demonstrates use of the Wire library -// Controls AD5171 digital potentiometer via I2C/TWI - -// Created 31 March 2006 - -// This example code is in the public domain. - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) -} - -byte val = 0; - -void loop() -{ - Wire.beginTransmission(44); // transmit to device #44 (0x2c) - // device address is specified in datasheet - Wire.write(byte(0x00)); // sends instruction byte - Wire.write(val); // sends potentiometer value byte - Wire.endTransmission(); // stop transmitting - - val++; // increment value - if (val == 64) // if reached 64th position (max) - { - val = 0; // start over from lowest value - } - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino deleted file mode 100644 index 74f0155f8..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino +++ /dev/null @@ -1,32 +0,0 @@ -// Wire Master Reader -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Reads data from an I2C/TWI slave device -// Refer to the "Wire Slave Sender" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) - Serial.begin(9600); // start serial for output -} - -void loop() -{ - Wire.requestFrom(2, 6); // request 6 bytes from slave device #2 - - while (Wire.available()) // slave may send less than requested - { - char c = Wire.read(); // receive a byte as character - Serial.print(c); // print the character - } - - delay(500); -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino deleted file mode 100644 index 482e92237..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino +++ /dev/null @@ -1,31 +0,0 @@ -// Wire Master Writer -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Writes data to an I2C/TWI slave device -// Refer to the "Wire Slave Receiver" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) -} - -byte x = 0; - -void loop() -{ - Wire.beginTransmission(4); // transmit to device #4 - Wire.write("x is "); // sends five bytes - Wire.write(x); // sends one byte - Wire.endTransmission(); // stop transmitting - - x++; - delay(500); -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino deleted file mode 100644 index 15eff9a54..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino +++ /dev/null @@ -1,38 +0,0 @@ -// Wire Slave Receiver -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Receives data as an I2C/TWI slave device -// Refer to the "Wire Master Writer" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(4); // join i2c bus with address #4 - Wire.onReceive(receiveEvent); // register event - Serial.begin(9600); // start serial for output -} - -void loop() -{ - delay(100); -} - -// function that executes whenever data is received from master -// this function is registered as an event, see setup() -void receiveEvent(int howMany) -{ - while (1 < Wire.available()) // loop through all but the last - { - char c = Wire.read(); // receive byte as a character - Serial.print(c); // print the character - } - int x = Wire.read(); // receive byte as an integer - Serial.println(x); // print the integer -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino deleted file mode 100644 index 4437ab152..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino +++ /dev/null @@ -1,32 +0,0 @@ -// Wire Slave Sender -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Sends data as an I2C/TWI slave device -// Refer to the "Wire Master Reader" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(2); // join i2c bus with address #2 - Wire.onRequest(requestEvent); // register event -} - -void loop() -{ - delay(100); -} - -// function that executes whenever data is requested by master -// this function is registered as an event, see setup() -void requestEvent() -{ - Wire.write("hello "); // respond with message of 6 bytes - // as expected by master -} diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/keywords.txt b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/keywords.txt deleted file mode 100644 index ff3147592..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/keywords.txt +++ /dev/null @@ -1,32 +0,0 @@ -####################################### -# Syntax Coloring Map For Wire -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -begin KEYWORD2 -setClock KEYWORD2 -beginTransmission KEYWORD2 -endTransmission KEYWORD2 -requestFrom KEYWORD2 -send KEYWORD2 -receive KEYWORD2 -onReceive KEYWORD2 -onRequest KEYWORD2 - -####################################### -# Instances (KEYWORD2) -####################################### - -Wire KEYWORD2 - -####################################### -# Constants (LITERAL1) -####################################### - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/library.properties b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/library.properties deleted file mode 100644 index 3246a7509..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/library.properties +++ /dev/null @@ -1,8 +0,0 @@ -name=Wire -version=1.0 -author=Arduino -maintainer=Arduino -sentence=Allows the communication between devices or sensors connected via Two Wire Interface Bus. For all Arduino boards, BUT Arduino DUE. -paragraph= -url=http://arduino.cc/en/Reference/Wire -architectures=avr diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.c b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.c deleted file mode 100644 index 201d7d1bb..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.c +++ /dev/null @@ -1,527 +0,0 @@ -/* - twi.c - TWI/I2C library for Wiring & Arduino - 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 2012 by Todd Krein (todd@krein.org) to implement repeated starts -*/ - -#include -#include -#include -#include -#include -#include -#include "Arduino.h" // for digitalWrite - -#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 "pins_arduino.h" -#include "twi.h" - -static volatile uint8_t twi_state; -static volatile uint8_t twi_slarw; -static volatile uint8_t twi_sendStop; // should the transaction end with a stop -static volatile uint8_t twi_inRepStart; // in the middle of a repeated start - -static void (*twi_onSlaveTransmit)(void); -static void (*twi_onSlaveReceive)(uint8_t*, int); - -static uint8_t twi_masterBuffer[TWI_BUFFER_LENGTH]; -static volatile uint8_t twi_masterBufferIndex; -static volatile uint8_t twi_masterBufferLength; - -static uint8_t twi_txBuffer[TWI_BUFFER_LENGTH]; -static volatile uint8_t twi_txBufferIndex; -static volatile uint8_t twi_txBufferLength; - -static uint8_t twi_rxBuffer[TWI_BUFFER_LENGTH]; -static volatile uint8_t twi_rxBufferIndex; - -static volatile uint8_t twi_error; - -/* - * Function twi_init - * Desc readys twi pins and sets twi bitrate - * Input none - * Output none - */ -void twi_init(void) -{ - // initialize state - twi_state = TWI_READY; - twi_sendStop = true; // default value - twi_inRepStart = false; - - // activate internal pullups for twi. - digitalWrite(SDA, 1); - digitalWrite(SCL, 1); - - // initialize twi prescaler and bit rate - cbi(TWSR, TWPS0); - cbi(TWSR, TWPS1); - TWBR = ((F_CPU / TWI_FREQ) - 16) / 2; - - /* twi bit rate formula from atmega128 manual pg 204 - SCL Frequency = CPU Clock Frequency / (16 + (2 * TWBR)) - note: TWBR should be 10 or higher for master mode - It is 72 for a 16mhz Wiring board with 100kHz TWI */ - - // enable twi module, acks, and twi interrupt - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA); -} - -/* - * Function twi_slaveInit - * Desc sets slave address and enables interrupt - * Input none - * Output none - */ -void twi_setAddress(uint8_t address) -{ - // set twi slave address (skip over TWGCE bit) - TWAR = address << 1; -} - -/* - * Function twi_readFrom - * Desc attempts to become twi bus master and read a - * series of bytes from a device on the bus - * Input address: 7bit i2c device address - * data: pointer to byte array - * length: number of bytes to read into array - * sendStop: Boolean indicating whether to send a stop at the end - * Output number of bytes read - */ -uint8_t twi_readFrom(uint8_t address, uint8_t* data, uint8_t length, uint8_t sendStop) -{ - uint8_t i; - - // ensure data will fit into buffer - if(TWI_BUFFER_LENGTH < length){ - return 0; - } - - // wait until twi is ready, become master receiver - while(TWI_READY != twi_state){ - continue; - } - twi_state = TWI_MRX; - twi_sendStop = sendStop; - // reset error state (0xFF.. no error occured) - twi_error = 0xFF; - - // initialize buffer iteration vars - twi_masterBufferIndex = 0; - twi_masterBufferLength = length-1; // This is not intuitive, read on... - // On receive, the previously configured ACK/NACK setting is transmitted in - // response to the received byte before the interrupt is signalled. - // Therefor we must actually set NACK when the _next_ to last byte is - // received, causing that NACK to be sent in response to receiving the last - // expected byte of data. - - // build sla+w, slave device address + w bit - twi_slarw = TW_READ; - twi_slarw |= address << 1; - - if (true == twi_inRepStart) { - // if we're in the repeated start state, then we've already sent the start, - // (@@@ we hope), and the TWI statemachine is just waiting for the address byte. - // We need to remove ourselves from the repeated start state before we enable interrupts, - // since the ISR is ASYNC, and we could get confused if we hit the ISR before cleaning - // up. Also, don't enable the START interrupt. There may be one pending from the - // repeated start that we sent outselves, and that would really confuse things. - twi_inRepStart = false; // remember, we're dealing with an ASYNC ISR - TWDR = twi_slarw; - TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START - } - else - // send start condition - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA); - - // wait for read operation to complete - while(TWI_MRX == twi_state){ - continue; - } - - if (twi_masterBufferIndex < length) - length = twi_masterBufferIndex; - - // copy twi buffer to data - for(i = 0; i < length; ++i){ - data[i] = twi_masterBuffer[i]; - } - - return length; -} - -/* - * Function twi_writeTo - * Desc attempts to become twi bus master and write a - * series of bytes to a device on the bus - * Input address: 7bit i2c device address - * data: pointer to byte array - * length: number of bytes in array - * wait: boolean indicating to wait for write or not - * sendStop: boolean indicating whether or not to send a stop at the end - * Output 0 .. success - * 1 .. length to long for buffer - * 2 .. address send, NACK received - * 3 .. data send, NACK received - * 4 .. other twi error (lost bus arbitration, bus error, ..) - */ -uint8_t twi_writeTo(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait, uint8_t sendStop) -{ - uint8_t i; - - // ensure data will fit into buffer - if(TWI_BUFFER_LENGTH < length){ - return 1; - } - - // wait until twi is ready, become master transmitter - while(TWI_READY != twi_state){ - continue; - } - twi_state = TWI_MTX; - twi_sendStop = sendStop; - // reset error state (0xFF.. no error occured) - twi_error = 0xFF; - - // initialize buffer iteration vars - twi_masterBufferIndex = 0; - twi_masterBufferLength = length; - - // copy data to twi buffer - for(i = 0; i < length; ++i){ - twi_masterBuffer[i] = data[i]; - } - - // build sla+w, slave device address + w bit - twi_slarw = TW_WRITE; - twi_slarw |= address << 1; - - // if we're in a repeated start, then we've already sent the START - // in the ISR. Don't do it again. - // - if (true == twi_inRepStart) { - // if we're in the repeated start state, then we've already sent the start, - // (@@@ we hope), and the TWI statemachine is just waiting for the address byte. - // We need to remove ourselves from the repeated start state before we enable interrupts, - // since the ISR is ASYNC, and we could get confused if we hit the ISR before cleaning - // up. Also, don't enable the START interrupt. There may be one pending from the - // repeated start that we sent outselves, and that would really confuse things. - twi_inRepStart = false; // remember, we're dealing with an ASYNC ISR - TWDR = twi_slarw; - TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START - } - else - // send start condition - TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE) | _BV(TWSTA); // enable INTs - - // wait for write operation to complete - while(wait && (TWI_MTX == twi_state)){ - continue; - } - - if (twi_error == 0xFF) - return 0; // success - else if (twi_error == TW_MT_SLA_NACK) - return 2; // error: address send, nack received - else if (twi_error == TW_MT_DATA_NACK) - return 3; // error: data send, nack received - else - return 4; // other twi error -} - -/* - * Function twi_transmit - * Desc fills slave tx buffer with data - * must be called in slave tx event callback - * Input data: pointer to byte array - * length: number of bytes in array - * Output 1 length too long for buffer - * 2 not slave transmitter - * 0 ok - */ -uint8_t twi_transmit(const uint8_t* data, uint8_t length) -{ - uint8_t i; - - // ensure data will fit into buffer - if(TWI_BUFFER_LENGTH < length){ - return 1; - } - - // ensure we are currently a slave transmitter - if(TWI_STX != twi_state){ - return 2; - } - - // set length and copy data into tx buffer - twi_txBufferLength = length; - for(i = 0; i < length; ++i){ - twi_txBuffer[i] = data[i]; - } - - return 0; -} - -/* - * Function twi_attachSlaveRxEvent - * Desc sets function called before a slave read operation - * Input function: callback function to use - * Output none - */ -void twi_attachSlaveRxEvent( void (*function)(uint8_t*, int) ) -{ - twi_onSlaveReceive = function; -} - -/* - * Function twi_attachSlaveTxEvent - * Desc sets function called before a slave write operation - * Input function: callback function to use - * Output none - */ -void twi_attachSlaveTxEvent( void (*function)(void) ) -{ - twi_onSlaveTransmit = function; -} - -/* - * Function twi_reply - * Desc sends byte or readys receive line - * Input ack: byte indicating to ack or to nack - * Output none - */ -void twi_reply(uint8_t ack) -{ - // transmit master read ready signal, with or without ack - if(ack){ - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA); - }else{ - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT); - } -} - -/* - * Function twi_stop - * Desc relinquishes bus master status - * Input none - * Output none - */ -void twi_stop(void) -{ - // send stop condition - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO); - - // wait for stop condition to be exectued on bus - // TWINT is not set after a stop condition! - while(TWCR & _BV(TWSTO)){ - continue; - } - - // update twi state - twi_state = TWI_READY; -} - -/* - * Function twi_releaseBus - * Desc releases bus control - * Input none - * Output none - */ -void twi_releaseBus(void) -{ - // release bus - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT); - - // update twi state - twi_state = TWI_READY; -} - -ISR(TWI_vect) -{ - switch(TW_STATUS){ - // All Master - case TW_START: // sent start condition - case TW_REP_START: // sent repeated start condition - // copy device address and r/w bit to output register and ack - TWDR = twi_slarw; - twi_reply(1); - break; - - // Master Transmitter - case TW_MT_SLA_ACK: // slave receiver acked address - case TW_MT_DATA_ACK: // slave receiver acked data - // if there is data to send, send it, otherwise stop - if(twi_masterBufferIndex < twi_masterBufferLength){ - // copy data to output register and ack - TWDR = twi_masterBuffer[twi_masterBufferIndex++]; - twi_reply(1); - }else{ - if (twi_sendStop) - twi_stop(); - else { - twi_inRepStart = true; // we're gonna send the START - // don't enable the interrupt. We'll generate the start, but we - // avoid handling the interrupt until we're in the next transaction, - // at the point where we would normally issue the start. - TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ; - twi_state = TWI_READY; - } - } - break; - case TW_MT_SLA_NACK: // address sent, nack received - twi_error = TW_MT_SLA_NACK; - twi_stop(); - break; - case TW_MT_DATA_NACK: // data sent, nack received - twi_error = TW_MT_DATA_NACK; - twi_stop(); - break; - case TW_MT_ARB_LOST: // lost bus arbitration - twi_error = TW_MT_ARB_LOST; - twi_releaseBus(); - break; - - // Master Receiver - case TW_MR_DATA_ACK: // data received, ack sent - // put byte into buffer - twi_masterBuffer[twi_masterBufferIndex++] = TWDR; - case TW_MR_SLA_ACK: // address sent, ack received - // ack if more bytes are expected, otherwise nack - if(twi_masterBufferIndex < twi_masterBufferLength){ - twi_reply(1); - }else{ - twi_reply(0); - } - break; - case TW_MR_DATA_NACK: // data received, nack sent - // put final byte into buffer - twi_masterBuffer[twi_masterBufferIndex++] = TWDR; - if (twi_sendStop) - twi_stop(); - else { - twi_inRepStart = true; // we're gonna send the START - // don't enable the interrupt. We'll generate the start, but we - // avoid handling the interrupt until we're in the next transaction, - // at the point where we would normally issue the start. - TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ; - twi_state = TWI_READY; - } - break; - case TW_MR_SLA_NACK: // address sent, nack received - twi_stop(); - break; - // TW_MR_ARB_LOST handled by TW_MT_ARB_LOST case - - // Slave Receiver - case TW_SR_SLA_ACK: // addressed, returned ack - case TW_SR_GCALL_ACK: // addressed generally, returned ack - case TW_SR_ARB_LOST_SLA_ACK: // lost arbitration, returned ack - case TW_SR_ARB_LOST_GCALL_ACK: // lost arbitration, returned ack - // enter slave receiver mode - twi_state = TWI_SRX; - // indicate that rx buffer can be overwritten and ack - twi_rxBufferIndex = 0; - twi_reply(1); - break; - case TW_SR_DATA_ACK: // data received, returned ack - case TW_SR_GCALL_DATA_ACK: // data received generally, returned ack - // if there is still room in the rx buffer - if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){ - // put byte in buffer and ack - twi_rxBuffer[twi_rxBufferIndex++] = TWDR; - twi_reply(1); - }else{ - // otherwise nack - twi_reply(0); - } - break; - case TW_SR_STOP: // stop or repeated start condition received - // put a null char after data if there's room - if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){ - twi_rxBuffer[twi_rxBufferIndex] = '\0'; - } - // sends ack and stops interface for clock stretching - twi_stop(); - // callback to user defined callback - twi_onSlaveReceive(twi_rxBuffer, twi_rxBufferIndex); - // since we submit rx buffer to "wire" library, we can reset it - twi_rxBufferIndex = 0; - // ack future responses and leave slave receiver state - twi_releaseBus(); - break; - case TW_SR_DATA_NACK: // data received, returned nack - case TW_SR_GCALL_DATA_NACK: // data received generally, returned nack - // nack back at master - twi_reply(0); - break; - - // Slave Transmitter - case TW_ST_SLA_ACK: // addressed, returned ack - case TW_ST_ARB_LOST_SLA_ACK: // arbitration lost, returned ack - // enter slave transmitter mode - twi_state = TWI_STX; - // ready the tx buffer index for iteration - twi_txBufferIndex = 0; - // set tx buffer length to be zero, to verify if user changes it - twi_txBufferLength = 0; - // request for txBuffer to be filled and length to be set - // note: user must call twi_transmit(bytes, length) to do this - twi_onSlaveTransmit(); - // if they didn't change buffer & length, initialize it - if(0 == twi_txBufferLength){ - twi_txBufferLength = 1; - twi_txBuffer[0] = 0x00; - } - // transmit first byte from buffer, fall - case TW_ST_DATA_ACK: // byte sent, ack returned - // copy data to output register - TWDR = twi_txBuffer[twi_txBufferIndex++]; - // if there is more to send, ack, otherwise nack - if(twi_txBufferIndex < twi_txBufferLength){ - twi_reply(1); - }else{ - twi_reply(0); - } - break; - case TW_ST_DATA_NACK: // received nack, we are done - case TW_ST_LAST_DATA: // received ack, but we are done already! - // ack future responses - twi_reply(1); - // leave slave receiver state - twi_state = TWI_READY; - break; - - // All - case TW_NO_INFO: // no state information - break; - case TW_BUS_ERROR: // bus error, illegal stop/start - twi_error = TW_BUS_ERROR; - twi_stop(); - break; - } -} - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.h deleted file mode 100644 index 652659339..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/libraries/Wire/utility/twi.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - twi.h - TWI/I2C library for Wiring & Arduino - 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 -*/ - -#ifndef twi_h -#define twi_h - - #include - - //#define ATMEGA8 - - #ifndef TWI_FREQ - #define TWI_FREQ 100000L - #endif - - #ifndef TWI_BUFFER_LENGTH - #define TWI_BUFFER_LENGTH 32 - #endif - - #define TWI_READY 0 - #define TWI_MRX 1 - #define TWI_MTX 2 - #define TWI_SRX 3 - #define TWI_STX 4 - - void twi_init(void); - void twi_setAddress(uint8_t); - uint8_t twi_readFrom(uint8_t, uint8_t*, uint8_t, uint8_t); - uint8_t twi_writeTo(uint8_t, uint8_t*, uint8_t, uint8_t, uint8_t); - uint8_t twi_transmit(const uint8_t*, uint8_t); - void twi_attachSlaveRxEvent( void (*)(uint8_t*, int) ); - void twi_attachSlaveTxEvent( void (*)(void) ); - void twi_reply(uint8_t); - void twi_stop(void); - void twi_releaseBus(void); - -#endif - diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/platform.local.txt b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/platform.local.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/platform.txt b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/platform.txt deleted file mode 100644 index fd1a4fba2..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/platform.txt +++ /dev/null @@ -1,119 +0,0 @@ - -# Arduino AVR Core and platform. -# ------------------------------ - -# For more info: -# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification - -name=Marlin AVR Boards -version=1.5.6 - -# AVR compile variables -# --------------------- - -# Default "compiler.path" is correct, change only if you want to overidde the initial value -compiler.path={runtime.ide.path}/hardware/tools/avr/bin/ -compiler.c.cmd=avr-gcc -compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD -# -w flag added to avoid printing a wrong warning http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396 -# This is fixed in gcc 4.8.3 and will be removed as soon as we update the toolchain -compiler.c.elf.flags=-w -Os -Wl,--gc-sections -compiler.c.elf.cmd=avr-gcc -compiler.S.flags=-c -g -x assembler-with-cpp -compiler.cpp.cmd=avr-g++ -compiler.cpp.flags=-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -compiler.ar.cmd=avr-ar -compiler.ar.flags=rcs -compiler.objcopy.cmd=avr-objcopy -compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 -compiler.elf2hex.flags=-O ihex -R .eeprom -compiler.elf2hex.cmd=avr-objcopy -compiler.ldflags= -compiler.size.cmd=avr-size - -# This can be overriden in boards.txt -build.extra_flags= - -# These can be overridden in platform.local.txt -compiler.c.extra_flags= -compiler.c.elf.extra_flags= -compiler.S.extra_flags= -compiler.cpp.extra_flags= -compiler.ar.extra_flags= -compiler.objcopy.eep.extra_flags= -compiler.elf2hex.extra_flags= - -# AVR compile patterns -# -------------------- - -## Compile c files -recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" - -## Compile c++ files -recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {compiler.cpp.extra_flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" - -## Compile S files -recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" - -## Create archives -recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}" - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm - -## Create eeprom -recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep" - -## Create hex -recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex" - -## Compute size -recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf" -recipe.size.regex=^(?:\.text|\.data|\.bootloader)\s+([0-9]+).* -recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).* -recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).* - - -# AVR Uploader/Programmers tools -# ------------------------------ - -tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude -tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf - -tools.avrdude.upload.params.verbose=-v -tools.avrdude.upload.params.quiet=-q -q -tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i" - -tools.avrdude.program.params.verbose=-v -tools.avrdude.program.params.quiet=-q -q -tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i" - -tools.avrdude.erase.params.verbose=-v -tools.avrdude.erase.params.quiet=-q -q -tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m - -tools.avrdude.bootloader.params.verbose=-v -tools.avrdude.bootloader.params.quiet=-q -q -tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.platform.path}/bootloaders/{bootloader.path}/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m - -tools.hidloader.cmd.path=/usr/local/bin/HIDUploader - -tools.hidloader.upload.params.verbose=-v -tools.hidloader.upload.params.quiet= -tools.hidloader.upload.pattern="{cmd.path}" --upload -mmcu={build.mcu} {upload.verbose} -w "{build.path}/{build.project_name}.hex" -tools.nativehid.program.params.verbose=-v -tools.nativehid.program.params.quiet=-q -q - -tools.hidloader.program.params.verbose=-v -tools.hidloader.program.params.quiet=-q -q -tools.hidloader.program.pattern="{cmd.path}" -mmcu={build.mcu} {upload.verbose} -w "{build.path}/{build.project_name}.hex" - -tools.hidloader.erase.params.verbose=-v -tools.hidloader.erase.params.quiet=-q -q -tools.hidloader.erase.pattern="{cmd.path}" --erase "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m - -# USB Default Flags -# Default blank usb manufacturer will be filled it at compile time -# - from numeric vendor ID, set to Unknown otherwise -build.usb_manufacturer= -build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h deleted file mode 100644 index 83a04fc96..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h +++ /dev/null @@ -1,281 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - Modified 2012 by Fredrik Hubinette - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 48 -#define NUM_ANALOG_INPUTS 8 - -#define TX_RX_LED_INIT DDRE |= (1<<7) -#define TXLED0 0 -#define TXLED1 0 -#define RXLED0 PORTE |= (1<<7) -#define RXLED1 PORTE &= ~(1<<7) - -static const uint8_t SDA = 0; -static const uint8_t SCL = 1; - -// Map SPI port to 'new' pins D14..D17 -static const uint8_t SS = 20; -static const uint8_t MOSI = 22; -static const uint8_t MISO = 23; -static const uint8_t SCK = 21; - -// Mapping of analog pins as digital I/O -// A6-A11 share with digital pins -static const uint8_t A0 = 38; // F0 -static const uint8_t A1 = 39; // F1 -static const uint8_t A2 = 40; // F2 -static const uint8_t A3 = 41; // F3 -static const uint8_t A4 = 42; // F4 -static const uint8_t A5 = 43; // F5 -static const uint8_t A6 = 44; // F6 -static const uint8_t A7 = 45; // F7 - -#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1) - -// Pins below still needs to be configured - Hubbe. - -#define digitalPinToPCICR(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCICR) : ((uint8_t *)0)) -#define digitalPinToPCICRbit(p) 0 -#define digitalPinToPCMSK(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCMSK0) : ((uint8_t *)0)) -#define digitalPinToPCMSKbit(p) ( ((p) >= 8 && (p) <= 11) ? (p) - 4 : ((p) == 14 ? 3 : ((p) == 15 ? 1 : ((p) == 16 ? 2 : ((p) == 17 ? 0 : (p - A8 + 4)))))) - - -#define digitalPinHasPWM(p) ((p) == 12 || (p) == 13 || (p) == 14 || (p) == 20 || (p) == 21 || (p) == 22) - -// __AVR_ATmega32U4__ has an unusual mapping of pins to channels -extern const uint8_t PROGMEM analog_pin_to_channel_PGM[]; -#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) ) - -#ifdef ARDUINO_MAIN - - -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -// Note PA == 1, PB == 2, etc. (GAH!) -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - PA, // 0 - PA, - PA, - PA, - PA, - PA, - PA, - PA, - PB, // 8 - PB, - PB, - PB, - PB, - PB, - PB, - PB, - PC, // 16 - PC, - PC, - PC, - PC, - PC, - PC, - PC, - PD, // 24 - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PE, // 32 - PE, - PE, - PE, - PE, - PE, - PE, - PE, // 39 - PE7 - PF, // 40 - A0 - PF0 - PF, - PF, - PF, - PF, - PF, - PF, - PF, // 47 - A7 - PF7 -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - _BV(0), // PA0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PB0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PC0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PD0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PE0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PF0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), -}; - - -// TODO(unrepentantgeek) complete this map of PWM capable pins -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - NOT_ON_TIMER, // 0 - PA0 - NOT_ON_TIMER, // 1 - PA1 - NOT_ON_TIMER, // 2 - PA2 - NOT_ON_TIMER, // 3 - PA3 - NOT_ON_TIMER, // 4 - PA4 - NOT_ON_TIMER, // 5 - PA5 - NOT_ON_TIMER, // 6 - PA6 - NOT_ON_TIMER, // 7 - PA7 - NOT_ON_TIMER, // 8 - PB0 - NOT_ON_TIMER, // 9 - PB1 - NOT_ON_TIMER, // 10 - PB2 - NOT_ON_TIMER, // 11 - PB3 - TIMER2A, // 12 - PB4 - TIMER1A, // 13 - PB5 - TIMER1B, // 14 - PB6 - NOT_ON_TIMER, // 15 - PB7 - NOT_ON_TIMER, // 16 - PC0 - NOT_ON_TIMER, // 17 - PC1 - NOT_ON_TIMER, // 18 - PC2 - NOT_ON_TIMER, // 19 - PC3 - TIMER3C, // 20 - PC4 - TIMER3B, // 21 - PC5 - TIMER3A, // 22 - PC6 - NOT_ON_TIMER, // 23 - PC7 - NOT_ON_TIMER, // 24 - PD0 - NOT_ON_TIMER, // 25 - PD1 - NOT_ON_TIMER, // 26 - PD2 - NOT_ON_TIMER, // 27 - PD3 - NOT_ON_TIMER, // 28 - PD4 - NOT_ON_TIMER, // 29 - PD5 - NOT_ON_TIMER, // 30 - PD6 - NOT_ON_TIMER, // 31 - PD7 - NOT_ON_TIMER, // 32 - PE0 - NOT_ON_TIMER, // 33 - PE1 - NOT_ON_TIMER, // 34 - PE2 - NOT_ON_TIMER, // 35 - PE3 - NOT_ON_TIMER, // 36 - PE4 - NOT_ON_TIMER, // 37 - PE5 - NOT_ON_TIMER, // 38 - PE6 - NOT_ON_TIMER, // 39 - PE7 - NOT_ON_TIMER, // 40 - A0 - PF0 - NOT_ON_TIMER, // 41 - A1 - PF1 - NOT_ON_TIMER, // 42 - A2 - PF2 - NOT_ON_TIMER, // 43 - A3 - PF3 - NOT_ON_TIMER, // 44 - A4 - PF4 - NOT_ON_TIMER, // 45 - A5 - PF5 - NOT_ON_TIMER, // 46 - A6 - PF6 - NOT_ON_TIMER, // 47 - A7 - PF7 -}; - -const uint8_t PROGMEM analog_pin_to_channel_PGM[12] = { - 7, // A0 PF7 ADC7 - 6, // A1 PF6 ADC6 - 5, // A2 PF5 ADC5 - 4, // A3 PF4 ADC4 - 1, // A4 PF1 ADC1 - 0, // A5 PF0 ADC0 - 8, // A6 D4 PD4 ADC8 - 10, // A7 D6 PD7 ADC10 - 11, // A8 D8 PB4 ADC11 - 12, // A9 D9 PB5 ADC12 - 13, // A10 D10 PB6 ADC13 - 9 // A11 D12 PD6 ADC9 -}; - -#endif /* ARDUINO_MAIN */ -#endif /* Pins_Arduino_h */ diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwavepro/pins_arduino.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwavepro/pins_arduino.h deleted file mode 100644 index 8fef38320..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/brainwavepro/pins_arduino.h +++ /dev/null @@ -1,278 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - Modified 2012 by Fredrik Hubinette - Modified 2014-2015 by Matthew Wilson - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 48 -#define NUM_ANALOG_INPUTS 8 - -// PE7 is our status LED -#define TX_RX_LED_INIT DDRE |= (1<<7) -#define TXLED0 0 -#define TXLED1 0 -#define RXLED0 PORTE |= (1<<7) -#define RXLED1 PORTE &= ~(1<<7) - -static const uint8_t SDA = 1; -static const uint8_t SCL = 0; - -// Map SPI port to 'new' pins D14..D17 -static const uint8_t SS = 20; -static const uint8_t MOSI = 22; -static const uint8_t MISO = 23; -static const uint8_t SCK = 21; - -// Mapping of analog pins as digital I/O -// A6-A11 share with digital pins -static const uint8_t A0 = 38; // F0 -static const uint8_t A1 = 39; // F1 -static const uint8_t A2 = 40; // F2 -static const uint8_t A3 = 41; // F3 -static const uint8_t A4 = 42; // F4 -static const uint8_t A5 = 43; // F5 -static const uint8_t A6 = 44; // F6 -static const uint8_t A7 = 45; // F7 - -#define analogInputToDigitalPin(p) ((p < 8) ? (p) + 38 : -1) - -// Pins below still needs to be configured - Hubbe. - -#define digitalPinToPCICR(p) ((((p) >= 0 && (p) <= 3) || ((p) >= 18 && (p) <= 19) || ((p) >= 36 && (p) <= 37)) ? (&PCICR) : ((uint8_t *)0)) -#define digitalPinToPCICRbit(p) 0 -#define digitalPinToPCMSK(p) ((((p) >= 0 && (p) <= 3) || ((p) >= 18 && (p) <= 19) || ((p) >= 36 && (p) <= 37)) ? (&PCMSK0) : ((uint8_t *)0)) -#define digitalPinToPCMSKbit(p) ( ((p) >= 0 && (p) <= 3) ? (p) : ((p) == 18 ? 6 : ((p) == 19 ? 7 : ((p) == 36 ? 4 : ((p) == 37 ? 5 : (-1)))))) - -#define digitalPinHasPWM(p) ((p) == 0 || (p) == 1 || (p) == 14 || (p) == 15 || (p) == 16 || (p) == 24 || (p) == 25 || (p) == 26 || (p) == 27) - -// __AVR_ATmega32U4__ has an unusual mapping of pins to channels -extern const uint8_t PROGMEM analog_pin_to_channel_PGM[]; -#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) ) - -#ifdef ARDUINO_MAIN - - -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -// Note PA == 1, PB == 2, etc. (GAH!) -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - PD, // 0 - PD0 - INT0 - PWM - PD, // 1 - PD1 - INT1 - PWM - PD, // 2 - PD2 - INT2 - RX - PD, // 3 - PD3 - INT3 - TX - PD, // 4 - PD4 - PD, // 5 - PD5 - PD, // 6 - PD6 - PD, // 7 - PD7 - PE, // 8 - PE0 - PE, // 9 - PE1 - PC, // 10 - PC0 - PC, // 11 - PC1 - PC, // 12 - PC2 - PC, // 13 - PC3 - PC, // 14 - PC4 - PWM - PC, // 15 - PC5 - PWM - PC, // 16 - PC6 - PWM - PC, // 17 - PC7 - PE, // 18 - PE6 - INT6 - PE, // 19 - PE7 - INT7 - PB, // 20 - PB0 - PB, // 21 - PB1 - PB, // 22 - PB2 - PB, // 23 - PB3 - PB, // 24 - PB4 - PWM - PB, // 25 - PB5 - PWM - PB, // 26 - PB6 - PWM - PB, // 27 - PB7 - PWM - PA, // 28 - PA0 - PA, // 29 - PA1 - PA, // 30 - PA2 - PA, // 31 - PA3 - PA, // 32 - PA4 - PA, // 33 - PA5 - PA, // 34 - PA6 - PA, // 35 - PA7 - PE, // 36 - PE4 - INT4 - PE, // 37 - PE5 - INT5 - PF, // 38 - PF0 - A0 - PF, // 39 - PF1 - A1 - PF, // 40 - PF2 - A2 - PF, // 41 - PF3 - A3 - PF, // 42 - PF4 - A4 - PF, // 43 - PF5 - A5 - PF, // 44 - PF6 - A6 - PF, // 45 - PF7 - A7 - PE, // 46 - PE2 (not defined in teensy) - PE, // 47 - PE3 (not defined in teensy) -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - _BV(0), // 0 - PD0 - INT0 - PWM - _BV(1), // 1 - PD1 - INT1 - PWM - _BV(2), // 2 - PD2 - INT2 - RX - _BV(3), // 3 - PD3 - INT3 - TX - _BV(4), // 4 - PD4 - _BV(5), // 5 - PD5 - _BV(6), // 6 - PD6 - _BV(7), // 7 - PD7 - _BV(0), // 8 - PE0 - _BV(1), // 9 - PE1 - _BV(0), // 10 - PC0 - _BV(1), // 11 - PC1 - _BV(2), // 12 - PC2 - _BV(3), // 13 - PC3 - _BV(4), // 14 - PC4 - PWM - _BV(5), // 15 - PC5 - PWM - _BV(6), // 16 - PC6 - PWM - _BV(7), // 17 - PC7 - _BV(6), // 18 - PE6 - INT6 - _BV(7), // 19 - PE7 - INT7 - _BV(0), // 20 - PB0 - _BV(1), // 21 - PB1 - _BV(2), // 22 - PB2 - _BV(3), // 23 - PB3 - _BV(4), // 24 - PB4 - PWM - _BV(5), // 25 - PB5 - PWM - _BV(6), // 26 - PB6 - PWM - _BV(7), // 27 - PB7 - PWM - _BV(0), // 28 - PA0 - _BV(1), // 29 - PA1 - _BV(2), // 30 - PA2 - _BV(3), // 31 - PA3 - _BV(4), // 32 - PA4 - _BV(5), // 33 - PA5 - _BV(6), // 34 - PA6 - _BV(7), // 35 - PA7 - _BV(4), // 36 - PE4 - INT4 - _BV(5), // 37 - PE5 - INT5 - _BV(0), // 38 - PF0 - A0 - _BV(1), // 39 - PF1 - A1 - _BV(2), // 40 - PF2 - A2 - _BV(3), // 41 - PF3 - A3 - _BV(4), // 42 - PF4 - A4 - _BV(5), // 43 - PF5 - A5 - _BV(6), // 44 - PF6 - A6 - _BV(7), // 45 - PF7 - A7 - _BV(2), // 46 - PE2 (not defined in teensy) - _BV(3), // 47 - PE3 (not defined in teensy) -}; - - -// TODO(unrepentantgeek) complete this map of PWM capable pins -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - TIMER0A, // 0 - PD0 - INT0 - PWM - TIMER2B, // 1 - PD1 - INT1 - PWM - NOT_ON_TIMER, // 2 - PD2 - INT2 - RX - NOT_ON_TIMER, // 3 - PD3 - INT3 - TX - NOT_ON_TIMER, // 4 - PD4 - NOT_ON_TIMER, // 5 - PD5 - NOT_ON_TIMER, // 6 - PD6 - NOT_ON_TIMER, // 7 - PD7 - NOT_ON_TIMER, // 8 - PE0 - NOT_ON_TIMER, // 9 - PE1 - NOT_ON_TIMER, // 10 - PC0 - NOT_ON_TIMER, // 11 - PC1 - NOT_ON_TIMER, // 12 - PC2 - NOT_ON_TIMER, // 13 - PC3 - TIMER3C, // 14 - PC4 - PWM - TIMER3B, // 15 - PC5 - PWM - TIMER3A, // 16 - PC6 - PWM - NOT_ON_TIMER, // 17 - PC7 - NOT_ON_TIMER, // 18 - PE6 - INT6 - NOT_ON_TIMER, // 19 - PE7 - INT7 - NOT_ON_TIMER, // 20 - PB0 - NOT_ON_TIMER, // 21 - PB1 - NOT_ON_TIMER, // 22 - PB2 - NOT_ON_TIMER, // 23 - PB3 - TIMER2A, // 24 - PB4 - PWM - TIMER1A, // 25 - PB5 - PWM - TIMER1B, // 26 - PB6 - PWM - NOT_ON_TIMER, // 27 - PB7 - PWM // This should be on TIMER1C - NOT_ON_TIMER, // 28 - PA0 - NOT_ON_TIMER, // 29 - PA1 - NOT_ON_TIMER, // 30 - PA2 - NOT_ON_TIMER, // 31 - PA3 - NOT_ON_TIMER, // 32 - PA4 - NOT_ON_TIMER, // 33 - PA5 - NOT_ON_TIMER, // 34 - PA6 - NOT_ON_TIMER, // 35 - PA7 - NOT_ON_TIMER, // 36 - PE4 - INT4 - NOT_ON_TIMER, // 37 - PE5 - INT5 - NOT_ON_TIMER, // 38 - PF0 - A0 - NOT_ON_TIMER, // 39 - PF1 - A1 - NOT_ON_TIMER, // 40 - PF2 - A2 - NOT_ON_TIMER, // 41 - PF3 - A3 - NOT_ON_TIMER, // 42 - PF4 - A4 - NOT_ON_TIMER, // 43 - PF5 - A5 - NOT_ON_TIMER, // 44 - PF6 - A6 - NOT_ON_TIMER, // 45 - PF7 - A7 - NOT_ON_TIMER, // 46 - PE2 (not defined in teensy) - NOT_ON_TIMER, // 47 - PE3 (not defined in teensy) -}; - -const uint8_t PROGMEM analog_pin_to_channel_PGM[8] = { - 0, // A0 PF0 ADC0 - 1, // A1 PF1 ADC1 - 2, // A2 PF2 ADC2 - 3, // A3 PF3 ADC3 - 4, // A4 PF4 ADC4 - 5, // A5 PF5 ADC5 - 6, // A6 PD6 ADC6 - 7, // A7 PD7 ADC7 -}; - -#endif /* ARDUINO_MAIN */ -#endif /* Pins_Arduino_h */ diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/rambo/pins_arduino.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/rambo/pins_arduino.h deleted file mode 100644 index f49a23fc0..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/rambo/pins_arduino.h +++ /dev/null @@ -1,411 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 82 -#define NUM_ANALOG_INPUTS 16 -#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1) -#define digitalPinHasPWM(p) (((p) >= 2 && (p) <= 13) || ((p) >= 44 && (p)<= 46)) - -static const uint8_t SS = 53; -static const uint8_t MOSI = 51; -static const uint8_t MISO = 50; -static const uint8_t SCK = 52; - -static const uint8_t SDA = 20; -static const uint8_t SCL = 21; -static const uint8_t LED_BUILTIN = 13; - -static const uint8_t A0 = 54; -static const uint8_t A1 = 55; -static const uint8_t A2 = 56; -static const uint8_t A3 = 57; -static const uint8_t A4 = 58; -static const uint8_t A5 = 59; -static const uint8_t A6 = 60; -static const uint8_t A7 = 61; -static const uint8_t A8 = 62; -static const uint8_t A9 = 63; -static const uint8_t A10 = 64; -static const uint8_t A11 = 65; -static const uint8_t A12 = 66; -static const uint8_t A13 = 67; -static const uint8_t A14 = 68; -static const uint8_t A15 = 69; - -// A majority of the pins are NOT PCINTs, SO BE WARNED (i.e. you cannot use them as receive pins) -// Only pins available for RECEIVE (TRANSMIT can be on any pin): -// (I've deliberately left out pin mapping to the Hardware USARTs - seems senseless to me) -// Pins: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 - -#define digitalPinToPCICR(p) ( (((p) >= 10) && ((p) <= 13)) || \ - (((p) >= 50) && ((p) <= 53)) || \ - (((p) >= 62) && ((p) <= 69)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? 2 : \ - 0 ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? (&PCMSK0) : \ - ( (((p) >= 62) && ((p) <= 69)) ? (&PCMSK2) : \ - ((uint8_t *)0) ) ) - -#define digitalPinToPCMSKbit(p) ( (((p) >= 10) && ((p) <= 13)) ? ((p) - 6) : \ - ( ((p) == 50) ? 3 : \ - ( ((p) == 51) ? 2 : \ - ( ((p) == 52) ? 1 : \ - ( ((p) == 53) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \ - 0 ) ) ) ) ) ) - -#ifdef ARDUINO_MAIN - -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, - (uint16_t) &DDRF, - (uint16_t) &DDRG, - (uint16_t) &DDRH, - NOT_A_PORT, - (uint16_t) &DDRJ, - (uint16_t) &DDRK, - (uint16_t) &DDRL, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, - (uint16_t) &PORTF, - (uint16_t) &PORTG, - (uint16_t) &PORTH, - NOT_A_PORT, - (uint16_t) &PORTJ, - (uint16_t) &PORTK, - (uint16_t) &PORTL, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PIN, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, - (uint16_t) &PINF, - (uint16_t) &PING, - (uint16_t) &PINH, - NOT_A_PIN, - (uint16_t) &PINJ, - (uint16_t) &PINK, - (uint16_t) &PINL, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - // PORTLIST - // ------------------------------------------- - PE , // PE 0 ** 0 ** USART0_RX - PE , // PE 1 ** 1 ** USART0_TX - PE , // PE 4 ** 2 ** PWM2 - PE , // PE 5 ** 3 ** PWM3 - PG , // PG 5 ** 4 ** PWM4 - PE , // PE 3 ** 5 ** PWM5 - PH , // PH 3 ** 6 ** PWM6 - PH , // PH 4 ** 7 ** PWM7 - PH , // PH 5 ** 8 ** PWM8 - PH , // PH 6 ** 9 ** PWM9 - PB , // PB 4 ** 10 ** PWM10 - PB , // PB 5 ** 11 ** PWM11 - PB , // PB 6 ** 12 ** PWM12 - PB , // PB 7 ** 13 ** PWM13 - PJ , // PJ 1 ** 14 ** USART3_TX - PJ , // PJ 0 ** 15 ** USART3_RX - PH , // PH 1 ** 16 ** USART2_TX - PH , // PH 0 ** 17 ** USART2_RX - PD , // PD 3 ** 18 ** USART1_TX - PD , // PD 2 ** 19 ** USART1_RX - PD , // PD 1 ** 20 ** I2C_SDA - PD , // PD 0 ** 21 ** I2C_SCL - PA , // PA 0 ** 22 ** D22 - PA , // PA 1 ** 23 ** D23 - PA , // PA 2 ** 24 ** D24 - PA , // PA 3 ** 25 ** D25 - PA , // PA 4 ** 26 ** D26 - PA , // PA 5 ** 27 ** D27 - PA , // PA 6 ** 28 ** D28 - PA , // PA 7 ** 29 ** D29 - PC , // PC 7 ** 30 ** D30 - PC , // PC 6 ** 31 ** D31 - PC , // PC 5 ** 32 ** D32 - PC , // PC 4 ** 33 ** D33 - PC , // PC 3 ** 34 ** D34 - PC , // PC 2 ** 35 ** D35 - PC , // PC 1 ** 36 ** D36 - PC , // PC 0 ** 37 ** D37 - PD , // PD 7 ** 38 ** D38 - PG , // PG 2 ** 39 ** D39 - PG , // PG 1 ** 40 ** D40 - PG , // PG 0 ** 41 ** D41 - PL , // PL 7 ** 42 ** D42 - PL , // PL 6 ** 43 ** D43 - PL , // PL 5 ** 44 ** D44 - PL , // PL 4 ** 45 ** D45 - PL , // PL 3 ** 46 ** D46 - PL , // PL 2 ** 47 ** D47 - PL , // PL 1 ** 48 ** D48 - PL , // PL 0 ** 49 ** D49 - PB , // PB 3 ** 50 ** SPI_MISO - PB , // PB 2 ** 51 ** SPI_MOSI - PB , // PB 1 ** 52 ** SPI_SCK - PB , // PB 0 ** 53 ** SPI_SS - PF , // PF 0 ** 54 ** A0 - PF , // PF 1 ** 55 ** A1 - PF , // PF 2 ** 56 ** A2 - PF , // PF 3 ** 57 ** A3 - PF , // PF 4 ** 58 ** A4 - PF , // PF 5 ** 59 ** A5 - PF , // PF 6 ** 60 ** A6 - PF , // PF 7 ** 61 ** A7 - PK , // PK 0 ** 62 ** A8 - PK , // PK 1 ** 63 ** A9 - PK , // PK 2 ** 64 ** A10 - PK , // PK 3 ** 65 ** A11 - PK , // PK 4 ** 66 ** A12 - PK , // PK 5 ** 67 ** A13 - PK , // PK 6 ** 68 ** A14 - PK , // PK 7 ** 69 ** A15 - PG , // PG 4 ** 70 ** D70 - PG , // PG 3 ** 71 ** D71 - PJ , // PJ 2 ** 72 ** D72 - PJ , // PJ 3 ** 73 ** D73 - PJ , // PJ 7 ** 74 ** D74 - PJ , // PJ 4 ** 75 ** D75 - PJ , // PJ 5 ** 76 ** D76 - PJ , // PJ 6 ** 77 ** D77 - PE , // PE 2 ** 78 ** D78 - PE , // PE 6 ** 79 ** D79 - PE , // PE 7 ** 80 ** D80 - PD , // PD 4 ** 81 ** D81 - PD , // PD 5 ** 82 ** D82 - PD , // PD 6 ** 83 ** D83 - PH , // PH 2 ** 84 ** D84 - PH , // PH 7 ** 85 ** D85 -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - // PIN IN PORT - // ------------------------------------------- - _BV( 0 ) , // PE 0 ** 0 ** USART0_RX - _BV( 1 ) , // PE 1 ** 1 ** USART0_TX - _BV( 4 ) , // PE 4 ** 2 ** PWM2 - _BV( 5 ) , // PE 5 ** 3 ** PWM3 - _BV( 5 ) , // PG 5 ** 4 ** PWM4 - _BV( 3 ) , // PE 3 ** 5 ** PWM5 - _BV( 3 ) , // PH 3 ** 6 ** PWM6 - _BV( 4 ) , // PH 4 ** 7 ** PWM7 - _BV( 5 ) , // PH 5 ** 8 ** PWM8 - _BV( 6 ) , // PH 6 ** 9 ** PWM9 - _BV( 4 ) , // PB 4 ** 10 ** PWM10 - _BV( 5 ) , // PB 5 ** 11 ** PWM11 - _BV( 6 ) , // PB 6 ** 12 ** PWM12 - _BV( 7 ) , // PB 7 ** 13 ** PWM13 - _BV( 1 ) , // PJ 1 ** 14 ** USART3_TX - _BV( 0 ) , // PJ 0 ** 15 ** USART3_RX - _BV( 1 ) , // PH 1 ** 16 ** USART2_TX - _BV( 0 ) , // PH 0 ** 17 ** USART2_RX - _BV( 3 ) , // PD 3 ** 18 ** USART1_TX - _BV( 2 ) , // PD 2 ** 19 ** USART1_RX - _BV( 1 ) , // PD 1 ** 20 ** I2C_SDA - _BV( 0 ) , // PD 0 ** 21 ** I2C_SCL - _BV( 0 ) , // PA 0 ** 22 ** D22 - _BV( 1 ) , // PA 1 ** 23 ** D23 - _BV( 2 ) , // PA 2 ** 24 ** D24 - _BV( 3 ) , // PA 3 ** 25 ** D25 - _BV( 4 ) , // PA 4 ** 26 ** D26 - _BV( 5 ) , // PA 5 ** 27 ** D27 - _BV( 6 ) , // PA 6 ** 28 ** D28 - _BV( 7 ) , // PA 7 ** 29 ** D29 - _BV( 7 ) , // PC 7 ** 30 ** D30 - _BV( 6 ) , // PC 6 ** 31 ** D31 - _BV( 5 ) , // PC 5 ** 32 ** D32 - _BV( 4 ) , // PC 4 ** 33 ** D33 - _BV( 3 ) , // PC 3 ** 34 ** D34 - _BV( 2 ) , // PC 2 ** 35 ** D35 - _BV( 1 ) , // PC 1 ** 36 ** D36 - _BV( 0 ) , // PC 0 ** 37 ** D37 - _BV( 7 ) , // PD 7 ** 38 ** D38 - _BV( 2 ) , // PG 2 ** 39 ** D39 - _BV( 1 ) , // PG 1 ** 40 ** D40 - _BV( 0 ) , // PG 0 ** 41 ** D41 - _BV( 7 ) , // PL 7 ** 42 ** D42 - _BV( 6 ) , // PL 6 ** 43 ** D43 - _BV( 5 ) , // PL 5 ** 44 ** D44 - _BV( 4 ) , // PL 4 ** 45 ** D45 - _BV( 3 ) , // PL 3 ** 46 ** D46 - _BV( 2 ) , // PL 2 ** 47 ** D47 - _BV( 1 ) , // PL 1 ** 48 ** D48 - _BV( 0 ) , // PL 0 ** 49 ** D49 - _BV( 3 ) , // PB 3 ** 50 ** SPI_MISO - _BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI - _BV( 1 ) , // PB 1 ** 52 ** SPI_SCK - _BV( 0 ) , // PB 0 ** 53 ** SPI_SS - _BV( 0 ) , // PF 0 ** 54 ** A0 - _BV( 1 ) , // PF 1 ** 55 ** A1 - _BV( 2 ) , // PF 2 ** 56 ** A2 - _BV( 3 ) , // PF 3 ** 57 ** A3 - _BV( 4 ) , // PF 4 ** 58 ** A4 - _BV( 5 ) , // PF 5 ** 59 ** A5 - _BV( 6 ) , // PF 6 ** 60 ** A6 - _BV( 7 ) , // PF 7 ** 61 ** A7 - _BV( 0 ) , // PK 0 ** 62 ** A8 - _BV( 1 ) , // PK 1 ** 63 ** A9 - _BV( 2 ) , // PK 2 ** 64 ** A10 - _BV( 3 ) , // PK 3 ** 65 ** A11 - _BV( 4 ) , // PK 4 ** 66 ** A12 - _BV( 5 ) , // PK 5 ** 67 ** A13 - _BV( 6 ) , // PK 6 ** 68 ** A14 - _BV( 7 ) , // PK 7 ** 69 ** A15 - _BV( 4 ) , // PG 4 ** 70 ** D70 - _BV( 3 ) , // PG 3 ** 71 ** D71 - _BV( 2 ) , // PJ 2 ** 72 ** D72 - _BV( 3 ) , // PJ 3 ** 73 ** D73 - _BV( 7 ) , // PJ 7 ** 74 ** D74 - _BV( 4 ) , // PJ 4 ** 75 ** D75 - _BV( 5 ) , // PJ 5 ** 76 ** D76 - _BV( 6 ) , // PJ 6 ** 77 ** D77 - _BV( 2 ) , // PE 2 ** 78 ** D78 - _BV( 6 ) , // PE 6 ** 79 ** D79 - _BV( 7 ) , // PE 7 ** 80 ** D80 - _BV( 4 ) , // PD 4 ** 81 ** D81 - _BV( 5 ) , // PD 5 ** 82 ** D82 - _BV( 6 ) , // PD 6 ** 83 ** D83 - _BV( 2 ) , // PH 2 ** 84 ** D84 - _BV( 7 ) , // PH 7 ** 85 ** D85 -}; - -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - // TIMERS - // ------------------------------------------- - NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RX - NOT_ON_TIMER , // PE 1 ** 1 ** USART0_TX - TIMER3B , // PE 4 ** 2 ** PWM2 - TIMER3C , // PE 5 ** 3 ** PWM3 - TIMER0B , // PG 5 ** 4 ** PWM4 - TIMER3A , // PE 3 ** 5 ** PWM5 - TIMER4A , // PH 3 ** 6 ** PWM6 - TIMER4B , // PH 4 ** 7 ** PWM7 - TIMER4C , // PH 5 ** 8 ** PWM8 - TIMER2B , // PH 6 ** 9 ** PWM9 - TIMER2A , // PB 4 ** 10 ** PWM10 - TIMER1A , // PB 5 ** 11 ** PWM11 - TIMER1B , // PB 6 ** 12 ** PWM12 - TIMER0A , // PB 7 ** 13 ** PWM13 - NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TX - NOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RX - NOT_ON_TIMER , // PH 1 ** 16 ** USART2_TX - NOT_ON_TIMER , // PH 0 ** 17 ** USART2_RX - NOT_ON_TIMER , // PD 3 ** 18 ** USART1_TX - NOT_ON_TIMER , // PD 2 ** 19 ** USART1_RX - NOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDA - NOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCL - NOT_ON_TIMER , // PA 0 ** 22 ** D22 - NOT_ON_TIMER , // PA 1 ** 23 ** D23 - NOT_ON_TIMER , // PA 2 ** 24 ** D24 - NOT_ON_TIMER , // PA 3 ** 25 ** D25 - NOT_ON_TIMER , // PA 4 ** 26 ** D26 - NOT_ON_TIMER , // PA 5 ** 27 ** D27 - NOT_ON_TIMER , // PA 6 ** 28 ** D28 - NOT_ON_TIMER , // PA 7 ** 29 ** D29 - NOT_ON_TIMER , // PC 7 ** 30 ** D30 - NOT_ON_TIMER , // PC 6 ** 31 ** D31 - NOT_ON_TIMER , // PC 5 ** 32 ** D32 - NOT_ON_TIMER , // PC 4 ** 33 ** D33 - NOT_ON_TIMER , // PC 3 ** 34 ** D34 - NOT_ON_TIMER , // PC 2 ** 35 ** D35 - NOT_ON_TIMER , // PC 1 ** 36 ** D36 - NOT_ON_TIMER , // PC 0 ** 37 ** D37 - NOT_ON_TIMER , // PD 7 ** 38 ** D38 - NOT_ON_TIMER , // PG 2 ** 39 ** D39 - NOT_ON_TIMER , // PG 1 ** 40 ** D40 - NOT_ON_TIMER , // PG 0 ** 41 ** D41 - NOT_ON_TIMER , // PL 7 ** 42 ** D42 - NOT_ON_TIMER , // PL 6 ** 43 ** D43 - TIMER5C , // PL 5 ** 44 ** D44 - TIMER5B , // PL 4 ** 45 ** D45 - TIMER5A , // PL 3 ** 46 ** D46 - NOT_ON_TIMER , // PL 2 ** 47 ** D47 - NOT_ON_TIMER , // PL 1 ** 48 ** D48 - NOT_ON_TIMER , // PL 0 ** 49 ** D49 - NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISO - NOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSI - NOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCK - NOT_ON_TIMER , // PB 0 ** 53 ** SPI_SS - NOT_ON_TIMER , // PF 0 ** 54 ** A0 - NOT_ON_TIMER , // PF 1 ** 55 ** A1 - NOT_ON_TIMER , // PF 2 ** 56 ** A2 - NOT_ON_TIMER , // PF 3 ** 57 ** A3 - NOT_ON_TIMER , // PF 4 ** 58 ** A4 - NOT_ON_TIMER , // PF 5 ** 59 ** A5 - NOT_ON_TIMER , // PF 6 ** 60 ** A6 - NOT_ON_TIMER , // PF 7 ** 61 ** A7 - NOT_ON_TIMER , // PK 0 ** 62 ** A8 - NOT_ON_TIMER , // PK 1 ** 63 ** A9 - NOT_ON_TIMER , // PK 2 ** 64 ** A10 - NOT_ON_TIMER , // PK 3 ** 65 ** A11 - NOT_ON_TIMER , // PK 4 ** 66 ** A12 - NOT_ON_TIMER , // PK 5 ** 67 ** A13 - NOT_ON_TIMER , // PK 6 ** 68 ** A14 - NOT_ON_TIMER , // PK 7 ** 69 ** A15 - NOT_ON_TIMER , // PG 4 ** 70 ** D70 - NOT_ON_TIMER , // PG 3 ** 71 ** D71 - NOT_ON_TIMER , // PJ 2 ** 72 ** D72 - NOT_ON_TIMER , // PJ 3 ** 73 ** D73 - NOT_ON_TIMER , // PJ 7 ** 74 ** D74 - NOT_ON_TIMER , // PJ 4 ** 75 ** D75 - NOT_ON_TIMER , // PJ 5 ** 76 ** D76 - NOT_ON_TIMER , // PJ 6 ** 77 ** D77 - NOT_ON_TIMER , // PE 2 ** 78 ** D78 - NOT_ON_TIMER , // PE 6 ** 79 ** D79 - NOT_ON_TIMER , // PE 7 ** 80 ** D80 - NOT_ON_TIMER , // PD 4 ** 81 ** D81 - NOT_ON_TIMER , // PD 5 ** 82 ** D82 - NOT_ON_TIMER , // PD 6 ** 83 ** D83 - NOT_ON_TIMER , // PH 2 ** 84 ** D84 - NOT_ON_TIMER , // PH 7 ** 85 ** D85 -}; - -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h b/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h deleted file mode 100644 index 499952dc9..000000000 --- a/ArduinoAddons/Arduino_1.5.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h +++ /dev/null @@ -1,285 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ - - Changelog - ----------- - 11/25/11 - ryan@ryanmsutton.com - Add pins for Sanguino 644P and 1284P - 07/15/12 - ryan@ryanmsutton.com - Updated for arduino0101 -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER5A 14 -#define TIMER5B 15 -#define TIMER5C 16 - -const static uint8_t SS = 4; -const static uint8_t MOSI = 5; -const static uint8_t MISO = 6; -const static uint8_t SCK = 7; - -static const uint8_t SDA = 17; -static const uint8_t SCL = 16; -static const uint8_t LED_BUILTIN = 13; - -static const uint8_t A0 = 31; -static const uint8_t A1 = 30; -static const uint8_t A2 = 29; -static const uint8_t A3 = 28; -static const uint8_t A4 = 27; -static const uint8_t A5 = 26; -static const uint8_t A6 = 25; -static const uint8_t A7 = 24; - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -// extern const uint16_t PROGMEM port_to_mode_PGM[]; -// extern const uint16_t PROGMEM port_to_input_PGM[]; -// extern const uint16_t PROGMEM port_to_output_PGM[]; - -// extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// ATMEL ATMEGA644P / SANGUINO -// -// +---\/---+ -// INT0 (D 0) PB0 1| |40 PA0 (AI 0 / D31) -// INT1 (D 1) PB1 2| |39 PA1 (AI 1 / D30) -// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29) -// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28) -// PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27) -// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26) -// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25) -// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24) -// RST 9| |32 AREF -// VCC 10| |31 GND -// GND 11| |30 AVCC -// XTAL2 12| |29 PC7 (D 23) -// XTAL1 13| |28 PC6 (D 22) -// RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI -// TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO -// RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS -// TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK -// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA -// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL -// PWM (D 14) PD6 20| |21 PD7 (D 15) PWM -// +--------+ -// -#define NUM_DIGITAL_PINS 24 -#define NUM_ANALOG_INPUTS 8 -#define analogInputToDigitalPin(p) ((p < 7) ? (p) + 24 : -1) - -#define digitalPinHasPWM(p) ((p) == 3 || (p) == 4 || (p) == 12 || (p) == 13 || (p) == 14 || (p) == 15 ) - -#define digitalPinToPCICR(p) ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 24) && ((p) <= 31)) ? 0 : \ - ( (((p) >= 0) && ((p) <= 7)) ? 1 : \ - ( (((p) >= 16) && ((p) <= 23)) ? 2 : \ - ( (((p) >= 8) && ((p) <= 15)) ? 3 : \ - 0 ) ) ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 24) && ((p) <= 31)) ? (&PCMSK0) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (&PCMSK1) : \ - ( (((p) >= 16) && ((p) <= 23)) ? (&PCMSK2) : \ - ( (((p) >= 8) && ((p) <= 15)) ? (&PCMSK3) : \ - ((uint8_t *)0) ) ) ) ) - - -#define digitalPinToPCMSKbit(p) ( (((p) >= 24) && ((p) <= 31)) ? (31 - (p)) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (p) : \ - ( (((p) >= 16) && ((p) <= 23)) ? ((p) - 16) : \ - ( (((p) >= 8) && ((p) <= 15)) ? ((p) - 8) : \ - 0 ) ) ) ) - -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 - -#ifdef ARDUINO_MAIN -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -const uint16_t PROGMEM port_to_mode_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, -}; -const uint16_t PROGMEM port_to_input_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, -}; -const uint8_t PROGMEM digital_pin_to_port_PGM[] = -{ - PB, /* 0 */ - PB, - PB, - PB, - PB, - PB, - PB, - PB, - PD, /* 8 */ - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PC, /* 16 */ - PC, - PC, - PC, - PC, - PC, - PC, - PC, - PA, /* 24 */ - PA, - PA, - PA, - PA, - PA, - PA, - PA /* 31 */ -}; -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = -{ - _BV(0), /* 0, port B */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 8, port D */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 16, port C */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(7), /* 24, port A */ - _BV(6), - _BV(5), - _BV(4), - _BV(3), - _BV(2), - _BV(1), - _BV(0) -}; -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = -{ - NOT_ON_TIMER, /* 0 - PB0 */ - NOT_ON_TIMER, /* 1 - PB1 */ - NOT_ON_TIMER, /* 2 - PB2 */ - TIMER0A, /* 3 - PB3 */ - TIMER0B, /* 4 - PB4 */ - NOT_ON_TIMER, /* 5 - PB5 */ - NOT_ON_TIMER, /* 6 - PB6 */ - NOT_ON_TIMER, /* 7 - PB7 */ - NOT_ON_TIMER, /* 8 - PD0 */ - NOT_ON_TIMER, /* 9 - PD1 */ - NOT_ON_TIMER, /* 10 - PD2 */ - NOT_ON_TIMER, /* 11 - PD3 */ - TIMER1B, /* 12 - PD4 */ - TIMER1A, /* 13 - PD5 */ - TIMER2B, /* 14 - PD6 */ - TIMER2A, /* 15 - PD7 */ - NOT_ON_TIMER, /* 16 - PC0 */ - NOT_ON_TIMER, /* 17 - PC1 */ - NOT_ON_TIMER, /* 18 - PC2 */ - NOT_ON_TIMER, /* 19 - PC3 */ - NOT_ON_TIMER, /* 20 - PC4 */ - NOT_ON_TIMER, /* 21 - PC5 */ - NOT_ON_TIMER, /* 22 - PC6 */ - NOT_ON_TIMER, /* 23 - PC7 */ - NOT_ON_TIMER, /* 24 - PA0 */ - NOT_ON_TIMER, /* 25 - PA1 */ - NOT_ON_TIMER, /* 26 - PA2 */ - NOT_ON_TIMER, /* 27 - PA3 */ - NOT_ON_TIMER, /* 28 - PA4 */ - NOT_ON_TIMER, /* 29 - PA5 */ - NOT_ON_TIMER, /* 30 - PA6 */ - NOT_ON_TIMER /* 31 - PA7 */ -}; -#endif -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/boards.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/boards.txt deleted file mode 100644 index e1e1a7a32..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/boards.txt +++ /dev/null @@ -1,284 +0,0 @@ -# See: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification -# See: http://code.google.com/p/arduino/wiki/Platforms - -############################################################## - -menu.cpu=Processor - -######################################## -## Arduino Mega or Mega 2560 -######################################## - -mega.name=Arduino Mega or Mega 2560 - -mega.vid.0=0x2341 -mega.pid.0=0x0010 -mega.vid.1=0x2341 -mega.pid.1=0x0042 -mega.vid.2=0x2A03 -mega.pid.2=0x0010 -mega.vid.3=0x2A03 -mega.pid.3=0x0042 - -mega.upload.tool=avrdude -mega.upload.maximum_data_size=8192 - -mega.bootloader.tool=avrdude -mega.bootloader.low_fuses=0xFF -mega.bootloader.unlock_bits=0x3F -mega.bootloader.lock_bits=0x0F - -mega.build.f_cpu=16000000L -mega.build.core=arduino -mega.build.variant=mega -# default board may be overridden by the cpu menu -mega.build.board=AVR_MEGA2560 -mega.build.mcu=atmega2560 - -## Arduino Mega w/ ATmega2560 -## ------------------------- -mega.menu.cpu.atmega2560=ATmega2560 (Mega 2560) - -mega.menu.cpu.atmega2560.upload.protocol=wiring -mega.menu.cpu.atmega2560.upload.maximum_size=253952 -mega.menu.cpu.atmega2560.upload.speed=115200 - -mega.menu.cpu.atmega2560.bootloader.high_fuses=0xD8 -mega.menu.cpu.atmega2560.bootloader.extended_fuses=0xFD -mega.menu.cpu.atmega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560.hex - -mega.menu.cpu.atmega2560.build.mcu=atmega2560 -mega.menu.cpu.atmega2560.build.board=AVR_MEGA2560 - -## Arduino Mega w/ ATmega1280 -## ------------------------- -mega.menu.cpu.atmega1280=ATmega1280 - -mega.menu.cpu.atmega1280.upload.protocol=arduino -mega.menu.cpu.atmega1280.upload.maximum_size=126976 -mega.menu.cpu.atmega1280.upload.speed=57600 - -mega.menu.cpu.atmega1280.bootloader.high_fuses=0xDA -mega.menu.cpu.atmega1280.bootloader.extended_fuses=0xF5 -mega.menu.cpu.atmega1280.bootloader.file=atmega/ATmegaBOOT_168_atmega1280.hex - -mega.menu.cpu.atmega1280.build.mcu=atmega1280 -mega.menu.cpu.atmega1280.build.board=AVR_MEGA - -######################################## -## RAMBo -######################################## -rambo.name=RAMBo - -rambo.upload.tool=arduino:avrdude -rambo.upload.protocol=wiring -rambo.upload.maximum_size=258048 -rambo.upload.speed=115200 - -rambo.bootloader.low_fuses=0xFF -rambo.bootloader.high_fuses=0xD8 -rambo.bootloader.extended_fuses=0xFD -rambo.bootloader.path=stk500v2 -rambo.bootloader.file=stk500boot_v2_mega2560.hex -rambo.bootloader.unlock_bits=0x3F -rambo.bootloader.lock_bits=0x0F - -rambo.build.mcu=atmega2560 -rambo.build.f_cpu=16000000L -rambo.build.board=AVR_RAMBO -rambo.build.core=arduino:arduino -rambo.build.variant=rambo - -######################################## -## Sanguino -######################################## -sanguino.name=Sanguino - -sanguino.upload.tool=arduino:avrdude -sanguino.upload.protocol=stk500 -sanguino.upload.maximum_size=131072 -sanguino.upload.speed=57600 - -sanguino.bootloader.low_fuses=0xD6 -sanguino.bootloader.high_fuses=0xDA -sanguino.bootloader.extended_fuses=0xFD -sanguino.bootloader.path=atmega -sanguino.bootloader.unlock_bits=0x3F -sanguino.bootloader.lock_bits=0x0F - -sanguino.build.mcu=atmega1284p -sanguino.build.f_cpu=16000000L -sanguino.build.board=AVR_SANGUINO -sanguino.build.core=arduino:arduino -sanguino.build.variant=sanguino - -sanguino.menu.cpu.atmega644=ATmega644P -sanguino.menu.cpu.atmega644.upload.maximum_size=63488 -sanguino.menu.cpu.atmega644.bootloader.low_fuses=0xFF -sanguino.menu.cpu.atmega644.bootloader.high_fuses=0x9A -sanguino.menu.cpu.atmega644.bootloader.extended_fuses=0xFF -sanguino.menu.cpu.atmega644.bootloader.file=ATmegaBOOT_168_atmega644p.hex -sanguino.menu.cpu.atmega644.build.mcu=atmega644p - -sanguino.menu.cpu.atmega12848m=ATmega1284p 8MHz -sanguino.menu.cpu.atmega12848m.upload.speed=19200 -sanguino.menu.cpu.atmega12848m.bootloader.file=ATmegaBOOT_168_atmega1284p_8m.hex -sanguino.menu.cpu.atmega12848m.build.f_cpu=8000000L - -sanguino.menu.cpu.atmega1284=ATmega1284p 16MHz -sanguino.menu.cpu.atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex - -sanguino.menu.cpu.atmega1284m=ATmega1284p 20MHz -sanguino.menu.cpu.atmega1284m.bootloader.file=ATmegaBOOT_168_atmega1284p.hex -sanguino.menu.cpu.atmega1284m.build.f_cpu=20000000L - -######################################## -## Brainwave -######################################## -Brainwave.name=Brainwave - -Brainwave.bootloader.tool=avrdude -Brainwave.bootloader.low_fuses=0xFF -Brainwave.bootloader.high_fuses=0x99 -Brainwave.bootloader.extended_fuses=0xF0 -Brainwave.bootloader.unlock_bits=0x3F -Brainwave.bootloader.lock_bits=0x02F -Brainwave.bootloader.path=brainwave -Brainwave.bootloader.file=Brainwave-646-LUFA.hex - -Brainwave.upload.tool=avrdude -Brainwave.upload.protocol=avr109 -Brainwave.upload.maximum_size=61440 -Brainwave.upload.speed=115200 -Brainwave.upload.disable_flushing=true - -Brainwave.build.mcu=at90usb646 -Brainwave.build.f_cpu=16000000L -Brainwave.build.board=AVR_BRAINWAVE -Brainwave.build.core=at90usb -Brainwave.build.dependency=true -Brainwave.build.variant=brainwave -Brainwave.build.vid=0x16D0 -Brainwave.build.pid=0x076B - -######################################## -## BrainwavePro (CDC) -######################################## -BrainwavePro.name=Brainwave Pro (CDC) - -BrainwavePro.bootloader.tool=avrdude -BrainwavePro.bootloader.low_fuses=0xFF -BrainwavePro.bootloader.high_fuses=0x9B -BrainwavePro.bootloader.extended_fuses=0xF0 -BrainwavePro.bootloader.unlock_bits=0x3F -BrainwavePro.bootloader.lock_bits=0x02F -BrainwavePro.bootloader.path=at90usb -BrainwavePro.bootloader.file=BrainwavePro-1286-LUFA.hex - -BrainwavePro.upload.tool=avrdude -BrainwavePro.upload.protocol=avr109 -BrainwavePro.upload.maximum_size=126976 -BrainwavePro.upload.speed=115200 -BrainwavePro.upload.disable_flushing=true - -BrainwavePro.build.mcu=at90usb1286 -BrainwavePro.build.f_cpu=16000000L -BrainwavePro.build.board=AVR_BRAINWAVEPRO -BrainwavePro.build.core=at90usb -BrainwavePro.build.dependency=true -BrainwavePro.build.variant=at90usb -BrainwavePro.build.vid=0x16D0 -BrainwavePro.build.pid=0x076B -BrainwavePro.build.extra_flags=-DAT90USBxx_TEENSYPP_ASSIGNMENTS -DUSB_VID={build.vid} -DUSB_PID={build.pid} - -######################################## -## KosselPro -- BrainwavePro with HID boot -######################################## -KosselPro.name=Kossel Pro (HID Bootloader) - -KosselPro.bootloader.tool=avrdude -KosselPro.bootloader.low_fuses=0xFF -KosselPro.bootloader.high_fuses=0x9B -KosselPro.bootloader.extended_fuses=0xF0 -KosselPro.bootloader.unlock_bits=0x3F -KosselPro.bootloader.lock_bits=0x02F -KosselPro.bootloader.path=at90usb -KosselPro.bootloader.file=BootloaderHID.hex - -KosselPro.upload.tool=hidloader -KosselPro.upload.protocol=halfkay -KosselPro.upload.maximum_size=126976 -KosselPro.upload.maximum_ram_size=8192 -KosselPro.upload.speed=115200 -KosselPro.upload.disable_flushing=true - -KosselPro.build.mcu=at90usb1286 -KosselPro.build.f_cpu=16000000L -KosselPro.build.board=AVR_BRAINWAVEPRO -KosselPro.build.core=at90usb -KosselPro.build.dependency=true -KosselPro.build.variant=at90usb -KosselPro.build.vid=0x16D0 -KosselPro.build.pid=0x076B -KosselPro.build.extra_flags=-DAT90USBxx_TEENSYPP_ASSIGNMENTS -DUSB_VID={build.vid} -DUSB_PID={build.pid} - -######################################## -## SAVMkI (CDC) -######################################## -SAVMkI.name=SAV MkI (CDC) - -SAVMkI.bootloader.tool=avrdude -SAVMkI.bootloader.low_fuses=0xDE -SAVMkI.bootloader.high_fuses=0xDB -SAVMkI.bootloader.extended_fuses=0xF1 -SAVMkI.bootloader.unlock_bits=0x3F -SAVMkI.bootloader.lock_bits=0x02F -SAVMkI.bootloader.path=SAVMkI -SAVMkI.bootloader.file=SAVMkI-1286-LUFA.hex - -SAVMkI.upload.tool=avrdude -SAVMkI.upload.protocol=avr109 -SAVMkI.upload.maximum_size=126976 -SAVMkI.upload.speed=115200 -SAVMkI.upload.disable_flushing=true - -SAVMkI.build.mcu=at90usb1286 -SAVMkI.build.f_cpu=16000000L -SAVMkI.build.board=AVR_SAVMkI -SAVMkI.build.core=at90usb -SAVMkI.build.dependency=true -SAVMkI.build.variant=at90usb -SAVMkI.build.vid=0x16D0 -SAVMkI.build.pid=0x076B -SAVMkI.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} - -######################################## -## SAVMkI (HID) -######################################## -SAVMkI_HID.name=SAV MkI (HID Bootloader) - -SAVMkI_HID.bootloader.tool=avrdude -SAVMkI_HID.bootloader.low_fuses=0xDE -SAVMkI_HID.bootloader.high_fuses=0xDB -SAVMkI_HID.bootloader.extended_fuses=0xF1 -SAVMkI_HID.bootloader.unlock_bits=0x3F -SAVMkI_HID.bootloader.lock_bits=0x02F -SAVMkI_HID.bootloader.path=SAVMkI -SAVMkI_HID.bootloader.file=SAVMkI_HID.hex - -SAVMkI_HID.upload.tool=hidloader -SAVMkI_HID.upload.protocol=halfkay -SAVMkI_HID.upload.maximum_size=126976 -SAVMkI_HID.upload.maximum_ram_size=8192 -SAVMkI_HID.upload.speed=115200 -SAVMkI_HID.upload.disable_flushing=true - -SAVMkI_HID.build.mcu=at90usb1286 -SAVMkI_HID.build.f_cpu=16000000L -SAVMkI_HID.build.board=AVR_SAVMkI -SAVMkI_HID.build.core=at90usb -SAVMkI_HID.build.dependency=true -SAVMkI_HID.build.variant=at90usb -SAVMkI_HID.build.vid=0x16D0 -SAVMkI_HID.build.pid=0x076B -SAVMkI_HID.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/BootloaderHID.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/BootloaderHID.hex deleted file mode 100644 index 177419b44..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/BootloaderHID.hex +++ /dev/null @@ -1,139 +0,0 @@ -:020000021000EC -:10F000004BC0000077C0000075C0000073C0000056 -:10F0100071C000006FC000006DC000006BC0000038 -:10F0200069C0000067C0000028C2000063C0000083 -:10F0300061C000005FC000005DC000005BC0000058 -:10F0400059C0000057C0000055C0000053C0000068 -:10F0500051C000004FC000004DC000004BC0000078 -:10F0600049C0000047C0000045C0000043C0000088 -:10F0700041C000003FC000003DC000003BC0000098 -:10F0800039C0000037C0000035C0000033C00000A8 -:10F0900031C000002FC0000011241FBECFEFD0E20E -:10F0A000DEBFCDBF04B603FE0EC080915401909127 -:10F0B000550182349C4D39F410925501109254013F -:10F0C000E0E0F0E0099511E0A0E0B1E0E8E2F8EF5F -:10F0D00001E00BBF02C007900D92AA34B107D9F727 -:10F0E00021E0AAE4B1E001C01D92A435B207E1F726 -:10F0F00002D098C385CF84B7877F84BF88E10FB6DD -:10F10000F89480936000109260000FBE81E085BF8C -:10F1100082E085BF97D1789480910001882311F017 -:10F1200066D3FACF8091E00081608093E00082E4B2 -:10F130009CED90935501809354012CE088E190E080 -:10F140000FB6F894A895809360000FBE20936000DE -:10F15000FFCF42E361EC81E002C1CF92DF92EF92F8 -:10F16000FF921F93CF93DF9380914C018F77813271 -:10F1700009F075C080914D01893009F070C080910F -:10F18000E800877F8093E8008091E80082FFFCCF51 -:10F190009091F1008091F100492F582F60E070E0CC -:10F1A000B62FA52F942F88274F3F5F4F19F4109249 -:10F1B00000013EC023E0FC01A0935B0020935700B8 -:10F1C000E89507B600FCFDCF20E030E011E040916B -:10F1D000F2005091F300452B09F437C05091F10033 -:10F1E0004091F100C52FD42FA901440F551F6C0188 -:10F1F0007D01C40ED51EE11CF11C0E01F601E0924A -:10F200005B0010935700E89511242F5F3F4F203883 -:10F210003105E9F625E0FC01A0935B00209357003F -:10F22000E89507B600FCFDCF81E180935700E89593 -:10F230008091E8008B778093E800DF91CF911F9158 -:10F24000FF90EF90DF90CF909EC04091E8004B7709 -:10F250004093E8004091E80042FFFCCFBFCFDF9130 -:10F26000CF911F91FF90EF90DF90CF900895913054 -:10F2700049F0923061F0913279F489E090E023E135 -:10F2800031E00EC082E190E023E231E009C082E289 -:10F2900090E021E031E004C085E190E025E331E039 -:10F2A000FA01318320830895209152013091530156 -:10F2B0002617370748F06115710539F42091E800E9 -:10F2C0002E772093E80001C0B901FC0120E0611510 -:10F2D000710591F18EB38823E1F18530E1F18091E0 -:10F2E000E80083FD3AC08091E80082FF06C080916B -:10F2F000E80082FF24C080E008958091E80080FF4C -:10F30000E6CF8091F2009091F3006115710551F004 -:10F310008830910538F421912093F10061507109F2 -:10F320000196F3CF21E0089709F020E08091E800F2 -:10F330008E778093E800CBCF2111CCCFD8CF8EB37E -:10F34000882339F0853039F08091E80083FFCFCFF2 -:10F3500004C082E0089583E0089581E008958F70ED -:10F360008093E900EBEEF0E0808181608083EDEE38 -:10F37000F0E010826093EC0040838091EE00881FE3 -:10F380008827881F089580914C0187FD05C08091D2 -:10F39000E80080FF0DC010C08091E80082FD04C02D -:10F3A0008EB38111F9CF08958091E8008B7707C063 -:10F3B0008EB38111ECCF08958091E8008E77809311 -:10F3C000E80008950F931F93CF93DF9349D050D057 -:10F3D000C8EDD0E088818F778883888180688883B2 -:10F3E00088818F7D8883E7EDF0E08081806880836D -:10F3F00019BC1EBA10924A0100EE10E0F80180819B -:10F400008B7F808388818160888342E060E080E038 -:10F41000A6DFE1EEF0E080818E7F8083E2EEF0E017 -:10F42000808181608083808188608083F801808111 -:10F430008E7F8083888180618883DF91CF911F9147 -:10F440000F910895E8EDF0E080818F7E8083E7EDF5 -:10F45000F0E080818160808381E080934B01B2CFB6 -:10F46000E8EDF0E080818C7F80831092E2000895C7 -:10F470001092DA001092E10008951F920F920FB6D9 -:10F480000F9211240BB60F922F933F934F935F93DC -:10F490006F937F938F939F93AF93BF93EF93FF935C -:10F4A0008091DA0080FF1BC08091D80080FF17C0D8 -:10F4B0008091DA008E7F8093DA008091D90080FFFE -:10F4C0000BC084E189BD86E189BD09B400FEFDCF92 -:10F4D00081E08EBB8BD103C019BC1EBA87D180914D -:10F4E000E10080FF17C08091E20080FF13C080918F -:10F4F000E2008E7F8093E2008091E2008061809341 -:10F50000E2008091D80080628093D80019BC85E029 -:10F510008EBB6CD18091E10084FF2EC08091E2000F -:10F5200084FF2AC084E189BD86E189BD09B400FE5B -:10F53000FDCF8091D8008F7D8093D8008091E1002D -:10F540008F7E8093E1008091E2008F7E8093E200C5 -:10F550008091E20081608093E20080914A018823DB -:10F5600011F084E007C08091E30087FF02C083E0D0 -:10F5700001C081E08EBB3AD18091E10083FF21C0C0 -:10F580008091E20083FF1DC08091E100877F80931E -:10F59000E10082E08EBB10924A018091E1008E7FF3 -:10F5A0008093E1008091E2008E7F8093E200809161 -:10F5B000E20080618093E20042E060E080E0CFDE24 -:10F5C00015D1FF91EF91BF91AF919F918F917F9155 -:10F5D0006F915F914F913F912F910F900BBE0F90C4 -:10F5E0000FBE0F901F9018951F93CF93DF9300D0FD -:10F5F000CDB7DEB7ECE4F1E08091F100819381E0DA -:10F60000E435F807C9F7A9DD8091E80083FFDAC087 -:10F6100090914C0180914D01853009F465C030F422 -:10F62000813059F168F0833041F1CCC0883009F461 -:10F630009CC0893009F4ABC0863009F0C3C075C0E6 -:10F64000903881F0923809F0BDC0809150018F70E0 -:10F650008093E9009091EB0095FB992790F9109227 -:10F66000E90001C090E08091E800877F8093E80086 -:10F670009093F1001092F10083C0292F2D7F09F0A3 -:10F68000A1C0923009F09EC090914E01911126C008 -:10F69000209150012F7009F495C02093E9009091BA -:10F6A000EB0090FF1BC0833021F48091EB0080625F -:10F6B00013C08091EB0080618093EB0081E090E0CB -:10F6C000022E01C0880F0A94EAF78093EA00109294 -:10F6D000EA008091EB0088608093EB001092E900D3 -:10F6E0008091E800877F4FC091116CC010914E014E -:10F6F0001F778091E3008078812B8093E3008091D5 -:10F70000E800877F8093E8003EDE8091E80080FF7C -:10F71000FCCF8091E30080688093E300112311F017 -:10F7200083E001C082E08EBB4DC09058923008F05B -:10F7300049C0AE014F5F5F4F6091500180914E0113 -:10F7400090914F0194DD009709F43CC02091E800AE -:10F75000277F2093E800BC0189819A81A5DD8091F3 -:10F76000E8008B778093E8002DC0903859F58091A0 -:10F77000E800877F8093E80080914A018093F10040 -:10F780008091E8008E778093E800FDDD1BC0911129 -:10F7900019C090914E019230A8F48091E800877FC3 -:10F7A0008093E80090934A01EEDD80914A01811137 -:10F7B00004C08091E30087FF02C084E001C081E0C3 -:10F7C0008EBBC7DC8091E80083FF0AC08091E8000F -:10F7D000877F8093E8008091EB0080628093EB004C -:10F7E0000F900F90DF91CF911F9108950895CF93BF -:10F7F0008EB38823A9F08091E9008F709091EC007E -:10F8000090FF02C090E801C090E0C92FC82B109271 -:10F81000E9008091E80083FDE7DECF70C093E90046 -:08F82000CF910895F894FFCF89 -:10F8280001090222000101008032090400000103DD -:10F8380000000009211101000122150007058103BC -:10F848004000051201100100000008EB03672001C9 -:10F85800000000000106DCFF09FBA10109021500F8 -:0AF8680025FF75089602019102C009 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-1286-LUFA.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-1286-LUFA.hex deleted file mode 100644 index 7f88285c5..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-1286-LUFA.hex +++ /dev/null @@ -1,247 +0,0 @@ -:020000021000EC -:10F000004BC0000066C0000064C0000062C0000089 -:10F0100060C000005EC000005CC000005AC000007C -:10F0200058C0000056C00000ACC4000052C0000030 -:10F0300050C000004EC000004CC000004AC000009C -:10F0400048C0000046C0000044C0000042C00000AC -:10F0500040C000003EC000003CC000003AC00000BC -:10F0600038C0000036C0000034C0000032C00000CC -:10F0700030C000002EC000002CC000002AC00000DC -:10F0800028C0000026C0000024C0000022C00000EC -:10F0900020C000001EC0000011241FBECFEFD0E230 -:10F0A000DEBFCDBF11E0A0E0B1E0E4EAFEEF01E099 -:10F0B0000BBF02C007900D92AC38B107D9F711E031 -:10F0C000ACE8B1E001C01D92AD39B107E1F72FD333 -:10F0D000E7C696CF84E08093E9000DC08091E800F8 -:10F0E0008B778093E80003C08EB3882359F080911A -:10F0F000E80082FFF9CF8091E80085FFEFCF809193 -:10F10000F100089580E0089593E09093E9009091D4 -:10F11000E80095FD0DC09091E8009E779093E8007F -:10F1200003C09EB3992331F09091E80090FFF9CF8E -:10F130008093F100089584B7877F84BF88E10FB67C -:10F14000F89480936000109260000FBE90E080E819 -:10F150000FB6F89480936100909361000FBE81E038 -:10F1600085BF82E085BFF7C382E061EC42E079D3DE -:10F1700083E061E842E175D384E060E842E171C375 -:10F18000809196018032B1F0813239F580919501FC -:10F19000813A19F58091E800877F8093E80088E044 -:10F1A00091E067E070E0BAD58091E8008B778093BA -:10F1B000E800089580919501813279F48091E8000A -:10F1C000877F8093E80088E091E067E070E001D6F7 -:10F1D0008091E8008E778093E80008952F923F9207 -:10F1E0005F926F927F928F929F92AF92BF92CF92D7 -:10F1F000DF92EF92FF920F931F93DF93CF930F92C3 -:10F20000CDB7DEB784E08093E9008091E80082FF0B -:10F210007BC210928C015EDF182F8C3409F421C25E -:10F22000803509F41EC2843529F0853429F4109202 -:10F230000F0117C24FDF15C2843711F484E448C0B0 -:10F24000813611F489E536C28134F1F443DF382F79 -:10F25000330F20E079010027F7FC0095102FE09292 -:10F260008F01F0929001009391011093920132DF8F -:10F2700090E0880F991FAA2797FDA095BA2F8E2995 -:10F280009F29A02BB12BE5C1803711F483E512C271 -:10F29000833559F400E011E0D8018D918D0134DF00 -:10F2A000B1E007301B07C1F706C2863521F481E3C0 -:10F2B0002BDF80E3FFC1833731F482E825DF87E964 -:10F2C00023DF8EE1F7C1823631F489E51DDF81E06D -:10F2D0001BDF80E0EFC1853621F580E090E0DC01A6 -:10F2E00033E025E0FC01A0935B0030935700E895E4 -:10F2F00007B600FCFDCFFC01A0935B0020935700F4 -:10F30000E89507B600FCFDCF8F5F9E4FAF4FBF4F14 -:10F310008F3EE0EF9E07E1E0AE07E0E0BE0711F7A9 -:10F32000A0C18C3651F4D6DE809599E0E1E0F0E0A2 -:10F33000082E90935700E89594C1823719F4E1E0C4 -:10F34000F0E00EC0863419F4E0E0F0E009C08E343D -:10F3500019F4E3E0F0E004C0813539F4E2E0F0E0D4 -:10F3600089E0809357008491A5C18334A1F4E09093 -:10F370008F01F09090010091910110919201AADE0D -:10F3800090E021E00C01F70100935B00209357000F -:10F39000E895112466C18336E1F4E0908F01F09086 -:10F3A0009001009191011091920181E090E0A0E024 -:10F3B000B0E0E82AF92A0A2B1B2B8CDE90E021E032 -:10F3C0000C01F70100935B0020935700E89511248E -:10F3D00035C18D3699F480918F0190919001A09163 -:10F3E0009101B091920125E0FC01A0935B00209374 -:10F3F0005700E89507B600FCFDCF33C1823419F001 -:10F40000873609F0F7C066DEE82E64DE082F62DE7C -:10F41000982E8554823008F04CC13E2D20E0202EDD -:10F420003324222A332A173609F058C081E1809309 -:10F430005700E89510E001E04CC020918F01309119 -:10F4400090014091910150919201992D963419F5B6 -:10F45000812F90E0A0E0B0E0822B932BA42BB52B62 -:10F46000ABBFFC01879150DE112399F080918F0191 -:10F4700090919001A0919101B09192010296A11DED -:10F48000B11D80938F0190939001A0939101B0934F -:10F49000920110271BC0DA01C901B695A79597956F -:10F4A0008795E8D431DE80918F0190919001A091F1 -:10F4B0009101B09192010296A11DB11D80938F011F -:10F4C00090939001A0939101B09392010894210828 -:10F4D00031082114310409F0B0CFEDC0A0908F01A4 -:10F4E000B0909001C0909101D0909201A92DA634C6 -:10F4F00009F069C083E0F501C0925B00809357007A -:10F50000E89507B600FCFDCF5EC0B92DB63491F585 -:10F51000222361F1E0908F01F09090010091910120 -:10F5200010919201D7DD782E6624282D30E026290F -:10F5300037290901F70100935B0050925700E895C5 -:10F54000112480918F0190919001A0919101B0912F -:10F5500092010296A11DB11D80938F01909390019D -:10F56000A0939101B093920120E029C0B3DD882ED1 -:10F5700021E025C0E0908F01F09090010091910171 -:10F580001091920116950795F794E7942983A2DDCF -:10F59000682FC70177D480918F0190919001A0913D -:10F5A0009101B09192010296A11DB11D80938F012E -:10F5B00090939001A0939101B093920129810894B6 -:10F5C0002108310804C0882420E0552453942114D4 -:10F5D000310409F09ACFE92DE63409F042C085E004 -:10F5E000F501C0925B0080935700E89507B600FCD8 -:10F5F000FDCF37C0823581F480918F0190919001C9 -:10F60000A0919101B0919201ABBFFC0107911691BD -:10F61000812F7ADD802F4EC0843429F5E0908F0150 -:10F62000F09090010091910110919201169507952B -:10F63000F794E7944FDD682FC70124D480918F01A0 -:10F6400090919001A0919101B09192010296A11D1B -:10F65000B11D80938F0190939001A0939101B0937D -:10F6600092018DE027C0843611F580918F01909131 -:10F670009001A0919101B0919201B695A7959795AF -:10F680008795F8D341DD80918F0190919001A091F1 -:10F690009101B09192010296A11DB11D80938F013D -:10F6A00090939001A0939101B093920104C08B318B -:10F6B00011F08FE329DD83E08093E9009091E80069 -:10F6C0008091E8008E778093E80095FF04C010C019 -:10F6D0008EB38823C9F08091E80080FFF9CF809134 -:10F6E000E8008E778093E80003C08EB3882361F032 -:10F6F0008091E80080FFF9CF84E08093E900809159 -:10F70000E8008B778093E8000F90CF91DF911F91F5 -:10F710000F91FF90EF90DF90CF90BF90AF909F90B0 -:10F720008F907F906F905F903F902F900895EF9211 -:10F73000FF920F931F93DF93CF930F92CDB7DEB756 -:10F7400084B714BE9091600098619093600010920D -:10F75000600010928C0190E0FC01E270F07081FD7D -:10F760000BC0859194912FEF8F3F920729F0E09184 -:10F770008D01F0918E010995209A289A6F9A779AB7 -:10F780006D9A759A3B9A439AD6DC6F9A779A7894D9 -:10F7900081E010E000E0E0E0F0E0E590F49025C0CA -:10F7A00089831CDD55D30F5F8981002311F4180F65 -:10F7B000779A011709F477981F3F59F0112351F4F4 -:10F7C000813041F080918C018F5F80938C0181E0CA -:10F7D00001C08FEF90918C01923338F09FEFE916C2 -:10F7E0009FEFF90611F010920F0190910F019923EC -:10F7F000B9F68091E00081608093E0002CE088E120 -:10F8000090E00FB6F894A895809360000FBE209307 -:10F810006000FFCF923049F0933061F09130C1F039 -:10F8200020E030E080E090E017C02EE330E082E29C -:10F8300091E012C0882331F42091600130E080E62D -:10F8400091E00AC02091640130E084E691E004C0B8 -:10F8500022E130E080E191E0FA0191838083C901E7 -:10F8600008958093E900EBEEF0E080818160808371 -:10F87000EDEEF0E010826093EC0040838091EE00AA -:10F88000881F8827881F08958091950187FF11C0E0 -:10F8900003C08EB38823B1F08091E80082FFF9CFD6 -:10F8A0008091E8008B778093E80008958EB38823D9 -:10F8B00049F08091E80080FFF9CF8091E8008E77D1 -:10F8C0008093E800089550D057D08091D800982FA9 -:10F8D0009F779093D80080688093D80084E189BD99 -:10F8E00089B5826089BD09B400FEFDCF8091D80042 -:10F8F0008F7D8093D8008091D70080688093D70057 -:10F900001EBA109293018091E0008B7F8093E000FB -:10F910008091D80081608093D80080E060E042E070 -:10F92000A0DF8091E1008E7F8093E1008091E20072 -:10F9300081608093E2008091E20088608093E20021 -:10F940008091E0008E7F8093E0008091D8008061FC -:10F950008093D8000895E7EDF0E080818160808396 -:10F9600081E080939401AFCFE8EDF0E080818C7F5F -:10F9700080831092E20008951092DA001092E10064 -:10F9800008951F920F920FB60F920BB60F9211248B -:10F990002F933F934F935F936F937F938F939F9397 -:10F9A000AF93BF93EF93FF938091DA0080FF13C072 -:10F9B0008091D80080FF0FC08091DA008E7F809305 -:10F9C000DA008091D90080FF04C081E08EBBA5D110 -:10F9D00002C01EBAA2D18091E10080FF1CC08091BC -:10F9E000E20080FF18C08091E1008E7F8093E100EB -:10F9F0008091E2008E7F8093E2008091E20080613E -:10FA00008093E2008091D80080628093D80019BC76 -:10FA100085E08EBB82D18091E10084FF2DC0809172 -:10FA2000E20084FF29C084E189BD89B5826089BD77 -:10FA300009B400FEFDCF8091D8008F7D8093D8005F -:10FA40008091E1008F7E8093E1008091E2008F7EC3 -:10FA50008093E2008091E20081608093E2008091D7 -:10FA60009301882321F48091E30087FF02C084E0A2 -:10FA700001C081E08EBB51D18091E10083FF21C0A4 -:10FA80008091E20083FF1DC08091E100877F809319 -:10FA9000E10082E08EBB109293018091E1008E7FA5 -:10FAA0008093E1008091E2008E7F8093E20080915C -:10FAB000E20080618093E20080E060E042E0D1DE1D -:10FAC0002CD18091E10082FF0AC08091E20082FF88 -:10FAD00006C08091E1008B7F8093E1001ED1FF91F1 -:10FAE000EF91BF91AF919F918F917F916F915F91B6 -:10FAF0004F913F912F910F900BBE0F900FBE0F9023 -:10FB00001F9018950F931F93DF93CF9300D0CDB71D -:10FB1000DEB7E5E9F1E08091F100819381E0ED3914 -:10FB2000F807C9F78091950190919601953009F4F5 -:10FB30006BC0963040F4913061F1913070F09330A9 -:10FB400009F0D5C026C0983009F4A3C0993009F453 -:10FB5000B2C0963009F0CBC07CC0803809F4C8C070 -:10FB6000823809F0C4C08091990187708093E900C0 -:10FB70009091EB001092E9008091E800877F8093DC -:10FB8000E80081E095FF80E08093F1001092F100A1 -:10FB90008BC0882319F0823009F0A9C08F718230A0 -:10FBA00009F0A6C080919701882341F52091990121 -:10FBB000277009F49DC02093E9008091EB0080FF3D -:10FBC0001DC080919601833021F48091EB0080620A -:10FBD00013C08091EB0080618093EB0081E090E0A6 -:10FBE00002C0880F991F2A95E2F78093EA001092CD -:10FBF000EA008091EB0088608093EB001092E900AE -:10FC00008091E800877F53C0882309F070C010916D -:10FC100097011F770FB7F8948091E800877F809352 -:10FC2000E80032DE8091E80080FFFCCF112311F064 -:10FC300083E001C082E08EBB8091E3008078812B5D -:10FC40008093E3008091E30080688093E3000FBF1E -:10FC50004FC08058823008F04AC08091970190913F -:10FC6000980160919901AE014F5F5F4FD3DDBC01F8 -:10FC7000009709F43DC08091E800877F8093E800F9 -:10FC800089819A814BD08091E8008B778093E8003E -:10FC90002FC0803861F58091E800877F8093E8006D -:10FCA000809193018093F1008091E8008E7780939A -:10FCB000E800EADD1DC08823D1F4909197019230CD -:10FCC000B8F48091E800877F8093E80090939301D7 -:10FCD000DBDD80919301882321F48091E30087FF8D -:10FCE00002C084E001C081E08EBB3EDA01C048DA88 -:10FCF0008091E80083FF0AC08091EB0080628093CE -:10FD0000EB008091E800877F8093E8000F900F90D0 -:10FD1000CF91DF911F910F9108950895282F392FCA -:10FD2000F90180919B0190919C018617970718F427 -:10FD3000BC0120E035C061157105D9F78091E8005C -:10FD40008E778093E800F5CF8EB38823F1F185306C -:10FD5000C1F18091E80083FD36C08091E80082FD0A -:10FD60002AC08091E80080FF1BC08091F200909132 -:10FD7000F30006C021912093F1006150704001967C -:10FD80006115710519F088309105A0F321E08830E4 -:10FD9000910509F020E08091E8008E778093E800DB -:10FDA0006115710589F6222379F605C08EB3882383 -:10FDB00061F0853061F08091E80082FFF7CF80E04C -:10FDC000089583E0089581E0089582E0089583E036 -:10FDD00008956115710529F51FC02EB32223A1F1E5 -:10FDE000253071F12091E80023FD2CC02091E8001E -:10FDF00022FFF3CFE82FF92F07C08091F100819304 -:10FE0000CF016150704041F0CF012091F20030915C -:10FE1000F3002115310589F72091E8002B77209315 -:10FE2000E80061157105C9F605C08EB3882361F03D -:10FE3000853061F08091E80080FFF7CF80E0089581 -:10FE400083E0089581E0089582E0089583E00895B5 -:10FE50001F938EB3882361F01091E9001770109200 -:10FE6000E9008091E80083FF01C04CDE1093E900B7 -:10FE70001F910895F999FECF92BD81BDF89A9927F7 -:10FE800080B50895262FF999FECF1FBA92BD81BD86 -:10FE900020BD0FB6F894FA9AF99A0FBE019608950C -:04FEA000F894FFCF04 -:10FEA4004C55464143444300000000000000080153 -:10FEB40012011001020000089A2301000100000150 -:10FEC400000109023E000201008032090400000121 -:10FED4000202010005240010010424020405240682 -:10FEE40000010705820308000209040100020A0058 -:10FEF400000007050402100000070583021000003B -:10FF04000403090426034100560052002000430064 -:10FF140044004300200042006F006F0074006C0036 -:0CFF24006F0061006400650072000000C6 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-CDC.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-CDC.hex deleted file mode 100644 index 93e742c2f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/SAVMkI/SAVMkI-CDC.hex +++ /dev/null @@ -1,249 +0,0 @@ -:020000021000EC -:10F000004BC0000066C0000064C0000062C0000089 -:10F0100060C000005EC000005CC000005AC000007C -:10F0200058C0000056C00000B9C4000052C0000023 -:10F0300050C000004EC000004CC000004AC000009C -:10F0400048C0000046C0000044C0000042C00000AC -:10F0500041C000003EC000003CC000003AC00000BB -:10F0600038C0000036C0000034C0000032C00000CC -:10F0700030C000002EC000002CC000002AC00000DC -:10F0800028C0000026C0000024C0000022C00000EC -:10F0900020C000001EC0000011241FBECFEFD0E230 -:10F0A000DEBFCDBF11E0A0E0B1E0EEEAFEEF01E08F -:10F0B0000BBF02C007900D92AC38B107D9F711E031 -:10F0C000ACE8B1E001C01D92AA39B107E1F778D0F0 -:10F0D000ECC696CF1F920F920FB60F9211240F908D -:10F0E0000FBE0F901F90189584E08093E9000DC02B -:10F0F0008091E8008B778093E80003C08EB388236B -:10F1000051F08091E80082FFF9CF8091E80085FFFF -:10F11000EFCF8091F1000895982F83E08093E9006C -:10F120008091E80085FD0DC08091E8008E77809386 -:10F13000E80003C08EB3882331F08091E80080FF9F -:10F14000F9CF9093F100089590919201892F8F77D4 -:10F15000813249F5809193018032A1F0813219F515 -:10F16000913A09F58091E800877F8093E80088E074 -:10F1700091E067E070E0C7D48091E8008B778093DE -:10F18000E8000895913279F48091E800877F8093B8 -:10F19000E80088E091E067E070E011D58091E80038 -:10F1A0008E778093E800089582E061EC42E06AD3B4 -:10F1B00083E061E842E166D384E060E842E162C353 -:10F1C0002F923F924F925F926F927F928F929F9277 -:10F1D000AF92BF92CF92DF92EF92FF920F931F9365 -:10F1E000DF93CF9300D000D0CDB7DEB784B7877F51 -:10F1F00084BF88E10FB6F89480936000109260009D -:10F200000FBE80E090E020E80FB6F89420936100F4 -:10F21000809361000FBE11E015BF82E085BFA8D3C7 -:10F2200010936F0083E080938100789479E0672EDB -:10F230008FC224E02093E9008091E80082FF87C21A -:10F2400053DF182F853419F410920F0103C0843551 -:10F2500019F44ADF8DE051C28C34E1F38035D1F3EB -:10F26000843711F484E49AC0813611F489E545C2EB -:10F270008134F1F439DF382E330C22247101002758 -:10F28000F7FC0095102FE0928C01F0928D01009315 -:10F290008E0110938F0128DF90E0880F991FAA2715 -:10F2A00097FDA095BA2F8E299F29A02BB12BF6C1CF -:10F2B000803711F483E521C2833559F400E011E071 -:10F2C000D8018D918D0128DFB1E007301B07C1F710 -:10F2D00015C2863521F481E31FDF80E30EC2833738 -:10F2E00031F482E819DF87E917DF8EE106C285363F -:10F2F00029F580E090E0A0E0B0E023E0FC01A093DD -:10F300005B0020935700E89507B600FCFDCF35E081 -:10F31000FC01A0935B0030935700E89507B600FC12 -:10F32000FDCF80509F4FAF4FBF4F803060EF9607AB -:10F3300061E0A60760E0B60701F78CCF8C3649F490 -:10F34000D3DE8095E1E0F0E0082E60925700E8956A -:10F3500081CF823731F4E1E0F0E060925700849190 -:10F36000CCC1863431F4E0E0F0E060925700849143 -:10F37000C4C18E3431F4E3E0F0E060925700849130 -:10F38000BCC1813531F4E2E0F0E060925700849135 -:10F39000B4C1823631F489E5BFDE81E0BDDE80E0B4 -:10F3A000ACC1823419F0873609F0F5C09DDE082F14 -:10F3B0009BDEF82E99DE882E8554823008F09CC1A1 -:10F3C0000A8319822F2D30E089819A81282B392BCD -:10F3D0003C832B83173609F055C091E19093570079 -:10F3E000E895DD2449C0E0908C01F0908D010091FA -:10F3F0008E0110918F01A6E48A1609F58D2D90E0FB -:10F40000A0E0B0E08E299F29A02BB12BABBFFC015F -:10F41000879182DEDD2081F082E090E0A0E0B0E024 -:10F42000E80EF91E0A1F1B1FE0928C01F0928D015D -:10F4300000938E0110938F0191E0D92618C0D80156 -:10F44000C701B695A7959795879519D565DE82E092 -:10F4500090E0A0E0B0E0E80EF91E0A1F1B1FE0924A -:10F460008C01F0928D0100938E0110938F01AB817E -:10F47000BC811197BC83AB83EB81FC81EF2B09F03E -:10F48000B2CF3CC1A0908C01B0908D01C0908E0194 -:10F49000D0908F01F6E48F1609F067C023E0F501E4 -:10F4A000C0925B0020935700E89507B600FCFDCFA3 -:10F4B0005CC036E4831681F5992049F1E0908C0117 -:10F4C000F0908D0100918E0110918F010DDE582E6C -:10F4D0004424872D90E08429952961E00C01F701EF -:10F4E00000935B0060935700E895112482E090E060 -:10F4F000A0E0B0E0E80EF91E0A1F1B1FE0928C018D -:10F50000F0928D0100938E0110938F0102C0ECDD0B -:10F51000782E91E0992623C0E0908C01F0908D0127 -:10F5200000918E0110918F0116950795F794E7943D -:10F53000DBDD682FC701ABD480918C0190918D01E8 -:10F54000A0918E01B0918F010296A11DB11D8093F3 -:10F550008C0190938D01A0938E01B0938F01AB81AC -:10F56000BC811197BC83AB8302C077249924EB81C3 -:10F57000FC81EF2B09F09DCFF6E48F1609F06ACEDF -:10F5800025E0F501C0925B0020935700E89507B68F -:10F5900000FCFDCF5FCE8334A1F4E0908C01F090AD -:10F5A0008D0100918E0110918F019EDD90E031E080 -:10F5B0000C01F70100935B0030935700E89511248C -:10F5C00049CE833639F5E0908C01F0908D010091A1 -:10F5D0008E0110918F0188DDA8019701216090E0D4 -:10F5E00061E00C01F90140935B0060935700E895DE -:10F5F000112482E090E0A0E0B0E0E80EF91E0A1FBE -:10F600001B1FE0928C01F0928D0100938E011093EC -:10F610008F0120CE8D3699F480918C0190918D01CF -:10F62000A0918E01B0918F0125E0FC01A0935B00B9 -:10F6300020935700E89507B600FCFDCF0BCE82352E -:10F6400081F4E0908C01F0908D0100918E01109179 -:10F650008F010BBFF701E790F6908F2D5DDD8E2DAA -:10F660004CC0843421F5E0908C01F0908D01009124 -:10F670008E0110918F0116950795F794E79434DD6C -:10F68000682FC70104D480918C0190918D01A091C5 -:10F690008E01B0918F010296A11DB11D80938C0146 -:10F6A00090938D01A0938E01B0938F01D3CD8436BA -:10F6B00009F5E0908C01F0908D0100918E01109180 -:10F6C0008F01D801C701B695A79597958795D7D390 -:10F6D00023DD82E090E0A0E0B0E0E80EF91E0A1F12 -:10F6E0001B1FE0928C01F0928D0100938E0110930C -:10F6F0008F0104C08B3111F08FE30EDD93E0909306 -:10F70000E9009091E8008091E8008E778093E8000E -:10F7100095FF04C010C08EB38823C9F08091E80023 -:10F7200080FFF9CF8091E8008E778093E80003C0D6 -:10F730008EB3882361F08091E80080FFF9CFA4E0C8 -:10F74000A093E9008091E8008B778093E80085D34F -:10F7500080910F01882309F06CCD8091E0008160D9 -:10F760008093E0002CE088E190E00FB6F894A89533 -:10F77000809360000FBE20936000FFCF9B01AC011F -:10F7800007B600FCFDCFF999FECF83E0F901409365 -:10F790005B0080935700E89581E180935700E895DE -:10F7A00008959B01AC0107B600FCFDCFF999FECF8F -:10F7B00085E0F90140935B0080935700E89581E173 -:10F7C00080935700E89508950F931F938B019C0138 -:10F7D00007B600FCFDCFF999FECF81E00A01F801E0 -:10F7E00020935B0080935700E89511241F910F919F -:10F7F000089521E2FC01209357002491822F08955F -:10F8000029E0FC01209357002491822F0895E1E024 -:10F81000F0E089E08093570084910895982F07B60F -:10F8200000FCFDCFF999FECF909589E0E1E0F0E092 -:10F83000092E80935700E8950895FA01923071F0EF -:10F84000933089F0913029F480E191E022E130E0B9 -:10F8500015C080E090E020E030E010C082E291E04E -:10F860002EE330E00BC0882329F480E691E024E009 -:10F8700030E004C084E691E026E230E091838083AA -:10F88000C90108958093E9008091EB008160809325 -:10F89000EB001092ED006093EC004093ED0080913E -:10F8A000EE00881F8827881F089580919201882381 -:10F8B0008CF403C08EB38823B1F08091E80082FFFE -:10F8C000F9CF8091E8008B778093E80008958EB39C -:10F8D000882349F08091E80080FFF9CF8091E8000B -:10F8E0008E778093E8000895EF92FF920F931F9315 -:10F8F00048D04FD008ED10E0F80180818F778083E9 -:10F9000080818068808380818F7D8083E7EDF0E057 -:10F9100080818068808319BC1EBA1092900180EEAD -:10F92000E82EF12CF70180818B7F8083F8018081A4 -:10F930008160808380E060E042E0A4DFE1EEF0E0FF -:10F9400080818E7F8083E2EEF0E080818160808321 -:10F95000808188608083F70180818E7F8083F801B9 -:10F960008081806180831F910F91FF90EF900895B7 -:10F97000E7EDF0E080818160808381E080939101F8 -:10F98000B3CFE8EDF0E080818C7F80831092E200BD -:10F9900008951092DA001092E10008951F920F92DC -:10F9A0000FB60F920BB60F9211242F933F934F93E4 -:10F9B0005F936F937F938F939F93AF93BF93EF93D7 -:10F9C000FF938091DA0080FF1BC08091D80080FFF8 -:10F9D00017C08091DA008E7F8093DA008091D90081 -:10F9E00080FF0BC084E189BD86E189BD09B400FEBA -:10F9F000FDCF81E08EBB30D203C019BC1EBA2CD221 -:10FA00008091E10080FF17C08091E20080FF13C069 -:10FA10008091E2008E7F8093E2008091E20080611D -:10FA20008093E2008091D80080628093D80019BC56 -:10FA300085E08EBB11D28091E10084FF2CC08091C3 -:10FA4000E20084FF28C084E189BD86E189BD09B454 -:10FA500000FEFDCF8091D8008F7D8093D8008091EB -:10FA6000E1008F7E8093E1008091E2008F7E8093A1 -:10FA7000E2008091E20081608093E2008091900139 -:10FA8000882331F48091E30087FD02C081E001C04A -:10FA900084E08EBBE1D18091E10083FF21C08091A1 -:10FAA000E20083FF1DC08091E100877F8093E10029 -:10FAB00082E08EBB109290018091E1008E7F809356 -:10FAC000E1008091E2008E7F8093E2008091E2006D -:10FAD00080618093E20080E060E042E0D3DEBCD150 -:10FAE000FF91EF91BF91AF919F918F917F916F9116 -:10FAF0005F914F913F912F910F900BBE0F900FBED2 -:10FB00000F901F9018959C01409198015091990178 -:10FB10004617570718F4F90190E03CC061157105CC -:10FB200011F0AB01F8CF8091E8008E778093E80068 -:10FB300040E050E0F0CF8EB38823E9F18530E9F161 -:10FB40008091E80083FF02C081E008958091E80081 -:10FB500082FD2BC08091E80080FF1CC02091F20044 -:10FB60003091F30007C081918093F10041505040E3 -:10FB70002F5F3F4F4115510519F02830310598F39B -:10FB800090E02830310509F491E08091E8008E770B -:10FB90008093E8004115510571F6992361F605C07F -:10FBA0008EB3882341F0853041F08091E80082FFD8 -:10FBB000F7CF80E0089582E0089583E008959C01E6 -:10FBC0006115710529F48091E8008B778093E80036 -:10FBD000F90121C08EB3882369F1853069F18091E4 -:10FBE000E80083FF02C081E008958091E80082FF71 -:10FBF000F1CF06C08091F10081936150704031F0E7 -:10FC00008091F2009091F300892BA1F78091E80098 -:10FC10008B778093E80061157105E1F605C08EB31E -:10FC2000882341F0853041F08091E80080FFF7CFD4 -:10FC300080E0089582E0089583E008950F931F9374 -:10FC4000DF93CF9300D0CDB7DEB7E2E9F1E080914A -:10FC5000F100819381E0EA39F807C9F775DA8091FC -:10FC6000E80083FFE4C08091920190919301953068 -:10FC700009F46DC0963040F4913081F1913070F00C -:10FC8000933009F0D4C02AC0983009F4A3C0993049 -:10FC900009F4B2C0963009F0CAC07CC0803809F4BB -:10FCA000C6C0823809F0C3C0809196018F708093DE -:10FCB000E9008091EB001092E9002091E800277F95 -:10FCC0002093E80090E025E0969587952A95E1F746 -:10FCD00081708093F1001092F10087C0882319F0A1 -:10FCE000823009F0A4C08F71823009F0A0C08091E9 -:10FCF0009401882331F5209196012F7009F497C063 -:10FD00002093E9008091EB0080FF1BC0933021F429 -:10FD10008091EB00806213C08091EB008061809342 -:10FD2000EB0081E090E002C0880F991F2A95E2F76E -:10FD30008093EA001092EA008091EB008860809343 -:10FD4000EB001092E9008091E800877F51C0882382 -:10FD500009F06DC0109194011F770FB7F89480914E -:10FD6000E800877F8093E800A0DD8091E80080FFB5 -:10FD7000FCCF8091E3008078812B8093E300806842 -:10FD80008093E300112311F482E001C083E08EBB75 -:10FD90000FBF4DC08058823008F049C08091940157 -:10FDA0009091950160919601AE014F5F5F4F45DDE7 -:10FDB000BC01009709F43BC08091E800877F8093E5 -:10FDC000E80089819A819FDE8091E8008B7780939B -:10FDD000E8002DC0803859F58091E800877F809336 -:10FDE000E800809190018093F1008091E8008E7787 -:10FDF0008093E8005ADD1BC08823C9F490919401D8 -:10FE00009230A8F48091E800877F8093E800909377 -:10FE100090014BDD80919001882331F48091E300C3 -:10FE200087FD02C081E001C084E08EBBBDD9809116 -:10FE3000E80083FF0AC08091EB0080628093EB00B2 -:10FE40008091E800877F8093E8000F900F90CF911A -:10FE5000DF911F910F91089508951F938EB388230A -:10FE600061F01091E9001092E9008091E80083FFB1 -:10FE700001C0E4DE1F701093E9001F910895F99905 -:10FE8000FECF92BD81BDF89A992780B50895262F9F -:10FE9000F999FECF1FBA92BD81BD20BD0FB6F8946F -:0EFEA000FA9AF99A0FBE01960895F894FFCFD2 -:10FEAE004C55464143444300000000000000080149 -:10FEBE001201100102000008EB034A2000010001AC -:10FECE00000109023E000201008032090400000117 -:10FEDE000202010005240010010424020605240676 -:10FEEE000001070582030800FF09040100020A0051 -:10FEFE00000007050402100001070583021000012F -:10FF0E00040309042603410056005200200043005A -:10FF1E0044004300200042006F006F0074006C002C -:0CFF2E006F0061006400650072000000BC -:10FFE000CDCBDFCBF1CB05CC0BCC11CC17CC0000AB -:10FFF0000000000000000000000000000000FBDC2A -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BootloaderHID.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BootloaderHID.hex deleted file mode 100644 index 177419b44..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BootloaderHID.hex +++ /dev/null @@ -1,139 +0,0 @@ -:020000021000EC -:10F000004BC0000077C0000075C0000073C0000056 -:10F0100071C000006FC000006DC000006BC0000038 -:10F0200069C0000067C0000028C2000063C0000083 -:10F0300061C000005FC000005DC000005BC0000058 -:10F0400059C0000057C0000055C0000053C0000068 -:10F0500051C000004FC000004DC000004BC0000078 -:10F0600049C0000047C0000045C0000043C0000088 -:10F0700041C000003FC000003DC000003BC0000098 -:10F0800039C0000037C0000035C0000033C00000A8 -:10F0900031C000002FC0000011241FBECFEFD0E20E -:10F0A000DEBFCDBF04B603FE0EC080915401909127 -:10F0B000550182349C4D39F410925501109254013F -:10F0C000E0E0F0E0099511E0A0E0B1E0E8E2F8EF5F -:10F0D00001E00BBF02C007900D92AA34B107D9F727 -:10F0E00021E0AAE4B1E001C01D92A435B207E1F726 -:10F0F00002D098C385CF84B7877F84BF88E10FB6DD -:10F10000F89480936000109260000FBE81E085BF8C -:10F1100082E085BF97D1789480910001882311F017 -:10F1200066D3FACF8091E00081608093E00082E4B2 -:10F130009CED90935501809354012CE088E190E080 -:10F140000FB6F894A895809360000FBE20936000DE -:10F15000FFCF42E361EC81E002C1CF92DF92EF92F8 -:10F16000FF921F93CF93DF9380914C018F77813271 -:10F1700009F075C080914D01893009F070C080910F -:10F18000E800877F8093E8008091E80082FFFCCF51 -:10F190009091F1008091F100492F582F60E070E0CC -:10F1A000B62FA52F942F88274F3F5F4F19F4109249 -:10F1B00000013EC023E0FC01A0935B0020935700B8 -:10F1C000E89507B600FCFDCF20E030E011E040916B -:10F1D000F2005091F300452B09F437C05091F10033 -:10F1E0004091F100C52FD42FA901440F551F6C0188 -:10F1F0007D01C40ED51EE11CF11C0E01F601E0924A -:10F200005B0010935700E89511242F5F3F4F203883 -:10F210003105E9F625E0FC01A0935B00209357003F -:10F22000E89507B600FCFDCF81E180935700E89593 -:10F230008091E8008B778093E800DF91CF911F9158 -:10F24000FF90EF90DF90CF909EC04091E8004B7709 -:10F250004093E8004091E80042FFFCCFBFCFDF9130 -:10F26000CF911F91FF90EF90DF90CF900895913054 -:10F2700049F0923061F0913279F489E090E023E135 -:10F2800031E00EC082E190E023E231E009C082E289 -:10F2900090E021E031E004C085E190E025E331E039 -:10F2A000FA01318320830895209152013091530156 -:10F2B0002617370748F06115710539F42091E800E9 -:10F2C0002E772093E80001C0B901FC0120E0611510 -:10F2D000710591F18EB38823E1F18530E1F18091E0 -:10F2E000E80083FD3AC08091E80082FF06C080916B -:10F2F000E80082FF24C080E008958091E80080FF4C -:10F30000E6CF8091F2009091F3006115710551F004 -:10F310008830910538F421912093F10061507109F2 -:10F320000196F3CF21E0089709F020E08091E800F2 -:10F330008E778093E800CBCF2111CCCFD8CF8EB37E -:10F34000882339F0853039F08091E80083FFCFCFF2 -:10F3500004C082E0089583E0089581E008958F70ED -:10F360008093E900EBEEF0E0808181608083EDEE38 -:10F37000F0E010826093EC0040838091EE00881FE3 -:10F380008827881F089580914C0187FD05C08091D2 -:10F39000E80080FF0DC010C08091E80082FD04C02D -:10F3A0008EB38111F9CF08958091E8008B7707C063 -:10F3B0008EB38111ECCF08958091E8008E77809311 -:10F3C000E80008950F931F93CF93DF9349D050D057 -:10F3D000C8EDD0E088818F778883888180688883B2 -:10F3E00088818F7D8883E7EDF0E08081806880836D -:10F3F00019BC1EBA10924A0100EE10E0F80180819B -:10F400008B7F808388818160888342E060E080E038 -:10F41000A6DFE1EEF0E080818E7F8083E2EEF0E017 -:10F42000808181608083808188608083F801808111 -:10F430008E7F8083888180618883DF91CF911F9147 -:10F440000F910895E8EDF0E080818F7E8083E7EDF5 -:10F45000F0E080818160808381E080934B01B2CFB6 -:10F46000E8EDF0E080818C7F80831092E2000895C7 -:10F470001092DA001092E10008951F920F920FB6D9 -:10F480000F9211240BB60F922F933F934F935F93DC -:10F490006F937F938F939F93AF93BF93EF93FF935C -:10F4A0008091DA0080FF1BC08091D80080FF17C0D8 -:10F4B0008091DA008E7F8093DA008091D90080FFFE -:10F4C0000BC084E189BD86E189BD09B400FEFDCF92 -:10F4D00081E08EBB8BD103C019BC1EBA87D180914D -:10F4E000E10080FF17C08091E20080FF13C080918F -:10F4F000E2008E7F8093E2008091E2008061809341 -:10F50000E2008091D80080628093D80019BC85E029 -:10F510008EBB6CD18091E10084FF2EC08091E2000F -:10F5200084FF2AC084E189BD86E189BD09B400FE5B -:10F53000FDCF8091D8008F7D8093D8008091E1002D -:10F540008F7E8093E1008091E2008F7E8093E200C5 -:10F550008091E20081608093E20080914A018823DB -:10F5600011F084E007C08091E30087FF02C083E0D0 -:10F5700001C081E08EBB3AD18091E10083FF21C0C0 -:10F580008091E20083FF1DC08091E100877F80931E -:10F59000E10082E08EBB10924A018091E1008E7FF3 -:10F5A0008093E1008091E2008E7F8093E200809161 -:10F5B000E20080618093E20042E060E080E0CFDE24 -:10F5C00015D1FF91EF91BF91AF919F918F917F9155 -:10F5D0006F915F914F913F912F910F900BBE0F90C4 -:10F5E0000FBE0F901F9018951F93CF93DF9300D0FD -:10F5F000CDB7DEB7ECE4F1E08091F100819381E0DA -:10F60000E435F807C9F7A9DD8091E80083FFDAC087 -:10F6100090914C0180914D01853009F465C030F422 -:10F62000813059F168F0833041F1CCC0883009F461 -:10F630009CC0893009F4ABC0863009F0C3C075C0E6 -:10F64000903881F0923809F0BDC0809150018F70E0 -:10F650008093E9009091EB0095FB992790F9109227 -:10F66000E90001C090E08091E800877F8093E80086 -:10F670009093F1001092F10083C0292F2D7F09F0A3 -:10F68000A1C0923009F09EC090914E01911126C008 -:10F69000209150012F7009F495C02093E9009091BA -:10F6A000EB0090FF1BC0833021F48091EB0080625F -:10F6B00013C08091EB0080618093EB0081E090E0CB -:10F6C000022E01C0880F0A94EAF78093EA00109294 -:10F6D000EA008091EB0088608093EB001092E900D3 -:10F6E0008091E800877F4FC091116CC010914E014E -:10F6F0001F778091E3008078812B8093E3008091D5 -:10F70000E800877F8093E8003EDE8091E80080FF7C -:10F71000FCCF8091E30080688093E300112311F017 -:10F7200083E001C082E08EBB4DC09058923008F05B -:10F7300049C0AE014F5F5F4F6091500180914E0113 -:10F7400090914F0194DD009709F43CC02091E800AE -:10F75000277F2093E800BC0189819A81A5DD8091F3 -:10F76000E8008B778093E8002DC0903859F58091A0 -:10F77000E800877F8093E80080914A018093F10040 -:10F780008091E8008E778093E800FDDD1BC0911129 -:10F7900019C090914E019230A8F48091E800877FC3 -:10F7A0008093E80090934A01EEDD80914A01811137 -:10F7B00004C08091E30087FF02C084E001C081E0C3 -:10F7C0008EBBC7DC8091E80083FF0AC08091E8000F -:10F7D000877F8093E8008091EB0080628093EB004C -:10F7E0000F900F90DF91CF911F9108950895CF93BF -:10F7F0008EB38823A9F08091E9008F709091EC007E -:10F8000090FF02C090E801C090E0C92FC82B109271 -:10F81000E9008091E80083FDE7DECF70C093E90046 -:08F82000CF910895F894FFCF89 -:10F8280001090222000101008032090400000103DD -:10F8380000000009211101000122150007058103BC -:10F848004000051201100100000008EB03672001C9 -:10F85800000000000106DCFF09FBA10109021500F8 -:0AF8680025FF75089602019102C009 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/Brainwave-646-LUFA.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/Brainwave-646-LUFA.hex deleted file mode 100644 index fed0b591d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/Brainwave-646-LUFA.hex +++ /dev/null @@ -1,239 +0,0 @@ -:020000021000EC -:10F000004BC0000064C0000062C0000060C000008F -:10F010005EC000005CC000005AC0000058C0000084 -:10F0200056C0000054C000006FC4000050C0000073 -:10F030004EC000004CC000004AC0000048C00000A4 -:10F0400046C0000044C0000042C0000040C00000B4 -:10F050003EC000003CC000003AC0000038C00000C4 -:10F0600036C0000034C0000032C0000030C00000D4 -:10F070002EC000002CC000002AC0000028C00000E4 -:10F0800026C0000024C0000022C0000020C00000F4 -:10F090001EC000001CC0000011241FBECFEFD0E135 -:10F0A000DEBFCDBF11E0A0E0B1E0E2E2FEEF02C0C2 -:10F0B00005900D92AC38B107D9F711E0ACE8B1E09A -:10F0C00001C01D92AD39B107E1F7FCD2A8C698CFB7 -:10F0D00084E08093E9000DC08091E8008B778093F5 -:10F0E000E80003C08EB3882359F08091E80082FFC6 -:10F0F000F9CF8091E80085FFEFCF8091F10008956E -:10F1000080E0089593E09093E9009091E80095FDE8 -:10F110000DC09091E8009E779093E80003C09EB3E5 -:10F12000992331F09091E80090FFF9CF8093F1009E -:10F13000089584B7877F84BF88E10FB6F8948093E1 -:10F140006000109260000FBE90E080E80FB6F89467 -:10F1500080936100909361000FBE81E085BF82E0E3 -:10F1600085BFBCC382E061EC42E03ED383E061E84E -:10F1700042E13AD384E060E842E136C380919601EF -:10F180008032B1F0813239F580919501813A19F5DB -:10F190008091E800877F8093E80088E091E067E055 -:10F1A00070E07BD58091E8008B778093E80008952C -:10F1B00080919501813279F48091E800877F809376 -:10F1C000E80088E091E067E070E0C2D58091E80057 -:10F1D0008E778093E80008952F923F924F925F922E -:10F1E0006F927F929F92AF92BF92CF92DF92EF92F7 -:10F1F000FF920F931F93DF93CF930F92CDB7DEB79C -:10F2000084E08093E9008091E80082FF48C2109278 -:10F210008C015EDF182F8C3409F4EEC1803509F4BF -:10F22000EBC1843529F0853429F410920F01E4C133 -:10F230004FDFE2C1843711F484E448C0813611F411 -:10F2400089E503C28134F1F443DF382F330F20E026 -:10F2500079010027F7FC0095102FE0928F01F092C2 -:10F260009001009391011093920132DF90E0880F9A -:10F27000991FAA2797FDA095BA2F8E299F29A02B09 -:10F28000B12BB2C1803711F483E5DFC1833559F466 -:10F2900000E011E0F80181918F0134DFF1E00730E7 -:10F2A0001F07C1F7D3C1863521F481E32BDF80E34B -:10F2B000CCC1833731F482E825DF86E923DF8EE194 -:10F2C000C4C1823631F489E51DDF81E01BDF80E0B7 -:10F2D000BCC18536F9F480E090E0DC0133E025E044 -:10F2E000FC0130935700E89507B600FCFDCF209352 -:10F2F0005700E89507B600FCFDCF8F5F9E4FAF4FDC -:10F30000BF4F8F3E40EF940741E0A40740E0B407B1 -:10F3100039F772C18C3651F4DBDE809599E0E1E07B -:10F32000F0E0082E90935700E89566C1823719F4F3 -:10F33000E1E0F0E00EC0863419F4E0E0F0E009C04E -:10F340008E3419F4E3E0F0E004C0813539F4E2E0F2 -:10F35000F0E089E080935700849177C1833471F4A1 -:10F3600000918F0110919001B3DE90E021E0F8014F -:10F370000C0120935700E89511243EC1833679F49F -:10F3800000918F01109190010160A2DE90E021E0D8 -:10F39000F8010C0120935700E89511241AC18D360D -:10F3A00061F4E0918F01F091900185E08093570026 -:10F3B000E89507B600FCFDCF1FC1823419F08736EF -:10F3C00009F0E9C085DEE82E83DE082F81DEB82E45 -:10F3D0008554823008F038C13E2D20E0202E3324A1 -:10F3E000222A332A173609F054C081E1809357004E -:10F3F000E89510E001E048C0FB2DF63409F5E12F57 -:10F40000F0E080918F0190919001E82BF92B84918D -:10F4100079DE112399F080918F0190919001A09154 -:10F420009101B09192010296A11DB11D80938F01AF -:10F4300090939001A0939101B0939201102721C065 -:10F4400080918F0190919001A0919101B0919201D2 -:10F45000B695A79597958795CCD454DE80918F016A -:10F4600090919001A0919101B09192010296A11DFD -:10F47000B11D80938F0190939001A0939101B0935F -:10F4800092010894210831082114310409F0B4CF05 -:10F49000DDC040908F01509090016090910170907C -:10F4A00092012B2D263409F061C083E0F201809394 -:10F4B0005700E89507B600FCFDCF58C0FB2DF63489 -:10F4C00061F5222331F1E0908F01F090900100DE90 -:10F4D000D82ECC248A2D90E08C299D29F7010C018F -:10F4E00090925700E895112480918F01909190019E -:10F4F000A0919101B09192010296A11DB11D80933E -:10F500008F0190939001A0939101B093920120E01C -:10F5100029C0DEDDA82E21E025C0E0908F01F0900B -:10F520009001009191011091920116950795F79421 -:10F53000E7942983CDDD682FC70163D480918F01C3 -:10F5400090919001A0919101B09192010296A11D1C -:10F55000B11D80938F0190939001A0939101B0937E -:10F560009201298108942108310804C0AA2420E0CE -:10F57000992493942114310409F0A0CFFB2DF63483 -:10F5800009F03AC085E0F20180935700E89507B68C -:10F5900000FCFDCF31C0823551F4E0918F01F09134 -:10F5A000900105911491812FADDD802F4EC08434E0 -:10F5B00029F5E0908F01F090900100919101109158 -:10F5C000920116950795F794E79482DD682FC7019D -:10F5D00018D480918F0190919001A0919101B091E8 -:10F5E00092010296A11DB11D80938F01909390010D -:10F5F000A0939101B09392018DE027C0843611F55C -:10F6000080918F0190919001A0919101B091920110 -:10F61000B695A79597958795ECD374DD80918F016A -:10F6200090919001A0919101B09192010296A11D3B -:10F63000B11D80938F0190939001A0939101B0939D -:10F64000920104C08B3111F08FE35CDD83E0809385 -:10F65000E9009091E8008091E8008E778093E800BF -:10F6600095FF04C010C08EB38823C9F08091E800D4 -:10F6700080FFF9CF8091E8008E778093E80003C087 -:10F680008EB3882361F08091E80080FFF9CF84E099 -:10F690008093E9008091E8008B778093E8000F90D9 -:10F6A000CF91DF911F910F91FF90EF90DF90CF905E -:10F6B000BF90AF909F907F906F905F904F903F90E2 -:10F6C0002F900895EF92FF920F931F93DF93CF93A4 -:10F6D0000F92CDB7DEB784B714BE909160009861E9 -:10F6E000909360001092600010928C0190E0FC01F9 -:10F6F000E270F07081FD0BC0859194912FEF8F3FE8 -:10F70000920729F0E0918D01F0918E01099511DDAC -:10F710006F9A779A789481E010E000E0E0E0F0E002 -:10F72000E590F49025C0898357DD51D30F5F89811F -:10F73000002311F4180F779A011709F477981F3FE7 -:10F7400059F0112351F4813041F080918C018F5F89 -:10F7500080938C0181E001C08FEF90918C019530F6 -:10F7600038F09FEFE9169FEFF90611F010920F01A4 -:10F7700090910F019923B9F68091E0008160809308 -:10F78000E0002CE088E190E00FB6F894A895809313 -:10F7900060000FBE20936000FFCF923049F093309D -:10F7A00061F09130C1F020E030E080E090E017C0DF -:10F7B0002EE330E082E291E012C0882331F4209100 -:10F7C000600130E080E691E00AC02091640130E001 -:10F7D00084E691E004C022E130E080E191E0FA01AA -:10F7E00091838083C90108958093E900EBEEF0E0F6 -:10F7F000808181608083EDEEF0E010826093EC0008 -:10F8000040838091EE00881F8827881F089580918B -:10F81000950187FF11C003C08EB38823B1F080919A -:10F82000E80082FFF9CF8091E8008B778093E800B1 -:10F8300008958EB3882349F08091E80080FFF9CFC6 -:10F840008091E8008E778093E800089550D057D0DB -:10F850008091D800982F9F779093D80080688093EC -:10F86000D80088E189BD89B5826089BD09B400FEF0 -:10F87000FDCF8091D8008F7D8093D8008091D700F4 -:10F8800080688093D7001EBA109293018091E000A7 -:10F890008B7F8093E0008091D80081608093D800B6 -:10F8A00080E060E042E0A0DF8091E1008E7F809305 -:10F8B000E1008091E20081608093E2008091E200AB -:10F8C00088608093E2008091E0008E7F8093E0006A -:10F8D0008091D80080618093D8000895E7EDF0E032 -:10F8E00080818160808381E080939401AFCFE8EDD7 -:10F8F000F0E080818C7F80831092E2000895109266 -:10F90000DA001092E10008951F920F920FB60F9245 -:10F9100011242F933F934F935F936F937F938F9314 -:10F920009F93AF93BF93EF93FF938091DA0080FF93 -:10F9300013C08091D80080FF0FC08091DA008E7FC5 -:10F940008093DA008091D90080FF04C081E08EBBF3 -:10F95000A3D102C01EBAA0D18091E10080FF1CC0DB -:10F960008091E20080FF18C08091E1008E7F80933B -:10F97000E1008091E2008E7F8093E2008091E200BE -:10F9800080618093E2008091D80080628093D800EB -:10F9900019BC85E08EBB80D18091E10084FF2DC031 -:10F9A0008091E20084FF29C088E189BD89B5826029 -:10F9B00089BD09B400FEFDCF8091D8008F7D809372 -:10F9C000D8008091E1008F7E8093E1008091E20079 -:10F9D0008F7E8093E2008091E20081608093E2005C -:10F9E00080919301882321F48091E30087FF02C076 -:10F9F00084E001C081E08EBB4FD18091E10083FFA4 -:10FA000021C08091E20083FF1DC08091E100877FCB -:10FA10008093E10082E08EBB109293018091E1001F -:10FA20008E7F8093E1008091E2008E7F8093E200E0 -:10FA30008091E20080618093E20080E060E042E03B -:10FA4000D3DE2AD18091E10082FF0AC08091E200DA -:10FA500082FF06C08091E1008B7F8093E1001CD182 -:10FA6000FF91EF91BF91AF919F918F917F916F9196 -:10FA70005F914F913F912F910F900FBE0F901F906C -:10FA800018950F931F93DF93CF9300D0CDB7DEB7B8 -:10FA9000E5E9F1E08091F100819381E0ED39F8072B -:10FAA000C9F78091950190919601953009F46BC04A -:10FAB000963040F4913061F1913070F0933009F05C -:10FAC000D5C026C0983009F4A3C0993009F4B2C05B -:10FAD000963009F0CBC07CC0803809F4C8C08238A9 -:10FAE00009F0C4C08091990187708093E9009091DA -:10FAF000EB001092E9008091E800877F8093E80096 -:10FB000081E095FF80E08093F1001092F1008BC0BE -:10FB1000882319F0823009F0A9C08F71823009F072 -:10FB2000A6C080919701882341F520919901277003 -:10FB300009F49DC02093E9008091EB0080FF1DC077 -:10FB400080919601833021F48091EB00806213C094 -:10FB50008091EB0080618093EB0081E090E002C037 -:10FB6000880F991F2A95E2F78093EA001092EA0025 -:10FB70008091EB0088608093EB001092E900809107 -:10FB8000E800877F53C0882309F070C01091970167 -:10FB90001F770FB7F8948091E800877F8093E80083 -:10FBA00036DE8091E80080FFFCCF112311F083E066 -:10FBB00001C082E08EBB8091E3008078812B80932E -:10FBC000E3008091E30080688093E3000FBF4FC0A3 -:10FBD0008058823008F04AC0809197019091980136 -:10FBE00060919901AE014F5F5F4FD7DDBC01009777 -:10FBF00009F43DC08091E800877F8093E800898107 -:10FC00009A814BD08091E8008B778093E8002FC0D9 -:10FC1000803861F58091E800877F8093E8008091CB -:10FC200093018093F1008091E8008E778093E80043 -:10FC3000EEDD1DC08823D1F4909197019230B8F485 -:10FC40008091E800877F8093E80090939301DFDD47 -:10FC500080919301882321F48091E30087FF02C003 -:10FC600084E001C081E08EBB7DDA01C087DA80913B -:10FC7000E80083FF0AC08091EB0080628093EB0074 -:10FC80008091E800877F8093E8000F900F90CF91DC -:10FC9000DF911F910F9108950895282F392FF901B1 -:10FCA00080919B0190919C018617970718F4BC01E5 -:10FCB00020E035C061157105D9F78091E8008E7795 -:10FCC0008093E800F5CF8EB38823F1F18530C1F140 -:10FCD0008091E80083FD36C08091E80082FD2AC053 -:10FCE0008091E80080FF1BC08091F2009091F300AA -:10FCF00006C021912093F10061507040019661157A -:10FD0000710519F088309105A0F321E08830910544 -:10FD100009F020E08091E8008E778093E80061157B -:10FD2000710589F6222379F605C08EB3882361F028 -:10FD3000853061F08091E80082FFF7CF80E0089580 -:10FD400083E0089581E0089582E0089583E00895B6 -:10FD50006115710529F51FC02EB32223A1F12530AD -:10FD600071F12091E80023FD2CC02091E80022FFD2 -:10FD7000F3CFE82FF92F07C08091F1008193CF01D5 -:10FD80006150704041F0CF012091F2003091F300BA -:10FD90002115310589F72091E8002B772093E800A1 -:10FDA00061157105C9F605C08EB3882361F08530F1 -:10FDB00061F08091E80080FFF7CF80E0089583E054 -:10FDC000089581E0089582E0089583E008951F93E7 -:10FDD0008EB3882361F01091E90017701092E9004A -:10FDE0008091E80083FF01C04CDE1093E9001F9171 -:10FDF0000895F999FECF92BD81BDF89A992780B5F3 -:10FE00000895262FF999FECF1FBA92BD81BD20BD5E -:10FE10000FB6F894FA9AF99A0FBE01960895F894DD -:02FE2000FFCF12 -:10FE22004C554641434443000000000000000801D5 -:10FE320012011001020000089A23010001000001D2 -:10FE4200000109023E0002010080320904000001A3 -:10FE52000202010005240010010424020405240604 -:10FE620000010705820308000209040100020A00DA -:10FE720000000705040210000007058302100000BD -:10FE820004030904260341005600520020004300E7 -:10FE920044004300200042006F006F0074006C00B9 -:0CFEA2006F006100640065007200000049 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BrainwavePro-1286-LUFA.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BrainwavePro-1286-LUFA.hex deleted file mode 100644 index 7f88285c5..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/at90usb/BrainwavePro-1286-LUFA.hex +++ /dev/null @@ -1,247 +0,0 @@ -:020000021000EC -:10F000004BC0000066C0000064C0000062C0000089 -:10F0100060C000005EC000005CC000005AC000007C -:10F0200058C0000056C00000ACC4000052C0000030 -:10F0300050C000004EC000004CC000004AC000009C -:10F0400048C0000046C0000044C0000042C00000AC -:10F0500040C000003EC000003CC000003AC00000BC -:10F0600038C0000036C0000034C0000032C00000CC -:10F0700030C000002EC000002CC000002AC00000DC -:10F0800028C0000026C0000024C0000022C00000EC -:10F0900020C000001EC0000011241FBECFEFD0E230 -:10F0A000DEBFCDBF11E0A0E0B1E0E4EAFEEF01E099 -:10F0B0000BBF02C007900D92AC38B107D9F711E031 -:10F0C000ACE8B1E001C01D92AD39B107E1F72FD333 -:10F0D000E7C696CF84E08093E9000DC08091E800F8 -:10F0E0008B778093E80003C08EB3882359F080911A -:10F0F000E80082FFF9CF8091E80085FFEFCF809193 -:10F10000F100089580E0089593E09093E9009091D4 -:10F11000E80095FD0DC09091E8009E779093E8007F -:10F1200003C09EB3992331F09091E80090FFF9CF8E -:10F130008093F100089584B7877F84BF88E10FB67C -:10F14000F89480936000109260000FBE90E080E819 -:10F150000FB6F89480936100909361000FBE81E038 -:10F1600085BF82E085BFF7C382E061EC42E079D3DE -:10F1700083E061E842E175D384E060E842E171C375 -:10F18000809196018032B1F0813239F580919501FC -:10F19000813A19F58091E800877F8093E80088E044 -:10F1A00091E067E070E0BAD58091E8008B778093BA -:10F1B000E800089580919501813279F48091E8000A -:10F1C000877F8093E80088E091E067E070E001D6F7 -:10F1D0008091E8008E778093E80008952F923F9207 -:10F1E0005F926F927F928F929F92AF92BF92CF92D7 -:10F1F000DF92EF92FF920F931F93DF93CF930F92C3 -:10F20000CDB7DEB784E08093E9008091E80082FF0B -:10F210007BC210928C015EDF182F8C3409F421C25E -:10F22000803509F41EC2843529F0853429F4109202 -:10F230000F0117C24FDF15C2843711F484E448C0B0 -:10F24000813611F489E536C28134F1F443DF382F79 -:10F25000330F20E079010027F7FC0095102FE09292 -:10F260008F01F0929001009391011093920132DF8F -:10F2700090E0880F991FAA2797FDA095BA2F8E2995 -:10F280009F29A02BB12BE5C1803711F483E512C271 -:10F29000833559F400E011E0D8018D918D0134DF00 -:10F2A000B1E007301B07C1F706C2863521F481E3C0 -:10F2B0002BDF80E3FFC1833731F482E825DF87E964 -:10F2C00023DF8EE1F7C1823631F489E51DDF81E06D -:10F2D0001BDF80E0EFC1853621F580E090E0DC01A6 -:10F2E00033E025E0FC01A0935B0030935700E895E4 -:10F2F00007B600FCFDCFFC01A0935B0020935700F4 -:10F30000E89507B600FCFDCF8F5F9E4FAF4FBF4F14 -:10F310008F3EE0EF9E07E1E0AE07E0E0BE0711F7A9 -:10F32000A0C18C3651F4D6DE809599E0E1E0F0E0A2 -:10F33000082E90935700E89594C1823719F4E1E0C4 -:10F34000F0E00EC0863419F4E0E0F0E009C08E343D -:10F3500019F4E3E0F0E004C0813539F4E2E0F0E0D4 -:10F3600089E0809357008491A5C18334A1F4E09093 -:10F370008F01F09090010091910110919201AADE0D -:10F3800090E021E00C01F70100935B00209357000F -:10F39000E895112466C18336E1F4E0908F01F09086 -:10F3A0009001009191011091920181E090E0A0E024 -:10F3B000B0E0E82AF92A0A2B1B2B8CDE90E021E032 -:10F3C0000C01F70100935B0020935700E89511248E -:10F3D00035C18D3699F480918F0190919001A09163 -:10F3E0009101B091920125E0FC01A0935B00209374 -:10F3F0005700E89507B600FCFDCF33C1823419F001 -:10F40000873609F0F7C066DEE82E64DE082F62DE7C -:10F41000982E8554823008F04CC13E2D20E0202EDD -:10F420003324222A332A173609F058C081E1809309 -:10F430005700E89510E001E04CC020918F01309119 -:10F4400090014091910150919201992D963419F5B6 -:10F45000812F90E0A0E0B0E0822B932BA42BB52B62 -:10F46000ABBFFC01879150DE112399F080918F0191 -:10F4700090919001A0919101B09192010296A11DED -:10F48000B11D80938F0190939001A0939101B0934F -:10F49000920110271BC0DA01C901B695A79597956F -:10F4A0008795E8D431DE80918F0190919001A091F1 -:10F4B0009101B09192010296A11DB11D80938F011F -:10F4C00090939001A0939101B09392010894210828 -:10F4D00031082114310409F0B0CFEDC0A0908F01A4 -:10F4E000B0909001C0909101D0909201A92DA634C6 -:10F4F00009F069C083E0F501C0925B00809357007A -:10F50000E89507B600FCFDCF5EC0B92DB63491F585 -:10F51000222361F1E0908F01F09090010091910120 -:10F5200010919201D7DD782E6624282D30E026290F -:10F5300037290901F70100935B0050925700E895C5 -:10F54000112480918F0190919001A0919101B0912F -:10F5500092010296A11DB11D80938F01909390019D -:10F56000A0939101B093920120E029C0B3DD882ED1 -:10F5700021E025C0E0908F01F09090010091910171 -:10F580001091920116950795F794E7942983A2DDCF -:10F59000682FC70177D480918F0190919001A0913D -:10F5A0009101B09192010296A11DB11D80938F012E -:10F5B00090939001A0939101B093920129810894B6 -:10F5C0002108310804C0882420E0552453942114D4 -:10F5D000310409F09ACFE92DE63409F042C085E004 -:10F5E000F501C0925B0080935700E89507B600FCD8 -:10F5F000FDCF37C0823581F480918F0190919001C9 -:10F60000A0919101B0919201ABBFFC0107911691BD -:10F61000812F7ADD802F4EC0843429F5E0908F0150 -:10F62000F09090010091910110919201169507952B -:10F63000F794E7944FDD682FC70124D480918F01A0 -:10F6400090919001A0919101B09192010296A11D1B -:10F65000B11D80938F0190939001A0939101B0937D -:10F6600092018DE027C0843611F580918F01909131 -:10F670009001A0919101B0919201B695A7959795AF -:10F680008795F8D341DD80918F0190919001A091F1 -:10F690009101B09192010296A11DB11D80938F013D -:10F6A00090939001A0939101B093920104C08B318B -:10F6B00011F08FE329DD83E08093E9009091E80069 -:10F6C0008091E8008E778093E80095FF04C010C019 -:10F6D0008EB38823C9F08091E80080FFF9CF809134 -:10F6E000E8008E778093E80003C08EB3882361F032 -:10F6F0008091E80080FFF9CF84E08093E900809159 -:10F70000E8008B778093E8000F90CF91DF911F91F5 -:10F710000F91FF90EF90DF90CF90BF90AF909F90B0 -:10F720008F907F906F905F903F902F900895EF9211 -:10F73000FF920F931F93DF93CF930F92CDB7DEB756 -:10F7400084B714BE9091600098619093600010920D -:10F75000600010928C0190E0FC01E270F07081FD7D -:10F760000BC0859194912FEF8F3F920729F0E09184 -:10F770008D01F0918E010995209A289A6F9A779AB7 -:10F780006D9A759A3B9A439AD6DC6F9A779A7894D9 -:10F7900081E010E000E0E0E0F0E0E590F49025C0CA -:10F7A00089831CDD55D30F5F8981002311F4180F65 -:10F7B000779A011709F477981F3F59F0112351F4F4 -:10F7C000813041F080918C018F5F80938C0181E0CA -:10F7D00001C08FEF90918C01923338F09FEFE916C2 -:10F7E0009FEFF90611F010920F0190910F019923EC -:10F7F000B9F68091E00081608093E0002CE088E120 -:10F8000090E00FB6F894A895809360000FBE209307 -:10F810006000FFCF923049F0933061F09130C1F039 -:10F8200020E030E080E090E017C02EE330E082E29C -:10F8300091E012C0882331F42091600130E080E62D -:10F8400091E00AC02091640130E084E691E004C0B8 -:10F8500022E130E080E191E0FA0191838083C901E7 -:10F8600008958093E900EBEEF0E080818160808371 -:10F87000EDEEF0E010826093EC0040838091EE00AA -:10F88000881F8827881F08958091950187FF11C0E0 -:10F8900003C08EB38823B1F08091E80082FFF9CFD6 -:10F8A0008091E8008B778093E80008958EB38823D9 -:10F8B00049F08091E80080FFF9CF8091E8008E77D1 -:10F8C0008093E800089550D057D08091D800982FA9 -:10F8D0009F779093D80080688093D80084E189BD99 -:10F8E00089B5826089BD09B400FEFDCF8091D80042 -:10F8F0008F7D8093D8008091D70080688093D70057 -:10F900001EBA109293018091E0008B7F8093E000FB -:10F910008091D80081608093D80080E060E042E070 -:10F92000A0DF8091E1008E7F8093E1008091E20072 -:10F9300081608093E2008091E20088608093E20021 -:10F940008091E0008E7F8093E0008091D8008061FC -:10F950008093D8000895E7EDF0E080818160808396 -:10F9600081E080939401AFCFE8EDF0E080818C7F5F -:10F9700080831092E20008951092DA001092E10064 -:10F9800008951F920F920FB60F920BB60F9211248B -:10F990002F933F934F935F936F937F938F939F9397 -:10F9A000AF93BF93EF93FF938091DA0080FF13C072 -:10F9B0008091D80080FF0FC08091DA008E7F809305 -:10F9C000DA008091D90080FF04C081E08EBBA5D110 -:10F9D00002C01EBAA2D18091E10080FF1CC08091BC -:10F9E000E20080FF18C08091E1008E7F8093E100EB -:10F9F0008091E2008E7F8093E2008091E20080613E -:10FA00008093E2008091D80080628093D80019BC76 -:10FA100085E08EBB82D18091E10084FF2DC0809172 -:10FA2000E20084FF29C084E189BD89B5826089BD77 -:10FA300009B400FEFDCF8091D8008F7D8093D8005F -:10FA40008091E1008F7E8093E1008091E2008F7EC3 -:10FA50008093E2008091E20081608093E2008091D7 -:10FA60009301882321F48091E30087FF02C084E0A2 -:10FA700001C081E08EBB51D18091E10083FF21C0A4 -:10FA80008091E20083FF1DC08091E100877F809319 -:10FA9000E10082E08EBB109293018091E1008E7FA5 -:10FAA0008093E1008091E2008E7F8093E20080915C -:10FAB000E20080618093E20080E060E042E0D1DE1D -:10FAC0002CD18091E10082FF0AC08091E20082FF88 -:10FAD00006C08091E1008B7F8093E1001ED1FF91F1 -:10FAE000EF91BF91AF919F918F917F916F915F91B6 -:10FAF0004F913F912F910F900BBE0F900FBE0F9023 -:10FB00001F9018950F931F93DF93CF9300D0CDB71D -:10FB1000DEB7E5E9F1E08091F100819381E0ED3914 -:10FB2000F807C9F78091950190919601953009F4F5 -:10FB30006BC0963040F4913061F1913070F09330A9 -:10FB400009F0D5C026C0983009F4A3C0993009F453 -:10FB5000B2C0963009F0CBC07CC0803809F4C8C070 -:10FB6000823809F0C4C08091990187708093E900C0 -:10FB70009091EB001092E9008091E800877F8093DC -:10FB8000E80081E095FF80E08093F1001092F100A1 -:10FB90008BC0882319F0823009F0A9C08F718230A0 -:10FBA00009F0A6C080919701882341F52091990121 -:10FBB000277009F49DC02093E9008091EB0080FF3D -:10FBC0001DC080919601833021F48091EB0080620A -:10FBD00013C08091EB0080618093EB0081E090E0A6 -:10FBE00002C0880F991F2A95E2F78093EA001092CD -:10FBF000EA008091EB0088608093EB001092E900AE -:10FC00008091E800877F53C0882309F070C010916D -:10FC100097011F770FB7F8948091E800877F809352 -:10FC2000E80032DE8091E80080FFFCCF112311F064 -:10FC300083E001C082E08EBB8091E3008078812B5D -:10FC40008093E3008091E30080688093E3000FBF1E -:10FC50004FC08058823008F04AC08091970190913F -:10FC6000980160919901AE014F5F5F4FD3DDBC01F8 -:10FC7000009709F43DC08091E800877F8093E800F9 -:10FC800089819A814BD08091E8008B778093E8003E -:10FC90002FC0803861F58091E800877F8093E8006D -:10FCA000809193018093F1008091E8008E7780939A -:10FCB000E800EADD1DC08823D1F4909197019230CD -:10FCC000B8F48091E800877F8093E80090939301D7 -:10FCD000DBDD80919301882321F48091E30087FF8D -:10FCE00002C084E001C081E08EBB3EDA01C048DA88 -:10FCF0008091E80083FF0AC08091EB0080628093CE -:10FD0000EB008091E800877F8093E8000F900F90D0 -:10FD1000CF91DF911F910F9108950895282F392FCA -:10FD2000F90180919B0190919C018617970718F427 -:10FD3000BC0120E035C061157105D9F78091E8005C -:10FD40008E778093E800F5CF8EB38823F1F185306C -:10FD5000C1F18091E80083FD36C08091E80082FD0A -:10FD60002AC08091E80080FF1BC08091F200909132 -:10FD7000F30006C021912093F1006150704001967C -:10FD80006115710519F088309105A0F321E08830E4 -:10FD9000910509F020E08091E8008E778093E800DB -:10FDA0006115710589F6222379F605C08EB3882383 -:10FDB00061F0853061F08091E80082FFF7CF80E04C -:10FDC000089583E0089581E0089582E0089583E036 -:10FDD00008956115710529F51FC02EB32223A1F1E5 -:10FDE000253071F12091E80023FD2CC02091E8001E -:10FDF00022FFF3CFE82FF92F07C08091F100819304 -:10FE0000CF016150704041F0CF012091F20030915C -:10FE1000F3002115310589F72091E8002B77209315 -:10FE2000E80061157105C9F605C08EB3882361F03D -:10FE3000853061F08091E80080FFF7CF80E0089581 -:10FE400083E0089581E0089582E0089583E00895B5 -:10FE50001F938EB3882361F01091E9001770109200 -:10FE6000E9008091E80083FF01C04CDE1093E900B7 -:10FE70001F910895F999FECF92BD81BDF89A9927F7 -:10FE800080B50895262FF999FECF1FBA92BD81BD86 -:10FE900020BD0FB6F894FA9AF99A0FBE019608950C -:04FEA000F894FFCF04 -:10FEA4004C55464143444300000000000000080153 -:10FEB40012011001020000089A2301000100000150 -:10FEC400000109023E000201008032090400000121 -:10FED4000202010005240010010424020405240682 -:10FEE40000010705820308000209040100020A0058 -:10FEF400000007050402100000070583021000003B -:10FF04000403090426034100560052002000430064 -:10FF140044004300200042006F006F0074006C0036 -:0CFF24006F0061006400650072000000C6 -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c deleted file mode 100644 index 09ef8e7ac..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168.c +++ /dev/null @@ -1,1071 +0,0 @@ -/**********************************************************/ -/* Serial Bootloader for Atmel megaAVR Controllers */ -/* */ -/* tested with ATmega8, ATmega128 and ATmega168 */ -/* should work with other mega's, see code for details */ -/* */ -/* ATmegaBOOT.c */ -/* */ -/* */ -/* 20090308: integrated Mega changes into main bootloader */ -/* source by D. Mellis */ -/* 20080930: hacked for Arduino Mega (with the 1280 */ -/* processor, backwards compatible) */ -/* by D. Cuartielles */ -/* 20070626: hacked for Arduino Diecimila (which auto- */ -/* resets when a USB connection is made to it) */ -/* by D. Mellis */ -/* 20060802: hacked for Arduino by D. Cuartielles */ -/* based on a previous hack by D. Mellis */ -/* and D. Cuartielles */ -/* */ -/* Monitor and debug functions were added to the original */ -/* code by Dr. Erik Lins, chip45.com. (See below) */ -/* */ -/* Thanks to Karl Pitrich for fixing a bootloader pin */ -/* problem and more informative LED blinking! */ -/* */ -/* For the latest version see: */ -/* http://www.chip45.com/ */ -/* */ -/* ------------------------------------------------------ */ -/* */ -/* based on stk500boot.c */ -/* Copyright (c) 2003, Jason P. Kyle */ -/* All rights reserved. */ -/* see avr1.org for original file and information */ -/* */ -/* This program is free software; you can redistribute it */ -/* and/or modify it under the terms of the GNU General */ -/* Public License as published by the Free Software */ -/* Foundation; either version 2 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, write */ -/* to the Free Software Foundation, Inc., */ -/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* */ -/* Licence can be viewed at */ -/* http://www.fsf.org/licenses/gpl.txt */ -/* */ -/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */ -/* m8515,m8535. ATmega161 has a very small boot block so */ -/* isn't supported. */ -/* */ -/* Tested with m168 */ -/**********************************************************/ - -/* $Id$ */ - - -/* some includes */ -#include -#include -#include -#include -#include -#include - -/* the current avr-libc eeprom functions do not support the ATmega168 */ -/* own eeprom write/read functions are used instead */ -#if !defined(__AVR_ATmega168__) || !defined(__AVR_ATmega328P__) -#include -#endif - -/* Use the F_CPU defined in Makefile */ - -/* 20060803: hacked by DojoCorp */ -/* 20070626: hacked by David A. Mellis to decrease waiting time for auto-reset */ -/* set the waiting time for the bootloader */ -/* get this from the Makefile instead */ -/* #define MAX_TIME_COUNT (F_CPU>>4) */ - -/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */ -#define MAX_ERROR_COUNT 5 - -/* set the UART baud rate */ -/* 20060803: hacked by DojoCorp */ -//#define BAUD_RATE 115200 -#ifndef BAUD_RATE -#define BAUD_RATE 19200 -#endif - - -/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */ -/* never allow AVR Studio to do an update !!!! */ -#define HW_VER 0x02 -#define SW_MAJOR 0x01 -#define SW_MINOR 0x10 - - -/* Adjust to suit whatever pin your hardware uses to enter the bootloader */ -/* ATmega128 has two UARTS so two pins are used to enter bootloader and select UART */ -/* ATmega1280 has four UARTS, but for Arduino Mega, we will only use RXD0 to get code */ -/* BL0... means UART0, BL1... means UART1 */ -#ifdef __AVR_ATmega128__ -#define BL_DDR DDRF -#define BL_PORT PORTF -#define BL_PIN PINF -#define BL0 PINF7 -#define BL1 PINF6 -#elif defined __AVR_ATmega1280__ -/* we just don't do anything for the MEGA and enter bootloader on reset anyway*/ -#elif defined __AVR_ATmega1284P_ || defined __AVR_ATmega644P__ - -#else -/* other ATmegas have only one UART, so only one pin is defined to enter bootloader */ -#define BL_DDR DDRD -#define BL_PORT PORTD -#define BL_PIN PIND -#define BL PIND6 -#endif - - -/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */ -/* if monitor functions are included, LED goes on after monitor was entered */ -#if defined __AVR_ATmega128__ || defined __AVR_ATmega1280__ -/* Onboard LED is connected to pin PB7 (e.g. Crumb128, PROBOmega128, Savvy128, Arduino Mega) */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB7 -#elif defined __AVR_ATmega1284P__ || defined __AVR_ATmega644P__ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB0 -#else -/* Onboard LED is connected to pin PB5 in Arduino NG, Diecimila, and Duomilanuove */ -/* other boards like e.g. Crumb8, Crumb168 are using PB2 */ -#define LED_DDR DDRB -#define LED_PORT PORTB -#define LED_PIN PINB -#define LED PINB5 -#endif - - -/* monitor functions will only be compiled when using ATmega128, due to bootblock size constraints */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) -#define MONITOR 1 -#endif - - -/* define various device id's */ -/* manufacturer byte is always the same */ -#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :( - -#if defined __AVR_ATmega1280__ -#define SIG2 0x97 -#define SIG3 0x03 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega1284P__ -#define SIG2 0x97 -#define SIG3 0x05 -#define PAGE_SIZE 0x080U //128 words - -#elif defined __AVR_ATmega1281__ -#define SIG2 0x97 -#define SIG3 0x04 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega644P__ -#define SIG2 0x96 -#define SIG3 0x0A -#define PAGE_SIZE 0x080U //128 words - -#elif defined __AVR_ATmega128__ -#define SIG2 0x97 -#define SIG3 0x02 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega64__ -#define SIG2 0x96 -#define SIG3 0x02 -#define PAGE_SIZE 0x80U //128 words - -#elif defined __AVR_ATmega32__ -#define SIG2 0x95 -#define SIG3 0x02 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega16__ -#define SIG2 0x94 -#define SIG3 0x03 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega8__ -#define SIG2 0x93 -#define SIG3 0x07 -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega88__ -#define SIG2 0x93 -#define SIG3 0x0a -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega168__ -#define SIG2 0x94 -#define SIG3 0x06 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega328P__ -#define SIG2 0x95 -#define SIG3 0x0F -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega162__ -#define SIG2 0x94 -#define SIG3 0x04 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega163__ -#define SIG2 0x94 -#define SIG3 0x02 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega169__ -#define SIG2 0x94 -#define SIG3 0x05 -#define PAGE_SIZE 0x40U //64 words - -#elif defined __AVR_ATmega8515__ -#define SIG2 0x93 -#define SIG3 0x06 -#define PAGE_SIZE 0x20U //32 words - -#elif defined __AVR_ATmega8535__ -#define SIG2 0x93 -#define SIG3 0x08 -#define PAGE_SIZE 0x20U //32 words -#endif - - -/* function prototypes */ -void putch(char); -char getch(void); -void getNch(uint8_t); -void byte_response(uint8_t); -void nothing_response(void); -char gethex(void); -void puthex(char); -void flash_led(uint8_t); - -/* some variables */ -union address_union { - uint16_t word; - uint8_t byte[2]; -} address; - -union length_union { - uint16_t word; - uint8_t byte[2]; -} length; - -struct flags_struct { - unsigned eeprom : 1; - unsigned rampz : 1; -} flags; - -uint8_t buff[256]; -uint8_t address_high; - -uint8_t pagesz=0x80; - -uint8_t i; -uint8_t bootuart = 0; - -uint8_t error_count = 0; - -void (*app_start)(void) = 0x0000; - - -/* main program starts here */ -int main(void) -{ - uint8_t ch,ch2; - uint16_t w; - -#ifdef WATCHDOG_MODS - ch = MCUSR; - MCUSR = 0; - - WDTCSR |= _BV(WDCE) | _BV(WDE); - WDTCSR = 0; - - // Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot. - if (! (ch & _BV(EXTRF))) // if it's a not an external reset... - app_start(); // skip bootloader -#else - asm volatile("nop\n\t"); -#endif - - /* set pin direction for bootloader pin and enable pullup */ - /* for ATmega128, two pins need to be initialized */ -#ifdef __AVR_ATmega128__ - BL_DDR &= ~_BV(BL0); - BL_DDR &= ~_BV(BL1); - BL_PORT |= _BV(BL0); - BL_PORT |= _BV(BL1); -#else - /* We run the bootloader regardless of the state of this pin. Thus, don't - put it in a different state than the other pins. --DAM, 070709 - This also applies to Arduino Mega -- DC, 080930 - BL_DDR &= ~_BV(BL); - BL_PORT |= _BV(BL); - */ -#endif - - -#ifdef __AVR_ATmega128__ - /* check which UART should be used for booting */ - if(bit_is_clear(BL_PIN, BL0)) { - bootuart = 1; - } - else if(bit_is_clear(BL_PIN, BL1)) { - bootuart = 2; - } -#endif - -#if defined __AVR_ATmega1280__ || defined __AVR_ATmega1284P__ || defined __AVR_ATmega644P__ - /* the mega1280 chip has four serial ports ... we could eventually use any of them, or not? */ - /* however, we don't wanna confuse people, to avoid making a mess, we will stick to RXD0, TXD0 */ - bootuart = 1; -#endif - - /* check if flash is programmed already, if not start bootloader anyway */ - if(pgm_read_byte_near(0x0000) != 0xFF) { - -#ifdef __AVR_ATmega128__ - /* no UART was selected, start application */ - if(!bootuart) { - app_start(); - } -#else - /* check if bootloader pin is set low */ - /* we don't start this part neither for the m8, nor m168 */ - //if(bit_is_set(BL_PIN, BL)) { - // app_start(); - // } -#endif - } - -#ifdef __AVR_ATmega128__ - /* no bootuart was selected, default to uart 0 */ - if(!bootuart) { - bootuart = 1; - } -#endif - - - /* initialize UART(s) depending on CPU defined */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR0A = 0x00; - UCSR0C = 0x06; - UCSR0B = _BV(TXEN0)|_BV(RXEN0); - } - if(bootuart == 2) { - UBRR1L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR1H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSR1A = 0x00; - UCSR1C = 0x06; - UCSR1B = _BV(TXEN1)|_BV(RXEN1); - } -#elif defined __AVR_ATmega163__ - UBRR = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRRHI = (F_CPU/(BAUD_RATE*16L)-1) >> 8; - UCSRA = 0x00; - UCSRB = _BV(TXEN)|_BV(RXEN); -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - -#ifdef DOUBLE_SPEED - UCSR0A = (1<> 8; -#else - UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1); - UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8; -#endif - - UCSR0B = (1<>8; // set baud rate - UBRRL = (((F_CPU/BAUD_RATE)/16)-1); - UCSRB = (1<> 8; - UCSRA = 0x00; - UCSRC = 0x06; - UCSRB = _BV(TXEN)|_BV(RXEN); -#endif - -#if defined __AVR_ATmega1280__ - /* Enable internal pull-up resistor on pin D0 (RX), in order - to supress line noise that prevents the bootloader from - timing out (DAM: 20070509) */ - /* feature added to the Arduino Mega --DC: 080930 */ - DDRE &= ~_BV(PINE0); - PORTE |= _BV(PINE0); -#endif - - - /* set LED pin as output */ - LED_DDR |= _BV(LED); - - - /* flash onboard LED to signal entering of bootloader */ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - // 4x for UART0, 5x for UART1 - flash_led(NUM_LED_FLASHES + bootuart); -#else - flash_led(NUM_LED_FLASHES); -#endif - - /* 20050803: by DojoCorp, this is one of the parts provoking the - system to stop listening, cancelled from the original */ - //putch('\0'); - - /* forever loop */ - for (;;) { - - /* get character from UART */ - ch = getch(); - - /* A bunch of if...else if... gives smaller code than switch...case ! */ - - /* Hello is anyone home ? */ - if(ch=='0') { - nothing_response(); - } - - - /* Request programmer ID */ - /* Not using PROGMEM string due to boot block in m128 being beyond 64kB boundry */ - /* Would need to selectively manipulate RAMPZ, and it's only 9 characters anyway so who cares. */ - else if(ch=='1') { - if (getch() == ' ') { - putch(0x14); - putch('A'); - putch('V'); - putch('R'); - putch(' '); - putch('I'); - putch('S'); - putch('P'); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } - } - - - /* AVR ISP/STK500 board commands DON'T CARE so default nothing_response */ - else if(ch=='@') { - ch2 = getch(); - if (ch2>0x85) getch(); - nothing_response(); - } - - - /* AVR ISP/STK500 board requests */ - else if(ch=='A') { - ch2 = getch(); - if(ch2==0x80) byte_response(HW_VER); // Hardware version - else if(ch2==0x81) byte_response(SW_MAJOR); // Software major version - else if(ch2==0x82) byte_response(SW_MINOR); // Software minor version - else if(ch2==0x98) byte_response(0x03); // Unknown but seems to be required by avr studio 3.56 - else byte_response(0x00); // Covers various unnecessary responses we don't care about - } - - - /* Device Parameters DON'T CARE, DEVICE IS FIXED */ - else if(ch=='B') { - getNch(20); - nothing_response(); - } - - - /* Parallel programming stuff DON'T CARE */ - else if(ch=='E') { - getNch(5); - nothing_response(); - } - - - /* P: Enter programming mode */ - /* R: Erase device, don't care as we will erase one page at a time anyway. */ - else if(ch=='P' || ch=='R') { - nothing_response(); - } - - - /* Leave programming mode */ - else if(ch=='Q') { - nothing_response(); -#ifdef WATCHDOG_MODS - // autoreset via watchdog (sneaky!) - WDTCSR = _BV(WDE); - while (1); // 16 ms -#endif - } - - - /* Set address, little endian. EEPROM in bytes, FLASH in words */ - /* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */ - /* This might explain why little endian was used here, big endian used everywhere else. */ - else if(ch=='U') { - address.byte[0] = getch(); - address.byte[1] = getch(); - nothing_response(); - } - - - /* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */ - else if(ch=='V') { - if (getch() == 0x30) { - getch(); - ch = getch(); - getch(); - if (ch == 0) { - byte_response(SIG1); - } else if (ch == 1) { - byte_response(SIG2); - } else { - byte_response(SIG3); - } - } else { - getNch(3); - byte_response(0x00); - } - } - - - /* Write memory, length is big endian and is in bytes */ - else if(ch=='d') { - length.byte[1] = getch(); - length.byte[0] = getch(); - flags.eeprom = 0; - if (getch() == 'E') flags.eeprom = 1; - for (w=0;w127) address_high = 0x01; //Only possible with m128, m256 will need 3rd address byte. FIXME - else address_high = 0x00; -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) - RAMPZ = address_high; -#endif - address.word = address.word << 1; //address * 2 -> byte location - /* if ((length.byte[0] & 0x01) == 0x01) length.word++; //Even up an odd number of bytes */ - if ((length.byte[0] & 0x01)) length.word++; //Even up an odd number of bytes - cli(); //Disable interrupts, just to be sure -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - while(bit_is_set(EECR,EEPE)); //Wait for previous EEPROM writes to complete -#else - while(bit_is_set(EECR,EEWE)); //Wait for previous EEPROM writes to complete -#endif - asm volatile( - "clr r17 \n\t" //page_word_count - "lds r30,address \n\t" //Address of FLASH location (in bytes) - "lds r31,address+1 \n\t" - "ldi r28,lo8(buff) \n\t" //Start of buffer array in RAM - "ldi r29,hi8(buff) \n\t" - "lds r24,length \n\t" //Length of data to be written (in bytes) - "lds r25,length+1 \n\t" - "length_loop: \n\t" //Main loop, repeat for number of words in block - "cpi r17,0x00 \n\t" //If page_word_count=0 then erase page - "brne no_page_erase \n\t" - "wait_spm1: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm1 \n\t" - "ldi r16,0x03 \n\t" //Erase page pointed to by Z - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "wait_spm2: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm2 \n\t" - - "ldi r16,0x11 \n\t" //Re-enable RWW section - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "no_page_erase: \n\t" - "ld r0,Y+ \n\t" //Write 2 bytes into page buffer - "ld r1,Y+ \n\t" - - "wait_spm3: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm3 \n\t" - "ldi r16,0x01 \n\t" //Load r0,r1 into FLASH page buffer - "sts %0,r16 \n\t" - "spm \n\t" - - "inc r17 \n\t" //page_word_count++ - "cpi r17,%1 \n\t" - "brlo same_page \n\t" //Still same page in FLASH - "write_page: \n\t" - "clr r17 \n\t" //New page, write current one first - "wait_spm4: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm4 \n\t" -#ifdef __AVR_ATmega163__ - "andi r30,0x80 \n\t" // m163 requires Z6:Z1 to be zero during page write -#endif - "ldi r16,0x05 \n\t" //Write page pointed to by Z - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" - "ori r30,0x7E \n\t" // recover Z6:Z1 state after page write (had to be zero during write) -#endif - "wait_spm5: \n\t" - "lds r16,%0 \n\t" //Wait for previous spm to complete - "andi r16,1 \n\t" - "cpi r16,1 \n\t" - "breq wait_spm5 \n\t" - "ldi r16,0x11 \n\t" //Re-enable RWW section - "sts %0,r16 \n\t" - "spm \n\t" -#ifdef __AVR_ATmega163__ - ".word 0xFFFF \n\t" - "nop \n\t" -#endif - "same_page: \n\t" - "adiw r30,2 \n\t" //Next word in FLASH - "sbiw r24,2 \n\t" //length-2 - "breq final_write \n\t" //Finished - "rjmp length_loop \n\t" - "final_write: \n\t" - "cpi r17,0 \n\t" - "breq block_done \n\t" - "adiw r24,2 \n\t" //length+2, fool above check on length after short page write - "rjmp write_page \n\t" - "block_done: \n\t" - "clr __zero_reg__ \n\t" //restore zero register -#if defined __AVR_ATmega168__ || __AVR_ATmega328P__ || __AVR_ATmega128__ || __AVR_ATmega1280__ || __AVR_ATmega1281__ || __AVR_ATmega1284P__ || __AVR_ATmega644P__ - : "=m" (SPMCSR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31" -#else - : "=m" (SPMCR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31" -#endif - ); - /* Should really add a wait for RWW section to be enabled, don't actually need it since we never */ - /* exit the bootloader without a power cycle anyhow */ - } - putch(0x14); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } - } - - - /* Read memory block mode, length is big endian. */ - else if(ch=='t') { - length.byte[1] = getch(); - length.byte[0] = getch(); -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if (address.word>0x7FFF) flags.rampz = 1; // No go with m256, FIXME - else flags.rampz = 0; -#endif - address.word = address.word << 1; // address * 2 -> byte location - if (getch() == 'E') flags.eeprom = 1; - else flags.eeprom = 0; - if (getch() == ' ') { // Command terminator - putch(0x14); - for (w=0;w < length.word;w++) { // Can handle odd and even lengths okay - if (flags.eeprom) { // Byte access EEPROM read -#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - while(EECR & (1<= 'a') { - return (a - 'a' + 0x0a); - } else if(a >= '0') { - return(a - '0'); - } - return a; -} - - -char gethex(void) { - return (gethexnib() << 4) + gethexnib(); -} - - -void puthex(char ch) { - char ah; - - ah = ch >> 4; - if(ah >= 0x0a) { - ah = ah - 0x0a + 'a'; - } else { - ah += '0'; - } - - ch &= 0x0f; - if(ch >= 0x0a) { - ch = ch - 0x0a + 'a'; - } else { - ch += '0'; - } - - putch(ah); - putch(ch); -} - - -void putch(char ch) -{ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; - } - else if (bootuart == 2) { - while (!(UCSR1A & _BV(UDRE1))); - UDR1 = ch; - } -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - while (!(UCSR0A & _BV(UDRE0))); - UDR0 = ch; -#else - /* m8,16,32,169,8515,8535,163 */ - while (!(UCSRA & _BV(UDRE))); - UDR = ch; -#endif -} - - -char getch(void) -{ -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - uint32_t count = 0; - if(bootuart == 1) { - while(!(UCSR0A & _BV(RXC0))) { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - - return UDR0; - } - else if(bootuart == 2) { - while(!(UCSR1A & _BV(RXC1))) { - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - - return UDR1; - } - return 0; -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - uint32_t count = 0; - while(!(UCSR0A & _BV(RXC0))){ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - return UDR0; -#else - /* m8,16,32,169,8515,8535,163 */ - uint32_t count = 0; - while(!(UCSRA & _BV(RXC))){ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - /* HACKME:: here is a good place to count times*/ - count++; - if (count > MAX_TIME_COUNT) - app_start(); - } - return UDR; -#endif -} - - -void getNch(uint8_t count) -{ - while(count--) { -#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) - if(bootuart == 1) { - while(!(UCSR0A & _BV(RXC0))); - UDR0; - } - else if(bootuart == 2) { - while(!(UCSR1A & _BV(RXC1))); - UDR1; - } -#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) - getch(); -#else - /* m8,16,32,169,8515,8535,163 */ - /* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/ - //while(!(UCSRA & _BV(RXC))); - //UDR; - getch(); // need to handle time out -#endif - } -} - - -void byte_response(uint8_t val) -{ - if (getch() == ' ') { - putch(0x14); - putch(val); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } -} - - -void nothing_response(void) -{ - if (getch() == ' ') { - putch(0x14); - putch(0x10); - } else { - if (++error_count == MAX_ERROR_COUNT) - app_start(); - } -} - -void flash_led(uint8_t count) -{ - while (count--) { - LED_PORT |= _BV(LED); - _delay_ms(100); - LED_PORT &= ~_BV(LED); - _delay_ms(100); - } -} - - -/* end of file ATmegaBOOT.c */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex deleted file mode 100644 index 36b6e13ea..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p.hex +++ /dev/null @@ -1,130 +0,0 @@ -:020000021000EC -:10F000000C9446F80C9465F80C9465F80C9465F82B -:10F010000C9465F80C9465F80C9465F80C9465F8FC -:10F020000C9465F80C9465F80C9465F80C9465F8EC -:10F030000C9465F80C9465F80C9465F80C9465F8DC -:10F040000C9465F80C9465F80C9465F80C9465F8CC -:10F050000C9465F80C9465F80C9465F80C9465F8BC -:10F060000C9465F80C9465F80C9465F80C9465F8AC -:10F070000C9465F80C9465F80C9465F80C9465F89C -:10F080000C9465F80C9465F80C9465F811241FBE77 -:10F09000CFEFD0E4DEBFCDBF11E0A0E0B1E0E8EDFE -:10F0A000F7EF01E00BBF02C007900D92A230B1074D -:10F0B000D9F712E0A2E0B1E001C01D92AD30B10776 -:10F0C000E1F70E947EF90C94EAFB0C9400F8909111 -:10F0D0000201913019F0923041F008959091C000F2 -:10F0E00095FFFCCF8093C60008959091C80095FFCE -:10F0F000FCCF8093CE0008951F93982F95959595FA -:10F1000095959595905D182F1F701A304CF4105DF1 -:10F11000892F0E9467F8812F0E9467F81F91089538 -:10F12000195A892F0E9467F8812F0E9467F81F9152 -:10F130000895EF92FF920F931F9380910201813007 -:10F1400069F1823031F080E01F910F91FF90EF90D4 -:10F150000895EE24FF2487018091C80087FD17C021 -:10F160000894E11CF11C011D111D81E4E81682E4E4 -:10F17000F8068FE0080780E0180770F3E0910401BB -:10F18000F091050109958091C80087FFE9CF809132 -:10F19000CE001F910F91FF90EF900895EE24FF2471 -:10F1A00087018091C00087FD17C00894E11CF11C05 -:10F1B000011D111D81E4E81682E4F8068FE00807BE -:10F1C00080E0180770F3E0910401F09105010995C2 -:10F1D0008091C00087FFE9CF8091C6001F910F91F9 -:10F1E000FF90EF9008951F930E9499F8182F0E94A6 -:10F1F00067F8113634F410330CF01053812F1F913F -:10F2000008951755812F1F9108951F930E94F3F8B9 -:10F21000182F0E94F3F81295107F810F1F91089507 -:10F2200020910201882339F0213031F0223061F041 -:10F2300081508823C9F708959091C00097FFFCCFB3 -:10F240009091C6008150F5CF9091C80097FFFCCFF8 -:10F250009091CE008150EDCF1F93182F0E9499F806 -:10F26000803281F0809103018F5F809303018530AC -:10F2700011F01F910895E0910401F09105010995A5 -:10F280001F91089584E10E9467F8812F0E9467F81A -:10F2900080E10E9467F8EDCF0E9499F8803271F00A -:10F2A000809103018F5F80930301853009F00895F9 -:10F2B000E0910401F09105010995089584E10E940F -:10F2C00067F880E10E9467F8089515C0289A2FEF2B -:10F2D00031EE44E0215030404040E1F700C00000F2 -:10F2E00028982FEF31EE44E0215030404040E1F7C4 -:10F2F00000C000008150882349F70895EF92FF92E3 -:10F300000F931F93CF93DF93000081E0809302015E -:10F3100080E18093C4001092C5001092C00086E086 -:10F320008093C20088E18093C100209A81E00E940E -:10F3300065F90E9499F88033B1F18133B9F18034D5 -:10F3400009F454C0813409F45AC0823409F469C004 -:10F35000853409F46CC0803531F1823521F1813575 -:10F3600011F1853509F469C0863509F471C0843618 -:10F3700009F47AC0843709F4E1C0853709F43FC144 -:10F38000863709F44AC0809103018F5F809303019F -:10F39000853079F6E0910401F091050109950E940C -:10F3A00099F8803351F60E944CF9C3CF0E9499F826 -:10F3B000803249F784E10E9467F881E40E9467F88F -:10F3C00086E50E9467F882E50E9467F880E20E9465 -:10F3D00067F889E40E9467F883E50E9467F880E592 -:10F3E0000E9467F880E10E9467F8A3CF0E9499F815 -:10F3F0008638C8F20E9499F80E944CF99ACF0E9470 -:10F4000099F8803809F414C1813809F415C182389B -:10F4100009F416C1883909F407C180E00E942CF96B -:10F4200088CF84E10E9410F90E944CF982CF85E0D8 -:10F430000E9410F90E944CF97CCF0E9499F88093A9 -:10F4400006010E9499F8809307010E944CF971CF40 -:10F450000E9499F8803309F405C183E00E9410F9F5 -:10F4600080E00E942CF965CF0E9499F880930902F0 -:10F470000E9499F88093080280910C028E7F8093FD -:10F480000C020E9499F8853409F4FDC080910802AD -:10F49000909109020097A1F068E0E62E61E0F62E57 -:10F4A00000E010E00E9499F8F70181937F010F5F5F -:10F4B0001F4F80910802909109020817190790F3D5 -:10F4C0000E9499F8803209F05ECF80910C0280FF93 -:10F4D000ECC08091060190910701880F991F9093CD -:10F4E000070180930601209108023091090221153D -:10F4F0003105E9F048E0E42E41E0F42E00E010E0B0 -:10F50000F70161917F010E94DCFB809106019091DF -:10F510000701019690930701809306010F5F1F4F2B -:10F5200020910802309109020217130748F384E181 -:10F530000E9467F880E10E9467F8FBCE0E9499F86C -:10F54000809309020E9499F8809308028091060135 -:10F550009091070197FDA3C020910C022D7F20936D -:10F560000C02880F991F90930701809306010E9457 -:10F5700099F8853409F48DC080910C028E7F8093B8 -:10F580000C020E9499F8803209F0D3CE84E10E94E7 -:10F5900067F88091080290910902009709F440C031 -:10F5A00000E010E0809106019091070116C0FC0177 -:10F5B00084910E9467F8809106019091070101965D -:10F5C00090930701809306010F5F1F4F209108025F -:10F5D000309109020217130718F520910C0220FD43 -:10F5E00033C021FFE4CFA0E0B0E080509040AF4FA7 -:10F5F000BF4FABBFFC0187910E9467F8DCCF0E9430 -:10F6000099F8803209F0BFCE84E10E9467F88EE15C -:10F610000E9467F887E90E9467F885E00E9467F812 -:10F6200080E10E9467F885CE83E00E942CF981CEAC -:10F6300082E00E942CF97DCE81E00E942CF979CEE7 -:10F6400080E10E942CF975CE0E94D4FB0E9467F8DD -:10F650008091060190910701019690930701809394 -:10F660000601B2CF0E9499F80E9499F8082F0E94D3 -:10F6700099F8002309F48BC0013009F48CC085E0AF -:10F680000E942CF956CE80910C02816080930C026E -:10F69000FDCE80910C02816080930C0272CF20918C -:10F6A0000C02226020930C025CCF8091070187FD41 -:10F6B00076C010920B0280E08BBF80910601909182 -:10F6C0000701880F991F909307018093060180918D -:10F6D000080280FF09C080910802909109020196FA -:10F6E0009093090280930802F894F999FECF1127AC -:10F6F000E0910601F0910701C8E0D1E08091080295 -:10F7000090910902103091F400915700017001307E -:10F71000D9F303E000935700E8950091570001707A -:10F720000130D9F301E100935700E8950990199051 -:10F730000091570001700130D9F301E000935700A8 -:10F74000E8951395103898F0112700915700017033 -:10F750000130D9F305E000935700E8950091570078 -:10F7600001700130D9F301E100935700E89532961A -:10F77000029709F0C7CF103011F00296E5CF11249F -:10F7800084E10E9467F880E10E9467F8D2CD8EE1A3 -:10F790000E942CF9CECD87E90E942CF9CACDF1E068 -:10F7A000F0930B0281E088CFF999FECF92BD81BD25 -:10F7B000F89A992780B50895262FF999FECF1FBA98 -:10F7C00092BD81BD20BD0FB6F894FA9AF99A0FBE8A -:08F7D00001960895F894FFCFA3 -:02F7D8008000AF -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex deleted file mode 100644 index a897b6755..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1284p_8m.hex +++ /dev/null @@ -1,130 +0,0 @@ -:020000021000EC -:10F000000C9446F80C9465F80C9465F80C9465F82B -:10F010000C9465F80C9465F80C9465F80C9465F8FC -:10F020000C9465F80C9465F80C9465F80C9465F8EC -:10F030000C9465F80C9465F80C9465F80C9465F8DC -:10F040000C9465F80C9465F80C9465F80C9465F8CC -:10F050000C9465F80C9465F80C9465F80C9465F8BC -:10F060000C9465F80C9465F80C9465F80C9465F8AC -:10F070000C9465F80C9465F80C9465F80C9465F89C -:10F080000C9465F80C9465F80C9465F811241FBE77 -:10F09000CFEFD0E4DEBFCDBF11E0A0E0B1E0E8EDFE -:10F0A000F7EF01E00BBF02C007900D92A230B1074D -:10F0B000D9F712E0A2E0B1E001C01D92AD30B10776 -:10F0C000E1F70E947EF90C94EAFB0C9400F8909111 -:10F0D0000201913019F0923041F008959091C000F2 -:10F0E00095FFFCCF8093C60008959091C80095FFCE -:10F0F000FCCF8093CE0008951F93982F95959595FA -:10F1000095959595905D182F1F701A304CF4105DF1 -:10F11000892F0E9467F8812F0E9467F81F91089538 -:10F12000195A892F0E9467F8812F0E9467F81F9152 -:10F130000895EF92FF920F931F9380910201813007 -:10F1400069F1823031F080E01F910F91FF90EF90D4 -:10F150000895EE24FF2487018091C80087FD17C021 -:10F160000894E11CF11C011D111D81E2E81681EAE1 -:10F17000F80687E0080780E0180770F3E0910401C3 -:10F18000F091050109958091C80087FFE9CF809132 -:10F19000CE001F910F91FF90EF900895EE24FF2471 -:10F1A00087018091C00087FD17C00894E11CF11C05 -:10F1B000011D111D81E2E81681EAF80687E00807C3 -:10F1C00080E0180770F3E0910401F09105010995C2 -:10F1D0008091C00087FFE9CF8091C6001F910F91F9 -:10F1E000FF90EF9008951F930E9499F8182F0E94A6 -:10F1F00067F8113634F410330CF01053812F1F913F -:10F2000008951755812F1F9108951F930E94F3F8B9 -:10F21000182F0E94F3F81295107F810F1F91089507 -:10F2200020910201882339F0213031F0223061F041 -:10F2300081508823C9F708959091C00097FFFCCFB3 -:10F240009091C6008150F5CF9091C80097FFFCCFF8 -:10F250009091CE008150EDCF1F93182F0E9499F806 -:10F26000803281F0809103018F5F809303018530AC -:10F2700011F01F910895E0910401F09105010995A5 -:10F280001F91089584E10E9467F8812F0E9467F81A -:10F2900080E10E9467F8EDCF0E9499F8803271F00A -:10F2A000809103018F5F80930301853009F00895F9 -:10F2B000E0910401F09105010995089584E10E940F -:10F2C00067F880E10E9467F8089515C0289A2FEF2B -:10F2D00030E742E0215030404040E1F700C00000FC -:10F2E00028982FEF30E742E0215030404040E1F7CE -:10F2F00000C000008150882349F70895EF92FF92E3 -:10F300000F931F93CF93DF93000081E0809302015E -:10F3100089E18093C4001092C5001092C00086E07D -:10F320008093C20088E18093C100209A81E00E940E -:10F3300065F90E9499F88033B1F18133B9F18034D5 -:10F3400009F454C0813409F45AC0823409F469C004 -:10F35000853409F46CC0803531F1823521F1813575 -:10F3600011F1853509F469C0863509F471C0843618 -:10F3700009F47AC0843709F4E1C0853709F43FC144 -:10F38000863709F44AC0809103018F5F809303019F -:10F39000853079F6E0910401F091050109950E940C -:10F3A00099F8803351F60E944CF9C3CF0E9499F826 -:10F3B000803249F784E10E9467F881E40E9467F88F -:10F3C00086E50E9467F882E50E9467F880E20E9465 -:10F3D00067F889E40E9467F883E50E9467F880E592 -:10F3E0000E9467F880E10E9467F8A3CF0E9499F815 -:10F3F0008638C8F20E9499F80E944CF99ACF0E9470 -:10F4000099F8803809F414C1813809F415C182389B -:10F4100009F416C1883909F407C180E00E942CF96B -:10F4200088CF84E10E9410F90E944CF982CF85E0D8 -:10F430000E9410F90E944CF97CCF0E9499F88093A9 -:10F4400006010E9499F8809307010E944CF971CF40 -:10F450000E9499F8803309F405C183E00E9410F9F5 -:10F4600080E00E942CF965CF0E9499F880930902F0 -:10F470000E9499F88093080280910C028E7F8093FD -:10F480000C020E9499F8853409F4FDC080910802AD -:10F49000909109020097A1F068E0E62E61E0F62E57 -:10F4A00000E010E00E9499F8F70181937F010F5F5F -:10F4B0001F4F80910802909109020817190790F3D5 -:10F4C0000E9499F8803209F05ECF80910C0280FF93 -:10F4D000ECC08091060190910701880F991F9093CD -:10F4E000070180930601209108023091090221153D -:10F4F0003105E9F048E0E42E41E0F42E00E010E0B0 -:10F50000F70161917F010E94DCFB809106019091DF -:10F510000701019690930701809306010F5F1F4F2B -:10F5200020910802309109020217130748F384E181 -:10F530000E9467F880E10E9467F8FBCE0E9499F86C -:10F54000809309020E9499F8809308028091060135 -:10F550009091070197FDA3C020910C022D7F20936D -:10F560000C02880F991F90930701809306010E9457 -:10F5700099F8853409F48DC080910C028E7F8093B8 -:10F580000C020E9499F8803209F0D3CE84E10E94E7 -:10F5900067F88091080290910902009709F440C031 -:10F5A00000E010E0809106019091070116C0FC0177 -:10F5B00084910E9467F8809106019091070101965D -:10F5C00090930701809306010F5F1F4F209108025F -:10F5D000309109020217130718F520910C0220FD43 -:10F5E00033C021FFE4CFA0E0B0E080509040AF4FA7 -:10F5F000BF4FABBFFC0187910E9467F8DCCF0E9430 -:10F6000099F8803209F0BFCE84E10E9467F88EE15C -:10F610000E9467F887E90E9467F885E00E9467F812 -:10F6200080E10E9467F885CE83E00E942CF981CEAC -:10F6300082E00E942CF97DCE81E00E942CF979CEE7 -:10F6400080E10E942CF975CE0E94D4FB0E9467F8DD -:10F650008091060190910701019690930701809394 -:10F660000601B2CF0E9499F80E9499F8082F0E94D3 -:10F6700099F8002309F48BC0013009F48CC085E0AF -:10F680000E942CF956CE80910C02816080930C026E -:10F69000FDCE80910C02816080930C0272CF20918C -:10F6A0000C02226020930C025CCF8091070187FD41 -:10F6B00076C010920B0280E08BBF80910601909182 -:10F6C0000701880F991F909307018093060180918D -:10F6D000080280FF09C080910802909109020196FA -:10F6E0009093090280930802F894F999FECF1127AC -:10F6F000E0910601F0910701C8E0D1E08091080295 -:10F7000090910902103091F400915700017001307E -:10F71000D9F303E000935700E8950091570001707A -:10F720000130D9F301E100935700E8950990199051 -:10F730000091570001700130D9F301E000935700A8 -:10F74000E8951395103898F0112700915700017033 -:10F750000130D9F305E000935700E8950091570078 -:10F7600001700130D9F301E100935700E89532961A -:10F77000029709F0C7CF103011F00296E5CF11249F -:10F7800084E10E9467F880E10E9467F8D2CD8EE1A3 -:10F790000E942CF9CECD87E90E942CF9CACDF1E068 -:10F7A000F0930B0281E088CFF999FECF92BD81BD25 -:10F7B000F89A992780B50895262FF999FECF1FBA98 -:10F7C00092BD81BD20BD0FB6F894FA9AF99A0FBE8A -:08F7D00001960895F894FFCFA3 -:02F7D8008000AF -:040000031000F000F9 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex deleted file mode 100644 index 2678e0727..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/ATmegaBOOT_168_atmega644p.hex +++ /dev/null @@ -1,126 +0,0 @@ -:10F800000C943E7C0C945B7C0C945B7C0C945B7C39 -:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C -:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC -:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC -:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC -:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC -:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC -:10F870000C945B7C0C945B7C0C945B7C11241FBE11 -:10F88000CFEFD0E1DEBFCDBF11E0A0E0B1E0EAEA0A -:10F89000FFEF02C005900D92A230B107D9F712E038 -:10F8A000A2E0B1E001C01D92AD30B107E1F70E94C6 -:10F8B000747D0C94D37F0C94007C90910201913064 -:10F8C00019F0923041F008959091C00095FFFCCF5F -:10F8D0008093C60008959091C80095FFFCCF809357 -:10F8E000CE0008951F93982F95959595959595958C -:10F8F000905D182F1F701A304CF4105D892F0E94F4 -:10F900005D7C812F0E945D7C1F910895195A892F7B -:10F910000E945D7C812F0E945D7C1F910895EF9273 -:10F92000FF920F931F9380910201813069F1823021 -:10F9300031F080E01F910F91FF90EF900895EE2439 -:10F94000FF2487018091C80087FD17C00894E11C3F -:10F95000F11C011D111D81E4E81682E4F8068FE018 -:10F96000080780E0180770F3E0910401F0910501A9 -:10F9700009958091C80087FFE9CF8091CE001F9143 -:10F980000F91FF90EF900895EE24FF24870180915E -:10F99000C00087FD17C00894E11CF11C011D111D5A -:10F9A00081E4E81682E4F8068FE0080780E0180793 -:10F9B00070F3E0910401F091050109958091C00078 -:10F9C00087FFE9CF8091C6001F910F91FF90EF90C4 -:10F9D00008951F930E948F7C182F0E945D7C113622 -:10F9E00034F410330CF01053812F1F9108951755E4 -:10F9F000812F1F9108951F930E94E97C182F0E9468 -:10FA0000E97C1295107F810F1F91089520910201CA -:10FA1000882339F0213031F0223061F08150882381 -:10FA2000C9F708959091C00097FFFCCF9091C60050 -:10FA30008150F5CF9091C80097FFFCCF9091CE00F8 -:10FA40008150EDCF1F93182F0E948F7C803281F060 -:10FA5000809103018F5F80930301853011F01F9126 -:10FA60000895E0910401F091050109951F91089511 -:10FA700084E10E945D7C812F0E945D7C80E10E9478 -:10FA80005D7CEDCF0E948F7C803271F0809103010C -:10FA90008F5F80930301853009F00895E0910401A0 -:10FAA000F09105010995089584E10E945D7C80E153 -:10FAB0000E945D7C089515C0289A2FEF31EE44E036 -:10FAC000215030404040E1F700C0000028982FEF5F -:10FAD00031EE44E0215030404040E1F700C00000EA -:10FAE0008150882349F70895EF92FF920F931F9357 -:10FAF000CF93DF93000081E08093020180E1809347 -:10FB0000C4001092C5001092C00086E08093C2002D -:10FB100088E18093C100209A81E00E945B7D0E9471 -:10FB20008F7C8033B1F18133B9F1803409F454C052 -:10FB3000813409F45AC0823409F469C0853409F467 -:10FB40006CC0803531F1823521F1813511F1853577 -:10FB500009F469C0863509F471C0843609F47AC0A5 -:10FB6000843709F4E1C0853709F439C1863709F4CF -:10FB70004AC0809103018F5F80930301853079F63D -:10FB8000E0910401F091050109950E948F7C80337A -:10FB900051F60E94427DC3CF0E948F7C803249F78C -:10FBA00084E10E945D7C81E40E945D7C86E50E9488 -:10FBB0005D7C82E50E945D7C80E20E945D7C89E440 -:10FBC0000E945D7C83E50E945D7C80E50E945D7CF7 -:10FBD00080E10E945D7CA3CF0E948F7C8638C8F2B2 -:10FBE0000E948F7C0E94427D9ACF0E948F7C803839 -:10FBF00009F40EC1813809F40FC1823809F410C12B -:10FC0000883909F401C180E00E94227D88CF84E117 -:10FC10000E94067D0E94427D82CF85E00E94067D83 -:10FC20000E94427D7CCF0E948F7C809306010E94BF -:10FC30008F7C809307010E94427D71CF0E948F7C50 -:10FC4000803309F4F1C083E00E94067D80E00E94C9 -:10FC5000227D65CF0E948F7C809309020E948F7C59 -:10FC60008093080280910C028E7F80930C020E9488 -:10FC70008F7C853409F4E9C08091080290910902D3 -:10FC80000097A1F068E0E62E61E0F62E00E010E0BB -:10FC90000E948F7CF70181937F010F5F1F4F80913E -:10FCA0000802909109020817190790F30E948F7CAF -:10FCB000803209F05ECF80910C0280FFE5C0809118 -:10FCC000060190910701880F991F90930701809377 -:10FCD0000601209108023091090221153105E9F051 -:10FCE00048E0E42E41E0F42E00E010E0F7016191DD -:10FCF0007F010E94C57F80910601909107010196C6 -:10FD000090930701809306010F5F1F4F2091080217 -:10FD1000309109020217130748F384E10E945D7CC9 -:10FD200080E10E945D7CFBCE0E948F7C8093090263 -:10FD30000E948F7C809308028091060190910701B8 -:10FD400097FD9CC020910C022D7F20930C02880F00 -:10FD5000991F90930701809306010E948F7C853440 -:10FD600009F486C080910C028E7F80930C020E9461 -:10FD70008F7C803209F0D3CE84E10E945D7C20919B -:10FD800008023091090221153105D1F100E010E09F -:10FD900080910601909107010CC041FF5CC0019663 -:10FDA00090930701809306010F5F1F4F02171307FF -:10FDB00038F540910C0240FFF0CF0E94BD7F0E94B9 -:10FDC0005D7C809106019091070101969093070157 -:10FDD000809306012091080230910902E5CF0E942C -:10FDE0008F7C803209F0C5CE84E10E945D7C8EE17B -:10FDF0000E945D7C86E90E945D7C8AE00E945D7CB9 -:10FE000080E10E945D7C8BCE83E00E94227D87CEC4 -:10FE100082E00E94227D83CE81E00E94227D7FCEFF -:10FE200080E10E94227D7BCE0E948F7C0E948F7C8D -:10FE3000082F0E948F7C002309F497C0013009F439 -:10FE400098C08AE00E94227D6ACE80910C02816077 -:10FE500080930C0211CFFC0184910E945D7C209163 -:10FE6000080230910902809106019091070197CF15 -:10FE700080910C02816080930C0279CF20910C025A -:10FE8000226020930C0263CF80910701880F880BBA -:10FE9000817080930B028091060190910701880F79 -:10FEA000991F90930701809306018091080280FFBB -:10FEB00009C080910802909109020196909309026D -:10FEC00080930802F894F999FECF1127E09106017A -:10FED000F0910701C8E0D1E08091080290910902F9 -:10FEE000103091F40091570001700130D9F303E014 -:10FEF00000935700E8950091570001700130D9F345 -:10FF000001E100935700E89509901990009157007E -:10FF100001700130D9F301E000935700E895139583 -:10FF2000103898F011270091570001700130D9F373 -:10FF300005E000935700E8950091570001700130EB -:10FF4000D9F301E100935700E8953296029709F042 -:10FF5000C7CF103011F00296E5CF112484E10E9442 -:10FF60005D7C80E10E945D7CDACD8EE10E94227D85 -:10FF7000D6CD86E90E94227DD2CDF999FECF92BDE1 -:10FF800081BDF89A992780B50895262FF999FECF5B -:10FF90001FBA92BD81BD20BD0FB6F894FA9AF99AA6 -:0AFFA0000FBE01960895F894FFCFFC -:02FFAA008000D5 -:040000030000F80001 -:00000001FF diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/Makefile b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/Makefile deleted file mode 100644 index 3f2bb6156..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/bootloaders/atmega/Makefile +++ /dev/null @@ -1,254 +0,0 @@ -# Makefile for ATmegaBOOT -# E.Lins, 18.7.2005 -# $Id$ -# -# Instructions -# -# To make bootloader .hex file: -# make diecimila -# make lilypad -# make ng -# etc... -# -# To burn bootloader .hex file: -# make diecimila_isp -# make lilypad_isp -# make ng_isp -# etc... - -# program name should not be changed... -PROGRAM = ATmegaBOOT_168 - -# enter the parameters for the avrdude isp tool -ISPTOOL = stk500v2 -ISPPORT = usb -ISPSPEED = -b 115200 - -MCU_TARGET = atmega168 -LDSECTION = --section-start=.text=0x3800 - -# the efuse should really be 0xf8; since, however, only the lower -# three bits of that byte are used on the atmega168, avrdude gets -# confused if you specify 1's for the higher bits, see: -# http://tinker.it/now/2007/02/24/the-tale-of-avrdude-atmega168-and-extended-bits-fuses/ -# -# similarly, the lock bits should be 0xff instead of 0x3f (to -# unlock the bootloader section) and 0xcf instead of 0x0f (to -# lock it), but since the high two bits of the lock byte are -# unused, avrdude would get confused. - -ISPFUSES = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ --e -u -U lock:w:0x3f:m -U efuse:w:0x$(EFUSE):m -U hfuse:w:0x$(HFUSE):m -U lfuse:w:0x$(LFUSE):m -ISPFLASH = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ --U flash:w:$(PROGRAM)_$(TARGET).hex -U lock:w:0x0f:m - -STK500 = "C:\Program Files\Atmel\AVR Tools\STK500\Stk500.exe" -STK500-1 = $(STK500) -e -d$(MCU_TARGET) -pf -vf -if$(PROGRAM)_$(TARGET).hex \ --lFF -LFF -f$(HFUSE)$(LFUSE) -EF8 -ms -q -cUSB -I200kHz -s -wt -STK500-2 = $(STK500) -d$(MCU_TARGET) -ms -q -lCF -LCF -cUSB -I200kHz -s -wt - - -OBJ = $(PROGRAM).o -OPTIMIZE = -O2 - -DEFS = -LIBS = - -CC = avr-gcc - -# Override is only needed by avr-lib build system. - -override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS) -override LDFLAGS = -Wl,$(LDSECTION) -#override LDFLAGS = -Wl,-Map,$(PROGRAM).map,$(LDSECTION) - -OBJCOPY = avr-objcopy -OBJDUMP = avr-objdump - -all: - -lilypad: TARGET = lilypad -lilypad: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3' -lilypad: AVR_FREQ = 8000000L -lilypad: $(PROGRAM)_lilypad.hex - -lilypad_isp: lilypad -lilypad_isp: TARGET = lilypad -lilypad_isp: HFUSE = DD -lilypad_isp: LFUSE = E2 -lilypad_isp: EFUSE = 00 -lilypad_isp: isp - -lilypad_resonator: TARGET = lilypad_resonator -lilypad_resonator: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=3' -lilypad_resonator: AVR_FREQ = 8000000L -lilypad_resonator: $(PROGRAM)_lilypad_resonator.hex - -lilypad_resonator_isp: lilypad_resonator -lilypad_resonator_isp: TARGET = lilypad_resonator -lilypad_resonator_isp: HFUSE = DD -lilypad_resonator_isp: LFUSE = C6 -lilypad_resonator_isp: EFUSE = 00 -lilypad_resonator_isp: isp - -pro8: TARGET = pro_8MHz -pro8: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro8: AVR_FREQ = 8000000L -pro8: $(PROGRAM)_pro_8MHz.hex - -pro8_isp: pro8 -pro8_isp: TARGET = pro_8MHz -pro8_isp: HFUSE = DD -pro8_isp: LFUSE = C6 -pro8_isp: EFUSE = 00 -pro8_isp: isp - -pro16: TARGET = pro_16MHz -pro16: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro16: AVR_FREQ = 16000000L -pro16: $(PROGRAM)_pro_16MHz.hex - -pro16_isp: pro16 -pro16_isp: TARGET = pro_16MHz -pro16_isp: HFUSE = DD -pro16_isp: LFUSE = C6 -pro16_isp: EFUSE = 00 -pro16_isp: isp - -pro20: TARGET = pro_20mhz -pro20: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' '-DWATCHDOG_MODS' -pro20: AVR_FREQ = 20000000L -pro20: $(PROGRAM)_pro_20mhz.hex - -pro20_isp: pro20 -pro20_isp: TARGET = pro_20mhz -pro20_isp: HFUSE = DD -pro20_isp: LFUSE = C6 -pro20_isp: EFUSE = 00 -pro20_isp: isp - -diecimila: TARGET = diecimila -diecimila: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -diecimila: AVR_FREQ = 16000000L -diecimila: $(PROGRAM)_diecimila.hex - -diecimila_isp: diecimila -diecimila_isp: TARGET = diecimila -diecimila_isp: HFUSE = DD -diecimila_isp: LFUSE = FF -diecimila_isp: EFUSE = 00 -diecimila_isp: isp - -ng: TARGET = ng -ng: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3' -ng: AVR_FREQ = 16000000L -ng: $(PROGRAM)_ng.hex - -ng_isp: ng -ng_isp: TARGET = ng -ng_isp: HFUSE = DD -ng_isp: LFUSE = FF -ng_isp: EFUSE = 00 -ng_isp: isp - -atmega328: TARGET = atmega328 -atmega328: MCU_TARGET = atmega328p -atmega328: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=57600 -atmega328: AVR_FREQ = 16000000L -atmega328: LDSECTION = --section-start=.text=0x7800 -atmega328: $(PROGRAM)_atmega328.hex - -atmega328_isp: atmega328 -atmega328_isp: TARGET = atmega328 -atmega328_isp: MCU_TARGET = atmega328p -atmega328_isp: HFUSE = DA -atmega328_isp: LFUSE = FF -atmega328_isp: EFUSE = 05 -atmega328_isp: isp - -atmega328_pro8: TARGET = atmega328_pro_8MHz -atmega328_pro8: MCU_TARGET = atmega328p -atmega328_pro8: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=57600 -DDOUBLE_SPEED -atmega328_pro8: AVR_FREQ = 8000000L -atmega328_pro8: LDSECTION = --section-start=.text=0x7800 -atmega328_pro8: $(PROGRAM)_atmega328_pro_8MHz.hex - -atmega328_pro8_isp: atmega328_pro8 -atmega328_pro8_isp: TARGET = atmega328_pro_8MHz -atmega328_pro8_isp: MCU_TARGET = atmega328p -atmega328_pro8_isp: HFUSE = DA -atmega328_pro8_isp: LFUSE = FF -atmega328_pro8_isp: EFUSE = 05 -atmega328_pro8_isp: isp - -mega: TARGET = atmega1280 -mega: MCU_TARGET = atmega1280 -mega: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' -DBAUD_RATE=57600 -mega: AVR_FREQ = 16000000L -mega: LDSECTION = --section-start=.text=0x1F000 -mega: $(PROGRAM)_atmega1280.hex - -mega_isp: mega -mega_isp: TARGET = atmega1280 -mega_isp: MCU_TARGET = atmega1280 -mega_isp: HFUSE = DA -mega_isp: LFUSE = FF -mega_isp: EFUSE = F5 -mega_isp: isp - -atmega1284p: TARGET = atmega1284p -atmega1284p: MCU_TARGET = atmega1284p -atmega1284p: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=57600' -atmega1284p: AVR_FREQ = 16000000L -atmega1284p: LDSECTION = --section-start=.text=0x1F000 -atmega1284p: $(PROGRAM)_atmega1284p.hex - -atmega1284p_8m: TARGET = atmega1284p -atmega1284p_8m: MCU_TARGET = atmega1284p -atmega1284p_8m: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=19200' -atmega1284p_8m: AVR_FREQ = 8000000L -atmega1284p_8m: LDSECTION = --section-start=.text=0x1F000 -atmega1284p_8m: $(PROGRAM)_atmega1284p_8m.hex - -atmega644p: TARGET = atmega644p -atmega644p: MCU_TARGET = atmega644p -atmega644p: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' '-DBAUD_RATE=57600' -atmega644p: AVR_FREQ = 16000000L -atmega644p: LDSECTION = --section-start=.text=0xF800 -atmega644p: $(PROGRAM)_atmega644p.hex - - -atmega1284p_isp: atmega1284p -atmega1284p_isp: TARGET = atmega1284p -atmega1284p_isp: MCU_TARGET = atmega1284p -atmega1284p_isp: HFUSE = DC -atmega1284p_isp: LFUSE = FF -atmega1284p_isp: EFUSE = FD -atmega1284p_isp: isp - -isp: $(TARGET) - $(ISPFUSES) - $(ISPFLASH) - -isp-stk500: $(PROGRAM)_$(TARGET).hex - $(STK500-1) - $(STK500-2) - -%.elf: $(OBJ) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) - -clean: - rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex - -%.lst: %.elf - $(OBJDUMP) -h -S $< > $@ - -%.hex: %.elf - $(OBJCOPY) -j .text -j .data -O ihex $< $@ - -%.srec: %.elf - $(OBJCOPY) -j .text -j .data -O srec $< $@ - -%.bin: %.elf - $(OBJCOPY) -j .text -j .data -O binary $< $@ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Arduino.h deleted file mode 100644 index 16dd759b3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Arduino.h +++ /dev/null @@ -1,249 +0,0 @@ -/* - Arduino.h - Main include file for the Arduino SDK - Copyright (c) 2005-2013 Arduino Team. 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 Arduino_h -#define Arduino_h - -#include -#include -#include -#include - -#include -#include -#include - -#include "binary.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -void yield(void); - -#define HIGH 0x1 -#define LOW 0x0 - -#define INPUT 0x0 -#define OUTPUT 0x1 -#define INPUT_PULLUP 0x2 - -#define PI 3.1415926535897932384626433832795 -#define HALF_PI 1.5707963267948966192313216916398 -#define TWO_PI 6.283185307179586476925286766559 -#define DEG_TO_RAD 0.017453292519943295769236907684886 -#define RAD_TO_DEG 57.295779513082320876798154814105 -#define EULER 2.718281828459045235360287471352 - -#define SERIAL 0x0 -#define DISPLAY 0x1 - -#define LSBFIRST 0 -#define MSBFIRST 1 - -#define CHANGE 1 -#define FALLING 2 -#define RISING 3 - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) -#define DEFAULT 0 -#define EXTERNAL 1 -#define INTERNAL 2 -#else -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) -#define INTERNAL1V1 2 -#define INTERNAL2V56 3 -#else -#define INTERNAL 3 -#endif -#define DEFAULT 1 -#define EXTERNAL 0 -#endif - -// undefine stdlib's abs if encountered -#ifdef abs -#undef abs -#endif - -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) -#define abs(x) ((x)>0?(x):-(x)) -#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) -#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define sq(x) ((x)*(x)) - -#define interrupts() sei() -#define noInterrupts() cli() - -#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) -#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) -#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) - -#define lowByte(w) ((uint8_t) ((w) & 0xff)) -#define highByte(w) ((uint8_t) ((w) >> 8)) - -#define bitRead(value, bit) (((value) >> (bit)) & 0x01) -#define bitSet(value, bit) ((value) |= (1UL << (bit))) -#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) -#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) - -// avr-libc defines _NOP() since 1.6.2 -#ifndef _NOP -#define _NOP() do { __asm__ volatile ("nop"); } while (0) -#endif - -typedef unsigned int word; - -#define bit(b) (1UL << (b)) - -typedef bool boolean; -typedef uint8_t byte; - -void init(void); -void initVariant(void); - -int atexit(void (*func)()) __attribute__((weak)); - -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -int digitalRead(uint8_t); -int analogRead(uint8_t); -void analogReference(uint8_t mode); -void analogWrite(uint8_t, int); - -unsigned long millis(void); -unsigned long micros(void); -void delay(unsigned long); -void delayMicroseconds(unsigned int us); -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout); - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); - -void attachInterrupt(uint8_t, void (*)(void), int mode); -void detachInterrupt(uint8_t); - -void setup(void); -void loop(void); - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. - -#define analogInPinToBit(P) (P) - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -extern const uint16_t PROGMEM port_to_mode_PGM[]; -extern const uint16_t PROGMEM port_to_input_PGM[]; -extern const uint16_t PROGMEM port_to_output_PGM[]; - -extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. -// -// These perform slightly better as macros compared to inline functions -// -#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) ) -#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) ) -#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) ) -#define analogInPinToBit(P) (P) -#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) ) -#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) ) -#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) ) - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#define NOT_AN_INTERRUPT -1 - -#ifdef ARDUINO_MAIN -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 -#endif - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER1C 5 -#define TIMER2 6 -#define TIMER2A 7 -#define TIMER2B 8 - -#define TIMER3A 9 -#define TIMER3B 10 -#define TIMER3C 11 -#define TIMER4A 12 -#define TIMER4B 13 -#define TIMER4C 14 -#define TIMER4D 15 -#define TIMER5A 16 -#define TIMER5B 17 -#define TIMER5C 18 - -#ifdef __cplusplus -} // extern "C" -#endif - -#ifdef __cplusplus -#include "WCharacter.h" -#include "WString.h" -#include "HardwareSerial.h" -#include "USBAPI.h" -#if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL) -#error "Targets with both UART0 and CDC serial not supported" -#endif - -uint16_t makeWord(uint16_t w); -uint16_t makeWord(byte h, byte l); - -#define word(...) makeWord(__VA_ARGS__) - -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L); - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0); -void noTone(uint8_t _pin); - -// WMath prototypes -long random(long); -long random(long, long); -void randomSeed(unsigned int); -long map(long, long, long, long, long); - -#endif - -#include "pins_arduino.h" - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/CDC.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/CDC.cpp deleted file mode 100644 index 5d4f2a080..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/CDC.cpp +++ /dev/null @@ -1,211 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "USBAPI.h" -#include - -#if defined(USBCON) -#ifdef CDC_ENABLED - -typedef struct -{ - u32 dwDTERate; - u8 bCharFormat; - u8 bParityType; - u8 bDataBits; - u8 lineState; -} LineInfo; - -static volatile LineInfo _usbLineInfo = { 57600, 0x00, 0x00, 0x00, 0x00 }; - -#define WEAK __attribute__ ((weak)) - -extern const CDCDescriptor _cdcInterface PROGMEM; -const CDCDescriptor _cdcInterface = -{ - D_IAD(0,2,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,1), - - // CDC communication interface - D_INTERFACE(CDC_ACM_INTERFACE,1,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,0), - D_CDCCS(CDC_HEADER,0x10,0x01), // Header (1.10 bcd) - D_CDCCS(CDC_CALL_MANAGEMENT,1,1), // Device handles call management (not) - D_CDCCS4(CDC_ABSTRACT_CONTROL_MANAGEMENT,6), // SET_LINE_CODING, GET_LINE_CODING, SET_CONTROL_LINE_STATE supported - D_CDCCS(CDC_UNION,CDC_ACM_INTERFACE,CDC_DATA_INTERFACE), // Communication interface is master, data interface is slave 0 - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_ACM),USB_ENDPOINT_TYPE_INTERRUPT,0x10,0x40), - - // CDC data interface - D_INTERFACE(CDC_DATA_INTERFACE,2,CDC_DATA_INTERFACE_CLASS,0,0), - D_ENDPOINT(USB_ENDPOINT_OUT(CDC_ENDPOINT_OUT),USB_ENDPOINT_TYPE_BULK,0x40,0), - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_IN ),USB_ENDPOINT_TYPE_BULK,0x40,0) -}; - -int WEAK CDC_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 2; // uses 2 - return USB_SendControl(TRANSFER_PGM,&_cdcInterface,sizeof(_cdcInterface)); -} - -bool WEAK CDC_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (CDC_GET_LINE_CODING == r) - { - USB_SendControl(0,(void*)&_usbLineInfo,7); - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (CDC_SET_LINE_CODING == r) - { - USB_RecvControl((void*)&_usbLineInfo,7); - } - - if (CDC_SET_CONTROL_LINE_STATE == r) - { - _usbLineInfo.lineState = setup.wValueL; - } - - if (CDC_SET_LINE_CODING == r || CDC_SET_CONTROL_LINE_STATE == r) - { - // auto-reset into the bootloader is triggered when the port, already - // open at 1200 bps, is closed. this is the signal to start the watchdog - // with a relatively long period so it can finish housekeeping tasks - // like servicing endpoints before the sketch ends - - // We check DTR state to determine if host port is open (bit 0 of lineState). - if (1200 == _usbLineInfo.dwDTERate && (_usbLineInfo.lineState & 0x01) == 0) - { - *(uint16_t *)0x0800 = 0x7777; - wdt_enable(WDTO_120MS); - } - else - { - // Most OSs do some intermediate steps when configuring ports and DTR can - // twiggle more than once before stabilizing. - // To avoid spurious resets we set the watchdog to 250ms and eventually - // cancel if DTR goes back high. - - wdt_disable(); - wdt_reset(); - *(uint16_t *)0x0800 = 0x0; - } - } - return true; - } - return false; -} - - -void Serial_::begin(unsigned long /* baud_count */) -{ - peek_buffer = -1; -} - -void Serial_::begin(unsigned long /* baud_count */, byte /* config */) -{ - peek_buffer = -1; -} - -void Serial_::end(void) -{ -} - -int Serial_::available(void) -{ - if (peek_buffer >= 0) { - return 1 + USB_Available(CDC_RX); - } - return USB_Available(CDC_RX); -} - -int Serial_::peek(void) -{ - if (peek_buffer < 0) - peek_buffer = USB_Recv(CDC_RX); - return peek_buffer; -} - -int Serial_::read(void) -{ - if (peek_buffer >= 0) { - int c = peek_buffer; - peek_buffer = -1; - return c; - } - return USB_Recv(CDC_RX); -} - -void Serial_::flush(void) -{ - USB_Flush(CDC_TX); -} - -size_t Serial_::write(uint8_t c) -{ - return write(&c, 1); -} - -size_t Serial_::write(const uint8_t *buffer, size_t size) -{ - /* only try to send bytes if the high-level CDC connection itself - is open (not just the pipe) - the OS should set lineState when the port - is opened and clear lineState when the port is closed. - bytes sent before the user opens the connection or after - the connection is closed are lost - just like with a UART. */ - - // TODO - ZE - check behavior on different OSes and test what happens if an - // open connection isn't broken cleanly (cable is yanked out, host dies - // or locks up, or host virtual serial port hangs) - if (_usbLineInfo.lineState > 0) { - int r = USB_Send(CDC_TX,buffer,size); - if (r > 0) { - return r; - } else { - setWriteError(); - return 0; - } - } - setWriteError(); - return 0; -} - -// This operator is a convenient way for a sketch to check whether the -// port has actually been configured and opened by the host (as opposed -// to just being connected to the host). It can be used, for example, in -// setup() before printing to ensure that an application on the host is -// actually ready to receive and display the data. -// We add a short delay before returning to fix a bug observed by Federico -// where the port is configured (lineState != 0) but not quite opened. -Serial_::operator bool() { - bool result = false; - if (_usbLineInfo.lineState > 0) - result = true; - delay(10); - return result; -} - -Serial_ Serial; - -#endif -#endif /* if defined(USBCON) */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Client.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Client.h deleted file mode 100644 index b8e5d935f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Client.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - Client.h - Base class that provides Client - Copyright (c) 2011 Adrian McEwen. 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 client_h -#define client_h -#include "Print.h" -#include "Stream.h" -#include "IPAddress.h" - -class Client : public Stream { - -public: - virtual int connect(IPAddress ip, uint16_t port) =0; - virtual int connect(const char *host, uint16_t port) =0; - virtual size_t write(uint8_t) =0; - virtual size_t write(const uint8_t *buf, size_t size) =0; - virtual int available() = 0; - virtual int read() = 0; - virtual int read(uint8_t *buf, size_t size) = 0; - virtual int peek() = 0; - virtual void flush() = 0; - virtual void stop() = 0; - virtual uint8_t connected() = 0; - virtual operator bool() = 0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HID.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HID.cpp deleted file mode 100644 index 75c37b24b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HID.cpp +++ /dev/null @@ -1,518 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "USBAPI.h" - -#if defined(USBCON) -#ifdef HID_ENABLED - -//#define RAWHID_ENABLED - -// Singletons for mouse and keyboard - -Mouse_ Mouse; -Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ - -// HID report descriptor - -#define LSB(_x) ((_x) & 0xFF) -#define MSB(_x) ((_x) >> 8) - -#define RAWHID_USAGE_PAGE 0xFFC0 -#define RAWHID_USAGE 0x0C00 -#define RAWHID_TX_SIZE 64 -#define RAWHID_RX_SIZE 64 - -extern const u8 _hidReportDescriptor[] PROGMEM; -const u8 _hidReportDescriptor[] = { - - // Mouse - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 54 - 0x09, 0x02, // USAGE (Mouse) - 0xa1, 0x01, // COLLECTION (Application) - 0x09, 0x01, // USAGE (Pointer) - 0xa1, 0x00, // COLLECTION (Physical) - 0x85, 0x01, // REPORT_ID (1) - 0x05, 0x09, // USAGE_PAGE (Button) - 0x19, 0x01, // USAGE_MINIMUM (Button 1) - 0x29, 0x03, // USAGE_MAXIMUM (Button 3) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x95, 0x03, // REPORT_COUNT (3) - 0x75, 0x01, // REPORT_SIZE (1) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x05, // REPORT_SIZE (5) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) - 0x09, 0x30, // USAGE (X) - 0x09, 0x31, // USAGE (Y) - 0x09, 0x38, // USAGE (Wheel) - 0x15, 0x81, // LOGICAL_MINIMUM (-127) - 0x25, 0x7f, // LOGICAL_MAXIMUM (127) - 0x75, 0x08, // REPORT_SIZE (8) - 0x95, 0x03, // REPORT_COUNT (3) - 0x81, 0x06, // INPUT (Data,Var,Rel) - 0xc0, // END_COLLECTION - 0xc0, // END_COLLECTION - - // Keyboard - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 47 - 0x09, 0x06, // USAGE (Keyboard) - 0xa1, 0x01, // COLLECTION (Application) - 0x85, 0x02, // REPORT_ID (2) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl) - 0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x75, 0x01, // REPORT_SIZE (1) - - 0x95, 0x08, // REPORT_COUNT (8) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x08, // REPORT_SIZE (8) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - - 0x95, 0x06, // REPORT_COUNT (6) - 0x75, 0x08, // REPORT_SIZE (8) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x65, // LOGICAL_MAXIMUM (101) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) - 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) - 0x81, 0x00, // INPUT (Data,Ary,Abs) - 0xc0, // END_COLLECTION - -#ifdef RAWHID_ENABLED - // RAW HID - 0x06, LSB(RAWHID_USAGE_PAGE), MSB(RAWHID_USAGE_PAGE), // 30 - 0x0A, LSB(RAWHID_USAGE), MSB(RAWHID_USAGE), - - 0xA1, 0x01, // Collection 0x01 - 0x85, 0x03, // REPORT_ID (3) - 0x75, 0x08, // report size = 8 bits - 0x15, 0x00, // logical minimum = 0 - 0x26, 0xFF, 0x00, // logical maximum = 255 - - 0x95, 64, // report count TX - 0x09, 0x01, // usage - 0x81, 0x02, // Input (array) - - 0x95, 64, // report count RX - 0x09, 0x02, // usage - 0x91, 0x02, // Output (array) - 0xC0 // end collection -#endif -}; - -extern const HIDDescriptor _hidInterface PROGMEM; -const HIDDescriptor _hidInterface = -{ - D_INTERFACE(HID_INTERFACE,1,3,0,0), - D_HIDREPORT(sizeof(_hidReportDescriptor)), - D_ENDPOINT(USB_ENDPOINT_IN (HID_ENDPOINT_INT),USB_ENDPOINT_TYPE_INTERRUPT,0x40,0x01) -}; - -//================================================================================ -//================================================================================ -// Driver - -u8 _hid_protocol = 1; -u8 _hid_idle = 1; - -#define WEAK __attribute__ ((weak)) - -int WEAK HID_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 1; // uses 1 - return USB_SendControl(TRANSFER_PGM,&_hidInterface,sizeof(_hidInterface)); -} - -int WEAK HID_GetDescriptor(int /* i */) -{ - return USB_SendControl(TRANSFER_PGM,_hidReportDescriptor,sizeof(_hidReportDescriptor)); -} - -void WEAK HID_SendReport(u8 id, const void* data, int len) -{ - USB_Send(HID_TX, &id, 1); - USB_Send(HID_TX | TRANSFER_RELEASE,data,len); -} - -bool WEAK HID_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (HID_GET_REPORT == r) - { - //HID_GetReport(); - return true; - } - if (HID_GET_PROTOCOL == r) - { - //Send8(_hid_protocol); // TODO - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (HID_SET_PROTOCOL == r) - { - _hid_protocol = setup.wValueL; - return true; - } - - if (HID_SET_IDLE == r) - { - _hid_idle = setup.wValueL; - return true; - } - } - return false; -} - -//================================================================================ -//================================================================================ -// Mouse - -Mouse_::Mouse_(void) : _buttons(0) -{ -} - -void Mouse_::begin(void) -{ -} - -void Mouse_::end(void) -{ -} - -void Mouse_::click(uint8_t b) -{ - _buttons = b; - move(0,0,0); - _buttons = 0; - move(0,0,0); -} - -void Mouse_::move(signed char x, signed char y, signed char wheel) -{ - u8 m[4]; - m[0] = _buttons; - m[1] = x; - m[2] = y; - m[3] = wheel; - HID_SendReport(1,m,4); -} - -void Mouse_::buttons(uint8_t b) -{ - if (b != _buttons) - { - _buttons = b; - move(0,0,0); - } -} - -void Mouse_::press(uint8_t b) -{ - buttons(_buttons | b); -} - -void Mouse_::release(uint8_t b) -{ - buttons(_buttons & ~b); -} - -bool Mouse_::isPressed(uint8_t b) -{ - if ((b & _buttons) > 0) - return true; - return false; -} - -//================================================================================ -//================================================================================ -// Keyboard - -Keyboard_::Keyboard_(void) -{ -} - -void Keyboard_::begin(void) -{ -} - -void Keyboard_::end(void) -{ -} - -void Keyboard_::sendReport(KeyReport* keys) -{ - HID_SendReport(2,keys,sizeof(KeyReport)); -} - -extern -const uint8_t _asciimap[128] PROGMEM; - -#define SHIFT 0x80 -const uint8_t _asciimap[128] = -{ - 0x00, // NUL - 0x00, // SOH - 0x00, // STX - 0x00, // ETX - 0x00, // EOT - 0x00, // ENQ - 0x00, // ACK - 0x00, // BEL - 0x2a, // BS Backspace - 0x2b, // TAB Tab - 0x28, // LF Enter - 0x00, // VT - 0x00, // FF - 0x00, // CR - 0x00, // SO - 0x00, // SI - 0x00, // DEL - 0x00, // DC1 - 0x00, // DC2 - 0x00, // DC3 - 0x00, // DC4 - 0x00, // NAK - 0x00, // SYN - 0x00, // ETB - 0x00, // CAN - 0x00, // EM - 0x00, // SUB - 0x00, // ESC - 0x00, // FS - 0x00, // GS - 0x00, // RS - 0x00, // US - - 0x2c, // ' ' - 0x1e|SHIFT, // ! - 0x34|SHIFT, // " - 0x20|SHIFT, // # - 0x21|SHIFT, // $ - 0x22|SHIFT, // % - 0x24|SHIFT, // & - 0x34, // ' - 0x26|SHIFT, // ( - 0x27|SHIFT, // ) - 0x25|SHIFT, // * - 0x2e|SHIFT, // + - 0x36, // , - 0x2d, // - - 0x37, // . - 0x38, // / - 0x27, // 0 - 0x1e, // 1 - 0x1f, // 2 - 0x20, // 3 - 0x21, // 4 - 0x22, // 5 - 0x23, // 6 - 0x24, // 7 - 0x25, // 8 - 0x26, // 9 - 0x33|SHIFT, // : - 0x33, // ; - 0x36|SHIFT, // < - 0x2e, // = - 0x37|SHIFT, // > - 0x38|SHIFT, // ? - 0x1f|SHIFT, // @ - 0x04|SHIFT, // A - 0x05|SHIFT, // B - 0x06|SHIFT, // C - 0x07|SHIFT, // D - 0x08|SHIFT, // E - 0x09|SHIFT, // F - 0x0a|SHIFT, // G - 0x0b|SHIFT, // H - 0x0c|SHIFT, // I - 0x0d|SHIFT, // J - 0x0e|SHIFT, // K - 0x0f|SHIFT, // L - 0x10|SHIFT, // M - 0x11|SHIFT, // N - 0x12|SHIFT, // O - 0x13|SHIFT, // P - 0x14|SHIFT, // Q - 0x15|SHIFT, // R - 0x16|SHIFT, // S - 0x17|SHIFT, // T - 0x18|SHIFT, // U - 0x19|SHIFT, // V - 0x1a|SHIFT, // W - 0x1b|SHIFT, // X - 0x1c|SHIFT, // Y - 0x1d|SHIFT, // Z - 0x2f, // [ - 0x31, // bslash - 0x30, // ] - 0x23|SHIFT, // ^ - 0x2d|SHIFT, // _ - 0x35, // ` - 0x04, // a - 0x05, // b - 0x06, // c - 0x07, // d - 0x08, // e - 0x09, // f - 0x0a, // g - 0x0b, // h - 0x0c, // i - 0x0d, // j - 0x0e, // k - 0x0f, // l - 0x10, // m - 0x11, // n - 0x12, // o - 0x13, // p - 0x14, // q - 0x15, // r - 0x16, // s - 0x17, // t - 0x18, // u - 0x19, // v - 0x1a, // w - 0x1b, // x - 0x1c, // y - 0x1d, // z - 0x2f|SHIFT, // - 0x31|SHIFT, // | - 0x30|SHIFT, // } - 0x35|SHIFT, // ~ - 0 // DEL -}; - -uint8_t USBPutChar(uint8_t c); - -// press() adds the specified key (printing, non-printing, or modifier) -// to the persistent key report and sends the report. Because of the way -// USB HID works, the host acts like the key remains pressed until we -// call release(), releaseAll(), or otherwise clear the report and resend. -size_t Keyboard_::press(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers |= (1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - setWriteError(); - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers |= 0x02; // the left shift modifier - k &= 0x7F; - } - } - - // Add k to the key report only if it's not already present - // and if there is an empty slot. - if (_keyReport.keys[0] != k && _keyReport.keys[1] != k && - _keyReport.keys[2] != k && _keyReport.keys[3] != k && - _keyReport.keys[4] != k && _keyReport.keys[5] != k) { - - for (i=0; i<6; i++) { - if (_keyReport.keys[i] == 0x00) { - _keyReport.keys[i] = k; - break; - } - } - if (i == 6) { - setWriteError(); - return 0; - } - } - sendReport(&_keyReport); - return 1; -} - -// release() takes the specified key out of the persistent key report and -// sends the report. This tells the OS the key is no longer pressed and that -// it shouldn't be repeated any more. -size_t Keyboard_::release(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers &= ~(1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers &= ~(0x02); // the left shift modifier - k &= 0x7F; - } - } - - // Test the key report to see if k is present. Clear it if it exists. - // Check all positions in case the key is present more than once (which it shouldn't be) - for (i=0; i<6; i++) { - if (0 != k && _keyReport.keys[i] == k) { - _keyReport.keys[i] = 0x00; - } - } - - sendReport(&_keyReport); - return 1; -} - -void Keyboard_::releaseAll(void) -{ - _keyReport.keys[0] = 0; - _keyReport.keys[1] = 0; - _keyReport.keys[2] = 0; - _keyReport.keys[3] = 0; - _keyReport.keys[4] = 0; - _keyReport.keys[5] = 0; - _keyReport.modifiers = 0; - sendReport(&_keyReport); -} - -size_t Keyboard_::write(uint8_t c) -{ - uint8_t p = press(c); // Keydown - release(c); // Keyup - return p; // just return the result of press() since release() almost always returns 1 -} - -#endif - -#endif /* if defined(USBCON) */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.cpp deleted file mode 100644 index 41935e320..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.cpp +++ /dev/null @@ -1,252 +0,0 @@ -/* - 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 - Modified 14 August 2012 by Alarus - Modified 3 December 2013 by Matthijs Kooijman -*/ - -#include -#include -#include -#include -#include "Arduino.h" - -#include "HardwareSerial.h" -#include "HardwareSerial_private.h" - -// 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(HAVE_HWSERIAL0) || defined(HAVE_HWSERIAL1) || defined(HAVE_HWSERIAL2) || defined(HAVE_HWSERIAL3) - -// SerialEvent functions are weak, so when the user doesn't define them, -// the linker just sets their address to 0 (which is checked below). -// The Serialx_available is just a wrapper around Serialx.available(), -// but we can refer to it weakly so we don't pull in the entire -// HardwareSerial instance if the user doesn't also refer to it. -#if defined(HAVE_HWSERIAL0) - void serialEvent() __attribute__((weak)); - bool Serial0_available() __attribute__((weak)); -#endif - -#if defined(HAVE_HWSERIAL1) - void serialEvent1() __attribute__((weak)); - bool Serial1_available() __attribute__((weak)); -#endif - -#if defined(HAVE_HWSERIAL2) - void serialEvent2() __attribute__((weak)); - bool Serial2_available() __attribute__((weak)); -#endif - -#if defined(HAVE_HWSERIAL3) - void serialEvent3() __attribute__((weak)); - bool Serial3_available() __attribute__((weak)); -#endif - -void serialEventRun(void) -{ -#if defined(HAVE_HWSERIAL0) - if (Serial0_available && serialEvent && Serial0_available()) serialEvent(); -#endif -#if defined(HAVE_HWSERIAL1) - if (Serial1_available && serialEvent1 && Serial1_available()) serialEvent1(); -#endif -#if defined(HAVE_HWSERIAL2) - if (Serial2_available && serialEvent2 && Serial2_available()) serialEvent2(); -#endif -#if defined(HAVE_HWSERIAL3) - if (Serial3_available && serialEvent3 && Serial3_available()) serialEvent3(); -#endif -} - -// Actual interrupt handlers ////////////////////////////////////////////////////////////// - -void HardwareSerial::_tx_udr_empty_irq(void) -{ - // If interrupts are enabled, there must be more data in the output - // buffer. Send the next byte - unsigned char c = _tx_buffer[_tx_buffer_tail]; - _tx_buffer_tail = (_tx_buffer_tail + 1) % SERIAL_TX_BUFFER_SIZE; - - *_udr = c; - - // clear the TXC bit -- "can be cleared by writing a one to its bit - // location". This makes sure flush() won't return until the bytes - // actually got written - sbi(*_ucsra, TXC0); - - if (_tx_buffer_head == _tx_buffer_tail) { - // Buffer empty, so disable interrupts - cbi(*_ucsrb, UDRIE0); - } -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void HardwareSerial::begin(unsigned long baud, byte config) -{ - // Try u2x mode first - uint16_t baud_setting = (F_CPU / 4 / baud - 1) / 2; - *_ucsra = 1 << U2X0; - - // hardcoded exception for 57600 for compatibility with the bootloader - // shipped with the Duemilanove and previous boards and the firmware - // on the 8U2 on the Uno and Mega 2560. Also, The baud_setting cannot - // be > 4095, so switch back to non-u2x mode if the baud rate is too - // low. - if (((F_CPU == 16000000UL) && (baud == 57600)) || (baud_setting >4095)) - { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - // assign the baud_setting, a.k.a. ubrr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - _written = false; - - //set the data bits, parity, and stop bits -#if defined(__AVR_ATmega8__) - config |= 0x80; // select UCSRC register (shared with UBRRH) -#endif - *_ucsrc = config; - - sbi(*_ucsrb, RXEN0); - sbi(*_ucsrb, TXEN0); - sbi(*_ucsrb, RXCIE0); - cbi(*_ucsrb, UDRIE0); -} - -void HardwareSerial::end() -{ - // wait for transmission of outgoing data - while (_tx_buffer_head != _tx_buffer_tail) - ; - - cbi(*_ucsrb, RXEN0); - cbi(*_ucsrb, TXEN0); - cbi(*_ucsrb, RXCIE0); - cbi(*_ucsrb, UDRIE0); - - // clear any received data - _rx_buffer_head = _rx_buffer_tail; -} - -int HardwareSerial::available(void) -{ - return ((unsigned int)(SERIAL_RX_BUFFER_SIZE + _rx_buffer_head - _rx_buffer_tail)) % SERIAL_RX_BUFFER_SIZE; -} - -int HardwareSerial::peek(void) -{ - if (_rx_buffer_head == _rx_buffer_tail) { - return -1; - } else { - return _rx_buffer[_rx_buffer_tail]; - } -} - -int HardwareSerial::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[_rx_buffer_tail]; - _rx_buffer_tail = (rx_buffer_index_t)(_rx_buffer_tail + 1) % SERIAL_RX_BUFFER_SIZE; - return c; - } -} - -int HardwareSerial::availableForWrite(void) -{ -#if (SERIAL_TX_BUFFER_SIZE>256) - uint8_t oldSREG = SREG; - cli(); -#endif - tx_buffer_index_t head = _tx_buffer_head; - tx_buffer_index_t tail = _tx_buffer_tail; -#if (SERIAL_TX_BUFFER_SIZE>256) - SREG = oldSREG; -#endif - if (head >= tail) return SERIAL_TX_BUFFER_SIZE - 1 - head + tail; - return tail - head - 1; -} - -void HardwareSerial::flush() -{ - // If we have never written a byte, no need to flush. This special - // case is needed since there is no way to force the TXC (transmit - // complete) bit to 1 during initialization - if (!_written) - return; - - while (bit_is_set(*_ucsrb, UDRIE0) || bit_is_clear(*_ucsra, TXC0)) { - if (bit_is_clear(SREG, SREG_I) && bit_is_set(*_ucsrb, UDRIE0)) - // Interrupts are globally disabled, but the DR empty - // interrupt should be enabled, so poll the DR empty flag to - // prevent deadlock - if (bit_is_set(*_ucsra, UDRE0)) - _tx_udr_empty_irq(); - } - // If we get here, nothing is queued anymore (DRIE is disabled) and - // the hardware finished tranmission (TXC is set). -} - -size_t HardwareSerial::write(uint8_t c) -{ - // If the buffer and the data register is empty, just write the byte - // to the data register and be done. This shortcut helps - // significantly improve the effective datarate at high (> - // 500kbit/s) bitrates, where interrupt overhead becomes a slowdown. - if (_tx_buffer_head == _tx_buffer_tail && bit_is_set(*_ucsra, UDRE0)) { - *_udr = c; - sbi(*_ucsra, TXC0); - return 1; - } - tx_buffer_index_t i = (_tx_buffer_head + 1) % SERIAL_TX_BUFFER_SIZE; - - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - while (i == _tx_buffer_tail) { - if (bit_is_clear(SREG, SREG_I)) { - // Interrupts are disabled, so we'll have to poll the data - // register empty flag ourselves. If it is set, pretend an - // interrupt has happened and call the handler to free up - // space for us. - if(bit_is_set(*_ucsra, UDRE0)) - _tx_udr_empty_irq(); - } else { - // nop, the interrupt handler will free up space for us - } - } - - _tx_buffer[_tx_buffer_head] = c; - _tx_buffer_head = i; - - sbi(*_ucsrb, UDRIE0); - _written = true; - - return 1; -} - - -#endif // whole file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.h deleted file mode 100644 index 7dc2aa98c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - 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 - Modified 14 August 2012 by Alarus - Modified 3 December 2013 by Matthijs Kooijman -*/ - -#ifndef HardwareSerial_h -#define HardwareSerial_h - -#include - -#include "Stream.h" - -// Define constants and variables for buffering incoming serial data. We're -// using a ring buffer (I think), in which head is the index of the location -// to which to write the next incoming character and tail is the index of the -// location from which to read. -// NOTE: a "power of 2" buffer size is reccomended to dramatically -// optimize all the modulo operations for ring buffers. -#if !(defined(SERIAL_TX_BUFFER_SIZE) && defined(SERIAL_RX_BUFFER_SIZE)) -#if (RAMEND < 1000) -#define SERIAL_TX_BUFFER_SIZE 16 -#define SERIAL_RX_BUFFER_SIZE 16 -#else -#define SERIAL_TX_BUFFER_SIZE 64 -#define SERIAL_RX_BUFFER_SIZE 64 -#endif -#endif -#if (SERIAL_TX_BUFFER_SIZE>256) -typedef uint16_t tx_buffer_index_t; -#else -typedef uint8_t tx_buffer_index_t; -#endif -#if (SERIAL_RX_BUFFER_SIZE>256) -typedef uint16_t rx_buffer_index_t; -#else -typedef uint8_t rx_buffer_index_t; -#endif - -// Define config for Serial.begin(baud, config); -#define SERIAL_5N1 0x00 -#define SERIAL_6N1 0x02 -#define SERIAL_7N1 0x04 -#define SERIAL_8N1 0x06 -#define SERIAL_5N2 0x08 -#define SERIAL_6N2 0x0A -#define SERIAL_7N2 0x0C -#define SERIAL_8N2 0x0E -#define SERIAL_5E1 0x20 -#define SERIAL_6E1 0x22 -#define SERIAL_7E1 0x24 -#define SERIAL_8E1 0x26 -#define SERIAL_5E2 0x28 -#define SERIAL_6E2 0x2A -#define SERIAL_7E2 0x2C -#define SERIAL_8E2 0x2E -#define SERIAL_5O1 0x30 -#define SERIAL_6O1 0x32 -#define SERIAL_7O1 0x34 -#define SERIAL_8O1 0x36 -#define SERIAL_5O2 0x38 -#define SERIAL_6O2 0x3A -#define SERIAL_7O2 0x3C -#define SERIAL_8O2 0x3E - -class HardwareSerial : public Stream -{ - protected: - volatile uint8_t * const _ubrrh; - volatile uint8_t * const _ubrrl; - volatile uint8_t * const _ucsra; - volatile uint8_t * const _ucsrb; - volatile uint8_t * const _ucsrc; - volatile uint8_t * const _udr; - // Has any byte been written to the UART since begin() - bool _written; - - volatile rx_buffer_index_t _rx_buffer_head; - volatile rx_buffer_index_t _rx_buffer_tail; - volatile tx_buffer_index_t _tx_buffer_head; - volatile tx_buffer_index_t _tx_buffer_tail; - - // Don't put any members after these buffers, since only the first - // 32 bytes of this struct can be accessed quickly using the ldd - // instruction. - unsigned char _rx_buffer[SERIAL_RX_BUFFER_SIZE]; - unsigned char _tx_buffer[SERIAL_TX_BUFFER_SIZE]; - - public: - inline HardwareSerial( - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr); - void begin(unsigned long baud) { begin(baud, SERIAL_8N1); } - void begin(unsigned long, uint8_t); - void end(); - virtual int available(void); - virtual int peek(void); - virtual int read(void); - int availableForWrite(void); - virtual void flush(void); - virtual size_t write(uint8_t); - inline size_t write(unsigned long n) { return write((uint8_t)n); } - inline size_t write(long n) { return write((uint8_t)n); } - inline size_t write(unsigned int n) { return write((uint8_t)n); } - inline size_t write(int n) { return write((uint8_t)n); } - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool() { return true; } - - // Interrupt handlers - Not intended to be called externally - inline void _rx_complete_irq(void); - void _tx_udr_empty_irq(void); -}; - -#if defined(UBRRH) || defined(UBRR0H) - extern HardwareSerial Serial; - #define HAVE_HWSERIAL0 -#endif -#if defined(UBRR1H) - extern HardwareSerial Serial1; - #define HAVE_HWSERIAL1 -#endif -#if defined(UBRR2H) - extern HardwareSerial Serial2; - #define HAVE_HWSERIAL2 -#endif -#if defined(UBRR3H) - extern HardwareSerial Serial3; - #define HAVE_HWSERIAL3 -#endif - -extern void serialEventRun(void) __attribute__((weak)); - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial0.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial0.cpp deleted file mode 100644 index 1146eebab..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial0.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - HardwareSerial0.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 - Modified 14 August 2012 by Alarus - Modified 3 December 2013 by Matthijs Kooijman -*/ - -#include "Arduino.h" -#include "HardwareSerial.h" -#include "HardwareSerial_private.h" - -// Each HardwareSerial is defined in its own file, sine the linker pulls -// in the entire file when any element inside is used. --gc-sections can -// additionally cause unused symbols to be dropped, but ISRs have the -// "used" attribute so are never dropped and they keep the -// HardwareSerial instance in as well. Putting each instance in its own -// file prevents the linker from pulling in any unused instances in the -// first place. - -#if defined(HAVE_HWSERIAL0) - -#if defined(USART_RX_vect) - ISR(USART_RX_vect) -#elif defined(USART0_RX_vect) - ISR(USART0_RX_vect) -#elif defined(USART_RXC_vect) - ISR(USART_RXC_vect) // ATmega8 -#else - #error "Don't know what the Data Received vector is called for Serial" -#endif - { - Serial._rx_complete_irq(); - } - -#if defined(UART0_UDRE_vect) -ISR(UART0_UDRE_vect) -#elif defined(UART_UDRE_vect) -ISR(UART_UDRE_vect) -#elif defined(USART0_UDRE_vect) -ISR(USART0_UDRE_vect) -#elif defined(USART_UDRE_vect) -ISR(USART_UDRE_vect) -#else - #error "Don't know what the Data Register Empty vector is called for Serial" -#endif -{ - Serial._tx_udr_empty_irq(); -} - -#if defined(UBRRH) && defined(UBRRL) - HardwareSerial Serial(&UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR); -#else - HardwareSerial Serial(&UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UCSR0C, &UDR0); -#endif - -// Function that can be weakly referenced by serialEventRun to prevent -// pulling in this file if it's not otherwise used. -bool Serial0_available() { - return Serial.available(); -} - -#endif // HAVE_HWSERIAL0 diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial1.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial1.cpp deleted file mode 100644 index 19625e235..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial1.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - HardwareSerial1.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 - Modified 14 August 2012 by Alarus - Modified 3 December 2013 by Matthijs Kooijman -*/ - -#include "Arduino.h" -#include "HardwareSerial.h" -#include "HardwareSerial_private.h" - -// Each HardwareSerial is defined in its own file, sine the linker pulls -// in the entire file when any element inside is used. --gc-sections can -// additionally cause unused symbols to be dropped, but ISRs have the -// "used" attribute so are never dropped and they keep the -// HardwareSerial instance in as well. Putting each instance in its own -// file prevents the linker from pulling in any unused instances in the -// first place. - -#if defined(HAVE_HWSERIAL1) - -#if defined(UART1_RX_vect) -ISR(UART1_RX_vect) -#elif defined(USART1_RX_vect) -ISR(USART1_RX_vect) -#else -#error "Don't know what the Data Register Empty vector is called for Serial1" -#endif -{ - Serial1._rx_complete_irq(); -} - -#if defined(UART1_UDRE_vect) -ISR(UART1_UDRE_vect) -#elif defined(USART1_UDRE_vect) -ISR(USART1_UDRE_vect) -#else -#error "Don't know what the Data Register Empty vector is called for Serial1" -#endif -{ - Serial1._tx_udr_empty_irq(); -} - -HardwareSerial Serial1(&UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UCSR1C, &UDR1); - -// Function that can be weakly referenced by serialEventRun to prevent -// pulling in this file if it's not otherwise used. -bool Serial1_available() { - return Serial1.available(); -} - -#endif // HAVE_HWSERIAL1 diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial2.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial2.cpp deleted file mode 100644 index fd334ae15..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - HardwareSerial2.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 - Modified 14 August 2012 by Alarus - Modified 3 December 2013 by Matthijs Kooijman -*/ - -#include "Arduino.h" -#include "HardwareSerial.h" -#include "HardwareSerial_private.h" - -// Each HardwareSerial is defined in its own file, sine the linker pulls -// in the entire file when any element inside is used. --gc-sections can -// additionally cause unused symbols to be dropped, but ISRs have the -// "used" attribute so are never dropped and they keep the -// HardwareSerial instance in as well. Putting each instance in its own -// file prevents the linker from pulling in any unused instances in the -// first place. - -#if defined(HAVE_HWSERIAL2) - -ISR(USART2_RX_vect) -{ - Serial2._rx_complete_irq(); -} - -ISR(USART2_UDRE_vect) -{ - Serial2._tx_udr_empty_irq(); -} - -HardwareSerial Serial2(&UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UCSR2C, &UDR2); - -// Function that can be weakly referenced by serialEventRun to prevent -// pulling in this file if it's not otherwise used. -bool Serial2_available() { - return Serial2.available(); -} - -#endif // HAVE_HWSERIAL2 diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial3.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial3.cpp deleted file mode 100644 index a68095b37..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - HardwareSerial3.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 - Modified 14 August 2012 by Alarus - Modified 3 December 2013 by Matthijs Kooijman -*/ - -#include "Arduino.h" -#include "HardwareSerial.h" -#include "HardwareSerial_private.h" - -// Each HardwareSerial is defined in its own file, sine the linker pulls -// in the entire file when any element inside is used. --gc-sections can -// additionally cause unused symbols to be dropped, but ISRs have the -// "used" attribute so are never dropped and they keep the -// HardwareSerial instance in as well. Putting each instance in its own -// file prevents the linker from pulling in any unused instances in the -// first place. - -#if defined(HAVE_HWSERIAL3) - -ISR(USART3_RX_vect) -{ - Serial3._rx_complete_irq(); -} - -ISR(USART3_UDRE_vect) -{ - Serial3._tx_udr_empty_irq(); -} - -HardwareSerial Serial3(&UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3); - -// Function that can be weakly referenced by serialEventRun to prevent -// pulling in this file if it's not otherwise used. -bool Serial3_available() { - return Serial3.available(); -} - -#endif // HAVE_HWSERIAL3 diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial_private.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial_private.h deleted file mode 100644 index 761a5e559..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/HardwareSerial_private.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - HardwareSerial_private.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 23 November 2006 by David A. Mellis - Modified 28 September 2010 by Mark Sproul - Modified 14 August 2012 by Alarus -*/ - -#include "wiring_private.h" - -// 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(HAVE_HWSERIAL0) || defined(HAVE_HWSERIAL1) || defined(HAVE_HWSERIAL2) || defined(HAVE_HWSERIAL3) - -// Ensure that the various bit positions we use are available with a 0 -// postfix, so we can always use the values for UART0 for all UARTs. The -// alternative, passing the various values for each UART to the -// HardwareSerial constructor also works, but makes the code bigger and -// slower. -#if !defined(TXC0) -#if defined(TXC) -// Some chips like ATmega8 don't have UPE, only PE. The other bits are -// named as expected. -#if !defined(UPE) && defined(PE) -#define UPE PE -#endif -// On ATmega8, the uart and its bits are not numbered, so there is no TXC0 etc. -#define TXC0 TXC -#define RXEN0 RXEN -#define TXEN0 TXEN -#define RXCIE0 RXCIE -#define UDRIE0 UDRIE -#define U2X0 U2X -#define UPE0 UPE -#define UDRE0 UDRE -#elif defined(TXC1) -// Some devices have uart1 but no uart0 -#define TXC0 TXC1 -#define RXEN0 RXEN1 -#define TXEN0 TXEN1 -#define RXCIE0 RXCIE1 -#define UDRIE0 UDRIE1 -#define U2X0 U2X1 -#define UPE0 UPE1 -#define UDRE0 UDRE1 -#else -#error No UART found in HardwareSerial.cpp -#endif -#endif // !defined TXC0 - -// Check at compiletime that it is really ok to use the bit positions of -// UART0 for the other UARTs as well, in case these values ever get -// changed for future hardware. -#if defined(TXC1) && (TXC1 != TXC0 || RXEN1 != RXEN0 || RXCIE1 != RXCIE0 || \ - UDRIE1 != UDRIE0 || U2X1 != U2X0 || UPE1 != UPE0 || \ - UDRE1 != UDRE0) -#error "Not all bit positions for UART1 are the same as for UART0" -#endif -#if defined(TXC2) && (TXC2 != TXC0 || RXEN2 != RXEN0 || RXCIE2 != RXCIE0 || \ - UDRIE2 != UDRIE0 || U2X2 != U2X0 || UPE2 != UPE0 || \ - UDRE2 != UDRE0) -#error "Not all bit positions for UART2 are the same as for UART0" -#endif -#if defined(TXC3) && (TXC3 != TXC0 || RXEN3 != RXEN0 || RXCIE3 != RXCIE0 || \ - UDRIE3 != UDRIE0 || U3X3 != U3X0 || UPE3 != UPE0 || \ - UDRE3 != UDRE0) -#error "Not all bit positions for UART3 are the same as for UART0" -#endif - -// Constructors //////////////////////////////////////////////////////////////// - -HardwareSerial::HardwareSerial( - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr) : - _ubrrh(ubrrh), _ubrrl(ubrrl), - _ucsra(ucsra), _ucsrb(ucsrb), _ucsrc(ucsrc), - _udr(udr), - _rx_buffer_head(0), _rx_buffer_tail(0), - _tx_buffer_head(0), _tx_buffer_tail(0) -{ -} - -// Actual interrupt handlers ////////////////////////////////////////////////////////////// - -void HardwareSerial::_rx_complete_irq(void) -{ - if (bit_is_clear(*_ucsra, UPE0)) { - // No Parity error, read byte and store it in the buffer if there is - // room - unsigned char c = *_udr; - rx_buffer_index_t i = (unsigned int)(_rx_buffer_head + 1) % SERIAL_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[_rx_buffer_head] = c; - _rx_buffer_head = i; - } - } else { - // Parity error, read byte but discard it - *_udr; - }; -} - -#endif // whole file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.cpp deleted file mode 100644 index 899cbd4ed..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - IPAddress.cpp - Base class that provides IPAddress - Copyright (c) 2011 Adrian McEwen. 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 -#include - -IPAddress::IPAddress() -{ - _address.dword = 0; -} - -IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet) -{ - _address.bytes[0] = first_octet; - _address.bytes[1] = second_octet; - _address.bytes[2] = third_octet; - _address.bytes[3] = fourth_octet; -} - -IPAddress::IPAddress(uint32_t address) -{ - _address.dword = address; -} - -IPAddress::IPAddress(const uint8_t *address) -{ - memcpy(_address.bytes, address, sizeof(_address.bytes)); -} - -IPAddress& IPAddress::operator=(const uint8_t *address) -{ - memcpy(_address.bytes, address, sizeof(_address.bytes)); - return *this; -} - -IPAddress& IPAddress::operator=(uint32_t address) -{ - _address.dword = address; - return *this; -} - -bool IPAddress::operator==(const uint8_t* addr) const -{ - return memcmp(addr, _address.bytes, sizeof(_address.bytes)) == 0; -} - -size_t IPAddress::printTo(Print& p) const -{ - size_t n = 0; - for (int i =0; i < 3; i++) - { - n += p.print(_address.bytes[i], DEC); - n += p.print('.'); - } - n += p.print(_address.bytes[3], DEC); - return n; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.h deleted file mode 100644 index 94acdc456..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/IPAddress.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - IPAddress.h - Base class that provides IPAddress - Copyright (c) 2011 Adrian McEwen. 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 IPAddress_h -#define IPAddress_h - -#include -#include - -// A class to make it easier to handle and pass around IP addresses - -class IPAddress : public Printable { -private: - union { - uint8_t bytes[4]; // IPv4 address - uint32_t dword; - } _address; - - // Access the raw byte array containing the address. Because this returns a pointer - // to the internal structure rather than a copy of the address this function should only - // be used when you know that the usage of the returned uint8_t* will be transient and not - // stored. - uint8_t* raw_address() { return _address.bytes; }; - -public: - // Constructors - IPAddress(); - IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet); - IPAddress(uint32_t address); - IPAddress(const uint8_t *address); - - // Overloaded cast operator to allow IPAddress objects to be used where a pointer - // to a four-byte uint8_t array is expected - operator uint32_t() const { return _address.dword; }; - bool operator==(const IPAddress& addr) const { return _address.dword == addr._address.dword; }; - bool operator==(const uint8_t* addr) const; - - // Overloaded index operator to allow getting and setting individual octets of the address - uint8_t operator[](int index) const { return _address.bytes[index]; }; - uint8_t& operator[](int index) { return _address.bytes[index]; }; - - // Overloaded copy operators to allow initialisation of IPAddress objects from other types - IPAddress& operator=(const uint8_t *address); - IPAddress& operator=(uint32_t address); - - virtual size_t printTo(Print& p) const; - - friend class EthernetClass; - friend class UDP; - friend class Client; - friend class Server; - friend class DhcpClass; - friend class DNSClient; -}; - -const IPAddress INADDR_NONE(0,0,0,0); - - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.cpp deleted file mode 100644 index 17dc50c10..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.cpp +++ /dev/null @@ -1,309 +0,0 @@ -/* - Print.cpp - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 - */ - -#include -#include -#include -#include -#include "Arduino.h" - -#include "Print.h" - -// Public Methods ////////////////////////////////////////////////////////////// - -/* default implementation: may be overridden */ -size_t Print::write(const uint8_t *buffer, size_t size) -{ - size_t n = 0; - while (size--) { - n += write(*buffer++); - } - return n; -} - -size_t Print::print(const __FlashStringHelper *ifsh) -{ - PGM_P p = reinterpret_cast(ifsh); - size_t n = 0; - while (1) { - unsigned char c = pgm_read_byte(p++); - if (c == 0) break; - n += write(c); - } - return n; -} - -size_t Print::print(const String &s) -{ - return write(s.c_str(), s.length()); -} - -size_t Print::print(const char str[]) -{ - return write(str); -} - -size_t Print::print(char c) -{ - return write(c); -} - -size_t Print::print(unsigned char b, int base) -{ - return print((unsigned long) b, base); -} - -size_t Print::print(int n, int base) -{ - return print((long) n, base); -} - -size_t Print::print(unsigned int n, int base) -{ - return print((unsigned long) n, base); -} - -size_t Print::print(long n, int base) -{ - if (base == 0) { - return write(n); - } else if (base == 10) { - if (n < 0) { - int t = print('-'); - n = -n; - return printNumber(n, 10) + t; - } - return printNumber(n, 10); - } else { - return printNumber(n, base); - } -} - -size_t Print::print(unsigned long n, int base) -{ - if (base == 0) return write(n); - else return printNumber(n, base); -} - -size_t Print::print(double n, int digits) -{ - return printFloat(n, digits); -} - -size_t Print::println(const __FlashStringHelper *ifsh) -{ - size_t n = print(ifsh); - n += println(); - return n; -} - -size_t Print::print(const Printable& x) -{ - return x.printTo(*this); -} - -size_t Print::println(void) -{ - size_t n = print('\r'); - n += print('\n'); - return n; -} - -size_t Print::println(const String &s) -{ - size_t n = print(s); - n += println(); - return n; -} - -size_t Print::println(const char c[]) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(char c) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(unsigned char b, int base) -{ - size_t n = print(b, base); - n += println(); - return n; -} - -size_t Print::println(int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(double num, int digits) -{ - size_t n = print(num, digits); - n += println(); - return n; -} - -size_t Print::println(const Printable& x) -{ - size_t n = print(x); - n += println(); - return n; -} - -// Private Methods ///////////////////////////////////////////////////////////// - -size_t Print::printNumber(unsigned long n, uint8_t base) { - char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte. - char *str = &buf[sizeof(buf) - 1]; - - *str = '\0'; - - // prevent crash if called with base == 1 - if (base < 2) base = 10; - - do { - unsigned long m = n; - n /= base; - char c = m - base * n; - *--str = c < 10 ? c + '0' : c + 'A' - 10; - } while(n); - - return write(str); -} - -size_t Print::printFloat(double number, uint8_t digits) -{ - size_t n = 0; - - if (isnan(number)) return print("nan"); - if (isinf(number)) return print("inf"); - if (number > 4294967040.0) return print ("ovf"); // constant determined empirically - if (number <-4294967040.0) return print ("ovf"); // constant determined empirically - - // Handle negative numbers - if (number < 0.0) - { - n += 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 0) { - n += print("."); - } - - // Extract digits from the remainder one at a time - while (digits-- > 0) - { - remainder *= 10.0; - int toPrint = int(remainder); - n += print(toPrint); - remainder -= toPrint; - } - - return n; -} - - -//printf -#ifdef _Print_printf - -#include - -#define PRINTF_BUF 80 // define the tmp buffer size (change if desired) - -void Print::printf(const char *format, ...) -{ - char buf[PRINTF_BUF]; - va_list ap; - va_start(ap, format); - vsnprintf(buf, sizeof(buf), format, ap); - for(char *p = &buf[0]; *p; p++) // emulate cooked mode for newlines - { - if(*p == '\n') - write('\r'); - write(*p); - } - va_end(ap); -} -#ifdef F // check to see if F() macro is available -void Print::printf(const __FlashStringHelper *format, ...) -{ - char buf[PRINTF_BUF]; - va_list ap; - va_start(ap, format); -#ifdef __AVR__ - vsnprintf_P(buf, sizeof(buf), (const char *)format, ap); // progmem for AVR -#else - vsnprintf(buf, sizeof(buf), (const char *)format, ap); // for the rest of the world -#endif - for(char *p = &buf[0]; *p; p++) // emulate cooked mode for newlines - { - if(*p == '\n') - write('\r'); - write(*p); - } - va_end(ap); -} -#endif - -#endif //_Print_printf \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.h deleted file mode 100644 index 20cf53780..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Print.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - Print.h - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 Print_h -#define Print_h - -#include -#include // for size_t - -#include "WString.h" -#include "Printable.h" - -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 - -//#define _Print_printf - -class Print -{ - private: - int write_error; - size_t printNumber(unsigned long, uint8_t); - size_t printFloat(double, uint8_t); - protected: - void setWriteError(int err = 1) { write_error = err; } - public: - Print() : write_error(0) {} - - int getWriteError() { return write_error; } - void clearWriteError() { setWriteError(0); } - - virtual size_t write(uint8_t) = 0; - size_t write(const char *str) { - if (str == NULL) return 0; - return write((const uint8_t *)str, strlen(str)); - } - virtual size_t write(const uint8_t *buffer, size_t size); - size_t write(const char *buffer, size_t size) { - return write((const uint8_t *)buffer, size); - } - - size_t print(const __FlashStringHelper *); - size_t print(const String &); - size_t print(const char[]); - size_t print(char); - size_t print(unsigned char, int = DEC); - size_t print(int, int = DEC); - size_t print(unsigned int, int = DEC); - size_t print(long, int = DEC); - size_t print(unsigned long, int = DEC); - size_t print(double, int = 2); - size_t print(const Printable&); - - size_t println(const __FlashStringHelper *); - size_t println(const String &s); - size_t println(const char[]); - size_t println(char); - size_t println(unsigned char, int = DEC); - size_t println(int, int = DEC); - size_t println(unsigned int, int = DEC); - size_t println(long, int = DEC); - size_t println(unsigned long, int = DEC); - size_t println(double, int = 2); - size_t println(const Printable&); - size_t println(void); - -//printf -#ifdef _Print_printf - void printf(const char *format, ...); -#ifdef F // check to see if F() macro is available - void printf(const __FlashStringHelper *format, ...); -#endif -#endif //_Print_printf -}; - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Printable.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Printable.h deleted file mode 100644 index 2a1b2e9f2..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Printable.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Printable.h - Interface class that allows printing of complex types - Copyright (c) 2011 Adrian McEwen. 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 Printable_h -#define Printable_h - -#include - -class Print; - -/** The Printable class provides a way for new classes to allow themselves to be printed. - By deriving from Printable and implementing the printTo method, it will then be possible - for users to print out instances of this class by passing them into the usual - Print::print and Print::println methods. -*/ - -class Printable -{ - public: - virtual size_t printTo(Print& p) const = 0; -}; - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Server.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Server.h deleted file mode 100644 index 69e3e39fe..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Server.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - Server.h - Base class that provides Server - Copyright (c) 2011 Adrian McEwen. 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 server_h -#define server_h - -#include "Print.h" - -class Server : public Print { -public: - virtual void begin() =0; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.cpp deleted file mode 100644 index b31942f29..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.cpp +++ /dev/null @@ -1,317 +0,0 @@ -/* - Stream.cpp - adds parsing methods to Stream class - Copyright (c) 2008 David A. Mellis. 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 - - Created July 2011 - parsing functions based on TextFinder library by Michael Margolis - - findMulti/findUntil routines written by Jim Leonard/Xuth - */ - -#include "Arduino.h" -#include "Stream.h" - -#define PARSE_TIMEOUT 1000 // default number of milli-seconds to wait -#define NO_SKIP_CHAR 1 // a magic char not found in a valid ASCII numeric field - -// private method to read stream with timeout -int Stream::timedRead() -{ - int c; - _startMillis = millis(); - do { - c = read(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// private method to peek stream with timeout -int Stream::timedPeek() -{ - int c; - _startMillis = millis(); - do { - c = peek(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// returns peek of the next digit in the stream or -1 if timeout -// discards non-numeric characters -int Stream::peekNextDigit() -{ - int c; - while (1) { - c = timedPeek(); - if (c < 0) return c; // timeout - if (c == '-') return c; - if (c >= '0' && c <= '9') return c; - read(); // discard non-numeric - } -} - -// Public Methods -////////////////////////////////////////////////////////////// - -void Stream::setTimeout(unsigned long timeout) // sets the maximum number of milliseconds to wait -{ - _timeout = timeout; -} - - // find returns true if the target string is found -bool Stream::find(char *target) -{ - return findUntil(target, strlen(target), NULL, 0); -} - -// reads data from the stream until the target string of given length is found -// returns true if target string is found, false if timed out -bool Stream::find(char *target, size_t length) -{ - return findUntil(target, length, NULL, 0); -} - -// as find but search ends if the terminator string is found -bool Stream::findUntil(char *target, char *terminator) -{ - return findUntil(target, strlen(target), terminator, strlen(terminator)); -} - -// reads data from the stream until the target string of the given length is found -// search terminated if the terminator string is found -// returns true if target string is found, false if terminated or timed out -bool Stream::findUntil(char *target, size_t targetLen, char *terminator, size_t termLen) -{ - if (terminator == NULL) { - MultiTarget t[1] = {{target, targetLen, 0}}; - return findMulti(t, 1) == 0 ? true : false; - } else { - MultiTarget t[2] = {{target, targetLen, 0}, {terminator, termLen, 0}}; - return findMulti(t, 2) == 0 ? true : false; - } -} - - -// returns the first valid (long) integer value from the current position. -// initial characters that are not digits (or the minus sign) are skipped -// function is terminated by the first character that is not a digit. -long Stream::parseInt() -{ - return parseInt(NO_SKIP_CHAR); // terminate on first non-digit character (or timeout) -} - -// as above but a given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -long Stream::parseInt(char skipChar) -{ - bool isNegative = false; - long value = 0; - int c; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore this charactor - else if(c == '-') - isNegative = true; - else if(c >= '0' && c <= '9') // is c a digit? - value = value * 10 + c - '0'; - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == skipChar ); - - if(isNegative) - value = -value; - return value; -} - - -// as parseInt but returns a floating point value -float Stream::parseFloat() -{ - return parseFloat(NO_SKIP_CHAR); -} - -// as above but the given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -float Stream::parseFloat(char skipChar){ - bool isNegative = false; - bool isFraction = false; - long value = 0; - char c; - float fraction = 1.0; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore - else if(c == '-') - isNegative = true; - else if (c == '.') - isFraction = true; - else if(c >= '0' && c <= '9') { // is c a digit? - value = value * 10 + c - '0'; - if(isFraction) - fraction *= 0.1; - } - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == '.' || c == skipChar ); - - if(isNegative) - value = -value; - if(isFraction) - return value * fraction; - else - return value; -} - -// read characters from stream into buffer -// terminates if length characters have been read, or timeout (see setTimeout) -// returns the number of characters placed in the buffer -// the buffer is NOT null terminated. -// -size_t Stream::readBytes(char *buffer, size_t length) -{ - size_t count = 0; - while (count < length) { - int c = timedRead(); - if (c < 0) break; - *buffer++ = (char)c; - count++; - } - return count; -} - - -// as readBytes with terminator character -// terminates if length characters have been read, timeout, or if the terminator character detected -// returns the number of characters placed in the buffer (0 means no valid data found) - -size_t Stream::readBytesUntil(char terminator, char *buffer, size_t length) -{ - if (length < 1) return 0; - size_t index = 0; - while (index < length) { - int c = timedRead(); - if (c < 0 || c == terminator) break; - *buffer++ = (char)c; - index++; - } - return index; // return number of characters, not including null terminator -} - -String Stream::readString() -{ - String ret; - int c = timedRead(); - while (c >= 0) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - -String Stream::readStringUntil(char terminator) -{ - String ret; - int c = timedRead(); - while (c >= 0 && c != terminator) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - -int Stream::findMulti( struct Stream::MultiTarget *targets, int tCount) { - // any zero length target string automatically matches and would make - // a mess of the rest of the algorithm. - for (struct MultiTarget *t = targets; t < targets+tCount; ++t) { - if (t->len <= 0) - return t - targets; - } - - while (1) { - int c = timedRead(); - if (c < 0) - return -1; - - for (struct MultiTarget *t = targets; t < targets+tCount; ++t) { - // the simple case is if we match, deal with that first. - if (c == t->str[t->index]) { - if (++t->index == t->len) - return t - targets; - else - continue; - } - - // if not we need to walk back and see if we could have matched further - // down the stream (ie '1112' doesn't match the first position in '11112' - // but it will match the second position so we can't just reset the current - // index to 0 when we find a mismatch. - if (t->index == 0) - continue; - - int origIndex = t->index; - do { - --t->index; - // first check if current char works against the new current index - if (c != t->str[t->index]) - continue; - - // if it's the only char then we're good, nothing more to check - if (t->index == 0) { - t->index++; - break; - } - - // otherwise we need to check the rest of the found string - int diff = origIndex - t->index; - size_t i; - for (i = 0; i < t->index; ++i) { - if (t->str[i] != t->str[i + diff]) - break; - } - - // if we successfully got through the previous loop then our current - // index is good. - if (i == t->index) { - t->index++; - break; - } - - // otherwise we just try the next index - } while (t->index); - } - } - // unreachable - return -1; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.h deleted file mode 100644 index a8101320c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Stream.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - Stream.h - base class for character-based streams. - Copyright (c) 2010 David A. Mellis. 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 - - parsing functions based on TextFinder library by Michael Margolis -*/ - -#ifndef Stream_h -#define Stream_h - -#include -#include "Print.h" - -// compatability macros for testing -/* -#define getInt() parseInt() -#define getInt(skipChar) parseInt(skipchar) -#define getFloat() parseFloat() -#define getFloat(skipChar) parseFloat(skipChar) -#define getString( pre_string, post_string, buffer, length) -readBytesBetween( pre_string, terminator, buffer, length) -*/ - -class Stream : public Print -{ - protected: - unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read - unsigned long _startMillis; // used for timeout measurement - int timedRead(); // private method to read stream with timeout - int timedPeek(); // private method to peek stream with timeout - int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout - - public: - virtual int available() = 0; - virtual int read() = 0; - virtual int peek() = 0; - virtual void flush() = 0; - - Stream() {_timeout=1000;} - -// parsing methods - - void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second - - bool find(char *target); // reads data from the stream until the target string is found - bool find(uint8_t *target) { return find ((char *)target); } - // returns true if target string is found, false if timed out (see setTimeout) - - bool find(char *target, size_t length); // reads data from the stream until the target string of given length is found - bool find(uint8_t *target, size_t length) { return find ((char *)target, length); } - // returns true if target string is found, false if timed out - - bool findUntil(char *target, char *terminator); // as find but search ends if the terminator string is found - bool findUntil(uint8_t *target, char *terminator) { return findUntil((char *)target, terminator); } - - bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen); // as above but search ends if the terminate string is found - bool findUntil(uint8_t *target, size_t targetLen, char *terminate, size_t termLen) {return findUntil((char *)target, targetLen, terminate, termLen); } - - - long parseInt(); // returns the first valid (long) integer value from the current position. - // initial characters that are not digits (or the minus sign) are skipped - // integer is terminated by the first character that is not a digit. - - float parseFloat(); // float version of parseInt - - size_t readBytes( char *buffer, size_t length); // read chars from stream into buffer - size_t readBytes( uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); } - // terminates if length characters have been read or timeout (see setTimeout) - // returns the number of characters placed in the buffer (0 means no valid data found) - - size_t readBytesUntil( char terminator, char *buffer, size_t length); // as readBytes with terminator character - size_t readBytesUntil( char terminator, uint8_t *buffer, size_t length) { return readBytesUntil(terminator, (char *)buffer, length); } - // terminates if length characters have been read, timeout, or if the terminator character detected - // returns the number of characters placed in the buffer (0 means no valid data found) - - // Arduino String functions to be added here - String readString(); - String readStringUntil(char terminator); - - protected: - long parseInt(char skipChar); // as above but the given skipChar is ignored - // as above but the given skipChar is ignored - // this allows format characters (typically commas) in values to be ignored - - float parseFloat(char skipChar); // as above but the given skipChar is ignored - - struct MultiTarget { - const char *str; // string you're searching for - size_t len; // length of string you're searching for - size_t index; // index used by the search routine. - }; - - // This allows you to search for an arbitrary number of strings. - // Returns index of the target that is found first or -1 if timeout occurs. - int findMulti(struct MultiTarget *targets, int tCount); -}; - - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Tone.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Tone.cpp deleted file mode 100644 index 721621975..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Tone.cpp +++ /dev/null @@ -1,618 +0,0 @@ -/* Tone.cpp - - A Tone Generator Library - - Written by Brett Hagman - - 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 - -Version Modified By Date Comments -------- ----------- -------- -------- -0001 B Hagman 09/08/02 Initial coding -0002 B Hagman 09/08/18 Multiple pins -0003 B Hagman 09/08/18 Moved initialization from constructor to begin() -0004 B Hagman 09/09/26 Fixed problems with ATmega8 -0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers - 09/11/25 Changed pin toggle method to XOR - 09/11/25 Fixed timer0 from being excluded -0006 D Mellis 09/12/29 Replaced objects with functions -0007 M Sproul 10/08/29 Changed #ifdefs from cpu to register -0008 S Kanemoto 12/06/22 Fixed for Leonardo by @maris_HY -0009 J Reucker 15/04/10 Issue #292 Fixed problems with ATmega8 (thanks to Pete62) -0010 jipp 15/04/13 added additional define check #2923 -*************************************************/ - -#include -#include -#include "Arduino.h" -#include "pins_arduino.h" - -#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__) -#define TCCR2A TCCR2 -#define TCCR2B TCCR2 -#define COM2A1 COM21 -#define COM2A0 COM20 -#define OCR2A OCR2 -#define TIMSK2 TIMSK -#define OCIE2A OCIE2 -#define TIMER2_COMPA_vect TIMER2_COMP_vect -#define TIMSK1 TIMSK -#endif - -// timerx_toggle_count: -// > 0 - duration specified -// = 0 - stopped -// < 0 - infinitely (until stop() method called, or new play() called) - -#if !defined(__AVR_ATmega8__) -volatile long timer0_toggle_count; -volatile uint8_t *timer0_pin_port; -volatile uint8_t timer0_pin_mask; -#endif - -volatile long timer1_toggle_count; -volatile uint8_t *timer1_pin_port; -volatile uint8_t timer1_pin_mask; -volatile long timer2_toggle_count; -volatile uint8_t *timer2_pin_port; -volatile uint8_t timer2_pin_mask; - -#if defined(TIMSK3) -volatile long timer3_toggle_count; -volatile uint8_t *timer3_pin_port; -volatile uint8_t timer3_pin_mask; -#endif - -#if defined(TIMSK4) -volatile long timer4_toggle_count; -volatile uint8_t *timer4_pin_port; -volatile uint8_t timer4_pin_mask; -#endif - -#if defined(TIMSK5) -volatile long timer5_toggle_count; -volatile uint8_t *timer5_pin_port; -volatile uint8_t timer5_pin_mask; -#endif - - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ }; - -#elif defined(__AVR_ATmega8__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#elif defined(__AVR_ATmega32U4__) - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER3 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 3 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#else - -#define AVAILABLE_TONE_PINS 1 -#define USE_TIMER2 - -// Leave timer 0 to last. -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ }; - -#endif - - - -static int8_t toneBegin(uint8_t _pin) -{ - int8_t _timer = -1; - - // if we're already using the pin, the timer should be configured. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - return pgm_read_byte(tone_pin_to_timer_PGM + i); - } - } - - // search for an unused timer. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == 255) { - tone_pins[i] = _pin; - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - break; - } - } - - if (_timer != -1) - { - // Set timer specific stuff - // All timers in CTC mode - // 8 bit timers will require changing prescalar values, - // whereas 16 bit timers are set to either ck/1 or ck/64 prescalar - switch (_timer) - { - #if defined(TCCR0A) && defined(TCCR0B) && defined(WGM01) - case 0: - // 8 bit timer - TCCR0A = 0; - TCCR0B = 0; - bitWrite(TCCR0A, WGM01, 1); - bitWrite(TCCR0B, CS00, 1); - timer0_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer0_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12) - case 1: - // 16 bit timer - TCCR1A = 0; - TCCR1B = 0; - bitWrite(TCCR1B, WGM12, 1); - bitWrite(TCCR1B, CS10, 1); - timer1_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer1_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR2A) && defined(TCCR2B) - case 2: - // 8 bit timer - TCCR2A = 0; - TCCR2B = 0; - bitWrite(TCCR2A, WGM21, 1); - bitWrite(TCCR2B, CS20, 1); - timer2_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer2_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR3A) && defined(TCCR3B) && defined(TIMSK3) - case 3: - // 16 bit timer - TCCR3A = 0; - TCCR3B = 0; - bitWrite(TCCR3B, WGM32, 1); - bitWrite(TCCR3B, CS30, 1); - timer3_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer3_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR4A) && defined(TCCR4B) && defined(TIMSK4) - case 4: - // 16 bit timer - TCCR4A = 0; - TCCR4B = 0; - #if defined(WGM42) - bitWrite(TCCR4B, WGM42, 1); - #elif defined(CS43) - #warning this may not be correct - // atmega32u4 - bitWrite(TCCR4B, CS43, 1); - #endif - bitWrite(TCCR4B, CS40, 1); - timer4_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer4_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR5A) && defined(TCCR5B) && defined(TIMSK5) - case 5: - // 16 bit timer - TCCR5A = 0; - TCCR5B = 0; - bitWrite(TCCR5B, WGM52, 1); - bitWrite(TCCR5B, CS50, 1); - timer5_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer5_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - } - } - - return _timer; -} - - - -// frequency (in hertz) and duration (in milliseconds). - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration) -{ - uint8_t prescalarbits = 0b001; - long toggle_count = 0; - uint32_t ocr = 0; - int8_t _timer; - - _timer = toneBegin(_pin); - - if (_timer >= 0) - { - // Set the pinMode as OUTPUT - pinMode(_pin, OUTPUT); - - // if we are using an 8 bit timer, scan through prescalars to find the best fit - if (_timer == 0 || _timer == 2) - { - ocr = F_CPU / frequency / 2 - 1; - prescalarbits = 0b001; // ck/1: same for both timers - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 8 - 1; - prescalarbits = 0b010; // ck/8: same for both timers - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 32 - 1; - prescalarbits = 0b011; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = _timer == 0 ? 0b011 : 0b100; - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 128 - 1; - prescalarbits = 0b101; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 256 - 1; - prescalarbits = _timer == 0 ? 0b100 : 0b110; - if (ocr > 255) - { - // can't do any better than /1024 - ocr = F_CPU / frequency / 2 / 1024 - 1; - prescalarbits = _timer == 0 ? 0b101 : 0b111; - } - } - } - } - -#if defined(TCCR0B) - if (_timer == 0) - { - TCCR0B = (TCCR0B & 0b11111000) | prescalarbits; - } - else -#endif -#if defined(TCCR2B) - { - TCCR2B = (TCCR2B & 0b11111000) | prescalarbits; - } -#else - { - // dummy place holder to make the above ifdefs work - } -#endif - } - else - { - // two choices for the 16 bit timers: ck/1 or ck/64 - ocr = F_CPU / frequency / 2 - 1; - - prescalarbits = 0b001; - if (ocr > 0xffff) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = 0b011; - } - - if (_timer == 1) - { -#if defined(TCCR1B) - TCCR1B = (TCCR1B & 0b11111000) | prescalarbits; -#endif - } -#if defined(TCCR3B) - else if (_timer == 3) - TCCR3B = (TCCR3B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR4B) - else if (_timer == 4) - TCCR4B = (TCCR4B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR5B) - else if (_timer == 5) - TCCR5B = (TCCR5B & 0b11111000) | prescalarbits; -#endif - - } - - - // Calculate the toggle count - if (duration > 0) - { - toggle_count = 2 * frequency * duration / 1000; - } - else - { - toggle_count = -1; - } - - // Set the OCR for the given timer, - // set the toggle count, - // then turn on the interrupts - switch (_timer) - { - -#if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A) - case 0: - OCR0A = ocr; - timer0_toggle_count = toggle_count; - bitWrite(TIMSK0, OCIE0A, 1); - break; -#endif - - case 1: -#if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A) - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK1, OCIE1A, 1); -#elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A) - // this combination is for at least the ATmega32 - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK, OCIE1A, 1); -#endif - break; - -#if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A) - case 2: - OCR2A = ocr; - timer2_toggle_count = toggle_count; - bitWrite(TIMSK2, OCIE2A, 1); - break; -#endif - -#if defined(OCR3A) && defined(TIMSK3) && defined(OCIE3A) - case 3: - OCR3A = ocr; - timer3_toggle_count = toggle_count; - bitWrite(TIMSK3, OCIE3A, 1); - break; -#endif - -#if defined(OCR4A) && defined(TIMSK4) && defined(OCIE4A) - case 4: - OCR4A = ocr; - timer4_toggle_count = toggle_count; - bitWrite(TIMSK4, OCIE4A, 1); - break; -#endif - -#if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A) - case 5: - OCR5A = ocr; - timer5_toggle_count = toggle_count; - bitWrite(TIMSK5, OCIE5A, 1); - break; -#endif - - } - } -} - - -// XXX: this function only works properly for timer 2 (the only one we use -// currently). for the others, it should end the tone, but won't restore -// proper PWM functionality for the timer. -void disableTimer(uint8_t _timer) -{ - switch (_timer) - { - case 0: - #if defined(TIMSK0) - TIMSK0 = 0; - #elif defined(TIMSK) - TIMSK = 0; // atmega32 - #endif - break; - -#if defined(TIMSK1) && defined(OCIE1A) - case 1: - bitWrite(TIMSK1, OCIE1A, 0); - break; -#endif - - case 2: - #if defined(TIMSK2) && defined(OCIE2A) - bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt - #endif - #if defined(TCCR2A) && defined(WGM20) - TCCR2A = (1 << WGM20); - #endif - #if defined(TCCR2B) && defined(CS22) - TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22); - #endif - #if defined(OCR2A) - OCR2A = 0; - #endif - break; - -#if defined(TIMSK3) && defined(OCIE3A) - case 3: - bitWrite(TIMSK3, OCIE3A, 0); - break; -#endif - -#if defined(TIMSK4) && defined(OCIE4A) - case 4: - bitWrite(TIMSK4, OCIE4A, 0); - break; -#endif - -#if defined(TIMSK5) && defined(OCIE5A) - case 5: - bitWrite(TIMSK5, OCIE5A, 0); - break; -#endif - } -} - - -void noTone(uint8_t _pin) -{ - int8_t _timer = -1; - - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - tone_pins[i] = 255; - } - } - - disableTimer(_timer); - - digitalWrite(_pin, 0); -} - -#ifdef USE_TIMER0 -ISR(TIMER0_COMPA_vect) -{ - if (timer0_toggle_count != 0) - { - // toggle the pin - *timer0_pin_port ^= timer0_pin_mask; - - if (timer0_toggle_count > 0) - timer0_toggle_count--; - } - else - { - disableTimer(0); - *timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER1 -ISR(TIMER1_COMPA_vect) -{ - if (timer1_toggle_count != 0) - { - // toggle the pin - *timer1_pin_port ^= timer1_pin_mask; - - if (timer1_toggle_count > 0) - timer1_toggle_count--; - } - else - { - disableTimer(1); - *timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER2 -ISR(TIMER2_COMPA_vect) -{ - - if (timer2_toggle_count != 0) - { - // toggle the pin - *timer2_pin_port ^= timer2_pin_mask; - - if (timer2_toggle_count > 0) - timer2_toggle_count--; - } - else - { - // need to call noTone() so that the tone_pins[] entry is reset, so the - // timer gets initialized next time we call tone(). - // XXX: this assumes timer 2 is always the first one used. - noTone(tone_pins[0]); -// disableTimer(2); -// *timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER3 -ISR(TIMER3_COMPA_vect) -{ - if (timer3_toggle_count != 0) - { - // toggle the pin - *timer3_pin_port ^= timer3_pin_mask; - - if (timer3_toggle_count > 0) - timer3_toggle_count--; - } - else - { - disableTimer(3); - *timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER4 -ISR(TIMER4_COMPA_vect) -{ - if (timer4_toggle_count != 0) - { - // toggle the pin - *timer4_pin_port ^= timer4_pin_mask; - - if (timer4_toggle_count > 0) - timer4_toggle_count--; - } - else - { - disableTimer(4); - *timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop - } -} -#endif - - -#ifdef USE_TIMER5 -ISR(TIMER5_COMPA_vect) -{ - if (timer5_toggle_count != 0) - { - // toggle the pin - *timer5_pin_port ^= timer5_pin_mask; - - if (timer5_toggle_count > 0) - timer5_toggle_count--; - } - else - { - disableTimer(5); - *timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop - } -} -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBAPI.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBAPI.h deleted file mode 100644 index 2fab957f9..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBAPI.h +++ /dev/null @@ -1,244 +0,0 @@ -/* - USBAPI.h - Copyright (c) 2005-2014 Arduino. 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 __USBAPI__ -#define __USBAPI__ - -#include -#include -#include -#include -#include - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -#include "Arduino.h" - -#if defined(USBCON) - -#include "USBDesc.h" -#include "USBCore.h" - -//================================================================================ -//================================================================================ -// USB - -class USBDevice_ -{ -public: - USBDevice_(); - bool configured(); - - void attach(); - void detach(); // Serial port goes down too... - void poll(); -}; -extern USBDevice_ USBDevice; - -//================================================================================ -//================================================================================ -// Serial over CDC (Serial1 is the physical port) - -struct ring_buffer; - -#if (RAMEND < 1000) -#define SERIAL_BUFFER_SIZE 16 -#else -#define SERIAL_BUFFER_SIZE 64 -#endif - -class Serial_ : public Stream -{ -private: - int peek_buffer; -public: - Serial_() { peek_buffer = -1; }; - void begin(unsigned long); - void begin(unsigned long, uint8_t); - void end(void); - - virtual int available(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - virtual size_t write(const uint8_t*, size_t); - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); - - volatile uint8_t _rx_buffer_head; - volatile uint8_t _rx_buffer_tail; - unsigned char _rx_buffer[SERIAL_BUFFER_SIZE]; -}; -extern Serial_ Serial; - -#define HAVE_CDCSERIAL - -//================================================================================ -//================================================================================ -// Mouse - -#define MOUSE_LEFT 1 -#define MOUSE_RIGHT 2 -#define MOUSE_MIDDLE 4 -#define MOUSE_ALL (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE) - -class Mouse_ -{ -private: - uint8_t _buttons; - void buttons(uint8_t b); -public: - Mouse_(void); - void begin(void); - void end(void); - void click(uint8_t b = MOUSE_LEFT); - void move(signed char x, signed char y, signed char wheel = 0); - void press(uint8_t b = MOUSE_LEFT); // press LEFT by default - void release(uint8_t b = MOUSE_LEFT); // release LEFT by default - bool isPressed(uint8_t b = MOUSE_LEFT); // check LEFT by default -}; -extern Mouse_ Mouse; - -//================================================================================ -//================================================================================ -// Keyboard - -#define KEY_LEFT_CTRL 0x80 -#define KEY_LEFT_SHIFT 0x81 -#define KEY_LEFT_ALT 0x82 -#define KEY_LEFT_GUI 0x83 -#define KEY_RIGHT_CTRL 0x84 -#define KEY_RIGHT_SHIFT 0x85 -#define KEY_RIGHT_ALT 0x86 -#define KEY_RIGHT_GUI 0x87 - -#define KEY_UP_ARROW 0xDA -#define KEY_DOWN_ARROW 0xD9 -#define KEY_LEFT_ARROW 0xD8 -#define KEY_RIGHT_ARROW 0xD7 -#define KEY_BACKSPACE 0xB2 -#define KEY_TAB 0xB3 -#define KEY_RETURN 0xB0 -#define KEY_ESC 0xB1 -#define KEY_INSERT 0xD1 -#define KEY_DELETE 0xD4 -#define KEY_PAGE_UP 0xD3 -#define KEY_PAGE_DOWN 0xD6 -#define KEY_HOME 0xD2 -#define KEY_END 0xD5 -#define KEY_CAPS_LOCK 0xC1 -#define KEY_F1 0xC2 -#define KEY_F2 0xC3 -#define KEY_F3 0xC4 -#define KEY_F4 0xC5 -#define KEY_F5 0xC6 -#define KEY_F6 0xC7 -#define KEY_F7 0xC8 -#define KEY_F8 0xC9 -#define KEY_F9 0xCA -#define KEY_F10 0xCB -#define KEY_F11 0xCC -#define KEY_F12 0xCD - -// Low level key report: up to 6 keys and shift, ctrl etc at once -typedef struct -{ - uint8_t modifiers; - uint8_t reserved; - uint8_t keys[6]; -} KeyReport; - -class Keyboard_ : public Print -{ -private: - KeyReport _keyReport; - void sendReport(KeyReport* keys); -public: - Keyboard_(void); - void begin(void); - void end(void); - virtual size_t write(uint8_t k); - virtual size_t press(uint8_t k); - virtual size_t release(uint8_t k); - virtual void releaseAll(void); -}; -extern Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ -// Low level API - -typedef struct -{ - uint8_t bmRequestType; - uint8_t bRequest; - uint8_t wValueL; - uint8_t wValueH; - uint16_t wIndex; - uint16_t wLength; -} Setup; - -//================================================================================ -//================================================================================ -// HID 'Driver' - -int HID_GetInterface(uint8_t* interfaceNum); -int HID_GetDescriptor(int i); -bool HID_Setup(Setup& setup); -void HID_SendReport(uint8_t id, const void* data, int len); - -//================================================================================ -//================================================================================ -// MSC 'Driver' - -int MSC_GetInterface(uint8_t* interfaceNum); -int MSC_GetDescriptor(int i); -bool MSC_Setup(Setup& setup); -bool MSC_Data(uint8_t rx,uint8_t tx); - -//================================================================================ -//================================================================================ -// CSC 'Driver' - -int CDC_GetInterface(uint8_t* interfaceNum); -int CDC_GetDescriptor(int i); -bool CDC_Setup(Setup& setup); - -//================================================================================ -//================================================================================ - -#define TRANSFER_PGM 0x80 -#define TRANSFER_RELEASE 0x40 -#define TRANSFER_ZERO 0x20 - -int USB_SendControl(uint8_t flags, const void* d, int len); -int USB_RecvControl(void* d, int len); - -uint8_t USB_Available(uint8_t ep); -int USB_Send(uint8_t ep, const void* data, int len); // blocking -int USB_Recv(uint8_t ep, void* data, int len); // non-blocking -int USB_Recv(uint8_t ep); // non-blocking -void USB_Flush(uint8_t ep); - -#endif - -#endif /* if defined(USBCON) */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBCore.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBCore.cpp deleted file mode 100644 index b4f7bed7e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBCore.cpp +++ /dev/null @@ -1,699 +0,0 @@ - - -/* Copyright (c) 2010, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "USBAPI.h" - -#if defined(USBCON) - -#define EP_TYPE_CONTROL 0x00 -#define EP_TYPE_BULK_IN 0x81 -#define EP_TYPE_BULK_OUT 0x80 -#define EP_TYPE_INTERRUPT_IN 0xC1 -#define EP_TYPE_INTERRUPT_OUT 0xC0 -#define EP_TYPE_ISOCHRONOUS_IN 0x41 -#define EP_TYPE_ISOCHRONOUS_OUT 0x40 - -/** Pulse generation counters to keep track of the number of milliseconds remaining for each pulse type */ -#define TX_RX_LED_PULSE_MS 100 -volatile u8 TxLEDPulse; /**< Milliseconds remaining for data Tx LED pulse */ -volatile u8 RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */ - -//================================================================== -//================================================================== - -extern const u16 STRING_LANGUAGE[] PROGMEM; -extern const u8 STRING_PRODUCT[] PROGMEM; -extern const u8 STRING_MANUFACTURER[] PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptor PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptorA PROGMEM; - -const u16 STRING_LANGUAGE[2] = { - (3<<8) | (2+2), - 0x0409 // English -}; - -#ifndef USB_PRODUCT -// If no product is provided, use USB IO Board -#define USB_PRODUCT "USB IO Board" -#endif - -const u8 STRING_PRODUCT[] PROGMEM = USB_PRODUCT; - -#if USB_VID == 0x2341 -# if defined(USB_MANUFACTURER) -# undef USB_MANUFACTURER -# endif -# define USB_MANUFACTURER "Arduino LLC" -#elif USB_VID == 0x1b4f -# if defined(USB_MANUFACTURER) -# undef USB_MANUFACTURER -# endif -# define USB_MANUFACTURER "SparkFun" -#elif !defined(USB_MANUFACTURER) -// Fall through to unknown if no manufacturer name was provided in a macro -# define USB_MANUFACTURER "Unknown" -#endif - -const u8 STRING_MANUFACTURER[] PROGMEM = USB_MANUFACTURER; - - -#ifdef CDC_ENABLED -#define DEVICE_CLASS 0x02 -#else -#define DEVICE_CLASS 0x00 -#endif - -// DEVICE DESCRIPTOR -const DeviceDescriptor USB_DeviceDescriptor = - D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -const DeviceDescriptor USB_DeviceDescriptorA = - D_DEVICE(DEVICE_CLASS,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -//================================================================== -//================================================================== - -volatile u8 _usbConfiguration = 0; - -static inline void WaitIN(void) -{ - while (!(UEINTX & (1< len) - n = len; - { - LockEP lock(ep); - // Frame may have been released by the SOF interrupt handler - if (!ReadWriteAllowed()) - continue; - len -= n; - if (ep & TRANSFER_ZERO) - { - while (n--) - Send8(0); - } - else if (ep & TRANSFER_PGM) - { - while (n--) - Send8(pgm_read_byte(data++)); - } - else - { - while (n--) - Send8(*data++); - } - if (!ReadWriteAllowed() || ((len == 0) && (ep & TRANSFER_RELEASE))) // Release full buffer - ReleaseTX(); - } - } - TXLED1; // light the TX LED - TxLEDPulse = TX_RX_LED_PULSE_MS; - return r; -} - -extern const u8 _initEndpoints[] PROGMEM; -const u8 _initEndpoints[] = -{ - 0, - -#ifdef CDC_ENABLED - EP_TYPE_INTERRUPT_IN, // CDC_ENDPOINT_ACM - EP_TYPE_BULK_OUT, // CDC_ENDPOINT_OUT - EP_TYPE_BULK_IN, // CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED - EP_TYPE_INTERRUPT_IN // HID_ENDPOINT_INT -#endif -}; - -#define EP_SINGLE_64 0x32 // EP0 -#define EP_DOUBLE_64 0x36 // Other endpoints - -static -void InitEP(u8 index, u8 type, u8 size) -{ - UENUM = index; - UECONX = 1; - UECFG0X = type; - UECFG1X = size; -} - -static -void InitEndpoints() -{ - for (u8 i = 1; i < sizeof(_initEndpoints); i++) - { - UENUM = i; - UECONX = 1; - UECFG0X = pgm_read_byte(_initEndpoints+i); - UECFG1X = EP_DOUBLE_64; - } - UERST = 0x7E; // And reset them - UERST = 0; -} - -// Handle CLASS_INTERFACE requests -static -bool ClassInterfaceRequest(Setup& setup) -{ - u8 i = setup.wIndex; - -#ifdef CDC_ENABLED - if (CDC_ACM_INTERFACE == i) - return CDC_Setup(setup); -#endif - -#ifdef HID_ENABLED - if (HID_INTERFACE == i) - return HID_Setup(setup); -#endif - return false; -} - -int _cmark; -int _cend; -void InitControl(int end) -{ - SetEP(0); - _cmark = 0; - _cend = end; -} - -static -bool SendControl(u8 d) -{ - if (_cmark < _cend) - { - if (!WaitForINOrOUT()) - return false; - Send8(d); - if (!((_cmark + 1) & 0x3F)) - ClearIN(); // Fifo is full, release this packet - } - _cmark++; - return true; -}; - -// Clipped by _cmark/_cend -int USB_SendControl(u8 flags, const void* d, int len) -{ - int sent = len; - const u8* data = (const u8*)d; - bool pgm = flags & TRANSFER_PGM; - while (len--) - { - u8 c = pgm ? pgm_read_byte(data++) : *data++; - if (!SendControl(c)) - return -1; - } - return sent; -} - -// Send a USB descriptor string. The string is stored in PROGMEM as a -// plain ASCII string but is sent out as UTF-16 with the correct 2-byte -// prefix -static bool USB_SendStringDescriptor(const u8*string_P, u8 string_len) { - SendControl(2 + string_len * 2); - SendControl(3); - for(u8 i = 0; i < string_len; i++) { - bool r = SendControl(pgm_read_byte(&string_P[i])); - r &= SendControl(0); // high byte - if(!r) { - return false; - } - } - return true; -} - -// Does not timeout or cross fifo boundaries -// Will only work for transfers <= 64 bytes -// TODO -int USB_RecvControl(void* d, int len) -{ - WaitOUT(); - Recv((u8*)d,len); - ClearOUT(); - return len; -} - -int SendInterfaces() -{ - int total = 0; - u8 interfaces = 0; - -#ifdef CDC_ENABLED - total = CDC_GetInterface(&interfaces); -#endif - -#ifdef HID_ENABLED - total += HID_GetInterface(&interfaces); -#endif - - return interfaces; -} - -// Construct a dynamic configuration descriptor -// This really needs dynamic endpoint allocation etc -// TODO -static -bool SendConfiguration(int maxlen) -{ - // Count and measure interfaces - InitControl(0); - int interfaces = SendInterfaces(); - ConfigDescriptor config = D_CONFIG(_cmark + sizeof(ConfigDescriptor),interfaces); - - // Now send them - InitControl(maxlen); - USB_SendControl(0,&config,sizeof(ConfigDescriptor)); - SendInterfaces(); - return true; -} - -u8 _cdcComposite = 0; - -static -bool SendDescriptor(Setup& setup) -{ - u8 t = setup.wValueH; - if (USB_CONFIGURATION_DESCRIPTOR_TYPE == t) - return SendConfiguration(setup.wLength); - - InitControl(setup.wLength); -#ifdef HID_ENABLED - if (HID_REPORT_DESCRIPTOR_TYPE == t) - return HID_GetDescriptor(t); -#endif - - const u8* desc_addr = 0; - if (USB_DEVICE_DESCRIPTOR_TYPE == t) - { - if (setup.wLength == 8) - _cdcComposite = 1; - desc_addr = _cdcComposite ? (const u8*)&USB_DeviceDescriptorA : (const u8*)&USB_DeviceDescriptor; - } - else if (USB_STRING_DESCRIPTOR_TYPE == t) - { - if (setup.wValueL == 0) { - desc_addr = (const u8*)&STRING_LANGUAGE; - } - else if (setup.wValueL == IPRODUCT) { - return USB_SendStringDescriptor(STRING_PRODUCT, strlen(USB_PRODUCT)); - } - else if (setup.wValueL == IMANUFACTURER) { - return USB_SendStringDescriptor(STRING_MANUFACTURER, strlen(USB_MANUFACTURER)); - } - else - return false; - } - - if (desc_addr == 0) - return false; - u8 desc_length = pgm_read_byte(desc_addr); - - USB_SendControl(TRANSFER_PGM,desc_addr,desc_length); - return true; -} - -// Endpoint 0 interrupt -ISR(USB_COM_vect) -{ - SetEP(0); - if (!ReceivedSetupInt()) - return; - - Setup setup; - Recv((u8*)&setup,8); - ClearSetupInt(); - - u8 requestType = setup.bmRequestType; - if (requestType & REQUEST_DEVICETOHOST) - WaitIN(); - else - ClearIN(); - - bool ok = true; - if (REQUEST_STANDARD == (requestType & REQUEST_TYPE)) - { - // Standard Requests - u8 r = setup.bRequest; - if (GET_STATUS == r) - { - Send8(0); // TODO - Send8(0); - } - else if (CLEAR_FEATURE == r) - { - } - else if (SET_FEATURE == r) - { - } - else if (SET_ADDRESS == r) - { - WaitIN(); - UDADDR = setup.wValueL | (1<> 8) & 0xFF) - -#define CDC_V1_10 0x0110 -#define CDC_COMMUNICATION_INTERFACE_CLASS 0x02 - -#define CDC_CALL_MANAGEMENT 0x01 -#define CDC_ABSTRACT_CONTROL_MODEL 0x02 -#define CDC_HEADER 0x00 -#define CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02 -#define CDC_UNION 0x06 -#define CDC_CS_INTERFACE 0x24 -#define CDC_CS_ENDPOINT 0x25 -#define CDC_DATA_INTERFACE_CLASS 0x0A - -#define MSC_SUBCLASS_SCSI 0x06 -#define MSC_PROTOCOL_BULK_ONLY 0x50 - -#define HID_HID_DESCRIPTOR_TYPE 0x21 -#define HID_REPORT_DESCRIPTOR_TYPE 0x22 -#define HID_PHYSICAL_DESCRIPTOR_TYPE 0x23 - - -// Device -typedef struct { - u8 len; // 18 - u8 dtype; // 1 USB_DEVICE_DESCRIPTOR_TYPE - u16 usbVersion; // 0x200 - u8 deviceClass; - u8 deviceSubClass; - u8 deviceProtocol; - u8 packetSize0; // Packet 0 - u16 idVendor; - u16 idProduct; - u16 deviceVersion; // 0x100 - u8 iManufacturer; - u8 iProduct; - u8 iSerialNumber; - u8 bNumConfigurations; -} DeviceDescriptor; - -// Config -typedef struct { - u8 len; // 9 - u8 dtype; // 2 - u16 clen; // total length - u8 numInterfaces; - u8 config; - u8 iconfig; - u8 attributes; - u8 maxPower; -} ConfigDescriptor; - -// String - -// Interface -typedef struct -{ - u8 len; // 9 - u8 dtype; // 4 - u8 number; - u8 alternate; - u8 numEndpoints; - u8 interfaceClass; - u8 interfaceSubClass; - u8 protocol; - u8 iInterface; -} InterfaceDescriptor; - -// Endpoint -typedef struct -{ - u8 len; // 7 - u8 dtype; // 5 - u8 addr; - u8 attr; - u16 packetSize; - u8 interval; -} EndpointDescriptor; - -// Interface Association Descriptor -// Used to bind 2 interfaces together in CDC compostite device -typedef struct -{ - u8 len; // 8 - u8 dtype; // 11 - u8 firstInterface; - u8 interfaceCount; - u8 functionClass; - u8 funtionSubClass; - u8 functionProtocol; - u8 iInterface; -} IADDescriptor; - -// CDC CS interface descriptor -typedef struct -{ - u8 len; // 5 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; - u8 d1; -} CDCCSInterfaceDescriptor; - -typedef struct -{ - u8 len; // 4 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; -} CDCCSInterfaceDescriptor4; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; - u8 bDataInterface; -} CMFunctionalDescriptor; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; -} ACMFunctionalDescriptor; - -typedef struct -{ - // IAD - IADDescriptor iad; // Only needed on compound device - - // Control - InterfaceDescriptor cif; // - CDCCSInterfaceDescriptor header; - CMFunctionalDescriptor callManagement; // Call Management - ACMFunctionalDescriptor controlManagement; // ACM - CDCCSInterfaceDescriptor functionalDescriptor; // CDC_UNION - EndpointDescriptor cifin; - - // Data - InterfaceDescriptor dif; - EndpointDescriptor in; - EndpointDescriptor out; -} CDCDescriptor; - -typedef struct -{ - InterfaceDescriptor msc; - EndpointDescriptor in; - EndpointDescriptor out; -} MSCDescriptor; - -typedef struct -{ - u8 len; // 9 - u8 dtype; // 0x21 - u8 addr; - u8 versionL; // 0x101 - u8 versionH; // 0x101 - u8 country; - u8 desctype; // 0x22 report - u8 descLenL; - u8 descLenH; -} HIDDescDescriptor; - -typedef struct -{ - InterfaceDescriptor hid; - HIDDescDescriptor desc; - EndpointDescriptor in; -} HIDDescriptor; - - -#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \ - { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs } - -#define D_CONFIG(_totalLength,_interfaces) \ - { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED, USB_CONFIG_POWER_MA(500) } - -#define D_INTERFACE(_n,_numEndpoints,_class,_subClass,_protocol) \ - { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 } - -#define D_ENDPOINT(_addr,_attr,_packetSize, _interval) \ - { 7, 5, _addr,_attr,_packetSize, _interval } - -#define D_IAD(_firstInterface, _count, _class, _subClass, _protocol) \ - { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 } - -#define D_HIDREPORT(_descriptorLength) \ - { 9, 0x21, 0x1, 0x1, 0, 1, 0x22, _descriptorLength, 0 } - -#define D_CDCCS(_subtype,_d0,_d1) { 5, 0x24, _subtype, _d0, _d1 } -#define D_CDCCS4(_subtype,_d0) { 4, 0x24, _subtype, _d0 } - - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBDesc.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBDesc.h deleted file mode 100644 index 900713e0f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/USBDesc.h +++ /dev/null @@ -1,63 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#define CDC_ENABLED -#define HID_ENABLED - - -#ifdef CDC_ENABLED -#define CDC_INTERFACE_COUNT 2 -#define CDC_ENPOINT_COUNT 3 -#else -#define CDC_INTERFACE_COUNT 0 -#define CDC_ENPOINT_COUNT 0 -#endif - -#ifdef HID_ENABLED -#define HID_INTERFACE_COUNT 1 -#define HID_ENPOINT_COUNT 1 -#else -#define HID_INTERFACE_COUNT 0 -#define HID_ENPOINT_COUNT 0 -#endif - -#define CDC_ACM_INTERFACE 0 // CDC ACM -#define CDC_DATA_INTERFACE 1 // CDC Data -#define CDC_FIRST_ENDPOINT 1 -#define CDC_ENDPOINT_ACM (CDC_FIRST_ENDPOINT) // CDC First -#define CDC_ENDPOINT_OUT (CDC_FIRST_ENDPOINT+1) -#define CDC_ENDPOINT_IN (CDC_FIRST_ENDPOINT+2) - -#define HID_INTERFACE (CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT) // HID Interface -#define HID_FIRST_ENDPOINT (CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT) -#define HID_ENDPOINT_INT (HID_FIRST_ENDPOINT) - -#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT) - -#ifdef CDC_ENABLED -#define CDC_RX CDC_ENDPOINT_OUT -#define CDC_TX CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED -#define HID_TX HID_ENDPOINT_INT -#endif - -#define IMANUFACTURER 1 -#define IPRODUCT 2 - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Udp.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Udp.h deleted file mode 100644 index dc5644b9d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/Udp.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Udp.cpp: Library to send/receive UDP packets. - * - * NOTE: UDP is fast, but has some important limitations (thanks to Warren Gray for mentioning these) - * 1) UDP does not guarantee the order in which assembled UDP packets are received. This - * might not happen often in practice, but in larger network topologies, a UDP - * packet can be received out of sequence. - * 2) UDP does not guard against lost packets - so packets *can* disappear without the sender being - * aware of it. Again, this may not be a concern in practice on small local networks. - * For more information, see http://www.cafeaulait.org/course/week12/35.html - * - * MIT License: - * Copyright (c) 2008 Bjoern Hartmann - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * bjoern@cs.stanford.edu 12/30/2008 - */ - -#ifndef udp_h -#define udp_h - -#include -#include - -class UDP : public Stream { - -public: - virtual uint8_t begin(uint16_t) =0; // initialize, start listening on specified port. Returns 1 if successful, 0 if there are no sockets available to use - virtual void stop() =0; // Finish with the UDP socket - - // Sending UDP packets - - // Start building up a packet to send to the remote host specific in ip and port - // Returns 1 if successful, 0 if there was a problem with the supplied IP address or port - virtual int beginPacket(IPAddress ip, uint16_t port) =0; - // Start building up a packet to send to the remote host specific in host and port - // Returns 1 if successful, 0 if there was a problem resolving the hostname or port - virtual int beginPacket(const char *host, uint16_t port) =0; - // Finish off this packet and send it - // Returns 1 if the packet was sent successfully, 0 if there was an error - virtual int endPacket() =0; - // Write a single byte into the packet - virtual size_t write(uint8_t) =0; - // Write size bytes from buffer into the packet - virtual size_t write(const uint8_t *buffer, size_t size) =0; - - // Start processing the next available incoming packet - // Returns the size of the packet in bytes, or 0 if no packets are available - virtual int parsePacket() =0; - // Number of bytes remaining in the current packet - virtual int available() =0; - // Read a single byte from the current packet - virtual int read() =0; - // Read up to len bytes from the current packet and place them into buffer - // Returns the number of bytes read, or 0 if none are available - virtual int read(unsigned char* buffer, size_t len) =0; - // Read up to len characters from the current packet and place them into buffer - // Returns the number of characters read, or 0 if none are available - virtual int read(char* buffer, size_t len) =0; - // Return the next byte from the current packet without moving on to the next byte - virtual int peek() =0; - virtual void flush() =0; // Finish reading the current packet - - // Return the IP address of the host who sent the current incoming packet - virtual IPAddress remoteIP() =0; - // Return the port of the host who sent the current incoming packet - virtual uint16_t remotePort() =0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WCharacter.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WCharacter.h deleted file mode 100644 index 79733b50a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WCharacter.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - WCharacter.h - Character utility functions for Wiring & Arduino - Copyright (c) 2010 Hernando Barragan. 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 Character_h -#define Character_h - -#include - -// WCharacter.h prototypes -inline boolean isAlphaNumeric(int c) __attribute__((always_inline)); -inline boolean isAlpha(int c) __attribute__((always_inline)); -inline boolean isAscii(int c) __attribute__((always_inline)); -inline boolean isWhitespace(int c) __attribute__((always_inline)); -inline boolean isControl(int c) __attribute__((always_inline)); -inline boolean isDigit(int c) __attribute__((always_inline)); -inline boolean isGraph(int c) __attribute__((always_inline)); -inline boolean isLowerCase(int c) __attribute__((always_inline)); -inline boolean isPrintable(int c) __attribute__((always_inline)); -inline boolean isPunct(int c) __attribute__((always_inline)); -inline boolean isSpace(int c) __attribute__((always_inline)); -inline boolean isUpperCase(int c) __attribute__((always_inline)); -inline boolean isHexadecimalDigit(int c) __attribute__((always_inline)); -inline int toAscii(int c) __attribute__((always_inline)); -inline int toLowerCase(int c) __attribute__((always_inline)); -inline int toUpperCase(int c)__attribute__((always_inline)); - - -// Checks for an alphanumeric character. -// It is equivalent to (isalpha(c) || isdigit(c)). -inline boolean isAlphaNumeric(int c) -{ - return ( isalnum(c) == 0 ? false : true); -} - - -// Checks for an alphabetic character. -// It is equivalent to (isupper(c) || islower(c)). -inline boolean isAlpha(int c) -{ - return ( isalpha(c) == 0 ? false : true); -} - - -// Checks whether c is a 7-bit unsigned char value -// that fits into the ASCII character set. -inline boolean isAscii(int c) -{ - return ( isascii (c) == 0 ? false : true); -} - - -// Checks for a blank character, that is, a space or a tab. -inline boolean isWhitespace(int c) -{ - return ( isblank (c) == 0 ? false : true); -} - - -// Checks for a control character. -inline boolean isControl(int c) -{ - return ( iscntrl (c) == 0 ? false : true); -} - - -// Checks for a digit (0 through 9). -inline boolean isDigit(int c) -{ - return ( isdigit (c) == 0 ? false : true); -} - - -// Checks for any printable character except space. -inline boolean isGraph(int c) -{ - return ( isgraph (c) == 0 ? false : true); -} - - -// Checks for a lower-case character. -inline boolean isLowerCase(int c) -{ - return (islower (c) == 0 ? false : true); -} - - -// Checks for any printable character including space. -inline boolean isPrintable(int c) -{ - return ( isprint (c) == 0 ? false : true); -} - - -// Checks for any printable character which is not a space -// or an alphanumeric character. -inline boolean isPunct(int c) -{ - return ( ispunct (c) == 0 ? false : true); -} - - -// Checks for white-space characters. For the avr-libc library, -// these are: space, formfeed ('\f'), newline ('\n'), carriage -// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v'). -inline boolean isSpace(int c) -{ - return ( isspace (c) == 0 ? false : true); -} - - -// Checks for an uppercase letter. -inline boolean isUpperCase(int c) -{ - return ( isupper (c) == 0 ? false : true); -} - - -// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 -// 8 9 a b c d e f A B C D E F. -inline boolean isHexadecimalDigit(int c) -{ - return ( isxdigit (c) == 0 ? false : true); -} - - -// Converts c to a 7-bit unsigned char value that fits into the -// ASCII character set, by clearing the high-order bits. -inline int toAscii(int c) -{ - return toascii (c); -} - - -// Warning: -// Many people will be unhappy if you use this function. -// This function will convert accented letters into random -// characters. - -// Converts the letter c to lower case, if possible. -inline int toLowerCase(int c) -{ - return tolower (c); -} - - -// Converts the letter c to upper case, if possible. -inline int toUpperCase(int c) -{ - return toupper (c); -} - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WInterrupts.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WInterrupts.c deleted file mode 100644 index d3fbf100e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WInterrupts.c +++ /dev/null @@ -1,334 +0,0 @@ -/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Wiring project - http://wiring.uniandes.edu.co - - Copyright (c) 2004-05 Hernando Barragan - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 24 November 2006 by David A. Mellis - Modified 1 August 2010 by Mark Sproul -*/ - -#include -#include -#include -#include -#include - -#include "wiring_private.h" - -static volatile voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS]; -// volatile static voidFuncPtr twiIntFunc; - -void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) { - if(interruptNum < EXTERNAL_NUM_INTERRUPTS) { - intFunc[interruptNum] = userFunc; - - // Configure the interrupt mode (trigger on low input, any change, rising - // edge, or falling edge). The mode constants were chosen to correspond - // to the configuration bits in the hardware register, so we simply shift - // the mode into place. - - // Enable the interrupt. - - switch (interruptNum) { -#if defined(__AVR_ATmega32U4__) - // I hate doing this, but the register assignment differs between the 1280/2560 - // and the 32U4. Since avrlib defines registers PCMSK1 and PCMSK2 that aren't - // even present on the 32U4 this is the only way to distinguish between them. - case 0: - EICRA = (EICRA & ~((1<= howbig) { - return howsmall; - } - long diff = howbig - howsmall; - return random(diff) + howsmall; -} - -long map(long x, long in_min, long in_max, long out_min, long out_max) -{ - return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -} - -unsigned int makeWord(unsigned int w) { return w; } -unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; } \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.cpp deleted file mode 100644 index dcd469d7d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.cpp +++ /dev/null @@ -1,745 +0,0 @@ -/* - WString.cpp - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All rights reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 "WString.h" - -/*********************************************/ -/* Constructors */ -/*********************************************/ - -String::String(const char *cstr) -{ - init(); - if (cstr) copy(cstr, strlen(cstr)); -} - -String::String(const String &value) -{ - init(); - *this = value; -} - -String::String(const __FlashStringHelper *pstr) -{ - init(); - *this = pstr; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String::String(String &&rval) -{ - init(); - move(rval); -} -String::String(StringSumHelper &&rval) -{ - init(); - move(rval); -} -#endif - -String::String(char c) -{ - init(); - char buf[2]; - buf[0] = c; - buf[1] = 0; - *this = buf; -} - -String::String(unsigned char value, unsigned char base) -{ - init(); - char buf[1 + 8 * sizeof(unsigned char)]; - utoa(value, buf, base); - *this = buf; -} - -String::String(int value, unsigned char base) -{ - init(); - char buf[2 + 8 * sizeof(int)]; - itoa(value, buf, base); - *this = buf; -} - -String::String(unsigned int value, unsigned char base) -{ - init(); - char buf[1 + 8 * sizeof(unsigned int)]; - utoa(value, buf, base); - *this = buf; -} - -String::String(long value, unsigned char base) -{ - init(); - char buf[2 + 8 * sizeof(long)]; - ltoa(value, buf, base); - *this = buf; -} - -String::String(unsigned long value, unsigned char base) -{ - init(); - char buf[1 + 8 * sizeof(unsigned long)]; - ultoa(value, buf, base); - *this = buf; -} - -String::String(float value, unsigned char decimalPlaces) -{ - init(); - char buf[33]; - *this = dtostrf(value, (decimalPlaces + 2), decimalPlaces, buf); -} - -String::String(double value, unsigned char decimalPlaces) -{ - init(); - char buf[33]; - *this = dtostrf(value, (decimalPlaces + 2), decimalPlaces, buf); -} - -String::~String() -{ - free(buffer); -} - -/*********************************************/ -/* Memory Management */ -/*********************************************/ - -inline void String::init(void) -{ - buffer = NULL; - capacity = 0; - len = 0; -} - -void String::invalidate(void) -{ - if (buffer) free(buffer); - buffer = NULL; - capacity = len = 0; -} - -unsigned char String::reserve(unsigned int size) -{ - if (buffer && capacity >= size) return 1; - if (changeBuffer(size)) { - if (len == 0) buffer[0] = 0; - return 1; - } - return 0; -} - -unsigned char String::changeBuffer(unsigned int maxStrLen) -{ - char *newbuffer = (char *)realloc(buffer, maxStrLen + 1); - if (newbuffer) { - buffer = newbuffer; - capacity = maxStrLen; - return 1; - } - return 0; -} - -/*********************************************/ -/* Copy and Move */ -/*********************************************/ - -String & String::copy(const char *cstr, unsigned int length) -{ - if (!reserve(length)) { - invalidate(); - return *this; - } - len = length; - strcpy(buffer, cstr); - return *this; -} - -String & String::copy(const __FlashStringHelper *pstr, unsigned int length) -{ - if (!reserve(length)) { - invalidate(); - return *this; - } - len = length; - strcpy_P(buffer, (PGM_P)pstr); - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -void String::move(String &rhs) -{ - if (buffer) { - if (capacity >= rhs.len) { - strcpy(buffer, rhs.buffer); - len = rhs.len; - rhs.len = 0; - return; - } else { - free(buffer); - } - } - buffer = rhs.buffer; - capacity = rhs.capacity; - len = rhs.len; - rhs.buffer = NULL; - rhs.capacity = 0; - rhs.len = 0; -} -#endif - -String & String::operator = (const String &rhs) -{ - if (this == &rhs) return *this; - - if (rhs.buffer) copy(rhs.buffer, rhs.len); - else invalidate(); - - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String & String::operator = (String &&rval) -{ - if (this != &rval) move(rval); - return *this; -} - -String & String::operator = (StringSumHelper &&rval) -{ - if (this != &rval) move(rval); - return *this; -} -#endif - -String & String::operator = (const char *cstr) -{ - if (cstr) copy(cstr, strlen(cstr)); - else invalidate(); - - return *this; -} - -String & String::operator = (const __FlashStringHelper *pstr) -{ - if (pstr) copy(pstr, strlen_P((PGM_P)pstr)); - else invalidate(); - - return *this; -} - -/*********************************************/ -/* concat */ -/*********************************************/ - -unsigned char String::concat(const String &s) -{ - return concat(s.buffer, s.len); -} - -unsigned char String::concat(const char *cstr, unsigned int length) -{ - unsigned int newlen = len + length; - if (!cstr) return 0; - if (length == 0) return 1; - if (!reserve(newlen)) return 0; - strcpy(buffer + len, cstr); - len = newlen; - return 1; -} - -unsigned char String::concat(const char *cstr) -{ - if (!cstr) return 0; - return concat(cstr, strlen(cstr)); -} - -unsigned char String::concat(char c) -{ - char buf[2]; - buf[0] = c; - buf[1] = 0; - return concat(buf, 1); -} - -unsigned char String::concat(unsigned char num) -{ - char buf[1 + 3 * sizeof(unsigned char)]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(int num) -{ - char buf[2 + 3 * sizeof(int)]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned int num) -{ - char buf[1 + 3 * sizeof(unsigned int)]; - utoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(long num) -{ - char buf[2 + 3 * sizeof(long)]; - ltoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned long num) -{ - char buf[1 + 3 * sizeof(unsigned long)]; - ultoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(float num) -{ - char buf[20]; - char* string = dtostrf(num, 4, 2, buf); - return concat(string, strlen(string)); -} - -unsigned char String::concat(double num) -{ - char buf[20]; - char* string = dtostrf(num, 4, 2, buf); - return concat(string, strlen(string)); -} - -unsigned char String::concat(const __FlashStringHelper * str) -{ - if (!str) return 0; - int length = strlen_P((const char *) str); - if (length == 0) return 1; - unsigned int newlen = len + length; - if (!reserve(newlen)) return 0; - strcpy_P(buffer + len, (const char *) str); - len = newlen; - return 1; -} - -/*********************************************/ -/* Concatenate */ -/*********************************************/ - -StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(rhs.buffer, rhs.len)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr) -{ - StringSumHelper &a = const_cast(lhs); - if (!cstr || !a.concat(cstr, strlen(cstr))) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, char c) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(c)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, float num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, double num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, const __FlashStringHelper *rhs) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(rhs)) a.invalidate(); - return a; -} - -/*********************************************/ -/* Comparison */ -/*********************************************/ - -int String::compareTo(const String &s) const -{ - if (!buffer || !s.buffer) { - if (s.buffer && s.len > 0) return 0 - *(unsigned char *)s.buffer; - if (buffer && len > 0) return *(unsigned char *)buffer; - return 0; - } - return strcmp(buffer, s.buffer); -} - -unsigned char String::equals(const String &s2) const -{ - return (len == s2.len && compareTo(s2) == 0); -} - -unsigned char String::equals(const char *cstr) const -{ - if (len == 0) return (cstr == NULL || *cstr == 0); - if (cstr == NULL) return buffer[0] == 0; - return strcmp(buffer, cstr) == 0; -} - -unsigned char String::operator<(const String &rhs) const -{ - return compareTo(rhs) < 0; -} - -unsigned char String::operator>(const String &rhs) const -{ - return compareTo(rhs) > 0; -} - -unsigned char String::operator<=(const String &rhs) const -{ - return compareTo(rhs) <= 0; -} - -unsigned char String::operator>=(const String &rhs) const -{ - return compareTo(rhs) >= 0; -} - -unsigned char String::equalsIgnoreCase( const String &s2 ) const -{ - if (this == &s2) return 1; - if (len != s2.len) return 0; - if (len == 0) return 1; - const char *p1 = buffer; - const char *p2 = s2.buffer; - while (*p1) { - if (tolower(*p1++) != tolower(*p2++)) return 0; - } - return 1; -} - -unsigned char String::startsWith( const String &s2 ) const -{ - if (len < s2.len) return 0; - return startsWith(s2, 0); -} - -unsigned char String::startsWith( const String &s2, unsigned int offset ) const -{ - if (offset > len - s2.len || !buffer || !s2.buffer) return 0; - return strncmp( &buffer[offset], s2.buffer, s2.len ) == 0; -} - -unsigned char String::endsWith( const String &s2 ) const -{ - if ( len < s2.len || !buffer || !s2.buffer) return 0; - return strcmp(&buffer[len - s2.len], s2.buffer) == 0; -} - -/*********************************************/ -/* Character Access */ -/*********************************************/ - -char String::charAt(unsigned int loc) const -{ - return operator[](loc); -} - -void String::setCharAt(unsigned int loc, char c) -{ - if (loc < len) buffer[loc] = c; -} - -char & String::operator[](unsigned int index) -{ - static char dummy_writable_char; - if (index >= len || !buffer) { - dummy_writable_char = 0; - return dummy_writable_char; - } - return buffer[index]; -} - -char String::operator[]( unsigned int index ) const -{ - if (index >= len || !buffer) return 0; - return buffer[index]; -} - -void String::getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index) const -{ - if (!bufsize || !buf) return; - if (index >= len) { - buf[0] = 0; - return; - } - unsigned int n = bufsize - 1; - if (n > len - index) n = len - index; - strncpy((char *)buf, buffer + index, n); - buf[n] = 0; -} - -/*********************************************/ -/* Search */ -/*********************************************/ - -int String::indexOf(char c) const -{ - return indexOf(c, 0); -} - -int String::indexOf( char ch, unsigned int fromIndex ) const -{ - if (fromIndex >= len) return -1; - const char* temp = strchr(buffer + fromIndex, ch); - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::indexOf(const String &s2) const -{ - return indexOf(s2, 0); -} - -int String::indexOf(const String &s2, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - const char *found = strstr(buffer + fromIndex, s2.buffer); - if (found == NULL) return -1; - return found - buffer; -} - -int String::lastIndexOf( char theChar ) const -{ - return lastIndexOf(theChar, len - 1); -} - -int String::lastIndexOf(char ch, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - char tempchar = buffer[fromIndex + 1]; - buffer[fromIndex + 1] = '\0'; - char* temp = strrchr( buffer, ch ); - buffer[fromIndex + 1] = tempchar; - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::lastIndexOf(const String &s2) const -{ - return lastIndexOf(s2, len - s2.len); -} - -int String::lastIndexOf(const String &s2, unsigned int fromIndex) const -{ - if (s2.len == 0 || len == 0 || s2.len > len) return -1; - if (fromIndex >= len) fromIndex = len - 1; - int found = -1; - for (char *p = buffer; p <= buffer + fromIndex; p++) { - p = strstr(p, s2.buffer); - if (!p) break; - if ((unsigned int)(p - buffer) <= fromIndex) found = p - buffer; - } - return found; -} - -String String::substring(unsigned int left, unsigned int right) const -{ - if (left > right) { - unsigned int temp = right; - right = left; - left = temp; - } - String out; - if (left >= len) return out; - if (right > len) right = len; - char temp = buffer[right]; // save the replaced character - buffer[right] = '\0'; - out = buffer + left; // pointer arithmetic - buffer[right] = temp; //restore character - return out; -} - -/*********************************************/ -/* Modification */ -/*********************************************/ - -void String::replace(char find, char replace) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - if (*p == find) *p = replace; - } -} - -void String::replace(const String& find, const String& replace) -{ - if (len == 0 || find.len == 0) return; - int diff = replace.len - find.len; - char *readFrom = buffer; - char *foundAt; - if (diff == 0) { - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - memcpy(foundAt, replace.buffer, replace.len); - readFrom = foundAt + replace.len; - } - } else if (diff < 0) { - char *writeTo = buffer; - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - unsigned int n = foundAt - readFrom; - memcpy(writeTo, readFrom, n); - writeTo += n; - memcpy(writeTo, replace.buffer, replace.len); - writeTo += replace.len; - readFrom = foundAt + find.len; - len += diff; - } - strcpy(writeTo, readFrom); - } else { - unsigned int size = len; // compute size needed for result - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - readFrom = foundAt + find.len; - size += diff; - } - if (size == len) return; - if (size > capacity && !changeBuffer(size)) return; // XXX: tell user! - int index = len - 1; - while (index >= 0 && (index = lastIndexOf(find, index)) >= 0) { - readFrom = buffer + index + find.len; - memmove(readFrom + diff, readFrom, len - (readFrom - buffer)); - len += diff; - buffer[len] = 0; - memcpy(buffer + index, replace.buffer, replace.len); - index--; - } - } -} - -void String::remove(unsigned int index){ - // Pass the biggest integer as the count. The remove method - // below will take care of truncating it at the end of the - // string. - remove(index, (unsigned int)-1); -} - -void String::remove(unsigned int index, unsigned int count){ - if (index >= len) { return; } - if (count <= 0) { return; } - if (count > len - index) { count = len - index; } - char *writeTo = buffer + index; - len = len - count; - strncpy(writeTo, buffer + index + count,len - index); - buffer[len] = 0; -} - -void String::toLowerCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = tolower(*p); - } -} - -void String::toUpperCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = toupper(*p); - } -} - -void String::trim(void) -{ - if (!buffer || len == 0) return; - char *begin = buffer; - while (isspace(*begin)) begin++; - char *end = buffer + len - 1; - while (isspace(*end) && end >= begin) end--; - len = end + 1 - begin; - if (begin > buffer) memcpy(buffer, begin, len); - buffer[len] = 0; -} - -/*********************************************/ -/* Parsing / Conversion */ -/*********************************************/ - -long String::toInt(void) const -{ - if (buffer) return atol(buffer); - return 0; -} - -float String::toFloat(void) const -{ - if (buffer) return float(atof(buffer)); - return 0; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.h deleted file mode 100644 index 740243092..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/WString.h +++ /dev/null @@ -1,224 +0,0 @@ -/* - WString.h - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All right reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 String_class_h -#define String_class_h -#ifdef __cplusplus - -#include -#include -#include -#include - -// When compiling programs with this class, the following gcc parameters -// dramatically increase performance and memory (RAM) efficiency, typically -// with little or no increase in code size. -// -felide-constructors -// -std=c++0x - -class __FlashStringHelper; -#define F(string_literal) (reinterpret_cast(PSTR(string_literal))) - -// An inherited class for holding the result of a concatenation. These -// result objects are assumed to be writable by subsequent concatenations. -class StringSumHelper; - -// The string class -class String -{ - // use a function pointer to allow for "if (s)" without the - // complications of an operator bool(). for more information, see: - // http://www.artima.com/cppsource/safebool.html - typedef void (String::*StringIfHelperType)() const; - void StringIfHelper() const {} - -public: - // constructors - // creates a copy of the initial value. - // if the initial value is null or invalid, or if memory allocation - // fails, the string will be marked as invalid (i.e. "if (s)" will - // be false). - String(const char *cstr = ""); - String(const String &str); - String(const __FlashStringHelper *str); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String(String &&rval); - String(StringSumHelper &&rval); - #endif - explicit String(char c); - explicit String(unsigned char, unsigned char base=10); - explicit String(int, unsigned char base=10); - explicit String(unsigned int, unsigned char base=10); - explicit String(long, unsigned char base=10); - explicit String(unsigned long, unsigned char base=10); - explicit String(float, unsigned char decimalPlaces=2); - explicit String(double, unsigned char decimalPlaces=2); - ~String(void); - - // memory management - // return true on success, false on failure (in which case, the string - // is left unchanged). reserve(0), if successful, will validate an - // invalid string (i.e., "if (s)" will be true afterwards) - unsigned char reserve(unsigned int size); - inline unsigned int length(void) const {return len;} - - // creates a copy of the assigned value. if the value is null or - // invalid, or if the memory allocation fails, the string will be - // marked as invalid ("if (s)" will be false). - String & operator = (const String &rhs); - String & operator = (const char *cstr); - String & operator = (const __FlashStringHelper *str); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String & operator = (String &&rval); - String & operator = (StringSumHelper &&rval); - #endif - - // concatenate (works w/ built-in types) - - // returns true on success, false on failure (in which case, the string - // is left unchanged). if the argument is null or invalid, the - // concatenation is considered unsucessful. - unsigned char concat(const String &str); - unsigned char concat(const char *cstr); - unsigned char concat(char c); - unsigned char concat(unsigned char c); - unsigned char concat(int num); - unsigned char concat(unsigned int num); - unsigned char concat(long num); - unsigned char concat(unsigned long num); - unsigned char concat(float num); - unsigned char concat(double num); - unsigned char concat(const __FlashStringHelper * str); - - // if there's not enough memory for the concatenated value, the string - // will be left unchanged (but this isn't signalled in any way) - String & operator += (const String &rhs) {concat(rhs); return (*this);} - String & operator += (const char *cstr) {concat(cstr); return (*this);} - String & operator += (char c) {concat(c); return (*this);} - String & operator += (unsigned char num) {concat(num); return (*this);} - String & operator += (int num) {concat(num); return (*this);} - String & operator += (unsigned int num) {concat(num); return (*this);} - String & operator += (long num) {concat(num); return (*this);} - String & operator += (unsigned long num) {concat(num); return (*this);} - String & operator += (float num) {concat(num); return (*this);} - String & operator += (double num) {concat(num); return (*this);} - String & operator += (const __FlashStringHelper *str){concat(str); return (*this);} - - friend StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs); - friend StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr); - friend StringSumHelper & operator + (const StringSumHelper &lhs, char c); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, long num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, float num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, double num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, const __FlashStringHelper *rhs); - - // comparison (only works w/ Strings and "strings") - operator StringIfHelperType() const { return buffer ? &String::StringIfHelper : 0; } - int compareTo(const String &s) const; - unsigned char equals(const String &s) const; - unsigned char equals(const char *cstr) const; - unsigned char operator == (const String &rhs) const {return equals(rhs);} - unsigned char operator == (const char *cstr) const {return equals(cstr);} - unsigned char operator != (const String &rhs) const {return !equals(rhs);} - unsigned char operator != (const char *cstr) const {return !equals(cstr);} - unsigned char operator < (const String &rhs) const; - unsigned char operator > (const String &rhs) const; - unsigned char operator <= (const String &rhs) const; - unsigned char operator >= (const String &rhs) const; - unsigned char equalsIgnoreCase(const String &s) const; - unsigned char startsWith( const String &prefix) const; - unsigned char startsWith(const String &prefix, unsigned int offset) const; - unsigned char endsWith(const String &suffix) const; - - // character acccess - char charAt(unsigned int index) const; - void setCharAt(unsigned int index, char c); - char operator [] (unsigned int index) const; - char& operator [] (unsigned int index); - void getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index=0) const; - void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const - {getBytes((unsigned char *)buf, bufsize, index);} - const char * c_str() const { return buffer; } - - // search - int indexOf( char ch ) const; - int indexOf( char ch, unsigned int fromIndex ) const; - int indexOf( const String &str ) const; - int indexOf( const String &str, unsigned int fromIndex ) const; - int lastIndexOf( char ch ) const; - int lastIndexOf( char ch, unsigned int fromIndex ) const; - int lastIndexOf( const String &str ) const; - int lastIndexOf( const String &str, unsigned int fromIndex ) const; - String substring( unsigned int beginIndex ) const { return substring(beginIndex, len); }; - String substring( unsigned int beginIndex, unsigned int endIndex ) const; - - // modification - void replace(char find, char replace); - void replace(const String& find, const String& replace); - void remove(unsigned int index); - void remove(unsigned int index, unsigned int count); - void toLowerCase(void); - void toUpperCase(void); - void trim(void); - - // parsing/conversion - long toInt(void) const; - float toFloat(void) const; - -protected: - char *buffer; // the actual char array - unsigned int capacity; // the array length minus one (for the '\0') - unsigned int len; // the String length (not counting the '\0') -protected: - void init(void); - void invalidate(void); - unsigned char changeBuffer(unsigned int maxStrLen); - unsigned char concat(const char *cstr, unsigned int length); - - // copy and move - String & copy(const char *cstr, unsigned int length); - String & copy(const __FlashStringHelper *pstr, unsigned int length); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void move(String &rhs); - #endif -}; - -class StringSumHelper : public String -{ -public: - StringSumHelper(const String &s) : String(s) {} - StringSumHelper(const char *p) : String(p) {} - StringSumHelper(char c) : String(c) {} - StringSumHelper(unsigned char num) : String(num) {} - StringSumHelper(int num) : String(num) {} - StringSumHelper(unsigned int num) : String(num) {} - StringSumHelper(long num) : String(num) {} - StringSumHelper(unsigned long num) : String(num) {} - StringSumHelper(float num) : String(num) {} - StringSumHelper(double num) : String(num) {} -}; - -#endif // __cplusplus -#endif // String_class_h diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/abi.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/abi.cpp deleted file mode 100644 index 8d719b8e6..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/abi.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (c) 2014 Arduino. 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 - -extern "C" void __cxa_pure_virtual(void) __attribute__ ((__noreturn__)); -extern "C" void __cxa_deleted_virtual(void) __attribute__ ((__noreturn__)); - -void __cxa_pure_virtual(void) { - // We might want to write some diagnostics to uart in this case - //std::terminate(); - abort(); -} - -void __cxa_deleted_virtual(void) { - // We might want to write some diagnostics to uart in this case - //std::terminate(); - abort(); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/binary.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/binary.h deleted file mode 100644 index aec4c733d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/binary.h +++ /dev/null @@ -1,534 +0,0 @@ -/* - binary.h - Definitions for binary constants - Copyright (c) 2006 David A. Mellis. 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 Binary_h -#define Binary_h - -#define B0 0 -#define B00 0 -#define B000 0 -#define B0000 0 -#define B00000 0 -#define B000000 0 -#define B0000000 0 -#define B00000000 0 -#define B1 1 -#define B01 1 -#define B001 1 -#define B0001 1 -#define B00001 1 -#define B000001 1 -#define B0000001 1 -#define B00000001 1 -#define B10 2 -#define B010 2 -#define B0010 2 -#define B00010 2 -#define B000010 2 -#define B0000010 2 -#define B00000010 2 -#define B11 3 -#define B011 3 -#define B0011 3 -#define B00011 3 -#define B000011 3 -#define B0000011 3 -#define B00000011 3 -#define B100 4 -#define B0100 4 -#define B00100 4 -#define B000100 4 -#define B0000100 4 -#define B00000100 4 -#define B101 5 -#define B0101 5 -#define B00101 5 -#define B000101 5 -#define B0000101 5 -#define B00000101 5 -#define B110 6 -#define B0110 6 -#define B00110 6 -#define B000110 6 -#define B0000110 6 -#define B00000110 6 -#define B111 7 -#define B0111 7 -#define B00111 7 -#define B000111 7 -#define B0000111 7 -#define B00000111 7 -#define B1000 8 -#define B01000 8 -#define B001000 8 -#define B0001000 8 -#define B00001000 8 -#define B1001 9 -#define B01001 9 -#define B001001 9 -#define B0001001 9 -#define B00001001 9 -#define B1010 10 -#define B01010 10 -#define B001010 10 -#define B0001010 10 -#define B00001010 10 -#define B1011 11 -#define B01011 11 -#define B001011 11 -#define B0001011 11 -#define B00001011 11 -#define B1100 12 -#define B01100 12 -#define B001100 12 -#define B0001100 12 -#define B00001100 12 -#define B1101 13 -#define B01101 13 -#define B001101 13 -#define B0001101 13 -#define B00001101 13 -#define B1110 14 -#define B01110 14 -#define B001110 14 -#define B0001110 14 -#define B00001110 14 -#define B1111 15 -#define B01111 15 -#define B001111 15 -#define B0001111 15 -#define B00001111 15 -#define B10000 16 -#define B010000 16 -#define B0010000 16 -#define B00010000 16 -#define B10001 17 -#define B010001 17 -#define B0010001 17 -#define B00010001 17 -#define B10010 18 -#define B010010 18 -#define B0010010 18 -#define B00010010 18 -#define B10011 19 -#define B010011 19 -#define B0010011 19 -#define B00010011 19 -#define B10100 20 -#define B010100 20 -#define B0010100 20 -#define B00010100 20 -#define B10101 21 -#define B010101 21 -#define B0010101 21 -#define B00010101 21 -#define B10110 22 -#define B010110 22 -#define B0010110 22 -#define B00010110 22 -#define B10111 23 -#define B010111 23 -#define B0010111 23 -#define B00010111 23 -#define B11000 24 -#define B011000 24 -#define B0011000 24 -#define B00011000 24 -#define B11001 25 -#define B011001 25 -#define B0011001 25 -#define B00011001 25 -#define B11010 26 -#define B011010 26 -#define B0011010 26 -#define B00011010 26 -#define B11011 27 -#define B011011 27 -#define B0011011 27 -#define B00011011 27 -#define B11100 28 -#define B011100 28 -#define B0011100 28 -#define B00011100 28 -#define B11101 29 -#define B011101 29 -#define B0011101 29 -#define B00011101 29 -#define B11110 30 -#define B011110 30 -#define B0011110 30 -#define B00011110 30 -#define B11111 31 -#define B011111 31 -#define B0011111 31 -#define B00011111 31 -#define B100000 32 -#define B0100000 32 -#define B00100000 32 -#define B100001 33 -#define B0100001 33 -#define B00100001 33 -#define B100010 34 -#define B0100010 34 -#define B00100010 34 -#define B100011 35 -#define B0100011 35 -#define B00100011 35 -#define B100100 36 -#define B0100100 36 -#define B00100100 36 -#define B100101 37 -#define B0100101 37 -#define B00100101 37 -#define B100110 38 -#define B0100110 38 -#define B00100110 38 -#define B100111 39 -#define B0100111 39 -#define B00100111 39 -#define B101000 40 -#define B0101000 40 -#define B00101000 40 -#define B101001 41 -#define B0101001 41 -#define B00101001 41 -#define B101010 42 -#define B0101010 42 -#define B00101010 42 -#define B101011 43 -#define B0101011 43 -#define B00101011 43 -#define B101100 44 -#define B0101100 44 -#define B00101100 44 -#define B101101 45 -#define B0101101 45 -#define B00101101 45 -#define B101110 46 -#define B0101110 46 -#define B00101110 46 -#define B101111 47 -#define B0101111 47 -#define B00101111 47 -#define B110000 48 -#define B0110000 48 -#define B00110000 48 -#define B110001 49 -#define B0110001 49 -#define B00110001 49 -#define B110010 50 -#define B0110010 50 -#define B00110010 50 -#define B110011 51 -#define B0110011 51 -#define B00110011 51 -#define B110100 52 -#define B0110100 52 -#define B00110100 52 -#define B110101 53 -#define B0110101 53 -#define B00110101 53 -#define B110110 54 -#define B0110110 54 -#define B00110110 54 -#define B110111 55 -#define B0110111 55 -#define B00110111 55 -#define B111000 56 -#define B0111000 56 -#define B00111000 56 -#define B111001 57 -#define B0111001 57 -#define B00111001 57 -#define B111010 58 -#define B0111010 58 -#define B00111010 58 -#define B111011 59 -#define B0111011 59 -#define B00111011 59 -#define B111100 60 -#define B0111100 60 -#define B00111100 60 -#define B111101 61 -#define B0111101 61 -#define B00111101 61 -#define B111110 62 -#define B0111110 62 -#define B00111110 62 -#define B111111 63 -#define B0111111 63 -#define B00111111 63 -#define B1000000 64 -#define B01000000 64 -#define B1000001 65 -#define B01000001 65 -#define B1000010 66 -#define B01000010 66 -#define B1000011 67 -#define B01000011 67 -#define B1000100 68 -#define B01000100 68 -#define B1000101 69 -#define B01000101 69 -#define B1000110 70 -#define B01000110 70 -#define B1000111 71 -#define B01000111 71 -#define B1001000 72 -#define B01001000 72 -#define B1001001 73 -#define B01001001 73 -#define B1001010 74 -#define B01001010 74 -#define B1001011 75 -#define B01001011 75 -#define B1001100 76 -#define B01001100 76 -#define B1001101 77 -#define B01001101 77 -#define B1001110 78 -#define B01001110 78 -#define B1001111 79 -#define B01001111 79 -#define B1010000 80 -#define B01010000 80 -#define B1010001 81 -#define B01010001 81 -#define B1010010 82 -#define B01010010 82 -#define B1010011 83 -#define B01010011 83 -#define B1010100 84 -#define B01010100 84 -#define B1010101 85 -#define B01010101 85 -#define B1010110 86 -#define B01010110 86 -#define B1010111 87 -#define B01010111 87 -#define B1011000 88 -#define B01011000 88 -#define B1011001 89 -#define B01011001 89 -#define B1011010 90 -#define B01011010 90 -#define B1011011 91 -#define B01011011 91 -#define B1011100 92 -#define B01011100 92 -#define B1011101 93 -#define B01011101 93 -#define B1011110 94 -#define B01011110 94 -#define B1011111 95 -#define B01011111 95 -#define B1100000 96 -#define B01100000 96 -#define B1100001 97 -#define B01100001 97 -#define B1100010 98 -#define B01100010 98 -#define B1100011 99 -#define B01100011 99 -#define B1100100 100 -#define B01100100 100 -#define B1100101 101 -#define B01100101 101 -#define B1100110 102 -#define B01100110 102 -#define B1100111 103 -#define B01100111 103 -#define B1101000 104 -#define B01101000 104 -#define B1101001 105 -#define B01101001 105 -#define B1101010 106 -#define B01101010 106 -#define B1101011 107 -#define B01101011 107 -#define B1101100 108 -#define B01101100 108 -#define B1101101 109 -#define B01101101 109 -#define B1101110 110 -#define B01101110 110 -#define B1101111 111 -#define B01101111 111 -#define B1110000 112 -#define B01110000 112 -#define B1110001 113 -#define B01110001 113 -#define B1110010 114 -#define B01110010 114 -#define B1110011 115 -#define B01110011 115 -#define B1110100 116 -#define B01110100 116 -#define B1110101 117 -#define B01110101 117 -#define B1110110 118 -#define B01110110 118 -#define B1110111 119 -#define B01110111 119 -#define B1111000 120 -#define B01111000 120 -#define B1111001 121 -#define B01111001 121 -#define B1111010 122 -#define B01111010 122 -#define B1111011 123 -#define B01111011 123 -#define B1111100 124 -#define B01111100 124 -#define B1111101 125 -#define B01111101 125 -#define B1111110 126 -#define B01111110 126 -#define B1111111 127 -#define B01111111 127 -#define B10000000 128 -#define B10000001 129 -#define B10000010 130 -#define B10000011 131 -#define B10000100 132 -#define B10000101 133 -#define B10000110 134 -#define B10000111 135 -#define B10001000 136 -#define B10001001 137 -#define B10001010 138 -#define B10001011 139 -#define B10001100 140 -#define B10001101 141 -#define B10001110 142 -#define B10001111 143 -#define B10010000 144 -#define B10010001 145 -#define B10010010 146 -#define B10010011 147 -#define B10010100 148 -#define B10010101 149 -#define B10010110 150 -#define B10010111 151 -#define B10011000 152 -#define B10011001 153 -#define B10011010 154 -#define B10011011 155 -#define B10011100 156 -#define B10011101 157 -#define B10011110 158 -#define B10011111 159 -#define B10100000 160 -#define B10100001 161 -#define B10100010 162 -#define B10100011 163 -#define B10100100 164 -#define B10100101 165 -#define B10100110 166 -#define B10100111 167 -#define B10101000 168 -#define B10101001 169 -#define B10101010 170 -#define B10101011 171 -#define B10101100 172 -#define B10101101 173 -#define B10101110 174 -#define B10101111 175 -#define B10110000 176 -#define B10110001 177 -#define B10110010 178 -#define B10110011 179 -#define B10110100 180 -#define B10110101 181 -#define B10110110 182 -#define B10110111 183 -#define B10111000 184 -#define B10111001 185 -#define B10111010 186 -#define B10111011 187 -#define B10111100 188 -#define B10111101 189 -#define B10111110 190 -#define B10111111 191 -#define B11000000 192 -#define B11000001 193 -#define B11000010 194 -#define B11000011 195 -#define B11000100 196 -#define B11000101 197 -#define B11000110 198 -#define B11000111 199 -#define B11001000 200 -#define B11001001 201 -#define B11001010 202 -#define B11001011 203 -#define B11001100 204 -#define B11001101 205 -#define B11001110 206 -#define B11001111 207 -#define B11010000 208 -#define B11010001 209 -#define B11010010 210 -#define B11010011 211 -#define B11010100 212 -#define B11010101 213 -#define B11010110 214 -#define B11010111 215 -#define B11011000 216 -#define B11011001 217 -#define B11011010 218 -#define B11011011 219 -#define B11011100 220 -#define B11011101 221 -#define B11011110 222 -#define B11011111 223 -#define B11100000 224 -#define B11100001 225 -#define B11100010 226 -#define B11100011 227 -#define B11100100 228 -#define B11100101 229 -#define B11100110 230 -#define B11100111 231 -#define B11101000 232 -#define B11101001 233 -#define B11101010 234 -#define B11101011 235 -#define B11101100 236 -#define B11101101 237 -#define B11101110 238 -#define B11101111 239 -#define B11110000 240 -#define B11110001 241 -#define B11110010 242 -#define B11110011 243 -#define B11110100 244 -#define B11110101 245 -#define B11110110 246 -#define B11110111 247 -#define B11111000 248 -#define B11111001 249 -#define B11111010 250 -#define B11111011 251 -#define B11111100 252 -#define B11111101 253 -#define B11111110 254 -#define B11111111 255 - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/hooks.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/hooks.c deleted file mode 100644 index 641eabc73..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/hooks.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2012 Arduino. 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 -*/ - -/** - * Empty yield() hook. - * - * This function is intended to be used by library writers to build - * libraries or sketches that supports cooperative threads. - * - * Its defined as a weak symbol and it can be redefined to implement a - * real cooperative scheduler. - */ -static void __empty() { - // Empty -} -void yield(void) __attribute__ ((weak, alias("__empty"))); diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/main.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/main.cpp deleted file mode 100644 index a60980da5..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/main.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - main.cpp - Main loop for Arduino sketches - Copyright (c) 2005-2013 Arduino Team. 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 - -//Declared weak in Arduino.h to allow user redefinitions. -int atexit(void (*func)()) { return 0; } - -// Weak empty variant initialization function. -// May be redefined by variant files. -void initVariant() __attribute__((weak)); -void initVariant() { } - -int main(void) -{ - init(); - - initVariant(); - -#if defined(USBCON) - USBDevice.attach(); -#endif - - setup(); - - for (;;) { - loop(); - if (serialEventRun) serialEventRun(); - } - - return 0; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.cpp deleted file mode 100644 index cf6f89c17..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2014 Arduino. 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 - -void *operator new(size_t size) { - return malloc(size); -} - -void *operator new[](size_t size) { - return malloc(size); -} - -void operator delete(void * ptr) { - free(ptr); -} - -void operator delete[](void * ptr) { - free(ptr); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.h deleted file mode 100644 index 6e1b68f0d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/new.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (c) 2014 Arduino. 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 NEW_H -#define NEW_H - -#include - -void * operator new(size_t size); -void * operator new[](size_t size); -void operator delete(void * ptr); -void operator delete[](void * ptr); - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring.c deleted file mode 100644 index 5cbe24195..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring.c +++ /dev/null @@ -1,325 +0,0 @@ -/* - wiring.c - Partial implementation of the Wiring API for the ATmega8. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include "wiring_private.h" - -// the prescaler is set so that timer0 ticks every 64 clock cycles, and the -// the overflow handler is called every 256 ticks. -#define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256)) - -// the whole number of milliseconds per timer0 overflow -#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000) - -// the fractional number of milliseconds per timer0 overflow. we shift right -// by three to fit these numbers into a byte. (for the clock speeds we care -// about - 8 and 16 MHz - this doesn't lose precision.) -#define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3) -#define FRACT_MAX (1000 >> 3) - -volatile unsigned long timer0_overflow_count = 0; -volatile unsigned long timer0_millis = 0; -static unsigned char timer0_fract = 0; - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) -ISR(TIM0_OVF_vect) -#else -ISR(TIMER0_OVF_vect) -#endif -{ - // copy these to local variables so they can be stored in registers - // (volatile variables must be read from memory on every access) - unsigned long m = timer0_millis; - unsigned char f = timer0_fract; - - m += MILLIS_INC; - f += FRACT_INC; - if (f >= FRACT_MAX) { - f -= FRACT_MAX; - m += 1; - } - - timer0_fract = f; - timer0_millis = m; - timer0_overflow_count++; -} - -unsigned long millis() -{ - unsigned long m; - uint8_t oldSREG = SREG; - - // disable interrupts while we read timer0_millis or we might get an - // inconsistent value (e.g. in the middle of a write to timer0_millis) - cli(); - m = timer0_millis; - SREG = oldSREG; - - return m; -} - -unsigned long micros() { - unsigned long m; - uint8_t oldSREG = SREG, t; - - cli(); - m = timer0_overflow_count; -#if defined(TCNT0) - t = TCNT0; -#elif defined(TCNT0L) - t = TCNT0L; -#else - #error TIMER 0 not defined -#endif - - -#ifdef TIFR0 - if ((TIFR0 & _BV(TOV0)) && (t < 255)) - m++; -#else - if ((TIFR & _BV(TOV0)) && (t < 255)) - m++; -#endif - - SREG = oldSREG; - - return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond()); -} - -void delay(unsigned long ms) -{ - uint16_t start = (uint16_t)micros(); - - while (ms > 0) { - yield(); - if (((uint16_t)micros() - start) >= 1000) { - ms--; - start += 1000; - } - } -} - -/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */ -void delayMicroseconds(unsigned int us) -{ - // calling avrlib's delay_us() function with low values (e.g. 1 or - // 2 microseconds) gives delays longer than desired. - //delay_us(us); -#if F_CPU >= 20000000L - // for the 20 MHz clock on rare Arduino boards - - // for a one-microsecond delay, simply wait 2 cycle and return. The overhead - // of the function call yields a delay of exactly a one microsecond. - __asm__ __volatile__ ( - "nop" "\n\t" - "nop"); //just waiting 2 cycle - if (--us == 0) - return; - - // the following loop takes a 1/5 of a microsecond (4 cycles) - // per iteration, so execute it five times for each microsecond of - // delay requested. - us = (us<<2) + us; // x5 us - - // account for the time taken in the preceeding commands. - us -= 2; - -#elif F_CPU >= 16000000L - // for the 16 MHz clock on most Arduino boards - - // for a one-microsecond delay, simply return. the overhead - // of the function call yields a delay of approximately 1 1/8 us. - if (--us == 0) - return; - - // the following loop takes a quarter of a microsecond (4 cycles) - // per iteration, so execute it four times for each microsecond of - // delay requested. - us <<= 2; - - // account for the time taken in the preceeding commands. - us -= 2; -#else - // for the 8 MHz internal clock on the ATmega168 - - // for a one- or two-microsecond delay, simply return. the overhead of - // the function calls takes more than two microseconds. can't just - // subtract two, since us is unsigned; we'd overflow. - if (--us == 0) - return; - if (--us == 0) - return; - - // the following loop takes half of a microsecond (4 cycles) - // per iteration, so execute it twice for each microsecond of - // delay requested. - us <<= 1; - - // partially compensate for the time taken by the preceeding commands. - // we can't subtract any more than this or we'd overflow w/ small delays. - us--; -#endif - - // busy wait - __asm__ __volatile__ ( - "1: sbiw %0,1" "\n\t" // 2 cycles - "brne 1b" : "=w" (us) : "0" (us) // 2 cycles - ); -} - -void init() -{ - // this needs to be called before setup() or some functions won't - // work there - sei(); - - // on the ATmega168, timer 0 is also used for fast hardware pwm - // (using phase-correct PWM would mean that timer 0 overflowed half as often - // resulting in different millis() behavior on the ATmega8 and ATmega168) -#if defined(TCCR0A) && defined(WGM01) - sbi(TCCR0A, WGM01); - sbi(TCCR0A, WGM00); -#endif - - // set timer 0 prescale factor to 64 -#if defined(__AVR_ATmega128__) - // CPU specific: different values for the ATmega128 - sbi(TCCR0, CS02); -#elif defined(TCCR0) && defined(CS01) && defined(CS00) - // this combination is for the standard atmega8 - sbi(TCCR0, CS01); - sbi(TCCR0, CS00); -#elif defined(TCCR0B) && defined(CS01) && defined(CS00) - // this combination is for the standard 168/328/1280/2560 - sbi(TCCR0B, CS01); - sbi(TCCR0B, CS00); -#elif defined(TCCR0A) && defined(CS01) && defined(CS00) - // this combination is for the __AVR_ATmega645__ series - sbi(TCCR0A, CS01); - sbi(TCCR0A, CS00); -#else - #error Timer 0 prescale factor 64 not set correctly -#endif - - // enable timer 0 overflow interrupt -#if defined(TIMSK) && defined(TOIE0) - sbi(TIMSK, TOIE0); -#elif defined(TIMSK0) && defined(TOIE0) - sbi(TIMSK0, TOIE0); -#else - #error Timer 0 overflow interrupt not set correctly -#endif - - // timers 1 and 2 are used for phase-correct hardware pwm - // this is better for motors as it ensures an even waveform - // note, however, that fast pwm mode can achieve a frequency of up - // 8 MHz (with a 16 MHz clock) at 50% duty cycle - -#if defined(TCCR1B) && defined(CS11) && defined(CS10) - TCCR1B = 0; - - // set timer 1 prescale factor to 64 - sbi(TCCR1B, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1B, CS10); -#endif -#elif defined(TCCR1) && defined(CS11) && defined(CS10) - sbi(TCCR1, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1, CS10); -#endif -#endif - // put timer 1 in 8-bit phase correct pwm mode -#if defined(TCCR1A) && defined(WGM10) - sbi(TCCR1A, WGM10); -#elif defined(TCCR1) - #warning this needs to be finished -#endif - - // set timer 2 prescale factor to 64 -#if defined(TCCR2) && defined(CS22) - sbi(TCCR2, CS22); -#elif defined(TCCR2B) && defined(CS22) - sbi(TCCR2B, CS22); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - - // configure timer 2 for phase correct pwm (8-bit) -#if defined(TCCR2) && defined(WGM20) - sbi(TCCR2, WGM20); -#elif defined(TCCR2A) && defined(WGM20) - sbi(TCCR2A, WGM20); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - -#if defined(TCCR3B) && defined(CS31) && defined(WGM30) - sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64 - sbi(TCCR3B, CS30); - sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode -#endif - -#if defined(TCCR4A) && defined(TCCR4B) && defined(TCCR4D) /* beginning of timer4 block for 32U4 and similar */ - sbi(TCCR4B, CS42); // set timer4 prescale factor to 64 - sbi(TCCR4B, CS41); - sbi(TCCR4B, CS40); - sbi(TCCR4D, WGM40); // put timer 4 in phase- and frequency-correct PWM mode - sbi(TCCR4A, PWM4A); // enable PWM mode for comparator OCR4A - sbi(TCCR4C, PWM4D); // enable PWM mode for comparator OCR4D -#else /* beginning of timer4 block for ATMEGA1280 and ATMEGA2560 */ -#if defined(TCCR4B) && defined(CS41) && defined(WGM40) - sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64 - sbi(TCCR4B, CS40); - sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode -#endif -#endif /* end timer4 block for ATMEGA1280/2560 and similar */ - -#if defined(TCCR5B) && defined(CS51) && defined(WGM50) - sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64 - sbi(TCCR5B, CS50); - sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode -#endif - -#if defined(ADCSRA) - // set a2d prescale factor to 128 - // 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range. - // XXX: this will not work properly for other clock speeds, and - // this code should use F_CPU to determine the prescale factor. - sbi(ADCSRA, ADPS2); - sbi(ADCSRA, ADPS1); - sbi(ADCSRA, ADPS0); - - // enable a2d conversions - sbi(ADCSRA, ADEN); -#endif - - // the bootloader connects pins 0 and 1 to the USART; disconnect them - // here so they can be used as normal digital i/o; they will be - // reconnected in Serial.begin() -#if defined(UCSRB) - UCSRB = 0; -#elif defined(UCSR0B) - UCSR0B = 0; -#endif -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_analog.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_analog.c deleted file mode 100644 index 48a9ef52d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_analog.c +++ /dev/null @@ -1,292 +0,0 @@ -/* - wiring_analog.c - analog input and output - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -uint8_t analog_reference = DEFAULT; - -void analogReference(uint8_t mode) -{ - // can't actually set the register here because the default setting - // will connect AVCC and the AREF pin, which would cause a short if - // there's something connected to AREF. - analog_reference = mode; -} - -int analogRead(uint8_t pin) -{ - uint8_t low, high; - -#if defined(analogPinToChannel) -#if defined(__AVR_ATmega32U4__) - if (pin >= 18) pin -= 18; // allow for channel or pin numbers -#endif - pin = analogPinToChannel(pin); -#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - if (pin >= 54) pin -= 54; // allow for channel or pin numbers -#elif defined(__AVR_ATmega32U4__) - if (pin >= 18) pin -= 18; // allow for channel or pin numbers -#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) - if (pin >= 24) pin -= 24; // allow for channel or pin numbers -#else - if (pin >= 14) pin -= 14; // allow for channel or pin numbers -#endif - -#if defined(ADCSRB) && defined(MUX5) - // the MUX5 bit of ADCSRB selects whether we're reading from channels - // 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high). - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#endif - - // set the analog reference (high two bits of ADMUX) and select the - // channel (low 4 bits). this also sets ADLAR (left-adjust result) - // to 0 (the default). -#if defined(ADMUX) - ADMUX = (analog_reference << 6) | (pin & 0x07); -#endif - - // without a delay, we seem to read from the wrong channel - //delay(1); - -#if defined(ADCSRA) && defined(ADCL) - // start the conversion - sbi(ADCSRA, ADSC); - - // ADSC is cleared when the conversion finishes - while (bit_is_set(ADCSRA, ADSC)); - - // we have to read ADCL first; doing so locks both ADCL - // and ADCH until ADCH is read. reading ADCL second would - // cause the results of each conversion to be discarded, - // as ADCL and ADCH would be locked when it completed. - low = ADCL; - high = ADCH; -#else - // we dont have an ADC, return 0 - low = 0; - high = 0; -#endif - - // combine the two bytes - return (high << 8) | low; -} - -// Right now, PWM output only works on the pins with -// hardware support. These are defined in the appropriate -// pins_*.c file. For the rest of the pins, we default -// to digital output. -void analogWrite(uint8_t pin, int val) -{ - // We need to make sure the PWM output is enabled for those pins - // that support it, as we turn it off when digitally reading or - // writing with them. Also, make sure the pin is in output mode - // for consistenty with Wiring, which doesn't require a pinMode - // call for the analog output pins. - pinMode(pin, OUTPUT); - if (val == 0) - { - digitalWrite(pin, LOW); - } - else if (val == 255) - { - digitalWrite(pin, HIGH); - } - else - { - switch(digitalPinToTimer(pin)) - { - // XXX fix needed for atmega8 - #if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__) - case TIMER0A: - // connect pwm to pin on timer 0 - sbi(TCCR0, COM00); - OCR0 = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: - // connect pwm to pin on timer 0, channel A - sbi(TCCR0A, COM0A1); - OCR0A = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0B1) - case TIMER0B: - // connect pwm to pin on timer 0, channel B - sbi(TCCR0A, COM0B1); - OCR0B = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: - // connect pwm to pin on timer 1, channel A - sbi(TCCR1A, COM1A1); - OCR1A = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: - // connect pwm to pin on timer 1, channel B - sbi(TCCR1A, COM1B1); - OCR1B = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1C1) - case TIMER1C: - // connect pwm to pin on timer 1, channel B - sbi(TCCR1A, COM1C1); - OCR1C = val; // set pwm duty - break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: - // connect pwm to pin on timer 2 - sbi(TCCR2, COM21); - OCR2 = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: - // connect pwm to pin on timer 2, channel A - sbi(TCCR2A, COM2A1); - OCR2A = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: - // connect pwm to pin on timer 2, channel B - sbi(TCCR2A, COM2B1); - OCR2B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: - // connect pwm to pin on timer 3, channel A - sbi(TCCR3A, COM3A1); - OCR3A = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: - // connect pwm to pin on timer 3, channel B - sbi(TCCR3A, COM3B1); - OCR3B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: - // connect pwm to pin on timer 3, channel C - sbi(TCCR3A, COM3C1); - OCR3C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) - case TIMER4A: - //connect pwm to pin on timer 4, channel A - sbi(TCCR4A, COM4A1); - #if defined(COM4A0) // only used on 32U4 - cbi(TCCR4A, COM4A0); - #endif - OCR4A = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: - // connect pwm to pin on timer 4, channel B - sbi(TCCR4A, COM4B1); - OCR4B = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: - // connect pwm to pin on timer 4, channel C - sbi(TCCR4A, COM4C1); - OCR4C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: - // connect pwm to pin on timer 4, channel D - sbi(TCCR4C, COM4D1); - #if defined(COM4D0) // only used on 32U4 - cbi(TCCR4C, COM4D0); - #endif - OCR4D = val; // set pwm duty - break; - #endif - - - #if defined(TCCR5A) && defined(COM5A1) - case TIMER5A: - // connect pwm to pin on timer 5, channel A - sbi(TCCR5A, COM5A1); - OCR5A = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5B1) - case TIMER5B: - // connect pwm to pin on timer 5, channel B - sbi(TCCR5A, COM5B1); - OCR5B = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5C1) - case TIMER5C: - // connect pwm to pin on timer 5, channel C - sbi(TCCR5A, COM5C1); - OCR5C = val; // set pwm duty - break; - #endif - - case NOT_ON_TIMER: - default: - if (val < 128) { - digitalWrite(pin, LOW); - } else { - digitalWrite(pin, HIGH); - } - } - } -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_digital.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_digital.c deleted file mode 100644 index df94cc1c5..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_digital.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - wiring_digital.c - digital input and output functions - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#define ARDUINO_MAIN -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *reg, *out; - - if (port == NOT_A_PIN) return; - - // JWS: can I let the optimizer do this? - reg = portModeRegister(port); - out = portOutputRegister(port); - - if (mode == INPUT) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out &= ~bit; - SREG = oldSREG; - } else if (mode == INPUT_PULLUP) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out |= bit; - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - cli(); - *reg |= bit; - SREG = oldSREG; - } -} - -// Forcing this inline keeps the callers from having to push their own stuff -// on the stack. It is a good performance win and only takes 1 more byte per -// user than calling. (It will take more bytes on the 168.) -// -// But shouldn't this be moved into pinMode? Seems silly to check and do on -// each digitalread or write. -// -// Mark Sproul: -// - Removed inline. Save 170 bytes on atmega1280 -// - changed to a switch statment; added 32 bytes but much easier to read and maintain. -// - Added more #ifdefs, now compiles for atmega645 -// -//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline)); -//static inline void turnOffPWM(uint8_t timer) -static void turnOffPWM(uint8_t timer) -{ - switch (timer) - { - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: cbi(TCCR1A, COM1A1); break; - #endif - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: cbi(TCCR1A, COM1B1); break; - #endif - #if defined(TCCR1A) && defined(COM1C1) - case TIMER1C: cbi(TCCR1A, COM1C1); break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: cbi(TCCR2, COM21); break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: cbi(TCCR0A, COM0A1); break; - #endif - - #if defined(TIMER0B) && defined(COM0B1) - case TIMER0B: cbi(TCCR0A, COM0B1); break; - #endif - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: cbi(TCCR2A, COM2A1); break; - #endif - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: cbi(TCCR2A, COM2B1); break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: cbi(TCCR3A, COM3A1); break; - #endif - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: cbi(TCCR3A, COM3B1); break; - #endif - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: cbi(TCCR3A, COM3C1); break; - #endif - - #if defined(TCCR4A) && defined(COM4A1) - case TIMER4A: cbi(TCCR4A, COM4A1); break; - #endif - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: cbi(TCCR4A, COM4B1); break; - #endif - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: cbi(TCCR4A, COM4C1); break; - #endif - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: cbi(TCCR4C, COM4D1); break; - #endif - - #if defined(TCCR5A) - case TIMER5A: cbi(TCCR5A, COM5A1); break; - case TIMER5B: cbi(TCCR5A, COM5B1); break; - case TIMER5C: cbi(TCCR5A, COM5C1); break; - #endif - } -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *out; - - if (port == NOT_A_PIN) return; - - // If the pin that support PWM output, we need to turn it off - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - out = portOutputRegister(port); - - uint8_t oldSREG = SREG; - cli(); - - if (val == LOW) { - *out &= ~bit; - } else { - *out |= bit; - } - - SREG = oldSREG; -} - -int digitalRead(uint8_t pin) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - - if (port == NOT_A_PIN) return LOW; - - // If the pin that support PWM output, we need to turn it off - // before getting a digital reading. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - if (*portInputRegister(port) & bit) return HIGH; - return LOW; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_private.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_private.h deleted file mode 100644 index 5dc7d4bed..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_private.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - wiring_private.h - Internal header file. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ -*/ - -#ifndef WiringPrivate_h -#define WiringPrivate_h - -#include -#include -#include -#include - -#include "Arduino.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef cbi -#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) -#endif -#ifndef sbi -#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) -#endif - -#define EXTERNAL_INT_0 0 -#define EXTERNAL_INT_1 1 -#define EXTERNAL_INT_2 2 -#define EXTERNAL_INT_3 3 -#define EXTERNAL_INT_4 4 -#define EXTERNAL_INT_5 5 -#define EXTERNAL_INT_6 6 -#define EXTERNAL_INT_7 7 - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega128RFA1__) || defined(__AVR_ATmega256RFR2__) -#define EXTERNAL_NUM_INTERRUPTS 8 -#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) -#define EXTERNAL_NUM_INTERRUPTS 3 -#elif defined(__AVR_ATmega32U4__) -#define EXTERNAL_NUM_INTERRUPTS 5 -#else -#define EXTERNAL_NUM_INTERRUPTS 2 -#endif - -typedef void (*voidFuncPtr)(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_pulse.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_pulse.c deleted file mode 100644 index 830c45408..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_pulse.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - wiring_pulse.c - pulseIn() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH - * or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds - * to 3 minutes in length, but must be called at least a few dozen microseconds - * before the start of the pulse. */ -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) -{ - // cache the port and bit of the pin in order to speed up the - // pulse width measuring loop and achieve finer resolution. calling - // digitalRead() instead yields much coarser resolution. - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - uint8_t stateMask = (state ? bit : 0); - unsigned long width = 0; // keep initialization out of time critical area - - // convert the timeout from microseconds to a number of times through - // the initial loop; it takes 16 clock cycles per iteration. - unsigned long numloops = 0; - unsigned long maxloops = microsecondsToClockCycles(timeout) / 16; - - // wait for any previous pulse to end - while ((*portInputRegister(port) & bit) == stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to start - while ((*portInputRegister(port) & bit) != stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to stop - while ((*portInputRegister(port) & bit) == stateMask) { - if (numloops++ == maxloops) - return 0; - width++; - } - - // convert the reading to microseconds. There will be some error introduced by - // the interrupt handlers. - - // Conversion constants are compiler-dependent, different compiler versions - // have different levels of optimization. -#if __GNUC__==4 && __GNUC_MINOR__==3 && __GNUC_PATCHLEVEL__==2 - // avr-gcc 4.3.2 - return clockCyclesToMicroseconds(width * 21 + 16); -#elif __GNUC__==4 && __GNUC_MINOR__==8 && __GNUC_PATCHLEVEL__==1 - // avr-gcc 4.8.1 - return clockCyclesToMicroseconds(width * 24 + 16); -#elif __GNUC__<=4 && __GNUC_MINOR__<=3 - // avr-gcc <=4.3.x - #warning "pulseIn() results may not be accurate" - return clockCyclesToMicroseconds(width * 21 + 16); -#else - // avr-gcc >4.3.x - #warning "pulseIn() results may not be accurate" - return clockCyclesToMicroseconds(width * 24 + 16); -#endif - -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_shift.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_shift.c deleted file mode 100644 index cfe786758..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/arduino/wiring_shift.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - wiring_shift.c - shiftOut() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" - -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { - uint8_t value = 0; - uint8_t i; - - for (i = 0; i < 8; ++i) { - digitalWrite(clockPin, HIGH); - if (bitOrder == LSBFIRST) - value |= digitalRead(dataPin) << i; - else - value |= digitalRead(dataPin) << (7 - i); - digitalWrite(clockPin, LOW); - } - return value; -} - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val) -{ - uint8_t i; - - for (i = 0; i < 8; i++) { - if (bitOrder == LSBFIRST) - digitalWrite(dataPin, !!(val & (1 << i))); - else - digitalWrite(dataPin, !!(val & (1 << (7 - i)))); - - digitalWrite(clockPin, HIGH); - digitalWrite(clockPin, LOW); - } -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Arduino.h deleted file mode 100644 index 830c9952f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Arduino.h +++ /dev/null @@ -1,215 +0,0 @@ -#ifndef Arduino_h -#define Arduino_h - -#include -#include -#include - -#include -#include -#include - -#include "binary.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#define HIGH 0x1 -#define LOW 0x0 - -#define INPUT 0x0 -#define OUTPUT 0x1 -#define INPUT_PULLUP 0x2 - -#define true 0x1 -#define false 0x0 - -#define PI 3.1415926535897932384626433832795 -#define HALF_PI 1.5707963267948966192313216916398 -#define TWO_PI 6.283185307179586476925286766559 -#define DEG_TO_RAD 0.017453292519943295769236907684886 -#define RAD_TO_DEG 57.295779513082320876798154814105 - -#define SERIAL 0x0 -#define DISPLAY 0x1 - -#define LSBFIRST 0 -#define MSBFIRST 1 - -#define CHANGE 1 -#define FALLING 2 -#define RISING 3 - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) -#define DEFAULT 0 -#define EXTERNAL 1 -#define INTERNAL 2 -#else -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__) -#define INTERNAL1V1 2 -#define INTERNAL2V56 3 -#else -#define INTERNAL 3 -#endif -#define DEFAULT 1 -#define EXTERNAL 0 -#endif - -// undefine stdlib's abs if encountered -#ifdef abs -#undef abs -#endif - -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) -#define abs(x) ((x)>0?(x):-(x)) -#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) -#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define sq(x) ((x)*(x)) - -#define interrupts() sei() -#define noInterrupts() cli() - -#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) -#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) -#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) - -#define lowByte(w) ((uint8_t) ((w) & 0xff)) -#define highByte(w) ((uint8_t) ((w) >> 8)) - -#define bitRead(value, bit) (((value) >> (bit)) & 0x01) -#define bitSet(value, bit) ((value) |= (1UL << (bit))) -#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) -#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) - - -typedef unsigned int word; - -#define bit(b) (1UL << (b)) - -typedef uint8_t boolean; -typedef uint8_t byte; - -void init(void); - -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -int digitalRead(uint8_t); -int analogRead(uint8_t); -void analogReference(uint8_t mode); -void analogWrite(uint8_t, int); - -unsigned long millis(void); -unsigned long micros(void); -void delay(unsigned long); -void delayMicroseconds(unsigned int us); -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout); - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); - -void attachInterrupt(uint8_t, void (*)(void), int mode); -void detachInterrupt(uint8_t); - -void setup(void); -void loop(void); - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. - -#define analogInPinToBit(P) (P) - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -extern const uint16_t PROGMEM port_to_mode_PGM[]; -extern const uint16_t PROGMEM port_to_input_PGM[]; -extern const uint16_t PROGMEM port_to_output_PGM[]; - -extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. -// -// These perform slightly better as macros compared to inline functions -// -#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) ) -#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) ) -#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) ) -#define analogInPinToBit(P) (P) -#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) ) -#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) ) -#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) ) - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#ifdef ARDUINO_MAIN -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 -#endif - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER4D 14 -#define TIMER5A 15 -#define TIMER5B 16 -#define TIMER5C 17 - -#ifdef __cplusplus -} // extern "C" -#endif - -#ifdef __cplusplus -#include "WCharacter.h" -#include "WString.h" -#include "HardwareSerial.h" - -uint16_t makeWord(uint16_t w); -uint16_t makeWord(byte h, byte l); - -#define word(...) makeWord(__VA_ARGS__) - -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L); - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0); -void noTone(uint8_t _pin); - -// WMath prototypes -long random(long); -long random(long, long); -void randomSeed(unsigned int); -long map(long, long, long, long, long); - -#endif - -#include "pins_arduino.h" - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/CDC.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/CDC.cpp deleted file mode 100644 index 5a49621cf..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/CDC.cpp +++ /dev/null @@ -1,236 +0,0 @@ -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include - -#if defined(USBCON) -#ifdef CDC_ENABLED - -#if (RAMEND < 1000) -#define SERIAL_BUFFER_SIZE 16 -#else -// Use a 128 byte buffer like Arduinos of old for maximum -// compatibility. -Hubbe 20120929 -#define SERIAL_BUFFER_SIZE 128 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile int head; - volatile int tail; -}; - -ring_buffer cdc_rx_buffer = { { 0 }, 0, 0}; - -typedef struct -{ - u32 dwDTERate; - u8 bCharFormat; - u8 bParityType; - u8 bDataBits; - u8 lineState; -} LineInfo; - -static volatile LineInfo _usbLineInfo = { 57600, 0x00, 0x00, 0x00, 0x00 }; - -#define WEAK __attribute__ ((weak)) - -extern const CDCDescriptor _cdcInterface PROGMEM; -const CDCDescriptor _cdcInterface = -{ - D_IAD(0,2,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,1), - - // CDC communication interface - D_INTERFACE(CDC_ACM_INTERFACE,1,CDC_COMMUNICATION_INTERFACE_CLASS,CDC_ABSTRACT_CONTROL_MODEL,0), - D_CDCCS(CDC_HEADER,0x10,0x01), // Header (1.10 bcd) - D_CDCCS(CDC_CALL_MANAGEMENT,1,1), // Device handles call management (not) - D_CDCCS4(CDC_ABSTRACT_CONTROL_MANAGEMENT,6), // SET_LINE_CODING, GET_LINE_CODING, SET_CONTROL_LINE_STATE supported - D_CDCCS(CDC_UNION,CDC_ACM_INTERFACE,CDC_DATA_INTERFACE), // Communication interface is master, data interface is slave 0 - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_ACM),USB_ENDPOINT_TYPE_INTERRUPT,0x10,0x40), - - // CDC data interface - D_INTERFACE(CDC_DATA_INTERFACE,2,CDC_DATA_INTERFACE_CLASS,0,0), - D_ENDPOINT(USB_ENDPOINT_OUT(CDC_ENDPOINT_OUT),USB_ENDPOINT_TYPE_BULK,0x40,0), - D_ENDPOINT(USB_ENDPOINT_IN (CDC_ENDPOINT_IN ),USB_ENDPOINT_TYPE_BULK,0x40,0) -}; - -int WEAK CDC_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 2; // uses 2 - return USB_SendControl(TRANSFER_PGM,&_cdcInterface,sizeof(_cdcInterface)); -} - -bool WEAK CDC_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (CDC_GET_LINE_CODING == r) - { - USB_SendControl(0,(void*)&_usbLineInfo,7); - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (CDC_SET_LINE_CODING == r) - { - USB_RecvControl((void*)&_usbLineInfo,7); - return true; - } - - if (CDC_SET_CONTROL_LINE_STATE == r) - { - _usbLineInfo.lineState = setup.wValueL; - - // auto-reset into the bootloader is triggered when the port, already - // open at 1200 bps, is closed. this is the signal to start the watchdog - // with a relatively long period so it can finish housekeeping tasks - // like servicing endpoints before the sketch ends - if (1200 == _usbLineInfo.dwDTERate) { - // We check DTR state to determine if host port is open (bit 0 of lineState). - if ((_usbLineInfo.lineState & 0x01) == 0) { - *(uint16_t *)0x0800 = 0x7777; - wdt_enable(WDTO_120MS); - } else { - // Most OSs do some intermediate steps when configuring ports and DTR can - // twiggle more than once before stabilizing. - // To avoid spurious resets we set the watchdog to 250ms and eventually - // cancel if DTR goes back high. - - wdt_disable(); - wdt_reset(); - *(uint16_t *)0x0800 = 0x0; - } - } - return true; - } - } - return false; -} - - -int _serialPeek = -1; -void Serial_::begin(uint16_t baud_count) -{ -} - -void Serial_::end(void) -{ -} - -void Serial_::accept(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - int c = USB_Recv(CDC_RX); - int i = (unsigned int)(buffer->head+1) % SERIAL_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 != buffer->tail) { - buffer->buffer[buffer->head] = c; - buffer->head = i; - } -} - -int Serial_::available(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - return (unsigned int)(SERIAL_BUFFER_SIZE + buffer->head - buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int Serial_::peek(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - if (buffer->head == buffer->tail) { - return -1; - } else { - return buffer->buffer[buffer->tail]; - } -} - -int Serial_::read(void) -{ - ring_buffer *buffer = &cdc_rx_buffer; - // if the head isn't ahead of the tail, we don't have any characters - if (buffer->head == buffer->tail) { - return -1; - } else { - unsigned char c = buffer->buffer[buffer->tail]; - buffer->tail = (unsigned int)(buffer->tail + 1) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void Serial_::flush(void) -{ - USB_Flush(CDC_TX); -} - -size_t Serial_::write(uint8_t c) -{ - /* only try to send bytes if the high-level CDC connection itself - is open (not just the pipe) - the OS should set lineState when the port - is opened and clear lineState when the port is closed. - bytes sent before the user opens the connection or after - the connection is closed are lost - just like with a UART. */ - - // TODO - ZE - check behavior on different OSes and test what happens if an - // open connection isn't broken cleanly (cable is yanked out, host dies - // or locks up, or host virtual serial port hangs) - - /* Actually, let's ignore the line state for now since repetierHost - doens't work if we don't ignore it. -Hubbe 20120929 */ - /* if (_usbLineInfo.lineState > 0) */ { - int r = USB_Send(CDC_TX,&c,1); - if (r > 0) { - return r; - } else { - setWriteError(); - return 0; - } - } - setWriteError(); - return 0; -} - -// This operator is a convenient way for a sketch to check whether the -// port has actually been configured and opened by the host (as opposed -// to just being connected to the host). It can be used, for example, in -// setup() before printing to ensure that an application on the host is -// actually ready to receive and display the data. -// We add a short delay before returning to fix a bug observed by Federico -// where the port is configured (lineState != 0) but not quite opened. -Serial_::operator bool() { - bool result = false; - if (_usbLineInfo.lineState > 0) - result = true; - delay(10); - return result; -} - -Serial_ Serial; - -#endif -#endif /* if defined(USBCON) */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Client.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Client.h deleted file mode 100644 index ea134838a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Client.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef client_h -#define client_h -#include "Print.h" -#include "Stream.h" -#include "IPAddress.h" - -class Client : public Stream { - -public: - virtual int connect(IPAddress ip, uint16_t port) =0; - virtual int connect(const char *host, uint16_t port) =0; - virtual size_t write(uint8_t) =0; - virtual size_t write(const uint8_t *buf, size_t size) =0; - virtual int available() = 0; - virtual int read() = 0; - virtual int read(uint8_t *buf, size_t size) = 0; - virtual int peek() = 0; - virtual void flush() = 0; - virtual void stop() = 0; - virtual uint8_t connected() = 0; - virtual operator bool() = 0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HID.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HID.cpp deleted file mode 100644 index ac6360844..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HID.cpp +++ /dev/null @@ -1,520 +0,0 @@ - - -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) -#ifdef HID_ENABLED - -//#define RAWHID_ENABLED - -// Singletons for mouse and keyboard - -Mouse_ Mouse; -Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ - -// HID report descriptor - -#define LSB(_x) ((_x) & 0xFF) -#define MSB(_x) ((_x) >> 8) - -#define RAWHID_USAGE_PAGE 0xFFC0 -#define RAWHID_USAGE 0x0C00 -#define RAWHID_TX_SIZE 64 -#define RAWHID_RX_SIZE 64 - -extern const u8 _hidReportDescriptor[] PROGMEM; -const u8 _hidReportDescriptor[] = { - - // Mouse - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 54 - 0x09, 0x02, // USAGE (Mouse) - 0xa1, 0x01, // COLLECTION (Application) - 0x09, 0x01, // USAGE (Pointer) - 0xa1, 0x00, // COLLECTION (Physical) - 0x85, 0x01, // REPORT_ID (1) - 0x05, 0x09, // USAGE_PAGE (Button) - 0x19, 0x01, // USAGE_MINIMUM (Button 1) - 0x29, 0x03, // USAGE_MAXIMUM (Button 3) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x95, 0x03, // REPORT_COUNT (3) - 0x75, 0x01, // REPORT_SIZE (1) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x05, // REPORT_SIZE (5) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) - 0x09, 0x30, // USAGE (X) - 0x09, 0x31, // USAGE (Y) - 0x09, 0x38, // USAGE (Wheel) - 0x15, 0x81, // LOGICAL_MINIMUM (-127) - 0x25, 0x7f, // LOGICAL_MAXIMUM (127) - 0x75, 0x08, // REPORT_SIZE (8) - 0x95, 0x03, // REPORT_COUNT (3) - 0x81, 0x06, // INPUT (Data,Var,Rel) - 0xc0, // END_COLLECTION - 0xc0, // END_COLLECTION - - // Keyboard - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) // 47 - 0x09, 0x06, // USAGE (Keyboard) - 0xa1, 0x01, // COLLECTION (Application) - 0x85, 0x02, // REPORT_ID (2) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl) - 0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x75, 0x01, // REPORT_SIZE (1) - - 0x95, 0x08, // REPORT_COUNT (8) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x75, 0x08, // REPORT_SIZE (8) - 0x81, 0x03, // INPUT (Cnst,Var,Abs) - - 0x95, 0x06, // REPORT_COUNT (6) - 0x75, 0x08, // REPORT_SIZE (8) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x65, // LOGICAL_MAXIMUM (101) - 0x05, 0x07, // USAGE_PAGE (Keyboard) - - 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) - 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) - 0x81, 0x00, // INPUT (Data,Ary,Abs) - 0xc0, // END_COLLECTION - -#if RAWHID_ENABLED - // RAW HID - 0x06, LSB(RAWHID_USAGE_PAGE), MSB(RAWHID_USAGE_PAGE), // 30 - 0x0A, LSB(RAWHID_USAGE), MSB(RAWHID_USAGE), - - 0xA1, 0x01, // Collection 0x01 - 0x85, 0x03, // REPORT_ID (3) - 0x75, 0x08, // report size = 8 bits - 0x15, 0x00, // logical minimum = 0 - 0x26, 0xFF, 0x00, // logical maximum = 255 - - 0x95, 64, // report count TX - 0x09, 0x01, // usage - 0x81, 0x02, // Input (array) - - 0x95, 64, // report count RX - 0x09, 0x02, // usage - 0x91, 0x02, // Output (array) - 0xC0 // end collection -#endif -}; - -extern const HIDDescriptor _hidInterface PROGMEM; -const HIDDescriptor _hidInterface = -{ - D_INTERFACE(HID_INTERFACE,1,3,0,0), - D_HIDREPORT(sizeof(_hidReportDescriptor)), - D_ENDPOINT(USB_ENDPOINT_IN (HID_ENDPOINT_INT),USB_ENDPOINT_TYPE_INTERRUPT,0x40,0x01) -}; - -//================================================================================ -//================================================================================ -// Driver - -u8 _hid_protocol = 1; -u8 _hid_idle = 1; - -#define WEAK __attribute__ ((weak)) - -int WEAK HID_GetInterface(u8* interfaceNum) -{ - interfaceNum[0] += 1; // uses 1 - return USB_SendControl(TRANSFER_PGM,&_hidInterface,sizeof(_hidInterface)); -} - -int WEAK HID_GetDescriptor(int i) -{ - return USB_SendControl(TRANSFER_PGM,_hidReportDescriptor,sizeof(_hidReportDescriptor)); -} - -void WEAK HID_SendReport(u8 id, const void* data, int len) -{ - USB_Send(HID_TX, &id, 1); - USB_Send(HID_TX | TRANSFER_RELEASE,data,len); -} - -bool WEAK HID_Setup(Setup& setup) -{ - u8 r = setup.bRequest; - u8 requestType = setup.bmRequestType; - if (REQUEST_DEVICETOHOST_CLASS_INTERFACE == requestType) - { - if (HID_GET_REPORT == r) - { - //HID_GetReport(); - return true; - } - if (HID_GET_PROTOCOL == r) - { - //Send8(_hid_protocol); // TODO - return true; - } - } - - if (REQUEST_HOSTTODEVICE_CLASS_INTERFACE == requestType) - { - if (HID_SET_PROTOCOL == r) - { - _hid_protocol = setup.wValueL; - return true; - } - - if (HID_SET_IDLE == r) - { - _hid_idle = setup.wValueL; - return true; - } - } - return false; -} - -//================================================================================ -//================================================================================ -// Mouse - -Mouse_::Mouse_(void) : _buttons(0) -{ -} - -void Mouse_::begin(void) -{ -} - -void Mouse_::end(void) -{ -} - -void Mouse_::click(uint8_t b) -{ - _buttons = b; - move(0,0,0); - _buttons = 0; - move(0,0,0); -} - -void Mouse_::move(signed char x, signed char y, signed char wheel) -{ - u8 m[4]; - m[0] = _buttons; - m[1] = x; - m[2] = y; - m[3] = wheel; - HID_SendReport(1,m,4); -} - -void Mouse_::buttons(uint8_t b) -{ - if (b != _buttons) - { - _buttons = b; - move(0,0,0); - } -} - -void Mouse_::press(uint8_t b) -{ - buttons(_buttons | b); -} - -void Mouse_::release(uint8_t b) -{ - buttons(_buttons & ~b); -} - -bool Mouse_::isPressed(uint8_t b) -{ - if ((b & _buttons) > 0) - return true; - return false; -} - -//================================================================================ -//================================================================================ -// Keyboard - -Keyboard_::Keyboard_(void) -{ -} - -void Keyboard_::begin(void) -{ -} - -void Keyboard_::end(void) -{ -} - -void Keyboard_::sendReport(KeyReport* keys) -{ - HID_SendReport(2,keys,sizeof(KeyReport)); -} - -extern -const uint8_t _asciimap[128] PROGMEM; - -#define SHIFT 0x80 -const uint8_t _asciimap[128] = -{ - 0x00, // NUL - 0x00, // SOH - 0x00, // STX - 0x00, // ETX - 0x00, // EOT - 0x00, // ENQ - 0x00, // ACK - 0x00, // BEL - 0x2a, // BS Backspace - 0x2b, // TAB Tab - 0x28, // LF Enter - 0x00, // VT - 0x00, // FF - 0x00, // CR - 0x00, // SO - 0x00, // SI - 0x00, // DEL - 0x00, // DC1 - 0x00, // DC2 - 0x00, // DC3 - 0x00, // DC4 - 0x00, // NAK - 0x00, // SYN - 0x00, // ETB - 0x00, // CAN - 0x00, // EM - 0x00, // SUB - 0x00, // ESC - 0x00, // FS - 0x00, // GS - 0x00, // RS - 0x00, // US - - 0x2c, // ' ' - 0x1e|SHIFT, // ! - 0x34|SHIFT, // " - 0x20|SHIFT, // # - 0x21|SHIFT, // $ - 0x22|SHIFT, // % - 0x24|SHIFT, // & - 0x34, // ' - 0x26|SHIFT, // ( - 0x27|SHIFT, // ) - 0x25|SHIFT, // * - 0x2e|SHIFT, // + - 0x36, // , - 0x2d, // - - 0x37, // . - 0x38, // / - 0x27, // 0 - 0x1e, // 1 - 0x1f, // 2 - 0x20, // 3 - 0x21, // 4 - 0x22, // 5 - 0x23, // 6 - 0x24, // 7 - 0x25, // 8 - 0x26, // 9 - 0x33|SHIFT, // : - 0x33, // ; - 0x36|SHIFT, // < - 0x2e, // = - 0x37|SHIFT, // > - 0x38|SHIFT, // ? - 0x1f|SHIFT, // @ - 0x04|SHIFT, // A - 0x05|SHIFT, // B - 0x06|SHIFT, // C - 0x07|SHIFT, // D - 0x08|SHIFT, // E - 0x09|SHIFT, // F - 0x0a|SHIFT, // G - 0x0b|SHIFT, // H - 0x0c|SHIFT, // I - 0x0d|SHIFT, // J - 0x0e|SHIFT, // K - 0x0f|SHIFT, // L - 0x10|SHIFT, // M - 0x11|SHIFT, // N - 0x12|SHIFT, // O - 0x13|SHIFT, // P - 0x14|SHIFT, // Q - 0x15|SHIFT, // R - 0x16|SHIFT, // S - 0x17|SHIFT, // T - 0x18|SHIFT, // U - 0x19|SHIFT, // V - 0x1a|SHIFT, // W - 0x1b|SHIFT, // X - 0x1c|SHIFT, // Y - 0x1d|SHIFT, // Z - 0x2f, // [ - 0x31, // bslash - 0x30, // ] - 0x23|SHIFT, // ^ - 0x2d|SHIFT, // _ - 0x35, // ` - 0x04, // a - 0x05, // b - 0x06, // c - 0x07, // d - 0x08, // e - 0x09, // f - 0x0a, // g - 0x0b, // h - 0x0c, // i - 0x0d, // j - 0x0e, // k - 0x0f, // l - 0x10, // m - 0x11, // n - 0x12, // o - 0x13, // p - 0x14, // q - 0x15, // r - 0x16, // s - 0x17, // t - 0x18, // u - 0x19, // v - 0x1a, // w - 0x1b, // x - 0x1c, // y - 0x1d, // z - 0x2f|SHIFT, // - 0x31|SHIFT, // | - 0x30|SHIFT, // } - 0x35|SHIFT, // ~ - 0 // DEL -}; - -uint8_t USBPutChar(uint8_t c); - -// press() adds the specified key (printing, non-printing, or modifier) -// to the persistent key report and sends the report. Because of the way -// USB HID works, the host acts like the key remains pressed until we -// call release(), releaseAll(), or otherwise clear the report and resend. -size_t Keyboard_::press(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers |= (1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - setWriteError(); - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers |= 0x02; // the left shift modifier - k &= 0x7F; - } - } - - // Add k to the key report only if it's not already present - // and if there is an empty slot. - if (_keyReport.keys[0] != k && _keyReport.keys[1] != k && - _keyReport.keys[2] != k && _keyReport.keys[3] != k && - _keyReport.keys[4] != k && _keyReport.keys[5] != k) { - - for (i=0; i<6; i++) { - if (_keyReport.keys[i] == 0x00) { - _keyReport.keys[i] = k; - break; - } - } - if (i == 6) { - setWriteError(); - return 0; - } - } - sendReport(&_keyReport); - return 1; -} - -// release() takes the specified key out of the persistent key report and -// sends the report. This tells the OS the key is no longer pressed and that -// it shouldn't be repeated any more. -size_t Keyboard_::release(uint8_t k) -{ - uint8_t i; - if (k >= 136) { // it's a non-printing key (not a modifier) - k = k - 136; - } else if (k >= 128) { // it's a modifier key - _keyReport.modifiers &= ~(1<<(k-128)); - k = 0; - } else { // it's a printing key - k = pgm_read_byte(_asciimap + k); - if (!k) { - return 0; - } - if (k & 0x80) { // it's a capital letter or other character reached with shift - _keyReport.modifiers &= ~(0x02); // the left shift modifier - k &= 0x7F; - } - } - - // Test the key report to see if k is present. Clear it if it exists. - // Check all positions in case the key is present more than once (which it shouldn't be) - for (i=0; i<6; i++) { - if (0 != k && _keyReport.keys[i] == k) { - _keyReport.keys[i] = 0x00; - } - } - - sendReport(&_keyReport); - return 1; -} - -void Keyboard_::releaseAll(void) -{ - _keyReport.keys[0] = 0; - _keyReport.keys[1] = 0; - _keyReport.keys[2] = 0; - _keyReport.keys[3] = 0; - _keyReport.keys[4] = 0; - _keyReport.keys[5] = 0; - _keyReport.modifiers = 0; - sendReport(&_keyReport); -} - -size_t Keyboard_::write(uint8_t c) -{ - uint8_t p = press(c); // Keydown - uint8_t r = release(c); // Keyup - return (p); // just return the result of press() since release() almost always returns 1 -} - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.cpp deleted file mode 100644 index f40ddee06..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.cpp +++ /dev/null @@ -1,428 +0,0 @@ -/* - 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 -#include -#include -#include -#include "Arduino.h" -#include "wiring_private.h" - -// 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) - -#include "HardwareSerial.h" - -// Define constants and variables for buffering incoming serial data. We're -// using a ring buffer (I think), in which head is the index of the location -// to which to write the next incoming character and tail is the index of the -// location from which to read. -#if (RAMEND < 1000) - #define SERIAL_BUFFER_SIZE 16 -#else - #define SERIAL_BUFFER_SIZE 64 -#endif - -struct ring_buffer -{ - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile unsigned int head; - volatile unsigned int tail; -}; - -#if defined(USBCON) - ring_buffer rx_buffer = { { 0 }, 0, 0}; - ring_buffer tx_buffer = { { 0 }, 0, 0}; -#endif -#if defined(UBRRH) || defined(UBRR0H) - ring_buffer rx_buffer = { { 0 }, 0, 0 }; - ring_buffer tx_buffer = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR1H) - ring_buffer rx_buffer1 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer1 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR2H) - ring_buffer rx_buffer2 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer2 = { { 0 }, 0, 0 }; -#endif -#if defined(UBRR3H) - ring_buffer rx_buffer3 = { { 0 }, 0, 0 }; - ring_buffer tx_buffer3 = { { 0 }, 0, 0 }; -#endif - -inline void store_char(unsigned char c, ring_buffer *buffer) -{ - int i = (unsigned int)(buffer->head + 1) % SERIAL_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 != buffer->tail) { - buffer->buffer[buffer->head] = c; - buffer->head = i; - } -} - -#if !defined(USART0_RX_vect) && defined(USART1_RX_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(USART_RX_vect) && !defined(SIG_USART0_RECV) && \ - !defined(SIG_UART0_RECV) && !defined(USART0_RX_vect) && \ - !defined(SIG_UART_RECV) - #error "Don't know what the Data Received vector is called for the first UART" -#else - void serialEvent() __attribute__((weak)); - void serialEvent() {} - #define serialEvent_implemented -#if defined(USART_RX_vect) - SIGNAL(USART_RX_vect) -#elif defined(SIG_USART0_RECV) - SIGNAL(SIG_USART0_RECV) -#elif defined(SIG_UART0_RECV) - SIGNAL(SIG_UART0_RECV) -#elif defined(USART0_RX_vect) - SIGNAL(USART0_RX_vect) -#elif defined(SIG_UART_RECV) - SIGNAL(SIG_UART_RECV) -#endif - { - #if defined(UDR0) - unsigned char c = UDR0; - #elif defined(UDR) - unsigned char c = UDR; - #else - #error UDR not defined - #endif - store_char(c, &rx_buffer); - } -#endif -#endif - -#if defined(USART1_RX_vect) - void serialEvent1() __attribute__((weak)); - void serialEvent1() {} - #define serialEvent1_implemented - SIGNAL(USART1_RX_vect) - { - unsigned char c = UDR1; - store_char(c, &rx_buffer1); - } -#elif defined(SIG_USART1_RECV) - #error SIG_USART1_RECV -#endif - -#if defined(USART2_RX_vect) && defined(UDR2) - void serialEvent2() __attribute__((weak)); - void serialEvent2() {} - #define serialEvent2_implemented - SIGNAL(USART2_RX_vect) - { - unsigned char c = UDR2; - store_char(c, &rx_buffer2); - } -#elif defined(SIG_USART2_RECV) - #error SIG_USART2_RECV -#endif - -#if defined(USART3_RX_vect) && defined(UDR3) - void serialEvent3() __attribute__((weak)); - void serialEvent3() {} - #define serialEvent3_implemented - SIGNAL(USART3_RX_vect) - { - unsigned char c = UDR3; - store_char(c, &rx_buffer3); - } -#elif defined(SIG_USART3_RECV) - #error SIG_USART3_RECV -#endif - -void serialEventRun(void) -{ -#ifdef serialEvent_implemented - if (Serial.available()) serialEvent(); -#endif -#ifdef serialEvent1_implemented - if (Serial1.available()) serialEvent1(); -#endif -#ifdef serialEvent2_implemented - if (Serial2.available()) serialEvent2(); -#endif -#ifdef serialEvent3_implemented - if (Serial3.available()) serialEvent3(); -#endif -} - - -#if !defined(USART0_UDRE_vect) && defined(USART1_UDRE_vect) -// do nothing - on the 32u4 the first USART is USART1 -#else -#if !defined(UART0_UDRE_vect) && !defined(UART_UDRE_vect) && !defined(USART0_UDRE_vect) && !defined(USART_UDRE_vect) - #error "Don't know what the Data Register Empty vector is called for the first UART" -#else -#if defined(UART0_UDRE_vect) -ISR(UART0_UDRE_vect) -#elif defined(UART_UDRE_vect) -ISR(UART_UDRE_vect) -#elif defined(USART0_UDRE_vect) -ISR(USART0_UDRE_vect) -#elif defined(USART_UDRE_vect) -ISR(USART_UDRE_vect) -#endif -{ - if (tx_buffer.head == tx_buffer.tail) { - // Buffer empty, so disable interrupts -#if defined(UCSR0B) - cbi(UCSR0B, UDRIE0); -#else - cbi(UCSRB, UDRIE); -#endif - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer.buffer[tx_buffer.tail]; - tx_buffer.tail = (tx_buffer.tail + 1) % SERIAL_BUFFER_SIZE; - - #if defined(UDR0) - UDR0 = c; - #elif defined(UDR) - UDR = c; - #else - #error UDR not defined - #endif - } -} -#endif -#endif - -#ifdef USART1_UDRE_vect -ISR(USART1_UDRE_vect) -{ - if (tx_buffer1.head == tx_buffer1.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR1B, UDRIE1); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer1.buffer[tx_buffer1.tail]; - tx_buffer1.tail = (tx_buffer1.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR1 = c; - } -} -#endif - -#ifdef USART2_UDRE_vect -ISR(USART2_UDRE_vect) -{ - if (tx_buffer2.head == tx_buffer2.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR2B, UDRIE2); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer2.buffer[tx_buffer2.tail]; - tx_buffer2.tail = (tx_buffer2.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR2 = c; - } -} -#endif - -#ifdef USART3_UDRE_vect -ISR(USART3_UDRE_vect) -{ - if (tx_buffer3.head == tx_buffer3.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR3B, UDRIE3); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer3.buffer[tx_buffer3.tail]; - tx_buffer3.tail = (tx_buffer3.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR3 = c; - } -} -#endif - - -// Constructors //////////////////////////////////////////////////////////////// - -HardwareSerial::HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x) -{ - _rx_buffer = rx_buffer; - _tx_buffer = tx_buffer; - _ubrrh = ubrrh; - _ubrrl = ubrrl; - _ucsra = ucsra; - _ucsrb = ucsrb; - _udr = udr; - _rxen = rxen; - _txen = txen; - _rxcie = rxcie; - _udrie = udrie; - _u2x = u2x; -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void HardwareSerial::begin(unsigned long baud) -{ - uint16_t baud_setting; - bool use_u2x = true; - -#if F_CPU == 16000000UL - // hardcoded 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) { - use_u2x = false; - } -#endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) - { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void HardwareSerial::end() -{ - // wait for transmission of outgoing data - while (_tx_buffer->head != _tx_buffer->tail) - ; - - cbi(*_ucsrb, _rxen); - cbi(*_ucsrb, _txen); - cbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); - - // clear any received data - _rx_buffer->head = _rx_buffer->tail; -} - -int HardwareSerial::available(void) -{ - return (unsigned int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int HardwareSerial::peek(void) -{ - if (_rx_buffer->head == _rx_buffer->tail) { - return -1; - } else { - return _rx_buffer->buffer[_rx_buffer->tail]; - } -} - -int HardwareSerial::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) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void HardwareSerial::flush() -{ - while (_tx_buffer->head != _tx_buffer->tail) - ; -} - -size_t HardwareSerial::write(uint8_t c) -{ - int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE; - - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - // ???: return 0 here instead? - while (i == _tx_buffer->tail) - ; - - _tx_buffer->buffer[_tx_buffer->head] = c; - _tx_buffer->head = i; - - sbi(*_ucsrb, _udrie); - - return 1; -} - -HardwareSerial::operator bool() { - return true; -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -#if defined(UBRRH) && defined(UBRRL) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRRH, &UBRRL, &UCSRA, &UCSRB, &UDR, RXEN, TXEN, RXCIE, UDRIE, U2X); -#elif defined(UBRR0H) && defined(UBRR0L) - HardwareSerial Serial(&rx_buffer, &tx_buffer, &UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UDR0, RXEN0, TXEN0, RXCIE0, UDRIE0, U2X0); -#elif defined(USBCON) - // do nothing - Serial object and buffers are initialized in CDC code -#else - #error no serial port defined (port 0) -#endif - -#if defined(UBRR1H) - HardwareSerial Serial1(&rx_buffer1, &tx_buffer1, &UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UDR1, RXEN1, TXEN1, RXCIE1, UDRIE1, U2X1); -#endif -#if defined(UBRR2H) - HardwareSerial Serial2(&rx_buffer2, &tx_buffer2, &UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UDR2, RXEN2, TXEN2, RXCIE2, UDRIE2, U2X2); -#endif -#if defined(UBRR3H) - HardwareSerial Serial3(&rx_buffer3, &tx_buffer3, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3); -#endif - -#endif // whole file - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.h deleted file mode 100644 index bf4924c6d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/HardwareSerial.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - 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 HardwareSerial_h -#define HardwareSerial_h - -#include - -#include "Stream.h" - -struct ring_buffer; - -class HardwareSerial : public Stream -{ - private: - ring_buffer *_rx_buffer; - ring_buffer *_tx_buffer; - volatile uint8_t *_ubrrh; - volatile uint8_t *_ubrrl; - volatile uint8_t *_ucsra; - volatile uint8_t *_ucsrb; - volatile uint8_t *_udr; - uint8_t _rxen; - uint8_t _txen; - uint8_t _rxcie; - uint8_t _udrie; - uint8_t _u2x; - public: - HardwareSerial(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x); - void begin(unsigned long); - void end(); - virtual int available(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); -}; - -#if defined(UBRRH) || defined(UBRR0H) - extern HardwareSerial Serial; -#elif defined(USBCON) - #include "USBAPI.h" -// extern HardwareSerial Serial_; -#endif -#if defined(UBRR1H) - extern HardwareSerial Serial1; -#endif -#if defined(UBRR2H) - extern HardwareSerial Serial2; -#endif -#if defined(UBRR3H) - extern HardwareSerial Serial3; -#endif - -extern void serialEventRun(void) __attribute__((weak)); - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.cpp deleted file mode 100644 index fe3deb77a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.cpp +++ /dev/null @@ -1,56 +0,0 @@ - -#include -#include - -IPAddress::IPAddress() -{ - memset(_address, 0, sizeof(_address)); -} - -IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet) -{ - _address[0] = first_octet; - _address[1] = second_octet; - _address[2] = third_octet; - _address[3] = fourth_octet; -} - -IPAddress::IPAddress(uint32_t address) -{ - memcpy(_address, &address, sizeof(_address)); -} - -IPAddress::IPAddress(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); -} - -IPAddress& IPAddress::operator=(const uint8_t *address) -{ - memcpy(_address, address, sizeof(_address)); - return *this; -} - -IPAddress& IPAddress::operator=(uint32_t address) -{ - memcpy(_address, (const uint8_t *)&address, sizeof(_address)); - return *this; -} - -bool IPAddress::operator==(const uint8_t* addr) -{ - return memcmp(addr, _address, sizeof(_address)) == 0; -} - -size_t IPAddress::printTo(Print& p) const -{ - size_t n = 0; - for (int i =0; i < 3; i++) - { - n += p.print(_address[i], DEC); - n += p.print('.'); - } - n += p.print(_address[3], DEC); - return n; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.h deleted file mode 100644 index 2585aec0e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/IPAddress.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * - * MIT License: - * Copyright (c) 2011 Adrian McEwen - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * adrianm@mcqn.com 1/1/2011 - */ - -#ifndef IPAddress_h -#define IPAddress_h - -#include - -// A class to make it easier to handle and pass around IP addresses - -class IPAddress : public Printable { -private: - uint8_t _address[4]; // IPv4 address - // Access the raw byte array containing the address. Because this returns a pointer - // to the internal structure rather than a copy of the address this function should only - // be used when you know that the usage of the returned uint8_t* will be transient and not - // stored. - uint8_t* raw_address() { return _address; }; - -public: - // Constructors - IPAddress(); - IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet); - IPAddress(uint32_t address); - IPAddress(const uint8_t *address); - - // Overloaded cast operator to allow IPAddress objects to be used where a pointer - // to a four-byte uint8_t array is expected - operator uint32_t() { return *((uint32_t*)_address); }; - bool operator==(const IPAddress& addr) { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); }; - bool operator==(const uint8_t* addr); - - // Overloaded index operator to allow getting and setting individual octets of the address - uint8_t operator[](int index) const { return _address[index]; }; - uint8_t& operator[](int index) { return _address[index]; }; - - // Overloaded copy operators to allow initialisation of IPAddress objects from other types - IPAddress& operator=(const uint8_t *address); - IPAddress& operator=(uint32_t address); - - virtual size_t printTo(Print& p) const; - - friend class EthernetClass; - friend class UDP; - friend class Client; - friend class Server; - friend class DhcpClass; - friend class DNSClient; -}; - -const IPAddress INADDR_NONE(0,0,0,0); - - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Platform.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Platform.h deleted file mode 100644 index 8b8f74277..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Platform.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef __PLATFORM_H__ -#define __PLATFORM_H__ - -#include -#include -#include -#include -#include - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -#include "Arduino.h" - -#if defined(USBCON) - #include "USBDesc.h" - #include "USBCore.h" - #include "USBAPI.h" -#endif /* if defined(USBCON) */ - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.cpp deleted file mode 100644 index e541a6ce7..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.cpp +++ /dev/null @@ -1,263 +0,0 @@ -/* - Print.cpp - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 - */ - -#include -#include -#include -#include -#include "Arduino.h" - -#include "Print.h" - -// Public Methods ////////////////////////////////////////////////////////////// - -/* default implementation: may be overridden */ -size_t Print::write(const uint8_t *buffer, size_t size) -{ - size_t n = 0; - while (size--) { - n += write(*buffer++); - } - return n; -} - -size_t Print::print(const __FlashStringHelper *ifsh) -{ - const char PROGMEM *p = (const char PROGMEM *)ifsh; - size_t n = 0; - while (1) { - unsigned char c = pgm_read_byte(p++); - if (c == 0) break; - n += write(c); - } - return n; -} - -size_t Print::print(const String &s) -{ - size_t n = 0; - for (uint16_t i = 0; i < s.length(); i++) { - n += write(s[i]); - } - return n; -} - -size_t Print::print(const char str[]) -{ - return write(str); -} - -size_t Print::print(char c) -{ - return write(c); -} - -size_t Print::print(unsigned char b, int base) -{ - return print((unsigned long) b, base); -} - -size_t Print::print(int n, int base) -{ - return print((long) n, base); -} - -size_t Print::print(unsigned int n, int base) -{ - return print((unsigned long) n, base); -} - -size_t Print::print(long n, int base) -{ - if (base == 0) { - return write(n); - } else if (base == 10) { - if (n < 0) { - int t = print('-'); - n = -n; - return printNumber(n, 10) + t; - } - return printNumber(n, 10); - } else { - return printNumber(n, base); - } -} - -size_t Print::print(unsigned long n, int base) -{ - if (base == 0) return write(n); - else return printNumber(n, base); -} - -size_t Print::print(double n, int digits) -{ - return printFloat(n, digits); -} - -size_t Print::println(const __FlashStringHelper *ifsh) -{ - size_t n = print(ifsh); - n += println(); - return n; -} - -size_t Print::print(const Printable& x) -{ - return x.printTo(*this); -} - -size_t Print::println(void) -{ - size_t n = print('\r'); - n += print('\n'); - return n; -} - -size_t Print::println(const String &s) -{ - size_t n = print(s); - n += println(); - return n; -} - -size_t Print::println(const char c[]) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(char c) -{ - size_t n = print(c); - n += println(); - return n; -} - -size_t Print::println(unsigned char b, int base) -{ - size_t n = print(b, base); - n += println(); - return n; -} - -size_t Print::println(int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned int num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(unsigned long num, int base) -{ - size_t n = print(num, base); - n += println(); - return n; -} - -size_t Print::println(double num, int digits) -{ - size_t n = print(num, digits); - n += println(); - return n; -} - -size_t Print::println(const Printable& x) -{ - size_t n = print(x); - n += println(); - return n; -} - -// Private Methods ///////////////////////////////////////////////////////////// - -size_t Print::printNumber(unsigned long n, uint8_t base) { - char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte. - char *str = &buf[sizeof(buf) - 1]; - - *str = '\0'; - - // prevent crash if called with base == 1 - if (base < 2) base = 10; - - do { - unsigned long m = n; - n /= base; - char c = m - base * n; - *--str = c < 10 ? c + '0' : c + 'A' - 10; - } while(n); - - return write(str); -} - -size_t Print::printFloat(double number, uint8_t digits) -{ - size_t n = 0; - - // Handle negative numbers - if (number < 0.0) - { - n += 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 0) { - n += print("."); - } - - // Extract digits from the remainder one at a time - while (digits-- > 0) - { - remainder *= 10.0; - int toPrint = int(remainder); - n += print(toPrint); - remainder -= toPrint; - } - - return n; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.h deleted file mode 100644 index 1af6b723f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Print.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - Print.h - Base class that provides print() and println() - Copyright (c) 2008 David A. Mellis. 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 Print_h -#define Print_h - -#include -#include // for size_t - -#include "WString.h" -#include "Printable.h" - -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 - -class Print -{ - private: - int write_error; - size_t printNumber(unsigned long, uint8_t); - size_t printFloat(double, uint8_t); - protected: - void setWriteError(int err = 1) { write_error = err; } - public: - Print() : write_error(0) {} - - int getWriteError() { return write_error; } - void clearWriteError() { setWriteError(0); } - - virtual size_t write(uint8_t) = 0; - size_t write(const char *str) { return write((const uint8_t *)str, strlen(str)); } - virtual size_t write(const uint8_t *buffer, size_t size); - - size_t print(const __FlashStringHelper *); - size_t print(const String &); - size_t print(const char[]); - size_t print(char); - size_t print(unsigned char, int = DEC); - size_t print(int, int = DEC); - size_t print(unsigned int, int = DEC); - size_t print(long, int = DEC); - size_t print(unsigned long, int = DEC); - size_t print(double, int = 2); - size_t print(const Printable&); - - size_t println(const __FlashStringHelper *); - size_t println(const String &s); - size_t println(const char[]); - size_t println(char); - size_t println(unsigned char, int = DEC); - size_t println(int, int = DEC); - size_t println(unsigned int, int = DEC); - size_t println(long, int = DEC); - size_t println(unsigned long, int = DEC); - size_t println(double, int = 2); - size_t println(const Printable&); - size_t println(void); -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Printable.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Printable.h deleted file mode 100644 index d03c9af62..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Printable.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Printable.h - Interface class that allows printing of complex types - Copyright (c) 2011 Adrian McEwen. 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 Printable_h -#define Printable_h - -#include - -class Print; - -/** The Printable class provides a way for new classes to allow themselves to be printed. - By deriving from Printable and implementing the printTo method, it will then be possible - for users to print out instances of this class by passing them into the usual - Print::print and Print::println methods. -*/ - -class Printable -{ - public: - virtual size_t printTo(Print& p) const = 0; -}; - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Server.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Server.h deleted file mode 100644 index 9674c7626..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Server.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef server_h -#define server_h - -class Server : public Print { -public: - virtual void begin() =0; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.cpp deleted file mode 100644 index aafb7fcf9..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/* - Stream.cpp - adds parsing methods to Stream class - Copyright (c) 2008 David A. Mellis. 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 - - Created July 2011 - parsing functions based on TextFinder library by Michael Margolis - */ - -#include "Arduino.h" -#include "Stream.h" - -#define PARSE_TIMEOUT 1000 // default number of milli-seconds to wait -#define NO_SKIP_CHAR 1 // a magic char not found in a valid ASCII numeric field - -// private method to read stream with timeout -int Stream::timedRead() -{ - int c; - _startMillis = millis(); - do { - c = read(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// private method to peek stream with timeout -int Stream::timedPeek() -{ - int c; - _startMillis = millis(); - do { - c = peek(); - if (c >= 0) return c; - } while(millis() - _startMillis < _timeout); - return -1; // -1 indicates timeout -} - -// returns peek of the next digit in the stream or -1 if timeout -// discards non-numeric characters -int Stream::peekNextDigit() -{ - int c; - while (1) { - c = timedPeek(); - if (c < 0) return c; // timeout - if (c == '-') return c; - if (c >= '0' && c <= '9') return c; - read(); // discard non-numeric - } -} - -// Public Methods -////////////////////////////////////////////////////////////// - -void Stream::setTimeout(unsigned long timeout) // sets the maximum number of milliseconds to wait -{ - _timeout = timeout; -} - - // find returns true if the target string is found -bool Stream::find(char *target) -{ - return findUntil(target, NULL); -} - -// reads data from the stream until the target string of given length is found -// returns true if target string is found, false if timed out -bool Stream::find(char *target, size_t length) -{ - return findUntil(target, length, NULL, 0); -} - -// as find but search ends if the terminator string is found -bool Stream::findUntil(char *target, char *terminator) -{ - return findUntil(target, strlen(target), terminator, strlen(terminator)); -} - -// reads data from the stream until the target string of the given length is found -// search terminated if the terminator string is found -// returns true if target string is found, false if terminated or timed out -bool Stream::findUntil(char *target, size_t targetLen, char *terminator, size_t termLen) -{ - size_t index = 0; // maximum target string length is 64k bytes! - size_t termIndex = 0; - int c; - - if( *target == 0) - return true; // return true if target is a null string - while( (c = timedRead()) > 0){ - - if(c != target[index]) - index = 0; // reset index if any char does not match - - if( c == target[index]){ - //////Serial.print("found "); Serial.write(c); Serial.print("index now"); Serial.println(index+1); - if(++index >= targetLen){ // return true if all chars in the target match - return true; - } - } - - if(termLen > 0 && c == terminator[termIndex]){ - if(++termIndex >= termLen) - return false; // return false if terminate string found before target string - } - else - termIndex = 0; - } - return false; -} - - -// returns the first valid (long) integer value from the current position. -// initial characters that are not digits (or the minus sign) are skipped -// function is terminated by the first character that is not a digit. -long Stream::parseInt() -{ - return parseInt(NO_SKIP_CHAR); // terminate on first non-digit character (or timeout) -} - -// as above but a given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -long Stream::parseInt(char skipChar) -{ - boolean isNegative = false; - long value = 0; - int c; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore this charactor - else if(c == '-') - isNegative = true; - else if(c >= '0' && c <= '9') // is c a digit? - value = value * 10 + c - '0'; - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == skipChar ); - - if(isNegative) - value = -value; - return value; -} - - -// as parseInt but returns a floating point value -float Stream::parseFloat() -{ - return parseFloat(NO_SKIP_CHAR); -} - -// as above but the given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -float Stream::parseFloat(char skipChar){ - boolean isNegative = false; - boolean isFraction = false; - long value = 0; - char c; - float fraction = 1.0; - - c = peekNextDigit(); - // ignore non numeric leading characters - if(c < 0) - return 0; // zero returned if timeout - - do{ - if(c == skipChar) - ; // ignore - else if(c == '-') - isNegative = true; - else if (c == '.') - isFraction = true; - else if(c >= '0' && c <= '9') { // is c a digit? - value = value * 10 + c - '0'; - if(isFraction) - fraction *= 0.1; - } - read(); // consume the character we got with peek - c = timedPeek(); - } - while( (c >= '0' && c <= '9') || c == '.' || c == skipChar ); - - if(isNegative) - value = -value; - if(isFraction) - return value * fraction; - else - return value; -} - -// read characters from stream into buffer -// terminates if length characters have been read, or timeout (see setTimeout) -// returns the number of characters placed in the buffer -// the buffer is NOT null terminated. -// -size_t Stream::readBytes(char *buffer, size_t length) -{ - size_t count = 0; - while (count < length) { - int c = timedRead(); - if (c < 0) break; - *buffer++ = (char)c; - count++; - } - return count; -} - - -// as readBytes with terminator character -// terminates if length characters have been read, timeout, or if the terminator character detected -// returns the number of characters placed in the buffer (0 means no valid data found) - -size_t Stream::readBytesUntil(char terminator, char *buffer, size_t length) -{ - if (length < 1) return 0; - size_t index = 0; - while (index < length) { - int c = timedRead(); - if (c < 0 || c == terminator) break; - *buffer++ = (char)c; - index++; - } - return index; // return number of characters, not including null terminator -} - -String Stream::readString() -{ - String ret; - int c = timedRead(); - while (c >= 0) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - -String Stream::readStringUntil(char terminator) -{ - String ret; - int c = timedRead(); - while (c >= 0 && c != terminator) - { - ret += (char)c; - c = timedRead(); - } - return ret; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.h deleted file mode 100644 index 58bbf752f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Stream.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - Stream.h - base class for character-based streams. - Copyright (c) 2010 David A. Mellis. 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 - - parsing functions based on TextFinder library by Michael Margolis -*/ - -#ifndef Stream_h -#define Stream_h - -#include -#include "Print.h" - -// compatability macros for testing -/* -#define getInt() parseInt() -#define getInt(skipChar) parseInt(skipchar) -#define getFloat() parseFloat() -#define getFloat(skipChar) parseFloat(skipChar) -#define getString( pre_string, post_string, buffer, length) -readBytesBetween( pre_string, terminator, buffer, length) -*/ - -class Stream : public Print -{ - private: - unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read - unsigned long _startMillis; // used for timeout measurement - int timedRead(); // private method to read stream with timeout - int timedPeek(); // private method to peek stream with timeout - int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout - - public: - virtual int available() = 0; - virtual int read() = 0; - virtual int peek() = 0; - virtual void flush() = 0; - - Stream() {_timeout=1000;} - -// parsing methods - - void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second - - bool find(char *target); // reads data from the stream until the target string is found - // returns true if target string is found, false if timed out (see setTimeout) - - bool find(char *target, size_t length); // reads data from the stream until the target string of given length is found - // returns true if target string is found, false if timed out - - bool findUntil(char *target, char *terminator); // as find but search ends if the terminator string is found - - bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen); // as above but search ends if the terminate string is found - - - long parseInt(); // returns the first valid (long) integer value from the current position. - // initial characters that are not digits (or the minus sign) are skipped - // integer is terminated by the first character that is not a digit. - - float parseFloat(); // float version of parseInt - - size_t readBytes( char *buffer, size_t length); // read chars from stream into buffer - // terminates if length characters have been read or timeout (see setTimeout) - // returns the number of characters placed in the buffer (0 means no valid data found) - - size_t readBytesUntil( char terminator, char *buffer, size_t length); // as readBytes with terminator character - // terminates if length characters have been read, timeout, or if the terminator character detected - // returns the number of characters placed in the buffer (0 means no valid data found) - - // Arduino String functions to be added here - String readString(); - String readStringUntil(char terminator); - - protected: - long parseInt(char skipChar); // as above but the given skipChar is ignored - // as above but the given skipChar is ignored - // this allows format characters (typically commas) in values to be ignored - - float parseFloat(char skipChar); // as above but the given skipChar is ignored -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Tone.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Tone.cpp deleted file mode 100644 index 20eed3f48..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Tone.cpp +++ /dev/null @@ -1,601 +0,0 @@ -/* Tone.cpp - - A Tone Generator Library - - Written by Brett Hagman - - 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 - -Version Modified By Date Comments -------- ----------- -------- -------- -0001 B Hagman 09/08/02 Initial coding -0002 B Hagman 09/08/18 Multiple pins -0003 B Hagman 09/08/18 Moved initialization from constructor to begin() -0004 B Hagman 09/09/26 Fixed problems with ATmega8 -0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers - 09/11/25 Changed pin toggle method to XOR - 09/11/25 Fixed timer0 from being excluded -0006 D Mellis 09/12/29 Replaced objects with functions -0007 M Sproul 10/08/29 Changed #ifdefs from cpu to register -*************************************************/ - -#include -#include -#include "Arduino.h" -#include "pins_arduino.h" - -#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__) -#define TCCR2A TCCR2 -#define TCCR2B TCCR2 -#define COM2A1 COM21 -#define COM2A0 COM20 -#define OCR2A OCR2 -#define TIMSK2 TIMSK -#define OCIE2A OCIE2 -#define TIMER2_COMPA_vect TIMER2_COMP_vect -#define TIMSK1 TIMSK -#endif - -// timerx_toggle_count: -// > 0 - duration specified -// = 0 - stopped -// < 0 - infinitely (until stop() method called, or new play() called) - -#if !defined(__AVR_ATmega8__) -volatile long timer0_toggle_count; -volatile uint8_t *timer0_pin_port; -volatile uint8_t timer0_pin_mask; -#endif - -volatile long timer1_toggle_count; -volatile uint8_t *timer1_pin_port; -volatile uint8_t timer1_pin_mask; -volatile long timer2_toggle_count; -volatile uint8_t *timer2_pin_port; -volatile uint8_t timer2_pin_mask; - -#if defined(TIMSK3) -volatile long timer3_toggle_count; -volatile uint8_t *timer3_pin_port; -volatile uint8_t timer3_pin_mask; -#endif - -#if defined(TIMSK4) -volatile long timer4_toggle_count; -volatile uint8_t *timer4_pin_port; -volatile uint8_t timer4_pin_mask; -#endif - -#if defined(TIMSK5) -volatile long timer5_toggle_count; -volatile uint8_t *timer5_pin_port; -volatile uint8_t timer5_pin_mask; -#endif - - -// MLS: This does not make sense, the 3 options are the same -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - -#define AVAILABLE_TONE_PINS 1 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ }; - -#elif defined(__AVR_ATmega8__) - -#define AVAILABLE_TONE_PINS 1 - -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ }; - -#else - -#define AVAILABLE_TONE_PINS 1 - -// Leave timer 0 to last. -const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ }; -static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ }; - -#endif - - - -static int8_t toneBegin(uint8_t _pin) -{ - int8_t _timer = -1; - - // if we're already using the pin, the timer should be configured. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - return pgm_read_byte(tone_pin_to_timer_PGM + i); - } - } - - // search for an unused timer. - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == 255) { - tone_pins[i] = _pin; - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - break; - } - } - - if (_timer != -1) - { - // Set timer specific stuff - // All timers in CTC mode - // 8 bit timers will require changing prescalar values, - // whereas 16 bit timers are set to either ck/1 or ck/64 prescalar - switch (_timer) - { - #if defined(TCCR0A) && defined(TCCR0B) - case 0: - // 8 bit timer - TCCR0A = 0; - TCCR0B = 0; - bitWrite(TCCR0A, WGM01, 1); - bitWrite(TCCR0B, CS00, 1); - timer0_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer0_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12) - case 1: - // 16 bit timer - TCCR1A = 0; - TCCR1B = 0; - bitWrite(TCCR1B, WGM12, 1); - bitWrite(TCCR1B, CS10, 1); - timer1_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer1_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR2A) && defined(TCCR2B) - case 2: - // 8 bit timer - TCCR2A = 0; - TCCR2B = 0; - bitWrite(TCCR2A, WGM21, 1); - bitWrite(TCCR2B, CS20, 1); - timer2_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer2_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR3A) && defined(TCCR3B) && defined(TIMSK3) - case 3: - // 16 bit timer - TCCR3A = 0; - TCCR3B = 0; - bitWrite(TCCR3B, WGM32, 1); - bitWrite(TCCR3B, CS30, 1); - timer3_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer3_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR4A) && defined(TCCR4B) && defined(TIMSK4) - case 4: - // 16 bit timer - TCCR4A = 0; - TCCR4B = 0; - #if defined(WGM42) - bitWrite(TCCR4B, WGM42, 1); - #elif defined(CS43) - #warning this may not be correct - // atmega32u4 - bitWrite(TCCR4B, CS43, 1); - #endif - bitWrite(TCCR4B, CS40, 1); - timer4_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer4_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - - #if defined(TCCR5A) && defined(TCCR5B) && defined(TIMSK5) - case 5: - // 16 bit timer - TCCR5A = 0; - TCCR5B = 0; - bitWrite(TCCR5B, WGM52, 1); - bitWrite(TCCR5B, CS50, 1); - timer5_pin_port = portOutputRegister(digitalPinToPort(_pin)); - timer5_pin_mask = digitalPinToBitMask(_pin); - break; - #endif - } - } - - return _timer; -} - - - -// frequency (in hertz) and duration (in milliseconds). - -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration) -{ - uint8_t prescalarbits = 0b001; - long toggle_count = 0; - uint32_t ocr = 0; - int8_t _timer; - - _timer = toneBegin(_pin); - - if (_timer >= 0) - { - // Set the pinMode as OUTPUT - pinMode(_pin, OUTPUT); - - // if we are using an 8 bit timer, scan through prescalars to find the best fit - if (_timer == 0 || _timer == 2) - { - ocr = F_CPU / frequency / 2 - 1; - prescalarbits = 0b001; // ck/1: same for both timers - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 8 - 1; - prescalarbits = 0b010; // ck/8: same for both timers - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 32 - 1; - prescalarbits = 0b011; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = _timer == 0 ? 0b011 : 0b100; - - if (_timer == 2 && ocr > 255) - { - ocr = F_CPU / frequency / 2 / 128 - 1; - prescalarbits = 0b101; - } - - if (ocr > 255) - { - ocr = F_CPU / frequency / 2 / 256 - 1; - prescalarbits = _timer == 0 ? 0b100 : 0b110; - if (ocr > 255) - { - // can't do any better than /1024 - ocr = F_CPU / frequency / 2 / 1024 - 1; - prescalarbits = _timer == 0 ? 0b101 : 0b111; - } - } - } - } - -#if defined(TCCR0B) - if (_timer == 0) - { - TCCR0B = prescalarbits; - } - else -#endif -#if defined(TCCR2B) - { - TCCR2B = prescalarbits; - } -#else - { - // dummy place holder to make the above ifdefs work - } -#endif - } - else - { - // two choices for the 16 bit timers: ck/1 or ck/64 - ocr = F_CPU / frequency / 2 - 1; - - prescalarbits = 0b001; - if (ocr > 0xffff) - { - ocr = F_CPU / frequency / 2 / 64 - 1; - prescalarbits = 0b011; - } - - if (_timer == 1) - { -#if defined(TCCR1B) - TCCR1B = (TCCR1B & 0b11111000) | prescalarbits; -#endif - } -#if defined(TCCR3B) - else if (_timer == 3) - TCCR3B = (TCCR3B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR4B) - else if (_timer == 4) - TCCR4B = (TCCR4B & 0b11111000) | prescalarbits; -#endif -#if defined(TCCR5B) - else if (_timer == 5) - TCCR5B = (TCCR5B & 0b11111000) | prescalarbits; -#endif - - } - - - // Calculate the toggle count - if (duration > 0) - { - toggle_count = 2 * frequency * duration / 1000; - } - else - { - toggle_count = -1; - } - - // Set the OCR for the given timer, - // set the toggle count, - // then turn on the interrupts - switch (_timer) - { - -#if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A) - case 0: - OCR0A = ocr; - timer0_toggle_count = toggle_count; - bitWrite(TIMSK0, OCIE0A, 1); - break; -#endif - - case 1: -#if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A) - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK1, OCIE1A, 1); -#elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A) - // this combination is for at least the ATmega32 - OCR1A = ocr; - timer1_toggle_count = toggle_count; - bitWrite(TIMSK, OCIE1A, 1); -#endif - break; - -#if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A) - case 2: - OCR2A = ocr; - timer2_toggle_count = toggle_count; - bitWrite(TIMSK2, OCIE2A, 1); - break; -#endif - -#if defined(TIMSK3) - case 3: - OCR3A = ocr; - timer3_toggle_count = toggle_count; - bitWrite(TIMSK3, OCIE3A, 1); - break; -#endif - -#if defined(TIMSK4) - case 4: - OCR4A = ocr; - timer4_toggle_count = toggle_count; - bitWrite(TIMSK4, OCIE4A, 1); - break; -#endif - -#if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A) - case 5: - OCR5A = ocr; - timer5_toggle_count = toggle_count; - bitWrite(TIMSK5, OCIE5A, 1); - break; -#endif - - } - } -} - - -// XXX: this function only works properly for timer 2 (the only one we use -// currently). for the others, it should end the tone, but won't restore -// proper PWM functionality for the timer. -void disableTimer(uint8_t _timer) -{ - switch (_timer) - { - case 0: - #if defined(TIMSK0) - TIMSK0 = 0; - #elif defined(TIMSK) - TIMSK = 0; // atmega32 - #endif - break; - -#if defined(TIMSK1) && defined(OCIE1A) - case 1: - bitWrite(TIMSK1, OCIE1A, 0); - break; -#endif - - case 2: - #if defined(TIMSK2) && defined(OCIE2A) - bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt - #endif - #if defined(TCCR2A) && defined(WGM20) - TCCR2A = (1 << WGM20); - #endif - #if defined(TCCR2B) && defined(CS22) - TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22); - #endif - #if defined(OCR2A) - OCR2A = 0; - #endif - break; - -#if defined(TIMSK3) - case 3: - TIMSK3 = 0; - break; -#endif - -#if defined(TIMSK4) - case 4: - TIMSK4 = 0; - break; -#endif - -#if defined(TIMSK5) - case 5: - TIMSK5 = 0; - break; -#endif - } -} - - -void noTone(uint8_t _pin) -{ - int8_t _timer = -1; - - for (int i = 0; i < AVAILABLE_TONE_PINS; i++) { - if (tone_pins[i] == _pin) { - _timer = pgm_read_byte(tone_pin_to_timer_PGM + i); - tone_pins[i] = 255; - } - } - - disableTimer(_timer); - - digitalWrite(_pin, 0); -} - -#if 0 -#if !defined(__AVR_ATmega8__) -ISR(TIMER0_COMPA_vect) -{ - if (timer0_toggle_count != 0) - { - // toggle the pin - *timer0_pin_port ^= timer0_pin_mask; - - if (timer0_toggle_count > 0) - timer0_toggle_count--; - } - else - { - disableTimer(0); - *timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop - } -} -#endif - - -ISR(TIMER1_COMPA_vect) -{ - if (timer1_toggle_count != 0) - { - // toggle the pin - *timer1_pin_port ^= timer1_pin_mask; - - if (timer1_toggle_count > 0) - timer1_toggle_count--; - } - else - { - disableTimer(1); - *timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop - } -} -#endif - - -ISR(TIMER2_COMPA_vect) -{ - - if (timer2_toggle_count != 0) - { - // toggle the pin - *timer2_pin_port ^= timer2_pin_mask; - - if (timer2_toggle_count > 0) - timer2_toggle_count--; - } - else - { - // need to call noTone() so that the tone_pins[] entry is reset, so the - // timer gets initialized next time we call tone(). - // XXX: this assumes timer 2 is always the first one used. - noTone(tone_pins[0]); -// disableTimer(2); -// *timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop - } -} - - - -//#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) -#if 0 - -ISR(TIMER3_COMPA_vect) -{ - if (timer3_toggle_count != 0) - { - // toggle the pin - *timer3_pin_port ^= timer3_pin_mask; - - if (timer3_toggle_count > 0) - timer3_toggle_count--; - } - else - { - disableTimer(3); - *timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop - } -} - -ISR(TIMER4_COMPA_vect) -{ - if (timer4_toggle_count != 0) - { - // toggle the pin - *timer4_pin_port ^= timer4_pin_mask; - - if (timer4_toggle_count > 0) - timer4_toggle_count--; - } - else - { - disableTimer(4); - *timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop - } -} - -ISR(TIMER5_COMPA_vect) -{ - if (timer5_toggle_count != 0) - { - // toggle the pin - *timer5_pin_port ^= timer5_pin_mask; - - if (timer5_toggle_count > 0) - timer5_toggle_count--; - } - else - { - disableTimer(5); - *timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop - } -} - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBAPI.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBAPI.h deleted file mode 100644 index d5abdb690..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBAPI.h +++ /dev/null @@ -1,195 +0,0 @@ - - -#ifndef __USBAPI__ -#define __USBAPI__ - -#if defined(USBCON) - -//================================================================================ -//================================================================================ -// USB - -class USBDevice_ -{ -public: - USBDevice_(); - bool configured(); - - void attach(); - void detach(); // Serial port goes down too... - void poll(); -}; -extern USBDevice_ USBDevice; - -//================================================================================ -//================================================================================ -// Serial over CDC (Serial1 is the physical port) - -class Serial_ : public Stream -{ -private: - ring_buffer *_cdc_rx_buffer; -public: - void begin(uint16_t baud_count); - void end(void); - - virtual int available(void); - virtual void accept(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - operator bool(); -}; -extern Serial_ Serial; - -//================================================================================ -//================================================================================ -// Mouse - -#define MOUSE_LEFT 1 -#define MOUSE_RIGHT 2 -#define MOUSE_MIDDLE 4 -#define MOUSE_ALL (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE) - -class Mouse_ -{ -private: - uint8_t _buttons; - void buttons(uint8_t b); -public: - Mouse_(void); - void begin(void); - void end(void); - void click(uint8_t b = MOUSE_LEFT); - void move(signed char x, signed char y, signed char wheel = 0); - void press(uint8_t b = MOUSE_LEFT); // press LEFT by default - void release(uint8_t b = MOUSE_LEFT); // release LEFT by default - bool isPressed(uint8_t b = MOUSE_LEFT); // check LEFT by default -}; -extern Mouse_ Mouse; - -//================================================================================ -//================================================================================ -// Keyboard - -#define KEY_LEFT_CTRL 0x80 -#define KEY_LEFT_SHIFT 0x81 -#define KEY_LEFT_ALT 0x82 -#define KEY_LEFT_GUI 0x83 -#define KEY_RIGHT_CTRL 0x84 -#define KEY_RIGHT_SHIFT 0x85 -#define KEY_RIGHT_ALT 0x86 -#define KEY_RIGHT_GUI 0x87 - -#define KEY_UP_ARROW 0xDA -#define KEY_DOWN_ARROW 0xD9 -#define KEY_LEFT_ARROW 0xD8 -#define KEY_RIGHT_ARROW 0xD7 -#define KEY_BACKSPACE 0xB2 -#define KEY_TAB 0xB3 -#define KEY_RETURN 0xB0 -#define KEY_ESC 0xB1 -#define KEY_INSERT 0xD1 -#define KEY_DELETE 0xD4 -#define KEY_PAGE_UP 0xD3 -#define KEY_PAGE_DOWN 0xD6 -#define KEY_HOME 0xD2 -#define KEY_END 0xD5 -#define KEY_CAPS_LOCK 0xC1 -#define KEY_F1 0xC2 -#define KEY_F2 0xC3 -#define KEY_F3 0xC4 -#define KEY_F4 0xC5 -#define KEY_F5 0xC6 -#define KEY_F6 0xC7 -#define KEY_F7 0xC8 -#define KEY_F8 0xC9 -#define KEY_F9 0xCA -#define KEY_F10 0xCB -#define KEY_F11 0xCC -#define KEY_F12 0xCD - -// Low level key report: up to 6 keys and shift, ctrl etc at once -typedef struct -{ - uint8_t modifiers; - uint8_t reserved; - uint8_t keys[6]; -} KeyReport; - -class Keyboard_ : public Print -{ -private: - KeyReport _keyReport; - void sendReport(KeyReport* keys); -public: - Keyboard_(void); - void begin(void); - void end(void); - virtual size_t write(uint8_t k); - virtual size_t press(uint8_t k); - virtual size_t release(uint8_t k); - virtual void releaseAll(void); -}; -extern Keyboard_ Keyboard; - -//================================================================================ -//================================================================================ -// Low level API - -typedef struct -{ - uint8_t bmRequestType; - uint8_t bRequest; - uint8_t wValueL; - uint8_t wValueH; - uint16_t wIndex; - uint16_t wLength; -} Setup; - -//================================================================================ -//================================================================================ -// HID 'Driver' - -int HID_GetInterface(uint8_t* interfaceNum); -int HID_GetDescriptor(int i); -bool HID_Setup(Setup& setup); -void HID_SendReport(uint8_t id, const void* data, int len); - -//================================================================================ -//================================================================================ -// MSC 'Driver' - -int MSC_GetInterface(uint8_t* interfaceNum); -int MSC_GetDescriptor(int i); -bool MSC_Setup(Setup& setup); -bool MSC_Data(uint8_t rx,uint8_t tx); - -//================================================================================ -//================================================================================ -// CSC 'Driver' - -int CDC_GetInterface(uint8_t* interfaceNum); -int CDC_GetDescriptor(int i); -bool CDC_Setup(Setup& setup); - -//================================================================================ -//================================================================================ - -#define TRANSFER_PGM 0x80 -#define TRANSFER_RELEASE 0x40 -#define TRANSFER_ZERO 0x20 - -int USB_SendControl(uint8_t flags, const void* d, int len); -int USB_RecvControl(void* d, int len); - -uint8_t USB_Available(uint8_t ep); -int USB_Send(uint8_t ep, const void* data, int len); // blocking -int USB_Recv(uint8_t ep, void* data, int len); // non-blocking -int USB_Recv(uint8_t ep); // non-blocking -void USB_Flush(uint8_t ep); - -#endif - -#endif /* if defined(USBCON) */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBCore.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBCore.cpp deleted file mode 100644 index 545c88a7a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBCore.cpp +++ /dev/null @@ -1,670 +0,0 @@ - - -/* Copyright (c) 2010, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#include "Platform.h" -#include "USBAPI.h" -#include "USBDesc.h" - -#if defined(USBCON) - -#define EP_TYPE_CONTROL 0x00 -#define EP_TYPE_BULK_IN 0x81 -#define EP_TYPE_BULK_OUT 0x80 -#define EP_TYPE_INTERRUPT_IN 0xC1 -#define EP_TYPE_INTERRUPT_OUT 0xC0 -#define EP_TYPE_ISOCHRONOUS_IN 0x41 -#define EP_TYPE_ISOCHRONOUS_OUT 0x40 - -/** Pulse generation counters to keep track of the number of milliseconds remaining for each pulse type */ -#define TX_RX_LED_PULSE_MS 100 -volatile u8 TxLEDPulse; /**< Milliseconds remaining for data Tx LED pulse */ -volatile u8 RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */ - -//================================================================== -//================================================================== - -extern const u16 STRING_LANGUAGE[] PROGMEM; -extern const u16 STRING_IPRODUCT[] PROGMEM; -extern const u16 STRING_IMANUFACTURER[] PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptor PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptorA PROGMEM; - -const u16 STRING_LANGUAGE[2] = { - (3<<8) | (2+2), - 0x0409 // English -}; - -const u16 STRING_IPRODUCT[17] = { - (3<<8) | (2+2*16), - 'B','r','a','i','n','w','a','v','e',' ',' ',' ',' ',' ',' ',' ' -}; - -const u16 STRING_IMANUFACTURER[12] = { - (3<<8) | (2+2*11), - 'M','e','t','r','i','x',' ',' ',' ',' ',' ' -}; - -#ifdef CDC_ENABLED -#define DEVICE_CLASS 0x02 -#else -#define DEVICE_CLASS 0x00 -#endif - -// DEVICE DESCRIPTOR -const DeviceDescriptor USB_DeviceDescriptor = - D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -const DeviceDescriptor USB_DeviceDescriptorA = - D_DEVICE(DEVICE_CLASS,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,0,1); - -//================================================================== -//================================================================== - -volatile u8 _usbConfiguration = 0; - -static inline void WaitIN(void) -{ - while (!(UEINTX & (1< len) - n = len; - len -= n; - { - LockEP lock(ep); - if (ep & TRANSFER_ZERO) - { - while (n--) - Send8(0); - } - else if (ep & TRANSFER_PGM) - { - while (n--) - Send8(pgm_read_byte(data++)); - } - else - { - while (n--) - Send8(*data++); - } - if (!ReadWriteAllowed() || ((len == 0) && (ep & TRANSFER_RELEASE))) // Release full buffer - ReleaseTX(); - } - } - TXLED1; // light the TX LED - TxLEDPulse = TX_RX_LED_PULSE_MS; - return r; -} - -extern const u8 _initEndpoints[] PROGMEM; -const u8 _initEndpoints[] = -{ - 0, - -#ifdef CDC_ENABLED - EP_TYPE_INTERRUPT_IN, // CDC_ENDPOINT_ACM - EP_TYPE_BULK_OUT, // CDC_ENDPOINT_OUT - EP_TYPE_BULK_IN, // CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED - EP_TYPE_INTERRUPT_IN // HID_ENDPOINT_INT -#endif -}; - -#define EP_SINGLE_64 0x32 // EP0 -#define EP_DOUBLE_64 0x36 // Other endpoints - -static -void InitEP(u8 index, u8 type, u8 size) -{ - UENUM = index; - UECONX = 1; - UECFG0X = type; - UECFG1X = size; -} - -static -void InitEndpoints() -{ - for (u8 i = 1; i < sizeof(_initEndpoints); i++) - { - UENUM = i; - UECONX = 1; - UECFG0X = pgm_read_byte(_initEndpoints+i); - UECFG1X = EP_DOUBLE_64; - } - UERST = 0x7E; // And reset them - UERST = 0; -} - -// Handle CLASS_INTERFACE requests -static -bool ClassInterfaceRequest(Setup& setup) -{ - u8 i = setup.wIndex; - -#ifdef CDC_ENABLED - if (CDC_ACM_INTERFACE == i) - return CDC_Setup(setup); -#endif - -#ifdef HID_ENABLED - if (HID_INTERFACE == i) - return HID_Setup(setup); -#endif - return false; -} - -int _cmark; -int _cend; -void InitControl(int end) -{ - SetEP(0); - _cmark = 0; - _cend = end; -} - -static -bool SendControl(u8 d) -{ - if (_cmark < _cend) - { - if (!WaitForINOrOUT()) - return false; - Send8(d); - if (!((_cmark + 1) & 0x3F)) - ClearIN(); // Fifo is full, release this packet - } - _cmark++; - return true; -}; - -// Clipped by _cmark/_cend -int USB_SendControl(u8 flags, const void* d, int len) -{ - int sent = len; - const u8* data = (const u8*)d; - bool pgm = flags & TRANSFER_PGM; - while (len--) - { - u8 c = pgm ? pgm_read_byte(data++) : *data++; - if (!SendControl(c)) - return -1; - } - return sent; -} - -// Does not timeout or cross fifo boundaries -// Will only work for transfers <= 64 bytes -// TODO -int USB_RecvControl(void* d, int len) -{ - WaitOUT(); - Recv((u8*)d,len); - ClearOUT(); - return len; -} - -int SendInterfaces() -{ - int total = 0; - u8 interfaces = 0; - -#ifdef CDC_ENABLED - total = CDC_GetInterface(&interfaces); -#endif - -#ifdef HID_ENABLED - total += HID_GetInterface(&interfaces); -#endif - - return interfaces; -} - -// Construct a dynamic configuration descriptor -// This really needs dynamic endpoint allocation etc -// TODO -static -bool SendConfiguration(int maxlen) -{ - // Count and measure interfaces - InitControl(0); - int interfaces = SendInterfaces(); - ConfigDescriptor config = D_CONFIG(_cmark + sizeof(ConfigDescriptor),interfaces); - - // Now send them - InitControl(maxlen); - USB_SendControl(0,&config,sizeof(ConfigDescriptor)); - SendInterfaces(); - return true; -} - -u8 _cdcComposite = 0; - -static -bool SendDescriptor(Setup& setup) -{ - u8 t = setup.wValueH; - if (USB_CONFIGURATION_DESCRIPTOR_TYPE == t) - return SendConfiguration(setup.wLength); - - InitControl(setup.wLength); -#ifdef HID_ENABLED - if (HID_REPORT_DESCRIPTOR_TYPE == t) - return HID_GetDescriptor(t); -#endif - - u8 desc_length = 0; - const u8* desc_addr = 0; - if (USB_DEVICE_DESCRIPTOR_TYPE == t) - { - if (setup.wLength == 8) - _cdcComposite = 1; - desc_addr = _cdcComposite ? (const u8*)&USB_DeviceDescriptorA : (const u8*)&USB_DeviceDescriptor; - } - else if (USB_STRING_DESCRIPTOR_TYPE == t) - { - if (setup.wValueL == 0) - desc_addr = (const u8*)&STRING_LANGUAGE; - else if (setup.wValueL == IPRODUCT) - desc_addr = (const u8*)&STRING_IPRODUCT; - else if (setup.wValueL == IMANUFACTURER) - desc_addr = (const u8*)&STRING_IMANUFACTURER; - else - return false; - } - - if (desc_addr == 0) - return false; - if (desc_length == 0) - desc_length = pgm_read_byte(desc_addr); - - USB_SendControl(TRANSFER_PGM,desc_addr,desc_length); - return true; -} - -// Endpoint 0 interrupt -ISR(USB_COM_vect) -{ - SetEP(0); - if (!ReceivedSetupInt()) - return; - - Setup setup; - Recv((u8*)&setup,8); - ClearSetupInt(); - - u8 requestType = setup.bmRequestType; - if (requestType & REQUEST_DEVICETOHOST) - WaitIN(); - else - ClearIN(); - - bool ok = true; - if (REQUEST_STANDARD == (requestType & REQUEST_TYPE)) - { - // Standard Requests - u8 r = setup.bRequest; - if (GET_STATUS == r) - { - Send8(0); // TODO - Send8(0); - } - else if (CLEAR_FEATURE == r) - { - } - else if (SET_FEATURE == r) - { - } - else if (SET_ADDRESS == r) - { - WaitIN(); - UDADDR = setup.wValueL | (1<> 8) & 0xFF) - -#define CDC_V1_10 0x0110 -#define CDC_COMMUNICATION_INTERFACE_CLASS 0x02 - -#define CDC_CALL_MANAGEMENT 0x01 -#define CDC_ABSTRACT_CONTROL_MODEL 0x02 -#define CDC_HEADER 0x00 -#define CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02 -#define CDC_UNION 0x06 -#define CDC_CS_INTERFACE 0x24 -#define CDC_CS_ENDPOINT 0x25 -#define CDC_DATA_INTERFACE_CLASS 0x0A - -#define MSC_SUBCLASS_SCSI 0x06 -#define MSC_PROTOCOL_BULK_ONLY 0x50 - -#define HID_HID_DESCRIPTOR_TYPE 0x21 -#define HID_REPORT_DESCRIPTOR_TYPE 0x22 -#define HID_PHYSICAL_DESCRIPTOR_TYPE 0x23 - - -// Device -typedef struct { - u8 len; // 18 - u8 dtype; // 1 USB_DEVICE_DESCRIPTOR_TYPE - u16 usbVersion; // 0x200 - u8 deviceClass; - u8 deviceSubClass; - u8 deviceProtocol; - u8 packetSize0; // Packet 0 - u16 idVendor; - u16 idProduct; - u16 deviceVersion; // 0x100 - u8 iManufacturer; - u8 iProduct; - u8 iSerialNumber; - u8 bNumConfigurations; -} DeviceDescriptor; - -// Config -typedef struct { - u8 len; // 9 - u8 dtype; // 2 - u16 clen; // total length - u8 numInterfaces; - u8 config; - u8 iconfig; - u8 attributes; - u8 maxPower; -} ConfigDescriptor; - -// String - -// Interface -typedef struct -{ - u8 len; // 9 - u8 dtype; // 4 - u8 number; - u8 alternate; - u8 numEndpoints; - u8 interfaceClass; - u8 interfaceSubClass; - u8 protocol; - u8 iInterface; -} InterfaceDescriptor; - -// Endpoint -typedef struct -{ - u8 len; // 7 - u8 dtype; // 5 - u8 addr; - u8 attr; - u16 packetSize; - u8 interval; -} EndpointDescriptor; - -// Interface Association Descriptor -// Used to bind 2 interfaces together in CDC compostite device -typedef struct -{ - u8 len; // 8 - u8 dtype; // 11 - u8 firstInterface; - u8 interfaceCount; - u8 functionClass; - u8 funtionSubClass; - u8 functionProtocol; - u8 iInterface; -} IADDescriptor; - -// CDC CS interface descriptor -typedef struct -{ - u8 len; // 5 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; - u8 d1; -} CDCCSInterfaceDescriptor; - -typedef struct -{ - u8 len; // 4 - u8 dtype; // 0x24 - u8 subtype; - u8 d0; -} CDCCSInterfaceDescriptor4; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; - u8 bDataInterface; -} CMFunctionalDescriptor; - -typedef struct -{ - u8 len; - u8 dtype; // 0x24 - u8 subtype; // 1 - u8 bmCapabilities; -} ACMFunctionalDescriptor; - -typedef struct -{ - // IAD - IADDescriptor iad; // Only needed on compound device - - // Control - InterfaceDescriptor cif; // - CDCCSInterfaceDescriptor header; - CMFunctionalDescriptor callManagement; // Call Management - ACMFunctionalDescriptor controlManagement; // ACM - CDCCSInterfaceDescriptor functionalDescriptor; // CDC_UNION - EndpointDescriptor cifin; - - // Data - InterfaceDescriptor dif; - EndpointDescriptor in; - EndpointDescriptor out; -} CDCDescriptor; - -typedef struct -{ - InterfaceDescriptor msc; - EndpointDescriptor in; - EndpointDescriptor out; -} MSCDescriptor; - -typedef struct -{ - u8 len; // 9 - u8 dtype; // 0x21 - u8 addr; - u8 versionL; // 0x101 - u8 versionH; // 0x101 - u8 country; - u8 desctype; // 0x22 report - u8 descLenL; - u8 descLenH; -} HIDDescDescriptor; - -typedef struct -{ - InterfaceDescriptor hid; - HIDDescDescriptor desc; - EndpointDescriptor in; -} HIDDescriptor; - - -#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \ - { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs } - -#define D_CONFIG(_totalLength,_interfaces) \ - { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED, USB_CONFIG_POWER_MA(500) } - -#define D_INTERFACE(_n,_numEndpoints,_class,_subClass,_protocol) \ - { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 } - -#define D_ENDPOINT(_addr,_attr,_packetSize, _interval) \ - { 7, 5, _addr,_attr,_packetSize, _interval } - -#define D_IAD(_firstInterface, _count, _class, _subClass, _protocol) \ - { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 } - -#define D_HIDREPORT(_descriptorLength) \ - { 9, 0x21, 0x1, 0x1, 0, 1, 0x22, _descriptorLength, 0 } - -#define D_CDCCS(_subtype,_d0,_d1) { 5, 0x24, _subtype, _d0, _d1 } -#define D_CDCCS4(_subtype,_d0) { 4, 0x24, _subtype, _d0 } - - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBDesc.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBDesc.h deleted file mode 100644 index 094826433..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/USBDesc.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (c) 2011, Peter Barrett -** -** Permission to use, copy, modify, and/or distribute this software for -** any purpose with or without fee is hereby granted, provided that the -** above copyright notice and this permission notice appear in all copies. -** -** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR -** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -** SOFTWARE. -*/ - -#define CDC_ENABLED - -// Disable HID, Brainwaves don't need to be mice. -Hubbe 20120929 -// #define HID_ENABLED - -#ifdef CDC_ENABLED -#define CDC_INTERFACE_COUNT 2 -#define CDC_ENPOINT_COUNT 3 -#else -#define CDC_INTERFACE_COUNT 0 -#define CDC_ENPOINT_COUNT 0 -#endif - -#ifdef HID_ENABLED -#define HID_INTERFACE_COUNT 1 -#define HID_ENPOINT_COUNT 1 -#else -#define HID_INTERFACE_COUNT 0 -#define HID_ENPOINT_COUNT 0 -#endif - -#define CDC_ACM_INTERFACE 0 // CDC ACM -#define CDC_DATA_INTERFACE 1 // CDC Data -#define CDC_FIRST_ENDPOINT 1 -#define CDC_ENDPOINT_ACM (CDC_FIRST_ENDPOINT) // CDC First -#define CDC_ENDPOINT_OUT (CDC_FIRST_ENDPOINT+1) -#define CDC_ENDPOINT_IN (CDC_FIRST_ENDPOINT+2) - -#define HID_INTERFACE (CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT) // HID Interface -#define HID_FIRST_ENDPOINT (CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT) -#define HID_ENDPOINT_INT (HID_FIRST_ENDPOINT) - -#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT) - -#ifdef CDC_ENABLED -#define CDC_RX CDC_ENDPOINT_OUT -#define CDC_TX CDC_ENDPOINT_IN -#endif - -#ifdef HID_ENABLED -#define HID_TX HID_ENDPOINT_INT -#endif - -#define IMANUFACTURER 1 -#define IPRODUCT 2 - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Udp.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Udp.h deleted file mode 100644 index dc5644b9d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/Udp.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Udp.cpp: Library to send/receive UDP packets. - * - * NOTE: UDP is fast, but has some important limitations (thanks to Warren Gray for mentioning these) - * 1) UDP does not guarantee the order in which assembled UDP packets are received. This - * might not happen often in practice, but in larger network topologies, a UDP - * packet can be received out of sequence. - * 2) UDP does not guard against lost packets - so packets *can* disappear without the sender being - * aware of it. Again, this may not be a concern in practice on small local networks. - * For more information, see http://www.cafeaulait.org/course/week12/35.html - * - * MIT License: - * Copyright (c) 2008 Bjoern Hartmann - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * bjoern@cs.stanford.edu 12/30/2008 - */ - -#ifndef udp_h -#define udp_h - -#include -#include - -class UDP : public Stream { - -public: - virtual uint8_t begin(uint16_t) =0; // initialize, start listening on specified port. Returns 1 if successful, 0 if there are no sockets available to use - virtual void stop() =0; // Finish with the UDP socket - - // Sending UDP packets - - // Start building up a packet to send to the remote host specific in ip and port - // Returns 1 if successful, 0 if there was a problem with the supplied IP address or port - virtual int beginPacket(IPAddress ip, uint16_t port) =0; - // Start building up a packet to send to the remote host specific in host and port - // Returns 1 if successful, 0 if there was a problem resolving the hostname or port - virtual int beginPacket(const char *host, uint16_t port) =0; - // Finish off this packet and send it - // Returns 1 if the packet was sent successfully, 0 if there was an error - virtual int endPacket() =0; - // Write a single byte into the packet - virtual size_t write(uint8_t) =0; - // Write size bytes from buffer into the packet - virtual size_t write(const uint8_t *buffer, size_t size) =0; - - // Start processing the next available incoming packet - // Returns the size of the packet in bytes, or 0 if no packets are available - virtual int parsePacket() =0; - // Number of bytes remaining in the current packet - virtual int available() =0; - // Read a single byte from the current packet - virtual int read() =0; - // Read up to len bytes from the current packet and place them into buffer - // Returns the number of bytes read, or 0 if none are available - virtual int read(unsigned char* buffer, size_t len) =0; - // Read up to len characters from the current packet and place them into buffer - // Returns the number of characters read, or 0 if none are available - virtual int read(char* buffer, size_t len) =0; - // Return the next byte from the current packet without moving on to the next byte - virtual int peek() =0; - virtual void flush() =0; // Finish reading the current packet - - // Return the IP address of the host who sent the current incoming packet - virtual IPAddress remoteIP() =0; - // Return the port of the host who sent the current incoming packet - virtual uint16_t remotePort() =0; -protected: - uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WCharacter.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WCharacter.h deleted file mode 100644 index 79733b50a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WCharacter.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - WCharacter.h - Character utility functions for Wiring & Arduino - Copyright (c) 2010 Hernando Barragan. 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 Character_h -#define Character_h - -#include - -// WCharacter.h prototypes -inline boolean isAlphaNumeric(int c) __attribute__((always_inline)); -inline boolean isAlpha(int c) __attribute__((always_inline)); -inline boolean isAscii(int c) __attribute__((always_inline)); -inline boolean isWhitespace(int c) __attribute__((always_inline)); -inline boolean isControl(int c) __attribute__((always_inline)); -inline boolean isDigit(int c) __attribute__((always_inline)); -inline boolean isGraph(int c) __attribute__((always_inline)); -inline boolean isLowerCase(int c) __attribute__((always_inline)); -inline boolean isPrintable(int c) __attribute__((always_inline)); -inline boolean isPunct(int c) __attribute__((always_inline)); -inline boolean isSpace(int c) __attribute__((always_inline)); -inline boolean isUpperCase(int c) __attribute__((always_inline)); -inline boolean isHexadecimalDigit(int c) __attribute__((always_inline)); -inline int toAscii(int c) __attribute__((always_inline)); -inline int toLowerCase(int c) __attribute__((always_inline)); -inline int toUpperCase(int c)__attribute__((always_inline)); - - -// Checks for an alphanumeric character. -// It is equivalent to (isalpha(c) || isdigit(c)). -inline boolean isAlphaNumeric(int c) -{ - return ( isalnum(c) == 0 ? false : true); -} - - -// Checks for an alphabetic character. -// It is equivalent to (isupper(c) || islower(c)). -inline boolean isAlpha(int c) -{ - return ( isalpha(c) == 0 ? false : true); -} - - -// Checks whether c is a 7-bit unsigned char value -// that fits into the ASCII character set. -inline boolean isAscii(int c) -{ - return ( isascii (c) == 0 ? false : true); -} - - -// Checks for a blank character, that is, a space or a tab. -inline boolean isWhitespace(int c) -{ - return ( isblank (c) == 0 ? false : true); -} - - -// Checks for a control character. -inline boolean isControl(int c) -{ - return ( iscntrl (c) == 0 ? false : true); -} - - -// Checks for a digit (0 through 9). -inline boolean isDigit(int c) -{ - return ( isdigit (c) == 0 ? false : true); -} - - -// Checks for any printable character except space. -inline boolean isGraph(int c) -{ - return ( isgraph (c) == 0 ? false : true); -} - - -// Checks for a lower-case character. -inline boolean isLowerCase(int c) -{ - return (islower (c) == 0 ? false : true); -} - - -// Checks for any printable character including space. -inline boolean isPrintable(int c) -{ - return ( isprint (c) == 0 ? false : true); -} - - -// Checks for any printable character which is not a space -// or an alphanumeric character. -inline boolean isPunct(int c) -{ - return ( ispunct (c) == 0 ? false : true); -} - - -// Checks for white-space characters. For the avr-libc library, -// these are: space, formfeed ('\f'), newline ('\n'), carriage -// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v'). -inline boolean isSpace(int c) -{ - return ( isspace (c) == 0 ? false : true); -} - - -// Checks for an uppercase letter. -inline boolean isUpperCase(int c) -{ - return ( isupper (c) == 0 ? false : true); -} - - -// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 -// 8 9 a b c d e f A B C D E F. -inline boolean isHexadecimalDigit(int c) -{ - return ( isxdigit (c) == 0 ? false : true); -} - - -// Converts c to a 7-bit unsigned char value that fits into the -// ASCII character set, by clearing the high-order bits. -inline int toAscii(int c) -{ - return toascii (c); -} - - -// Warning: -// Many people will be unhappy if you use this function. -// This function will convert accented letters into random -// characters. - -// Converts the letter c to lower case, if possible. -inline int toLowerCase(int c) -{ - return tolower (c); -} - - -// Converts the letter c to upper case, if possible. -inline int toUpperCase(int c) -{ - return toupper (c); -} - -#endif \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WInterrupts.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WInterrupts.c deleted file mode 100644 index 8f3ec847f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WInterrupts.c +++ /dev/null @@ -1,298 +0,0 @@ -/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Wiring project - http://wiring.uniandes.edu.co - - Copyright (c) 2004-05 Hernando Barragan - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 24 November 2006 by David A. Mellis - Modified 1 August 2010 by Mark Sproul -*/ - -#include -#include -#include -#include -#include - -#include "wiring_private.h" - -static volatile voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS]; -// volatile static voidFuncPtr twiIntFunc; - -void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) { - if(interruptNum < EXTERNAL_NUM_INTERRUPTS) { - intFunc[interruptNum] = userFunc; - - // Configure the interrupt mode (trigger on low input, any change, rising - // edge, or falling edge). The mode constants were chosen to correspond - // to the configuration bits in the hardware register, so we simply shift - // the mode into place. - - // Enable the interrupt. - - switch (interruptNum) { -#if defined(__AVR_ATmega32U4__) - // I hate doing this, but the register assignment differs between the 1280/2560 - // and the 32U4. Since avrlib defines registers PCMSK1 and PCMSK2 that aren't - // even present on the 32U4 this is the only way to distinguish between them. - case 0: - EICRA = (EICRA & ~((1<= howbig) { - return howsmall; - } - long diff = howbig - howsmall; - return random(diff) + howsmall; -} - -long map(long x, long in_min, long in_max, long out_min, long out_max) -{ - return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -} - -unsigned int makeWord(unsigned int w) { return w; } -unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; } \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.cpp deleted file mode 100644 index c6839fc0d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.cpp +++ /dev/null @@ -1,645 +0,0 @@ -/* - WString.cpp - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All rights reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 "WString.h" - - -/*********************************************/ -/* Constructors */ -/*********************************************/ - -String::String(const char *cstr) -{ - init(); - if (cstr) copy(cstr, strlen(cstr)); -} - -String::String(const String &value) -{ - init(); - *this = value; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String::String(String &&rval) -{ - init(); - move(rval); -} -String::String(StringSumHelper &&rval) -{ - init(); - move(rval); -} -#endif - -String::String(char c) -{ - init(); - char buf[2]; - buf[0] = c; - buf[1] = 0; - *this = buf; -} - -String::String(unsigned char value, unsigned char base) -{ - init(); - char buf[9]; - utoa(value, buf, base); - *this = buf; -} - -String::String(int value, unsigned char base) -{ - init(); - char buf[18]; - itoa(value, buf, base); - *this = buf; -} - -String::String(unsigned int value, unsigned char base) -{ - init(); - char buf[17]; - utoa(value, buf, base); - *this = buf; -} - -String::String(long value, unsigned char base) -{ - init(); - char buf[34]; - ltoa(value, buf, base); - *this = buf; -} - -String::String(unsigned long value, unsigned char base) -{ - init(); - char buf[33]; - ultoa(value, buf, base); - *this = buf; -} - -String::~String() -{ - free(buffer); -} - -/*********************************************/ -/* Memory Management */ -/*********************************************/ - -inline void String::init(void) -{ - buffer = NULL; - capacity = 0; - len = 0; - flags = 0; -} - -void String::invalidate(void) -{ - if (buffer) free(buffer); - buffer = NULL; - capacity = len = 0; -} - -unsigned char String::reserve(unsigned int size) -{ - if (buffer && capacity >= size) return 1; - if (changeBuffer(size)) { - if (len == 0) buffer[0] = 0; - return 1; - } - return 0; -} - -unsigned char String::changeBuffer(unsigned int maxStrLen) -{ - char *newbuffer = (char *)realloc(buffer, maxStrLen + 1); - if (newbuffer) { - buffer = newbuffer; - capacity = maxStrLen; - return 1; - } - return 0; -} - -/*********************************************/ -/* Copy and Move */ -/*********************************************/ - -String & String::copy(const char *cstr, unsigned int length) -{ - if (!reserve(length)) { - invalidate(); - return *this; - } - len = length; - strcpy(buffer, cstr); - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -void String::move(String &rhs) -{ - if (buffer) { - if (capacity >= rhs.len) { - strcpy(buffer, rhs.buffer); - len = rhs.len; - rhs.len = 0; - return; - } else { - free(buffer); - } - } - buffer = rhs.buffer; - capacity = rhs.capacity; - len = rhs.len; - rhs.buffer = NULL; - rhs.capacity = 0; - rhs.len = 0; -} -#endif - -String & String::operator = (const String &rhs) -{ - if (this == &rhs) return *this; - - if (rhs.buffer) copy(rhs.buffer, rhs.len); - else invalidate(); - - return *this; -} - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -String & String::operator = (String &&rval) -{ - if (this != &rval) move(rval); - return *this; -} - -String & String::operator = (StringSumHelper &&rval) -{ - if (this != &rval) move(rval); - return *this; -} -#endif - -String & String::operator = (const char *cstr) -{ - if (cstr) copy(cstr, strlen(cstr)); - else invalidate(); - - return *this; -} - -/*********************************************/ -/* concat */ -/*********************************************/ - -unsigned char String::concat(const String &s) -{ - return concat(s.buffer, s.len); -} - -unsigned char String::concat(const char *cstr, unsigned int length) -{ - unsigned int newlen = len + length; - if (!cstr) return 0; - if (length == 0) return 1; - if (!reserve(newlen)) return 0; - strcpy(buffer + len, cstr); - len = newlen; - return 1; -} - -unsigned char String::concat(const char *cstr) -{ - if (!cstr) return 0; - return concat(cstr, strlen(cstr)); -} - -unsigned char String::concat(char c) -{ - char buf[2]; - buf[0] = c; - buf[1] = 0; - return concat(buf, 1); -} - -unsigned char String::concat(unsigned char num) -{ - char buf[4]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(int num) -{ - char buf[7]; - itoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned int num) -{ - char buf[6]; - utoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(long num) -{ - char buf[12]; - ltoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -unsigned char String::concat(unsigned long num) -{ - char buf[11]; - ultoa(num, buf, 10); - return concat(buf, strlen(buf)); -} - -/*********************************************/ -/* Concatenate */ -/*********************************************/ - -StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(rhs.buffer, rhs.len)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr) -{ - StringSumHelper &a = const_cast(lhs); - if (!cstr || !a.concat(cstr, strlen(cstr))) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, char c) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(c)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num) -{ - StringSumHelper &a = const_cast(lhs); - if (!a.concat(num)) a.invalidate(); - return a; -} - -/*********************************************/ -/* Comparison */ -/*********************************************/ - -int String::compareTo(const String &s) const -{ - if (!buffer || !s.buffer) { - if (s.buffer && s.len > 0) return 0 - *(unsigned char *)s.buffer; - if (buffer && len > 0) return *(unsigned char *)buffer; - return 0; - } - return strcmp(buffer, s.buffer); -} - -unsigned char String::equals(const String &s2) const -{ - return (len == s2.len && compareTo(s2) == 0); -} - -unsigned char String::equals(const char *cstr) const -{ - if (len == 0) return (cstr == NULL || *cstr == 0); - if (cstr == NULL) return buffer[0] == 0; - return strcmp(buffer, cstr) == 0; -} - -unsigned char String::operator<(const String &rhs) const -{ - return compareTo(rhs) < 0; -} - -unsigned char String::operator>(const String &rhs) const -{ - return compareTo(rhs) > 0; -} - -unsigned char String::operator<=(const String &rhs) const -{ - return compareTo(rhs) <= 0; -} - -unsigned char String::operator>=(const String &rhs) const -{ - return compareTo(rhs) >= 0; -} - -unsigned char String::equalsIgnoreCase( const String &s2 ) const -{ - if (this == &s2) return 1; - if (len != s2.len) return 0; - if (len == 0) return 1; - const char *p1 = buffer; - const char *p2 = s2.buffer; - while (*p1) { - if (tolower(*p1++) != tolower(*p2++)) return 0; - } - return 1; -} - -unsigned char String::startsWith( const String &s2 ) const -{ - if (len < s2.len) return 0; - return startsWith(s2, 0); -} - -unsigned char String::startsWith( const String &s2, unsigned int offset ) const -{ - if (offset > len - s2.len || !buffer || !s2.buffer) return 0; - return strncmp( &buffer[offset], s2.buffer, s2.len ) == 0; -} - -unsigned char String::endsWith( const String &s2 ) const -{ - if ( len < s2.len || !buffer || !s2.buffer) return 0; - return strcmp(&buffer[len - s2.len], s2.buffer) == 0; -} - -/*********************************************/ -/* Character Access */ -/*********************************************/ - -char String::charAt(unsigned int loc) const -{ - return operator[](loc); -} - -void String::setCharAt(unsigned int loc, char c) -{ - if (loc < len) buffer[loc] = c; -} - -char & String::operator[](unsigned int index) -{ - static char dummy_writable_char; - if (index >= len || !buffer) { - dummy_writable_char = 0; - return dummy_writable_char; - } - return buffer[index]; -} - -char String::operator[]( unsigned int index ) const -{ - if (index >= len || !buffer) return 0; - return buffer[index]; -} - -void String::getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index) const -{ - if (!bufsize || !buf) return; - if (index >= len) { - buf[0] = 0; - return; - } - unsigned int n = bufsize - 1; - if (n > len - index) n = len - index; - strncpy((char *)buf, buffer + index, n); - buf[n] = 0; -} - -/*********************************************/ -/* Search */ -/*********************************************/ - -int String::indexOf(char c) const -{ - return indexOf(c, 0); -} - -int String::indexOf( char ch, unsigned int fromIndex ) const -{ - if (fromIndex >= len) return -1; - const char* temp = strchr(buffer + fromIndex, ch); - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::indexOf(const String &s2) const -{ - return indexOf(s2, 0); -} - -int String::indexOf(const String &s2, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - const char *found = strstr(buffer + fromIndex, s2.buffer); - if (found == NULL) return -1; - return found - buffer; -} - -int String::lastIndexOf( char theChar ) const -{ - return lastIndexOf(theChar, len - 1); -} - -int String::lastIndexOf(char ch, unsigned int fromIndex) const -{ - if (fromIndex >= len) return -1; - char tempchar = buffer[fromIndex + 1]; - buffer[fromIndex + 1] = '\0'; - char* temp = strrchr( buffer, ch ); - buffer[fromIndex + 1] = tempchar; - if (temp == NULL) return -1; - return temp - buffer; -} - -int String::lastIndexOf(const String &s2) const -{ - return lastIndexOf(s2, len - s2.len); -} - -int String::lastIndexOf(const String &s2, unsigned int fromIndex) const -{ - if (s2.len == 0 || len == 0 || s2.len > len) return -1; - if (fromIndex >= len) fromIndex = len - 1; - int found = -1; - for (char *p = buffer; p <= buffer + fromIndex; p++) { - p = strstr(p, s2.buffer); - if (!p) break; - if ((unsigned int)(p - buffer) <= fromIndex) found = p - buffer; - } - return found; -} - -String String::substring( unsigned int left ) const -{ - return substring(left, len); -} - -String String::substring(unsigned int left, unsigned int right) const -{ - if (left > right) { - unsigned int temp = right; - right = left; - left = temp; - } - String out; - if (left > len) return out; - if (right > len) right = len; - char temp = buffer[right]; // save the replaced character - buffer[right] = '\0'; - out = buffer + left; // pointer arithmetic - buffer[right] = temp; //restore character - return out; -} - -/*********************************************/ -/* Modification */ -/*********************************************/ - -void String::replace(char find, char replace) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - if (*p == find) *p = replace; - } -} - -void String::replace(const String& find, const String& replace) -{ - if (len == 0 || find.len == 0) return; - int diff = replace.len - find.len; - char *readFrom = buffer; - char *foundAt; - if (diff == 0) { - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - memcpy(foundAt, replace.buffer, replace.len); - readFrom = foundAt + replace.len; - } - } else if (diff < 0) { - char *writeTo = buffer; - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - unsigned int n = foundAt - readFrom; - memcpy(writeTo, readFrom, n); - writeTo += n; - memcpy(writeTo, replace.buffer, replace.len); - writeTo += replace.len; - readFrom = foundAt + find.len; - len += diff; - } - strcpy(writeTo, readFrom); - } else { - unsigned int size = len; // compute size needed for result - while ((foundAt = strstr(readFrom, find.buffer)) != NULL) { - readFrom = foundAt + find.len; - size += diff; - } - if (size == len) return; - if (size > capacity && !changeBuffer(size)) return; // XXX: tell user! - int index = len - 1; - while (index >= 0 && (index = lastIndexOf(find, index)) >= 0) { - readFrom = buffer + index + find.len; - memmove(readFrom + diff, readFrom, len - (readFrom - buffer)); - len += diff; - buffer[len] = 0; - memcpy(buffer + index, replace.buffer, replace.len); - index--; - } - } -} - -void String::toLowerCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = tolower(*p); - } -} - -void String::toUpperCase(void) -{ - if (!buffer) return; - for (char *p = buffer; *p; p++) { - *p = toupper(*p); - } -} - -void String::trim(void) -{ - if (!buffer || len == 0) return; - char *begin = buffer; - while (isspace(*begin)) begin++; - char *end = buffer + len - 1; - while (isspace(*end) && end >= begin) end--; - len = end + 1 - begin; - if (begin > buffer) memcpy(buffer, begin, len); - buffer[len] = 0; -} - -/*********************************************/ -/* Parsing / Conversion */ -/*********************************************/ - -long String::toInt(void) const -{ - if (buffer) return atol(buffer); - return 0; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.h deleted file mode 100644 index d76d2a33d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/WString.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - WString.h - String library for Wiring & Arduino - ...mostly rewritten by Paul Stoffregen... - Copyright (c) 2009-10 Hernando Barragan. All right reserved. - Copyright 2011, Paul Stoffregen, paul@pjrc.com - - 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 String_class_h -#define String_class_h -#ifdef __cplusplus - -#include -#include -#include -#include - -// When compiling programs with this class, the following gcc parameters -// dramatically increase performance and memory (RAM) efficiency, typically -// with little or no increase in code size. -// -felide-constructors -// -std=c++0x - -class __FlashStringHelper; -#define F(string_literal) (reinterpret_cast<__FlashStringHelper *>(PSTR(string_literal))) - -// An inherited class for holding the result of a concatenation. These -// result objects are assumed to be writable by subsequent concatenations. -class StringSumHelper; - -// The string class -class String -{ - // use a function pointer to allow for "if (s)" without the - // complications of an operator bool(). for more information, see: - // http://www.artima.com/cppsource/safebool.html - typedef void (String::*StringIfHelperType)() const; - void StringIfHelper() const {} - -public: - // constructors - // creates a copy of the initial value. - // if the initial value is null or invalid, or if memory allocation - // fails, the string will be marked as invalid (i.e. "if (s)" will - // be false). - String(const char *cstr = ""); - String(const String &str); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String(String &&rval); - String(StringSumHelper &&rval); - #endif - explicit String(char c); - explicit String(unsigned char, unsigned char base=10); - explicit String(int, unsigned char base=10); - explicit String(unsigned int, unsigned char base=10); - explicit String(long, unsigned char base=10); - explicit String(unsigned long, unsigned char base=10); - ~String(void); - - // memory management - // return true on success, false on failure (in which case, the string - // is left unchanged). reserve(0), if successful, will validate an - // invalid string (i.e., "if (s)" will be true afterwards) - unsigned char reserve(unsigned int size); - inline unsigned int length(void) const {return len;} - - // creates a copy of the assigned value. if the value is null or - // invalid, or if the memory allocation fails, the string will be - // marked as invalid ("if (s)" will be false). - String & operator = (const String &rhs); - String & operator = (const char *cstr); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - String & operator = (String &&rval); - String & operator = (StringSumHelper &&rval); - #endif - - // concatenate (works w/ built-in types) - - // returns true on success, false on failure (in which case, the string - // is left unchanged). if the argument is null or invalid, the - // concatenation is considered unsucessful. - unsigned char concat(const String &str); - unsigned char concat(const char *cstr); - unsigned char concat(char c); - unsigned char concat(unsigned char c); - unsigned char concat(int num); - unsigned char concat(unsigned int num); - unsigned char concat(long num); - unsigned char concat(unsigned long num); - - // if there's not enough memory for the concatenated value, the string - // will be left unchanged (but this isn't signalled in any way) - String & operator += (const String &rhs) {concat(rhs); return (*this);} - String & operator += (const char *cstr) {concat(cstr); return (*this);} - String & operator += (char c) {concat(c); return (*this);} - String & operator += (unsigned char num) {concat(num); return (*this);} - String & operator += (int num) {concat(num); return (*this);} - String & operator += (unsigned int num) {concat(num); return (*this);} - String & operator += (long num) {concat(num); return (*this);} - String & operator += (unsigned long num) {concat(num); return (*this);} - - friend StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs); - friend StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr); - friend StringSumHelper & operator + (const StringSumHelper &lhs, char c); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, long num); - friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num); - - // comparison (only works w/ Strings and "strings") - operator StringIfHelperType() const { return buffer ? &String::StringIfHelper : 0; } - int compareTo(const String &s) const; - unsigned char equals(const String &s) const; - unsigned char equals(const char *cstr) const; - unsigned char operator == (const String &rhs) const {return equals(rhs);} - unsigned char operator == (const char *cstr) const {return equals(cstr);} - unsigned char operator != (const String &rhs) const {return !equals(rhs);} - unsigned char operator != (const char *cstr) const {return !equals(cstr);} - unsigned char operator < (const String &rhs) const; - unsigned char operator > (const String &rhs) const; - unsigned char operator <= (const String &rhs) const; - unsigned char operator >= (const String &rhs) const; - unsigned char equalsIgnoreCase(const String &s) const; - unsigned char startsWith( const String &prefix) const; - unsigned char startsWith(const String &prefix, unsigned int offset) const; - unsigned char endsWith(const String &suffix) const; - - // character acccess - char charAt(unsigned int index) const; - void setCharAt(unsigned int index, char c); - char operator [] (unsigned int index) const; - char& operator [] (unsigned int index); - void getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index=0) const; - void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const - {getBytes((unsigned char *)buf, bufsize, index);} - - // search - int indexOf( char ch ) const; - int indexOf( char ch, unsigned int fromIndex ) const; - int indexOf( const String &str ) const; - int indexOf( const String &str, unsigned int fromIndex ) const; - int lastIndexOf( char ch ) const; - int lastIndexOf( char ch, unsigned int fromIndex ) const; - int lastIndexOf( const String &str ) const; - int lastIndexOf( const String &str, unsigned int fromIndex ) const; - String substring( unsigned int beginIndex ) const; - String substring( unsigned int beginIndex, unsigned int endIndex ) const; - - // modification - void replace(char find, char replace); - void replace(const String& find, const String& replace); - void toLowerCase(void); - void toUpperCase(void); - void trim(void); - - // parsing/conversion - long toInt(void) const; - -protected: - char *buffer; // the actual char array - unsigned int capacity; // the array length minus one (for the '\0') - unsigned int len; // the String length (not counting the '\0') - unsigned char flags; // unused, for future features -protected: - void init(void); - void invalidate(void); - unsigned char changeBuffer(unsigned int maxStrLen); - unsigned char concat(const char *cstr, unsigned int length); - - // copy and move - String & copy(const char *cstr, unsigned int length); - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void move(String &rhs); - #endif -}; - -class StringSumHelper : public String -{ -public: - StringSumHelper(const String &s) : String(s) {} - StringSumHelper(const char *p) : String(p) {} - StringSumHelper(char c) : String(c) {} - StringSumHelper(unsigned char num) : String(num) {} - StringSumHelper(int num) : String(num) {} - StringSumHelper(unsigned int num) : String(num) {} - StringSumHelper(long num) : String(num) {} - StringSumHelper(unsigned long num) : String(num) {} -}; - -#endif // __cplusplus -#endif // String_class_h diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/binary.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/binary.h deleted file mode 100644 index af1498033..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/binary.h +++ /dev/null @@ -1,515 +0,0 @@ -#ifndef Binary_h -#define Binary_h - -#define B0 0 -#define B00 0 -#define B000 0 -#define B0000 0 -#define B00000 0 -#define B000000 0 -#define B0000000 0 -#define B00000000 0 -#define B1 1 -#define B01 1 -#define B001 1 -#define B0001 1 -#define B00001 1 -#define B000001 1 -#define B0000001 1 -#define B00000001 1 -#define B10 2 -#define B010 2 -#define B0010 2 -#define B00010 2 -#define B000010 2 -#define B0000010 2 -#define B00000010 2 -#define B11 3 -#define B011 3 -#define B0011 3 -#define B00011 3 -#define B000011 3 -#define B0000011 3 -#define B00000011 3 -#define B100 4 -#define B0100 4 -#define B00100 4 -#define B000100 4 -#define B0000100 4 -#define B00000100 4 -#define B101 5 -#define B0101 5 -#define B00101 5 -#define B000101 5 -#define B0000101 5 -#define B00000101 5 -#define B110 6 -#define B0110 6 -#define B00110 6 -#define B000110 6 -#define B0000110 6 -#define B00000110 6 -#define B111 7 -#define B0111 7 -#define B00111 7 -#define B000111 7 -#define B0000111 7 -#define B00000111 7 -#define B1000 8 -#define B01000 8 -#define B001000 8 -#define B0001000 8 -#define B00001000 8 -#define B1001 9 -#define B01001 9 -#define B001001 9 -#define B0001001 9 -#define B00001001 9 -#define B1010 10 -#define B01010 10 -#define B001010 10 -#define B0001010 10 -#define B00001010 10 -#define B1011 11 -#define B01011 11 -#define B001011 11 -#define B0001011 11 -#define B00001011 11 -#define B1100 12 -#define B01100 12 -#define B001100 12 -#define B0001100 12 -#define B00001100 12 -#define B1101 13 -#define B01101 13 -#define B001101 13 -#define B0001101 13 -#define B00001101 13 -#define B1110 14 -#define B01110 14 -#define B001110 14 -#define B0001110 14 -#define B00001110 14 -#define B1111 15 -#define B01111 15 -#define B001111 15 -#define B0001111 15 -#define B00001111 15 -#define B10000 16 -#define B010000 16 -#define B0010000 16 -#define B00010000 16 -#define B10001 17 -#define B010001 17 -#define B0010001 17 -#define B00010001 17 -#define B10010 18 -#define B010010 18 -#define B0010010 18 -#define B00010010 18 -#define B10011 19 -#define B010011 19 -#define B0010011 19 -#define B00010011 19 -#define B10100 20 -#define B010100 20 -#define B0010100 20 -#define B00010100 20 -#define B10101 21 -#define B010101 21 -#define B0010101 21 -#define B00010101 21 -#define B10110 22 -#define B010110 22 -#define B0010110 22 -#define B00010110 22 -#define B10111 23 -#define B010111 23 -#define B0010111 23 -#define B00010111 23 -#define B11000 24 -#define B011000 24 -#define B0011000 24 -#define B00011000 24 -#define B11001 25 -#define B011001 25 -#define B0011001 25 -#define B00011001 25 -#define B11010 26 -#define B011010 26 -#define B0011010 26 -#define B00011010 26 -#define B11011 27 -#define B011011 27 -#define B0011011 27 -#define B00011011 27 -#define B11100 28 -#define B011100 28 -#define B0011100 28 -#define B00011100 28 -#define B11101 29 -#define B011101 29 -#define B0011101 29 -#define B00011101 29 -#define B11110 30 -#define B011110 30 -#define B0011110 30 -#define B00011110 30 -#define B11111 31 -#define B011111 31 -#define B0011111 31 -#define B00011111 31 -#define B100000 32 -#define B0100000 32 -#define B00100000 32 -#define B100001 33 -#define B0100001 33 -#define B00100001 33 -#define B100010 34 -#define B0100010 34 -#define B00100010 34 -#define B100011 35 -#define B0100011 35 -#define B00100011 35 -#define B100100 36 -#define B0100100 36 -#define B00100100 36 -#define B100101 37 -#define B0100101 37 -#define B00100101 37 -#define B100110 38 -#define B0100110 38 -#define B00100110 38 -#define B100111 39 -#define B0100111 39 -#define B00100111 39 -#define B101000 40 -#define B0101000 40 -#define B00101000 40 -#define B101001 41 -#define B0101001 41 -#define B00101001 41 -#define B101010 42 -#define B0101010 42 -#define B00101010 42 -#define B101011 43 -#define B0101011 43 -#define B00101011 43 -#define B101100 44 -#define B0101100 44 -#define B00101100 44 -#define B101101 45 -#define B0101101 45 -#define B00101101 45 -#define B101110 46 -#define B0101110 46 -#define B00101110 46 -#define B101111 47 -#define B0101111 47 -#define B00101111 47 -#define B110000 48 -#define B0110000 48 -#define B00110000 48 -#define B110001 49 -#define B0110001 49 -#define B00110001 49 -#define B110010 50 -#define B0110010 50 -#define B00110010 50 -#define B110011 51 -#define B0110011 51 -#define B00110011 51 -#define B110100 52 -#define B0110100 52 -#define B00110100 52 -#define B110101 53 -#define B0110101 53 -#define B00110101 53 -#define B110110 54 -#define B0110110 54 -#define B00110110 54 -#define B110111 55 -#define B0110111 55 -#define B00110111 55 -#define B111000 56 -#define B0111000 56 -#define B00111000 56 -#define B111001 57 -#define B0111001 57 -#define B00111001 57 -#define B111010 58 -#define B0111010 58 -#define B00111010 58 -#define B111011 59 -#define B0111011 59 -#define B00111011 59 -#define B111100 60 -#define B0111100 60 -#define B00111100 60 -#define B111101 61 -#define B0111101 61 -#define B00111101 61 -#define B111110 62 -#define B0111110 62 -#define B00111110 62 -#define B111111 63 -#define B0111111 63 -#define B00111111 63 -#define B1000000 64 -#define B01000000 64 -#define B1000001 65 -#define B01000001 65 -#define B1000010 66 -#define B01000010 66 -#define B1000011 67 -#define B01000011 67 -#define B1000100 68 -#define B01000100 68 -#define B1000101 69 -#define B01000101 69 -#define B1000110 70 -#define B01000110 70 -#define B1000111 71 -#define B01000111 71 -#define B1001000 72 -#define B01001000 72 -#define B1001001 73 -#define B01001001 73 -#define B1001010 74 -#define B01001010 74 -#define B1001011 75 -#define B01001011 75 -#define B1001100 76 -#define B01001100 76 -#define B1001101 77 -#define B01001101 77 -#define B1001110 78 -#define B01001110 78 -#define B1001111 79 -#define B01001111 79 -#define B1010000 80 -#define B01010000 80 -#define B1010001 81 -#define B01010001 81 -#define B1010010 82 -#define B01010010 82 -#define B1010011 83 -#define B01010011 83 -#define B1010100 84 -#define B01010100 84 -#define B1010101 85 -#define B01010101 85 -#define B1010110 86 -#define B01010110 86 -#define B1010111 87 -#define B01010111 87 -#define B1011000 88 -#define B01011000 88 -#define B1011001 89 -#define B01011001 89 -#define B1011010 90 -#define B01011010 90 -#define B1011011 91 -#define B01011011 91 -#define B1011100 92 -#define B01011100 92 -#define B1011101 93 -#define B01011101 93 -#define B1011110 94 -#define B01011110 94 -#define B1011111 95 -#define B01011111 95 -#define B1100000 96 -#define B01100000 96 -#define B1100001 97 -#define B01100001 97 -#define B1100010 98 -#define B01100010 98 -#define B1100011 99 -#define B01100011 99 -#define B1100100 100 -#define B01100100 100 -#define B1100101 101 -#define B01100101 101 -#define B1100110 102 -#define B01100110 102 -#define B1100111 103 -#define B01100111 103 -#define B1101000 104 -#define B01101000 104 -#define B1101001 105 -#define B01101001 105 -#define B1101010 106 -#define B01101010 106 -#define B1101011 107 -#define B01101011 107 -#define B1101100 108 -#define B01101100 108 -#define B1101101 109 -#define B01101101 109 -#define B1101110 110 -#define B01101110 110 -#define B1101111 111 -#define B01101111 111 -#define B1110000 112 -#define B01110000 112 -#define B1110001 113 -#define B01110001 113 -#define B1110010 114 -#define B01110010 114 -#define B1110011 115 -#define B01110011 115 -#define B1110100 116 -#define B01110100 116 -#define B1110101 117 -#define B01110101 117 -#define B1110110 118 -#define B01110110 118 -#define B1110111 119 -#define B01110111 119 -#define B1111000 120 -#define B01111000 120 -#define B1111001 121 -#define B01111001 121 -#define B1111010 122 -#define B01111010 122 -#define B1111011 123 -#define B01111011 123 -#define B1111100 124 -#define B01111100 124 -#define B1111101 125 -#define B01111101 125 -#define B1111110 126 -#define B01111110 126 -#define B1111111 127 -#define B01111111 127 -#define B10000000 128 -#define B10000001 129 -#define B10000010 130 -#define B10000011 131 -#define B10000100 132 -#define B10000101 133 -#define B10000110 134 -#define B10000111 135 -#define B10001000 136 -#define B10001001 137 -#define B10001010 138 -#define B10001011 139 -#define B10001100 140 -#define B10001101 141 -#define B10001110 142 -#define B10001111 143 -#define B10010000 144 -#define B10010001 145 -#define B10010010 146 -#define B10010011 147 -#define B10010100 148 -#define B10010101 149 -#define B10010110 150 -#define B10010111 151 -#define B10011000 152 -#define B10011001 153 -#define B10011010 154 -#define B10011011 155 -#define B10011100 156 -#define B10011101 157 -#define B10011110 158 -#define B10011111 159 -#define B10100000 160 -#define B10100001 161 -#define B10100010 162 -#define B10100011 163 -#define B10100100 164 -#define B10100101 165 -#define B10100110 166 -#define B10100111 167 -#define B10101000 168 -#define B10101001 169 -#define B10101010 170 -#define B10101011 171 -#define B10101100 172 -#define B10101101 173 -#define B10101110 174 -#define B10101111 175 -#define B10110000 176 -#define B10110001 177 -#define B10110010 178 -#define B10110011 179 -#define B10110100 180 -#define B10110101 181 -#define B10110110 182 -#define B10110111 183 -#define B10111000 184 -#define B10111001 185 -#define B10111010 186 -#define B10111011 187 -#define B10111100 188 -#define B10111101 189 -#define B10111110 190 -#define B10111111 191 -#define B11000000 192 -#define B11000001 193 -#define B11000010 194 -#define B11000011 195 -#define B11000100 196 -#define B11000101 197 -#define B11000110 198 -#define B11000111 199 -#define B11001000 200 -#define B11001001 201 -#define B11001010 202 -#define B11001011 203 -#define B11001100 204 -#define B11001101 205 -#define B11001110 206 -#define B11001111 207 -#define B11010000 208 -#define B11010001 209 -#define B11010010 210 -#define B11010011 211 -#define B11010100 212 -#define B11010101 213 -#define B11010110 214 -#define B11010111 215 -#define B11011000 216 -#define B11011001 217 -#define B11011010 218 -#define B11011011 219 -#define B11011100 220 -#define B11011101 221 -#define B11011110 222 -#define B11011111 223 -#define B11100000 224 -#define B11100001 225 -#define B11100010 226 -#define B11100011 227 -#define B11100100 228 -#define B11100101 229 -#define B11100110 230 -#define B11100111 231 -#define B11101000 232 -#define B11101001 233 -#define B11101010 234 -#define B11101011 235 -#define B11101100 236 -#define B11101101 237 -#define B11101110 238 -#define B11101111 239 -#define B11110000 240 -#define B11110001 241 -#define B11110010 242 -#define B11110011 243 -#define B11110100 244 -#define B11110101 245 -#define B11110110 246 -#define B11110111 247 -#define B11111000 248 -#define B11111001 249 -#define B11111010 250 -#define B11111011 251 -#define B11111100 252 -#define B11111101 253 -#define B11111110 254 -#define B11111111 255 - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/main.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/main.cpp deleted file mode 100644 index 3d4e079d2..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include - -int main(void) -{ - init(); - -#if defined(USBCON) - USBDevice.attach(); -#endif - - setup(); - - for (;;) { - loop(); - if (serialEventRun) serialEventRun(); - } - - return 0; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.cpp deleted file mode 100644 index 0f6d4220e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include - -void * operator new(size_t size) -{ - return malloc(size); -} - -void operator delete(void * ptr) -{ - free(ptr); -} - -int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);}; -void __cxa_guard_release (__guard *g) {*(char *)g = 1;}; -void __cxa_guard_abort (__guard *) {}; - -void __cxa_pure_virtual(void) {}; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.h deleted file mode 100644 index cd940ce8b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/new.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Header to define new/delete operators as they aren't provided by avr-gcc by default - Taken from http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=59453 - */ - -#ifndef NEW_H -#define NEW_H - -#include - -void * operator new(size_t size); -void operator delete(void * ptr); - -__extension__ typedef int __guard __attribute__((mode (__DI__))); - -extern "C" int __cxa_guard_acquire(__guard *); -extern "C" void __cxa_guard_release (__guard *); -extern "C" void __cxa_guard_abort (__guard *); - -extern "C" void __cxa_pure_virtual(void); - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring.c deleted file mode 100644 index ac8bb6f9b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - wiring.c - Partial implementation of the Wiring API for the ATmega8. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include "wiring_private.h" - -// the prescaler is set so that timer0 ticks every 64 clock cycles, and the -// the overflow handler is called every 256 ticks. -#define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256)) - -// the whole number of milliseconds per timer0 overflow -#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000) - -// the fractional number of milliseconds per timer0 overflow. we shift right -// by three to fit these numbers into a byte. (for the clock speeds we care -// about - 8 and 16 MHz - this doesn't lose precision.) -#define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3) -#define FRACT_MAX (1000 >> 3) - -volatile unsigned long timer0_overflow_count = 0; -volatile unsigned long timer0_millis = 0; -static unsigned char timer0_fract = 0; - -#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) -SIGNAL(TIM0_OVF_vect) -#else -SIGNAL(TIMER0_OVF_vect) -#endif -{ - // copy these to local variables so they can be stored in registers - // (volatile variables must be read from memory on every access) - unsigned long m = timer0_millis; - unsigned char f = timer0_fract; - - m += MILLIS_INC; - f += FRACT_INC; - if (f >= FRACT_MAX) { - f -= FRACT_MAX; - m += 1; - } - - timer0_fract = f; - timer0_millis = m; - timer0_overflow_count++; -} - -unsigned long millis() -{ - unsigned long m; - uint8_t oldSREG = SREG; - - // disable interrupts while we read timer0_millis or we might get an - // inconsistent value (e.g. in the middle of a write to timer0_millis) - cli(); - m = timer0_millis; - SREG = oldSREG; - - return m; -} - -unsigned long micros() { - unsigned long m; - uint8_t oldSREG = SREG, t; - - cli(); - m = timer0_overflow_count; -#if defined(TCNT0) - t = TCNT0; -#elif defined(TCNT0L) - t = TCNT0L; -#else - #error TIMER 0 not defined -#endif - - -#ifdef TIFR0 - if ((TIFR0 & _BV(TOV0)) && (t < 255)) - m++; -#else - if ((TIFR & _BV(TOV0)) && (t < 255)) - m++; -#endif - - SREG = oldSREG; - - return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond()); -} - -void delay(unsigned long ms) -{ - uint16_t start = (uint16_t)micros(); - - while (ms > 0) { - if (((uint16_t)micros() - start) >= 1000) { - ms--; - start += 1000; - } - } -} - -/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */ -void delayMicroseconds(unsigned int us) -{ - // calling avrlib's delay_us() function with low values (e.g. 1 or - // 2 microseconds) gives delays longer than desired. - //delay_us(us); -#if F_CPU >= 20000000L - // for the 20 MHz clock on rare Arduino boards - - // for a one-microsecond delay, simply wait 2 cycle and return. The overhead - // of the function call yields a delay of exactly a one microsecond. - __asm__ __volatile__ ( - "nop" "\n\t" - "nop"); //just waiting 2 cycle - if (--us == 0) - return; - - // the following loop takes a 1/5 of a microsecond (4 cycles) - // per iteration, so execute it five times for each microsecond of - // delay requested. - us = (us<<2) + us; // x5 us - - // account for the time taken in the preceeding commands. - us -= 2; - -#elif F_CPU >= 16000000L - // for the 16 MHz clock on most Arduino boards - - // for a one-microsecond delay, simply return. the overhead - // of the function call yields a delay of approximately 1 1/8 us. - if (--us == 0) - return; - - // the following loop takes a quarter of a microsecond (4 cycles) - // per iteration, so execute it four times for each microsecond of - // delay requested. - us <<= 2; - - // account for the time taken in the preceeding commands. - us -= 2; -#else - // for the 8 MHz internal clock on the ATmega168 - - // for a one- or two-microsecond delay, simply return. the overhead of - // the function calls takes more than two microseconds. can't just - // subtract two, since us is unsigned; we'd overflow. - if (--us == 0) - return; - if (--us == 0) - return; - - // the following loop takes half of a microsecond (4 cycles) - // per iteration, so execute it twice for each microsecond of - // delay requested. - us <<= 1; - - // partially compensate for the time taken by the preceeding commands. - // we can't subtract any more than this or we'd overflow w/ small delays. - us--; -#endif - - // busy wait - __asm__ __volatile__ ( - "1: sbiw %0,1" "\n\t" // 2 cycles - "brne 1b" : "=w" (us) : "0" (us) // 2 cycles - ); -} - -void init() -{ - // this needs to be called before setup() or some functions won't - // work there - sei(); - - // on the ATmega168, timer 0 is also used for fast hardware pwm - // (using phase-correct PWM would mean that timer 0 overflowed half as often - // resulting in different millis() behavior on the ATmega8 and ATmega168) -#if defined(TCCR0A) && defined(WGM01) - sbi(TCCR0A, WGM01); - sbi(TCCR0A, WGM00); -#endif - - // set timer 0 prescale factor to 64 -#if defined(__AVR_ATmega128__) - // CPU specific: different values for the ATmega128 - sbi(TCCR0, CS02); -#elif defined(TCCR0) && defined(CS01) && defined(CS00) - // this combination is for the standard atmega8 - sbi(TCCR0, CS01); - sbi(TCCR0, CS00); -#elif defined(TCCR0B) && defined(CS01) && defined(CS00) - // this combination is for the standard 168/328/1280/2560 - sbi(TCCR0B, CS01); - sbi(TCCR0B, CS00); -#elif defined(TCCR0A) && defined(CS01) && defined(CS00) - // this combination is for the __AVR_ATmega645__ series - sbi(TCCR0A, CS01); - sbi(TCCR0A, CS00); -#else - #error Timer 0 prescale factor 64 not set correctly -#endif - - // enable timer 0 overflow interrupt -#if defined(TIMSK) && defined(TOIE0) - sbi(TIMSK, TOIE0); -#elif defined(TIMSK0) && defined(TOIE0) - sbi(TIMSK0, TOIE0); -#else - #error Timer 0 overflow interrupt not set correctly -#endif - - // timers 1 and 2 are used for phase-correct hardware pwm - // this is better for motors as it ensures an even waveform - // note, however, that fast pwm mode can achieve a frequency of up - // 8 MHz (with a 16 MHz clock) at 50% duty cycle - -#if defined(TCCR1B) && defined(CS11) && defined(CS10) - TCCR1B = 0; - - // set timer 1 prescale factor to 64 - sbi(TCCR1B, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1B, CS10); -#endif -#elif defined(TCCR1) && defined(CS11) && defined(CS10) - sbi(TCCR1, CS11); -#if F_CPU >= 8000000L - sbi(TCCR1, CS10); -#endif -#endif - // put timer 1 in 8-bit phase correct pwm mode -#if defined(TCCR1A) && defined(WGM10) - sbi(TCCR1A, WGM10); -#elif defined(TCCR1) - #warning this needs to be finished -#endif - - // set timer 2 prescale factor to 64 -#if defined(TCCR2) && defined(CS22) - sbi(TCCR2, CS22); -#elif defined(TCCR2B) && defined(CS22) - sbi(TCCR2B, CS22); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - - // configure timer 2 for phase correct pwm (8-bit) -#if defined(TCCR2) && defined(WGM20) - sbi(TCCR2, WGM20); -#elif defined(TCCR2A) && defined(WGM20) - sbi(TCCR2A, WGM20); -#else - #warning Timer 2 not finished (may not be present on this CPU) -#endif - -#if defined(TCCR3B) && defined(CS31) && defined(WGM30) - sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64 - sbi(TCCR3B, CS30); - sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode -#endif - -#if defined(TCCR4A) && defined(TCCR4B) && defined(TCCR4D) /* beginning of timer4 block for 32U4 and similar */ - sbi(TCCR4B, CS42); // set timer4 prescale factor to 64 - sbi(TCCR4B, CS41); - sbi(TCCR4B, CS40); - sbi(TCCR4D, WGM40); // put timer 4 in phase- and frequency-correct PWM mode - sbi(TCCR4A, PWM4A); // enable PWM mode for comparator OCR4A - sbi(TCCR4C, PWM4D); // enable PWM mode for comparator OCR4D -#else /* beginning of timer4 block for ATMEGA1280 and ATMEGA2560 */ -#if defined(TCCR4B) && defined(CS41) && defined(WGM40) - sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64 - sbi(TCCR4B, CS40); - sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode -#endif -#endif /* end timer4 block for ATMEGA1280/2560 and similar */ - -#if defined(TCCR5B) && defined(CS51) && defined(WGM50) - sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64 - sbi(TCCR5B, CS50); - sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode -#endif - -#if defined(ADCSRA) - // set a2d prescale factor to 128 - // 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range. - // XXX: this will not work properly for other clock speeds, and - // this code should use F_CPU to determine the prescale factor. - sbi(ADCSRA, ADPS2); - sbi(ADCSRA, ADPS1); - sbi(ADCSRA, ADPS0); - - // enable a2d conversions - sbi(ADCSRA, ADEN); -#endif - - // the bootloader connects pins 0 and 1 to the USART; disconnect them - // here so they can be used as normal digital i/o; they will be - // reconnected in Serial.begin() -#if defined(UCSRB) - UCSRB = 0; -#elif defined(UCSR0B) - UCSR0B = 0; -#endif -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_analog.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_analog.c deleted file mode 100644 index 0e9881f6a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_analog.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - wiring_analog.c - analog input and output - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -uint8_t analog_reference = DEFAULT; - -void analogReference(uint8_t mode) -{ - // can't actually set the register here because the default setting - // will connect AVCC and the AREF pin, which would cause a short if - // there's something connected to AREF. - analog_reference = mode; -} - -int analogRead(uint8_t pin) -{ - uint8_t low, high; - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) - if (pin >= 54) pin -= 54; // allow for channel or pin numbers -#elif defined(__AVR_ATmega32U4__) - if (pin >= 18) pin -= 18; // allow for channel or pin numbers -#elif defined(__AVR_ATmega1284__) - if (pin >= 24) pin -= 24; // allow for channel or pin numbers -#else - if (pin >= 14) pin -= 14; // allow for channel or pin numbers -#endif - -#if defined(__AVR_ATmega32U4__) - pin = analogPinToChannel(pin); - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#elif defined(ADCSRB) && defined(MUX5) - // the MUX5 bit of ADCSRB selects whether we're reading from channels - // 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high). - ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5); -#endif - - // set the analog reference (high two bits of ADMUX) and select the - // channel (low 4 bits). this also sets ADLAR (left-adjust result) - // to 0 (the default). -#if defined(ADMUX) - ADMUX = (analog_reference << 6) | (pin & 0x07); -#endif - - // without a delay, we seem to read from the wrong channel - //delay(1); - -#if defined(ADCSRA) && defined(ADCL) - // start the conversion - sbi(ADCSRA, ADSC); - - // ADSC is cleared when the conversion finishes - while (bit_is_set(ADCSRA, ADSC)); - - // we have to read ADCL first; doing so locks both ADCL - // and ADCH until ADCH is read. reading ADCL second would - // cause the results of each conversion to be discarded, - // as ADCL and ADCH would be locked when it completed. - low = ADCL; - high = ADCH; -#else - // we dont have an ADC, return 0 - low = 0; - high = 0; -#endif - - // combine the two bytes - return (high << 8) | low; -} - -// Right now, PWM output only works on the pins with -// hardware support. These are defined in the appropriate -// pins_*.c file. For the rest of the pins, we default -// to digital output. -void analogWrite(uint8_t pin, int val) -{ - // We need to make sure the PWM output is enabled for those pins - // that support it, as we turn it off when digitally reading or - // writing with them. Also, make sure the pin is in output mode - // for consistenty with Wiring, which doesn't require a pinMode - // call for the analog output pins. - pinMode(pin, OUTPUT); - if (val == 0) - { - digitalWrite(pin, LOW); - } - else if (val == 255) - { - digitalWrite(pin, HIGH); - } - else - { - switch(digitalPinToTimer(pin)) - { - // XXX fix needed for atmega8 - #if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__) - case TIMER0A: - // connect pwm to pin on timer 0 - sbi(TCCR0, COM00); - OCR0 = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: - // connect pwm to pin on timer 0, channel A - sbi(TCCR0A, COM0A1); - OCR0A = val; // set pwm duty - break; - #endif - - #if defined(TCCR0A) && defined(COM0B1) - case TIMER0B: - // connect pwm to pin on timer 0, channel B - sbi(TCCR0A, COM0B1); - OCR0B = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: - // connect pwm to pin on timer 1, channel A - sbi(TCCR1A, COM1A1); - OCR1A = val; // set pwm duty - break; - #endif - - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: - // connect pwm to pin on timer 1, channel B - sbi(TCCR1A, COM1B1); - OCR1B = val; // set pwm duty - break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: - // connect pwm to pin on timer 2 - sbi(TCCR2, COM21); - OCR2 = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: - // connect pwm to pin on timer 2, channel A - sbi(TCCR2A, COM2A1); - OCR2A = val; // set pwm duty - break; - #endif - - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: - // connect pwm to pin on timer 2, channel B - sbi(TCCR2A, COM2B1); - OCR2B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: - // connect pwm to pin on timer 3, channel A - sbi(TCCR3A, COM3A1); - OCR3A = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: - // connect pwm to pin on timer 3, channel B - sbi(TCCR3A, COM3B1); - OCR3B = val; // set pwm duty - break; - #endif - - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: - // connect pwm to pin on timer 3, channel C - sbi(TCCR3A, COM3C1); - OCR3C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) - case TIMER4A: - //connect pwm to pin on timer 4, channel A - sbi(TCCR4A, COM4A1); - #if defined(COM4A0) // only used on 32U4 - cbi(TCCR4A, COM4A0); - #endif - OCR4A = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: - // connect pwm to pin on timer 4, channel B - sbi(TCCR4A, COM4B1); - OCR4B = val; // set pwm duty - break; - #endif - - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: - // connect pwm to pin on timer 4, channel C - sbi(TCCR4A, COM4C1); - OCR4C = val; // set pwm duty - break; - #endif - - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: - // connect pwm to pin on timer 4, channel D - sbi(TCCR4C, COM4D1); - #if defined(COM4D0) // only used on 32U4 - cbi(TCCR4C, COM4D0); - #endif - OCR4D = val; // set pwm duty - break; - #endif - - - #if defined(TCCR5A) && defined(COM5A1) - case TIMER5A: - // connect pwm to pin on timer 5, channel A - sbi(TCCR5A, COM5A1); - OCR5A = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5B1) - case TIMER5B: - // connect pwm to pin on timer 5, channel B - sbi(TCCR5A, COM5B1); - OCR5B = val; // set pwm duty - break; - #endif - - #if defined(TCCR5A) && defined(COM5C1) - case TIMER5C: - // connect pwm to pin on timer 5, channel C - sbi(TCCR5A, COM5C1); - OCR5C = val; // set pwm duty - break; - #endif - - case NOT_ON_TIMER: - default: - if (val < 128) { - digitalWrite(pin, LOW); - } else { - digitalWrite(pin, HIGH); - } - } - } -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_digital.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_digital.c deleted file mode 100644 index be323b1df..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_digital.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - wiring_digital.c - digital input and output functions - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 28 September 2010 by Mark Sproul - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#define ARDUINO_MAIN -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *reg, *out; - - if (port == NOT_A_PIN) return; - - // JWS: can I let the optimizer do this? - reg = portModeRegister(port); - out = portOutputRegister(port); - - if (mode == INPUT) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out &= ~bit; - SREG = oldSREG; - } else if (mode == INPUT_PULLUP) { - uint8_t oldSREG = SREG; - cli(); - *reg &= ~bit; - *out |= bit; - SREG = oldSREG; - } else { - uint8_t oldSREG = SREG; - cli(); - *reg |= bit; - SREG = oldSREG; - } -} - -// Forcing this inline keeps the callers from having to push their own stuff -// on the stack. It is a good performance win and only takes 1 more byte per -// user than calling. (It will take more bytes on the 168.) -// -// But shouldn't this be moved into pinMode? Seems silly to check and do on -// each digitalread or write. -// -// Mark Sproul: -// - Removed inline. Save 170 bytes on atmega1280 -// - changed to a switch statment; added 32 bytes but much easier to read and maintain. -// - Added more #ifdefs, now compiles for atmega645 -// -//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline)); -//static inline void turnOffPWM(uint8_t timer) -static void turnOffPWM(uint8_t timer) -{ - switch (timer) - { - #if defined(TCCR1A) && defined(COM1A1) - case TIMER1A: cbi(TCCR1A, COM1A1); break; - #endif - #if defined(TCCR1A) && defined(COM1B1) - case TIMER1B: cbi(TCCR1A, COM1B1); break; - #endif - - #if defined(TCCR2) && defined(COM21) - case TIMER2: cbi(TCCR2, COM21); break; - #endif - - #if defined(TCCR0A) && defined(COM0A1) - case TIMER0A: cbi(TCCR0A, COM0A1); break; - #endif - - #if defined(TIMER0B) && defined(COM0B1) - case TIMER0B: cbi(TCCR0A, COM0B1); break; - #endif - #if defined(TCCR2A) && defined(COM2A1) - case TIMER2A: cbi(TCCR2A, COM2A1); break; - #endif - #if defined(TCCR2A) && defined(COM2B1) - case TIMER2B: cbi(TCCR2A, COM2B1); break; - #endif - - #if defined(TCCR3A) && defined(COM3A1) - case TIMER3A: cbi(TCCR3A, COM3A1); break; - #endif - #if defined(TCCR3A) && defined(COM3B1) - case TIMER3B: cbi(TCCR3A, COM3B1); break; - #endif - #if defined(TCCR3A) && defined(COM3C1) - case TIMER3C: cbi(TCCR3A, COM3C1); break; - #endif - - #if defined(TCCR4A) && defined(COM4A1) - case TIMER4A: cbi(TCCR4A, COM4A1); break; - #endif - #if defined(TCCR4A) && defined(COM4B1) - case TIMER4B: cbi(TCCR4A, COM4B1); break; - #endif - #if defined(TCCR4A) && defined(COM4C1) - case TIMER4C: cbi(TCCR4A, COM4C1); break; - #endif - #if defined(TCCR4C) && defined(COM4D1) - case TIMER4D: cbi(TCCR4C, COM4D1); break; - #endif - - #if defined(TCCR5A) - case TIMER5A: cbi(TCCR5A, COM5A1); break; - case TIMER5B: cbi(TCCR5A, COM5B1); break; - case TIMER5C: cbi(TCCR5A, COM5C1); break; - #endif - } -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *out; - - if (port == NOT_A_PIN) return; - - // If the pin that support PWM output, we need to turn it off - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - out = portOutputRegister(port); - - uint8_t oldSREG = SREG; - cli(); - - if (val == LOW) { - *out &= ~bit; - } else { - *out |= bit; - } - - SREG = oldSREG; -} - -int digitalRead(uint8_t pin) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - - if (port == NOT_A_PIN) return LOW; - - // If the pin that support PWM output, we need to turn it off - // before getting a digital reading. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - if (*portInputRegister(port) & bit) return HIGH; - return LOW; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_private.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_private.h deleted file mode 100644 index f0ceb0cc4..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_private.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - wiring_private.h - Internal header file. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ -*/ - -#ifndef WiringPrivate_h -#define WiringPrivate_h - -#include -#include -#include -#include - -#include "Arduino.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef cbi -#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) -#endif -#ifndef sbi -#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) -#endif - -#define EXTERNAL_INT_0 0 -#define EXTERNAL_INT_1 1 -#define EXTERNAL_INT_2 2 -#define EXTERNAL_INT_3 3 -#define EXTERNAL_INT_4 4 -#define EXTERNAL_INT_5 5 -#define EXTERNAL_INT_6 6 -#define EXTERNAL_INT_7 7 - -#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) -#define EXTERNAL_NUM_INTERRUPTS 8 -#elif defined(__AVR_ATmega1284P__) -#define EXTERNAL_NUM_INTERRUPTS 3 -#else -#define EXTERNAL_NUM_INTERRUPTS 2 -#endif - -typedef void (*voidFuncPtr)(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_pulse.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_pulse.c deleted file mode 100644 index 0d968865d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_pulse.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - wiring_pulse.c - pulseIn() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH - * or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds - * to 3 minutes in length, but must be called at least a few dozen microseconds - * before the start of the pulse. */ -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) -{ - // cache the port and bit of the pin in order to speed up the - // pulse width measuring loop and achieve finer resolution. calling - // digitalRead() instead yields much coarser resolution. - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - uint8_t stateMask = (state ? bit : 0); - unsigned long width = 0; // keep initialization out of time critical area - - // convert the timeout from microseconds to a number of times through - // the initial loop; it takes 16 clock cycles per iteration. - unsigned long numloops = 0; - unsigned long maxloops = microsecondsToClockCycles(timeout) / 16; - - // wait for any previous pulse to end - while ((*portInputRegister(port) & bit) == stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to start - while ((*portInputRegister(port) & bit) != stateMask) - if (numloops++ == maxloops) - return 0; - - // wait for the pulse to stop - while ((*portInputRegister(port) & bit) == stateMask) { - if (numloops++ == maxloops) - return 0; - width++; - } - - // convert the reading to microseconds. The loop has been determined - // to be 20 clock cycles long and have about 16 clocks between the edge - // and the start of the loop. There will be some error introduced by - // the interrupt handlers. - return clockCyclesToMicroseconds(width * 21 + 16); -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_shift.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_shift.c deleted file mode 100644 index cfe786758..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/cores/at90usb/wiring_shift.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - wiring_shift.c - shiftOut() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" - -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { - uint8_t value = 0; - uint8_t i; - - for (i = 0; i < 8; ++i) { - digitalWrite(clockPin, HIGH); - if (bitOrder == LSBFIRST) - value |= digitalRead(dataPin) << i; - else - value |= digitalRead(dataPin) << (7 - i); - digitalWrite(clockPin, LOW); - } - return value; -} - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val) -{ - uint8_t i; - - for (i = 0; i < 8; i++) { - if (bitOrder == LSBFIRST) - digitalWrite(dataPin, !!(val & (1 << i))); - else - digitalWrite(dataPin, !!(val & (1 << (7 - i)))); - - digitalWrite(clockPin, HIGH); - digitalWrite(clockPin, LOW); - } -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/firmwares/Brainwave.inf b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/firmwares/Brainwave.inf deleted file mode 100644 index e48829420..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/firmwares/Brainwave.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_16D0&PID_076B - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_16D0&PID_204A - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Metrix Create Space" -INSTDISK="Brainwave Driver Installer" -DESCRIPTION="Communications Port" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/README.adoc b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/README.adoc deleted file mode 100644 index 6f57eb157..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/README.adoc +++ /dev/null @@ -1,24 +0,0 @@ -= Liquid Crystal Library for Arduino = - -This library allows an Arduino board to control LiquidCrystal displays (LCDs) based on the Hitachi HD44780 (or a compatible) chipset, which is found on most text-based LCDs. - -For more information about this library please visit us at -http://arduino.cc/en/Reference/LiquidCrystal - -== License == - -Copyright (c) Arduino LLC. 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 diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino deleted file mode 100644 index 0acb3affc..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino +++ /dev/null @@ -1,74 +0,0 @@ -/* - LiquidCrystal Library - Autoscroll - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch demonstrates the use of the autoscroll() - and noAutoscroll() functions to make new text scroll or not. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://arduino.cc/en/Tutorial/LiquidCrystalAutoscroll - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); -} - -void loop() { - // set the cursor to (0,0): - lcd.setCursor(0, 0); - // print from 0 to 9: - for (int thisChar = 0; thisChar < 10; thisChar++) { - lcd.print(thisChar); - delay(500); - } - - // set the cursor to (16,1): - lcd.setCursor(16, 1); - // set the display to automatically scroll: - lcd.autoscroll(); - // print from 0 to 9: - for (int thisChar = 0; thisChar < 10; thisChar++) { - lcd.print(thisChar); - delay(500); - } - // turn off automatic scrolling - lcd.noAutoscroll(); - - // clear screen for the next loop: - lcd.clear(); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Blink/Blink.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Blink/Blink.ino deleted file mode 100644 index 856d522c5..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Blink/Blink.ino +++ /dev/null @@ -1,61 +0,0 @@ -/* - LiquidCrystal Library - Blink - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch prints "Hello World!" to the LCD and makes the - cursor block blink. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://arduino.cc/en/Tutorial/LiquidCrystalBlink - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - // Print a message to the LCD. - lcd.print("hello, world!"); -} - -void loop() { - // Turn off the blinking cursor: - lcd.noBlink(); - delay(3000); - // Turn on the blinking cursor: - lcd.blink(); - delay(3000); -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Cursor/Cursor.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Cursor/Cursor.ino deleted file mode 100644 index 5f68d917d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Cursor/Cursor.ino +++ /dev/null @@ -1,61 +0,0 @@ -/* - LiquidCrystal Library - Cursor - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch prints "Hello World!" to the LCD and - uses the cursor() and noCursor() methods to turn - on and off the cursor. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://arduino.cc/en/Tutorial/LiquidCrystalCursor - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - // Print a message to the LCD. - lcd.print("hello, world!"); -} - -void loop() { - // Turn off the cursor: - lcd.noCursor(); - delay(500); - // Turn on the cursor: - lcd.cursor(); - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino deleted file mode 100644 index e70a949e3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino +++ /dev/null @@ -1,140 +0,0 @@ -/* - LiquidCrystal Library - Custom Characters - - Demonstrates how to add custom characters on an LCD display. - The LiquidCrystal library works with all LCD displays that are - compatible with the Hitachi HD44780 driver. There are many of - them out there, and you can usually tell them by the 16-pin interface. - - This sketch prints "I Arduino!" and a little dancing man - to the LCD. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K potentiometer: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - * 10K poterntiometer on pin A0 - - created 21 Mar 2011 - by Tom Igoe - modified 11 Nov 2013 - by Scott Fitzgerald - - Based on Adafruit's example at - https://github.com/adafruit/SPI_VFD/blob/master/examples/createChar/createChar.pde - - This example code is in the public domain. - http://www.arduino.cc/en/Tutorial/LiquidCrystal - - Also useful: - http://icontexto.com/charactercreator/ - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -// make some custom characters: -byte heart[8] = { - 0b00000, - 0b01010, - 0b11111, - 0b11111, - 0b11111, - 0b01110, - 0b00100, - 0b00000 -}; - -byte smiley[8] = { - 0b00000, - 0b00000, - 0b01010, - 0b00000, - 0b00000, - 0b10001, - 0b01110, - 0b00000 -}; - -byte frownie[8] = { - 0b00000, - 0b00000, - 0b01010, - 0b00000, - 0b00000, - 0b00000, - 0b01110, - 0b10001 -}; - -byte armsDown[8] = { - 0b00100, - 0b01010, - 0b00100, - 0b00100, - 0b01110, - 0b10101, - 0b00100, - 0b01010 -}; - -byte armsUp[8] = { - 0b00100, - 0b01010, - 0b00100, - 0b10101, - 0b01110, - 0b00100, - 0b00100, - 0b01010 -}; - -void setup() { - // initialize LCD and set up the number of columns and rows: - lcd.begin(16, 2); - - // create a new character - lcd.createChar(0, heart); - // create a new character - lcd.createChar(1, smiley); - // create a new character - lcd.createChar(2, frownie); - // create a new character - lcd.createChar(3, armsDown); - // create a new character - lcd.createChar(4, armsUp); - - // Print a message to the lcd. - lcd.print("I "); - lcd.write(byte(0)); // when calling lcd.write() '0' must be cast as a byte - lcd.print(" Arduino! "); - lcd.write((byte) 1); - -} - -void loop() { - // read the potentiometer on A0: - int sensorReading = analogRead(A0); - // map the result to 200 - 1000: - int delayTime = map(sensorReading, 0, 1023, 200, 1000); - // set the cursor to the bottom row, 5th position: - lcd.setCursor(4, 1); - // draw the little man, arms down: - lcd.write(3); - delay(delayTime); - lcd.setCursor(4, 1); - // draw him arms up: - lcd.write(4); - delay(delayTime); -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Display/Display.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Display/Display.ino deleted file mode 100644 index 5c9e67cb3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Display/Display.ino +++ /dev/null @@ -1,61 +0,0 @@ -/* - LiquidCrystal Library - display() and noDisplay() - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch prints "Hello World!" to the LCD and uses the - display() and noDisplay() functions to turn on and off - the display. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://arduino.cc/en/Tutorial/LiquidCrystalDisplay - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - // Print a message to the LCD. - lcd.print("hello, world!"); -} - -void loop() { - // Turn off the display: - lcd.noDisplay(); - delay(500); - // Turn on the display: - lcd.display(); - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino deleted file mode 100644 index bf122d999..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino +++ /dev/null @@ -1,60 +0,0 @@ -/* - LiquidCrystal Library - Hello World - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch prints "Hello World!" to the LCD - and shows the time. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * LCD VSS pin to ground - * LCD VCC pin to 5V - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://www.arduino.cc/en/Tutorial/LiquidCrystal - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - // Print a message to the LCD. - lcd.print("hello, world!"); -} - -void loop() { - // set the cursor to column 0, line 1 - // (note: line 1 is the second row, since counting begins with 0): - lcd.setCursor(0, 1); - // print the number of seconds since reset: - lcd.print(millis() / 1000); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Scroll/Scroll.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Scroll/Scroll.ino deleted file mode 100644 index 3e4479177..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/Scroll/Scroll.ino +++ /dev/null @@ -1,86 +0,0 @@ -/* - LiquidCrystal Library - scrollDisplayLeft() and scrollDisplayRight() - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch prints "Hello World!" to the LCD and uses the - scrollDisplayLeft() and scrollDisplayRight() methods to scroll - the text. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://arduino.cc/en/Tutorial/LiquidCrystalScroll - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - // Print a message to the LCD. - lcd.print("hello, world!"); - delay(1000); -} - -void loop() { - // scroll 13 positions (string length) to the left - // to move it offscreen left: - for (int positionCounter = 0; positionCounter < 13; positionCounter++) { - // scroll one position left: - lcd.scrollDisplayLeft(); - // wait a bit: - delay(150); - } - - // scroll 29 positions (string length + display length) to the right - // to move it offscreen right: - for (int positionCounter = 0; positionCounter < 29; positionCounter++) { - // scroll one position right: - lcd.scrollDisplayRight(); - // wait a bit: - delay(150); - } - - // scroll 16 positions (display length + string length) to the left - // to move it back to center: - for (int positionCounter = 0; positionCounter < 16; positionCounter++) { - // scroll one position left: - lcd.scrollDisplayLeft(); - // wait a bit: - delay(150); - } - - // delay at the end of the full loop: - delay(1000); - -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino deleted file mode 100644 index 5838dc5a0..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino +++ /dev/null @@ -1,65 +0,0 @@ -/* - LiquidCrystal Library - Serial Input - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch displays text sent over the serial port - (e.g. from the Serial Monitor) on an attached LCD. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://arduino.cc/en/Tutorial/LiquidCrystalSerial - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - // initialize the serial communications: - Serial.begin(9600); -} - -void loop() -{ - // when characters arrive over the serial port... - if (Serial.available()) { - // wait a bit for the entire message to arrive - delay(100); - // clear the screen - lcd.clear(); - // read all the available characters - while (Serial.available() > 0) { - // display each character to the LCD - lcd.write(Serial.read()); - } - } -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino deleted file mode 100644 index 3bb8695b3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino +++ /dev/null @@ -1,86 +0,0 @@ -/* -LiquidCrystal Library - TextDirection - -Demonstrates the use a 16x2 LCD display. The LiquidCrystal -library works with all LCD displays that are compatible with the -Hitachi HD44780 driver. There are many of them out there, and you -can usually tell them by the 16-pin interface. - -This sketch demonstrates how to use leftToRight() and rightToLeft() -to move the cursor. - -The circuit: -* LCD RS pin to digital pin 12 -* LCD Enable pin to digital pin 11 -* LCD D4 pin to digital pin 5 -* LCD D5 pin to digital pin 4 -* LCD D6 pin to digital pin 3 -* LCD D7 pin to digital pin 2 -* LCD R/W pin to ground -* 10K resistor: -* ends to +5V and ground -* wiper to LCD VO pin (pin 3) - -Library originally added 18 Apr 2008 -by David A. Mellis -library modified 5 Jul 2009 -by Limor Fried (http://www.ladyada.net) -example added 9 Jul 2009 -by Tom Igoe -modified 22 Nov 2010 -by Tom Igoe - -This example code is in the public domain. - -http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection - -*/ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -int thisChar = 'a'; - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(16, 2); - // turn on the cursor: - lcd.cursor(); -} - -void loop() { - // reverse directions at 'm': - if (thisChar == 'm') { - // go right for the next letter - lcd.rightToLeft(); - } - // reverse again at 's': - if (thisChar == 's') { - // go left for the next letter - lcd.leftToRight(); - } - // reset at 'z': - if (thisChar > 'z') { - // go to (0,0): - lcd.home(); - // start again at 0 - thisChar = 'a'; - } - // print the character - lcd.write(thisChar); - // wait a second: - delay(1000); - // increment the letter: - thisChar++; -} - - - - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/setCursor/setCursor.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/setCursor/setCursor.ino deleted file mode 100644 index 4790b68b8..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/examples/setCursor/setCursor.ino +++ /dev/null @@ -1,72 +0,0 @@ -/* - LiquidCrystal Library - setCursor - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch prints to all the positions of the LCD using the - setCursor(0 method: - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * LCD R/W pin to ground - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - modified 22 Nov 2010 - by Tom Igoe - - This example code is in the public domain. - - http://arduino.cc/en/Tutorial/LiquidCrystalSetCursor - - */ - -// include the library code: -#include - -// these constants won't change. But you can change the size of -// your LCD using them: -const int numRows = 2; -const int numCols = 16; - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(numCols, numRows); -} - -void loop() { - // loop from ASCII 'a' to ASCII 'z': - for (int thisLetter = 'a'; thisLetter <= 'z'; thisLetter++) { - // loop over the columns: - for (int thisCol = 0; thisCol < numRows; thisCol++) { - // loop over the rows: - for (int thisRow = 0; thisRow < numCols; thisRow++) { - // set the cursor position: - lcd.setCursor(thisCol, thisRow); - // print the letter: - lcd.write(thisLetter); - delay(200); - } - } - } -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt deleted file mode 100644 index b6aa7fd90..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/keywords.txt +++ /dev/null @@ -1,38 +0,0 @@ -####################################### -# Syntax Coloring Map For LiquidCrystal -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -LiquidCrystal KEYWORD1 LiquidCrystal - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -begin KEYWORD2 -clear KEYWORD2 -home KEYWORD2 -print KEYWORD2 -setCursor KEYWORD2 -cursor KEYWORD2 -noCursor KEYWORD2 -blink KEYWORD2 -noBlink KEYWORD2 -display KEYWORD2 -noDisplay KEYWORD2 -autoscroll KEYWORD2 -noAutoscroll KEYWORD2 -leftToRight KEYWORD2 -rightToLeft KEYWORD2 -scrollDisplayLeft KEYWORD2 -scrollDisplayRight KEYWORD2 -createChar KEYWORD2 -setRowOffsets KEYWORD2 - -####################################### -# Constants (LITERAL1) -####################################### - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/library.properties b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/library.properties deleted file mode 100644 index f379f78cc..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/library.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=LiquidCrystal -version=1.0.1 -author=Arduino, Adafruit -maintainer=Arduino -sentence=Allows communication with alphanumerical liquid crystal displays (LCDs). For all Arduino boards. -paragraph=This library allows an Arduino board to control LiquidCrystal displays (LCDs) based on the Hitachi HD44780 (or a compatible) chipset, which is found on most text-based LCDs. The library works with in either 4 or 8 bit mode (i.e. using 4 or 8 data lines in addition to the rs, enable, and, optionally, the rw control lines). -category=Display -url=http://arduino.cc/en/Reference/LiquidCrystal -architectures=* diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.cpp deleted file mode 100644 index 249e0ec9b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.cpp +++ /dev/null @@ -1,322 +0,0 @@ -#include "LiquidCrystal.h" - -#include -#include -#include -#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 its 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; - - setRowOffsets(0x00, 0x40, 0x00 + cols, 0x40 + cols); - - // for some 1 line displays you can select a 10 pixel high font - if ((dotsize != LCD_5x8DOTS) && (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 before 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::setRowOffsets(int row0, int row1, int row2, int row3) -{ - _row_offsets[0] = row0; - _row_offsets[1] = row1; - _row_offsets[2] = row2; - _row_offsets[3] = row3; -} - -/********** high level commands, for the user! */ -void LiquidCrystal::clear() -{ - command(LCD_CLEARDISPLAY); // clear display, set cursor position to zero - delayMicroseconds(2000); // this command takes a long time! -} - -void LiquidCrystal::home() -{ - command(LCD_RETURNHOME); // set cursor position to zero - delayMicroseconds(2000); // this command takes a long time! -} - -void LiquidCrystal::setCursor(uint8_t col, uint8_t row) -{ - const size_t max_lines = sizeof(_row_offsets) / sizeof(*_row_offsets); - if ( row >= max_lines ) { - row = max_lines - 1; // we count rows starting w/0 - } - 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(); -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.h deleted file mode 100644 index da950ce58..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/LiquidCrystal/src/LiquidCrystal.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef LiquidCrystal_h -#define LiquidCrystal_h - -#include -#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 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 setRowOffsets(int row1, int row2, int row3, int row4); - 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; - uint8_t _row_offsets[4]; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.cpp deleted file mode 100644 index 5e48073f7..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2010 by Cristian Maglie - * SPI Master library for arduino. - * - * This file is free software; you can redistribute it and/or modify - * it under the terms of either the GNU General Public License version 2 - * or the GNU Lesser General Public License version 2.1, both as - * published by the Free Software Foundation. - */ - -#include "pins_arduino.h" -#include "SPI.h" - -SPIClass SPI; - -void SPIClass::begin() { - - // Set SS to high so a connected chip will be "deselected" by default - digitalWrite(SS, HIGH); - - // When the SS pin is set as OUTPUT, it can be used as - // a general purpose output port (it doesn't influence - // SPI operations). - pinMode(SS, OUTPUT); - - // Warning: if the SS pin ever becomes a LOW INPUT then SPI - // automatically switches to Slave, so the data direction of - // the SS pin MUST be kept as OUTPUT. - SPCR |= _BV(MSTR); - SPCR |= _BV(SPE); - - // Set direction register for SCK and MOSI pin. - // MISO pin automatically overrides to INPUT. - // By doing this AFTER enabling SPI, we avoid accidentally - // clocking in a single bit since the lines go directly - // from "input" to SPI control. - // http://code.google.com/p/arduino/issues/detail?id=888 - pinMode(SCK, OUTPUT); - pinMode(MOSI, OUTPUT); -} - - -void SPIClass::end() { - SPCR &= ~_BV(SPE); -} - -void SPIClass::setBitOrder(uint8_t bitOrder) -{ - if(bitOrder == LSBFIRST) { - SPCR |= _BV(DORD); - } else { - SPCR &= ~(_BV(DORD)); - } -} - -void SPIClass::setDataMode(uint8_t mode) -{ - SPCR = (SPCR & ~SPI_MODE_MASK) | mode; -} - -void SPIClass::setClockDivider(uint8_t rate) -{ - SPCR = (SPCR & ~SPI_CLOCK_MASK) | (rate & SPI_CLOCK_MASK); - SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((rate >> 2) & SPI_2XCLOCK_MASK); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.h deleted file mode 100644 index f647d5c89..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/SPI.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2010 by Cristian Maglie - * SPI Master library for arduino. - * - * This file is free software; you can redistribute it and/or modify - * it under the terms of either the GNU General Public License version 2 - * or the GNU Lesser General Public License version 2.1, both as - * published by the Free Software Foundation. - */ - -#ifndef _SPI_H_INCLUDED -#define _SPI_H_INCLUDED - -#include -#include -#include - -#define SPI_CLOCK_DIV4 0x00 -#define SPI_CLOCK_DIV16 0x01 -#define SPI_CLOCK_DIV64 0x02 -#define SPI_CLOCK_DIV128 0x03 -#define SPI_CLOCK_DIV2 0x04 -#define SPI_CLOCK_DIV8 0x05 -#define SPI_CLOCK_DIV32 0x06 -//#define SPI_CLOCK_DIV64 0x07 - -#define SPI_MODE0 0x00 -#define SPI_MODE1 0x04 -#define SPI_MODE2 0x08 -#define SPI_MODE3 0x0C - -#define SPI_MODE_MASK 0x0C // CPOL = bit 3, CPHA = bit 2 on SPCR -#define SPI_CLOCK_MASK 0x03 // SPR1 = bit 1, SPR0 = bit 0 on SPCR -#define SPI_2XCLOCK_MASK 0x01 // SPI2X = bit 0 on SPSR - -class SPIClass { -public: - inline static byte transfer(byte _data); - - // SPI Configuration methods - - inline static void attachInterrupt(); - inline static void detachInterrupt(); // Default - - static void begin(); // Default - static void end(); - - static void setBitOrder(uint8_t); - static void setDataMode(uint8_t); - static void setClockDivider(uint8_t); -}; - -extern SPIClass SPI; - -byte SPIClass::transfer(byte _data) { - SPDR = _data; - while (!(SPSR & _BV(SPIF))) - ; - return SPDR; -} - -void SPIClass::attachInterrupt() { - SPCR |= _BV(SPIE); -} - -void SPIClass::detachInterrupt() { - SPCR &= ~_BV(SPIE); -} - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/keywords.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/keywords.txt deleted file mode 100644 index fa7616581..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/SPI/keywords.txt +++ /dev/null @@ -1,36 +0,0 @@ -####################################### -# Syntax Coloring Map SPI -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -SPI KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### -begin KEYWORD2 -end KEYWORD2 -transfer KEYWORD2 -setBitOrder KEYWORD2 -setDataMode KEYWORD2 -setClockDivider KEYWORD2 - - -####################################### -# Constants (LITERAL1) -####################################### -SPI_CLOCK_DIV4 LITERAL1 -SPI_CLOCK_DIV16 LITERAL1 -SPI_CLOCK_DIV64 LITERAL1 -SPI_CLOCK_DIV128 LITERAL1 -SPI_CLOCK_DIV2 LITERAL1 -SPI_CLOCK_DIV8 LITERAL1 -SPI_CLOCK_DIV32 LITERAL1 -SPI_CLOCK_DIV64 LITERAL1 -SPI_MODE0 LITERAL1 -SPI_MODE1 LITERAL1 -SPI_MODE2 LITERAL1 -SPI_MODE3 LITERAL1 \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog deleted file mode 100644 index 9bf4b34ed..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/ChangeLog +++ /dev/null @@ -1,162 +0,0 @@ - -u8glib ChangeLog - -2012-01-01 v0.01 Oliver Kraus - * first beta release for Arduino IDE with simple SSD1325 support -2012-01-04 v0.02 Oliver Kraus - * support for some more display types -2012-01-07 v0.03 Oliver Kraus - * fixed some bugs, added more examples -2012-01-07 v0.04 Oliver Kraus - * single font file -2012-01-08 v0.05 Oliver Kraus - * Cleanup - * More examples - * SSD1325 graylevel support -2012-01-15 v0.06 Oliver Kraus - * LM6063 support -2012-01-17 v0.07 Oliver Kraus - * LM6063 support (update) -2012-01-19 v0.08 Oliver Kraus - * ST7920 beta device -2012-01-21 v0.09 Oliver Kraus - * ST7920 fixed (192x32) - * fixed bug in com layer if pins are none - * str reference position -2012-01-22 v0.10 Oliver Kraus - * Experimental LM6059 -2012-01-24 v0.11 Oliver Kraus - * new st7920 memory layout for 128x64 lcd - * experimental st7920 SPI -2012-01-25 v0.12 Oliver Kraus - * fixed st7920 memory layout for 128x64 lcd - * ST7920 SPI performance improvement -2012-01-27 v0.13 Oliver Kraus - * LM6059 (Adafruit Display) fixed -2012-02-01 v0.14 Oliver Kraus - * undoRotation() - * setRot..() can be used without restrictions - * Class U8GLIB derived from Print class. New function "print" - * Fixed memory index bug in the page management procedures -2012-02-12 v1.00 Oliver Kraus - * XBM support - * F() macro support - * str-rotation commands support ref-height and ref-position -2012-03-17 v1.02 Oliver Kraus - * U8GLIB_ST7687_C144MVGD spi experimental - * U8GLIB_LC7981_160X80 8bit - * Intersection test for frame and box procedures - * 4L double memory architecture - * setContrast infrastructure implemented, but not available for all devices - * drawCircle, drawDisc - * Bugfix for drawStr270 - * New examples: Chess (ported from dogm128 lib) and GraphicsTest -2012-03-31 v1.03 Oliver Kraus - * experimental parallel mode atmega - * more unifont code pages - * double memory, for NHD OLED and DOGXL160 - * "Menu" example - * drawLine -2012-04-13 v1.04 Oliver Kraus - * Adjust U8grelease: Same version number with AVR and Arduino variant -2012-06-10 v1.05 Oliver Kraus - * m2icon font - * experimental lc7981_240x64 device - * experimental ssd1306 - * experimental ssd1322 - * Hardware state backup/restore procedure -2012-06-15 v1.06 Oliver Kraus - * SBN1661 (SED1520?) support - * SSD1306 support - * U8G_PROGMEM bugfix -2012-07-04 v1.07 Oliver Kraus - * Added Makefiles for AVR release (issue 77) - * Fixed examples for Arduino Environment (issue 78) -2012-10-02 v1.08 Oliver Kraus - * Improved delay calculation for strobe pulse (issue 20) - * Support Chipkit (issue 39) - * Improved speed for ST7920 parallel mode (issue 79) - * Overall speed optimization (new page intersection algorithm) - * Support for Displays Newhaven NHD-C12864, CrystalFontz GFAG20232, Seeedstudio 96x96 OLED - * Added SPI support for ST7920 with plain AVR (issue 85) - * Add more LC7981 devices -2012-12-23 v1.09 Oliver Kraus - * Support for Displaytech 64128n - * Support for MINI12864 - * HW SPI for ST7920 - * Add delay after sending a byte with (ST7920 com) - * Support ATTiny - * Support I2C for SSD1306 - * bdf2u8g, Windows executable released - * LC7981 320x64 - * Scalue up: u8g::setScale2x2 - * Added more bitmap fonts - * u8g::drawRBox(), u8g::drawRFrame() - * Support for CFAG20232 (st7920_202x32) - * Fixed ST7920 SW SPI for ChipKit - * Support for tls8204 -2013-02-02 v1.10 Oliver Kraus - * Support for SSD1309 - * Support for NHD-C12832A1Z - * Bugfix: Fixed reset controll in parallel modes - * Bugfix: Fixed calculation of cursor position - * Bugfix: ST7920 parallel mode -2013-03-2 v1.11 Oliver Kraus - * Support for T6963 - * Support for Arduino Due - * Sleep Mode - * 4x mode for ST7920 - * New C++ interface for ST7920 -2013-03-24 v1.12 Oliver Kraus - * Added touch panel examples -2013-06-30 v1.13 Oliver Kraus - * Fixed missing "Arduino.h" in u8g_delay.c - * Disable interrupt for port/pin access (AVR), issue 19 - * Support for HT1632: U8GLIB_HT1632_24X16 u8g(wr, data, cs), issue 165 - * Support for SSD1351 OLED, issue 168 - * Cleaned up several compiler warnings - * Fixed conflict with scheduler (Arduino Due), issue 155 - * HW SPI for Arduino Due, issue 180 - * Performance improvement for ST7920, issue 177 - * Added ":" to the "n"umeric variant of the fonts, issue 166 - * Added additional argument u8g_InitCom(). Use U8G_SPI_CLK_CYCLE_NONE by default. - * Added double buffer option for many ST7565 devices - * Tested with Arduino 1.0.5 -2013-10-03 v1.14 Oliver Kraus - * Support for ARM controller - * Support for the A2 micro printer (issue 191) - * Ellipse drawing primitive (issue 187) - * Added software reset for UC1701 - * Fixed compiler warning (issue 196) - * Support for Freetronics SSD1351 OLED (issue 195) - * Several other fixes and improvements -2014-01-25 v1.15 Oliver Kraus - * Fixed a bug with the rotation procs: Occupied too much flash ROM (issue 219) - * Fixed issue with more than one SPI controller (SW SPI, issue 227) - * Added "drawTriangle" (issue 226) - * Added support for UC1608 (issue 214) - * Added ProFont family of fonts (issue 234) - * SW SPI support for Teensy 3 (issue 230) - * Removed Arduino/AVR specific files from ARM port (issue 209) -2014-07-05 v1.16 Oliver Kraus - * Added support for LD7032 60x32 OLED - * Added support for SSD1306 OLED, which does not send I2C ACK (issue 239) - * Added support for SH1106 128x64 OLED - * Added support for T6963 128x128 displays - * Added U8GLIB_SSD1306_ADAFRUIT_128X64 constructor -2014-12-21 v1.17 Oliver Kraus - * Added U8GLIB_UC1611_DOGM240 constructor (Issue 284) - * Added U8GLIB_UC1611_DOGXL240 constructor - * Added support for UC1608 controller (Issue 300) - * Added U8GLIB_SSD1306_ADAFRUIT_128X64 for Adafruit OLEDs (Issue 289) - * Bufix in the sleep on/off sequence (CS has not been releases, issue 298) - * helvB and helvR number only fonts (Issue 271) - * 400KHz option for I2C with U8G_I2C_OPT_FAST available for Due and Uno (Issue 303) - * I2C support for Arduino Due. 100KHz/400KHz, TWI & TWI1, ACK will be ignored (issue 285) - * Unifont update (Issue 297) - - - - - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT deleted file mode 100644 index efcedd03b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/INSTALL.TXT +++ /dev/null @@ -1,26 +0,0 @@ - -U8GLIB -http://code.google.com/p/u8glib/ - -Install instructions for the Arduino environment. - - 1. Start Arduino IDE - 2. In the Arduino IDE, import the library from the "Add Library" Menu. - -Alternative install instructions for the Arduino environment. - - 1. Unzip u8glib_arduino_vX.XX.zip into the "libraries" folder of the - Arduino install directory - 2. Start Arduino IDE - -Install instructions for the Chipkit (Arduino) environment. - - 1. cd /libraries - 2. unzip u8glib_arduino_vX.XX.zip - 3. cd ///hardware/pic32/libraries - 4. again: u8glib_arduino_vX.XX.zip - 5. Open hardware/pic32/cores/pic32/Print.h - Remove line - #define BYTE 0 - from the file, use PRINT_BYTE instead of BYTE. - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp deleted file mode 100644 index 542fc673a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - - U8glib.cpp - - C++ Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "U8glib.h" - - - -uint8_t U8GLIB::initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) -{ - prepare(); - return u8g_InitSPI(&u8g, dev, sck, mosi, cs, a0, reset); -} - -uint8_t U8GLIB::initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) -{ - prepare(); - return u8g_InitHWSPI(&u8g, dev, cs, a0, reset); -} - -uint8_t U8GLIB::initI2C(u8g_dev_t *dev, uint8_t options) -{ - prepare(); - return u8g_InitI2C(&u8g, dev, options); -} - -uint8_t U8GLIB::init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) -{ - prepare(); - return u8g_Init8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); -} - -uint8_t U8GLIB::init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) -{ - prepare(); - return u8g_Init8BitFixedPort(&u8g, dev, en, cs, di, rw, reset); -} - -uint8_t U8GLIB::initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) -{ - prepare(); - return u8g_InitRW8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h deleted file mode 100644 index bff8268dc..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/U8glib.h +++ /dev/null @@ -1,1268 +0,0 @@ -/* - - U8glib.h - - C++ Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#ifndef _CPP_U8GLIB -#define _CPP_U8GLIB - -#include -#include "utility/u8g.h" - - -class U8GLIB : public Print -{ - private: - u8g_t u8g; - u8g_uint_t tx, ty; // current position for the Print base class procedures - uint8_t is_begin; - - void prepare(void) { tx = 0; ty = 0; is_begin = 0; } - void cbegin(void) { if ( is_begin == 0 ) { is_begin = 1; u8g_Begin(&u8g); } } - uint8_t initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); - uint8_t initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); - uint8_t initI2C(u8g_dev_t *dev, uint8_t options); - protected: - uint8_t init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); - private: - uint8_t init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE); - uint8_t initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); - public: - - /* constructor */ - U8GLIB(void) - { } - U8GLIB(u8g_dev_t *dev) - { prepare(); u8g_Init(&u8g, dev); } - U8GLIB(u8g_dev_t *dev, u8g_com_fnptr com_fn) - { prepare(); u8g_InitComFn(&u8g, dev, com_fn); } - U8GLIB(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) - { initSPI(dev, sck, mosi, cs, a0, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) - { initHWSPI(dev, cs, a0, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t options) - { initI2C(dev, options); } - U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) - { init8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); } - U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) - { initRW8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); } - - uint8_t begin(void) { is_begin = 1; return u8g_Begin(&u8g); } - - void setPrintPos(u8g_uint_t x, u8g_uint_t y) { tx = x; ty = y; } - u8g_t *getU8g(void) { return &u8g; } - - - /* implementation of the write interface to the print class */ -#if defined(ARDUINO) && ARDUINO >= 100 - size_t write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); return 1;} -#else - void write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); } -#endif - - /* screen rotation */ - void undoRotation(void) { u8g_UndoRotation(&u8g); } - void setRot90(void) { u8g_SetRot90(&u8g); } - void setRot180(void) { u8g_SetRot180(&u8g); } - void setRot270(void) { u8g_SetRot270(&u8g); } - - /* screen scaling */ - void undoScale(void) { u8g_UndoScale(&u8g); } - void setScale2x2(void) { u8g_SetScale2x2(&u8g); } - - /* picture loop */ - void firstPage(void) { cbegin(); u8g_FirstPage(&u8g); } - uint8_t nextPage(void) { return u8g_NextPage(&u8g); } - - /* system commands */ - uint8_t setContrast(uint8_t contrast) { cbegin(); return u8g_SetContrast(&u8g, contrast); } - void sleepOn(void) { u8g_SleepOn(&u8g); } - void sleepOff(void) { u8g_SleepOff(&u8g); } - - /* graphic primitives */ - void setColorEntry(uint8_t color_index, uint8_t r, uint8_t g, uint8_t b) { u8g_SetColorEntry(&u8g, color_index, r, g, b); } - void setHiColor(uint16_t rgb) { u8g_SetHiColor(&u8g, rgb); } - void setHiColorByRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetHiColorByRGB(&u8g, r, g, b); } - void setRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetRGB(&u8g, r, g, b); } - - void setColorIndex(uint8_t color_index) { u8g_SetColorIndex(&u8g, color_index); } - uint8_t getColorIndex(void) { return u8g_GetColorIndex(&u8g); } - - void setDefaultForegroundColor(void) { u8g_SetDefaultForegroundColor(&u8g); } - void setDefaultBackgroundColor(void) { u8g_SetDefaultBackgroundColor(&u8g); } - void setDefaultMidColor(void) { u8g_SetDefaultMidColor(&u8g); } - - u8g_uint_t getWidth(void) { return u8g_GetWidth(&u8g); } - u8g_uint_t getHeight(void) { return u8g_GetHeight(&u8g); } - uint8_t getMode(void) { return u8g_GetMode(&u8g); } - - void drawPixel(u8g_uint_t x, u8g_uint_t y) { return u8g_DrawPixel(&u8g, x, y); } - void drawHLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) { u8g_DrawHLine(&u8g, x, y, w); } - void drawVLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) { u8g_DrawVLine(&u8g, x, y, h); } - void drawLine(u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) { u8g_DrawLine(&u8g, x1, y1, x2, y2); } - - void drawFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawFrame(&u8g, x, y, w, h); } - void drawRFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRFrame(&u8g, x, y, w, h,r); } - void drawBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawBox(&u8g, x, y, w, h); } - void drawRBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRBox(&u8g, x, y, w, h,r); } - - void drawCircle(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawCircle(&u8g, x0, y0, rad, opt); } - void drawDisc(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawDisc(&u8g, x0, y0, rad, opt); } - - void drawEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawEllipse(&u8g, x0, y0, rx, ry, opt); } - void drawFilledEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawFilledEllipse(&u8g, x0, y0, rx, ry, opt); } - - void drawTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) - { u8g_DrawTriangle(&u8g, x0, y0, x1, y1, x2, y2); } - - - - /* bitmap handling */ - void drawBitmap(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) - { u8g_DrawBitmap(&u8g, x, y, cnt, h, bitmap); } - void drawBitmapP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) - { u8g_DrawBitmapP(&u8g, x, y, cnt, h, bitmap); } - - void drawXBM(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) - { u8g_DrawXBM(&u8g, x, y, w, h, bitmap); } - void drawXBMP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) - { u8g_DrawXBMP(&u8g, x, y, w, h, bitmap); } - - - /* font handling */ - void setFont(const u8g_fntpgm_uint8_t *font) {u8g_SetFont(&u8g, font); } - int8_t getFontAscent(void) { return u8g_GetFontAscent(&u8g); } - int8_t getFontDescent(void) { return u8g_GetFontDescent(&u8g); } - int8_t getFontLineSpacing(void) { return u8g_GetFontLineSpacing(&u8g); } - - u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr(&u8g, x, y, s); } - u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr90(&u8g, x, y, s); } - u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr180(&u8g, x, y, s); } - u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr270(&u8g, x, y, s); } - u8g_uint_t drawStrP(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStrP(&u8g, x, y, s); } - u8g_uint_t drawStr90P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr90P(&u8g, x, y, s); } - u8g_uint_t drawStr180P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr180P(&u8g, x, y, s); } - u8g_uint_t drawStr270P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr270P(&u8g, x, y, s); } - - void setFontPosBaseline(void) { u8g_SetFontPosBaseline(&u8g); } - void setFontPosBottom(void) { u8g_SetFontPosBottom(&u8g); } - void setFontPosCenter(void) { u8g_SetFontPosCenter(&u8g); } - void setFontPosTop(void) { u8g_SetFontPosTop(&u8g); } - - void setFontRefHeightText(void) { u8g_SetFontRefHeightText(&u8g); } - void setFontRefHeightExtendedText(void) { u8g_SetFontRefHeightExtendedText(&u8g); } - void setFontRefHeightAll(void) { u8g_SetFontRefHeightAll(&u8g); } - void setFontLineSpacingFactor(uint8_t factor) { u8g_SetFontLineSpacingFactor(&u8g, factor); } - - - u8g_uint_t getStrPixelWidth(const char *s) { return u8g_GetStrPixelWidth(&u8g, s); } - u8g_uint_t getStrPixelWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrPixelWidthP(&u8g, s); } - u8g_uint_t getStrWidth(const char *s) { return u8g_GetStrWidth(&u8g, s); } - u8g_uint_t getStrWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrWidthP(&u8g, s); } - - void setHardwareBackup(u8g_state_cb backup_cb) { u8g_SetHardwareBackup(&u8g, backup_cb); } - -#if defined(ARDUINO) && ARDUINO >= 100 - // support for the F() macro - - u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStrP(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr90P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr180P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr270P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } - - u8g_uint_t getStrPixelWidth(const __FlashStringHelper *s) { return u8g_GetStrPixelWidthP(&u8g, (u8g_pgm_uint8_t *)s); } - u8g_uint_t getStrWidth(const __FlashStringHelper *s) { return u8g_GetStrWidthP(&u8g, (u8g_pgm_uint8_t *)s); } -#endif - - /* cursor handling */ - void setCursorFont(const u8g_pgm_uint8_t *cursor_font) { u8g_SetCursorFont(&u8g, cursor_font); } - void setCursorStyle(uint8_t encoding) { u8g_SetCursorStyle(&u8g, encoding); } - void setCursorPos(u8g_uint_t cursor_x, u8g_uint_t cursor_y) { u8g_SetCursorPos(&u8g, cursor_x, cursor_y); } - void setCursorColor(uint8_t fg, uint8_t bg) { u8g_SetCursorColor(&u8g, fg, bg); } - void enableCursor(void) { u8g_EnableCursor(&u8g); } - void disableCursor(void) { u8g_DisableCursor(&u8g); } - void drawCursor(void) { u8g_DrawCursor(&u8g); } - - /* virtual screen */ - - void setVirtualScreenDimension(u8g_uint_t width, u8g_uint_t height) { u8g_SetVirtualScreenDimension(&u8g, width, height); } - uint8_t addToVirtualScreen(u8g_uint_t x, u8g_uint_t y, U8GLIB &child_u8g) { return u8g_AddToVirtualScreen(&u8g, x, y, &child_u8g.u8g); } - -}; - - -class U8GLIB_DOGS102 : public U8GLIB -{ - public: - U8GLIB_DOGS102(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGS102(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGS102_2X : public U8GLIB -{ - public: - U8GLIB_DOGS102_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGS102_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_dogs102_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_MINI12864 : public U8GLIB -{ - public: - U8GLIB_MINI12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_MINI12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_MINI12864_2X : public U8GLIB -{ - public: - U8GLIB_MINI12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_MINI12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1701_mini12864_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGM132 : public U8GLIB -{ - public: - U8GLIB_DOGM132(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm132_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM132(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm132_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD_C12832 : public U8GLIB -{ - public: - U8GLIB_NHD_C12832(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12832(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD_C12832(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD_C12832_USART : public U8GLIB -{ - public: - U8GLIB_NHD_C12832_USART(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_usart_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGM128 : public U8GLIB -{ - public: - U8GLIB_DOGM128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_hw_spi, cs, a0, reset) - { } - U8GLIB_DOGM128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_DOGM128_2X : public U8GLIB -{ - public: - U8GLIB_DOGM128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGM128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_DOGM128_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_dogm128_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LM6059 : public U8GLIB -{ - public: - U8GLIB_LM6059(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6059(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6059_2X : public U8GLIB -{ - public: - U8GLIB_LM6059_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6059_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6059_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6063 : public U8GLIB -{ - public: - U8GLIB_LM6063(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6063(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_LM6063_2X : public U8GLIB -{ - public: - U8GLIB_LM6063_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LM6063_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_lm6063_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_64128N : public U8GLIB -{ - public: - U8GLIB_64128N(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_64128N(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_hw_spi, cs, a0, reset) - { } - U8GLIB_64128N(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_64128N_2X : public U8GLIB -{ - public: - U8GLIB_64128N_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_64128N_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_64128N_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_64128n_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD_C12864 : public U8GLIB -{ - public: - U8GLIB_NHD_C12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD_C12864_2X : public U8GLIB -{ - public: - U8GLIB_NHD_C12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD_C12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1601_C128032 : public U8GLIB -{ - public: - U8GLIB_UC1601_C128032(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1601_C128032(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1601_C128032_2X : public U8GLIB -{ - public: - U8GLIB_UC1601_C128032_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1601_C128032_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1601_c128032_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X64 : public U8GLIB -{ - public: - U8GLIB_UC1608_240X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X64_2X : public U8GLIB -{ - public: - U8GLIB_UC1608_240X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x64_2x_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X128 : public U8GLIB -{ - public: - U8GLIB_UC1608_240X128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1608_240X128_2X : public U8GLIB -{ - public: - U8GLIB_UC1608_240X128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1608_240X128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1608_240x128_2x_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_UC1611_DOGM240 : public U8GLIB -{ - public: - U8GLIB_UC1611_DOGM240(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_uc1611_dogm240_i2c, options) - {} - U8GLIB_UC1611_DOGM240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogm240_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1611_DOGM240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogm240_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_UC1611_DOGXL240 : public U8GLIB -{ - public: - U8GLIB_UC1611_DOGXL240(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_uc1611_dogxl240_i2c, options) - {} - U8GLIB_UC1611_DOGXL240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogxl240_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_UC1611_DOGXL240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1611_dogxl240_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_ST7920_128X64 : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } - // U8GLIB_ST7920_128X64(uint8_t cs) - // : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, cs, U8G_PIN_NONE, U8G_PIN_NONE) - // { } -}; - -class U8GLIB_ST7920_128X64_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_128X64_CUSTOM_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_CUSTOM_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_custom, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_128X64_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_128X64_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_128X64_CUSTOM_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_128X64_CUSTOM_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_128x64_4x_custom, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_ST7920_192X32 : public U8GLIB // OBSOLETE, use U8GLIB_ST7920_192X32_1X instead -{ - public: - U8GLIB_ST7920_192X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_192X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_192X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_ST7920_192X32_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_192X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_192X32_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_192X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_192X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_192x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_ST7920_202X32 : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7920_202X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, a0, reset) - { } - U8GLIB_ST7920_202X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_ST7920_202X32_1X : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - -class U8GLIB_ST7920_202X32_4X : public U8GLIB -{ - public: - U8GLIB_ST7920_202X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE - { } - U8GLIB_ST7920_202X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7920_202x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE - { } -}; - - -class U8GLIB_LC7981_160X80 : public U8GLIB -{ - public: - U8GLIB_LC7981_160X80(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_160x80_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LC7981_240X64 : public U8GLIB -{ - public: - U8GLIB_LC7981_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_LC7981_240X128 : public U8GLIB -{ - public: - U8GLIB_LC7981_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - -// 16 bit mode required: Remove comment from "#define U8G_16BIT 1" in utility/utility/u8g.h -class U8GLIB_LC7981_320X64 : public U8GLIB -{ - public: - U8GLIB_LC7981_320X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_lc7981_320x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - - - -class U8GLIB_DOGXL160_BW : public U8GLIB -{ - public: - U8GLIB_DOGXL160_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_GR : public U8GLIB -{ - public: - U8GLIB_DOGXL160_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_2X_BW : public U8GLIB -{ - public: - U8GLIB_DOGXL160_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_DOGXL160_2X_GR : public U8GLIB -{ - public: - U8GLIB_DOGXL160_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_DOGXL160_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_NHD27OLED_BW : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD27OLED_2X_BW : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD31OLED_BW : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD31OLED_2X_BW : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD31OLED_GR : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_GR(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) - { } -}; - -class U8GLIB_NHD31OLED_2X_GR : public U8GLIB -{ - public: - U8GLIB_NHD31OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD31OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_SSD1306_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_i2c, options) - { } -}; - -class U8GLIB_SSD1306_ADAFRUIT_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_i2c, options) - { } -}; - - -class U8GLIB_SSD1306_128X64_2X : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x64_2x_i2c, options) - { } -}; - -class U8GLIB_SH1106_128X64 : public U8GLIB -{ - public: - U8GLIB_SH1106_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_i2c, options) - { } -}; - -class U8GLIB_SH1106_128X64_2X : public U8GLIB -{ - public: - U8GLIB_SH1106_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_SH1106_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_sh1106_128x64_2x_i2c, options) - { } -}; - -class U8GLIB_SSD1309_128X64 : public U8GLIB -{ - public: - U8GLIB_SSD1309_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1309_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1309_128X64(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1309_128x64_i2c, options) - { } -}; - -class U8GLIB_SSD1306_128X32 : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_i2c, options) - { } -}; - -class U8GLIB_SSD1306_128X32_2X : public U8GLIB -{ - public: - U8GLIB_SSD1306_128X32_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_2x_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_2x_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1306_128X32_2X(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1306_128x32_2x_i2c, options) - { } -}; - - -class U8GLIB_NHD27OLED_GR : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_NHD27OLED_2X_GR : public U8GLIB -{ - public: - U8GLIB_NHD27OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_NHD27OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1327_96X96_GR : public U8GLIB -{ - public: - U8GLIB_SSD1327_96X96_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_GR(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_gr_i2c, options) - { } -}; - -class U8GLIB_SSD1327_96X96_2X_GR : public U8GLIB -{ - public: - U8GLIB_SSD1327_96X96_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_hw_spi, cs, a0, reset) - { } - U8GLIB_SSD1327_96X96_2X_GR(uint8_t options = U8G_I2C_OPT_NONE) - : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_i2c, options) - { } -}; - - -class U8GLIB_LD7032_60x32 : public U8GLIB -{ - public: - U8GLIB_LD7032_60x32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ld7032_60x32_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_LD7032_60x32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ld7032_60x32_hw_spi, cs, a0, reset) - { } - U8GLIB_LD7032_60x32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ld7032_60x32_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } -}; - - - -class U8GLIB_HT1632_24X16 : public U8GLIB -{ - public: - U8GLIB_HT1632_24X16(uint8_t wr, uint8_t data, uint8_t cs) - : U8GLIB(&u8g_dev_ht1632_24x16, wr, data, cs, U8G_PIN_NONE, U8G_PIN_NONE) - { } -}; - - - -class U8GLIB_PCF8812 : public U8GLIB -{ - public: - U8GLIB_PCF8812(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcf8812_96x65_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_PCF8812(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcf8812_96x65_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_PCD8544 : public U8GLIB -{ - public: - U8GLIB_PCD8544(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcd8544_84x48_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_PCD8544(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_pcd8544_84x48_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_TLS8204_84X48 : public U8GLIB -{ - public: - U8GLIB_TLS8204_84X48(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_tls8204_84x48_sw_spi, sck, mosi, cs, a0, reset) - { } -}; - -class U8GLIB_KS0108_128 : public U8GLIB -{ - public: - U8GLIB_KS0108_128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_SBN1661_122X32 : public U8GLIB -{ - public: - U8GLIB_SBN1661_122X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_sbn1661_122x32, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs1, cs2, di, rw, reset) - { } -}; - -class U8GLIB_T6963_240X128 : public U8GLIB -{ - public: - U8GLIB_T6963_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_128X128 : public U8GLIB -{ - public: - U8GLIB_T6963_128X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_128x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_240X64 : public U8GLIB -{ - public: - U8GLIB_T6963_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - -class U8GLIB_T6963_128X64 : public U8GLIB -{ - public: - U8GLIB_T6963_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_t6963_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - { } -}; - - -class U8GLIB_ST7687_C144MVGD: public U8GLIB -{ - public: - U8GLIB_ST7687_C144MVGD(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_st7687_c144mvgd_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_ST7687_C144MVGD(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs, uint8_t a0, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs, U8G_PIN_NONE, a0, rw, reset) - { } -}; - -class U8GLIB_ILI9325D_320x240 : public U8GLIB -{ - public: - /* - U8GLIB_ILI9325D_320x240(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ili9325d_320x240_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) - { } - */ - U8GLIB_ILI9325D_320x240( uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) - { init8BitFixedPort(&u8g_dev_ili9325d_320x240_8bit, en, cs1, di, rw, reset); } -}; - - - -class U8GLIB_SSD1351_128X128_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_4X_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_4X_332 : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_IDX : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_IDX(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_idx_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_IDX(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_idx_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128_4X_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_hw_spi, cs, a0, reset) - { } -}; - -class U8GLIB_SSD1351_128X128GH_4X_HICOLOR : public U8GLIB -{ - public: - U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset) - { } - U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) - : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi, cs, a0, reset) - { } -}; - - -class U8GLIB_FLIPDISC_2X7 : public U8GLIB -{ - public: - U8GLIB_FLIPDISC_2X7(void) : U8GLIB(&u8g_dev_flipdisc_2x7) - { } -}; - -class U8GLIB_VS : public U8GLIB -{ - public: - U8GLIB_VS(void) : U8GLIB(&u8g_dev_vs) - { } -}; - - -#endif /* _CPP_U8GLIB */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/A2Printer/A2Printer.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/A2Printer/A2Printer.ino deleted file mode 100644 index d40bd791b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/A2Printer/A2Printer.ino +++ /dev/null @@ -1,131 +0,0 @@ -/* - - A2Printer.pde - - Special example code for the A2 Mciro Printer (https://www.sparkfun.com/products/10438) - - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// use this serial interface -#define PRINTER_SERIAL Serial -// #define PRINTER_SERIAL Serial1 - - -uint8_t u8g_com_uart(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { - switch(msg) { - case U8G_COM_MSG_WRITE_BYTE: - PRINTER_SERIAL.write(arg_val); - break; - } - return 1; -} - -// setup u8g object, please remove comment from one of the following constructor calls - -// half resolution -//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x120_ds, (u8g_com_fnptr)u8g_com_uart); - -// full resolution, requires to uncomment U8G_16BIT in u8g.h -//U8GLIB u8g(&u8g_dev_a2_micro_printer_384x240, (u8g_com_fnptr)u8g_com_uart); - -// half resolution, extra log, requires to uncomment U8G_16BIT in u8g.h -//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x360_ds, (u8g_com_fnptr)u8g_com_uart); -U8GLIB u8g(&u8g_dev_a2_micro_printer_192x720_ds, (u8g_com_fnptr)u8g_com_uart); - - - -void drawLogo(uint8_t d) { - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(0+d, 30+d, "U"); - u8g.setFont(u8g_font_gdr30n); - u8g.drawStr90(23+d,10+d,"8"); - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(53+d,30+d,"g"); - - u8g.drawHLine(2+d, 35+d, 47); - u8g.drawVLine(45+d, 32+d, 12); -} - -void drawURL(void) { - u8g.setFont(u8g_font_4x6); - if ( u8g.getHeight() < 59 ) { - u8g.drawStr(53,9,"code.google.com"); - u8g.drawStr(77,18,"/p/u8glib"); - } - else { - u8g.drawStr(1,54,"code.google.com/p/u8glib"); - } -} - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - - drawLogo(0); - drawURL(); - u8g.drawFrame(0,0,u8g.getWidth(), u8g.getHeight()); - - u8g.setFont(u8g_font_helvR24r); - u8g.setPrintPos(0, 100); - u8g.print(u8g.getWidth(), DEC); - u8g.print("x"); - u8g.print(u8g.getHeight(), DEC); -} - -void setup(void) { - PRINTER_SERIAL.begin(19200); - - // flip screen, if required - // u8g.setRot180(); - - // assign default color value - u8g.setColorIndex(1); // pixel on -} - -void loop(void) { - - // picture loop: This will print the picture - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // send manual CR to the printer - PRINTER_SERIAL.write('\n'); - - // reprint the picture after 10 seconds - delay(10000); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.ino deleted file mode 100644 index e9a30e2d1..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Bitmap/Bitmap.ino +++ /dev/null @@ -1,166 +0,0 @@ -/* - - Bitmap.pde - - Show simple bitmap - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -const uint8_t rook_bitmap[] PROGMEM = { - 0x00, // 00000000 - 0x55, // 01010101 - 0x7f, // 01111111 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x3e, // 00111110 - 0x7f // 01111111 -}; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.drawBitmapP( 0, 0, 1, 8, rook_bitmap); -} - -void setup(void) { -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(1000); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.ino deleted file mode 100644 index eeebe4ac2..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Chess/Chess.ino +++ /dev/null @@ -1,216 +0,0 @@ -/* - - Chess.pde - - Little Rook Chess - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -// DOGS102 shield configuration values -uint8_t uiKeyPrev = 2; -uint8_t uiKeyNext = 4; -uint8_t uiKeySelect = 5; -uint8_t uiKeyBack = 3; - -// DOGM128-Shield configuration values -// DOGXL60-Shield configuration values -//uint8_t uiKeyPrev = 7; -//uint8_t uiKeyNext = 3; -//uint8_t uiKeySelect = 2; -//uint8_t uiKeyBack = 8; - -uint8_t uiKeyCodeFirst = CHESS_KEY_NONE; -uint8_t uiKeyCodeSecond = CHESS_KEY_NONE; -uint8_t uiKeyCode = CHESS_KEY_NONE; - - -void uiSetup(void) { - // configure input keys - - pinMode(uiKeyPrev, INPUT); // set pin to input - digitalWrite(uiKeyPrev, HIGH); // turn on pullup resistors - pinMode(uiKeyNext, INPUT); // set pin to input - digitalWrite(uiKeyNext, HIGH); // turn on pullup resistors - pinMode(uiKeySelect, INPUT); // set pin to input - digitalWrite(uiKeySelect, HIGH); // turn on pullup resistors - pinMode(uiKeyBack, INPUT); // set pin to input - digitalWrite(uiKeyBack, HIGH); // turn on pullup resistors -} - -void uiStep(void) -{ - uiKeyCodeSecond = uiKeyCodeFirst; - if ( digitalRead(uiKeyPrev) == LOW ) - uiKeyCodeFirst = CHESS_KEY_PREV; - else if ( digitalRead(uiKeyNext) == LOW ) - uiKeyCodeFirst = CHESS_KEY_NEXT; - else if ( digitalRead(uiKeySelect) == LOW ) - uiKeyCodeFirst = CHESS_KEY_SELECT; - else if ( digitalRead(uiKeyBack) == LOW ) - uiKeyCodeFirst = CHESS_KEY_BACK; - else - uiKeyCodeFirst = CHESS_KEY_NONE; - - if ( uiKeyCodeSecond == uiKeyCodeFirst ) - uiKeyCode = uiKeyCodeFirst; - else - uiKeyCode = CHESS_KEY_NONE; -} - - -void setup() { - // rotate screen, if required - u8g.setRot180(); - - uiSetup(); - chess_Init(u8g.getU8g(), 0); -} - -void loop() { - uint8_t keyCode = CHESS_KEY_NONE; - - u8g.firstPage(); - do { - chess_Draw(); - uiStep(); - if ( uiKeyCode != CHESS_KEY_NONE ) - keyCode = uiKeyCode; - } while( u8g.nextPage() ); - - u8g_Delay(10); - chess_Step(keyCode); - uiStep(); - keyCode = uiKeyCode; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Color/Color.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Color/Color.ino deleted file mode 100644 index a389e3224..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Color/Color.ino +++ /dev/null @@ -1,201 +0,0 @@ -/* - - Color.pde - - "Hello World!" example code with color. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -void draw(void) { - - if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) { - /* draw background (area is 128x128) */ - u8g_uint_t r, g, b; - for( b = 0; b < 4; b++ ) - { - for( g = 0; g < 32; g++ ) - { - for( r = 0; r < 32; r++ ) - { - u8g.setRGB(r<<3, g<<3, b<<4 ); - u8g.drawPixel(g + b*32, r); - u8g.setRGB(r<<3, g<<3, (b<<4)+64 ); - u8g.drawPixel(g + b*32, r+32); - u8g.setRGB(r<<3, g<<3, (b<<4)+128 ); - u8g.drawPixel(g + b*32, r+32+32); - u8g.setRGB(r<<3, g<<3, (b<<4)+128+64 ); - u8g.drawPixel(g + b*32, r+32+32+32); - } - } - } - } - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { - u8g.setColorIndex(255); // white - } - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) { - u8g.setColorIndex(3); // max intensity - } - else if ( u8g.getMode() == U8G_MODE_BW ) { - u8g.setColorIndex(1); // pixel on - } - else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - u8g.setFont(u8g_font_unifont); - u8g.drawStr( 0, 22, "Hello World!"); - - -} - -void setup(void) { - - // flip screen, if required - // u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.ino deleted file mode 100644 index 70e0e2f09..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Console/Console.ino +++ /dev/null @@ -1,266 +0,0 @@ -/* - - Console.pde - - Read from serial monitor, output to display - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -// setup input buffer -#define LINE_MAX 30 -uint8_t line_buf[LINE_MAX] = "U8GLIB Console"; -uint8_t line_pos = 0; - -// setup a text screen to support scrolling -#define ROW_MAX 12 - - -uint8_t screen[ROW_MAX][LINE_MAX]; -uint8_t rows, cols; - -// line height, which matches the selected font (5x7) -#define LINE_PIXEL_HEIGHT 7 - -// clear entire screen, called during setup -void clear_screen(void) { - uint8_t i, j; - for( i = 0; i < ROW_MAX; i++ ) - for( j = 0; j < LINE_MAX; j++ ) - screen[i][j] = 0; -} - -// append a line to the screen, scroll up -void add_line_to_screen(void) { - uint8_t i, j; - for( j = 0; j < LINE_MAX; j++ ) - for( i = 0; i < rows-1; i++ ) - screen[i][j] = screen[i+1][j]; - - for( j = 0; j < LINE_MAX; j++ ) - screen[rows-1][j] = line_buf[j]; -} - -// U8GLIB draw procedure: output the screen -void draw(void) { - uint8_t i, y; - // graphic commands to redraw the complete screen are placed here - y = 0; // reference is the top left -1 position of the string - y--; // correct the -1 position of the drawStr - for( i = 0; i < rows; i++ ) - { - u8g.drawStr( 0, y, (char *)(screen[i])); - y += u8g.getFontLineSpacing(); - } -} - -void exec_line(void) { - // echo line to the serial monitor - Serial.println((const char *)line_buf); - - // add the line to the screen - add_line_to_screen(); - - // U8GLIB picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); -} - -// clear current input buffer -void reset_line(void) { - line_pos = 0; - line_buf[line_pos] = '\0'; -} - -// add a single character to the input buffer -void char_to_line(uint8_t c) { - line_buf[line_pos] = c; - line_pos++; - line_buf[line_pos] = '\0'; -} - -// check serial in and handle the character -void read_line(void) { - if ( Serial.available() ) - { - uint8_t c; - c = Serial.read(); - if ( line_pos >= cols-1 ) { - exec_line(); - reset_line(); - char_to_line(c); - } - else if ( c == '\n' ) { - // ignore '\n' - } - else if ( c == '\r' ) { - exec_line(); - reset_line(); - } - else { - char_to_line(c); - } - } -} - -// Arduino master setup -void setup(void) { - // set font for the console window - u8g.setFont(u8g_font_5x7); - //u8g.setFont(u8g_font_9x15); - - // set upper left position for the string draw procedure - u8g.setFontPosTop(); - - // calculate the number of rows for the display - rows = u8g.getHeight() / u8g.getFontLineSpacing(); - if ( rows > ROW_MAX ) - rows = ROW_MAX; - - // estimate the number of columns for the display - cols = u8g.getWidth() / u8g.getStrWidth("m"); - if ( cols > LINE_MAX-1 ) - cols = LINE_MAX-1; - - clear_screen(); // clear screen - delay(1000); // do some delay - Serial.begin(9600); // init serial - exec_line(); // place the input buffer into the screen - reset_line(); // clear input buffer -} - -// Arduino main loop -void loop(void) { - read_line(); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.ino deleted file mode 100644 index 4393ddfe4..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/F/F.ino +++ /dev/null @@ -1,175 +0,0 @@ -/* - - F.pde - - Example code for the F() macro. - - >>> This example requires Arduino 1.0 and above. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - - // assign default font - u8g.setFont(u8g_font_unifont); - - // pointer to strings in flash memory can be stored in a special type - const __FlashStringHelper *flash_ptr; - - // the result of the F() macro can be assigned to this pointer - flash_ptr = F("Hello World!"); - - // this pointer can be used as argument to the draw procedures - u8g.drawStr( 0+1, 20+1, flash_ptr); - u8g.drawStr( 0, 20, flash_ptr); - - // of course, the F() macro can be used directly - u8g.drawStr( 0, 40, F("PROGMEM")); - -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/FPS/FPS.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/FPS/FPS.ino deleted file mode 100644 index bcf93cd5b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/FPS/FPS.ino +++ /dev/null @@ -1,398 +0,0 @@ -/* - - FPS.pde - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ST7920_192X32, SPI: FPS: Box=7.6 @=9.8 iFPS: Box=11.4 @=14.7 - ST7920_192X32, 8Bit: FPS: Box=6.2 @=7.5 iFPS: Box=9.3 @=11.2 - DOGM128 SW SPI: FPS: Box=5.1 @=5.9 Pix=2.6 iFPS: Box=10.2 @=11.8 Pix=5.2 - DOGM128 HW SPI: FPS: Box=5.5 @=6.3 iFPS: Box=11.0 @=12.6 - DOGXL160 SW SPI: FPS: Box=1.7 @=1.9 iFPS: Box=6.9 @=7.7 - DOGXL160 HW SPI: FPS: Box=1.8 @=2.1 - - NHD27OLED_BW, SW SPI: FPS: Box=3.0 @=3.7 - NHD27OLED_BW, HW SPI: FPS: Box=3.5 @=4.5 - NHD27OLED_2X_BW, SW SPI: FPS: Box=3.8 @=4.9 - NHD27OLED_2X_BW, HW SPI: FPS: Box=4.6 @=6.4 - - 30 Sep 2012 - NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.9 @=4.4 NEW_CODE - NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.6 @=4.5 - NHD27OLED_BW, HW SPI: FPS: Clip=16.3 Box=4.7 @=5.6 - NHD27OLED_2X_BW, SW SPI: FPS: Clip=9.7 Box=4.5 @=5.8 - NHD27OLED_2X_BW, SW SPI: FPS: Clip=18.0 Box=5.8 @=7.9 - - 1 Oct 2012 - ST7920_192X32, 8Bit: FPS: Box=7.2 @=10.0 - DOGM128 SW SPI: FPS: Box=5.2 @=6.6 Pix=2.6 - DOGM128 HW SPI: FPS: Clip=33.2 Box=5.5 @=7.1 - DOGXL160 SW SPI: FPS: Box=1.7 @=2.0 - DOGXL160 HW SPI: FPS: Box=1.8 @=2.2 - - DOGXL160 GR SW SPI: FPS: Box=1.1 @=1.3 - - 1 Mar 2013 - ST7920_192X32_1X, SPI: FPS: Clip=10.3 Box=5.5 @=7.2 Pix=3.9 - ST7920_192X32_4X, SPI: FPS: Clip=10.9 Box=6.7 @=8.8 Pix=7.4 - ST7920_192X32_1X, 8Bit: FPS: Clip=14.2 Box=6.1 @=8.4 Pix=4.2 - ST7920_192X32_4X, 8Bit: FPS: Clip=14.2 Box=7.8 @=10.7 Pix=8.7 - ST7920_192X32_1X, HW SPI: FPS: Clip=14.2 Box=6.3 @=8.7 Pix=4.3 - ST7920_192X32_4X, HW SPI: FPS: Clip=15.3 Box=8.0 @=11.2 Pix=9.0 - - 2 Jun 2013 - U8GLIB_DOGM128 SW SPI: FPS: Clip=23.9 Box=4.5 @=6.6 Pix=2.1 - U8GLIB_DOGM128_2X SW SPI: FPS: Clip=28.5 Box=6.6 @=9.7 Pix=3.9 - U8GLIB_DOGM128_2X HW SPI: FPS: Clip=40.8 Box=7.1 @=10.8 Pix=4.1 - - 3 Jun 2013 - U8GLIB_ST7920_192X32_1X -Os SW SPI FPS: Clip=11.0 Box=5.4 @=7.1 Pix=3.9 Size=11828 - U8GLIB_ST7920_192X32_1X -O3 SW SPI FPS: Clip=10.9 Box=5.6 @=7.5 Pix=4.0 Size=13800 - U8GLIB_ST7920_192X32_1X -Os SW SPI FPS: Clip=16.8 Box=6.7 @=9.6 Pix=4.5 Size=11858 (new seq data output) - U8GLIB_ST7920_192X32_1X -Os HW SPI FPS: Clip=25.7 Box=7.5 @=11.3 Pix=4.8 (new seq data output) - - 6 Jun 2013 - U8GLIB_DOGS102 u8g(13, 11, 10, 9); STD SW SPI FPS: Clip=9.5 Box=7.6 @=8.2 Pix=6.2 Size=15652 - U8GLIB_DOGS102 u8g(13, 11, 10, 9); SW SPI FPS: Clip=19.1 Box=12.8 @=14.0 Pix=9.2 Size=15532 - - - 12 Jun 2013 - SSD1351_128X128_332 SW SPI Clip=1.3 Box=0.7 @=0.9 Pix=0.4 - SSD1351_128X128_332 HW SPI Clip=3.6 Box=1.1 @=1.5 Pix=0.5 - - 24 Jun 2013 - Uno SSD1351_128X128_332 SW SPI Clip=1.4 Box=0.8 @=0.9 Pix=0.4 - - Uno SSD1351_128X128_332 HW SPI Clip=4.4 Box=1.2 @=1.6 Pix=0.5 - Uno SSD1351_128X128_HICOLOR HW SPI Clip=3.7 Box=0.8 @=1.0 Pix=0.3 - - Mega2560 SSD1351_128X128_332 HW SPI Clip=4.4 Box=1.2 @=1.6 Pix=0.5 - Mega2560 SSD1351_128X128_4X_332 HW SPI Clip=4.6 Box=2.3 @=2.8 Pix=1.5 - Mega2560 SSD1351_128X128_HICOLOR HW SPI Clip=3.6 Box=0.8 @=1.0 Pix=0.3 - Mega2560 SSD1351_128X128_4X_HICOLOR HW SPI Clip=4.2 Box=1.7 @=2.1 Pix=1.0 - - Due SSD1351_128X128_332 HW SPI Clip=24.6 Box=6.3 @=7.8 Pix=2.8 - Due SSD1351_128X128_4X_332 HW SPI Clip=28.1 Box=13.0 @=15.1 Pix=8.5 - Due SSD1351_128X128_HICOLOR HW SPI Clip=20.8 Box=3.4 @=4.5 Pix=1.4 - Due SSD1351_128X128_4X_HICOLOR HW SPI Clip=26.3 Box=8.9 @=11.1 Pix=4.8 - - Due SSD1351_128X128_4X_HICOLOR SW SPI Clip=0.4 Box=0.4 @=0.4 Pix=0.4 - - Due DOGS102 u8g(13, 11, 10, 9); SW SPI FPS: Clip=19.1 Box=13.1 @=14.3 Pix=9.4 - Due DOGS102 u8g(10, 9); HW SPI FPS: Clip=128.9 Box=30.7 @=40.6 Pix=15.4 - - Due NHD27OLED_BW u8g(10, 9) HW SPI FPS: Clip=53.0 Box=19.6 @=23.8 Pix=10.6 - Due NHD27OLED_2X_BW u8g(10, 9) HW SPI FPS: Clip=57.0 Box=25.3 @=31.7 Pix=18.1 - Due NHD27OLED_GR u8g(10, 9) HW SPI FPS: Clip=34.1 Box=11.7 @=13.7 Pix=5.6 - Due NHD27OLED_2X_GR u8g(10, 9) HW SPI FPS: Clip=38.1 Box=15.5 @=20.0 Pix=8.8 - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -#define SECONDS 10 -uint8_t flip_color = 0; -uint8_t draw_color = 1; - -void draw_set_screen(void) { - // graphic commands to redraw the complete screen should be placed here - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - if ( flip_color == 0 ) - u8g.setHiColorByRGB(0,0,0); - else - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(flip_color); - } - u8g.drawBox( 0, 0, u8g.getWidth(), u8g.getHeight() ); -} - -void draw_clip_test(void) { - u8g_uint_t i, j, k; - char buf[3] = "AB"; - k = 0; - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - u8g.setFont(u8g_font_6x10); - - for( i = 0; i < 6; i++ ) { - for( j = 1; j < 8; j++ ) { - u8g.drawHLine(i-3, k, j); - u8g.drawHLine(i-3+10, k, j); - - u8g.drawVLine(k+20, i-3, j); - u8g.drawVLine(k+20, i-3+10, j); - - k++; - } - } - u8g.drawStr(0-3, 50, buf); - u8g.drawStr180(0+3, 50, buf); - - u8g.drawStr(u8g.getWidth()-3, 40, buf); - u8g.drawStr180(u8g.getWidth()+3, 40, buf); - - u8g.drawStr90(u8g.getWidth()-10, 0-3, buf); - u8g.drawStr270(u8g.getWidth()-10, 3, buf); - - u8g.drawStr90(u8g.getWidth()-20, u8g.getHeight()-3, buf); - u8g.drawStr270(u8g.getWidth()-20, u8g.getHeight()+3, buf); - -} - -void draw_char(void) { - char buf[2] = "@"; - u8g_uint_t i, j; - // graphic commands to redraw the complete screen should be placed here - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - u8g.setFont(u8g_font_6x10); - j = 8; - for(;;) { - i = 0; - for(;;) { - u8g.drawStr( i, j, buf); - i += 8; - if ( i > u8g.getWidth() ) - break; - } - j += 8; - if ( j > u8g.getHeight() ) - break; - } - -} - -void draw_pixel(void) { - u8g_uint_t x, y, w2, h2; - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - w2 = u8g.getWidth(); - h2 = u8g.getHeight(); - w2 /= 2; - h2 /= 2; - for( y = 0; y < h2; y++ ) { - for( x = 0; x < w2; x++ ) { - if ( (x + y) & 1 ) { - u8g.drawPixel(x,y); - u8g.drawPixel(x,y+h2); - u8g.drawPixel(x+w2,y); - u8g.drawPixel(x+w2,y+h2); - } - } - } -} - -// returns unadjusted FPS -uint16_t picture_loop_with_fps(void (*draw_fn)(void)) { - uint16_t FPS10 = 0; - uint32_t time; - - time = millis() + SECONDS*1000; - - // picture loop - do { - u8g.firstPage(); - do { - draw_fn(); - } while( u8g.nextPage() ); - FPS10++; - flip_color = flip_color ^ 1; - } while( millis() < time ); - return FPS10; -} - -const char *convert_FPS(uint16_t fps) { - static char buf[6]; - strcpy(buf, u8g_u8toa( (uint8_t)(fps/10), 3)); - buf[3] = '.'; - buf[4] = (fps % 10) + '0'; - buf[5] = '\0'; - return buf; -} - -void show_result(const char *s, uint16_t fps) { - // assign default color value - if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } - else { - u8g.setColorIndex(draw_color); - } - u8g.setFont(u8g_font_8x13B); - u8g.firstPage(); - do { - u8g.drawStr(0,12, s); - u8g.drawStr(0,24, convert_FPS(fps)); - } while( u8g.nextPage() ); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) - draw_color = 255; // white - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - draw_color = 3; // max intensity - else if ( u8g.getMode() == U8G_MODE_BW ) - draw_color = 1; // pixel on - else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } -} - -void loop(void) { - uint16_t fps; - fps = picture_loop_with_fps(draw_clip_test); - show_result("draw clip test", fps); - delay(5000); - fps = picture_loop_with_fps(draw_set_screen); - show_result("clear screen", fps); - delay(5000); - fps = picture_loop_with_fps(draw_char); - show_result("draw @", fps); - delay(5000); - fps = picture_loop_with_fps(draw_pixel); - show_result("draw pixel", fps); - delay(5000); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino deleted file mode 100644 index f159b8ddc..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino +++ /dev/null @@ -1,300 +0,0 @@ -/* - - GraphicsTest.pde - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -void u8g_prepare(void) { - u8g.setFont(u8g_font_6x10); - u8g.setFontRefHeightExtendedText(); - u8g.setDefaultForegroundColor(); - u8g.setFontPosTop(); -} - -void u8g_box_frame(uint8_t a) { - u8g.drawStr( 0, 0, "drawBox"); - u8g.drawBox(5,10,20,10); - u8g.drawBox(10+a,15,30,7); - u8g.drawStr( 0, 30, "drawFrame"); - u8g.drawFrame(5,10+30,20,10); - u8g.drawFrame(10+a,15+30,30,7); -} - -void u8g_disc_circle(uint8_t a) { - u8g.drawStr( 0, 0, "drawDisc"); - u8g.drawDisc(10,18,9); - u8g.drawDisc(24+a,16,7); - u8g.drawStr( 0, 30, "drawCircle"); - u8g.drawCircle(10,18+30,9); - u8g.drawCircle(24+a,16+30,7); -} - -void u8g_r_frame(uint8_t a) { - u8g.drawStr( 0, 0, "drawRFrame/Box"); - u8g.drawRFrame(5, 10,40,30, a+1); - u8g.drawRBox(50, 10,25,40, a+1); -} - -void u8g_string(uint8_t a) { - u8g.drawStr(30+a,31, " 0"); - u8g.drawStr90(30,31+a, " 90"); - u8g.drawStr180(30-a,31, " 180"); - u8g.drawStr270(30,31-a, " 270"); -} - -void u8g_line(uint8_t a) { - u8g.drawStr( 0, 0, "drawLine"); - u8g.drawLine(7+a, 10, 40, 55); - u8g.drawLine(7+a*2, 10, 60, 55); - u8g.drawLine(7+a*3, 10, 80, 55); - u8g.drawLine(7+a*4, 10, 100, 55); -} - -void u8g_triangle(uint8_t a) { - uint16_t offset = a; - u8g.drawStr( 0, 0, "drawTriangle"); - u8g.drawTriangle(14,7, 45,30, 10,40); - u8g.drawTriangle(14+offset,7-offset, 45+offset,30-offset, 57+offset,10-offset); - u8g.drawTriangle(57+offset*2,10, 45+offset*2,30, 86+offset*2,53); - u8g.drawTriangle(10+offset,40+offset, 45+offset,30+offset, 86+offset,53+offset); -} - -void u8g_ascii_1() { - char s[2] = " "; - uint8_t x, y; - u8g.drawStr( 0, 0, "ASCII page 1"); - for( y = 0; y < 6; y++ ) { - for( x = 0; x < 16; x++ ) { - s[0] = y*16 + x + 32; - u8g.drawStr(x*7, y*10+10, s); - } - } -} - -void u8g_ascii_2() { - char s[2] = " "; - uint8_t x, y; - u8g.drawStr( 0, 0, "ASCII page 2"); - for( y = 0; y < 6; y++ ) { - for( x = 0; x < 16; x++ ) { - s[0] = y*16 + x + 160; - u8g.drawStr(x*7, y*10+10, s); - } - } -} - -void u8g_extra_page(uint8_t a) -{ - if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) { - /* draw background (area is 128x128) */ - u8g_uint_t r, g, b; - b = a << 5; - for( g = 0; g < 64; g++ ) - { - for( r = 0; r < 64; r++ ) - { - u8g.setRGB(r<<2, g<<2, b ); - u8g.drawPixel(g, r); - } - } - u8g.setRGB(255,255,255); - u8g.drawStr( 66, 0, "Color Page"); - } - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - { - u8g.drawStr( 66, 0, "Gray Level"); - u8g.setColorIndex(1); - u8g.drawBox(0, 4, 64, 32); - u8g.drawBox(70, 20, 4, 12); - u8g.setColorIndex(2); - u8g.drawBox(0+1*a, 4+1*a, 64-2*a, 32-2*a); - u8g.drawBox(74, 20, 4, 12); - u8g.setColorIndex(3); - u8g.drawBox(0+2*a, 4+2*a, 64-4*a, 32-4*a); - u8g.drawBox(78, 20, 4, 12); - } - else - { - u8g.drawStr( 0, 12, "setScale2x2"); - u8g.setScale2x2(); - u8g.drawStr( 0, 6+a, "setScale2x2"); - u8g.undoScale(); - } -} - - -uint8_t draw_state = 0; - -void draw(void) { - u8g_prepare(); - switch(draw_state >> 3) { - case 0: u8g_box_frame(draw_state&7); break; - case 1: u8g_disc_circle(draw_state&7); break; - case 2: u8g_r_frame(draw_state&7); break; - case 3: u8g_string(draw_state&7); break; - case 4: u8g_line(draw_state&7); break; - case 5: u8g_triangle(draw_state&7); break; - case 6: u8g_ascii_1(); break; - case 7: u8g_ascii_2(); break; - case 8: u8g_extra_page(draw_state&7); break; - } -} - -void setup(void) { - - // flip screen, if required - //u8g.setRot180(); - - - pinMode(13, OUTPUT); - digitalWrite(13, HIGH); -} - -void loop(void) { - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // increase the state - draw_state++; - if ( draw_state >= 9*8 ) - draw_state = 0; - - // rebuild the picture after some delay - //delay(150); - -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.ino deleted file mode 100644 index f71bf8e4f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/HelloWorld/HelloWorld.ino +++ /dev/null @@ -1,177 +0,0 @@ -/* - - HelloWorld.pde - - "Hello World!" example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - //u8g.setFont(u8g_font_osb21); - u8g.drawStr( 0, 22, "Hello World!"); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { - u8g.setColorIndex(255); // white - } - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) { - u8g.setColorIndex(3); // max intensity - } - else if ( u8g.getMode() == U8G_MODE_BW ) { - u8g.setColorIndex(1); // pixel on - } - else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { - u8g.setHiColorByRGB(255,255,255); - } -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(50); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.ino deleted file mode 100644 index d8ab6f0df..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Menu/Menu.ino +++ /dev/null @@ -1,273 +0,0 @@ -/* - - Menu.pde - - Simple Menu Selection - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -#define KEY_NONE 0 -#define KEY_PREV 1 -#define KEY_NEXT 2 -#define KEY_SELECT 3 -#define KEY_BACK 4 - -// DOGS102 shield configuration values -//uint8_t uiKeyPrev = 2; -//uint8_t uiKeyNext = 4; -//uint8_t uiKeySelect = 5; -//uint8_t uiKeyBack = 3; - -// DOGM128-Shield configuration values -// DOGXL60-Shield configuration values -uint8_t uiKeyPrev = 7; -uint8_t uiKeyNext = 3; -uint8_t uiKeySelect = 2; -uint8_t uiKeyBack = 8; - -uint8_t uiKeyCodeFirst = KEY_NONE; -uint8_t uiKeyCodeSecond = KEY_NONE; -uint8_t uiKeyCode = KEY_NONE; - - -void uiSetup(void) { - // configure input keys - - pinMode(uiKeyPrev, INPUT); // set pin to input - digitalWrite(uiKeyPrev, HIGH); // turn on pullup resistors - pinMode(uiKeyNext, INPUT); // set pin to input - digitalWrite(uiKeyNext, HIGH); // turn on pullup resistors - pinMode(uiKeySelect, INPUT); // set pin to input - digitalWrite(uiKeySelect, HIGH); // turn on pullup resistors - pinMode(uiKeyBack, INPUT); // set pin to input - digitalWrite(uiKeyBack, HIGH); // turn on pullup resistors -} - -void uiStep(void) { - uiKeyCodeSecond = uiKeyCodeFirst; - if ( digitalRead(uiKeyPrev) == LOW ) - uiKeyCodeFirst = KEY_PREV; - else if ( digitalRead(uiKeyNext) == LOW ) - uiKeyCodeFirst = KEY_NEXT; - else if ( digitalRead(uiKeySelect) == LOW ) - uiKeyCodeFirst = KEY_SELECT; - else if ( digitalRead(uiKeyBack) == LOW ) - uiKeyCodeFirst = KEY_BACK; - else - uiKeyCodeFirst = KEY_NONE; - - if ( uiKeyCodeSecond == uiKeyCodeFirst ) - uiKeyCode = uiKeyCodeFirst; - else - uiKeyCode = KEY_NONE; -} - - -#define MENU_ITEMS 4 -char *menu_strings[MENU_ITEMS] = { "First Line", "Second Item", "3333333", "abcdefg" }; - -uint8_t menu_current = 0; -uint8_t menu_redraw_required = 0; -uint8_t last_key_code = KEY_NONE; - - -void drawMenu(void) { - uint8_t i, h; - u8g_uint_t w, d; - - u8g.setFont(u8g_font_6x13); - u8g.setFontRefHeightText(); - u8g.setFontPosTop(); - - h = u8g.getFontAscent()-u8g.getFontDescent(); - w = u8g.getWidth(); - for( i = 0; i < MENU_ITEMS; i++ ) { - d = (w-u8g.getStrWidth(menu_strings[i]))/2; - u8g.setDefaultForegroundColor(); - if ( i == menu_current ) { - u8g.drawBox(0, i*h+1, w, h); - u8g.setDefaultBackgroundColor(); - } - u8g.drawStr(d, i*h, menu_strings[i]); - } -} - -void updateMenu(void) { - if ( uiKeyCode != KEY_NONE && last_key_code == uiKeyCode ) { - return; - } - last_key_code = uiKeyCode; - - switch ( uiKeyCode ) { - case KEY_NEXT: - menu_current++; - if ( menu_current >= MENU_ITEMS ) - menu_current = 0; - menu_redraw_required = 1; - break; - case KEY_PREV: - if ( menu_current == 0 ) - menu_current = MENU_ITEMS; - menu_current--; - menu_redraw_required = 1; - break; - } -} - - -void setup() { - // rotate screen, if required - // u8g.setRot180(); - - uiSetup(); // setup key detection and debounce algorithm - menu_redraw_required = 1; // force initial redraw -} - -void loop() { - - uiStep(); // check for key press - - if ( menu_redraw_required != 0 ) { - u8g.firstPage(); - do { - drawMenu(); - } while( u8g.nextPage() ); - menu_redraw_required = 0; - } - - updateMenu(); // update menu bar - -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.ino deleted file mode 100644 index edc9afa8c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/PrintTest/PrintTest.ino +++ /dev/null @@ -1,160 +0,0 @@ -/* - - PrintTest.pde - - How to use the base class "Print" - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.setPrintPos(0, 20); - // call procedure from base class, http://arduino.cc/en/Serial/Print - u8g.print("Hello World!"); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.ino deleted file mode 100644 index f4008138b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Rotation/Rotation.ino +++ /dev/null @@ -1,188 +0,0 @@ -/* - - Rotation.pde - - Example code for RotXXX functions. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -uint8_t offset = 0; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.drawStr( 0+0, 20+0, "Hello!"); - u8g.drawStr( 0+2, 20+16, "Hello!"); - - u8g.drawBox(0, 0, 3, 3); - u8g.drawBox(u8g.getWidth()-6, 0, 6, 6); - u8g.drawBox(u8g.getWidth()-9, u8g.getHeight()-9, 9, 9); - u8g.drawBox(0, u8g.getHeight()-12, 12, 12); -} - -void setup(void) { -} - - -void rotate(void) { - static uint8_t dir = 0; - static unsigned long next_rotation = 0; - - if ( next_rotation < millis() ) - { - switch(dir) { - case 0: u8g.undoRotation(); break; - case 1: u8g.setRot90(); break; - case 2: u8g.setRot180(); break; - case 3: u8g.setRot270(); offset = ( offset + 1 ) & 0x0f; break; - } - - dir++; - dir &= 3; - next_rotation = millis(); - next_rotation += 1000; - } -} - -void loop(void) { - // screen rotation - rotate(); - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(100); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.ino deleted file mode 100644 index 5fc5d331f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Scale/Scale.ino +++ /dev/null @@ -1,177 +0,0 @@ -/* - - Scale.pde - - Example code for the 2x2 scale function. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.setFont(u8g_font_unifont); - u8g.setFontPosTop(); - u8g.drawStr(0, 1, "Hello"); - u8g.drawHLine(0, 1+14, 40); - u8g.setScale2x2(); // Scale up all draw procedures - u8g.drawStr(0, 12, "Hello"); // actual display position is (0,24) - u8g.drawHLine(0, 12+14, 40); // All other procedures are also affected - u8g.undoScale(); // IMPORTANT: Switch back to normal mode -} - -void setup(void) { - - // flip screen, if required - u8g.setRot180(); - - // set SPI backup if required - //u8g.setHardwareBackup(u8g_backup_avr_spi); - - // assign default color value - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) - u8g.setColorIndex(255); // white - else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) - u8g.setColorIndex(3); // max intensity - else if ( u8g.getMode() == U8G_MODE_BW ) - u8g.setColorIndex(1); // pixel on -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.ino deleted file mode 100644 index 352780828..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/TextRotX/TextRotX.ino +++ /dev/null @@ -1,190 +0,0 @@ -/* - - TextRotX.pde - - Text rotation example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -// graphic commands to redraw the complete screen should be placed here -void draw(void) { - u8g_uint_t mx, my; - - mx = u8g.getWidth(); - mx >>= 1; - - my = u8g.getHeight(); - my >>= 1; - - u8g.drawStr( mx, my, "Ag"); - u8g.drawStr90( mx, my, "Ag"); - u8g.drawStr180( mx, my, "Ag"); - u8g.drawStr270( mx, my, "Ag"); -} - -void setup(void) { - u8g.setFont(u8g_font_9x18); -} - -void change_font_pos(void) { - static uint8_t dir = 0; - static unsigned long next = 0; - - if ( next < millis() ) - { - switch(dir) { - case 0: u8g.setFontPosBottom(); break; - case 1: u8g.setFontPosBaseline(); break; - case 2: u8g.setFontPosCenter(); break; - case 3: u8g.setFontPosTop(); break; - } - - dir++; - dir &= 3; - next = millis(); - next += 1000; - } -} - -void loop(void) { - // change the font position - change_font_pos(); - - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(100); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino deleted file mode 100644 index 9ce10e941..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino +++ /dev/null @@ -1,348 +0,0 @@ -/* - - Touch4WSetup.pde - - Use this example to figure out the ranges for of the active area of a 4-wire resistive - touch panel. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -//================================================================ -// Setup 4-Wire Resistive Touch Panel - -uint8_t tp_left = A3; -uint8_t tp_right = A5; -uint8_t tp_top = A4; -uint8_t tp_bottom = A2; - -#define X_START 120 -#define X_END 140 -#define Y_START 120 -#define Y_END 140 - -#define PULLUP_THRESHOLD 235 - -//================================================================ -// Touch Panel Code - -/* touch panel dimension */ -struct tpd_struct -{ - /* raw value */ - uint8_t raw; - - /* calibration values */ - uint8_t start; - uint8_t end; - - /* user values */ - uint8_t range; /* result will have range fron 0..range (including the value of range) */ - - uint8_t result; /* output value: position [0...range] */ - uint8_t is_pressed; /* output value: pressed (=1) or not pressed (=0) */ - uint8_t is_update; /* will be set to 1 if result or is_pressed has been updated */ -}; - -struct tp_struct -{ - struct tpd_struct x; - struct tpd_struct y; - uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */ - uint8_t is_update; -}; - -struct tp_struct tp; - -/* map raw value to 0...range (result) */ -void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw) -{ - uint8_t is_pressed; - uint16_t p; - uint8_t start, end; - - d->raw = raw; - - start = d->start; - end = d->end; - - /* check if position is within active area; store result in "is_pressed" */ - is_pressed = 1; - if ( raw >= PULLUP_THRESHOLD ) - { - d->result = 0; - is_pressed = 0; - } - else - { - /* update start and end */ - if ( raw < start ) - { - start = raw; - d->start = raw; - } - if ( raw > end ) - { - end = raw; - d->end = raw; - } - } - - /* store "is_pressed" in the global structure, set update flag */ - if ( d->is_pressed != is_pressed ) - d->is_update = 1; - d->is_pressed = is_pressed; - - /* map "raw" value into target range */ - if ( is_pressed != 0 ) - { - p = raw; - p -= start; - p *= d->range; - end -= start; - p /= end; - - if ( d->result != p ) - d->is_update = 1; - d->result = p; - } -} - -void tp_Init(uint8_t width, uint8_t height) -{ - tp.x.start = X_START; - tp.x.end = X_END; - tp.x.range = width-1; - - tp.y.start = Y_START; - tp.y.end = Y_END; - tp.y.range = height-1; - - tp.is_update = 1; -} - -void setTouchRawValues(uint8_t x, uint8_t y) -{ - tpd_map_touch_position(&(tp.x), x); - tpd_map_touch_position(&(tp.y), y); - - tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed; - if ( tp.x.is_update || tp.y.is_update ) - tp.is_update = 1; -} - - -uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin) -{ - uint8_t val; - pinMode(dcPin, INPUT); - pinMode(sensePin, INPUT_PULLUP); - pinMode(hiPin, OUTPUT); - pinMode(lowPin, OUTPUT); - - digitalWrite(hiPin, HIGH); - digitalWrite(lowPin, LOW); - delay(10); - val = analogRead(sensePin) >> 2; - pinMode(hiPin, INPUT); - pinMode(lowPin, INPUT); - delay(10); - return val; -} - -void updateTouchPanel(void) -{ - uint8_t tp_raw_x; - uint8_t tp_raw_y; - - tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top); - tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right); - - setTouchRawValues(tp_raw_x, tp_raw_y); -} - -//================================================================ -// graphics output and picture loop - -void center(u8g_uint_t y, const char *str) -{ - u8g_uint_t x; - x = u8g.getWidth(); - x -= u8g.getStrWidth(str); - x /= 2; - u8g.drawStr(x, y, str); -} - - -void draw(void) { - u8g.setFont(u8g_font_6x10); - center( 10, "Touch Panel Setup"); - u8g.setPrintPos(0, 20); u8g.print("x_start=");u8g.print((int)tp.x.start);u8g.print(" x_end=");u8g.print((int)tp.x.end); - u8g.setPrintPos(0, 30); u8g.print("y_start=");u8g.print((int)tp.y.start);u8g.print(" y_end=");u8g.print((int)tp.y.end); - u8g.setPrintPos(0, 40); u8g.print("x=");u8g.print((int)tp.x.raw); - u8g.setPrintPos(0, 50); u8g.print("y=");u8g.print((int)tp.y.raw); -} - -void setup(void) { - - // flip screen, if required - // u8g.setRot180(); - u8g.setCursorFont(u8g_font_cursor); - u8g.setCursorStyle(32); - - tp_Init(u8g.getWidth(), u8g.getHeight()); - - tp.is_update = 1; -} - -void loop(void) { - - // update touch panel and handle return values - updateTouchPanel(); - - if ( tp.is_pressed != 0 ) - u8g.enableCursor(); - else - u8g.disableCursor(); - - u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1); - - // picture loop - if ( tp.is_update != 0 ) - { - tp.is_update = 0; - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - } - -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino deleted file mode 100644 index ebe15838f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino +++ /dev/null @@ -1,335 +0,0 @@ -/* - - Touch4WTest.pde - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -//================================================================ -// Setup 4-Wire Resistive Touch Panel - -uint8_t tp_left = A3; -uint8_t tp_right = A5; -uint8_t tp_top = A4; -uint8_t tp_bottom = A2; - -/* Run "Touch4WSetup" and enter values here */ -#define X_START 64 -#define X_END 200 -#define Y_START 105 -#define Y_END 160 - -//================================================================ -// Touch Panel Code - -/* touch panel dimension */ -struct tpd_struct -{ - /* raw value */ - uint8_t raw; - - /* calibration values */ - uint8_t start; - uint8_t end; - - /* user values */ - uint8_t range; /* result will have range fron 0..range (including the value of range) */ - - uint8_t result; /* output value: position [0...range] */ - uint8_t is_pressed; /* output value: pressed (=1) or not pressed (=0) */ - uint8_t is_update; /* will be set to 1 if result or is_pressed has been updated */ -}; - -struct tp_struct -{ - struct tpd_struct x; - struct tpd_struct y; - uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */ - uint8_t is_update; -}; - -struct tp_struct tp; - -/* map raw value to 0...range (result) */ -void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw) -{ - uint8_t is_pressed; - uint16_t p; - uint8_t start, end; - - d->raw = raw; - - start = d->start; - end = d->end; - - /* check if position is within active area; store result in "is_pressed" */ - is_pressed = 1; - if ( raw < start ) - { - d->result = 0; - is_pressed = 0; - } - if ( raw >= end ) - { - d->result = d->range; - is_pressed = 0; - } - - /* store "is_pressed" in the global structure, set update flag */ - if ( d->is_pressed != is_pressed ) - d->is_update = 1; - d->is_pressed = is_pressed; - - /* map "raw" value into target range */ - if ( is_pressed != 0 ) - { - p = raw; - p -= start; - p *= d->range; - end -= start; - p /= end; - - if ( d->result != p ) - d->is_update = 1; - d->result = p; - } -} - -void tp_Init(uint8_t width, uint8_t height) -{ - tp.x.start = X_START; - tp.x.end = X_END; - tp.x.range = width-1; - - tp.y.start = Y_START; - tp.y.end = Y_END; - tp.y.range = height-1; - - tp.is_update = 1; -} - -void setTouchRawValues(uint8_t x, uint8_t y) -{ - tpd_map_touch_position(&(tp.x), x); - tpd_map_touch_position(&(tp.y), y); - - tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed; - if ( tp.x.is_update || tp.y.is_update ) - tp.is_update = 1; -} - - -uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin) -{ - uint8_t val; - pinMode(dcPin, INPUT); - pinMode(sensePin, INPUT_PULLUP); - pinMode(hiPin, OUTPUT); - pinMode(lowPin, OUTPUT); - - digitalWrite(hiPin, HIGH); - digitalWrite(lowPin, LOW); - delay(10); - val = analogRead(sensePin) >> 2; - pinMode(hiPin, INPUT); - pinMode(lowPin, INPUT); - delay(10); - return val; -} - -void updateTouchPanel(void) -{ - uint8_t tp_raw_x; - uint8_t tp_raw_y; - - tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top); - tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right); - - setTouchRawValues(tp_raw_x, tp_raw_y); -} - -//================================================================ -// graphics output and picture loop - -void center(u8g_uint_t y, const char *str) -{ - u8g_uint_t x; - x = u8g.getWidth(); - x -= u8g.getStrWidth(str); - x /= 2; - u8g.drawStr(x, y, str); -} - - -void draw(void) { - u8g.setFont(u8g_font_6x10); - center( 10, "Touch Panel Test"); - if ( tp.is_pressed != 0 ) - { - u8g.setPrintPos(0, 20); u8g.print("x=");u8g.print((int)tp.x.result); - u8g.setPrintPos(0, 30); u8g.print("y=");u8g.print((int)(u8g.getHeight()-tp.y.result-1)); - //u8g.setPrintPos(0, 40); u8g.print("x: ");u8g.print((int)tp.x.start);u8g.print("..");u8g.print((int)tp.x.end); - //u8g.setPrintPos(0, 50); u8g.print("y: ");u8g.print((int)tp.y.start);u8g.print("..");u8g.print((int)tp.y.end); - } -} - -void setup(void) { - - // flip screen, if required - // u8g.setRot180(); - u8g.setCursorFont(u8g_font_cursor); - u8g.setCursorStyle(32); - - tp_Init(u8g.getWidth(), u8g.getHeight()); -} - -void loop(void) { - - // update touch panel and handle return values - updateTouchPanel(); - - if ( tp.is_pressed != 0 ) - u8g.enableCursor(); - else - u8g.disableCursor(); - - u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1); - - // picture loop - if ( tp.is_update != 0 ) { - tp.is_update = 0; - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - } - -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.ino deleted file mode 100644 index 151542dcf..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/U8gLogo/U8gLogo.ino +++ /dev/null @@ -1,230 +0,0 @@ -/* - - U8gLogo.pde - - Put the U8GLIB logo on the display. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -//#define MINI_LOGO - -void drawColorBox(void) -{ - u8g_uint_t w,h; - u8g_uint_t r, g, b; - - w = u8g.getWidth()/32; - h = u8g.getHeight()/8; - for( b = 0; b < 4; b++ ) - for( g = 0; g < 8; g++ ) - for( r = 0; r < 8; r++ ) - { - u8g.setColorIndex((r<<5) | (g<<2) | b ); - u8g.drawBox(g*w + b*w*8, r*h, w, h); - } -} - -void drawLogo(uint8_t d) -{ -#ifdef MINI_LOGO - u8g.setFont(u8g_font_gdr17r); - u8g.drawStr(0+d, 22+d, "U"); - u8g.setFont(u8g_font_gdr20n); - u8g.drawStr90(17+d,8+d,"8"); - u8g.setFont(u8g_font_gdr17r); - u8g.drawStr(39+d,22+d,"g"); - - u8g.drawHLine(2+d, 25+d, 34); - u8g.drawVLine(32+d, 22+d, 12); -#else - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(0+d, 30+d, "U"); - u8g.setFont(u8g_font_gdr30n); - u8g.drawStr90(23+d,10+d,"8"); - u8g.setFont(u8g_font_gdr25r); - u8g.drawStr(53+d,30+d,"g"); - - u8g.drawHLine(2+d, 35+d, 47); - u8g.drawVLine(45+d, 32+d, 12); -#endif -} - -void drawURL(void) -{ -#ifndef MINI_LOGO - u8g.setFont(u8g_font_4x6); - if ( u8g.getHeight() < 59 ) - { - u8g.drawStr(53,9,"code.google.com"); - u8g.drawStr(77,18,"/p/u8glib"); - } - else - { - u8g.drawStr(1,54,"code.google.com/p/u8glib"); - } -#endif -} - - -void draw(void) { - if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { - drawColorBox(); - } - u8g.setColorIndex(1); - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g.getMode()) > 1 ) { - drawLogo(2); - u8g.setColorIndex(2); - drawLogo(1); - u8g.setColorIndex(3); - } - drawLogo(0); - drawURL(); - -} - -void setup(void) { - // flip screen, if required - //u8g.setRot180(); -} - -void loop(void) { - - // picture loop - u8g.firstPage(); - do { - draw(); - u8g.setColorIndex(1); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(200); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.ino deleted file mode 100644 index 65b183187..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/examples/XBM/XBM.ino +++ /dev/null @@ -1,172 +0,0 @@ -/* - - XBM.pde - - drawXBM example code. - - >>> Before compiling: Please remove comment from the constructor of the - >>> connected graphics display (see below). - - Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "U8glib.h" - -// setup u8g object, please remove comment from one of the following constructor calls -// IMPORTANT NOTE: The following list is incomplete. The complete list of supported -// devices with all constructor calls is here: http://code.google.com/p/u8glib/wiki/device -//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 -//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI -//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 -//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 -//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 -//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 -//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 -//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 -//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 -//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) -//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI -//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI -//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK -//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C -//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 -//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) -//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) -//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 -//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 -//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 -//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) -//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) -//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) - -#define u8g_logo_width 38 -#define u8g_logo_height 24 -//static unsigned char u8g_logo_bits[] = { -static unsigned char u8g_logo_bits[] U8G_PROGMEM = { - 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xe0, 0xe0, - 0xff, 0xff, 0x3f, 0xe3, 0xe1, 0xff, 0xff, 0x3f, 0xf3, 0xf1, 0xff, 0xff, - 0x3f, 0xf3, 0xf1, 0xfe, 0xbf, 0x37, 0xf3, 0x11, 0x1c, 0x1f, 0x30, 0xf3, - 0x01, 0x08, 0x8c, 0x20, 0xf3, 0x01, 0x00, 0xc0, 0x39, 0xf3, 0x81, 0xc7, - 0xc1, 0x39, 0xf3, 0xc1, 0xc7, 0xc9, 0x38, 0xf3, 0xc1, 0xc3, 0x19, 0x3c, - 0xe3, 0x89, 0x01, 0x98, 0x3f, 0xc7, 0x18, 0x00, 0x08, 0x3e, 0x0f, 0x3c, - 0x70, 0x1c, 0x30, 0x3f, 0xff, 0xfc, 0x87, 0x31, 0xff, 0xff, 0xbf, 0xc7, - 0x23, 0x01, 0x00, 0x00, 0xc6, 0x23, 0x03, 0x00, 0x00, 0x0e, 0x30, 0xff, - 0xff, 0x3f, 0x1f, 0x3c, 0xff, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0xff, 0x3f, - 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f }; - -void draw(void) { - // graphic commands to redraw the complete screen should be placed here - u8g.drawXBMP( 0, 0, u8g_logo_width, u8g_logo_height, u8g_logo_bits); -} - -void setup(void) { - // flip screen, if required - // u8g.setRot180(); -} - -void loop(void) { - // picture loop - u8g.firstPage(); - do { - draw(); - } while( u8g.nextPage() ); - - // rebuild the picture after some delay - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt deleted file mode 100644 index f1a9615c7..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/license.txt +++ /dev/null @@ -1,81 +0,0 @@ - -The U8glib code (http://code.google.com/p/u8glib/) is licensed under the terms of -the new-bsd license (two-clause bsd license). -See also: http://www.opensource.org/licenses/bsd-license.php - -The repository and optionally the releases contain icons, which are -derived from the WPZOOM Developer Icon Set: -http://www.wpzoom.com/wpzoom/new-freebie-wpzoom-developer-icon-set-154-free-icons/ -WPZOOM Developer Icon Set by WPZOOM is licensed under a Creative Commons -Attribution-ShareAlike 3.0 Unported License. - -Fonts are licensed under different conditions. -See http://code.google.com/p/u8glib/wiki/fontgroup for -detailed information on the licensing conditions for each font. - -============ X11 Fonts COUR, HELV, NCEN, TIM, SYMB ============ - -For fonts derived from the following files, the license below applies. -COURB08.BDF COURB10.BDF COURB12.BDF COURB14.BDF COURB18.BDF -COURB24.BDF COURR08.BDF COURR10.BDF COURR12.BDF COURR14.BDF -COURR18.BDF COURR24.BDF HELVB08.BDF HELVB10.BDF HELVB12.BDF HELVB14.BDF -HELVB18.BDF HELVB24.BDF HELVR08.BDF HELVR10.BDF HELVR12.BDF HELVR14.BDF -HELVR18.BDF HELVR24.BDF NCENB08.BDF NCENB10.BDF NCENB12.BDF -NCENB14.BDF NCENB18.BDF NCENB24.BDF NCENR08.BDF NCENR10.BDF -NCENR12.BDF NCENR14.BDF NCENR18.BDF NCENR24.BDF SYMB08.BDF SYMB10.BDF -SYMB12.BDF SYMB14.BDF SYMB18.BDF SYMB24.BDF TIMB08.BDF TIMB10.BDF -TIMB12.BDF TIMB14.BDF TIMB18.BDF TIMB24.BDF TIMR08.BDF TIMR10.BDF -TIMR12.BDF TIMR14.BDF TIMR18.BDF TIMR24.BDF - -Copyright 1984-1989, 1994 Adobe Systems Incorporated. -Copyright 1988, 1994 Digital Equipment Corporation. - -Adobe is a trademark of Adobe Systems Incorporated which may be -registered in certain jurisdictions. -Permission to use these trademarks is hereby granted only in -association with the images described in this file. - -Permission to use, copy, modify, distribute and sell this software -and its documentation for any purpose and without fee is hereby -granted, provided that the above copyright notices appear in all -copies and that both those copyright notices and this permission -notice appear in supporting documentation, and that the names of -Adobe Systems and Digital Equipment Corporation not be used in -advertising or publicity pertaining to distribution of the software -without specific, written prior permission. Adobe Systems and -Digital Equipment Corporation make no representations about the -suitability of this software for any purpose. It is provided "as -is" without express or implied warranty. - - -============ BSD License for U8glib Code ============ - -Universal 8bit Graphics Library (http://code.google.com/p/u8glib/) - -Copyright (c) 2011, olikraus@gmail.com -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c deleted file mode 100644 index f86bf0687..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/chessengine.c +++ /dev/null @@ -1,2392 +0,0 @@ -/* - chessengine.c - - "Little Rook Chess" (lrc) - - Port to u8g library - - chess for embedded 8-Bit controllers - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Note: - UNIX_MAIN --> unix console executable - - Current Rule Limitation - - no minor promotion, only "Queening" of the pawn - - threefold repetition is not detected (same board situation appears three times) - Note: Could be implemented, but requires tracking of the complete game - - Fifty-move rule is not checked (no pawn move, no capture within last 50 moves) - - Words - Ply a half move - - General Links - http://chessprogramming.wikispaces.com/ - - Arduino specific - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1260055596 - - Prefixes - chess_ Generic Chess Application Interface - ce_ Chess engine, used internally, these function should not be called directly - cu_ Chess utility function - stack_ Internal function for stack handling - - Issues - 10.01.2011 - - castling to the right does not move the rook - --> done - - castling to the left: King can only move two squares - --> done - - 11.01.2011 - Next Steps: - - replace stack_NextCurrentPos with cu_NextPos, cleanup code according to the loop variable - --> done - - Castling: Need to check for fields under attack - --> done - - - Check for WIN / LOOSE situation, perhaps call ce_Eval() once on the top-level board setup - just after the real move - - cleanup cu_Move - --> almost done - - add some heuristics to the eval procedure - - add right side menu - --> done - - clean up chess_ManualMove - --> done - - finish menu (consider is_game_end, undo move) - - end condition: if KING is under attack and if KING can not move to a field which is under attack... - then the game is lost. What will be returned by the Eval procedure? is it -INF? - --> finished - - - reduce the use of variable color, all should be reduced to board_orientation and ply&1 - - - chess_GetNextMarked shoud make use of cu_NextPos - --> done - - chess_ManualMove: again cleanup, solve draw issue (KING is not in check and no legal moves are available) - --> done - 22.01.2011 - - simplify eval_t ce_Eval(void) - - position eval does not work, still moves side pawn :-( - maybe because all pieces are considered - --> done - -*/ - -#include "u8g.h" - -//#ifndef __unix__ -//#else -//#include -//#define U8G_NOINLINE -//#endif - -/* -SAN identifies each piece by a single upper case letter. The standard English -values: pawn = "P", knight = "N", bishop = "B", rook = "R", queen = "Q", and -king = "K". -*/ - -/* numbers for the various pieces */ -#define PIECE_NONE 0 -#define PIECE_PAWN 1 -#define PIECE_KNIGHT 2 -#define PIECE_BISHOP 3 -#define PIECE_ROOK 4 -#define PIECE_QUEEN 5 -#define PIECE_KING 6 - -/* color definitions */ -#define COLOR_WHITE 0 -#define COLOR_BLACK 1 - -/* a mask, which includes COLOR and PIECE number */ -#define COLOR_PIECE_MASK 0x01f - -#define CP_MARK_MASK 0x20 - -#define ILLEGAL_POSITION 255 - -/* This is the build in upper limit of the search stack */ -/* This value defines the amount of memory allocated for the search stack */ -/* The search depth of this chess engine can never exceed this value */ -#define STACK_MAX_SIZE 5 - -/* chess half move stack: twice the number of undo's, a user can do */ -#define CHM_USER_SIZE 6 - -/* the CHM_LIST_SIZE must be larger than the maximum search depth */ -/* the overall size of ste half move stack */ -#define CHM_LIST_SIZE (STACK_MAX_SIZE+CHM_USER_SIZE+2) - -typedef int16_t eval_t; /* a variable type to store results from the evaluation */ -//#define EVAL_T_LOST -32768 -#define EVAL_T_MIN -32767 -#define EVAL_T_MAX 32767 -//#define EVAL_T_WIN 32767 - -/* for maintainance of our own stack: this is the definition of one element on the stack */ -struct _stack_element_struct -{ - /* the current source position which is investigated */ - uint8_t current_pos; - uint8_t current_cp; - uint8_t current_color; /* COLOR_WHITE or COLOR_BLACK: must be predefines */ - - /* the move which belongs to that value, both values are game positions */ - uint8_t best_from_pos; - uint8_t best_to_pos; - /* the best value, which has been dicovered so far */ - eval_t best_eval; -}; -typedef struct _stack_element_struct stack_element_t; -typedef struct _stack_element_struct *stack_element_p; - -/* chess half move history */ -struct _chm_struct -{ - uint8_t main_cp; /* the main piece, which is moved */ - uint8_t main_src; /* the source position of the main piece */ - uint8_t main_dest; /* the destination of the main piece */ - - uint8_t other_cp; /* another piece: the captured one, the ROOK in case of castling or PIECE_NONE */ - uint8_t other_src; /* the delete position of other_cp. Often identical to main_dest except for e.p. and castling */ - uint8_t other_dest; /* only used for castling: ROOK destination pos */ - - /* the position of the last pawn, which did a double move forward */ - /* this is required to check en passant conditions */ - /* this array can be indexed by the color of the current player */ - /* this is the condition BEFORE the move was done */ - uint8_t pawn_dbl_move[2]; - - /* flags for the movement of rook and king; required for castling */ - /* a 1 means: castling is (still) possible */ - /* a 0 means: castling not possible */ - /* bit 0 left side white */ - /* bit 1 right side white */ - /* bit 2 left side black */ - /* bit 3 right side black */ - /* this is the condition BEFORE the move was done */ - uint8_t castling_possible; -}; - -typedef struct _chm_struct chm_t; -typedef struct _chm_struct *chm_p; - -/* little rook chess, main structure */ -struct _lrc_struct -{ - /* half-move (ply) counter: Counts the number of half-moves so far. Starts with 0 */ - /* the lowest bit is used to derive the color of the current player */ - /* will be set to zero in chess_SetupBoard() */ - uint8_t ply_count; - - /* the half move stack position counter, counts the number of elements in chm_list */ - uint8_t chm_pos; - - /* each element contains a colored piece, empty fields have value 0 */ - /* the field with index 0 is black (lower left) */ - uint8_t board[64]; - /* the position of the last pawn, which did a double move forward */ - /* this is required to check en passant conditions */ - /* this array can be indexed by the color of the current player */ - uint8_t pawn_dbl_move[2]; - - /* flags for the movement of rook and king; required for castling */ - /* a 1 means: castling is (still) possible */ - /* a 0 means: castling not possible */ - /* bit 0 left side white */ - /* bit 1 right side white */ - /* bit 2 left side black */ - /* bit 3 right side black */ - uint8_t castling_possible; - - /* board orientation */ - /* 0: white is below COLOR_WHITE */ - /* 1: black is below COLOR_BLACK */ - /* bascially, this can be used as a color */ - uint8_t orientation; - - /* exchange colors of the pieces */ - /* 0: white has an empty body, use this for bright background color */ - /* 1: black has an empty body, use this for dark backround color */ - uint8_t strike_out_color; - - /* 0, when the game is ongoing */ - /* 1, when the game is stopped (lost or draw) */ - uint8_t is_game_end; - /* the color of the side which lost the game */ - /* this value is only valid, when is_game_end is not 0 */ - /* values 0 and 1 represent WHITE and BLACK, 2 means a draw */ - uint8_t lost_side_color; - - - - /* checks are executed in ce_LoopRecur */ - /* these checks will put some marks on the board */ - /* this will be used by the interface to find out */ - /* legal moves */ - uint8_t check_src_pos; - uint8_t check_mode; /* CHECK_MODE_NONE, CHECK_MODE_MOVEABLE, CHECK_MODE_TARGET_MOVE */ - - - /* count of the attacking pieces, indexed by color */ - uint8_t find_piece_cnt[2]; - - /* sum of the attacking pieces, indexed by color */ - uint8_t find_piece_weight[2]; - - /* points to the current element of the search stack */ - /* this stack is NEVER empty. The value 0 points to the first element of the stack */ - /* actually "curr_depth" represent half-moves (plies) */ - uint8_t curr_depth; - uint8_t max_depth; - stack_element_p curr_element; - - /* allocated memory for the search stack */ - stack_element_t stack_memory[STACK_MAX_SIZE]; - - /* the half move stack, used for move undo and depth search, size is stored in chm_pos */ - chm_t chm_list[CHM_LIST_SIZE]; -}; -typedef struct _lrc_struct lrc_t; - -#define CHECK_MODE_NONE 0 -#define CHECK_MODE_MOVEABLE 1 -#define CHECK_MODE_TARGET_MOVE 2 - - - -/*==============================================================*/ -/* global variables */ -/*==============================================================*/ - -u8g_t *lrc_u8g; - -lrc_t lrc_obj; - - -/*==============================================================*/ -/* forward declarations */ -/*==============================================================*/ - -/* - apply no inline to some of the functions: - avr-gcc very often inlines functions, however not inline saves a lot of program memory! - On the other hand there are some really short procedures which should be inlined (like cp_GetColor) - These procedures are marked static to prevent the generation of the expanded procedure, which - also saves space. -*/ - -uint8_t stack_Push(uint8_t color) U8G_NOINLINE; -void stack_Pop(void) U8G_NOINLINE; -void stack_InitCurrElement(void) U8G_NOINLINE; -void stack_Init(uint8_t max) U8G_NOINLINE; -void stack_SetMove(eval_t val, uint8_t to_pos) U8G_NOINLINE; -uint8_t cu_NextPos(uint8_t pos) U8G_NOINLINE; -static uint8_t cu_gpos2bpos(uint8_t gpos); -static uint8_t cp_Construct(uint8_t color, uint8_t piece); -static uint8_t cp_GetPiece(uint8_t cp); -static uint8_t cp_GetColor(uint8_t cp); -uint8_t cp_GetFromBoard(uint8_t pos) U8G_NOINLINE; -void cp_SetOnBoard(uint8_t pos, uint8_t cp) U8G_NOINLINE; - -void cu_ClearBoard(void) U8G_NOINLINE; -void chess_SetupBoard(void) U8G_NOINLINE; -eval_t ce_Eval(void); - -void cu_ClearMoveHistory(void) U8G_NOINLINE; -void cu_ReduceHistoryByFullMove(void) U8G_NOINLINE; -void cu_UndoHalfMove(void) U8G_NOINLINE; -chm_p cu_PushHalfMove(void) U8G_NOINLINE; - - -void ce_CalculatePositionWeight(uint8_t pos); -uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color); - -void chess_Thinking(void); -void ce_LoopPieces(void); - - -/*==============================================================*/ -/* search stack */ -/*==============================================================*/ - -/* get current element from stack */ -stack_element_p stack_GetCurrElement(void) -{ - return lrc_obj.curr_element; -} - -uint8_t stack_Push(uint8_t color) -{ - if ( lrc_obj.curr_depth == lrc_obj.max_depth ) - return 0; - lrc_obj.curr_depth++; - lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; - - /* change view for the evaluation */ - color ^= 1; - stack_GetCurrElement()->current_color = color; - - return 1; -} - -void stack_Pop(void) -{ - lrc_obj.curr_depth--; - lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; -} - -/* reset the current element on the stack */ -void stack_InitCurrElement(void) -{ - stack_element_p e = stack_GetCurrElement(); - e->best_eval = EVAL_T_MIN; - e->best_from_pos = ILLEGAL_POSITION; - e->best_to_pos = ILLEGAL_POSITION; -} - -/* resets the search stack (and the check mode) */ -void stack_Init(uint8_t max) -{ - lrc_obj.curr_depth = 0; - lrc_obj.curr_element = lrc_obj.stack_memory; - lrc_obj.max_depth = max; - lrc_obj.check_mode = CHECK_MODE_NONE; - stack_InitCurrElement(); - stack_GetCurrElement()->current_color = lrc_obj.ply_count; - stack_GetCurrElement()->current_color &= 1; -} - -/* assign evaluation value and store the move, if this is the best move */ -/* assumes, that current_pos contains the source position */ -void stack_SetMove(eval_t val, uint8_t to_pos) -{ - stack_element_p e = stack_GetCurrElement(); - if ( e->best_eval < val ) - { - e->best_eval = val; - e->best_from_pos = e->current_pos; - e->best_to_pos = to_pos; - } -} - -/* - calculate next position on a 0x88 board - loop is constructed in this way: - i = 0; - do - { - ... - i = cu_NextPos(i); - } while( i != 0 ); - - next pos might be started with an illegal position like 255 -*/ -uint8_t cu_NextPos(uint8_t pos) -{ - /* calculate next gpos */ - pos++; - if ( ( pos & 0x08 ) != 0 ) - { - pos+= 0x10; - pos&= 0xf0; - } - if ( ( pos & 0x80 ) != 0 ) - pos = 0; - return pos; -} - -uint8_t cu_PrevPos(uint8_t pos) -{ - /* calculate prev gpos */ - pos--; - if ( ( pos & 0x80 ) != 0 ) - pos = 0x077; - else if ( ( pos & 0x08 ) != 0 ) - { - pos &= 0xf0; - pos |= 0x07; - } - return pos; -} - - -/*==============================================================*/ -/* position transltion */ -/*==============================================================*/ -/* - there are two positions - 1. game position (gpos): BCD encoded x-y values - 2. board position (bpos): a number between 0 and 63, only used to access the board. -*/ -/* - gpos: game position value - returns: board position - note: does not do any checks -*/ -static uint8_t cu_gpos2bpos(uint8_t gpos) -{ - uint8_t bpos = gpos; - bpos &= 0xf0; - bpos >>= 1; - gpos &= 0x0f; - bpos |= gpos; - return bpos; -} - -#define gpos_IsIllegal(gpos) ((gpos) & 0x088) - - -/*==============================================================*/ -/* colored piece handling */ -/*==============================================================*/ - -#define cp_IsMarked(cp) ((cp) & CP_MARK_MASK) - - -/* - piece: one of PIECE_xxx - color: COLOR_WHITE or COLOR_BLACK - - returns: A colored piece -*/ -static uint8_t cp_Construct(uint8_t color, uint8_t piece) -{ - color <<= 4; - color |= piece; - return color; -} - -/* inline is better than a macro */ -static uint8_t cp_GetPiece(uint8_t cp) -{ - cp &= 0x0f; - return cp; -} - -/* - we could use a macro: - #define cp_GetColor(cp) (((cp) >> 4)&1) - however, inlined functions are sometimes much better -*/ -static uint8_t cp_GetColor(uint8_t cp) -{ - cp >>= 4; - cp &= 1; - return cp; -} - -/* - pos: game position - returns the colored piece at the given position -*/ -uint8_t cp_GetFromBoard(uint8_t pos) -{ - return lrc_obj.board[cu_gpos2bpos(pos)]; -} - -/* - pos: game position - cp: colored piece -*/ -void cp_SetOnBoard(uint8_t pos, uint8_t cp) -{ - /*printf("cp_SetOnBoard gpos:%02x cp:%02x\n", pos, cp);*/ - lrc_obj.board[cu_gpos2bpos(pos)] = cp; -} - -/*==============================================================*/ -/* global board access */ -/*==============================================================*/ - -void cu_ClearBoard(void) -{ - uint8_t i; - /* clear the board */ - for( i = 0; i < 64; i++ ) - lrc_obj.board[i] = PIECE_NONE; - - lrc_obj.ply_count = 0; - lrc_obj.orientation = COLOR_WHITE; - - lrc_obj.pawn_dbl_move[0] = ILLEGAL_POSITION; - lrc_obj.pawn_dbl_move[1] = ILLEGAL_POSITION; - - lrc_obj.castling_possible = 0x0f; - - lrc_obj.is_game_end = 0; - lrc_obj.lost_side_color = 0; - - /* clear half move history */ - cu_ClearMoveHistory(); - -} - -/* - test setup - white wins in one move -*/ -void chess_SetupBoardTest01(void) -{ - cu_ClearBoard(); - lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); - lrc_obj.board[7+5*8] = cp_Construct(COLOR_WHITE, PIECE_PAWN); - lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_KING); - lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); -} - -/* setup the global board */ -void chess_SetupBoard(void) -{ - uint8_t i; - register uint8_t bp, wp; - - /* clear the board */ - cu_ClearBoard(); - - /* precronstruct pawns */ - wp = cp_Construct(COLOR_WHITE, PIECE_PAWN); - bp = cp_Construct(COLOR_BLACK, PIECE_PAWN); - - /* setup pawn */ - for( i = 0; i < 8; i++ ) - { - lrc_obj.board[i+8] = wp; - lrc_obj.board[i+6*8] = bp; - } - - /* assign remaining pieces */ - - lrc_obj.board[0] = cp_Construct(COLOR_WHITE, PIECE_ROOK); - lrc_obj.board[1] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); - lrc_obj.board[2] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); - lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); - lrc_obj.board[4] = cp_Construct(COLOR_WHITE, PIECE_KING); - lrc_obj.board[5] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); - lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); - lrc_obj.board[7] = cp_Construct(COLOR_WHITE, PIECE_ROOK); - - lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - lrc_obj.board[1+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); - lrc_obj.board[2+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); - lrc_obj.board[3+7*8] = cp_Construct(COLOR_BLACK, PIECE_QUEEN); - lrc_obj.board[4+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); - lrc_obj.board[5+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); - lrc_obj.board[6+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); - lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); - - //chess_SetupBoardTest01(); - -} - - - -/*==============================================================*/ -/* checks */ -/*==============================================================*/ - -/* - checks if the position is somehow illegal -*/ -uint8_t cu_IsIllegalPosition(uint8_t pos, uint8_t my_color) -{ - uint8_t board_cp; - /* check, if the position is offboard */ - if ( gpos_IsIllegal(pos) != 0 ) - return 1; - /* get the piece from the board */ - board_cp = cp_GetFromBoard(pos); - /* check if hit our own pieces */ - if ( board_cp != 0 ) - if ( cp_GetColor(board_cp) == my_color ) - return 1; - /* all ok, we could go to this position */ - return 0; -} - -/*==============================================================*/ -/* evaluation procedure */ -/*==============================================================*/ - -/* - basic idea is to return a value between EVAL_T_MIN and EVAL_T_MAX -*/ - -/* - the weight table uses the PIECE number as index: - #define PIECE_NONE 0 - #define PIECE_PAWN 1 - #define PIECE_KNIGHT 2 - #define PIECE_BISHOP 3 - #define PIECE_ROOK 4 - #define PIECE_QUEEN 5 - #define PIECE_KING 6 - the king itself is not counted -*/ -uint8_t ce_piece_weight[] = { 0, 1, 3, 3, 5, 9, 0 }; -uint8_t ce_pos_weight[] = { 0, 1, 1, 2, 2, 1, 1, 0}; -/* - evaluate the current situation on the global board -*/ -eval_t ce_Eval(void) -{ - uint8_t cp; - uint8_t is_my_king_present = 0; - uint8_t is_opposit_king_present = 0; - eval_t material_my_color = 0; - eval_t material_opposit_color = 0; - eval_t position_my_color = 0; - eval_t position_opposit_color = 0; - eval_t result; - uint8_t pos; - - pos = 0; - do - { - /* get colored piece from the board */ - cp = cp_GetFromBoard(pos); - - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - if ( stack_GetCurrElement()->current_color == cp_GetColor(cp) ) - { - /* this is our color */ - /* check if we found our king */ - if ( cp_GetPiece(cp) == PIECE_KING ) - is_my_king_present = 1; - material_my_color += ce_piece_weight[cp_GetPiece(cp)]; - if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) - { - position_my_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; - } - } - else - { - /* this is the opposit color */ - if ( cp_GetPiece(cp) == PIECE_KING ) - is_opposit_king_present = 1; - material_opposit_color += ce_piece_weight[cp_GetPiece(cp)]; - if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) - { - position_opposit_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; - } - } - } - pos = cu_NextPos(pos); - } while( pos != 0 ); - - - /* decide if we lost or won the game */ - if ( is_my_king_present == 0 ) - return EVAL_T_MIN; /*_LOST*/ - if ( is_opposit_king_present == 0 ) - return EVAL_T_MAX; /*_WIN*/ - - /* here is the evaluation function */ - - result = material_my_color - material_opposit_color; - result <<= 3; - result += position_my_color - position_opposit_color; - return result; -} - -/*==============================================================*/ -/* move backup and restore */ -/*==============================================================*/ - - -/* this procedure must be called to keep the size as low as possible */ -/* if the chm_list is large enough, it could hold the complete history */ -/* but for an embedded controler... it is deleted for every engine search */ -void cu_ClearMoveHistory(void) -{ - lrc_obj.chm_pos = 0; -} - -void cu_ReduceHistoryByFullMove(void) -{ - uint8_t i; - while( lrc_obj.chm_pos > CHM_USER_SIZE ) - { - i = 0; - for(;;) - { - if ( i+2 >= lrc_obj.chm_pos ) - break; - lrc_obj.chm_list[i] = lrc_obj.chm_list[i+2]; - i++; - } - lrc_obj.chm_pos -= 2; - } -} - -void cu_UndoHalfMove(void) -{ - chm_p chm; - - if ( lrc_obj.chm_pos == 0 ) - return; - - lrc_obj.chm_pos--; - - chm = lrc_obj.chm_list+lrc_obj.chm_pos; - - lrc_obj.pawn_dbl_move[0] = chm->pawn_dbl_move[0]; - lrc_obj.pawn_dbl_move[1] = chm->pawn_dbl_move[1]; - lrc_obj.castling_possible = chm->castling_possible; - - cp_SetOnBoard(chm->main_src, chm->main_cp); - cp_SetOnBoard(chm->main_dest, PIECE_NONE); - - if ( chm->other_src != ILLEGAL_POSITION ) - cp_SetOnBoard(chm->other_src, chm->other_cp); - if ( chm->other_dest != ILLEGAL_POSITION ) - cp_SetOnBoard(chm->other_dest, PIECE_NONE); - -} - -/* - assumes, that the following members of the returned chm structure are filled - uint8_t main_cp; the main piece, which is moved - uint8_t main_src; the source position of the main piece - uint8_t main_dest; the destination of the main piece - - uint8_t other_cp; another piece: the captured one, the ROOK in case of castling or PIECE_NONE - uint8_t other_src; the delete position of other_cp. Often identical to main_dest except for e.p. and castling - uint8_t other_dest; only used for castling: ROOK destination pos - -*/ -chm_p cu_PushHalfMove(void) -{ - chm_p chm; - - chm = lrc_obj.chm_list+lrc_obj.chm_pos; - if ( lrc_obj.chm_pos < CHM_LIST_SIZE-1) - lrc_obj.chm_pos++; - - chm->pawn_dbl_move[0] = lrc_obj.pawn_dbl_move[0]; - chm->pawn_dbl_move[1] = lrc_obj.pawn_dbl_move[1]; - chm->castling_possible = lrc_obj.castling_possible; - return chm; -} - - -char chess_piece_to_char[] = "NBRQK"; - -/* - simple moves on empty field: Ka1-b2 - capture moves: Ka1xb2 - castling: 0-0 or 0-0-0 -*/ - -static void cu_add_pos(char *s, uint8_t pos) U8G_NOINLINE; - -static void cu_add_pos(char *s, uint8_t pos) -{ - *s = pos; - *s >>= 4; - *s += 'a'; - s++; - *s = pos; - *s &= 15; - *s += '1'; -} - -const char *cu_GetHalfMoveStr(uint8_t idx) -{ - chm_p chm; - static char buf[7]; /*Ka1-b2*/ - char *p = buf; - chm = lrc_obj.chm_list+idx; - - if ( cp_GetPiece(chm->main_cp) != PIECE_NONE ) - { - if ( cp_GetPiece(chm->main_cp) > PIECE_PAWN ) - { - *p++ = chess_piece_to_char[cp_GetPiece(chm->main_cp)-2]; - } - cu_add_pos(p, chm->main_src); - p+=2; - if ( cp_GetPiece(chm->other_cp) == PIECE_NONE ) - *p++ = '-'; - else - *p++ = 'x'; - cu_add_pos(p, chm->main_dest); - p+=2; - } - *p = '\0'; - return buf; -} - - - - - -/*==============================================================*/ -/* move */ -/*==============================================================*/ - -/* - Move a piece from source position to a destination on the board - This function - - does not perform any checking - - however it processes "en passant" and casteling - - backup the move and allow 1x undo - - 2011-02-05: - - fill pawn_dbl_move[] for double pawn moves - --> done - - Implement casteling - --> done - - en passant - --> done - - pawn conversion/promotion - --> done - - half-move backup - --> done - - cleanup everything, minimize variables - --> done -*/ - -void cu_Move(uint8_t src, uint8_t dest) -{ - /* start backup structure */ - chm_p chm = cu_PushHalfMove(); - - /* these are the values from the board at the positions, provided as arguments to this function */ - uint8_t cp_src, cp_dest; - - /* Maybe a second position is cleared and one additional location is set */ - uint8_t clr_pos2; - uint8_t set_pos2; - uint8_t set_cp2; - - /* get values from board */ - cp_src = cp_GetFromBoard(src); - cp_dest = cp_GetFromBoard(dest); - - /* fill backup structure */ - - chm->main_cp = cp_src; - chm->main_src = src; - chm->main_dest = dest; - - chm->other_cp = cp_dest; /* prepace capture backup */ - chm->other_src = dest; - chm->other_dest = ILLEGAL_POSITION; - - /* setup results as far as possible with some suitable values */ - - clr_pos2 = ILLEGAL_POSITION; /* for en passant and castling, two positions might be cleared */ - set_pos2 = ILLEGAL_POSITION; /* only used for castling */ - set_cp2 = PIECE_NONE; /* ROOK for castling */ - - /* check for PAWN */ - if ( cp_GetPiece(cp_src) == PIECE_PAWN ) - { - - /* double step: is the distance 2 rows */ - if ( (src - dest == 32) || ( dest - src == 32 ) ) - { - /* remember the destination position */ - lrc_obj.pawn_dbl_move[cp_GetColor(cp_src)] = dest; - } - - /* check if the PAWN is able to promote */ - else if ( (dest>>4) == 0 || (dest>>4) == 7 ) - { - /* do simple "queening" */ - cp_src &= ~PIECE_PAWN; - cp_src |= PIECE_QUEEN; - } - - /* is it en passant capture? */ - /* check for side move */ - else if ( ((src + dest) & 1) != 0 ) - { - /* check, if target field is empty */ - if ( cp_GetPiece(cp_dest) == PIECE_NONE ) - { - /* this is en passant */ - /* no further checking required, because legal moves are assumed here */ - /* however... the captured pawn position must be valid */ - clr_pos2 = lrc_obj.pawn_dbl_move[cp_GetColor(cp_src) ^ 1]; - chm->other_src = clr_pos2; - chm->other_cp = cp_GetFromBoard(clr_pos2); - } - } - } - - /* check for the KING */ - else if ( cp_GetPiece(cp_src) == PIECE_KING ) - { - /* disallow castling, if the KING has moved */ - if ( cp_GetColor(cp_src) == COLOR_WHITE ) - { - /* if white KING has moved, disallow castling for white */ - lrc_obj.castling_possible &= 0x0c; - } - else - { - /* if black KING has moved, disallow castling for black */ - lrc_obj.castling_possible &= 0x03; - } - - /* has it been castling to the left? */ - if ( src - dest == 2 ) - { - /* let the ROOK move to pos2 */ - set_pos2 = src-1; - set_cp2 = cp_GetFromBoard(src-4); - - /* the ROOK must be cleared from the original position */ - clr_pos2 = src-4; - - chm->other_cp = set_cp2; - chm->other_src = clr_pos2; - chm->other_dest = set_pos2; - } - - /* has it been castling to the right? */ - else if ( dest - src == 2 ) - { - /* let the ROOK move to pos2 */ - set_pos2 = src+1; - set_cp2 = cp_GetFromBoard(src+3); - - /* the ROOK must be cleared from the original position */ - clr_pos2 = src+3; - - chm->other_cp = set_cp2; - chm->other_src = clr_pos2; - chm->other_dest = set_pos2; - - } - - } - - /* check for the ROOK */ - else if ( cp_GetPiece(cp_src) == PIECE_ROOK ) - { - /* disallow white left castling */ - if ( src == 0x00 ) - lrc_obj.castling_possible &= ~0x01; - /* disallow white right castling */ - if ( src == 0x07 ) - lrc_obj.castling_possible &= ~0x02; - /* disallow black left castling */ - if ( src == 0x70 ) - lrc_obj.castling_possible &= ~0x04; - /* disallow black right castling */ - if ( src == 0x77 ) - lrc_obj.castling_possible &= ~0x08; - } - - - /* apply new board situation */ - - cp_SetOnBoard(dest, cp_src); - - if ( set_pos2 != ILLEGAL_POSITION ) - cp_SetOnBoard(set_pos2, set_cp2); - - cp_SetOnBoard(src, PIECE_NONE); - - if ( clr_pos2 != ILLEGAL_POSITION ) - cp_SetOnBoard(clr_pos2, PIECE_NONE); - - -} - -/* - this subprocedure decides for evaluation of the current board situation or further (deeper) investigation - Argument pos is the new target position if the current piece - -*/ -uint8_t ce_LoopRecur(uint8_t pos) -{ - eval_t eval; - - /* 1. check if target position is occupied by the same player (my_color) */ - /* of if pos is somehow illegal or not valid */ - if ( cu_IsIllegalPosition(pos, stack_GetCurrElement()->current_color) != 0 ) - return 0; - - /* 2. move piece to the specified position, capture opponent piece if required */ - cu_Move(stack_GetCurrElement()->current_pos, pos); - - - /* 3. */ - /* if depth reached: evaluate */ - /* else: go down next level */ - /* no eval if there had been any valid half-moves, so the default value (MIN) will be returned. */ - if ( stack_Push(stack_GetCurrElement()->current_color) == 0 ) - { - eval = ce_Eval(); - } - else - { - /* init the element, which has been pushed */ - stack_InitCurrElement(); - /* start over with ntext level */ - ce_LoopPieces(); - /* get the best move from opponents view, so invert the result */ - eval = -stack_GetCurrElement()->best_eval; - stack_Pop(); - } - - /* 4. store result */ - stack_SetMove(eval, pos); - - /* 5. undo the move */ - cu_UndoHalfMove(); - - /* 6. check special modes */ - /* the purpose of these checks is to mark special pieces and positions on the board */ - /* these marks can be checked by the user interface to highlight special positions */ - if ( lrc_obj.check_mode != 0 ) - { - stack_element_p e = stack_GetCurrElement(); - if ( lrc_obj.check_mode == CHECK_MODE_MOVEABLE ) - { - cp_SetOnBoard(e->current_pos, e->current_cp | CP_MARK_MASK ); - } - else if ( lrc_obj.check_mode == CHECK_MODE_TARGET_MOVE ) - { - if ( e->current_pos == lrc_obj.check_src_pos ) - { - cp_SetOnBoard(pos, cp_GetFromBoard(pos) | CP_MARK_MASK ); - } - } - } - return 1; -} - -/*==============================================================*/ -/* move pieces which can move one or more steps into a direction */ -/*==============================================================*/ - -/* - subprocedure to generate various target positions for some pieces - special cases are handled in the piece specific sub-procedure - - Arguments: - d: a list of potential directions - is_multi_step: if the piece can only do one step (zero for KING and KNIGHT) -*/ -static const uint8_t ce_dir_offset_rook[] PROGMEM = { 1, 16, -16, -1, 0 }; -static const uint8_t ce_dir_offset_bishop[] PROGMEM = { 15, 17, -17, -15, 0 }; -static const uint8_t ce_dir_offset_queen[] PROGMEM = { 1, 16, -16, -1, 15, 17, -17, -15, 0 }; -static const uint8_t ce_dir_offset_knight[] PROGMEM = {14, -14, 18, -18, 31, -31, 33, -33, 0}; - -void ce_LoopDirsSingleMultiStep(const uint8_t *d, uint8_t is_multi_step) -{ - uint8_t loop_pos; - - /* with all directions */ - for(;;) - { - if ( u8g_pgm_read(d) == 0 ) - break; - - /* start again from the initial position */ - loop_pos = stack_GetCurrElement()->current_pos; - - /* check direction */ - do - { - /* check next position into one direction */ - loop_pos += u8g_pgm_read(d); - - /* - go further to ce_LoopRecur() - 0 will be returned if the target position is illegal or a piece of the own color - this is used to stop walking into one direction - */ - if ( ce_LoopRecur(loop_pos) == 0 ) - break; - - /* stop if we had hit another piece */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) - break; - } while( is_multi_step ); - d++; - } -} - -void ce_LoopRook(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_rook, 1); -} - -void ce_LoopBishop(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_bishop, 1); -} - -void ce_LoopQueen(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 1); -} - -void ce_LoopKnight(void) -{ - ce_LoopDirsSingleMultiStep(ce_dir_offset_knight, 0); -} - - - -/*==============================================================*/ -/* move king */ -/*==============================================================*/ - -uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) U8G_NOINLINE; - -/* - checks, if the king can do castling - - Arguments: - mask: the bit-mask for the global "castling possible" flag - direction: left castling: -1, right castling 1 - cnt: number of fields to be checked: 3 or 2 -*/ -uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) -{ - uint8_t pos; - uint8_t opponent_color; - - /* check if the current board state allows castling */ - if ( (lrc_obj.castling_possible & mask) == 0 ) - return 0; /* castling not allowed */ - - /* get the position of the KING, could be white or black king */ - pos = stack_GetCurrElement()->current_pos; - - /* calculate the color of the opponent */ - opponent_color = 1; - opponent_color -= stack_GetCurrElement()->current_color; - - /* if the KING itself is given check... */ - if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) - return 0; - - - /* check if fields in the desired direction are emtpy */ - for(;;) - { - /* go to the next field */ - pos += direction; - /* check for a piece */ - if ( cp_GetPiece(cp_GetFromBoard(pos)) != PIECE_NONE ) - return 0; /* castling not allowed */ - - /* if some of the fields are under attack */ - if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) - return 0; - - cnt--; - if ( cnt == 0 ) - break; - } - return 1; /* castling allowed */ -} - -void ce_LoopKing(void) -{ - /* - there is an interessting timing problem in this procedure - it must be checked for castling first and as second step the normal - KING movement. If we would first check for normal moves, than - any marks might be overwritten by the ROOK in the case of castling. - */ - - /* castling (this must be done before checking normal moves (see above) */ - if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) - { - /* white left castling */ - if ( cu_IsKingCastling(1, -1, 3) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos-2); - } - /* white right castling */ - if ( cu_IsKingCastling(2, 1, 2) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos+2); - } - } - else - { - /* black left castling */ - if ( cu_IsKingCastling(4, -1, 3) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos-2); - } - /* black right castling */ - if ( cu_IsKingCastling(8, 1, 2) != 0 ) - { - /* check for attacked fields */ - ce_LoopRecur(stack_GetCurrElement()->current_pos+2); - } - } - - /* reuse queen directions */ - ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 0); -} - - -/*==============================================================*/ -/* move pawn */ -/*==============================================================*/ - -/* - doppelschritt: nur von der grundlinie aus, beide (!) felder vor dem bauern mssen frei sein - en passant: nur unmittelbar nachdem ein doppelschritt ausgefhrt wurde. -*/ -void ce_LoopPawnSideCapture(uint8_t loop_pos) -{ - if ( gpos_IsIllegal(loop_pos) == 0 ) - { - /* get the piece from the board */ - /* if the field is NOT empty */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) - { - /* normal capture */ - ce_LoopRecur(loop_pos); - /* TODO: check for pawn conversion/promotion */ - } - else - { - /* check conditions for en passant capture */ - if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) - { - if ( lrc_obj.pawn_dbl_move[COLOR_BLACK]+16 == loop_pos ) - { - ce_LoopRecur(loop_pos); - /* note: pawn conversion/promotion can not occur */ - } - } - else - { - if ( lrc_obj.pawn_dbl_move[COLOR_WHITE] == loop_pos+16 ) - { - ce_LoopRecur(loop_pos); - /* note: pawn conversion/promotion can not occur */ - } - } - } - } -} - -void ce_LoopPawn(void) -{ - uint8_t initial_pos = stack_GetCurrElement()->current_pos; - uint8_t my_color = stack_GetCurrElement()->current_color; - - uint8_t loop_pos; - uint8_t line; - - /* one step forward */ - - loop_pos = initial_pos; - line = initial_pos; - line >>= 4; - if ( my_color == COLOR_WHITE ) - loop_pos += 16; - else - loop_pos -= 16; - if ( gpos_IsIllegal(loop_pos) == 0 ) - { - /* if the field is empty */ - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) - { - /* TODO: check for and loop through piece conversion/promotion */ - ce_LoopRecur(loop_pos); - - /* second step forward */ - - /* if pawn is on his starting line */ - if ( (my_color == COLOR_WHITE && line == 1) || (my_color == COLOR_BLACK && line == 6 ) ) - { - /* the place before the pawn is not occupied, so we can do double moves, see above */ - - if ( my_color == COLOR_WHITE ) - loop_pos += 16; - else - loop_pos -= 16; - if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) - { - /* this is a special case, other promotions of the pawn can not occur */ - ce_LoopRecur(loop_pos); - } - } - } - } - - /* capture */ - - loop_pos = initial_pos; - if ( my_color == COLOR_WHITE ) - loop_pos += 15; - else - loop_pos -= 15; - ce_LoopPawnSideCapture(loop_pos); - - - loop_pos = initial_pos; - if ( my_color == COLOR_WHITE ) - loop_pos += 17; - else - loop_pos -= 17; - ce_LoopPawnSideCapture(loop_pos); -} - -/*==============================================================*/ -/* attacked */ -/*==============================================================*/ - -/* - from a starting position, search for a piece, that might jump to that postion. - return: - the two global variables - lrc_obj.find_piece_weight[0]; - lrc_obj.find_piece_weight[1]; - will be increased by the weight of the attacked pieces of that color. - it is usually required to reset these global variables to zero, before using - this function. -*/ - -void ce_FindPieceByStep(uint8_t start_pos, uint8_t piece, const uint8_t *d, uint8_t is_multi_step) -{ - uint8_t loop_pos, cp; - - /* with all directions */ - for(;;) - { - if ( u8g_pgm_read(d) == 0 ) - break; - - /* start again from the initial position */ - loop_pos = start_pos; - - /* check direction */ - do - { - /* check next position into one direction */ - loop_pos += u8g_pgm_read(d); - - /* check if the board boundary has been crossed */ - if ( (loop_pos & 0x088) != 0 ) - break; - - /* get the colored piece from the board */ - cp = cp_GetFromBoard(loop_pos); - - /* stop if we had hit another piece */ - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - /* if it is the piece we are looking for, then add the weight */ - if ( cp_GetPiece(cp) == piece ) - { - lrc_obj.find_piece_weight[cp_GetColor(cp)] += ce_piece_weight[piece]; - lrc_obj.find_piece_cnt[cp_GetColor(cp)]++; - } - /* in any case, break out of the inner loop */ - break; - } - } while( is_multi_step ); - d++; - } -} - -void ce_FindPawnPiece(uint8_t dest_pos, uint8_t color) -{ - uint8_t cp; - /* check if the board boundary has been crossed */ - if ( (dest_pos & 0x088) == 0 ) - { - /* get the colored piece from the board */ - cp = cp_GetFromBoard(dest_pos); - /* only if there is a pawn of the matching color */ - if ( cp_GetPiece(cp) == PIECE_PAWN ) - { - if ( cp_GetColor(cp) == color ) - { - /* the weight of the PAWN */ - lrc_obj.find_piece_weight[color] += 1; - lrc_obj.find_piece_cnt[color]++; - } - } - } -} - - -/* - find out, which pieces do attack a specified field - used to - - check if the KING can do castling - - check if the KING must move - - may be used in the eval procedure ... once... - - the result is stored in the global array - uint8_t lrc_obj.find_piece_weight[2]; - which is indexed with the color. - lrc_obj.find_piece_weight[COLOR_WHITE] is the sum of all white pieces - which can directly move to this field. - - example: - if the black KING is at "pos" and lrc_obj.find_piece_weight[COLOR_WHITE] is not zero - (after executing ce_CalculatePositionWeight(pos)) then the KING must be protected or moveed, because - the KING was given check. -*/ - -void ce_CalculatePositionWeight(uint8_t pos) -{ - - lrc_obj.find_piece_weight[0] = 0; - lrc_obj.find_piece_weight[1] = 0; - lrc_obj.find_piece_cnt[0] = 0; - lrc_obj.find_piece_cnt[1] = 0; - - if ( (pos & 0x088) != 0 ) - return; - - ce_FindPieceByStep(pos, PIECE_ROOK, ce_dir_offset_rook, 1); - ce_FindPieceByStep(pos, PIECE_BISHOP, ce_dir_offset_bishop, 1); - ce_FindPieceByStep(pos, PIECE_QUEEN, ce_dir_offset_queen, 1); - ce_FindPieceByStep(pos, PIECE_KNIGHT, ce_dir_offset_knight, 0); - ce_FindPieceByStep(pos, PIECE_KING, ce_dir_offset_queen, 0); - - ce_FindPawnPiece(pos+17, COLOR_BLACK); - ce_FindPawnPiece(pos+15, COLOR_BLACK); - ce_FindPawnPiece(pos-17, COLOR_WHITE); - ce_FindPawnPiece(pos-15, COLOR_WHITE); -} - -/* - calculate the summed weight of pieces with specified color which can move to a specified position - - argument: - pos: the position which should be analysed - color: the color of those pieces which should be analysed - e.g. if a black piece is at 'pos' and 'color' is white then this procedure returns the white atting count -*/ -uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color) -{ - ce_CalculatePositionWeight(pos); - return lrc_obj.find_piece_weight[color]; -} - -uint8_t ce_GetPositionAttackCount(uint8_t pos, uint8_t color) -{ - ce_CalculatePositionWeight(pos); - return lrc_obj.find_piece_cnt[color]; -} - - -/*==============================================================*/ -/* depth search starts here: loop over all pieces of the current color on the board */ -/*==============================================================*/ - -void ce_LoopPieces(void) -{ - stack_element_p e = stack_GetCurrElement(); - /* start with lower left position (A1) */ - e->current_pos = 0; - do - { - e->current_cp = cp_GetFromBoard(e->current_pos); - /* check if the position on the board is empty */ - if ( e->current_cp != 0 ) - { - /* only generate moves for the current color */ - if ( e->current_color == cp_GetColor(e->current_cp) ) - { - chess_Thinking(); - - /* find out which piece is used */ - switch(cp_GetPiece(e->current_cp)) - { - case PIECE_NONE: - break; - case PIECE_PAWN: - ce_LoopPawn(); - break; - case PIECE_KNIGHT: - ce_LoopKnight(); - break; - case PIECE_BISHOP: - ce_LoopBishop(); - break; - case PIECE_ROOK: - ce_LoopRook(); - break; - case PIECE_QUEEN: - ce_LoopQueen(); - break; - case PIECE_KING: - ce_LoopKing(); - break; - } - } - } - e->current_pos = cu_NextPos(e->current_pos); - } while( e->current_pos != 0 ); -} - -/*==============================================================*/ -/* user interface */ -/*==============================================================*/ - -/* -eval_t chess_EvalCurrBoard(uint8_t color) -{ - stack_Init(0); - stack_GetCurrElement()->current_color = color; - ce_LoopPieces(); - return stack_GetCurrElement()->best_eval; -} -*/ - -/* clear any marks on the board */ -void chess_ClearMarks(void) -{ - uint8_t i; - for( i = 0; i < 64; i++ ) - lrc_obj.board[i] &= ~CP_MARK_MASK; -} - -/* - Mark all pieces which can do moves. This is done by setting flags on the global board -*/ -void chess_MarkMovable(void) -{ - stack_Init(0); - //stack_GetCurrElement()->current_color = color; - lrc_obj.check_mode = CHECK_MODE_MOVEABLE; - ce_LoopPieces(); -} - -/* - Checks, if the piece can move from src_pos to dest_pos - - src_pos: The game position of a piece on the chess board -*/ -void chess_MarkTargetMoves(uint8_t src_pos) -{ - stack_Init(0); - stack_GetCurrElement()->current_color = cp_GetColor(cp_GetFromBoard(src_pos)); - lrc_obj.check_src_pos = src_pos; - lrc_obj.check_mode = CHECK_MODE_TARGET_MOVE; - ce_LoopPieces(); -} - -/* - first call should start with 255 - this procedure will return 255 if - - there are no marks at all - - it has looped over all marks once -*/ -uint8_t chess_GetNextMarked(uint8_t arg, uint8_t is_prev) -{ - uint8_t i; - uint8_t pos = arg; - for(i = 0; i < 64; i++) - { - if ( is_prev != 0 ) - pos = cu_PrevPos(pos); - else - pos = cu_NextPos(pos); - if ( arg != 255 && pos == 0 ) - return 255; - if ( cp_IsMarked(cp_GetFromBoard(pos)) ) - return pos; - } - return 255; -} - - -/* make a manual move: this is a little bit more than cu_Move() */ -void chess_ManualMove(uint8_t src, uint8_t dest) -{ - uint8_t cp; - - /* printf("chess_ManualMove %02x -> %02x\n", src, dest); */ - - /* if all other things fail, this is the place where the game is to be decided: */ - /* ... if the KING is captured */ - cp = cp_GetFromBoard(dest); - if ( cp_GetPiece(cp) == PIECE_KING ) - { - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = cp_GetColor(cp); - } - - /* clear ply history here, to avoid memory overflow */ - /* may be the last X moves can be kept here */ - cu_ReduceHistoryByFullMove(); - /* perform the move on the board */ - cu_Move(src, dest); - - /* update en passant double move positions: en passant position is removed after two half moves */ - lrc_obj.pawn_dbl_move[lrc_obj.ply_count&1] = ILLEGAL_POSITION; - - /* update the global half move counter */ - lrc_obj.ply_count++; - - - /* make a small check about the end of the game */ - /* use at least depth 1, because we must know if the king can still move */ - /* this is: King moves at level 0 and will be captured at level 1 */ - /* so we check if the king can move and will not be captured at search level 1 */ - - stack_Init(1); - ce_LoopPieces(); - - /* printf("chess_ManualMove/analysis best_from_pos %02x -> best_to_pos %02x\n", stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); */ - - /* analyse the eval result */ - - /* check if the other player has any moves left */ - if ( stack_GetCurrElement()->best_from_pos == ILLEGAL_POSITION ) - { - uint8_t color; - /* conditions: */ - /* 1. no King, should never happen, opposite color has won */ - /* this is already checked above at the beginning if this procedure */ - /* 2. King is under attack, opposite color has won */ - /* 3. King is not under attack, game is a draw */ - - uint8_t i = 0; - color = lrc_obj.ply_count; - color &= 1; - do - { - cp = cp_GetFromBoard(i); - /* look for the King */ - if ( cp_GetPiece(cp) == PIECE_KING ) - { - if ( cp_GetColor(cp) == color ) - { - /* check if KING is attacked */ - if ( ce_GetPositionAttackCount(i, color^1) != 0 ) - { - /* KING is under attack (check) and can not move: Game is lost */ - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = color; - } - else - { - /* KING is NOT under attack (check) but can not move: Game is a draw */ - lrc_obj.is_game_end = 1; - lrc_obj.lost_side_color = 2; - } - /* break out of the loop */ - break; - } - } - i = cu_NextPos(i); - } while( i != 0 ); - } -} - -/* let the computer do a move */ -void chess_ComputerMove(uint8_t depth) -{ - stack_Init(depth); - - //stack_GetCurrElement()->current_color = lrc_obj.ply_count; - //stack_GetCurrElement()->current_color &= 1; - - cu_ReduceHistoryByFullMove(); - ce_LoopPieces(); - - chess_ManualMove(stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); -} - - -/*==============================================================*/ -/* unix code */ -/*==============================================================*/ - -#ifdef UNIX_MAIN - -#include -#include - -char *piece_str[] = { - /* 0x00 */ - " ", - "wP", - "wN", - "wB", - - /* 0x04 */ - "wR", - "wQ", - "wK", - "w?", - - /* 0x08 */ - "w?", - "w?", - "w?", - "w?", - - /* 0x0c */ - "w?", - "w?", - "w?", - "w?", - - /* 0x10 */ - "b ", - "bP", - "bN", - "bB", - "bR", - "bQ", - "bK", - "b?", - - "b?", - "b?", - "b?", - "b?", - "b?", - "b?", - "b?", - "b?" -}; - -void chess_Thinking(void) -{ - uint8_t i; - uint8_t cp = cp_GetPiece(stack_GetCurrElement()->current_cp); - - printf("Thinking: ", piece_str[cp], stack_GetCurrElement()->current_pos); - - for( i = 0; i <= lrc_obj.curr_depth; i++ ) - printf("%s ", piece_str[(lrc_obj.stack_memory+i)->current_cp]); - - printf(" \r"); -} - -void board_Show(void) -{ - uint8_t i, j, cp; - char buf[10]; - for ( i = 0; i < 8; i++ ) - { - printf("%1d ", 7-i); - for ( j = 0; j < 8; j++ ) - { - /* get piece from global board */ - cp = lrc_obj.board[(7-i)*8+j]; - strcpy(buf, piece_str[cp&COLOR_PIECE_MASK]); - - if ( (cp & CP_MARK_MASK) != 0 ) - { - buf[0] = '#'; - } - - /* mask out any bits except color and piece index */ - cp &= COLOR_PIECE_MASK; - printf("%s %02x ", buf, cp); - - } - printf("\n"); - } -} - -int main(void) -{ - uint8_t depth = 3; - chess_SetupBoard(); - board_Show(); - puts(""); - - - /* - chess_ClearMarks(); - chess_MarkMovable(COLOR_WHITE); - board_Show(); - */ - - chess_ManualMove(0x006, 0x066); - - printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); - printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); - - chess_ComputerMove(2); - - printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); - printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); - - board_Show(); - -} - - - -#else - -/*==============================================================*/ -/* display menu */ -/*==============================================================*/ - -//#define MNU_FONT font_5x7 -#define MNU_FONT u8g_font_5x8r -//#define MNU_FONT font_6x9 -#define MNU_ENTRY_HEIGHT 9 - -char *mnu_title = "Little Rook Chess"; -char *mnu_list[] = { "New Game (White)", "New Game (Black)", "Undo Move", "Return" }; -uint8_t mnu_pos = 0; -uint8_t mnu_max = 4; - -void mnu_DrawHome(uint8_t is_highlight) -{ - uint8_t x = lrc_u8g->width - 35; - uint8_t y = (lrc_u8g->height-1); - uint8_t t; - - u8g_SetFont(lrc_u8g, u8g_font_5x7r); - u8g_SetDefaultForegroundColor(lrc_u8g); - t = u8g_DrawStrP(lrc_u8g, x, y -1, U8G_PSTR("Options")); - - if ( is_highlight ) - u8g_DrawFrame(lrc_u8g, x-1, y - MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); -} - -void mnu_DrawEntry(uint8_t y, char *str, uint8_t is_clr_background, uint8_t is_highlight) -{ - uint8_t t, x; - u8g_SetFont(lrc_u8g, MNU_FONT); - t = u8g_GetStrWidth(lrc_u8g, str); - x = u8g_GetWidth(lrc_u8g); - x -= t; - x >>= 1; - - if ( is_clr_background ) - { - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBox(lrc_u8g, x-3, (lrc_u8g->height-1) - (y+MNU_ENTRY_HEIGHT-1+2), t+5, MNU_ENTRY_HEIGHT+4); - } - - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawStr(lrc_u8g, x, (lrc_u8g->height-1) - y, str); - - if ( is_highlight ) - { - u8g_DrawFrame(lrc_u8g, x-1, (lrc_u8g->height-1) - y -MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); - } -} - -void mnu_Draw(void) -{ - uint8_t i; - uint8_t t,y; - /* calculate hight of the complete menu */ - y = mnu_max; - y++; /* consider also some space for the title */ - y++; /* consider also some space for the title */ - y *= MNU_ENTRY_HEIGHT; - - /* calculate how much space will be left */ - t = u8g_GetHeight(lrc_u8g); - t -= y; - - /* topmost pos start half of that empty space from the top */ - t >>= 1; - y = u8g_GetHeight(lrc_u8g); - y -= t; - - y -= MNU_ENTRY_HEIGHT; - mnu_DrawEntry(y, mnu_title, 0, 0); - - y -= MNU_ENTRY_HEIGHT; - - - for( i = 0; i < mnu_max; i++ ) - { - y -= MNU_ENTRY_HEIGHT; - mnu_DrawEntry(y, mnu_list[i], 0, i == mnu_pos); - } -} - -void mnu_Step(uint8_t key_cmd) -{ - if ( key_cmd == CHESS_KEY_NEXT ) - { - if ( mnu_pos+1 < mnu_max ) - mnu_pos++; - } - else if ( key_cmd == CHESS_KEY_PREV ) - { - if ( mnu_pos > 0 ) - mnu_pos--; - } -} - - - - -uint8_t chess_key_code = 0; -uint8_t chess_key_cmd = 0; -#define CHESS_STATE_MENU 0 -#define CHESS_STATE_SELECT_START 1 -#define CHESS_STATE_SELECT_PIECE 2 -#define CHESS_STATE_SELECT_TARGET_POS 3 -#define CHESS_STATE_THINKING 4 -#define CHESS_STATE_GAME_END 5 -uint8_t chess_state = CHESS_STATE_MENU; -uint8_t chess_source_pos = 255; -uint8_t chess_target_pos = 255; - -const uint8_t chess_pieces_body_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, /* 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x00, */ - /* KNIGHT */ 0x00, 0x00, 0x1c, 0x2c, 0x04, 0x04, 0x0e, 0x00, - /* BISHOP */ 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x08, 0x00, 0x00, /* 0x00, 0x00, 0x08, 0x1c, 0x1c, 0x08, 0x00, 0x00, */ - /* ROOK */ 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, - /* QUEEN */ 0x00, 0x00, 0x14, 0x1c, 0x08, 0x1c, 0x08, 0x00, - /* KING */ 0x00, 0x00, 0x00, 0x08, 0x3e, 0x1c, 0x08, 0x00, -}; - -#ifdef NOT_REQUIRED -/* white pieces are constructed by painting black pieces and cutting out the white area */ -const uint8_t chess_white_pieces_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x0c, 0x12, 0x12, 0x0c, 0x1e, 0x00, - /* KNIGHT */ 0x00, 0x1c, 0x22, 0x52, 0x6a, 0x0a, 0x11, 0x1f, - /* BISHOP */ 0x00, 0x08, 0x14, 0x22, 0x22, 0x14, 0x08, 0x7f, - /* ROOK */ 0x00, 0x55, 0x7f, 0x22, 0x22, 0x22, 0x22, 0x7f, - /* QUEEN */ 0x00, 0x55, 0x2a, 0x22, 0x14, 0x22, 0x14, 0x7f, - /* KING */ 0x08, 0x1c, 0x49, 0x77, 0x41, 0x22, 0x14, 0x7f, -}; -#endif - -const uint8_t chess_black_pieces_bm[] PROGMEM = -{ - /* PAWN */ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x3c, 0x00, /* 0x00, 0x00, 0x0c, 0x1e, 0x1e, 0x0c, 0x1e, 0x00, */ - /* KNIGHT */ 0x00, 0x1c, 0x3e, 0x7e, 0x6e, 0x0e, 0x1f, 0x1f, - /* BISHOP */ 0x00, 0x1c, 0x2e, 0x3e, 0x3e, 0x1c, 0x08, 0x7f, /*0x00, 0x08, 0x1c, 0x3e, 0x3e, 0x1c, 0x08, 0x7f,*/ - /* ROOK */ 0x00, 0x55, 0x7f, 0x3e, 0x3e, 0x3e, 0x3e, 0x7f, - /* QUEEN */ 0x00, 0x55, 0x3e, 0x3e, 0x1c, 0x3e, 0x1c, 0x7f, - /* KING -*/ 0x08, 0x1c, 0x49, 0x7f, 0x7f, 0x3e, 0x1c, 0x7f, -}; - - -#if defined(DOGXL160_HW_GR) -#define BOXSIZE 13 -#define BOXOFFSET 3 -#else -#define BOXSIZE 8 -#define BOXOFFSET 1 -#endif - -u8g_uint_t chess_low_edge; -uint8_t chess_boxsize = 8; -uint8_t chess_boxoffset = 1; - - -void chess_DrawFrame(uint8_t pos, uint8_t is_bold) -{ - u8g_uint_t x0, y0; - - x0 = pos; - x0 &= 15; - if ( lrc_obj.orientation != COLOR_WHITE ) - x0 ^= 7; - - y0 = pos; - y0>>= 4; - if ( lrc_obj.orientation != COLOR_WHITE ) - y0 ^= 7; - - x0 *= chess_boxsize; - y0 *= chess_boxsize; - - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize+1, chess_boxsize, chess_boxsize); - - - if ( is_bold ) - { - x0--; - y0++; - - u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize +1, chess_boxsize+2, chess_boxsize+2); - } -} - - -void chess_DrawBoard(void) -{ - uint8_t i, j, cp; - const uint8_t *ptr; /* pointer into PROGMEM */ - - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) > 1 ) - { - for( i = 0; i < 8; i++ ) - for( j = 0; j < 8; j++ ) - { - uint8_t x,y; - x = i; - x*=chess_boxsize; - y = j; - y*=chess_boxsize; - if ( ((i^j) & 1) == 0 ) - u8g_SetDefaultMidColor(lrc_u8g); - else - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBox(lrc_u8g, x,chess_low_edge-y-chess_boxsize+1,chess_boxsize,chess_boxsize); - } - //u8g_SetDefaultForegroundColor(lrc_u8g); - } - else - { - uint8_t x_offset = 1; - u8g_SetDefaultForegroundColor(lrc_u8g); - for( i = 0; i < 8*8; i+=8 ) - { - for( j = 0; j < 8*8; j+=8 ) - { - if ( ((i^j) & 8) == 0 ) - { - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-2); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-4); - u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-6); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-0); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-2); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-4); - u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-6); - } - } - } - } - - for ( i = 0; i < 8; i++ ) - { - for ( j = 0; j < 8; j++ ) - { - /* get piece from global board */ - if ( lrc_obj.orientation == COLOR_WHITE ) - { - cp = lrc_obj.board[i*8+j]; - } - else - { - cp = lrc_obj.board[(7-i)*8+7-j]; - } - if ( cp_GetPiece(cp) != PIECE_NONE ) - { - ptr = chess_black_pieces_bm; - ptr += (cp_GetPiece(cp)-1)*8; - u8g_SetDefaultForegroundColor(lrc_u8g); - u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); - - if ( cp_GetColor(cp) == lrc_obj.strike_out_color ) - { - ptr = chess_pieces_body_bm; - ptr += (cp_GetPiece(cp)-1)*8; - u8g_SetDefaultBackgroundColor(lrc_u8g); - u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); - } - } - } - } - - if ( (chess_source_pos & 0x88) == 0 ) - { - chess_DrawFrame(chess_source_pos, 1); - } - - if ( (chess_target_pos & 0x88) == 0 ) - { - chess_DrawFrame(chess_target_pos, 0); - } - -} - - -void chess_Thinking(void) -{ -} - -void chess_Init(u8g_t *u8g, uint8_t body_color) -{ - lrc_u8g = u8g; - - chess_low_edge = u8g_GetHeight(lrc_u8g); - chess_low_edge--; - - - if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) == 1 ) - { - - chess_boxsize = 8; - chess_boxoffset = 1; - } - else - { - - /* - if ( u8g_GetHeight(lrc_u8g) >= 12*8 ) - { - chess_boxsize = 12; - chess_boxoffset = 3; - } - else */ if ( u8g_GetHeight(lrc_u8g) >= 11*8 ) - { - chess_boxsize = 10; - chess_boxoffset = 2; - } - else - { - chess_boxsize = 8; - chess_boxoffset = 1; - } - - if ( u8g_GetHeight(lrc_u8g) > 64 ) - chess_low_edge -= (u8g_GetHeight(lrc_u8g)-chess_boxsize*8) / 2; - - } - - lrc_obj.strike_out_color = body_color; - chess_SetupBoard(); -} - - - -void chess_Draw(void) -{ - if ( chess_state == CHESS_STATE_MENU ) - { - if ( lrc_obj.ply_count == 0) - mnu_max = 2; - else - mnu_max = 4; - mnu_Draw(); - } - else - { - chess_DrawBoard(); - - { - uint8_t i; - uint8_t entries = lrc_obj.chm_pos; - if ( entries > 4 ) - entries = 4; - - u8g_SetFont(lrc_u8g, u8g_font_5x7); - u8g_SetDefaultForegroundColor(lrc_u8g); - for( i = 0; i < entries; i++ ) - { - -#if defined(DOGXL160_HW_GR) || defined(DOGXL160_HW_BW) - dog_DrawStr(u8g_GetWidth(lrc_u8g)-35, u8g_GetHeight(lrc_u8g)-8*(i+1), font_5x7, cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); -#else - u8g_DrawStr(lrc_u8g, u8g_GetWidth(lrc_u8g)-35, 8*(i+1), cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); -#endif - - } - - } - - if ( chess_state == CHESS_STATE_SELECT_PIECE ) - mnu_DrawHome(chess_source_pos == 255); - else if ( chess_state == CHESS_STATE_SELECT_TARGET_POS ) - mnu_DrawHome(chess_target_pos == 255); - else - mnu_DrawHome(0); - - if ( chess_state == CHESS_STATE_GAME_END ) - { - switch( lrc_obj.lost_side_color ) - { - case COLOR_WHITE: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Black wins", 1, 1); - break; - case COLOR_BLACK: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "White wins", 1, 1); - break; - default: - mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Stalemate", 1, 1); - break; - } - } - } -} - - -void chess_Step(uint8_t keycode) -{ - if ( keycode == CHESS_KEY_NONE ) - { - chess_key_cmd = chess_key_code; - chess_key_code = CHESS_KEY_NONE; - } - else - { - chess_key_cmd = CHESS_KEY_NONE; - chess_key_code = keycode; - } - //chess_ComputerMove(2); - switch(chess_state) - { - case CHESS_STATE_MENU: - mnu_Step(chess_key_cmd); - if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - if ( mnu_pos == 0 ) - { - chess_SetupBoard(); - lrc_obj.orientation = 0; - chess_state = CHESS_STATE_SELECT_START; - } - else if ( mnu_pos == 1 ) - { - chess_SetupBoard(); - lrc_obj.orientation = 1; - chess_state = CHESS_STATE_THINKING; - } - else if ( mnu_pos == 2 ) - { - if ( lrc_obj.ply_count >= 2 ) - { - cu_UndoHalfMove(); - cu_UndoHalfMove(); - lrc_obj.ply_count-=2; - if ( lrc_obj.ply_count == 0 ) - mnu_pos = 0; - } - chess_state = CHESS_STATE_SELECT_START; - } - else if ( mnu_pos == 3 ) - { - chess_state = CHESS_STATE_SELECT_START; - } - } - break; - case CHESS_STATE_SELECT_START: - chess_ClearMarks(); - chess_MarkMovable(); - chess_source_pos = chess_GetNextMarked(255, 0); - chess_target_pos = ILLEGAL_POSITION; - chess_state = CHESS_STATE_SELECT_PIECE; - break; - - case CHESS_STATE_SELECT_PIECE: - if ( chess_key_cmd == CHESS_KEY_NEXT ) - { - chess_source_pos = chess_GetNextMarked(chess_source_pos, 0); - } - else if ( chess_key_cmd == CHESS_KEY_PREV ) - { - chess_source_pos = chess_GetNextMarked(chess_source_pos, 1); - } - else if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - if ( chess_source_pos == 255 ) - { - chess_state = CHESS_STATE_MENU; - } - else - { - chess_ClearMarks(); - chess_MarkTargetMoves(chess_source_pos); - chess_target_pos = chess_GetNextMarked(255, 0); - chess_state = CHESS_STATE_SELECT_TARGET_POS; - } - } - break; - case CHESS_STATE_SELECT_TARGET_POS: - if ( chess_key_cmd == CHESS_KEY_NEXT ) - { - chess_target_pos = chess_GetNextMarked(chess_target_pos, 0); - } - else if ( chess_key_cmd == CHESS_KEY_PREV ) - { - chess_target_pos = chess_GetNextMarked(chess_target_pos, 1); - } - else if ( chess_key_cmd == CHESS_KEY_BACK ) - { - chess_ClearMarks(); - chess_MarkMovable(); - chess_target_pos = ILLEGAL_POSITION; - chess_state = CHESS_STATE_SELECT_PIECE; - } - else if ( chess_key_cmd == CHESS_KEY_SELECT ) - { - chess_ManualMove(chess_source_pos, chess_target_pos); - if ( lrc_obj.is_game_end != 0 ) - chess_state = CHESS_STATE_GAME_END; - else - chess_state = CHESS_STATE_THINKING; - /* clear marks as some kind of feedback to the user... it simply looks better */ - chess_source_pos = ILLEGAL_POSITION; - chess_target_pos = ILLEGAL_POSITION; - chess_ClearMarks(); - } - break; - case CHESS_STATE_THINKING: - chess_ComputerMove(2); - if ( lrc_obj.is_game_end != 0 ) - chess_state = CHESS_STATE_GAME_END; - else - chess_state = CHESS_STATE_SELECT_START; - break; - case CHESS_STATE_GAME_END: - if ( chess_key_cmd != CHESS_KEY_NONE ) - { - chess_state = CHESS_STATE_MENU; - chess_SetupBoard(); - } - break; - } - -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h deleted file mode 100644 index afe161fc6..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g.h +++ /dev/null @@ -1,1977 +0,0 @@ -/* - - u8g.h - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#ifndef _U8G_H -#define _U8G_H - -/* uncomment the following line to support displays larger than 240x240 */ -//#define U8G_16BIT 1 - -/* comment the following line to generate more compact but interrupt unsafe code */ -#define U8G_INTERRUPT_SAFE 1 - - -#include - -#ifdef __18CXX -typedef unsigned char uint8_t; -typedef signed char int8_t; -typedef unsigned short uint16_t; -typedef signed short int16_t; -#else -#include -#endif - -#if defined(__AVR__) -#include -#endif - -/* - use the com interface directly on any systems which are not AVR or ARDUINO -*/ -#if defined(__AVR__) || defined(ARDUINO) -#define U8G_WITH_PINLIST -#endif -#define U8G_WITH_PINLIST - - -#ifdef __cplusplus -extern "C" { -#endif - - -/*===============================================================*/ -#ifdef __GNUC__ -# define U8G_NOINLINE __attribute__((noinline)) -# define U8G_PURE __attribute__ ((pure)) -# define U8G_NOCOMMON __attribute__ ((nocommon)) -# define U8G_SECTION(name) __attribute__ ((section (name))) -# if defined(__MSPGCC__) -/* mspgcc does not have .progmem sections. Use -fdata-sections. */ -# define U8G_FONT_SECTION(name) -# endif -# if defined(__AVR__) -# define U8G_FONT_SECTION(name) U8G_SECTION(".progmem." name) -# endif -#else -# define U8G_NOINLINE -# define U8G_PURE -# define U8G_NOCOMMON -# define U8G_SECTION(name) -# define U8G_FONT_SECTION(name) -#endif - -#ifndef U8G_FONT_SECTION -# define U8G_FONT_SECTION(name) -#endif - - -/*===============================================================*/ -/* flash memory access */ - -#if defined(__AVR__) -/* U8G_PROGMEM is used by the XBM example */ -#define U8G_PROGMEM U8G_SECTION(".progmem.data") -typedef uint8_t PROGMEM u8g_pgm_uint8_t; -typedef uint8_t u8g_fntpgm_uint8_t; -#define u8g_pgm_read(adr) pgm_read_byte_near(adr) -#define U8G_PSTR(s) ((u8g_pgm_uint8_t *)PSTR(s)) - -#else - -#define U8G_PROGMEM -#define PROGMEM -typedef uint8_t u8g_pgm_uint8_t; -typedef uint8_t u8g_fntpgm_uint8_t; -#define u8g_pgm_read(adr) (*(const u8g_pgm_uint8_t *)(adr)) -#define U8G_PSTR(s) ((u8g_pgm_uint8_t *)(s)) - -#endif - -/*===============================================================*/ -/* interrupt safe code */ -#if defined(U8G_INTERRUPT_SAFE) -# if defined(__AVR__) -extern uint8_t global_SREG_backup; /* u8g_state.c */ -# define U8G_ATOMIC_START() do { global_SREG_backup = SREG; cli(); } while(0) -# define U8G_ATOMIC_END() SREG = global_SREG_backup -# define U8G_ATOMIC_OR(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) |= (val)); SREG = tmpSREG; } while(0) -# define U8G_ATOMIC_AND(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) &= (val)); SREG = tmpSREG; } while(0) -# else -# define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) -# define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) -# define U8G_ATOMIC_START() -# define U8G_ATOMIC_END() -# endif /* __AVR__ */ -#else -# define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) -# define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) -# define U8G_ATOMIC_START() -# define U8G_ATOMIC_END() -#endif /* U8G_INTERRUPT_SAFE */ - - -/*===============================================================*/ -/* forward */ -typedef struct _u8g_t u8g_t; -typedef struct _u8g_dev_t u8g_dev_t; - -typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; -typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; -typedef struct _u8g_box_t u8g_box_t; -typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; - - -/*===============================================================*/ -/* generic */ -#if defined(U8G_16BIT) -typedef uint16_t u8g_uint_t; -typedef int16_t u8g_int_t; -#else -typedef uint8_t u8g_uint_t; -typedef int8_t u8g_int_t; -#endif - -#ifdef OBSOLETE -struct _u8g_box_t -{ - u8g_uint_t x0, y0, x1, y1; -}; -typedef struct _u8g_box_t u8g_box_t; -#endif /* OBSOLETE */ - - -/*===============================================================*/ -/* device structure */ - -#ifdef __XC8 -/* device prototype */ -typedef uint8_t (*u8g_dev_fnptr)(void *u8g, void *dev, uint8_t msg, void *arg); - -/* com prototype */ -typedef uint8_t (*u8g_com_fnptr)(void *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -#else -/* device prototype */ -typedef uint8_t (*u8g_dev_fnptr)(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* com prototype */ -typedef uint8_t (*u8g_com_fnptr)(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -#endif - - - -struct _u8g_dev_t -{ - u8g_dev_fnptr dev_fn; /* device procedure */ - void *dev_mem; /* device memory */ - u8g_com_fnptr com_fn; /* communication procedure */ -}; - - -/*===============================================================*/ -/* device list */ - -/* Size: 128x64 SDL, u8g_dev_sdl.c */ -extern u8g_dev_t u8g_dev_sdl_1bit; -extern u8g_dev_t u8g_dev_sdl_1bit_h; -extern u8g_dev_t u8g_dev_sdl_2bit; -extern u8g_dev_t u8g_dev_sdl_2bit_double_mem; -extern u8g_dev_t u8g_dev_sdl_8bit; -extern u8g_dev_t u8g_dev_sdl_hicolor; -extern u8g_dev_t u8g_dev_sdl_fullcolor; -int u8g_sdl_get_key(void); - -/* Size: 70x30 monochrom, stdout */ -extern u8g_dev_t u8g_dev_stdout; - -/* Size: monochrom, writes "u8g.pbm" */ -extern u8g_dev_t u8g_dev_pbm; -extern u8g_dev_t u8g_dev_pbm_8h1; -extern u8g_dev_t u8g_dev_pbm_8h2; /* grayscale simulation */ - -/* Size: 128x64 monochrom, no output, used for performance measure */ -extern u8g_dev_t u8g_dev_gprof; - -/* Display: EA DOGS102, Size: 102x64 monochrom */ -extern u8g_dev_t u8g_dev_uc1701_dogs102_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_dogs102_hw_spi; - -extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi; - -/* Display: Mini12864 (dealextreme), Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_uc1701_mini12864_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_mini12864_hw_spi; - -extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi; - -/* Display: EA DOGM132, Size: 128x32 monochrom */ -extern u8g_dev_t u8g_dev_st7565_dogm132_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm132_hw_spi; - -/* Display: EA DOGM128, Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_st7565_dogm128_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_hw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_parallel; - -extern u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi; -extern u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel; - -/* EA DOGM 240-6 */ -extern u8g_dev_t u8g_dev_uc1611_dogm240_i2c; -extern u8g_dev_t u8g_dev_uc1611_dogm240_hw_spi; -extern u8g_dev_t u8g_dev_uc1611_dogm240_sw_spi; - -/* EA DOGXL 240 */ -extern u8g_dev_t u8g_dev_uc1611_dogxl240_i2c; -extern u8g_dev_t u8g_dev_uc1611_dogxl240_hw_spi; -extern u8g_dev_t u8g_dev_uc1611_dogxl240_sw_spi; - -/* Display: Topway LM6059 128x64 (Adafruit) */ -extern u8g_dev_t u8g_dev_st7565_lm6059_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6059_hw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi; -/* Display: Topway LM6063 128x64 */ -extern u8g_dev_t u8g_dev_st7565_lm6063_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6063_hw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi; -/* Display: Newhaven NHD-C12864 */ -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_hw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi; - -/* Display: Newhaven NHD-C12832 */ -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_sw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_spi; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_parallel; -extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_usart_spi; - -/* Display: Displaytech 64128N */ -extern u8g_dev_t u8g_dev_st7565_64128n_sw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_hw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_parallel; - -extern u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi; -extern u8g_dev_t u8g_dev_st7565_64128n_2x_parallel; - -/* Display: LCD-AG-C128032R-DIW W/KK E6 PBF */ -extern u8g_dev_t u8g_dev_uc1601_c128032_sw_spi; -extern u8g_dev_t u8g_dev_uc1601_c128032_hw_spi; - -extern u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi; - -/* East Rising/buy-display.com ERC24064-1 */ -extern u8g_dev_t u8g_dev_uc1608_240x64_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x64_hw_spi; - -extern u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi; - -/* UC1608 240x128 */ -extern u8g_dev_t u8g_dev_uc1608_240x128_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x128_hw_spi; - -extern u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi; -extern u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi; - -/* dfrobot 128x64 Graphic LCD (SKU:FIT0021) */ -extern u8g_dev_t u8g_dev_st7920_128x64_sw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_hw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_8bit; -extern u8g_dev_t u8g_dev_st7920_128x64_custom; - -extern u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_8bit; -extern u8g_dev_t u8g_dev_st7920_128x64_4x_custom; - -/* NHD-19232WG */ -extern u8g_dev_t u8g_dev_st7920_192x32_sw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_hw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_8bit; - -extern u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_192x32_4x_8bit; - -/* CrystalFontz CFAG20232 */ -extern u8g_dev_t u8g_dev_st7920_202x32_sw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_hw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_8bit; - -extern u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi; -extern u8g_dev_t u8g_dev_st7920_202x32_4x_8bit; - -/* LC7981 160x80 display */ -extern u8g_dev_t u8g_dev_lc7981_160x80_8bit; -/* LC7981 240x64 display */ -extern u8g_dev_t u8g_dev_lc7981_240x64_8bit; -/* LC7981 240x128 display */ -extern u8g_dev_t u8g_dev_lc7981_240x128_8bit; -/* LC7981 320x64 display */ -extern u8g_dev_t u8g_dev_lc7981_320x64_8bit; - -/* T6963, all t6963 devices have double page (2x) */ -extern u8g_dev_t u8g_dev_t6963_240x128_8bit; -extern u8g_dev_t u8g_dev_t6963_128x128_8bit; -extern u8g_dev_t u8g_dev_t6963_240x64_8bit; -extern u8g_dev_t u8g_dev_t6963_128x64_8bit; - -/* Display: EA DOGXL160, Size: 160x104 monochrom & gray level */ -extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_hw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_hw_spi; - -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi; - -/* Display: Generic KS0108b, Size: 128x64 monochrom */ -extern u8g_dev_t u8g_dev_ks0108_128x64; /* official Arduino Library interface */ -extern u8g_dev_t u8g_dev_ks0108_128x64_fast; /* faster, but uses private tables from the Arduino Library */ - -/* Nokia 84x48 Display with PCD8544 */ -extern u8g_dev_t u8g_dev_pcd8544_84x48_sw_spi; -extern u8g_dev_t u8g_dev_pcd8544_84x48_hw_spi; -extern u8g_dev_t u8g_dev_tls8204_84x48_sw_spi; - -/* Nokia 96x65 Display with PCF8812 */ -extern u8g_dev_t u8g_dev_pcf8812_96x65_sw_spi; -extern u8g_dev_t u8g_dev_pcf8812_96x65_hw_spi; - -/* NHD-2.7-12864UCY3 OLED Display with SSD1325 Controller */ -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_hw_spi; - -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi; - -/* LY120 OLED with SSD1327 Controller (tested with Seeedstudio module) */ -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_i2c; - -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c; - -/* NHD-3.12-25664 OLED Display with SSD1322 Controller */ -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_hw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_parallel; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi; - -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_hw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_parallel; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi; -extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi; - -/* OLED 128x64 Display with SSD1306 Controller */ -extern u8g_dev_t u8g_dev_ssd1306_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_i2c; - -extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_i2c; - -extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c; - -/* OLED 128x64 Display with SH1106 Controller */ -extern u8g_dev_t u8g_dev_sh1106_128x64_sw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_hw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_i2c; - -extern u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi; -extern u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c; - -/* OLED 128x64 Display with SSD1309 Controller */ -extern u8g_dev_t u8g_dev_ssd1309_128x64_sw_spi; -extern u8g_dev_t u8g_dev_ssd1309_128x64_hw_spi; -extern u8g_dev_t u8g_dev_ssd1309_128x64_i2c; - -/* OLED 128x32 Display with SSD1306 Controller */ -extern u8g_dev_t u8g_dev_ssd1306_128x32_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_i2c; - -extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi; -extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c; - -/* OLED 60x32 Display with LD7032 Controller */ -extern u8g_dev_t u8g_dev_ld7032_60x32_sw_spi; -extern u8g_dev_t u8g_dev_ld7032_60x32_hw_spi; -extern u8g_dev_t u8g_dev_ld7032_60x32_parallel; - -/* experimental 65K TFT with st7687 controller */ -extern u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi; -extern u8g_dev_t u8g_dev_st7687_c144mvgd_8bit; - -/* SBN1661/SED1520 display with 122x32 */ -extern u8g_dev_t u8g_dev_sbn1661_122x32; - -/* flip disc matrix */ -extern u8g_dev_t u8g_dev_flipdisc_2x7; -void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)); - -/* ILI9325D based TFT */ -extern u8g_dev_t u8g_dev_ili9325d_320x240_8bit; - - -/* SSD1351 OLED (breakout board from http://www.kickstarter.com/projects/ilsoftltd/colour-oled-breakout-board) */ -extern u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi; - -/* SSD1351 OLED (Freetronics, GPIOs set to high level) */ -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi; -extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi; - -/* HT1632 */ -extern u8g_dev_t u8g_dev_ht1632_24x16; - -/* A2 Micro Printer */ -extern u8g_dev_t u8g_dev_a2_micro_printer_384x240; -extern u8g_dev_t u8g_dev_a2_micro_printer_192x120_ds; -extern u8g_dev_t u8g_dev_a2_micro_printer_192x360_ds; -extern u8g_dev_t u8g_dev_a2_micro_printer_192x720_ds; - -/* u8g_virtual_screen.c */ -extern u8g_dev_t u8g_dev_vs; - - -/*===============================================================*/ -/* device messages */ - -struct _u8g_dev_arg_pixel_t -{ - u8g_uint_t x, y; /* will be modified */ - uint8_t pixel; /* will be modified, pixel sequence or transparency value */ - uint8_t dir; - uint8_t color; /* color or index value, red value for true color mode */ - uint8_t hi_color; /* high byte for 64K color mode, low byte is in "color", green value for true color mode */ - uint8_t blue; /* blue value in true color mode */ -}; -/* typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; */ /* forward decl */ - -/* range for r,g,b: 0..255 */ -#define U8G_GET_HICOLOR_BY_RGB(r,g,b) (((uint16_t)((r)&0x0f8))<<8)|(((uint16_t)((g)&0x0fc))<<3)|(((uint16_t)((b)>>3))) - -struct _u8g_dev_arg_bbx_t -{ - u8g_uint_t x, y, w, h; -}; -/* typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; */ /* forward decl */ - -struct _u8g_box_t -{ - u8g_uint_t x0, y0, x1, y1; -}; -/* typedef struct _u8g_box_t u8g_box_t; */ /* forward decl */ - -struct _u8g_dev_arg_irgb_t -{ - u8g_uint_t idx, r, g, b; /* index with rgb value */ -}; -/* typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; */ /* forward decl */ - - - -#define U8G_DEV_MSG_INIT 10 -#define U8G_DEV_MSG_STOP 11 - -/* arg: pointer to uint8_t, contranst value between 0 and 255 */ -#define U8G_DEV_MSG_CONTRAST 15 - -#define U8G_DEV_MSG_SLEEP_ON 16 -#define U8G_DEV_MSG_SLEEP_OFF 17 - -#define U8G_DEV_MSG_PAGE_FIRST 20 -#define U8G_DEV_MSG_PAGE_NEXT 21 - -/* arg: u8g_dev_arg_bbx_t * */ -/* new algorithm with U8G_DEV_MSG_GET_PAGE_BOX makes this msg obsolete */ -/* #define U8G_DEV_MSG_IS_BBX_INTERSECTION 22 */ - -/* arg: u8g_box_t *, fill structure with current page properties */ -#define U8G_DEV_MSG_GET_PAGE_BOX 23 - -/* -#define U8G_DEV_MSG_PRIMITIVE_START 30 -#define U8G_DEV_MSG_PRIMITIVE_END 31 -*/ - -/* arg: u8g_dev_arg_pixel_t * */ -#define U8G_DEV_MSG_SET_TPIXEL 44 -#define U8G_DEV_MSG_SET_4TPIXEL 45 - -#define U8G_DEV_MSG_SET_PIXEL 50 -#define U8G_DEV_MSG_SET_8PIXEL 59 - -#define U8G_DEV_MSG_SET_COLOR_ENTRY 60 - -#define U8G_DEV_MSG_SET_XY_CB 61 - -#define U8G_DEV_MSG_GET_WIDTH 70 -#define U8G_DEV_MSG_GET_HEIGHT 71 -#define U8G_DEV_MSG_GET_MODE 72 - -/*===============================================================*/ -/* device modes */ -#define U8G_MODE(is_index_mode, is_color, bits_per_pixel) (((is_index_mode)<<6) | ((is_color)<<5)|(bits_per_pixel)) - -#define U8G_MODE_UNKNOWN 0 -#define U8G_MODE_BW U8G_MODE(0, 0, 1) -#define U8G_MODE_GRAY2BIT U8G_MODE(0, 0, 2) -#define U8G_MODE_R3G3B2 U8G_MODE(0, 1, 8) -#define U8G_MODE_INDEX U8G_MODE(1, 1, 8) -/* hicolor is R5G6B5 */ -#define U8G_MODE_HICOLOR U8G_MODE(0, 1, 16) -/* truecolor */ -#define U8G_MODE_TRUECOLOR U8G_MODE(0, 1, 24) - - -#define U8G_MODE_GET_BITS_PER_PIXEL(mode) ((mode)&31) -#define U8G_MODE_IS_COLOR(mode) (((mode)&32)==0?0:1) -#define U8G_MODE_IS_INDEX_MODE(mode) (((mode)&64)==0?0:1) - - -/*===============================================================*/ -/* com options */ - -/* uncomment the following line for Atmega HW SPI double speed, issue 89 */ -/* #define U8G_HW_SPI_2X 1 */ - -/* com messages */ - -#define U8G_COM_MSG_STOP 0 -#define U8G_COM_MSG_INIT 1 - -#define U8G_COM_MSG_ADDRESS 2 - -/* CHIP_SELECT argument: number of the chip which needs to be activated, so this is more like high active */ -#define U8G_COM_MSG_CHIP_SELECT 3 - -#define U8G_COM_MSG_RESET 4 - -#define U8G_COM_MSG_WRITE_BYTE 5 -#define U8G_COM_MSG_WRITE_SEQ 6 -#define U8G_COM_MSG_WRITE_SEQ_P 7 - - -/* com driver */ -uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_null.c */ -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_std_sw_spi.c */ -uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_usart_spi.c */ -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_sw_spi.c */ -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_hw_spi.c */ -uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_arduino_ATTiny85_std_hw_spi.c */ -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_spi.c */ -uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_custom.c */ -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_hw_spi.c */ -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_parallel.c */ -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_fast_parallel.c */ -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_port_d_wr.c */ -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_no_en_parallel.c */ -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_ssd_i2c.c */ -uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_t6963.c */ - - -uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_spi.c */ -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_sw_spi.c */ -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_st7920_spi.c */ -uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_parallel.c */ - -uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_rasperrypi_hw_spi.c */ -uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_raspberrypi_ssd_i2c.c */ - - -/* - Translation of system specific com drives to generic com names - At the moment, the following generic com drives are available - U8G_COM_HW_SPI - U8G_COM_SW_SPI - U8G_COM_PARALLEL - U8G_COM_T6963 - U8G_COM_FAST_PARALLEL - U8G_COM_SSD_I2C - U8G_COM_UC_I2C - -defined(__18CXX) || defined(__PIC32MX) - -*/ - -/* ==== HW SPI, Raspberry PI ====*/ -#if defined(U8G_RASPBERRY_PI) -#define U8G_COM_HW_SPI u8g_com_raspberrypi_hw_spi_fn -#define U8G_COM_SW_SPI u8g_com_null_fn - -/* I'm sure there must be some mad reason for needing this */ -#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif - -/* ==== HW SPI, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) - -#if defined(__AVR_ATtiny85__) -#define U8G_COM_HW_SPI u8g_com_arduino_ATtiny85_std_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#else - -#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn -#if defined(__AVR_ATmega32U4__) -#define U8G_COM_HW_USART_SPI u8g_com_arduino_hw_usart_spi_fn -#endif /* __AVR_ATmega32U4__ */ -#define U8G_COM_ST7920_HW_SPI u8g_com_arduino_st7920_hw_spi_fn -#endif /* __AVR_ATtiny85__ */ - -#elif defined(__18CXX) || defined(__PIC32MX) -#define U8G_COM_HW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#elif defined(__SAM3X8E__) /* Arduino Due */ -#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif -#endif -/* ==== HW SPI, not Arduino ====*/ -#ifndef U8G_COM_HW_SPI -#if defined(__AVR__) -#define U8G_COM_HW_SPI u8g_com_atmega_hw_spi_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_atmega_st7920_hw_spi_fn -#endif -#endif -#ifndef U8G_COM_HW_SPI -#define U8G_COM_HW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn -#endif -#ifndef U8G_COM_HW_USART_SPI -#define U8G_COM_HW_USART_SPI u8g_com_null_fn -#endif - - -/* ==== SW SPI, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__18CXX) || defined(__PIC32MX) -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__SAM3X8E__) /* Arduino Due */ -//#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn -#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#elif defined(__arm__) /* Teensy */ -#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn -#endif -#endif - -#ifndef U8G_COM_SW_SPI -/* ==== SW SPI, not Arduino ====*/ -#if defined(__AVR__) -#define U8G_COM_SW_SPI u8g_com_atmega_sw_spi_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_atmega_st7920_sw_spi_fn -#endif -#endif -#ifndef U8G_COM_SW_SPI -#define U8G_COM_SW_SPI u8g_com_null_fn -#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn -#endif - -/* ==== Parallel interface, Arduino ====*/ -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_arduino_fast_parallel_fn -#define U8G_COM_T6963 u8g_com_arduino_t6963_fn -#else /* Arduino Due, Chipkit PIC32 */ -#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif -#endif -#ifndef U8G_COM_PARALLEL -#if defined(__AVR__) -#define U8G_COM_PARALLEL u8g_com_atmega_parallel_fn -#define U8G_COM_FAST_PARALLEL u8g_com_atmega_parallel_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif -#endif -#ifndef U8G_COM_PARALLEL -#define U8G_COM_PARALLEL u8g_com_null_fn -#define U8G_COM_FAST_PARALLEL u8g_com_null_fn -#define U8G_COM_T6963 u8g_com_null_fn -#endif - -#if defined(ARDUINO) -#if defined(__AVR__) -#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn -#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn -#endif -#endif - -#ifndef U8G_COM_SSD_I2C -#if defined(__AVR__) || defined(__SAM3X8E__) -/* AVR variant and also DUE can use the arduino version at the moment */ -#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn -#endif -#endif - -#ifndef U8G_COM_SSD_I2C -#if defined(U8G_RASPBERRY_PI) -#define U8G_COM_SSD_I2C u8g_com_raspberrypi_ssd_i2c_fn -#endif -#endif - -#ifndef U8G_COM_SSD_I2C -#define U8G_COM_SSD_I2C u8g_com_null_fn -#endif - -#ifndef U8G_COM_UC_I2C -#if defined(__AVR__) -/* AVR variant can use the arduino version at the moment */ -#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn -#endif -#endif -#ifndef U8G_COM_UC_I2C -#define U8G_COM_UC_I2C u8g_com_null_fn -#endif - - -/*===============================================================*/ -/* com api */ - -#define U8G_SPI_CLK_CYCLE_50NS 1 -#define U8G_SPI_CLK_CYCLE_300NS 2 -#define U8G_SPI_CLK_CYCLE_400NS 3 -#define U8G_SPI_CLK_CYCLE_NONE 255 - -uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time); -void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev); -void u8g_EnableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ -void u8g_DisableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ -void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs); -void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev); -void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev); -void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address); -uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val); -uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq); -uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq); - - - -#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) -#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) -#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) -#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) -#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) -#define U8G_ESC_END 255, 254 -#define U8G_ESC_255 255, 255 -//uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, u8g_pgm_uint8_t *esc_seq); -uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq); - - -/* u8g_com_api_16gr.c */ -uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); -uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); -uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); -uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); - - -/*===============================================================*/ -/* u8g_arduino_common.c */ -void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value); -void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g); - -/*===============================================================*/ -/* u8g_com_io.c */ - -/* create internal number from port and pin */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos); -#define PN(port,bitpos) u8g_Pin(port,bitpos) - -/* low level procedures */ -void u8g_SetPinOutput(uint8_t internal_pin_number); -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level); -void u8g_SetPinInput(uint8_t internal_pin_number); -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number); - -/* u8g level procedures, expect U8G_PI_xxx macro */ -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi); -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level); - - -/*===============================================================*/ -/* page */ -struct _u8g_page_t -{ - u8g_uint_t page_height; - u8g_uint_t total_height; - u8g_uint_t page_y0; - u8g_uint_t page_y1; - uint8_t page; -}; -typedef struct _u8g_page_t u8g_page_t; - -void u8g_page_First(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ -void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) U8G_NOINLINE; /* u8g_page.c */ -uint8_t u8g_page_Next(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ - -/*===============================================================*/ -/* page buffer (pb) */ - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; /* pixel width */ - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -/* u8g_pb.c */ -void u8g_pb_Clear(u8g_pb_t *b); -uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx); -void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box); -uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel); -uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); - -/* - note on __attribute__ ((nocommon)) - AVR scripts often use --gc-sections on the linker to remove unused section. - This works fine for initialed data and text sections. In principle .bss is also - handled, but the name##_pb definition is not removed. Reason is, that - array definitions are placed in the COMMON section, by default - The attribute "nocommon" removes this automatic assignment to the - COMMON section and directly puts it into .bss. As a result, if more - than one buffer is defined in one file, then it will be removed with --gc-sections - - .. not sure if Arduino IDE uses -fno-common... if yes, then the attribute is - redundant. -*/ -#define U8G_PB_DEV(name, width, height, page_height, dev_fn, com_fn) \ -uint8_t name##_buf[width] U8G_NOCOMMON ; \ -u8g_pb_t name##_pb = { {page_height, height, 0, 0, 0}, width, name##_buf}; \ -u8g_dev_t name = { dev_fn, &name##_pb, com_fn } - - -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8v1_Clear(u8g_pb_t *b) U8G_NOINLINE; - -uint8_t u8g_pb8v1_IsYIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb8v1_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); -uint8_t u8g_pb8v1_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); - -uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16v1.c */ -uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb14v1.c */ -uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb8v2.c */ -uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16v2.c (double memory of pb8v2) */ -uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/* u8g_pb8h1.c */ -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16h1.c */ -uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb32h1.c */ -uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/* u8g_pb8h2.c 8 pixel rows, byte has horzontal orientation */ -uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb16h2.c */ -uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - - -/* u8g_pb8h1f.c */ -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pb8h8.c */ -uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pbxh16.c */ -uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -/* u8g_pbxh24.c */ -uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -/*===============================================================*/ -/* u8g_ll_api.c */ - -/* cursor draw callback */ -typedef void (*u8g_draw_cursor_fn)(u8g_t *u8g); - -/* vertical reference point calculation callback */ -typedef u8g_uint_t (*u8g_font_calc_vref_fnptr)(u8g_t *u8g); - -/* state backup and restore procedure */ -typedef void (*u8g_state_cb)(uint8_t msg); - - -/* PI = Pin Index */ - -/* reset pin, usually optional */ -#define U8G_PI_RESET 0 - -/* address / data or instruction */ -#define U8G_PI_A0 1 -#define U8G_PI_DI 1 - -/* chip select line */ -#define U8G_PI_CS 2 -#define U8G_PI_CS1 2 -#define U8G_PI_CS2 3 -/* Feb 2013: A0 state moved from 7 to 3 for t6963 controller*/ -#define U8G_PI_A0_STATE 3 - -/* enable / clock signal */ -#define U8G_PI_EN 4 -#define U8G_PI_CS_STATE 4 -#define U8G_PI_SCK 4 -#define U8G_PI_SCL 4 -#define U8G_PI_RD 4 - - -/* data pins, shared with SPI and I2C pins */ -#define U8G_PI_D0 5 -#define U8G_PI_MOSI 5 -#define U8G_PI_SDA 5 -#define U8G_PI_D1 6 -#define U8G_PI_MISO 6 -#define U8G_PI_D2 7 -#define U8G_PI_D3 8 -#define U8G_PI_SET_A0 8 -#define U8G_PI_D4 9 -#define U8G_PI_D5 10 -#define U8G_PI_I2C_OPTION 11 -#define U8G_PI_D6 11 -#define U8G_PI_D7 12 - -/* read/write pin, must be the last pin in the list, this means U8G_PIN_LIST_LEN = U8G_PI_RW + 1*/ -#define U8G_PI_WR 13 -#define U8G_PI_RW 13 - -#define U8G_PIN_LIST_LEN 14 - - -#define U8G_PIN_DUMMY 254 -#define U8G_PIN_NONE 255 - -#define U8G_FONT_HEIGHT_MODE_TEXT 0 -#define U8G_FONT_HEIGHT_MODE_XTEXT 1 -#define U8G_FONT_HEIGHT_MODE_ALL 2 - -struct _u8g_t -{ - u8g_uint_t width; - u8g_uint_t height; - - - u8g_dev_t *dev; /* first device in the device chain */ - const u8g_pgm_uint8_t *font; /* regular font for all text procedures */ - const u8g_pgm_uint8_t *cursor_font; /* special font for cursor procedures */ - uint8_t cursor_fg_color, cursor_bg_color; - uint8_t cursor_encoding; - uint8_t mode; /* display mode, one of U8G_MODE_xxx */ - u8g_uint_t cursor_x; - u8g_uint_t cursor_y; - u8g_draw_cursor_fn cursor_fn; - - int8_t glyph_dx; - int8_t glyph_x; - int8_t glyph_y; - uint8_t glyph_width; - uint8_t glyph_height; - - u8g_font_calc_vref_fnptr font_calc_vref; - uint8_t font_height_mode; - int8_t font_ref_ascent; - int8_t font_ref_descent; - uint8_t font_line_spacing_factor; /* line_spacing = factor * (ascent - descent) / 64 */ - uint8_t line_spacing; - - u8g_dev_arg_pixel_t arg_pixel; - /* uint8_t color_index; */ - -#ifdef U8G_WITH_PINLIST - uint8_t pin_list[U8G_PIN_LIST_LEN]; -#endif - - u8g_state_cb state_cb; - - u8g_box_t current_page; /* current box of the visible page */ - -}; - -#define u8g_GetFontAscent(u8g) ((u8g)->font_ref_ascent) -#define u8g_GetFontDescent(u8g) ((u8g)->font_ref_descent) -#define u8g_GetFontLineSpacing(u8g) ((u8g)->line_spacing) - -uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev); -void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev); -uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev); -uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast); -void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y); -void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); -void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); -uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); /* obsolete */ -u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev); -u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev); - -void u8g_UpdateDimension(u8g_t *u8g); -uint8_t u8g_Begin(u8g_t *u8g); /* reset device, put it into default state and call u8g_UpdateDimension() */ -uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev); /* only usefull if the device only as hardcoded ports */ -uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn); /* Init procedure for anything which is not Arduino or AVR (e.g. ARM, but not Due, which is Arduino) */ -uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset); -uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset); -uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options); /* use U8G_I2C_OPT_NONE as options */ -uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); -uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset); -uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); -void u8g_FirstPage(u8g_t *u8g); -uint8_t u8g_NextPage(u8g_t *u8g); -uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast); -void u8g_SleepOn(u8g_t *u8g); -void u8g_SleepOff(u8g_t *u8g); -void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y); -void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); -void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); - -uint8_t u8g_Stop(u8g_t *u8g); -void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b); -void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx); -void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb); -void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); -void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); -uint8_t u8g_GetColorIndex(u8g_t *u8g); - -uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g); -void u8g_SetDefaultForegroundColor(u8g_t *u8g); - -uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g); -void u8g_SetDefaultBackgroundColor(u8g_t *u8g); - -uint8_t u8g_GetDefaultMidColor(u8g_t *u8g); -void u8g_SetDefaultMidColor(u8g_t *u8g); - -#define u8g_GetWidth(u8g) ((u8g)->width) -#define u8g_GetHeight(u8g) ((u8g)->height) -#define u8g_GetMode(u8g) ((u8g)->mode) -/* - U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(u8g)) - U8G_MODE_IS_COLOR(u8g_GetMode(u8g)) -*/ - -/* u8g_state.c */ -#define U8G_STATE_ENV_IDX 0 -#define U8G_STATE_U8G_IDX 1 -#define U8G_STATE_RESTORE 0 -#define U8G_STATE_BACKUP 1 -#define U8G_STATE_MSG_COMPOSE(cmd,idx) (((cmd)<<1) | (idx)) - -#define U8G_STATE_MSG_RESTORE_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_ENV_IDX) -#define U8G_STATE_MSG_BACKUP_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_ENV_IDX) -#define U8G_STATE_MSG_RESTORE_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_U8G_IDX) -#define U8G_STATE_MSG_BACKUP_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_U8G_IDX) - -#define U8G_STATE_MSG_GET_IDX(msg) ((msg)&1) -#define U8G_STATE_MSG_IS_BACKUP(msg) ((msg)&2) - - - -void u8g_state_dummy_cb(uint8_t msg); -void u8g_backup_spi(uint8_t msg); /* backup SPI state controller */ -/* backward compatible definition */ -#define u8g_backup_avr_spi u8g_backup_spi - -void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb); - -/* u8g_clip.c */ - -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); - - -/* u8g_rot.c */ - -void u8g_UndoRotation(u8g_t *u8g); -void u8g_SetRot90(u8g_t *u8g); -void u8g_SetRot180(u8g_t *u8g); -void u8g_SetRot270(u8g_t *u8g); - -/* u8g_scale.c */ - -void u8g_UndoScale(u8g_t *u8g); -void u8g_SetScale2x2(u8g_t *u8g); - - -/* u8g_font.c */ - -size_t u8g_font_GetSize(const void *font); -uint8_t u8g_font_GetFontStartEncoding(const void *font) U8G_NOINLINE; -uint8_t u8g_font_GetFontEndEncoding(const void *font) U8G_NOINLINE; - -void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font); - -uint8_t u8g_GetFontBBXWidth(u8g_t *u8g); -uint8_t u8g_GetFontBBXHeight(u8g_t *u8g); -int8_t u8g_GetFontBBXOffX(u8g_t *u8g); -int8_t u8g_GetFontBBXOffY(u8g_t *u8g); -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g); - -uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding); -int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding); - -int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); /* used by u8g_cursor.c */ - -int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); -int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); - -u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); -u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); - -u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); - - -u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); - - -void u8g_SetFontRefHeightText(u8g_t *u8g); -void u8g_SetFontRefHeightExtendedText(u8g_t *u8g); -void u8g_SetFontRefHeightAll(u8g_t *u8g); -void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor); - -u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g); -u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g); - -void u8g_SetFontPosBaseline(u8g_t *u8g); -void u8g_SetFontPosBottom(u8g_t *u8g); -void u8g_SetFontPosCenter(u8g_t *u8g); -void u8g_SetFontPosTop(u8g_t *u8g); - - -u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s); -u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); -int8_t u8g_GetStrX(u8g_t *u8g, const char *s); -int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s); -u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) U8G_NOINLINE; -u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); - -u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); - -void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); -void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); - - -u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); - -/* u8g_rect.c */ - -void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; - -void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE; -void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE; -void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; -void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; - -void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE; -void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE; - -/* u8g_bitmap.c */ - -void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap); -void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap); -void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap); -void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); - -void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap); -void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); - - -/* u8g_line.c */ -void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2); - - -/* u8g_circle.c */ - -/* the following, commented code has been rewritten or is not yet finished -#define U8G_CIRC_UPPER_RIGHT 0x01 -#define U8G_CIRC_UPPER_LEFT 0x02 -#define U8G_CIRC_LOWER_LEFT 0x04 -#define U8G_CIRC_LOWER_RIGHT 0x08 -#define U8G_CIRC_ALL (U8G_CIRC_UPPER_RIGHT|U8G_CIRC_UPPER_LEFT|U8G_CIRC_LOWER_RIGHT|U8G_CIRC_LOWER_LEFT) -void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1); -*/ - -#define U8G_DRAW_UPPER_RIGHT 0x01 -#define U8G_DRAW_UPPER_LEFT 0x02 -#define U8G_DRAW_LOWER_LEFT 0x04 -#define U8G_DRAW_LOWER_RIGHT 0x08 -#define U8G_DRAW_ALL (U8G_DRAW_UPPER_RIGHT|U8G_DRAW_UPPER_LEFT|U8G_DRAW_LOWER_RIGHT|U8G_DRAW_LOWER_LEFT) - -void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; -void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; - -void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); -void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); - -/* u8g_ellipse.c */ -void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); -void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); - -/* u8g_clip.c */ -uint8_t u8g_is_box_bbx_intersection(u8g_box_t *box, u8g_dev_arg_bbx_t *bbx); - - -/* u8g_cursor.c */ -void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font); -void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding); -void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y); -void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg); -void u8g_EnableCursor(u8g_t *u8g); -void u8g_DisableCursor(u8g_t *u8g); -void u8g_DrawCursor(u8g_t *u8g); - -/* u8g_polygon.c */ - -typedef int16_t pg_word_t; - -#define PG_NOINLINE U8G_NOINLINE - -struct pg_point_struct -{ - pg_word_t x; - pg_word_t y; -}; - -typedef struct _pg_struct pg_struct; /* forward declaration */ - -struct pg_edge_struct -{ - pg_word_t x_direction; /* 1, if x2 is greater than x1, -1 otherwise */ - pg_word_t height; - pg_word_t current_x_offset; - pg_word_t error_offset; - - /* --- line loop --- */ - pg_word_t current_y; - pg_word_t max_y; - pg_word_t current_x; - pg_word_t error; - - /* --- outer loop --- */ - uint8_t (*next_idx_fn)(pg_struct *pg, uint8_t i); - uint8_t curr_idx; -}; - -/* maximum number of points in the polygon */ -/* can be redefined, but highest possible value is 254 */ -#define PG_MAX_POINTS 6 - -/* index numbers for the pge structures below */ -#define PG_LEFT 0 -#define PG_RIGHT 1 - - -struct _pg_struct -{ - struct pg_point_struct list[PG_MAX_POINTS]; - uint8_t cnt; - uint8_t is_min_y_not_flat; - pg_word_t total_scan_line_cnt; - struct pg_edge_struct pge[2]; /* left and right line draw structures */ -}; - -void pg_ClearPolygonXY(pg_struct *pg); -void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y); -void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g); -void u8g_ClearPolygonXY(void); -void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y); -void u8g_DrawPolygon(u8g_t *u8g); -void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2); - - -/*===============================================================*/ -/* u8g_virtual_screen.c */ -void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height); -uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g); - -/*===============================================================*/ -void st_Draw(uint8_t fps); -void st_Step(uint8_t player_pos, uint8_t is_auto_fire, uint8_t is_fire); - -/*===============================================================*/ -/* u8g_com_i2c.c */ - -/* options for u8g_i2c_init() */ -#define U8G_I2C_OPT_NONE 0 -#define U8G_I2C_OPT_NO_ACK 2 -#define U8G_I2C_OPT_DEV_0 0 -#define U8G_I2C_OPT_DEV_1 4 -#define U8G_I2C_OPT_FAST 16 - -/* retrun values from u8g_twi_get_error() */ -#define U8G_I2C_ERR_NONE 0x00 -/* the following values are bit masks */ -#define U8G_I2C_ERR_TIMEOUT 0x01 -#define U8G_I2C_ERR_BUS 0x02 - -void u8g_i2c_clear_error(void) U8G_NOINLINE; -uint8_t u8g_i2c_get_error(void) U8G_NOINLINE; -uint8_t u8g_i2c_get_err_pos(void) U8G_NOINLINE; -void u8g_i2c_init(uint8_t options) U8G_NOINLINE; /* use U8G_I2C_OPT_NONE as options */ -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) U8G_NOINLINE; -uint8_t u8g_i2c_start(uint8_t sla) U8G_NOINLINE; -uint8_t u8g_i2c_send_byte(uint8_t data) U8G_NOINLINE; -uint8_t u8g_i2c_send_mode(uint8_t mode) U8G_NOINLINE; -void u8g_i2c_stop(void) U8G_NOINLINE; - - -/*===============================================================*/ -/* u8g_u8toa.c */ -/* v = value, d = number of digits */ -const char *u8g_u8toa(uint8_t v, uint8_t d); - -/* u8g_u8toa.c */ -/* v = value, d = number of digits */ -const char *u8g_u16toa(uint16_t v, uint8_t d); - -/*===============================================================*/ -/* u8g_delay.c */ - -/* delay by the specified number of milliseconds */ -void u8g_Delay(uint16_t val); - -/* delay by one microsecond */ -void u8g_MicroDelay(void); - -/* delay by 10 microseconds */ -void u8g_10MicroDelay(void); - -/*===============================================================*/ -/* chessengine.c */ -#define CHESS_KEY_NONE 0 -#define CHESS_KEY_NEXT 1 -#define CHESS_KEY_PREV 2 -#define CHESS_KEY_SELECT 3 -#define CHESS_KEY_BACK 4 - -void chess_Init(u8g_t *u8g, uint8_t empty_body_color); -void chess_Draw(void); -void chess_Step(uint8_t keycode); - -/*===============================================================*/ -/* font definitions */ -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5[] U8G_FONT_SECTION("u8g_font_m2icon_5"); -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7[] U8G_FONT_SECTION("u8g_font_m2icon_7"); -extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9[] U8G_FONT_SECTION("u8g_font_m2icon_9"); - -extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4[] U8G_FONT_SECTION("u8g_font_u8glib_4"); -extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[] U8G_FONT_SECTION("u8g_font_u8glib_4r"); - - -extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r[] U8G_FONT_SECTION("u8g_font_6x12_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r[] U8G_FONT_SECTION("u8g_font_6x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_75r[] U8G_FONT_SECTION("u8g_font_7x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13_75r[] U8G_FONT_SECTION("u8g_font_8x13_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15_75r[] U8G_FONT_SECTION("u8g_font_9x15_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18_75r[] U8G_FONT_SECTION("u8g_font_9x18_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12_75r[] U8G_FONT_SECTION("u8g_font_cu12_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_75r[] U8G_FONT_SECTION("u8g_font_unifont_75r"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20_75r[] U8G_FONT_SECTION("u8g_font_10x20_75r"); - -extern const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[] U8G_FONT_SECTION("u8g_font_10x20_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[] U8G_FONT_SECTION("u8g_font_10x20_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20[] U8G_FONT_SECTION("u8g_font_10x20"); -extern const u8g_fntpgm_uint8_t u8g_font_10x20r[] U8G_FONT_SECTION("u8g_font_10x20r"); -extern const u8g_fntpgm_uint8_t u8g_font_4x6[] U8G_FONT_SECTION("u8g_font_4x6"); -extern const u8g_fntpgm_uint8_t u8g_font_4x6r[] U8G_FONT_SECTION("u8g_font_4x6r"); -//extern const u8g_fntpgm_uint8_t u8g_font_4x6n[] U8G_FONT_SECTION("u8g_font_4x6n"); -extern const u8g_fntpgm_uint8_t u8g_font_5x7[] U8G_FONT_SECTION("u8g_font_5x7"); -extern const u8g_fntpgm_uint8_t u8g_font_5x7r[] U8G_FONT_SECTION("u8g_font_5x7r"); -extern const u8g_fntpgm_uint8_t u8g_font_5x8[] U8G_FONT_SECTION("u8g_font_5x8"); -extern const u8g_fntpgm_uint8_t u8g_font_5x8r[] U8G_FONT_SECTION("u8g_font_5x8r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x10[] U8G_FONT_SECTION("u8g_font_6x10"); -extern const u8g_fntpgm_uint8_t u8g_font_6x10r[] U8G_FONT_SECTION("u8g_font_6x10r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[] U8G_FONT_SECTION("u8g_font_6x12_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[] U8G_FONT_SECTION("u8g_font_6x12_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12[] U8G_FONT_SECTION("u8g_font_6x12"); -extern const u8g_fntpgm_uint8_t u8g_font_6x12r[] U8G_FONT_SECTION("u8g_font_6x12r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[] U8G_FONT_SECTION("u8g_font_6x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[] U8G_FONT_SECTION("u8g_font_6x13_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13B[] U8G_FONT_SECTION("u8g_font_6x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13Br[] U8G_FONT_SECTION("u8g_font_6x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13[] U8G_FONT_SECTION("u8g_font_6x13"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13r[] U8G_FONT_SECTION("u8g_font_6x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13O[] U8G_FONT_SECTION("u8g_font_6x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_6x13Or[] U8G_FONT_SECTION("u8g_font_6x13Or"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[] U8G_FONT_SECTION("u8g_font_7x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13_78_79[] U8G_FONT_SECTION("u8g_font_7x13_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13B[] U8G_FONT_SECTION("u8g_font_7x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13Br[] U8G_FONT_SECTION("u8g_font_7x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13[] U8G_FONT_SECTION("u8g_font_7x13"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13r[] U8G_FONT_SECTION("u8g_font_7x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13O[] U8G_FONT_SECTION("u8g_font_7x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_7x13Or[] U8G_FONT_SECTION("u8g_font_7x13Or"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14B[] U8G_FONT_SECTION("u8g_font_7x14B"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14Br[] U8G_FONT_SECTION("u8g_font_7x14Br"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14[] U8G_FONT_SECTION("u8g_font_7x14"); -extern const u8g_fntpgm_uint8_t u8g_font_7x14r[] U8G_FONT_SECTION("u8g_font_7x14r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[] U8G_FONT_SECTION("u8g_font_8x13_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13B[] U8G_FONT_SECTION("u8g_font_8x13B"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13Br[] U8G_FONT_SECTION("u8g_font_8x13Br"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13[] U8G_FONT_SECTION("u8g_font_8x13"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13r[] U8G_FONT_SECTION("u8g_font_8x13r"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13O[] U8G_FONT_SECTION("u8g_font_8x13O"); -extern const u8g_fntpgm_uint8_t u8g_font_8x13Or[] U8G_FONT_SECTION("u8g_font_8x13Or"); - -extern const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[] U8G_FONT_SECTION("u8g_font_9x15_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[] U8G_FONT_SECTION("u8g_font_9x15_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15B[] U8G_FONT_SECTION("u8g_font_9x15B"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15Br[] U8G_FONT_SECTION("u8g_font_9x15Br"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15[] U8G_FONT_SECTION("u8g_font_9x15"); -extern const u8g_fntpgm_uint8_t u8g_font_9x15r[] U8G_FONT_SECTION("u8g_font_9x15r"); - -extern const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[] U8G_FONT_SECTION("u8g_font_9x18_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[] U8G_FONT_SECTION("u8g_font_9x18_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18B[] U8G_FONT_SECTION("u8g_font_9x18B"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18[] U8G_FONT_SECTION("u8g_font_9x18"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18Br[] U8G_FONT_SECTION("u8g_font_9x18Br"); -extern const u8g_fntpgm_uint8_t u8g_font_9x18r[] U8G_FONT_SECTION("u8g_font_9x18r"); - -extern const u8g_fntpgm_uint8_t u8g_font_cursor[] U8G_FONT_SECTION("u8g_font_cursor"); -extern const u8g_fntpgm_uint8_t u8g_font_cursorr[] U8G_FONT_SECTION("u8g_font_cursorr"); -extern const u8g_fntpgm_uint8_t u8g_font_micro[] U8G_FONT_SECTION("u8g_font_micro"); - -extern const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[] U8G_FONT_SECTION("u8g_font_cu12_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12_78_79[] U8G_FONT_SECTION("u8g_font_cu12_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_FONT_SECTION("u8g_font_cu12"); - -/* - Free-Universal Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_fub11[] U8G_FONT_SECTION("u8g_font_fub11"); -extern const u8g_fntpgm_uint8_t u8g_font_fub11r[] U8G_FONT_SECTION("u8g_font_fub11r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub11n[] U8G_FONT_SECTION("u8g_font_fub11n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14[] U8G_FONT_SECTION("u8g_font_fub14"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14r[] U8G_FONT_SECTION("u8g_font_fub14r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub14n[] U8G_FONT_SECTION("u8g_font_fub14n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17[] U8G_FONT_SECTION("u8g_font_fub17"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17r[] U8G_FONT_SECTION("u8g_font_fub17r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub17n[] U8G_FONT_SECTION("u8g_font_fub17n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20[] U8G_FONT_SECTION("u8g_font_fub20"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20r[] U8G_FONT_SECTION("u8g_font_fub20r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub20n[] U8G_FONT_SECTION("u8g_font_fub20n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25[] U8G_FONT_SECTION("u8g_font_fub25"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25r[] U8G_FONT_SECTION("u8g_font_fub25r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub25n[] U8G_FONT_SECTION("u8g_font_fub25n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30[] U8G_FONT_SECTION("u8g_font_fub30"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30r[] U8G_FONT_SECTION("u8g_font_fub30r"); -extern const u8g_fntpgm_uint8_t u8g_font_fub30n[] U8G_FONT_SECTION("u8g_font_fub30n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub35n[] U8G_FONT_SECTION("u8g_font_fub35n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub42n[] U8G_FONT_SECTION("u8g_font_fub42n"); -extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_FONT_SECTION("u8g_font_fub49n"); - -/* - Free-Universal Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_fur11[] U8G_FONT_SECTION("u8g_font_fur11"); -extern const u8g_fntpgm_uint8_t u8g_font_fur11r[] U8G_FONT_SECTION("u8g_font_fur11r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur11n[] U8G_FONT_SECTION("u8g_font_fur11n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14[] U8G_FONT_SECTION("u8g_font_fur14"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14r[] U8G_FONT_SECTION("u8g_font_fur14r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur14n[] U8G_FONT_SECTION("u8g_font_fur14n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17[] U8G_FONT_SECTION("u8g_font_fur17"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17r[] U8G_FONT_SECTION("u8g_font_fur17r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur17n[] U8G_FONT_SECTION("u8g_font_fur17n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20[] U8G_FONT_SECTION("u8g_font_fur20"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20r[] U8G_FONT_SECTION("u8g_font_fur20r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur20n[] U8G_FONT_SECTION("u8g_font_fur20n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25[] U8G_FONT_SECTION("u8g_font_fur25"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25r[] U8G_FONT_SECTION("u8g_font_fur25r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur25n[] U8G_FONT_SECTION("u8g_font_fur25n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30[] U8G_FONT_SECTION("u8g_font_fur30"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30r[] U8G_FONT_SECTION("u8g_font_fur30r"); -extern const u8g_fntpgm_uint8_t u8g_font_fur30n[] U8G_FONT_SECTION("u8g_font_fur30n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur35n[] U8G_FONT_SECTION("u8g_font_fur35n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur42n[] U8G_FONT_SECTION("u8g_font_fur42n"); -extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_FONT_SECTION("u8g_font_fur49n"); - -/* - Gentium Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11[] U8G_FONT_SECTION("u8g_font_gdb11"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12[] U8G_FONT_SECTION("u8g_font_gdb12"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14[] U8G_FONT_SECTION("u8g_font_gdb14"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17[] U8G_FONT_SECTION("u8g_font_gdb17"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20[] U8G_FONT_SECTION("u8g_font_gdb20"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25[] U8G_FONT_SECTION("u8g_font_gdb25"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30[] U8G_FONT_SECTION("u8g_font_gdb30"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11r[] U8G_FONT_SECTION("u8g_font_gdb11r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12r[] U8G_FONT_SECTION("u8g_font_gdb12r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14r[] U8G_FONT_SECTION("u8g_font_gdb14r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17r[] U8G_FONT_SECTION("u8g_font_gdb17r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20r[] U8G_FONT_SECTION("u8g_font_gdb20r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25r[] U8G_FONT_SECTION("u8g_font_gdb25r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30r[] U8G_FONT_SECTION("u8g_font_gdb30r"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdb11n[] U8G_FONT_SECTION("u8g_font_gdb11n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb12n[] U8G_FONT_SECTION("u8g_font_gdb12n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb14n[] U8G_FONT_SECTION("u8g_font_gdb14n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb17n[] U8G_FONT_SECTION("u8g_font_gdb17n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb20n[] U8G_FONT_SECTION("u8g_font_gdb20n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb25n[] U8G_FONT_SECTION("u8g_font_gdb25n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_FONT_SECTION("u8g_font_gdb30n"); - -/* - Gentium Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9[] U8G_FONT_SECTION("u8g_font_gdr9"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10[] U8G_FONT_SECTION("u8g_font_gdr10"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11[] U8G_FONT_SECTION("u8g_font_gdr11"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12[] U8G_FONT_SECTION("u8g_font_gdr12"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14[] U8G_FONT_SECTION("u8g_font_gdr14"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17[] U8G_FONT_SECTION("u8g_font_gdr17"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20[] U8G_FONT_SECTION("u8g_font_gdr20"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25[] U8G_FONT_SECTION("u8g_font_gdr25"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30[] U8G_FONT_SECTION("u8g_font_gdr30"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9r[] U8G_FONT_SECTION("u8g_font_gdr9r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10r[] U8G_FONT_SECTION("u8g_font_gdr10r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11r[] U8G_FONT_SECTION("u8g_font_gdr11r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12r[] U8G_FONT_SECTION("u8g_font_gdr12r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14r[] U8G_FONT_SECTION("u8g_font_gdr14r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17r[] U8G_FONT_SECTION("u8g_font_gdr17r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20r[] U8G_FONT_SECTION("u8g_font_gdr20r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25r[] U8G_FONT_SECTION("u8g_font_gdr25r"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30r[] U8G_FONT_SECTION("u8g_font_gdr30r"); - -extern const u8g_fntpgm_uint8_t u8g_font_gdr9n[] U8G_FONT_SECTION("u8g_font_gdr9n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr10n[] U8G_FONT_SECTION("u8g_font_gdr10n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr11n[] U8G_FONT_SECTION("u8g_font_gdr11n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr12n[] U8G_FONT_SECTION("u8g_font_gdr12n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr14n[] U8G_FONT_SECTION("u8g_font_gdr14n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr17n[] U8G_FONT_SECTION("u8g_font_gdr17n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr20n[] U8G_FONT_SECTION("u8g_font_gdr20n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr25n[] U8G_FONT_SECTION("u8g_font_gdr25n"); -extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_FONT_SECTION("u8g_font_gdr30n"); - -/* - Old-Standard Bold - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_osb18[] U8G_FONT_SECTION("u8g_font_osb18"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21[] U8G_FONT_SECTION("u8g_font_osb21"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26[] U8G_FONT_SECTION("u8g_font_osb26"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29[] U8G_FONT_SECTION("u8g_font_osb29"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35[] U8G_FONT_SECTION("u8g_font_osb35"); - -extern const u8g_fntpgm_uint8_t u8g_font_osb18r[] U8G_FONT_SECTION("u8g_font_osb18r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21r[] U8G_FONT_SECTION("u8g_font_osb21r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26r[] U8G_FONT_SECTION("u8g_font_osb26r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29r[] U8G_FONT_SECTION("u8g_font_osb29r"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35r[] U8G_FONT_SECTION("u8g_font_osb35r"); - -extern const u8g_fntpgm_uint8_t u8g_font_osb18n[] U8G_FONT_SECTION("u8g_font_osb18n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb21n[] U8G_FONT_SECTION("u8g_font_osb21n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb26n[] U8G_FONT_SECTION("u8g_font_osb26n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb29n[] U8G_FONT_SECTION("u8g_font_osb29n"); -extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_FONT_SECTION("u8g_font_osb35n"); - -/* - Old-Standard Regular - r: Reduced char set (codes 32 - 128) - n: Numbers (codes 42 - 57) - no char: Full set (codes 32 - 255) -*/ - -extern const u8g_fntpgm_uint8_t u8g_font_osr18[] U8G_FONT_SECTION("u8g_font_osr18"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21[] U8G_FONT_SECTION("u8g_font_osr21"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26[] U8G_FONT_SECTION("u8g_font_osr26"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29[] U8G_FONT_SECTION("u8g_font_osr29"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35[] U8G_FONT_SECTION("u8g_font_osr35"); - -extern const u8g_fntpgm_uint8_t u8g_font_osr18r[] U8G_FONT_SECTION("u8g_font_osr18r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21r[] U8G_FONT_SECTION("u8g_font_osr21r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26r[] U8G_FONT_SECTION("u8g_font_osr26r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29r[] U8G_FONT_SECTION("u8g_font_osr29r"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35r[] U8G_FONT_SECTION("u8g_font_osr35r"); - -extern const u8g_fntpgm_uint8_t u8g_font_osr18n[] U8G_FONT_SECTION("u8g_font_osr18n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr21n[] U8G_FONT_SECTION("u8g_font_osr21n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr26n[] U8G_FONT_SECTION("u8g_font_osr26n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr29n[] U8G_FONT_SECTION("u8g_font_osr29n"); -extern const u8g_fntpgm_uint8_t u8g_font_osr35n[] U8G_FONT_SECTION("u8g_font_osr35n"); - -//extern const u8g_fntpgm_uint8_t u8g_font_osr41[] U8G_FONT_SECTION("u8g_font_osr41"); - -/* GNU unifont */ - -extern const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[] U8G_FONT_SECTION("u8g_font_unifont_18_19"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[] U8G_FONT_SECTION("u8g_font_unifont_72_73"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[] U8G_FONT_SECTION("u8g_font_unifont_67_75"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_76[] U8G_FONT_SECTION("u8g_font_unifont_76"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_77[] U8G_FONT_SECTION("u8g_font_unifont_77"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[] U8G_FONT_SECTION("u8g_font_unifont_78_79"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_86[] U8G_FONT_SECTION("u8g_font_unifont_86"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont[] U8G_FONT_SECTION("u8g_font_unifont"); -extern const u8g_fntpgm_uint8_t u8g_font_unifontr[] U8G_FONT_SECTION("u8g_font_unifontr"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[] U8G_FONT_SECTION("u8g_font_unifont_0_8"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[] U8G_FONT_SECTION("u8g_font_unifont_2_3"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[] U8G_FONT_SECTION("u8g_font_unifont_4_5"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[] U8G_FONT_SECTION("u8g_font_unifont_8_9"); -extern const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[] U8G_FONT_SECTION("u8g_font_unifont_12_13"); - - -/* 04b fonts */ - -extern const u8g_fntpgm_uint8_t u8g_font_04b_03b[] U8G_FONT_SECTION("u8g_font_04b_03b"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03bn[] U8G_FONT_SECTION("u8g_font_04b_03bn"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03br[] U8G_FONT_SECTION("u8g_font_04b_03br"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03[] U8G_FONT_SECTION("u8g_font_04b_03"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03n[] U8G_FONT_SECTION("u8g_font_04b_03n"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_03r[] U8G_FONT_SECTION("u8g_font_04b_03r"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24[] U8G_FONT_SECTION("u8g_font_04b_24"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24n[] U8G_FONT_SECTION("u8g_font_04b_24n"); -extern const u8g_fntpgm_uint8_t u8g_font_04b_24r[] U8G_FONT_SECTION("u8g_font_04b_24r"); - -/* orgdot fonts */ - -extern const u8g_fntpgm_uint8_t u8g_font_orgv01[] U8G_FONT_SECTION("u8g_font_orgv01"); -extern const u8g_fntpgm_uint8_t u8g_font_orgv01r[] U8G_FONT_SECTION("u8g_font_orgv01r"); -extern const u8g_fntpgm_uint8_t u8g_font_orgv01n[] U8G_FONT_SECTION("u8g_font_orgv01n"); - -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0[] U8G_FONT_SECTION("u8g_font_fixed_v0"); -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[] U8G_FONT_SECTION("u8g_font_fixed_v0r"); -extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[] U8G_FONT_SECTION("u8g_font_fixed_v0n"); - -extern const u8g_fntpgm_uint8_t u8g_font_tpssb[] U8G_FONT_SECTION("u8g_font_tpssb"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssbr[] U8G_FONT_SECTION("u8g_font_tpssbr"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssbn[] U8G_FONT_SECTION("u8g_font_tpssbn"); - -extern const u8g_fntpgm_uint8_t u8g_font_tpss[] U8G_FONT_SECTION("u8g_font_tpss"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssr[] U8G_FONT_SECTION("u8g_font_tpssr"); -extern const u8g_fntpgm_uint8_t u8g_font_tpssn[] U8G_FONT_SECTION("u8g_font_tpssn"); - -/* contributed */ - -extern const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[] U8G_FONT_SECTION("u8g_font_freedoomr25n"); -extern const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[] U8G_FONT_SECTION("u8g_font_freedoomr10r"); - -/* adobe X11 */ -extern const u8g_fntpgm_uint8_t u8g_font_courB08[] U8G_FONT_SECTION("u8g_font_courB08"); -extern const u8g_fntpgm_uint8_t u8g_font_courB08r[] U8G_FONT_SECTION("u8g_font_courB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB10[] U8G_FONT_SECTION("u8g_font_courB10"); -extern const u8g_fntpgm_uint8_t u8g_font_courB10r[] U8G_FONT_SECTION("u8g_font_courB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB12[] U8G_FONT_SECTION("u8g_font_courB12"); -extern const u8g_fntpgm_uint8_t u8g_font_courB12r[] U8G_FONT_SECTION("u8g_font_courB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB14[] U8G_FONT_SECTION("u8g_font_courB14"); -extern const u8g_fntpgm_uint8_t u8g_font_courB14r[] U8G_FONT_SECTION("u8g_font_courB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB18[] U8G_FONT_SECTION("u8g_font_courB18"); -extern const u8g_fntpgm_uint8_t u8g_font_courB18r[] U8G_FONT_SECTION("u8g_font_courB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24[] U8G_FONT_SECTION("u8g_font_courB24"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24r[] U8G_FONT_SECTION("u8g_font_courB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_courB24n[] U8G_FONT_SECTION("u8g_font_courB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_courR08[] U8G_FONT_SECTION("u8g_font_courR08"); -extern const u8g_fntpgm_uint8_t u8g_font_courR08r[] U8G_FONT_SECTION("u8g_font_courR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR10[] U8G_FONT_SECTION("u8g_font_courR10"); -extern const u8g_fntpgm_uint8_t u8g_font_courR10r[] U8G_FONT_SECTION("u8g_font_courR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR12[] U8G_FONT_SECTION("u8g_font_courR12"); -extern const u8g_fntpgm_uint8_t u8g_font_courR12r[] U8G_FONT_SECTION("u8g_font_courR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR14[] U8G_FONT_SECTION("u8g_font_courR14"); -extern const u8g_fntpgm_uint8_t u8g_font_courR14r[] U8G_FONT_SECTION("u8g_font_courR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR18[] U8G_FONT_SECTION("u8g_font_courR18"); -extern const u8g_fntpgm_uint8_t u8g_font_courR18r[] U8G_FONT_SECTION("u8g_font_courR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24[] U8G_FONT_SECTION("u8g_font_courR24"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24r[] U8G_FONT_SECTION("u8g_font_courR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_courR24n[] U8G_FONT_SECTION("u8g_font_courR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_helvB08[] U8G_FONT_SECTION("u8g_font_helvB08"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB08r[] U8G_FONT_SECTION("u8g_font_helvB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB08n[] U8G_FONT_SECTION("u8g_font_helvB08n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10[] U8G_FONT_SECTION("u8g_font_helvB10"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10r[] U8G_FONT_SECTION("u8g_font_helvB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB10n[] U8G_FONT_SECTION("u8g_font_helvB10n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12[] U8G_FONT_SECTION("u8g_font_helvB12"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12r[] U8G_FONT_SECTION("u8g_font_helvB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB12n[] U8G_FONT_SECTION("u8g_font_helvB12n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14[] U8G_FONT_SECTION("u8g_font_helvB14"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14r[] U8G_FONT_SECTION("u8g_font_helvB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB14n[] U8G_FONT_SECTION("u8g_font_helvB14n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18[] U8G_FONT_SECTION("u8g_font_helvB18"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18r[] U8G_FONT_SECTION("u8g_font_helvB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB18n[] U8G_FONT_SECTION("u8g_font_helvB18n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24[] U8G_FONT_SECTION("u8g_font_helvB24"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24r[] U8G_FONT_SECTION("u8g_font_helvB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvB24n[] U8G_FONT_SECTION("u8g_font_helvB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_helvR08[] U8G_FONT_SECTION("u8g_font_helvR08"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR08r[] U8G_FONT_SECTION("u8g_font_helvR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR08n[] U8G_FONT_SECTION("u8g_font_helvR08n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10[] U8G_FONT_SECTION("u8g_font_helvR10"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10r[] U8G_FONT_SECTION("u8g_font_helvR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR10n[] U8G_FONT_SECTION("u8g_font_helvR10n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12[] U8G_FONT_SECTION("u8g_font_helvR12"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12r[] U8G_FONT_SECTION("u8g_font_helvR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR12n[] U8G_FONT_SECTION("u8g_font_helvR12n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14[] U8G_FONT_SECTION("u8g_font_helvR14"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14r[] U8G_FONT_SECTION("u8g_font_helvR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR14n[] U8G_FONT_SECTION("u8g_font_helvR14n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18[] U8G_FONT_SECTION("u8g_font_helvR18"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18r[] U8G_FONT_SECTION("u8g_font_helvR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR18n[] U8G_FONT_SECTION("u8g_font_helvR18n"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24[] U8G_FONT_SECTION("u8g_font_helvR24"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24r[] U8G_FONT_SECTION("u8g_font_helvR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_helvR24n[] U8G_FONT_SECTION("u8g_font_helvR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_ncenB08[] U8G_FONT_SECTION("u8g_font_ncenB08"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB08r[] U8G_FONT_SECTION("u8g_font_ncenB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB10[] U8G_FONT_SECTION("u8g_font_ncenB10"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB10r[] U8G_FONT_SECTION("u8g_font_ncenB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB12[] U8G_FONT_SECTION("u8g_font_ncenB12"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB12r[] U8G_FONT_SECTION("u8g_font_ncenB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB14[] U8G_FONT_SECTION("u8g_font_ncenB14"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB14r[] U8G_FONT_SECTION("u8g_font_ncenB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB18[] U8G_FONT_SECTION("u8g_font_ncenB18"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB18r[] U8G_FONT_SECTION("u8g_font_ncenB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24[] U8G_FONT_SECTION("u8g_font_ncenB24"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24r[] U8G_FONT_SECTION("u8g_font_ncenB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenB24n[] U8G_FONT_SECTION("u8g_font_ncenB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_ncenR08[] U8G_FONT_SECTION("u8g_font_ncenR08"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR08r[] U8G_FONT_SECTION("u8g_font_ncenR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR10[] U8G_FONT_SECTION("u8g_font_ncenR10"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR10r[] U8G_FONT_SECTION("u8g_font_ncenR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR12[] U8G_FONT_SECTION("u8g_font_ncenR12"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR12r[] U8G_FONT_SECTION("u8g_font_ncenR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR14[] U8G_FONT_SECTION("u8g_font_ncenR14"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR14r[] U8G_FONT_SECTION("u8g_font_ncenR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR18[] U8G_FONT_SECTION("u8g_font_ncenR18"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR18r[] U8G_FONT_SECTION("u8g_font_ncenR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24[] U8G_FONT_SECTION("u8g_font_ncenR24"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24r[] U8G_FONT_SECTION("u8g_font_ncenR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_ncenR24n[] U8G_FONT_SECTION("u8g_font_ncenR24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_symb08[] U8G_FONT_SECTION("u8g_font_symb08"); -extern const u8g_fntpgm_uint8_t u8g_font_symb08r[] U8G_FONT_SECTION("u8g_font_symb08r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb10[] U8G_FONT_SECTION("u8g_font_symb10"); -extern const u8g_fntpgm_uint8_t u8g_font_symb10r[] U8G_FONT_SECTION("u8g_font_symb10r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb12[] U8G_FONT_SECTION("u8g_font_symb12"); -extern const u8g_fntpgm_uint8_t u8g_font_symb12r[] U8G_FONT_SECTION("u8g_font_symb12r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb14[] U8G_FONT_SECTION("u8g_font_symb14"); -extern const u8g_fntpgm_uint8_t u8g_font_symb14r[] U8G_FONT_SECTION("u8g_font_symb14r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb18[] U8G_FONT_SECTION("u8g_font_symb18"); -extern const u8g_fntpgm_uint8_t u8g_font_symb18r[] U8G_FONT_SECTION("u8g_font_symb18r"); -extern const u8g_fntpgm_uint8_t u8g_font_symb24[] U8G_FONT_SECTION("u8g_font_symb24"); -extern const u8g_fntpgm_uint8_t u8g_font_symb24r[] U8G_FONT_SECTION("u8g_font_symb24r"); - -extern const u8g_fntpgm_uint8_t u8g_font_timB08[] U8G_FONT_SECTION("u8g_font_timB08"); -extern const u8g_fntpgm_uint8_t u8g_font_timB08r[] U8G_FONT_SECTION("u8g_font_timB08r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB10[] U8G_FONT_SECTION("u8g_font_timB10"); -extern const u8g_fntpgm_uint8_t u8g_font_timB10r[] U8G_FONT_SECTION("u8g_font_timB10r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB12[] U8G_FONT_SECTION("u8g_font_timB12"); -extern const u8g_fntpgm_uint8_t u8g_font_timB12r[] U8G_FONT_SECTION("u8g_font_timB12r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB14[] U8G_FONT_SECTION("u8g_font_timB14"); -extern const u8g_fntpgm_uint8_t u8g_font_timB14r[] U8G_FONT_SECTION("u8g_font_timB14r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB18[] U8G_FONT_SECTION("u8g_font_timB18"); -extern const u8g_fntpgm_uint8_t u8g_font_timB18r[] U8G_FONT_SECTION("u8g_font_timB18r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24[] U8G_FONT_SECTION("u8g_font_timB24"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24r[] U8G_FONT_SECTION("u8g_font_timB24r"); -extern const u8g_fntpgm_uint8_t u8g_font_timB24n[] U8G_FONT_SECTION("u8g_font_timB24n"); - -extern const u8g_fntpgm_uint8_t u8g_font_timR08[] U8G_FONT_SECTION("u8g_font_timR08"); -extern const u8g_fntpgm_uint8_t u8g_font_timR08r[] U8G_FONT_SECTION("u8g_font_timR08r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR10[] U8G_FONT_SECTION("u8g_font_timR10"); -extern const u8g_fntpgm_uint8_t u8g_font_timR10r[] U8G_FONT_SECTION("u8g_font_timR10r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR12[] U8G_FONT_SECTION("u8g_font_timR12"); -extern const u8g_fntpgm_uint8_t u8g_font_timR12r[] U8G_FONT_SECTION("u8g_font_timR12r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR14[] U8G_FONT_SECTION("u8g_font_timR14"); -extern const u8g_fntpgm_uint8_t u8g_font_timR14r[] U8G_FONT_SECTION("u8g_font_timR14r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR18[] U8G_FONT_SECTION("u8g_font_timR18"); -extern const u8g_fntpgm_uint8_t u8g_font_timR18r[] U8G_FONT_SECTION("u8g_font_timR18r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24[] U8G_FONT_SECTION("u8g_font_timR24"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24r[] U8G_FONT_SECTION("u8g_font_timR24r"); -extern const u8g_fntpgm_uint8_t u8g_font_timR24n[] U8G_FONT_SECTION("u8g_font_timR24n"); - -/* fontstruct */ - -extern const u8g_fntpgm_uint8_t u8g_font_p01type[] U8G_FONT_SECTION("u8g_font_p01type"); -extern const u8g_fntpgm_uint8_t u8g_font_p01typer[] U8G_FONT_SECTION("u8g_font_p01typer"); -extern const u8g_fntpgm_uint8_t u8g_font_p01typen[] U8G_FONT_SECTION("u8g_font_p01typen"); - -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[] U8G_FONT_SECTION("u8g_font_lucasfont_alternate"); -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[] U8G_FONT_SECTION("u8g_font_lucasfont_alternater"); -extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten"); - -extern const u8g_fntpgm_uint8_t u8g_font_chikita[] U8G_FONT_SECTION("u8g_font_chikita"); -extern const u8g_fntpgm_uint8_t u8g_font_chikitar[] U8G_FONT_SECTION("u8g_font_chikitar"); -extern const u8g_fntpgm_uint8_t u8g_font_chikitan[] U8G_FONT_SECTION("u8g_font_chikitan"); - -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[] U8G_FONT_SECTION("u8g_font_pixelle_micro"); -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[] U8G_FONT_SECTION("u8g_font_pixelle_micror"); -extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[] U8G_FONT_SECTION("u8g_font_pixelle_micron"); - -extern const u8g_fntpgm_uint8_t u8g_font_trixel_square[] U8G_FONT_SECTION("u8g_font_trixel_square"); -extern const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[] U8G_FONT_SECTION("u8g_font_trixel_squarer"); -extern const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[] U8G_FONT_SECTION("u8g_font_trixel_squaren"); - -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[] U8G_FONT_SECTION("u8g_font_robot_de_niro"); -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[] U8G_FONT_SECTION("u8g_font_robot_de_niror"); -extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[] U8G_FONT_SECTION("u8g_font_robot_de_niron"); - -extern const u8g_fntpgm_uint8_t u8g_font_baby[] U8G_FONT_SECTION("u8g_font_baby"); -extern const u8g_fntpgm_uint8_t u8g_font_babyr[] U8G_FONT_SECTION("u8g_font_babyr"); -extern const u8g_fntpgm_uint8_t u8g_font_babyn[] U8G_FONT_SECTION("u8g_font_babyn"); - -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07[] U8G_FONT_SECTION("u8g_font_blipfest_07"); -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[] U8G_FONT_SECTION("u8g_font_blipfest_07r"); -extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[] U8G_FONT_SECTION("u8g_font_blipfest_07n"); - -/* profont */ - -extern const u8g_fntpgm_uint8_t u8g_font_profont10[] U8G_FONT_SECTION("u8g_font_profont10"); -extern const u8g_fntpgm_uint8_t u8g_font_profont10r[] U8G_FONT_SECTION("u8g_font_profont10r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont11[] U8G_FONT_SECTION("u8g_font_profont11"); -extern const u8g_fntpgm_uint8_t u8g_font_profont11r[] U8G_FONT_SECTION("u8g_font_profont11r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont12[] U8G_FONT_SECTION("u8g_font_profont12"); -extern const u8g_fntpgm_uint8_t u8g_font_profont12r[] U8G_FONT_SECTION("u8g_font_profont12r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont15[] U8G_FONT_SECTION("u8g_font_profont15"); -extern const u8g_fntpgm_uint8_t u8g_font_profont15r[] U8G_FONT_SECTION("u8g_font_profont15r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont17[] U8G_FONT_SECTION("u8g_font_profont17"); -extern const u8g_fntpgm_uint8_t u8g_font_profont17r[] U8G_FONT_SECTION("u8g_font_profont17r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont22[] U8G_FONT_SECTION("u8g_font_profont22"); -extern const u8g_fntpgm_uint8_t u8g_font_profont22r[] U8G_FONT_SECTION("u8g_font_profont22r"); -extern const u8g_fntpgm_uint8_t u8g_font_profont29[] U8G_FONT_SECTION("u8g_font_profont29"); -extern const u8g_fntpgm_uint8_t u8g_font_profont29r[] U8G_FONT_SECTION("u8g_font_profont29r"); - - -#ifdef __cplusplus -} -#endif - -#endif /* _U8G_H */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c deleted file mode 100644 index dc742d1d7..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_bitmap.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - - u8g_bitmap.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap) -{ - while( cnt > 0 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, *bitmap); - bitmap++; - cnt--; - x+=8; - } -} - -void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHBitmap(u8g, x, y, cnt, bitmap); - bitmap += cnt; - y++; - h--; - } -} - - -void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap) -{ - while( cnt > 0 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, u8g_pgm_read(bitmap)); - bitmap++; - cnt--; - x+=8; - } -} - -void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHBitmapP(u8g, x, y, cnt, bitmap); - bitmap += cnt; - y++; - h--; - } -} - -/*=========================================================================*/ - -static void u8g_DrawHXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const uint8_t *bitmap) -{ - uint8_t d; - x+=7; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 2, *bitmap); - bitmap++; - w-= 8; - x+=8; - } - if ( w > 0 ) - { - d = *bitmap; - x -= 7; - do - { - if ( d & 1 ) - u8g_DrawPixel(u8g, x, y); - x++; - w--; - d >>= 1; - } while ( w > 0 ); - } -} - -void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) -{ - u8g_uint_t b; - b = w; - b += 7; - b >>= 3; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - while( h > 0 ) - { - u8g_DrawHXBM(u8g, x, y, w, bitmap); - bitmap += b; - y++; - h--; - } -} - -static void u8g_DrawHXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const u8g_pgm_uint8_t *bitmap) -{ - uint8_t d; - x+=7; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 2, u8g_pgm_read(bitmap)); - bitmap++; - w-= 8; - x+=8; - } - if ( w > 0 ) - { - d = u8g_pgm_read(bitmap); - x -= 7; - do - { - if ( d & 1 ) - u8g_DrawPixel(u8g, x, y); - x++; - w--; - d >>= 1; - } while ( w > 0 ); - } -} - -void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) -{ - u8g_uint_t b; - b = w; - b += 7; - b >>= 3; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - while( h > 0 ) - { - u8g_DrawHXBMP(u8g, x, y, w, bitmap); - bitmap += b; - y++; - h--; - } -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c deleted file mode 100644 index 8f4a0525d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_circle.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - - u8g_circle.c - - Utility to draw empty and filled circles. - - Universal 8bit Graphics Library - - Copyright (c) 2011, bjthom@gmail.com - u8g_DrawCircle & u8g_DrawDisc by olikraus@gmail.com - - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Addition to the U8G Library 02/25/12 - - -*/ - -#include "u8g.h" - -#ifdef OLD_CODE - -void circ_upperRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - u8g_DrawPixel(u8g, x0 + y, y0 - x); -} - -void circ_upperLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - u8g_DrawPixel(u8g, x0 - y, y0 - x); -} - -void circ_lowerRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - u8g_DrawPixel(u8g, x0 + y, y0 + x); -} - -void circ_lowerLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - u8g_DrawPixel(u8g, x0 - y, y0 + x); -} - -void circ_all(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { - circ_upperRight(u8g, x, y, x0, y0); - circ_upperLeft(u8g, x, y, x0, y0); - circ_lowerRight(u8g, x, y, x0, y0); - circ_lowerLeft(u8g, x, y, x0, y0); -} - -void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) - return; - - int f = 1 - rad; - int ddF_x = 1; - int ddF_y = -2*rad; - uint8_t x = 0; - uint8_t y = rad; - - void ( *circ_util )(u8g_t *, u8g_uint_t, u8g_uint_t, u8g_uint_t, u8g_uint_t); - - switch (option) - { - case U8G_CIRC_UPPER_RIGHT: - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - circ_util = circ_upperRight; - break; - case U8G_CIRC_UPPER_LEFT: - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_upperLeft; - break; - case U8G_CIRC_LOWER_RIGHT: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - circ_util = circ_lowerRight; - break; - case U8G_CIRC_LOWER_LEFT: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_lowerLeft; - break; - default: - case U8G_CIRC_ALL: - u8g_DrawPixel(u8g, x0, y0 + rad); - u8g_DrawPixel(u8g, x0, y0 - rad); - u8g_DrawPixel(u8g, x0 + rad, y0); - u8g_DrawPixel(u8g, x0 - rad, y0); - circ_util = circ_all; - break; - } - - while( x < y ) - { - if(f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - circ_util(u8g, x, y, x0, y0); - } -} - - -void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) - return; - - int f = 1 - rad; - int ddF_x = 1; - int ddF_y = -2*rad; - uint8_t x = 0; - uint8_t y = rad; - - // Draw vertical diameter at the horiz. center - // u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); - - if (option == U8G_CIRC_UPPER_LEFT || option == U8G_CIRC_UPPER_RIGHT) { - u8g_DrawVLine(u8g, x0, y0 - rad, rad+1); - } - else if (option == U8G_CIRC_LOWER_LEFT || option == U8G_CIRC_LOWER_RIGHT) { - u8g_DrawVLine(u8g, x0, y0, rad+1); - } - else { - u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); - } - - while( x < y ) - { - if(f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - //Draw vertical lines from one point to another - - switch (option) - { - case U8G_CIRC_UPPER_RIGHT: - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, x+1); - break; - case U8G_CIRC_UPPER_LEFT: - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - u8g_DrawVLine(u8g, x0-y, y0-x, x+1); - break; - case U8G_CIRC_LOWER_RIGHT: - u8g_DrawVLine(u8g, x0+x, y0, y+1); - u8g_DrawVLine(u8g, x0+y, y0, x+1); - break; - case U8G_CIRC_LOWER_LEFT: - u8g_DrawVLine(u8g, x0-x, y0, y+1); - u8g_DrawVLine(u8g, x0-y, y0, x+1); - break; - case U8G_CIRC_ALL: - u8g_DrawVLine(u8g, x0+x, y0-y, 2*y+1); - u8g_DrawVLine(u8g, x0-x, y0-y, 2*y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, 2*x+1); - u8g_DrawVLine(u8g, x0-y, y0-x, 2*x+1); - break; - } - } -} - -#endif - -/*=========================================================================*/ - -static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; - -static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - u8g_DrawPixel(u8g, x0 + y, y0 - x); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - u8g_DrawPixel(u8g, x0 - y, y0 - x); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - u8g_DrawPixel(u8g, x0 + y, y0 + x); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - u8g_DrawPixel(u8g, x0 - y, y0 + x); - } -} - -void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - u8g_int_t f; - u8g_int_t ddF_x; - u8g_int_t ddF_y; - u8g_uint_t x; - u8g_uint_t y; - - f = 1; - f -= rad; - ddF_x = 1; - ddF_y = 0; - ddF_y -= rad; - ddF_y *= 2; - x = 0; - y = rad; - - u8g_draw_circle_section(u8g, x, y, x0, y0, option); - - while ( x < y ) - { - if (f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - u8g_draw_circle_section(u8g, x, y, x0, y0, option); - } -} - -void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t radp, radp2; - - radp = rad; - radp++; - radp2 = radp; - radp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) - return; - } - - /* draw circle */ - u8g_draw_circle(u8g, x0, y0, rad, option); -} - -static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; - -static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - u8g_DrawVLine(u8g, x0+y, y0-x, x+1); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - u8g_DrawVLine(u8g, x0-y, y0-x, x+1); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0, y+1); - u8g_DrawVLine(u8g, x0+y, y0, x+1); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0, y+1); - u8g_DrawVLine(u8g, x0-y, y0, x+1); - } -} - -void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - u8g_int_t f; - u8g_int_t ddF_x; - u8g_int_t ddF_y; - u8g_uint_t x; - u8g_uint_t y; - - f = 1; - f -= rad; - ddF_x = 1; - ddF_y = 0; - ddF_y -= rad; - ddF_y *= 2; - x = 0; - y = rad; - - u8g_draw_disc_section(u8g, x, y, x0, y0, option); - - while ( x < y ) - { - if (f >= 0) - { - y--; - ddF_y += 2; - f += ddF_y; - } - x++; - ddF_x += 2; - f += ddF_x; - - u8g_draw_disc_section(u8g, x, y, x0, y0, option); - } -} - -void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t radp, radp2; - - radp = rad; - radp++; - radp2 = radp; - radp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) - return; - } - - /* draw disc */ - u8g_draw_disc(u8g, x0, y0, rad, option); -} - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c deleted file mode 100644 index 1ca223e43..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_clip.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - - u8g_clip.c - - procedures for clipping - taken over from procs in u8g_pb.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Notes - - This is one of the most critical parts of u8glib. It must be fast, but still reliable. - Based on the intersection program (see tools folder), there is minimized version of - the condition for the intersaction test: - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - It includes the assumption, that a1 <= a2 is always true (correct, because - a1, a2 are the page dimensions. - - The direct implementation of the above result is done in: - uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) - However, this is slower than a decision tree version: - static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) - Also suprising is, that the macro implementation is slower than the inlined version. - - The decision tree is based on the expansion of the truth table. - -*/ - -#include "u8g.h" - -#ifdef __GNUC__ -#define U8G_ALWAYS_INLINE __inline__ __attribute__((always_inline)) -#else -#define U8G_ALWAYS_INLINE - #endif - -/* - intersection assumptions: - a1 <= a2 is always true - - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - */ - -#ifdef OLD_CODE_WHICH_IS_TOO_SLOW -static uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c1, c2, c3, tmp; - c1 = v0 <= a1; - c2 = v1 >= a0; - c3 = v0 > v1; - - tmp = c1; - c1 &= c2; - c2 &= c3; - c3 &= tmp; - c1 |= c2; - c1 |= c3; - return c1 & 1; -} -#endif - -#define U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1) ((uint8_t)( (v0) <= (a1) ) ? ( ( (v1) >= (a0) ) ? ( 1 ) : ( (v0) > (v1) ) ) : ( ( (v1) >= (a0) ) ? ( (v0) > (v1) ) : ( 0 ) )) - -//static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) U8G_ALWAYS_INLINE; -static uint8_t U8G_ALWAYS_INLINE u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) -{ - /* surprisingly the macro leads to larger code */ - /* return U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1); */ - if ( v0 <= a1 ) - { - if ( v1 >= a0 ) - { - return 1; - } - else - { - if ( v0 > v1 ) - { - return 1; - } - else - { - return 0; - } - } - } - else - { - if ( v1 >= a0 ) - { - if ( v0 > v1 ) - { - return 1; - } - else - { - return 0; - } - } - else - { - return 0; - } - } -} - - -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - register u8g_uint_t tmp; - tmp = y; - tmp += h; - tmp--; - if ( u8g_is_intersection_decision_tree(u8g->current_page.y0, u8g->current_page.y1, y, tmp) == 0 ) - return 0; - - tmp = x; - tmp += w; - tmp--; - return u8g_is_intersection_decision_tree(u8g->current_page.x0, u8g->current_page.x1, x, tmp); -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c deleted file mode 100644 index 0201808d7..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - - u8g_com_api.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time) -{ - return dev->com_fn(u8g, U8G_COM_MSG_INIT, clk_cycle_time, NULL); -} - -void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_STOP, 0, NULL); -} - -/* cs contains the chip number, which should be enabled */ -void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs) -{ - dev->com_fn(u8g, U8G_COM_MSG_CHIP_SELECT, cs, NULL); -} - -void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_RESET, 0, NULL); -} - -void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev) -{ - dev->com_fn(u8g, U8G_COM_MSG_RESET, 1, NULL); -} - - -void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address) -{ - dev->com_fn(u8g, U8G_COM_MSG_ADDRESS, address, NULL); -} - -uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, val, NULL); -} - -uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, cnt, seq); -} - -uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq) -{ - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ_P, cnt, (void *)seq); -} - -/* - sequence := { direct_value | escape_sequence } - direct_value := 0..254 - escape_sequence := value_255 | sequence_end | delay | adr | cs | not_used - value_255 := 255 255 - sequence_end = 255 254 - delay := 255 0..127 - adr := 255 0x0e0 .. 0x0ef - cs := 255 0x0d0 .. 0x0df - not_used := 255 101..254 - -#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) -#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) -#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) -#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) -#define U8G_ESC_END 255, 254 -#define U8G_ESC_255 255, 255 -#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) - -*/ -uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq) -{ - uint8_t is_escape = 0; - uint8_t value; - for(;;) - { - value = u8g_pgm_read(esc_seq); - if ( is_escape == 0 ) - { - if ( value != 255 ) - { - if ( u8g_WriteByte(u8g, dev, value) == 0 ) - return 0; - } - else - { - is_escape = 1; - } - } - else - { - if ( value == 255 ) - { - if ( u8g_WriteByte(u8g, dev, value) == 0 ) - return 0; - } - else if ( value == 254 ) - { - break; - } - else if ( value >= 0x0f0 ) - { - /* not yet used, do nothing */ - } - else if ( value >= 0xe0 ) - { - u8g_SetAddress(u8g, dev, value & 0x0f); - } - else if ( value >= 0xd0 ) - { - u8g_SetChipSelect(u8g, dev, value & 0x0f); - } - else if ( value >= 0xc0 ) - { - u8g_SetResetLow(u8g, dev); - value &= 0x0f; - value <<= 4; - value+=2; - u8g_Delay(value); - u8g_SetResetHigh(u8g, dev); - u8g_Delay(value); - } - else if ( value >= 0xbe ) - { - /* not yet implemented */ - /* u8g_SetVCC(u8g, dev, value & 0x01); */ - } - else if ( value <= 127 ) - { - u8g_Delay(value); - } - is_escape = 0; - } - esc_seq++; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c deleted file mode 100644 index 7ff03d865..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_api_16gr.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - - u8g_com_api_16gr.c - - Extension of the com api for devices with 16 graylevels (4 bit per pixel). - This should fit to the 8h and 16h architectures (pb8v1, pb8v2, pb16v1, pb16v2), - mainly intended for SSD OLEDs - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* interpret b as a monochrome bit pattern, write value 15 for high bit and value 0 for a low bit */ -/* topbit (msb) is sent last */ -/* example: b = 0x083 will send 0xff, 0x00, 0x00, 0xf0 */ -uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) -{ - static uint8_t buf[4]; - static uint8_t map[4] = { 0, 0x00f, 0x0f0, 0x0ff }; - buf [3] = map[b & 3]; - b>>=2; - buf [2] = map[b & 3]; - b>>=2; - buf [1] = map[b & 3]; - b>>=2; - buf [0] = map[b & 3]; - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, 4, buf); -} - -uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) -{ - do - { - if ( u8g_WriteByteBWTo16GrDevice(u8g, dev, *ptr++) == 0 ) - return 0; - cnt--; - } while( cnt != 0 ); - return 1; -} - -/* interpret b as a 4L bit pattern, write values 0x000, 0x004, 0x008, 0x00c */ -uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) -{ - //static uint8_t map[16] = { 0x000, 0x004, 0x008, 0x00c, 0x040, 0x044, 0x048, 0x04c, 0x080, 0x084, 0x088, 0x08c, 0x0c0, 0x0c4, 0x0c8, 0x0cc}; - //static uint8_t map[16] = { 0x000, 0x004, 0x00a, 0x00f, 0x040, 0x044, 0x04a, 0x04f, 0x0a0, 0x0a4, 0x0aa, 0x0af, 0x0f0, 0x0f4, 0x0fa, 0x0ff}; - static uint8_t map[16] = { 0x000, 0x040, 0x0a0, 0x0f0, 0x004, 0x044, 0x0a4, 0x0f4, 0x00a, 0x04a, 0x0aa, 0x0fa, 0x00f, 0x04f, 0x0af, 0x0ff}; - uint8_t bb; - bb = b; - bb &= 15; - b>>=4; - dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[bb], NULL); - return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[b], NULL); -} - -uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) -{ - do - { - if ( u8g_WriteByte4LTo16GrDevice(u8g, dev, *ptr++) == 0 ) - return 0; - cnt--; - } while( cnt != 0 ); - return 1; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c deleted file mode 100644 index 9d0191eae..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_attiny85_hw_spi.c +++ /dev/null @@ -1,160 +0,0 @@ -/* - - u8g_arduino_ATtiny85_std_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -// Uses code from tinySPI Written by Nick Gammon -// March 2013 - -// ATMEL ATTINY45 / ARDUINO pin mappings -// -// +-\/-+ -// RESET Ain0 (D 5) PB5 1| |8 Vcc -// CLK1 Ain3 (D 3) PB3 2| |7 PB2 (D 2) Ain1 SCK / USCK / SCL -// CLK0 Ain2 (D 4) PB4 3| |6 PB1 (D 1) pwm1 MISO / DO -// GND 4| |5 PB0 (D 0) pwm0 MOSI / DI / SDA -// +----+ - - -#include "u8g.h" - - -#if defined(ARDUINO) && defined(__AVR_ATtiny85__) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -const byte DI = 0; // D0, pin 5 Data In -const byte DO = 1; // D1, pin 6 Data Out (this is *not* MOSI) -const byte USCK = 2; // D2, pin 7 Universal Serial Interface clock - -uint8_t u8g_arduino_ATtiny85_spi_out(uint8_t val) -{ - USIDR = val; // byte to output - USISR = _BV (USIOIF); // clear Counter Overflow Interrupt Flag, set count to zero - do - { - USICR = _BV (USIWM0) // 3-wire mode - | _BV (USICS1) | _BV (USICLK) // Software clock strobe - | _BV (USITC); // Toggle Clock Port Pin - } - while ((USISR & _BV (USIOIF)) == 0); // until Counter Overflow Interrupt Flag set - - return USIDR; // return read data -} - -uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); // ensure SS stays high until needed - pinMode (USCK, OUTPUT); - pinMode (DO, OUTPUT); - pinMode (u8g->pin_list[U8G_PI_CS], OUTPUT); - pinMode (u8g->pin_list[U8G_PI_A0], OUTPUT); - USICR = _BV (USIWM0); // 3-wire mode - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - u8g_MicroDelay(); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - u8g_MicroDelay(); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_arduino_ATtiny85_spi_out(arg_val); - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_ATtiny85_spi_out(*ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_ATtiny85_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - u8g_MicroDelay(); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c deleted file mode 100644 index ef0b2366e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_common.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - - u8g_com_arduino_common.c - - shared procedures for the arduino communication procedures - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value) -{ - uint8_t pin; - pin = u8g->pin_list[pin_index]; - if ( pin != U8G_PIN_NONE ) - digitalWrite(pin, value); -} - -/* this procedure does not set the RW pin */ -void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g) -{ - uint8_t i; - /* skip the RW pin, which is the last pin in the list */ - for( i = 0; i < U8G_PIN_LIST_LEN-1; i++ ) - { - if ( u8g->pin_list[i] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[i], OUTPUT); - digitalWrite(u8g->pin_list[i], HIGH); - } - } -} - - -#endif - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c deleted file mode 100644 index 57d4410af..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_fast_parallel.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - - u8g_arduino_fast_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - - -#define PIN_D0 8 -#define PIN_D1 9 -#define PIN_D2 10 -#define PIN_D3 11 -#define PIN_D4 4 -#define PIN_D5 5 -#define PIN_D6 6 -#define PIN_D7 7 - -#define PIN_CS1 14 -#define PIN_CS2 15 -#define PIN_RW 16 -#define PIN_DI 17 -#define PIN_EN 18 - -//#define PIN_RESET - - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_data_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_data_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_fast_parallel_init(u8g_t *u8g) -{ - u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - -/* atomic protection must be done by calling function */ -static void u8g_com_arduino_fast_write_data_pin(uint8_t pin, uint8_t val) -{ - if ( val != 0 ) - *u8g_data_port[pin] |= u8g_data_mask[pin]; - else - *u8g_data_port[pin] &= ~u8g_data_mask[pin]; -} - - -void u8g_com_arduino_fast_parallel_write(u8g_t *u8g, uint8_t val) -{ - U8G_ATOMIC_START(); - u8g_com_arduino_fast_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_fast_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_fast_write_data_pin( 7, val&1 ); - val >>= 1; - U8G_ATOMIC_END(); - - /* EN cycle time must be 1 micro second */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_fast_parallel_init(u8g); - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_fast_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_fast_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_fast_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c deleted file mode 100644 index 3c0d34a48..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_spi.c +++ /dev/null @@ -1,438 +0,0 @@ -/* - - u8g_com_arduino_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SPI Clock Cycle Type - - SSD1351 50ns 20 MHz - SSD1322 300ns 3.3 MHz - SSD1327 300ns - SSD1306 300ns - ST7565 400ns 2.5 MHz - ST7920 400ns - - Arduino DUE - - PA25 MISO - PA26 MOSI 75 - PA27 SCLK 76 - - -typedef struct { - WoReg SPI_CR; (Spi Offset: 0x00) Control Register - RwReg SPI_MR; (Spi Offset: 0x04) Mode Register - RoReg SPI_RDR; (Spi Offset: 0x08) Receive Data Register - WoReg SPI_TDR; (Spi Offset: 0x0C) Transmit Data Register - RoReg SPI_SR; (Spi Offset: 0x10) Status Register - WoReg SPI_IER; (Spi Offset: 0x14) Interrupt Enable Register - WoReg SPI_IDR; (Spi Offset: 0x18) Interrupt Disable Register - RoReg SPI_IMR; (Spi Offset: 0x1C) Interrupt Mask Register - RoReg Reserved1[4]; - RwReg SPI_CSR[4]; (Spi Offset: 0x30) Chip Select Register - RoReg Reserved2[41]; - RwReg SPI_WPMR; (Spi Offset: 0xE4) Write Protection Control Register - RoReg SPI_WPSR; (Spi Offset: 0xE8) Write Protection Status Register -} Spi; - - Power Management Controller (PMC) - arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pmc.h - - enable PIO - - REG_PMC_PCER0 = 1UL << ID_PIOA - - enable SPI - REG_PMC_PCER0 = 1UL << ID_SPI0 - - - - enable PIOA and SPI0 - REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); - - Parallel Input/Output Controller (PIO) - arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pioa.h - - enable special function of the pin: disable PIO on A26 and A27: - REG_PIOA_PDR = 0x0c000000 - PIOA->PIO_PDR = 0x0c000000 - - SPI - SPI0->SPI_CR = SPI_CR_SPIDIS - SPI0->SPI_CR = SPI_CR_SWRST ; - SPI0->SPI_CR = SPI_CR_SWRST ; - SPI0->SPI_CR = SPI_CR_SPIEN - - Bit 0: Master Mode = 1 (active) - Bit 1: Peripheral Select = 0 (fixed) - Bit 2: Chip Select Decode Mode = 1 (4 to 16) - Bit 4: Mode Fault Detection = 1 (disabled) - Bit 5: Wait Data Read = 0 (disabled) - Bit 7: Loop Back Mode = 0 (disabled) - Bit 16-19: Peripheral Chip Select = 0 (chip select 0) - SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS - - Bit 0: Clock Polarity = 0 - Bit 1: Clock Phase = 0 - Bit 4-7: Bits = 0 (8 Bit) - Bit 8-15: SCBR = 1 - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(x) Serial Baud Rate - SCBR / 84000000 > 50 / 1000000000 - SCBR / 84 > 5 / 100 - SCBR > 50 *84 / 1000 --> SCBR=5 - SCBR > 300*84 / 1000 --> SCBR=26 - SCBR > 400*84 / 1000 --> SCBR=34 - - Arduino Due test code: - REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); - REG_PIOA_PDR = 0x0c000000; - SPI0->SPI_CR = SPI_CR_SPIDIS; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SPIEN; - SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS; - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(30); - - for(;;) - { - while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 ) - ; - SPI0->SPI_TDR = 0x050; - } - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if defined(__AVR__) -#define U8G_ARDUINO_ATMEGA_HW_SPI -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif -#endif - -#if defined(U8G_ARDUINO_ATMEGA_HW_SPI) - -#include -#include - -#if ARDUINO < 100 -#include - -/* fixed pins */ -#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board -#define PIN_SCK 7 -#define PIN_MISO 6 -#define PIN_MOSI 5 -#define PIN_CS 4 -#else // Arduino Board -#define PIN_SCK 13 -#define PIN_MISO 12 -#define PIN_MOSI 11 -#define PIN_CS 10 -#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) - -#else - -#include - -/* use Arduino pin definitions */ -#define PIN_SCK SCK -#define PIN_MISO MISO -#define PIN_MOSI MOSI -#define PIN_CS SS - -#endif - - - -//static uint8_t u8g_spi_out(uint8_t data) U8G_NOINLINE; -static uint8_t u8g_spi_out(uint8_t data) -{ - /* unsigned char x = 100; */ - /* send data */ - SPDR = data; - /* wait for transmission */ - while (!(SPSR & (1<pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_spi_out(arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -/* #elif defined(__18CXX) || defined(__PIC32MX) */ - -#elif defined(__SAM3X8E__) // Arduino Due, maybe we should better check for __SAM3X8E__ - -#include - -/* use Arduino pin definitions */ -#define PIN_SCK SCK -#define PIN_MISO MISO -#define PIN_MOSI MOSI -#define PIN_CS SS - - -static uint8_t u8g_spi_out(uint8_t data) -{ - /* wait until tx register is empty */ - while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 ) - ; - /* send data */ - SPI0->SPI_TDR = (uint32_t)data; - return data; -} - - -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - - /* Arduino Due specific code */ - - /* enable PIOA and SPI0 */ - REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); - - /* disable PIO on A26 and A27 */ - REG_PIOA_PDR = 0x0c000000; - - /* reset SPI0 (from sam lib) */ - SPI0->SPI_CR = SPI_CR_SPIDIS; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SWRST; - SPI0->SPI_CR = SPI_CR_SPIEN; - u8g_MicroDelay(); - - /* master mode, no fault detection, chip select 0 */ - SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS; - - /* Polarity, Phase, 8 Bit data transfer, baud rate */ - /* x * 1000 / 84 --> clock cycle in ns - 5 * 1000 / 84 = 58 ns - SCBR > 50 *84 / 1000 --> SCBR=5 - SCBR > 300*84 / 1000 --> SCBR=26 - SCBR > 400*84 / 1000 --> SCBR=34 - */ - - if ( arg_val <= U8G_SPI_CLK_CYCLE_50NS ) - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(5) | 1; - } - else if ( arg_val <= U8G_SPI_CLK_CYCLE_300NS ) - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(26) | 1; - } - else if ( arg_val <= U8G_SPI_CLK_CYCLE_400NS ) - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(34) | 1; - } - else - { - SPI0->SPI_CSR[0] = SPI_CSR_SCBR(84) | 1; - } - - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_MicroDelay(); /* this delay is required to avoid that the display is switched off too early --> DOGS102 with DUE */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - u8g_MicroDelay(); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - u8g_MicroDelay(); - } - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_spi_out(arg_val); - u8g_MicroDelay(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - - - -#else /* U8G_ARDUINO_ATMEGA_HW_SPI */ - -#endif /* U8G_ARDUINO_ATMEGA_HW_SPI */ - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c deleted file mode 100644 index 27fd8d01c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_hw_usart_spi.c +++ /dev/null @@ -1,159 +0,0 @@ -/* - - u8g_com_arduino_hw_usart_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SPI Clock Cycle Type - - SSD1351 50ns 20 MHz - SSD1322 300ns 3.3 MHz - SSD1327 300ns - SSD1306 300ns - ST7565 400ns 2.5 MHz - ST7920 400ns - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if defined(__AVR_ATmega32U4__ ) - -#include -#include - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - -static uint8_t u8g_usart_spi_out(uint8_t data) -{ - /* send data */ - UDR1 = data; - /* wait for empty transmit buffer */ - while(!(UCSR1A & (1 << UDRE1))); - - return UDR1; -} - - -uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_INIT: - /* SCK is already an output as we overwrite TXLED */ - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - - // Init interface at 2MHz - UBRR1 = 0x00; - UCSR1C = (1 << UMSEL11) | (1 << UMSEL10); - UCSR1B = (1 << TXEN1); - UBRR1 = 3; - - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_usart_spi_out(arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_usart_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_usart_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -/* #elif defined(__18CXX) || defined(__PIC32MX) */ -/* #elif defined(__arm__) // Arduino Due, maybe we should better check for __SAM3X8E__ */ - -#else /* __AVR_ATmega32U4__ */ - -#endif /* __AVR_ATmega32U4__ */ - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c deleted file mode 100644 index 4edb30a46..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_no_en_parallel.c +++ /dev/null @@ -1,234 +0,0 @@ -/* - - u8g_arduino_no_en_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - Update for ATOMIC operation done (01 Jun 2013) - - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - -//#define PIN_RESET - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_data_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_data_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_no_en_parallel_init(u8g_t *u8g) -{ - u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - -/* No atomic protcetion. This is done by caller */ -static void u8g_com_arduino_no_en_write_data_pin(uint8_t pin, uint8_t val) -{ - if ( val != 0 ) - { - *u8g_data_port[pin] |= u8g_data_mask[pin]; - } - else - { - *u8g_data_port[pin] &= ~u8g_data_mask[pin]; - } -} - - -void u8g_com_arduino_no_en_parallel_write(u8g_t *u8g, uint8_t val) -{ - U8G_ATOMIC_START(); - u8g_com_arduino_no_en_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_no_en_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_no_en_write_data_pin( 7, val&1 ); - val >>= 1; - U8G_ATOMIC_END(); - - /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - if ( u8g->pin_list[U8G_PI_CS_STATE] == 1 ) - { - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_MicroDelay(); - } - else if ( u8g->pin_list[U8G_PI_CS_STATE] == 2 ) - { - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - u8g_MicroDelay(); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - u8g_MicroDelay(); - } -} - - -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_no_en_parallel_init(u8g); - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - /* - 0: nothing selected - 1: CS1 will be used as enable line - 2: CS2 will be used as enable line - this will be used in the u8g_com_arduino_no_en_parallel_write() procedure - */ - u8g->pin_list[U8G_PI_CS_STATE] = arg_val; - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_no_en_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_no_en_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_no_en_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c deleted file mode 100644 index d5d5dd755..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_parallel.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - - u8g_com_arduino_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - - - - -void u8g_com_arduino_parallel_write(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_D0, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D1, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D2, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D3, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D4, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D5, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D6, val&1); - val >>= 1; - u8g_com_arduino_digital_write(u8g, U8G_PI_D7, val&1); - - /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c deleted file mode 100644 index 64a8229e1..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_port_d_wr.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - - u8g_arduino_port_d_wr.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes PORTD for 8 bit data transfer. - EN is assumed to be a low active write signal (WR) - - ILI9325D_320x240 from iteadstudio.com - RS=19, WR=18, CS=17, RST=16 - - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) && defined(PORTD) - -#if ARDUINO < 100 -#include -#else -#include -#endif - - - - - - -static void u8g_com_arduino_port_d_8bit_wr(u8g_t *u8g, uint8_t val) -{ - PORTD = val; - - /* WR cycle time must be 1 micro second, digitalWrite is slow enough to do this */ - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); -} - - -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - - switch(msg) - { - case U8G_COM_MSG_INIT: - -#ifdef UCSR0B - UCSR0B = 0; // disable USART 0 -#endif - U8G_ATOMIC_START(); - DDRD = 0x0ff; - PORTD = 0x0ff; - U8G_ATOMIC_END(); - - /* setup the RW pin as output and force it to low */ - if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_RW, HIGH); - } - /* set all pins (except RW pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_port_d_8bit_wr(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_port_d_8bit_wr(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_port_d_8bit_wr(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO && PORTD */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c deleted file mode 100644 index 84b24daad..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_ssd_i2c.c +++ /dev/null @@ -1,212 +0,0 @@ -/* - - u8g_com_arduino_ssd_i2c.c - - com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant - I2C protocol - - ToDo: Rename this to u8g_com_avr_ssd_i2c.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Special pin usage: - U8G_PI_I2C_OPTION additional options - U8G_PI_A0_STATE used to store the last value of the command/data register selection - U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device - U8G_PI_SCL clock line (NOT USED) - U8G_PI_SDA data line (NOT USED) - - U8G_PI_RESET reset line (currently disabled, see below) - - Protocol: - SLA, Cmd/Data Selection, Arguments - The command/data register is selected by a special instruction byte, which is sent after SLA - - The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode -*/ - -#include "u8g.h" - -#if defined(U8G_WITH_PINLIST) - - -#define I2C_SLA (0x3c*2) -//#define I2C_CMD_MODE 0x080 -#define I2C_CMD_MODE 0x000 -#define I2C_DATA_MODE 0x040 - -uint8_t u8g_com_arduino_ssd_start_sequence(u8g_t *u8g) -{ - /* are we requested to set the a0 state? */ - if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) - return 1; - - /* setup bus, might be a repeated start */ - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; -} - -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); - //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); - //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ - - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - /* Currently disabled, but it could be enable. Previous restrictions have been removed */ - /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if ( arg_val == 0 ) - { - /* disable chip, send stop condition */ - u8g_i2c_stop(); - } - else - { - /* enable, do nothing: any byte writing will trigger the i2c start */ - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - if ( u8g_i2c_send_byte(arg_val) == 0 ) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(*ptr++) == 0 ) - return u8g_i2c_stop(), 0; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) - return 0; - ptr++; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - -#ifdef OLD_CODE - if ( i2c_state != 0 ) - { - u8g_i2c_stop(); - i2c_state = 0; - } - - if ( u8g_com_arduino_ssd_start_sequence(arg_val) == 0 ) - return 0; - - /* setup bus, might be a repeated start */ - /* - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( arg_val == 0 ) - { - i2c_state = 1; - - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - i2c_state = 2; - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - */ -#endif - break; - } - return 1; -} - -#else /* defined(U8G_WITH_PINLIST) */ - -uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* defined(U8G_WITH_PINLIST) */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c deleted file mode 100644 index d157b9363..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_custom.c +++ /dev/null @@ -1,330 +0,0 @@ -/* - - u8g_com_arduino_st7920_custom.c - - Additional COM device, initially introduced for 3D Printer community - Implements a fast SW SPI com subsystem - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) - -static uint8_t u8g_bitData, u8g_bitNotData; -static uint8_t u8g_bitClock, u8g_bitNotClock; -static volatile uint8_t *u8g_outData; -static volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - - - U8G_ATOMIC_START(); - bitData |= *outData; - bitNotData &= *outData; - do - { - if ( val & 128 ) - *outData = bitData; - else - *outData = bitNotData; - - /* - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - */ - - val <<= 1; - *outClock &= bitNotClock; - cnt--; - // removed micro delays, because AVRs are too slow and the delay is not required - //u8g_MicroDelay(); - *outClock |= bitClock; - //u8g_MicroDelay(); - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - //u8g_MicroDelay(); - //*dog_outClock |= dog_bitClock; - *dog_outClock &= dog_bitNotClock; - cnt--; - u8g_MicroDelay(); - //*dog_outClock &= dog_bitNotClock; - *dog_outClock |= dog_bitClock; - u8g_MicroDelay(); - - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#else - -/* default interface, Arduino DUE (__arm__) */ - -uint8_t u8g_data_custom_pin; -uint8_t u8g_clock_custom_pin; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_data_custom_pin = dataPin; - u8g_clock_custom_pin = clockPin; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - do - { - if ( val & 128 ) - digitalWrite(u8g_data_custom_pin, HIGH); - else - digitalWrite(u8g_data_custom_pin, LOW); - val <<= 1; - //u8g_MicroDelay(); - digitalWrite(u8g_clock_custom_pin, LOW); - cnt--; - u8g_MicroDelay(); - digitalWrite(u8g_clock_custom_pin, HIGH); - u8g_MicroDelay(); - } while( cnt != 0 ); -} - -#endif - - -static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - while( len > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(*ptr << 4); - ptr++; - len--; - u8g_10MicroDelay(); - } - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - -static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); - -} - - -uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c deleted file mode 100644 index af44c7f86..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_hw_spi.c +++ /dev/null @@ -1,293 +0,0 @@ -/* - - u8g_com_arduino_st7920_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special HW SPI interface for ST7920 controller - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) -#define U8G_ARDUINO_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ARDUINO_ATMEGA_HW_SPI -#endif - -#endif - - -#if defined(U8G_ARDUINO_ATMEGA_HW_SPI) - -#include -#include - - -#if ARDUINO < 100 - -/* fixed pins */ -#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board -#define PIN_SCK 7 -#define PIN_MISO 6 -#define PIN_MOSI 5 -#define PIN_CS 4 -#else // Arduino Board -#define PIN_SCK 13 -#define PIN_MISO 12 -#define PIN_MOSI 11 -#define PIN_CS 10 -#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) - -#else - -/* use Arduino pin definitions */ -#define PIN_SCK SCK -#define PIN_MISO MISO -#define PIN_MOSI MOSI -#define PIN_CS SS - -#endif - - -static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - /* send data */ - SPDR = val; - /* wait for transmission */ - while (!(SPSR & (1< 0 ) - { - u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr & 0x0f0); - u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr << 4); - ptr++; - len--; - u8g_10MicroDelay(); - } - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - -static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0fa); - } - else - { - /* do nothing, keep same state */ - } - - u8g_arduino_st7920_hw_spi_shift_out(u8g, val & 0x0f0); - u8g_arduino_st7920_hw_spi_shift_out(u8g, val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - - - /* code from u8g_com-arduino_hw_spi.c */ - pinMode(PIN_SCK, OUTPUT); - digitalWrite(PIN_SCK, LOW); - pinMode(PIN_MOSI, OUTPUT); - digitalWrite(PIN_MOSI, LOW); - /* pinMode(PIN_MISO, INPUT); */ - - pinMode(PIN_CS, OUTPUT); /* system chip select for the atmega board */ - digitalWrite(PIN_CS, HIGH); - - - //u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - -#ifdef OBSOLETE - DDRB |= _BV(3); /* D0, MOSI */ - DDRB |= _BV(5); /* SCK */ - DDRB |= _BV(2); /* slave select */ - - PORTB &= ~_BV(3); /* D0, MOSI = 0 */ - PORTB &= ~_BV(5); /* SCK = 0 */ -#endif - - /* - SPR1 SPR0 - 0 0 fclk/4 - 0 1 fclk/16 - 1 0 fclk/64 - 1 1 fclk/128 - */ - SPCR = 0; - - /* 20 Dez 2012: set CPOL and CPHA to 1 !!! */ - SPCR = (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - // u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - u8g_com_arduino_st7920_write_byte_hw_spi_seq(u8g, u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); - /* - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - arg_val--; - } - } - */ - - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - // u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} -#endif - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c deleted file mode 100644 index 9a5c2bef3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_st7920_spi.c +++ /dev/null @@ -1,330 +0,0 @@ -/* - - u8g_com_arduino_st7920_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -#if defined(__AVR__) - -static uint8_t u8g_bitData, u8g_bitNotData; -static uint8_t u8g_bitClock, u8g_bitNotClock; -static volatile uint8_t *u8g_outData; -static volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - - - U8G_ATOMIC_START(); - bitData |= *outData; - bitNotData &= *outData; - do - { - if ( val & 128 ) - *outData = bitData; - else - *outData = bitNotData; - - /* - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - */ - - val <<= 1; - *outClock &= bitNotClock; - cnt--; - // removed micro delays, because AVRs are too slow and the delay is not required - //u8g_MicroDelay(); - *outClock |= bitClock; - //u8g_MicroDelay(); - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - //u8g_MicroDelay(); - //*dog_outClock |= dog_bitClock; - *dog_outClock &= dog_bitNotClock; - cnt--; - u8g_MicroDelay(); - //*dog_outClock &= dog_bitNotClock; - *dog_outClock |= dog_bitClock; - u8g_MicroDelay(); - - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -#else - -/* default interface, Arduino DUE (__arm__) */ - -uint8_t u8g_data_pin; -uint8_t u8g_clock_pin; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_data_pin = dataPin; - u8g_clock_pin = clockPin; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - do - { - if ( val & 128 ) - digitalWrite(u8g_data_pin, HIGH); - else - digitalWrite(u8g_data_pin, LOW); - val <<= 1; - //u8g_MicroDelay(); - digitalWrite(u8g_clock_pin, LOW); - cnt--; - u8g_MicroDelay(); - digitalWrite(u8g_clock_pin, HIGH); - u8g_MicroDelay(); - } while( cnt != 0 ); -} - -#endif - - -static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - while( len > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(*ptr << 4); - ptr++; - len--; - u8g_10MicroDelay(); - } - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - -static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_com_arduino_do_shift_out_msb_first(0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_com_arduino_do_shift_out_msb_first(0x0fa); - } - - u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0); - u8g_com_arduino_do_shift_out_msb_first(val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); - -} - - -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - else - { - /* enable */ - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - /* 28 Dec 2013 reassign pins, fixes issue with more than one display */ - /* issue 227 */ - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c deleted file mode 100644 index 048ac1af3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_std_sw_spi.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - - u8g_arduino_std_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -void u8g_arduino_sw_spi_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) -{ - uint8_t i = 8; - do - { - if ( val & 128 ) - digitalWrite(dataPin, HIGH); - else - digitalWrite(dataPin, LOW); - val <<= 1; - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - digitalWrite(clockPin, HIGH); - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - digitalWrite(clockPin, LOW); - u8g_MicroDelay(); /* 23 Sep 2012 */ - //delay(1); - i--; - } while( i != 0 ); -} - -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c deleted file mode 100644 index 7752adc82..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_sw_spi.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - - u8g_arduino_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -#else -#include -#include "wiring_private.h" -#endif - -/*=========================================================*/ -/* Arduino, AVR */ - -#if defined(__AVR__) - -uint8_t u8g_bitData, u8g_bitNotData; -uint8_t u8g_bitClock, u8g_bitNotClock; -volatile uint8_t *u8g_outData; -volatile uint8_t *u8g_outClock; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); - u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); - u8g_bitData = digitalPinToBitMask(dataPin); - u8g_bitClock = digitalPinToBitMask(clockPin); - - u8g_bitNotClock = u8g_bitClock; - u8g_bitNotClock ^= 0x0ff; - - u8g_bitNotData = u8g_bitData; - u8g_bitNotData ^= 0x0ff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - uint8_t bitData = u8g_bitData; - uint8_t bitNotData = u8g_bitNotData; - uint8_t bitClock = u8g_bitClock; - uint8_t bitNotClock = u8g_bitNotClock; - volatile uint8_t *outData = u8g_outData; - volatile uint8_t *outClock = u8g_outClock; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *outData |= bitData; - else - *outData &= bitNotData; - - *outClock |= bitClock; - val <<= 1; - cnt--; - *outClock &= bitNotClock; - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -/*=========================================================*/ -/* Arduino, Chipkit */ -#elif defined(__18CXX) || defined(__PIC32MX) - -uint16_t dog_bitData, dog_bitNotData; -uint16_t dog_bitClock, dog_bitNotClock; -volatile uint32_t *dog_outData; -volatile uint32_t *dog_outClock; -volatile uint32_t dog_pic32_spi_tmp; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - dog_outData = portOutputRegister(digitalPinToPort(dataPin)); - dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); - dog_bitData = digitalPinToBitMask(dataPin); - dog_bitClock = digitalPinToBitMask(clockPin); - - dog_bitNotClock = dog_bitClock; - dog_bitNotClock ^= 0x0ffff; - - dog_bitNotData = dog_bitData; - dog_bitNotData ^= 0x0ffff; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t cnt = 8; - U8G_ATOMIC_START(); - do - { - if ( val & 128 ) - *dog_outData |= dog_bitData; - else - *dog_outData &= dog_bitNotData; - val <<= 1; - /* - There must be some delay here. However - fetching the adress dog_outClock is enough delay, so - do not place dog_outClock in a local variable. This will - break the procedure - */ - *dog_outClock |= dog_bitClock; - cnt--; - *dog_outClock &= dog_bitNotClock; - /* - little additional delay after clk pulse, done by 3x32bit reads - from I/O. Optimized for PIC32 with 80 MHz. - */ - dog_pic32_spi_tmp = *dog_outClock; - dog_pic32_spi_tmp = *dog_outClock; - dog_pic32_spi_tmp = *dog_outClock; - } while( cnt != 0 ); - U8G_ATOMIC_END(); -} - -/*=========================================================*/ -/* Arduino Due */ -#elif defined(__SAM3X8E__) - -/* Due */ - -void u8g_digital_write_sam_high(uint8_t pin) -{ - PIO_Set( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ; -} - -void u8g_digital_write_sam_low(uint8_t pin) -{ - PIO_Clear( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ; -} - -static uint8_t u8g_sam_data_pin; -static uint8_t u8g_sam_clock_pin; - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ - u8g_sam_data_pin = dataPin; - u8g_sam_clock_pin = clockPin; -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ - uint8_t i = 8; - do - { - if ( val & 128 ) - u8g_digital_write_sam_high(u8g_sam_data_pin); - else - u8g_digital_write_sam_low(u8g_sam_data_pin); - val <<= 1; - //u8g_MicroDelay(); - u8g_digital_write_sam_high(u8g_sam_clock_pin); - u8g_MicroDelay(); - u8g_digital_write_sam_low(u8g_sam_clock_pin); - u8g_MicroDelay(); - i--; - } while( i != 0 ); -} - - -#else -/* empty interface */ - -static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) -{ -} - -static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) -{ -} - -#endif - - -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_com_arduino_assign_pin_output_high(u8g); - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - /* issue 227 */ - u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_arduino_do_shift_out_msb_first( arg_val ); - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first(*ptr++); - // u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_arduino_do_shift_out_msb_first( u8g_pgm_read(ptr) ); - //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); - break; - } - return 1; -} - -#else /* ARDUINO */ - -uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c deleted file mode 100644 index 50e5e93ac..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_t6963.c +++ /dev/null @@ -1,403 +0,0 @@ -/* - - u8g_com_arduino_t6963.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS 14 - PIN_A0 15 - PIN_RESET 16 - PIN_WR 17 - PIN_RD 18 - - u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - -*/ - -#include "u8g.h" - -#if defined(ARDUINO) - -#if ARDUINO < 100 -//#include -#include -#include -#else -#include -#endif - - -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ -static volatile uint32_t *u8g_output_data_port[8]; -static volatile uint32_t *u8g_input_data_port[8]; -static volatile uint32_t *u8g_mode_port[8]; -static uint32_t u8g_data_mask[8]; -#else -static volatile uint8_t *u8g_output_data_port[8]; -static volatile uint8_t *u8g_input_data_port[8]; -static volatile uint8_t *u8g_mode_port[8]; -static uint8_t u8g_data_mask[8]; -#endif - - - -static void u8g_com_arduino_t6963_init(u8g_t *u8g) -{ - u8g_output_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_input_data_port[0] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_mode_port[0] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); - u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); - - u8g_output_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_input_data_port[1] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_mode_port[1] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); - u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); - - u8g_output_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_input_data_port[2] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_mode_port[2] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); - u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); - - u8g_output_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_input_data_port[3] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_mode_port[3] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); - u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); - - u8g_output_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_input_data_port[4] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_mode_port[4] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); - u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); - - u8g_output_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_input_data_port[5] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_mode_port[5] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); - u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); - - u8g_output_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_input_data_port[6] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_mode_port[6] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); - u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); - - u8g_output_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_input_data_port[7] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_mode_port[7] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); - u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); -} - - -static void u8g_com_arduino_t6963_write_data_pin(uint8_t pin, uint8_t val) -{ - /* no ATOMIC protection required here, this is done by calling procedure */ - if ( val != 0 ) - *u8g_output_data_port[pin] |= u8g_data_mask[pin]; - else - *u8g_output_data_port[pin] &= ~u8g_data_mask[pin]; -} - -static void u8g_com_arduino_t6963_set_port_output(void) -{ - uint8_t i; - U8G_ATOMIC_START(); - for( i = 0; i < 8; i++ ) - { -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ - *u8g_mode_port[i] |= u8g_data_mask[i]; -#elif defined(__AVR__) - *u8g_mode_port[i] |= u8g_data_mask[i]; -#else - /* TODO: use generic Arduino API */ - *u8g_mode_port[i] |= u8g_data_mask[i]; -#endif - - } - U8G_ATOMIC_END(); -} - -static void u8g_com_arduino_t6963_set_port_input(void) -{ - uint8_t i; - U8G_ATOMIC_START(); - for( i = 0; i < 8; i++ ) - { -#if defined(__PIC32MX) -/* CHIPKIT PIC32 */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; -#elif defined(__AVR__) -/* avr */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; - *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup -#else - /* TODO: use generic Arduino API */ - *u8g_mode_port[i] &= ~u8g_data_mask[i]; - *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup -#endif - } - U8G_ATOMIC_END(); -} - - -static void u8g_com_arduino_t6963_write(u8g_t *u8g, uint8_t val) -{ - U8G_ATOMIC_START(); - - u8g_com_arduino_t6963_write_data_pin( 0, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 1, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 2, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 3, val&1 ); - val >>= 1; - - u8g_com_arduino_t6963_write_data_pin( 4, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 5, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 6, val&1 ); - val >>= 1; - u8g_com_arduino_t6963_write_data_pin( 7, val&1 ); - val >>= 1; - U8G_ATOMIC_END(); - - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 0); - u8g_MicroDelay(); /* 80ns, reference: t6963 datasheet */ - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 1); - u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ -} - -static uint8_t u8g_com_arduino_t6963_read(u8g_t *u8g) -{ - uint8_t val = 0; - - u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 0); - u8g_MicroDelay(); /* 150ns, reference: t6963 datasheet */ - - U8G_ATOMIC_START(); - /* only read bits 0, 1 and 3 */ - if ( (*u8g_input_data_port[3] & u8g_data_mask[3]) != 0 ) - val++; - val <<= 1; - val <<= 1; - if ( (*u8g_input_data_port[1] & u8g_data_mask[1]) != 0 ) - val++; - val <<= 1; - if ( (*u8g_input_data_port[0] & u8g_data_mask[0]) != 0 ) - val++; - U8G_ATOMIC_END(); - - u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 1); - u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ - - return val; -} - -#define U8G_STATUS_TIMEOUT 50 - -static uint8_t u8g_com_arduino_t6963_until_01_ok(u8g_t *u8g) -{ - long x; - - u8g_com_arduino_t6963_set_port_input(); - x = millis(); - x += U8G_STATUS_TIMEOUT; - - for(;;) - { - if ( (u8g_com_arduino_t6963_read(u8g) & 3) == 3 ) - break; - if ( x < millis() ) - return 0; - } - u8g_com_arduino_t6963_set_port_output(); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_until_3_ok(u8g_t *u8g) -{ - long x; - - u8g_com_arduino_t6963_set_port_input(); - x = millis(); - x += U8G_STATUS_TIMEOUT; - - for(;;) - { - if ( (u8g_com_arduino_t6963_read(u8g) & 8) == 8 ) - break; - if ( x < millis() ) - return 0; - } - u8g_com_arduino_t6963_set_port_output(); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_cmd(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_data(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - -static uint8_t u8g_com_arduino_t6963_write_auto_data(u8g_t *u8g, uint8_t val) -{ - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); - if ( u8g_com_arduino_t6963_until_3_ok(u8g) == 0 ) - return 0; - u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); - u8g_com_arduino_t6963_write(u8g, val); - return 1; -} - - -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g_com_arduino_t6963_init(u8g); - /* setup the RW (equal to WR) pin as output and force it to high */ - if ( u8g->pin_list[U8G_PI_WR] != U8G_PIN_NONE ) - { - pinMode(u8g->pin_list[U8G_PI_WR], OUTPUT); - u8g_com_arduino_digital_write(u8g, U8G_PI_WR, HIGH); - } - /* set all pins (except WR pin) */ - u8g_com_arduino_assign_pin_output_high(u8g); - break; - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, active low chip select */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); - } - else - { - /* enable */ - u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - u8g_com_arduino_t6963_write_data(u8g, arg_val); - } - else - { - u8g_com_arduino_t6963_write_cmd(u8g, arg_val); - } - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ - while( arg_val > 0 ) - { - if ( u8g_com_arduino_t6963_write_auto_data(u8g, *ptr++) == 0 ) - break; - arg_val--; - } - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ - while( arg_val > 0 ) - { - if ( u8g_com_arduino_t6963_write_auto_data(u8g, u8g_pgm_read(ptr)) == 0 ) - break; - ptr++; - arg_val--; - } - u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 1) or data mode (arg_val = 0) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - //u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) - u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); - break; - - } - return 1; -} - -#else - - -uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c deleted file mode 100644 index 263766818..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_arduino_uc_i2c.c +++ /dev/null @@ -1,206 +0,0 @@ -/* - - u8g_com_arduino_uc_i2c.c - - com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant - I2C protocol - - ToDo: Rename this to u8g_com_avr_ssd_i2c.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Special pin usage: - U8G_PI_I2C_OPTION additional options - U8G_PI_A0_STATE used to store the last value of the command/data register selection - U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device - U8G_PI_SCL clock line (NOT USED) - U8G_PI_SDA data line (NOT USED) - - U8G_PI_RESET reset line (currently disabled, see below) - - Protocol: - SLA, Cmd/Data Selection, Arguments - The command/data register is selected by a special instruction byte, which is sent after SLA - - The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode -*/ - -#include "u8g.h" - -#if defined(U8G_WITH_PINLIST) - -#define DOGM240_SLA_CMD (0x38*2) -#define DOGM240_SLA_DATA (0x39*2) - -uint8_t u8g_com_arduino_uc_start_sequence(u8g_t *u8g) -{ - /* are we requested to set the a0 state? */ - if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) - return 1; - - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - if ( u8g_i2c_start(DOGM240_SLA_CMD) == 0 ) - return 0; - } - else - { - if ( u8g_i2c_start(DOGM240_SLA_DATA) == 0 ) - return 0; - } - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; -} - -uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); - //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); - //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ - - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - /* Currently disabled, but it could be enable. Previous restrictions have been removed */ - /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if ( arg_val == 0 ) - { - /* disable chip, send stop condition */ - u8g_i2c_stop(); - } - else - { - /* enable, do nothing: any byte writing will trigger the i2c start */ - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - if ( u8g_i2c_send_byte(arg_val) == 0 ) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(*ptr++) == 0 ) - return u8g_i2c_stop(), 0; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) - return 0; - ptr++; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - -#ifdef OLD_CODE - if ( i2c_state != 0 ) - { - u8g_i2c_stop(); - i2c_state = 0; - } - - if ( u8g_com_arduino_uc_start_sequence(arg_val) == 0 ) - return 0; - - /* setup bus, might be a repeated start */ - /* - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( arg_val == 0 ) - { - i2c_state = 1; - - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - i2c_state = 2; - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - */ -#endif - break; - } - return 1; -} - -#else /* defined(U8G_WITH_PINLIST) */ - -uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* defined(U8G_WITH_PINLIST) */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c deleted file mode 100644 index 71e378b55..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_hw_spi.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - - u8g_com_atmega_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START() - U8G_ATOMIC_END() - - - -*/ - -#include "u8g.h" - - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif -#endif - - -#if defined(U8G_ATMEGA_HW_SPI) - -#include -#include - - -static uint8_t u8g_atmega_spi_out(uint8_t data) -{ - /* unsigned char x = 100; */ - /* send data */ - SPDR = data; - /* wait for transmission */ - while (!(SPSR & (1< 0 ) - { - u8g_atmega_spi_out(*ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_spi_out(u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - -uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c deleted file mode 100644 index 2b49b04fd..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_parallel.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - - u8g_com_atmega_parallel.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS1 14 - PIN_CS2 15 - PIN_RW 16 - PIN_DI 17 - PIN_EN 18 - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) -{ - - u8g_SetPILevel(u8g, U8G_PI_D0, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D1, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D2, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D3, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D4, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D5, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D6, val&1); - val >>= 1; - u8g_SetPILevel(u8g, U8G_PI_D7, val&1); - - /* EN cycle time must be 1 micro second */ - u8g_SetPILevel(u8g, U8G_PI_EN, 1); - u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ - u8g_SetPILevel(u8g, U8G_PI_EN, 0); - u8g_10MicroDelay(); /* ST7920 commands: 72us */ - u8g_10MicroDelay(); /* ST7920 commands: 72us */ -} - - -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - /* setup the RW pin as output and force it to low */ - u8g_SetPIOutput(u8g, U8G_PI_RW); - u8g_SetPILevel(u8g, U8G_PI_RW, 0); - - u8g_SetPIOutput(u8g, U8G_PI_D0); - u8g_SetPIOutput(u8g, U8G_PI_D1); - u8g_SetPIOutput(u8g, U8G_PI_D2); - u8g_SetPIOutput(u8g, U8G_PI_D3); - u8g_SetPIOutput(u8g, U8G_PI_D4); - u8g_SetPIOutput(u8g, U8G_PI_D5); - u8g_SetPIOutput(u8g, U8G_PI_D6); - u8g_SetPIOutput(u8g, U8G_PI_D7); - u8g_SetPIOutput(u8g, U8G_PI_EN); - u8g_SetPIOutput(u8g, U8G_PI_CS1); - u8g_SetPIOutput(u8g, U8G_PI_CS2); - u8g_SetPIOutput(u8g, U8G_PI_DI); - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - - break; - case U8G_COM_MSG_STOP: - break; - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - } - else if ( arg_val == 1 ) - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 0); - u8g_SetPILevel(u8g, U8G_PI_CS2, 1); - } - else if ( arg_val == 2 ) - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 1); - u8g_SetPILevel(u8g, U8G_PI_CS2, 0); - } - else - { - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS1, 0); - u8g_SetPILevel(u8g, U8G_PI_CS2, 0); - } - break; - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_parallel_write(u8g, arg_val); - break; - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_parallel_write(u8g, *ptr++); - arg_val--; - } - } - break; - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_parallel_write(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_DI, arg_val); - break; - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - } - return 1; -} - -#else - -uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif /* ARDUINO */ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c deleted file mode 100644 index dd0fd4e15..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_hw_spi.c +++ /dev/null @@ -1,216 +0,0 @@ -/* - - u8g_com_atmega_st7920_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller with HW SPI Support - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START() - U8G_ATOMIC_END() - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif - -#endif - -#if defined(U8G_ATMEGA_HW_SPI) - -#include -#include - -static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - /* send data */ - SPDR = val; - /* wait for transmission */ - while (!(SPSR & (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - } - else - { - /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ - } - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); - //u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c deleted file mode 100644 index 24e06028a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_st7920_spi.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - - u8g_com_atmega_st7920_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - A special SPI interface for ST7920 controller - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - uint8_t i = 8; - do - { - u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); - val <<= 1; - u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - i--; - } while( i != 0 ); -} - -static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; -static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) -{ - uint8_t i; - - if ( rs == 0 ) - { - /* command */ - u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0f8); - } - else if ( rs == 1 ) - { - /* data */ - u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0fa); - } - - u8g_atmega_st7920_sw_spi_shift_out(u8g, val & 0x0f0); - u8g_atmega_st7920_sw_spi_shift_out(u8g, val << 4); - - for( i = 0; i < 4; i++ ) - u8g_10MicroDelay(); -} - - -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_SetPIOutput(u8g, U8G_PI_SCK); - u8g_SetPIOutput(u8g, U8G_PI_MOSI); - /* u8g_SetPIOutput(u8g, U8G_PI_A0); */ - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); - u8g_SetPILevel(u8g, U8G_PI_CS, 0 ); - /* u8g_SetPILevel(u8g, U8G_PI_A0, 0); */ - - u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - break; - - case U8G_COM_MSG_CHIP_SELECT: - if ( arg_val == 0 ) - { - /* disable, note: the st7920 has an active high chip select */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); - } - else - { - /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ - } - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); - u8g->pin_list[U8G_PI_A0_STATE] = 2; - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c deleted file mode 100644 index fde3153a5..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_atmega_sw_spi.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - - u8g_com_atmega_sw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; -static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) -{ - uint8_t i = 8; - do - { - u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); - val <<= 1; - u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ - i--; - } while( i != 0 ); -} - -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_SetPIOutput(u8g, U8G_PI_SCK); - u8g_SetPIOutput(u8g, U8G_PI_MOSI); - u8g_SetPIOutput(u8g, U8G_PI_A0); - u8g_SetPIOutput(u8g, U8G_PI_CS); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); - u8g_SetPILevel(u8g, U8G_PI_CS, 1 ); - u8g_SetPILevel(u8g, U8G_PI_A0, 0); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - - if ( arg_val == 0 ) - { - /* disable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 1); - } - else - { - u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); - /* enable */ - u8g_SetPILevel(u8g, U8G_PI_CS, 0); /* CS = 0 (low active) */ - } - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - - case U8G_COM_MSG_WRITE_BYTE: - u8g_atmega_sw_spi_shift_out(u8g, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_sw_spi_shift_out(u8g, *ptr++); - arg_val--; - } - } - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - { - register uint8_t *ptr = arg_ptr; - while( arg_val > 0 ) - { - u8g_atmega_sw_spi_shift_out(u8g, u8g_pgm_read(ptr)); - ptr++; - arg_val--; - } - } - break; - } - return 1; -} - -#else - - -uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c deleted file mode 100644 index 8e16bead3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_i2c.c +++ /dev/null @@ -1,642 +0,0 @@ -/* - - u8g_com_i2c.c - - generic i2c interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -//#define U8G_I2C_WITH_NO_ACK - -static uint8_t u8g_i2c_err_code; -static uint8_t u8g_i2c_opt; /* U8G_I2C_OPT_NO_ACK, SAM: U8G_I2C_OPT_DEV_1 */ -/* - position values - 1: start condition - 2: sla transfer -*/ -static uint8_t u8g_i2c_err_pos; - - -void u8g_i2c_clear_error(void) -{ - u8g_i2c_err_code = U8G_I2C_ERR_NONE; - u8g_i2c_err_pos = 0; -} - -uint8_t u8g_i2c_get_error(void) -{ - return u8g_i2c_err_code; -} - -uint8_t u8g_i2c_get_err_pos(void) -{ - return u8g_i2c_err_pos; -} - -static void u8g_i2c_set_error(uint8_t code, uint8_t pos) -{ - if ( u8g_i2c_err_code > 0 ) - return; - u8g_i2c_err_code |= code; - u8g_i2c_err_pos = pos; -} - - - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_TWI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_TWI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_TWI -#endif -#endif - -#if defined(U8G_ATMEGA_HW_TWI) - -#include -#include - - - -void u8g_i2c_init(uint8_t options) -{ - /* - TWBR: bit rate register - TWSR: status register (contains preselector bits) - - prescalar - 0 1 - 1 4 - 2 16 - 3 64 - - f = F_CPU/(16+2*TWBR*prescalar) - - F_CPU = 16MHz - TWBR = 152; - TWSR = 0; - --> 50KHz - - TWBR = 72; - TWSR = 0; - --> 100KHz - - TWBR = 12; - TWSR = 0; - --> 400KHz - - F_CPU/(2*100000)-8 --> calculate TWBR value for 100KHz -*/ - u8g_i2c_opt = options; - TWSR = 0; - if ( options & U8G_I2C_OPT_FAST ) - { - TWBR = F_CPU/(2*400000)-8; - } - else - { - TWBR = F_CPU/(2*100000)-8; - } - u8g_i2c_clear_error(); -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - volatile uint16_t cnt = 2000; /* timout value should be > 280 for 50KHz Bus and 16 Mhz CPU, however the start condition might need longer */ - while( !(TWCR & mask) ) - { - if ( cnt == 0 ) - { - if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) - { - return 1; /* all ok */ - } - else - { - u8g_i2c_set_error(U8G_I2C_ERR_TIMEOUT, pos); - return 0; /* error */ - } - } - cnt--; - } - return 1; /* all ok */ -} - -/* sla includes all 8 bits (with r/w bit), assums master transmit */ -uint8_t u8g_i2c_start(uint8_t sla) -{ - register uint8_t status; - - /* send start */ - TWCR = _BV(TWINT) | _BV(TWSTA) | _BV(TWEN); - - /* wait */ - if ( u8g_i2c_wait(_BV(TWINT), 1) == 0 ) - return 0; - - status = TW_STATUS; - - /* check status after start */ - if ( status != TW_START && status != TW_REP_START ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 1); - return 0; - } - - /* set slave address */ - TWDR = sla; - - /* enable sla transfer */ - TWCR = _BV(TWINT) | _BV(TWEN); - - /* wait */ - if ( u8g_i2c_wait(_BV(TWINT), 2) == 0 ) - return 0; - - if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) - { - /* do not check for ACK */ - } - else - { - status = TW_STATUS; - /* check status after sla */ - if ( status != TW_MT_SLA_ACK ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 2); - return 0; - } - } - - return 1; -} - -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - register uint8_t status; - TWDR = data; - TWCR = _BV(TWINT) | _BV(TWEN); - if ( u8g_i2c_wait(_BV(TWINT), 3) == 0 ) - return 0; - - if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) - { - /* do not check for ACK */ - } - else - { - status = TW_STATUS; - if ( status != TW_MT_DATA_ACK ) - { - u8g_i2c_set_error(U8G_I2C_ERR_BUS, 3); - return 0; - } - } - - return 1; -} - -void u8g_i2c_stop(void) -{ - /* write stop */ - TWCR = _BV(TWINT) | _BV(TWEN) | _BV(TWSTO); - - /* no error is checked for the stop condition */ - u8g_i2c_wait(_BV(TWSTO), 4); - -} - -/* -void twi_send(uint8_t adr, uint8_t data1, uint8_t data2) -{ - u8g_i2c_start(adr<<1); - u8g_i2c_send_byte(data1); - u8g_i2c_send_byte(data2); - u8g_i2c_stop(); -} -*/ - -#elif defined(ARDUINO) && defined(__SAM3X8E__) -/* Arduino Due */ -#include "Arduino.h" -#include "sam.h" - -/* - -Controller - -TWI0 TWCK0 PA18 A DUE PCB: SCL1 -TWI0 TWD0 PA17 A DUE PCB: SDA1 -TWI1 TWCK1 PB13 A DUE PCB: SCL 21 -TWI1 TWD1 PB12 A DUE PCB: SDA 20 - -Arduino definitions - -#define PIN_WIRE_SDA (20u) -#define PIN_WIRE_SCL (21u) -#define WIRE_INTERFACE TWI1 -#define WIRE_INTERFACE_ID ID_TWI1 -#define WIRE_ISR_HANDLER TWI1_Handler - -#define PIN_WIRE1_SDA (70u) -#define PIN_WIRE1_SCL (71u) -#define WIRE1_INTERFACE TWI0 -#define WIRE1_INTERFACE_ID ID_TWI0 -#define WIRE1_ISR_HANDLER TWI0_Handler - - -*/ - -static void i2c_400KHz_delay(void) -{ - /* should be at least 4 */ - /* should be 5 for 100KHz transfer speed */ - - - /* - Arduino Due - 0x NOP: 470KHz - 4x NOP: 450KHz - 8x NOP: 430KHz - 16x NOP: 400KHz - */ - - __NOP(); - __NOP(); - __NOP(); - __NOP(); - - __NOP(); - __NOP(); - __NOP(); - __NOP(); - - __NOP(); - __NOP(); - __NOP(); - __NOP(); - - __NOP(); - __NOP(); - __NOP(); - __NOP(); -} - -static void i2c_100KHz_delay(void) -{ - /* - 1x u8g_MicroDelay() ca. 130KHz - 2x u8g_MicroDelay() ca. 80KHz - */ - u8g_MicroDelay(); - u8g_MicroDelay(); -} - - -uint32_t i2c_started = 0; -uint32_t i2c_scl_pin = 0; -uint32_t i2c_sda_pin = 0; -void (*i2c_delay)(void) = i2c_100KHz_delay; - -const PinDescription *i2c_scl_pin_desc; -const PinDescription *i2c_sda_pin_desc; - - -/* maybe this can be optimized */ -static void i2c_init(void) -{ - i2c_sda_pin_desc = &(g_APinDescription[i2c_sda_pin]); - i2c_scl_pin_desc = &(g_APinDescription[i2c_scl_pin]); - pinMode(i2c_sda_pin, OUTPUT); - digitalWrite(i2c_sda_pin, HIGH); - pinMode(i2c_scl_pin, OUTPUT); - digitalWrite(i2c_scl_pin, HIGH); - PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN ); - PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN ); - PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ; - PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ; - PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; - PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; - i2c_delay(); -} - -/* actually, the scl line is not observed, so this procedure does not return a value */ -static void i2c_read_scl_and_delay(void) -{ - uint32_t dwMask = i2c_scl_pin_desc->ulPin; - //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; - //PIO_SetInput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; - - /* set as input */ - i2c_scl_pin_desc->pPort->PIO_ODR = dwMask ; - i2c_scl_pin_desc->pPort->PIO_PER = dwMask ; - - i2c_delay(); -} - -static void i2c_clear_scl(void) -{ - uint32_t dwMask = i2c_scl_pin_desc->ulPin; - - /* set open collector and drive low */ - //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN ); - //PIO_SetOutput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, 0, 1, 0); - - /* open drain, zero default output */ - i2c_scl_pin_desc->pPort->PIO_MDER = dwMask; - i2c_scl_pin_desc->pPort->PIO_CODR = dwMask; - i2c_scl_pin_desc->pPort->PIO_OER = dwMask; - i2c_scl_pin_desc->pPort->PIO_PER = dwMask; - - //PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ; -} - -static uint8_t i2c_read_sda(void) -{ - uint32_t dwMask = i2c_sda_pin_desc->ulPin; - //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; - //PIO_SetInput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; - - /* set as input */ - i2c_sda_pin_desc->pPort->PIO_ODR = dwMask ; - i2c_sda_pin_desc->pPort->PIO_PER = dwMask ; - - - return 1; -} - -static void i2c_clear_sda(void) -{ - uint32_t dwMask = i2c_sda_pin_desc->ulPin; - - /* set open collector and drive low */ - //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN ); - //PIO_SetOutput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, 0, 1, 0); - - /* open drain, zero default output */ - i2c_sda_pin_desc->pPort->PIO_MDER = dwMask ; - i2c_sda_pin_desc->pPort->PIO_CODR = dwMask ; - i2c_sda_pin_desc->pPort->PIO_OER = dwMask ; - i2c_sda_pin_desc->pPort->PIO_PER = dwMask ; - - //PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ; -} - -static void i2c_start(void) -{ - if ( i2c_started != 0 ) - { - /* if already started: do restart */ - i2c_read_sda(); /* SDA = 1 */ - i2c_delay(); - i2c_read_scl_and_delay(); - } - i2c_read_sda(); - /* - if (i2c_read_sda() == 0) - { - // do something because arbitration is lost - } - */ - /* send the start condition, both lines go from 1 to 0 */ - i2c_clear_sda(); - i2c_delay(); - i2c_clear_scl(); - i2c_started = 1; -} - - -static void i2c_stop(void) -{ - /* set SDA to 0 */ - i2c_clear_sda(); - i2c_delay(); - - /* now release all lines */ - i2c_read_scl_and_delay(); - - /* set SDA to 1 */ - i2c_read_sda(); - i2c_delay(); - i2c_started = 0; -} - -static void i2c_write_bit(uint8_t val) -{ - if (val) - i2c_read_sda(); - else - i2c_clear_sda(); - - i2c_delay(); - i2c_read_scl_and_delay(); - i2c_clear_scl(); -} - -static uint8_t i2c_read_bit(void) -{ - uint8_t val; - /* do not drive SDA */ - i2c_read_sda(); - i2c_delay(); - i2c_read_scl_and_delay(); - val = i2c_read_sda(); - i2c_delay(); - i2c_clear_scl(); - return val; -} - -static uint8_t i2c_write_byte(uint8_t b) -{ - i2c_write_bit(b & 128); - i2c_write_bit(b & 64); - i2c_write_bit(b & 32); - i2c_write_bit(b & 16); - i2c_write_bit(b & 8); - i2c_write_bit(b & 4); - i2c_write_bit(b & 2); - i2c_write_bit(b & 1); - - /* read ack from client */ - /* 0: ack was given by client */ - /* 1: nothing happend during ack cycle */ - return i2c_read_bit(); -} - - - -void u8g_i2c_init(uint8_t options) -{ - u8g_i2c_opt = options; - u8g_i2c_clear_error(); - - if ( u8g_i2c_opt & U8G_I2C_OPT_FAST ) - { - i2c_delay = i2c_400KHz_delay; - } - else - { - i2c_delay = i2c_100KHz_delay; - } - - - if ( u8g_i2c_opt & U8G_I2C_OPT_DEV_1 ) - { - i2c_scl_pin = PIN_WIRE1_SCL; - i2c_sda_pin = PIN_WIRE1_SDA; - - //REG_PIOA_PDR = PIO_PB12A_TWD1 | PIO_PB13A_TWCK1; - } - else - { - - i2c_scl_pin = PIN_WIRE_SCL; - i2c_sda_pin = PIN_WIRE_SDA; - - //REG_PIOA_PDR = PIO_PA17A_TWD0 | PIO_PA18A_TWCK0; - } - - i2c_init(); - -} - -/* sla includes also the r/w bit */ -uint8_t u8g_i2c_start(uint8_t sla) -{ - i2c_start(); - i2c_write_byte(sla); - return 1; -} - -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - return i2c_write_byte(data); -} - -void u8g_i2c_stop(void) -{ - i2c_stop(); -} - - -#elif defined(U8G_RASPBERRY_PI) - -#include -#include -#include -#include -#include - -#define I2C_SLA 0x3c - -static int fd=-1; -static uint8_t i2cMode = 0; - -void u8g_i2c_init(uint8_t options) { - u8g_i2c_clear_error(); - u8g_i2c_opt = options; - - if (wiringPiSetup() == -1) { - printf("wiringPi-Error\n"); - exit(1); - } - - fd = wiringPiI2CSetup(I2C_SLA); - if (fd < 0) { - printf ("Unable to open I2C device 0: %s\n", strerror (errno)) ; - exit (1) ; - } - //u8g_SetPIOutput(u8g, U8G_PI_RESET); - //u8g_SetPIOutput(u8g, U8G_PI_A0); -} -uint8_t u8g_i2c_start(uint8_t sla) { - u8g_i2c_send_mode(0); - - return 1; -} - -void u8g_i2c_stop(void) { -} - -uint8_t u8g_i2c_send_mode(uint8_t mode) { - i2cMode = mode; -} - -uint8_t u8g_i2c_send_byte(uint8_t data) { - wiringPiI2CWriteReg8(fd, i2cMode, data); - - return 1; -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - return 1; -} - -#else - -/* empty interface */ - -void u8g_i2c_init(uint8_t options) -{ - u8g_i2c_clear_error(); -} - -uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) -{ - return 1; -} - -uint8_t u8g_i2c_start(uint8_t sla) -{ - return 1; -} -uint8_t u8g_i2c_send_byte(uint8_t data) -{ - return 1; -} - -void u8g_i2c_stop(void) -{ -} - - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c deleted file mode 100644 index 38a88a0fa..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_io.c +++ /dev/null @@ -1,273 +0,0 @@ -/* - - u8g_com_io.c - - abstraction layer for low level i/o - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START(); - U8G_ATOMIC_END(); - - uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) Convert to internal number: AVR: port*8+bitpos, ARM: port*16+bitpos - void u8g_SetPinOutput(uint8_t internal_pin_number) - void u8g_SetPinInput(uint8_t internal_pin_number) - void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) - uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) - - -*/ - -#include "u8g.h" - -#if defined(__AVR__) - -#include -#include - -typedef volatile uint8_t * IO_PTR; - -/* create internal pin number */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) -{ - port <<= 3; - port += bitpos; - return port; -} - -const IO_PTR u8g_avr_ddr_P[] PROGMEM = { -#ifdef DDRA - &DDRA, -#else - 0, -#endif - &DDRB, -#ifdef DDRC - &DDRC, -#ifdef DDRD - &DDRD, -#ifdef DDRE - &DDRE, -#ifdef DDRF - &DDRF, -#ifdef DDRG - &DDRG, -#ifdef DDRH - &DDRH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - - -const IO_PTR u8g_avr_port_P[] PROGMEM = { -#ifdef PORTA - &PORTA, -#else - 0, -#endif - &PORTB, -#ifdef PORTC - &PORTC, -#ifdef PORTD - &PORTD, -#ifdef PORTE - &PORTE, -#ifdef PORTF - &PORTF, -#ifdef PORTG - &PORTG, -#ifdef PORTH - &PORTH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - -const IO_PTR u8g_avr_pin_P[] PROGMEM = { -#ifdef PINA - &PINA, -#else - 0, -#endif - &PINB, -#ifdef PINC - &PINC, -#ifdef PIND - &PIND, -#ifdef PINE - &PINE, -#ifdef PINF - &PINF, -#ifdef PING - &PING, -#ifdef PINH - &PINH, -#endif -#endif -#endif -#endif -#endif -#endif -}; - -static volatile uint8_t *u8g_get_avr_io_ptr(const IO_PTR *base, uint8_t offset) -{ - volatile uint8_t * tmp; - base += offset; - memcpy_P(&tmp, base, sizeof(volatile uint8_t * PROGMEM)); - return tmp; -} - -/* set direction to output of the specified pin (internal pin number) */ -void u8g_SetPinOutput(uint8_t internal_pin_number) -{ - *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) |= _BV(internal_pin_number&7); -} - -void u8g_SetPinInput(uint8_t internal_pin_number) -{ - *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) &= ~_BV(internal_pin_number&7); -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) -{ - volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_port_P, internal_pin_number>>3); - - if ( level == 0 ) - { - U8G_ATOMIC_AND(tmp, ~_BV(internal_pin_number&7)); - // *tmp &= ~_BV(internal_pin_number&7); - } - else - { - U8G_ATOMIC_OR(tmp, _BV(internal_pin_number&7)); - //*tmp |= _BV(internal_pin_number&7); - } - -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) -{ - volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_pin_P, internal_pin_number>>3); - if ( ((*tmp) & _BV(internal_pin_number&7)) != 0 ) - return 1; - return 0; -} - -#elif defined(U8G_RASPBERRY_PI) - -#include -//#include "/usr/local/include/wiringPi.h" - -void u8g_SetPinOutput(uint8_t internal_pin_number) { - pinMode(internal_pin_number, OUTPUT); -} - -void u8g_SetPinInput(uint8_t internal_pin_number) { - pinMode(internal_pin_number, INPUT); -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) { - digitalWrite(internal_pin_number, level); -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) { - return digitalRead(internal_pin_number); -} - - -#else - -/* convert "port" and "bitpos" to internal pin number */ -uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) -{ - port <<= 3; - port += bitpos; - return port; -} - -void u8g_SetPinOutput(uint8_t internal_pin_number) -{ -} - -void u8g_SetPinInput(uint8_t internal_pin_number) -{ -} - -void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) -{ -} - -uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) -{ - return 0; -} - -#endif - - -#if defined(U8G_WITH_PINLIST) - -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi) -{ - uint8_t pin; - pin = u8g->pin_list[pi]; - if ( pin != U8G_PIN_NONE ) - u8g_SetPinOutput(pin); -} - -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level) -{ - uint8_t pin; - pin = u8g->pin_list[pi]; - if ( pin != U8G_PIN_NONE ) - u8g_SetPinLevel(pin, level); -} - -#else /* defined(U8G_WITH_PINLIST) */ -void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi) -{ -} - -void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level) -{ -} - -#endif /* defined(U8G_WITH_PINLIST) */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c deleted file mode 100644 index 1d9deebff..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_null.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - - u8g_com_null.c - - communication null device - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - break; - case U8G_COM_MSG_STOP: - break; - - - case U8G_COM_MSG_CHIP_SELECT: - /* arg_val contains the chip number, which should be enabled */ - break; - - - case U8G_COM_MSG_WRITE_BYTE: - break; - case U8G_COM_MSG_WRITE_SEQ: - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c deleted file mode 100644 index 611391f54..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_hw_spi.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - - u8g_com_raspberrypi_hw_spi.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Assumes, that - MOSI is at PORTB, Pin 3 - and - SCK is at PORTB, Pin 5 - - Update for ATOMIC operation done (01 Jun 2013) - U8G_ATOMIC_OR(ptr, val) - U8G_ATOMIC_AND(ptr, val) - U8G_ATOMIC_START() - U8G_ATOMIC_END() - - - -*/ - -#include "u8g.h" - - - -#if defined(U8G_RASPBERRY_PI) - -#include -#include -#include -#include -#include - -uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_INIT: - // check wiringPi setup - if (wiringPiSetup() == -1) - { - printf("wiringPi-Error\n"); - exit(1); - } - - if (wiringPiSPISetup (0, 100000) < 0) - { - printf ("Unable to open SPI device 0: %s\n", strerror (errno)) ; - exit (1) ; - } - - u8g_SetPIOutput(u8g, U8G_PI_RESET); - u8g_SetPIOutput(u8g, U8G_PI_A0); - - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); - break; - - case U8G_COM_MSG_CHIP_SELECT: - /* Done by the SPI hardware */ - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - wiringPiSPIDataRW (0, &arg_val, 1) ; - break; - - case U8G_COM_MSG_WRITE_SEQ: - wiringPiSPIDataRW (0, arg_ptr, arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - wiringPiSPIDataRW (0, arg_ptr, arg_val); - break; - } - return 1; -} - -#else - -uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - return 1; -} - -#endif - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c deleted file mode 100644 index 88d85ded2..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_com_raspberrypi_ssd_i2c.c +++ /dev/null @@ -1,176 +0,0 @@ -/* - Special pin usage: - U8G_PI_I2C_OPTION additional options - U8G_PI_A0_STATE used to store the last value of the command/data register selection - U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device - U8G_PI_SCL clock line (NOT USED) - U8G_PI_SDA data line (NOT USED) - - U8G_PI_RESET reset line (currently disabled, see below) - - Protocol: - SLA, Cmd/Data Selection, Arguments - The command/data register is selected by a special instruction byte, which is sent after SLA - - The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode -*/ - -#include "u8g.h" - -#if defined(U8G_RASPBERRY_PI) - -#include -#include -#include -#include -#include - -#define I2C_SLA 0x3c -#define I2C_CMD_MODE 0x000 -#define I2C_DATA_MODE 0x040 - -#if defined(U8G_WITH_PINLIST) - -uint8_t u8g_com_raspberrypi_ssd_start_sequence(u8g_t *u8g) -{ - /* are we requested to set the a0 state? */ - if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) - return 1; - - /* setup bus, might be a repeated start */ - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) - { - if ( u8g_i2c_send_mode(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - if ( u8g_i2c_send_mode(I2C_DATA_MODE) == 0 ) - return 0; - } - - - u8g->pin_list[U8G_PI_SET_A0] = 0; - return 1; -} - -uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) -{ - switch(msg) - { - case U8G_COM_MSG_INIT: - u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); - u8g_SetPIOutput(u8g, U8G_PI_RESET); - u8g_SetPIOutput(u8g, U8G_PI_A0); - break; - - case U8G_COM_MSG_STOP: - break; - - case U8G_COM_MSG_RESET: - break; - - case U8G_COM_MSG_CHIP_SELECT: - u8g->pin_list[U8G_PI_A0_STATE] = 0; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ - if ( arg_val == 0 ) - { - /* disable chip, send stop condition */ - u8g_i2c_stop(); - } - else - { - /* enable, do nothing: any byte writing will trigger the i2c start */ - } - break; - - case U8G_COM_MSG_WRITE_BYTE: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - if ( u8g_i2c_send_byte(arg_val) == 0 ) - return u8g_i2c_stop(), 0; - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = (uint8_t *)arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(*ptr++) == 0 ) - return u8g_i2c_stop(), 0; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_WRITE_SEQ_P: - //u8g->pin_list[U8G_PI_SET_A0] = 1; - if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) - return u8g_i2c_stop(), 0; - { - register uint8_t *ptr = (uint8_t *)arg_ptr; - while( arg_val > 0 ) - { - if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) - return 0; - ptr++; - arg_val--; - } - } - // u8g_i2c_stop(); - break; - - case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ - u8g->pin_list[U8G_PI_A0_STATE] = arg_val; - u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ - -#ifdef OLD_CODE - if ( i2c_state != 0 ) - { - u8g_i2c_stop(); - i2c_state = 0; - } - - if ( u8g_com_raspberrypi_ssd_start_sequence(arg_val) == 0 ) - return 0; - - /* setup bus, might be a repeated start */ - /* - if ( u8g_i2c_start(I2C_SLA) == 0 ) - return 0; - if ( arg_val == 0 ) - { - i2c_state = 1; - - if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) - return 0; - } - else - { - i2c_state = 2; - if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) - return 0; - } - */ -#endif - break; - } - return 1; -} - -#else /* defined(U8G_WITH_PINLIST) */ - -uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { - return 1; -} - -#endif /* defined(U8G_WITH_PINLIST) */ -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c deleted file mode 100644 index 62075ba6e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_cursor.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - - u8g_cursor.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font) -{ - u8g->cursor_font = cursor_font; -} - -void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding) -{ - u8g->cursor_encoding = encoding; -} - -void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg) -{ - u8g->cursor_bg_color = bg; - u8g->cursor_fg_color = fg; -} - -void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y) -{ - u8g->cursor_x = cursor_x; - u8g->cursor_y = cursor_y; -} - -void u8g_EnableCursor(u8g_t *u8g) -{ - u8g->cursor_fn = u8g_DrawCursor; -} - -void u8g_DisableCursor(u8g_t *u8g) -{ - u8g->cursor_fn = (u8g_draw_cursor_fn)0; -} - -void u8g_DrawCursor(u8g_t *u8g) -{ - const u8g_pgm_uint8_t *font; - uint8_t color; - uint8_t encoding = u8g->cursor_encoding; - - /* get current values */ - color = u8g_GetColorIndex(u8g); - font = u8g->font; - - /* draw cursor */ - u8g->font = u8g->cursor_font; - encoding++; - u8g_SetColorIndex(u8g, u8g->cursor_bg_color); - /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ - /* required, because y adjustment should not happen to the cursor fonts */ - u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); - encoding--; - u8g_SetColorIndex(u8g, u8g->cursor_fg_color); - /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ - /* required, because y adjustment should not happen to the cursor fonts */ - /* u8g_DrawGlyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); */ - u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); - - /* restore previous values */ - u8g->font = font; - u8g_SetColorIndex(u8g, color); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c deleted file mode 100644 index a1329da1d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_delay.c +++ /dev/null @@ -1,262 +0,0 @@ -/* - - u8g_delay.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - void u8g_Delay(uint16_t val) Delay by "val" milliseconds - void u8g_MicroDelay(void) Delay be one microsecond - void u8g_10MicroDelay(void) Delay by 10 microseconds - - -*/ - - -#include "u8g.h" - -/*==== Part 1: Derive suitable delay procedure ====*/ - -#if defined(ARDUINO) - -# if ARDUINO < 100 -# include -# else -# include -# endif - -# if defined(__AVR__) -# define USE_AVR_DELAY -# elif defined(__PIC32MX) -# define USE_PIC32_DELAY -# elif defined(__arm__) /* Arduino Due & Teensy */ -# define USE_ARDUINO_DELAY -# else -# define USE_ARDUINO_DELAY -# endif -#elif defined(U8G_RASPBERRY_PI) -# define USE_RASPBERRYPI_DELAY -#elif defined(__AVR__) -# define USE_AVR_DELAY -#elif defined(__18CXX) -# define USE_PIC18_DELAY -#elif defined(__arm__) -/* do not define anything, all procedures are expected to be defined outside u8glib */ - -/* -void u8g_Delay(uint16_t val); -void u8g_MicroDelay(void); -void u8g_10MicroDelay(void); -*/ - -#else -# define USE_DUMMY_DELAY -#endif - - - -/*==== Part 2: Definition of the delay procedures ====*/ - -/*== Raspberry Pi Delay ==*/ -#if defined (USE_RASPBERRYPI_DELAY) -#include -//#include "/usr/local/include/wiringPi.h" -void u8g_Delay(uint16_t val) { - //delay(val); - //usleep((uint32_t)val*(uint32_t)1000); - delayMicroseconds((uint32_t)val*(uint32_t)1000); -} -void u8g_MicroDelay(void) -{ - usleep(1); -} -void u8g_10MicroDelay(void) -{ - usleep(10); -} -#endif - - -/*== AVR Delay ==*/ - -#if defined(USE_AVR_DELAY) -#include -#include -#include - -/* - Delay by the provided number of milliseconds. - Thus, a 16 bit value will allow a delay of 0..65 seconds - Makes use of the _delay_loop_2 - - _delay_loop_2 will do a delay of n * 4 prozessor cycles. - with f = F_CPU cycles per second, - n = f / (1000 * 4 ) - with f = 16000000 the result is 4000 - with f = 1000000 the result is 250 - - the millisec loop, gcc requires the following overhead: - - movev 1 - - subwi 2x2 - - bne i 2 - ==> 7 cycles - ==> must be devided by 4, rounded up 7/4 = 2 -*/ -void u8g_Delay(uint16_t val) -{ - /* old version did a call to the arduino lib: delay(val); */ - while( val != 0 ) - { - _delay_loop_2( (F_CPU / 4000 ) -2); - val--; - } -} - -/* delay by one micro second */ -void u8g_MicroDelay(void) -{ -#if (F_CPU / 4000000 ) > 0 - _delay_loop_2( (F_CPU / 4000000 ) ); -#endif -} - -/* delay by 10 micro seconds */ -void u8g_10MicroDelay(void) -{ -#if (F_CPU / 400000 ) > 0 - _delay_loop_2( (F_CPU / 400000 ) ); -#endif -} - -#endif - - -/*== Delay for PIC18 (not tested) ==*/ - -#if defined(USE_PIC18_DELAY) -#include -#define GetSystemClock() (64000000ul) // Hz -#define GetInstructionClock() (GetSystemClock()/4) - -void u8g_Delay(uint16_t val) -{/* - unsigned int _iTemp = (val); - while(_iTemp--) - Delay1KTCYx((GetInstructionClock()+999999)/1000000); - */ -} -void u8g_MicroDelay(void) -{ - /* not implemented */ -} -void u8g_10MicroDelay(void) -{ - /* not implemented */ -} -#endif - - -/*== Arduino Delay ==*/ -#if defined(USE_ARDUINO_DELAY) -void u8g_Delay(uint16_t val) -{ -#if defined(__arm__) - delayMicroseconds((uint32_t)val*(uint32_t)1000); -#else - delay(val); -#endif -} -void u8g_MicroDelay(void) -{ - delayMicroseconds(1); -} -void u8g_10MicroDelay(void) -{ - delayMicroseconds(10); -} -#endif - -#if defined(USE_PIC32_DELAY) -/* - Assume chipkit here with F_CPU correctly defined - The problem was, that u8g_Delay() is called within the constructor. - It seems that the chipkit is not fully setup at this time, so a - call to delay() will not work. So here is my own implementation. - -*/ -#define CPU_COUNTS_PER_SECOND (F_CPU/2UL) -#define TICKS_PER_MILLISECOND (CPU_COUNTS_PER_SECOND/1000UL) -#include "plib.h" -void u8g_Delay(uint16_t val) -{ - uint32_t d; - uint32_t s; - d = val; - d *= TICKS_PER_MILLISECOND; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -void u8g_MicroDelay(void) -{ - uint32_t d; - uint32_t s; - d = TICKS_PER_MILLISECOND/1000; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -void u8g_10MicroDelay(void) -{ - uint32_t d; - uint32_t s; - d = TICKS_PER_MILLISECOND/100; - s = ReadCoreTimer(); - while ( (uint32_t)(ReadCoreTimer() - s) < d ) - ; -} - -#endif - -/*== Any other systems: Dummy Delay ==*/ -#if defined(USE_DUMMY_DELAY) -void u8g_Delay(uint16_t val) -{ - /* do not know how to delay... */ -} -void u8g_MicroDelay(void) -{ -} -void u8g_10MicroDelay(void) -{ -} -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c deleted file mode 100644 index 8968a26da..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_a2_micro_printer.c +++ /dev/null @@ -1,199 +0,0 @@ -/* - - u8g_dev_a2_micro_printer_ds.c - - Use DC2 bitmap command of the A2 Micro panel termal printer - double stroke - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define LINE_DELAY 40 - - -uint8_t u8g_dev_a2_micro_printer_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - y = pb->p.page_y0; - ptr = pb->buf; - - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 160); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 20); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - u8g_WriteByte(u8g, dev, 18); /* DC2 */ - u8g_WriteByte(u8g, dev, 42 ); /* * */ - u8g_WriteByte(u8g, dev, pb->p.page_height ); - u8g_WriteByte(u8g, dev, pb->width/8 ); - - for( i = 0; i < pb->p.page_height; i ++ ) - { - for( j = 0; j < pb->width/8; j++ ) - { - u8g_WriteByte(u8g, dev, *ptr); - ptr++; - } - u8g_Delay(LINE_DELAY); - y++; - } - - /* set parameters back to their default values */ - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 80); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 2); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_expand4(uint8_t val) -{ - uint8_t a,b,c,d; - a = val&1; - b = (val&2)<<1; - c = (val&4)<<2; - d = (val&8)<<3; - a |=b; - a |=c; - a |=d; - a |= a<<1; - return a; -} - -uint8_t u8g_dev_a2_micro_printer_double_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - { - //u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - //u8g_WriteByte(u8g, dev, 18); /* DC2 */ - //u8g_WriteByte(u8g, dev, 42 ); /* * */ - //u8g_WriteByte(u8g, dev, pb->p.total_height*2 ); - //u8g_WriteByte(u8g, dev, pb->width/8*2 ); - } - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i, j; - uint8_t *ptr; - uint8_t *p2; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - y = pb->p.page_y0; - ptr = pb->buf; - //u8g_WriteByte(u8g, dev, 18); /* DC2 */ - //u8g_WriteByte(u8g, dev, 35 ); /* # */ - //u8g_WriteByte(u8g, dev, 0x0ff ); /* max */ - - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 160); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 20); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - u8g_WriteByte(u8g, dev, 18); /* DC2 */ - u8g_WriteByte(u8g, dev, 42 ); /* * */ - u8g_WriteByte(u8g, dev, pb->p.page_height*2 ); - u8g_WriteByte(u8g, dev, pb->width/8*2 ); - - for( i = 0; i < pb->p.page_height; i ++ ) - { - p2 = ptr; - for( j = 0; j < pb->width/8; j++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4)); - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15)); - p2++; - } - u8g_Delay(LINE_DELAY); - p2 = ptr; - for( j = 0; j < pb->width/8; j++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4)); - u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15)); - p2++; - } - u8g_Delay(LINE_DELAY); - ptr += pb->width/8; - y++; - } - - /* set parameters back to their default values */ - u8g_WriteByte(u8g, dev, 27); /* ESC */ - u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ - u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ - u8g_WriteByte(u8g, dev, 80); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ - u8g_WriteByte(u8g, dev, 2); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ - - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -#if defined(U8G_16BIT) -U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 384, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 360, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 720, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -#else -U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 240, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); -#endif - -U8G_PB_DEV(u8g_dev_a2_micro_printer_192x120_ds, 192, 120, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c deleted file mode 100644 index d86d08e05..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_flipdisc_2x7.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - - u8g_dev_flipdisc.c - - 1-Bit (BW) Driver for flip disc matrix - 2x 7 pixel height - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -#define WIDTH 28 -#define HEIGHT 14 -#define PAGE_HEIGHT 14 - -/* - Write data to the flip disc matrix. - This procedure must be implemented by the user. - Arguments: - id: Id for the matrix. Currently always 0. - page: A page has a height of 14 pixel. For a matrix with HEIGHT == 14 this will be always 0 - width: The width of the flip disc matrix. Always equal to WIDTH - row1: first data line (7 pixel per byte) - row2: first data line (7 pixel per byte) -*/ -void writeFlipDiscMatrix(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); - - - -void (*u8g_write_flip_disc_matrix)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); - -void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)) -{ - u8g_write_flip_disc_matrix = cb; -} - -uint8_t u8g_dev_flipdisc_2x7_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - /* current page: pb->p.page */ - /* ptr to the buffer: pb->buf */ - - (*u8g_write_flip_disc_matrix)(0, pb->p.page, WIDTH, pb->buf, (uint8_t *)(pb->buf)+WIDTH); - } - break; - case U8G_DEV_MSG_CONTRAST: - return 1; - } - return u8g_dev_pb14v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_flipdisc_2x7_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_flipdisc_2x7_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_flipdisc_2x7_bw_buf}; -u8g_dev_t u8g_dev_flipdisc_2x7 = { u8g_dev_flipdisc_2x7_bw_fn, &u8g_dev_flipdisc_2x7_bw_pb, u8g_com_null_fn }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c deleted file mode 100644 index cb2342ac4..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_gprof.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - - u8g_dev_gprof.c - - Device for performance measurement with gprof. - Does not write any data, but uses a buffer. - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -*/ - -#include "u8g.h" - - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_pb_dev_gprof_buf[WIDTH]; -u8g_pb_t u8g_pb_dev_gprof = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_pb_dev_gprof_buf }; - -u8g_dev_t u8g_dev_gprof = { u8g_dev_gprof_fn, &u8g_pb_dev_gprof, NULL }; - -uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - /* - { - uint8_t i, j; - uint8_t page_height; - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( j = 0; j < page_height; j++ ) - { - printf("%02d ", j); - for( i = 0; i < WIDTH; i++ ) - { - if ( (u8g_pb_dev_stdout_buf[i] & (1<p)) == 0 ) - { - //printf("\n"); - return 0; - } - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x2, y2; - - y2 = bbx->y; - y2 += bbx->h; - y2--; - - if ( u8g_pb_IsYIntersection(pb, bbx->y, y2) == 0 ) - return 0; - - /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ - x2 = bbx->x; - x2 += bbx->w; - x2--; - - if ( u8g_pb_IsXIntersection(pb, bbx->x, x2) == 0 ) - return 0; - } - return 1; -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ht1632.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ht1632.c deleted file mode 100644 index 4977793f1..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ht1632.c +++ /dev/null @@ -1,281 +0,0 @@ -/* - - u8g_dev_ht1632.c - - 1-Bit (BW) Driver for HT1632 controller - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - U8G_PIN_NONE can be used as argument - - uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) - { - ... - u8g->pin_list[U8G_PI_SCK] = sck; - u8g->pin_list[U8G_PI_MOSI] = mosi; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - -mapping - -#define DATA_PIN --> U8G_PI_MOSI -#define WR_PIN --> U8G_PI_SCK -#define CS_PIN --> U8G_PI_CS - U8G_PI_A0 --> not used - U8G_PI_RESET --> not used - -Usage: - - u8g_InitSPI(&u8g, &u8g_dev_ht1632_24x16, WR_PIN, DATA_IN, CS_PIN, U8G_PIN_NONE, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#define WIDTH 24 -#define HEIGHT 16 -#define PAGE_HEIGHT 16 - -/* http://forum.arduino.cc/index.php?topic=168537.0 */ - -#define HT1632_CMD_SYSDIS 0x00 // CMD= 0000-0000-x Turn off oscil -#define HT1632_CMD_SYSON 0x01 // CMD= 0000-0001-x Enable system oscil -#define HT1632_CMD_LEDOFF 0x02 // CMD= 0000-0010-x LED duty cycle gen off -#define HT1632_CMD_LEDON 0x03 // CMD= 0000-0011-x LEDs ON -#define HT1632_CMD_BLOFF 0x08 // CMD= 0000-1000-x Blink OFF -#define HT1632_CMD_BLON 0x09 // CMD= 0000-1001-x Blink On -#define HT1632_CMD_SLVMD 0x10 // CMD= 0001-00xx-x Slave Mode -#define HT1632_CMD_MSTMD 0x14 // CMD= 0001-01xx-x Master Mode -#define HT1632_CMD_RCCLK 0x18 // CMD= 0001-10xx-x Use on-chip clock -#define HT1632_CMD_EXTCLK 0x1C // CMD= 0001-11xx-x Use external clock -#define HT1632_CMD_COMS00 0x20 // CMD= 0010-ABxx-x commons options -#define HT1632_CMD_COMS01 0x24 // CMD= 0010-ABxx-x commons options -#define HT1632_CMD_COMS10 0x28 // CMD= 0010-ABxx-x commons options -#define HT1632_CMD_COMS11 0x2C // P-MOS OUTPUT AND 16COMMON OPTION -#define HT1632_CMD_PWM 0xA0 // CMD= 101x-PPPP-x PWM duty cycle - -#define HT1632_ID_CMD 4 /* ID = 100 - Commands */ -#define HT1632_ID_RD 6 /* ID = 110 - Read RAM */ -#define HT1632_ID_WR 5 /* ID = 101 - Write RAM */ - -#define HT1632_ID_LEN 3 // IDs are 3 bits -#define HT1632_CMD_LEN 8 // CMDs are 8 bits -#define HT1632_DATA_LEN 8 // Data are 4*2 bits -#define HT1632_ADDR_LEN 7 // Address are 7 bits - -#if defined(ARDUINO) - -#if ARDUINO < 100 -#include -#else -#include -#endif - -//#define WR_PIN 3 -//#define DATA_PIN 2 -//#define CS_PIN 4 - -void ht1632_write_data_MSB(u8g_t *u8g, uint8_t cnt, uint8_t data, uint8_t extra) -{ - int8_t i; - uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; - uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; - - for(i = cnt - 1; i >= 0; i--) - { - if ((data >> i) & 1) - { - digitalWrite(data_pin, HIGH); - } - else - { - digitalWrite(data_pin, LOW); - } - - digitalWrite(wr_pin, LOW); - u8g_MicroDelay(); - digitalWrite(wr_pin, HIGH); - u8g_MicroDelay(); - } - - // Send an extra bit - if (extra) - { - digitalWrite(data_pin, HIGH); - digitalWrite(wr_pin, LOW); - u8g_MicroDelay(); - digitalWrite(wr_pin, HIGH); - u8g_MicroDelay(); - } -} - -void ht1632_write_data(u8g_t *u8g, uint8_t cnt, uint8_t data) -{ - uint8_t i; - uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; - uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; - for (i = 0; i < cnt; i++) - { - - if ((data >> i) & 1) { - digitalWrite(data_pin, HIGH); - } - else { - digitalWrite(data_pin, LOW); - } - - digitalWrite(wr_pin, LOW); - u8g_MicroDelay(); - digitalWrite(wr_pin, HIGH); - u8g_MicroDelay(); - } -} - - -void ht1632_init(u8g_t *u8g) -{ - //uint8_t i; - uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; - uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; - uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; - pinMode(data_pin, OUTPUT); - pinMode(wr_pin, OUTPUT); - pinMode(cs_pin, OUTPUT); - - digitalWrite(data_pin, HIGH); - digitalWrite(wr_pin, HIGH); - digitalWrite(cs_pin, HIGH); - - digitalWrite(cs_pin, LOW); - /* init display once after startup */ - ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false); // IDs are 3 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSDIS, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSON, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_COMS11, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_LEDON, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_BLOFF, true); // 8 bits - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM+15, true); // 8 bits - digitalWrite(cs_pin, HIGH); - - /* removed following (debug) code */ - /* - digitalWrite(cs_pin, LOW); - ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command - ht1632_write_data_MSB(u8g, 7, 0, false); - for(i = 0; i<48; ++i) - { - ht1632_write_data(u8g, 8, 0xFF); - } - digitalWrite(cs_pin, HIGH); - */ -} - -/* - page: 0=data contain lines 0..16, 1=data contain lines 16..32 (a 24x16 display will only have page 0) - cnt: width of the display - data: pointer to a buffer with 2*cnt bytes. -*/ -void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data) -{ - uint8_t addr; - uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; - /* send data to the ht1632 */ - digitalWrite(cs_pin, LOW); - ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command - ht1632_write_data_MSB(u8g, 7, page*2*cnt, false); - - // Operating in progressive addressing mode - for (addr = 0; addr < cnt; addr++) - { - ht1632_write_data(u8g, 8, data[addr]); - ht1632_write_data(u8g, 8, data[addr+cnt]); - } - digitalWrite(cs_pin, HIGH); -} - -/* value is between 0...15 */ -void ht1632_set_contrast(u8g_t *u8g, uint8_t value) -{ - uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; - digitalWrite(cs_pin, LOW); - ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false); - ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM + value, false); - digitalWrite(cs_pin, HIGH); -} - -#else -void ht1632_init(u8g_t *u8g) -{ -} - -void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data) -{ -} - -void ht1632_set_contrast(u8g_t *u8g, uint8_t value) -{ -} - -#endif /* ARDUINO */ - - -uint8_t u8g_dev_ht1632_24x16_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - ht1632_init(u8g); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - /* current page: pb->p.page */ - /* ptr to the buffer: pb->buf */ - ht1632_transfer_data(u8g, pb->p.page, WIDTH, pb->buf); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* values passed to SetContrast() are between 0 and 255, scale down to 0...15 */ - ht1632_set_contrast(u8g, (*(uint8_t *)arg) >> 4); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ht1632_24x16_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ht1632_24x16_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ht1632_24x16_buf}; -u8g_dev_t u8g_dev_ht1632_24x16 = { u8g_dev_ht1632_24x16_fn, &u8g_dev_ht1632_24x16_pb, u8g_com_null_fn }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c deleted file mode 100644 index 35db466b2..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ili9325d_320x240.c +++ /dev/null @@ -1,326 +0,0 @@ -/* - - u8g_dev_ili9325d_320x240.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Color format - Red: 5 Bit - Green: 6 Bit - Blue: 5 Bit - - -*/ - -#include "u8g.h" - -#define WIDTH 240 - -#if defined(U8G_16BIT) -#define HEIGHT 320 -#else -/* if the user tries to compile the 8Bit version of the lib, then restrict the height to something which fits to 8Bit */ -#define HEIGHT 240 -#endif -#define PAGE_HEIGHT 4 - - -/* - reference board for this device: - http://iteadstudio.com/store/index.php?main_page=product_info&cPath=57_58&products_id=55 - documentation: - http://iteadstudio.com/Downloadfile/ITDB02_material.rar - datasheet - http://www.newhavendisplay.com/app_notes/ILI9325D.pdf - other libs - http://henningkarlsen.com/electronics/library.php - init sequence - http://code.google.com/p/itdb02/, ITDB02.cpp, iteadstudio.com -*/ - -static const uint8_t u8g_dev_ili9325d_320x240_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - //U8G_ESC_ADR(0), 0x000, 0x0E5, /* only used for none D version: set SRAM internal timing */ - //U8G_ESC_ADR(1), 0x078, 0x0f0, - U8G_ESC_ADR(0), 0x000, 0x001, /* Driver Output Control, bits 8 & 10 */ - U8G_ESC_ADR(1), 0x001, 0x000, - U8G_ESC_ADR(0), 0x000, 0x002, /* LCD Driving Wave Control, bit 9: Set line inversion */ - U8G_ESC_ADR(1), 0x002, 0x000, /* ITDB02 none D verion: 0x007, 0x000 */ - U8G_ESC_ADR(0), 0x000, 0x003, /* Entry Mode, GRAM write direction and BGR=1 */ - U8G_ESC_ADR(1), 0x010, 0x030, - U8G_ESC_ADR(0), 0x000, 0x004, /* Resize register */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x008, /* Display Control 2: set the back porch and front porch */ - U8G_ESC_ADR(1), 0x002, 0x007, - - U8G_ESC_ADR(0), 0x000, 0x009, /* Display Control 3 */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x00a, /* Display Control 4: FMARK */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00c, /* RGB Display Interface Control 1 */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00d, /* Frame Maker Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x00f, /* RGB Display Interface Control 2 */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: DC1[2:0], DC0[2:0], VC[2:0] */ - U8G_ESC_ADR(1), 0x000, 0x007, - U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VREG1OUT voltage */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, but do not display */ - U8G_ESC_ADR(1), 0x000, 0x001, - - U8G_ESC_DLY(100), /* delay 100 ms */ /* ITDB02 none D verion: 50ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x016, 0x090, /* ITDB02 none D verion: 0x010, 0x090 */ - U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: SAP, BT[3:0], AP, DSTB, SLP, STB */ - U8G_ESC_ADR(1), 0x002, 0x027, - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VCI: External, VCI*1.80 */ - U8G_ESC_ADR(1), 0x000, 0x00d, /* ITDB02 none D verion: 0x000, 0x01f */ - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ - U8G_ESC_ADR(1), 0x012, 0x000, /* ITDB02 none D verion: 0x015, 0x000 */ - U8G_ESC_ADR(0), 0x000, 0x029, /* Power Control 7 */ - U8G_ESC_ADR(1), 0x000, 0x00a, /* ITDB02 none D verion: 0x000, 0x027 */ - U8G_ESC_ADR(0), 0x000, 0x02b, /* Frame Rate: 83 */ - U8G_ESC_ADR(1), 0x000, 0x00d, - - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - - /* gamma control */ - U8G_ESC_ADR(0), 0x000, 0x030, - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x031, - U8G_ESC_ADR(1), 0x004, 0x004, - U8G_ESC_ADR(0), 0x000, 0x032, - U8G_ESC_ADR(1), 0x000, 0x003, - U8G_ESC_ADR(0), 0x000, 0x035, - U8G_ESC_ADR(1), 0x004, 0x005, - U8G_ESC_ADR(0), 0x000, 0x036, - U8G_ESC_ADR(1), 0x008, 0x008, - U8G_ESC_ADR(0), 0x000, 0x037, - U8G_ESC_ADR(1), 0x004, 0x007, - U8G_ESC_ADR(0), 0x000, 0x038, - U8G_ESC_ADR(1), 0x003, 0x003, - U8G_ESC_ADR(0), 0x000, 0x039, - U8G_ESC_ADR(1), 0x007, 0x007, - U8G_ESC_ADR(0), 0x000, 0x03c, - U8G_ESC_ADR(1), 0x005, 0x004, - U8G_ESC_ADR(0), 0x000, 0x03d, - U8G_ESC_ADR(1), 0x008, 0x008, - - U8G_ESC_ADR(0), 0x000, 0x050, /* Horizontal GRAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x051, /* Horizontal GRAM End Address: 239 */ - U8G_ESC_ADR(1), 0x000, 0x0EF, - U8G_ESC_ADR(0), 0x000, 0x052, /* Vertical GRAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x053, /* Vertical GRAM End Address: 319 */ - U8G_ESC_ADR(1), 0x001, 0x03F, - - U8G_ESC_ADR(0), 0x000, 0x060, /* Driver Output Control 2 */ - U8G_ESC_ADR(1), 0x0a7, 0x000, - U8G_ESC_ADR(0), 0x000, 0x061, /* Base Image Display Control: NDL,VLE, REV */ - U8G_ESC_ADR(1), 0x000, 0x001, - U8G_ESC_ADR(0), 0x000, 0x06a, /* Vertical Scroll Control */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x080, /* Partial Image 1 Display Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x081, /* Partial Image 1 RAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x082, /* Partial Image 1 RAM End Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x083, /* Partial Image 2 Display Position */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x084, /* Partial Image 2 RAM Start Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x085, /* Partial Image 2 RAM End Address */ - U8G_ESC_ADR(1), 0x000, 0x000, - - U8G_ESC_ADR(0), 0x000, 0x090, /* Panel Interface Control 1 */ - U8G_ESC_ADR(1), 0x000, 0x010, - U8G_ESC_ADR(0), 0x000, 0x092, /* Panel Interface Control 2 */ - U8G_ESC_ADR(1), 0x000, 0x000, /* 0x006, 0x000 */ - - U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, display ON */ - U8G_ESC_ADR(1), 0x001, 0x033, - - U8G_ESC_DLY(10), /* delay 10 ms */ - - /* write test pattern */ - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x010, - U8G_ESC_ADR(0), 0x000, 0x022, /* Write Data to GRAM */ - U8G_ESC_ADR(1), 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - 0x000, 0x000, - 0x0fe, 0x0fe, - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -static const uint8_t u8g_dev_ili9325d_320x240_page_seq[] PROGMEM = { - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ - U8G_ESC_ADR(1), 0x000, 0x000, - U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ - U8G_ESC_ADR(1), - U8G_ESC_END /* end of sequence */ -}; - -/* convert the internal RGB 332 to 65K high byte */ -static uint8_t u8g_dev_ili9325d_get_65K_high_byte(uint8_t color) -{ - uint8_t h; - h = color; - h &= 0x0e0; - h |= h>>3; - h &= 0x0f8; - color>>=2; - color &= 7; - h |= color; - return h; -} - -/* convert the internal RGB 332 to 65K high byte */ -static uint8_t u8g_dev_ili9325d_get_65K_low_byte(uint8_t color) -{ - uint8_t l; - l = color; - l <<= 3; - color &= 3; - color <<= 1; - l |= color; - return l; -} - - -uint8_t u8g_dev_ili9325d_320x240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - //for(;;) - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_init_seq); - - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - uint16_t y, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < pb->p.page_height; i ++ ) - { - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_page_seq); - u8g_WriteByte(u8g, dev, y >> 8 ); /* display ram (cursor) address high byte */ - u8g_WriteByte(u8g, dev, y & 255 ); /* display ram (cursor) address low byte */ - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0 ); - u8g_WriteByte(u8g, dev, 0x022 ); /* start gram data */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - - for( j = 0; j < pb->width; j++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_high_byte(*ptr) ); - u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_low_byte(*ptr) ); - - ptr++; - } - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_ili9325d_320x240_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_ili9325d_320x240_8h8_pb U8G_NOCOMMON = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_ili9325d_320x240_8h8_buf}; -u8g_dev_t u8g_dev_ili9325d_320x240_8bit U8G_NOCOMMON = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_port_d_wr_fn }; -//u8g_dev_t u8g_dev_ili9325d_320x240_8bit = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_parallel_fn }; - -//U8G_PB_DEV(u8g_dev_ili9325d_320x240_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ili9325d_320x240_fn, U8G_COM_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c deleted file mode 100644 index f30f8a38c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ks0108_128x64.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - - u8g_dev_ks0108_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - ADDRESS = 0 (Command Mode) - 0x03f Display On - 0x0c0 Start Display at line 0 - 0x040 | y write to y address (y:0..63) - 0x0b8 | x write to page [0..7] - - - u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) - u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_ks0108_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip 1 */ - 0x03f, /* display on */ - 0x0c0, /* start at line 0 */ - U8G_ESC_DLY(20), /* delay 20 ms */ - U8G_ESC_CS(2), /* enable chip 2 */ - 0x03f, /* display on */ - 0x0c0, /* start at line 0 */ - U8G_ESC_DLY(20), /* delay 20 ms */ - U8G_ESC_CS(0), /* disable all chips */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_ks0108_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ks0108_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 2); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ - u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, 64, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ - u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, 64, 64+(uint8_t *)pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ks0108_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_PARALLEL); -U8G_PB_DEV(u8g_dev_ks0108_128x64_fast, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c deleted file mode 100644 index e05fa03a9..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_160x80.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - - u8g_dev_lc7981_160x80.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 160 -#define HEIGHT 80 -#define PAGE_HEIGHT 8 - - -/* - code ideas: - https://github.com/vsergeev/embedded-drivers/tree/master/avr-lc7981 - data sheets: - http://www.lcd-module.de/eng/pdf/zubehoer/lc7981.pdf - http://www.lcd-module.de/pdf/grafik/w160-6.pdf -*/ - -static const uint8_t u8g_dev_lc7981_160x80_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_160x80_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_160x80_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_160x80_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_160x80_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c deleted file mode 100644 index f0b9c3148..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x128.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_lc7981_240x128.c - - Hitachi Display SP14N002 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -/* - http://www.mark-products.com/graphics.htm#240x128%20Pixel%20Format -*/ - -static const uint8_t u8g_dev_lc7981_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x128_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c deleted file mode 100644 index 9464b52ae..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_240x64.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_lc7981_240x64.c - - Tested with Nan Ya LM_J6_003_ - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -static const uint8_t u8g_dev_lc7981_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x64_fn, U8G_COM_FAST_PARALLEL); - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c deleted file mode 100644 index fe28f942e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_lc7981_320x64.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - - u8g_dev_lc7981_320x64.c - - Note: Requires 16 bit mode (Must be enabled in u8g.h) - - Tested with Varitronix MGLS32064-03.pdf - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#ifdef U8G_16BIT -#define WIDTH 320 -#else -#define WIDTH 240 -#endif - -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* - http://www.gaw.ru/pdf/lcd/lcm/Varitronix/graf/MGLS32064-03.pdf -*/ - -static const uint8_t u8g_dev_lc7981_320x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - - U8G_ESC_ADR(1), /* instruction mode */ - 0x000, /* mode register */ - U8G_ESC_ADR(0), /* data mode */ - 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x001, /* character/bits per pixel pitch */ - U8G_ESC_ADR(0), /* data mode */ - 0x007, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x002, /* number of chars/byte width of the screen */ - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8-1, /* 8 bits per pixel */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x003, /* time division */ - U8G_ESC_ADR(0), /* data mode */ - 0x07f, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x008, /* display start low */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_ADR(1), /* instruction mode */ - 0x009, /* display start high */ - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* */ - - U8G_ESC_DLY(10), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_lc7981_320x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_320x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); - - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_lc7981_320x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_320x64_fn, U8G_COM_FAST_PARALLEL); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c deleted file mode 100644 index 596d95898..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ld7032_60x32.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_dev_ld7032_60x32.c - - 60x32 OLED display - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* define width as 64, so that it is a multiple of 8 */ -#define WIDTH 64 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_ld7032_60x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(1), /* delay 1 ms */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0x002, /* Dot Matrix Display ON/OFF */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* ON */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x014, /* Dot Matrix Display Stand-by ON/OFF */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* ON */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x01a, /* Dot Matrix Frame Rate */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* special value for this OLED from manual */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x01d, /* Graphics Memory Writing Direction */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* reset default (right down, horizontal) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x009, /* Display Direction */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* reset default (x,y: min --> max) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x030, /* Display Size X */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* Column Start Output */ - 0x03b, /* Column End Output */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x032, /* Display Size Y */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* Row Start Output */ - 0x01f, /* Row End Output */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x010, /* Peak Pulse Width Set */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 0 SCLK */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x016, /* Peak Pulse Delay Set */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 0 SCLK */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x012, /* Dot Matrix Current Level Set */ - U8G_ESC_ADR(1), /* data mode */ - 0x050, /* 0x050 * 1 uA = 80 uA */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x018, /* Pre-Charge Pulse Width */ - U8G_ESC_ADR(1), /* data mode */ - 0x003, /* 3 SCLK */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x044, /* Pre-Charge Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x002, /* Every Time */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x048, /* Row overlap timing */ - U8G_ESC_ADR(1), /* data mode */ - 0x003, /* Pre-Charge + Peak Delay + Peak boot Timing */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x03f, /* VCC_R_SEL */ - U8G_ESC_ADR(1), /* data mode */ - 0x011, /* ??? */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x03d, /* VSS selection */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 2.8V */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x002, /* Dot Matrix Display ON/OFF */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* ON */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x008, /* write data */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* use box commands to set start adr */ -static const uint8_t u8g_dev_ld7032_60x32_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0x034, /* box x start */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* 0 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x035, /* box x end */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, /* */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x037, /* box y end */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, /* */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x036, /* box y start */ - U8G_ESC_ADR(1), /* data mode */ - - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ld7032_60x32_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - /* ... */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ld7032_60x32_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - /* ... */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ld7032_60x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_data_start); - u8g_WriteByte(u8g, dev, pb->p.page_y0); /* y start */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x008); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ld7032_60x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ld7032_60x32_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_PARALLEL); -U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_USART_SPI); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c deleted file mode 100644 index c41380e8c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_null.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - - u8g_dev_null.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_null(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: /* most often used command */ - break; - case U8G_DEV_MSG_SET_PIXEL: - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - break; - case U8G_DEV_MSG_PAGE_NEXT: - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return 1; -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - } - return 1; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c deleted file mode 100644 index dbebd7cd0..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcd8544_84x48.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - - u8g_dev_pcd8544_84x48.c - - Display: Nokia 84x48 - - Status: Tested with PCF8812 Display - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 84 -#define HEIGHT 48 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_pcd8544_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x013, /* bias system 1:48 */ - 0x0c0, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -static const uint8_t u8g_dev_pcd8544_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_pcd8544_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x008, /* display blank */ - 0x024, /* power down (PD=1), horizontal increment (V=0), enter normal command set (H=0) */ - - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_pcd8544_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_pcd8544_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_pcd8544_84x48_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_HW_SPI); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c deleted file mode 100644 index 380128446..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_pcf8812_96x65.c +++ /dev/null @@ -1,138 +0,0 @@ -/* - - u8g_dev_pcf8812_96x65.c - - Display: Nokia 96x65 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - om6206 comaptible to pcf8812 ? - - Status: Tested - - - Display Controller Seen in - LPH7366 (9 pins, 84x48) PCD8544 Nokia 5110 / 5120 / 5130 / 5160 / 6110 / 6150 - LPH7677 (8 pins, 84x48) PCD8544 Nokia 3210 - LPH7779 (8 pins, 84x48) PCD8544 Nokia 3310 / 3315 / 3330 / 3110, also 3410? - ??? PCD8544 Nokia 5110 / 6110 - LPH7690 ? (96x65) PCF8455/OM6202 Nokia 3410 - LPH7690 ? (96x65?) SED1565/S1D15605 Nokia 7110 / 3510? - LPH7690 ??? Nokia 6210 - - - -*/ - -#include "u8g.h" - -#define WIDTH 96 -#define HEIGHT 65 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_pcf8812_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x013, /* bias system 1:48 */ - 0x080 | 0x040, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_pcf8812_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcf8812_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - - /* mirrored output, not tested*/ - /* - { - uint8_t i = pb->width; - while( i > 0 ) - { - i--; - u8g_WriteByte(u8g, dev, ((unsigned char *)pb->buf)[i] ); - } - } - */ - - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ -U8G_PB_DEV(u8g_dev_pcf8812_96x65_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_pcf8812_96x65_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_HW_SPI); diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c deleted file mode 100644 index a8552cb40..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_sbn1661_122x32.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - - u8g_dev_sbn1661_122x32.c - - WG12232 display with 2xSBN1661 / SED1520 controller (122x32 display) - At the moment only available in the Arduino Environment - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 122 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_sbn1661_122x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip 1 */ - 0x0af, /* display on */ - 0x0c0, /* display start at line 0 */ - 0x0a0, /* a0: ADC forward, a1: ADC reverse */ - 0x0a9, /* a8: 1/16, a9: 1/32 duty */ - U8G_ESC_CS(2), /* enable chip 2 */ - 0x0af, /* display on */ - 0x0c0, /* display start at line 0 */ - 0x0a0, /* a0: ADC forward, a1: ADC reverse */ - 0x0a9, /* a8: 1/16, a9: 1/32 duty */ - - U8G_ESC_CS(0), /* disable chip */ - - - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_sbn1661_122x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sbn1661_122x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ - u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/2, pb->buf); - - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 2); - u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ - u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/2, WIDTH/2+(uint8_t *)pb->buf); - - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - case U8G_DEV_MSG_CONTRAST: - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ -U8G_PB_DEV(u8g_dev_sbn1661_122x32 , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sbn1661_122x32_fn, u8g_com_arduino_no_en_parallel_fn); diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c deleted file mode 100644 index 3052d6bca..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x32.c +++ /dev/null @@ -1,289 +0,0 @@ -/* - - u8g_dev_ssd1306_128x32.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - 23 Feb 2013: Fixed, Issue 147 - -*/ - - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -/* init sequence adafruit 128x32 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit1_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* [1] set contrast control */ - 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence adafruit 128x32 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit2_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence adafruit 128x32 OLED (TESTED - WORKING 23.02.13), like adafruit3, but with page addressing mode */ -static const uint8_t u8g_dev_ssd1306_128x32_adafruit3_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x01f, /* Feb 23, 2013: 128x32 OLED: 0x01f, 128x32 OLED 0x03f */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Feb 23, 2013: 128x32 OLED: 0x002, 128x32 OLED 0x012 */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* init sequence Univision datasheet (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x32_univision_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* multiplex ratio */ - 0x0d3, 0x000, /* display offset */ - 0x040, /* start line */ - 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* set contrast control */ - 0x0d9, 0x022, /* pre-charge period */ - 0x0db, 0x040, /* vcomh deselect level */ - 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -/* select one init sequence here */ -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_univision_init_seq -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit1_init_seq -//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit2_init_seq -#define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit3_init_seq - - -static const uint8_t u8g_dev_ssd1306_128x32_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr. to 0 */ - 0x000, /* set lower 4 bit of the col adr. to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1306_128x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; -} - - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1306_128x32_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1306_128x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x32_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SSD_I2C); - -uint8_t u8g_dev_ssd1306_128x32_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1306_128x32_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1306_128x32_2x_buf}; -u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SSD_I2C }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c deleted file mode 100644 index bd55e90e8..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1306_128x64.c +++ /dev/null @@ -1,412 +0,0 @@ -/* - - u8g_dev_ssd1306_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence adafruit 128x64 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit1_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* [1] set contrast control */ - 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence adafruit 128x64 OLED (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit2_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x000, /* */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence adafruit 128x64 OLED (NOT TESTED), like adafruit3, but with page addressing mode */ -static const uint8_t u8g_dev_ssd1306_128x64_adafruit3_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* */ - - 0x0d3, 0x000, /* */ - - 0x040, /* start line */ - - 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ - - 0x020, 0x002, /* 2012-05-27: page addressing mode */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x0cf, /* [2] set contrast control */ - 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ - 0x0db, 0x040, /* vcomh deselect level */ - - 0x02e, /* 2012-05-27: Deactivate scroll */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* init sequence Univision datasheet (NOT TESTED) */ -static const uint8_t u8g_dev_ssd1306_128x64_univision_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0ae, /* display off, sleep mode */ - 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ - 0x0a8, 0x03f, /* multiplex ratio */ - 0x0d3, 0x000, /* display offset */ - 0x040, /* start line */ - 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ - 0x0a1, /* segment remap a0/a1*/ - 0x0c8, /* c0: scan dir normal, c8: reverse */ - 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ - 0x081, 0x09f, /* set contrast control */ - 0x0d9, 0x022, /* pre-charge period */ - 0x0db, 0x040, /* vcomh deselect level */ - 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ - 0x0a4, /* output ram to display */ - 0x0a6, /* none inverted normal display mode */ - 0x0af, /* display on */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* select one init sequence here */ -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_univision_init_seq -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit1_init_seq -// 26. Apr 2014: in this thead: http://forum.arduino.cc/index.php?topic=234930.msg1696754;topicseen#msg1696754 -// it is mentiond, that adafruit2_init_seq works better --> this will be used by the ssd1306_adafruit device -//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit2_init_seq - -#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit3_init_seq - - -static const uint8_t u8g_dev_ssd1306_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -/* the sh1106 is compatible to the ssd1306, but is 132x64. display seems to be centered */ -static const uint8_t u8g_dev_sh1106_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x002, /* set lower 4 bit of the col adr to 2 (centered display with sh1106) */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1306_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_adafruit2_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1306_adafruit_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_sh1106_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1306_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_sh1106_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - - - - -U8G_PB_DEV(u8g_dev_ssd1306_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SSD_I2C); - -U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SSD_I2C); - - -uint8_t u8g_dev_ssd1306_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1306_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1306_128x64_2x_buf}; -u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SSD_I2C }; - - -U8G_PB_DEV(u8g_dev_sh1106_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_sh1106_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_sh1106_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SSD_I2C); - -uint8_t u8g_dev_sh1106_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_sh1106_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_sh1106_128x64_2x_buf}; -u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SSD_I2C }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c deleted file mode 100644 index 4a6411e60..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1309_128x64.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - - u8g_dev_ssd1309_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* ssd1309 ini sequence*/ -static const uint8_t u8g_dev_ssd1309_128x64_init_seq[] PROGMEM={ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0xfd,0x12, /*Command Lock */ - 0xae, /*Set Display Off */ - 0xd5,0xa0, /*set Display Clock Divide Ratio/Oscillator Frequency */ - 0xa8,0x3f, /*Set Multiplex Ratio */ - 0x3d,0x00, /*Set Display Offset*/ - 0x40, /*Set Display Start Line*/ - 0xa1, /*Set Segment Re-Map*/ - 0xc8, /*Set COM Output Scan Direction*/ - 0xda,0x12, /*Set COM Pins Hardware Configuration*/ - 0x81,0xdf, /*Set Current Control */ - 0xd9,0x82, /*Set Pre-Charge Period */ - 0xdb,0x34, /*Set VCOMH Deselect Level */ - 0xa4, /*Set Entire Display On/Off */ - 0xa6, /*Set Normal/Inverse Display*/ - U8G_ESC_VCC(1), /*Power up VCC & Stabilized */ - U8G_ESC_DLY(50), - 0xaf, /*Set Display On */ - U8G_ESC_DLY(50), - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -/* select one init sequence here */ - #define u8g_dev_ssd1309_128x64_init_seq u8g_dev_ssd1309_128x64_init_seq - - - static const uint8_t u8g_dev_ssd1309_128x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1309_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1309_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1309_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1309_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SSD_I2C); - - \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c deleted file mode 100644 index 4db96270d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_bw.c +++ /dev/null @@ -1,338 +0,0 @@ -/* - - u8g_dev_ssd1322_nhd31oled_bw.c - - 1-Bit (BW) Driver for SSD1322 Controller (OLED Display) - Tested with NHD-3.12-25664 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#if defined(U8G_16BIT) -#define WIDTH 256 -#else -#define WIDTH 248 -#endif -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* - http://www.newhavendisplay.com/app_notes/OLED_25664.txt - http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 -*/ - -static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0fd, /* lock command */ - U8G_ESC_ADR(1), /* data mode */ - 0x012, /* unlock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ae, /* display off, sleep mode */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b3, - U8G_ESC_ADR(1), /* data mode */ - 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ca, /* multiplex ratio */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, /* 1/64 Duty (0x0F~0x3F) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a2, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display offset, shift mapping ram counter */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a1, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display start line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a0, /* Set Re-Map / Dual COM Line Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x014, /* was 0x014 */ - 0x011, /* was 0x011 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ab, - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* Enable Internal VDD Regulator */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b4, /* Display Enhancement A */ - U8G_ESC_ADR(1), /* data mode */ - 0x0a0, - 0x005|0x0fd, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c1, /* contrast */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c7, /* Set Scale Factor of Segment Output Current Control */ - U8G_ESC_ADR(1), /* data mode */ - 0x00f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b9, /* linear gray scale */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ - U8G_ESC_ADR(1), /* data mode */ - 0x0e2, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0d1, /* Display Enhancement B */ - U8G_ESC_ADR(1), /* data mode */ - 0x082|0x020, - 0x020, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0bb, /* precharge voltage */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b6, /* precharge period */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0be, /* vcomh */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a6, /* normal display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a9, /* exit partial display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0af, /* display on */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - U8G_ESC_ADR(1), /* data mode */ - 0x01c, /* start at column 0 */ - 0x05b, /* end column */ - U8G_ESC_ADR(0), /* instruction mode */ - 0x075, /* row address... */ - U8G_ESC_ADR(1), /* data mode */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1322_1bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_ssd1322_nhd31oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x0ff); - u8g_WriteByte(u8g, dev, 0x0ff); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x0c1); /* 21 May 2013, fixed contrast command */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_FAST_PARALLEL); - -#define DWIDTH (WIDTH*2) -uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c deleted file mode 100644 index 61f0b1922..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1322_nhd31oled_gr.c +++ /dev/null @@ -1,338 +0,0 @@ -/* - - u8g_dev_ssd1322_nhd31oled_gr.c - - 2-Bit (4L) Driver for SSD1322 Controller (OLED Display) - Tested with NHD-3.12-25664 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#if defined(U8G_16BIT) -#define WIDTH 256 -#else -#define WIDTH 248 -#endif -#define HEIGHT 64 -//#define PAGE_HEIGHT 8 - -/* - http://www.newhavendisplay.com/app_notes/OLED_25664.txt - http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 -*/ - -static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0fd, /* lock command */ - U8G_ESC_ADR(1), /* data mode */ - 0x012, /* unlock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ae, /* display off, sleep mode */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b3, - U8G_ESC_ADR(1), /* data mode */ - 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ca, /* multiplex ratio */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, /* 1/64 Duty (0x0F~0x3F) */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a2, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display offset, shift mapping ram counter */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a1, - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* display start line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a0, /* Set Re-Map / Dual COM Line Mode */ - U8G_ESC_ADR(1), /* data mode */ - 0x014, /* was 0x014 */ - 0x011, /* was 0x011 */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0ab, - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* Enable Internal VDD Regulator */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b4, /* Display Enhancement A */ - U8G_ESC_ADR(1), /* data mode */ - 0x0a0, - 0x005|0x0fd, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c1, /* contrast */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0c7, /* Set Scale Factor of Segment Output Current Control */ - U8G_ESC_ADR(1), /* data mode */ - 0x00f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b9, /* linear gray scale */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ - U8G_ESC_ADR(1), /* data mode */ - 0x0e2, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0d1, /* Display Enhancement B */ - U8G_ESC_ADR(1), /* data mode */ - 0x082|0x020, - 0x020, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0bb, /* precharge voltage */ - U8G_ESC_ADR(1), /* data mode */ - 0x01f, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0b6, /* precharge period */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0be, /* vcomh */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a6, /* normal display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0a9, /* exit partial display */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x0af, /* display on */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - U8G_ESC_ADR(1), /* data mode */ - 0x01c, /* start at column 0 */ - 0x05b, /* end column */ - U8G_ESC_ADR(0), /* instruction mode */ - 0x075, /* row address... */ - U8G_ESC_ADR(1), /* data mode */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1322_2bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_ssd1322_nhd31oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; /* 23 Oct 2013, changed to 2 */ - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); -#if !defined(U8G_16BIT) - u8g_WriteByte(u8g, dev, 0x00); - u8g_WriteByte(u8g, dev, 0x00); -#endif - u8g_MicroDelay(); // for DUE? - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_parallel , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_FAST_PARALLEL); - - -#define DWIDTH (WIDTH*2) -uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_gr_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_gr_buf}; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c deleted file mode 100644 index d8895391e..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_bw.c - - 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#ifdef OBSOLETE_CODE - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1325_1bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 3; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 7; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1325_1bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 1; - page += is_odd; - - page <<= 3; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 7; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -#ifdef OLD -static void _OLD_u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, cnt; - cnt = 8; - do - { - d = 0; - if ( left & 1 ) - d |= 0x0f0; - if ( right & 1 ) - d |= 0x00f; - u8g_WriteByte(u8g, dev, d); - left >>= 1; - right >>= 1; - cnt--; - }while ( cnt > 0 ); -} -#endif - -static void u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, cnt; - static uint8_t buf[8]; - cnt = 8; - do - { - d = 0; - if ( left & 128 ) - d |= 0x0f0; - if ( right & 128 ) - d |= 0x00f; - cnt--; - buf[cnt] = d; - left <<= 1; - right <<= 1; - }while ( cnt > 0 ); - u8g_WriteSequence(u8g, dev, 8, buf); -} - -static void u8g_dev_ssd1325_1bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_1bit_write_16_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_1bit_prepare_page(u8g, dev); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); - u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -/* disabled, see bw_new.c */ -/* -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); -*/ - -/* -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; -*/ - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c deleted file mode 100644 index 7d26b2fee..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_bw_new.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_bw.c - - 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) - Horizontal architecture, completly rewritten - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_nhd_27_12864_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a4, /* normal display mode */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_prepare_row_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1325_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_prepare_row_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -static uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - //case U8G_DEV_MSG_IS_BBX_INTERSECTION: - // return u8g_pb_IsIntersection((u8g_pb_t *)(dev->dev_mem), (u8g_dev_arg_bbx_t *)arg); - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 3; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - break; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - - - -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c deleted file mode 100644 index 6ab48135f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_gr.c - - 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#ifdef OBSOLETE_CODE - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1325_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1325_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - page <<= 1; - page += is_odd; - - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -static void u8g_dev_ssd1325_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, tmp, cnt; - cnt = 4; - do - { - d = left; - d &= 3; - d <<= 4; - tmp = right; - tmp &= 3; - d |= tmp; - d <<= 2; - u8g_WriteByte(u8g, dev, d); - left >>= 2; - right >>= 2; - cnt--; - }while ( cnt > 0 ); -} - -static void u8g_dev_ssd1325_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - cnt = pb->width; - cnt >>= 1; - ptr = pb->buf; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static void u8g_dev_ssd1325_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_2bit_prepare_page(u8g, dev); - u8g_dev_ssd1325_2bit_write_buffer(u8g, dev); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 0); - u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); -//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); - -//uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; -//u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; -//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; -//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; - - -#endif /* OBSOLETE_CODE */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c deleted file mode 100644 index 9ac51f2ff..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1325_nhd27oled_gr_new.c +++ /dev/null @@ -1,227 +0,0 @@ -/* - - u8g_dev_ssd1325_nhd27oled_gr.c - - 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) - Rewritten with new architecture - Tested with NHD-2.7-12864UCY3 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 - -/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off, sleep mode */ - 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ - 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ - 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ - 0x0a1, 0x000, /* display start line */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1), old values: 0x0a0 0x0a6 */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 - 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b1, 0x055, /* phase length */ - 0x0bc, 0x010, /* pre-charge voltage level */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0be, 0x01c, /* VCOMH voltage */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0a4, /* normal display mode */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - 0x000, /* start at column 0 */ - 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - -static void u8g_dev_ssd1325_gr_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) -{ - uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; - row += delta_row; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); - - u8g_WriteByte(u8g, dev, row); /* start at the selected row */ - u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ - - //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ - //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ae, /* display off */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - - -static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); -} - - - -static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *p = pb->buf; - u8g_uint_t cnt; - cnt = pb->width; - cnt >>= 2; - - for( i = 0; i < pb->p.page_height; i++ ) - { - u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ - u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); - u8g_SetChipSelect(u8g, dev, 0); - p+=cnt; - } - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); - return 1; - } - return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c deleted file mode 100644 index 3a11e2942..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1327_96x96_gr.c +++ /dev/null @@ -1,299 +0,0 @@ -/* - - u8g_dev_ssd1327_96x96_gr.c - - 2-Bit (graylevel) Driver for SSD1327 Controller (OLED Display) - Tested with Seedstudio 96x96 Oled (LY120) - http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - SSD130x Monochrom OLED Controller - SSD131x Character OLED Controller - SSD132x Graylevel OLED Controller - SSD1331 Color OLED Controller - -*/ - -#include "u8g.h" - -#define WIDTH 96 -#define HEIGHT 96 -#define XOFFSET 8 - -/* - http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 -*/ -static const uint8_t u8g_dev_ssd1327_2bit_96x96_init_seq[] PROGMEM = { - U8G_ESC_DLY(10), /* delay 10 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0fd, 0x012, /* unlock display, usually not required because the display is unlocked after reset */ - 0x0ae, /* display off, sleep mode */ - 0x0a8, 0x05f, /* multiplex ratio: 0x05f * 1/64 duty */ - 0x0a1, 0x000, /* display start line */ - 0x0a2, 0x060, /* display offset, shift mapping ram counter */ - //0x0a2, 0x04c, /* NHD: display offset, shift mapping ram counter */ - 0x0a0, 0x046, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - //0x0a0, 0x056, /* NHD: remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ - 0x0ab, 0x001, /* Enable internal VDD regulator (RESET) */ - 0x081, 0x053, /* contrast, brightness, 0..128, Newhaven: 0x040, LY120 0x053, 0x070 seems also ok */ - 0x0b1, 0x051, /* phase length */ - 0x0b3, 0x001, /* set display clock divide ratio/oscillator frequency */ - 0x0b9, /* use linear lookup table */ -#if 0 - 0x0b8, /* set gray scale table */ - //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, - 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 -#endif - 0x0bc, 0x008, /* pre-charge voltage level */ - 0x0be, 0x007, /* VCOMH voltage */ - 0x0b6, 0x001, /* second precharge */ - 0x0d5, 0x062, /* enable second precharge, internal vsl (bit0 = 0) */ - -#if 0 - // the following commands are not used by the SeeedGrayOLED sequence */ - 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ - 0x086, /* full current range (0x084, 0x085, 0x086) */ - 0x0b2, 0x051, /* frame frequency (row period) */ - 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ - 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ -#endif - - 0x0a5, /* all pixel on */ - //0x02e, /* no scroll (according to SeeedGrayOLED sequence) */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* all pixel on */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display mode */ - - 0x015, /* column address... */ - 0x008, /* start at column 8, special for the LY120 ??? */ - 0x037, /* end at column 55, note: there are two pixel in one column */ - - 0x075, /* row address... */ - 0x008, - 0x05f, - - U8G_ESC_ADR(1), /* data mode */ - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_ssd1327_2bit_96x96_prepare_page_seq[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x015, /* column address... */ - XOFFSET, /* start at column 8, special for the LY120 ??? */ - 0x037, /* end at column 55, note: there are two pixel in one column */ - 0x075, /* row address... */ - U8G_ESC_END /* end of sequence */ -}; - - -static void u8g_dev_ssd1327_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -static void u8g_dev_ssd1327_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); - - page <<= 1; - page += is_odd; - - page <<= 2; - u8g_WriteByte(u8g, dev, page); /* start at the selected page */ - page += 3; - u8g_WriteByte(u8g, dev, page); /* end within the selected page */ - - u8g_SetAddress(u8g, dev, 1); /* data mode */ -} - -/* assumes row autoincrement and activated nibble remap */ -static void u8g_dev_ssd1327_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) -{ - uint8_t d, tmp, cnt; - static uint8_t buf[4]; - buf[0] = 0; - buf[1] = 0; - buf[2] = 0; - buf[3] = 0; - cnt = 0; - do - { - if ( left == 0 && right == 0 ) - break; - d = left; - d &= 3; - d <<= 4; - tmp = right; - tmp &= 3; - d |= tmp; - d <<= 2; - buf[cnt] = d; - left >>= 2; - right >>= 2; - cnt++; - }while ( cnt < 4 ); - u8g_WriteSequence(u8g, dev, 4, buf); -} - -static void u8g_dev_ssd1327_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - cnt = pb->width; - cnt >>= 1; - ptr = pb->buf; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -static void u8g_dev_ssd1327_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) -{ - uint8_t cnt, left, right; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - ptr = pb->buf; - cnt = pb->width; - if ( is_odd ) - ptr += cnt; - cnt >>= 1; - do - { - left = *ptr++; - right = *ptr++; - u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); - cnt--; - } while( cnt > 0 ); -} - -uint8_t u8g_dev_ssd1327_96x96_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1327_2bit_prepare_page(u8g, dev); - u8g_dev_ssd1327_2bit_write_buffer(u8g, dev); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1327_96x96_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 0); - u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 0); - u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 1); - u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 1); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_i2c , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SSD_I2C); - -#define DWIDTH (2*WIDTH) -uint8_t u8g_dev_ssd1327_96x96_2x_buf[DWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_ssd1327_96x96_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1327_96x96_2x_buf}; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SSD_I2C }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c deleted file mode 100644 index 5c82b9b30..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_ssd1351_128x128.c +++ /dev/null @@ -1,787 +0,0 @@ -/* - - u8g_dev_ssd1351_128x128.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, jamjardavies@gmail.com - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - History: - Initial version 20 May 2013 jamjardavies@gmail.com - indexed device 22 May 2013 olikraus@gmail.com - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_ssd1351_128x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_DLY(50), - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), - - 0xfd, /* Command Lock */ - U8G_ESC_ADR(1), - 0x12, - - U8G_ESC_ADR(0), /* instruction mode */ - 0xfd, - U8G_ESC_ADR(1), - 0xb1, /* Command Lock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xae, /* Set Display Off */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb3, - U8G_ESC_ADR(1), - 0xf1, /* Front Clock Div */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xca, - U8G_ESC_ADR(1), - 0x7f, /* Set Multiplex Ratio */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa0, - U8G_ESC_ADR(1), - 0xb4, /* Set Colour Depth */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x15, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Column Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x75, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Row Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa1, - U8G_ESC_ADR(1), - 0x00, /* Set Display Start Line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa2, - U8G_ESC_ADR(1), - 0x00, /* Set Display Offset */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb5, - U8G_ESC_ADR(1), - 0x00, /* Set GPIO */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xab, - U8G_ESC_ADR(1), - 0x01, /* Set Function Selection */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb1, - U8G_ESC_ADR(1), - 0x32, /* Set Phase Length */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb4, - U8G_ESC_ADR(1), - 0xa0, 0xb5, 0x55, /* Set Segment Low Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbb, - U8G_ESC_ADR(1), - 0x17, /* Set Precharge Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbe, - U8G_ESC_ADR(1), - 0x05, /* Set VComH Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc1, - U8G_ESC_ADR(1), - 0xc8, 0x80, 0xc8, /* Set Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc7, - U8G_ESC_ADR(1), - 0x0f, /* Set Master Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb6, - U8G_ESC_ADR(1), - 0x01, /* Set Second Precharge Period */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa6, /* Set Display Mode Reset */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb8, /* Set CMD Grayscale Lookup */ - U8G_ESC_ADR(1), - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0x0a, - 0x0b, - 0x0c, - 0x0D, - 0x0E, - 0x0F, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x15, - 0x16, - 0x18, - 0x1a, - 0x1b, - 0x1C, - 0x1D, - 0x1F, - 0x21, - 0x23, - 0x25, - 0x27, - 0x2A, - 0x2D, - 0x30, - 0x33, - 0x36, - 0x39, - 0x3C, - 0x3F, - 0x42, - 0x45, - 0x48, - 0x4C, - 0x50, - 0x54, - 0x58, - 0x5C, - 0x60, - 0x64, - 0x68, - 0x6C, - 0x70, - 0x74, - 0x78, - 0x7D, - 0x82, - 0x87, - 0x8C, - 0x91, - 0x96, - 0x9B, - 0xA0, - 0xA5, - 0xAA, - 0xAF, - 0xB4, - - U8G_ESC_ADR(0), - 0xaf, /* Set Display On */ - 0x5c, - U8G_ESC_DLY(50), - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), - U8G_ESC_END /* end of sequence */ -}; - - -/* set gpio to high */ -static const uint8_t u8g_dev_ssd1351_128x128gh_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_DLY(50), - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), - - 0xfd, /* Command Lock */ - U8G_ESC_ADR(1), - 0x12, - - U8G_ESC_ADR(0), /* instruction mode */ - 0xfd, - U8G_ESC_ADR(1), - 0xb1, /* Command Lock */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xae, /* Set Display Off */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb3, - U8G_ESC_ADR(1), - 0xf1, /* Front Clock Div */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xca, - U8G_ESC_ADR(1), - 0x7f, /* Set Multiplex Ratio */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa0, - U8G_ESC_ADR(1), - 0xb4, /* Set Colour Depth */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x15, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Column Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0x75, - U8G_ESC_ADR(1), - 0x00, 0x7f, /* Set Row Address */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa1, - U8G_ESC_ADR(1), - 0x00, /* Set Display Start Line */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa2, - U8G_ESC_ADR(1), - 0x00, /* Set Display Offset */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb5, - U8G_ESC_ADR(1), - 0x03, /* Set GPIO to High Level */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xab, - U8G_ESC_ADR(1), - 0x01, /* Set Function Selection */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb1, - U8G_ESC_ADR(1), - 0x32, /* Set Phase Length */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb4, - U8G_ESC_ADR(1), - 0xa0, 0xb5, 0x55, /* Set Segment Low Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbb, - U8G_ESC_ADR(1), - 0x17, /* Set Precharge Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xbe, - U8G_ESC_ADR(1), - 0x05, /* Set VComH Voltage */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc1, - U8G_ESC_ADR(1), - 0xc8, 0x80, 0xc8, /* Set Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xc7, - U8G_ESC_ADR(1), - 0x0f, /* Set Master Contrast */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb6, - U8G_ESC_ADR(1), - 0x01, /* Set Second Precharge Period */ - - U8G_ESC_ADR(0), /* instruction mode */ - 0xa6, /* Set Display Mode Reset */ - - - U8G_ESC_ADR(0), /* instruction mode */ - 0xb8, /* Set CMD Grayscale Lookup */ - U8G_ESC_ADR(1), - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0x0a, - 0x0b, - 0x0c, - 0x0D, - 0x0E, - 0x0F, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x15, - 0x16, - 0x18, - 0x1a, - 0x1b, - 0x1C, - 0x1D, - 0x1F, - 0x21, - 0x23, - 0x25, - 0x27, - 0x2A, - 0x2D, - 0x30, - 0x33, - 0x36, - 0x39, - 0x3C, - 0x3F, - 0x42, - 0x45, - 0x48, - 0x4C, - 0x50, - 0x54, - 0x58, - 0x5C, - 0x60, - 0x64, - 0x68, - 0x6C, - 0x70, - 0x74, - 0x78, - 0x7D, - 0x82, - 0x87, - 0x8C, - 0x91, - 0x96, - 0x9B, - 0xA0, - 0xA5, - 0xAA, - 0xAF, - 0xB4, - - U8G_ESC_ADR(0), - 0xaf, /* Set Display On */ - 0x5c, - U8G_ESC_DLY(50), - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(1), - U8G_ESC_END /* end of sequence */ -}; - -#define u8g_dev_ssd1351_128x128_init_seq u8g_dev_ssd1351_128x128_init_seq - -static const uint8_t u8g_dev_ssd1351_128x128_column_seq[] PROGMEM = { - U8G_ESC_CS(1), - U8G_ESC_ADR(0), 0x15, - U8G_ESC_ADR(1), 0x00, 0x7f, - U8G_ESC_ADR(0), 0x75, - U8G_ESC_ADR(1), 0x00, 0x7f, - U8G_ESC_ADR(0), 0x5c, - U8G_ESC_ADR(1), - U8G_ESC_CS(0), - U8G_ESC_END -}; - -#define RGB332_STREAM_BYTES 8 -static uint8_t u8g_ssd1351_stream_bytes[RGB332_STREAM_BYTES*3]; - -void u8g_ssd1351_to_stream(uint8_t *ptr) -{ - uint8_t cnt = RGB332_STREAM_BYTES; - uint8_t val; - uint8_t *dest = u8g_ssd1351_stream_bytes; - for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) - { - val = *ptr++; - *dest++ = ((val & 0xe0) >> 2); - *dest++ = ((val & 0x1c) << 1); - *dest++ = ((val & 0x03) << 4); - } -} - - -#ifdef OBSOLETE -// Convert the internal RGB 332 to R -static uint8_t u8g_ssd1351_get_r(uint8_t colour) -{ - //return ((colour & 0xe0) >> 5) * 9; - //return ((colour & 0xe0) >> 5) * 8; - return ((colour & 0xe0) >> 2) ; -} - -// Convert the internal RGB 332 to G -static uint8_t u8g_ssd1351_get_g(uint8_t colour) -{ - //return ((colour & 0x1c) >> 2) * 9; - //return ((colour & 0x1c) >> 2) * 8; - return ((colour & 0x1c) << 1); -} - -// Convert the internal RGB 332 to B -static uint8_t u8g_ssd1351_get_b(uint8_t colour) -{ - //return (colour & 0x03) * 21; - return (colour & 0x03) * 16; -} -#endif - - -uint8_t u8g_dev_ssd1351_128x128_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ -// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); - break; - - case U8G_DEV_MSG_STOP: - break; - - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_uint_t x; - uint8_t page_height; - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( i = 0; i < page_height; i++ ) - { - - for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES; - } - } - u8g_SetChipSelect(u8g, dev, 0); - } - - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_R3G3B2; - } - - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1351_128x128gh_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ -// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq); - break; - - case U8G_DEV_MSG_STOP: - break; - - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_uint_t x; - uint8_t page_height; - uint8_t i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( i = 0; i < page_height; i++ ) - { - - for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES; - } - } - u8g_SetChipSelect(u8g, dev, 0); - } - - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_R3G3B2; - } - - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -static uint8_t u8g_dev_ssd1351_128x128_r[256]; -static uint8_t u8g_dev_ssd1351_128x128_g[256]; -static uint8_t u8g_dev_ssd1351_128x128_b[256]; - -uint8_t u8g_dev_ssd1351_128x128_idx_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ -// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); - break; - - case U8G_DEV_MSG_STOP: - break; - - case U8G_DEV_MSG_SET_COLOR_ENTRY: - u8g_dev_ssd1351_128x128_r[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->r; - u8g_dev_ssd1351_128x128_g[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->g; - u8g_dev_ssd1351_128x128_b[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->b; - break; - - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - - case U8G_DEV_MSG_PAGE_NEXT: - { - int x; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - for (x = 0; x < pb->width; x++) - { - u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_r[(*ptr)>>2]); - u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_g[(*ptr)>>2]); - u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_b[(*ptr)>>2]); - - ptr++; - } - - u8g_SetChipSelect(u8g, dev, 0); - } - - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_INDEX; - } - - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - -void u8g_ssd1351_hicolor_to_stream(uint8_t *ptr) -{ - register uint8_t cnt = RGB332_STREAM_BYTES; - register uint8_t low, high, r, g, b; - uint8_t *dest = u8g_ssd1351_stream_bytes; - for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) - { - low = *ptr++; - high = *ptr++; - - r = high & ~7; - r >>= 2; - b = low & 31; - b <<= 1; - g = high & 7; - g <<= 3; - g |= (low>>5)&7; - - *dest++ = r; - *dest++ = g; - *dest++ = b; - } -} - - -uint8_t u8g_dev_ssd1351_128x128_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t i, j; - uint8_t page_height; - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( j = 0; j < page_height; j++ ) - { - for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_hicolor_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES*2; - } - - } - - u8g_SetChipSelect(u8g, dev, 0); - - } - break; /* continue to base fn */ - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_HICOLOR; - } - return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_ssd1351_128x128gh_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - uint8_t i, j; - uint8_t page_height; - uint8_t *ptr = pb->buf; - - u8g_SetChipSelect(u8g, dev, 1); - - page_height = pb->p.page_y1; - page_height -= pb->p.page_y0; - page_height++; - for( j = 0; j < page_height; j++ ) - { - for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES) - { - u8g_ssd1351_hicolor_to_stream(ptr); - u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); - ptr += RGB332_STREAM_BYTES*2; - } - - } - - u8g_SetChipSelect(u8g, dev, 0); - - } - break; /* continue to base fn */ - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_HICOLOR; - } - return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_dev_ssd1351_128x128_byte_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; - -u8g_pb_t u8g_dev_ssd1351_128x128_byte_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; - -//u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; -//u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; - - -/* only half of the height, because two bytes are needed for one pixel */ -u8g_pb_t u8g_dev_ssd1351_128x128_hicolor_byte_pb = { {PAGE_HEIGHT/2, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI }; - - -uint8_t u8g_dev_ssd1351_128x128_4x_byte_buf[WIDTH*PAGE_HEIGHT*4] U8G_NOCOMMON ; - -u8g_pb_t u8g_dev_ssd1351_128x128_4x_332_byte_pb = { {PAGE_HEIGHT*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI }; - -u8g_pb_t u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb = { {PAGE_HEIGHT/2*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf}; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI }; - - -/* -U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_HW_SPI); - -U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_HW_SPI); -*/ - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c deleted file mode 100644 index ff909c5e9..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_64128n.c +++ /dev/null @@ -1,203 +0,0 @@ -/* - - u8g_dev_st7565_64128n.c (Displaytech) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_64128n_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0A2, /* 0x0a2: LCD bias 1/9 (according to Displaytech 64128N datasheet) */ - 0x0A0, /* Normal ADC Select (according to Displaytech 64128N datasheet) */ - - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x040, /* Display start line for Displaytech 64128N */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x010, /* Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x01e, /* Contrast value. Setting for controlling brightness of Displaytech 64128N */ - - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0x10 */ - 0x000, /* set lower 4 bit of the col adr to 0x00. Changed for DisplayTech 64128N */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_64128n_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_64128n_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_64128n_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_64128n_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_64128n_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_st7565_64128n_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_PARALLEL); - -uint8_t u8g_dev_st7565_64128n_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_64128n_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_64128n_2x_buf}; -u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_st7565_64128n_2x_hw_parallel = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_PARALLEL }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c deleted file mode 100644 index e73f06153..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm128.c +++ /dev/null @@ -1,190 +0,0 @@ -/* - - u8g_dev_st7565_dogm128.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -const uint8_t u8g_dev_st7565_dogm128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode: set scan direction normal operation */ - 0x0a6, /* display normal (none reverse) */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value, EA default: 0x016 */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0a4, /* normal display (not all on) */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm128_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_dogm128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_dogm128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_dogm128_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm128_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm128_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_PARALLEL); - - -uint8_t u8g_dev_st7565_dogm128_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_dogm128_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_dogm128_2x_buf}; -u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_HW_SPI }; -u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_PARALLEL }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c deleted file mode 100644 index 26de53924..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_dogm132.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - - u8g_dev_st7565_dogm132.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 132 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_st7565_dogm132_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line to 0 */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x01f, /* contrast value, EA default: 0x01f */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - -#ifdef OBSOLETE_DOGM128 - 0x040, /* set display start line */ - 0x0c8, /* set scan direction inverse operation */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value, EA default: 0x016 */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ -#endif - - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_dogm132_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_dogm132_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_dogm132_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_dogm132_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_HW_SPI); diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c deleted file mode 100644 index 165c39097..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6059.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - - u8g_dev_st7565_lm6059.c (Adafruit display) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_lm6059_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit, 0x0a2 does not work */ - /* the LM6059 vs LM6063, ADC and SHL have inverted settings */ - 0x0a0, /* 0x0a1: ADC set to normal (suggested for the LM6059), 0x0a0: Used by Adafruit -> normal mode */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x060, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - - /*0x0ac,*/ /* indicator */ - /*0x000,*/ /* disable */ - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x001, /* set lower 4 bit of the col adr */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6059_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_st7565_lm6059_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_lm6059_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_lm6059_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_lm6059_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_HW_SPI); - - -uint8_t u8g_dev_st7565_lm6059_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_lm6059_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_lm6059_2x_buf}; -u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c deleted file mode 100644 index d0b8c816d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_lm6063.c +++ /dev/null @@ -1,236 +0,0 @@ -/* - - u8g_dev_st7565_lm6063.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -#ifdef OLD_ADAFRUIT_CODE -static const uint8_t OLD_u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select / 17 Jan: seems to be a bug, must be 0x0c0 */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - /*0x0f8,*/ /* set booster ratio to */ - /*0x000, */ /* 4x */ - /*0x027,*/ /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; -#endif - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit */ - 0x0a1, /* 0x0a1: ADC set to reverse (suggested for the LM6063), 0x0a0: Used by Adafruit -> normal mode */ - 0x0c0, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x040, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - 0x081, /* set contrast */ - 0x018, /* contrast value*/ - - /*0x0ac,*/ /* indicator */ - /*0x000,*/ /* disable */ - - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_lm6063_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_st7565_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_st7565_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_st7565_lm6063_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_lm6063_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_lm6063_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_lm6063_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_st7565_lm6063_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_lm6063_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_lm6063_2x_buf}; -u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c deleted file mode 100644 index ed8dca2e0..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12832.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_dev_st7565_nhd_c12832.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_st7565_c12832_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line to 0 */ - 0x0a0, /* ADC set, values: a0=normal, a1=reverse */ - 0x0c8, /* common output mode: c0=normal, c8=reverse */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x00a, /* contrast value */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12832_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_c12832_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_PARALLEL); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_USART_SPI); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c deleted file mode 100644 index eeb5c0987..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7565_nhd_c12864.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - - u8g_dev_st7565_nhd_c12864.c - - Support for the NHD-C12864A1Z-FSB-FBW (Newhaven Display) - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -const uint8_t u8g_dev_st7565_nhd_c12864_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(10), /* do reset low pulse with (10*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x040, /* set display start line */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode: set scan direction normal operation */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x027, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x008, /* contrast: 0x008 is a good value for NHD C12864, Nov 2012: User reports that 0x1a is much better */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_nhd_c12864_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x004, /* set lower 4 bit of the col adr to 4 (NHD C12864) */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12864_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_st7565_c12864_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7565_nhd_c12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7565_nhd_c12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_HW_SPI); - - -uint8_t u8g_dev_st7565_nhd_c12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7565_nhd_c12864_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_nhd_c12864_2x_buf}; -u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c deleted file mode 100644 index a11d3bc7d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7687_c144mvgd.c +++ /dev/null @@ -1,420 +0,0 @@ -/* - - u8g_dev_st7687_c144mvgd.c (1.44" TFT) - - Status: Started, but not finished - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -#ifdef FIRST_VERSION -/* -see also: read.pudn.com/downloads115/sourcecode/app/484503/LCM_Display.c__.htm -http://en.pudn.com/downloads115/sourcecode/app/detail484503_en.html -*/ - -static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x001, /* A0=0, SW reset */ - U8G_ESC_DLY(200), /* delay 200 ms */ - - 0x0d7, /* EEPROM data auto re-load control */ - U8G_ESC_ADR(1), /* data mode */ - 0x09f, /* ARD = 1 */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0e0, /* EEPROM control in */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - -#ifdef NOT_REQUIRED - 0x0fa, /* EEPROM function selection 8.1.66 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ -#endif - - 0x0e3, /* Read from EEPROM, 8.1.55 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0e1, /* EEPROM control out, 8.1.53 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - //0x028, /* display off */ - 0x011, /* Sleep out & booster on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0c0, /* Vop setting, 8.1.42 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x001, /* 3.6 + 256*0.04 = 13.84 Volt */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - 0x0c3, /* Bias selection, 8.1.45 */ - U8G_ESC_ADR(1), /* data mode */ - 0x003, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c4, /* Booster setting 8.1.46 */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c5, /* ??? */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0cb, /* FV3 with Booster x2 control, 8.1.47 */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x036, /* Memory data access control, 8.1.28 */ - U8G_ESC_ADR(1), /* data mode */ - 0x080, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b5, /* N-line control, 8.1.37 */ - U8G_ESC_ADR(1), /* data mode */ - 0x089, - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0d0, /* Analog circuit setting, 8.1.49 */ - U8G_ESC_ADR(1), /* data mode */ - 0x01d, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b7, /* Com/Seg Scan Direction, 8.1.38 */ - U8G_ESC_ADR(1), /* data mode */ - 0x040, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x025, /* Write contrast, 8.1.17 */ - U8G_ESC_ADR(1), /* data mode */ - 0x03f, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x03a, /* Interface pixel format, 8.1.32 */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b0, /* Display Duty setting, 8.1.34 */ - U8G_ESC_ADR(1), /* data mode */ - 0x07f, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f0, /* Frame Freq. in Temp range A,B,C and D, 8.1.59 */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, - 0x00c, - 0x00c, - 0x015, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f9, /* Frame RGB Value, 8.1.65 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, - 0x005, - 0x008, - 0x00a, - 0x00c, - 0x00e, - 0x010, - 0x011, - 0x012, - 0x013, - 0x014, - 0x015, - 0x016, - 0x018, - 0x01a, - 0x01b, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f9, /* Frame RGB Value, 8.1.65 */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, - 0x000, - 0x000, - 0x000, - 0x033, - 0x055, - 0x055, - 0x055, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x029, /* display on */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ - -}; - -#else - -/* -http://www.waitingforfriday.com/images/e/e3/FTM144D01N_test.zip -*/ - -static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x011, /* Sleep out & booster on */ - U8G_ESC_DLY(5), /* delay 5 ms */ - - 0x03a, /* Interface pixel format, 8.1.32 */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x026, /* SET_GAMMA_CURVE */ - U8G_ESC_ADR(1), /* data mode */ - 0x004, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0f2, /* GAM_R_SEL */ - U8G_ESC_ADR(1), /* data mode */ - 0x001, /* enable gamma adj */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0e0, /* POSITIVE_GAMMA_CORRECT */ - U8G_ESC_ADR(1), /* data mode */ - 0x3f, - 0x25, - 0x1c, - 0x1e, - 0x20, - 0x12, - 0x2a, - 0x90, - 0x24, - 0x11, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0e1, /* NEGATIVE_GAMMA_CORRECT */ - U8G_ESC_ADR(1), /* data mode */ - 0x20, - 0x20, - 0x20, - 0x20, - 0x05, - 0x00, - 0x15, - 0xa7, - 0x3d, - 0x18, - 0x25, - 0x2a, - 0x2b, - 0x2b, - 0x3a, - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0b1, /* FRAME_RATE_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x008, /* DIVA = 8 */ - 0x008, /* VPA = 8 */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x0b4, /* DISPLAY_INVERSION */ - U8G_ESC_ADR(1), /* data mode */ - 0x007, /* NLA = 1, NLB = 1, NLC = 1 (all on Frame Inversion) */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c0, /* POWER_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x00a, /* VRH = 10: GVDD = 4.30 */ - 0x002, /* VC = 2: VCI1 = 2.65 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c1, /* POWER_CONTROL2 */ - U8G_ESC_ADR(1), /* data mode */ - 0x002, /* BT = 2: AVDD = 2xVCI1, VCL = -1xVCI1, VGH = 5xVCI1, VGL = -2xVCI1 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c5, /* VCOM_CONTROL1 */ - U8G_ESC_ADR(1), /* data mode */ - 0x050, /* VMH = 80: VCOMH voltage = 4.5 */ - 0x05b, /* VML = 91: VCOML voltage = -0.225 */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x0c7, /* VCOM_OFFSET_CONTROL */ - U8G_ESC_ADR(1), /* data mode */ - 0x040, /* nVM = 0, VMF = 64: VCOMH output = VMH, VCOML output = VML */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x02a, /* SET_COLUMN_ADDRESS */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x000, /* */ - 0x000, /* */ - 0x07f, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x02b, /* SET_PAGE_ADDRESS */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* */ - 0x000, /* */ - 0x000, /* */ - 0x07f, /* */ - U8G_ESC_ADR(0), /* instruction mode */ - - 0x036, /* SET_ADDRESS_MODE */ - U8G_ESC_ADR(1), /* data mode */ - 0x000, /* Select display orientation */ - U8G_ESC_ADR(0), /* instruction mode */ - - - 0x029, /* display on */ - - 0x02c, /* write start */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ - -}; - -#endif - - - - -/* calculate bytes for Type B 4096 color display */ -static uint8_t get_byte_1(uint8_t v) -{ - v >>= 4; - v &= 0x0e; - return v; -} - -static uint8_t get_byte_2(uint8_t v) -{ - uint8_t w; - w = v; - w &= 3; - w = (w<<2) | w; - v <<= 3; - v &= 0x0e0; - w |= v; - return w; -} - -uint8_t u8g_dev_st7687_c144mvgd_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7687_c144mvgd_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i, j; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02a ); /* Column address set 8.1.20 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, 0x000 ); /* x0 */ - u8g_WriteByte(u8g, dev, WIDTH-1 ); /* x1 */ - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02b ); /* Row address set 8.1.21 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteByte(u8g, dev, y ); /* y0 */ - u8g_WriteByte(u8g, dev, y+PAGE_HEIGHT-1 ); /* y1 */ - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x02c ); /* Memory write 8.1.22 */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - - for( j = 0; j < WIDTH; j ++ ) - { - u8g_WriteByte(u8g, dev, get_byte_1(*ptr) ); - u8g_WriteByte(u8g, dev, get_byte_2(*ptr) ); - ptr++; - } - } - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); -} - - -uint8_t u8g_st7687_c144mvgd_8h8_buf[WIDTH*8] U8G_NOCOMMON ; -u8g_pb_t u8g_st7687_c144mvgd_8h8_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_st7687_c144mvgd_8h8_buf}; - -u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, u8g_com_arduino_sw_spi_fn }; - -u8g_dev_t u8g_dev_st7687_c144mvgd_8bit = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, U8G_COM_PARALLEL }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c deleted file mode 100644 index 29e63134c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_128x64.c +++ /dev/null @@ -1,175 +0,0 @@ -/* - - u8g_dev_st7920_128x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - - if ( y < 32 ) - { - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - } - else - { - u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ - } - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_128x64_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - - if ( y < 32 ) - { - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - } - else - { - u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ - } - - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_st7920_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_FAST_PARALLEL); -U8G_PB_DEV(u8g_dev_st7920_128x64_custom, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, u8g_com_arduino_st7920_custom_fn); - - - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_128x64_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_128x64_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_128x64_4x_buf}; -u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_128x64_4x_8bit = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_FAST_PARALLEL }; -u8g_dev_t u8g_dev_st7920_128x64_4x_custom = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, u8g_com_arduino_st7920_custom_fn }; - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c deleted file mode 100644 index 736b08289..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_192x32.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - - u8g_dev_st7920_192x32.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 192 -#define HEIGHT 32 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_192x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_192x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_192x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_st7920_192x32_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_192x32_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_192x32_8bit, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_FAST_PARALLEL); - - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_192x32_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_192x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_192x32_4x_buf}; -u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_192x32_4x_8bit = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_FAST_PARALLEL }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c deleted file mode 100644 index b36b7abca..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_st7920_202x32.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - - u8g_dev_st7920_202x32.c - tested with CFAG20232 - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 202 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - - -/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ -static const uint8_t u8g_dev_st7920_202x32_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ - 0x00c, /* display on, cursor & blink off; 0x08: all off */ - 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ - 0x002, /* disable scroll, enable CGRAM adress */ - 0x001, /* clear RAM, needs 1.6 ms */ - U8G_ESC_DLY(100), /* delay 10 ms */ - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_st7920_202x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 8; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_st7920_202x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - for( i = 0; i < 32; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ - u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - ptr += WIDTH/8; - y++; - } - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_st7920_202x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_SW_SPI); -U8G_PB_DEV(u8g_dev_st7920_202x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_HW_SPI); -U8G_PB_DEV(u8g_dev_st7920_202x32_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_FAST_PARALLEL); - -#define QWIDTH (WIDTH*4) -uint8_t u8g_dev_st7920_202x32_4x_buf[QWIDTH] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_st7920_202x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_202x32_4x_buf}; -u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_SW_SPI }; -u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_HW_SPI }; -u8g_dev_t u8g_dev_st7920_202x32_4x_8bit = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_FAST_PARALLEL }; - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x128.c deleted file mode 100644 index 15f618c5f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x128.c +++ /dev/null @@ -1,193 +0,0 @@ -/* - - u8g_dev_t6963_128x128.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 128x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 128 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_128x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_128x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_128x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x128_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_128x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_128x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_128x128_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_128x128_8bit = { u8g_dev_t6963_128x128_fn, &u8g_dev_t6963_128x128_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c deleted file mode 100644 index 97e158332..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_128x64.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - - u8g_dev_t6963_128x64.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 16 - - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_128x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x64_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_128x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_128x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_128x64_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_128x64_8bit = { u8g_dev_t6963_128x64_fn, &u8g_dev_t6963_128x64_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c deleted file mode 100644 index 7373f3888..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x128.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - - u8g_dev_t6963_240x128.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x128_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_240x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_240x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x128_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_240x128_8bit = { u8g_dev_t6963_240x128_fn, &u8g_dev_t6963_240x128_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c deleted file mode 100644 index d0c4fd230..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_t6963_240x64.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - - u8g_dev_t6963_240x64.c - - Tested with Varitronix MGLS240128TZ - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Application Notes for the MGLS 240x128 - www.baso.no/content/pdf/T6963C_Application.pdf - - Hitachi App Notes: - https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf - - Notes: - The font selection pins should generate the 8x8 font. - For the MGLS240128TZ only FS1 is available on pin 18. - FS1 must be low to generate the 8x8 font. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 16 - - -/* - http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format -*/ - -/* text is not used, so settings are not relevant */ -static const uint8_t u8g_dev_t6963_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x021, /* set cursor position */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x022, /* set offset */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x040, /* text home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x041, /* text columns */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x042, /* graphics home */ - - U8G_ESC_ADR(0), /* data mode */ - WIDTH/8, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x043, /* graphics columns */ - - // mode set - // 0x080: Internal CG, OR Mode - // 0x081: Internal CG, EXOR Mode - // 0x083: Internal CG, AND Mode - // 0x088: External CG, OR Mode - // 0x089: External CG, EXOR Mode - // 0x08B: External CG, AND Mode - U8G_ESC_ADR(1), /* instruction mode */ - 0x080, /* mode register: OR Mode, Internal Character Mode */ - - U8G_ESC_ADR(1), /* instruction mode */ - // display mode - // 0x090: Display off - // 0x094: Graphic off, text on, cursor off, blink off - // 0x096: Graphic off, text on, cursor on, blink off - // 0x097: Graphic off, text on, cursor on, blink on - // 0x098: Graphic on, text off, cursor off, blink off - // 0x09a: Graphic on, text off, cursor on, blink off - // ... - // 0x09c: Graphic on, text on, cursor off, blink off - // 0x09f: Graphic on, text on, cursor on, blink on - 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ - - U8G_ESC_ADR(0), /* data mode */ - 0x000, /* low byte */ - 0x000, /* height byte */ - U8G_ESC_ADR(1), /* instruction mode */ - 0x024, /* set adr pointer */ - - - U8G_ESC_DLY(100), /* delay 100 ms */ - - U8G_ESC_ADR(0), /* data mode */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_t6963_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t y, i; - uint16_t disp_ram_adr; - uint8_t *ptr; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 1); - y = pb->p.page_y0; - ptr = pb->buf; - disp_ram_adr = WIDTH/8; - disp_ram_adr *= y; - for( i = 0; i < PAGE_HEIGHT; i ++ ) - { - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ - u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ - u8g_SetAddress(u8g, dev, 1); /* cmd mode */ - u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ - - u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); - - ptr += WIDTH/8; - disp_ram_adr += WIDTH/8; - } - u8g_SetAddress(u8g, dev, 0); /* data mode */ - u8g_SetChipSelect(u8g, dev, 0); - } - break; - } - return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); -} - -// U8G_PB_DEV(u8g_dev_t6963_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x64_fn, U8G_COM_T6963); - -uint8_t u8g_dev_t6963_240x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_t6963_240x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x64_2x_bw_buf}; -u8g_dev_t u8g_dev_t6963_240x64_8bit = { u8g_dev_t6963_240x64_fn, &u8g_dev_t6963_240x64_2x_bw_pb, U8G_COM_T6963 }; - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c deleted file mode 100644 index d8f423666..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_tls8204_84x48.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - - u8g_dev_tls8204_84x48.c - - Display: Nokia 84x48 - - Status: Tested with TLS8204V12 Display by Olimex MOD-LCD3310 - - Contributed: http://code.google.com/p/u8glib/issues/detail?id=126 - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 84 -#define HEIGHT 48 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_tls8204_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ - 0x006, /* temp. control: b10 = 2 */ - 0x04 | !!((66-1)&(1u<<6)), - 0x40 | ((66-2) & ((1u<<6)-1)), - 0x013, /* bias system 1:48 */ - 0x0c0, /* medium Vop */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal operation */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00d, /* display on, invert */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - 0x00c, /* display on, normal */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_tls8204_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_tls8204_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_SetAddress(u8g, dev, 0); /* command mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ - u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ - u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - /* the contrast adjustment does not work, needs to be analysed */ - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_SetChipSelect(u8g, dev, 1); - u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ - u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); - u8g_WriteByte(u8g, dev, 0x020); /* command mode, extended function set */ - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - - -U8G_PB_DEV(u8g_dev_tls8204_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tls8204_fn, U8G_COM_SW_SPI); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c deleted file mode 100644 index 015156676..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1601_c128032.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - - u8g_dev_uc1601_c128032.c - - LCD-AG-C128032R-DIW W/KK E6 PBF from http://www.artronic.pl/o_produkcie.php?id=1343 - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 32 -#define PAGE_HEIGHT 8 - -/* init sequence */ -static const uint8_t u8g_dev_uc1601_c128032_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ - - 0x0a3, /* 0x0a3: LCD bias 1/7 , 0x0a2: LCD bias 1/9 */ - 0x0a0, /* 0x0a0: ADC set to normal, 0x0a1 ADC set to inverted */ - 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ - 0x0c2, /* 22 May 2013: mirror x */ - - 0x040, /* set display start line */ - - 0x028 | 0x04, /* power control: turn on voltage converter */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x06, /* power control: turn on voltage regulator */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x028 | 0x07, /* power control: turn on voltage follower */ - U8G_ESC_DLY(10), /* delay 10 ms */ - - 0x020| 0x06, /* set V0 voltage resistor ratio to 6 */ - - 0x0af, /* display on */ - - //0x081, /* set contrast */ - //0x018, /* contrast value*/ - - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1601_c128032_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x004, /* set lower 4 bit of the col adr */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1601_c128032_sleep_on[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0ac, /* static indicator off */ - 0x000, /* indicator register set (not sure if this is required) */ - 0x0ae, /* display off */ - 0x0a5, /* all points on */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1601_c128032_sleep_off[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x0a4, /* all points off */ - 0x0af, /* display on */ - U8G_ESC_DLY(50), /* delay 50 ms */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - - -uint8_t u8g_dev_uc1601_c128032_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1601) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1601_c128032_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (UC1601) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (UC1601) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - case U8G_DEV_MSG_SLEEP_ON: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on); - return 1; - case U8G_DEV_MSG_SLEEP_OFF: - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1601_c128032_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1601_c128032_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1601_c128032_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1601_c128032_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1601_c128032_2x_buf}; -u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c deleted file mode 100644 index d43d78e11..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x128.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - - - u8g_dev_uc1608_240x128.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com (original 240x64 library) - Modified by thieringpeti@gmail.com for Raystar rx240128 family displays - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -/* -Display: http://www.tme.eu/en/details/rx240128a-ghw/lcd-graphic-displays/raystar-optronics/ -Connection: HW / SW SPI. -To get this display working, You need some extra capacitors: - -connect 4.7uF caps between: - PIN1 & PIN2 VB1 +- - PIN3 & PIN4 VB0 -+ -connect 0.1uF caps between: - VLCD and VSS - VBIAS and VSS -You can find some schematics with a 10M resistor parallellized with the VLCD capacitor. - -Select 4-bit SPI mode. - -Connect D7 (PIN9) To VDD (+3.3V) -Connect D1, D2, D4, D5, D6 to GND (PINS 10,11,12,14,15) -Connect WR0, WR1, BM0, BM1 to GND (PINS 17,18,22,23) - -D0: (PIN16) AVR's SCK pin (HW SPI) -D3: (PIN13) AVR's MOSI pin (HW SPI) -CD: (PIN19) used as A0 in the library -CS: (PIN21) Connect to the defined CS pin, and You can re-use the HW SPI in different routines. -RST: (PIN20) optional reset, can be defined in the function, resets on initialization. - -Adjust contrast if necessary. Default: 0x072. - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - -/* see also ERC24064-1 for init sequence example */ -static const uint8_t u8g_dev_uc1608_240x128_init_seq[] PROGMEM = { - U8G_ESC_CS(1), /* disable chip (UC1608 has positive logic for CS) */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (15*16)+2 milliseconds */ - - - U8G_ESC_CS(0), /* enable chip */ - 0x0e2, /* soft reset */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x026, /* MUX rate and temperature compensation */ - - 0x0c8, /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */ - - 0x0eb, /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/ - /* default 0x0ea for 240x128 */ - 0x081, /* set contrast (bits 0..5) and gain (bits 6/7) */ - 0x072, /* default for 240x128 displays: 0x072*/ - - 0x02f, /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x040, /* set display start line to 0 */ - 0x090, /* no fixed lines */ - 0x089, /* RAM access control */ - - 0x0af, /* disable sleep mode */ - 0x0a4, /* normal display */ - 0x0a5, /* display all points, ST7565, UC1610 */ - // 0x0a7, /* inverse display */ - 0x0a6, /* normal display */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1608_240x128_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(0), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 (UC1608) */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1608_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1608_240x128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1608_240x128_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1608_240x128_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1608_240x128_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1608_240x128_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1608_240x128_2x_buf}; -u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c deleted file mode 100644 index 6a99c6ba8..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1608_240x64.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - - u8g_dev_uc1608_240x64.c - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -/* see also ERC24064-1 for init sequence example */ -static const uint8_t u8g_dev_uc1608_240x64_init_seq[] PROGMEM = { - U8G_ESC_CS(1), /* disable chip (UC1608 has positive logic for CS) */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (15*16)+2 milliseconds */ - - - U8G_ESC_CS(0), /* enable chip */ - 0x0e2, /* soft reset */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ -#if HEIGHT <= 96 - 0x023, /* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */ -#else - /* 30 Nov 2013: not tested */ - 0x027, /* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */ -#endif - 0x0c8, /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */ - 0x0e8, /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/ - - 0x081, /* set contrast (bits 0..5) and gain (bits 6/7) */ - 0x014, /* ECR24064-1 default: 0x040*/ - - 0x02f, /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */ - U8G_ESC_DLY(50), /* delay 50 ms */ - - 0x040, /* set display start line to 0 */ - 0x090, /* no fixed lines */ - 0x089, /* RAM access control */ - - 0x0af, /* disable sleep mode */ - 0x0a4, /* normal display */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(1), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1608_240x64_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(0), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 (UC1608) */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1608_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1608_240x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1608_240x64_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1608_240x64_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1608_240x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1608_240x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1608_240x64_2x_buf}; -u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c deleted file mode 100644 index 4f361664d..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1610_dogxl160.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - - u8g_dev_uc1610_dogxl160.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 160 -#define HEIGHT 104 - -static const uint8_t u8g_dev_uc1610_dogxl160_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - 0x0f1, /* set display height-1 */ - 0x067, /* */ - 0x0c0, /* SEG & COM normal */ - 0x040, /* set display start line */ - 0x050, /* */ - 0x02b, /* set panelloading */ - 0x0eb, /* set bias 1/2 */ - 0x081, /* set contrast */ - 0x05f, /* */ - 0x089, /* set auto increment */ - 0x0a6, /* normal pixel mode */ - 0x0d3, /* 0xd3=40% RMS separation for gray levels */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - - - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1610_dogxl160_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static uint8_t u8g_dev_1to2(uint8_t n) -{ - register uint8_t a,b,c; - a = n; - a &= 1; - n <<= 1; - b = n; - b &= 4; - n <<= 1; - c = n; - c &= 16; - n <<= 1; - n &= 64; - n |= a; - n |= b; - n |= c; - n |= n << 1; - return n; -} - -uint8_t u8g_dev_uc1610_dogxl160_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - int i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); - } - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - int i; - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+1) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+2) ); /* select current page 1/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] ) ); - } - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+3) ); /* select current page 2/2 (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - for( i = 0; i < WIDTH; i++ ) - { - u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] >> 4 ) ); - } - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1610_dogxl160_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf) == 0 ) - return 0; - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); - u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page (UC1610) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_WriteSequence(u8g, dev, WIDTH, (uint8_t *)(pb->buf)+WIDTH) == 0 ) - return 0; - - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_HW_SPI); - -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_sw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_hw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1610_dogxl160_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1610_dogxl160_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_bw_buf}; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_HW_SPI }; - -uint8_t u8g_dev_uc1610_dogxl160_2x_gr_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1610_dogxl160_2x_gr_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_gr_buf}; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c deleted file mode 100644 index 52bf451d9..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogm240.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - - u8g_dev_uc1611_dogm240.c - - Universal 8bit Graphics Library - - Copyright (c) 2014, dev.menges.jonas@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - - -#define WIDTH 240 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_uc1611_dogm240_init_seq[] PROGMEM = { - U8G_ESC_CS(1), // enable chip - U8G_ESC_ADR(0), // instruction mode - 0xF1, // set last COM electrode - 0x3F, // 64-1=63 - 0xF2, // set display start line - 0x00, // 0 - 0xF3, // set display end line - 0x3F, // 64-1=63 - 0x81, // set contrast (0-255) - 0xB7, // 183 - 0xC0, // set view - //0x04, // topview - 0x02, // bottomview - 0xA3, // set line rate (9.4k) - 0xE9, // set bias ratio (10) - 0xA9, // enable display - 0xD1, // set black and white mode - U8G_ESC_CS(0), // disable chip - U8G_ESC_END // end of sequence -}; - -static void setPage(u8g_t *u8g, u8g_dev_t *dev, unsigned char page) -{ - u8g_WriteByte(u8g, dev, 0x70); - u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F)); -} - -static const uint8_t u8g_dev_uc1611_dogm240_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x10, /* set upper 4 bit of the col adr to 0 */ - 0x00, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1611_dogm240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_data_start); - setPage(u8g, dev, pb->p.page); /* select current page (uc1611) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x81); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1611_dogm240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_UC_I2C); -U8G_PB_DEV(u8g_dev_uc1611_dogm240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1611_dogm240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_HW_SPI); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c deleted file mode 100644 index 44242ecdf..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1611_dogxl240.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - - u8g_dev_uc1611_dogxl240.c - - Universal 8bit Graphics Library - - Copyright (c) 2014, dev.menges.jonas@gmail.com, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - - -#define WIDTH 240 -#define HEIGHT 128 -#define PAGE_HEIGHT 8 - - -static const uint8_t u8g_dev_uc1611_dogxl240_init_seq[] PROGMEM = { - U8G_ESC_CS(1), // enable chip - U8G_ESC_ADR(0), // instruction mode - 0xF1, // set last COM electrode - 0x7F, // DOGXL240 - 0xF2, // set display start line - 0x00, // 0 - 0xF3, // set display end line - 0x7F, // DOGXL240 - 0x81, // set contrast (0-255) - 0xAA, // DOGXL240 - 0xC0, // set view - //0x04, // topview - 0x02, // bottomview - 0xA3, // set line rate (9.4k) - 0xE9, // set bias ratio (10) - 0xA9, // enable display - 0xD1, // set black and white mode - U8G_ESC_CS(0), // disable chip - U8G_ESC_END // end of sequence -}; - -static void u8g_dev_dogxl240_set_page(u8g_t *u8g, u8g_dev_t *dev, unsigned char page) -{ - u8g_WriteByte(u8g, dev, 0x70); - u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F)); -} - -static const uint8_t u8g_dev_uc1611_dogxl240_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x10, /* set upper 4 bit of the col adr to 0 */ - 0x00, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -static uint8_t u8g_dev_uc1611_dogxl240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_data_start); - u8g_dev_dogxl240_set_page(u8g, dev, pb->p.page); /* select current page (uc1611) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 1); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 0); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x81); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ - u8g_SetChipSelect(u8g, dev, 1); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1611_dogxl240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_UC_I2C); -U8G_PB_DEV(u8g_dev_uc1611_dogxl240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1611_dogxl240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_HW_SPI); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c deleted file mode 100644 index 5161ef95f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_dogs102.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - - u8g_dev_uc1701_dogs102.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 102 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_dogs102_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0e2, /* soft reset */ - 0x040, /* set display start line to 0 */ - 0x0a1, /* ADC set to reverse */ - 0x0c0, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x027, /* regulator, booster and follower */ - 0x081, /* set contrast */ - 0x00e, /* contrast value, EA default: 0x010, previous value for S102: 0x0e */ - 0x0fa, /* Set Temp compensation */ - 0x090, /* 0.11 deg/c WP Off WC Off*/ - 0x0a4, /* normal display */ - 0x0af, /* display on */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565, UC1610 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_dogs102_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 0 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_dogs102_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1701_dogs102_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1701_dogs102_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1701_dogs102_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1701_dogs102_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1701_dogs102_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1701_dogs102_2x_buf}; -u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_HW_SPI }; - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c deleted file mode 100644 index 209a7b930..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_dev_uc1701_mini12864.c +++ /dev/null @@ -1,158 +0,0 @@ -/* - - u8g_dev_uc1701_mini12864.c (dealextreme) - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -#define WIDTH 128 -#define HEIGHT 64 -#define PAGE_HEIGHT 8 - -static const uint8_t u8g_dev_uc1701_mini12864_init_seq[] PROGMEM = { - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ - U8G_ESC_CS(1), /* enable chip */ - - 0x0e2, /* soft reset */ - 0x040, /* set display start line to 0 */ - 0x0a0, /* ADC set to reverse */ - 0x0c8, /* common output mode */ - 0x0a6, /* display normal, bit val 0: LCD pixel off. */ - 0x0a2, /* LCD bias 1/9 */ - 0x02f, /* all power control circuits on */ - 0x0f8, /* set booster ratio to */ - 0x000, /* 4x */ - 0x023, /* set V0 voltage resistor ratio to large */ - 0x081, /* set contrast */ - 0x027, /* contrast value */ - 0x0ac, /* indicator */ - 0x000, /* disable */ - 0x0af, /* display on */ - - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a5, /* display all points, ST7565 */ - U8G_ESC_DLY(100), /* delay 100 ms */ - U8G_ESC_DLY(100), /* delay 100 ms */ - 0x0a4, /* normal display */ - U8G_ESC_CS(0), /* disable chip */ - U8G_ESC_END /* end of sequence */ -}; - -static const uint8_t u8g_dev_uc1701_mini12864_data_start[] PROGMEM = { - U8G_ESC_ADR(0), /* instruction mode */ - U8G_ESC_CS(1), /* enable chip */ - 0x010, /* set upper 4 bit of the col adr to 0 */ - 0x000, /* set lower 4 bit of the col adr to 4 */ - U8G_ESC_END /* end of sequence */ -}; - -uint8_t u8g_dev_uc1701_mini12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) - return 0; - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); -} - -uint8_t u8g_dev_uc1701_mini12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - case U8G_DEV_MSG_INIT: - u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq); - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_NEXT: - { - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, pb->buf); - u8g_SetChipSelect(u8g, dev, 0); - - u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); - u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page */ - u8g_SetAddress(u8g, dev, 1); /* data mode */ - u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); - u8g_SetChipSelect(u8g, dev, 0); - } - break; - case U8G_DEV_MSG_CONTRAST: - u8g_SetChipSelect(u8g, dev, 1); - u8g_SetAddress(u8g, dev, 0); /* instruction mode */ - u8g_WriteByte(u8g, dev, 0x081); - u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); - u8g_SetChipSelect(u8g, dev, 0); - return 1; - } - return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); -} - -U8G_PB_DEV(u8g_dev_uc1701_mini12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_SW_SPI); -U8G_PB_DEV(u8g_dev_uc1701_mini12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_HW_SPI); - -uint8_t u8g_dev_uc1701_mini12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; -u8g_pb_t u8g_dev_uc1701_mini12864_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1701_mini12864_2x_buf}; -u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_SW_SPI }; -u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_HW_SPI }; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c deleted file mode 100644 index 57ff4675b..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ellipse.c +++ /dev/null @@ -1,393 +0,0 @@ -/* - - u8g_ellipse.c - - Utility to draw empty and filled ellipses. - - Universal 8bit Graphics Library - - Copyright (c) 2011, bjthom@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Addition to the U8G Library as of 02/29/12 - Adapted from Bresenham's Algorithm and the following websites: - http://free.pages.at/easyfilter/bresenham.html - http://homepage.smc.edu/kennedy_john/belipse.pdf - -*/ - -#include "u8g.h" - - -#ifdef WORK_IN_PROGRESS - -void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1) -{ - int a = abs(x1 - x0); - int b = abs(y1 - y0); //get diameters - int b1 = b&1; - long dx = 4*(1-a)*b*b; - long dy = 4*(b1+1)*a*a; - long err = dx+dy+b1*a*a; - long e2; - - if (x0 > x1) { x0 = x1; x1 += a; } - if (y0 > y1) { y0 = y1; } - y0 += (b+1)/2; - y1 = y0-b1; - a *= 8*a; - b1 = 8*b*b; - - do { - u8g_DrawPixel(u8g, x1, y0); - u8g_DrawPixel(u8g, x0, y0); - u8g_DrawPixel(u8g, x0, y1); - u8g_DrawPixel(u8g, x1, y1); - e2 = 2*err; - if (e2 >= dx) { - x0++; - x1--; - err += dx += b1; - } - if (e2 <= dy) { - y0++; - y1--; - err += dy += a; - } - } while (x0 <= x1); - - while (y0-y1 < b) { - u8g_DrawPixel(u8g, x0-1, y0); - u8g_DrawPixel(u8g, x1+1, y0++); - u8g_DrawPixel(u8g, x0-1, y1); - u8g_DrawPixel(u8g, x1+1, y1--); - } -} - -void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t xr, u8g_uint_t yr) -{ - u8g_DrawPixel(u8g, x0, y0+yr); - u8g_DrawPixel(u8g, x0, y0-yr); - u8g_DrawPixel(u8g, x0+xr, y0); - u8g_DrawPixel(u8g, x0-xr, y0); -} - -#endif - -#if defined(U8G_16BIT) -typedef int32_t u8g_long_t; -#else -typedef int16_t u8g_long_t; -#endif - - -/* - Source: - ftp://pc.fk0.name/pub/books/programming/bezier-ellipse.pdf - Foley, Computer Graphics, p 90 -*/ -static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; -static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 - y); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 - y); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawPixel(u8g, x0 + x, y0 + y); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawPixel(u8g, x0 - x, y0 + y); - } -} - -void u8g_draw_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - u8g_uint_t x, y; - u8g_long_t xchg, ychg; - u8g_long_t err; - u8g_long_t rxrx2; - u8g_long_t ryry2; - u8g_long_t stopx, stopy; - - rxrx2 = rx; - rxrx2 *= rx; - rxrx2 *= 2; - - ryry2 = ry; - ryry2 *= ry; - ryry2 *= 2; - - x = rx; - y = 0; - - xchg = 1; - xchg -= rx; - xchg -= rx; - xchg *= ry; - xchg *= ry; - - ychg = rx; - ychg *= rx; - - err = 0; - - stopx = ryry2; - stopx *= rx; - stopy = 0; - - while( stopx >= stopy ) - { - u8g_draw_ellipse_section(u8g, x, y, x0, y0, option); - y++; - stopy += rxrx2; - err += ychg; - ychg += rxrx2; - if ( 2*err+xchg > 0 ) - { - x--; - stopx -= ryry2; - err += xchg; - xchg += ryry2; - } - } - - x = 0; - y = ry; - - xchg = ry; - xchg *= ry; - - ychg = 1; - ychg -= ry; - ychg -= ry; - ychg *= rx; - ychg *= rx; - - err = 0; - - stopx = 0; - - stopy = rxrx2; - stopy *= ry; - - - while( stopx <= stopy ) - { - u8g_draw_ellipse_section(u8g, x, y, x0, y0, option); - x++; - stopx += ryry2; - err += xchg; - xchg += ryry2; - if ( 2*err+ychg > 0 ) - { - y--; - stopy -= rxrx2; - err += ychg; - ychg += rxrx2; - } - } - -} - -void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t rxp, rxp2; - u8g_uint_t ryp, ryp2; - - rxp = rx; - rxp++; - rxp2 = rxp; - rxp2 *= 2; - - ryp = ry; - ryp++; - ryp2 = ryp; - ryp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0) - return; - } - - u8g_draw_ellipse(u8g, x0, y0, rx, ry, option); -} - -static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; -static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) -{ - /* upper right */ - if ( option & U8G_DRAW_UPPER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0-y, y+1); - } - - /* upper left */ - if ( option & U8G_DRAW_UPPER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0-y, y+1); - } - - /* lower right */ - if ( option & U8G_DRAW_LOWER_RIGHT ) - { - u8g_DrawVLine(u8g, x0+x, y0, y+1); - } - - /* lower left */ - if ( option & U8G_DRAW_LOWER_LEFT ) - { - u8g_DrawVLine(u8g, x0-x, y0, y+1); - } -} - -void u8g_draw_filled_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - u8g_uint_t x, y; - u8g_long_t xchg, ychg; - u8g_long_t err; - u8g_long_t rxrx2; - u8g_long_t ryry2; - u8g_long_t stopx, stopy; - - rxrx2 = rx; - rxrx2 *= rx; - rxrx2 *= 2; - - ryry2 = ry; - ryry2 *= ry; - ryry2 *= 2; - - x = rx; - y = 0; - - xchg = 1; - xchg -= rx; - xchg -= rx; - xchg *= ry; - xchg *= ry; - - ychg = rx; - ychg *= rx; - - err = 0; - - stopx = ryry2; - stopx *= rx; - stopy = 0; - - while( stopx >= stopy ) - { - u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option); - y++; - stopy += rxrx2; - err += ychg; - ychg += rxrx2; - if ( 2*err+xchg > 0 ) - { - x--; - stopx -= ryry2; - err += xchg; - xchg += ryry2; - } - } - - x = 0; - y = ry; - - xchg = ry; - xchg *= ry; - - ychg = 1; - ychg -= ry; - ychg -= ry; - ychg *= rx; - ychg *= rx; - - err = 0; - - stopx = 0; - - stopy = rxrx2; - stopy *= ry; - - - while( stopx <= stopy ) - { - u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option); - x++; - stopx += ryry2; - err += xchg; - xchg += ryry2; - if ( 2*err+ychg > 0 ) - { - y--; - stopy -= rxrx2; - err += ychg; - ychg += rxrx2; - } - } - -} - -void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) -{ - /* check for bounding box */ - { - u8g_uint_t rxp, rxp2; - u8g_uint_t ryp, ryp2; - - rxp = rx; - rxp++; - rxp2 = rxp; - rxp2 *= 2; - - ryp = ry; - ryp++; - ryp2 = ryp; - ryp2 *= 2; - - if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0) - return; - } - - u8g_draw_filled_ellipse(u8g, x0, y0, rx, ry, option); -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c deleted file mode 100644 index f3c1eda4c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font.c +++ /dev/null @@ -1,1500 +0,0 @@ -/* - - u8g_font.c - - U8G Font High Level Interface - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -/* font api */ - -/* pointer to the start adress of the glyph, points to progmem area */ -typedef void * u8g_glyph_t; - -/* size of the font data structure, there is no struct or class... */ -#define U8G_FONT_DATA_STRUCT_SIZE 17 - -/* - ... instead the fields of the font data structure are accessed directly by offset - font information - offset - 0 font format - 1 FONTBOUNDINGBOX width unsigned - 2 FONTBOUNDINGBOX height unsigned - 3 FONTBOUNDINGBOX x-offset signed - 4 FONTBOUNDINGBOX y-offset signed - 5 capital A height unsigned - 6 start 'A' - 8 start 'a' - 10 encoding start - 11 encoding end - 12 descent 'g' negative: below baseline - 13 font max ascent - 14 font min decent negative: below baseline - 15 font xascent - 16 font xdecent negative: below baseline - -*/ - -/* use case: What is the width and the height of the minimal box into which string s fints? */ -void u8g_font_GetStrSize(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); -void u8g_font_GetStrSizeP(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); - -/* use case: lower left edge of a minimal box is known, what is the correct x, y position for the string draw procedure */ -void u8g_font_AdjustXYToDraw(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); -void u8g_font_AdjustXYToDrawP(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); - -/* use case: Baseline origin known, return minimal box */ -void u8g_font_GetStrMinBox(u8g_t *u8g, const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); - -/* procedures */ - -/*========================================================================*/ -/* low level byte and word access */ - -/* removed NOINLINE, because it leads to smaller code, might also be faster */ -//static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; -static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) -{ - font += offset; - return u8g_pgm_read( (u8g_pgm_uint8_t *)font ); -} - -static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; -static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) -{ - uint16_t pos; - font += offset; - pos = u8g_pgm_read( (u8g_pgm_uint8_t *)font ); - font++; - pos <<= 8; - pos += u8g_pgm_read( (u8g_pgm_uint8_t *)font); - return pos; -} - -/*========================================================================*/ -/* direct access on the font */ - -static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; -static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) -{ - return u8g_font_get_byte(font, 0); -} - -static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; -static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) -{ - switch(u8g_font_GetFormat(font)) - { - case 0: return 6; - case 1: return 3; - case 2: return 6; - } - return 3; -} - -static uint8_t u8g_font_GetBBXWidth(const void *font) -{ - return u8g_font_get_byte(font, 1); -} - -static uint8_t u8g_font_GetBBXHeight(const void *font) -{ - return u8g_font_get_byte(font, 2); -} - -static int8_t u8g_font_GetBBXOffX(const void *font) -{ - return u8g_font_get_byte(font, 3); -} - -static int8_t u8g_font_GetBBXOffY(const void *font) -{ - return u8g_font_get_byte(font, 4); -} - -uint8_t u8g_font_GetCapitalAHeight(const void *font) -{ - return u8g_font_get_byte(font, 5); -} - -uint16_t u8g_font_GetEncoding65Pos(const void *font) U8G_NOINLINE; -uint16_t u8g_font_GetEncoding65Pos(const void *font) -{ - return u8g_font_get_word(font, 6); -} - -uint16_t u8g_font_GetEncoding97Pos(const void *font) U8G_NOINLINE; -uint16_t u8g_font_GetEncoding97Pos(const void *font) -{ - return u8g_font_get_word(font, 8); -} - -uint8_t u8g_font_GetFontStartEncoding(const void *font) -{ - return u8g_font_get_byte(font, 10); -} - -uint8_t u8g_font_GetFontEndEncoding(const void *font) -{ - return u8g_font_get_byte(font, 11); -} - -int8_t u8g_font_GetLowerGDescent(const void *font) -{ - return u8g_font_get_byte(font, 12); -} - -int8_t u8g_font_GetFontAscent(const void *font) -{ - return u8g_font_get_byte(font, 13); -} - -int8_t u8g_font_GetFontDescent(const void *font) -{ - return u8g_font_get_byte(font, 14); -} - -int8_t u8g_font_GetFontXAscent(const void *font) -{ - return u8g_font_get_byte(font, 15); -} - -int8_t u8g_font_GetFontXDescent(const void *font) -{ - return u8g_font_get_byte(font, 16); -} - - -/* return the data start for a font and the glyph pointer */ -static uint8_t *u8g_font_GetGlyphDataStart(const void *font, u8g_glyph_t g) -{ - return ((u8g_fntpgm_uint8_t *)g) + u8g_font_GetFontGlyphStructureSize(font); -} - -/* calculate the overall length of the font, only used to create the picture for the google wiki */ -size_t u8g_font_GetSize(const void *font) -{ - uint8_t *p = (uint8_t *)(font); - uint8_t font_format = u8g_font_GetFormat(font); - uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(font); - uint8_t start, end; - uint8_t i; - uint8_t mask = 255; - - start = u8g_font_GetFontStartEncoding(font); - end = u8g_font_GetFontEndEncoding(font); - - if ( font_format == 1 ) - mask = 15; - - p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ - - i = start; - for(;;) - { - if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) - { - p += 1; - } - else - { - p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; - p += data_structure_size; - } - if ( i == end ) - break; - i++; - } - - return p - (uint8_t *)font; -} - -/*========================================================================*/ -/* u8g interface, font access */ - -uint8_t u8g_GetFontBBXWidth(u8g_t *u8g) -{ - return u8g_font_GetBBXWidth(u8g->font); -} - -uint8_t u8g_GetFontBBXHeight(u8g_t *u8g) -{ - return u8g_font_GetBBXHeight(u8g->font); -} - -int8_t u8g_GetFontBBXOffX(u8g_t *u8g) U8G_NOINLINE; -int8_t u8g_GetFontBBXOffX(u8g_t *u8g) -{ - return u8g_font_GetBBXOffX(u8g->font); -} - -int8_t u8g_GetFontBBXOffY(u8g_t *u8g) U8G_NOINLINE; -int8_t u8g_GetFontBBXOffY(u8g_t *u8g) -{ - return u8g_font_GetBBXOffY(u8g->font); -} - -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) U8G_NOINLINE; -uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) -{ - return u8g_font_GetCapitalAHeight(u8g->font); -} - -/*========================================================================*/ -/* glyph handling */ - -static void u8g_CopyGlyphDataToCache(u8g_t *u8g, u8g_glyph_t g) -{ - uint8_t tmp; - switch( u8g_font_GetFormat(u8g->font) ) - { - case 0: - case 2: - /* - format 0 - glyph information - offset - 0 BBX width unsigned - 1 BBX height unsigned - 2 data size unsigned (BBX width + 7)/8 * BBX height - 3 DWIDTH signed - 4 BBX xoffset signed - 5 BBX yoffset signed - byte 0 == 255 indicates empty glyph - */ - u8g->glyph_width = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); - u8g->glyph_height = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); - u8g->glyph_dx = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 3 ); - u8g->glyph_x = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 4 ); - u8g->glyph_y = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 5 ); - break; - case 1: - default: - /* -format 1 - 0 BBX xoffset signed --> upper 4 Bit - 0 BBX yoffset signed --> lower 4 Bit - 1 BBX width unsigned --> upper 4 Bit - 1 BBX height unsigned --> lower 4 Bit - 2 data size unsigned -(BBX width + 7)/8 * BBX height --> lower 4 Bit - 2 DWIDTH signed --> upper 4 Bit - byte 0 == 255 indicates empty glyph - */ - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); - u8g->glyph_y = tmp & 15; - u8g->glyph_y-=2; - tmp >>= 4; - u8g->glyph_x = tmp; - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); - u8g->glyph_height = tmp & 15; - tmp >>= 4; - u8g->glyph_width = tmp; - - tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 2 ); - tmp >>= 4; - u8g->glyph_dx = tmp; - - - break; - } -} - -//void u8g_FillEmptyGlyphCache(u8g_t *u8g) U8G_NOINLINE; -static void u8g_FillEmptyGlyphCache(u8g_t *u8g) -{ - u8g->glyph_dx = 0; - u8g->glyph_width = 0; - u8g->glyph_height = 0; - u8g->glyph_x = 0; - u8g->glyph_y = 0; -} - -/* - Find (with some speed optimization) and return a pointer to the glyph data structure - Also uncompress (format 1) and copy the content of the data structure to the u8g structure -*/ -u8g_glyph_t u8g_GetGlyph(u8g_t *u8g, uint8_t requested_encoding) -{ - uint8_t *p = (uint8_t *)(u8g->font); - uint8_t font_format = u8g_font_GetFormat(u8g->font); - uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(u8g->font); - uint8_t start, end; - uint16_t pos; - uint8_t i; - uint8_t mask = 255; - - if ( font_format == 1 ) - mask = 15; - - start = u8g_font_GetFontStartEncoding(u8g->font); - end = u8g_font_GetFontEndEncoding(u8g->font); - - pos = u8g_font_GetEncoding97Pos(u8g->font); - if ( requested_encoding >= 97 && pos > 0 ) - { - p+= pos; - start = 97; - } - else - { - pos = u8g_font_GetEncoding65Pos(u8g->font); - if ( requested_encoding >= 65 && pos > 0 ) - { - p+= pos; - start = 65; - } - else - p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ - } - - if ( requested_encoding > end ) - { - u8g_FillEmptyGlyphCache(u8g); - return NULL; /* not found */ - } - - i = start; - if ( i <= end ) - { - for(;;) - { - if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) - { - p += 1; - } - else - { - if ( i == requested_encoding ) - { - u8g_CopyGlyphDataToCache(u8g, p); - return p; - } - p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; - p += data_structure_size; - } - if ( i == end ) - break; - i++; - } - } - - u8g_FillEmptyGlyphCache(u8g); - - return NULL; -} - -uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding) -{ - if ( u8g_GetGlyph(u8g, requested_encoding) != NULL ) - return 1; - return 0; -} - -int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding) -{ - if ( u8g_GetGlyph(u8g, requested_encoding) == NULL ) - return 0; /* should never happen, so return something */ - return u8g->glyph_dx; -} - - -/*========================================================================*/ -/* glyph drawing procedures */ - -#ifdef OBSOLETE -/* - Draw a glyph - x,y: left baseline position of the glyph -*/ -int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - u8g_glyph_t g; - uint8_t w, h, i, j; - const u8g_pgm_uint8_t *data; - uint8_t bytes_per_line; - u8g_uint_t ix, iy; - - g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - w = u8g->glyph_width; - h = u8g->glyph_height; - - bytes_per_line = w; - bytes_per_line += 7; - bytes_per_line /= 8; - - data = u8g_font_GetGlyphDataStart(u8g->font, g); - - switch(dir) - { - case 0: - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - //u8g_DrawFrame(u8g, x, y-h+1, w, h); - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - ix+=8; - } - iy++; - } - break; - case 1: - x += u8g->glyph_y; - x++; - y += u8g->glyph_x; - //printf("enc %d, dir %d, x %d, y %d, w %d, h %d\n", encoding, dir, x, y, w, h); - //u8g_DrawFrame(u8g, x, y, h, w); - if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) - return u8g->glyph_dx; - - ix = x; - ix += h; - ix--; - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - iy+=8; - } - ix--; - } - break; - case 2: - x -= u8g->glyph_x; - y += u8g->glyph_y; - y++; - if ( u8g_IsBBXIntersection(u8g, x-w-1, y, w, h) == 0 ) - return u8g->glyph_dx; - - iy = y; - iy += h; - iy--; - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - ix-=8; - } - iy--; - } - break; - case 3: - x -= u8g->glyph_y; - x--; - y -= u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x-h-1, y-w-1, h, w) == 0 ) - return u8g->glyph_dx; - - ix = x; - ix -= h; - ix++; - - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < bytes_per_line; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); - data++; - iy-=8; - } - ix++; - } - break; - } - return u8g->glyph_dx; -} -#endif - -int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 0, u8g_pgm_read(data)); - data++; - ix+=8; - } - iy++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y += u8g->font_calc_vref(u8g); - return u8g_draw_glyph(u8g, x, y, encoding); -} - -int8_t u8g_draw_glyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_y; - x++; - y += u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - ix = x; - ix += h; - ix--; - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 1, u8g_pgm_read(data)); - data++; - iy+=8; - } - ix--; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - x -= u8g->font_calc_vref(u8g); - return u8g_draw_glyph90(u8g, x, y, encoding); -} - - -int8_t u8g_draw_glyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x -= u8g->glyph_x; - y += u8g->glyph_y; - y++; - - if ( u8g_IsBBXIntersection(u8g, x-(w-1), y, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - iy = y; - iy += h; - iy--; - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 2, u8g_pgm_read(data)); - data++; - ix-=8; - } - iy--; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y -= u8g->font_calc_vref(u8g); - return u8g_draw_glyph180(u8g, x, y, encoding); -} - - -int8_t u8g_draw_glyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x -= u8g->glyph_y; - x--; - y -= u8g->glyph_x; - - if ( u8g_IsBBXIntersection(u8g, x-(h-1), y-(w-1), h, w) == 0 ) - return u8g->glyph_dx; - - - /* now, w is reused as bytes per line */ - w += 7; - w /= 8; - - ix = x; - ix -= h; - ix++; - - for( j = 0; j < h; j++ ) - { - iy = y; - for( i = 0; i < w; i++ ) - { - u8g_Draw8Pixel(u8g, ix, iy, 3, u8g_pgm_read(data)); - data++; - iy-=8; - } - ix++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - x += u8g->font_calc_vref(u8g); - return u8g_draw_glyph270(u8g, x, y, encoding); -} - - - -#ifdef OBSOLETE -/* - Draw a glyph - x,y: lower left corner of the font bounding box -*/ -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - /* TODO: apply "dir" */ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - return u8g_DrawGlyphDir(u8g, x, y, dir, encoding); -} -#endif - -/*========================================================================*/ -/* string drawing procedures */ - - -u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - //u8g_uint_t u8g_GetStrWidth(u8g, s); - //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font); - - y += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph(u8g, x, y, *s); - x += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph90(u8g, x, y, *s); - y += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - y -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph180(u8g, x, y, *s); - x -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_glyph270(u8g, x, y, *s); - y -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) -{ - switch(dir) - { - case 0: - return u8g_DrawStr(u8g, x, y, s); - case 1: - return u8g_DrawStr90(u8g, x, y, s); - case 2: - return u8g_DrawStr180(u8g, x, y, s); - case 3: - return u8g_DrawStr270(u8g, x, y, s); - } - return 0; -} - -u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - uint8_t c; - - y += u8g->font_calc_vref(u8g); - - for(;;) - { - c = u8g_pgm_read(s); - if ( c == '\0' ) - break; - d = u8g_draw_glyph(u8g, x, y, c); - x += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph90(u8g, x, y, u8g_pgm_read(s)); - y += d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - y -= u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph180(u8g, x, y, u8g_pgm_read(s)); - x -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t t = 0; - int8_t d; - - x += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_DrawGlyph270(u8g, x, y, u8g_pgm_read(s)); - y -= d; - t += d; - s++; - } - return t; -} - -u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) -{ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - return u8g_DrawStrDir(u8g, x, y, dir, s); -} - -/* still used by picgen.c, dir argument is ignored */ -int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) -{ - x -= u8g_GetFontBBXOffX(u8g); - y += u8g_GetFontBBXOffY(u8g); - u8g_draw_glyph(u8g, x, y, encoding); - return 0; -} - - -/*========================================================================*/ -/* set ascent/descent for reference point calculation */ - -void u8g_UpdateRefHeight(u8g_t *u8g) -{ - uint16_t ls; - if ( u8g->font == NULL ) - return; - if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_TEXT ) - { - u8g->font_ref_ascent = u8g_font_GetCapitalAHeight(u8g->font); - u8g->font_ref_descent = u8g_font_GetLowerGDescent(u8g->font); - } - else if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_XTEXT ) - { - u8g->font_ref_ascent = u8g_font_GetFontXAscent(u8g->font); - u8g->font_ref_descent = u8g_font_GetFontXDescent(u8g->font); - } - else - { - u8g->font_ref_ascent = u8g_font_GetFontAscent(u8g->font); - u8g->font_ref_descent = u8g_font_GetFontDescent(u8g->font); - } - - ls = u8g->font_ref_ascent - u8g->font_ref_descent; - if ( u8g->font_line_spacing_factor != 64 ) - { - ls &= 255; - ls *= u8g->font_line_spacing_factor; - ls >>= 6; - } - u8g->line_spacing = ls; -} - -void u8g_SetFontRefHeightText(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_TEXT; - u8g_UpdateRefHeight(u8g); -} - -void u8g_SetFontRefHeightExtendedText(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; - u8g_UpdateRefHeight(u8g); -} - - -void u8g_SetFontRefHeightAll(u8g_t *u8g) -{ - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_ALL; - u8g_UpdateRefHeight(u8g); -} - -/* factor = 64: linespaceing == ascent and descent */ -void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor) -{ - u8g->font_line_spacing_factor = factor; - u8g_UpdateRefHeight(u8g); -} - - - -/*========================================================================*/ -/* callback procedures to correct the y position */ - -u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g) -{ - return 0; -} - -void u8g_SetFontPosBaseline(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_font; -} - - -u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g) -{ - /* y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); */ - return (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); -} - -void u8g_SetFontPosBottom(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_bottom; -} - -u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g) -{ - u8g_uint_t tmp; - /* reference pos is one pixel above the upper edge of the reference glyph */ - - /* - y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); - y++; - */ - tmp = (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); - tmp++; - return tmp; -} - -void u8g_SetFontPosTop(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_top; -} - -u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g) -{ - int8_t tmp; - tmp = u8g->font_ref_ascent; - tmp -= u8g->font_ref_descent; - tmp /= 2; - tmp += u8g->font_ref_descent; - /* y += (u8g_uint_t)(u8g_int_t)(tmp); */ - return tmp; -} - -void u8g_SetFontPosCenter(u8g_t *u8g) -{ - u8g->font_calc_vref = u8g_font_calc_vref_center; -} - -/*========================================================================*/ -/* string pixel width calculation */ - -char u8g_font_get_char(const void *s) -{ - return *(const char *)(s); -} - -char u8g_font_get_charP(const void *s) -{ - return u8g_pgm_read(s); -} - -typedef char (*u8g_font_get_char_fn)(const void *s); - - -u8g_uint_t u8g_font_calc_str_pixel_width(u8g_t *u8g, const char *s, u8g_font_get_char_fn get_char ) -{ - u8g_uint_t w; - uint8_t enc; - - /* reset the total minimal width to zero, this will be expanded during calculation */ - w = 0; - - enc = get_char(s); - - /* check for empty string, width is already 0 */ - if ( enc == '\0' ) - { - return w; - } - - /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ - /* if *s is not inside the font, then the cached parameters of the glyph are all zero */ - u8g_GetGlyph(u8g, enc); - - /* strlen(s) == 1: width = width(s[0]) */ - /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ - /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ - - /* assume that the string has size 2 or more, than start with negative offset-x */ - /* for string with size 1, this will be nullified after the loop */ - w = -u8g->glyph_x; - for(;;) - { - - /* check and stop if the end of the string is reached */ - s++; - if ( get_char(s) == '\0' ) - break; - - /* if there are still more characters, add the delta to the next glyph */ - w += u8g->glyph_dx; - - /* store the encoding in a local variable, used also after the for(;;) loop */ - enc = get_char(s); - - /* load the next glyph information */ - u8g_GetGlyph(u8g, enc); - } - - /* finally calculate the width of the last char */ - /* here is another exception, if the last char is a black, use the dx value instead */ - if ( enc != ' ' ) - { - /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ - w += u8g->glyph_width; - w += u8g->glyph_x; - } - else - { - w += u8g->glyph_dx; - } - - - return w; -} - -u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s) -{ - return u8g_font_calc_str_pixel_width(u8g, s, u8g_font_get_char); -} - -u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - return u8g_font_calc_str_pixel_width(u8g, (const char *)s, u8g_font_get_charP); -} - -int8_t u8g_GetStrX(u8g_t *u8g, const char *s) -{ - u8g_GetGlyph(u8g, *s); - return u8g->glyph_x; -} - -int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - u8g_GetGlyph(u8g, u8g_pgm_read(s)); - return u8g->glyph_x; -} - -/*========================================================================*/ -/* string width calculation */ - -u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) -{ - u8g_uint_t w; - uint8_t encoding; - - /* reset the total width to zero, this will be expanded during calculation */ - w = 0; - - for(;;) - { - encoding = *s; - if ( encoding == 0 ) - break; - - /* load glyph information */ - u8g_GetGlyph(u8g, encoding); - w += u8g->glyph_dx; - - /* goto next char */ - s++; - } - - return w; -} - - -u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) -{ - u8g_uint_t w; - uint8_t encoding; - - /* reset the total width to zero, this will be expanded during calculation */ - w = 0; - - for(;;) - { - encoding = u8g_pgm_read(s); - if ( encoding == 0 ) - break; - - /* load glyph information */ - u8g_GetGlyph(u8g, encoding); - w += u8g->glyph_dx; - - /* goto next char */ - s++; - } - - return w; -} - - -/*========================================================================*/ -/* calculation of font/glyph/string characteristics */ - - -/* - Description: - Calculate parameter for the minimal bounding box on a given string - Output - buf->y_min extend of the lower left edge if the string below (y_min<0) or above (y_min>0) baseline (descent) - buf->y_max extend of the upper left edge if the string below (y_min<0) or above (y_min>0) baseline (ascent) - buf->w the width of the string -*/ -struct u8g_str_size_struct -{ - int8_t y_min; /* descent */ - int8_t y_max; /* ascent */ - int8_t x, y; /* the reference point of the font (negated!) */ - u8g_uint_t w; /* width of the overall string */ -}; -typedef struct u8g_str_size_struct u8g_str_size_t; - -static void u8g_font_calc_str_min_box(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - /* u8g_glyph_t g; */ - int8_t tmp; - - /* reset the total minimal width to zero, this will be expanded during calculation */ - buf->w = 0; - - /* check for empty string, width is already 0, but also reset y_min and y_max to 0 */ - if ( *s == '\0' ) - { - buf->y_min = 0; - buf->y_max = 0; - buf->x = 0; - buf->y = 0; - return; - } - - /* reset y_min to the largest possible value. Later we search for the smallest value */ - /* y_min contains the position [pixel] of the lower left edge of the glyph above (y_min>0) or below (y_min<0) baseline */ - buf->y_min = 127; - /* reset y_max to the smallest possible value. Later we search for the highest value */ - /* y_max contains the position [pixel] of the upper left edge of the glyph above (y_max>0) or below (y_max<0) baseline */ - buf->y_max = -128; - - /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ - u8g_GetGlyph(u8g, *s); - - /* strlen(s) == 1: width = width(s[0]) */ - /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ - /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ - - /* assume that the string has size 2 or more, than start with negative offset-x */ - /* for string with size 1, this will be nullified after the loop */ - // buf->w = - u8g_font_GetGlyphBBXOffX(u8g->font, g); - buf->w = - u8g->glyph_x; - - /* Also copy the position of the first glyph. This is the reference point of the string (negated) */ - buf->x = u8g->glyph_x; - buf->y = u8g->glyph_y; - - for(;;) - { - - /* calculated y position of the upper left corner (y_max) and lower left corner (y_min) of the string */ - /* relative to the base line */ - - tmp = u8g->glyph_y; - if ( buf->y_min > tmp ) - buf->y_min = tmp; - - tmp +=u8g->glyph_height; - if ( buf->y_max < tmp ) - buf->y_max = tmp; - - /* check and stop if the end of the string is reached */ - s++; - if ( *s == '\0' ) - break; - - /* if there are still more characters, add the delta to the next glyph */ - buf->w += u8g->glyph_dx; - - /* load the next glyph information */ - u8g_GetGlyph(u8g, *s); - } - - /* finally calculate the width of the last char */ - /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ - buf->w += u8g->glyph_width; - // buf->w += u8g_font_GetGlyphBBXOffX(u8g->font, g); - - buf->w += u8g->glyph_x; -} - -/* calculate minimal box */ -void u8g_font_box_min(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - u8g_font_calc_str_min_box(u8g, s, buf); -} - -/* calculate gA box, but do not calculate the overall width */ -void u8g_font_box_left_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - -} - -/* calculate gA box, including overall width */ -void u8g_font_box_all_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) -{ - -} - - -static void u8g_font_get_str_box_fill_args(u8g_t *u8g, const char *s, u8g_str_size_t *buf, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - /* - u8g_glyph_t g; - g = - */ - u8g_GetGlyph(u8g, *s); - *x += u8g->glyph_x; - *width = buf->w; - *y -= buf->y_max; - /* +1 because y_max is a height, this compensates the next step */ - //*y += 1; - /* because the reference point is one below the string, this compensates the previous step */ - //*y -= 1; - *height = buf->y_max; - *height -= buf->y_min; -} - - -void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - u8g_str_size_t buf; - - if ( *s == '\0' ) - { - *width= 0; - *height = 0; - return; - } - - u8g_font_calc_str_min_box(u8g, s, &buf); - u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); -} - - -void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) -{ - u8g_str_size_t buf; - uint8_t cap_a; - - if ( *s == '\0' ) - { - *width= 0; - *height = 0; - return; - } - - cap_a = u8g_font_GetCapitalAHeight(u8g->font); - u8g_font_calc_str_min_box(u8g, s, &buf); - if ( buf.y_max < cap_a ) - buf.y_max = cap_a; - u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); -} - -void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font) -{ - if ( u8g->font != font ) - { - u8g->font = font; - u8g_UpdateRefHeight(u8g); - u8g_SetFontPosBaseline(u8g); - } -} - -/*========================================================================*/ -/* anti aliasing fonts */ - -int8_t u8g_draw_aa_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - const u8g_pgm_uint8_t *data; - uint8_t w, h; - uint8_t i, j; - u8g_uint_t ix, iy; - - { - u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); - if ( g == NULL ) - return 0; - data = u8g_font_GetGlyphDataStart(u8g->font, g); - } - - w = u8g->glyph_width; - h = u8g->glyph_height; - - x += u8g->glyph_x; - y -= u8g->glyph_y; - y--; - - if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) - return u8g->glyph_dx; - - /* now, w is reused as bytes per line */ - w += 3; - w /= 4; - - iy = y; - iy -= h; - iy++; - - for( j = 0; j < h; j++ ) - { - ix = x; - for( i = 0; i < w; i++ ) - { - u8g_Draw4TPixel(u8g, ix, iy, 0, u8g_pgm_read(data)); - data++; - ix+=4; - } - iy++; - } - return u8g->glyph_dx; -} - -int8_t u8g_DrawAAGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) -{ - y += u8g->font_calc_vref(u8g); - return u8g_draw_aa_glyph(u8g, x, y, encoding); -} - -u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) -{ - u8g_uint_t t = 0; - int8_t d; - - if ( u8g_font_GetFormat(u8g->font) != 2 ) - return 0; - //u8g_uint_t u8g_GetStrWidth(u8g, s); - //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font); - - y += u8g->font_calc_vref(u8g); - - while( *s != '\0' ) - { - d = u8g_draw_aa_glyph(u8g, x, y, *s); - x += d; - t += d; - s++; - } - return t; -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c deleted file mode 100644 index 091080897..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_font_data.c +++ /dev/null @@ -1,88464 +0,0 @@ -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03b[826] U8G_FONT_SECTION("u8g_font_04b_03b") = { - 1,5,6,0,255,5,0,250,1,240,32,255,255,5,255,5, - 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, - 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, - 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, - 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, - 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, - 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, - 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, - 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, - 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, - 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, - 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, - 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, - 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, - 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, - 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, - 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, - 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, - 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, - 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, - 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, - 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, - 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, - 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, - 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, - 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, - 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, - 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, - 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, - 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, - 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, - 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, - 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, - 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, - 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, - 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, - 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, - 64,192,5,66,82,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,2,0,64,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,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,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}; -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03bn[136] U8G_FONT_SECTION("u8g_font_04b_03bn") = { - 1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, - 64,128,2,69,85,240,144,144,144,240,2,37,53,192,64,64, - 64,64,2,69,85,240,16,240,128,240,2,69,85,240,16,240, - 16,240,2,69,85,144,144,144,240,16,2,69,85,240,128,240, - 16,240,2,69,85,224,128,240,144,240,2,69,85,240,16,32, - 64,64,2,69,85,240,144,240,144,240,2,69,85,240,144,240, - 16,112,3,19,35,128,0,128}; -/* - Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03br[696] U8G_FONT_SECTION("u8g_font_04b_03br") = { - 1,5,6,0,255,5,0,250,1,240,32,127,255,5,255,5, - 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, - 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, - 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, - 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, - 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, - 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, - 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, - 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, - 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, - 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, - 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, - 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, - 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, - 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, - 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, - 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, - 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, - 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, - 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, - 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, - 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, - 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, - 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, - 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, - 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, - 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, - 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, - 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, - 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, - 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, - 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, - 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, - 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, - 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, - 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, - 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, - 64,192,5,66,82,80,160,255}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 5 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03[859] U8G_FONT_SECTION("u8g_font_04b_03") = { - 1,5,7,0,254,5,0,251,1,242,32,255,254,5,254,5, - 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, - 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, - 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, - 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, - 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, - 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, - 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, - 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, - 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, - 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, - 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, - 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, - 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, - 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, - 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, - 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, - 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, - 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, - 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, - 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, - 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, - 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, - 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, - 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, - 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, - 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, - 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, - 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, - 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, - 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, - 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, - 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, - 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, - 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, - 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, - 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, - 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, - 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, - 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, - 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, - 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, - 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, - 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, - 32,64,192,5,66,82,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,2,0,64,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,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,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}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03n[136] U8G_FONT_SECTION("u8g_font_04b_03n") = { - 1,5,7,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, - 64,128,2,69,85,96,144,144,144,96,2,37,53,192,64,64, - 64,64,2,69,85,224,16,96,128,240,2,69,85,224,16,96, - 16,224,2,69,85,32,96,160,240,32,2,69,85,240,128,224, - 16,224,2,69,85,96,128,224,144,96,2,69,85,240,16,32, - 64,64,2,69,85,96,144,96,144,96,2,69,85,96,144,112, - 16,96,3,19,35,128,0,128}; -/* - Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 - Copyright: 19992003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 5 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_03r[729] U8G_FONT_SECTION("u8g_font_04b_03r") = { - 1,5,7,0,254,5,0,251,1,242,32,127,254,5,254,5, - 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, - 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, - 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, - 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, - 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, - 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, - 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, - 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, - 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, - 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, - 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, - 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, - 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, - 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, - 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, - 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, - 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, - 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, - 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, - 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, - 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, - 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, - 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, - 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, - 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, - 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, - 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, - 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, - 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, - 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, - 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, - 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, - 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, - 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, - 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, - 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, - 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, - 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, - 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, - 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, - 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, - 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, - 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, - 32,64,192,5,66,82,80,160,255}; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24[912] U8G_FONT_SECTION("u8g_font_04b_24") = { - 1,5,6,0,255,5,0,250,1,241,32,255,0,5,255,5, - 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, - 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, - 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, - 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, - 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, - 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, - 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, - 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, - 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, - 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, - 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, - 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, - 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, - 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, - 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, - 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, - 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, - 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, - 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, - 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, - 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, - 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, - 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, - 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, - 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, - 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, - 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, - 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, - 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, - 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, - 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, - 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, - 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, - 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, - 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, - 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, - 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, - 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, - 128,128,2,53,69,192,64,96,64,192,6,33,49,192,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,255, - 2,37,53,128,64,64,64,64,2,53,69,160,160,160,96,32, - 2,53,69,192,32,192,32,192,255,255,255,2,53,69,128,192, - 160,160,64,255,255,2,53,69,64,160,160,96,32,255,255,255, - 255,255,255,255,255,255,255,255,2,53,69,224,32,32,64,128, - 255,255,255,2,53,69,64,160,160,160,64,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,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,255,255,255 - }; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24n[136] U8G_FONT_SECTION("u8g_font_04b_24n") = { - 1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5, - 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, - 64,128,4,49,65,224,2,17,33,128,2,53,69,32,32,64, - 128,128,2,53,69,224,160,160,160,224,2,37,53,192,64,64, - 64,64,2,53,69,224,32,224,128,224,2,53,69,224,32,224, - 32,224,2,53,69,160,160,160,224,32,2,53,69,224,128,224, - 32,224,2,53,69,128,224,160,160,224,2,53,69,224,32,32, - 64,128,2,53,69,224,160,224,160,224,2,53,69,224,160,160, - 224,32,3,19,35,128,0,128}; -/* - Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: 20002003 / yuji oshimoo / 04@dsg4.com / www.04.jp.org - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_04b_24r[735] U8G_FONT_SECTION("u8g_font_04b_24r") = { - 1,5,6,0,255,5,0,250,1,241,32,127,0,5,255,5, - 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, - 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, - 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, - 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, - 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, - 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, - 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, - 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, - 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, - 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, - 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, - 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, - 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, - 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, - 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, - 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, - 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, - 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, - 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, - 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, - 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, - 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, - 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, - 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, - 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, - 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, - 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, - 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, - 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, - 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, - 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, - 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, - 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, - 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, - 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, - 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, - 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, - 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, - 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, - 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, - 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, - 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, - 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, - 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, - 128,128,2,53,69,192,64,96,64,192,6,33,49,192,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 13 - Calculated Max Values w=10 h=20 x= 9 y=13 dx=10 dy= 0 ascent=16 len=40 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent =13 descent= 0 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[4734] U8G_FONT_SECTION("u8g_font_10x20_67_75") = { - 0,10,20,0,252,5,2,211,5,193,32,255,0,16,252,13, - 0,9,6,12,10,0,3,54,0,27,0,255,128,255,128,27, - 0,54,0,8,13,13,10,1,0,24,24,24,24,153,219,126, - 60,153,219,126,60,24,9,8,16,10,0,2,25,128,51,0, - 102,0,252,0,252,0,102,0,51,0,25,128,9,8,16,10, - 0,2,204,0,102,0,51,0,31,128,31,128,51,0,102,0, - 204,0,9,8,16,10,0,2,25,128,49,128,97,128,255,128, - 255,128,97,128,49,128,25,128,8,13,13,10,1,0,24,60, - 126,219,153,24,24,24,24,24,24,255,255,9,8,16,10,0, - 2,204,0,198,0,195,0,255,128,255,128,195,0,198,0,204, - 0,8,13,13,10,1,0,255,255,24,24,24,24,24,24,153, - 219,126,60,24,8,13,13,10,1,0,24,60,126,219,153,24, - 153,219,126,60,24,255,255,9,8,16,10,0,2,27,0,51, - 128,97,128,255,128,255,0,96,0,48,0,24,0,9,8,16, - 10,0,2,108,0,230,0,195,0,255,128,127,128,3,0,6, - 0,12,0,9,8,16,10,0,2,25,0,51,128,98,128,255, - 128,255,0,98,0,50,0,24,0,9,8,16,10,0,2,76, - 0,230,0,163,0,255,128,127,128,35,0,38,0,12,0,10, - 8,16,10,0,2,18,0,51,0,109,128,255,192,243,192,97, - 128,51,0,18,0,10,8,16,10,0,2,18,0,55,0,101, - 128,255,192,255,192,105,128,59,0,18,0,10,15,30,10,0, - 0,1,192,3,128,7,0,14,0,28,0,63,192,127,192,3, - 128,7,0,206,0,220,0,248,0,240,0,252,0,252,0,8, - 13,13,10,1,0,48,96,255,255,99,51,3,3,3,3,3, - 3,3,8,13,13,10,1,0,12,6,255,255,198,204,192,192, - 192,192,192,192,192,8,13,13,10,1,0,3,3,3,3,3, - 3,3,51,99,255,255,96,48,8,13,13,10,1,0,192,192, - 192,192,192,192,192,204,198,255,255,6,12,8,13,13,10,1, - 0,252,252,12,12,12,12,12,12,12,45,63,30,12,8,9, - 9,10,1,1,3,3,3,51,99,255,255,96,48,9,8,16, - 10,0,0,14,0,31,0,59,128,49,128,181,128,253,128,121, - 128,49,128,9,8,16,10,0,0,56,0,124,0,238,0,198, - 0,214,128,223,128,207,0,198,0,9,13,26,10,0,0,255, - 128,255,128,32,0,124,0,127,0,122,0,216,0,204,0,140, - 0,6,0,6,0,3,0,3,0,9,13,26,10,0,0,204, - 0,216,0,255,128,255,128,216,0,204,0,0,0,25,128,13, - 128,255,128,255,128,13,128,25,128,9,10,20,10,0,2,31, - 0,31,0,30,0,31,0,219,128,193,128,193,128,227,128,127, - 0,62,0,9,10,20,10,0,2,124,0,124,0,60,0,124, - 0,237,128,193,128,193,128,227,128,127,0,62,0,9,5,10, - 10,0,5,24,0,48,0,96,0,255,128,255,128,9,5,10, - 10,0,2,255,128,255,128,96,0,48,0,24,0,5,13,13, - 10,4,0,192,224,240,216,200,192,192,192,192,192,192,192,192, - 5,13,13,10,1,0,24,56,120,216,152,24,24,24,24,24, - 24,24,24,9,5,10,10,0,5,12,0,6,0,3,0,255, - 128,255,128,9,5,10,10,0,2,255,128,255,128,3,0,6, - 0,12,0,5,13,13,10,4,0,192,192,192,192,192,192,192, - 192,200,216,240,224,192,5,13,13,10,1,0,24,24,24,24, - 24,24,24,24,152,216,120,56,24,9,11,22,10,0,1,6, - 0,3,0,255,128,255,128,3,0,54,0,96,0,255,128,255, - 128,96,0,48,0,10,13,26,10,0,0,51,0,123,0,255, - 0,183,0,51,0,51,0,51,0,51,0,51,0,59,64,63, - 192,55,128,51,0,9,11,22,10,0,1,48,0,96,0,255, - 128,255,128,96,0,54,0,3,0,255,128,255,128,3,0,6, - 0,9,11,22,10,0,1,48,0,96,0,255,128,255,128,96, - 0,48,0,96,0,255,128,255,128,96,0,48,0,9,13,26, - 10,0,0,34,0,119,0,170,128,34,0,34,0,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,9,11,22, - 10,0,1,6,0,3,0,255,128,255,128,3,0,6,0,3, - 0,255,128,255,128,3,0,6,0,9,13,26,10,0,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, - 0,34,0,170,128,119,0,34,0,8,9,9,10,1,2,48, - 96,255,255,0,255,255,6,12,8,9,9,10,1,2,12,6, - 255,255,0,255,255,96,48,8,7,7,10,1,2,2,34,127, - 132,127,40,8,10,7,14,10,0,2,4,0,37,0,127,128, - 140,64,127,128,41,0,8,0,8,7,7,10,1,2,16,20, - 254,33,254,68,64,9,9,18,10,0,2,12,0,24,0,63, - 128,127,128,192,0,127,128,63,128,24,0,12,0,9,13,26, - 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, - 0,54,0,54,0,54,0,54,0,54,0,54,0,9,9,18, - 10,0,2,24,0,12,0,254,0,255,0,1,128,255,0,254, - 0,12,0,24,0,9,13,26,10,0,0,54,0,54,0,54, - 0,54,0,54,0,54,0,54,0,182,128,247,128,119,0,54, - 0,28,0,8,0,10,9,18,10,0,2,18,0,51,0,127, - 128,255,192,128,192,255,192,127,128,51,0,18,0,9,13,26, - 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, - 0,182,128,247,128,119,0,54,0,28,0,8,0,9,9,18, - 10,0,2,254,0,254,0,204,0,198,0,227,0,241,128,216, - 128,12,0,6,0,9,9,18,10,0,2,63,128,63,128,25, - 128,49,128,99,128,199,128,141,128,24,0,48,0,9,9,18, - 10,0,2,48,0,24,0,141,128,199,128,99,128,49,128,25, - 128,63,128,63,128,9,9,18,10,0,2,6,0,12,0,216, - 128,241,128,227,0,198,0,204,0,254,0,254,0,9,11,22, - 10,0,1,4,0,8,0,16,0,63,128,64,0,255,128,64, - 0,63,128,16,0,8,0,4,0,9,11,22,10,0,1,16, - 0,8,0,4,0,254,0,1,0,255,128,1,0,254,0,4, - 0,8,0,16,0,9,5,10,10,0,3,32,0,66,0,245, - 128,72,0,32,0,9,5,10,10,0,3,2,0,33,0,215, - 128,9,0,2,0,8,13,13,10,1,0,24,60,126,219,153, - 24,126,126,24,126,126,24,24,8,13,13,10,1,0,24,24, - 126,126,24,126,126,24,153,219,126,60,24,9,8,16,10,0, - 2,24,0,48,0,96,0,237,128,237,128,96,0,48,0,24, - 0,8,13,13,10,1,0,24,60,126,219,129,24,24,0,24, - 24,0,24,24,9,8,16,10,0,2,12,0,6,0,3,0, - 219,128,219,128,3,0,6,0,12,0,8,13,13,10,1,0, - 24,24,0,24,24,0,24,24,129,219,126,60,24,9,8,16, - 10,0,2,198,0,204,0,216,0,255,128,255,128,216,0,204, - 0,198,0,9,8,16,10,0,2,49,128,25,128,13,128,255, - 128,255,128,13,128,25,128,49,128,9,8,16,10,0,2,24, - 0,40,0,79,128,128,128,128,128,79,128,40,0,24,0,8, - 13,13,10,1,0,24,36,66,129,231,36,36,36,36,36,36, - 36,60,9,8,16,10,0,2,12,0,10,0,249,0,128,128, - 128,128,249,0,10,0,12,0,8,13,13,10,1,0,60,36, - 36,36,36,36,36,36,231,129,66,36,24,8,13,13,10,1, - 0,24,36,66,129,231,36,36,60,0,60,36,36,60,8,13, - 13,10,1,0,24,36,66,129,231,36,36,36,36,36,231,129, - 255,8,13,13,10,1,0,24,36,126,129,231,36,36,36,36, - 36,231,129,255,9,14,28,10,0,0,8,0,28,0,42,0, - 73,0,136,128,235,128,42,0,42,0,42,0,42,0,42,0, - 235,128,136,128,255,128,8,13,13,10,1,0,24,36,90,231, - 66,231,36,36,36,36,36,36,60,8,13,13,10,1,0,24, - 36,90,231,66,231,36,36,36,36,231,129,255,9,8,16,10, - 0,2,236,0,170,0,185,0,128,128,128,128,185,0,170,0, - 236,0,8,8,8,10,1,2,255,128,188,168,184,164,130,129, - 8,8,8,10,1,2,129,65,37,29,21,61,1,255,8,13, - 13,10,1,0,24,36,66,231,36,36,36,36,36,231,66,36, - 24,9,6,12,10,0,3,38,0,83,0,255,128,255,128,83, - 0,38,0,10,13,26,10,0,0,51,0,55,128,63,192,59, - 64,51,0,51,0,51,0,51,0,51,0,183,0,255,0,123, - 0,51,0,9,16,32,10,0,254,6,0,3,0,255,128,255, - 128,3,0,6,0,3,0,255,128,255,128,3,0,6,0,3, - 0,255,128,255,128,3,0,6,0,9,8,16,10,0,2,22, - 0,54,0,102,0,255,128,255,128,102,0,54,0,22,0,9, - 8,16,10,0,2,52,0,54,0,51,0,255,128,255,128,51, - 0,54,0,52,0,10,6,12,10,0,3,45,0,109,128,255, - 192,255,192,109,128,45,0,9,6,12,10,0,3,42,0,106, - 0,255,128,255,128,106,0,42,0,9,6,12,10,0,3,42, - 0,43,0,255,128,255,128,43,0,42,0,9,6,12,10,0, - 3,85,0,213,128,255,128,255,128,213,128,85,0,9,8,16, - 10,0,2,16,0,48,0,112,0,223,128,223,128,112,0,48, - 0,16,0,9,8,16,10,0,2,4,0,6,0,7,0,253, - 128,253,128,7,0,6,0,4,0,10,8,16,10,0,2,18, - 0,51,0,115,128,222,192,222,192,115,128,51,0,18,0,10, - 10,20,10,0,6,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,10,3,6,10,0,252,255, - 192,255,192,255,192,10,5,10,10,0,252,255,192,255,192,255, - 192,255,192,255,192,10,8,16,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,10,10,20,10,0, - 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,10,12,24,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,10,15,30,10,0,252,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,10,17,34,10,0,252,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,10, - 20,40,10,0,252,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,9,20,40, - 10,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,7,20,20,10,0, - 252,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, - 254,254,254,254,254,6,20,20,10,0,252,252,252,252,252,252, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 20,20,10,0,252,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,4,20,20,10,0,252,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,3,20,20,10,0,252,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,1,20,20, - 10,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,5,20,20,10,5,252,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,10,19,38,10,0,253,85,64,0,0,170,128,0,0,85, - 64,0,0,170,128,0,0,85,64,0,0,170,128,0,0,85, - 64,0,0,170,128,0,0,85,64,0,0,170,128,10,20,40, - 10,0,252,85,64,170,128,85,64,170,128,85,64,170,128,85, - 64,170,128,85,64,170,128,85,64,170,128,85,64,170,128,85, - 64,170,128,85,64,170,128,85,64,170,128,10,20,40,10,0, - 252,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, - 192,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, - 192,85,64,255,192,170,128,255,192,10,3,6,10,0,13,255, - 192,255,192,255,192,1,20,20,10,9,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,5, - 10,10,10,0,252,248,248,248,248,248,248,248,248,248,248,5, - 10,10,10,5,252,248,248,248,248,248,248,248,248,248,248,5, - 10,10,10,0,6,248,248,248,248,248,248,248,248,248,248,10, - 20,40,10,0,252,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,192,255,192,255,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,10,20,40, - 10,0,252,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,10,20,40,10,0, - 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,255,192,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,10,20,40,10,0,252,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,5,10,10,10,5,6,248,248,248, - 248,248,248,248,248,248,248,10,20,40,10,0,252,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,10,20,40,10,0,252,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,255, - 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, - 192,255,192,8,8,8,10,1,1,255,255,255,255,255,255,255, - 255,8,8,8,10,1,1,255,129,129,129,129,129,129,255,8, - 8,8,10,1,1,126,129,129,129,129,129,129,126,8,8,8, - 10,1,1,255,129,189,189,189,189,129,255,9,9,18,10,0, - 0,255,128,128,128,255,128,128,128,255,128,128,128,255,128,128, - 128,255,128,9,9,18,10,0,0,255,128,170,128,170,128,170, - 128,170,128,170,128,170,128,170,128,255,128,9,9,18,10,0, - 0,255,128,170,128,255,128,170,128,255,128,170,128,255,128,170, - 128,255,128,8,8,8,10,1,1,255,201,165,147,201,165,147, - 255,8,8,8,10,1,1,255,147,165,201,147,165,201,255,8, - 8,8,10,1,1,255,171,197,171,145,171,197,255,4,4,4, - 10,3,3,240,240,240,240,4,4,4,10,3,3,240,144,144, - 240,8,6,6,10,1,3,255,255,255,255,255,255,8,6,6, - 10,1,3,255,129,129,129,129,255,6,13,13,10,2,0,252, - 252,252,252,252,252,252,252,252,252,252,252,252,6,13,13,10, - 2,0,252,132,132,132,132,132,132,132,132,132,132,132,252,8, - 4,4,10,1,3,31,62,124,248,8,4,4,10,1,3,31, - 34,68,248,8,8,8,10,1,2,24,24,60,60,126,126,255, - 255,8,8,8,10,1,2,24,24,36,36,66,66,129,255,5, - 5,5,10,3,3,32,112,112,248,248,5,5,5,10,3,3, - 32,80,80,136,248,8,8,8,10,1,2,192,240,252,255,255, - 252,240,192,8,8,8,10,1,2,192,176,140,131,131,140,176, - 192,5,5,5,10,3,3,192,240,248,240,192,5,5,5,10, - 3,3,192,176,136,176,192,8,5,5,10,1,4,224,252,255, - 252,224,8,5,5,10,1,4,224,156,131,156,224,8,8,8, - 10,1,2,255,255,126,126,60,60,24,24,8,8,8,10,1, - 2,255,129,66,66,36,36,24,24,5,5,5,10,3,3,248, - 248,112,112,32,5,5,5,10,3,3,248,136,80,80,32,8, - 8,8,10,1,2,3,15,63,255,255,63,15,3,8,8,8, - 10,1,2,3,13,49,193,193,49,13,3,5,5,5,10,3, - 3,24,120,248,120,24,5,5,5,10,3,3,24,104,136,104, - 24,8,5,5,10,1,4,7,63,255,63,7,8,5,5,10, - 1,4,7,57,193,57,7,8,8,8,10,1,2,24,60,126, - 255,255,126,60,24,8,8,8,10,1,2,24,36,66,129,129, - 66,36,24,8,8,8,10,1,2,24,36,90,189,189,90,36, - 24,8,8,8,10,1,1,60,66,153,189,189,153,66,60,9, - 15,30,10,1,255,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,65,0,65,0,34,0,34,0,20,0,20, - 0,8,0,8,8,8,10,1,1,60,66,129,129,129,129,66, - 60,7,7,7,10,1,2,40,0,130,0,130,0,40,7,7, - 7,10,1,2,56,108,170,170,170,108,56,8,8,8,10,1, - 1,60,66,153,165,165,153,66,60,8,8,8,10,1,1,60, - 126,255,255,255,255,126,60,8,8,8,10,1,1,60,114,241, - 241,241,241,114,60,8,8,8,10,1,1,60,78,143,143,143, - 143,78,60,8,8,8,10,1,1,60,66,129,129,255,255,126, - 60,8,8,8,10,1,1,60,126,255,255,129,129,66,60,8, - 8,8,10,1,1,60,78,143,143,129,129,66,60,8,8,8, - 10,1,1,60,78,143,143,255,255,126,60,4,8,8,10,1, - 1,48,112,240,240,240,240,112,48,4,8,8,10,5,1,192, - 224,240,240,240,240,224,192,10,20,40,10,0,252,255,192,255, - 192,255,192,255,192,255,192,255,192,225,192,192,192,128,64,128, - 64,128,64,128,64,192,192,225,192,255,192,255,192,255,192,255, - 192,255,192,255,192,10,20,40,10,0,252,255,192,255,192,255, - 192,255,192,255,192,255,192,225,192,222,192,191,64,191,64,191, - 64,191,64,222,192,225,192,255,192,255,192,255,192,255,192,255, - 192,255,192,10,10,20,10,0,6,255,192,255,192,255,192,255, - 192,255,192,255,192,225,192,222,192,191,64,191,64,10,10,20, - 10,0,252,191,64,191,64,222,192,225,192,255,192,255,192,255, - 192,255,192,255,192,255,192,4,4,4,10,1,5,48,64,128, - 128,4,4,4,10,5,5,192,32,16,16,4,4,4,10,5, - 1,16,16,32,192,4,4,4,10,1,1,128,128,64,48,8, - 4,4,10,1,5,60,66,129,129,8,4,4,10,1,1,129, - 129,66,60,10,19,38,10,0,252,0,64,0,64,0,192,0, - 192,1,192,1,192,3,192,3,192,7,192,7,192,15,192,15, - 192,31,192,31,192,63,192,63,192,127,192,127,192,255,192,10, - 19,38,10,0,252,128,0,128,0,192,0,192,0,224,0,224, - 0,240,0,240,0,248,0,248,0,252,0,252,0,254,0,254, - 0,255,0,255,0,255,128,255,128,255,192,10,19,38,10,0, - 253,255,192,255,128,255,128,255,0,255,0,254,0,254,0,252, - 0,252,0,248,0,248,0,240,0,240,0,224,0,224,0,192, - 0,192,0,128,0,128,0,10,19,38,10,0,253,255,192,127, - 192,127,192,63,192,63,192,31,192,31,192,15,192,15,192,7, - 192,7,192,3,192,3,192,1,192,1,192,0,192,0,192,0, - 64,0,64,5,5,5,10,3,4,112,136,136,136,112,8,8, - 8,10,1,1,255,241,241,241,241,241,241,255,8,8,8,10, - 1,1,255,143,143,143,143,143,143,255,8,8,8,10,1,1, - 255,253,249,241,225,193,129,255,8,8,8,10,1,1,255,129, - 131,135,143,159,191,255,9,9,18,10,0,0,255,128,136,128, - 136,128,136,128,136,128,136,128,136,128,136,128,255,128,8,8, - 8,10,1,2,24,24,36,36,90,90,129,255,8,8,8,10, - 1,2,24,24,52,52,114,114,241,255,8,8,8,10,1,2, - 24,24,44,44,78,78,143,255,10,10,20,10,0,0,30,0, - 33,0,64,128,128,64,128,64,128,64,128,64,64,128,33,0, - 30,0,9,9,18,10,0,0,255,128,136,128,136,128,136,128, - 248,128,128,128,128,128,128,128,255,128,9,9,18,10,0,0, - 255,128,128,128,128,128,128,128,248,128,136,128,136,128,136,128, - 255,128,9,9,18,10,0,0,255,128,128,128,128,128,128,128, - 143,128,136,128,136,128,136,128,255,128,9,9,18,10,0,0, - 255,128,136,128,136,128,136,128,143,128,128,128,128,128,128,128, - 255,128,9,9,18,10,0,0,62,0,73,0,136,128,136,128, - 248,128,128,128,128,128,65,0,62,0,9,9,18,10,0,0, - 62,0,65,0,128,128,128,128,248,128,136,128,136,128,73,0, - 62,0,9,9,18,10,0,0,62,0,65,0,128,128,128,128, - 143,128,136,128,136,128,73,0,62,0,9,9,18,10,0,0, - 62,0,73,0,136,128,136,128,143,128,128,128,128,128,65,0, - 62,0,6,6,6,10,2,2,252,136,144,160,192,128,6,6, - 6,10,2,2,252,68,36,20,12,4,6,6,6,10,2,2, - 128,192,160,144,136,252,6,6,6,10,2,2,252,132,132,132, - 132,252,6,6,6,10,2,2,252,252,252,252,252,252,4,4, - 4,10,3,3,240,144,144,240,4,4,4,10,3,3,240,240, - 240,240,6,6,6,10,2,2,4,12,20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 8, '1' Height: 4 - Calculated Max Values w= 9 h=15 x= 3 y= 4 dx=10 dy= 0 ascent=14 len=30 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =14 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_75r[693] U8G_FONT_SECTION("u8g_font_10x20_75r") = { - 0,10,20,0,252,8,1,219,0,0,32,79,0,14,255,9, - 0,8,8,8,10,1,1,255,255,255,255,255,255,255,255,8, - 8,8,10,1,1,255,129,129,129,129,129,129,255,8,8,8, - 10,1,1,126,129,129,129,129,129,129,126,8,8,8,10,1, - 1,255,129,189,189,189,189,129,255,9,9,18,10,0,0,255, - 128,128,128,255,128,128,128,255,128,128,128,255,128,128,128,255, - 128,9,9,18,10,0,0,255,128,170,128,170,128,170,128,170, - 128,170,128,170,128,170,128,255,128,9,9,18,10,0,0,255, - 128,170,128,255,128,170,128,255,128,170,128,255,128,170,128,255, - 128,8,8,8,10,1,1,255,201,165,147,201,165,147,255,8, - 8,8,10,1,1,255,147,165,201,147,165,201,255,8,8,8, - 10,1,1,255,171,197,171,145,171,197,255,4,4,4,10,3, - 3,240,240,240,240,4,4,4,10,3,3,240,144,144,240,8, - 6,6,10,1,3,255,255,255,255,255,255,8,6,6,10,1, - 3,255,129,129,129,129,255,6,13,13,10,2,0,252,252,252, - 252,252,252,252,252,252,252,252,252,252,6,13,13,10,2,0, - 252,132,132,132,132,132,132,132,132,132,132,132,252,8,4,4, - 10,1,3,31,62,124,248,8,4,4,10,1,3,31,34,68, - 248,8,8,8,10,1,2,24,24,60,60,126,126,255,255,8, - 8,8,10,1,2,24,24,36,36,66,66,129,255,5,5,5, - 10,3,3,32,112,112,248,248,5,5,5,10,3,3,32,80, - 80,136,248,8,8,8,10,1,2,192,240,252,255,255,252,240, - 192,8,8,8,10,1,2,192,176,140,131,131,140,176,192,5, - 5,5,10,3,3,192,240,248,240,192,5,5,5,10,3,3, - 192,176,136,176,192,8,5,5,10,1,4,224,252,255,252,224, - 8,5,5,10,1,4,224,156,131,156,224,8,8,8,10,1, - 2,255,255,126,126,60,60,24,24,8,8,8,10,1,2,255, - 129,66,66,36,36,24,24,5,5,5,10,3,3,248,248,112, - 112,32,5,5,5,10,3,3,248,136,80,80,32,8,8,8, - 10,1,2,3,15,63,255,255,63,15,3,8,8,8,10,1, - 2,3,13,49,193,193,49,13,3,5,5,5,10,3,3,24, - 120,248,120,24,5,5,5,10,3,3,24,104,136,104,24,8, - 5,5,10,1,4,7,63,255,63,7,8,5,5,10,1,4, - 7,57,193,57,7,8,8,8,10,1,2,24,60,126,255,255, - 126,60,24,8,8,8,10,1,2,24,36,66,129,129,66,36, - 24,8,8,8,10,1,2,24,36,90,189,189,90,36,24,8, - 8,8,10,1,1,60,66,153,189,189,153,66,60,9,15,30, - 10,1,255,8,0,20,0,20,0,34,0,34,0,65,0,65, - 0,128,128,65,0,65,0,34,0,34,0,20,0,20,0,8, - 0,8,8,8,10,1,1,60,66,129,129,129,129,66,60,7, - 7,7,10,1,2,40,0,130,0,130,0,40,7,7,7,10, - 1,2,56,108,170,170,170,108,56,8,8,8,10,1,1,60, - 66,153,165,165,153,66,60,8,8,8,10,1,1,60,126,255, - 255,255,255,126,60}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w=10 h=13 x= 4 y= 5 dx=10 dy= 0 ascent=13 len=24 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =13 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[2638] U8G_FONT_SECTION("u8g_font_10x20_78_79") = { - 0,10,20,0,252,9,1,212,2,205,32,255,0,13,0,11, - 0,9,9,18,10,0,0,54,0,28,0,136,128,201,128,119, - 0,201,128,136,128,28,0,54,0,9,9,18,10,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,10,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,10,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,10,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,10,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,10,0,0,8,0,28,0,28,0,127,0,255, - 128,127,0,28,0,28,0,8,0,9,9,18,10,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,10,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,10,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,10,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,127,0,119,0,99,0,255,255,255,255, - 255,8,9,9,10,0,0,24,219,255,126,24,126,255,219,24, - 8,9,9,10,0,0,24,219,255,102,36,102,255,219,24,9, - 9,18,10,0,0,8,0,73,0,42,0,28,0,255,128,28, - 0,42,0,73,0,8,0,9,9,18,10,0,0,8,0,73, - 0,62,0,62,0,255,128,62,0,62,0,73,0,8,0,7, - 7,7,10,1,0,16,146,124,56,124,146,16,9,9,18,10, - 0,0,34,0,20,0,148,128,127,0,28,0,127,0,148,128, - 20,0,34,0,255,255,255,255,9,11,22,10,0,0,28,0, - 28,0,201,128,201,128,62,0,28,0,62,0,201,128,201,128, - 28,0,28,0,9,11,22,10,0,0,28,0,28,0,201,128, - 201,128,62,0,28,0,62,0,201,128,201,128,28,0,28,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 9,8,16,10,0,1,62,0,67,0,129,128,129,128,129,128, - 129,128,67,0,62,0,255,9,9,18,10,0,0,254,0,130, - 0,131,128,131,128,131,128,131,128,255,128,63,128,63,128,9, - 9,18,10,0,0,63,128,63,128,255,128,131,128,131,128,131, - 128,131,128,130,0,254,0,8,8,8,10,0,0,254,131,131, - 131,131,131,255,127,8,8,8,10,0,0,127,255,131,131,131, - 131,131,254,255,255,255,9,9,18,10,0,0,8,0,28,0, - 28,0,107,0,247,128,107,0,28,0,28,0,8,0,255,1, - 10,10,10,4,0,128,128,128,128,128,128,128,128,128,128,2, - 10,10,10,3,0,192,192,192,192,192,192,192,192,192,192,3, - 10,10,10,3,0,224,224,224,224,224,224,224,224,224,224,4, - 6,6,10,3,5,112,128,224,240,240,96,4,6,6,10,3, - 5,96,240,240,112,16,224,9,6,12,10,0,5,115,128,132, - 0,231,0,247,128,247,128,99,0,9,6,12,10,0,5,99, - 0,247,128,247,128,115,128,16,128,231,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,9,9,18,10,0,0,127,0,247,128,231,128,247,128, - 247,128,247,128,247,128,227,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,253,128,251,128,247,128,237,128,193,128, - 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, - 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, - 127,0,243,128,235,128,219,128,193,128,251,128,251,128,241,128, - 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, - 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, - 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, - 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, - 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, - 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, - 127,0,9,9,18,10,0,0,127,0,128,128,136,128,152,128, - 136,128,136,128,156,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,152,128,132,128,132,128,136,128,156,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,152,128,132,128, - 136,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,136,128,152,128,168,128,188,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,156,128,144,128, - 152,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,140,128,144,128,152,128,148,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,156,128,132,128, - 136,128,136,128,136,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,136,128,148,128,136,128,148,128,136,128,128,128, - 127,0,9,9,18,10,0,0,127,0,128,128,136,128,148,128, - 140,128,132,128,136,128,128,128,127,0,9,9,18,10,0,0, - 127,0,128,128,164,128,170,128,170,128,170,128,164,128,128,128, - 127,0,9,9,18,10,0,0,127,0,247,128,231,128,247,128, - 247,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,253,128,251,128,247,128,239,128,193,128, - 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, - 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, - 127,0,243,128,235,128,219,128,193,128,251,128,251,128,251,128, - 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, - 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, - 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, - 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, - 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, - 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, - 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, - 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, - 127,0,7,8,8,10,1,1,48,24,12,254,254,12,24,48, - 255,255,255,7,5,5,10,1,1,224,250,62,14,30,8,7, - 7,10,1,1,8,12,230,255,230,12,8,7,5,5,10,1, - 1,30,14,62,250,224,9,7,14,10,0,0,48,0,28,0, - 31,0,255,128,31,0,28,0,48,0,9,9,18,10,0,0, - 28,0,30,0,15,0,255,128,255,128,255,128,15,0,30,0, - 28,0,9,5,10,10,0,1,2,0,3,0,255,128,3,0, - 2,0,9,7,14,10,0,0,4,0,6,0,255,0,255,128, - 255,0,6,0,4,0,9,5,10,10,0,1,2,0,183,0, - 183,128,183,0,2,0,9,5,10,10,0,1,2,0,171,0, - 171,128,171,0,2,0,9,5,10,10,0,1,2,0,255,0, - 255,128,255,0,2,0,9,8,16,10,0,1,128,0,112,0, - 78,0,33,128,31,128,62,0,112,0,128,0,9,8,16,10, - 0,1,128,0,112,0,62,0,31,128,33,128,78,0,112,0, - 128,0,9,8,16,10,0,1,128,0,112,0,62,0,31,128, - 31,128,62,0,112,0,128,0,9,7,14,10,0,0,132,0, - 134,0,255,0,255,128,127,0,6,0,4,0,9,7,14,10, - 0,0,4,0,6,0,127,0,255,128,255,0,134,0,132,0, - 6,9,9,10,2,0,16,16,248,248,252,248,248,16,16,8, - 9,9,10,0,1,4,4,254,254,255,254,254,4,4,9,9, - 18,10,0,0,24,0,28,0,22,0,243,0,129,128,243,0, - 22,0,28,0,24,0,9,9,18,10,0,0,24,0,28,0, - 26,0,249,0,192,128,249,0,26,0,28,0,24,0,9,9, - 18,10,0,0,0,128,1,128,62,128,64,128,129,128,243,0, - 238,0,60,0,56,0,9,9,18,10,0,0,56,0,60,0, - 238,0,243,0,129,128,64,128,62,128,1,128,0,128,8,9, - 9,10,0,1,16,24,20,242,129,243,118,28,24,8,9,9, - 10,0,1,24,28,118,243,129,242,20,24,16,9,8,16,10, - 0,1,4,0,250,0,129,0,64,128,129,128,251,0,6,0, - 4,0,255,9,8,16,10,0,2,4,0,6,0,251,0,129, - 128,64,128,129,0,250,0,4,0,9,9,18,10,0,1,28, - 0,127,0,251,128,1,128,0,128,1,128,251,128,127,0,28, - 0,9,5,10,10,0,3,210,0,43,0,127,128,43,0,210, - 0,9,9,18,10,0,0,16,0,56,0,92,0,236,0,116, - 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, - 0,123,0,7,128,123,0,242,0,9,9,18,10,0,0,3, - 128,1,128,2,128,60,0,116,0,236,0,92,0,56,0,16, - 0,9,9,18,10,0,0,16,0,24,0,28,0,252,0,124, - 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, - 0,123,0,127,128,123,0,242,0,9,9,18,10,0,0,3, - 128,1,128,2,128,60,0,124,0,252,0,28,0,24,0,16, - 0,255,255,255,255,9,7,14,10,0,1,20,0,10,0,253, - 0,0,128,253,0,10,0,20,0,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,9, - 12,24,10,0,0,224,128,49,128,49,128,42,128,42,128,36, - 128,36,128,42,128,42,128,49,128,49,128,224,128,9,12,24, - 10,0,0,131,128,198,0,198,0,170,0,170,0,146,0,146, - 0,170,0,170,0,198,0,198,0,131,128,9,12,24,10,0, - 0,193,128,99,0,99,0,85,0,85,0,73,0,73,0,85, - 0,85,0,99,0,99,0,193,128,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,8,13,13,10,1,0,255,216,216, - 216,216,216,216,216,216,216,216,216,255,8,13,13,10,1,0, - 255,27,27,27,27,27,27,27,27,27,27,27,255,4,13,13, - 10,4,0,16,48,32,96,64,192,128,192,64,96,32,48,16, - 4,13,13,10,4,0,128,192,64,96,32,48,16,48,32,96, - 64,192,128,7,13,13,10,1,0,18,54,36,108,72,216,144, - 216,72,108,36,54,18,7,13,13,10,2,0,144,216,72,108, - 36,54,18,54,36,108,72,216,144,255,255,255,255,255,255,255, - 255,255,10,8,16,10,0,2,24,0,48,0,96,0,255,192, - 255,192,96,0,48,0,24,0,10,8,16,10,0,2,6,0, - 3,0,1,128,255,192,255,192,1,128,3,0,6,0,10,8, - 16,10,0,2,18,0,51,0,97,128,255,192,255,192,97,128, - 51,0,18,0,10,9,18,10,0,2,12,0,24,0,63,192, - 127,192,192,0,127,192,63,192,24,0,12,0,10,9,18,10, - 0,2,12,0,6,0,255,0,255,128,0,192,255,128,255,0, - 6,0,12,0,10,9,18,10,0,2,18,0,51,0,127,128, - 255,192,128,192,255,192,127,128,51,0,18,0,10,8,16,10, - 0,2,24,192,48,192,96,192,255,192,255,192,96,192,48,192, - 24,192,10,8,16,10,0,2,198,0,195,0,193,128,255,192, - 255,192,193,128,195,0,198,0,10,9,18,10,0,2,12,64, - 24,64,63,192,127,192,192,64,127,192,63,192,24,64,12,64, - 10,9,18,10,0,2,140,0,134,0,255,0,255,128,128,192, - 255,128,255,0,134,0,140,0,10,8,16,10,0,2,6,0, - 3,0,171,128,170,192,85,192,85,128,3,0,6,0}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w= 9 h=17 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20[3453] U8G_FONT_SECTION("u8g_font_10x20") = { - 0,10,20,0,252,13,2,74,4,153,32,255,252,16,252,13, - 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, - 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, - 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, - 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, - 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, - 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, - 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, - 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, - 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, - 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, - 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, - 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, - 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, - 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, - 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, - 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, - 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, - 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, - 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, - 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, - 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, - 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, - 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, - 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, - 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, - 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, - 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, - 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, - 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, - 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, - 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, - 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, - 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, - 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, - 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, - 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, - 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, - 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, - 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, - 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, - 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, - 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, - 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, - 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, - 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, - 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, - 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, - 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, - 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, - 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, - 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, - 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, - 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, - 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, - 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, - 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, - 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, - 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, - 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, - 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, - 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, - 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, - 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, - 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, - 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, - 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, - 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, - 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, - 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, - 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, - 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, - 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, - 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, - 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, - 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, - 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, - 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, - 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, - 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, - 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, - 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, - 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, - 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, - 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, - 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, - 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, - 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, - 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, - 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, - 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, - 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, - 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, - 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, - 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, - 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, - 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, - 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, - 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, - 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, - 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, - 219,206,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,10,0,16,2,13,13,10,4,0,192, - 192,0,192,192,192,192,192,192,192,192,192,192,7,12,12,10, - 1,0,24,24,60,102,194,192,192,194,102,60,24,24,9,12, - 24,10,1,0,30,0,51,0,51,0,48,0,48,0,252,0, - 48,0,48,0,48,0,248,0,173,128,231,0,9,9,18,10, - 0,1,128,128,221,128,127,0,99,0,99,0,99,0,127,0, - 221,128,128,128,8,11,11,10,1,0,129,195,102,60,126,24, - 126,24,24,24,24,2,13,13,10,4,0,192,192,192,192,192, - 0,0,0,192,192,192,192,192,8,13,13,10,1,0,60,102, - 198,96,120,204,102,51,30,6,99,102,60,6,2,2,10,2, - 11,204,204,8,11,11,10,1,0,60,102,195,189,165,161,165, - 189,195,102,60,8,9,9,10,1,4,62,67,3,127,195,195, - 125,0,255,9,11,22,10,0,0,4,128,13,128,27,0,54, - 0,108,0,216,0,108,0,54,0,27,0,13,128,4,128,8, - 4,4,10,1,4,255,255,3,3,6,1,1,10,2,6,252, - 8,11,11,10,1,0,60,102,195,189,165,189,169,173,195,102, - 60,8,1,1,10,1,13,255,6,6,6,10,2,7,48,120, - 204,204,120,48,8,7,7,10,1,2,24,24,255,24,24,0, - 255,5,7,7,10,2,6,112,216,24,48,96,192,248,5,7, - 7,10,2,6,112,216,24,48,24,216,112,4,3,3,10,3, - 10,48,96,192,7,10,10,10,1,253,198,198,198,198,198,238, - 250,192,192,192,8,13,13,10,1,0,127,255,251,251,251,123, - 27,27,27,27,27,27,27,3,3,3,10,4,5,224,224,224, - 5,4,4,10,2,252,48,24,216,112,4,7,7,10,2,6, - 96,224,96,96,96,96,240,7,9,9,10,1,4,56,108,198, - 198,198,108,56,0,254,9,11,22,10,1,0,144,0,216,0, - 108,0,54,0,27,0,13,128,27,0,54,0,108,0,216,0, - 144,0,8,12,12,10,1,1,64,192,65,66,228,8,18,38, - 74,158,2,2,8,12,12,10,1,1,64,192,65,66,228,8, - 22,41,65,130,4,15,8,12,12,10,1,1,224,16,97,18, - 228,8,18,38,74,159,2,2,8,13,13,10,1,0,24,24, - 0,24,24,24,48,96,195,195,195,102,60,8,15,15,10,1, - 0,96,48,24,0,24,60,102,195,195,195,255,195,195,195,195, - 8,15,15,10,1,0,6,12,24,0,24,60,102,195,195,195, - 255,195,195,195,195,8,15,15,10,1,0,24,60,102,0,24, - 60,102,195,195,195,255,195,195,195,195,8,15,15,10,1,0, - 50,126,76,0,24,60,102,195,195,195,255,195,195,195,195,8, - 15,15,10,1,0,102,102,0,24,60,102,102,195,195,195,255, - 195,195,195,195,8,16,16,10,1,0,60,102,102,60,0,24, - 60,102,195,195,195,255,195,195,195,195,8,13,13,10,1,0, - 31,60,108,108,204,204,255,204,204,204,204,204,207,8,17,17, - 10,1,252,60,102,195,192,192,192,192,192,192,192,195,102,60, - 24,12,108,56,8,15,15,10,1,0,96,48,24,0,255,192, - 192,192,192,252,192,192,192,192,255,8,15,15,10,1,0,12, - 24,48,0,255,192,192,192,192,252,192,192,192,192,255,8,15, - 15,10,1,0,24,60,102,0,255,192,192,192,192,252,192,192, - 192,192,255,8,15,15,10,1,0,102,102,0,0,255,192,192, - 192,192,252,192,192,192,192,255,6,15,15,10,2,0,96,48, - 24,0,252,48,48,48,48,48,48,48,48,48,252,6,15,15, - 10,2,0,24,48,96,0,252,48,48,48,48,48,48,48,48, - 48,252,6,15,15,10,2,0,48,120,204,0,252,48,48,48, - 48,48,48,48,48,48,252,6,15,15,10,2,0,204,204,0, - 252,48,48,48,48,48,48,48,48,48,48,252,9,13,26,10, - 0,0,126,0,99,0,97,128,97,128,97,128,97,128,249,128, - 97,128,97,128,97,128,97,128,99,0,126,0,8,15,15,10, - 1,0,50,126,76,0,195,227,243,243,219,219,207,207,199,195, - 195,8,15,15,10,1,0,48,24,12,0,60,102,195,195,195, - 195,195,195,195,102,60,8,15,15,10,1,0,12,24,48,0, - 60,102,195,195,195,195,195,195,195,102,60,8,15,15,10,1, - 0,24,60,102,0,60,102,195,195,195,195,195,195,195,102,60, - 8,15,15,10,1,0,50,126,76,0,60,102,195,195,195,195, - 195,195,195,102,60,8,15,15,10,1,0,102,102,0,60,102, - 195,195,195,195,195,195,195,195,102,60,7,8,8,10,1,0, - 130,198,108,56,56,108,198,130,8,15,15,10,1,255,1,62, - 102,199,199,203,203,203,211,211,211,227,102,124,128,8,15,15, - 10,1,0,48,24,12,0,195,195,195,195,195,195,195,195,195, - 102,60,8,15,15,10,1,0,12,24,48,0,195,195,195,195, - 195,195,195,195,195,102,60,8,15,15,10,1,0,24,60,102, - 0,195,195,195,195,195,195,195,195,195,102,60,8,15,15,10, - 1,0,102,102,0,195,195,195,195,195,195,195,195,195,195,102, - 60,8,15,15,10,1,0,12,24,48,0,195,195,102,102,60, - 60,24,24,24,24,24,7,13,13,10,2,0,192,192,192,252, - 198,198,198,198,198,252,192,192,192,8,13,13,10,1,0,28, - 54,99,99,102,236,108,102,99,99,99,102,108,8,12,12,10, - 1,0,48,24,12,0,126,195,3,127,195,195,195,125,8,12, - 12,10,1,0,12,24,48,0,126,195,3,127,195,195,195,125, - 8,12,12,10,1,0,24,60,102,0,126,195,3,127,195,195, - 195,125,8,12,12,10,1,0,50,126,76,0,126,195,3,127, - 195,195,195,125,8,11,11,10,1,0,102,102,0,126,195,3, - 127,195,195,195,125,8,13,13,10,1,0,60,102,102,60,0, - 126,195,3,127,195,195,195,125,8,8,8,10,1,0,118,155, - 27,30,120,216,217,110,8,12,12,10,1,252,62,99,192,192, - 192,192,99,62,24,12,108,56,8,12,12,10,1,0,96,48, - 24,0,60,102,195,255,192,192,99,62,8,12,12,10,1,0, - 6,12,24,0,60,102,195,255,192,192,99,62,8,12,12,10, - 1,0,24,60,102,0,60,102,195,255,192,192,99,62,8,11, - 11,10,1,0,102,102,0,60,102,195,255,192,192,99,62,8, - 12,12,10,1,0,96,48,24,0,120,24,24,24,24,24,24, - 255,8,12,12,10,1,0,12,24,48,0,120,24,24,24,24, - 24,24,255,8,12,12,10,1,0,24,60,102,0,120,24,24, - 24,24,24,24,255,8,11,11,10,1,0,102,102,0,120,24, - 24,24,24,24,24,255,8,13,13,10,1,0,136,216,112,112, - 216,140,62,103,195,195,195,102,60,8,12,12,10,1,0,50, - 126,76,0,220,230,195,195,195,195,195,195,8,12,12,10,1, - 0,96,48,24,0,60,102,195,195,195,195,102,60,8,12,12, - 10,1,0,6,12,24,0,60,102,195,195,195,195,102,60,8, - 12,12,10,1,0,24,60,102,0,60,102,195,195,195,195,102, - 60,8,12,12,10,1,0,50,126,76,0,60,102,195,195,195, - 195,102,60,8,11,11,10,1,0,102,102,0,60,102,195,195, - 195,195,102,60,8,10,10,10,1,1,24,24,0,0,255,255, - 0,0,24,24,8,10,10,10,1,255,1,62,102,203,203,211, - 211,102,124,128,8,12,12,10,1,0,48,24,12,0,195,195, - 195,195,195,195,103,59,8,12,12,10,1,0,6,12,24,0, - 195,195,195,195,195,195,103,59,8,12,12,10,1,0,24,60, - 102,0,195,195,195,195,195,195,103,59,8,11,11,10,1,0, - 102,102,0,195,195,195,195,195,195,103,59,8,16,16,10,1, - 252,12,24,48,0,195,195,195,195,195,195,103,59,3,195,102, - 60,7,17,17,10,2,252,192,192,192,192,192,192,248,204,198, - 198,198,204,248,192,192,192,192,8,15,15,10,1,252,102,102, - 0,195,195,195,195,195,195,103,59,3,195,102,60}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w= 9 h=15 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 - Font Bounding box w=10 h=20 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_10x20r[1667] U8G_FONT_SECTION("u8g_font_10x20r") = { - 0,10,20,0,252,13,2,74,4,153,32,127,252,16,252,13, - 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, - 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, - 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, - 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, - 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, - 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, - 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, - 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, - 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, - 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, - 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, - 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, - 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, - 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, - 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, - 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, - 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, - 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, - 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, - 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, - 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, - 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, - 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, - 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, - 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, - 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, - 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, - 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, - 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, - 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, - 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, - 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, - 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, - 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, - 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, - 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, - 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, - 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, - 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, - 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, - 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, - 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, - 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, - 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, - 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, - 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, - 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, - 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, - 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, - 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, - 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, - 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, - 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, - 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, - 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, - 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, - 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, - 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, - 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, - 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, - 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, - 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, - 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, - 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, - 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, - 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, - 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, - 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, - 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, - 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, - 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, - 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, - 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, - 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, - 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, - 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, - 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, - 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, - 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, - 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, - 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, - 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, - 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, - 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, - 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, - 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, - 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, - 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, - 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, - 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, - 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, - 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, - 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, - 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, - 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, - 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, - 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, - 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, - 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, - 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, - 219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 4 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_4x6[1500] U8G_FONT_SECTION("u8g_font_4x6") = { - 1,4,6,0,255,5,1,3,1,250,32,255,255,5,255,5, - 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, - 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, - 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, - 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, - 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, - 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, - 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, - 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, - 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, - 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, - 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, - 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, - 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, - 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, - 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, - 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, - 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, - 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, - 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, - 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, - 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, - 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, - 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, - 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, - 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, - 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, - 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, - 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, - 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, - 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, - 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, - 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, - 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, - 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, - 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, - 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, - 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, - 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, - 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, - 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, - 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, - 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, - 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, - 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, - 54,70,128,64,96,64,64,128,5,66,66,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,7,0, - 64,18,21,69,128,0,128,128,128,2,53,69,64,224,128,224, - 64,2,53,69,32,64,96,64,160,2,68,68,144,96,96,144, - 2,53,69,160,64,224,64,64,18,21,69,128,128,0,128,128, - 1,54,70,96,192,160,96,32,192,6,49,65,160,1,70,70, - 96,144,208,208,144,96,2,53,69,96,160,96,0,224,3,67, - 67,80,160,80,3,50,66,224,32,4,49,65,224,3,68,68, - 96,240,208,96,6,49,65,224,4,51,67,64,160,64,2,53, - 69,64,224,64,0,224,3,36,68,192,64,128,192,2,37,69, - 192,64,128,64,128,21,34,66,64,128,1,53,69,160,160,160, - 192,128,2,69,69,112,208,208,80,80,20,17,65,128,18,34, - 66,64,128,3,36,68,64,192,64,64,2,53,69,64,160,64, - 0,224,3,67,67,160,80,160,1,70,70,128,128,128,80,112, - 16,1,70,70,128,128,176,16,32,48,1,70,70,192,64,128, - 80,176,16,2,53,69,64,0,64,128,96,2,53,69,128,64, - 160,224,160,2,53,69,32,64,160,224,160,2,53,69,192,64, - 160,224,160,2,53,69,96,192,160,224,160,2,53,69,160,64, - 160,224,160,2,53,69,64,64,160,224,160,2,69,69,112,160, - 240,160,176,1,54,70,64,160,128,160,64,128,2,53,69,128, - 224,192,128,224,2,53,69,32,224,192,128,224,2,53,69,96, - 224,192,128,224,2,53,69,160,224,192,128,224,2,53,69,128, - 224,64,64,224,2,53,69,32,224,64,64,224,2,53,69,64, - 224,64,64,224,2,53,69,160,64,64,64,224,2,69,69,224, - 80,208,80,224,2,69,69,80,160,224,224,160,2,53,69,128, - 64,160,160,64,2,53,69,32,64,160,160,64,2,53,69,64, - 64,160,160,64,2,69,69,112,224,160,160,64,2,53,69,160, - 64,160,160,64,3,51,67,160,64,160,2,53,69,96,160,224, - 160,192,2,53,69,128,64,160,160,224,2,53,69,32,64,160, - 160,224,2,53,69,64,0,160,160,224,2,53,69,160,0,160, - 160,224,2,53,69,32,0,160,64,64,2,53,69,128,192,160, - 192,128,1,54,70,64,160,192,160,224,128,2,53,69,128,64, - 96,160,96,2,53,69,32,64,96,160,96,2,53,69,96,0, - 96,160,96,2,69,69,80,160,96,160,96,2,53,69,160,0, - 96,160,96,2,53,69,64,0,96,160,96,2,68,68,112,176, - 160,112,1,53,69,64,160,128,96,64,2,53,69,128,64,160, - 192,96,2,53,69,32,64,160,192,96,2,53,69,192,64,160, - 192,96,2,53,69,160,64,160,192,96,2,53,69,128,64,64, - 64,224,2,53,69,32,192,64,64,224,2,53,69,64,160,64, - 64,224,2,53,69,160,0,192,64,224,2,53,69,160,64,96, - 160,64,2,69,69,80,160,192,160,160,2,53,69,128,64,64, - 160,64,2,53,69,32,64,64,160,64,2,53,69,64,0,64, - 160,64,2,53,69,224,0,64,160,64,2,53,69,160,0,64, - 160,64,2,53,69,64,0,224,0,64,2,52,68,96,160,160, - 192,2,53,69,128,64,160,160,96,2,53,69,32,64,160,160, - 96,2,53,69,64,0,160,160,96,2,53,69,160,0,160,160, - 96,1,54,70,32,64,160,224,32,192,1,54,70,128,128,192, - 160,192,128,1,54,70,160,0,160,224,32,192}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 4 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_4x6r[734] U8G_FONT_SECTION("u8g_font_4x6r") = { - 1,4,6,0,255,5,1,3,1,250,32,127,255,5,255,5, - 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, - 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, - 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, - 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, - 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, - 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, - 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, - 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, - 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, - 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, - 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, - 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, - 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, - 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, - 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, - 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, - 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, - 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, - 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, - 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, - 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, - 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, - 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, - 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, - 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, - 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, - 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, - 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, - 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, - 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, - 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, - 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, - 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, - 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, - 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, - 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, - 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, - 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, - 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, - 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, - 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, - 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, - 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, - 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, - 54,70,128,64,96,64,64,128,5,66,66,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x7[1624] U8G_FONT_SECTION("u8g_font_5x7") = { - 1,5,7,0,255,6,1,21,2,39,32,255,255,6,255,6, - 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, - 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, - 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, - 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, - 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, - 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, - 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, - 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, - 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, - 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, - 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, - 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, - 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, - 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, - 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, - 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, - 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, - 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, - 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, - 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, - 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, - 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, - 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, - 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, - 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, - 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, - 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, - 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, - 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, - 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, - 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, - 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, - 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, - 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, - 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, - 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, - 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, - 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, - 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, - 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, - 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, - 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, - 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, - 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, - 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, - 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, - 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, - 66,82,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,8,0,80,34,22,86,128,0,128,128,128, - 128,1,70,86,32,112,160,160,112,32,2,69,85,48,64,224, - 64,176,2,85,85,136,112,80,112,136,18,54,86,160,160,64, - 224,64,64,34,21,85,128,128,0,128,128,17,55,87,96,128, - 192,160,96,32,192,23,49,81,160,1,87,87,112,136,168,200, - 168,136,112,5,51,83,96,160,96,3,83,83,72,144,72,3, - 66,82,240,16,20,49,81,224,1,87,87,112,136,232,200,200, - 136,112,7,65,81,240,21,51,83,64,160,64,2,86,86,32, - 32,248,32,32,248,20,36,84,192,64,128,192,20,36,84,192, - 192,64,192,22,34,82,64,128,1,69,85,144,144,144,224,128, - 2,70,86,112,208,208,80,80,80,20,34,82,192,192,17,34, - 82,64,128,20,52,84,64,192,64,224,5,51,83,64,160,64, - 3,83,83,144,72,144,1,71,87,128,128,128,144,48,112,16, - 1,71,87,128,128,128,176,16,32,48,1,71,87,192,192,64, - 208,48,112,16,18,54,86,64,0,64,128,160,64,2,70,86, - 96,144,144,240,144,144,2,70,86,96,144,144,240,144,144,2, - 70,86,96,144,144,240,144,144,2,70,86,96,144,144,240,144, - 144,2,70,86,144,96,144,240,144,144,2,70,86,96,96,144, - 240,144,144,2,70,86,112,160,176,224,160,176,1,71,87,96, - 144,128,128,144,96,64,2,70,86,240,128,224,128,128,240,2, - 70,86,240,128,224,128,128,240,2,70,86,240,128,224,128,128, - 240,2,70,86,240,128,224,128,128,240,18,54,86,224,64,64, - 64,64,224,18,54,86,224,64,64,64,64,224,18,54,86,224, - 64,64,64,64,224,18,54,86,224,64,64,64,64,224,2,70, - 86,224,80,208,80,80,224,2,70,86,176,144,208,176,176,144, - 2,70,86,96,144,144,144,144,96,2,70,86,96,144,144,144, - 144,96,2,70,86,96,144,144,144,144,96,2,70,86,96,144, - 144,144,144,96,2,70,86,144,96,144,144,144,96,2,68,84, - 144,96,96,144,2,70,86,112,176,176,208,208,224,2,70,86, - 144,144,144,144,144,96,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,144,96,2,70,86,144,0,144,144,144, - 96,18,54,86,160,160,160,64,64,64,2,70,86,128,224,144, - 224,128,128,2,70,86,96,144,160,144,144,160,2,70,86,64, - 32,112,144,176,80,2,70,86,32,64,112,144,176,80,2,70, - 86,32,80,112,144,176,80,2,70,86,80,160,112,144,176,80, - 2,70,86,80,0,112,144,176,80,2,70,86,96,96,112,144, - 176,80,2,68,84,112,176,160,112,17,53,85,96,128,128,96, - 64,2,70,86,64,32,96,176,192,96,2,70,86,32,64,96, - 176,192,96,2,70,86,64,160,96,176,192,96,2,70,86,160, - 0,96,176,192,96,18,54,86,128,64,192,64,64,224,18,54, - 86,64,128,192,64,64,224,18,54,86,64,160,192,64,64,224, - 18,54,86,160,0,192,64,64,224,2,70,86,64,48,96,144, - 144,96,2,70,86,80,160,224,144,144,144,2,70,86,64,32, - 96,144,144,96,2,70,86,32,64,96,144,144,96,2,70,86, - 96,0,96,144,144,96,2,70,86,80,160,96,144,144,96,2, - 70,86,80,0,96,144,144,96,2,69,85,96,0,240,0,96, - 2,68,84,112,176,208,224,2,70,86,64,32,144,144,144,112, - 2,70,86,32,64,144,144,144,112,2,70,86,96,0,144,144, - 144,112,2,70,86,80,0,144,144,144,112,1,71,87,32,64, - 144,144,80,32,64,1,70,86,128,224,144,144,224,128,1,71, - 87,80,0,144,144,80,32,64}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 7 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x7r[789] U8G_FONT_SECTION("u8g_font_5x7r") = { - 1,5,7,0,255,6,1,21,2,39,32,127,255,6,255,6, - 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, - 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, - 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, - 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, - 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, - 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, - 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, - 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, - 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, - 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, - 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, - 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, - 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, - 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, - 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, - 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, - 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, - 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, - 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, - 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, - 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, - 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, - 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, - 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, - 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, - 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, - 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, - 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, - 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, - 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, - 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, - 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, - 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, - 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, - 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, - 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, - 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, - 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, - 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, - 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, - 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, - 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, - 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, - 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, - 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, - 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, - 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, - 66,82,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 - Font Bounding box w= 5 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x8[1693] U8G_FONT_SECTION("u8g_font_5x8") = { - 1,5,8,0,255,6,1,33,2,53,32,255,255,7,255,6, - 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, - 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, - 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, - 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, - 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, - 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, - 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, - 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, - 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, - 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, - 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, - 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, - 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, - 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, - 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, - 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, - 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, - 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, - 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, - 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, - 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, - 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, - 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, - 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, - 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, - 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, - 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, - 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, - 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, - 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, - 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, - 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, - 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, - 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, - 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, - 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, - 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, - 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, - 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, - 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, - 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, - 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, - 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, - 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, - 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, - 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, - 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, - 66,82,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,9,0,80,34,22,86,128,0,128,128,128, - 128,1,70,86,32,112,160,160,112,32,2,70,86,32,80,224, - 64,80,160,2,85,85,136,112,80,112,136,2,86,86,136,80, - 248,32,248,32,34,23,87,128,128,128,0,128,128,128,2,71, - 87,112,128,224,144,112,16,224,23,49,81,160,2,86,86,112, - 168,200,200,168,112,20,53,85,96,160,96,0,224,3,67,83, - 80,160,80,18,51,83,224,32,32,20,49,81,224,2,86,86, - 112,232,216,232,216,112,23,49,81,224,21,51,83,64,160,64, - 18,53,85,64,224,64,0,224,20,53,85,64,160,32,64,224, - 20,53,85,192,32,192,32,192,22,34,82,64,128,1,69,85, - 144,144,144,224,128,2,86,86,120,232,232,104,40,40,36,17, - 81,128,17,34,82,64,128,20,53,85,64,192,64,64,224,20, - 53,85,64,160,64,0,224,3,67,83,160,80,160,2,71,87, - 128,128,128,160,96,240,32,2,71,87,128,128,160,208,16,32, - 112,2,71,87,128,64,128,96,160,240,32,18,54,86,64,0, - 64,128,160,64,2,71,87,64,32,96,144,240,144,144,2,71, - 87,32,64,96,144,240,144,144,2,71,87,96,144,96,144,240, - 144,144,2,71,87,80,160,96,144,240,144,144,2,71,87,144, - 0,96,144,240,144,144,2,71,87,96,144,96,144,240,144,144, - 2,70,86,112,160,160,240,160,176,1,71,87,96,144,128,128, - 144,96,64,2,71,87,64,32,240,128,224,128,240,2,71,87, - 32,64,240,128,224,128,240,2,71,87,96,144,240,128,224,128, - 240,2,71,87,144,0,240,128,224,128,240,18,55,87,128,64, - 224,64,64,64,224,18,55,87,32,64,224,64,64,64,224,18, - 55,87,64,160,224,64,64,64,224,18,55,87,160,0,224,64, - 64,64,224,2,86,86,112,72,232,72,72,112,2,71,87,80, - 160,144,208,176,144,144,2,71,87,64,32,96,144,144,144,96, - 2,71,87,32,64,96,144,144,144,96,2,71,87,96,144,96, - 144,144,144,96,2,71,87,80,160,96,144,144,144,96,2,71, - 87,144,0,96,144,144,144,96,18,51,83,160,64,160,2,70, - 86,112,176,176,208,208,224,2,71,87,64,32,144,144,144,144, - 96,2,71,87,32,64,144,144,144,144,96,2,71,87,96,144, - 144,144,144,144,96,2,71,87,144,0,144,144,144,144,96,2, - 87,87,16,32,136,80,32,32,32,2,70,86,128,224,144,144, - 224,128,2,70,86,96,144,160,160,144,160,2,71,87,64,32, - 0,112,144,144,112,2,71,87,32,64,0,112,144,144,112,2, - 71,87,32,80,0,112,144,144,112,2,71,87,80,160,0,112, - 144,144,112,2,70,86,80,0,112,144,144,112,2,71,87,96, - 144,96,112,144,144,112,2,84,84,240,104,176,120,17,53,85, - 96,128,128,96,64,2,71,87,64,32,0,96,176,192,96,2, - 71,87,32,64,0,96,176,192,96,2,71,87,96,144,0,96, - 176,192,96,2,70,86,80,0,96,176,192,96,18,55,87,128, - 64,0,192,64,64,224,18,55,87,32,64,0,192,64,64,224, - 18,55,87,64,160,0,192,64,64,224,18,54,86,160,0,192, - 64,64,224,2,71,87,160,64,160,16,112,144,96,2,71,87, - 80,160,0,224,144,144,144,2,71,87,64,32,0,96,144,144, - 96,2,71,87,32,64,0,96,144,144,96,2,71,87,96,144, - 0,96,144,144,96,2,71,87,80,160,0,96,144,144,96,2, - 70,86,144,0,96,144,144,96,18,53,85,64,0,224,0,64, - 2,68,84,112,176,208,224,2,71,87,64,32,0,144,144,144, - 112,2,71,87,32,64,0,144,144,144,112,2,71,87,96,144, - 0,144,144,144,112,2,70,86,144,0,144,144,144,112,1,72, - 88,32,64,0,144,144,112,144,96,1,71,87,128,128,224,144, - 224,128,128,1,71,87,144,0,144,144,112,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 - Font Bounding box w= 5 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-1 - X Font ascent = 6 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_5x8r[805] U8G_FONT_SECTION("u8g_font_5x8r") = { - 1,5,8,0,255,6,1,33,2,53,32,127,255,7,255,6, - 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, - 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, - 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, - 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, - 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, - 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, - 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, - 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, - 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, - 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, - 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, - 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, - 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, - 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, - 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, - 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, - 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, - 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, - 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, - 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, - 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, - 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, - 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, - 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, - 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, - 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, - 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, - 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, - 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, - 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, - 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, - 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, - 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, - 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, - 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, - 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, - 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, - 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, - 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, - 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, - 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, - 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, - 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, - 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, - 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, - 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, - 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, - 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, - 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, - 66,82,80,160,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 6 h=10 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 "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x10[1866] U8G_FONT_SECTION("u8g_font_6x10") = { - 1,6,10,0,254,7,1,54,2,104,32,255,254,8,254,7, - 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, - 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, - 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, - 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, - 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, - 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, - 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, - 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, - 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, - 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, - 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, - 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, - 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, - 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, - 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, - 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, - 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, - 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, - 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, - 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, - 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, - 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, - 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, - 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, - 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, - 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, - 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, - 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, - 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, - 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, - 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, - 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, - 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, - 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, - 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, - 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, - 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, - 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, - 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, - 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, - 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, - 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, - 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, - 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, - 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, - 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, - 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, - 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, - 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, - 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, - 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, - 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, - 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, - 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, - 32,192,6,83,99,72,168,144,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,10,0,96,34,23,103,128, - 0,128,128,128,128,128,1,87,103,32,120,160,160,160,120,32, - 2,87,103,48,72,64,224,64,72,176,2,85,101,136,112,80, - 112,136,1,88,104,136,136,80,32,248,32,32,32,34,23,103, - 128,128,128,0,128,128,128,1,88,104,112,128,224,144,72,56, - 8,112,25,49,97,160,2,87,103,112,136,168,200,168,136,112, - 19,70,102,112,144,176,80,0,240,2,101,101,36,72,144,72, - 36,20,66,98,240,16,21,65,97,240,2,87,103,112,136,232, - 200,200,136,112,9,81,97,248,22,51,99,64,160,64,2,86, - 102,32,32,248,32,32,248,21,69,101,96,144,32,64,240,21, - 69,101,224,16,96,16,224,40,34,98,64,128,1,86,102,136, - 136,136,200,176,128,2,87,103,120,232,232,104,40,40,40,37, - 17,97,128,32,34,98,64,128,21,53,101,64,192,64,64,224, - 19,70,102,96,144,144,96,0,240,2,101,101,144,72,36,72, - 144,1,105,105,64,192,64,64,228,12,20,60,4,1,105,105, - 64,192,64,64,232,20,4,8,28,1,89,105,192,32,64,32, - 200,24,40,120,8,2,87,103,32,0,32,32,64,136,112,2, - 88,104,64,32,112,136,136,248,136,136,2,88,104,16,32,112, - 136,136,248,136,136,2,88,104,32,80,112,136,136,248,136,136, - 2,88,104,72,176,112,136,136,248,136,136,2,88,104,80,0, - 112,136,136,248,136,136,2,88,104,32,80,112,136,136,248,136, - 136,2,103,103,60,80,144,156,240,144,156,0,89,105,112,136, - 128,128,128,136,112,32,64,2,88,104,64,248,128,128,240,128, - 128,248,2,88,104,16,248,128,128,240,128,128,248,2,88,104, - 32,248,128,128,240,128,128,248,2,88,104,80,248,128,128,240, - 128,128,248,18,56,104,128,64,224,64,64,64,64,224,18,56, - 104,32,64,224,64,64,64,64,224,18,56,104,64,160,224,64, - 64,64,64,224,18,56,104,160,0,224,64,64,64,64,224,2, - 87,103,240,72,72,232,72,72,240,2,88,104,40,80,136,200, - 168,152,136,136,2,88,104,64,32,112,136,136,136,136,112,2, - 88,104,16,32,112,136,136,136,136,112,2,88,104,32,80,112, - 136,136,136,136,112,2,88,104,40,80,112,136,136,136,136,112, - 2,88,104,80,0,112,136,136,136,136,112,2,85,101,136,80, - 32,80,136,2,87,103,112,152,152,168,200,200,112,2,88,104, - 64,32,136,136,136,136,136,112,2,88,104,16,32,136,136,136, - 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,88, - 104,80,0,136,136,136,136,136,112,2,88,104,16,32,136,136, - 80,32,32,32,2,87,103,128,240,136,240,128,128,128,2,87, - 103,112,136,144,160,144,136,176,2,88,104,64,32,0,112,8, - 120,136,120,2,88,104,16,32,0,112,8,120,136,120,2,88, - 104,32,80,0,112,8,120,136,120,2,88,104,40,80,0,112, - 8,120,136,120,2,87,103,80,0,112,8,120,136,120,2,88, - 104,32,80,32,112,8,120,136,120,2,101,101,120,20,124,144, - 124,0,87,103,112,136,128,136,112,32,64,2,88,104,64,32, - 0,112,136,248,128,112,2,88,104,16,32,0,112,136,248,128, - 112,2,88,104,32,80,0,112,136,248,128,112,2,87,103,80, - 0,112,136,248,128,112,18,56,104,128,64,0,192,64,64,64, - 224,18,56,104,64,128,0,192,64,64,64,224,18,56,104,64, - 160,0,192,64,64,64,224,18,55,103,160,0,192,64,64,64, - 224,2,87,103,192,48,112,136,136,136,112,2,88,104,40,80, - 0,176,200,136,136,136,2,88,104,64,32,0,112,136,136,136, - 112,2,88,104,16,32,0,112,136,136,136,112,2,88,104,32, - 80,0,112,136,136,136,112,2,88,104,40,80,0,112,136,136, - 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, - 0,248,0,32,2,85,101,120,152,168,200,240,2,88,104,64, - 32,0,136,136,136,152,104,2,88,104,16,32,0,136,136,136, - 152,104,2,88,104,32,80,0,136,136,136,152,104,2,87,103, - 80,0,136,136,136,152,104,0,89,105,16,32,136,136,152,104, - 8,136,112,0,88,104,128,240,136,136,136,240,128,128,0,89, - 105,80,0,136,136,152,104,8,136,112}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 5 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 6 h=10 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 "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x10r[889] U8G_FONT_SECTION("u8g_font_6x10r") = { - 1,6,10,0,254,7,1,54,2,104,32,127,254,8,254,7, - 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, - 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, - 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, - 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, - 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, - 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, - 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, - 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, - 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, - 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, - 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, - 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, - 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, - 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, - 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, - 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, - 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, - 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, - 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, - 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, - 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, - 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, - 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, - 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, - 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, - 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, - 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, - 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, - 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, - 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, - 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, - 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, - 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, - 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, - 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, - 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, - 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, - 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, - 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, - 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, - 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, - 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, - 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, - 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, - 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, - 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, - 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, - 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, - 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, - 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, - 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, - 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, - 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, - 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, - 32,192,6,83,99,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 3, '1' Height: 8 - Calculated Max Values w= 6 h=12 x= 5 y= 8 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[2382] U8G_FONT_SECTION("u8g_font_6x12_67_75") = { - 1,6,12,0,254,3,2,41,3,99,0,255,0,10,254,8, - 0,2,87,103,168,0,136,0,136,0,168,2,87,103,240,136, - 232,168,232,136,240,2,87,103,112,168,248,168,248,168,112,2, - 87,103,112,136,8,8,8,136,112,18,69,101,96,144,16,144, - 96,1,88,104,112,136,128,128,136,120,8,8,2,87,103,32, - 32,32,32,168,112,32,2,103,103,248,252,252,156,252,252,248, - 2,87,103,112,248,248,168,248,248,112,255,255,255,255,255,255, - 255,3,85,101,32,64,248,64,32,2,87,103,32,112,168,32, - 32,32,32,3,85,101,32,16,248,16,32,2,87,103,32,32, - 32,32,168,112,32,4,83,99,80,248,80,2,87,103,32,112, - 168,32,168,112,32,2,89,105,192,240,224,160,32,16,16,8, - 8,2,89,105,24,120,56,40,32,64,64,128,128,2,89,105, - 128,128,64,64,32,40,56,120,24,2,89,105,8,8,16,16, - 32,160,224,240,192,3,101,101,40,72,252,80,48,3,101,101, - 48,40,252,72,80,4,99,99,192,216,100,4,99,99,12,108, - 152,3,101,101,40,80,252,80,40,2,88,104,32,112,168,112, - 168,32,32,32,3,101,101,80,40,252,40,80,2,88,104,32, - 32,32,168,112,168,112,32,3,101,101,36,72,240,72,36,3, - 101,101,144,72,60,72,144,3,85,101,40,72,248,72,40,2, - 87,103,32,112,168,32,32,32,248,3,85,101,160,144,248,144, - 160,2,87,103,248,32,32,32,168,112,32,2,87,103,32,112, - 168,32,168,112,248,3,101,101,40,68,248,64,32,3,101,101, - 80,136,124,8,16,3,101,101,32,76,252,72,40,3,101,101, - 16,200,252,72,80,3,100,100,72,220,236,72,3,101,101,8, - 88,252,104,64,2,87,103,128,144,176,208,144,56,16,2,88, - 104,32,64,248,72,40,8,8,8,2,88,104,32,16,248,144, - 160,128,128,128,2,88,104,8,8,8,40,72,248,64,32,2, - 87,103,128,128,160,144,248,16,32,3,84,100,240,16,56,16, - 3,85,101,8,8,72,248,64,3,85,101,48,72,72,232,72, - 3,85,101,96,144,144,184,16,2,88,104,248,128,224,192,160, - 32,16,16,2,89,105,160,192,248,192,168,24,248,24,40,2, - 86,102,56,48,168,136,136,112,2,86,102,224,96,168,136,136, - 112,5,83,99,32,64,248,3,83,99,248,64,32,34,56,104, - 128,192,160,128,128,128,128,128,2,56,104,32,96,160,32,32, - 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, - 56,104,128,128,128,128,128,160,192,128,2,56,104,32,32,32, - 32,32,160,96,32,2,89,105,32,16,248,16,32,64,248,64, - 32,2,88,104,80,240,80,80,80,80,120,80,2,89,105,32, - 64,248,64,32,16,248,16,32,2,89,105,32,64,248,64,32, - 64,248,64,32,2,88,104,80,248,80,80,80,80,80,80,2, - 89,105,32,16,248,16,32,16,248,16,32,2,88,104,80,80, - 80,80,80,80,248,80,2,87,103,32,64,248,0,248,16,32, - 2,87,103,32,16,248,0,248,64,32,2,103,103,20,40,124, - 144,124,32,80,2,103,103,8,88,252,164,252,104,64,2,103, - 103,160,80,248,36,248,16,40,3,85,101,32,120,128,120,32, - 2,87,103,32,80,216,80,80,80,80,3,85,101,32,240,8, - 240,32,2,87,103,80,80,80,80,216,80,32,3,101,101,72, - 252,132,252,72,2,88,104,32,80,216,80,80,216,80,32,2, - 102,102,248,160,208,168,148,8,2,102,102,124,20,44,84,164, - 64,2,102,102,64,164,84,44,20,124,2,102,102,8,148,168, - 208,160,248,2,103,103,16,60,64,252,64,60,16,2,103,103, - 32,240,8,252,8,240,32,3,100,100,64,232,212,64,3,100, - 100,8,92,172,8,2,88,104,32,112,168,32,112,32,112,32, - 2,88,104,32,112,32,112,32,168,112,32,3,101,101,32,64, - 212,64,32,2,88,104,32,112,136,32,0,32,0,32,3,101, - 101,16,8,172,8,16,2,88,104,32,0,32,0,32,136,112, - 32,3,85,101,160,192,248,192,160,3,85,101,40,24,248,24, - 40,3,85,101,32,120,136,120,32,2,88,104,32,80,216,80, - 80,80,80,112,3,85,101,32,240,136,240,32,2,88,104,112, - 80,80,80,80,216,80,32,2,89,105,32,80,216,80,112,0, - 112,80,112,2,89,105,32,80,216,80,80,80,216,136,248,2, - 89,105,32,80,248,136,80,80,216,136,248,2,89,105,32,112, - 248,112,112,112,248,168,248,2,89,105,32,80,216,80,216,80, - 80,80,112,2,89,105,32,80,216,80,216,80,216,136,248,3, - 85,101,160,240,136,240,160,2,88,104,248,128,176,160,144,16, - 8,8,2,88,104,128,128,64,72,40,104,8,248,2,88,104, - 32,80,216,80,80,216,80,32,3,101,101,16,104,252,104,16, - 2,88,104,80,120,80,80,80,80,240,80,2,89,105,16,248, - 16,16,248,16,16,248,16,3,101,101,40,72,252,72,40,3, - 101,101,80,72,252,72,80,3,101,101,48,120,252,120,48,3, - 101,101,56,88,252,88,56,3,101,101,112,104,252,104,112,3, - 101,101,48,120,252,120,48,3,85,101,32,96,184,96,32,3, - 85,101,32,48,232,48,32,3,101,101,48,120,180,120,48,6, - 102,102,252,252,252,252,252,252,0,98,98,252,252,0,99,99, - 252,252,252,0,101,101,252,252,252,252,252,0,102,102,252,252, - 252,252,252,252,0,104,104,252,252,252,252,252,252,252,252,0, - 105,105,252,252,252,252,252,252,252,252,252,0,107,107,252,252, - 252,252,252,252,252,252,252,252,252,0,108,108,252,252,252,252, - 252,252,252,252,252,252,252,252,0,92,108,248,248,248,248,248, - 248,248,248,248,248,248,248,0,76,108,240,240,240,240,240,240, - 240,240,240,240,240,240,0,76,108,240,240,240,240,240,240,240, - 240,240,240,240,240,0,60,108,224,224,224,224,224,224,224,224, - 224,224,224,224,0,44,108,192,192,192,192,192,192,192,192,192, - 192,192,192,0,44,108,192,192,192,192,192,192,192,192,192,192, - 192,192,0,28,108,128,128,128,128,128,128,128,128,128,128,128, - 128,48,60,108,224,224,224,224,224,224,224,224,224,224,224,224, - 1,107,107,168,0,84,0,168,0,84,0,168,0,84,0,108, - 108,168,84,168,84,168,84,168,84,168,84,168,84,0,108,108, - 84,252,168,252,84,252,168,252,84,252,168,252,10,98,98,252, - 252,80,28,108,128,128,128,128,128,128,128,128,128,128,128,128, - 0,54,102,224,224,224,224,224,224,48,54,102,224,224,224,224, - 224,224,6,54,102,224,224,224,224,224,224,0,108,108,224,224, - 224,224,224,224,252,252,252,252,252,252,0,108,108,224,224,224, - 224,224,224,28,28,28,28,28,28,0,108,108,252,252,252,252, - 252,252,224,224,224,224,224,224,0,108,108,252,252,252,252,252, - 252,28,28,28,28,28,28,54,54,102,224,224,224,224,224,224, - 0,108,108,28,28,28,28,28,28,224,224,224,224,224,224,0, - 108,108,28,28,28,28,28,28,252,252,252,252,252,252,2,85, - 101,248,248,248,248,248,2,85,101,248,136,136,136,248,2,85, - 101,112,136,136,136,112,2,85,101,248,136,168,136,248,2,85, - 101,248,136,248,136,248,2,85,101,248,168,168,168,248,2,85, - 101,248,168,248,168,248,2,85,101,248,200,168,152,248,2,85, - 101,248,152,168,200,248,2,85,101,248,216,168,216,248,20,51, - 99,224,224,224,20,51,99,224,160,224,3,101,101,252,252,252, - 252,252,3,101,101,252,132,132,132,252,17,74,106,240,240,240, - 240,240,240,240,240,240,240,17,74,106,240,144,144,144,144,144, - 144,144,144,240,4,99,99,60,120,240,4,99,99,60,72,240, - 2,87,103,32,32,112,112,248,248,248,2,87,103,32,32,80, - 80,136,136,248,3,85,101,32,32,112,112,248,3,85,101,32, - 32,80,80,248,18,71,103,128,192,224,240,224,192,128,18,71, - 103,128,192,160,144,160,192,128,19,53,101,128,192,224,192,128, - 19,53,101,128,192,160,192,128,3,101,101,192,240,252,240,192, - 3,101,101,192,176,140,176,192,2,87,103,248,248,248,112,112, - 32,32,2,87,103,248,136,136,80,80,32,32,2,85,101,248, - 112,112,32,32,2,85,101,248,80,80,32,32,18,71,103,16, - 48,112,240,112,48,16,18,71,103,16,48,80,144,80,48,16, - 19,53,101,32,96,224,96,32,19,53,101,32,96,160,96,32, - 3,101,101,12,60,252,60,12,3,101,101,12,52,196,52,12, - 3,85,101,32,112,248,112,32,3,85,101,32,80,136,80,32, - 3,85,101,32,80,168,80,32,2,102,102,48,72,180,180,72, - 48,2,87,103,32,80,80,136,80,80,32,2,102,102,48,72, - 132,132,72,48,2,102,102,32,8,128,4,64,16,2,85,101, - 112,168,168,168,112,2,87,103,112,136,168,216,168,136,112,2, - 102,102,48,120,252,252,120,48,2,102,102,48,104,228,228,104, - 48,2,102,102,48,88,156,156,88,48,2,102,102,48,72,132, - 252,120,48,2,102,102,48,120,252,132,72,48,2,102,102,48, - 88,156,132,72,48,2,102,102,48,104,228,132,72,48,18,89, - 105,8,56,120,120,248,120,120,56,8,2,89,105,128,224,240, - 240,248,240,240,224,128,0,108,108,252,252,252,252,204,132,132, - 204,252,252,252,252,0,108,108,252,252,252,204,180,120,120,180, - 204,252,252,252,6,102,102,252,252,252,204,180,120,0,102,102, - 120,180,204,252,252,252,5,51,99,32,64,128,53,51,99,128, - 64,32,50,51,99,32,64,128,2,51,99,128,64,32,5,99, - 99,48,72,132,2,99,99,132,72,48,2,85,101,8,24,56, - 120,248,2,85,101,128,192,224,240,248,2,85,101,248,240,224, - 192,128,2,85,101,248,120,56,24,8,2,85,101,112,136,136, - 136,112,2,85,101,248,232,232,232,248,2,85,101,248,184,184, - 184,248,2,85,101,248,248,232,200,248,2,85,101,248,152,184, - 248,248,2,85,101,248,168,168,168,248,2,87,103,32,32,80, - 112,168,136,248,2,87,103,32,32,112,112,232,232,248,2,87, - 103,32,32,112,112,184,184,248,2,103,103,48,72,132,132,132, - 72,48,2,85,101,248,168,232,136,248,2,85,101,248,136,232, - 168,248,2,85,101,248,136,184,168,248,2,85,101,248,168,184, - 136,248,2,85,101,112,168,232,136,112,2,85,101,112,136,232, - 168,112,2,85,101,112,136,184,168,112,2,85,101,112,168,184, - 136,112,3,85,101,248,144,160,192,128,3,85,101,248,72,40, - 24,8,3,85,101,128,192,160,144,248,20,68,100,240,144,144, - 240,19,68,100,240,240,240,240,20,68,100,240,144,144,240,20, - 68,100,240,240,240,240,3,85,101,8,24,40,72,248}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 3 - Calculated Max Values w= 6 h=10 x= 1 y= 2 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_75r[427] U8G_FONT_SECTION("u8g_font_6x12_75r") = { - 1,6,12,0,254,7,1,41,0,0,32,79,0,9,255,7, - 0,2,85,101,248,248,248,248,248,2,85,101,248,136,136,136, - 248,2,85,101,112,136,136,136,112,2,85,101,248,136,168,136, - 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, - 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, - 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, - 248,20,51,99,224,224,224,20,51,99,224,160,224,3,101,101, - 252,252,252,252,252,3,101,101,252,132,132,132,252,17,74,106, - 240,240,240,240,240,240,240,240,240,240,17,74,106,240,144,144, - 144,144,144,144,144,144,240,4,99,99,60,120,240,4,99,99, - 60,72,240,2,87,103,32,32,112,112,248,248,248,2,87,103, - 32,32,80,80,136,136,248,3,85,101,32,32,112,112,248,3, - 85,101,32,32,80,80,248,18,71,103,128,192,224,240,224,192, - 128,18,71,103,128,192,160,144,160,192,128,19,53,101,128,192, - 224,192,128,19,53,101,128,192,160,192,128,3,101,101,192,240, - 252,240,192,3,101,101,192,176,140,176,192,2,87,103,248,248, - 248,112,112,32,32,2,87,103,248,136,136,80,80,32,32,2, - 85,101,248,112,112,32,32,2,85,101,248,80,80,32,32,18, - 71,103,16,48,112,240,112,48,16,18,71,103,16,48,80,144, - 80,48,16,19,53,101,32,96,224,96,32,19,53,101,32,96, - 160,96,32,3,101,101,12,60,252,60,12,3,101,101,12,52, - 196,52,12,3,85,101,32,112,248,112,32,3,85,101,32,80, - 136,80,32,3,85,101,32,80,168,80,32,2,102,102,48,72, - 180,180,72,48,2,87,103,32,80,80,136,80,80,32,2,102, - 102,48,72,132,132,72,48,2,102,102,32,8,128,4,64,16, - 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, - 136,112,2,102,102,48,120,252,252,120,48}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 6 h=12 x= 2 y= 4 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[2316] U8G_FONT_SECTION("u8g_font_6x12_78_79") = { - 1,6,12,0,254,6,2,80,3,53,0,255,0,10,254,9, - 0,2,87,103,168,0,136,0,136,0,168,3,101,101,144,252, - 32,64,96,3,101,101,196,200,48,200,196,3,101,101,96,64, - 32,252,144,2,103,103,204,148,232,48,232,148,204,255,1,105, - 105,120,132,180,180,164,180,180,132,120,1,105,105,120,132,180, - 132,180,132,204,132,120,3,101,101,32,176,252,176,32,2,101, - 101,252,204,180,132,252,255,255,18,72,104,144,144,80,112,240, - 240,240,112,3,102,102,4,56,124,124,64,128,2,102,102,64, - 224,80,40,20,12,3,99,99,248,140,248,2,102,102,12,20, - 40,80,224,64,3,100,100,248,132,132,248,4,99,99,248,244, - 248,2,87,103,8,8,16,16,160,224,64,2,103,103,12,12, - 28,216,248,112,48,2,85,101,136,80,32,80,136,3,85,101, - 216,248,32,248,216,2,86,102,136,80,32,80,136,128,1,103, - 103,204,204,120,112,252,204,192,1,103,103,120,204,164,244,164, - 204,120,2,102,102,48,48,252,252,48,48,3,85,101,32,32, - 216,32,32,2,102,102,48,48,204,204,48,48,2,87,103,32, - 32,248,32,32,32,32,1,90,106,112,80,216,136,216,80,80, - 80,80,112,2,105,105,120,220,188,220,88,88,88,120,120,2, - 87,103,112,32,168,248,168,32,112,2,87,103,32,248,80,80, - 80,248,32,3,85,101,32,32,248,32,32,3,102,102,48,48, - 252,252,48,48,2,104,104,48,120,48,252,252,48,120,48,2, - 87,103,32,112,168,248,168,112,32,3,85,101,32,112,248,112, - 32,3,85,101,32,112,216,112,32,255,3,85,101,32,216,80, - 32,80,2,87,103,112,216,136,216,168,248,112,3,86,102,32, - 32,248,80,112,136,3,86,102,32,32,216,32,80,136,3,86, - 102,32,32,248,112,112,136,3,86,102,32,32,248,112,112,136, - 3,86,102,32,32,232,48,80,136,2,102,102,48,88,140,88, - 172,88,2,86,102,32,168,112,112,168,32,2,87,103,32,168, - 112,80,112,168,32,2,87,103,32,168,112,248,112,168,32,2, - 87,103,32,168,112,248,112,168,32,2,87,103,32,168,112,248, - 112,168,32,2,86,102,32,168,112,112,168,32,1,88,104,80, - 32,168,112,112,168,32,80,1,88,104,80,32,168,112,112,168, - 32,80,2,103,103,80,248,124,248,124,248,80,2,103,103,80, - 168,116,248,116,168,80,2,86,102,32,168,112,112,168,32,2, - 87,103,32,168,112,80,112,168,32,2,86,102,32,168,112,112, - 168,32,2,103,103,168,216,80,168,116,168,32,3,87,103,32, - 112,248,216,112,248,216,3,87,103,32,112,216,168,80,248,216, - 3,86,102,32,112,216,112,248,32,2,87,103,112,248,168,216, - 168,248,112,2,86,102,32,168,112,112,168,32,2,86,102,32, - 168,112,112,168,32,2,86,102,32,168,112,112,168,32,2,86, - 102,32,168,112,112,168,32,2,87,103,32,168,112,248,112,168, - 32,2,87,103,32,168,112,248,112,168,32,2,87,103,32,168, - 112,248,112,168,32,2,87,103,32,168,112,248,112,168,32,2, - 87,103,32,168,112,248,112,168,32,255,3,101,101,120,140,140, - 140,120,255,2,102,102,248,140,140,140,252,124,2,102,102,124, - 252,140,140,140,248,2,102,102,248,140,140,140,252,124,2,102, - 102,124,252,140,140,140,248,255,255,255,2,103,103,16,56,84, - 236,84,56,16,255,34,23,103,128,128,128,128,128,128,128,18, - 39,103,192,192,192,192,192,192,192,18,71,103,240,240,240,240, - 240,240,240,22,69,101,96,128,224,240,96,22,69,101,96,240, - 112,16,96,6,101,101,72,144,216,252,72,6,101,101,72,252, - 108,36,72,255,255,1,106,106,8,124,200,200,200,120,8,200, - 136,112,2,89,105,112,248,248,112,32,0,32,112,32,2,88, - 104,216,248,112,32,0,32,112,32,2,85,101,216,248,248,112, - 32,2,87,103,96,240,240,120,240,240,96,2,104,104,100,184, - 32,216,248,240,228,120,2,102,102,128,88,120,220,152,64,18, - 56,104,32,64,192,192,192,192,64,32,18,56,104,128,64,96, - 96,96,96,64,128,18,40,104,64,192,192,192,192,192,192,64, - 18,40,104,128,192,192,192,192,192,192,128,17,73,105,48,48, - 96,96,192,96,96,48,48,17,73,105,192,192,96,96,48,96, - 96,192,192,2,87,103,24,48,96,192,96,48,24,2,87,103, - 192,96,48,24,48,96,192,1,89,105,56,56,112,112,224,112, - 112,56,56,1,89,105,224,224,112,112,56,112,112,224,224,17, - 57,105,32,64,128,128,128,128,128,64,32,17,57,105,128,64, - 32,32,32,32,32,64,128,17,73,105,48,96,96,96,192,96, - 96,96,48,17,73,105,192,96,96,96,48,96,96,96,192,2, - 89,105,112,248,216,152,216,216,136,248,112,2,89,105,112,248, - 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, - 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, - 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, - 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, - 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, - 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, - 172,148,148,148,172,252,120,2,89,105,112,136,168,232,168,168, - 248,136,112,2,89,105,112,136,168,216,152,168,248,136,112,2, - 89,105,112,136,232,152,168,152,232,136,112,2,89,105,112,136, - 200,200,232,248,168,136,112,2,89,105,112,136,248,200,232,152, - 232,136,112,2,89,105,112,136,184,200,232,216,168,136,112,2, - 89,105,112,136,248,152,168,168,168,136,112,2,89,105,112,136, - 168,216,168,216,168,136,112,2,89,105,112,136,168,216,184,152, - 232,136,112,2,105,105,120,132,212,236,236,236,212,132,120,2, - 89,105,112,248,216,152,216,216,216,248,112,2,89,105,112,248, - 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, - 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, - 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, - 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, - 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, - 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, - 172,148,148,148,172,252,120,3,101,101,48,24,252,24,48,255, - 255,255,2,85,101,128,64,40,24,56,3,85,101,32,48,248, - 48,32,2,85,101,56,24,40,64,128,3,101,101,64,48,252, - 48,64,2,102,102,48,56,252,252,56,48,4,99,99,8,252, - 8,2,102,102,16,24,252,252,24,16,3,99,99,8,188,8, - 2,102,102,16,24,188,188,24,16,3,101,101,16,248,252,248, - 16,2,103,103,192,176,72,60,120,240,192,2,103,103,192,240, - 120,60,72,176,192,3,101,101,224,120,60,120,224,3,102,102, - 128,144,248,252,120,16,2,102,102,16,120,252,248,144,128,2, - 103,103,32,240,248,252,248,240,32,3,101,101,32,240,252,240, - 32,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, - 16,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, - 16,2,102,102,16,232,132,132,232,16,2,102,102,16,232,132, - 132,232,16,3,101,101,16,232,132,232,16,255,3,101,101,16, - 232,132,232,16,2,103,103,120,220,12,4,12,220,120,3,99, - 99,232,124,232,2,102,102,64,224,96,16,12,12,3,99,99, - 232,124,232,2,102,102,12,12,16,96,224,64,2,102,102,96, - 224,224,20,12,28,2,101,101,192,232,124,232,192,2,102,102, - 28,12,20,224,224,96,2,101,101,16,200,252,200,16,2,101, - 101,16,200,252,200,16,3,99,99,232,124,232,3,100,100,232, - 252,252,232,2,101,101,80,232,4,232,80,255,2,85,101,136, - 144,160,192,248,2,86,102,32,32,80,112,168,248,2,86,102, - 32,32,32,32,32,248,2,87,103,120,128,144,168,144,128,120, - 2,87,103,240,8,72,168,72,8,240,18,73,105,64,160,160, - 32,32,64,64,64,48,18,73,105,32,80,80,64,64,32,32, - 32,192,2,87,103,136,168,136,80,80,32,32,2,104,104,128, - 156,160,160,160,92,64,64,2,104,104,4,228,20,20,20,232, - 8,8,18,55,103,64,64,64,224,64,64,64,255,2,103,103, - 252,64,32,32,32,32,64,255,255,255,3,85,101,32,80,168, - 80,32,2,87,103,32,32,80,80,136,168,136,2,87,103,168, - 168,168,168,168,168,112,3,85,101,8,8,40,8,248,3,85, - 101,248,128,160,128,128,3,101,101,196,108,84,108,196,3,101, - 101,140,216,168,216,140,2,101,101,204,120,72,120,204,2,87, - 103,32,32,32,32,32,32,248,2,87,103,248,32,32,32,32, - 32,32,3,85,101,80,216,80,216,80,3,85,101,80,80,216, - 80,80,4,99,99,64,188,64,4,99,99,128,252,128,4,99, - 99,4,252,4,18,55,103,64,160,64,64,64,64,224,3,85, - 101,32,80,248,80,32,3,85,101,32,80,136,80,32,3,101, - 101,16,40,196,40,16,3,101,101,32,80,140,80,32,3,101, - 101,124,68,196,68,124,3,101,101,248,136,140,136,248,1,90, - 106,248,160,160,160,160,160,160,160,160,248,1,90,106,248,40, - 40,40,40,40,40,40,40,248,17,57,105,32,32,64,64,128, - 64,64,32,32,17,57,105,128,128,64,64,32,64,64,128,128, - 0,107,107,20,40,40,80,80,160,80,80,40,40,20,0,107, - 107,160,80,80,40,40,20,40,40,80,80,160,16,75,107,16, - 32,96,160,160,160,160,160,96,32,16,16,76,108,128,64,96, - 80,80,80,80,80,80,96,64,128,17,41,105,128,64,64,64, - 64,64,64,64,128,17,41,105,64,128,128,128,128,128,128,128, - 64,2,87,103,32,112,168,168,168,168,168,2,87,103,168,168, - 168,168,168,112,32,2,103,103,56,68,228,68,4,68,56,2, - 103,103,112,136,156,136,128,136,112,4,99,99,104,252,104,3, - 101,101,32,64,252,64,32,3,101,101,16,8,252,8,16,4, - 99,99,72,252,72,2,103,103,16,32,124,128,124,32,16,2, - 103,103,32,16,248,4,248,16,32,3,101,101,72,252,132,252, - 72,3,101,101,36,68,252,68,36,3,101,101,144,136,252,136, - 144,2,103,103,20,36,124,132,124,36,20,2,103,103,160,144, - 248,132,248,144,160,3,100,100,8,92,172,8}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - 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=10 dx= 6 dy= 0 ascent=10 len=10 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12[1933] U8G_FONT_SECTION("u8g_font_6x12") = { - 1,6,12,0,254,7,1,53,2,107,32,255,254,10,254,8, - 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, - 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, - 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, - 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, - 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, - 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, - 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, - 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, - 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, - 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, - 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, - 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, - 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, - 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, - 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, - 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, - 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, - 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, - 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, - 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, - 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, - 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, - 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, - 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, - 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, - 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, - 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, - 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, - 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, - 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, - 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, - 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, - 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, - 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, - 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, - 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, - 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, - 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, - 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, - 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, - 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, - 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, - 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, - 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, - 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, - 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, - 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, - 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, - 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, - 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, - 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, - 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, - 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, - 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, - 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, - 144,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,12,0,96,34,23,103,128,0,128,128,128,128,128,1, - 87,103,32,112,168,160,168,112,32,2,87,103,48,72,64,224, - 64,72,176,2,85,101,168,80,136,80,168,2,87,103,136,80, - 248,32,248,32,32,34,23,103,128,128,128,0,128,128,128,18, - 72,104,112,128,96,144,144,96,16,224,25,49,97,160,2,103, - 103,120,132,148,164,148,132,120,22,53,101,96,160,96,0,224, - 2,85,101,40,80,160,80,40,3,83,99,248,8,8,21,49, - 97,224,2,103,103,120,132,180,164,164,132,120,9,81,97,248, - 23,68,100,96,144,144,96,2,87,103,32,32,248,32,32,0, - 248,23,53,101,64,160,32,64,224,23,53,101,192,32,64,32, - 192,23,51,99,32,64,128,0,87,103,136,136,136,152,232,128, - 128,2,88,104,120,232,232,232,104,40,40,40,37,34,98,192, - 192,16,50,98,32,192,23,53,101,64,192,64,64,224,23,53, - 101,64,160,64,0,224,2,85,101,160,80,40,80,160,2,90, - 106,64,192,64,64,80,48,80,120,16,16,2,90,106,64,192, - 64,64,80,40,8,16,32,56,2,90,106,192,32,64,32,208, - 48,80,120,16,16,2,87,103,32,0,32,32,64,136,112,2, - 90,106,64,32,0,112,136,136,248,136,136,136,2,90,106,16, - 32,0,112,136,136,248,136,136,136,2,90,106,32,80,0,112, - 136,136,248,136,136,136,2,90,106,104,176,0,112,136,136,248, - 136,136,136,2,89,105,80,0,112,136,136,248,136,136,136,2, - 90,106,32,80,32,112,136,136,248,136,136,136,2,87,103,120, - 160,160,240,160,160,184,0,89,105,112,136,128,128,128,136,112, - 16,96,2,90,106,64,32,0,248,128,128,240,128,128,248,2, - 90,106,16,32,0,248,128,128,240,128,128,248,2,90,106,32, - 80,0,248,128,128,240,128,128,248,2,89,105,80,0,248,128, - 128,240,128,128,248,18,58,106,128,64,0,224,64,64,64,64, - 64,224,18,58,106,32,64,0,224,64,64,64,64,64,224,18, - 58,106,64,160,0,224,64,64,64,64,64,224,18,57,105,160, - 0,224,64,64,64,64,64,224,2,87,103,112,72,72,232,72, - 72,112,2,90,106,104,176,0,136,136,200,168,152,136,136,2, - 90,106,64,32,0,112,136,136,136,136,136,112,2,90,106,16, - 32,0,112,136,136,136,136,136,112,2,90,106,32,80,0,112, - 136,136,136,136,136,112,2,90,106,104,176,0,112,136,136,136, - 136,136,112,2,89,105,80,0,112,136,136,136,136,136,112,3, - 85,101,136,80,32,80,136,1,89,105,8,112,152,168,168,168, - 200,112,128,2,90,106,64,32,0,136,136,136,136,136,136,112, - 2,90,106,16,32,0,136,136,136,136,136,136,112,2,90,106, - 32,80,0,136,136,136,136,136,136,112,2,89,105,80,0,136, - 136,136,136,136,136,112,2,90,106,16,32,0,136,136,80,32, - 32,32,32,18,71,103,128,224,144,144,144,224,128,2,87,103, - 112,136,144,160,144,136,176,2,88,104,64,32,0,112,8,120, - 136,120,2,88,104,16,32,0,112,8,120,136,120,2,88,104, - 32,80,0,112,8,120,136,120,2,88,104,104,176,0,112,8, - 120,136,120,2,87,103,80,0,112,8,120,136,120,2,88,104, - 32,80,32,112,8,120,136,120,2,85,101,112,40,112,160,120, - 0,87,103,112,136,128,136,112,16,96,2,88,104,64,32,0, - 112,136,240,128,112,2,88,104,16,32,0,112,136,240,128,112, - 2,88,104,32,80,0,112,136,240,128,112,2,87,103,80,0, - 112,136,240,128,112,18,56,104,128,64,0,192,64,64,64,224, - 18,56,104,32,64,0,192,64,64,64,224,18,56,104,64,160, - 0,192,64,64,64,224,18,55,103,160,0,192,64,64,64,224, - 2,89,105,80,32,80,8,120,136,136,136,112,2,88,104,104, - 176,0,176,200,136,136,136,2,88,104,64,32,0,112,136,136, - 136,112,2,88,104,16,32,0,112,136,136,136,112,2,88,104, - 32,80,0,112,136,136,136,112,2,88,104,104,176,0,112,136, - 136,136,112,2,87,103,80,0,112,136,136,136,112,3,85,101, - 32,0,248,0,32,2,85,101,120,152,168,200,240,2,88,104, - 64,32,0,136,136,136,136,112,2,88,104,16,32,0,136,136, - 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,87, - 103,80,0,136,136,136,136,112,0,90,106,16,32,0,136,136, - 136,80,32,64,128,0,89,105,128,128,240,136,136,136,240,128, - 128,0,89,105,80,0,136,136,136,80,32,64,128}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 - Copyright: Public domain terminal emulator font. Share and enjoy. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 5 h= 9 x= 2 y=10 dx= 6 dy= 0 ascent=10 len= 9 - Font Bounding box w= 6 h=12 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x12r[898] U8G_FONT_SECTION("u8g_font_6x12r") = { - 1,6,12,0,254,7,1,53,2,107,32,127,254,10,254,8, - 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, - 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, - 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, - 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, - 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, - 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, - 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, - 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, - 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, - 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, - 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, - 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, - 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, - 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, - 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, - 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, - 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, - 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, - 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, - 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, - 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, - 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, - 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, - 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, - 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, - 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, - 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, - 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, - 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, - 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, - 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, - 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, - 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, - 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, - 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, - 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, - 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, - 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, - 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, - 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, - 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, - 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, - 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, - 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, - 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, - 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, - 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, - 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, - 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, - 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, - 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, - 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, - 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, - 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, - 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, - 144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 9 - Calculated Max Values w= 6 h=13 x= 5 y= 9 dx= 6 dy= 0 ascent=11 len=13 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[2236] U8G_FONT_SECTION("u8g_font_6x13_67_75") = { - 1,6,13,0,254,3,1,73,2,147,32,255,0,11,254,9, - 0,3,101,101,80,40,252,40,80,2,89,105,32,32,32,32, - 168,112,168,112,32,3,101,101,36,72,240,72,36,3,101,101, - 144,72,60,72,144,3,85,101,32,72,248,72,32,2,89,105, - 32,112,168,32,32,32,32,32,248,3,85,101,32,144,248,144, - 32,2,89,105,248,32,32,32,32,32,168,112,32,2,89,105, - 32,112,168,32,32,168,112,32,248,3,101,101,40,68,248,64, - 32,3,101,101,80,136,124,8,16,3,101,101,32,76,252,72, - 40,3,101,101,16,200,252,72,80,4,100,100,72,220,236,72, - 3,101,101,8,88,252,104,64,2,89,105,128,128,144,176,208, - 144,16,56,16,2,89,105,32,64,248,72,40,8,8,8,8, - 2,89,105,32,16,248,144,160,128,128,128,128,2,89,105,8, - 8,8,8,40,72,248,64,32,2,89,105,128,128,128,128,160, - 144,248,16,32,3,85,101,240,16,16,56,16,3,86,102,8, - 8,8,72,248,64,3,85,101,48,72,72,232,72,3,85,101, - 96,144,144,184,144,2,89,105,248,128,224,192,160,32,16,16, - 8,2,89,105,160,192,248,192,168,24,248,24,40,3,86,102, - 56,48,168,136,136,112,3,86,102,224,96,168,136,136,112,5, - 83,99,32,64,248,3,83,99,248,64,32,34,57,105,128,192, - 160,128,128,128,128,128,128,2,57,105,32,96,160,32,32,32, - 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, - 57,105,128,128,128,128,128,128,160,192,128,2,57,105,32,32, - 32,32,32,32,160,96,32,2,89,105,32,16,248,16,32,64, - 248,64,32,2,89,105,80,240,80,80,80,80,80,120,80,2, - 89,105,32,64,248,64,32,16,248,16,32,2,89,105,32,64, - 248,64,32,64,248,64,32,2,89,105,80,248,80,80,80,80, - 80,80,80,2,89,105,32,16,248,16,32,16,248,16,32,2, - 89,105,80,80,80,80,80,80,80,248,80,2,87,103,32,64, - 248,0,248,16,32,2,87,103,32,16,248,0,248,64,32,2, - 103,103,20,40,124,144,124,32,80,2,103,103,8,88,252,164, - 252,104,64,2,103,103,160,80,248,36,248,16,40,2,103,103, - 16,32,124,128,124,32,16,2,89,105,32,80,216,80,80,80, - 80,80,80,2,103,103,32,16,248,4,248,16,32,2,89,105, - 80,80,80,80,80,80,216,80,32,3,101,101,72,252,132,252, - 72,2,89,105,32,80,216,80,80,80,216,80,32,3,102,102, - 248,160,208,168,148,8,3,102,102,124,20,44,84,164,64,3, - 102,102,64,164,84,44,20,124,3,102,102,8,148,168,208,160, - 248,2,103,103,16,60,64,252,64,60,16,2,103,103,32,240, - 8,252,8,240,32,4,100,100,64,232,212,64,4,100,100,8, - 92,172,8,2,89,105,32,112,168,32,112,32,112,32,32,2, - 89,105,32,32,112,32,112,32,168,112,32,3,85,101,32,64, - 168,64,32,2,89,105,32,112,168,0,32,32,0,32,32,3, - 85,101,32,16,168,16,32,2,89,105,32,32,0,32,32,0, - 168,112,32,3,85,101,160,192,248,192,160,3,85,101,40,24, - 248,24,40,3,85,101,32,120,136,120,32,2,89,105,32,80, - 216,80,80,80,80,80,112,3,85,101,32,240,136,240,32,2, - 89,105,112,80,80,80,80,80,216,80,32,2,90,106,32,80, - 216,80,80,112,0,112,80,112,2,89,105,32,80,216,80,80, - 80,216,136,248,2,89,105,32,80,248,136,80,80,216,136,248, - 2,89,105,32,112,248,112,112,112,248,168,248,2,89,105,32, - 80,216,80,216,80,80,80,112,2,89,105,32,80,216,80,216, - 80,216,136,248,3,85,101,160,240,136,240,160,3,88,104,248, - 128,176,224,144,16,8,8,2,88,104,128,128,64,72,56,104, - 8,248,2,89,105,32,80,216,80,80,80,216,80,32,3,101, - 101,16,104,252,104,16,2,89,105,80,120,80,80,80,80,80, - 240,80,2,89,105,16,248,16,16,248,16,16,248,16,3,101, - 101,40,72,252,72,40,3,101,101,80,72,252,72,80,4,101, - 101,48,120,252,120,48,3,101,101,56,88,252,88,56,3,101, - 101,112,104,252,104,112,4,101,101,48,120,252,120,48,3,85, - 101,32,96,184,96,32,3,85,101,32,48,232,48,32,4,101, - 101,48,120,180,120,48,7,102,102,252,252,252,252,252,252,0, - 98,98,252,252,0,99,99,252,252,252,0,101,101,252,252,252, - 252,252,0,103,103,252,252,252,252,252,252,252,0,104,104,252, - 252,252,252,252,252,252,252,0,106,106,252,252,252,252,252,252, - 252,252,252,252,0,107,107,252,252,252,252,252,252,252,252,252, - 252,252,0,109,109,252,252,252,252,252,252,252,252,252,252,252, - 252,252,0,93,109,248,248,248,248,248,248,248,248,248,248,248, - 248,248,0,77,109,240,240,240,240,240,240,240,240,240,240,240, - 240,240,0,77,109,240,240,240,240,240,240,240,240,240,240,240, - 240,240,0,61,109,224,224,224,224,224,224,224,224,224,224,224, - 224,224,0,45,109,192,192,192,192,192,192,192,192,192,192,192, - 192,192,0,45,109,192,192,192,192,192,192,192,192,192,192,192, - 192,192,0,29,109,128,128,128,128,128,128,128,128,128,128,128, - 128,128,48,61,109,224,224,224,224,224,224,224,224,224,224,224, - 224,224,0,109,109,168,0,84,0,168,0,84,0,168,0,84, - 0,168,0,109,109,168,84,168,84,168,84,168,84,168,84,168, - 84,168,0,109,109,84,252,168,252,84,252,168,252,84,252,168, - 252,84,11,98,98,252,252,80,29,109,128,128,128,128,128,128, - 128,128,128,128,128,128,128,0,55,103,224,224,224,224,224,224, - 224,48,55,103,224,224,224,224,224,224,224,7,54,102,224,224, - 224,224,224,224,0,109,109,224,224,224,224,224,224,252,252,252, - 252,252,252,252,0,109,109,224,224,224,224,224,224,28,28,28, - 28,28,28,28,0,109,109,252,252,252,252,252,252,224,224,224, - 224,224,224,224,0,109,109,252,252,252,252,252,252,28,28,28, - 28,28,28,28,55,54,102,224,224,224,224,224,224,0,109,109, - 28,28,28,28,28,28,224,224,224,224,224,224,224,0,109,109, - 28,28,28,28,28,28,252,252,252,252,252,252,252,3,85,101, - 248,248,248,248,248,3,85,101,248,136,136,136,248,3,85,101, - 112,136,136,136,112,3,85,101,248,136,168,136,248,2,85,101, - 248,136,248,136,248,2,85,101,248,168,168,168,248,2,85,101, - 248,168,248,168,248,2,85,101,248,200,168,152,248,2,85,101, - 248,152,168,200,248,2,85,101,248,216,168,216,248,21,51,99, - 224,224,224,21,51,99,224,160,224,4,101,101,252,252,252,252, - 252,4,101,101,252,132,132,132,252,17,75,107,240,240,240,240, - 240,240,240,240,240,240,240,17,75,107,240,144,144,144,144,144, - 144,144,144,144,240,5,99,99,60,120,240,5,99,99,60,72, - 240,2,89,105,32,32,32,112,112,112,248,248,248,2,89,105, - 32,32,32,80,80,80,136,136,248,4,85,101,32,32,112,112, - 248,4,85,101,32,32,80,80,248,2,89,105,128,192,224,240, - 248,240,224,192,128,2,89,105,128,192,160,144,136,144,160,192, - 128,20,53,101,128,192,224,192,128,20,53,101,128,192,160,192, - 128,4,101,101,192,240,252,240,192,4,101,101,192,176,140,176, - 192,2,89,105,248,248,248,112,112,112,32,32,32,2,89,105, - 248,136,136,80,80,80,32,32,32,3,85,101,248,112,112,32, - 32,3,85,101,248,80,80,32,32,2,89,105,8,24,56,120, - 248,120,56,24,8,2,89,105,8,24,40,72,136,72,40,24, - 8,20,53,101,32,96,224,96,32,20,53,101,32,96,160,96, - 32,4,101,101,12,60,252,60,12,4,101,101,12,52,196,52, - 12,4,85,101,32,112,248,112,32,4,85,101,32,80,136,80, - 32,4,85,101,32,80,168,80,32,3,102,102,48,72,180,180, - 72,48,2,89,105,32,32,80,80,136,80,80,32,32,3,102, - 102,48,72,132,132,72,48,3,102,102,32,8,128,4,64,16, - 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, - 136,112,3,102,102,48,120,252,252,120,48,3,102,102,48,104, - 228,228,104,48,3,102,102,48,88,156,156,88,48,3,102,102, - 48,72,132,252,120,48,3,102,102,48,120,252,132,72,48,3, - 102,102,48,88,156,132,72,48,3,102,102,48,88,156,252,120, - 48,18,90,106,8,56,120,120,248,248,120,120,56,8,2,90, - 106,128,224,240,240,248,248,240,240,224,128,0,109,109,252,252, - 252,252,252,204,132,132,204,252,252,252,252,0,109,109,252,252, - 252,252,204,180,120,120,180,204,252,252,252,6,103,103,252,252, - 252,252,204,180,120,0,102,102,120,180,204,252,252,252,6,51, - 99,32,64,128,54,51,99,128,64,32,51,51,99,32,64,128, - 3,51,99,128,64,32,6,99,99,48,72,132,3,99,99,132, - 72,48,3,85,101,8,24,56,120,248,3,85,101,128,192,224, - 240,248,3,85,101,248,240,224,192,128,3,85,101,248,120,56, - 24,8,4,85,101,112,136,136,136,112,3,85,101,248,232,232, - 232,248,3,85,101,248,184,184,184,248,3,85,101,248,248,232, - 200,248,3,85,101,248,152,184,248,248,3,85,101,248,168,168, - 168,248,2,89,105,32,32,32,80,80,112,168,136,248,2,89, - 105,32,32,32,112,112,112,232,232,248,2,89,105,32,32,32, - 112,112,112,184,184,248,2,103,103,48,72,132,132,132,72,48, - 3,85,101,248,168,232,136,248,3,85,101,248,136,232,168,248, - 3,85,101,248,136,184,168,248,3,85,101,248,168,184,136,248, - 3,85,101,112,168,232,136,112,3,85,101,112,136,232,168,112, - 3,85,101,112,136,184,168,112,3,85,101,112,168,184,136,112, - 3,85,101,248,144,160,192,128,3,85,101,248,72,40,24,8, - 3,85,101,128,192,160,144,248,20,68,100,240,144,144,240,20, - 68,100,240,240,240,240,20,68,100,240,144,144,240,20,68,100, - 240,240,240,240,3,85,101,8,24,40,72,248}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 3 - Calculated Max Values w= 6 h=11 x= 1 y= 3 dx= 6 dy= 0 ascent=10 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_75r[447] U8G_FONT_SECTION("u8g_font_6x13_75r") = { - 1,6,13,0,254,9,1,57,0,0,32,79,0,10,255,9, - 0,3,85,101,248,248,248,248,248,3,85,101,248,136,136,136, - 248,3,85,101,112,136,136,136,112,3,85,101,248,136,168,136, - 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, - 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, - 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, - 248,21,51,99,224,224,224,21,51,99,224,160,224,4,101,101, - 252,252,252,252,252,4,101,101,252,132,132,132,252,17,75,107, - 240,240,240,240,240,240,240,240,240,240,240,17,75,107,240,144, - 144,144,144,144,144,144,144,144,240,5,99,99,60,120,240,5, - 99,99,60,72,240,2,89,105,32,32,32,112,112,112,248,248, - 248,2,89,105,32,32,32,80,80,80,136,136,248,4,85,101, - 32,32,112,112,248,4,85,101,32,32,80,80,248,2,89,105, - 128,192,224,240,248,240,224,192,128,2,89,105,128,192,160,144, - 136,144,160,192,128,20,53,101,128,192,224,192,128,20,53,101, - 128,192,160,192,128,4,101,101,192,240,252,240,192,4,101,101, - 192,176,140,176,192,2,89,105,248,248,248,112,112,112,32,32, - 32,2,89,105,248,136,136,80,80,80,32,32,32,3,85,101, - 248,112,112,32,32,3,85,101,248,80,80,32,32,2,89,105, - 8,24,56,120,248,120,56,24,8,2,89,105,8,24,40,72, - 136,72,40,24,8,20,53,101,32,96,224,96,32,20,53,101, - 32,96,160,96,32,4,101,101,12,60,252,60,12,4,101,101, - 12,52,196,52,12,4,85,101,32,112,248,112,32,4,85,101, - 32,80,136,80,32,4,85,101,32,80,168,80,32,3,102,102, - 48,72,180,180,72,48,2,89,105,32,32,80,80,136,80,80, - 32,32,3,102,102,48,72,132,132,72,48,3,102,102,32,8, - 128,4,64,16,2,85,101,112,168,168,168,112,2,87,103,112, - 136,168,216,168,136,112,3,102,102,48,120,252,252,120,48}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 6 h=13 x= 2 y= 5 dx= 6 dy= 0 ascent=11 len=13 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[1470] U8G_FONT_SECTION("u8g_font_6x13_78_79") = { - 1,6,13,0,254,7,1,42,2,11,32,255,0,11,254,10, - 0,2,87,103,112,32,168,248,168,32,112,255,2,104,104,48, - 48,48,252,252,48,48,48,2,89,105,32,112,32,168,248,168, - 32,112,32,2,89,105,32,112,32,168,248,168,32,112,32,2, - 89,105,32,112,32,168,248,168,32,112,32,4,85,101,32,112, - 248,112,32,4,85,101,32,80,136,80,32,255,4,86,102,32, - 32,248,80,112,136,2,89,105,112,216,216,0,136,136,112,248, - 112,4,86,102,32,32,248,80,112,136,4,86,102,32,32,248, - 112,112,136,4,86,102,32,32,248,112,112,136,4,86,102,32, - 32,248,112,112,136,4,86,102,32,32,248,112,112,136,4,102, - 102,48,48,252,88,120,204,3,87,103,32,168,112,112,112,168, - 32,3,87,103,32,168,112,80,112,168,32,3,87,103,32,168, - 112,248,112,168,32,3,87,103,32,168,112,248,112,168,32,3, - 87,103,32,168,112,248,112,168,32,3,87,103,32,168,112,112, - 112,168,32,3,87,103,80,80,248,32,248,80,80,3,87,103, - 80,112,248,112,248,112,80,255,255,3,87,103,32,168,168,112, - 168,168,32,3,87,103,32,168,168,80,168,168,32,3,87,103, - 32,168,168,112,168,168,32,3,87,103,32,168,168,80,168,168, - 32,4,85,101,32,248,80,112,216,255,255,255,3,87,103,32, - 168,168,112,168,168,32,3,87,103,32,168,168,112,168,168,32, - 3,87,103,32,168,168,112,168,168,32,3,87,103,32,168,168, - 112,168,168,32,3,87,103,32,168,112,248,112,168,32,3,87, - 103,32,168,112,248,112,168,32,3,87,103,32,168,168,112,168, - 168,32,3,87,103,32,168,112,248,112,168,32,3,87,103,32, - 168,112,248,112,168,32,255,2,102,102,120,140,140,140,140,120, - 255,2,102,102,248,136,140,140,252,60,2,102,102,60,252,140, - 140,136,248,2,102,102,248,140,140,140,252,124,2,102,102,124, - 252,140,140,140,248,255,255,255,2,89,105,32,112,32,80,248, - 80,32,112,32,255,34,25,105,128,128,128,128,128,128,128,128, - 128,18,57,105,224,224,224,224,224,224,224,224,224,2,89,105, - 248,248,248,248,248,248,248,248,248,23,53,101,96,128,224,224, - 64,23,53,101,64,224,224,32,192,7,101,101,108,144,252,252, - 72,7,101,101,72,252,252,36,216,255,255,2,106,106,8,124, - 232,232,120,8,104,104,72,48,18,57,105,64,224,224,64,64, - 0,64,224,64,2,89,105,80,248,248,112,32,0,32,112,32, - 2,87,103,80,248,248,248,112,32,32,2,103,103,96,240,248, - 124,248,240,96,2,89,105,104,176,16,216,248,240,96,104,48, - 2,104,104,64,144,184,124,92,188,184,80,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,2,89,105,112,248,216,152, - 216,216,136,248,112,2,89,105,112,248,216,168,232,216,136,248, - 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, - 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, - 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, - 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, - 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, - 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, - 120,2,89,105,112,136,168,232,168,168,168,136,112,2,89,105, - 112,136,168,216,152,168,248,136,112,2,89,105,112,136,168,216, - 168,152,232,136,112,2,89,105,112,136,200,200,232,248,168,136, - 112,2,89,105,112,136,248,200,232,152,232,136,112,2,89,105, - 112,136,184,200,232,216,168,136,112,2,89,105,112,136,248,152, - 168,168,168,136,112,2,89,105,112,136,168,216,168,216,168,136, - 112,2,89,105,112,136,168,216,184,152,232,136,112,2,105,105, - 120,132,212,236,236,236,212,132,120,2,89,105,112,248,216,152, - 216,216,216,248,112,2,89,105,112,248,216,168,232,216,136,248, - 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, - 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, - 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, - 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, - 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, - 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, - 120,4,102,102,48,24,252,252,24,48,255,255,255,4,85,101, - 128,64,40,24,56,4,85,101,32,48,248,48,32,4,85,101, - 56,24,40,64,128,3,103,103,64,32,48,252,48,32,64,3, - 104,104,32,48,24,252,252,24,48,32,4,101,101,16,24,252, - 24,16,4,102,102,16,24,252,252,24,16,4,102,102,16,24, - 188,188,24,16,3,103,103,32,48,184,188,184,48,32,3,103, - 103,32,48,248,252,248,48,32,255,255,4,101,101,192,112,60, - 112,192,3,103,103,32,176,248,252,120,48,32,3,103,103,32, - 48,120,252,248,176,32,0,109,109,32,32,48,240,248,248,252, - 248,248,240,48,32,32,255,255,255,255,255,255,255,255,255,255, - 1,107,107,120,252,220,204,4,0,4,204,220,248,120,255,4, - 102,102,32,32,224,20,12,28,4,101,101,144,200,124,200,144, - 4,102,102,28,12,20,224,32,32,4,102,102,32,32,224,20, - 12,28,4,101,101,144,200,124,200,144,4,102,102,28,12,20, - 224,32,32,4,101,101,16,8,252,8,16,4,101,101,16,200, - 252,200,16,5,99,99,232,124,232,4,101,101,208,216,124,216, - 208,2,105,105,160,80,40,244,4,244,40,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,255,255, - 255,255,255,255,1,91,107,248,160,160,160,160,160,160,160,160, - 160,248,1,91,107,248,40,40,40,40,40,40,40,40,40,248, - 17,75,107,16,32,32,64,64,128,64,64,32,32,16,17,75, - 107,128,64,64,32,32,16,32,32,64,64,128,1,107,107,20, - 40,40,80,80,160,80,80,40,40,20,1,107,107,160,80,80, - 40,40,20,40,40,80,80,160,255,255,255,255,255,255,255,255, - 255,3,101,101,32,64,252,64,32,3,101,101,16,8,252,8, - 16,4,99,99,72,252,72,2,103,103,16,32,124,128,124,32, - 16,2,103,103,32,16,248,4,248,16,32,3,101,101,72,252, - 132,252,72,3,101,101,36,68,252,68,36,3,101,101,144,136, - 252,136,144,2,103,103,20,36,124,132,124,36,20,2,103,103, - 160,144,248,132,248,144,160,4,100,100,8,92,172,8}; -/* - Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13B[2171] U8G_FONT_SECTION("u8g_font_6x13B") = { - 1,6,13,0,254,9,1,99,2,211,32,255,254,11,254,10, - 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, - 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, - 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, - 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, - 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, - 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, - 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, - 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, - 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, - 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, - 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, - 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, - 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, - 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, - 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, - 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, - 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, - 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, - 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, - 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, - 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, - 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, - 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, - 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, - 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, - 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, - 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, - 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, - 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, - 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, - 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, - 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, - 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, - 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, - 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, - 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, - 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, - 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, - 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, - 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, - 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, - 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, - 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, - 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, - 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, - 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, - 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, - 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, - 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, - 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, - 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, - 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, - 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, - 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, - 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, - 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, - 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, - 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, - 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, - 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, - 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, - 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, - 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, - 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,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, - 13,0,96,34,42,106,192,192,0,192,192,192,192,192,192,192, - 3,104,104,16,120,212,208,208,212,120,16,2,105,105,56,108, - 96,96,248,96,96,100,248,3,102,102,204,252,72,72,252,204, - 2,105,105,204,204,120,120,252,48,252,48,48,34,42,106,192, - 192,192,192,0,0,192,192,192,192,2,106,106,120,204,192,120, - 204,204,120,12,204,120,9,98,98,204,204,2,105,105,120,204, - 180,236,228,236,180,204,120,4,103,103,248,12,252,140,252,0, - 252,3,103,103,52,104,208,160,208,104,52,4,100,100,252,252, - 4,4,22,65,97,240,2,105,105,120,204,188,172,188,180,172, - 204,120,9,82,98,248,248,7,100,100,120,204,204,120,2,105, - 105,48,48,252,252,48,48,0,252,252,6,70,102,224,176,48, - 96,192,240,6,70,102,224,176,96,48,176,224,26,50,98,96, - 192,0,104,104,204,204,204,204,204,252,128,128,2,105,105,124, - 252,244,244,244,116,52,52,52,38,34,98,192,192,16,50,98, - 96,192,6,70,102,96,224,96,96,96,240,5,87,103,112,248, - 136,248,112,0,248,3,103,103,176,88,44,20,44,88,176,2, - 106,106,96,224,96,96,100,252,28,52,60,12,2,106,106,96, - 224,96,96,120,236,12,24,48,60,2,106,106,224,176,96,48, - 180,236,28,52,60,12,2,106,106,48,48,0,48,48,96,192, - 204,204,120,2,106,106,96,48,0,48,120,204,204,252,204,204, - 2,106,106,24,48,0,48,120,204,204,252,204,204,2,106,106, - 56,108,0,48,120,204,204,252,204,204,2,106,106,52,88,0, - 48,120,204,204,252,204,204,2,106,106,204,204,0,48,120,204, - 204,252,204,204,2,106,106,48,72,120,48,120,204,204,252,204, - 204,2,105,105,124,176,176,176,184,240,240,176,188,0,107,107, - 120,204,192,192,192,192,192,204,120,48,96,2,106,106,96,48, - 0,252,192,192,248,192,192,252,2,106,106,24,48,0,252,192, - 192,248,192,192,252,2,106,106,56,108,0,252,192,192,248,192, - 192,252,2,106,106,204,204,0,252,192,192,248,192,192,252,18, - 74,106,192,96,0,240,96,96,96,96,96,240,18,74,106,48, - 96,0,240,96,96,96,96,96,240,2,90,106,112,216,0,120, - 48,48,48,48,48,120,2,106,106,204,204,0,120,48,48,48, - 48,48,120,2,105,105,248,108,108,108,236,108,108,108,248,2, - 106,106,52,88,0,204,236,236,252,220,220,204,2,106,106,96, - 48,0,120,204,204,204,204,204,120,2,106,106,24,48,0,120, - 204,204,204,204,204,120,2,106,106,56,108,0,120,204,204,204, - 204,204,120,2,106,106,52,88,0,120,204,204,204,204,204,120, - 2,106,106,204,204,0,120,204,204,204,204,204,120,3,101,101, - 204,120,48,120,204,1,105,105,4,120,220,220,204,236,236,120, - 128,2,106,106,96,48,0,204,204,204,204,204,204,120,2,106, - 106,24,48,0,204,204,204,204,204,204,120,2,106,106,56,108, - 0,204,204,204,204,204,204,120,2,106,106,108,108,0,204,204, - 204,204,204,204,120,2,106,106,24,48,0,204,72,120,48,48, - 48,48,2,105,105,192,248,204,204,204,248,192,192,192,1,105, - 105,120,204,204,248,204,204,204,248,128,2,105,105,96,48,0, - 120,12,124,204,220,108,2,105,105,24,48,0,120,12,124,204, - 220,108,2,105,105,56,108,0,120,12,124,204,220,108,2,105, - 105,52,88,0,120,12,124,204,220,108,2,105,105,108,108,0, - 120,12,124,204,220,108,2,106,106,56,40,56,0,120,12,124, - 204,220,108,2,102,102,120,52,120,176,180,104,0,104,104,120, - 204,192,192,204,120,48,96,2,105,105,96,48,0,120,204,252, - 192,192,120,2,105,105,24,48,0,120,204,252,192,192,120,2, - 105,105,56,108,0,120,204,252,192,192,120,2,105,105,108,108, - 0,120,204,252,192,192,120,18,73,105,192,96,0,224,96,96, - 96,96,240,18,73,105,48,96,0,224,96,96,96,96,240,2, - 89,105,112,216,0,112,48,48,48,48,120,2,89,105,216,216, - 0,112,48,48,48,48,120,2,106,106,216,112,240,152,120,204, - 204,204,204,120,2,105,105,52,88,0,216,236,204,204,204,204, - 2,105,105,96,48,0,120,204,204,204,204,120,2,105,105,24, - 48,0,120,204,204,204,204,120,2,105,105,56,108,0,120,204, - 204,204,204,120,2,105,105,52,88,0,120,204,204,204,204,120, - 2,105,105,204,204,0,120,204,204,204,204,120,3,103,103,48, - 48,0,252,0,48,48,1,105,105,4,120,204,220,204,236,204, - 120,128,2,105,105,96,48,0,204,204,204,204,220,108,2,105, - 105,24,48,0,204,204,204,204,220,108,2,105,105,56,108,0, - 204,204,204,204,220,108,2,105,105,204,204,0,204,204,204,204, - 220,108,0,107,107,24,48,0,204,204,204,220,108,12,204,120, - 0,106,106,192,192,216,236,204,236,216,192,192,192,0,107,107, - 204,204,0,204,204,204,220,108,12,204,120}; -/* - Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13Br[1040] U8G_FONT_SECTION("u8g_font_6x13Br") = { - 1,6,13,0,254,9,1,99,2,211,32,127,254,11,254,10, - 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, - 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, - 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, - 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, - 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, - 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, - 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, - 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, - 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, - 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, - 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, - 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, - 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, - 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, - 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, - 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, - 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, - 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, - 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, - 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, - 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, - 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, - 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, - 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, - 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, - 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, - 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, - 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, - 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, - 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, - 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, - 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, - 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, - 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, - 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, - 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, - 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, - 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, - 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, - 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, - 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, - 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, - 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, - 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, - 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, - 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, - 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, - 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, - 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, - 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, - 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, - 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, - 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, - 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, - 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, - 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, - 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, - 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, - 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, - 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, - 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, - 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, - 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, - 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,255 - }; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13[2160] U8G_FONT_SECTION("u8g_font_6x13") = { - 1,6,13,0,254,9,1,102,2,214,32,255,254,11,254,10, - 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, - 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, - 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, - 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, - 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, - 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, - 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, - 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, - 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, - 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, - 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, - 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, - 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, - 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, - 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, - 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, - 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, - 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, - 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, - 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, - 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, - 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, - 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, - 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, - 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, - 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, - 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, - 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, - 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, - 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, - 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, - 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, - 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, - 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, - 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, - 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, - 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, - 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, - 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, - 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, - 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, - 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, - 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, - 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, - 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, - 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, - 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, - 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, - 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, - 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, - 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, - 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, - 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, - 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, - 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, - 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, - 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, - 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, - 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, - 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, - 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, - 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, - 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, - 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, - 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,13,0,96,34,25,105,128,0,128,128,128,128,128,128,128, - 3,88,104,32,112,168,160,160,168,112,32,2,89,105,48,72, - 64,64,224,64,64,72,176,3,86,102,136,112,80,80,112,136, - 2,89,105,136,136,80,80,248,32,248,32,32,34,25,105,128, - 128,128,128,0,128,128,128,128,18,74,106,96,144,128,96,144, - 144,96,16,144,96,26,50,98,160,160,3,89,105,112,136,168, - 216,200,216,168,136,112,4,87,103,112,8,120,136,120,0,248, - 3,86,102,40,80,160,160,80,40,4,83,99,248,8,8,22, - 49,97,224,3,89,105,112,136,232,216,216,232,216,136,112,10, - 81,97,248,23,68,100,96,144,144,96,3,87,103,32,32,248, - 32,32,0,248,7,53,101,64,160,32,64,224,7,53,101,64, - 160,64,32,192,42,34,98,64,128,0,88,104,136,136,136,136, - 152,232,128,128,2,89,105,120,232,232,232,232,104,40,40,40, - 38,33,97,192,32,34,98,64,128,7,53,101,64,192,64,64, - 224,4,87,103,112,136,136,136,112,0,248,3,86,102,160,80, - 40,40,80,160,2,90,106,64,192,64,64,224,8,24,40,56, - 8,2,90,106,64,192,64,64,224,16,40,8,16,56,2,90, - 106,64,160,64,32,160,72,24,40,56,8,2,89,105,32,0, - 32,32,64,128,136,136,112,2,90,106,64,32,0,32,80,136, - 136,248,136,136,2,90,106,16,32,0,32,80,136,136,248,136, - 136,2,90,106,48,72,0,32,80,136,136,248,136,136,2,90, - 106,40,80,0,32,80,136,136,248,136,136,2,90,106,80,80, - 0,32,80,136,136,248,136,136,2,90,106,32,80,32,32,80, - 136,136,248,136,136,2,89,105,88,160,160,160,176,224,160,160, - 184,0,91,107,112,136,128,128,128,128,128,136,112,32,64,2, - 90,106,64,32,0,248,128,128,240,128,128,248,2,90,106,16, - 32,0,248,128,128,240,128,128,248,2,90,106,48,72,0,248, - 128,128,240,128,128,248,2,90,106,80,80,0,248,128,128,240, - 128,128,248,18,58,106,128,64,0,224,64,64,64,64,64,224, - 18,58,106,32,64,0,224,64,64,64,64,64,224,18,74,106, - 96,144,0,224,64,64,64,64,64,224,18,58,106,160,160,0, - 224,64,64,64,64,64,224,2,89,105,240,72,72,72,232,72, - 72,72,240,2,90,106,40,80,0,136,136,200,168,152,136,136, - 2,90,106,64,32,0,112,136,136,136,136,136,112,2,90,106, - 16,32,0,112,136,136,136,136,136,112,2,90,106,48,72,0, - 112,136,136,136,136,136,112,2,90,106,40,80,0,112,136,136, - 136,136,136,112,2,90,106,80,80,0,112,136,136,136,136,136, - 112,3,85,101,136,80,32,80,136,1,91,107,8,112,152,152, - 168,168,168,200,200,112,128,2,90,106,64,32,0,136,136,136, - 136,136,136,112,2,90,106,16,32,0,136,136,136,136,136,136, - 112,2,90,106,48,72,0,136,136,136,136,136,136,112,2,90, - 106,80,80,0,136,136,136,136,136,136,112,2,90,106,16,32, - 0,136,136,80,32,32,32,32,2,89,105,128,240,136,136,136, - 240,128,128,128,2,89,105,96,144,144,160,160,144,136,136,176, - 2,89,105,64,32,0,112,8,120,136,152,104,2,89,105,16, - 32,0,112,8,120,136,152,104,2,89,105,48,72,0,112,8, - 120,136,152,104,2,89,105,40,80,0,112,8,120,136,152,104, - 2,89,105,80,80,0,112,8,120,136,152,104,2,90,106,48, - 72,48,0,112,8,120,136,152,104,2,86,102,112,40,112,160, - 168,80,0,88,104,112,136,128,128,136,112,32,64,2,89,105, - 64,32,0,112,136,248,128,136,112,2,89,105,16,32,0,112, - 136,248,128,136,112,2,89,105,48,72,0,112,136,248,128,136, - 112,2,89,105,80,80,0,112,136,248,128,136,112,18,57,105, - 128,64,0,192,64,64,64,64,224,18,57,105,32,64,0,192, - 64,64,64,64,224,18,73,105,96,144,0,192,64,64,64,64, - 224,18,57,105,160,160,0,192,64,64,64,64,224,2,90,106, - 80,32,96,16,112,136,136,136,136,112,2,89,105,40,80,0, - 176,200,136,136,136,136,2,89,105,64,32,0,112,136,136,136, - 136,112,2,89,105,16,32,0,112,136,136,136,136,112,2,89, - 105,48,72,0,112,136,136,136,136,112,2,89,105,40,80,0, - 112,136,136,136,136,112,2,89,105,80,80,0,112,136,136,136, - 136,112,3,87,103,32,32,0,248,0,32,32,1,88,104,8, - 112,152,168,168,200,112,128,2,89,105,64,32,0,136,136,136, - 136,152,104,2,89,105,16,32,0,136,136,136,136,152,104,2, - 89,105,48,72,0,136,136,136,136,152,104,2,89,105,80,80, - 0,136,136,136,136,152,104,0,91,107,16,32,0,136,136,136, - 152,104,8,136,112,0,90,106,128,128,176,200,136,136,200,176, - 128,128,0,91,107,80,80,0,136,136,136,152,104,8,136,112 - }; -/* - Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13O[2162] U8G_FONT_SECTION("u8g_font_6x13O") = { - 1,6,13,0,254,9,1,104,2,216,32,255,254,11,254,10, - 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, - 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, - 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, - 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, - 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, - 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, - 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, - 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, - 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, - 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, - 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, - 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, - 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, - 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, - 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, - 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, - 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, - 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, - 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, - 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, - 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, - 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, - 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, - 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, - 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, - 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, - 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, - 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, - 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, - 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, - 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, - 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, - 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, - 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, - 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, - 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, - 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, - 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, - 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, - 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, - 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, - 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, - 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, - 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, - 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, - 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, - 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, - 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, - 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, - 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, - 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, - 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, - 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, - 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, - 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, - 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, - 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, - 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, - 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, - 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, - 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, - 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, - 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, - 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, - 168,144,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,13,0,96,34,41,105,64,0,64,64,64,128,128, - 128,128,3,104,104,16,56,84,80,160,168,112,32,2,105,105, - 24,36,32,32,112,32,64,72,176,3,102,102,68,56,40,80, - 112,136,2,105,105,68,68,40,40,124,32,248,32,32,34,41, - 105,64,64,64,64,0,128,128,128,128,18,90,106,48,72,64, - 48,72,72,48,16,144,96,58,50,98,160,160,2,105,105,56, - 68,84,108,100,216,168,136,112,4,103,103,56,4,124,136,120, - 0,248,19,86,102,40,80,160,160,160,80,20,83,99,248,8, - 16,38,49,97,224,3,105,105,56,68,116,108,108,232,216,136, - 112,26,81,97,248,23,68,100,96,144,144,96,19,71,103,32, - 32,240,64,64,0,240,23,69,101,32,80,32,64,224,23,69, - 101,96,16,96,32,192,58,34,98,64,128,0,104,104,36,36, - 68,72,88,168,128,128,18,89,105,120,232,232,232,232,80,80, - 80,80,54,33,97,192,32,34,98,64,128,23,53,101,32,96, - 64,64,224,4,103,103,56,68,68,136,112,0,248,19,86,102, - 80,40,40,40,80,160,18,90,106,32,96,64,64,224,8,56, - 80,112,16,18,90,106,32,96,64,64,224,16,40,16,32,112, - 18,90,106,96,16,96,32,192,8,56,80,112,16,2,89,105, - 16,0,16,16,32,64,136,136,112,2,106,106,32,16,0,16, - 40,68,68,248,136,136,2,106,106,8,16,0,16,40,68,68, - 248,136,136,2,106,106,24,36,0,16,40,68,68,248,136,136, - 2,106,106,20,40,0,16,40,68,68,248,136,136,2,106,106, - 40,40,0,16,40,68,68,248,136,136,2,106,106,16,40,16, - 16,40,68,68,248,136,136,2,105,105,44,80,80,80,88,224, - 160,160,184,0,107,107,56,68,64,64,64,128,128,136,112,32, - 64,2,106,106,32,16,0,124,64,64,120,128,128,248,2,106, - 106,8,16,0,124,64,64,120,128,128,248,2,106,106,24,36, - 0,124,64,64,120,128,128,248,2,106,106,40,40,0,124,64, - 64,120,128,128,248,18,74,106,64,32,0,112,32,32,32,64, - 64,224,18,74,106,16,32,0,112,32,32,32,64,64,224,18, - 90,106,48,72,0,112,32,32,32,64,64,224,18,74,106,80, - 80,0,112,32,32,32,64,64,224,2,105,105,120,36,36,36, - 116,36,72,72,240,2,106,106,20,40,0,68,68,100,88,136, - 136,136,2,106,106,32,16,0,56,68,68,68,136,136,112,2, - 106,106,8,16,0,56,68,68,68,136,136,112,2,106,106,24, - 36,0,56,68,68,68,136,136,112,2,106,106,20,40,0,56, - 68,68,68,136,136,112,2,106,106,40,40,0,56,68,68,68, - 136,136,112,3,101,101,68,40,48,80,136,1,107,107,4,60, - 76,76,84,84,168,232,232,112,128,2,106,106,32,16,0,68, - 68,68,136,136,136,112,2,106,106,8,16,0,68,68,68,136, - 136,136,112,2,106,106,24,36,0,68,68,68,136,136,136,112, - 2,106,106,40,40,0,68,68,68,136,136,136,112,18,90,106, - 16,32,0,136,136,80,32,64,64,64,2,105,105,64,120,68, - 68,72,240,128,128,128,2,89,105,48,72,72,80,80,144,136, - 136,176,2,105,105,32,16,0,56,4,124,136,152,104,2,105, - 105,8,16,0,56,4,124,136,152,104,2,105,105,24,36,0, - 56,4,124,136,152,104,2,105,105,20,40,0,56,4,124,136, - 152,104,2,105,105,40,40,0,56,4,124,136,152,104,2,106, - 106,24,36,24,0,56,4,124,136,152,104,2,102,102,56,20, - 120,160,168,80,0,104,104,56,68,64,128,136,112,32,64,2, - 105,105,32,16,0,56,68,124,128,136,112,2,105,105,8,16, - 0,56,68,124,128,136,112,2,105,105,24,36,0,56,68,124, - 128,136,112,2,105,105,40,40,0,56,68,124,128,136,112,18, - 57,105,64,32,0,96,32,32,64,64,224,18,73,105,16,32, - 0,96,32,32,64,64,224,18,89,105,48,72,0,96,32,32, - 64,64,224,18,73,105,80,80,0,96,32,32,64,64,224,2, - 106,106,32,24,48,8,56,68,68,136,136,112,2,105,105,20, - 40,0,88,100,68,136,136,136,2,105,105,32,16,0,56,68, - 68,136,136,112,2,105,105,8,16,0,56,68,68,136,136,112, - 2,105,105,24,36,0,56,68,68,136,136,112,2,105,105,20, - 40,0,56,68,68,136,136,112,2,105,105,40,40,0,56,68, - 68,136,136,112,19,87,103,32,32,0,248,0,64,64,1,104, - 104,4,56,76,84,168,200,112,128,2,105,105,32,16,0,68, - 68,68,136,152,104,2,105,105,8,16,0,68,68,68,136,152, - 104,2,105,105,24,36,0,68,68,68,136,152,104,2,105,105, - 40,40,0,68,68,68,136,152,104,0,107,107,8,16,0,68, - 68,136,152,104,8,144,96,0,106,106,64,64,88,100,68,136, - 200,176,128,128,0,107,107,40,40,0,68,68,136,152,104,8, - 144,96}; -/* - Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13Or[1043] U8G_FONT_SECTION("u8g_font_6x13Or") = { - 1,6,13,0,254,9,1,104,2,216,32,127,254,11,254,10, - 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, - 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, - 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, - 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, - 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, - 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, - 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, - 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, - 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, - 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, - 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, - 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, - 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, - 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, - 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, - 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, - 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, - 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, - 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, - 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, - 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, - 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, - 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, - 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, - 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, - 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, - 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, - 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, - 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, - 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, - 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, - 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, - 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, - 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, - 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, - 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, - 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, - 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, - 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, - 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, - 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, - 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, - 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, - 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, - 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, - 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, - 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, - 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, - 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, - 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, - 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, - 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, - 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, - 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, - 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, - 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, - 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, - 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, - 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, - 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, - 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, - 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, - 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, - 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, - 168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 - Font Bounding box w= 6 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_6x13r[1041] U8G_FONT_SECTION("u8g_font_6x13r") = { - 1,6,13,0,254,9,1,102,2,214,32,127,254,11,254,10, - 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, - 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, - 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, - 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, - 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, - 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, - 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, - 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, - 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, - 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, - 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, - 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, - 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, - 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, - 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, - 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, - 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, - 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, - 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, - 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, - 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, - 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, - 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, - 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, - 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, - 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, - 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, - 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, - 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, - 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, - 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, - 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, - 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, - 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, - 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, - 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, - 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, - 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, - 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, - 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, - 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, - 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, - 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, - 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, - 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, - 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, - 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, - 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, - 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, - 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, - 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, - 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, - 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, - 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, - 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, - 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, - 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, - 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, - 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, - 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, - 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, - 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, - 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, - 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, - 255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 10 - Calculated Max Values w= 7 h=13 x= 6 y= 9 dx= 7 dy= 0 ascent=11 len=13 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[2197] U8G_FONT_SECTION("u8g_font_7x13_67_75") = { - 1,7,13,0,254,3,1,91,2,178,32,255,0,11,254,10, - 0,4,117,117,72,36,254,36,72,18,89,121,32,32,32,168, - 112,32,168,112,32,4,101,117,36,72,248,72,36,4,101,117, - 144,72,124,72,144,4,101,117,36,68,252,68,36,18,89,121, - 32,112,168,32,32,32,32,32,248,4,101,117,144,136,252,136, - 144,18,89,121,248,32,32,32,32,32,168,112,32,18,89,121, - 32,112,168,32,32,168,112,32,248,4,117,117,36,66,252,64, - 32,4,117,117,72,132,126,4,8,4,117,117,36,74,252,72, - 40,4,117,117,72,164,126,36,40,4,117,117,40,84,238,68, - 40,4,117,117,40,84,254,84,40,2,106,122,64,64,128,152, - 104,8,16,84,56,16,2,106,122,32,64,252,68,36,4,4, - 4,4,4,2,106,122,16,8,252,136,144,128,128,128,128,128, - 2,106,122,4,4,4,4,4,36,68,252,64,32,2,106,122, - 128,128,128,128,128,144,136,252,8,16,2,104,120,240,16,16, - 16,16,84,56,16,2,90,122,8,8,8,8,8,40,72,248, - 64,32,4,119,119,28,34,34,34,170,112,32,4,119,119,112, - 136,136,136,170,28,8,2,120,120,254,0,224,192,160,16,8, - 4,2,121,121,144,160,254,160,146,10,254,10,18,4,119,119, - 72,156,170,136,136,136,112,4,119,119,36,114,170,34,34,34, - 28,6,99,115,32,64,252,4,99,115,252,64,32,50,57,121, - 128,192,160,128,128,128,128,128,128,18,57,121,32,96,160,32, - 32,32,32,32,32,6,99,115,16,8,252,4,99,115,252,8, - 16,50,57,121,128,128,128,128,128,128,160,192,128,18,57,121, - 32,32,32,32,32,32,160,96,32,2,105,121,16,8,252,8, - 48,64,252,64,32,2,122,122,40,120,168,40,40,40,40,42, - 60,40,2,105,121,32,64,252,64,48,8,252,8,16,2,105, - 121,32,64,252,64,32,64,252,64,32,2,121,121,68,238,68, - 68,68,68,68,68,68,2,105,121,16,8,252,8,16,8,252, - 8,16,2,122,122,68,68,68,68,68,68,68,68,238,68,3, - 103,119,32,64,252,0,252,8,16,3,103,119,16,8,252,0, - 252,64,32,3,119,119,16,34,126,132,126,40,16,4,117,117, - 40,124,146,124,40,3,119,119,16,40,252,66,252,136,16,3, - 119,119,16,32,126,128,126,32,16,2,121,121,16,40,108,170, - 40,40,40,40,40,3,119,119,16,8,252,2,252,8,16,2, - 121,121,40,40,40,40,40,170,108,40,16,4,117,117,40,124, - 130,124,40,2,122,122,16,40,108,170,40,40,170,108,40,16, - 2,119,119,252,144,136,196,162,144,8,2,119,119,126,18,34, - 70,138,18,32,2,119,119,32,18,138,70,34,18,126,2,119, - 119,8,144,162,196,136,144,252,2,121,121,8,16,62,64,254, - 64,62,16,8,2,121,121,32,16,248,4,254,4,248,16,32, - 4,117,117,32,72,254,68,32,4,117,117,8,36,254,68,8, - 18,89,121,32,112,168,32,248,32,248,32,32,18,89,121,32, - 32,248,32,248,32,168,112,32,3,119,119,16,32,64,182,64, - 32,16,2,122,122,16,40,84,146,0,16,16,0,16,16,3, - 119,119,16,8,4,218,4,8,16,2,122,122,16,16,0,16, - 16,0,146,84,40,16,4,117,117,144,160,254,160,144,4,117, - 117,18,10,254,10,18,3,119,119,16,48,94,130,94,48,16, - 2,121,121,16,40,68,238,40,40,40,40,56,3,119,119,16, - 24,244,130,244,24,16,2,121,121,56,40,40,40,40,238,68, - 40,16,1,124,124,16,40,68,238,40,40,40,56,0,56,40, - 56,1,122,122,16,40,68,238,40,40,40,108,68,124,1,122, - 122,16,40,68,254,40,40,40,108,68,124,1,122,122,16,40, - 68,254,56,56,56,124,68,124,2,121,121,16,40,68,238,68, - 238,40,40,56,1,122,122,16,40,68,238,68,238,40,108,68, - 124,3,119,119,144,152,244,130,244,152,144,2,119,119,254,128, - 188,176,168,164,130,2,119,119,130,74,42,26,122,2,254,2, - 121,121,16,40,68,238,40,238,68,40,16,255,255,255,255,255, - 255,255,255,255,255,255,255,7,118,118,254,254,254,254,254,254, - 0,114,114,254,254,0,115,115,254,254,254,0,117,117,254,254, - 254,254,254,0,119,119,254,254,254,254,254,254,254,0,120,120, - 254,254,254,254,254,254,254,254,0,122,122,254,254,254,254,254, - 254,254,254,254,254,0,123,123,254,254,254,254,254,254,254,254, - 254,254,254,0,125,125,254,254,254,254,254,254,254,254,254,254, - 254,254,254,0,109,125,252,252,252,252,252,252,252,252,252,252, - 252,252,252,0,93,125,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,77,125,240,240,240,240,240,240,240,240,240,240, - 240,240,240,0,77,125,240,240,240,240,240,240,240,240,240,240, - 240,240,240,0,61,125,224,224,224,224,224,224,224,224,224,224, - 224,224,224,0,45,125,192,192,192,192,192,192,192,192,192,192, - 192,192,192,0,29,125,128,128,128,128,128,128,128,128,128,128, - 128,128,128,64,61,125,224,224,224,224,224,224,224,224,224,224, - 224,224,224,1,123,123,84,0,170,0,84,0,170,0,84,0, - 170,0,125,125,170,84,170,84,170,84,170,84,170,84,170,84, - 170,0,125,125,254,84,254,170,254,84,254,170,254,84,254,170, - 254,11,114,114,254,254,96,29,125,128,128,128,128,128,128,128, - 128,128,128,128,128,128,0,71,119,240,240,240,240,240,240,240, - 64,55,119,224,224,224,224,224,224,224,7,70,118,240,240,240, - 240,240,240,0,125,125,240,240,240,240,240,240,254,254,254,254, - 254,254,254,0,125,125,240,240,240,240,240,240,14,14,14,14, - 14,14,14,0,125,125,254,254,254,254,254,254,240,240,240,240, - 240,240,240,0,125,125,254,254,254,254,254,254,14,14,14,14, - 14,14,14,71,54,118,224,224,224,224,224,224,0,125,125,14, - 14,14,14,14,14,240,240,240,240,240,240,240,0,125,125,14, - 14,14,14,14,14,254,254,254,254,254,254,254,3,119,119,254, - 254,254,254,254,254,254,3,119,119,254,130,130,130,130,130,254, - 3,119,119,124,130,130,130,130,130,124,3,119,119,254,130,186, - 186,186,130,254,3,119,119,254,130,254,130,254,130,254,3,119, - 119,254,170,170,170,170,170,254,3,119,119,254,170,254,170,254, - 170,254,3,119,119,254,146,138,198,162,146,254,3,119,119,254, - 146,162,198,138,146,254,3,119,119,254,214,170,214,170,214,254, - 20,85,117,248,248,248,248,248,20,85,117,248,136,136,136,248, - 4,117,117,254,254,254,254,254,4,117,117,254,130,130,130,254, - 19,87,119,248,248,248,248,248,248,248,19,87,119,248,136,136, - 136,136,136,248,4,117,117,62,126,254,252,248,4,117,117,62, - 66,130,132,248,2,120,120,16,16,56,56,124,124,254,254,2, - 120,120,16,16,40,40,68,68,130,254,19,86,118,32,32,112, - 112,248,248,19,86,118,32,32,80,80,136,248,3,119,119,128, - 224,248,254,248,224,128,3,119,119,128,224,152,134,152,224,128, - 4,101,117,192,240,252,240,192,4,101,117,192,176,140,176,192, - 4,117,117,128,240,254,240,128,4,117,117,128,240,142,240,128, - 2,120,120,254,254,124,124,56,56,16,16,2,120,120,254,130, - 68,68,40,40,16,16,19,86,118,248,248,112,112,32,32,19, - 86,118,248,136,80,80,32,32,3,119,119,2,14,62,254,62, - 14,2,3,119,119,2,14,50,194,50,14,2,4,101,117,12, - 60,252,60,12,4,101,117,12,52,196,52,12,4,117,117,2, - 30,254,30,2,4,117,117,2,30,226,30,2,2,119,119,16, - 56,124,254,124,56,16,2,119,119,16,40,68,130,68,40,16, - 2,119,119,16,40,84,186,84,40,16,3,119,119,56,68,146, - 186,146,68,56,18,89,121,32,32,80,80,136,80,80,32,32, - 3,119,119,56,68,130,130,130,68,56,3,119,119,40,0,130, - 0,130,0,40,3,119,119,56,108,170,170,170,108,56,3,119, - 119,56,68,146,170,146,68,56,3,119,119,56,124,254,254,254, - 124,56,3,119,119,56,116,242,242,242,116,56,3,119,119,56, - 92,158,158,158,92,56,3,119,119,56,68,130,254,254,124,56, - 3,119,119,56,124,254,254,130,68,56,3,119,119,56,92,158, - 158,130,68,56,3,119,119,56,76,142,142,254,124,56,51,71, - 119,192,224,240,240,240,224,192,3,71,119,48,112,240,240,240, - 112,48,0,125,125,254,254,254,254,198,130,130,130,198,254,254, - 254,254,0,125,125,254,254,254,254,198,186,186,186,198,254,254, - 254,254,6,119,119,254,254,254,254,198,186,186,0,119,119,186, - 186,198,254,254,254,254,6,68,116,48,64,128,128,54,68,116, - 192,32,16,16,51,68,116,16,16,32,192,3,68,116,128,128, - 64,48,6,116,116,56,68,130,130,3,116,116,130,130,68,56, - 3,119,119,2,6,14,30,62,126,254,3,119,119,128,192,224, - 240,248,252,254,3,119,119,254,252,248,240,224,192,128,3,119, - 119,254,126,62,30,14,6,2,20,85,117,112,136,136,136,112, - 3,119,119,254,226,226,226,226,226,254,3,119,119,254,142,142, - 142,142,142,254,3,119,119,254,254,250,242,226,194,254,3,119, - 119,254,134,142,158,190,254,254,3,119,119,254,146,146,146,146, - 146,254,2,120,120,16,16,40,40,84,124,146,254,2,120,120, - 16,16,56,56,116,116,242,254,2,120,120,16,16,56,56,92, - 92,158,254,3,119,119,56,68,130,130,130,68,56,2,119,119, - 254,146,146,242,130,130,254,2,119,119,254,130,130,242,146,146, - 254,2,119,119,254,130,130,158,146,146,254,2,119,119,254,146, - 146,158,130,130,254,2,119,119,56,84,146,242,130,68,56,2, - 119,119,56,68,130,242,146,84,56,2,119,119,56,68,130,158, - 146,84,56,2,119,119,56,84,146,158,130,68,56,255,255,255, - 255,255,255,255,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 7, '1' Height: 5 - Calculated Max Values w= 7 h= 9 x= 1 y= 2 dx= 7 dy= 0 ascent= 9 len= 9 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent = 9 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13_75r[471] U8G_FONT_SECTION("u8g_font_7x13_75r") = { - 1,7,13,0,254,7,1,71,0,0,32,79,0,9,0,8, - 0,3,119,119,254,254,254,254,254,254,254,3,119,119,254,130, - 130,130,130,130,254,3,119,119,124,130,130,130,130,130,124,3, - 119,119,254,130,186,186,186,130,254,3,119,119,254,130,254,130, - 254,130,254,3,119,119,254,170,170,170,170,170,254,3,119,119, - 254,170,254,170,254,170,254,3,119,119,254,146,138,198,162,146, - 254,3,119,119,254,146,162,198,138,146,254,3,119,119,254,214, - 170,214,170,214,254,20,85,117,248,248,248,248,248,20,85,117, - 248,136,136,136,248,4,117,117,254,254,254,254,254,4,117,117, - 254,130,130,130,254,19,87,119,248,248,248,248,248,248,248,19, - 87,119,248,136,136,136,136,136,248,4,117,117,62,126,254,252, - 248,4,117,117,62,66,130,132,248,2,120,120,16,16,56,56, - 124,124,254,254,2,120,120,16,16,40,40,68,68,130,254,19, - 86,118,32,32,112,112,248,248,19,86,118,32,32,80,80,136, - 248,3,119,119,128,224,248,254,248,224,128,3,119,119,128,224, - 152,134,152,224,128,4,101,117,192,240,252,240,192,4,101,117, - 192,176,140,176,192,4,117,117,128,240,254,240,128,4,117,117, - 128,240,142,240,128,2,120,120,254,254,124,124,56,56,16,16, - 2,120,120,254,130,68,68,40,40,16,16,19,86,118,248,248, - 112,112,32,32,19,86,118,248,136,80,80,32,32,3,119,119, - 2,14,62,254,62,14,2,3,119,119,2,14,50,194,50,14, - 2,4,101,117,12,60,252,60,12,4,101,117,12,52,196,52, - 12,4,117,117,2,30,254,30,2,4,117,117,2,30,226,30, - 2,2,119,119,16,56,124,254,124,56,16,2,119,119,16,40, - 68,130,68,40,16,2,119,119,16,40,84,186,84,40,16,3, - 119,119,56,68,146,186,146,68,56,18,89,121,32,32,80,80, - 136,80,80,32,32,3,119,119,56,68,130,130,130,68,56,3, - 119,119,40,0,130,0,130,0,40,3,119,119,56,108,170,170, - 170,108,56,3,119,119,56,68,146,170,146,68,56,3,119,119, - 56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13B[2172] U8G_FONT_SECTION("u8g_font_7x13B") = { - 1,7,13,0,254,9,1,105,2,216,32,255,254,11,254,9, - 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, - 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, - 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, - 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, - 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, - 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, - 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, - 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, - 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, - 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, - 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, - 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, - 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, - 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, - 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, - 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, - 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, - 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, - 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, - 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, - 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, - 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, - 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, - 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, - 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, - 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, - 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, - 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, - 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, - 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, - 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, - 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, - 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, - 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, - 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, - 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, - 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, - 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, - 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, - 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, - 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, - 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, - 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, - 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, - 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, - 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, - 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, - 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, - 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, - 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, - 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, - 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, - 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, - 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, - 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, - 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, - 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, - 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, - 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, - 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, - 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, - 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, - 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, - 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, - 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,13,0,112,34,42,122,192,192,0,192,192,192,192,192,192, - 192,3,104,120,16,124,212,208,208,212,124,16,2,105,121,56, - 108,96,96,248,96,96,108,184,3,102,118,204,252,72,72,252, - 204,2,105,121,204,204,120,120,252,48,252,48,48,34,42,122, - 192,192,192,192,0,0,192,192,192,192,2,106,122,120,204,192, - 120,204,204,120,12,204,120,26,82,114,216,216,2,106,122,120, - 204,132,180,228,228,180,132,204,120,20,87,119,240,24,248,152, - 248,0,248,3,103,119,52,104,208,160,208,104,52,3,100,116, - 252,12,12,12,21,65,113,240,2,106,122,120,204,132,188,172, - 188,180,172,204,120,27,81,113,248,7,100,116,120,204,204,120, - 3,103,119,48,48,252,48,48,0,252,6,70,118,224,176,48, - 96,192,240,6,70,118,224,176,96,48,176,224,25,67,115,48, - 96,192,1,103,119,204,204,204,204,204,252,128,2,105,121,124, - 252,244,244,244,116,52,52,52,38,34,114,192,192,16,50,114, - 96,192,6,70,118,96,224,96,96,96,240,21,87,119,112,248, - 136,248,112,0,248,3,103,119,176,88,44,20,44,88,176,2, - 106,122,96,224,96,96,100,252,28,52,60,12,2,106,122,96, - 224,96,96,120,236,12,24,48,60,2,106,122,224,176,96,48, - 180,236,28,52,60,12,2,106,122,48,48,0,48,48,96,192, - 204,204,120,2,106,122,96,48,0,48,120,204,204,252,204,204, - 2,106,122,24,48,0,48,120,204,204,252,204,204,2,106,122, - 56,108,0,48,120,204,204,252,204,204,2,106,122,52,88,0, - 48,120,204,204,252,204,204,2,106,122,204,204,0,48,120,204, - 204,252,204,204,2,106,122,120,72,120,48,120,204,204,252,204, - 204,2,105,121,124,248,216,216,220,248,216,216,220,0,107,123, - 120,204,192,192,192,192,192,204,120,48,96,2,106,122,96,48, - 0,252,192,192,240,192,192,252,2,106,122,24,48,0,252,192, - 192,240,192,192,252,2,106,122,56,108,0,252,192,192,240,192, - 192,252,2,106,122,204,204,0,252,192,192,240,192,192,252,2, - 106,122,96,48,0,252,48,48,48,48,48,252,2,106,122,24, - 48,0,252,48,48,48,48,48,252,2,106,122,56,108,0,252, - 48,48,48,48,48,252,2,106,122,204,204,0,252,48,48,48, - 48,48,252,2,105,121,248,108,108,108,236,108,108,108,248,2, - 106,122,52,88,0,204,204,236,252,220,204,204,2,106,122,96, - 48,0,120,204,204,204,204,204,120,2,106,122,24,48,0,120, - 204,204,204,204,204,120,2,106,122,56,108,0,120,204,204,204, - 204,204,120,2,106,122,52,88,0,120,204,204,204,204,204,120, - 2,106,122,204,204,0,120,204,204,204,204,204,120,3,101,117, - 204,120,48,120,204,1,106,122,4,120,220,220,220,236,236,236, - 120,128,2,106,122,96,48,0,204,204,204,204,204,204,120,2, - 106,122,24,48,0,204,204,204,204,204,204,120,2,106,122,56, - 108,0,204,204,204,204,204,204,120,2,106,122,204,204,0,204, - 204,204,204,204,204,120,2,106,122,24,48,0,204,72,120,48, - 48,48,48,2,105,121,192,248,204,204,204,248,192,192,192,2, - 105,121,120,204,204,216,216,204,204,204,216,2,105,121,48,24, - 0,120,12,124,204,220,124,2,105,121,24,48,0,120,12,124, - 204,220,124,2,105,121,56,108,0,120,12,124,204,220,124,2, - 105,121,52,88,0,120,12,124,204,220,124,2,105,121,108,108, - 0,120,12,124,204,220,124,2,106,122,56,40,56,0,120,12, - 124,204,220,124,2,102,118,120,52,124,176,180,104,0,104,120, - 120,204,192,192,204,120,48,96,2,105,121,48,24,0,120,204, - 252,192,204,120,2,105,121,24,48,0,120,204,252,192,204,120, - 2,105,121,56,108,0,120,204,252,192,204,120,2,105,121,108, - 108,0,120,204,252,192,204,120,18,73,121,192,96,0,224,96, - 96,96,96,240,18,73,121,48,96,0,224,96,96,96,96,240, - 2,89,121,112,216,0,112,48,48,48,48,120,18,89,121,216, - 216,0,224,96,96,96,96,240,2,106,122,104,48,120,12,124, - 204,204,204,204,120,2,105,121,52,88,0,248,236,204,204,204, - 204,2,105,121,96,48,0,120,204,204,204,204,120,2,105,121, - 24,48,0,120,204,204,204,204,120,2,105,121,56,108,0,120, - 204,204,204,204,120,2,105,121,52,88,0,120,204,204,204,204, - 120,2,105,121,108,108,0,120,204,204,204,204,120,3,103,119, - 48,48,0,252,0,48,48,1,105,121,4,120,204,220,204,236, - 204,120,128,2,105,121,96,48,0,204,204,204,204,220,124,2, - 105,121,24,48,0,204,204,204,204,220,124,2,105,121,56,108, - 0,204,204,204,204,220,124,2,105,121,108,108,0,204,204,204, - 204,220,124,0,107,123,24,48,0,204,204,204,220,124,12,204, - 120,0,106,122,192,192,216,236,204,204,236,216,192,192,0,107, - 123,108,108,0,204,204,204,220,108,12,204,120}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13Br[1041] U8G_FONT_SECTION("u8g_font_7x13Br") = { - 1,7,13,0,254,9,1,105,2,216,32,127,254,11,254,9, - 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, - 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, - 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, - 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, - 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, - 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, - 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, - 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, - 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, - 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, - 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, - 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, - 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, - 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, - 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, - 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, - 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, - 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, - 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, - 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, - 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, - 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, - 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, - 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, - 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, - 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, - 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, - 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, - 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, - 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, - 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, - 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, - 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, - 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, - 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, - 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, - 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, - 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, - 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, - 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, - 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, - 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, - 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, - 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, - 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, - 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, - 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, - 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, - 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, - 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, - 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, - 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, - 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, - 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, - 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, - 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, - 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, - 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, - 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, - 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, - 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, - 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, - 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, - 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, - 255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13[2157] U8G_FONT_SECTION("u8g_font_7x13") = { - 1,7,13,0,254,9,1,95,2,207,32,255,254,11,254,10, - 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, - 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, - 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, - 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, - 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, - 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, - 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, - 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, - 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, - 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, - 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, - 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, - 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, - 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, - 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, - 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, - 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, - 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, - 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, - 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, - 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, - 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, - 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, - 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, - 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, - 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, - 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, - 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, - 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, - 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, - 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, - 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, - 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, - 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, - 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, - 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, - 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, - 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, - 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, - 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, - 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, - 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, - 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, - 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, - 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, - 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, - 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, - 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, - 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, - 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, - 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, - 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, - 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, - 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, - 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, - 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, - 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, - 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, - 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, - 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, - 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, - 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, - 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, - 16,16,224,24,83,115,72,168,144,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,13,0,112,50,25,121, - 128,0,128,128,128,128,128,128,128,19,88,120,32,112,168,160, - 160,168,112,32,2,105,121,56,68,64,64,224,64,64,68,184, - 3,102,118,132,120,72,72,120,132,2,89,121,136,136,80,80, - 248,32,248,32,32,50,25,121,128,128,128,128,0,128,128,128, - 128,18,74,122,96,144,128,96,144,144,96,16,144,96,25,66, - 114,144,144,2,105,121,120,132,180,164,164,164,180,132,120,20, - 87,119,112,8,120,136,120,0,248,3,103,119,20,40,80,160, - 80,40,20,20,83,115,248,8,8,22,65,113,240,2,105,121, - 120,132,180,172,172,180,172,132,120,26,81,113,248,23,68,116, - 96,144,144,96,19,87,119,32,32,248,32,32,0,248,22,54, - 118,64,160,32,64,128,224,22,54,118,224,32,64,32,160,64, - 42,34,114,64,128,1,103,119,132,132,132,132,204,180,128,2, - 105,121,124,232,232,232,104,40,40,40,40,38,33,113,192,32, - 34,114,64,128,22,54,118,64,192,64,64,64,224,21,70,118, - 96,144,144,96,0,240,3,103,119,160,80,40,20,40,80,160, - 2,106,122,64,192,64,64,68,236,20,20,28,4,2,106,122, - 64,192,64,64,72,244,4,8,16,28,2,106,122,224,32,64, - 32,164,76,20,20,28,4,2,105,121,32,0,32,32,64,128, - 132,132,120,2,106,122,32,16,0,48,72,132,132,252,132,132, - 2,106,122,16,32,0,48,72,132,132,252,132,132,2,106,122, - 48,72,0,48,72,132,132,252,132,132,2,106,122,100,152,0, - 48,72,132,132,252,132,132,2,106,122,72,72,0,48,72,132, - 132,252,132,132,2,106,122,48,72,48,48,72,132,132,252,132, - 132,2,105,121,92,160,160,160,184,224,160,160,188,0,107,123, - 120,132,128,128,128,128,128,132,120,16,32,2,106,122,32,16, - 0,252,128,128,240,128,128,252,2,106,122,16,32,0,252,128, - 128,240,128,128,252,2,106,122,48,72,0,252,128,128,240,128, - 128,252,2,106,122,72,72,0,252,128,128,240,128,128,252,18, - 90,122,64,32,0,248,32,32,32,32,32,248,18,90,122,32, - 64,0,248,32,32,32,32,32,248,18,90,122,32,80,0,248, - 32,32,32,32,32,248,18,90,122,136,136,0,248,32,32,32, - 32,32,248,2,105,121,248,68,68,68,228,68,68,68,248,2, - 106,122,100,152,0,132,196,164,164,148,140,132,2,106,122,32, - 16,0,120,132,132,132,132,132,120,2,106,122,16,32,0,120, - 132,132,132,132,132,120,2,106,122,48,72,0,120,132,132,132, - 132,132,120,2,106,122,100,152,0,120,132,132,132,132,132,120, - 2,106,122,72,72,0,120,132,132,132,132,132,120,3,102,118, - 132,72,48,48,72,132,1,107,123,4,120,140,148,148,164,164, - 164,196,120,128,2,106,122,32,16,0,132,132,132,132,132,132, - 120,2,106,122,16,32,0,132,132,132,132,132,132,120,2,106, - 122,48,72,0,132,132,132,132,132,132,120,2,106,122,72,72, - 0,132,132,132,132,132,132,120,18,90,122,16,32,0,136,136, - 80,32,32,32,32,2,105,121,128,248,132,132,132,248,128,128, - 128,18,89,121,96,144,144,160,160,144,136,136,176,2,105,121, - 32,16,0,120,4,124,132,140,116,2,105,121,16,32,0,120, - 4,124,132,140,116,2,105,121,48,72,0,120,4,124,132,140, - 116,2,105,121,100,152,0,120,4,124,132,140,116,2,105,121, - 72,72,0,120,4,124,132,140,116,2,106,122,48,72,48,0, - 120,4,124,132,140,116,2,102,118,104,20,124,144,148,104,0, - 104,120,120,132,128,128,132,120,16,32,2,105,121,32,16,0, - 120,132,252,128,132,120,2,105,121,16,32,0,120,132,252,128, - 132,120,2,105,121,48,72,0,120,132,252,128,132,120,2,105, - 121,72,72,0,120,132,252,128,132,120,18,89,121,64,32,0, - 96,32,32,32,32,248,18,89,121,32,64,0,96,32,32,32, - 32,248,18,89,121,96,144,0,96,32,32,32,32,248,18,89, - 121,144,144,0,96,32,32,32,32,248,2,106,122,72,48,80, - 8,120,132,132,132,132,120,2,105,121,100,152,0,184,196,132, - 132,132,132,2,105,121,32,16,0,120,132,132,132,132,120,2, - 105,121,16,32,0,120,132,132,132,132,120,2,105,121,48,72, - 0,120,132,132,132,132,120,2,105,121,100,152,0,120,132,132, - 132,132,120,2,105,121,72,72,0,120,132,132,132,132,120,19, - 87,119,32,32,0,248,0,32,32,1,104,120,4,120,140,148, - 164,196,120,128,2,105,121,32,16,0,132,132,132,132,140,116, - 2,105,121,16,32,0,132,132,132,132,140,116,2,105,121,48, - 72,0,132,132,132,132,140,116,2,105,121,72,72,0,132,132, - 132,132,140,116,0,107,123,16,32,0,132,132,132,140,116,4, - 132,120,0,106,122,128,128,184,196,132,132,196,184,128,128,0, - 107,123,72,72,0,132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13O[2158] U8G_FONT_SECTION("u8g_font_7x13O") = { - 1,7,13,0,254,9,1,96,2,208,32,255,254,11,254,10, - 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, - 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, - 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, - 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, - 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, - 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, - 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, - 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, - 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, - 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, - 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, - 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, - 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, - 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, - 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, - 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, - 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, - 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, - 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, - 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, - 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, - 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, - 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, - 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, - 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, - 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, - 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, - 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, - 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, - 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, - 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, - 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, - 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, - 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, - 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, - 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, - 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, - 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, - 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, - 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, - 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, - 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, - 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, - 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, - 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, - 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, - 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, - 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, - 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, - 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, - 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, - 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, - 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, - 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, - 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, - 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, - 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, - 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, - 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, - 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, - 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, - 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, - 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, - 16,16,16,224,24,83,115,72,168,144,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,13,0,112,34,41, - 121,64,0,64,64,64,128,128,128,128,3,104,120,16,56,84, - 80,160,168,112,32,2,121,121,28,34,32,32,112,32,64,68, - 184,3,118,118,66,60,36,72,120,132,2,105,121,68,68,40, - 40,124,16,248,32,32,34,41,121,64,64,64,64,0,128,128, - 128,128,2,106,122,24,36,32,48,72,72,48,16,144,96,25, - 66,114,144,144,2,121,121,60,66,90,82,82,164,180,132,120, - 4,103,119,56,4,60,68,60,0,248,3,103,119,20,40,80, - 160,160,80,40,20,83,115,248,16,16,22,65,113,240,2,121, - 121,60,66,90,86,172,180,172,132,120,26,81,113,248,23,68, - 116,96,144,144,96,19,87,119,16,16,120,32,32,0,248,22, - 70,118,32,80,16,96,128,224,22,70,118,96,16,96,32,160, - 64,42,34,114,64,128,1,119,119,66,66,66,132,204,180,128, - 2,105,121,124,232,232,232,40,80,80,80,80,38,33,113,192, - 32,34,114,64,128,38,54,118,32,96,32,64,64,224,21,86, - 118,48,72,72,48,0,240,3,103,119,80,40,20,20,40,80, - 160,2,106,122,32,96,32,64,68,236,20,40,56,8,2,106, - 122,32,96,32,64,72,244,4,24,32,56,2,106,122,96,16, - 96,32,164,76,20,40,56,8,2,105,121,16,0,16,16,32, - 64,132,132,120,2,122,122,16,8,0,24,36,66,66,124,132, - 132,2,122,122,8,16,0,24,36,66,66,124,132,132,2,122, - 122,24,36,0,24,36,66,66,124,132,132,2,122,122,50,76, - 0,24,36,66,66,124,132,132,2,122,122,36,36,0,24,36, - 66,66,124,132,132,2,122,122,24,36,24,24,36,66,66,124, - 132,132,2,121,121,46,80,80,80,124,160,160,160,188,0,123, - 123,60,66,64,64,64,128,128,132,120,16,32,2,122,122,16, - 8,0,126,64,64,112,128,128,252,2,122,122,8,16,0,126, - 64,64,112,128,128,252,2,122,122,24,36,0,126,64,64,112, - 128,128,252,2,122,122,36,36,0,126,64,64,112,128,128,252, - 2,106,122,32,16,0,124,16,16,32,32,32,248,2,106,122, - 16,32,0,124,16,16,32,32,32,248,2,106,122,16,40,0, - 124,16,16,32,32,32,248,2,106,122,68,68,0,124,16,16, - 32,32,32,248,2,121,121,124,34,34,34,242,68,68,68,248, - 2,122,122,50,76,0,66,98,82,82,140,140,132,2,122,122, - 16,8,0,60,66,66,132,132,132,120,2,122,122,8,16,0, - 60,66,66,132,132,132,120,2,122,122,24,36,0,60,66,66, - 132,132,132,120,2,122,122,50,76,0,60,66,66,132,132,132, - 120,2,122,122,36,36,0,60,66,66,132,132,132,120,3,118, - 118,66,36,24,48,72,132,1,123,123,2,60,70,74,74,82, - 164,164,196,120,128,2,122,122,16,8,0,66,66,66,132,132, - 132,120,2,122,122,8,16,0,66,66,66,132,132,132,120,2, - 122,122,24,36,0,66,66,66,132,132,132,120,2,122,122,36, - 36,0,66,66,66,132,132,132,120,18,90,122,16,32,0,136, - 136,80,32,32,64,64,2,121,121,64,124,66,66,66,124,128, - 128,128,18,89,121,48,72,72,80,80,144,136,136,176,2,121, - 121,16,8,0,60,2,124,132,140,116,2,121,121,8,16,0, - 60,2,124,132,140,116,2,121,121,24,36,0,60,2,124,132, - 140,116,2,121,121,50,76,0,60,2,124,132,140,116,2,121, - 121,36,36,0,60,2,124,132,140,116,2,122,122,24,36,24, - 0,60,2,124,132,140,116,2,118,118,52,10,124,144,148,104, - 0,120,120,60,66,128,128,132,120,16,32,2,121,121,16,8, - 0,60,66,124,128,132,120,2,121,121,8,16,0,60,66,124, - 128,132,120,2,121,121,24,36,0,60,66,124,128,132,120,2, - 121,121,36,36,0,60,66,124,128,132,120,18,89,121,32,16, - 0,48,16,32,32,32,248,18,89,121,16,32,0,48,16,32, - 32,32,248,18,89,121,48,72,0,48,16,32,32,32,248,18, - 89,121,72,72,0,48,16,32,32,32,248,2,122,122,36,24, - 40,4,60,66,66,132,132,120,2,121,121,50,76,0,92,98, - 66,132,132,132,2,121,121,16,8,0,60,66,66,132,132,120, - 2,121,121,8,16,0,60,66,66,132,132,120,2,121,121,24, - 36,0,60,66,66,132,132,120,2,121,121,50,76,0,60,66, - 66,132,132,120,2,121,121,36,36,0,60,66,66,132,132,120, - 19,71,119,32,32,0,240,0,64,64,1,120,120,2,60,74, - 82,164,196,120,128,2,121,121,16,8,0,66,66,66,132,140, - 116,2,121,121,8,16,0,66,66,66,132,140,116,2,121,121, - 24,36,0,66,66,66,132,140,116,2,121,121,36,36,0,66, - 66,66,132,140,116,0,123,123,8,16,0,66,66,132,140,116, - 4,132,120,0,122,122,64,64,92,98,66,132,196,184,128,128, - 0,123,123,36,36,0,66,66,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13Or[1035] U8G_FONT_SECTION("u8g_font_7x13Or") = { - 1,7,13,0,254,9,1,96,2,208,32,127,254,11,254,10, - 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, - 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, - 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, - 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, - 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, - 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, - 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, - 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, - 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, - 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, - 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, - 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, - 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, - 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, - 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, - 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, - 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, - 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, - 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, - 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, - 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, - 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, - 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, - 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, - 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, - 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, - 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, - 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, - 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, - 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, - 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, - 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, - 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, - 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, - 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, - 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, - 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, - 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, - 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, - 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, - 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, - 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, - 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, - 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, - 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, - 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, - 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, - 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, - 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, - 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, - 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, - 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, - 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, - 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, - 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, - 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, - 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, - 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, - 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, - 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, - 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, - 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, - 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, - 16,16,16,224,24,83,115,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 - Font Bounding box w= 7 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x13r[1034] U8G_FONT_SECTION("u8g_font_7x13r") = { - 1,7,13,0,254,9,1,95,2,207,32,127,254,11,254,10, - 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, - 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, - 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, - 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, - 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, - 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, - 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, - 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, - 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, - 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, - 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, - 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, - 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, - 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, - 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, - 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, - 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, - 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, - 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, - 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, - 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, - 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, - 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, - 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, - 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, - 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, - 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, - 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, - 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, - 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, - 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, - 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, - 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, - 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, - 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, - 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, - 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, - 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, - 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, - 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, - 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, - 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, - 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, - 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, - 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, - 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, - 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, - 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, - 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, - 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, - 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, - 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, - 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, - 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, - 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, - 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, - 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, - 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, - 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, - 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, - 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, - 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, - 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, - 16,16,224,24,83,115,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=14 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14B[2390] U8G_FONT_SECTION("u8g_font_7x14B") = { - 1,7,14,0,254,10,1,137,3,30,32,255,254,12,254,11, - 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, - 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, - 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, - 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, - 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, - 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, - 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, - 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, - 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, - 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, - 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, - 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, - 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, - 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, - 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, - 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, - 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, - 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, - 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, - 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, - 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, - 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, - 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, - 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, - 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, - 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, - 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, - 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, - 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, - 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, - 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, - 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, - 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, - 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, - 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, - 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, - 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, - 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, - 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, - 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, - 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, - 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, - 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, - 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, - 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, - 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, - 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, - 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, - 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, - 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, - 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, - 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, - 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, - 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, - 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, - 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, - 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, - 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, - 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, - 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, - 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, - 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, - 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, - 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, - 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, - 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, - 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, - 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, - 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, - 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, - 24,48,48,48,48,48,224,9,100,116,68,244,188,136,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,14, - 0,112,34,42,122,192,192,0,192,192,192,192,192,192,192,1, - 105,121,48,124,180,176,176,176,180,124,48,2,105,121,56,108, - 96,96,240,96,96,248,108,4,102,118,204,120,104,88,120,204, - 2,106,122,132,204,120,252,48,48,252,48,48,48,34,42,122, - 192,192,192,192,0,0,192,192,192,192,2,107,123,120,204,96, - 48,120,204,120,48,24,204,120,27,82,114,216,216,2,107,123, - 120,204,252,236,236,236,236,236,252,204,120,21,88,120,112,216, - 120,216,216,120,0,248,2,103,119,28,60,120,240,120,60,28, - 2,101,117,252,252,12,12,12,22,65,113,240,2,107,123,120, - 204,252,236,236,252,236,236,236,204,120,28,81,113,248,25,84, - 116,112,216,216,112,2,102,118,48,48,252,48,48,252,22,87, - 119,112,216,24,48,96,192,248,22,87,119,112,216,24,112,24, - 216,112,26,67,115,48,96,192,0,104,120,204,204,204,204,220, - 252,192,192,0,108,124,124,236,236,236,236,108,44,44,44,44, - 44,60,39,34,114,192,192,32,51,115,96,96,192,22,54,118, - 96,224,96,96,96,96,22,86,118,112,216,216,112,0,248,2, - 103,119,224,112,56,28,56,112,224,2,106,122,100,236,104,120, - 120,52,108,92,220,140,2,106,122,100,236,104,120,120,56,116, - 76,216,156,2,106,122,196,108,232,120,240,60,108,220,156,12, - 0,107,123,96,96,0,96,96,96,96,96,204,204,120,2,108, - 124,96,48,0,120,252,204,204,204,252,204,204,204,2,108,124, - 24,48,0,120,252,204,204,204,252,204,204,204,2,108,124,48, - 120,0,120,252,204,204,204,252,204,204,204,2,108,124,104,176, - 0,120,252,204,204,204,252,204,204,204,2,108,124,204,204,0, - 120,252,204,204,204,252,204,204,204,2,108,124,48,72,48,0, - 120,252,204,204,252,204,204,204,2,122,122,126,216,216,216,220, - 248,216,216,216,222,0,108,124,120,204,204,192,192,192,192,204, - 204,120,48,96,2,108,124,96,48,0,252,192,192,192,248,192, - 192,192,252,2,108,124,24,48,0,252,192,192,192,248,192,192, - 192,252,2,108,124,48,120,0,252,192,192,192,248,192,192,192, - 252,2,108,124,204,204,0,252,192,192,192,248,192,192,192,252, - 2,108,124,96,48,0,252,48,48,48,48,48,48,48,252,2, - 108,124,24,48,0,252,48,48,48,48,48,48,48,252,2,108, - 124,48,120,0,252,48,48,48,48,48,48,48,252,2,108,124, - 204,204,0,252,48,48,48,48,48,48,48,252,2,122,122,120, - 108,102,102,254,102,102,102,108,120,2,108,124,104,176,0,204, - 236,236,236,220,220,220,204,204,2,108,124,96,48,0,120,204, - 204,204,204,204,204,204,120,2,108,124,24,48,0,120,204,204, - 204,204,204,204,204,120,2,108,124,48,120,0,120,204,204,204, - 204,204,204,204,120,2,108,124,104,176,0,120,204,204,204,204, - 204,204,204,120,2,108,124,204,204,0,120,204,204,204,204,204, - 204,204,120,2,119,119,198,108,56,56,108,198,130,0,110,126, - 4,4,120,220,220,220,220,236,236,236,236,120,128,128,2,108, - 124,96,48,0,204,204,204,204,204,204,204,204,120,2,108,124, - 24,48,0,204,204,204,204,204,204,204,204,120,2,108,124,48, - 120,0,204,204,204,204,204,204,204,204,120,2,108,124,204,204, - 0,204,204,204,204,204,204,204,204,120,2,108,124,24,48,0, - 204,204,204,120,120,120,48,48,48,2,106,122,192,192,248,204, - 204,204,204,248,192,192,2,106,122,56,108,108,108,120,108,108, - 108,108,248,2,106,122,96,48,0,120,204,60,108,204,204,124, - 2,106,122,24,48,0,120,204,60,108,204,204,124,2,106,122, - 48,120,0,120,204,60,108,204,204,124,2,106,122,104,176,0, - 120,204,60,108,204,204,124,2,106,122,204,204,0,120,204,60, - 108,204,204,124,2,107,123,48,72,48,0,120,204,60,108,204, - 204,124,2,119,119,124,218,58,94,216,222,124,0,105,121,120, - 204,192,192,192,204,120,48,96,2,106,122,96,48,0,120,204, - 204,252,192,204,120,2,106,122,24,48,0,120,204,204,252,192, - 204,120,2,106,122,48,120,0,120,204,204,252,192,204,120,2, - 106,122,204,204,0,120,204,204,252,192,204,120,34,58,122,192, - 96,0,96,96,96,96,96,96,96,34,58,122,96,192,0,192, - 192,192,192,192,192,192,18,74,122,96,240,0,96,96,96,96, - 96,96,96,2,106,122,204,204,0,48,48,48,48,48,48,48, - 2,107,123,216,112,240,152,12,124,204,204,204,204,120,2,106, - 122,104,176,0,248,204,204,204,204,204,204,2,106,122,96,48, - 0,120,204,204,204,204,204,120,2,106,122,24,48,0,120,204, - 204,204,204,204,120,2,106,122,48,120,0,120,204,204,204,204, - 204,120,2,106,122,104,176,0,120,204,204,204,204,204,120,2, - 106,122,204,204,0,120,204,204,204,204,204,120,2,104,120,48, - 48,0,252,252,0,48,48,0,107,123,4,8,120,220,220,236, - 236,204,120,128,128,2,106,122,96,48,0,204,204,204,204,204, - 204,124,2,106,122,24,48,0,204,204,204,204,204,204,124,2, - 106,122,48,120,0,204,204,204,204,204,204,124,2,106,122,204, - 204,0,204,204,204,204,204,204,124,0,108,124,24,48,0,204, - 204,204,120,56,56,48,240,96,0,108,124,192,192,192,248,204, - 204,204,204,204,248,192,192,0,108,124,204,204,0,204,204,204, - 120,56,56,48,240,96}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 6 h=13 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=13 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14Br[1151] U8G_FONT_SECTION("u8g_font_7x14Br") = { - 1,7,14,0,254,10,1,137,3,30,32,127,254,12,254,11, - 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, - 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, - 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, - 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, - 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, - 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, - 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, - 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, - 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, - 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, - 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, - 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, - 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, - 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, - 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, - 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, - 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, - 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, - 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, - 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, - 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, - 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, - 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, - 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, - 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, - 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, - 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, - 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, - 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, - 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, - 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, - 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, - 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, - 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, - 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, - 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, - 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, - 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, - 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, - 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, - 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, - 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, - 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, - 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, - 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, - 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, - 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, - 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, - 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, - 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, - 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, - 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, - 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, - 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, - 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, - 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, - 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, - 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, - 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, - 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, - 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, - 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, - 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, - 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, - 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, - 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, - 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, - 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, - 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, - 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, - 24,48,48,48,48,48,224,9,100,116,68,244,188,136,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=14 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14[2374] U8G_FONT_SECTION("u8g_font_7x14") = { - 1,7,14,0,254,10,1,138,3,30,32,255,254,12,254,11, - 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, - 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, - 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, - 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, - 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, - 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, - 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, - 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, - 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, - 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, - 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, - 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, - 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, - 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, - 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, - 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, - 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, - 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, - 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, - 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, - 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, - 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, - 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, - 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, - 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, - 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, - 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, - 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, - 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, - 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, - 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, - 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, - 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, - 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, - 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, - 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, - 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, - 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, - 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, - 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, - 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, - 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, - 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, - 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, - 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, - 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, - 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, - 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, - 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, - 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, - 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, - 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, - 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, - 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, - 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, - 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, - 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, - 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, - 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, - 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, - 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, - 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, - 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, - 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, - 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, - 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, - 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, - 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, - 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, - 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, - 16,32,32,32,32,32,192,9,100,116,64,164,148,8,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,14, - 0,112,50,26,122,128,128,0,128,128,128,128,128,128,128,1, - 105,121,32,120,164,160,160,160,164,120,32,18,89,121,48,72, - 64,64,240,64,64,240,72,4,102,118,132,120,72,72,120,132, - 18,90,122,136,80,80,32,248,32,248,32,32,32,50,26,122, - 128,128,128,128,0,0,128,128,128,128,2,107,123,120,132,64, - 48,72,132,72,48,8,132,120,27,66,114,144,144,2,107,123, - 120,132,180,204,196,196,196,204,180,132,120,21,88,120,112,136, - 120,136,152,104,0,248,2,103,119,20,40,80,160,80,40,20, - 18,84,116,248,8,8,8,22,65,113,240,2,107,123,120,132, - 244,204,204,244,204,204,204,132,120,27,81,113,248,25,68,116, - 96,144,144,96,18,86,118,32,32,248,32,32,248,22,71,119, - 96,144,16,32,64,128,240,22,71,119,96,144,16,96,16,144, - 96,42,51,115,32,64,128,16,88,120,136,136,136,136,216,168, - 128,128,16,92,124,120,168,168,168,168,104,40,40,40,40,40, - 56,55,17,113,128,32,35,115,64,64,128,38,55,119,64,192, - 64,64,64,64,224,22,70,118,96,144,144,96,0,240,2,103, - 119,160,80,40,20,40,80,160,2,106,122,64,196,72,72,80, - 36,44,84,156,132,2,106,122,64,196,72,72,80,40,52,68, - 136,156,2,106,122,196,36,72,48,208,36,76,84,156,4,0, - 107,123,32,32,0,32,32,32,32,64,132,132,120,2,108,124, - 32,16,0,48,72,132,132,252,132,132,132,132,2,108,124,16, - 32,0,48,72,132,132,252,132,132,132,132,2,108,124,48,72, - 0,48,72,132,132,252,132,132,132,132,2,108,124,100,152,0, - 48,72,132,132,252,132,132,132,132,2,107,123,72,0,48,72, - 132,132,252,132,132,132,132,2,107,123,48,72,48,72,132,132, - 252,132,132,132,132,2,106,122,60,80,144,144,252,144,144,144, - 144,156,0,108,124,120,132,132,128,128,128,128,132,132,120,16, - 32,2,108,124,32,16,0,252,128,128,128,248,128,128,128,252, - 2,108,124,16,32,0,252,128,128,128,248,128,128,128,252,2, - 108,124,48,72,0,252,128,128,128,248,128,128,128,252,2,107, - 123,72,0,252,128,128,128,248,128,128,128,252,18,92,124,64, - 32,0,248,32,32,32,32,32,32,32,248,18,92,124,16,32, - 0,248,32,32,32,32,32,32,32,248,18,92,124,32,80,0, - 248,32,32,32,32,32,32,32,248,18,91,123,80,0,248,32, - 32,32,32,32,32,32,248,2,122,122,120,68,66,66,242,66, - 66,66,68,120,2,108,124,100,152,0,196,196,164,164,148,148, - 148,140,140,2,108,124,32,16,0,120,132,132,132,132,132,132, - 132,120,2,108,124,16,32,0,120,132,132,132,132,132,132,132, - 120,2,108,124,48,72,0,120,132,132,132,132,132,132,132,120, - 2,108,124,100,152,0,120,132,132,132,132,132,132,132,120,2, - 107,123,72,0,120,132,132,132,132,132,132,132,120,2,119,119, - 130,68,40,16,40,68,130,0,110,126,4,4,120,140,148,148, - 148,164,164,164,196,120,128,128,2,108,124,32,16,0,132,132, - 132,132,132,132,132,132,120,2,108,124,16,32,0,132,132,132, - 132,132,132,132,132,120,2,108,124,48,72,0,132,132,132,132, - 132,132,132,132,120,2,107,123,72,0,132,132,132,132,132,132, - 132,132,120,18,92,124,16,32,0,136,136,80,80,32,32,32, - 32,32,2,106,122,128,128,248,132,132,132,132,248,128,128,2, - 106,122,48,72,72,72,112,72,68,68,68,248,2,106,122,32, - 16,0,120,132,4,124,132,132,124,2,106,122,8,16,0,120, - 132,4,124,132,132,124,2,106,122,48,72,0,120,132,4,124, - 132,132,124,2,106,122,100,152,0,120,132,4,124,132,132,124, - 2,105,121,72,0,120,132,4,124,132,132,124,2,107,123,48, - 72,48,0,120,132,4,124,132,132,124,2,119,119,124,146,50, - 94,144,146,124,0,105,121,120,132,128,128,128,132,120,16,32, - 2,106,122,32,16,0,120,132,132,252,128,132,120,2,106,122, - 16,32,0,120,132,132,252,128,132,120,2,106,122,48,72,0, - 120,132,132,252,128,132,120,2,105,121,72,0,120,132,132,252, - 128,132,120,18,90,122,64,32,0,96,32,32,32,32,32,248, - 18,90,122,16,32,0,96,32,32,32,32,32,248,18,90,122, - 96,144,0,96,32,32,32,32,32,248,18,89,121,80,0,96, - 32,32,32,32,32,248,18,91,123,80,32,80,8,120,136,136, - 136,136,136,112,2,106,122,100,152,0,184,196,132,132,132,132, - 132,2,106,122,32,16,0,120,132,132,132,132,132,120,2,106, - 122,16,32,0,120,132,132,132,132,132,120,2,106,122,48,72, - 0,120,132,132,132,132,132,120,2,106,122,100,152,0,120,132, - 132,132,132,132,120,2,105,121,72,0,120,132,132,132,132,132, - 120,2,101,117,48,0,252,0,48,0,107,123,4,8,120,148, - 148,164,164,196,120,128,128,2,106,122,32,16,0,132,132,132, - 132,132,140,116,2,106,122,16,32,0,132,132,132,132,132,140, - 116,2,106,122,48,72,0,132,132,132,132,132,140,116,2,105, - 121,72,0,132,132,132,132,132,140,116,0,108,124,16,32,0, - 132,132,68,72,40,56,16,144,96,0,108,124,128,128,128,184, - 196,132,132,132,196,184,128,128,0,107,123,72,0,132,132,68, - 72,40,56,16,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=13 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=13 - Font Bounding box w= 7 h=14 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_7x14r[1151] U8G_FONT_SECTION("u8g_font_7x14r") = { - 1,7,14,0,254,10,1,138,3,30,32,127,254,12,254,11, - 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, - 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, - 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, - 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, - 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, - 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, - 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, - 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, - 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, - 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, - 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, - 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, - 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, - 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, - 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, - 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, - 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, - 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, - 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, - 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, - 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, - 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, - 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, - 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, - 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, - 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, - 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, - 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, - 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, - 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, - 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, - 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, - 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, - 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, - 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, - 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, - 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, - 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, - 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, - 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, - 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, - 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, - 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, - 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, - 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, - 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, - 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, - 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, - 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, - 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, - 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, - 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, - 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, - 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, - 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, - 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, - 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, - 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, - 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, - 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, - 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, - 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, - 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, - 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, - 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, - 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, - 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, - 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, - 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, - 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, - 16,32,32,32,32,32,192,9,100,116,64,164,148,8,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 3, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 7 y= 9 dx= 8 dy= 0 ascent=11 len=13 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[2420] U8G_FONT_SECTION("u8g_font_8x13_67_75") = { - 1,8,13,0,254,3,1,94,2,193,32,255,0,11,254,10, - 0,3,133,133,36,18,255,18,36,18,88,136,32,32,168,112, - 32,168,112,32,2,119,135,16,34,68,248,68,34,16,18,119, - 135,16,136,68,62,68,136,16,3,133,133,32,65,255,65,32, - 18,89,137,32,112,168,32,32,32,32,32,112,3,133,133,4, - 130,255,130,4,18,89,137,112,32,32,32,32,32,168,112,32, - 2,122,138,16,56,84,16,16,16,84,56,16,254,3,133,133, - 34,65,254,64,32,3,133,133,68,130,127,2,4,3,133,133, - 34,69,254,68,36,3,133,133,68,162,127,34,36,3,133,133, - 36,90,231,66,36,3,133,133,36,82,255,82,36,18,106,138, - 64,64,128,152,104,8,16,84,56,16,18,106,138,32,64,252, - 68,36,4,4,4,4,4,18,106,138,16,8,252,136,144,128, - 128,128,128,128,18,106,138,4,4,4,4,4,36,68,252,64, - 32,18,106,138,128,128,128,128,128,144,136,252,8,16,18,104, - 136,240,16,16,16,16,84,56,16,18,90,138,8,8,8,8, - 8,40,72,248,64,32,4,135,135,12,18,33,33,169,112,32, - 4,135,135,48,72,132,132,149,14,4,2,136,136,255,0,112, - 96,80,8,4,2,2,136,136,136,144,190,144,9,125,9,17, - 4,135,135,100,142,149,132,132,72,48,4,135,135,38,113,169, - 33,33,18,12,5,131,131,32,64,255,3,131,131,255,64,32, - 50,57,137,128,192,160,128,128,128,128,128,128,34,57,137,32, - 96,160,32,32,32,32,32,32,5,131,131,4,2,255,3,131, - 131,255,2,4,50,57,137,128,128,128,128,128,128,160,192,128, - 34,57,137,32,32,32,32,32,32,160,96,32,2,121,137,8, - 4,254,4,40,64,254,64,32,2,138,138,36,116,172,36,36, - 36,36,53,46,36,2,121,137,32,64,254,64,40,4,254,4, - 8,2,139,139,32,64,255,64,32,0,32,64,255,64,32,2, - 122,138,68,238,68,68,68,68,68,68,68,68,2,139,139,4, - 2,255,2,4,0,4,2,255,2,4,2,122,138,68,68,68, - 68,68,68,68,68,238,68,2,119,135,32,64,254,0,254,4, - 8,2,119,135,8,4,254,0,254,64,32,2,135,135,16,33, - 127,130,127,36,16,3,133,133,36,126,153,126,36,2,135,135, - 8,36,254,65,254,132,8,2,135,135,16,32,127,128,127,32, - 16,18,121,137,16,40,108,170,40,40,40,40,40,2,135,135, - 8,4,254,1,254,4,8,2,121,137,40,40,40,40,40,170, - 108,40,16,3,133,133,36,126,129,126,36,2,123,139,16,40, - 108,170,40,40,40,170,108,40,16,2,119,135,252,144,136,196, - 162,144,8,18,119,135,126,18,34,70,138,18,32,18,119,135, - 32,18,138,70,34,18,126,2,119,135,8,144,162,196,136,144, - 252,2,137,137,8,16,63,64,255,64,63,16,8,2,137,137, - 16,8,252,2,255,2,252,8,16,2,135,135,16,32,72,245, - 66,32,16,2,135,135,8,4,18,175,66,4,8,2,122,138, - 16,56,84,146,16,124,16,124,16,16,2,122,138,16,16,124, - 16,124,16,146,84,56,16,2,119,135,16,32,64,182,64,32, - 16,2,122,138,16,40,84,146,0,16,16,0,16,16,18,119, - 135,16,8,4,218,4,8,16,2,122,138,16,16,0,16,16, - 0,146,84,40,16,3,117,133,144,160,254,160,144,19,117,133, - 18,10,254,10,18,2,135,135,16,48,95,129,95,48,16,2, - 121,137,16,40,68,238,40,40,40,40,56,2,135,135,8,12, - 250,129,250,12,8,2,121,137,56,40,40,40,40,238,68,40, - 16,1,123,139,16,40,68,238,40,40,56,0,56,40,56,1, - 122,138,16,40,68,238,40,40,40,108,68,124,1,122,138,16, - 40,68,254,40,40,40,108,68,124,1,122,138,16,40,68,254, - 56,56,56,124,68,124,2,121,137,16,40,68,238,68,238,40, - 40,56,1,122,138,16,40,68,238,68,238,40,108,68,124,2, - 135,135,136,140,250,129,250,140,136,2,119,135,254,128,188,176, - 168,164,130,2,119,135,130,74,42,26,122,2,254,2,121,137, - 16,40,68,238,40,238,68,40,16,4,133,133,36,82,255,82, - 36,2,138,138,36,46,53,36,36,36,36,172,116,36,0,141, - 141,4,2,255,2,4,2,255,2,4,2,255,2,4,4,117, - 133,40,72,254,72,40,20,117,133,40,36,254,36,40,4,117, - 133,16,84,254,84,16,4,133,133,42,74,255,74,42,4,133, - 133,84,82,255,82,84,4,133,133,24,90,255,90,24,3,135, - 135,16,48,80,159,80,48,16,3,135,135,8,12,10,249,10, - 12,8,4,133,133,36,102,189,102,36,7,134,134,255,255,255, - 255,255,255,0,130,130,255,255,0,131,131,255,255,255,0,133, - 133,255,255,255,255,255,0,135,135,255,255,255,255,255,255,255, - 0,136,136,255,255,255,255,255,255,255,255,0,138,138,255,255, - 255,255,255,255,255,255,255,255,0,139,139,255,255,255,255,255, - 255,255,255,255,255,255,0,141,141,255,255,255,255,255,255,255, - 255,255,255,255,255,255,0,125,141,254,254,254,254,254,254,254, - 254,254,254,254,254,254,0,109,141,252,252,252,252,252,252,252, - 252,252,252,252,252,252,0,93,141,248,248,248,248,248,248,248, - 248,248,248,248,248,248,0,77,141,240,240,240,240,240,240,240, - 240,240,240,240,240,240,0,61,141,224,224,224,224,224,224,224, - 224,224,224,224,224,224,0,45,141,192,192,192,192,192,192,192, - 192,192,192,192,192,192,0,29,141,128,128,128,128,128,128,128, - 128,128,128,128,128,128,64,77,141,240,240,240,240,240,240,240, - 240,240,240,240,240,240,1,139,139,85,0,170,0,85,0,170, - 0,85,0,170,0,141,141,170,85,170,85,170,85,170,85,170, - 85,170,85,170,0,141,141,255,85,255,170,255,85,255,170,255, - 85,255,170,255,11,130,130,255,255,112,29,141,128,128,128,128, - 128,128,128,128,128,128,128,128,128,0,71,135,240,240,240,240, - 240,240,240,64,71,135,240,240,240,240,240,240,240,7,70,134, - 240,240,240,240,240,240,0,141,141,240,240,240,240,240,240,255, - 255,255,255,255,255,255,0,141,141,240,240,240,240,240,240,15, - 15,15,15,15,15,15,0,141,141,255,255,255,255,255,255,240, - 240,240,240,240,240,240,0,141,141,255,255,255,255,255,255,15, - 15,15,15,15,15,15,71,70,134,240,240,240,240,240,240,0, - 141,141,15,15,15,15,15,15,240,240,240,240,240,240,240,0, - 141,141,15,15,15,15,15,15,255,255,255,255,255,255,255,2, - 119,135,254,254,254,254,254,254,254,2,119,135,254,130,130,130, - 130,130,254,2,119,135,124,130,130,130,130,130,124,2,119,135, - 254,130,186,186,186,130,254,2,119,135,254,130,254,130,254,130, - 254,2,119,135,254,170,170,170,170,170,254,2,119,135,254,170, - 254,170,254,170,254,2,119,135,254,146,138,198,162,146,254,2, - 119,135,254,146,162,198,138,146,254,2,119,135,254,214,170,214, - 170,214,254,37,51,131,224,224,224,37,51,131,224,160,224,21, - 100,132,252,252,252,252,21,100,132,252,132,132,252,18,89,137, - 248,248,248,248,248,248,248,248,248,18,89,137,248,136,136,136, - 136,136,136,136,248,5,132,132,31,62,124,248,5,132,132,31, - 34,68,248,2,136,136,24,24,60,60,126,126,255,255,2,136, - 136,24,24,36,36,66,66,129,255,18,102,134,48,48,120,120, - 252,252,18,102,134,48,48,72,72,132,252,18,107,139,128,192, - 224,240,248,252,248,240,224,192,128,18,107,139,128,192,160,144, - 136,132,136,144,160,192,128,20,101,133,192,240,252,240,192,20, - 101,133,192,176,140,176,192,3,119,135,128,224,248,254,248,224, - 128,3,119,135,128,224,152,134,152,224,128,2,136,136,255,255, - 126,126,60,60,24,24,2,136,136,255,129,66,66,36,36,24, - 24,18,102,134,252,252,120,120,48,48,18,102,134,252,132,72, - 72,48,48,18,107,139,4,12,28,60,124,252,124,60,28,12, - 4,18,107,139,4,12,20,36,68,132,68,36,20,12,4,20, - 101,133,12,60,252,60,12,20,101,133,12,52,196,52,12,3, - 119,135,2,14,62,254,62,14,2,3,119,135,2,14,50,194, - 50,14,2,3,119,135,16,56,124,254,124,56,16,3,119,135, - 16,40,68,130,68,40,16,3,119,135,16,40,84,186,84,40, - 16,3,119,135,56,68,146,186,146,68,56,18,105,137,48,48, - 72,72,132,72,72,48,48,2,136,136,60,66,129,129,129,129, - 66,60,2,136,136,24,66,0,129,129,0,66,24,2,136,136, - 60,106,171,171,171,171,106,60,2,136,136,60,66,153,165,165, - 153,66,60,2,136,136,60,126,255,255,255,255,126,60,2,136, - 136,60,114,241,241,241,241,114,60,2,136,136,60,78,143,143, - 143,143,78,60,2,136,136,60,66,129,129,255,255,126,60,2, - 136,136,60,126,255,255,129,129,66,60,2,136,136,60,78,143, - 143,129,129,66,60,2,136,136,60,78,143,143,255,255,126,60, - 2,72,136,48,112,240,240,240,240,112,48,66,72,136,192,224, - 240,240,240,240,224,192,0,141,141,255,255,255,255,195,129,129, - 129,129,195,255,255,255,0,141,141,255,255,255,255,195,153,189, - 189,153,195,255,255,255,6,135,135,255,255,255,255,195,153,189, - 0,134,134,189,153,195,255,255,255,6,68,132,48,64,128,128, - 70,68,132,192,32,16,16,66,68,132,16,16,32,192,2,68, - 132,128,128,64,48,6,132,132,60,66,129,129,2,132,132,129, - 129,66,60,2,136,136,1,3,7,15,31,63,127,255,2,136, - 136,128,192,224,240,248,252,254,255,2,136,136,255,254,252,248, - 240,224,192,128,2,136,136,255,127,63,31,15,7,3,1,20, - 85,133,112,136,136,136,112,2,120,136,254,226,226,226,226,226, - 226,254,2,120,136,254,142,142,142,142,142,142,254,2,120,136, - 254,254,250,242,226,194,130,254,2,120,136,254,130,134,142,158, - 190,254,254,2,120,136,254,146,146,146,146,146,146,254,2,122, - 138,16,16,40,40,68,84,124,146,130,254,2,122,138,16,16, - 56,56,116,116,116,242,242,254,2,122,138,16,16,56,56,92, - 92,92,158,158,254,2,136,136,60,66,129,129,129,129,66,60, - 2,119,135,254,146,146,242,130,130,254,2,119,135,254,130,130, - 242,146,146,254,2,119,135,254,130,130,158,146,146,254,2,119, - 135,254,146,146,158,130,130,254,2,119,135,124,146,146,242,130, - 130,124,2,119,135,124,130,130,242,146,146,124,2,119,135,124, - 130,130,158,146,146,124,2,119,135,124,146,146,158,130,130,124, - 19,102,134,252,136,144,160,192,128,19,102,134,252,68,36,20, - 12,4,19,102,134,128,192,160,144,136,252,19,102,134,252,132, - 132,132,132,252,19,102,134,252,252,252,252,252,252,37,68,132, - 240,144,144,240,37,68,132,240,240,240,240,19,102,134,4,12, - 20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 11, '1' Height: 4 - Calculated Max Values w= 8 h=11 x= 2 y= 3 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13_75r[496] U8G_FONT_SECTION("u8g_font_8x13_75r") = { - 1,8,13,0,254,11,1,83,0,0,32,79,0,11,0,11, - 0,2,119,135,254,254,254,254,254,254,254,2,119,135,254,130, - 130,130,130,130,254,2,119,135,124,130,130,130,130,130,124,2, - 119,135,254,130,186,186,186,130,254,2,119,135,254,130,254,130, - 254,130,254,2,119,135,254,170,170,170,170,170,254,2,119,135, - 254,170,254,170,254,170,254,2,119,135,254,146,138,198,162,146, - 254,2,119,135,254,146,162,198,138,146,254,2,119,135,254,214, - 170,214,170,214,254,37,51,131,224,224,224,37,51,131,224,160, - 224,21,100,132,252,252,252,252,21,100,132,252,132,132,252,18, - 89,137,248,248,248,248,248,248,248,248,248,18,89,137,248,136, - 136,136,136,136,136,136,248,5,132,132,31,62,124,248,5,132, - 132,31,34,68,248,2,136,136,24,24,60,60,126,126,255,255, - 2,136,136,24,24,36,36,66,66,129,255,18,102,134,48,48, - 120,120,252,252,18,102,134,48,48,72,72,132,252,18,107,139, - 128,192,224,240,248,252,248,240,224,192,128,18,107,139,128,192, - 160,144,136,132,136,144,160,192,128,20,101,133,192,240,252,240, - 192,20,101,133,192,176,140,176,192,3,119,135,128,224,248,254, - 248,224,128,3,119,135,128,224,152,134,152,224,128,2,136,136, - 255,255,126,126,60,60,24,24,2,136,136,255,129,66,66,36, - 36,24,24,18,102,134,252,252,120,120,48,48,18,102,134,252, - 132,72,72,48,48,18,107,139,4,12,28,60,124,252,124,60, - 28,12,4,18,107,139,4,12,20,36,68,132,68,36,20,12, - 4,20,101,133,12,60,252,60,12,20,101,133,12,52,196,52, - 12,3,119,135,2,14,62,254,62,14,2,3,119,135,2,14, - 50,194,50,14,2,3,119,135,16,56,124,254,124,56,16,3, - 119,135,16,40,68,130,68,40,16,3,119,135,16,40,84,186, - 84,40,16,3,119,135,56,68,146,186,146,68,56,18,105,137, - 48,48,72,72,132,72,72,48,48,2,136,136,60,66,129,129, - 129,129,66,60,2,136,136,24,66,0,129,129,0,66,24,2, - 136,136,60,106,171,171,171,171,106,60,2,136,136,60,66,153, - 165,165,153,66,60,2,136,136,60,126,255,255,255,255,126,60 - }; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=12 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=12 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13B[2302] U8G_FONT_SECTION("u8g_font_8x13B") = { - 1,8,13,0,254,10,1,127,3,12,32,255,254,11,254,10, - 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, - 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, - 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, - 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, - 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, - 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, - 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, - 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, - 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, - 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, - 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, - 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, - 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, - 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, - 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, - 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, - 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, - 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, - 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, - 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, - 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, - 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, - 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, - 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, - 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, - 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, - 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, - 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, - 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, - 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, - 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, - 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, - 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, - 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, - 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, - 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, - 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, - 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, - 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, - 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, - 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, - 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, - 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, - 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, - 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, - 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, - 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, - 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, - 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, - 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, - 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, - 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, - 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, - 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, - 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, - 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, - 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, - 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, - 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, - 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, - 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, - 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, - 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, - 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, - 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, - 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, - 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, - 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, - 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, - 254,156,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,13,0,128,50,42,138,192,192,0,192,192,192,192, - 192,192,192,3,104,136,16,124,212,208,208,212,124,16,1,123, - 139,60,102,96,96,252,96,96,96,240,190,224,3,119,135,198, - 254,108,68,108,254,198,18,106,138,204,204,204,120,120,252,48, - 252,48,48,50,42,138,192,192,192,192,0,0,192,192,192,192, - 18,106,138,120,204,192,120,204,204,120,12,204,120,26,82,130, - 216,216,3,121,137,124,198,186,234,226,234,186,198,124,21,87, - 135,240,24,248,152,248,0,248,3,119,135,54,108,216,176,216, - 108,54,3,101,133,252,252,4,4,4,22,81,129,248,3,121, - 137,124,198,186,170,186,178,170,198,124,28,97,129,252,24,100, - 132,120,204,204,120,19,103,135,48,48,252,48,48,0,252,22, - 70,134,224,176,48,96,192,240,22,70,134,224,176,96,48,176, - 224,41,67,131,48,96,192,0,121,137,198,198,198,198,198,238, - 252,192,192,1,123,139,62,122,202,202,202,122,58,10,10,10, - 14,54,34,130,192,192,16,67,131,48,144,96,22,70,134,96, - 224,96,96,96,240,21,87,135,112,248,136,248,112,0,248,3, - 119,135,216,108,54,26,54,108,216,2,122,138,96,224,96,96, - 98,246,14,26,30,6,2,122,138,96,224,96,96,124,246,6, - 12,24,30,2,122,138,224,176,96,48,178,230,14,26,30,6, - 18,106,138,48,48,0,48,48,96,192,204,204,120,2,122,138, - 48,24,0,56,124,198,198,254,198,198,2,122,138,24,48,0, - 56,124,198,198,254,198,198,2,122,138,56,108,0,56,124,198, - 198,254,198,198,2,122,138,52,88,0,56,124,198,198,254,198, - 198,2,122,138,108,108,0,56,124,198,198,254,198,198,2,123, - 139,24,36,24,0,56,124,198,198,254,198,198,2,122,138,126, - 248,216,216,216,252,216,216,216,222,0,124,140,124,230,192,192, - 192,192,192,230,124,24,72,48,2,122,138,48,24,0,254,192, - 192,248,192,192,254,2,122,138,24,48,0,254,192,192,248,192, - 192,254,2,122,138,56,108,0,254,192,192,248,192,192,254,2, - 122,138,108,108,0,254,192,192,248,192,192,254,34,74,138,192, - 96,0,240,96,96,96,96,96,240,34,74,138,48,96,0,240, - 96,96,96,96,96,240,34,90,138,112,216,0,240,96,96,96, - 96,96,240,34,90,138,216,216,0,240,96,96,96,96,96,240, - 2,120,136,252,102,102,246,102,102,102,252,2,122,138,52,88, - 0,198,230,246,214,222,206,198,2,123,139,48,24,0,124,198, - 198,198,198,198,198,124,2,123,139,24,48,0,124,198,198,198, - 198,198,198,124,2,123,139,56,108,0,124,198,198,198,198,198, - 198,124,2,123,139,52,88,0,124,198,198,198,198,198,198,124, - 2,123,139,108,108,0,124,198,198,198,198,198,198,124,2,119, - 135,198,198,124,56,124,198,198,1,122,138,2,124,206,214,214, - 214,214,230,124,128,2,122,138,48,24,0,198,198,198,198,198, - 198,124,2,122,138,24,48,0,198,198,198,198,198,198,124,2, - 122,138,56,108,0,198,198,198,198,198,198,124,2,122,138,108, - 108,0,198,198,198,198,198,198,124,18,106,138,24,48,0,204, - 72,120,48,48,48,48,2,121,137,192,252,198,198,198,252,192, - 192,192,2,122,138,60,102,102,108,236,108,102,102,102,108,2, - 122,138,48,24,0,124,6,126,198,198,206,118,2,122,138,24, - 48,0,124,6,126,198,198,206,118,2,122,138,56,108,0,124, - 6,126,198,198,206,118,2,122,138,52,88,0,124,6,126,198, - 198,206,118,2,122,138,108,108,0,124,6,126,198,198,206,118, - 2,123,139,24,36,24,0,124,6,126,198,198,206,118,2,119, - 135,108,218,26,124,216,218,108,0,122,138,124,230,192,192,192, - 230,124,24,72,48,2,122,138,48,24,0,124,198,198,254,192, - 198,124,2,122,138,24,48,0,124,198,198,254,192,198,124,2, - 122,138,56,108,0,124,198,198,254,192,198,124,2,122,138,108, - 108,0,124,198,198,254,192,198,124,34,74,138,192,96,0,224, - 96,96,96,96,96,240,34,74,138,96,192,0,224,96,96,96, - 96,96,240,18,90,138,112,216,0,112,48,48,48,48,48,120, - 18,90,138,216,216,0,112,48,48,48,48,48,120,2,122,138, - 108,56,120,12,126,198,198,198,198,124,2,122,138,52,88,0, - 220,230,198,198,198,198,198,2,122,138,48,24,0,124,198,198, - 198,198,198,124,2,122,138,24,48,0,124,198,198,198,198,198, - 124,2,122,138,56,108,0,124,198,198,198,198,198,124,2,122, - 138,52,88,0,124,198,198,198,198,198,124,2,122,138,108,108, - 0,124,198,198,198,198,198,124,19,103,135,48,48,0,252,0, - 48,48,1,121,137,2,124,206,214,214,214,230,124,128,2,122, - 138,48,24,0,198,198,198,198,198,206,118,2,122,138,24,48, - 0,198,198,198,198,198,206,118,2,122,138,56,108,0,198,198, - 198,198,198,206,118,2,122,138,108,108,0,198,198,198,198,198, - 206,118,0,124,140,24,48,0,198,198,198,198,206,118,6,198, - 124,0,123,139,192,192,220,230,198,198,198,230,220,192,192,0, - 124,140,108,108,0,198,198,198,198,206,118,6,198,124}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =10 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13Br[1123] U8G_FONT_SECTION("u8g_font_8x13Br") = { - 1,8,13,0,254,10,1,127,3,12,32,127,254,11,254,10, - 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, - 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, - 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, - 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, - 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, - 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, - 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, - 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, - 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, - 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, - 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, - 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, - 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, - 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, - 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, - 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, - 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, - 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, - 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, - 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, - 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, - 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, - 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, - 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, - 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, - 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, - 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, - 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, - 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, - 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, - 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, - 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, - 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, - 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, - 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, - 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, - 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, - 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, - 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, - 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, - 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, - 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, - 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, - 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, - 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, - 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, - 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, - 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, - 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, - 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, - 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, - 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, - 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, - 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, - 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, - 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, - 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, - 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, - 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, - 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, - 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, - 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, - 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, - 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, - 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, - 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, - 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, - 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, - 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, - 254,156,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13[2152] U8G_FONT_SECTION("u8g_font_8x13") = { - 1,8,13,0,254,9,1,97,2,205,32,255,254,11,254,9, - 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, - 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, - 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, - 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, - 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, - 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, - 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, - 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, - 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, - 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, - 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, - 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, - 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, - 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, - 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, - 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, - 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, - 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, - 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, - 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, - 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, - 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, - 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, - 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, - 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, - 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, - 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, - 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, - 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, - 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, - 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, - 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, - 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, - 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, - 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, - 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, - 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, - 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, - 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, - 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, - 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, - 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, - 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, - 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, - 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, - 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, - 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, - 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, - 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, - 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, - 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, - 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, - 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, - 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, - 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, - 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, - 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, - 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, - 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, - 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, - 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, - 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, - 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, - 72,168,144,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,13,0,128,50,25,137,128,0,128,128,128,128, - 128,128,128,19,88,136,32,112,168,160,160,168,112,32,2,121, - 137,28,34,32,112,32,32,32,98,220,19,102,134,132,120,72, - 72,120,132,2,121,137,130,130,68,40,124,16,124,16,16,50, - 25,137,128,128,128,128,0,128,128,128,128,34,74,138,96,144, - 128,96,144,144,96,16,144,96,42,66,130,144,144,3,121,137, - 56,68,146,170,162,170,146,68,56,20,87,135,112,8,120,136, - 120,0,248,3,119,135,18,36,72,144,72,36,18,19,100,132, - 252,4,4,4,38,65,129,240,3,121,137,56,68,146,170,170, - 178,170,68,56,26,97,129,252,39,68,132,96,144,144,96,19, - 87,135,32,32,248,32,32,0,248,22,70,134,96,144,16,96, - 128,240,22,70,134,96,144,32,16,144,96,58,34,130,64,128, - 17,103,135,132,132,132,132,204,180,128,18,105,137,124,232,232, - 232,104,40,40,40,40,54,33,129,192,48,34,130,64,192,22, - 54,134,64,192,64,64,64,224,21,70,134,96,144,144,96,0, - 240,3,119,135,144,72,36,18,36,72,144,2,122,138,64,192, - 64,64,66,230,10,18,26,6,2,122,138,64,192,64,64,76, - 242,2,12,16,30,2,122,138,96,144,32,16,146,102,10,18, - 26,6,18,105,137,32,0,32,32,64,128,132,132,120,18,106, - 138,32,16,0,48,72,132,132,252,132,132,18,106,138,16,32, - 0,48,72,132,132,252,132,132,18,106,138,48,72,0,48,72, - 132,132,252,132,132,18,106,138,100,152,0,48,72,132,132,252, - 132,132,18,106,138,72,72,0,48,72,132,132,252,132,132,18, - 106,138,48,72,48,48,72,132,132,252,132,132,2,121,137,110, - 144,144,144,156,240,144,144,158,16,107,139,120,132,128,128,128, - 128,128,132,120,16,32,18,106,138,32,16,0,252,128,128,240, - 128,128,252,18,106,138,16,32,0,252,128,128,240,128,128,252, - 18,106,138,48,72,0,252,128,128,240,128,128,252,18,106,138, - 72,72,0,252,128,128,240,128,128,252,18,90,138,64,32,0, - 248,32,32,32,32,32,248,18,90,138,16,32,0,248,32,32, - 32,32,32,248,18,90,138,48,72,0,248,32,32,32,32,32, - 248,18,90,138,136,136,0,248,32,32,32,32,32,248,2,121, - 137,120,68,66,66,226,66,66,68,120,2,122,138,100,152,0, - 130,194,162,146,138,134,130,2,122,138,32,16,0,124,130,130, - 130,130,130,124,2,122,138,8,16,0,124,130,130,130,130,130, - 124,2,122,138,24,36,0,124,130,130,130,130,130,124,2,122, - 138,100,152,0,124,130,130,130,130,130,124,2,122,138,68,68, - 0,124,130,130,130,130,130,124,19,102,134,132,72,48,48,72, - 132,17,107,139,4,120,140,148,148,164,164,164,196,120,128,18, - 106,138,64,32,0,132,132,132,132,132,132,120,18,106,138,16, - 32,0,132,132,132,132,132,132,120,18,106,138,48,72,0,132, - 132,132,132,132,132,120,18,106,138,72,72,0,132,132,132,132, - 132,132,120,18,90,138,16,32,0,136,136,80,32,32,32,32, - 18,105,137,128,248,132,132,132,248,128,128,128,18,105,137,112, - 136,136,144,160,152,132,132,184,18,105,137,32,16,0,120,4, - 124,132,140,116,18,105,137,8,16,0,120,4,124,132,140,116, - 18,105,137,48,72,0,120,4,124,132,140,116,18,105,137,100, - 152,0,120,4,124,132,140,116,18,105,137,72,72,0,120,4, - 124,132,140,116,18,106,138,48,72,48,0,120,4,124,132,140, - 116,2,118,134,108,18,124,144,146,108,16,104,136,120,132,128, - 128,132,120,16,32,18,105,137,32,16,0,120,132,252,128,132, - 120,18,105,137,16,32,0,120,132,252,128,132,120,18,105,137, - 48,72,0,120,132,252,128,132,120,18,105,137,72,72,0,120, - 132,252,128,132,120,18,89,137,64,32,0,96,32,32,32,32, - 248,18,89,137,32,64,0,96,32,32,32,32,248,18,89,137, - 96,144,0,96,32,32,32,32,248,18,89,137,144,144,0,96, - 32,32,32,32,248,18,106,138,72,48,80,8,120,132,132,132, - 132,120,18,105,137,100,152,0,184,196,132,132,132,132,18,105, - 137,64,32,0,120,132,132,132,132,120,18,105,137,16,32,0, - 120,132,132,132,132,120,18,105,137,48,72,0,120,132,132,132, - 132,120,18,105,137,100,152,0,120,132,132,132,132,120,18,105, - 137,72,72,0,120,132,132,132,132,120,19,87,135,32,32,0, - 248,0,32,32,17,104,136,4,120,140,148,164,196,120,128,18, - 105,137,64,32,0,136,136,136,136,136,116,18,105,137,16,32, - 0,136,136,136,136,136,116,18,105,137,48,72,0,136,136,136, - 136,136,116,18,105,137,80,80,0,136,136,136,136,136,116,16, - 107,139,16,32,0,132,132,132,140,116,4,132,120,16,106,138, - 128,128,184,196,132,132,196,184,128,128,16,107,139,72,72,0, - 132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 8 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13O[2153] U8G_FONT_SECTION("u8g_font_8x13O") = { - 1,8,13,0,254,9,1,98,2,206,32,255,254,11,254,9, - 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, - 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, - 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, - 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, - 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, - 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, - 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, - 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, - 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, - 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, - 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, - 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, - 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, - 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, - 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, - 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, - 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, - 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, - 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, - 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, - 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, - 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, - 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, - 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, - 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, - 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, - 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, - 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, - 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, - 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, - 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, - 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, - 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, - 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, - 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, - 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, - 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, - 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, - 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, - 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, - 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, - 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, - 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, - 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, - 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, - 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, - 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, - 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, - 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, - 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, - 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, - 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, - 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, - 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, - 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, - 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, - 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, - 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, - 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, - 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, - 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, - 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, - 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, - 131,72,168,144,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,13,0,128,50,41,137,64,0,64,64,64, - 128,128,128,128,19,104,136,16,56,84,80,160,168,112,32,2, - 137,137,14,17,16,56,16,32,32,98,220,3,118,134,66,60, - 36,72,120,132,2,121,137,130,130,68,40,124,16,248,32,32, - 50,41,137,64,64,64,64,0,128,128,128,128,18,90,138,48, - 72,64,48,72,144,96,16,144,96,42,66,130,144,144,2,137, - 137,28,34,73,85,162,170,146,68,56,20,103,135,56,4,120, - 136,120,0,248,3,119,135,18,36,72,144,144,72,36,19,100, - 132,252,4,8,8,38,65,129,240,2,137,137,28,34,89,85, - 170,178,170,68,56,26,97,129,252,39,68,132,96,144,144,96, - 19,103,135,16,16,124,32,32,0,248,22,86,134,48,72,8, - 112,128,240,22,86,134,112,8,48,16,144,96,58,34,130,64, - 128,1,119,135,66,66,66,132,204,180,128,18,105,137,124,232, - 232,232,104,80,80,80,80,54,33,129,192,48,34,130,64,192, - 38,54,134,32,96,32,64,64,224,21,102,134,24,36,72,48, - 0,240,3,119,135,72,36,18,18,36,72,144,18,106,138,32, - 96,32,64,68,236,20,40,60,8,2,122,138,32,96,32,64, - 76,242,4,24,32,60,18,106,138,112,8,48,16,148,108,20, - 40,60,8,18,105,137,16,0,16,16,32,64,132,136,112,2, - 122,138,16,8,0,24,36,66,66,124,132,132,2,122,138,8, - 16,0,24,36,66,66,124,132,132,2,122,138,24,36,0,24, - 36,66,66,124,132,132,2,122,138,50,76,0,24,36,66,66, - 124,132,132,2,122,138,36,36,0,24,36,66,66,124,132,132, - 2,122,138,24,36,24,24,36,66,66,124,132,132,2,137,137, - 55,72,72,72,78,112,144,144,158,0,123,139,60,66,64,64, - 64,128,128,132,120,16,32,2,122,138,16,8,0,126,64,64, - 112,128,128,252,2,122,138,8,16,0,126,64,64,112,128,128, - 252,2,122,138,24,36,0,126,64,64,112,128,128,252,2,122, - 138,36,36,0,126,64,64,112,128,128,252,18,106,138,32,16, - 0,124,16,16,32,32,32,248,18,106,138,8,16,0,124,16, - 16,32,32,32,248,18,106,138,24,36,0,124,16,16,32,32, - 32,248,18,106,138,68,68,0,124,16,16,32,32,32,248,2, - 121,137,120,68,66,66,226,68,132,136,240,2,138,138,50,76, - 0,65,97,81,146,138,134,130,2,138,138,16,8,0,62,65, - 65,130,130,130,124,2,138,138,4,8,0,62,65,65,130,130, - 130,124,2,138,138,12,18,0,62,65,65,130,130,130,124,2, - 138,138,50,76,0,62,65,65,130,130,130,124,2,138,138,34, - 34,0,62,65,65,130,130,130,124,3,118,134,66,36,24,48, - 72,132,1,123,139,2,60,70,74,74,82,164,164,196,120,128, - 2,122,138,32,16,0,66,66,66,132,132,132,120,2,122,138, - 8,16,0,66,66,66,132,132,132,120,2,122,138,24,36,0, - 66,66,66,132,132,132,120,2,122,138,36,36,0,66,66,66, - 132,132,132,120,18,90,138,16,32,0,136,136,80,96,64,64, - 64,2,121,137,64,124,66,66,66,124,128,128,128,18,105,137, - 56,68,68,72,80,136,132,132,184,2,121,137,16,8,0,60, - 2,124,132,140,116,2,121,137,4,8,0,60,2,124,132,140, - 116,2,121,137,24,36,0,60,2,124,132,140,116,2,121,137, - 50,76,0,60,2,124,132,140,116,2,121,137,36,36,0,60, - 2,124,132,140,116,2,122,138,24,36,24,0,60,2,124,132, - 140,116,2,134,134,54,9,126,144,146,108,0,120,136,60,66, - 128,128,132,120,16,32,2,121,137,16,8,0,60,66,124,128, - 132,120,2,121,137,8,16,0,60,66,124,128,132,120,2,121, - 137,24,36,0,60,66,124,128,132,120,2,121,137,36,36,0, - 60,66,124,128,132,120,18,89,137,32,16,0,48,16,16,32, - 32,248,18,89,137,16,32,0,48,16,16,32,32,248,18,89, - 137,48,72,0,48,16,16,32,32,248,18,89,137,72,72,0, - 48,16,16,32,32,248,2,122,138,36,24,40,4,60,66,66, - 132,132,120,2,121,137,50,76,0,92,98,66,132,132,132,2, - 121,137,32,16,0,60,66,66,132,132,120,2,121,137,8,16, - 0,60,66,66,132,132,120,2,121,137,24,36,0,60,66,66, - 132,132,120,2,121,137,50,76,0,60,66,66,132,132,120,2, - 121,137,36,36,0,60,66,66,132,132,120,19,103,135,16,16, - 0,252,0,32,32,1,120,136,2,60,70,90,164,196,120,128, - 18,105,137,32,16,0,68,68,68,136,136,116,18,105,137,8, - 16,0,68,68,68,136,136,116,18,105,137,24,36,0,68,68, - 68,136,136,116,18,105,137,40,40,0,68,68,68,136,136,116, - 0,123,139,8,16,0,66,66,132,140,116,4,132,120,0,122, - 138,64,64,92,98,66,132,196,184,128,128,0,123,139,36,36, - 0,66,66,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 8 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13Or[1029] U8G_FONT_SECTION("u8g_font_8x13Or") = { - 1,8,13,0,254,9,1,98,2,206,32,127,254,11,254,9, - 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, - 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, - 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, - 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, - 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, - 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, - 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, - 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, - 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, - 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, - 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, - 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, - 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, - 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, - 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, - 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, - 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, - 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, - 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, - 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, - 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, - 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, - 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, - 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, - 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, - 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, - 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, - 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, - 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, - 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, - 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, - 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, - 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, - 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, - 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, - 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, - 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, - 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, - 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, - 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, - 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, - 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, - 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, - 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, - 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, - 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, - 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, - 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, - 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, - 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, - 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, - 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, - 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, - 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, - 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, - 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, - 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, - 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, - 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, - 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, - 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, - 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, - 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, - 131,72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w= 8 h=13 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_8x13r[1028] U8G_FONT_SECTION("u8g_font_8x13r") = { - 1,8,13,0,254,9,1,97,2,205,32,127,254,11,254,9, - 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, - 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, - 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, - 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, - 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, - 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, - 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, - 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, - 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, - 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, - 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, - 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, - 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, - 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, - 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, - 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, - 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, - 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, - 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, - 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, - 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, - 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, - 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, - 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, - 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, - 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, - 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, - 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, - 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, - 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, - 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, - 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, - 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, - 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, - 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, - 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, - 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, - 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, - 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, - 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, - 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, - 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, - 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, - 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, - 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, - 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, - 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, - 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, - 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, - 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, - 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, - 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, - 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, - 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, - 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, - 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, - 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, - 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, - 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, - 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, - 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, - 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, - 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, - 72,168,144,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 4, '1' Height: 10 - Calculated Max Values w= 9 h=15 x= 8 y=10 dx= 9 dy= 0 ascent=12 len=30 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 4 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[3804] U8G_FONT_SECTION("u8g_font_9x15_67_75") = { - 0,9,15,0,253,4,1,255,4,34,32,255,0,12,253,10, - 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, - 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, - 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, - 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, - 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, - 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, - 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, - 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, - 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, - 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, - 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, - 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, - 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, - 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, - 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, - 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, - 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, - 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, - 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, - 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, - 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, - 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, - 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, - 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, - 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, - 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, - 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, - 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, - 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, - 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, - 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, - 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, - 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, - 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, - 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, - 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, - 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, - 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, - 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, - 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, - 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, - 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, - 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, - 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, - 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, - 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, - 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, - 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, - 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, - 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, - 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, - 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, - 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, - 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, - 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, - 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, - 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, - 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, - 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, - 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, - 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, - 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, - 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, - 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, - 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, - 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, - 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, - 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, - 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, - 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, - 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, - 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, - 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, - 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, - 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, - 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, - 124,7,11,11,9,1,255,16,40,68,238,68,238,40,40,40, - 40,56,7,11,11,9,1,255,16,40,68,238,68,238,40,40, - 108,68,124,9,7,14,9,0,1,132,0,134,0,253,0,128, - 128,253,0,134,0,132,0,7,7,7,9,1,0,254,128,188, - 176,168,164,130,7,7,7,9,1,0,130,74,42,26,122,2, - 254,7,11,11,9,1,255,16,40,68,238,40,40,40,238,68, - 40,16,9,7,14,9,0,1,4,0,50,0,73,0,255,128, - 73,0,50,0,4,0,9,10,20,9,0,0,34,0,39,0, - 42,128,34,0,34,0,34,0,34,0,170,0,114,0,34,0, - 7,13,13,9,1,254,8,4,254,4,8,4,254,4,8,4, - 254,4,8,8,5,5,9,0,2,36,68,255,68,36,8,5, - 5,9,0,2,36,34,255,34,36,9,5,10,9,0,2,42, - 0,73,0,255,128,73,0,42,0,8,5,5,9,0,2,42, - 74,255,74,42,8,5,5,9,0,2,84,82,255,82,84,9, - 5,10,9,0,2,85,0,148,128,255,128,148,128,85,0,7, - 7,7,9,1,1,16,48,80,158,80,48,16,7,7,7,9, - 1,1,16,24,20,242,20,24,16,8,5,5,9,0,2,36, - 102,189,102,36,9,7,14,9,0,5,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,9,2,4,9,0,253,255,128, - 255,128,9,4,8,9,0,253,255,128,255,128,255,128,255,128, - 9,6,12,9,0,253,255,128,255,128,255,128,255,128,255,128, - 255,128,9,8,16,9,0,253,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,9,9,18,9,0,253,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 9,11,22,9,0,253,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,13,26,9, - 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,15,30,9, - 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 8,15,15,9,0,253,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,7,15,15,9,0,253,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,254,6,15,15,9,0,253, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 15,15,9,0,253,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,3,15,15,9,0,253,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,2,15,15,9,0,253,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,1,15, - 15,9,0,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,4,15,15,9,5,253,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,9,15,30,9,0,253,170,128, - 0,0,85,0,0,0,170,128,0,0,85,0,0,0,170,128, - 0,0,85,0,0,0,170,128,0,0,85,0,9,15,30,9, - 0,253,170,128,85,0,170,128,85,0,170,128,85,0,170,128, - 85,0,170,128,85,0,170,128,85,0,170,128,85,0,170,128, - 9,15,30,9,0,253,255,128,85,0,255,128,170,128,255,128, - 85,0,255,128,170,128,255,128,85,0,255,128,170,128,255,128, - 85,0,255,128,9,2,4,9,0,10,255,128,255,128,1,15, - 15,9,8,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,8,8,9,0,253,248,248,248,248,248,248,248, - 248,4,8,8,9,5,253,240,240,240,240,240,240,240,240,5, - 7,7,9,0,5,248,248,248,248,248,248,248,9,15,30,9, - 0,253,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 9,15,30,9,0,253,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,9,15,30,9,0,253,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,9,15,30,9,0,253,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,4,7,7,9, - 5,5,240,240,240,240,240,240,240,9,15,30,9,0,253,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,9,15,30, - 9,0,253,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56,7,7,7,9,1,1,56,116, - 242,242,242,116,56,7,7,7,9,1,1,56,92,158,158,158, - 92,56,7,7,7,9,1,1,56,68,130,254,254,124,56,7, - 7,7,9,1,1,56,124,254,254,130,68,56,7,7,7,9, - 1,1,56,92,158,158,130,68,56,7,7,7,9,1,1,56, - 92,158,254,254,124,56,4,7,7,9,1,1,48,112,240,240, - 240,112,48,4,7,7,9,4,1,192,224,240,240,240,224,192, - 9,15,30,9,0,253,255,128,255,128,255,128,255,128,255,128, - 227,128,193,128,193,128,193,128,227,128,255,128,255,128,255,128, - 255,128,255,128,9,15,30,9,0,253,255,128,255,128,255,128, - 255,128,227,128,221,128,190,128,190,128,190,128,221,128,227,128, - 255,128,255,128,255,128,255,128,9,8,16,9,0,4,255,128, - 255,128,255,128,255,128,227,128,221,128,190,128,190,128,9,8, - 16,9,0,253,190,128,190,128,221,128,227,128,255,128,255,128, - 255,128,255,128,4,4,4,9,1,4,48,64,128,128,4,4, - 4,9,4,4,192,32,16,16,4,4,4,9,4,1,16,16, - 32,192,4,4,4,9,1,1,128,128,64,48,7,4,4,9, - 1,4,56,68,130,130,7,4,4,9,1,1,130,130,68,56, - 7,7,7,9,1,1,2,6,14,30,62,126,254,7,7,7, - 9,1,1,128,192,224,240,248,252,254,7,7,7,9,1,1, - 254,252,248,240,224,192,128,7,7,7,9,1,1,254,126,62, - 30,14,6,2,5,5,5,9,2,2,112,136,136,136,112,7, - 7,7,9,1,1,254,242,242,242,242,242,254,7,7,7,9, - 1,1,254,158,158,158,158,158,254,7,7,7,9,1,1,254, - 254,250,242,226,194,254,7,7,7,9,1,1,254,134,142,158, - 190,254,254,7,7,7,9,1,1,254,146,146,146,146,146,254, - 9,10,20,9,0,0,8,0,8,0,20,0,20,0,34,0, - 42,0,93,0,73,0,128,128,255,128,9,10,20,9,0,0, - 8,0,8,0,28,0,28,0,58,0,58,0,121,0,121,0, - 248,128,255,128,9,10,20,9,0,0,8,0,8,0,28,0, - 28,0,46,0,46,0,79,0,79,0,143,128,255,128,9,9, - 18,9,0,0,62,0,65,0,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,7,7,7,9,1,1,254,146,146,242, - 130,130,254,7,7,7,9,1,1,254,130,130,242,146,146,254, - 7,7,7,9,1,1,254,130,130,158,146,146,254,7,7,7, - 9,1,1,254,146,146,158,130,130,254,7,7,7,9,1,1, - 124,146,146,242,130,130,124,7,7,7,9,1,1,124,130,130, - 242,146,146,124,7,7,7,9,1,1,124,130,130,158,146,146, - 124,7,7,7,9,1,1,124,146,146,158,130,130,124,6,6, - 6,9,1,1,252,136,144,160,192,128,6,6,6,9,1,1, - 252,68,36,20,12,4,6,6,6,9,1,1,128,192,160,144, - 136,252,6,6,6,9,1,1,252,132,132,132,132,252,6,6, - 6,9,1,1,252,252,252,252,252,252,5,5,5,9,2,1, - 248,136,136,136,248,5,5,5,9,2,1,248,248,248,248,248, - 6,6,6,9,1,1,4,12,20,36,68,252}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 5 - Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_75r[792] U8G_FONT_SECTION("u8g_font_9x15_75r") = { - 0,9,15,0,253,9,2,33,0,0,32,79,0,10,0,9, - 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=26 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[3795] U8G_FONT_SECTION("u8g_font_9x15_78_79") = { - 0,9,15,0,253,9,2,231,4,175,32,255,0,12,254,11, - 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, - 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, - 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, - 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, - 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, - 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, - 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, - 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, - 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, - 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, - 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, - 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, - 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, - 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, - 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, - 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, - 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, - 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, - 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, - 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, - 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, - 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, - 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, - 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, - 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, - 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, - 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, - 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, - 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, - 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, - 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, - 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, - 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, - 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, - 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, - 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, - 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, - 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, - 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, - 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, - 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, - 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, - 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, - 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, - 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, - 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, - 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, - 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, - 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, - 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, - 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, - 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, - 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, - 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, - 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, - 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, - 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, - 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, - 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, - 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, - 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, - 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, - 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, - 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, - 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, - 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, - 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, - 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, - 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, - 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, - 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, - 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, - 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, - 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, - 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, - 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, - 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, - 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, - 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, - 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, - 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, - 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, - 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, - 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, - 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, - 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, - 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, - 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, - 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, - 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, - 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, - 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, - 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, - 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, - 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, - 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, - 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, - 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, - 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, - 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, - 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, - 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, - 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, - 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, - 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, - 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, - 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, - 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, - 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, - 10,0,20,0,255,7,7,7,9,1,0,130,132,136,144,160, - 192,254,9,10,20,9,0,0,8,0,8,0,20,0,20,0, - 42,0,42,0,85,0,93,0,128,128,255,128,7,10,10,9, - 1,0,16,16,16,16,16,16,16,16,16,254,7,7,7,9, - 1,1,62,64,132,138,132,64,62,7,7,7,9,1,1,248, - 4,66,162,66,4,248,5,12,12,9,2,255,112,136,136,16, - 16,32,32,64,64,128,128,112,5,12,12,9,2,255,112,136, - 136,64,64,32,32,16,16,8,8,112,7,8,8,9,1,0, - 130,146,84,68,40,40,16,16,8,10,10,9,0,255,128,143, - 144,80,80,80,80,47,32,32,8,10,10,9,0,255,1,241, - 9,10,10,10,10,244,4,4,3,10,10,9,3,0,64,64, - 64,64,224,64,64,64,64,64,255,255,255,255,255,9,9,18, - 9,0,0,8,0,20,0,34,0,65,0,136,128,65,0,34, - 0,20,0,8,0,7,8,8,9,1,0,16,16,40,40,68, - 84,146,130,7,7,7,9,1,1,146,146,146,146,146,84,56, - 7,7,7,9,1,1,2,2,2,18,2,2,254,7,7,7, - 9,1,1,254,128,128,144,128,128,128,8,11,11,9,0,255, - 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, - 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, - 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, - 85,0,99,0,99,0,193,128,9,13,26,9,0,254,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,9,13,26,9,0,254,255,128, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,7,7,7,9,1,1,40,40, - 238,40,238,40,40,7,7,7,9,1,1,40,40,40,238,40, - 40,40,7,3,3,9,1,3,64,190,64,9,5,10,9,0, - 2,128,0,128,0,255,128,128,0,128,0,9,5,10,9,0, - 2,0,128,0,128,255,128,0,128,0,128,5,10,10,9,2, - 0,32,80,32,32,32,32,32,32,32,248,5,9,9,9,2, - 0,32,32,80,80,248,80,80,32,32,7,9,9,9,1,0, - 16,16,16,40,198,40,16,16,16,8,9,9,9,0,0,8, - 8,8,20,227,20,8,8,8,8,9,9,9,1,0,16,16, - 16,40,199,40,16,16,16,8,7,7,9,0,1,127,65,65, - 193,65,65,127,8,7,7,9,1,1,254,130,130,131,130,130, - 254,5,12,12,9,2,255,248,160,160,160,160,160,160,160,160, - 160,160,248,5,12,12,9,2,255,248,40,40,40,40,40,40, - 40,40,40,40,248,3,10,10,9,3,0,32,32,64,64,128, - 128,64,64,32,32,3,10,10,9,3,0,128,128,64,64,32, - 32,64,64,128,128,6,10,10,9,1,0,36,36,72,72,144, - 144,72,72,36,36,6,10,10,9,2,0,144,144,72,72,36, - 36,72,72,144,144,255,255,255,255,9,11,22,9,0,0,8, - 0,20,0,54,0,85,0,213,128,85,0,85,0,85,0,85, - 0,85,0,85,0,9,11,22,9,0,255,85,0,85,0,85, - 0,85,0,85,0,85,0,213,128,85,0,54,0,20,0,8, - 0,8,8,8,9,0,0,28,34,169,113,33,1,34,28,8, - 8,8,9,0,0,56,68,149,142,132,128,68,56,9,5,10, - 9,0,2,114,0,169,0,255,128,169,0,114,0,9,5,10, - 9,0,2,32,0,64,0,255,128,64,0,32,0,9,5,10, - 9,0,2,2,0,1,0,255,128,1,0,2,0,9,5,10, - 9,0,2,34,0,65,0,255,128,65,0,34,0,9,7,14, - 9,0,1,16,0,32,0,127,128,128,0,127,128,32,0,16, - 0,9,7,14,9,0,1,4,0,2,0,255,0,0,128,255, - 0,2,0,4,0,9,7,14,9,0,1,20,0,34,0,127, - 0,128,128,127,0,34,0,20,0,9,5,10,9,0,2,32, - 128,64,128,255,128,64,128,32,128,9,5,10,9,0,2,130, - 0,129,0,255,128,129,0,130,0,9,7,14,9,0,1,16, - 128,32,128,127,128,128,128,127,128,32,128,16,128,9,7,14, - 9,0,1,132,0,130,0,255,0,128,128,255,0,130,0,132, - 0,9,6,12,9,0,1,2,0,1,0,85,128,170,128,1, - 0,2,0}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=20 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15B[2990] U8G_FONT_SECTION("u8g_font_9x15B") = { - 0,9,15,0,253,10,1,232,3,214,32,255,253,12,253,11, - 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, - 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, - 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, - 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, - 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, - 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, - 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, - 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, - 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, - 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, - 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, - 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, - 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, - 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, - 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, - 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, - 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, - 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, - 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, - 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, - 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, - 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, - 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, - 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, - 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, - 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, - 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, - 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, - 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, - 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, - 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, - 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, - 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, - 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, - 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, - 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, - 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, - 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, - 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, - 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, - 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, - 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, - 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, - 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, - 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, - 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, - 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, - 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, - 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, - 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, - 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, - 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, - 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, - 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, - 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, - 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, - 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, - 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, - 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, - 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, - 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, - 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, - 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, - 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, - 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, - 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, - 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, - 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, - 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, - 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, - 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, - 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, - 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, - 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, - 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, - 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, - 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, - 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, - 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, - 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, - 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, - 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, - 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, - 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, - 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, - 48,48,48,48,224,8,3,3,9,0,7,115,219,206,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,9,0,12,2,10,10,9,4,0,192,0,192,192,192, - 192,192,192,192,192,7,8,8,9,1,0,4,124,206,208,208, - 230,124,64,8,10,10,9,0,255,30,51,48,48,124,48,48, - 248,191,224,7,7,7,9,1,2,198,254,108,68,108,254,198, - 8,10,10,9,0,0,195,195,102,60,126,24,126,24,24,24, - 2,11,11,9,4,255,192,192,192,192,192,0,0,192,192,192, - 192,6,11,11,9,1,255,120,204,192,120,204,204,204,120,12, - 204,120,6,2,2,9,1,9,204,204,8,11,11,9,0,0, - 60,126,195,189,165,161,165,189,195,126,60,5,7,7,9,1, - 3,240,24,248,152,248,0,248,8,8,8,9,0,1,27,54, - 108,216,216,108,54,27,7,5,5,9,1,2,254,254,6,6, - 6,6,1,1,9,1,4,252,8,11,11,9,0,0,60,126, - 195,189,165,189,169,173,195,126,60,6,2,2,9,1,9,252, - 252,6,4,4,9,2,6,120,204,204,120,8,10,10,9,0, - 0,24,24,24,255,255,24,24,24,255,255,5,7,7,9,1, - 4,112,152,24,48,96,192,248,5,7,7,9,1,4,112,152, - 24,48,24,152,112,4,3,3,9,2,8,48,96,192,7,10, - 10,9,1,253,198,198,198,198,198,238,250,192,192,192,7,10, - 10,9,1,0,126,254,246,246,246,118,54,54,54,54,3,3, - 3,9,3,3,64,224,64,5,3,3,9,2,253,24,216,112, - 4,7,7,9,1,4,96,224,96,96,96,96,240,5,6,6, - 9,1,4,112,216,216,112,0,248,8,8,8,9,0,1,216, - 108,54,27,27,54,108,216,8,11,11,9,0,0,96,224,96, - 96,97,99,247,15,27,31,3,8,11,11,9,0,0,96,224, - 96,96,110,115,243,6,12,24,31,8,11,11,9,0,0,112, - 152,24,48,25,155,119,15,27,31,3,7,10,10,9,1,0, - 24,24,0,24,48,96,192,198,198,124,8,12,12,9,0,0, - 96,48,24,0,60,102,195,195,255,195,195,195,8,12,12,9, - 0,0,6,12,24,0,60,102,195,195,255,195,195,195,8,12, - 12,9,0,0,24,60,102,0,60,102,195,195,255,195,195,195, - 8,12,12,9,0,0,50,126,76,0,60,102,195,195,255,195, - 195,195,8,11,11,9,0,0,102,102,0,60,102,195,195,255, - 195,195,195,8,12,12,9,0,0,24,36,36,24,60,102,195, - 195,255,195,195,195,8,10,10,9,0,0,31,60,108,108,204, - 255,204,204,204,207,8,13,13,9,0,253,62,99,193,192,192, - 192,192,193,99,62,12,108,56,7,12,12,9,1,0,96,48, - 24,0,254,192,192,252,192,192,192,254,7,12,12,9,1,0, - 12,24,48,0,254,192,192,252,192,192,192,254,7,12,12,9, - 1,0,24,60,102,0,254,192,192,252,192,192,192,254,7,11, - 11,9,1,0,102,102,0,254,192,192,252,192,192,192,254,6, - 12,12,9,1,0,192,96,48,0,252,48,48,48,48,48,48, - 252,6,12,12,9,1,0,24,48,96,0,252,48,48,48,48, - 48,48,252,6,12,12,9,1,0,48,120,204,0,252,48,48, - 48,48,48,48,252,6,11,11,9,1,0,204,204,0,252,48, - 48,48,48,48,48,252,9,10,20,9,0,0,126,0,99,0, - 97,128,97,128,249,128,249,128,97,128,97,128,99,0,126,0, - 8,12,12,9,0,0,50,126,76,0,195,227,243,251,223,207, - 199,195,8,12,12,9,0,0,96,48,24,0,60,102,195,195, - 195,195,102,60,8,12,12,9,0,0,6,12,24,0,60,102, - 195,195,195,195,102,60,8,12,12,9,0,0,24,60,102,0, - 60,102,195,195,195,195,102,60,8,12,12,9,0,0,50,126, - 76,0,60,102,195,195,195,195,102,60,8,11,11,9,0,0, - 102,102,0,60,102,195,195,195,195,102,60,7,8,8,9,1, - 0,130,198,108,56,56,108,198,130,8,12,12,9,0,255,1, - 63,102,199,203,203,211,211,227,102,252,128,8,12,12,9,0, - 0,96,48,24,0,195,195,195,195,195,195,102,60,8,12,12, - 9,0,0,6,12,24,0,195,195,195,195,195,195,102,60,8, - 12,12,9,0,0,24,60,102,0,195,195,195,195,195,195,102, - 60,8,11,11,9,0,0,102,102,0,195,195,195,195,195,195, - 102,60,8,12,12,9,0,0,6,12,24,0,195,102,60,24, - 24,24,24,24,7,10,10,9,1,0,240,96,124,102,102,102, - 124,96,96,240,7,10,10,9,1,0,60,102,198,204,216,204, - 198,198,198,220,8,11,11,9,0,0,96,48,24,0,62,67, - 3,127,195,199,123,8,11,11,9,0,0,12,24,48,0,62, - 67,3,127,195,199,123,8,11,11,9,0,0,24,60,102,0, - 62,67,3,127,195,199,123,8,11,11,9,0,0,50,126,76, - 0,62,67,3,127,195,199,123,8,10,10,9,0,0,102,102, - 0,62,67,3,127,195,199,123,8,11,11,9,0,0,24,36, - 36,24,62,67,3,127,195,199,123,8,7,7,9,0,0,118, - 155,27,126,216,217,110,8,10,10,9,0,253,62,99,192,192, - 192,99,62,12,108,56,8,11,11,9,0,0,96,48,24,0, - 60,102,195,255,192,99,62,8,11,11,9,0,0,12,24,48, - 0,60,102,195,255,192,99,62,8,11,11,9,0,0,24,60, - 102,0,60,102,195,255,192,99,62,8,10,10,9,0,0,102, - 102,0,60,102,195,255,192,99,62,6,11,11,9,1,0,192, - 96,48,0,112,48,48,48,48,48,252,6,11,11,9,1,0, - 24,48,96,0,112,48,48,48,48,48,252,6,11,11,9,1, - 0,48,120,204,0,112,48,48,48,48,48,252,6,10,10,9, - 1,0,204,204,0,112,48,48,48,48,48,252,8,12,12,9, - 0,0,136,216,112,112,216,140,62,103,195,195,102,60,8,11, - 11,9,0,0,50,126,76,0,220,230,195,195,195,195,195,8, - 11,11,9,0,0,96,48,24,0,60,102,195,195,195,102,60, - 8,11,11,9,0,0,12,24,48,0,60,102,195,195,195,102, - 60,8,11,11,9,0,0,24,60,102,0,60,102,195,195,195, - 102,60,8,11,11,9,0,0,50,126,76,0,60,102,195,195, - 195,102,60,8,10,10,9,0,0,102,102,0,60,102,195,195, - 195,102,60,8,10,10,9,0,0,24,24,0,0,255,255,0, - 0,24,24,8,9,9,9,0,255,1,63,102,207,219,243,102, - 252,128,8,11,11,9,0,0,96,48,24,0,195,195,195,195, - 195,103,59,8,11,11,9,0,0,12,24,48,0,195,195,195, - 195,195,103,59,8,11,11,9,0,0,24,60,102,0,195,195, - 195,195,195,103,59,8,10,10,9,0,0,102,102,0,195,195, - 195,195,195,103,59,8,14,14,9,0,253,12,24,48,0,195, - 195,195,195,195,103,59,3,198,124,7,12,12,9,1,253,224, - 96,96,124,102,102,102,102,124,96,96,224,8,13,13,9,0, - 253,102,102,0,195,195,195,195,195,103,59,3,198,124}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 3 y=12 dx= 9 dy= 0 ascent=12 len=13 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15Br[1423] U8G_FONT_SECTION("u8g_font_9x15Br") = { - 0,9,15,0,253,10,1,232,3,214,32,127,253,12,253,11, - 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, - 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, - 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, - 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, - 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, - 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, - 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, - 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, - 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, - 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, - 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, - 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, - 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, - 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, - 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, - 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, - 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, - 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, - 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, - 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, - 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, - 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, - 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, - 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, - 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, - 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, - 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, - 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, - 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, - 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, - 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, - 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, - 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, - 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, - 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, - 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, - 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, - 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, - 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, - 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, - 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, - 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, - 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, - 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, - 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, - 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, - 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, - 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, - 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, - 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, - 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, - 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, - 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, - 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, - 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, - 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, - 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, - 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, - 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, - 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, - 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, - 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, - 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, - 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, - 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, - 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, - 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, - 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, - 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, - 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, - 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, - 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, - 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, - 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, - 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, - 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, - 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, - 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, - 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, - 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, - 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, - 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, - 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, - 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, - 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, - 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, - 48,48,48,48,224,8,3,3,9,0,7,115,219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=14 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15[2959] U8G_FONT_SECTION("u8g_font_9x15") = { - 0,9,15,0,253,10,1,232,3,216,32,255,253,12,253,11, - 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, - 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, - 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, - 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, - 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, - 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, - 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, - 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, - 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, - 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, - 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, - 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, - 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, - 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, - 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, - 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, - 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, - 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, - 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, - 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, - 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, - 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, - 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, - 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, - 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, - 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, - 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, - 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, - 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, - 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, - 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, - 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, - 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, - 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, - 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, - 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, - 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, - 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, - 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, - 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, - 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, - 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, - 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, - 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, - 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, - 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, - 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, - 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, - 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, - 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, - 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, - 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, - 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, - 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, - 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, - 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, - 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, - 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, - 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, - 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, - 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, - 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, - 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, - 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, - 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, - 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, - 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, - 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, - 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, - 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, - 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, - 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, - 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, - 146,140,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,9,0,12,1,11,11,9,4,0,128, - 128,0,0,128,128,128,128,128,128,128,6,8,8,9,1,0, - 8,120,148,144,160,164,120,64,7,10,10,9,1,0,28,34, - 32,32,248,32,32,96,162,92,7,6,6,9,1,3,130,124, - 68,68,124,130,7,10,10,9,1,0,130,130,68,40,124,16, - 124,16,16,16,1,11,11,9,4,255,128,128,128,128,128,0, - 128,128,128,128,128,4,11,11,9,2,255,96,144,128,96,144, - 144,144,96,16,144,96,5,2,2,9,2,9,136,136,8,9, - 9,9,0,1,60,66,153,165,161,165,153,66,60,5,7,7, - 9,1,3,96,144,112,144,120,0,248,7,8,8,9,1,1, - 18,36,72,144,144,72,36,18,6,4,4,9,1,2,252,4, - 4,4,5,1,1,9,2,4,248,8,9,9,9,0,1,60, - 66,185,165,185,169,165,66,60,6,1,1,9,1,9,252,4, - 4,4,9,3,6,96,144,144,96,7,9,9,9,1,1,16, - 16,16,254,16,16,16,0,254,4,6,6,9,1,4,96,144, - 16,96,128,240,4,6,6,9,1,4,96,144,32,16,144,96, - 3,3,3,9,3,8,32,64,128,7,9,9,9,1,254,130, - 130,130,130,130,198,186,128,128,7,10,10,9,1,0,126,138, - 138,138,122,10,10,10,10,10,2,2,2,9,4,4,192,192, - 4,3,3,9,2,253,48,144,96,3,6,6,9,1,4,64, - 192,64,64,64,224,5,6,6,9,1,4,112,136,136,112,0, - 248,7,8,8,9,1,1,144,72,36,18,18,36,72,144,7, - 10,10,9,1,0,64,192,64,64,66,230,10,18,26,6,7, - 10,10,9,1,0,64,192,64,64,76,242,2,12,16,30,7, - 10,10,9,1,0,96,144,32,16,146,102,10,18,26,6,7, - 10,10,9,1,0,16,0,16,16,32,64,128,130,130,124,7, - 12,12,9,1,0,64,32,16,0,56,68,130,130,254,130,130, - 130,7,12,12,9,1,0,4,8,16,0,56,68,130,130,254, - 130,130,130,7,12,12,9,1,0,16,40,68,0,56,68,130, - 130,254,130,130,130,7,11,11,9,1,0,98,156,0,56,68, - 130,130,254,130,130,130,7,11,11,9,1,0,68,68,0,56, - 68,130,130,254,130,130,130,7,11,11,9,1,0,56,68,56, - 40,68,130,130,254,130,130,130,7,10,10,9,1,0,110,144, - 144,144,144,252,144,144,144,158,7,13,13,9,1,253,124,130, - 128,128,128,128,128,128,130,124,24,72,48,7,12,12,9,1, - 0,64,32,16,0,254,64,64,120,64,64,64,254,7,12,12, - 9,1,0,4,8,16,0,254,64,64,120,64,64,64,254,7, - 12,12,9,1,0,16,40,68,0,254,64,64,120,64,64,64, - 254,7,11,11,9,1,0,68,68,0,254,64,64,120,64,64, - 64,254,5,12,12,9,2,0,128,64,32,0,248,32,32,32, - 32,32,32,248,5,12,12,9,2,0,8,16,32,0,248,32, - 32,32,32,32,32,248,5,12,12,9,2,0,32,80,136,0, - 248,32,32,32,32,32,32,248,5,11,11,9,2,0,136,136, - 0,248,32,32,32,32,32,32,248,8,10,10,9,0,0,124, - 66,65,65,225,65,65,65,66,124,7,11,11,9,1,0,98, - 156,0,130,194,162,146,146,138,134,130,7,12,12,9,1,0, - 64,32,16,0,124,130,130,130,130,130,130,124,7,12,12,9, - 1,0,4,8,16,0,124,130,130,130,130,130,130,124,7,12, - 12,9,1,0,16,40,68,0,124,130,130,130,130,130,130,124, - 7,11,11,9,1,0,98,156,0,124,130,130,130,130,130,130, - 124,7,11,11,9,1,0,68,68,0,124,130,130,130,130,130, - 130,124,7,7,7,9,1,1,130,68,40,16,40,68,130,7, - 12,12,9,1,255,2,124,134,138,138,146,146,162,162,194,124, - 128,7,12,12,9,1,0,64,32,16,0,130,130,130,130,130, - 130,130,124,7,12,12,9,1,0,4,8,16,0,130,130,130, - 130,130,130,130,124,7,12,12,9,1,0,16,40,68,0,130, - 130,130,130,130,130,130,124,7,11,11,9,1,0,68,68,0, - 130,130,130,130,130,130,130,124,7,12,12,9,1,0,4,8, - 16,0,130,130,68,40,16,16,16,16,7,10,10,9,1,0, - 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, - 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, - 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, - 0,4,8,16,0,124,2,2,126,130,134,122,7,11,11,9, - 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,50,76,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,68,68,0,124,2,2,126,130,134,122,7,11,11, - 9,1,0,24,36,24,0,124,2,2,126,130,134,122,7,7, - 7,9,1,0,108,146,18,124,144,146,110,7,10,10,9,1, - 253,124,130,128,128,128,130,124,24,72,48,7,11,11,9,1, - 0,64,32,16,0,124,130,130,254,128,128,124,7,11,11,9, - 1,0,4,8,16,0,124,130,130,254,128,128,124,7,11,11, - 9,1,0,16,40,68,0,124,130,130,254,128,128,124,7,10, - 10,9,1,0,68,68,0,124,130,130,254,128,128,124,5,11, - 11,9,2,0,128,64,32,0,224,32,32,32,32,32,248,5, - 11,11,9,2,0,16,32,64,0,224,32,32,32,32,32,248, - 6,11,11,9,1,0,32,80,136,0,112,16,16,16,16,16, - 124,5,10,10,9,2,0,144,144,0,224,32,32,32,32,32, - 248,7,11,11,9,1,0,72,48,80,8,124,130,130,130,130, - 130,124,7,10,10,9,1,0,98,156,0,188,194,130,130,130, - 130,130,7,11,11,9,1,0,64,32,16,0,124,130,130,130, - 130,130,124,7,11,11,9,1,0,4,8,16,0,124,130,130, - 130,130,130,124,7,11,11,9,1,0,16,40,68,0,124,130, - 130,130,130,130,124,7,10,10,9,1,0,98,156,0,124,130, - 130,130,130,130,124,7,10,10,9,1,0,68,68,0,124,130, - 130,130,130,130,124,7,9,9,9,1,0,16,56,16,0,254, - 0,16,56,16,7,9,9,9,1,255,2,124,138,138,146,162, - 162,124,128,7,11,11,9,1,0,64,32,16,0,132,132,132, - 132,132,132,122,7,11,11,9,1,0,4,8,16,0,132,132, - 132,132,132,132,122,7,11,11,9,1,0,16,40,68,0,132, - 132,132,132,132,132,122,7,10,10,9,1,0,72,72,0,132, - 132,132,132,132,132,122,6,14,14,9,1,253,8,16,32,0, - 132,132,132,132,132,140,116,4,132,120,7,12,12,9,1,253, - 128,128,128,188,194,130,130,194,188,128,128,128,6,13,13,9, - 1,253,72,72,0,132,132,132,132,132,140,116,4,132,120}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=13 - Font Bounding box w= 9 h=15 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x15r[1427] U8G_FONT_SECTION("u8g_font_9x15r") = { - 0,9,15,0,253,10,1,232,3,216,32,127,253,12,253,11, - 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, - 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, - 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, - 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, - 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, - 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, - 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, - 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, - 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, - 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, - 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, - 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, - 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, - 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, - 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, - 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, - 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, - 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, - 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, - 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, - 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, - 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, - 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, - 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, - 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, - 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, - 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, - 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, - 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, - 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, - 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, - 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, - 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, - 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, - 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, - 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, - 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, - 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, - 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, - 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, - 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, - 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, - 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, - 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, - 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, - 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, - 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, - 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, - 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, - 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, - 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, - 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, - 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, - 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, - 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, - 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, - 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, - 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, - 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, - 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, - 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, - 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, - 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, - 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, - 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, - 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, - 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, - 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, - 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, - 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, - 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, - 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, - 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, - 146,140,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 4, '1' Height: 10 - Calculated Max Values w= 9 h=18 x= 8 y=12 dx= 9 dy= 0 ascent=14 len=36 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 4 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[3936] U8G_FONT_SECTION("u8g_font_9x18_67_75") = { - 0,9,18,0,252,4,1,255,4,34,32,255,0,14,252,10, - 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, - 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, - 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, - 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, - 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, - 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, - 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, - 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, - 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, - 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, - 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, - 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, - 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, - 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, - 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, - 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, - 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, - 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, - 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, - 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, - 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, - 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, - 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, - 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, - 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, - 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, - 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, - 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, - 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, - 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, - 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, - 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, - 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, - 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, - 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, - 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, - 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, - 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, - 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, - 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, - 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, - 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, - 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, - 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, - 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, - 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, - 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, - 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, - 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, - 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, - 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, - 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, - 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, - 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, - 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, - 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, - 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, - 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, - 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, - 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, - 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, - 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, - 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, - 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, - 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, - 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, - 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, - 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, - 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, - 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, - 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, - 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, - 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, - 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, - 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, - 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, - 124,7,10,10,9,1,0,16,40,68,238,68,238,40,40,40, - 56,7,11,11,9,1,255,16,40,68,238,68,238,40,40,108, - 68,124,9,7,14,9,0,1,132,0,134,0,253,0,128,128, - 253,0,134,0,132,0,7,7,7,9,1,0,252,128,184,176, - 168,132,2,7,7,7,9,1,0,128,66,42,26,58,2,126, - 7,11,11,9,1,255,16,40,68,238,40,40,40,238,68,40, - 16,9,7,14,9,0,1,4,0,50,0,73,0,255,128,73, - 0,50,0,4,0,9,10,20,9,0,0,34,0,39,0,42, - 128,34,0,34,0,34,0,34,0,170,0,114,0,34,0,7, - 13,13,9,1,254,8,4,254,4,8,4,254,4,8,4,254, - 4,8,8,5,5,9,0,2,36,68,255,68,36,8,5,5, - 9,0,2,36,34,255,34,36,9,5,10,9,0,2,42,0, - 73,0,255,128,73,0,42,0,8,5,5,9,0,2,42,74, - 255,74,42,8,5,5,9,0,2,84,82,255,82,84,9,5, - 10,9,0,2,85,0,148,128,255,128,148,128,85,0,7,7, - 7,9,1,1,16,48,80,158,80,48,16,7,7,7,9,1, - 1,16,24,20,242,20,24,16,8,5,5,9,0,2,36,102, - 189,102,36,9,9,18,9,0,5,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,9,2,4,9,0, - 252,255,128,255,128,9,4,8,9,0,252,255,128,255,128,255, - 128,255,128,9,7,14,9,0,252,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,9,9,18,9,0,252,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,9, - 11,22,9,0,252,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,9,14,28,9,0, - 252,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,9,16,32, - 9,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,9,18,36,9,0,252,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,255,128,255,128,255,128,255,128,255,128,8,18,18, - 9,0,252,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,7,18,18,9,0,252,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,254,254,254,254,6,18,18, - 9,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252, - 252,252,252,252,252,5,18,18,9,0,252,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,3,18,18, - 9,0,252,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,2,18,18,9,0,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,1,18,18, - 9,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,4,18,18,9,5,252,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,9,17,34, - 9,0,253,85,0,0,0,170,128,0,0,85,0,0,0,170, - 128,0,0,85,0,0,0,170,128,0,0,85,0,0,0,170, - 128,0,0,85,0,9,18,36,9,0,252,170,128,85,0,170, - 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,170, - 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,9, - 18,36,9,0,252,255,128,170,128,255,128,85,0,255,128,170, - 128,255,128,85,0,255,128,170,128,255,128,85,0,255,128,170, - 128,255,128,85,0,255,128,170,128,9,2,4,9,0,12,255, - 128,255,128,1,18,18,9,8,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,5,9,9,9,0, - 252,248,248,248,248,248,248,248,248,248,4,9,9,9,5,252, - 240,240,240,240,240,240,240,240,240,5,9,9,9,0,5,248, - 248,248,248,248,248,248,248,248,9,18,36,9,0,252,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,9,18,36,9,0,252,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,9,18,36,9, - 0,252,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,9,18,36,9,0,252,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 4,9,9,9,5,5,240,240,240,240,240,240,240,240,240,9, - 18,36,9,0,252,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,9,18,36,9,0,252,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, - 128,255,128,7,7,7,9,1,1,254,254,254,254,254,254,254, - 7,7,7,9,1,1,254,130,130,130,130,130,254,7,7,7, - 9,1,1,124,130,130,130,130,130,124,7,7,7,9,1,1, - 254,130,186,186,186,130,254,7,7,7,9,1,1,254,130,254, - 130,254,130,254,7,7,7,9,1,1,254,170,170,170,170,170, - 254,7,7,7,9,1,1,254,170,254,170,254,170,254,7,7, - 7,9,1,1,254,146,138,198,162,146,254,7,7,7,9,1, - 1,254,146,162,198,138,146,254,7,7,7,9,1,1,254,214, - 138,214,162,214,254,3,3,3,9,3,3,224,224,224,3,3, - 3,9,3,3,224,160,224,9,5,10,9,0,2,255,128,255, - 128,255,128,255,128,255,128,9,5,10,9,0,2,255,128,128, - 128,128,128,128,128,255,128,5,9,9,9,2,0,248,248,248, - 248,248,248,248,248,248,5,9,9,9,2,0,248,136,136,136, - 136,136,136,136,248,9,5,10,9,0,2,127,128,127,128,255, - 128,255,0,255,0,9,5,10,9,0,2,127,128,64,128,128, - 128,129,0,255,0,9,10,20,9,0,0,8,0,8,0,28, - 0,28,0,62,0,62,0,127,0,127,0,255,128,255,128,9, - 10,20,9,0,0,8,0,8,0,20,0,20,0,34,0,34, - 0,65,0,65,0,128,128,255,128,7,7,7,9,1,1,16, - 16,56,56,124,124,254,7,7,7,9,1,1,16,16,40,40, - 68,68,254,9,9,18,9,0,0,192,0,240,0,252,0,255, - 0,255,128,255,0,252,0,240,0,192,0,9,9,18,9,0, - 0,192,0,176,0,140,0,131,0,128,128,131,0,140,0,176, - 0,192,0,7,7,7,9,1,1,128,224,248,254,248,224,128, - 7,7,7,9,1,1,128,224,152,134,152,224,128,9,5,10, - 9,0,2,224,0,252,0,255,128,252,0,224,0,9,5,10, - 9,0,2,224,0,156,0,131,128,156,0,224,0,9,10,20, - 9,0,0,255,128,255,128,127,0,127,0,62,0,62,0,28, - 0,28,0,8,0,8,0,9,10,20,9,0,0,255,128,128, - 128,65,0,65,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,7,7,9,1,1,254,124,124,56,56,16,16,7,7, - 7,9,1,1,254,68,68,40,40,16,16,9,9,18,9,0, - 0,1,128,7,128,31,128,127,128,255,128,127,128,31,128,7, - 128,1,128,9,9,18,9,0,0,1,128,6,128,24,128,96, - 128,128,128,96,128,24,128,6,128,1,128,7,7,7,9,1, - 1,2,14,62,254,62,14,2,7,7,7,9,1,1,2,14, - 50,194,50,14,2,9,5,10,9,0,2,3,128,31,128,255, - 128,31,128,3,128,9,5,10,9,0,2,3,128,28,128,224, - 128,28,128,3,128,9,9,18,9,0,0,8,0,28,0,62, - 0,127,0,255,128,127,0,62,0,28,0,8,0,9,9,18, - 9,0,0,8,0,20,0,34,0,65,0,128,128,65,0,34, - 0,20,0,8,0,9,9,18,9,0,0,8,0,20,0,34, - 0,73,0,156,128,73,0,34,0,20,0,8,0,7,7,7, - 9,1,1,56,68,146,186,146,68,56,5,9,9,9,2,0, - 32,32,80,80,136,80,80,32,32,7,7,7,9,1,1,56, - 68,130,130,130,68,56,7,7,7,9,1,1,16,68,0,130, - 0,68,16,7,7,7,9,1,1,56,108,170,170,170,108,56, - 7,7,7,9,1,1,56,68,146,170,146,68,56,7,7,7, - 9,1,1,56,124,254,254,254,124,56,7,7,7,9,1,1, - 56,116,242,242,242,116,56,7,7,7,9,1,1,56,92,158, - 158,158,92,56,7,7,7,9,1,1,56,68,130,254,254,124, - 56,7,7,7,9,1,1,56,124,254,254,130,68,56,7,7, - 7,9,1,1,56,92,158,158,130,68,56,7,7,7,9,1, - 1,56,92,158,254,254,124,56,4,7,7,9,1,1,48,112, - 240,240,240,112,48,4,7,7,9,4,1,192,224,240,240,240, - 224,192,9,18,36,9,0,252,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,227,128,193,128,193,128,193,128,227,128, - 255,128,255,128,255,128,255,128,255,128,255,128,9,18,36,9, - 0,252,255,128,255,128,255,128,255,128,255,128,255,128,227,128, - 221,128,190,128,190,128,190,128,221,128,227,128,255,128,255,128, - 255,128,255,128,255,128,9,10,20,9,0,4,255,128,255,128, - 255,128,255,128,255,128,255,128,227,128,221,128,190,128,190,128, - 9,9,18,9,0,252,190,128,190,128,221,128,227,128,255,128, - 255,128,255,128,255,128,255,128,4,4,4,9,1,4,48,64, - 128,128,4,4,4,9,4,4,192,32,16,16,4,4,4,9, - 4,1,16,16,32,192,4,4,4,9,1,1,128,128,64,48, - 7,4,4,9,1,4,56,68,130,130,7,4,4,9,1,1, - 130,130,68,56,7,7,7,9,1,1,2,6,14,30,62,126, - 254,7,7,7,9,1,1,128,192,224,240,248,252,254,7,7, - 7,9,1,1,254,252,248,240,224,192,128,7,7,7,9,1, - 1,254,126,62,30,14,6,2,5,5,5,9,2,2,112,136, - 136,136,112,7,7,7,9,1,1,254,242,242,242,242,242,254, - 7,7,7,9,1,1,254,158,158,158,158,158,254,7,7,7, - 9,1,1,254,254,250,242,226,194,254,7,7,7,9,1,1, - 254,134,142,158,190,254,254,7,7,7,9,1,1,254,146,146, - 146,146,146,254,9,10,20,9,0,0,8,0,8,0,20,0, - 20,0,34,0,42,0,93,0,73,0,128,128,255,128,9,10, - 20,9,0,0,8,0,8,0,28,0,28,0,58,0,58,0, - 121,0,121,0,248,128,255,128,9,10,20,9,0,0,8,0, - 8,0,28,0,28,0,46,0,46,0,79,0,79,0,143,128, - 255,128,9,9,18,9,0,0,62,0,65,0,128,128,128,128, - 128,128,128,128,128,128,65,0,62,0,7,7,7,9,1,1, - 254,146,146,242,130,130,254,7,7,7,9,1,1,254,130,130, - 242,146,146,254,7,7,7,9,1,1,254,130,130,158,146,146, - 254,7,7,7,9,1,1,254,146,146,158,130,130,254,7,7, - 7,9,1,1,124,146,146,242,130,130,124,7,7,7,9,1, - 1,124,130,130,242,146,146,124,7,7,7,9,1,1,124,130, - 130,158,146,146,124,7,7,7,9,1,1,124,146,146,158,130, - 130,124,6,6,6,9,1,1,252,136,144,160,192,128,6,6, - 6,9,1,1,252,68,36,20,12,4,6,6,6,9,1,1, - 128,192,160,144,136,252,6,6,6,9,1,1,252,132,132,132, - 132,252,6,6,6,9,1,1,252,252,252,252,252,252,5,5, - 5,9,2,1,248,136,136,136,248,5,5,5,9,2,1,248, - 248,248,248,248,6,6,6,9,1,1,4,12,20,36,68,252 - }; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 9, '1' Height: 5 - Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_75r[792] U8G_FONT_SECTION("u8g_font_9x18_75r") = { - 0,9,18,0,252,9,2,33,0,0,32,79,0,10,0,9, - 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, - 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, - 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, - 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, - 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, - 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, - 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, - 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, - 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, - 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, - 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, - 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, - 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, - 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, - 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, - 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, - 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, - 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, - 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, - 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, - 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, - 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, - 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, - 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, - 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, - 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, - 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, - 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, - 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, - 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, - 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, - 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, - 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, - 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, - 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, - 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, - 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, - 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, - 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, - 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, - 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, - 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, - 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, - 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, - 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, - 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, - 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, - 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, - 1,56,124,254,254,254,124,56}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 9 h=12 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=24 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =12 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[3336] U8G_FONT_SECTION("u8g_font_9x18_78_79") = { - 0,9,18,0,252,9,2,231,4,175,32,255,0,12,255,11, - 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, - 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, - 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, - 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, - 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, - 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, - 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, - 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, - 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, - 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, - 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, - 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, - 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, - 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, - 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, - 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, - 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, - 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, - 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, - 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, - 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, - 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, - 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, - 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, - 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, - 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, - 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, - 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, - 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, - 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, - 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, - 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, - 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, - 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, - 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, - 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, - 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, - 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, - 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, - 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, - 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, - 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, - 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, - 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, - 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, - 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, - 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, - 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, - 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, - 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, - 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, - 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, - 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, - 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, - 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, - 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, - 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, - 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, - 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, - 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, - 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, - 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, - 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, - 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, - 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, - 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, - 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, - 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, - 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, - 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, - 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, - 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, - 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, - 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, - 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, - 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, - 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, - 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, - 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, - 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, - 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, - 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, - 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, - 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, - 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, - 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, - 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, - 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, - 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, - 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, - 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, - 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, - 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, - 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, - 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, - 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, - 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, - 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, - 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, - 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, - 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, - 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, - 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, - 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, - 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, - 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, - 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, - 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, - 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, - 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, - 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, - 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, - 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, - 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, - 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, - 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, - 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, - 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, - 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, - 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, - 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, - 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, - 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, - 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, - 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, - 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, - 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, - 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, - 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, - 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, - 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, - 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, - 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, - 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, - 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, - 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, - 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, - 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, - 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, - 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, - 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, - 10,0,20,0,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,8,11,11,9,0,255, - 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, - 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, - 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, - 85,0,99,0,99,0,193,128,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,5,12,12,9,2,255,248,160,160,160, - 160,160,160,160,160,160,160,248,5,12,12,9,2,255,248,40, - 40,40,40,40,40,40,40,40,40,248,3,10,10,9,3,0, - 32,32,64,64,128,128,64,64,32,32,3,10,10,9,3,0, - 128,128,64,64,32,32,64,64,128,128,6,10,10,9,1,0, - 36,36,72,72,144,144,72,72,36,36,6,10,10,9,2,0, - 144,144,72,72,36,36,72,72,144,144,255,255,255,255,9,11, - 22,9,0,0,8,0,20,0,54,0,85,0,213,128,85,0, - 85,0,85,0,85,0,85,0,85,0,9,11,22,9,0,255, - 85,0,85,0,85,0,85,0,85,0,85,0,213,128,85,0, - 54,0,20,0,8,0,8,8,8,9,0,0,28,34,169,113, - 33,1,34,28,8,8,8,9,0,0,56,68,149,142,132,128, - 68,56,9,5,10,9,0,2,114,0,169,0,255,128,169,0, - 114,0,9,5,10,9,0,2,32,0,64,0,255,128,64,0, - 32,0,9,5,10,9,0,2,2,0,1,0,255,128,1,0, - 2,0,9,5,10,9,0,2,34,0,65,0,255,128,65,0, - 34,0,9,7,14,9,0,1,16,0,32,0,127,128,128,0, - 127,128,32,0,16,0,9,7,14,9,0,1,4,0,2,0, - 255,0,0,128,255,0,2,0,4,0,9,7,14,9,0,1, - 20,0,34,0,127,0,128,128,127,0,34,0,20,0,9,5, - 10,9,0,2,32,128,64,128,255,128,64,128,32,128,9,5, - 10,9,0,2,130,0,129,0,255,128,129,0,130,0,9,7, - 14,9,0,1,16,128,32,128,127,128,128,128,127,128,32,128, - 16,128,9,7,14,9,0,1,132,0,130,0,255,0,128,128, - 255,0,130,0,132,0,9,6,12,9,0,1,2,0,1,0, - 85,128,170,128,1,0,2,0}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18B[3026] U8G_FONT_SECTION("u8g_font_9x18B") = { - 0,9,18,0,252,10,1,242,3,225,32,255,253,14,252,11, - 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, - 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, - 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, - 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, - 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, - 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, - 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, - 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, - 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, - 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, - 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, - 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, - 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, - 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, - 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, - 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, - 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, - 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, - 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, - 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, - 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, - 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, - 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, - 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, - 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, - 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, - 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, - 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, - 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, - 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, - 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, - 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, - 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, - 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, - 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, - 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, - 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, - 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, - 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, - 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, - 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, - 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, - 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, - 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, - 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, - 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, - 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, - 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, - 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, - 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, - 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, - 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, - 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, - 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, - 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, - 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, - 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, - 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, - 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, - 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, - 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, - 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, - 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, - 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, - 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, - 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, - 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, - 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, - 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, - 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, - 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, - 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, - 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, - 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, - 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, - 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, - 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, - 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, - 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, - 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, - 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, - 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, - 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, - 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, - 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, - 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, - 8,3,3,9,0,7,115,219,206,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,9,0,14, - 2,10,10,9,4,0,192,0,192,192,192,192,192,192,192,192, - 7,8,8,9,1,0,4,124,206,208,208,230,124,64,8,10, - 10,9,0,255,30,51,48,48,124,48,48,248,191,224,7,7, - 7,9,1,2,198,254,108,68,108,254,198,8,10,10,9,0, - 0,195,195,102,60,126,24,126,24,24,24,2,11,11,9,3, - 255,192,192,192,192,192,0,192,192,192,192,192,6,11,11,9, - 1,255,120,204,192,120,204,204,204,120,12,204,120,5,2,2, - 9,2,11,216,216,8,11,11,9,0,0,60,126,195,189,165, - 161,165,189,195,126,60,5,7,7,9,1,3,112,24,120,216, - 120,0,248,8,8,8,9,0,1,27,54,108,216,216,108,54, - 27,7,5,5,9,1,2,254,254,6,6,6,6,1,1,9, - 1,4,252,8,11,11,9,0,0,60,126,195,189,165,189,169, - 173,195,126,60,6,2,2,9,1,9,252,252,5,4,4,9, - 1,8,112,216,216,112,6,9,9,9,1,1,48,48,48,252, - 48,48,48,0,252,5,6,6,9,1,4,112,216,24,48,96, - 248,5,6,6,9,1,4,112,216,48,24,216,112,4,3,3, - 9,2,10,48,96,192,7,9,9,9,1,254,198,198,198,198, - 206,222,246,192,192,7,10,10,9,1,0,126,246,246,246,118, - 54,54,54,54,54,3,2,2,9,3,4,224,224,6,3,3, - 9,1,253,24,204,120,4,6,6,9,1,4,96,224,96,96, - 96,240,5,7,7,9,1,3,112,216,216,216,112,0,248,8, - 8,8,9,0,1,216,108,54,27,27,54,108,216,8,11,11, - 9,0,0,96,224,96,96,97,99,247,15,27,31,3,8,11, - 11,9,0,0,96,224,96,96,110,115,243,6,12,24,31,8, - 11,11,9,0,0,112,152,24,48,25,155,119,15,27,31,3, - 7,10,10,9,1,0,24,24,0,24,48,96,192,198,198,124, - 7,14,14,9,1,0,96,48,24,0,16,56,56,56,108,124, - 108,198,198,198,7,14,14,9,1,0,12,24,48,0,16,56, - 56,56,108,124,108,198,198,198,7,14,14,9,1,0,16,56, - 108,0,16,56,56,56,108,124,108,198,198,198,7,13,13,9, - 1,0,118,220,0,16,56,56,56,108,124,108,198,198,198,7, - 13,13,9,1,0,108,108,0,16,56,56,56,108,124,108,198, - 198,198,7,14,14,9,1,0,56,108,108,56,16,56,56,56, - 108,124,108,198,198,198,7,10,10,9,1,0,62,60,108,108, - 110,252,204,204,204,206,7,14,14,9,1,252,60,102,192,192, - 192,192,192,192,102,60,24,12,108,56,7,14,14,9,1,0, - 96,48,24,0,254,192,192,192,248,192,192,192,192,254,7,14, - 14,9,1,0,12,24,48,0,254,192,192,192,248,192,192,192, - 192,254,7,14,14,9,1,0,16,56,108,0,254,192,192,192, - 248,192,192,192,192,254,7,13,13,9,1,0,108,108,0,254, - 192,192,192,248,192,192,192,192,254,6,14,14,9,1,0,96, - 48,24,0,252,48,48,48,48,48,48,48,48,252,6,14,14, - 9,1,0,12,24,48,0,252,48,48,48,48,48,48,48,48, - 252,6,14,14,9,1,0,16,56,108,0,252,48,48,48,48, - 48,48,48,48,252,6,13,13,9,1,0,108,108,0,252,48, - 48,48,48,48,48,48,48,252,8,10,10,9,0,0,124,102, - 99,99,243,99,99,99,102,124,7,13,13,9,1,0,118,220, - 0,198,198,230,246,222,206,198,198,198,198,7,14,14,9,1, - 0,96,48,24,0,124,198,198,198,198,198,198,198,198,124,7, - 14,14,9,1,0,12,24,48,0,124,198,198,198,198,198,198, - 198,198,124,7,14,14,9,1,0,16,56,108,0,124,198,198, - 198,198,198,198,198,198,124,7,13,13,9,1,0,118,220,0, - 124,198,198,198,198,198,198,198,198,124,7,13,13,9,1,0, - 108,108,0,124,198,198,198,198,198,198,198,198,124,8,7,7, - 9,0,1,195,102,60,24,60,102,195,7,12,12,9,1,255, - 6,126,206,206,222,222,246,246,230,230,252,192,7,14,14,9, - 1,0,96,48,24,0,198,198,198,198,198,198,198,198,108,56, - 7,14,14,9,1,0,12,24,48,0,198,198,198,198,198,198, - 198,198,108,56,7,14,14,9,1,0,16,56,108,0,198,198, - 198,198,198,198,198,198,108,56,7,13,13,9,1,0,108,108, - 0,198,198,198,198,198,198,198,198,108,56,8,14,14,9,0, - 0,12,24,48,0,195,195,102,60,24,24,24,24,24,24,7, - 10,10,9,1,0,192,192,252,198,198,198,252,192,192,192,7, - 10,10,9,1,0,60,102,102,102,236,102,102,102,102,108,7, - 11,11,9,1,0,96,48,24,0,124,6,6,126,198,198,126, - 7,11,11,9,1,0,12,24,48,0,124,6,6,126,198,198, - 126,7,11,11,9,1,0,16,56,108,0,124,6,6,126,198, - 198,126,7,10,10,9,1,0,118,220,0,124,6,6,126,198, - 198,126,7,10,10,9,1,0,108,108,0,124,6,6,126,198, - 198,126,7,11,11,9,1,0,56,108,56,0,124,6,6,126, - 198,198,126,8,7,7,9,0,0,118,27,27,127,216,219,118, - 7,11,11,9,1,252,124,198,192,192,192,198,124,24,12,108, - 56,7,11,11,9,1,0,96,48,24,0,124,198,198,254,192, - 198,124,7,11,11,9,1,0,12,24,48,0,124,198,198,254, - 192,198,124,7,11,11,9,1,0,16,56,108,0,124,198,198, - 254,192,198,124,7,10,10,9,1,0,108,108,0,124,198,198, - 254,192,198,124,6,11,11,9,1,0,192,96,48,0,240,48, - 48,48,48,48,252,6,11,11,9,1,0,12,24,48,0,240, - 48,48,48,48,48,252,6,11,11,9,1,0,32,112,216,0, - 240,48,48,48,48,48,252,6,10,10,9,1,0,108,108,0, - 240,48,48,48,48,48,252,7,11,11,9,1,0,108,56,56, - 108,12,126,198,198,198,198,124,7,10,10,9,1,0,118,220, - 0,220,230,198,198,198,198,198,7,11,11,9,1,0,96,48, - 24,0,56,108,198,198,198,108,56,7,11,11,9,1,0,12, - 24,48,0,56,108,198,198,198,108,56,7,11,11,9,1,0, - 16,56,108,0,56,108,198,198,198,108,56,7,10,10,9,1, - 0,118,220,0,56,108,198,198,198,108,56,7,10,10,9,1, - 0,108,108,0,56,108,198,198,198,108,56,8,7,7,9,0, - 1,24,24,0,255,0,24,24,8,9,9,9,0,255,1,63, - 102,207,219,243,102,252,128,7,11,11,9,1,0,96,48,24, - 0,198,198,198,198,198,198,126,7,11,11,9,1,0,12,24, - 48,0,198,198,198,198,198,198,126,7,11,11,9,1,0,16, - 56,108,0,198,198,198,198,198,198,126,7,10,10,9,1,0, - 108,108,0,198,198,198,198,198,198,126,7,14,14,9,1,253, - 12,24,48,0,198,198,108,108,108,56,56,48,176,96,7,11, - 11,9,1,254,192,192,248,204,198,198,198,204,248,192,192,7, - 13,13,9,1,253,108,108,0,198,198,108,108,108,56,56,48, - 176,96}; -/* - Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 9 h=13 x= 3 y=14 dx= 9 dy= 0 ascent=14 len=20 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18Br[1434] U8G_FONT_SECTION("u8g_font_9x18Br") = { - 0,9,18,0,252,10,1,242,3,225,32,127,253,14,253,11, - 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, - 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, - 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, - 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, - 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, - 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, - 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, - 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, - 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, - 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, - 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, - 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, - 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, - 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, - 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, - 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, - 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, - 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, - 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, - 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, - 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, - 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, - 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, - 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, - 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, - 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, - 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, - 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, - 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, - 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, - 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, - 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, - 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, - 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, - 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, - 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, - 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, - 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, - 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, - 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, - 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, - 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, - 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, - 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, - 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, - 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, - 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, - 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, - 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, - 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, - 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, - 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, - 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, - 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, - 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, - 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, - 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, - 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, - 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, - 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, - 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, - 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, - 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, - 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, - 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, - 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, - 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, - 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, - 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, - 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, - 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, - 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, - 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, - 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, - 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, - 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, - 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, - 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, - 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, - 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, - 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, - 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, - 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, - 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, - 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, - 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, - 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, - 8,3,3,9,0,7,115,219,206,255}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=14 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18[3011] U8G_FONT_SECTION("u8g_font_9x18") = { - 0,9,18,0,252,10,1,232,3,215,32,255,253,14,253,11, - 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, - 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, - 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, - 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, - 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, - 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, - 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, - 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, - 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, - 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, - 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, - 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, - 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, - 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, - 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, - 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, - 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, - 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, - 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, - 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, - 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, - 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, - 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, - 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, - 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, - 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, - 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, - 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, - 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, - 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, - 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, - 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, - 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, - 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, - 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, - 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, - 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, - 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, - 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, - 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, - 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, - 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, - 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, - 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, - 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, - 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, - 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, - 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, - 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, - 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, - 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, - 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, - 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, - 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, - 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, - 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, - 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, - 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, - 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, - 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, - 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, - 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, - 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, - 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, - 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, - 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, - 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, - 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, - 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, - 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, - 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, - 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, - 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, - 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, - 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, - 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,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,9,0,14,1,11,11,9,4,0,128,128,0,0, - 128,128,128,128,128,128,128,6,8,8,9,1,0,8,120,148, - 144,160,164,120,64,7,10,10,9,1,0,28,34,32,32,248, - 32,32,96,162,92,7,6,6,9,1,3,130,124,68,68,124, - 130,7,10,10,9,1,0,130,130,68,40,124,16,124,16,16, - 16,1,11,11,9,4,255,128,128,128,128,128,0,128,128,128, - 128,128,4,11,11,9,2,255,96,144,128,96,144,144,144,96, - 16,144,96,3,2,2,9,3,11,160,160,8,9,9,9,0, - 1,60,66,153,165,161,165,153,66,60,5,7,7,9,1,3, - 96,144,112,144,120,0,248,7,8,8,9,1,1,18,36,72, - 144,144,72,36,18,6,4,4,9,1,2,252,4,4,4,5, - 1,1,9,2,4,248,8,9,9,9,0,1,60,66,185,165, - 189,169,165,66,60,6,1,1,9,1,9,252,4,4,4,9, - 3,6,96,144,144,96,7,9,9,9,1,1,16,16,16,254, - 16,16,16,0,254,4,6,6,9,1,4,96,144,16,96,128, - 240,4,6,6,9,1,4,96,144,32,16,144,96,3,3,3, - 9,3,10,32,64,128,7,9,9,9,1,254,130,130,130,130, - 130,198,186,128,128,7,10,10,9,1,0,126,138,138,138,122, - 10,10,10,10,10,2,2,2,9,4,4,192,192,4,3,3, - 9,2,253,32,144,96,3,6,6,9,1,4,64,192,64,64, - 64,224,5,6,6,9,1,4,112,136,136,112,0,248,7,8, - 8,9,1,1,144,72,36,18,18,36,72,144,7,10,10,9, - 1,0,64,192,64,64,66,230,10,18,26,6,7,10,10,9, - 1,0,64,192,64,64,76,242,2,12,16,30,7,10,10,9, - 1,0,96,144,32,16,146,102,10,18,26,6,7,10,10,9, - 1,0,16,0,16,16,32,64,128,130,130,124,7,14,14,9, - 1,0,32,16,8,0,16,40,40,40,68,124,68,130,130,130, - 7,14,14,9,1,0,8,16,32,0,16,40,40,40,68,124, - 68,130,130,130,7,14,14,9,1,0,16,40,68,0,16,40, - 40,40,68,124,68,130,130,130,7,13,13,9,1,0,52,88, - 0,16,40,40,40,68,124,68,130,130,130,7,13,13,9,1, - 0,40,40,0,16,40,40,40,68,124,68,130,130,130,7,14, - 14,9,1,0,16,40,40,16,16,40,40,40,68,124,68,130, - 130,130,7,10,10,9,1,0,30,40,40,40,78,120,72,136, - 136,142,7,13,13,9,1,253,60,66,128,128,128,128,128,128, - 66,60,8,36,24,7,14,14,9,1,0,32,16,8,0,254, - 128,128,128,248,128,128,128,128,254,7,14,14,9,1,0,8, - 16,32,0,254,128,128,128,248,128,128,128,128,254,7,14,14, - 9,1,0,16,40,68,0,254,128,128,128,248,128,128,128,128, - 254,7,13,13,9,1,0,40,40,0,254,128,128,128,248,128, - 128,128,128,254,5,14,14,9,2,0,64,32,16,0,248,32, - 32,32,32,32,32,32,32,248,5,14,14,9,2,0,16,32, - 64,0,248,32,32,32,32,32,32,32,32,248,5,14,14,9, - 2,0,32,80,136,0,248,32,32,32,32,32,32,32,32,248, - 5,13,13,9,2,0,80,80,0,248,32,32,32,32,32,32, - 32,32,248,7,10,10,9,1,0,120,68,66,66,242,66,66, - 66,68,120,7,13,13,9,1,0,52,88,0,130,130,194,162, - 146,138,134,130,130,130,7,14,14,9,1,0,32,16,8,0, - 124,130,130,130,130,130,130,130,130,124,7,14,14,9,1,0, - 8,16,32,0,124,130,130,130,130,130,130,130,130,124,7,14, - 14,9,1,0,16,40,68,0,124,130,130,130,130,130,130,130, - 130,124,7,13,13,9,1,0,52,88,0,124,130,130,130,130, - 130,130,130,130,124,7,13,13,9,1,0,40,40,0,124,130, - 130,130,130,130,130,130,130,124,7,7,7,9,1,1,130,68, - 40,16,40,68,130,7,12,12,9,1,255,2,124,134,138,138, - 146,146,162,162,194,124,128,7,14,14,9,1,0,32,16,8, - 0,130,130,130,130,130,130,130,130,68,56,7,14,14,9,1, - 0,8,16,32,0,130,130,130,130,130,130,130,130,68,56,7, - 14,14,9,1,0,16,40,68,0,130,130,130,130,130,130,130, - 130,68,56,7,13,13,9,1,0,40,40,0,130,130,130,130, - 130,130,130,130,68,56,7,14,14,9,1,0,8,16,32,0, - 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, - 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, - 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, - 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, - 0,8,16,32,0,124,2,2,126,130,134,122,7,11,11,9, - 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,52,88,0,124,2,2,126,130,134,122,7,10,10, - 9,1,0,40,40,0,124,2,2,126,130,134,122,7,12,12, - 9,1,0,16,40,40,16,0,124,2,2,126,130,134,122,7, - 7,7,9,1,0,108,18,18,126,144,146,108,7,10,10,9, - 1,253,124,130,128,128,128,130,124,16,72,48,7,11,11,9, - 1,0,32,16,8,0,124,130,130,254,128,130,124,7,11,11, - 9,1,0,8,16,32,0,124,130,130,254,128,130,124,7,11, - 11,9,1,0,16,40,68,0,124,130,130,254,128,130,124,7, - 10,10,9,1,0,40,40,0,124,130,130,254,128,130,124,5, - 12,12,9,2,0,128,64,32,0,0,224,32,32,32,32,32, - 248,5,12,12,9,2,0,16,32,64,0,0,224,32,32,32, - 32,32,248,5,12,12,9,2,0,32,80,136,0,0,224,32, - 32,32,32,32,248,5,11,11,9,2,0,80,80,0,0,224, - 32,32,32,32,32,248,7,11,11,9,1,0,72,48,80,8, - 60,68,130,130,130,68,56,7,10,10,9,1,0,52,88,0, - 188,194,130,130,130,130,130,7,11,11,9,1,0,32,16,8, - 0,124,130,130,130,130,130,124,7,11,11,9,1,0,8,16, - 32,0,124,130,130,130,130,130,124,7,11,11,9,1,0,16, - 40,68,0,124,130,130,130,130,130,124,7,10,10,9,1,0, - 52,88,0,124,130,130,130,130,130,124,7,10,10,9,1,0, - 40,40,0,124,130,130,130,130,130,124,7,9,9,9,1,0, - 16,56,16,0,254,0,16,56,16,7,9,9,9,1,255,2, - 124,138,138,146,162,162,124,128,7,11,11,9,1,0,64,32, - 16,0,130,130,130,130,130,134,122,7,11,11,9,1,0,8, - 16,32,0,130,130,130,130,130,134,122,7,11,11,9,1,0, - 16,40,68,0,130,130,130,130,130,134,122,7,10,10,9,1, - 0,40,40,0,130,130,130,130,130,134,122,7,14,14,9,1, - 253,4,8,16,0,66,66,36,36,36,24,24,16,144,96,7, - 11,11,9,1,254,128,128,184,196,130,130,130,196,184,128,128, - 7,13,13,9,1,253,36,36,0,66,66,36,36,36,24,24, - 16,144,96}; -/* - Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 - Copyright: Public domain font. Share and enjoy. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 8 h=13 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=13 - Font Bounding box w= 9 h=18 x= 0 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_9x18r[1424] U8G_FONT_SECTION("u8g_font_9x18r") = { - 0,9,18,0,252,10,1,232,3,215,32,127,253,14,253,11, - 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, - 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, - 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, - 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, - 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, - 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, - 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, - 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, - 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, - 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, - 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, - 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, - 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, - 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, - 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, - 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, - 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, - 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, - 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, - 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, - 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, - 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, - 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, - 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, - 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, - 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, - 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, - 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, - 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, - 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, - 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, - 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, - 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, - 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, - 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, - 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, - 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, - 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, - 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, - 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, - 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, - 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, - 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, - 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, - 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, - 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, - 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, - 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, - 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, - 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, - 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, - 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, - 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, - 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, - 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, - 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, - 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, - 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, - 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, - 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, - 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, - 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, - 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, - 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, - 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, - 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, - 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, - 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, - 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, - 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, - 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, - 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, - 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, - 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, - 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, - 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, - 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, - 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, - 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, - 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, - 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, - 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, - 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, - 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, - 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, - 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, - 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,255 - }; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 9 h= 9 x= 1 y= 5 dx=10 dy= 0 ascent= 8 len=12 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_baby[2227] U8G_FONT_SECTION("u8g_font_baby") = { - 0,10,10,255,254,5,1,108,2,200,32,255,254,8,254,6, - 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, - 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, - 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, - 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, - 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, - 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, - 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, - 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, - 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, - 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, - 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, - 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, - 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, - 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, - 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, - 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, - 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, - 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, - 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, - 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, - 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, - 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, - 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, - 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, - 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, - 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, - 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, - 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, - 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, - 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, - 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, - 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, - 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, - 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, - 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, - 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, - 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, - 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, - 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, - 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, - 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, - 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, - 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, - 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, - 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, - 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, - 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, - 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, - 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, - 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, - 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, - 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, - 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, - 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, - 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, - 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, - 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, - 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, - 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, - 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, - 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, - 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,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, - 255,1,6,6,3,1,255,128,0,128,128,128,128,4,6,6, - 5,0,255,16,112,160,160,112,64,4,6,6,5,0,0,96, - 208,64,224,64,240,4,4,4,5,0,1,240,144,144,240,5, - 7,7,6,0,255,136,80,32,112,32,112,32,1,7,7,2, - 0,255,128,128,128,0,128,128,128,4,7,7,5,0,255,112, - 128,96,144,96,16,224,3,1,1,4,0,5,160,7,7,7, - 8,0,255,56,68,154,162,154,68,56,3,3,3,4,0,4, - 96,160,224,4,3,3,5,0,1,80,160,80,5,3,3,6, - 0,1,248,8,8,2,1,1,3,0,2,192,7,7,7,8, - 0,255,56,68,178,186,170,68,56,4,1,1,5,0,5,240, - 3,3,3,4,0,4,64,160,64,3,5,5,4,0,0,64, - 224,64,0,224,3,4,4,4,0,4,192,32,64,224,3,4, - 4,4,0,4,224,32,96,224,2,2,2,3,0,5,64,128, - 5,6,6,6,0,254,144,144,144,248,128,128,5,6,6,6, - 0,0,120,232,232,104,40,40,1,1,1,3,1,2,128,3, - 3,3,4,0,254,64,32,192,3,4,4,4,0,4,64,192, - 64,224,4,4,4,5,0,4,96,144,144,96,4,3,3,5, - 0,1,160,80,160,7,6,6,8,0,0,136,144,160,42,78, - 130,7,6,6,8,0,0,136,144,164,42,68,142,9,6,12, - 10,0,0,226,0,100,0,232,0,10,128,19,128,32,128,4, - 6,6,5,0,255,32,0,32,64,144,96,4,8,8,5,0, - 0,64,32,0,96,144,144,240,144,4,8,8,5,0,0,32, - 64,0,96,144,144,240,144,4,8,8,5,0,0,96,144,0, - 96,144,144,240,144,4,8,8,5,0,0,80,160,0,96,144, - 144,240,144,4,7,7,5,0,0,80,0,96,144,144,240,144, - 4,7,7,5,0,0,96,0,96,144,144,240,144,7,5,5, - 8,0,0,126,144,156,240,158,4,7,7,5,0,254,96,144, - 128,144,96,32,64,4,8,8,5,0,0,64,32,0,240,128, - 224,128,240,4,8,8,5,0,0,32,64,0,240,128,224,128, - 240,4,8,8,5,0,0,96,144,0,240,128,224,128,240,4, - 7,7,5,0,0,80,0,240,128,224,128,240,3,8,8,4, - 0,0,128,64,0,224,64,64,64,224,3,8,8,4,0,0, - 32,64,0,224,64,64,64,224,3,8,8,4,0,0,64,160, - 0,224,64,64,64,224,3,7,7,4,0,0,160,0,224,64, - 64,64,224,5,5,5,6,0,0,112,72,232,72,112,4,8, - 8,5,0,0,80,160,0,144,144,208,176,144,4,8,8,5, - 0,0,64,32,0,96,144,144,144,96,4,8,8,5,0,0, - 32,64,0,96,144,144,144,96,4,8,8,5,0,0,96,144, - 0,96,144,144,144,96,4,8,8,5,0,0,80,160,0,96, - 144,144,144,96,4,7,7,5,0,0,80,0,96,144,144,144, - 96,3,3,3,4,0,1,160,64,160,6,5,5,7,0,0, - 48,76,120,200,48,4,8,8,5,0,0,64,32,0,144,144, - 144,144,96,4,8,8,5,0,0,32,64,0,144,144,144,144, - 96,4,8,8,5,0,0,96,144,0,144,144,144,144,96,4, - 7,7,5,0,0,80,0,144,144,144,144,96,4,9,9,5, - 0,255,32,64,0,144,144,144,112,16,96,4,6,6,5,0, - 0,128,224,144,144,224,128,4,5,5,5,0,0,96,144,160, - 144,160,4,7,7,5,0,0,64,32,0,96,144,144,112,4, - 7,7,5,0,0,32,64,0,96,144,144,112,4,7,7,5, - 0,0,96,144,0,96,144,144,112,4,7,7,5,0,0,80, - 160,0,96,144,144,112,4,6,6,5,0,0,80,0,96,144, - 144,112,4,7,7,5,0,0,96,96,0,96,144,144,112,7, - 4,4,8,0,0,108,146,148,126,3,6,6,4,0,254,96, - 128,128,96,32,64,4,7,7,5,0,0,64,32,0,96,144, - 160,112,4,7,7,5,0,0,32,64,0,96,144,160,112,4, - 7,7,5,0,0,96,144,0,96,144,160,112,4,6,6,5, - 0,0,80,0,96,144,160,112,2,6,6,3,0,0,128,64, - 0,64,64,64,2,6,6,3,0,0,64,128,0,128,128,128, - 3,6,6,4,0,0,64,160,0,64,64,64,3,5,5,4, - 0,0,160,0,64,64,64,5,6,6,6,0,0,96,24,112, - 144,144,96,4,7,7,5,0,0,80,160,0,224,144,144,144, - 4,7,7,5,0,0,64,32,0,96,144,144,96,4,7,7, - 5,0,0,32,64,0,96,144,144,96,4,7,7,5,0,0, - 96,144,0,96,144,144,96,4,7,7,5,0,0,80,160,0, - 96,144,144,96,4,6,6,5,0,0,80,0,96,144,144,96, - 5,5,5,6,0,0,32,0,248,0,32,4,4,4,5,0, - 0,96,176,208,96,4,7,7,5,0,0,64,32,0,144,144, - 144,112,4,7,7,5,0,0,32,64,0,144,144,144,112,4, - 7,7,5,0,0,96,144,0,144,144,144,112,4,6,6,5, - 0,0,80,0,144,144,144,112,4,9,9,5,0,254,32,64, - 0,144,144,144,112,16,96,4,8,8,5,0,254,128,128,224, - 144,144,224,128,128,4,8,8,5,0,254,80,0,144,144,144, - 112,16,96}; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 6 x= 1 y= 3 dx= 5 dy= 0 ascent= 6 len= 6 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_babyn[189] U8G_FONT_SECTION("u8g_font_babyn") = { - 0,10,10,255,254,5,0,0,0,0,42,58,0,6,254,5, - 0,3,3,3,4,0,3,160,64,160,3,3,3,5,1,1, - 64,224,64,2,3,3,3,0,254,192,64,128,3,1,1,4, - 0,2,224,1,1,1,2,0,0,128,3,6,6,4,0,255, - 32,32,64,64,128,128,3,5,5,4,0,0,64,160,160,160, - 64,2,5,5,3,0,0,64,192,64,64,64,4,5,5,5, - 0,0,96,144,32,64,240,4,5,5,5,0,0,224,16,96, - 16,224,4,5,5,5,0,0,144,144,144,112,16,4,5,5, - 5,0,0,240,128,224,16,224,4,5,5,5,0,0,96,128, - 224,144,96,4,5,5,5,0,0,240,16,32,64,128,4,5, - 5,5,0,0,96,144,96,144,96,4,5,5,5,0,0,96, - 144,112,16,96,1,3,3,3,1,0,128,0,128}; -/* - Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 - Copyright: Copyright mrsbarrett 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 1 y= 5 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w=10 h=10 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_babyr[1040] U8G_FONT_SECTION("u8g_font_babyr") = { - 0,10,10,255,254,5,1,108,2,200,32,127,254,7,254,6, - 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, - 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, - 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, - 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, - 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, - 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, - 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, - 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, - 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, - 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, - 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, - 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, - 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, - 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, - 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, - 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, - 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, - 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, - 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, - 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, - 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, - 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, - 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, - 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, - 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, - 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, - 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, - 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, - 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, - 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, - 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, - 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, - 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, - 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, - 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, - 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, - 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, - 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, - 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, - 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, - 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, - 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, - 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, - 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, - 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, - 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, - 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, - 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, - 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, - 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, - 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, - 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, - 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, - 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, - 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, - 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, - 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, - 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, - 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, - 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, - 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, - 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,255 - }; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07[948] U8G_FONT_SECTION("u8g_font_blipfest_07") = { - 0,5,6,0,255,5,1,5,2,47,32,255,255,5,255,5, - 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, - 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, - 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, - 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, - 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, - 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, - 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, - 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, - 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, - 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, - 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, - 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, - 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, - 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, - 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, - 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, - 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, - 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, - 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, - 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, - 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, - 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, - 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, - 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, - 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, - 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, - 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, - 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, - 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, - 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, - 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, - 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, - 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, - 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, - 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, - 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, - 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, - 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, - 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, - 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, - 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, - 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, - 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, - 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, - 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,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, - 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,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,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,255}; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[169] U8G_FONT_SECTION("u8g_font_blipfest_07n") = { - 0,5,6,0,255,5,0,0,0,0,42,58,0,5,0,5, - 0,255,3,3,3,4,0,1,64,224,64,1,2,2,2,0, - 0,128,128,3,1,1,4,0,2,224,1,1,1,2,0,0, - 128,255,3,5,5,4,0,0,224,160,160,160,224,2,5,5, - 3,0,0,192,64,64,64,64,3,5,5,4,0,0,224,32, - 224,128,224,3,5,5,4,0,0,224,32,224,32,224,3,5, - 5,4,0,0,160,160,224,32,32,3,5,5,4,0,0,224, - 128,224,32,224,3,5,5,4,0,0,224,128,224,160,224,3, - 5,5,4,0,0,224,32,32,32,32,3,5,5,4,0,0, - 224,160,224,160,224,3,5,5,4,0,0,224,160,224,32,224, - 1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright cwillmor 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[820] U8G_FONT_SECTION("u8g_font_blipfest_07r") = { - 0,5,6,0,255,5,1,5,2,47,32,127,255,5,255,5, - 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, - 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, - 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, - 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, - 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, - 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, - 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, - 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, - 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, - 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, - 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, - 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, - 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, - 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, - 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, - 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, - 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, - 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, - 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, - 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, - 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, - 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, - 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, - 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, - 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, - 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, - 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, - 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, - 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, - 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, - 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, - 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, - 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, - 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, - 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, - 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, - 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, - 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, - 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, - 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, - 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, - 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, - 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, - 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, - 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,255, - 255,255,255,255}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 9 h= 8 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=10 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikita[2236] U8G_FONT_SECTION("u8g_font_chikita") = { - 0,9,10,0,254,5,1,107,2,195,32,255,254,8,254,6, - 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, - 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, - 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, - 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, - 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, - 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, - 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, - 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, - 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, - 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, - 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, - 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, - 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, - 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, - 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, - 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, - 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, - 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, - 128,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,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, - 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, - 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, - 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, - 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, - 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, - 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, - 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, - 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, - 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, - 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, - 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, - 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, - 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, - 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, - 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, - 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, - 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, - 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, - 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, - 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, - 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, - 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, - 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, - 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, - 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, - 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, - 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, - 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, - 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, - 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, - 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, - 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, - 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, - 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, - 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, - 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, - 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, - 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, - 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, - 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, - 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, - 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, - 3,6,0,1,64,168,16,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,255,1,7,7,2,0,255,128, - 0,128,128,128,128,128,3,5,5,4,0,0,64,224,128,224, - 64,5,6,6,6,0,0,112,136,72,224,64,248,5,5,5, - 6,0,0,136,112,80,112,136,5,6,6,6,0,0,136,80, - 32,112,112,32,1,5,5,2,0,0,128,128,0,128,128,4, - 7,7,5,0,254,112,128,96,144,96,16,224,3,1,1,4, - 0,6,160,7,7,7,8,0,255,124,130,186,162,186,130,124, - 3,4,4,4,0,4,96,224,160,96,6,5,5,7,0,0, - 36,72,144,72,36,5,3,3,6,0,2,248,8,8,3,1, - 1,5,1,2,224,7,7,7,8,0,255,124,130,186,178,170, - 130,124,5,1,1,6,0,6,248,4,4,4,5,0,3,96, - 144,144,96,3,5,5,5,1,0,64,224,64,0,224,4,5, - 5,5,0,2,96,144,32,64,240,4,5,5,5,0,2,224, - 16,96,16,224,2,2,2,3,0,5,64,128,5,6,6,6, - 0,254,136,136,216,168,128,128,6,7,7,7,0,254,124,232, - 232,104,40,40,40,3,3,3,5,1,1,224,224,224,3,3, - 3,5,1,254,64,32,224,2,5,5,3,0,2,64,192,64, - 64,64,4,5,5,5,0,2,96,144,144,144,96,6,5,5, - 7,0,0,144,72,36,72,144,7,8,8,8,0,254,66,196, - 72,80,38,74,142,2,7,8,8,8,0,254,66,196,72,80, - 44,66,132,14,7,8,8,8,0,254,226,68,40,208,38,74, - 142,2,5,7,7,6,0,255,32,0,32,32,72,136,112,5, - 8,8,6,0,0,64,32,0,112,136,136,248,136,5,8,8, - 6,0,0,16,32,0,112,136,136,248,136,5,8,8,6,0, - 0,32,80,0,112,136,136,248,136,5,8,8,6,0,0,40, - 80,0,112,136,136,248,136,5,7,7,6,0,0,80,0,112, - 136,136,248,136,5,8,8,6,0,0,32,80,32,112,136,136, - 248,136,9,5,10,10,0,0,63,128,72,0,143,0,248,0, - 143,128,5,7,7,6,0,254,112,136,128,136,112,16,112,5, - 8,8,6,0,0,64,32,0,248,128,240,128,248,5,8,8, - 6,0,0,16,32,0,248,128,240,128,248,5,8,8,6,0, - 0,32,80,0,248,128,240,128,248,5,7,7,6,0,0,80, - 0,248,128,240,128,248,3,8,8,4,0,0,128,64,0,224, - 64,64,64,224,3,8,8,4,0,0,32,64,0,224,64,64, - 64,224,3,8,8,4,0,0,64,160,0,224,64,64,64,224, - 3,7,7,4,0,0,160,0,224,64,64,64,224,5,5,5, - 6,0,0,112,72,232,72,112,5,8,8,6,0,0,40,80, - 0,136,200,168,152,136,5,8,8,6,0,0,64,32,0,112, - 136,136,136,112,5,8,8,6,0,0,16,32,0,112,136,136, - 136,112,5,8,8,6,0,0,32,80,0,112,136,136,136,112, - 5,8,8,6,0,0,64,168,16,112,136,136,136,112,5,7, - 7,6,0,0,80,0,112,136,136,136,112,3,3,3,4,0, - 1,160,64,160,5,5,5,6,0,0,120,152,168,200,240,5, - 8,8,6,0,0,64,32,0,136,136,136,136,112,5,8,8, - 6,0,0,16,32,0,136,136,136,136,112,5,8,8,6,0, - 0,32,80,0,136,136,136,136,112,5,7,7,6,0,0,80, - 0,136,136,136,136,112,5,8,8,6,0,0,16,32,0,136, - 136,80,32,32,5,5,5,6,0,0,128,240,136,240,128,4, - 5,5,5,0,0,96,144,160,144,160,4,7,7,5,0,0, - 64,32,0,112,144,144,240,4,7,7,5,0,0,32,64,0, - 112,144,144,240,4,7,7,5,0,0,32,80,0,112,144,144, - 240,4,7,7,5,0,0,80,160,0,112,144,144,240,4,6, - 6,5,0,0,80,0,112,144,144,240,4,7,7,5,0,0, - 32,80,32,112,144,144,240,7,5,5,8,0,0,236,18,126, - 144,238,4,6,6,5,0,254,112,128,128,112,32,96,4,7, - 7,5,0,0,64,32,0,96,144,224,112,4,7,7,5,0, - 0,32,64,0,96,144,224,112,4,7,7,5,0,0,32,80, - 0,96,144,224,112,4,6,6,5,0,0,80,0,96,144,224, - 112,2,7,7,3,0,0,128,64,0,64,64,64,64,2,7, - 7,3,0,0,64,128,0,128,128,128,128,3,7,7,4,0, - 0,64,160,0,64,64,64,64,3,6,6,4,0,0,160,0, - 64,64,64,64,4,6,6,5,0,0,64,32,112,144,144,96, - 4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7, - 5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0, - 32,64,0,96,144,144,96,4,7,7,5,0,0,96,144,0, - 96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144, - 96,4,6,6,5,0,0,80,0,96,144,144,96,5,5,5, - 6,0,0,32,0,248,0,32,4,4,4,5,0,0,112,176, - 208,224,4,7,7,5,0,0,64,32,0,144,144,144,112,4, - 7,7,5,0,0,32,64,0,144,144,144,112,4,7,7,5, - 0,0,32,80,0,144,144,144,112,4,6,6,5,0,0,80, - 0,144,144,144,112,4,8,8,5,0,254,32,64,0,144,144, - 112,16,224,4,6,6,5,0,254,128,224,144,144,224,128,4, - 7,7,5,0,254,80,0,144,144,112,16,224}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikitan[189] U8G_FONT_SECTION("u8g_font_chikitan") = { - 0,9,10,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,3,3,3,5,1,1,160,64,160,5,5,5,6,0,0, - 32,32,248,32,32,2,2,2,3,0,255,64,128,5,1,1, - 6,0,2,248,1,1,1,2,0,0,128,3,5,5,5,1, - 0,32,32,64,128,128,4,5,5,5,0,0,96,144,144,144, - 96,2,5,5,3,0,0,64,192,64,64,64,5,5,5,6, - 0,0,112,136,48,64,248,5,5,5,6,0,0,240,8,112, - 8,240,5,5,5,6,0,0,48,80,144,248,16,5,5,5, - 6,0,0,248,128,240,8,240,5,5,5,6,0,0,120,128, - 240,136,112,5,5,5,6,0,0,248,8,16,32,64,5,5, - 5,6,0,0,112,136,112,136,112,5,5,5,6,0,0,112, - 136,120,8,240,1,3,3,2,0,1,128,0,128}; -/* - Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 - Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 7 h= 7 x= 1 y= 4 dx= 8 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 9 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_chikitar[1032] U8G_FONT_SECTION("u8g_font_chikitar") = { - 0,9,10,0,254,5,1,107,2,195,32,127,254,6,254,6, - 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, - 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, - 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, - 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, - 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, - 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, - 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, - 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, - 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, - 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, - 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, - 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, - 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, - 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, - 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, - 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, - 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, - 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, - 128,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,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, - 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, - 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, - 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, - 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, - 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, - 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, - 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, - 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, - 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, - 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, - 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, - 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, - 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, - 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, - 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, - 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, - 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, - 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, - 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, - 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, - 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, - 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, - 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, - 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, - 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, - 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, - 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, - 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, - 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, - 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, - 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, - 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, - 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, - 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, - 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, - 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, - 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, - 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, - 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, - 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, - 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, - 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, - 3,6,0,1,64,168,16,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 7 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w=12 h=16 x=-3 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB08[2425] U8G_FONT_SECTION("u8g_font_courB08") = { - 0,12,16,253,252,6,1,146,3,13,32,255,254,9,254,7, - 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, - 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, - 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, - 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, - 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, - 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, - 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, - 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, - 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, - 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, - 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, - 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, - 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, - 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, - 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, - 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, - 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, - 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, - 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, - 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, - 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, - 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, - 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, - 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, - 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, - 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, - 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, - 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, - 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, - 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, - 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, - 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, - 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, - 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, - 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, - 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, - 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, - 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, - 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, - 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, - 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, - 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, - 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, - 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, - 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, - 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, - 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, - 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, - 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, - 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, - 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, - 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, - 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, - 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, - 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, - 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, - 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, - 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, - 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, - 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, - 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, - 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, - 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, - 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, - 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, - 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, - 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, - 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, - 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, - 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, - 5,2,2,6,0,3,104,176,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,1,2, - 7,7,6,1,254,192,0,192,192,192,192,192,5,8,8,6, - 0,255,32,32,120,200,192,120,32,32,6,7,7,6,0,0, - 56,104,32,248,32,100,248,5,5,5,6,0,1,136,112,80, - 112,136,6,7,7,6,0,0,204,72,252,48,252,48,120,1, - 9,9,6,2,254,128,128,128,128,0,128,128,128,128,5,8, - 8,6,0,255,120,72,96,144,72,48,144,240,3,1,1,6, - 1,5,160,6,7,7,6,0,0,48,72,180,164,180,72,48, - 4,5,5,6,1,2,224,16,208,0,240,7,5,5,6,255, - 0,54,108,216,108,54,5,3,3,6,0,2,248,8,8,5, - 1,1,6,0,3,248,7,7,7,6,0,0,56,68,186,178, - 170,68,56,4,1,1,6,0,5,240,4,3,3,6,0,4, - 96,144,96,5,6,6,6,0,0,32,32,248,32,0,248,3, - 4,4,6,1,3,96,160,64,224,3,4,4,6,1,3,224, - 64,32,192,2,2,2,6,2,5,64,128,7,7,7,6,255, - 254,236,108,108,108,126,64,64,6,8,8,6,0,255,124,168, - 168,104,40,40,40,108,2,1,1,6,1,3,192,3,3,3, - 6,1,254,64,32,192,3,4,4,6,1,3,192,64,64,224, - 4,5,5,6,1,2,96,144,96,0,240,7,5,5,6,255, - 0,216,108,54,108,216,7,7,7,6,255,0,192,68,72,244, - 44,94,4,7,7,7,6,255,0,192,68,72,246,42,68,14, - 7,7,7,6,255,0,224,68,40,212,44,94,4,5,7,7, - 6,0,254,48,0,48,48,96,200,112,7,9,9,6,255,0, - 32,16,0,120,56,40,124,108,238,7,9,9,6,255,0,16, - 32,0,120,56,40,124,108,238,7,9,9,6,255,0,16,40, - 0,120,56,40,124,108,238,7,9,9,6,255,0,52,72,0, - 120,56,40,124,108,238,7,8,8,6,255,0,40,0,120,56, - 40,124,108,238,7,9,9,6,255,0,48,72,48,120,56,40, - 124,108,238,7,6,6,6,255,0,126,58,108,120,218,222,5, - 8,8,6,0,254,120,216,192,192,216,112,16,96,6,9,9, - 6,255,0,32,16,0,252,100,120,96,108,252,6,9,9,6, - 255,0,16,32,0,252,100,120,96,108,252,6,9,9,6,255, - 0,32,80,0,252,100,120,96,108,252,6,8,8,6,255,0, - 80,0,252,100,120,96,108,252,4,9,9,6,0,0,64,32, - 0,240,96,96,96,96,240,4,9,9,6,0,0,32,64,0, - 240,96,96,96,96,240,4,9,9,6,0,0,64,160,0,240, - 96,96,96,96,240,4,8,8,6,0,0,160,0,240,96,96, - 96,96,240,6,6,6,6,255,0,248,108,244,100,108,248,7, - 9,9,6,255,0,52,72,0,238,100,116,124,108,236,5,9, - 9,6,0,0,64,32,0,112,216,216,216,216,112,5,9,9, - 6,0,0,32,64,0,112,216,216,216,216,112,5,9,9,6, - 0,0,32,80,0,112,216,216,216,216,112,5,9,9,6,0, - 0,104,144,0,112,216,216,216,216,112,5,8,8,6,0,0, - 80,0,112,216,216,216,216,112,5,5,5,6,0,1,136,80, - 32,80,136,7,6,6,6,255,0,58,108,124,108,108,184,7, - 9,9,6,255,0,32,16,0,238,108,108,108,108,56,7,9, - 9,6,255,0,8,16,0,238,108,108,108,108,56,7,9,9, - 6,255,0,16,40,0,238,108,108,108,108,56,7,8,8,6, - 255,0,40,0,238,108,108,108,108,56,7,9,9,6,255,0, - 4,8,0,230,102,60,24,24,60,6,6,6,6,255,0,224, - 120,108,108,120,224,7,6,6,6,255,0,56,104,124,102,102, - 236,6,8,8,6,0,0,32,16,0,112,152,120,216,252,6, - 8,8,6,0,0,16,32,0,112,152,120,216,252,6,8,8, - 6,0,0,32,80,0,112,152,120,216,252,6,8,8,6,0, - 0,104,144,0,112,152,120,216,252,6,7,7,6,0,0,80, - 0,112,152,120,216,252,6,9,9,6,0,0,48,72,48,0, - 112,152,120,216,252,6,5,5,6,255,0,108,180,124,176,220, - 5,7,7,6,0,254,112,216,192,216,112,16,96,5,8,8, - 6,0,0,64,32,0,112,216,248,192,120,5,8,8,6,0, - 0,32,64,0,112,216,248,192,120,5,8,8,6,0,0,32, - 80,0,112,216,248,192,120,5,7,7,6,0,0,80,0,112, - 216,248,192,120,6,8,8,6,0,0,32,16,0,112,48,48, - 48,252,6,8,8,6,0,0,16,32,0,112,48,48,48,252, - 6,8,8,6,0,0,32,80,0,112,48,48,48,252,6,7, - 7,6,0,0,80,0,112,48,48,48,252,5,8,8,6,0, - 0,208,96,176,120,216,216,216,112,7,8,8,6,255,0,52, - 72,0,216,108,108,108,110,5,8,8,6,0,0,64,32,0, - 112,216,216,216,112,5,8,8,6,0,0,32,64,0,112,216, - 216,216,112,5,8,8,6,0,0,32,80,0,112,216,216,216, - 112,5,8,8,6,0,0,104,144,0,112,216,216,216,112,5, - 7,7,6,0,0,80,0,112,216,216,216,112,5,5,5,6, - 0,1,32,0,248,0,32,5,7,7,6,0,255,8,112,216, - 248,216,112,128,7,8,8,6,255,0,32,16,0,236,108,108, - 108,62,7,8,8,6,255,0,16,32,0,236,108,108,108,62, - 7,8,8,6,255,0,16,40,0,236,108,108,108,62,7,7, - 7,6,255,0,40,0,236,108,108,108,62,7,10,10,6,255, - 254,8,16,0,238,108,108,40,56,48,240,6,9,9,6,255, - 254,224,96,120,108,108,108,120,96,240,7,9,9,6,255,254, - 40,0,238,108,108,40,56,48,240}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w=12 h=16 x=-3 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB08r[1145] U8G_FONT_SECTION("u8g_font_courB08r") = { - 0,12,16,253,252,6,1,146,3,13,32,127,254,8,254,7, - 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, - 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, - 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, - 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, - 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, - 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, - 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, - 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, - 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, - 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, - 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, - 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, - 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, - 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, - 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, - 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, - 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, - 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, - 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, - 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, - 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, - 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, - 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, - 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, - 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, - 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, - 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, - 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, - 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, - 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, - 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, - 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, - 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, - 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, - 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, - 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, - 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, - 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, - 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, - 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, - 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, - 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, - 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, - 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, - 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, - 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, - 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, - 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, - 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, - 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, - 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, - 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, - 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, - 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, - 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, - 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, - 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, - 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, - 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, - 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, - 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, - 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, - 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, - 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, - 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, - 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, - 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, - 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, - 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, - 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, - 5,2,2,6,0,3,104,176,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=12 len=26 - Font Bounding box w=13 h=21 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB10[3355] U8G_FONT_SECTION("u8g_font_courB10") = { - 0,13,21,254,250,9,1,222,4,32,32,255,253,12,252,10, - 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, - 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, - 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, - 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, - 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, - 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, - 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, - 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, - 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, - 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, - 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, - 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, - 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, - 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, - 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, - 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, - 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, - 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, - 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, - 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, - 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, - 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, - 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, - 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, - 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, - 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, - 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, - 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, - 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, - 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, - 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, - 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, - 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, - 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, - 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, - 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, - 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, - 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, - 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, - 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, - 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, - 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, - 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, - 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, - 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, - 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, - 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, - 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, - 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, - 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, - 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, - 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, - 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, - 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, - 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, - 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, - 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, - 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, - 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, - 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, - 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, - 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, - 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, - 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, - 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, - 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, - 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, - 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, - 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, - 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, - 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, - 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, - 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, - 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, - 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, - 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, - 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, - 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, - 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, - 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, - 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, - 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, - 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, - 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, - 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, - 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, - 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, - 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, - 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, - 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, - 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, - 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, - 96,96,96,96,192,6,3,3,9,1,3,100,252,152,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,9,0,1,2,9,9,9,3,254,192,192,0,128,192, - 192,192,192,192,6,10,10,9,1,255,48,48,124,204,192,192, - 204,120,48,48,7,9,9,9,1,0,60,102,96,96,248,96, - 96,102,252,7,6,6,9,1,1,198,124,198,198,124,198,10, - 9,18,9,0,0,243,192,97,128,51,0,30,0,63,0,12, - 0,63,0,12,0,63,0,2,11,11,9,3,254,192,192,192, - 192,192,0,192,192,192,192,192,8,11,11,9,0,255,62,98, - 96,240,140,227,57,15,6,70,124,4,2,2,9,2,8,144, - 144,9,8,16,9,0,1,28,0,99,0,205,128,209,128,209, - 128,205,128,99,0,28,0,5,7,7,9,2,2,112,24,120, - 216,104,0,248,7,5,5,9,1,1,54,108,216,108,54,7, - 3,3,9,1,2,254,2,2,6,1,1,9,1,4,252,9, - 8,16,9,0,1,62,0,99,0,217,128,213,128,217,128,213, - 128,99,0,62,0,4,1,1,9,2,8,240,4,4,4,9, - 2,5,96,144,144,96,7,7,7,9,1,1,16,16,254,16, - 16,0,254,5,6,6,9,2,4,112,152,24,48,96,248,5, - 6,6,9,2,4,112,152,48,24,152,112,3,2,2,9,3, - 7,96,192,9,10,20,9,0,253,231,0,99,0,99,0,99, - 0,99,0,103,0,123,128,96,0,96,0,96,0,7,11,11, - 9,1,255,126,212,148,148,212,116,20,20,20,20,126,2,2, - 2,9,3,3,192,192,3,4,4,9,2,253,64,96,32,224, - 4,6,6,9,3,4,96,224,96,96,96,240,5,7,7,9, - 2,2,112,216,136,216,112,0,248,7,5,5,9,1,1,216, - 108,54,108,216,9,10,20,9,0,0,96,0,224,128,97,0, - 98,0,101,0,251,0,23,0,43,0,79,128,131,0,9,10, - 20,9,0,0,96,0,224,128,97,0,98,0,103,0,253,128, - 17,128,35,0,70,0,15,128,10,10,20,9,255,0,112,0, - 152,64,48,128,25,0,154,128,117,128,11,128,21,128,39,192, - 65,128,6,9,9,9,1,254,48,48,0,48,112,192,196,204, - 124,9,12,24,9,0,0,24,0,12,0,0,0,124,0,28, - 0,54,0,54,0,34,0,99,0,127,0,99,0,247,128,9, - 12,24,9,0,0,12,0,24,0,0,0,124,0,28,0,54, - 0,54,0,34,0,99,0,127,0,99,0,247,128,9,12,24, - 9,0,0,28,0,54,0,0,0,124,0,28,0,54,0,54, - 0,34,0,99,0,127,0,99,0,247,128,9,12,24,9,0, - 0,26,0,44,0,0,0,124,0,28,0,54,0,54,0,34, - 0,99,0,127,0,99,0,247,128,9,12,24,9,0,0,36, - 0,36,0,0,0,124,0,28,0,54,0,54,0,34,0,99, - 0,127,0,99,0,247,128,9,12,24,9,0,0,24,0,36, - 0,24,0,126,0,28,0,54,0,54,0,34,0,99,0,127, - 0,99,0,247,128,9,9,18,9,0,0,63,128,28,128,28, - 0,61,0,47,0,109,0,124,0,76,128,223,128,7,13,13, - 9,1,252,58,110,198,192,192,192,192,102,60,16,24,8,56, - 8,12,12,9,0,0,24,12,0,255,99,99,104,120,104,99, - 99,255,8,12,12,9,0,0,12,24,0,255,99,99,104,120, - 104,99,99,255,8,12,12,9,0,0,28,54,0,255,99,99, - 104,120,104,99,99,255,8,12,12,9,0,0,36,36,0,255, - 99,99,104,120,104,99,99,255,6,12,12,9,1,0,96,48, - 0,252,48,48,48,48,48,48,48,252,6,12,12,9,1,0, - 24,48,0,252,48,48,48,48,48,48,48,252,6,12,12,9, - 1,0,56,108,0,252,48,48,48,48,48,48,48,252,6,12, - 12,9,1,0,72,72,0,252,48,48,48,48,48,48,48,252, - 8,9,9,9,0,0,252,102,99,99,243,99,99,102,252,9, - 12,24,9,0,0,26,0,44,0,0,0,231,128,99,0,115, - 0,115,0,107,0,107,0,103,0,103,0,243,0,8,12,12, - 9,0,0,48,24,0,60,102,195,195,195,195,195,102,60,8, - 12,12,9,0,0,12,24,0,60,102,195,195,195,195,195,102, - 60,8,12,12,9,0,0,56,108,0,60,102,195,195,195,195, - 195,102,60,8,12,12,9,0,0,52,88,0,60,102,195,195, - 195,195,195,102,60,8,12,12,9,0,0,36,36,0,60,102, - 195,195,195,195,195,102,60,6,7,7,9,1,1,132,204,120, - 48,120,204,132,8,10,10,9,0,0,1,62,102,203,203,211, - 211,227,102,188,9,12,24,9,0,0,24,0,12,0,0,0, - 247,128,99,0,99,0,99,0,99,0,99,0,99,0,99,0, - 62,0,9,12,24,9,0,0,12,0,24,0,0,0,247,128, - 99,0,99,0,99,0,99,0,99,0,99,0,99,0,62,0, - 9,12,24,9,0,0,28,0,54,0,0,0,247,128,99,0, - 99,0,99,0,99,0,99,0,99,0,99,0,62,0,9,12, - 24,9,0,0,18,0,18,0,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,10,12,24,9, - 255,0,6,0,12,0,0,0,243,192,97,128,51,0,51,0, - 30,0,12,0,12,0,12,0,63,0,8,9,9,9,0,0, - 240,96,126,99,99,102,124,96,240,8,9,9,9,0,0,60, - 102,102,108,102,99,99,107,238,8,10,10,9,0,0,48,24, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,12,24, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,56,108, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,52,88, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,36,36, - 0,124,6,6,126,198,206,119,8,10,10,9,0,0,24,36, - 24,124,6,6,126,198,206,119,9,7,14,9,0,0,119,0, - 29,128,8,128,127,128,200,0,205,128,119,0,8,11,11,9, - 0,252,61,103,195,192,192,99,62,16,24,8,56,8,10,10, - 9,0,0,48,24,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,12,24,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,28,54,0,60,102,195,255,192,103,62,8,10,10, - 9,0,0,36,36,0,60,102,195,255,192,103,62,6,10,10, - 9,1,0,96,48,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,24,48,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,112,216,0,240,48,48,48,48,48,252,6,10,10, - 9,1,0,72,72,0,240,48,48,48,48,48,252,8,10,10, - 9,0,0,236,56,204,62,102,195,195,195,102,60,9,10,20, - 9,0,0,26,0,44,0,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,247,128,8,10,10,9,0,0,48,24,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,12,24,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,28,54,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,52,88,0, - 60,102,195,195,195,102,60,8,10,10,9,0,0,36,36,0, - 60,102,195,195,195,102,60,8,7,7,9,0,1,24,24,0, - 255,0,24,24,8,7,7,9,0,0,61,102,207,219,243,102, - 188,9,10,20,9,0,0,24,0,12,0,0,0,231,0,99, - 0,99,0,99,0,99,0,103,0,59,128,9,10,20,9,0, - 0,12,0,24,0,0,0,231,0,99,0,99,0,99,0,99, - 0,103,0,59,128,9,10,20,9,0,0,28,0,54,0,0, - 0,231,0,99,0,99,0,99,0,99,0,103,0,59,128,9, - 10,20,9,0,0,36,0,36,0,0,0,231,0,99,0,99, - 0,99,0,99,0,103,0,59,128,9,13,26,9,0,253,6, - 0,12,0,0,0,227,128,99,0,99,0,54,0,54,0,28, - 0,28,0,24,0,24,0,124,0,8,12,12,9,0,253,224, - 96,110,115,99,99,99,115,110,96,96,240,9,13,26,9,0, - 253,18,0,18,0,0,0,227,128,99,0,99,0,54,0,54, - 0,28,0,28,0,24,0,24,0,124,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 3 y= 7 dx= 9 dy= 0 ascent=11 len=20 - Font Bounding box w=13 h=21 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB10r[1551] U8G_FONT_SECTION("u8g_font_courB10r") = { - 0,13,21,254,250,9,1,222,4,32,32,127,253,11,253,10, - 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, - 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, - 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, - 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, - 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, - 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, - 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, - 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, - 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, - 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, - 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, - 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, - 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, - 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, - 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, - 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, - 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, - 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, - 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, - 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, - 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, - 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, - 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, - 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, - 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, - 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, - 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, - 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, - 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, - 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, - 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, - 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, - 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, - 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, - 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, - 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, - 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, - 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, - 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, - 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, - 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, - 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, - 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, - 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, - 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, - 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, - 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, - 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, - 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, - 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, - 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, - 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, - 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, - 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, - 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, - 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, - 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, - 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, - 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, - 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, - 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, - 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, - 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, - 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, - 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, - 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, - 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, - 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, - 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, - 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, - 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, - 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, - 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, - 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, - 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, - 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, - 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, - 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, - 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, - 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, - 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, - 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, - 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, - 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, - 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, - 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, - 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, - 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, - 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, - 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, - 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, - 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, - 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, - 96,96,96,96,192,6,3,3,9,1,3,100,252,152,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=11 h=14 x= 4 y= 9 dx=10 dy= 0 ascent=14 len=28 - Font Bounding box w=16 h=24 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB12[3959] U8G_FONT_SECTION("u8g_font_courB12") = { - 0,16,24,253,250,10,2,51,4,246,32,255,253,14,253,11, - 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, - 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, - 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, - 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, - 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, - 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, - 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, - 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, - 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, - 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, - 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, - 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, - 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, - 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, - 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, - 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, - 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, - 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, - 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, - 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, - 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, - 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, - 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, - 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, - 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, - 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, - 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, - 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, - 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, - 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, - 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, - 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, - 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, - 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, - 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, - 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, - 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, - 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, - 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, - 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, - 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, - 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, - 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, - 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, - 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, - 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, - 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, - 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, - 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, - 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, - 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, - 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, - 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, - 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, - 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, - 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, - 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, - 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, - 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, - 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, - 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, - 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, - 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, - 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, - 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, - 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, - 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, - 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, - 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, - 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, - 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, - 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, - 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, - 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, - 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, - 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, - 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, - 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, - 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, - 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, - 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, - 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, - 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, - 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, - 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, - 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, - 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, - 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, - 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, - 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, - 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, - 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, - 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, - 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, - 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, - 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, - 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, - 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, - 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, - 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, - 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, - 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, - 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, - 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, - 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, - 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, - 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, - 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, - 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,10,0,1,2,10,10,10,4,253,192,192,0, - 192,192,192,192,192,192,192,7,10,10,10,1,0,24,24,62, - 102,192,192,102,60,24,24,8,10,10,10,1,0,30,51,48, - 48,252,252,48,51,227,254,8,7,7,10,1,1,195,126,102, - 66,102,126,195,10,10,20,10,0,0,243,192,97,128,51,0, - 51,0,30,0,63,0,12,0,63,0,12,0,63,0,2,13, - 13,10,4,254,192,192,192,192,192,192,0,192,192,192,192,192, - 192,10,12,24,10,0,255,31,128,49,128,49,128,120,0,206, - 0,195,128,112,192,28,192,7,128,99,0,99,0,126,0,5, - 2,2,10,3,8,216,216,10,10,20,10,0,0,12,0,63, - 0,97,128,78,128,216,192,216,192,78,128,97,128,63,0,12, - 0,6,7,7,10,2,3,120,12,124,204,124,0,252,9,7, - 14,10,0,0,25,128,51,0,102,0,204,0,102,0,51,0, - 25,128,8,5,5,10,1,2,255,255,3,3,3,7,2,2, - 10,1,4,254,254,10,10,20,10,0,0,12,0,63,0,97, - 128,92,128,214,192,220,192,82,128,97,128,63,0,12,0,5, - 1,1,10,2,9,248,5,5,5,10,2,6,112,216,136,216, - 112,8,9,9,10,1,0,24,24,255,255,24,24,0,255,255, - 5,6,6,10,2,5,112,216,48,96,200,248,5,6,6,10, - 2,5,112,216,48,24,216,112,4,3,3,10,3,8,48,96, - 192,9,10,20,10,0,253,231,0,99,0,99,0,99,0,99, - 0,103,0,123,128,96,0,96,0,96,0,9,12,24,10,0, - 255,63,128,91,0,219,0,219,0,219,0,91,0,59,0,27, - 0,27,0,27,0,27,0,63,128,3,2,2,10,3,4,224, - 224,4,4,4,10,3,253,32,96,48,240,6,6,6,10,2, - 5,48,240,48,48,48,252,6,7,7,10,2,3,120,204,204, - 204,120,0,252,9,7,14,10,0,0,204,0,102,0,51,0, - 25,128,51,0,102,0,204,0,10,11,22,10,0,0,32,0, - 225,0,99,0,98,0,102,0,252,128,25,128,19,128,54,128, - 111,192,65,128,10,11,22,10,0,0,32,0,224,128,97,128, - 99,0,102,0,255,128,10,192,25,128,51,0,102,64,71,192, - 11,11,22,10,0,0,112,0,216,128,49,128,27,0,218,0, - 118,64,12,192,9,192,27,64,55,224,32,192,7,10,10,10, - 1,253,24,24,0,24,24,112,192,198,198,124,10,14,28,10, - 0,0,48,0,24,0,12,0,0,0,60,0,12,0,30,0, - 18,0,51,0,51,0,63,0,97,128,97,128,243,192,10,14, - 28,10,0,0,6,0,12,0,24,0,0,0,60,0,12,0, - 30,0,18,0,51,0,51,0,63,0,97,128,97,128,243,192, - 10,14,28,10,0,0,12,0,30,0,51,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,13,26,10,0,0,59,0,110,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,13,26,10,0,0,54,0,54,0,0,0,60,0, - 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, - 243,192,10,14,28,10,0,0,28,0,54,0,54,0,28,0, - 60,0,12,0,30,0,18,0,51,0,51,0,63,0,97,128, - 97,128,243,192,10,10,20,10,0,0,127,192,60,192,44,0, - 45,0,111,0,77,0,124,0,76,192,204,192,255,192,9,13, - 26,10,0,253,30,128,115,128,97,128,192,0,192,0,192,0, - 192,0,97,128,115,128,30,0,24,0,12,0,60,0,8,14, - 14,10,1,0,48,24,12,0,255,99,96,100,124,100,96,99, - 99,255,8,14,14,10,1,0,6,12,24,0,255,99,96,100, - 124,100,96,99,99,255,8,14,14,10,1,0,24,60,102,0, - 255,99,96,100,124,100,96,99,99,255,8,13,13,10,1,0, - 54,54,0,255,99,96,100,124,100,96,99,99,255,8,14,14, - 10,1,0,48,24,12,0,255,24,24,24,24,24,24,24,24, - 255,8,14,14,10,1,0,12,24,48,0,255,24,24,24,24, - 24,24,24,24,255,8,14,14,10,1,0,24,60,102,0,255, - 24,24,24,24,24,24,24,24,255,8,13,13,10,1,0,54, - 54,0,255,24,24,24,24,24,24,24,24,255,9,10,20,10, - 0,0,252,0,103,0,99,0,97,128,249,128,97,128,97,128, - 99,0,103,0,252,0,10,13,26,10,0,0,59,0,110,0, - 0,0,247,192,113,128,121,128,105,128,109,128,109,128,101,128, - 103,128,99,128,251,128,9,14,28,10,0,0,48,0,24,0, - 12,0,0,0,62,0,99,0,99,0,193,128,193,128,193,128, - 193,128,99,0,99,0,62,0,9,14,28,10,0,0,6,0, - 12,0,24,0,0,0,62,0,99,0,99,0,193,128,193,128, - 193,128,193,128,99,0,99,0,62,0,9,14,28,10,0,0, - 12,0,30,0,51,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, - 0,0,59,0,110,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, - 0,0,54,0,54,0,0,0,62,0,99,0,99,0,193,128, - 193,128,193,128,193,128,99,0,99,0,62,0,8,7,7,10, - 1,1,227,118,60,24,60,110,199,9,12,24,10,0,255,0, - 128,63,128,99,0,103,0,197,128,205,128,217,128,209,128,115, - 0,99,0,254,0,128,0,10,14,28,10,0,0,48,0,24, - 0,12,0,0,0,243,192,97,128,97,128,97,128,97,128,97, - 128,97,128,97,128,51,0,30,0,10,14,28,10,0,0,3, - 0,6,0,12,0,0,0,243,192,97,128,97,128,97,128,97, - 128,97,128,97,128,97,128,51,0,30,0,10,14,28,10,0, - 0,12,0,30,0,51,0,0,0,243,192,97,128,97,128,97, - 128,97,128,97,128,97,128,97,128,51,0,30,0,10,13,26, - 10,0,0,27,0,27,0,0,0,243,192,97,128,97,128,97, - 128,97,128,97,128,97,128,97,128,51,0,30,0,10,14,28, - 10,0,0,3,0,6,0,12,0,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,9, - 10,20,10,0,0,240,0,96,0,126,0,99,0,97,128,99, - 0,126,0,96,0,96,0,240,0,8,11,11,10,0,0,60, - 102,102,100,108,102,99,99,99,122,236,8,11,11,10,1,0, - 48,24,12,0,60,102,6,126,198,198,123,8,11,11,10,1, - 0,6,12,24,0,60,102,6,126,198,198,123,8,11,11,10, - 1,0,24,60,102,0,60,102,6,126,198,198,123,8,10,10, - 10,1,0,59,110,0,60,102,6,126,198,198,123,8,10,10, - 10,1,0,54,54,0,60,102,6,126,198,198,123,8,12,12, - 10,1,0,28,54,54,28,0,60,102,6,126,198,198,123,10, - 7,14,10,255,0,59,128,108,192,12,192,127,192,204,0,204, - 192,119,128,8,10,10,10,1,253,61,103,195,192,192,227,126, - 24,12,60,8,11,11,10,1,0,48,24,12,0,60,102,195, - 255,192,99,62,8,11,11,10,1,0,6,12,24,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,24,60,102,0,60, - 102,195,255,192,99,62,8,10,10,10,1,0,54,54,0,60, - 102,195,255,192,99,62,8,11,11,10,1,0,96,48,24,0, - 120,24,24,24,24,24,255,8,11,11,10,1,0,6,12,24, - 0,120,24,24,24,24,24,255,8,11,11,10,1,0,24,60, - 102,0,120,24,24,24,24,24,255,8,10,10,10,1,0,108, - 108,0,120,24,24,24,24,24,255,8,12,12,10,1,0,224, - 118,28,60,198,62,103,227,195,195,102,60,9,10,20,10,0, - 0,59,0,110,0,0,0,238,0,115,0,99,0,99,0,99, - 0,99,0,247,128,8,11,11,10,1,0,48,24,12,0,60, - 102,195,195,195,102,60,8,11,11,10,1,0,12,24,48,0, - 60,102,195,195,195,102,60,8,11,11,10,1,0,24,60,102, - 0,60,102,195,195,195,102,60,8,10,10,10,1,0,59,110, - 0,60,102,195,195,195,102,60,8,10,10,10,1,0,108,108, - 0,60,102,195,195,195,102,60,8,8,8,10,1,1,24,24, - 0,255,255,0,24,24,8,9,9,10,1,255,3,63,102,207, - 219,243,102,252,192,9,11,22,10,0,0,48,0,24,0,12, - 0,0,0,231,0,99,0,99,0,99,0,99,0,103,0,59, - 128,9,11,22,10,0,0,12,0,24,0,48,0,0,0,231, - 0,99,0,99,0,99,0,99,0,103,0,59,128,9,11,22, - 10,0,0,24,0,60,0,102,0,0,0,231,0,99,0,99, - 0,99,0,99,0,103,0,59,128,9,10,20,10,0,0,54, - 0,54,0,0,0,231,0,99,0,99,0,99,0,99,0,103, - 0,59,128,10,14,28,10,0,253,6,0,12,0,24,0,0, - 0,243,192,97,128,51,0,51,0,30,0,30,0,12,0,24, - 0,24,0,124,0,9,14,28,10,0,253,224,0,96,0,96, - 0,96,0,110,0,115,0,97,128,97,128,97,128,115,0,110, - 0,96,0,96,0,248,0,10,13,26,10,0,253,54,0,54, - 0,0,0,243,192,97,128,51,0,51,0,30,0,30,0,12, - 0,12,0,24,0,124,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 - Font Bounding box w=16 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB12r[1857] U8G_FONT_SECTION("u8g_font_courB12r") = { - 0,16,24,253,250,10,2,51,4,246,32,127,253,12,253,11, - 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, - 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, - 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, - 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, - 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, - 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, - 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, - 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, - 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, - 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, - 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, - 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, - 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, - 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, - 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, - 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, - 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, - 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, - 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, - 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, - 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, - 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, - 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, - 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, - 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, - 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, - 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, - 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, - 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, - 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, - 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, - 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, - 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, - 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, - 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, - 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, - 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, - 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, - 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, - 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, - 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, - 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, - 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, - 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, - 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, - 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, - 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, - 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, - 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, - 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, - 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, - 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, - 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, - 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, - 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, - 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, - 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, - 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, - 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, - 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, - 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, - 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, - 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, - 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, - 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, - 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, - 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, - 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, - 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, - 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, - 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, - 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, - 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, - 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, - 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, - 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, - 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, - 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, - 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, - 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, - 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, - 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, - 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, - 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, - 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, - 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, - 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, - 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, - 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, - 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, - 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, - 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, - 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, - 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, - 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, - 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, - 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, - 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, - 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, - 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, - 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, - 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, - 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, - 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, - 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, - 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, - 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, - 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, - 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, - 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, - 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, - 255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=12 h=17 x= 4 y= 9 dx=11 dy= 0 ascent=15 len=34 - Font Bounding box w=17 h=26 x=-4 y=-7 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =15 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB14[4784] U8G_FONT_SECTION("u8g_font_courB14") = { - 0,17,26,252,249,11,2,101,5,155,32,255,252,15,251,12, - 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, - 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, - 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, - 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, - 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, - 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, - 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, - 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, - 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, - 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, - 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, - 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, - 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, - 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, - 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, - 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, - 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, - 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, - 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, - 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, - 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, - 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, - 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, - 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, - 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, - 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, - 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, - 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, - 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, - 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, - 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, - 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, - 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, - 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, - 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, - 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, - 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, - 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, - 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, - 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, - 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, - 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, - 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, - 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, - 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, - 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, - 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, - 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, - 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, - 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, - 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, - 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, - 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, - 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, - 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, - 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, - 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, - 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, - 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, - 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, - 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, - 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, - 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, - 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, - 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, - 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, - 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, - 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, - 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, - 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, - 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, - 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, - 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, - 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, - 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, - 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, - 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, - 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, - 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, - 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, - 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, - 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, - 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, - 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, - 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, - 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, - 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, - 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, - 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, - 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, - 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, - 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, - 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, - 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, - 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, - 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, - 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, - 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, - 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, - 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, - 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, - 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, - 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, - 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, - 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, - 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, - 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, - 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, - 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, - 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, - 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, - 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, - 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, - 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, - 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, - 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, - 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, - 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, - 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, - 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, - 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, - 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, - 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, - 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, - 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, - 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, - 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, - 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, - 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, - 11,1,4,115,255,222,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,11,0,1,3,12,12, - 11,4,252,192,192,0,192,192,224,224,224,224,224,224,224,8, - 13,13,11,1,0,24,24,24,63,127,227,192,192,227,127,62, - 24,24,10,11,22,11,0,0,62,0,127,0,99,0,96,0, - 48,0,252,0,252,0,48,0,96,192,255,192,255,128,8,9, - 9,11,1,1,195,255,126,195,195,195,126,255,195,10,11,22, - 11,0,0,243,192,243,192,97,128,51,0,30,0,63,0,12, - 0,63,0,12,0,63,0,63,0,2,16,16,11,4,253,192, - 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,8, - 14,14,11,1,254,63,115,99,96,248,222,199,227,123,31,6, - 198,206,252,6,2,2,11,2,9,204,204,11,12,24,11,0, - 0,14,0,63,128,113,192,110,192,219,96,216,96,216,96,219, - 96,110,192,113,192,63,128,14,0,6,8,8,11,2,3,112, - 24,120,216,216,108,0,252,9,7,14,11,0,1,25,128,51, - 0,102,0,204,0,102,0,51,0,25,128,9,4,8,11,1, - 4,255,128,255,128,1,128,1,128,8,2,2,11,1,4,255, - 255,11,12,24,11,0,0,14,0,63,128,113,192,126,192,219, - 96,219,96,222,96,223,96,123,224,112,192,63,128,14,0,5, - 2,2,11,2,9,248,248,5,5,5,11,2,6,112,136,136, - 136,112,10,10,20,11,0,0,12,0,12,0,12,0,255,192, - 255,192,12,0,12,0,0,0,255,192,255,192,6,7,7,11, - 2,5,120,204,12,24,48,100,252,6,7,7,11,2,5,120, - 204,12,56,12,204,120,4,3,3,11,4,9,48,96,192,10, - 13,26,11,0,252,231,128,231,128,97,128,97,128,97,128,97, - 128,99,128,127,192,125,192,96,0,96,0,96,0,96,0,8, - 14,14,11,1,254,63,106,202,202,202,106,58,10,10,10,10, - 10,10,59,2,3,3,11,4,3,192,192,192,4,5,5,11, - 3,252,64,96,48,240,224,6,7,7,11,2,5,48,240,48, - 48,48,48,252,6,8,8,11,2,3,120,204,132,132,204,120, - 0,252,9,7,14,11,1,1,204,0,102,0,51,0,25,128, - 51,0,102,0,204,0,11,12,24,11,0,0,48,0,240,32, - 48,96,48,192,49,128,51,64,254,192,13,192,26,192,52,192, - 103,224,64,192,11,12,24,11,0,0,48,0,240,32,48,96, - 48,192,49,128,51,192,255,96,12,96,24,192,49,128,99,32, - 71,224,11,12,24,11,0,0,120,0,204,32,12,96,56,192, - 13,128,207,64,126,192,13,192,26,192,52,192,103,224,64,192, - 7,12,12,11,2,252,24,24,0,24,24,24,120,224,192,198, - 254,124,12,15,30,11,255,0,24,0,12,0,6,0,0,0, - 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, - 48,192,249,240,249,240,12,15,30,11,255,0,3,0,6,0, - 12,0,0,0,62,0,63,0,15,0,15,0,25,128,25,128, - 63,192,63,192,48,192,249,240,249,240,12,15,30,11,255,0, - 6,0,15,0,25,128,0,0,62,0,63,0,15,0,15,0, - 25,128,25,128,63,192,63,192,48,192,249,240,249,240,12,14, - 28,11,255,0,29,128,55,0,0,0,62,0,63,0,15,0, - 15,0,25,128,25,128,63,192,63,192,48,192,249,240,249,240, - 12,14,28,11,255,0,25,128,25,128,0,0,62,0,63,0, - 15,0,15,0,25,128,25,128,63,192,63,192,48,192,249,240, - 249,240,12,15,30,11,255,0,6,0,9,0,9,0,6,0, - 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, - 48,192,249,240,249,240,11,11,22,11,0,0,63,224,63,224, - 30,96,54,0,55,192,39,192,126,0,126,0,102,96,239,224, - 239,224,10,16,32,11,0,251,30,192,127,192,97,192,192,192, - 192,0,192,0,192,0,192,0,96,192,127,192,63,0,8,0, - 12,0,2,0,30,0,28,0,10,15,30,11,0,0,24,0, - 12,0,6,0,0,0,255,192,255,192,48,192,54,192,62,0, - 62,0,54,0,48,192,48,192,255,192,255,192,10,15,30,11, - 0,0,3,0,6,0,12,0,0,0,255,192,255,192,48,192, - 54,192,62,0,62,0,54,0,48,192,48,192,255,192,255,192, - 10,15,30,11,0,0,12,0,30,0,51,0,0,0,255,192, - 255,192,48,192,54,192,62,0,62,0,54,0,48,192,48,192, - 255,192,255,192,10,14,28,11,0,0,51,0,51,0,0,0, - 255,192,255,192,48,192,54,192,62,0,62,0,54,0,48,192, - 48,192,255,192,255,192,8,15,15,11,1,0,96,48,24,0, - 255,255,24,24,24,24,24,24,24,255,255,8,15,15,11,1, - 0,6,12,24,0,255,255,24,24,24,24,24,24,24,255,255, - 8,15,15,11,1,0,24,60,102,0,255,255,24,24,24,24, - 24,24,24,255,255,8,14,14,11,1,0,102,102,0,255,255, - 24,24,24,24,24,24,24,255,255,10,11,22,11,0,0,254, - 0,255,128,97,128,96,192,248,192,248,192,96,192,96,192,97, - 128,255,128,254,0,10,14,28,11,0,0,59,0,110,0,0, - 0,231,192,247,192,113,128,121,128,105,128,109,128,101,128,103, - 128,99,128,251,128,249,128,10,15,30,11,0,0,24,0,12, - 0,6,0,0,0,30,0,127,128,97,128,192,192,192,192,192, - 192,192,192,192,192,97,128,127,128,30,0,10,15,30,11,0, - 0,3,0,6,0,12,0,0,0,30,0,127,128,97,128,192, - 192,192,192,192,192,192,192,192,192,97,128,127,128,30,0,10, - 15,30,11,0,0,12,0,30,0,51,0,0,0,30,0,127, - 128,97,128,192,192,192,192,192,192,192,192,192,192,97,128,127, - 128,30,0,10,14,28,11,0,0,59,0,110,0,0,0,30, - 0,127,128,97,128,192,192,192,192,192,192,192,192,192,192,97, - 128,127,128,30,0,10,14,28,11,0,0,51,0,51,0,0, - 0,30,0,127,128,97,128,192,192,192,192,192,192,192,192,192, - 192,97,128,127,128,30,0,10,10,20,11,0,0,64,128,225, - 192,115,128,55,0,30,0,30,0,59,0,115,128,225,192,64, - 128,12,13,26,11,255,255,0,48,15,96,63,192,49,192,99, - 96,102,96,102,96,108,96,120,96,48,192,63,192,111,0,192, - 0,10,15,30,11,0,0,48,0,24,0,12,0,0,0,251, - 192,251,192,97,128,97,128,97,128,97,128,97,128,97,128,115, - 128,63,0,30,0,10,15,30,11,0,0,3,0,6,0,12, - 0,0,0,251,192,251,192,97,128,97,128,97,128,97,128,97, - 128,97,128,115,128,63,0,30,0,10,15,30,11,0,0,12, - 0,30,0,51,0,0,0,251,192,251,192,97,128,97,128,97, - 128,97,128,97,128,97,128,115,128,63,0,30,0,10,14,28, - 11,0,0,51,0,51,0,0,0,251,192,251,192,97,128,97, - 128,97,128,97,128,97,128,97,128,115,128,63,0,30,0,10, - 15,30,11,0,0,3,0,6,0,12,0,0,0,243,192,243, - 192,97,128,51,0,63,0,30,0,12,0,12,0,12,0,63, - 0,63,0,10,11,22,11,0,0,240,0,224,0,127,0,127, - 128,97,192,96,192,97,192,127,128,127,0,224,0,240,0,9, - 12,24,11,1,0,60,0,126,0,99,0,99,0,103,0,110, - 0,103,0,97,128,97,128,105,128,239,128,231,0,10,13,26, - 11,0,0,24,0,12,0,6,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, - 11,0,0,3,0,6,0,12,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, - 11,0,0,12,0,30,0,51,0,0,0,63,0,127,128,97, - 128,1,128,127,128,255,128,193,128,255,192,125,192,10,12,24, - 11,0,0,59,0,110,0,0,0,63,0,127,128,97,128,1, - 128,127,128,255,128,193,128,255,192,125,192,10,12,24,11,0, - 0,51,0,51,0,0,0,63,0,127,128,97,128,1,128,127, - 128,255,128,193,128,255,192,125,192,10,14,28,11,0,0,12, - 0,18,0,18,0,12,0,0,0,63,0,127,128,97,128,1, - 128,127,128,255,128,193,128,255,192,125,192,10,9,18,11,0, - 0,123,128,255,192,204,192,12,192,127,192,255,192,204,0,255, - 192,123,128,10,14,28,11,0,251,61,128,127,128,227,128,193, - 128,192,0,192,0,225,192,127,192,63,0,8,0,12,0,6, - 0,30,0,28,0,10,13,26,11,0,0,24,0,12,0,6, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,13,26,11,0,0,3,0,6,0,12, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,13,26,11,0,0,12,0,30,0,51, - 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, - 0,127,192,31,192,10,12,24,11,0,0,51,0,51,0,0, - 0,30,0,127,128,225,192,192,192,255,192,255,192,224,0,127, - 192,31,192,8,13,13,11,1,0,48,24,12,0,248,248,24, - 24,24,24,24,255,255,8,13,13,11,1,0,12,24,48,0, - 248,248,24,24,24,24,24,255,255,8,13,13,11,1,0,24, - 60,102,0,248,248,24,24,24,24,24,255,255,8,12,12,11, - 1,0,204,204,0,248,248,24,24,24,24,24,255,255,10,13, - 26,11,0,0,225,128,251,128,62,0,119,0,195,128,63,128, - 97,192,192,192,192,192,192,192,225,192,127,128,30,0,10,12, - 24,11,0,0,59,0,110,0,0,0,239,0,255,128,113,128, - 97,128,97,128,97,128,97,128,243,192,243,192,10,13,26,11, - 0,0,24,0,12,0,6,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, - 0,0,3,0,6,0,12,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, - 0,0,12,0,30,0,51,0,0,0,30,0,127,128,225,192, - 192,192,192,192,192,192,225,192,127,128,30,0,10,12,24,11, - 0,0,59,0,110,0,0,0,30,0,127,128,225,192,192,192, - 192,192,192,192,225,192,127,128,30,0,10,12,24,11,0,0, - 51,0,51,0,0,0,30,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,30,0,10,10,20,11,0,0,12,0, - 12,0,0,0,0,0,255,192,255,192,0,0,0,0,12,0, - 12,0,12,11,22,11,255,255,0,48,15,96,63,192,113,224, - 99,96,102,96,108,96,120,224,63,192,111,0,192,0,10,13, - 26,11,0,0,24,0,12,0,6,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, - 26,11,0,0,6,0,12,0,24,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, - 26,11,0,0,12,0,30,0,51,0,0,0,231,128,231,128, - 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,12, - 24,11,0,0,51,0,51,0,0,0,231,128,231,128,97,128, - 97,128,97,128,97,128,99,128,127,192,61,192,10,17,34,11, - 0,252,3,0,6,0,12,0,0,0,243,192,243,192,97,128, - 97,128,51,0,51,0,30,0,30,0,12,0,24,0,56,0, - 252,0,252,0,10,16,32,11,0,252,224,0,224,0,96,0, - 111,0,127,128,113,192,96,192,96,192,96,192,113,192,127,128, - 111,0,96,0,96,0,248,0,248,0,10,16,32,11,0,252, - 51,0,51,0,0,0,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0 - }; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=12 h=16 x= 4 y= 9 dx=11 dy= 0 ascent=13 len=32 - Font Bounding box w=17 h=26 x=-4 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB14r[2167] U8G_FONT_SECTION("u8g_font_courB14r") = { - 0,17,26,252,249,11,2,101,5,155,32,127,252,13,252,12, - 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, - 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, - 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, - 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, - 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, - 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, - 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, - 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, - 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, - 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, - 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, - 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, - 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, - 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, - 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, - 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, - 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, - 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, - 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, - 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, - 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, - 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, - 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, - 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, - 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, - 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, - 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, - 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, - 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, - 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, - 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, - 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, - 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, - 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, - 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, - 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, - 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, - 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, - 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, - 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, - 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, - 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, - 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, - 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, - 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, - 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, - 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, - 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, - 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, - 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, - 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, - 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, - 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, - 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, - 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, - 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, - 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, - 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, - 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, - 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, - 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, - 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, - 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, - 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, - 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, - 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, - 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, - 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, - 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, - 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, - 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, - 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, - 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, - 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, - 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, - 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, - 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, - 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, - 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, - 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, - 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, - 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, - 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, - 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, - 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, - 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, - 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, - 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, - 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, - 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, - 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, - 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, - 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, - 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, - 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, - 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, - 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, - 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, - 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, - 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, - 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, - 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, - 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, - 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, - 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, - 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, - 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, - 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, - 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, - 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, - 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, - 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, - 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, - 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, - 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, - 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, - 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, - 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, - 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, - 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, - 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, - 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, - 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, - 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, - 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, - 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, - 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, - 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, - 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, - 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, - 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, - 11,1,4,115,255,222,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=21 x= 6 y=13 dx=15 dy= 0 ascent=21 len=42 - Font Bounding box w=22 h=35 x=-4 y=-9 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =15 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB18[6429] U8G_FONT_SECTION("u8g_font_courB18") = { - 0,22,35,252,247,15,3,223,8,17,32,255,251,21,251,16, - 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, - 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, - 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, - 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, - 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, - 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, - 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, - 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, - 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, - 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, - 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, - 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, - 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, - 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, - 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, - 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, - 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, - 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, - 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, - 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, - 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, - 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, - 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, - 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, - 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, - 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, - 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, - 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, - 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, - 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, - 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, - 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, - 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, - 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, - 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, - 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, - 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, - 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, - 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, - 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, - 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, - 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, - 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, - 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, - 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, - 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, - 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, - 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, - 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, - 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, - 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, - 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, - 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, - 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, - 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, - 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, - 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, - 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, - 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, - 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, - 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, - 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, - 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, - 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, - 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, - 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, - 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, - 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, - 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, - 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, - 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, - 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, - 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, - 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, - 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, - 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, - 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, - 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, - 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, - 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, - 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, - 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, - 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, - 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, - 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, - 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, - 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, - 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, - 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, - 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, - 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, - 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, - 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, - 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, - 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, - 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, - 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, - 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, - 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, - 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, - 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, - 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, - 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, - 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, - 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, - 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, - 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, - 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, - 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, - 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, - 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, - 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, - 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, - 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, - 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, - 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, - 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, - 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, - 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, - 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, - 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, - 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, - 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, - 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, - 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, - 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, - 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, - 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, - 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, - 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, - 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, - 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, - 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, - 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, - 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, - 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, - 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, - 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, - 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, - 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, - 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, - 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, - 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, - 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, - 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, - 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, - 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, - 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, - 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, - 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, - 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, - 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, - 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, - 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, - 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, - 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, - 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, - 60,48,126,112,231,224,195,192,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,15,0,1,4, - 16,16,15,4,251,96,96,96,0,96,96,96,96,96,240,240, - 240,240,240,240,96,9,16,32,15,2,0,12,0,12,0,12, - 0,61,128,127,128,227,128,193,128,192,0,192,0,192,0,225, - 128,127,128,63,0,12,0,12,0,12,0,12,15,30,15,1, - 0,15,128,31,192,56,192,48,0,48,0,48,0,48,0,255, - 0,255,0,24,0,24,0,56,0,112,48,255,240,255,224,10, - 11,22,15,2,2,192,192,255,192,127,128,225,192,192,192,192, - 192,192,192,225,192,127,128,255,192,192,192,12,15,30,15,1, - 0,249,240,249,240,112,224,48,192,57,192,25,128,15,0,15, - 0,63,192,6,0,63,192,6,0,6,0,63,192,63,192,2, - 18,18,15,6,254,192,192,192,192,192,192,192,192,0,0,192, - 192,192,192,192,192,192,192,12,18,36,15,1,254,15,224,31, - 224,56,96,48,96,56,0,126,0,207,128,195,224,240,240,124, - 48,31,48,7,240,1,224,0,192,96,192,97,192,127,128,127, - 0,7,3,3,15,3,12,198,198,198,14,14,28,15,0,1, - 7,128,31,224,56,112,103,152,111,216,220,204,216,12,216,12, - 220,204,111,216,103,152,56,112,31,224,7,128,8,11,11,15, - 3,4,60,102,6,126,198,198,207,123,0,255,255,13,9,18, - 15,1,1,14,56,28,112,56,224,113,192,227,128,113,192,56, - 224,28,112,14,56,12,6,12,15,1,4,255,240,255,240,0, - 48,0,48,0,48,0,48,11,2,4,15,2,6,255,224,255, - 224,14,14,28,15,0,1,7,128,31,224,56,112,111,152,111, - 216,204,204,204,204,207,140,205,140,108,216,108,216,56,112,31, - 224,7,128,7,2,2,15,3,13,254,254,8,7,7,15,3, - 9,60,102,195,195,195,102,60,12,14,28,15,1,0,6,0, - 6,0,6,0,6,0,255,240,255,240,6,0,6,0,6,0, - 6,0,0,0,0,0,255,240,255,240,7,9,9,15,4,7, - 124,198,198,12,24,48,96,198,254,7,9,9,15,4,7,124, - 198,198,12,60,6,198,198,124,6,4,4,15,4,12,28,56, - 112,224,14,16,32,15,0,251,240,240,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,56,112,63,252,63,188,48,0, - 48,0,48,0,48,0,48,0,12,18,36,15,1,254,31,240, - 127,240,230,192,230,192,230,192,230,192,230,192,126,192,30,192, - 6,192,6,192,6,192,6,192,6,192,6,192,6,192,62,240, - 62,240,3,3,3,15,5,6,224,224,224,5,6,6,15,4, - 251,48,48,120,24,248,112,8,9,9,15,3,7,24,248,24, - 24,24,24,24,24,255,8,11,11,15,3,4,60,126,195,195, - 195,195,126,60,0,255,255,13,9,18,15,1,1,227,128,113, - 192,56,224,28,112,14,56,28,112,56,224,113,192,227,128,16, - 16,32,15,255,0,24,0,248,1,24,3,24,6,24,12,24, - 24,24,48,24,100,255,204,1,156,3,44,6,76,12,140,24, - 254,48,12,32,30,16,16,32,15,255,0,24,0,248,1,24, - 3,24,6,24,12,24,24,24,48,24,126,255,243,1,163,3, - 6,6,12,12,24,24,48,48,99,32,127,15,16,32,15,0, - 0,124,0,198,2,198,6,12,12,60,24,6,48,198,96,198, - 200,125,152,3,56,6,88,12,152,25,24,49,252,96,24,64, - 60,9,15,30,15,2,252,12,0,12,0,12,0,0,0,12, - 0,12,0,28,0,120,0,224,0,192,0,193,128,193,128,225, - 128,127,128,63,0,14,20,40,15,0,0,56,0,28,0,14, - 0,7,0,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,14,20,40,15,0,0,0,224,1,192,3,128,7, - 0,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, - 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, - 252,14,21,42,15,0,0,6,0,15,0,31,128,57,192,112, - 224,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, - 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, - 252,14,19,38,15,0,0,14,96,31,192,51,128,0,0,63, - 0,63,0,7,128,7,128,12,192,12,192,28,224,24,96,24, - 96,63,240,63,240,112,56,96,24,252,252,252,252,14,19,38, - 15,0,0,24,192,24,192,24,192,0,0,63,0,63,0,7, - 128,7,128,12,192,12,192,28,224,24,96,24,96,63,240,63, - 240,112,56,96,24,252,252,252,252,14,20,40,15,0,0,7, - 0,13,128,8,128,13,128,7,0,63,0,63,0,7,128,7, - 128,12,192,12,192,28,224,24,96,24,96,63,240,63,240,112, - 56,96,24,252,252,252,252,15,15,30,15,0,0,15,254,15, - 254,3,134,7,134,7,128,13,152,9,248,25,248,31,152,63, - 128,49,128,97,134,97,134,247,254,247,254,12,20,40,15,1, - 251,15,176,63,240,112,112,96,48,224,48,192,0,192,0,192, - 0,192,0,192,0,224,0,96,16,112,48,63,224,15,192,6, - 0,15,0,3,0,31,0,14,0,13,20,40,15,1,0,56, - 0,28,0,14,0,7,0,0,0,255,240,255,240,48,48,48, - 48,49,176,49,128,63,128,63,128,49,128,49,128,48,24,48, - 24,48,24,255,248,255,248,13,20,40,15,1,0,0,224,1, - 192,3,128,7,0,0,0,255,240,255,240,48,48,48,48,49, - 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, - 24,255,248,255,248,13,21,42,15,1,0,3,0,7,128,15, - 192,28,224,56,112,0,0,255,240,255,240,48,48,48,48,49, - 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, - 24,255,248,255,248,13,19,38,15,1,0,24,192,24,192,24, - 192,0,0,255,240,255,240,48,48,48,48,49,176,49,128,63, - 128,63,128,49,128,49,128,48,24,48,24,48,24,255,248,255, - 248,10,20,40,15,2,0,112,0,56,0,28,0,14,0,0, - 0,255,192,255,192,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, - 20,40,15,2,0,3,128,7,0,14,0,28,0,0,0,255, - 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,255,192,255,192,10,21,42, - 15,2,0,12,0,30,0,63,0,115,128,225,192,0,0,255, - 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,255,192,255,192,10,19,38, - 15,2,0,51,0,51,0,51,0,0,0,255,192,255,192,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,14,15,30,15,0,0,255, - 192,255,240,48,56,48,24,48,28,48,12,254,12,254,12,48, - 12,48,12,48,12,48,24,48,56,255,240,255,224,13,19,38, - 15,1,0,14,96,31,192,51,128,0,0,240,248,240,248,120, - 48,120,48,108,48,108,48,102,48,102,48,99,48,99,48,97, - 176,97,176,96,240,248,240,248,112,13,20,40,15,1,0,28, - 0,14,0,7,0,3,128,0,0,15,128,63,224,112,112,96, - 48,224,56,192,24,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,13,20,40,15,1,0,0,224,1, - 192,3,128,7,0,0,0,15,128,63,224,112,112,96,48,224, - 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, - 112,63,224,15,128,13,21,42,15,1,0,3,0,7,128,15, - 192,28,224,56,112,0,0,15,128,63,224,112,112,96,48,224, - 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, - 112,63,224,15,128,13,19,38,15,1,0,14,96,31,192,51, - 128,0,0,15,128,63,224,112,112,96,48,224,56,192,24,192, - 24,192,24,192,24,192,24,224,56,96,48,112,112,63,224,15, - 128,13,19,38,15,1,0,24,192,24,192,24,192,0,0,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,192,24,224,56,96,48,112,112,63,224,15,128,12,12,24, - 15,1,1,64,32,224,112,112,224,57,192,31,128,15,0,15, - 0,31,128,57,192,112,224,224,112,64,32,13,18,36,15,1, - 255,0,24,0,48,15,224,63,224,112,112,96,240,225,184,193, - 24,195,24,198,24,196,24,204,24,232,56,120,48,112,112,63, - 224,111,128,192,0,13,20,40,15,1,0,56,0,28,0,14, - 0,7,0,0,0,248,248,248,248,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,48,96,63, - 224,31,192,13,20,40,15,1,0,0,224,1,192,3,128,7, - 0,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, - 192,13,21,42,15,1,0,3,0,7,128,15,192,28,224,56, - 112,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, - 192,13,19,38,15,1,0,24,192,24,192,24,192,0,0,248, - 248,248,248,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,96,48,48,96,63,224,31,192,14,20,40, - 15,0,0,0,224,1,192,3,128,7,0,0,0,252,252,252, - 252,112,56,56,112,24,96,12,192,15,192,7,128,3,0,3, - 0,3,0,3,0,3,0,31,224,31,224,13,15,30,15,1, - 0,252,0,252,0,48,0,63,192,63,240,48,56,48,24,48, - 24,48,24,48,56,63,240,63,192,48,0,252,0,252,0,12, - 16,32,15,1,0,15,0,31,128,57,192,48,192,48,192,49, - 192,55,128,55,192,48,224,48,112,48,48,48,48,48,48,51, - 112,251,224,249,192,12,16,32,15,1,0,112,0,56,0,28, - 0,14,0,0,0,63,0,127,128,97,192,0,192,31,192,127, - 192,224,192,192,192,193,192,255,240,126,240,12,16,32,15,1, - 0,1,192,3,128,7,0,14,0,0,0,63,0,127,128,97, - 192,0,192,31,192,127,192,224,192,192,192,193,192,255,240,126, - 240,12,16,32,15,1,0,14,0,31,0,59,128,113,192,0, - 0,63,0,127,128,97,192,0,192,31,192,127,192,224,192,192, - 192,193,192,255,240,126,240,12,15,30,15,1,0,28,192,63, - 128,103,0,0,0,63,0,127,128,97,192,0,192,31,192,127, - 192,224,192,192,192,193,192,255,240,126,240,12,15,30,15,1, - 0,49,128,49,128,49,128,0,0,63,0,127,128,97,192,0, - 192,31,192,127,192,224,192,192,192,193,192,255,240,126,240,12, - 16,32,15,1,0,14,0,27,0,17,0,27,0,14,0,63, - 0,127,128,97,192,0,192,31,192,127,192,224,192,192,192,193, - 192,255,240,126,240,14,11,22,15,0,0,60,240,127,248,103, - 156,3,12,31,12,127,252,227,252,195,0,199,140,255,252,124, - 240,11,16,32,15,1,251,31,96,127,224,112,224,224,96,192, - 96,192,0,192,0,224,0,112,96,127,224,31,192,6,0,15, - 0,3,0,31,0,14,0,12,16,32,15,1,0,56,0,28, - 0,14,0,7,0,0,0,31,128,127,224,112,224,224,112,192, - 48,255,240,255,240,224,0,112,112,127,240,31,192,12,16,32, - 15,1,0,1,192,3,128,7,0,14,0,0,0,31,128,127, - 224,112,224,224,112,192,48,255,240,255,240,224,0,112,112,127, - 240,31,192,12,16,32,15,1,0,7,0,15,128,29,192,56, - 224,0,0,31,128,127,224,112,224,224,112,192,48,255,240,255, - 240,224,0,112,112,127,240,31,192,12,15,30,15,1,0,49, - 128,49,128,49,128,0,0,31,128,127,224,112,224,224,112,192, - 48,255,240,255,240,224,0,112,112,127,240,31,192,10,16,32, - 15,2,0,224,0,112,0,56,0,28,0,0,0,124,0,124, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,10,16,32,15,2,0,3,128,7,0,14,0,28, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,10,16,32,15,2,0,28, - 0,62,0,119,0,227,128,0,0,124,0,124,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, - 15,30,15,2,0,99,0,99,0,99,0,0,0,124,0,124, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,17,34,15,0,0,240,0,252,112,15,240,31, - 128,125,192,112,224,15,240,63,240,56,120,112,56,96,24,96, - 24,96,24,112,56,56,112,63,240,15,192,14,15,30,15,0, - 0,14,96,31,192,51,128,0,0,243,192,247,224,60,112,56, - 48,48,48,48,48,48,48,48,48,48,48,252,252,252,252,12, - 16,32,15,1,0,56,0,28,0,14,0,7,0,0,0,31, - 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, - 224,127,224,31,128,12,16,32,15,1,0,1,192,3,128,7, - 0,14,0,0,0,31,128,127,224,112,224,224,112,192,48,192, - 48,192,48,224,112,112,224,127,224,31,128,12,16,32,15,1, - 0,14,0,31,0,59,128,113,192,0,0,31,128,127,224,112, - 224,224,112,192,48,192,48,192,48,224,112,112,224,127,224,31, - 128,12,15,30,15,1,0,28,192,63,128,103,0,0,0,31, - 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, - 224,127,224,31,128,12,15,30,15,1,0,49,128,49,128,49, - 128,0,0,31,128,127,224,112,224,224,112,192,48,192,48,192, - 48,224,112,112,224,127,224,31,128,13,12,24,15,0,1,7, - 0,7,0,7,0,0,0,0,0,255,248,255,248,0,0,0, - 0,7,0,7,0,7,0,14,14,28,15,0,254,0,12,15, - 216,63,240,56,112,112,216,97,152,99,24,102,24,108,56,56, - 112,63,240,63,192,96,0,192,0,14,16,32,15,0,0,56, - 0,28,0,14,0,7,0,0,0,240,240,240,240,48,48,48, - 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,14, - 16,32,15,0,0,1,192,3,128,7,0,14,0,0,0,240, - 240,240,240,48,48,48,48,48,48,48,48,48,48,48,48,56, - 112,31,252,15,188,14,16,32,15,0,0,7,0,15,128,29, - 192,56,224,0,0,240,240,240,240,48,48,48,48,48,48,48, - 48,48,48,48,48,56,112,31,252,15,188,14,15,30,15,0, - 0,24,192,24,192,24,192,0,0,240,240,240,240,48,48,48, - 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,12, - 21,42,15,1,251,0,224,1,192,3,128,7,0,0,0,249, - 240,249,240,96,96,112,224,48,192,57,192,25,128,27,128,15, - 0,15,0,6,0,14,0,12,0,28,0,254,0,254,0,13, - 21,42,15,1,251,240,0,240,0,48,0,48,0,48,0,55, - 192,63,240,60,112,56,56,48,24,48,24,48,24,56,56,60, - 112,63,240,55,192,48,0,48,0,48,0,254,0,254,0,12, - 20,40,15,1,251,49,128,49,128,49,128,0,0,249,240,249, - 240,96,96,112,224,48,192,57,192,25,128,27,128,15,0,15, - 0,6,0,14,0,12,0,28,0,254,0,254,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=21 x= 6 y=11 dx=15 dy= 0 ascent=17 len=40 - Font Bounding box w=22 h=35 x=-4 y=-9 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =15 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB18r[3001] U8G_FONT_SECTION("u8g_font_courB18r") = { - 0,22,35,252,247,15,3,223,8,17,32,127,251,17,251,16, - 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, - 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, - 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, - 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, - 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, - 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, - 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, - 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, - 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, - 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, - 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, - 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, - 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, - 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, - 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, - 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, - 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, - 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, - 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, - 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, - 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, - 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, - 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, - 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, - 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, - 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, - 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, - 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, - 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, - 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, - 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, - 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, - 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, - 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, - 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, - 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, - 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, - 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, - 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, - 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, - 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, - 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, - 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, - 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, - 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, - 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, - 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, - 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, - 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, - 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, - 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, - 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, - 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, - 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, - 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, - 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, - 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, - 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, - 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, - 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, - 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, - 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, - 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, - 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, - 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, - 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, - 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, - 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, - 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, - 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, - 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, - 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, - 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, - 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, - 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, - 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, - 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, - 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, - 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, - 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, - 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, - 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, - 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, - 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, - 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, - 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, - 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, - 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, - 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, - 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, - 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, - 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, - 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, - 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, - 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, - 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, - 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, - 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, - 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, - 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, - 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, - 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, - 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, - 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, - 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, - 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, - 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, - 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, - 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, - 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, - 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, - 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, - 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, - 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, - 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, - 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, - 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, - 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, - 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, - 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, - 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, - 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, - 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, - 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, - 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, - 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, - 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, - 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, - 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, - 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, - 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, - 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, - 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, - 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, - 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, - 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, - 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, - 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, - 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, - 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, - 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, - 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, - 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, - 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, - 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, - 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, - 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, - 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, - 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, - 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, - 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, - 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, - 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, - 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, - 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, - 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, - 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, - 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, - 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, - 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, - 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, - 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, - 60,48,126,112,231,224,195,192,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 20, '1' Height: 21 - Calculated Max Values w=21 h=29 x= 8 y=17 dx=20 dy= 0 ascent=26 len=87 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24[10502] U8G_FONT_SECTION("u8g_font_courB24") = { - 0,30,44,249,245,20,5,57,12,115,32,255,249,26,249,21, - 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, - 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, - 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, - 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, - 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, - 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, - 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, - 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, - 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, - 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, - 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, - 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, - 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, - 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, - 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, - 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, - 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, - 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, - 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, - 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, - 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, - 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, - 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, - 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, - 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, - 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, - 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, - 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, - 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, - 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, - 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, - 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, - 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, - 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, - 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, - 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, - 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, - 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, - 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, - 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, - 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, - 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, - 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, - 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, - 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, - 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, - 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, - 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, - 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, - 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, - 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, - 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, - 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, - 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, - 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, - 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, - 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, - 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, - 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, - 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, - 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, - 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, - 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, - 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, - 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, - 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, - 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, - 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, - 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, - 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, - 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, - 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, - 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, - 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, - 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, - 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, - 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, - 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, - 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, - 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, - 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, - 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, - 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, - 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, - 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, - 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, - 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, - 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, - 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, - 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, - 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, - 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, - 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, - 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, - 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, - 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, - 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, - 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, - 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, - 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, - 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, - 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, - 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, - 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, - 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, - 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, - 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, - 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, - 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, - 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, - 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, - 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, - 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, - 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, - 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, - 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, - 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, - 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, - 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, - 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, - 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, - 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, - 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, - 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, - 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, - 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, - 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, - 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, - 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, - 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, - 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, - 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, - 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, - 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, - 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, - 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, - 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, - 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, - 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, - 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, - 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, - 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, - 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, - 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, - 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, - 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, - 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, - 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, - 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, - 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, - 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, - 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, - 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, - 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, - 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, - 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, - 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, - 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, - 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, - 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, - 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, - 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, - 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, - 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, - 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, - 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, - 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, - 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, - 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, - 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, - 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, - 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, - 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, - 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, - 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, - 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, - 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, - 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, - 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, - 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, - 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, - 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, - 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, - 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, - 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, - 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, - 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, - 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, - 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, - 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, - 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, - 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, - 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, - 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, - 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, - 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, - 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, - 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, - 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, - 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, - 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, - 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, - 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, - 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, - 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, - 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, - 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, - 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, - 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, - 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, - 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, - 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, - 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, - 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, - 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, - 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, - 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, - 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, - 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, - 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, - 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, - 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, - 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, - 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, - 227,252,225,248,0,96,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,20,0,1,5,21,21, - 20,7,249,112,248,248,112,0,0,112,112,112,112,112,112,112, - 112,248,248,248,248,248,112,32,13,23,46,20,3,255,7,0, - 7,0,7,0,7,0,7,0,15,216,63,248,127,248,120,120, - 240,56,224,56,224,0,224,0,224,0,240,56,120,120,127,248, - 63,240,15,192,7,0,7,0,7,0,7,0,16,20,40,20, - 1,0,3,224,7,240,15,248,30,56,28,56,28,0,28,0, - 28,0,14,0,255,224,255,224,255,224,14,0,14,0,14,0, - 14,2,30,7,127,255,127,255,127,254,15,15,30,20,2,2, - 224,14,247,222,255,254,127,252,60,120,120,60,112,28,112,28, - 112,28,120,60,60,120,127,252,255,254,247,222,224,14,17,20, - 60,20,1,0,254,63,128,254,63,128,254,63,128,56,14,0, - 28,28,0,30,60,0,14,56,0,15,120,0,7,112,0,3, - 224,0,31,252,0,31,252,0,1,192,0,31,252,0,31,252, - 0,1,192,0,1,192,0,31,252,0,31,252,0,31,252,0, - 3,26,26,20,8,251,224,224,224,224,224,224,224,224,224,224, - 224,224,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 16,24,48,20,2,253,1,254,7,254,15,254,28,6,24,6, - 24,6,60,0,127,0,231,128,193,224,96,240,112,60,60,14, - 15,6,7,131,1,231,0,254,0,60,48,24,48,24,48,56, - 63,240,63,224,63,128,11,4,8,20,4,17,96,192,241,224, - 241,224,96,192,21,20,60,20,255,0,0,252,0,3,255,0, - 15,255,192,30,3,224,56,96,224,113,246,112,115,254,112,231, - 158,56,231,14,56,206,14,56,206,0,56,206,0,56,206,6, - 56,231,15,120,231,254,112,115,252,240,120,241,224,62,7,192, - 31,255,0,7,252,0,11,14,28,20,4,6,31,0,127,128, - 97,128,1,128,63,128,127,128,225,128,193,128,195,128,255,224, - 125,224,0,0,255,224,255,224,15,14,28,20,1,0,3,6, - 7,14,14,28,28,56,56,112,112,224,225,192,225,192,112,224, - 56,112,28,56,14,28,7,14,3,6,16,8,16,20,2,5, - 255,255,255,255,255,255,0,7,0,7,0,7,0,7,0,7, - 15,3,6,20,2,8,255,254,255,254,255,254,21,20,60,20, - 255,0,1,248,0,7,254,0,31,255,128,60,3,192,59,241, - 224,115,252,224,115,254,240,227,158,112,227,142,120,227,142,56, - 227,254,56,227,252,56,227,184,56,243,188,120,115,158,112,123, - 143,240,60,3,224,31,255,192,15,255,0,3,252,0,10,2, - 4,20,5,17,255,192,255,192,9,9,18,20,5,11,28,0, - 119,0,193,128,128,128,128,128,128,128,193,128,119,0,28,0, - 17,18,54,20,1,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, - 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,8,14,14,20, - 5,7,60,126,231,195,3,7,14,12,24,56,112,225,255,255, - 9,14,28,20,5,7,62,0,127,0,99,0,3,0,7,0, - 30,0,31,0,3,128,1,128,1,128,193,128,227,0,127,0, - 60,0,8,6,6,20,6,15,6,15,62,120,224,64,18,22, - 66,20,1,249,252,63,0,252,63,0,252,63,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,15,0,30,31,0,31,255,192,31,247,192,29,231, - 192,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,15,24,48,20,2,253,15,254,63,254, - 123,24,243,24,227,24,227,24,227,24,227,24,227,24,115,24, - 63,24,31,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,31,62,31,62,31,62,5,4,4,20, - 7,8,112,248,248,112,5,7,7,20,6,250,48,48,48,24, - 248,248,112,8,13,13,20,6,7,56,248,216,24,24,24,24, - 24,24,24,24,255,255,11,14,28,20,4,6,14,0,63,128, - 113,192,224,224,192,96,192,96,192,96,224,224,113,192,63,128, - 14,0,0,0,255,224,255,224,15,14,28,20,2,0,193,128, - 225,192,112,224,56,112,28,56,14,28,7,14,7,14,14,28, - 28,56,56,112,112,224,225,192,193,128,19,20,60,20,0,0, - 56,0,0,248,0,0,216,0,128,24,1,192,24,1,128,24, - 3,0,24,6,0,24,12,0,24,28,192,24,25,192,255,51, - 192,255,114,192,0,102,192,0,206,192,1,140,192,3,159,224, - 7,31,224,2,0,192,0,1,224,0,1,224,19,20,60,20, - 0,0,56,0,0,248,0,0,216,2,0,24,7,0,24,14, - 0,24,12,0,24,24,0,24,56,0,24,112,0,24,103,128, - 254,239,192,255,220,224,1,152,96,3,0,224,7,1,192,14, - 7,128,4,14,0,0,28,96,0,31,224,0,31,224,19,21, - 63,20,0,0,62,0,0,127,0,0,99,0,0,3,1,0, - 3,3,128,30,7,0,31,6,0,3,142,0,1,156,0,195, - 152,192,227,49,192,127,115,192,28,98,192,0,198,192,1,206, - 192,3,140,192,7,31,224,2,31,224,0,0,192,0,3,224, - 0,3,224,13,21,42,20,3,250,7,0,15,128,15,128,7, - 0,0,0,0,0,0,0,7,0,7,0,7,0,31,0,63, - 0,124,0,240,0,224,0,224,56,224,56,240,56,127,248,63, - 248,31,224,21,26,78,20,255,0,3,0,0,7,128,0,1, - 224,0,0,240,0,0,48,0,0,0,0,31,240,0,31,248, - 0,31,248,0,1,252,0,1,220,0,1,220,0,3,222,0, - 3,142,0,3,142,0,7,7,0,7,7,0,7,7,0,15, - 255,128,15,255,128,31,255,192,28,1,192,28,1,192,255,143, - 248,255,143,248,255,143,248,21,26,78,20,255,0,0,3,0, - 0,15,0,0,30,0,0,120,0,0,96,0,0,0,0,31, - 240,0,31,248,0,31,248,0,1,252,0,1,220,0,1,220, - 0,3,222,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,21,26,78,20,255, - 0,0,64,0,0,224,0,3,184,0,7,28,0,14,14,0, - 0,0,0,31,240,0,31,248,0,31,248,0,1,252,0,1, - 220,0,1,220,0,3,222,0,3,142,0,3,142,0,7,7, - 0,7,7,0,7,7,0,15,255,128,15,255,128,31,255,192, - 28,1,192,28,1,192,255,143,248,255,143,248,255,143,248,21, - 25,75,20,255,0,3,134,0,7,230,0,6,118,0,6,28, - 0,0,0,0,31,240,0,31,248,0,31,248,0,1,252,0, - 1,220,0,1,220,0,3,222,0,3,142,0,3,142,0,7, - 7,0,7,7,0,7,7,0,15,255,128,15,255,128,31,255, - 192,28,1,192,28,1,192,255,143,248,255,143,248,255,143,248, - 21,25,75,20,255,0,12,24,0,30,60,0,30,60,0,12, - 24,0,0,0,0,31,240,0,31,248,0,31,248,0,1,252, - 0,1,220,0,1,220,0,3,222,0,3,142,0,3,142,0, - 7,7,0,7,7,0,7,7,0,15,255,128,15,255,128,31, - 255,192,28,1,192,28,1,192,255,143,248,255,143,248,255,143, - 248,21,26,78,20,255,0,0,240,0,1,152,0,1,8,0, - 1,152,0,0,240,0,0,0,0,31,240,0,31,248,0,31, - 248,0,1,252,0,1,220,0,1,220,0,3,222,0,3,142, - 0,3,142,0,7,7,0,7,7,0,7,7,0,15,255,128, - 15,255,128,31,255,192,28,1,192,28,1,192,255,143,248,255, - 143,248,255,143,248,20,20,60,20,0,0,31,255,224,31,255, - 224,31,255,224,7,112,224,7,112,224,6,112,224,14,112,224, - 14,115,0,14,115,0,14,127,0,28,127,0,28,115,0,31, - 243,0,31,243,0,56,112,112,56,112,112,56,112,112,255,255, - 240,255,255,240,255,255,240,17,26,78,20,1,250,3,227,0, - 15,255,0,31,255,0,62,31,0,120,15,0,112,7,0,240, - 7,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,240,0,0,112,1,0,120,3,128,62,15,128, - 63,255,0,15,254,0,3,248,0,0,192,0,0,192,0,0, - 224,0,4,112,0,7,240,0,3,224,0,17,26,78,20,1, - 0,3,0,0,7,128,0,1,224,0,0,240,0,0,48,0, - 0,0,0,255,255,0,255,255,0,255,255,0,28,7,0,28, - 7,0,28,7,0,28,119,0,28,112,0,31,240,0,31,240, - 0,31,240,0,28,112,0,28,112,0,28,3,128,28,3,128, - 28,3,128,28,3,128,255,255,128,255,255,128,255,255,128,17, - 26,78,20,1,0,0,12,0,0,60,0,0,120,0,1,224, - 0,1,128,0,0,0,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,26,78,20,1,0,0,128,0,1,192,0,7, - 112,0,14,56,0,28,28,0,0,0,0,255,255,0,255,255, - 0,255,255,0,28,7,0,28,7,0,28,7,0,28,119,0, - 28,112,0,31,240,0,31,240,0,31,240,0,28,112,0,28, - 112,0,28,3,128,28,3,128,28,3,128,28,3,128,255,255, - 128,255,255,128,255,255,128,17,25,75,20,1,0,6,12,0, - 15,30,0,15,30,0,6,12,0,0,0,0,255,255,0,255, - 255,0,255,255,0,28,7,0,28,7,0,28,7,0,28,119, - 0,28,112,0,31,240,0,31,240,0,31,240,0,28,112,0, - 28,112,0,28,3,128,28,3,128,28,3,128,28,3,128,255, - 255,128,255,255,128,255,255,128,13,26,52,20,3,0,24,0, - 60,0,15,0,7,128,1,128,0,0,255,248,255,248,255,248, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,13,26,52,20,3,0,0,48,0,240,1,224,7,128, - 6,0,0,0,255,248,255,248,255,248,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,255,248,255,248,255,248,13,26,52,20, - 3,0,2,0,7,0,29,192,56,224,112,112,0,0,255,248, - 255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 255,248,255,248,255,248,13,25,50,20,3,0,48,96,120,240, - 120,240,48,96,0,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,17,20, - 60,20,2,0,255,224,0,255,248,0,255,252,0,56,62,0, - 56,15,0,56,7,0,56,7,0,56,3,128,255,131,128,255, - 131,128,255,131,128,56,3,128,56,3,128,56,3,128,56,7, - 0,56,7,0,56,30,0,255,254,0,255,252,0,255,240,0, - 20,25,75,20,255,0,3,134,0,7,230,0,6,118,0,6, - 28,0,0,0,0,252,31,240,254,31,240,255,31,240,31,1, - 192,31,129,192,31,129,192,29,193,192,29,225,192,28,225,192, - 28,241,192,28,121,192,28,57,192,28,61,192,28,29,192,28, - 15,192,28,15,192,28,7,192,127,199,192,127,195,192,127,193, - 192,17,26,78,20,1,0,6,0,0,15,0,0,3,192,0, - 1,224,0,0,96,0,0,0,0,7,240,0,15,252,0,31, - 252,0,60,30,0,120,15,0,112,7,0,112,7,0,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 112,7,0,120,7,0,56,14,0,62,62,0,31,252,0,15, - 248,0,3,224,0,17,26,78,20,1,0,0,24,0,0,120, - 0,0,240,0,3,192,0,3,0,0,0,0,0,7,240,0, - 15,252,0,31,252,0,60,30,0,120,15,0,112,7,0,112, - 7,0,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,112,7,0,120,7,0,56,14,0,62,62,0, - 31,252,0,15,248,0,3,224,0,17,26,78,20,1,0,0, - 128,0,1,192,0,7,112,0,14,56,0,28,28,0,0,0, - 0,7,240,0,15,252,0,31,252,0,60,30,0,120,15,0, - 112,7,0,112,7,0,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,112,7,0,120,7,0,56,14, - 0,62,62,0,31,252,0,15,248,0,3,224,0,17,25,75, - 20,1,0,7,12,0,15,204,0,12,236,0,12,56,0,0, - 0,0,7,240,0,15,252,0,31,252,0,60,30,0,120,15, - 0,112,7,0,112,7,0,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,112,7,0,120,7,0,56, - 14,0,62,62,0,31,252,0,15,248,0,3,224,0,17,25, - 75,20,1,0,12,24,0,30,60,0,30,60,0,12,24,0, - 0,0,0,7,240,0,15,252,0,31,252,0,60,30,0,120, - 15,0,112,7,0,112,7,0,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,112,7,0,120,7,0, - 56,14,0,62,62,0,31,252,0,15,248,0,3,224,0,15, - 16,32,20,2,0,224,14,240,30,248,62,120,60,60,120,30, - 240,15,224,7,192,7,192,15,224,30,240,60,120,120,60,248, - 62,240,30,224,14,17,23,69,20,1,254,0,3,128,3,227, - 128,15,255,128,31,255,0,62,62,0,56,30,0,120,63,0, - 112,127,0,224,123,128,224,243,128,225,227,128,225,195,128,227, - 195,128,231,131,128,255,7,128,126,7,0,126,15,0,60,30, - 0,127,252,0,127,248,0,247,240,0,224,0,0,224,0,0, - 19,26,78,20,0,0,3,0,0,7,128,0,1,224,0,0, - 240,0,0,48,0,0,0,0,255,31,224,255,31,224,255,31, - 224,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,28,7,128,31,31,0,15,254,0,7,252, - 0,1,248,0,19,26,78,20,0,0,0,28,0,0,60,0, - 0,240,0,1,224,0,1,128,0,0,0,0,255,31,224,255, - 31,224,255,31,224,56,3,128,56,3,128,56,3,128,56,3, - 128,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,28,7,128,31,31,0,15, - 254,0,7,252,0,1,248,0,19,26,78,20,0,0,0,64, - 0,0,224,0,3,184,0,7,28,0,14,14,0,0,0,0, - 255,31,224,255,31,224,255,31,224,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, - 128,56,3,128,56,3,128,56,3,128,56,3,128,28,7,128, - 31,31,0,15,254,0,7,252,0,1,248,0,19,26,78,20, - 0,0,6,12,0,15,30,0,15,30,0,6,12,0,0,0, - 0,0,0,0,255,191,224,255,191,224,255,191,224,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, - 128,28,7,128,31,31,0,15,254,0,7,252,0,1,248,0, - 17,26,78,20,1,0,0,24,0,0,120,0,0,240,0,3, - 192,0,3,0,0,0,0,0,254,63,128,254,63,128,254,63, - 128,60,30,0,28,28,0,30,60,0,14,56,0,15,120,0, - 7,240,0,3,224,0,3,224,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,31,252,0,31,252, - 0,31,252,0,18,20,60,20,1,0,255,128,0,255,128,0, - 255,128,0,28,0,0,31,248,0,31,254,0,31,255,0,28, - 15,128,28,3,128,28,3,192,28,3,192,28,3,128,28,15, - 128,31,255,0,31,254,0,31,248,0,28,0,0,255,128,0, - 255,128,0,255,128,0,17,22,66,20,0,255,3,224,0,7, - 240,0,15,248,0,30,60,0,28,28,0,28,28,0,28,28, - 0,28,60,0,29,248,0,29,248,0,29,254,0,28,31,0, - 28,15,0,28,7,128,28,3,128,28,3,128,29,195,128,29, - 195,128,255,255,0,254,255,0,254,126,0,0,24,0,17,22, - 66,20,2,0,24,0,0,60,0,0,15,0,0,7,128,0, - 1,128,0,0,0,0,0,0,0,15,224,0,63,240,0,63, - 248,0,56,60,0,0,28,0,0,28,0,15,252,0,63,252, - 0,127,252,0,120,28,0,240,28,0,224,124,0,255,255,128, - 127,255,128,63,159,128,17,22,66,20,2,0,0,32,0,0, - 112,0,0,240,0,3,192,0,7,128,0,6,0,0,0,0, - 0,15,224,0,63,240,0,63,248,0,56,60,0,0,28,0, - 0,28,0,15,252,0,63,252,0,127,252,0,120,28,0,224, - 60,0,224,124,0,255,255,128,127,223,128,63,159,128,17,22, - 66,20,1,0,0,128,0,1,192,0,7,112,0,14,56,0, - 28,28,0,0,0,0,0,0,0,7,224,0,63,240,0,63, - 248,0,60,60,0,0,28,0,0,28,0,15,252,0,63,252, - 0,127,252,0,120,28,0,240,28,0,224,60,0,255,255,128, - 127,255,128,63,159,128,17,21,63,20,1,0,14,24,0,31, - 152,0,25,248,0,24,112,0,0,0,0,0,0,0,15,224, - 0,63,240,0,63,248,0,56,60,0,0,28,0,0,28,0, - 15,252,0,63,252,0,127,252,0,120,28,0,240,28,0,224, - 124,0,255,255,128,127,223,128,63,159,128,17,21,63,20,2, - 0,12,24,0,30,60,0,30,60,0,12,24,0,0,0,0, - 0,0,0,15,224,0,63,240,0,63,248,0,56,60,0,0, - 28,0,0,28,0,15,252,0,63,252,0,127,252,0,120,28, - 0,240,28,0,224,124,0,255,255,128,127,223,128,63,159,128, - 17,21,63,20,1,0,3,192,0,6,96,0,4,32,0,6, - 96,0,3,192,0,0,0,0,15,224,0,63,240,0,63,248, - 0,56,60,0,0,28,0,0,28,0,15,252,0,63,252,0, - 127,252,0,120,28,0,240,28,0,224,124,0,255,255,128,127, - 223,128,63,159,128,20,15,45,20,255,0,15,135,0,63,255, - 192,63,255,192,56,253,224,0,112,112,3,240,112,31,255,240, - 127,255,240,255,255,240,240,112,0,224,120,0,241,248,112,127, - 255,240,63,255,240,31,39,128,16,21,42,20,2,250,7,230, - 31,254,63,254,124,62,112,14,240,14,224,14,224,0,224,0, - 224,0,240,6,124,15,63,254,31,252,7,240,1,128,1,128, - 1,192,8,224,15,192,3,128,16,21,42,20,1,0,6,0, - 15,0,3,192,1,224,0,96,0,0,7,224,31,248,63,252, - 124,62,112,14,240,15,255,255,255,255,255,255,224,0,112,0, - 124,15,63,255,31,254,7,240,16,22,44,20,1,0,0,16, - 0,56,0,120,1,224,3,192,3,0,0,0,7,224,31,248, - 63,252,124,62,112,14,240,15,255,255,255,255,255,255,224,0, - 112,0,124,14,63,255,31,254,7,240,16,22,44,20,1,0, - 0,128,1,192,7,112,14,56,28,28,0,0,0,0,7,224, - 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, - 224,0,112,0,124,31,63,255,31,255,7,240,16,21,42,20, - 1,0,12,24,30,60,30,60,12,24,0,0,0,0,7,224, - 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, - 224,0,112,0,124,31,63,255,31,255,7,240,15,22,44,20, - 2,0,24,0,60,0,15,0,7,128,1,128,0,0,0,0, - 127,128,127,128,127,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,254,255,254,255,254,15,23, - 46,20,2,0,0,128,1,192,3,192,15,0,30,0,24,0, - 0,0,0,0,127,128,127,128,127,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, - 255,254,15,22,44,20,2,0,2,0,7,0,29,192,56,224, - 112,112,0,0,0,0,127,128,127,128,127,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, - 255,254,255,254,15,21,42,20,2,0,48,96,120,240,120,240, - 48,96,0,0,0,0,127,128,127,128,127,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, - 255,254,255,254,16,21,42,20,2,0,126,14,255,191,255,252, - 3,240,15,240,127,248,124,56,112,60,7,220,31,254,127,254, - 120,30,240,15,224,7,224,7,224,15,240,15,248,62,127,252, - 63,248,31,224,17,21,63,20,1,0,14,24,0,31,152,0, - 25,248,0,24,112,0,0,0,0,0,0,0,249,240,0,251, - 252,0,255,254,0,60,30,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,254,63,128,254,63,128,17,21,63,20,1,0,6, - 0,0,15,0,0,3,192,0,1,224,0,0,96,0,0,0, - 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, - 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, - 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,22, - 66,20,1,0,0,16,0,0,56,0,0,120,0,1,224,0, - 3,192,0,3,0,0,0,0,0,7,240,0,15,248,0,63, - 254,0,60,30,0,120,15,0,240,7,128,224,3,128,224,3, - 128,224,3,128,240,7,128,120,15,0,124,31,0,63,254,0, - 31,252,0,7,240,0,17,22,66,20,1,0,0,128,0,1, - 192,0,7,112,0,14,56,0,28,28,0,0,0,0,0,0, - 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, - 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, - 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,21, - 63,20,1,0,7,12,0,15,204,0,12,252,0,12,56,0, - 0,0,0,0,0,0,7,240,0,15,248,0,63,254,0,60, - 30,0,120,15,0,240,7,128,224,3,128,224,3,128,224,3, - 128,240,7,128,120,15,0,124,31,0,63,254,0,31,252,0, - 7,240,0,17,21,63,20,1,0,12,24,0,30,60,0,30, - 60,0,12,24,0,0,0,0,0,0,0,7,240,0,15,248, - 0,63,254,0,60,30,0,120,15,0,240,7,128,224,3,128, - 224,3,128,224,3,128,240,7,128,120,15,0,124,31,0,63, - 254,0,31,252,0,7,240,0,15,15,30,20,2,2,3,128, - 7,192,7,192,3,128,0,0,0,0,255,254,255,254,255,254, - 0,0,0,0,3,128,7,192,7,192,3,128,17,18,54,20, - 1,254,0,3,128,3,227,128,15,255,128,63,255,0,62,62, - 0,120,63,0,112,127,0,224,243,128,225,227,128,227,195,128, - 231,131,128,127,7,0,126,31,0,63,254,0,127,252,0,247, - 240,0,224,0,0,224,0,0,18,22,66,20,0,0,3,0, - 0,7,128,0,1,224,0,0,240,0,0,48,0,0,0,0, - 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, - 18,22,66,20,0,0,0,8,0,0,28,0,0,60,0,0, - 240,0,1,224,0,1,128,0,0,0,0,252,63,0,252,63, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,15,0,28,31,0,31, - 255,192,15,247,192,7,231,192,18,22,66,20,0,0,0,128, - 0,1,192,0,7,112,0,14,56,0,28,28,0,0,0,0, - 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, - 18,21,63,20,0,0,12,24,0,30,60,0,30,60,0,12, - 24,0,0,0,0,0,0,0,252,63,0,252,63,0,252,63, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,15,0,28,31,0,31,255,192,15, - 247,192,7,231,192,17,29,87,20,1,249,0,16,0,0,56, - 0,0,120,0,1,224,0,3,192,0,3,0,0,0,0,0, - 254,63,128,254,63,128,254,63,128,120,15,0,56,14,0,60, - 30,0,28,28,0,30,60,0,14,56,0,15,120,0,7,112, - 0,7,240,0,3,224,0,3,224,0,1,192,0,1,192,0, - 3,128,0,3,128,0,7,0,0,255,224,0,255,224,0,255, - 224,0,19,28,84,20,0,249,252,0,0,252,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,252,0,31,255,0, - 31,255,128,31,135,192,31,3,192,30,1,224,28,0,224,28, - 0,224,28,0,224,30,1,224,30,1,192,31,135,192,31,255, - 128,31,255,0,28,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,255,192,0,255,192,0,255,192,0,17,28,84,20, - 1,249,6,12,0,15,30,0,15,30,0,6,12,0,0,0, - 0,0,0,0,254,63,128,254,63,128,254,63,128,120,15,0, - 56,14,0,60,30,0,28,28,0,30,60,0,14,56,0,15, - 120,0,7,112,0,7,240,0,3,224,0,3,224,0,1,192, - 0,1,192,0,3,128,0,3,128,0,7,0,0,255,224,0, - 255,224,0,255,224,0}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 20, '1' Height: 21 - Calculated Max Values w=21 h=28 x= 8 y=16 dx=20 dy= 0 ascent=23 len=75 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24r[4775] U8G_FONT_SECTION("u8g_font_courB24r") = { - 0,30,44,249,245,20,5,57,12,115,32,127,249,23,249,21, - 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, - 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, - 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, - 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, - 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, - 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, - 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, - 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, - 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, - 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, - 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, - 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, - 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, - 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, - 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, - 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, - 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, - 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, - 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, - 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, - 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, - 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, - 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, - 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, - 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, - 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, - 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, - 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, - 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, - 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, - 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, - 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, - 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, - 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, - 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, - 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, - 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, - 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, - 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, - 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, - 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, - 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, - 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, - 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, - 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, - 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, - 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, - 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, - 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, - 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, - 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, - 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, - 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, - 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, - 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, - 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, - 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, - 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, - 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, - 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, - 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, - 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, - 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, - 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, - 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, - 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, - 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, - 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, - 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, - 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, - 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, - 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, - 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, - 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, - 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, - 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, - 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, - 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, - 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, - 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, - 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, - 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, - 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, - 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, - 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, - 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, - 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, - 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, - 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, - 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, - 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, - 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, - 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, - 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, - 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, - 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, - 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, - 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, - 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, - 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, - 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, - 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, - 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, - 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, - 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, - 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, - 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, - 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, - 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, - 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, - 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, - 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, - 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, - 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, - 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, - 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, - 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, - 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, - 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, - 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, - 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, - 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, - 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, - 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, - 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, - 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, - 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, - 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, - 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, - 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, - 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, - 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, - 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, - 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, - 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, - 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, - 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, - 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, - 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, - 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, - 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, - 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, - 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, - 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, - 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, - 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, - 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, - 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, - 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, - 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, - 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, - 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, - 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, - 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, - 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, - 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, - 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, - 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, - 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, - 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, - 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, - 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, - 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, - 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, - 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, - 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, - 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, - 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, - 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, - 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, - 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, - 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, - 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, - 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, - 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, - 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, - 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, - 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, - 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, - 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, - 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, - 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, - 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, - 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, - 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, - 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, - 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, - 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, - 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, - 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, - 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, - 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, - 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, - 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, - 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, - 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, - 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, - 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, - 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, - 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, - 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, - 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, - 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, - 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, - 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, - 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, - 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, - 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, - 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, - 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, - 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, - 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, - 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, - 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, - 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, - 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, - 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, - 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, - 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, - 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, - 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, - 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, - 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, - 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, - 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, - 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, - 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, - 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, - 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, - 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, - 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, - 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, - 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, - 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, - 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, - 227,252,225,248,0,96,255}; -/* - Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=17 h=27 x= 7 y= 8 dx=20 dy= 0 ascent=23 len=54 - Font Bounding box w=30 h=44 x=-7 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =23 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courB24n[707] U8G_FONT_SECTION("u8g_font_courB24n") = { - 0,30,44,249,245,21,0,0,0,0,42,58,0,23,251,21, - 0,15,14,28,20,3,7,3,128,3,128,3,128,3,128,99, - 140,251,190,127,252,31,240,15,224,15,224,30,240,60,120,120, - 60,48,24,17,17,51,20,1,1,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,255,255, - 128,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,7,10,10,20, - 5,251,30,30,60,60,56,112,112,224,224,192,15,3,6,20, - 2,8,255,254,255,254,255,254,5,4,4,20,7,0,112,248, - 248,112,13,27,54,20,3,252,0,56,0,56,0,120,0,112, - 0,112,0,224,0,224,1,224,1,192,1,192,3,128,3,128, - 7,128,7,0,15,0,14,0,14,0,28,0,28,0,60,0, - 56,0,56,0,112,0,112,0,240,0,224,0,224,0,13,21, - 42,20,3,0,15,128,63,224,127,240,112,112,240,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,240,120,112,112,127,240,63,224,15,128,13,21, - 42,20,4,0,3,0,15,0,127,0,255,0,255,0,103,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,14,21, - 42,20,2,0,7,192,31,240,63,248,120,60,112,28,112,28, - 112,28,0,28,0,56,0,120,0,240,1,224,3,192,7,128, - 15,0,30,0,60,0,120,0,255,252,255,252,255,252,15,21, - 42,20,2,0,7,224,31,240,127,248,120,60,112,28,0,28, - 0,28,0,60,7,248,7,240,7,248,0,124,0,28,0,14, - 0,14,0,14,0,30,224,60,255,252,255,248,63,224,14,21, - 42,20,2,0,0,240,1,240,1,240,3,240,7,240,7,112, - 15,112,14,112,30,112,28,112,56,112,120,112,112,112,255,252, - 255,252,255,252,0,112,0,112,3,252,3,252,3,252,15,21, - 42,20,2,0,63,252,63,252,63,252,56,0,56,0,56,0, - 56,0,63,224,63,248,63,252,56,124,0,30,0,14,0,14, - 0,14,0,14,64,30,240,60,255,248,127,248,31,224,14,21, - 42,20,3,0,1,248,7,248,15,248,31,0,60,0,120,0, - 112,0,112,0,227,192,239,240,255,240,248,120,240,60,224,28, - 224,28,240,28,112,60,120,120,127,248,63,240,15,192,14,21, - 42,20,2,0,255,252,255,252,255,252,224,60,224,56,224,56, - 0,56,0,120,0,112,0,112,0,240,0,224,0,224,1,224, - 1,192,1,192,3,192,3,128,7,128,7,0,7,0,14,21, - 42,20,3,0,15,128,63,224,127,240,112,112,224,56,224,56, - 224,56,112,112,127,240,63,224,63,240,124,248,240,60,224,28, - 224,28,224,28,224,28,248,124,127,248,63,240,15,192,14,21, - 42,20,3,0,15,128,63,224,127,240,120,240,240,120,224,56, - 224,60,224,60,224,60,240,124,120,252,63,220,63,156,15,60, - 0,56,0,120,0,112,97,240,255,224,255,128,126,0,5,15, - 15,20,7,0,112,248,248,112,0,0,0,0,0,0,0,112, - 248,248,112}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 6 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 - Font Bounding box w=10 h=16 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR08[2433] U8G_FONT_SECTION("u8g_font_courR08") = { - 0,10,16,254,252,6,1,151,3,21,32,255,254,9,254,7, - 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, - 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, - 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, - 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, - 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, - 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, - 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, - 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, - 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, - 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, - 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, - 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, - 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, - 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, - 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, - 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, - 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, - 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, - 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, - 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, - 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, - 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, - 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, - 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, - 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, - 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, - 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, - 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, - 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, - 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, - 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, - 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, - 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, - 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, - 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, - 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, - 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, - 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, - 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, - 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, - 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, - 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, - 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, - 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, - 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, - 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, - 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, - 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, - 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, - 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, - 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, - 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, - 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, - 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, - 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, - 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, - 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, - 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, - 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, - 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, - 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, - 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, - 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, - 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, - 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, - 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, - 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, - 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, - 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, - 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, - 6,2,254,128,64,64,64,32,64,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,1,1,7,7,6,2, - 254,128,0,128,128,128,128,128,4,8,8,6,1,255,32,32, - 112,128,128,112,32,32,6,7,7,6,0,0,56,64,248,32, - 32,68,252,5,5,5,6,0,1,136,112,80,112,136,5,7, - 7,6,0,0,136,80,248,32,248,32,112,1,9,9,6,2, - 254,128,128,128,0,0,128,128,128,128,4,8,8,6,1,255, - 112,128,96,144,144,96,16,224,3,1,1,6,2,5,160,6, - 7,7,6,0,0,48,72,180,164,180,72,48,4,5,5,6, - 1,1,224,16,208,0,240,6,3,3,6,0,1,108,216,108, - 5,3,3,6,0,2,248,8,8,4,1,1,6,1,3,240, - 6,7,7,6,0,0,48,72,188,180,172,72,48,4,1,1, - 6,1,5,240,4,3,3,6,1,4,96,144,96,5,6,6, - 6,0,0,32,32,248,32,0,248,3,4,4,6,2,3,96, - 160,64,224,3,4,4,6,2,3,224,64,32,192,2,2,2, - 6,2,5,64,128,6,7,7,6,0,254,216,72,72,72,116, - 64,64,6,8,8,6,0,255,124,168,168,104,40,40,40,108, - 1,2,2,6,2,2,128,128,3,3,3,6,1,254,64,32, - 192,3,4,4,6,2,3,192,64,64,224,4,5,5,6,1, - 1,96,144,96,0,240,6,3,3,6,1,1,216,108,216,6, - 7,7,6,0,0,192,68,72,244,44,92,132,6,7,7,6, - 0,0,192,68,72,252,52,72,156,6,7,7,6,0,0,224, - 68,40,212,44,92,132,4,7,7,6,0,254,32,0,32,32, - 64,144,96,6,9,9,6,0,0,32,16,0,112,40,72,120, - 72,204,6,9,9,6,0,0,16,32,0,112,40,72,120,72, - 204,6,9,9,6,0,0,32,80,0,112,40,72,120,72,204, - 6,9,9,6,0,0,40,80,0,112,40,72,120,72,204,6, - 8,8,6,0,0,80,0,112,40,72,120,72,204,6,9,9, - 6,0,0,16,40,16,112,40,72,120,72,204,6,6,6,6, - 0,0,124,48,92,112,144,156,4,8,8,6,1,254,96,144, - 128,128,144,96,32,192,5,9,9,6,0,0,32,16,0,248, - 72,112,64,72,248,5,9,9,6,0,0,16,32,0,248,72, - 112,64,72,248,5,9,9,6,0,0,32,80,0,248,72,112, - 64,72,248,5,8,8,6,0,0,80,0,248,72,112,64,72, - 248,5,9,9,6,0,0,64,32,0,248,32,32,32,32,248, - 5,9,9,6,0,0,16,32,0,248,32,32,32,32,248,5, - 9,9,6,0,0,32,80,0,248,32,32,32,32,248,5,8, - 8,6,0,0,80,0,248,32,32,32,32,248,5,6,6,6, - 0,0,240,72,232,72,72,240,6,9,9,6,0,0,40,80, - 0,220,72,104,88,72,200,4,9,9,6,1,0,64,32,0, - 96,144,144,144,144,96,4,9,9,6,1,0,32,64,0,96, - 144,144,144,144,96,4,9,9,6,1,0,32,80,0,96,144, - 144,144,144,96,4,9,9,6,1,0,80,160,0,96,144,144, - 144,144,96,4,8,8,6,1,0,160,0,96,144,144,144,144, - 96,5,5,5,6,0,1,136,80,32,80,136,6,6,6,6, - 0,0,52,72,88,104,72,176,6,9,9,6,0,0,32,16, - 0,204,72,72,72,72,48,6,9,9,6,0,0,16,32,0, - 204,72,72,72,72,48,6,9,9,6,0,0,16,40,0,204, - 72,72,72,72,48,6,8,8,6,0,0,80,0,204,72,72, - 72,72,48,5,9,9,6,0,0,16,32,0,216,136,80,32, - 32,112,5,6,6,6,0,0,192,112,72,112,64,224,6,6, - 6,6,0,0,48,72,88,68,84,200,5,8,8,6,0,0, - 64,32,0,96,16,112,144,104,5,8,8,6,0,0,16,32, - 0,96,16,112,144,104,5,8,8,6,0,0,32,80,0,96, - 16,112,144,104,5,8,8,6,0,0,80,160,0,96,16,112, - 144,104,5,7,7,6,0,0,80,0,96,16,112,144,104,5, - 9,9,6,0,0,32,80,32,0,96,16,112,144,104,6,5, - 5,6,0,0,108,148,124,144,236,4,7,7,6,1,254,96, - 144,128,144,96,32,192,4,8,8,6,1,0,64,32,0,96, - 144,240,128,112,4,8,8,6,1,0,32,64,0,96,144,240, - 128,112,4,8,8,6,1,0,64,160,0,96,144,240,128,112, - 4,7,7,6,1,0,160,0,96,144,240,128,112,5,8,8, - 6,0,0,64,32,0,96,32,32,32,248,5,8,8,6,0, - 0,16,32,0,96,32,32,32,248,5,8,8,6,0,0,32, - 80,0,96,32,32,32,248,5,7,7,6,0,0,80,0,96, - 32,32,32,248,4,8,8,6,1,0,208,96,160,112,144,144, - 144,96,6,8,8,6,0,0,40,80,0,176,72,72,72,236, - 4,8,8,6,1,0,64,32,0,96,144,144,144,96,4,8, - 8,6,1,0,16,32,0,96,144,144,144,96,4,8,8,6, - 1,0,64,160,0,96,144,144,144,96,4,8,8,6,1,0, - 80,160,0,96,144,144,144,96,4,7,7,6,1,0,160,0, - 96,144,144,144,96,5,5,5,6,0,1,32,0,248,0,32, - 6,6,6,6,0,0,4,56,88,104,72,176,6,8,8,6, - 0,0,32,16,0,216,72,72,72,52,6,8,8,6,0,0, - 16,32,0,216,72,72,72,52,6,8,8,6,0,0,32,80, - 0,216,72,72,72,52,6,7,7,6,0,0,80,0,216,72, - 72,72,52,5,10,10,6,0,254,16,32,0,216,72,72,72, - 48,32,192,5,9,9,6,0,254,192,64,112,72,72,72,112, - 64,224,5,9,9,6,0,254,80,0,216,72,72,72,48,32, - 192}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 6, '1' Height: 7 - Calculated Max Values w= 6 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 - Font Bounding box w=10 h=16 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 6 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR08r[1157] U8G_FONT_SECTION("u8g_font_courR08r") = { - 0,10,16,254,252,6,1,151,3,21,32,127,254,8,254,7, - 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, - 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, - 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, - 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, - 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, - 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, - 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, - 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, - 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, - 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, - 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, - 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, - 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, - 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, - 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, - 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, - 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, - 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, - 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, - 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, - 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, - 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, - 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, - 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, - 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, - 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, - 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, - 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, - 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, - 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, - 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, - 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, - 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, - 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, - 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, - 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, - 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, - 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, - 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, - 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, - 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, - 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, - 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, - 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, - 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, - 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, - 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, - 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, - 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, - 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, - 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, - 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, - 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, - 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, - 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, - 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, - 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, - 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, - 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, - 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, - 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, - 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, - 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, - 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, - 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, - 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, - 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, - 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, - 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, - 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, - 6,2,254,128,64,64,64,32,64,64,64,128,4,2,2,6, - 1,3,80,160,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w=10 h=13 x= 4 y= 8 dx= 9 dy= 0 ascent=12 len=24 - Font Bounding box w=14 h=20 x=-3 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR10[3052] U8G_FONT_SECTION("u8g_font_courR10") = { - 0,14,20,253,251,9,1,224,3,220,32,255,253,12,253,10, - 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, - 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, - 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, - 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, - 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, - 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, - 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, - 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, - 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, - 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, - 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, - 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, - 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, - 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, - 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, - 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, - 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, - 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, - 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, - 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, - 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, - 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, - 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, - 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, - 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, - 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, - 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, - 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, - 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, - 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, - 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, - 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, - 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, - 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, - 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, - 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, - 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, - 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, - 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, - 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, - 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, - 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, - 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, - 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, - 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, - 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, - 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, - 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, - 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, - 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, - 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, - 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, - 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, - 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, - 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, - 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, - 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, - 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, - 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, - 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, - 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, - 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, - 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, - 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, - 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, - 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, - 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, - 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, - 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, - 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, - 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, - 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, - 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, - 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, - 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, - 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, - 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, - 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, - 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, - 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, - 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, - 100,152,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,9,0,1,1,9,9,9,4,254,128, - 128,0,128,128,128,128,128,128,5,9,9,9,2,0,32,32, - 120,136,128,136,112,32,32,7,9,9,9,1,0,24,36,32, - 32,120,32,32,66,252,6,6,6,9,1,1,180,72,132,132, - 72,180,7,9,9,9,1,0,238,68,68,40,124,16,124,16, - 56,1,11,11,9,3,254,128,128,128,128,0,0,128,128,128, - 128,128,6,10,10,9,1,255,60,68,64,240,136,68,60,8, - 136,240,5,1,1,9,2,8,216,8,9,9,9,0,0,60, - 66,153,165,161,165,153,66,60,4,6,6,9,2,3,192,32, - 224,176,0,240,8,7,7,9,0,0,17,34,68,204,68,34, - 17,7,3,3,9,1,3,254,2,2,6,1,1,9,1,4, - 252,8,9,9,9,0,0,60,66,185,165,185,169,165,66,60, - 4,1,1,9,2,8,240,4,4,4,9,2,6,96,144,144, - 96,7,7,7,9,1,1,16,16,254,16,16,0,254,4,6, - 6,9,2,4,96,144,16,32,64,240,4,6,6,9,2,4, - 96,144,96,16,144,96,4,2,2,9,2,8,48,192,8,10, - 10,9,0,253,198,66,66,66,66,70,123,64,64,64,7,10, - 10,9,1,255,126,148,148,148,116,20,20,20,20,62,2,2, - 2,9,3,3,192,192,3,3,3,9,2,253,64,32,224,3, - 6,6,9,3,4,64,192,64,64,64,224,4,6,6,9,2, - 3,96,144,144,96,0,240,8,7,7,9,0,0,136,68,34, - 51,34,68,136,10,10,20,9,255,0,64,0,193,0,66,0, - 68,0,68,128,233,128,18,128,20,128,39,192,64,128,10,10, - 20,9,255,0,64,0,193,0,66,0,68,0,69,128,234,64, - 16,64,16,128,33,0,67,192,10,10,20,9,255,0,96,0, - 145,0,98,0,20,0,148,128,105,128,18,128,20,128,39,192, - 64,128,5,9,9,9,2,254,32,32,0,32,96,128,128,136, - 112,9,12,24,9,0,0,48,0,12,0,0,0,56,0,8, - 0,20,0,20,0,34,0,62,0,65,0,65,0,247,128,9, - 12,24,9,0,0,12,0,48,0,0,0,56,0,8,0,20, - 0,20,0,34,0,62,0,65,0,65,0,247,128,9,12,24, - 9,0,0,8,0,20,0,0,0,56,0,8,0,20,0,20, - 0,34,0,62,0,65,0,65,0,247,128,9,12,24,9,0, - 0,26,0,44,0,0,0,56,0,8,0,20,0,20,0,34, - 0,62,0,65,0,65,0,247,128,9,11,22,9,0,0,54, - 0,0,0,56,0,8,0,20,0,20,0,34,0,62,0,65, - 0,65,0,247,128,9,12,24,9,0,0,24,0,36,0,24, - 0,56,0,8,0,20,0,20,0,34,0,62,0,65,0,65, - 0,247,128,9,9,18,9,255,0,31,128,12,128,20,0,20, - 128,39,128,60,128,68,0,68,128,239,128,7,12,12,9,1, - 253,58,70,130,128,128,128,128,66,60,16,8,56,7,12,12, - 9,1,0,96,24,0,254,66,66,72,120,72,66,66,254,7, - 12,12,9,1,0,12,48,0,254,66,66,72,120,72,66,66, - 254,7,12,12,9,1,0,16,40,0,254,66,66,72,120,72, - 66,66,254,7,11,11,9,1,0,108,0,254,66,66,72,120, - 72,66,66,254,5,12,12,9,2,0,192,48,0,248,32,32, - 32,32,32,32,32,248,5,12,12,9,2,0,24,96,0,248, - 32,32,32,32,32,32,32,248,5,12,12,9,2,0,32,80, - 0,248,32,32,32,32,32,32,32,248,5,11,11,9,2,0, - 216,0,248,32,32,32,32,32,32,32,248,8,9,9,9,0, - 0,252,66,65,65,241,65,65,66,252,8,12,12,9,0,0, - 26,44,0,231,98,82,82,74,74,70,70,226,8,12,12,9, - 0,0,48,12,0,60,66,129,129,129,129,129,66,60,8,12, - 12,9,0,0,12,48,0,60,66,129,129,129,129,129,66,60, - 8,12,12,9,0,0,16,40,0,60,66,129,129,129,129,129, - 66,60,8,12,12,9,0,0,26,44,0,60,66,129,129,129, - 129,129,66,60,8,11,11,9,0,0,102,0,60,66,129,129, - 129,129,129,66,60,7,7,7,9,1,1,130,68,40,16,40, - 68,130,9,9,18,9,255,0,30,128,33,0,66,128,68,128, - 72,128,80,128,32,128,97,0,158,0,8,12,12,9,0,0, - 48,12,0,231,66,66,66,66,66,66,66,60,8,12,12,9, - 0,0,12,48,0,231,66,66,66,66,66,66,66,60,8,12, - 12,9,0,0,16,40,0,231,66,66,66,66,66,66,66,60, - 8,11,11,9,0,0,102,0,231,66,66,66,66,66,66,66, - 60,7,12,12,9,1,0,12,48,0,238,68,68,40,40,16, - 16,16,124,7,9,9,9,0,0,224,64,124,66,66,66,124, - 64,224,7,9,9,9,0,0,56,68,68,88,68,66,66,82, - 204,7,10,10,9,1,0,96,24,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,24,96,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,16,40,0,120,132,4,124,132,140, - 118,7,10,10,9,1,0,52,88,0,120,132,4,124,132,140, - 118,7,9,9,9,1,0,108,0,120,132,4,124,132,140,118, - 7,10,10,9,1,0,48,72,48,120,132,4,124,132,140,118, - 8,7,7,9,0,0,118,137,9,127,136,137,118,7,10,10, - 9,1,253,58,70,130,128,128,66,60,16,8,56,7,10,10, - 9,1,0,96,24,0,56,68,130,254,128,66,60,7,10,10, - 9,1,0,12,48,0,56,68,130,254,128,66,60,7,10,10, - 9,1,0,16,40,0,56,68,130,254,128,66,60,7,9,9, - 9,1,0,108,0,56,68,130,254,128,66,60,5,10,10,9, - 2,0,192,48,0,224,32,32,32,32,32,248,5,10,10,9, - 2,0,48,192,0,224,32,32,32,32,32,248,5,10,10,9, - 2,0,32,80,0,224,32,32,32,32,32,248,5,9,9,9, - 2,0,216,0,224,32,32,32,32,32,248,8,12,12,9,0, - 0,2,228,24,40,68,60,66,129,129,129,66,60,8,10,10, - 9,0,0,26,44,0,220,98,66,66,66,66,231,8,10,10, - 9,0,0,48,12,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,12,48,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,16,40,0,60,66,129,129,129,66,60,8,10,10, - 9,0,0,26,44,0,60,66,129,129,129,66,60,8,9,9, - 9,0,0,108,0,60,66,129,129,129,66,60,8,7,7,9, - 0,1,24,24,0,255,0,24,24,8,7,7,9,0,0,61, - 70,137,145,161,66,188,8,10,10,9,0,0,48,12,0,198, - 66,66,66,66,70,59,8,10,10,9,0,0,12,48,0,198, - 66,66,66,66,70,59,8,10,10,9,0,0,16,40,0,198, - 66,66,66,66,70,59,8,9,9,9,0,0,108,0,198,66, - 66,66,66,70,59,8,13,13,9,0,253,6,24,0,231,66, - 66,36,36,24,8,16,16,120,8,12,12,9,0,253,192,64, - 92,98,65,65,65,98,92,64,64,240,8,12,12,9,0,253, - 54,0,231,66,66,36,36,24,8,16,16,120}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 9, '1' Height: 10 - Calculated Max Values w= 9 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=11 len=18 - Font Bounding box w=14 h=20 x=-3 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR10r[1443] U8G_FONT_SECTION("u8g_font_courR10r") = { - 0,14,20,253,251,9,1,224,3,220,32,127,253,11,253,10, - 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, - 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, - 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, - 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, - 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, - 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, - 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, - 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, - 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, - 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, - 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, - 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, - 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, - 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, - 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, - 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, - 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, - 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, - 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, - 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, - 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, - 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, - 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, - 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, - 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, - 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, - 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, - 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, - 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, - 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, - 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, - 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, - 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, - 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, - 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, - 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, - 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, - 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, - 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, - 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, - 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, - 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, - 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, - 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, - 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, - 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, - 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, - 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, - 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, - 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, - 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, - 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, - 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, - 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, - 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, - 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, - 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, - 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, - 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, - 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, - 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, - 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, - 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, - 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, - 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, - 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, - 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, - 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, - 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, - 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, - 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, - 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, - 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, - 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, - 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, - 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, - 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, - 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, - 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, - 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, - 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, - 100,152,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=14 len=28 - Font Bounding box w=15 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR12[3471] U8G_FONT_SECTION("u8g_font_courR12") = { - 0,15,24,253,250,10,2,12,4,92,32,255,253,14,253,11, - 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, - 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, - 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, - 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, - 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, - 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, - 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, - 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, - 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, - 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, - 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, - 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, - 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, - 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, - 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, - 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, - 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, - 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, - 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, - 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, - 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, - 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, - 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, - 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, - 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, - 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, - 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, - 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, - 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, - 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, - 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, - 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, - 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, - 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, - 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, - 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, - 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, - 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, - 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, - 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, - 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, - 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, - 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, - 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, - 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, - 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, - 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, - 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, - 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, - 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, - 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, - 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, - 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, - 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, - 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, - 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, - 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, - 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, - 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, - 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, - 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, - 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, - 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, - 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, - 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, - 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, - 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, - 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, - 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, - 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, - 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, - 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, - 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, - 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, - 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, - 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, - 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, - 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, - 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, - 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, - 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, - 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, - 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, - 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, - 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, - 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, - 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, - 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, - 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, - 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, - 3,10,1,3,96,146,12,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,10,0,1,1,10, - 10,10,4,253,128,128,0,128,128,128,128,128,128,128,5,10, - 10,10,2,0,32,32,120,136,128,128,136,112,32,32,8,10, - 10,10,1,0,28,34,32,32,248,32,32,32,65,255,7,7, - 7,10,1,1,130,124,68,68,68,124,130,9,10,20,10,0, - 0,227,128,65,0,34,0,34,0,20,0,62,0,8,0,62, - 0,8,0,62,0,1,12,12,10,4,254,128,128,128,128,128, - 0,0,128,128,128,128,128,9,12,24,10,0,255,31,0,33, - 0,33,0,112,0,140,0,131,0,96,128,24,128,7,0,66, - 0,66,0,124,0,4,2,2,10,3,8,144,144,10,10,20, - 10,0,0,30,0,33,0,64,128,142,64,144,64,144,64,142, - 64,64,128,33,0,30,0,5,7,7,10,2,3,112,8,120, - 136,120,0,248,7,7,7,10,1,0,18,36,72,144,72,36, - 18,7,4,4,10,1,2,254,2,2,2,7,1,1,10,1, - 4,254,10,10,20,10,0,0,30,0,33,0,64,128,156,64, - 146,64,156,64,146,64,64,128,33,0,30,0,5,1,1,10, - 2,8,248,5,5,5,10,2,6,112,136,136,136,112,7,9, - 9,10,1,0,16,16,16,254,16,16,16,0,254,4,6,6, - 10,2,5,96,144,32,64,144,240,4,6,6,10,3,5,96, - 144,32,16,144,96,3,3,3,10,4,8,32,64,128,8,10, - 10,10,1,253,198,66,66,66,66,70,123,64,64,64,7,12, - 12,10,1,255,62,84,148,148,148,84,52,20,20,20,20,62, - 2,2,2,10,4,4,192,192,3,4,4,10,3,253,64,64, - 32,224,5,6,6,10,2,5,32,224,32,32,32,248,5,7, - 7,10,2,3,112,136,136,136,112,0,248,7,7,7,10,1, - 0,144,72,36,18,36,72,144,10,11,22,10,0,0,32,0, - 224,64,32,128,33,0,34,0,252,128,9,128,18,128,36,128, - 71,192,0,128,10,11,22,10,0,0,32,0,224,64,32,128, - 33,0,34,0,253,128,10,64,16,128,33,0,66,64,3,192, - 10,11,22,10,0,0,96,0,144,64,32,128,17,0,146,0, - 100,128,9,128,18,128,36,128,71,192,0,128,6,10,10,10, - 1,253,16,16,0,16,16,96,128,132,132,120,9,14,28,10, - 0,0,32,0,16,0,8,0,0,0,120,0,20,0,20,0, - 34,0,34,0,34,0,62,0,65,0,65,0,227,128,9,14, - 28,10,0,0,4,0,8,0,16,0,0,0,120,0,20,0, - 20,0,34,0,34,0,34,0,62,0,65,0,65,0,227,128, - 9,14,28,10,0,0,8,0,20,0,34,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,13,26,10,0,0,50,0,76,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,13,26,10,0,0,36,0,36,0,0,0,120,0, - 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, - 227,128,9,14,28,10,0,0,24,0,36,0,36,0,24,0, - 120,0,20,0,20,0,34,0,34,0,34,0,62,0,65,0, - 65,0,227,128,9,10,20,10,0,0,127,128,40,128,40,128, - 74,0,78,0,122,0,72,128,136,128,136,128,223,128,8,13, - 13,10,1,253,29,99,65,128,128,128,128,65,99,28,16,8, - 56,7,14,14,10,1,0,32,16,8,0,254,66,66,72,120, - 72,64,66,66,254,7,14,14,10,1,0,4,8,16,0,254, - 66,66,72,120,72,64,66,66,254,7,14,14,10,1,0,16, - 40,68,0,254,66,66,72,120,72,64,66,66,254,7,13,13, - 10,1,0,36,36,0,254,66,66,72,120,72,64,66,66,254, - 7,14,14,10,1,0,32,16,8,0,254,16,16,16,16,16, - 16,16,16,254,7,14,14,10,1,0,8,16,32,0,254,16, - 16,16,16,16,16,16,16,254,7,14,14,10,1,0,16,40, - 68,0,254,16,16,16,16,16,16,16,16,254,7,13,13,10, - 1,0,68,68,0,254,16,16,16,16,16,16,16,16,254,8, - 10,10,10,1,0,248,70,66,65,241,65,65,66,70,248,9, - 13,26,10,0,0,25,0,38,0,0,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,243,0,8, - 14,14,10,1,0,32,16,8,0,60,66,66,129,129,129,129, - 66,66,60,8,14,14,10,1,0,4,8,16,0,60,66,66, - 129,129,129,129,66,66,60,8,14,14,10,1,0,8,20,34, - 0,60,66,66,129,129,129,129,66,66,60,8,13,13,10,1, - 0,50,76,0,60,66,66,129,129,129,129,66,66,60,8,13, - 13,10,1,0,36,36,0,60,66,66,129,129,129,129,66,66, - 60,7,7,7,10,1,1,130,68,40,16,40,68,130,8,10, - 10,10,1,0,61,66,66,133,137,145,161,66,66,188,9,14, - 28,10,0,0,16,0,8,0,4,0,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,14,28,10,0,0,2,0,4,0,8,0,0,0,247,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 28,0,9,14,28,10,0,0,8,0,20,0,34,0,0,0, - 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, - 34,0,28,0,9,13,26,10,0,0,34,0,34,0,0,0, - 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, - 34,0,28,0,9,14,28,10,0,0,2,0,4,0,8,0, - 0,0,227,128,65,0,34,0,34,0,20,0,8,0,8,0, - 8,0,8,0,62,0,8,10,10,10,1,0,224,64,124,66, - 65,66,124,64,64,224,7,11,11,10,1,0,56,68,68,72, - 88,68,66,66,66,82,204,7,11,11,10,1,0,32,16,8, - 0,56,68,4,124,132,132,122,7,11,11,10,1,0,4,8, - 16,0,56,68,4,124,132,132,122,7,11,11,10,1,0,16, - 40,68,0,56,68,4,124,132,132,122,7,10,10,10,1,0, - 50,76,0,56,68,4,124,132,132,122,7,10,10,10,1,0, - 36,36,0,56,68,4,124,132,132,122,7,12,12,10,1,0, - 24,36,36,24,0,56,68,4,124,132,132,122,9,7,14,10, - 0,0,55,0,72,128,8,128,127,128,136,0,136,128,119,0, - 7,10,10,10,1,253,58,70,130,128,128,66,60,16,8,56, - 7,11,11,10,1,0,32,16,8,0,56,68,130,254,128,66, - 60,7,11,11,10,1,0,4,8,16,0,56,68,130,254,128, - 66,60,7,11,11,10,1,0,16,40,68,0,56,68,130,254, - 128,66,60,7,10,10,10,1,0,36,36,0,56,68,130,254, - 128,66,60,7,11,11,10,1,0,32,16,8,0,112,16,16, - 16,16,16,254,7,11,11,10,1,0,8,16,32,0,112,16, - 16,16,16,16,254,7,11,11,10,1,0,16,40,68,0,112, - 16,16,16,16,16,254,7,10,10,10,1,0,72,72,0,112, - 16,16,16,16,16,254,7,11,11,10,1,0,230,24,104,4, - 60,66,130,130,130,68,56,8,10,10,10,1,0,50,76,0, - 220,98,66,66,66,66,231,7,11,11,10,1,0,32,16,8, - 0,56,68,130,130,130,68,56,7,11,11,10,1,0,8,16, - 32,0,56,68,130,130,130,68,56,7,11,11,10,1,0,16, - 40,68,0,56,68,130,130,130,68,56,7,10,10,10,1,0, - 50,76,0,56,68,130,130,130,68,56,7,10,10,10,1,0, - 68,68,0,56,68,130,130,130,68,56,8,7,7,10,1,1, - 24,24,0,255,0,24,24,7,9,9,10,1,255,2,58,68, - 138,146,162,68,184,128,8,11,11,10,1,0,32,16,8,0, - 198,66,66,66,66,70,59,8,11,11,10,1,0,4,8,16, - 0,198,66,66,66,66,70,59,8,11,11,10,1,0,16,40, - 68,0,198,66,66,66,66,70,59,8,10,10,10,1,0,36, - 36,0,198,66,66,66,66,70,59,9,14,28,10,0,253,2, - 0,4,0,8,0,0,0,227,128,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,120,0,8,14,14,10,1, - 253,192,64,64,64,92,98,65,65,65,98,92,64,64,240,9, - 13,26,10,0,253,18,0,18,0,0,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,16,0,120,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 11 - Calculated Max Values w=10 h=13 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 - Font Bounding box w=15 h=24 x=-3 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR12r[1592] U8G_FONT_SECTION("u8g_font_courR12r") = { - 0,15,24,253,250,10,2,12,4,92,32,127,253,12,253,11, - 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, - 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, - 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, - 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, - 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, - 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, - 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, - 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, - 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, - 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, - 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, - 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, - 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, - 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, - 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, - 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, - 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, - 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, - 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, - 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, - 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, - 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, - 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, - 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, - 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, - 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, - 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, - 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, - 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, - 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, - 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, - 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, - 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, - 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, - 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, - 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, - 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, - 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, - 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, - 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, - 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, - 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, - 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, - 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, - 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, - 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, - 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, - 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, - 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, - 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, - 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, - 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, - 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, - 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, - 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, - 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, - 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, - 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, - 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, - 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, - 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, - 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, - 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, - 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, - 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, - 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, - 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, - 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, - 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, - 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, - 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, - 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, - 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, - 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, - 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, - 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, - 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, - 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, - 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, - 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, - 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, - 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, - 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, - 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, - 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, - 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, - 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, - 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, - 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, - 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, - 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, - 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, - 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, - 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, - 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, - 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, - 3,10,1,3,96,146,12,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=11 h=16 x= 5 y=10 dx=11 dy= 0 ascent=15 len=32 - Font Bounding box w=16 h=26 x=-3 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR14[4276] U8G_FONT_SECTION("u8g_font_courR14") = { - 0,16,26,253,249,11,2,74,5,74,32,255,252,15,252,12, - 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, - 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, - 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, - 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, - 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, - 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, - 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, - 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, - 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, - 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, - 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, - 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, - 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, - 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, - 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, - 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, - 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, - 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, - 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, - 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, - 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, - 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, - 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, - 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, - 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, - 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, - 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, - 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, - 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, - 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, - 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, - 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, - 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, - 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, - 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, - 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, - 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, - 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, - 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, - 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, - 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, - 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, - 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, - 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, - 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, - 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, - 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, - 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, - 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, - 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, - 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, - 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, - 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, - 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, - 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, - 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, - 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, - 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, - 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, - 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, - 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, - 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, - 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, - 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, - 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, - 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, - 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, - 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, - 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, - 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, - 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, - 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, - 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, - 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, - 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, - 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, - 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, - 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, - 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, - 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, - 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, - 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, - 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, - 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, - 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, - 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, - 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, - 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, - 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, - 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, - 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, - 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, - 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, - 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, - 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, - 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, - 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, - 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, - 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, - 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, - 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, - 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, - 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, - 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, - 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, - 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, - 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, - 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, - 96,153,6,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,11,0,1,2,12,12,11,4,252, - 192,192,0,0,128,128,192,192,192,192,192,192,6,12,12,11, - 2,0,16,16,16,60,68,132,128,128,68,56,16,16,8,11, - 11,11,2,0,28,34,32,32,16,252,16,32,33,65,126,6, - 7,7,11,2,2,132,120,132,132,132,120,132,9,11,22,11, - 1,0,227,128,65,0,34,0,34,0,20,0,20,0,127,0, - 8,0,127,0,8,0,62,0,1,15,15,11,5,253,128,128, - 128,128,128,128,0,0,0,128,128,128,128,128,128,7,14,14, - 11,2,254,62,66,66,64,112,140,130,98,28,6,130,130,132, - 252,4,2,2,11,3,10,144,144,11,11,22,11,0,0,31, - 0,96,192,79,64,145,32,160,32,160,32,160,32,145,32,78, - 64,96,192,31,0,6,8,8,11,2,3,112,8,120,136,152, - 236,0,252,10,8,16,11,1,0,24,192,49,128,99,0,198, - 0,198,0,99,0,49,128,24,192,9,4,8,11,1,3,255, - 128,0,128,0,128,0,128,8,1,1,11,1,5,255,11,11, - 22,11,0,0,31,0,96,192,94,64,145,32,145,32,158,32, - 148,32,146,32,81,64,96,128,31,0,5,1,1,11,3,10, - 248,5,5,5,11,3,6,112,136,136,136,112,9,9,18,11, - 1,1,8,0,8,0,8,0,255,128,8,0,8,0,8,0, - 0,0,255,128,5,7,7,11,3,5,112,136,8,16,32,64, - 248,5,7,7,11,3,5,112,136,8,48,8,136,112,3,3, - 3,11,4,9,32,64,128,9,12,24,11,1,252,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,125,128,64,0,64, - 0,64,0,64,0,8,14,14,11,1,254,63,74,138,138,138, - 74,58,10,10,10,10,10,10,59,2,2,2,11,4,5,192, - 192,3,3,3,11,4,253,64,32,192,5,7,7,11,3,5, - 32,224,32,32,32,32,248,6,8,8,11,2,3,120,132,132, - 132,132,120,0,252,10,8,16,11,0,0,198,0,99,0,49, - 128,24,192,24,192,49,128,99,0,198,0,11,12,24,11,0, - 0,32,0,224,64,32,128,33,0,33,0,34,64,252,192,9, - 64,10,64,19,224,32,64,0,224,11,12,24,11,0,0,32, - 0,224,64,32,128,33,0,33,0,34,192,253,32,8,32,8, - 64,16,128,33,0,3,224,11,12,24,11,0,0,112,0,136, - 64,8,128,49,0,9,0,138,64,116,192,9,64,10,64,19, - 224,32,64,0,224,6,11,11,11,2,253,24,24,0,16,16, - 112,128,128,132,132,120,11,15,30,11,0,0,16,0,8,0, - 4,0,0,0,60,0,4,0,10,0,10,0,17,0,17,0, - 32,128,63,128,64,64,64,64,241,224,11,15,30,11,0,0, - 1,0,2,0,4,0,0,0,60,0,4,0,10,0,10,0, - 17,0,17,0,32,128,63,128,64,64,64,64,241,224,11,15, - 30,11,0,0,12,0,18,0,33,0,0,0,60,0,4,0, - 10,0,10,0,17,0,17,0,32,128,63,128,64,64,64,64, - 241,224,11,14,28,11,0,0,25,0,38,0,0,0,60,0, - 4,0,10,0,10,0,17,0,17,0,32,128,63,128,64,64, - 64,64,241,224,11,14,28,11,0,0,18,0,18,0,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,11,15,30,11,0,0,12,0,18,0, - 18,0,12,0,60,0,4,0,10,0,10,0,17,0,17,0, - 32,128,63,128,64,64,64,64,241,224,11,11,22,11,255,0, - 31,224,6,32,10,32,10,0,18,64,19,192,62,64,34,0, - 66,32,66,32,231,224,9,14,28,11,1,253,30,128,97,128, - 64,128,128,0,128,0,128,0,128,0,128,0,64,128,97,0, - 30,0,8,0,4,0,24,0,8,15,15,11,1,0,32,16, - 8,0,255,65,65,65,72,120,72,65,65,65,255,8,15,15, - 11,1,0,4,8,16,0,255,65,65,65,72,120,72,65,65, - 65,255,8,15,15,11,1,0,24,36,66,0,255,65,65,65, - 72,120,72,65,65,65,255,8,14,14,11,1,0,36,36,0, - 255,65,65,65,72,120,72,65,65,65,255,7,15,15,11,2, - 0,32,16,8,0,254,16,16,16,16,16,16,16,16,16,254, - 7,15,15,11,2,0,8,16,32,0,254,16,16,16,16,16, - 16,16,16,16,254,7,15,15,11,2,0,24,36,66,0,254, - 16,16,16,16,16,16,16,16,16,254,7,14,14,11,2,0, - 36,36,0,254,16,16,16,16,16,16,16,16,16,254,8,11, - 11,11,1,0,252,66,65,65,65,241,65,65,65,66,252,9, - 14,28,11,1,0,25,0,38,0,0,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,15,30,11,1,0,16,0,8,0,4,0,0,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,9,15,30,11,1,0,4,0,8,0,16, - 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, - 128,128,128,65,0,99,0,28,0,9,15,30,11,1,0,12, - 0,18,0,33,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, - 11,1,0,25,0,38,0,0,0,28,0,99,0,65,0,128, - 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, - 14,28,11,1,0,18,0,18,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,9,18,11,1,1,128,128,65,0,34,0,20,0,8, - 0,20,0,34,0,65,0,128,128,11,11,22,11,0,0,14, - 32,49,192,32,128,65,64,66,64,68,64,72,64,80,64,32, - 128,113,128,142,0,10,15,30,11,0,0,16,0,8,0,4, - 0,0,0,243,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,10,15,30,11,0,0,2, - 0,4,0,8,0,0,0,243,192,64,128,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,33,0,30,0,10,15,30, - 11,0,0,12,0,18,0,33,0,0,0,243,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,33,0,30, - 0,10,14,28,11,0,0,18,0,18,0,0,0,243,192,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,9,15,30,11,1,0,2,0,4,0,8,0,0, - 0,227,128,65,0,34,0,34,0,20,0,20,0,8,0,8, - 0,8,0,8,0,62,0,9,11,22,11,1,0,224,0,64, - 0,126,0,65,0,64,128,64,128,65,0,126,0,64,0,64, - 0,224,0,8,11,11,11,1,0,60,66,66,68,88,70,65, - 65,65,73,230,9,12,24,11,1,0,32,0,16,0,8,0, - 0,0,60,0,66,0,2,0,126,0,130,0,130,0,134,0, - 123,128,9,12,24,11,1,0,4,0,8,0,16,0,0,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,24,0,36,0,66,0,0,0,60,0, - 66,0,2,0,126,0,130,0,130,0,134,0,123,128,9,11, - 22,11,1,0,50,0,76,0,0,0,60,0,66,0,2,0, - 126,0,130,0,130,0,134,0,123,128,9,11,22,11,1,0, - 36,0,36,0,0,0,60,0,66,0,2,0,126,0,130,0, - 130,0,134,0,123,128,9,13,26,11,1,0,24,0,36,0, - 36,0,24,0,0,0,60,0,66,0,2,0,126,0,130,0, - 130,0,134,0,123,128,11,8,16,11,0,0,113,128,138,64, - 4,32,127,224,132,0,132,0,138,32,113,192,8,11,11,11, - 1,253,61,67,129,128,128,128,67,60,16,8,48,8,12,12, - 11,1,0,32,16,8,0,60,66,129,255,128,128,67,60,8, - 12,12,11,1,0,2,4,8,0,60,66,129,255,128,128,67, - 60,8,12,12,11,1,0,24,36,66,0,60,66,129,255,128, - 128,67,60,8,11,11,11,1,0,36,36,0,60,66,129,255, - 128,128,67,60,7,12,12,11,2,0,32,16,8,0,112,16, - 16,16,16,16,16,254,7,12,12,11,2,0,8,16,32,0, - 112,16,16,16,16,16,16,254,7,12,12,11,2,0,48,72, - 132,0,112,16,16,16,16,16,16,254,7,11,11,11,2,0, - 72,72,0,112,16,16,16,16,16,16,254,8,12,12,11,1, - 0,114,140,52,66,62,67,129,129,129,129,66,60,9,11,22, - 11,1,0,50,0,76,0,0,0,222,0,97,0,65,0,65, - 0,65,0,65,0,65,0,227,128,8,12,12,11,1,0,32, - 16,8,0,60,66,129,129,129,129,66,60,8,12,12,11,1, - 0,4,8,16,0,60,66,129,129,129,129,66,60,8,12,12, - 11,1,0,24,36,66,0,60,66,129,129,129,129,66,60,8, - 11,11,11,1,0,50,76,0,60,66,129,129,129,129,66,60, - 8,11,11,11,1,0,36,36,0,60,66,129,129,129,129,66, - 60,8,9,9,11,1,1,24,24,0,0,255,0,0,24,24, - 8,8,8,11,1,0,61,66,133,137,145,161,66,188,9,12, - 24,11,1,0,32,0,16,0,8,0,0,0,195,0,65,0, - 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,11, - 1,0,2,0,4,0,8,0,0,0,195,0,65,0,65,0, - 65,0,65,0,65,0,67,0,61,128,9,12,24,11,1,0, - 24,0,36,0,66,0,0,0,195,0,65,0,65,0,65,0, - 65,0,65,0,67,0,61,128,9,11,22,11,1,0,36,0, - 36,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, - 67,0,61,128,9,16,32,11,1,252,2,0,4,0,8,0, - 0,0,227,128,65,0,65,0,34,0,34,0,20,0,20,0, - 8,0,8,0,16,0,16,0,248,0,9,16,32,11,1,252, - 192,0,64,0,64,0,64,0,94,0,97,0,64,128,64,128, - 64,128,64,128,97,0,94,0,64,0,64,0,64,0,240,0, - 9,15,30,11,1,252,36,0,36,0,0,0,227,128,65,0, - 65,0,34,0,34,0,20,0,20,0,8,0,8,0,16,0, - 16,0,248,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=11 h=16 x= 5 y= 9 dx=11 dy= 0 ascent=13 len=26 - Font Bounding box w=16 h=26 x=-3 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR14r[1988] U8G_FONT_SECTION("u8g_font_courR14r") = { - 0,16,26,253,249,11,2,74,5,74,32,127,252,13,252,12, - 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, - 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, - 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, - 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, - 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, - 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, - 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, - 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, - 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, - 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, - 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, - 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, - 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, - 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, - 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, - 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, - 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, - 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, - 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, - 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, - 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, - 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, - 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, - 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, - 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, - 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, - 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, - 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, - 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, - 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, - 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, - 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, - 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, - 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, - 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, - 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, - 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, - 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, - 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, - 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, - 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, - 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, - 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, - 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, - 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, - 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, - 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, - 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, - 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, - 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, - 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, - 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, - 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, - 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, - 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, - 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, - 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, - 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, - 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, - 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, - 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, - 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, - 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, - 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, - 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, - 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, - 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, - 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, - 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, - 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, - 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, - 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, - 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, - 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, - 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, - 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, - 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, - 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, - 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, - 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, - 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, - 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, - 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, - 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, - 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, - 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, - 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, - 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, - 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, - 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, - 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, - 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, - 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, - 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, - 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, - 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, - 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, - 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, - 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, - 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, - 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, - 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, - 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, - 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, - 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, - 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, - 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, - 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, - 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, - 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, - 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, - 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, - 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, - 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, - 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, - 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, - 96,153,6,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 15 - Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=19 len=42 - Font Bounding box w=23 h=32 x=-5 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR18[6152] U8G_FONT_SECTION("u8g_font_courR18") = { - 0,23,32,251,248,14,3,161,7,151,32,255,251,19,251,16, - 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, - 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, - 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, - 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, - 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, - 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, - 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, - 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, - 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, - 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, - 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, - 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, - 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, - 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, - 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, - 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, - 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, - 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, - 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, - 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, - 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, - 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, - 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, - 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, - 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, - 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, - 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, - 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, - 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, - 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, - 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, - 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, - 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, - 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, - 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, - 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, - 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, - 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, - 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, - 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, - 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, - 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, - 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, - 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, - 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, - 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, - 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, - 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, - 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, - 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, - 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, - 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, - 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, - 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, - 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, - 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, - 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, - 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, - 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, - 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, - 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, - 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, - 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, - 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, - 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, - 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, - 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, - 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, - 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, - 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, - 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, - 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, - 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, - 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, - 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, - 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, - 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, - 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, - 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, - 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, - 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, - 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, - 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, - 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, - 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, - 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, - 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, - 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, - 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, - 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, - 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, - 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, - 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, - 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, - 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, - 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, - 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, - 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, - 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, - 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, - 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, - 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, - 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, - 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, - 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, - 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, - 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, - 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, - 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, - 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, - 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, - 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, - 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, - 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, - 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, - 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, - 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, - 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, - 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, - 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, - 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, - 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, - 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, - 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, - 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, - 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, - 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, - 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, - 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, - 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, - 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, - 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, - 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, - 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, - 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, - 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, - 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, - 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, - 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, - 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, - 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, - 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, - 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, - 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, - 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, - 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, - 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, - 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, - 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, - 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, - 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, - 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, - 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, - 192,12,3,6,15,1,6,60,48,102,96,195,192,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,15,0,1,2,16,16,15,6,251,192,192,0,0,0,128, - 128,128,192,192,192,192,192,192,192,192,8,16,16,15,3,0, - 8,8,8,8,29,99,65,128,128,128,64,99,28,8,8,8, - 10,14,28,15,2,0,14,0,17,128,32,0,32,0,32,0, - 32,0,254,0,16,0,16,0,16,0,16,0,32,64,64,64, - 255,128,10,10,20,15,2,2,128,64,94,128,33,0,64,128, - 64,128,64,128,64,128,33,0,94,128,128,64,11,14,28,15, - 2,0,241,224,64,64,32,128,32,128,17,0,17,0,10,0, - 127,192,4,0,4,0,127,192,4,0,4,0,63,128,1,19, - 19,15,7,253,128,128,128,128,128,128,128,128,0,0,0,128, - 128,128,128,128,128,128,128,10,18,36,15,2,254,15,192,16, - 64,32,64,32,64,32,0,112,0,140,0,130,0,65,0,32, - 128,16,64,12,64,3,128,1,0,129,0,129,0,130,0,252, - 0,7,2,2,15,4,12,198,198,13,13,26,15,1,1,15, - 128,48,96,64,16,70,144,137,136,144,136,144,8,144,8,136, - 136,71,16,64,16,48,96,15,128,7,9,9,15,4,5,120, - 132,60,68,132,140,118,0,254,12,11,22,15,1,0,6,48, - 12,96,24,192,49,128,99,0,198,0,99,0,49,128,24,192, - 12,96,6,48,11,4,8,15,2,5,255,224,0,32,0,32, - 0,32,10,1,2,15,2,7,255,192,13,13,26,15,1,1, - 15,128,48,96,64,16,79,16,136,136,136,136,143,8,137,8, - 136,136,72,144,64,16,48,96,15,128,7,1,1,15,4,12, - 254,7,7,7,15,4,9,56,68,130,130,130,68,56,11,13, - 26,15,2,1,4,0,4,0,4,0,4,0,4,0,255,224, - 4,0,4,0,4,0,4,0,4,0,0,0,255,224,6,9, - 9,15,4,7,56,68,132,4,8,16,32,68,252,6,9,9, - 15,4,7,120,132,4,8,56,4,4,132,120,5,4,4,15, - 5,12,24,48,96,192,12,16,32,15,1,251,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,48,160, - 47,48,32,0,32,0,32,0,32,0,32,0,11,18,36,15, - 2,254,31,224,100,128,196,128,196,128,196,128,196,128,196,128, - 100,128,28,128,4,128,4,128,4,128,4,128,4,128,4,128, - 4,128,4,128,60,224,3,3,3,15,6,6,224,224,224,4, - 5,5,15,5,252,32,32,16,144,96,7,9,9,15,4,7, - 48,208,16,16,16,16,16,16,254,7,9,9,15,4,5,56, - 68,130,130,130,68,56,0,254,12,11,22,15,1,0,198,0, - 99,0,49,128,24,192,12,96,6,48,12,96,24,192,49,128, - 99,0,198,0,14,16,32,15,0,0,48,0,208,0,16,8, - 16,16,16,32,16,32,16,64,16,152,255,40,2,72,4,72, - 4,136,9,8,17,252,0,8,0,28,14,16,32,15,0,0, - 48,0,208,0,16,8,16,16,16,32,16,32,16,64,16,184, - 255,68,2,132,4,4,4,8,8,16,16,32,0,68,0,252, - 14,16,32,15,0,0,120,0,132,0,4,8,8,16,56,32, - 4,32,4,64,132,152,121,40,2,72,4,72,4,136,9,8, - 17,252,0,8,0,28,8,14,14,15,3,253,24,24,0,0, - 8,8,48,64,128,128,128,129,65,62,13,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,63,0,5,0,8,128, - 8,128,8,128,16,64,16,64,16,64,63,224,32,32,32,32, - 64,16,64,16,240,120,13,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,63,0,5,0,8,128,8,128,8,128, - 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, - 240,120,13,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, - 16,64,63,224,32,32,32,32,64,16,64,16,240,120,13,18, - 36,15,1,0,28,64,54,192,35,128,0,0,63,0,5,0, - 8,128,8,128,8,128,16,64,16,64,16,64,63,224,32,32, - 32,32,64,16,64,16,240,120,13,18,36,15,1,0,24,192, - 24,192,0,0,0,0,63,0,5,0,8,128,8,128,8,128, - 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, - 240,120,13,19,38,15,1,0,7,0,8,128,8,128,8,128, - 7,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, - 16,64,63,224,32,32,32,32,64,16,64,16,240,120,15,14, - 28,15,255,0,15,254,2,130,4,130,4,130,4,136,8,136, - 8,248,8,136,31,136,16,130,16,130,32,130,32,130,243,254, - 11,18,36,15,2,252,15,32,48,224,96,96,64,32,128,0, - 128,0,128,0,128,0,128,0,128,0,64,32,96,96,48,192, - 15,0,4,0,2,0,18,0,12,0,12,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,255,224,32,32,32,32, - 32,32,34,0,34,0,62,0,34,0,34,0,32,16,32,16, - 32,16,32,16,255,240,12,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,255,224,32,32,32,32,32,32,34,0, - 34,0,62,0,34,0,34,0,32,16,32,16,32,16,32,16, - 255,240,12,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,255,224,32,32,32,32,32,32,34,0,34,0,62,0, - 34,0,34,0,32,16,32,16,32,16,32,16,255,240,12,18, - 36,15,1,0,25,128,25,128,0,0,0,0,255,224,32,32, - 32,32,32,32,34,0,34,0,62,0,34,0,34,0,32,16, - 32,16,32,16,32,16,255,240,9,19,38,15,3,0,96,0, - 48,0,24,0,12,0,0,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,255,128,9,19,38,15,3,0,3,0,6,0,12,0, - 24,0,0,0,255,128,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, - 9,19,38,15,3,0,24,0,60,0,102,0,195,0,0,0, - 255,128,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,255,128,9,18,36,15, - 3,0,99,0,99,0,0,0,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,13,14,28,15,0,0,127,192,32,48, - 32,16,32,8,32,8,32,8,252,8,32,8,32,8,32,8, - 32,8,32,16,32,48,127,192,14,18,36,15,0,0,14,32, - 27,96,17,192,0,0,240,252,48,16,40,16,36,16,36,16, - 34,16,34,16,33,16,33,16,32,144,32,144,32,80,32,48, - 252,48,13,19,38,15,1,0,24,0,12,0,6,0,3,0, - 0,0,15,128,48,96,96,48,64,16,128,8,128,8,128,8, - 128,8,128,8,128,8,64,16,96,48,48,96,15,128,13,19, - 38,15,1,0,0,96,0,192,1,128,3,0,0,0,15,128, - 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, - 128,8,64,16,96,48,48,96,15,128,13,19,38,15,1,0, - 3,0,7,128,12,192,24,96,0,0,15,128,48,96,96,48, - 64,16,128,8,128,8,128,8,128,8,128,8,128,8,64,16, - 96,48,48,96,15,128,13,18,36,15,1,0,14,32,27,96, - 17,192,0,0,15,128,48,96,96,48,64,16,128,8,128,8, - 128,8,128,8,128,8,128,8,64,16,96,48,48,96,15,128, - 13,18,36,15,1,0,24,192,24,192,0,0,0,0,15,128, - 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, - 128,8,64,16,96,48,48,96,15,128,11,11,22,15,2,2, - 128,32,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,128,32,14,15,30,15,0,0,0,4,7,200, - 24,48,48,48,32,72,64,136,64,136,65,8,66,8,68,8, - 72,8,48,16,48,48,88,96,135,128,12,19,38,15,1,0, - 24,0,12,0,6,0,3,0,0,0,249,240,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,32,64,31,128,12,19,38,15,1,0,0,192,1,128, - 3,0,6,0,0,0,249,240,64,32,64,32,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,32,64, - 31,128,12,19,38,15,1,0,6,0,15,0,25,128,48,192, - 0,0,249,240,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,32,64,32,64,32,64,32,32,64,31,128,12,18, - 36,15,1,0,25,128,25,128,0,0,0,0,249,240,64,32, - 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,32,32,64,31,128,13,19,38,15,1,0,0,192, - 1,128,3,0,6,0,0,0,240,120,32,32,16,64,16,64, - 8,128,8,128,5,0,2,0,2,0,2,0,2,0,2,0, - 2,0,31,192,11,14,28,15,2,0,248,0,32,0,32,0, - 63,128,32,64,32,32,32,32,32,32,32,32,32,64,63,128, - 32,0,32,0,248,0,11,16,32,15,2,0,14,0,17,0, - 32,128,32,128,32,128,32,128,33,0,39,0,32,192,32,64, - 32,32,32,32,32,32,36,32,36,64,243,128,11,16,32,15, - 2,0,48,0,24,0,12,0,6,0,0,0,30,0,97,0, - 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, - 126,224,11,16,32,15,2,0,1,128,3,0,6,0,12,0, - 0,0,30,0,97,0,0,128,0,128,0,128,63,128,64,128, - 128,128,128,128,129,128,126,224,11,16,32,15,2,0,12,0, - 30,0,51,0,97,128,0,0,30,0,97,0,0,128,0,128, - 0,128,63,128,64,128,128,128,128,128,129,128,126,224,11,15, - 30,15,2,0,56,128,109,128,71,0,0,0,30,0,97,0, - 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, - 126,224,11,15,30,15,2,0,49,128,49,128,0,0,0,0, - 30,0,97,0,0,128,0,128,0,128,63,128,64,128,128,128, - 128,128,129,128,126,224,11,17,34,15,2,0,14,0,17,0, - 17,0,17,0,14,0,0,0,30,0,97,0,0,128,0,128, - 0,128,63,128,64,128,128,128,128,128,129,128,126,224,15,11, - 22,15,0,0,28,112,98,140,65,4,1,2,1,2,63,254, - 65,0,129,0,129,2,130,132,124,120,11,15,30,15,2,252, - 31,64,96,192,64,64,128,64,128,0,128,0,128,0,128,0, - 64,96,96,192,31,0,4,0,2,0,18,0,12,0,11,16, - 32,15,2,0,48,0,24,0,12,0,6,0,0,0,31,0, - 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, - 96,96,31,128,11,16,32,15,2,0,1,128,3,0,6,0, - 12,0,0,0,31,0,96,192,64,64,128,32,128,32,255,224, - 128,0,128,0,64,0,96,96,31,128,11,16,32,15,2,0, - 12,0,30,0,51,0,97,128,0,0,31,0,96,192,64,64, - 128,32,128,32,255,224,128,0,128,0,64,0,96,96,31,128, - 11,15,30,15,2,0,49,128,49,128,0,0,0,0,31,0, - 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, - 96,96,31,128,9,16,32,15,3,0,96,0,48,0,24,0, - 12,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,255,128,9,16,32,15,3,0, - 3,0,6,0,12,0,24,0,0,0,120,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, - 9,16,32,15,3,0,24,0,60,0,102,0,195,0,0,0, - 120,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,9,15,30,15,3,0,99,0,99,0, - 0,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,255,128,12,16,32,15,1,0, - 124,192,135,0,13,0,48,128,0,64,15,224,48,96,32,48, - 64,16,64,16,64,16,64,16,64,16,32,32,48,96,15,128, - 13,15,30,15,1,0,28,64,54,192,35,128,0,0,231,128, - 40,64,48,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,248,248,11,16,32,15,2,0,24,0,12,0,6,0, - 3,0,0,0,31,0,96,192,64,64,128,32,128,32,128,32, - 128,32,128,32,64,64,96,192,31,0,11,16,32,15,2,0, - 1,128,3,0,6,0,12,0,0,0,31,0,96,192,64,64, - 128,32,128,32,128,32,128,32,128,32,64,64,96,192,31,0, - 11,16,32,15,2,0,12,0,30,0,51,0,97,128,0,0, - 31,0,96,192,64,64,128,32,128,32,128,32,128,32,128,32, - 64,64,96,192,31,0,11,15,30,15,2,0,28,64,54,192, - 35,128,0,0,31,0,96,192,64,64,128,32,128,32,128,32, - 128,32,128,32,64,64,96,192,31,0,11,15,30,15,2,0, - 49,128,49,128,0,0,0,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,11,9, - 18,15,2,3,14,0,14,0,0,0,0,0,255,224,0,0, - 0,0,14,0,14,0,12,12,24,15,1,0,0,16,15,160, - 48,64,32,160,65,16,66,16,68,16,72,16,80,16,32,32, - 80,96,143,128,12,16,32,15,1,0,24,0,12,0,6,0, - 3,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,32,96,16,160,15,48,12,16,32,15,1,0, - 0,192,1,128,3,0,6,0,0,0,224,224,32,32,32,32, - 32,32,32,32,32,32,32,32,32,32,32,96,16,160,15,48, - 12,16,32,15,1,0,6,0,15,0,25,128,48,192,0,0, - 224,224,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,96,16,160,15,48,12,15,30,15,1,0,25,128,25,128, - 0,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,32,96,16,160,15,48,12,21,42,15,1,251, - 0,192,1,128,3,0,6,0,0,0,240,240,64,32,64,32, - 32,64,32,64,32,128,16,128,17,0,9,0,10,0,6,0, - 4,0,4,0,8,0,8,0,254,0,13,21,42,15,1,251, - 224,0,32,0,32,0,32,0,32,0,39,192,56,48,48,16, - 32,8,32,8,32,8,32,8,32,8,48,16,56,48,39,192, - 32,0,32,0,32,0,32,0,252,0,12,20,40,15,1,251, - 25,128,25,128,0,0,0,0,240,240,64,32,64,32,32,64, - 32,64,32,128,16,128,17,0,9,0,10,0,6,0,4,0, - 4,0,8,0,8,0,254,0}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 15 - Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=17 len=40 - Font Bounding box w=23 h=32 x=-5 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =16 descent=-5 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR18r[2862] U8G_FONT_SECTION("u8g_font_courR18r") = { - 0,23,32,251,248,14,3,161,7,151,32,127,251,17,251,16, - 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, - 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, - 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, - 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, - 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, - 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, - 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, - 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, - 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, - 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, - 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, - 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, - 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, - 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, - 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, - 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, - 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, - 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, - 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, - 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, - 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, - 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, - 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, - 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, - 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, - 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, - 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, - 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, - 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, - 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, - 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, - 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, - 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, - 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, - 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, - 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, - 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, - 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, - 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, - 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, - 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, - 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, - 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, - 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, - 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, - 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, - 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, - 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, - 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, - 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, - 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, - 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, - 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, - 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, - 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, - 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, - 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, - 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, - 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, - 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, - 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, - 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, - 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, - 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, - 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, - 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, - 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, - 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, - 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, - 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, - 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, - 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, - 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, - 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, - 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, - 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, - 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, - 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, - 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, - 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, - 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, - 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, - 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, - 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, - 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, - 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, - 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, - 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, - 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, - 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, - 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, - 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, - 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, - 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, - 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, - 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, - 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, - 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, - 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, - 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, - 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, - 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, - 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, - 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, - 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, - 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, - 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, - 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, - 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, - 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, - 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, - 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, - 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, - 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, - 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, - 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, - 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, - 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, - 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, - 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, - 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, - 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, - 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, - 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, - 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, - 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, - 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, - 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, - 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, - 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, - 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, - 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, - 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, - 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, - 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, - 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, - 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, - 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, - 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, - 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, - 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, - 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, - 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, - 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, - 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, - 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, - 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, - 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, - 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, - 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, - 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, - 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, - 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, - 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, - 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, - 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, - 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, - 192,12,3,6,15,1,6,60,48,102,96,195,192,255}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 20 - Calculated Max Values w=19 h=28 x= 9 y=17 dx=20 dy= 0 ascent=26 len=81 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =26 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24[8729] U8G_FONT_SECTION("u8g_font_courR24") = { - 0,28,42,250,246,19,4,184,10,129,32,255,250,26,250,21, - 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, - 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, - 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, - 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, - 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, - 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, - 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, - 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, - 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, - 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, - 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, - 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, - 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, - 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, - 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, - 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, - 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, - 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, - 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, - 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, - 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, - 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, - 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, - 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, - 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, - 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, - 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, - 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, - 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, - 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, - 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, - 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, - 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, - 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, - 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, - 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, - 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, - 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, - 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, - 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, - 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, - 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, - 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, - 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, - 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, - 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, - 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, - 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, - 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, - 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, - 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, - 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, - 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, - 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, - 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, - 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, - 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, - 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, - 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, - 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, - 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, - 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, - 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, - 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, - 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, - 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, - 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, - 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, - 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, - 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, - 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, - 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, - 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, - 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, - 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, - 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, - 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, - 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, - 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, - 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, - 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, - 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, - 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, - 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, - 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, - 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, - 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, - 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, - 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, - 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, - 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, - 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, - 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, - 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, - 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, - 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, - 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, - 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, - 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, - 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, - 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, - 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, - 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, - 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, - 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, - 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, - 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, - 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, - 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, - 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, - 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, - 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, - 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, - 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, - 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, - 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, - 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, - 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, - 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, - 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, - 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, - 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, - 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, - 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, - 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, - 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, - 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, - 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, - 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, - 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, - 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, - 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, - 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, - 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, - 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, - 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, - 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, - 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, - 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, - 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, - 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, - 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, - 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, - 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, - 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, - 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, - 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, - 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, - 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, - 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, - 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, - 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, - 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, - 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, - 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, - 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, - 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, - 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, - 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, - 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, - 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, - 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, - 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, - 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, - 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, - 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, - 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, - 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, - 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, - 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, - 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, - 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, - 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, - 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, - 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, - 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, - 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, - 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, - 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, - 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, - 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, - 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, - 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, - 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, - 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, - 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, - 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, - 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, - 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, - 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, - 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, - 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, - 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, - 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, - 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, - 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, - 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, - 199,24,129,176,0,224,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,20,0,1,5,20,20, - 20,7,250,112,248,112,0,0,0,0,32,32,32,32,32,32, - 32,112,112,112,112,112,32,11,20,40,20,4,0,4,0,4, - 0,4,0,4,0,31,128,48,224,96,32,192,32,128,0,128, - 0,128,0,128,0,192,0,96,32,48,224,31,128,4,0,4, - 0,4,0,4,0,14,19,38,20,2,0,3,224,12,48,8, - 24,24,0,16,0,16,0,16,0,24,0,8,0,255,128,8, - 0,8,0,8,0,8,0,8,0,24,0,16,4,48,12,127, - 248,13,13,26,20,3,3,192,24,111,176,56,224,32,32,96, - 48,64,16,64,16,64,16,96,48,32,32,56,224,111,176,192, - 24,15,19,38,20,2,0,248,62,96,12,48,24,16,16,24, - 48,8,32,12,96,6,192,2,128,3,128,63,248,1,0,1, - 0,63,248,1,0,1,0,1,0,1,0,31,240,1,25,25, - 20,9,252,128,128,128,128,128,128,128,128,128,128,128,0,0, - 0,0,128,128,128,128,128,128,128,128,128,128,14,23,46,20, - 3,254,7,248,28,8,16,8,16,8,16,0,24,0,124,0, - 198,0,131,0,129,192,192,96,112,56,24,12,12,4,7,4, - 1,132,0,252,0,96,0,32,64,32,64,32,64,224,127,128, - 10,3,6,20,5,17,97,128,243,192,97,128,19,19,57,20, - 0,0,1,240,0,7,28,0,28,7,0,48,1,128,33,232, - 128,99,24,192,70,8,64,204,8,96,136,0,32,136,0,32, - 136,0,32,140,0,32,198,12,96,67,24,64,97,240,192,48, - 1,128,24,3,0,15,30,0,1,240,0,9,12,24,20,5, - 7,60,0,102,0,2,0,2,0,126,0,198,0,130,0,206, - 0,123,128,0,0,0,0,255,128,16,14,28,20,2,0,1, - 131,3,6,6,12,12,24,24,48,48,96,96,192,225,192,96, - 192,48,96,24,48,12,24,6,12,3,6,14,6,12,20,3, - 6,255,252,0,4,0,4,0,4,0,4,0,4,15,1,2, - 20,2,9,255,254,19,19,57,20,0,0,3,248,0,14,14, - 0,24,3,0,48,1,128,103,224,192,66,48,64,194,24,96, - 130,8,32,130,8,32,130,24,32,130,48,32,131,224,32,194, - 48,96,66,24,64,103,12,192,48,1,128,24,3,0,14,14, - 0,3,248,0,9,2,4,20,5,17,255,128,255,128,9,10, - 20,20,5,11,62,0,99,0,65,0,193,128,128,128,128,128, - 193,128,65,0,99,0,62,0,15,16,32,20,2,1,1,0, - 1,0,1,0,1,0,1,0,1,0,255,254,1,0,1,0, - 1,0,1,0,1,0,1,0,0,0,0,0,255,254,8,14, - 14,20,5,7,60,102,67,193,3,2,6,12,24,16,48,96, - 193,255,8,14,14,20,6,7,60,102,195,1,1,6,28,6, - 3,1,1,195,102,60,6,5,5,20,9,17,12,24,48,96, - 192,16,20,40,20,1,250,240,60,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,24,12,24,28,28, - 52,23,231,16,0,16,0,16,0,16,0,16,0,16,0,15, - 23,46,20,2,254,15,254,57,16,113,16,97,16,225,16,193, - 16,193,16,225,16,97,16,113,16,61,16,15,16,1,16,1, - 16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1, - 16,31,190,5,4,4,20,7,7,112,248,248,112,5,5,5, - 20,7,251,32,32,48,152,240,7,14,14,20,6,7,112,208, - 16,16,16,16,16,16,16,16,16,16,16,254,9,12,24,20, - 5,7,28,0,119,0,65,0,193,128,128,128,193,128,65,0, - 119,0,28,0,0,0,0,0,255,128,16,14,28,20,2,0, - 193,128,96,192,48,96,24,48,12,24,6,12,3,6,3,135, - 3,6,6,12,12,24,24,48,48,96,96,192,18,21,63,20, - 1,0,48,0,192,240,0,128,16,1,128,16,3,0,16,2, - 0,16,6,0,16,12,0,16,8,0,16,24,0,16,48,0, - 16,35,0,16,103,0,254,197,0,0,141,0,1,153,0,3, - 17,0,2,49,0,6,63,128,12,1,0,8,1,0,24,7, - 128,18,21,63,20,1,0,48,0,128,240,1,128,16,3,0, - 16,6,0,16,4,0,16,12,0,16,24,0,16,16,0,16, - 48,0,16,96,0,16,71,128,16,204,192,253,152,64,3,0, - 192,2,0,128,6,1,128,12,7,0,8,12,0,24,24,0, - 48,48,0,96,63,192,19,21,63,20,0,0,60,0,0,102, - 0,96,3,0,192,3,1,128,6,3,0,28,6,0,6,12, - 0,3,8,0,1,24,0,1,48,0,195,33,128,102,99,128, - 60,194,128,1,134,128,1,12,128,3,8,128,6,24,128,12, - 31,192,24,0,128,48,0,128,0,3,192,11,20,40,20,4, - 250,14,0,31,0,14,0,0,0,0,0,0,0,0,0,4, - 0,4,0,12,0,24,0,112,0,64,0,192,0,128,0,128, - 0,192,32,96,32,49,224,31,0,19,26,78,20,0,0,6, - 0,0,3,0,0,1,128,0,0,192,0,0,96,0,0,0, - 0,0,0,0,31,224,0,0,160,0,1,176,0,1,16,0, - 1,16,0,3,24,0,2,8,0,2,8,0,6,12,0,4, - 4,0,4,4,0,12,6,0,15,254,0,8,2,0,24,3, - 0,16,1,0,16,1,0,48,1,128,254,15,224,19,26,78, - 20,0,0,0,12,0,0,24,0,0,48,0,0,96,0,0, - 192,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, - 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, - 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, - 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, - 224,19,26,78,20,0,0,0,64,0,0,224,0,1,176,0, - 3,24,0,6,12,0,0,0,0,0,0,0,31,224,0,0, - 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, - 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, - 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, - 1,128,254,15,224,19,24,72,20,0,0,3,132,0,6,236, - 0,4,56,0,0,0,0,0,0,0,31,224,0,0,160,0, - 1,176,0,1,16,0,1,16,0,3,24,0,2,8,0,2, - 8,0,6,12,0,4,4,0,4,4,0,12,6,0,15,254, - 0,8,2,0,24,3,0,16,1,0,16,1,0,48,1,128, - 254,15,224,19,24,72,20,0,0,6,12,0,15,30,0,6, - 12,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, - 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, - 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, - 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, - 224,19,26,78,20,0,0,0,224,0,1,176,0,1,16,0, - 1,16,0,1,176,0,0,224,0,0,0,0,31,224,0,0, - 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, - 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, - 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, - 1,128,254,15,224,18,19,57,20,1,0,31,255,128,2,64, - 128,2,64,128,6,64,128,4,64,128,4,64,128,4,64,0, - 12,68,0,8,68,0,8,124,0,8,68,0,24,68,0,31, - 192,0,16,64,0,48,64,64,32,64,64,32,64,64,32,64, - 64,251,255,192,15,24,48,20,2,251,7,196,28,116,48,12, - 96,12,64,4,192,4,128,0,128,0,128,0,128,0,128,0, - 128,0,128,0,192,0,64,2,96,4,48,28,28,112,7,192, - 1,0,1,0,1,128,4,192,7,128,15,26,52,20,1,0, - 12,0,6,0,3,0,1,128,0,192,0,0,0,0,255,252, - 16,4,16,4,16,4,16,4,16,4,16,64,16,64,16,64, - 31,192,16,64,16,64,16,0,16,2,16,2,16,2,16,2, - 16,2,255,254,15,26,52,20,1,0,0,48,0,96,0,192, - 1,128,3,0,0,0,0,0,255,252,16,4,16,4,16,4, - 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, - 16,0,16,2,16,2,16,2,16,2,16,2,255,254,15,26, - 52,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, - 0,0,255,252,16,4,16,4,16,4,16,4,16,4,16,64, - 16,64,16,64,31,192,16,64,16,64,16,0,16,2,16,2, - 16,2,16,2,16,2,255,254,15,24,48,20,1,0,12,48, - 30,120,12,48,0,0,0,0,255,252,16,4,16,4,16,4, - 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, - 16,0,16,2,16,2,16,2,16,2,16,2,255,254,11,26, - 52,20,4,0,48,0,24,0,12,0,6,0,3,0,0,0, - 0,0,255,224,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,255,224,11,26,52,20,4,0,0,192, - 1,128,3,0,6,0,12,0,0,0,0,0,255,224,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 255,224,11,26,52,20,4,0,4,0,14,0,27,0,49,128, - 96,192,0,0,0,0,255,224,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,255,224,11,24,48,20, - 4,0,96,192,241,224,96,192,0,0,0,0,255,224,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 255,224,15,19,38,20,1,0,255,192,32,112,32,24,32,12, - 32,4,32,6,32,2,32,2,32,2,254,2,32,2,32,2, - 32,2,32,6,32,4,32,12,32,24,32,112,255,192,18,24, - 72,20,0,0,3,132,0,6,236,0,4,56,0,0,0,0, - 0,0,0,248,31,192,28,1,0,20,1,0,22,1,0,18, - 1,0,19,1,0,17,129,0,16,129,0,16,193,0,16,65, - 0,16,97,0,16,33,0,16,49,0,16,25,0,16,9,0, - 16,13,0,16,5,0,16,7,0,127,3,0,15,26,52,20, - 2,0,24,0,12,0,6,0,3,0,1,128,0,0,0,0, - 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, - 48,24,28,112,7,192,15,26,52,20,2,0,0,24,0,48, - 0,96,0,192,1,128,0,0,0,0,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, - 15,26,52,20,2,0,1,0,3,128,6,192,12,96,24,48, - 0,0,0,0,7,192,28,112,48,24,96,12,64,4,192,6, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,32,8,48,24,28,112,7,192,15,24,48,20,2,0, - 14,16,27,176,16,224,0,0,0,0,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, - 15,24,48,20,2,0,48,48,120,120,48,48,0,0,0,0, - 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, - 48,24,28,112,7,192,13,14,28,20,3,1,128,8,192,24, - 96,48,48,96,24,192,13,128,7,0,7,0,13,128,24,192, - 48,96,96,48,192,24,128,8,16,21,42,20,2,255,0,1, - 7,195,28,118,48,28,32,24,96,60,64,36,192,102,128,194, - 129,130,129,2,131,2,134,2,204,6,72,4,120,12,48,8, - 48,24,124,48,199,224,128,0,17,26,78,20,1,0,6,0, - 0,3,0,0,1,128,0,0,192,0,0,96,0,0,0,0, - 0,0,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,17,26,78,20, - 1,0,0,24,0,0,48,0,0,96,0,0,192,0,1,128, - 0,0,0,0,0,0,0,254,63,128,32,2,0,32,2,0, - 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,48,6,0,16,4,0,24,12,0,14,56,0,3,224,0, - 17,26,78,20,1,0,0,128,0,1,192,0,3,96,0,6, - 48,0,12,24,0,0,0,0,0,0,0,254,63,128,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, - 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,48,6,0,16,4,0,24,12,0,14,56, - 0,3,224,0,17,24,72,20,1,0,12,24,0,30,60,0, - 12,24,0,0,0,0,0,0,0,254,63,128,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, - 32,2,0,48,6,0,16,4,0,24,12,0,14,56,0,3, - 224,0,15,26,52,20,2,0,0,48,0,96,0,192,1,128, - 3,0,0,0,0,0,248,62,96,12,48,24,16,16,24,48, - 8,32,12,96,6,192,2,128,3,128,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,31,240,16,19,38,20, - 1,0,254,0,16,0,16,0,16,0,31,224,16,60,16,6, - 16,2,16,3,16,3,16,2,16,6,16,60,31,224,16,0, - 16,0,16,0,16,0,254,0,15,21,42,20,1,0,7,192, - 12,96,8,32,24,48,16,16,16,16,16,16,16,48,16,96, - 17,192,16,112,16,24,16,4,16,6,16,2,16,2,16,2, - 17,6,17,4,17,140,248,248,15,22,44,20,2,0,24,0, - 12,0,6,0,3,0,1,128,0,0,0,0,0,0,15,128, - 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, - 128,16,128,16,128,48,192,240,127,158,15,22,44,20,2,0, - 0,96,0,192,1,128,3,0,6,0,0,0,0,0,0,0, - 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, - 192,16,128,16,128,16,128,48,192,240,127,158,15,22,44,20, - 2,0,1,0,3,128,6,192,12,96,24,48,0,0,0,0, - 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, - 112,48,192,16,128,16,128,16,128,48,192,240,127,158,15,20, - 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, - 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, - 192,16,128,16,128,16,128,48,192,240,127,158,15,20,40,20, - 2,0,48,192,121,224,48,192,0,0,0,0,0,0,15,128, - 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, - 128,16,128,16,128,48,192,240,127,158,15,23,46,20,2,0, - 7,0,13,128,8,128,8,128,13,128,7,0,0,0,0,0, - 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, - 112,48,192,16,128,16,128,16,128,48,192,240,127,158,19,14, - 42,20,0,0,31,15,128,113,152,192,0,240,64,0,96,96, - 0,96,32,30,64,32,115,255,224,192,192,0,128,64,0,128, - 96,0,128,224,0,193,80,96,99,88,192,62,79,128,14,19, - 38,20,3,251,15,200,56,104,96,24,64,24,192,8,128,8, - 128,0,128,0,128,0,192,0,64,4,96,28,56,112,15,192, - 2,0,2,0,3,0,9,128,15,0,14,22,44,20,2,0, - 24,0,12,0,6,0,3,0,1,128,0,0,0,0,0,0, - 15,192,56,112,96,24,64,8,192,12,128,4,255,252,128,0, - 128,0,128,0,192,0,96,12,56,56,15,224,14,22,44,20, - 2,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, - 128,0,128,0,128,0,192,0,96,12,56,56,15,224,14,22, - 44,20,2,0,1,0,3,128,6,192,12,96,24,48,0,0, - 0,0,0,0,15,192,56,112,96,24,64,8,192,12,128,4, - 255,252,128,0,128,0,128,0,192,0,96,12,56,56,15,224, - 14,20,40,20,2,0,48,96,120,240,48,96,0,0,0,0, - 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, - 128,0,128,0,128,0,192,0,96,12,56,56,15,224,13,22, - 44,20,3,0,48,0,24,0,12,0,6,0,3,0,0,0, - 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, - 13,22,44,20,3,0,0,192,1,128,3,0,6,0,12,0, - 0,0,0,0,0,0,126,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, - 255,248,13,21,42,20,3,0,4,0,14,0,27,0,49,128, - 96,192,0,0,0,0,126,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, - 255,248,13,20,40,20,3,0,97,128,243,192,97,128,0,0, - 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, - 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, - 15,20,40,20,2,0,124,12,79,56,1,224,3,192,14,96, - 56,48,32,24,0,12,15,228,56,54,96,14,192,6,128,2, - 128,2,128,2,192,6,64,4,96,12,24,56,15,224,15,20, - 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, - 227,192,46,112,56,16,48,24,32,8,32,8,32,8,32,8, - 32,8,32,8,32,8,32,8,32,8,248,62,15,22,44,20, - 2,0,12,0,6,0,3,0,1,128,0,192,0,0,0,0, - 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,15,224,15,22, - 44,20,2,0,0,48,0,96,0,192,1,128,3,0,0,0, - 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, - 15,22,44,20,2,0,1,128,3,192,6,96,12,48,24,24, - 0,0,0,0,0,0,15,224,56,56,96,12,64,4,192,6, - 128,2,128,2,128,2,128,2,192,6,64,4,96,12,56,56, - 15,224,15,20,40,20,2,0,14,16,27,176,16,224,0,0, - 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, - 15,20,40,20,2,0,24,96,60,240,24,96,0,0,0,0, - 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,15,224,14,16, - 32,20,2,1,3,0,7,128,3,0,0,0,0,0,0,0, - 0,0,0,0,255,252,0,0,0,0,0,0,0,0,3,0, - 7,128,3,0,15,16,32,20,2,255,0,2,7,230,28,60, - 48,24,64,52,192,102,128,194,129,130,131,2,134,2,204,6, - 88,4,112,24,120,112,207,192,128,0,16,22,44,20,1,0, - 12,0,6,0,3,0,1,128,0,192,0,0,0,0,0,0, - 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,12,24,28,12,52,7,231,16,22,44,20, - 1,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,21, - 42,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, - 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,20, - 40,20,1,0,24,48,60,120,24,48,0,0,0,0,0,0, - 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, - 16,4,16,4,16,12,24,28,12,52,7,231,15,28,56,20, - 2,250,0,48,0,96,0,192,1,128,3,0,0,0,0,0, - 0,0,248,62,64,4,96,12,32,8,48,24,16,16,24,48, - 8,32,12,96,4,64,6,192,2,128,3,128,1,0,3,0, - 2,0,2,0,6,0,4,0,127,128,17,27,81,20,0,250, - 240,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,17,248,0,23,14,0,28,3,0,24,1, - 0,24,1,128,16,0,128,16,0,128,16,0,128,16,0,128, - 24,1,128,24,1,0,28,3,0,23,14,0,17,248,0,16, - 0,0,16,0,0,16,0,0,16,0,0,16,0,0,255,0, - 0,15,25,50,20,2,250,24,24,60,60,24,24,0,0,0, - 0,248,62,64,4,96,12,32,8,48,24,16,16,24,48,8, - 32,12,96,4,64,6,192,2,128,3,128,1,0,3,0,2, - 0,2,0,6,0,4,0,127,128}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=15 h=25 x= 7 y= 9 dx=20 dy= 0 ascent=22 len=50 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =22 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24n[658] U8G_FONT_SECTION("u8g_font_courR24n") = { - 0,28,42,250,246,20,0,0,0,0,42,58,0,22,252,20, - 0,11,13,26,20,4,8,4,0,4,0,4,0,4,0,132, - 32,245,224,31,0,14,0,10,0,27,0,49,128,32,128,96, - 192,15,17,34,20,2,1,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,255,254,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,6,9,9,20,5,252,60, - 60,120,120,96,224,192,192,128,15,1,2,20,2,9,255,254, - 5,4,4,20,7,0,112,248,248,112,11,25,50,20,4,253, - 0,32,0,96,0,64,0,64,0,192,0,128,1,128,1,0, - 3,0,2,0,2,0,6,0,4,0,12,0,8,0,8,0, - 24,0,16,0,48,0,32,0,96,0,64,0,64,0,192,0, - 128,0,11,20,40,20,4,0,31,0,49,128,96,192,64,64, - 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 128,32,128,32,192,96,64,64,64,64,96,192,49,128,31,0, - 11,20,40,20,4,0,12,0,60,0,228,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,255,224,13,20, - 40,20,3,0,15,192,48,96,96,16,64,16,64,16,0,16, - 0,48,0,32,0,96,0,192,1,128,3,0,6,0,12,0, - 24,0,48,0,96,0,192,0,128,8,255,248,13,20,40,20, - 3,0,15,128,56,224,96,48,0,16,0,16,0,16,0,16, - 0,32,0,64,7,128,0,96,0,16,0,8,0,8,0,8, - 0,8,0,24,192,48,112,224,31,128,13,20,40,20,3,0, - 0,192,1,64,1,64,2,64,6,64,4,64,8,64,24,64, - 16,64,32,64,96,64,64,64,128,64,255,248,0,64,0,64, - 0,64,0,64,0,64,3,248,13,20,40,20,3,0,63,240, - 32,0,32,0,32,0,32,0,32,0,32,0,39,128,60,224, - 32,48,0,16,0,24,0,8,0,8,0,8,0,24,192,16, - 96,48,56,224,15,128,12,20,40,20,4,0,7,192,28,32, - 48,0,32,0,96,0,64,0,192,0,143,128,184,224,160,32, - 192,48,192,16,192,16,192,16,192,16,64,16,96,48,32,32, - 56,224,15,128,11,20,40,20,4,0,255,224,128,32,128,32, - 0,96,0,64,0,64,0,192,0,128,0,128,1,128,1,0, - 1,0,3,0,2,0,2,0,2,0,6,0,4,0,4,0, - 4,0,11,20,40,20,4,0,31,0,96,192,64,64,192,96, - 128,32,128,32,192,96,64,64,49,128,31,0,113,192,64,64, - 192,96,128,32,128,32,128,32,192,96,64,64,113,192,31,0, - 12,20,40,20,4,0,31,0,112,192,64,96,192,32,128,48, - 128,48,128,48,128,48,192,80,64,208,115,144,30,16,0,32, - 0,32,0,32,0,64,0,192,1,128,14,0,120,0,5,14, - 14,20,7,0,112,248,248,112,0,0,0,0,0,0,112,248, - 248,112}; -/* - Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 20 - Calculated Max Values w=19 h=26 x= 9 y=17 dx=20 dy= 0 ascent=22 len=60 - Font Bounding box w=28 h=42 x=-6 y=-10 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_courR24r[3991] U8G_FONT_SECTION("u8g_font_courR24r") = { - 0,28,42,250,246,19,4,184,10,129,32,127,250,22,250,21, - 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, - 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, - 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, - 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, - 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, - 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, - 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, - 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, - 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, - 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, - 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, - 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, - 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, - 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, - 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, - 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, - 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, - 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, - 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, - 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, - 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, - 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, - 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, - 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, - 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, - 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, - 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, - 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, - 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, - 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, - 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, - 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, - 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, - 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, - 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, - 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, - 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, - 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, - 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, - 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, - 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, - 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, - 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, - 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, - 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, - 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, - 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, - 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, - 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, - 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, - 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, - 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, - 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, - 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, - 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, - 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, - 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, - 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, - 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, - 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, - 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, - 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, - 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, - 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, - 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, - 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, - 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, - 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, - 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, - 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, - 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, - 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, - 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, - 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, - 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, - 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, - 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, - 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, - 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, - 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, - 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, - 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, - 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, - 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, - 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, - 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, - 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, - 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, - 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, - 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, - 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, - 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, - 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, - 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, - 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, - 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, - 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, - 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, - 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, - 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, - 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, - 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, - 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, - 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, - 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, - 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, - 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, - 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, - 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, - 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, - 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, - 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, - 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, - 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, - 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, - 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, - 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, - 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, - 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, - 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, - 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, - 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, - 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, - 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, - 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, - 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, - 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, - 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, - 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, - 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, - 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, - 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, - 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, - 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, - 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, - 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, - 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, - 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, - 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, - 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, - 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, - 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, - 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, - 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, - 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, - 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, - 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, - 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, - 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, - 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, - 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, - 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, - 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, - 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, - 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, - 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, - 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, - 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, - 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, - 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, - 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, - 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, - 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, - 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, - 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, - 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, - 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, - 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, - 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, - 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, - 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, - 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, - 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, - 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, - 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, - 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, - 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, - 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, - 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, - 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, - 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, - 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, - 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, - 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, - 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, - 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, - 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, - 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, - 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, - 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, - 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, - 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, - 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, - 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, - 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, - 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, - 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, - 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, - 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, - 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, - 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, - 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, - 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, - 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, - 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, - 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, - 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, - 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, - 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, - 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, - 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, - 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, - 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, - 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, - 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, - 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, - 199,24,129,176,0,224,255}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 3, '1' Height: 11 - Calculated Max Values w=16 h=17 x= 7 y= 6 dx=19 dy= 0 ascent=17 len=34 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 1 - X Font ascent =12 descent= 0 - Max Font ascent =17 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[3981] U8G_FONT_SECTION("u8g_font_cu12_67_75") = { - 0,40,30,247,246,3,2,98,5,14,32,255,1,17,254,12, - 0,11,5,10,12,1,4,2,128,1,64,255,224,1,64,2, - 128,5,11,11,6,1,1,32,32,32,32,32,32,168,112,168, - 112,32,11,5,10,12,1,4,32,96,65,128,255,0,65,128, - 32,96,11,5,10,12,1,4,192,128,48,64,31,224,48,64, - 192,128,11,7,14,12,1,3,0,32,32,32,64,32,255,224, - 64,32,32,32,0,32,7,11,11,8,1,1,16,56,84,16, - 16,16,16,16,16,16,254,11,7,14,12,1,3,128,0,128, - 128,128,64,255,224,128,64,128,128,128,0,7,11,11,8,1, - 1,254,16,16,16,16,16,16,16,84,56,16,7,11,11,8, - 1,1,16,56,84,16,16,16,16,16,84,56,254,11,7,14, - 12,1,4,1,192,0,32,32,32,64,32,255,192,64,0,32, - 0,11,7,14,12,1,4,112,0,128,0,128,128,128,64,127, - 224,0,64,0,128,11,7,14,12,1,4,1,192,2,32,34, - 32,66,32,255,192,66,0,34,0,11,7,14,12,1,4,112, - 0,136,0,136,128,136,64,127,224,8,64,8,128,12,5,10, - 13,1,4,38,64,73,32,233,112,80,160,32,64,12,5,10, - 13,1,4,33,64,66,32,255,240,68,32,40,64,4,11,11, - 5,1,1,16,16,32,64,176,208,32,160,160,192,240,6,11, - 11,7,1,1,32,64,252,68,36,4,4,4,4,4,4,6, - 11,11,7,1,1,16,8,252,136,144,128,128,128,128,128,128, - 6,11,11,7,1,1,4,4,4,4,4,4,36,68,252,64, - 32,6,11,11,7,1,1,128,128,128,128,128,128,144,136,252, - 8,16,8,6,6,9,1,2,252,4,4,21,14,4,6,8, - 8,7,1,1,4,4,4,36,68,252,64,32,11,8,16,11, - 1,1,15,128,16,64,32,32,32,32,32,32,168,32,112,0, - 32,0,11,8,16,11,1,1,62,0,65,0,128,128,128,128, - 128,128,130,160,1,192,0,128,9,11,22,10,1,1,255,128, - 0,0,240,0,192,0,160,0,144,0,8,0,4,0,2,0, - 1,0,0,128,12,13,26,13,1,0,128,0,144,0,160,0, - 255,240,160,0,144,0,128,16,0,144,0,80,255,240,0,80, - 0,144,0,16,10,7,14,11,1,2,3,192,67,0,130,128, - 130,128,128,128,65,0,62,0,10,7,14,11,1,2,240,0, - 48,128,80,64,80,64,64,64,32,128,31,0,11,3,6,12, - 1,6,32,0,64,0,255,224,11,3,6,12,1,6,255,224, - 64,0,32,0,3,11,11,4,1,1,128,192,160,128,128,128, - 128,128,128,128,128,3,11,11,4,1,1,32,96,160,32,32, - 32,32,32,32,32,32,11,3,6,12,1,6,0,128,0,64, - 255,224,11,3,6,12,1,6,255,224,0,64,0,128,3,11, - 11,4,1,1,128,128,128,128,128,128,128,128,160,192,128,3, - 11,11,4,1,1,32,32,32,32,32,32,32,32,160,96,32, - 11,11,22,12,1,1,0,128,0,64,255,224,0,64,0,128, - 0,0,32,0,64,0,255,224,64,0,32,0,11,11,22,12, - 1,1,32,128,112,128,168,128,32,128,32,128,32,128,32,128, - 32,128,34,160,33,192,32,128,11,11,22,12,1,1,32,0, - 64,0,255,224,64,0,32,0,0,0,0,128,0,64,255,224, - 0,64,0,128,11,11,22,12,1,1,32,0,64,0,255,224, - 64,0,32,0,0,0,32,0,64,0,255,224,64,0,32,0, - 11,11,22,12,1,1,32,128,113,192,170,160,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,11,11,22,12, - 1,1,0,128,0,64,255,224,0,64,0,128,0,0,0,128, - 0,64,255,224,0,64,0,128,11,11,22,12,1,1,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,32,128,170,160, - 113,192,32,128,11,8,16,12,1,3,32,0,64,0,255,224, - 0,0,0,0,255,224,0,64,0,128,11,8,16,12,1,3, - 0,128,0,64,255,224,0,0,0,0,255,224,64,0,32,0, - 11,7,14,12,1,3,16,128,32,128,127,224,129,0,127,224, - 34,0,18,0,13,7,14,14,1,3,17,64,33,32,127,240, - 130,8,127,240,36,32,20,64,11,7,14,12,1,3,9,0, - 8,128,255,192,16,32,255,192,32,128,33,0,11,7,14,12, - 1,3,16,0,32,0,127,224,128,0,127,224,32,0,16,0, - 7,11,11,8,1,1,16,40,108,170,40,40,40,40,40,40, - 40,11,7,14,12,1,3,1,0,0,128,255,192,0,32,255, - 192,0,128,1,0,7,11,11,8,1,1,40,40,40,40,40, - 40,40,170,108,40,16,12,7,14,12,1,3,16,128,32,64, - 127,224,128,16,127,224,32,64,16,128,7,12,12,8,1,0, - 16,40,108,170,40,40,40,40,170,108,40,16,10,10,20,11, - 1,1,248,0,144,0,136,0,196,0,162,0,17,0,8,128, - 4,64,2,0,1,0,10,10,20,11,1,1,7,192,2,64, - 4,64,8,192,17,64,34,0,68,0,136,0,16,0,32,0, - 10,10,20,11,1,1,32,0,16,0,136,0,68,0,34,0, - 17,64,8,192,4,64,2,64,7,192,10,10,20,11,1,1, - 1,0,2,0,4,64,8,128,17,0,162,0,196,0,136,0, - 144,0,248,0,11,7,14,12,1,3,16,0,63,224,64,0, - 255,224,64,0,63,224,16,0,11,7,14,12,1,3,1,0, - 255,128,0,64,255,224,0,64,255,128,1,0,12,5,10,13, - 1,4,32,0,72,128,245,80,66,32,32,0,12,5,10,13, - 1,4,0,64,17,32,170,240,68,32,0,64,5,11,11,6, - 1,1,32,112,168,32,32,248,32,248,32,32,32,5,11,11, - 6,1,1,32,32,32,248,32,248,32,32,168,112,32,11,5, - 10,12,1,4,32,0,64,0,238,224,64,0,32,0,5,11, - 11,6,1,1,32,112,168,0,32,32,32,0,32,32,32,11, - 5,10,12,1,4,0,128,0,64,238,224,0,64,0,128,5, - 11,11,6,1,1,32,32,32,0,32,32,32,0,168,112,32, - 12,7,14,13,1,3,128,0,144,0,160,0,255,240,160,0, - 144,0,128,0,12,7,14,13,1,3,0,16,0,144,0,80, - 255,240,0,80,0,144,0,16,12,9,18,13,1,2,8,0, - 24,0,47,240,64,16,128,16,64,16,47,240,24,0,8,0, - 9,12,24,10,1,1,8,0,20,0,34,0,65,0,227,128, - 34,0,34,0,34,0,34,0,34,0,34,0,62,0,12,9, - 18,13,1,2,1,0,1,128,255,64,128,32,128,16,128,32, - 255,64,1,128,1,0,9,12,24,10,1,1,62,0,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, - 20,0,8,0,9,17,34,10,1,0,8,0,20,0,34,0, - 65,0,227,128,34,0,34,0,34,0,34,0,34,0,34,0, - 62,0,0,0,62,0,34,0,34,0,62,0,9,14,28,10, - 1,0,8,0,20,0,34,0,65,0,227,128,34,0,34,0, - 34,0,34,0,34,0,34,0,227,128,128,128,255,128,9,14, - 28,10,1,0,8,0,20,0,62,0,65,0,227,128,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,128,128,255,128, - 9,14,28,10,1,0,8,0,28,0,42,0,73,0,235,128, - 42,0,42,0,42,0,42,0,42,0,42,0,235,128,136,128, - 255,128,9,15,30,10,1,2,8,0,20,0,34,0,73,0, - 213,128,34,0,65,0,227,128,34,0,34,0,34,0,34,0, - 34,0,34,0,62,0,9,17,34,10,1,0,8,0,20,0, - 34,0,73,0,213,128,34,0,65,0,227,128,34,0,34,0, - 34,0,34,0,34,0,34,0,227,128,128,128,255,128,14,9, - 18,16,2,2,224,64,160,96,191,208,128,24,128,20,128,24, - 191,208,160,96,224,64,11,11,22,12,1,1,255,224,128,0, - 188,0,176,0,168,0,164,0,130,0,129,0,128,128,128,64, - 128,32,11,11,22,12,1,1,128,32,64,32,32,32,16,32, - 8,32,4,160,2,160,1,160,7,160,0,32,255,224,9,16, - 32,10,1,0,8,0,20,0,34,0,65,0,227,128,34,0, - 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, - 20,0,8,0,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,255,255,255,255,255,255,255,255,255,255,255, - 11,11,22,14,2,1,255,224,255,224,255,224,255,224,255,224, - 255,224,255,224,255,224,255,224,255,224,255,224,11,11,22,14, - 2,1,255,224,128,32,128,32,128,32,128,32,128,32,128,32, - 128,32,128,32,128,32,255,224,11,11,22,14,2,1,63,128, - 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, - 64,64,63,128,11,11,22,14,2,1,255,224,128,32,191,160, - 191,160,191,160,191,160,191,160,191,160,191,160,128,32,255,224, - 11,11,22,14,2,1,255,224,128,32,255,224,128,32,255,224, - 128,32,255,224,128,32,255,224,128,32,255,224,11,11,22,14, - 2,1,255,224,170,160,170,160,170,160,170,160,170,160,170,160, - 170,160,170,160,170,160,255,224,11,11,22,14,2,1,255,224, - 170,160,255,224,170,160,255,224,170,160,255,224,170,160,255,224, - 170,160,255,224,11,11,22,14,2,1,255,224,201,32,164,160, - 146,96,201,32,164,160,146,96,201,32,164,160,146,96,255,224, - 11,11,22,14,2,1,255,224,146,96,164,160,201,32,146,96, - 164,160,201,32,146,96,164,160,201,32,255,224,11,11,22,14, - 2,1,255,224,213,96,170,160,213,96,170,160,213,96,170,160, - 213,96,170,160,213,96,255,224,7,7,7,12,3,3,254,254, - 254,254,254,254,254,7,7,7,12,3,3,254,130,130,130,130, - 130,254,13,6,12,16,2,3,255,248,255,248,255,248,255,248, - 255,248,255,248,13,6,12,16,2,3,255,248,128,8,128,8, - 128,8,128,8,255,248,6,13,13,9,2,254,252,252,252,252, - 252,252,252,252,252,252,252,252,252,6,13,13,9,2,254,252, - 132,132,132,132,132,132,132,132,132,132,132,252,16,6,12,19, - 2,3,31,255,63,254,63,254,127,252,127,252,255,248,16,6, - 12,19,2,3,31,255,32,2,32,2,64,4,64,4,255,248, - 11,12,24,14,2,1,4,0,4,0,14,0,14,0,31,0, - 31,0,63,128,63,128,127,192,127,192,255,224,255,224,11,12, - 24,14,2,1,4,0,4,0,10,0,10,0,17,0,17,0, - 32,128,32,128,64,64,64,64,128,32,255,224,7,8,8,12, - 3,1,16,16,56,56,124,124,254,254,7,8,8,12,3,1, - 16,16,40,40,68,68,130,254,12,11,22,15,2,1,192,0, - 240,0,252,0,255,0,255,192,255,240,255,192,255,0,252,0, - 240,0,192,0,12,11,22,15,2,1,192,0,176,0,140,0, - 131,0,128,192,128,48,128,192,131,0,140,0,176,0,192,0, - 8,7,7,13,3,1,192,240,252,255,252,240,192,8,7,7, - 13,3,1,192,176,140,131,140,176,192,12,7,14,15,2,1, - 192,0,252,0,255,192,255,240,255,192,252,0,192,0,12,7, - 14,15,2,1,192,0,188,0,131,192,128,48,131,192,188,0, - 192,0,11,12,24,14,2,1,255,224,255,224,127,192,127,192, - 63,128,63,128,31,0,31,0,14,0,14,0,4,0,4,0, - 11,12,24,14,2,1,255,224,128,32,64,64,64,64,32,128, - 32,128,17,0,17,0,10,0,10,0,4,0,4,0,7,8, - 8,12,3,1,254,254,124,124,56,56,16,16,7,8,8,12, - 3,1,254,130,68,68,40,40,16,16,12,11,22,15,2,1, - 0,48,0,240,3,240,15,240,63,240,255,240,63,240,15,240, - 3,240,0,240,0,48,12,11,22,15,2,1,0,48,0,208, - 3,16,12,16,48,16,192,16,48,16,12,16,3,16,0,208, - 0,48,8,7,7,13,3,1,3,15,63,255,63,15,3,8, - 7,7,13,3,1,3,13,49,193,49,13,3,12,7,14,15, - 2,1,0,48,3,240,63,240,255,240,63,240,3,240,0,48, - 12,7,14,15,2,1,0,48,3,208,60,16,192,16,60,16, - 3,208,0,48,11,11,22,14,2,1,4,0,14,0,31,0, - 63,128,127,192,255,224,127,192,63,128,31,0,14,0,4,0, - 11,11,22,14,2,1,4,0,10,0,17,0,32,128,64,64, - 128,32,64,64,32,128,17,0,10,0,4,0,11,11,22,14, - 2,1,4,0,10,0,17,0,36,128,78,64,159,32,78,64, - 36,128,17,0,10,0,4,0,11,11,22,14,2,1,31,0, - 96,192,64,64,142,32,159,32,159,32,159,32,142,32,64,64, - 96,192,31,0,7,12,12,8,1,0,16,40,40,68,68,130, - 130,68,68,40,40,16,11,11,22,14,2,1,31,0,96,192, - 64,64,128,32,128,32,128,32,128,32,128,32,64,64,96,192, - 31,0,11,11,22,14,2,1,14,0,32,128,64,64,0,0, - 128,32,128,32,128,32,0,0,64,64,32,128,14,0,11,11, - 22,14,2,1,31,0,106,192,106,192,170,160,170,160,170,160, - 170,160,170,160,106,192,106,192,31,0,11,11,22,14,2,1, - 31,0,96,192,64,64,142,32,145,32,145,32,145,32,142,32, - 64,64,96,192,31,0,11,11,22,14,2,1,31,0,127,192, - 127,192,255,224,255,224,255,224,255,224,255,224,127,192,127,192, - 31,0,11,11,22,14,2,1,31,0,120,192,120,64,248,32, - 248,32,248,32,248,32,248,32,120,64,120,192,31,0,11,11, - 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, - 131,224,131,224,67,192,99,192,31,0,11,11,22,14,2,1, - 31,0,127,192,127,192,255,224,255,224,128,32,128,32,128,32, - 64,64,96,192,31,0,11,11,22,14,2,1,31,0,96,192, - 64,64,128,32,128,32,128,32,255,224,255,224,127,192,127,192, - 31,0,11,11,22,14,2,1,31,0,103,192,71,192,135,224, - 135,224,135,224,128,32,128,32,64,64,96,192,31,0,11,11, - 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, - 255,224,255,224,127,192,127,192,31,0,6,11,11,8,2,1, - 28,124,124,252,252,252,252,252,124,124,28,6,11,11,9,2, - 1,224,248,248,252,252,252,252,252,248,248,224,7,12,12,10, - 2,1,254,254,254,254,254,198,130,130,130,198,254,254,13,13, - 26,16,2,0,255,248,240,120,207,152,223,216,191,232,191,232, - 191,232,191,232,191,232,223,216,207,152,240,120,255,248,13,7, - 14,16,2,6,255,248,240,120,207,152,223,216,191,232,191,232, - 191,232,13,7,14,16,2,0,191,232,191,232,191,232,223,216, - 207,152,240,120,255,248,6,6,6,8,2,6,28,96,64,128, - 128,128,6,6,6,13,7,6,224,24,8,4,4,4,6,6, - 6,13,7,1,4,4,4,8,24,224,6,6,6,8,2,1, - 128,128,128,64,96,28,11,6,12,14,2,6,31,0,96,192, - 64,64,128,32,128,32,128,32,11,6,12,14,2,1,128,32, - 128,32,128,32,64,64,96,192,31,0,12,12,24,15,2,1, - 0,16,0,48,0,112,0,240,1,240,3,240,7,240,15,240, - 31,240,63,240,127,240,255,240,12,12,24,15,2,1,128,0, - 192,0,224,0,240,0,248,0,252,0,254,0,255,0,255,128, - 255,192,255,224,255,240,12,12,24,15,2,1,255,240,255,224, - 255,192,255,128,255,0,254,0,252,0,248,0,240,0,224,0, - 192,0,128,0,12,12,24,15,2,1,255,240,127,240,63,240, - 31,240,15,240,7,240,3,240,1,240,0,240,0,112,0,48, - 0,16,7,7,7,8,1,2,56,68,130,130,130,68,56,11, - 11,22,14,2,1,255,224,248,32,248,32,248,32,248,32,248, - 32,248,32,248,32,248,32,248,32,255,224,11,11,22,14,2, - 1,255,224,131,224,131,224,131,224,131,224,131,224,131,224,131, - 224,131,224,131,224,255,224,11,11,22,14,2,1,255,224,255, - 224,255,160,255,32,254,32,252,32,248,32,240,32,224,32,192, - 32,255,224,11,11,22,14,2,1,255,224,128,96,128,224,129, - 224,131,224,135,224,143,224,159,224,191,224,255,224,255,224,11, - 11,22,14,2,1,255,224,132,32,132,32,132,32,132,32,132, - 32,132,32,132,32,132,32,132,32,255,224,11,12,24,14,2, - 1,4,0,4,0,10,0,10,0,17,0,17,0,32,128,36, - 128,78,64,68,64,128,32,255,224,11,12,24,14,2,1,4, - 0,4,0,14,0,14,0,29,0,29,0,60,128,60,128,124, - 64,124,64,252,32,255,224,11,12,24,14,2,1,4,0,4, - 0,14,0,14,0,23,0,23,0,39,128,39,128,71,192,71, - 192,135,224,255,224,13,13,26,16,2,0,31,192,32,32,64, - 16,128,8,128,8,128,8,128,8,128,8,128,8,128,8,64, - 16,32,32,31,192,11,11,22,14,2,1,255,224,132,32,132, - 32,132,32,132,32,252,32,128,32,128,32,128,32,128,32,255, - 224,11,11,22,14,2,1,255,224,128,32,128,32,128,32,128, - 32,252,32,132,32,132,32,132,32,132,32,255,224,11,11,22, - 14,2,1,255,224,128,32,128,32,128,32,128,32,135,224,132, - 32,132,32,132,32,132,32,255,224,11,11,22,14,2,1,255, - 224,132,32,132,32,132,32,132,32,135,224,128,32,128,32,128, - 32,128,32,255,224,11,11,22,14,2,1,31,0,100,192,68, - 64,132,32,132,32,252,32,128,32,128,32,64,64,96,192,31, - 0,11,11,22,14,2,1,31,0,96,192,64,64,128,32,128, - 32,252,32,132,32,132,32,68,64,100,192,31,0,11,11,22, - 14,2,1,31,0,96,192,64,64,128,32,128,32,135,224,132, - 32,132,32,68,64,100,192,31,0,11,11,22,14,2,1,31, - 0,100,192,68,64,132,32,132,32,135,224,128,32,128,32,64, - 64,96,192,31,0,255,255,255,255,255,255,255,255}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 11, '1' Height: 6 - Calculated Max Values w=16 h=13 x= 3 y= 3 dx=19 dy= 0 ascent=13 len=24 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =13 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12_75r[1123] U8G_FONT_SECTION("u8g_font_cu12_75r") = { - 0,40,30,247,246,11,2,247,0,0,32,79,0,13,254,12, - 0,11,11,22,14,2,1,255,224,255,224,255,224,255,224,255, - 224,255,224,255,224,255,224,255,224,255,224,255,224,11,11,22, - 14,2,1,255,224,128,32,128,32,128,32,128,32,128,32,128, - 32,128,32,128,32,128,32,255,224,11,11,22,14,2,1,63, - 128,64,64,128,32,128,32,128,32,128,32,128,32,128,32,128, - 32,64,64,63,128,11,11,22,14,2,1,255,224,128,32,191, - 160,191,160,191,160,191,160,191,160,191,160,191,160,128,32,255, - 224,11,11,22,14,2,1,255,224,128,32,255,224,128,32,255, - 224,128,32,255,224,128,32,255,224,128,32,255,224,11,11,22, - 14,2,1,255,224,170,160,170,160,170,160,170,160,170,160,170, - 160,170,160,170,160,170,160,255,224,11,11,22,14,2,1,255, - 224,170,160,255,224,170,160,255,224,170,160,255,224,170,160,255, - 224,170,160,255,224,11,11,22,14,2,1,255,224,201,32,164, - 160,146,96,201,32,164,160,146,96,201,32,164,160,146,96,255, - 224,11,11,22,14,2,1,255,224,146,96,164,160,201,32,146, - 96,164,160,201,32,146,96,164,160,201,32,255,224,11,11,22, - 14,2,1,255,224,213,96,170,160,213,96,170,160,213,96,170, - 160,213,96,170,160,213,96,255,224,7,7,7,12,3,3,254, - 254,254,254,254,254,254,7,7,7,12,3,3,254,130,130,130, - 130,130,254,13,6,12,16,2,3,255,248,255,248,255,248,255, - 248,255,248,255,248,13,6,12,16,2,3,255,248,128,8,128, - 8,128,8,128,8,255,248,6,13,13,9,2,254,252,252,252, - 252,252,252,252,252,252,252,252,252,252,6,13,13,9,2,254, - 252,132,132,132,132,132,132,132,132,132,132,132,252,16,6,12, - 19,2,3,31,255,63,254,63,254,127,252,127,252,255,248,16, - 6,12,19,2,3,31,255,32,2,32,2,64,4,64,4,255, - 248,11,12,24,14,2,1,4,0,4,0,14,0,14,0,31, - 0,31,0,63,128,63,128,127,192,127,192,255,224,255,224,11, - 12,24,14,2,1,4,0,4,0,10,0,10,0,17,0,17, - 0,32,128,32,128,64,64,64,64,128,32,255,224,7,8,8, - 12,3,1,16,16,56,56,124,124,254,254,7,8,8,12,3, - 1,16,16,40,40,68,68,130,254,12,11,22,15,2,1,192, - 0,240,0,252,0,255,0,255,192,255,240,255,192,255,0,252, - 0,240,0,192,0,12,11,22,15,2,1,192,0,176,0,140, - 0,131,0,128,192,128,48,128,192,131,0,140,0,176,0,192, - 0,8,7,7,13,3,1,192,240,252,255,252,240,192,8,7, - 7,13,3,1,192,176,140,131,140,176,192,12,7,14,15,2, - 1,192,0,252,0,255,192,255,240,255,192,252,0,192,0,12, - 7,14,15,2,1,192,0,188,0,131,192,128,48,131,192,188, - 0,192,0,11,12,24,14,2,1,255,224,255,224,127,192,127, - 192,63,128,63,128,31,0,31,0,14,0,14,0,4,0,4, - 0,11,12,24,14,2,1,255,224,128,32,64,64,64,64,32, - 128,32,128,17,0,17,0,10,0,10,0,4,0,4,0,7, - 8,8,12,3,1,254,254,124,124,56,56,16,16,7,8,8, - 12,3,1,254,130,68,68,40,40,16,16,12,11,22,15,2, - 1,0,48,0,240,3,240,15,240,63,240,255,240,63,240,15, - 240,3,240,0,240,0,48,12,11,22,15,2,1,0,48,0, - 208,3,16,12,16,48,16,192,16,48,16,12,16,3,16,0, - 208,0,48,8,7,7,13,3,1,3,15,63,255,63,15,3, - 8,7,7,13,3,1,3,13,49,193,49,13,3,12,7,14, - 15,2,1,0,48,3,240,63,240,255,240,63,240,3,240,0, - 48,12,7,14,15,2,1,0,48,3,208,60,16,192,16,60, - 16,3,208,0,48,11,11,22,14,2,1,4,0,14,0,31, - 0,63,128,127,192,255,224,127,192,63,128,31,0,14,0,4, - 0,11,11,22,14,2,1,4,0,10,0,17,0,32,128,64, - 64,128,32,64,64,32,128,17,0,10,0,4,0,11,11,22, - 14,2,1,4,0,10,0,17,0,36,128,78,64,159,32,78, - 64,36,128,17,0,10,0,4,0,11,11,22,14,2,1,31, - 0,96,192,64,64,142,32,159,32,159,32,159,32,142,32,64, - 64,96,192,31,0,7,12,12,8,1,0,16,40,40,68,68, - 130,130,68,68,40,40,16,11,11,22,14,2,1,31,0,96, - 192,64,64,128,32,128,32,128,32,128,32,128,32,64,64,96, - 192,31,0,11,11,22,14,2,1,14,0,32,128,64,64,0, - 0,128,32,128,32,128,32,0,0,64,64,32,128,14,0,11, - 11,22,14,2,1,31,0,106,192,106,192,170,160,170,160,170, - 160,170,160,170,160,106,192,106,192,31,0,11,11,22,14,2, - 1,31,0,96,192,64,64,142,32,145,32,145,32,145,32,142, - 32,64,64,96,192,31,0,11,11,22,14,2,1,31,0,127, - 192,127,192,255,224,255,224,255,224,255,224,255,224,127,192,127, - 192,31,0}; -/* - Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 - Copyright: 2001 Computing Research Lab, New Mexico State University. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 3 y=11 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=40 h=30 x=-9 y=-10 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cu12[3993] U8G_FONT_SECTION("u8g_font_cu12") = { - 0,40,30,247,246,11,2,90,5,94,32,255,252,16,252,12, - 252,0,0,0,5,0,0,2,12,12,5,1,0,192,192,192, - 192,192,192,192,0,0,0,192,192,4,5,5,7,2,7,144, - 144,144,144,144,10,15,30,12,1,253,4,128,4,128,9,0, - 9,0,9,0,255,192,18,0,18,0,18,0,255,192,36,0, - 36,0,36,0,72,0,72,0,5,14,14,8,1,255,32,112, - 168,168,168,160,96,48,40,168,168,168,112,32,11,13,26,14, - 1,255,96,64,152,128,151,128,145,0,146,0,98,0,4,0, - 8,192,9,32,17,32,33,32,33,32,64,192,10,12,24,13, - 1,0,24,0,36,0,36,0,36,0,40,0,51,192,49,0, - 81,0,138,0,138,0,196,64,123,128,1,5,5,4,2,7, - 128,128,128,128,128,4,15,15,6,2,253,16,32,64,64,128, - 128,128,128,128,128,128,64,64,32,16,4,15,15,6,1,253, - 128,64,32,32,16,16,16,16,16,16,16,32,32,64,128,7, - 7,7,7,0,5,16,146,84,56,84,146,16,9,9,18,11, - 2,255,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,5,5,5,1,253,192,192,64,64,128,4, - 1,1,7,2,3,240,2,2,2,5,1,0,192,192,5,16, - 16,8,2,252,8,8,16,16,16,16,32,32,32,32,64,64, - 64,64,128,128,5,11,11,7,1,0,112,80,136,136,136,136, - 136,136,136,80,112,5,11,11,7,1,0,32,224,32,32,32, - 32,32,32,32,32,248,5,11,11,7,1,0,112,136,136,136, - 8,16,16,32,72,72,248,5,11,11,7,1,0,112,136,136, - 8,8,48,8,8,136,136,112,7,11,11,9,1,0,24,24, - 40,40,72,200,254,8,8,8,62,5,11,11,7,1,0,136, - 240,128,128,240,200,8,8,136,144,96,5,11,11,7,1,0, - 48,72,64,128,240,136,136,136,136,80,112,6,12,12,8,1, - 0,128,252,132,136,16,16,16,32,32,32,32,32,5,11,11, - 7,1,0,112,136,136,136,80,112,136,136,136,136,112,5,11, - 11,7,1,0,112,80,136,136,136,136,120,8,16,144,96,2, - 7,7,7,3,0,192,192,0,0,0,192,192,2,10,10,5, - 1,253,192,192,0,0,0,192,192,64,64,128,5,9,9,6, - 1,1,8,16,32,64,128,64,32,16,8,10,5,10,13,2, - 2,255,192,0,0,0,0,0,0,255,192,5,9,9,6,1, - 1,128,64,32,16,8,16,32,64,128,5,12,12,8,1,0, - 112,136,136,16,32,32,96,0,0,0,96,96,10,12,24,12, - 1,0,30,0,33,0,76,128,147,64,161,64,161,64,161,64, - 161,64,147,64,77,128,32,192,31,0,11,11,22,11,0,0, - 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, - 32,128,32,128,241,224,10,11,22,10,0,0,255,0,32,128, - 32,64,32,64,32,128,63,0,32,128,32,64,32,64,32,128, - 255,0,9,11,22,10,1,0,30,128,33,128,64,128,128,128, - 128,0,128,0,128,0,128,128,64,128,33,0,30,0,10,11, - 22,10,0,0,254,0,33,128,32,128,32,64,32,64,32,64, - 32,64,32,64,32,128,33,128,254,0,10,11,22,10,1,0, - 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, - 32,128,32,128,255,128,9,11,22,9,1,0,255,128,32,128, - 32,128,34,128,34,0,62,0,34,0,34,0,32,0,32,0, - 248,0,10,11,22,10,1,0,30,128,33,128,64,128,128,128, - 128,0,128,0,131,192,128,128,64,128,32,128,31,128,11,11, - 22,11,1,0,251,224,32,128,32,128,32,128,32,128,63,128, - 32,128,32,128,32,128,32,128,251,224,5,11,11,5,1,0, - 248,32,32,32,32,32,32,32,32,32,248,6,11,11,6,1, - 0,124,16,16,16,16,16,16,16,16,144,224,11,11,22,11, - 1,0,249,224,32,128,33,0,34,0,36,0,46,0,50,0, - 33,0,33,0,32,128,249,224,8,11,11,8,0,0,248,32, - 32,32,32,32,33,33,33,35,255,14,11,22,14,1,0,240, - 60,48,48,48,48,40,80,40,80,40,144,36,144,36,144,35, - 16,35,16,251,124,11,11,22,11,1,0,227,224,48,128,48, - 128,40,128,40,128,36,128,34,128,34,128,33,128,33,128,248, - 128,10,11,22,10,1,0,30,0,33,0,64,128,128,64,128, - 64,128,64,128,64,128,64,64,128,33,0,30,0,9,11,22, - 9,1,0,255,0,33,128,32,128,32,128,33,128,63,0,32, - 0,32,0,32,0,32,0,248,0,10,14,28,10,1,253,30, - 0,33,0,64,128,128,64,128,64,128,64,128,64,128,64,92, - 128,51,0,30,0,2,0,2,64,1,128,11,11,22,11,1, - 0,254,0,33,0,32,128,32,128,33,0,62,0,35,0,33, - 0,33,0,33,0,248,224,6,11,11,7,1,0,124,132,132, - 128,64,48,8,4,132,132,248,9,11,22,9,1,0,255,128, - 136,128,136,128,136,128,8,0,8,0,8,0,8,0,8,0, - 8,0,62,0,11,11,22,11,1,0,251,224,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, - 11,11,22,11,1,0,241,224,32,128,32,128,17,0,17,0, - 17,0,10,0,10,0,10,0,4,0,4,0,16,11,22,16, - 1,0,241,207,33,132,33,132,34,68,18,72,18,72,18,72, - 20,40,12,48,12,48,8,16,11,11,22,11,1,0,243,192, - 17,0,18,0,10,0,12,0,4,0,10,0,26,0,17,0, - 32,128,241,224,11,11,22,11,1,0,241,224,32,128,17,0, - 17,0,10,0,14,0,4,0,4,0,4,0,4,0,31,0, - 7,11,11,7,1,0,254,196,132,136,8,16,34,34,66,70, - 254,3,16,16,5,1,252,224,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,224,5,16,16,8,2,252,128,128,64, - 64,64,64,32,32,32,32,16,16,16,16,8,8,3,16,16, - 5,0,252,224,32,32,32,32,32,32,32,32,32,32,32,32, - 32,32,224,5,3,3,6,1,9,32,112,136,11,1,2,12, - 1,254,255,224,3,4,4,6,3,8,128,192,64,32,6,7, - 7,7,1,0,112,136,8,120,136,136,124,6,12,12,7,1, - 0,192,64,64,64,64,120,68,68,68,68,68,120,5,7,7, - 6,1,0,112,136,128,128,128,136,112,6,12,12,7,1,0, - 24,8,8,8,8,120,136,136,136,136,136,124,5,7,7,6, - 1,0,112,136,248,128,128,136,112,5,12,12,6,1,0,56, - 72,64,64,64,240,64,64,64,64,64,224,7,11,11,8,1, - 252,62,68,68,68,120,64,124,130,130,130,124,7,12,12,8, - 1,0,192,64,64,64,64,120,68,68,68,68,68,238,3,11, - 11,4,1,0,192,192,0,0,192,64,64,64,64,64,224,4, - 14,14,5,0,253,48,48,0,0,48,16,16,16,16,16,16, - 16,144,224,7,12,12,8,1,0,192,64,64,64,64,94,72, - 80,112,88,72,238,3,12,12,4,1,0,192,64,64,64,64, - 64,64,64,64,64,64,224,11,7,14,12,1,0,251,128,68, - 64,68,64,68,64,68,64,68,64,238,224,7,7,7,8,1, - 0,248,68,68,68,68,68,238,5,7,7,6,1,0,112,136, - 136,136,136,136,112,6,10,10,7,1,253,248,68,68,68,68, - 68,120,64,64,224,6,10,10,7,1,253,120,136,136,136,136, - 136,120,8,8,28,5,7,7,6,1,0,208,104,64,64,64, - 64,240,5,7,7,6,1,0,120,136,128,112,8,136,240,6, - 10,10,7,1,0,32,32,32,248,32,32,32,36,36,24,7, - 7,7,8,1,0,204,68,68,68,68,68,62,8,7,7,9, - 1,0,231,36,36,36,24,24,24,11,7,14,11,0,0,238, - 224,36,128,42,128,42,128,42,128,27,0,17,0,8,7,7, - 9,1,0,231,36,24,24,24,36,231,8,10,10,8,1,253, - 231,36,36,36,24,24,24,16,144,224,5,7,7,6,1,0, - 248,144,144,32,72,72,248,5,16,16,6,1,252,24,32,32, - 32,32,32,32,192,32,32,32,32,32,32,32,24,1,16,16, - 3,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,16,16,5,0,252,192,32,32,32,32,32,32, - 24,32,32,32,32,32,32,32,192,5,3,3,8,1,9,72, - 168,144,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,5,0,0,2,12,12,5,1,253,192, - 192,0,0,0,192,192,192,192,192,192,192,5,11,11,7,1, - 254,16,16,112,168,160,160,160,200,112,64,64,8,12,12,9, - 1,0,6,9,17,16,16,124,16,16,16,81,178,204,7,7, - 7,9,1,3,130,124,68,68,68,124,130,11,11,22,12,0, - 0,241,224,32,128,17,0,10,0,127,192,14,0,4,0,127, - 192,4,0,4,0,31,0,1,16,16,3,2,252,128,128,128, - 128,128,128,128,0,0,128,128,128,128,128,128,128,4,13,13, - 6,1,0,96,144,128,128,96,144,144,144,96,16,16,144,96, - 5,2,2,6,1,11,216,216,9,10,20,10,1,3,62,0, - 65,0,158,128,162,128,162,128,160,128,162,128,156,128,65,0, - 62,0,4,6,6,5,1,7,96,16,112,144,112,240,7,7, - 7,9,1,0,18,36,108,216,108,36,18,6,4,4,8,1, - 2,252,4,4,4,3,1,1,5,0,3,224,9,10,20,10, - 1,3,62,0,65,0,188,128,146,128,146,128,156,128,146,128, - 186,128,65,0,62,0,5,1,1,7,1,11,248,4,4,4, - 6,2,8,96,144,144,96,7,9,9,9,2,1,16,16,16, - 254,16,16,16,0,254,4,7,7,5,1,6,96,144,16,16, - 32,64,240,4,7,7,5,1,6,96,144,16,32,16,144,96, - 3,4,4,6,3,11,32,96,64,128,7,10,10,8,1,253, - 136,136,136,136,136,218,164,128,128,128,7,15,15,8,1,252, - 62,116,244,244,244,116,52,20,20,20,20,20,20,20,20,2, - 2,2,4,2,5,192,192,3,3,3,7,2,253,64,32,224, - 3,7,7,4,1,6,64,192,64,64,64,64,224,4,6,6, - 5,1,7,96,144,144,144,96,240,7,7,7,8,1,0,144, - 72,108,54,108,72,144,11,11,22,12,1,0,64,0,196,0, - 68,0,68,0,68,64,232,192,9,64,10,64,11,224,16,64, - 16,224,11,11,22,12,1,0,64,0,196,0,68,0,68,0, - 68,0,232,192,9,32,8,32,8,64,16,128,17,224,12,11, - 22,13,1,0,96,0,146,0,18,0,34,0,18,32,148,96, - 100,160,5,32,5,240,8,32,8,112,5,12,12,8,1,253, - 48,48,0,0,0,48,32,32,64,128,136,112,11,16,32,11, - 0,0,8,0,12,0,4,0,2,0,0,0,4,0,4,0, - 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, - 241,224,11,16,32,11,0,0,2,0,6,0,4,0,8,0, - 0,0,4,0,4,0,10,0,10,0,10,0,17,0,17,0, - 31,0,32,128,32,128,241,224,11,15,30,11,0,0,4,0, - 14,0,17,0,0,0,4,0,4,0,10,0,10,0,10,0, - 17,0,17,0,31,0,32,128,32,128,241,224,11,15,30,11, - 0,0,9,0,21,0,18,0,0,0,4,0,4,0,10,0, - 10,0,10,0,17,0,17,0,31,0,32,128,32,128,241,224, - 11,14,28,11,0,0,27,0,27,0,0,0,4,0,4,0, - 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, - 241,224,11,15,30,11,0,0,6,0,9,0,9,0,6,0, - 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, - 32,128,32,128,241,224,14,11,22,15,0,0,15,248,10,24, - 10,8,10,40,18,32,31,224,18,36,18,36,34,8,34,8, - 247,248,9,14,28,10,1,253,30,128,33,128,64,128,128,128, - 128,0,128,0,128,0,128,128,64,128,33,0,30,0,8,0, - 4,0,28,0,10,16,32,11,0,0,16,0,24,0,8,0, - 4,0,0,0,255,128,32,128,32,128,34,128,34,0,62,0, - 34,64,34,64,32,128,32,128,255,128,10,16,32,11,0,0, - 4,0,12,0,8,0,16,0,0,0,255,128,32,128,32,128, - 34,128,34,0,62,0,34,64,34,64,32,128,32,128,255,128, - 10,15,30,11,0,0,8,0,28,0,34,0,0,0,255,128, - 32,128,32,128,34,128,34,0,62,0,34,64,34,64,32,128, - 32,128,255,128,10,14,28,11,0,0,54,0,54,0,0,0, - 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, - 32,128,32,128,255,128,5,16,16,6,1,0,64,96,32,16, - 0,248,32,32,32,32,32,32,32,32,32,248,5,16,16,6, - 1,0,16,48,32,64,0,248,32,32,32,32,32,32,32,32, - 32,248,5,15,15,6,1,0,32,112,136,0,248,32,32,32, - 32,32,32,32,32,32,248,5,14,14,6,1,0,216,216,0, - 248,32,32,32,32,32,32,32,32,32,248,10,11,22,11,0, - 0,254,0,33,128,32,128,32,64,32,64,248,64,32,64,32, - 64,32,128,33,128,254,0,11,15,30,12,0,0,9,0,21, - 0,18,0,0,0,227,224,48,128,48,128,40,128,40,128,36, - 128,34,128,34,128,33,128,33,128,248,128,10,16,32,12,1, - 0,16,0,24,0,8,0,4,0,0,0,30,0,33,0,64, - 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, - 0,10,16,32,12,1,0,2,0,6,0,4,0,8,0,0, - 0,30,0,33,0,64,128,128,64,128,64,128,64,128,64,128, - 64,64,128,33,0,30,0,10,15,30,12,1,0,8,0,28, - 0,34,0,0,0,30,0,33,0,64,128,128,64,128,64,128, - 64,128,64,128,64,64,128,33,0,30,0,10,15,30,12,1, - 0,18,0,42,0,36,0,0,0,30,0,33,0,64,128,128, - 64,128,64,128,64,128,64,128,64,64,128,33,0,30,0,10, - 14,28,12,1,0,54,0,54,0,0,0,30,0,33,0,64, - 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, - 0,7,7,7,9,1,0,130,68,40,16,40,68,130,10,13, - 26,12,1,255,0,128,31,0,33,0,66,128,130,64,132,64, - 140,64,136,64,144,64,80,128,33,0,62,0,64,0,11,16, - 32,12,1,0,8,0,12,0,4,0,2,0,0,0,251,224, - 32,128,32,128,32,128,32,128,32,128,32,128,32,128,32,128, - 17,0,14,0,11,16,32,12,1,0,2,0,6,0,4,0, - 8,0,0,0,251,224,32,128,32,128,32,128,32,128,32,128, - 32,128,32,128,32,128,17,0,14,0,11,15,30,12,1,0, - 4,0,14,0,17,0,0,0,251,224,32,128,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,17,0,14,0,11,14, - 28,12,1,0,27,0,27,0,0,0,251,224,32,128,32,128, - 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, - 11,16,32,12,0,0,2,0,6,0,4,0,8,0,0,0, - 241,224,32,128,17,0,17,0,10,0,14,0,4,0,4,0, - 4,0,4,0,31,0,9,11,22,10,0,0,248,0,32,0, - 62,0,33,0,32,128,32,128,32,128,33,0,62,0,32,0, - 248,0,6,12,12,7,1,0,48,72,72,72,72,216,72,68, - 68,68,68,216,6,12,12,7,1,0,64,96,32,16,0,112, - 136,8,120,136,136,124,6,12,12,7,1,0,16,48,32,64, - 0,112,136,8,120,136,136,124,6,11,11,7,1,0,32,112, - 136,0,112,136,8,120,136,136,124,6,11,11,7,1,0,72, - 168,144,0,112,136,8,120,136,136,124,6,10,10,7,1,0, - 216,216,0,112,136,8,120,136,136,124,6,11,11,7,1,0, - 48,72,72,48,112,136,8,120,136,136,124,10,7,14,11,1, - 0,115,128,140,64,15,192,120,0,136,0,140,64,115,128,5, - 10,10,6,1,253,112,136,128,128,128,136,112,32,16,112,5, - 12,12,6,1,0,64,96,32,16,0,112,136,248,128,128,136, - 112,5,12,12,6,1,0,16,48,32,64,0,112,136,248,128, - 128,136,112,5,11,11,6,1,0,32,112,136,0,112,136,248, - 128,128,136,112,5,10,10,6,1,0,216,216,0,112,136,248, - 128,128,136,112,4,12,12,4,0,0,128,192,64,32,0,96, - 32,32,32,32,32,112,4,12,12,4,1,0,16,48,32,64, - 0,192,64,64,64,64,64,224,5,11,11,5,0,0,32,112, - 136,0,96,32,32,32,32,32,112,5,10,10,6,0,0,216, - 216,0,96,32,32,32,32,32,112,5,12,12,6,1,0,80, - 112,224,16,16,120,136,136,136,136,136,112,7,11,11,8,1, - 0,72,168,144,0,248,68,68,68,68,68,238,5,12,12,6, - 1,0,64,96,32,16,0,112,136,136,136,136,136,112,5,12, - 12,6,1,0,16,48,32,64,0,112,136,136,136,136,136,112, - 5,11,11,6,1,0,32,112,136,0,112,136,136,136,136,136, - 112,5,11,11,6,1,0,72,168,144,0,112,136,136,136,136, - 136,112,5,10,10,6,1,0,216,216,0,112,136,136,136,136, - 136,112,9,7,14,11,1,0,8,0,8,0,0,0,255,128, - 0,0,8,0,8,0,5,11,11,6,1,254,8,16,112,152, - 168,168,168,200,112,64,128,7,12,12,8,1,0,64,96,32, - 16,0,204,68,68,68,68,68,62,7,12,12,8,1,0,8, - 24,16,32,0,204,68,68,68,68,68,62,7,11,11,8,1, - 0,16,56,68,0,204,68,68,68,68,68,62,7,10,10,8, - 1,0,108,108,0,204,68,68,68,68,68,62,8,15,15,8, - 1,253,4,12,8,16,0,231,36,36,36,24,24,24,16,144, - 224,6,15,15,7,1,253,192,64,64,64,64,120,68,68,68, - 68,68,120,64,64,224,8,13,13,8,1,253,54,54,0,231, - 36,36,36,24,24,24,16,144,224}; -/* - Fontname: cursor - Copyright: These glyphs are unencumbered - Capital A Height: 15, '1' Height: 16 - Calculated Max Values w=16 h=16 x= 1 y= 0 dx=17 dy= 0 ascent=15 len=32 - Font Bounding box w=31 h=31 x=-15 y=-16 - Calculated Min Values x=-15 y=-16 dx= 0 dy= 0 - Pure Font ascent =15 descent=-8 - X Font ascent =16 descent=-16 - Max Font ascent =15 descent=-16 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cursor[5286] U8G_FONT_SECTION("u8g_font_cursor") = { - 0,31,31,241,240,15,4,101,8,211,32,255,248,15,240,16, - 240,14,14,28,17,250,248,224,28,240,60,248,124,124,248,63, - 240,31,224,15,192,15,192,31,224,63,240,124,248,248,124,240, - 60,224,28,16,16,32,17,249,247,240,15,248,31,252,63,254, - 127,127,254,63,252,31,248,15,240,15,240,31,248,63,252,127, - 254,254,127,252,63,248,31,240,15,14,14,28,17,243,242,0, - 12,0,60,0,248,3,248,15,240,63,240,3,224,7,224,14, - 192,28,192,56,128,112,128,224,0,64,0,16,16,32,17,242, - 241,0,7,0,31,0,127,1,254,7,254,31,252,63,252,63, - 248,7,248,15,240,31,240,62,224,124,224,248,64,112,0,32, - 0,8,10,10,17,253,255,255,0,255,24,24,24,24,90,60, - 24,10,12,24,17,252,254,255,192,255,192,255,192,255,192,255, - 192,30,0,30,0,127,128,127,128,127,128,63,0,30,0,8, - 10,10,17,253,255,24,60,90,24,24,24,24,255,0,255,10, - 12,24,17,252,254,12,0,30,0,127,128,127,128,127,128,30, - 0,30,0,255,192,255,192,255,192,255,192,255,192,16,8,16, - 17,242,251,1,0,7,192,136,96,255,255,0,24,0,32,0, - 64,255,192,16,9,18,17,242,251,7,0,15,192,159,224,255, - 255,255,255,255,255,255,248,255,224,255,192,13,14,28,17,250, - 248,226,56,34,32,34,32,34,32,255,248,162,40,162,40,162, - 40,162,40,255,248,34,32,34,32,34,32,226,56,15,16,32, - 17,249,247,251,190,251,190,251,190,59,184,255,254,255,254,255, - 254,251,190,251,190,255,254,255,254,255,254,59,184,251,190,251, - 190,251,190,14,14,28,17,0,255,192,0,192,0,196,16,196, - 32,196,64,196,128,197,0,198,0,199,240,192,0,192,0,192, - 0,255,252,255,252,16,16,32,17,255,254,240,0,240,0,247, - 12,247,28,247,56,247,112,247,224,247,192,247,252,247,252,247, - 252,240,0,255,255,255,255,255,255,255,255,14,14,28,17,243, - 255,0,12,0,12,32,140,16,140,8,140,4,140,2,140,1, - 140,63,140,0,12,0,12,0,12,255,252,255,252,16,16,32, - 17,242,254,0,15,0,15,48,239,56,239,28,239,14,239,7, - 239,3,239,63,239,63,239,63,239,0,15,255,255,255,255,255, - 255,255,255,13,14,28,17,250,255,2,0,2,0,2,0,2, - 0,2,0,2,0,34,32,18,64,10,128,7,0,2,0,0, - 0,255,248,255,248,15,16,32,17,249,254,3,128,3,128,3, - 128,3,128,3,128,3,128,51,152,59,184,31,240,15,224,7, - 192,3,128,255,254,255,254,255,254,255,254,14,10,20,17,249, - 255,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,16,12,24,17,248,254,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,255,255,255,255,255, - 255,255,255,15,16,32,17,248,248,255,254,128,0,191,254,160, - 2,175,250,168,10,171,234,170,42,170,170,171,170,168,42,175, - 234,160,10,191,250,128,2,255,254,16,16,32,17,248,248,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,10, - 14,28,17,252,242,12,0,12,0,30,0,30,0,63,0,63, - 0,127,128,127,128,204,192,140,64,12,0,12,0,12,0,12, - 0,12,16,32,17,251,241,15,0,15,0,31,128,31,128,63, - 192,63,192,127,224,127,224,255,240,255,240,255,240,239,112,15, - 0,15,0,15,0,15,0,14,14,28,17,249,249,7,128,31, - 224,63,240,120,120,112,56,224,28,224,28,224,28,224,28,112, - 56,120,120,63,240,31,224,7,128,16,16,32,17,248,248,7, - 224,31,248,63,252,127,254,127,254,252,63,248,31,248,31,248, - 31,248,31,252,63,127,254,127,254,63,252,31,248,7,224,14, - 16,32,17,250,243,63,240,103,152,200,204,147,36,158,36,136, - 68,199,140,127,248,83,40,83,40,83,40,87,168,211,44,240, - 60,255,252,255,252,15,16,32,17,250,243,127,248,239,156,219, - 238,183,182,191,246,159,102,207,206,255,252,215,172,215,172,215, - 172,223,236,215,174,243,62,255,254,255,254,15,16,32,17,249, - 249,31,240,32,8,96,6,80,26,79,226,192,2,192,2,64, - 2,64,2,89,26,106,170,235,170,218,154,64,2,64,2,63, - 252,16,16,32,17,249,249,31,240,63,248,127,255,127,255,255, - 255,255,255,255,255,255,255,127,255,127,255,255,255,255,255,255, - 255,255,255,127,255,63,252,16,15,30,17,249,248,2,128,2, - 128,2,128,2,128,2,128,2,128,254,255,0,0,254,255,2, - 128,2,128,2,128,2,128,2,128,2,128,16,16,32,17,249, - 247,7,192,7,192,7,192,7,192,7,192,255,255,255,255,255, - 255,255,255,255,255,7,192,7,192,7,192,7,192,7,192,7, - 192,16,15,30,17,249,248,66,132,162,138,82,148,42,168,22, - 208,10,160,253,127,2,128,253,127,10,160,22,208,42,168,82, - 148,162,138,66,132,16,15,30,17,249,248,102,204,182,219,222, - 246,110,236,54,216,250,191,252,127,1,0,252,127,250,191,54, - 216,110,236,222,246,182,219,102,204,16,15,30,17,249,248,1, - 0,1,0,1,0,1,0,1,0,1,0,1,0,254,255,1, - 0,1,0,1,0,1,0,1,0,1,0,1,0,16,16,32, - 17,249,247,3,128,3,128,3,128,3,128,3,128,3,128,255, - 255,255,255,255,255,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,15,15,30,17,249,248,2,128,6,192,10,160,18, - 144,34,136,66,132,254,254,0,0,254,254,66,132,34,136,18, - 144,10,160,6,192,2,128,16,16,32,17,249,247,7,192,15, - 224,31,240,59,184,115,156,227,142,255,255,254,255,255,255,227, - 142,115,156,59,184,31,240,15,224,7,192,3,128,10,10,20, - 17,251,251,30,0,127,128,127,128,255,192,255,192,255,192,255, - 192,127,128,127,128,30,0,12,12,24,17,250,250,31,128,127, - 224,127,224,255,240,255,240,255,240,255,240,255,240,255,240,127, - 224,127,224,31,128,12,12,24,17,250,249,255,240,128,16,128, - 16,128,16,128,16,134,16,134,16,128,16,128,16,128,16,128, - 16,255,240,14,14,28,17,249,248,255,252,255,252,255,252,224, - 28,224,28,231,156,231,156,231,156,231,156,224,28,224,28,255, - 252,255,252,255,252,10,14,28,17,251,249,12,0,30,0,63, - 0,109,128,204,192,12,0,12,0,12,0,12,0,204,192,109, - 128,63,0,30,0,12,0,12,16,32,17,250,248,15,0,31, - 128,63,192,127,224,255,240,255,240,255,240,15,0,15,0,255, - 240,255,240,255,240,127,224,63,192,31,128,15,0,15,15,30, - 17,242,241,0,2,0,12,0,60,0,248,3,248,15,240,63, - 240,1,224,2,224,4,192,8,192,16,128,32,128,64,0,128, - 0,15,16,32,17,242,240,0,6,0,30,0,126,1,252,7, - 248,31,248,127,240,127,240,7,224,15,224,29,192,57,192,113, - 128,225,128,192,0,128,0,15,15,30,17,242,241,0,2,0, - 12,0,60,0,248,3,248,0,112,0,176,1,32,2,32,4, - 0,8,0,16,0,32,0,64,0,128,0,15,15,30,17,242, - 241,0,6,0,30,0,124,1,252,7,248,7,248,1,240,3, - 240,7,96,14,64,28,0,56,0,112,0,224,0,192,0,12, - 12,24,17,250,249,255,240,137,16,153,144,176,208,224,112,134, - 16,134,16,224,112,176,208,153,144,137,16,255,240,14,14,28, - 17,249,248,255,252,255,252,207,204,223,236,252,252,251,124,247, - 188,247,188,251,124,252,252,223,236,207,204,255,252,255,252,14, - 14,28,17,250,248,143,192,223,224,248,48,144,16,152,0,252, - 0,0,0,0,0,0,252,0,100,32,36,48,124,31,236,15, - 196,16,16,32,17,249,247,199,224,239,240,255,248,255,252,252, - 28,255,12,255,0,255,0,0,255,0,255,48,127,56,63,63, - 255,31,255,15,247,7,227,14,14,28,17,249,249,3,0,7, - 128,15,192,3,0,35,16,99,24,255,252,255,252,99,24,35, - 16,3,0,15,192,7,128,3,0,16,16,32,17,248,248,3, - 192,3,224,7,224,15,240,23,232,59,220,255,255,255,255,255, - 255,255,255,59,220,23,232,15,240,7,224,3,192,3,192,16, - 15,30,17,242,243,0,120,0,112,128,51,159,176,255,240,254, - 48,252,48,96,56,0,240,31,224,8,0,8,0,8,0,8, - 0,30,0,16,16,32,17,242,243,0,252,0,252,192,255,255, - 255,255,255,255,252,255,252,255,252,255,252,255,252,127,248,31, - 240,28,0,28,0,63,0,63,0,16,16,32,17,254,240,63, - 0,16,128,200,64,234,160,200,32,203,160,248,60,56,63,8, - 39,8,39,9,47,9,39,9,32,17,16,33,8,62,248,16, - 16,32,17,254,240,63,0,223,128,239,192,255,224,239,224,239, - 252,255,254,255,255,63,239,15,239,15,255,15,239,15,231,31, - 240,63,248,62,248,13,16,32,17,244,240,0,24,0,120,1, - 224,3,192,7,128,15,192,31,224,95,192,255,224,191,224,15, - 192,15,128,148,0,196,0,104,0,48,0,13,16,32,17,244, - 240,0,56,0,248,3,240,7,224,15,192,31,224,127,240,255, - 240,255,240,255,240,255,224,255,192,255,128,254,0,252,0,120, - 0,15,14,28,17,0,242,127,128,128,64,126,32,16,16,14, - 16,16,16,14,40,16,68,12,130,3,4,2,72,1,16,0, - 160,0,64,16,16,32,17,0,241,127,128,255,192,255,224,255, - 240,127,248,31,248,63,248,31,252,63,254,31,255,15,254,7, - 252,3,248,1,240,0,224,0,64,15,14,28,17,250,250,62, - 248,99,140,193,6,128,2,128,2,128,2,128,2,192,6,96, - 12,48,24,24,48,12,96,6,192,3,128,15,14,28,17,250, - 250,62,248,127,252,227,142,193,6,192,6,192,6,194,134,225, - 14,112,28,56,56,28,112,15,224,7,192,3,128,16,16,32, - 17,248,248,255,255,213,85,170,171,213,85,160,11,208,5,160, - 11,208,5,160,11,208,5,160,11,208,5,170,171,213,85,170, - 171,255,255,16,16,32,17,248,248,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,14,14,28,17,249,248,127, - 248,63,240,159,228,207,204,231,156,243,60,255,252,255,252,243, - 60,231,156,207,204,159,228,63,240,127,248,16,16,32,17,248, - 247,63,252,127,254,127,254,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,127,254,127,254,63, - 252,8,14,14,17,0,242,128,192,224,240,248,252,254,255,248, - 216,140,12,6,6,10,16,32,17,255,241,192,0,224,0,240, - 0,248,0,252,0,254,0,255,0,255,128,255,192,255,192,254, - 0,239,0,207,0,7,128,7,128,3,0,14,13,26,17,0, - 249,192,0,192,0,193,0,194,0,196,0,200,0,223,252,200, - 0,196,0,194,0,193,0,192,0,192,0,16,15,30,17,255, - 248,240,0,240,0,240,192,241,192,243,128,247,0,255,255,255, - 255,255,255,247,0,243,128,241,192,240,192,240,0,240,0,10, - 14,28,17,0,249,192,0,192,0,192,0,192,0,192,0,192, - 0,255,192,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,12,16,32,17,255,248,240,0,240,0,240,0,240,0,240, - 0,240,0,255,240,255,240,255,240,255,240,240,0,240,0,240, - 0,240,0,240,0,240,0,16,16,32,17,248,248,128,3,127, - 253,127,253,68,69,69,85,69,85,69,85,69,85,68,69,127, - 253,127,253,127,253,127,253,127,253,127,253,128,3,15,16,32, - 17,248,248,127,252,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,127,252,10,10,20,17,0,255,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,255,192,255,192,12,12,24, - 17,255,254,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,255,240,255,240,255,240,255,240,10,10,20,17,247, - 255,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,255,192,255,192,12,12,24,17,246,254,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,255,240,255,240,255, - 240,255,240,16,16,32,17,242,245,3,128,30,240,2,128,129, - 0,67,135,36,75,29,112,5,64,4,64,2,128,4,64,9, - 32,18,144,20,80,120,60,248,63,16,16,32,17,242,245,31, - 224,63,240,63,248,195,130,231,199,127,255,63,251,31,240,7, - 224,7,192,15,224,31,240,63,248,126,252,252,127,252,127,16, - 16,32,17,248,248,128,3,127,253,127,253,68,69,84,85,84, - 85,84,85,84,85,68,69,127,253,127,253,127,253,127,253,127, - 253,127,253,128,3,15,16,32,17,248,248,127,252,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,127,252,15,14,28,17,252, - 243,7,0,12,0,6,0,3,0,127,248,128,4,179,54,179, - 54,179,54,128,6,128,6,96,28,24,96,7,128,16,16,32, - 17,252,241,15,128,30,0,15,0,7,0,127,248,255,252,255, - 255,255,255,255,255,255,255,255,255,255,255,63,247,31,224,15, - 192,7,128,11,16,32,17,246,255,112,0,136,0,140,0,74, - 0,122,0,33,0,17,0,16,128,8,128,12,64,4,64,2, - 32,1,224,0,224,0,96,0,32,13,16,32,17,245,255,252, - 0,254,0,255,0,127,0,63,128,63,128,31,192,15,192,15, - 224,7,224,7,240,3,248,1,248,0,248,0,120,0,56,15, - 16,32,17,249,252,7,128,15,192,31,224,51,48,51,48,31, - 224,15,192,7,128,135,132,135,134,67,8,56,112,7,128,31, - 226,240,62,128,4,16,16,32,17,249,252,15,192,31,224,63, - 240,127,248,127,248,63,240,31,224,143,193,143,199,207,207,247, - 156,120,120,7,128,127,227,255,255,240,62,10,10,20,17,252, - 251,12,0,12,0,12,0,12,0,255,192,255,192,12,0,12, - 0,12,0,12,0,12,12,24,17,251,250,15,0,15,0,15, - 0,15,0,255,240,255,240,255,240,255,240,15,0,15,0,15, - 0,15,0,9,15,30,17,252,248,62,0,127,0,227,128,193, - 128,225,128,99,128,7,0,30,0,28,0,20,0,20,0,119, - 0,54,0,28,0,8,0,11,16,32,17,251,248,31,0,63, - 128,127,192,255,224,241,224,249,224,123,224,63,192,31,128,31, - 0,31,0,63,128,127,192,63,128,31,0,14,0,8,14,14, - 17,249,242,1,3,7,15,31,63,127,255,31,27,49,48,96, - 96,10,16,32,17,248,241,0,192,1,192,3,192,7,192,15, - 192,31,192,63,192,127,192,255,192,255,192,31,192,61,192,60, - 192,120,0,120,0,48,0,14,13,26,17,243,249,0,12,0, - 12,2,12,1,12,0,140,0,76,255,236,0,76,0,140,1, - 12,2,12,0,12,0,12,16,15,30,17,242,248,0,15,0, - 15,3,15,3,143,1,207,0,239,255,255,255,255,255,255,0, - 239,1,207,3,143,3,15,0,15,0,15,10,14,28,17,247, - 249,0,192,0,192,0,192,0,192,0,192,0,192,255,192,255, - 192,0,192,0,192,0,192,0,192,0,192,0,192,12,16,32, - 17,246,248,0,240,0,240,0,240,0,240,0,240,0,240,255, - 240,255,240,255,240,255,240,0,240,0,240,0,240,0,240,0, - 240,0,240,16,16,32,17,248,248,128,3,127,253,127,253,68, - 69,85,69,85,69,85,69,85,69,68,69,127,253,127,253,127, - 253,127,253,127,253,127,253,128,3,15,16,32,17,248,248,127, - 252,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,255,254,127,252,14, - 14,28,17,250,248,255,252,128,68,128,68,128,68,255,196,136, - 68,136,68,136,68,136,68,143,252,136,4,136,4,136,4,255, - 252,16,16,32,17,249,247,255,255,255,255,255,255,224,119,255, - 247,255,247,255,247,238,119,238,119,239,255,239,255,239,255,238, - 7,255,255,255,255,255,255,12,13,26,17,250,242,1,0,1, - 0,5,128,5,128,13,128,13,192,29,192,29,192,61,224,61, - 224,125,224,125,240,248,224,16,16,32,17,248,240,0,192,0, - 224,1,224,3,240,3,240,7,240,7,248,15,248,15,248,31, - 252,31,252,63,252,63,255,127,255,255,248,127,224,7,15,15, - 17,253,0,40,40,40,40,40,40,40,40,40,40,40,254,124, - 56,16,9,16,32,17,252,255,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,255,128,255,128, - 127,0,62,0,28,0,8,0,15,7,14,17,249,252,16,16, - 48,24,127,252,240,30,127,252,48,24,16,16,15,9,18,17, - 249,251,24,48,56,56,127,252,255,254,255,254,255,254,127,252, - 56,56,24,48,15,7,14,17,1,252,16,0,48,0,127,254, - 240,0,127,254,48,0,16,0,16,9,18,17,0,251,12,0, - 28,0,63,255,127,255,255,255,127,255,63,255,28,0,12,0, - 15,7,14,17,241,252,0,16,0,24,255,252,0,30,255,252, - 0,24,0,16,16,9,18,17,241,251,0,48,0,56,255,252, - 255,254,255,255,255,254,255,252,0,56,0,48,7,15,15,17, - 253,240,16,56,124,254,40,40,40,40,40,40,40,40,40,40, - 40,9,16,32,17,252,240,8,0,28,0,62,0,127,0,255, - 128,255,128,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,7,15,15,17,253,248,16,56,124, - 254,40,40,40,40,40,40,40,254,124,56,16,9,15,30,17, - 252,248,28,0,62,0,127,0,255,128,255,128,62,0,62,0, - 62,0,62,0,62,0,255,128,255,128,127,0,62,0,28,0, - 15,16,32,17,246,240,0,32,0,112,0,248,1,222,5,222, - 9,222,17,222,17,222,17,222,17,222,49,222,113,222,253,222, - 24,136,0,120,0,48,16,16,32,17,245,240,0,56,0,124, - 0,254,0,255,6,255,14,255,30,255,30,255,30,255,30,255, - 62,255,126,255,254,255,126,254,12,126,0,60,14,14,28,17, - 249,249,255,0,128,0,128,0,128,0,143,192,136,64,136,68, - 136,68,8,68,15,196,0,36,0,20,0,12,3,252,16,16, - 32,17,248,248,255,192,255,192,255,192,224,0,239,240,239,240, - 239,247,238,119,238,119,239,247,15,247,15,255,0,31,3,255, - 3,255,3,255,16,16,32,17,250,247,32,16,16,32,16,32, - 8,64,8,64,135,135,103,152,31,224,31,224,103,152,135,135, - 8,64,8,64,16,32,16,32,32,16,16,16,32,17,250,247, - 96,24,48,48,16,32,24,96,143,193,207,207,111,220,63,240, - 63,224,111,248,207,207,143,193,24,64,24,96,48,48,96,24, - 11,16,32,17,247,242,0,96,1,0,52,96,121,0,104,96, - 252,0,132,0,228,0,164,0,228,0,164,0,228,0,228,0, - 132,0,132,0,252,0,12,16,32,17,246,242,0,48,24,176, - 62,176,62,176,126,176,255,0,255,0,255,0,255,0,255,0, - 255,0,255,0,255,0,255,0,255,0,255,0,15,16,32,17, - 249,247,1,0,2,128,2,128,2,128,4,64,4,64,4,64, - 57,56,192,6,56,56,9,32,18,144,36,72,40,40,48,24, - 32,8,16,16,32,17,249,247,1,0,3,128,3,128,6,192, - 6,192,12,96,28,120,249,62,192,7,248,62,57,56,51,152, - 102,204,108,108,120,60,112,28,15,13,26,17,249,249,3,128, - 15,224,28,112,48,24,96,12,193,6,194,134,193,6,96,12, - 48,24,28,112,15,224,3,128,16,14,28,17,249,249,7,192, - 15,224,31,240,60,120,112,28,225,14,195,135,198,199,195,135, - 225,14,112,28,60,120,31,240,7,192,13,13,26,16,250,249, - 2,0,2,0,2,0,2,0,2,0,2,0,255,248,2,0, - 2,0,2,0,2,0,2,0,2,0,15,15,30,16,249,248, - 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, - 255,254,3,128,3,128,3,128,3,128,3,128,3,128,14,14, - 28,17,0,242,192,0,240,0,124,0,127,0,63,192,63,240, - 31,0,31,0,12,128,12,64,4,32,4,16,0,8,0,4, - 16,16,32,17,255,241,224,0,248,0,254,0,127,128,127,224, - 63,252,63,252,31,252,31,192,15,224,15,112,7,56,7,28, - 7,14,0,7,0,3,14,14,28,17,0,242,255,252,255,252, - 192,0,192,0,192,0,199,240,198,0,197,0,196,128,196,64, - 196,32,196,16,192,0,192,0,16,16,32,17,255,241,255,255, - 255,255,255,255,255,255,240,0,247,252,247,252,247,252,247,192, - 247,224,247,112,247,56,247,28,247,12,240,0,240,0,14,14, - 28,17,243,242,255,252,255,252,0,12,0,12,0,12,63,140, - 1,140,2,140,4,140,8,140,16,140,32,140,0,12,0,12, - 16,16,32,17,242,241,255,255,255,255,255,255,255,255,0,15, - 63,239,63,239,63,239,3,239,7,239,14,239,28,239,56,239, - 48,239,0,15,0,15,13,14,28,17,250,242,255,248,255,248, - 0,0,2,0,7,0,10,128,18,64,34,32,2,0,2,0, - 2,0,2,0,2,0,2,0,15,16,32,17,249,241,255,254, - 255,254,255,254,255,254,3,128,7,192,15,224,31,240,59,184, - 51,152,3,128,3,128,3,128,3,128,3,128,3,128,14,10, - 20,17,249,246,255,252,255,252,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,16,12,24,17,248,245,255,255, - 255,255,255,255,255,255,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,7,16,16,17,253,240,16,0,56,124, - 254,238,254,124,56,16,186,214,146,130,130,130,9,16,32,17, - 252,240,28,0,28,0,62,0,127,0,255,128,255,128,255,128, - 127,0,62,0,93,0,255,128,255,128,255,128,235,128,235,128, - 227,128,10,10,20,17,0,246,255,192,255,192,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,12,12,24,17, - 255,245,255,240,255,240,255,240,255,240,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,14,14,28,17,249,244, - 17,32,4,80,147,76,79,144,50,96,194,24,2,0,2,0, - 2,0,2,0,2,0,2,128,2,128,1,0,16,16,32,17, - 248,242,23,110,223,251,191,252,127,255,255,252,255,255,243,158, - 3,128,3,128,3,128,3,128,3,224,3,224,3,224,3,224, - 1,192,10,10,20,17,247,246,255,192,255,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,12,12,24,17, - 246,245,255,240,255,240,255,240,255,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,16,16,32,17,241,249, - 31,224,31,224,31,224,63,240,97,24,193,12,129,7,131,135, - 131,135,132,7,200,12,96,24,63,240,31,224,31,224,31,224, - 16,16,32,17,241,249,63,240,63,240,63,240,127,248,255,252, - 255,255,255,255,255,255,255,255,255,255,255,255,255,252,127,248, - 63,240,63,240,63,240,7,14,14,10,253,249,238,56,16,16, - 16,16,16,16,16,16,16,16,56,238,9,16,32,10,252,248, - 247,128,255,128,255,128,62,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,255,128,247,128, - 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,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,255,255,255,255}; -/* - Fontname: cursor - Copyright: These - Capital A Height: 0, '1' Height: 0 - Calculated Max Values w=16 h=16 x= 0 y= 0 dx=17 dy= 0 ascent= 7 len=32 - Font Bounding box w=31 h=31 x=-15 y=-16 - Calculated Min Values x=-14 y=-16 dx= 0 dy= 0 - Pure Font ascent = 0 descent= 0 - X Font ascent = 0 descent= 0 - Max Font ascent = 7 descent=-16 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_cursorr[492] U8G_FONT_SECTION("u8g_font_cursorr") = { - 0,31,31,241,240,0,1,6,0,0,32,80,0,7,240,0, - 0,255,255,14,14,28,17,243,242,0,12,0,60,0,248,3, - 248,15,240,63,240,3,224,7,224,14,192,28,192,56,128,112, - 128,224,0,64,0,16,16,32,17,242,241,0,7,0,31,0, - 127,1,254,7,254,31,252,63,252,63,248,7,248,15,240,31, - 240,62,224,124,224,248,64,112,0,32,0,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,10,14,28, - 17,252,242,12,0,12,0,30,0,30,0,63,0,63,0,127, - 128,127,128,204,192,140,64,12,0,12,0,12,0,12,0,12, - 16,32,17,251,241,15,0,15,0,31,128,31,128,63,192,63, - 192,127,224,127,224,255,240,255,240,255,240,239,112,15,0,15, - 0,15,0,15,0,255,255,255,255,255,255,16,15,30,17,249, - 248,2,128,2,128,2,128,2,128,2,128,2,128,254,255,0, - 0,254,255,2,128,2,128,2,128,2,128,2,128,2,128,16, - 16,32,17,249,247,7,192,7,192,7,192,7,192,7,192,255, - 255,255,255,255,255,255,255,255,255,7,192,7,192,7,192,7, - 192,7,192,7,192,255,255,16,15,30,17,249,248,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,254,255,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,16,16,32,17,249, - 247,3,128,3,128,3,128,3,128,3,128,3,128,255,255,255, - 255,255,255,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,255,255,255,255,255,255,255,255,15,15,30,17,242,241,0, - 2,0,12,0,60,0,248,3,248,15,240,63,240,1,224,2, - 224,4,192,8,192,16,128,32,128,64,0,128,0,15,16,32, - 17,242,240,0,6,0,30,0,126,1,252,7,248,31,248,127, - 240,127,240,7,224,15,224,29,192,57,192,113,128,225,128,192, - 0,128,0,15,15,30,17,242,241,0,2,0,12,0,60,0, - 248,3,248,0,112,0,176,1,32,2,32,4,0,8,0,16, - 0,32,0,64,0,128,0,15,15,30,17,242,241,0,6,0, - 30,0,124,1,252,7,248,7,248,1,240,3,240,7,96,14, - 64,28,0,56,0,112,0,224,0,192,0,255}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 7 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 = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0[1702] U8G_FONT_SECTION("u8g_font_fixed_v0") = { - 1,7,9,0,254,7,1,46,2,94,32,255,254,7,254,7, - 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, - 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, - 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, - 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, - 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, - 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, - 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, - 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, - 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, - 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, - 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, - 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, - 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, - 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, - 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, - 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, - 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, - 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, - 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, - 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, - 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, - 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, - 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, - 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, - 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, - 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, - 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, - 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, - 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, - 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, - 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, - 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, - 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, - 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, - 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, - 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, - 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, - 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, - 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, - 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, - 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, - 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, - 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, - 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, - 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, - 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, - 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, - 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, - 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, - 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, - 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, - 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, - 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, - 103,192,32,16,24,16,32,192,4,82,98,72,176,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,255,2, - 87,103,48,0,248,32,32,32,248,2,87,103,32,112,168,160, - 168,112,32,2,87,103,64,64,64,240,64,72,120,3,85,101, - 136,112,80,112,136,2,87,103,136,136,80,248,32,248,32,34, - 23,103,128,128,128,0,128,128,128,2,87,103,120,128,120,136, - 240,8,240,5,81,97,248,2,87,103,112,136,168,200,168,136, - 112,2,87,103,112,8,120,136,120,0,248,4,83,99,72,144, - 72,4,82,98,248,8,255,2,87,103,112,136,248,200,200,136, - 112,8,81,97,248,20,51,99,64,160,64,2,87,103,32,32, - 248,32,32,0,248,255,255,255,255,255,255,255,255,255,4,83, - 99,144,72,144,255,255,255,255,2,87,103,64,32,112,136,248, - 136,136,2,87,103,16,32,112,136,248,136,136,2,87,103,32, - 80,112,136,248,136,136,2,87,103,72,176,112,136,248,136,136, - 2,87,103,80,0,112,136,248,136,136,2,87,103,112,0,112, - 136,248,136,136,2,87,103,120,160,160,240,160,160,184,0,89, - 105,112,136,128,128,128,136,112,32,96,2,87,103,64,32,248, - 128,224,128,248,2,87,103,16,32,248,128,224,128,248,2,87, - 103,32,80,248,128,224,128,248,2,87,103,80,0,248,128,224, - 128,248,2,87,103,64,32,248,32,32,32,248,2,87,103,16, - 32,248,32,32,32,248,2,87,103,32,80,248,32,32,32,248, - 2,87,103,80,0,248,32,32,32,248,2,87,103,240,136,136, - 232,136,136,240,2,87,103,72,176,136,200,168,152,136,2,87, - 103,64,32,112,136,136,136,112,2,87,103,16,32,112,136,136, - 136,112,2,87,103,32,80,112,136,136,136,112,2,87,103,72, - 176,112,136,136,136,112,2,87,103,80,0,112,136,136,136,112, - 20,51,99,160,64,160,2,87,103,112,136,152,168,200,136,112, - 2,87,103,64,32,136,136,136,136,112,2,87,103,16,32,136, - 136,136,136,112,2,87,103,32,80,136,136,136,136,112,2,87, - 103,80,0,136,136,136,136,112,2,87,103,16,32,136,136,80, - 32,32,2,87,103,128,128,240,136,240,128,128,0,89,105,240, - 136,136,176,136,136,176,128,128,2,87,103,64,32,112,8,120, - 136,120,2,87,103,16,32,112,8,120,136,120,2,87,103,32, - 80,112,8,120,136,120,2,87,103,72,176,112,8,120,136,120, - 2,87,103,80,0,112,8,120,136,120,2,87,103,48,0,112, - 8,120,136,120,2,85,101,240,40,120,160,120,0,87,103,112, - 136,128,136,112,32,96,2,87,103,64,32,112,136,248,128,120, - 2,87,103,16,32,112,136,248,128,120,2,87,103,32,80,112, - 136,248,128,120,2,87,103,80,0,112,136,248,128,120,2,87, - 103,64,32,248,32,32,32,248,2,87,103,16,32,248,32,32, - 32,248,2,87,103,32,80,248,32,32,32,248,2,87,103,80, - 0,248,32,32,32,248,2,87,103,8,56,8,120,136,136,120, - 2,87,103,72,176,176,200,136,136,136,2,87,103,64,32,112, - 136,136,136,112,2,87,103,16,32,112,136,136,136,112,2,87, - 103,32,80,112,136,136,136,112,2,87,103,72,176,112,136,136, - 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, - 0,248,0,32,2,85,101,112,152,168,200,112,2,87,103,64, - 32,136,136,136,136,112,2,87,103,16,32,136,136,136,136,112, - 2,87,103,32,80,136,136,136,136,112,2,87,103,80,0,136, - 136,136,136,112,0,89,105,16,32,136,136,136,136,120,8,112, - 2,87,103,128,128,240,136,240,128,128,0,89,105,80,0,136, - 136,136,136,120,8,112}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 5 h= 7 x= 1 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 7 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 7 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[167] U8G_FONT_SECTION("u8g_font_fixed_v0n") = { - 1,7,9,0,254,7,0,0,0,0,42,58,0,7,0,7, - 0,2,87,103,32,168,112,32,112,168,32,3,85,101,32,32, - 248,32,32,18,34,98,64,128,5,81,97,248,18,18,98,128, - 128,2,87,103,8,16,16,32,64,64,128,2,87,103,112,136, - 136,136,136,136,112,2,87,103,32,96,32,32,32,32,248,2, - 87,103,112,136,8,16,32,64,248,2,87,103,240,8,8,48, - 8,8,240,2,87,103,16,144,144,248,16,16,16,2,87,103, - 248,128,128,240,8,8,240,2,87,103,112,128,128,240,136,136, - 112,2,87,103,248,8,8,8,8,8,8,2,87,103,112,136, - 136,112,136,136,112,2,87,103,112,136,136,248,8,8,112,18, - 21,101,128,128,0,128,128}; -/* - Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 7 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 = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[878] U8G_FONT_SECTION("u8g_font_fixed_v0r") = { - 1,7,9,0,254,7,1,46,2,94,32,127,254,7,254,7, - 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, - 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, - 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, - 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, - 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, - 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, - 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, - 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, - 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, - 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, - 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, - 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, - 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, - 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, - 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, - 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, - 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, - 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, - 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, - 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, - 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, - 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, - 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, - 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, - 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, - 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, - 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, - 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, - 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, - 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, - 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, - 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, - 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, - 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, - 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, - 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, - 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, - 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, - 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, - 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, - 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, - 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, - 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, - 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, - 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, - 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, - 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, - 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, - 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, - 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, - 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, - 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, - 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, - 103,192,32,16,24,16,32,192,4,82,98,72,176,255}; -/* - Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO8859-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w= 7 h=10 x= 4 y=10 dx= 8 dy= 0 ascent=12 len=10 - Font Bounding box w= 7 h=12 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =10 descent= 1 - X Font ascent =12 descent= 0 - Max Font ascent =12 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[1042] U8G_FONT_SECTION("u8g_font_freedoomr10r") = { - 0,7,12,0,0,10,1,113,3,88,32,127,1,12,0,12, - 0,0,0,0,7,0,1,0,0,0,7,0,1,0,0,0, - 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, - 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, - 1,3,10,10,7,0,2,96,128,128,128,128,128,128,128,128, - 96,3,10,10,7,3,2,192,32,32,32,32,32,32,32,32, - 192,5,5,5,8,1,7,168,112,32,112,168,7,7,7,8, - 0,4,16,16,16,254,16,16,16,2,2,2,7,2,10,64, - 128,7,1,1,8,0,7,254,2,2,2,7,2,2,192,192, - 7,10,10,8,0,2,2,4,4,8,16,16,32,64,64,128, - 6,10,10,7,0,2,252,132,132,132,132,132,132,132,132,252, - 2,10,10,7,4,2,192,64,64,64,64,64,64,64,64,64, - 6,10,10,7,0,2,252,4,4,4,4,252,128,128,128,252, - 6,10,10,7,0,2,252,4,4,4,60,4,4,4,4,252, - 6,10,10,7,0,2,132,132,132,132,132,252,4,4,4,4, - 6,10,10,7,0,2,252,128,128,128,252,4,4,4,4,252, - 6,10,10,7,0,2,252,128,128,128,252,132,132,132,132,252, - 6,10,10,7,0,2,252,4,4,4,4,4,4,4,4,4, - 6,10,10,7,0,2,252,132,132,132,252,132,132,132,132,252, - 6,10,10,7,0,2,252,132,132,132,252,4,4,4,4,252, - 2,7,7,7,2,2,192,192,0,0,0,192,192,0,0,0, - 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, - 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, - 1,7,10,10,8,0,2,254,130,130,130,130,254,130,130,130, - 130,7,10,10,8,0,2,254,130,130,130,252,130,130,130,130, - 254,7,10,10,8,0,2,254,128,128,128,128,128,128,128,128, - 254,7,10,10,8,0,2,252,130,130,130,130,130,130,130,130, - 252,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, - 254,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, - 128,7,10,10,8,0,2,254,128,128,128,158,130,130,130,130, - 254,7,10,10,8,0,2,130,130,130,130,254,130,130,130,130, - 130,1,10,10,8,3,2,128,128,128,128,128,128,128,128,128, - 128,7,10,10,8,0,2,30,2,2,2,2,2,130,130,130, - 124,7,10,10,8,0,2,130,132,136,144,224,160,144,136,132, - 130,7,10,10,8,0,2,128,128,128,128,128,128,128,128,128, - 254,7,10,10,8,0,2,130,198,170,146,130,130,130,130,130, - 130,7,10,10,8,0,2,194,194,162,162,146,146,138,138,134, - 134,7,10,10,8,0,2,124,130,130,130,130,130,130,130,130, - 124,7,10,10,8,0,2,254,130,130,130,254,128,128,128,128, - 128,7,10,10,8,0,2,120,132,132,132,132,132,132,132,132, - 126,7,10,10,8,0,2,254,130,130,130,254,160,144,136,132, - 130,7,10,10,8,0,2,254,128,128,128,128,254,2,2,2, - 254,7,9,9,8,0,3,254,16,16,16,16,16,16,16,16, - 7,10,10,8,0,2,130,130,130,130,130,130,130,130,130,254, - 7,10,10,8,0,2,130,130,130,68,68,108,40,40,16,16, - 7,10,10,8,0,2,130,130,130,130,130,146,146,170,170,198, - 7,10,10,8,0,2,130,68,68,40,16,16,40,68,68,130, - 7,10,10,8,0,2,130,130,130,130,254,16,16,16,16,16, - 7,10,10,8,0,2,254,2,6,12,24,48,96,192,128,254, - 4,10,10,7,0,2,240,128,128,128,128,128,128,128,128,240, - 6,10,10,7,0,2,128,64,64,32,32,16,16,8,8,4, - 4,10,10,7,2,2,240,16,16,16,16,16,16,16,16,240, - 5,3,3,7,1,9,32,80,136,6,1,1,7,0,2,252, - 2,2,2,7,2,10,128,64,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, - 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, - 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, - 0,1}; -/* - Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=24 x= 7 y=13 dx=19 dy= 0 ascent=26 len=72 - Font Bounding box w=18 h=26 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =26 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[943] U8G_FONT_SECTION("u8g_font_freedoomr25n") = { - 0,18,26,0,0,24,3,112,3,144,32,127,0,26,0,24, - 0,0,0,0,11,0,0,255,255,255,255,255,255,255,255,255, - 255,17,16,48,19,1,6,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,255,255,128,255, - 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,7,8,8,11,3,2,62,62,62, - 62,62,240,240,240,9,2,4,11,1,13,255,128,255,128,5, - 5,5,11,5,2,248,248,248,248,248,255,17,24,72,19,1, - 2,255,255,128,255,255,128,192,3,128,192,3,128,192,3,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,192,3,128,192,3,128, - 255,255,128,255,255,128,255,255,128,6,24,24,19,7,2,252, - 252,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,17,24,72,19,1,2,255,255,128, - 255,255,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,128,0,3,128,0,3,128,0,3,128,0,3,128,255,255, - 128,255,255,128,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,255,255,128,255, - 255,128,255,255,128,17,24,72,19,1,2,255,255,128,255,255, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,0,3,128,0,3,128,31,255,128,31, - 255,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, - 128,0,3,128,0,3,128,0,3,128,255,255,128,255,255,128, - 255,255,128,17,24,72,19,1,2,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, - 128,17,24,72,19,1,2,255,255,128,255,255,128,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,255,255,128,255,255,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,17, - 24,72,19,1,2,255,255,128,255,255,128,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,255,255,128,255,255,128,192,3,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,255,255,128,255,255,128,255,255,128,16,24,48, - 19,2,2,255,255,255,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,17,24,72,19,1,2,255,255,128,255,255,128,192, - 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, - 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,255,255,128,255,255,128,255,255, - 128,17,24,72,19,1,2,255,255,128,255,255,128,192,3,128, - 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, - 3,128,192,3,128,192,3,128,255,255,128,255,255,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, - 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,5, - 16,16,11,5,2,248,248,248,248,248,0,0,0,0,0,0, - 248,248,248,248,248,7,16,16,11,3,2,62,62,62,62,62, - 0,0,0,62,62,62,62,62,240,240,240,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,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,255,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=17 x= 4 y=10 dx=17 dy= 0 ascent=17 len=34 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =17 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11[3948] U8G_FONT_SECTION("u8g_font_fub11") = { - 0,24,21,255,252,11,2,82,5,55,32,255,253,17,252,11, - 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, - 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, - 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, - 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, - 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, - 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, - 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, - 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, - 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, - 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, - 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, - 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, - 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, - 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, - 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, - 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, - 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, - 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, - 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, - 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, - 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, - 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, - 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, - 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, - 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, - 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, - 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, - 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, - 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, - 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, - 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, - 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, - 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, - 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, - 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, - 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, - 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, - 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, - 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, - 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, - 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, - 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, - 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, - 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, - 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, - 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, - 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, - 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, - 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, - 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, - 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, - 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, - 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, - 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, - 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, - 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, - 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, - 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, - 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, - 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, - 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, - 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, - 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, - 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, - 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, - 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, - 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, - 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, - 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, - 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, - 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, - 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, - 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, - 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, - 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, - 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, - 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, - 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, - 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, - 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, - 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, - 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, - 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, - 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, - 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, - 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, - 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, - 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, - 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, - 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, - 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, - 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, - 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, - 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, - 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, - 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, - 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, - 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, - 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, - 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, - 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, - 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, - 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, - 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, - 0,3,121,223,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,5,0,0,2,11,11,6,2, - 253,192,0,0,192,192,192,192,192,192,192,192,7,12,12,9, - 1,254,4,4,60,110,206,208,208,214,110,60,32,64,8,11, - 11,10,1,0,62,119,96,96,252,96,96,96,96,96,255,9, - 8,16,10,1,2,128,128,93,0,34,0,65,0,65,0,34, - 0,93,0,128,128,9,11,22,11,1,0,195,128,99,0,103, - 0,247,128,62,0,60,0,255,128,24,0,24,0,24,0,24, - 0,1,14,14,5,2,253,128,128,128,128,128,128,0,0,128, - 128,128,128,128,128,6,14,14,8,1,253,120,236,192,224,120, - 124,204,204,248,120,28,12,156,248,5,1,1,5,0,10,216, - 12,11,22,14,1,0,31,128,57,192,111,96,217,176,152,16, - 152,16,153,144,143,16,64,32,48,192,31,128,5,8,8,7, - 1,3,112,216,120,216,216,120,0,248,8,6,6,10,1,1, - 103,102,238,206,102,103,9,4,8,10,0,3,255,128,0,128, - 0,128,0,128,255,12,11,22,14,1,0,31,128,57,192,111, - 96,201,176,136,144,143,16,137,144,136,144,72,160,48,192,31, - 128,5,1,1,5,0,10,248,4,4,4,6,1,7,96,208, - 144,240,9,10,20,16,3,0,8,0,8,0,8,0,255,128, - 8,0,8,0,8,0,0,0,0,0,255,128,5,6,6,7, - 1,5,112,216,24,48,192,248,5,7,7,7,1,4,112,216, - 24,112,24,216,112,3,3,3,4,1,9,96,192,128,255,7, - 14,14,9,1,253,126,244,244,244,244,116,20,20,20,20,20, - 20,20,20,2,2,2,4,1,4,192,192,4,4,4,3,0, - 252,64,48,176,224,3,6,6,5,1,5,96,224,96,96,96, - 96,6,8,8,8,1,3,120,252,204,204,204,120,0,252,8, - 6,6,10,1,1,204,102,103,103,102,204,12,11,22,13,1, - 0,224,128,97,128,99,0,99,0,102,0,108,224,12,224,25, - 224,25,96,51,240,96,96,11,11,22,13,1,0,97,0,227, - 0,98,0,102,0,100,0,109,224,27,96,24,96,49,192,35, - 0,99,224,12,11,22,13,1,0,120,192,216,128,113,128,217, - 0,115,0,6,96,4,224,13,224,25,96,25,240,48,96,7, - 11,11,9,1,253,24,0,24,24,56,112,224,192,194,254,60, - 11,16,32,11,0,0,24,0,12,0,4,0,0,0,0,0, - 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, - 127,192,96,224,224,96,11,16,32,11,0,0,3,0,2,0, - 4,0,0,0,0,0,14,0,14,0,15,0,27,0,27,128, - 57,128,49,128,63,192,127,192,96,224,224,96,11,16,32,11, - 0,0,6,0,14,0,25,0,0,0,0,0,14,0,14,0, - 15,0,27,0,27,128,57,128,49,128,63,192,127,192,96,224, - 224,96,11,15,30,11,0,0,13,0,23,0,0,0,0,0, - 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, - 127,192,96,224,224,96,11,15,30,11,0,0,27,0,0,0, - 0,0,0,0,14,0,14,0,15,0,27,0,27,0,59,128, - 49,128,63,192,127,192,96,224,224,96,10,17,34,12,1,0, - 12,0,18,0,18,0,30,0,0,0,0,0,12,0,30,0, - 30,0,63,0,51,0,51,0,99,128,127,128,255,192,192,192, - 192,192,15,11,22,16,0,0,3,254,7,128,7,128,13,128, - 29,128,25,254,57,128,63,128,97,128,97,128,193,254,10,15, - 30,12,1,252,31,0,119,128,97,192,192,0,192,0,192,0, - 192,0,193,192,97,192,115,128,62,0,8,0,14,0,2,0, - 28,0,8,16,16,10,1,0,96,48,24,0,0,255,192,192, - 192,192,255,192,192,192,192,255,8,16,16,10,1,0,12,8, - 16,0,0,255,192,192,192,192,255,192,192,192,192,255,8,16, - 16,10,1,0,24,60,36,0,0,255,192,192,192,192,255,192, - 192,192,192,255,8,15,15,10,1,0,102,0,0,0,255,192, - 192,192,192,255,192,192,192,192,255,4,16,16,4,255,0,192, - 96,48,0,0,48,48,48,48,48,48,48,48,48,48,48,4, - 16,16,4,1,0,112,96,192,0,0,192,192,192,192,192,192, - 192,192,192,192,192,4,16,16,4,0,0,96,240,144,0,0, - 96,96,96,96,96,96,96,96,96,96,96,5,15,15,5,0, - 0,216,0,0,0,48,48,48,48,48,48,48,48,48,48,48, - 11,11,22,12,0,0,127,0,99,128,96,192,96,224,96,96, - 252,96,96,96,96,224,96,192,99,128,127,0,10,15,30,12, - 1,0,25,0,22,0,0,0,0,0,240,192,240,192,248,192, - 216,192,220,192,204,192,206,192,198,192,199,192,195,192,195,192, - 11,16,32,13,1,0,24,0,8,0,12,0,0,0,0,0, - 31,0,123,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,123,192,31,0,11,16,32,13,1,0,3,0,2,0, - 4,0,0,0,0,0,31,0,123,192,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,0,11,16,32,13, - 1,0,14,0,27,0,17,0,0,0,0,0,31,0,123,192, - 96,192,192,96,192,96,192,96,192,96,192,96,96,192,123,192, - 31,0,11,15,30,13,1,0,31,0,0,0,0,0,0,0, - 31,0,123,192,96,192,192,96,192,96,192,96,192,96,224,224, - 96,192,127,192,31,0,11,15,30,13,1,0,27,0,0,0, - 0,0,0,0,31,0,123,192,96,192,192,96,192,96,192,96, - 192,96,192,96,96,192,123,192,31,0,8,8,8,16,4,0, - 129,195,102,24,24,36,66,129,11,11,22,13,1,0,31,160, - 59,192,96,192,193,96,194,96,196,96,200,96,208,96,224,192, - 123,128,191,0,10,16,32,12,1,0,48,0,24,0,8,0, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,62,0,10,16,32,12,1,0, - 3,0,6,0,4,0,0,0,0,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,62,0, - 10,16,32,12,1,0,28,0,30,0,51,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,62,0,10,15,30,12,1,0,51,0,0,0, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,115,128,62,0,10,16,32,10,0,0, - 6,0,6,0,4,0,0,0,0,0,225,192,113,128,51,128, - 59,0,31,0,30,0,12,0,12,0,12,0,12,0,12,0, - 8,11,11,10,1,0,192,192,254,199,195,195,199,254,192,192, - 192,8,11,11,10,1,0,124,238,198,206,220,216,206,199,195, - 219,222,7,12,12,9,1,0,96,48,16,0,60,110,6,126, - 230,198,238,118,7,12,12,9,1,0,12,24,16,0,60,110, - 6,126,230,198,238,118,7,12,12,9,1,0,56,44,68,0, - 60,110,6,126,230,198,238,118,7,11,11,9,1,0,60,0, - 0,60,110,6,126,230,198,238,118,7,11,11,9,1,0,108, - 0,0,60,230,6,126,230,198,238,118,7,13,13,9,1,0, - 24,36,36,60,0,60,102,6,126,230,198,238,126,13,8,16, - 15,1,0,60,224,103,176,7,24,127,248,231,0,199,24,237, - 184,120,240,7,12,12,9,1,252,60,110,198,192,192,198,110, - 60,16,28,4,56,7,13,13,9,1,0,96,32,48,16,0, - 60,110,198,254,192,198,110,60,7,13,13,9,1,0,12,12, - 24,16,0,60,110,198,254,192,198,110,60,7,13,13,9,1, - 0,24,56,44,68,0,60,110,198,254,192,198,110,60,7,12, - 12,9,1,0,108,0,0,0,60,110,198,254,192,206,110,60, - 3,12,12,4,0,0,192,96,32,0,96,96,96,96,96,96, - 96,96,3,12,12,4,1,0,96,192,128,0,192,192,192,192, - 192,192,192,192,5,12,12,4,0,0,96,208,136,0,96,96, - 96,96,96,96,96,96,5,11,11,5,0,0,216,0,0,48, - 48,48,48,48,48,48,48,8,11,11,10,1,0,51,28,102, - 62,103,195,195,195,195,103,60,7,11,11,9,1,0,60,0, - 0,220,238,198,198,198,198,198,198,8,13,13,10,1,0,96, - 48,16,8,0,60,102,195,195,195,195,102,60,8,13,13,10, - 1,0,6,12,8,16,0,60,102,195,195,195,195,102,60,8, - 13,13,10,1,0,24,28,36,34,0,60,102,195,195,195,195, - 102,60,8,11,11,10,1,0,60,0,0,60,102,195,195,195, - 195,102,60,8,12,12,10,1,0,102,0,0,0,60,102,195, - 195,195,195,102,60,10,6,12,16,3,2,12,0,0,0,255, - 192,0,0,0,0,12,0,8,10,10,10,1,255,1,62,102, - 207,203,211,227,118,252,128,7,12,12,9,1,0,96,48,16, - 0,198,198,198,198,198,198,238,118,7,12,12,9,1,0,12, - 24,16,0,198,198,198,198,198,198,238,118,7,12,12,9,1, - 0,56,40,68,0,198,198,198,198,198,198,238,118,7,11,11, - 9,1,0,108,0,0,198,198,198,198,198,198,238,118,9,16, - 32,9,0,253,7,0,6,0,12,0,8,0,0,0,99,128, - 99,0,115,0,54,0,54,0,30,0,28,0,28,0,28,0, - 248,0,112,0,8,14,14,10,1,253,192,192,192,220,230,195, - 195,195,199,230,220,192,192,192,8,14,14,9,1,253,108,0, - 0,199,198,238,108,108,60,56,56,56,48,48}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=16 dy= 0 ascent=11 len=18 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11n[280] U8G_FONT_SECTION("u8g_font_fub11n") = { - 0,24,21,255,252,11,0,0,0,0,42,58,0,11,254,11, - 0,6,5,5,10,2,5,120,48,252,48,120,9,9,18,16, - 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,3,4,4,5,1,254,96,96,192,192,4,2, - 2,6,1,3,240,240,2,2,2,5,2,0,192,192,5,12, - 12,7,1,255,24,24,16,48,48,32,32,96,96,64,192,192, - 8,11,11,9,1,0,60,102,195,195,195,195,195,195,195,102, - 60,4,11,11,9,2,0,48,240,240,48,48,48,48,48,48, - 48,48,8,11,11,9,1,0,62,119,99,3,7,6,30,60, - 112,224,255,8,11,11,9,1,0,124,238,198,6,60,6,3, - 195,199,126,60,8,11,11,9,1,0,14,30,30,54,102,102, - 198,255,255,6,6,8,11,11,9,1,0,254,192,192,192,254, - 231,3,3,199,254,124,8,11,11,9,1,0,60,118,67,192, - 222,231,195,195,195,102,60,8,11,11,9,1,0,255,3,7, - 6,14,12,28,24,56,56,112,8,11,11,9,1,0,126,231, - 195,231,60,102,195,195,195,231,60,8,11,11,9,1,0,60, - 102,195,195,231,127,3,3,198,110,60,2,8,8,5,2,0, - 192,192,0,0,0,0,192,192}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=12 len=28 - Font Bounding box w=24 h=21 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub11r[1829] U8G_FONT_SECTION("u8g_font_fub11r") = { - 0,24,21,255,252,11,2,82,5,55,32,127,253,12,252,11, - 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, - 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, - 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, - 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, - 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, - 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, - 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, - 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, - 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, - 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, - 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, - 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, - 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, - 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, - 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, - 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, - 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, - 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, - 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, - 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, - 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, - 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, - 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, - 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, - 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, - 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, - 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, - 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, - 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, - 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, - 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, - 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, - 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, - 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, - 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, - 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, - 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, - 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, - 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, - 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, - 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, - 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, - 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, - 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, - 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, - 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, - 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, - 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, - 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, - 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, - 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, - 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, - 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, - 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, - 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, - 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, - 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, - 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, - 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, - 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, - 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, - 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, - 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, - 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, - 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, - 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, - 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, - 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, - 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, - 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, - 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, - 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, - 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, - 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, - 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, - 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, - 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, - 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, - 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, - 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, - 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, - 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, - 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, - 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, - 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, - 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, - 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, - 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, - 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, - 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, - 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, - 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, - 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, - 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, - 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, - 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, - 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, - 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, - 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, - 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, - 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, - 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, - 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, - 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, - 0,3,121,223,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=21 len=54 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14[5788] U8G_FONT_SECTION("u8g_font_fub14") = { - 0,31,26,254,251,14,3,116,7,95,32,255,252,21,251,14, - 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, - 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, - 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, - 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, - 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, - 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, - 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, - 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, - 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, - 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, - 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, - 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, - 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, - 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, - 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, - 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, - 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, - 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, - 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, - 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, - 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, - 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, - 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, - 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, - 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, - 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, - 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, - 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, - 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, - 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, - 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, - 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, - 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, - 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, - 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, - 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, - 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, - 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, - 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, - 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, - 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, - 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, - 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, - 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, - 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, - 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, - 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, - 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, - 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, - 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, - 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, - 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, - 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, - 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, - 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, - 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, - 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, - 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, - 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, - 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, - 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, - 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, - 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, - 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, - 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, - 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, - 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, - 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, - 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, - 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, - 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, - 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, - 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, - 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, - 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, - 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, - 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, - 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, - 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, - 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, - 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, - 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, - 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, - 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, - 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, - 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, - 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, - 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, - 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, - 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, - 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, - 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, - 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, - 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, - 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, - 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, - 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, - 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, - 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, - 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, - 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, - 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, - 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, - 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, - 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, - 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, - 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, - 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, - 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, - 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, - 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, - 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, - 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, - 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, - 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, - 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, - 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, - 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, - 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, - 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, - 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, - 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, - 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, - 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, - 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, - 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, - 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, - 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, - 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, - 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, - 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, - 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, - 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, - 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, - 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, - 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, - 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, - 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, - 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, - 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, - 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, - 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, - 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, - 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, - 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, - 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, - 4,48,96,127,192,199,128,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,0,3,14, - 14,9,3,252,224,224,0,0,224,224,224,224,224,224,224,224, - 224,224,9,14,28,11,1,254,2,0,2,0,62,0,127,0, - 231,128,231,128,232,0,232,0,235,128,243,128,127,0,62,0, - 32,0,32,0,10,14,28,12,1,0,31,0,63,192,113,192, - 112,0,112,0,254,0,254,0,112,0,112,0,112,0,112,0, - 112,0,255,192,255,192,10,10,20,12,1,3,128,64,94,128, - 33,0,64,128,64,128,64,128,64,128,33,0,94,128,128,64, - 11,14,28,13,1,0,224,224,225,192,113,192,113,128,251,224, - 251,224,31,0,255,224,255,224,14,0,14,0,14,0,14,0, - 14,0,1,18,18,7,3,252,128,128,128,128,128,128,128,128, - 0,0,128,128,128,128,128,128,128,128,8,18,18,10,1,252, - 62,126,224,224,112,60,126,231,231,231,254,124,30,7,7,135, - 254,56,7,2,2,7,0,12,238,238,15,14,28,17,1,0, - 7,192,31,240,55,152,111,204,204,228,156,2,156,2,156,226, - 140,226,207,198,71,132,32,24,28,112,15,192,7,9,9,8, - 1,5,120,204,124,204,204,252,36,0,254,10,8,16,12,1, - 1,57,192,113,128,115,128,231,0,231,0,115,128,113,128,57, - 192,11,5,10,13,1,4,255,224,255,224,0,32,0,32,0, - 32,255,15,14,28,17,1,0,7,192,31,240,63,152,111,236, - 204,100,140,98,143,194,143,194,140,98,204,102,76,100,32,24, - 28,112,15,192,6,2,2,6,0,12,252,252,5,5,5,7, - 1,9,112,136,136,136,112,12,12,24,20,4,0,2,0,2, - 0,2,0,255,240,255,240,2,0,2,0,2,0,0,0,0, - 0,255,240,255,240,6,8,8,8,1,6,120,204,12,24,48, - 224,252,252,6,7,7,8,1,7,120,204,12,48,12,204,120, - 4,4,4,4,1,12,48,96,96,192,255,9,17,34,11,1, - 253,63,128,121,0,249,0,249,0,249,0,249,0,121,0,9, - 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9, - 0,9,0,3,3,3,6,2,5,224,224,224,5,5,5,5, - 1,251,64,112,24,24,240,4,8,8,6,1,6,48,240,48, - 48,48,48,48,48,7,9,9,9,1,5,56,68,198,198,198, - 68,56,0,254,10,8,16,12,1,1,231,0,99,128,115,128, - 57,192,57,192,115,128,99,128,231,0,14,14,28,16,1,0, - 112,48,240,48,48,96,48,192,48,192,49,128,49,156,51,60, - 6,60,6,108,12,204,24,252,24,12,48,12,15,14,28,17, - 1,0,112,48,240,32,48,96,48,192,48,192,49,128,51,60, - 51,102,6,6,12,14,12,28,24,48,48,126,48,126,14,14, - 28,16,1,0,120,24,204,48,12,48,48,96,12,192,204,192, - 121,156,1,188,3,60,6,108,6,204,12,252,8,12,24,12, - 9,14,28,11,1,252,14,0,14,0,0,0,14,0,14,0, - 14,0,60,0,112,0,224,0,224,0,225,128,225,128,127,128, - 62,0,14,20,40,14,0,0,12,0,14,0,6,0,3,0, - 0,0,0,0,7,128,7,128,7,192,15,192,14,192,28,224, - 28,224,28,96,56,112,63,240,63,248,112,56,112,56,224,28, - 14,20,40,14,0,0,0,192,1,192,1,128,3,0,0,0, - 0,0,7,128,7,128,7,192,15,192,14,192,28,224,28,224, - 28,96,56,112,63,240,63,248,112,56,112,56,224,28,14,20, - 40,14,0,0,3,128,7,128,6,192,12,192,0,0,0,0, - 7,128,7,128,7,192,15,192,14,192,28,224,28,224,28,96, - 56,112,63,240,63,248,112,56,112,56,224,28,14,19,38,14, - 0,0,6,64,15,192,8,128,0,0,0,0,7,128,7,128, - 7,192,15,192,14,192,28,224,28,224,28,96,56,112,63,240, - 63,248,112,56,112,56,224,28,14,19,38,15,0,0,14,224, - 14,224,0,0,0,0,0,0,3,128,7,128,7,192,7,192, - 14,192,14,224,28,224,28,112,28,112,63,248,63,248,112,56, - 112,28,224,28,13,21,42,15,1,0,7,0,8,128,8,128, - 8,128,7,0,0,0,0,0,7,0,15,128,15,128,29,192, - 29,192,29,192,56,224,56,224,48,96,127,240,127,240,224,56, - 224,56,224,56,19,14,42,20,0,0,0,255,224,1,255,224, - 3,240,0,3,112,0,7,112,0,7,112,0,14,127,192,14, - 127,192,28,112,0,31,240,0,63,240,0,112,112,0,112,127, - 224,224,127,224,13,18,36,15,1,252,15,128,63,224,112,240, - 96,112,224,0,224,0,224,0,224,0,224,0,224,120,96,112, - 112,240,63,224,31,128,4,0,7,128,1,128,15,0,10,20, - 40,12,1,0,48,0,56,0,24,0,12,0,0,0,0,0, - 255,192,255,192,224,0,224,0,224,0,224,0,255,128,255,128, - 224,0,224,0,224,0,224,0,255,192,255,192,10,20,40,12, - 1,0,7,0,6,0,12,0,8,0,0,0,0,0,255,192, - 255,192,224,0,224,0,224,0,224,0,255,128,255,128,224,0, - 224,0,224,0,224,0,255,192,255,192,10,20,40,12,1,0, - 28,0,30,0,54,0,35,0,0,0,0,0,255,192,255,192, - 224,0,224,0,224,0,224,0,255,128,255,128,224,0,224,0, - 224,0,224,0,255,192,255,192,10,19,38,12,1,0,119,0, - 119,0,0,0,0,0,0,0,255,192,255,192,224,0,224,0, - 224,0,224,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,192,255,192,5,20,20,5,255,0,224,96,48,16,0,0, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,4,20, - 20,5,1,0,48,112,96,192,0,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,5,20,20,5,0,0,112,112, - 216,136,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,7,19,19,7,0,0,238,238,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,13,14,28,14,0, - 0,127,128,127,224,112,240,112,112,112,56,112,56,254,56,254, - 56,112,56,112,56,112,112,112,240,127,224,127,128,13,19,38, - 15,1,0,12,64,31,128,17,0,0,0,0,0,240,56,248, - 56,248,56,252,56,238,56,238,56,231,56,231,56,227,184,227, - 184,225,248,225,248,224,248,224,248,14,20,40,16,1,0,28, - 0,12,0,6,0,2,0,0,0,0,0,15,192,63,240,112, - 112,96,56,224,24,224,28,224,28,224,28,224,28,224,24,96, - 56,112,112,63,240,15,192,14,20,40,16,1,0,0,224,1, - 192,1,128,3,0,0,0,0,0,15,192,63,240,112,112,96, - 56,224,24,224,28,224,28,224,28,224,28,224,24,96,56,112, - 112,63,240,15,192,14,20,40,16,1,0,7,0,7,128,13, - 192,8,192,0,0,0,0,15,192,63,240,112,112,96,56,224, - 24,224,28,224,28,224,28,224,28,224,24,96,56,112,112,63, - 240,15,192,14,19,38,16,1,0,7,192,15,192,0,0,0, - 0,0,0,15,192,63,240,112,48,96,56,224,24,224,28,224, - 28,224,28,224,28,224,24,112,56,120,240,63,240,15,192,14, - 19,38,16,1,0,29,192,29,192,0,0,0,0,0,0,15, - 192,63,240,112,112,96,56,224,24,224,28,224,28,224,28,224, - 28,224,24,96,56,112,112,63,240,15,192,10,10,20,20,5, - 1,128,64,192,192,97,128,51,0,12,0,12,0,18,0,33, - 0,64,128,128,64,15,16,32,16,0,255,0,2,7,230,31, - 252,56,60,48,60,112,108,112,238,113,206,115,142,119,14,126, - 12,124,28,56,56,63,240,239,224,64,0,12,20,40,14,1, - 0,56,0,24,0,12,0,6,0,0,0,0,0,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,113,224,63,192,31,128,12,20,40,14,1,0,1, - 192,3,128,3,0,6,0,0,0,0,0,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,113,224,63,192,31,128,12,20,40,14,1,0,14,0,15, - 0,27,0,17,128,0,0,0,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,113, - 224,63,192,31,128,12,19,38,14,1,0,29,192,29,192,0, - 0,0,0,0,0,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,63,192,31, - 128,12,19,38,13,0,0,1,128,3,0,2,0,0,0,0, - 0,240,112,112,240,56,224,56,224,29,192,29,192,15,128,15, - 0,7,0,7,0,7,0,7,0,7,0,7,0,11,14,28, - 13,1,0,224,0,224,0,255,0,255,192,225,192,224,224,224, - 224,224,224,225,192,255,128,254,0,224,0,224,0,224,0,10, - 14,28,12,1,0,62,0,127,128,227,128,227,128,227,0,231, - 0,238,0,238,0,231,128,227,192,225,192,253,192,255,192,239, - 128,9,16,32,11,1,0,112,0,48,0,24,0,8,0,0, - 0,0,0,62,0,127,128,227,128,31,128,127,128,227,128,227, - 128,227,128,255,128,57,128,9,16,32,11,1,0,7,0,6, - 0,12,0,12,0,0,0,0,0,62,0,127,128,227,128,3, - 128,63,128,251,128,227,128,227,128,255,128,121,128,9,16,32, - 11,1,0,28,0,30,0,54,0,35,0,0,0,0,0,62, - 0,127,128,227,128,31,128,127,128,227,128,227,128,227,128,255, - 128,57,128,9,14,28,11,1,0,63,0,62,0,0,0,0, - 0,62,0,127,128,227,128,31,128,127,128,227,128,227,128,227, - 128,255,128,57,128,9,15,30,11,1,0,119,0,119,0,0, - 0,0,0,0,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,9,17,34,11,1,0,28, - 0,34,0,34,0,34,0,28,0,0,0,0,0,62,0,127, - 128,227,128,31,128,127,128,227,128,227,128,227,128,255,128,57, - 128,16,10,20,18,1,0,62,124,127,254,227,135,31,255,127, - 255,227,128,227,128,227,199,254,254,60,124,9,14,28,11,1, - 252,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,16,0,30,0,6,0,62,0,9,16,32, - 11,1,0,112,0,48,0,24,0,8,0,0,0,0,0,30, - 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, - 128,62,0,9,16,32,11,1,0,7,0,6,0,12,0,8, - 0,0,0,0,0,30,0,127,0,227,128,227,128,255,128,255, - 128,224,0,227,128,127,128,62,0,9,16,32,11,1,0,28, - 0,30,0,54,0,35,0,0,0,0,0,30,0,127,0,227, - 128,227,128,255,128,255,128,224,0,227,128,127,128,62,0,9, - 15,30,11,1,0,119,0,119,0,0,0,0,0,0,0,30, - 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, - 128,62,0,4,15,15,5,0,0,192,224,96,48,0,112,112, - 112,112,112,112,112,112,112,112,4,15,15,4,1,0,112,96, - 192,128,0,224,224,224,224,224,224,224,224,224,224,7,15,15, - 5,255,0,56,124,76,198,0,56,56,56,56,56,56,56,56, - 56,56,7,14,14,6,0,0,238,238,0,0,56,56,56,56, - 56,56,56,56,56,56,10,14,28,12,1,0,57,128,15,0, - 31,0,99,0,31,128,127,128,97,192,225,192,225,192,225,192, - 225,192,97,192,127,128,31,0,9,14,28,11,1,0,62,0, - 60,0,0,0,0,0,239,0,255,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,16,32,12,1,0, - 48,0,24,0,24,0,12,0,0,0,0,0,30,0,127,128, - 97,128,225,192,225,192,225,192,225,192,97,128,127,128,30,0, - 10,16,32,12,1,0,3,0,6,0,6,0,12,0,0,0, - 0,0,30,0,127,128,97,128,225,192,225,192,225,192,225,192, - 97,128,127,128,30,0,10,16,32,12,1,0,12,0,30,0, - 26,0,51,0,0,0,0,0,30,0,127,128,97,128,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,10,14,28,12, - 1,0,31,0,62,0,0,0,0,0,30,0,127,128,97,128, - 225,192,225,192,225,192,225,192,97,128,127,128,30,0,10,15, - 30,12,1,0,59,128,59,128,0,0,0,0,0,0,30,0, - 127,128,97,128,225,192,225,192,225,192,225,192,97,128,127,128, - 30,0,12,8,16,20,4,2,6,0,14,0,0,0,255,240, - 255,240,0,0,6,0,14,0,10,12,24,12,1,0,0,192, - 31,128,127,128,99,128,231,192,237,192,233,192,241,192,113,128, - 127,128,222,0,128,0,9,16,32,11,1,0,112,0,48,0, - 24,0,8,0,0,0,0,0,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,255,128,123,128,9,16,32,11, - 1,0,7,0,6,0,12,0,8,0,0,0,0,0,227,128, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,255,128, - 123,128,9,16,32,11,1,0,28,0,28,0,54,0,34,0, - 0,0,0,0,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,255,128,123,128,9,15,30,11,1,0,119,0, - 119,0,0,0,0,0,0,0,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,255,128,123,128,11,19,38,11, - 0,252,1,128,3,0,2,0,4,0,0,0,112,224,113,192, - 113,192,57,192,59,128,27,128,31,128,31,0,15,0,14,0, - 14,0,78,0,252,0,120,0,10,18,36,12,1,252,224,0, - 224,0,224,0,224,0,239,0,255,128,225,128,225,192,225,192, - 225,192,225,192,225,192,255,128,255,0,224,0,224,0,224,0, - 224,0,11,18,36,11,0,252,59,128,59,128,0,0,0,0, - 225,224,113,192,113,192,115,128,59,128,59,128,31,0,31,0, - 31,0,14,0,14,0,12,0,28,0,28,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=12 h=15 x= 4 y= 7 dx=20 dy= 0 ascent=14 len=28 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14n[452] U8G_FONT_SECTION("u8g_font_fub14n") = { - 0,31,26,254,251,14,0,0,0,0,42,58,0,14,254,14, - 0,8,7,7,12,2,7,102,60,24,255,24,60,102,12,12, - 24,20,4,0,2,0,2,0,2,0,2,0,2,0,255,240, - 255,240,2,0,2,0,2,0,2,0,2,0,4,5,5,6, - 1,254,112,112,96,224,192,5,3,3,7,1,4,248,248,248, - 3,3,3,6,2,0,224,224,224,6,15,15,9,1,255,12, - 12,12,12,24,24,24,48,48,48,96,96,96,96,192,10,14, - 28,11,1,0,30,0,127,0,97,128,225,192,225,192,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,127,128,30,0, - 6,14,14,11,2,0,28,124,252,220,28,28,28,28,28,28, - 28,28,28,28,10,14,28,11,1,0,31,0,127,128,97,192, - 225,192,1,192,1,192,3,128,7,128,15,0,30,0,56,0, - 112,0,255,192,255,192,10,14,28,11,1,0,62,0,127,0, - 227,128,3,128,3,128,31,0,31,0,3,128,1,192,1,192, - 225,192,243,128,127,0,62,0,11,14,28,11,1,0,7,128, - 15,128,15,128,27,128,59,128,51,128,115,128,99,128,227,128, - 255,224,255,224,3,128,3,128,3,128,10,14,28,11,1,0, - 255,128,255,128,224,0,224,0,224,0,255,0,255,128,225,128, - 1,192,1,192,225,192,227,128,127,0,62,0,10,14,28,11, - 1,0,30,0,63,128,97,128,96,0,224,0,223,0,255,128, - 225,128,225,192,225,192,225,192,97,128,127,128,30,0,10,14, - 28,11,1,0,255,192,255,192,1,192,3,128,3,128,7,128, - 7,0,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 10,14,28,11,1,0,63,0,127,128,225,192,225,192,225,128, - 127,0,63,0,115,128,225,192,225,192,225,192,225,192,127,128, - 63,0,10,14,28,11,1,0,30,0,127,0,225,128,225,128, - 225,192,225,192,243,192,127,192,25,192,1,128,225,128,99,128, - 127,0,62,0,3,10,10,7,3,0,224,224,224,0,0,0, - 0,224,224,224}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=16 len=54 - Font Bounding box w=31 h=26 x=-2 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub14r[2680] U8G_FONT_SECTION("u8g_font_fub14r") = { - 0,31,26,254,251,14,3,116,7,95,32,127,252,16,251,14, - 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, - 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, - 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, - 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, - 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, - 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, - 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, - 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, - 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, - 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, - 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, - 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, - 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, - 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, - 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, - 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, - 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, - 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, - 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, - 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, - 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, - 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, - 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, - 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, - 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, - 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, - 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, - 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, - 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, - 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, - 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, - 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, - 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, - 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, - 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, - 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, - 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, - 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, - 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, - 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, - 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, - 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, - 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, - 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, - 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, - 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, - 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, - 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, - 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, - 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, - 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, - 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, - 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, - 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, - 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, - 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, - 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, - 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, - 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, - 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, - 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, - 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, - 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, - 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, - 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, - 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, - 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, - 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, - 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, - 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, - 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, - 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, - 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, - 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, - 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, - 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, - 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, - 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, - 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, - 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, - 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, - 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, - 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, - 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, - 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, - 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, - 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, - 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, - 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, - 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, - 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, - 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, - 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, - 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, - 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, - 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, - 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, - 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, - 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, - 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, - 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, - 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, - 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, - 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, - 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, - 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, - 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, - 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, - 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, - 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, - 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, - 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, - 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, - 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, - 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, - 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, - 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, - 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, - 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, - 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, - 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, - 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, - 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, - 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, - 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, - 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, - 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, - 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, - 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, - 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, - 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, - 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, - 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, - 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, - 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, - 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, - 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, - 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, - 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, - 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, - 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, - 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, - 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, - 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, - 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, - 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, - 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, - 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, - 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, - 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, - 4,48,96,127,192,199,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=25 x= 6 y=15 dx=24 dy= 0 ascent=25 len=66 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17[6938] U8G_FONT_SECTION("u8g_font_fub17") = { - 0,34,31,254,250,17,4,8,8,209,32,255,251,25,250,17, - 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, - 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, - 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, - 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, - 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, - 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, - 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, - 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, - 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, - 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, - 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, - 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, - 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, - 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, - 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, - 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, - 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, - 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, - 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, - 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, - 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, - 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, - 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, - 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, - 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, - 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, - 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, - 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, - 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, - 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, - 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, - 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, - 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, - 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, - 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, - 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, - 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, - 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, - 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, - 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, - 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, - 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, - 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, - 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, - 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, - 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, - 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, - 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, - 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, - 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, - 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, - 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, - 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, - 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, - 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, - 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, - 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, - 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, - 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, - 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, - 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, - 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, - 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, - 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, - 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, - 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, - 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, - 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, - 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, - 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, - 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, - 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, - 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, - 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, - 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, - 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, - 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, - 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, - 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, - 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, - 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, - 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, - 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, - 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, - 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, - 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, - 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, - 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, - 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, - 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, - 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, - 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, - 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, - 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, - 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, - 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, - 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, - 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, - 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, - 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, - 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, - 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, - 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, - 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, - 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, - 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, - 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, - 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, - 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, - 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, - 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, - 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, - 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, - 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, - 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, - 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, - 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, - 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, - 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, - 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, - 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, - 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, - 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, - 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, - 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, - 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, - 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, - 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, - 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, - 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, - 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, - 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, - 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, - 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, - 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, - 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, - 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, - 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, - 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, - 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, - 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, - 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, - 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, - 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, - 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, - 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, - 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, - 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, - 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, - 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, - 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, - 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, - 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, - 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, - 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, - 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, - 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, - 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, - 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, - 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, - 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, - 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, - 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, - 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, - 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, - 48,127,240,227,192,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,7,0,0,3,17,17,9, - 3,251,224,224,224,0,0,224,224,224,224,224,224,224,224,224, - 224,224,224,10,18,36,13,1,253,1,0,1,0,3,0,31, - 0,127,128,115,192,231,192,228,0,228,0,236,0,233,192,233, - 192,123,192,127,128,31,0,16,0,48,0,32,0,11,17,34, - 13,1,0,15,128,31,224,56,224,56,224,56,0,56,0,255, - 0,255,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,255,224,255,224,11,12,24,13,1,4,128,32,95,64,113, - 128,96,128,64,64,64,64,64,64,64,64,96,192,49,128,95, - 64,128,32,13,17,34,15,1,0,224,120,240,120,112,112,120, - 240,56,224,253,248,253,248,31,192,15,128,255,248,255,248,7, - 0,7,0,7,0,7,0,7,0,7,0,1,22,22,8,4, - 251,128,128,128,128,128,128,128,128,128,0,0,0,0,128,128, - 128,128,128,128,128,128,128,9,21,42,11,1,252,63,0,127, - 0,241,0,224,0,224,0,120,0,62,0,63,0,119,128,227, - 128,227,128,231,128,255,0,126,0,31,0,7,128,3,128,3, - 128,135,128,255,0,124,0,8,3,3,8,0,15,231,231,231, - 17,17,51,19,1,0,3,224,0,15,248,0,60,30,0,51, - 230,0,103,243,0,103,59,0,206,57,128,206,1,128,206,1, - 128,206,1,128,206,57,128,78,57,0,103,243,0,51,230,0, - 56,14,0,15,248,0,3,224,0,8,11,11,10,1,6,60, - 102,6,126,230,198,198,126,0,0,255,11,9,18,14,1,1, - 60,224,56,224,121,224,113,192,243,192,113,192,121,224,56,224, - 60,224,12,5,10,14,1,5,255,240,0,16,0,16,0,16, - 0,16,255,17,17,51,19,1,0,3,224,0,15,248,0,60, - 30,0,55,246,0,103,251,0,102,27,0,198,25,128,199,241, - 128,199,241,128,198,57,128,198,25,128,70,25,0,102,27,0, - 48,6,0,56,14,0,15,248,0,3,224,0,7,2,2,7, - 0,15,254,254,5,5,5,7,1,12,112,136,136,136,112,14, - 14,28,24,5,0,2,0,2,0,2,0,2,0,255,252,255, - 252,2,0,2,0,2,0,2,0,0,0,0,0,255,252,255, - 252,7,9,9,9,1,8,124,230,6,14,28,56,224,254,254, - 7,9,9,9,1,8,124,206,6,14,56,14,6,206,124,5, - 4,4,5,1,14,56,112,96,192,255,11,20,40,14,2,253, - 63,224,125,128,253,128,253,128,253,128,253,128,253,128,125,128, - 13,128,13,128,13,128,13,128,13,128,13,128,13,128,13,128, - 13,128,13,128,13,128,13,128,3,3,3,7,2,6,224,224, - 224,6,5,5,6,1,251,32,56,12,12,248,4,9,9,6, - 1,8,48,240,176,48,48,48,48,48,48,8,11,11,10,1, - 6,60,102,195,195,195,195,231,126,60,0,255,12,9,18,14, - 1,1,227,128,113,192,121,224,56,224,60,240,56,224,121,224, - 113,192,227,128,16,17,34,18,1,0,48,24,240,24,176,48, - 48,112,48,96,48,224,48,192,49,128,49,142,3,14,3,30, - 6,54,14,54,12,102,24,127,24,6,48,6,16,17,34,18, - 1,0,48,24,240,48,176,48,48,96,48,224,48,192,49,192, - 49,128,51,62,3,119,6,3,6,7,12,14,28,28,24,112, - 48,127,48,127,17,17,51,19,1,0,124,6,0,198,12,0, - 6,12,0,56,24,0,14,56,0,6,48,0,206,112,0,124, - 96,0,0,199,0,1,199,0,1,143,0,3,155,0,3,27, - 0,7,51,0,6,63,128,12,3,0,28,3,0,10,17,34, - 12,1,251,14,0,14,0,0,0,0,0,14,0,14,0,14, - 0,28,0,56,0,112,0,240,0,224,0,224,128,224,192,115, - 192,127,128,31,0,16,24,48,16,0,0,14,0,7,0,3, - 0,3,128,1,128,0,0,0,0,3,192,3,192,3,224,7, - 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, - 252,63,252,127,254,120,14,112,15,240,7,16,24,48,16,0, - 0,0,112,0,96,0,224,0,192,1,128,0,0,0,0,3, - 192,3,192,3,224,7,224,7,240,15,112,14,112,14,120,30, - 56,28,56,28,60,63,252,63,252,127,254,120,14,112,15,240, - 7,16,24,48,16,0,0,1,192,3,192,3,224,6,96,4, - 48,0,0,0,0,3,192,3,192,3,224,7,224,7,240,15, - 112,14,112,14,120,30,56,28,56,28,60,63,252,63,252,127, - 254,120,14,112,15,240,7,16,23,46,16,0,0,0,16,7, - 240,7,224,0,0,0,0,0,0,3,192,3,192,3,224,7, - 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, - 252,63,252,127,254,120,14,112,15,240,7,16,23,46,17,0, - 0,14,112,14,112,14,112,0,0,0,0,0,0,3,192,3, - 192,7,224,7,224,7,224,15,112,14,112,30,120,30,56,28, - 56,60,60,63,252,127,254,127,254,112,14,240,15,224,7,15, - 25,50,16,1,0,3,128,6,192,4,64,4,64,4,192,3, - 128,0,0,0,0,3,128,7,192,7,192,15,192,14,224,14, - 224,30,224,28,112,28,112,60,112,56,120,63,248,127,252,127, - 252,112,28,240,30,224,14,21,17,51,23,1,0,0,255,248, - 0,255,248,1,248,0,1,248,0,3,184,0,3,184,0,7, - 56,0,7,63,248,14,63,248,14,56,0,30,56,0,31,248, - 0,63,248,0,120,56,0,112,56,0,240,63,248,224,63,248, - 14,22,44,16,1,251,15,192,31,240,63,248,120,56,112,60, - 240,28,224,0,224,0,224,0,224,0,224,0,224,0,112,28, - 112,60,56,120,31,240,15,192,3,0,3,192,0,96,0,96, - 7,192,11,24,48,15,2,0,56,0,24,0,28,0,12,0, - 6,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,255,224,255,224,255,224,11,24,48,15,2,0,3,128, - 3,0,7,0,6,0,12,0,0,0,0,0,255,224,255,224, - 255,224,224,0,224,0,224,0,224,0,255,224,255,224,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,255,224,11,24, - 48,15,2,0,14,0,31,0,27,0,59,128,49,128,0,0, - 0,0,255,224,255,224,255,224,224,0,224,0,224,0,224,0, - 255,224,255,224,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,255,224,11,23,46,15,2,0,59,128,59,128,59,128, - 0,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,255,224,255,224,255,224,5,24,24,7,0,0,224,224, - 96,48,16,0,0,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,5,24,24,5,1,0,56,48,112,96, - 192,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,7,24,24,7,0,0,56,56,108,108,198,0, - 0,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,8,23,23,8,0,0,231,231,231,0,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,15, - 17,34,16,0,0,63,192,63,240,63,248,56,60,56,28,56, - 30,56,14,56,14,255,14,255,14,56,14,56,30,56,28,56, - 60,63,248,63,240,63,192,14,23,46,18,2,0,0,32,15, - 192,15,192,0,0,0,0,0,0,248,28,248,28,252,28,252, - 28,238,28,238,28,231,28,231,28,231,156,227,156,227,220,225, - 220,225,220,224,252,224,252,224,124,224,124,15,24,48,17,1, - 0,28,0,14,0,6,0,3,0,1,0,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, - 14,224,14,224,14,240,14,112,28,120,60,63,248,31,240,7, - 224,15,24,48,17,1,0,0,112,0,224,0,192,1,128,1, - 0,0,0,0,0,7,192,31,240,63,248,120,60,112,28,240, - 30,224,14,224,14,224,14,224,14,224,14,240,14,112,28,120, - 60,63,248,31,240,7,224,15,24,48,17,1,0,3,128,7, - 192,6,192,12,96,8,32,0,0,0,0,7,192,31,240,63, - 248,120,60,112,28,240,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,60,63,248,31,240,7,224,15,23,46, - 17,1,0,7,32,15,224,8,192,0,0,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,120,60,63,248,31,240,7, - 224,15,23,46,17,1,0,14,112,14,112,14,112,0,0,0, - 0,0,0,7,192,31,240,63,248,120,60,112,28,240,30,224, - 14,224,14,224,14,224,14,224,14,240,14,112,28,120,60,63, - 248,31,240,7,224,13,12,24,23,5,1,192,24,96,48,48, - 96,24,192,13,128,7,0,7,0,13,128,24,192,48,96,96, - 48,192,24,17,19,57,17,0,255,0,1,0,3,241,128,15, - 251,0,31,254,0,60,30,0,56,30,0,120,63,0,112,119, - 0,112,231,0,113,199,0,115,135,0,119,7,0,126,7,0, - 60,14,0,60,30,0,63,252,0,111,248,0,227,224,0,64, - 0,0,14,24,48,18,2,0,28,0,12,0,14,0,6,0, - 3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,56,127,248,63,240,15,192,14,24,48,18,2,0,0,224, - 0,192,1,192,1,128,3,0,0,0,0,0,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,240,60,112,56,127,248,63,240,15,192,14,24, - 48,18,2,0,7,128,7,128,15,192,12,192,24,96,0,0, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,240,60,112,56,127,248, - 63,240,15,192,14,23,46,16,1,0,28,224,28,224,28,224, - 0,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 120,120,127,248,63,240,15,192,13,23,46,15,1,0,1,192, - 1,128,3,0,2,0,0,0,0,0,224,56,240,120,112,112, - 120,240,56,224,61,224,29,192,31,192,15,128,15,128,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,12,17,34,15, - 1,0,224,0,224,0,224,0,255,128,255,224,255,224,224,240, - 224,112,224,112,224,240,255,224,255,224,255,128,224,0,224,0, - 224,0,224,0,12,17,34,14,1,0,63,0,127,128,241,192, - 225,192,225,192,227,128,231,0,238,0,238,0,239,128,231,192, - 225,224,224,112,238,112,238,112,239,224,231,192,10,19,38,13, - 1,0,112,0,56,0,24,0,12,0,4,0,0,0,0,0, - 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, - 225,192,243,192,127,192,60,192,10,19,38,13,1,0,3,128, - 3,0,6,0,6,0,12,0,0,0,0,0,31,0,127,128, - 113,192,1,192,31,192,127,192,241,192,225,192,225,192,243,192, - 127,192,60,192,10,19,38,13,1,0,14,0,30,0,27,0, - 51,0,33,128,0,0,0,0,31,0,127,128,113,192,1,192, - 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, - 10,17,34,13,1,0,31,128,63,0,0,0,0,0,0,0, - 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, - 225,192,243,192,127,192,60,192,10,18,36,13,1,0,115,128, - 115,128,115,128,0,0,0,0,0,0,63,0,127,128,241,192, - 1,192,31,192,127,192,241,192,225,192,225,192,243,192,127,192, - 60,192,10,20,40,13,1,0,14,0,27,0,17,0,19,0, - 31,0,14,0,0,0,0,0,31,0,127,128,113,192,1,192, - 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, - 18,12,36,20,1,0,31,31,0,127,191,128,113,243,128,0, - 225,192,31,255,192,127,255,192,240,224,0,224,224,0,224,225, - 192,241,243,192,127,63,128,62,31,0,10,17,34,12,1,251, - 31,0,127,128,115,192,225,192,224,0,224,0,224,0,224,0, - 225,192,115,192,127,128,63,0,8,0,14,0,3,0,3,0, - 30,0,11,19,38,13,1,0,112,0,56,0,24,0,12,0, - 4,0,0,0,0,0,31,0,63,128,113,192,225,224,255,224, - 255,224,224,0,224,0,225,192,113,192,127,192,31,0,11,19, - 38,13,1,0,3,128,3,0,7,0,6,0,12,0,0,0, - 0,0,31,0,63,128,113,192,225,224,255,224,255,224,224,0, - 224,0,225,192,113,192,127,192,31,0,11,19,38,13,1,0, - 14,0,31,0,27,0,49,128,33,128,0,0,0,0,31,0, - 63,128,113,192,225,224,255,224,255,224,224,0,224,0,225,192, - 113,192,127,192,31,0,11,18,36,13,1,0,115,128,115,128, - 115,128,0,0,0,0,0,0,31,0,63,128,115,192,225,192, - 255,224,255,224,224,0,224,0,225,192,115,192,127,128,31,0, - 5,18,18,6,255,0,224,112,48,24,0,0,56,56,56,56, - 56,56,56,56,56,56,56,56,4,18,18,5,1,0,112,96, - 224,192,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 7,18,18,6,255,0,56,124,108,198,0,0,56,56,56,56, - 56,56,56,56,56,56,56,56,8,18,18,7,255,0,231,231, - 231,0,0,0,56,56,56,56,56,56,56,56,56,56,56,56, - 12,17,34,14,1,0,28,96,15,192,15,128,59,128,33,192, - 31,224,63,224,112,224,240,240,224,112,224,112,224,112,224,112, - 240,240,112,224,63,192,31,128,11,17,34,13,1,0,31,128, - 63,0,0,0,0,0,0,0,239,128,255,192,241,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 12,19,38,14,1,0,56,0,28,0,12,0,6,0,6,0, - 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, - 224,112,224,112,240,240,112,224,63,192,31,128,12,19,38,14, - 1,0,1,192,3,128,3,0,6,0,4,0,0,0,0,0, - 31,128,63,192,112,224,240,224,224,112,224,112,224,112,224,112, - 240,240,112,224,63,192,31,128,12,19,38,14,1,0,15,0, - 15,0,31,128,25,128,48,192,0,0,0,0,31,128,63,192, - 112,224,240,224,224,112,224,112,224,112,224,112,240,240,112,224, - 63,192,31,128,12,17,34,14,1,0,31,192,63,128,0,0, - 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, - 224,112,224,112,240,240,112,224,63,192,31,128,12,18,36,14, - 1,0,57,192,57,192,57,192,0,0,0,0,0,0,31,128, - 63,192,112,224,240,224,224,112,224,112,224,112,224,112,240,240, - 112,224,63,192,31,128,14,10,20,24,5,2,7,0,7,0, - 6,0,0,0,255,252,255,252,0,0,2,0,7,0,7,0, - 12,15,30,14,1,254,0,32,0,48,31,224,63,192,113,224, - 241,240,227,112,230,112,236,112,248,112,248,240,112,224,127,192, - 223,128,192,0,11,19,38,13,1,0,112,0,56,0,28,0, - 12,0,6,0,0,0,0,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,241,224,127,224,62,224, - 11,19,38,13,1,0,3,128,3,128,7,0,6,0,12,0, - 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,241,224,127,224,62,224,11,19,38,13, - 1,0,14,0,31,0,27,0,49,128,32,128,0,0,0,0, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,241,224,127,224,62,224,11,18,36,13,1,0,115,128, - 115,128,115,128,0,0,0,0,0,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,241,224,127,224, - 62,224,11,23,46,13,1,251,1,128,3,128,3,0,6,0, - 0,0,0,0,224,224,224,224,241,224,113,192,121,192,59,192, - 59,128,63,128,31,128,31,0,31,0,15,0,14,0,14,0, - 254,0,252,0,120,0,12,22,44,15,2,251,224,0,224,0, - 224,0,224,0,224,0,239,128,255,192,248,224,240,240,224,112, - 224,112,224,112,224,112,240,240,241,224,255,192,239,128,224,0, - 224,0,224,0,224,0,224,0,12,22,44,14,1,251,57,192, - 57,192,57,192,0,0,0,0,240,112,240,240,112,240,120,224, - 121,224,57,192,61,192,31,192,31,128,31,128,15,128,15,0, - 15,0,15,0,14,0,30,0,28,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 17 - Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =17 descent= 0 - X Font ascent =17 descent= 0 - Max Font ascent =17 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17n[530] U8G_FONT_SECTION("u8g_font_fub17n") = { - 0,34,31,254,250,17,0,0,0,0,42,58,0,17,253,17, - 0,9,9,18,15,3,8,54,0,54,0,54,0,156,128,255, - 128,156,128,54,0,54,0,54,0,14,14,28,24,5,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,252,255,252,2, - 0,2,0,2,0,2,0,2,0,2,0,5,6,6,7,1, - 253,56,112,112,96,96,224,6,3,3,8,1,4,252,252,252, - 3,3,3,7,2,0,224,224,224,8,18,18,10,1,255,7, - 6,6,14,12,12,12,28,24,24,56,48,48,48,112,96,96, - 224,11,17,34,13,1,0,31,0,63,128,113,192,112,192,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,112,192,113,192,63,128,31,0,7,17,17,13,2,0,14, - 62,254,254,206,14,14,14,14,14,14,14,14,14,14,14,14, - 12,17,34,13,1,0,15,128,63,224,120,224,112,112,0,112, - 0,112,0,240,1,224,3,224,7,192,15,128,30,0,60,0, - 248,0,255,240,255,240,255,240,11,17,34,13,1,0,31,0, - 127,192,241,224,224,224,0,224,0,224,1,192,15,128,15,128, - 1,192,0,224,0,224,224,224,241,224,255,192,127,128,31,0, - 12,17,34,13,1,0,3,192,7,192,7,192,15,192,29,192, - 29,192,57,192,113,192,113,192,225,192,255,240,255,240,255,240, - 1,192,1,192,1,192,1,192,11,17,34,13,1,0,255,192, - 255,192,255,192,224,0,224,0,224,0,239,128,255,192,241,224, - 224,224,0,224,0,224,224,224,225,224,255,192,127,128,63,0, - 11,17,34,13,1,0,15,0,63,192,57,224,112,224,96,0, - 224,0,239,128,255,192,241,224,224,224,224,224,224,224,224,224, - 96,224,113,192,63,128,31,0,11,17,34,13,1,0,255,224, - 255,224,255,224,0,224,1,224,1,192,3,192,3,128,7,128, - 7,128,7,0,15,0,14,0,30,0,28,0,60,0,60,0, - 11,17,34,13,1,0,31,0,127,192,241,224,224,224,224,224, - 224,224,113,192,63,128,63,128,113,192,224,224,224,224,224,224, - 224,224,241,224,127,192,31,0,11,17,34,13,1,0,31,0, - 63,128,113,192,224,192,224,224,224,224,224,224,241,224,127,224, - 62,224,0,224,0,224,224,224,225,192,113,192,127,128,30,0, - 3,12,12,7,3,0,224,224,224,0,0,0,0,0,0,224, - 224,224}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=34 h=31 x=-2 y=-6 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub17r[3222] U8G_FONT_SECTION("u8g_font_fub17r") = { - 0,34,31,254,250,17,4,8,8,209,32,127,251,19,250,17, - 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, - 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, - 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, - 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, - 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, - 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, - 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, - 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, - 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, - 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, - 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, - 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, - 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, - 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, - 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, - 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, - 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, - 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, - 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, - 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, - 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, - 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, - 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, - 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, - 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, - 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, - 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, - 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, - 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, - 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, - 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, - 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, - 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, - 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, - 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, - 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, - 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, - 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, - 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, - 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, - 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, - 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, - 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, - 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, - 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, - 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, - 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, - 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, - 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, - 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, - 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, - 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, - 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, - 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, - 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, - 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, - 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, - 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, - 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, - 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, - 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, - 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, - 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, - 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, - 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, - 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, - 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, - 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, - 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, - 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, - 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, - 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, - 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, - 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, - 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, - 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, - 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, - 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, - 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, - 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, - 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, - 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, - 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, - 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, - 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, - 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, - 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, - 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, - 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, - 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, - 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, - 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, - 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, - 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, - 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, - 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, - 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, - 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, - 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, - 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, - 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, - 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, - 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, - 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, - 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, - 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, - 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, - 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, - 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, - 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, - 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, - 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, - 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, - 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, - 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, - 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, - 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, - 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, - 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, - 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, - 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, - 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, - 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, - 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, - 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, - 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, - 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, - 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, - 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, - 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, - 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, - 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, - 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, - 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, - 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, - 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, - 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, - 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, - 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, - 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, - 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, - 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, - 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, - 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, - 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, - 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, - 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, - 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, - 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, - 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, - 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, - 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, - 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, - 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, - 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, - 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, - 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, - 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, - 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, - 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, - 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, - 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, - 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, - 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, - 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, - 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, - 48,127,240,227,192,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=27 h=29 x= 7 y=18 dx=28 dy= 0 ascent=29 len=100 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =29 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20[8916] U8G_FONT_SECTION("u8g_font_fub20") = { - 0,40,36,254,249,20,4,242,11,37,32,255,251,29,249,20, - 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, - 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, - 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, - 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, - 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, - 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, - 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, - 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, - 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, - 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, - 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, - 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, - 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, - 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, - 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, - 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, - 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, - 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, - 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, - 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, - 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, - 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, - 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, - 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, - 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, - 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, - 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, - 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, - 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, - 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, - 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, - 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, - 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, - 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, - 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, - 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, - 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, - 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, - 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, - 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, - 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, - 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, - 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, - 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, - 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, - 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, - 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, - 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, - 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, - 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, - 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, - 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, - 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, - 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, - 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, - 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, - 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, - 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, - 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, - 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, - 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, - 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, - 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, - 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, - 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, - 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, - 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, - 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, - 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, - 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, - 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, - 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, - 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, - 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, - 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, - 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, - 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, - 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, - 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, - 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, - 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, - 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, - 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, - 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, - 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, - 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, - 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, - 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, - 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, - 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, - 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, - 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, - 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, - 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, - 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, - 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, - 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, - 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, - 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, - 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, - 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, - 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, - 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, - 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, - 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, - 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, - 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, - 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, - 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, - 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, - 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, - 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, - 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, - 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, - 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, - 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, - 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, - 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, - 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, - 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, - 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, - 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, - 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, - 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, - 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, - 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, - 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, - 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, - 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, - 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, - 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, - 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, - 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, - 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, - 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, - 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, - 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, - 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, - 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, - 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, - 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, - 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, - 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, - 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, - 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, - 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, - 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, - 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, - 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, - 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, - 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, - 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, - 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, - 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, - 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, - 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, - 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, - 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, - 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, - 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, - 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, - 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, - 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, - 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, - 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, - 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, - 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, - 156,127,248,225,240,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,8,0,0,4,19,19,10, - 3,251,240,240,240,0,0,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,12,20,40,16,2,253,0,192,0,192,0, - 128,15,128,63,224,125,224,115,240,243,240,242,0,242,0,246, - 0,244,0,244,240,124,240,121,224,63,224,31,128,24,0,16, - 0,48,0,14,20,40,15,1,0,7,224,31,248,62,120,60, - 60,60,60,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,255,252,255, - 252,15,14,28,17,1,5,192,6,99,204,55,248,28,48,24, - 24,48,12,48,12,48,12,48,12,24,24,28,48,63,248,99, - 204,192,6,15,20,40,17,1,0,240,30,240,62,120,60,120, - 124,56,120,60,120,252,254,254,254,31,224,15,224,15,192,255, - 254,255,254,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,1,25,25,9,4,251,128,128,128,128,128,128,128,128,128, - 128,128,0,0,0,128,128,128,128,128,128,128,128,128,128,128, - 11,24,48,13,1,252,31,128,63,192,121,192,240,64,240,0, - 248,0,124,0,63,0,63,128,127,192,243,224,225,224,225,192, - 243,192,255,128,126,0,31,128,7,192,3,224,1,224,1,192, - 195,192,255,128,127,0,9,3,6,9,0,17,227,128,227,128, - 227,128,20,20,60,24,2,0,1,248,0,7,254,0,31,15, - 128,60,3,192,49,252,192,99,254,224,103,158,96,199,15,48, - 207,0,48,207,0,48,207,0,48,207,15,48,199,14,48,103, - 158,96,99,252,96,49,248,192,56,1,192,30,7,128,7,254, - 0,1,248,0,9,13,26,11,1,7,62,0,127,128,99,128, - 3,128,63,128,115,128,227,128,227,128,255,128,125,128,0,0, - 0,0,255,128,14,11,22,16,1,2,30,60,28,56,60,120, - 120,240,120,240,241,224,120,240,56,240,60,120,28,56,30,60, - 15,6,12,17,1,6,255,254,255,254,0,6,0,6,0,6, - 0,6,255,20,20,60,24,2,0,1,248,0,7,254,0,31, - 15,128,60,3,192,51,252,192,99,254,224,99,14,96,195,6, - 48,195,28,48,195,248,48,195,252,48,195,12,48,195,14,48, - 99,6,96,99,6,96,51,6,192,56,1,192,30,7,128,7, - 254,0,1,248,0,9,2,4,9,0,18,255,128,255,128,6, - 6,6,8,1,14,120,204,132,132,204,120,16,16,32,26,5, - 0,1,128,1,128,1,128,1,128,255,255,255,255,1,128,1, - 128,1,128,1,128,1,128,0,0,0,0,0,0,255,255,255, - 255,9,11,22,11,1,9,62,0,127,0,227,128,3,128,7, - 0,15,0,30,0,56,0,112,0,255,0,255,0,8,11,11, - 10,1,9,60,254,231,7,30,30,7,7,231,254,124,6,5, - 5,6,1,16,60,56,112,96,192,255,13,24,48,15,1,252, - 31,248,62,96,126,96,254,96,254,96,254,96,254,96,126,96, - 126,96,30,96,6,96,6,96,6,96,6,96,6,96,6,96, - 6,96,6,96,6,96,6,96,6,96,6,96,6,96,6,96, - 4,4,4,8,2,8,240,240,240,240,7,6,6,7,1,249, - 32,60,14,6,254,252,5,11,11,8,2,9,56,248,248,56, - 56,56,56,56,56,56,56,10,13,26,12,1,7,30,0,127, - 128,115,128,225,192,225,192,225,192,225,192,99,128,127,128,30, - 0,0,0,0,0,255,192,13,11,22,16,2,2,225,192,241, - 224,112,224,120,240,120,240,60,120,120,240,120,240,113,224,241, - 224,225,192,19,20,60,22,2,0,56,7,0,248,14,0,184, - 14,0,56,28,0,56,28,0,56,56,0,56,48,0,56,112, - 0,56,224,0,56,227,192,57,195,192,1,199,192,3,143,192, - 3,13,192,7,29,192,14,57,192,14,63,224,28,63,224,28, - 1,192,56,1,192,19,20,60,21,1,0,56,6,0,248,14, - 0,184,12,0,56,28,0,56,24,0,56,48,0,56,112,0, - 56,96,0,56,224,0,56,199,128,57,207,224,3,156,224,3, - 0,224,7,1,224,6,1,192,14,3,128,28,7,0,28,30, - 0,56,31,224,48,31,224,20,20,60,22,1,0,124,1,192, - 230,3,128,231,3,0,7,7,0,30,14,0,30,14,0,7, - 28,0,231,24,0,231,56,0,126,49,224,24,115,224,0,227, - 224,0,199,224,1,198,224,1,140,224,3,156,224,3,31,240, - 7,31,240,14,0,224,12,0,224,12,19,38,15,1,251,7, - 128,7,128,7,128,0,0,0,0,7,0,7,0,7,0,14, - 0,28,0,56,0,112,0,240,0,240,0,240,112,240,112,127, - 240,63,224,15,128,19,28,84,19,0,0,7,0,0,3,128, - 0,1,128,0,1,192,0,0,192,0,0,96,0,0,0,0, - 0,0,0,1,240,0,1,240,0,1,248,0,3,248,0,3, - 248,0,3,188,0,7,188,0,7,156,0,15,30,0,15,30, - 0,15,30,0,30,15,0,30,15,0,31,255,128,63,255,128, - 63,255,128,56,3,192,120,3,192,120,3,192,240,1,224,19, - 28,84,19,0,0,0,28,0,0,56,0,0,56,0,0,112, - 0,0,96,0,0,192,0,0,0,0,0,0,0,1,240,0, - 1,240,0,1,248,0,3,248,0,3,248,0,3,188,0,7, - 188,0,7,156,0,15,30,0,15,30,0,15,30,0,30,15, - 0,30,15,0,31,255,128,63,255,128,63,255,128,56,3,192, - 120,3,192,120,3,192,240,1,224,19,28,84,19,0,0,0, - 224,0,1,240,0,1,240,0,3,184,0,3,24,0,6,12, - 0,0,0,0,0,0,0,1,240,0,1,240,0,1,248,0, - 3,248,0,3,248,0,3,188,0,7,188,0,7,156,0,15, - 30,0,15,30,0,15,30,0,30,15,0,30,15,0,31,255, - 128,63,255,128,63,255,128,56,3,192,120,3,192,120,3,192, - 240,1,224,19,26,78,19,0,0,1,204,0,3,248,0,6, - 120,0,0,0,0,0,0,0,0,0,0,1,240,0,1,240, - 0,1,248,0,3,248,0,3,248,0,3,188,0,7,188,0, - 7,156,0,15,30,0,15,30,0,15,30,0,30,15,0,30, - 15,0,31,255,128,63,255,128,63,255,128,56,3,192,120,3, - 192,120,3,192,240,1,224,19,26,78,19,0,0,7,28,0, - 7,28,0,7,28,0,0,0,0,0,0,0,0,0,0,1, - 240,0,1,240,0,3,248,0,3,248,0,3,248,0,7,188, - 0,7,188,0,7,60,0,15,30,0,15,30,0,30,31,0, - 30,15,0,30,15,0,63,255,128,63,255,128,63,255,128,120, - 3,192,120,3,192,112,3,192,240,1,224,19,29,87,19,0, - 0,0,224,0,1,240,0,3,24,0,3,24,0,3,24,0, - 1,240,0,0,224,0,0,0,0,0,0,0,1,240,0,1, - 240,0,3,240,0,3,248,0,3,248,0,7,188,0,7,188, - 0,7,60,0,15,30,0,15,30,0,30,30,0,30,15,0, - 30,15,0,63,255,128,63,255,128,63,255,128,120,3,192,120, - 3,192,240,3,192,240,1,224,25,20,80,26,0,0,0,63, - 255,128,0,63,255,128,0,127,0,0,0,127,0,0,0,255, - 0,0,1,239,0,0,1,239,0,0,3,207,0,0,3,207, - 255,128,7,143,255,128,7,143,255,128,15,15,0,0,15,255, - 0,0,31,255,0,0,31,255,0,0,60,15,0,0,56,15, - 0,0,120,15,255,128,112,15,255,128,240,15,255,128,17,27, - 81,19,1,249,7,240,0,15,252,0,63,254,0,60,31,0, - 120,31,0,112,15,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,15,128,112,15, - 0,120,31,0,60,63,0,63,254,0,15,252,0,3,240,0, - 0,128,0,0,224,0,0,240,0,0,48,0,0,48,0,3, - 240,0,0,128,0,13,28,56,17,2,0,60,0,28,0,14, - 0,6,0,7,0,3,0,0,0,0,0,255,248,255,248,255, - 248,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, - 248,240,0,240,0,240,0,240,0,240,0,240,0,255,248,255, - 248,255,248,13,28,56,17,2,0,1,224,1,192,3,128,3, - 0,6,0,6,0,0,0,0,0,255,248,255,248,255,248,240, - 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,240, - 0,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, - 248,13,28,56,17,2,0,15,0,15,128,13,128,29,192,24, - 192,48,96,0,0,0,0,255,248,255,248,255,248,240,0,240, - 0,240,0,240,0,240,0,255,248,255,248,255,248,240,0,240, - 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,13, - 26,52,17,2,0,56,224,56,224,56,224,0,0,0,0,0, - 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, - 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, - 0,240,0,255,248,255,248,255,248,7,28,28,8,255,0,240, - 112,56,24,28,12,0,0,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,6,28,28,7,2, - 0,28,56,48,112,96,192,0,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,8,28,28, - 8,0,0,60,60,126,102,198,195,0,0,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,9, - 26,52,9,0,0,227,128,227,128,227,128,0,0,0,0,0, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,18,20,60,19,0,0,63, - 224,0,63,252,0,63,254,0,60,31,0,60,15,128,60,7, - 128,60,3,192,60,3,192,60,3,192,255,195,192,255,195,192, - 60,3,192,60,3,192,60,3,192,60,7,128,60,15,128,60, - 31,0,63,254,0,63,252,0,63,224,0,17,26,78,21,2, - 0,7,152,0,7,248,0,12,240,0,0,0,0,0,0,0, - 0,0,0,252,7,128,252,7,128,254,7,128,254,7,128,255, - 7,128,255,7,128,247,135,128,247,135,128,243,199,128,243,199, - 128,241,231,128,241,231,128,240,247,128,240,247,128,240,127,128, - 240,127,128,240,63,128,240,63,128,240,31,128,240,31,128,18, - 28,84,20,1,0,14,0,0,7,0,0,3,128,0,1,128, - 0,0,192,0,0,0,0,0,0,0,0,0,0,3,240,0, - 15,252,0,31,254,0,62,31,0,120,7,128,120,7,128,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,120,7,128,120,7,128,62,31,0, - 31,254,0,15,252,0,3,240,0,18,28,84,20,1,0,0, - 60,0,0,56,0,0,112,0,0,96,0,0,192,0,0,0, - 0,0,0,0,0,0,0,3,240,0,15,252,0,31,254,0, - 62,31,0,120,7,128,120,7,128,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,120,7,128,120,7,128,62,31,0,31,254,0,15,252,0, - 3,240,0,18,28,84,20,1,0,1,224,0,3,240,0,3, - 240,0,7,56,0,6,24,0,0,0,0,0,0,0,0,0, - 0,3,240,0,15,252,0,31,254,0,62,31,0,120,7,128, - 120,7,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,120,7,128,120,7, - 128,62,31,0,31,254,0,15,252,0,3,240,0,18,27,81, - 20,1,0,0,8,0,7,248,0,7,248,0,4,0,0,0, - 0,0,0,0,0,0,0,0,3,240,0,15,252,0,31,254, - 0,62,31,0,120,7,128,120,7,128,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,120,7,128,120,7,128,62,31,0,31,254,0,15,252, - 0,3,240,0,18,27,81,20,1,0,7,28,0,7,28,0, - 7,28,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 240,0,15,252,0,31,254,0,62,31,0,120,7,128,120,7, - 128,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,120,7,128,120,7,128,62, - 31,0,31,254,0,15,252,0,3,240,0,15,14,28,27,6, - 2,192,6,96,12,48,24,24,48,12,96,6,192,3,128,3, - 128,6,192,12,96,24,48,48,24,96,12,64,4,20,22,66, - 20,0,255,0,0,32,1,252,112,7,255,224,15,255,192,31, - 15,128,60,3,192,60,7,192,120,15,224,120,29,224,120,57, - 224,120,113,224,120,225,224,121,193,224,123,129,224,127,1,224, - 62,3,192,60,3,192,31,15,128,63,255,0,127,254,0,227, - 248,0,64,0,0,17,28,84,21,2,0,30,0,0,14,0, - 0,7,0,0,3,128,0,1,128,0,0,0,0,0,0,0, - 0,0,0,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,0,240,15,0, - 120,15,0,124,30,0,63,254,0,31,248,0,7,224,0,17, - 28,84,21,2,0,0,60,0,0,120,0,0,112,0,0,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,0,240,15,0,120,15,0,124,30,0, - 63,254,0,31,248,0,7,224,0,17,28,84,21,2,0,3, - 192,0,3,224,0,7,224,0,14,112,0,12,56,0,0,0, - 0,0,0,0,0,0,0,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 0,240,15,0,120,15,0,124,30,0,63,254,0,31,248,0, - 7,224,0,17,27,81,20,2,0,14,56,0,14,56,0,14, - 56,0,0,0,0,0,0,0,0,0,0,0,0,0,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,0,240,15,0,120,15,0,124,30, - 0,63,254,0,31,248,0,7,224,0,16,27,54,17,1,0, - 0,112,0,224,0,192,1,128,0,0,0,0,0,0,240,31, - 248,30,120,30,124,60,60,60,60,120,30,120,30,240,15,240, - 15,224,7,224,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,14,20,40,17,1,0,240,0,240,0, - 240,0,240,0,255,192,255,240,255,248,240,124,240,60,240,60, - 240,60,240,124,255,248,255,240,255,192,240,0,240,0,240,0, - 240,0,240,0,14,20,40,16,1,0,31,128,127,224,121,240, - 240,240,240,240,240,240,241,224,243,192,247,128,247,128,247,128, - 243,224,241,240,240,248,240,60,240,60,255,60,255,188,247,248, - 243,240,12,22,44,15,1,0,120,0,56,0,28,0,12,0, - 6,0,2,0,0,0,0,0,31,128,63,224,121,240,112,240, - 0,240,63,240,127,240,248,240,240,240,240,240,240,240,251,240, - 127,112,62,112,12,22,44,15,1,0,1,224,1,192,3,128, - 3,0,7,0,6,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,31,240,127,240,120,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,22,44,15,1,0,15,0,15,128, - 31,128,25,192,56,192,48,96,0,0,0,0,31,128,63,224, - 121,240,112,240,0,240,63,240,127,240,248,240,240,240,240,240, - 240,240,251,240,127,112,62,112,12,20,40,15,1,0,31,192, - 63,192,48,0,0,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,21,42,15,1,0,56,224,56,224, - 56,224,0,0,0,0,0,0,0,0,31,128,63,224,121,240, - 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, - 251,240,127,112,62,112,12,23,46,15,1,0,7,0,31,128, - 24,192,24,192,31,128,15,0,0,0,0,0,0,0,31,128, - 63,224,121,240,112,240,0,240,63,240,127,240,248,240,240,240, - 240,240,240,240,251,240,127,112,62,112,22,14,42,24,1,0, - 15,135,192,63,207,240,124,252,248,112,120,56,0,120,56,31, - 255,252,127,255,252,120,120,0,240,120,0,240,120,0,240,252, - 56,249,222,248,127,143,240,30,7,224,12,21,42,14,1,249, - 31,128,63,224,121,224,112,224,240,240,240,0,240,0,240,0, - 240,0,240,240,240,224,121,224,63,192,31,128,4,0,7,0, - 7,128,0,192,0,192,31,128,4,0,13,22,44,15,1,0, - 56,0,56,0,28,0,12,0,6,0,2,0,0,0,0,0, - 15,128,63,224,121,240,112,240,240,240,255,240,255,248,240,0, - 240,0,240,240,112,240,121,240,63,224,31,128,13,22,44,15, - 1,0,1,224,1,192,3,128,3,0,6,0,6,0,0,0, - 0,0,15,128,63,224,121,240,112,240,240,240,255,240,255,248, - 240,0,240,0,240,240,112,240,121,240,63,224,31,128,13,22, - 44,15,1,0,15,0,15,0,31,128,25,128,56,192,48,192, - 0,0,0,0,15,128,63,224,121,240,112,240,240,240,255,240, - 255,248,240,0,240,0,240,240,112,240,121,240,63,224,31,128, - 13,21,42,15,1,0,56,224,56,224,56,224,0,0,0,0, - 0,0,0,0,15,128,63,224,121,240,112,112,240,112,255,240, - 255,248,240,0,240,0,240,112,112,112,125,240,63,224,31,128, - 6,22,22,7,0,0,224,240,112,56,24,12,0,0,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,6,22,22,6, - 2,0,60,56,112,96,192,192,0,0,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,9,22,44,7,255,0,30,0, - 62,0,63,0,115,0,99,128,193,128,0,0,0,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,9,20,40,7,255,0, - 227,128,227,128,227,128,0,0,0,0,0,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,14,20,40,16,1,0,14,24, - 15,240,3,192,15,192,60,224,48,240,15,240,63,248,124,248, - 120,60,240,60,240,60,240,60,240,60,240,60,240,60,120,56, - 124,248,63,240,15,192,13,20,40,16,2,0,30,96,63,192, - 55,128,0,0,0,0,0,0,247,192,255,240,253,240,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,14,22,44,16,1,0,60,0,28,0,14,0, - 6,0,3,0,3,0,0,0,0,0,15,192,63,224,124,240, - 120,120,240,60,240,60,240,60,240,60,240,60,240,60,120,120, - 124,248,63,240,15,192,14,22,44,16,1,0,0,240,0,224, - 1,192,1,128,3,0,3,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,14,22,44,16,1,0,7,128, - 7,128,15,192,12,192,24,96,24,96,0,0,0,0,15,192, - 63,224,124,240,120,120,240,60,240,60,240,60,240,60,240,60, - 240,60,120,120,124,248,63,240,15,192,14,20,40,16,1,0, - 15,224,31,224,24,0,0,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,14,21,42,16,1,0,28,224, - 28,224,28,224,0,0,0,0,0,0,0,0,15,192,63,224, - 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,124,248,63,240,15,192,16,12,24,26,5,2,1,192, - 3,192,1,192,0,0,0,0,255,255,255,255,0,0,0,0, - 1,192,3,192,1,192,14,18,36,16,1,254,0,8,0,28, - 15,248,63,240,124,240,120,248,241,252,241,188,243,60,246,60, - 254,60,252,60,120,120,60,248,127,240,239,192,192,0,128,0, - 13,22,44,16,2,0,56,0,60,0,28,0,14,0,6,0, - 3,0,0,0,0,0,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,248,249,248,127,248, - 62,120,13,22,44,16,2,0,1,224,1,192,3,128,3,0, - 7,0,6,0,0,0,0,0,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,248,249,248, - 127,248,62,120,13,22,44,16,2,0,15,0,15,128,31,128, - 29,192,56,192,48,96,0,0,0,0,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, - 249,248,127,248,62,120,13,21,42,16,2,0,56,224,56,224, - 56,224,0,0,0,0,0,0,0,0,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, - 249,248,127,248,62,120,14,27,54,15,0,251,0,112,0,240, - 0,224,0,192,1,128,0,0,0,0,0,0,120,28,120,60, - 60,60,60,56,60,120,30,120,30,112,14,240,15,240,15,224, - 7,224,7,224,3,192,3,192,3,128,39,128,255,128,127,0, - 62,0,14,25,50,17,2,251,240,0,240,0,240,0,240,0, - 240,0,240,0,247,192,255,240,253,240,248,120,240,56,240,60, - 240,60,240,60,240,60,240,120,240,120,253,240,255,240,247,192, - 240,0,240,0,240,0,240,0,240,0,15,26,52,15,0,251, - 28,112,28,112,28,112,0,0,0,0,0,0,0,0,248,30, - 120,60,120,60,60,56,60,120,60,120,30,112,30,240,15,240, - 15,224,15,224,7,224,7,192,3,192,7,128,7,128,7,128, - 15,0,15,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=16 h=21 x= 5 y= 9 dx=26 dy= 0 ascent=20 len=40 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20n[603] U8G_FONT_SECTION("u8g_font_fub20n") = { - 0,40,36,254,249,20,0,0,0,0,42,58,0,20,252,20, - 0,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=27 h=29 x= 7 y=16 dx=28 dy= 0 ascent=22 len=100 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =22 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_FONT_SECTION("u8g_font_fub20r") = { - 0,40,36,254,249,20,4,242,11,37,32,127,251,22,249,20, - 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, - 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, - 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, - 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, - 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, - 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, - 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, - 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, - 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, - 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, - 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, - 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, - 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, - 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, - 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, - 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, - 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, - 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, - 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, - 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, - 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, - 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, - 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, - 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, - 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, - 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, - 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, - 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, - 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, - 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, - 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, - 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, - 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, - 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, - 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, - 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, - 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, - 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, - 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, - 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, - 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, - 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, - 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, - 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, - 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, - 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, - 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, - 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, - 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, - 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, - 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, - 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, - 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, - 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, - 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, - 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, - 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, - 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, - 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, - 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, - 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, - 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, - 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, - 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, - 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, - 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, - 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, - 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, - 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, - 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, - 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, - 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, - 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, - 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, - 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, - 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, - 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, - 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, - 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, - 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, - 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, - 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, - 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, - 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, - 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, - 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, - 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, - 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, - 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, - 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, - 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, - 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, - 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, - 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, - 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, - 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, - 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, - 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, - 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, - 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, - 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, - 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, - 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, - 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, - 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, - 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, - 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, - 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, - 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, - 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, - 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, - 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, - 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, - 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, - 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, - 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, - 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, - 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, - 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, - 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, - 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, - 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, - 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, - 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, - 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, - 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, - 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, - 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, - 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, - 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, - 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, - 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, - 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, - 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, - 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, - 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, - 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, - 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, - 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, - 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, - 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, - 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, - 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, - 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, - 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, - 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, - 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, - 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, - 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, - 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, - 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, - 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, - 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, - 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, - 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, - 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, - 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, - 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, - 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, - 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, - 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, - 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, - 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, - 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, - 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, - 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, - 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, - 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, - 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, - 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, - 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, - 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, - 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, - 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, - 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, - 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, - 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, - 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, - 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, - 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, - 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, - 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, - 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, - 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, - 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, - 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, - 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, - 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, - 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, - 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, - 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, - 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, - 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, - 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, - 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, - 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, - 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, - 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, - 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, - 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, - 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, - 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, - 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, - 156,127,248,225,240,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=14 h=20 x= 4 y= 0 dx=15 dy= 0 ascent=20 len=40 - Font Bounding box w=40 h=36 x=-2 y=-7 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub20t[477] U8G_SECTION(".progmem.u8g_font_fub20t") = { - 0,40,36,254,249,20,0,0,0,0,48,58,0,20,0,20, - 0,14,20,40,15,1,0,15,128,31,224,60,240,120,112,112, - 56,240,56,240,56,240,60,240,60,240,60,240,60,240,60,240, - 60,240,56,240,56,112,56,120,120,60,240,31,224,15,128,8, - 20,20,15,3,0,15,63,127,255,239,207,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,14,20,40,15,1,0,7, - 192,31,240,63,248,124,120,120,60,120,60,0,60,0,120,0, - 120,0,240,1,240,3,224,7,192,15,128,31,0,124,0,248, - 0,255,252,255,252,255,252,13,20,40,15,1,0,15,128,63, - 224,127,240,248,240,240,120,0,120,0,120,0,240,15,224,15, - 128,15,224,0,240,0,120,0,120,240,120,240,120,248,240,127, - 240,63,224,31,128,14,20,40,15,1,0,1,240,3,240,3, - 240,7,240,7,240,14,240,30,240,28,240,60,240,56,240,120, - 240,112,240,240,240,255,252,255,252,255,252,0,240,0,240,0, - 240,0,240,13,20,40,15,1,0,255,240,255,240,255,240,240, - 0,240,0,240,0,240,0,247,192,255,224,253,240,240,120,240, - 120,0,120,0,120,0,120,240,120,240,240,127,240,63,224,31, - 128,13,20,40,15,1,0,15,192,31,224,63,240,120,120,120, - 120,112,0,240,0,247,192,239,224,253,240,248,120,240,120,240, - 120,240,120,240,120,112,120,120,240,63,240,63,224,15,128,13, - 20,40,15,1,0,255,248,255,248,255,248,0,120,0,120,0, - 240,0,240,1,224,1,224,1,224,3,192,3,192,7,128,7, - 128,15,128,15,0,31,0,30,0,30,0,62,0,14,20,40, - 15,1,0,31,192,63,240,127,240,120,248,240,120,240,120,240, - 120,120,240,63,224,31,192,63,240,120,120,240,56,240,60,240, - 60,240,60,248,120,127,248,63,240,31,192,13,20,40,15,1, - 0,15,128,63,192,127,224,120,240,240,112,240,120,240,120,240, - 120,240,120,120,248,127,184,63,56,0,120,0,120,0,112,240, - 240,120,240,127,224,63,192,15,128,4,14,14,9,4,0,240, - 240,240,240,0,0,0,0,0,0,240,240,240,240}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=34 h=37 x= 8 y=22 dx=35 dy= 0 ascent=37 len=160 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =37 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25[12908] U8G_FONT_SECTION("u8g_font_fub25") = { - 0,50,46,254,247,25,7,111,16,148,32,255,249,37,247,25, - 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, - 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, - 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, - 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, - 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, - 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, - 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, - 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, - 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, - 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, - 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, - 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, - 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, - 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, - 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, - 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, - 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, - 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, - 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, - 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, - 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, - 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, - 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, - 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, - 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, - 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, - 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, - 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, - 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, - 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, - 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, - 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, - 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, - 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, - 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, - 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, - 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, - 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, - 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, - 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, - 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, - 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, - 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, - 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, - 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, - 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, - 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, - 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, - 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, - 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, - 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, - 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, - 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, - 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, - 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, - 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, - 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, - 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, - 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, - 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, - 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, - 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, - 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, - 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, - 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, - 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, - 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, - 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, - 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, - 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, - 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, - 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, - 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, - 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, - 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, - 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, - 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, - 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, - 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, - 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, - 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, - 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, - 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, - 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, - 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, - 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, - 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, - 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, - 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, - 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, - 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, - 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, - 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, - 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, - 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, - 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, - 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, - 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, - 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, - 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, - 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, - 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, - 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, - 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, - 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, - 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, - 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, - 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, - 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, - 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, - 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, - 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, - 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, - 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, - 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, - 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, - 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, - 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, - 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, - 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, - 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, - 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, - 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, - 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, - 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, - 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, - 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, - 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, - 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, - 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, - 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, - 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, - 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, - 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, - 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, - 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, - 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, - 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, - 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, - 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, - 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, - 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, - 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, - 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, - 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, - 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, - 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, - 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, - 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, - 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, - 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, - 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, - 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, - 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, - 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, - 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, - 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, - 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, - 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, - 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, - 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, - 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, - 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, - 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, - 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, - 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, - 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, - 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, - 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, - 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, - 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, - 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, - 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, - 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, - 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, - 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, - 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, - 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, - 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, - 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, - 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, - 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, - 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, - 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, - 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, - 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, - 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, - 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, - 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, - 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, - 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, - 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, - 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, - 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, - 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, - 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, - 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, - 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, - 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, - 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, - 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, - 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, - 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, - 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, - 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, - 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, - 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, - 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, - 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, - 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, - 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, - 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, - 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, - 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, - 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, - 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, - 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, - 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, - 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, - 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, - 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, - 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, - 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, - 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, - 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, - 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, - 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, - 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, - 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, - 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, - 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, - 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, - 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, - 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, - 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, - 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, - 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, - 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, - 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, - 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, - 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, - 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, - 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, - 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, - 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, - 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, - 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, - 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, - 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, - 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, - 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, - 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, - 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, - 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, - 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, - 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,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,10,0,0,5,25,25,13,4,249,248,248,248,248, - 0,0,0,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,15,26,52,19,2,252,0,48,0,48,0, - 48,0,32,7,224,31,248,63,252,124,252,120,254,248,254,249, - 128,249,128,249,128,249,0,251,0,251,62,251,62,126,62,126, - 124,63,252,31,248,15,224,12,0,24,0,24,0,24,0,17, - 25,75,20,2,1,7,254,0,15,255,0,31,255,0,31,15, - 128,62,15,128,62,0,0,62,0,0,62,0,0,62,0,0, - 255,240,0,255,240,0,255,240,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,255,128,255,255,128,255,255,128, - 18,19,57,20,1,6,64,0,128,224,1,192,115,227,128,63, - 255,0,30,30,0,28,14,0,24,6,0,48,3,0,48,3, - 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, - 30,30,0,63,255,0,115,243,128,224,1,192,64,0,128,19, - 25,75,21,1,0,248,3,224,248,7,224,124,7,192,124,7, - 192,62,15,128,62,15,128,31,31,0,255,31,224,255,191,224, - 15,190,0,7,252,0,7,252,0,3,248,0,255,255,224,255, - 255,224,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,14,31,62,16,1,251,31,240,63, - 248,127,248,124,24,248,0,248,0,124,0,126,0,63,128,31, - 192,31,240,63,248,124,248,248,124,240,60,240,120,240,120,253, - 240,127,224,63,192,31,224,7,240,1,248,0,252,0,124,0, - 124,128,248,225,248,255,240,255,224,63,128,11,4,8,11,0, - 22,241,224,241,224,241,224,241,224,25,25,100,29,2,1,0, - 255,192,0,3,255,224,0,15,0,120,0,30,0,60,0,24, - 63,14,0,56,127,134,0,112,255,199,0,97,227,195,0,225, - 193,227,128,195,193,225,128,195,192,1,128,195,192,1,128,195, - 192,1,128,195,192,1,128,195,193,225,128,227,193,227,128,97, - 227,195,0,113,255,195,0,48,255,135,0,56,62,14,0,28, - 0,28,0,15,0,120,0,7,193,240,0,1,255,224,0,0, - 127,0,0,12,17,34,14,1,8,15,128,63,192,56,224,112, - 224,0,224,15,224,63,224,120,224,112,224,112,224,121,224,63, - 224,30,96,0,0,0,0,255,240,255,240,17,14,42,21,2, - 2,31,15,128,30,31,0,62,31,0,60,62,0,124,62,0, - 124,124,0,248,124,0,248,124,0,124,124,0,124,62,0,60, - 62,0,62,31,0,30,15,0,31,15,128,18,8,24,21,2, - 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,255,25,25,100,29,2,1, - 0,255,192,0,3,255,224,0,15,0,120,0,30,0,60,0, - 25,255,142,0,57,255,198,0,113,255,231,0,97,193,227,0, - 225,192,227,128,193,193,225,128,193,255,129,128,193,255,129,128, - 193,255,193,128,193,193,193,128,193,193,193,128,225,192,227,128, - 97,192,227,0,113,192,227,0,49,192,231,0,56,0,14,0, - 28,0,28,0,15,0,120,0,7,193,240,0,1,255,224,0, - 0,127,0,0,11,3,6,11,0,22,255,224,255,224,255,224, - 7,7,7,11,2,18,56,196,130,130,130,196,120,20,21,63, - 34,7,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,255,255,240,255,255,240,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,240,255, - 255,240,11,13,26,13,1,13,63,128,127,192,241,224,1,224, - 1,224,3,192,7,192,15,128,30,0,124,0,240,0,255,192, - 255,192,11,14,28,13,1,12,127,128,255,128,227,192,3,192, - 7,192,31,128,31,128,3,192,1,224,1,224,225,224,243,192, - 127,128,63,0,7,7,7,8,2,21,62,60,56,120,112,224, - 192,255,16,31,62,19,2,250,15,255,63,255,127,24,255,24, - 255,24,255,24,255,24,255,24,255,24,255,24,127,24,63,24, - 31,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, - 3,24,3,24,3,24,5,5,5,10,3,10,248,248,248,248, - 248,9,8,16,9,1,247,48,0,48,0,63,0,7,128,3, - 128,3,128,255,0,254,0,6,14,14,9,1,12,28,124,252, - 220,28,28,28,28,28,28,28,28,28,28,12,17,34,14,1, - 8,31,128,63,192,121,224,112,224,224,112,224,112,224,112,224, - 112,224,112,112,224,121,224,63,192,31,128,0,0,0,0,255, - 240,255,240,16,14,28,21,2,2,240,120,248,124,124,60,124, - 62,62,30,62,31,31,31,31,31,62,31,62,30,124,62,124, - 60,248,124,240,120,25,26,104,27,1,0,28,0,120,0,124, - 0,112,0,252,0,240,0,156,0,224,0,28,1,192,0,28, - 1,192,0,28,3,128,0,28,7,128,0,28,7,0,0,28, - 14,0,0,28,14,0,0,28,28,0,0,28,28,30,0,28, - 56,30,0,0,120,62,0,0,112,126,0,0,224,126,0,0, - 224,238,0,1,193,206,0,1,193,206,0,3,131,142,0,7, - 3,255,128,7,3,255,128,14,0,14,0,14,0,14,0,28, - 0,14,0,25,26,104,27,1,0,28,0,112,0,124,0,224, - 0,252,0,224,0,220,1,192,0,28,3,192,0,28,3,128, - 0,28,7,0,0,28,7,0,0,28,14,0,0,28,14,0, - 0,28,28,0,0,28,56,0,0,28,56,124,0,28,113,255, - 0,0,115,199,128,0,227,199,128,0,192,7,128,1,192,15, - 128,3,128,15,0,3,128,30,0,7,0,60,0,6,0,248, - 0,14,1,240,0,12,3,192,0,28,3,255,0,24,3,255, - 0,25,25,100,27,1,1,127,128,60,0,255,192,56,0,227, - 192,112,0,3,192,112,0,31,128,224,0,31,129,224,0,3, - 193,192,0,1,227,192,0,225,227,128,0,227,231,128,0,127, - 207,0,0,63,14,30,0,0,30,62,0,0,28,62,0,0, - 60,126,0,0,56,110,0,0,120,238,0,0,241,206,0,0, - 241,206,0,1,227,142,0,1,227,255,128,3,195,255,128,3, - 128,14,0,7,128,14,0,15,0,14,0,16,25,50,18,1, - 249,3,224,3,224,3,224,3,224,0,0,0,0,0,0,1, - 192,1,192,1,192,3,192,7,128,15,0,30,0,60,0,124, - 0,248,0,248,0,248,0,248,14,248,31,124,62,63,254,31, - 248,7,224,23,35,105,24,1,0,3,192,0,3,192,0,1, - 224,0,0,224,0,0,112,0,0,48,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,124,0,0,252,0,0,254,0, - 0,254,0,1,254,0,1,255,0,3,255,0,3,207,0,3, - 207,128,7,207,128,7,135,192,7,135,192,15,135,192,15,3, - 224,31,3,224,31,3,240,31,255,240,63,255,240,63,255,248, - 127,255,248,124,0,248,124,0,252,248,0,124,248,0,126,240, - 0,62,23,35,105,24,1,0,0,15,0,0,15,0,0,30, - 0,0,28,0,0,56,0,0,48,0,0,112,0,0,0,0, - 0,0,0,0,0,0,0,124,0,0,252,0,0,254,0,0, - 254,0,1,254,0,1,255,0,3,255,0,3,207,0,3,207, - 128,7,207,128,7,135,192,7,135,192,15,135,192,15,3,224, - 31,3,224,31,3,240,31,255,240,63,255,240,63,255,248,127, - 255,248,124,0,248,124,0,252,248,0,124,248,0,126,240,0, - 62,23,35,105,24,1,0,0,252,0,0,252,0,0,254,0, - 1,206,0,1,199,0,3,135,0,3,3,128,0,0,0,0, - 0,0,0,0,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 23,34,102,24,1,0,0,1,128,1,255,0,3,255,0,3, - 254,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,124,0,0,252,0,0,254,0,0,254,0,1,254,0, - 1,255,0,3,255,0,3,207,0,3,207,128,7,207,128,7, - 135,192,7,135,192,15,135,192,15,3,224,31,3,224,31,3, - 240,31,255,240,63,255,240,63,255,248,127,255,248,124,0,248, - 124,0,252,248,0,124,248,0,126,240,0,62,23,34,102,25, - 1,0,3,199,128,3,199,128,3,199,128,3,199,128,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, - 0,124,0,0,254,0,0,254,0,1,255,0,1,255,0,1, - 239,0,3,239,128,3,239,128,3,199,128,7,199,192,7,199, - 192,15,131,224,15,131,224,15,131,224,31,1,240,31,255,240, - 31,255,240,63,255,248,63,255,248,124,0,252,124,0,124,124, - 0,124,248,0,62,248,0,62,23,37,111,24,1,0,0,120, - 0,0,252,0,1,206,0,1,134,0,1,134,0,1,206,0, - 0,252,0,0,120,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,124,0,0,252,0,0,252,0,0,254,0,1,254, - 0,1,255,0,3,255,0,3,207,0,3,207,128,7,207,128, - 7,135,192,7,135,192,15,135,192,15,3,224,31,3,224,31, - 3,224,31,255,240,63,255,240,63,255,248,127,255,248,124,0, - 248,124,0,252,248,0,124,248,0,126,240,0,62,32,25,100, - 34,1,0,0,7,255,254,0,15,255,254,0,15,255,254,0, - 31,240,0,0,31,240,0,0,63,240,0,0,61,240,0,0, - 121,240,0,0,249,240,0,0,241,240,0,1,241,255,254,1, - 225,255,254,3,225,255,254,3,193,255,254,7,193,240,0,7, - 255,240,0,15,255,240,0,15,255,240,0,31,255,240,0,30, - 1,240,0,62,1,240,0,60,1,255,255,124,1,255,255,248, - 1,255,255,248,1,255,255,21,33,99,25,2,249,3,255,0, - 15,255,192,31,255,224,63,255,240,62,3,240,124,1,240,120, - 1,248,120,0,248,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,248, - 120,1,248,124,1,248,124,3,240,63,7,240,31,255,224,31, - 255,192,7,255,128,1,252,0,0,96,0,0,120,0,0,126, - 0,0,15,0,0,7,0,0,7,0,1,254,0,1,252,0, - 17,35,105,21,2,0,30,0,0,15,0,0,7,0,0,7, - 128,0,3,128,0,1,192,0,0,192,0,0,0,0,0,0, - 0,0,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,255,255,128,255,255,128,255,255,128,255,255,128,17, - 35,105,21,2,0,0,120,0,0,240,0,0,224,0,1,192, - 0,1,128,0,3,128,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,0,255,255,0,255,255,0,255,255,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,17,35, - 105,21,2,0,7,224,0,7,224,0,15,240,0,14,112,0, - 14,56,0,28,56,0,24,28,0,0,0,0,0,0,0,0, - 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,128,255,255,128,255,255,128,255,255,128,17,34,102, - 21,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 0,255,255,0,255,255,0,255,255,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,255,255,0,255, - 255,0,255,255,0,255,255,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,128, - 255,255,128,255,255,128,255,255,128,8,35,35,9,255,0,240, - 120,56,60,28,12,6,0,0,0,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,7,35,35,8,2,0,30,28,60,56,112,96,224,0, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,11,35,70,9,255, - 0,31,0,63,0,63,128,59,128,113,192,97,192,192,224,0, - 0,0,0,0,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,11,34,68,11,0,0,241,224,241, - 224,241,224,241,224,0,0,0,0,0,0,0,0,0,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,23,25,75,24,0,0,63,252,0,63,255,128,63,255,192, - 63,255,224,62,7,240,62,1,248,62,0,248,62,0,124,62, - 0,124,62,0,60,62,0,60,255,240,62,255,240,62,255,240, - 62,62,0,60,62,0,60,62,0,124,62,0,124,62,0,248, - 62,1,248,62,7,240,63,255,224,63,255,192,63,255,128,63, - 252,0,21,34,102,25,2,0,0,3,0,1,255,0,3,254, - 0,7,252,0,6,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,254,0,248,255,0,248,255,0,248,255,128,248,255, - 128,248,255,192,248,255,192,248,251,224,248,251,224,248,249,224, - 248,249,240,248,248,240,248,248,248,248,248,120,248,248,124,248, - 248,60,248,248,62,248,248,30,248,248,31,248,248,31,248,248, - 15,248,248,15,248,248,7,248,248,7,248,248,3,248,23,36, - 108,27,2,0,7,192,0,3,192,0,1,224,0,0,224,0, - 0,240,0,0,112,0,0,56,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, - 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, - 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, - 23,36,108,27,2,0,0,7,192,0,7,128,0,15,0,0, - 14,0,0,28,0,0,24,0,0,48,0,0,0,0,0,0, - 0,0,0,0,0,0,0,3,255,128,7,255,192,31,255,240, - 31,255,240,63,1,248,126,0,252,124,0,124,120,0,60,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,124,0,124,124,0,124, - 62,0,248,63,131,248,31,255,240,15,255,224,7,255,192,0, - 254,0,23,36,108,27,2,0,0,124,0,0,254,0,0,254, - 0,1,239,0,1,199,0,3,131,128,3,1,128,0,0,0, - 0,0,0,0,0,0,0,0,0,3,255,128,7,255,192,31, - 255,240,31,255,240,63,1,248,126,0,252,124,0,124,120,0, - 60,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,124,0,124,124, - 0,124,62,0,248,63,131,248,31,255,240,15,255,224,7,255, - 192,0,254,0,23,34,102,27,2,0,0,241,128,1,255,128, - 3,255,0,3,30,0,3,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, - 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, - 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, - 23,34,102,27,2,0,3,199,128,3,199,128,3,199,128,3, - 199,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,3,255,128,7,255,192,31,255,240,31,255,240,63,1,248, - 126,0,252,124,0,124,120,0,60,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,124,0,124,124,0,124,62,0,248,63,131,248, - 31,255,240,15,255,224,7,255,192,0,254,0,18,19,57,34, - 8,1,64,0,0,224,0,192,112,1,128,56,3,0,28,6, - 0,14,12,0,6,24,0,3,48,0,1,224,0,0,192,0, - 1,224,0,3,48,0,6,24,0,12,12,0,24,6,0,48, - 3,0,112,1,128,224,1,192,64,0,128,25,28,112,27,1, - 255,0,0,1,0,0,0,3,128,1,255,195,128,3,255,247, - 0,15,255,254,0,15,255,252,0,31,128,252,0,63,0,126, - 0,62,0,254,0,60,1,254,0,124,3,223,0,124,7,159, - 0,124,15,31,0,124,30,31,0,124,60,31,0,124,120,31, - 0,124,240,31,0,125,224,31,0,127,192,31,0,63,128,62, - 0,63,0,62,0,63,0,124,0,31,193,252,0,63,255,248, - 0,127,255,240,0,243,255,224,0,224,127,0,0,64,0,0, - 0,21,36,108,25,2,0,15,0,0,7,128,0,3,192,0, - 3,192,0,1,224,0,0,224,0,0,112,0,0,0,0,0, - 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,240,248,0,240,120,1, - 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, - 3,252,0,21,36,108,25,2,0,0,15,128,0,15,0,0, - 30,0,0,60,0,0,56,0,0,112,0,0,96,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,240,248,0,240, - 120,1,240,124,3,240,127,7,224,63,255,192,31,255,128,15, - 255,0,3,252,0,21,36,108,25,2,0,0,248,0,1,248, - 0,1,252,0,3,220,0,7,142,0,7,14,0,14,7,0, - 0,0,0,0,0,0,0,0,0,0,0,0,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,240,248, - 0,240,120,1,240,124,3,240,127,7,224,63,255,192,31,255, - 128,15,255,0,3,252,0,21,34,102,25,2,0,7,143,0, - 7,143,0,7,143,0,7,143,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,240,248,0,240,124,1, - 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, - 3,252,0,21,35,105,22,1,0,0,30,0,0,30,0,0, - 28,0,0,56,0,0,48,0,0,112,0,0,0,0,0,0, - 0,0,0,0,0,0,0,252,1,248,252,1,240,126,3,224, - 126,3,224,63,7,192,31,7,192,31,143,128,15,143,128,15, - 223,0,7,223,0,7,254,0,3,254,0,3,252,0,1,248, - 0,1,248,0,0,240,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,18,25,75,22,2,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,240,0,255,254,0,255,255,0,255,255,128, - 248,15,128,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,255,255,128,255,255,0,255,254,0,255,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,18,25,75,19,1,1,31,240,0,63,252,0,127, - 252,0,248,62,0,248,62,0,248,62,0,248,62,0,248,124, - 0,248,248,0,248,240,0,249,240,0,251,224,0,251,224,0, - 249,248,0,249,252,0,248,127,0,248,63,128,248,15,128,248, - 7,128,248,7,192,251,199,192,251,199,128,249,255,128,249,255, - 0,248,126,0,15,28,56,19,2,0,60,0,30,0,14,0, - 7,0,7,0,3,128,1,128,0,0,0,0,0,0,7,224, - 63,248,127,252,124,62,120,62,0,62,15,254,63,254,127,254, - 124,62,248,62,248,62,248,62,248,62,252,126,127,254,63,222, - 31,30,15,28,56,19,2,0,0,120,0,240,0,240,1,224, - 1,192,1,128,3,0,0,0,0,0,0,0,7,224,63,248, - 127,252,124,62,120,62,0,62,15,254,63,254,127,254,124,62, - 248,62,248,62,248,62,248,62,252,126,127,254,63,222,31,30, - 15,28,56,19,2,0,7,192,7,224,15,224,14,240,28,112, - 24,56,56,24,0,0,0,0,0,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,15,26, - 52,19,2,0,0,24,15,248,31,240,31,224,48,0,0,0, - 0,0,0,0,7,224,63,248,127,252,124,62,120,62,0,62, - 15,254,63,254,127,254,124,62,248,62,248,62,248,62,248,62, - 252,126,127,254,63,222,31,30,15,27,54,19,2,0,60,120, - 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, - 15,224,63,248,127,252,124,62,120,62,0,62,15,254,63,254, - 127,254,124,62,248,62,248,62,248,62,248,62,252,126,127,254, - 63,222,31,30,15,30,60,19,2,0,3,192,7,224,14,112, - 12,48,12,48,14,112,7,224,3,192,0,0,0,0,0,0, - 0,0,7,224,31,248,63,252,124,62,120,62,0,62,15,254, - 63,254,127,254,124,62,248,62,248,62,248,62,248,62,252,126, - 127,254,63,222,31,30,27,18,72,31,2,0,7,224,124,0, - 31,249,255,0,127,253,255,128,124,63,135,192,120,31,3,192, - 0,31,3,224,7,255,255,224,63,255,255,224,127,255,255,224, - 124,31,0,0,248,31,0,0,248,31,0,0,248,31,131,224, - 248,31,131,192,252,59,199,192,127,241,255,192,63,224,255,128, - 15,128,126,0,15,26,52,18,2,248,7,224,31,248,63,252, - 124,124,120,60,248,62,248,62,248,0,248,0,248,0,248,0, - 248,62,248,62,120,60,124,124,63,252,31,248,15,224,3,0, - 3,128,3,224,0,240,0,112,0,112,15,224,15,192,15,28, - 56,19,2,0,62,0,30,0,15,0,7,0,7,128,3,128, - 1,192,0,0,0,0,0,0,7,224,31,248,63,252,124,60, - 120,62,248,30,248,30,255,254,255,254,255,254,248,0,248,0, - 248,30,120,62,124,62,63,252,31,248,7,224,15,28,56,19, - 2,0,0,120,0,112,0,240,0,224,1,192,1,128,3,0, - 0,0,0,0,0,0,7,224,31,248,63,252,124,60,120,62, - 248,30,248,30,255,254,255,254,255,254,248,0,248,0,248,30, - 120,62,124,62,63,252,31,248,7,224,15,28,56,19,2,0, - 7,224,7,224,15,224,14,112,28,112,28,56,56,24,0,0, - 0,0,0,0,7,224,31,248,63,252,124,60,120,62,248,30, - 248,30,255,254,255,254,255,254,248,0,248,0,248,30,120,62, - 124,62,63,252,31,248,7,224,15,27,54,19,2,0,60,120, - 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, - 7,224,31,248,63,252,124,124,120,62,248,62,248,62,255,254, - 255,254,255,254,248,0,248,0,248,62,120,62,124,126,63,252, - 31,248,7,224,8,28,28,9,255,0,240,120,120,60,28,14, - 6,0,0,0,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,7,28,28,8,2,0,30,60,56,120, - 112,224,192,0,0,0,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,10,28,56,9,255,0,31,0, - 63,0,63,128,123,128,115,192,97,192,224,192,0,0,0,0, - 0,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,11,26,52,9,255,0,241,224,241,224, - 241,224,241,224,0,0,0,0,0,0,0,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 18,26,78,21,2,0,0,1,0,15,135,0,3,254,0,1, - 248,0,3,248,0,15,252,0,60,60,0,16,30,0,7,255, - 0,31,255,0,63,255,0,126,31,128,124,15,128,248,15,128, - 248,7,128,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,128,120,15,128,124,15,128,126,31,0,63,255,0,31,252, - 0,3,240,0,16,26,52,20,2,0,0,24,15,248,31,248, - 31,240,48,0,0,0,0,0,0,0,249,248,251,252,255,254, - 252,63,252,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,18,28, - 84,21,2,0,31,0,0,15,0,0,7,128,0,3,128,0, - 3,192,0,1,192,0,0,224,0,0,0,0,0,0,0,0, - 0,0,3,240,0,15,252,0,63,254,0,62,31,0,124,15, - 128,120,15,128,248,7,128,248,7,128,248,7,192,248,7,192, - 248,7,192,248,7,128,120,15,128,124,15,128,62,31,0,63, - 254,0,15,252,0,3,240,0,18,28,84,21,2,0,0,60, - 0,0,56,0,0,120,0,0,112,0,0,224,0,0,192,0, - 1,128,0,0,0,0,0,0,0,0,0,0,3,240,0,15, - 252,0,63,254,0,62,31,0,124,15,128,120,15,128,248,7, - 128,248,7,128,248,7,192,248,7,192,248,7,192,248,7,128, - 120,15,128,124,15,128,62,31,0,63,254,0,15,252,0,3, - 240,0,18,28,84,21,2,0,3,224,0,3,240,0,7,240, - 0,7,56,0,14,56,0,14,28,0,28,12,0,0,0,0, - 0,0,0,0,0,0,3,240,0,15,252,0,63,254,0,62, - 31,0,124,15,128,120,15,128,248,7,128,248,7,128,248,7, - 192,248,7,192,248,7,192,248,7,128,120,15,128,124,15,128, - 62,31,0,63,254,0,15,252,0,3,240,0,18,27,81,21, - 2,0,0,4,0,0,12,0,7,252,0,15,248,0,15,240, - 0,24,0,0,0,0,0,0,0,0,0,0,0,3,240,0, - 15,252,0,63,254,0,62,31,0,124,15,128,120,15,128,248, - 7,128,248,7,128,248,7,192,248,7,192,248,7,192,248,7, - 128,120,15,128,124,15,128,62,31,0,63,254,0,15,252,0, - 3,240,0,18,27,81,21,2,0,30,60,0,30,60,0,30, - 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,3,240,0,15,252,0,63,254,0,62,31,0, - 124,15,128,120,15,128,248,7,128,248,7,128,248,7,192,248, - 7,192,248,7,192,248,7,128,120,15,128,124,15,128,62,31, - 0,63,254,0,15,252,0,3,240,0,20,15,45,34,7,3, - 0,112,0,0,248,0,0,248,0,0,112,0,0,0,0,0, - 0,0,0,0,0,255,255,240,255,255,240,0,0,0,0,0, - 0,0,112,0,0,248,0,0,248,0,0,112,0,18,23,69, - 21,2,254,0,1,0,0,1,128,0,3,128,3,247,0,15, - 255,0,63,254,0,62,31,0,124,63,128,120,55,128,248,119, - 128,248,231,128,249,199,192,251,135,192,251,135,192,255,7,128, - 126,15,128,124,15,128,62,31,0,63,254,0,127,252,0,227, - 240,0,224,0,0,192,0,0,16,28,56,20,2,0,62,0, - 30,0,15,0,7,0,3,128,3,128,1,192,0,0,0,0, - 0,0,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,252,63, - 127,255,63,223,31,159,16,28,56,20,2,0,0,120,0,240, - 0,240,0,224,1,192,1,128,3,0,0,0,0,0,0,0, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,252,63,127,255, - 63,223,31,159,16,28,56,20,2,0,7,224,7,224,15,240, - 14,112,28,56,28,56,56,28,0,0,0,0,0,0,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,252,63,127,255,63,223, - 31,159,16,27,54,20,2,0,60,120,60,120,60,120,60,120, - 0,0,0,0,0,0,0,0,0,0,248,31,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,248,31,248,31,252,63,127,255,63,223,31,159,17,35, - 105,19,1,249,0,30,0,0,60,0,0,56,0,0,120,0, - 0,112,0,0,224,0,0,192,0,0,0,0,0,0,0,0, - 0,0,248,15,128,248,15,128,252,15,128,124,31,0,126,31, - 0,62,31,0,62,62,0,63,62,0,31,60,0,31,124,0, - 15,252,0,15,248,0,15,248,0,7,248,0,7,240,0,3, - 240,0,3,240,0,3,224,0,3,224,0,3,192,0,103,192, - 0,255,192,0,255,192,0,127,128,0,62,0,0,17,32,96, - 21,2,249,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,249,240,0,255,252,0,255,254, - 0,254,63,0,252,31,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,254,63,0,255,254,0,255,252,0,251,240,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,17,33,99,19,1,249,30,60,0,30,60,0,30, - 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, - 0,248,15,128,248,15,128,252,15,128,124,31,0,124,31,0, - 126,31,0,62,62,0,63,62,0,31,62,0,31,124,0,31, - 252,0,15,248,0,15,248,0,7,248,0,7,240,0,7,240, - 0,3,240,0,3,224,0,3,224,0,3,224,0,7,192,0, - 7,192,0,7,192,0,15,128,0,15,128,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=20 h=28 x= 7 y=13 dx=34 dy= 0 ascent=26 len=75 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25n[981] U8G_FONT_SECTION("u8g_font_fub25n") = { - 0,50,46,254,247,25,0,0,0,0,42,58,0,26,251,25, - 0,14,13,26,22,4,13,28,224,60,240,28,224,15,192,135, - 132,255,252,255,252,231,156,15,192,30,224,28,224,60,240,8, - 64,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,7,9,9,11,2,251,62,60,60,120, - 120,112,240,240,224,9,5,10,11,1,7,255,128,255,128,255, - 128,255,128,255,128,5,5,5,10,3,0,248,248,248,248,248, - 11,28,56,15,2,254,0,224,0,224,1,192,1,192,1,192, - 3,128,3,128,3,128,3,128,7,0,7,0,7,0,14,0, - 14,0,14,0,28,0,28,0,28,0,56,0,56,0,56,0, - 56,0,112,0,112,0,112,0,224,0,224,0,224,0,17,25, - 75,19,1,1,7,224,0,31,252,0,63,254,0,60,30,0, - 120,15,0,120,15,0,120,15,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, - 120,15,0,60,30,0,31,252,0,15,248,0,7,224,0,11, - 25,50,19,3,1,3,224,15,224,31,224,127,224,255,224,251, - 224,243,224,195,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,17,25,75,19,1,1,7,248,0, - 31,254,0,31,255,0,63,255,0,126,31,128,124,15,128,124, - 15,128,0,15,128,0,15,128,0,31,0,0,31,0,0,62, - 0,0,126,0,0,252,0,1,248,0,3,240,0,7,224,0, - 15,192,0,63,0,0,126,0,0,252,0,0,255,255,128,255, - 255,128,255,255,128,255,255,128,16,25,50,19,2,1,31,240, - 63,252,127,254,255,254,248,62,248,31,0,31,0,30,0,126, - 7,252,7,240,7,248,7,252,0,62,0,31,0,31,0,31, - 248,31,248,31,248,31,252,62,127,254,127,252,31,248,15,224, - 18,25,75,19,1,1,0,126,0,0,254,0,0,254,0,1, - 254,0,3,254,0,3,254,0,7,190,0,15,190,0,15,62, - 0,30,62,0,30,62,0,60,62,0,124,62,0,120,62,0, - 240,62,0,255,255,192,255,255,192,255,255,192,255,255,192,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,17,25,75,19,1,1,255,254,0,255,254,0,255,254,0, - 255,254,0,248,0,0,248,0,0,248,0,0,248,0,0,249, - 240,0,255,252,0,255,254,0,252,63,0,248,31,0,248,15, - 0,0,15,128,0,15,128,0,15,128,0,15,0,248,15,0, - 248,31,0,252,63,0,127,254,0,127,252,0,63,248,0,15, - 224,0,17,25,75,19,1,1,3,240,0,15,252,0,31,254, - 0,63,255,0,62,31,0,126,15,128,124,0,0,124,0,0, - 252,0,0,248,248,0,251,254,0,255,254,0,255,31,0,254, - 15,128,252,15,128,252,15,128,252,15,128,252,15,128,124,15, - 128,126,15,128,127,31,0,63,255,0,31,254,0,15,252,0, - 3,240,0,16,25,50,19,2,1,255,255,255,255,255,255,255, - 255,0,15,0,31,0,30,0,62,0,62,0,124,0,124,0, - 248,0,248,0,240,1,240,1,240,3,224,3,224,7,192,7, - 192,15,128,15,128,15,128,31,0,31,0,17,25,75,19,1, - 1,7,240,0,31,252,0,127,255,0,127,255,0,252,31,128, - 248,15,128,248,15,128,120,15,0,124,31,0,63,254,0,15, - 248,0,31,248,0,63,254,0,124,63,0,248,15,0,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,252,31,128, - 127,255,0,127,255,0,31,252,0,7,240,0,17,25,75,19, - 1,1,7,240,0,31,252,0,63,254,0,127,254,0,124,63, - 0,248,31,0,248,31,0,248,31,128,248,31,128,248,31,128, - 248,63,128,124,63,128,127,255,128,63,239,128,15,207,128,0, - 15,128,0,31,0,0,31,0,248,31,0,120,63,0,124,126, - 0,63,254,0,63,252,0,31,248,0,7,224,0,5,18,18, - 11,5,0,248,248,248,248,248,0,0,0,0,0,0,0,0, - 248,248,248,248,248}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=34 h=37 x= 8 y=21 dx=35 dy= 0 ascent=28 len=160 - Font Bounding box w=50 h=46 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub25r[5936] U8G_FONT_SECTION("u8g_font_fub25r") = { - 0,50,46,254,247,25,7,111,16,148,32,127,249,28,247,25, - 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, - 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, - 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, - 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, - 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, - 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, - 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, - 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, - 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, - 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, - 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, - 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, - 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, - 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, - 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, - 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, - 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, - 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, - 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, - 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, - 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, - 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, - 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, - 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, - 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, - 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, - 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, - 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, - 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, - 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, - 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, - 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, - 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, - 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, - 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, - 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, - 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, - 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, - 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, - 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, - 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, - 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, - 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, - 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, - 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, - 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, - 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, - 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, - 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, - 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, - 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, - 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, - 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, - 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, - 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, - 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, - 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, - 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, - 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, - 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, - 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, - 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, - 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, - 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, - 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, - 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, - 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, - 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, - 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, - 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, - 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, - 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, - 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, - 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, - 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, - 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, - 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, - 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, - 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, - 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, - 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, - 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, - 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, - 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, - 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, - 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, - 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, - 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, - 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, - 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, - 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, - 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, - 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, - 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, - 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, - 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, - 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, - 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, - 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, - 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, - 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, - 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, - 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, - 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, - 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, - 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, - 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, - 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, - 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, - 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, - 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, - 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, - 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, - 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, - 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, - 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, - 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, - 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, - 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, - 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, - 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, - 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, - 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, - 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, - 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, - 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, - 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, - 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, - 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, - 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, - 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, - 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, - 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, - 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, - 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, - 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, - 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, - 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, - 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, - 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, - 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, - 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, - 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, - 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, - 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, - 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, - 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, - 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, - 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, - 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, - 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, - 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, - 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, - 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, - 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, - 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, - 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, - 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, - 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, - 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, - 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, - 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, - 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, - 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, - 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, - 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, - 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, - 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, - 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, - 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, - 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, - 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, - 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, - 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, - 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, - 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, - 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, - 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, - 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, - 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, - 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, - 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, - 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, - 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, - 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, - 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, - 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, - 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, - 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, - 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, - 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, - 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, - 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, - 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, - 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, - 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, - 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, - 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, - 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, - 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, - 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, - 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, - 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, - 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, - 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, - 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, - 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, - 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, - 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, - 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, - 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, - 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, - 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, - 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, - 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, - 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, - 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, - 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, - 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, - 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, - 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, - 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, - 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, - 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, - 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, - 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, - 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, - 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, - 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, - 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, - 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, - 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, - 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, - 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, - 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, - 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, - 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, - 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, - 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, - 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, - 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, - 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, - 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, - 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, - 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, - 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, - 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, - 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, - 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, - 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, - 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, - 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, - 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, - 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, - 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, - 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, - 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, - 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, - 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, - 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, - 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, - 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, - 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, - 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, - 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, - 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, - 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, - 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,255 - }; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=38 h=43 x=10 y=26 dx=42 dy= 0 ascent=43 len=195 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =43 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30[16953] U8G_FONT_SECTION("u8g_font_fub30") = { - 0,59,54,253,245,30,9,163,21,182,32,255,249,43,245,31, - 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, - 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, - 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, - 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, - 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, - 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, - 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, - 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, - 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, - 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, - 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, - 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, - 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, - 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, - 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, - 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, - 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, - 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, - 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, - 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, - 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, - 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, - 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, - 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, - 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, - 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, - 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, - 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, - 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, - 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, - 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, - 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, - 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, - 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, - 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, - 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, - 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, - 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, - 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, - 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, - 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, - 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, - 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, - 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, - 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, - 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, - 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, - 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, - 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, - 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, - 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, - 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, - 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, - 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, - 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, - 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, - 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, - 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, - 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, - 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, - 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, - 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, - 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, - 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, - 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, - 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, - 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, - 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, - 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, - 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, - 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, - 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, - 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, - 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, - 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, - 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, - 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, - 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, - 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, - 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, - 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, - 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, - 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, - 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, - 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, - 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, - 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, - 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, - 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, - 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, - 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, - 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, - 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, - 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, - 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, - 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, - 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, - 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, - 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, - 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, - 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, - 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, - 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, - 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, - 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, - 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, - 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, - 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, - 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, - 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, - 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, - 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, - 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, - 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, - 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, - 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, - 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, - 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, - 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, - 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, - 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, - 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, - 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, - 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, - 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, - 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, - 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, - 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, - 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, - 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, - 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, - 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, - 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, - 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, - 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, - 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, - 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, - 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, - 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, - 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, - 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, - 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, - 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, - 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, - 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, - 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, - 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, - 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, - 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, - 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, - 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, - 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, - 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, - 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, - 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, - 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, - 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, - 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, - 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, - 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, - 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, - 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, - 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, - 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, - 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, - 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, - 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, - 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, - 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, - 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, - 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, - 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, - 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, - 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, - 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, - 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, - 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, - 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, - 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, - 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, - 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, - 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, - 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, - 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, - 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, - 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, - 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, - 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, - 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, - 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, - 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, - 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, - 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, - 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, - 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, - 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, - 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, - 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, - 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, - 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, - 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, - 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, - 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, - 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, - 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, - 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, - 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, - 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, - 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, - 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, - 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, - 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, - 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, - 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, - 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, - 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, - 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, - 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, - 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, - 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, - 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, - 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, - 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, - 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, - 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, - 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, - 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, - 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, - 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, - 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, - 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, - 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, - 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, - 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, - 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, - 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, - 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, - 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, - 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, - 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, - 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, - 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, - 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, - 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, - 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, - 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, - 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, - 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, - 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, - 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, - 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, - 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, - 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, - 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, - 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, - 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, - 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, - 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, - 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, - 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, - 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, - 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, - 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, - 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, - 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, - 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, - 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, - 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, - 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, - 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, - 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, - 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, - 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, - 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, - 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, - 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, - 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, - 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, - 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, - 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, - 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, - 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, - 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, - 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, - 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, - 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, - 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, - 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, - 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, - 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, - 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, - 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, - 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, - 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, - 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, - 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, - 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, - 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, - 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, - 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, - 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, - 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, - 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, - 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, - 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, - 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, - 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, - 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, - 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, - 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, - 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, - 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, - 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, - 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, - 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, - 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, - 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, - 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, - 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, - 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, - 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, - 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, - 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, - 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, - 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, - 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, - 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, - 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, - 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, - 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, - 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, - 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, - 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, - 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, - 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, - 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, - 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, - 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, - 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, - 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, - 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, - 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, - 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, - 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, - 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, - 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, - 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, - 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, - 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, - 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, - 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, - 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, - 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, - 255,224,240,31,128,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,12,0,0,5,28,28,16, - 5,248,248,248,248,248,248,0,0,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,18,30, - 90,24,3,250,0,6,0,0,14,0,0,12,0,0,12,0, - 0,28,0,7,252,0,31,255,0,63,255,128,63,63,128,124, - 63,192,124,127,192,252,103,192,248,96,0,248,96,0,248,192, - 0,248,192,0,248,192,0,253,192,0,253,143,192,125,143,192, - 127,143,192,127,31,128,63,255,128,31,255,0,7,252,0,6, - 0,0,14,0,0,12,0,0,12,0,0,28,0,0,20,31, - 93,23,2,0,0,16,0,3,255,128,7,255,192,15,255,224, - 15,199,240,31,131,240,31,131,240,31,1,240,31,0,0,31, - 0,0,31,0,0,31,0,0,255,252,0,255,252,0,255,252, - 0,255,252,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,255,255,240,255,255,240,255,255,240,255,255, - 240,21,21,63,25,2,8,192,0,24,224,0,56,113,252,112, - 63,255,224,31,7,192,28,1,192,24,1,192,56,0,224,48, - 0,96,48,0,96,48,0,96,48,0,96,48,0,224,56,0, - 224,28,1,192,30,3,192,31,143,192,63,255,224,113,252,112, - 224,0,56,192,0,24,22,30,90,24,1,0,252,0,252,252, - 0,252,124,1,248,126,1,248,62,3,240,63,3,240,63,7, - 224,31,135,224,255,135,252,255,143,252,255,207,252,7,223,128, - 7,255,0,3,255,0,3,255,0,1,254,0,255,255,252,255, - 255,252,255,255,252,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,2,38,38,14,6,248,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,16,36,72,19,1,251,15,252,31,254,63,254,126,14, - 124,2,124,0,124,0,126,0,127,0,63,192,31,224,15,248, - 31,252,63,254,126,127,124,63,248,31,248,31,248,31,252,62, - 254,252,127,248,63,240,31,248,7,252,1,254,0,127,0,63, - 0,63,0,31,0,63,64,126,127,254,127,252,127,240,31,192, - 13,5,10,13,0,26,240,120,240,120,240,120,240,120,240,120, - 30,30,120,34,2,1,0,63,240,0,0,255,252,0,3,248, - 127,0,7,192,15,128,15,0,3,192,30,0,1,224,60,31, - 240,240,56,63,248,112,120,127,252,120,112,248,124,56,112,248, - 62,56,225,240,62,28,225,240,62,28,225,240,0,28,225,240, - 0,28,225,240,0,28,225,240,0,28,225,240,62,28,225,240, - 62,28,112,248,62,56,112,248,124,56,112,127,252,120,56,63, - 248,112,60,31,224,240,30,0,1,224,15,0,3,192,7,128, - 15,128,3,240,63,0,1,255,252,0,0,63,240,0,14,20, - 40,16,1,10,15,192,63,240,120,240,120,120,0,120,15,248, - 63,248,124,120,240,120,240,120,240,120,240,248,255,248,127,248, - 63,56,0,0,0,0,0,0,255,252,255,252,20,16,48,24, - 2,2,15,193,240,15,131,224,31,135,224,31,7,192,63,15, - 192,126,15,192,126,31,128,252,31,128,252,31,128,126,31,128, - 126,15,192,63,15,192,31,7,192,31,135,224,15,131,224,15, - 193,240,21,9,27,25,2,8,255,255,248,255,255,248,0,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,255,30,30,120,34,2,1,0,63,240,0,0,255, - 252,0,3,248,127,0,7,192,15,128,15,0,3,192,30,0, - 1,224,60,255,192,240,56,255,240,112,120,255,248,120,112,240, - 124,56,112,240,60,56,224,240,60,28,224,240,60,28,224,240, - 120,28,224,255,240,28,224,255,224,28,224,255,248,28,224,240, - 120,28,224,240,120,28,112,240,56,56,112,240,60,56,112,240, - 60,120,56,240,60,112,60,240,60,240,30,0,1,224,15,0, - 3,192,7,128,15,128,3,240,63,0,1,255,252,0,0,63, - 240,0,13,4,8,13,0,26,255,248,255,248,255,248,255,248, - 9,9,18,13,2,21,62,0,127,0,227,128,193,128,193,128, - 193,128,227,128,127,0,62,0,24,24,72,40,8,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,255,255,255,255,255,255,255,255,255,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 255,255,255,255,255,255,13,16,32,15,1,15,63,224,127,240, - 248,120,240,120,0,120,0,248,1,240,3,224,7,192,15,128, - 31,0,60,0,240,0,255,240,255,240,255,240,12,15,30,14, - 1,16,63,192,127,224,240,240,240,240,0,240,1,224,15,192, - 15,192,1,224,0,240,0,240,240,240,249,240,127,224,63,128, - 8,8,8,9,2,25,31,31,62,60,120,112,240,224,255,18, - 36,108,22,2,250,7,255,192,31,255,192,63,199,0,127,199, - 0,255,199,0,255,199,0,255,199,0,255,199,0,255,199,0, - 255,199,0,255,199,0,255,199,0,127,199,0,63,199,0,15, - 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, - 0,1,199,0,1,199,0,1,199,0,1,199,0,1,199,0, - 1,199,0,1,199,0,1,199,0,1,199,0,1,199,0,1, - 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, - 0,5,5,5,12,3,11,248,248,248,248,248,9,10,20,10, - 2,246,48,0,48,0,60,0,63,0,7,128,3,128,3,128, - 135,128,255,0,252,0,7,16,16,11,2,14,30,62,254,254, - 158,30,30,30,30,30,30,30,30,30,30,30,14,19,38,16, - 1,11,15,192,31,224,60,240,120,120,112,56,240,60,240,60, - 240,60,240,60,240,60,112,56,120,120,60,240,31,224,15,192, - 0,0,0,0,255,252,255,252,20,16,48,24,2,2,252,31, - 0,124,31,0,126,15,128,62,15,192,63,15,192,31,7,224, - 31,135,224,31,131,240,31,131,240,31,135,224,31,7,224,63, - 15,192,62,15,192,126,15,128,124,31,0,252,31,0,28,31, - 124,32,2,255,30,0,15,0,62,0,30,0,254,0,30,0, - 254,0,60,0,158,0,124,0,30,0,120,0,30,0,248,0, - 30,0,240,0,30,1,240,0,30,1,224,0,30,3,192,0, - 30,3,192,0,30,7,128,0,30,15,128,0,30,15,0,0, - 30,31,3,224,0,30,7,224,0,60,15,224,0,60,15,224, - 0,120,31,224,0,120,61,224,0,240,121,224,0,240,121,224, - 1,224,241,224,3,193,225,224,3,193,255,240,7,129,255,240, - 7,128,1,224,15,0,1,224,15,0,1,224,30,0,1,224, - 28,30,120,31,2,0,30,0,30,0,62,0,60,0,254,0, - 56,0,222,0,120,0,158,0,240,0,30,0,240,0,30,1, - 224,0,30,1,224,0,30,3,192,0,30,3,192,0,30,7, - 128,0,30,7,128,0,30,15,0,0,30,30,0,0,30,30, - 31,128,30,60,63,224,0,60,125,224,0,120,240,240,0,120, - 240,240,0,240,0,240,0,240,1,240,1,224,3,224,1,192, - 7,192,3,192,15,128,7,128,31,0,7,128,62,0,15,0, - 124,0,15,0,240,0,30,0,255,240,30,0,255,240,29,30, - 120,31,1,1,63,192,3,192,127,224,7,192,240,240,7,128, - 240,240,15,0,0,240,15,0,1,224,30,0,15,192,30,0, - 15,192,60,0,1,224,124,0,0,240,120,0,0,240,240,0, - 240,240,240,0,249,241,224,0,127,225,224,0,63,131,193,240, - 0,3,195,240,0,7,135,240,0,15,7,240,0,15,15,240, - 0,30,30,240,0,30,60,240,0,60,60,240,0,60,120,240, - 0,120,240,240,0,240,255,248,0,240,255,248,1,224,0,240, - 1,224,0,240,3,192,0,240,3,192,0,240,19,28,84,23, - 2,248,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,0,0,0,0,0,0,0,0,0,240,0,0,240,0, - 0,240,0,0,240,0,1,224,0,7,224,0,15,128,0,31, - 0,0,62,0,0,124,0,0,252,0,0,252,0,0,248,1, - 0,252,3,128,252,7,224,126,15,192,127,255,192,63,255,128, - 15,254,0,3,248,0,27,41,164,28,1,0,1,240,0,0, - 1,240,0,0,0,248,0,0,0,120,0,0,0,60,0,0, - 0,28,0,0,0,14,0,0,0,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,63,128,0, - 0,127,128,0,0,127,128,0,0,127,192,0,0,255,192,0, - 0,255,224,0,0,255,224,0,1,251,224,0,1,243,240,0, - 3,243,240,0,3,241,240,0,3,225,248,0,7,225,248,0, - 7,224,248,0,7,192,252,0,15,192,252,0,15,192,126,0, - 15,128,126,0,31,255,254,0,31,255,255,0,63,255,255,0, - 63,255,255,0,63,255,255,128,126,0,31,128,126,0,31,128, - 126,0,15,192,252,0,15,192,252,0,7,192,248,0,7,224, - 27,41,164,28,1,0,0,3,240,0,0,3,224,0,0,3, - 192,0,0,7,128,0,0,7,0,0,0,15,0,0,0,14, - 0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,127, - 128,0,0,127,192,0,0,255,192,0,0,255,224,0,0,255, - 224,0,1,251,224,0,1,243,240,0,3,243,240,0,3,241, - 240,0,3,225,248,0,7,225,248,0,7,224,248,0,7,192, - 252,0,15,192,252,0,15,192,126,0,15,128,126,0,31,255, - 254,0,31,255,255,0,63,255,255,0,63,255,255,0,63,255, - 255,128,126,0,31,128,126,0,31,128,126,0,15,192,252,0, - 15,192,252,0,7,192,248,0,7,224,27,41,164,28,1,0, - 0,63,0,0,0,63,128,0,0,127,128,0,0,123,192,0, - 0,243,192,0,0,225,224,0,1,192,224,0,1,192,112,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0, - 0,63,128,0,0,127,128,0,0,127,128,0,0,127,192,0, - 0,255,192,0,0,255,224,0,0,255,224,0,1,251,224,0, - 1,243,240,0,3,243,240,0,3,241,240,0,3,225,248,0, - 7,225,248,0,7,224,248,0,7,192,252,0,15,192,252,0, - 15,192,126,0,15,128,126,0,31,255,254,0,31,255,255,0, - 63,255,255,0,63,255,255,0,63,255,255,128,126,0,31,128, - 126,0,31,128,126,0,15,192,252,0,15,192,252,0,7,192, - 248,0,7,224,27,39,156,28,1,0,0,120,112,0,0,255, - 224,0,1,255,224,0,1,255,192,0,1,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63, - 0,0,0,63,128,0,0,127,128,0,0,127,128,0,0,127, - 192,0,0,255,192,0,0,255,224,0,0,255,224,0,1,251, - 224,0,1,243,240,0,3,243,240,0,3,241,240,0,3,225, - 248,0,7,225,248,0,7,224,248,0,7,192,252,0,15,192, - 252,0,15,192,126,0,15,128,126,0,31,255,254,0,31,255, - 255,0,63,255,255,0,63,255,255,0,63,255,255,128,126,0, - 31,128,126,0,31,128,126,0,15,192,252,0,15,192,252,0, - 7,192,248,0,7,224,27,40,160,29,1,0,1,224,240,0, - 1,224,240,0,1,224,240,0,1,224,240,0,1,224,240,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,63,128,0,0,63,128,0,0,127,192,0, - 0,127,192,0,0,127,192,0,0,255,224,0,0,255,224,0, - 1,251,240,0,1,251,240,0,1,251,240,0,3,241,248,0, - 3,241,248,0,3,224,248,0,7,224,252,0,7,224,252,0, - 7,192,124,0,15,192,126,0,15,192,126,0,15,128,62,0, - 31,255,255,0,31,255,255,0,31,255,255,0,63,255,255,128, - 63,255,255,128,126,0,31,128,126,0,15,192,126,0,15,192, - 252,0,7,224,252,0,7,224,252,0,7,224,27,43,172,28, - 0,0,0,31,0,0,0,63,128,0,0,113,192,0,0,96, - 192,0,0,96,192,0,0,96,192,0,0,113,192,0,0,63, - 128,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,63,128,0,0,63,128,0,0,63, - 128,0,0,127,192,0,0,127,192,0,0,127,192,0,0,255, - 224,0,0,251,224,0,0,251,240,0,1,251,240,0,1,241, - 240,0,1,241,248,0,3,241,248,0,3,224,248,0,7,224, - 252,0,7,224,252,0,7,192,124,0,15,192,126,0,15,192, - 126,0,15,255,254,0,31,255,255,0,31,255,255,0,31,255, - 255,128,63,255,255,128,63,0,31,128,62,0,15,192,126,0, - 15,192,126,0,15,192,252,0,7,224,252,0,7,224,38,30, - 150,40,0,0,0,1,255,255,248,0,1,255,255,248,0,3, - 255,255,248,0,3,255,255,248,0,7,255,0,0,0,7,223, - 0,0,0,15,223,0,0,0,15,159,0,0,0,31,159,0, - 0,0,31,31,0,0,0,63,31,0,0,0,62,31,0,0, - 0,126,31,255,248,0,124,31,255,248,0,252,31,255,248,0, - 248,31,255,248,1,248,31,255,248,1,240,31,0,0,3,255, - 255,0,0,7,255,255,0,0,7,255,255,0,0,15,255,255, - 0,0,15,255,255,0,0,31,128,63,0,0,31,128,63,0, - 0,63,0,63,255,252,63,0,63,255,252,126,0,63,255,252, - 126,0,63,255,252,252,0,63,255,252,24,40,120,29,2,247, - 1,255,192,3,255,240,15,255,248,15,255,252,31,255,254,63, - 128,254,62,0,127,126,0,127,124,0,63,124,0,63,252,0, - 0,252,0,0,252,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,252,0,0,252,0,0,124,0,63,124, - 0,127,126,0,127,62,0,255,63,0,254,31,255,254,31,255, - 252,15,255,248,7,255,240,1,255,192,0,24,0,0,24,0, - 0,31,0,0,31,128,0,3,192,0,1,192,0,1,192,0, - 195,192,0,255,128,0,254,0,20,41,123,25,3,0,15,128, - 0,15,128,0,7,192,0,3,192,0,1,224,0,0,224,0, - 0,240,0,0,112,0,0,0,0,0,0,0,0,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, - 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, - 255,255,240,255,255,240,255,255,240,20,41,123,25,3,0,0, - 63,0,0,62,0,0,124,0,0,120,0,0,240,0,0,224, - 0,1,224,0,1,192,0,0,0,0,0,0,0,0,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,255,255,224,255,255,224,255,255,224, - 255,255,224,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,20,41,123,25,3,0, - 3,248,0,3,248,0,7,252,0,7,188,0,7,30,0,14, - 14,0,14,7,0,28,7,0,0,0,0,0,0,0,0,0, - 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,255,255,224,255,255,224,255,255, - 224,255,255,224,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,255,255,240,255, - 255,240,255,255,240,255,255,240,255,255,240,20,40,120,25,3, - 0,15,15,0,15,15,0,15,15,0,15,15,0,15,15,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, - 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, - 255,255,240,255,255,240,255,255,240,9,41,82,11,255,0,248, - 0,124,0,60,0,30,0,14,0,15,0,7,0,3,0,0, - 0,0,0,0,0,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,8,41,41,10,3,0,15,31,30,60,56,120,112,224,0, - 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 12,41,82,11,0,0,31,128,63,128,63,128,123,192,121,192, - 112,224,224,224,192,112,0,0,0,0,0,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,13,40,80,13,0,0,240,120, - 240,120,240,120,240,120,240,120,0,0,0,0,0,0,0,0, - 0,0,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,26,30, - 120,29,0,0,31,255,0,0,31,255,224,0,31,255,248,0, - 31,255,252,0,31,255,254,0,31,1,255,0,31,0,127,0, - 31,0,31,128,31,0,31,128,31,0,15,192,31,0,15,192, - 31,0,7,192,31,0,7,192,255,252,7,192,255,252,7,192, - 255,252,7,192,255,252,7,192,31,0,7,192,31,0,7,192, - 31,0,15,192,31,0,15,192,31,0,31,128,31,0,31,128, - 31,0,127,0,31,1,255,0,31,255,254,0,31,255,252,0, - 31,255,248,0,31,255,224,0,31,255,0,0,25,39,156,31, - 3,0,0,248,96,0,1,255,224,0,1,255,192,0,3,255, - 128,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,128,15,128,255,128,15,128,255,128, - 15,128,255,192,15,128,255,192,15,128,255,224,15,128,251,224, - 15,128,251,240,15,128,249,240,15,128,249,248,15,128,248,248, - 15,128,248,252,15,128,248,252,15,128,248,126,15,128,248,126, - 15,128,248,63,15,128,248,63,15,128,248,31,143,128,248,31, - 143,128,248,15,143,128,248,15,207,128,248,7,207,128,248,7, - 239,128,248,3,239,128,248,3,255,128,248,1,255,128,248,1, - 255,128,248,0,255,128,248,0,255,128,248,0,127,128,27,41, - 164,31,2,0,1,240,0,0,1,240,0,0,0,248,0,0, - 0,120,0,0,0,60,0,0,0,28,0,0,0,28,0,0, - 0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, - 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, - 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, - 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, - 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, - 3,255,248,0,0,255,224,0,27,41,164,31,2,0,0,1, - 240,0,0,1,224,0,0,3,224,0,0,3,192,0,0,7, - 128,0,0,7,0,0,0,14,0,0,0,14,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, - 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, - 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, - 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, - 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, - 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, - 224,0,27,41,164,31,2,0,0,63,0,0,0,63,128,0, - 0,63,128,0,0,123,192,0,0,113,192,0,0,240,224,0, - 0,224,224,0,1,192,112,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,224,0,3,255,248,0,7,255,252,0, - 15,255,254,0,31,255,255,0,63,192,127,128,63,0,31,128, - 127,0,31,192,126,0,15,192,126,0,15,192,252,0,15,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,15,224,126,0,15,192,126,0,15,192,127,0,31,192, - 63,0,31,128,63,192,127,128,31,255,255,0,15,255,254,0, - 7,255,252,0,3,255,248,0,0,255,224,0,27,40,160,31, - 2,0,0,0,48,0,0,124,112,0,0,255,224,0,0,255, - 224,0,1,255,192,0,1,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, - 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, - 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, - 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, - 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, - 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, - 224,0,27,40,160,31,2,0,0,240,240,0,0,240,240,0, - 0,240,240,0,0,240,240,0,0,240,240,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, - 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, - 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, - 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, - 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, - 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, - 3,255,248,0,0,255,224,0,22,22,66,40,9,1,96,0, - 24,240,0,60,112,0,56,56,0,112,28,0,224,14,1,192, - 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, - 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, - 192,28,0,224,56,0,112,112,0,56,96,0,24,64,0,8, - 29,34,136,31,1,254,0,0,0,16,0,0,0,56,0,127, - 240,120,1,255,252,240,3,255,255,240,7,255,255,224,15,255, - 255,192,31,224,63,192,31,128,15,192,63,128,31,224,63,0, - 63,224,63,0,127,224,126,0,251,240,126,1,243,240,126,1, - 227,240,126,3,195,240,126,7,131,240,126,15,3,240,126,30, - 3,240,126,60,3,240,126,124,3,240,126,248,7,240,63,240, - 7,224,63,224,7,224,63,192,15,224,31,128,15,192,31,224, - 63,192,31,255,255,128,63,255,255,0,127,255,254,0,249,255, - 252,0,240,127,240,0,224,0,0,0,64,0,0,0,24,41, - 123,30,3,0,7,192,0,3,224,0,1,224,0,1,240,0, - 0,240,0,0,120,0,0,56,0,0,28,0,0,0,0,0, - 0,0,0,0,0,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,252,0, - 31,252,0,31,252,0,63,124,0,63,126,0,126,127,0,254, - 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, - 41,123,30,3,0,0,3,224,0,3,224,0,7,192,0,15, - 128,0,15,0,0,30,0,0,28,0,0,56,0,0,0,0, - 0,0,0,0,0,0,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,252, - 0,31,252,0,31,252,0,63,124,0,63,126,0,126,127,0, - 254,63,255,252,31,255,252,31,255,248,7,255,224,1,255,192, - 24,41,123,30,3,0,0,126,0,0,255,0,0,255,0,1, - 247,128,1,231,128,3,195,192,3,129,192,7,0,224,0,0, - 0,0,0,0,0,0,0,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 252,0,31,252,0,31,252,0,63,124,0,63,126,0,126,127, - 0,254,63,255,252,31,255,252,31,255,248,7,255,224,1,255, - 192,24,40,120,30,3,0,3,193,224,3,193,224,3,193,224, - 3,193,224,3,193,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,0,31,252,0,31,252,0,31,252,0, - 31,252,0,31,252,0,31,252,0,31,252,0,31,252,0,31, - 252,0,31,252,0,31,252,0,31,252,0,31,252,0,31,252, - 0,31,252,0,31,252,0,31,252,0,31,252,0,31,252,0, - 31,252,0,31,254,0,63,126,0,63,127,0,126,127,128,254, - 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, - 41,123,25,1,0,0,7,192,0,15,128,0,15,0,0,14, - 0,0,30,0,0,28,0,0,56,0,0,0,0,0,0,0, - 0,0,0,0,0,0,252,0,127,254,0,126,126,0,254,127, - 0,252,63,1,252,63,1,248,31,131,248,31,131,240,15,195, - 240,15,199,224,7,231,224,7,239,192,3,255,192,3,255,128, - 1,255,128,1,255,0,0,255,0,0,254,0,0,126,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 21,30,90,26,2,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,252,0,255,255,128,255,255,192,255,255, - 224,255,255,240,248,7,240,248,1,248,248,1,248,248,0,248, - 248,0,248,248,1,248,248,1,248,248,7,240,255,255,240,255, - 255,224,255,255,192,255,255,128,255,252,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 21,30,90,24,2,1,15,252,0,63,255,0,127,255,128,126, - 31,192,252,15,192,252,7,192,248,7,192,248,15,192,248,15, - 128,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 248,248,0,248,252,0,248,254,0,248,127,128,248,63,192,248, - 31,224,248,7,240,248,3,240,248,1,248,248,1,248,251,224, - 248,251,225,248,251,241,248,249,255,240,249,255,224,248,255,192, - 19,32,96,22,2,0,31,0,0,31,0,0,15,128,0,7, - 128,0,3,192,0,1,192,0,1,224,0,0,224,0,0,0, - 0,0,0,0,0,0,0,0,0,0,15,254,0,31,255,0, - 63,255,128,126,15,128,124,15,192,0,7,192,0,127,192,15, - 255,192,63,255,192,127,255,192,127,7,192,252,7,192,252,7, - 192,248,15,192,248,15,192,252,15,192,254,31,192,127,255,192, - 63,247,192,31,227,224,19,32,96,22,2,0,0,31,0,0, - 62,0,0,60,0,0,120,0,0,120,0,0,240,0,0,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,31,255,0,63,255,128,126,15,128,124,15,192,0, - 7,192,0,127,192,15,255,192,63,255,192,127,255,192,127,7, - 192,252,7,192,252,7,192,248,15,192,248,15,192,252,15,192, - 254,31,192,127,255,192,63,247,192,31,227,224,19,32,96,22, - 2,0,3,240,0,3,248,0,7,248,0,7,188,0,15,28, - 0,14,30,0,28,14,0,28,7,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, - 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, - 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, - 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 227,224,19,30,90,22,2,0,7,135,0,15,254,0,15,254, - 0,31,252,0,24,16,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, - 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, - 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, - 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 227,224,19,31,93,23,2,0,30,30,0,30,30,0,30,30, - 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,15,254,0,31,255,0,63, - 255,128,126,15,128,124,15,192,0,7,192,0,127,192,15,255, - 192,63,255,192,127,255,192,127,7,192,252,7,192,252,7,192, - 248,15,192,248,15,192,252,15,192,254,31,192,127,255,192,63, - 247,192,31,231,224,19,34,102,22,2,0,1,240,0,3,248, - 0,7,28,0,6,12,0,6,12,0,6,12,0,7,28,0, - 3,248,0,1,240,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,254,0,31,255,0,63,255,128,126,15, - 128,124,15,192,0,7,192,0,127,192,15,255,192,63,255,192, - 127,255,192,127,7,192,252,7,192,252,7,192,248,15,192,248, - 15,192,252,15,192,254,31,192,127,255,192,63,247,192,31,231, - 224,32,20,80,36,2,1,15,252,31,224,31,254,127,248,63, - 255,127,252,126,15,240,126,124,7,224,62,0,7,224,62,0, - 7,192,31,7,255,255,255,31,255,255,255,63,255,255,255,127, - 255,255,255,252,7,192,0,252,7,224,0,248,7,224,0,248, - 15,224,63,252,15,240,62,254,30,248,126,127,252,127,252,63, - 248,63,248,31,224,31,240,17,30,90,21,2,247,15,252,0, - 31,254,0,63,255,0,126,63,0,124,31,128,124,31,128,252, - 15,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,252,15,128,252,31,128,124,31,128,126,63,0, - 63,255,0,31,254,0,15,252,0,1,128,0,1,128,0,1, - 224,0,1,248,0,0,60,0,0,28,0,0,28,0,6,60, - 0,7,248,0,7,224,0,19,32,96,22,2,0,31,0,0, - 31,0,0,15,128,0,7,128,0,3,192,0,1,192,0,0, - 224,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0, - 0,7,252,0,31,255,0,63,255,0,62,31,128,124,15,192, - 124,7,192,252,7,192,255,255,192,255,255,192,255,255,224,255, - 255,224,248,0,0,248,0,0,252,0,0,124,7,192,124,15, - 192,126,31,128,63,255,128,31,255,0,7,252,0,19,32,96, - 22,2,0,0,31,0,0,62,0,0,60,0,0,120,0,0, - 120,0,0,240,0,0,224,0,1,192,0,0,0,0,0,0, - 0,0,0,0,0,0,0,7,252,0,31,255,0,63,255,0, - 62,31,128,124,15,192,124,7,192,252,7,192,255,255,192,255, - 255,192,255,255,224,255,255,224,248,0,0,248,0,0,252,0, - 0,124,7,192,124,15,192,126,31,128,63,255,128,31,255,0, - 7,252,0,19,32,96,22,2,0,3,240,0,3,248,0,7, - 248,0,7,188,0,15,28,0,14,30,0,28,14,0,28,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,252,0, - 31,255,0,63,255,0,62,31,128,124,15,192,124,7,192,252, - 7,192,255,255,192,255,255,192,255,255,224,255,255,224,248,0, - 0,248,0,0,252,0,0,124,7,192,124,15,192,126,31,128, - 63,255,128,31,255,0,7,252,0,19,31,93,22,2,0,30, - 30,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 15,192,252,15,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,15,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,8,32,32,11, - 0,0,248,120,124,60,30,14,7,7,0,0,0,0,31,31, - 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, - 31,31,9,32,64,10,2,0,15,128,31,0,30,0,62,0, - 60,0,120,0,112,0,224,0,0,0,0,0,0,0,0,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,13,32,64,11,255,0,15,192, - 31,192,31,224,61,224,56,240,120,112,112,56,224,56,0,0, - 0,0,0,0,0,0,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,13,31, - 62,11,255,0,240,120,240,120,240,120,240,120,240,120,0,0, - 0,0,0,0,0,0,0,0,0,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,20,31,93,24,2,0,0,0,96,7,193,224,3,247, - 224,1,255,128,0,254,0,0,254,0,3,254,0,15,159,0, - 30,15,128,24,15,128,0,7,192,7,255,192,15,255,224,63, - 255,224,63,15,240,126,3,240,124,3,240,252,1,240,252,1, - 240,252,1,240,248,1,240,248,1,240,252,1,240,252,1,240, - 252,1,240,124,3,240,126,3,224,63,15,224,31,255,192,15, - 255,128,7,254,0,18,30,90,24,3,0,7,134,0,15,254, - 0,15,254,0,31,252,0,24,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,32,96,24,2,0,15,128,0,7,128, - 0,7,192,0,3,192,0,1,224,0,0,224,0,0,112,0, - 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 254,0,15,255,0,31,255,192,63,15,192,126,3,224,124,3, - 240,252,1,240,252,1,240,252,1,240,248,1,240,248,1,240, - 248,1,240,252,1,240,252,1,240,124,3,240,126,3,224,63, - 15,192,31,255,192,15,255,0,3,254,0,20,32,96,24,2, - 0,0,15,128,0,31,0,0,30,0,0,60,0,0,56,0, - 0,120,0,0,112,0,0,224,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,254,0,15,255,0,31,255,192,63,15, - 192,126,3,224,124,3,240,252,1,240,252,1,240,252,1,240, - 248,1,240,248,1,240,248,1,240,252,1,240,252,1,240,124, - 3,240,126,3,224,63,15,192,31,255,192,15,255,0,3,254, - 0,20,32,96,24,2,0,1,248,0,1,252,0,3,252,0, - 3,222,0,7,158,0,7,15,0,14,7,0,14,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,31,93,24,2,0,0,1,128, - 3,195,0,7,255,0,7,255,0,15,254,0,12,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,254, - 0,15,255,0,31,255,192,63,15,192,126,3,224,124,3,240, - 252,1,240,252,1,240,252,1,240,248,1,240,248,1,240,248, - 1,240,252,1,240,252,1,240,124,3,240,126,3,224,63,15, - 192,31,255,192,15,255,0,3,254,0,20,31,93,24,2,0, - 15,7,128,15,7,128,15,7,128,15,7,128,15,7,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,3,254,0,15,255,0,31,255,192,63,15,192,126,3,224, - 124,3,240,252,1,240,252,1,240,252,1,240,248,1,240,248, - 1,240,248,1,240,252,1,240,252,1,240,124,3,240,126,3, - 224,63,15,192,31,255,192,15,255,0,3,254,0,24,19,57, - 40,8,2,0,16,0,0,56,0,0,124,0,0,124,0,0, - 124,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,56,0, - 0,124,0,0,124,0,0,124,0,0,56,0,21,26,78,24, - 1,254,0,0,56,0,0,120,0,0,112,1,255,224,7,255, - 224,15,255,224,31,135,224,63,7,240,62,15,248,126,14,248, - 126,28,248,126,56,248,124,120,248,124,112,248,126,224,248,127, - 192,248,63,193,248,63,129,248,63,3,240,31,135,224,31,255, - 224,31,255,192,57,255,0,120,0,0,240,0,0,96,0,0, - 18,32,96,24,3,0,31,0,0,15,0,0,15,128,0,7, - 128,0,3,192,0,1,192,0,0,224,0,0,224,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,252,7,192,252,15,192,252,15,192,254,31,192,127,255,192, - 63,247,192,31,231,192,18,32,96,24,3,0,0,62,0,0, - 60,0,0,124,0,0,120,0,0,240,0,0,224,0,1,224, - 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,252,7,192,252,15,192,252,15,192, - 254,31,192,127,255,192,63,247,192,31,231,192,18,32,96,24, - 3,0,3,240,0,3,248,0,7,248,0,7,188,0,15,60, - 0,14,30,0,30,14,0,28,6,0,0,0,0,0,0,0, - 0,0,0,0,0,0,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, - 231,192,18,31,93,24,3,0,30,30,0,30,30,0,30,30, - 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 252,7,192,252,15,192,252,15,192,254,31,192,127,255,192,63, - 247,192,31,231,192,21,41,123,22,1,248,0,7,192,0,15, - 128,0,15,0,0,30,0,0,30,0,0,60,0,0,56,0, - 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,252,1,248,252,3,240,126,3,240,126,3,224,63,7, - 224,63,7,224,63,7,192,31,143,192,31,143,192,15,143,128, - 15,223,128,15,223,128,7,223,0,7,255,0,3,255,0,3, - 254,0,3,254,0,1,252,0,1,252,0,0,252,0,0,248, - 0,1,248,0,33,248,0,115,240,0,255,240,0,255,224,0, - 127,192,0,31,128,0,20,38,114,25,3,248,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,249,254,0,251,255,128, - 251,255,192,255,15,192,254,7,224,252,3,224,252,3,240,252, - 3,240,252,3,240,248,1,240,248,1,240,252,3,240,252,3, - 240,252,3,240,252,3,224,254,7,224,255,15,192,255,255,192, - 251,255,128,249,254,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,21,39, - 117,21,0,248,15,7,128,15,7,128,15,7,128,15,7,128, - 15,7,128,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,1,248,252,1,248,126,1,240,126,3, - 240,63,3,224,63,3,224,63,7,224,31,135,192,31,143,192, - 15,207,192,15,207,128,15,223,128,7,255,128,7,255,0,3, - 255,0,3,255,0,3,254,0,1,254,0,1,252,0,0,252, - 0,0,252,0,1,248,0,1,248,0,1,248,0,3,240,0, - 3,240,0,7,240,0,7,224,0}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 30 - Calculated Max Values w=24 h=32 x= 8 y=14 dx=40 dy= 0 ascent=31 len=90 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =30 descent= 0 - X Font ascent =30 descent= 0 - Max Font ascent =31 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30n[1205] U8G_FONT_SECTION("u8g_font_fub30n") = { - 0,59,54,253,245,30,0,0,0,0,42,58,0,31,251,30, - 0,16,16,32,26,5,14,4,32,28,56,30,120,30,120,15, - 240,7,224,227,199,255,255,255,255,243,207,7,224,15,240,30, - 120,30,120,28,56,4,32,24,25,75,40,8,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,255,255, - 255,255,255,255,255,255,255,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,8,10,10,12,2,251,31,31, - 62,62,60,124,120,120,240,240,10,5,10,14,2,8,255,192, - 255,192,255,192,255,192,255,192,5,5,5,12,4,0,248,248, - 248,248,248,13,32,64,17,2,254,0,120,0,120,0,120,0, - 240,0,240,0,240,1,224,1,224,1,224,3,192,3,192,3, - 192,3,192,7,128,7,128,7,128,15,0,15,0,15,0,14, - 0,30,0,30,0,30,0,60,0,60,0,60,0,120,0,120, - 0,120,0,120,0,240,0,240,0,20,30,90,23,1,1,3, - 252,0,15,255,0,31,255,128,63,15,128,62,7,192,124,3, - 192,124,3,224,124,3,224,124,3,224,248,1,240,248,1,240, - 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,124,3, - 224,124,3,224,124,3,224,124,3,224,62,7,192,63,15,128, - 31,255,128,15,255,0,3,252,0,12,30,60,23,4,0,1, - 240,3,240,15,240,63,240,255,240,255,240,253,240,249,240,225, - 240,129,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,20,30,90,23,1, - 1,3,255,0,7,255,128,31,255,192,31,255,224,63,255,240, - 63,3,240,126,1,240,126,1,240,124,1,240,0,1,240,0, - 3,240,0,3,240,0,7,224,0,15,224,0,15,192,0,31, - 128,0,63,0,0,254,0,1,252,0,3,248,0,7,240,0, - 15,224,0,63,128,0,127,0,0,252,0,0,255,255,240,255, - 255,240,255,255,240,255,255,240,255,255,240,19,30,90,23,2, - 1,7,252,0,31,255,0,63,255,128,127,255,128,127,255,192, - 252,15,192,252,7,192,248,7,192,0,7,192,0,7,192,0, - 15,192,0,63,192,3,255,128,3,254,0,3,252,0,3,255, - 0,3,255,128,0,31,192,0,7,224,0,7,224,0,7,224, - 0,3,224,248,7,224,252,7,224,252,7,192,126,15,192,127, - 255,128,63,255,128,31,255,0,15,252,0,21,30,90,23,1, - 0,0,63,128,0,63,128,0,127,128,0,255,128,0,255,128, - 1,255,128,1,255,128,3,239,128,3,207,128,7,207,128,15, - 143,128,15,143,128,31,15,128,31,15,128,62,15,128,62,15, - 128,124,15,128,252,15,128,248,15,128,255,255,248,255,255,248, - 255,255,248,255,255,248,255,255,248,0,15,128,0,15,128,0, - 15,128,0,15,128,0,15,128,0,15,128,19,30,90,23,2, - 0,127,255,192,127,255,192,127,255,192,127,255,192,127,255,192, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,252,0,125,255,0,127,255,128,127,255,192,127,15, - 224,126,7,224,124,3,224,0,3,224,0,3,224,0,3,224, - 0,3,224,0,3,224,248,7,224,252,7,224,252,15,192,127, - 255,128,127,255,128,63,254,0,15,252,0,20,30,90,23,1, - 1,3,254,0,7,255,0,15,255,128,31,255,192,63,255,192, - 63,7,224,126,3,224,126,3,224,124,0,0,124,0,0,252, - 0,0,248,0,0,249,255,0,251,255,128,255,255,192,255,15, - 224,254,7,224,254,3,240,252,3,240,252,3,240,252,1,240, - 252,1,240,124,3,240,124,3,240,126,3,224,63,7,224,63, - 255,192,31,255,128,15,255,0,3,254,0,19,30,90,23,2, - 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, - 0,7,224,0,7,224,0,7,192,0,15,192,0,15,192,0, - 31,128,0,31,128,0,63,0,0,63,0,0,63,0,0,126, - 0,0,126,0,0,252,0,0,252,0,1,252,0,1,248,0, - 1,248,0,3,240,0,3,240,0,7,240,0,7,224,0,15, - 224,0,15,192,0,15,192,0,31,192,0,20,30,90,23,1, - 1,7,254,0,31,255,128,63,255,192,127,255,224,127,255,224, - 126,7,224,124,3,224,124,3,224,124,3,224,124,3,224,126, - 7,224,127,15,192,63,255,128,15,255,0,7,252,0,31,255, - 0,63,255,192,127,15,224,124,7,224,252,3,240,252,3,240, - 248,1,240,248,3,240,252,3,240,252,3,240,254,7,240,127, - 255,224,63,255,192,31,255,128,15,255,0,20,30,90,23,1, - 1,3,252,0,15,255,0,31,255,128,63,255,192,127,255,192, - 126,7,224,252,7,224,252,3,224,252,3,240,248,3,240,248, - 3,240,252,3,240,252,7,240,124,7,240,127,15,240,63,255, - 240,63,253,240,31,249,240,7,225,240,0,3,240,0,3,224, - 0,3,224,0,3,224,124,7,224,124,7,192,126,15,192,63, - 255,128,31,255,0,15,254,0,7,252,0,5,20,20,12,5, - 0,248,248,248,248,248,0,0,0,0,0,0,0,0,0,0, - 248,248,248,248,248}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=38 h=43 x=10 y=25 dx=42 dy= 0 ascent=33 len=195 - Font Bounding box w=59 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =33 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub30r[7686] U8G_FONT_SECTION("u8g_font_fub30r") = { - 0,59,54,253,245,30,9,163,21,182,32,127,249,33,245,31, - 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, - 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, - 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, - 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, - 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, - 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, - 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, - 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, - 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, - 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, - 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, - 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, - 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, - 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, - 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, - 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, - 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, - 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, - 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, - 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, - 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, - 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, - 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, - 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, - 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, - 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, - 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, - 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, - 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, - 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, - 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, - 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, - 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, - 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, - 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, - 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, - 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, - 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, - 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, - 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, - 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, - 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, - 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, - 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, - 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, - 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, - 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, - 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, - 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, - 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, - 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, - 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, - 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, - 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, - 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, - 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, - 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, - 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, - 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, - 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, - 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, - 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, - 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, - 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, - 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, - 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, - 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, - 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, - 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, - 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, - 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, - 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, - 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, - 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, - 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, - 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, - 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, - 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, - 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, - 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, - 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, - 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, - 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, - 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, - 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, - 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, - 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, - 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, - 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, - 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, - 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, - 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, - 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, - 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, - 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, - 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, - 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, - 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, - 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, - 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, - 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, - 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, - 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, - 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, - 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, - 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, - 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, - 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, - 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, - 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, - 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, - 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, - 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, - 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, - 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, - 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, - 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, - 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, - 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, - 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, - 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, - 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, - 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, - 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, - 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, - 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, - 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, - 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, - 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, - 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, - 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, - 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, - 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, - 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, - 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, - 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, - 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, - 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, - 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, - 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, - 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, - 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, - 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, - 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, - 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, - 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, - 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, - 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, - 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, - 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, - 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, - 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, - 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, - 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, - 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, - 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, - 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, - 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, - 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, - 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, - 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, - 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, - 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, - 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, - 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, - 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, - 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, - 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, - 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, - 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, - 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, - 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, - 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, - 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, - 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, - 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, - 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, - 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, - 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, - 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, - 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, - 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, - 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, - 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, - 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, - 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, - 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, - 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, - 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, - 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, - 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, - 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, - 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, - 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, - 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, - 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, - 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, - 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, - 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, - 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, - 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, - 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, - 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, - 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, - 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, - 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, - 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, - 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, - 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, - 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, - 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, - 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, - 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, - 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, - 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, - 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, - 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, - 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, - 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, - 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, - 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, - 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, - 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, - 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, - 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, - 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, - 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, - 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, - 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, - 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, - 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, - 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, - 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, - 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, - 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, - 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, - 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, - 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, - 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, - 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, - 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, - 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, - 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, - 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, - 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, - 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, - 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, - 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, - 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, - 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, - 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, - 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, - 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, - 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, - 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, - 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, - 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, - 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, - 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, - 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, - 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, - 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, - 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, - 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, - 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, - 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, - 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, - 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, - 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, - 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, - 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, - 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, - 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, - 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, - 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, - 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, - 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, - 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, - 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, - 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, - 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, - 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, - 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, - 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, - 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, - 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, - 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, - 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, - 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, - 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, - 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, - 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, - 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, - 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, - 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, - 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, - 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, - 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, - 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, - 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, - 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, - 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, - 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, - 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, - 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, - 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, - 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, - 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, - 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, - 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, - 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, - 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, - 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, - 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, - 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, - 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, - 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, - 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, - 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, - 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, - 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, - 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, - 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, - 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, - 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, - 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, - 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, - 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, - 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, - 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, - 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, - 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, - 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, - 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, - 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, - 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, - 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, - 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, - 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, - 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, - 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, - 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, - 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, - 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, - 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, - 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, - 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, - 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, - 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, - 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, - 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, - 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, - 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, - 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, - 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, - 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, - 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, - 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, - 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, - 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, - 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, - 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, - 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, - 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, - 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, - 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, - 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, - 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, - 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, - 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, - 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, - 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, - 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, - 255,224,240,31,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--49-490-72-72-P-242-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 35 - Calculated Max Values w=29 h=39 x=10 y=17 dx=49 dy= 0 ascent=36 len=140 - Font Bounding box w=72 h=65 x=-4 y=-13 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =35 descent= 0 - X Font ascent =35 descent= 0 - Max Font ascent =36 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub35n[1697] U8G_FONT_SECTION("u8g_font_fub35n") = { - 0,72,65,252,243,35,0,0,0,0,42,58,0,36,250,35, - 0,20,18,54,32,6,17,7,14,0,31,15,128,31,159,128, - 15,159,0,7,158,0,3,252,0,129,248,16,254,247,240,255, - 255,240,255,255,240,249,249,240,1,248,0,3,252,0,7,158, - 0,15,159,0,31,143,128,31,15,128,7,14,0,29,29,116, - 49,10,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,255,255,255,248,255,255,255,248,255, - 255,255,248,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, - 7,0,0,0,7,0,0,11,12,24,15,2,250,15,224,15, - 192,31,192,31,128,31,128,63,0,63,0,62,0,126,0,124, - 0,124,0,248,0,13,6,12,17,2,9,255,248,255,248,255, - 248,255,248,255,248,255,248,7,6,6,15,5,0,254,254,254, - 254,254,254,17,39,117,21,2,253,0,15,128,0,15,0,0, - 31,0,0,31,0,0,30,0,0,62,0,0,62,0,0,62, - 0,0,124,0,0,124,0,0,124,0,0,120,0,0,248,0, - 0,248,0,0,240,0,1,240,0,1,240,0,1,240,0,3, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,128,0,15,128,0,31,0,0, - 31,0,0,31,0,0,62,0,0,62,0,0,62,0,0,60, - 0,0,124,0,0,124,0,0,124,0,0,248,0,0,25,35, - 140,28,2,1,1,255,128,0,7,255,224,0,15,255,240,0, - 31,255,248,0,31,255,252,0,63,129,252,0,63,0,254,0, - 127,0,126,0,126,0,126,0,126,0,63,0,126,0,63,0, - 254,0,63,0,254,0,63,0,254,0,63,0,254,0,63,128, - 254,0,63,128,254,0,63,128,254,0,63,128,254,0,63,128, - 254,0,63,128,254,0,63,128,254,0,63,0,254,0,63,0, - 254,0,63,0,126,0,63,0,126,0,63,0,126,0,127,0, - 127,0,126,0,63,0,254,0,63,129,252,0,31,255,252,0, - 31,255,248,0,15,255,240,0,7,255,224,0,1,255,128,0, - 15,35,70,28,5,0,0,254,1,254,7,254,15,254,63,254, - 255,254,255,254,254,254,252,254,240,254,192,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, - 0,254,0,254,0,254,0,254,0,254,0,254,25,35,140,28, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,255,255,0,63,192,255,0,63,128,63,128,63,0, - 63,128,127,0,63,128,0,0,63,128,0,0,63,128,0,0, - 63,128,0,0,127,0,0,0,127,0,0,0,255,0,0,1, - 254,0,0,3,252,0,0,7,252,0,0,15,248,0,0,31, - 240,0,0,63,224,0,0,127,192,0,1,255,0,0,3,254, - 0,0,7,252,0,0,15,240,0,0,63,224,0,0,127,128, - 0,0,255,0,0,0,255,255,255,128,255,255,255,128,255,255, - 255,128,255,255,255,128,255,255,255,128,255,255,255,128,24,35, - 105,28,2,1,3,255,128,15,255,224,31,255,240,63,255,248, - 127,255,252,127,3,252,254,1,252,254,0,252,254,0,254,0, - 0,254,0,0,254,0,1,252,0,1,252,0,15,248,0,255, - 240,0,255,192,0,255,128,0,255,224,0,255,248,0,3,252, - 0,0,254,0,0,254,0,0,126,0,0,127,0,0,127,254, - 0,127,254,0,127,254,0,254,255,0,254,127,1,252,127,255, - 252,63,255,248,31,255,240,15,255,224,3,255,128,26,35,140, - 28,1,0,0,7,252,0,0,15,252,0,0,31,252,0,0, - 31,252,0,0,63,252,0,0,63,252,0,0,127,252,0,0, - 253,252,0,0,253,252,0,1,249,252,0,1,249,252,0,3, - 241,252,0,7,241,252,0,7,225,252,0,15,193,252,0,15, - 193,252,0,31,129,252,0,63,129,252,0,63,1,252,0,126, - 1,252,0,254,1,252,0,252,1,252,0,255,255,255,192,255, - 255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255, - 255,255,192,0,1,252,0,0,1,252,0,0,1,252,0,0, - 1,252,0,0,1,252,0,0,1,252,0,0,1,252,0,24, - 35,105,28,2,0,127,255,252,127,255,252,127,255,252,127,255, - 252,127,255,252,127,255,252,127,0,0,127,0,0,127,0,0, - 127,0,0,127,0,0,127,0,0,127,31,192,127,127,240,127, - 255,248,127,255,252,127,255,252,127,193,254,127,0,254,127,0, - 127,126,0,127,0,0,127,0,0,127,0,0,127,0,0,127, - 0,0,127,254,0,127,254,0,254,254,0,254,255,1,252,127, - 255,252,127,255,248,63,255,240,15,255,192,7,255,128,25,35, - 140,28,2,1,0,255,192,0,3,255,240,0,7,255,248,0, - 15,255,252,0,31,255,254,0,31,224,254,0,63,192,127,0, - 63,128,127,0,127,0,0,0,127,0,0,0,127,0,0,0, - 126,0,0,0,254,31,192,0,254,127,240,0,254,255,248,0, - 254,255,252,0,255,255,254,0,255,225,254,0,255,192,255,0, - 255,128,127,0,255,0,63,0,255,0,63,128,255,0,63,128, - 255,0,63,128,255,0,63,128,127,0,63,0,127,0,63,0, - 127,128,127,0,127,128,127,0,63,192,254,0,31,255,252,0, - 31,255,252,0,15,255,248,0,7,255,224,0,1,255,128,0, - 24,35,105,28,2,0,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,0,0,127,0,0,127,0,0, - 254,0,0,254,0,1,254,0,1,252,0,3,252,0,3,248, - 0,7,248,0,7,240,0,15,240,0,15,240,0,31,224,0, - 31,224,0,63,192,0,63,192,0,63,128,0,127,128,0,127, - 0,0,255,0,0,255,0,1,254,0,1,254,0,3,252,0, - 3,252,0,7,248,0,7,248,0,15,248,0,15,240,0,25, - 35,140,28,2,1,3,255,192,0,15,255,240,0,31,255,252, - 0,63,255,254,0,63,255,254,0,127,193,255,0,127,128,255, - 0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127, - 0,127,0,127,0,63,128,254,0,63,193,252,0,15,255,248, - 0,7,255,224,0,1,255,192,0,15,255,240,0,31,255,248, - 0,63,193,254,0,127,128,254,0,127,0,127,0,254,0,63, - 0,254,0,63,0,254,0,63,128,254,0,63,128,254,0,63, - 128,255,0,127,128,255,0,127,0,127,128,255,0,127,255,255, - 0,63,255,254,0,63,255,252,0,15,255,248,0,3,255,224, - 0,25,35,140,28,2,1,1,255,192,0,7,255,224,0,15, - 255,248,0,31,255,252,0,63,255,252,0,127,129,254,0,127, - 0,254,0,126,0,255,0,254,0,127,0,254,0,127,0,254, - 0,127,128,254,0,127,128,254,0,127,128,254,0,127,128,254, - 0,255,128,127,0,255,128,127,131,255,128,63,255,255,128,63, - 255,191,128,31,255,191,128,15,255,63,128,1,248,63,128,0, - 0,63,0,0,0,127,0,0,0,127,0,0,0,127,0,127, - 0,254,0,127,0,254,0,127,1,254,0,63,131,252,0,31, - 255,252,0,31,255,248,0,15,255,240,0,7,255,224,0,1, - 255,128,0,7,24,24,16,7,0,254,254,254,254,254,254,0, - 0,0,0,0,0,0,0,0,0,0,0,254,254,254,254,254, - 254}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--58-580-72-72-P-286-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 42 - Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=176 - Font Bounding box w=87 h=77 x=-5 y=-15 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =42 descent= 0 - X Font ascent =42 descent= 0 - Max Font ascent =43 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub42n[2270] U8G_FONT_SECTION("u8g_font_fub42n") = { - 0,87,77,251,241,42,0,0,0,0,42,58,0,43,248,42, - 0,23,23,69,37,7,20,0,130,0,3,131,128,15,131,224, - 31,199,224,15,199,224,7,199,192,3,239,128,1,239,0,0, - 254,0,248,254,62,255,255,254,255,255,254,255,255,254,254,124, - 254,128,254,2,1,239,0,3,239,128,7,239,192,7,199,192, - 15,199,224,31,131,240,7,131,192,1,131,0,35,35,175,59, - 12,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,255,255,255,255,224,255,255,255,255,224,255,255,255,255, - 224,255,255,255,255,224,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,12,15,30,18,3,248,15,240,15,240,15,224,31,224,31, - 192,31,192,63,128,63,128,63,0,127,0,126,0,126,0,124, - 0,252,0,252,0,15,8,16,19,2,11,255,254,255,254,255, - 254,255,254,255,254,255,254,255,254,255,254,8,8,8,18,6, - 0,255,255,255,255,255,255,255,255,19,46,138,25,3,253,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,0,0,63,0, - 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, - 252,0,0,252,0,0,252,0,0,248,0,1,248,0,1,248, - 0,1,240,0,3,240,0,3,240,0,3,240,0,7,224,0, - 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, - 128,0,31,128,0,31,128,0,31,128,0,63,0,0,63,0, - 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, - 252,0,0,252,0,0,252,0,0,29,44,176,33,2,255,0, - 31,192,0,0,255,248,0,3,255,252,0,7,255,255,0,15, - 255,255,128,15,255,255,128,31,240,255,192,63,192,63,192,63, - 192,63,224,63,128,31,224,127,128,31,240,127,0,31,240,127, - 0,15,240,127,0,15,240,255,0,15,240,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,127,0,15,240,127,0,15,240,127,0,15,240,127, - 0,31,240,127,128,31,240,63,128,31,224,63,192,63,224,63, - 192,63,192,31,240,255,192,15,255,255,128,15,255,255,0,7, - 255,255,0,3,255,254,0,0,255,248,0,0,31,192,0,18, - 42,126,33,6,0,0,63,192,0,127,192,0,255,192,3,255, - 192,15,255,192,63,255,192,255,255,192,255,255,192,255,255,192, - 255,63,192,254,63,192,248,63,192,224,63,192,0,63,192,0, - 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, - 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, - 0,63,192,0,63,192,0,63,192,0,63,192,0,63,192,0, - 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, - 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, - 0,63,192,29,43,172,33,2,0,0,15,240,0,0,127,254, - 0,1,255,255,0,3,255,255,128,7,255,255,192,15,255,255, - 224,31,248,63,240,31,240,31,240,31,224,15,240,63,192,7, - 248,63,192,7,248,63,192,7,248,0,0,7,248,0,0,7, - 248,0,0,15,248,0,0,15,240,0,0,31,240,0,0,31, - 240,0,0,63,224,0,0,127,224,0,0,255,192,0,1,255, - 128,0,3,255,128,0,7,255,0,0,15,254,0,0,31,252, - 0,0,63,248,0,0,127,240,0,0,255,224,0,1,255,128, - 0,3,255,0,0,15,254,0,0,31,252,0,0,63,240,0, - 0,127,224,0,0,255,192,0,0,255,255,255,248,255,255,255, - 248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255, - 248,255,255,255,248,28,44,176,33,3,255,0,127,192,0,3, - 255,248,0,7,255,252,0,31,255,255,0,63,255,255,0,63, - 255,255,128,127,224,255,192,127,192,127,192,255,128,63,192,255, - 0,31,224,255,0,31,224,255,0,31,224,0,0,31,224,0, - 0,31,224,0,0,31,224,0,0,63,192,0,0,127,192,0, - 3,255,128,0,127,255,0,0,127,252,0,0,127,240,0,0, - 127,248,0,0,127,254,0,0,127,255,128,0,0,255,192,0, - 0,63,224,0,0,31,224,0,0,31,224,0,0,15,240,0, - 0,15,240,0,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,31,224,255,128,31,224,127,192,63,224,127, - 224,255,192,63,255,255,128,63,255,255,0,31,255,254,0,15, - 255,252,0,3,255,248,0,0,127,192,0,31,42,168,33,1, - 0,0,1,255,192,0,1,255,192,0,3,255,192,0,7,255, - 192,0,7,255,192,0,15,255,192,0,15,255,192,0,31,255, - 192,0,63,255,192,0,63,191,192,0,127,63,192,0,255,63, - 192,0,254,63,192,1,254,63,192,1,252,63,192,3,248,63, - 192,7,248,63,192,7,240,63,192,15,240,63,192,31,224,63, - 192,31,192,63,192,63,192,63,192,63,128,63,192,127,128,63, - 192,255,0,63,192,255,0,63,192,255,255,255,254,255,255,255, - 254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255, - 254,255,255,255,254,0,0,63,192,0,0,63,192,0,0,63, - 192,0,0,63,192,0,0,63,192,0,0,63,192,0,0,63, - 192,0,0,63,192,0,0,63,192,29,43,172,33,2,255,127, - 255,255,224,127,255,255,224,127,255,255,224,127,255,255,224,127, - 255,255,224,127,255,255,224,127,255,255,224,127,128,0,0,127, - 128,0,0,127,128,0,0,127,128,0,0,127,128,0,0,127, - 128,0,0,127,128,0,0,127,128,0,0,127,135,248,0,127, - 159,254,0,127,255,255,128,127,255,255,192,127,255,255,192,127, - 255,255,224,127,240,63,240,127,192,31,240,127,128,15,240,127, - 128,15,248,127,0,7,248,0,0,7,248,0,0,7,248,0, - 0,7,248,0,0,7,248,0,0,7,248,0,0,7,240,255, - 0,15,240,255,0,15,240,255,0,31,240,255,128,63,224,127, - 224,255,192,127,255,255,192,63,255,255,128,31,255,255,0,15, - 255,252,0,3,255,248,0,0,127,192,0,29,44,176,33,2, - 255,0,15,240,0,0,127,252,0,0,255,255,0,3,255,255, - 128,7,255,255,192,7,255,255,224,15,252,63,224,31,240,15, - 240,31,224,15,240,63,192,7,248,63,192,7,248,63,128,0, - 0,127,128,0,0,127,128,0,0,127,128,0,0,127,0,0, - 0,255,3,248,0,255,31,254,0,255,63,255,0,255,127,255, - 128,255,255,255,192,255,255,255,224,255,248,63,240,255,224,31, - 240,255,192,15,240,255,192,15,248,255,128,7,248,255,128,7, - 248,255,128,7,248,255,128,7,248,255,128,7,248,127,128,7, - 248,127,128,7,248,127,128,7,240,127,192,15,240,63,192,15, - 240,63,224,31,224,31,248,63,224,31,255,255,192,15,255,255, - 128,7,255,255,0,3,255,254,0,0,255,248,0,0,63,192, - 0,28,42,168,33,3,0,255,255,255,240,255,255,255,240,255, - 255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255, - 255,255,240,0,0,15,240,0,0,15,240,0,0,31,240,0, - 0,31,224,0,0,63,224,0,0,63,192,0,0,127,192,0, - 0,127,192,0,0,255,128,0,0,255,128,0,1,255,0,0, - 1,255,0,0,1,254,0,0,3,254,0,0,3,254,0,0, - 7,252,0,0,7,252,0,0,15,248,0,0,15,248,0,0, - 31,248,0,0,31,240,0,0,31,240,0,0,63,224,0,0, - 63,224,0,0,127,192,0,0,127,192,0,0,255,192,0,0, - 255,128,0,1,255,128,0,1,255,0,0,3,255,0,0,3, - 255,0,0,3,254,0,0,7,254,0,0,7,252,0,0,29, - 44,176,33,2,255,0,63,240,0,1,255,254,0,7,255,255, - 128,15,255,255,192,31,255,255,224,63,255,255,240,63,248,127, - 240,127,224,31,240,127,224,31,248,127,192,15,248,127,192,15, - 248,127,192,15,248,127,192,15,248,127,192,15,248,63,224,31, - 240,63,224,31,240,31,248,127,224,15,255,255,192,7,255,255, - 0,1,255,252,0,0,255,248,0,3,255,254,0,15,255,255, - 128,31,255,255,192,63,240,63,224,127,224,31,224,127,192,15, - 240,127,192,15,240,255,128,7,248,255,128,7,248,255,128,7, - 248,255,128,7,248,255,128,7,248,255,128,7,248,255,192,15, - 248,255,192,15,248,127,224,31,240,127,240,63,240,127,255,255, - 224,63,255,255,224,31,255,255,192,15,255,255,128,3,255,254, - 0,0,127,240,0,29,44,176,33,2,255,0,31,192,0,0, - 255,248,0,3,255,254,0,7,255,255,0,15,255,255,128,31, - 255,255,128,63,224,255,192,63,192,63,224,127,128,31,224,127, - 128,31,224,127,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,248,255,0,15,248,255,0,15,248,255, - 0,15,248,255,128,31,248,127,128,31,248,127,192,63,248,127, - 224,255,248,63,255,255,248,31,255,255,248,31,255,247,248,15, - 255,231,248,3,255,199,248,0,254,7,240,0,0,7,240,0, - 0,15,240,0,0,15,240,0,0,15,240,0,0,15,224,127, - 128,31,224,127,128,31,224,63,128,63,192,63,192,127,192,63, - 224,255,128,31,255,255,128,15,255,255,0,7,255,254,0,3, - 255,252,0,1,255,240,0,0,63,192,0,8,29,29,19,8, - 0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,255,255,255,255,255}; -/* - Fontname: -FreeType-FreeUniversal-Bold-R-Normal--68-680-72-72-P-335-ISO10646-1 - Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 49 - Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=255 - Font Bounding box w=100 h=91 x=-5 y=-18 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =49 descent= 0 - X Font ascent =49 descent= 0 - Max Font ascent =50 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fub49n[3148] U8G_FONT_SECTION("u8g_font_fub49n") = { - 0,100,91,251,238,49,0,0,0,0,42,58,0,50,247,49, - 0,27,27,108,43,8,23,0,64,64,0,1,192,112,0,7, - 224,252,0,15,224,254,0,7,241,252,0,7,241,252,0,3, - 241,248,0,1,251,240,0,0,251,224,0,0,127,192,0,224, - 127,192,224,255,191,191,224,255,255,255,224,255,255,255,224,255, - 255,255,224,255,63,159,224,192,127,192,96,0,123,192,0,0, - 251,224,0,1,251,240,0,3,241,248,0,7,241,252,0,15, - 241,252,0,15,224,254,0,7,224,252,0,1,192,112,0,0, - 64,64,0,41,41,246,69,14,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,255,255,255,255,255, - 128,255,255,255,255,255,128,255,255,255,255,255,128,255,255,255, - 255,255,128,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,15, - 17,34,21,3,247,7,254,7,252,7,252,7,248,15,248,15, - 240,15,240,31,224,31,224,31,192,63,192,63,128,63,128,127, - 0,127,0,126,0,254,0,17,9,27,23,3,13,255,255,128, - 255,255,128,255,255,128,255,255,128,255,255,128,255,255,128,255, - 255,128,255,255,128,255,255,128,9,9,18,21,7,0,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, - 23,54,162,29,3,252,0,0,254,0,0,254,0,0,252,0, - 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, - 248,0,7,240,0,7,240,0,7,240,0,7,224,0,15,224, - 0,15,224,0,15,192,0,31,192,0,31,192,0,31,192,0, - 63,128,0,63,128,0,63,128,0,63,0,0,127,0,0,127, - 0,0,126,0,0,254,0,0,254,0,0,254,0,1,252,0, - 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, - 240,0,7,240,0,7,240,0,7,240,0,15,224,0,15,224, - 0,15,224,0,15,192,0,31,192,0,31,192,0,31,128,0, - 63,128,0,63,128,0,63,0,0,127,0,0,127,0,0,127, - 0,0,126,0,0,254,0,0,34,51,255,39,2,255,0,7, - 248,0,0,0,63,255,0,0,0,255,255,192,0,1,255,255, - 224,0,3,255,255,240,0,7,255,255,248,0,15,255,255,252, - 0,15,254,31,252,0,31,248,7,254,0,31,240,3,254,0, - 63,240,3,255,0,63,224,1,255,0,63,224,1,255,0,127, - 224,1,255,128,127,192,0,255,128,127,192,0,255,128,127,192, - 0,255,128,255,192,0,255,128,255,192,0,255,192,255,192,0, - 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, - 192,255,192,0,255,192,255,192,0,255,192,255,192,0,255,192, - 255,192,0,255,192,255,192,0,255,192,255,192,0,255,192,255, - 192,0,255,192,255,192,0,255,192,255,192,0,255,192,255,192, - 0,255,192,255,192,0,255,128,127,192,0,255,128,127,192,0, - 255,128,127,192,0,255,128,127,224,1,255,128,63,224,1,255, - 0,63,224,1,255,0,63,240,3,255,0,31,240,3,254,0, - 31,248,7,254,0,15,254,31,252,0,15,255,255,252,0,7, - 255,255,248,0,3,255,255,240,0,1,255,255,224,0,0,255, - 255,192,0,0,63,255,0,0,0,7,248,0,0,20,49,147, - 39,7,0,0,31,240,0,63,240,0,127,240,1,255,240,3, - 255,240,15,255,240,63,255,240,255,255,240,255,255,240,255,255, - 240,255,223,240,255,159,240,254,31,240,248,31,240,224,31,240, - 128,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, - 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, - 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, - 0,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, - 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, - 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, - 0,31,240,0,31,240,34,50,250,39,2,0,0,3,254,0, - 0,0,31,255,192,0,0,127,255,240,0,0,255,255,248,0, - 3,255,255,254,0,7,255,255,254,0,7,255,255,255,0,15, - 255,255,255,128,31,255,7,255,128,31,252,1,255,192,31,248, - 0,255,192,63,248,0,255,192,63,240,0,127,192,63,240,0, - 127,192,63,240,0,127,192,0,0,0,127,192,0,0,0,127, - 192,0,0,0,255,192,0,0,0,255,128,0,0,1,255,128, - 0,0,1,255,128,0,0,3,255,0,0,0,7,255,0,0, - 0,15,254,0,0,0,31,254,0,0,0,63,252,0,0,0, - 127,248,0,0,0,255,240,0,0,1,255,224,0,0,3,255, - 192,0,0,7,255,128,0,0,15,255,0,0,0,31,254,0, - 0,0,63,252,0,0,0,255,248,0,0,1,255,224,0,0, - 3,255,192,0,0,7,255,128,0,0,31,254,0,0,0,63, - 252,0,0,0,127,248,0,0,0,255,224,0,0,0,255,255, - 255,255,192,255,255,255,255,192,255,255,255,255,192,255,255,255, - 255,192,255,255,255,255,192,255,255,255,255,192,255,255,255,255, - 192,255,255,255,255,192,32,51,204,39,3,255,0,31,248,0, - 0,255,255,0,3,255,255,128,7,255,255,224,15,255,255,240, - 31,255,255,248,63,255,255,248,127,255,255,252,127,248,31,252, - 127,224,15,254,255,192,7,254,255,192,3,254,255,128,3,254, - 255,128,3,254,0,0,3,254,0,0,3,254,0,0,3,254, - 0,0,7,254,0,0,15,252,0,0,127,252,0,63,255,248, - 0,63,255,224,0,63,255,192,0,63,254,0,0,63,255,0, - 0,63,255,192,0,63,255,240,0,63,255,248,0,0,63,252, - 0,0,7,254,0,0,3,254,0,0,3,255,0,0,1,255, - 0,0,1,255,0,0,1,255,0,0,1,255,255,128,1,255, - 255,128,1,255,255,128,1,255,255,192,3,255,255,192,3,254, - 127,224,7,254,127,224,15,254,127,248,31,252,63,255,255,248, - 63,255,255,240,31,255,255,240,15,255,255,192,3,255,255,128, - 1,255,254,0,0,31,240,0,36,50,250,39,2,0,0,0, - 63,252,0,0,0,127,252,0,0,0,127,252,0,0,0,255, - 252,0,0,0,255,252,0,0,1,255,252,0,0,3,255,252, - 0,0,3,255,252,0,0,7,255,252,0,0,7,255,252,0, - 0,15,247,252,0,0,31,247,252,0,0,31,231,252,0,0, - 63,199,252,0,0,127,199,252,0,0,127,135,252,0,0,255, - 135,252,0,0,255,7,252,0,1,255,7,252,0,3,254,7, - 252,0,3,252,7,252,0,7,252,7,252,0,7,248,7,252, - 0,15,248,7,252,0,31,240,7,252,0,31,240,7,252,0, - 63,224,7,252,0,63,192,7,252,0,127,192,7,252,0,255, - 128,7,252,0,255,128,7,252,0,255,255,255,255,240,255,255, - 255,255,240,255,255,255,255,240,255,255,255,255,240,255,255,255, - 255,240,255,255,255,255,240,255,255,255,255,240,255,255,255,255, - 240,0,0,7,252,0,0,0,7,252,0,0,0,7,252,0, - 0,0,7,252,0,0,0,7,252,0,0,0,7,252,0,0, - 0,7,252,0,0,0,7,252,0,0,0,7,252,0,0,0, - 7,252,0,0,0,7,252,0,33,50,250,39,3,255,127,255, - 255,254,0,127,255,255,254,0,127,255,255,254,0,127,255,255, - 254,0,127,255,255,254,0,127,255,255,254,0,127,255,255,254, - 0,127,255,255,254,0,127,192,0,0,0,127,192,0,0,0, - 127,192,0,0,0,127,192,0,0,0,127,192,0,0,0,127, - 192,0,0,0,127,192,0,0,0,127,192,0,0,0,127,192, - 0,0,0,127,193,255,0,0,127,199,255,192,0,127,223,255, - 240,0,127,255,255,248,0,127,255,255,252,0,127,255,255,254, - 0,127,255,255,254,0,127,252,15,255,0,127,240,3,255,0, - 127,224,3,255,0,127,192,1,255,128,127,192,1,255,128,0, - 0,0,255,128,0,0,0,255,128,0,0,0,255,128,0,0, - 0,255,128,0,0,0,255,128,0,0,0,255,128,0,0,0, - 255,128,0,0,0,255,128,255,128,1,255,128,255,128,1,255, - 0,255,192,3,255,0,255,192,3,254,0,127,224,15,254,0, - 127,248,63,252,0,127,255,255,252,0,63,255,255,248,0,31, - 255,255,240,0,15,255,255,224,0,7,255,255,128,0,1,255, - 254,0,0,0,63,240,0,0,34,51,255,39,2,255,0,3, - 252,0,0,0,31,255,128,0,0,127,255,224,0,0,255,255, - 240,0,1,255,255,248,0,3,255,255,252,0,7,255,255,254, - 0,7,255,255,254,0,15,255,7,255,0,31,252,3,255,0, - 31,248,1,255,128,31,248,0,255,128,63,240,0,255,128,63, - 224,0,0,0,63,224,0,0,0,127,224,0,0,0,127,192, - 0,0,0,127,192,0,0,0,127,192,127,0,0,127,195,255, - 224,0,255,199,255,240,0,255,207,255,248,0,255,223,255,252, - 0,255,191,255,254,0,255,255,255,255,0,255,254,15,255,0, - 255,248,3,255,128,255,248,3,255,128,255,240,1,255,128,255, - 240,1,255,192,255,224,0,255,192,255,224,0,255,192,255,224, - 0,255,192,255,224,0,255,192,255,224,0,255,192,127,224,0, - 255,192,127,224,0,255,192,127,224,0,255,192,127,224,0,255, - 128,63,240,1,255,128,63,240,1,255,128,63,248,3,255,0, - 31,248,3,255,0,31,254,15,254,0,15,255,255,254,0,7, - 255,255,252,0,3,255,255,248,0,1,255,255,240,0,0,255, - 255,192,0,0,63,255,0,0,0,7,248,0,0,33,49,245, - 39,3,0,255,255,255,255,128,255,255,255,255,128,255,255,255, - 255,128,255,255,255,255,128,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,255,255,255,255,128,0,0,0,255,128, - 0,0,1,255,128,0,0,1,255,128,0,0,3,255,0,0, - 0,3,255,0,0,0,7,254,0,0,0,7,254,0,0,0, - 15,254,0,0,0,15,252,0,0,0,31,252,0,0,0,31, - 248,0,0,0,31,248,0,0,0,63,240,0,0,0,63,240, - 0,0,0,127,240,0,0,0,127,224,0,0,0,255,224,0, - 0,0,255,192,0,0,1,255,192,0,0,1,255,192,0,0, - 3,255,128,0,0,3,255,128,0,0,3,255,0,0,0,7, - 255,0,0,0,7,254,0,0,0,15,254,0,0,0,15,254, - 0,0,0,31,252,0,0,0,31,252,0,0,0,63,248,0, - 0,0,63,248,0,0,0,63,248,0,0,0,127,240,0,0, - 0,127,240,0,0,0,255,224,0,0,0,255,224,0,0,1, - 255,192,0,0,1,255,192,0,0,3,255,192,0,0,3,255, - 128,0,0,7,255,128,0,0,34,51,255,39,2,255,0,15, - 252,0,0,0,255,255,192,0,3,255,255,240,0,7,255,255, - 248,0,15,255,255,252,0,31,255,255,254,0,63,255,255,255, - 0,63,255,255,255,0,63,252,15,255,0,127,248,7,255,128, - 127,240,3,255,128,127,224,1,255,128,127,224,1,255,128,127, - 224,1,255,128,127,224,1,255,128,127,224,1,255,128,127,224, - 1,255,128,63,240,3,255,0,63,248,7,255,0,31,252,15, - 254,0,15,255,255,252,0,7,255,255,240,0,1,255,255,192, - 0,0,63,255,0,0,0,255,255,128,0,3,255,255,224,0, - 7,255,255,248,0,31,255,255,252,0,63,252,15,254,0,63, - 248,7,255,0,127,240,3,255,0,127,224,1,255,128,127,224, - 1,255,128,255,192,0,255,192,255,192,0,255,192,255,192,0, - 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, - 192,255,224,1,255,192,255,224,1,255,192,255,240,3,255,192, - 127,240,7,255,128,127,252,15,255,128,63,255,255,255,0,63, - 255,255,255,0,31,255,255,254,0,15,255,255,252,0,3,255, - 255,240,0,0,255,255,192,0,0,15,252,0,0,34,51,255, - 39,2,255,0,7,248,0,0,0,63,255,0,0,0,255,255, - 192,0,3,255,255,224,0,7,255,255,240,0,15,255,255,248, - 0,31,255,255,252,0,31,255,255,254,0,63,248,31,254,0, - 63,240,7,255,0,127,224,7,255,0,127,192,3,255,0,127, - 192,3,255,128,255,192,1,255,128,255,128,1,255,128,255,128, - 1,255,128,255,128,1,255,192,255,128,1,255,192,255,128,1, - 255,192,255,192,1,255,192,255,192,3,255,192,255,192,3,255, - 192,127,224,7,255,192,127,240,7,255,192,127,248,31,255,192, - 63,255,255,255,192,31,255,255,127,192,31,255,254,255,192,15, - 255,252,255,192,3,255,252,255,192,1,255,240,255,192,0,127, - 192,255,128,0,0,0,255,128,0,0,0,255,128,0,0,1, - 255,128,0,0,1,255,128,0,0,1,255,0,0,0,1,255, - 0,127,192,3,255,0,127,192,3,254,0,127,224,7,254,0, - 63,224,15,254,0,63,240,15,252,0,31,248,63,252,0,31, - 255,255,248,0,15,255,255,240,0,7,255,255,224,0,3,255, - 255,192,0,1,255,255,128,0,0,127,254,0,0,0,15,240, - 0,0,9,34,68,21,9,0,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,128,255,128,255,128, - 255,128,255,128,255,128,255,128,255,128,255,128}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=16 x= 4 y=10 dx=15 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11[3712] U8G_FONT_SECTION("u8g_font_fur11") = { - 0,20,20,255,252,11,2,81,4,211,32,255,253,16,252,11, - 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, - 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, - 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, - 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, - 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, - 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, - 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, - 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, - 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, - 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, - 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, - 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, - 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, - 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, - 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, - 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, - 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, - 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, - 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, - 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, - 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, - 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, - 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, - 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, - 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, - 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, - 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, - 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, - 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, - 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, - 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, - 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, - 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, - 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, - 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, - 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, - 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, - 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, - 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, - 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, - 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, - 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, - 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, - 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, - 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, - 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, - 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, - 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, - 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, - 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, - 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, - 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, - 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, - 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, - 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, - 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, - 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, - 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, - 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, - 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, - 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, - 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, - 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, - 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, - 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, - 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, - 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, - 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, - 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, - 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, - 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, - 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, - 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, - 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, - 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, - 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, - 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, - 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, - 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, - 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, - 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, - 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, - 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, - 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, - 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, - 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, - 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, - 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, - 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, - 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, - 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, - 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, - 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, - 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, - 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, - 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, - 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, - 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, - 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, - 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, - 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,5,0,0,1,11,11,5,2,253,128,0,0, - 128,128,128,128,128,128,128,128,6,12,12,8,1,254,8,8, - 120,220,148,144,160,164,236,120,64,64,7,11,11,9,1,0, - 60,102,64,64,248,64,64,64,64,64,254,8,9,9,10,1, - 2,129,90,36,66,66,66,36,90,129,8,11,11,9,0,0, - 65,99,34,231,20,28,255,8,8,8,8,1,14,14,6,3, - 253,128,128,128,128,128,128,0,0,128,128,128,128,128,128,5, - 14,14,7,1,253,120,136,128,192,112,216,136,152,240,48,24, - 8,24,240,4,1,1,4,0,10,144,11,11,22,13,1,0, - 31,0,127,128,115,64,225,96,160,32,160,32,161,32,179,96, - 94,64,96,128,31,0,6,8,8,6,0,3,56,72,120,72, - 88,104,0,252,6,6,6,8,1,1,36,72,216,216,72,36, - 8,3,3,10,1,4,255,1,1,255,11,11,22,13,1,0, - 31,0,127,128,81,64,209,96,158,32,147,32,145,32,209,96, - 64,64,97,128,31,0,4,1,1,4,0,10,240,3,4,4, - 5,1,7,224,160,160,224,9,10,20,15,3,0,8,0,8, - 0,8,0,255,128,8,0,8,0,8,0,0,0,0,0,255, - 128,4,6,6,6,1,5,112,144,48,96,192,240,5,6,6, - 6,0,5,120,200,24,48,136,112,3,3,3,3,1,9,96, - 64,128,255,7,14,14,9,1,253,126,244,244,244,244,116,20, - 20,20,20,20,20,20,20,1,2,2,4,2,4,128,128,4, - 3,3,5,1,253,48,16,224,3,6,6,5,1,5,96,160, - 32,32,32,32,5,8,8,7,1,3,112,216,136,136,216,112, - 0,248,6,6,6,8,1,1,216,72,36,36,72,216,10,11, - 22,12,1,0,97,0,162,0,34,0,36,0,36,0,41,128, - 9,128,18,128,51,192,32,128,96,128,11,11,22,13,1,0, - 96,128,161,0,34,0,34,0,36,0,37,192,9,32,24,96, - 16,192,33,128,97,224,11,11,22,12,0,0,120,128,9,128, - 49,0,27,0,138,0,116,192,4,192,9,64,11,224,16,64, - 48,64,6,11,11,8,1,253,16,0,16,16,48,96,192,128, - 132,236,120,11,16,32,11,0,0,24,0,8,0,4,0,0, - 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, - 128,63,192,96,192,64,64,192,96,11,16,32,11,0,0,3, - 0,2,0,4,0,0,0,0,0,6,0,14,0,10,0,27, - 0,25,0,49,128,49,128,63,192,96,192,64,64,192,96,11, - 16,32,11,0,0,4,0,14,0,9,0,0,0,0,0,6, - 0,14,0,10,0,27,0,25,0,49,128,49,128,63,192,96, - 192,64,64,192,96,11,15,30,11,0,0,13,0,22,0,0, - 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, - 128,63,192,96,192,64,64,192,96,11,14,28,11,0,0,9, - 0,0,0,0,0,6,0,14,0,11,0,27,0,25,0,17, - 128,48,128,63,192,96,192,64,96,192,96,11,16,32,11,0, - 0,14,0,10,0,14,0,0,0,0,0,4,0,12,0,10, - 0,10,0,17,0,17,0,49,128,63,128,96,192,64,64,192, - 96,13,11,22,14,0,0,3,248,5,0,13,0,13,0,25, - 0,25,248,49,0,63,0,97,0,65,0,193,248,8,15,15, - 10,1,252,62,97,193,128,128,128,128,128,193,67,62,12,6, - 2,28,6,16,16,9,1,0,64,32,16,0,0,252,128,128, - 128,128,252,128,128,128,128,252,6,16,16,9,1,0,8,16, - 16,0,0,252,128,128,128,128,252,128,128,128,128,252,6,16, - 16,9,1,0,48,48,72,0,0,252,128,128,128,128,252,128, - 128,128,128,252,6,15,15,8,1,0,72,0,0,0,252,128, - 128,128,128,252,128,128,128,128,252,3,16,16,3,255,0,192, - 64,32,0,0,32,32,32,32,32,32,32,32,32,32,32,3, - 16,16,3,1,0,96,192,128,0,0,128,128,128,128,128,128, - 128,128,128,128,128,3,16,16,3,0,0,64,224,160,0,0, - 64,64,64,64,64,64,64,64,64,64,64,4,14,14,4,0, - 0,144,0,0,64,64,64,64,64,64,64,64,64,64,64,10, - 11,22,11,0,0,62,0,33,128,32,128,32,192,32,64,248, - 64,32,64,32,192,32,128,33,128,62,0,8,15,15,10,1, - 0,52,44,0,0,193,225,225,177,177,153,137,141,133,135,131, - 9,16,32,11,1,0,48,0,16,0,8,0,0,0,0,0, - 62,0,99,0,193,128,129,128,128,128,128,128,128,128,129,128, - 193,0,99,0,62,0,9,16,32,11,1,0,4,0,12,0, - 8,0,0,0,0,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,9,16,32,11, - 1,0,8,0,28,0,20,0,0,0,0,0,62,0,99,0, - 193,128,129,128,128,128,128,128,128,128,129,128,193,0,99,0, - 62,0,9,15,30,11,1,0,24,0,44,0,0,0,0,0, - 62,0,99,0,193,128,128,128,128,128,128,128,128,128,129,128, - 193,0,119,0,62,0,9,15,30,11,1,0,18,0,0,0, - 0,0,0,0,62,0,99,0,193,128,129,128,128,128,128,128, - 128,128,129,128,193,0,99,0,62,0,7,7,7,15,4,1, - 130,68,40,16,40,68,130,9,13,26,11,1,255,0,128,63, - 0,99,0,195,128,134,128,140,128,136,128,152,128,177,128,225, - 0,99,0,254,0,128,0,8,16,16,10,1,0,32,16,24, - 0,0,129,129,129,129,129,129,129,129,195,230,60,8,16,16, - 10,1,0,12,8,16,0,0,129,129,129,129,129,129,129,129, - 195,230,60,8,16,16,10,1,0,24,24,36,0,0,129,129, - 129,129,129,129,129,129,195,230,60,8,15,15,10,1,0,36, - 0,0,0,129,129,129,129,129,129,129,129,131,194,60,9,16, - 32,10,1,0,6,0,4,0,8,0,0,0,0,0,193,128, - 65,0,99,0,38,0,52,0,28,0,8,0,8,0,8,0, - 8,0,8,0,7,11,11,9,1,0,128,128,252,134,130,130, - 134,252,128,128,128,7,11,11,8,1,0,120,204,132,140,144, - 144,156,134,130,178,156,6,12,12,8,1,0,32,16,16,0, - 120,204,4,124,196,132,140,116,6,13,13,8,1,0,24,16, - 48,32,0,120,204,4,124,196,132,140,116,6,12,12,8,1, - 0,48,104,72,0,120,204,4,124,196,132,140,116,6,11,11, - 8,1,0,120,0,0,120,204,4,124,196,132,140,116,6,11, - 11,8,1,0,72,0,0,120,204,4,124,196,132,140,116,6, - 13,13,8,1,0,48,72,72,48,0,120,196,4,124,196,132, - 140,116,12,8,16,13,1,0,251,192,138,32,4,48,127,240, - 196,0,140,48,202,96,113,192,6,12,12,8,1,252,120,204, - 132,128,128,132,204,120,48,24,8,48,6,13,13,8,1,0, - 64,32,32,16,0,120,196,132,252,128,132,204,120,6,13,13, - 8,1,0,8,16,16,32,0,120,196,132,252,128,132,204,120, - 6,12,12,8,1,0,48,104,72,0,120,196,132,252,128,132, - 204,120,6,11,11,8,1,0,72,0,0,120,204,132,252,128, - 132,204,120,2,12,12,3,0,0,128,64,64,0,64,64,64, - 64,64,64,64,64,3,12,12,3,0,0,32,64,128,0,64, - 64,64,64,64,64,64,64,5,12,12,3,255,0,112,80,136, - 0,32,32,32,32,32,32,32,32,4,11,11,4,0,0,144, - 0,0,64,64,64,64,64,64,64,64,7,11,11,9,1,0, - 104,112,136,124,198,134,130,130,134,196,120,6,11,11,8,1, - 0,120,0,0,184,204,132,132,132,132,132,132,7,13,13,9, - 1,0,96,32,16,16,0,120,196,134,130,130,134,196,120,7, - 13,13,9,1,0,12,24,16,32,0,120,196,134,130,130,134, - 196,120,7,12,12,9,1,0,56,40,68,0,120,196,134,130, - 130,134,196,120,7,11,11,9,1,0,120,0,0,120,196,134, - 130,130,134,196,120,7,11,11,9,1,0,72,0,0,120,196, - 134,130,130,134,196,120,9,7,14,15,3,1,8,0,8,0, - 0,0,255,128,0,0,8,0,8,0,8,10,10,9,0,255, - 1,62,98,71,73,89,83,98,124,192,6,13,13,8,1,0, - 64,32,32,16,0,132,132,132,132,132,132,204,116,6,13,13, - 8,1,0,24,16,48,32,0,132,132,132,132,132,132,204,116, - 6,12,12,8,1,0,48,80,72,0,132,132,132,132,132,132, - 204,116,6,11,11,8,1,0,72,0,0,132,132,132,132,132, - 132,204,116,8,15,15,8,0,253,4,8,16,0,195,66,102, - 38,52,60,24,24,24,80,112,7,14,14,9,1,253,128,128, - 128,188,198,134,130,130,134,198,188,128,128,128,8,14,14,8, - 0,253,36,0,0,195,66,102,36,36,60,24,24,24,16,48 - }; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=15 dy= 0 ascent=11 len=18 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11n[279] U8G_FONT_SECTION("u8g_font_fur11n") = { - 0,20,20,255,252,11,0,0,0,0,42,58,0,11,254,11, - 0,6,5,5,10,2,5,72,48,252,48,120,9,9,18,15, - 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,4,4,4,1,254,192,192,128,128,4,1, - 1,6,1,3,240,1,2,2,4,2,0,128,128,4,12,12, - 6,1,255,16,16,16,32,32,32,64,64,64,64,128,128,6, - 11,11,8,1,0,120,200,140,132,132,132,132,132,140,200,120, - 4,11,11,8,2,0,48,112,208,16,16,16,16,16,16,16, - 16,6,11,11,8,1,0,120,204,196,4,12,24,16,48,96, - 192,252,7,11,11,8,0,0,60,70,194,6,24,4,6,2, - 194,70,60,7,11,11,8,1,0,12,28,20,36,100,68,196, - 254,4,4,4,6,11,11,8,1,0,248,128,128,184,204,132, - 4,4,140,200,112,7,11,11,8,1,0,60,198,134,128,188, - 198,130,130,130,198,60,7,11,11,8,1,0,254,6,6,4, - 12,8,24,24,16,48,48,6,11,11,8,1,0,120,204,132, - 204,112,200,132,132,132,204,120,7,11,11,8,1,0,124,198, - 130,130,198,122,2,6,134,204,120,1,8,8,4,2,0,128, - 128,0,0,0,0,128,128}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=16 x= 4 y= 9 dx=15 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=20 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur11r[1729] U8G_FONT_SECTION("u8g_font_fur11r") = { - 0,20,20,255,252,11,2,81,4,211,32,127,253,13,252,11, - 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, - 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, - 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, - 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, - 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, - 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, - 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, - 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, - 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, - 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, - 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, - 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, - 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, - 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, - 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, - 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, - 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, - 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, - 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, - 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, - 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, - 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, - 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, - 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, - 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, - 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, - 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, - 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, - 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, - 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, - 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, - 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, - 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, - 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, - 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, - 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, - 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, - 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, - 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, - 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, - 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, - 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, - 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, - 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, - 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, - 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, - 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, - 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, - 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, - 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, - 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, - 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, - 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, - 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, - 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, - 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, - 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, - 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, - 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, - 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, - 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, - 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, - 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, - 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, - 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, - 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, - 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, - 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, - 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, - 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, - 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, - 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, - 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, - 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, - 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, - 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, - 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, - 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, - 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, - 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, - 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, - 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, - 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, - 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, - 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, - 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, - 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, - 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, - 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, - 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, - 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, - 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, - 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, - 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, - 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, - 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, - 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, - 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, - 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, - 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, - 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, - 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, - 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, - 255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=18 h=21 x= 5 y=13 dx=19 dy= 0 ascent=21 len=54 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14[5349] U8G_FONT_SECTION("u8g_font_fur14") = { - 0,26,26,255,251,14,3,59,6,250,32,255,252,21,251,14, - 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, - 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, - 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, - 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, - 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, - 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, - 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, - 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, - 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, - 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, - 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, - 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, - 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, - 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, - 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, - 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, - 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, - 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, - 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, - 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, - 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, - 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, - 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, - 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, - 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, - 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, - 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, - 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, - 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, - 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, - 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, - 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, - 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, - 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, - 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, - 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, - 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, - 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, - 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, - 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, - 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, - 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, - 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, - 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, - 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, - 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, - 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, - 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, - 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, - 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, - 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, - 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, - 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, - 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, - 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, - 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, - 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, - 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, - 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, - 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, - 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, - 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, - 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, - 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, - 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, - 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, - 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, - 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, - 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, - 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, - 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, - 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, - 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, - 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, - 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, - 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, - 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, - 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, - 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, - 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, - 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, - 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, - 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, - 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, - 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, - 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, - 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, - 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, - 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, - 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, - 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, - 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, - 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, - 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, - 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, - 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, - 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, - 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, - 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, - 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, - 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, - 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, - 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, - 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, - 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, - 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, - 4,10,0,4,120,192,207,128,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,0,2, - 14,14,7,3,252,192,192,0,0,192,192,192,192,192,192,192, - 192,192,192,8,14,14,10,1,254,2,4,60,102,203,200,200, - 208,208,211,102,60,32,64,10,14,28,11,1,0,31,0,49, - 128,96,192,96,0,96,0,252,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,255,128,10,10,20,12,1,3,128, - 64,94,128,51,0,65,128,64,128,64,128,64,128,33,0,94, - 128,128,64,10,14,28,12,1,0,192,192,96,128,97,128,49, - 0,243,192,27,0,30,0,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,1,18,18,7,3,252,128,128,128,128,128, - 128,128,128,0,0,128,128,128,128,128,128,128,128,7,17,17, - 9,1,253,60,100,192,192,96,56,124,198,198,206,124,60,14, - 6,6,140,248,6,1,1,6,0,13,204,14,14,28,16,1, - 0,15,192,28,224,39,144,76,200,216,108,152,4,152,4,152, - 4,152,100,140,204,71,200,32,16,16,32,15,192,7,10,10, - 8,1,4,120,204,4,124,196,132,124,0,0,254,7,8,8, - 11,2,1,38,100,204,216,152,204,100,38,10,5,10,12,1, - 3,255,192,0,64,0,64,0,64,0,64,255,14,14,28,16, - 1,0,15,192,28,224,47,208,76,104,204,108,140,100,143,132, - 140,68,140,100,204,108,76,104,32,16,28,224,15,192,6,1, - 1,6,0,13,252,4,5,5,6,1,9,96,240,144,144,96, - 11,12,24,19,4,0,6,0,6,0,6,0,6,0,255,224, - 6,0,6,0,6,0,0,0,0,0,0,0,255,224,6,8, - 8,7,1,6,120,220,12,12,24,48,192,252,6,8,8,7, - 1,6,120,204,12,48,24,140,204,120,4,4,4,4,1,12, - 48,96,64,192,255,9,18,36,11,1,252,63,128,121,0,249, - 0,249,0,249,0,249,0,121,0,25,0,9,0,9,0,9, - 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,2, - 2,2,5,2,5,192,192,6,5,5,5,0,251,64,120,12, - 12,248,4,7,7,6,1,7,112,240,48,48,48,48,48,6, - 10,10,8,1,4,120,72,132,132,132,132,204,120,0,252,7, - 8,8,11,2,1,152,204,100,102,102,100,204,152,13,14,28, - 15,1,0,112,64,240,192,48,128,49,128,49,0,51,0,50, - 48,54,112,12,112,8,176,25,176,17,248,48,48,32,48,13, - 14,28,15,1,0,112,64,240,192,48,128,49,128,49,0,50, - 0,50,112,52,216,12,24,8,24,24,48,16,96,48,192,32, - 248,14,14,28,16,1,0,120,48,204,32,12,96,48,192,12, - 128,141,128,121,24,3,56,2,120,4,88,12,152,8,252,24, - 24,16,24,8,14,14,10,1,252,12,12,0,12,12,12,24, - 48,96,192,192,193,127,62,14,20,40,14,0,0,12,0,6, - 0,2,0,3,0,0,0,0,0,3,0,7,128,7,128,4, - 192,12,192,12,192,24,96,24,96,31,240,63,240,48,24,96, - 24,96,24,192,12,14,20,40,14,0,0,0,192,0,128,1, - 128,1,0,0,0,0,0,3,0,7,128,7,128,4,192,12, - 192,12,192,24,96,24,96,31,240,63,240,48,24,96,24,96, - 24,192,12,14,20,40,14,0,0,3,0,3,128,6,128,4, - 192,0,0,0,0,3,0,7,128,7,128,4,192,12,192,12, - 192,24,96,24,96,31,240,63,240,48,24,96,24,96,24,192, - 12,14,18,36,14,0,0,7,192,0,0,0,0,0,0,3, - 0,7,128,7,128,4,192,12,192,12,192,24,96,24,96,31, - 240,63,240,48,24,96,24,96,24,192,12,13,18,36,15,1, - 0,12,192,0,0,0,0,0,0,7,0,7,0,13,128,13, - 128,12,192,24,192,24,192,48,96,63,224,63,240,96,48,96, - 24,192,24,192,24,13,21,42,14,1,0,6,0,13,0,9, - 0,9,0,6,0,0,0,0,0,6,0,7,0,15,0,13, - 0,25,128,25,128,16,192,48,192,63,224,127,224,96,32,192, - 48,192,48,192,24,17,14,42,19,1,0,1,255,128,3,192, - 0,2,192,0,6,192,0,14,192,0,12,192,0,28,255,128, - 24,192,0,56,192,0,63,192,0,96,192,0,96,192,0,192, - 192,0,192,255,128,11,18,36,13,1,252,31,128,57,192,96, - 96,64,96,192,0,192,0,192,0,192,0,192,0,192,0,64, - 96,96,96,49,192,31,0,4,0,7,0,1,128,15,128,9, - 20,40,12,2,0,96,0,48,0,24,0,8,0,0,0,0, - 0,255,128,192,0,192,0,192,0,192,0,192,0,255,128,192, - 0,192,0,192,0,192,0,192,0,192,0,255,128,9,20,40, - 12,2,0,6,0,4,0,12,0,24,0,0,0,0,0,255, - 128,192,0,192,0,192,0,192,0,192,0,255,128,192,0,192, - 0,192,0,192,0,192,0,192,0,255,128,9,20,40,12,2, - 0,24,0,28,0,52,0,38,0,0,0,0,0,255,128,192, - 0,192,0,192,0,192,0,192,0,255,128,192,0,192,0,192, - 0,192,0,192,0,192,0,255,128,9,18,36,12,2,0,102, - 0,0,0,0,0,0,0,255,128,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,255,128,4,20,20,5,0,0,192,96,32,48,0,0,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,4,20,20, - 5,2,0,48,96,64,128,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,5,20,20,5,0,0,48,112,88, - 200,0,0,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,6,18,18,6,0,0,204,0,0,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,13,14,28,14,0,0,127, - 128,97,224,96,112,96,48,96,16,96,24,254,24,96,24,96, - 24,96,16,96,48,96,96,97,224,127,128,11,18,36,14,2, - 0,31,0,0,0,0,0,0,0,224,96,224,96,240,96,248, - 96,216,96,220,96,204,96,198,96,198,96,195,96,195,96,193, - 224,193,224,192,224,12,20,40,14,1,0,24,0,12,0,6, - 0,2,0,0,0,0,0,31,128,57,192,96,96,64,32,192, - 48,192,48,192,48,192,48,192,48,192,48,64,32,96,96,57, - 192,15,0,12,20,40,14,1,0,1,128,3,0,6,0,4, - 0,0,0,0,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,12,20,40,14,1,0,6,0,15,0,9,0,16,128,0, - 0,0,0,31,128,57,192,96,96,64,32,192,48,192,48,192, - 48,192,48,192,48,192,48,64,32,96,96,57,192,15,0,12, - 19,38,14,1,0,12,128,31,0,0,0,0,0,0,0,31, - 128,57,192,96,96,64,32,192,48,192,48,192,48,192,48,192, - 48,192,48,96,96,112,224,63,192,15,0,12,18,36,14,1, - 0,13,128,0,0,0,0,0,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,0,11,10,20,19,4,1,192,96,96,192,49, - 128,27,0,14,0,14,0,27,0,49,128,96,192,64,96,12, - 16,32,14,1,255,0,48,31,224,56,224,96,224,65,176,193, - 176,195,48,198,48,198,48,204,48,220,48,88,32,112,96,57, - 192,127,0,192,0,11,20,40,15,2,0,24,0,8,0,4, - 0,6,0,0,0,0,0,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,96,192,127, - 192,31,0,11,20,40,15,2,0,3,0,2,0,4,0,12, - 0,0,0,0,0,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,96,192,127,192,31, - 0,11,20,40,15,2,0,14,0,14,0,27,0,17,0,0, - 0,0,0,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,96,192,127,192,31,0,11, - 18,36,15,2,0,25,128,0,0,0,0,0,0,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,96,192,113,192,31,0,12,20,40,12,0,0,1, - 128,3,0,2,0,4,0,0,0,0,0,224,112,96,96,112, - 192,48,192,25,128,25,128,15,0,14,0,6,0,6,0,6, - 0,6,0,6,0,6,0,9,14,28,12,2,0,192,0,192, - 0,192,0,254,0,195,0,193,128,193,128,193,128,195,128,254, - 0,192,0,192,0,192,0,192,0,10,14,28,11,1,0,62, - 0,103,0,195,0,195,0,198,0,204,0,204,0,206,0,199, - 128,193,128,192,192,216,192,220,128,199,128,8,15,15,10,1, - 0,48,24,8,0,0,62,103,195,3,63,99,195,195,231,123, - 8,16,16,10,1,0,6,12,24,16,0,0,62,103,195,3, - 63,99,195,195,231,123,8,16,16,10,1,0,24,28,36,38, - 0,0,62,103,195,3,63,99,195,195,231,123,8,14,14,10, - 1,0,62,0,0,0,62,103,195,3,63,115,195,195,231,123, - 8,14,14,10,1,0,102,0,0,0,62,103,195,3,63,99, - 195,195,231,123,8,16,16,10,1,0,28,34,34,28,0,0, - 62,99,193,1,63,113,193,193,231,61,16,10,20,18,1,0, - 62,124,227,198,193,131,1,131,63,255,225,128,193,128,195,131, - 230,238,124,60,8,14,14,10,1,252,62,103,195,192,192,192, - 192,195,102,60,16,28,6,62,9,16,32,11,1,0,48,0, - 48,0,24,0,8,0,0,0,0,0,62,0,99,0,193,0, - 193,128,255,128,192,0,192,0,67,0,103,0,62,0,9,16, - 32,11,1,0,6,0,12,0,8,0,24,0,0,0,0,0, - 62,0,99,0,193,0,193,128,255,128,192,0,192,0,67,0, - 103,0,62,0,9,16,32,11,1,0,24,0,28,0,52,0, - 34,0,0,0,0,0,62,0,99,0,193,0,193,128,255,128, - 192,0,192,0,67,0,103,0,62,0,9,14,28,11,1,0, - 102,0,0,0,0,0,0,0,62,0,99,0,193,0,193,128, - 255,128,192,0,192,0,67,0,103,0,62,0,3,15,15,4, - 0,0,128,192,96,32,0,96,96,96,96,96,96,96,96,96, - 96,3,15,15,4,1,0,96,64,192,128,0,192,192,192,192, - 192,192,192,192,192,192,6,15,15,4,255,0,48,120,72,132, - 0,48,48,48,48,48,48,48,48,48,48,6,14,14,5,0, - 0,204,0,0,0,48,48,48,48,48,48,48,48,48,48,9, - 14,28,11,1,0,102,0,24,0,108,0,6,0,63,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,8,14,14,10,1,0,52,124,0,0,222,231,195,195,195, - 195,195,195,195,195,9,16,32,11,1,0,48,0,16,0,24, - 0,8,0,0,0,0,0,62,0,99,0,193,128,193,128,193, - 128,193,128,193,128,193,128,99,0,62,0,9,16,32,11,1, - 0,6,0,4,0,12,0,8,0,0,0,0,0,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,9,16,32,11,1,0,8,0,28,0,20,0,34,0,0, - 0,0,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,62,0,0, - 0,0,0,0,0,62,0,99,0,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,9,14,28,11,1,0,51, - 0,0,0,0,0,0,0,62,0,115,0,193,128,192,128,192, - 128,192,128,192,128,193,128,115,0,62,0,11,8,16,19,4, - 2,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, - 0,9,12,24,11,1,0,1,128,63,0,99,0,199,128,197, - 128,201,128,217,128,209,128,225,128,99,0,254,0,128,0,8, - 16,16,10,1,0,96,48,16,8,0,0,195,195,195,195,195, - 195,195,195,231,123,8,16,16,10,1,0,4,12,8,16,0, - 0,195,195,195,195,195,195,195,195,231,123,8,16,16,10,1, - 0,24,24,52,36,0,0,195,195,195,195,195,195,195,195,231, - 123,8,14,14,10,1,0,102,0,0,0,195,195,195,195,195, - 195,195,195,231,123,10,19,38,10,0,252,3,0,6,0,4, - 0,8,0,0,0,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,120,0,120, - 0,9,18,36,11,1,252,192,0,192,0,192,0,192,0,222, - 0,227,0,193,128,193,128,193,128,193,128,193,128,193,128,227, - 0,222,0,192,0,192,0,192,0,192,0,10,18,36,10,0, - 252,51,0,0,0,0,0,0,0,192,192,97,128,97,128,97, - 0,51,0,51,0,30,0,30,0,30,0,12,0,12,0,24, - 0,24,0,24,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=11 h=15 x= 4 y= 7 dx=19 dy= 0 ascent=14 len=28 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14n[421] U8G_FONT_SECTION("u8g_font_fur14n") = { - 0,26,26,255,251,14,0,0,0,0,42,58,0,14,254,14, - 0,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=18 h=21 x= 5 y=12 dx=19 dy= 0 ascent=16 len=54 - Font Bounding box w=26 h=26 x=-1 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur14r[2489] U8G_FONT_SECTION("u8g_font_fur14r") = { - 0,26,26,255,251,14,3,59,6,250,32,127,252,16,251,14, - 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, - 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, - 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, - 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, - 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, - 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, - 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, - 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, - 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, - 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, - 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, - 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, - 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, - 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, - 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, - 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, - 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, - 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, - 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, - 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, - 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, - 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, - 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, - 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, - 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, - 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, - 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, - 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, - 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, - 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, - 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, - 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, - 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, - 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, - 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, - 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, - 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, - 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, - 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, - 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, - 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, - 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, - 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, - 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, - 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, - 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, - 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, - 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, - 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, - 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, - 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, - 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, - 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, - 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, - 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, - 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, - 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, - 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, - 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, - 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, - 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, - 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, - 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, - 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, - 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, - 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, - 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, - 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, - 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, - 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, - 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, - 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, - 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, - 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, - 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, - 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, - 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, - 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, - 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, - 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, - 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, - 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, - 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, - 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, - 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, - 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, - 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, - 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, - 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, - 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, - 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, - 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, - 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, - 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, - 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, - 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, - 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, - 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, - 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, - 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, - 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, - 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, - 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, - 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, - 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, - 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, - 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, - 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, - 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, - 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, - 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, - 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, - 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, - 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, - 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, - 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, - 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, - 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, - 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, - 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, - 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, - 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, - 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, - 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, - 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, - 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, - 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, - 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, - 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, - 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, - 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, - 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, - 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, - 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, - 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, - 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, - 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, - 4,10,0,4,120,192,207,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=22 h=25 x= 6 y=15 dx=24 dy= 0 ascent=24 len=66 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =24 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17[6799] U8G_FONT_SECTION("u8g_font_fur17") = { - 0,31,30,254,250,17,4,5,8,170,32,255,251,24,250,17, - 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, - 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, - 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, - 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, - 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, - 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, - 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, - 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, - 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, - 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, - 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, - 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, - 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, - 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, - 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, - 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, - 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, - 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, - 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, - 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, - 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, - 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, - 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, - 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, - 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, - 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, - 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, - 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, - 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, - 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, - 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, - 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, - 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, - 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, - 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, - 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, - 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, - 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, - 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, - 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, - 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, - 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, - 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, - 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, - 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, - 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, - 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, - 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, - 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, - 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, - 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, - 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, - 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, - 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, - 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, - 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, - 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, - 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, - 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, - 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, - 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, - 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, - 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, - 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, - 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, - 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, - 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, - 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, - 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, - 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, - 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, - 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, - 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, - 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, - 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, - 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, - 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, - 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, - 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, - 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, - 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, - 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, - 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, - 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, - 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, - 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, - 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, - 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, - 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, - 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, - 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, - 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, - 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, - 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, - 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, - 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, - 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, - 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, - 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, - 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, - 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, - 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, - 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, - 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, - 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, - 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, - 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, - 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, - 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, - 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, - 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, - 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, - 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, - 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, - 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, - 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, - 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, - 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, - 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, - 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, - 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, - 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, - 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, - 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, - 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, - 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, - 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, - 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, - 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, - 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, - 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, - 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, - 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, - 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, - 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, - 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, - 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, - 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, - 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, - 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, - 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, - 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, - 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, - 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, - 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, - 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, - 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, - 2,4,12,0,5,62,112,231,224,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,7,0,0, - 2,17,17,8,3,251,192,192,0,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,10,18,36,14,2,253,1,0,1, - 0,1,0,31,0,127,128,98,192,198,192,196,0,196,0,204, - 0,200,0,200,192,121,192,127,128,31,0,32,0,32,0,32, - 0,11,17,34,13,1,0,15,128,29,192,48,96,48,0,48, - 0,48,0,254,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,255,224,11,14,28,13,1,3,0, - 32,128,32,95,64,123,128,96,128,64,64,64,64,64,64,64, - 64,96,128,113,128,95,64,128,32,0,32,12,17,34,14,1, - 0,192,48,96,96,96,96,48,224,48,192,249,240,25,128,15, - 128,15,0,255,240,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,1,22,22,8,4,251,128,128,128,128,128,128,128, - 128,128,0,0,0,0,128,128,128,128,128,128,128,128,128,8, - 21,21,10,1,252,62,126,192,192,192,112,120,62,119,227,195, - 199,238,124,30,7,3,3,3,142,252,7,2,2,7,0,15, - 198,198,17,17,51,19,1,0,3,224,0,15,120,0,56,14, - 0,35,242,0,71,57,0,78,25,0,140,0,128,140,0,128, - 140,0,128,140,0,128,140,24,128,70,57,0,67,241,0,32, - 2,0,48,6,0,12,24,0,3,224,0,9,11,22,9,0, - 6,62,0,127,0,97,0,1,0,63,0,113,0,65,0,67, - 0,61,0,0,0,255,128,9,9,18,13,2,1,49,128,51, - 0,99,0,230,0,204,0,230,0,99,0,51,0,17,128,12, - 5,10,14,1,5,255,240,0,16,0,16,0,16,0,16,255, - 17,17,51,19,1,0,3,224,0,15,120,0,56,14,0,39, - 242,0,70,57,0,70,25,0,134,24,128,135,224,128,134,48, - 128,134,16,128,134,24,128,70,25,0,70,25,0,32,2,0, - 56,14,0,15,120,0,3,224,0,7,1,1,7,0,15,254, - 5,6,6,7,1,11,112,216,136,136,216,112,14,14,28,24, - 5,0,2,0,2,0,2,0,2,0,255,252,2,0,2,0, - 2,0,2,0,2,0,0,0,0,0,0,0,255,252,7,9, - 9,9,1,8,60,126,198,6,12,24,48,224,254,7,9,9, - 9,1,8,60,126,198,14,24,14,6,206,124,3,4,4,5, - 2,14,96,96,192,128,255,10,21,42,13,1,252,31,192,60, - 128,124,128,252,128,252,128,252,128,124,128,124,128,60,128,4, - 128,4,128,4,128,4,128,4,128,4,128,4,128,4,128,4, - 128,4,128,4,128,4,128,2,3,3,6,2,7,192,192,192, - 6,5,5,6,1,250,64,120,12,12,252,3,9,9,7,2, - 8,96,224,32,32,32,32,32,32,32,8,11,11,10,1,6, - 60,126,195,193,193,193,195,98,124,0,255,9,9,18,13,2, - 1,204,0,102,0,99,0,51,0,57,128,51,0,99,0,102, - 0,204,0,15,17,34,18,2,0,96,48,224,32,32,96,32, - 64,32,192,32,128,33,0,35,0,34,24,6,24,4,40,12, - 72,8,200,16,254,48,8,32,8,96,8,16,17,34,19,2, - 0,96,16,224,48,32,32,32,96,32,192,32,128,33,128,33, - 0,35,62,6,119,4,99,12,3,8,6,24,28,16,48,32, - 96,96,127,17,17,51,19,1,0,124,4,0,254,12,0,6, - 8,0,24,16,0,30,48,0,6,32,0,198,96,0,206,64, - 0,124,198,0,1,134,0,1,10,0,3,26,0,2,50,0, - 6,63,128,4,2,0,8,2,0,24,2,0,10,17,34,12, - 1,251,6,0,6,0,0,0,0,0,6,0,6,0,6,0, - 14,0,28,0,112,0,96,0,192,0,192,0,192,192,241,192, - 127,128,31,0,16,23,46,17,1,0,14,0,6,0,3,0, - 1,0,0,0,0,0,3,128,3,128,7,192,6,192,14,224, - 12,96,12,112,24,48,24,48,56,56,63,248,63,252,96,12, - 96,12,224,6,192,6,192,7,16,23,46,17,1,0,0,96, - 0,192,0,128,1,0,0,0,0,0,3,128,3,128,7,192, - 6,192,14,224,12,96,12,112,24,48,24,48,56,56,63,248, - 63,252,96,12,96,12,224,6,192,6,192,7,16,23,46,17, - 1,0,3,128,3,192,6,192,4,96,0,0,0,0,3,128, - 3,128,7,192,6,192,14,224,12,96,12,112,24,48,24,48, - 56,56,63,248,63,252,96,12,96,12,224,6,192,6,192,7, - 16,22,44,17,1,0,7,96,13,192,0,0,0,0,0,0, - 3,128,3,128,7,192,6,192,14,224,12,96,12,112,24,48, - 24,48,56,56,63,248,63,252,96,12,96,12,224,6,192,6, - 192,7,16,22,44,18,1,0,6,48,6,48,0,0,0,0, - 0,0,1,192,3,192,3,224,7,96,6,96,6,112,12,48, - 12,56,28,24,24,28,63,252,63,252,48,6,96,6,96,7, - 224,3,192,3,16,24,48,17,1,0,3,128,6,192,4,64, - 4,64,3,128,0,0,0,0,3,128,3,128,7,192,6,192, - 6,224,12,96,12,112,28,48,24,48,24,24,63,248,63,252, - 96,12,96,12,224,6,192,6,192,7,21,17,51,23,1,0, - 0,255,248,0,240,0,1,240,0,1,176,0,3,176,0,3, - 48,0,7,48,0,6,48,0,14,63,248,12,48,0,28,48, - 0,31,240,0,56,48,0,48,48,0,112,48,0,96,48,0, - 192,63,248,13,22,44,15,1,251,15,192,63,240,48,56,96, - 24,96,24,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,96,0,96,24,112,48,63,240,15,192,2,0,3,192,0, - 224,0,96,7,224,11,23,46,14,2,0,48,0,24,0,12, - 0,4,0,0,0,0,0,255,224,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,255,224,11,23,46,14,2,0,3, - 0,6,0,6,0,12,0,0,0,0,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,11,23,46, - 14,2,0,30,0,30,0,51,0,33,0,0,0,0,0,255, - 224,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, - 192,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, - 224,11,22,44,14,2,0,51,0,51,0,0,0,0,0,0, - 0,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,192,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,224,4,23,23,6,0,0,192,96,48,16,0,0,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 4,23,23,6,2,0,48,96,64,192,0,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,6,23,23, - 6,0,0,56,120,76,196,0,0,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,7,22,22,7,0,0, - 198,198,0,0,0,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,15,17,34,17,0,0,63,192,49,240, - 48,56,48,12,48,12,48,6,48,6,48,6,255,6,48,6, - 48,6,48,6,48,12,48,28,48,56,49,240,63,192,13,22, - 44,17,2,0,14,192,31,128,0,0,0,0,0,0,224,24, - 240,24,248,24,248,24,220,24,220,24,206,24,198,24,199,24, - 195,24,195,152,193,216,193,216,192,248,192,248,192,120,192,56, - 15,24,48,17,1,0,14,0,6,0,3,0,1,0,1,128, - 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, - 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, - 48,24,30,240,7,192,15,24,48,17,1,0,0,224,0,192, - 1,128,1,0,3,0,0,0,0,0,7,192,30,240,48,24, - 96,12,96,12,192,6,192,6,192,6,192,6,192,6,192,6, - 224,14,96,12,96,12,48,24,30,240,7,192,15,24,48,17, - 1,0,3,128,3,128,6,192,4,64,12,32,0,0,0,0, - 7,192,30,240,48,24,96,12,96,12,192,6,192,6,192,6, - 192,6,192,6,192,6,224,14,96,12,96,12,48,24,30,240, - 7,192,15,22,44,17,1,0,7,96,13,192,0,0,0,0, - 0,0,7,192,30,240,48,24,96,12,96,12,192,6,192,6, - 192,6,192,6,192,6,192,6,224,14,96,12,112,28,56,56, - 31,240,7,192,15,22,44,17,1,0,6,96,6,96,0,0, - 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, - 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, - 48,24,30,240,7,192,13,12,24,23,5,1,192,24,96,48, - 48,96,24,192,13,128,7,0,7,0,13,128,24,192,48,96, - 96,48,192,24,15,21,42,17,1,254,0,4,0,14,7,236, - 30,248,48,60,96,60,96,110,192,230,192,198,193,198,195,134, - 195,6,199,6,238,14,108,12,124,12,120,24,62,240,111,192, - 224,0,64,0,13,24,48,17,2,0,28,0,12,0,6,0, - 2,0,1,0,0,0,0,0,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 224,24,96,56,112,112,63,224,31,192,13,24,48,17,2,0, - 1,192,1,128,3,0,2,0,6,0,0,0,0,0,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,224,24,96,56,112,112,63,224,31,192, - 13,24,48,17,2,0,7,0,7,0,13,128,8,128,24,64, - 0,0,0,0,192,24,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,224,24,96,56, - 112,112,63,224,31,192,13,22,44,17,2,0,12,192,12,192, - 0,0,0,0,0,0,192,24,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, - 96,56,96,48,61,224,31,192,14,23,46,15,0,0,0,192, - 1,128,1,128,3,0,0,0,0,0,224,28,112,24,112,56, - 56,48,24,112,28,96,12,192,14,192,7,128,3,128,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,11,17,34,14, - 2,0,192,0,192,0,192,0,192,0,255,128,193,192,192,224, - 192,96,192,96,192,96,193,192,255,128,192,0,192,0,192,0, - 192,0,192,0,12,17,34,13,1,0,31,0,127,128,224,192, - 192,192,193,192,195,128,199,0,198,0,198,0,195,128,193,224, - 192,112,192,48,192,48,204,48,207,96,195,192,10,18,36,13, - 1,0,24,0,12,0,4,0,6,0,0,0,0,0,31,0, - 123,128,96,192,96,192,0,192,63,192,120,192,224,192,192,192, - 193,192,119,192,60,192,10,19,38,13,1,0,3,0,6,0, - 6,0,12,0,8,0,0,0,0,0,31,0,123,128,96,192, - 96,192,0,192,63,192,120,192,224,192,192,192,193,192,119,192, - 60,192,10,19,38,13,1,0,14,0,14,0,27,0,51,0, - 33,128,0,0,0,0,31,0,123,128,96,192,96,192,0,192, - 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,17, - 34,13,1,0,29,128,63,0,0,0,0,0,0,0,31,0, - 123,128,96,192,0,192,7,192,63,192,112,192,192,192,193,192, - 193,192,119,192,60,192,10,17,34,13,1,0,49,128,49,128, - 0,0,0,0,0,0,31,0,123,128,96,192,96,192,0,192, - 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,20, - 40,13,1,0,14,0,27,0,17,0,17,0,27,0,14,0, - 0,0,0,0,31,0,123,128,96,192,96,192,0,192,63,192, - 120,192,224,192,192,192,193,192,119,192,62,192,18,12,36,20, - 1,0,30,31,0,127,191,128,97,225,128,0,224,192,0,192, - 192,63,255,192,120,192,0,224,192,0,192,224,192,193,225,128, - 127,63,128,62,31,0,10,17,34,12,1,251,31,0,127,128, - 97,192,192,192,192,0,192,0,192,0,192,0,192,192,97,192, - 127,128,31,0,8,0,15,0,3,128,1,128,31,0,10,19, - 38,13,1,0,48,0,24,0,8,0,12,0,6,0,0,0, - 0,0,31,0,127,128,96,192,192,192,192,192,255,192,192,0, - 192,0,192,192,96,192,63,128,31,0,10,19,38,13,1,0, - 3,0,7,0,6,0,12,0,8,0,0,0,0,0,31,0, - 127,128,96,192,192,192,192,192,255,192,192,0,192,0,192,192, - 96,192,63,128,31,0,10,19,38,13,1,0,12,0,30,0, - 26,0,51,0,33,0,0,0,0,0,31,0,127,128,96,192, - 192,192,192,192,255,192,192,0,192,0,192,192,96,192,63,128, - 31,0,11,17,34,13,1,0,49,128,49,128,0,0,0,0, - 0,0,31,0,59,192,96,192,224,96,192,96,255,224,192,0, - 192,0,192,96,96,192,59,192,31,0,4,18,18,6,0,0, - 192,96,48,16,0,0,48,48,48,48,48,48,48,48,48,48, - 48,48,4,18,18,6,2,0,48,96,192,128,0,0,192,192, - 192,192,192,192,192,192,192,192,192,192,6,18,18,6,0,0, - 120,120,204,132,0,0,48,48,48,48,48,48,48,48,48,48, - 48,48,6,17,17,5,255,0,204,204,0,0,0,48,48,48, - 48,48,48,48,48,48,48,48,48,11,17,34,13,1,0,97, - 128,63,0,30,0,119,0,3,128,31,192,127,192,96,224,224, - 96,192,96,192,96,192,96,192,96,224,96,96,192,63,192,31, - 0,10,17,34,14,2,0,25,0,63,0,0,0,0,0,0, - 0,223,0,255,128,225,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,11,19,38,13,1,0,56, - 0,24,0,12,0,4,0,2,0,0,0,0,0,31,0,63, - 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, - 192,63,192,31,0,11,19,38,13,1,0,3,128,3,0,6, - 0,4,0,12,0,0,0,0,0,31,0,63,192,96,192,224, - 224,192,96,192,96,192,96,192,96,224,224,96,192,63,192,31, - 0,11,19,38,13,1,0,14,0,14,0,27,0,17,0,49, - 128,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, - 96,192,96,192,96,224,224,96,192,63,192,31,0,11,17,34, - 13,1,0,29,128,63,0,0,0,0,0,0,0,31,0,63, - 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, - 192,63,192,31,0,11,17,34,13,1,0,49,128,49,128,0, - 0,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, - 96,192,96,192,96,224,224,96,192,63,192,31,0,14,10,20, - 24,5,2,3,0,3,0,3,0,0,0,0,0,255,252,0, - 0,3,0,3,0,3,0,11,15,30,13,1,254,0,32,0, - 96,31,192,63,192,97,192,227,224,194,96,198,96,204,96,216, - 96,248,224,112,192,123,192,95,0,192,0,10,19,38,14,2, - 0,48,0,24,0,24,0,12,0,4,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,225,192,119,192,60,192,10,19,38,14,2,0,3,0,6, - 0,6,0,12,0,8,0,0,0,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,119, - 192,60,192,10,19,38,14,2,0,12,0,30,0,30,0,51, - 0,33,0,0,0,0,0,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,225,192,119,192,60,192,10, - 17,34,14,2,0,51,0,51,0,0,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,11,23,46,12,1,251,3,0,3, - 0,6,0,12,0,0,0,0,0,192,96,192,192,224,192,97, - 192,113,128,49,128,51,128,59,0,27,0,30,0,14,0,14, - 0,12,0,12,0,220,0,248,0,112,0,11,22,44,14,2, - 251,192,0,192,0,192,0,192,0,192,0,207,0,251,192,224, - 192,224,224,192,96,192,96,192,96,192,96,224,224,224,192,251, - 192,207,0,192,0,192,0,192,0,192,0,192,0,11,22,44, - 13,1,251,49,128,49,128,0,0,0,0,0,0,192,96,224, - 96,96,224,96,192,113,192,49,128,57,128,27,128,27,0,31, - 0,14,0,14,0,14,0,12,0,12,0,28,0,24,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 17 - Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =17 descent= 0 - X Font ascent =17 descent= 0 - Max Font ascent =17 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17n[528] U8G_FONT_SECTION("u8g_font_fur17n") = { - 0,31,30,254,250,17,0,0,0,0,42,58,0,17,253,17, - 0,9,9,18,15,3,8,34,0,54,0,22,0,28,0,255, - 128,156,128,20,0,54,0,34,0,14,14,28,24,5,0,2, - 0,2,0,2,0,2,0,2,0,2,0,255,252,2,0,2, - 0,2,0,2,0,2,0,2,0,2,0,4,6,6,6,1, - 253,112,112,96,96,192,192,6,1,1,8,1,5,252,2,3, - 3,6,2,0,192,192,192,7,18,18,9,1,255,6,6,4, - 12,12,8,8,24,24,16,48,48,32,32,96,96,64,192,10, - 17,34,13,1,0,30,0,63,128,97,128,96,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,97, - 192,97,128,63,128,30,0,5,17,17,13,3,0,56,120,248, - 216,24,24,24,24,24,24,24,24,24,24,24,24,24,10,17, - 34,13,1,0,30,0,127,128,97,128,224,192,224,192,0,192, - 1,192,3,128,3,128,7,0,14,0,28,0,56,0,112,0, - 96,0,224,0,255,192,10,17,34,13,1,0,31,0,127,128, - 96,192,224,192,0,192,0,192,3,128,14,0,7,128,1,192, - 0,192,0,192,192,192,224,192,97,192,127,128,30,0,11,17, - 34,13,1,0,3,128,3,128,7,128,13,128,13,128,25,128, - 57,128,49,128,97,128,97,128,193,128,255,224,255,224,1,128, - 1,128,1,128,1,128,10,17,34,13,1,0,127,128,96,0, - 96,0,96,0,96,0,111,0,127,128,97,128,64,192,0,192, - 0,192,0,192,0,192,192,192,225,128,127,0,30,0,11,17, - 34,13,1,0,31,0,59,128,96,192,224,192,192,0,192,0, - 207,0,223,192,241,192,224,224,192,96,192,96,192,96,192,96, - 96,192,59,192,31,0,10,17,34,13,1,0,255,192,0,192, - 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, - 6,0,14,0,12,0,12,0,28,0,24,0,56,0,11,17, - 34,13,1,0,31,0,59,128,96,192,96,192,96,192,96,192, - 49,128,31,0,59,128,96,192,192,96,192,96,192,96,192,96, - 96,224,123,192,31,0,11,17,34,13,1,0,31,0,127,192, - 96,192,192,224,192,96,192,96,192,224,224,224,113,224,63,96, - 0,96,0,96,0,224,96,192,97,192,127,128,31,0,2,12, - 12,6,2,0,192,192,192,0,0,0,0,0,0,192,192,192 - }; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=22 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=31 h=30 x=-2 y=-6 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur17r[3146] U8G_FONT_SECTION("u8g_font_fur17r") = { - 0,31,30,254,250,17,4,5,8,170,32,127,251,19,250,17, - 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, - 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, - 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, - 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, - 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, - 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, - 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, - 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, - 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, - 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, - 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, - 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, - 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, - 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, - 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, - 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, - 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, - 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, - 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, - 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, - 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, - 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, - 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, - 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, - 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, - 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, - 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, - 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, - 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, - 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, - 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, - 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, - 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, - 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, - 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, - 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, - 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, - 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, - 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, - 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, - 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, - 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, - 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, - 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, - 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, - 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, - 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, - 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, - 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, - 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, - 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, - 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, - 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, - 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, - 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, - 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, - 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, - 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, - 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, - 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, - 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, - 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, - 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, - 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, - 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, - 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, - 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, - 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, - 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, - 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, - 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, - 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, - 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, - 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, - 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, - 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, - 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, - 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, - 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, - 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, - 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, - 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, - 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, - 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, - 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, - 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, - 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, - 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, - 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, - 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, - 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, - 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, - 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, - 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, - 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, - 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, - 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, - 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, - 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, - 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, - 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, - 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, - 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, - 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, - 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, - 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, - 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, - 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, - 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, - 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, - 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, - 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, - 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, - 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, - 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, - 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, - 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, - 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, - 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, - 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, - 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, - 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, - 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, - 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, - 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, - 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, - 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, - 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, - 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, - 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, - 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, - 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, - 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, - 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, - 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, - 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, - 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, - 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, - 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, - 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, - 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, - 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, - 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, - 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, - 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, - 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, - 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, - 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, - 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, - 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, - 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, - 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, - 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, - 2,4,12,0,5,62,112,231,224,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=26 h=29 x= 7 y=17 dx=29 dy= 0 ascent=28 len=96 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =28 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20[8654] U8G_FONT_SECTION("u8g_font_fur20") = { - 0,38,35,254,249,20,5,12,11,23,32,255,251,28,249,20, - 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, - 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, - 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, - 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, - 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, - 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, - 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, - 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, - 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, - 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, - 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, - 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, - 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, - 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, - 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, - 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, - 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, - 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, - 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, - 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, - 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, - 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, - 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, - 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, - 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, - 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, - 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, - 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, - 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, - 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, - 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, - 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, - 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, - 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, - 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, - 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, - 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, - 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, - 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, - 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, - 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, - 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, - 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, - 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, - 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, - 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, - 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, - 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, - 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, - 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, - 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, - 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, - 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, - 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, - 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, - 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, - 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, - 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, - 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, - 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, - 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, - 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, - 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, - 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, - 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, - 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, - 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, - 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, - 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, - 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, - 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, - 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, - 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, - 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, - 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, - 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, - 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, - 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, - 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, - 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, - 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, - 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, - 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, - 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, - 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, - 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, - 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, - 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, - 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, - 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, - 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, - 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, - 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, - 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, - 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, - 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, - 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, - 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, - 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, - 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, - 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, - 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, - 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, - 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, - 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, - 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, - 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, - 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, - 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, - 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, - 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, - 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, - 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, - 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, - 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, - 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, - 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, - 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, - 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, - 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, - 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, - 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, - 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, - 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, - 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, - 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, - 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, - 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, - 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, - 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, - 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, - 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, - 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, - 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, - 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, - 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, - 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, - 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, - 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, - 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, - 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, - 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, - 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, - 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, - 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, - 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, - 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, - 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, - 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, - 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, - 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, - 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, - 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, - 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, - 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, - 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, - 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, - 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, - 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, - 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, - 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, - 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, - 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, - 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, - 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, - 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, - 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, - 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, - 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, - 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, - 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, - 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, - 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, - 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, - 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, - 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, - 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, - 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, - 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, - 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, - 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, - 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, - 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, - 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, - 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, - 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, - 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, - 5,62,14,127,252,224,248,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,8,0,0,3,19, - 19,10,4,251,224,224,224,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,12,20,40,16,2,253,0,192,0, - 128,0,128,31,128,63,192,113,96,227,96,226,0,226,0,230, - 0,228,0,228,0,236,112,232,96,120,224,63,192,31,128,16, - 0,48,0,48,0,14,20,40,16,1,0,7,224,31,248,60, - 60,56,28,56,0,56,0,56,0,255,128,255,128,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,255, - 248,255,248,16,14,28,18,1,4,192,3,97,134,55,236,28, - 56,24,24,48,12,48,12,48,12,48,12,24,24,28,56,63, - 252,115,198,192,3,15,20,40,17,1,0,224,14,224,28,112, - 28,48,56,56,56,24,112,252,126,252,254,14,224,7,192,255, - 254,255,254,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,1,25,25,9,4,251,128,128,128,128,128,128,128, - 128,128,128,128,0,0,0,128,128,128,128,128,128,128,128,128, - 128,128,10,25,50,12,1,251,31,0,63,128,112,0,224,0, - 224,0,112,0,120,0,62,0,31,0,127,128,113,192,225,192, - 225,192,225,128,247,128,126,0,31,0,7,128,3,192,1,192, - 1,192,1,192,131,128,255,0,60,0,8,3,3,8,0,17, - 231,231,231,21,20,60,25,2,0,1,252,0,7,255,0,28, - 3,128,56,112,192,35,254,96,103,142,48,199,7,16,134,7, - 24,142,0,8,142,0,8,142,0,8,134,0,8,134,7,24, - 199,7,16,67,254,16,32,248,32,48,0,64,28,1,128,7, - 143,0,1,252,0,10,13,26,12,1,7,63,0,127,128,97, - 128,1,128,31,128,127,128,225,128,193,128,227,128,127,128,24, - 0,0,0,255,192,11,11,22,16,2,2,12,96,24,224,56, - 192,113,128,99,128,227,0,99,128,113,128,56,192,24,224,12, - 96,15,6,12,18,2,6,255,254,255,254,0,6,0,6,0, - 6,0,6,255,21,20,60,25,2,0,1,252,0,7,255,0, - 28,3,128,59,252,192,35,254,96,99,3,48,195,3,16,131, - 3,24,131,254,8,131,252,8,131,6,8,131,6,8,131,3, - 24,195,3,16,67,3,48,35,3,96,56,0,192,28,3,128, - 7,255,0,1,252,0,8,2,2,8,0,17,255,255,6,6, - 6,8,1,14,120,204,132,132,204,120,17,17,51,29,6,0, - 1,128,0,1,128,0,1,128,0,1,128,0,1,128,0,255, - 255,128,255,255,128,1,128,0,1,128,0,1,128,0,1,128, - 0,1,128,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,9,11,22,11,1,9,62,0,127,0,227,128,3, - 128,3,0,7,0,28,0,56,0,112,0,255,128,255,128,8, - 11,11,10,1,9,62,127,195,3,30,30,7,3,195,126,60, - 5,5,5,6,2,16,56,48,96,224,192,255,13,24,48,16, - 1,252,15,248,62,32,126,32,126,32,254,32,254,32,254,32, - 126,32,62,32,30,32,2,32,2,32,2,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 2,32,3,3,3,7,2,8,224,224,224,7,7,7,7,1, - 249,32,32,60,14,6,254,248,4,10,10,8,2,10,112,240, - 176,48,48,48,48,48,48,48,10,12,24,12,1,8,30,0, - 99,128,193,128,192,192,192,192,192,192,192,192,193,128,99,128, - 30,0,0,0,255,192,12,11,22,16,2,2,227,0,99,128, - 49,128,56,192,24,224,28,112,24,224,56,192,49,128,99,128, - 227,0,18,20,60,22,2,0,112,12,0,240,12,0,176,24, - 0,48,24,0,48,48,0,48,96,0,48,96,0,48,192,0, - 48,192,0,49,131,0,49,7,0,3,15,0,6,31,0,6, - 27,0,12,51,0,12,99,0,24,127,192,16,3,0,48,3, - 0,96,3,0,18,20,60,22,2,0,112,12,0,240,24,0, - 176,24,0,48,48,0,48,48,0,48,96,0,48,64,0,48, - 192,0,48,128,0,49,143,0,51,31,128,3,49,192,6,1, - 192,6,1,192,12,3,128,8,7,0,24,14,0,16,24,0, - 48,63,192,96,63,192,20,20,60,22,1,0,62,1,128,127, - 3,0,195,3,0,3,6,0,28,6,0,30,12,0,3,24, - 0,195,24,0,199,48,0,126,48,192,56,97,192,0,99,192, - 0,198,192,1,134,192,1,140,192,3,24,192,3,31,240,6, - 0,192,12,0,192,12,0,192,12,19,38,15,2,251,7,0, - 7,0,7,0,0,0,0,0,7,0,7,0,7,0,15,0, - 30,0,56,0,112,0,224,0,224,0,224,0,224,112,127,224, - 63,224,31,128,19,27,81,21,1,0,7,0,0,3,128,0, - 1,128,0,0,192,0,0,96,0,0,0,0,0,0,0,0, - 224,0,1,240,0,1,240,0,3,176,0,3,184,0,3,56, - 0,7,28,0,7,28,0,14,14,0,14,14,0,30,15,0, - 28,7,0,28,7,0,63,255,128,63,255,128,112,1,192,112, - 1,192,224,0,224,224,0,224,224,0,224,19,27,81,21,1, - 0,0,28,0,0,56,0,0,48,0,0,96,0,0,192,0, - 0,0,0,0,0,0,0,224,0,1,240,0,1,240,0,3, - 176,0,3,184,0,3,56,0,7,28,0,7,28,0,14,14, - 0,14,14,0,30,15,0,28,7,0,28,7,0,63,255,128, - 63,255,128,112,1,192,112,1,192,224,0,224,224,0,224,224, - 0,224,19,27,81,21,1,0,0,224,0,1,240,0,1,176, - 0,3,24,0,6,12,0,0,0,0,0,0,0,0,224,0, - 1,240,0,1,240,0,3,176,0,3,184,0,3,56,0,7, - 28,0,7,28,0,14,14,0,14,14,0,30,15,0,28,7, - 0,28,7,0,63,255,128,63,255,128,112,1,192,112,1,192, - 224,0,224,224,0,224,224,0,224,19,26,78,21,1,0,1, - 140,0,3,248,0,6,112,0,0,0,0,0,0,0,0,0, - 0,0,224,0,1,240,0,1,240,0,3,176,0,3,184,0, - 3,56,0,7,28,0,7,28,0,14,14,0,14,14,0,30, - 15,0,28,7,0,28,7,0,63,255,128,63,255,128,112,1, - 192,112,1,192,224,0,224,224,0,224,224,0,224,19,26,78, - 21,1,0,3,156,0,3,156,0,3,156,0,0,0,0,0, - 0,0,0,0,0,0,224,0,0,240,0,1,240,0,1,184, - 0,3,184,0,3,152,0,7,28,0,7,28,0,7,14,0, - 14,14,0,14,15,0,28,7,0,28,7,0,63,255,128,63, - 255,128,56,1,192,112,1,192,112,0,224,224,0,224,224,0, - 224,20,28,84,21,0,0,0,240,0,1,152,0,1,8,0, - 1,8,0,1,152,0,0,240,0,0,0,0,0,0,0,0, - 240,0,0,240,0,0,248,0,1,248,0,1,220,0,3,156, - 0,3,158,0,7,14,0,7,14,0,7,7,0,14,7,0, - 14,7,128,30,3,128,31,255,192,31,255,192,56,1,192,56, - 0,224,112,0,224,112,0,112,224,0,112,25,20,80,28,1, - 0,0,63,255,128,0,127,255,128,0,126,0,0,0,238,0, - 0,0,238,0,0,1,206,0,0,1,206,0,0,3,206,0, - 0,3,142,0,0,7,143,255,128,7,15,255,128,15,14,0, - 0,14,14,0,0,31,254,0,0,63,254,0,0,56,14,0, - 0,120,14,0,0,112,14,0,0,224,15,255,128,224,15,255, - 128,16,27,54,19,2,249,7,240,31,252,60,14,48,6,112, - 7,96,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,96,0,96,7,48,6,56,14,31,252,7,240,0, - 128,0,224,0,248,0,24,0,24,3,248,1,224,13,27,54, - 17,2,0,24,0,28,0,14,0,6,0,3,0,0,0,0, - 0,255,248,255,248,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,255,240,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,255,248,255,248,13,27,54,17,2,0,1, - 192,1,128,3,0,6,0,4,0,0,0,0,0,255,248,255, - 248,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,255,248,255,248,13,27,54,17,2,0,15,0,15,0,25, - 128,16,192,48,192,0,0,0,0,255,248,255,248,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,240,255,240,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,248,255, - 248,13,26,52,17,2,0,56,224,56,224,56,224,0,0,0, - 0,0,0,255,248,255,248,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,248,255,248,5,27,27,7,0, - 0,224,96,48,48,24,0,0,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,5,27,27,7, - 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,8,27,27, - 7,255,0,28,62,118,99,193,0,0,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,8,26, - 26,8,0,0,227,227,227,0,0,0,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,19,20, - 60,20,0,0,63,240,0,63,254,0,56,31,0,56,7,128, - 56,3,128,56,1,192,56,1,192,56,0,192,56,0,224,255, - 192,224,255,192,224,56,0,224,56,0,192,56,1,192,56,1, - 192,56,3,128,56,7,128,56,31,0,63,254,0,63,240,0, - 16,26,52,20,2,0,6,48,15,224,9,224,0,0,0,0, - 0,0,240,7,248,7,248,7,252,7,252,7,238,7,238,7, - 231,7,231,135,227,135,227,199,225,199,224,231,224,231,224,119, - 224,119,224,63,224,63,224,31,224,31,18,28,84,22,2,0, - 7,0,0,3,128,0,1,128,0,0,192,0,0,64,0,0, - 0,0,0,0,0,0,0,0,3,240,0,15,252,0,62,31, - 0,56,7,0,112,3,128,96,1,128,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,96, - 1,192,112,3,128,112,3,128,56,7,0,30,30,0,15,252, - 0,3,240,0,18,28,84,22,2,0,0,56,0,0,112,0, - 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, - 0,0,3,240,0,15,252,0,62,31,0,56,7,0,112,3, - 128,96,1,128,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,96,1,192,112,3,128,112, - 3,128,56,7,0,30,30,0,15,252,0,3,240,0,18,28, - 84,22,2,0,1,224,0,1,224,0,3,240,0,3,48,0, - 6,24,0,0,0,0,0,0,0,0,0,0,3,240,0,15, - 252,0,62,31,0,56,7,0,112,3,128,96,1,128,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,96,1,192,112,3,128,112,3,128,56,7,0,30, - 30,0,15,252,0,3,240,0,18,26,78,22,2,0,3,152, - 0,7,248,0,6,112,0,0,0,0,0,0,0,0,0,0, - 3,240,0,15,252,0,62,31,0,56,7,0,112,3,128,96, - 1,128,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,96,1,192,112,3,128,112,3,128, - 56,7,0,31,62,0,15,252,0,3,240,0,18,26,78,22, - 2,0,7,28,0,7,28,0,7,28,0,0,0,0,0,0, - 0,0,0,0,3,240,0,15,252,0,62,31,0,56,7,0, - 112,3,128,96,1,128,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,96,1,192,112,3, - 128,112,3,128,56,7,0,30,30,0,15,252,0,3,240,0, - 16,15,30,28,6,1,64,2,224,7,112,14,56,28,12,56, - 6,96,3,192,1,128,3,192,6,96,12,48,24,24,48,12, - 96,6,64,2,18,24,72,22,2,254,0,0,128,0,1,192, - 3,251,128,15,255,0,62,31,0,56,15,128,112,31,128,96, - 29,128,224,57,192,224,113,192,224,113,192,224,225,192,225,193, - 192,227,193,192,227,129,192,231,1,128,111,3,128,126,3,128, - 60,7,0,62,30,0,63,252,0,115,240,0,224,0,0,96, - 0,0,16,28,56,20,2,0,14,0,7,0,3,0,1,128, - 0,128,0,0,0,0,0,0,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,96,14,112,14,62,124,31,248,15,224, - 16,28,56,20,2,0,0,112,0,224,0,192,1,128,1,0, - 0,0,0,0,0,0,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,96,14,112,14,62,124,31,248,15,224,16,28, - 56,20,2,0,3,192,3,192,7,224,6,96,12,48,0,0, - 0,0,0,0,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,96,14,112,14,62,124,31,248,15,224,16,26,52,20, - 2,0,14,56,14,56,14,56,0,0,0,0,0,0,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,96,6,112,14, - 60,60,31,248,15,224,17,27,81,19,1,0,0,112,0,0, - 96,0,0,192,0,0,128,0,1,128,0,0,0,0,0,0, - 0,224,3,128,240,7,0,112,7,0,56,14,0,60,28,0, - 28,28,0,14,56,0,14,48,0,7,112,0,7,96,0,3, - 224,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,14,20,40, - 17,2,0,224,0,224,0,224,0,224,0,255,192,255,240,224, - 120,224,56,224,28,224,28,224,28,224,56,224,120,255,240,255, - 192,224,0,224,0,224,0,224,0,224,0,14,20,40,15,1, - 0,15,128,63,224,112,112,224,112,224,112,224,112,225,224,227, - 128,231,0,231,0,227,128,227,224,224,248,224,56,224,28,224, - 28,238,28,230,28,231,248,225,240,12,21,42,15,1,0,12, - 0,14,0,6,0,3,0,1,128,0,0,0,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,12,22,44,15,1,0,1, - 192,1,128,3,0,3,0,6,0,12,0,0,0,0,0,31, - 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, - 112,224,112,224,112,224,240,127,176,30,48,12,22,44,15,1, - 0,7,0,15,0,13,128,29,128,24,192,48,64,0,0,0, - 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, - 112,224,112,224,112,224,112,224,240,127,176,30,48,12,20,40, - 15,1,0,30,64,31,192,49,128,0,0,0,0,0,0,31, - 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, - 112,224,112,224,112,224,240,127,176,30,48,12,20,40,15,1, - 0,56,224,56,224,56,224,0,0,0,0,0,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,12,23,46,15,1,0,15, - 0,25,128,16,128,16,128,25,128,15,0,0,0,0,0,0, - 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, - 112,224,112,224,112,224,112,224,240,127,176,30,48,23,14,42, - 25,1,0,31,131,240,63,207,248,112,108,28,112,56,12,0, - 56,14,15,255,254,63,255,254,120,56,0,224,56,0,224,56, - 14,224,120,12,240,236,28,127,199,248,31,3,240,12,21,42, - 14,1,249,31,128,63,224,112,112,224,112,224,112,224,0,224, - 0,224,0,224,0,224,112,224,112,112,224,63,224,31,128,4, - 0,7,128,7,192,0,96,0,96,31,192,15,0,13,22,44, - 15,1,0,56,0,28,0,12,0,6,0,6,0,3,0,0, - 0,0,0,15,128,63,224,112,112,96,48,224,56,255,248,255, - 248,224,0,224,0,224,56,96,112,112,112,63,224,15,128,13, - 22,44,15,1,0,1,192,1,128,3,128,3,0,6,0,4, - 0,0,0,0,0,15,128,63,224,112,112,96,48,224,56,255, - 248,255,248,224,0,224,0,224,56,96,112,112,112,63,224,15, - 128,13,22,44,15,1,0,7,0,15,0,15,128,25,128,24, - 192,48,64,0,0,0,0,15,128,63,224,112,112,96,48,224, - 56,255,248,255,248,224,0,224,0,224,56,96,112,112,112,63, - 224,15,128,13,20,40,15,1,0,56,224,56,224,56,224,0, - 0,0,0,0,0,15,192,63,224,112,112,96,56,224,56,255, - 248,255,248,224,0,224,0,224,56,96,56,112,112,63,224,15, - 128,5,21,21,7,0,0,224,96,48,48,24,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,5,21,21,7, - 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,8,21,21,7,255,0,60,62,118, - 99,193,0,0,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,8,20,20,7,255,0,227,227,227,0,0,0,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,14,20,40,16, - 1,0,48,32,57,224,15,0,31,128,113,192,0,224,15,240, - 63,240,120,120,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,96,56,112,112,63,224,15,192,12,20,40,16,2,0, - 28,192,63,192,51,128,0,0,0,0,0,0,239,128,255,224, - 240,240,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,14,22,44,16,1,0,28,0, - 12,0,14,0,6,0,3,0,1,0,0,0,0,0,15,192, - 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,112,56,112,112,63,224,15,192,14,22,44,16,1,0, - 0,224,1,192,1,128,3,0,3,0,6,0,0,0,0,0, - 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, - 224,28,224,24,112,56,112,112,63,224,15,192,14,22,44,16, - 1,0,7,0,7,128,15,128,12,192,24,192,24,96,0,0, - 0,0,15,192,63,224,112,112,112,56,224,24,224,28,224,28, - 224,28,224,28,224,24,112,56,112,112,63,224,15,192,14,20, - 40,16,1,0,14,96,31,192,17,128,0,0,0,0,0,0, - 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, - 224,28,224,24,112,56,112,112,63,224,15,192,14,20,40,16, - 1,0,28,224,28,224,28,224,0,0,0,0,0,0,15,192, - 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, - 224,24,112,56,112,112,63,224,15,192,17,12,36,29,6,2, - 1,192,0,1,192,0,1,192,0,0,0,0,0,0,0,255, - 255,128,255,255,128,0,0,0,0,0,0,1,192,0,1,192, - 0,1,192,0,14,18,36,16,1,254,0,8,0,24,15,248, - 63,240,112,112,112,248,225,216,225,152,227,28,230,28,238,28, - 236,24,120,56,112,112,127,224,111,192,192,0,128,0,12,22, - 44,16,2,0,56,0,24,0,12,0,12,0,6,0,3,0, - 0,0,0,0,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,240,240,127,240,63,112, - 12,22,44,16,2,0,1,192,1,128,3,0,7,0,6,0, - 12,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, - 63,112,12,22,44,16,2,0,6,0,15,0,15,0,25,128, - 16,128,48,192,0,0,0,0,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,240,240, - 127,240,63,112,12,20,40,16,2,0,57,192,57,192,57,192, - 0,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, - 63,112,13,27,54,15,1,251,0,224,1,192,1,128,3,0, - 2,0,0,0,0,0,0,0,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,7,128, - 7,128,7,0,7,0,6,0,238,0,252,0,120,0,14,25, - 50,17,2,251,224,0,224,0,224,0,224,0,224,0,224,0, - 231,192,255,240,240,112,240,56,224,24,224,28,224,28,224,28, - 224,28,224,24,224,56,240,112,255,240,231,192,224,0,224,0, - 224,0,224,0,224,0,14,25,50,14,0,251,28,224,28,224, - 28,224,0,0,0,0,0,0,224,28,112,24,112,56,48,56, - 56,112,56,112,28,96,28,224,14,224,14,192,7,192,7,128, - 3,128,3,128,3,0,7,0,6,0,6,0,14,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 20 - Calculated Max Values w=17 h=21 x= 6 y= 9 dx=29 dy= 0 ascent=20 len=48 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =20 descent= 0 - X Font ascent =20 descent= 0 - Max Font ascent =20 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20n[616] U8G_FONT_SECTION("u8g_font_fur20n") = { - 0,38,35,254,249,20,0,0,0,0,42,58,0,20,253,20, - 0,11,11,22,19,4,9,17,0,49,128,27,0,27,0,14, - 0,255,224,142,32,27,0,27,0,49,128,17,0,17,16,48, - 29,6,0,1,128,0,1,128,0,1,128,0,1,128,0,1, - 128,0,1,128,0,1,128,0,255,255,128,255,255,128,1,128, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,5,7,7,8,1,253,56,56,112,112,96,96,224, - 7,2,2,9,1,6,254,254,3,3,3,8,3,0,224,224, - 224,8,21,21,11,2,255,3,6,6,6,4,12,12,12,24, - 24,24,48,48,48,96,96,96,64,192,192,192,13,20,40,16, - 1,0,15,128,63,192,112,224,96,112,96,112,224,48,224,48, - 224,56,224,56,224,56,224,56,224,56,224,56,224,48,224,48, - 96,112,112,112,48,224,63,192,15,128,7,20,20,16,4,0, - 30,62,126,254,206,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,12,20,40,16,2,0,31,128,63,192,112,96, - 112,112,224,112,0,112,0,112,0,112,0,224,1,224,3,192, - 3,128,7,0,14,0,28,0,60,0,120,0,240,0,255,240, - 255,240,13,20,40,16,1,0,15,128,63,224,112,112,112,48, - 224,56,0,56,0,48,0,224,7,192,7,192,0,224,0,112, - 0,56,0,56,224,56,224,56,224,56,112,112,63,224,31,128, - 14,20,40,16,1,0,0,240,1,240,1,240,3,240,7,112, - 6,112,14,112,28,112,24,112,56,112,112,112,96,112,224,112, - 255,252,255,252,0,112,0,112,0,112,0,112,0,112,13,20, - 40,16,1,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,239,128,255,224,240,112,224,112,224,48,0,56,0,56, - 0,56,224,48,224,112,112,224,127,192,31,128,13,20,40,16, - 1,0,15,192,63,224,120,112,112,48,224,56,224,0,224,0, - 231,192,255,224,248,240,224,56,224,56,224,56,224,56,224,56, - 224,56,96,48,48,112,63,224,15,128,12,20,40,16,2,0, - 255,240,255,240,0,112,0,112,0,96,0,224,0,224,1,192, - 1,192,1,128,3,128,3,128,3,0,7,0,7,0,14,0, - 14,0,14,0,28,0,28,0,13,20,40,16,1,0,15,128, - 63,224,112,112,224,48,224,56,224,56,96,48,112,112,31,192, - 31,192,56,96,96,48,224,56,224,56,224,56,224,56,224,56, - 112,112,63,224,15,128,13,20,40,16,1,0,31,192,63,224, - 112,112,224,56,224,56,224,56,224,56,224,56,224,56,112,120, - 63,248,31,56,0,56,0,56,0,56,96,48,96,112,112,224, - 63,192,31,128,3,14,14,8,3,0,224,224,224,0,0,0, - 0,0,0,0,0,224,224,224}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 20, '1' Height: 20 - Calculated Max Values w=26 h=29 x= 7 y=16 dx=29 dy= 0 ascent=22 len=96 - Font Bounding box w=38 h=35 x=-2 y=-7 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =20 descent=-5 - X Font ascent =20 descent=-5 - Max Font ascent =22 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur20r[3976] U8G_FONT_SECTION("u8g_font_fur20r") = { - 0,38,35,254,249,20,5,12,11,23,32,127,251,22,249,20, - 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, - 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, - 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, - 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, - 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, - 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, - 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, - 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, - 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, - 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, - 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, - 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, - 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, - 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, - 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, - 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, - 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, - 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, - 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, - 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, - 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, - 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, - 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, - 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, - 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, - 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, - 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, - 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, - 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, - 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, - 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, - 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, - 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, - 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, - 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, - 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, - 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, - 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, - 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, - 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, - 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, - 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, - 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, - 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, - 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, - 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, - 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, - 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, - 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, - 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, - 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, - 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, - 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, - 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, - 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, - 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, - 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, - 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, - 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, - 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, - 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, - 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, - 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, - 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, - 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, - 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, - 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, - 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, - 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, - 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, - 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, - 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, - 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, - 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, - 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, - 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, - 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, - 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, - 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, - 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, - 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, - 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, - 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, - 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, - 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, - 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, - 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, - 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, - 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, - 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, - 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, - 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, - 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, - 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, - 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, - 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, - 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, - 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, - 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, - 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, - 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, - 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, - 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, - 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, - 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, - 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, - 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, - 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, - 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, - 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, - 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, - 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, - 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, - 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, - 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, - 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, - 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, - 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, - 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, - 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, - 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, - 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, - 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, - 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, - 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, - 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, - 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, - 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, - 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, - 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, - 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, - 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, - 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, - 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, - 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, - 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, - 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, - 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, - 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, - 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, - 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, - 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, - 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, - 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, - 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, - 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, - 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, - 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, - 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, - 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, - 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, - 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, - 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, - 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, - 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, - 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, - 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, - 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, - 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, - 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, - 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, - 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, - 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, - 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, - 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, - 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, - 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, - 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, - 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, - 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, - 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, - 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, - 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, - 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, - 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, - 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, - 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, - 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, - 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, - 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, - 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, - 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, - 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, - 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, - 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, - 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, - 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, - 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, - 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, - 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, - 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, - 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, - 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, - 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, - 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, - 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, - 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, - 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, - 5,62,14,127,252,224,248,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=31 h=37 x= 8 y=22 dx=34 dy= 0 ascent=36 len=132 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =36 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25[11949] U8G_FONT_SECTION("u8g_font_fur25") = { - 0,46,45,254,247,25,6,119,15,27,32,255,249,36,247,25, - 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, - 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, - 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, - 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, - 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, - 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, - 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, - 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, - 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, - 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, - 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, - 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, - 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, - 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, - 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, - 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, - 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, - 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, - 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, - 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, - 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, - 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, - 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, - 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, - 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, - 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, - 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, - 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, - 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, - 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, - 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, - 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, - 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, - 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, - 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, - 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, - 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, - 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, - 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, - 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, - 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, - 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, - 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, - 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, - 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, - 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, - 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, - 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, - 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, - 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, - 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, - 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, - 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, - 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, - 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, - 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, - 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, - 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, - 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, - 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, - 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, - 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, - 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, - 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, - 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, - 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, - 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, - 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, - 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, - 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, - 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, - 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, - 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, - 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, - 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, - 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, - 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, - 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, - 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, - 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, - 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, - 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, - 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, - 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, - 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, - 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, - 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, - 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, - 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, - 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, - 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, - 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, - 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, - 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, - 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, - 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, - 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, - 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, - 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, - 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, - 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, - 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, - 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, - 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, - 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, - 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, - 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, - 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, - 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, - 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, - 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, - 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, - 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, - 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, - 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, - 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, - 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, - 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, - 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, - 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, - 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, - 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, - 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, - 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, - 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, - 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, - 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, - 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, - 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, - 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, - 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, - 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, - 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, - 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, - 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, - 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, - 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, - 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, - 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, - 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, - 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, - 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, - 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, - 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, - 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, - 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, - 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, - 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, - 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, - 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, - 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, - 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, - 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, - 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, - 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, - 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, - 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, - 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, - 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, - 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, - 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, - 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, - 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, - 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, - 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, - 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, - 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, - 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, - 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, - 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, - 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, - 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, - 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, - 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, - 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, - 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, - 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, - 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, - 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, - 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, - 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, - 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, - 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, - 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, - 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, - 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, - 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, - 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, - 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, - 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, - 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, - 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, - 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, - 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, - 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, - 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, - 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, - 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, - 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, - 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, - 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, - 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, - 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, - 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, - 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, - 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, - 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, - 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, - 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, - 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, - 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, - 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, - 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, - 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, - 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, - 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, - 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, - 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, - 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, - 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, - 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, - 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, - 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, - 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, - 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, - 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, - 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, - 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, - 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, - 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, - 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, - 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, - 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, - 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, - 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, - 31,1,192,63,231,128,121,255,0,224,62,0,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, - 10,0,0,3,25,25,13,5,249,224,224,224,0,0,0,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,14,26,52,19,2,252,0,48,0,48,0,32,0,96, - 15,224,63,240,124,248,112,220,112,156,241,156,225,128,225,128, - 227,0,227,0,227,0,226,0,246,28,118,28,124,60,60,120, - 63,240,15,192,24,0,24,0,16,0,48,0,17,26,78,19, - 1,0,0,64,0,7,252,0,15,254,0,30,15,0,60,7, - 128,56,3,128,56,0,0,56,0,0,56,0,0,56,0,0, - 255,224,0,255,224,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,255,255,0,255,255,0, - 18,19,57,20,1,6,64,0,128,224,1,192,113,227,128,63, - 255,0,31,62,0,28,14,0,24,6,0,48,3,0,48,3, - 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, - 31,62,0,55,251,0,113,225,128,224,1,192,64,0,128,18, - 25,75,20,1,0,240,1,192,112,3,192,120,3,128,56,7, - 128,60,7,0,28,15,0,30,14,0,254,15,192,255,31,192, - 7,28,0,7,184,0,3,184,0,3,240,0,255,255,192,255, - 255,192,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,12,31,62,16,2,251,31,224,63, - 224,56,32,112,0,112,0,112,0,120,0,124,0,62,0,31, - 128,15,192,63,224,120,240,240,112,224,112,224,112,224,240,241, - 224,127,192,63,128,31,128,7,224,1,224,0,240,0,112,0, - 112,0,112,0,240,65,224,127,192,63,128,10,3,6,10,0, - 22,225,192,225,192,225,192,26,25,100,30,2,1,0,255,192, - 0,3,255,240,0,7,128,120,0,14,0,28,0,28,127,14, - 0,57,255,135,0,115,227,195,0,99,129,225,128,103,128,225, - 128,199,0,0,192,199,0,0,192,199,0,0,192,199,0,0, - 192,199,0,0,192,199,0,0,192,199,0,224,128,99,129,225, - 128,99,195,193,128,49,255,131,0,48,127,7,0,24,0,14, - 0,14,0,28,0,7,128,120,0,1,255,224,0,0,127,128, - 0,12,17,34,14,1,8,31,128,63,192,120,224,96,96,0, - 96,7,224,63,224,56,96,96,96,96,96,96,224,113,224,63, - 96,30,96,0,0,0,0,255,240,13,14,28,19,3,2,14, - 56,28,56,56,112,56,224,112,224,113,192,227,192,227,192,113, - 192,112,224,56,224,24,112,28,56,14,56,18,8,24,21,2, - 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,255,26,25,100,30,2,1, - 0,255,192,0,3,255,240,0,7,128,120,0,14,255,156,0, - 24,255,206,0,48,193,231,0,112,192,99,0,96,192,97,128, - 96,192,97,128,192,192,192,192,192,255,128,192,192,255,128,192, - 192,193,192,192,192,192,192,192,192,192,192,192,192,192,225,128, - 96,192,97,128,96,192,97,128,48,192,99,0,56,0,7,0, - 28,0,14,0,15,0,60,0,7,193,248,0,1,255,224,0, - 0,127,128,0,10,2,4,10,0,22,255,192,255,192,7,7, - 7,11,2,18,56,196,130,130,130,196,120,20,21,63,34,7, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,240,255,255,240, - 10,13,26,12,1,13,63,128,127,128,97,192,225,192,1,192, - 3,128,7,128,14,0,28,0,56,0,240,0,255,192,255,192, - 10,14,28,13,2,12,127,128,255,192,193,192,1,192,7,128, - 14,0,15,128,3,192,0,192,192,192,192,192,227,128,127,128, - 62,0,6,6,6,8,2,21,28,60,56,112,96,192,255,16, - 31,62,20,2,250,7,255,31,140,63,140,127,140,255,140,255, - 140,255,140,255,140,255,140,127,140,127,140,31,140,7,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,3,4,4,9,3,10,224,224,224,224,8,9,9, - 9,2,247,32,32,60,62,7,3,135,255,252,5,13,13,10, - 2,12,56,120,248,152,24,24,24,24,24,24,24,24,24,12, - 16,32,14,1,9,31,128,63,192,112,224,224,96,192,112,192, - 48,192,48,192,48,192,112,224,112,112,224,63,192,31,128,0, - 0,0,0,255,240,13,14,28,19,3,2,227,128,225,192,112, - 192,56,224,56,112,28,112,28,56,30,56,28,112,56,112,56, - 224,112,192,225,192,227,128,23,27,81,27,2,0,56,0,192, - 120,1,192,248,1,128,216,3,128,24,3,0,24,7,0,24, - 6,0,24,14,0,24,12,0,24,24,0,24,24,0,24,48, - 0,24,112,0,24,96,112,0,224,112,0,192,240,1,193,176, - 1,129,48,3,131,48,3,6,48,7,12,48,6,15,254,14, - 15,254,12,0,48,24,0,48,24,0,48,48,0,48,23,27, - 81,27,2,0,56,0,224,120,1,192,248,1,128,216,3,128, - 24,3,0,24,7,0,24,6,0,24,14,0,24,12,0,24, - 28,0,24,24,0,24,56,0,24,48,0,24,112,248,0,227, - 252,0,195,142,1,199,6,1,128,6,3,128,14,3,0,12, - 7,0,56,6,0,112,14,0,224,12,3,192,28,7,128,24, - 7,254,48,7,254,24,26,78,27,2,0,0,0,24,127,128, - 56,255,192,112,193,192,96,3,128,224,14,0,192,15,129,192, - 3,193,128,0,195,128,192,199,0,192,198,0,227,142,0,127, - 140,28,62,28,60,0,24,60,0,48,108,0,112,204,0,97, - 204,0,227,140,0,195,12,1,199,255,1,135,255,3,0,12, - 7,0,12,6,0,12,14,0,12,15,25,50,18,2,249,1, - 192,1,192,1,192,0,0,0,0,0,0,1,192,1,192,1, - 192,1,192,3,192,7,128,15,0,62,0,124,0,120,0,240, - 0,224,0,224,0,224,8,240,14,120,60,63,252,31,248,7, - 224,24,35,105,26,1,0,1,192,0,1,224,0,0,224,0, - 0,112,0,0,48,0,0,24,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,60,0,0,124,0,0,126,0,0,254, - 0,0,238,0,0,239,0,1,231,0,1,199,128,3,195,128, - 3,131,192,7,131,192,7,1,192,7,1,224,15,0,224,14, - 0,240,31,255,240,31,255,240,31,255,248,60,0,56,56,0, - 60,120,0,28,112,0,30,112,0,30,240,0,14,224,0,15, - 24,35,105,26,1,0,0,7,128,0,7,0,0,14,0,0, - 12,0,0,28,0,0,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,60,0,0,124,0,0,126,0,0,254,0, - 0,238,0,0,239,0,1,231,0,1,199,128,3,195,128,3, - 131,192,7,131,192,7,1,192,7,1,224,15,0,224,14,0, - 240,31,255,240,31,255,240,31,255,248,60,0,56,56,0,60, - 120,0,28,112,0,30,112,0,30,240,0,14,224,0,15,24, - 35,105,26,1,0,0,60,0,0,124,0,0,110,0,0,230, - 0,0,195,0,1,131,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,60,0,0,124,0,0,126,0,0,254,0,0, - 238,0,0,239,0,1,231,0,1,199,128,3,195,128,3,131, - 192,7,131,192,7,1,192,7,1,224,15,0,224,14,0,240, - 31,255,240,31,255,240,31,255,248,60,0,56,56,0,60,120, - 0,28,112,0,30,112,0,30,240,0,14,224,0,15,24,33, - 99,26,1,0,0,241,128,1,255,0,1,159,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0, - 124,0,0,126,0,0,254,0,0,238,0,0,239,0,1,231, - 0,1,199,128,3,195,128,3,131,192,7,131,192,7,1,192, - 7,1,224,15,0,224,14,0,240,31,255,240,31,255,240,31, - 255,248,60,0,56,56,0,60,120,0,28,112,0,30,112,0, - 30,240,0,14,224,0,15,25,33,132,25,0,0,0,225,192, - 0,0,225,192,0,0,225,192,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0, - 0,0,62,0,0,0,62,0,0,0,127,0,0,0,119,0, - 0,0,247,128,0,0,227,128,0,0,227,192,0,1,227,192, - 0,1,193,192,0,3,193,224,0,3,128,224,0,7,128,240, - 0,7,0,112,0,7,0,112,0,15,255,248,0,15,255,248, - 0,31,255,252,0,28,0,28,0,28,0,30,0,60,0,14, - 0,56,0,14,0,120,0,15,0,112,0,7,0,240,0,7, - 128,24,36,108,25,1,0,0,56,0,0,196,0,0,130,0, - 0,130,0,0,130,0,0,196,0,0,124,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,60,0,0,124,0,0,126, - 0,0,254,0,0,238,0,0,239,0,1,231,0,1,199,128, - 3,195,128,3,131,128,7,131,192,7,129,192,7,1,224,15, - 0,224,14,0,240,31,255,240,31,255,240,31,255,248,60,0, - 56,56,0,60,120,0,60,120,0,28,112,0,30,240,0,14, - 224,0,15,31,25,100,34,1,0,0,7,255,252,0,15,255, - 252,0,15,255,252,0,31,192,0,0,29,192,0,0,61,192, - 0,0,57,192,0,0,121,192,0,0,241,192,0,0,241,192, - 0,1,225,192,0,1,225,255,252,3,193,255,252,3,193,255, - 252,7,129,192,0,7,255,192,0,15,255,192,0,15,255,192, - 0,30,1,192,0,28,1,192,0,60,1,192,0,56,1,192, - 0,120,1,255,254,112,1,255,254,240,1,255,254,19,33,99, - 23,2,249,3,254,0,15,255,128,30,3,192,60,1,192,56, - 0,224,112,0,224,112,0,0,112,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,112,0,0,112,0,224,112,0,224,56, - 1,224,60,1,192,31,7,128,15,255,0,3,252,0,0,64, - 0,0,120,0,0,124,0,0,30,0,0,6,0,0,6,0, - 1,254,0,1,252,0,16,35,70,21,3,0,28,0,14,0, - 7,0,7,0,3,128,1,128,0,0,0,0,0,0,0,0, - 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, - 255,255,16,35,70,21,3,0,0,112,0,240,0,224,1,192, - 1,128,3,0,0,0,0,0,0,0,0,0,255,254,255,254, - 255,254,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,255,254,255,254,255,254,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,255,255,255,255,255,16,35, - 70,21,3,0,7,192,7,192,14,224,12,96,28,112,24,48, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,254, - 255,254,255,254,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,255,255,255,255,255,255,16,33,66,21,3,0, - 28,112,28,112,28,112,0,0,0,0,0,0,0,0,0,0, - 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, - 255,255,6,35,35,9,0,0,240,112,56,24,28,12,0,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,6,35,35,9,3, - 0,28,56,48,112,224,192,0,0,0,0,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,9,35,70,9,0,0,30,0,62,0,55,0, - 115,0,99,128,193,128,0,0,0,0,0,0,0,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 10,33,66,10,0,0,225,192,225,192,225,192,0,0,0,0, - 0,0,0,0,0,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,22,25,75,24,0,0,31,252, - 0,31,255,128,31,255,192,28,7,224,28,0,240,28,0,120, - 28,0,120,28,0,60,28,0,60,28,0,28,28,0,28,255, - 240,28,255,240,28,255,240,28,28,0,28,28,0,28,28,0, - 60,28,0,56,28,0,120,28,0,120,28,0,240,28,7,224, - 31,255,192,31,255,128,31,252,0,19,33,99,25,3,0,3, - 204,0,7,252,0,14,248,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,248,0,224,248,0,224,252,0,224, - 254,0,224,254,0,224,239,0,224,239,0,224,231,128,224,231, - 128,224,227,192,224,227,192,224,225,224,224,224,224,224,224,240, - 224,224,120,224,224,120,224,224,60,224,224,60,224,224,30,224, - 224,30,224,224,15,224,224,15,224,224,7,224,224,3,224,224, - 3,224,22,36,108,26,2,0,3,192,0,1,192,0,0,224, - 0,0,96,0,0,112,0,0,56,0,0,24,0,0,0,0, - 0,0,0,0,0,0,0,0,0,3,255,0,15,255,192,31, - 255,224,62,1,240,56,0,112,120,0,120,112,0,56,240,0, - 56,240,0,28,224,0,28,224,0,28,224,0,28,224,0,28, - 224,0,28,224,0,28,240,0,60,112,0,56,112,0,56,120, - 0,120,56,0,112,60,0,240,31,3,224,15,255,192,7,255, - 128,0,252,0,22,36,108,26,2,0,0,15,0,0,14,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,96,0,0, - 0,0,0,0,0,0,0,0,0,0,0,3,255,0,15,255, - 192,31,255,224,62,1,240,56,0,112,120,0,120,112,0,56, - 240,0,56,240,0,28,224,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,240,0,60,112,0,56,112,0, - 56,120,0,120,56,0,112,60,0,240,31,3,224,15,255,192, - 7,255,128,0,252,0,22,36,108,26,2,0,0,120,0,0, - 120,0,0,252,0,0,206,0,1,206,0,3,135,0,3,3, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,255,0, - 15,255,192,31,255,224,62,1,240,56,0,112,120,0,120,112, - 0,56,240,0,56,240,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,224,0,28,224,0,28,240,0,60,112,0,56, - 112,0,56,120,0,120,56,0,112,60,0,240,31,3,224,15, - 255,192,7,255,128,0,252,0,22,33,99,26,2,0,1,243, - 0,3,255,0,3,30,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,3,255,0,15,255,192,31,255,224,62, - 1,240,56,0,112,120,0,120,112,0,56,240,0,56,240,0, - 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,28, - 224,0,28,240,0,60,112,0,56,112,0,56,120,0,120,56, - 0,112,60,0,240,31,3,224,15,255,192,7,255,128,0,252, - 0,22,33,99,26,2,0,1,195,128,1,195,128,1,195,128, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, - 255,0,15,255,192,31,255,224,62,1,240,56,0,112,120,0, - 120,112,0,56,240,0,56,240,0,28,224,0,28,224,0,28, - 224,0,28,224,0,28,224,0,28,224,0,28,240,0,60,112, - 0,56,112,0,56,120,0,120,56,0,112,60,0,240,31,3, - 224,15,255,192,7,255,128,0,252,0,18,19,57,34,8,1, - 64,0,128,224,1,192,112,3,128,56,7,0,24,6,0,12, - 12,0,6,24,0,3,48,0,1,224,0,0,192,0,1,224, - 0,3,48,0,6,24,0,12,12,0,24,6,0,48,3,0, - 96,1,128,224,1,192,64,0,128,22,31,93,26,2,253,0, - 0,24,0,0,60,0,0,56,3,255,120,15,255,240,31,255, - 240,62,1,240,56,1,240,120,3,248,112,7,184,240,15,60, - 240,15,60,224,30,28,224,60,28,224,60,28,224,120,28,224, - 240,28,224,224,28,241,224,60,115,192,56,115,128,56,127,128, - 120,63,0,112,62,0,240,31,3,224,63,255,192,63,255,128, - 121,252,0,240,0,0,224,0,0,32,0,0,19,36,108,25, - 3,0,7,0,0,3,128,0,3,128,0,1,192,0,0,224, - 0,0,96,0,0,48,0,0,0,0,0,0,0,0,0,0, - 0,0,0,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,240,0,224,240,1,224,112,1,192,120, - 3,192,62,7,192,63,255,128,31,255,0,3,248,0,19,36, - 108,25,3,0,0,28,0,0,60,0,0,56,0,0,112,0, - 0,96,0,0,192,0,1,192,0,0,0,0,0,0,0,0, - 0,0,0,0,0,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,240,0,224,240,1,224,112,1, - 192,120,3,192,62,7,192,63,255,128,31,255,0,3,248,0, - 19,36,108,25,3,0,0,224,0,1,240,0,1,240,0,3, - 184,0,3,28,0,6,12,0,6,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,240,0,224,240,1,224, - 112,1,192,120,3,192,62,7,192,63,255,128,31,255,0,3, - 248,0,19,33,99,25,3,0,7,14,0,7,14,0,7,14, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,240,0,224,240,1,224,112,1,192,120,3,192,62, - 7,192,63,255,128,31,255,0,3,248,0,21,35,105,23,1, - 0,0,14,0,0,30,0,0,28,0,0,56,0,0,48,0, - 0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 0,120,120,0,112,120,0,240,60,1,224,30,1,224,30,3, - 192,15,3,128,15,7,128,7,135,0,3,143,0,3,206,0, - 1,252,0,1,252,0,0,248,0,0,120,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,16,25,50,21,3,0, - 224,0,224,0,224,0,224,0,255,224,255,252,255,254,224,62, - 224,15,224,7,224,7,224,7,224,7,224,7,224,15,224,62, - 255,254,255,252,255,224,224,0,224,0,224,0,224,0,224,0, - 224,0,17,25,75,19,2,0,7,224,0,31,248,0,126,124, - 0,112,60,0,240,28,0,224,28,0,224,28,0,224,56,0, - 224,248,0,225,224,0,225,192,0,225,192,0,225,224,0,225, - 240,0,224,252,0,224,63,0,224,15,0,224,7,128,224,3, - 128,224,3,128,231,3,128,227,131,128,227,231,128,225,255,0, - 224,124,0,15,27,54,19,2,0,14,0,7,0,3,128,3, - 128,1,192,0,192,0,0,0,0,0,0,15,240,63,252,60, - 60,120,30,112,14,0,14,0,14,15,254,63,254,124,14,112, - 14,224,14,224,30,224,30,240,62,120,238,63,238,15,142,15, - 28,56,19,2,0,0,112,0,224,0,224,1,192,3,128,3, - 0,6,0,0,0,0,0,0,0,15,240,63,252,60,60,120, - 30,112,14,0,14,0,14,15,254,63,254,124,14,112,14,224, - 14,224,30,224,30,240,62,120,238,63,238,15,142,15,28,56, - 19,2,0,3,192,7,192,7,224,14,224,12,112,28,48,24, - 24,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, - 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,15,25,50,19,2, - 0,15,152,31,240,25,224,0,0,0,0,0,0,0,0,15, - 240,63,252,60,60,120,30,112,14,0,14,0,14,15,254,63, - 254,124,14,112,14,224,14,224,30,224,30,240,62,120,238,63, - 238,15,142,15,25,50,19,2,0,28,56,28,56,28,56,0, - 0,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, - 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,15,29,58,19,2, - 0,3,128,12,64,8,32,8,32,8,32,12,64,7,192,0, - 0,0,0,0,0,0,0,15,240,63,252,60,124,120,30,112, - 30,0,30,0,30,15,254,63,254,124,14,112,14,224,14,224, - 30,224,30,240,62,120,238,63,238,15,142,27,18,72,31,2, - 0,15,224,126,0,63,241,255,0,124,121,199,128,112,31,129, - 192,112,15,1,192,0,15,0,224,0,14,0,224,15,255,255, - 224,63,255,255,224,124,14,0,0,240,14,0,0,224,14,0, - 0,224,31,0,224,224,27,1,192,240,59,131,192,124,241,239, - 128,63,225,255,128,31,192,126,0,14,26,52,18,2,248,15, - 224,63,248,60,120,112,60,112,28,240,28,224,0,224,0,224, - 0,224,0,224,0,224,0,240,28,112,28,112,60,60,120,31, - 240,7,224,1,0,1,224,1,240,0,120,0,24,0,24,7, - 240,7,224,16,28,56,19,2,0,28,0,14,0,14,0,7, - 0,3,128,1,128,0,192,0,0,0,0,0,0,7,224,31, - 248,60,124,120,30,112,14,240,14,224,14,255,254,255,255,224, - 0,224,0,224,0,112,14,112,14,120,30,62,124,31,248,7, - 224,16,28,56,19,2,0,0,120,0,240,0,224,1,192,1, - 128,3,128,3,0,0,0,0,0,0,0,7,224,31,248,60, - 124,120,30,112,14,240,14,224,14,255,254,255,255,224,0,224, - 0,224,0,112,14,112,14,120,30,62,124,31,248,7,224,16, - 28,56,19,2,0,3,192,7,192,7,224,14,224,12,112,24, - 48,24,24,0,0,0,0,0,0,7,224,31,248,60,124,120, - 30,112,14,240,14,224,14,255,254,255,255,224,0,224,0,224, - 0,112,14,112,14,120,30,62,124,31,248,7,224,16,25,50, - 19,2,0,28,56,28,56,28,56,0,0,0,0,0,0,0, - 0,7,224,31,248,60,60,120,14,112,14,240,14,224,6,255, - 254,255,255,224,0,224,0,224,0,112,14,112,14,120,30,62, - 60,31,248,7,224,6,27,27,8,255,0,240,112,56,24,28, - 12,0,0,0,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,6,27,27,8,2,0,28,56,112,112, - 224,192,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,9,27,54,8,255,0,62,0,62, - 0,119,0,115,0,227,128,193,128,0,0,0,0,0,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,10,25,50,8,255,0,227,192,227,192,227,192,0, - 0,0,0,0,0,0,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,17,26,78,21,2, - 0,16,4,0,56,28,0,30,248,0,7,192,0,15,192,0, - 60,240,0,112,120,0,0,60,0,7,252,0,31,254,0,62, - 63,0,120,15,0,112,7,0,240,7,128,240,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,240,7,0, - 112,7,0,120,15,0,62,62,0,31,252,0,7,240,0,15, - 25,50,19,2,0,15,48,31,240,27,224,0,0,0,0,0, - 0,0,0,227,240,239,248,252,124,248,30,240,30,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,17,28,84,21,2,0,14,0,0, - 15,0,0,7,0,0,3,128,0,1,128,0,0,192,0,0, - 224,0,0,0,0,0,0,0,0,0,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,17,28,84,21,2,0,0,56,0,0,120,0,0,112,0, - 0,224,0,0,192,0,1,128,0,3,0,0,0,0,0,0, - 0,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, - 0,112,7,0,240,7,0,240,7,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,7,128,240,7,128,112,7,0,120, - 15,0,62,62,0,31,252,0,7,240,0,17,28,84,21,2, - 0,1,192,0,3,224,0,3,224,0,7,112,0,14,56,0, - 12,24,0,28,28,0,0,0,0,0,0,0,0,0,0,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 0,240,7,128,224,3,128,224,3,128,224,3,128,224,3,128, - 240,7,128,240,7,128,112,7,0,120,15,0,62,62,0,31, - 252,0,7,240,0,17,25,75,21,2,0,7,152,0,15,248, - 0,12,240,0,0,0,0,0,0,0,0,0,0,0,0,0, - 7,240,0,31,252,0,62,62,0,120,15,0,112,7,0,240, - 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, - 128,240,7,128,240,7,128,112,7,0,120,15,0,62,62,0, - 31,252,0,7,240,0,17,25,75,21,2,0,28,56,0,28, - 56,0,28,56,0,0,0,0,0,0,0,0,0,0,0,0, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,240,7,128,240,7,128,112,7,0,120,15,0,62,62, - 0,31,252,0,7,240,0,20,15,45,34,7,3,0,96,0, - 0,240,0,0,240,0,0,96,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,0,0,0,0,0,0,0,96, - 0,0,240,0,0,240,0,0,96,0,17,23,69,21,2,254, - 0,1,0,0,1,128,0,3,128,7,247,0,31,254,0,62, - 62,0,120,31,0,112,63,0,240,55,128,240,119,128,224,227, - 128,225,195,128,225,131,128,227,131,128,231,7,128,254,7,128, - 124,7,0,124,15,0,62,62,0,127,252,0,103,240,0,224, - 0,0,192,0,0,15,28,56,19,2,0,28,0,30,0,14, - 0,7,0,3,0,1,128,1,128,0,0,0,0,0,0,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,240,30,124,126,63, - 238,31,142,15,28,56,19,2,0,0,112,0,240,0,224,1, - 192,1,128,3,0,7,0,0,0,0,0,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,30,124,126,63,238,31, - 142,15,28,56,19,2,0,3,128,7,192,7,192,14,224,12, - 96,24,48,24,48,0,0,0,0,0,0,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,240,30,240,30,124,126,63,238,31,142,15, - 25,50,19,2,0,56,112,56,112,56,112,0,0,0,0,0, - 0,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,240,30,240, - 62,124,126,63,238,31,142,16,34,68,18,1,249,0,56,0, - 112,0,96,0,224,1,192,1,128,0,0,0,0,0,0,224, - 7,240,7,112,15,112,14,120,14,56,30,60,28,28,28,28, - 60,30,56,14,120,15,112,7,112,7,240,7,224,3,224,3, - 224,1,192,1,192,3,128,3,128,231,128,255,0,127,0,62, - 0,16,32,64,20,2,249,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,227,240,231,248,254,60,248,30,240,14,240, - 15,224,7,224,7,224,7,224,7,224,7,224,7,240,15,240, - 14,248,30,254,124,239,248,227,240,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,16,32,64,18,1,249,28,56,28, - 56,28,56,0,0,0,0,0,0,0,0,224,7,224,7,240, - 15,112,14,120,14,56,30,60,28,60,28,28,56,30,56,14, - 120,15,112,15,112,7,240,7,224,3,224,3,192,3,192,3, - 192,3,128,3,128,7,128,7,0,7,0,15,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=20 h=28 x= 7 y=12 dx=34 dy= 0 ascent=26 len=75 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25n[798] U8G_FONT_SECTION("u8g_font_fur25n") = { - 0,46,45,254,247,25,0,0,0,0,42,58,0,26,252,25, - 0,14,13,26,22,4,12,24,96,28,224,28,224,12,192,7, - 128,243,60,255,252,231,156,7,128,12,192,28,224,60,224,24, - 96,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,6,9,9,9,2,252,60,120,120,112, - 112,224,224,224,192,8,3,3,10,1,7,255,255,255,3,4, - 4,9,3,0,224,224,224,224,10,28,56,13,2,254,0,192, - 1,192,1,128,1,128,3,128,3,0,3,0,3,0,7,0, - 6,0,6,0,14,0,12,0,12,0,28,0,28,0,24,0, - 24,0,56,0,48,0,48,0,112,0,112,0,96,0,96,0, - 224,0,192,0,192,0,15,25,50,19,2,1,15,224,63,248, - 62,248,120,60,112,28,112,30,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,240,14, - 112,30,112,28,120,28,60,60,63,248,31,240,7,192,8,25, - 25,19,5,0,15,31,63,127,255,231,135,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,15,25,50, - 19,2,1,15,240,63,248,62,252,120,28,120,30,112,14,240, - 14,0,14,0,30,0,28,0,60,0,120,0,120,0,240,1, - 224,3,192,7,128,15,0,31,0,62,0,60,0,120,0,240, - 0,255,254,255,254,16,25,50,19,2,1,15,240,63,248,60, - 28,120,14,112,14,112,14,0,14,0,14,0,28,0,120,3, - 240,3,240,0,248,0,30,0,14,0,15,0,7,0,7,240, - 7,240,7,240,14,120,30,60,124,31,248,7,224,17,25,75, - 19,1,0,0,60,0,0,124,0,0,124,0,0,252,0,1, - 220,0,1,220,0,3,156,0,7,28,0,7,28,0,14,28, - 0,28,28,0,60,28,0,56,28,0,112,28,0,240,28,0, - 224,28,0,255,255,128,255,255,128,255,255,128,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,15,25, - 50,19,2,0,127,252,127,252,127,252,112,0,112,0,112,0, - 112,0,112,0,115,240,127,248,124,60,120,28,112,30,96,14, - 0,14,0,14,0,14,0,14,0,14,224,30,240,28,112,60, - 124,120,63,240,15,192,16,25,50,19,1,1,15,240,31,252, - 60,28,120,30,112,14,240,14,224,0,224,0,224,0,227,240, - 231,252,239,252,252,30,248,14,240,15,240,7,240,7,240,7, - 240,7,112,7,120,14,56,14,62,60,15,248,7,224,15,25, - 50,19,2,0,255,254,255,254,0,14,0,30,0,28,0,28, - 0,60,0,56,0,56,0,120,0,112,0,240,0,240,0,224, - 1,224,1,224,1,192,3,192,3,128,7,128,7,128,7,0, - 15,0,15,0,14,0,16,25,50,19,1,1,15,240,63,252, - 60,60,120,30,112,14,112,14,112,14,112,14,56,28,60,60, - 15,240,15,240,62,56,56,28,112,14,224,7,224,7,224,7, - 224,7,224,7,240,15,120,14,60,60,31,248,7,224,16,25, - 50,19,2,1,31,248,63,252,120,30,112,14,240,15,224,15, - 224,15,224,15,224,15,240,15,112,31,120,63,63,247,15,231, - 0,7,0,7,0,7,0,14,112,14,112,14,112,30,112,60, - 60,120,31,240,15,224,3,18,18,9,3,0,224,224,224,224, - 0,0,0,0,0,0,0,0,0,0,224,224,224,224}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 25, '1' Height: 25 - Calculated Max Values w=31 h=37 x= 8 y=21 dx=34 dy= 0 ascent=28 len=120 - Font Bounding box w=46 h=45 x=-2 y=-9 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur25r[5389] U8G_FONT_SECTION("u8g_font_fur25r") = { - 0,46,45,254,247,25,6,119,15,27,32,127,249,28,247,25, - 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, - 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, - 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, - 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, - 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, - 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, - 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, - 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, - 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, - 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, - 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, - 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, - 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, - 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, - 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, - 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, - 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, - 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, - 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, - 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, - 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, - 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, - 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, - 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, - 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, - 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, - 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, - 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, - 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, - 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, - 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, - 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, - 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, - 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, - 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, - 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, - 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, - 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, - 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, - 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, - 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, - 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, - 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, - 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, - 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, - 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, - 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, - 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, - 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, - 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, - 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, - 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, - 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, - 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, - 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, - 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, - 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, - 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, - 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, - 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, - 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, - 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, - 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, - 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, - 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, - 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, - 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, - 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, - 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, - 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, - 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, - 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, - 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, - 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, - 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, - 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, - 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, - 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, - 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, - 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, - 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, - 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, - 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, - 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, - 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, - 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, - 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, - 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, - 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, - 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, - 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, - 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, - 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, - 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, - 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, - 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, - 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, - 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, - 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, - 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, - 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, - 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, - 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, - 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, - 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, - 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, - 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, - 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, - 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, - 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, - 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, - 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, - 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, - 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, - 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, - 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, - 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, - 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, - 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, - 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, - 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, - 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, - 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, - 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, - 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, - 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, - 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, - 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, - 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, - 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, - 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, - 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, - 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, - 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, - 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, - 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, - 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, - 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, - 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, - 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, - 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, - 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, - 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, - 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, - 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, - 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, - 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, - 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, - 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, - 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, - 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, - 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, - 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, - 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, - 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, - 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, - 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, - 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, - 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, - 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, - 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, - 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, - 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, - 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, - 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, - 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, - 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, - 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, - 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, - 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, - 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, - 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, - 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, - 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, - 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, - 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, - 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, - 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, - 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, - 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, - 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, - 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, - 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, - 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, - 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, - 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, - 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, - 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, - 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, - 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, - 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, - 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, - 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, - 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, - 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, - 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, - 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, - 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, - 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, - 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, - 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, - 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, - 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, - 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, - 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, - 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, - 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, - 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, - 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, - 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, - 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, - 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, - 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, - 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, - 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, - 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, - 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, - 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, - 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, - 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, - 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, - 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, - 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, - 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, - 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, - 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, - 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, - 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, - 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, - 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, - 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, - 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, - 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, - 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, - 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, - 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, - 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, - 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, - 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, - 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, - 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, - 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, - 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, - 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, - 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, - 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, - 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, - 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, - 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, - 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, - 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, - 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, - 31,1,192,63,231,128,121,255,0,224,62,0,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=37 h=43 x=10 y=26 dx=40 dy= 0 ascent=43 len=185 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =43 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30[16505] U8G_FONT_SECTION("u8g_font_fur30") = { - 0,54,54,253,245,30,9,94,20,223,32,255,249,43,245,31, - 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, - 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, - 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, - 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, - 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, - 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, - 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, - 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, - 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, - 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, - 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, - 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, - 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, - 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, - 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, - 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, - 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, - 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, - 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, - 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, - 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, - 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, - 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, - 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, - 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, - 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, - 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, - 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, - 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, - 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, - 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, - 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, - 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, - 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, - 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, - 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, - 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, - 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, - 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, - 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, - 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, - 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, - 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, - 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, - 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, - 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, - 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, - 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, - 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, - 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, - 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, - 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, - 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, - 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, - 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, - 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, - 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, - 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, - 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, - 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, - 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, - 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, - 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, - 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, - 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, - 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, - 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, - 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, - 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, - 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, - 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, - 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, - 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, - 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, - 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, - 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, - 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, - 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, - 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, - 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, - 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, - 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, - 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, - 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, - 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, - 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, - 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, - 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, - 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, - 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, - 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, - 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, - 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, - 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, - 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, - 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, - 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, - 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, - 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, - 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, - 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, - 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, - 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, - 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, - 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, - 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, - 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, - 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, - 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, - 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, - 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, - 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, - 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, - 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, - 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, - 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, - 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, - 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, - 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, - 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, - 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, - 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, - 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, - 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, - 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, - 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, - 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, - 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, - 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, - 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, - 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, - 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, - 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, - 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, - 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, - 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, - 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, - 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, - 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, - 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, - 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, - 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, - 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, - 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, - 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, - 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, - 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, - 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, - 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, - 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, - 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, - 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, - 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, - 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, - 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, - 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, - 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, - 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, - 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, - 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, - 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, - 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, - 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, - 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, - 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, - 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, - 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, - 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, - 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, - 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, - 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, - 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, - 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, - 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, - 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, - 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, - 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, - 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, - 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, - 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, - 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, - 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, - 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, - 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, - 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, - 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, - 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, - 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, - 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, - 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, - 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, - 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, - 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, - 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, - 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, - 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, - 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, - 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, - 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, - 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, - 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, - 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, - 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, - 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, - 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, - 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, - 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, - 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, - 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, - 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, - 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, - 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, - 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, - 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, - 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, - 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, - 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, - 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, - 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, - 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, - 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, - 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, - 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, - 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, - 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, - 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, - 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, - 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, - 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, - 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, - 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, - 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, - 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, - 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, - 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, - 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, - 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, - 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, - 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, - 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, - 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, - 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, - 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, - 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, - 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, - 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, - 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, - 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, - 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, - 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, - 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, - 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, - 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, - 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, - 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, - 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, - 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, - 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, - 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, - 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, - 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, - 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, - 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, - 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, - 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, - 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, - 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, - 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, - 240,15,128,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,12,0,0,4,28,28,14,5,248, - 240,240,240,240,0,0,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,17,31,93,23, - 3,250,0,12,0,0,12,0,0,24,0,0,24,0,0,24, - 0,15,248,0,63,254,0,62,63,0,120,119,0,120,103,0, - 240,103,128,240,96,0,240,192,0,240,192,0,240,192,0,241, - 128,0,241,128,0,241,128,0,243,7,128,243,7,128,123,7, - 0,126,15,0,62,30,0,31,254,0,15,248,0,12,0,0, - 12,0,0,28,0,0,24,0,0,24,0,0,8,0,0,20, - 31,93,23,2,0,0,16,0,1,255,0,7,255,192,15,135, - 224,15,1,224,30,0,240,30,0,240,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,248,0,255,248,0,255, - 248,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,255,224,255,255,224,255, - 255,224,21,22,66,25,2,7,192,0,24,224,0,56,96,48, - 48,51,254,96,63,255,224,31,7,192,28,1,192,24,0,192, - 56,0,224,48,0,96,48,0,96,48,0,96,48,0,96,56, - 0,224,24,0,192,28,1,192,14,3,128,31,255,192,59,254, - 224,112,248,112,224,0,56,192,0,24,21,30,90,23,1,0, - 240,0,120,248,0,120,120,0,240,124,0,240,60,1,240,62, - 1,224,30,1,224,30,3,192,15,3,192,15,7,128,255,135, - 248,255,143,248,255,207,248,3,207,0,1,254,0,1,252,0, - 255,255,248,255,255,248,255,255,248,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,2,38,38,14,6,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 0,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,15,37,74,19,2,250,15,248,31,248, - 62,24,60,0,120,0,120,0,120,0,120,0,60,0,63,0, - 31,128,15,224,15,240,63,248,124,124,120,62,240,30,240,30, - 240,30,240,60,248,120,127,240,63,224,31,224,7,240,1,248, - 0,124,0,60,0,30,0,30,0,30,0,28,0,60,96,248, - 127,240,127,224,3,0,12,4,8,12,0,26,240,240,240,240, - 240,240,240,240,30,30,120,34,2,1,0,63,240,0,0,255, - 252,0,3,240,63,0,7,128,7,128,15,0,3,192,28,3, - 0,224,56,63,240,112,56,127,248,112,112,248,124,56,97,240, - 30,24,97,224,30,24,225,224,30,28,195,192,0,12,195,192, - 0,12,195,192,0,12,195,192,0,12,195,192,0,12,195,192, - 0,12,193,192,30,12,97,224,30,24,97,224,30,24,96,240, - 60,56,48,255,252,48,56,63,248,112,28,15,224,224,14,0, - 1,192,7,0,3,128,3,192,15,0,1,255,252,0,0,63, - 240,0,14,19,38,16,1,11,15,192,63,240,56,120,112,56, - 0,56,0,56,15,248,63,248,120,56,224,56,224,56,224,120, - 240,248,127,184,31,56,0,0,0,0,255,252,255,252,16,16, - 32,22,3,2,7,7,15,14,14,14,28,28,60,60,56,120, - 120,112,240,240,240,240,120,112,56,120,60,60,28,28,14,14, - 15,14,7,7,21,10,30,25,2,8,255,255,248,255,255,248, - 255,255,248,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,255,30,30,120,34,2,1,0, - 63,240,0,0,255,252,0,3,240,63,0,7,128,7,128,14, - 0,1,192,28,127,240,224,56,127,248,112,48,127,252,48,112, - 112,30,56,96,112,14,24,96,112,14,24,192,112,14,12,192, - 112,28,12,192,127,248,12,192,127,240,12,192,127,248,12,192, - 112,28,12,192,112,28,12,192,112,28,12,96,112,12,24,96, - 112,12,24,112,112,14,56,48,112,14,48,56,112,14,112,28, - 0,0,224,14,0,1,192,7,128,7,128,3,240,63,0,1, - 255,252,0,0,63,240,0,12,3,6,12,0,26,255,240,255, - 240,255,240,9,9,18,13,2,21,62,0,127,0,227,128,193, - 128,193,128,193,128,227,128,127,0,62,0,24,24,72,40,8, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,255,255,255,255,255,255,255,255,255,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,12,16,32,14,1,15,31, - 192,127,224,120,240,112,112,224,112,0,112,0,224,1,224,3, - 192,7,128,14,0,60,0,120,0,255,240,255,240,255,240,12, - 16,32,14,1,15,63,192,127,224,112,240,96,112,0,112,0, - 240,7,224,7,128,7,224,0,240,0,112,224,112,224,112,127, - 224,127,192,31,128,8,7,7,9,2,25,15,30,28,56,56, - 112,224,255,18,36,108,22,2,250,3,255,192,15,255,192,63, - 195,0,127,195,0,127,195,0,255,195,0,255,195,0,255,195, - 0,255,195,0,255,195,0,255,195,0,127,195,0,127,195,0, - 63,195,0,15,195,0,0,195,0,0,195,0,0,195,0,0, - 195,0,0,195,0,0,195,0,0,195,0,0,195,0,0,195, - 0,0,195,0,0,195,0,0,195,0,0,195,0,0,195,0, - 0,195,0,0,195,0,0,195,0,0,195,0,0,195,0,0, - 195,0,0,195,0,4,5,5,10,3,11,240,240,240,240,240, - 10,10,20,10,2,246,48,0,48,0,62,0,63,128,7,128, - 1,192,1,192,3,192,255,128,254,0,7,16,16,12,2,14, - 30,62,254,238,142,14,14,14,14,14,14,14,14,14,14,14, - 14,19,38,16,1,10,15,192,63,224,120,112,112,56,224,56, - 224,28,224,28,224,28,224,28,224,28,224,56,112,56,56,112, - 31,224,7,128,0,0,0,0,255,252,255,252,16,16,32,22, - 3,2,224,224,112,112,120,120,56,56,28,60,30,30,15,14, - 15,15,15,15,15,14,30,30,28,60,56,56,120,120,112,112, - 224,224,28,30,120,32,2,0,30,0,12,0,62,0,28,0, - 254,0,56,0,238,0,56,0,142,0,112,0,14,0,112,0, - 14,0,224,0,14,0,192,0,14,1,192,0,14,3,128,0, - 14,3,128,0,14,7,0,0,14,7,0,0,14,14,0,0, - 14,12,7,128,14,28,7,128,0,56,15,128,0,56,31,128, - 0,112,27,128,0,112,59,128,0,224,115,128,0,224,99,128, - 1,192,195,128,1,129,195,128,3,129,255,240,7,1,255,240, - 7,0,3,128,14,0,3,128,14,0,3,128,28,0,3,128, - 28,30,120,32,2,0,30,0,28,0,62,0,28,0,254,0, - 56,0,238,0,56,0,142,0,112,0,14,0,112,0,14,0, - 224,0,14,0,224,0,14,1,192,0,14,3,128,0,14,3, - 128,0,14,7,0,0,14,7,0,0,14,14,0,0,14,14, - 31,128,14,28,63,224,0,56,121,224,0,56,112,112,0,112, - 240,112,0,112,0,112,0,224,0,240,0,224,0,224,1,192, - 3,192,1,128,7,128,3,128,15,0,7,0,60,0,7,0, - 120,0,14,0,255,240,14,0,255,240,28,0,255,240,30,31, - 124,32,1,0,0,0,1,192,63,192,3,128,127,224,3,128, - 112,240,7,0,96,112,6,0,0,112,14,0,0,240,28,0, - 7,224,28,0,7,128,56,0,7,224,56,0,0,240,112,0, - 0,112,112,0,224,112,224,0,224,113,192,0,127,225,192,0, - 127,195,129,224,31,131,129,224,0,7,3,224,0,7,7,224, - 0,14,6,224,0,12,12,224,0,28,28,224,0,56,24,224, - 0,56,48,224,0,112,112,224,0,112,127,252,0,224,127,252, - 0,224,0,224,1,192,0,224,1,128,0,224,3,128,0,224, - 17,28,84,21,2,248,0,240,0,0,240,0,0,240,0,0, - 240,0,0,0,0,0,0,0,0,0,0,0,240,0,0,240, - 0,0,240,0,0,240,0,1,240,0,1,224,0,7,192,0, - 15,128,0,31,0,0,60,0,0,120,0,0,240,0,0,240, - 0,0,240,0,0,240,3,0,240,3,128,124,15,128,127,255, - 0,63,254,0,31,252,0,3,240,0,28,41,164,30,1,0, - 0,240,0,0,0,240,0,0,0,120,0,0,0,56,0,0, - 0,28,0,0,0,14,0,0,0,14,0,0,0,7,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0, - 0,31,128,0,0,31,128,0,0,63,192,0,0,63,192,0, - 0,127,192,0,0,121,224,0,0,121,224,0,0,241,240,0, - 0,240,240,0,1,240,240,0,1,224,248,0,1,224,120,0, - 3,224,124,0,3,192,60,0,7,192,60,0,7,128,62,0, - 7,128,30,0,15,128,31,0,15,255,255,0,31,255,255,128, - 31,255,255,128,30,0,7,128,60,0,3,192,60,0,3,192, - 124,0,3,224,120,0,1,224,120,0,1,224,240,0,0,240, - 240,0,0,240,28,41,164,30,1,0,0,0,240,0,0,0, - 240,0,0,1,224,0,0,1,192,0,0,3,128,0,0,7, - 0,0,0,7,0,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,15,0,0,0,31,128,0,0,31, - 128,0,0,63,192,0,0,63,192,0,0,127,192,0,0,121, - 224,0,0,121,224,0,0,241,240,0,0,240,240,0,1,240, - 240,0,1,224,248,0,1,224,120,0,3,224,124,0,3,192, - 60,0,7,192,60,0,7,128,62,0,7,128,30,0,15,128, - 31,0,15,255,255,0,31,255,255,128,31,255,255,128,30,0, - 7,128,60,0,3,192,60,0,3,192,124,0,3,224,120,0, - 1,224,120,0,1,224,240,0,0,240,240,0,0,240,28,41, - 164,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,57,192,0,0,112,224,0,0,96,96,0, - 0,224,112,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,15,0,0,0,31,128,0,0,31,128,0,0,63,192,0, - 0,63,192,0,0,127,192,0,0,121,224,0,0,121,224,0, - 0,241,240,0,0,240,240,0,1,240,240,0,1,224,248,0, - 1,224,120,0,3,224,124,0,3,192,60,0,7,192,60,0, - 7,128,62,0,7,128,30,0,15,128,31,0,15,255,255,0, - 31,255,255,128,31,255,255,128,30,0,7,128,60,0,3,192, - 60,0,3,192,124,0,3,224,120,0,1,224,120,0,1,224, - 240,0,0,240,240,0,0,240,28,39,156,30,1,0,0,16, - 48,0,0,126,112,0,0,127,224,0,0,231,224,0,0,192, - 128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,15,0,0,0,31,128,0,0,31,128,0,0,63, - 192,0,0,63,192,0,0,127,192,0,0,121,224,0,0,121, - 224,0,0,241,240,0,0,240,240,0,1,240,240,0,1,224, - 248,0,1,224,120,0,3,224,124,0,3,192,60,0,7,192, - 60,0,7,128,62,0,7,128,30,0,15,128,31,0,15,255, - 255,0,31,255,255,128,31,255,255,128,30,0,7,128,60,0, - 3,192,60,0,3,192,124,0,3,224,120,0,1,224,120,0, - 1,224,240,0,0,240,240,0,0,240,29,39,156,30,1,0, - 0,120,120,0,0,120,120,0,0,120,120,0,0,120,120,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,128,0,0,15,128,0,0,31,128,0, - 0,31,192,0,0,63,192,0,0,61,224,0,0,125,224,0, - 0,121,240,0,0,120,240,0,0,240,240,0,0,240,248,0, - 1,240,120,0,1,224,124,0,1,224,60,0,3,224,60,0, - 3,192,62,0,7,192,30,0,7,128,31,0,7,128,15,0, - 15,255,255,128,15,255,255,128,31,255,255,128,30,0,3,192, - 30,0,3,192,60,0,3,224,60,0,1,224,120,0,1,224, - 120,0,0,240,120,0,0,240,240,0,0,248,28,43,172,30, - 1,0,0,14,0,0,0,63,0,0,0,49,128,0,0,96, - 192,0,0,96,192,0,0,96,192,0,0,96,192,0,0,49, - 128,0,0,63,128,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,31,0,0,0,31,0,0,0,31, - 128,0,0,63,128,0,0,63,192,0,0,123,192,0,0,123, - 192,0,0,121,224,0,0,241,224,0,0,241,240,0,1,224, - 240,0,1,224,248,0,1,224,120,0,3,192,120,0,3,192, - 124,0,7,192,60,0,7,128,62,0,15,128,30,0,15,0, - 30,0,15,255,255,0,31,255,255,0,31,255,255,128,60,0, - 7,128,60,0,7,192,60,0,3,192,120,0,3,192,120,0, - 1,224,240,0,1,224,240,0,1,240,240,0,0,240,37,30, - 150,39,0,0,0,1,255,255,240,0,1,255,255,240,0,3, - 255,255,240,0,3,255,255,240,0,7,252,0,0,0,7,188, - 0,0,0,15,188,0,0,0,15,60,0,0,0,31,60,0, - 0,0,30,60,0,0,0,62,60,0,0,0,60,60,0,0, - 0,124,60,0,0,0,120,63,255,240,0,248,63,255,240,0, - 240,63,255,240,1,240,63,255,240,1,224,60,0,0,3,224, - 60,0,0,3,255,252,0,0,7,255,252,0,0,7,255,252, - 0,0,15,0,60,0,0,31,0,60,0,0,30,0,60,0, - 0,62,0,60,0,0,60,0,63,255,248,124,0,63,255,248, - 120,0,63,255,248,248,0,63,255,248,22,40,120,26,2,247, - 1,255,128,7,255,224,15,255,240,31,0,248,62,0,120,60, - 0,60,120,0,60,120,0,60,120,0,0,112,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,112, - 0,0,120,0,60,120,0,60,60,0,60,60,0,120,31,0, - 248,15,255,240,7,255,224,3,255,128,0,48,0,0,48,0, - 0,62,0,0,63,128,0,63,192,0,1,192,0,1,192,0, - 1,192,0,255,128,0,254,0,19,41,123,24,3,0,30,0, - 0,15,0,0,7,0,0,3,128,0,3,128,0,1,192,0, - 0,224,0,0,96,0,0,0,0,0,0,0,0,0,0,255, - 255,192,255,255,192,255,255,192,255,255,192,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,255,255,192,255,255,192,255,255,192,255, - 255,192,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,255,255,224, - 255,255,224,255,255,224,255,255,224,19,41,123,24,3,0,0, - 30,0,0,60,0,0,56,0,0,120,0,0,240,0,0,224, - 0,1,192,0,1,128,0,0,0,0,0,0,0,0,0,0, - 255,255,192,255,255,192,255,255,192,255,255,192,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 255,255,192,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,255,255, - 224,255,255,224,255,255,224,255,255,224,19,41,123,24,3,0, - 1,224,0,3,240,0,7,240,0,7,120,0,15,56,0,14, - 28,0,28,28,0,24,14,0,0,0,0,0,0,0,0,0, - 0,255,255,192,255,255,192,255,255,192,255,255,192,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,255,255,192,255,255,192,255,255, - 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,255, - 255,224,255,255,224,255,255,224,255,255,224,19,39,117,24,3, - 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,192,255, - 255,192,255,255,192,255,255,192,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,255,255,192,255,255,192,255,255,192,255,255,192,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,255,255,224,255,255,224, - 255,255,224,255,255,224,8,41,41,10,255,0,240,120,56,28, - 30,14,7,3,0,0,0,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,7,41,41,10,3,0,30,30,60,56,112, - 112,224,192,0,0,0,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,12,41,82,10,255,0,15,0,31,0,31,128, - 63,128,57,192,112,224,96,224,224,112,0,0,0,0,0,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,12,39,78,11, - 0,0,240,240,240,240,240,240,240,240,0,0,0,0,0,0, - 0,0,0,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 26,30,120,28,0,0,31,255,0,0,31,255,224,0,31,255, - 248,0,31,255,252,0,30,0,254,0,30,0,63,0,30,0, - 31,0,30,0,15,128,30,0,7,128,30,0,7,128,30,0, - 3,192,30,0,3,192,30,0,3,192,30,0,3,192,255,252, - 3,192,255,252,3,192,255,252,3,192,30,0,3,192,30,0, - 3,192,30,0,3,192,30,0,7,128,30,0,7,128,30,0, - 15,128,30,0,31,0,30,0,63,0,30,0,254,0,31,255, - 252,0,31,255,248,0,31,255,224,0,31,255,0,0,22,39, - 117,28,3,0,0,131,0,3,243,0,7,255,0,7,62,0, - 6,8,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 0,60,252,0,60,254,0,60,254,0,60,255,0,60,255,0, - 60,255,128,60,247,128,60,247,192,60,243,192,60,243,224,60, - 241,224,60,241,240,60,240,240,60,240,248,60,240,120,60,240, - 124,60,240,60,60,240,62,60,240,30,60,240,31,60,240,15, - 60,240,15,188,240,7,188,240,3,252,240,3,252,240,1,252, - 240,1,252,240,0,252,240,0,252,26,41,164,30,2,0,1, - 224,0,0,0,240,0,0,0,120,0,0,0,56,0,0,0, - 28,0,0,0,28,0,0,0,14,0,0,0,7,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,1,255,224,0,3, - 255,240,0,15,255,252,0,31,255,254,0,31,0,62,0,62, - 0,31,0,60,0,15,0,120,0,7,128,120,0,7,128,112, - 0,3,128,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,112,0,3,128,120,0,7,128,120, - 0,7,128,120,0,15,128,60,0,15,0,62,0,31,0,31, - 128,126,0,15,255,252,0,7,255,248,0,3,255,240,0,0, - 255,192,0,26,41,164,30,2,0,0,1,224,0,0,3,192, - 0,0,7,128,0,0,7,0,0,0,15,0,0,0,14,0, - 0,0,28,0,0,0,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,255,224,0,3,255,240,0,15,255,252, - 0,31,255,254,0,31,0,62,0,62,0,31,0,60,0,15, - 0,120,0,7,128,120,0,7,128,112,0,3,128,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,112,0,3,128,120,0,7,128,120,0,7,128,120,0,15, - 128,60,0,15,0,62,0,31,0,31,128,126,0,15,255,252, - 0,7,255,248,0,3,255,240,0,0,255,192,0,26,41,164, - 30,2,0,0,30,0,0,0,63,0,0,0,63,0,0,0, - 127,128,0,0,115,128,0,0,225,192,0,0,192,224,0,1, - 192,96,0,0,0,0,0,0,0,0,0,0,0,0,0,1, - 255,224,0,3,255,240,0,15,255,252,0,31,255,254,0,31, - 0,62,0,62,0,31,0,60,0,15,0,120,0,7,128,120, - 0,7,128,112,0,3,128,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,112,0,3,128,120, - 0,7,128,120,0,7,128,120,0,15,128,60,0,15,0,62, - 0,31,0,31,128,126,0,15,255,252,0,7,255,248,0,3, - 255,240,0,0,255,192,0,26,39,156,30,2,0,0,32,96, - 0,0,252,224,0,0,255,224,0,1,207,192,0,1,129,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,255,224,0,3,255,240,0,15,255,252,0,31,255,254, - 0,31,0,62,0,62,0,31,0,60,0,15,0,120,0,7, - 128,120,0,7,128,112,0,3,128,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, - 192,240,0,3,192,240,0,3,192,240,0,3,192,112,0,3, - 128,120,0,7,128,120,0,7,128,120,0,15,128,60,0,15, - 0,62,0,31,0,31,128,126,0,15,255,252,0,7,255,248, - 0,3,255,240,0,0,255,192,0,26,39,156,30,2,0,0, - 240,240,0,0,240,240,0,0,240,240,0,0,240,240,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,255,224,0,3,255,240,0,15,255,252,0,31, - 255,254,0,31,0,62,0,62,0,31,0,60,0,15,0,120, - 0,7,128,120,0,7,128,112,0,3,128,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, - 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,112, - 0,3,128,120,0,7,128,120,0,7,128,120,0,15,128,60, - 0,15,0,62,0,31,0,31,128,126,0,15,255,252,0,7, - 255,248,0,3,255,240,0,0,255,192,0,22,22,66,40,9, - 1,96,0,24,240,0,60,120,0,120,56,0,112,28,0,224, - 14,1,192,7,3,128,3,135,0,1,206,0,0,252,0,0, - 120,0,0,120,0,0,252,0,1,206,0,3,135,0,7,3, - 128,14,1,192,28,0,224,56,0,112,112,0,56,96,0,24, - 64,0,8,26,38,152,30,2,252,0,0,1,0,0,0,3, - 128,0,0,3,192,0,0,7,128,0,255,199,128,3,255,255, - 0,15,255,255,0,31,255,254,0,31,0,62,0,62,0,127, - 0,124,0,127,0,120,0,255,128,120,1,247,128,240,1,227, - 128,240,3,195,192,240,7,195,192,240,7,131,192,240,15,3, - 192,240,31,3,192,240,30,3,192,240,60,3,192,240,124,3, - 192,240,248,3,192,112,240,3,192,121,240,7,128,123,224,7, - 128,127,192,15,128,63,192,15,0,63,128,31,0,31,128,126, - 0,31,255,252,0,31,255,248,0,63,255,240,0,124,255,192, - 0,120,0,0,0,240,0,0,0,112,0,0,0,32,0,0, - 0,23,41,123,29,3,0,3,192,0,1,192,0,1,224,0, - 0,240,0,0,112,0,0,56,0,0,24,0,0,28,0,0, - 0,0,0,0,0,0,0,0,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,120,0,60,120,0,60, - 124,0,124,62,0,248,63,255,248,31,255,240,15,255,224,3, - 255,128,23,41,123,29,3,0,0,7,128,0,7,0,0,15, - 0,0,30,0,0,28,0,0,56,0,0,48,0,0,112,0, - 0,0,0,0,0,0,0,0,0,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,120,0,60,120,0, - 60,124,0,124,62,0,248,63,255,248,31,255,240,15,255,224, - 3,255,128,23,41,123,29,3,0,0,124,0,0,124,0,0, - 254,0,0,238,0,1,199,0,1,199,0,3,131,128,7,1, - 128,0,0,0,0,0,0,0,0,0,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,120,0,60,120, - 0,60,124,0,124,62,0,248,63,255,248,31,255,240,15,255, - 224,3,255,128,23,38,114,29,3,0,3,195,192,3,195,192, - 3,195,192,3,195,192,0,0,0,0,0,0,0,0,0,0, - 0,0,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,120,0,60,120,0,60,124,0,124,62,0,248, - 63,255,248,31,255,240,15,255,224,3,255,128,24,41,123,26, - 1,0,0,3,192,0,7,128,0,7,0,0,15,0,0,14, - 0,0,28,0,0,24,0,0,48,0,0,0,0,0,0,0, - 0,0,0,248,0,15,248,0,31,124,0,30,124,0,60,62, - 0,124,30,0,120,31,0,248,15,0,240,15,129,224,7,129, - 224,3,195,192,3,227,192,1,231,128,1,247,0,0,255,0, - 0,254,0,0,126,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,19,30,90, - 24,3,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,255,248,0,255,255,0,255,255,128,255,255, - 192,240,15,192,240,3,224,240,1,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,3,224,240,15,192,255,255,192,255, - 255,128,255,255,0,255,248,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,20,30,90, - 22,2,0,3,248,0,15,254,0,63,255,0,124,15,0,248, - 7,128,240,7,128,240,7,128,240,7,128,240,15,0,240,31, - 0,240,62,0,240,124,0,240,248,0,240,240,0,240,240,0, - 240,248,0,240,126,0,240,63,0,240,31,192,240,15,224,240, - 3,224,240,1,240,240,0,240,240,0,240,243,192,240,243,192, - 240,241,224,240,241,241,224,240,255,224,240,63,128,18,31,93, - 23,2,0,7,128,0,7,128,0,3,192,0,1,192,0,0, - 224,0,0,112,0,0,48,0,0,0,0,0,0,0,0,0, - 0,0,0,0,15,254,0,63,255,0,62,15,128,120,7,128, - 120,3,192,0,3,192,0,3,192,3,255,192,15,255,192,63, - 255,192,126,3,192,120,3,192,240,3,192,240,3,192,240,7, - 192,240,7,192,248,15,192,124,63,192,63,251,192,31,227,192, - 18,32,96,23,2,0,0,60,0,0,60,0,0,120,0,0, - 240,0,0,224,0,1,192,0,1,128,0,3,128,0,0,0, - 0,0,0,0,0,0,0,0,0,0,15,254,0,63,255,0, - 62,15,128,120,7,128,120,3,192,0,3,192,0,3,192,3, - 255,192,15,255,192,63,255,192,126,3,192,120,3,192,240,3, - 192,240,3,192,240,7,192,240,7,192,248,15,192,124,63,192, - 63,251,192,31,227,192,18,32,96,23,2,0,1,224,0,3, - 240,0,3,240,0,7,184,0,7,60,0,14,28,0,12,14, - 0,28,6,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,227,192,18,30,90,23, - 2,0,7,134,0,15,206,0,15,254,0,28,124,0,24,16, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,243,192,18,30,90,23, - 2,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, - 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, - 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, - 248,15,192,124,63,192,63,251,192,31,227,192,18,34,102,23, - 2,0,1,224,0,3,240,0,6,24,0,12,12,0,12,12, - 0,12,12,0,12,12,0,6,24,0,3,240,0,1,224,0, - 0,0,0,0,0,0,0,0,0,0,0,0,15,254,0,63, - 255,0,62,15,128,120,7,128,120,3,192,0,3,192,0,3, - 192,3,255,192,15,255,192,63,255,192,126,3,192,120,3,192, - 240,3,192,240,3,192,240,7,192,240,7,192,248,15,192,124, - 63,192,63,251,192,31,227,192,32,20,80,36,2,1,15,248, - 31,240,63,254,63,248,124,30,120,60,120,7,112,30,120,7, - 224,14,0,3,224,15,0,3,192,15,0,127,255,255,31,255, - 255,255,63,255,255,255,126,3,192,0,120,3,192,0,240,3, - 192,0,240,3,192,15,240,7,224,14,240,7,224,30,248,14, - 112,30,126,62,124,124,63,252,63,248,31,240,15,240,17,30, - 90,21,2,247,15,252,0,31,254,0,62,31,0,120,15,128, - 120,7,128,240,7,128,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,7,128,112,7, - 128,120,7,128,120,15,0,62,31,0,31,254,0,15,252,0, - 1,128,0,1,128,0,1,240,0,1,252,0,1,254,0,0, - 14,0,0,14,0,0,14,0,7,252,0,7,240,0,18,32, - 96,22,2,0,30,0,0,15,0,0,7,0,0,3,128,0, - 3,192,0,1,192,0,0,224,0,0,96,0,0,0,0,0, - 0,0,0,0,0,0,0,0,7,252,0,31,254,0,62,31, - 0,60,7,128,120,3,128,112,3,192,240,3,192,240,3,192, - 255,255,192,255,255,192,255,255,192,240,0,0,240,0,0,240, - 0,0,112,3,192,120,7,128,56,7,128,62,31,0,31,254, - 0,7,252,0,18,32,96,22,2,0,0,30,0,0,60,0, - 0,120,0,0,112,0,0,224,0,0,224,0,1,192,0,1, - 128,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, - 0,31,254,0,62,31,0,60,7,128,120,3,128,112,3,192, - 240,3,192,240,3,192,255,255,192,255,255,192,255,255,192,240, - 0,0,240,0,0,240,0,0,112,3,192,120,7,128,56,7, - 128,62,31,0,31,254,0,7,252,0,18,32,96,22,2,0, - 1,224,0,3,240,0,3,240,0,7,248,0,7,56,0,14, - 28,0,12,12,0,28,14,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,31,254,0,62,31,0,60,7,128, - 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, - 192,120,7,128,56,7,128,62,31,0,31,254,0,7,252,0, - 18,30,90,22,2,0,30,30,0,30,30,0,30,30,0,30, - 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,31,254,0,62,15,0,60,7,128, - 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, - 192,120,3,128,60,7,128,62,15,0,31,254,0,7,252,0, - 8,32,32,10,255,0,240,120,56,28,30,14,7,3,0,0, - 0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,9,32,64,10,2,0,15,128,15,0, - 30,0,28,0,56,0,56,0,112,0,224,0,0,0,0,0, - 0,0,0,0,120,0,120,0,120,0,120,0,120,0,120,0, - 120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0, - 120,0,120,0,120,0,120,0,120,0,120,0,12,32,64,10, - 255,0,15,0,31,128,31,128,59,192,57,192,112,224,224,96, - 192,112,0,0,0,0,0,0,0,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,12,30,60,10,255,0,240,240,240,240,240,240,240,240, - 0,0,0,0,0,0,0,0,0,0,0,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,20,30,90,24,2,0,16,1,0,60,7,0, - 30,31,0,7,252,0,3,240,0,7,240,0,62,120,0,120, - 60,0,96,30,0,0,15,0,7,255,128,31,255,192,63,15, - 192,60,3,192,120,1,224,120,1,224,240,1,224,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, - 1,224,120,1,224,120,3,224,60,3,192,63,15,128,31,255, - 0,7,254,0,18,30,90,24,3,0,7,14,0,15,204,0, - 31,252,0,28,248,0,24,16,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,243,254,0,247,255,0,254,31, - 128,248,7,128,248,7,128,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,20,32,96,24,2,0,15,0,0,7,128,0, - 3,128,0,1,192,0,1,192,0,0,224,0,0,112,0,0, - 48,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, - 0,15,255,0,63,15,128,60,3,192,120,3,224,120,1,224, - 240,1,224,240,0,240,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,1,224,120,1,224,120,3,224,60,3, - 192,63,15,128,15,255,0,7,254,0,20,32,96,24,2,0, - 0,30,0,0,30,0,0,60,0,0,56,0,0,112,0,0, - 96,0,0,224,0,1,192,0,0,0,0,0,0,0,0,0, - 0,0,0,0,7,252,0,15,255,0,63,15,128,60,3,192, - 120,3,224,120,1,224,240,1,224,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,1,224,120,1, - 224,120,3,224,60,3,192,63,15,128,15,255,0,7,254,0, - 20,32,96,24,2,0,0,240,0,1,248,0,1,248,0,3, - 188,0,3,156,0,7,14,0,6,6,0,12,7,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,20,30,90,24,2,0,3,135,0,7, - 230,0,15,254,0,14,124,0,12,8,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,20,30,90,24,2,0,15,15,0,15, - 15,0,15,15,0,15,15,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, - 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, - 15,255,0,7,254,0,24,19,57,40,8,2,0,16,0,0, - 56,0,0,124,0,0,124,0,0,124,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0, - 0,0,0,0,0,0,0,56,0,0,124,0,0,124,0,0, - 124,0,0,56,0,21,26,78,24,1,254,0,0,56,0,0, - 120,0,0,112,3,255,224,7,255,192,31,135,192,30,3,224, - 60,7,240,60,15,240,120,14,240,120,28,120,120,56,120,120, - 120,120,120,112,120,120,224,120,121,192,120,123,192,240,63,128, - 240,63,1,240,30,1,224,15,135,192,31,255,128,59,255,0, - 112,0,0,240,0,0,96,0,0,18,32,96,24,3,0,30, - 0,0,15,0,0,7,0,0,3,128,0,3,192,0,1,192, - 0,0,224,0,0,96,0,0,0,0,0,0,0,0,0,0, - 0,0,0,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,7,192,120,7,192,124,31,192,63,251,192,31,243,192,18, - 32,96,24,3,0,0,62,0,0,60,0,0,120,0,0,112, - 0,0,224,0,0,224,0,1,192,0,3,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,7,192,120,7,192,124,31,192,63, - 251,192,31,243,192,18,32,96,24,3,0,1,224,0,3,240, - 0,3,240,0,7,120,0,7,56,0,14,28,0,28,12,0, - 24,14,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 7,192,124,31,192,63,251,192,31,243,192,18,30,90,24,3, - 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,40,120,21,1, - 248,0,15,0,0,30,0,0,28,0,0,56,0,0,112,0, - 0,112,0,0,224,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,240,240,1,224,120,1,224,120,1, - 192,60,3,192,60,3,192,62,7,128,30,7,128,30,7,0, - 15,15,0,15,15,0,15,158,0,7,158,0,7,156,0,3, - 252,0,3,252,0,1,248,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,224,0,1,224,0,33,224,0,243,192,0, - 127,192,0,127,128,0,31,0,0,19,38,114,24,3,248,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,243,254,0, - 247,255,0,254,15,128,252,7,192,248,3,192,248,3,192,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,248,3,192,248,3,192,252,7,192, - 254,15,128,247,255,0,243,254,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,20,38,114,22,1,248,15,15,0,15,15,0,15,15,0, - 15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,240,248,0,224,120,1,224,120,1, - 224,60,3,192,60,3,192,62,3,128,30,7,128,30,7,128, - 15,15,0,15,15,0,7,143,0,7,158,0,7,222,0,3, - 252,0,3,252,0,1,252,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 30 - Calculated Max Values w=24 h=33 x= 8 y=15 dx=40 dy= 0 ascent=31 len=90 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =30 descent= 0 - X Font ascent =30 descent= 0 - Max Font ascent =31 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30n[1201] U8G_FONT_SECTION("u8g_font_fur30n") = { - 0,54,54,253,245,30,0,0,0,0,42,58,0,31,251,30, - 0,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 30, '1' Height: 30 - Calculated Max Values w=37 h=43 x=10 y=25 dx=40 dy= 0 ascent=33 len=185 - Font Bounding box w=54 h=54 x=-3 y=-11 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-7 - X Font ascent =31 descent=-8 - Max Font ascent =33 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur30r[7380] U8G_FONT_SECTION("u8g_font_fur30r") = { - 0,54,54,253,245,30,9,94,20,223,32,127,249,33,245,31, - 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, - 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, - 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, - 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, - 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, - 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, - 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, - 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, - 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, - 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, - 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, - 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, - 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, - 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, - 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, - 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, - 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, - 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, - 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, - 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, - 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, - 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, - 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, - 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, - 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, - 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, - 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, - 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, - 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, - 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, - 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, - 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, - 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, - 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, - 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, - 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, - 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, - 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, - 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, - 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, - 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, - 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, - 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, - 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, - 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, - 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, - 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, - 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, - 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, - 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, - 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, - 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, - 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, - 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, - 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, - 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, - 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, - 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, - 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, - 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, - 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, - 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, - 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, - 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, - 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, - 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, - 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, - 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, - 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, - 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, - 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, - 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, - 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, - 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, - 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, - 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, - 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, - 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, - 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, - 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, - 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, - 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, - 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, - 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, - 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, - 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, - 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, - 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, - 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, - 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, - 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, - 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, - 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, - 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, - 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, - 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, - 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, - 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, - 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, - 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, - 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, - 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, - 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, - 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, - 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, - 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, - 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, - 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, - 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, - 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, - 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, - 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, - 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, - 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, - 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, - 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, - 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, - 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, - 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, - 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, - 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, - 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, - 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, - 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, - 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, - 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, - 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, - 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, - 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, - 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, - 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, - 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, - 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, - 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, - 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, - 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, - 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, - 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, - 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, - 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, - 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, - 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, - 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, - 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, - 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, - 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, - 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, - 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, - 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, - 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, - 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, - 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, - 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, - 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, - 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, - 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, - 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, - 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, - 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, - 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, - 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, - 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, - 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, - 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, - 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, - 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, - 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, - 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, - 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, - 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, - 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, - 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, - 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, - 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, - 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, - 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, - 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, - 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, - 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, - 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, - 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, - 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, - 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, - 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, - 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, - 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, - 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, - 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, - 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, - 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, - 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, - 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, - 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, - 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, - 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, - 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, - 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, - 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, - 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, - 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, - 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, - 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, - 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, - 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, - 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, - 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, - 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, - 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, - 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, - 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, - 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, - 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, - 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, - 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, - 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, - 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, - 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, - 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, - 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, - 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, - 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, - 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, - 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, - 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, - 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, - 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, - 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, - 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, - 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, - 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, - 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, - 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, - 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, - 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, - 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, - 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, - 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, - 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, - 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, - 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, - 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, - 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, - 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, - 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, - 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, - 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, - 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, - 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, - 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, - 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, - 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, - 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, - 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, - 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, - 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, - 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, - 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, - 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, - 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, - 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, - 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, - 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, - 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, - 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, - 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, - 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, - 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, - 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, - 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, - 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, - 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, - 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, - 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, - 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, - 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, - 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, - 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, - 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, - 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, - 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, - 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, - 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, - 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, - 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, - 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, - 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, - 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, - 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, - 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, - 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, - 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, - 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, - 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, - 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, - 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, - 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, - 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, - 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, - 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, - 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, - 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, - 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, - 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, - 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, - 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, - 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, - 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, - 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, - 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, - 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, - 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, - 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, - 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, - 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, - 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, - 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, - 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, - 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, - 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, - 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, - 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, - 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, - 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, - 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, - 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, - 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, - 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, - 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, - 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, - 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, - 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, - 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, - 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, - 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, - 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, - 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, - 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, - 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, - 240,15,128,255}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--48-480-72-72-P-226-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 35 - Calculated Max Values w=29 h=39 x=10 y=16 dx=49 dy= 0 ascent=36 len=116 - Font Bounding box w=65 h=64 x=-4 y=-13 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =35 descent= 0 - X Font ascent =35 descent= 0 - Max Font ascent =36 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur35n[1447] U8G_FONT_SECTION("u8g_font_fur35n") = { - 0,65,64,252,243,35,0,0,0,0,42,58,0,36,250,35, - 0,19,19,57,31,6,16,6,12,0,30,15,0,15,30,0, - 15,30,0,7,28,0,3,184,0,1,176,0,193,240,96,255, - 255,224,255,255,224,248,227,224,1,240,0,3,184,0,7,188, - 0,7,28,0,15,30,0,30,15,0,14,14,0,2,8,0, - 29,29,116,49,10,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,255,255,255,248,255,255, - 255,248,255,255,255,248,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, - 0,0,0,7,0,0,0,7,0,0,9,12,24,13,2,250, - 31,128,31,0,31,0,62,0,62,0,62,0,60,0,124,0, - 120,0,120,0,112,0,240,0,12,4,8,16,2,10,255,240, - 255,240,255,240,255,240,5,6,6,13,5,0,248,248,248,248, - 248,248,15,39,78,19,2,253,0,14,0,30,0,28,0,28, - 0,60,0,56,0,56,0,120,0,112,0,112,0,112,0,240, - 0,224,0,224,1,224,1,192,1,192,1,192,3,192,3,128, - 3,128,7,128,7,0,7,0,15,0,15,0,14,0,14,0, - 30,0,28,0,28,0,60,0,56,0,56,0,56,0,120,0, - 112,0,112,0,240,0,22,35,105,27,2,1,3,255,0,7, - 255,128,31,255,224,31,255,224,62,3,240,62,1,240,124,0, - 248,120,0,248,120,0,120,248,0,120,248,0,124,248,0,124, - 248,0,124,248,0,124,248,0,124,248,0,124,248,0,124,248, - 0,124,248,0,124,248,0,124,248,0,124,248,0,124,248,0, - 124,248,0,124,120,0,124,120,0,120,120,0,120,124,0,248, - 60,0,248,62,1,240,63,3,240,31,255,224,15,255,192,7, - 255,128,1,255,0,12,35,70,27,7,0,3,240,7,240,15, - 240,31,240,127,240,255,240,253,240,241,240,193,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,21,35,105,27,3,1,3,255,0,15,255,128,31,255,192, - 63,255,224,63,1,240,126,0,240,124,0,248,124,0,248,124, - 0,248,124,0,248,0,0,248,0,0,248,0,0,240,0,1, - 240,0,3,224,0,7,224,0,7,192,0,15,128,0,31,128, - 0,63,0,0,126,0,0,252,0,1,248,0,3,240,0,7, - 224,0,15,192,0,31,192,0,31,128,0,63,0,0,126,0, - 0,252,0,0,255,255,248,255,255,248,255,255,248,255,255,248, - 22,35,105,27,2,1,3,255,0,15,255,192,31,255,224,31, - 255,240,63,1,248,62,0,248,124,0,120,124,0,120,124,0, - 124,0,0,120,0,0,120,0,0,248,0,1,240,0,15,224, - 0,255,192,0,255,0,0,255,128,0,255,192,0,15,224,0, - 1,240,0,0,248,0,0,248,0,0,124,0,0,124,0,0, - 124,248,0,124,248,0,124,252,0,124,252,0,120,124,0,248, - 127,3,248,63,255,240,31,255,224,15,255,192,3,255,0,24, - 35,105,27,1,0,0,3,240,0,7,240,0,7,240,0,15, - 240,0,31,240,0,63,240,0,61,240,0,121,240,0,249,240, - 0,241,240,1,225,240,3,225,240,3,193,240,7,129,240,15, - 129,240,15,1,240,30,1,240,62,1,240,60,1,240,120,1, - 240,248,1,240,240,1,240,255,255,255,255,255,255,255,255,255, - 255,255,255,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,21,35, - 105,27,3,0,127,255,224,127,255,224,127,255,224,127,255,224, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,254,0,125,255,128,127,255, - 192,127,131,224,126,1,240,124,0,240,120,0,248,120,0,120, - 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, - 0,120,248,0,120,248,0,248,248,0,240,248,1,240,126,3, - 224,63,255,224,63,255,192,15,255,128,7,254,0,23,35,105, - 27,2,1,1,255,128,7,255,192,15,255,224,31,193,240,31, - 0,248,62,0,248,62,0,120,124,0,120,124,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,127,0,120,255,192, - 249,255,240,251,255,240,255,131,248,254,0,248,252,0,124,252, - 0,124,248,0,60,248,0,60,248,0,60,248,0,62,248,0, - 60,248,0,60,120,0,60,124,0,124,124,0,120,63,1,248, - 31,255,240,15,255,224,7,255,192,1,255,0,21,35,105,27, - 3,0,255,255,248,255,255,248,255,255,248,255,255,248,0,0, - 120,0,0,248,0,0,240,0,1,240,0,1,240,0,1,224, - 0,3,224,0,3,224,0,7,192,0,7,192,0,7,128,0, - 15,128,0,15,128,0,15,0,0,31,0,0,31,0,0,62, - 0,0,62,0,0,62,0,0,124,0,0,124,0,0,248,0, - 0,248,0,0,248,0,1,240,0,1,240,0,3,240,0,3, - 224,0,3,224,0,7,192,0,7,192,0,22,35,105,27,2, - 1,3,255,128,15,255,224,31,255,240,63,255,248,63,1,248, - 126,0,252,124,0,124,124,0,124,124,0,124,124,0,124,124, - 0,124,60,0,120,62,0,248,31,131,240,15,255,224,3,255, - 128,7,255,128,15,255,224,31,3,240,62,0,248,124,0,120, - 120,0,124,248,0,60,248,0,60,248,0,60,248,0,60,248, - 0,60,248,0,60,248,0,124,124,0,124,126,1,248,63,255, - 248,31,255,240,15,255,224,3,255,128,22,35,105,27,2,1, - 3,255,128,15,255,192,31,255,224,63,255,240,126,1,248,124, - 0,248,120,0,248,248,0,124,248,0,124,248,0,124,248,0, - 124,248,0,124,248,0,124,248,0,124,248,0,252,120,0,252, - 124,1,252,127,3,252,63,255,252,31,255,124,15,254,124,3, - 248,124,0,0,124,0,0,124,0,0,120,0,0,120,0,0, - 248,120,0,248,120,1,240,124,1,240,62,3,224,63,255,224, - 31,255,192,15,255,128,7,254,0,5,24,24,13,5,0,248, - 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,0, - 0,248,248,248,248,248,248}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--58-580-72-72-P-271-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 42 - Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=175 - Font Bounding box w=78 h=76 x=-4 y=-15 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =42 descent= 0 - X Font ascent =42 descent= 0 - Max Font ascent =43 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur42n[2194] U8G_FONT_SECTION("u8g_font_fur42n") = { - 0,78,76,252,241,42,0,0,0,0,42,58,0,43,249,42, - 0,23,22,66,37,7,20,3,1,128,7,131,192,15,131,224, - 7,131,192,7,199,192,3,199,128,1,239,0,0,238,0,0, - 254,0,254,124,254,255,255,254,255,255,254,254,124,254,0,124, - 0,0,238,0,1,239,0,3,199,128,3,199,128,7,195,192, - 15,131,224,15,131,224,3,1,128,35,35,175,59,12,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,255,255,255,255,224,255, - 255,255,255,224,255,255,255,255,224,255,255,255,255,224,0,1, - 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, - 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, - 1,224,0,0,0,1,224,0,0,0,1,224,0,0,10,15, - 30,16,3,249,31,192,31,192,31,128,63,128,63,0,63,0, - 62,0,62,0,126,0,124,0,124,0,120,0,248,0,248,0, - 240,0,14,5,10,18,2,12,255,252,255,252,255,252,255,252, - 255,252,6,7,7,16,6,0,252,252,252,252,252,252,252,17, - 46,138,23,3,253,0,7,128,0,7,128,0,7,128,0,15, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,60,0,0,60,0,0,60,0,0,120,0,0, - 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,240, - 0,1,224,0,1,224,0,1,224,0,3,192,0,3,192,0, - 3,192,0,7,128,0,7,128,0,7,128,0,7,128,0,15, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,62,0,0,60,0,0,60,0,0,60,0,0,120,0,0, - 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,26, - 43,172,32,3,0,0,255,224,0,3,255,240,0,7,255,252, - 0,15,255,254,0,31,255,254,0,31,128,127,0,63,0,63, - 0,62,0,31,128,126,0,31,128,124,0,15,128,124,0,15, - 192,124,0,15,192,252,0,15,192,252,0,7,192,248,0,7, - 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, - 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, - 192,248,0,7,192,252,0,7,192,252,0,7,192,252,0,7, - 192,252,0,7,192,252,0,7,192,124,0,15,192,124,0,15, - 192,124,0,15,192,126,0,15,128,126,0,31,128,62,0,31, - 128,63,0,63,0,31,128,127,0,31,224,254,0,15,255,254, - 0,7,255,252,0,3,255,248,0,1,255,224,0,0,63,128, - 0,14,42,84,32,8,0,0,252,1,252,3,252,7,252,15, - 252,63,252,127,252,255,124,254,124,248,124,224,124,128,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, - 124,0,124,0,124,0,124,0,124,0,124,25,42,168,32,4, - 1,1,255,192,0,7,255,240,0,15,255,248,0,31,255,252, - 0,31,255,254,0,63,128,127,0,63,0,63,0,127,0,31, - 128,126,0,31,128,126,0,31,128,126,0,15,128,126,0,15, - 128,0,0,31,128,0,0,31,128,0,0,31,0,0,0,63, - 0,0,0,63,0,0,0,126,0,0,0,252,0,0,1,252, - 0,0,3,248,0,0,7,240,0,0,7,224,0,0,15,224, - 0,0,31,192,0,0,63,128,0,0,127,0,0,0,254,0, - 0,1,252,0,0,3,248,0,0,7,240,0,0,15,224,0, - 0,31,224,0,0,63,192,0,0,63,128,0,0,127,0,0, - 0,254,0,0,0,255,255,255,128,255,255,255,128,255,255,255, - 128,255,255,255,128,255,255,255,128,26,43,172,32,3,0,1, - 255,192,0,7,255,240,0,15,255,252,0,31,255,254,0,31, - 255,255,0,63,128,127,0,63,0,63,128,127,0,31,128,126, - 0,15,128,126,0,15,128,252,0,15,128,0,0,15,128,0, - 0,15,128,0,0,31,128,0,0,31,128,0,0,63,0,0, - 0,126,0,0,3,252,0,0,127,248,0,0,127,240,0,0, - 127,224,0,0,127,240,0,0,127,252,0,0,3,254,0,0, - 0,127,0,0,0,63,128,0,0,31,192,0,0,15,192,0, - 0,7,192,0,0,7,192,0,0,7,192,252,0,7,192,252, - 0,7,192,252,0,7,192,254,0,15,192,254,0,31,192,127, - 0,63,128,127,192,255,0,63,255,255,0,31,255,254,0,15, - 255,248,0,3,255,240,0,0,255,128,0,29,42,168,32,2, - 0,0,0,127,0,0,0,127,0,0,0,255,0,0,1,255, - 0,0,3,255,0,0,3,255,0,0,7,223,0,0,15,223, - 0,0,15,159,0,0,31,31,0,0,63,31,0,0,62,31, - 0,0,124,31,0,0,252,31,0,0,248,31,0,1,240,31, - 0,3,240,31,0,3,224,31,0,7,192,31,0,15,192,31, - 0,15,128,31,0,31,0,31,0,63,0,31,0,126,0,31, - 0,124,0,31,0,252,0,31,0,248,0,31,0,255,255,255, - 248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255, - 248,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, - 0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, - 0,0,0,31,0,0,0,31,0,26,43,172,32,3,255,127, - 255,255,0,127,255,255,0,127,255,255,0,127,255,255,0,127, - 255,255,0,124,0,0,0,124,0,0,0,124,0,0,0,124, - 0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,124, - 0,0,0,124,0,0,0,124,31,192,0,124,127,240,0,124, - 255,252,0,125,255,252,0,127,224,254,0,127,128,63,0,127, - 0,31,0,126,0,31,128,126,0,15,128,124,0,15,128,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,7,192,0, - 0,7,192,0,0,15,192,0,0,15,192,0,0,15,192,252, - 0,15,128,252,0,31,128,254,0,31,128,126,0,63,0,127, - 0,127,0,127,192,254,0,63,255,252,0,31,255,248,0,15, - 255,240,0,3,255,224,0,0,127,0,0,27,43,172,32,3, - 0,0,127,240,0,1,255,252,0,3,255,254,0,7,255,255, - 0,15,240,63,0,31,192,31,128,31,128,15,128,63,0,15, - 192,63,0,15,192,126,0,7,192,126,0,0,0,126,0,0, - 0,124,0,0,0,124,0,0,0,124,0,0,0,124,0,0, - 0,124,15,224,0,124,63,248,0,124,255,254,0,124,255,255, - 0,125,255,255,128,127,224,127,128,127,192,31,192,255,128,15, - 192,255,0,7,192,255,0,7,224,254,0,7,224,254,0,7, - 224,254,0,3,224,254,0,3,224,254,0,3,224,254,0,7, - 224,254,0,7,224,126,0,7,224,127,0,7,192,63,0,15, - 192,63,192,31,128,31,224,127,128,15,255,255,0,7,255,254, - 0,3,255,252,0,0,255,240,0,0,63,192,0,26,42,168, - 32,3,0,255,255,255,192,255,255,255,192,255,255,255,192,255, - 255,255,192,255,255,255,192,0,0,7,192,0,0,15,192,0, - 0,15,128,0,0,31,128,0,0,31,128,0,0,31,0,0, - 0,63,0,0,0,63,0,0,0,126,0,0,0,126,0,0, - 0,124,0,0,0,252,0,0,0,252,0,0,1,248,0,0, - 1,248,0,0,1,248,0,0,3,240,0,0,3,240,0,0, - 7,224,0,0,7,224,0,0,15,224,0,0,15,192,0,0, - 15,192,0,0,31,128,0,0,31,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,127,0,0,0,126,0,0,0, - 254,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, - 248,0,0,3,248,0,0,3,240,0,0,27,43,172,32,2, - 0,0,255,224,0,3,255,252,0,15,255,254,0,31,255,255, - 0,63,255,255,128,63,128,63,192,127,0,31,192,126,0,15, - 192,126,0,7,192,126,0,7,192,124,0,7,192,124,0,7, - 192,126,0,7,192,62,0,15,192,63,0,15,128,31,128,31, - 0,15,224,127,0,7,255,254,0,3,255,248,0,0,255,240, - 0,3,255,248,0,15,255,254,0,31,224,127,0,63,128,31, - 128,62,0,15,128,126,0,7,192,124,0,7,224,124,0,3, - 224,252,0,3,224,248,0,3,224,248,0,3,224,252,0,3, - 224,252,0,3,224,252,0,7,224,254,0,7,224,126,0,15, - 224,127,0,31,192,63,192,127,192,63,255,255,128,31,255,255, - 0,7,255,254,0,1,255,248,0,0,63,192,0,27,43,172, - 32,3,0,1,255,240,0,7,255,252,0,15,255,254,0,31, - 255,255,0,63,255,255,128,63,128,63,128,126,0,31,192,126, - 0,15,192,124,0,15,192,252,0,15,224,252,0,7,224,252, - 0,7,224,248,0,7,224,248,0,7,224,248,0,7,224,252, - 0,7,224,252,0,7,224,124,0,15,224,124,0,15,224,126, - 0,31,224,63,0,63,224,63,192,251,224,31,255,243,224,15, - 255,243,224,3,255,195,224,0,255,7,224,0,0,7,224,0, - 0,7,224,0,0,7,192,0,0,7,192,0,0,7,192,0, - 0,15,192,124,0,15,192,124,0,15,128,62,0,31,128,62, - 0,63,128,63,0,127,0,31,193,254,0,31,255,254,0,15, - 255,252,0,7,255,248,0,3,255,224,0,0,127,128,0,6, - 29,29,16,6,0,252,252,252,252,252,252,252,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,252,252,252,252,252, - 252,252}; -/* - Fontname: -FreeType-FreeUniversal-Medium-R-Normal--68-680-72-72-P-317-ISO10646-1 - Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. - Capital A Height: 0, '1' Height: 49 - Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=250 - Font Bounding box w=92 h=89 x=-5 y=-18 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =49 descent= 0 - X Font ascent =49 descent= 0 - Max Font ascent =50 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_fur49n[2683] U8G_FONT_SECTION("u8g_font_fur49n") = { - 0,92,89,251,238,49,0,0,0,0,42,58,0,50,247,49, - 0,27,26,104,45,9,23,0,192,96,0,3,192,120,0,15, - 192,126,0,7,224,252,0,3,224,248,0,1,241,240,0,1, - 241,240,0,0,251,224,0,0,123,192,0,0,59,128,0,224, - 63,128,224,255,255,255,224,255,255,255,224,255,255,255,224,255, - 159,63,224,128,63,128,32,0,123,192,0,0,123,192,0,0, - 241,224,0,1,241,240,0,3,241,248,0,3,224,248,0,7, - 224,252,0,15,192,124,0,3,192,120,0,0,128,32,0,41, - 41,246,69,14,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,255,255,255,255,255,128,255,255,255, - 255,255,128,255,255,255,255,255,128,255,255,255,255,255,128,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, - 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, - 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, - 0,60,0,0,0,0,0,60,0,0,0,12,17,34,19,3, - 247,15,240,15,240,15,224,15,224,31,224,31,192,31,192,31, - 128,63,128,63,0,63,0,62,0,126,0,126,0,124,0,124, - 0,248,0,16,6,12,22,3,14,255,255,255,255,255,255,255, - 255,255,255,255,255,7,8,8,19,7,0,254,254,254,254,254, - 254,254,254,21,54,162,27,3,252,0,0,248,0,0,240,0, - 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, - 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, - 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,124,0,0,120,0,0,248,0,0,248,0,0,240,0, - 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, - 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, - 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,124,0,0,120,0,0,248,0,0,31,51,204,38,3, - 255,0,31,240,0,0,127,252,0,1,255,255,0,3,255,255, - 128,7,255,255,192,15,255,255,224,31,240,31,240,31,192,15, - 240,63,128,7,248,63,128,3,248,63,0,1,248,127,0,1, - 252,126,0,1,252,126,0,0,252,126,0,0,252,254,0,0, - 252,254,0,0,254,252,0,0,254,252,0,0,254,252,0,0, - 254,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, - 126,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, - 126,252,0,0,126,252,0,0,254,254,0,0,254,254,0,0, - 254,254,0,0,254,254,0,0,254,126,0,0,254,126,0,0, - 252,126,0,0,252,127,0,1,252,127,0,1,252,63,0,1, - 252,63,128,3,248,63,128,3,248,31,192,7,248,31,224,15, - 240,15,248,63,240,15,255,255,224,7,255,255,192,3,255,255, - 128,1,255,255,0,0,127,252,0,0,15,240,0,16,49,98, - 38,9,0,0,127,0,255,1,255,3,255,7,255,31,255,63, - 255,127,255,255,255,255,63,252,63,240,63,192,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,29,50,200,38,4,0,0,31,224,0,0, - 255,252,0,3,255,255,0,7,255,255,128,15,255,255,192,31, - 255,255,224,31,240,31,224,63,224,7,240,63,192,3,240,63, - 128,3,248,127,128,3,248,127,0,1,248,127,0,1,248,127, - 0,1,248,127,0,1,248,0,0,1,248,0,0,1,248,0, - 0,3,248,0,0,3,248,0,0,7,240,0,0,7,240,0, - 0,15,224,0,0,31,224,0,0,63,192,0,0,127,128,0, - 0,127,0,0,0,255,0,0,1,254,0,0,3,252,0,0, - 7,248,0,0,15,240,0,0,31,240,0,0,63,224,0,0, - 127,192,0,0,127,128,0,0,255,0,0,1,254,0,0,3, - 252,0,0,7,248,0,0,15,248,0,0,31,240,0,0,63, - 224,0,0,127,192,0,0,255,128,0,0,255,0,0,0,255, - 255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255, - 255,255,248,31,51,204,38,3,255,0,31,240,0,0,255,254, - 0,1,255,255,128,3,255,255,192,7,255,255,224,15,248,31, - 240,31,224,7,248,31,192,3,248,63,192,1,252,63,128,0, - 252,63,128,0,252,127,0,0,252,127,0,0,252,127,0,0, - 252,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, - 248,0,0,3,248,0,0,7,240,0,0,31,224,0,0,255, - 192,0,31,255,128,0,31,254,0,0,31,252,0,0,31,255, - 0,0,31,255,192,0,0,255,224,0,0,15,240,0,0,7, - 248,0,0,3,252,0,0,1,252,0,0,0,254,0,0,0, - 254,0,0,0,126,0,0,0,126,0,0,0,126,254,0,0, - 126,254,0,0,126,255,0,0,126,255,0,0,254,127,0,0, - 254,127,128,1,252,127,128,3,252,63,224,7,248,31,248,31, - 240,15,255,255,224,7,255,255,192,3,255,255,128,0,255,254, - 0,0,31,240,0,34,50,250,38,2,0,0,0,15,240,0, - 0,0,15,240,0,0,0,31,240,0,0,0,63,240,0,0, - 0,63,240,0,0,0,127,240,0,0,0,255,240,0,0,0, - 255,240,0,0,1,251,240,0,0,3,251,240,0,0,3,243, - 240,0,0,7,227,240,0,0,15,227,240,0,0,15,195,240, - 0,0,31,131,240,0,0,63,131,240,0,0,63,3,240,0, - 0,126,3,240,0,0,254,3,240,0,1,252,3,240,0,1, - 248,3,240,0,3,248,3,240,0,7,240,3,240,0,7,224, - 3,240,0,15,224,3,240,0,31,192,3,240,0,31,128,3, - 240,0,63,128,3,240,0,127,0,3,240,0,126,0,3,240, - 0,252,0,3,240,0,252,0,3,240,0,255,255,255,255,192, - 255,255,255,255,192,255,255,255,255,192,255,255,255,255,192,255, - 255,255,255,192,255,255,255,255,192,0,0,3,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,3,240,0,0,0,3, - 240,0,0,0,3,240,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,3,240,0,0,0,3,240,0, - 0,0,3,240,0,30,50,200,38,4,255,63,255,255,224,63, - 255,255,224,63,255,255,224,63,255,255,224,63,255,255,224,63, - 255,255,224,63,0,0,0,63,0,0,0,63,0,0,0,63, - 0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63, - 0,0,0,63,0,0,0,63,0,0,0,63,3,248,0,63, - 31,254,0,63,63,255,128,63,127,255,192,63,255,255,224,63, - 248,31,224,63,224,7,240,63,192,3,240,63,128,3,248,63, - 0,1,248,63,0,1,252,62,0,1,252,0,0,0,252,0, - 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,0, - 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,254, - 0,1,252,254,0,1,248,254,0,1,248,255,0,3,248,127, - 0,3,240,127,128,7,224,127,192,15,224,63,240,63,192,31, - 255,255,128,15,255,255,0,7,255,254,0,1,255,248,0,0, - 31,224,0,31,51,204,38,3,255,0,7,248,0,0,63,255, - 0,0,255,255,192,1,255,255,224,3,255,255,240,7,252,15, - 240,15,248,7,248,31,224,3,248,31,192,1,252,63,192,1, - 252,63,128,0,252,63,0,0,252,127,0,0,252,127,0,0, - 0,127,0,0,0,126,0,0,0,126,0,0,0,126,0,0, - 0,126,0,0,0,126,0,0,0,126,7,252,0,126,31,255, - 0,126,63,255,192,126,127,255,224,126,255,255,240,127,252,15, - 248,127,240,3,248,255,192,1,252,255,192,1,252,255,128,0, - 254,255,128,0,254,255,0,0,126,255,0,0,126,255,0,0, - 126,255,0,0,126,255,0,0,126,255,0,0,126,255,0,0, - 126,127,0,0,126,127,0,0,126,127,128,0,254,63,128,0, - 252,63,128,1,252,31,192,1,252,31,224,3,248,15,248,15, - 240,7,255,255,224,3,255,255,192,1,255,255,128,0,127,254, - 0,0,15,248,0,30,49,196,38,4,0,255,255,255,252,255, - 255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,0, - 0,0,252,0,0,1,252,0,0,1,252,0,0,1,248,0, - 0,3,248,0,0,3,240,0,0,7,240,0,0,7,240,0, - 0,7,224,0,0,15,224,0,0,15,224,0,0,31,192,0, - 0,31,192,0,0,31,128,0,0,63,128,0,0,63,128,0, - 0,127,0,0,0,127,0,0,0,127,0,0,0,254,0,0, - 0,254,0,0,0,254,0,0,1,252,0,0,1,252,0,0, - 3,248,0,0,3,248,0,0,3,248,0,0,7,240,0,0, - 7,240,0,0,15,240,0,0,15,224,0,0,15,224,0,0, - 31,192,0,0,31,192,0,0,63,192,0,0,63,128,0,0, - 63,128,0,0,127,128,0,0,127,0,0,0,127,0,0,0, - 254,0,0,0,254,0,0,1,254,0,0,1,252,0,0,32, - 51,204,38,3,255,0,15,248,0,0,127,255,0,1,255,255, - 128,3,255,255,224,7,255,255,240,15,248,31,248,31,224,7, - 252,31,192,1,252,63,128,1,252,63,128,0,254,63,0,0, - 254,63,0,0,254,63,0,0,126,63,0,0,126,63,0,0, - 126,63,0,0,254,63,0,0,252,31,128,0,252,31,128,1, - 248,15,192,3,248,15,224,7,240,7,248,31,224,3,255,255, - 192,0,255,255,128,0,127,254,0,1,255,255,128,3,255,255, - 192,15,248,15,240,31,192,3,248,31,128,1,248,63,0,0, - 252,127,0,0,126,126,0,0,126,126,0,0,126,254,0,0, - 127,252,0,0,63,252,0,0,63,252,0,0,63,254,0,0, - 127,254,0,0,127,254,0,0,127,254,0,0,127,127,0,0, - 254,127,128,1,254,63,192,3,252,63,240,15,252,31,255,255, - 248,15,255,255,240,3,255,255,192,0,255,255,0,0,15,248, - 0,31,51,204,38,3,255,0,31,248,0,0,255,255,0,3, - 255,255,192,7,255,255,224,15,255,255,240,31,240,31,248,63, - 192,7,248,63,128,3,252,127,0,1,252,126,0,1,252,126, - 0,0,254,254,0,0,254,254,0,0,254,252,0,0,254,252, - 0,0,254,252,0,0,254,252,0,0,254,252,0,0,254,254, - 0,0,254,254,0,0,254,254,0,0,254,126,0,1,254,127, - 0,1,254,63,128,3,254,63,192,7,254,31,240,31,254,31, - 255,255,126,15,255,254,126,7,255,252,126,1,255,248,126,0, - 63,224,126,0,0,0,126,0,0,0,126,0,0,0,126,0, - 0,0,254,0,0,0,252,0,0,0,252,0,0,0,252,126, - 0,0,252,127,0,1,248,63,0,1,248,63,0,3,248,63, - 0,7,240,63,128,7,240,31,192,31,224,31,224,63,224,15, - 255,255,192,7,255,255,128,3,255,255,0,1,255,252,0,0, - 63,224,0,7,34,34,19,7,0,254,254,254,254,254,254,254, - 254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,254,254,254,254,254,254,254,254}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y=11 dx=16 dy= 0 ascent=16 len=34 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11[4313] U8G_FONT_SECTION("u8g_font_gdb11") = { - 0,27,26,247,250,11,2,67,5,71,32,255,252,16,251,14, - 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, - 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, - 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, - 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, - 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, - 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, - 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, - 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, - 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, - 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, - 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, - 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, - 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, - 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, - 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, - 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, - 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, - 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, - 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, - 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, - 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, - 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, - 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, - 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, - 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, - 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, - 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, - 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, - 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, - 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, - 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, - 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, - 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, - 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, - 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, - 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, - 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, - 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, - 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, - 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, - 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, - 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, - 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, - 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, - 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, - 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, - 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, - 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, - 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, - 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, - 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, - 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, - 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, - 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, - 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, - 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, - 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, - 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, - 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, - 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, - 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, - 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, - 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, - 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, - 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, - 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, - 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, - 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, - 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, - 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, - 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, - 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, - 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, - 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, - 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, - 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, - 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, - 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, - 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, - 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, - 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, - 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, - 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, - 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, - 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, - 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, - 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, - 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, - 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, - 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, - 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, - 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, - 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, - 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, - 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, - 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, - 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, - 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, - 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,4,0,0,3,13,13,6,1,251,96,224,64, - 64,64,64,96,96,96,96,96,96,192,7,11,11,9,1,0, - 16,24,126,148,144,144,144,210,124,16,16,8,11,11,9,1, - 0,30,34,98,96,96,252,96,96,97,127,158,7,7,7,9, - 1,2,132,126,68,68,68,68,254,10,11,22,9,255,0,227, - 192,113,0,51,0,58,0,26,0,30,0,12,0,127,128,12, - 0,12,0,30,0,1,19,19,4,2,252,128,128,128,128,128, - 128,128,128,0,0,0,128,128,128,128,128,128,128,128,7,13, - 13,9,1,0,112,152,144,240,252,158,130,98,60,12,68,100, - 124,6,3,3,7,0,9,196,204,140,11,12,24,13,1,0, - 31,0,32,128,79,64,147,32,146,32,144,32,144,32,144,32, - 137,32,78,64,32,128,31,0,5,6,6,5,0,5,112,208, - 176,144,248,240,7,8,8,9,1,0,18,38,108,220,220,108, - 38,18,7,4,4,9,1,1,254,2,2,2,6,1,1,6, - 0,4,252,6,7,7,6,0,6,120,72,188,188,180,104,120, - 7,1,1,9,1,11,254,4,4,4,6,1,7,112,144,144, - 224,7,8,8,7,0,1,16,16,254,16,16,16,0,254,4, - 7,7,6,1,5,112,208,16,32,64,144,240,4,7,7,6, - 1,5,48,80,144,48,16,144,224,4,4,4,6,2,9,112, - 96,192,128,9,12,24,10,1,252,227,0,99,0,99,0,99, - 0,99,0,99,0,127,128,91,0,64,0,64,0,96,0,112, - 0,10,13,26,11,0,254,63,192,98,128,194,128,194,128,98, - 128,62,128,2,128,2,128,2,128,2,128,2,128,2,128,7, - 192,3,3,3,4,0,5,224,224,192,2,4,4,4,2,252, - 192,64,64,192,4,7,7,6,1,5,32,224,32,32,32,32, - 240,4,6,6,5,0,5,96,144,144,144,96,240,8,8,8, - 9,1,0,136,76,102,55,55,102,76,136,10,11,22,11,1, - 0,192,192,65,128,65,0,66,0,68,0,172,0,8,128,19, - 128,50,128,99,192,197,192,9,11,22,11,1,0,192,128,65, - 0,66,0,66,0,68,0,168,0,25,128,18,128,33,0,98, - 128,199,128,11,11,22,11,0,0,96,96,80,192,32,128,17, - 0,146,0,230,0,4,64,9,192,25,64,49,224,98,224,6, - 13,13,8,1,251,56,56,48,16,16,16,32,96,192,196,204, - 204,112,11,16,32,11,0,0,16,0,24,0,12,0,6,0, - 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, - 33,128,33,192,96,192,241,224,11,16,32,11,0,0,1,0, - 3,128,6,0,12,0,0,0,6,0,14,0,14,0,11,0, - 19,0,19,0,63,128,33,128,33,192,96,192,241,224,11,16, - 32,11,0,0,4,0,14,0,31,0,17,0,0,128,6,0, - 14,0,14,0,11,0,19,0,19,0,63,128,33,128,33,192, - 96,192,241,224,11,15,30,11,0,0,12,128,31,128,39,0, - 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, - 33,128,33,192,96,192,241,224,11,15,30,11,0,0,16,128, - 49,128,49,128,0,0,6,0,14,0,14,0,11,0,19,0, - 19,0,63,128,33,128,33,192,96,192,241,224,11,16,32,11, - 0,0,6,0,10,0,10,0,14,0,0,0,6,0,14,0, - 14,0,11,0,19,0,19,0,63,128,33,128,33,192,96,192, - 241,224,14,11,22,15,0,0,15,252,7,140,5,136,13,128, - 9,128,31,248,25,128,17,128,49,132,33,132,243,252,9,15, - 30,10,0,252,31,0,99,0,64,0,192,0,192,0,192,0, - 192,0,192,0,96,0,112,128,31,0,4,0,2,0,6,0, - 28,0,9,16,32,9,0,0,32,0,48,0,24,0,4,0, - 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, - 48,0,48,128,48,128,255,128,9,16,32,9,0,0,2,0, - 7,0,14,0,24,0,0,0,255,0,49,0,49,0,48,0, - 48,0,63,0,48,0,48,0,48,128,48,128,255,128,9,16, - 32,9,0,0,8,0,28,0,30,0,35,0,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,15,30,9,0,0,33,0,97,0,99,0, - 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, - 48,0,48,128,48,128,255,128,5,16,16,6,0,0,64,224, - 112,16,8,120,48,48,48,48,48,48,48,48,48,120,5,16, - 16,6,1,0,16,56,112,192,0,240,96,96,96,96,96,96, - 96,96,96,240,6,16,16,6,0,0,48,112,120,204,0,120, - 48,48,48,48,48,48,48,48,48,120,7,15,15,6,255,0, - 66,194,194,0,60,24,24,24,24,24,24,24,24,24,60,9, - 11,22,11,1,0,254,0,99,0,97,0,97,128,97,128,249, - 128,97,128,97,128,97,0,99,0,252,0,10,15,30,12,1, - 0,25,0,63,0,46,0,0,0,225,192,96,128,112,128,120, - 128,92,128,76,128,70,128,71,128,67,128,65,128,225,128,10, - 16,32,11,0,0,16,0,24,0,12,0,2,0,0,0,30, - 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,0,30,0,10,16,32,11,0,0,1,0,3,128,6, - 0,12,0,0,0,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,10,16,32,11,0, - 0,4,0,14,0,31,0,17,128,0,0,30,0,33,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,0,30, - 0,10,15,30,11,0,0,12,128,31,128,39,0,0,0,30, - 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,0,30,0,10,15,30,11,0,0,16,128,49,128,49, - 128,0,0,30,0,33,128,64,128,192,192,192,192,192,192,192, - 192,192,192,64,128,97,0,30,0,6,6,6,8,1,2,140, - 216,112,112,216,140,10,11,22,11,0,0,31,192,35,128,99, - 128,195,192,198,192,204,192,216,192,240,192,113,128,113,0,254, - 0,10,16,32,12,1,0,16,0,56,0,28,0,6,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,49,0,30,0,10,16,32,12,1,0,2,0,7, - 0,14,0,24,0,0,0,241,192,96,128,96,128,96,128,96, - 128,96,128,96,128,96,128,96,128,49,0,30,0,10,16,32, - 12,1,0,12,0,14,0,30,0,51,0,0,0,241,192,96, - 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,49, - 0,30,0,10,15,30,12,1,0,33,0,33,128,33,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,49,0,30,0,10,16,32,11,1,0,4,0,7, - 0,12,0,24,0,0,0,227,192,113,128,49,0,59,0,26, - 0,14,0,12,0,12,0,12,0,12,0,30,0,8,11,11, - 10,1,0,240,96,126,99,99,99,99,98,124,96,240,9,13, - 26,11,1,0,14,0,49,128,33,128,97,128,97,0,102,0, - 104,0,100,0,103,0,97,128,104,128,104,128,239,0,8,13, - 13,9,1,0,96,48,16,8,0,60,102,198,30,102,198,207, - 118,8,13,13,9,1,0,12,28,24,48,0,60,102,198,30, - 102,198,207,118,8,13,13,9,1,0,16,56,108,198,0,60, - 102,198,30,102,198,207,118,8,12,12,9,1,0,114,252,0, - 0,60,102,198,30,102,198,207,118,8,12,12,9,1,0,194, - 198,134,0,60,102,198,30,102,198,207,118,8,13,13,9,1, - 0,24,40,40,48,0,60,102,198,30,102,198,207,118,11,8, - 16,13,1,0,61,192,102,32,196,32,63,224,68,0,198,32, - 255,192,115,128,7,12,12,8,1,252,62,70,196,192,192,192, - 102,56,16,8,24,48,7,13,13,9,1,0,96,48,24,8, - 0,60,70,198,254,192,192,98,60,7,13,13,9,1,0,12, - 14,24,48,0,60,70,198,254,192,192,98,60,7,13,13,9, - 1,0,24,56,108,66,0,60,70,198,254,192,192,98,60,7, - 12,12,9,1,0,66,198,194,0,60,70,198,254,192,192,98, - 60,5,13,13,5,0,0,224,96,48,16,0,48,112,48,48, - 48,48,48,120,5,13,13,5,1,0,48,56,96,64,128,96, - 224,96,96,96,96,96,240,6,13,13,5,0,0,48,112,216, - 132,0,48,112,48,48,48,48,48,120,7,12,12,5,255,0, - 66,194,194,0,24,56,24,24,24,24,24,60,7,13,13,9, - 1,0,112,62,56,108,4,62,78,198,198,198,196,76,56,9, - 12,24,10,1,0,57,0,126,0,0,0,0,0,110,0,255, - 0,115,0,99,0,99,0,99,0,99,0,247,128,7,13,13, - 9,1,0,112,48,24,8,0,56,68,198,198,198,198,68,56, - 7,13,13,9,1,0,14,12,24,16,0,56,68,198,198,198, - 198,68,56,7,13,13,9,1,0,24,60,44,66,0,56,68, - 198,198,198,198,68,56,7,12,12,9,1,0,50,124,128,0, - 56,68,198,198,198,198,68,56,7,12,12,9,1,0,66,194, - 66,0,56,68,198,198,198,198,68,56,7,6,6,8,0,2, - 16,16,0,126,144,16,7,9,9,9,1,0,2,58,68,206, - 214,230,230,68,248,10,13,26,10,0,0,24,0,56,0,12, - 0,4,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,13,26,10,0,0,7,0,6,0,12, - 0,8,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,13,26,10,0,0,12,0,30,0,18, - 0,33,0,0,0,227,128,97,128,97,128,97,128,97,128,97, - 128,127,192,57,128,10,12,24,10,0,0,33,0,33,128,33, - 0,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,10,17,34,9,255,252,3,0,3,128,6,0,4, - 0,8,0,121,192,48,128,25,128,25,0,15,0,14,0,14, - 0,6,0,4,0,12,0,120,0,240,0,8,18,18,10,1, - 252,96,224,96,96,96,96,110,127,97,97,97,97,98,124,96, - 96,96,240,10,16,32,9,255,252,16,128,48,128,48,128,0, - 0,121,192,48,128,25,128,25,0,15,0,14,0,14,0,6, - 0,4,0,12,0,120,0,240,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=17 x= 1 y= 6 dx=10 dy= 0 ascent=14 len=17 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11n[278] U8G_FONT_SECTION("u8g_font_gdb11n") = { - 0,27,26,247,250,11,0,0,0,0,42,58,0,14,253,11, - 0,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=32 - Font Bounding box w=27 h=26 x=-9 y=-6 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb11r[2001] U8G_FONT_SECTION("u8g_font_gdb11r") = { - 0,27,26,247,250,11,2,67,5,71,32,127,252,15,252,14, - 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, - 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, - 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, - 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, - 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, - 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, - 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, - 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, - 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, - 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, - 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, - 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, - 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, - 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, - 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, - 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, - 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, - 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, - 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, - 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, - 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, - 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, - 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, - 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, - 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, - 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, - 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, - 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, - 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, - 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, - 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, - 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, - 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, - 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, - 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, - 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, - 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, - 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, - 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, - 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, - 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, - 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, - 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, - 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, - 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, - 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, - 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, - 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, - 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, - 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, - 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, - 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, - 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, - 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, - 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, - 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, - 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, - 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, - 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, - 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, - 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, - 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, - 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, - 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, - 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, - 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, - 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, - 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, - 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, - 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, - 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, - 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, - 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, - 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, - 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, - 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, - 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, - 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, - 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, - 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, - 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, - 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, - 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, - 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, - 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, - 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, - 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, - 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, - 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, - 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, - 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, - 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, - 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, - 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, - 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, - 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, - 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, - 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, - 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, - 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, - 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, - 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, - 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, - 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, - 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, - 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, - 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, - 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, - 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, - 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, - 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, - 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, - 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, - 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, - 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, - 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, - 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, - 255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12[4626] U8G_FONT_SECTION("u8g_font_gdb12") = { - 0,29,28,246,249,12,2,113,5,210,32,255,252,17,251,15, - 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, - 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, - 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, - 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, - 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, - 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, - 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, - 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, - 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, - 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, - 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, - 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, - 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, - 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, - 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, - 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, - 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, - 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, - 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, - 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, - 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, - 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, - 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, - 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, - 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, - 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, - 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, - 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, - 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, - 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, - 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, - 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, - 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, - 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, - 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, - 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, - 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, - 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, - 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, - 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, - 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, - 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, - 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, - 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, - 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, - 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, - 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, - 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, - 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, - 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, - 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, - 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, - 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, - 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, - 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, - 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, - 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, - 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, - 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, - 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, - 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, - 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, - 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, - 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, - 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, - 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, - 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, - 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, - 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, - 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, - 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, - 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, - 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, - 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, - 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, - 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, - 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, - 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, - 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, - 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, - 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, - 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, - 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, - 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, - 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, - 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, - 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, - 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, - 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, - 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, - 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, - 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, - 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, - 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, - 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, - 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, - 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, - 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, - 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, - 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, - 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, - 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, - 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, - 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, - 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, - 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, - 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, - 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, - 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, - 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, - 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, - 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, - 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, - 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, - 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, - 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, - 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, - 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, - 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, - 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, - 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, - 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, - 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, - 4,8,9,0,4,48,0,125,128,79,0,134,0,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,5,0,0,3,14,14,6,1,251,96,224,64,0,96,96, - 96,96,96,96,96,96,96,64,7,12,12,10,2,0,16,16, - 62,86,144,144,144,144,86,124,16,16,9,11,22,10,0,0, - 15,128,49,128,49,0,112,0,112,0,254,0,112,0,112,0, - 96,128,123,128,255,0,8,7,7,10,1,2,255,66,66,66, - 66,102,255,10,11,22,10,0,0,227,192,113,0,51,0,26, - 0,26,0,12,0,127,128,12,0,12,0,12,0,30,0,1, - 20,20,4,2,252,128,128,128,128,128,128,128,128,128,0,0, - 128,128,128,128,128,128,128,128,128,8,13,13,10,1,0,120, - 152,136,240,190,135,193,113,62,14,34,50,62,6,3,3,7, - 0,10,236,252,220,12,13,26,14,1,0,15,0,48,192,64, - 32,143,32,145,16,145,16,144,16,144,16,144,16,136,160,79, - 32,32,64,31,128,5,7,7,5,0,5,112,208,112,144,248, - 0,240,8,9,9,10,1,0,17,34,102,204,220,204,102,34, - 17,8,4,4,10,1,2,255,1,1,1,6,1,1,7,0, - 4,252,7,7,7,7,0,7,56,68,186,170,178,108,56,8, - 2,2,9,1,11,255,254,5,5,5,7,1,7,112,136,136, - 136,112,8,9,9,8,0,1,8,8,8,127,8,8,8,0, - 255,4,7,7,7,2,6,112,208,16,32,64,144,240,5,7, - 7,6,0,6,56,104,8,24,8,136,112,4,4,4,6,2, - 10,48,96,192,128,10,13,26,11,1,252,99,0,227,0,99, - 0,99,0,99,0,99,0,103,0,127,128,91,64,64,0,64, - 0,96,0,112,0,9,14,28,11,1,254,63,128,101,0,197, - 0,197,0,197,0,101,0,61,0,5,0,5,0,5,0,5, - 0,5,0,5,0,15,128,3,3,3,4,0,5,224,224,192, - 3,4,4,4,1,252,64,96,96,192,5,7,7,7,1,6, - 32,224,32,32,32,32,248,4,7,7,5,0,5,96,144,144, - 144,96,0,240,8,9,9,10,1,0,136,76,102,55,51,55, - 102,76,136,11,11,22,12,1,0,64,64,192,128,65,0,67, - 0,70,0,228,0,8,192,25,64,50,64,35,224,192,224,10, - 11,22,12,1,0,64,64,192,128,65,0,65,0,66,0,228, - 192,9,64,26,128,16,128,33,64,99,192,11,11,22,11,0, - 0,96,32,208,64,32,128,145,128,227,0,2,0,4,192,13, - 64,25,64,19,224,96,224,7,14,14,9,1,251,56,56,48, - 0,16,16,16,32,96,192,194,198,196,120,12,16,32,12,0, - 0,24,0,28,0,3,0,0,0,6,0,14,0,15,0,11, - 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, - 240,12,16,32,12,0,0,1,0,7,128,12,0,0,0,6, - 0,14,0,15,0,11,0,27,0,19,128,17,128,63,128,33, - 192,32,192,96,224,241,240,12,16,32,12,0,0,6,0,15, - 0,16,128,0,0,6,0,14,0,15,0,11,0,27,0,19, - 128,17,128,63,128,33,192,32,192,96,224,241,240,12,16,32, - 12,0,0,12,192,31,128,35,0,0,0,6,0,14,0,15, - 0,11,0,27,0,19,128,17,128,63,128,33,192,32,192,96, - 224,241,240,12,16,32,12,0,0,27,0,27,128,27,0,0, - 0,6,0,14,0,15,0,11,0,27,0,19,128,17,128,63, - 128,33,192,32,192,96,224,241,240,12,17,34,12,0,0,6, - 0,9,0,17,0,14,0,0,0,6,0,14,0,15,0,11, - 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, - 240,15,12,24,15,0,0,31,252,5,132,5,132,13,128,9, - 128,31,248,17,144,17,128,49,128,33,130,97,132,243,252,9, - 16,32,11,1,252,31,0,99,128,65,0,192,0,192,0,192, - 0,192,0,192,0,192,0,96,128,59,128,30,0,8,0,6, - 0,14,0,28,0,10,16,32,10,0,0,48,0,56,0,6, - 0,0,0,255,128,48,128,48,128,48,0,48,0,63,0,50, - 0,48,0,48,0,48,64,48,128,255,128,10,16,32,10,0, - 0,3,0,7,0,24,0,0,0,255,128,48,128,48,128,48, - 0,48,0,63,0,50,0,48,0,48,0,48,64,48,128,255, - 128,10,16,32,10,0,0,12,0,30,0,33,0,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,10,16,32,10,0,0,51,0,63, - 0,54,0,0,0,255,128,48,128,48,128,48,0,48,0,63, - 0,50,0,48,0,48,0,48,64,48,128,255,128,5,16,16, - 6,0,0,192,224,24,0,120,48,48,48,48,48,48,48,48, - 48,48,120,5,16,16,6,1,0,24,56,192,0,240,96,96, - 96,96,96,96,96,96,96,96,240,6,16,16,6,0,0,48, - 120,132,0,120,48,48,48,48,48,48,48,48,48,48,120,6, - 16,16,6,0,0,204,252,216,0,120,48,48,48,48,48,48, - 48,48,48,48,120,10,12,24,12,1,0,254,0,99,128,97, - 128,96,192,96,192,248,192,96,192,96,192,96,192,97,128,99, - 0,254,0,11,16,32,13,1,0,28,128,63,0,39,0,0, - 0,224,224,112,64,112,64,120,64,92,64,78,64,78,64,71, - 64,67,192,65,192,65,192,224,192,10,16,32,12,1,0,48, - 0,56,0,6,0,0,0,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,128,96,128,97,0,30,0,10, - 16,32,12,1,0,2,0,15,0,24,0,0,0,30,0,33, - 128,65,128,64,192,192,192,192,192,192,192,192,192,192,128,96, - 128,97,0,30,0,10,16,32,12,1,0,12,0,30,0,33, - 0,0,0,30,0,33,128,65,128,64,192,192,192,192,192,192, - 192,192,192,192,128,96,128,97,0,30,0,10,16,32,12,1, - 0,25,128,63,0,70,0,0,0,30,0,33,128,65,128,64, - 192,192,192,192,192,192,192,192,192,192,128,96,128,97,0,30, - 0,10,16,32,12,1,0,55,0,55,0,54,0,0,0,30, - 0,33,128,65,128,64,192,192,192,192,192,192,192,192,192,192, - 128,96,128,97,0,30,0,6,6,6,8,1,2,132,72,48, - 48,72,132,10,12,24,12,1,0,30,192,33,128,97,128,67, - 192,198,192,196,192,200,192,216,192,240,128,97,128,97,0,222, - 0,11,16,32,13,1,0,16,0,60,0,6,0,0,0,240, - 224,96,64,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,128,48,128,31,0,11,16,32,13,1,0,3,0,7, - 128,12,0,0,0,240,224,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,128,48,128,31,0,11,16,32, - 13,1,0,12,0,30,0,49,0,0,128,240,224,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,96,128,48, - 128,31,0,11,16,32,13,1,0,27,0,63,0,51,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,128,48,128,31,0,11,16,32,12,0,0,1, - 0,7,128,12,0,0,0,241,224,48,192,24,128,29,128,13, - 0,15,0,6,0,6,0,6,0,6,0,6,0,15,0,9, - 12,24,11,1,0,248,0,96,0,126,0,99,0,97,128,97, - 128,97,128,97,128,113,0,110,0,96,0,248,0,9,14,28, - 12,1,0,14,0,51,0,33,128,97,128,97,128,103,0,108, - 0,108,0,102,0,99,0,97,128,104,128,104,128,239,0,8, - 14,14,9,1,0,112,48,24,8,0,60,102,198,14,126,198, - 198,207,118,8,14,14,9,1,0,14,12,24,48,0,60,102, - 198,14,126,198,198,207,118,8,14,14,9,1,0,24,60,108, - 66,0,60,102,198,14,126,198,198,207,118,8,13,13,9,1, - 0,114,126,140,0,60,102,198,14,126,198,198,207,118,8,13, - 13,9,1,0,108,110,108,0,60,102,198,14,126,198,198,207, - 118,8,14,14,9,1,0,56,68,72,56,0,60,102,198,14, - 126,198,198,207,118,12,9,18,14,1,0,29,192,111,32,198, - 48,166,48,63,240,70,0,199,16,251,224,113,192,8,13,13, - 9,1,252,62,70,196,192,192,192,194,127,60,16,12,28,48, - 7,14,14,9,1,0,112,48,24,8,0,60,100,198,198,254, - 192,226,124,56,7,14,14,9,1,0,14,12,24,16,0,60, - 100,198,198,254,192,226,124,56,7,14,14,9,1,0,24,60, - 100,66,0,60,100,198,198,254,192,226,124,56,7,13,13,9, - 1,0,110,126,108,0,60,100,198,198,254,192,226,124,56,5, - 14,14,6,0,0,224,96,48,16,0,48,112,48,48,48,48, - 48,48,120,5,14,14,6,1,0,56,48,96,64,0,96,224, - 96,96,96,96,96,96,240,6,14,14,6,0,0,48,120,200, - 132,0,48,112,48,48,48,48,48,48,120,6,13,13,6,0, - 0,220,220,216,0,48,112,48,48,48,48,48,48,120,8,14, - 14,10,1,0,48,255,28,102,6,63,71,195,195,195,195,194, - 102,60,9,13,26,11,1,0,57,0,63,0,78,0,0,0, - 102,0,255,0,115,0,99,0,99,0,99,0,99,0,99,0, - 247,128,8,14,14,10,1,0,48,112,24,12,0,60,70,195, - 195,195,195,194,98,60,8,14,14,10,1,0,6,12,24,16, - 0,60,70,195,195,195,195,194,98,60,8,14,14,10,1,0, - 24,60,38,66,0,60,70,195,195,195,195,194,98,60,8,13, - 13,10,1,0,57,126,76,0,60,70,195,195,195,195,194,98, - 60,8,13,13,10,1,0,118,126,108,0,60,70,195,195,195, - 195,194,98,60,8,7,7,8,0,2,8,8,0,127,128,8, - 8,8,9,9,10,1,0,63,102,71,203,219,211,226,102,252, - 10,14,28,11,0,0,24,0,60,0,12,0,6,0,0,0, - 227,128,97,128,97,128,97,128,97,128,97,128,99,128,127,192, - 57,128,10,14,28,11,0,0,3,0,7,0,4,0,8,0, - 0,0,227,128,97,128,97,128,97,128,97,128,97,128,99,128, - 127,192,57,128,10,14,28,11,0,0,12,0,14,0,27,0, - 33,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, - 99,128,127,192,57,128,10,13,26,11,0,0,27,0,63,0, - 51,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, - 99,128,127,192,57,128,11,18,36,10,255,252,3,128,3,0, - 6,0,4,0,0,0,121,224,56,128,24,128,25,128,13,0, - 13,0,14,0,6,0,6,0,4,0,12,0,120,0,240,0, - 9,18,36,11,1,252,96,0,224,0,96,0,96,0,96,0, - 103,0,111,0,113,128,97,128,97,128,97,128,97,0,127,0, - 110,0,96,0,96,0,96,0,248,0,11,17,34,10,255,252, - 25,128,31,128,27,0,0,0,121,224,56,128,24,128,25,128, - 13,0,13,0,14,0,6,0,6,0,4,0,12,0,120,0, - 240,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 9 h=18 x= 1 y= 7 dx=10 dy= 0 ascent=15 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12n[301] U8G_FONT_SECTION("u8g_font_gdb12n") = { - 0,29,28,246,249,12,0,0,0,0,42,58,0,15,252,12, - 0,7,7,7,8,1,7,48,180,222,48,222,148,48,7,7, - 7,8,1,2,16,16,16,254,16,16,16,3,6,6,5,1, - 252,96,224,96,96,64,128,6,1,1,7,0,4,252,3,3, - 3,5,1,0,224,224,192,9,18,36,9,0,253,1,128,3, - 0,3,0,3,0,6,0,6,0,4,0,12,0,12,0,24, - 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,192, - 0,8,11,11,10,1,0,60,102,66,195,195,195,195,195,66, - 98,60,7,12,12,10,1,0,8,120,152,24,24,24,24,24, - 24,24,24,254,7,11,11,9,1,0,60,102,230,6,4,8, - 16,34,66,126,254,7,11,11,9,1,0,60,102,230,6,8, - 28,6,6,6,140,120,8,12,12,9,0,0,6,14,14,22, - 22,38,102,70,255,6,6,31,7,11,11,10,1,0,126,124, - 64,64,124,134,6,6,6,134,124,8,12,12,10,1,0,14, - 56,112,96,192,254,195,195,195,195,98,60,8,11,11,10,1, - 0,255,254,130,6,4,12,8,24,24,48,96,8,11,11,10, - 1,0,60,102,102,102,124,62,71,195,195,195,60,8,11,11, - 10,1,0,60,70,195,195,195,195,63,2,6,12,112,3,9, - 9,5,1,0,224,224,192,0,0,0,224,224,192}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=36 - Font Bounding box w=29 h=28 x=-10 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb12r[2190] U8G_FONT_SECTION("u8g_font_gdb12r") = { - 0,29,28,246,249,12,2,113,5,210,32,127,252,16,252,15, - 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, - 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, - 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, - 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, - 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, - 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, - 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, - 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, - 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, - 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, - 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, - 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, - 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, - 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, - 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, - 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, - 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, - 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, - 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, - 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, - 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, - 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, - 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, - 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, - 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, - 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, - 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, - 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, - 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, - 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, - 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, - 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, - 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, - 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, - 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, - 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, - 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, - 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, - 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, - 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, - 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, - 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, - 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, - 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, - 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, - 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, - 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, - 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, - 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, - 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, - 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, - 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, - 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, - 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, - 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, - 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, - 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, - 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, - 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, - 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, - 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, - 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, - 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, - 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, - 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, - 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, - 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, - 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, - 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, - 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, - 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, - 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, - 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, - 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, - 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, - 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, - 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, - 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, - 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, - 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, - 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, - 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, - 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, - 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, - 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, - 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, - 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, - 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, - 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, - 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, - 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, - 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, - 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, - 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, - 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, - 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, - 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, - 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, - 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, - 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, - 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, - 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, - 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, - 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, - 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, - 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, - 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, - 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, - 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, - 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, - 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, - 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, - 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, - 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, - 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, - 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, - 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, - 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, - 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, - 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, - 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, - 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, - 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, - 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, - 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, - 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, - 4,8,9,0,4,48,0,125,128,79,0,134,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=19 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=60 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14[6044] U8G_FONT_SECTION("u8g_font_gdb14") = { - 0,36,33,244,248,14,3,134,7,177,32,255,251,20,250,18, - 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, - 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, - 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, - 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, - 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, - 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, - 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, - 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, - 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, - 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, - 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, - 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, - 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, - 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, - 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, - 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, - 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, - 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, - 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, - 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, - 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, - 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, - 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, - 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, - 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, - 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, - 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, - 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, - 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, - 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, - 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, - 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, - 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, - 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, - 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, - 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, - 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, - 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, - 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, - 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, - 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, - 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, - 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, - 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, - 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, - 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, - 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, - 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, - 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, - 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, - 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, - 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, - 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, - 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, - 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, - 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, - 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, - 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, - 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, - 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, - 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, - 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, - 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, - 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, - 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, - 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, - 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, - 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, - 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, - 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, - 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, - 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, - 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, - 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, - 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, - 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, - 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, - 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, - 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, - 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, - 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, - 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, - 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, - 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, - 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, - 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, - 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, - 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, - 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, - 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, - 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, - 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, - 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, - 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, - 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, - 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, - 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, - 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, - 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, - 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, - 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, - 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, - 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, - 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, - 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, - 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, - 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, - 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, - 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, - 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, - 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, - 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, - 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, - 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, - 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, - 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, - 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, - 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, - 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, - 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, - 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, - 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, - 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, - 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, - 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, - 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, - 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, - 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, - 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, - 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, - 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, - 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, - 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, - 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, - 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, - 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, - 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, - 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, - 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, - 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, - 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, - 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, - 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, - 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, - 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, - 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, - 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, - 5,48,64,124,128,159,0,135,0,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,0, - 4,16,16,7,1,250,112,240,96,0,32,32,32,112,112,112, - 112,112,112,112,112,96,10,14,28,12,1,0,12,0,12,0, - 31,128,125,192,108,128,204,0,204,0,204,0,204,0,236,192, - 127,128,63,0,12,0,12,0,11,14,28,12,0,0,7,192, - 12,224,24,64,24,64,56,0,56,0,56,0,127,0,184,0, - 56,0,56,32,48,32,127,224,255,224,10,9,18,12,1,2, - 128,64,94,128,51,0,97,128,97,128,97,128,51,128,94,128, - 128,64,12,14,28,12,0,0,241,240,120,192,56,192,29,128, - 29,128,13,0,15,0,6,0,63,192,6,0,6,0,6,0, - 6,0,31,128,2,24,24,5,2,251,192,192,192,192,192,192, - 192,192,192,192,128,0,0,64,192,192,192,192,192,192,192,192, - 192,192,9,16,32,11,1,0,62,0,99,0,99,0,112,0, - 60,0,127,0,199,128,195,128,225,128,121,128,63,0,31,0, - 71,0,67,0,99,0,126,0,7,3,3,9,1,12,198,238, - 198,15,15,30,17,1,0,7,192,24,48,48,24,99,204,108, - 236,200,70,216,6,216,6,216,6,216,6,108,44,103,204,48, - 24,24,48,7,192,6,7,7,6,0,7,120,216,24,248,216, - 252,248,9,10,20,12,1,0,8,128,17,128,51,0,103,0, - 238,0,238,0,103,0,51,0,17,128,8,128,10,5,10,12, - 1,2,255,192,0,192,0,192,0,192,0,192,7,1,1,8, - 1,5,254,8,8,8,8,0,8,60,66,157,149,153,153,86, - 60,9,2,4,11,1,13,255,128,255,128,6,5,5,8,1, - 9,56,76,204,200,112,8,10,10,9,1,2,24,24,24,24, - 255,24,24,24,0,255,6,8,8,8,1,7,120,204,140,24, - 16,32,68,252,6,8,8,8,1,7,56,204,140,56,12,12, - 140,120,6,5,5,7,2,12,56,60,112,96,192,12,15,30, - 13,1,251,96,192,225,192,96,192,96,192,96,192,96,192,96, - 192,113,192,127,240,110,192,96,0,96,0,112,0,112,0,96, - 0,14,17,34,14,0,253,31,252,113,176,225,176,225,176,225, - 176,225,176,113,176,31,176,1,176,1,176,1,176,1,176,1, - 176,1,176,1,176,1,176,7,252,4,3,3,5,0,6,96, - 240,224,4,5,5,5,1,251,32,96,48,48,224,6,8,8, - 8,1,7,48,240,48,48,48,48,48,252,5,7,7,6,0, - 7,112,216,216,216,216,112,248,10,10,20,12,1,0,196,0, - 102,0,99,0,51,128,57,192,61,192,49,128,99,0,102,0, - 196,0,12,14,28,14,1,0,48,16,240,48,48,96,48,192, - 48,128,49,128,255,0,6,96,4,224,13,224,25,96,19,240, - 48,96,96,240,12,14,28,14,1,0,48,48,240,96,48,192, - 48,192,49,128,51,0,254,0,6,240,13,48,26,48,16,96, - 48,192,97,144,195,240,14,14,28,15,0,0,56,8,76,24, - 40,48,60,96,12,64,140,192,121,128,3,24,2,56,6,88, - 12,88,8,252,24,24,48,60,9,16,32,11,1,250,28,0, - 30,0,12,0,0,0,12,0,12,0,12,0,24,0,56,0, - 112,0,96,0,224,0,227,128,227,128,231,0,126,0,14,20, - 40,14,0,0,8,0,28,0,15,0,3,128,0,0,0,0, - 1,0,7,128,7,128,5,128,13,192,12,192,8,224,24,224, - 31,224,16,112,48,112,48,48,32,56,248,124,14,20,40,14, - 0,0,0,128,0,224,3,192,7,0,0,0,0,0,1,0, - 7,128,7,128,5,128,13,192,12,192,8,224,24,224,31,224, - 16,112,48,112,48,48,32,56,248,124,14,20,40,14,0,0, - 3,0,7,128,15,192,12,96,16,0,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,14,19,38,14,0,0,4,32, - 15,240,27,192,0,0,0,0,1,0,7,128,7,128,5,128, - 13,192,12,192,8,224,24,224,31,224,16,112,48,112,48,48, - 32,56,248,124,14,19,38,14,0,0,8,64,28,224,24,224, - 0,0,0,0,1,0,7,128,7,128,5,128,13,192,12,192, - 8,224,24,224,31,224,16,112,48,112,48,48,32,56,248,124, - 14,20,40,14,0,0,1,128,6,192,6,192,7,128,0,0, - 0,0,1,0,7,128,7,128,5,128,13,192,12,192,8,224, - 24,224,31,224,16,112,48,112,48,48,32,56,248,124,18,14, - 42,19,0,0,7,255,128,1,225,128,3,96,128,3,96,128, - 6,96,0,6,96,0,7,255,0,12,98,0,12,96,0,24, - 96,0,24,96,0,48,96,64,48,96,192,249,255,128,11,19, - 38,13,1,251,15,192,49,192,96,128,64,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,112,96,63,192,31,128, - 4,0,6,0,3,0,3,0,12,0,12,20,40,12,0,0, - 16,0,56,0,30,0,7,0,0,0,0,0,255,224,56,96, - 56,96,56,64,56,0,56,0,63,192,56,128,56,0,56,0, - 56,0,56,48,56,32,255,224,12,20,40,12,0,0,1,0, - 1,192,7,128,14,0,0,0,0,0,255,224,56,96,56,96, - 56,64,56,0,56,0,63,192,56,128,56,0,56,0,56,0, - 56,48,56,32,255,224,12,20,40,12,0,0,6,0,15,0, - 31,128,48,192,0,0,0,0,255,224,56,96,56,96,56,64, - 56,0,56,0,63,192,56,128,56,0,56,0,56,0,56,48, - 56,32,255,224,12,19,38,12,0,0,16,128,49,192,49,192, - 0,0,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 7,20,20,8,0,0,64,224,112,24,4,0,126,24,24,24, - 24,24,24,24,24,24,24,24,24,126,7,20,20,8,1,0, - 8,30,60,96,128,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,252,7,20,20,8,0,0,16,56,124,198,0,0, - 126,24,24,24,24,24,24,24,24,24,24,24,24,126,8,19, - 19,8,255,0,65,99,227,0,0,63,12,12,12,12,12,12, - 12,12,12,12,12,12,63,14,14,28,15,0,0,127,192,240, - 240,48,56,48,24,48,28,48,28,254,28,48,28,48,28,48, - 28,48,24,48,56,48,240,255,192,15,19,38,15,0,0,2, - 32,15,240,11,224,16,0,0,0,248,126,56,24,60,24,62, - 24,54,24,55,24,51,152,49,152,49,216,48,248,48,120,48, - 56,48,56,252,24,12,20,40,14,1,0,16,0,60,0,30, - 0,3,0,0,0,0,0,15,128,48,192,96,96,64,96,192, - 48,192,48,192,48,192,48,192,48,192,48,96,96,96,64,48, - 128,31,0,12,20,40,14,1,0,1,0,1,192,7,128,14, - 0,0,0,0,0,15,128,48,192,96,96,64,96,192,48,192, - 48,192,48,192,48,192,48,192,48,96,96,96,64,48,128,31, - 0,12,20,40,14,1,0,6,0,15,0,15,128,24,192,32, - 0,0,0,15,128,48,192,96,96,64,96,192,48,192,48,192, - 48,192,48,192,48,192,48,96,96,96,64,48,128,31,0,12, - 19,38,14,1,0,8,64,31,224,55,128,0,0,0,0,15, - 128,48,192,96,96,64,96,192,48,192,48,192,48,192,48,192, - 48,192,48,96,96,96,64,48,128,31,0,12,19,38,14,1, - 0,16,128,57,192,49,192,0,0,0,0,15,128,48,192,96, - 96,64,96,192,48,192,48,192,48,192,48,192,48,192,48,96, - 96,96,64,48,128,31,0,8,7,7,10,1,3,195,102,60, - 24,60,102,195,12,15,30,14,1,255,15,176,16,224,32,224, - 96,224,193,240,195,112,195,48,198,48,204,48,232,32,120,96, - 112,64,112,128,223,0,128,0,15,20,40,15,0,0,4,0, - 14,0,7,0,1,192,0,0,0,0,252,126,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,24, - 24,48,24,32,7,192,15,20,40,15,0,0,0,64,0,240, - 1,224,3,0,0,0,0,0,252,126,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,24,48, - 24,32,7,192,15,20,40,15,0,0,1,128,3,128,7,192, - 12,96,0,16,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,19,38,15,0,0,4,32,12,112,12,96,0,0, - 0,0,252,126,48,24,48,24,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,24,48,24,32,7,192,13,20, - 40,14,0,0,0,128,0,224,3,192,7,0,0,0,0,0, - 240,120,56,48,28,96,28,96,14,192,6,128,7,128,3,0, - 3,0,3,0,3,0,3,0,3,0,15,192,12,14,28,13, - 0,0,252,0,48,0,48,0,63,192,48,96,48,48,48,48, - 48,48,48,48,48,96,55,192,48,0,48,0,252,0,11,17, - 34,14,1,0,15,128,16,192,32,96,32,96,96,96,96,96, - 97,192,99,0,99,0,99,0,99,192,97,192,96,224,104,96, - 104,96,108,64,239,128,10,17,34,11,1,0,48,0,120,0, - 24,0,12,0,6,0,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,17, - 34,11,1,0,7,0,7,0,14,0,12,0,24,0,0,0, - 0,0,62,0,99,0,227,0,3,0,63,0,99,0,195,0, - 195,0,255,192,123,0,10,17,34,11,1,0,12,0,30,0, - 62,0,115,0,65,128,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,16, - 32,11,1,0,56,128,124,128,127,0,198,0,0,0,0,0, - 62,0,99,0,227,0,3,0,63,0,99,0,195,0,195,0, - 255,192,123,0,10,15,30,11,1,0,99,0,99,128,99,0, - 0,0,0,0,62,0,99,0,227,0,3,0,63,0,99,0, - 195,0,195,0,255,192,123,0,10,16,32,11,1,0,14,0, - 27,0,26,0,28,0,0,0,0,0,62,0,99,0,227,0, - 3,0,63,0,99,0,195,0,195,0,255,192,123,0,15,10, - 20,17,1,0,30,120,119,140,227,6,131,6,31,252,99,0, - 195,0,199,132,253,252,112,240,9,15,30,10,1,251,31,0, - 99,128,65,0,192,0,192,0,192,0,192,0,225,0,126,0, - 60,0,16,0,28,0,12,0,12,0,48,0,9,17,34,11, - 1,0,56,0,56,0,28,0,12,0,6,0,0,0,0,0, - 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, - 127,0,62,0,9,17,34,11,1,0,7,0,7,128,14,0, - 12,0,24,0,0,0,0,0,30,0,99,0,65,128,193,128, - 255,128,192,0,192,0,225,128,127,0,62,0,9,17,34,11, - 1,0,12,0,30,0,63,0,51,0,96,128,0,0,0,0, - 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, - 127,0,62,0,9,15,30,11,1,0,97,128,99,128,99,0, - 0,0,0,0,30,0,99,0,65,128,193,128,255,128,192,0, - 192,0,225,128,127,0,62,0,6,17,17,7,0,0,224,112, - 48,24,8,0,0,56,120,24,24,24,24,24,24,24,124,6, - 17,17,7,1,0,28,60,56,96,64,0,0,112,240,48,48, - 48,48,48,48,48,248,7,17,17,7,0,0,56,56,124,198, - 130,0,0,56,120,24,24,24,24,24,24,24,124,8,15,15, - 7,255,0,99,227,195,0,0,28,60,12,12,12,12,12,12, - 12,62,10,17,34,12,1,0,24,0,125,192,15,128,31,0, - 51,128,3,128,1,192,31,192,97,192,64,192,192,192,192,192, - 192,192,192,128,225,128,113,0,30,0,12,16,32,13,1,0, - 28,64,62,64,63,128,99,0,0,0,0,0,51,128,247,192, - 56,192,48,192,48,192,48,192,48,192,48,192,48,192,249,240, - 10,17,34,12,1,0,56,0,56,0,28,0,6,0,2,0, - 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, - 192,192,96,128,113,0,30,0,10,17,34,12,1,0,3,128, - 7,0,6,0,12,0,8,0,0,0,0,0,30,0,33,128, - 65,128,192,192,192,192,192,192,192,192,96,128,113,0,30,0, - 10,17,34,12,1,0,12,0,30,0,31,0,49,128,96,128, - 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, - 192,192,96,128,113,0,30,0,10,16,32,12,1,0,24,64, - 60,128,127,128,71,0,0,0,0,0,30,0,33,128,65,128, - 192,192,192,192,192,192,192,192,96,128,113,0,30,0,10,15, - 30,12,1,0,49,128,115,128,97,128,0,0,0,0,30,0, - 33,128,65,128,192,192,192,192,192,192,192,192,96,128,113,0, - 30,0,8,8,8,10,1,2,24,24,16,255,0,24,24,24, - 10,12,24,12,1,255,0,64,30,192,51,128,99,192,199,192, - 196,192,200,192,248,192,113,128,113,0,94,0,128,0,12,17, - 34,13,1,0,56,0,28,0,12,0,6,0,2,0,0,0, - 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, - 97,192,127,240,60,192,12,17,34,13,1,0,3,128,7,128, - 6,0,12,0,8,0,0,0,0,0,97,192,224,192,96,192, - 96,192,96,192,96,192,96,192,97,192,127,240,60,192,12,17, - 34,13,1,0,14,0,14,0,31,0,49,128,32,128,0,0, - 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, - 97,192,127,240,60,192,12,15,30,13,1,0,49,128,113,128, - 97,128,0,0,0,0,97,192,224,192,96,192,96,192,96,192, - 96,192,96,192,97,192,127,240,60,192,13,22,44,12,255,251, - 0,192,1,224,1,128,3,0,6,0,0,0,0,0,124,120, - 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, - 3,0,3,0,6,0,70,0,124,0,248,0,11,22,44,13, - 1,251,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 51,128,63,192,56,224,48,96,48,96,48,96,48,96,48,192, - 63,128,55,0,48,0,48,0,48,0,48,0,252,0,13,20, - 40,12,255,251,24,96,28,224,24,192,0,0,0,0,124,120, - 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, - 3,0,3,0,6,0,70,0,124,0,248,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=11 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14n[464] U8G_FONT_SECTION("u8g_font_gdb14n") = { - 0,36,33,244,248,14,0,0,0,0,42,58,0,18,252,14, - 0,9,10,20,10,1,8,24,0,24,0,219,0,255,128,60, - 0,62,0,255,0,219,0,24,0,24,0,8,8,8,10,1, - 2,24,24,24,255,24,24,24,24,4,7,7,6,1,252,48, - 240,48,48,32,96,64,7,1,1,8,1,5,254,4,3,3, - 6,1,0,96,240,224,11,22,44,11,0,252,0,96,0,192, - 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, - 6,0,12,0,12,0,28,0,24,0,24,0,56,0,48,0, - 48,0,96,0,96,0,192,0,10,14,28,12,1,0,30,0, - 51,0,97,128,97,128,225,192,225,192,225,192,225,192,225,192, - 225,192,97,128,97,128,51,0,30,0,8,14,14,12,2,0, - 8,120,248,24,24,24,24,24,24,24,24,24,24,255,8,14, - 14,11,2,0,62,103,227,195,3,6,4,12,24,48,33,65, - 255,255,9,14,28,11,1,0,30,0,99,0,227,0,67,0, - 3,0,6,0,31,0,7,128,3,128,1,128,1,128,1,128, - 67,0,190,0,10,14,28,12,1,0,1,0,7,0,7,0, - 15,0,27,0,19,0,51,0,99,0,99,0,255,192,3,0, - 3,0,3,0,15,192,9,14,28,12,1,0,63,128,63,0, - 32,0,96,0,96,0,126,0,67,0,1,128,1,128,1,128, - 1,128,1,128,195,0,62,0,10,14,28,12,1,0,7,0, - 28,0,48,0,96,0,64,0,223,0,225,128,192,192,192,192, - 192,192,192,192,96,128,49,128,30,0,10,14,28,12,1,0, - 127,192,255,128,129,128,129,128,3,0,3,0,2,0,6,0, - 6,0,12,0,12,0,24,0,56,0,48,0,9,14,28,11, - 1,0,62,0,113,128,241,128,241,128,249,128,127,0,63,0, - 63,128,99,128,193,128,193,128,193,128,99,0,62,0,10,14, - 28,12,1,0,31,0,35,128,65,128,192,192,192,192,192,192, - 192,192,97,192,62,192,0,128,1,128,3,0,14,0,56,0, - 4,10,10,6,1,0,224,240,96,0,0,0,0,96,240,224 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=19 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=60 - Font Bounding box w=36 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb14r[2842] U8G_FONT_SECTION("u8g_font_gdb14r") = { - 0,36,33,244,248,14,3,134,7,177,32,127,251,19,251,18, - 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, - 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, - 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, - 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, - 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, - 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, - 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, - 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, - 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, - 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, - 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, - 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, - 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, - 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, - 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, - 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, - 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, - 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, - 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, - 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, - 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, - 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, - 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, - 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, - 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, - 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, - 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, - 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, - 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, - 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, - 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, - 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, - 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, - 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, - 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, - 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, - 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, - 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, - 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, - 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, - 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, - 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, - 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, - 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, - 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, - 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, - 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, - 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, - 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, - 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, - 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, - 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, - 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, - 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, - 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, - 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, - 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, - 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, - 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, - 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, - 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, - 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, - 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, - 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, - 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, - 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, - 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, - 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, - 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, - 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, - 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, - 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, - 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, - 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, - 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, - 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, - 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, - 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, - 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, - 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, - 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, - 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, - 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, - 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, - 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, - 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, - 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, - 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, - 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, - 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, - 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, - 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, - 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, - 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, - 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, - 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, - 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, - 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, - 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, - 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, - 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, - 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, - 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, - 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, - 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, - 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, - 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, - 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, - 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, - 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, - 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, - 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, - 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, - 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, - 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, - 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, - 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, - 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, - 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, - 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, - 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, - 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, - 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, - 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, - 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, - 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, - 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, - 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, - 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, - 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, - 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, - 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, - 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, - 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, - 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, - 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, - 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, - 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, - 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, - 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, - 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, - 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, - 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, - 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, - 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, - 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, - 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, - 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, - 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, - 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, - 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, - 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, - 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, - 5,48,64,124,128,159,0,135,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=23 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=69 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x=-4 y=-7 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17[7600] U8G_FONT_SECTION("u8g_font_gdb17") = { - 0,42,39,242,246,17,4,81,9,172,32,255,250,23,249,21, - 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, - 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, - 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, - 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, - 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, - 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, - 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, - 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, - 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, - 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, - 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, - 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, - 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, - 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, - 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, - 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, - 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, - 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, - 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, - 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, - 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, - 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, - 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, - 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, - 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, - 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, - 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, - 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, - 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, - 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, - 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, - 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, - 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, - 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, - 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, - 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, - 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, - 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, - 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, - 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, - 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, - 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, - 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, - 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, - 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, - 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, - 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, - 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, - 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, - 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, - 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, - 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, - 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, - 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, - 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, - 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, - 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, - 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, - 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, - 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, - 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, - 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, - 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, - 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, - 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, - 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, - 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, - 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, - 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, - 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, - 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, - 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, - 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, - 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, - 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, - 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, - 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, - 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, - 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, - 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, - 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, - 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, - 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, - 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, - 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, - 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, - 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, - 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, - 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, - 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, - 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, - 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, - 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, - 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, - 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, - 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, - 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, - 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, - 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, - 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, - 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, - 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, - 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, - 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, - 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, - 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, - 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, - 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, - 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, - 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, - 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, - 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, - 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, - 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, - 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, - 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, - 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, - 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, - 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, - 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, - 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, - 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, - 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, - 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, - 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, - 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, - 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, - 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, - 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, - 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, - 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, - 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, - 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, - 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, - 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, - 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, - 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, - 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, - 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, - 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, - 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, - 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, - 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, - 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, - 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, - 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, - 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, - 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, - 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, - 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,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,7,0,0,4,19,19,8,2,249, - 112,240,240,224,32,96,96,96,96,96,96,112,112,112,240,240, - 240,240,192,10,17,34,14,2,255,12,0,12,0,15,128,63, - 192,109,192,108,192,204,0,204,0,204,0,204,0,204,0,236, - 64,125,192,63,128,30,0,12,0,12,0,13,16,32,14,0, - 0,3,240,6,56,12,16,28,16,28,16,60,0,60,0,60, - 0,255,192,60,0,60,0,60,16,56,24,56,24,127,248,255, - 240,12,11,22,14,1,2,192,48,239,112,112,224,96,96,96, - 96,96,96,96,96,112,224,111,96,192,48,128,16,15,16,32, - 14,255,0,248,126,120,56,60,48,30,48,30,96,15,96,7, - 192,7,192,7,192,3,128,63,248,3,128,3,128,3,128,3, - 128,15,224,2,27,27,6,2,251,192,192,192,192,192,192,192, - 192,192,192,192,192,128,0,0,192,192,192,192,192,192,192,192, - 192,192,192,192,10,19,38,13,2,0,31,0,35,128,97,0, - 113,0,120,0,62,0,127,128,207,128,195,192,225,192,240,192, - 124,192,63,128,31,128,7,128,65,128,65,128,97,0,126,0, - 9,4,8,11,1,14,115,128,247,128,247,128,231,0,18,18, - 54,20,1,0,3,240,0,14,28,0,24,6,0,48,3,0, - 97,241,128,102,57,128,198,16,192,204,0,192,204,0,192,204, - 0,192,204,0,192,204,0,192,102,1,128,103,25,128,49,243, - 0,24,6,0,12,12,0,3,240,0,6,9,9,7,1,8, - 120,216,24,120,216,216,252,0,252,11,12,24,14,1,0,4, - 32,8,96,24,192,49,192,115,128,231,128,231,128,115,128,49, - 192,24,192,8,96,4,32,12,6,12,14,1,2,127,240,128, - 48,0,48,0,48,0,48,0,32,8,1,1,10,1,6,255, - 10,9,18,10,255,10,30,0,97,128,255,128,219,192,222,192, - 220,192,251,192,97,128,30,0,11,2,4,13,1,16,127,224, - 255,224,6,7,7,10,2,10,56,76,204,204,204,200,112,10, - 12,24,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,0,0,0,0,255,192,7,10,10, - 9,1,8,60,102,230,6,12,24,16,50,98,254,7,10,10, - 9,1,8,60,102,70,6,28,6,6,6,142,120,6,6,6, - 9,3,14,56,60,112,96,192,128,15,18,36,15,0,250,24, - 24,248,120,56,56,56,56,56,56,56,56,56,56,56,56,60, - 120,63,248,63,190,55,24,48,0,48,0,56,0,56,0,60, - 0,48,0,15,20,40,17,1,253,15,254,49,248,113,152,225, - 152,225,152,225,152,225,152,113,152,121,152,31,152,1,152,1, - 152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,7, - 254,4,4,4,6,1,7,112,240,240,224,5,6,6,6,1, - 250,32,96,120,56,112,224,7,10,10,9,1,8,24,248,24, - 24,24,24,24,24,24,126,7,9,9,8,0,8,56,76,198, - 198,198,228,120,0,254,11,12,24,14,2,0,132,0,198,0, - 99,0,115,128,57,192,61,224,61,224,57,192,115,128,99,0, - 198,0,132,0,15,16,32,17,1,0,48,6,240,12,48,24, - 48,48,48,48,48,96,48,192,253,128,1,140,3,28,6,44, - 12,44,12,76,24,254,48,12,96,62,15,16,32,17,1,0, - 48,6,240,12,48,24,48,24,48,48,48,96,48,192,252,192, - 1,188,3,102,6,70,6,12,12,8,24,16,48,34,112,126, - 15,16,32,17,1,0,56,6,204,12,12,24,56,48,12,48, - 12,96,140,192,121,128,1,140,3,28,6,60,12,44,12,76, - 24,254,48,12,96,62,10,19,38,12,1,249,14,0,30,0, - 30,0,28,0,0,0,6,0,6,0,6,0,14,0,12,0, - 24,0,56,0,112,0,224,0,224,192,225,192,225,192,243,128, - 62,0,17,23,69,17,0,0,6,0,0,15,0,0,7,128, - 0,1,192,0,0,96,0,0,0,0,0,192,0,1,192,0, - 3,192,0,3,224,0,2,224,0,6,240,0,6,112,0,6, - 112,0,12,120,0,12,56,0,15,248,0,24,28,0,24,28, - 0,16,28,0,48,14,0,48,14,0,252,63,128,17,23,69, - 17,0,0,0,48,0,0,120,0,1,224,0,3,128,0,2, - 0,0,0,0,0,0,192,0,1,192,0,3,192,0,3,224, - 0,2,224,0,6,240,0,6,112,0,6,112,0,12,120,0, - 12,56,0,15,248,0,24,28,0,24,28,0,16,28,0,48, - 14,0,48,14,0,252,63,128,17,23,69,17,0,0,1,192, - 0,3,224,0,7,240,0,14,48,0,8,24,0,0,0,0, - 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, - 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, - 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, - 252,63,128,17,22,66,17,0,0,7,140,0,15,248,0,15, - 240,0,16,96,0,0,0,0,0,192,0,1,192,0,3,192, - 0,3,224,0,2,224,0,6,240,0,6,112,0,6,112,0, - 12,120,0,12,56,0,15,248,0,24,28,0,24,28,0,16, - 28,0,48,14,0,48,14,0,252,63,128,17,22,66,17,0, - 0,7,56,0,15,120,0,15,120,0,6,48,0,0,0,0, - 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, - 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, - 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, - 252,63,128,17,23,69,17,0,0,3,224,0,6,96,0,6, - 96,0,7,96,0,3,128,0,0,0,0,0,192,0,1,192, - 0,3,192,0,3,224,0,2,224,0,6,240,0,6,112,0, - 6,112,0,12,120,0,12,56,0,15,248,0,24,28,0,24, - 28,0,16,28,0,48,14,0,48,14,0,252,63,128,21,17, - 51,22,0,0,7,255,240,1,248,48,1,248,48,3,184,48, - 3,184,48,3,56,0,7,56,0,6,56,0,7,255,224,12, - 56,64,12,56,0,28,56,0,24,56,0,24,56,8,48,56, - 24,48,56,24,248,255,248,14,23,46,15,1,250,7,240,24, - 120,48,48,112,0,96,0,96,0,224,0,224,0,224,0,224, - 0,224,0,240,0,112,0,120,8,60,60,63,240,15,192,1, - 0,3,128,3,192,1,192,3,128,6,0,13,23,46,14,1, - 0,24,0,60,0,94,0,7,0,1,128,0,0,255,240,120, - 48,120,48,120,32,120,32,120,0,120,0,120,0,127,192,120, - 128,120,0,120,0,120,0,120,16,120,24,120,48,255,240,13, - 23,46,14,1,0,1,192,3,224,7,128,14,0,24,0,0, - 0,255,240,120,48,120,48,120,32,120,32,120,0,120,0,120, - 0,127,192,120,128,120,0,120,0,120,0,120,16,120,24,120, - 48,255,240,13,23,46,14,1,0,7,0,15,0,31,128,56, - 192,32,96,0,0,255,240,120,48,120,48,120,32,120,32,120, - 0,120,0,120,0,127,192,120,128,120,0,120,0,120,0,120, - 16,120,24,120,48,255,240,13,22,44,14,1,0,28,224,61, - 224,61,224,24,192,0,0,255,240,120,48,120,48,120,32,120, - 32,120,0,120,0,120,0,127,192,120,128,120,0,120,0,120, - 0,120,16,120,24,120,48,255,240,8,23,23,9,0,0,96, - 240,120,28,6,0,127,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,127,8,23,23,9,1,0,6,31,60,112, - 64,0,254,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,9,23,46,9,0,0,28,0,62,0,126,0,227, - 0,129,128,0,0,127,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,127,0,9,22,44,9,0,0,115,128,247, - 128,247,128,99,0,0,0,127,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,127,0,16,17,34,17,0,0,63, - 224,248,120,56,60,56,30,56,30,56,15,56,15,56,15,255, - 143,56,15,56,15,56,15,56,30,56,30,56,60,56,120,255, - 224,18,22,66,18,0,0,3,204,0,7,248,0,15,248,0, - 8,112,0,0,0,0,248,15,192,124,3,0,60,3,0,62, - 3,0,63,3,0,55,131,0,51,195,0,51,195,0,49,227, - 0,48,243,0,48,123,0,48,123,0,48,63,0,48,31,0, - 48,15,0,48,7,0,252,3,0,15,23,46,17,1,0,12, - 0,30,0,15,0,3,128,0,64,0,0,7,192,24,112,48, - 56,48,28,96,28,96,14,224,14,224,14,224,14,224,14,224, - 14,224,12,112,28,112,24,56,24,28,32,7,192,15,23,46, - 17,1,0,0,96,0,240,3,224,7,0,4,0,0,0,7, - 192,24,112,48,56,48,28,96,28,96,14,224,14,224,14,224, - 14,224,14,224,14,224,12,112,28,112,24,56,24,28,32,7, - 192,15,23,46,17,1,0,3,128,7,192,15,224,28,96,16, - 48,0,0,7,192,24,112,48,56,48,28,96,28,96,14,224, - 14,224,14,224,14,224,14,224,14,224,12,112,28,112,24,56, - 24,28,32,7,192,15,22,44,17,1,0,15,24,31,240,31, - 224,48,192,0,0,7,192,24,112,48,56,48,28,96,28,96, - 14,224,14,224,14,224,14,224,14,224,14,224,12,112,28,112, - 24,56,24,28,32,7,192,15,22,44,17,1,0,14,112,30, - 240,30,240,12,96,0,0,7,192,24,112,48,56,48,28,96, - 28,96,14,224,14,224,14,224,14,224,14,224,14,224,12,112, - 28,112,24,56,24,28,32,7,192,9,9,18,11,1,3,193, - 128,227,128,119,0,62,0,28,0,62,0,119,0,227,128,193, - 128,15,18,36,17,1,255,7,238,8,124,56,56,48,60,112, - 124,96,254,224,238,225,206,227,142,227,14,231,14,254,12,124, - 28,124,24,56,48,124,32,239,192,128,0,17,23,69,18,0, - 0,3,0,0,7,128,0,3,192,0,0,224,0,0,48,0, - 0,0,0,254,31,128,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, - 0,56,6,0,56,6,0,56,6,0,56,4,0,28,12,0, - 14,24,0,3,224,0,17,23,69,18,0,0,0,56,0,0, - 124,0,0,240,0,1,192,0,3,0,0,0,0,0,254,31, - 128,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,4,0,28,12,0,14,24,0,3,224, - 0,17,23,69,18,0,0,0,224,0,1,224,0,3,240,0, - 7,24,0,4,12,0,0,0,0,254,31,128,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, - 0,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, - 56,4,0,28,12,0,14,24,0,3,224,0,17,22,66,18, - 0,0,3,156,0,7,188,0,7,188,0,3,24,0,0,0, - 0,254,31,128,56,6,0,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,4,0,28,12,0,14,24, - 0,3,224,0,16,23,46,17,0,0,0,48,0,248,1,224, - 3,128,2,0,0,0,248,31,60,14,28,12,14,24,15,24, - 7,48,7,48,3,224,3,224,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,7,240,14,17,34,15,0,0,254,0, - 56,0,56,0,63,192,56,112,56,56,56,28,56,28,56,28, - 56,28,56,56,56,112,59,224,56,0,56,0,56,0,254,0, - 15,20,40,17,0,0,1,240,6,60,12,28,24,14,24,14, - 56,14,56,28,56,56,56,96,56,192,56,192,56,224,56,120, - 56,60,56,30,56,14,57,6,57,134,57,132,249,248,12,20, - 40,13,1,0,56,0,60,0,28,0,14,0,6,0,3,0, - 0,0,0,0,31,128,113,192,241,192,129,192,3,192,63,192, - 113,192,225,192,225,192,227,240,253,224,121,128,12,20,40,13, - 1,0,3,192,3,192,7,128,7,0,14,0,12,0,0,0, - 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,12,20,40,13,1,0, - 6,0,15,0,31,0,59,128,48,192,96,64,0,0,0,0, - 31,128,113,192,241,192,129,192,3,192,63,192,113,192,225,192, - 225,192,227,240,253,224,121,128,12,19,38,13,1,0,0,32, - 28,96,63,192,71,192,67,128,0,0,0,0,31,128,113,192, - 241,192,129,192,3,192,63,192,113,192,225,192,225,192,227,240, - 253,224,121,128,12,18,36,13,1,0,57,192,61,224,57,192, - 57,192,0,0,0,0,31,128,113,192,241,192,129,192,3,192, - 63,192,113,192,225,192,225,192,227,240,253,224,121,128,12,19, - 38,13,1,0,15,0,27,0,25,128,27,0,30,0,0,0, - 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,18,12,36,20,1,0, - 7,158,0,31,227,0,56,225,128,112,193,128,64,193,128,15, - 255,0,56,192,0,96,192,0,224,224,128,227,241,192,254,127, - 0,124,62,0,11,18,36,12,1,250,15,224,48,192,112,192, - 96,64,224,0,224,0,224,0,224,0,240,64,120,192,63,128, - 31,0,4,0,14,0,15,0,7,0,14,0,24,0,11,20, - 40,13,1,0,60,0,60,0,30,0,14,0,7,0,1,0, - 0,0,0,0,15,0,49,192,112,192,96,224,224,224,255,192, - 224,0,224,0,240,64,120,224,63,192,31,0,11,20,40,13, - 1,0,1,192,3,192,3,128,7,0,6,0,12,0,0,0, - 0,0,15,0,49,192,112,192,96,224,224,224,255,192,224,0, - 224,0,240,64,120,224,63,192,31,0,11,20,40,13,1,0, - 6,0,15,0,31,128,29,128,48,192,32,96,0,0,0,0, - 15,0,49,192,112,192,96,224,224,224,255,192,224,0,224,0, - 240,64,120,224,63,192,31,0,11,18,36,13,1,0,24,192, - 61,224,61,224,57,192,0,0,0,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,8,20,20,8,0,0,240,240,120,24,12,4,0,0, - 28,124,28,28,28,28,28,28,28,28,28,127,7,20,20,8, - 1,0,14,30,28,56,48,96,0,0,56,248,56,56,56,56, - 56,56,56,56,56,254,9,20,40,8,0,0,24,0,60,0, - 126,0,118,0,195,0,129,128,0,0,0,0,28,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,127,0,9,18,36,8,0,0,115,128,247,128,247,128, - 231,0,0,0,0,0,28,0,124,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,127,0,12,19, - 38,14,1,0,12,0,126,112,15,224,15,128,61,192,0,224, - 0,224,15,224,49,240,96,240,96,112,224,112,224,112,224,112, - 224,96,224,96,112,192,56,128,31,0,15,19,38,16,1,0, - 0,16,14,48,31,224,51,224,33,192,0,0,0,0,24,240, - 251,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,12,20,40,14,1,0,28,0,60,0, - 14,0,6,0,3,0,1,128,0,0,0,0,15,128,49,192, - 112,224,96,112,224,112,224,112,224,112,224,112,224,96,112,96, - 56,192,31,0,12,20,40,14,1,0,1,192,3,224,3,128, - 7,0,6,0,12,0,0,0,0,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,12,20,40,14,1,0,7,0,15,0,15,128,29,192, - 56,192,32,96,0,0,0,0,15,128,49,192,112,224,96,112, - 224,112,224,112,224,112,224,112,224,96,112,96,56,192,31,0, - 12,19,38,14,1,0,0,48,30,32,63,224,39,192,65,128, - 0,0,0,0,15,128,49,192,112,224,96,112,224,112,224,112, - 224,112,224,112,224,96,112,96,56,192,31,0,12,18,36,14, - 1,0,28,224,61,224,61,224,24,192,0,0,0,0,15,128, - 49,192,112,224,96,112,224,112,224,112,224,112,224,112,224,96, - 112,96,56,192,31,0,10,10,20,11,1,2,12,0,12,0, - 12,0,0,0,255,192,0,0,0,0,12,0,12,0,12,0, - 12,14,28,14,1,255,0,16,15,176,49,224,112,224,97,240, - 227,112,230,112,230,112,236,112,248,96,112,224,120,192,95,0, - 128,0,15,20,40,15,0,0,14,0,15,0,7,0,3,128, - 1,128,0,192,0,0,0,0,56,56,248,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,250,63,190,30,56, - 15,20,40,15,0,0,0,224,0,240,1,192,1,128,3,0, - 2,0,0,0,0,0,56,56,248,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,250,63,190,30,56,15,20, - 40,15,0,0,3,128,3,192,7,192,14,224,28,112,24,16, - 0,0,0,0,56,56,248,248,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,250,63,190,30,56,15,18,36,15, - 0,0,14,112,14,112,30,240,14,112,0,0,0,0,56,56, - 248,248,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,250,63,190,30,56,15,26,52,14,255,250,0,112,0,240, - 0,224,1,192,1,128,3,0,0,0,0,0,126,62,60,24, - 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, - 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0, - 13,26,52,15,1,250,24,0,248,0,56,0,56,0,56,0, - 56,0,56,0,56,0,57,224,63,240,60,112,56,56,56,24, - 56,24,56,24,56,24,56,16,60,48,63,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,15,24,48,14,255,250, - 7,56,15,120,15,120,14,112,0,0,0,0,126,62,60,24, - 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, - 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 16 - Calculated Max Values w=12 h=25 x= 2 y= 9 dx=14 dy= 0 ascent=21 len=50 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =16 descent= 0 - X Font ascent =16 descent= 0 - Max Font ascent =21 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17n[561] U8G_FONT_SECTION("u8g_font_gdb17n") = { - 0,42,39,242,246,16,0,0,0,0,42,58,0,21,251,16, - 0,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=23 h=27 x= 3 y=14 dx=23 dy= 0 ascent=22 len=69 - Font Bounding box w=42 h=39 x=-14 y=-10 - Calculated Min Values x=-4 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb17r[3540] U8G_FONT_SECTION("u8g_font_gdb17r") = { - 0,42,39,242,246,17,4,81,9,172,32,127,250,22,250,21, - 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, - 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, - 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, - 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, - 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, - 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, - 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, - 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, - 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, - 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, - 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, - 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, - 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, - 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, - 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, - 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, - 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, - 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, - 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, - 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, - 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, - 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, - 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, - 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, - 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, - 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, - 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, - 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, - 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, - 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, - 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, - 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, - 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, - 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, - 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, - 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, - 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, - 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, - 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, - 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, - 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, - 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, - 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, - 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, - 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, - 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, - 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, - 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, - 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, - 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, - 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, - 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, - 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, - 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, - 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, - 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, - 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, - 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, - 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, - 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, - 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, - 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, - 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, - 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, - 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, - 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, - 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, - 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, - 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, - 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, - 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, - 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, - 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, - 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, - 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, - 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, - 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, - 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, - 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, - 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, - 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, - 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, - 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, - 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, - 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, - 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, - 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, - 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, - 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, - 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, - 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, - 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, - 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, - 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, - 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, - 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, - 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, - 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, - 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, - 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, - 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, - 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, - 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, - 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, - 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, - 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, - 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, - 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, - 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, - 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, - 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, - 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, - 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, - 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, - 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, - 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, - 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, - 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, - 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, - 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, - 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, - 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, - 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, - 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, - 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, - 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, - 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, - 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, - 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, - 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, - 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, - 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, - 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, - 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, - 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, - 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, - 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, - 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, - 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, - 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, - 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, - 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, - 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, - 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, - 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, - 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, - 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, - 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, - 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, - 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, - 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, - 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, - 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, - 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, - 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, - 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, - 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, - 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, - 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, - 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, - 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, - 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, - 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, - 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, - 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, - 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, - 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, - 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, - 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, - 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, - 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, - 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, - 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, - 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, - 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, - 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, - 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, - 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, - 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, - 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, - 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, - 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, - 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, - 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, - 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, - 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, - 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, - 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, - 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, - 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, - 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=18 dx=28 dy= 0 ascent=28 len=112 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x=-5 y=-9 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =28 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20[10077] U8G_FONT_SECTION("u8g_font_gdb20") = { - 0,49,47,240,244,20,5,86,12,137,32,255,248,28,247,25, - 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, - 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, - 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, - 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, - 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, - 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, - 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, - 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, - 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, - 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, - 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, - 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, - 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, - 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, - 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, - 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, - 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, - 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, - 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, - 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, - 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, - 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, - 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, - 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, - 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, - 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, - 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, - 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, - 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, - 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, - 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, - 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, - 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, - 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, - 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, - 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, - 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, - 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, - 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, - 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, - 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, - 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, - 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, - 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, - 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, - 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, - 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, - 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, - 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, - 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, - 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, - 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, - 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, - 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, - 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, - 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, - 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, - 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, - 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, - 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, - 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, - 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, - 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, - 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, - 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, - 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, - 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, - 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, - 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, - 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, - 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, - 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, - 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, - 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, - 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, - 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, - 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, - 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, - 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, - 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, - 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, - 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, - 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, - 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, - 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, - 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, - 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, - 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, - 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, - 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, - 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, - 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, - 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, - 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, - 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, - 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, - 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, - 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, - 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, - 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, - 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, - 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, - 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, - 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, - 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, - 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, - 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, - 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, - 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, - 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, - 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, - 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, - 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, - 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, - 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, - 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, - 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, - 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, - 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, - 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, - 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, - 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, - 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, - 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, - 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, - 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, - 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, - 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, - 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, - 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, - 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, - 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, - 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, - 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, - 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, - 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, - 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, - 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, - 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, - 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, - 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, - 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, - 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, - 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, - 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, - 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, - 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, - 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, - 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, - 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, - 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, - 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, - 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, - 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, - 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, - 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, - 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, - 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, - 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, - 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, - 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, - 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, - 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, - 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, - 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, - 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, - 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, - 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, - 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, - 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, - 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, - 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, - 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, - 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, - 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, - 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, - 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, - 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, - 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, - 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, - 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, - 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, - 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, - 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, - 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, - 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, - 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, - 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, - 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, - 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, - 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, - 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, - 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, - 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, - 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, - 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, - 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, - 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, - 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, - 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, - 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, - 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, - 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, - 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, - 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, - 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, - 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, - 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, - 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, - 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, - 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, - 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, - 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, - 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, - 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, - 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, - 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, - 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,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,8,0,0,5,24, - 24,10,2,247,112,248,248,248,112,0,0,48,48,48,48,112, - 112,112,112,120,120,120,120,120,120,120,120,96,13,20,40,16, - 2,255,3,0,3,0,3,0,15,248,31,248,59,56,115,16, - 227,0,227,0,227,0,227,0,227,0,227,0,115,24,123,48, - 63,224,31,192,3,0,3,0,3,0,14,19,38,16,1,0, - 1,252,6,60,14,28,28,12,28,8,60,0,60,0,60,0, - 60,0,255,224,60,0,60,0,60,0,60,4,56,4,56,12, - 127,252,255,252,128,48,12,13,26,16,2,3,192,48,239,112, - 112,224,48,192,96,96,96,96,96,96,96,96,112,224,57,192, - 111,96,192,48,128,16,18,19,57,16,255,0,248,31,192,252, - 15,128,62,6,0,30,14,0,31,12,0,15,156,0,7,152, - 0,7,248,0,3,240,0,3,240,0,3,240,0,1,224,0, - 63,255,0,1,224,0,1,224,0,1,224,0,1,224,0,3, - 240,0,7,248,0,2,32,32,7,3,250,64,192,192,192,192, - 192,192,192,192,192,192,192,192,192,128,0,0,64,192,192,192, - 192,192,192,192,192,192,192,192,192,192,128,12,22,44,16,2, - 0,15,192,49,224,112,224,112,64,124,0,126,0,63,128,127, - 192,99,224,225,240,224,240,240,112,252,112,127,112,63,224,31, - 192,7,224,65,224,64,224,224,224,240,192,127,0,11,5,10, - 13,1,17,112,224,241,224,241,224,241,224,225,192,21,21,63, - 23,1,0,1,252,0,7,7,0,12,1,128,24,0,192,48, - 126,96,96,199,48,97,134,48,195,2,24,199,0,24,199,0, - 24,199,0,24,199,0,24,199,0,24,199,128,24,99,199,48, - 97,252,48,48,248,96,16,0,64,8,1,128,6,3,0,1, - 252,0,7,11,11,9,1,9,60,204,140,60,108,204,206,252, - 0,0,254,14,15,30,16,1,0,2,8,6,28,12,56,28, - 112,56,112,120,224,241,224,243,192,241,224,120,224,56,112,28, - 112,12,56,6,24,2,12,13,7,14,16,2,3,255,248,255, - 248,0,24,0,24,0,24,0,24,0,16,10,2,4,11,1, - 7,255,192,255,128,12,11,22,11,0,11,31,128,48,192,126, - 96,219,48,219,48,222,48,219,48,217,48,100,224,48,192,31, - 128,14,3,6,16,1,18,127,248,127,252,255,248,7,8,8, - 11,2,12,60,126,70,198,198,204,252,120,12,15,30,13,1, - 2,6,0,6,0,6,0,6,0,6,0,127,240,255,224,6, - 0,6,0,6,0,6,0,4,0,0,0,255,240,255,224,8, - 11,11,11,2,10,62,115,227,3,6,6,12,24,49,97,255, - 9,11,22,11,1,10,62,0,231,0,231,0,7,0,28,0, - 63,0,7,128,3,128,3,128,199,0,126,0,8,8,8,10, - 3,16,28,30,63,60,120,112,224,192,18,23,69,19,1,248, - 28,6,0,252,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,62,62,0,63,255,128,63,223,192,51,142,0,48,0,0, - 48,0,0,56,0,0,56,0,0,56,0,0,60,0,0,62, - 0,0,48,0,0,17,24,72,19,1,252,15,255,128,60,127, - 0,120,102,0,112,102,0,240,102,0,240,102,0,240,102,0, - 240,102,0,120,102,0,120,102,0,60,102,0,15,230,0,0, - 102,0,0,102,0,0,102,0,0,102,0,0,102,0,0,102, - 0,0,102,0,0,102,0,0,102,0,0,102,0,0,255,0, - 1,255,128,5,5,5,7,1,8,112,248,248,248,112,7,7, - 7,7,0,249,24,48,60,62,30,60,240,8,11,11,11,2, - 10,8,248,24,24,24,24,24,24,24,24,255,7,11,11,9, - 1,9,56,76,198,198,198,198,198,108,56,0,254,13,15,30, - 16,2,0,129,0,195,128,97,128,112,192,56,224,60,112,30, - 120,30,120,30,120,60,112,56,224,112,192,97,192,193,128,131, - 0,17,19,57,20,2,0,48,3,128,240,3,0,48,6,0, - 48,12,0,48,28,0,48,24,0,48,48,0,48,96,0,120, - 224,0,132,193,0,1,135,0,3,15,0,7,11,0,6,19, - 0,12,51,0,24,63,128,56,67,0,48,3,0,224,15,128, - 17,19,57,20,2,0,48,1,128,240,3,0,48,7,0,48, - 6,0,48,12,0,48,24,0,48,56,0,48,48,0,120,96, - 0,132,192,0,1,207,0,1,153,128,3,49,128,7,1,0, - 14,3,0,12,6,0,24,12,0,56,24,128,112,63,128,18, - 19,57,20,1,0,60,1,192,102,1,128,70,3,0,12,6, - 0,28,14,0,6,12,0,6,24,0,134,48,0,124,112,0, - 0,96,128,0,195,128,1,135,128,3,133,128,3,9,128,6, - 25,128,12,31,192,28,33,128,24,1,128,112,7,192,13,23, - 46,15,1,248,7,0,15,128,15,128,15,128,7,0,0,0, - 0,0,3,0,3,0,3,0,7,0,6,0,14,0,28,0, - 60,0,120,0,112,0,240,24,240,120,240,120,240,120,120,240, - 63,192,20,28,84,20,0,0,3,0,0,7,128,0,7,192, - 0,15,224,0,1,224,0,0,112,0,0,24,0,0,0,0, - 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, - 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, - 24,3,128,56,3,192,56,3,192,254,15,240,20,28,84,20, - 0,0,0,8,0,0,30,0,0,62,0,0,124,0,0,240, - 0,1,224,0,1,128,0,0,0,0,0,32,0,0,240,0, - 0,240,0,1,248,0,1,248,0,1,248,0,3,188,0,3, - 60,0,3,60,0,7,30,0,6,30,0,14,31,0,15,255, - 0,12,7,0,28,7,128,24,7,128,24,3,128,56,3,192, - 56,3,192,254,15,240,20,27,81,20,0,0,0,224,0,0, - 240,0,1,248,0,3,252,0,7,14,0,4,6,0,0,0, - 0,0,32,0,0,240,0,0,240,0,1,248,0,1,248,0, - 1,248,0,3,188,0,3,60,0,3,60,0,7,30,0,6, - 30,0,14,31,0,15,255,0,12,7,0,28,7,128,24,7, - 128,24,3,128,56,3,192,56,3,192,254,15,240,20,26,78, - 20,0,0,3,195,0,7,254,0,7,254,0,12,124,0,8, - 0,0,0,0,0,0,32,0,0,240,0,0,240,0,1,248, - 0,1,248,0,1,248,0,3,188,0,3,60,0,3,60,0, - 7,30,0,6,30,0,14,31,0,15,255,0,12,7,0,28, - 7,128,24,7,128,24,3,128,56,3,192,56,3,192,254,15, - 240,20,26,78,20,0,0,6,12,0,15,30,0,15,30,0, - 15,30,0,14,28,0,0,0,0,0,32,0,0,240,0,0, - 240,0,1,248,0,1,248,0,1,248,0,3,188,0,3,60, - 0,3,60,0,7,30,0,6,30,0,14,31,0,15,255,0, - 12,7,0,28,7,128,24,7,128,24,3,128,56,3,192,56, - 3,192,254,15,240,20,27,81,20,0,0,0,112,0,1,152, - 0,1,152,0,1,144,0,0,224,0,0,0,0,0,0,0, - 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, - 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, - 24,3,128,56,3,192,56,3,192,254,15,240,25,20,80,26, - 0,0,3,255,255,0,0,255,3,0,0,255,3,0,0,239, - 3,0,0,239,3,0,1,207,0,0,1,207,0,0,3,143, - 0,0,3,143,0,0,3,255,254,0,7,15,4,0,6,15, - 0,0,14,15,0,0,14,15,0,0,12,15,0,0,28,15, - 0,0,24,15,0,128,24,15,1,128,56,31,1,128,254,63, - 255,128,16,27,54,18,1,249,1,254,6,31,28,14,56,4, - 56,0,112,0,112,0,240,0,240,0,240,0,240,0,240,0, - 240,0,248,0,120,0,124,1,126,7,63,254,31,252,15,240, - 0,192,1,192,1,240,0,240,0,240,1,224,3,128,15,28, - 56,17,1,0,8,0,28,0,62,0,31,0,7,128,1,192, - 0,64,0,0,255,252,124,12,60,12,60,12,60,12,60,0, - 60,0,60,0,60,0,63,240,60,32,60,0,60,0,60,0, - 60,0,60,0,60,2,60,6,124,14,255,254,15,28,56,17, - 1,0,0,96,0,240,1,248,1,240,3,192,7,0,12,0, - 0,0,255,252,124,12,60,12,60,12,60,12,60,0,60,0, - 60,0,60,0,63,240,60,32,60,0,60,0,60,0,60,0, - 60,0,60,2,60,6,124,14,255,254,15,27,54,17,1,0, - 3,128,7,192,15,192,31,224,28,112,48,24,0,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,2, - 60,6,124,14,255,254,15,26,52,17,1,0,56,112,56,112, - 120,240,120,240,48,96,0,0,255,252,124,12,60,12,60,12, - 60,12,60,0,60,0,60,0,60,0,63,240,60,32,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 9,28,56,10,0,0,32,0,240,0,248,0,124,0,30,0, - 15,0,3,0,0,0,127,128,63,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,63,0,127,128,10,28, - 56,10,1,0,2,0,7,128,15,192,31,0,62,0,120,0, - 96,0,0,0,255,0,126,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,10,27,54,10, - 0,0,12,0,30,0,63,0,127,128,225,192,192,64,0,0, - 127,128,63,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,127,128,11,26,52,10,255,0,112,224, - 241,224,241,224,241,224,96,192,0,0,63,192,31,128,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,31,128, - 63,192,18,20,60,20,1,0,63,240,0,252,60,0,60,14, - 0,60,15,0,60,7,128,60,7,128,60,3,192,60,3,192, - 60,3,192,255,195,192,60,3,192,60,3,192,60,3,192,60, - 3,128,60,7,128,60,7,128,60,15,0,60,14,0,124,28, - 0,255,240,0,19,26,78,21,1,0,3,195,0,7,254,0, - 15,252,0,12,120,0,24,0,0,0,0,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,28,84,20,1,0,2,0, - 0,15,0,0,15,128,0,7,192,0,3,224,0,0,240,0, - 0,48,0,0,0,0,3,240,0,12,28,0,28,14,0,56, - 7,0,56,7,128,112,7,128,112,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,248,3,128, - 120,7,128,120,7,0,60,15,0,30,30,0,15,248,0,3, - 224,0,18,28,84,20,1,0,0,16,0,0,60,0,0,124, - 0,0,248,0,1,224,0,3,192,0,3,0,0,0,0,0, - 3,240,0,12,28,0,28,14,0,56,7,0,56,7,128,112, - 7,128,112,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,248,3,128,120,7,128,120,7,0, - 60,15,0,30,30,0,15,248,0,3,224,0,18,27,81,20, - 1,0,0,192,0,1,224,0,3,240,0,7,248,0,14,28, - 0,8,12,0,0,0,0,3,240,0,12,28,0,28,14,0, - 56,7,0,56,7,128,112,7,128,112,3,192,240,3,192,240, - 3,192,240,3,192,240,3,192,240,3,192,240,3,192,248,3, - 128,120,7,128,120,7,0,60,15,0,30,30,0,15,248,0, - 3,224,0,18,26,78,20,1,0,3,198,0,15,252,0,15, - 252,0,24,120,0,16,0,0,0,0,0,3,240,0,12,28, - 0,28,14,0,56,7,0,56,7,128,112,7,128,112,3,192, - 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,248,3,128,120,7,128,120,7,0,60,15,0,30,30, - 0,15,248,0,3,224,0,18,26,78,20,1,0,14,28,0, - 30,60,0,30,60,0,30,60,0,28,56,0,0,0,0,3, - 240,0,12,28,0,28,14,0,56,7,0,56,7,128,112,7, - 128,112,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,192,248,3,128,120,7,128,120,7,0,60, - 15,0,30,30,0,15,248,0,3,224,0,11,10,20,13,1, - 4,96,96,240,224,57,192,31,128,15,0,15,0,31,128,57, - 192,112,224,224,96,18,21,63,20,1,255,3,241,192,12,31, - 128,28,15,0,56,15,0,56,31,128,112,63,128,112,63,192, - 240,123,192,240,243,192,240,227,192,241,195,192,241,195,192,243, - 131,192,247,3,128,126,7,128,126,7,0,60,7,0,62,14, - 0,127,248,0,227,224,0,128,0,0,19,28,84,21,1,0, - 3,0,0,7,128,0,15,192,0,7,192,0,1,224,0,0, - 112,0,0,24,0,0,0,0,255,7,224,126,3,192,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,3,0,30,3,0,15,6,0,7,252, - 0,3,240,0,19,28,84,21,1,0,0,8,0,0,30,0, - 0,62,0,0,124,0,0,240,0,1,192,0,1,128,0,0, - 0,0,255,7,224,126,3,192,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 3,0,30,3,0,15,6,0,7,252,0,3,240,0,19,27, - 81,21,1,0,0,224,0,0,240,0,1,248,0,3,252,0, - 7,14,0,12,6,0,0,0,0,255,7,224,126,3,192,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,3,0,30,3,0,15,6,0,7, - 252,0,3,240,0,19,26,78,21,1,0,6,12,0,15,30, - 0,15,30,0,15,30,0,14,28,0,0,0,0,255,7,224, - 126,3,192,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, - 128,60,1,128,60,1,128,60,1,128,60,3,0,30,3,0, - 15,6,0,7,252,0,3,240,0,19,28,84,20,0,0,0, - 8,0,0,30,0,0,62,0,0,124,0,0,240,0,1,192, - 0,1,128,0,0,0,0,252,7,224,60,3,192,30,3,128, - 15,3,0,15,7,0,7,134,0,3,142,0,3,204,0,1, - 220,0,1,248,0,0,248,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,1,248,0, - 3,252,0,16,20,40,18,1,0,255,128,126,0,60,0,60, - 0,63,240,60,60,60,30,60,15,60,15,60,15,60,15,60, - 14,60,30,60,60,63,240,60,0,60,0,60,0,126,0,255, - 128,18,24,72,21,1,0,0,248,0,3,254,0,15,31,0, - 14,15,128,28,7,128,28,7,128,60,7,128,60,7,128,60, - 15,0,60,60,0,60,112,0,60,224,0,60,224,0,60,240, - 0,60,252,0,60,127,0,60,63,128,60,15,192,60,7,192, - 61,3,192,60,129,192,60,193,128,124,225,128,252,254,0,14, - 24,48,16,1,0,28,0,62,0,30,0,15,0,7,0,3, - 128,1,128,0,192,0,0,31,192,112,224,240,240,192,240,0, - 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, - 252,126,248,56,96,14,24,48,16,1,0,0,224,1,240,1, - 224,3,192,3,128,3,0,7,0,6,0,0,0,31,192,112, - 224,240,240,192,240,0,240,3,240,31,240,63,240,120,240,240, - 240,240,240,240,240,251,252,126,248,56,96,14,23,46,16,1, - 0,3,128,7,128,15,192,31,224,28,224,56,48,32,16,0, - 0,31,192,112,224,240,240,192,240,0,240,3,240,31,240,63, - 240,120,240,240,240,240,240,240,240,251,252,126,248,56,96,14, - 22,44,16,1,0,14,8,31,24,63,240,99,240,64,224,0, - 0,0,0,31,192,112,224,240,240,192,240,0,240,3,240,31, - 240,63,240,120,240,240,240,240,240,240,240,251,252,126,248,56, - 96,14,22,44,16,1,0,56,112,120,240,120,240,120,240,48, - 96,0,0,0,0,31,192,112,224,240,240,192,240,0,240,3, - 240,31,240,63,240,120,240,240,240,240,240,240,240,251,252,126, - 248,56,96,14,22,44,16,1,0,3,128,4,192,12,192,12, - 192,7,128,0,0,0,0,31,192,112,224,240,240,192,240,0, - 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, - 252,126,248,56,96,22,15,45,23,1,0,3,227,224,31,252, - 112,60,252,56,120,120,60,112,120,60,128,120,60,7,255,248, - 28,120,0,120,120,0,112,120,0,240,124,8,249,254,28,255, - 191,248,127,31,240,60,7,192,14,22,44,15,1,249,3,248, - 12,120,56,48,112,16,112,0,240,0,240,0,240,0,240,0, - 240,0,248,8,124,28,63,248,31,240,15,192,3,0,3,192, - 3,224,5,224,1,224,3,192,14,0,13,24,48,15,1,0, - 14,0,30,0,31,0,15,0,7,128,3,128,1,192,0,192, - 0,0,7,192,24,224,56,112,112,120,112,120,240,120,255,240, - 240,0,240,0,240,0,248,8,124,56,127,240,63,224,15,128, - 13,24,48,15,1,0,0,224,0,240,1,240,1,224,3,192, - 3,128,7,0,6,0,0,0,7,192,24,224,56,112,112,120, - 112,120,240,120,255,240,240,0,240,0,240,0,248,8,124,56, - 127,240,63,224,15,128,13,23,46,15,1,0,3,128,7,192, - 15,192,15,224,28,112,56,48,48,24,0,0,7,192,24,224, - 56,112,112,120,112,120,240,120,255,240,240,0,240,0,240,0, - 248,8,124,56,127,240,63,224,15,128,13,22,44,15,1,0, - 56,112,56,112,120,240,120,240,48,96,0,0,0,0,7,192, - 24,224,56,112,112,120,112,120,240,120,255,240,240,0,240,0, - 240,0,248,8,124,56,127,240,63,224,15,128,9,24,48,10, - 0,0,112,0,248,0,120,0,60,0,28,0,14,0,6,0, - 2,0,0,0,14,0,126,0,62,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,63,0, - 127,128,9,24,48,10,1,0,7,0,15,128,15,0,30,0, - 28,0,56,0,48,0,32,0,0,0,28,0,252,0,124,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,0,10,23,46,10,0,0,28,0, - 30,0,63,0,127,0,115,128,193,192,128,64,0,0,14,0, - 126,0,62,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,63,0,127,128,11,22,44,10, - 255,0,112,224,241,224,241,224,241,224,225,192,0,0,0,0, - 7,0,63,0,31,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,31,128,63,192,14,23, - 46,16,1,0,14,0,63,28,95,248,3,224,15,224,60,224, - 0,112,0,56,15,248,24,248,56,124,112,60,112,60,240,60, - 240,60,240,60,240,60,240,56,240,56,120,112,120,112,60,96, - 15,128,17,22,66,19,1,0,7,6,0,15,204,0,31,252, - 0,17,248,0,48,112,0,0,0,0,0,0,0,12,60,0, - 252,252,0,127,254,0,63,30,0,62,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,126,63,0,255,127,128,15,24,48,17,1,0, - 14,0,31,0,15,0,7,0,3,128,1,128,0,192,0,192, - 0,0,7,224,24,112,56,56,112,60,112,30,240,30,240,30, - 240,30,240,30,240,30,240,28,120,28,56,56,28,48,15,192, - 15,24,48,17,1,0,0,240,0,248,0,240,1,224,1,192, - 3,128,3,0,6,0,0,0,7,224,24,112,56,56,112,60, - 112,30,240,30,240,30,240,30,240,30,240,30,240,28,120,28, - 56,56,28,48,15,192,15,23,46,17,1,0,3,128,3,192, - 7,224,15,224,30,112,24,56,48,24,0,0,7,224,24,112, - 56,56,112,60,112,30,240,30,240,30,240,30,240,30,240,30, - 240,28,120,28,56,56,28,48,15,192,15,22,44,17,1,0, - 14,12,31,136,31,248,49,240,32,224,0,0,0,0,7,224, - 24,112,56,56,112,60,112,30,240,30,240,30,240,30,240,30, - 240,30,240,28,120,28,56,56,28,48,15,192,15,22,44,17, - 1,0,24,48,60,120,60,120,56,112,56,112,0,0,0,0, - 7,224,24,112,56,56,112,60,112,30,240,30,240,30,240,30, - 240,30,240,30,240,28,120,28,56,56,28,48,15,192,12,12, - 24,13,1,3,6,0,14,0,14,0,12,0,0,0,255,240, - 255,224,0,0,6,0,14,0,14,0,12,0,15,16,32,17, - 1,255,7,238,24,124,56,60,112,124,112,254,240,254,241,222, - 243,158,243,158,247,30,254,28,124,28,124,56,124,48,111,192, - 128,0,17,24,72,18,0,0,7,0,0,15,128,0,7,128, - 0,3,192,0,1,192,0,0,224,0,0,96,0,0,48,0, - 0,0,0,28,14,0,252,126,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,126,0,63,255,128,31,223,0,15,12,0, - 17,24,72,18,0,0,0,56,0,0,124,0,0,120,0,0, - 240,0,0,224,0,0,192,0,1,128,0,1,128,0,0,0, - 0,28,14,0,252,126,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,126,0,63,255,128,31,223,0,15,12,0,17,23, - 69,18,0,0,0,192,0,1,224,0,3,240,0,7,248,0, - 7,56,0,14,12,0,8,4,0,0,0,0,28,14,0,252, - 126,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,126,0, - 63,255,128,31,223,0,15,12,0,17,22,66,18,0,0,14, - 28,0,30,60,0,30,60,0,30,60,0,12,24,0,0,0, - 0,0,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,17,32,96,16,255,248,0,56,0,0,62,0,0,124,0, - 0,120,0,0,240,0,0,224,0,0,192,0,1,128,0,0, - 0,0,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,16,32,64,18,1,248,12,0,252, - 0,124,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 120,61,252,63,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,63,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,30,90, - 16,255,248,6,12,0,15,30,0,15,30,0,14,28,0,14, - 28,0,0,0,0,0,0,0,127,15,128,62,7,0,30,6, - 0,30,6,0,15,14,0,15,12,0,7,140,0,7,152,0, - 7,152,0,3,248,0,3,240,0,1,240,0,1,240,0,1, - 224,0,0,224,0,0,192,0,0,192,0,1,192,0,1,128, - 0,39,128,0,127,0,0,254,0,0,120,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 19 - Calculated Max Values w=14 h=30 x= 2 y=11 dx=17 dy= 0 ascent=25 len=60 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =19 descent= 0 - X Font ascent =19 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20n[646] U8G_FONT_SECTION("u8g_font_gdb20n") = { - 0,49,47,240,244,19,0,0,0,0,42,58,0,25,250,19, - 0,12,13,26,14,1,11,3,0,15,0,70,64,102,112,246, - 240,63,192,15,0,63,224,254,240,230,112,70,32,7,0,14, - 0,12,12,24,13,1,3,6,0,6,0,6,0,6,0,6, - 0,127,240,255,224,6,0,6,0,6,0,6,0,6,0,6, - 10,10,9,2,250,56,252,252,60,60,56,56,112,96,192,10, - 2,4,11,1,7,255,192,255,128,5,5,5,9,2,255,112, - 248,248,248,112,14,30,60,15,1,251,0,28,0,56,0,56, - 0,120,0,112,0,112,0,224,0,224,0,224,1,192,1,192, - 3,128,3,128,3,128,7,0,7,0,7,0,14,0,14,0, - 28,0,28,0,28,0,56,0,56,0,120,0,112,0,112,0, - 224,0,224,0,192,0,14,18,36,16,1,0,7,192,24,224, - 56,112,112,120,112,120,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,240,56,112,56,120,56,56,112,28,96,15,128, - 13,19,38,16,2,0,1,128,15,128,127,128,239,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,63,224,127,248,13,19,38,16, - 1,0,15,224,56,240,120,120,240,120,112,120,0,120,0,240, - 0,240,1,224,1,192,3,128,7,0,14,0,28,8,28,8, - 56,24,127,248,255,248,255,248,13,19,38,16,1,0,31,128, - 121,224,112,240,240,240,64,240,0,240,1,224,7,192,15,192, - 3,240,0,240,0,120,0,120,0,120,0,120,128,240,192,240, - 127,224,31,128,14,19,38,17,1,0,0,48,1,240,1,240, - 3,240,7,240,6,240,12,240,12,240,24,240,56,240,48,240, - 96,240,255,252,255,248,0,240,0,240,0,240,1,248,7,252, - 13,19,38,16,1,0,63,248,63,240,63,224,112,0,112,0, - 96,0,96,0,127,128,127,224,97,240,0,248,0,120,0,120, - 0,120,0,120,0,112,128,240,193,224,127,128,14,20,40,16, - 1,0,0,112,3,240,7,128,15,0,28,0,60,0,120,0, - 120,0,115,224,255,240,252,120,240,124,240,60,240,60,240,60, - 112,60,120,56,56,56,28,112,7,192,13,19,38,16,2,0, - 255,248,255,248,255,240,192,48,128,96,128,96,0,224,0,192, - 1,192,1,128,3,128,3,128,7,0,7,0,14,0,14,0, - 30,0,28,0,56,0,14,19,38,16,1,0,15,192,24,240, - 48,120,112,120,112,120,120,120,126,240,63,192,31,224,15,240, - 63,248,120,252,248,124,240,60,240,60,240,56,112,56,56,112, - 31,192,14,20,40,16,1,255,7,192,24,240,56,120,112,120, - 240,60,240,60,240,60,240,60,248,60,124,124,63,252,31,60, - 0,56,0,120,0,112,0,240,1,224,7,128,63,0,56,0, - 5,16,16,9,2,255,112,248,248,248,112,0,0,0,0,0, - 0,112,248,248,248,112}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=16 dx=28 dy= 0 ascent=26 len=112 - Font Bounding box w=49 h=47 x=-16 y=-12 - Calculated Min Values x=-5 y=-8 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =26 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb20r[4680] U8G_FONT_SECTION("u8g_font_gdb20r") = { - 0,49,47,240,244,20,5,86,12,137,32,127,248,26,248,25, - 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, - 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, - 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, - 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, - 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, - 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, - 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, - 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, - 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, - 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, - 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, - 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, - 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, - 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, - 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, - 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, - 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, - 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, - 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, - 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, - 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, - 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, - 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, - 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, - 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, - 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, - 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, - 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, - 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, - 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, - 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, - 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, - 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, - 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, - 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, - 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, - 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, - 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, - 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, - 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, - 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, - 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, - 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, - 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, - 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, - 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, - 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, - 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, - 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, - 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, - 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, - 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, - 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, - 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, - 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, - 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, - 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, - 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, - 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, - 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, - 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, - 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, - 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, - 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, - 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, - 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, - 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, - 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, - 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, - 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, - 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, - 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, - 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, - 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, - 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, - 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, - 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, - 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, - 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, - 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, - 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, - 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, - 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, - 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, - 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, - 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, - 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, - 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, - 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, - 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, - 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, - 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, - 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, - 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, - 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, - 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, - 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, - 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, - 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, - 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, - 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, - 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, - 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, - 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, - 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, - 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, - 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, - 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, - 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, - 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, - 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, - 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, - 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, - 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, - 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, - 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, - 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, - 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, - 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, - 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, - 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, - 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, - 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, - 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, - 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, - 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, - 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, - 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, - 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, - 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, - 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, - 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, - 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, - 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, - 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, - 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, - 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, - 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, - 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, - 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, - 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, - 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, - 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, - 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, - 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, - 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, - 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, - 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, - 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, - 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, - 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, - 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, - 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, - 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, - 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, - 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, - 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, - 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, - 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, - 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, - 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, - 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, - 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, - 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, - 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, - 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, - 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, - 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, - 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, - 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, - 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, - 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, - 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, - 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, - 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, - 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, - 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, - 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, - 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, - 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, - 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, - 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, - 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, - 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, - 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, - 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, - 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, - 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, - 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, - 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, - 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, - 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, - 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, - 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, - 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, - 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, - 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, - 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, - 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, - 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, - 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, - 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, - 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, - 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, - 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, - 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, - 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, - 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, - 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, - 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, - 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, - 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, - 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, - 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, - 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, - 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, - 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, - 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, - 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, - 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, - 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, - 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, - 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, - 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, - 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, - 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, - 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, - 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, - 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, - 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, - 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, - 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, - 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, - 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, - 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, - 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, - 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=34 h=41 x= 4 y=23 dx=35 dy= 0 ascent=34 len=136 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x=-6 y=-11 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =34 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25[14643] U8G_FONT_SECTION("u8g_font_gdb25") = { - 0,61,57,236,242,25,7,167,18,92,32,255,247,34,245,31, - 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, - 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, - 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, - 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, - 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, - 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, - 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, - 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, - 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, - 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, - 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, - 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, - 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, - 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, - 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, - 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, - 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, - 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, - 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, - 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, - 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, - 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, - 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, - 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, - 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, - 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, - 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, - 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, - 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, - 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, - 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, - 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, - 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, - 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, - 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, - 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, - 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, - 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, - 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, - 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, - 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, - 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, - 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, - 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, - 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, - 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, - 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, - 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, - 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, - 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, - 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, - 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, - 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, - 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, - 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, - 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, - 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, - 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, - 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, - 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, - 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, - 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, - 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, - 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, - 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, - 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, - 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, - 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, - 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, - 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, - 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, - 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, - 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, - 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, - 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, - 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, - 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, - 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, - 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, - 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, - 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, - 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, - 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, - 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, - 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, - 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, - 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, - 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, - 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, - 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, - 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, - 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, - 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, - 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, - 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, - 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, - 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, - 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, - 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, - 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, - 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, - 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, - 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, - 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, - 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, - 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, - 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, - 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, - 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, - 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, - 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, - 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, - 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, - 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, - 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, - 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, - 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, - 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, - 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, - 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, - 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, - 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, - 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, - 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, - 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, - 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, - 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, - 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, - 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, - 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, - 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, - 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, - 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, - 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, - 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, - 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, - 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, - 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, - 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, - 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, - 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, - 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, - 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, - 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, - 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, - 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, - 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, - 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, - 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, - 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, - 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, - 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, - 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, - 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, - 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, - 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, - 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, - 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, - 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, - 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, - 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, - 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, - 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, - 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, - 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, - 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, - 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, - 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, - 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, - 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, - 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, - 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, - 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, - 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, - 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, - 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, - 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, - 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, - 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, - 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, - 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, - 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, - 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, - 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, - 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, - 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, - 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, - 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, - 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, - 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, - 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, - 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, - 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, - 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, - 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, - 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, - 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, - 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, - 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, - 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, - 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, - 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, - 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, - 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, - 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, - 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, - 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, - 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, - 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, - 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, - 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, - 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, - 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, - 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, - 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, - 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, - 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, - 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, - 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, - 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, - 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, - 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, - 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, - 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, - 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, - 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, - 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, - 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, - 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, - 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, - 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, - 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, - 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, - 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, - 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, - 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, - 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, - 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, - 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, - 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, - 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, - 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, - 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, - 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, - 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, - 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, - 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, - 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, - 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, - 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, - 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, - 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, - 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, - 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, - 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, - 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, - 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, - 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, - 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, - 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, - 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, - 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, - 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, - 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, - 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, - 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, - 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, - 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, - 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, - 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, - 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, - 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, - 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, - 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, - 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, - 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, - 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, - 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, - 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, - 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, - 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, - 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, - 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, - 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, - 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, - 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, - 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, - 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, - 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, - 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, - 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, - 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, - 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, - 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, - 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, - 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, - 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, - 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, - 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, - 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, - 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, - 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, - 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, - 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, - 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, - 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, - 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, - 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, - 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, - 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, - 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, - 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, - 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, - 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, - 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, - 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, - 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, - 0,99,255,0,192,254,0,128,56,0,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,10,0, - 0,6,29,29,12,3,245,120,252,252,252,248,112,0,16,48, - 56,56,120,120,120,120,120,120,120,120,120,120,120,124,124,252, - 252,252,248,192,16,25,50,20,2,255,0,192,1,192,1,192, - 1,248,7,255,31,255,61,223,121,198,121,198,113,192,241,192, - 241,192,241,192,241,192,241,192,241,192,121,195,125,199,63,206, - 31,252,15,248,3,192,1,192,1,192,1,128,19,25,75,20, - 1,255,0,127,0,1,255,192,3,199,192,7,131,192,7,1, - 192,15,1,128,15,1,128,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,127,252,0,255,248,0,31,0,0,31, - 0,0,31,0,0,31,0,0,30,0,96,30,0,192,30,0, - 192,63,255,192,127,255,192,255,255,192,64,31,128,17,16,48, - 20,1,4,64,0,128,224,1,128,115,243,128,63,255,0,30, - 30,0,28,14,0,56,7,0,56,7,0,56,7,0,56,7, - 0,56,7,0,28,14,0,62,31,0,127,255,128,243,243,128, - 96,1,128,22,24,72,20,254,0,254,3,252,255,3,252,31, - 0,240,31,128,224,15,193,192,7,193,192,7,227,128,3,227, - 128,3,247,128,1,247,0,0,255,0,0,254,0,0,254,0, - 0,124,0,31,255,240,31,255,224,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,3,41,41,9,3,248,96,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,128,0,0,0,64,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,192, - 16,28,56,20,2,0,7,224,31,252,60,124,120,56,120,24, - 124,24,127,0,63,192,63,240,127,248,243,252,240,254,240,63, - 240,31,248,15,126,15,127,15,63,206,15,254,3,252,0,254, - 48,126,48,62,48,30,56,30,60,60,63,248,15,224,14,6, - 12,16,1,21,112,56,120,60,248,124,248,124,240,120,112,56, - 27,26,104,30,1,0,0,63,128,0,1,255,240,0,7,192, - 124,0,15,0,30,0,30,0,15,0,60,31,135,128,56,127, - 227,128,112,225,193,192,113,193,193,192,225,192,193,224,227,128, - 128,224,227,128,0,224,227,128,0,224,227,128,0,224,227,128, - 0,224,227,128,0,224,225,192,1,224,113,224,33,192,112,240, - 113,192,56,127,227,128,60,31,7,128,30,0,15,0,15,0, - 30,0,7,192,124,0,1,255,240,0,0,63,128,0,9,14, - 28,11,1,11,30,0,62,0,103,0,231,0,7,0,63,0, - 103,0,231,0,231,0,255,128,119,0,0,0,255,128,255,128, - 17,18,54,21,1,0,0,128,128,1,129,128,3,3,0,7, - 7,0,14,14,0,30,30,0,60,60,0,124,124,0,248,248, - 0,252,248,0,124,124,0,60,60,0,30,30,0,14,14,0, - 7,7,0,3,3,0,1,129,128,0,128,128,17,9,27,20, - 2,3,255,255,128,255,255,128,0,3,128,0,3,128,0,3, - 128,0,3,128,0,3,128,0,3,128,0,3,0,12,2,4, - 14,1,9,127,240,255,240,13,15,30,14,1,14,15,128,31, - 192,48,96,96,48,95,16,137,136,137,136,143,136,139,8,137, - 8,73,144,124,240,48,96,31,192,15,128,16,3,6,20,2, - 23,255,255,255,255,255,254,10,10,20,14,2,15,15,0,63, - 128,115,192,97,192,225,192,225,192,225,128,243,128,127,0,60, - 0,15,18,36,16,1,3,1,128,3,128,3,128,3,128,3, - 128,3,128,127,254,255,252,3,128,3,128,3,128,3,128,3, - 128,3,0,0,0,0,0,127,254,255,252,11,15,30,13,1, - 12,7,192,31,224,56,224,120,224,112,224,0,192,1,192,3, - 128,3,0,6,0,12,0,24,32,48,96,127,224,255,224,11, - 15,30,13,0,12,7,128,31,224,56,224,56,224,32,224,1, - 192,3,128,7,192,0,224,0,224,0,224,128,224,225,192,127, - 192,31,0,9,10,20,13,4,20,14,0,31,128,31,128,63, - 0,62,0,60,0,120,0,112,0,224,0,64,0,22,27,81, - 23,1,247,14,0,96,254,7,224,254,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,63,7,224,63,143,224,63,255,228, - 63,251,252,59,241,248,57,225,224,56,0,0,56,0,0,60, - 0,0,60,0,0,60,0,0,62,0,0,63,0,0,62,0, - 0,48,0,0,22,30,90,24,1,251,3,255,252,31,255,252, - 63,29,240,124,28,224,124,28,224,248,28,224,248,28,224,248, - 28,224,248,28,224,248,28,224,124,28,224,126,28,224,63,28, - 224,31,252,224,3,252,224,0,28,224,0,28,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, - 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,127, - 248,0,255,252,6,6,6,8,1,11,56,124,252,252,252,120, - 8,9,9,9,1,247,24,56,60,63,127,31,30,252,224,10, - 15,30,14,2,12,6,0,62,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,63, - 0,255,192,9,14,28,11,1,11,30,0,63,0,119,0,227, - 128,227,128,227,128,227,128,227,128,119,0,126,0,60,0,0, - 0,255,128,255,128,17,18,54,21,2,0,64,64,0,224,224, - 0,112,112,0,56,56,0,60,60,0,30,30,0,31,31,0, - 15,143,128,15,143,128,15,143,128,15,143,128,31,31,0,30, - 30,0,60,60,0,56,56,0,112,112,0,96,96,0,192,192, - 0,22,24,72,25,2,0,12,0,24,252,0,56,28,0,112, - 28,0,224,28,1,192,28,1,192,28,3,128,28,7,0,28, - 6,0,28,14,0,62,28,0,255,184,0,0,56,112,0,112, - 240,0,225,240,1,193,112,1,195,112,3,134,112,7,4,112, - 14,15,252,14,31,248,28,0,112,56,0,112,112,1,252,21, - 24,72,25,2,0,12,0,56,252,0,112,28,0,112,28,0, - 224,28,1,192,28,3,128,28,3,128,28,7,0,28,14,0, - 28,28,0,62,28,0,255,184,0,0,113,240,0,227,248,0, - 230,56,1,206,56,3,128,48,7,0,96,7,0,224,14,0, - 192,28,1,136,60,7,8,56,15,248,112,15,248,23,24,72, - 25,1,0,31,0,12,63,128,28,115,128,56,227,128,112,7, - 0,224,31,0,224,3,129,192,3,131,128,3,131,0,135,135, - 0,255,14,0,60,28,0,0,28,56,0,56,120,0,112,248, - 0,224,184,0,225,184,1,195,56,3,130,56,7,7,254,7, - 15,252,14,0,56,28,0,56,56,0,254,16,29,58,18,1, - 245,3,192,7,224,7,224,7,224,7,192,3,128,0,0,0, - 0,1,192,1,192,1,192,1,192,3,192,3,128,7,128,15, - 0,31,0,62,0,60,0,124,0,248,0,248,7,248,31,248, - 31,248,31,252,30,126,60,63,248,15,224,25,34,136,25,0, - 0,0,192,0,0,3,224,0,0,3,240,0,0,3,248,0, - 0,0,252,0,0,0,62,0,0,0,15,0,0,0,2,0, - 0,0,0,0,0,0,4,0,0,0,30,0,0,0,62,0, - 0,0,126,0,0,0,127,0,0,0,111,0,0,0,239,128, - 0,0,239,128,0,0,199,128,0,1,199,192,0,1,199,192, - 0,1,131,192,0,3,131,224,0,3,131,224,0,3,255,224, - 0,7,255,240,0,7,0,240,0,6,0,248,0,14,0,248, - 0,14,0,120,0,12,0,124,0,28,0,124,0,28,0,124, - 0,255,129,255,0,255,129,255,128,25,34,136,25,0,0,0, - 1,128,0,0,3,192,0,0,7,224,0,0,15,192,0,0, - 31,0,0,0,124,0,0,0,240,0,0,0,64,0,0,0, - 0,0,0,0,4,0,0,0,30,0,0,0,62,0,0,0, - 126,0,0,0,127,0,0,0,111,0,0,0,239,128,0,0, - 239,128,0,0,199,128,0,1,199,192,0,1,199,192,0,1, - 131,192,0,3,131,224,0,3,131,224,0,3,255,224,0,7, - 255,240,0,7,0,240,0,6,0,248,0,14,0,248,0,14, - 0,120,0,12,0,124,0,28,0,124,0,28,0,124,0,255, - 129,255,0,255,129,255,128,25,34,136,25,0,0,0,28,0, - 0,0,62,0,0,0,127,0,0,0,255,128,0,1,255,128, - 0,1,227,192,0,3,128,224,0,2,0,64,0,0,0,0, - 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, - 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, - 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, - 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, - 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, - 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, - 0,255,129,255,128,25,33,132,25,0,0,0,248,48,0,1, - 254,240,0,3,255,224,0,3,255,192,0,6,31,128,0,6, - 3,0,0,4,0,0,0,0,0,0,0,0,4,0,0,0, - 30,0,0,0,62,0,0,0,126,0,0,0,127,0,0,0, - 111,0,0,0,239,128,0,0,239,128,0,0,199,128,0,1, - 199,192,0,1,199,192,0,1,131,192,0,3,131,224,0,3, - 131,224,0,3,255,224,0,7,255,240,0,7,0,240,0,6, - 0,248,0,14,0,248,0,14,0,120,0,12,0,124,0,28, - 0,124,0,28,0,124,0,255,129,255,0,255,129,255,128,25, - 32,128,25,0,0,1,192,224,0,3,193,224,0,7,195,224, - 0,7,195,224,0,3,193,224,0,1,129,192,0,0,0,0, - 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, - 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, - 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, - 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, - 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, - 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, - 0,255,129,255,128,25,34,136,25,0,0,0,30,0,0,0, - 127,0,0,0,119,0,0,0,103,0,0,0,231,0,0,0, - 119,0,0,0,126,0,0,0,56,0,0,0,0,0,0,0, - 4,0,0,0,30,0,0,0,62,0,0,0,126,0,0,0, - 127,0,0,0,111,0,0,0,239,128,0,0,239,128,0,0, - 199,128,0,1,199,192,0,1,199,192,0,1,131,192,0,3, - 131,224,0,3,131,224,0,3,255,224,0,7,255,240,0,7, - 0,240,0,6,0,248,0,14,0,248,0,14,0,120,0,12, - 0,124,0,28,0,124,0,28,0,124,0,255,129,255,0,255, - 129,255,128,32,25,100,32,0,0,0,255,255,252,0,255,255, - 252,0,31,240,28,0,61,240,12,0,61,240,12,0,57,240, - 12,0,121,240,12,0,113,240,0,0,241,240,0,0,225,240, - 0,0,225,240,0,1,255,255,240,1,255,255,240,3,193,240, - 32,3,129,240,0,3,129,240,0,7,129,240,0,7,1,240, - 0,15,1,240,0,14,1,240,3,14,1,240,3,30,1,240, - 6,28,1,240,14,255,7,255,254,255,15,255,254,20,34,102, - 22,1,247,0,127,128,3,255,240,7,135,224,15,1,224,30, - 0,192,60,0,64,60,0,0,124,0,0,120,0,0,120,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,252,0,0,124,0,0,126,0,0,127, - 0,96,63,129,224,31,255,192,15,255,0,7,254,0,1,240, - 0,0,224,0,0,248,0,0,252,0,1,252,0,0,124,0, - 0,120,0,1,240,0,1,192,0,19,34,102,21,1,0,6, - 0,0,31,0,0,31,128,0,31,192,0,7,224,0,1,240, - 0,0,120,0,0,16,0,0,0,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,19,34,102,21,1,0,0,12,0,0,31, - 0,0,63,0,0,126,0,0,248,0,1,224,0,3,128,0, - 2,0,0,0,0,0,255,255,192,255,255,192,62,1,192,30, - 1,192,30,1,128,30,1,128,30,0,128,30,0,0,30,0, - 0,30,0,0,30,0,0,31,255,0,31,254,0,30,6,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,96,30,0,96,30,0,224,63,1,224,255,255,224,255,255, - 192,19,34,102,21,1,0,0,224,0,1,240,0,3,248,0, - 7,252,0,15,252,0,15,30,0,28,7,0,16,2,0,0, - 0,0,255,255,192,255,255,192,62,1,192,30,1,192,30,1, - 128,30,1,128,30,0,128,30,0,0,30,0,0,30,0,0, - 30,0,0,31,255,0,31,254,0,30,6,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,96,30,0, - 96,30,0,224,63,1,224,255,255,224,255,255,192,19,32,96, - 21,1,0,14,7,0,30,15,0,31,15,128,30,15,0,30, - 15,0,12,6,0,0,0,0,255,255,192,255,255,192,62,1, - 192,30,1,192,30,1,128,30,1,128,30,0,128,30,0,0, - 30,0,0,30,0,0,30,0,0,31,255,0,31,254,0,30, - 6,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,96,30,0,96,30,0,224,63,1,224,255,255,224, - 255,255,192,12,34,68,13,0,0,48,0,248,0,252,0,254, - 0,63,0,15,128,3,192,0,128,0,0,127,240,63,240,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,63,224,127,240,12,34,68, - 13,1,0,0,192,1,224,3,240,7,224,31,128,62,0,120, - 0,32,0,0,0,255,224,127,224,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,127,192,255,224,13,34,68,13,0,0,7,0,15, - 128,31,192,63,224,127,224,248,240,224,56,128,16,0,0,127, - 240,63,240,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,63,224,127, - 240,14,32,64,13,255,0,56,28,120,60,248,124,248,124,120, - 60,112,56,0,0,63,248,31,248,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, - 192,7,192,31,240,63,248,22,25,75,25,1,0,15,252,0, - 255,255,128,255,15,192,31,3,224,31,1,240,31,1,248,31, - 0,248,31,0,248,31,0,124,31,0,124,31,0,124,255,248, - 124,255,248,124,31,0,124,31,0,124,31,0,124,31,0,120, - 31,0,248,31,0,248,31,1,240,31,1,240,31,3,224,31, - 7,192,127,255,128,255,252,0,25,33,132,27,1,0,0,240, - 48,0,1,254,224,0,3,255,224,0,3,255,192,0,6,31, - 128,0,6,3,0,0,4,0,0,0,0,0,0,0,254,0, - 255,128,255,0,127,0,31,0,28,0,31,128,28,0,31,192, - 28,0,31,192,28,0,31,224,28,0,29,240,28,0,29,248, - 28,0,28,248,28,0,28,124,28,0,28,126,28,0,28,62, - 28,0,28,31,28,0,28,15,156,0,28,15,156,0,28,7, - 220,0,28,3,252,0,28,3,252,0,28,1,252,0,28,0, - 252,0,28,0,252,0,28,0,124,0,127,0,60,0,255,128, - 12,0,23,34,102,25,1,0,1,128,0,7,192,0,7,224, - 0,7,240,0,1,248,0,0,124,0,0,30,0,0,4,0, - 0,0,0,0,126,0,3,255,192,7,135,224,14,1,240,30, - 0,248,60,0,248,60,0,124,124,0,124,120,0,126,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,252,0,60,124,0,124,124,0,120,62,0,120,62, - 0,240,31,1,224,15,195,192,7,255,0,0,252,0,23,34, - 102,25,1,0,0,3,0,0,7,192,0,15,192,0,31,128, - 0,62,0,0,120,0,0,224,0,0,128,0,0,0,0,0, - 126,0,3,255,192,7,135,224,14,1,240,30,0,248,60,0, - 248,60,0,124,124,0,124,120,0,126,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,252, - 0,60,124,0,124,124,0,120,62,0,120,62,0,240,31,1, - 224,15,195,192,7,255,0,0,252,0,23,34,102,25,1,0, - 0,56,0,0,124,0,0,254,0,1,255,0,3,255,0,3, - 199,128,7,1,192,4,0,128,0,0,0,0,126,0,3,255, - 192,7,135,224,14,1,240,30,0,248,60,0,248,60,0,124, - 124,0,124,120,0,126,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,252,0,60,124,0, - 124,124,0,120,62,0,120,62,0,240,31,1,224,15,195,192, - 7,255,0,0,252,0,23,33,99,25,1,0,1,240,96,3, - 252,224,7,255,192,7,255,128,14,63,128,12,6,0,8,0, - 0,0,0,0,0,126,0,3,255,192,7,135,224,14,1,240, - 30,0,248,60,0,248,60,0,124,124,0,124,120,0,126,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,252,0,60,124,0,124,124,0,120,62,0,120, - 62,0,240,31,1,224,15,195,192,7,255,0,0,252,0,23, - 32,96,25,1,0,3,129,192,7,131,192,7,195,224,7,131, - 192,7,131,192,3,1,128,0,0,0,0,126,0,3,255,192, - 7,135,224,14,1,240,30,0,248,60,0,248,60,0,124,124, - 0,124,120,0,126,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,248,0,62,248,0,62,252,0,60,124,0,124, - 124,0,120,62,0,120,62,0,240,31,1,224,15,195,192,7, - 255,0,0,252,0,13,12,24,17,2,5,96,48,240,120,120, - 240,61,224,31,192,15,128,15,128,31,192,57,224,120,240,240, - 120,96,48,23,26,78,25,1,255,0,126,30,3,255,252,7, - 135,248,14,3,240,30,1,248,60,1,252,60,3,252,124,7, - 252,120,15,254,248,15,126,248,30,62,248,62,62,248,60,62, - 248,120,62,248,240,62,248,240,62,253,224,60,127,192,124,127, - 128,120,127,128,120,63,0,240,31,129,224,63,195,192,127,255, - 0,240,252,0,192,0,0,25,34,136,27,1,0,0,192,0, - 0,3,224,0,0,3,240,0,0,3,248,0,0,0,252,0, - 0,0,30,0,0,0,7,0,0,0,2,0,0,0,0,0, - 0,255,224,255,128,127,224,255,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,24,0,15,128,56, - 0,15,128,56,0,7,192,112,0,3,224,224,0,1,255,192, - 0,0,127,0,0,25,34,136,27,1,0,0,1,128,0,0, - 3,224,0,0,7,224,0,0,15,192,0,0,31,0,0,0, - 60,0,0,0,112,0,0,0,64,0,0,0,0,0,0,255, - 224,255,128,127,224,255,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,24,0,15,128,56,0,15, - 128,56,0,7,192,112,0,3,224,224,0,1,255,192,0,0, - 127,0,0,25,34,136,27,1,0,0,28,0,0,0,62,0, - 0,0,127,0,0,0,255,128,0,1,255,192,0,1,227,192, - 0,3,128,224,0,2,0,64,0,0,0,0,0,255,224,255, - 128,127,224,255,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,24,0,15,128,56,0,15,128,56, - 0,7,192,112,0,3,224,224,0,1,255,192,0,0,127,0, - 0,25,32,128,27,1,0,1,192,224,0,3,225,240,0,3, - 225,240,0,3,193,224,0,3,193,224,0,1,128,192,0,0, - 0,0,0,255,224,255,128,127,224,255,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, - 0,28,0,31,0,28,0,31,0,28,0,31,0,24,0,15, - 128,56,0,15,128,56,0,7,192,112,0,3,224,224,0,1, - 255,192,0,0,127,0,0,24,34,102,25,0,0,0,1,128, - 0,3,192,0,7,224,0,31,192,0,63,0,0,124,0,0, - 240,0,0,64,0,0,0,0,126,0,255,255,0,255,31,0, - 56,15,128,56,15,192,112,7,192,112,3,224,224,3,224,224, - 1,241,192,1,241,192,0,251,128,0,251,128,0,127,0,0, - 127,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,1,255,192, - 1,255,192,21,25,75,23,1,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,254,0,31,255,192,31,7, - 224,31,3,240,31,1,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,1,240,31,1,240,31,135,224,31, - 127,128,31,62,0,31,0,0,31,0,0,31,0,0,127,224, - 0,255,224,0,23,30,90,25,0,0,0,31,128,0,255,224, - 1,195,240,3,128,248,7,128,248,15,0,124,15,0,124,15, - 0,124,31,0,124,31,0,248,31,1,248,31,7,240,31,15, - 128,31,31,0,31,30,0,31,30,0,31,31,0,31,31,128, - 31,15,224,31,7,248,31,3,252,31,0,252,31,0,126,31, - 48,62,31,48,30,31,48,30,31,56,28,31,60,60,127,63, - 248,255,15,224,19,30,90,20,1,0,7,0,0,31,128,0, - 15,128,0,15,192,0,7,192,0,3,224,0,1,224,0,0, - 224,0,0,112,0,0,48,0,0,0,0,0,0,0,1,248, - 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, - 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, - 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, - 128,62,14,0,19,30,90,20,1,0,0,56,0,0,62,0, - 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,1, - 192,0,3,128,0,1,0,0,0,0,0,0,0,0,1,248, - 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, - 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, - 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, - 128,62,14,0,19,29,87,20,1,0,1,224,0,1,224,0, - 3,240,0,7,248,0,7,252,0,15,60,0,30,30,0,56, - 7,0,16,2,0,0,0,0,0,0,0,1,248,0,15,254, - 0,62,63,0,124,31,0,124,31,0,112,31,0,0,31,0, - 1,255,0,15,255,0,63,31,0,124,31,0,120,31,0,248, - 31,0,248,31,32,248,127,224,255,223,192,127,159,128,62,14, - 0,19,27,81,20,1,0,7,129,128,15,227,0,31,255,0, - 63,254,0,49,252,0,96,56,0,0,0,0,0,0,0,0, - 0,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,19,27,81,20,1,0,12,6, - 0,30,15,0,62,31,0,62,31,0,62,31,0,28,14,0, - 0,0,0,0,0,0,0,0,0,1,248,0,15,254,0,62, - 63,0,124,31,0,124,31,0,112,31,0,0,31,0,1,255, - 0,15,255,0,63,31,0,124,31,0,120,31,0,248,31,0, - 248,31,32,248,127,224,255,223,192,127,159,128,62,14,0,19, - 28,84,20,1,0,0,240,0,3,248,0,3,184,0,7,56, - 0,7,56,0,7,56,0,3,240,0,1,224,0,0,0,0, - 0,0,0,1,248,0,15,254,0,62,63,0,124,31,0,124, - 31,0,112,31,0,0,31,0,1,255,0,15,255,0,63,31, - 0,124,31,0,120,31,0,248,31,0,248,31,32,248,127,224, - 255,223,192,127,159,128,62,14,0,27,18,72,29,1,0,0, - 252,62,0,7,254,255,128,15,191,199,128,30,15,131,192,62, - 15,129,192,124,15,1,224,0,15,1,224,0,255,255,224,15, - 255,255,192,31,15,0,0,124,15,0,0,120,15,0,0,248, - 15,128,0,248,31,128,96,252,127,225,224,255,227,255,192,127, - 193,255,0,63,0,124,0,17,27,81,18,1,247,1,252,0, - 7,255,0,31,31,0,60,15,0,60,7,0,120,6,0,120, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,252,0,0,126,1,0,127,7,128,63,254,0,31,252,0, - 7,240,0,1,192,0,1,192,0,1,240,0,3,248,0,0, - 248,0,0,248,0,1,240,0,3,224,0,7,0,0,17,30, - 90,19,1,0,3,128,0,15,128,0,31,192,0,7,192,0, - 3,192,0,1,224,0,0,224,0,0,112,0,0,48,0,0, - 56,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,30, - 90,19,1,0,0,60,0,0,63,0,0,62,0,0,124,0, - 0,120,0,0,240,0,0,240,0,1,224,0,1,192,0,1, - 128,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,19,1,0,0,224,0,1,240,0,3,248,0,3,248,0, - 7,252,0,15,30,0,14,14,0,28,7,0,24,3,0,0, - 0,0,0,0,0,1,240,0,15,252,0,30,62,0,60,31, - 0,120,15,0,120,15,128,248,15,128,255,255,128,255,254,0, - 248,0,0,248,0,0,248,0,0,252,0,0,126,1,128,127, - 7,0,63,254,0,31,252,0,7,240,0,17,27,81,19,1, - 0,14,7,0,30,15,0,31,15,128,30,15,0,30,15,0, - 28,14,0,0,0,0,0,0,0,0,0,0,1,240,0,15, - 252,0,30,62,0,60,31,0,120,15,0,120,15,128,248,15, - 128,255,255,128,255,254,0,248,0,0,248,0,0,248,0,0, - 252,0,0,126,1,128,127,7,0,63,254,0,31,252,0,7, - 240,0,11,30,60,12,0,0,56,0,252,0,124,0,62,0, - 62,0,31,0,15,0,7,128,3,128,1,128,0,0,0,0, - 7,0,127,0,127,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 127,192,127,224,11,30,60,12,1,0,3,128,3,224,7,224, - 7,192,15,128,15,0,30,0,28,0,24,0,48,0,0,0, - 0,0,14,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,128,255,192,14,29,58,12,255,0,7,128,7,192, - 15,192,31,224,31,240,60,240,120,120,112,28,192,8,0,0, - 0,0,3,128,63,128,63,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,63,224,63,240,14,27,54,12,255,0,48,24,120,60, - 248,124,248,124,248,124,112,56,0,0,0,0,0,0,3,128, - 63,128,63,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,63,224, - 63,240,18,29,87,20,1,0,3,0,0,31,192,0,63,231, - 192,3,255,0,0,252,0,3,252,0,15,252,0,30,30,0, - 0,31,0,0,15,0,0,15,128,3,231,128,15,255,128,30, - 63,192,60,31,192,124,15,192,120,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,248,7,128,248,7,128,124,15,128, - 124,15,0,126,14,0,63,28,0,15,248,0,3,224,0,22, - 27,81,23,1,0,1,192,64,3,248,224,7,255,192,15,255, - 128,12,127,0,24,30,0,0,0,0,0,0,0,0,0,0, - 14,15,128,254,63,192,254,255,224,63,255,224,63,199,224,63, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 255,143,248,255,223,252,19,30,90,21,1,0,3,128,0,15, - 192,0,15,192,0,7,192,0,3,224,0,1,224,0,0,240, - 0,0,112,0,0,56,0,0,16,0,0,0,0,0,0,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,19,30,90,21,1,0,0,28,0,0, - 63,0,0,63,0,0,62,0,0,124,0,0,120,0,0,240, - 0,0,224,0,1,192,0,0,128,0,0,0,0,0,0,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,19,29,87,21,1,0,0,240,0,0, - 240,0,1,248,0,3,252,0,7,252,0,7,158,0,15,15, - 0,28,3,0,8,1,128,0,0,0,0,0,0,1,248,0, - 7,254,0,30,31,128,60,15,128,124,7,192,120,7,192,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 192,124,3,192,124,7,128,62,7,128,63,15,0,15,252,0, - 3,240,0,19,27,81,21,1,0,3,128,128,7,241,192,15, - 255,128,31,255,0,24,254,0,48,60,0,0,0,0,0,0, - 0,0,0,0,1,248,0,7,254,0,30,31,128,60,15,128, - 124,7,192,120,7,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,192,124,3,192,124,7,128,62,7, - 128,63,15,0,15,252,0,3,240,0,19,27,81,21,1,0, - 14,7,0,15,7,128,31,15,128,31,15,128,30,15,0,14, - 7,0,0,0,0,0,0,0,0,0,0,1,248,0,7,254, - 0,30,31,128,60,15,128,124,7,192,120,7,192,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,192,124, - 3,192,124,7,128,62,7,128,63,15,0,15,252,0,3,240, - 0,15,15,30,17,1,3,3,0,7,0,7,0,7,0,6, - 0,0,0,127,254,255,252,0,0,0,0,3,0,7,0,7, - 0,7,0,6,0,19,20,60,21,1,255,0,0,32,1,248, - 224,7,255,192,30,31,128,60,15,192,60,31,192,120,31,224, - 120,59,224,248,115,224,248,227,224,249,227,224,249,195,224,251, - 131,192,127,3,192,126,7,128,62,7,128,63,15,0,63,252, - 0,99,240,0,192,0,0,22,30,90,23,1,0,3,128,0, - 7,192,0,15,192,0,3,224,0,1,224,0,0,240,0,0, - 240,0,0,120,0,0,56,0,0,24,0,0,0,0,0,0, - 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, - 252,31,243,240,15,193,192,22,30,90,23,1,0,0,30,0, - 0,31,0,0,63,128,0,62,0,0,124,0,0,120,0,0, - 112,0,0,224,0,0,224,0,1,192,0,0,0,0,0,0, - 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, - 252,31,243,240,15,193,192,22,29,87,23,1,0,0,112,0, - 0,248,0,1,248,0,3,252,0,3,254,0,7,158,0,15, - 7,0,14,3,128,8,1,0,0,0,0,0,0,0,14,0, - 224,254,31,224,126,7,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,7,224,63,31,252,31,251,252,31,243, - 240,15,193,192,22,27,81,23,1,0,7,3,128,15,7,128, - 31,15,128,31,15,128,31,15,128,14,7,0,0,0,0,0, - 0,0,0,0,0,14,0,224,254,31,224,126,7,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,62,7,224,63, - 31,252,31,251,252,31,243,240,15,193,192,21,39,117,20,255, - 247,0,7,0,0,15,192,0,15,128,0,31,0,0,31,0, - 0,62,0,0,60,0,0,120,0,0,112,0,0,96,0,0, - 0,0,0,0,0,127,193,248,63,129,248,31,0,224,15,128, - 224,15,129,192,7,193,192,7,193,128,7,195,128,3,227,128, - 3,231,0,1,247,0,1,246,0,0,254,0,0,254,0,0, - 252,0,0,124,0,0,120,0,0,56,0,0,56,0,0,112, - 0,0,112,0,0,224,0,33,224,0,127,192,0,127,128,0, - 255,0,0,124,0,0,20,39,117,22,1,247,6,0,0,254, - 0,0,254,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,31,0,62,127,128,62,255,192,63,135,224,63,3,224,62, - 1,240,62,0,240,62,0,240,62,0,240,62,0,240,62,0, - 240,62,0,224,62,0,224,62,1,192,63,195,192,63,255,128, - 62,255,0,62,60,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,255,192,0,255,192, - 0,21,36,108,20,255,247,3,129,192,7,195,224,7,195,224, - 7,195,224,7,131,192,7,3,128,0,0,0,0,0,0,0, - 0,0,127,193,248,63,129,248,31,0,224,15,128,224,15,129, - 192,7,193,192,7,193,128,7,195,128,3,227,128,3,231,0, - 1,247,0,1,246,0,0,254,0,0,254,0,0,252,0,0, - 124,0,0,120,0,0,56,0,0,56,0,0,112,0,0,112, - 0,0,224,0,33,224,0,127,192,0,127,128,0,255,0,0, - 124,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=18 h=38 x= 3 y=14 dx=21 dy= 0 ascent=31 len=114 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25n[985] U8G_FONT_SECTION("u8g_font_gdb25n") = { - 0,61,57,236,242,24,0,0,0,0,42,58,0,31,249,24, - 0,16,16,32,18,1,14,0,192,3,192,3,192,99,140,123, - 158,125,191,127,252,15,224,7,224,63,252,253,190,249,158,51, - 142,3,192,3,192,3,0,15,14,28,17,1,4,1,128,3, - 128,3,128,3,128,3,128,3,128,127,254,255,252,3,128,3, - 128,3,128,3,128,3,128,3,0,8,12,12,11,2,249,30, - 127,255,127,31,31,30,30,60,56,112,96,12,2,4,14,1, - 9,127,240,255,240,6,6,6,11,3,255,56,124,252,252,252, - 120,17,38,114,19,1,249,0,1,128,0,7,128,0,7,128, - 0,15,0,0,15,0,0,15,0,0,30,0,0,30,0,0, - 28,0,0,60,0,0,60,0,0,120,0,0,120,0,0,120, - 0,0,240,0,0,240,0,0,224,0,1,224,0,1,224,0, - 3,192,0,3,192,0,3,192,0,7,128,0,7,128,0,7, - 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,120,0,0, - 240,0,0,240,0,0,192,0,0,18,24,72,20,1,0,3, - 240,0,7,252,0,30,62,0,28,31,0,60,15,0,120,15, - 128,120,15,128,120,7,128,248,7,192,248,7,192,248,7,192, - 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,120, - 7,128,124,7,128,124,15,128,60,15,0,62,14,0,31,30, - 0,15,248,0,3,224,0,16,24,48,20,2,0,0,96,3, - 224,31,224,255,224,99,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,7,240,127,255,127,255,16,24,48, - 20,2,0,3,248,15,252,60,62,124,63,120,31,248,31,112, - 31,0,31,0,62,0,60,0,124,0,120,0,240,1,224,3, - 224,3,192,7,128,15,1,30,3,60,3,120,3,127,255,255, - 255,255,255,16,24,48,20,2,0,7,240,31,248,60,124,120, - 62,248,62,248,62,64,62,0,60,0,124,0,240,7,240,7, - 252,0,254,0,62,0,63,0,31,0,31,0,31,0,31,0, - 30,192,62,240,124,127,248,15,192,17,24,72,20,1,0,0, - 12,0,0,124,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,188,0,7,188,0,7,60,0,14,60,0,14,60,0, - 28,60,0,56,60,0,56,60,0,112,60,0,255,255,128,255, - 255,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,3,255,128,3,255,128,17,24,72,20,1,0,31,255,0, - 31,255,128,31,254,0,31,252,0,24,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,63,240,0,63,252,0,48,126, - 0,96,31,0,0,31,0,0,15,128,0,15,128,0,15,128, - 0,15,128,0,15,128,0,31,0,96,31,0,248,126,0,63, - 252,0,7,224,0,17,24,72,20,2,0,0,14,0,0,126, - 0,1,240,0,7,192,0,15,128,0,30,0,0,62,0,0, - 60,0,0,124,0,0,121,248,0,127,254,0,254,63,0,252, - 31,0,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,124,15,128,124,15,0,60,31,0,31,30,0,15,252,0, - 3,240,0,17,24,72,20,2,0,127,255,128,127,255,0,255, - 255,0,255,255,0,224,6,0,192,14,0,128,12,0,0,28, - 0,0,28,0,0,56,0,0,56,0,0,112,0,0,112,0, - 0,240,0,0,224,0,1,224,0,1,192,0,3,192,0,3, - 192,0,7,128,0,7,128,0,15,128,0,31,0,0,28,0, - 0,17,24,72,21,2,0,3,240,0,15,252,0,28,62,0, - 24,31,0,56,31,0,56,31,0,56,31,0,60,62,0,63, - 60,0,31,248,0,15,240,0,7,252,0,14,254,0,62,63, - 0,124,31,128,120,31,128,248,15,128,248,15,128,248,15,128, - 248,15,0,124,31,0,126,62,0,63,252,0,7,224,0,17, - 25,75,20,2,255,3,240,0,15,252,0,30,62,0,60,30, - 0,120,31,0,120,31,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,128,126,63,128,63,255,128,15, - 207,0,0,15,0,0,31,0,0,30,0,0,62,0,0,124, - 0,0,248,0,1,240,0,15,192,0,63,0,0,56,0,0, - 6,19,19,11,3,255,56,124,252,252,252,120,0,0,0,0, - 0,0,0,56,124,252,252,252,120}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=34 h=41 x= 3 y=20 dx=35 dy= 0 ascent=33 len=136 - Font Bounding box w=61 h=57 x=-20 y=-14 - Calculated Min Values x=-6 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =33 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb25r[6779] U8G_FONT_SECTION("u8g_font_gdb25r") = { - 0,61,57,236,242,25,7,167,18,92,32,127,247,33,247,31, - 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, - 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, - 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, - 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, - 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, - 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, - 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, - 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, - 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, - 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, - 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, - 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, - 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, - 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, - 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, - 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, - 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, - 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, - 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, - 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, - 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, - 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, - 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, - 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, - 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, - 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, - 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, - 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, - 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, - 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, - 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, - 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, - 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, - 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, - 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, - 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, - 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, - 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, - 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, - 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, - 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, - 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, - 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, - 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, - 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, - 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, - 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, - 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, - 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, - 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, - 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, - 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, - 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, - 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, - 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, - 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, - 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, - 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, - 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, - 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, - 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, - 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, - 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, - 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, - 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, - 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, - 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, - 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, - 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, - 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, - 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, - 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, - 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, - 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, - 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, - 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, - 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, - 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, - 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, - 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, - 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, - 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, - 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, - 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, - 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, - 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, - 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, - 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, - 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, - 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, - 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, - 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, - 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, - 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, - 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, - 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, - 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, - 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, - 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, - 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, - 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, - 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, - 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, - 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, - 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, - 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, - 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, - 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, - 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, - 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, - 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, - 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, - 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, - 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, - 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, - 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, - 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, - 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, - 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, - 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, - 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, - 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, - 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, - 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, - 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, - 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, - 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, - 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, - 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, - 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, - 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, - 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, - 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, - 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, - 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, - 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, - 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, - 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, - 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, - 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, - 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, - 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, - 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, - 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, - 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, - 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, - 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, - 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, - 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, - 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, - 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, - 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, - 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, - 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, - 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, - 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, - 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, - 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, - 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, - 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, - 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, - 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, - 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, - 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, - 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, - 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, - 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, - 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, - 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, - 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, - 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, - 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, - 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, - 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, - 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, - 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, - 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, - 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, - 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, - 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, - 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, - 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, - 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, - 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, - 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, - 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, - 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, - 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, - 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, - 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, - 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, - 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, - 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, - 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, - 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, - 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, - 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, - 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, - 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, - 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, - 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, - 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, - 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, - 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, - 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, - 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, - 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, - 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, - 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, - 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, - 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, - 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, - 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, - 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, - 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, - 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, - 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, - 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, - 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, - 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, - 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, - 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, - 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, - 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, - 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, - 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, - 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, - 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, - 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, - 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, - 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, - 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, - 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, - 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, - 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, - 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, - 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, - 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, - 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, - 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, - 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, - 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, - 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, - 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, - 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, - 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, - 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, - 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, - 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, - 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, - 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, - 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, - 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, - 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, - 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, - 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, - 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, - 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, - 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, - 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, - 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, - 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, - 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, - 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, - 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, - 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, - 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, - 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, - 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, - 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, - 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, - 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, - 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, - 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, - 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, - 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, - 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, - 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, - 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, - 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, - 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, - 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, - 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, - 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, - 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, - 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, - 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, - 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, - 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, - 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, - 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, - 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, - 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, - 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, - 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, - 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, - 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, - 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, - 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, - 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, - 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, - 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, - 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, - 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, - 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, - 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, - 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, - 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, - 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, - 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, - 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, - 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, - 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, - 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, - 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, - 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, - 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, - 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, - 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, - 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, - 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, - 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, - 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, - 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, - 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, - 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, - 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, - 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, - 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, - 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, - 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, - 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, - 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, - 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, - 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, - 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, - 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, - 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, - 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, - 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, - 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, - 0,99,255,0,192,254,0,128,56,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=41 h=49 x= 5 y=27 dx=42 dy= 0 ascent=42 len=210 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x=-7 y=-13 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =42 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30[19508] U8G_FONT_SECTION("u8g_font_gdb30") = { - 0,74,69,232,239,30,10,50,24,78,32,255,245,42,243,38, - 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, - 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, - 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, - 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, - 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, - 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, - 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, - 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, - 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, - 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, - 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, - 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, - 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, - 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, - 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, - 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, - 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, - 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, - 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, - 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, - 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, - 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, - 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, - 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, - 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, - 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, - 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, - 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, - 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, - 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, - 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, - 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, - 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, - 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, - 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, - 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, - 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, - 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, - 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, - 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, - 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, - 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, - 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, - 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, - 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, - 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, - 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, - 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, - 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, - 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, - 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, - 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, - 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, - 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, - 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, - 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, - 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, - 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, - 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, - 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, - 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, - 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, - 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, - 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, - 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, - 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, - 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, - 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, - 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, - 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, - 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, - 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, - 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, - 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, - 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, - 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, - 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, - 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, - 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, - 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, - 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, - 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, - 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, - 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, - 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, - 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, - 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, - 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, - 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, - 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, - 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, - 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, - 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, - 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, - 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, - 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, - 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, - 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, - 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, - 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, - 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, - 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, - 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, - 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, - 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, - 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, - 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, - 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, - 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, - 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, - 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, - 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, - 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, - 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, - 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, - 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, - 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, - 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, - 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, - 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, - 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, - 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, - 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, - 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, - 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, - 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, - 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, - 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, - 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, - 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, - 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, - 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, - 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, - 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, - 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, - 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, - 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, - 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, - 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, - 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, - 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, - 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, - 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, - 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, - 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, - 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, - 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, - 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, - 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, - 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, - 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, - 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, - 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, - 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, - 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, - 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, - 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, - 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, - 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, - 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, - 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, - 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, - 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, - 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, - 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, - 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, - 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, - 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, - 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, - 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, - 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, - 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, - 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, - 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, - 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, - 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, - 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, - 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, - 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, - 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, - 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, - 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, - 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, - 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, - 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, - 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, - 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, - 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, - 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, - 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, - 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, - 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, - 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, - 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, - 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, - 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, - 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, - 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, - 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, - 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, - 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, - 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, - 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, - 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, - 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, - 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, - 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, - 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, - 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, - 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, - 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, - 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, - 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, - 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, - 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, - 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, - 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, - 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, - 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, - 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, - 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, - 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, - 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, - 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, - 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, - 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, - 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, - 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, - 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, - 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, - 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, - 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, - 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, - 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, - 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, - 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, - 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, - 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, - 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, - 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, - 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, - 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, - 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, - 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, - 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, - 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, - 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, - 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, - 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, - 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, - 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, - 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, - 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, - 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, - 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, - 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, - 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, - 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, - 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, - 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, - 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, - 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, - 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, - 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, - 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, - 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, - 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, - 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, - 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, - 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, - 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, - 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, - 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, - 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, - 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, - 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, - 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, - 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, - 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, - 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, - 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, - 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, - 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, - 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, - 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, - 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, - 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, - 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, - 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, - 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, - 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, - 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, - 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, - 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, - 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, - 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, - 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, - 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, - 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, - 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, - 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, - 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, - 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, - 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, - 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, - 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, - 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, - 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, - 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, - 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, - 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, - 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, - 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, - 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, - 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, - 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, - 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, - 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, - 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, - 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, - 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, - 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, - 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, - 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, - 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, - 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, - 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, - 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, - 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, - 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, - 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, - 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, - 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, - 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, - 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, - 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, - 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, - 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, - 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, - 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, - 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, - 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, - 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, - 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, - 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, - 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, - 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, - 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, - 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, - 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, - 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, - 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, - 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, - 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, - 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, - 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, - 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, - 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, - 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, - 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, - 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, - 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, - 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, - 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, - 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, - 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, - 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, - 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, - 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, - 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, - 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, - 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, - 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, - 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, - 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, - 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, - 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, - 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, - 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, - 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, - 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, - 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, - 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, - 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, - 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, - 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, - 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, - 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, - 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, - 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, - 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, - 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, - 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, - 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, - 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, - 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, - 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, - 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, - 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, - 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, - 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, - 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, - 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, - 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, - 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, - 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, - 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, - 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, - 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, - 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, - 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, - 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, - 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, - 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, - 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, - 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, - 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, - 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, - 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, - 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, - 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, - 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, - 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, - 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, - 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, - 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, - 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, - 192,64,31,128,192,15,0,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,12,0,0,8,35, - 35,15,3,243,62,127,255,255,255,254,124,0,0,12,28,28, - 28,60,60,60,60,60,62,62,62,62,62,62,62,62,126,126, - 126,126,126,127,126,120,96,21,30,90,24,2,255,0,24,0, - 0,56,0,0,56,0,0,56,0,0,127,192,3,255,240,7, - 255,248,31,187,240,62,56,240,60,56,96,124,56,32,120,56, - 0,248,56,0,248,56,0,248,56,0,248,56,0,248,56,0, - 248,56,0,252,56,0,124,56,16,126,56,56,63,56,240,31, - 251,224,15,255,192,7,255,128,1,252,0,0,56,0,0,56, - 0,0,56,0,0,48,0,22,29,87,24,1,0,0,31,192, - 0,255,248,1,225,248,3,192,248,7,192,120,7,128,112,15, - 128,48,15,128,48,15,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,255,0,255,255,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,16,31,0,12,31, - 0,24,30,0,56,62,0,120,63,255,248,127,255,248,255,255, - 248,128,15,240,20,20,60,24,2,4,64,0,32,224,0,96, - 113,248,240,63,255,192,31,15,128,30,7,128,28,3,128,56, - 1,192,56,1,192,56,1,192,56,1,192,56,1,192,60,3, - 192,30,7,128,31,15,128,31,255,128,57,249,192,112,0,224, - 224,0,112,64,0,32,27,28,112,24,254,0,127,0,127,224, - 255,128,127,224,127,192,15,0,15,224,30,0,15,224,30,0, - 7,240,60,0,3,240,60,0,3,248,56,0,1,252,120,0, - 0,252,112,0,0,254,240,0,0,126,224,0,0,127,224,0, - 0,63,192,0,0,63,192,0,0,31,192,0,0,31,128,0, - 15,255,255,0,15,255,254,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,63,192,0,1,255,248,0,1,255,248,0,4,49,49,11, - 4,246,48,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,224,0,0,0,0,0,112,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,192,18,34,102,23,3,0,3,252,0,15,255,0,30, - 31,0,60,15,0,124,7,0,124,6,0,126,2,0,127,128, - 0,63,224,0,63,240,0,63,252,0,127,254,0,123,255,0, - 240,255,128,240,63,128,240,31,192,240,7,192,248,7,192,124, - 3,192,127,3,192,63,195,192,31,243,128,15,255,128,7,255, - 0,1,255,0,0,127,128,96,63,128,96,31,128,112,15,128, - 112,15,128,120,15,0,126,30,0,127,252,0,15,240,0,17, - 7,21,19,1,26,56,7,0,124,15,128,252,31,128,252,31, - 128,252,31,128,248,31,0,112,14,0,31,31,124,35,2,0, - 0,31,224,0,0,127,252,0,1,240,31,0,7,192,7,128, - 15,0,1,224,30,0,0,224,28,3,240,112,56,31,254,56, - 56,60,124,56,112,120,60,28,112,240,28,28,240,240,24,28, - 224,224,0,14,225,224,0,14,225,224,0,14,225,224,0,14, - 225,224,0,14,225,224,0,14,225,240,0,14,240,240,0,30, - 112,248,6,28,112,126,30,28,56,127,252,56,56,31,240,56, - 28,7,192,112,14,0,0,224,15,0,1,224,7,192,7,128, - 1,240,31,0,0,127,252,0,0,31,240,0,12,16,32,13, - 1,14,15,0,63,128,99,192,227,192,131,192,7,192,63,192, - 123,192,243,192,243,192,247,224,255,240,115,128,0,0,255,224, - 255,224,20,22,66,25,2,0,0,192,32,1,192,112,1,192, - 224,3,129,224,7,131,192,15,7,192,31,15,128,62,15,128, - 126,31,0,252,63,0,252,126,0,252,126,0,252,63,0,126, - 31,0,62,15,128,31,15,128,15,7,192,7,131,192,3,129, - 224,1,192,224,0,192,112,0,192,32,21,11,33,24,2,4, - 127,255,248,255,255,248,255,255,248,0,0,120,0,0,120,0, - 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, - 96,15,3,6,17,1,11,127,254,127,252,255,252,17,17,51, - 17,0,17,3,224,0,15,248,0,60,30,0,48,6,0,103, - 227,0,99,51,0,195,49,128,195,49,128,195,225,128,195,65, - 128,195,97,128,99,35,0,99,51,0,55,158,0,60,30,0, - 15,248,0,3,224,0,20,4,12,24,2,27,127,255,240,255, - 255,240,255,255,224,255,255,224,11,13,26,17,3,17,15,0, - 31,192,63,192,123,224,113,224,241,224,241,224,241,224,241,192, - 251,192,127,128,127,0,30,0,18,22,66,20,1,3,0,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,127,255,192,255,255,192,255,255,128,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,192, - 0,0,0,0,0,0,0,127,255,192,127,255,192,255,255,128, - 13,17,34,17,2,15,7,224,31,240,120,248,120,120,248,120, - 0,120,0,240,0,224,1,224,3,192,7,128,15,0,30,8, - 60,8,120,24,255,248,255,248,13,18,36,17,1,14,7,224, - 31,240,60,248,120,120,124,120,0,120,0,240,1,224,7,240, - 5,240,0,120,0,120,0,120,0,120,128,120,224,240,127,224, - 31,128,11,11,22,15,5,24,15,0,15,192,31,224,31,128, - 63,0,62,0,124,0,120,0,240,0,224,0,64,0,27,33, - 132,28,1,245,3,0,6,0,255,128,254,0,255,128,126,0, - 63,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,192,254,0,31,227,254,0,31,255,254,64,31,255,127,224, - 30,254,127,192,30,124,63,128,30,56,28,0,30,0,0,0, - 30,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0, - 31,0,0,0,31,128,0,0,31,128,0,0,31,192,0,0, - 31,0,0,0,24,0,0,0,26,36,144,29,1,250,1,255, - 255,192,7,255,255,192,31,195,255,0,63,3,222,0,126,3, - 222,0,124,3,222,0,252,3,222,0,252,3,222,0,252,3, - 222,0,252,3,222,0,252,3,222,0,126,3,222,0,127,3, - 222,0,63,3,222,0,31,195,222,0,7,255,222,0,1,255, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, - 222,0,0,7,255,0,0,31,255,192,0,31,255,192,7,7, - 7,10,1,13,60,126,254,254,254,252,120,10,10,20,11,1, - 246,14,0,28,0,30,0,63,128,63,192,15,192,15,192,31, - 128,254,0,112,0,13,17,34,17,2,15,1,128,15,128,255, - 128,71,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,63,240,127,248,11,16,32, - 13,1,14,15,0,63,128,123,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,192,123,192,63,128,30,0,0,0,255, - 224,255,224,20,22,66,25,3,0,64,32,0,224,112,0,112, - 56,0,120,28,0,56,30,0,60,15,0,30,15,128,31,7, - 192,31,135,224,15,199,240,15,227,240,15,227,240,15,199,240, - 31,135,224,31,7,192,30,15,128,60,15,0,56,30,0,120, - 28,0,112,56,0,224,48,0,64,96,0,27,29,116,30,2, - 0,3,0,1,192,63,0,3,128,255,0,7,128,15,0,15, - 0,15,0,14,0,15,0,28,0,15,0,60,0,15,0,120, - 0,15,0,112,0,15,0,240,0,15,1,224,0,15,1,192, - 0,31,131,128,0,255,231,128,0,0,15,0,0,0,14,1, - 0,0,28,15,128,0,60,15,128,0,120,31,128,0,112,55, - 128,0,224,55,128,1,224,103,128,3,192,199,128,3,129,199, - 128,7,129,255,224,15,3,255,192,30,0,7,128,28,0,7, - 128,60,0,63,224,26,29,116,30,2,0,3,0,1,192,63, - 0,7,128,255,0,7,128,15,0,15,0,15,0,30,0,15, - 0,60,0,15,0,60,0,15,0,120,0,15,0,240,0,15, - 0,224,0,15,1,224,0,15,3,192,0,31,135,128,0,255, - 231,0,0,0,15,0,0,0,30,63,0,0,60,127,192,0, - 56,231,192,0,121,195,192,0,241,131,192,1,224,3,128,1, - 192,7,0,3,192,14,0,7,128,28,0,15,0,56,0,14, - 0,112,64,30,0,224,64,60,1,255,192,120,3,255,192,28, - 29,116,30,1,0,15,128,0,224,63,192,1,192,115,224,3, - 192,241,224,7,128,129,192,7,0,3,128,14,0,15,192,30, - 0,15,224,60,0,1,240,56,0,0,240,120,0,0,240,240, - 0,0,240,224,0,225,225,192,0,127,195,192,0,31,7,128, - 0,0,7,0,128,0,14,7,192,0,30,7,192,0,60,11, - 192,0,56,27,192,0,112,19,192,0,240,51,192,1,224,99, - 192,1,192,227,192,3,192,255,240,7,129,255,224,15,0,3, - 192,14,0,3,192,30,0,31,240,18,35,105,22,2,243,0, - 248,0,1,252,0,3,252,0,3,252,0,3,252,0,3,248, - 0,1,240,0,0,0,0,0,0,0,0,0,0,0,112,0, - 0,240,0,0,240,0,0,240,0,0,240,0,1,240,0,1, - 224,0,3,224,0,7,192,0,15,192,0,15,128,0,31,0, - 0,63,0,0,126,0,0,126,0,0,252,0,0,252,3,192, - 252,15,192,252,15,192,252,15,192,252,15,128,126,31,128,127, - 31,0,63,254,0,15,240,0,30,42,168,30,0,0,0,32, - 0,0,0,112,0,0,0,248,0,0,1,252,0,0,1,254, - 0,0,0,255,0,0,0,63,128,0,0,15,192,0,0,3, - 224,0,0,0,224,0,0,0,64,0,0,0,0,0,0,1, - 128,0,0,7,128,0,0,15,192,0,0,31,192,0,0,31, - 224,0,0,31,224,0,0,63,224,0,0,63,240,0,0,59, - 240,0,0,121,240,0,0,121,248,0,0,113,248,0,0,240, - 252,0,0,240,252,0,0,224,252,0,1,224,126,0,1,224, - 126,0,1,192,126,0,3,255,255,0,3,255,255,0,3,128, - 31,0,7,128,31,128,7,0,31,128,7,0,15,192,15,0, - 15,192,14,0,15,192,14,0,7,224,30,0,7,224,255,192, - 63,252,255,192,63,252,30,42,168,30,0,0,0,0,32,0, - 0,0,48,0,0,0,124,0,0,0,254,0,0,1,254,0, - 0,3,248,0,0,7,224,0,0,15,128,0,0,31,0,0, - 0,60,0,0,0,16,0,0,0,0,0,0,0,1,128,0, - 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, - 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, - 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, - 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, - 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, - 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, - 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, - 255,192,63,252,30,41,164,30,0,0,0,7,0,0,0,7, - 128,0,0,15,192,0,0,31,224,0,0,63,240,0,0,127, - 248,0,0,248,248,0,1,240,60,0,1,192,14,0,1,0, - 8,0,0,0,0,0,0,1,128,0,0,7,128,0,0,15, - 192,0,0,31,192,0,0,31,224,0,0,31,224,0,0,63, - 224,0,0,63,240,0,0,59,240,0,0,121,240,0,0,121, - 248,0,0,113,248,0,0,240,252,0,0,240,252,0,0,224, - 252,0,1,224,126,0,1,224,126,0,1,192,126,0,3,255, - 255,0,3,255,255,0,3,128,31,0,7,128,31,128,7,0, - 31,128,7,0,15,192,15,0,15,192,14,0,15,192,14,0, - 7,224,30,0,7,224,255,192,63,252,255,192,63,252,30,40, - 160,30,0,0,0,16,4,0,0,127,7,0,0,255,254,0, - 1,255,254,0,1,255,252,0,3,255,248,0,3,3,240,0, - 2,0,64,0,0,0,0,0,0,0,0,0,0,1,128,0, - 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, - 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, - 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, - 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, - 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, - 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, - 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, - 255,192,63,252,30,40,160,30,0,0,0,64,16,0,0,240, - 60,0,1,248,126,0,1,248,126,0,1,248,126,0,1,240, - 124,0,1,240,124,0,0,64,32,0,0,0,0,0,0,0, - 0,0,0,1,128,0,0,7,128,0,0,15,192,0,0,31, - 192,0,0,31,224,0,0,31,224,0,0,63,224,0,0,63, - 240,0,0,59,240,0,0,121,240,0,0,121,248,0,0,113, - 248,0,0,240,252,0,0,240,252,0,0,224,252,0,1,224, - 126,0,1,224,126,0,1,192,126,0,3,255,255,0,3,255, - 255,0,3,128,31,0,7,128,31,128,7,0,31,128,7,0, - 15,192,15,0,15,192,14,0,15,192,14,0,7,224,30,0, - 7,224,255,192,63,252,255,192,63,252,30,42,168,30,0,0, - 0,1,0,0,0,15,224,0,0,31,224,0,0,28,240,0, - 0,60,240,0,0,60,240,0,0,60,224,0,0,63,224,0, - 0,31,128,0,0,4,0,0,0,0,0,0,0,0,0,0, - 0,1,128,0,0,7,128,0,0,15,192,0,0,31,192,0, - 0,31,224,0,0,31,224,0,0,63,224,0,0,63,240,0, - 0,59,240,0,0,121,240,0,0,121,248,0,0,113,248,0, - 0,240,252,0,0,240,252,0,0,224,252,0,1,224,126,0, - 1,224,126,0,1,192,126,0,3,255,255,0,3,255,255,0, - 3,128,31,0,7,128,31,128,7,0,31,128,7,0,15,192, - 15,0,15,192,14,0,15,192,14,0,7,224,30,0,7,224, - 255,192,63,252,255,192,63,252,38,30,150,39,0,0,0,127, - 255,255,240,0,127,255,255,248,0,15,255,0,112,0,7,255, - 0,112,0,15,63,0,112,0,15,63,0,48,0,15,63,0, - 48,0,30,63,0,48,0,30,63,0,0,0,60,63,0,0, - 0,60,63,0,0,0,60,63,0,0,0,120,63,0,0,0, - 127,255,255,192,0,255,255,255,128,0,240,63,1,128,0,224, - 63,0,0,1,224,63,0,0,1,224,63,0,0,3,192,63, - 0,0,3,192,63,0,0,3,128,63,0,0,7,128,63,0, - 0,7,128,63,0,12,15,0,63,0,12,15,0,63,0,28, - 14,0,63,0,28,31,0,127,128,124,255,193,255,255,248,255, - 193,255,255,248,24,40,120,27,1,246,0,31,224,0,255,252, - 1,255,254,7,224,254,15,192,126,31,128,60,31,0,28,62, - 0,0,62,0,0,126,0,0,124,0,0,124,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,0,127,0,0,63, - 128,2,63,128,7,31,224,15,15,252,254,7,255,248,3,255, - 240,0,255,192,0,30,0,0,28,0,0,31,0,0,63,192, - 0,63,192,0,15,192,0,15,128,0,31,128,0,254,0,0, - 112,0,23,42,126,25,1,0,1,0,0,3,128,0,15,192, - 0,15,224,0,31,240,0,7,248,0,1,252,0,0,126,0, - 0,31,0,0,7,0,0,2,0,0,0,0,255,255,248,255, - 255,252,63,128,56,31,128,56,31,128,24,31,128,24,31,128, - 24,31,128,24,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,255,224,31,255,224,31,128,192,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,6,31,128,6,31,128,14,31,128,14,63,192,30, - 255,255,254,255,255,252,23,42,126,25,1,0,0,2,0,0, - 3,128,0,7,224,0,15,240,0,31,240,0,63,192,0,127, - 0,0,252,0,1,240,0,1,192,0,1,0,0,0,0,0, - 255,255,248,255,255,252,63,128,56,31,128,56,31,128,24,31, - 128,24,31,128,24,31,128,24,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,255,224,31,255,224,31,128,192, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,6,31,128,6,31,128,14,31,128, - 14,63,192,30,255,255,254,255,255,252,23,41,123,25,1,0, - 0,56,0,0,124,0,0,254,0,0,255,0,1,255,0,3, - 255,128,7,199,192,15,1,224,14,0,224,8,0,64,0,0, - 0,255,255,248,255,255,252,63,128,56,31,128,56,31,128,24, - 31,128,24,31,128,24,31,128,24,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,255,224,31,255,224,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,6,31,128,6,31,128,14,31, - 128,14,63,192,30,255,255,254,255,255,252,23,40,120,25,1, - 0,2,0,128,7,129,224,15,195,240,15,195,240,15,195,240, - 15,131,224,15,3,192,4,1,0,0,0,0,0,0,0,255, - 255,248,255,255,252,63,128,56,31,128,56,31,128,24,31,128, - 24,31,128,24,31,128,24,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,255,224,31,255,224,31,128,192,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,6,31,128,6,31,128,14,31,128,14, - 63,192,30,255,255,254,255,255,252,15,42,84,16,255,0,8, - 0,28,0,62,0,127,0,127,128,191,192,15,224,3,240,0, - 248,0,56,0,16,0,0,31,254,31,254,7,248,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, - 240,3,240,3,240,3,240,3,240,3,240,3,240,7,248,31, - 254,31,254,14,42,84,16,2,0,0,128,0,224,1,248,3, - 252,7,252,15,240,31,192,63,0,124,0,112,0,32,0,0, - 0,255,240,255,240,63,192,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,63,192,255,240,255,240,16,41,82, - 16,0,0,3,128,7,192,15,224,15,240,31,240,63,248,124, - 124,240,30,224,15,128,4,0,0,63,252,63,252,15,240,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,15, - 240,63,252,63,252,16,40,80,16,0,0,32,8,120,30,252, - 63,252,63,252,63,248,62,240,60,64,16,0,0,0,0,63, - 252,63,252,15,240,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, - 224,7,224,7,224,15,240,63,252,63,252,29,30,120,31,0, - 0,3,255,192,0,255,255,248,0,127,192,254,0,143,192,63, - 128,15,192,31,192,15,192,15,192,15,192,7,224,15,192,7, - 240,15,192,3,240,15,192,3,240,15,192,3,248,15,192,1, - 248,15,192,1,248,127,255,1,248,255,255,1,248,15,192,1, - 248,15,192,1,248,15,192,1,248,15,192,1,248,15,192,1, - 240,15,192,3,240,15,192,3,240,15,192,7,224,15,192,7, - 224,15,192,15,192,15,192,31,128,15,192,63,0,31,224,254, - 0,127,255,248,0,127,255,192,0,30,40,160,32,1,0,0, - 16,4,0,0,127,7,0,0,255,255,0,0,255,254,0,1, - 255,252,0,3,255,252,0,3,3,248,0,2,0,64,0,0, - 0,0,0,0,0,0,0,255,0,15,252,255,128,15,252,63, - 192,3,240,31,192,1,224,31,224,1,224,31,240,1,224,31, - 240,1,224,31,248,1,224,31,252,1,224,30,254,1,224,30, - 126,1,224,30,63,1,224,30,63,129,224,30,31,129,224,30, - 15,193,224,30,7,225,224,30,7,225,224,30,3,241,224,30, - 1,249,224,30,1,253,224,30,0,253,224,30,0,127,224,30, - 0,63,224,30,0,63,224,30,0,31,224,30,0,15,224,30, - 0,7,224,63,0,7,224,255,192,3,224,255,192,0,224,27, - 42,168,30,1,0,0,64,0,0,0,224,0,0,1,240,0, - 0,3,248,0,0,3,252,0,0,1,254,0,0,0,127,0, - 0,0,31,128,0,0,7,192,0,0,1,192,0,0,0,128, - 0,0,0,0,0,0,31,192,0,0,255,240,0,3,225,252, - 0,7,128,126,0,15,0,63,0,31,0,31,0,30,0,31, - 128,62,0,15,128,126,0,15,192,124,0,15,192,124,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,254,0,7,192,126,0,15,192,126,0,15,128,127,0,15, - 128,63,0,31,0,31,128,31,0,31,192,62,0,15,240,252, - 0,7,255,240,0,1,255,224,0,0,127,0,0,27,42,168, - 30,1,0,0,0,64,0,0,0,96,0,0,0,248,0,0, - 1,252,0,0,3,252,0,0,7,240,0,0,15,192,0,0, - 31,128,0,0,62,0,0,0,120,0,0,0,32,0,0,0, - 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, - 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, - 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, - 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, - 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, - 255,240,0,1,255,224,0,0,127,0,0,27,41,164,30,1, - 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, - 0,0,127,224,0,0,255,240,0,1,249,248,0,3,224,120, - 0,3,128,28,0,2,0,8,0,0,0,0,0,0,31,192, - 0,0,255,240,0,3,225,252,0,7,128,126,0,15,0,63, - 0,31,0,31,0,30,0,31,128,62,0,15,128,126,0,15, - 192,124,0,15,192,124,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,254,0,7,192,126,0,15, - 192,126,0,15,128,127,0,15,128,63,0,31,0,31,128,31, - 0,31,192,62,0,15,240,252,0,7,255,240,0,1,255,224, - 0,0,127,0,0,27,40,160,30,1,0,0,32,8,0,0, - 254,14,0,1,255,254,0,1,255,252,0,3,255,248,0,7, - 255,248,0,6,7,240,0,2,0,128,0,0,0,0,0,0, - 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, - 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, - 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, - 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, - 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, - 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, - 255,240,0,1,255,224,0,0,127,0,0,27,40,160,30,1, - 0,0,128,32,0,1,240,124,0,1,240,124,0,3,240,252, - 0,3,240,252,0,3,240,252,0,3,224,248,0,0,128,32, - 0,0,0,0,0,0,0,0,0,0,31,192,0,0,255,240, - 0,3,225,252,0,7,128,126,0,15,0,63,0,31,0,31, - 0,30,0,31,128,62,0,15,128,126,0,15,192,124,0,15, - 192,124,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, - 224,252,0,7,224,254,0,7,192,126,0,15,192,126,0,15, - 128,127,0,15,128,63,0,31,0,31,128,31,0,31,192,62, - 0,15,240,252,0,7,255,240,0,1,255,224,0,0,127,0, - 0,16,15,30,20,2,6,96,6,240,15,120,31,60,62,30, - 124,15,248,7,240,3,192,7,224,15,248,30,124,60,62,120, - 31,240,15,96,6,27,31,124,30,1,255,0,31,195,224,0, - 255,247,192,3,225,255,128,7,128,127,0,15,0,63,0,31, - 0,63,128,30,0,127,128,62,0,255,192,126,0,255,192,124, - 1,255,192,124,3,239,224,252,3,231,224,252,7,199,224,252, - 15,135,224,252,15,7,224,252,31,7,224,252,62,7,224,252, - 60,7,224,252,120,7,192,254,248,7,192,127,240,15,192,127, - 224,15,128,127,192,15,128,63,128,31,0,63,128,31,0,31, - 192,62,0,31,240,252,0,63,255,240,0,121,255,224,0,248, - 127,0,0,192,0,0,0,29,42,168,32,1,0,0,32,0, - 0,0,48,0,0,0,248,0,0,1,252,0,0,1,254,0, - 0,0,127,0,0,0,31,128,0,0,15,192,0,0,3,224, - 0,0,0,240,0,0,0,64,0,0,0,0,0,255,240,31, - 248,255,240,31,248,63,192,7,224,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,128,31,192,7,128,15,192,7,128,15,224,7, - 0,7,224,15,0,3,248,62,0,1,255,252,0,0,255,240, - 0,0,31,192,0,29,42,168,32,1,0,0,0,32,0,0, - 0,56,0,0,0,124,0,0,0,254,0,0,1,254,0,0, - 3,252,0,0,7,240,0,0,15,192,0,0,31,0,0,0, - 28,0,0,0,16,0,0,0,0,0,0,255,240,31,248,255, - 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, - 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, - 31,192,0,29,41,164,32,1,0,0,3,128,0,0,7,128, - 0,0,15,192,0,0,31,224,0,0,63,240,0,0,127,248, - 0,0,124,124,0,0,240,62,0,1,192,14,0,0,128,4, - 0,0,0,0,0,255,240,31,248,255,240,31,248,63,192,7, - 224,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, - 192,31,128,3,192,31,128,3,192,31,128,3,128,31,192,7, - 128,15,192,7,128,15,224,7,0,7,224,15,0,3,248,62, - 0,1,255,252,0,0,255,240,0,0,31,192,0,29,40,160, - 32,1,0,0,32,8,0,0,248,62,0,0,248,62,0,1, - 248,126,0,1,248,126,0,1,248,126,0,0,240,60,0,0, - 64,16,0,0,0,0,0,0,0,0,0,255,240,31,248,255, - 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, - 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, - 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, - 31,192,0,29,42,168,29,0,0,0,0,32,0,0,0,48, - 0,0,0,124,0,0,1,254,0,0,3,254,0,0,7,248, - 0,0,15,224,0,0,31,128,0,0,62,0,0,0,60,0, - 0,0,16,0,0,0,0,0,0,127,0,31,248,255,128,31, - 248,31,192,3,192,15,192,3,128,7,224,7,128,3,240,7, - 0,3,240,15,0,1,248,14,0,1,248,30,0,0,252,28, - 0,0,124,60,0,0,126,56,0,0,63,120,0,0,63,240, - 0,0,31,240,0,0,31,224,0,0,15,224,0,0,15,192, - 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, - 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, - 0,0,15,192,0,0,31,224,0,0,255,252,0,0,255,252, - 0,24,30,90,27,1,0,255,248,0,255,248,0,63,192,0, - 31,128,0,31,128,0,31,128,0,31,255,128,31,255,240,31, - 131,248,31,128,252,31,128,126,31,128,127,31,128,63,31,128, - 63,31,128,63,31,128,63,31,128,63,31,128,62,31,128,126, - 31,128,252,31,129,248,31,191,240,31,191,128,31,128,0,31, - 128,0,31,128,0,31,128,0,63,192,0,255,248,0,255,248, - 0,28,36,144,31,1,0,0,7,240,0,0,63,252,0,0, - 255,254,0,1,240,255,0,3,224,63,128,7,192,31,128,7, - 192,31,192,15,128,15,192,15,128,15,192,31,128,15,192,31, - 128,15,192,31,128,31,128,31,128,63,0,31,128,126,0,31, - 129,248,0,31,135,224,0,31,135,128,0,31,143,128,0,31, - 143,128,0,31,143,192,0,31,143,224,0,31,135,248,0,31, - 135,254,0,31,131,255,128,31,128,255,192,31,128,63,224,31, - 128,31,240,31,128,7,240,31,140,3,240,31,142,1,240,31, - 142,1,240,31,142,1,240,31,143,1,224,63,143,195,192,255, - 143,255,128,255,129,254,0,23,35,105,24,1,0,1,192,0, - 15,192,0,15,224,0,7,240,0,3,240,0,1,248,0,0, - 248,0,0,124,0,0,60,0,0,30,0,0,12,0,0,0, - 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,23,35,105,24,1,0,0,15,0,0, - 15,192,0,31,224,0,31,128,0,63,0,0,62,0,0,124, - 0,0,120,0,0,240,0,0,224,0,0,192,0,0,0,0, - 0,0,0,0,255,0,15,255,128,31,15,192,62,7,224,126, - 7,224,252,7,224,96,7,224,0,7,224,0,31,224,1,255, - 224,7,255,224,31,231,224,63,135,224,63,7,224,126,7,224, - 126,7,224,126,7,224,126,31,228,127,63,252,63,247,254,63, - 231,240,15,131,128,23,35,105,24,1,0,0,120,0,0,252, - 0,0,252,0,1,254,0,3,255,0,3,255,0,7,207,128, - 15,135,192,15,1,192,28,0,224,8,0,64,0,0,0,0, - 0,0,0,255,0,15,255,128,31,15,192,62,7,224,126,7, - 224,252,7,224,96,7,224,0,7,224,0,31,224,1,255,224, - 7,255,224,31,231,224,63,135,224,63,7,224,126,7,224,126, - 7,224,126,7,224,126,31,228,127,63,252,63,247,254,63,231, - 240,15,131,128,23,33,99,24,1,0,3,192,48,7,240,48, - 15,252,96,31,255,224,31,255,192,56,127,128,48,15,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,0,15,255, - 128,31,15,192,62,7,224,126,7,224,252,7,224,96,7,224, - 0,7,224,0,31,224,1,255,224,7,255,224,31,231,224,63, - 135,224,63,7,224,126,7,224,126,7,224,126,7,224,126,31, - 228,127,63,252,63,247,254,63,231,240,15,131,128,23,33,99, - 24,1,0,7,1,192,15,131,224,31,135,224,31,135,224,31, - 135,224,31,7,192,14,3,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,23,34,102,24,1,0,0,60,0,0, - 254,0,1,239,0,3,207,0,3,207,0,3,207,0,3,238, - 0,1,252,0,0,248,0,0,0,0,0,0,0,0,0,0, - 0,255,0,15,255,128,31,15,192,62,7,224,126,7,224,252, - 7,224,96,7,224,0,7,224,0,31,224,1,255,224,7,255, - 224,31,231,224,63,135,224,63,7,224,126,7,224,126,7,224, - 126,7,224,126,31,228,127,63,252,63,247,254,63,231,240,15, - 131,128,33,22,110,35,1,0,0,63,3,224,0,1,255,159, - 248,0,7,255,252,62,0,15,135,248,30,0,31,3,240,31, - 0,63,3,240,15,0,127,3,224,15,128,120,3,224,15,128, - 0,3,224,15,128,0,127,255,255,128,3,255,255,254,0,15, - 195,224,0,0,63,3,224,0,0,126,3,224,0,0,124,3, - 240,0,0,252,3,240,1,0,252,7,248,7,0,254,31,252, - 31,0,255,252,255,254,0,127,248,127,252,0,127,224,63,240, - 0,31,128,15,192,0,20,32,96,22,2,246,0,127,128,1, - 255,240,7,135,224,15,3,224,30,1,224,62,0,192,124,0, - 192,124,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,0,127,0,96,127, - 129,224,63,255,192,31,255,128,15,254,0,3,252,0,0,240, - 0,0,224,0,0,252,0,1,254,0,0,254,0,0,126,0, - 0,124,0,0,252,0,3,240,0,1,128,0,19,35,105,23, - 2,0,3,128,0,15,192,0,31,224,0,7,224,0,3,240, - 0,1,240,0,0,248,0,0,120,0,0,60,0,0,28,0, - 0,8,0,0,0,0,0,0,0,0,252,0,7,255,0,15, - 31,128,30,15,128,62,15,192,124,7,192,124,7,224,124,7, - 224,252,7,224,255,255,224,255,255,128,252,0,0,252,0,0, - 252,0,0,254,0,0,126,0,64,127,0,224,63,131,192,63, - 255,128,31,255,0,15,254,0,3,248,0,19,35,105,23,2, - 0,0,14,0,0,31,192,0,31,192,0,63,128,0,63,0, - 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,0, - 192,0,0,0,0,0,0,0,0,252,0,7,255,0,15,31, - 128,30,15,128,62,15,192,124,7,192,124,7,224,124,7,224, - 252,7,224,255,255,224,255,255,128,252,0,0,252,0,0,252, - 0,0,254,0,0,126,0,64,127,0,224,63,131,192,63,255, - 128,31,255,0,15,254,0,3,248,0,19,35,105,23,2,0, - 0,120,0,0,248,0,1,252,0,1,254,0,3,254,0,7, - 255,0,15,223,128,15,7,128,30,3,192,60,1,224,24,0, - 64,0,0,0,0,0,0,0,252,0,7,255,0,15,31,128, - 30,15,128,62,15,192,124,7,192,124,7,224,124,7,224,252, - 7,224,255,255,224,255,255,128,252,0,0,252,0,0,252,0, - 0,254,0,0,126,0,64,127,0,224,63,131,192,63,255,128, - 31,255,0,15,254,0,3,248,0,19,33,99,23,2,0,15, - 3,192,31,7,192,31,135,224,31,135,224,31,7,192,31,7, - 192,14,3,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,252,0,7,255,0,15,31,128,30,15,128,62,15,192,124, - 7,192,124,7,224,124,7,224,252,7,224,255,255,224,255,255, - 128,252,0,0,252,0,0,252,0,0,254,0,0,126,0,64, - 127,0,224,63,131,192,63,255,128,31,255,0,15,254,0,3, - 248,0,13,35,70,14,0,0,28,0,126,0,254,0,127,0, - 31,0,15,128,7,128,3,192,1,192,0,224,0,64,0,0, - 0,0,1,192,63,192,127,192,63,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,31,224,127,248,127,248,14,35, - 70,14,1,0,0,224,1,252,1,252,3,248,3,240,7,224, - 7,192,15,128,15,0,30,0,8,0,0,0,0,0,3,128, - 127,128,255,128,127,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,16,35,70,14,255,0, - 3,192,3,224,7,240,15,240,15,248,31,252,62,124,60,30, - 120,15,240,7,64,3,0,0,0,0,0,224,31,224,63,224, - 31,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 15,240,63,252,63,252,16,33,66,14,255,0,56,14,124,31, - 124,31,252,63,252,63,124,31,120,30,0,0,0,0,0,0, - 0,0,0,224,31,224,63,224,31,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,240,63,252,63,252,21,34, - 102,25,2,0,1,192,0,15,224,0,63,240,248,31,255,248, - 0,255,192,0,126,0,1,255,0,7,239,128,31,143,128,2, - 7,192,0,3,224,0,3,224,1,251,240,7,253,240,15,255, - 240,31,15,248,62,7,248,62,3,248,124,3,248,124,1,248, - 252,1,248,252,1,248,252,1,248,252,1,248,252,1,240,252, - 1,240,252,1,240,126,3,224,126,3,224,63,3,192,63,7, - 128,31,143,0,7,254,0,1,248,0,26,33,132,28,1,0, - 0,240,12,0,1,252,12,0,3,255,28,0,3,255,248,0, - 7,255,240,0,14,31,224,0,12,3,192,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,3,1,240,0, - 127,135,252,0,255,159,252,0,63,191,254,0,31,248,254,0, - 31,224,126,0,31,192,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, - 31,128,126,0,31,128,126,0,63,192,255,0,255,243,255,192, - 255,243,255,192,21,35,105,25,2,0,1,192,0,15,224,0, - 15,224,0,7,240,0,3,240,0,1,248,0,0,248,0,0, - 124,0,0,60,0,0,30,0,0,12,0,0,0,0,0,0, - 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, - 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, - 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, - 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, - 1,248,0,21,35,105,25,2,0,0,15,0,0,15,192,0, - 31,224,0,31,128,0,63,0,0,62,0,0,124,0,0,120, - 0,0,240,0,0,224,0,0,192,0,0,0,0,0,0,0, - 0,252,0,3,255,0,15,15,192,30,7,224,62,7,224,62, - 3,240,124,3,240,124,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,252,1,248,252,1,240,126,1,240, - 126,3,224,62,3,224,63,3,192,31,135,128,7,254,0,1, - 248,0,21,35,105,25,2,0,0,120,0,0,252,0,0,252, - 0,1,254,0,3,255,0,3,255,0,7,207,128,15,135,192, - 15,1,192,28,0,224,8,0,64,0,0,0,0,0,0,0, - 252,0,3,255,0,15,15,192,30,7,224,62,7,224,62,3, - 240,124,3,240,124,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,248,252,1,240,126,1,240,126, - 3,224,62,3,224,63,3,192,31,135,128,7,254,0,1,248, - 0,21,33,99,25,2,0,3,192,48,7,240,48,15,252,96, - 31,255,224,31,255,192,56,127,128,48,15,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,252,0,3,255,0,15,15, - 192,30,7,224,62,7,224,62,3,240,124,3,240,124,1,248, - 252,1,248,252,1,248,252,1,248,252,1,248,252,1,248,252, - 1,248,252,1,240,126,1,240,126,3,224,62,3,224,63,3, - 192,31,135,128,7,254,0,1,248,0,21,33,99,25,2,0, - 7,1,192,15,131,224,31,135,224,31,135,224,31,135,224,31, - 7,192,14,3,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, - 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, - 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, - 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, - 1,248,0,18,18,54,20,1,4,0,192,0,1,224,0,1, - 224,0,1,224,0,1,224,0,0,192,0,0,0,0,127,255, - 192,127,255,192,255,255,128,0,0,0,0,0,0,0,192,0, - 1,224,0,1,224,0,1,224,0,1,224,0,0,192,0,21, - 24,72,25,2,255,0,0,24,0,252,56,3,255,240,15,15, - 224,30,7,224,62,3,240,60,7,240,124,15,240,124,31,248, - 252,29,248,252,57,248,252,121,248,252,241,248,252,225,248,253, - 193,248,255,193,240,127,129,240,127,1,224,62,3,224,63,3, - 192,63,135,128,127,254,0,113,248,0,192,0,0,26,35,140, - 27,1,0,0,224,0,0,3,240,0,0,7,240,0,0,1, - 248,0,0,0,248,0,0,0,124,0,0,0,62,0,0,0, - 30,0,0,0,15,0,0,0,7,0,0,0,2,0,0,0, - 0,0,0,0,0,0,0,3,128,28,0,255,135,252,0,255, - 135,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,129,252,0,31,199,252,128,31, - 255,255,128,15,254,255,192,7,248,126,0,3,224,112,0,26, - 35,140,27,1,0,0,3,128,0,0,7,240,0,0,7,240, - 0,0,15,224,0,0,15,192,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,60,0,0,0,120,0,0,0,48,0, - 0,0,0,0,0,0,0,0,0,3,128,28,0,255,135,252, - 0,255,135,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,129,252,0,31,199,252, - 128,31,255,255,128,15,254,255,192,7,248,126,0,3,224,112, - 0,26,35,140,27,1,0,0,30,0,0,0,62,0,0,0, - 127,0,0,0,255,128,0,0,255,128,0,1,255,192,0,3, - 247,224,0,3,193,224,0,7,128,240,0,15,0,112,0,6, - 0,48,0,0,0,0,0,0,0,0,0,3,128,28,0,255, - 135,252,0,255,135,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, - 128,252,0,31,128,252,0,31,128,252,0,31,129,252,0,31, - 199,252,128,31,255,255,128,15,254,255,192,7,248,126,0,3, - 224,112,0,26,33,132,27,1,0,3,192,240,0,7,193,240, - 0,7,225,248,0,7,225,248,0,7,193,240,0,7,193,240, - 0,7,129,224,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,3,128,28,0,255,135,252,0,255,135,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, - 0,31,128,252,0,31,129,252,0,31,199,252,128,31,255,255, - 128,15,254,255,192,7,248,126,0,3,224,112,0,25,46,184, - 24,255,245,0,1,224,0,0,3,248,0,0,3,248,0,0, - 3,240,0,0,7,224,0,0,7,192,0,0,15,128,0,0, - 15,0,0,0,30,0,0,0,28,0,0,0,56,0,0,0, - 0,0,0,0,0,0,0,127,240,127,128,127,240,127,128,31, - 192,30,0,15,192,28,0,15,192,28,0,7,224,60,0,7, - 224,56,0,3,240,56,0,3,240,112,0,1,240,112,0,1, - 248,240,0,1,248,224,0,0,252,224,0,0,253,224,0,0, - 125,192,0,0,127,192,0,0,127,128,0,0,63,128,0,0, - 63,128,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,30,0,0,0,28,0,0,0,60,0,0,0, - 120,0,0,32,248,0,0,63,240,0,0,127,224,0,0,255, - 192,0,0,255,128,0,0,126,0,0,0,24,47,141,27,1, - 245,3,0,0,63,128,0,255,128,0,255,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,131,224,31,143, - 248,31,191,252,31,255,252,31,240,254,31,192,126,31,128,63, - 31,128,63,31,128,31,31,128,31,31,128,31,31,128,31,31, - 128,31,31,128,30,31,128,30,31,128,62,31,192,60,31,240, - 124,31,255,248,31,255,240,31,159,224,31,135,128,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,63,192,0,255,248,0,255,248,0,25,44, - 176,24,255,245,0,224,56,0,1,240,124,0,3,240,252,0, - 3,240,252,0,3,240,252,0,3,224,248,0,1,192,112,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 127,240,127,128,127,240,127,128,31,192,30,0,15,192,28,0, - 15,192,28,0,7,224,60,0,7,224,56,0,3,240,56,0, - 3,240,112,0,1,240,112,0,1,248,240,0,1,248,224,0, - 0,252,224,0,0,253,224,0,0,125,192,0,0,127,192,0, - 0,127,128,0,0,63,128,0,0,63,128,0,0,31,0,0, - 0,31,0,0,0,14,0,0,0,14,0,0,0,30,0,0, - 0,28,0,0,0,60,0,0,0,120,0,0,32,248,0,0, - 63,240,0,0,127,224,0,0,255,192,0,0,255,128,0,0, - 126,0,0,0}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 29 - Calculated Max Values w=22 h=46 x= 3 y=17 dx=25 dy= 0 ascent=38 len=138 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent= 0 - X Font ascent =29 descent= 0 - Max Font ascent =38 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30n[1304] U8G_FONT_SECTION("u8g_font_gdb30n") = { - 0,74,69,232,239,29,0,0,0,0,42,58,0,38,247,29, - 0,19,20,60,21,1,17,0,48,0,1,240,0,1,240,0, - 32,240,0,112,225,128,120,227,192,126,231,224,127,255,224,31, - 255,0,3,248,0,3,248,0,31,255,0,127,255,192,254,231, - 192,124,227,192,48,225,192,0,240,128,0,240,0,1,240,0, - 0,192,0,18,18,54,20,1,4,0,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,127,255, - 192,255,255,192,255,255,128,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,192,0,10, - 15,30,13,1,247,7,0,63,128,255,192,127,192,63,192,15, - 192,15,192,15,128,15,128,15,0,31,0,30,0,60,0,120, - 0,48,0,15,3,6,17,1,11,127,254,127,252,255,252,8, - 7,7,13,3,255,62,127,255,255,255,254,124,21,46,138,23, - 1,248,0,0,56,0,0,248,0,0,240,0,1,240,0,1, - 240,0,1,224,0,3,224,0,3,224,0,3,192,0,7,192, - 0,7,128,0,15,128,0,15,128,0,15,0,0,31,0,0, - 31,0,0,30,0,0,62,0,0,60,0,0,124,0,0,124, - 0,0,120,0,0,248,0,0,248,0,0,240,0,1,240,0, - 1,224,0,3,224,0,3,224,0,3,192,0,7,192,0,7, - 192,0,7,128,0,15,128,0,15,0,0,31,0,0,31,0, - 0,30,0,0,62,0,0,62,0,0,60,0,0,124,0,0, - 120,0,0,248,0,0,248,0,0,192,0,0,22,29,87,24, - 1,0,0,252,0,3,255,0,7,143,192,15,7,224,30,3, - 224,62,1,240,62,1,240,124,1,248,124,1,248,124,0,248, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, - 248,126,0,248,62,1,240,62,1,240,31,1,224,31,3,192, - 15,135,128,3,255,0,0,252,0,19,29,87,24,3,0,0, - 16,0,0,248,0,7,248,0,63,248,0,255,248,0,225,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,15,255,0, - 127,255,224,127,255,224,20,29,87,24,1,0,0,255,0,7, - 255,192,15,143,224,63,7,224,62,3,240,126,3,240,126,3, - 240,120,3,240,0,3,240,0,7,224,0,7,224,0,15,192, - 0,15,128,0,31,128,0,31,0,0,62,0,0,124,0,0, - 248,0,0,248,0,1,240,0,3,224,32,7,192,48,15,128, - 48,15,0,48,30,0,112,63,255,240,127,255,240,255,255,240, - 127,255,240,20,29,87,24,1,0,1,254,0,7,255,128,31, - 31,192,63,15,192,62,7,224,126,7,224,60,7,224,0,7, - 224,0,7,192,0,15,192,0,31,128,0,127,0,1,254,0, - 1,255,128,2,63,192,0,15,224,0,7,224,0,3,240,0, - 3,240,0,3,240,0,3,240,0,3,240,0,3,240,64,7, - 224,96,15,224,252,31,192,63,255,128,31,254,0,3,248,0, - 21,29,87,25,2,0,0,1,128,0,15,128,0,31,128,0, - 63,128,0,63,128,0,127,128,0,255,128,0,239,128,1,239, - 128,3,207,128,3,143,128,7,143,128,7,15,128,14,15,128, - 30,15,128,28,15,128,56,15,128,56,15,128,127,255,248,255, - 255,240,255,255,224,0,15,128,0,15,128,0,15,128,0,15, - 128,0,15,128,0,31,192,1,255,240,1,255,240,20,29,87, - 24,2,0,0,0,32,31,255,240,31,255,192,31,255,192,31, - 255,128,28,0,0,28,0,0,28,0,0,60,0,0,60,0, - 0,56,0,0,59,252,0,63,255,0,63,255,128,120,31,192, - 32,15,224,0,7,224,0,7,240,0,3,240,0,3,240,0, - 3,240,0,3,240,0,3,240,0,7,224,64,7,224,224,15, - 192,252,31,128,63,254,0,7,248,0,20,29,87,24,2,0, - 0,1,128,0,31,192,0,127,0,1,252,0,3,240,0,7, - 192,0,15,128,0,31,128,0,63,0,0,62,0,0,126,0, - 0,124,126,0,125,255,128,255,255,192,255,15,224,254,7,224, - 252,7,240,252,3,240,252,3,240,252,3,240,252,3,240,124, - 3,240,126,3,224,126,3,224,62,3,192,31,7,192,15,143, - 128,7,255,0,1,248,0,21,28,84,24,2,0,127,255,240, - 127,255,248,127,255,240,127,255,224,112,1,224,224,1,224,192, - 1,192,64,3,192,0,3,128,0,7,128,0,7,0,0,15, - 0,0,15,0,0,30,0,0,30,0,0,60,0,0,60,0, - 0,124,0,0,120,0,0,248,0,0,240,0,1,240,0,1, - 240,0,3,224,0,3,224,0,7,224,0,15,192,0,6,0, - 0,20,29,87,24,2,0,0,252,0,7,255,128,15,31,192, - 30,15,192,28,7,224,60,7,224,60,7,224,60,7,224,62, - 15,192,63,143,128,31,255,0,31,254,0,15,252,0,3,255, - 0,7,255,128,15,255,192,31,31,224,62,15,240,126,7,240, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,224,126, - 3,224,126,7,192,63,15,128,31,254,0,3,248,0,20,29, - 87,24,2,255,1,252,0,7,255,0,15,31,128,30,15,192, - 62,7,224,124,7,224,124,7,224,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,254,3,240,126,7,240,127,15, - 240,63,255,240,31,251,224,7,227,224,0,7,224,0,7,192, - 0,7,192,0,15,128,0,31,0,0,62,0,0,252,0,3, - 248,0,15,224,0,63,128,0,56,0,0,8,23,23,13,3, - 255,62,127,255,255,255,254,124,0,0,0,0,0,0,0,0, - 0,62,127,255,255,255,254,124}; -/* - Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=41 h=49 x= 4 y=24 dx=42 dy= 0 ascent=39 len=210 - Font Bounding box w=74 h=69 x=-24 y=-17 - Calculated Min Values x=-7 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdb30r[9112] U8G_FONT_SECTION("u8g_font_gdb30r") = { - 0,74,69,232,239,30,10,50,24,78,32,127,245,39,245,38, - 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, - 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, - 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, - 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, - 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, - 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, - 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, - 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, - 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, - 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, - 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, - 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, - 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, - 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, - 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, - 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, - 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, - 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, - 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, - 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, - 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, - 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, - 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, - 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, - 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, - 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, - 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, - 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, - 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, - 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, - 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, - 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, - 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, - 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, - 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, - 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, - 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, - 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, - 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, - 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, - 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, - 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, - 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, - 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, - 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, - 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, - 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, - 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, - 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, - 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, - 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, - 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, - 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, - 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, - 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, - 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, - 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, - 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, - 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, - 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, - 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, - 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, - 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, - 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, - 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, - 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, - 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, - 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, - 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, - 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, - 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, - 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, - 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, - 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, - 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, - 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, - 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, - 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, - 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, - 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, - 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, - 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, - 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, - 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, - 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, - 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, - 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, - 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, - 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, - 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, - 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, - 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, - 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, - 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, - 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, - 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, - 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, - 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, - 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, - 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, - 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, - 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, - 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, - 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, - 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, - 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, - 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, - 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, - 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, - 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, - 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, - 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, - 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, - 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, - 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, - 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, - 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, - 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, - 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, - 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, - 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, - 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, - 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, - 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, - 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, - 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, - 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, - 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, - 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, - 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, - 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, - 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, - 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, - 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, - 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, - 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, - 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, - 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, - 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, - 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, - 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, - 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, - 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, - 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, - 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, - 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, - 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, - 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, - 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, - 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, - 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, - 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, - 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, - 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, - 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, - 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, - 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, - 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, - 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, - 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, - 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, - 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, - 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, - 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, - 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, - 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, - 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, - 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, - 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, - 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, - 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, - 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, - 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, - 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, - 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, - 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, - 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, - 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, - 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, - 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, - 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, - 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, - 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, - 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, - 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, - 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, - 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, - 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, - 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, - 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, - 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, - 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, - 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, - 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, - 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, - 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, - 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, - 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, - 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, - 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, - 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, - 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, - 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, - 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, - 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, - 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, - 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, - 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, - 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, - 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, - 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, - 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, - 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, - 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, - 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, - 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, - 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, - 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, - 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, - 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, - 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, - 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, - 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, - 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, - 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, - 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, - 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, - 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, - 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, - 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, - 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, - 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, - 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, - 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, - 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, - 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, - 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, - 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, - 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, - 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, - 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, - 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, - 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, - 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, - 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, - 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, - 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, - 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, - 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, - 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, - 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, - 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, - 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, - 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, - 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, - 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, - 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, - 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, - 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, - 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, - 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, - 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, - 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, - 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, - 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, - 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, - 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, - 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, - 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, - 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, - 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, - 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, - 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, - 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, - 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, - 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, - 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, - 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, - 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, - 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, - 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, - 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, - 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, - 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, - 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, - 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, - 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, - 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, - 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, - 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, - 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, - 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, - 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, - 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, - 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, - 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, - 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, - 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, - 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, - 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, - 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, - 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, - 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, - 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, - 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, - 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, - 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, - 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, - 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, - 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, - 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, - 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, - 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, - 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, - 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, - 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, - 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, - 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, - 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, - 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, - 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, - 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, - 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, - 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, - 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, - 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, - 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, - 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, - 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, - 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, - 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, - 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, - 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, - 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, - 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, - 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, - 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, - 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, - 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, - 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, - 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, - 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, - 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, - 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, - 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, - 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, - 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, - 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, - 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, - 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, - 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, - 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, - 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, - 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, - 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, - 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, - 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, - 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, - 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, - 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, - 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, - 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, - 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, - 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, - 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, - 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, - 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, - 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, - 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, - 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, - 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, - 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, - 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, - 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, - 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, - 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, - 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, - 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, - 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, - 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, - 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, - 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, - 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, - 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, - 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, - 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, - 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, - 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, - 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, - 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, - 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, - 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, - 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, - 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, - 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, - 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, - 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, - 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, - 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, - 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, - 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, - 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, - 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, - 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, - 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, - 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, - 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, - 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, - 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, - 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, - 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, - 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, - 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, - 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, - 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, - 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, - 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, - 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, - 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, - 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, - 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, - 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, - 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, - 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, - 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, - 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, - 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, - 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, - 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, - 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, - 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, - 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, - 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, - 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, - 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, - 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, - 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, - 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, - 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, - 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, - 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, - 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, - 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, - 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, - 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, - 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, - 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, - 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, - 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, - 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, - 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, - 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, - 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, - 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, - 192,64,31,128,192,15,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=15 len=30 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =10 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =15 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10[3670] U8G_FONT_SECTION("u8g_font_gdr10") = { - 0,25,24,247,250,10,2,30,4,177,32,255,252,15,251,13, - 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, - 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, - 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, - 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, - 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, - 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, - 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, - 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, - 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, - 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, - 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, - 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, - 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, - 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, - 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, - 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, - 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, - 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, - 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, - 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, - 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, - 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, - 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, - 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, - 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, - 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, - 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, - 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, - 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, - 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, - 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, - 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, - 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, - 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, - 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, - 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, - 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, - 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, - 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, - 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, - 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, - 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, - 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, - 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, - 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, - 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, - 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, - 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, - 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, - 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, - 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, - 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, - 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, - 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, - 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, - 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, - 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, - 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, - 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, - 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, - 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, - 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, - 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, - 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, - 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, - 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, - 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, - 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, - 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, - 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, - 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, - 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, - 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, - 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, - 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, - 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, - 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, - 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, - 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, - 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, - 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, - 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, - 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, - 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, - 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, - 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, - 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, - 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, - 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, - 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, - 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, - 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, - 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, - 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, - 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, - 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, - 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, - 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, - 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, - 32,192,8,2,2,8,0,4,57,206,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,4,0, - 0,2,13,13,5,1,251,64,64,0,0,64,64,64,64,64, - 64,64,192,192,6,10,10,8,1,0,16,28,116,144,144,144, - 144,116,56,16,7,11,11,8,1,255,60,68,68,64,64,240, - 64,64,66,134,252,4,6,6,8,2,2,144,240,144,144,240, - 144,9,10,20,8,255,0,231,128,34,0,22,0,20,0,8, - 0,62,0,8,0,8,0,8,0,28,0,1,17,17,4,2, - 253,128,128,128,128,128,128,128,128,0,128,128,128,128,128,128, - 128,128,6,12,12,8,1,0,112,152,128,96,184,140,196,100, - 24,136,200,112,5,2,2,7,1,9,136,136,10,10,20,12, - 1,0,30,0,127,128,114,128,160,64,160,64,160,64,176,64, - 94,128,97,128,30,0,4,6,6,4,0,5,96,160,96,160, - 240,240,6,8,8,8,1,0,36,72,72,144,144,72,72,36, - 7,3,3,8,0,2,254,2,2,4,1,1,6,1,4,240, - 6,6,6,6,0,6,120,132,180,180,180,120,6,1,1,8, - 1,9,252,4,4,4,6,1,6,112,144,144,224,6,8,8, - 7,1,1,32,32,32,252,32,32,64,248,4,7,7,6,1, - 5,112,144,16,32,64,144,240,4,7,7,5,0,5,112,144, - 16,48,16,144,224,3,3,3,5,2,9,96,64,128,9,12, - 24,9,0,252,195,0,65,0,65,0,65,0,65,0,65,0, - 99,0,125,128,64,0,64,0,96,0,96,0,8,12,12,10, - 1,254,63,202,138,138,202,122,10,10,10,10,10,31,1,2, - 2,2,1,5,128,128,2,4,4,4,1,252,128,192,64,128, - 4,6,6,6,0,5,96,160,32,32,32,112,4,6,6,5, - 0,5,96,144,144,144,96,240,7,8,8,8,1,0,144,72, - 108,36,54,108,72,144,9,10,20,10,1,0,193,0,66,0, - 66,0,68,0,72,0,169,0,23,0,37,0,39,128,67,128, - 8,10,10,10,1,0,193,66,68,68,72,171,21,34,37,79, - 10,11,22,10,0,0,112,0,80,128,33,0,18,0,18,0, - 228,0,8,128,11,128,18,128,19,192,33,192,6,13,13,8, - 1,251,32,32,0,32,32,32,64,64,128,128,132,136,112,10, - 15,30,10,0,0,32,0,24,0,12,0,0,0,0,0,4, - 0,12,0,20,0,18,0,18,0,30,0,33,0,33,0,65, - 128,227,192,10,15,30,10,0,0,2,0,7,0,12,0,16, - 0,0,0,4,0,12,0,20,0,18,0,18,0,30,0,33, - 0,33,0,65,128,227,192,10,15,30,10,0,0,12,0,12, - 0,18,0,33,0,0,0,4,0,12,0,20,0,18,0,18, - 0,30,0,33,0,33,0,65,128,227,192,10,14,28,10,0, - 0,10,0,25,0,38,0,0,0,4,0,12,0,20,0,18, - 0,18,0,30,0,33,0,33,0,65,128,227,192,10,13,26, - 10,0,0,34,0,34,0,0,0,4,0,12,0,20,0,18, - 0,18,0,30,0,33,0,33,0,65,128,227,192,10,15,30, - 10,0,0,12,0,20,0,28,0,0,0,0,0,4,0,12, - 0,20,0,18,0,18,0,30,0,33,0,33,0,65,128,227, - 192,12,10,20,13,1,0,31,224,10,32,10,0,18,0,31, - 224,50,0,34,0,34,0,66,16,231,240,7,14,14,9,1, - 252,62,66,128,128,128,128,128,128,66,102,24,24,8,16,7, - 15,15,8,1,0,64,224,16,8,0,252,68,64,64,124,64, - 64,64,66,254,7,15,15,8,1,0,8,28,48,0,0,252, - 68,64,64,124,64,64,64,66,254,7,15,15,8,1,0,16, - 56,72,4,0,252,68,64,64,124,64,64,64,66,254,7,13, - 13,8,1,0,136,136,0,252,68,64,64,124,64,64,64,66, - 254,4,15,15,5,0,0,128,192,32,16,0,112,32,32,32, - 32,32,32,32,32,112,4,15,15,5,1,0,32,48,64,128, - 0,224,64,64,64,64,64,64,64,64,224,5,15,15,5,0, - 0,32,112,136,0,0,112,32,32,32,32,32,32,32,32,112, - 5,13,13,5,0,0,136,136,0,112,32,32,32,32,32,32, - 32,32,112,8,10,10,10,1,0,252,70,65,65,241,65,65, - 66,66,252,9,14,28,11,1,0,18,0,58,0,4,0,0, - 0,195,128,97,0,97,0,81,0,73,0,77,0,69,0,67, - 0,67,0,225,0,8,15,15,10,1,0,32,112,8,4,0, - 60,66,129,129,129,129,129,130,66,60,8,15,15,10,1,0, - 4,14,24,0,0,60,66,129,129,129,129,129,130,66,60,8, - 15,15,10,1,0,8,28,36,66,0,60,66,129,129,129,129, - 129,130,66,60,8,14,14,10,1,0,18,50,76,0,60,66, - 129,129,129,129,129,130,66,60,8,13,13,10,1,0,68,68, - 0,60,66,129,129,129,129,129,130,66,60,5,5,5,7,1, - 2,136,80,32,80,136,8,10,10,10,1,0,29,98,131,133, - 137,145,161,194,66,188,9,15,30,11,1,0,32,0,48,0, - 12,0,0,0,0,0,227,128,65,0,65,0,65,0,65,0, - 65,0,65,0,65,0,34,0,60,0,9,15,30,11,1,0, - 2,0,6,0,8,0,16,0,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,65,0,34,0,60,0,9,15, - 30,11,1,0,8,0,28,0,34,0,0,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 60,0,9,13,26,11,1,0,34,0,34,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, - 60,0,9,15,30,10,1,0,4,0,14,0,24,0,0,0, - 0,0,195,128,97,0,50,0,22,0,28,0,8,0,8,0, - 8,0,8,0,28,0,7,10,10,9,1,0,224,64,124,70, - 66,66,66,124,64,224,8,13,13,10,1,0,28,38,66,66, - 68,72,80,88,78,67,81,81,206,7,12,12,8,1,0,64, - 32,16,0,28,100,4,28,100,132,140,118,7,12,12,8,1, - 0,8,16,32,0,28,100,4,28,100,132,140,118,7,12,12, - 8,1,0,48,72,136,4,28,100,4,28,100,132,140,118,7, - 11,11,8,1,0,100,152,0,28,100,4,28,100,132,140,118, - 7,11,11,8,1,0,136,136,0,28,100,4,28,100,132,140, - 118,7,12,12,8,1,0,48,80,112,0,28,100,4,28,100, - 132,140,118,10,8,16,12,1,0,59,128,204,64,136,64,63, - 192,72,0,136,0,156,192,231,0,6,12,12,7,1,252,60, - 72,128,128,128,128,196,120,32,48,16,32,6,12,12,8,1, - 0,96,32,16,0,56,68,132,252,128,128,68,120,6,12,12, - 8,1,0,12,24,32,0,56,68,132,252,128,128,68,120,6, - 12,12,8,1,0,48,72,132,0,56,68,132,252,128,128,68, - 120,6,11,11,8,1,0,132,136,0,56,68,132,252,128,128, - 68,120,4,12,12,5,0,0,192,64,32,0,32,96,32,32, - 32,32,32,112,4,12,12,5,1,0,48,96,64,0,64,192, - 64,64,64,64,64,224,5,12,12,5,0,0,32,80,136,0, - 32,96,32,32,32,32,32,112,5,11,11,5,0,0,136,136, - 0,32,96,32,32,32,32,32,112,6,12,12,8,1,0,104, - 28,120,8,52,204,132,132,132,132,72,112,8,11,11,9,1, - 0,54,76,0,78,210,98,66,66,66,66,231,7,12,12,9, - 1,0,96,32,16,0,56,68,130,130,130,130,68,56,7,12, - 12,9,1,0,12,8,16,0,56,68,130,130,130,130,68,56, - 7,12,12,9,1,0,16,40,68,0,56,68,130,130,130,130, - 68,56,7,11,11,9,1,0,52,216,0,56,68,130,130,130, - 130,68,56,7,11,11,9,1,0,132,132,0,56,68,130,130, - 130,130,68,56,5,6,6,7,1,2,32,32,0,248,32,32, - 7,8,8,9,1,0,62,68,142,146,146,226,68,248,9,12, - 24,9,0,0,48,0,24,0,8,0,0,0,195,0,65,0, - 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,9, - 0,0,6,0,4,0,8,0,0,0,195,0,65,0,65,0, - 65,0,65,0,65,0,67,0,61,128,9,12,24,9,0,0, - 8,0,20,0,34,0,0,0,195,0,65,0,65,0,65,0, - 65,0,65,0,67,0,61,128,9,11,22,9,0,0,34,0, - 66,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, - 67,0,61,128,8,16,16,8,0,252,6,12,8,0,231,98, - 34,36,52,20,24,8,8,16,160,192,7,17,17,9,1,252, - 64,192,64,64,64,92,102,66,66,66,66,100,120,64,64,64, - 224,8,15,15,8,0,252,66,66,0,231,98,34,36,52,20, - 24,8,8,16,160,192}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 10 - Calculated Max Values w= 8 h=16 x= 2 y= 6 dx= 8 dy= 0 ascent=13 len=16 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =13 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10n[263] U8G_FONT_SECTION("u8g_font_gdr10n") = { - 0,25,24,247,250,10,0,0,0,0,42,58,0,13,253,10, - 0,6,7,7,8,1,6,32,168,236,48,252,164,32,6,6, - 6,7,1,2,32,32,32,252,32,32,2,4,4,4,1,253, - 192,64,64,128,4,1,1,6,1,4,240,1,2,2,4,2, - 0,128,128,8,16,16,8,0,253,3,2,6,4,4,12,8, - 8,16,16,48,32,32,96,64,192,6,10,10,8,1,0,56, - 72,132,132,132,132,132,132,72,112,5,10,10,8,2,0,32, - 224,32,32,32,32,32,32,32,248,5,10,10,8,2,0,56, - 200,136,8,16,32,32,64,136,248,6,10,10,8,1,0,112, - 136,136,16,48,8,4,4,140,120,6,10,10,8,1,0,8, - 24,40,40,72,136,252,8,8,60,6,10,10,8,1,0,124, - 64,64,120,140,4,4,4,132,120,6,10,10,8,1,0,24, - 32,64,128,248,132,132,132,72,56,6,10,10,8,1,0,252, - 132,8,8,8,16,16,32,32,64,6,10,10,8,1,0,120, - 196,196,200,56,204,132,132,132,120,6,10,10,8,1,0,56, - 200,132,132,132,124,4,8,16,96,1,8,8,4,2,0,128, - 128,0,0,0,0,128,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=25 h=24 x=-9 y=-6 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =10 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr10r[1723] U8G_FONT_SECTION("u8g_font_gdr10r") = { - 0,25,24,247,250,10,2,30,4,177,32,127,252,14,252,13, - 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, - 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, - 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, - 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, - 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, - 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, - 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, - 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, - 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, - 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, - 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, - 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, - 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, - 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, - 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, - 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, - 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, - 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, - 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, - 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, - 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, - 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, - 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, - 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, - 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, - 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, - 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, - 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, - 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, - 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, - 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, - 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, - 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, - 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, - 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, - 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, - 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, - 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, - 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, - 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, - 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, - 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, - 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, - 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, - 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, - 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, - 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, - 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, - 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, - 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, - 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, - 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, - 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, - 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, - 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, - 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, - 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, - 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, - 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, - 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, - 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, - 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, - 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, - 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, - 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, - 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, - 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, - 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, - 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, - 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, - 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, - 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, - 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, - 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, - 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, - 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, - 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, - 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, - 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, - 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, - 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, - 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, - 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, - 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, - 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, - 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, - 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, - 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, - 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, - 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, - 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, - 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, - 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, - 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, - 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, - 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, - 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, - 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, - 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, - 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, - 32,192,8,2,2,8,0,4,57,206,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y=10 dx=15 dy= 0 ascent=16 len=34 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11[3977] U8G_FONT_SECTION("u8g_font_gdr11") = { - 0,26,25,247,250,11,2,61,5,21,32,255,252,16,251,14, - 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, - 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, - 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, - 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, - 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, - 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, - 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, - 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, - 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, - 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, - 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, - 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, - 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, - 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, - 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, - 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, - 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, - 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, - 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, - 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, - 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, - 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, - 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, - 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, - 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, - 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, - 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, - 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, - 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, - 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, - 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, - 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, - 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, - 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, - 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, - 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, - 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, - 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, - 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, - 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, - 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, - 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, - 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, - 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, - 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, - 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, - 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, - 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, - 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, - 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, - 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, - 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, - 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, - 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, - 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, - 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, - 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, - 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, - 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, - 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, - 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, - 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, - 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, - 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, - 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, - 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, - 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, - 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, - 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, - 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, - 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, - 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, - 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, - 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, - 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, - 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, - 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, - 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, - 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, - 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, - 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, - 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, - 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, - 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, - 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, - 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, - 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, - 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, - 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, - 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, - 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, - 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, - 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, - 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, - 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, - 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, - 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, - 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, - 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, - 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, - 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, - 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, - 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, - 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, - 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, - 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, - 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, - 32,64,192,8,2,2,9,0,4,57,206,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,4, - 0,0,2,13,13,5,1,251,64,192,0,64,64,64,64,64, - 64,64,64,64,64,7,11,11,8,1,0,16,24,118,144,144, - 144,144,212,126,16,16,7,11,11,8,1,0,60,68,68,64, - 64,240,64,64,66,130,254,6,6,6,8,1,2,248,76,72, - 72,120,132,9,11,22,8,0,0,231,128,98,0,50,0,20, - 0,28,0,8,0,127,0,8,0,8,0,8,0,28,0,1, - 19,19,4,2,252,128,128,128,128,128,128,128,128,0,0,0, - 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, - 128,224,248,142,130,66,60,12,132,196,120,5,2,2,7,1, - 10,136,136,11,11,22,13,1,0,31,0,32,128,94,64,162, - 32,160,32,160,32,160,32,177,32,94,64,32,128,31,0,5, - 6,6,5,0,5,48,80,112,144,248,240,7,8,8,9,1, - 0,38,36,72,152,152,72,36,38,7,3,3,8,1,2,254, - 2,2,5,1,1,6,1,4,248,6,7,7,6,0,6,120, - 72,188,188,180,104,120,6,1,1,9,1,10,252,4,4,4, - 6,1,7,112,144,144,224,7,8,8,7,0,1,16,16,254, - 16,16,16,0,126,4,7,7,6,1,5,112,144,16,32,64, - 144,240,5,7,7,6,0,5,56,72,8,24,8,136,112,3, - 4,4,6,2,9,32,96,64,128,8,12,12,10,1,252,198, - 66,66,66,66,66,102,123,64,64,64,96,8,13,13,10,1, - 254,63,202,138,138,138,202,122,10,10,10,10,10,31,1,2, - 2,3,1,5,128,128,2,4,4,4,1,252,192,64,192,128, - 4,7,7,6,1,5,32,224,32,32,32,32,240,4,6,6, - 5,0,5,96,144,144,144,96,240,7,8,8,9,1,0,144, - 72,100,54,54,100,72,144,10,11,22,11,1,0,192,128,65, - 0,65,0,66,0,70,0,164,0,8,128,27,128,18,128,35, - 192,101,192,9,11,22,11,1,0,193,0,65,0,66,0,68, - 0,68,0,168,0,11,128,20,128,33,0,34,128,71,128,10, - 11,22,10,0,0,96,128,144,128,33,0,17,0,18,0,228, - 0,4,128,11,128,18,128,19,192,37,192,6,13,13,8,1, - 251,16,48,0,16,16,16,32,64,128,132,132,136,112,11,15, - 30,11,0,0,16,0,56,0,4,0,2,0,4,0,12,0, - 14,0,18,0,18,0,19,0,31,0,33,0,33,128,32,128, - 241,224,11,15,30,11,0,0,1,0,7,0,12,0,0,0, - 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, - 33,128,32,128,241,224,11,15,30,11,0,0,4,0,14,0, - 17,0,32,0,4,0,12,0,14,0,18,0,18,0,19,0, - 31,0,33,0,33,128,32,128,241,224,11,15,30,11,0,0, - 9,0,29,0,34,0,0,0,4,0,12,0,14,0,18,0, - 18,0,19,0,31,0,33,0,33,128,32,128,241,224,11,14, - 28,11,0,0,33,0,33,0,0,0,4,0,12,0,14,0, - 18,0,18,0,19,0,31,0,33,0,33,128,32,128,241,224, - 11,16,32,11,0,0,4,0,10,0,18,0,12,0,0,0, - 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, - 33,128,32,128,241,224,13,11,22,14,0,0,15,248,5,8, - 5,0,9,0,15,240,17,0,17,0,17,0,33,8,33,8, - 243,248,9,15,30,10,1,252,62,0,66,0,128,0,128,0, - 128,0,128,0,128,0,128,0,192,0,97,128,62,0,8,0, - 12,0,4,0,8,0,7,15,15,9,1,0,64,224,24,0, - 254,66,64,64,124,64,64,64,66,66,254,7,15,15,9,1, - 0,4,12,48,0,254,66,64,64,124,64,64,64,66,66,254, - 7,15,15,9,1,0,16,40,68,0,254,66,64,64,124,64, - 64,64,66,66,254,7,14,14,9,1,0,68,68,0,254,66, - 64,64,124,64,64,64,66,66,254,4,15,15,5,0,0,128, - 192,48,0,112,32,32,32,32,32,32,32,32,32,112,5,15, - 15,5,1,0,16,56,192,0,224,64,64,64,64,64,64,64, - 64,64,224,5,15,15,5,0,0,32,80,136,0,112,32,32, - 32,32,32,32,32,32,32,112,5,14,14,5,0,0,136,136, - 0,112,32,32,32,32,32,32,32,32,32,112,9,11,22,11, - 1,0,252,0,67,0,65,0,64,128,64,128,240,128,64,128, - 64,128,65,0,67,0,252,0,10,15,30,12,1,0,25,0, - 57,0,38,0,0,0,193,192,96,128,112,128,80,128,72,128, - 76,128,70,128,66,128,65,128,65,128,224,128,9,15,30,11, - 1,0,32,0,112,0,12,0,0,0,30,0,99,0,129,0, - 128,128,128,128,128,128,128,128,128,128,65,0,98,0,60,0, - 9,15,30,11,1,0,2,0,6,0,24,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,9,15,30,11,1,0,8,0,20,0,34,0, - 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, - 128,128,65,0,98,0,60,0,9,15,30,11,1,0,18,0, - 58,0,68,0,0,0,30,0,99,0,129,0,128,128,128,128, - 128,128,128,128,128,128,65,0,98,0,60,0,9,14,28,11, - 1,0,34,0,34,0,0,0,30,0,99,0,129,0,128,128, - 128,128,128,128,128,128,128,128,65,0,98,0,60,0,6,6, - 6,7,1,2,140,88,48,48,88,140,9,11,22,11,1,0, - 30,128,35,0,67,0,134,128,132,128,136,128,144,128,176,128, - 97,0,98,0,188,0,10,15,30,12,1,0,32,0,24,0, - 4,0,2,0,225,192,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,15,30,12,1,0, - 2,0,7,0,8,0,16,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,15, - 30,12,1,0,12,0,30,0,34,0,1,0,225,192,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,33,0, - 30,0,10,14,28,12,1,0,34,0,34,0,0,0,225,192, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 33,0,30,0,10,15,30,11,0,0,1,0,7,0,12,0, - 0,0,225,192,48,128,17,0,25,0,10,0,14,0,4,0, - 4,0,4,0,4,0,14,0,7,11,11,9,1,0,240,64, - 124,70,66,66,66,68,124,64,240,8,14,14,10,1,0,28, - 38,66,66,66,76,80,80,76,71,65,81,81,222,7,13,13, - 8,1,0,64,96,48,16,0,60,68,132,28,100,132,140,118, - 7,13,13,8,1,0,12,8,16,32,0,60,68,132,28,100, - 132,140,118,7,13,13,8,1,0,48,56,72,132,0,60,68, - 132,28,100,132,140,118,7,12,12,8,1,0,116,152,0,0, - 60,68,132,28,100,132,140,118,7,12,12,8,1,0,132,132, - 0,0,60,68,132,28,100,132,140,118,7,13,13,8,1,0, - 48,72,72,48,0,60,68,132,28,100,132,140,118,11,8,16, - 12,1,0,29,192,102,32,68,32,159,224,100,0,132,0,142, - 32,115,192,7,12,12,8,1,252,60,68,128,128,128,128,194, - 124,16,24,8,16,6,13,13,8,1,0,96,32,16,16,0, - 56,68,132,252,128,128,68,120,6,13,13,8,1,0,12,8, - 16,16,0,56,68,132,252,128,128,68,120,6,13,13,8,1, - 0,16,56,108,68,0,56,68,132,252,128,128,68,120,6,12, - 12,8,1,0,68,68,0,0,56,68,132,252,128,128,68,120, - 4,13,13,5,0,0,192,64,32,32,16,32,96,32,32,32, - 32,32,112,4,13,13,5,1,0,48,32,64,64,0,64,192, - 64,64,64,64,64,224,5,13,13,5,0,0,32,112,216,136, - 0,32,96,32,32,32,32,32,112,5,12,12,5,0,0,136, - 136,0,0,32,96,32,32,32,32,32,112,7,13,13,9,1, - 0,96,30,56,68,4,62,198,130,130,130,132,68,56,8,12, - 12,10,1,0,50,76,0,0,78,210,98,66,66,66,66,231, - 7,13,13,9,1,0,96,32,16,8,0,56,196,130,130,130, - 130,68,56,7,13,13,9,1,0,4,12,24,16,0,56,196, - 130,130,130,130,68,56,7,13,13,9,1,0,16,56,36,68, - 0,56,196,130,130,130,130,68,56,7,12,12,9,1,0,50, - 92,0,0,56,196,130,130,130,130,68,56,7,12,12,9,1, - 0,68,68,0,0,56,196,130,130,130,130,68,56,6,6,6, - 7,1,2,32,32,0,252,32,32,7,9,9,9,1,0,2, - 62,68,138,146,162,226,68,248,8,13,13,10,1,0,96,48, - 16,8,0,198,66,66,66,66,66,70,59,8,13,13,10,1, - 0,4,12,8,16,0,198,66,66,66,66,66,70,59,8,13, - 13,10,1,0,24,56,36,66,0,198,66,66,66,66,66,70, - 59,8,12,12,10,1,0,68,68,0,0,198,66,66,66,66, - 66,70,59,9,17,34,9,0,252,2,0,4,0,12,0,8, - 0,0,0,243,128,97,0,34,0,50,0,20,0,20,0,28, - 0,8,0,8,0,16,0,176,0,224,0,8,18,18,10,1, - 252,64,192,64,64,64,64,78,115,65,65,65,65,98,124,64, - 64,64,240,9,16,32,9,0,252,34,0,34,0,0,0,0, - 0,243,128,97,0,34,0,50,0,20,0,20,0,28,0,8, - 0,8,0,16,0,176,0,224,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=17 x= 1 y= 6 dx= 9 dy= 0 ascent=14 len=17 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11n[276] U8G_FONT_SECTION("u8g_font_gdr11n") = { - 0,26,25,247,250,11,0,0,0,0,42,58,0,14,253,11, - 0,6,8,8,8,1,6,48,16,164,120,120,164,16,48,7, - 6,6,7,0,2,16,16,16,254,16,16,2,5,5,4,1, - 253,64,192,64,64,128,5,1,1,6,1,4,248,2,2,2, - 4,1,0,192,128,8,17,17,8,0,253,1,2,2,6,4, - 4,12,8,8,16,16,48,32,32,96,64,192,6,11,11,8, - 1,0,48,72,132,132,132,132,132,132,132,72,48,6,11,11, - 8,1,0,16,240,16,16,16,16,16,16,16,16,124,6,11, - 11,8,1,0,28,100,68,4,8,8,16,32,68,68,252,6, - 11,11,7,0,0,56,68,68,4,24,12,4,4,4,140,120, - 7,11,11,8,0,0,4,12,12,20,36,36,68,254,4,4, - 30,6,11,11,8,1,0,124,64,64,64,120,132,4,4,4, - 132,120,6,11,11,8,1,0,12,48,64,192,184,196,132,132, - 132,72,56,7,11,11,8,1,0,254,132,4,8,8,8,16, - 16,32,32,96,7,11,11,9,1,0,120,196,196,196,120,60, - 194,130,130,130,124,6,11,11,8,1,0,56,200,132,132,132, - 132,124,4,8,16,224,2,8,8,4,1,0,192,128,0,0, - 0,0,192,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=19 x= 2 y= 9 dx=15 dy= 0 ascent=15 len=30 - Font Bounding box w=26 h=25 x=-9 y=-6 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr11r[1868] U8G_FONT_SECTION("u8g_font_gdr11r") = { - 0,26,25,247,250,11,2,61,5,21,32,127,252,15,252,14, - 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, - 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, - 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, - 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, - 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, - 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, - 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, - 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, - 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, - 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, - 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, - 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, - 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, - 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, - 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, - 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, - 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, - 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, - 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, - 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, - 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, - 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, - 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, - 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, - 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, - 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, - 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, - 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, - 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, - 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, - 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, - 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, - 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, - 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, - 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, - 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, - 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, - 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, - 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, - 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, - 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, - 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, - 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, - 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, - 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, - 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, - 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, - 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, - 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, - 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, - 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, - 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, - 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, - 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, - 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, - 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, - 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, - 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, - 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, - 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, - 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, - 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, - 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, - 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, - 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, - 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, - 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, - 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, - 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, - 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, - 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, - 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, - 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, - 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, - 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, - 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, - 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, - 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, - 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, - 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, - 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, - 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, - 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, - 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, - 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, - 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, - 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, - 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, - 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, - 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, - 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, - 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, - 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, - 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, - 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, - 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, - 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, - 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, - 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, - 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, - 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, - 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, - 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, - 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, - 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, - 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, - 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, - 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, - 32,64,192,8,2,2,9,0,4,57,206,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =17 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12[4200] U8G_FONT_SECTION("u8g_font_gdr12") = { - 0,28,28,246,249,12,2,80,5,85,32,255,252,17,251,15, - 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, - 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, - 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, - 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, - 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, - 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, - 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, - 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, - 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, - 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, - 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, - 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, - 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, - 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, - 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, - 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, - 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, - 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, - 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, - 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, - 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, - 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, - 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, - 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, - 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, - 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, - 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, - 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, - 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, - 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, - 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, - 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, - 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, - 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, - 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, - 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, - 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, - 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, - 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, - 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, - 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, - 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, - 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, - 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, - 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, - 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, - 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, - 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, - 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, - 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, - 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, - 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, - 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, - 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, - 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, - 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, - 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, - 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, - 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, - 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, - 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, - 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, - 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, - 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, - 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, - 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, - 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, - 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, - 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, - 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, - 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, - 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, - 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, - 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, - 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, - 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, - 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, - 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, - 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, - 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, - 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, - 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, - 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, - 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, - 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, - 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, - 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, - 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, - 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, - 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, - 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, - 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, - 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, - 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, - 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, - 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, - 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, - 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, - 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, - 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, - 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, - 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, - 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, - 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, - 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, - 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, - 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, - 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, - 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, - 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, - 0,125,128,79,0,134,0,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,4,0,0,2,14, - 14,5,2,251,64,192,64,128,128,128,128,128,128,128,128,128, - 128,128,7,12,12,9,1,0,16,16,62,212,144,144,144,144, - 210,124,16,16,7,12,12,9,1,0,60,70,68,64,64,64, - 240,64,64,66,66,254,7,6,6,9,1,3,132,126,68,68, - 68,254,9,11,22,9,0,0,231,128,99,0,50,0,20,0, - 28,0,8,0,127,0,8,0,8,0,8,0,62,0,1,20, - 20,4,2,252,128,128,128,128,128,128,128,128,128,0,0,128, - 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, - 128,224,184,134,130,98,60,12,132,196,120,5,2,2,7,1, - 10,136,136,12,12,24,14,1,0,15,0,48,192,94,32,146, - 32,160,16,160,16,160,16,160,16,144,160,79,32,32,64,31, - 128,5,7,7,5,0,5,48,208,112,208,176,72,240,7,8, - 8,9,1,0,34,36,76,216,216,76,36,34,8,4,4,9, - 0,2,255,1,1,1,5,1,1,6,1,4,248,7,6,6, - 7,0,7,56,238,170,178,238,56,6,1,1,9,2,11,252, - 5,5,5,7,1,7,112,136,136,136,112,7,9,9,8,0, - 1,16,16,16,254,16,16,16,0,126,4,7,7,6,1,6, - 112,144,16,32,64,144,240,5,8,8,6,0,5,56,72,8, - 16,8,8,136,112,4,4,4,6,2,10,48,96,64,128,8, - 13,13,10,1,252,194,70,66,66,66,66,102,126,91,64,64, - 64,96,8,14,14,10,1,254,63,70,134,134,134,70,62,6, - 6,6,6,6,6,15,1,2,2,3,1,5,128,128,2,4, - 4,4,2,252,192,192,64,128,5,7,7,6,1,6,32,224, - 32,32,32,32,248,4,7,7,5,0,5,96,144,144,144,144, - 96,240,7,8,8,9,1,0,136,72,36,50,50,36,72,136, - 10,11,22,11,1,0,192,128,65,0,65,0,66,0,68,0, - 228,0,9,128,18,128,18,128,39,192,65,192,9,11,22,11, - 1,0,192,128,65,0,66,0,66,0,68,0,239,128,12,128, - 17,0,49,0,34,128,71,128,10,12,24,11,1,0,96,0, - 144,128,33,0,18,0,146,0,228,0,8,0,9,128,18,128, - 50,128,39,192,65,192,6,14,14,8,1,251,16,48,16,16, - 16,16,32,32,64,128,132,132,136,112,11,16,32,11,0,0, - 16,0,60,0,2,0,0,0,4,0,6,0,14,0,10,0, - 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, - 11,16,32,11,0,0,1,0,7,128,8,0,0,0,4,0, - 6,0,14,0,10,0,11,0,17,0,17,0,31,128,33,128, - 32,128,32,192,241,224,11,16,32,11,0,0,4,0,10,0, - 17,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, - 17,0,31,128,33,128,32,128,32,192,241,224,11,15,30,11, - 0,0,29,128,39,0,0,0,4,0,6,0,14,0,10,0, - 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, - 11,15,30,11,0,0,33,0,33,0,0,0,4,0,6,0, - 14,0,10,0,11,0,17,0,17,0,31,128,33,128,32,128, - 32,192,241,224,11,17,34,11,0,0,14,0,18,0,18,0, - 12,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, - 17,0,31,128,33,128,32,128,32,192,241,224,14,12,24,15, - 0,0,31,248,5,8,5,0,9,0,9,0,31,240,17,32, - 17,0,33,0,33,8,97,12,243,248,9,16,32,10,1,252, - 30,0,99,0,128,0,128,0,128,0,128,0,128,0,128,0, - 128,0,65,0,97,128,62,0,8,0,12,0,4,0,8,0, - 8,16,16,9,1,0,64,48,8,0,254,66,64,64,64,124, - 72,64,64,66,67,254,8,16,16,9,1,0,4,14,48,0, - 254,66,64,64,64,124,72,64,64,66,67,254,8,16,16,9, - 1,0,24,44,68,2,254,66,64,64,64,124,72,64,64,66, - 67,254,8,15,15,9,1,0,132,132,0,254,66,64,64,64, - 124,72,64,64,66,67,254,4,16,16,6,0,0,128,96,16, - 0,112,32,32,32,32,32,32,32,32,32,32,112,5,16,16, - 6,1,0,24,48,192,0,224,64,64,64,64,64,64,64,64, - 64,64,224,6,16,16,6,0,0,48,88,132,0,112,32,32, - 32,32,32,32,32,32,32,32,112,6,15,15,6,0,0,132, - 136,0,112,32,32,32,32,32,32,32,32,32,32,112,10,12, - 24,11,0,0,126,0,33,128,32,128,32,64,32,64,124,64, - 160,64,32,64,32,64,32,128,33,0,126,0,10,15,30,12, - 1,0,25,0,38,0,0,0,193,192,96,128,112,128,80,128, - 88,128,76,128,68,128,70,128,67,128,65,128,65,128,224,128, - 9,16,32,11,1,0,32,0,24,0,4,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, - 65,0,98,0,60,0,9,16,32,11,1,0,3,0,6,0, - 24,0,0,0,30,0,99,0,129,0,128,128,128,128,128,128, - 128,128,128,128,128,128,65,0,98,0,60,0,9,16,32,11, - 1,0,12,0,22,0,34,0,1,0,30,0,99,0,129,0, - 128,128,128,128,128,128,128,128,128,128,128,128,65,0,98,0, - 60,0,9,15,30,11,1,0,25,0,110,0,0,0,30,0, - 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, - 65,0,98,0,60,0,9,15,30,11,1,0,66,0,66,0, - 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, - 128,128,128,128,65,0,98,0,60,0,6,6,6,8,1,2, - 132,72,48,48,72,132,9,12,24,11,1,0,30,128,35,0, - 67,0,131,128,132,128,136,128,136,128,144,128,225,0,97,0, - 98,0,188,0,10,16,32,12,1,0,48,0,24,0,6,0, - 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,16,32,12,1,0, - 1,0,6,0,8,0,0,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, - 10,16,32,12,1,0,12,0,26,0,33,0,0,0,225,192, - 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,33,0,30,0,10,15,30,12,1,0,33,0,33,0, - 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,11,16,32,11,0,0, - 1,0,3,128,12,0,0,0,225,224,48,128,49,128,25,0, - 10,0,14,0,4,0,4,0,4,0,4,0,4,0,31,0, - 8,12,12,10,1,0,240,64,124,66,65,65,65,65,98,92, - 64,240,9,14,28,11,1,0,30,0,35,0,65,0,65,0, - 65,0,70,0,72,0,72,0,70,0,67,128,64,128,72,128, - 72,128,207,0,7,14,14,9,1,0,96,32,16,16,8,60, - 68,132,4,60,196,132,140,118,7,14,14,9,1,0,12,8, - 16,16,0,60,68,132,4,60,196,132,140,118,7,14,14,9, - 1,0,16,56,76,132,0,60,68,132,4,60,196,132,140,118, - 7,13,13,9,1,0,34,116,152,0,60,68,132,4,60,196, - 132,140,118,7,12,12,9,1,0,132,132,0,60,68,132,4, - 60,196,132,140,118,7,14,14,9,1,0,56,72,72,48,0, - 60,68,132,4,60,196,132,140,118,11,9,18,13,1,0,57, - 192,70,64,196,32,4,32,31,224,100,0,132,0,142,32,115, - 192,7,13,13,8,1,252,60,68,128,128,128,128,128,98,60, - 16,24,8,16,7,14,14,9,1,0,96,32,16,8,0,60, - 68,130,130,254,128,128,66,60,7,14,14,9,1,0,4,14, - 8,16,0,60,68,130,130,254,128,128,66,60,7,14,14,9, - 1,0,24,56,36,66,0,60,68,130,130,254,128,128,66,60, - 7,12,12,9,1,0,130,132,0,60,68,130,130,254,128,128, - 66,60,4,14,14,5,0,0,192,64,32,16,0,32,96,32, - 32,32,32,32,32,112,4,14,14,5,1,0,16,48,96,64, - 0,64,192,64,64,64,64,64,64,224,6,14,14,5,0,0, - 32,112,200,132,0,32,96,32,32,32,32,32,32,112,6,12, - 12,5,255,0,132,132,0,16,48,16,16,16,16,16,16,56, - 7,13,13,9,1,0,96,30,56,68,60,70,130,130,130,130, - 132,68,56,8,13,13,10,1,0,51,58,76,0,76,210,98, - 66,66,66,66,66,231,8,14,14,10,1,0,96,48,16,8, - 0,60,66,129,129,129,129,130,66,60,8,14,14,10,1,0, - 6,12,8,16,0,60,66,129,129,129,129,130,66,60,8,14, - 14,10,1,0,24,56,36,66,0,60,66,129,129,129,129,130, - 66,60,8,13,13,10,1,0,50,122,76,0,60,66,129,129, - 129,129,130,66,60,8,12,12,10,1,0,130,130,0,60,66, - 129,129,129,129,130,66,60,6,6,6,8,1,2,32,32,252, - 0,32,32,8,9,9,10,1,0,29,102,135,137,153,145,226, - 98,252,8,14,14,10,1,0,96,48,16,8,0,198,66,66, - 66,66,66,66,70,59,8,14,14,10,1,0,6,12,8,16, - 0,198,66,66,66,66,66,66,70,59,8,14,14,10,1,0, - 24,28,36,66,0,198,66,66,66,66,66,66,70,59,8,12, - 12,10,1,0,130,130,0,198,66,66,66,66,66,66,70,59, - 9,18,36,9,0,252,3,0,6,0,4,0,8,0,0,0, - 243,128,97,0,33,0,50,0,18,0,20,0,28,0,12,0, - 8,0,8,0,16,0,176,0,224,0,8,18,18,10,1,252, - 64,192,64,64,64,78,114,65,65,65,65,66,98,124,64,64, - 64,240,9,16,32,9,0,252,65,0,65,0,0,0,243,128, - 97,0,33,0,50,0,18,0,20,0,28,0,12,0,8,0, - 8,0,16,0,176,0,224,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 8 h=18 x= 2 y= 7 dx= 9 dy= 0 ascent=15 len=18 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =15 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12n[286] U8G_FONT_SECTION("u8g_font_gdr12n") = { - 0,28,28,246,249,12,0,0,0,0,42,58,0,15,253,12, - 0,7,7,7,8,1,7,16,148,222,48,252,146,16,7,7, - 7,8,0,2,16,16,16,254,16,16,16,2,5,5,4,1, - 253,64,192,64,64,128,5,1,1,6,1,4,248,2,3,3, - 4,1,255,192,192,128,8,18,18,9,0,253,1,1,3,2, - 6,4,4,12,8,8,24,16,48,32,32,96,64,192,7,11, - 11,9,1,0,56,68,130,130,130,130,130,130,132,68,56,6, - 12,12,9,1,0,16,112,144,16,16,16,16,16,16,16,16, - 252,6,12,12,8,1,0,60,68,196,4,4,8,16,16,32, - 68,132,252,7,12,12,8,0,0,28,38,98,2,4,28,2, - 2,2,2,134,124,7,12,12,9,1,0,4,12,12,20,20, - 36,68,68,254,4,4,30,6,11,11,9,2,0,124,64,64, - 64,120,132,4,4,4,132,120,7,12,12,9,1,0,12,48, - 64,64,128,252,198,130,130,130,68,56,7,11,11,9,1,0, - 254,130,4,4,8,8,24,16,48,32,96,7,12,12,9,1, - 0,120,196,196,196,232,60,78,130,130,130,194,124,7,11,11, - 9,1,0,56,68,130,130,130,198,122,2,4,8,112,2,10, - 10,4,1,255,128,192,128,0,0,0,0,192,192,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=30 - Font Bounding box w=28 h=28 x=-10 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =15 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr12r[1992] U8G_FONT_SECTION("u8g_font_gdr12r") = { - 0,28,28,246,249,12,2,80,5,85,32,127,252,16,252,15, - 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, - 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, - 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, - 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, - 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, - 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, - 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, - 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, - 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, - 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, - 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, - 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, - 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, - 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, - 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, - 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, - 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, - 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, - 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, - 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, - 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, - 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, - 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, - 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, - 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, - 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, - 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, - 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, - 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, - 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, - 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, - 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, - 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, - 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, - 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, - 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, - 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, - 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, - 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, - 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, - 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, - 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, - 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, - 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, - 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, - 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, - 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, - 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, - 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, - 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, - 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, - 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, - 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, - 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, - 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, - 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, - 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, - 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, - 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, - 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, - 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, - 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, - 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, - 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, - 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, - 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, - 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, - 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, - 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, - 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, - 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, - 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, - 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, - 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, - 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, - 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, - 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, - 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, - 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, - 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, - 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, - 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, - 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, - 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, - 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, - 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, - 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, - 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, - 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, - 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, - 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, - 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, - 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, - 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, - 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, - 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, - 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, - 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, - 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, - 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, - 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, - 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, - 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, - 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, - 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, - 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, - 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, - 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, - 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, - 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, - 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, - 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, - 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, - 0,125,128,79,0,134,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=57 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14[5942] U8G_FONT_SECTION("u8g_font_gdr14") = { - 0,35,33,244,248,14,3,95,7,136,32,255,251,20,250,18, - 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, - 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, - 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, - 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, - 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, - 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, - 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, - 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, - 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, - 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, - 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, - 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, - 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, - 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, - 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, - 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, - 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, - 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, - 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, - 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, - 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, - 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, - 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, - 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, - 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, - 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, - 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, - 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, - 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, - 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, - 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, - 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, - 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, - 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, - 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, - 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, - 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, - 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, - 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, - 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, - 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, - 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, - 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, - 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, - 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, - 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, - 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, - 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, - 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, - 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, - 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, - 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, - 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, - 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, - 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, - 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, - 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, - 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, - 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, - 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, - 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, - 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, - 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, - 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, - 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, - 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, - 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, - 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, - 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, - 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, - 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, - 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, - 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, - 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, - 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, - 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, - 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, - 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, - 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, - 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, - 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, - 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, - 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, - 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, - 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, - 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, - 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, - 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, - 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, - 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, - 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, - 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, - 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, - 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, - 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, - 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, - 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, - 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, - 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, - 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, - 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, - 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, - 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, - 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, - 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, - 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, - 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, - 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, - 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, - 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, - 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, - 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, - 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, - 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, - 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, - 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, - 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, - 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, - 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, - 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, - 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, - 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, - 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, - 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, - 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, - 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, - 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, - 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, - 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, - 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, - 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, - 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, - 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, - 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, - 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, - 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, - 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, - 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, - 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, - 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, - 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, - 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, - 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, - 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, - 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, - 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, - 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, - 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, - 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, - 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, - 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, - 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, - 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, - 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, - 124,128,159,0,135,0,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,5,0,0,2,16,16, - 6,2,250,192,192,128,64,192,192,192,192,192,192,192,192,192, - 192,192,128,9,14,28,11,1,0,12,0,12,0,31,128,109, - 128,76,0,204,0,204,0,204,0,204,0,236,128,125,128,63, - 0,12,0,12,0,10,14,28,11,0,0,7,128,24,192,16, - 128,48,128,48,0,48,0,48,0,126,0,48,0,48,0,48, - 0,32,64,32,64,255,192,9,7,14,11,1,3,221,128,119, - 0,99,0,99,0,115,0,127,0,128,128,12,14,28,11,255, - 0,225,240,48,64,48,192,25,128,29,128,15,0,7,0,6, - 0,63,192,6,0,6,0,6,0,6,0,31,128,2,24,24, - 5,2,251,192,192,192,192,192,192,192,192,192,192,128,0,0, - 64,192,192,192,192,192,192,192,192,192,192,9,16,32,11,1, - 0,30,0,99,0,98,0,112,0,56,0,94,0,199,0,195, - 128,225,128,113,128,63,0,15,0,7,0,67,0,99,0,62, - 0,7,3,3,9,1,12,198,198,198,15,14,28,16,0,0, - 7,192,24,48,49,248,98,44,198,6,204,6,204,6,204,6, - 204,6,206,38,102,76,51,152,24,48,7,192,6,8,8,6, - 0,6,112,152,24,56,120,124,0,124,9,10,20,11,1,0, - 17,128,17,0,34,0,102,0,204,0,204,0,102,0,34,0, - 17,0,17,128,10,5,10,11,0,2,255,192,0,192,0,192, - 0,192,0,192,6,1,1,8,1,5,252,8,8,8,8,0, - 8,60,66,189,149,153,153,86,60,7,1,1,11,2,13,254, - 4,5,5,8,2,9,96,240,240,240,96,8,10,10,9,1, - 2,24,24,24,24,255,24,24,24,0,255,6,8,8,8,1, - 7,120,140,140,8,16,32,68,252,7,8,8,7,255,7,60, - 102,6,28,6,6,134,120,5,5,5,7,2,12,24,48,32, - 64,192,12,15,30,13,1,251,96,192,224,192,96,192,96,192, - 96,192,96,192,96,192,113,192,127,208,92,224,64,0,64,0, - 96,0,96,0,112,0,13,17,34,14,0,253,31,248,99,96, - 195,96,195,96,195,96,227,96,115,96,63,96,3,96,3,96, - 3,96,3,96,3,96,3,96,3,96,3,96,15,248,2,3, - 3,3,1,6,192,192,192,4,5,5,5,1,251,96,96,112, - 48,192,6,8,8,8,1,7,48,240,48,48,48,48,48,252, - 4,8,8,6,1,6,96,240,240,240,240,96,0,240,8,10, - 10,11,2,0,136,140,68,98,51,51,102,68,140,136,12,14, - 28,13,0,0,24,96,120,192,24,192,25,128,27,0,27,0, - 126,0,4,96,12,224,25,96,18,96,51,240,96,96,192,240, - 13,14,28,14,0,0,48,16,240,32,48,96,48,64,48,128, - 48,128,249,0,3,120,2,152,4,24,12,48,8,32,16,72, - 49,248,12,14,28,14,1,0,112,32,152,64,24,64,56,128, - 77,128,141,0,114,0,6,96,4,224,9,96,25,96,19,240, - 32,96,96,240,8,16,16,10,1,250,24,24,16,4,12,12, - 12,24,48,96,96,192,195,195,230,124,13,20,40,14,0,0, - 16,0,28,0,14,0,3,0,0,128,0,0,2,0,3,0, - 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, - 16,96,32,48,32,48,248,120,13,20,40,14,0,0,0,128, - 0,192,3,160,6,0,0,0,0,0,2,0,3,0,5,0, - 5,128,5,128,8,128,8,192,8,192,31,192,16,96,16,96, - 32,48,32,48,248,120,13,20,40,14,0,0,2,0,7,0, - 13,128,8,64,16,0,0,0,2,0,3,0,5,0,5,128, - 5,128,8,128,8,192,8,192,31,192,16,96,16,96,32,48, - 32,48,248,120,13,19,38,14,0,0,4,64,14,96,19,192, - 0,0,0,0,2,0,3,0,5,0,5,128,5,128,8,128, - 8,192,8,192,31,192,16,96,16,96,32,48,32,48,248,120, - 13,18,36,14,0,0,8,64,12,96,8,64,0,0,2,0, - 3,0,5,0,5,128,5,128,8,128,8,192,8,192,31,192, - 16,96,16,96,32,48,32,48,248,120,13,20,40,14,0,0, - 2,0,7,0,7,128,7,0,0,0,0,0,2,0,3,0, - 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, - 16,96,32,48,32,48,248,120,18,14,42,18,0,0,7,255, - 128,1,96,128,3,96,128,2,96,0,6,96,0,6,96,0, - 7,255,0,12,98,0,8,96,0,24,96,0,16,96,0,16, - 96,64,48,96,64,249,255,128,11,19,38,12,1,251,7,192, - 24,96,32,0,96,0,64,0,192,0,192,0,192,0,192,0, - 192,0,224,0,96,128,113,192,62,0,8,0,4,0,14,0, - 6,0,24,0,11,20,40,11,0,0,32,0,56,0,28,0, - 6,0,1,0,0,0,255,192,48,64,48,64,48,0,48,0, - 48,0,63,128,49,0,48,0,48,0,48,0,48,32,48,96, - 255,192,11,20,40,11,0,0,1,0,1,128,7,0,12,0, - 0,0,0,0,255,192,48,64,48,64,48,0,48,0,48,0, - 63,128,49,0,48,0,48,0,48,0,48,32,48,96,255,192, - 11,20,40,11,0,0,4,0,14,0,27,0,48,128,0,0, - 0,0,255,192,48,64,48,64,48,0,48,0,48,0,63,128, - 49,0,48,0,48,0,48,0,48,32,48,96,255,192,11,18, - 36,11,0,0,16,128,49,128,49,128,0,0,255,192,48,64, - 48,64,48,0,48,0,48,0,63,128,49,0,48,0,48,0, - 48,0,48,32,48,96,255,192,6,20,20,7,0,0,128,192, - 112,24,0,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,252,7,20,20,7,0,0,4,14,28,48,64,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,252,7,20,20,7, - 0,0,16,56,108,134,0,0,252,48,48,48,48,48,48,48, - 48,48,48,48,48,252,7,18,18,7,0,0,66,198,198,0, - 252,48,48,48,48,48,48,48,48,48,48,48,48,252,13,14, - 28,14,0,0,127,128,176,224,48,112,48,48,48,24,48,24, - 254,24,48,24,48,24,48,24,48,48,48,112,48,224,255,128, - 15,19,38,15,0,0,2,32,7,32,9,192,0,0,0,0, - 240,126,48,24,56,24,60,24,52,24,50,24,51,24,49,152, - 48,152,48,216,48,120,48,56,48,56,252,24,12,20,40,14, - 1,0,16,0,56,0,12,0,2,0,1,0,0,0,15,128, - 48,192,32,96,96,96,192,48,192,48,192,48,192,48,192,48, - 192,48,96,96,96,64,48,128,31,0,12,20,40,14,1,0, - 1,0,1,192,3,0,12,0,0,0,0,0,15,128,48,192, - 32,96,96,96,192,48,192,48,192,48,192,48,192,48,192,48, - 96,96,96,64,48,128,31,0,12,20,40,14,1,0,6,0, - 14,0,11,0,16,128,32,0,0,0,15,128,48,192,32,96, - 96,96,192,48,192,48,192,48,192,48,192,48,192,48,96,96, - 96,64,48,128,31,0,12,19,38,14,1,0,8,128,28,64, - 55,128,0,0,0,0,15,128,48,192,32,96,96,96,192,48, - 192,48,192,48,192,48,192,48,192,48,96,96,96,64,48,128, - 31,0,12,18,36,14,1,0,16,128,24,192,16,128,0,0, - 15,128,48,192,32,96,96,96,192,48,192,48,192,48,192,48, - 192,48,192,48,96,96,96,64,48,128,31,0,7,7,7,9, - 1,3,194,102,60,24,60,102,194,12,15,30,14,1,255,15, - 48,48,224,32,224,64,224,193,176,195,48,194,48,198,48,204, - 48,200,48,88,32,112,64,112,128,207,0,128,0,15,20,40, - 15,0,0,8,0,14,0,7,0,1,128,0,64,0,0,252, - 126,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,24,48,28,96,7,192,15,20,40,15,0, - 0,0,64,0,96,1,192,3,0,0,0,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,24,48,28,96,7,192,15,20,40,15,0,0,1, - 0,3,128,6,192,12,96,0,0,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,15,18,36,15,0,0,4,32,12, - 96,12,96,0,0,252,126,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,24,48,28,96,7, - 192,14,20,40,14,0,0,0,128,0,224,1,128,6,0,0, - 0,0,0,224,124,48,48,24,32,24,96,12,64,6,192,7, - 128,3,0,3,0,3,0,3,0,3,0,3,0,15,192,11, - 14,28,12,0,0,252,0,48,0,48,0,63,128,48,192,48, - 96,48,96,48,96,48,96,48,192,63,128,48,0,48,0,252, - 0,13,17,34,13,0,0,7,128,8,192,16,96,48,96,48, - 96,48,224,51,192,55,0,54,0,55,0,51,192,48,240,48, - 56,48,24,52,24,50,16,243,224,10,17,34,11,1,0,96, - 0,48,0,16,0,8,0,4,0,0,0,0,0,30,0,99, - 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, - 192,10,17,34,11,1,0,3,0,6,0,12,0,8,0,16, - 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, - 0,195,0,195,0,199,0,123,192,10,17,34,11,1,0,24, - 0,28,0,54,0,98,0,65,0,0,0,0,0,30,0,99, - 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, - 192,10,15,30,11,1,0,57,0,78,0,0,0,0,0,0, - 0,30,0,99,0,195,0,3,0,31,0,99,0,195,0,195, - 0,199,0,123,192,10,15,30,11,1,0,33,0,99,0,99, - 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, - 0,195,0,195,0,199,0,123,192,10,16,32,11,1,0,28, - 0,60,0,60,0,24,0,0,0,0,0,30,0,99,0,195, - 0,3,0,31,0,99,0,195,0,195,0,199,0,123,192,14, - 10,20,16,1,0,30,112,99,152,195,12,131,12,31,252,115, - 0,195,0,195,0,197,132,120,248,9,15,30,10,1,251,15, - 0,49,128,96,0,192,0,192,0,192,0,192,0,192,0,99, - 0,124,0,16,0,8,0,28,0,12,0,48,0,9,17,34, - 11,1,0,48,0,112,0,24,0,8,0,4,0,0,0,0, - 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, - 0,113,128,62,0,9,17,34,11,1,0,3,0,6,0,6, - 0,12,0,8,0,0,0,0,0,30,0,33,0,65,128,255, - 128,192,0,192,0,192,0,224,0,113,128,62,0,9,17,34, - 11,1,0,12,0,28,0,54,0,35,0,65,0,0,0,0, - 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, - 0,113,128,62,0,9,15,30,11,1,0,33,0,49,128,33, - 0,0,0,0,0,30,0,33,0,65,128,255,128,192,0,192, - 0,192,0,224,0,113,128,62,0,6,17,17,6,0,0,192, - 96,32,48,16,0,0,48,240,48,48,48,48,48,48,48,252, - 7,17,17,6,0,0,12,14,24,16,32,0,0,48,240,48, - 48,48,48,48,48,48,252,7,17,17,6,0,0,48,56,104, - 196,130,0,0,48,240,48,48,48,48,48,48,48,252,7,15, - 15,6,0,0,198,198,198,0,0,48,240,48,48,48,48,48, - 48,48,252,9,16,32,11,1,0,48,0,91,128,12,0,50, - 0,3,0,1,0,31,128,99,128,67,128,193,128,193,128,193, - 128,193,0,227,0,98,0,60,0,13,15,30,13,0,0,14, - 64,19,128,0,0,0,0,0,0,113,192,182,96,56,96,48, - 96,48,96,48,96,48,96,48,96,48,96,253,248,10,17,34, - 12,1,0,48,0,48,0,24,0,12,0,4,0,0,0,0, - 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, - 128,113,0,30,0,10,17,34,12,1,0,3,0,3,0,6, - 0,4,0,8,0,0,0,0,0,30,0,35,128,65,128,192, - 192,192,192,192,192,192,192,224,128,113,0,30,0,10,17,34, - 12,1,0,12,0,30,0,18,0,33,0,64,128,0,0,0, - 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, - 128,113,0,30,0,10,15,30,12,1,0,56,128,71,0,0, - 0,0,0,0,0,30,0,35,128,65,128,192,192,192,192,192, - 192,192,192,224,128,113,0,30,0,10,15,30,12,1,0,49, - 128,49,128,33,0,0,0,0,0,30,0,35,128,65,128,192, - 192,192,192,192,192,192,192,224,128,113,0,30,0,8,7,7, - 9,1,3,24,24,0,255,0,24,24,10,12,24,12,1,255, - 0,64,30,192,35,128,67,192,194,192,196,192,200,192,216,192, - 240,128,113,0,222,0,128,0,11,17,34,12,1,0,48,0, - 24,0,24,0,12,0,4,0,0,0,0,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,17,34,12,1,0,3,0,3,128,6,0,4,0,8,0, - 0,0,0,0,97,128,231,128,97,128,97,128,97,128,97,128, - 97,128,97,128,103,160,57,192,11,17,34,12,1,0,12,0, - 14,0,26,0,49,0,32,128,0,0,0,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,15,30,12,1,0,49,128,49,128,49,128,0,0,0,0, - 97,128,231,128,97,128,97,128,97,128,97,128,97,128,97,128, - 103,160,57,192,12,22,44,11,255,251,0,192,0,192,1,128, - 3,0,2,0,0,0,0,0,124,240,16,32,24,64,24,64, - 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, - 4,0,120,0,240,0,11,22,44,12,0,251,48,0,240,0, - 48,0,48,0,48,0,48,0,48,0,51,128,60,192,56,224, - 48,96,48,96,48,96,48,96,48,64,56,128,55,0,48,0, - 48,0,48,0,48,0,252,0,12,20,40,11,255,251,12,96, - 12,96,8,64,0,0,0,0,124,240,16,32,24,64,24,64, - 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, - 4,0,120,0,240,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 14 - Calculated Max Values w=10 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14n[462] U8G_FONT_SECTION("u8g_font_gdr14n") = { - 0,35,33,244,248,14,0,0,0,0,42,58,0,18,252,14, - 0,9,10,20,10,1,8,24,0,24,0,137,0,235,128,60, - 0,60,0,235,0,137,0,24,0,24,0,8,8,8,9,1, - 2,24,24,24,255,24,24,24,24,4,6,6,5,0,253,112, - 240,48,48,32,64,6,1,1,8,1,5,252,2,3,3,5, - 2,0,192,192,192,9,22,44,11,1,252,0,128,1,128,1, - 0,3,0,3,0,2,0,6,0,6,0,12,0,12,0,8, - 0,24,0,24,0,16,0,48,0,48,0,96,0,96,0,64, - 0,192,0,192,0,128,0,9,14,28,11,1,0,28,0,39, - 0,99,0,67,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,0,97,0,98,0,28,0,8,14,14,11,2,0,24, - 120,152,24,24,24,24,24,24,24,24,24,24,255,8,14,14, - 11,1,0,60,103,195,131,3,6,6,12,24,24,48,97,193, - 255,9,14,28,12,1,0,30,0,103,0,195,0,3,0,2, - 0,4,0,30,0,3,0,1,128,1,128,1,128,1,128,195, - 0,60,0,10,14,28,11,0,0,3,0,7,0,7,0,11, - 0,27,0,19,0,35,0,99,0,67,0,255,192,3,0,3, - 0,3,0,15,192,9,14,28,11,0,0,0,128,63,0,32, - 0,32,0,96,0,126,0,67,0,1,128,1,128,1,128,1, - 128,1,0,195,0,60,0,9,14,28,11,1,0,3,0,12, - 0,48,0,32,0,96,0,222,0,227,0,193,128,193,128,193, - 128,193,128,97,0,99,0,30,0,9,13,26,11,1,0,127, - 128,129,0,129,0,3,0,2,0,6,0,4,0,12,0,8, - 0,24,0,24,0,48,0,32,0,9,14,28,11,1,0,62, - 0,71,0,195,0,195,0,195,0,118,0,30,0,39,0,99, - 128,193,128,193,128,193,128,99,0,60,0,9,14,28,11,1, - 0,30,0,99,0,67,0,193,128,193,128,193,128,193,128,99, - 128,61,128,1,0,3,0,6,0,8,0,112,0,2,11,11, - 5,2,0,192,192,192,0,0,0,0,0,192,192,192}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=57 - Font Bounding box w=35 h=33 x=-12 y=-8 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr14r[2791] U8G_FONT_SECTION("u8g_font_gdr14r") = { - 0,35,33,244,248,14,3,95,7,136,32,127,251,19,251,18, - 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, - 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, - 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, - 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, - 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, - 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, - 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, - 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, - 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, - 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, - 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, - 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, - 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, - 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, - 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, - 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, - 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, - 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, - 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, - 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, - 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, - 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, - 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, - 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, - 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, - 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, - 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, - 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, - 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, - 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, - 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, - 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, - 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, - 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, - 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, - 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, - 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, - 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, - 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, - 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, - 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, - 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, - 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, - 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, - 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, - 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, - 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, - 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, - 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, - 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, - 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, - 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, - 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, - 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, - 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, - 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, - 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, - 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, - 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, - 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, - 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, - 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, - 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, - 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, - 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, - 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, - 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, - 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, - 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, - 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, - 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, - 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, - 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, - 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, - 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, - 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, - 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, - 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, - 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, - 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, - 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, - 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, - 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, - 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, - 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, - 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, - 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, - 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, - 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, - 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, - 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, - 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, - 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, - 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, - 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, - 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, - 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, - 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, - 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, - 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, - 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, - 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, - 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, - 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, - 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, - 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, - 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, - 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, - 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, - 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, - 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, - 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, - 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, - 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, - 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, - 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, - 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, - 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, - 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, - 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, - 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, - 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, - 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, - 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, - 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, - 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, - 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, - 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, - 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, - 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, - 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, - 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, - 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, - 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, - 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, - 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, - 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, - 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, - 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, - 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, - 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, - 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, - 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, - 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, - 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, - 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, - 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, - 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, - 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, - 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, - 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, - 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, - 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, - 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, - 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, - 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, - 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, - 124,128,159,0,135,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=22 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=66 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17[7056] U8G_FONT_SECTION("u8g_font_gdr17") = { - 0,40,38,242,247,17,4,64,9,46,32,255,250,23,249,21, - 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, - 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, - 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, - 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, - 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, - 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, - 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, - 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, - 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, - 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, - 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, - 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, - 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, - 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, - 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, - 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, - 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, - 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, - 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, - 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, - 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, - 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, - 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, - 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, - 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, - 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, - 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, - 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, - 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, - 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, - 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, - 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, - 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, - 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, - 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, - 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, - 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, - 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, - 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, - 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, - 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, - 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, - 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, - 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, - 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, - 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, - 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, - 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, - 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, - 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, - 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, - 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, - 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, - 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, - 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, - 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, - 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, - 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, - 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, - 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, - 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, - 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, - 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, - 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, - 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, - 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, - 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, - 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, - 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, - 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, - 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, - 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, - 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, - 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, - 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, - 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, - 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, - 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, - 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, - 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, - 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, - 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, - 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, - 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, - 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, - 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, - 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, - 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, - 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, - 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, - 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, - 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, - 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, - 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, - 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, - 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, - 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, - 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, - 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, - 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, - 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, - 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, - 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, - 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, - 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, - 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, - 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, - 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, - 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, - 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, - 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, - 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, - 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, - 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, - 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, - 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, - 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, - 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, - 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, - 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, - 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, - 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, - 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, - 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, - 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, - 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, - 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, - 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, - 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, - 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, - 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, - 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, - 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, - 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, - 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, - 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, - 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, - 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, - 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, - 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, - 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, - 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, - 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, - 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, - 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, - 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, - 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, - 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, - 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, - 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, - 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, - 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, - 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, - 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, - 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, - 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,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,0,3,19,19,7,2,249, - 96,224,224,192,64,64,64,64,64,96,96,96,96,224,224,224, - 224,224,192,11,17,34,13,1,255,6,0,6,0,7,128,31, - 224,38,64,102,0,198,0,198,0,198,0,198,0,198,0,230, - 32,118,64,63,128,15,0,6,0,6,0,11,16,32,13,1, - 0,7,192,24,224,16,64,48,64,48,0,48,0,48,0,48, - 0,255,0,48,0,48,0,48,0,48,32,32,32,96,96,255, - 224,9,8,16,13,2,4,128,128,93,0,119,0,99,0,99, - 0,119,0,93,0,128,128,14,16,32,13,255,0,240,124,48, - 48,24,96,28,96,12,192,14,192,7,128,3,128,3,0,63, - 240,3,0,3,0,3,0,3,0,3,0,15,192,2,27,27, - 6,2,251,192,192,192,192,192,192,192,192,192,192,192,192,128, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,31,0,35,128,97,0,96,0,112,0,60,0, - 127,0,199,128,195,192,193,192,224,192,120,192,63,128,15,0, - 3,128,65,128,65,128,97,0,62,0,9,3,6,11,1,15, - 193,128,193,128,193,128,17,17,51,19,1,0,3,224,0,12, - 24,0,48,6,0,48,246,0,99,27,0,102,1,0,204,1, - 128,204,1,128,204,1,128,204,1,128,204,1,128,70,19,0, - 103,19,0,49,230,0,48,6,0,12,24,0,3,224,0,7, - 8,8,7,0,8,56,76,140,60,108,108,126,126,10,12,24, - 13,1,0,8,64,24,192,16,128,49,128,99,0,230,0,231, - 0,99,0,49,128,16,128,8,192,8,64,11,6,12,13,1, - 2,255,224,0,96,0,96,0,96,0,96,0,96,7,1,1, - 9,1,6,254,9,9,18,10,0,10,62,0,99,0,255,128, - 146,128,156,128,152,128,213,128,107,0,62,0,9,1,2,13, - 2,16,255,128,6,6,6,10,2,10,56,76,204,204,200,112, - 10,12,24,11,1,2,12,0,12,0,12,0,12,0,255,192, - 12,0,12,0,12,0,12,0,0,0,0,0,255,128,7,10, - 10,9,1,8,60,70,198,6,12,24,16,32,66,254,8,10, - 10,9,255,8,30,35,67,2,14,3,3,3,198,60,5,6, - 6,9,3,14,24,56,48,96,192,128,14,18,36,14,0,250, - 48,48,240,112,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,240,63,188,55,56,48,0,48,0,48,0,48,0, - 56,0,48,0,13,20,40,15,1,253,31,248,49,224,97,224, - 193,224,193,224,193,224,193,224,97,224,113,224,31,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 7,248,2,3,3,4,1,8,192,192,192,5,6,6,6,0, - 250,48,32,56,88,16,224,7,10,10,9,1,8,24,248,24, - 24,24,24,24,24,24,126,6,8,8,8,1,8,56,76,204, - 204,204,200,112,252,10,12,24,13,2,0,132,0,198,0,98, - 0,35,0,49,128,24,192,25,192,49,128,35,0,98,0,198, - 0,132,0,14,16,32,16,1,0,48,24,240,56,48,48,48, - 96,48,192,48,192,49,128,255,0,3,24,6,56,12,88,12, - 88,24,152,17,252,48,24,96,60,13,16,32,15,1,0,48, - 8,240,16,48,48,48,32,48,96,48,192,48,128,253,128,3, - 112,2,152,7,24,4,16,8,48,24,96,16,200,49,248,14, - 16,32,16,1,0,56,24,204,16,12,48,56,32,12,64,12, - 192,140,128,113,128,3,24,2,56,6,88,12,88,8,152,25, - 252,16,24,48,60,10,19,38,12,1,249,6,0,14,0,14, - 0,12,0,2,0,6,0,6,0,6,0,12,0,28,0,56, - 0,112,0,96,0,192,0,192,192,192,192,192,192,97,128,62, - 0,16,23,46,16,0,0,12,0,30,0,7,0,1,128,0, - 64,0,0,0,128,1,128,3,128,3,192,2,192,6,192,6, - 96,4,96,12,112,12,48,15,240,24,24,24,24,16,24,48, - 12,48,12,248,63,16,23,46,16,0,0,0,48,0,112,1, - 192,3,128,2,0,0,0,0,128,1,128,3,128,3,192,2, - 192,6,192,6,96,4,96,12,112,12,48,15,240,24,24,24, - 24,16,24,48,12,48,12,248,63,16,22,44,16,0,0,3, - 128,6,192,12,32,8,16,0,0,0,128,1,128,3,128,3, - 192,2,192,6,192,6,96,4,96,12,112,12,48,15,240,24, - 24,24,24,16,24,48,12,48,12,248,63,16,22,44,16,0, - 0,0,16,7,176,9,224,16,192,0,0,0,128,1,128,3, - 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, - 240,24,24,24,24,16,24,48,12,48,12,248,63,16,21,42, - 16,0,0,12,48,12,48,8,32,0,0,0,128,1,128,3, - 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, - 240,24,24,24,24,16,24,48,12,48,12,248,63,16,23,46, - 16,0,0,1,192,3,96,3,96,3,192,1,128,0,0,0, - 128,1,128,3,128,3,192,2,192,6,192,6,96,4,96,12, - 112,12,48,15,240,24,24,24,24,16,24,48,12,48,12,248, - 63,20,17,51,21,0,0,7,255,224,1,176,32,1,176,32, - 1,48,0,3,48,0,3,48,0,6,48,0,7,255,192,4, - 48,128,12,48,0,12,48,0,24,48,0,24,48,0,16,48, - 0,48,48,16,48,48,48,248,255,240,12,23,46,14,1,250, - 7,224,24,112,48,0,32,0,96,0,64,0,192,0,192,0, - 192,0,192,0,192,0,192,0,224,0,96,32,112,32,61,192, - 31,128,4,0,4,0,7,0,3,0,2,0,28,0,12,23, - 46,13,1,0,48,0,120,0,28,0,6,0,1,0,0,0, - 255,224,48,32,48,32,48,0,48,0,48,0,48,0,63,192, - 48,128,48,0,48,0,48,0,48,0,48,0,48,16,48,48, - 255,224,12,23,46,13,1,0,0,192,3,192,7,0,12,0, - 16,0,0,0,255,224,48,32,48,32,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,16,48,48,255,224,12,22,44,13,1,0,14,0,27,0, - 48,128,64,64,0,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,12,21,42,13,1,0,32,128, - 97,128,32,128,0,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,8,23,23,8,255,0,96,240, - 56,12,2,0,63,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,63,7,23,23,8,1,0,6,14,56,112,64, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,8,22,22,8,0,0,56,108,194,129,0,126,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,126,8,21, - 21,8,0,0,195,195,130,0,126,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,126,14,17,34,16,1,0,127, - 128,176,224,48,48,48,24,48,24,48,12,48,12,48,12,255, - 12,48,12,48,12,48,12,48,24,48,24,48,48,48,96,255, - 128,16,22,44,18,1,0,0,16,7,176,9,224,16,192,0, - 0,240,63,48,12,56,12,60,12,52,12,54,12,51,12,51, - 12,49,140,48,204,48,204,48,108,48,60,48,60,48,28,48, - 28,252,12,14,23,46,16,1,0,24,0,28,0,7,0,3, - 128,0,128,0,0,7,192,24,96,48,48,96,24,96,24,64, - 12,192,12,192,12,192,12,192,12,192,12,192,8,96,24,96, - 16,48,48,24,96,15,128,14,23,46,16,1,0,0,96,0, - 240,1,192,3,0,4,0,0,0,7,192,24,96,48,48,96, - 24,96,24,64,12,192,12,192,12,192,12,192,12,192,12,192, - 8,96,24,96,16,48,48,24,96,15,128,14,22,44,16,1, - 0,3,128,4,192,8,96,16,32,0,0,7,192,24,96,48, - 48,96,24,96,24,64,12,192,12,192,12,192,12,192,12,192, - 12,192,8,96,24,96,16,48,48,24,96,15,128,14,22,44, - 16,1,0,0,32,15,48,19,224,32,128,0,0,7,192,24, - 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, - 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,14, - 21,42,16,1,0,24,96,24,96,16,64,0,0,7,192,24, - 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, - 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,9, - 9,18,11,1,3,193,128,99,0,54,0,28,0,28,0,28, - 0,54,0,99,0,193,128,14,18,36,16,1,255,7,204,24, - 120,48,48,32,120,96,120,64,220,193,204,193,140,195,12,199, - 12,198,12,204,8,104,24,120,16,48,48,120,96,207,128,128, - 0,16,23,46,18,1,0,12,0,30,0,7,0,1,192,0, - 64,0,0,252,63,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,24,24, - 24,12,48,7,224,16,23,46,18,1,0,0,48,0,112,1, - 192,3,128,2,0,0,0,252,63,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,24,24,24,12,48,7,224,16,22,44,18,1,0,1, - 128,2,64,4,32,8,16,0,0,252,63,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,24,24,24,12,48,7,224,16,21,42,18,1, - 0,12,48,12,48,8,32,0,0,252,63,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, - 12,48,12,48,24,24,24,12,48,7,224,15,23,46,16,0, - 0,0,48,0,112,0,192,3,128,2,0,0,0,240,62,56, - 12,24,24,28,24,14,48,6,32,7,96,3,192,3,192,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,7,224,12, - 17,34,14,1,0,252,0,48,0,48,0,63,128,48,224,48, - 96,48,48,48,48,48,48,48,48,48,48,48,96,56,192,55, - 128,48,0,48,0,252,0,14,20,40,15,1,0,3,192,12, - 224,24,112,16,48,48,48,48,48,48,96,49,192,51,0,54, - 0,54,0,55,128,51,224,48,248,48,60,48,28,50,12,50, - 12,51,24,243,240,11,20,40,12,1,0,48,0,120,0,24, - 0,12,0,4,0,2,0,0,0,0,0,31,0,97,128,225, - 128,1,128,1,128,31,128,121,128,225,128,193,128,193,128,199, - 128,121,224,11,20,40,12,1,0,1,128,3,128,3,0,6, - 0,4,0,8,0,0,0,0,0,31,0,97,128,225,128,1, - 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, - 224,11,19,38,12,1,0,12,0,30,0,19,0,33,128,64, - 192,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, - 128,121,128,225,128,193,128,193,128,199,128,121,224,11,18,36, - 12,1,0,24,64,60,128,71,0,0,0,0,0,0,0,31, - 0,97,128,225,128,1,128,1,128,31,128,121,128,225,128,193, - 128,193,128,199,128,121,224,11,18,36,12,1,0,97,128,97, - 128,97,128,0,0,0,0,0,0,31,0,97,128,225,128,1, - 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, - 224,11,19,38,12,1,0,14,0,11,0,27,0,27,0,14, - 0,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, - 128,121,128,225,128,193,128,193,128,199,128,121,224,17,12,36, - 19,1,0,31,62,0,97,195,0,97,193,128,193,129,128,15, - 255,128,57,128,0,97,128,0,193,128,0,193,128,0,193,193, - 0,198,227,0,120,124,0,10,18,36,12,1,250,15,192,48, - 192,96,128,64,0,192,0,192,0,192,0,192,0,224,0,96, - 64,120,192,63,0,12,0,4,0,7,0,3,0,2,0,28, - 0,10,20,40,12,1,0,48,0,56,0,24,0,12,0,6, - 0,2,0,0,0,0,0,15,0,49,128,96,192,64,192,255, - 192,192,0,192,0,192,0,224,0,96,64,48,128,31,0,10, - 20,40,12,1,0,1,192,1,128,3,0,2,0,4,0,12, - 0,0,0,0,0,15,0,49,128,96,192,64,192,255,192,192, - 0,192,0,192,0,224,0,96,64,48,128,31,0,10,19,38, - 12,1,0,6,0,15,0,25,0,48,128,32,64,0,0,0, - 0,15,0,49,128,96,192,64,192,255,192,192,0,192,0,192, - 0,224,0,96,64,48,128,31,0,10,18,36,12,1,0,32, - 128,48,192,32,128,0,0,0,0,0,0,15,0,49,128,96, - 192,64,192,255,192,192,0,192,0,192,0,224,0,96,64,48, - 128,31,0,7,20,20,7,0,0,192,224,112,48,24,8,0, - 0,24,120,24,24,24,24,24,24,24,24,24,126,7,20,20, - 7,1,0,14,12,24,16,48,96,0,0,48,240,48,48,48, - 48,48,48,48,48,48,252,8,19,19,7,0,0,24,60,100, - 194,129,0,0,24,120,24,24,24,24,24,24,24,24,24,126, - 8,18,18,7,0,0,130,195,130,0,0,0,24,120,24,24, - 24,24,24,24,24,24,24,126,11,19,38,13,1,0,24,0, - 60,224,7,128,31,0,49,128,0,192,0,192,15,192,49,224, - 96,224,64,96,192,96,192,96,192,96,192,64,224,192,96,192, - 49,128,30,0,14,18,36,15,1,0,12,32,31,64,35,128, - 0,0,0,0,0,0,113,224,178,48,52,48,56,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,12,20, - 40,14,1,0,56,0,24,0,12,0,4,0,6,0,3,0, - 0,0,0,0,15,128,48,192,96,96,64,112,192,48,192,48, - 192,48,192,48,224,32,96,96,48,192,31,0,12,20,40,14, - 1,0,0,192,1,128,3,128,3,0,6,0,4,0,0,0, - 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, - 192,48,224,32,96,96,48,192,31,0,12,19,38,14,1,0, - 6,0,15,0,25,128,16,128,32,64,0,0,0,0,15,128, - 48,192,96,96,64,112,192,48,192,48,192,48,192,48,224,32, - 96,96,48,192,31,0,12,18,36,14,1,0,28,96,62,64, - 35,128,0,0,0,0,0,0,15,128,48,192,96,96,64,112, - 192,48,192,48,192,48,192,48,224,32,96,96,48,192,31,0, - 12,18,36,14,1,0,48,192,48,192,48,192,0,0,0,0, - 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, - 192,48,224,32,96,96,48,192,31,0,9,9,18,11,1,3, - 12,0,12,0,0,0,0,0,255,128,0,0,0,0,12,0, - 12,0,12,14,28,14,1,255,0,16,15,176,49,224,96,224, - 65,240,195,48,198,48,198,48,204,48,248,32,112,96,120,192, - 223,0,128,0,14,20,40,14,0,0,28,0,12,0,6,0, - 3,0,1,0,1,128,0,0,0,0,48,48,240,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,112,56,188, - 31,48,14,20,40,14,0,0,0,96,0,224,0,192,1,128, - 3,0,2,0,0,0,0,0,48,48,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,112,56,188,31,48, - 14,19,38,14,0,0,3,0,7,128,4,192,8,96,16,32, - 0,0,0,0,48,48,240,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,112,56,188,31,48,14,18,36,14, - 0,0,24,96,24,96,24,96,0,0,0,0,0,0,48,48, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,112,56,188,31,48,14,26,52,13,255,250,0,112,0,96, - 0,224,0,192,1,128,1,0,0,0,0,0,124,60,24,24, - 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, - 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0, - 12,26,52,14,1,250,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,51,192,52,224,56,96,48,48,48,48, - 48,48,48,48,48,48,48,32,48,96,56,64,55,128,48,0, - 48,0,48,0,48,0,48,0,252,0,14,24,48,13,255,250, - 12,48,12,48,8,32,0,0,0,0,0,0,124,60,24,24, - 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, - 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 16 - Calculated Max Values w=11 h=25 x= 2 y= 9 dx=13 dy= 0 ascent=21 len=50 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =16 descent= 0 - X Font ascent =16 descent= 0 - Max Font ascent =21 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17n[559] U8G_FONT_SECTION("u8g_font_gdr17n") = { - 0,40,38,242,247,16,0,0,0,0,42,58,0,21,252,16, - 0,10,12,24,12,1,9,12,0,12,0,140,0,204,192,119, - 128,30,0,30,0,119,128,204,192,12,128,12,0,12,0,10, - 9,18,11,1,3,12,0,12,0,12,0,12,0,255,192,12, - 0,12,0,12,0,12,0,4,7,7,6,1,252,112,240,48, - 48,32,96,64,7,1,1,9,1,6,254,3,4,4,6,2, - 255,96,224,224,192,11,25,50,13,1,252,0,96,0,96,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,6,0,6, - 0,6,0,12,0,12,0,12,0,24,0,24,0,48,0,48, - 0,48,0,96,0,96,0,224,0,192,0,192,0,11,16,32, - 13,1,0,15,0,49,128,96,192,64,192,64,224,192,96,192, - 96,192,96,192,96,192,96,192,96,192,64,96,64,96,192,49, - 128,30,0,9,16,32,13,2,0,12,0,60,0,252,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,255,128,10,16,32,13,1,0,15, - 0,49,128,96,192,96,192,0,192,0,192,1,128,1,128,3, - 0,6,0,12,0,28,0,24,0,48,64,96,64,255,192,10, - 16,32,13,1,0,30,0,99,0,97,128,193,128,1,128,3, - 0,6,0,31,0,3,128,1,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,1,128,3,128,7, - 128,5,128,13,128,25,128,17,128,49,128,97,128,65,128,255, - 224,1,128,1,128,1,128,1,128,15,224,10,16,32,13,1, - 0,63,192,32,0,32,0,32,0,96,0,96,0,127,0,67, - 128,1,192,0,192,0,192,0,192,0,192,1,128,193,128,62, - 0,11,16,32,13,1,0,3,128,14,0,24,0,48,0,96, - 0,96,0,207,0,241,192,192,224,192,96,192,96,192,96,96, - 96,96,64,48,128,31,0,11,16,32,13,1,0,127,224,64, - 192,128,192,0,128,1,128,1,128,3,0,3,0,6,0,6, - 0,4,0,12,0,12,0,24,0,24,0,48,0,11,16,32, - 13,1,0,31,0,113,128,224,192,224,192,224,192,241,128,63, - 0,15,128,51,192,96,224,192,96,192,96,192,96,192,64,96, - 128,31,0,11,17,34,13,1,255,31,0,49,128,96,192,192, - 192,192,96,192,96,192,96,224,96,113,224,30,96,0,224,0, - 192,0,192,1,128,3,0,14,0,48,0,3,14,14,6,2, - 255,64,224,224,224,0,0,0,0,0,0,96,224,224,192}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 17, '1' Height: 16 - Calculated Max Values w=22 h=27 x= 2 y=14 dx=23 dy= 0 ascent=22 len=66 - Font Bounding box w=40 h=38 x=-14 y=-9 - Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =21 descent=-6 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr17r[3380] U8G_FONT_SECTION("u8g_font_gdr17r") = { - 0,40,38,242,247,17,4,64,9,46,32,127,250,22,250,21, - 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, - 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, - 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, - 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, - 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, - 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, - 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, - 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, - 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, - 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, - 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, - 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, - 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, - 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, - 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, - 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, - 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, - 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, - 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, - 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, - 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, - 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, - 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, - 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, - 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, - 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, - 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, - 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, - 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, - 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, - 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, - 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, - 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, - 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, - 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, - 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, - 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, - 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, - 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, - 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, - 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, - 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, - 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, - 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, - 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, - 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, - 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, - 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, - 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, - 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, - 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, - 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, - 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, - 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, - 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, - 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, - 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, - 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, - 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, - 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, - 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, - 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, - 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, - 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, - 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, - 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, - 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, - 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, - 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, - 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, - 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, - 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, - 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, - 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, - 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, - 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, - 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, - 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, - 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, - 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, - 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, - 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, - 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, - 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, - 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, - 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, - 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, - 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, - 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, - 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, - 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, - 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, - 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, - 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, - 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, - 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, - 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, - 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, - 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, - 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, - 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, - 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, - 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, - 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, - 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, - 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, - 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, - 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, - 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, - 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, - 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, - 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, - 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, - 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, - 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, - 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, - 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, - 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, - 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, - 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, - 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, - 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, - 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, - 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, - 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, - 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, - 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, - 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, - 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, - 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, - 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, - 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, - 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, - 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, - 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, - 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, - 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, - 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, - 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, - 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, - 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, - 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, - 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, - 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, - 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, - 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, - 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, - 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, - 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, - 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, - 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, - 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, - 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, - 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, - 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, - 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, - 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, - 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, - 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, - 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, - 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, - 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, - 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, - 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, - 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, - 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, - 192,131,128,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=19 dx=27 dy= 0 ascent=27 len=81 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =27 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20[9119] U8G_FONT_SECTION("u8g_font_gdr20") = { - 0,47,44,240,246,20,4,220,11,144,32,255,248,27,247,25, - 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, - 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, - 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, - 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, - 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, - 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, - 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, - 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, - 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, - 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, - 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, - 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, - 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, - 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, - 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, - 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, - 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, - 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, - 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, - 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, - 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, - 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, - 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, - 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, - 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, - 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, - 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, - 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, - 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, - 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, - 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, - 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, - 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, - 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, - 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, - 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, - 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, - 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, - 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, - 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, - 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, - 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, - 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, - 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, - 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, - 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, - 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, - 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, - 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, - 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, - 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, - 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, - 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, - 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, - 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, - 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, - 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, - 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, - 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, - 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, - 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, - 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, - 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, - 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, - 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, - 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, - 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, - 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, - 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, - 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, - 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, - 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, - 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, - 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, - 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, - 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, - 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, - 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, - 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, - 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, - 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, - 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, - 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, - 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, - 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, - 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, - 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, - 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, - 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, - 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, - 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, - 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, - 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, - 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, - 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, - 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, - 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, - 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, - 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, - 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, - 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, - 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, - 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, - 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, - 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, - 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, - 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, - 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, - 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, - 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, - 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, - 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, - 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, - 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, - 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, - 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, - 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, - 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, - 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, - 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, - 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, - 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, - 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, - 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, - 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, - 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, - 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, - 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, - 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, - 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, - 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, - 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, - 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, - 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, - 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, - 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, - 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, - 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, - 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, - 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, - 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, - 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, - 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, - 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, - 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, - 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, - 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, - 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, - 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, - 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, - 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, - 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, - 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, - 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, - 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, - 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, - 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, - 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, - 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, - 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, - 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, - 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, - 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, - 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, - 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, - 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, - 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, - 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, - 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, - 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, - 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, - 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, - 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, - 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, - 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, - 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, - 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, - 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, - 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, - 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, - 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, - 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, - 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, - 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, - 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, - 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, - 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, - 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, - 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, - 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, - 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, - 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, - 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, - 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, - 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, - 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, - 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,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,7,0,0,4,24, - 24,9,2,247,112,240,240,224,0,0,32,96,96,96,96,96, - 96,96,96,96,112,112,112,112,112,112,112,64,12,20,40,15, - 2,255,6,0,6,0,6,0,15,224,54,224,102,96,102,0, - 198,0,198,0,198,0,198,0,198,0,198,0,230,32,118,48, - 63,192,31,128,6,0,6,0,6,0,13,19,38,15,1,0, - 7,224,8,112,16,48,16,32,48,32,48,0,48,0,48,0, - 48,0,255,0,48,0,48,0,48,0,48,0,48,8,32,24, - 96,48,127,240,131,240,11,10,20,15,2,4,192,96,127,192, - 49,192,96,192,96,192,96,192,113,192,63,128,64,64,128,32, - 16,19,38,15,255,0,240,63,56,28,28,24,28,56,14,48, - 6,112,7,96,3,192,3,192,1,128,1,128,63,252,1,128, - 1,128,1,128,1,128,1,128,1,128,15,240,2,32,32,7, - 3,250,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 128,0,0,64,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,11,22,44,15,2,0,31,128,49,192,96,128,96,0, - 112,0,120,0,62,0,111,128,199,192,193,224,192,224,224,96, - 240,96,124,96,63,192,15,128,3,192,1,192,64,192,64,192, - 96,128,63,0,9,4,8,13,2,17,97,128,227,128,227,128, - 195,0,21,20,60,24,1,0,1,252,0,6,3,0,24,0, - 192,48,0,96,48,124,96,97,134,48,99,0,48,194,0,24, - 198,0,24,198,0,24,198,0,24,198,0,24,199,0,24,99, - 0,48,97,198,48,48,248,96,48,0,96,24,0,192,6,3, - 0,1,252,0,7,10,10,8,1,9,56,204,140,28,108,204, - 220,238,0,254,12,14,28,16,1,0,6,16,4,48,8,96, - 24,96,48,192,113,192,227,128,227,128,113,192,48,192,24,96, - 8,96,4,48,6,16,13,6,12,15,1,3,255,248,0,24, - 0,24,0,24,0,24,0,24,9,1,2,11,1,8,255,128, - 10,11,22,11,1,11,30,0,97,0,126,128,147,64,151,64, - 156,64,148,64,146,64,105,128,33,0,30,0,10,1,2,16, - 3,19,255,192,7,7,7,11,2,12,60,110,198,198,198,236, - 120,12,14,28,13,1,2,6,0,6,0,6,0,6,0,6, - 0,255,240,6,0,6,0,6,0,6,0,4,0,0,0,0, - 0,255,224,8,11,11,10,1,10,62,99,195,3,6,6,12, - 24,50,97,255,9,12,24,11,0,9,31,0,51,128,97,128, - 1,128,3,0,15,0,1,128,1,128,1,128,1,128,195,0, - 62,0,7,7,7,10,3,16,12,30,24,48,48,96,192,15, - 23,46,17,1,248,48,8,240,56,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,56,56,56,120,63,248,55, - 222,51,152,48,0,48,0,48,0,48,0,56,0,56,0,56, - 0,48,0,15,24,48,18,1,252,15,254,48,252,96,216,64, - 216,192,216,192,216,192,216,192,216,224,216,112,216,56,216,15, - 216,0,216,0,216,0,216,0,216,0,216,0,216,0,216,0, - 216,0,216,0,216,0,216,3,254,3,4,4,5,1,9,96, - 224,224,192,5,7,7,7,1,249,48,32,48,120,24,48,224, - 8,11,11,11,2,10,24,248,24,24,24,24,24,24,24,24, - 255,7,10,10,9,1,9,56,108,198,198,198,198,108,56,0, - 254,12,14,28,16,2,0,130,0,65,0,97,128,48,192,56, - 224,28,96,12,112,28,112,30,96,56,224,48,192,97,128,65, - 0,130,0,16,19,38,19,2,0,48,6,240,14,48,12,48, - 24,48,56,48,48,48,96,48,224,48,192,205,130,1,142,3, - 30,6,22,6,38,12,70,24,127,24,134,48,6,96,31,15, - 19,38,18,2,0,48,6,240,12,48,8,48,24,48,48,48, - 48,48,96,48,192,48,192,205,128,1,28,3,102,6,70,4, - 6,12,12,24,24,24,48,48,98,96,254,17,19,57,19,1, - 0,60,3,0,70,6,0,6,4,0,28,12,0,6,24,0, - 6,16,0,6,48,0,142,96,0,120,96,0,0,193,0,1, - 135,0,1,143,0,3,11,0,2,19,0,6,35,0,12,63, - 128,12,67,0,24,3,0,48,15,128,10,24,48,13,2,247, - 14,0,30,0,30,0,28,0,0,0,0,0,0,0,12,0, - 12,0,12,0,12,0,28,0,24,0,48,0,48,0,96,0, - 96,0,192,0,192,64,192,192,192,192,224,128,97,128,62,0, - 19,27,81,19,0,0,6,0,0,15,0,0,7,128,0,1, - 192,0,0,96,0,0,16,0,0,0,0,0,64,0,0,224, - 0,0,224,0,1,224,0,1,240,0,1,176,0,3,48,0, - 3,56,0,3,24,0,6,28,0,6,28,0,6,12,0,15, - 254,0,12,6,0,8,6,0,24,7,0,24,3,0,16,3, - 0,48,3,128,254,15,224,19,27,81,19,0,0,0,8,0, - 0,30,0,0,60,0,0,112,0,1,192,0,1,0,0,0, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,19,27, - 81,19,0,0,0,224,0,1,224,0,1,240,0,3,56,0, - 6,12,0,12,4,0,0,0,0,0,64,0,0,224,0,0, - 224,0,1,224,0,1,240,0,1,176,0,3,48,0,3,56, - 0,3,24,0,6,28,0,6,28,0,6,12,0,15,254,0, - 12,6,0,8,6,0,24,7,0,24,3,0,16,3,0,48, - 3,128,254,15,224,19,26,78,19,0,0,3,132,0,7,230, - 0,4,252,0,8,56,0,0,0,0,0,0,0,0,64,0, - 0,224,0,0,224,0,1,224,0,1,240,0,1,176,0,3, - 48,0,3,56,0,3,24,0,6,28,0,6,28,0,6,12, - 0,15,254,0,12,6,0,8,6,0,24,7,0,24,3,0, - 16,3,0,48,3,128,254,15,224,19,25,75,19,0,0,6, - 12,0,6,12,0,14,28,0,6,12,0,0,0,0,0,64, - 0,0,224,0,0,224,0,1,224,0,1,240,0,1,176,0, - 3,48,0,3,56,0,3,24,0,6,28,0,6,28,0,6, - 12,0,15,254,0,12,6,0,8,6,0,24,7,0,24,3, - 0,16,3,0,48,3,128,254,15,224,19,27,81,19,0,0, - 0,224,0,1,176,0,1,48,0,3,48,0,1,176,0,1, - 224,0,0,0,0,0,64,0,0,224,0,0,224,0,1,224, - 0,1,240,0,1,176,0,3,48,0,3,56,0,3,24,0, - 6,28,0,6,28,0,6,12,0,15,254,0,12,6,0,8, - 6,0,24,7,0,24,3,0,16,3,0,48,3,128,254,15, - 224,23,20,60,25,0,0,3,255,252,0,124,4,0,108,4, - 0,236,4,0,204,0,1,204,0,1,140,0,1,140,0,3, - 140,0,3,255,248,7,12,16,6,12,0,6,12,0,12,12, - 0,12,12,0,28,12,0,24,12,2,24,12,2,48,12,6, - 252,63,254,15,27,54,17,1,249,3,248,12,28,16,8,48, - 0,96,0,96,0,64,0,192,0,192,0,192,0,192,0,192, - 0,192,0,224,0,96,0,112,0,120,2,60,12,31,248,15, - 240,0,128,0,128,1,224,0,224,0,96,0,192,3,0,13, - 27,54,16,1,0,16,0,56,0,28,0,15,0,3,128,0, - 192,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, - 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,24,255,248,13,27,54,16,1, - 0,0,32,0,240,1,224,3,128,7,0,12,0,0,0,255, - 240,48,16,48,16,48,16,48,0,48,0,48,0,48,0,48, - 0,63,224,48,64,48,0,48,0,48,0,48,0,48,0,48, - 8,48,8,48,24,255,248,13,27,54,16,1,0,3,0,7, - 128,15,192,28,192,56,96,32,48,0,0,255,240,48,16,48, - 16,48,16,48,0,48,0,48,0,48,0,48,0,63,224,48, - 64,48,0,48,0,48,0,48,0,48,0,48,8,48,8,48, - 24,255,248,13,25,50,16,1,0,24,48,56,112,56,112,48, - 96,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, - 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,24,255,248,9,27,54,10,255, - 0,96,0,240,0,120,0,28,0,7,0,1,0,0,0,31, - 128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,31,128,8,27,27,10,2,0,6,15,30, - 56,96,128,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,252,10,27,54,10,0,0,28,0, - 30,0,62,0,115,0,193,128,128,192,0,0,63,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,63,0,10,25,50,10,0,0,193,128,225,192,225,192, - 193,128,0,0,63,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,63,0,18,20,60,19, - 0,0,31,240,0,120,28,0,24,6,0,24,3,0,24,1, - 128,24,1,128,24,1,192,24,0,192,24,0,192,255,128,192, - 24,0,192,24,0,192,24,0,192,24,1,128,24,1,128,24, - 1,128,24,3,0,24,6,0,24,28,0,127,240,0,19,26, - 78,21,1,0,3,132,0,7,230,0,4,124,0,8,56,0, - 0,0,0,0,0,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,27,81,19,1,0,12,0,0,30,0,0,15,0, - 0,3,128,0,0,224,0,0,32,0,0,0,0,3,240,0, - 12,24,0,16,12,0,48,6,0,32,3,0,96,3,0,64, - 3,128,192,1,128,192,1,128,192,1,128,192,1,128,192,1, - 128,192,1,128,224,1,0,96,3,0,96,2,0,48,6,0, - 56,4,0,12,24,0,7,224,0,17,27,81,19,1,0,0, - 24,0,0,60,0,0,120,0,0,224,0,1,128,0,2,0, - 0,0,0,0,3,240,0,12,24,0,16,12,0,48,6,0, - 32,3,0,96,3,0,64,3,128,192,1,128,192,1,128,192, - 1,128,192,1,128,192,1,128,192,1,128,224,1,0,96,3, - 0,96,2,0,48,6,0,56,4,0,12,24,0,7,224,0, - 17,27,81,19,1,0,1,192,0,1,224,0,3,224,0,7, - 48,0,12,24,0,8,12,0,0,0,0,3,240,0,12,24, - 0,16,12,0,48,6,0,32,3,0,96,3,0,64,3,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,192, - 1,128,224,1,0,96,3,0,96,2,0,48,6,0,56,4, - 0,12,24,0,7,224,0,17,26,78,19,1,0,3,4,0, - 7,204,0,8,248,0,16,112,0,0,0,0,0,0,0,3, - 240,0,12,24,0,16,12,0,48,6,0,32,3,0,96,3, - 0,64,3,128,192,1,128,192,1,128,192,1,128,192,1,128, - 192,1,128,192,1,128,224,1,0,96,3,0,96,2,0,48, - 6,0,56,4,0,12,24,0,7,224,0,17,25,75,19,1, - 0,12,24,0,14,28,0,14,28,0,12,24,0,0,0,0, - 3,240,0,12,24,0,16,12,0,48,6,0,32,3,0,96, - 3,0,64,3,128,192,1,128,192,1,128,192,1,128,192,1, - 128,192,1,128,192,1,128,224,1,0,96,3,0,96,2,0, - 48,6,0,56,4,0,12,24,0,7,224,0,11,10,20,13, - 1,4,192,96,96,192,49,128,27,0,14,0,14,0,27,0, - 49,128,96,192,192,96,17,21,63,19,1,255,3,241,128,4, - 31,0,24,14,0,48,30,0,32,31,0,96,63,0,64,59, - 128,192,115,128,192,225,128,192,225,128,193,193,128,195,129,128, - 195,1,128,231,1,0,110,3,0,124,2,0,124,6,0,56, - 4,0,124,24,0,199,224,0,128,0,0,19,27,81,21,1, - 0,6,0,0,15,0,0,7,128,0,1,192,0,0,96,0, - 0,16,0,0,0,0,252,7,224,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,0,24,3,0,28,6,0,14,12,0,3, - 240,0,19,27,81,21,1,0,0,12,0,0,30,0,0,60, - 0,0,112,0,0,192,0,1,0,0,0,0,0,252,7,224, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,0,24,3,0, - 28,6,0,14,12,0,3,240,0,19,27,81,21,1,0,0, - 224,0,0,240,0,1,240,0,3,152,0,6,12,0,4,6, - 0,0,0,0,252,7,224,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,0,24,3,0,28,6,0,14,12,0,3,240,0, - 19,25,75,21,1,0,6,12,0,7,14,0,7,14,0,6, - 12,0,0,0,0,252,7,224,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,0,24,3,0,28,6,0,14,12,0,3,240, - 0,18,27,81,19,0,0,0,12,0,0,30,0,0,60,0, - 0,112,0,0,192,0,1,0,0,0,0,0,240,31,192,56, - 7,0,28,6,0,12,12,0,14,12,0,7,24,0,7,24, - 0,3,48,0,3,176,0,1,224,0,1,224,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,7,248,0,15,20,40,17,1,0,254,0, - 48,0,48,0,48,0,63,224,48,120,48,28,48,14,48,6, - 48,6,48,6,48,6,48,12,48,12,52,56,51,224,48,0, - 48,0,48,0,254,0,16,24,48,18,1,0,1,224,6,56, - 8,24,16,28,16,12,48,12,48,12,48,28,48,56,48,240, - 49,192,49,128,49,128,49,192,48,240,48,124,48,62,48,15, - 48,7,48,3,49,3,49,3,49,134,241,248,13,23,46,15, - 1,0,56,0,56,0,28,0,14,0,6,0,3,0,1,0, - 0,0,15,192,48,224,112,96,96,96,0,96,0,96,15,224, - 63,224,126,96,240,96,224,96,192,96,192,96,65,224,62,120, - 13,23,46,15,1,0,0,224,0,224,1,192,1,128,3,0, - 2,0,4,0,0,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,13,23,46,15,1,0,7,0,7,0,15,128, - 29,192,24,192,48,96,32,32,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,21,42,15,1,0,28,16, - 63,32,35,192,64,0,0,0,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,21,42,15,1,0,48,96, - 56,112,48,96,48,96,0,0,0,0,15,192,48,224,112,96, - 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, - 192,96,192,96,65,224,62,120,13,22,44,15,1,0,7,128, - 13,128,12,192,12,128,13,128,15,0,0,0,15,192,48,224, - 112,96,96,96,0,96,0,96,15,224,63,224,126,96,240,96, - 224,96,192,96,192,96,65,224,62,120,19,15,45,22,2,0, - 31,143,0,113,176,192,96,224,192,224,224,96,128,192,96,0, - 192,96,7,255,192,28,192,0,112,192,0,96,192,0,192,192, - 0,192,224,0,193,96,64,194,112,224,124,31,0,12,22,44, - 14,1,249,7,224,24,96,32,32,96,0,64,0,192,0,192, - 0,192,0,192,0,192,0,224,0,112,16,120,96,63,192,31, - 128,2,0,2,0,7,128,3,128,1,128,3,0,12,0,13, - 23,46,15,1,0,24,0,60,0,12,0,6,0,3,0,1, - 0,1,128,0,0,7,192,24,96,32,48,96,24,64,24,192, - 24,255,240,192,0,192,0,192,0,224,0,96,0,112,8,56, - 48,15,192,13,23,46,15,1,0,0,96,0,240,0,192,1, - 128,1,128,3,0,6,0,0,0,7,192,24,96,32,48,96, - 24,64,24,192,24,255,240,192,0,192,0,192,0,224,0,96, - 0,112,8,56,48,15,192,13,23,46,15,1,0,3,0,7, - 128,15,128,12,192,24,96,16,32,32,16,0,0,7,192,24, - 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, - 0,224,0,96,0,112,8,56,48,15,192,13,21,42,15,1, - 0,24,48,56,112,56,112,48,96,0,0,0,0,7,192,24, - 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, - 0,224,0,96,0,112,8,56,48,15,192,7,23,23,9,0, - 0,224,224,112,48,24,12,4,0,24,120,24,24,24,24,24, - 24,24,24,24,24,24,24,126,8,23,23,9,1,0,7,7, - 14,12,24,48,32,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,252,9,23,46,9,0,0,28,0,28,0,62, - 0,119,0,99,0,193,128,128,128,0,0,24,0,120,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,126,0,10,21,42,9,0,0,193, - 128,193,128,227,192,193,128,0,0,0,0,24,0,120,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,126,0,14,23,46,16,1,0,12, - 0,62,24,3,240,3,192,30,224,48,96,0,112,0,56,7, - 152,24,120,32,60,96,28,64,12,192,12,192,12,192,12,192, - 12,192,8,224,24,96,16,112,48,56,96,15,128,16,21,42, - 18,1,0,7,8,15,144,24,224,16,0,0,0,0,0,112, - 112,177,136,54,12,56,12,56,12,48,12,48,12,48,12,48, - 12,48,12,48,12,48,12,48,12,48,12,252,63,14,23,46, - 16,1,0,28,0,28,0,14,0,6,0,3,0,1,128,0, - 128,0,0,7,192,24,112,32,56,96,24,64,28,192,12,192, - 12,192,12,192,12,192,12,224,8,96,24,112,16,56,32,15, - 192,14,23,46,16,1,0,0,112,0,112,0,224,1,192,1, - 128,3,0,2,0,0,0,7,192,24,112,32,56,96,24,64, - 28,192,12,192,12,192,12,192,12,192,12,224,8,96,24,112, - 16,56,32,15,192,14,23,46,16,1,0,3,128,3,128,7, - 192,14,192,12,96,24,48,48,16,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,14, - 8,31,144,17,224,32,0,0,0,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,24, - 48,24,48,56,112,24,48,0,0,0,0,7,192,24,112,32, - 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, - 8,96,24,112,16,56,32,15,192,11,10,20,13,1,4,6, - 0,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, - 0,6,0,14,16,32,16,1,255,7,204,24,120,32,120,96, - 120,64,252,193,220,193,140,195,140,199,12,198,12,236,8,124, - 24,120,16,120,32,207,192,128,0,15,23,46,17,1,0,28, - 0,28,0,14,0,7,0,3,0,1,128,0,128,0,0,48, - 24,240,120,48,24,48,24,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,56,24,222,15,24,15,23,46, - 17,1,0,0,112,0,112,0,224,0,192,1,128,1,0,2, - 0,0,0,48,24,240,120,48,24,48,24,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,56,24,222,15, - 24,15,23,46,17,1,0,3,128,3,128,7,192,14,224,12, - 96,24,48,16,16,0,0,48,24,240,120,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 56,24,222,15,24,15,21,42,17,1,0,24,48,28,56,24, - 48,24,48,0,0,0,0,48,24,240,120,48,24,48,24,48, - 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, - 56,24,222,15,24,16,31,62,16,255,248,0,28,0,28,0, - 56,0,112,0,96,0,192,0,128,0,0,126,31,28,6,28, - 4,12,12,14,12,14,8,6,24,7,24,3,16,3,48,3, - 176,1,160,1,224,1,224,0,192,0,192,0,128,1,128,1, - 128,3,0,126,0,124,0,248,0,15,32,64,17,1,248,16, - 0,240,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,240,51,24,52,28,56,12,48,14,48,6,48,6,48, - 6,48,6,48,6,48,4,48,12,56,8,60,16,55,224,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,254,0,16, - 29,58,16,255,248,6,12,14,28,14,28,6,12,0,0,0, - 0,126,31,28,6,28,4,12,12,14,12,14,8,6,24,7, - 24,3,16,3,48,3,176,1,160,1,224,1,224,0,192,0, - 192,0,128,1,128,1,128,3,0,126,0,124,0,248,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 19 - Calculated Max Values w=13 h=30 x= 2 y=11 dx=15 dy= 0 ascent=25 len=60 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent= 0 - X Font ascent =19 descent= 0 - Max Font ascent =25 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20n[640] U8G_FONT_SECTION("u8g_font_gdr20n") = { - 0,47,44,240,246,19,0,0,0,0,42,58,0,25,251,19, - 0,12,13,26,14,1,11,6,0,6,0,134,0,102,48,242, - 240,27,128,6,0,27,128,114,240,230,48,6,32,6,0,6, - 0,12,11,22,13,1,3,6,0,6,0,6,0,6,0,6, - 0,255,240,6,0,6,0,6,0,6,0,6,0,4,8,8, - 7,2,251,112,240,48,48,48,32,64,192,9,1,2,11,1, - 8,255,128,4,4,4,7,2,0,112,240,240,224,13,30,60, - 15,1,251,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,1,192,1,128,1,128,3,128,3,0,7, - 0,6,0,6,0,14,0,12,0,12,0,28,0,24,0,56, - 0,48,0,48,0,112,0,96,0,96,0,224,0,192,0,13, - 19,38,15,1,0,7,128,24,192,32,96,96,48,64,48,64, - 56,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, - 16,96,16,96,48,48,32,24,64,15,128,11,19,38,15,2, - 0,2,0,30,0,126,0,134,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,15,0,127,224,11,19,38,15,2,0,15,128,48, - 192,96,96,96,96,96,96,0,96,0,96,0,192,0,192,1, - 128,3,0,7,0,6,0,12,0,24,0,48,32,112,32,224, - 32,255,224,11,19,38,15,2,0,31,0,113,128,96,192,224, - 192,0,192,0,192,1,128,3,0,15,0,3,192,0,192,0, - 224,0,96,0,96,0,96,0,96,128,192,193,128,127,0,12, - 19,38,15,1,0,0,64,1,192,3,192,3,192,6,192,12, - 192,12,192,24,192,48,192,48,192,96,192,224,192,255,240,0, - 192,0,192,0,192,0,192,0,192,7,240,11,19,38,15,2, - 0,63,224,32,0,32,0,96,0,96,0,96,0,96,0,127, - 0,97,192,0,192,0,96,0,96,0,96,0,96,0,96,0, - 64,128,192,193,128,63,0,12,20,40,15,2,0,0,192,7, - 0,14,0,24,0,48,0,112,0,96,0,96,0,207,128,240, - 224,224,96,192,112,192,48,192,48,192,48,96,48,96,32,32, - 96,48,64,15,128,12,19,38,15,2,0,255,240,128,96,128, - 96,0,224,0,192,0,192,1,128,1,128,3,0,3,0,7, - 0,6,0,6,0,12,0,12,0,28,0,24,0,56,0,48, - 0,12,19,38,15,2,0,31,128,48,192,96,96,224,96,224, - 96,224,96,248,192,127,128,31,128,31,192,49,224,96,112,192, - 112,192,48,192,48,192,32,96,32,112,64,31,128,12,20,40, - 15,2,255,15,128,49,192,32,224,64,96,192,112,192,48,192, - 48,192,48,192,48,96,112,48,176,31,48,0,96,0,96,0, - 96,0,192,1,128,7,0,30,0,48,0,4,15,15,7,2, - 0,112,240,240,96,0,0,0,0,0,0,0,112,240,240,224 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 20, '1' Height: 19 - Calculated Max Values w=27 h=32 x= 3 y=16 dx=27 dy= 0 ascent=26 len=80 - Font Bounding box w=47 h=44 x=-16 y=-10 - Calculated Min Values x=-4 y=-8 dx= 0 dy= 0 - Pure Font ascent =20 descent=-8 - X Font ascent =25 descent=-8 - Max Font ascent =26 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr20r[4232] U8G_FONT_SECTION("u8g_font_gdr20r") = { - 0,47,44,240,246,20,4,220,11,144,32,127,248,26,248,25, - 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, - 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, - 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, - 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, - 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, - 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, - 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, - 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, - 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, - 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, - 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, - 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, - 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, - 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, - 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, - 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, - 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, - 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, - 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, - 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, - 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, - 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, - 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, - 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, - 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, - 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, - 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, - 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, - 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, - 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, - 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, - 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, - 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, - 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, - 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, - 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, - 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, - 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, - 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, - 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, - 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, - 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, - 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, - 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, - 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, - 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, - 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, - 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, - 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, - 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, - 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, - 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, - 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, - 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, - 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, - 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, - 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, - 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, - 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, - 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, - 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, - 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, - 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, - 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, - 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, - 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, - 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, - 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, - 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, - 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, - 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, - 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, - 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, - 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, - 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, - 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, - 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, - 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, - 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, - 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, - 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, - 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, - 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, - 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, - 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, - 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, - 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, - 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, - 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, - 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, - 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, - 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, - 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, - 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, - 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, - 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, - 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, - 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, - 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, - 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, - 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, - 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, - 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, - 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, - 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, - 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, - 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, - 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, - 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, - 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, - 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, - 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, - 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, - 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, - 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, - 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, - 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, - 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, - 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, - 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, - 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, - 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, - 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, - 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, - 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, - 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, - 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, - 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, - 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, - 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, - 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, - 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, - 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, - 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, - 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, - 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, - 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, - 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, - 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, - 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, - 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, - 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, - 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, - 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, - 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, - 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, - 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, - 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, - 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, - 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, - 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, - 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, - 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, - 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, - 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, - 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, - 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, - 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, - 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, - 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, - 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, - 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, - 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, - 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, - 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, - 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, - 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, - 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, - 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, - 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, - 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, - 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, - 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, - 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, - 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, - 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, - 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, - 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, - 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, - 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, - 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, - 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, - 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, - 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, - 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, - 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, - 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, - 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, - 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, - 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, - 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, - 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, - 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, - 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, - 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, - 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, - 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, - 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, - 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, - 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, - 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, - 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, - 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, - 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, - 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, - 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, - 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, - 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, - 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, - 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, - 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, - 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, - 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, - 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, - 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, - 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, - 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, - 136,71,240,131,240,128,224,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=33 h=41 x= 4 y=23 dx=34 dy= 0 ascent=34 len=132 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x=-4 y=-11 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =34 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25[13042] U8G_FONT_SECTION("u8g_font_gdr25") = { - 0,59,57,236,242,25,6,209,16,163,32,255,247,34,245,31, - 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, - 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, - 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, - 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, - 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, - 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, - 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, - 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, - 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, - 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, - 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, - 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, - 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, - 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, - 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, - 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, - 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, - 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, - 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, - 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, - 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, - 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, - 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, - 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, - 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, - 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, - 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, - 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, - 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, - 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, - 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, - 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, - 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, - 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, - 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, - 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, - 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, - 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, - 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, - 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, - 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, - 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, - 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, - 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, - 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, - 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, - 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, - 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, - 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, - 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, - 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, - 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, - 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, - 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, - 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, - 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, - 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, - 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, - 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, - 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, - 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, - 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, - 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, - 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, - 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, - 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, - 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, - 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, - 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, - 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, - 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, - 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, - 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, - 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, - 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, - 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, - 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, - 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, - 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, - 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, - 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, - 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, - 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, - 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, - 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, - 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, - 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, - 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, - 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, - 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, - 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, - 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, - 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, - 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, - 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, - 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, - 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, - 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, - 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, - 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, - 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, - 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, - 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, - 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, - 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, - 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, - 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, - 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, - 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, - 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, - 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, - 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, - 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, - 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, - 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, - 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, - 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, - 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, - 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, - 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, - 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, - 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, - 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, - 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, - 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, - 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, - 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, - 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, - 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, - 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, - 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, - 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, - 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, - 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, - 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, - 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, - 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, - 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, - 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, - 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, - 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, - 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, - 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, - 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, - 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, - 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, - 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, - 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, - 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, - 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, - 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, - 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, - 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, - 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, - 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, - 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, - 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, - 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, - 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, - 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, - 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, - 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, - 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, - 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, - 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, - 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, - 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, - 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, - 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, - 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, - 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, - 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, - 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, - 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, - 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, - 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, - 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, - 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, - 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, - 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, - 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, - 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, - 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, - 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, - 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, - 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, - 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, - 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, - 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, - 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, - 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, - 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, - 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, - 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, - 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, - 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, - 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, - 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, - 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, - 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, - 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, - 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, - 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, - 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, - 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, - 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, - 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, - 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, - 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, - 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, - 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, - 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, - 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, - 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, - 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, - 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, - 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, - 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, - 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, - 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, - 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, - 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, - 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, - 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, - 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, - 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, - 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, - 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, - 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, - 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, - 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, - 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, - 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, - 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, - 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, - 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, - 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, - 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, - 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, - 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, - 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, - 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, - 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, - 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, - 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, - 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, - 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, - 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, - 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, - 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, - 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, - 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, - 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, - 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, - 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, - 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, - 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, - 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, - 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, - 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, - 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, - 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, - 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, - 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, - 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, - 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, - 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, - 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, - 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, - 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, - 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, - 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, - 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, - 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, - 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, - 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, - 192,128,63,225,0,99,255,0,192,254,0,128,56,0,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,9,0,0,5,29,29,11,3,245,112,248,248,248,112, - 0,0,96,96,96,96,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,240,240,240,192,15,25,50,19,2,255,1,128, - 1,128,1,128,1,240,7,252,31,254,57,140,113,132,113,128, - 97,128,225,128,225,128,225,128,225,128,225,128,241,128,113,128, - 121,134,61,140,63,248,31,240,3,192,1,128,1,128,1,128, - 17,25,75,19,1,255,0,252,0,3,255,0,7,15,0,14, - 7,0,12,6,0,12,2,0,28,2,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,127,224,0,255,224,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,24, - 0,128,24,1,0,24,3,0,63,223,0,127,255,0,192,255, - 0,13,13,26,19,3,5,192,24,239,184,127,240,56,224,96, - 112,96,48,96,48,96,48,120,240,63,224,111,176,192,24,128, - 8,21,24,72,19,255,0,120,7,248,252,1,248,62,1,224, - 31,3,128,15,3,128,7,135,0,7,135,0,3,206,0,1, - 206,0,1,252,0,0,248,0,0,248,0,0,112,0,0,112, - 0,15,255,192,31,255,128,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,248,0,3,254,0,3, - 41,41,9,3,248,96,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,128,0,0,0,64,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,192,15,28, - 56,19,2,0,7,224,15,248,28,120,56,24,56,8,56,0, - 60,0,31,0,31,128,63,224,99,248,224,252,224,124,224,30, - 240,30,120,14,62,14,31,14,15,220,3,248,0,248,0,60, - 32,28,32,28,48,28,60,56,63,240,7,192,12,5,10,16, - 2,22,96,48,224,112,224,112,224,112,192,96,25,25,100,29, - 2,0,0,127,0,0,3,255,224,0,7,128,240,0,14,0, - 56,0,28,31,28,0,56,127,206,0,112,225,199,0,97,192, - 131,0,99,128,3,0,195,0,1,128,199,0,1,128,199,0, - 1,128,199,0,1,128,199,0,1,128,199,0,1,128,199,128, - 1,128,99,128,3,0,99,192,67,0,113,241,135,0,56,255, - 14,0,28,60,28,0,14,0,56,0,7,128,240,0,3,255, - 224,0,0,127,0,0,8,14,14,10,1,11,28,60,70,198, - 6,30,102,198,198,206,119,0,255,255,15,18,36,19,2,0, - 2,6,6,4,12,12,12,24,24,56,56,112,112,224,241,224, - 225,192,225,192,241,224,112,240,56,112,24,56,12,24,12,12, - 6,4,2,6,17,8,24,19,1,4,255,255,128,255,255,128, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 3,0,11,2,4,13,1,9,127,224,255,224,13,14,28,14, - 1,14,15,128,63,224,112,96,127,48,200,152,136,136,143,8, - 138,8,137,8,201,152,92,240,112,112,63,224,15,128,13,2, - 4,20,3,23,127,248,255,248,8,9,9,14,3,15,28,62, - 103,231,231,231,230,124,56,15,18,36,16,1,3,3,128,3, - 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,0,0,0,0,0,127,252,255, - 252,11,15,30,14,1,12,15,128,31,192,49,224,96,224,64, - 224,0,192,1,192,1,128,3,0,6,0,12,0,24,32,48, - 32,127,224,255,224,11,16,32,13,1,11,31,0,63,128,99, - 192,225,192,1,192,1,128,7,0,31,128,1,192,0,224,0, - 224,0,224,0,224,193,192,127,128,30,0,8,9,9,13,4, - 20,7,15,30,28,56,48,112,96,192,20,27,81,21,1,247, - 12,1,128,252,7,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,30,7,128,31,31,128,31,251,144, - 27,243,224,25,225,128,24,0,0,24,0,0,24,0,0,28, - 0,0,28,0,0,28,0,0,30,0,0,30,0,0,24,0, - 0,20,30,90,22,1,251,3,255,240,28,63,192,48,59,128, - 112,59,128,96,59,128,224,59,128,224,59,128,224,59,128,224, - 59,128,240,59,128,112,59,128,120,59,128,62,59,128,31,251, - 128,7,251,128,0,59,128,0,59,128,0,59,128,0,59,128, - 0,59,128,0,59,128,0,59,128,0,59,128,0,59,128,0, - 59,128,0,59,128,0,59,128,0,59,128,0,127,192,1,255, - 240,3,5,5,6,1,11,96,224,224,224,192,7,9,9,9, - 1,247,24,16,56,60,62,14,12,56,224,10,15,30,13,2, - 12,6,0,62,0,254,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,255,192,9, - 14,28,11,1,11,30,0,63,0,103,0,67,128,193,128,193, - 128,193,128,193,128,225,0,115,0,126,0,60,0,255,128,255, - 128,15,18,36,19,3,0,129,0,193,128,96,192,112,96,48, - 112,56,48,28,56,30,28,15,30,15,30,30,28,28,56,56, - 56,48,112,112,224,96,192,193,128,129,0,19,24,72,23,2, - 0,12,0,192,252,1,224,28,1,128,28,3,128,28,3,0, - 28,6,0,28,14,0,28,12,0,28,24,0,28,56,0,28, - 48,0,255,224,0,0,224,0,0,192,192,1,193,192,1,130, - 192,3,2,192,7,4,192,6,8,192,12,16,192,28,31,224, - 24,63,224,48,0,192,112,3,224,20,24,72,24,2,0,12, - 0,96,252,0,192,28,0,192,28,1,128,28,3,0,28,3, - 0,28,6,0,28,14,0,28,12,0,28,24,0,28,56,0, - 255,176,0,0,97,224,0,99,240,0,196,112,1,204,112,1, - 128,96,3,0,224,7,0,192,6,1,128,12,3,32,28,6, - 16,24,15,240,48,31,240,20,25,75,23,1,0,30,0,0, - 63,0,48,103,128,96,195,128,224,3,0,192,6,1,128,31, - 129,128,3,195,0,0,231,0,0,230,0,97,204,0,63,220, - 0,15,24,0,0,48,0,0,48,96,0,96,224,0,225,96, - 0,195,96,1,130,96,3,132,96,3,12,112,6,31,240,14, - 0,96,12,0,96,24,1,240,14,29,58,18,2,245,3,128, - 7,192,7,192,7,192,3,128,0,0,0,0,3,128,3,128, - 3,128,3,128,3,128,7,0,7,0,14,0,28,0,60,0, - 56,0,112,0,112,0,224,0,224,12,224,28,224,28,224,28, - 240,56,120,112,63,224,31,128,23,34,102,24,0,0,3,0, - 0,7,128,0,7,224,0,1,240,0,0,120,0,0,60,0, - 0,14,0,0,2,0,0,0,0,0,8,0,0,56,0,0, - 60,0,0,60,0,0,108,0,0,110,0,0,110,0,0,198, - 0,0,199,0,0,199,0,1,131,0,1,131,128,1,131,128, - 3,1,128,3,255,192,3,255,192,6,0,224,6,0,224,6, - 0,224,12,0,112,12,0,112,12,0,112,24,0,56,28,0, - 120,255,1,254,23,34,102,24,0,0,0,1,128,0,3,192, - 0,7,192,0,15,0,0,30,0,0,56,0,0,96,0,0, - 192,0,0,0,0,0,8,0,0,56,0,0,60,0,0,60, - 0,0,108,0,0,110,0,0,110,0,0,198,0,0,199,0, - 0,199,0,1,131,0,1,131,128,1,131,128,3,1,128,3, - 255,192,3,255,192,6,0,224,6,0,224,6,0,224,12,0, - 112,12,0,112,12,0,112,24,0,56,28,0,120,255,1,254, - 23,33,99,24,0,0,0,56,0,0,124,0,0,254,0,1, - 231,0,1,131,128,3,1,192,6,0,128,0,0,0,0,8, - 0,0,56,0,0,60,0,0,60,0,0,108,0,0,110,0, - 0,110,0,0,198,0,0,199,0,0,199,0,1,131,0,1, - 131,128,1,131,128,3,1,128,3,255,192,3,255,192,6,0, - 224,6,0,224,6,0,224,12,0,112,12,0,112,12,0,112, - 24,0,56,28,0,120,255,1,254,23,32,96,24,0,0,0, - 224,64,1,248,192,3,253,128,6,31,0,4,6,0,0,0, - 0,0,0,0,0,8,0,0,56,0,0,60,0,0,60,0, - 0,108,0,0,110,0,0,110,0,0,198,0,0,199,0,0, - 199,0,1,131,0,1,131,128,1,131,128,3,1,128,3,255, - 192,3,255,192,6,0,224,6,0,224,6,0,224,12,0,112, - 12,0,112,12,0,112,24,0,56,28,0,120,255,1,254,23, - 31,93,24,0,0,3,129,192,3,129,192,3,129,192,3,1, - 128,3,1,128,0,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,23,34,102,24,0,0,0,62,0,0,126,0,0,199, - 0,0,195,0,0,195,0,0,230,0,0,252,0,0,48,0, - 0,0,0,0,8,0,0,56,0,0,60,0,0,60,0,0, - 108,0,0,110,0,0,110,0,0,198,0,0,199,0,0,199, - 0,1,131,0,1,131,128,1,131,128,3,1,128,3,255,192, - 3,255,192,6,0,224,6,0,224,6,0,224,12,0,112,12, - 0,112,12,0,112,24,0,56,28,0,120,255,1,254,30,25, - 100,31,0,0,1,255,255,240,0,63,255,240,0,25,192,48, - 0,25,192,16,0,57,192,16,0,49,192,0,0,113,192,0, - 0,97,192,0,0,97,192,0,0,225,192,0,0,255,255,192, - 1,255,255,192,1,193,192,128,1,129,192,0,3,129,192,0, - 3,1,192,0,7,1,192,0,7,1,192,0,6,1,192,0, - 14,1,192,0,12,1,192,4,28,1,192,12,28,1,192,24, - 60,3,255,248,255,15,255,248,18,34,102,21,1,247,0,126, - 0,3,255,192,7,7,192,14,1,128,28,0,0,56,0,0, - 48,0,0,112,0,0,112,0,0,96,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,240,0,0,112,0,0,120,0,0,56,0,64,60,0,192, - 30,3,128,15,254,0,7,252,0,1,240,0,0,64,0,0, - 96,0,0,240,0,0,120,0,0,56,0,0,48,0,0,224, - 0,3,128,0,18,34,102,20,1,0,12,0,0,62,0,0, - 63,0,0,15,128,0,3,192,0,0,224,0,0,112,0,0, - 16,0,0,0,0,255,255,0,63,255,0,28,3,0,28,1, - 0,28,1,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,31,252,0,31,252,0,28,8,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,64,28,0,192,28,1,128,63,255,128,255,255,128, - 18,34,102,20,1,0,0,12,0,0,30,0,0,62,0,0, - 120,0,0,240,0,1,192,0,3,0,0,6,0,0,0,0, - 0,255,255,0,63,255,0,28,3,0,28,1,0,28,1,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,31, - 252,0,31,252,0,28,8,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,64, - 28,0,192,28,1,128,63,255,128,255,255,128,18,33,99,20, - 1,0,1,192,0,3,224,0,7,240,0,7,56,0,12,28, - 0,24,14,0,16,2,0,0,0,0,255,255,0,63,255,0, - 28,3,0,28,1,0,28,1,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,31,252,0,31,252,0,28,8, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,64,28,0,192,28,1,128,63, - 255,128,255,255,128,18,31,93,20,1,0,28,14,0,28,14, - 0,28,14,0,28,14,0,24,12,0,0,0,0,255,255,0, - 63,255,0,28,3,0,28,1,0,28,1,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,31,252,0,31,252, - 0,28,8,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,64,28,0,192,28, - 1,128,63,255,128,255,255,128,11,34,68,12,255,0,96,0, - 248,0,252,0,62,0,15,0,3,128,1,192,0,64,0,0, - 63,224,15,128,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, - 63,224,11,34,68,12,1,0,0,192,1,224,3,224,7,128, - 15,0,28,0,48,0,96,0,0,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,12,33,66,12, - 0,0,14,0,31,0,63,128,57,192,96,224,192,112,128,32, - 0,0,127,192,31,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,127,192,12,31,62,12,0,0,224,112,224,112,224,112, - 224,112,192,96,0,0,127,192,31,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,31,0,127,192,21,25,75,24,1,0,31,248, - 0,255,255,0,28,15,128,28,3,192,28,1,224,28,0,240, - 28,0,112,28,0,112,28,0,120,28,0,56,28,0,56,255, - 240,56,255,224,56,28,0,56,28,0,56,28,0,56,28,0, - 112,28,0,112,28,0,112,28,0,224,28,1,224,28,3,192, - 28,15,128,63,254,0,255,248,0,24,32,96,26,1,0,0, - 240,64,1,248,96,3,252,192,2,31,128,6,6,0,0,0, - 0,0,0,0,248,1,255,60,0,124,30,0,56,30,0,56, - 31,0,56,31,128,56,29,128,56,29,192,56,28,224,56,28, - 96,56,28,112,56,28,56,56,28,28,56,28,28,56,28,14, - 56,28,7,56,28,7,56,28,3,184,28,3,248,28,1,248, - 28,0,248,28,0,248,28,0,120,62,0,56,255,128,24,21, - 34,102,24,1,0,3,0,0,7,128,0,15,192,0,3,224, - 0,0,240,0,0,56,0,0,28,0,0,4,0,0,0,0, - 0,252,0,3,255,0,7,7,128,12,3,192,24,1,224,56, - 0,224,112,0,112,112,0,112,96,0,120,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,224,0,56,224,0,56, - 240,0,48,112,0,112,112,0,96,120,0,224,60,0,192,30, - 1,128,15,7,0,7,254,0,1,248,0,21,34,102,24,1, - 0,0,3,0,0,7,128,0,15,192,0,31,0,0,60,0, - 0,112,0,0,224,0,0,128,0,0,0,0,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,96,120,0,224,60,0,192,30,1,128,15,7, - 0,7,254,0,1,248,0,21,33,99,24,1,0,0,120,0, - 0,252,0,0,252,0,1,206,0,3,135,0,6,1,128,4, - 0,128,0,0,0,0,252,0,3,255,0,7,7,128,12,3, - 192,24,1,224,56,0,224,112,0,112,112,0,112,96,0,120, - 224,0,56,224,0,56,224,0,56,224,0,56,224,0,56,224, - 0,56,224,0,56,240,0,48,112,0,112,112,0,96,120,0, - 224,60,0,192,30,1,128,15,7,0,7,254,0,1,248,0, - 21,32,96,24,1,0,1,224,128,3,240,192,7,249,128,6, - 63,0,12,12,0,0,0,0,0,0,0,0,252,0,3,255, - 0,7,7,128,12,3,192,24,1,224,56,0,224,112,0,112, - 112,0,112,96,0,120,224,0,56,224,0,56,224,0,56,224, - 0,56,224,0,56,224,0,56,224,0,56,240,0,48,112,0, - 112,112,0,96,120,0,224,60,0,192,30,1,128,15,7,0, - 7,254,0,1,248,0,21,31,93,24,1,0,3,1,128,7, - 3,128,7,3,128,7,3,128,2,1,0,0,0,0,0,252, - 0,3,255,0,7,7,128,12,3,192,24,1,224,56,0,224, - 112,0,112,112,0,112,96,0,120,224,0,56,224,0,56,224, - 0,56,224,0,56,224,0,56,224,0,56,224,0,56,240,0, - 48,112,0,112,112,0,96,120,0,224,60,0,192,30,1,128, - 15,7,0,7,254,0,1,248,0,13,12,24,16,2,5,192, - 48,224,120,112,224,57,192,31,128,15,0,15,0,31,128,57, - 192,112,224,224,112,192,56,21,26,78,24,1,255,0,252,56, - 3,255,112,7,7,224,12,3,224,24,1,224,56,3,240,48, - 7,240,112,7,112,96,14,120,224,28,56,224,28,56,224,56, - 56,224,112,56,224,112,56,224,224,56,225,192,56,243,128,48, - 115,128,112,119,0,96,126,0,224,60,0,192,62,1,128,63, - 7,0,119,254,0,225,248,0,128,0,0,24,34,102,26,1, - 0,1,128,0,3,192,0,3,224,0,0,240,0,0,120,0, - 0,28,0,0,6,0,0,3,0,0,0,0,255,129,255,62, - 0,124,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,112,14,0,112,14,0,112,15,0,224,7,193, - 192,3,255,128,0,126,0,24,34,102,26,1,0,0,1,128, - 0,3,224,0,7,224,0,15,128,0,30,0,0,56,0,0, - 112,0,0,64,0,0,0,0,255,129,255,62,0,124,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 112,14,0,112,14,0,112,15,0,224,7,193,192,3,255,128, - 0,126,0,24,33,99,26,1,0,0,28,0,0,62,0,0, - 127,0,0,231,0,1,193,128,3,128,192,2,0,64,0,0, - 0,255,129,255,62,0,124,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,112,14,0,112,14,0,112, - 15,0,224,7,193,192,3,255,128,0,126,0,24,31,93,26, - 1,0,1,128,192,3,129,192,3,129,192,3,129,192,1,0, - 128,0,0,0,255,129,255,62,0,124,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,14,0,112, - 14,0,112,15,0,224,7,193,192,3,255,128,0,126,0,23, - 34,102,24,0,0,0,1,128,0,3,192,0,7,192,0,15, - 0,0,30,0,0,56,0,0,96,0,0,192,0,0,0,0, - 248,1,254,60,0,120,30,0,96,14,0,224,7,0,192,7, - 129,192,3,129,128,3,195,128,1,195,0,0,231,0,0,238, - 0,0,126,0,0,124,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,124,0,1,255,0,18,25,75,21,1, - 0,255,128,0,60,0,0,28,0,0,28,0,0,31,248,0, - 31,254,0,28,31,0,28,7,128,28,3,128,28,3,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, - 128,28,7,128,28,15,0,29,254,0,28,248,0,28,0,0, - 28,0,0,28,0,0,62,0,0,255,128,0,20,30,90,23, - 1,0,0,124,0,1,255,0,3,15,128,6,3,128,14,3, - 192,12,1,192,12,1,192,28,1,192,28,1,192,28,3,128, - 28,7,128,28,31,0,28,120,0,28,240,0,28,224,0,28, - 224,0,28,240,0,28,124,0,28,63,0,28,31,192,28,7, - 224,28,1,224,28,0,240,28,0,112,28,128,112,28,128,112, - 28,192,96,28,224,224,60,255,192,252,63,0,16,29,58,18, - 2,0,56,0,60,0,28,0,14,0,14,0,7,0,3,128, - 1,128,0,192,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, - 2,0,0,56,0,120,0,112,0,224,0,192,1,192,3,128, - 3,0,6,0,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, - 2,0,3,128,7,128,7,192,15,224,30,224,28,112,56,56, - 48,24,96,12,0,0,0,0,3,224,31,240,56,120,112,56, - 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, - 224,56,224,56,224,120,241,185,127,63,60,24,16,27,54,18, - 2,0,14,4,31,12,63,152,99,240,64,224,0,0,0,0, - 0,0,0,0,3,224,31,240,56,120,112,56,240,56,192,56, - 0,56,0,120,7,248,28,56,112,56,96,56,224,56,224,56, - 224,120,241,185,127,63,60,24,16,27,54,18,2,0,48,24, - 48,24,112,56,112,56,48,24,0,0,0,0,0,0,0,0, - 3,224,31,240,56,120,112,56,240,56,192,56,0,56,0,120, - 7,248,28,56,112,56,96,56,224,56,224,56,224,120,241,185, - 127,63,60,24,16,28,56,18,2,0,3,192,7,224,12,96, - 12,96,24,96,12,96,15,192,7,128,0,0,0,0,3,224, - 31,240,56,120,112,56,240,56,192,56,0,56,0,120,7,248, - 28,56,112,56,96,56,224,56,224,56,224,120,241,185,127,63, - 60,24,24,18,54,28,2,0,3,225,240,15,243,252,56,119, - 30,112,60,14,224,60,7,240,56,7,192,56,7,1,255,255, - 15,255,254,30,56,0,120,56,0,112,56,0,224,56,0,224, - 60,2,224,92,3,241,159,14,127,15,248,60,3,224,15,27, - 54,17,2,247,1,248,7,254,28,28,56,12,48,4,112,0, - 96,0,224,0,224,0,224,0,224,0,224,0,224,0,240,0, - 112,8,120,24,63,240,31,224,15,128,2,0,2,0,3,128, - 7,192,1,192,1,128,7,0,28,0,14,29,58,18,2,0, - 28,0,60,0,30,0,14,0,7,0,3,128,1,128,0,192, - 0,64,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, - 0,56,0,60,0,120,0,112,0,224,0,192,1,128,1,0, - 3,0,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, - 1,128,3,192,7,224,7,224,14,112,28,56,24,24,48,12, - 32,4,0,0,0,0,3,192,15,240,28,120,48,56,112,28, - 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, - 112,4,120,12,60,56,31,240,7,192,14,27,54,18,2,0, - 24,12,56,28,56,28,56,28,48,24,0,0,0,0,0,0, - 0,0,3,192,15,240,28,120,48,56,112,28,96,28,224,28, - 255,252,255,248,224,0,224,0,224,0,240,0,112,4,120,12, - 60,56,31,240,7,192,10,29,58,11,0,0,224,0,240,0, - 120,0,56,0,28,0,12,0,14,0,6,0,3,0,0,0, - 0,0,6,0,126,0,30,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,30,0,127,192,10,29,58,11,1,0,1,192,3,192, - 3,128,7,128,7,0,14,0,12,0,24,0,16,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,13,29,58,11,255,0,7,0,7,128, - 15,128,31,192,29,192,56,224,112,112,96,48,192,24,0,0, - 0,0,3,0,63,0,15,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,15,0,63,224,12,27,54,11,0,0,192,96,224,112, - 224,112,192,96,192,96,0,0,0,0,0,0,0,0,6,0, - 126,0,30,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,30,0, - 127,192,16,28,56,20,2,0,6,0,63,6,7,159,1,248, - 3,224,15,112,28,56,0,28,0,28,0,14,3,206,15,254, - 28,127,48,31,112,15,96,15,224,7,224,7,224,7,224,7, - 224,6,224,6,240,14,112,12,120,28,60,56,31,240,7,192, - 21,27,81,22,1,0,1,192,128,7,225,0,7,243,0,12, - 126,0,8,28,0,0,0,0,0,0,0,0,0,0,0,0, - 0,12,15,0,252,63,128,60,99,192,29,129,192,29,1,192, - 30,1,192,30,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,62,3,192,255,143,248,16,29,58,20,2,0,28,0,30, - 0,14,0,7,0,3,128,3,128,1,192,0,192,0,96,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,29,58,20,2,0,0,28,0, - 60,0,56,0,112,0,112,0,224,0,192,1,128,3,0,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,29,58,20,2,0,1,192,3, - 192,3,224,7,240,7,112,14,56,28,28,24,12,48,6,0, - 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, - 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, - 12,62,56,31,240,7,192,16,27,54,20,2,0,7,2,15, - 134,31,204,49,248,32,112,0,0,0,0,0,0,0,0,3, - 224,15,248,28,60,48,30,112,14,96,15,224,7,224,7,224, - 7,224,7,224,7,224,7,240,6,112,14,120,12,62,56,31, - 240,7,192,16,27,54,20,2,0,24,12,24,12,28,14,24, - 12,24,12,0,0,0,0,0,0,0,0,3,224,15,248,28, - 60,48,30,112,14,96,15,224,7,224,7,224,7,224,7,224, - 7,224,7,240,6,112,14,120,12,62,56,31,240,7,192,14, - 14,28,16,1,4,1,128,3,128,3,128,3,0,0,0,0, - 0,127,252,255,252,0,0,0,0,1,128,3,128,3,128,3, - 0,16,20,40,20,2,255,0,1,3,227,15,254,28,60,48, - 30,112,30,96,63,224,103,224,199,224,135,225,135,227,7,230, - 7,252,6,120,14,120,12,60,56,127,240,199,192,128,0,21, - 29,87,21,0,0,7,0,0,7,128,0,3,192,0,1,192, - 0,0,224,0,0,96,0,0,48,0,0,48,0,0,24,0, - 0,0,0,0,0,0,12,0,192,252,15,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,28,1,192,28,3,192, - 28,7,192,30,29,200,15,241,240,7,192,192,21,29,87,21, - 0,0,0,7,0,0,15,128,0,14,0,0,30,0,0,28, - 0,0,56,0,0,48,0,0,96,0,0,64,0,0,0,0, - 0,0,0,12,0,192,252,15,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,28,3,192,28,7,192, - 30,29,200,15,241,240,7,192,192,21,29,87,21,0,0,0, - 112,0,0,120,0,0,248,0,1,252,0,1,222,0,3,142, - 0,7,7,0,6,3,0,12,1,128,0,0,0,0,0,0, - 12,0,192,252,15,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,3,192,28,7,192,30,29,200, - 15,241,240,7,192,192,21,27,81,21,0,0,6,3,0,7, - 3,128,7,3,128,6,3,0,6,3,0,0,0,0,0,0, - 0,0,0,0,0,0,0,12,0,192,252,15,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, - 192,28,7,192,30,29,200,15,241,240,7,192,192,20,38,114, - 20,255,247,0,3,128,0,7,128,0,7,0,0,14,0,0, - 12,0,0,28,0,0,56,0,0,48,0,0,96,0,0,0, - 0,0,0,0,127,131,240,30,0,224,14,0,192,14,0,192, - 7,1,128,7,1,128,7,3,0,3,131,0,3,131,0,1, - 198,0,1,198,0,1,198,0,0,236,0,0,236,0,0,120, - 0,0,120,0,0,120,0,0,48,0,0,48,0,0,96,0, - 0,96,0,0,224,0,1,192,0,67,128,0,127,0,0,254, - 0,0,124,0,0,18,39,117,21,1,247,12,0,0,252,0, - 0,60,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 60,0,28,255,0,29,143,0,31,7,128,30,3,128,28,3, - 192,28,1,192,28,1,192,28,1,192,28,1,192,28,1,192, - 28,1,128,28,1,128,28,3,128,30,3,0,31,134,0,31, - 252,0,28,240,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,62,0,0,255,128,0, - 20,36,108,20,255,247,3,1,128,3,1,128,7,3,128,7, - 3,128,3,1,128,0,0,0,0,0,0,0,0,0,0,0, - 0,127,131,240,30,0,224,14,0,192,14,0,192,7,1,128, - 7,1,128,7,3,0,3,131,0,3,131,0,1,198,0,1, - 198,0,1,198,0,0,236,0,0,236,0,0,120,0,0,120, - 0,0,120,0,0,48,0,0,48,0,0,96,0,0,96,0, - 0,224,0,1,192,0,67,128,0,127,0,0,254,0,0,124, - 0,0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=38 x= 3 y=14 dx=19 dy= 0 ascent=31 len=114 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25n[835] U8G_FONT_SECTION("u8g_font_gdr25n") = { - 0,59,57,236,242,24,0,0,0,0,42,58,0,31,249,24, - 0,16,16,32,18,1,14,1,128,1,128,1,128,97,132,113, - 142,121,159,31,248,7,192,3,192,31,248,121,158,241,142,33, - 134,1,128,1,128,1,128,15,14,28,16,1,4,3,128,3, - 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,6,10,10,9,2,250,60, - 252,60,28,28,24,24,48,32,64,11,2,4,13,1,9,127, - 224,255,224,5,5,5,9,2,255,112,248,248,248,112,17,38, - 114,19,1,249,0,1,128,0,7,0,0,7,0,0,7,0, - 0,14,0,0,14,0,0,14,0,0,28,0,0,28,0,0, - 56,0,0,56,0,0,56,0,0,112,0,0,112,0,0,112, - 0,0,224,0,0,224,0,1,192,0,1,192,0,1,192,0, - 3,128,0,3,128,0,3,128,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,28,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,192,0,0,17,24,72,19,1,0,3,224,0,15, - 248,0,28,60,0,56,30,0,48,14,0,112,7,0,96,7, - 0,96,7,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,3,0,112, - 7,0,112,7,0,120,6,0,60,14,0,30,28,0,15,248, - 0,7,224,0,14,24,48,19,3,0,1,128,7,128,63,128, - 255,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,15,224,127,252,14,24,48,19,2,0, - 3,224,15,248,24,120,48,60,112,28,96,28,224,28,0,28, - 0,24,0,56,0,48,0,112,0,224,1,192,1,128,3,128, - 7,0,14,0,28,0,24,4,48,4,112,12,255,252,255,252, - 15,24,48,19,1,0,3,224,15,248,28,120,56,60,112,28, - 112,28,0,28,0,24,0,48,0,96,3,224,3,248,0,60, - 0,28,0,14,0,14,0,14,0,14,0,14,0,28,64,28, - 240,120,63,240,15,192,16,24,48,19,1,0,0,24,0,120, - 0,120,0,248,1,248,1,184,3,56,7,56,6,56,12,56, - 28,56,24,56,48,56,112,56,96,56,255,255,255,254,0,56, - 0,56,0,56,0,56,0,56,0,124,3,255,15,24,48,19, - 1,0,0,4,31,252,31,248,24,0,24,0,24,0,48,0, - 48,0,48,0,63,224,63,248,48,124,64,28,0,30,0,14, - 0,14,0,14,0,14,0,14,0,28,64,28,240,120,63,240, - 15,192,15,24,48,19,2,0,0,56,0,240,3,192,7,0, - 14,0,28,0,56,0,112,0,112,0,99,224,239,248,248,60, - 240,28,224,30,224,14,224,14,224,14,224,14,112,14,112,12, - 56,28,60,56,31,240,7,192,15,23,46,19,2,0,127,254, - 255,254,192,12,192,12,128,28,0,24,0,56,0,48,0,112, - 0,96,0,96,0,224,0,192,1,192,1,128,3,128,3,0, - 7,0,7,0,14,0,14,0,28,0,56,0,15,24,48,19, - 2,0,15,192,63,240,120,120,112,60,240,28,224,28,224,28, - 240,24,120,48,62,96,31,192,7,240,24,120,48,60,112,30, - 96,14,224,14,224,14,224,14,224,12,112,28,124,56,63,240, - 15,192,15,25,50,19,2,255,7,192,15,240,56,120,48,60, - 112,28,96,28,224,14,224,14,224,14,224,14,240,14,112,30, - 120,62,63,238,15,140,0,28,0,28,0,24,0,56,0,112, - 0,224,1,192,7,128,30,0,48,0,5,19,19,9,2,255, - 120,248,248,248,96,0,0,0,0,0,0,0,0,0,112,248, - 248,248,112}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=33 h=41 x= 3 y=20 dx=34 dy= 0 ascent=33 len=132 - Font Bounding box w=59 h=57 x=-20 y=-14 - Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 - Pure Font ascent =25 descent=-9 - X Font ascent =31 descent=-9 - Max Font ascent =33 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr25r[6239] U8G_FONT_SECTION("u8g_font_gdr25r") = { - 0,59,57,236,242,25,6,209,16,163,32,127,247,33,247,31, - 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, - 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, - 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, - 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, - 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, - 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, - 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, - 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, - 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, - 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, - 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, - 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, - 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, - 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, - 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, - 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, - 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, - 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, - 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, - 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, - 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, - 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, - 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, - 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, - 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, - 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, - 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, - 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, - 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, - 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, - 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, - 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, - 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, - 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, - 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, - 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, - 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, - 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, - 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, - 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, - 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, - 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, - 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, - 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, - 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, - 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, - 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, - 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, - 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, - 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, - 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, - 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, - 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, - 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, - 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, - 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, - 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, - 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, - 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, - 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, - 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, - 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, - 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, - 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, - 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, - 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, - 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, - 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, - 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, - 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, - 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, - 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, - 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, - 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, - 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, - 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, - 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, - 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, - 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, - 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, - 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, - 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, - 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, - 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, - 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, - 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, - 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, - 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, - 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, - 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, - 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, - 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, - 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, - 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, - 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, - 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, - 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, - 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, - 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, - 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, - 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, - 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, - 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, - 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, - 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, - 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, - 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, - 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, - 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, - 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, - 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, - 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, - 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, - 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, - 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, - 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, - 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, - 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, - 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, - 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, - 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, - 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, - 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, - 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, - 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, - 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, - 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, - 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, - 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, - 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, - 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, - 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, - 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, - 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, - 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, - 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, - 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, - 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, - 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, - 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, - 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, - 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, - 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, - 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, - 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, - 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, - 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, - 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, - 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, - 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, - 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, - 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, - 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, - 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, - 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, - 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, - 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, - 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, - 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, - 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, - 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, - 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, - 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, - 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, - 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, - 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, - 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, - 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, - 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, - 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, - 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, - 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, - 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, - 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, - 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, - 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, - 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, - 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, - 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, - 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, - 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, - 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, - 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, - 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, - 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, - 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, - 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, - 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, - 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, - 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, - 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, - 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, - 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, - 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, - 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, - 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, - 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, - 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, - 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, - 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, - 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, - 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, - 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, - 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, - 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, - 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, - 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, - 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, - 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, - 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, - 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, - 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, - 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, - 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, - 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, - 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, - 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, - 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, - 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, - 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, - 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, - 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, - 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, - 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, - 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, - 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, - 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, - 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, - 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, - 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, - 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, - 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, - 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, - 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, - 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, - 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, - 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, - 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, - 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, - 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, - 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, - 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, - 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, - 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, - 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, - 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, - 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, - 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, - 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, - 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, - 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, - 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, - 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, - 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, - 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, - 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, - 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, - 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, - 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, - 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, - 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, - 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, - 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, - 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, - 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, - 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, - 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, - 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, - 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, - 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, - 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, - 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, - 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, - 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, - 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, - 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, - 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, - 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, - 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, - 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, - 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, - 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, - 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, - 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, - 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, - 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, - 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, - 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, - 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, - 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, - 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, - 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, - 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, - 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, - 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, - 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, - 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, - 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, - 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, - 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, - 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, - 192,128,63,225,0,99,255,0,192,254,0,128,56,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=40 h=49 x= 5 y=28 dx=41 dy= 0 ascent=42 len=195 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x=-5 y=-13 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =42 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30[18369] U8G_FONT_SECTION("u8g_font_gdr30") = { - 0,71,68,232,239,30,9,231,23,124,32,255,245,42,243,38, - 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, - 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, - 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, - 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, - 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, - 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, - 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, - 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, - 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, - 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, - 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, - 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, - 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, - 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, - 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, - 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, - 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, - 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, - 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, - 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, - 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, - 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, - 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, - 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, - 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, - 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, - 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, - 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, - 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, - 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, - 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, - 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, - 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, - 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, - 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, - 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, - 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, - 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, - 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, - 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, - 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, - 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, - 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, - 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, - 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, - 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, - 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, - 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, - 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, - 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, - 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, - 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, - 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, - 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, - 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, - 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, - 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, - 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, - 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, - 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, - 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, - 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, - 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, - 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, - 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, - 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, - 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, - 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, - 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, - 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, - 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, - 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, - 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, - 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, - 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, - 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, - 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, - 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, - 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, - 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, - 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, - 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, - 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, - 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, - 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, - 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, - 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, - 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, - 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, - 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, - 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, - 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, - 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, - 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, - 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, - 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, - 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, - 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, - 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, - 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, - 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, - 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, - 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, - 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, - 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, - 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, - 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, - 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, - 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, - 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, - 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, - 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, - 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, - 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, - 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, - 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, - 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, - 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, - 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, - 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, - 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, - 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, - 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, - 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, - 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, - 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, - 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, - 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, - 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, - 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, - 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, - 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, - 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, - 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, - 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, - 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, - 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, - 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, - 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, - 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, - 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, - 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, - 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, - 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, - 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, - 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, - 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, - 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, - 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, - 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, - 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, - 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, - 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, - 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, - 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, - 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, - 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, - 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, - 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, - 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, - 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, - 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, - 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, - 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, - 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, - 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, - 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, - 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, - 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, - 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, - 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, - 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, - 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, - 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, - 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, - 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, - 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, - 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, - 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, - 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, - 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, - 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, - 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, - 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, - 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, - 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, - 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, - 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, - 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, - 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, - 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, - 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, - 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, - 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, - 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, - 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, - 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, - 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, - 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, - 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, - 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, - 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, - 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, - 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, - 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, - 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, - 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, - 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, - 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, - 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, - 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, - 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, - 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, - 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, - 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, - 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, - 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, - 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, - 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, - 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, - 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, - 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, - 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, - 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, - 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, - 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, - 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, - 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, - 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, - 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, - 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, - 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, - 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, - 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, - 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, - 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, - 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, - 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, - 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, - 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, - 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, - 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, - 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, - 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, - 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, - 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, - 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, - 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, - 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, - 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, - 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, - 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, - 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, - 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, - 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, - 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, - 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, - 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, - 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, - 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, - 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, - 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, - 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, - 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, - 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, - 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, - 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, - 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, - 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, - 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, - 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, - 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, - 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, - 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, - 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, - 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, - 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, - 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, - 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, - 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, - 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, - 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, - 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, - 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, - 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, - 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, - 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, - 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, - 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, - 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, - 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, - 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, - 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, - 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, - 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, - 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, - 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, - 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, - 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, - 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, - 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, - 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, - 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, - 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, - 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, - 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, - 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, - 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, - 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, - 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, - 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, - 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, - 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, - 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, - 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, - 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, - 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, - 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, - 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, - 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, - 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, - 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, - 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, - 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, - 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, - 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, - 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, - 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, - 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, - 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, - 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, - 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, - 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, - 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, - 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, - 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, - 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, - 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, - 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, - 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, - 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, - 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, - 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, - 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, - 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, - 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, - 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, - 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, - 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, - 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, - 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, - 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, - 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, - 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, - 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, - 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, - 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, - 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, - 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, - 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, - 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, - 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, - 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, - 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, - 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, - 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, - 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, - 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, - 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, - 255,224,96,127,192,64,31,128,192,15,0,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,11, - 0,0,6,35,35,13,3,243,56,124,252,252,252,248,112,0, - 16,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 120,120,120,120,120,124,124,124,124,120,96,18,30,90,23,2, - 255,0,96,0,0,96,0,0,96,0,0,96,0,0,255,0, - 3,255,128,15,255,192,30,99,128,60,97,128,56,97,0,120, - 96,0,112,96,0,240,96,0,240,96,0,240,96,0,240,96, - 0,240,96,0,240,96,0,248,96,0,120,96,0,124,96,192, - 62,97,128,63,231,128,31,255,0,15,252,0,3,248,0,0, - 96,0,0,96,0,0,96,0,0,96,0,19,29,87,23,2, - 0,0,127,0,1,255,224,3,131,224,7,1,192,6,0,192, - 14,0,192,14,0,192,30,0,64,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,255,248,0,255,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 28,0,0,28,0,32,28,0,32,24,0,96,56,0,224,63, - 255,224,127,255,224,192,255,224,15,15,30,23,4,7,128,2, - 192,6,103,204,63,248,56,56,112,28,96,12,96,12,96,12, - 96,12,48,24,56,56,127,252,231,206,192,6,25,28,112,23, - 254,0,126,0,255,128,254,0,63,128,31,0,30,0,15,128, - 60,0,7,192,120,0,3,192,112,0,3,224,240,0,1,224, - 224,0,0,241,224,0,0,241,192,0,0,123,192,0,0,127, - 128,0,0,63,0,0,0,63,0,0,0,30,0,0,0,30, - 0,0,15,255,252,0,15,255,252,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,127,128,0,1,255, - 224,0,4,49,49,11,4,246,112,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,224,0,0, - 0,0,0,112,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,224,19,34,102,24,2,0,1, - 248,0,7,254,0,30,31,0,60,7,0,60,6,0,60,0, - 0,62,0,0,63,0,0,31,128,0,31,224,0,31,248,0, - 63,252,0,121,255,0,240,127,128,240,63,192,240,15,192,240, - 7,224,248,3,224,124,1,224,126,1,224,63,129,192,31,225, - 192,7,251,128,3,255,0,0,255,0,0,63,128,0,15,128, - 16,7,128,16,7,128,24,7,128,28,7,0,30,15,0,31, - 254,0,3,240,0,15,5,10,19,2,27,112,14,240,30,240, - 30,240,30,224,28,30,30,120,34,2,0,0,31,224,0,0, - 255,252,0,1,224,30,0,7,128,7,128,14,0,1,192,28, - 3,240,224,24,15,252,96,48,60,60,48,112,112,8,56,96, - 224,0,24,97,224,0,24,193,224,0,12,195,192,0,12,195, - 192,0,12,195,192,0,12,195,192,0,12,195,192,0,12,195, - 192,0,12,195,224,0,12,97,224,0,24,97,240,8,24,112, - 248,12,56,48,124,48,48,24,63,224,96,28,15,128,224,14, - 0,1,192,7,128,7,128,1,224,30,0,0,255,252,0,0, - 31,224,0,11,15,30,12,1,14,15,0,31,0,51,128,97, - 128,97,128,3,128,29,128,97,128,193,128,193,128,239,128,253, - 224,121,128,255,192,255,192,18,21,63,23,2,0,0,128,64, - 1,128,192,3,1,128,7,3,0,14,7,0,14,14,0,28, - 30,0,60,60,0,120,60,0,240,120,0,240,120,0,248,120, - 0,120,60,0,60,60,0,28,30,0,14,14,0,14,7,0, - 7,3,0,3,1,128,1,128,192,0,128,64,20,10,30,23, - 1,4,127,255,240,255,255,240,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,96, - 14,2,4,16,1,11,127,252,255,248,15,17,34,17,1,17, - 7,192,31,240,56,56,96,12,79,132,196,70,132,66,132,194, - 135,130,133,130,132,130,196,198,68,100,106,60,56,56,31,240, - 7,192,16,2,4,24,4,28,127,255,255,254,11,11,22,17, - 3,18,15,0,63,192,113,224,96,224,224,224,224,224,224,224, - 224,192,241,128,127,0,62,0,17,22,66,20,1,3,0,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,0,0,0,0,0,0,0,0,0,127,255,128,255,255,128, - 13,17,34,17,2,15,7,192,31,240,112,248,96,120,224,120, - 0,120,0,112,0,224,1,224,3,192,7,128,15,0,30,0, - 60,8,120,24,255,248,255,248,14,18,36,16,1,14,15,128, - 63,224,113,240,224,240,192,240,0,240,1,224,7,128,15,224, - 1,240,0,120,0,60,0,60,0,60,128,120,224,248,63,224, - 15,128,10,10,20,15,5,25,7,128,7,192,15,0,15,0, - 30,0,60,0,56,0,112,0,96,0,192,0,25,33,132,26, - 1,245,6,0,24,0,254,0,248,0,126,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, - 120,0,30,0,120,0,30,0,120,0,30,0,120,0,31,0, - 248,0,31,1,248,0,31,131,248,0,31,255,121,0,27,254, - 127,128,25,252,126,0,24,240,56,0,24,0,0,0,24,0, - 0,0,24,0,0,0,28,0,0,0,28,0,0,0,28,0, - 0,0,30,0,0,0,30,0,0,0,31,0,0,0,31,0, - 0,0,24,0,0,0,23,36,108,26,1,250,1,255,254,15, - 255,254,31,7,252,60,7,112,120,7,112,120,7,112,240,7, - 112,240,7,112,240,7,112,240,7,112,240,7,112,248,7,112, - 120,7,112,124,7,112,62,7,112,31,135,112,15,255,112,1, - 255,112,0,7,112,0,7,112,0,7,112,0,7,112,0,7, - 112,0,7,112,0,7,112,0,7,112,0,7,112,0,7,112, - 0,7,112,0,7,112,0,7,112,0,7,112,0,7,112,0, - 7,112,0,31,248,0,63,254,4,5,5,7,2,14,112,240, - 240,240,224,8,10,10,11,2,246,24,56,48,62,127,15,15, - 30,120,224,13,17,34,16,2,15,3,128,31,128,255,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,15,192,127,248,12,15,30,14,1, - 14,15,128,63,192,49,224,96,96,192,112,192,48,192,48,192, - 48,224,48,224,96,120,192,63,128,31,0,255,240,255,240,18, - 21,63,23,3,0,64,64,0,224,96,0,96,48,0,48,24, - 0,56,28,0,28,14,0,14,15,0,15,7,128,7,135,128, - 7,195,192,3,195,192,7,195,192,7,135,128,15,7,128,30, - 15,0,28,14,0,56,28,0,48,56,0,112,48,0,96,96, - 0,192,64,0,24,29,87,28,2,0,4,0,4,60,0,14, - 204,0,24,12,0,56,12,0,48,12,0,112,12,0,224,12, - 0,192,12,1,192,12,3,128,12,3,0,12,7,0,12,6, - 0,127,142,0,0,28,0,0,24,4,0,56,28,0,112,28, - 0,96,44,0,224,108,1,192,76,1,192,140,3,129,12,3, - 3,12,7,3,255,14,7,254,12,0,12,28,0,12,56,0, - 127,24,29,87,28,2,0,4,0,6,60,0,14,204,0,28, - 12,0,24,12,0,56,12,0,112,12,0,112,12,0,224,12, - 0,192,12,1,192,12,3,128,12,3,0,12,7,0,127,142, - 0,0,14,0,0,28,60,0,24,255,0,57,199,0,115,131, - 0,99,3,0,224,2,1,192,4,1,128,8,3,128,16,7, - 0,32,7,0,65,14,0,129,12,1,255,28,1,255,25,29, - 116,28,1,0,15,128,3,0,31,192,7,0,49,192,14,0, - 112,192,12,0,0,192,28,0,1,128,24,0,15,0,56,0, - 1,192,112,0,0,192,96,0,0,192,224,0,0,193,192,0, - 0,193,128,0,193,195,128,0,127,135,0,0,30,7,0,0, - 0,14,2,0,0,12,14,0,0,28,14,0,0,56,22,0, - 0,48,38,0,0,112,102,0,0,224,198,0,0,224,134,0, - 1,193,134,128,3,131,255,0,3,128,6,0,7,0,6,0, - 6,0,6,0,14,0,63,128,17,35,105,21,2,243,0,224, - 0,1,240,0,3,240,0,3,240,0,3,224,0,1,192,0, - 0,0,0,0,0,0,0,0,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,7,0,0,15,0,0,30,0,0,60,0,0, - 60,0,0,120,0,0,120,0,0,240,0,0,240,3,128,240, - 7,128,240,7,128,240,7,128,248,15,0,120,15,0,126,30, - 0,63,248,0,15,224,0,28,41,164,29,0,0,0,128,0, - 0,1,192,0,0,3,240,0,0,1,248,0,0,0,124,0, - 0,0,31,0,0,0,7,128,0,0,1,192,0,0,0,128, - 0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0, - 0,0,15,0,0,0,15,0,0,0,31,128,0,0,31,128, - 0,0,27,128,0,0,59,192,0,0,57,192,0,0,49,224, - 0,0,113,224,0,0,112,224,0,0,96,240,0,0,224,240, - 0,0,224,112,0,0,192,120,0,1,192,120,0,1,192,56, - 0,1,255,252,0,3,255,252,0,3,128,30,0,3,0,30, - 0,7,0,30,0,7,0,15,0,6,0,15,0,14,0,15, - 0,14,0,7,128,12,0,7,128,62,0,7,192,255,192,63, - 240,28,41,164,29,0,0,0,0,32,0,0,0,56,0,0, - 0,252,0,0,1,248,0,0,3,224,0,0,15,128,0,0, - 30,0,0,0,56,0,0,0,32,0,0,0,0,0,0,0, - 0,0,0,0,2,0,0,0,7,0,0,0,15,0,0,0, - 15,0,0,0,31,128,0,0,31,128,0,0,27,128,0,0, - 59,192,0,0,57,192,0,0,49,224,0,0,113,224,0,0, - 112,224,0,0,96,240,0,0,224,240,0,0,224,112,0,0, - 192,120,0,1,192,120,0,1,192,56,0,1,255,252,0,3, - 255,252,0,3,128,30,0,3,0,30,0,7,0,30,0,7, - 0,15,0,6,0,15,0,14,0,15,0,14,0,7,128,12, - 0,7,128,62,0,7,192,255,192,63,240,28,41,164,29,0, - 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, - 0,0,121,224,0,0,240,240,0,1,192,56,0,1,128,24, - 0,1,0,16,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,28,39,156,29,0,0,0,16,8,0,0, - 124,12,0,0,254,28,0,1,255,248,0,1,135,240,0,3, - 3,224,0,2,1,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,7,0,0,0,15,0,0,0,15,0,0,0, - 31,128,0,0,31,128,0,0,27,128,0,0,59,192,0,0, - 57,192,0,0,49,224,0,0,113,224,0,0,112,224,0,0, - 96,240,0,0,224,240,0,0,224,112,0,0,192,120,0,1, - 192,120,0,1,192,56,0,1,255,252,0,3,255,252,0,3, - 128,30,0,3,0,30,0,7,0,30,0,7,0,15,0,6, - 0,15,0,14,0,15,0,14,0,7,128,12,0,7,128,62, - 0,7,192,255,192,63,240,28,38,152,29,0,0,0,128,32, - 0,0,224,56,0,1,224,120,0,1,224,120,0,1,224,120, - 0,0,128,32,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,28,42,168,29,0,0,0,2,0,0,0, - 15,128,0,0,31,192,0,0,24,192,0,0,48,192,0,0, - 48,192,0,0,48,192,0,0,63,128,0,0,31,0,0,0, - 8,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, - 7,0,0,0,15,0,0,0,15,0,0,0,31,128,0,0, - 31,128,0,0,27,128,0,0,59,192,0,0,57,192,0,0, - 49,224,0,0,113,224,0,0,112,224,0,0,96,240,0,0, - 224,240,0,0,224,112,0,0,192,120,0,1,192,120,0,1, - 192,56,0,1,255,252,0,3,255,252,0,3,128,30,0,3, - 0,30,0,7,0,30,0,7,0,15,0,6,0,15,0,14, - 0,15,0,14,0,7,128,12,0,7,128,62,0,7,192,255, - 192,63,240,36,30,150,37,0,0,0,127,255,255,192,0,31, - 255,255,224,0,7,252,0,192,0,7,60,0,192,0,7,60, - 0,192,0,14,60,0,192,0,14,60,0,0,0,30,60,0, - 0,0,28,60,0,0,0,28,60,0,0,0,60,60,0,0, - 0,56,60,0,0,0,120,60,0,0,0,127,255,255,0,0, - 127,255,255,0,0,240,60,6,0,0,224,60,0,0,1,224, - 60,0,0,1,192,60,0,0,1,192,60,0,0,3,128,60, - 0,0,3,128,60,0,0,7,128,60,0,0,7,0,60,0, - 0,7,0,60,0,16,14,0,60,0,48,14,0,60,0,48, - 30,0,62,0,112,62,0,127,255,224,255,193,255,255,224,22, - 40,120,26,2,246,0,31,224,0,255,252,1,192,252,7,128, - 56,14,0,16,14,0,0,28,0,0,56,0,0,56,0,0, - 120,0,0,112,0,0,112,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,248,0,0,120,0,0,124,0,0,60,0,0,62,0,8, - 31,0,60,15,128,240,15,255,224,3,255,128,0,254,0,0, - 24,0,0,16,0,0,28,0,0,62,0,0,63,0,0,15, - 0,0,15,0,0,30,0,0,120,0,1,192,0,21,41,123, - 24,1,0,4,0,0,14,0,0,31,0,0,15,192,0,3, - 224,0,0,240,0,0,60,0,0,14,0,0,4,0,0,0, - 0,0,0,0,255,255,224,127,255,240,30,0,96,30,0,96, - 30,0,96,30,0,96,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,31,255,128,31,255, - 128,30,3,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,8,30, - 0,24,30,0,24,31,0,56,127,255,240,255,255,240,21,41, - 123,24,1,0,0,1,0,0,3,192,0,7,224,0,15,192, - 0,63,0,0,124,0,0,240,0,1,192,0,1,0,0,0, - 0,0,0,0,0,255,255,224,127,255,240,30,0,96,30,0, - 96,30,0,96,30,0,96,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,31,255,128,31, - 255,128,30,3,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,8, - 30,0,24,30,0,24,31,0,56,127,255,240,255,255,240,21, - 41,123,24,1,0,0,48,0,0,120,0,0,252,0,1,254, - 0,3,207,0,7,7,0,14,1,128,28,0,192,16,0,128, - 0,0,0,0,0,0,255,255,224,127,255,240,30,0,96,30, - 0,96,30,0,96,30,0,96,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,31,255,128, - 31,255,128,30,3,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 8,30,0,24,30,0,24,31,0,56,127,255,240,255,255,240, - 21,38,114,24,1,0,4,1,0,15,3,192,15,3,192,15, - 3,192,14,3,128,4,1,0,0,0,0,0,0,0,255,255, - 224,127,255,240,30,0,96,30,0,96,30,0,96,30,0,96, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,31,255,128,31,255,128,30,3,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,8,30,0,24,30,0,24,31, - 0,56,127,255,240,255,255,240,13,41,82,14,255,0,32,0, - 112,0,252,0,126,0,31,0,7,128,1,224,0,112,0,32, - 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, - 13,41,82,14,2,0,0,64,0,112,1,248,3,240,7,192, - 31,0,60,0,112,0,64,0,0,0,0,0,255,192,127,128, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,127,128,255,192,15,41,82,14,255,0,1,128, - 3,192,7,224,15,240,30,120,56,60,112,12,224,6,64,4, - 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, - 14,38,76,14,0,0,64,16,112,28,240,60,240,60,224,56, - 64,16,0,0,0,0,63,240,31,224,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,31,224, - 63,240,25,30,120,28,1,0,7,254,0,0,255,255,192,0, - 127,3,240,0,15,0,248,0,15,0,124,0,15,0,62,0, - 15,0,30,0,15,0,31,0,15,0,15,0,15,0,15,0, - 15,0,15,128,15,0,7,128,15,0,7,128,15,0,7,128, - 255,254,7,128,255,252,7,128,15,0,7,128,15,0,7,128, - 15,0,7,128,15,0,7,0,15,0,15,0,15,0,15,0, - 15,0,30,0,15,0,30,0,15,0,60,0,15,0,124,0, - 15,0,248,0,15,3,224,0,31,255,192,0,127,254,0,0, - 27,39,156,31,2,0,0,32,16,0,0,124,12,0,0,254, - 24,0,1,255,240,0,3,15,240,0,3,3,224,0,2,1, - 0,0,0,0,0,0,0,0,0,0,252,0,63,224,124,0, - 15,128,30,0,7,0,31,0,7,0,31,0,7,0,31,128, - 7,0,31,192,7,0,29,192,7,0,28,224,7,0,28,240, - 7,0,28,120,7,0,28,56,7,0,28,60,7,0,28,30, - 7,0,28,14,7,0,28,15,7,0,28,7,135,0,28,7, - 135,0,28,3,199,0,28,1,231,0,28,1,231,0,28,0, - 247,0,28,0,127,0,28,0,127,0,28,0,63,0,28,0, - 31,0,28,0,31,0,28,0,15,0,62,0,7,0,255,128, - 3,0,25,41,164,29,2,0,2,0,0,0,3,128,0,0, - 7,192,0,0,7,224,0,0,1,248,0,0,0,124,0,0, - 0,30,0,0,0,7,128,0,0,1,0,0,0,0,0,0, - 0,0,0,0,0,63,0,0,0,255,224,0,3,193,240,0, - 7,0,248,0,14,0,124,0,28,0,62,0,60,0,30,0, - 56,0,31,0,120,0,15,0,120,0,15,0,112,0,15,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 248,0,7,0,120,0,15,0,120,0,15,0,124,0,14,0, - 60,0,28,0,62,0,28,0,31,0,56,0,15,128,112,0, - 7,193,224,0,3,255,128,0,0,254,0,0,25,41,164,29, - 2,0,0,0,128,0,0,0,224,0,0,1,240,0,0,7, - 240,0,0,15,192,0,0,30,0,0,0,56,0,0,0,224, - 0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,63, - 0,0,0,255,224,0,3,193,240,0,7,0,248,0,14,0, - 124,0,28,0,62,0,60,0,30,0,56,0,31,0,120,0, - 15,0,120,0,15,0,112,0,15,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,248,0,7,0,120,0, - 15,0,120,0,15,0,124,0,14,0,60,0,28,0,62,0, - 28,0,31,0,56,0,15,128,112,0,7,193,224,0,3,255, - 128,0,0,254,0,0,25,41,164,29,2,0,0,28,0,0, - 0,62,0,0,0,126,0,0,0,127,0,0,0,227,128,0, - 1,193,192,0,3,128,224,0,6,0,112,0,4,0,32,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, - 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, - 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, - 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, - 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, - 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, - 25,39,156,29,2,0,0,64,32,0,1,248,48,0,3,252, - 48,0,3,255,224,0,6,31,192,0,4,15,128,0,12,2, - 0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,255, - 224,0,3,193,240,0,7,0,248,0,14,0,124,0,28,0, - 62,0,60,0,30,0,56,0,31,0,120,0,15,0,120,0, - 15,0,112,0,15,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, - 7,128,240,0,7,128,248,0,7,0,120,0,15,0,120,0, - 15,0,124,0,14,0,60,0,28,0,62,0,28,0,31,0, - 56,0,15,128,112,0,7,193,224,0,3,255,128,0,0,254, - 0,0,25,38,152,29,2,0,1,0,64,0,3,128,224,0, - 3,128,224,0,7,129,224,0,3,128,224,0,2,0,128,0, - 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, - 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, - 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, - 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, - 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, - 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, - 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, - 15,14,28,20,2,6,96,6,240,14,120,28,60,56,30,112, - 15,224,7,192,7,192,15,224,30,112,60,56,120,28,240,14, - 96,6,25,31,124,29,2,255,0,63,7,128,1,255,207,0, - 3,193,254,0,7,0,126,0,14,0,60,0,28,0,126,0, - 56,0,126,0,56,0,255,0,120,1,239,0,120,1,239,0, - 112,3,207,128,240,7,135,128,240,7,7,128,240,15,7,128, - 240,30,7,128,240,60,7,128,240,60,7,128,240,120,7,128, - 240,240,7,128,240,224,7,0,121,224,7,0,123,192,15,0, - 123,128,14,0,63,128,12,0,63,0,28,0,30,0,56,0, - 31,0,112,0,63,193,224,0,121,255,128,0,240,126,0,0, - 192,0,0,0,27,41,164,31,2,0,0,128,0,0,1,192, - 0,0,3,240,0,0,1,248,0,0,0,124,0,0,0,30, - 0,0,0,7,128,0,0,1,192,0,0,0,128,0,0,0, - 0,0,0,0,0,0,255,192,127,224,127,128,63,192,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 30,0,15,0,30,0,15,0,30,0,7,128,60,0,7,192, - 120,0,3,224,240,0,1,255,224,0,0,63,128,0,27,41, - 164,31,2,0,0,0,32,0,0,0,120,0,0,0,252,0, - 0,1,248,0,0,3,224,0,0,15,128,0,0,30,0,0, - 0,56,0,0,0,32,0,0,0,0,0,0,0,0,0,0, - 255,192,127,224,127,128,63,192,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,30,0,15,0,30,0, - 15,0,30,0,7,128,60,0,7,192,120,0,3,224,240,0, - 1,255,224,0,0,63,128,0,27,41,164,31,2,0,0,6, - 0,0,0,15,0,0,0,31,128,0,0,63,192,0,0,121, - 224,0,0,224,240,0,1,192,48,0,3,128,24,0,1,0, - 16,0,0,0,0,0,0,0,0,0,255,192,127,224,127,128, - 63,192,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, - 15,0,30,0,30,0,15,0,30,0,15,0,30,0,7,128, - 60,0,7,192,120,0,3,224,240,0,1,255,224,0,0,63, - 128,0,27,38,152,31,2,0,0,128,32,0,0,224,56,0, - 1,224,120,0,1,224,120,0,1,192,112,0,0,128,32,0, - 0,0,0,0,0,0,0,0,255,192,127,224,127,128,63,192, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, - 30,0,30,0,15,0,30,0,15,0,30,0,7,128,60,0, - 7,192,120,0,3,224,240,0,1,255,224,0,0,63,128,0, - 28,41,164,29,0,0,0,0,32,0,0,0,56,0,0,0, - 252,0,0,1,248,0,0,3,224,0,0,7,128,0,0,30, - 0,0,0,56,0,0,0,32,0,0,0,0,0,0,0,0, - 0,0,252,0,63,240,254,0,63,240,31,0,15,128,15,0, - 7,0,15,128,14,0,7,192,14,0,3,192,28,0,3,224, - 60,0,1,224,56,0,0,240,120,0,0,248,112,0,0,120, - 224,0,0,125,224,0,0,61,192,0,0,63,192,0,0,31, - 128,0,0,31,128,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, - 0,0,0,63,192,0,0,255,240,0,21,30,90,25,2,0, - 255,224,0,127,128,0,30,0,0,30,0,0,30,0,0,30, - 0,0,31,254,0,31,255,128,30,15,192,30,3,224,30,1, - 240,30,0,248,30,0,120,30,0,120,30,0,120,30,0,120, - 30,0,120,30,0,120,30,0,240,30,0,240,30,1,224,31, - 7,192,30,255,128,30,124,0,30,0,0,30,0,0,30,0, - 0,30,0,0,127,128,0,255,224,0,25,36,144,27,1,0, - 0,31,128,0,0,127,224,0,1,195,240,0,3,128,248,0, - 7,0,120,0,7,0,124,0,14,0,60,0,14,0,60,0, - 14,0,60,0,30,0,60,0,30,0,60,0,30,0,120,0, - 30,1,248,0,30,7,240,0,30,15,192,0,30,31,0,0, - 30,60,0,0,30,60,0,0,30,60,0,0,30,62,0,0, - 30,63,0,0,30,31,192,0,30,15,240,0,30,3,252,0, - 30,0,254,0,30,0,127,0,30,0,31,128,30,0,15,128, - 30,0,7,128,30,32,7,128,30,48,7,128,30,48,7,0, - 30,56,15,0,30,60,30,0,62,63,252,0,254,7,224,0, - 20,35,105,22,2,0,30,0,0,62,0,0,31,0,0,15, - 0,0,7,128,0,3,192,0,1,192,0,0,224,0,0,96, - 0,0,48,0,0,0,0,0,0,0,0,0,0,1,248,0, - 15,254,0,28,30,0,120,15,0,112,15,0,240,15,0,128, - 15,0,0,15,0,0,15,0,0,255,0,7,255,0,31,143, - 0,62,15,0,120,15,0,248,15,0,240,15,0,240,15,0, - 240,31,0,240,63,0,120,239,32,127,143,240,30,7,128,20, - 35,105,22,2,0,0,15,0,0,31,0,0,30,0,0,60, - 0,0,56,0,0,112,0,0,112,0,0,224,0,1,192,0, - 1,128,0,0,0,0,0,0,0,0,0,0,1,248,0,15, - 254,0,28,30,0,120,15,0,112,15,0,240,15,0,128,15, - 0,0,15,0,0,15,0,0,255,0,7,255,0,31,143,0, - 62,15,0,120,15,0,248,15,0,240,15,0,240,15,0,240, - 31,0,240,63,0,120,239,32,127,143,240,30,7,128,20,34, - 102,22,2,0,0,224,0,1,240,0,3,240,0,7,56,0, - 6,28,0,12,14,0,24,6,0,48,3,0,32,1,128,0, - 0,0,0,0,0,0,0,0,1,248,0,15,254,0,28,30, - 0,120,15,0,112,15,0,240,15,0,128,15,0,0,15,0, - 0,15,0,0,255,0,7,255,0,31,143,0,62,15,0,120, - 15,0,248,15,0,240,15,0,240,15,0,240,31,0,240,63, - 0,120,239,32,127,143,240,30,7,128,20,32,96,22,2,0, - 7,0,128,15,193,128,31,193,0,63,243,0,48,254,0,96, - 56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,248, - 0,15,254,0,28,30,0,120,15,0,112,15,0,240,15,0, - 128,15,0,0,15,0,0,15,0,0,255,0,7,255,0,31, - 143,0,62,15,0,120,15,0,248,15,0,240,15,0,240,15, - 0,240,31,0,240,63,0,120,239,32,127,143,240,30,7,128, - 20,32,96,22,2,0,28,7,0,28,7,0,60,15,0,60, - 15,0,24,6,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,248,0,15,254,0,28,30,0,120,15,0, - 112,15,0,240,15,0,128,15,0,0,15,0,0,15,0,0, - 255,0,7,255,0,31,143,0,62,15,0,120,15,0,248,15, - 0,240,15,0,240,15,0,240,31,0,240,63,0,120,239,32, - 127,143,240,30,7,128,20,34,102,22,2,0,0,240,0,1, - 248,0,3,24,0,3,24,0,6,24,0,6,24,0,7,56, - 0,3,240,0,1,192,0,0,0,0,0,0,0,0,0,0, - 1,248,0,15,254,0,28,30,0,120,15,0,112,15,0,240, - 15,0,128,15,0,0,15,0,0,15,0,0,255,0,7,255, - 0,31,143,0,62,15,0,120,15,0,248,15,0,240,15,0, - 240,15,0,240,31,0,240,63,0,120,239,32,127,143,240,30, - 7,128,29,22,88,33,2,0,1,248,31,128,7,252,127,192, - 28,62,225,224,56,31,192,240,112,15,128,112,240,15,128,120, - 240,15,0,120,192,15,0,120,0,127,255,248,3,255,255,240, - 15,143,0,0,30,15,0,0,60,15,0,0,120,15,0,0, - 240,15,0,0,240,15,128,0,240,31,128,24,240,63,192,48, - 248,243,224,240,127,227,255,192,127,128,255,128,30,0,126,0, - 18,32,96,21,2,246,0,127,0,1,255,192,7,7,192,14, - 1,128,28,0,128,56,0,0,120,0,0,112,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,248,0,0,120,1,0,124,3,128,62,7,0,31, - 254,0,31,248,0,7,240,0,0,192,0,0,128,0,0,224, - 0,0,240,0,1,248,0,0,120,0,0,120,0,0,240,0, - 3,192,0,14,0,0,18,35,105,22,2,0,14,0,0,31, - 0,0,15,128,0,7,128,0,3,192,0,1,192,0,0,224, - 0,0,112,0,0,48,0,0,24,0,0,0,0,0,0,0, - 0,0,0,0,248,0,7,254,0,14,15,0,28,7,128,56, - 7,128,56,3,192,112,3,192,112,3,192,255,255,192,255,255, - 128,240,0,0,240,0,0,240,0,0,240,0,0,248,0,0, - 120,0,0,120,0,0,124,0,192,62,1,128,31,7,0,15, - 254,0,3,248,0,18,35,105,22,2,0,0,7,0,0,15, - 128,0,15,0,0,30,0,0,60,0,0,56,0,0,112,0, - 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, - 0,0,0,248,0,7,254,0,14,15,0,28,7,128,56,7, - 128,56,3,192,112,3,192,112,3,192,255,255,192,255,255,128, - 240,0,0,240,0,0,240,0,0,240,0,0,248,0,0,120, - 0,0,120,0,0,124,0,192,62,1,128,31,7,0,15,254, - 0,3,248,0,18,34,102,22,2,0,0,240,0,0,240,0, - 1,248,0,3,156,0,7,14,0,14,6,0,12,3,0,24, - 1,128,16,0,128,0,0,0,0,0,0,0,0,0,0,248, - 0,7,254,0,14,15,0,28,7,128,56,7,128,56,3,192, - 112,3,192,112,3,192,255,255,192,255,255,128,240,0,0,240, - 0,0,240,0,0,240,0,0,248,0,0,120,0,0,120,0, - 0,124,0,192,62,1,128,31,7,0,15,254,0,3,248,0, - 18,32,96,22,2,0,14,3,128,30,7,128,30,7,128,30, - 7,128,28,7,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,248,0,7,254,0,14,15,0,28,7,128, - 56,7,128,56,3,192,112,3,192,112,3,192,255,255,192,255, - 255,128,240,0,0,240,0,0,240,0,0,240,0,0,248,0, - 0,120,0,0,120,0,0,124,0,192,62,1,128,31,7,0, - 15,254,0,3,248,0,12,35,70,13,0,0,240,0,248,0, - 120,0,60,0,28,0,14,0,7,0,3,0,1,128,0,128, - 0,0,0,0,0,0,1,128,31,128,63,128,15,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,15,192, - 63,240,12,35,70,13,2,0,0,224,1,240,3,224,3,192, - 7,128,7,0,14,0,28,0,24,0,48,0,0,0,0,0, - 0,0,6,0,126,0,254,0,62,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,63,0,255,192,15,34, - 68,13,255,0,3,128,7,192,7,224,14,240,28,112,56,56, - 112,12,96,6,192,2,0,0,0,0,0,0,0,192,15,192, - 31,192,7,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,7,224,31,248,14,32,64,13,0,0,96,24, - 240,60,240,60,224,56,224,56,0,0,0,0,0,0,0,0, - 0,0,1,128,31,128,63,128,15,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,15,192,63,240,20,34, - 102,24,2,0,3,0,0,31,192,128,31,225,224,1,255,192, - 0,126,0,0,252,0,3,254,0,15,143,0,4,7,128,0, - 3,128,0,3,192,0,1,192,1,241,224,7,255,224,14,31, - 224,28,7,240,56,3,240,56,1,240,120,1,240,112,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, - 0,224,248,1,224,120,1,192,124,1,192,124,3,128,62,7, - 0,31,14,0,15,252,0,3,240,0,23,32,96,26,2,0, - 1,224,32,3,240,48,7,248,96,7,252,192,14,63,128,8, - 15,0,0,0,0,0,0,0,0,0,0,0,0,0,12,7, - 192,254,15,224,62,49,224,30,96,240,30,192,240,30,128,240, - 31,0,240,31,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,127,131,248,255,199,254, - 20,35,105,24,2,0,15,0,0,15,0,0,7,128,0,3, - 192,0,1,192,0,0,224,0,0,112,0,0,112,0,0,56, - 0,0,24,0,0,0,0,0,0,0,0,0,0,0,252,0, - 7,255,0,14,15,128,28,7,192,56,3,192,56,3,224,112, - 1,224,112,1,240,240,0,240,240,0,240,240,0,240,240,0, - 240,240,0,240,240,0,240,248,0,224,120,1,224,124,1,192, - 60,1,192,62,3,128,31,7,0,15,254,0,3,240,0,20, - 35,105,24,2,0,0,7,128,0,7,192,0,15,128,0,15, - 0,0,30,0,0,60,0,0,56,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,0,0,0,0,0,0,252,0,7, - 255,0,14,15,128,28,7,192,56,3,192,56,3,224,112,1, - 224,112,1,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,248,0,224,120,1,224,124,1,192,60, - 1,192,62,3,128,31,7,0,15,254,0,3,240,0,20,34, - 102,24,2,0,0,112,0,0,248,0,1,252,0,1,220,0, - 3,142,0,7,7,0,14,3,128,12,1,192,24,0,192,0, - 0,0,0,0,0,0,0,0,0,252,0,7,255,0,14,15, - 128,28,7,192,56,3,192,56,3,224,112,1,224,112,1,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, - 0,240,248,0,224,120,1,224,124,1,192,60,1,192,62,3, - 128,31,7,0,15,254,0,3,240,0,20,32,96,24,2,0, - 3,192,64,7,224,96,15,240,192,15,249,128,28,127,0,16, - 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 0,7,255,0,14,15,128,28,7,192,56,3,192,56,3,224, - 112,1,224,112,1,240,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,248,0,224,120,1,224,124,1, - 192,60,1,192,62,3,128,31,7,0,15,254,0,3,240,0, - 20,32,96,24,2,0,6,1,128,15,3,192,15,3,192,14, - 3,128,14,3,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,252,0,7,255,0,14,15,128,28,7,192, - 56,3,192,56,3,224,112,1,224,112,1,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,248,0, - 224,120,1,224,124,1,192,60,1,192,62,3,128,31,7,0, - 15,254,0,3,240,0,17,15,45,20,1,6,0,224,0,1, - 224,0,1,224,0,1,192,0,0,0,0,0,0,0,0,0, - 0,127,255,128,255,255,128,0,0,0,0,0,0,0,224,0, - 1,224,0,1,224,0,1,192,0,20,24,72,24,2,255,0, - 0,48,1,248,112,7,254,224,14,15,192,28,7,192,56,3, - 224,56,7,224,112,15,224,112,28,240,240,24,240,240,56,240, - 240,112,240,240,224,240,240,192,240,241,192,240,243,128,224,255, - 0,224,126,1,192,126,1,192,62,3,128,63,7,0,119,254, - 0,225,248,0,128,0,0,24,35,105,25,1,0,3,128,0, - 7,192,0,3,192,0,1,224,0,0,240,0,0,112,0,0, - 56,0,0,24,0,0,12,0,0,4,0,0,0,0,0,0, - 0,0,0,0,6,0,112,254,7,240,126,7,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,1,240,31,2,240,15,12,255, - 15,248,252,3,224,112,24,35,105,25,1,0,0,1,192,0, - 3,224,0,7,192,0,7,128,0,15,0,0,14,0,0,28, - 0,0,56,0,0,48,0,0,96,0,0,0,0,0,0,0, - 0,0,0,6,0,112,254,7,240,126,7,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,1,240,31,2,240,15,12,255,15, - 248,252,3,224,112,24,34,102,25,1,0,0,56,0,0,124, - 0,0,126,0,0,231,0,1,195,0,3,129,128,3,0,192, - 6,0,96,12,0,32,0,0,0,0,0,0,0,0,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,24,32,96,25,1,0,3,0,192,7,129,224,7,129,224, - 7,129,224,7,1,192,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,6,0,112,254,7,240,126,7,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,1,240,31,2,240,15,12, - 255,15,248,252,3,224,112,24,46,138,24,255,245,0,0,240, - 0,0,248,0,1,224,0,3,224,0,3,192,0,7,128,0, - 7,0,0,14,0,0,12,0,0,24,0,0,0,0,0,0, - 0,0,0,0,127,224,255,31,0,62,15,0,28,15,0,24, - 7,128,56,7,128,56,3,128,48,3,192,112,3,192,96,1, - 224,224,1,224,224,0,224,192,0,241,192,0,241,192,0,121, - 128,0,123,128,0,59,0,0,63,0,0,63,0,0,30,0, - 0,30,0,0,12,0,0,12,0,0,28,0,0,24,0,0, - 56,0,0,112,0,0,112,0,0,224,0,63,192,0,127,128, - 0,255,0,0,124,0,0,21,47,141,25,2,245,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,15,0,28,63,192,28,99,224, - 28,193,224,29,129,240,31,0,240,31,0,248,30,0,248,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,120,30,0, - 120,30,0,112,30,0,112,30,0,224,30,0,224,31,129,192, - 31,195,128,31,255,0,30,124,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,63,0,0,255,224,0,24,43,129,24,255,245, - 0,192,48,1,192,112,1,224,120,3,192,240,1,128,96,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,224, - 255,31,0,62,15,0,28,15,0,24,7,128,56,7,128,56, - 3,128,48,3,192,112,3,192,96,1,224,224,1,224,224,0, - 224,192,0,241,192,0,241,192,0,121,128,0,123,128,0,59, - 0,0,63,0,0,63,0,0,30,0,0,30,0,0,12,0, - 0,12,0,0,28,0,0,24,0,0,56,0,0,112,0,0, - 112,0,0,224,0,63,192,0,127,128,0,255,0,0,124,0, - 0}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 29 - Calculated Max Values w=20 h=46 x= 3 y=17 dx=23 dy= 0 ascent=38 len=138 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =29 descent= 0 - X Font ascent =29 descent= 0 - Max Font ascent =38 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30n[1281] U8G_FONT_SECTION("u8g_font_gdr30n") = { - 0,71,68,232,239,29,0,0,0,0,42,58,0,38,248,29, - 0,18,20,60,21,2,17,0,192,0,1,192,0,1,192,0, - 1,192,0,193,193,0,240,195,192,248,207,192,124,223,0,15, - 252,0,3,224,0,3,224,0,15,252,0,60,223,0,248,207, - 128,240,195,128,64,193,128,1,192,0,1,192,0,1,192,0, - 1,128,0,17,17,51,20,1,5,0,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,128,0,7,13,13,11, - 2,249,8,60,254,254,30,30,30,28,28,56,48,96,64,14, - 2,4,16,1,11,127,252,255,248,6,6,6,11,3,255,56, - 124,252,252,248,112,20,46,138,23,1,248,0,0,48,0,0, - 240,0,0,240,0,0,224,0,1,224,0,1,192,0,1,192, - 0,3,192,0,3,128,0,7,128,0,7,128,0,7,0,0, - 15,0,0,15,0,0,14,0,0,30,0,0,28,0,0,28, - 0,0,60,0,0,56,0,0,120,0,0,120,0,0,112,0, - 0,240,0,0,224,0,0,224,0,1,224,0,1,192,0,3, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,14,0,0,30,0,0,30,0,0,28,0,0, - 60,0,0,60,0,0,56,0,0,120,0,0,112,0,0,240, - 0,0,192,0,0,19,29,87,23,2,0,1,248,0,7,252, - 0,14,30,0,28,15,0,24,7,128,56,7,128,56,3,192, - 112,3,192,112,3,192,112,3,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,192,120,1,192,120,3,192,120,3,128, - 60,3,128,60,3,0,30,7,0,15,14,0,7,252,0,3, - 240,0,17,29,87,23,3,0,0,96,0,1,224,0,15,224, - 0,127,224,0,255,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,3,240,0,63,254,0,127,255,128,17, - 29,87,22,2,0,1,248,0,7,254,0,28,31,0,56,15, - 0,120,15,128,112,7,128,240,7,128,224,7,128,0,7,128, - 0,7,128,0,15,0,0,15,0,0,30,0,0,30,0,0, - 60,0,0,120,0,0,240,0,0,240,0,1,224,0,3,192, - 0,7,128,0,15,0,0,15,0,0,30,0,128,60,0,128, - 120,0,128,240,1,128,255,255,128,255,255,128,18,29,87,22, - 1,0,1,248,0,7,254,0,30,31,0,60,15,0,56,7, - 128,120,7,128,112,7,128,0,7,128,0,7,0,0,15,0, - 0,30,0,0,60,0,0,248,0,3,254,0,0,63,0,0, - 15,128,0,7,128,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,7,128,128,7,128,224,15,0, - 120,62,0,63,252,0,7,224,0,19,29,87,23,1,0,0, - 3,0,0,15,0,0,31,0,0,63,0,0,127,0,0,127, - 0,0,239,0,0,207,0,1,207,0,3,143,0,3,143,0, - 7,15,0,14,15,0,14,15,0,28,15,0,24,15,0,56, - 15,0,112,15,0,112,15,0,255,255,224,255,255,192,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,63,128,1,255,224,18,29,87,23,2,0,0,0,128,0, - 1,128,31,255,0,31,254,0,24,0,0,24,0,0,24,0, - 0,24,0,0,56,0,0,56,0,0,56,0,0,63,240,0, - 63,252,0,120,63,0,32,15,0,0,7,128,0,7,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 128,0,7,128,128,7,128,224,15,0,120,62,0,63,252,0, - 7,240,0,18,29,87,23,3,0,0,7,0,0,63,0,0, - 248,0,1,224,0,3,192,0,15,0,0,14,0,0,30,0, - 0,60,0,0,56,0,0,120,0,0,120,248,0,119,254,0, - 254,31,0,248,15,128,240,7,128,240,7,192,240,3,192,240, - 3,192,240,3,192,240,3,192,248,3,192,120,3,128,120,3, - 128,60,7,128,60,7,0,31,14,0,15,252,0,3,240,0, - 19,27,81,23,2,0,127,255,192,127,255,224,96,1,192,64, - 3,192,192,3,128,0,3,128,0,7,0,0,7,0,0,14, - 0,0,14,0,0,28,0,0,28,0,0,56,0,0,56,0, - 0,56,0,0,112,0,0,112,0,0,224,0,0,224,0,1, - 192,0,1,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,15,0,0,28,0,0,18,29,87,22,2,0,3,248,0, - 15,254,0,28,31,0,56,15,0,48,7,128,112,7,128,112, - 7,128,112,7,128,112,7,0,120,15,0,62,30,0,31,188, - 0,15,240,0,3,252,0,7,254,0,30,63,0,60,15,128, - 120,7,192,112,7,192,240,3,192,240,3,192,240,3,192,240, - 3,192,240,3,128,120,7,128,124,7,0,62,14,0,31,252, - 0,7,224,0,19,30,90,23,2,255,1,248,0,7,254,0, - 14,31,0,28,15,128,56,7,128,120,3,192,112,3,192,240, - 3,224,240,1,224,240,1,224,240,1,224,240,1,224,248,1, - 224,120,3,224,124,7,224,62,13,224,31,249,224,7,225,192, - 0,3,192,0,3,192,0,7,128,0,7,128,0,15,0,0, - 30,0,0,60,0,0,120,0,0,240,0,3,224,0,31,128, - 0,56,0,0,6,23,23,11,3,255,56,124,252,252,248,112, - 0,0,0,0,0,0,0,0,0,0,0,56,124,252,252,248, - 112}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 30, '1' Height: 29 - Calculated Max Values w=40 h=49 x= 4 y=25 dx=41 dy= 0 ascent=39 len=195 - Font Bounding box w=71 h=68 x=-24 y=-17 - Calculated Min Values x=-5 y=-11 dx= 0 dy= 0 - Pure Font ascent =30 descent=-11 - X Font ascent =38 descent=-11 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr30r[8588] U8G_FONT_SECTION("u8g_font_gdr30r") = { - 0,71,68,232,239,30,9,231,23,124,32,127,245,39,245,38, - 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, - 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, - 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, - 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, - 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, - 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, - 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, - 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, - 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, - 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, - 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, - 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, - 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, - 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, - 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, - 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, - 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, - 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, - 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, - 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, - 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, - 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, - 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, - 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, - 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, - 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, - 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, - 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, - 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, - 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, - 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, - 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, - 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, - 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, - 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, - 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, - 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, - 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, - 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, - 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, - 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, - 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, - 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, - 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, - 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, - 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, - 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, - 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, - 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, - 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, - 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, - 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, - 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, - 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, - 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, - 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, - 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, - 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, - 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, - 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, - 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, - 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, - 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, - 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, - 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, - 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, - 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, - 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, - 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, - 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, - 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, - 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, - 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, - 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, - 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, - 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, - 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, - 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, - 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, - 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, - 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, - 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, - 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, - 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, - 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, - 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, - 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, - 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, - 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, - 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, - 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, - 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, - 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, - 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, - 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, - 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, - 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, - 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, - 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, - 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, - 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, - 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, - 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, - 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, - 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, - 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, - 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, - 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, - 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, - 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, - 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, - 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, - 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, - 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, - 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, - 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, - 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, - 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, - 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, - 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, - 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, - 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, - 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, - 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, - 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, - 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, - 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, - 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, - 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, - 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, - 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, - 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, - 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, - 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, - 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, - 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, - 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, - 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, - 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, - 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, - 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, - 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, - 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, - 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, - 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, - 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, - 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, - 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, - 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, - 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, - 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, - 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, - 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, - 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, - 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, - 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, - 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, - 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, - 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, - 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, - 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, - 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, - 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, - 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, - 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, - 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, - 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, - 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, - 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, - 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, - 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, - 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, - 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, - 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, - 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, - 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, - 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, - 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, - 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, - 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, - 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, - 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, - 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, - 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, - 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, - 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, - 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, - 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, - 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, - 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, - 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, - 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, - 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, - 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, - 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, - 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, - 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, - 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, - 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, - 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, - 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, - 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, - 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, - 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, - 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, - 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, - 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, - 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, - 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, - 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, - 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, - 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, - 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, - 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, - 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, - 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, - 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, - 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, - 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, - 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, - 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, - 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, - 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, - 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, - 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, - 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, - 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, - 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, - 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, - 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, - 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, - 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, - 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, - 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, - 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, - 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, - 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, - 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, - 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, - 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, - 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, - 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, - 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, - 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, - 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, - 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, - 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, - 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, - 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, - 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, - 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, - 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, - 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, - 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, - 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, - 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, - 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, - 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, - 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, - 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, - 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, - 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, - 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, - 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, - 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, - 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, - 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, - 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, - 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, - 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, - 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, - 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, - 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, - 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, - 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, - 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, - 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, - 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, - 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, - 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, - 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, - 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, - 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, - 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, - 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, - 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, - 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, - 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, - 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, - 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, - 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, - 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, - 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, - 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, - 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, - 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, - 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, - 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, - 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, - 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, - 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, - 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, - 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, - 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, - 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, - 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, - 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, - 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, - 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, - 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, - 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, - 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, - 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, - 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, - 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, - 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, - 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, - 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, - 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, - 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, - 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, - 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, - 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, - 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, - 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, - 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, - 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, - 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, - 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, - 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, - 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, - 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, - 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, - 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, - 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, - 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, - 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, - 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, - 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, - 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, - 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, - 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, - 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, - 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, - 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, - 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, - 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, - 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, - 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, - 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, - 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, - 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, - 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, - 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, - 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, - 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, - 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, - 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, - 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, - 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, - 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, - 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, - 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, - 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, - 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, - 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, - 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, - 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, - 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, - 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, - 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, - 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, - 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, - 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, - 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, - 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, - 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, - 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, - 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, - 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, - 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, - 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, - 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, - 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, - 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, - 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, - 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, - 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, - 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, - 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, - 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, - 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, - 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, - 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, - 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, - 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, - 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, - 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, - 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, - 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, - 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, - 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, - 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, - 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, - 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, - 255,224,96,127,192,64,31,128,192,15,0,255}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=12 h=15 x= 2 y= 8 dx=13 dy= 0 ascent=13 len=26 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9[3248] U8G_FONT_SECTION("u8g_font_gdr9") = { - 0,23,21,248,251,9,1,255,4,54,32,255,252,13,252,12, - 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, - 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, - 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, - 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, - 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, - 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, - 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, - 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, - 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, - 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, - 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, - 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, - 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, - 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, - 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, - 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, - 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, - 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, - 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, - 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, - 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, - 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, - 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, - 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, - 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, - 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, - 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, - 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, - 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, - 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, - 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, - 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, - 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, - 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, - 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, - 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, - 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, - 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, - 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, - 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, - 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, - 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, - 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, - 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, - 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, - 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, - 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, - 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, - 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, - 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, - 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, - 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, - 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, - 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, - 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, - 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, - 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, - 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, - 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, - 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, - 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, - 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, - 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, - 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, - 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, - 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, - 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, - 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, - 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, - 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, - 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, - 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, - 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, - 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, - 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, - 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, - 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, - 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, - 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, - 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, - 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, - 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, - 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, - 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, - 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, - 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, - 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, - 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, - 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, - 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, - 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, - 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, - 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, - 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,3,0,0,2,11,11,4,1,252,128,128,0, - 128,128,128,192,192,192,192,192,5,9,9,7,1,0,32,56, - 232,160,160,160,232,112,32,6,9,9,7,1,0,56,68,72, - 64,240,64,64,68,252,3,5,5,7,2,2,160,224,160,160, - 224,7,9,9,7,0,0,206,100,40,56,16,124,16,16,56, - 1,15,15,3,1,253,128,128,128,128,128,128,128,0,128,128, - 128,128,128,128,128,6,11,11,8,1,0,112,144,128,224,184, - 132,68,56,136,136,112,4,2,2,6,1,8,144,144,9,9, - 18,11,1,0,62,0,93,0,166,128,160,128,160,128,160,128, - 182,128,93,0,62,0,4,5,5,4,0,4,96,160,224,224, - 240,5,7,7,7,1,0,104,72,144,176,144,72,104,6,4, - 4,7,1,1,252,4,4,4,5,1,1,5,0,3,248,5, - 6,6,5,0,5,112,136,184,168,168,112,5,1,1,7,1, - 8,248,3,4,4,5,1,5,96,160,160,192,6,7,7,6, - 0,1,16,16,124,16,16,0,252,4,6,6,5,0,4,48, - 208,32,32,80,240,4,6,6,5,0,4,48,80,32,16,144, - 96,3,3,3,5,2,8,96,128,128,8,11,11,8,0,252, - 198,66,66,66,66,70,123,64,64,64,96,8,11,11,9,0, - 254,127,138,138,202,122,10,10,10,10,10,31,1,2,2,2, - 1,4,128,128,2,3,3,3,1,253,128,64,192,3,5,5, - 5,1,5,192,64,64,64,224,3,5,5,4,0,4,96,160, - 160,192,224,6,7,7,7,1,0,160,80,72,44,72,80,160, - 8,9,9,9,1,0,194,68,68,72,178,22,42,79,199,7, - 9,9,9,1,0,194,68,72,72,182,26,36,74,206,9,9, - 18,9,0,0,49,0,82,0,52,0,20,0,233,0,11,0, - 21,0,39,128,99,128,5,11,11,7,1,252,32,32,32,32, - 32,64,128,128,136,136,112,9,12,24,9,0,0,48,0,12, - 0,0,0,8,0,8,0,20,0,20,0,36,0,62,0,34, - 0,67,0,227,128,9,12,24,9,0,0,6,0,24,0,0, - 0,8,0,8,0,20,0,20,0,36,0,62,0,34,0,67, - 0,227,128,9,12,24,9,0,0,28,0,34,0,0,0,8, - 0,8,0,20,0,20,0,36,0,62,0,34,0,67,0,227, - 128,9,12,24,9,0,0,58,0,60,0,0,0,8,0,8, - 0,20,0,20,0,36,0,62,0,34,0,67,0,227,128,9, - 11,22,9,0,0,36,0,36,0,8,0,8,0,20,0,20, - 0,36,0,62,0,34,0,67,0,227,128,9,13,26,9,0, - 0,12,0,20,0,20,0,8,0,8,0,8,0,20,0,20, - 0,36,0,62,0,34,0,67,0,227,128,11,9,18,12,0, - 0,31,224,10,32,18,0,31,192,18,0,34,0,34,0,34, - 32,231,224,6,12,12,8,1,253,60,68,128,128,128,128,128, - 68,120,32,16,48,6,12,12,7,1,0,224,16,0,252,68, - 64,120,64,64,64,68,252,6,12,12,7,1,0,24,96,0, - 252,68,64,120,64,64,64,68,252,6,12,12,7,1,0,112, - 136,0,252,68,64,120,64,64,64,68,252,6,11,11,7,1, - 0,144,144,124,68,64,120,64,64,64,68,252,4,12,12,4, - 0,0,192,32,0,112,32,32,32,32,32,32,32,112,4,12, - 12,4,1,0,112,128,0,224,64,64,64,64,64,64,64,224, - 4,12,12,4,0,0,96,144,0,112,32,32,32,32,32,32, - 32,112,4,11,11,4,0,0,144,144,96,32,32,32,32,32, - 32,32,112,8,9,9,9,0,0,252,66,65,65,241,65,65, - 66,252,10,12,24,10,0,0,26,0,60,0,0,0,193,192, - 96,128,80,128,88,128,76,128,70,128,67,128,65,128,224,128, - 7,12,12,9,1,0,96,24,0,56,68,130,130,130,130,130, - 68,56,7,12,12,9,1,0,12,48,0,56,68,130,130,130, - 130,130,68,56,7,12,12,9,1,0,56,68,0,56,68,130, - 130,130,130,130,68,56,7,12,12,9,1,0,52,120,0,56, - 68,130,130,130,130,130,68,56,7,11,11,9,1,0,72,72, - 56,68,130,130,130,130,130,68,56,4,4,4,6,1,2,144, - 96,96,144,7,9,9,9,1,0,58,68,138,138,146,162,194, - 68,184,9,12,24,10,0,0,56,0,4,0,0,0,227,128, - 65,0,65,0,65,0,65,0,65,0,65,0,98,0,60,0, - 9,12,24,10,0,0,6,0,24,0,0,0,227,128,65,0, - 65,0,65,0,65,0,65,0,65,0,98,0,60,0,9,12, - 24,10,0,0,28,0,34,0,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,11,22,10, - 0,0,34,0,36,0,195,128,65,0,65,0,65,0,65,0, - 65,0,65,0,98,0,60,0,9,12,24,9,0,0,6,0, - 24,0,0,0,227,128,98,0,50,0,20,0,28,0,8,0, - 8,0,8,0,28,0,7,9,9,8,0,0,224,124,70,66, - 66,66,100,92,224,8,11,11,8,0,0,28,34,66,66,68, - 72,76,67,65,73,206,6,11,11,7,1,0,192,96,32,0, - 56,72,136,56,200,136,252,6,11,11,7,1,0,24,16,32, - 0,56,72,136,56,200,136,252,6,11,11,7,1,0,32,80, - 136,0,56,72,136,56,200,136,252,6,10,10,7,1,0,104, - 176,0,56,72,136,56,200,136,252,6,10,10,7,1,0,144, - 144,0,56,72,136,56,200,136,252,6,11,11,7,1,0,48, - 80,80,48,56,72,136,56,200,136,252,9,7,14,10,1,0, - 63,0,76,128,136,128,63,128,200,0,136,128,247,0,5,10, - 10,7,1,253,120,136,128,128,128,200,112,32,16,48,5,11, - 11,7,1,0,64,32,32,16,112,72,136,248,128,200,112,5, - 11,11,7,1,0,24,16,32,0,112,72,136,248,128,200,112, - 5,11,11,7,1,0,32,80,136,0,112,72,136,248,128,200, - 112,5,10,10,7,1,0,144,152,0,112,72,136,248,128,200, - 112,4,11,11,4,0,0,128,64,32,0,96,32,32,32,32, - 32,112,3,11,11,4,1,0,32,64,128,0,192,64,64,64, - 64,64,224,4,11,11,4,0,0,96,80,144,0,96,32,32, - 32,32,32,112,4,10,10,4,0,0,144,144,0,96,32,32, - 32,32,32,112,5,11,11,7,1,0,200,48,80,16,120,136, - 136,136,136,144,112,8,10,10,8,0,0,18,108,0,78,242, - 66,66,66,66,231,6,11,11,8,1,0,64,32,16,0,56, - 204,132,132,132,200,112,6,11,11,8,1,0,8,16,32,0, - 56,204,132,132,132,200,112,6,11,11,8,1,0,48,80,136, - 0,56,204,132,132,132,200,112,6,10,10,8,1,0,104,152, - 0,56,204,132,132,132,200,112,6,10,10,8,1,0,136,136, - 0,56,204,132,132,132,200,112,6,4,4,6,0,2,16,124, - 128,16,6,7,7,8,1,0,60,204,148,164,164,200,240,8, - 11,11,8,0,0,32,16,8,0,198,66,66,66,66,70,59, - 8,11,11,8,0,0,4,8,16,0,198,66,66,66,66,70, - 59,8,11,11,8,0,0,24,24,36,0,198,66,66,66,66, - 70,59,8,10,10,8,0,0,36,68,0,198,66,66,66,66, - 70,59,7,15,15,7,0,252,4,8,16,0,230,68,36,36, - 40,24,16,16,16,32,192,7,15,15,8,0,252,192,64,64, - 64,76,114,66,66,66,68,120,64,64,64,224,7,14,14,7, - 0,252,68,68,0,230,68,36,36,40,24,16,16,16,32,192 - }; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 7 h=14 x= 1 y= 5 dx= 7 dy= 0 ascent=12 len=14 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9n[248] U8G_FONT_SECTION("u8g_font_gdr9n") = { - 0,23,21,248,251,9,0,0,0,0,42,58,0,12,254,9, - 0,5,6,6,7,1,5,32,168,112,112,168,32,5,5,5, - 6,1,2,32,32,248,32,32,2,4,4,3,1,254,64,192, - 64,128,5,1,1,5,0,3,248,1,2,2,3,1,0,128, - 128,7,14,14,7,0,254,6,4,4,8,8,8,16,16,32, - 32,32,64,64,192,5,9,9,7,1,0,112,144,136,136,136, - 136,136,80,112,5,9,9,7,1,0,32,224,32,32,32,32, - 32,32,248,5,9,9,7,1,0,56,72,136,8,16,32,64, - 136,248,6,9,9,7,0,0,48,72,136,16,120,4,4,132, - 120,6,9,9,7,0,0,8,24,40,40,72,72,252,8,60, - 5,9,9,7,1,0,120,128,128,240,136,8,8,136,112,5, - 9,9,7,1,0,24,96,64,176,200,136,136,136,112,5,9, - 9,7,1,0,248,136,8,16,16,32,32,96,64,5,9,9, - 7,1,0,112,200,136,208,112,136,136,136,112,5,9,9,7, - 1,0,112,152,136,136,136,120,16,16,224,1,7,7,3,1, - 0,128,128,0,0,0,128,128}; -/* - Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 - Copyright: Copyright (c) SIL International, 2003-2008. - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=12 h=15 x= 1 y= 8 dx=13 dy= 0 ascent=12 len=26 - Font Bounding box w=23 h=21 x=-8 y=-5 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_gdr9r[1553] U8G_FONT_SECTION("u8g_font_gdr9r") = { - 0,23,21,248,251,9,1,255,4,54,32,127,252,12,252,12, - 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, - 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, - 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, - 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, - 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, - 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, - 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, - 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, - 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, - 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, - 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, - 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, - 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, - 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, - 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, - 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, - 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, - 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, - 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, - 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, - 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, - 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, - 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, - 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, - 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, - 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, - 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, - 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, - 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, - 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, - 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, - 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, - 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, - 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, - 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, - 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, - 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, - 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, - 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, - 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, - 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, - 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, - 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, - 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, - 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, - 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, - 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, - 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, - 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, - 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, - 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, - 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, - 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, - 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, - 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, - 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, - 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, - 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, - 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, - 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, - 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, - 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, - 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, - 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, - 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, - 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, - 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, - 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, - 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, - 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, - 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, - 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, - 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, - 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, - 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, - 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, - 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, - 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, - 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, - 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, - 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, - 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, - 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, - 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, - 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, - 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, - 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, - 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, - 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, - 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, - 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, - 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, - 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, - 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, - 255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_FONT_SECTION("u8g_font_helvB08") = { - 0,12,19,255,251,8,1,182,3,122,32,255,254,11,254,8, - 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, - 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, - 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, - 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, - 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, - 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, - 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, - 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, - 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, - 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, - 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, - 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, - 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, - 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, - 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, - 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, - 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, - 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, - 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, - 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, - 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, - 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, - 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, - 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, - 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, - 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, - 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, - 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, - 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, - 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, - 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, - 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, - 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, - 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, - 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, - 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, - 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, - 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, - 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, - 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, - 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, - 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, - 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, - 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, - 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, - 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, - 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, - 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, - 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, - 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, - 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, - 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, - 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, - 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, - 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, - 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, - 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, - 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, - 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, - 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, - 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, - 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, - 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, - 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, - 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, - 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, - 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, - 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, - 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, - 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, - 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, - 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, - 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, - 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, - 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, - 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, - 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, - 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, - 2,6,0,3,104,176,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,3,0,1,2,8,8, - 4,1,254,192,0,64,64,192,192,192,192,5,8,8,6,0, - 255,16,112,216,160,160,216,112,64,5,8,8,6,0,0,56, - 104,96,240,96,96,104,216,6,6,6,6,0,1,132,120,72, - 72,120,132,6,8,8,7,0,0,132,132,204,72,252,48,252, - 48,1,10,10,3,1,254,128,128,128,128,0,0,128,128,128, - 128,5,10,10,6,0,254,112,200,224,112,152,200,112,56,152, - 112,3,1,1,3,0,7,160,8,8,8,10,1,0,60,66, - 153,165,161,157,66,60,3,5,5,5,1,3,224,32,160,0, - 224,6,3,3,7,0,1,108,216,108,5,3,3,7,1,2, - 248,8,8,4,1,1,5,0,3,240,8,8,8,10,1,0, - 60,66,189,165,185,165,66,60,3,1,1,3,0,7,224,3, - 3,3,4,0,5,96,160,192,6,7,7,6,0,0,48,48, - 252,48,48,0,252,3,4,4,3,0,4,96,160,64,224,3, - 4,4,3,0,4,224,64,32,192,2,2,2,3,0,7,64, - 128,5,8,8,6,0,254,216,216,216,216,216,232,192,192,6, - 10,10,6,0,254,124,232,232,232,104,40,40,40,40,40,2, - 1,1,3,0,3,192,2,2,2,3,0,254,64,192,2,4, - 4,3,0,4,64,192,64,64,3,5,5,5,1,3,224,160, - 224,0,224,6,3,3,7,0,1,216,108,216,8,8,8,9, - 0,0,68,196,72,72,18,38,47,66,7,8,8,9,0,0, - 68,196,72,72,22,42,36,78,8,8,8,9,0,0,228,68, - 40,200,18,38,47,66,5,8,8,6,0,254,48,0,48,48, - 96,192,216,112,7,11,11,8,0,0,32,16,0,56,56,108, - 108,108,254,198,198,7,11,11,8,0,0,8,16,0,56,56, - 108,108,108,254,198,198,7,11,11,8,0,0,16,40,0,56, - 56,108,108,108,254,198,198,7,11,11,8,0,0,20,40,0, - 56,56,108,108,108,254,198,198,7,10,10,8,0,0,40,0, - 56,56,108,108,108,254,198,198,7,11,11,8,0,0,16,40, - 16,56,56,108,108,108,254,198,198,9,8,16,10,0,0,63, - 128,60,0,108,0,111,128,108,0,252,0,204,0,207,128,7, - 10,10,8,0,254,60,102,194,192,192,194,102,60,16,48,5, - 11,11,6,0,0,64,32,0,248,192,192,248,192,192,192,248, - 5,11,11,6,0,0,16,32,0,248,192,192,248,192,192,192, - 248,5,11,11,6,0,0,32,80,0,248,192,192,248,192,192, - 192,248,5,10,10,6,0,0,80,0,248,192,192,248,192,192, - 192,248,2,11,11,3,0,0,128,64,0,192,192,192,192,192, - 192,192,192,2,11,11,3,0,0,64,128,0,192,192,192,192, - 192,192,192,192,3,11,11,3,255,0,64,160,0,96,96,96, - 96,96,96,96,96,4,10,10,3,255,0,144,0,96,96,96, - 96,96,96,96,96,7,8,8,7,255,0,120,108,102,246,102, - 102,108,120,7,11,11,8,0,0,20,40,0,198,230,230,214, - 214,206,206,198,7,11,11,8,0,0,16,8,0,56,108,198, - 198,198,198,108,56,7,11,11,8,0,0,8,16,0,56,108, - 198,198,198,198,108,56,7,11,11,8,0,0,16,40,0,56, - 108,198,198,198,198,108,56,7,11,11,8,0,0,20,40,0, - 56,108,198,198,198,198,108,56,7,10,10,8,0,0,40,0, - 56,108,198,198,198,198,108,56,6,5,5,6,0,1,204,120, - 48,120,204,7,8,8,8,0,0,58,108,206,214,214,230,108, - 184,6,11,11,7,0,0,32,16,0,204,204,204,204,204,204, - 204,120,6,11,11,7,0,0,8,16,0,204,204,204,204,204, - 204,204,120,6,11,11,7,0,0,32,80,0,204,204,204,204, - 204,204,204,120,6,10,10,7,0,0,72,0,204,204,204,204, - 204,204,204,120,8,11,11,9,0,0,4,8,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,192,248,204,204,204, - 248,192,192,5,8,8,6,0,0,112,200,200,208,200,200,200, - 208,6,9,9,6,0,0,32,16,0,112,152,120,216,216,108, - 6,9,9,6,0,0,16,32,0,112,152,120,216,216,108,6, - 9,9,6,0,0,32,80,0,112,152,120,216,216,108,6,9, - 9,6,0,0,40,80,0,112,152,120,216,216,108,6,8,8, - 6,0,0,80,0,112,152,120,216,216,108,6,9,9,6,0, - 0,32,80,32,112,152,120,216,216,108,8,6,6,9,0,0, - 126,155,127,216,219,110,4,8,8,5,0,254,112,208,192,192, - 208,112,32,96,5,9,9,6,0,0,64,32,0,112,216,248, - 192,216,112,5,9,9,6,0,0,16,32,0,112,216,248,192, - 216,112,5,9,9,6,0,0,32,80,0,112,216,248,192,216, - 112,5,8,8,6,0,0,80,0,112,216,248,192,216,112,2, - 9,9,3,0,0,128,64,0,192,192,192,192,192,192,2,9, - 9,3,0,0,64,128,0,192,192,192,192,192,192,3,9,9, - 3,0,0,64,160,0,192,192,192,192,192,192,3,8,8,3, - 0,0,160,0,192,192,192,192,192,192,5,9,9,6,0,0, - 80,96,160,112,216,216,216,216,112,5,9,9,6,0,0,80, - 160,0,176,216,216,216,216,216,5,9,9,6,0,0,64,32, - 0,112,216,216,216,216,112,5,9,9,6,0,0,16,32,0, - 112,216,216,216,216,112,5,9,9,6,0,0,32,80,0,112, - 216,216,216,216,112,5,9,9,6,0,0,80,160,0,112,216, - 216,216,216,112,5,8,8,6,0,0,80,0,112,216,216,216, - 216,112,6,5,5,6,0,1,48,0,252,0,48,7,6,6, - 6,255,0,58,108,124,108,108,184,5,9,9,6,0,0,64, - 32,0,216,216,216,216,216,104,5,9,9,6,0,0,16,32, - 0,216,216,216,216,216,104,5,9,9,6,0,0,32,80,0, - 216,216,216,216,216,104,5,8,8,6,0,0,80,0,216,216, - 216,216,216,104,5,11,11,6,0,254,16,32,0,216,216,216, - 216,120,48,48,96,5,10,10,6,0,254,192,192,240,216,200, - 200,216,240,192,192,5,10,10,6,0,254,80,0,216,216,216, - 216,120,48,48,96}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 8 - Calculated Max Values w= 6 h= 8 x= 1 y= 5 dx= 6 dy= 0 ascent= 8 len= 8 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08n[228] U8G_FONT_SECTION("u8g_font_helvB08n") = { - 0,12,19,255,251,8,0,0,0,0,42,58,0,8,254,8, - 0,3,3,3,4,0,5,160,64,160,6,5,5,6,0,1, - 48,48,252,48,48,2,4,4,3,0,254,192,192,64,128,4, - 1,1,5,0,3,240,2,2,2,3,0,0,192,192,4,8, - 8,4,0,0,16,16,32,32,64,64,128,128,5,8,8,6, - 0,0,112,216,216,216,216,216,216,112,3,8,8,6,1,0, - 96,224,96,96,96,96,96,96,5,8,8,6,0,0,112,216, - 24,24,48,96,192,248,5,8,8,6,0,0,112,216,24,48, - 24,24,216,112,6,8,8,6,0,0,8,24,56,88,152,252, - 24,24,5,8,8,6,0,0,248,192,192,240,24,152,216,112, - 5,8,8,6,0,0,112,216,192,240,216,216,216,112,5,8, - 8,6,0,0,248,24,24,48,48,96,96,96,5,8,8,6, - 0,0,112,216,216,112,216,216,216,112,5,8,8,6,0,0, - 112,216,216,216,120,24,216,112,2,6,6,3,0,0,192,192, - 0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 - Font Bounding box w=12 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB08r[1287] U8G_FONT_SECTION("u8g_font_helvB08r") = { - 0,12,19,255,251,8,1,182,3,122,32,127,254,9,254,8, - 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, - 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, - 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, - 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, - 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, - 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, - 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, - 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, - 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, - 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, - 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, - 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, - 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, - 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, - 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, - 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, - 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, - 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, - 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, - 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, - 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, - 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, - 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, - 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, - 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, - 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, - 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, - 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, - 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, - 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, - 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, - 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, - 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, - 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, - 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, - 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, - 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, - 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, - 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, - 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, - 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, - 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, - 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, - 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, - 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, - 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, - 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, - 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, - 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, - 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, - 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, - 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, - 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, - 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, - 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, - 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, - 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, - 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, - 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, - 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, - 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, - 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, - 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, - 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, - 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, - 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, - 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, - 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, - 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, - 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, - 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, - 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, - 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, - 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, - 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, - 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, - 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, - 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, - 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, - 2,6,0,3,104,176,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 2 y= 9 dx=15 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_FONT_SECTION("u8g_font_helvB10") = { - 0,17,23,255,250,11,2,27,4,205,32,255,253,14,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, - 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, - 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, - 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, - 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, - 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, - 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, - 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, - 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, - 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, - 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, - 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, - 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, - 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, - 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, - 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, - 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, - 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, - 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, - 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, - 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, - 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, - 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, - 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, - 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, - 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, - 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, - 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, - 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, - 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, - 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, - 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, - 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, - 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, - 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, - 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, - 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, - 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, - 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, - 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, - 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, - 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, - 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, - 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, - 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, - 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, - 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, - 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, - 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, - 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, - 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, - 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, - 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, - 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, - 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, - 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, - 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, - 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, - 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, - 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, - 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, - 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, - 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, - 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, - 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, - 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, - 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, - 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, - 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, - 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, - 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, - 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, - 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, - 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, - 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, - 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, - 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, - 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, - 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, - 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, - 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, - 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, - 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, - 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, - 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, - 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, - 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, - 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, - 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, - 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, - 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, - 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, - 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, - 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, - 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, - 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, - 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, - 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, - 3,9,1,3,114,222,140,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,4,0,1,2,11, - 11,4,1,253,192,192,0,64,64,192,192,192,192,192,192,7, - 10,10,8,0,255,4,60,110,200,208,208,230,102,124,64,8, - 11,11,8,0,0,60,102,102,96,252,48,48,48,96,251,222, - 7,7,7,8,0,2,130,124,108,108,108,124,130,8,11,11, - 9,0,0,195,195,195,102,102,60,126,24,126,24,24,1,14, - 14,4,2,253,128,128,128,128,128,128,0,0,128,128,128,128, - 128,128,6,14,14,8,1,253,120,204,204,224,120,220,204,204, - 236,120,28,204,204,120,5,2,2,5,0,9,216,216,10,11, - 22,12,1,0,30,0,97,128,76,128,210,192,144,64,144,64, - 144,64,146,64,76,128,97,128,30,0,5,7,7,6,0,4, - 112,144,112,208,248,0,248,7,5,5,9,1,2,54,108,216, - 108,54,7,4,4,9,1,2,254,254,2,2,3,1,1,4, - 0,4,224,10,11,22,12,1,0,30,0,97,128,92,128,146, - 64,146,64,156,64,146,64,146,64,82,128,97,128,30,0,5, - 1,1,5,0,9,248,4,4,4,6,1,7,96,144,144,96, - 8,9,9,9,0,0,24,24,24,255,24,24,24,0,255,4, - 6,6,5,0,5,96,176,48,96,192,240,4,6,6,5,0, - 5,96,176,96,48,176,96,3,2,2,5,1,9,96,192,7, - 11,11,9,1,253,198,198,198,198,198,198,238,246,192,192,192, - 8,14,14,8,0,253,63,122,250,250,250,122,58,10,10,10, - 10,10,10,10,2,2,2,4,1,3,192,192,5,3,3,5, - 0,253,24,216,112,3,6,6,4,0,5,96,224,96,96,96, - 96,5,7,7,6,0,4,112,216,216,216,112,0,248,7,5, - 5,9,1,2,216,108,54,108,216,12,11,22,12,0,0,97, - 128,225,128,99,0,99,0,102,0,102,32,6,96,12,224,13, - 96,25,240,24,96,11,11,22,12,0,0,97,128,225,128,99, - 0,99,0,102,0,102,192,7,96,12,96,12,192,25,128,25, - 224,12,11,22,12,0,0,97,128,177,128,99,0,51,0,182, - 0,102,32,6,96,12,224,13,96,25,240,24,96,7,11,11, - 9,1,253,24,24,0,24,24,48,96,192,198,198,124,10,14, - 28,10,0,0,24,0,12,0,0,0,12,0,12,0,30,0, - 18,0,51,0,51,0,97,128,127,128,97,128,192,192,192,192, - 10,14,28,10,0,0,6,0,12,0,0,0,12,0,12,0, - 30,0,18,0,51,0,51,0,97,128,127,128,97,128,192,192, - 192,192,10,14,28,10,0,0,14,0,27,0,0,0,12,0, - 12,0,30,0,18,0,51,0,51,0,97,128,127,128,97,128, - 192,192,192,192,10,14,28,10,0,0,13,0,22,0,0,0, - 12,0,12,0,30,0,18,0,51,0,51,0,97,128,127,128, - 97,128,192,192,192,192,10,14,28,10,0,0,51,0,51,0, - 0,0,12,0,12,0,30,0,18,0,51,0,51,0,97,128, - 127,128,97,128,192,192,192,192,10,14,28,10,0,0,12,0, - 18,0,12,0,12,0,12,0,30,0,18,0,51,0,51,0, - 97,128,127,128,97,128,192,192,192,192,14,11,22,15,0,0, - 15,252,15,0,27,0,19,0,51,0,51,248,99,0,127,0, - 99,0,195,0,195,252,9,14,28,11,1,253,31,0,123,128, - 96,128,192,0,192,0,192,0,192,0,192,0,96,128,123,128, - 31,0,6,0,54,0,28,0,7,14,14,9,1,0,48,24, - 0,254,192,192,192,192,254,192,192,192,192,254,7,14,14,9, - 1,0,12,24,0,254,192,192,192,192,254,192,192,192,192,254, - 7,14,14,9,1,0,28,54,0,254,192,192,192,192,254,192, - 192,192,192,254,7,14,14,9,1,0,108,108,0,254,192,192, - 192,192,254,192,192,192,192,254,3,14,14,4,0,0,192,96, - 0,96,96,96,96,96,96,96,96,96,96,96,3,14,14,4, - 1,0,96,192,0,192,192,192,192,192,192,192,192,192,192,192, - 5,14,14,4,0,0,112,216,0,96,96,96,96,96,96,96, - 96,96,96,96,5,14,14,4,0,0,216,216,0,96,96,96, - 96,96,96,96,96,96,96,96,10,11,22,11,0,0,126,0, - 99,128,97,128,96,192,96,192,248,192,96,192,96,192,97,128, - 99,128,126,0,9,14,28,11,1,0,26,0,44,0,0,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,14,28,12,1,0,24,0,12,0, - 0,0,30,0,115,128,97,128,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,14,28,12,1,0,6,0, - 12,0,0,0,30,0,115,128,97,128,192,192,192,192,192,192, - 192,192,192,192,97,128,115,128,30,0,10,14,28,12,1,0, - 14,0,27,0,0,0,30,0,115,128,97,128,192,192,192,192, - 192,192,192,192,192,192,97,128,115,128,30,0,10,14,28,12, - 1,0,13,0,22,0,0,0,30,0,115,128,97,128,192,192, - 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,14, - 28,12,1,0,51,0,51,0,0,0,30,0,115,128,97,128, - 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, - 8,7,7,9,0,1,195,102,60,24,60,102,195,12,11,22, - 12,0,0,15,48,57,224,48,192,97,224,99,96,102,96,108, - 96,120,96,48,192,121,192,207,0,9,14,28,11,1,0,24, - 0,12,0,0,0,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,0,62,0,9,14,28,11,1, - 0,6,0,12,0,0,0,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,99,0,62,0,9,14,28, - 11,1,0,28,0,54,0,0,0,193,128,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,193,128,99,0,62,0,9, - 14,28,11,1,0,99,0,99,0,0,0,193,128,193,128,193, - 128,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,10,14,28,10,0,0,6,0,12,0,0,0,192,192,97, - 128,97,128,51,0,51,0,30,0,30,0,12,0,12,0,12, - 0,12,0,8,11,11,10,1,0,192,192,254,199,195,195,199, - 254,192,192,192,6,11,11,8,1,0,120,204,204,204,216,216, - 204,204,204,204,216,7,11,11,8,1,0,48,24,0,120,204, - 12,124,204,204,220,118,7,11,11,8,1,0,24,48,0,120, - 204,12,124,204,204,220,118,7,11,11,8,1,0,56,108,0, - 120,204,12,124,204,204,220,118,7,11,11,8,1,0,52,88, - 0,120,204,12,124,204,204,220,118,7,11,11,8,1,0,108, - 108,0,120,204,12,124,204,204,220,118,7,11,11,8,1,0, - 48,72,48,120,204,12,124,204,204,220,118,11,8,16,13,1, - 0,123,192,206,96,12,96,127,224,204,0,204,0,222,96,119, - 192,7,11,11,9,1,253,60,102,198,192,192,198,102,60,24, - 88,112,6,11,11,8,1,0,96,48,0,120,204,204,252,192, - 192,236,120,6,11,11,8,1,0,24,48,0,120,204,204,252, - 192,192,236,120,6,11,11,8,1,0,56,108,0,120,204,204, - 252,192,192,236,120,6,11,11,8,1,0,108,108,0,120,204, - 204,252,192,192,236,120,3,11,11,4,0,0,192,96,0,96, - 96,96,96,96,96,96,96,3,11,11,4,1,0,96,192,0, - 192,192,192,192,192,192,192,192,5,11,11,4,0,0,112,216, - 0,96,96,96,96,96,96,96,96,5,11,11,4,0,0,216, - 216,0,96,96,96,96,96,96,96,96,7,11,11,9,1,0, - 108,56,72,60,108,198,198,198,198,108,56,7,11,11,9,1, - 0,52,88,0,220,238,198,198,198,198,198,198,7,11,11,9, - 1,0,48,24,0,56,108,198,198,198,198,108,56,7,11,11, - 9,1,0,24,48,0,56,108,198,198,198,198,108,56,7,11, - 11,9,1,0,56,108,0,56,108,198,198,198,198,108,56,7, - 11,11,9,1,0,52,88,0,56,108,198,198,198,198,108,56, - 7,11,11,9,1,0,108,108,0,56,108,198,198,198,198,108, - 56,8,7,7,9,0,1,24,24,0,255,0,24,24,7,8, - 8,9,1,0,58,108,206,214,214,230,108,184,7,11,11,9, - 1,0,48,24,0,198,198,198,198,198,198,238,118,7,11,11, - 9,1,0,12,24,0,198,198,198,198,198,198,238,118,7,11, - 11,9,1,0,56,108,0,198,198,198,198,198,198,238,118,7, - 11,11,9,1,0,108,108,0,198,198,198,198,198,198,238,118, - 8,14,14,8,0,253,12,24,0,195,195,102,102,36,60,24, - 24,24,48,112,7,14,14,9,1,253,192,192,192,216,236,198, - 198,198,198,236,216,192,192,192,8,14,14,8,0,253,54,54, - 0,195,195,102,102,36,60,24,24,24,48,112}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 8 h=11 x= 2 y= 7 dx= 9 dy= 0 ascent=11 len=11 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10n[265] U8G_FONT_SECTION("u8g_font_helvB10n") = { - 0,17,23,255,250,11,0,0,0,0,42,58,0,11,255,11, - 0,5,4,4,6,0,7,32,248,112,216,8,7,7,9,0, - 1,24,24,24,255,24,24,24,3,3,3,4,0,255,96,96, - 192,3,1,1,4,0,4,224,2,2,2,4,1,0,192,192, - 4,11,11,4,0,0,16,16,48,32,32,96,64,64,192,128, - 128,7,11,11,8,0,0,56,108,198,198,198,198,198,198,198, - 108,56,4,11,11,8,1,0,48,240,48,48,48,48,48,48, - 48,48,48,7,11,11,8,0,0,124,198,198,6,14,12,24, - 48,96,192,254,7,11,11,8,0,0,124,198,198,6,6,60, - 6,6,198,198,124,8,11,11,8,0,0,6,14,30,54,102, - 198,198,255,6,6,6,7,11,11,8,0,0,126,96,96,192, - 252,14,6,6,198,204,120,7,11,11,8,0,0,60,102,102, - 192,220,230,198,198,198,198,124,7,11,11,8,0,0,254,6, - 12,12,24,24,48,48,96,96,96,7,11,11,8,0,0,124, - 198,198,198,198,124,198,198,198,198,124,7,11,11,8,0,0, - 124,198,198,198,198,198,126,6,198,204,120,2,8,8,5,2, - 0,192,192,0,0,0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=12 len=24 - Font Bounding box w=17 h=23 x=-1 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB10r[1720] U8G_FONT_SECTION("u8g_font_helvB10r") = { - 0,17,23,255,250,11,2,27,4,205,32,127,253,12,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, - 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, - 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, - 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, - 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, - 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, - 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, - 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, - 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, - 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, - 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, - 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, - 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, - 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, - 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, - 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, - 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, - 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, - 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, - 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, - 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, - 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, - 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, - 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, - 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, - 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, - 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, - 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, - 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, - 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, - 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, - 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, - 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, - 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, - 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, - 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, - 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, - 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, - 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, - 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, - 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, - 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, - 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, - 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, - 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, - 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, - 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, - 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, - 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, - 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, - 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, - 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, - 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, - 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, - 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, - 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, - 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, - 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, - 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, - 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, - 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, - 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, - 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, - 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, - 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, - 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, - 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, - 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, - 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, - 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, - 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, - 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, - 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, - 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, - 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, - 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, - 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, - 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, - 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, - 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, - 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, - 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, - 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, - 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, - 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, - 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, - 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, - 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, - 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, - 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, - 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, - 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, - 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, - 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, - 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, - 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, - 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, - 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, - 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, - 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, - 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, - 3,9,1,3,114,222,140,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=17 x= 2 y=10 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_FONT_SECTION("u8g_font_helvB12") = { - 0,20,27,254,249,12,2,74,5,106,32,255,252,16,252,12, - 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, - 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, - 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, - 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, - 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, - 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, - 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, - 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, - 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, - 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, - 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, - 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, - 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, - 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, - 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, - 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, - 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, - 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, - 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, - 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, - 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, - 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, - 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, - 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, - 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, - 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, - 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, - 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, - 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, - 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, - 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, - 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, - 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, - 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, - 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, - 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, - 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, - 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, - 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, - 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, - 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, - 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, - 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, - 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, - 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, - 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, - 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, - 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, - 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, - 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, - 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, - 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, - 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, - 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, - 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, - 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, - 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, - 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, - 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, - 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, - 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, - 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, - 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, - 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, - 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, - 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, - 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, - 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, - 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, - 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, - 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, - 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, - 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, - 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, - 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, - 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, - 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, - 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, - 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, - 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, - 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, - 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, - 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, - 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, - 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, - 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, - 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, - 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, - 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, - 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, - 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, - 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, - 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, - 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, - 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, - 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, - 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, - 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, - 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, - 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, - 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, - 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, - 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, - 8,3,3,10,1,3,113,153,142,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,5,0,1, - 2,12,12,6,1,253,192,192,0,64,64,64,192,192,192,192, - 192,192,8,11,11,9,0,255,4,60,126,239,200,216,208,247, - 126,60,32,8,12,12,9,0,0,28,62,99,99,96,48,124, - 48,48,32,127,255,7,7,7,9,1,2,186,124,198,198,198, - 124,186,8,12,12,9,0,0,195,195,102,102,60,24,126,24, - 126,24,24,24,1,16,16,5,2,252,128,128,128,128,128,128, - 128,0,0,128,128,128,128,128,128,128,8,15,15,9,0,253, - 60,126,102,96,120,126,199,195,243,126,30,6,102,126,60,5, - 2,2,6,0,10,216,216,12,12,24,12,0,0,15,0,57, - 192,96,96,79,32,217,176,144,16,144,16,217,176,79,32,96, - 32,57,192,15,0,5,7,7,6,1,5,96,144,112,144,120, - 0,248,8,6,6,9,0,2,51,102,204,204,102,51,8,5, - 5,10,0,2,255,255,3,3,3,4,2,2,5,0,3,240, - 240,12,12,24,12,0,0,15,0,57,192,96,96,95,32,217, - 176,153,144,158,16,219,48,91,32,96,96,57,192,15,0,5, - 1,1,6,0,10,248,4,5,5,7,1,7,96,144,144,144, - 96,8,11,11,10,1,0,24,24,24,255,255,24,24,24,0, - 255,255,5,7,7,6,0,5,112,216,216,48,96,248,248,5, - 7,7,6,0,5,112,216,24,48,24,216,112,3,3,3,6, - 1,10,32,96,128,8,12,12,10,1,253,195,195,195,195,195, - 195,199,255,251,192,192,192,8,15,15,9,0,253,127,242,242, - 242,242,242,114,18,18,18,18,18,18,18,18,2,2,2,5, - 1,4,192,192,5,4,4,6,0,252,32,48,152,112,4,7, - 7,6,1,5,48,240,240,48,48,48,48,5,7,7,6,0, - 5,112,216,136,216,112,0,248,8,6,6,9,1,2,204,102, - 51,51,102,204,13,12,24,14,1,0,48,192,240,128,241,128, - 49,0,51,48,50,112,54,240,4,176,13,176,9,248,24,48, - 16,48,12,12,24,14,0,0,48,128,241,128,241,0,51,0, - 50,0,54,224,53,176,13,176,8,96,24,192,17,240,49,240, - 13,12,24,14,0,0,112,64,216,192,24,128,49,128,25,48, - 219,112,114,240,6,176,5,176,13,248,8,48,24,48,7,12, - 12,10,1,253,48,48,0,48,48,96,224,192,198,198,254,124, - 11,16,32,12,0,0,16,0,24,0,4,0,0,0,14,0, - 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, - 255,224,192,96,192,96,11,16,32,12,0,0,2,0,6,0, - 8,0,0,0,14,0,14,0,31,0,27,0,59,128,49,128, - 113,192,96,192,127,192,255,224,192,96,192,96,11,16,32,12, - 0,0,4,0,14,0,17,0,0,0,14,0,14,0,31,0, - 27,0,59,128,49,128,113,192,96,192,127,192,255,224,192,96, - 192,96,11,15,30,12,0,0,14,128,23,0,0,0,14,0, - 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, - 255,224,192,96,192,96,11,15,30,12,0,0,49,128,49,128, - 0,0,14,0,14,0,31,0,27,0,59,128,49,128,113,192, - 96,192,127,192,255,224,192,96,192,96,11,16,32,12,0,0, - 12,0,18,0,18,0,12,0,14,0,14,0,31,0,27,0, - 59,128,49,128,113,192,96,192,127,192,255,224,192,96,192,96, - 14,12,24,15,0,0,31,252,31,252,27,0,51,0,51,0, - 51,248,99,248,127,0,127,0,195,0,195,252,195,252,10,16, - 32,12,1,252,31,0,63,128,113,192,96,192,224,0,192,0, - 192,0,224,0,96,192,113,192,63,128,31,0,4,0,6,0, - 19,0,14,0,8,16,16,10,1,0,32,48,8,0,255,255, - 192,192,192,254,254,192,192,192,255,255,8,16,16,10,1,0, - 4,12,16,0,255,255,192,192,192,254,254,192,192,192,255,255, - 8,16,16,10,1,0,8,28,34,0,255,255,192,192,192,254, - 254,192,192,192,255,255,8,15,15,10,1,0,102,102,0,255, - 255,192,192,192,254,254,192,192,192,255,255,3,16,16,4,0, - 0,128,192,32,0,96,96,96,96,96,96,96,96,96,96,96, - 96,3,16,16,4,1,0,32,96,128,0,192,192,192,192,192, - 192,192,192,192,192,192,192,5,16,16,4,0,0,32,112,136, - 0,96,96,96,96,96,96,96,96,96,96,96,96,6,15,15, - 4,255,0,204,204,0,48,48,48,48,48,48,48,48,48,48, - 48,48,12,12,24,12,0,0,63,0,63,192,48,224,48,96, - 48,112,252,48,252,48,48,112,48,96,48,224,63,192,63,0, - 10,15,30,12,1,0,29,0,46,0,0,0,224,192,240,192, - 240,192,216,192,216,192,204,192,204,192,198,192,198,192,195,192, - 195,192,193,192,11,16,32,13,1,0,8,0,12,0,2,0, - 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, - 224,224,96,192,113,192,63,128,31,0,11,16,32,13,1,0, - 1,0,3,0,4,0,0,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 11,16,32,13,1,0,4,0,14,0,17,0,0,0,31,0, - 63,128,113,192,96,192,224,224,192,96,192,96,224,224,96,192, - 113,192,63,128,31,0,11,15,30,13,1,0,14,128,23,0, - 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, - 224,224,96,192,113,192,63,128,31,0,11,15,30,13,1,0, - 25,128,25,128,0,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,224,224,96,192,113,192,63,128,31,0,9,9, - 18,10,0,0,65,0,227,128,119,0,62,0,28,0,62,0, - 119,0,227,128,65,0,11,12,24,13,1,0,31,32,63,192, - 112,192,97,192,227,96,198,96,204,96,216,224,112,192,97,192, - 127,128,159,0,10,16,32,12,1,0,16,0,24,0,4,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,16,32,12,1,0, - 2,0,6,0,8,0,0,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, - 10,16,32,12,1,0,4,0,14,0,17,0,0,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,15,30,12,1,0,51,0,51,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,16,32,11,0,0, - 2,0,6,0,8,0,0,0,192,192,225,192,97,128,51,0, - 51,0,30,0,30,0,12,0,12,0,12,0,12,0,12,0, - 9,12,24,11,1,0,192,0,254,0,255,0,195,128,193,128, - 193,128,195,128,255,0,254,0,192,0,192,0,192,0,8,12, - 12,10,1,0,124,254,198,198,220,222,195,195,195,195,222,220, - 8,13,13,9,1,0,32,48,8,0,124,254,198,14,126,230, - 198,254,119,8,13,13,9,1,0,4,12,16,0,124,254,198, - 14,126,230,198,254,119,8,13,13,9,1,0,16,56,68,0, - 124,254,198,14,126,230,198,254,119,8,12,12,9,1,0,58, - 92,0,124,254,198,14,126,230,198,254,119,8,12,12,9,1, - 0,108,108,0,124,254,198,14,126,230,198,254,119,8,13,13, - 9,1,0,24,36,36,24,124,254,198,14,126,230,198,254,119, - 13,9,18,15,1,0,125,224,255,240,198,24,15,248,127,248, - 230,0,207,56,255,240,121,224,8,13,13,9,1,252,60,126, - 231,192,192,192,231,126,60,16,24,76,56,8,13,13,10,1, - 0,32,48,8,0,60,126,195,255,255,192,231,126,60,8,13, - 13,10,1,0,4,12,16,0,60,126,195,255,255,192,231,126, - 60,8,13,13,10,1,0,8,28,34,0,60,126,195,255,255, - 192,231,126,60,8,12,12,10,1,0,54,54,0,60,126,195, - 255,255,192,231,126,60,3,13,13,4,0,0,128,192,32,0, - 96,96,96,96,96,96,96,96,96,3,13,13,4,1,0,32, - 96,128,0,192,192,192,192,192,192,192,192,192,5,13,13,4, - 0,0,32,112,136,0,96,96,96,96,96,96,96,96,96,5, - 12,12,4,0,0,216,216,0,96,96,96,96,96,96,96,96, - 96,8,12,12,10,1,0,96,124,248,28,126,231,195,195,195, - 231,126,60,8,12,12,10,1,0,58,92,0,222,255,227,195, - 195,195,195,195,195,8,13,13,10,1,0,32,48,8,0,60, - 126,231,195,195,195,231,126,60,8,13,13,10,1,0,8,24, - 32,0,60,126,231,195,195,195,231,126,60,8,13,13,10,1, - 0,16,56,68,0,60,126,231,195,195,195,231,126,60,8,12, - 12,10,1,0,58,92,0,60,126,231,195,195,195,231,126,60, - 8,12,12,10,1,0,108,108,0,60,126,231,195,195,195,231, - 126,60,8,8,8,10,1,0,24,24,0,255,255,0,24,24, - 8,9,9,10,1,0,61,127,231,207,219,243,231,254,188,8, - 13,13,10,1,0,32,48,8,0,195,195,195,195,195,195,199, - 255,123,8,13,13,10,1,0,8,24,32,0,195,195,195,195, - 195,195,199,255,123,8,13,13,10,1,0,16,56,68,0,195, - 195,195,195,195,195,199,255,123,8,12,12,10,1,0,108,108, - 0,195,195,195,195,195,195,199,255,123,8,17,17,9,0,252, - 4,12,16,0,195,195,99,102,54,54,60,28,24,24,24,112, - 96,8,16,16,10,1,252,192,192,192,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,16,16,9,0,252,54,54,0, - 195,195,99,102,54,54,60,28,24,24,24,112,96}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 8 h=12 x= 2 y= 7 dx=10 dy= 0 ascent=12 len=12 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12n[281] U8G_FONT_SECTION("u8g_font_helvB12n") = { - 0,20,27,254,249,12,0,0,0,0,42,58,0,12,253,12, - 0,5,5,5,6,0,7,32,168,112,112,136,8,8,8,10, - 1,0,24,24,24,255,255,24,24,24,2,5,5,4,1,253, - 192,192,64,64,128,4,2,2,5,0,3,240,240,2,2,2, - 4,1,0,192,192,4,12,12,5,0,0,16,16,48,32,32, - 96,64,64,192,128,128,128,8,12,12,9,0,0,60,126,231, - 195,195,195,195,195,195,231,126,60,5,12,12,9,1,0,8, - 24,248,248,24,24,24,24,24,24,24,24,8,12,12,9,0, - 0,60,126,231,195,195,7,14,28,56,112,255,255,8,12,12, - 9,0,0,60,126,231,195,7,30,30,7,195,231,126,60,8, - 12,12,9,0,0,14,30,54,54,102,102,198,255,255,6,6, - 6,8,12,12,9,0,0,63,63,48,48,124,126,71,3,3, - 231,126,60,8,12,12,9,0,0,60,126,231,192,220,254,231, - 195,195,231,126,60,8,12,12,9,0,0,255,255,6,6,12, - 12,24,24,24,48,48,48,8,12,12,9,0,0,60,126,231, - 195,102,60,126,231,195,231,126,60,8,12,12,9,0,0,60, - 126,231,195,195,231,127,59,3,231,126,60,2,8,8,5,2, - 0,192,192,0,0,0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=16 x= 2 y=10 dx=16 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=27 x=-2 y=-7 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB12r[1914] U8G_FONT_SECTION("u8g_font_helvB12r") = { - 0,20,27,254,249,12,2,74,5,106,32,127,252,13,252,12, - 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, - 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, - 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, - 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, - 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, - 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, - 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, - 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, - 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, - 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, - 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, - 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, - 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, - 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, - 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, - 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, - 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, - 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, - 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, - 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, - 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, - 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, - 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, - 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, - 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, - 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, - 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, - 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, - 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, - 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, - 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, - 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, - 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, - 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, - 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, - 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, - 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, - 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, - 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, - 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, - 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, - 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, - 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, - 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, - 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, - 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, - 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, - 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, - 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, - 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, - 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, - 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, - 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, - 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, - 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, - 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, - 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, - 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, - 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, - 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, - 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, - 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, - 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, - 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, - 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, - 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, - 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, - 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, - 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, - 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, - 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, - 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, - 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, - 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, - 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, - 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, - 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, - 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, - 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, - 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, - 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, - 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, - 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, - 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, - 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, - 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, - 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, - 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, - 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, - 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, - 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, - 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, - 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, - 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, - 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, - 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, - 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, - 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, - 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, - 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, - 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, - 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, - 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, - 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, - 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, - 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, - 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, - 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, - 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, - 8,3,3,10,1,3,113,153,142,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=19 x= 2 y=12 dx=18 dy= 0 ascent=18 len=38 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_FONT_SECTION("u8g_font_helvB14") = { - 0,22,29,254,249,14,3,23,6,234,32,255,252,18,251,14, - 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, - 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, - 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, - 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, - 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, - 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, - 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, - 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, - 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, - 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, - 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, - 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, - 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, - 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, - 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, - 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, - 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, - 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, - 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, - 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, - 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, - 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, - 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, - 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, - 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, - 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, - 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, - 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, - 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, - 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, - 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, - 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, - 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, - 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, - 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, - 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, - 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, - 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, - 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, - 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, - 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, - 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, - 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, - 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, - 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, - 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, - 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, - 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, - 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, - 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, - 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, - 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, - 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, - 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, - 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, - 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, - 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, - 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, - 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, - 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, - 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, - 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, - 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, - 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, - 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, - 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, - 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, - 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, - 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, - 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, - 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, - 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, - 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, - 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, - 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, - 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, - 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, - 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, - 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, - 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, - 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, - 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, - 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, - 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, - 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, - 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, - 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, - 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, - 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, - 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, - 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, - 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, - 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, - 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, - 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, - 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, - 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, - 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, - 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, - 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, - 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, - 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, - 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, - 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, - 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, - 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, - 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, - 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, - 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, - 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, - 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, - 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, - 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, - 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, - 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, - 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, - 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, - 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, - 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, - 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, - 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, - 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, - 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, - 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, - 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, - 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, - 128,207,0,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,5,0,1,3,14,14,6,2,252, - 224,224,224,0,96,96,224,224,224,224,224,224,224,224,8,14, - 14,10,1,254,2,2,62,127,231,200,200,208,208,227,127,126, - 64,64,10,13,26,11,0,0,31,0,63,192,113,192,112,0, - 112,0,56,0,127,0,28,0,28,0,56,0,112,192,255,192, - 239,128,9,8,16,11,1,2,193,128,255,128,119,0,99,0, - 99,0,119,0,255,128,193,128,9,13,26,10,0,0,227,128, - 227,128,227,128,119,0,119,0,62,0,255,128,28,0,255,128, - 28,0,28,0,28,0,28,0,2,18,18,5,1,252,192,192, - 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,192, - 9,18,36,10,0,252,62,0,127,0,227,128,227,128,240,0, - 124,0,254,0,199,0,195,128,225,128,113,128,63,128,15,0, - 7,128,227,128,227,128,127,0,62,0,5,2,2,7,1,12, - 216,216,14,14,28,15,1,0,15,192,56,112,96,24,199,140, - 207,204,152,196,152,4,152,4,152,68,207,204,199,140,96,24, - 56,112,15,192,6,9,9,8,1,5,120,140,124,204,204,116, - 0,252,252,10,8,16,11,0,1,29,192,59,128,119,0,238, - 0,238,0,119,0,59,128,29,192,9,5,10,11,1,3,255, - 128,255,128,1,128,1,128,1,128,5,3,3,6,0,4,248, - 248,248,13,14,28,15,1,0,15,128,48,96,96,16,95,144, - 153,200,152,200,153,200,159,8,153,136,153,136,88,208,96,48, - 56,224,15,128,5,2,2,7,1,12,248,248,6,6,6,7, - 0,7,120,252,204,204,252,120,9,9,18,11,1,0,28,0, - 28,0,255,128,255,128,28,0,28,0,0,0,255,128,255,128, - 6,8,8,6,0,5,120,252,204,28,120,224,252,252,6,8, - 8,6,0,5,120,252,204,56,60,204,252,120,5,3,3,5, - 0,11,56,112,224,9,14,28,11,1,252,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,251,128,224, - 0,224,0,224,0,224,0,9,18,36,10,0,252,63,128,123, - 0,251,0,251,0,251,0,251,0,251,0,123,0,59,0,27, - 0,27,0,27,0,27,0,27,0,27,0,27,0,27,0,27, - 0,2,2,2,5,1,6,192,192,5,5,5,7,1,251,96, - 112,24,248,240,4,8,8,6,0,5,48,240,240,48,48,48, - 48,48,6,9,9,8,1,5,120,204,204,204,204,120,0,252, - 252,10,8,16,11,0,1,238,0,119,0,59,128,29,192,29, - 192,59,128,119,0,238,0,14,13,26,15,0,0,48,96,240, - 96,240,192,48,192,49,128,49,152,51,56,54,56,6,120,12, - 216,12,252,24,24,24,24,15,13,26,15,0,0,48,96,240, - 96,240,192,48,192,49,128,49,188,51,126,54,102,6,14,12, - 60,12,112,24,126,24,126,14,13,26,15,0,0,120,48,252, - 48,204,96,56,96,60,192,204,216,253,184,123,56,3,120,6, - 216,6,252,12,24,12,24,8,14,14,10,1,252,28,28,28, - 0,28,28,28,56,120,112,231,231,255,126,12,18,36,14,1, - 0,56,0,28,0,6,0,0,0,15,0,15,0,31,128,25, - 128,25,128,57,192,57,192,48,192,112,224,127,224,127,224,224, - 112,224,112,224,112,12,18,36,14,1,0,1,192,3,128,6, - 0,0,0,15,0,15,0,31,128,25,128,25,128,57,192,57, - 192,48,192,112,224,127,224,127,224,224,112,224,112,224,112,12, - 18,36,14,1,0,7,0,15,128,29,192,0,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,12,18,36,14,1,0,14, - 32,31,192,35,128,0,0,15,0,15,0,31,128,25,128,25, - 128,57,192,57,192,48,192,112,224,127,224,127,224,224,112,224, - 112,224,112,12,18,36,14,1,0,25,128,25,128,25,128,0, - 0,15,0,15,0,31,128,25,128,25,128,57,192,57,192,48, - 192,112,224,127,224,127,224,224,112,224,112,224,112,12,18,36, - 14,1,0,15,0,25,128,25,128,15,0,15,0,15,0,31, - 128,25,128,25,128,57,192,57,192,48,192,112,224,127,224,127, - 224,224,112,224,112,224,112,16,14,28,18,1,0,15,255,15, - 255,31,128,27,128,59,128,59,128,51,254,115,254,115,128,127, - 128,255,128,227,128,227,255,227,255,12,19,38,14,1,251,15, - 128,63,224,120,224,112,112,240,112,224,0,224,0,224,0,224, - 0,240,112,112,112,120,224,63,224,15,128,12,0,14,0,3, - 0,31,0,30,0,10,18,36,13,2,0,56,0,28,0,6, - 0,0,0,255,192,255,192,224,0,224,0,224,0,224,0,255, - 128,255,128,224,0,224,0,224,0,224,0,255,192,255,192,10, - 18,36,13,2,0,3,128,7,0,12,0,0,0,255,192,255, - 192,224,0,224,0,224,0,224,0,255,128,255,128,224,0,224, - 0,224,0,224,0,255,192,255,192,10,18,36,13,2,0,14, - 0,31,0,59,128,0,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,255, - 192,255,192,10,18,36,13,2,0,51,0,51,0,51,0,0, - 0,255,192,255,192,224,0,224,0,224,0,224,0,255,128,255, - 128,224,0,224,0,224,0,224,0,255,192,255,192,5,18,18, - 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,5,18,18,5,1,0,56,112,192,0,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,7,18,18, - 5,255,0,56,124,238,0,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,6,18,18,5,0,0,204,204,204,0,112, - 112,112,112,112,112,112,112,112,112,112,112,112,112,14,14,28, - 14,255,0,63,192,63,240,56,120,56,56,56,28,56,28,255, - 28,255,28,56,28,56,28,56,56,56,120,63,240,63,192,12, - 18,36,14,1,0,14,32,31,192,35,128,0,0,224,112,240, - 112,240,112,248,112,252,112,236,112,238,112,230,112,231,112,227, - 112,225,240,225,240,224,240,224,112,13,18,36,15,1,0,28, - 0,14,0,3,0,0,0,15,128,63,224,120,240,112,112,240, - 120,224,56,224,56,224,56,224,56,240,120,112,112,120,240,63, - 224,15,128,13,18,36,15,1,0,1,192,3,128,6,0,0, - 0,15,128,63,224,120,240,112,112,240,120,224,56,224,56,224, - 56,224,56,240,120,112,112,120,240,63,224,15,128,13,18,36, - 15,1,0,7,0,15,128,29,192,0,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,13,18,36,15,1,0,7,16,15, - 224,17,192,0,0,15,128,63,224,120,240,112,112,240,120,224, - 56,224,56,224,56,224,56,240,120,112,112,120,240,63,224,15, - 128,13,18,36,15,1,0,12,192,12,192,12,192,0,0,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,240,120,112,112,120,240,63,224,15,128,10,8,16,11,0, - 1,225,192,115,128,63,0,30,0,30,0,63,0,115,128,225, - 192,15,14,28,15,0,0,7,198,31,252,60,56,56,120,120, - 220,113,156,113,28,115,28,118,28,124,60,56,56,60,120,127, - 240,199,192,12,18,36,14,1,0,28,0,14,0,3,0,0, - 0,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,112,224,127,224,31,128,12,18,36, - 14,1,0,1,192,3,128,6,0,0,0,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,112,224,127,224,31,128,12,18,36,14,1,0,7,0,15, - 128,29,192,0,0,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,127,224,31, - 128,12,18,36,14,1,0,25,128,25,128,25,128,0,0,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,112,224,127,224,31,128,13,18,36,13,0, - 0,1,192,3,128,6,0,0,0,224,56,224,56,112,112,56, - 224,56,224,29,192,29,192,15,128,7,0,7,0,7,0,7, - 0,7,0,7,0,11,14,28,13,1,0,224,0,224,0,224, - 0,255,0,255,192,225,224,224,224,224,224,225,224,255,192,255, - 0,224,0,224,0,224,0,8,14,14,10,1,0,60,126,231, - 231,231,231,238,238,231,231,231,231,239,238,10,14,28,11,1, - 0,112,0,56,0,12,0,0,0,62,0,127,0,115,128,7, - 128,63,128,123,128,227,128,231,128,251,128,123,192,10,14,28, - 11,1,0,3,128,7,0,12,0,0,0,62,0,127,0,115, - 128,7,128,63,128,123,128,227,128,231,128,251,128,123,192,10, - 14,28,11,1,0,28,0,62,0,119,0,0,0,62,0,127, - 0,115,128,7,128,63,128,123,128,227,128,231,128,251,128,123, - 192,10,14,28,11,1,0,59,0,127,0,110,0,0,0,62, - 0,127,0,115,128,7,128,63,128,123,128,227,128,231,128,251, - 128,123,192,10,14,28,11,1,0,51,0,51,0,51,0,0, - 0,62,0,127,0,115,128,7,128,63,128,123,128,227,128,231, - 128,251,128,123,192,10,14,28,11,1,0,60,0,102,0,102, - 0,60,0,62,0,127,0,115,128,7,128,63,128,123,128,227, - 128,231,128,251,128,123,192,14,10,20,16,1,0,61,240,127, - 248,103,28,15,28,63,252,119,0,231,0,239,156,255,252,121, - 240,9,15,30,10,1,251,30,0,127,128,115,128,224,0,224, - 0,224,0,224,0,115,128,127,128,30,0,24,0,28,0,6, - 0,62,0,60,0,9,14,28,11,1,0,112,0,56,0,12, - 0,0,0,30,0,127,0,115,128,225,128,255,128,255,128,224, - 0,115,128,127,128,30,0,9,14,28,11,1,0,3,128,7, - 0,12,0,0,0,30,0,127,0,115,128,225,128,255,128,255, - 128,224,0,115,128,127,128,30,0,9,14,28,11,1,0,28, - 0,62,0,119,0,0,0,30,0,127,0,115,128,225,128,255, - 128,255,128,224,0,115,128,127,128,30,0,9,14,28,11,1, - 0,51,0,51,0,51,0,0,0,30,0,127,0,115,128,225, - 128,255,128,255,128,224,0,115,128,127,128,30,0,5,14,14, - 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, - 56,5,14,14,5,1,0,56,112,192,0,224,224,224,224,224, - 224,224,224,224,224,7,14,14,5,255,0,56,124,238,0,56, - 56,56,56,56,56,56,56,56,56,5,14,14,5,0,0,216, - 216,216,0,112,112,112,112,112,112,112,112,112,112,10,14,28, - 12,1,0,96,0,55,0,60,0,102,0,31,0,127,128,115, - 128,225,192,225,192,225,192,225,192,115,128,127,128,30,0,9, - 14,28,11,1,0,59,0,127,0,110,0,0,0,239,0,255, - 128,243,128,227,128,227,128,227,128,227,128,227,128,227,128,227, - 128,10,14,28,12,1,0,112,0,56,0,12,0,0,0,30, - 0,127,128,115,128,225,192,225,192,225,192,225,192,115,128,127, - 128,30,0,10,14,28,12,1,0,3,128,7,0,12,0,0, - 0,30,0,127,128,115,128,225,192,225,192,225,192,225,192,115, - 128,127,128,30,0,10,14,28,12,1,0,28,0,62,0,119, - 0,0,0,30,0,127,128,115,128,225,192,225,192,225,192,225, - 192,115,128,127,128,30,0,10,14,28,12,1,0,59,0,127, - 0,110,0,0,0,30,0,127,128,115,128,225,192,225,192,225, - 192,225,192,115,128,127,128,30,0,10,14,28,12,1,0,51, - 0,51,0,51,0,0,0,30,0,127,128,115,128,225,192,225, - 192,225,192,225,192,115,128,127,128,30,0,9,8,16,11,1, - 1,28,0,28,0,0,0,255,128,255,128,0,0,28,0,28, - 0,12,10,20,12,0,0,15,48,63,224,57,192,115,224,119, - 224,126,224,124,224,57,192,127,192,207,0,9,14,28,11,1, - 0,112,0,56,0,12,0,0,0,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,231,128,255,128,123,128,9,14,28, - 11,1,0,3,128,7,0,12,0,0,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 14,28,11,1,0,28,0,62,0,119,0,0,0,227,128,227, - 128,227,128,227,128,227,128,227,128,227,128,231,128,255,128,123, - 128,9,14,28,11,1,0,51,0,51,0,51,0,0,0,227, - 128,227,128,227,128,227,128,227,128,227,128,227,128,231,128,255, - 128,123,128,9,18,36,11,1,252,7,0,14,0,24,0,0, - 0,227,128,227,128,227,128,119,0,119,0,119,0,62,0,62, - 0,28,0,28,0,28,0,24,0,120,0,112,0,10,18,36, - 12,1,252,224,0,224,0,224,0,224,0,239,0,255,128,243, - 128,225,192,225,192,225,192,225,192,243,128,255,128,239,0,224, - 0,224,0,224,0,224,0,9,18,36,11,1,252,51,0,51, - 0,51,0,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,28,0,24,0,120,0,112, - 0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 13 - Calculated Max Values w= 9 h=14 x= 1 y= 8 dx=11 dy= 0 ascent=14 len=26 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =13 descent= 0 - X Font ascent =13 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14n[416] U8G_FONT_SECTION("u8g_font_helvB14n") = { - 0,22,29,254,249,13,0,0,0,0,42,58,0,14,253,13, - 0,7,6,6,9,1,8,16,214,124,56,108,68,8,8,8, - 11,1,1,24,24,24,255,255,24,24,24,3,6,6,5,1, - 253,224,224,224,96,192,128,5,3,3,6,0,4,248,248,248, - 3,3,3,5,1,0,224,224,224,5,14,14,5,0,0,24, - 24,24,56,48,48,48,112,96,96,224,192,192,192,9,13,26, - 10,0,0,28,0,127,0,119,0,227,128,227,128,227,128,227, - 128,227,128,227,128,227,128,119,0,127,0,28,0,6,13,13, - 10,1,0,28,60,252,252,28,28,28,28,28,28,28,28,28, - 9,13,26,10,0,0,62,0,127,0,227,128,227,128,3,128, - 7,0,31,0,62,0,120,0,112,0,224,0,255,128,255,128, - 9,13,26,10,0,0,62,0,127,0,231,0,227,0,7,0, - 30,0,31,0,7,128,3,128,227,128,231,128,127,0,62,0, - 9,13,26,10,0,0,7,0,15,0,31,0,63,0,55,0, - 119,0,103,0,231,0,255,128,255,128,7,0,7,0,7,0, - 9,13,26,10,0,0,255,0,255,0,224,0,224,0,254,0, - 255,0,231,128,3,128,3,128,227,128,231,128,255,0,126,0, - 9,13,26,10,0,0,63,0,127,128,113,128,224,0,238,0, - 255,0,243,128,225,128,225,128,225,128,243,128,127,0,62,0, - 9,13,26,10,0,0,255,128,255,128,3,128,7,0,14,0, - 14,0,28,0,28,0,56,0,56,0,112,0,112,0,112,0, - 9,13,26,10,0,0,62,0,127,0,227,128,227,128,227,128, - 127,0,62,0,119,0,227,128,227,128,227,128,127,0,62,0, - 9,13,26,10,0,0,62,0,127,0,231,128,195,128,195,128, - 195,128,231,128,127,128,59,128,3,128,199,0,255,0,126,0, - 3,10,10,6,1,0,224,224,224,0,0,0,0,224,224,224 - }; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB14r[2548] U8G_FONT_SECTION("u8g_font_helvB14r") = { - 0,22,29,254,249,14,3,23,6,234,32,127,252,14,252,14, - 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, - 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, - 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, - 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, - 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, - 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, - 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, - 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, - 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, - 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, - 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, - 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, - 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, - 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, - 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, - 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, - 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, - 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, - 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, - 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, - 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, - 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, - 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, - 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, - 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, - 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, - 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, - 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, - 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, - 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, - 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, - 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, - 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, - 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, - 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, - 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, - 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, - 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, - 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, - 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, - 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, - 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, - 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, - 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, - 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, - 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, - 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, - 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, - 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, - 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, - 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, - 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, - 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, - 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, - 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, - 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, - 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, - 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, - 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, - 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, - 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, - 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, - 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, - 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, - 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, - 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, - 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, - 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, - 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, - 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, - 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, - 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, - 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, - 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, - 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, - 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, - 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, - 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, - 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, - 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, - 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, - 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, - 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, - 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, - 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, - 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, - 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, - 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, - 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, - 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, - 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, - 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, - 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, - 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, - 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, - 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, - 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, - 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, - 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, - 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, - 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, - 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, - 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, - 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, - 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, - 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, - 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, - 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, - 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, - 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, - 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, - 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, - 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, - 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, - 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, - 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, - 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, - 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, - 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, - 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, - 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, - 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, - 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, - 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, - 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, - 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, - 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, - 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, - 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, - 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, - 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, - 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, - 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, - 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, - 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, - 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, - 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, - 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, - 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, - 128,207,0,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=17 dx=24 dy= 0 ascent=24 len=72 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_FONT_SECTION("u8g_font_helvB18") = { - 0,28,37,254,248,19,4,35,9,107,32,255,251,24,251,19, - 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, - 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, - 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, - 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, - 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, - 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, - 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, - 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, - 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, - 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, - 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, - 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, - 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, - 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, - 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, - 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, - 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, - 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, - 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, - 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, - 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, - 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, - 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, - 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, - 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, - 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, - 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, - 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, - 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, - 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, - 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, - 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, - 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, - 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, - 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, - 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, - 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, - 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, - 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, - 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, - 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, - 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, - 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, - 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, - 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, - 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, - 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, - 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, - 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, - 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, - 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, - 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, - 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, - 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, - 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, - 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, - 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, - 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, - 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, - 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, - 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, - 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, - 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, - 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, - 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, - 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, - 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, - 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, - 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, - 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, - 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, - 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, - 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, - 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, - 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, - 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, - 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, - 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, - 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, - 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, - 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, - 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, - 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, - 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, - 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, - 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, - 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, - 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, - 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, - 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, - 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, - 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, - 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, - 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, - 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, - 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, - 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, - 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, - 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, - 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, - 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, - 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, - 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, - 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, - 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, - 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, - 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, - 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, - 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, - 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, - 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, - 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, - 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, - 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, - 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, - 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, - 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, - 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, - 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, - 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, - 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, - 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, - 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, - 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, - 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, - 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, - 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, - 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, - 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, - 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, - 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, - 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, - 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, - 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, - 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, - 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, - 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, - 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, - 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, - 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, - 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, - 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, - 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, - 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, - 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, - 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, - 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, - 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, - 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, - 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, - 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, - 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, - 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, - 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, - 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, - 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, - 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, - 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, - 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, - 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, - 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, - 8,14,1,5,120,224,254,224,239,224,227,192,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,1,3,19,19,7,2,251,224,224,224,0,0,96,96, - 96,224,224,224,224,224,224,224,224,224,224,224,11,18,36,14, - 1,254,1,128,1,128,31,128,63,192,123,224,115,96,227,0, - 230,0,230,0,230,0,230,0,236,0,236,224,125,224,127,192, - 63,128,24,0,24,0,13,18,36,14,1,0,31,128,63,192, - 112,224,112,224,112,0,120,0,56,0,28,0,255,192,255,192, - 28,0,28,0,28,0,56,0,56,0,127,56,255,248,241,240, - 12,12,24,14,1,3,192,48,239,112,127,224,57,192,112,224, - 112,224,112,224,112,224,57,192,127,224,239,112,192,48,13,18, - 36,14,0,0,224,56,224,56,112,112,112,112,56,224,56,224, - 29,192,29,192,127,240,127,240,7,0,127,240,127,240,7,0, - 7,0,7,0,7,0,7,0,2,24,24,7,3,251,192,192, - 192,192,192,192,192,192,192,192,0,0,0,0,192,192,192,192, - 192,192,192,192,192,192,12,24,48,14,1,251,31,128,63,192, - 121,224,112,224,120,224,60,0,30,0,127,0,247,128,227,192, - 225,224,224,224,112,112,120,112,60,112,30,224,15,192,7,128, - 3,192,113,224,112,224,121,224,63,192,31,128,7,2,2,9, - 1,16,238,238,19,19,57,19,0,0,1,240,0,15,254,0, - 30,15,0,56,3,128,112,1,192,97,240,192,227,184,224,198, - 12,96,198,0,96,198,0,96,198,0,96,198,12,96,227,184, - 224,97,240,192,112,1,192,56,3,128,30,15,0,15,254,0, - 1,240,0,8,12,12,10,1,7,124,254,198,30,126,230,198, - 255,123,0,255,255,10,8,16,13,1,3,29,192,59,128,119, - 0,238,0,238,0,119,0,59,128,29,192,12,7,14,15,1, - 4,255,240,255,240,0,48,0,48,0,48,0,48,0,48,7, - 3,3,8,0,6,254,254,254,19,19,57,19,0,0,3,248, - 0,15,254,0,28,15,0,56,3,128,115,249,192,99,28,192, - 227,12,224,195,12,96,195,24,96,195,240,96,195,48,96,195, - 24,96,227,24,96,99,12,224,112,0,192,56,1,192,30,3, - 128,15,254,0,3,248,0,7,2,2,9,1,17,254,254,8, - 7,7,9,0,11,60,102,195,195,195,102,60,11,13,26,15, - 2,0,14,0,14,0,14,0,14,0,255,224,255,224,14,0, - 14,0,14,0,14,0,0,0,255,224,255,224,6,10,10,7, - 0,8,120,252,204,12,28,120,224,192,252,252,6,10,10,7, - 0,8,120,252,204,12,56,56,12,204,252,120,6,4,4,8, - 1,15,28,56,112,224,11,19,38,15,2,251,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 225,224,243,224,254,224,236,224,224,0,224,0,224,0,224,0, - 224,0,11,24,48,13,1,251,15,224,63,224,124,192,124,192, - 252,192,252,192,252,192,252,192,252,192,124,192,124,192,60,192, - 28,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,3,3,3,7,2,6,224,224, - 224,6,6,6,8,1,251,112,120,28,28,252,120,4,10,10, - 7,1,8,48,48,240,240,48,48,48,48,48,48,8,12,12, - 10,1,7,60,126,231,195,195,195,231,126,60,0,255,255,10, - 8,16,13,1,3,238,0,119,0,59,128,29,192,29,192,59, - 128,119,0,238,0,17,18,54,19,1,0,48,24,0,48,24, - 0,240,48,0,240,48,0,48,96,0,48,96,0,48,192,0, - 48,192,0,49,134,0,49,142,0,3,30,0,3,30,0,6, - 54,0,6,102,0,12,127,128,12,127,128,24,6,0,24,6, - 0,16,18,36,19,1,0,48,24,48,24,240,48,240,48,48, - 96,48,96,48,192,48,192,49,158,49,191,3,51,3,3,6, - 7,6,30,12,56,12,48,24,63,24,63,17,18,54,19,1, - 0,120,24,0,252,24,0,204,48,0,12,48,0,56,96,0, - 56,96,0,12,192,0,204,192,0,253,134,0,121,142,0,3, - 30,0,3,30,0,6,54,0,6,102,0,12,127,128,12,127, - 128,24,6,0,24,6,0,11,19,38,15,2,251,14,0,14, - 0,14,0,0,0,0,0,14,0,14,0,14,0,14,0,28, - 0,60,0,120,0,112,0,240,224,224,224,225,224,243,192,127, - 192,63,0,16,24,48,18,1,0,14,0,7,0,3,128,1, - 192,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, - 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, - 14,112,14,224,7,224,7,224,7,16,24,48,18,1,0,0, - 112,0,224,1,192,3,128,0,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,16, - 24,48,18,1,0,1,192,3,224,7,112,14,56,0,0,3, - 192,3,192,7,224,7,224,14,96,14,112,14,112,28,56,28, - 56,28,56,56,28,56,28,63,252,127,254,112,14,112,14,224, - 7,224,7,224,7,16,23,46,18,1,0,7,152,15,248,12, - 240,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, - 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, - 14,112,14,224,7,224,7,224,7,16,23,46,18,1,0,14, - 112,14,112,0,0,0,0,3,192,3,192,7,224,7,224,14, - 96,14,112,14,112,28,56,28,56,28,56,56,28,56,28,63, - 252,127,254,112,14,112,14,224,7,224,7,224,7,16,24,48, - 18,1,0,3,192,6,96,4,32,6,96,3,192,3,192,3, - 192,7,224,7,224,14,96,14,112,14,112,28,56,28,56,28, - 56,56,28,56,28,63,252,127,254,112,14,112,14,224,7,224, - 7,224,7,22,19,57,24,1,0,3,255,248,3,255,248,7, - 112,0,7,112,0,14,112,0,14,112,0,14,112,0,28,112, - 0,28,127,240,28,127,240,56,112,0,56,112,0,63,240,0, - 127,240,0,112,112,0,112,112,0,224,112,0,224,127,252,224, - 127,252,16,24,48,18,1,251,7,240,31,252,62,62,120,15, - 112,7,240,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,240,7,112,7,120,15,62,62,31,252,7,240,3,192, - 0,224,0,224,7,224,3,192,13,24,48,16,2,0,56,0, - 28,0,14,0,7,0,0,0,255,240,255,240,224,0,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,248,255,248,13,24, - 48,16,2,0,1,192,3,128,7,0,14,0,0,0,255,240, - 255,240,224,0,224,0,224,0,224,0,224,0,224,0,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,248,255,248,13,24,48,16,2,0,7,0,15,128,29,192, - 56,224,0,0,255,240,255,240,224,0,224,0,224,0,224,0, - 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,255,248,255,248,13,23,46,16,2,0, - 56,224,56,224,0,0,0,0,255,240,255,240,224,0,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,255,248,255,248,6,24, - 24,7,0,0,224,112,56,28,0,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,6,24,24,7, - 1,0,28,56,112,224,0,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,112,112,112,9,24,48,7,255,0, - 28,0,62,0,119,0,227,128,0,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 7,23,23,7,0,0,238,238,0,0,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,19,19,57, - 19,255,0,31,252,0,31,255,0,28,15,128,28,3,192,28, - 1,192,28,1,224,28,0,224,28,0,224,255,192,224,255,192, - 224,28,0,224,28,0,224,28,0,224,28,1,224,28,1,192, - 28,3,192,28,15,128,31,255,0,31,252,0,15,23,46,19, - 2,0,15,48,31,240,25,224,0,0,224,14,240,14,240,14, - 248,14,248,14,252,14,238,14,238,14,231,14,227,142,227,142, - 225,206,224,206,224,238,224,126,224,62,224,62,224,30,224,14, - 17,24,72,19,1,0,14,0,0,7,0,0,3,128,0,1, - 192,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, - 0,112,7,0,240,7,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,112, - 7,0,120,15,0,62,62,0,31,252,0,7,240,0,17,24, - 72,19,1,0,0,56,0,0,112,0,0,224,0,1,192,0, - 0,0,0,7,240,0,31,252,0,62,62,0,120,15,0,112, - 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,224,3,128,240,7,128,112,7,0, - 120,15,0,62,62,0,31,252,0,7,240,0,17,24,72,19, - 1,0,1,192,0,3,224,0,7,112,0,14,56,0,0,0, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,7,128,224,3,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,240,7,128,112,7,0,120,15, - 0,62,62,0,31,252,0,7,240,0,17,23,69,19,1,0, - 7,152,0,15,248,0,12,240,0,0,0,0,7,240,0,31, - 252,0,62,62,0,120,15,0,112,7,0,240,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,240,7,128,112,7,0,120,15,0,62,62,0,31, - 252,0,7,240,0,17,23,69,19,1,0,14,56,0,14,56, - 0,0,0,0,0,0,0,7,240,0,31,252,0,62,62,0, - 120,15,0,112,7,0,240,7,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,240,7, - 128,112,7,0,120,15,0,62,62,0,31,252,0,7,240,0, - 12,12,24,15,1,1,64,32,224,112,112,224,57,192,31,128, - 15,0,15,0,31,128,57,192,112,224,224,112,64,32,19,19, - 57,19,0,0,3,248,96,15,254,224,31,31,192,60,3,128, - 56,7,128,120,15,192,112,29,192,112,57,192,112,113,192,112, - 225,192,113,193,192,115,129,192,119,1,192,126,3,192,60,3, - 128,60,7,128,127,31,0,239,254,0,195,248,0,15,24,48, - 19,2,0,14,0,7,0,3,128,1,192,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, - 248,15,224,15,24,48,19,2,0,0,112,0,224,1,192,3, - 128,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,112,28,124,124,63,248,15,224,15,24,48,19,2,0,3, - 128,7,192,14,224,28,112,0,0,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,240,30,112,28,124,124,63,248,15,224,15, - 23,46,19,2,0,28,112,28,112,0,0,0,0,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, - 248,15,224,15,24,48,17,1,0,0,112,0,224,1,192,3, - 128,0,0,224,14,240,30,112,28,120,60,56,56,60,120,28, - 112,30,240,14,224,15,224,7,192,7,192,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,14,19,38,17,2,0,224, - 0,224,0,224,0,224,0,255,224,255,248,224,56,224,28,224, - 28,224,28,224,28,224,56,255,248,255,240,224,0,224,0,224, - 0,224,0,224,0,11,19,38,14,2,0,30,0,127,128,243, - 128,225,192,225,192,225,192,225,192,227,128,239,0,239,128,227, - 192,225,192,224,224,224,224,224,224,224,224,225,192,239,192,239, - 128,12,19,38,14,1,0,28,0,14,0,7,0,3,128,0, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 14,1,0,1,192,3,128,7,0,14,0,0,0,31,128,63, - 192,113,224,112,224,0,224,7,224,63,224,124,224,240,224,224, - 224,225,224,243,224,127,240,62,112,12,19,38,14,1,0,7, - 0,15,128,29,192,56,224,0,0,31,128,63,192,113,224,112, - 224,0,224,7,224,63,224,124,224,240,224,224,224,225,224,243, - 224,127,240,62,112,12,19,38,14,1,0,60,192,127,192,103, - 128,0,0,0,0,31,128,63,192,113,224,112,224,0,224,7, - 224,63,224,124,224,240,224,224,224,225,224,243,224,127,240,62, - 112,12,18,36,14,1,0,57,192,57,192,0,0,0,0,31, - 128,63,192,113,224,112,224,0,224,7,224,63,224,124,224,240, - 224,224,224,225,224,243,224,127,240,62,112,12,19,38,14,1, - 0,7,0,13,128,8,128,13,128,7,0,31,128,63,192,113, - 224,112,224,0,224,7,224,63,224,124,224,240,224,224,224,225, - 224,243,224,127,240,62,112,20,14,42,22,1,0,31,143,0, - 63,255,192,113,249,224,112,240,224,0,224,112,7,224,112,63, - 255,240,124,255,240,240,224,0,224,224,0,225,240,112,243,248, - 240,127,63,224,62,15,128,11,19,38,13,1,251,31,128,63, - 192,121,224,112,224,224,0,224,0,224,0,224,0,224,0,224, - 0,112,224,121,224,63,192,31,128,30,0,7,0,7,0,63, - 0,30,0,12,19,38,14,1,0,28,0,14,0,7,0,3, - 128,0,0,15,0,63,192,121,224,112,224,224,112,224,112,255, - 240,255,240,224,0,224,0,112,112,120,240,63,224,15,128,12, - 19,38,14,1,0,3,128,7,0,14,0,28,0,0,0,15, - 0,63,192,121,224,112,224,224,112,224,112,255,240,255,240,224, - 0,224,0,112,112,120,240,63,224,15,128,12,19,38,14,1, - 0,7,0,15,128,29,192,56,224,0,0,15,0,63,192,121, - 224,112,224,224,112,224,112,255,240,255,240,224,0,224,0,112, - 112,120,240,63,224,15,128,12,18,36,14,1,0,57,192,57, - 192,0,0,0,0,15,0,63,192,121,224,112,224,224,112,224, - 112,255,240,255,240,224,0,224,0,112,112,120,240,63,224,15, - 128,6,19,19,7,0,0,224,112,56,28,0,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,6,19,19,7,1,0, - 28,56,112,224,0,112,112,112,112,112,112,112,112,112,112,112, - 112,112,112,9,19,38,7,255,0,28,0,62,0,119,0,227, - 128,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,7, - 18,18,7,0,0,238,238,0,0,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,12,19,38,14,1,0,112,0,29, - 192,7,0,31,0,97,128,15,192,63,192,121,224,112,224,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, - 192,15,0,11,19,38,15,2,0,60,192,127,192,103,128,0, - 0,0,0,239,128,255,192,241,192,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,12, - 19,38,14,1,0,28,0,14,0,7,0,3,128,0,0,15, - 0,63,192,121,224,112,224,224,112,224,112,224,112,224,112,224, - 112,224,112,112,224,121,224,63,192,15,0,12,19,38,14,1, - 0,3,128,7,0,14,0,28,0,0,0,15,0,63,192,121, - 224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,112, - 224,121,224,63,192,15,0,12,19,38,14,1,0,14,0,31, - 0,59,128,113,192,0,0,15,0,63,192,121,224,112,224,224, - 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, - 192,15,0,12,19,38,14,1,0,60,192,127,192,103,128,0, - 0,0,0,15,0,63,192,121,224,112,224,224,112,224,112,224, - 112,224,112,224,112,224,112,112,224,121,224,63,192,15,0,12, - 18,36,14,1,0,57,192,57,192,0,0,0,0,15,0,63, - 192,121,224,112,224,224,112,224,112,224,112,224,112,224,112,224, - 112,112,224,121,224,63,192,15,0,11,12,24,15,2,1,14, - 0,14,0,14,0,0,0,0,0,255,224,255,224,0,0,0, - 0,14,0,14,0,14,0,14,14,28,14,0,0,7,140,31, - 252,60,248,56,112,112,248,113,248,115,184,119,56,126,56,124, - 56,56,112,124,240,255,224,199,128,11,19,38,15,2,0,56, - 0,28,0,14,0,7,0,0,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,225,224,115, - 224,126,224,28,224,11,19,38,15,2,0,3,128,7,0,14, - 0,28,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,225,224,115,224,126,224,28, - 224,11,19,38,15,2,0,14,0,31,0,59,128,113,192,0, - 0,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,225,224,115,224,126,224,28,224,11,18,36, - 15,2,0,57,192,57,192,0,0,0,0,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,225, - 224,115,224,126,224,28,224,13,24,48,15,1,251,0,224,1, - 192,3,128,7,0,0,0,224,56,224,56,112,56,120,112,56, - 112,60,240,28,224,28,224,15,192,15,192,7,192,7,128,3, - 128,3,128,7,0,7,0,14,0,62,0,60,0,12,24,48, - 15,2,251,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,224,0,224,0,224,0,224, - 0,224,0,13,23,46,15,1,251,28,224,28,224,0,0,0, - 0,224,56,224,56,112,56,120,112,56,112,60,240,28,224,28, - 224,15,192,15,192,7,192,7,128,3,128,3,128,7,0,7, - 0,14,0,62,0,60,0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=12 h=19 x= 2 y=12 dx=15 dy= 0 ascent=19 len=36 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =19 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18n[537] U8G_FONT_SECTION("u8g_font_helvB18n") = { - 0,28,37,254,248,18,0,0,0,0,42,58,0,19,253,18, - 0,8,7,7,10,1,12,24,24,219,255,60,102,102,12,12, - 24,15,1,1,6,0,6,0,6,0,6,0,6,0,255,240, - 255,240,6,0,6,0,6,0,6,0,6,0,3,6,6,7, - 2,253,224,224,224,96,96,192,7,3,3,8,0,6,254,254, - 254,3,3,3,7,2,0,224,224,224,7,19,19,8,1,0, - 6,6,6,12,12,12,24,24,24,24,48,48,48,96,96,96, - 192,192,192,12,18,36,13,0,0,31,128,63,192,121,224,112, - 224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,112,224,112,224,121,224,63,192,31,128,7,18,18, - 13,2,0,14,14,30,254,254,14,14,14,14,14,14,14,14, - 14,14,14,14,14,12,18,36,13,0,0,31,0,127,192,113, - 224,224,224,224,112,224,112,0,112,0,224,1,224,3,192,7, - 128,31,0,60,0,120,0,240,0,224,0,255,240,255,240,12, - 18,36,13,0,0,31,0,127,192,113,192,224,224,224,224,224, - 224,0,224,1,192,15,128,15,224,0,224,0,112,0,112,224, - 112,224,240,113,224,127,224,31,128,12,18,36,13,0,0,1, - 192,3,192,3,192,7,192,7,192,13,192,29,192,25,192,49, - 192,113,192,97,192,225,192,255,240,255,240,1,192,1,192,1, - 192,1,192,12,18,36,13,0,0,127,224,127,224,112,0,112, - 0,112,0,112,0,127,128,127,192,113,224,0,224,0,112,0, - 112,0,112,224,112,224,240,241,224,127,192,31,128,12,18,36, - 13,0,0,15,128,63,224,120,224,112,112,224,112,224,0,224, - 0,239,0,255,192,249,224,240,224,224,112,224,112,224,112,112, - 224,121,224,63,192,31,128,12,18,36,13,0,0,255,240,255, - 240,0,240,0,224,1,192,1,192,3,128,3,128,7,0,7, - 0,14,0,14,0,30,0,28,0,28,0,60,0,56,0,56, - 0,12,18,36,13,0,0,15,0,63,192,57,192,112,224,112, - 224,112,224,112,224,57,192,31,128,63,192,112,224,224,112,224, - 112,224,112,224,112,112,224,127,224,31,128,12,18,36,13,0, - 0,31,128,127,192,121,224,240,224,224,112,224,112,224,112,224, - 112,240,240,121,240,127,240,31,112,0,112,0,112,224,224,243, - 224,127,192,31,0,3,14,14,7,2,0,224,224,224,0,0, - 0,0,0,0,0,0,224,224,224}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=15 dx=24 dy= 0 ascent=19 len=66 - Font Bounding box w=28 h=37 x=-2 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB18r[3453] U8G_FONT_SECTION("u8g_font_helvB18r") = { - 0,28,37,254,248,19,4,35,9,107,32,127,251,19,251,19, - 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, - 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, - 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, - 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, - 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, - 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, - 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, - 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, - 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, - 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, - 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, - 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, - 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, - 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, - 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, - 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, - 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, - 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, - 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, - 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, - 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, - 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, - 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, - 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, - 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, - 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, - 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, - 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, - 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, - 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, - 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, - 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, - 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, - 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, - 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, - 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, - 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, - 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, - 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, - 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, - 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, - 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, - 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, - 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, - 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, - 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, - 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, - 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, - 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, - 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, - 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, - 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, - 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, - 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, - 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, - 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, - 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, - 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, - 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, - 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, - 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, - 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, - 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, - 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, - 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, - 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, - 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, - 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, - 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, - 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, - 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, - 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, - 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, - 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, - 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, - 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, - 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, - 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, - 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, - 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, - 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, - 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, - 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, - 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, - 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, - 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, - 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, - 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, - 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, - 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, - 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, - 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, - 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, - 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, - 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, - 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, - 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, - 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, - 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, - 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, - 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, - 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, - 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, - 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, - 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, - 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, - 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, - 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, - 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, - 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, - 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, - 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, - 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, - 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, - 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, - 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, - 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, - 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, - 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, - 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, - 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, - 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, - 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, - 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, - 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, - 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, - 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, - 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, - 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, - 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, - 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, - 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, - 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, - 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, - 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, - 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, - 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, - 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, - 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, - 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, - 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, - 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, - 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, - 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, - 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, - 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, - 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, - 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, - 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, - 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, - 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, - 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, - 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, - 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, - 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, - 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, - 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, - 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, - 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, - 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, - 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, - 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, - 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, - 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, - 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, - 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, - 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, - 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, - 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, - 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, - 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, - 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, - 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, - 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, - 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, - 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, - 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, - 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, - 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, - 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, - 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, - 8,14,1,5,120,224,254,224,239,224,227,192,255}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 23 - Calculated Max Values w=31 h=32 x= 4 y=21 dx=33 dy= 0 ascent=31 len=120 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_FONT_SECTION("u8g_font_helvB24") = { - 0,40,49,250,244,25,5,252,14,144,32,255,249,31,249,25, - 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, - 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, - 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, - 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, - 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, - 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, - 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, - 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, - 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, - 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, - 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, - 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, - 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, - 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, - 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, - 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, - 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, - 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, - 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, - 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, - 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, - 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, - 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, - 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, - 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, - 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, - 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, - 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, - 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, - 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, - 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, - 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, - 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, - 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, - 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, - 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, - 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, - 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, - 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, - 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, - 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, - 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, - 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, - 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, - 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, - 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, - 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, - 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, - 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, - 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, - 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, - 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, - 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, - 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, - 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, - 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, - 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, - 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, - 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, - 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, - 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, - 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, - 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, - 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, - 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, - 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, - 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, - 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, - 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, - 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, - 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, - 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, - 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, - 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, - 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, - 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, - 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, - 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, - 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, - 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, - 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, - 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, - 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, - 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, - 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, - 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, - 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, - 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, - 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, - 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, - 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, - 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, - 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, - 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, - 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, - 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, - 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, - 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, - 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, - 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, - 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, - 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, - 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, - 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, - 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, - 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, - 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, - 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, - 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, - 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, - 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, - 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, - 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, - 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, - 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, - 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, - 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, - 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, - 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, - 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, - 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, - 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, - 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, - 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, - 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, - 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, - 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, - 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, - 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, - 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, - 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, - 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, - 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, - 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, - 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, - 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, - 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, - 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, - 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, - 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, - 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, - 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, - 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, - 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, - 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, - 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, - 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, - 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, - 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, - 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, - 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, - 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, - 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, - 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, - 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, - 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, - 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, - 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, - 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, - 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, - 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, - 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, - 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, - 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, - 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, - 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, - 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, - 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, - 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, - 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, - 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, - 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, - 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, - 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, - 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, - 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, - 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, - 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, - 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, - 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, - 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, - 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, - 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, - 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, - 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, - 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, - 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, - 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, - 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, - 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, - 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, - 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, - 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, - 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, - 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, - 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, - 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, - 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, - 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, - 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, - 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, - 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, - 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, - 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, - 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, - 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, - 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, - 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, - 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, - 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, - 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, - 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, - 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, - 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, - 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, - 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, - 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, - 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, - 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, - 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, - 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, - 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, - 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, - 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, - 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, - 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, - 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, - 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, - 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, - 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, - 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, - 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, - 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, - 5,56,0,126,12,255,156,231,252,193,248,0,112,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,9,0,1,5,24,24,11,2,250,248,248,248,248,248,0, - 0,112,112,112,112,112,112,248,248,248,248,248,248,248,248,248, - 248,248,15,24,48,18,1,253,0,32,0,32,0,96,7,240, - 31,248,63,252,127,252,124,190,248,158,249,158,241,128,241,128, - 243,0,243,0,243,30,250,30,126,62,127,252,63,248,31,240, - 15,192,12,0,8,0,8,0,17,24,72,18,0,0,3,240, - 0,31,252,0,63,254,0,63,255,0,126,31,0,124,15,128, - 124,15,128,124,7,128,124,0,0,126,0,0,62,0,0,255, - 240,0,255,240,0,31,0,0,15,0,0,15,0,0,15,0, - 0,31,0,0,30,0,0,61,227,0,127,255,128,255,255,128, - 255,255,0,96,126,0,15,15,30,18,1,4,224,14,247,222, - 255,254,127,252,60,120,120,60,112,28,112,28,112,28,120,60, - 60,120,127,252,255,254,247,222,224,14,18,24,72,18,0,0, - 248,7,192,248,7,192,124,15,128,60,15,0,30,30,0,30, - 30,0,15,60,0,15,60,0,7,248,0,7,248,0,3,240, - 0,1,224,0,63,255,0,63,255,0,1,224,0,1,224,0, - 63,255,0,63,255,0,1,224,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,3,31,31,9,3,250,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,0,0,0, - 0,224,224,224,224,224,224,224,224,224,224,224,224,16,32,64, - 18,1,249,15,240,31,248,63,248,126,124,124,60,124,60,126, - 0,127,0,63,192,31,224,63,248,127,252,113,254,240,255,240, - 63,248,31,252,15,127,15,127,159,63,254,31,248,7,252,1, - 254,0,126,0,62,120,30,120,30,124,62,63,252,63,252,31, - 248,7,224,10,4,8,11,0,21,243,192,243,192,243,192,243, - 192,26,25,100,24,0,0,0,127,128,0,3,255,224,0,7, - 128,248,0,31,0,60,0,28,0,14,0,56,0,7,0,112, - 63,3,0,112,127,131,128,224,243,193,128,225,192,225,192,193, - 192,224,192,195,128,0,192,195,128,0,192,195,128,0,192,195, - 128,0,192,193,192,224,192,225,192,225,192,224,243,195,128,96, - 127,131,128,112,63,7,0,56,0,14,0,30,0,60,0,15, - 128,248,0,7,255,224,0,1,255,128,0,9,16,32,12,1, - 9,62,0,127,0,227,128,195,128,31,128,127,128,243,128,227, - 128,227,128,255,128,123,128,0,0,0,0,255,128,255,128,255, - 128,12,13,26,18,3,2,8,16,24,48,56,112,120,240,241, - 224,225,192,225,192,241,224,249,240,120,240,56,112,24,48,8, - 16,16,10,20,19,1,4,255,255,255,255,255,255,255,255,0, - 15,0,15,0,15,0,15,0,15,0,15,9,5,10,11,1, - 7,255,128,255,128,255,128,255,128,255,128,26,25,100,24,0, - 0,0,255,128,0,3,255,224,0,7,128,248,0,30,0,60, - 0,28,0,14,0,56,255,135,0,112,255,195,0,112,225,227, - 128,224,224,225,128,224,224,225,128,192,224,225,192,192,225,193, - 192,192,255,129,192,192,255,1,192,192,227,129,192,192,227,193, - 192,224,225,193,128,224,224,227,128,112,224,243,128,112,224,119, - 0,56,0,14,0,30,0,28,0,15,128,120,0,7,255,224, - 0,1,255,128,0,10,3,6,11,0,21,255,192,255,192,255, - 192,9,10,20,13,2,14,62,0,127,0,99,0,193,128,193, - 128,193,128,193,128,99,0,127,0,62,0,16,22,44,19,1, - 0,3,192,3,192,3,192,3,192,3,192,3,192,255,255,255, - 255,255,255,255,255,3,192,3,192,3,192,3,192,3,192,3, - 192,0,0,0,0,255,255,255,255,255,255,255,255,10,15,30, - 11,0,9,63,0,127,128,243,192,225,192,225,192,1,192,3, - 192,7,128,15,0,62,0,120,0,112,0,255,192,255,192,255, - 192,10,15,30,11,0,9,30,0,127,128,243,192,225,192,225, - 192,3,192,15,128,15,128,3,192,1,192,225,192,225,192,243, - 192,127,128,62,0,6,5,5,11,4,20,60,120,112,224,224, - 15,25,50,20,2,249,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,255,254,255,222,247,158,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,17,31,93,18,0,250,15,255, - 128,31,255,128,63,140,0,127,140,0,127,140,0,255,140,0, - 255,140,0,255,140,0,255,140,0,255,140,0,127,140,0,127, - 140,0,63,140,0,63,140,0,15,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,4,5,5,9,2, - 11,96,240,240,240,96,7,8,8,11,2,249,48,48,48,124, - 30,14,252,248,6,15,15,11,2,9,28,60,252,252,28,28, - 28,28,28,28,28,28,28,28,28,10,16,32,12,1,9,63, - 0,127,128,115,128,225,192,225,192,225,192,225,192,225,192,115, - 128,127,128,63,0,0,0,0,0,255,192,255,192,255,192,12, - 12,24,18,3,3,129,0,193,128,225,192,241,224,120,240,56, - 112,56,112,120,240,241,224,225,192,193,128,129,0,26,24,96, - 28,0,0,0,0,56,0,6,0,112,0,30,0,112,0,254, - 0,224,0,254,1,192,0,14,1,192,0,14,3,128,0,14, - 3,128,0,14,7,0,0,14,7,0,0,14,14,7,0,14, - 28,15,0,14,28,31,0,14,56,31,0,0,56,55,0,0, - 112,103,0,0,112,231,0,0,224,199,0,1,193,135,0,1, - 193,255,192,3,129,255,192,3,128,7,0,7,0,7,0,7, - 0,7,0,25,24,96,28,1,0,0,0,224,0,12,1,192, - 0,28,1,192,0,252,3,128,0,252,3,128,0,28,7,0, - 0,28,14,0,0,28,14,0,0,28,28,0,0,28,28,0, - 0,28,56,126,0,28,48,255,0,28,113,231,128,28,225,195, - 128,0,225,195,128,1,192,7,128,1,192,15,0,3,128,30, - 0,7,0,60,0,7,0,120,0,14,0,240,0,14,1,255, - 128,28,1,255,128,28,1,255,128,25,24,96,27,1,0,63, - 0,28,0,127,128,56,0,243,192,56,0,225,192,112,0,225, - 192,224,0,3,192,224,0,15,129,192,0,15,129,192,0,15, - 195,128,0,1,199,0,0,225,199,14,0,225,206,30,0,243, - 206,30,0,127,156,62,0,63,28,126,0,0,56,238,0,0, - 112,206,0,0,113,142,0,0,227,142,0,0,227,255,128,1, - 195,255,128,1,192,14,0,3,128,14,0,3,128,14,0,16, - 24,48,20,1,250,3,224,3,224,3,224,3,224,0,0,0, - 0,3,192,3,192,3,192,7,192,31,128,63,128,127,0,126, - 0,252,0,248,15,248,15,248,15,252,31,126,127,127,254,63, - 254,63,252,15,240,22,31,93,23,0,0,3,192,0,1,224, - 0,0,240,0,0,120,0,0,60,0,0,0,0,0,252,0, - 0,252,0,1,254,0,1,254,0,1,254,0,3,255,0,3, - 255,0,3,255,0,7,207,128,7,207,128,7,207,128,15,135, - 128,15,135,192,15,135,192,31,3,192,31,3,224,31,255,224, - 31,255,224,63,255,240,63,255,240,62,1,240,124,0,248,124, - 0,248,252,0,252,248,0,124,22,31,93,23,0,0,0,15, - 0,0,30,0,0,60,0,0,120,0,0,240,0,0,0,0, - 0,252,0,0,252,0,1,254,0,1,254,0,1,254,0,3, - 255,0,3,255,0,3,255,0,7,207,128,7,207,128,7,207, - 128,15,135,128,15,135,192,15,135,192,31,3,192,31,3,224, - 31,255,224,31,255,224,63,255,240,63,255,240,62,1,240,124, - 0,248,124,0,248,252,0,252,248,0,124,22,31,93,23,0, - 0,0,48,0,0,120,0,0,252,0,1,206,0,3,135,0, - 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, - 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, - 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, - 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, - 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,30, - 90,23,0,0,0,241,128,1,255,128,3,255,0,3,30,0, - 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, - 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, - 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, - 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, - 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,31, - 93,23,0,0,3,207,0,3,207,0,3,207,0,3,207,0, - 0,0,0,0,0,0,0,252,0,0,252,0,1,254,0,1, - 254,0,1,254,0,3,255,0,3,255,0,3,255,0,7,207, - 128,7,207,128,7,207,128,15,135,128,15,135,192,15,135,192, - 31,3,192,31,3,224,31,255,224,31,255,224,63,255,240,63, - 255,240,62,1,240,124,0,248,124,0,248,252,0,252,248,0, - 124,22,31,93,23,0,0,0,120,0,0,204,0,0,132,0, - 0,132,0,0,204,0,0,120,0,0,0,0,0,252,0,1, - 254,0,1,254,0,1,254,0,3,255,0,3,255,0,3,255, - 0,7,207,128,7,207,128,7,207,128,15,135,128,15,135,192, - 15,135,192,31,3,192,31,3,224,31,255,224,31,255,224,63, - 255,240,63,255,240,62,1,240,124,0,248,124,0,248,252,0, - 252,248,0,124,31,25,100,32,0,0,0,255,255,252,0,255, - 255,252,0,255,255,252,1,255,255,252,1,243,192,0,1,227, - 192,0,3,227,192,0,3,227,192,0,3,195,192,0,7,195, - 192,0,7,195,192,0,7,195,255,248,15,131,255,248,15,131, - 255,248,15,131,255,248,31,3,192,0,31,255,192,0,31,255, - 192,0,63,255,192,0,63,255,192,0,62,3,192,0,124,3, - 255,254,124,3,255,254,248,3,255,254,248,3,255,254,21,32, - 96,23,1,249,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,240,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,252,0,0, - 96,0,0,96,0,0,248,0,0,28,0,0,28,0,1,248, - 0,1,240,0,18,31,93,22,2,0,30,0,0,15,0,0, - 7,128,0,3,192,0,1,224,0,0,0,0,255,255,128,255, - 255,128,255,255,128,255,255,128,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,255,255,0,255,255,0, - 255,255,0,255,255,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, - 192,255,255,192,255,255,192,18,31,93,22,2,0,0,120,0, - 0,240,0,1,224,0,3,192,0,7,128,0,0,0,0,255, - 255,128,255,255,128,255,255,128,255,255,128,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,0, - 255,255,0,255,255,0,255,255,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, - 192,255,255,192,255,255,192,255,255,192,18,31,93,22,2,0, - 0,192,0,1,224,0,3,240,0,7,56,0,14,28,0,0, - 0,0,255,255,128,255,255,128,255,255,128,255,255,128,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,255,255,192,255,255,192,255,255,192,255,255,192,18,31,93, - 22,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, - 0,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,192,255,255,192,255,255,192,255,255,192, - 8,31,31,9,0,0,240,120,60,30,15,0,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, - 62,62,62,62,62,8,31,31,9,2,0,15,30,60,120,240, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,10,31,62,9,0,0, - 12,0,30,0,63,0,115,128,225,192,0,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,10,31, - 62,9,0,0,243,192,243,192,243,192,243,192,0,0,0,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,23,25,75,23,255,0,31,255,128,31,255,224,31,255, - 240,31,255,248,31,7,248,31,0,252,31,0,252,31,0,124, - 31,0,126,31,0,62,31,0,62,255,240,62,255,240,62,255, - 240,62,31,0,62,31,0,62,31,0,124,31,0,124,31,0, - 124,31,0,248,31,3,248,31,255,240,31,255,240,31,255,192, - 31,255,128,19,30,90,24,2,0,3,198,0,7,254,0,15, - 252,0,12,120,0,0,0,0,248,3,224,252,3,224,252,3, - 224,254,3,224,254,3,224,255,3,224,255,3,224,255,131,224, - 255,195,224,251,195,224,251,227,224,249,227,224,249,243,224,248, - 243,224,248,251,224,248,123,224,248,63,224,248,63,224,248,31, - 224,248,31,224,248,15,224,248,15,224,248,7,224,248,7,224, - 248,3,224,23,31,93,25,1,0,1,224,0,0,240,0,0, - 120,0,0,60,0,0,30,0,0,0,0,1,255,0,7,255, - 192,15,255,224,31,255,240,63,199,248,63,1,248,126,0,252, - 124,0,124,124,0,124,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, - 124,126,0,252,63,1,248,63,199,248,31,255,240,15,255,224, - 7,255,192,1,255,0,23,31,93,25,1,0,0,7,128,0, - 15,0,0,30,0,0,60,0,0,120,0,0,0,0,1,255, - 0,7,255,192,15,255,224,31,255,240,63,199,248,63,1,248, - 126,0,252,124,0,124,124,0,124,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,124,0, - 124,124,0,124,126,0,252,63,1,248,63,199,248,31,255,240, - 15,255,224,7,255,192,1,255,0,23,31,93,25,1,0,0, - 24,0,0,60,0,0,126,0,0,231,0,1,195,128,0,0, - 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, - 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, - 31,255,240,15,255,224,7,255,192,1,255,0,23,30,90,25, - 1,0,0,120,192,0,255,192,1,255,128,1,143,0,0,0, - 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, - 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, - 31,255,240,15,255,224,7,255,192,1,255,0,23,31,93,25, - 1,0,1,231,128,1,231,128,1,231,128,1,231,128,0,0, - 0,0,0,0,1,255,0,7,255,192,15,255,224,31,255,240, - 63,199,248,63,1,248,126,0,252,124,0,124,124,0,124,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, - 62,248,0,62,124,0,124,124,0,124,126,0,252,63,1,248, - 63,199,248,31,255,240,15,255,224,7,255,192,1,255,0,15, - 16,32,19,2,0,32,8,112,28,248,62,252,126,126,252,63, - 248,31,240,15,224,15,224,31,240,63,248,126,252,252,126,248, - 62,112,28,32,8,24,25,75,25,1,0,1,255,7,7,255, - 206,15,255,252,31,255,248,63,199,248,63,0,248,126,1,252, - 124,3,252,124,7,188,248,7,62,248,14,62,248,28,62,248, - 56,62,248,112,62,248,224,62,248,224,62,125,192,124,127,128, - 124,127,0,252,63,1,248,63,199,248,63,255,240,63,255,224, - 119,255,192,225,255,0,19,31,93,24,2,0,7,128,0,3, - 192,0,1,224,0,0,240,0,0,120,0,0,0,0,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,252,7,224,127,31,192,127,255,192, - 63,255,128,31,255,0,7,252,0,19,31,93,24,2,0,0, - 30,0,0,60,0,0,120,0,0,240,0,1,224,0,0,0, - 0,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,252,7,224,127,31,192, - 127,255,192,63,255,128,31,255,0,7,252,0,19,31,93,24, - 2,0,0,96,0,0,240,0,1,248,0,3,156,0,7,14, - 0,0,0,0,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,252,7,224, - 127,31,192,127,255,192,63,255,128,31,255,0,7,252,0,19, - 31,93,24,2,0,15,30,0,15,30,0,15,30,0,15,30, - 0,0,0,0,0,0,0,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 252,7,224,127,31,192,127,255,192,63,255,128,31,255,0,7, - 252,0,20,31,93,22,1,0,0,30,0,0,60,0,0,120, - 0,0,240,0,1,224,0,0,0,0,252,3,240,252,3,240, - 126,7,224,62,7,192,63,15,192,63,15,128,31,15,128,31, - 159,0,15,159,0,15,254,0,7,254,0,7,252,0,3,252, - 0,3,248,0,3,248,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,18,25,75,22,2,0,248,0,0,248,0, - 0,248,0,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,254, - 0,255,252,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,17,25,75,20,2,0,15,192,0,63, - 240,0,127,252,0,255,252,0,248,126,0,248,62,0,240,62, - 0,240,62,0,240,124,0,240,252,0,241,248,0,241,252,0, - 241,254,0,240,127,0,240,31,0,240,31,128,240,15,128,240, - 15,128,240,15,128,240,31,128,240,63,0,241,255,0,241,254, - 0,241,252,0,241,240,0,15,25,50,18,1,0,15,0,7, - 128,3,128,1,192,0,224,0,0,0,0,15,240,63,252,127, - 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, - 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, - 25,50,18,1,0,0,120,0,240,0,224,1,192,3,128,0, - 0,0,0,15,240,63,252,127,252,124,62,248,30,248,30,1, - 254,15,254,63,254,127,30,248,30,240,30,240,62,248,126,255, - 254,255,254,127,222,63,30,15,25,50,18,1,0,1,128,3, - 192,7,224,14,112,28,56,0,0,0,0,15,240,63,252,127, - 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, - 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, - 24,48,18,1,0,7,140,15,252,31,248,24,240,0,0,0, - 0,15,240,63,252,127,252,124,62,248,30,248,30,1,254,15, - 254,63,254,127,30,248,30,240,30,240,62,248,126,255,254,255, - 254,127,222,63,30,15,24,48,18,1,0,30,120,30,120,30, - 120,30,120,0,0,0,0,15,240,63,252,127,252,124,62,248, - 30,248,30,1,254,15,254,63,254,127,30,248,30,240,30,240, - 62,248,126,255,254,255,254,127,222,63,30,15,25,50,18,1, - 0,3,192,6,96,4,32,4,32,6,96,3,192,0,0,15, - 240,63,252,127,252,124,62,248,30,248,30,1,254,15,254,63, - 254,127,30,248,30,248,30,240,62,248,126,255,254,255,254,127, - 222,63,30,26,19,76,29,1,0,7,224,248,0,31,251,254, - 0,63,255,255,0,63,255,255,0,124,63,15,128,120,30,7, - 128,120,30,7,192,0,62,7,192,7,255,255,192,63,255,255, - 192,127,255,255,192,124,30,0,0,248,30,0,0,248,30,7, - 192,252,63,15,192,255,255,255,128,127,247,255,0,63,227,254, - 0,15,129,248,0,15,25,50,18,1,249,7,224,31,248,63, - 252,63,252,124,62,120,30,248,30,240,0,240,0,240,0,240, - 0,248,30,248,30,124,62,127,252,63,248,31,248,7,224,3, - 0,3,0,7,192,0,224,0,224,15,192,15,128,16,25,50, - 18,1,0,15,0,7,128,3,128,1,192,0,224,0,0,0, - 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, - 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, - 252,31,240,7,192,16,25,50,18,1,0,0,120,0,240,0, - 224,1,192,3,128,0,0,0,0,7,224,31,248,63,252,127, - 254,124,62,248,30,240,31,255,255,255,255,255,255,240,0,240, - 0,248,30,124,62,127,254,63,252,31,240,7,192,16,25,50, - 18,1,0,1,128,3,192,7,224,14,112,28,56,0,0,0, - 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, - 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, - 252,31,240,7,192,16,24,48,18,1,0,30,120,30,120,30, - 120,30,120,0,0,0,0,7,224,31,248,63,252,127,254,124, - 62,248,30,240,31,255,255,255,255,255,255,240,0,240,0,248, - 30,124,62,127,254,63,252,31,240,7,192,7,25,25,9,1, - 0,240,120,56,28,14,0,0,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,6,25,25,9,2,0, - 60,56,112,112,224,0,0,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,10,25,50,9,255,0,12, - 0,30,0,63,0,115,128,225,192,0,0,0,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,10,24,48,9,255,0,243,192,243,192,243,192,243,192,0, - 0,0,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,17,26,78,20,1,0,48,0,0, - 120,32,0,124,240,0,63,224,0,31,192,0,63,224,0,115, - 240,0,33,248,0,7,252,0,31,254,0,63,254,0,127,255, - 0,124,31,0,248,15,128,248,15,128,240,7,128,240,7,128, - 240,7,128,248,15,128,248,15,128,252,31,128,126,63,0,127, - 255,0,63,254,0,31,252,0,7,240,0,15,24,48,20,2, - 0,15,24,31,248,63,240,49,224,0,0,0,0,243,240,247, - 248,255,252,255,254,252,62,248,62,240,30,240,30,240,30,240, - 30,240,30,240,30,240,30,240,30,240,30,240,30,240,30,240, - 30,17,25,75,20,1,0,7,128,0,3,192,0,1,192,0, - 1,224,0,0,240,0,0,0,0,0,0,0,7,240,0,31, - 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, - 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, - 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, - 240,0,17,25,75,20,1,0,0,120,0,0,240,0,0,224, - 0,1,192,0,3,192,0,0,0,0,0,0,0,7,240,0, - 31,252,0,63,254,0,127,255,0,124,31,0,248,15,128,248, - 15,128,240,7,128,240,7,128,240,7,128,240,7,128,248,15, - 128,248,15,128,124,31,0,127,255,0,63,254,0,31,252,0, - 7,240,0,17,25,75,20,1,0,0,192,0,1,224,0,3, - 240,0,7,56,0,14,28,0,0,0,0,0,0,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,17,24,72,20,1,0,7,140,0,15,252,0, - 31,248,0,24,240,0,0,0,0,0,0,0,7,240,0,31, - 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, - 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, - 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, - 240,0,17,24,72,20,1,0,30,60,0,30,60,0,30,60, - 0,30,60,0,0,0,0,0,0,0,7,240,0,31,252,0, - 63,254,0,127,255,0,124,31,0,248,15,128,248,15,128,240, - 7,128,240,7,128,240,7,128,240,7,128,248,15,128,248,15, - 128,124,31,0,127,255,0,63,254,0,31,252,0,7,240,0, - 16,16,32,19,1,0,3,192,3,192,3,192,3,192,0,0, - 0,0,255,255,255,255,255,255,255,255,0,0,0,0,3,192, - 3,192,3,192,3,192,21,18,54,20,255,0,1,252,56,7, - 255,112,15,255,224,31,255,192,31,143,192,62,7,224,62,15, - 224,60,29,224,60,57,224,60,113,224,62,227,224,63,131,224, - 63,7,224,31,143,192,31,255,192,63,255,128,119,255,0,225, - 252,0,15,25,50,20,2,0,30,0,15,0,7,0,3,128, - 1,192,0,0,0,0,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, - 0,240,1,224,1,192,3,128,7,0,0,0,0,0,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, - 31,30,15,25,50,20,2,0,3,0,7,128,15,192,28,224, - 56,112,0,0,0,0,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, - 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, - 60,120,60,120,60,120,60,120,0,0,0,0,0,0,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, - 31,30,16,32,64,19,1,249,0,120,0,240,1,224,1,192, - 3,128,0,0,0,0,248,31,248,31,248,31,120,30,124,62, - 124,60,60,60,60,60,62,120,62,120,30,120,31,240,31,240, - 15,240,15,224,7,224,7,224,7,192,7,192,7,192,15,128, - 63,128,63,0,63,0,60,0,16,32,64,20,2,249,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,243,240,247,252, - 255,254,255,254,252,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,252,62,255,254,255,252,247,248,241,240, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,31, - 62,19,1,249,30,120,30,120,30,120,30,120,0,0,0,0, - 248,31,248,31,248,31,120,62,124,62,124,60,124,60,62,124, - 62,120,62,120,30,120,31,240,31,240,15,240,15,224,7,224, - 7,224,7,192,7,192,7,192,15,128,63,128,63,0,63,0, - 60,0}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=17 h=25 x= 3 y=13 dx=19 dy= 0 ascent=25 len=72 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24n[743] U8G_FONT_SECTION("u8g_font_helvB24n") = { - 0,40,49,250,244,23,0,0,0,0,42,58,0,25,250,23, - 0,10,11,22,13,1,13,12,0,12,0,76,128,237,192,255, - 192,127,128,30,0,63,0,127,128,115,128,33,0,16,16,32, - 19,1,0,3,192,3,192,3,192,3,192,3,192,3,192,255, - 255,255,255,255,255,255,255,3,192,3,192,3,192,3,192,3, - 192,3,192,5,11,11,9,2,250,248,248,248,248,248,24,24, - 56,112,224,128,9,5,10,11,1,7,255,128,255,128,255,128, - 255,128,255,128,5,5,5,9,2,0,248,248,248,248,248,8, - 25,25,9,0,0,3,3,3,3,6,6,6,14,12,12,12, - 28,24,24,24,48,48,48,112,96,96,96,192,192,192,15,24, - 48,18,1,0,15,224,31,240,63,248,127,252,124,124,248,62, - 248,62,248,62,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,248,62,248,62,248,62,124,124,127,252,63,248, - 31,240,15,224,10,23,46,18,2,0,1,192,3,192,7,192, - 31,192,255,192,255,192,255,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,16,24,48,18,1,0,15,224, - 63,248,127,252,127,254,252,126,248,63,248,31,240,31,240,31, - 0,63,0,62,0,126,0,252,1,248,7,240,15,224,31,128, - 63,0,126,0,252,0,255,255,255,255,255,255,255,255,16,24, - 48,18,1,0,15,224,63,248,127,252,127,252,248,62,240,62, - 240,30,240,30,0,62,0,124,3,248,3,240,3,252,0,126, - 0,63,0,31,240,31,240,31,240,63,248,62,127,254,127,252, - 63,248,15,224,16,24,48,18,1,0,0,248,0,248,1,248, - 3,248,3,248,7,248,15,120,14,120,30,120,28,120,60,120, - 120,120,112,120,240,120,224,120,255,255,255,255,255,255,255,255, - 0,120,0,120,0,120,0,120,0,120,15,24,48,18,1,0, - 63,252,63,252,63,252,63,252,56,0,120,0,120,0,120,0, - 123,224,127,248,127,252,127,252,120,126,0,62,0,62,0,30, - 0,30,240,62,240,62,248,124,127,252,127,248,63,240,15,192, - 15,24,48,18,1,0,7,224,31,248,63,252,63,254,124,62, - 120,30,240,0,240,0,243,224,247,248,255,252,255,252,252,126, - 248,62,240,30,240,30,240,30,240,30,248,62,124,124,127,252, - 63,248,31,240,7,192,16,24,48,18,1,0,255,255,255,255, - 255,255,255,255,0,30,0,62,0,60,0,120,0,248,0,240, - 1,240,1,224,3,224,3,192,7,192,7,192,7,128,15,128, - 15,128,15,128,31,0,31,0,31,0,31,0,17,24,72,18, - 0,0,7,240,0,31,252,0,63,254,0,62,62,0,124,31, - 0,120,15,0,120,15,0,120,15,0,124,31,0,62,62,0, - 31,252,0,31,252,0,63,254,0,124,31,0,248,15,128,240, - 7,128,240,7,128,240,7,128,248,15,128,126,63,0,127,254, - 0,63,254,0,31,252,0,7,240,0,15,24,48,18,1,0, - 7,192,31,240,63,248,127,252,124,124,248,62,240,30,240,30, - 240,30,240,30,248,62,252,126,127,254,127,254,63,222,7,158, - 0,30,0,30,240,60,248,124,127,248,127,248,31,240,7,192, - 5,17,17,11,3,0,248,248,248,248,248,0,0,0,0,0, - 0,0,248,248,248,248,248}; -/* - Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 23 - Calculated Max Values w=29 h=32 x= 3 y=20 dx=33 dy= 0 ascent=25 len=120 - Font Bounding box w=40 h=49 x=-6 y=-12 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvB24r[5214] U8G_FONT_SECTION("u8g_font_helvB24r") = { - 0,40,49,250,244,25,5,252,14,144,32,127,249,25,249,25, - 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, - 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, - 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, - 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, - 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, - 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, - 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, - 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, - 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, - 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, - 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, - 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, - 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, - 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, - 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, - 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, - 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, - 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, - 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, - 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, - 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, - 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, - 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, - 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, - 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, - 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, - 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, - 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, - 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, - 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, - 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, - 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, - 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, - 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, - 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, - 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, - 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, - 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, - 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, - 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, - 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, - 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, - 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, - 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, - 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, - 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, - 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, - 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, - 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, - 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, - 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, - 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, - 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, - 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, - 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, - 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, - 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, - 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, - 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, - 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, - 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, - 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, - 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, - 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, - 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, - 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, - 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, - 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, - 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, - 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, - 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, - 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, - 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, - 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, - 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, - 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, - 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, - 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, - 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, - 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, - 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, - 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, - 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, - 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, - 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, - 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, - 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, - 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, - 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, - 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, - 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, - 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, - 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, - 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, - 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, - 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, - 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, - 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, - 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, - 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, - 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, - 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, - 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, - 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, - 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, - 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, - 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, - 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, - 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, - 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, - 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, - 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, - 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, - 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, - 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, - 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, - 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, - 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, - 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, - 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, - 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, - 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, - 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, - 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, - 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, - 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, - 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, - 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, - 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, - 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, - 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, - 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, - 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, - 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, - 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, - 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, - 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, - 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, - 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, - 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, - 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, - 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, - 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, - 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, - 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, - 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, - 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, - 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, - 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, - 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, - 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, - 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, - 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, - 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, - 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, - 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, - 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, - 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, - 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, - 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, - 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, - 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, - 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, - 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, - 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, - 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, - 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, - 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, - 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, - 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, - 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, - 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, - 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, - 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, - 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, - 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, - 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, - 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, - 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, - 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, - 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, - 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, - 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, - 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, - 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, - 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, - 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, - 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, - 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, - 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, - 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, - 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, - 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, - 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, - 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, - 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, - 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, - 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, - 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, - 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, - 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, - 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, - 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, - 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, - 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, - 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, - 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, - 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, - 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, - 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, - 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, - 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, - 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, - 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, - 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, - 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, - 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, - 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, - 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, - 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, - 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, - 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, - 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, - 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, - 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, - 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, - 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, - 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, - 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, - 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, - 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, - 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, - 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, - 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, - 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, - 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, - 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, - 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, - 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, - 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, - 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, - 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, - 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, - 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, - 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, - 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, - 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, - 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, - 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, - 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, - 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, - 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, - 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, - 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, - 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, - 5,56,0,126,12,255,156,231,252,193,248,0,112,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_FONT_SECTION("u8g_font_helvR08") = { - 0,13,18,254,252,8,1,178,3,111,32,255,254,11,254,8, - 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, - 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, - 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, - 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, - 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, - 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, - 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, - 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, - 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, - 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, - 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, - 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, - 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, - 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, - 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, - 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, - 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, - 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, - 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, - 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, - 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, - 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, - 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, - 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, - 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, - 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, - 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, - 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, - 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, - 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, - 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, - 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, - 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, - 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, - 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, - 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, - 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, - 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, - 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, - 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, - 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, - 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, - 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, - 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, - 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, - 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, - 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, - 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, - 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, - 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, - 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, - 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, - 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, - 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, - 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, - 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, - 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, - 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, - 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, - 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, - 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, - 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, - 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, - 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, - 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, - 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, - 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, - 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, - 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, - 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, - 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, - 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, - 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, - 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, - 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, - 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, - 64,64,128,6,2,2,7,0,3,100,152,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,3, - 0,1,1,8,8,3,1,254,128,0,128,128,128,128,128,128, - 5,8,8,6,1,255,16,112,168,160,160,168,112,64,5,8, - 8,6,0,0,48,72,64,224,64,64,72,176,4,6,6,5, - 0,1,144,96,144,144,96,144,5,8,8,6,0,0,136,136, - 136,80,248,32,248,32,1,10,10,3,1,254,128,128,128,128, - 0,0,128,128,128,128,5,10,10,6,0,254,112,136,192,112, - 152,200,112,24,136,112,3,1,1,3,0,7,160,7,7,7, - 9,1,0,56,68,154,162,154,68,56,3,5,5,4,0,3, - 224,32,160,0,224,5,5,5,6,0,0,40,80,160,80,40, - 5,3,3,7,1,2,248,8,8,3,1,1,4,0,3,224, - 7,7,7,9,1,0,56,68,186,178,170,68,56,3,1,1, - 3,0,7,224,4,4,4,4,0,4,96,144,144,96,5,7, - 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, - 4,96,160,64,224,3,4,4,3,0,4,224,64,32,192,2, - 2,2,3,0,7,64,128,4,8,8,5,0,254,144,144,144, - 144,144,240,128,128,6,10,10,6,0,254,124,232,232,232,104, - 40,40,40,40,40,2,1,1,3,0,3,192,2,2,2,3, - 0,254,64,192,2,4,4,3,0,4,64,192,64,64,3,5, - 5,4,0,3,224,160,224,0,224,5,5,5,6,0,0,160, - 80,40,80,160,9,8,16,9,0,0,68,0,196,0,72,0, - 72,0,17,0,19,0,39,128,33,0,8,8,8,9,0,0, - 68,196,72,72,19,21,34,39,9,8,16,9,0,0,224,0, - 68,0,36,0,200,0,9,0,19,0,23,128,33,0,4,8, - 8,6,1,254,32,0,32,32,64,128,144,96,7,11,11,7, - 0,0,32,16,0,16,16,40,40,68,124,130,130,7,11,11, - 7,0,0,8,16,0,16,16,40,40,68,124,130,130,7,11, - 11,7,0,0,16,40,0,16,16,40,40,68,124,130,130,7, - 11,11,7,0,0,20,40,0,16,16,40,40,68,124,130,130, - 7,10,10,7,0,0,40,0,16,16,40,40,68,124,130,130, - 7,11,11,7,0,0,16,40,16,16,16,40,40,68,124,130, - 130,9,8,16,10,0,0,31,128,24,0,40,0,47,128,72, - 0,120,0,136,0,143,128,6,10,10,8,1,254,120,132,128, - 128,128,128,132,120,16,48,5,11,11,7,1,0,64,32,0, - 248,128,128,248,128,128,128,248,5,11,11,7,1,0,16,32, - 0,248,128,128,248,128,128,128,248,5,11,11,7,1,0,32, - 80,0,248,128,128,248,128,128,128,248,5,10,10,7,1,0, - 80,0,248,128,128,248,128,128,128,248,2,11,11,3,0,0, - 128,64,0,64,64,64,64,64,64,64,64,2,11,11,3,1, - 0,64,128,0,128,128,128,128,128,128,128,128,3,11,11,3, - 0,0,64,160,0,64,64,64,64,64,64,64,64,3,10,10, - 3,0,0,160,0,64,64,64,64,64,64,64,64,7,8,8, - 8,0,0,120,68,66,242,66,66,68,120,6,11,11,8,1, - 0,40,80,0,196,196,164,164,148,148,140,140,6,11,11,8, - 1,0,32,16,0,120,132,132,132,132,132,132,120,6,11,11, - 8,1,0,8,16,0,120,132,132,132,132,132,132,120,6,11, - 11,8,1,0,32,80,0,120,132,132,132,132,132,132,120,6, - 11,11,8,1,0,40,80,0,120,132,132,132,132,132,132,120, - 6,10,10,8,1,0,72,0,120,132,132,132,132,132,132,120, - 5,5,5,6,0,1,136,80,32,80,136,6,10,10,8,1, - 255,4,120,140,148,148,164,164,196,120,128,6,11,11,8,1, - 0,32,16,0,132,132,132,132,132,132,132,120,6,11,11,8, - 1,0,8,16,0,132,132,132,132,132,132,132,120,6,11,11, - 8,1,0,32,80,0,132,132,132,132,132,132,132,120,6,10, - 10,8,1,0,72,0,132,132,132,132,132,132,132,120,7,11, - 11,7,0,0,8,16,0,130,68,68,40,40,16,16,16,5, - 8,8,7,1,0,128,128,240,136,136,240,128,128,4,8,8, - 5,0,0,96,144,144,160,144,144,144,160,5,9,9,5,0, - 0,64,32,0,224,16,112,144,144,104,5,9,9,5,0,0, - 32,64,0,224,16,112,144,144,104,5,9,9,5,0,0,32, - 80,0,224,16,112,144,144,104,5,9,9,5,0,0,80,160, - 0,224,16,112,144,144,104,5,8,8,5,0,0,80,0,224, - 16,112,144,144,104,5,9,9,5,0,0,32,80,32,224,16, - 112,144,144,104,7,6,6,8,0,0,236,18,126,144,146,108, - 4,8,8,5,0,254,96,144,128,128,144,96,32,96,4,9, - 9,5,0,0,64,32,0,96,144,240,128,144,96,4,9,9, - 5,0,0,32,64,0,96,144,240,128,144,96,4,9,9,5, - 0,0,64,160,0,96,144,240,128,144,96,4,8,8,5,0, - 0,160,0,96,144,240,128,144,96,2,9,9,2,255,0,128, - 64,0,64,64,64,64,64,64,2,9,9,2,0,0,64,128, - 0,128,128,128,128,128,128,3,9,9,2,255,0,64,160,0, - 64,64,64,64,64,64,3,8,8,2,255,0,160,0,64,64, - 64,64,64,64,5,9,9,6,0,0,64,120,144,120,136,136, - 136,136,112,4,9,9,5,0,0,80,160,0,224,144,144,144, - 144,144,5,9,9,6,0,0,64,32,0,112,136,136,136,136, - 112,5,9,9,6,0,0,16,32,0,112,136,136,136,136,112, - 5,9,9,6,0,0,32,80,0,112,136,136,136,136,112,5, - 9,9,6,0,0,40,80,0,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,1,32,0,248,0,32,7,6,6,6,255,0,58,76,84, - 100,68,184,4,9,9,5,0,0,64,32,0,144,144,144,144, - 144,112,4,9,9,5,0,0,16,32,0,144,144,144,144,144, - 112,4,9,9,5,0,0,64,160,0,144,144,144,144,144,112, - 4,8,8,5,0,0,160,0,144,144,144,144,144,112,5,11, - 11,5,255,254,8,16,0,72,72,80,80,48,32,32,192,5, - 10,10,6,0,254,128,128,176,200,136,136,200,176,128,128,5, - 10,10,5,255,254,80,0,72,72,80,80,48,32,32,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 8 - Calculated Max Values w= 5 h= 8 x= 1 y= 5 dx= 6 dy= 0 ascent= 8 len= 8 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08n[226] U8G_FONT_SECTION("u8g_font_helvR08n") = { - 0,13,18,254,252,8,0,0,0,0,42,58,0,8,254,8, - 0,3,3,3,4,0,5,160,64,160,5,5,5,6,0,1, - 32,32,248,32,32,2,3,3,3,0,254,64,64,128,3,1, - 1,4,0,3,224,1,1,1,3,1,0,128,3,8,8,3, - 0,0,32,32,64,64,64,64,128,128,5,8,8,6,0,0, - 112,136,136,136,136,136,136,112,2,8,8,6,1,0,64,192, - 64,64,64,64,64,64,5,8,8,6,0,0,112,136,8,8, - 48,64,128,248,5,8,8,6,0,0,112,136,8,48,8,8, - 136,112,5,8,8,6,0,0,16,48,80,80,144,248,16,16, - 5,8,8,6,0,0,120,64,64,112,8,8,136,112,5,8, - 8,6,0,0,112,136,128,240,136,136,136,112,5,8,8,6, - 0,0,248,8,16,32,32,64,64,64,5,8,8,6,0,0, - 112,136,136,112,136,136,136,112,5,8,8,6,0,0,112,136, - 136,136,120,8,136,112,1,6,6,3,1,0,128,0,0,0, - 0,128}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 - Font Bounding box w=13 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR08r[1276] U8G_FONT_SECTION("u8g_font_helvR08r") = { - 0,13,18,254,252,8,1,178,3,111,32,127,254,9,254,8, - 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, - 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, - 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, - 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, - 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, - 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, - 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, - 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, - 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, - 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, - 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, - 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, - 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, - 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, - 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, - 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, - 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, - 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, - 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, - 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, - 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, - 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, - 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, - 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, - 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, - 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, - 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, - 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, - 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, - 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, - 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, - 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, - 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, - 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, - 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, - 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, - 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, - 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, - 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, - 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, - 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, - 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, - 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, - 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, - 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, - 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, - 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, - 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, - 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, - 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, - 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, - 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, - 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, - 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, - 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, - 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, - 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, - 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, - 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, - 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, - 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, - 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, - 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, - 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, - 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, - 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, - 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, - 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, - 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, - 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, - 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, - 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, - 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, - 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, - 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, - 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, - 64,64,128,6,2,2,7,0,3,100,152,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=13 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_FONT_SECTION("u8g_font_helvR10") = { - 0,17,22,254,251,11,2,10,4,133,32,255,253,14,253,11, - 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, - 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, - 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, - 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, - 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, - 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, - 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, - 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, - 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, - 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, - 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, - 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, - 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, - 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, - 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, - 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, - 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, - 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, - 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, - 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, - 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, - 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, - 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, - 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, - 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, - 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, - 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, - 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, - 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, - 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, - 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, - 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, - 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, - 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, - 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, - 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, - 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, - 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, - 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, - 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, - 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, - 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, - 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, - 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, - 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, - 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, - 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, - 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, - 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, - 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, - 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, - 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, - 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, - 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, - 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, - 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, - 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, - 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, - 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, - 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, - 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, - 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, - 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, - 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, - 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, - 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, - 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, - 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, - 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, - 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, - 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, - 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, - 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, - 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, - 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, - 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, - 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, - 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, - 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, - 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, - 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, - 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, - 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, - 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, - 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, - 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, - 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, - 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, - 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, - 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, - 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, - 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, - 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, - 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, - 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,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,4,0,1,1,11,11,4,1,253,128,128,0,128, - 128,128,128,128,128,128,128,6,10,10,8,1,255,4,120,204, - 144,144,160,164,204,120,128,7,11,11,8,0,0,56,68,64, - 64,248,32,32,32,64,98,220,6,6,6,8,1,2,132,120, - 72,72,120,132,7,11,11,7,0,0,130,130,130,68,68,40, - 254,16,254,16,16,1,14,14,3,1,253,128,128,128,128,128, - 128,0,0,128,128,128,128,128,128,5,14,14,8,2,253,112, - 216,136,192,112,152,136,136,200,112,24,136,216,112,5,1,1, - 5,0,9,216,10,11,22,12,1,0,30,0,97,128,92,128, - 162,192,162,64,160,64,162,64,156,64,64,128,97,128,30,0, - 4,7,7,6,1,4,224,16,112,144,208,0,240,6,5,5, - 8,1,2,36,72,144,72,36,7,4,4,9,1,2,254,2, - 2,2,3,1,1,4,0,4,224,10,11,22,12,1,0,30, - 0,97,128,92,128,146,64,146,64,156,64,146,64,146,64,64, - 128,97,128,30,0,4,1,1,4,0,9,240,4,4,4,6, - 1,7,96,144,144,96,7,9,9,9,1,0,16,16,16,254, - 16,16,16,0,254,4,6,6,5,0,5,96,144,16,32,64, - 240,4,6,6,5,0,5,96,144,32,16,144,96,2,2,2, - 5,2,9,64,128,6,11,11,8,1,253,132,132,132,132,132, - 132,204,180,128,128,128,7,14,14,8,0,253,62,116,244,244, - 244,116,52,20,20,20,20,20,20,20,2,1,1,4,1,4, - 192,4,3,3,5,0,253,32,144,96,2,6,6,5,1,5, - 64,192,64,64,64,64,4,7,7,6,1,4,96,144,144,144, - 96,0,240,6,5,5,8,1,2,144,72,36,72,144,10,11, - 22,12,1,0,66,0,194,0,68,0,68,0,72,0,72,128, - 9,128,18,128,20,128,39,192,32,128,9,11,22,12,1,0, - 66,0,194,0,68,0,68,0,72,0,75,0,20,128,16,128, - 17,0,34,0,39,128,11,11,22,12,0,0,97,0,145,0, - 34,0,18,0,148,0,100,64,4,192,9,64,10,64,19,224, - 16,64,6,11,11,8,1,253,16,16,0,16,32,64,128,132, - 132,204,48,9,14,28,9,0,0,16,0,8,0,0,0,8, - 0,28,0,20,0,20,0,34,0,34,0,65,0,127,0,65, - 0,128,128,128,128,9,14,28,9,0,0,4,0,8,0,0, - 0,8,0,28,0,20,0,20,0,34,0,34,0,65,0,127, - 0,65,0,128,128,128,128,9,14,28,9,0,0,12,0,18, - 0,0,0,8,0,28,0,20,0,20,0,34,0,34,0,65, - 0,127,0,65,0,128,128,128,128,9,14,28,9,0,0,26, - 0,44,0,0,0,8,0,28,0,20,0,20,0,34,0,34, - 0,65,0,127,0,65,0,128,128,128,128,9,13,26,9,0, - 0,54,0,0,0,8,0,28,0,20,0,20,0,34,0,34, - 0,65,0,127,0,65,0,128,128,128,128,9,14,28,9,0, - 0,12,0,18,0,18,0,12,0,12,0,20,0,20,0,34, - 0,34,0,65,0,127,0,65,0,128,128,128,128,12,11,22, - 14,1,0,31,240,18,0,18,0,34,0,34,0,35,240,126, - 0,66,0,66,0,130,0,131,240,8,14,14,10,1,253,28, - 99,65,128,128,128,128,128,65,99,28,8,36,24,7,14,14, - 9,1,0,32,16,0,254,128,128,128,128,252,128,128,128,128, - 254,7,14,14,9,1,0,8,16,0,254,128,128,128,128,252, - 128,128,128,128,254,7,14,14,9,1,0,24,36,0,254,128, - 128,128,128,252,128,128,128,128,254,7,13,13,9,1,0,108, - 0,254,128,128,128,128,252,128,128,128,128,254,2,14,14,4, - 1,0,128,64,0,64,64,64,64,64,64,64,64,64,64,64, - 2,14,14,4,2,0,64,128,0,128,128,128,128,128,128,128, - 128,128,128,128,4,14,14,4,1,0,96,144,0,64,64,64, - 64,64,64,64,64,64,64,64,5,13,13,4,0,0,216,0, - 32,32,32,32,32,32,32,32,32,32,32,9,11,22,10,0, - 0,124,0,67,0,65,0,64,128,64,128,240,128,64,128,64, - 128,65,0,67,0,124,0,8,14,14,10,1,0,26,44,0, - 193,161,161,145,145,137,137,133,133,131,131,9,14,28,11,1, - 0,16,0,8,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, - 11,1,0,4,0,8,0,0,0,28,0,99,0,65,0,128, - 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, - 14,28,11,1,0,12,0,18,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,14,28,11,1,0,26,0,44,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,9,13,26,11,1,0,51,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,7,7,7,9,1,1,130,68,40,16,40,68,130, - 11,11,22,11,0,0,14,32,49,192,32,128,65,64,66,64, - 68,64,72,64,80,64,32,128,113,128,142,0,8,14,14,10, - 1,0,16,8,0,129,129,129,129,129,129,129,129,129,66,60, - 8,14,14,10,1,0,4,8,0,129,129,129,129,129,129,129, - 129,129,66,60,8,14,14,10,1,0,24,36,0,129,129,129, - 129,129,129,129,129,129,66,60,8,13,13,10,1,0,102,0, - 129,129,129,129,129,129,129,129,129,66,60,9,14,28,9,0, - 0,4,0,8,0,0,0,128,128,193,128,65,0,34,0,34, - 0,20,0,28,0,8,0,8,0,8,0,8,0,7,11,11, - 9,1,0,128,128,252,134,130,130,134,252,128,128,128,5,11, - 11,7,1,0,112,136,136,136,176,144,136,136,136,136,176,7, - 11,11,8,1,0,32,16,0,120,204,4,124,196,132,204,118, - 7,11,11,8,1,0,16,32,0,120,204,4,124,196,132,204, - 118,7,11,11,8,1,0,48,72,0,120,204,4,124,196,132, - 204,118,7,11,11,8,1,0,52,88,0,120,204,4,124,196, - 132,204,118,7,11,11,8,1,0,72,72,0,120,204,4,124, - 196,132,204,118,7,12,12,8,1,0,48,72,48,0,120,204, - 4,124,196,132,204,118,11,8,16,13,1,0,123,192,198,96, - 4,32,127,224,196,0,132,0,206,96,123,192,6,11,11,8, - 1,253,120,204,128,128,128,132,204,120,16,72,48,6,11,11, - 8,1,0,32,16,0,120,204,132,252,128,128,204,120,6,11, - 11,8,1,0,16,32,0,120,204,132,252,128,128,204,120,6, - 11,11,8,1,0,48,72,0,120,204,132,252,128,128,204,120, - 6,11,11,8,1,0,72,72,0,120,204,132,252,128,128,204, - 120,2,11,11,3,1,0,128,64,0,128,128,128,128,128,128, - 128,128,2,11,11,3,1,0,64,128,0,128,128,128,128,128, - 128,128,128,4,11,11,3,0,0,96,144,0,64,64,64,64, - 64,64,64,64,3,11,11,3,0,0,160,160,0,64,64,64, - 64,64,64,64,64,6,11,11,8,1,0,216,112,144,120,204, - 132,132,132,132,204,120,6,11,11,8,1,0,104,176,0,184, - 204,132,132,132,132,132,132,6,11,11,8,1,0,32,16,0, - 120,204,132,132,132,132,204,120,6,11,11,8,1,0,16,32, - 0,120,204,132,132,132,132,204,120,6,11,11,8,1,0,48, - 72,0,120,204,132,132,132,132,204,120,6,11,11,8,1,0, - 104,176,0,120,204,132,132,132,132,204,120,6,11,11,8,1, - 0,72,72,0,120,204,132,132,132,132,204,120,7,7,7,9, - 1,1,16,16,0,254,0,16,16,8,8,8,8,0,0,61, - 98,70,74,82,98,70,188,6,11,11,8,1,0,32,16,0, - 132,132,132,132,132,132,204,116,6,11,11,8,1,0,16,32, - 0,132,132,132,132,132,132,204,116,6,11,11,8,1,0,48, - 72,0,132,132,132,132,132,132,204,116,6,11,11,8,1,0, - 72,72,0,132,132,132,132,132,132,204,116,7,14,14,7,0, - 253,8,16,0,130,194,68,68,36,40,24,16,16,48,96,6, - 14,14,8,1,253,128,128,128,184,204,132,132,132,132,204,184, - 128,128,128,7,14,14,7,0,253,36,36,0,130,194,68,68, - 36,40,24,16,16,48,96}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 11 - Calculated Max Values w= 7 h=11 x= 2 y= 6 dx= 9 dy= 0 ascent=11 len=11 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent= 0 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10n[267] U8G_FONT_SECTION("u8g_font_helvR10n") = { - 0,17,22,254,251,11,0,0,0,0,42,58,0,11,254,11, - 0,5,5,5,7,1,6,32,168,112,168,32,7,7,7,9, - 1,1,16,16,16,254,16,16,16,2,4,4,3,0,254,64, - 64,64,128,3,1,1,4,0,4,224,1,2,2,3,1,0, - 128,128,4,11,11,4,0,0,16,16,32,32,32,64,64,64, - 128,128,128,6,11,11,8,1,0,120,132,132,132,132,132,132, - 132,132,132,120,3,11,11,8,2,0,32,224,32,32,32,32, - 32,32,32,32,32,6,11,11,8,1,0,120,132,132,4,8, - 16,32,64,128,128,252,6,11,11,8,1,0,120,132,132,4, - 4,56,4,4,132,132,120,7,11,11,8,1,0,4,12,20, - 36,68,132,132,254,4,4,4,6,11,11,8,1,0,252,128, - 128,128,248,4,4,4,132,132,120,6,11,11,8,1,0,120, - 132,128,128,184,196,132,132,132,132,120,6,11,11,8,1,0, - 252,4,8,8,16,16,32,32,64,64,64,6,11,11,8,1, - 0,120,132,132,132,132,120,132,132,132,132,120,6,11,11,8, - 1,0,120,132,132,132,132,124,4,4,132,132,120,1,8,8, - 3,1,0,128,128,0,0,0,0,128,128}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=13 h=14 x= 2 y= 9 dx=13 dy= 0 ascent=12 len=24 - Font Bounding box w=17 h=22 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR10r[1648] U8G_FONT_SECTION("u8g_font_helvR10r") = { - 0,17,22,254,251,11,2,10,4,133,32,127,253,12,253,11, - 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, - 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, - 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, - 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, - 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, - 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, - 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, - 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, - 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, - 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, - 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, - 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, - 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, - 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, - 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, - 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, - 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, - 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, - 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, - 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, - 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, - 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, - 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, - 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, - 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, - 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, - 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, - 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, - 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, - 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, - 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, - 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, - 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, - 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, - 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, - 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, - 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, - 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, - 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, - 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, - 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, - 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, - 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, - 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, - 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, - 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, - 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, - 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, - 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, - 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, - 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, - 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, - 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, - 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, - 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, - 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, - 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, - 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, - 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, - 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, - 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, - 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, - 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, - 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, - 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, - 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, - 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, - 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, - 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, - 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, - 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, - 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, - 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, - 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, - 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, - 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, - 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, - 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, - 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, - 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, - 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, - 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, - 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, - 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, - 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, - 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, - 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, - 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, - 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, - 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, - 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, - 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, - 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, - 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, - 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, - 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,255 - }; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=14 h=16 x= 3 y=10 dx=17 dy= 0 ascent=16 len=32 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_FONT_SECTION("u8g_font_helvR12") = { - 0,20,26,254,250,12,2,91,5,99,32,255,252,16,252,12, - 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, - 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, - 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, - 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, - 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, - 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, - 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, - 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, - 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, - 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, - 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, - 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, - 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, - 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, - 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, - 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, - 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, - 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, - 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, - 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, - 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, - 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, - 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, - 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, - 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, - 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, - 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, - 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, - 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, - 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, - 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, - 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, - 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, - 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, - 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, - 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, - 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, - 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, - 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, - 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, - 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, - 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, - 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, - 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, - 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, - 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, - 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, - 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, - 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, - 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, - 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, - 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, - 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, - 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, - 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, - 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, - 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, - 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, - 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, - 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, - 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, - 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, - 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, - 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, - 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, - 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, - 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, - 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, - 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, - 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, - 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, - 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, - 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, - 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, - 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, - 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, - 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, - 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, - 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, - 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, - 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, - 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, - 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, - 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, - 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, - 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, - 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, - 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, - 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, - 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, - 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, - 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, - 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, - 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, - 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, - 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, - 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, - 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, - 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, - 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, - 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, - 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, - 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, - 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, - 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, - 113,142,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,5,0,1,1,12,12,6,2,253,128, - 128,0,128,128,128,128,128,128,128,128,128,7,13,13,9,1, - 254,4,4,56,76,138,144,144,144,162,100,56,64,64,8,12, - 12,9,0,0,14,17,33,32,32,16,126,8,16,32,121,134, - 8,7,7,9,0,3,189,102,66,66,66,102,189,9,12,24, - 9,0,0,128,128,65,0,65,0,34,0,34,0,20,0,127, - 0,8,0,127,0,8,0,8,0,8,0,1,16,16,4,1, - 252,128,128,128,128,128,128,0,0,0,0,128,128,128,128,128, - 128,7,15,15,9,1,253,56,68,70,96,152,140,134,194,98, - 50,28,4,196,68,56,3,2,2,5,1,10,160,160,12,12, - 24,12,0,0,15,0,48,192,71,32,72,160,144,16,144,16, - 144,16,144,16,72,160,71,32,48,192,15,0,5,7,7,6, - 1,5,96,144,112,144,120,0,248,6,6,6,9,1,2,36, - 72,144,144,72,36,8,5,5,10,0,1,255,1,1,1,1, - 4,1,1,5,0,4,240,12,12,24,12,0,0,15,0,48, - 192,64,32,79,32,136,144,136,144,143,16,138,16,73,32,72, - 160,48,192,15,0,5,1,1,6,0,10,248,5,5,5,7, - 1,7,112,136,136,136,112,9,11,22,10,0,0,8,0,8, - 0,8,0,8,0,255,128,8,0,8,0,8,0,8,0,0, - 0,255,128,5,7,7,6,0,5,112,136,136,16,96,128,248, - 5,7,7,6,0,5,112,136,8,48,8,136,112,3,3,3, - 6,1,10,32,96,128,7,13,13,9,1,252,130,130,130,130, - 130,130,130,134,250,128,128,128,128,7,15,15,9,1,253,62, - 116,244,244,244,244,116,52,20,20,20,20,20,20,20,1,2, - 2,5,2,4,128,128,4,4,4,6,0,252,32,32,144,96, - 3,7,7,6,0,5,32,224,32,32,32,32,32,4,7,7, - 6,1,5,96,144,144,144,96,0,240,6,6,6,9,1,2, - 144,72,36,36,72,144,12,12,24,14,0,0,32,64,224,128, - 32,128,33,0,34,0,34,32,36,96,4,160,9,32,17,240, - 16,32,32,32,12,13,26,14,0,0,0,64,32,128,224,128, - 33,0,34,0,34,0,36,224,37,16,9,16,8,32,16,192, - 33,0,33,240,13,12,24,14,0,0,112,64,136,64,8,128, - 48,128,9,0,137,16,114,48,2,80,4,144,4,248,8,16, - 8,16,7,12,12,10,1,253,16,16,0,16,16,32,64,128, - 130,130,68,56,10,16,32,11,0,0,16,0,24,0,4,0, - 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, - 127,128,64,128,64,128,128,64,128,64,10,16,32,11,0,0, - 2,0,6,0,8,0,0,0,12,0,12,0,18,0,18,0, - 18,0,33,0,33,0,127,128,64,128,64,128,128,64,128,64, - 10,16,32,11,0,0,4,0,14,0,17,0,0,0,12,0, - 12,0,18,0,18,0,18,0,33,0,33,0,127,128,64,128, - 64,128,128,64,128,64,10,15,30,11,0,0,26,0,44,0, - 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, - 127,128,64,128,64,128,128,64,128,64,10,15,30,11,0,0, - 18,0,18,0,0,0,12,0,12,0,18,0,18,0,18,0, - 33,0,33,0,127,128,64,128,64,128,128,64,128,64,10,15, - 30,11,0,0,12,0,18,0,18,0,12,0,12,0,18,0, - 18,0,18,0,33,0,33,0,127,128,64,128,64,128,128,64, - 128,64,14,12,24,16,0,0,7,252,9,0,9,0,17,0, - 17,0,33,252,33,0,127,0,65,0,65,0,129,0,129,252, - 10,16,32,12,1,252,15,0,48,128,64,64,64,0,128,0, - 128,0,128,0,128,0,64,0,64,64,48,128,15,0,4,0, - 4,0,18,0,12,0,8,16,16,11,1,0,32,48,8,0, - 255,128,128,128,128,255,128,128,128,128,128,255,8,16,16,11, - 1,0,4,12,16,0,255,128,128,128,128,255,128,128,128,128, - 128,255,8,16,16,11,1,0,16,56,68,0,255,128,128,128, - 128,255,128,128,128,128,128,255,8,15,15,11,1,0,36,36, - 0,255,128,128,128,128,255,128,128,128,128,128,255,3,16,16, - 4,0,0,128,192,32,0,64,64,64,64,64,64,64,64,64, - 64,64,64,3,16,16,4,0,0,32,96,128,0,64,64,64, - 64,64,64,64,64,64,64,64,64,5,16,16,4,255,0,32, - 112,136,0,32,32,32,32,32,32,32,32,32,32,32,32,3, - 15,15,4,0,0,160,160,0,64,64,64,64,64,64,64,64, - 64,64,64,64,12,12,24,12,0,0,63,0,32,192,32,32, - 32,32,32,16,248,16,32,16,32,16,32,32,32,32,32,192, - 63,0,9,15,30,12,1,0,26,0,44,0,0,0,128,128, - 192,128,160,128,160,128,144,128,136,128,136,128,132,128,130,128, - 130,128,129,128,128,128,11,16,32,13,1,0,8,0,12,0, - 2,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, - 128,32,128,32,64,64,64,64,49,128,14,0,11,16,32,13, - 1,0,1,0,3,0,4,0,0,0,14,0,49,128,64,64, - 64,64,128,32,128,32,128,32,128,32,64,64,64,64,49,128, - 14,0,11,16,32,13,1,0,4,0,14,0,17,0,0,0, - 14,0,49,128,64,64,64,64,128,32,128,32,128,32,128,32, - 64,64,64,64,49,128,14,0,11,15,30,13,1,0,13,0, - 22,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, - 128,32,128,32,64,64,64,64,49,128,14,0,11,15,30,13, - 1,0,17,0,17,0,0,0,14,0,49,128,64,64,64,64, - 128,32,128,32,128,32,128,32,64,64,64,64,49,128,14,0, - 8,8,8,10,1,0,129,66,36,24,24,36,66,129,11,14, - 28,13,1,255,0,64,14,128,49,128,65,64,66,64,130,32, - 132,32,132,32,136,32,72,64,80,64,49,128,46,0,64,0, - 9,16,32,12,1,0,32,0,48,0,8,0,0,0,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,9,16,32,12,1,0,2,0,6,0, - 8,0,0,0,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,65,0,62,0,9,16,32,12, - 1,0,8,0,28,0,34,0,0,0,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, - 62,0,9,15,30,12,1,0,34,0,34,0,0,0,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,65,0,62,0,9,16,32,11,1,0,2,0,6,0, - 8,0,0,0,128,128,65,0,65,0,34,0,34,0,20,0, - 28,0,8,0,8,0,8,0,8,0,8,0,8,12,12,11, - 2,0,128,128,252,130,129,129,130,252,128,128,128,128,7,12, - 12,10,2,0,120,132,130,130,132,188,134,130,130,130,132,184, - 8,13,13,9,1,0,32,48,8,0,124,130,2,6,122,130, - 130,134,123,8,13,13,9,1,0,4,12,16,0,124,130,2, - 6,122,130,130,134,123,8,13,13,9,1,0,16,56,68,0, - 124,130,2,6,122,130,130,134,123,8,12,12,9,1,0,52, - 88,0,124,130,2,6,122,130,130,134,123,8,12,12,9,1, - 0,40,40,0,124,130,2,6,122,130,130,134,123,8,13,13, - 9,1,0,16,40,16,0,124,130,2,6,122,130,130,134,123, - 13,9,18,15,1,0,124,224,131,16,2,8,6,8,123,248, - 130,0,130,8,135,16,120,224,7,13,13,8,1,252,56,68, - 130,128,128,128,130,68,56,16,16,72,48,7,13,13,9,1, - 0,64,96,16,0,56,68,130,130,254,128,130,68,56,7,13, - 13,9,1,0,8,24,32,0,56,68,130,130,254,128,130,68, - 56,7,13,13,9,1,0,16,56,68,0,56,68,130,130,254, - 128,130,68,56,7,12,12,9,1,0,40,40,0,56,68,130, - 130,254,128,130,68,56,3,13,13,4,1,0,128,192,32,0, - 64,64,64,64,64,64,64,64,64,3,13,13,4,1,0,32, - 96,128,0,64,64,64,64,64,64,64,64,64,5,13,13,4, - 0,0,32,112,136,0,32,32,32,32,32,32,32,32,32,3, - 12,12,4,1,0,160,160,0,64,64,64,64,64,64,64,64, - 64,7,12,12,9,1,0,72,48,88,60,68,130,130,130,130, - 130,68,56,7,12,12,9,1,0,52,88,0,188,194,130,130, - 130,130,130,130,130,7,13,13,9,1,0,32,48,8,0,56, - 68,130,130,130,130,130,68,56,7,13,13,9,1,0,8,24, - 32,0,56,68,130,130,130,130,130,68,56,7,13,13,9,1, - 0,16,56,68,0,56,68,130,130,130,130,130,68,56,7,12, - 12,9,1,0,52,88,0,56,68,130,130,130,130,130,68,56, - 7,12,12,9,1,0,40,40,0,56,68,130,130,130,130,130, - 68,56,7,9,9,10,1,0,16,16,0,0,254,0,0,16, - 16,7,10,10,10,1,0,2,60,68,138,146,146,162,162,68, - 184,7,13,13,9,1,0,32,48,8,0,130,130,130,130,130, - 130,130,134,122,7,13,13,9,1,0,4,12,16,0,130,130, - 130,130,130,130,130,134,122,7,13,13,9,1,0,16,56,68, - 0,130,130,130,130,130,130,130,134,122,7,12,12,9,1,0, - 40,40,0,130,130,130,130,130,130,130,134,122,7,16,16,8, - 0,253,8,24,32,0,130,130,68,68,40,40,56,16,16,32, - 32,192,7,16,16,9,1,252,128,128,128,184,196,130,130,130, - 130,130,196,184,128,128,128,128,7,15,15,8,0,253,40,40, - 0,130,130,68,68,40,40,56,16,16,32,32,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 12 - Calculated Max Values w= 9 h=12 x= 3 y= 7 dx=10 dy= 0 ascent=12 len=18 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =12 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =12 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12n[290] U8G_FONT_SECTION("u8g_font_helvR12n") = { - 0,20,26,254,250,12,0,0,0,0,42,58,0,12,254,12, - 0,5,5,5,6,0,7,32,168,112,80,136,9,9,18,10, - 0,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,2,4,4,4,1,254,64,64,64,128,4,1, - 1,5,0,4,240,1,2,2,4,2,0,128,128,4,12,12, - 5,0,0,16,16,32,32,32,32,64,64,64,128,128,128,7, - 12,12,9,1,0,56,68,68,130,130,130,130,130,130,68,68, - 56,3,12,12,9,3,0,32,32,96,160,32,32,32,32,32, - 32,32,32,7,12,12,9,1,0,56,68,130,130,2,4,8, - 48,64,128,128,254,7,12,12,9,1,0,56,68,130,130,4, - 56,4,2,130,130,68,56,8,12,12,9,0,0,12,20,20, - 36,36,68,68,132,255,4,4,4,7,12,12,9,1,0,62, - 32,32,64,120,68,2,2,2,130,68,56,7,12,12,9,1, - 0,60,66,130,128,184,196,130,130,130,130,68,56,8,12,12, - 9,0,0,255,1,2,4,4,8,8,16,16,16,32,32,7, - 12,12,9,1,0,56,68,130,130,68,56,68,130,130,130,68, - 56,7,12,12,9,1,0,56,68,130,130,130,130,70,58,2, - 130,132,120,1,9,9,4,2,0,128,128,0,0,0,0,0, - 128,128}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=13 h=16 x= 3 y=10 dx=17 dy= 0 ascent=13 len=28 - Font Bounding box w=20 h=26 x=-2 y=-6 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =12 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR12r[1907] U8G_FONT_SECTION("u8g_font_helvR12r") = { - 0,20,26,254,250,12,2,91,5,99,32,127,252,13,252,12, - 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, - 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, - 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, - 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, - 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, - 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, - 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, - 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, - 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, - 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, - 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, - 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, - 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, - 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, - 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, - 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, - 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, - 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, - 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, - 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, - 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, - 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, - 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, - 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, - 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, - 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, - 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, - 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, - 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, - 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, - 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, - 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, - 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, - 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, - 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, - 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, - 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, - 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, - 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, - 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, - 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, - 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, - 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, - 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, - 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, - 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, - 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, - 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, - 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, - 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, - 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, - 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, - 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, - 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, - 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, - 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, - 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, - 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, - 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, - 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, - 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, - 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, - 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, - 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, - 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, - 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, - 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, - 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, - 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, - 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, - 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, - 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, - 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, - 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, - 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, - 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, - 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, - 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, - 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, - 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, - 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, - 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, - 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, - 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, - 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, - 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, - 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, - 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, - 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, - 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, - 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, - 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, - 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, - 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, - 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, - 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, - 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, - 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, - 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, - 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, - 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, - 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, - 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, - 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, - 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, - 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, - 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, - 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, - 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, - 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, - 113,142,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=12 dx=18 dy= 0 ascent=18 len=36 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_FONT_SECTION("u8g_font_helvR14") = { - 0,22,29,254,249,14,2,149,6,82,32,255,252,18,252,14, - 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, - 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, - 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, - 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, - 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, - 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, - 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, - 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, - 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, - 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, - 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, - 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, - 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, - 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, - 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, - 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, - 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, - 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, - 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, - 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, - 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, - 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, - 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, - 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, - 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, - 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, - 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, - 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, - 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, - 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, - 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, - 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, - 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, - 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, - 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, - 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, - 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, - 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, - 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, - 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, - 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, - 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, - 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, - 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, - 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, - 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, - 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, - 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, - 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, - 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, - 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, - 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, - 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, - 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, - 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, - 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, - 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, - 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, - 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, - 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, - 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, - 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, - 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, - 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, - 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, - 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, - 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, - 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, - 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, - 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, - 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, - 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, - 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, - 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, - 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, - 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, - 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, - 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, - 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, - 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, - 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, - 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, - 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, - 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, - 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, - 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, - 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, - 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, - 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, - 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, - 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, - 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, - 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, - 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, - 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, - 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, - 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, - 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, - 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, - 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, - 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, - 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, - 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, - 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, - 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, - 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, - 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, - 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, - 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, - 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, - 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, - 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, - 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, - 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, - 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, - 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, - 3,3,10,1,4,115,255,206,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,5,0,1,2, - 14,14,6,2,252,192,192,0,0,64,64,192,192,192,192,192, - 192,192,192,8,14,14,10,1,254,4,4,62,127,107,200,200, - 200,200,107,127,62,16,16,9,13,26,10,0,0,30,0,63, - 0,97,128,97,128,96,0,48,0,126,0,24,0,24,0,48, - 0,96,128,255,128,223,0,8,7,7,10,1,3,195,255,102, - 102,102,255,195,8,13,13,10,1,0,195,195,102,102,102,60, - 255,24,255,24,24,24,24,2,18,18,5,1,252,192,192,192, - 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,8, - 18,18,10,1,252,60,126,195,195,240,124,110,199,195,227,115, - 62,14,7,195,195,126,60,5,2,2,6,0,12,216,216,13, - 14,28,15,1,0,15,128,48,96,64,16,71,16,136,136,144, - 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, - 128,5,8,8,7,1,6,112,152,56,72,216,104,0,248,7, - 6,6,9,1,2,54,108,216,216,108,54,9,5,10,11,1, - 3,255,128,255,128,1,128,1,128,1,128,5,1,1,6,0, - 5,248,13,14,28,14,0,0,15,128,48,96,64,16,79,144, - 136,72,136,72,136,72,143,136,137,8,136,136,72,80,64,16, - 48,96,15,128,5,1,1,5,0,12,248,5,5,5,7,1, - 8,112,216,136,216,112,8,11,11,10,1,0,24,24,24,255, - 255,24,24,24,0,255,255,5,8,8,6,0,5,112,248,152, - 24,48,96,248,248,5,8,8,6,0,5,112,248,152,48,48, - 152,248,112,4,3,3,4,0,11,48,96,192,8,14,14,10, - 1,252,195,195,195,195,195,195,195,231,255,219,192,192,192,192, - 8,18,18,10,1,252,63,114,242,242,242,242,242,114,50,18, - 18,18,18,18,18,18,18,18,2,2,2,4,1,4,192,192, - 5,5,5,5,0,252,96,112,24,216,240,4,8,8,6,0, - 5,48,240,240,48,48,48,48,48,5,8,8,7,1,6,112, - 216,136,136,216,112,0,248,7,6,6,9,1,2,216,108,54, - 54,108,216,14,13,26,15,0,0,48,48,240,48,240,96,48, - 192,48,192,49,136,49,24,51,56,6,120,6,216,12,252,24, - 24,24,24,14,13,26,15,0,0,48,48,240,48,240,96,48, - 192,48,192,49,184,49,124,51,76,6,12,6,24,12,48,24, - 124,24,124,14,13,26,15,0,0,112,48,248,48,152,96,48, - 192,48,192,153,136,249,24,115,56,6,120,6,216,12,252,24, - 24,24,24,7,14,14,10,1,252,24,24,0,0,24,24,24, - 56,112,224,198,198,254,124,12,18,36,13,0,0,24,0,12, - 0,6,0,0,0,6,0,6,0,15,0,15,0,25,128,25, - 128,48,192,48,192,63,192,127,224,96,96,96,96,192,48,192, - 48,12,18,36,13,0,0,1,128,3,0,6,0,0,0,6, - 0,6,0,15,0,15,0,25,128,25,128,48,192,48,192,63, - 192,127,224,96,96,96,96,192,48,192,48,12,18,36,13,0, - 0,6,0,15,0,25,128,0,0,6,0,6,0,15,0,15, - 0,25,128,25,128,48,192,48,192,63,192,127,224,96,96,96, - 96,192,48,192,48,12,18,36,13,0,0,12,128,22,128,19, - 0,0,0,6,0,6,0,15,0,15,0,25,128,25,128,48, - 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,12, - 17,34,13,0,0,25,128,25,128,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,12,17,34,13,0,0,6,0,9, - 0,9,0,6,0,6,0,15,0,15,0,25,128,25,128,48, - 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,16, - 14,28,18,1,0,7,255,7,255,13,128,13,128,25,128,25, - 128,49,254,49,254,63,128,127,128,97,128,97,128,193,255,193, - 255,12,18,36,14,1,252,15,128,63,224,112,112,96,48,224, - 0,192,0,192,0,192,0,192,0,224,0,96,48,112,112,63, - 224,15,128,6,0,3,0,27,0,30,0,10,18,36,13,2, - 0,48,0,24,0,12,0,0,0,255,192,255,192,192,0,192, - 0,192,0,192,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,192,255,192,10,18,36,13,2,0,3,0,6,0,12, - 0,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,10, - 18,36,13,2,0,12,0,30,0,51,0,0,0,255,192,255, - 192,192,0,192,0,192,0,192,0,255,128,255,128,192,0,192, - 0,192,0,192,0,255,192,255,192,10,17,34,13,2,0,51, - 0,51,0,0,0,255,192,255,192,192,0,192,0,192,0,192, - 0,255,128,255,128,192,0,192,0,192,0,192,0,255,192,255, - 192,4,18,18,6,0,0,192,96,48,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,4,18,18,6,2,0,48, - 96,192,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,6,18,18,6,0,0,48,120,132,0,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,6,17,17,6,0,0,204, - 204,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 14,14,28,14,255,0,63,224,63,240,48,56,48,24,48,12, - 48,12,254,12,254,12,48,12,48,12,48,24,48,56,63,240, - 63,224,11,18,36,14,1,0,12,128,22,128,19,0,0,0, - 192,96,224,96,240,96,240,96,216,96,204,96,204,96,198,96, - 198,96,195,96,193,224,193,224,192,224,192,96,13,18,36,15, - 1,0,24,0,12,0,6,0,0,0,15,128,63,224,112,112, - 96,48,224,56,192,24,192,24,192,24,192,24,224,56,96,48, - 112,112,63,224,15,128,13,18,36,15,1,0,1,128,3,0, - 6,0,0,0,15,128,63,224,112,112,96,48,224,56,192,24, - 192,24,192,24,192,24,224,56,96,48,112,112,63,224,15,128, - 13,18,36,15,1,0,3,0,7,128,12,192,0,0,15,128, - 63,224,112,112,96,48,224,56,192,24,192,24,192,24,192,24, - 224,56,96,48,112,112,63,224,15,128,13,18,36,15,1,0, - 6,64,11,64,9,128,0,0,15,128,63,224,112,112,96,48, - 224,56,192,24,192,24,192,24,192,24,224,56,96,48,112,112, - 63,224,15,128,13,17,34,15,1,0,12,192,12,192,0,0, - 15,128,63,224,112,112,96,48,224,56,192,24,192,24,192,24, - 192,24,224,56,96,48,112,112,63,224,15,128,10,9,18,10, - 0,0,192,192,97,128,51,0,30,0,12,0,30,0,51,0, - 97,128,192,192,14,14,28,15,0,0,7,204,31,248,56,48, - 48,120,112,220,97,140,99,12,98,12,102,12,108,28,56,24, - 56,56,111,240,199,192,11,18,36,14,1,0,24,0,12,0, - 6,0,0,0,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,96,192,127,192,31,0, - 11,18,36,14,1,0,3,0,6,0,12,0,0,0,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,96,192,127,192,31,0,11,18,36,14,1,0, - 6,0,15,0,25,128,0,0,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,96,192, - 127,192,31,0,11,17,34,14,1,0,49,128,49,128,0,0, - 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, - 192,96,192,96,192,96,96,192,127,192,31,0,12,18,36,13, - 0,0,1,128,3,0,6,0,0,0,192,48,192,48,96,96, - 96,96,48,192,57,192,25,128,15,0,6,0,6,0,6,0, - 6,0,6,0,6,0,10,14,28,12,1,0,192,0,192,0, - 192,0,255,0,255,128,193,192,192,192,192,192,193,192,255,128, - 255,0,192,0,192,0,192,0,7,14,14,9,1,0,56,124, - 198,198,198,198,220,220,198,198,198,198,222,220,9,14,28,11, - 1,0,48,0,24,0,12,0,0,0,126,0,231,0,195,0, - 7,0,127,0,227,0,195,0,195,0,231,128,121,128,9,14, - 28,11,1,0,12,0,24,0,48,0,0,0,126,0,231,0, - 195,0,7,0,127,0,227,0,195,0,195,0,231,128,121,128, - 9,14,28,11,1,0,24,0,60,0,102,0,0,0,126,0, - 231,0,195,0,7,0,127,0,227,0,195,0,195,0,231,128, - 121,128,9,14,28,11,1,0,50,0,90,0,76,0,0,0, - 126,0,231,0,195,0,7,0,127,0,227,0,195,0,195,0, - 231,128,121,128,9,14,28,11,1,0,102,0,102,0,0,0, - 0,0,126,0,231,0,195,0,7,0,127,0,227,0,195,0, - 195,0,231,128,121,128,9,14,28,11,1,0,24,0,36,0, - 36,0,24,0,126,0,231,0,195,0,7,0,127,0,227,0, - 195,0,195,0,231,128,121,128,14,10,20,17,2,0,126,240, - 231,248,195,12,7,12,127,252,227,0,195,0,195,140,231,252, - 122,240,8,14,14,10,1,252,62,127,99,192,192,192,192,99, - 127,62,24,12,108,120,8,14,14,10,1,0,48,24,12,0, - 60,126,195,195,255,192,192,227,127,60,8,14,14,10,1,0, - 12,24,48,0,60,126,195,195,255,192,192,227,127,60,8,14, - 14,10,1,0,24,60,102,0,60,126,195,195,255,192,192,227, - 127,60,8,14,14,10,1,0,102,102,0,0,60,126,195,195, - 255,192,192,227,127,60,4,14,14,4,0,0,192,96,48,0, - 96,96,96,96,96,96,96,96,96,96,4,14,14,4,0,0, - 48,96,192,0,96,96,96,96,96,96,96,96,96,96,6,14, - 14,4,255,0,48,120,204,0,48,48,48,48,48,48,48,48, - 48,48,5,14,14,4,0,0,216,216,0,0,96,96,96,96, - 96,96,96,96,96,96,9,14,28,11,1,0,96,0,54,0, - 56,0,76,0,62,0,127,0,99,0,193,128,193,128,193,128, - 193,128,99,0,127,0,62,0,8,14,14,10,1,0,50,90, - 76,0,222,255,227,195,195,195,195,195,195,195,9,14,28,11, - 1,0,48,0,24,0,12,0,0,0,62,0,127,0,99,0, - 193,128,193,128,193,128,193,128,99,0,127,0,62,0,9,14, - 28,11,1,0,6,0,12,0,24,0,0,0,62,0,127,0, - 99,0,193,128,193,128,193,128,193,128,99,0,127,0,62,0, - 9,14,28,11,1,0,24,0,60,0,102,0,0,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,0,50,0,90,0,76,0,0,0, - 62,0,127,0,99,0,193,128,193,128,193,128,193,128,99,0, - 127,0,62,0,9,14,28,11,1,0,51,0,51,0,0,0, - 0,0,62,0,127,0,99,0,193,128,193,128,193,128,193,128, - 99,0,127,0,62,0,8,8,8,10,1,1,24,24,0,255, - 255,0,24,24,11,10,20,11,0,0,14,96,63,192,49,128, - 99,192,102,192,108,192,120,192,49,128,127,128,206,0,8,14, - 14,10,1,0,48,24,12,0,195,195,195,195,195,195,195,199, - 255,123,8,14,14,10,1,0,6,12,24,0,195,195,195,195, - 195,195,195,199,255,123,8,14,14,10,1,0,24,60,102,0, - 195,195,195,195,195,195,195,199,255,123,8,14,14,10,1,0, - 102,102,0,0,195,195,195,195,195,195,195,199,255,123,8,18, - 18,10,1,252,6,12,24,0,195,195,195,102,102,102,36,60, - 24,24,24,24,112,112,9,18,36,11,1,252,192,0,192,0, - 192,0,192,0,222,0,255,0,227,0,193,128,193,128,193,128, - 193,128,227,0,255,0,222,0,192,0,192,0,192,0,192,0, - 8,18,18,10,1,252,102,102,0,0,195,195,195,102,102,102, - 36,60,24,24,24,24,112,112}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 13 - Calculated Max Values w= 9 h=14 x= 2 y= 7 dx=10 dy= 0 ascent=14 len=26 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =13 descent= 0 - X Font ascent =13 descent= 0 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14n[311] U8G_FONT_SECTION("u8g_font_helvR14n") = { - 0,22,29,254,249,13,0,0,0,0,42,58,0,14,253,13, - 0,5,7,7,7,1,7,32,168,248,32,248,168,32,8,10, - 10,10,1,0,24,24,24,24,255,255,24,24,24,24,2,5, - 5,5,1,253,192,192,64,64,128,5,1,1,6,0,5,248, - 2,2,2,5,1,0,192,192,5,14,14,5,0,0,24,24, - 24,24,48,48,48,96,96,96,192,192,192,192,8,13,13,10, - 1,0,60,126,102,195,195,195,195,195,195,195,102,126,60,5, - 13,13,10,2,0,24,248,248,24,24,24,24,24,24,24,24, - 24,24,8,13,13,10,1,0,60,254,195,3,7,14,28,56, - 112,224,192,255,255,8,13,13,10,1,0,62,127,195,195,6, - 28,30,7,3,195,199,126,60,9,13,26,10,0,0,3,0, - 7,0,15,0,27,0,51,0,51,0,99,0,195,0,255,128, - 255,128,3,0,3,0,3,0,8,13,13,10,1,0,254,254, - 192,192,252,254,199,3,3,195,199,254,124,8,13,13,10,1, - 0,60,127,99,192,192,220,254,195,195,195,227,126,60,8,13, - 13,10,1,0,255,255,3,6,12,12,24,24,48,48,96,96, - 96,8,13,13,10,1,0,60,126,231,195,195,102,126,231,195, - 195,231,126,60,8,13,13,10,1,0,60,126,199,195,195,195, - 127,59,3,3,198,254,124,2,10,10,5,1,0,192,192,0, - 0,0,0,0,0,192,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 13 - Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 - Font Bounding box w=22 h=29 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR14r[2281] U8G_FONT_SECTION("u8g_font_helvR14r") = { - 0,22,29,254,249,14,2,149,6,82,32,127,252,14,252,14, - 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, - 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, - 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, - 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, - 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, - 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, - 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, - 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, - 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, - 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, - 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, - 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, - 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, - 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, - 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, - 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, - 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, - 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, - 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, - 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, - 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, - 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, - 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, - 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, - 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, - 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, - 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, - 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, - 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, - 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, - 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, - 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, - 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, - 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, - 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, - 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, - 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, - 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, - 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, - 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, - 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, - 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, - 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, - 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, - 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, - 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, - 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, - 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, - 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, - 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, - 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, - 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, - 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, - 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, - 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, - 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, - 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, - 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, - 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, - 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, - 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, - 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, - 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, - 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, - 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, - 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, - 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, - 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, - 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, - 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, - 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, - 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, - 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, - 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, - 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, - 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, - 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, - 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, - 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, - 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, - 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, - 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, - 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, - 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, - 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, - 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, - 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, - 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, - 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, - 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, - 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, - 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, - 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, - 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, - 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, - 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, - 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, - 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, - 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, - 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, - 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, - 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, - 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, - 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, - 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, - 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, - 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, - 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, - 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, - 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, - 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, - 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, - 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, - 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, - 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, - 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, - 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, - 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, - 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, - 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, - 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, - 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, - 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, - 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, - 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, - 3,3,10,1,4,115,255,206,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=16 dx=25 dy= 0 ascent=24 len=69 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_FONT_SECTION("u8g_font_helvR18") = { - 0,28,37,253,248,19,4,37,9,49,32,255,251,24,251,19, - 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, - 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, - 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, - 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, - 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, - 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, - 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, - 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, - 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, - 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, - 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, - 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, - 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, - 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, - 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, - 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, - 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, - 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, - 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, - 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, - 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, - 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, - 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, - 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, - 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, - 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, - 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, - 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, - 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, - 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, - 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, - 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, - 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, - 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, - 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, - 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, - 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, - 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, - 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, - 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, - 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, - 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, - 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, - 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, - 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, - 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, - 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, - 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, - 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, - 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, - 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, - 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, - 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, - 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, - 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, - 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, - 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, - 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, - 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, - 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, - 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, - 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, - 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, - 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, - 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, - 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, - 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, - 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, - 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, - 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, - 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, - 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, - 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, - 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, - 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, - 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, - 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, - 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, - 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, - 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, - 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, - 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, - 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, - 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, - 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, - 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, - 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, - 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, - 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, - 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, - 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, - 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, - 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, - 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, - 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, - 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, - 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, - 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, - 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, - 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, - 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, - 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, - 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, - 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, - 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, - 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, - 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, - 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, - 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, - 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, - 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, - 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, - 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, - 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, - 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, - 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, - 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, - 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, - 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, - 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, - 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, - 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, - 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, - 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, - 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, - 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, - 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, - 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, - 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, - 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, - 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, - 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, - 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, - 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, - 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, - 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, - 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, - 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, - 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, - 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, - 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, - 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, - 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, - 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, - 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, - 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, - 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, - 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, - 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, - 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, - 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, - 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, - 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, - 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, - 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, - 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, - 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, - 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, - 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, - 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, - 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, - 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, - 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, - 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, - 207,192,195,128,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,1,2,19,19,6,2, - 251,192,192,192,0,0,64,64,192,192,192,192,192,192,192,192, - 192,192,192,192,10,18,36,13,1,254,1,128,1,128,31,0, - 63,128,115,192,102,192,198,0,204,0,204,0,204,0,216,0, - 216,0,216,192,113,192,127,128,63,0,96,0,96,0,12,18, - 36,14,1,0,31,128,63,224,112,112,96,48,96,0,112,0, - 48,0,24,0,255,128,255,128,24,0,24,0,24,0,48,0, - 48,0,103,48,255,240,240,224,11,12,24,13,1,3,192,96, - 238,224,127,192,49,128,96,192,96,192,96,192,96,192,49,128, - 127,192,238,224,192,96,14,18,36,14,0,0,224,28,96,24, - 112,56,48,48,56,112,24,96,28,224,12,192,63,240,63,240, - 3,0,63,240,63,240,3,0,3,0,3,0,3,0,3,0, - 2,24,24,6,2,251,192,192,192,192,192,192,192,192,192,192, - 0,0,0,0,192,192,192,192,192,192,192,192,192,192,11,24, - 48,13,1,251,31,0,63,128,113,192,96,192,112,192,56,0, - 28,0,126,0,231,0,195,128,193,192,192,192,96,96,112,96, - 56,96,28,192,15,128,7,0,3,128,97,192,96,192,113,192, - 63,128,31,0,6,2,2,8,1,16,204,204,19,19,57,19, - 1,0,3,248,0,14,14,0,48,1,128,96,0,192,65,240, - 64,195,24,96,134,12,32,132,0,32,132,0,32,132,0,32, - 132,0,32,134,12,32,195,24,96,65,240,64,96,0,192,48, - 1,128,24,3,0,14,14,0,3,248,0,7,12,12,9,1, - 7,120,204,204,28,108,204,204,220,118,0,254,254,9,8,16, - 14,2,3,25,128,51,0,102,0,204,0,204,0,102,0,51, - 0,25,128,13,8,16,15,1,2,255,248,255,248,0,24,0, - 24,0,24,0,24,0,24,0,24,6,2,2,8,1,6,252, - 252,18,19,57,19,1,0,7,248,0,28,14,0,48,3,0, - 96,1,128,67,240,128,194,24,192,130,8,64,130,8,64,130, - 8,64,130,16,64,131,240,64,130,32,64,130,16,64,194,16, - 192,66,8,128,96,1,128,48,3,0,28,14,0,7,248,0, - 6,2,2,8,1,16,252,252,8,7,7,9,0,11,60,102, - 195,195,195,102,60,12,13,26,14,1,0,6,0,6,0,6, - 0,6,0,255,240,255,240,6,0,6,0,6,0,6,0,0, - 0,255,240,255,240,7,10,10,7,0,8,60,126,198,6,12, - 24,48,96,254,254,7,10,10,7,0,8,124,254,198,6,60, - 60,6,198,254,124,5,4,4,7,1,15,24,48,96,192,10, - 19,38,14,2,251,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,193,192,227,192,254,192,220, - 192,192,0,192,0,192,0,192,0,192,0,10,24,48,12,1, - 251,31,192,127,192,125,128,253,128,253,128,253,128,253,128,253, - 128,253,128,125,128,125,128,61,128,13,128,13,128,13,128,13, - 128,13,128,13,128,13,128,13,128,13,128,13,128,13,128,13, - 128,2,3,3,6,2,6,192,192,192,5,6,6,7,1,251, - 96,112,24,24,248,112,4,10,10,7,0,8,48,48,240,240, - 48,48,48,48,48,48,7,12,12,9,1,7,56,108,198,198, - 198,198,198,108,56,0,254,254,9,8,16,14,3,3,204,0, - 102,0,51,0,25,128,25,128,51,0,102,0,204,0,18,18, - 54,19,1,0,48,24,0,48,24,0,240,48,0,240,48,0, - 48,96,0,48,96,0,48,192,0,48,192,0,49,131,0,49, - 135,0,3,15,0,3,15,0,6,27,0,6,51,0,12,127, - 192,12,127,192,24,3,0,24,3,0,18,18,54,19,1,0, - 48,24,0,48,24,0,240,48,0,240,48,0,48,96,0,48, - 96,0,48,192,0,48,192,0,49,135,128,49,143,192,3,24, - 192,3,0,192,6,1,128,6,3,0,12,6,0,12,12,0, - 24,31,192,24,31,192,19,18,54,19,0,0,124,12,0,254, - 12,0,198,24,0,6,24,0,60,48,0,60,48,0,6,96, - 0,198,96,0,254,193,128,124,195,128,1,135,128,1,135,128, - 3,13,128,3,25,128,6,63,224,6,63,224,12,1,128,12, - 1,128,10,19,38,12,1,251,12,0,12,0,12,0,0,0, - 0,0,12,0,12,0,12,0,12,0,24,0,56,0,112,0, - 96,0,224,192,192,192,193,192,227,128,127,128,62,0,15,24, - 48,17,1,0,12,0,6,0,3,0,1,128,0,0,3,128, - 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, - 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, - 192,6,192,6,15,24,48,17,1,0,0,96,0,192,1,128, - 3,0,0,0,3,128,3,128,6,192,6,192,12,64,12,96, - 12,96,24,48,24,48,24,48,48,24,63,248,63,248,96,12, - 96,12,96,12,192,6,192,6,192,6,15,24,48,17,1,0, - 1,128,3,192,6,96,12,48,0,0,3,128,3,128,6,192, - 6,192,12,64,12,96,12,96,24,48,24,48,24,48,48,24, - 63,248,63,248,96,12,96,12,96,12,192,6,192,6,192,6, - 15,23,46,17,1,0,7,16,13,176,8,224,0,0,3,128, - 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, - 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, - 192,6,192,6,15,23,46,17,1,0,12,96,12,96,0,0, - 0,0,3,128,3,128,6,192,6,192,12,64,12,96,12,96, - 24,48,24,48,24,48,48,24,63,248,63,248,96,12,96,12, - 96,12,192,6,192,6,192,6,15,24,48,17,1,0,3,128, - 4,64,4,64,3,128,0,0,3,128,3,128,6,192,6,192, - 12,64,12,96,12,96,24,48,24,48,24,48,48,24,63,248, - 63,248,96,12,96,12,96,12,192,6,192,6,192,6,21,19, - 57,23,1,0,3,255,248,3,255,248,6,96,0,6,96,0, - 12,96,0,12,96,0,12,96,0,24,96,0,24,127,248,24, - 127,248,48,96,0,63,224,0,63,224,0,96,96,0,96,96, - 0,96,96,0,192,96,0,192,127,248,192,127,248,15,24,48, - 18,1,251,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,1,128,0,192,0,192,7, - 192,3,128,12,24,48,16,2,0,48,0,24,0,12,0,6, - 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, - 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,255,240,255,240,12,24,48,16,2,0,1, - 128,3,0,6,0,12,0,0,0,255,240,255,240,192,0,192, - 0,192,0,192,0,192,0,192,0,255,224,255,224,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,255,240,255,240,12, - 24,48,16,2,0,6,0,15,0,25,128,48,192,0,0,255, - 240,255,240,192,0,192,0,192,0,192,0,192,0,192,0,255, - 224,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,255,240,255,240,12,23,46,16,2,0,24,192,24,192,0, - 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, - 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,255,240,255,240,5,24,24,8,1,0,192, - 96,48,24,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,5,24,24,8,2,0,24,48,96, - 192,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96, - 96,96,96,96,96,8,24,24,8,0,0,24,60,102,195,0, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,6,23,23,8,1,0,204,204,0,0,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 18,19,57,18,255,0,31,248,0,31,254,0,24,15,0,24, - 3,128,24,1,128,24,1,192,24,0,192,24,0,192,255,128, - 192,255,128,192,24,0,192,24,0,192,24,0,192,24,1,192, - 24,1,128,24,3,128,24,15,0,31,254,0,31,248,0,14, - 23,46,18,2,0,14,32,27,96,17,192,0,0,224,12,240, - 12,240,12,216,12,220,12,204,12,206,12,198,12,199,12,195, - 12,195,140,193,140,193,204,192,204,192,236,192,108,192,60,192, - 60,192,28,16,24,48,18,1,0,12,0,6,0,3,0,1, - 128,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,16,24,48,18,1,0,0, - 48,0,96,0,192,1,128,0,0,7,224,31,248,60,60,112, - 14,96,6,224,7,192,3,192,3,192,3,192,3,192,3,192, - 3,192,3,224,7,96,6,112,14,60,60,31,248,7,224,16, - 24,48,18,1,0,0,192,1,224,3,48,6,24,0,0,7, - 224,31,248,60,60,112,14,96,6,224,7,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,224,7,96,6,112,14,60, - 60,31,248,7,224,16,23,46,18,1,0,3,136,6,216,4, - 112,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,16,23,46,18,1,0,6, - 48,6,48,0,0,0,0,7,224,31,248,60,60,112,14,96, - 6,224,7,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,224,7,96,6,112,14,60,60,31,248,7,224,13,12,24, - 14,0,1,192,24,96,48,48,96,24,192,13,128,7,0,7, - 0,13,128,24,192,48,96,96,48,192,24,18,19,57,18,0, - 0,3,240,192,15,253,192,30,31,128,56,7,0,48,15,0, - 112,29,128,96,57,128,96,113,128,96,225,128,97,193,128,99, - 129,128,103,1,128,110,1,128,124,3,128,56,3,0,56,7, - 0,126,30,0,239,252,0,195,240,0,14,24,48,18,2,0, - 24,0,12,0,6,0,3,0,0,0,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, - 14,24,48,18,2,0,0,96,0,192,1,128,3,0,0,0, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 112,56,63,240,15,192,14,24,48,18,2,0,3,0,7,128, - 12,192,24,96,0,0,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,96,24,112,56,63,240,15,192,14,23,46,18, - 2,0,24,192,24,192,0,0,0,0,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, - 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, - 14,24,48,16,1,0,0,96,0,192,1,128,3,0,0,0, - 192,12,224,28,96,24,112,56,48,48,56,112,24,96,28,224, - 12,192,15,192,7,128,7,128,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,13,19,38,16,2,0,192,0,192,0, - 192,0,192,0,255,224,255,240,192,48,192,24,192,24,192,24, - 192,24,192,48,255,240,255,224,192,0,192,0,192,0,192,0, - 192,0,10,19,38,15,3,0,28,0,127,0,227,0,193,128, - 193,128,193,128,195,0,199,0,206,0,207,0,195,128,193,128, - 192,192,192,192,192,192,193,128,195,128,207,0,206,0,11,19, - 38,13,1,0,24,0,12,0,6,0,3,0,0,0,31,0, - 63,128,97,192,96,192,0,192,7,192,63,192,120,192,224,192, - 192,192,193,192,227,192,126,224,60,96,11,19,38,13,1,0, - 1,128,3,0,6,0,12,0,0,0,31,0,63,128,97,192, - 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, - 227,192,126,224,60,96,11,19,38,13,1,0,12,0,30,0, - 51,0,97,128,0,0,31,0,63,128,97,192,96,192,0,192, - 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, - 60,96,11,18,36,13,1,0,28,64,54,192,35,128,0,0, - 31,0,63,128,97,192,96,192,0,192,7,192,63,192,120,192, - 224,192,192,192,193,192,227,192,126,224,60,96,11,18,36,13, - 1,0,51,0,51,0,0,0,0,0,31,0,63,128,97,192, - 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, - 227,192,126,224,60,96,11,19,38,13,1,0,6,0,9,0, - 9,0,6,0,0,0,31,0,63,128,97,192,96,192,0,192, - 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, - 60,96,19,14,42,21,1,0,31,14,0,63,191,128,97,241, - 192,96,224,192,0,192,96,7,192,96,63,255,224,120,255,224, - 224,192,0,192,192,0,193,224,96,227,240,224,126,63,192,60, - 15,0,10,19,38,12,1,251,31,0,63,128,113,192,96,192, - 224,0,192,0,192,0,192,0,192,0,224,0,96,192,113,192, - 63,128,31,0,12,0,6,0,6,0,62,0,28,0,11,19, - 38,13,1,0,24,0,12,0,6,0,3,0,0,0,14,0, - 63,128,113,192,96,192,192,96,192,96,255,224,255,224,192,0, - 192,0,96,96,112,224,63,192,15,0,11,19,38,13,1,0, - 3,0,6,0,12,0,24,0,0,0,14,0,63,128,113,192, - 96,192,192,96,192,96,255,224,255,224,192,0,192,0,96,96, - 112,224,63,192,15,0,11,19,38,13,1,0,12,0,30,0, - 51,0,97,128,0,0,14,0,63,128,113,192,96,192,192,96, - 192,96,255,224,255,224,192,0,192,0,96,96,112,224,63,192, - 15,0,11,18,36,13,1,0,51,0,51,0,0,0,0,0, - 14,0,63,128,113,192,96,192,192,96,192,96,255,224,255,224, - 192,0,192,0,96,96,112,224,63,192,15,0,5,19,19,6, - 0,0,192,96,48,24,0,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,5,19,19,6,1,0,24,48,96,192,0, - 96,96,96,96,96,96,96,96,96,96,96,96,96,96,8,19, - 19,6,255,0,24,60,102,195,0,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,6,18,18,6,0,0,204,204,0, - 0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,11, - 19,38,13,1,0,96,0,57,128,14,0,30,0,99,0,31, - 128,63,128,113,192,96,192,224,224,192,96,192,96,192,96,192, - 96,224,224,96,192,113,192,63,128,31,0,10,18,36,14,2, - 0,56,128,109,128,71,0,0,0,206,0,223,128,241,128,224, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,11,19,38,13,1,0,24,0,12,0,6, - 0,3,0,0,0,31,0,63,128,113,192,96,192,224,224,192, - 96,192,96,192,96,192,96,224,224,96,192,113,192,63,128,31, - 0,11,19,38,13,1,0,3,0,6,0,12,0,24,0,0, - 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, - 96,192,96,224,224,96,192,113,192,63,128,31,0,11,19,38, - 13,1,0,12,0,30,0,51,0,97,128,0,0,31,0,63, - 128,113,192,96,192,224,224,192,96,192,96,192,96,192,96,224, - 224,96,192,113,192,63,128,31,0,11,18,36,13,1,0,28, - 64,54,192,35,128,0,0,31,0,63,128,113,192,96,192,224, - 224,192,96,192,96,192,96,192,96,224,224,96,192,113,192,63, - 128,31,0,11,18,36,13,1,0,51,0,51,0,0,0,0, - 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, - 96,192,96,224,224,96,192,113,192,63,128,31,0,12,12,24, - 14,1,1,6,0,6,0,6,0,0,0,0,0,255,240,255, - 240,0,0,0,0,6,0,6,0,6,0,13,14,28,13,0, - 0,15,152,31,248,56,112,48,224,113,240,99,176,99,48,102, - 48,108,48,124,112,56,96,112,224,255,192,207,128,10,19,38, - 14,2,0,48,0,24,0,12,0,6,0,0,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,193,192,99,192,126,192,28,192,10,19,38,14,2,0,3, - 0,6,0,12,0,24,0,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,193,192,99, - 192,126,192,28,192,10,19,38,14,2,0,12,0,30,0,51, - 0,97,128,0,0,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,193,192,99,192,126,192,28, - 192,10,18,36,14,2,0,51,0,51,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,193,192,99,192,126,192,28,192,12,24,48,13,0, - 251,0,192,1,128,3,0,6,0,0,0,192,48,192,48,96, - 48,112,96,48,96,56,224,24,192,24,192,13,128,13,128,7, - 128,7,0,3,0,3,0,6,0,6,0,12,0,60,0,56, - 0,11,24,48,14,2,251,192,0,192,0,192,0,192,0,192, - 0,207,0,223,128,241,192,224,192,192,224,192,96,192,96,192, - 96,192,96,192,224,224,192,241,192,223,128,207,0,192,0,192, - 0,192,0,192,0,192,0,12,23,46,13,0,251,25,128,25, - 128,0,0,0,0,192,48,192,48,96,48,112,96,48,96,56, - 224,24,192,24,192,13,128,13,128,7,128,7,0,3,0,3, - 0,6,0,6,0,12,0,60,0,56,0}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=12 h=19 x= 2 y=12 dx=14 dy= 0 ascent=19 len=36 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =19 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18n[536] U8G_FONT_SECTION("u8g_font_helvR18n") = { - 0,28,37,253,248,18,0,0,0,0,42,58,0,19,253,18, - 0,7,7,7,10,1,12,16,16,214,124,56,108,68,12,12, - 24,14,1,1,6,0,6,0,6,0,6,0,6,0,255,240, - 255,240,6,0,6,0,6,0,6,0,6,0,2,6,6,6, - 2,253,192,192,192,64,64,128,6,2,2,8,1,6,252,252, - 2,3,3,6,2,0,192,192,192,7,19,19,7,0,0,6, - 4,12,12,8,24,24,16,16,48,48,32,96,96,64,192,192, - 128,128,11,18,36,13,1,0,31,0,63,128,113,192,96,192, - 96,192,224,224,192,96,192,96,192,96,192,96,192,96,192,96, - 224,224,96,192,96,192,113,192,63,128,31,0,6,18,18,13, - 2,0,12,12,28,252,252,12,12,12,12,12,12,12,12,12, - 12,12,12,12,11,18,36,13,1,0,30,0,127,128,97,192, - 192,192,192,96,192,96,0,224,0,192,1,192,3,128,15,0, - 28,0,56,0,112,0,224,0,192,0,255,224,255,224,11,18, - 36,13,1,0,31,0,127,128,97,128,192,192,192,192,192,192, - 0,192,1,128,15,0,15,192,0,192,0,96,0,96,192,96, - 192,192,97,192,127,128,31,0,11,18,36,13,1,0,1,128, - 3,128,3,128,7,128,15,128,13,128,25,128,57,128,49,128, - 97,128,225,128,193,128,255,224,255,224,1,128,1,128,1,128, - 1,128,11,18,36,13,1,0,127,192,127,192,96,0,96,0, - 96,0,96,0,126,0,127,128,113,192,0,192,0,224,0,96, - 0,96,192,224,192,192,225,192,127,128,30,0,11,18,36,13, - 1,0,15,0,63,192,112,192,96,96,224,96,192,0,192,0, - 207,0,223,128,241,192,224,192,192,96,192,96,192,96,224,224, - 113,192,127,192,31,0,11,18,36,13,1,0,255,224,255,224, - 0,224,0,192,1,128,1,128,3,0,3,0,6,0,6,0, - 12,0,12,0,28,0,24,0,24,0,56,0,48,0,48,0, - 11,18,36,13,1,0,14,0,63,128,49,128,96,192,96,192, - 96,192,49,128,31,0,63,128,113,192,96,192,192,96,192,96, - 192,96,192,96,96,192,127,192,31,0,11,18,36,13,1,0, - 31,0,127,192,113,192,224,192,192,96,192,96,192,96,192,96, - 224,224,113,224,127,96,30,96,0,96,0,224,192,192,225,192, - 127,128,30,0,2,14,14,6,2,0,192,192,192,0,0,0, - 0,0,0,0,0,192,192,192}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 19, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y=15 dx=25 dy= 0 ascent=20 len=69 - Font Bounding box w=28 h=37 x=-3 y=-8 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =19 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR18r[3381] U8G_FONT_SECTION("u8g_font_helvR18r") = { - 0,28,37,253,248,19,4,37,9,49,32,127,251,20,251,19, - 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, - 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, - 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, - 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, - 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, - 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, - 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, - 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, - 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, - 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, - 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, - 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, - 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, - 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, - 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, - 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, - 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, - 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, - 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, - 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, - 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, - 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, - 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, - 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, - 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, - 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, - 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, - 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, - 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, - 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, - 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, - 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, - 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, - 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, - 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, - 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, - 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, - 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, - 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, - 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, - 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, - 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, - 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, - 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, - 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, - 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, - 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, - 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, - 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, - 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, - 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, - 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, - 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, - 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, - 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, - 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, - 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, - 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, - 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, - 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, - 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, - 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, - 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, - 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, - 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, - 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, - 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, - 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, - 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, - 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, - 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, - 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, - 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, - 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, - 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, - 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, - 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, - 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, - 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, - 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, - 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, - 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, - 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, - 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, - 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, - 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, - 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, - 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, - 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, - 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, - 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, - 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, - 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, - 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, - 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, - 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, - 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, - 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, - 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, - 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, - 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, - 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, - 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, - 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, - 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, - 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, - 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, - 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, - 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, - 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, - 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, - 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, - 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, - 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, - 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, - 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, - 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, - 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, - 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, - 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, - 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, - 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, - 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, - 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, - 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, - 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, - 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, - 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, - 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, - 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, - 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, - 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, - 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, - 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, - 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, - 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, - 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, - 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, - 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, - 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, - 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, - 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, - 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, - 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, - 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, - 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, - 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, - 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, - 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, - 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, - 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, - 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, - 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, - 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, - 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, - 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, - 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, - 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, - 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, - 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, - 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, - 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, - 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, - 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, - 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, - 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, - 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, - 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, - 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, - 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, - 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, - 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, - 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, - 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, - 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, - 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, - 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, - 207,192,195,128,255}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=29 h=32 x= 4 y=22 dx=34 dy= 0 ascent=31 len=120 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =31 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_FONT_SECTION("u8g_font_helvR24") = { - 0,39,48,251,245,25,5,215,14,105,32,255,249,31,249,25, - 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, - 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, - 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, - 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, - 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, - 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, - 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, - 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, - 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, - 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, - 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, - 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, - 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, - 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, - 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, - 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, - 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, - 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, - 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, - 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, - 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, - 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, - 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, - 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, - 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, - 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, - 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, - 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, - 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, - 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, - 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, - 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, - 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, - 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, - 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, - 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, - 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, - 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, - 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, - 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, - 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, - 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, - 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, - 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, - 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, - 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, - 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, - 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, - 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, - 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, - 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, - 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, - 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, - 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, - 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, - 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, - 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, - 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, - 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, - 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, - 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, - 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, - 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, - 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, - 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, - 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, - 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, - 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, - 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, - 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, - 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, - 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, - 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, - 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, - 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, - 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, - 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, - 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, - 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, - 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, - 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, - 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, - 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, - 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, - 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, - 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, - 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, - 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, - 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, - 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, - 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, - 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, - 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, - 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, - 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, - 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, - 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, - 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, - 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, - 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, - 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, - 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, - 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, - 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, - 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, - 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, - 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, - 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, - 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, - 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, - 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, - 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, - 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, - 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, - 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, - 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, - 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, - 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, - 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, - 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, - 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, - 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, - 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, - 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, - 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, - 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, - 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, - 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, - 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, - 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, - 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, - 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, - 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, - 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, - 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, - 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, - 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, - 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, - 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, - 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, - 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, - 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, - 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, - 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, - 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, - 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, - 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, - 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, - 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, - 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, - 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, - 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, - 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, - 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, - 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, - 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, - 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, - 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, - 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, - 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, - 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, - 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, - 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, - 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, - 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, - 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, - 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, - 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, - 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, - 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, - 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, - 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, - 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, - 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, - 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, - 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, - 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, - 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, - 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, - 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, - 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, - 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, - 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, - 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, - 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, - 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, - 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, - 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, - 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, - 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, - 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, - 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, - 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, - 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, - 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, - 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, - 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, - 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, - 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, - 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, - 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, - 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, - 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, - 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, - 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, - 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, - 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, - 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, - 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, - 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, - 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, - 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, - 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, - 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, - 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, - 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, - 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, - 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, - 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, - 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, - 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, - 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, - 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, - 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, - 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, - 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, - 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,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,9,0,1,3,25,25,11,4,249,224,224,224,224, - 0,0,64,64,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,14,25,50,19,2,252,0,32,0,96,0, - 64,7,224,31,240,60,248,120,188,112,156,112,156,225,128,225, - 0,225,0,227,0,227,0,226,12,226,28,118,28,124,60,60, - 120,31,240,15,224,8,0,24,0,16,0,16,0,15,24,48, - 19,1,0,3,192,15,248,31,252,60,60,120,30,112,14,112, - 14,112,0,112,0,56,0,56,0,255,192,255,192,12,0,14, - 0,14,0,12,0,28,0,24,0,56,0,115,134,255,254,255, - 254,96,124,12,13,26,18,3,5,230,48,255,240,127,240,112, - 224,96,96,224,112,224,112,224,112,96,96,112,224,127,240,255, - 240,230,48,16,24,48,18,1,0,224,7,224,7,112,14,112, - 14,56,28,56,28,28,56,28,56,14,112,14,112,7,224,127, - 254,127,254,127,254,1,192,1,192,127,254,127,254,127,254,1, - 192,1,192,1,192,1,192,1,192,2,32,32,9,3,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,15, - 32,64,18,1,249,3,192,15,240,31,248,28,120,56,60,56, - 28,56,28,60,0,30,0,31,128,63,224,113,240,224,248,224, - 124,224,28,224,30,112,14,124,14,62,14,31,28,15,156,3, - 248,1,240,0,240,0,120,112,56,112,56,120,56,56,112,63, - 240,31,224,7,128,8,3,3,11,1,22,231,231,231,24,25, - 75,25,0,0,0,254,0,3,255,128,7,1,224,12,0,112, - 24,0,24,48,126,12,96,255,134,97,193,198,195,128,195,195, - 0,3,199,0,3,134,0,1,134,0,1,134,0,1,134,0, - 1,199,0,3,195,128,195,97,225,198,96,255,134,48,62,12, - 24,0,24,28,0,56,7,1,224,3,255,128,0,254,0,10, - 15,30,12,1,10,63,0,119,128,97,128,1,128,7,128,127, - 128,225,128,193,128,195,128,231,128,125,192,0,0,0,0,255, - 192,255,192,12,9,18,18,3,5,28,112,56,224,113,192,227, - 128,195,0,227,128,113,192,56,224,28,112,16,9,18,19,1, - 3,255,255,255,255,255,255,0,7,0,7,0,7,0,7,0, - 7,0,7,8,2,2,11,1,8,255,255,24,25,75,25,0, - 0,0,126,0,3,255,128,7,1,224,12,0,112,24,0,24, - 48,0,12,97,255,6,97,255,134,193,129,195,193,128,195,193, - 128,195,129,129,129,129,255,1,129,252,1,129,142,1,193,134, - 3,193,131,3,97,129,134,97,129,198,48,0,12,24,0,24, - 28,0,56,7,1,224,3,255,128,0,126,0,9,2,4,11, - 1,22,255,128,255,128,9,9,18,13,2,15,62,0,127,0, - 227,128,193,128,193,128,193,128,227,128,127,0,62,0,17,21, - 63,19,1,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,1,192,0,255,255,128,255,255,128,255, - 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,0,0,0,0,0,0,255,255,128,255,255,128, - 255,255,128,9,15,30,11,1,9,30,0,127,0,99,0,193, - 128,193,128,1,128,3,0,7,0,30,0,56,0,112,0,224, - 0,192,0,255,128,255,128,9,15,30,11,1,9,62,0,127, - 0,227,128,193,128,193,128,3,128,15,0,15,0,3,128,1, - 128,193,128,193,128,227,128,127,0,62,0,7,5,5,11,3, - 22,30,60,56,112,224,14,24,48,19,2,250,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,60,240,124,255,252,255,220,255,28, - 224,0,224,0,224,0,224,0,224,0,224,0,16,30,60,17, - 1,251,7,255,31,255,63,140,63,140,127,140,127,140,255,140, - 255,140,255,140,255,140,127,140,127,140,63,140,63,140,31,140, - 3,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140, - 1,140,1,140,1,140,1,140,1,140,1,140,1,140,4,4, - 4,9,3,11,96,240,240,96,7,7,7,11,2,249,24,24, - 60,14,6,206,124,5,15,15,11,2,9,24,56,248,248,24, - 24,24,24,24,24,24,24,24,24,24,10,15,30,12,1,10, - 30,0,127,128,97,128,225,192,192,192,192,192,192,192,192,192, - 225,192,97,128,127,128,30,0,0,0,255,192,255,192,12,9, - 18,18,3,5,227,128,113,192,56,224,28,112,12,48,28,112, - 56,224,113,192,227,128,25,25,100,28,1,0,0,0,48,0, - 24,0,112,0,56,0,96,0,248,0,224,0,248,1,192,0, - 24,1,128,0,24,3,128,0,24,3,0,0,24,7,0,0, - 24,14,0,0,24,12,0,0,24,28,6,0,24,24,14,0, - 24,56,30,0,24,112,62,0,24,96,118,0,0,224,102,0, - 1,192,198,0,1,129,198,0,3,131,134,0,3,3,255,128, - 7,3,255,128,6,0,6,0,14,0,6,0,12,0,6,0, - 25,25,100,28,1,0,0,0,96,0,24,0,224,0,56,0, - 192,0,248,1,128,0,248,3,128,0,24,3,0,0,24,6, - 0,0,24,14,0,0,24,12,0,0,24,28,0,0,24,24, - 0,0,24,56,60,0,24,48,255,0,24,112,195,128,24,97, - 129,128,24,193,129,128,1,192,3,128,1,128,7,0,3,128, - 14,0,3,0,60,0,6,0,112,0,14,0,224,0,12,1, - 192,0,28,1,255,128,24,1,255,128,25,24,96,28,1,0, - 62,0,14,0,127,0,12,0,99,128,24,0,193,128,56,0, - 193,128,48,0,3,128,96,0,15,0,224,0,15,128,192,0, - 1,193,128,0,0,195,128,0,192,195,6,0,192,199,14,0, - 97,206,30,0,127,140,62,0,30,24,118,0,0,56,102,0, - 0,48,198,0,0,97,198,0,0,227,134,0,1,195,255,128, - 1,131,255,128,3,0,6,0,7,0,6,0,6,0,6,0, - 14,25,50,19,3,249,3,128,3,128,3,128,3,128,0,0, - 0,0,3,128,3,128,3,128,7,128,7,0,15,0,30,0, - 60,0,120,0,112,0,240,0,224,28,224,28,224,28,240,60, - 120,120,127,240,63,224,7,128,20,31,93,22,1,0,3,192, - 0,1,224,0,0,224,0,0,112,0,0,56,0,0,0,0, - 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,3, - 252,0,3,156,0,3,156,0,7,158,0,7,14,0,7,14, - 0,15,15,0,14,15,0,14,7,0,30,7,128,31,255,128, - 31,255,128,63,255,192,60,3,192,56,1,192,120,1,224,120, - 1,224,112,0,224,240,0,240,240,0,240,20,31,93,22,1, - 0,0,60,0,0,120,0,0,112,0,0,224,0,1,192,0, - 0,0,0,0,240,0,0,240,0,0,240,0,1,248,0,1, - 248,0,3,252,0,3,156,0,3,156,0,7,158,0,7,14, - 0,7,14,0,15,15,0,15,15,0,14,7,0,30,7,128, - 31,255,128,31,255,128,63,255,192,60,3,192,120,1,192,120, - 1,224,120,1,224,112,0,224,240,0,240,240,0,240,20,31, - 93,22,1,0,0,64,0,0,224,0,1,240,0,3,184,0, - 7,28,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,30,90,22,1,0,1,198,0,3,254,0,7,252,0, - 6,56,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,30,90,22,1,0,3,156,0,3,156,0,3,156,0, - 0,0,0,0,0,0,0,240,0,0,240,0,0,240,0,1, - 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, - 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, - 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, - 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, - 240,20,31,93,22,1,0,0,240,0,1,152,0,1,8,0, - 1,8,0,1,152,0,0,240,0,0,0,0,0,240,0,0, - 240,0,1,248,0,1,248,0,3,252,0,3,156,0,3,156, - 0,7,158,0,7,14,0,7,14,0,15,15,0,14,15,0, - 14,7,0,30,7,128,31,255,128,31,255,128,63,255,192,60, - 3,192,56,1,192,120,1,224,120,1,224,112,0,224,240,0, - 240,240,0,240,29,25,100,32,1,0,0,127,255,248,0,127, - 255,248,0,255,255,248,0,227,128,0,1,195,128,0,1,195, - 128,0,3,195,128,0,3,131,128,0,3,131,128,0,7,131, - 128,0,7,3,128,0,7,3,255,240,15,3,255,240,14,3, - 255,240,30,3,128,0,31,255,128,0,31,255,128,0,63,255, - 128,0,56,3,128,0,120,3,128,0,120,3,128,0,112,3, - 128,0,240,3,255,248,224,3,255,248,224,3,255,248,20,32, - 96,23,2,249,1,248,0,7,254,0,15,255,128,31,7,128, - 60,3,192,120,1,224,112,0,224,112,0,224,240,0,0,240, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,240,0,112,240,0,112,112,0,240,112,0,224,120,1,224, - 60,3,192,31,7,192,15,255,128,7,254,0,1,248,0,0, - 96,0,0,96,0,0,240,0,0,56,0,0,24,0,3,56, - 0,1,240,0,17,31,93,22,3,0,15,0,0,7,128,0, - 3,128,0,1,192,0,0,224,0,0,0,0,255,255,0,255, - 255,0,255,255,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,255,255,0, - 255,255,0,255,255,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,255,255, - 128,255,255,128,255,255,128,17,31,93,22,3,0,0,120,0, - 0,240,0,0,224,0,1,192,0,3,128,0,0,0,0,255, - 255,0,255,255,0,255,255,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 255,255,0,255,255,0,255,255,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,255,255,128,255,255,128,255,255,128,17,31,93,22,3,0, - 0,128,0,1,192,0,3,224,0,7,112,0,14,56,0,0, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,255,255,128,255,255,128,255,255,128,17,30,90, - 22,3,0,28,56,0,28,56,0,28,56,0,0,0,0,0, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,255,255,128,255,255,128,255,255,128,7,31,31, - 9,0,0,240,120,56,28,14,0,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,7,31,31,9,2,0,30,60,56,112,224,0,112,112, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,9,31,62,9,0,0,8,0,28, - 0,62,0,119,0,227,128,0,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,9,30,60,9,0, - 0,227,128,227,128,227,128,0,0,0,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,21,25,75, - 23,0,0,31,254,0,31,255,128,31,255,192,28,3,224,28, - 0,224,28,0,240,28,0,112,28,0,112,28,0,56,28,0, - 56,28,0,56,255,192,56,255,192,56,28,0,56,28,0,56, - 28,0,56,28,0,120,28,0,112,28,0,112,28,0,240,28, - 0,224,28,3,192,31,255,192,31,255,128,31,254,0,19,30, - 90,24,2,0,1,198,0,3,254,0,7,252,0,6,56,0, - 0,0,0,240,0,224,248,0,224,248,0,224,252,0,224,252, - 0,224,254,0,224,239,0,224,231,0,224,231,128,224,227,192, - 224,227,192,224,225,224,224,224,224,224,224,240,224,224,120,224, - 224,56,224,224,60,224,224,28,224,224,30,224,224,15,224,224, - 7,224,224,7,224,224,3,224,224,1,224,224,1,224,23,31, - 93,25,1,0,0,240,0,0,120,0,0,56,0,0,28,0, - 0,14,0,0,0,0,0,254,0,3,255,128,15,255,224,31, - 1,240,62,0,248,60,0,120,120,0,60,112,0,28,112,0, - 28,240,0,30,224,0,14,224,0,14,224,0,14,224,0,14, - 224,0,14,240,0,30,240,0,30,112,0,28,120,0,60,60, - 0,120,62,0,248,31,1,240,15,255,224,3,255,128,0,254, - 0,23,31,93,25,1,0,0,15,0,0,30,0,0,28,0, - 0,56,0,0,112,0,0,0,0,0,254,0,3,255,128,15, - 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, - 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, - 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, - 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, - 128,0,254,0,23,31,93,25,1,0,0,16,0,0,56,0, - 0,124,0,0,238,0,1,199,0,0,0,0,0,254,0,3, - 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, - 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, - 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, - 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, - 224,3,255,128,0,254,0,23,30,90,25,1,0,0,113,128, - 0,255,128,1,255,0,1,142,0,0,0,0,0,254,0,3, - 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, - 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, - 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, - 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, - 224,3,255,128,0,254,0,23,29,87,25,1,0,1,195,128, - 1,195,128,1,195,128,0,0,0,0,254,0,3,255,128,15, - 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, - 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, - 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, - 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, - 128,0,254,0,15,15,30,19,2,1,64,4,224,14,240,30, - 120,60,60,120,31,240,15,224,7,192,7,192,15,224,30,240, - 60,120,120,60,240,30,96,12,23,25,75,25,1,0,0,254, - 6,3,255,140,15,255,248,31,1,240,62,0,248,60,0,248, - 120,1,188,112,3,28,112,6,28,240,6,30,224,12,14,224, - 24,14,224,48,14,224,96,14,224,192,14,225,128,30,243,0, - 30,118,0,28,124,0,60,60,0,120,62,0,248,63,1,240, - 111,255,224,195,255,128,0,254,0,18,31,93,24,3,0,7, - 128,0,3,192,0,1,192,0,0,224,0,0,112,0,0,0, - 0,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,240,3,192,120,7,128, - 124,15,128,63,255,0,31,254,0,3,240,0,18,31,93,24, - 3,0,0,120,0,0,240,0,0,224,0,1,192,0,3,128, - 0,0,0,0,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,240,3,192, - 120,7,128,124,15,128,63,255,0,31,254,0,3,240,0,18, - 31,93,24,3,0,0,64,0,0,224,0,1,240,0,3,184, - 0,7,28,0,0,0,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,18,30,90,24,3,0,14,28,0,14,28,0,14,28, - 0,0,0,0,0,0,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,31,93,22,1,0,0,60,0,0,120,0,0,112, - 0,0,224,0,1,192,0,0,0,0,224,0,224,240,1,224, - 112,1,192,120,3,192,56,3,128,60,7,128,28,15,0,30, - 15,0,15,30,0,7,28,0,7,188,0,3,184,0,3,248, - 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,17,25,75,22,3,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,255,248,0,255,254,0, - 255,255,0,224,15,0,224,7,0,224,7,128,224,3,128,224, - 3,128,224,7,128,224,7,0,224,15,0,255,254,0,255,252, - 0,255,248,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,14,25,50,20,4,0,15,128,63,224, - 127,240,120,240,240,120,224,56,224,56,224,56,224,120,224,240, - 227,224,227,224,227,240,224,120,224,60,224,28,224,28,224,28, - 224,28,224,28,224,56,224,120,231,240,231,224,231,128,16,25, - 50,18,1,0,15,0,7,128,3,128,1,192,0,224,0,0, - 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, - 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, - 121,252,127,223,63,143,16,25,50,18,1,0,0,240,1,224, - 1,192,3,128,7,0,0,0,0,0,15,224,63,248,60,124, - 112,28,112,28,0,28,0,28,0,252,31,252,127,156,120,28, - 240,28,224,28,224,60,224,124,120,252,127,223,63,143,16,25, - 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, - 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, - 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, - 120,252,127,223,63,143,16,24,48,18,1,0,7,24,15,248, - 31,240,24,224,0,0,0,0,15,224,63,248,60,124,112,28, - 112,28,0,28,0,28,0,252,31,252,127,156,120,28,240,28, - 224,28,224,60,224,124,120,252,127,223,63,143,16,23,46,18, - 1,0,14,112,14,112,14,112,0,0,0,0,15,224,63,248, - 60,252,112,28,112,28,0,28,0,28,0,252,31,252,127,156, - 120,28,240,28,224,28,224,60,224,124,121,252,127,223,63,143, - 16,25,50,18,1,0,3,128,6,192,4,64,4,64,6,192, - 3,128,0,0,15,224,63,248,60,124,112,28,112,28,0,28, - 0,28,0,252,31,252,127,156,120,28,240,28,224,28,224,60, - 224,124,120,252,127,223,63,143,26,18,72,29,1,0,7,192, - 248,0,31,241,254,0,60,127,143,0,112,62,3,128,112,30, - 3,128,0,28,1,192,0,28,1,192,0,252,1,192,15,255, - 255,192,63,255,255,192,126,31,255,192,240,28,0,0,224,28, - 1,192,224,30,1,192,224,126,3,128,248,247,143,0,127,231, - 255,0,63,129,252,0,14,25,50,17,1,249,7,192,31,240, - 63,248,56,56,112,28,112,28,224,0,224,0,224,0,224,0, - 224,0,224,28,224,28,112,56,120,120,63,240,31,224,7,128, - 3,0,3,0,7,128,1,192,0,192,25,192,15,128,15,25, - 50,18,1,0,30,0,15,0,7,0,3,128,1,192,0,0, - 0,0,7,192,31,240,62,120,120,28,112,28,240,14,224,14, - 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, - 60,124,31,240,15,224,15,25,50,18,1,0,1,224,3,192, - 3,128,7,0,14,0,0,0,0,0,7,192,31,240,60,120, - 120,28,112,28,240,14,224,14,224,14,255,254,255,254,224,0, - 224,0,224,14,112,14,120,28,60,124,31,240,15,224,15,25, - 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, - 0,0,7,192,31,240,60,120,120,28,112,28,240,14,224,14, - 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, - 60,124,31,240,7,192,15,23,46,18,1,0,28,112,28,112, - 28,112,0,0,0,0,7,192,31,240,60,120,120,28,112,28, - 240,14,224,14,224,14,255,254,255,254,224,0,224,0,224,14, - 112,14,120,28,60,124,31,240,7,192,7,25,25,9,0,0, - 240,120,56,28,14,0,0,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,7,25,25,9,2,0,30, - 60,56,112,224,0,0,112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,112,9,25,50,9,0,0,8,0, - 28,0,62,0,119,0,227,128,0,0,0,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 8,23,23,9,1,0,231,231,231,0,0,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,15,25,50, - 19,1,0,120,64,60,224,31,192,15,128,31,128,59,192,17, - 224,7,240,31,248,63,248,120,60,112,28,112,28,224,14,224, - 14,224,14,224,14,224,14,224,14,112,28,112,28,120,60,63, - 248,31,240,7,192,14,24,48,18,2,0,14,48,31,240,63, - 224,49,192,0,0,0,0,3,192,239,240,255,248,248,60,240, - 28,240,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,15,25,50,19,1, - 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, - 240,7,192,15,25,50,19,1,0,1,224,3,192,3,128,7, - 0,14,0,0,0,0,0,7,192,31,240,63,248,120,60,112, - 28,112,28,224,14,224,14,224,14,224,14,224,14,224,14,112, - 28,112,28,120,60,63,248,31,240,7,192,15,25,50,19,1, - 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,7, - 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, - 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, - 240,7,192,15,24,48,19,1,0,14,48,31,240,63,224,49, - 192,0,0,0,0,7,192,31,240,63,248,120,60,112,28,112, - 28,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,120,60,63,248,31,240,7,192,15,23,46,19,1,0,28, - 112,28,112,28,112,0,0,0,0,7,192,31,240,63,248,120, - 60,112,28,112,28,224,14,224,14,224,14,224,14,224,14,224, - 14,112,28,112,28,120,60,63,248,31,240,7,192,15,15,30, - 19,2,1,3,128,3,128,3,128,0,0,0,0,0,0,255, - 254,255,254,255,254,0,0,0,0,0,0,3,128,3,128,3, - 128,16,18,36,19,2,0,7,195,31,246,63,252,120,120,112, - 28,112,60,224,110,224,206,225,142,227,14,230,14,236,14,120, - 28,112,28,56,60,127,248,223,240,135,192,14,25,50,19,2, - 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, - 220,15,0,14,25,50,19,2,0,1,224,3,192,3,128,7, - 0,14,0,0,0,0,0,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 60,224,60,240,252,127,252,63,220,15,0,14,25,50,19,2, - 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,224, - 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, - 220,15,0,14,23,46,19,2,0,28,224,28,224,28,224,0, - 0,0,0,224,28,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,28,224,28,224,60,224,60,240, - 252,127,252,63,220,15,0,14,32,64,17,1,249,0,240,1, - 224,1,192,3,128,7,0,0,0,0,0,224,28,224,28,224, - 60,112,56,112,56,112,56,120,112,56,112,56,240,60,224,28, - 224,29,192,29,192,15,192,15,128,15,128,7,0,7,0,7, - 0,14,0,14,0,30,0,124,0,124,0,112,0,15,31,62, - 19,2,250,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,231,224,239,240,255,248,248,60,240,28,240,30,224,14,224, - 14,224,14,224,14,224,14,224,14,240,28,240,28,248,60,255, - 248,239,240,227,192,224,0,224,0,224,0,224,0,224,0,224, - 0,14,30,60,17,1,249,28,112,28,112,28,112,0,0,0, - 0,224,28,224,28,224,60,112,56,112,56,112,120,120,112,56, - 112,56,240,60,224,28,224,29,192,29,192,15,192,15,128,15, - 128,7,0,7,0,7,0,14,0,14,0,30,0,124,0,124, - 0,112,0}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=24 x= 4 y=15 dx=19 dy= 0 ascent=26 len=48 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =26 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24n[726] U8G_FONT_SECTION("u8g_font_helvR24n") = { - 0,39,48,251,245,24,0,0,0,0,42,58,0,26,251,24, - 0,10,11,22,13,1,15,12,0,12,0,76,128,237,192,127, - 128,63,0,30,0,63,0,115,128,225,192,64,128,17,16,48, - 19,1,1,1,192,0,1,192,0,1,192,0,1,192,0,1, - 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, - 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,3,9,9,9,3,251,224,224,224,224,32,96,96, - 192,128,8,2,2,11,1,8,255,255,3,4,4,9,3,0, - 224,224,224,224,9,24,48,9,0,0,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,8,0,24,0,24,0,24,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,15,24,48,18,1,0, - 7,192,31,240,63,248,60,120,120,60,112,28,112,28,224,14, - 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,112,28,112,28,112,60,60,120,63,248,31,240,7,192, - 8,24,24,18,3,0,3,7,7,15,63,255,255,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,24, - 48,18,1,0,7,192,31,240,63,248,120,60,112,28,240,14, - 224,14,224,14,0,14,0,28,0,60,0,120,0,240,3,224, - 7,192,31,0,60,0,120,0,112,0,224,0,224,0,255,254, - 255,254,255,254,15,24,48,18,1,0,7,192,31,240,63,248, - 56,56,112,28,112,28,112,28,112,28,0,28,0,56,3,248, - 3,240,3,248,0,60,0,30,0,14,224,14,224,14,224,14, - 112,28,120,60,63,248,31,240,7,192,16,24,48,18,0,0, - 0,24,0,56,0,120,0,120,0,248,1,248,3,184,3,184, - 7,56,14,56,14,56,28,56,56,56,56,56,112,56,224,56, - 255,255,255,255,255,255,0,56,0,56,0,56,0,56,0,56, - 15,24,48,18,1,0,63,252,63,252,63,252,56,0,56,0, - 56,0,112,0,112,0,119,192,127,240,127,248,120,124,112,28, - 0,30,0,14,0,14,0,14,224,14,224,30,240,28,120,124, - 127,248,63,240,15,128,15,24,48,18,1,0,3,192,15,240, - 31,248,60,56,56,28,112,28,112,0,112,0,96,0,227,192, - 239,240,255,248,248,60,240,28,240,14,224,14,224,14,96,14, - 112,14,112,28,56,60,63,248,31,240,7,192,15,24,48,18, - 1,0,255,254,255,254,255,254,0,14,0,28,0,24,0,56, - 0,112,0,112,0,224,0,224,1,192,1,192,3,128,3,128, - 7,0,7,0,7,0,14,0,14,0,14,0,28,0,28,0, - 28,0,15,24,48,18,1,0,7,192,31,240,63,248,56,60, - 112,28,112,28,112,28,112,28,120,60,60,120,31,240,15,224, - 63,248,120,60,112,28,224,14,224,14,224,14,224,14,240,28, - 120,60,63,248,31,240,7,192,15,24,48,18,1,0,7,192, - 31,240,63,248,120,124,112,60,240,28,224,30,224,14,224,14, - 224,14,224,30,224,30,112,62,127,254,63,238,15,206,0,14, - 0,28,224,28,240,60,120,120,63,240,63,224,15,128,3,18, - 18,9,4,0,224,224,224,224,0,0,0,0,0,0,0,0, - 0,0,224,224,224,224}; -/* - Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=29 h=32 x= 4 y=20 dx=34 dy= 0 ascent=27 len=120 - Font Bounding box w=39 h=48 x=-5 y=-11 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_helvR24r[4992] U8G_FONT_SECTION("u8g_font_helvR24r") = { - 0,39,48,251,245,25,5,215,14,105,32,127,249,27,249,25, - 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, - 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, - 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, - 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, - 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, - 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, - 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, - 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, - 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, - 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, - 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, - 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, - 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, - 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, - 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, - 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, - 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, - 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, - 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, - 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, - 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, - 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, - 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, - 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, - 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, - 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, - 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, - 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, - 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, - 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, - 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, - 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, - 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, - 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, - 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, - 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, - 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, - 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, - 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, - 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, - 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, - 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, - 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, - 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, - 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, - 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, - 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, - 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, - 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, - 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, - 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, - 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, - 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, - 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, - 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, - 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, - 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, - 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, - 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, - 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, - 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, - 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, - 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, - 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, - 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, - 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, - 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, - 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, - 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, - 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, - 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, - 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, - 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, - 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, - 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, - 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, - 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, - 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, - 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, - 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, - 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, - 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, - 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, - 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, - 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, - 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, - 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, - 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, - 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, - 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, - 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, - 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, - 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, - 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, - 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, - 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, - 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, - 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, - 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, - 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, - 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, - 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, - 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, - 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, - 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, - 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, - 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, - 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, - 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, - 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, - 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, - 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, - 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, - 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, - 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, - 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, - 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, - 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, - 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, - 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, - 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, - 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, - 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, - 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, - 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, - 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, - 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, - 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, - 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, - 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, - 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, - 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, - 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, - 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, - 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, - 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, - 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, - 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, - 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, - 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, - 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, - 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, - 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, - 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, - 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, - 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, - 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, - 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, - 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, - 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, - 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, - 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, - 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, - 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, - 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, - 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, - 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, - 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, - 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, - 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, - 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, - 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, - 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, - 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, - 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, - 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, - 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, - 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, - 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, - 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, - 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, - 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, - 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, - 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, - 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, - 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, - 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, - 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, - 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, - 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, - 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, - 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, - 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, - 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, - 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, - 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, - 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, - 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, - 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, - 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, - 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, - 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, - 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, - 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, - 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, - 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, - 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, - 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, - 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, - 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, - 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, - 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, - 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, - 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, - 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, - 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, - 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, - 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, - 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, - 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, - 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, - 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, - 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, - 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, - 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, - 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, - 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, - 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, - 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, - 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, - 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, - 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, - 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, - 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, - 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, - 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, - 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, - 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, - 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, - 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, - 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, - 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, - 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, - 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, - 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, - 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, - 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, - 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, - 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, - 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, - 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, - 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, - 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, - 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, - 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,255 - }; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 9 h=10 x= 1 y= 4 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent =10 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[2193] U8G_FONT_SECTION("u8g_font_lucasfont_alternate") = { - 0,9,11,0,255,7,1,148,3,22,32,255,255,10,255,7, - 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, - 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, - 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, - 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, - 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, - 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, - 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, - 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, - 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, - 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, - 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, - 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, - 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, - 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, - 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, - 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, - 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, - 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, - 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, - 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, - 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, - 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, - 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, - 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, - 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, - 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, - 0,240,136,136,136,136,136,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,184,136,136,112,5, - 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, - 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, - 8,8,8,8,136,112,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, - 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, - 7,0,0,132,196,164,148,140,132,132,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,7,7,6,0,0,112,136,136,136,168,144, - 104,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,136,136, - 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, - 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, - 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, - 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, - 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, - 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, - 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, - 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, - 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, - 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, - 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, - 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, - 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, - 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, - 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, - 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, - 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, - 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, - 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, - 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, - 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, - 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, - 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, - 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, - 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, - 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, - 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, - 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, - 152,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,255,1,7,7,2,0,0,128,0,0,128,128,128,128, - 5,7,7,6,0,0,32,112,168,160,168,112,32,5,7,7, - 6,0,0,56,64,64,240,64,64,248,255,5,7,7,6,0, - 0,136,136,80,32,248,32,32,1,7,7,2,0,0,128,128, - 128,0,128,128,128,255,255,8,8,8,9,0,255,60,66,153, - 161,161,153,66,60,255,6,5,5,7,0,1,36,72,144,72, - 36,5,3,3,6,0,1,248,8,8,5,1,1,6,0,3, - 248,255,255,255,5,7,7,6,0,0,32,32,248,32,32,0, - 248,255,255,255,255,6,7,7,7,0,0,124,244,244,116,20, - 20,20,1,1,1,2,0,3,128,255,255,255,6,5,5,7, - 0,1,144,72,36,72,144,255,255,255,5,7,7,6,0,0, - 32,0,32,64,128,136,112,5,10,10,6,0,0,64,32,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,16,32,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,32,80,0, - 112,136,136,248,136,136,136,5,10,10,6,0,0,104,144,0, - 112,136,136,248,136,136,136,5,9,9,6,0,0,80,0,112, - 136,136,248,136,136,136,5,10,10,6,0,0,32,80,32,112, - 136,136,248,136,136,136,9,7,14,10,0,0,119,128,136,0, - 136,0,255,0,136,0,136,0,143,128,255,5,10,10,6,0, - 0,64,32,0,248,128,128,240,128,128,248,5,10,10,6,0, - 0,16,32,0,248,128,128,240,128,128,248,5,10,10,6,0, - 0,32,80,0,248,128,128,240,128,128,248,5,9,9,6,0, - 0,80,0,248,128,128,240,128,128,248,2,10,10,3,0,0, - 128,64,0,64,64,64,64,64,64,64,2,10,10,4,1,0, - 64,128,0,128,128,128,128,128,128,128,3,10,10,4,0,0, - 64,160,0,64,64,64,64,64,64,64,3,9,9,4,0,0, - 160,0,64,64,64,64,64,64,64,6,7,7,7,0,0,120, - 68,68,244,68,68,120,6,10,10,7,0,0,100,152,0,132, - 196,164,148,140,132,132,5,10,10,6,0,0,64,32,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,16,32,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,32,80,0,112, - 136,136,136,136,136,112,5,10,10,6,0,0,104,144,0,112, - 136,136,136,136,136,112,5,8,8,6,0,0,136,112,136,136, - 136,136,136,112,5,5,5,6,0,1,136,80,32,80,136,255, - 5,10,10,6,0,0,64,32,0,136,136,136,136,136,136,112, - 5,10,10,6,0,0,16,32,0,136,136,136,136,136,136,112, - 5,10,10,6,0,0,32,80,0,136,136,136,136,136,136,112, - 5,8,8,6,0,0,136,0,136,136,136,136,136,112,5,10, - 10,6,0,0,16,32,0,136,136,136,80,32,32,32,255,4, - 8,8,5,0,255,96,144,144,160,144,144,160,128,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,104,144,0, - 112,8,120,136,120,5,7,7,6,0,0,80,0,112,8,120, - 136,120,5,9,9,6,0,0,32,80,32,0,112,8,120,136, - 120,9,5,10,10,0,0,119,0,8,128,127,0,136,0,119, - 128,255,5,8,8,6,0,0,64,32,0,112,136,240,128,120, - 5,8,8,6,0,0,16,32,0,112,136,240,128,120,5,8, - 8,6,0,0,32,80,0,112,136,240,128,120,5,7,7,6, - 0,0,80,0,112,136,240,128,120,2,7,7,3,0,0,128, - 64,0,64,64,64,64,2,7,7,3,0,0,64,128,0,128, - 128,128,128,3,7,7,4,0,0,64,160,0,64,64,64,64, - 3,6,6,4,0,0,160,0,64,64,64,64,255,5,8,8, - 6,0,0,104,144,0,240,136,136,136,136,5,8,8,6,0, - 0,64,32,0,112,136,136,136,112,5,8,8,6,0,0,16, - 32,0,112,136,136,136,112,5,8,8,6,0,0,32,80,0, - 112,136,136,136,112,5,8,8,6,0,0,104,144,0,112,136, - 136,136,112,5,7,7,6,0,0,80,0,112,136,136,136,112, - 5,5,5,6,0,1,32,0,248,0,32,255,5,8,8,6, - 0,0,64,32,0,136,136,136,136,120,5,8,8,6,0,0, - 16,32,0,136,136,136,136,120,5,8,8,6,0,0,32,80, - 0,136,136,136,136,120,5,7,7,6,0,0,80,0,136,136, - 136,136,120,5,9,9,6,0,255,16,32,0,136,136,136,120, - 8,112,255,5,8,8,6,0,255,80,0,136,136,136,120,8, - 112}; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 0, '1' Height: 7 - Calculated Max Values w= 7 h= 7 x= 0 y= 3 dx= 8 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent= 0 - X Font ascent = 7 descent= 0 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[216] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten") = { - 0,9,11,0,255,7,0,0,0,0,42,58,0,7,255,7, - 0,7,5,5,8,0,1,68,40,254,40,68,5,5,5,6, - 0,1,32,32,248,32,32,2,3,3,3,0,255,64,64,128, - 6,1,1,7,0,3,252,1,2,2,2,0,0,128,128,7, - 7,7,8,0,0,2,4,8,16,32,64,128,5,7,7,6, - 0,0,112,136,136,136,136,136,112,5,7,7,6,0,0,32, - 96,32,32,32,32,248,5,7,7,6,0,0,112,136,8,16, - 32,64,248,5,7,7,6,0,0,240,8,8,120,8,8,240, - 5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7, - 6,0,0,248,128,112,8,8,136,112,5,7,7,6,0,0, - 112,136,128,240,136,136,112,5,7,7,6,0,0,248,8,16, - 32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136, - 112,5,7,7,6,0,0,112,136,136,120,8,136,112,1,4, - 4,2,0,1,128,0,0,128}; -/* - Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 7 h= 7 x= 0 y= 4 dx= 8 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 9 h=11 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[1138] U8G_FONT_SECTION("u8g_font_lucasfont_alternater") = { - 0,9,11,0,255,7,1,148,3,22,32,127,255,7,255,7, - 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, - 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, - 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, - 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, - 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, - 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, - 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, - 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, - 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, - 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, - 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, - 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, - 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, - 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, - 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, - 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, - 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, - 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, - 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, - 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, - 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, - 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, - 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, - 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, - 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, - 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, - 0,240,136,136,136,136,136,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,184,136,136,112,5, - 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, - 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, - 8,8,8,8,136,112,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, - 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, - 7,0,0,132,196,164,148,140,132,132,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,7,7,6,0,0,112,136,136,136,168,144, - 104,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,136,136, - 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, - 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, - 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, - 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, - 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, - 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, - 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, - 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, - 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, - 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, - 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, - 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, - 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, - 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, - 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, - 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, - 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, - 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, - 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, - 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, - 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, - 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, - 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, - 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, - 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, - 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, - 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, - 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, - 152,255}; -/* - Fontname: m2icon5 - Copyright: public domain - Capital A Height: 5, '1' Height: 0 - Calculated Max Values w= 9 h= 6 x= 0 y= 0 dx=10 dy= 0 ascent= 5 len=10 - Font Bounding box w= 9 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_5[221] U8G_FONT_SECTION("u8g_font_m2icon_5") = { - 1,9,6,0,255,5,0,17,0,172,65,104,255,5,255,5, - 255,2,117,149,28,254,130,130,254,2,69,133,112,208,144,144, - 240,2,84,100,216,112,112,216,2,117,133,6,12,216,112,32, - 2,68,84,240,144,144,240,2,68,84,240,144,208,240,2,68, - 84,240,240,240,240,2,85,101,248,136,136,136,248,2,85,101, - 248,136,168,136,248,2,85,101,248,248,248,248,248,2,68,84, - 224,176,240,112,2,68,84,224,176,240,112,2,68,84,224,240, - 240,112,2,85,101,240,152,152,248,120,2,85,101,240,152,216, - 248,120,2,85,101,240,248,248,248,120,2,68,84,96,144,144, - 96,2,68,84,96,144,208,96,2,68,84,96,240,240,96,255, - 255,255,255,255,255,255,255,255,255,255,255,255,2,117,133,32, - 64,254,64,32,2,85,101,32,112,168,32,32,255,255,255,2, - 149,170,28,0,254,0,130,0,191,128,255,0,1,22,38,128, - 128,128,128,128,128,2,85,101,32,32,248,32,32}; -/* - Fontname: m2icon_7 - Copyright: public domain - Capital A Height: 7, '1' Height: 0 - Calculated Max Values w=12 h= 8 x= 0 y= 1 dx=13 dy= 0 ascent= 7 len=14 - Font Bounding box w=12 h= 8 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-1 - X Font ascent = 7 descent=-1 - Max Font ascent = 7 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_7[275] U8G_FONT_SECTION("u8g_font_m2icon_7") = { - 1,12,8,0,255,7,0,17,0,214,65,104,255,7,255,7, - 255,2,151,174,15,0,255,128,128,128,128,128,128,128,128,128, - 255,128,2,87,103,56,104,232,136,136,136,248,3,84,100,216, - 112,112,216,2,134,150,3,6,12,216,112,32,2,102,118,252, - 132,132,132,132,252,2,102,118,252,132,180,180,132,252,2,102, - 118,252,252,252,252,252,252,2,119,151,254,130,130,130,130,130, - 254,2,119,151,254,130,186,186,186,130,254,2,119,151,254,254, - 254,254,254,254,254,2,102,118,248,140,140,140,252,124,2,102, - 118,248,140,172,140,252,124,2,102,134,248,252,252,252,252,124, - 2,119,151,252,134,134,134,134,254,126,2,119,151,252,134,182, - 182,134,254,126,2,119,151,252,254,254,254,254,254,126,2,102, - 118,120,204,132,132,204,120,2,102,118,120,204,180,180,204,120, - 2,102,118,120,252,252,252,252,120,255,255,255,255,255,255,255, - 255,255,255,255,255,255,2,135,151,16,48,95,129,95,48,16, - 2,119,135,16,40,68,238,40,40,56,255,255,255,2,199,222, - 15,0,255,128,128,128,159,240,160,32,192,64,255,128,1,24, - 40,128,128,128,128,128,128,128,128,2,119,199,16,0,16,186, - 16,0,16}; -/* - Fontname: m2icon_9 - Copyright: public domain - Capital A Height: 8, '1' Height: 0 - Calculated Max Values w=13 h=11 x= 0 y= 1 dx=12 dy= 0 ascent= 9 len=18 - Font Bounding box w=13 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_m2icon_9[471] U8G_FONT_SECTION("u8g_font_m2icon_9") = { - 0,13,11,0,254,8,0,17,1,111,65,105,254,9,254,8, - 254,10,8,16,11,0,0,15,128,255,192,128,64,128,64,128, - 64,128,64,128,64,255,192,6,8,8,7,0,0,60,84,148, - 244,132,132,132,252,6,5,5,7,0,1,204,120,48,120,204, - 10,7,14,12,0,0,0,192,1,128,3,0,198,0,108,0, - 56,0,16,0,8,8,8,9,0,0,255,129,129,129,129,129, - 129,255,8,8,8,9,0,0,255,129,189,189,189,189,129,255, - 8,8,8,9,0,0,255,255,255,255,255,255,255,255,9,9, - 18,10,0,0,255,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,255,128,9,9,18,10,0,0,255,128,128,128, - 190,128,190,128,190,128,190,128,190,128,128,128,255,128,9,9, - 18,11,0,0,255,128,255,128,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,8,8,8,8,0,0,254,131,131,131, - 131,131,255,127,8,8,8,9,0,0,254,131,187,187,187,131, - 255,127,8,8,8,9,0,0,254,255,255,255,255,255,255,127, - 9,9,18,10,0,0,255,0,129,128,129,128,129,128,129,128, - 129,128,129,128,255,128,127,128,9,9,18,10,0,0,255,0, - 129,128,189,128,189,128,189,128,189,128,129,128,255,128,127,128, - 9,9,18,10,0,0,255,0,255,128,255,128,255,128,255,128, - 255,128,255,128,255,128,127,128,8,8,8,9,0,0,60,66, - 129,129,129,129,66,60,8,8,8,9,0,0,60,66,153,189, - 189,153,66,60,8,8,8,9,0,0,60,126,255,255,255,255, - 126,60,255,255,255,255,255,255,255,255,255,255,255,255,255,10, - 8,16,11,0,0,24,0,40,0,79,192,128,64,128,64,79, - 192,40,0,24,0,8,9,9,9,0,0,24,36,66,129,231, - 36,36,36,60,255,255,255,13,8,16,11,0,0,15,128,255, - 192,128,64,128,64,159,248,160,16,192,32,255,192,1,11,11, - 2,0,254,128,128,128,128,128,128,128,128,128,128,128,9,9, - 18,10,0,0,8,0,0,0,8,0,8,0,190,128,8,0, - 8,0,0,0,8,0,255}; -/* - Fontname: micro - Copyright: Public domain font. Share and enjoy. - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 4 h= 5 x= 0 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_micro[855] U8G_FONT_SECTION("u8g_font_micro") = { - 1,4,5,0,0,5,0,255,1,245,32,255,0,5,0,5, - 0,7,0,64,2,37,69,192,192,192,0,192,5,50,66,160, - 160,2,53,69,160,224,160,224,160,2,53,69,64,224,192,96, - 224,3,52,68,160,96,192,160,2,53,69,64,64,224,192,64, - 21,34,66,64,192,18,37,69,64,128,128,128,64,2,37,69, - 128,64,64,64,128,2,53,69,160,64,224,64,160,3,51,67, - 64,224,64,2,34,66,64,192,4,49,65,224,2,34,66,192, - 192,2,53,69,32,32,64,64,128,2,53,69,64,160,160,160, - 64,2,37,69,64,192,64,64,64,2,53,69,192,32,64,128, - 224,2,53,69,192,32,96,32,224,2,53,69,160,160,160,224, - 32,2,53,69,224,128,192,32,192,2,53,69,96,128,224,160, - 224,2,53,69,224,32,32,64,64,2,53,69,224,160,224,160, - 224,2,53,69,224,160,224,32,192,2,37,69,192,192,0,192, - 192,2,37,69,192,192,0,64,192,2,53,69,32,64,128,64, - 32,3,51,67,224,0,224,2,53,69,128,64,32,64,128,2, - 53,69,224,32,96,0,64,2,53,69,96,160,192,128,96,2, - 53,69,224,160,224,160,160,2,53,69,224,160,192,160,224,2, - 53,69,224,128,128,128,224,2,53,69,192,160,160,160,192,2, - 53,69,224,128,224,128,224,2,53,69,224,128,224,128,128,2, - 53,69,224,128,160,160,224,2,53,69,160,160,224,160,160,2, - 53,69,224,64,64,64,224,2,53,69,32,32,32,160,224,2, - 53,69,160,160,192,160,160,2,53,69,128,128,128,128,224,2, - 53,69,160,224,160,160,160,2,53,69,224,160,160,160,160,2, - 53,69,224,160,160,160,224,2,53,69,224,160,224,128,128,2, - 53,69,224,160,160,192,96,2,53,69,224,160,192,160,160,2, - 53,69,224,128,224,32,224,2,53,69,224,64,64,64,64,2, - 53,69,160,160,160,160,224,2,53,69,160,160,160,160,64,2, - 53,69,160,160,160,224,160,2,53,69,160,224,64,224,160,2, - 53,69,160,160,224,64,64,2,53,69,224,32,64,128,224,18, - 37,69,192,128,128,128,192,2,53,69,128,128,64,64,32,2, - 37,69,192,64,64,64,192,5,50,66,64,160,2,49,65,224, - 21,34,66,128,192,2,52,68,224,96,160,224,2,53,69,128, - 224,160,160,224,2,52,68,224,128,128,224,2,53,69,32,224, - 160,160,224,2,52,68,224,160,192,224,2,53,69,96,128,192, - 128,128,2,52,68,224,160,96,224,2,53,69,128,224,160,160, - 160,18,20,68,128,128,128,128,2,52,68,32,32,160,224,2, - 53,69,128,160,192,192,160,2,37,69,192,64,64,64,64,2, - 52,68,160,224,160,160,2,52,68,224,160,160,160,2,52,68, - 224,160,160,224,2,52,68,224,160,224,128,2,52,68,224,160, - 224,32,2,52,68,224,160,128,128,2,52,68,224,192,96,224, - 2,53,69,64,224,64,64,96,2,52,68,160,160,160,224,2, - 52,68,160,160,160,64,2,52,68,160,160,224,160,2,52,68, - 160,64,64,160,2,52,68,160,160,96,192,2,52,68,224,96, - 192,224,2,53,69,96,64,192,64,96,18,21,69,128,128,128, - 128,128,2,53,69,192,64,96,64,192,4,50,66,192,96,2, - 53,69,96,64,64,64,192,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,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,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,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}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=22 - Font Bounding box w=17 h=19 x=-2 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB08[2760] U8G_FONT_SECTION("u8g_font_ncenB08") = { - 0,17,19,254,251,8,1,193,3,159,32,255,254,11,254,8, - 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, - 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, - 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, - 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, - 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, - 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, - 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, - 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, - 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, - 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, - 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, - 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, - 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, - 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, - 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, - 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, - 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, - 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, - 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, - 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, - 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, - 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, - 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, - 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, - 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, - 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, - 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, - 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, - 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, - 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, - 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, - 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, - 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, - 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, - 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, - 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, - 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, - 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, - 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, - 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, - 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, - 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, - 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, - 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, - 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, - 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, - 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, - 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, - 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, - 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, - 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, - 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, - 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, - 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, - 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, - 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, - 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, - 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, - 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, - 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, - 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, - 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, - 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, - 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, - 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, - 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, - 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, - 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, - 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, - 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, - 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, - 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, - 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, - 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, - 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, - 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, - 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, - 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, - 116,184,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,3,0,1,2,8,8,3,0,254,192, - 192,0,64,64,192,192,192,5,7,7,6,0,255,8,120,208, - 208,232,112,64,7,8,8,8,0,0,60,100,96,252,48,98, - 190,220,7,5,5,8,0,1,186,108,108,108,186,8,8,8, - 9,0,0,247,98,52,54,24,62,24,60,1,8,8,6,2, - 0,128,128,128,0,128,128,128,128,4,10,10,5,0,254,112, - 144,192,96,176,208,96,48,144,224,3,2,2,4,0,6,160, - 160,8,8,8,9,0,0,60,66,157,165,161,157,66,60,3, - 6,6,4,0,2,192,32,224,160,0,224,6,5,5,7,0, - 0,36,108,216,108,36,5,3,3,6,0,2,248,8,8,3, - 1,1,4,0,3,224,8,8,8,9,0,0,60,66,189,165, - 185,173,66,60,4,1,1,5,0,6,240,3,4,4,4,0, - 4,64,160,160,64,5,5,5,6,0,1,32,248,32,0,248, - 3,4,4,3,0,4,96,160,64,224,3,4,4,3,0,4, - 224,64,32,192,3,2,2,4,0,6,96,192,6,7,7,7, - 0,254,204,204,204,220,236,192,192,7,8,8,8,0,0,126, - 244,244,116,20,20,20,62,2,2,2,3,0,3,192,192,2, - 3,3,4,1,254,128,64,192,3,4,4,3,0,4,64,192, - 64,224,4,6,6,5,0,2,96,144,144,96,0,240,6,5, - 5,7,0,0,144,216,108,216,144,8,8,8,9,0,0,68, - 196,72,232,18,22,47,34,8,8,8,9,0,0,68,196,72, - 232,19,21,34,39,8,8,8,9,0,0,228,68,40,200,18, - 22,47,34,5,8,8,6,0,254,48,48,0,16,96,192,216, - 112,9,11,22,8,255,0,48,0,24,0,0,0,8,0,28, - 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, - 8,255,0,6,0,12,0,0,0,8,0,28,0,28,0,38, - 0,38,0,127,0,67,0,231,128,9,11,22,8,255,0,28, - 0,54,0,0,0,8,0,28,0,28,0,38,0,38,0,127, - 0,67,0,231,128,9,11,22,8,255,0,26,0,44,0,0, - 0,8,0,28,0,28,0,38,0,38,0,127,0,67,0,231, - 128,9,11,22,8,255,0,20,0,20,0,0,0,8,0,28, - 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, - 8,255,0,24,0,36,0,24,0,8,0,28,0,28,0,38, - 0,38,0,127,0,67,0,231,128,10,8,16,11,0,0,63, - 192,22,64,22,128,39,128,62,128,70,64,70,64,239,192,7, - 10,10,8,0,254,58,70,194,192,192,194,66,60,16,48,6, - 11,11,7,0,0,96,48,0,252,100,104,120,104,100,100,252, - 6,11,11,7,0,0,24,48,0,252,100,104,120,104,100,100, - 252,6,11,11,7,0,0,56,108,0,252,100,104,120,104,100, - 100,252,6,11,11,7,0,0,40,40,0,252,100,104,120,104, - 100,100,252,4,11,11,5,0,0,192,96,0,240,96,96,96, - 96,96,96,240,4,11,11,5,0,0,48,96,0,240,96,96, - 96,96,96,96,240,5,11,11,5,0,0,112,216,0,240,96, - 96,96,96,96,96,240,4,11,11,5,0,0,80,80,0,240, - 96,96,96,96,96,96,240,8,8,8,9,0,0,252,98,99, - 243,99,99,98,252,8,11,11,9,0,0,26,44,0,199,98, - 114,122,94,78,70,226,7,11,11,8,0,0,48,24,0,56, - 68,198,198,198,198,68,56,7,11,11,8,0,0,24,48,0, - 56,68,198,198,198,198,68,56,7,11,11,8,0,0,56,108, - 0,56,68,198,198,198,198,68,56,7,11,11,8,0,0,52, - 88,0,56,68,198,198,198,198,68,56,7,11,11,8,0,0, - 40,40,0,56,68,198,198,198,198,68,56,5,5,5,6,0, - 1,216,112,32,112,216,7,8,8,8,0,0,58,68,206,214, - 214,230,68,184,8,11,11,9,0,0,48,24,0,247,98,98, - 98,98,98,98,60,8,11,11,9,0,0,12,24,0,247,98, - 98,98,98,98,98,60,8,11,11,9,0,0,28,54,0,247, - 98,98,98,98,98,98,60,8,11,11,9,0,0,20,20,0, - 247,98,98,98,98,98,98,60,8,11,11,9,0,0,12,24, - 0,247,98,52,52,24,24,24,60,7,8,8,8,0,0,224, - 124,102,102,102,124,96,240,7,8,8,8,0,0,60,102,102, - 108,102,102,102,236,4,8,8,5,0,0,192,96,0,224,48, - 112,176,240,4,8,8,5,0,0,48,96,0,224,48,112,176, - 240,5,9,9,5,0,0,32,112,216,0,224,48,112,176,240, - 5,8,8,5,0,0,104,176,0,224,48,112,176,240,4,8, - 8,5,0,0,160,160,0,224,48,112,176,240,4,8,8,5, - 0,0,96,144,96,224,48,112,176,240,8,5,5,9,0,0, - 238,155,127,216,239,5,7,7,6,0,254,112,200,192,200,112, - 32,96,5,8,8,6,0,0,96,48,0,112,216,248,192,120, - 5,8,8,6,0,0,48,96,0,112,216,248,192,120,5,9, - 9,6,0,0,32,112,216,0,112,216,248,192,120,5,8,8, - 6,0,0,80,80,0,112,216,248,192,120,4,8,8,5,0, - 0,192,96,0,224,96,96,96,240,4,8,8,5,0,0,48, - 96,0,224,96,96,96,240,5,9,9,5,0,0,32,112,216, - 0,224,96,96,96,240,4,8,8,5,0,0,160,160,0,224, - 96,96,96,240,6,8,8,7,0,0,200,112,144,120,204,204, - 204,120,6,8,8,7,0,0,104,176,0,216,236,204,204,204, - 6,8,8,7,0,0,96,48,0,120,204,204,204,120,6,8, - 8,7,0,0,24,48,0,120,204,204,204,120,6,9,9,7, - 0,0,32,112,216,0,120,204,204,204,120,6,8,8,7,0, - 0,52,88,0,120,204,204,204,120,6,8,8,7,0,0,80, - 80,0,120,204,204,204,120,5,5,5,6,0,1,32,0,248, - 0,32,6,7,7,7,0,255,4,120,220,236,204,120,128,6, - 8,8,7,0,0,96,48,0,204,204,204,220,108,6,8,8, - 7,0,0,24,48,0,204,204,204,220,108,6,9,9,7,0, - 0,32,112,216,0,204,204,204,220,108,6,8,8,7,0,0, - 80,80,0,204,204,204,220,108,6,10,10,7,0,254,24,48, - 0,236,104,104,48,48,224,192,6,10,10,7,0,254,192,192, - 192,216,236,204,204,248,192,224,6,10,10,7,0,254,80,80, - 0,236,104,104,48,48,224,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=20 - Font Bounding box w=17 h=19 x=-2 y=-5 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB08r[1315] U8G_FONT_SECTION("u8g_font_ncenB08r") = { - 0,17,19,254,251,8,1,193,3,159,32,127,254,9,254,8, - 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, - 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, - 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, - 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, - 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, - 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, - 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, - 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, - 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, - 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, - 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, - 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, - 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, - 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, - 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, - 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, - 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, - 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, - 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, - 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, - 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, - 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, - 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, - 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, - 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, - 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, - 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, - 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, - 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, - 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, - 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, - 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, - 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, - 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, - 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, - 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, - 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, - 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, - 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, - 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, - 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, - 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, - 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, - 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, - 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, - 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, - 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, - 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, - 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, - 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, - 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, - 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, - 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, - 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, - 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, - 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, - 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, - 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, - 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, - 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, - 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, - 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, - 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, - 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, - 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, - 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, - 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, - 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, - 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, - 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, - 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, - 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, - 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, - 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, - 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, - 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, - 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, - 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, - 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, - 116,184,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=15 x= 3 y= 8 dx=15 dy= 0 ascent=15 len=30 - Font Bounding box w=20 h=25 x=-2 y=-6 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =15 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB10[4003] U8G_FONT_SECTION("u8g_font_ncenB10") = { - 0,20,25,254,250,11,2,24,5,41,32,255,253,15,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, - 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, - 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, - 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, - 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, - 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, - 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, - 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, - 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, - 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, - 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, - 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, - 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, - 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, - 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, - 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, - 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, - 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, - 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, - 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, - 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, - 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, - 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, - 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, - 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, - 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, - 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, - 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, - 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, - 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, - 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, - 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, - 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, - 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, - 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, - 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, - 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, - 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, - 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, - 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, - 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, - 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, - 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, - 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, - 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, - 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, - 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, - 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, - 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, - 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, - 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, - 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, - 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, - 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, - 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, - 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, - 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, - 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, - 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, - 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, - 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, - 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, - 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, - 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, - 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, - 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, - 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, - 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, - 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, - 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, - 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, - 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, - 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, - 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, - 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, - 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, - 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, - 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, - 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, - 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, - 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, - 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, - 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, - 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, - 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, - 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, - 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, - 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, - 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, - 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, - 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, - 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, - 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, - 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, - 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, - 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, - 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, - 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, - 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, - 48,48,32,192,7,2,2,8,0,4,118,220,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, - 4,0,1,2,11,11,5,1,253,192,192,192,0,64,64,192, - 192,192,192,192,7,9,9,8,0,255,4,60,110,206,208,210, - 118,60,32,8,11,11,9,0,0,28,38,102,96,252,48,48, - 32,225,191,222,8,8,8,9,0,2,153,126,102,195,195,102, - 126,153,10,11,22,11,0,0,241,192,96,128,49,0,49,0, - 26,0,26,0,63,0,12,0,63,0,12,0,30,0,1,11, - 11,8,3,0,128,128,128,128,0,0,128,128,128,128,128,6, - 13,13,7,0,254,56,108,76,96,120,156,204,228,120,28,204, - 200,112,5,2,2,7,1,8,216,216,11,11,22,12,0,0, - 14,0,49,128,64,64,79,64,153,32,144,32,153,32,78,64, - 64,64,49,128,14,0,5,7,7,6,0,4,224,48,112,176, - 216,0,248,7,5,5,8,0,1,54,108,216,108,54,7,4, - 4,8,0,2,254,2,2,2,4,2,2,5,0,3,240,240, - 11,11,22,12,0,0,14,0,49,128,64,64,94,64,137,32, - 142,32,138,32,91,64,64,64,49,128,14,0,5,1,1,7, - 1,8,248,4,4,4,6,1,7,96,144,144,96,7,7,7, - 8,0,1,16,16,254,16,16,0,254,5,6,6,5,255,5, - 112,152,24,48,96,248,5,6,6,5,255,5,112,152,48,24, - 152,112,4,3,3,6,1,8,48,96,128,9,10,20,10,0, - 253,247,0,99,0,99,0,99,0,99,0,103,0,123,128,64, - 0,96,0,96,0,9,11,22,10,0,0,127,128,251,0,251, - 0,251,0,251,0,123,0,27,0,27,0,27,0,27,0,63, - 128,2,2,2,5,1,4,192,192,3,3,3,5,1,253,64, - 32,224,4,6,6,5,0,5,96,224,96,96,96,240,5,7, - 7,6,0,4,112,216,216,216,112,0,248,7,5,5,8,0, - 1,216,108,54,108,216,11,11,22,12,0,0,97,0,227,0, - 98,0,102,0,100,0,252,192,9,192,26,192,20,192,55,224, - 32,192,11,11,22,12,0,0,97,0,227,0,98,0,102,0, - 100,0,253,192,10,96,24,96,16,192,49,128,35,224,12,11, - 22,12,255,0,112,128,153,128,49,0,27,0,154,0,118,96, - 4,224,13,96,10,96,27,240,16,96,6,11,11,7,0,253, - 48,48,48,0,16,48,96,192,204,204,120,10,15,30,11,0, - 0,48,0,24,0,4,0,0,0,12,0,12,0,22,0,22, - 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,10, - 15,30,11,0,0,3,0,6,0,8,0,0,0,12,0,12, - 0,22,0,22,0,18,0,35,0,35,0,63,0,65,128,65, - 128,227,192,10,15,30,11,0,0,4,0,14,0,17,0,0, - 0,12,0,12,0,22,0,22,0,18,0,35,0,35,0,63, - 0,65,128,65,128,227,192,10,14,28,11,0,0,29,0,46, - 0,0,0,12,0,12,0,22,0,22,0,18,0,35,0,35, - 0,63,0,65,128,65,128,227,192,10,14,28,11,0,0,51, - 0,51,0,0,0,12,0,12,0,22,0,22,0,18,0,35, - 0,35,0,63,0,65,128,65,128,227,192,10,15,30,11,0, - 0,12,0,18,0,12,0,0,0,12,0,12,0,22,0,22, - 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,15, - 11,22,15,255,0,15,254,5,134,5,130,9,146,9,144,17, - 240,31,144,33,146,33,130,65,134,227,254,10,14,28,11,0, - 253,31,64,112,192,96,64,192,64,192,0,192,0,192,0,192, - 0,96,64,112,192,31,0,4,0,2,0,14,0,9,15,30, - 10,0,0,24,0,12,0,2,0,0,0,255,128,97,128,96, - 128,100,128,100,0,124,0,100,0,100,128,96,128,97,128,255, - 128,9,15,30,10,0,0,3,0,6,0,8,0,0,0,255, - 128,97,128,96,128,100,128,100,0,124,0,100,0,100,128,96, - 128,97,128,255,128,9,15,30,10,0,0,4,0,14,0,17, - 0,0,0,255,128,97,128,96,128,100,128,100,0,124,0,100, - 0,100,128,96,128,97,128,255,128,9,14,28,10,0,0,51, - 0,51,0,0,0,255,128,97,128,96,128,100,128,100,0,124, - 0,100,0,100,128,96,128,97,128,255,128,4,15,15,7,1, - 0,192,96,16,0,240,96,96,96,96,96,96,96,96,96,240, - 5,15,15,7,1,0,24,48,64,0,240,96,96,96,96,96, - 96,96,96,96,240,5,15,15,7,1,0,32,112,136,0,240, - 96,96,96,96,96,96,96,96,96,240,6,14,14,7,0,0, - 204,204,0,120,48,48,48,48,48,48,48,48,48,120,11,11, - 22,12,0,0,255,0,97,192,96,192,96,96,96,96,248,96, - 96,96,96,96,96,192,97,192,255,0,11,14,28,12,0,0, - 14,128,23,0,0,0,224,224,112,64,120,64,92,64,76,64, - 70,64,71,64,67,192,65,192,64,192,224,64,11,15,30,12, - 0,0,24,0,12,0,2,0,0,0,31,0,113,192,96,192, - 192,96,192,96,192,96,192,96,192,96,96,192,113,192,31,0, - 11,15,30,12,0,0,0,192,1,128,2,0,0,0,31,0, - 113,192,96,192,192,96,192,96,192,96,192,96,192,96,96,192, - 113,192,31,0,11,15,30,12,0,0,4,0,14,0,17,0, - 0,0,31,0,113,192,96,192,192,96,192,96,192,96,192,96, - 192,96,96,192,113,192,31,0,11,14,28,12,0,0,14,128, - 23,0,0,0,31,0,113,192,96,192,192,96,192,96,192,96, - 192,96,192,96,96,192,113,192,31,0,11,14,28,12,0,0, - 25,128,25,128,0,0,31,0,113,192,96,192,192,96,192,96, - 192,96,192,96,192,96,96,192,113,192,31,0,8,7,7,8, - 0,1,195,102,60,24,60,102,195,11,11,22,12,0,0,31, - 32,113,192,96,192,193,96,194,96,196,96,200,96,208,96,96, - 192,113,192,159,0,11,15,30,12,0,0,12,0,6,0,1, - 0,0,0,240,224,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,48,128,31,0,11,15,30,12,0,0,1, - 128,3,0,4,0,0,0,240,224,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,48,128,31,0,11,15,30, - 12,0,0,4,0,14,0,17,0,0,0,240,224,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,48,128,31, - 0,11,14,28,12,0,0,25,128,25,128,0,0,240,224,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,96,64,48, - 128,31,0,10,15,30,11,0,0,1,128,3,0,4,0,0, - 0,241,192,96,128,49,0,49,0,26,0,26,0,12,0,12, - 0,12,0,12,0,30,0,9,11,22,10,0,0,240,0,96, - 0,127,0,99,128,97,128,97,128,99,128,126,0,96,0,96, - 0,240,0,8,11,11,9,0,0,30,35,99,98,108,98,99, - 99,99,99,238,8,11,11,9,0,0,48,24,4,0,60,102, - 6,62,198,206,119,8,11,11,9,0,0,12,24,32,0,60, - 102,6,62,198,206,119,8,11,11,9,0,0,16,56,108,0, - 60,102,6,62,198,206,119,8,10,10,9,0,0,52,88,0, - 60,102,6,62,198,206,119,8,10,10,9,0,0,108,108,0, - 60,102,6,62,198,206,119,8,11,11,9,0,0,24,36,24, - 0,60,102,6,62,198,206,119,13,7,14,14,0,0,57,224, - 103,48,6,24,63,248,198,0,199,24,121,240,7,10,10,8, - 0,253,60,102,198,192,194,102,60,16,8,56,8,11,11,9, - 0,0,48,24,4,0,60,102,195,255,192,99,62,8,11,11, - 9,0,0,12,24,32,0,60,102,195,255,192,99,62,8,11, - 11,9,0,0,16,56,108,0,60,102,195,255,192,99,62,8, - 10,10,9,0,0,108,108,0,60,102,195,255,192,99,62,4, - 11,11,5,0,0,192,96,16,0,224,96,96,96,96,96,240, - 4,11,11,5,0,0,48,96,128,0,224,96,96,96,96,96, - 240,5,11,11,5,0,0,32,112,216,0,224,96,96,96,96, - 96,240,5,10,10,5,0,0,216,216,0,224,96,96,96,96, - 96,240,8,11,11,9,0,0,198,56,120,140,62,102,195,195, - 195,102,60,9,10,20,10,0,0,26,0,44,0,0,0,238, - 0,115,0,99,0,99,0,99,0,99,0,247,128,8,11,11, - 9,0,0,48,24,4,0,60,102,195,195,195,102,60,8,11, - 11,9,0,0,12,24,32,0,60,102,195,195,195,102,60,8, - 11,11,9,0,0,16,56,108,0,60,102,195,195,195,102,60, - 8,10,10,9,0,0,52,88,0,60,102,195,195,195,102,60, - 8,10,10,9,0,0,108,108,0,60,102,195,195,195,102,60, - 8,7,7,8,0,1,24,24,0,255,0,24,24,8,9,9, - 9,0,255,2,60,110,203,211,211,102,60,64,9,11,22,10, - 0,0,48,0,24,0,4,0,0,0,247,128,99,0,99,0, - 99,0,99,0,103,0,59,128,9,11,22,10,0,0,12,0, - 24,0,32,0,0,0,247,128,99,0,99,0,99,0,99,0, - 103,0,59,128,9,11,22,10,0,0,8,0,28,0,54,0, - 0,0,247,128,99,0,99,0,99,0,99,0,103,0,59,128, - 9,10,20,10,0,0,54,0,54,0,0,0,247,128,99,0, - 99,0,99,0,99,0,103,0,59,128,8,14,14,7,255,253, - 6,12,16,0,247,98,98,52,52,24,24,16,208,224,9,14, - 28,10,0,253,224,0,96,0,96,0,96,0,110,0,115,0, - 97,128,97,128,97,128,115,0,110,0,96,0,96,0,240,0, - 8,13,13,7,255,253,54,54,0,247,98,98,52,52,24,24, - 16,208,224}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=14 h=14 x= 3 y= 8 dx=15 dy= 0 ascent=12 len=28 - Font Bounding box w=20 h=25 x=-2 y=-6 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB10r[1853] U8G_FONT_SECTION("u8g_font_ncenB10r") = { - 0,20,25,254,250,11,2,24,5,41,32,127,253,12,253,11, - 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, - 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, - 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, - 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, - 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, - 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, - 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, - 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, - 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, - 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, - 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, - 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, - 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, - 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, - 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, - 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, - 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, - 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, - 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, - 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, - 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, - 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, - 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, - 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, - 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, - 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, - 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, - 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, - 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, - 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, - 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, - 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, - 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, - 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, - 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, - 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, - 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, - 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, - 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, - 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, - 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, - 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, - 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, - 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, - 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, - 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, - 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, - 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, - 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, - 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, - 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, - 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, - 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, - 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, - 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, - 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, - 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, - 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, - 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, - 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, - 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, - 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, - 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, - 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, - 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, - 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, - 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, - 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, - 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, - 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, - 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, - 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, - 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, - 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, - 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, - 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, - 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, - 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, - 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, - 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, - 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, - 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, - 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, - 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, - 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, - 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, - 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, - 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, - 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, - 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, - 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, - 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, - 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, - 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, - 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, - 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, - 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, - 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, - 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, - 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, - 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, - 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, - 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, - 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, - 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, - 48,48,32,192,7,2,2,8,0,4,118,220,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=16 len=32 - Font Bounding box w=22 h=27 x=-3 y=-7 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =16 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB12[4735] U8G_FONT_SECTION("u8g_font_ncenB12") = { - 0,22,27,253,249,12,2,152,5,246,32,255,253,16,253,12, - 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, - 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, - 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, - 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, - 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, - 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, - 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, - 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, - 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, - 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, - 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, - 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, - 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, - 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, - 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, - 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, - 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, - 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, - 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, - 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, - 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, - 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, - 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, - 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, - 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, - 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, - 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, - 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, - 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, - 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, - 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, - 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, - 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, - 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, - 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, - 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, - 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, - 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, - 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, - 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, - 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, - 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, - 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, - 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, - 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, - 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, - 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, - 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, - 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, - 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, - 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, - 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, - 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, - 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, - 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, - 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, - 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, - 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, - 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, - 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, - 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, - 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, - 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, - 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, - 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, - 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, - 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, - 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, - 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, - 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, - 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, - 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, - 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, - 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, - 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, - 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, - 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, - 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, - 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, - 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, - 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, - 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, - 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, - 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, - 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, - 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, - 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, - 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, - 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, - 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, - 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, - 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, - 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, - 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, - 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, - 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, - 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, - 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, - 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, - 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, - 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, - 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, - 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, - 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, - 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, - 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, - 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, - 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, - 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, - 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, - 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, - 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, - 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, - 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, - 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, - 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, - 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, - 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, - 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, - 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, - 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, - 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, - 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, - 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, - 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, - 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, - 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, - 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, - 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, - 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, - 78,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,4,1,1,3,12,12,5,1,253,64,224, - 224,64,0,64,64,224,224,224,224,64,8,12,12,10,0,254, - 1,2,62,115,231,231,232,233,114,60,32,64,9,12,24,10, - 0,0,31,0,57,128,115,128,115,128,113,0,56,0,254,0, - 24,0,24,0,120,128,191,0,110,0,8,8,8,10,1,2, - 90,255,102,195,195,102,255,90,10,12,24,10,0,0,251,192, - 113,128,49,0,59,0,26,0,30,0,63,0,12,0,63,0, - 12,0,12,0,63,0,2,12,12,10,4,0,192,192,192,192, - 192,0,0,192,192,192,192,192,6,15,15,9,1,253,56,76, - 76,96,48,120,140,132,196,120,48,24,200,200,112,5,2,2, - 6,0,9,216,216,12,12,24,12,0,0,31,128,57,192,96, - 96,207,176,217,48,152,16,152,16,217,176,207,48,96,96,57, - 192,31,128,6,7,7,6,0,5,112,152,120,216,108,0,248, - 6,5,5,8,1,2,36,108,216,108,36,8,5,5,10,0, - 2,255,255,3,3,3,4,2,2,5,0,3,240,240,12,12, - 24,12,0,0,31,128,57,192,96,96,223,48,201,48,142,16, - 139,16,201,176,221,240,96,96,57,192,31,128,5,1,1,6, - 0,10,248,5,5,5,7,1,7,112,216,136,216,112,8,9, - 9,10,1,0,24,24,255,255,24,24,0,255,255,5,7,7, - 6,0,5,112,152,216,16,32,120,248,6,7,7,6,0,5, - 120,204,76,24,76,204,120,4,3,3,6,1,9,48,112,192, - 11,11,22,11,0,253,243,192,113,192,113,192,113,192,113,192, - 113,192,123,192,110,224,96,0,112,0,112,0,11,12,24,12, - 0,0,127,224,249,128,249,128,249,128,249,128,121,128,25,128, - 25,128,25,128,25,128,25,128,127,224,4,3,3,5,0,3, - 96,240,96,4,4,4,6,0,253,64,96,48,224,4,7,7, - 6,1,5,32,224,96,96,96,96,240,5,7,7,6,0,5, - 112,216,216,216,112,0,248,6,5,5,8,1,2,144,216,108, - 216,144,12,12,24,14,1,0,32,64,224,192,97,128,97,0, - 99,0,98,32,246,96,12,224,9,32,27,240,48,96,32,240, - 12,12,24,14,1,0,32,64,224,192,97,128,97,0,99,0, - 98,224,247,48,13,176,8,32,24,64,48,240,33,240,13,12, - 24,14,0,0,120,32,204,96,76,192,24,128,77,128,205,16, - 123,48,6,112,4,144,13,248,24,48,16,120,8,12,12,8, - 0,253,8,28,28,8,0,8,48,112,230,239,102,60,13,16, - 32,13,0,0,24,0,28,0,6,0,0,0,6,0,7,0, - 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, - 96,224,241,248,13,16,32,13,0,0,1,128,3,128,6,0, - 0,0,6,0,7,0,7,0,15,0,11,128,27,128,17,192, - 63,192,49,192,32,224,96,224,241,248,13,16,32,13,0,0, - 2,0,7,0,13,128,0,0,6,0,7,0,7,0,15,0, - 11,128,27,128,17,192,63,192,49,192,32,224,96,224,241,248, - 13,15,30,13,0,0,14,128,23,0,0,0,6,0,7,0, - 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, - 96,224,241,248,13,15,30,13,0,0,25,128,25,128,0,0, - 6,0,7,0,7,0,15,0,11,128,27,128,17,192,63,192, - 49,192,32,224,96,224,241,248,13,16,32,13,0,0,6,0, - 11,0,6,0,0,0,6,0,7,0,7,0,15,0,11,128, - 27,128,17,192,63,192,49,192,32,224,96,224,241,248,16,12, - 24,16,255,0,31,255,7,195,5,195,5,201,9,216,9,248, - 17,216,31,201,33,193,33,195,97,195,247,255,11,15,30,13, - 1,253,15,160,56,224,112,96,112,32,224,32,224,0,224,0, - 224,32,112,32,112,64,56,192,15,0,12,0,6,0,28,0, - 11,16,32,12,0,0,24,0,28,0,6,0,0,0,255,224, - 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, - 56,96,56,96,255,224,11,16,32,12,0,0,1,128,3,128, - 6,0,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,32,56,32,56,96,56,96,255,224,11,16,32,12, - 0,0,2,0,7,0,13,128,0,0,255,224,56,96,56,96, - 57,32,59,0,63,0,59,0,57,32,56,32,56,96,56,96, - 255,224,11,15,30,12,0,0,25,128,25,128,0,0,255,224, - 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, - 56,96,56,96,255,224,7,16,16,7,0,0,96,112,24,0, - 254,56,56,56,56,56,56,56,56,56,56,254,7,16,16,7, - 0,0,12,28,48,0,254,56,56,56,56,56,56,56,56,56, - 56,254,7,16,16,7,0,0,16,56,108,0,254,56,56,56, - 56,56,56,56,56,56,56,254,7,15,15,7,0,0,108,108, - 0,254,56,56,56,56,56,56,56,56,56,56,254,13,12,24, - 14,0,0,255,128,56,224,56,112,56,112,56,56,126,56,56, - 56,56,56,56,112,56,112,56,224,255,128,14,15,30,14,0, - 0,7,64,11,128,0,0,240,124,56,16,60,16,62,16,47, - 16,39,144,35,208,33,240,32,240,32,112,32,48,248,16,12, - 16,32,14,1,0,24,0,28,0,6,0,0,0,15,0,57, - 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, - 224,57,192,15,0,12,16,32,14,1,0,1,128,3,128,6, - 0,0,0,15,0,57,192,112,224,112,224,224,112,224,112,224, - 112,224,112,112,224,112,224,57,192,15,0,12,16,32,14,1, - 0,6,0,15,0,25,128,0,0,15,0,57,192,112,224,112, - 224,224,112,224,112,224,112,224,112,112,224,112,224,57,192,15, - 0,12,15,30,14,1,0,14,128,23,0,0,0,15,0,57, - 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, - 224,57,192,15,0,12,15,30,14,1,0,25,128,25,128,0, - 0,15,0,57,192,112,224,112,224,224,112,224,112,224,112,224, - 112,112,224,112,224,57,192,15,0,8,8,8,10,1,0,66, - 231,126,56,28,126,231,66,12,14,28,14,1,255,0,16,15, - 32,57,192,112,224,112,224,225,112,226,112,228,112,232,112,112, - 224,112,224,57,192,79,0,128,0,14,16,32,14,0,0,6, - 0,7,0,1,128,0,0,254,124,56,16,56,16,56,16,56, - 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,14, - 16,32,14,0,0,0,96,0,224,1,128,0,0,254,124,56, - 16,56,16,56,16,56,16,56,16,56,16,56,16,56,16,28, - 32,30,96,7,128,14,16,32,14,0,0,1,128,3,192,6, - 96,0,0,254,124,56,16,56,16,56,16,56,16,56,16,56, - 16,56,16,56,16,28,32,30,96,7,128,14,15,30,14,0, - 0,6,96,6,96,0,0,254,124,56,16,56,16,56,16,56, - 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,13, - 16,32,12,255,0,0,192,1,192,3,0,0,0,254,248,56, - 96,28,64,28,128,14,128,15,0,7,0,7,0,7,0,7, - 0,7,0,31,192,12,12,24,13,0,0,254,0,56,0,63, - 192,56,224,56,112,56,112,56,112,56,224,63,192,56,0,56, - 0,254,0,10,12,24,10,0,0,31,0,51,128,115,128,115, - 128,115,0,119,0,113,128,113,192,113,192,113,192,123,128,247, - 0,9,12,24,10,0,0,96,0,112,0,24,0,0,0,126, - 0,231,0,199,0,31,0,103,0,231,0,239,0,119,128,9, - 12,24,10,0,0,6,0,14,0,24,0,0,0,126,0,231, - 0,199,0,31,0,103,0,231,0,239,0,119,128,9,12,24, - 10,0,0,16,0,56,0,108,0,0,0,126,0,231,0,199, - 0,31,0,103,0,231,0,239,0,119,128,9,11,22,10,0, - 0,58,0,92,0,0,0,126,0,231,0,199,0,31,0,103, - 0,231,0,239,0,119,128,9,11,22,10,0,0,108,0,108, - 0,0,0,126,0,231,0,199,0,31,0,103,0,231,0,239, - 0,119,128,9,12,24,10,0,0,24,0,44,0,24,0,0, - 0,126,0,231,0,199,0,31,0,103,0,231,0,239,0,119, - 128,13,8,16,15,0,0,125,224,231,48,199,56,63,248,103, - 0,231,24,239,48,123,224,8,11,11,9,0,253,62,115,231, - 227,224,227,118,60,24,12,56,9,12,24,10,0,0,48,0, - 56,0,12,0,0,0,62,0,119,0,227,128,255,128,224,0, - 225,128,115,0,62,0,9,12,24,10,0,0,6,0,14,0, - 24,0,0,0,62,0,119,0,227,128,255,128,224,0,225,128, - 115,0,62,0,9,12,24,10,0,0,8,0,28,0,54,0, - 0,0,62,0,119,0,227,128,255,128,224,0,225,128,115,0, - 62,0,9,11,22,10,0,0,54,0,54,0,0,0,62,0, - 119,0,227,128,255,128,224,0,225,128,115,0,62,0,5,12, - 12,6,0,0,192,224,48,0,240,112,112,112,112,112,112,248, - 5,12,12,6,0,0,24,56,96,0,240,112,112,112,112,112, - 112,248,5,12,12,6,0,0,32,112,216,0,240,112,112,112, - 112,112,112,248,5,11,11,6,0,0,216,216,0,240,112,112, - 112,112,112,112,248,9,13,26,11,0,0,96,0,59,0,28, - 0,54,0,7,0,31,0,119,128,227,128,227,128,227,128,227, - 128,119,0,28,0,11,11,22,11,255,0,14,128,23,0,0, - 0,247,128,121,192,113,192,113,192,113,192,113,192,113,192,251, - 224,10,12,24,11,0,0,24,0,28,0,6,0,0,0,63, - 0,115,128,225,192,225,192,225,192,225,192,115,128,63,0,10, - 12,24,11,0,0,3,0,7,0,12,0,0,0,63,0,115, - 128,225,192,225,192,225,192,225,192,115,128,63,0,10,12,24, - 11,0,0,12,0,30,0,51,0,0,0,63,0,115,128,225, - 192,225,192,225,192,225,192,115,128,63,0,10,11,22,11,0, - 0,29,0,46,0,0,0,63,0,115,128,225,192,225,192,225, - 192,225,192,115,128,63,0,10,11,22,11,0,0,54,0,54, - 0,0,0,63,0,115,128,225,192,225,192,225,192,225,192,115, - 128,63,0,8,8,8,10,1,0,24,24,0,255,255,0,24, - 24,9,12,24,10,0,254,0,128,1,0,30,0,115,0,231, - 128,235,128,235,128,243,128,103,0,60,0,64,0,128,0,11, - 12,24,11,255,0,24,0,28,0,6,0,0,0,243,192,113, - 192,113,192,113,192,113,192,113,192,123,192,62,224,11,12,24, - 11,255,0,3,0,7,0,12,0,0,0,243,192,113,192,113, - 192,113,192,113,192,113,192,123,192,62,224,11,12,24,11,255, - 0,4,0,14,0,27,0,0,0,243,192,113,192,113,192,113, - 192,113,192,113,192,123,192,62,224,11,11,22,11,255,0,27, - 0,27,0,0,0,243,192,113,192,113,192,113,192,113,192,113, - 192,123,192,62,224,11,15,30,10,255,253,3,0,7,0,12, - 0,0,0,251,224,112,192,56,128,25,128,29,0,15,0,14, - 0,6,0,52,0,116,0,56,0,10,15,30,11,255,253,240, - 0,112,0,112,0,112,0,119,0,123,128,113,192,113,192,113, - 192,113,192,123,128,119,0,112,0,112,0,252,0,11,14,28, - 10,255,253,27,0,27,0,0,0,251,224,48,192,56,128,25, - 128,29,0,15,0,14,0,6,0,52,0,116,0,56,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=14 len=30 - Font Bounding box w=22 h=27 x=-3 y=-7 - Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB12r[2194] U8G_FONT_SECTION("u8g_font_ncenB12r") = { - 0,22,27,253,249,12,2,152,5,246,32,127,253,14,253,12, - 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, - 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, - 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, - 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, - 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, - 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, - 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, - 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, - 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, - 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, - 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, - 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, - 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, - 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, - 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, - 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, - 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, - 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, - 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, - 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, - 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, - 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, - 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, - 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, - 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, - 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, - 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, - 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, - 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, - 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, - 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, - 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, - 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, - 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, - 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, - 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, - 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, - 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, - 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, - 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, - 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, - 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, - 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, - 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, - 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, - 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, - 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, - 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, - 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, - 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, - 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, - 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, - 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, - 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, - 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, - 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, - 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, - 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, - 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, - 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, - 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, - 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, - 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, - 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, - 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, - 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, - 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, - 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, - 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, - 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, - 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, - 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, - 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, - 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, - 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, - 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, - 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, - 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, - 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, - 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, - 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, - 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, - 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, - 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, - 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, - 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, - 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, - 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, - 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, - 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, - 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, - 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, - 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, - 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, - 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, - 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, - 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, - 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, - 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, - 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, - 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, - 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, - 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, - 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, - 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, - 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, - 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, - 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, - 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, - 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, - 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, - 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, - 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, - 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, - 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, - 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, - 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, - 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, - 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, - 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, - 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, - 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, - 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, - 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, - 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, - 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, - 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, - 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, - 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, - 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, - 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, - 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, - 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, - 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, - 78,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=19 x= 4 y=11 dx=21 dy= 0 ascent=19 len=42 - Font Bounding box w=24 h=32 x=-3 y=-8 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =19 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB14[5558] U8G_FONT_SECTION("u8g_font_ncenB14") = { - 0,24,32,253,248,14,3,71,7,51,32,255,252,19,252,14, - 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, - 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, - 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, - 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, - 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, - 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, - 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, - 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, - 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, - 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, - 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, - 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, - 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, - 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, - 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, - 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, - 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, - 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, - 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, - 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, - 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, - 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, - 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, - 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, - 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, - 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, - 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, - 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, - 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, - 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, - 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, - 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, - 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, - 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, - 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, - 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, - 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, - 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, - 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, - 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, - 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, - 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, - 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, - 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, - 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, - 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, - 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, - 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, - 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, - 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, - 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, - 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, - 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, - 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, - 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, - 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, - 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, - 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, - 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, - 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, - 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, - 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, - 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, - 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, - 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, - 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, - 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, - 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, - 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, - 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, - 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, - 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, - 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, - 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, - 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, - 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, - 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, - 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, - 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, - 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, - 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, - 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, - 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, - 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, - 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, - 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, - 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, - 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, - 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, - 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, - 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, - 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, - 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, - 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, - 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, - 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, - 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, - 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, - 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, - 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, - 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, - 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, - 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, - 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, - 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, - 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, - 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, - 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, - 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, - 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, - 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, - 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, - 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, - 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, - 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, - 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, - 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, - 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, - 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, - 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, - 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, - 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, - 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, - 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, - 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, - 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, - 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, - 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, - 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, - 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, - 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, - 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, - 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, - 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, - 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, - 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, - 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, - 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, - 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, - 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, - 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, - 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, - 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, - 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, - 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, - 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, - 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, - 6,12,1,4,57,192,127,128,231,0,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,5,0, - 1,4,14,14,7,1,252,96,240,240,96,0,96,96,96,240, - 240,240,240,240,96,9,13,26,11,1,254,0,128,0,128,31, - 0,115,128,227,128,228,0,228,0,232,0,232,128,113,128,30, - 0,32,0,32,0,10,14,28,11,0,0,31,0,49,128,115, - 128,115,128,112,0,112,0,56,0,255,128,28,0,28,0,24, - 64,112,192,159,192,239,128,9,9,18,10,0,2,221,128,255, - 128,99,0,193,128,193,128,193,128,99,0,255,128,221,128,14, - 14,28,15,0,0,252,60,120,24,56,16,28,48,30,32,14, - 96,7,192,31,240,3,128,31,240,3,128,3,128,3,128,15, - 224,2,14,14,11,4,0,192,192,192,192,192,192,0,0,192, - 192,192,192,192,192,7,16,16,8,0,254,120,204,140,192,112, - 124,158,134,194,242,124,28,4,196,204,120,6,2,2,10,2, - 11,204,204,14,14,28,15,0,0,7,128,24,96,32,16,71, - 200,76,200,152,68,152,4,152,4,152,4,76,72,71,136,32, - 16,24,96,7,128,7,8,8,8,0,6,120,204,60,204,220, - 110,0,254,8,5,5,9,0,3,51,102,204,102,51,9,6, - 12,10,0,2,255,128,255,128,1,128,1,128,1,128,1,128, - 5,3,3,6,0,3,248,248,248,14,14,28,15,0,0,7, - 128,24,96,32,16,95,136,76,200,140,196,140,196,143,132,141, - 132,76,200,94,232,32,16,24,96,7,128,6,2,2,8,1, - 11,252,252,6,6,6,7,0,8,120,204,132,132,204,120,10, - 11,22,11,0,0,12,0,12,0,12,0,255,192,255,192,12, - 0,12,0,12,0,0,0,255,192,255,192,6,8,8,6,0, - 6,120,204,204,24,48,96,196,252,6,8,8,6,0,6,120, - 204,12,56,12,204,204,120,5,4,4,7,1,11,24,56,112, - 192,12,13,26,13,0,252,249,240,112,224,112,224,112,224,112, - 224,112,224,112,224,121,224,110,240,96,0,240,0,240,0,96, - 0,13,14,28,14,0,0,63,248,126,112,254,112,254,112,254, - 112,254,112,126,112,62,112,14,112,14,112,14,112,14,112,14, - 112,31,248,4,4,4,5,0,3,96,240,240,96,4,4,4, - 6,1,252,64,112,48,224,6,8,8,6,0,6,48,240,48, - 48,48,48,48,252,6,8,8,7,0,6,120,204,204,204,204, - 120,0,252,8,5,5,9,0,3,204,102,51,102,204,14,14, - 28,15,0,0,48,96,240,96,48,192,48,192,49,128,49,128, - 51,24,255,56,6,120,6,216,13,152,13,252,24,24,24,60, - 14,14,28,15,0,0,48,96,240,96,48,192,48,192,49,128, - 49,128,51,120,255,204,6,204,6,24,12,48,12,96,24,196, - 24,252,14,14,28,15,0,0,120,96,204,96,12,192,56,192, - 13,128,205,128,207,24,123,56,6,120,6,216,13,152,13,252, - 24,24,24,60,9,14,28,10,0,252,12,0,30,0,30,0, - 12,0,0,0,12,0,24,0,48,0,96,0,227,0,227,128, - 227,128,243,0,124,0,14,19,38,14,255,0,12,0,14,0, - 7,0,1,128,0,0,1,0,1,128,3,128,3,192,5,192, - 4,192,8,224,8,224,16,112,31,240,32,112,32,56,96,56, - 240,124,14,19,38,14,255,0,0,96,0,224,1,192,3,0, - 0,0,1,0,1,128,3,128,3,192,5,192,4,192,8,224, - 8,224,16,112,31,240,32,112,32,56,96,56,240,124,14,19, - 38,14,255,0,1,128,3,192,6,96,12,48,0,0,1,0, - 1,128,3,128,3,192,5,192,4,192,8,224,8,224,16,112, - 31,240,32,112,32,56,96,56,240,124,14,18,36,14,255,0, - 3,144,7,224,9,192,0,0,1,0,1,128,3,128,3,192, - 5,192,4,192,8,224,8,224,16,112,31,240,32,112,32,56, - 96,56,240,124,14,17,34,14,255,0,6,96,6,96,0,0, - 1,0,1,128,3,128,3,192,5,192,4,192,8,224,8,224, - 16,112,31,240,32,112,32,56,96,56,240,124,14,19,38,14, - 255,0,1,128,2,64,2,64,1,128,0,0,1,0,1,128, - 3,128,3,192,5,192,4,192,8,224,8,224,16,112,31,240, - 32,112,32,56,96,56,240,124,20,14,42,21,0,0,3,255, - 240,0,248,112,0,184,48,1,56,144,1,56,144,2,57,128, - 4,63,128,4,57,128,15,248,128,16,56,144,16,56,16,32, - 56,48,96,56,112,240,255,240,12,18,36,14,0,252,15,144, - 60,112,112,48,112,48,224,16,224,16,224,0,224,0,224,0, - 224,16,240,16,112,32,60,96,15,128,2,0,3,128,1,128, - 7,0,11,19,38,13,0,0,48,0,56,0,28,0,6,0, - 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, - 115,0,113,0,113,32,112,32,112,96,112,224,255,224,11,19, - 38,13,0,0,1,128,3,128,7,0,12,0,0,0,255,224, - 112,224,112,96,113,32,113,32,115,0,127,0,115,0,113,0, - 113,32,112,32,112,96,112,224,255,224,11,19,38,13,0,0, - 6,0,15,0,25,128,48,192,0,0,255,224,112,224,112,96, - 113,32,113,32,115,0,127,0,115,0,113,0,113,32,112,32, - 112,96,112,224,255,224,11,17,34,13,0,0,25,128,25,128, - 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, - 115,0,113,0,113,32,112,32,112,96,112,224,255,224,6,19, - 19,9,0,0,192,224,112,24,0,124,56,56,56,56,56,56, - 56,56,56,56,56,56,124,6,19,19,9,1,0,12,28,56, - 96,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, - 8,19,19,9,0,0,24,60,102,195,0,124,56,56,56,56, - 56,56,56,56,56,56,56,56,124,6,17,17,9,1,0,204, - 204,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, - 14,14,28,16,0,0,255,192,112,240,112,56,112,56,112,28, - 112,28,252,28,112,28,112,28,112,28,112,56,112,56,112,240, - 255,192,14,18,36,16,0,0,7,32,15,192,19,128,0,0, - 240,124,120,56,60,16,60,16,62,16,47,16,39,144,35,208, - 33,240,32,240,32,240,32,112,112,48,248,16,14,19,38,16, - 0,0,12,0,14,0,7,0,1,128,0,0,15,192,60,240, - 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,112,56,60,240,15,192,14,19,38,16,0,0,0,192, - 1,192,3,128,6,0,0,0,15,192,60,240,112,56,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, - 60,240,15,192,14,19,38,16,0,0,3,0,7,128,12,192, - 24,96,0,0,15,192,60,240,112,56,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,112,56,112,56,60,240,15,192, - 14,18,36,16,0,0,7,32,15,192,19,128,0,0,15,192, - 60,240,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,60,240,15,192,14,17,34,16,0,0, - 12,192,12,192,0,0,15,192,60,240,112,56,112,56,224,28, - 224,28,224,28,224,28,224,28,224,28,112,56,112,56,60,240, - 15,192,10,10,20,11,0,0,64,128,225,192,115,128,63,0, - 30,0,30,0,63,0,115,128,225,192,64,128,14,15,30,16, - 0,0,0,8,15,208,60,240,112,56,112,88,224,156,225,28, - 225,28,226,28,228,28,232,28,112,56,48,56,60,240,79,192, - 14,19,38,16,0,0,12,0,14,0,7,0,1,128,0,0, - 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,112,16,112,16,56,96,31,192,14,19,38,16, - 0,0,0,96,0,224,1,192,3,0,0,0,248,124,112,56, - 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,56,96,31,192,14,19,38,16,0,0,3,0, - 7,128,12,192,24,96,0,0,248,124,112,56,112,16,112,16, - 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, - 56,96,31,192,14,17,34,16,0,0,12,192,12,192,0,0, - 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, - 112,16,112,16,112,16,112,16,56,96,31,192,13,19,38,15, - 0,0,0,96,0,224,1,192,3,0,0,0,252,120,120,48, - 56,32,60,96,28,64,30,128,15,128,7,0,7,0,7,0, - 7,0,7,0,7,0,31,192,12,14,28,14,1,0,248,0, - 112,0,112,0,127,192,113,224,112,240,112,240,112,240,112,240, - 113,224,127,128,112,0,112,0,248,0,11,14,28,12,0,0, - 30,0,51,128,113,192,113,192,113,192,113,128,119,0,113,192, - 112,224,112,224,112,224,112,224,113,192,247,0,10,14,28,11, - 0,0,48,0,56,0,28,0,6,0,0,0,127,0,227,128, - 195,128,7,128,59,128,227,128,227,128,231,128,121,192,10,14, - 28,11,0,0,3,0,7,0,14,0,24,0,0,0,127,0, - 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, - 10,14,28,11,0,0,12,0,30,0,51,0,97,128,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,10,13,26,11,0,0,24,128,63,0,70,0,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,10,12,24,11,0,0,51,0,51,0,0,0,127,0, - 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, - 10,14,28,11,0,0,12,0,18,0,18,0,12,0,0,0, - 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, - 121,192,16,9,18,17,0,0,63,120,99,206,227,135,7,135, - 59,255,227,128,227,129,231,195,120,252,9,13,26,10,0,252, - 31,0,115,128,225,128,224,0,224,0,224,0,224,128,113,128, - 30,0,8,0,14,0,6,0,28,0,10,14,28,11,0,0, - 48,0,56,0,28,0,6,0,0,0,30,0,115,128,225,192, - 225,192,255,192,224,0,224,64,112,192,31,0,10,14,28,11, - 0,0,3,0,7,0,14,0,24,0,0,0,30,0,115,128, - 225,192,225,192,255,192,224,0,224,64,112,192,31,0,10,14, - 28,11,0,0,12,0,30,0,51,0,97,128,0,0,30,0, - 115,128,225,192,225,192,255,192,224,0,224,64,112,192,31,0, - 10,12,24,11,0,0,51,0,51,0,0,0,30,0,115,128, - 225,192,225,192,255,192,224,0,224,64,112,192,31,0,6,14, - 14,6,255,0,192,224,112,24,0,120,56,56,56,56,56,56, - 56,124,6,14,14,6,0,0,12,28,56,96,0,240,112,112, - 112,112,112,112,112,248,8,14,14,6,255,0,24,60,102,195, - 0,120,56,56,56,56,56,56,56,124,5,12,12,6,0,0, - 216,216,0,240,112,112,112,112,112,112,112,248,11,14,28,12, - 0,0,192,0,51,0,28,0,102,0,3,0,31,128,113,192, - 224,224,224,224,224,224,224,224,224,224,113,192,31,0,12,13, - 26,13,0,0,12,64,31,128,35,0,0,0,247,192,121,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,11,14, - 28,12,0,0,48,0,56,0,28,0,6,0,0,0,31,0, - 113,192,224,224,224,224,224,224,224,224,224,224,113,192,31,0, - 11,14,28,12,0,0,1,128,3,128,7,0,12,0,0,0, - 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, - 31,0,11,14,28,12,0,0,6,0,15,0,25,128,48,192, - 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, - 113,192,31,0,11,13,26,12,0,0,24,128,63,0,70,0, - 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, - 113,192,31,0,11,12,24,12,0,0,51,0,51,0,0,0, - 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, - 31,0,10,10,20,11,0,0,12,0,12,0,0,0,0,0, - 255,192,255,192,0,0,0,0,12,0,12,0,10,11,22,11, - 0,255,1,0,31,0,115,128,227,192,229,192,229,192,233,192, - 233,192,115,128,62,0,32,0,12,14,28,13,0,0,24,0, - 28,0,14,0,3,0,0,0,249,240,112,224,112,224,112,224, - 112,224,112,224,112,224,121,224,62,240,12,14,28,13,0,0, - 3,0,7,0,14,0,24,0,0,0,249,240,112,224,112,224, - 112,224,112,224,112,224,112,224,121,224,62,240,12,14,28,13, - 0,0,6,0,15,0,25,128,48,192,0,0,249,240,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,12,12, - 24,13,0,0,25,128,25,128,0,0,249,240,112,224,112,224, - 112,224,112,224,112,224,112,224,121,224,62,240,11,18,36,12, - 0,252,1,128,3,128,7,0,12,0,0,0,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,12,18,36,12,255,252,240,0,112,0, - 112,0,112,0,112,0,119,128,120,224,112,112,112,112,112,112, - 112,112,112,112,120,224,119,128,112,0,112,0,112,0,248,0, - 11,16,32,12,0,252,25,128,25,128,0,0,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=18 x= 4 y=10 dx=20 dy= 0 ascent=16 len=42 - Font Bounding box w=24 h=32 x=-3 y=-8 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB14r[2603] U8G_FONT_SECTION("u8g_font_ncenB14r") = { - 0,24,32,253,248,14,3,71,7,51,32,127,252,16,252,14, - 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, - 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, - 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, - 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, - 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, - 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, - 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, - 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, - 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, - 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, - 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, - 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, - 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, - 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, - 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, - 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, - 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, - 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, - 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, - 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, - 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, - 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, - 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, - 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, - 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, - 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, - 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, - 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, - 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, - 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, - 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, - 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, - 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, - 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, - 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, - 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, - 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, - 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, - 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, - 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, - 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, - 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, - 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, - 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, - 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, - 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, - 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, - 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, - 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, - 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, - 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, - 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, - 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, - 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, - 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, - 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, - 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, - 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, - 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, - 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, - 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, - 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, - 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, - 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, - 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, - 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, - 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, - 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, - 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, - 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, - 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, - 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, - 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, - 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, - 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, - 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, - 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, - 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, - 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, - 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, - 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, - 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, - 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, - 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, - 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, - 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, - 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, - 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, - 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, - 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, - 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, - 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, - 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, - 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, - 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, - 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, - 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, - 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, - 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, - 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, - 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, - 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, - 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, - 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, - 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, - 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, - 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, - 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, - 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, - 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, - 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, - 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, - 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, - 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, - 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, - 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, - 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, - 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, - 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, - 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, - 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, - 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, - 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, - 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, - 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, - 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, - 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, - 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, - 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, - 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, - 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, - 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, - 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, - 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, - 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, - 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, - 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, - 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, - 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, - 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, - 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, - 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, - 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, - 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, - 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, - 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, - 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, - 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, - 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, - 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, - 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, - 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, - 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, - 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, - 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, - 6,12,1,4,57,192,127,128,231,0,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 6 y=15 dx=26 dy= 0 ascent=24 len=72 - Font Bounding box w=33 h=40 x=-4 y=-10 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB18[8114] U8G_FONT_SECTION("u8g_font_ncenB18") = { - 0,33,40,252,246,18,4,68,10,106,32,255,251,24,251,18, - 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, - 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, - 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, - 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, - 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, - 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, - 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, - 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, - 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, - 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, - 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, - 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, - 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, - 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, - 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, - 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, - 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, - 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, - 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, - 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, - 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, - 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, - 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, - 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, - 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, - 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, - 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, - 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, - 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, - 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, - 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, - 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, - 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, - 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, - 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, - 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, - 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, - 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, - 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, - 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, - 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, - 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, - 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, - 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, - 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, - 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, - 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, - 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, - 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, - 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, - 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, - 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, - 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, - 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, - 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, - 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, - 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, - 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, - 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, - 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, - 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, - 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, - 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, - 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, - 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, - 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, - 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, - 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, - 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, - 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, - 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, - 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, - 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, - 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, - 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, - 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, - 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, - 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, - 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, - 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, - 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, - 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, - 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, - 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, - 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, - 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, - 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, - 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, - 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, - 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, - 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, - 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, - 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, - 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, - 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, - 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, - 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, - 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, - 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, - 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, - 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, - 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, - 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, - 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, - 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, - 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, - 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, - 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, - 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, - 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, - 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, - 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, - 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, - 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, - 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, - 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, - 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, - 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, - 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, - 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, - 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, - 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, - 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, - 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, - 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, - 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, - 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, - 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, - 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, - 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, - 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, - 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, - 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, - 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, - 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, - 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, - 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, - 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, - 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, - 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, - 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, - 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, - 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, - 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, - 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, - 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, - 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, - 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, - 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, - 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, - 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, - 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, - 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, - 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, - 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, - 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, - 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, - 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, - 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, - 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, - 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, - 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, - 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, - 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, - 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, - 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, - 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, - 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, - 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, - 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, - 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, - 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, - 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, - 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, - 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, - 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, - 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, - 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, - 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, - 112,255,240,231,224,65,192,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,7,0,1,5,18, - 18,7,1,251,112,248,248,112,0,0,32,32,112,112,112,112, - 112,112,248,248,248,112,12,15,30,14,1,255,0,32,0,64, - 15,192,56,240,121,240,113,96,242,0,242,0,244,0,244,0, - 120,16,120,16,60,96,47,192,64,0,14,18,36,15,0,0, - 3,224,15,48,14,120,30,120,30,48,30,0,30,0,30,0, - 127,224,15,0,15,0,15,0,7,0,7,4,126,12,207,252, - 207,248,113,240,12,12,24,14,1,2,207,48,255,240,127,224, - 112,224,224,112,224,112,224,112,224,112,112,224,127,224,255,240, - 207,48,19,18,54,19,0,0,255,143,224,62,3,0,62,3, - 0,31,6,0,31,6,0,15,140,0,15,140,0,7,216,0, - 7,248,0,31,254,0,1,224,0,1,224,0,31,254,0,1, - 224,0,1,224,0,1,224,0,3,240,0,15,252,0,3,18, - 18,14,6,0,224,224,224,224,224,224,224,0,0,0,224,224, - 224,224,224,224,224,224,11,20,40,13,1,254,31,0,35,128, - 99,128,99,0,120,0,62,0,63,128,71,192,193,224,224,224, - 240,96,124,96,63,64,15,128,3,128,1,128,48,128,112,128, - 113,0,62,0,10,4,8,12,1,14,97,128,243,192,243,192, - 97,128,19,18,54,21,1,0,3,248,0,15,254,0,60,7, - 128,48,1,128,97,248,192,103,24,192,198,8,96,206,0,96, - 206,0,96,206,0,96,206,0,96,199,4,96,103,136,192,97, - 240,192,48,1,128,60,7,128,15,254,0,3,248,0,8,10, - 10,10,1,8,120,206,6,126,198,206,119,0,0,255,11,7, - 14,13,1,3,28,224,57,192,115,128,231,0,115,128,57,192, - 28,224,11,6,12,13,1,4,255,224,255,224,0,96,0,96, - 0,96,0,96,6,3,3,8,1,5,252,252,252,19,18,54, - 21,1,0,3,248,0,15,254,0,60,7,128,48,1,128,103, - 240,192,99,24,192,195,24,96,195,24,96,195,240,96,195,96, - 96,195,48,96,195,48,96,99,24,192,103,156,192,48,1,128, - 60,7,128,15,254,0,3,248,0,8,2,2,10,1,15,255, - 255,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, - 22,14,1,1,6,0,6,0,6,0,255,240,255,240,6,0, - 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, - 124,206,198,198,14,12,24,48,98,254,254,7,11,11,8,0, - 7,124,206,198,6,12,60,14,6,198,206,124,5,5,5,7, - 1,14,24,56,112,96,192,17,17,51,18,0,251,254,63,128, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,63,222,0,39,159, - 128,48,0,0,48,0,0,120,0,0,120,0,0,48,0,0, - 16,18,36,18,1,0,31,255,127,156,127,156,255,156,255,156, - 255,156,127,156,127,156,31,156,3,156,3,156,3,156,3,156, - 3,156,3,156,3,156,3,156,15,255,3,4,4,7,2,5, - 224,224,224,224,5,6,6,7,1,251,16,32,112,56,24,240, - 6,11,11,8,0,7,48,240,48,48,48,48,48,48,48,48, - 252,9,10,20,11,1,8,28,0,99,0,227,128,227,128,227, - 128,99,0,28,0,0,0,0,0,255,128,11,7,14,13,1, - 3,231,0,115,128,57,192,28,224,57,192,115,128,231,0,18, - 18,54,21,1,0,48,6,0,240,6,0,48,12,0,48,24, - 0,48,24,0,48,48,0,48,96,0,48,99,0,48,199,0, - 49,135,0,253,143,0,3,27,0,6,19,0,6,51,0,12, - 99,0,24,127,192,24,3,0,48,7,128,18,18,54,21,1, - 0,48,6,0,240,6,0,48,12,0,48,24,0,48,24,0, - 48,48,0,48,96,0,48,111,128,48,201,192,49,152,192,253, - 152,192,3,1,192,6,1,128,6,3,0,12,6,0,24,12, - 64,24,31,192,48,31,192,19,18,54,21,0,0,124,3,0, - 206,3,0,198,6,0,6,12,0,12,12,0,56,24,0,12, - 48,0,6,49,128,198,99,128,206,195,128,124,197,128,1,141, - 128,3,25,128,3,25,128,6,49,128,12,63,224,12,1,128, - 24,3,192,11,18,36,13,1,251,7,0,15,128,15,128,7, - 0,0,0,0,0,3,0,3,0,6,0,28,0,56,0,112, - 0,240,0,240,192,241,224,241,224,120,192,31,128,19,24,72, - 19,0,0,6,0,0,7,0,0,3,128,0,1,192,0,0, - 96,0,0,0,0,0,96,0,0,96,0,0,240,0,0,240, - 0,1,120,0,1,120,0,3,60,0,2,60,0,2,60,0, - 6,30,0,4,30,0,7,254,0,12,15,0,8,15,0,8, - 15,0,24,7,128,56,7,128,254,31,224,19,24,72,19,0, - 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, - 0,0,0,0,96,0,0,96,0,0,240,0,0,240,0,1, - 120,0,1,120,0,3,60,0,2,60,0,2,60,0,6,30, - 0,4,30,0,7,254,0,12,15,0,8,15,0,8,15,0, - 24,7,128,56,7,128,254,31,224,19,23,69,19,0,0,0, - 96,0,0,240,0,1,152,0,3,12,0,0,0,0,0,96, - 0,0,96,0,0,240,0,0,240,0,1,120,0,1,120,0, - 3,60,0,2,60,0,2,60,0,6,30,0,4,30,0,7, - 254,0,12,15,0,8,15,0,8,15,0,24,7,128,56,7, - 128,254,31,224,19,22,66,19,0,0,0,226,0,1,252,0, - 2,56,0,0,0,0,0,96,0,0,96,0,0,240,0,0, - 240,0,1,120,0,1,120,0,3,60,0,2,60,0,2,60, - 0,6,30,0,4,30,0,7,254,0,12,15,0,8,15,0, - 8,15,0,24,7,128,56,7,128,254,31,224,19,23,69,19, - 0,0,3,156,0,3,156,0,3,156,0,0,0,0,0,0, - 0,0,96,0,0,96,0,0,240,0,0,240,0,1,120,0, - 1,120,0,3,60,0,2,60,0,2,60,0,6,30,0,4, - 30,0,7,254,0,12,15,0,8,15,0,8,15,0,24,7, - 128,56,7,128,254,31,224,19,24,72,19,0,0,0,240,0, - 1,152,0,1,8,0,1,152,0,0,240,0,0,0,0,0, - 96,0,0,96,0,0,240,0,0,240,0,1,120,0,1,120, - 0,3,60,0,2,60,0,2,60,0,6,30,0,4,30,0, - 7,254,0,12,15,0,8,15,0,8,15,0,24,7,128,56, - 7,128,254,31,224,25,18,72,26,0,0,1,255,255,128,0, - 111,3,128,0,111,1,128,0,207,0,128,0,207,0,128,1, - 143,8,128,1,143,8,0,3,15,24,0,3,15,248,0,6, - 15,24,0,7,255,8,0,12,15,8,0,12,15,0,128,24, - 15,0,128,24,15,0,128,48,15,1,128,112,15,3,128,252, - 63,255,128,17,23,69,19,1,251,3,249,128,15,15,128,60, - 3,128,60,1,128,120,1,128,120,0,128,248,0,128,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,120,0,128, - 120,0,128,60,1,0,60,1,0,15,6,0,3,248,0,0, - 128,0,1,192,0,0,224,0,0,96,0,3,192,0,15,24, - 48,18,1,0,12,0,14,0,7,0,1,128,0,192,0,0, - 255,254,60,30,60,6,60,2,60,2,60,34,60,32,60,96, - 63,224,60,96,60,32,60,32,60,2,60,2,60,2,60,6, - 60,30,255,254,15,24,48,18,1,0,0,24,0,56,0,112, - 0,192,1,128,0,0,255,254,60,30,60,6,60,2,60,2, - 60,34,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,2,60,6,60,30,255,254,15,23,46,18,1,0, - 1,128,3,192,6,96,12,48,0,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,23, - 46,18,1,0,14,112,14,112,14,112,0,0,0,0,255,254, - 60,30,60,6,60,2,60,2,60,34,60,32,60,96,63,224, - 60,96,60,32,60,32,60,2,60,2,60,2,60,6,60,30, - 255,254,8,24,24,10,1,0,192,224,112,24,12,0,255,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, - 8,24,24,10,1,0,3,7,14,24,48,0,255,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,255,8,23, - 23,10,1,0,24,60,102,195,0,255,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,255,8,23,23,10,1, - 0,231,231,231,0,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,255,135,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,20,22,66,22,1,0,0,226,0,1,252,0, - 2,56,0,0,0,0,252,7,240,62,1,192,31,0,128,31, - 128,128,31,192,128,23,224,128,19,240,128,17,240,128,16,248, - 128,16,124,128,16,126,128,16,63,128,16,31,128,16,15,128, - 16,7,128,16,3,128,56,1,128,254,0,128,19,24,72,21, - 1,0,6,0,0,7,0,0,3,128,0,0,192,0,0,96, - 0,0,0,0,3,248,0,15,30,0,60,7,128,60,7,128, - 120,3,192,120,3,192,248,3,224,248,3,224,248,3,224,248, - 3,224,248,3,224,248,3,224,120,3,192,120,3,192,60,7, - 128,60,7,128,15,30,0,3,248,0,19,23,69,21,1,0, - 0,24,0,0,56,0,0,96,0,0,192,0,0,0,0,3, - 248,0,15,30,0,60,7,128,60,7,128,120,3,192,120,3, - 192,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,120,3,192,120,3,192,60,7,128,60,7,128,15, - 30,0,3,248,0,19,23,69,21,1,0,0,96,0,0,240, - 0,1,152,0,3,12,0,0,0,0,3,248,0,15,30,0, - 60,7,128,60,7,128,120,3,192,120,3,192,248,3,224,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,120,3, - 192,120,3,192,60,7,128,60,7,128,15,30,0,3,248,0, - 19,22,66,21,1,0,0,226,0,1,252,0,2,56,0,0, - 0,0,3,248,0,15,30,0,60,7,128,60,7,128,120,3, - 192,120,3,192,248,3,224,248,3,224,248,3,224,248,3,224, - 248,3,224,248,3,224,120,3,192,120,3,192,60,7,128,60, - 7,128,15,30,0,3,248,0,19,23,69,21,1,0,7,28, - 0,7,28,0,7,28,0,0,0,0,0,0,0,3,248,0, - 15,30,0,60,7,128,60,7,128,120,3,192,120,3,192,248, - 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, - 224,120,3,192,120,3,192,60,7,128,60,7,128,15,30,0, - 3,248,0,12,12,24,14,1,1,192,48,224,112,112,224,57, - 192,31,128,15,0,15,0,31,128,57,192,112,224,224,112,192, - 48,20,18,54,21,0,0,1,252,48,7,143,96,30,3,192, - 30,3,192,60,7,224,60,13,224,124,25,240,124,49,240,124, - 97,240,124,193,240,125,129,240,127,1,240,62,1,224,60,1, - 224,62,3,192,126,3,192,199,143,0,129,252,0,19,24,72, - 21,1,0,3,0,0,3,128,0,1,192,0,0,96,0,0, - 48,0,0,0,0,255,15,224,60,3,128,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,30,2,0,31,142,0,7,248,0,19,24,72,21,1, - 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, - 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 30,2,0,31,142,0,7,248,0,19,23,69,21,1,0,0, - 96,0,0,240,0,1,152,0,3,12,0,0,0,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,30,2,0,31,142, - 0,7,248,0,19,23,69,21,1,0,7,28,0,7,28,0, - 7,28,0,0,0,0,0,0,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,30,2,0,31,142,0,7,248,0,18, - 24,72,18,0,0,0,6,0,0,14,0,0,28,0,0,48, - 0,0,96,0,0,0,0,255,15,192,60,3,0,30,6,0, - 30,6,0,15,12,0,15,12,0,7,152,0,7,152,0,3, - 240,0,3,240,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,7,248,0,16,18,36, - 18,1,0,255,128,60,0,60,0,60,0,63,248,60,62,60, - 30,60,31,60,31,60,31,60,31,60,30,60,62,63,240,60, - 0,60,0,60,0,255,128,15,18,36,15,255,0,7,224,30, - 120,28,60,60,60,60,60,60,56,60,112,61,224,60,60,60, - 30,60,30,60,30,60,30,60,30,60,30,60,28,61,60,253, - 240,14,18,36,15,0,0,12,0,14,0,7,0,3,0,1, - 128,0,0,127,128,241,224,240,240,96,240,1,240,14,240,120, - 240,240,240,240,240,240,240,249,252,126,56,14,18,36,15,0, - 0,1,128,3,128,7,0,6,0,12,0,0,0,127,128,241, - 224,240,240,96,240,1,240,14,240,120,240,240,240,240,240,240, - 240,249,252,126,56,14,18,36,15,0,0,2,0,7,0,15, - 128,24,192,48,96,0,0,127,128,241,224,240,240,96,240,1, - 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, - 17,34,15,0,0,14,32,31,192,35,128,0,0,0,0,127, - 128,241,224,240,240,96,240,1,240,14,240,120,240,240,240,240, - 240,240,240,249,252,126,56,14,17,34,15,0,0,56,224,56, - 224,56,224,0,0,0,0,127,128,241,224,240,240,96,240,1, - 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, - 18,36,15,0,0,7,0,13,128,8,128,13,128,7,0,0, - 0,127,128,241,224,240,240,96,240,1,240,14,240,120,240,240, - 240,240,240,240,240,249,252,126,56,22,12,36,23,0,0,31, - 207,192,121,248,112,112,248,120,112,240,56,1,240,60,14,255, - 252,120,240,0,240,240,0,240,248,8,240,248,8,249,188,48, - 126,15,224,13,17,34,14,0,251,15,240,56,120,120,120,112, - 48,240,0,240,0,240,0,240,0,120,8,120,8,60,48,31, - 224,2,0,7,0,3,128,1,128,15,0,14,18,36,15,0, - 0,12,0,14,0,7,0,3,0,1,128,0,0,15,192,56, - 112,120,120,112,56,240,60,255,252,240,0,240,0,120,8,120, - 8,60,48,15,224,14,18,36,15,0,0,0,96,0,224,1, - 192,3,128,6,0,0,0,15,192,56,112,120,120,112,56,240, - 60,255,252,240,0,240,0,120,8,120,8,60,48,15,224,14, - 18,36,15,0,0,2,0,7,0,15,128,24,192,48,96,0, - 0,15,192,56,112,120,120,112,56,240,60,255,252,240,0,240, - 0,120,8,120,8,60,48,15,224,14,17,34,15,0,0,28, - 112,28,112,28,112,0,0,0,0,15,192,56,112,120,120,112, - 56,240,60,255,252,240,0,240,0,120,8,120,8,60,48,15, - 224,8,18,18,9,0,0,96,112,56,24,12,0,252,60,60, - 60,60,60,60,60,60,60,60,255,8,18,18,9,0,0,12, - 28,56,48,96,0,252,60,60,60,60,60,60,60,60,60,60, - 255,9,18,36,9,0,0,8,0,28,0,62,0,99,0,193, - 128,0,0,252,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,255,0,8,17,17,9,0, - 0,231,231,231,0,0,252,60,60,60,60,60,60,60,60,60, - 60,255,14,18,36,15,0,0,192,0,57,192,15,0,15,0, - 49,192,0,224,15,240,56,112,120,120,112,56,240,60,240,60, - 240,60,240,60,112,56,120,120,56,112,15,192,17,17,51,18, - 0,0,3,136,0,7,240,0,8,224,0,0,0,0,0,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,18,36,15,0,0,12,0,14,0,7, - 0,3,0,1,128,0,0,15,192,56,112,120,120,112,56,240, - 60,240,60,240,60,240,60,112,56,120,120,56,112,15,192,14, - 18,36,15,0,0,0,96,0,224,1,192,3,0,6,0,0, - 0,15,192,56,112,120,120,112,56,240,60,240,60,240,60,240, - 60,112,56,120,120,56,112,15,192,14,18,36,15,0,0,2, - 0,7,0,15,128,24,192,48,96,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,14,17,34,15,0,0,7,16,15,224,17,192,0, - 0,0,0,15,192,56,112,120,120,112,56,240,60,240,60,240, - 60,240,60,112,56,120,120,56,112,15,192,14,17,34,15,0, - 0,56,224,56,224,56,224,0,0,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,12,12,24,14,1,1,6,0,6,0,6,0,0, - 0,0,0,255,240,255,240,0,0,0,0,6,0,6,0,6, - 0,14,18,36,15,0,253,0,16,0,16,0,32,15,224,56, - 112,120,120,112,184,240,188,241,60,241,60,242,60,114,56,124, - 120,60,112,15,192,8,0,16,0,16,0,17,18,54,18,0, - 0,3,0,0,3,128,0,1,192,0,0,192,0,0,96,0, - 0,0,0,254,63,128,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,62,62, - 0,31,222,0,15,159,128,17,18,54,18,0,0,0,96,0, - 0,224,0,1,192,0,1,128,0,3,0,0,0,0,0,254, - 63,128,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,62,62,0,31,222,0, - 15,159,128,17,18,54,18,0,0,0,128,0,1,192,0,3, - 224,0,6,48,0,12,24,0,0,0,0,254,63,128,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,62,62,0,31,222,0,15,159,128,17, - 17,51,18,0,0,14,56,0,14,56,0,14,56,0,0,0, - 0,0,0,0,254,63,128,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,62, - 62,0,31,222,0,15,159,128,16,23,46,15,255,251,0,48, - 0,112,0,224,0,192,1,128,0,0,254,63,60,12,30,8, - 30,24,15,16,15,48,7,160,7,224,3,192,3,192,1,192, - 1,128,1,128,97,0,243,0,254,0,120,0,16,23,46,16, - 255,251,252,0,60,0,60,0,60,0,60,0,60,0,61,240, - 63,28,60,30,60,14,60,15,60,15,60,15,60,15,60,14, - 62,30,63,28,61,240,60,0,60,0,60,0,60,0,255,0, - 16,22,44,15,255,251,14,56,14,56,14,56,0,0,0,0, - 254,63,60,12,30,8,30,24,15,16,15,48,7,160,7,224, - 3,192,3,192,1,192,1,128,1,128,97,0,243,0,254,0, - 120,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=23 x= 6 y=13 dx=26 dy= 0 ascent=20 len=72 - Font Bounding box w=33 h=40 x=-4 y=-10 - Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB18r[3736] U8G_FONT_SECTION("u8g_font_ncenB18r") = { - 0,33,40,252,246,18,4,68,10,106,32,127,251,20,251,18, - 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, - 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, - 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, - 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, - 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, - 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, - 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, - 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, - 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, - 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, - 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, - 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, - 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, - 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, - 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, - 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, - 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, - 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, - 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, - 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, - 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, - 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, - 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, - 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, - 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, - 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, - 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, - 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, - 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, - 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, - 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, - 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, - 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, - 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, - 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, - 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, - 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, - 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, - 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, - 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, - 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, - 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, - 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, - 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, - 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, - 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, - 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, - 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, - 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, - 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, - 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, - 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, - 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, - 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, - 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, - 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, - 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, - 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, - 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, - 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, - 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, - 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, - 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, - 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, - 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, - 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, - 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, - 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, - 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, - 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, - 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, - 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, - 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, - 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, - 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, - 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, - 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, - 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, - 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, - 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, - 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, - 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, - 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, - 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, - 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, - 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, - 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, - 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, - 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, - 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, - 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, - 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, - 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, - 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, - 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, - 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, - 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, - 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, - 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, - 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, - 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, - 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, - 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, - 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, - 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, - 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, - 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, - 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, - 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, - 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, - 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, - 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, - 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, - 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, - 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, - 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, - 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, - 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, - 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, - 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, - 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, - 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, - 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, - 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, - 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, - 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, - 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, - 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, - 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, - 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, - 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, - 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, - 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, - 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, - 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, - 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, - 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, - 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, - 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, - 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, - 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, - 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, - 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, - 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, - 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, - 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, - 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, - 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, - 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, - 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, - 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, - 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, - 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, - 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, - 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, - 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, - 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, - 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, - 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, - 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, - 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, - 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, - 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, - 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, - 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, - 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, - 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, - 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, - 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, - 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, - 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, - 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, - 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, - 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, - 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, - 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, - 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, - 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, - 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, - 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, - 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, - 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, - 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, - 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, - 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, - 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, - 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, - 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, - 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, - 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, - 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, - 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, - 112,255,240,231,224,65,192,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=32 h=33 x= 8 y=18 dx=33 dy= 0 ascent=33 len=132 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =33 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24[12964] U8G_FONT_SECTION("u8g_font_ncenB24") = { - 0,39,53,252,243,25,6,143,16,147,32,255,249,33,249,25, - 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, - 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, - 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, - 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, - 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, - 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, - 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, - 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, - 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, - 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, - 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, - 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, - 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, - 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, - 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, - 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, - 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, - 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, - 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, - 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, - 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, - 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, - 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, - 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, - 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, - 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, - 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, - 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, - 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, - 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, - 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, - 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, - 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, - 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, - 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, - 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, - 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, - 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, - 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, - 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, - 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, - 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, - 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, - 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, - 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, - 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, - 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, - 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, - 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, - 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, - 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, - 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, - 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, - 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, - 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, - 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, - 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, - 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, - 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, - 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, - 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, - 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, - 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, - 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, - 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, - 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, - 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, - 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, - 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, - 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, - 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, - 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, - 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, - 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, - 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, - 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, - 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, - 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, - 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, - 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, - 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, - 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, - 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, - 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, - 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, - 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, - 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, - 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, - 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, - 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, - 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, - 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, - 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, - 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, - 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, - 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, - 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, - 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, - 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, - 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, - 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, - 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, - 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, - 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, - 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, - 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, - 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, - 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, - 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, - 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, - 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, - 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, - 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, - 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, - 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, - 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, - 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, - 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, - 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, - 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, - 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, - 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, - 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, - 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, - 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, - 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, - 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, - 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, - 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, - 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, - 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, - 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, - 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, - 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, - 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, - 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, - 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, - 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, - 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, - 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, - 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, - 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, - 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, - 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, - 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, - 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, - 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, - 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, - 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, - 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, - 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, - 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, - 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, - 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, - 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, - 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, - 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, - 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, - 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, - 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, - 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, - 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, - 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, - 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, - 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, - 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, - 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, - 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, - 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, - 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, - 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, - 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, - 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, - 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, - 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, - 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, - 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, - 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, - 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, - 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, - 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, - 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, - 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, - 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, - 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, - 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, - 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, - 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, - 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, - 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, - 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, - 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, - 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, - 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, - 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, - 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, - 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, - 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, - 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, - 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, - 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, - 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, - 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, - 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, - 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, - 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, - 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, - 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, - 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, - 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, - 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, - 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, - 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, - 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, - 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, - 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, - 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, - 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, - 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, - 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, - 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, - 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, - 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, - 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, - 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, - 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, - 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, - 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, - 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, - 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, - 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, - 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, - 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, - 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, - 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, - 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, - 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, - 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, - 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, - 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, - 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, - 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, - 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, - 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, - 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, - 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, - 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, - 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, - 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, - 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, - 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, - 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, - 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, - 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, - 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, - 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, - 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, - 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, - 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, - 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, - 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, - 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, - 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, - 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, - 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, - 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, - 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, - 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, - 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, - 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, - 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, - 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, - 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, - 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, - 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, - 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, - 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, - 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, - 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, - 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, - 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, - 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, - 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, - 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,9,1,1,6,25,25,10,2,249,120,252,252, - 252,252,120,0,0,48,48,48,48,48,48,120,120,120,120,124, - 252,252,252,252,252,120,15,22,44,19,1,253,0,6,0,6, - 0,12,3,252,14,124,60,62,124,62,120,126,248,126,248,220, - 248,192,249,128,253,128,255,2,255,6,126,6,63,28,31,248, - 15,224,24,0,24,0,48,0,17,24,72,19,1,0,1,248, - 0,7,252,0,15,142,0,15,15,0,31,31,0,31,31,0, - 31,31,0,31,14,0,15,0,0,15,0,0,7,128,0,127, - 248,0,127,248,0,7,128,0,7,128,0,7,128,0,3,128, - 0,3,129,128,123,3,128,255,199,0,199,255,0,199,254,0, - 253,254,0,120,124,0,16,16,32,19,1,3,99,198,247,239, - 255,254,127,252,60,62,120,30,112,14,112,14,112,14,112,14, - 120,30,60,60,127,254,255,255,247,239,99,198,19,24,72,19, - 0,0,255,31,224,255,31,224,124,7,128,62,7,0,62,7, - 0,31,6,0,31,14,0,15,140,0,15,140,0,7,216,0, - 7,216,0,3,240,0,31,254,0,31,254,0,1,224,0,1, - 224,0,31,254,0,31,254,0,1,224,0,1,224,0,1,224, - 0,1,224,0,15,252,0,15,252,0,4,25,25,20,8,0, - 240,240,240,240,240,240,240,240,240,240,0,0,0,0,0,240, - 240,240,240,240,240,240,240,240,240,12,29,58,16,2,253,31, - 0,115,128,99,192,227,192,227,192,241,128,120,0,124,0,62, - 0,30,0,63,0,111,128,199,192,227,224,225,224,240,240,120, - 112,124,112,62,96,31,192,15,128,7,192,3,224,97,224,240, - 224,240,224,240,224,121,192,63,0,11,5,10,11,0,18,96, - 192,241,224,241,224,241,224,96,192,24,25,75,25,1,0,0, - 255,0,3,255,192,7,129,224,30,0,112,24,0,24,48,0, - 12,112,127,14,96,243,134,97,193,134,227,193,135,195,128,131, - 195,128,3,195,128,3,195,128,3,195,128,3,195,128,7,193, - 192,134,225,225,134,96,255,12,112,60,28,56,0,56,28,0, - 112,15,129,192,3,255,128,0,254,0,11,15,30,12,0,10, - 63,0,227,192,241,192,227,192,15,192,113,192,225,192,227,192, - 247,224,253,224,0,0,0,0,0,0,255,224,255,224,12,11, - 22,16,2,3,4,16,12,48,24,96,56,224,113,192,243,192, - 113,192,56,224,24,96,12,48,4,16,16,10,20,20,2,3, - 255,255,255,255,255,255,255,255,0,15,0,15,0,15,0,15, - 0,15,0,15,8,4,4,11,1,6,255,255,255,255,23,25, - 75,24,0,0,0,254,0,3,255,128,7,1,224,12,0,112, - 24,0,56,48,0,24,97,254,12,96,231,12,192,227,142,192, - 227,134,192,227,134,192,231,6,192,252,6,192,238,6,192,231, - 6,192,231,6,192,227,134,96,227,140,99,241,204,48,0,24, - 24,0,24,28,0,112,7,0,224,3,255,128,0,252,0,11, - 3,6,11,0,18,255,224,255,224,255,224,9,10,20,13,2, - 13,62,0,127,0,99,0,193,128,193,128,193,128,193,128,99, - 0,127,0,62,0,16,17,34,20,2,0,3,192,3,192,3, - 192,3,192,255,255,255,255,255,255,255,255,3,192,3,192,3, - 192,3,192,0,0,255,255,255,255,255,255,255,255,10,14,28, - 11,0,9,63,0,99,128,193,192,241,192,241,192,113,192,3, - 128,7,0,14,0,24,64,48,64,127,192,255,192,255,192,11, - 14,28,11,0,9,63,0,115,192,113,192,33,192,1,192,3, - 128,31,0,3,192,1,224,113,224,241,224,225,224,99,192,63, - 0,7,6,6,11,2,17,12,30,62,124,240,192,20,23,69, - 22,1,249,254,63,192,254,63,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,15,192,62,15,192,63,31,192,63,255,192,63,247,240, - 55,199,240,48,0,0,48,0,0,120,0,0,120,0,0,120, - 0,0,120,0,0,48,0,0,21,25,75,25,1,0,15,255, - 248,63,255,248,127,227,192,127,227,192,255,227,192,255,227,192, - 255,227,192,255,227,192,127,227,192,127,227,192,63,227,192,31, - 227,192,7,227,192,1,227,192,1,227,192,1,227,192,1,227, - 192,1,227,192,1,227,192,1,227,192,1,227,192,1,227,192, - 1,227,192,15,255,248,15,255,248,6,6,6,9,1,5,120, - 252,252,252,252,120,7,7,7,11,1,249,24,48,124,14,14, - 220,120,9,14,28,11,1,9,12,0,252,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,11,15,30,12,0,10,14,0,63,128,113,192, - 241,224,224,224,224,224,224,224,241,224,113,192,63,128,14,0, - 0,0,0,0,127,224,127,224,12,11,22,16,2,3,130,0, - 195,0,97,128,113,192,56,224,60,240,56,224,113,192,97,128, - 195,0,130,0,25,23,92,28,1,0,12,0,56,0,252,0, - 48,0,28,0,112,0,28,0,224,0,28,0,192,0,28,1, - 192,0,28,1,128,0,28,3,128,0,28,7,0,0,28,7, - 2,0,28,14,6,0,28,12,14,0,28,28,30,0,255,184, - 62,0,0,56,110,0,0,112,206,0,0,97,142,0,0,227, - 14,0,0,195,255,128,1,192,14,0,3,128,14,0,3,0, - 14,0,7,0,63,128,25,23,92,28,1,0,12,0,56,0, - 252,0,112,0,28,0,112,0,28,0,224,0,28,0,192,0, - 28,1,192,0,28,1,128,0,28,3,128,0,28,7,0,0, - 28,6,126,0,28,14,199,0,28,13,135,128,28,29,227,128, - 255,185,231,128,0,56,231,128,0,112,15,0,0,96,14,0, - 0,224,28,0,1,192,48,128,1,192,96,128,3,128,255,128, - 3,1,255,128,7,1,255,128,26,23,92,28,0,0,63,0, - 28,0,115,192,56,0,113,192,56,0,33,192,112,0,1,192, - 96,0,3,128,224,0,31,0,192,0,3,193,192,0,1,227, - 128,0,113,227,129,0,241,231,3,0,225,230,7,0,99,206, - 15,0,63,28,31,0,0,28,55,0,0,56,103,0,0,48, - 199,0,0,113,135,0,0,97,255,192,0,224,7,0,1,192, - 7,0,1,192,7,0,3,128,31,192,15,25,50,16,1,249, - 3,192,7,224,7,224,7,224,7,224,3,192,0,0,0,0, - 1,128,1,128,1,128,3,128,7,0,31,0,62,0,126,0, - 124,0,252,124,252,124,252,126,252,124,124,60,126,60,63,240, - 15,192,25,31,124,25,0,0,0,48,0,0,0,120,0,0, - 0,124,0,0,0,62,0,0,0,15,0,0,0,3,0,0, - 0,0,0,0,0,28,0,0,0,30,0,0,0,62,0,0, - 0,63,0,0,0,127,0,0,0,127,128,0,0,127,128,0, - 0,255,128,0,0,207,192,0,1,207,192,0,1,143,192,0, - 1,135,224,0,3,135,224,0,3,7,240,0,7,3,240,0, - 7,255,240,0,7,255,248,0,14,1,248,0,12,1,252,0, - 28,0,252,0,28,0,254,0,62,0,254,0,255,131,255,128, - 255,131,255,128,25,32,128,25,0,0,0,1,128,0,0,3, - 192,0,0,7,192,0,0,15,128,0,0,30,0,0,0,24, - 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, - 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, - 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, - 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, - 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, - 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, - 254,0,255,131,255,128,255,131,255,128,25,31,124,25,0,0, - 0,28,0,0,0,62,0,0,0,127,0,0,0,227,128,0, - 1,128,192,0,0,0,0,0,0,28,0,0,0,28,0,0, - 0,30,0,0,0,62,0,0,0,63,0,0,0,127,0,0, - 0,127,128,0,0,127,128,0,0,255,128,0,0,207,192,0, - 1,207,192,0,1,143,192,0,1,135,224,0,3,135,224,0, - 3,7,240,0,7,3,240,0,7,255,240,0,7,255,248,0, - 14,1,248,0,12,1,252,0,28,0,252,0,28,0,254,0, - 62,0,254,0,255,131,255,128,255,131,255,128,25,31,124,25, - 0,0,0,56,96,0,0,127,224,0,0,255,192,0,0,195, - 128,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28, - 0,0,0,30,0,0,0,62,0,0,0,63,0,0,0,127, - 0,0,0,127,128,0,0,127,128,0,0,255,128,0,0,207, - 192,0,1,207,192,0,1,143,192,0,1,135,224,0,3,135, - 224,0,3,7,240,0,7,3,240,0,7,255,240,0,7,255, - 248,0,14,1,248,0,12,1,252,0,28,0,252,0,28,0, - 254,0,62,0,254,0,255,131,255,128,255,131,255,128,25,31, - 124,25,0,0,0,193,128,0,1,227,192,0,1,227,192,0, - 1,227,192,0,0,193,128,0,0,0,0,0,0,28,0,0, - 0,28,0,0,0,30,0,0,0,62,0,0,0,63,0,0, - 0,127,0,0,0,127,128,0,0,127,128,0,0,255,128,0, - 0,207,192,0,1,207,192,0,1,143,192,0,1,135,224,0, - 3,135,224,0,3,7,240,0,7,3,240,0,7,255,240,0, - 7,255,248,0,14,1,248,0,12,1,252,0,28,0,252,0, - 28,0,254,0,62,0,254,0,255,131,255,128,255,131,255,128, - 25,33,132,25,0,0,0,62,0,0,0,119,0,0,0,99, - 0,0,0,99,0,0,0,119,0,0,0,62,0,0,0,0, - 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, - 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, - 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, - 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, - 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, - 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, - 254,0,255,131,255,128,255,131,255,128,31,25,100,33,255,0, - 1,255,255,254,1,255,255,254,0,123,240,126,0,59,240,62, - 0,51,240,30,0,51,240,14,0,115,240,6,0,99,240,198, - 0,227,240,198,0,195,241,194,1,195,241,192,1,131,243,192, - 3,131,255,192,3,3,255,192,7,255,243,192,7,255,241,192, - 14,3,240,198,14,3,240,198,12,3,240,198,28,3,240,14, - 24,3,240,14,56,3,240,30,124,3,240,126,255,31,255,254, - 255,31,255,254,22,32,96,24,1,249,0,126,24,3,255,184, - 7,193,248,31,128,248,31,0,120,62,0,56,126,0,56,126, - 0,24,254,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,254,0,0,254,0,12,254,0,28, - 126,0,24,126,0,56,63,0,48,31,128,112,15,193,224,7, - 255,192,0,255,0,0,48,0,0,96,0,0,248,0,0,28, - 0,0,28,0,1,184,0,0,240,0,21,32,96,23,1,0, - 0,192,0,1,224,0,1,240,0,0,248,0,0,60,0,0, - 12,0,0,0,0,255,255,248,255,255,248,31,129,248,31,128, - 248,31,128,120,31,128,56,31,128,56,31,134,24,31,134,24, - 31,142,0,31,142,0,31,158,0,31,254,0,31,254,0,31, - 158,0,31,142,0,31,134,24,31,134,24,31,134,24,31,128, - 56,31,128,56,31,128,120,31,129,248,255,255,248,255,255,248, - 21,32,96,23,1,0,0,3,0,0,7,128,0,15,128,0, - 31,0,0,60,0,0,48,0,0,0,0,255,255,248,255,255, - 248,31,129,248,31,128,248,31,128,120,31,128,56,31,128,56, - 31,134,24,31,134,24,31,142,0,31,142,0,31,158,0,31, - 254,0,31,254,0,31,158,0,31,142,0,31,134,24,31,134, - 24,31,134,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,21,32,96,23,1,0,0,56,0,0, - 124,0,0,254,0,1,199,0,3,1,128,0,0,0,0,0, - 0,255,255,248,255,255,248,31,129,248,31,128,248,31,128,120, - 31,128,56,31,128,56,31,134,24,31,134,24,31,142,0,31, - 142,0,31,158,0,31,254,0,31,254,0,31,158,0,31,142, - 0,31,134,24,31,134,24,31,134,24,31,128,56,31,128,56, - 31,128,120,31,129,248,255,255,248,255,255,248,21,32,96,23, - 1,0,1,131,0,3,199,128,3,199,128,3,199,128,1,131, - 0,0,0,0,0,0,0,255,255,248,255,255,248,31,129,248, - 31,128,248,31,128,120,31,128,56,31,128,56,31,134,24,31, - 134,24,31,142,0,31,142,0,31,158,0,31,254,0,31,254, - 0,31,158,0,31,142,0,31,134,24,31,134,24,31,134,24, - 31,128,56,31,128,56,31,128,120,31,129,248,255,255,248,255, - 255,248,12,33,66,14,1,0,48,0,120,0,124,0,62,0, - 15,0,3,0,0,0,0,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,12,33,66,14,1,0, - 0,192,1,224,3,224,7,192,15,0,12,0,0,0,0,0, - 255,240,255,240,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,255,240, - 255,240,12,32,64,14,1,0,7,0,15,128,31,192,56,224, - 96,48,0,0,0,0,255,240,255,240,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,240,255,240,12,32,64,14,1,0,48,96, - 120,240,120,240,120,240,48,96,0,0,0,0,255,240,255,240, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,255,240,255,240,24,25, - 75,26,1,0,255,255,0,255,255,224,31,131,240,31,129,248, - 31,128,252,31,128,124,31,128,126,31,128,126,31,128,127,31, - 128,63,31,128,63,31,128,63,255,248,63,255,248,63,31,128, - 63,31,128,63,31,128,63,31,128,127,31,128,126,31,128,126, - 31,128,252,31,128,248,31,131,240,255,255,224,255,255,0,27, - 31,124,27,0,0,0,56,96,0,0,127,224,0,0,255,192, - 0,0,195,128,0,0,0,0,0,0,0,0,0,255,128,127, - 224,255,192,127,224,63,224,15,0,15,224,6,0,15,240,6, - 0,15,248,6,0,15,252,6,0,13,254,6,0,12,254,6, - 0,12,255,6,0,12,127,134,0,12,63,198,0,12,31,230, - 0,12,15,230,0,12,15,246,0,12,7,254,0,12,3,254, - 0,12,1,254,0,12,0,254,0,12,0,126,0,12,0,126, - 0,12,0,62,0,30,0,30,0,255,192,14,0,255,192,6, - 0,24,32,96,26,1,0,1,128,0,3,192,0,3,224,0, - 1,240,0,0,120,0,0,24,0,0,0,0,0,126,0,3, - 255,192,15,193,240,31,128,248,63,0,252,62,0,124,126,0, - 126,126,0,126,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,126, - 0,126,126,0,126,62,0,124,63,0,252,31,128,248,15,193, - 240,3,255,192,0,126,0,24,32,96,26,1,0,0,0,192, - 0,1,224,0,3,224,0,7,192,0,15,0,0,12,0,0, - 0,0,0,126,0,3,255,192,15,193,240,31,128,248,63,0, - 252,62,0,124,126,0,126,126,0,126,252,0,63,252,0,63, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,126,0,126,126,0,126,62,0,124,63,0, - 252,31,128,248,15,193,240,3,255,192,0,126,0,24,32,96, - 26,1,0,0,28,0,0,62,0,0,127,0,0,227,128,1, - 128,192,0,0,0,0,0,0,0,126,0,3,255,192,15,193, - 240,31,128,248,63,0,252,62,0,124,126,0,126,126,0,126, - 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,126,0,126,126,0, - 126,62,0,124,63,0,252,31,128,248,15,193,240,3,255,192, - 0,126,0,24,31,93,26,1,0,0,112,192,0,255,192,1, - 255,128,1,135,0,0,0,0,0,0,0,0,126,0,3,255, - 192,15,193,240,31,128,248,63,0,252,62,0,124,126,0,126, - 126,0,126,252,0,63,252,0,63,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,252,0,63,126,0, - 126,126,0,126,62,0,124,63,0,252,31,128,248,15,193,240, - 3,255,192,0,126,0,24,32,96,26,1,0,0,193,128,1, - 227,192,1,227,192,1,227,192,0,193,128,0,0,0,0,0, - 0,0,126,0,3,255,192,15,193,240,31,128,248,63,0,252, - 62,0,124,126,0,126,126,0,126,252,0,63,252,0,63,252, - 0,63,252,0,63,252,0,63,252,0,63,252,0,63,252,0, - 63,252,0,63,126,0,126,126,0,126,62,0,124,63,0,252, - 31,128,248,15,193,240,3,255,192,0,126,0,16,17,34,20, - 2,0,32,4,112,14,248,31,252,63,126,126,63,252,31,248, - 15,240,7,224,15,240,31,248,63,252,126,126,252,63,248,31, - 112,14,32,4,24,27,81,26,1,255,0,0,12,0,126,24, - 3,255,248,7,195,240,31,128,248,31,0,248,62,0,252,126, - 1,254,126,3,126,254,7,127,252,6,63,252,12,63,252,28, - 63,252,24,63,252,48,63,252,96,63,252,224,63,254,192,127, - 127,128,126,127,128,126,63,0,124,31,0,248,31,128,248,15, - 193,224,27,255,192,48,126,0,48,0,0,26,32,128,28,1, - 0,0,48,0,0,0,120,0,0,0,124,0,0,0,62,0, - 0,0,15,0,0,0,3,0,0,0,0,0,0,255,240,255, - 192,255,240,255,192,31,128,30,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,28,0,15,192,24, - 0,15,224,56,0,7,248,240,0,3,255,224,0,0,255,192, - 0,26,32,128,28,1,0,0,0,96,0,0,0,240,0,0, - 1,240,0,0,3,224,0,0,7,128,0,0,6,0,0,0, - 0,0,0,255,240,255,192,255,240,255,192,31,128,30,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,28,0,15,192,24,0,15,224,56,0,7,248,240,0,3, - 255,224,0,0,255,192,0,26,32,128,28,1,0,0,14,0, - 0,0,31,0,0,0,63,128,0,0,113,192,0,0,192,96, - 0,0,0,0,0,0,0,0,0,255,240,255,192,255,240,255, - 192,31,128,30,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, - 0,31,128,12,0,31,128,28,0,15,192,24,0,15,224,56, - 0,7,248,240,0,3,255,224,0,0,255,192,0,26,32,128, - 28,1,0,0,48,96,0,0,120,240,0,0,120,240,0,0, - 120,240,0,0,48,96,0,0,0,0,0,0,0,0,0,255, - 240,255,192,255,240,255,192,31,128,30,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, - 128,12,0,31,128,12,0,31,128,12,0,31,128,28,0,15, - 192,24,0,15,224,56,0,7,248,240,0,3,255,224,0,0, - 255,192,0,24,33,99,24,0,0,0,0,96,0,0,240,0, - 1,240,0,3,224,0,7,128,0,6,0,0,0,0,0,0, - 0,255,241,255,255,241,255,63,128,124,31,192,56,31,192,112, - 15,224,112,15,224,224,7,240,192,3,241,192,3,249,128,1, - 251,128,1,255,0,0,255,0,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,3,255,192,3,255,192,22,25,75,24, - 1,0,255,240,0,255,240,0,31,128,0,31,128,0,31,128, - 0,31,255,128,31,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,240,0,255,240,0,18,25,75, - 20,0,0,3,252,0,7,190,0,15,15,0,15,15,0,31, - 15,128,31,15,128,31,15,128,31,15,0,31,15,0,31,14, - 0,31,28,0,31,126,0,31,15,128,31,15,128,31,7,192, - 31,7,192,31,7,192,31,7,192,31,7,192,31,7,192,31, - 7,128,31,7,128,31,79,0,255,254,0,255,120,0,18,23, - 69,20,1,0,3,0,0,7,128,0,7,192,0,3,224,0, - 0,240,0,0,48,0,0,0,0,15,240,0,63,252,0,120, - 62,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,18,23,69,20,1,0,0, - 96,0,0,240,0,1,240,0,3,224,0,7,128,0,6,0, - 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, - 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, - 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, - 192,63,143,128,18,22,66,20,1,0,1,192,0,3,224,0, - 7,240,0,14,56,0,24,12,0,0,0,0,15,240,0,63, - 252,0,120,62,0,124,62,0,124,62,0,56,62,0,0,62, - 0,3,254,0,31,190,0,126,62,0,124,62,0,252,62,0, - 252,62,0,252,127,64,127,255,192,63,143,128,18,22,66,20, - 1,0,7,12,0,15,252,0,31,248,0,24,112,0,0,0, - 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, - 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, - 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, - 192,63,143,128,18,23,69,20,1,0,12,24,0,30,60,0, - 30,60,0,30,60,0,12,24,0,0,0,0,0,0,0,15, - 240,0,63,252,0,120,62,0,124,62,0,124,62,0,56,62, - 0,0,62,0,3,254,0,31,190,0,126,62,0,124,62,0, - 252,62,0,252,62,0,252,127,64,127,255,192,63,143,128,18, - 23,69,20,1,0,3,224,0,7,112,0,6,48,0,6,48, - 0,7,112,0,3,224,0,0,0,0,15,240,0,63,252,0, - 120,62,0,124,62,0,124,62,0,56,62,0,0,62,0,3, - 254,0,31,190,0,126,62,0,124,62,0,252,62,0,252,62, - 0,252,127,64,127,255,192,63,143,128,26,16,64,28,1,0, - 7,224,248,0,30,123,222,0,56,63,15,0,124,63,15,128, - 124,62,7,128,120,62,7,192,49,254,7,192,15,255,255,192, - 63,255,255,192,126,62,0,0,252,62,0,0,248,63,0,192, - 248,127,1,128,252,239,131,128,127,199,255,0,63,1,252,0, - 15,23,46,17,1,249,3,240,14,60,62,62,124,62,124,62, - 248,28,248,0,248,0,248,0,248,0,252,2,252,6,126,6, - 63,28,31,248,7,240,1,128,3,0,7,192,0,224,0,224, - 13,192,7,128,16,23,46,18,1,0,6,0,15,0,15,128, - 7,192,1,224,0,96,0,0,3,224,14,120,60,60,124,30, - 124,30,248,31,248,31,255,255,255,255,248,0,248,0,252,3, - 124,6,63,14,31,252,7,240,16,23,46,18,1,0,0,48, - 0,120,0,248,1,240,3,192,3,0,0,0,3,224,14,120, - 60,60,124,30,124,30,248,31,248,31,255,255,255,255,248,0, - 248,0,252,3,124,6,63,14,31,252,7,240,16,22,44,18, - 1,0,1,192,3,224,7,240,14,56,24,12,0,0,3,224, - 14,120,60,60,124,30,124,30,248,31,248,31,255,255,255,255, - 248,0,248,0,252,3,124,6,63,14,31,252,7,240,16,23, - 46,18,1,0,12,24,30,60,30,60,30,60,12,24,0,0, - 0,0,3,224,14,120,60,60,124,30,124,30,248,31,248,31, - 255,255,255,255,248,0,248,0,252,3,124,6,63,14,31,252, - 7,240,9,23,46,11,1,0,96,0,240,0,248,0,124,0, - 30,0,6,0,0,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,128,255,128,9,23,46,11,1,0,6,0,15,0, - 31,0,62,0,120,0,96,0,0,0,254,0,254,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,255,128,255,128,11,22,44,11,255,0, - 14,0,31,0,63,128,113,192,192,96,0,0,63,128,63,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,63,224,63,224,11,23,46,11, - 0,0,96,192,241,224,241,224,241,224,96,192,0,0,0,0, - 127,0,127,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,127,192,127,192, - 17,26,78,20,1,0,0,4,0,14,14,0,15,156,0,3, - 248,0,1,240,0,3,248,0,7,120,0,14,60,0,4,62, - 0,0,30,0,3,255,0,15,63,0,60,31,0,124,31,128, - 120,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,124,31,0,124,31,0,62,62,0,15,248, - 0,3,224,0,20,22,66,22,1,0,3,134,0,7,254,0, - 15,252,0,12,56,0,0,0,0,0,0,0,254,62,0,254, - 255,128,63,255,128,63,143,192,63,7,192,63,7,192,62,7, - 192,62,7,192,62,7,192,62,7,192,62,7,192,62,7,192, - 62,7,192,62,7,192,255,159,240,255,159,240,17,23,69,19, - 1,0,6,0,0,15,0,0,15,128,0,7,192,0,1,224, - 0,0,96,0,0,0,0,3,224,0,15,248,0,62,62,0, - 124,31,0,124,31,0,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,124,31,0,124,31,0,62,62, - 0,15,248,0,3,224,0,17,23,69,19,1,0,0,24,0, - 0,60,0,0,124,0,0,248,0,1,224,0,1,128,0,0, - 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, - 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, - 224,0,17,22,66,19,1,0,1,192,0,3,224,0,7,240, - 0,14,56,0,24,12,0,0,0,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,17,22,66,19,1,0, - 3,134,0,7,254,0,15,252,0,12,56,0,0,0,0,0, - 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, - 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, - 224,0,17,23,69,19,1,0,12,24,0,30,60,0,30,60, - 0,30,60,0,12,24,0,0,0,0,0,0,0,3,224,0, - 15,248,0,62,62,0,124,31,0,124,31,0,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, - 0,124,31,0,62,62,0,15,248,0,3,224,0,17,17,51, - 20,2,0,1,192,0,3,224,0,3,224,0,3,224,0,1, - 192,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, - 128,0,0,0,0,0,0,1,192,0,3,224,0,3,224,0, - 3,224,0,1,192,0,17,22,66,19,1,253,0,2,0,0, - 6,0,0,12,0,3,236,0,15,248,0,62,62,0,124,63, - 0,124,111,0,248,79,128,248,207,128,248,143,128,249,143,128, - 251,15,128,250,15,128,126,31,0,124,31,0,62,62,0,31, - 248,0,27,224,0,48,0,0,48,0,0,32,0,0,20,23, - 69,22,1,0,3,0,0,7,128,0,7,192,0,3,224,0, - 0,240,0,0,48,0,0,0,0,254,31,192,254,31,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,7,192,62,15,192,62,15,192,63,31,192, - 31,255,192,31,247,240,7,199,240,20,23,69,22,1,0,0, - 24,0,0,60,0,0,124,0,0,248,0,1,224,0,1,128, - 0,0,0,0,254,31,192,254,31,192,62,7,192,62,7,192, - 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,15,192,62,15,192,63,31,192,31,255,192,31,247, - 240,7,199,240,20,22,66,22,1,0,0,224,0,1,240,0, - 3,248,0,7,28,0,12,6,0,0,0,0,254,31,192,254, - 31,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,7,192,62,7,192,62,15,192,62,15,192, - 63,31,192,31,255,192,31,247,240,7,199,240,20,23,69,22, - 1,0,6,12,0,15,30,0,15,30,0,15,30,0,6,12, - 0,0,0,0,0,0,0,254,31,192,254,31,192,62,7,192, - 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,15,192,62,15,192,63,31,192,31,255, - 192,31,247,240,7,199,240,19,30,90,19,0,249,0,12,0, - 0,30,0,0,62,0,0,124,0,0,240,0,0,192,0,0, - 0,0,255,143,224,255,143,224,63,3,128,63,3,128,31,3, - 0,31,135,0,15,134,0,15,198,0,7,204,0,7,236,0, - 3,248,0,3,248,0,1,248,0,1,240,0,0,240,0,0, - 224,0,0,96,0,112,192,0,248,192,0,249,128,0,255,0, - 0,127,0,0,60,0,0,20,29,87,22,0,249,255,0,0, - 255,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 63,0,31,127,192,31,199,224,31,131,224,31,131,240,31,3, - 240,31,3,240,31,1,240,31,1,240,31,1,240,31,3,240, - 31,131,224,31,131,224,31,199,192,31,255,128,31,63,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,127,224, - 0,127,224,0,19,30,90,19,0,249,3,6,0,7,143,0, - 7,143,0,7,143,0,3,6,0,0,0,0,0,0,0,255, - 143,224,255,143,224,63,3,128,63,3,128,31,3,0,31,135, - 0,15,134,0,15,198,0,7,204,0,7,236,0,3,248,0, - 3,248,0,1,248,0,1,240,0,0,240,0,0,224,0,0, - 96,0,112,192,0,248,192,0,249,128,0,255,0,0,127,0, - 0,60,0,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=17 h=25 x= 3 y=10 dx=20 dy= 0 ascent=25 len=72 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =25 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24n[868] U8G_FONT_SECTION("u8g_font_ncenB24n") = { - 0,39,53,252,243,24,0,0,0,0,42,58,0,25,251,24, - 0,12,15,30,17,2,10,6,0,14,0,14,0,230,112,230, - 112,246,240,63,192,15,0,127,224,246,240,230,112,230,112,7, - 0,7,0,6,0,16,16,32,20,2,1,3,192,3,192,3, - 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, - 192,3,192,3,192,3,192,3,192,3,192,6,11,11,9,2, - 251,120,248,252,252,252,124,28,24,48,112,224,8,4,4,11, - 1,6,255,255,255,255,6,6,6,9,1,0,120,252,252,252, - 252,120,10,25,50,9,255,0,0,192,1,192,1,192,1,128, - 3,128,3,128,3,0,7,0,7,0,6,0,14,0,14,0, - 12,0,28,0,28,0,24,0,56,0,56,0,48,0,112,0, - 112,0,96,0,224,0,224,0,192,0,16,24,48,19,1,0, - 3,192,15,240,30,120,60,60,124,62,120,30,248,31,248,31, - 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, - 248,31,120,30,120,30,124,62,60,60,30,120,15,240,3,192, - 13,24,48,19,3,0,1,128,7,128,255,128,255,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,255,248,255,248,17,24,72,19,1,0,15,240,0,63, - 252,0,120,126,0,240,63,0,248,31,0,252,31,0,252,31, - 0,252,31,0,124,63,0,56,62,0,0,124,0,0,248,0, - 0,240,0,1,224,0,3,192,0,3,129,128,7,1,128,14, - 1,128,28,3,128,63,255,128,127,255,0,127,255,0,255,255, - 0,255,255,0,16,24,48,19,1,0,15,224,63,248,120,124, - 248,62,252,62,252,62,252,62,120,62,0,124,0,112,7,224, - 7,192,0,248,0,126,0,62,0,63,120,31,252,31,252,31, - 252,63,248,62,120,126,63,248,7,224,17,24,72,19,0,0, - 0,4,0,0,12,0,0,28,0,0,60,0,0,124,0,0, - 252,0,1,252,0,1,252,0,3,124,0,6,124,0,12,124, - 0,28,124,0,56,124,0,112,124,0,224,124,0,192,124,0, - 255,255,128,255,255,128,0,124,0,0,124,0,0,124,0,0, - 124,0,3,255,128,3,255,128,16,24,48,19,1,0,31,255, - 63,254,63,254,63,252,63,240,48,0,48,0,48,0,48,0, - 55,224,63,248,56,124,48,62,32,62,0,31,0,31,56,31, - 124,31,252,31,252,62,120,62,112,252,63,240,15,192,17,24, - 72,19,1,0,3,240,0,15,252,0,31,30,0,62,62,0, - 60,62,0,124,62,0,120,28,0,248,0,0,248,0,0,248, - 0,0,249,248,0,255,254,0,255,127,0,252,31,0,248,31, - 128,248,15,128,248,15,128,248,15,128,248,15,128,124,31,0, - 124,31,0,62,62,0,31,252,0,7,240,0,16,24,48,19, - 2,0,255,255,255,254,255,254,255,252,255,252,192,24,192,24, - 192,56,128,112,0,112,0,240,0,224,1,224,1,224,3,224, - 3,192,7,192,7,192,15,192,15,192,15,192,15,192,15,192, - 7,128,17,24,72,19,1,0,7,240,0,15,252,0,60,62, - 0,56,31,0,120,15,0,120,15,0,120,15,0,124,15,0, - 126,30,0,127,252,0,63,240,0,31,252,0,15,254,0,63, - 255,0,120,127,0,248,31,128,240,15,128,240,15,128,240,15, - 0,240,15,0,248,30,0,124,60,0,63,240,0,7,192,0, - 17,24,72,19,1,0,3,192,0,31,248,0,62,124,0,124, - 62,0,252,31,0,248,31,0,248,15,128,248,15,128,248,15, - 128,252,31,128,252,63,128,127,111,128,63,207,128,31,143,128, - 0,15,128,0,15,128,112,15,0,248,31,0,252,31,0,248, - 30,0,248,62,0,112,252,0,63,240,0,15,192,0,6,16, - 16,9,2,0,120,252,252,252,252,120,0,0,0,0,120,252, - 252,252,252,120}; -/* - Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=32 h=32 x= 8 y=17 dx=32 dy= 0 ascent=26 len=124 - Font Bounding box w=39 h=53 x=-4 y=-13 - Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenB24r[5937] U8G_FONT_SECTION("u8g_font_ncenB24r") = { - 0,39,53,252,243,25,6,143,16,147,32,127,249,26,249,25, - 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, - 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, - 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, - 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, - 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, - 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, - 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, - 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, - 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, - 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, - 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, - 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, - 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, - 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, - 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, - 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, - 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, - 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, - 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, - 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, - 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, - 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, - 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, - 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, - 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, - 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, - 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, - 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, - 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, - 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, - 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, - 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, - 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, - 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, - 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, - 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, - 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, - 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, - 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, - 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, - 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, - 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, - 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, - 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, - 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, - 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, - 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, - 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, - 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, - 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, - 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, - 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, - 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, - 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, - 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, - 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, - 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, - 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, - 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, - 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, - 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, - 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, - 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, - 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, - 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, - 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, - 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, - 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, - 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, - 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, - 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, - 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, - 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, - 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, - 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, - 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, - 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, - 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, - 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, - 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, - 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, - 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, - 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, - 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, - 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, - 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, - 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, - 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, - 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, - 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, - 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, - 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, - 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, - 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, - 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, - 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, - 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, - 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, - 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, - 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, - 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, - 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, - 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, - 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, - 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, - 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, - 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, - 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, - 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, - 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, - 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, - 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, - 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, - 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, - 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, - 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, - 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, - 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, - 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, - 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, - 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, - 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, - 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, - 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, - 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, - 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, - 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, - 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, - 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, - 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, - 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, - 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, - 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, - 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, - 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, - 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, - 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, - 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, - 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, - 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, - 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, - 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, - 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, - 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, - 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, - 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, - 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, - 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, - 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, - 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, - 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, - 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, - 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, - 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, - 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, - 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, - 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, - 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, - 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, - 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, - 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, - 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, - 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, - 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, - 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, - 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, - 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, - 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, - 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, - 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, - 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, - 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, - 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, - 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, - 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, - 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, - 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, - 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, - 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, - 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, - 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, - 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, - 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, - 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, - 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, - 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, - 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, - 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, - 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, - 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, - 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, - 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, - 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, - 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, - 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, - 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, - 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, - 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, - 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, - 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, - 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, - 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, - 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, - 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, - 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, - 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, - 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, - 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, - 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, - 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, - 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, - 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, - 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, - 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, - 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, - 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, - 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, - 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, - 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, - 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, - 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, - 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, - 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, - 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, - 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, - 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, - 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, - 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, - 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, - 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, - 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, - 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, - 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, - 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, - 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, - 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, - 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, - 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, - 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, - 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, - 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, - 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, - 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, - 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, - 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, - 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, - 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, - 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, - 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, - 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, - 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, - 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, - 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, - 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, - 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, - 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, - 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, - 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, - 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, - 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, - 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, - 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, - 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, - 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, - 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, - 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, - 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, - 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, - 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, - 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, - 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, - 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, - 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, - 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, - 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, - 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, - 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, - 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, - 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, - 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, - 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, - 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, - 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, - 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, - 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, - 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, - 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, - 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, - 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, - 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, - 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, - 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, - 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, - 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, - 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, - 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, - 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, - 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, - 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, - 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, - 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, - 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, - 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, - 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, - 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, - 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, - 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, - 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, - 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, - 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, - 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, - 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, - 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, - 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, - 255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=16 - Font Bounding box w=14 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent =11 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR08[2642] U8G_FONT_SECTION("u8g_font_ncenR08") = { - 0,14,18,254,252,8,1,180,3,120,32,255,254,11,254,8, - 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, - 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, - 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, - 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, - 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, - 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, - 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, - 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, - 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, - 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, - 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, - 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, - 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, - 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, - 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, - 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, - 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, - 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, - 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, - 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, - 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, - 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, - 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, - 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, - 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, - 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, - 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, - 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, - 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, - 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, - 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, - 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, - 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, - 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, - 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, - 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, - 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, - 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, - 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, - 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, - 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, - 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, - 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, - 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, - 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, - 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, - 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, - 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, - 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, - 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, - 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, - 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, - 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, - 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, - 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, - 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, - 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, - 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, - 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, - 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, - 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, - 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, - 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, - 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, - 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, - 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, - 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, - 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, - 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, - 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, - 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, - 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, - 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, - 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, - 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, - 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, - 152,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,3,0,1,1,8,8,4,1,254,128,128, - 0,128,128,128,128,128,5,7,7,6,0,255,16,120,168,160, - 200,112,64,6,8,8,7,0,0,56,72,64,248,32,32,68, - 248,6,6,6,7,0,1,132,120,72,72,120,132,7,8,8, - 8,0,0,198,68,40,108,16,124,16,56,1,8,8,6,2, - 0,128,128,128,0,0,128,128,128,4,10,10,5,0,254,112, - 144,128,96,144,144,96,16,144,224,3,1,1,4,0,6,160, - 9,8,16,10,0,0,62,0,65,0,156,128,164,128,160,128, - 156,128,65,0,62,0,4,6,6,5,0,2,224,32,96,176, - 0,240,5,3,3,6,0,1,72,144,72,5,3,3,6,0, - 1,248,8,8,3,1,1,4,0,2,224,9,8,16,10,0, - 0,62,0,65,0,188,128,148,128,152,128,182,128,65,0,62, - 0,4,1,1,5,0,6,240,3,4,4,4,0,4,64,160, - 160,64,5,5,5,6,0,0,32,248,32,0,248,3,4,4, - 3,0,4,96,160,64,224,3,4,4,3,0,4,224,64,32, - 192,2,2,2,3,0,6,64,128,5,7,7,6,0,254,144, - 144,144,144,232,128,128,6,10,10,7,0,254,124,168,168,168, - 104,40,40,40,40,124,1,2,2,4,1,2,128,128,2,3, - 3,3,0,254,128,64,192,3,4,4,3,0,4,64,192,64, - 224,4,6,6,5,0,2,96,144,144,96,0,240,5,3,3, - 6,0,1,144,72,144,7,8,8,7,0,0,72,200,80,240, - 36,44,94,68,6,8,8,7,0,0,72,200,80,240,44,52, - 72,92,7,8,8,7,0,0,232,72,48,208,36,44,94,68, - 4,8,8,5,0,254,32,32,0,32,64,128,144,96,7,11, - 11,8,0,0,32,16,0,16,16,40,40,68,124,68,238,7, - 11,11,8,0,0,8,16,0,16,16,40,40,68,124,68,238, - 7,11,11,8,0,0,16,40,0,16,16,40,40,68,124,68, - 238,7,11,11,8,0,0,20,40,0,16,16,40,40,68,124, - 68,238,7,10,10,8,0,0,40,0,16,16,40,40,68,124, - 68,238,7,11,11,8,0,0,16,40,16,16,16,40,40,68, - 124,68,238,10,8,16,11,0,0,31,192,12,64,21,64,23, - 0,61,0,36,64,68,64,231,192,6,10,10,7,0,254,60, - 68,128,128,128,128,68,56,16,48,6,11,11,7,0,0,32, - 16,0,252,68,84,112,80,68,68,252,6,11,11,7,0,0, - 8,16,0,252,68,84,112,80,68,68,252,6,11,11,7,0, - 0,16,40,0,252,68,84,112,80,68,68,252,6,10,10,7, - 0,0,40,0,252,68,84,112,80,68,68,252,3,11,11,4, - 0,0,128,64,0,224,64,64,64,64,64,64,224,3,11,11, - 4,0,0,32,64,0,224,64,64,64,64,64,64,224,3,11, - 11,4,0,0,64,160,0,224,64,64,64,64,64,64,224,3, - 10,10,4,0,0,160,0,224,64,64,64,64,64,64,224,7, - 8,8,8,0,0,248,68,66,226,66,66,68,248,8,11,11, - 9,0,0,20,40,0,231,98,82,82,74,74,70,230,7,11, - 11,8,0,0,32,16,0,56,68,130,130,130,130,68,56,7, - 11,11,8,0,0,8,16,0,56,68,130,130,130,130,68,56, - 7,11,11,8,0,0,16,40,0,56,68,130,130,130,130,68, - 56,7,11,11,8,0,0,20,40,0,56,68,130,130,130,130, - 68,56,7,10,10,8,0,0,40,0,56,68,130,130,130,130, - 68,56,5,5,5,6,0,0,136,80,32,80,136,8,8,8, - 8,255,0,29,34,69,73,81,97,98,156,7,11,11,8,0, - 0,32,16,0,238,68,68,68,68,68,68,56,7,11,11,8, - 0,0,8,16,0,238,68,68,68,68,68,68,56,7,11,11, - 8,0,0,16,40,0,238,68,68,68,68,68,68,56,7,10, - 10,8,0,0,40,0,238,68,68,68,68,68,68,56,7,11, - 11,8,0,0,8,16,0,198,68,40,40,16,16,16,56,6, - 8,8,7,0,0,192,120,68,68,68,120,64,224,6,8,8, - 7,0,0,48,72,72,88,68,68,84,216,5,8,8,6,0, - 0,64,32,0,96,144,112,144,248,5,8,8,6,0,0,32, - 64,0,96,144,112,144,248,5,8,8,6,0,0,32,80,0, - 96,144,112,144,248,5,8,8,6,0,0,80,160,0,96,144, - 112,144,248,5,7,7,6,0,0,80,0,96,144,112,144,248, - 5,8,8,6,0,0,32,80,32,96,144,112,144,248,7,5, - 5,8,0,0,108,146,126,144,238,4,7,7,5,0,254,112, - 144,128,144,96,32,96,4,8,8,5,0,0,64,32,0,96, - 144,240,128,112,4,8,8,5,0,0,32,64,0,96,144,240, - 128,112,4,8,8,5,0,0,32,80,0,96,144,240,128,112, - 4,7,7,5,0,0,80,0,96,144,240,128,112,3,8,8, - 4,0,0,128,64,0,192,64,64,64,224,3,8,8,4,0, - 0,32,64,0,192,64,64,64,224,3,8,8,4,0,0,64, - 160,0,192,64,64,64,224,3,7,7,4,0,0,160,0,192, - 64,64,64,224,4,8,8,5,0,0,80,96,160,96,144,144, - 144,96,6,8,8,7,0,0,40,80,0,176,72,72,72,236, - 4,8,8,5,0,0,64,32,0,96,144,144,144,96,4,8, - 8,5,0,0,32,64,0,96,144,144,144,96,4,8,8,5, - 0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0, - 80,160,0,96,144,144,144,96,4,7,7,5,0,0,80,0, - 96,144,144,144,96,5,5,5,6,0,0,32,0,248,0,32, - 5,6,6,5,0,255,104,144,176,208,96,128,5,8,8,6, - 0,0,64,32,0,144,144,144,144,104,5,8,8,6,0,0, - 32,64,0,144,144,144,144,104,5,8,8,6,0,0,32,80, - 0,144,144,144,144,104,5,7,7,6,0,0,80,0,144,144, - 144,144,104,6,10,10,6,0,254,16,32,0,220,136,80,80, - 32,32,192,5,10,10,5,255,254,192,64,64,112,72,72,72, - 112,64,224,6,9,9,6,0,254,80,0,220,136,80,80,32, - 32,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=16 - Font Bounding box w=14 h=18 x=-2 y=-4 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR08r[1266] U8G_FONT_SECTION("u8g_font_ncenR08r") = { - 0,14,18,254,252,8,1,180,3,120,32,127,254,9,254,8, - 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, - 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, - 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, - 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, - 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, - 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, - 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, - 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, - 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, - 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, - 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, - 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, - 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, - 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, - 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, - 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, - 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, - 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, - 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, - 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, - 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, - 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, - 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, - 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, - 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, - 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, - 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, - 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, - 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, - 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, - 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, - 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, - 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, - 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, - 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, - 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, - 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, - 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, - 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, - 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, - 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, - 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, - 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, - 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, - 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, - 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, - 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, - 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, - 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, - 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, - 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, - 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, - 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, - 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, - 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, - 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, - 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, - 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, - 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, - 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, - 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, - 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, - 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, - 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, - 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, - 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, - 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, - 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, - 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, - 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, - 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, - 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, - 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, - 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, - 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, - 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, - 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, - 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, - 152,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=14 len=33 - Font Bounding box w=18 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR10[3813] U8G_FONT_SECTION("u8g_font_ncenR10") = { - 0,18,24,254,250,11,2,24,5,38,32,255,253,14,253,11, - 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, - 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, - 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, - 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, - 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, - 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, - 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, - 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, - 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, - 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, - 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, - 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, - 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, - 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, - 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, - 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, - 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, - 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, - 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, - 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, - 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, - 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, - 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, - 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, - 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, - 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, - 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, - 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, - 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, - 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, - 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, - 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, - 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, - 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, - 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, - 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, - 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, - 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, - 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, - 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, - 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, - 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, - 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, - 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, - 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, - 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, - 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, - 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, - 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, - 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, - 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, - 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, - 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, - 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, - 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, - 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, - 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, - 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, - 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, - 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, - 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, - 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, - 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, - 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, - 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, - 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, - 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, - 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, - 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, - 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, - 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, - 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, - 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, - 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, - 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, - 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, - 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, - 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, - 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, - 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, - 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, - 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, - 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, - 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, - 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, - 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, - 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, - 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, - 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, - 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, - 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, - 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, - 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, - 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, - 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, - 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, - 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, - 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, - 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, - 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, - 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, - 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, - 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, - 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, - 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, - 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, - 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, - 1,3,114,140,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,4,0,1,1,11,11,4,1, - 253,128,128,0,128,128,128,128,128,128,128,128,6,11,11,8, - 1,254,4,4,120,204,144,144,160,228,120,128,128,7,11,11, - 8,0,0,60,98,70,64,32,252,16,16,96,178,206,7,7, - 7,8,0,2,186,68,130,130,130,68,186,9,11,22,8,0, - 0,227,128,65,0,34,0,34,0,20,0,20,0,62,0,8, - 0,62,0,8,0,28,0,1,11,11,9,4,0,128,128,128, - 128,0,0,128,128,128,128,128,5,13,13,7,1,254,120,136, - 128,192,112,152,136,200,112,24,8,136,240,4,2,2,6,1, - 8,144,144,12,11,22,14,1,0,15,0,48,192,79,32,89, - 32,144,16,144,16,152,144,79,32,64,32,48,192,15,0,5, - 7,7,6,0,4,96,144,112,144,248,0,248,6,5,5,7, - 0,1,36,72,144,72,36,7,4,4,9,0,1,254,2,2, - 2,4,1,1,5,0,3,240,12,11,22,14,1,0,15,0, - 48,192,94,32,73,32,137,16,142,16,139,16,89,160,64,32, - 48,192,15,0,5,1,1,5,0,8,248,4,4,4,6,1, - 7,96,144,144,96,7,7,7,9,1,0,16,16,254,16,16, - 0,254,4,6,6,5,0,5,96,144,32,64,144,240,4,6, - 6,5,0,5,96,144,32,16,144,96,3,3,3,5,1,8, - 32,64,128,8,10,10,9,0,253,231,66,66,66,66,102,123, - 64,96,64,7,13,13,9,1,254,126,212,212,212,212,116,20, - 20,20,20,20,20,62,2,2,2,4,1,3,192,192,3,4, - 4,5,0,253,64,64,32,192,3,6,6,5,1,5,64,192, - 64,64,64,224,4,7,7,5,0,4,96,144,144,144,96,0, - 240,6,5,5,7,0,1,144,72,36,72,144,10,11,22,12, - 0,0,65,0,193,0,66,0,66,0,68,0,228,128,9,128, - 18,128,20,128,39,192,32,128,10,11,22,12,0,0,65,0, - 193,0,66,0,66,0,68,0,229,128,10,64,16,128,17,0, - 34,64,35,192,10,11,22,12,0,0,97,0,145,0,34,0, - 18,0,148,0,100,128,9,128,18,128,20,128,39,192,32,128, - 5,11,11,6,0,253,32,32,0,32,32,32,64,128,136,200, - 112,11,14,28,10,255,0,8,0,4,0,0,0,4,0,4, - 0,10,0,10,0,10,0,17,0,17,0,63,128,32,128,32, - 128,251,224,11,14,28,10,255,0,2,0,4,0,0,0,4, - 0,4,0,10,0,10,0,10,0,17,0,17,0,63,128,32, - 128,32,128,251,224,11,14,28,10,255,0,4,0,10,0,17, - 0,4,0,4,0,10,0,10,0,10,0,17,0,17,0,63, - 128,32,128,32,128,251,224,11,14,28,10,255,0,12,128,19, - 0,0,0,4,0,4,0,10,0,10,0,10,0,17,0,17, - 0,63,128,32,128,32,128,251,224,11,13,26,10,255,0,17, - 0,17,0,4,0,4,0,10,0,10,0,10,0,17,0,17, - 0,63,128,32,128,32,128,251,224,11,14,28,10,255,0,12, - 0,18,0,12,0,4,0,4,0,10,0,10,0,10,0,17, - 0,17,0,63,128,32,128,32,128,251,224,14,11,22,15,0, - 0,15,252,5,4,9,4,9,32,17,32,17,224,63,32,33, - 32,65,4,65,4,227,252,9,14,28,11,1,253,30,128,97, - 128,64,128,192,128,128,0,128,0,128,0,192,128,64,128,97, - 0,30,0,8,0,4,0,24,0,9,14,28,10,0,0,16, - 0,8,0,0,0,255,128,32,128,32,128,36,0,36,0,60, - 0,36,0,36,0,32,128,32,128,255,128,9,14,28,10,0, - 0,4,0,8,0,0,0,255,128,32,128,32,128,36,0,36, - 0,60,0,36,0,36,0,32,128,32,128,255,128,9,14,28, - 10,0,0,12,0,18,0,0,0,255,128,32,128,32,128,36, - 0,36,0,60,0,36,0,36,0,32,128,32,128,255,128,9, - 14,28,10,0,0,18,0,18,0,0,0,255,128,32,128,32, - 128,36,0,36,0,60,0,36,0,36,0,32,128,32,128,255, - 128,5,14,14,6,0,0,64,32,0,248,32,32,32,32,32, - 32,32,32,32,248,5,14,14,6,0,0,16,32,0,248,32, - 32,32,32,32,32,32,32,32,248,5,14,14,6,0,0,48, - 72,0,248,32,32,32,32,32,32,32,32,32,248,5,14,14, - 6,0,0,80,80,0,248,32,32,32,32,32,32,32,32,32, - 248,10,11,22,11,0,0,255,0,32,128,32,192,32,64,32, - 64,248,64,32,64,32,64,32,192,32,128,255,0,12,14,28, - 13,0,0,12,128,19,0,0,0,225,240,48,64,48,64,40, - 64,44,64,38,64,35,64,33,64,32,192,32,64,248,64,10, - 14,28,11,0,0,8,0,4,0,0,0,30,0,97,128,64, - 128,192,192,128,64,128,64,128,64,192,192,64,128,97,128,30, - 0,10,14,28,11,0,0,2,0,4,0,0,0,30,0,97, - 128,64,128,192,192,128,64,128,64,128,64,192,192,64,128,97, - 128,30,0,10,14,28,11,0,0,12,0,18,0,0,0,30, - 0,97,128,64,128,192,192,128,64,128,64,128,64,192,192,64, - 128,97,128,30,0,10,14,28,11,0,0,25,0,38,0,0, - 0,30,0,97,128,64,128,192,192,128,64,128,64,128,64,192, - 192,64,128,97,128,30,0,10,14,28,11,0,0,18,0,18, - 0,0,0,30,0,97,128,64,128,192,192,128,64,128,64,128, - 64,192,192,64,128,97,128,30,0,7,7,7,9,1,0,130, - 68,40,16,40,68,130,11,11,22,11,255,0,15,32,48,192, - 32,192,97,96,66,32,68,32,72,32,112,96,32,64,112,192, - 143,0,12,14,28,13,0,0,8,0,4,0,0,0,249,240, - 32,64,32,64,32,64,32,64,32,64,32,64,32,64,32,64, - 48,128,31,0,12,14,28,13,0,0,1,0,2,0,0,0, - 249,240,32,64,32,64,32,64,32,64,32,64,32,64,32,64, - 32,64,48,128,31,0,12,14,28,13,0,0,6,0,9,0, - 0,0,249,240,32,64,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,48,128,31,0,12,14,28,13,0,0,9,0, - 9,0,0,0,249,240,32,64,32,64,32,64,32,64,32,64, - 32,64,32,64,32,64,48,128,31,0,11,14,28,10,255,0, - 2,0,4,0,0,0,251,224,96,128,49,0,17,0,26,0, - 10,0,4,0,4,0,4,0,4,0,31,0,9,11,22,10, - 0,0,248,0,32,0,63,0,33,128,32,128,32,128,33,0, - 62,0,32,0,32,0,248,0,7,11,11,8,0,0,56,100, - 68,76,88,68,66,66,66,86,220,7,11,11,8,0,0,32, - 16,8,0,56,76,4,60,196,140,118,7,11,11,8,0,0, - 8,16,32,0,56,76,4,60,196,140,118,7,11,11,8,0, - 0,16,40,68,0,56,76,4,60,196,140,118,7,10,10,8, - 0,0,50,76,0,56,76,4,60,196,140,118,7,10,10,8, - 0,0,72,72,0,56,76,4,60,196,140,118,7,11,11,8, - 0,0,48,72,48,0,56,76,4,60,196,140,118,11,7,14, - 12,0,0,59,192,78,96,4,32,63,224,196,0,142,32,115, - 192,6,10,10,7,0,253,120,204,128,128,128,196,120,32,16, - 96,6,11,11,7,0,0,64,32,16,0,120,204,132,252,128, - 196,120,6,11,11,7,0,0,8,16,32,0,120,204,132,252, - 128,196,120,6,11,11,7,0,0,16,40,68,0,120,204,132, - 252,128,196,120,6,10,10,7,0,0,72,72,0,120,204,132, - 252,128,196,120,3,11,11,4,0,0,128,64,32,0,192,64, - 64,64,64,64,224,3,11,11,4,0,0,32,64,128,0,192, - 64,64,64,64,64,224,5,11,11,4,255,0,32,80,136,0, - 96,32,32,32,32,32,112,4,10,10,4,255,0,144,144,0, - 96,32,32,32,32,32,112,7,11,11,7,255,0,76,48,208, - 8,60,102,66,66,66,102,60,8,10,10,9,0,0,50,76, - 0,220,102,66,66,66,66,231,6,11,11,7,0,0,64,32, - 16,0,120,204,132,132,132,204,120,6,11,11,7,0,0,16, - 32,64,0,120,204,132,132,132,204,120,6,11,11,7,0,0, - 32,80,136,0,120,204,132,132,132,204,120,6,10,10,7,0, - 0,100,152,0,120,204,132,132,132,204,120,6,10,10,7,0, - 0,72,72,0,120,204,132,132,132,204,120,7,7,7,9,1, - 0,16,16,0,254,0,16,16,6,9,9,7,0,255,8,120, - 220,148,164,164,204,120,64,8,11,11,9,0,0,32,16,8, - 0,231,66,66,66,66,102,59,8,11,11,9,0,0,2,4, - 8,0,231,66,66,66,66,102,59,8,11,11,9,0,0,8, - 20,34,0,231,66,66,66,66,102,59,8,10,10,9,0,0, - 36,36,0,231,66,66,66,66,102,59,7,14,14,8,0,253, - 4,8,16,0,238,68,68,40,40,16,16,32,160,192,7,14, - 14,8,0,253,192,64,64,64,92,102,66,66,66,102,92,64, - 64,224,7,13,13,8,0,253,72,72,0,238,68,68,40,40, - 16,16,32,160,192}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=12 len=33 - Font Bounding box w=18 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR10r[1781] U8G_FONT_SECTION("u8g_font_ncenR10r") = { - 0,18,24,254,250,11,2,24,5,38,32,127,253,12,253,11, - 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, - 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, - 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, - 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, - 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, - 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, - 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, - 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, - 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, - 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, - 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, - 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, - 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, - 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, - 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, - 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, - 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, - 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, - 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, - 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, - 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, - 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, - 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, - 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, - 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, - 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, - 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, - 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, - 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, - 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, - 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, - 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, - 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, - 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, - 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, - 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, - 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, - 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, - 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, - 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, - 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, - 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, - 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, - 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, - 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, - 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, - 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, - 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, - 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, - 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, - 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, - 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, - 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, - 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, - 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, - 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, - 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, - 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, - 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, - 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, - 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, - 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, - 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, - 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, - 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, - 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, - 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, - 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, - 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, - 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, - 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, - 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, - 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, - 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, - 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, - 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, - 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, - 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, - 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, - 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, - 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, - 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, - 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, - 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, - 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, - 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, - 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, - 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, - 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, - 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, - 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, - 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, - 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, - 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, - 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, - 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, - 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, - 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, - 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, - 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, - 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, - 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, - 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, - 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, - 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, - 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, - 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, - 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, - 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, - 1,3,114,140,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=16 len=32 - Font Bounding box w=21 h=26 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =16 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR12[4247] U8G_FONT_SECTION("u8g_font_ncenR12") = { - 0,21,26,253,250,12,2,59,5,140,32,255,253,16,253,12, - 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, - 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, - 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, - 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, - 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, - 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, - 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, - 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, - 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, - 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, - 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, - 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, - 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, - 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, - 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, - 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, - 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, - 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, - 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, - 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, - 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, - 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, - 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, - 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, - 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, - 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, - 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, - 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, - 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, - 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, - 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, - 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, - 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, - 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, - 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, - 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, - 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, - 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, - 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, - 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, - 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, - 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, - 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, - 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, - 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, - 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, - 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, - 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, - 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, - 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, - 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, - 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, - 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, - 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, - 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, - 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, - 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, - 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, - 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, - 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, - 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, - 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, - 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, - 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, - 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, - 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, - 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, - 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, - 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, - 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, - 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, - 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, - 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, - 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, - 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, - 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, - 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, - 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, - 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, - 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, - 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, - 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, - 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, - 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, - 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, - 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, - 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, - 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, - 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, - 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, - 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, - 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, - 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, - 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, - 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, - 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, - 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, - 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, - 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, - 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, - 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, - 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, - 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, - 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, - 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, - 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, - 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, - 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, - 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, - 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, - 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, - 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, - 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, - 2,2,10,1,3,115,206,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,4,1,1,2,12, - 12,5,1,253,192,192,0,64,64,64,64,192,192,192,192,192, - 6,12,12,9,1,254,4,4,56,76,204,144,144,228,100,56, - 64,64,9,12,24,9,0,0,30,0,49,0,35,0,35,0, - 48,0,16,0,254,0,16,0,16,0,112,128,191,0,78,0, - 7,8,8,9,1,2,186,108,198,130,130,198,108,186,9,12, - 24,9,0,0,243,128,97,0,34,0,50,0,20,0,20,0, - 62,0,8,0,62,0,8,0,8,0,62,0,1,12,12,10, - 4,0,128,128,128,128,128,0,0,128,128,128,128,128,6,15, - 15,8,1,253,56,72,64,96,48,88,140,132,196,104,48,24, - 8,72,112,5,2,2,5,0,9,216,216,12,12,24,12,0, - 0,31,128,48,192,71,32,205,176,152,144,144,16,144,16,152, - 144,205,176,71,32,48,192,31,128,5,7,7,6,0,5,224, - 144,112,144,232,0,240,6,5,5,7,0,1,36,72,216,72, - 36,8,5,5,10,1,1,255,1,1,1,1,4,1,1,5, - 0,3,240,12,12,24,12,0,0,31,128,48,192,95,32,201, - 176,137,144,143,16,137,16,137,144,200,176,92,224,48,192,31, - 128,5,1,1,5,0,9,248,5,5,5,7,1,7,112,136, - 136,136,112,7,9,9,10,1,0,16,16,16,254,16,16,16, - 0,254,5,7,7,6,0,5,112,216,136,16,32,72,248,5, - 7,7,6,0,5,112,216,136,48,136,216,112,3,3,3,5, - 0,9,32,96,128,10,11,22,10,0,253,231,0,99,0,99, - 0,99,0,99,0,99,0,99,0,125,192,96,0,96,0,96, - 0,8,15,15,10,0,253,127,234,202,202,202,234,122,10,10, - 10,10,10,10,10,31,2,2,2,5,1,3,192,192,3,4, - 4,5,1,253,64,64,32,192,3,7,7,6,1,5,64,192, - 64,64,64,64,224,4,7,7,5,0,5,96,144,144,144,96, - 0,240,6,5,5,7,0,1,144,72,108,72,144,11,12,24, - 14,1,0,64,64,192,192,65,128,65,0,66,0,70,64,236, - 192,9,64,18,64,51,224,96,64,64,224,11,12,24,13,1, - 0,64,128,193,128,67,0,66,0,68,0,77,192,251,96,18, - 32,32,192,97,0,195,32,131,224,13,12,24,14,0,0,112, - 24,216,48,136,96,48,192,136,128,217,144,115,48,6,80,4, - 144,12,248,24,16,48,56,7,12,12,7,0,253,24,24,0, - 16,16,48,96,192,196,206,100,56,11,16,32,12,0,0,24, - 0,12,0,2,0,0,0,4,0,4,0,14,0,14,0,22, - 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, - 16,32,12,0,0,3,0,6,0,8,0,0,0,4,0,4, - 0,14,0,14,0,22,0,19,0,19,0,63,128,33,128,65, - 128,64,192,243,224,11,16,32,12,0,0,4,0,14,0,17, - 0,0,0,4,0,4,0,14,0,14,0,22,0,19,0,19, - 0,63,128,33,128,65,128,64,192,243,224,11,15,30,12,0, - 0,29,0,46,0,0,0,4,0,4,0,14,0,14,0,22, - 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, - 15,30,12,0,0,18,0,18,0,0,0,4,0,4,0,14, - 0,14,0,22,0,19,0,19,0,63,128,33,128,65,128,64, - 192,243,224,11,16,32,12,0,0,12,0,18,0,12,0,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,16,12,24,17,0,0,15, - 255,2,195,2,193,4,193,4,200,8,248,8,216,31,201,16, - 193,32,193,32,195,251,255,10,15,30,12,1,253,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,8,0,4,0,24,0,10,16,32,12,0, - 0,24,0,12,0,2,0,0,0,255,192,48,192,48,64,48, - 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, - 192,10,16,32,12,0,0,3,0,6,0,8,0,0,0,255, - 192,48,192,48,64,48,64,50,0,62,0,54,0,50,0,48, - 64,48,64,48,192,255,192,10,16,32,12,0,0,4,0,14, - 0,17,0,0,0,255,192,48,192,48,64,48,64,50,0,62, - 0,54,0,50,0,48,64,48,64,48,192,255,192,10,15,30, - 12,0,0,17,0,17,0,0,0,255,192,48,192,48,64,48, - 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, - 192,6,16,16,7,0,0,192,96,16,0,252,48,48,48,48, - 48,48,48,48,48,48,252,6,16,16,7,0,0,12,24,32, - 0,252,48,48,48,48,48,48,48,48,48,48,252,6,16,16, - 7,0,0,32,112,136,0,252,48,48,48,48,48,48,48,48, - 48,48,252,6,15,15,7,0,0,72,72,0,252,48,48,48, - 48,48,48,48,48,48,48,252,12,12,24,13,0,0,255,0, - 49,192,48,96,48,96,48,48,124,48,48,48,48,48,48,96, - 48,96,49,192,255,0,13,15,30,13,0,0,14,64,19,128, - 0,0,240,248,56,32,60,32,44,32,46,32,39,32,35,160, - 33,160,32,224,32,224,32,96,248,32,11,16,32,13,1,0, - 24,0,12,0,2,0,0,0,14,0,49,128,96,192,96,192, - 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, - 11,16,32,13,1,0,1,128,3,0,4,0,0,0,14,0, - 49,128,96,192,96,192,192,96,192,96,192,96,192,96,96,192, - 96,192,49,128,14,0,11,16,32,13,1,0,4,0,14,0, - 17,0,0,0,14,0,49,128,96,192,96,192,192,96,192,96, - 192,96,192,96,96,192,96,192,49,128,14,0,11,15,30,13, - 1,0,14,128,23,0,0,0,14,0,49,128,96,192,96,192, - 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, - 11,15,30,13,1,0,17,0,17,0,0,0,14,0,49,128, - 96,192,96,192,192,96,192,96,192,96,192,96,96,192,96,192, - 49,128,14,0,8,8,8,10,1,0,129,66,36,24,24,36, - 66,129,11,14,28,13,1,255,0,32,14,64,49,128,97,192, - 97,64,194,96,196,96,196,96,200,96,80,192,112,192,49,128, - 78,0,128,0,13,16,32,13,0,0,12,0,6,0,1,0, - 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,48,32,48,32,24,64,15,128,13,16,32,13,0,0, - 0,192,1,128,2,0,0,0,252,248,48,32,48,32,48,32, - 48,32,48,32,48,32,48,32,48,32,48,32,24,64,15,128, - 13,16,32,13,0,0,2,0,7,0,8,128,0,0,252,248, - 48,32,48,32,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,24,64,15,128,13,15,30,13,0,0,8,128,8,128, - 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, - 48,32,48,32,48,32,24,64,15,128,12,16,32,12,0,0, - 1,128,3,0,4,0,0,0,252,240,48,64,24,128,24,128, - 13,0,13,0,6,0,6,0,6,0,6,0,6,0,31,128, - 11,12,24,11,0,0,252,0,48,0,48,0,63,128,48,192, - 48,96,48,96,48,192,63,128,48,0,48,0,252,0,8,12, - 12,10,1,0,60,102,99,99,102,124,102,99,99,99,118,236, - 7,12,12,9,1,0,64,96,16,0,120,204,204,28,108,204, - 204,118,7,12,12,9,1,0,4,12,16,0,120,204,204,28, - 108,204,204,118,7,12,12,9,1,0,16,56,68,0,120,204, - 204,28,108,204,204,118,7,11,11,9,1,0,52,88,0,120, - 204,204,28,108,204,204,118,7,11,11,9,1,0,72,72,0, - 120,204,204,28,108,204,204,118,7,13,13,9,1,0,48,72, - 72,48,0,120,204,204,28,108,204,204,118,12,8,16,13,0, - 0,121,192,206,32,198,48,31,240,102,0,198,16,207,32,121, - 192,6,11,11,7,0,253,56,108,204,192,192,196,108,56,32, - 16,96,7,12,12,8,0,0,32,48,8,0,56,68,198,254, - 192,192,102,60,7,12,12,8,0,0,4,12,16,0,56,68, - 198,254,192,192,102,60,7,12,12,8,0,0,16,56,68,0, - 56,68,198,254,192,192,102,60,7,11,11,8,0,0,36,36, - 0,56,68,198,254,192,192,102,60,4,12,12,5,0,0,128, - 192,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, - 0,16,48,64,0,224,96,96,96,96,96,96,240,5,12,12, - 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,4, - 11,11,5,0,0,144,144,0,224,96,96,96,96,96,96,240, - 7,13,13,8,0,0,64,38,24,104,12,60,110,198,198,198, - 198,108,56,9,11,22,10,0,0,26,0,44,0,0,0,238, - 0,115,0,99,0,99,0,99,0,99,0,99,0,247,128,7, - 12,12,8,0,0,64,96,16,0,56,108,198,198,198,198,108, - 56,7,12,12,8,0,0,4,12,16,0,56,108,198,198,198, - 198,108,56,7,12,12,8,0,0,16,56,68,0,56,108,198, - 198,198,198,108,56,7,11,11,8,0,0,52,88,0,56,108, - 198,198,198,198,108,56,7,11,11,8,0,0,72,72,0,56, - 108,198,198,198,198,108,56,8,7,7,10,1,1,24,24,0, - 255,0,24,24,7,10,10,8,0,255,2,60,100,206,214,214, - 230,76,120,128,9,12,24,10,0,0,32,0,48,0,8,0, - 0,0,231,0,99,0,99,0,99,0,99,0,99,0,99,0, - 61,128,9,12,24,10,0,0,2,0,6,0,8,0,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,61,128, - 9,12,24,10,0,0,8,0,28,0,34,0,0,0,231,0, - 99,0,99,0,99,0,99,0,99,0,99,0,61,128,9,11, - 22,10,0,0,36,0,36,0,0,0,231,0,99,0,99,0, - 99,0,99,0,99,0,99,0,61,128,8,15,15,9,0,253, - 2,6,8,0,247,98,54,52,28,24,8,24,16,208,224,8, - 14,14,9,0,253,224,96,96,124,102,99,99,99,99,102,124, - 96,96,240,8,14,14,9,0,253,36,36,0,247,98,54,52, - 28,24,8,24,16,208,224}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 12, '1' Height: 12 - Calculated Max Values w=15 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=13 len=30 - Font Bounding box w=21 h=26 x=-3 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =12 descent=-3 - X Font ascent =12 descent=-3 - Max Font ascent =13 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR12r[1976] U8G_FONT_SECTION("u8g_font_ncenR12r") = { - 0,21,26,253,250,12,2,59,5,140,32,127,253,13,253,12, - 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, - 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, - 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, - 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, - 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, - 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, - 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, - 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, - 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, - 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, - 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, - 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, - 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, - 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, - 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, - 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, - 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, - 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, - 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, - 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, - 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, - 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, - 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, - 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, - 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, - 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, - 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, - 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, - 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, - 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, - 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, - 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, - 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, - 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, - 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, - 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, - 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, - 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, - 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, - 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, - 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, - 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, - 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, - 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, - 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, - 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, - 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, - 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, - 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, - 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, - 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, - 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, - 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, - 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, - 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, - 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, - 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, - 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, - 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, - 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, - 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, - 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, - 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, - 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, - 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, - 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, - 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, - 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, - 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, - 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, - 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, - 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, - 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, - 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, - 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, - 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, - 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, - 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, - 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, - 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, - 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, - 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, - 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, - 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, - 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, - 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, - 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, - 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, - 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, - 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, - 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, - 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, - 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, - 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, - 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, - 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, - 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, - 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, - 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, - 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, - 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, - 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, - 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, - 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, - 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, - 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, - 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, - 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, - 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, - 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, - 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, - 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, - 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, - 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, - 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, - 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, - 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, - 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, - 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, - 2,2,10,1,3,115,206,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=19 x= 4 y=11 dx=19 dy= 0 ascent=19 len=42 - Font Bounding box w=27 h=30 x=-4 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =19 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR14[5319] U8G_FONT_SECTION("u8g_font_ncenR14") = { - 0,27,30,252,249,14,3,41,7,30,32,255,252,19,252,14, - 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, - 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, - 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, - 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, - 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, - 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, - 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, - 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, - 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, - 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, - 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, - 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, - 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, - 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, - 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, - 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, - 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, - 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, - 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, - 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, - 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, - 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, - 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, - 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, - 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, - 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, - 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, - 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, - 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, - 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, - 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, - 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, - 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, - 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, - 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, - 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, - 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, - 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, - 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, - 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, - 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, - 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, - 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, - 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, - 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, - 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, - 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, - 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, - 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, - 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, - 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, - 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, - 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, - 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, - 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, - 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, - 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, - 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, - 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, - 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, - 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, - 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, - 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, - 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, - 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, - 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, - 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, - 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, - 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, - 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, - 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, - 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, - 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, - 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, - 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, - 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, - 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, - 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, - 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, - 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, - 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, - 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, - 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, - 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, - 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, - 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, - 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, - 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, - 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, - 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, - 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, - 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, - 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, - 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, - 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, - 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, - 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, - 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, - 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, - 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, - 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, - 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, - 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, - 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, - 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, - 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, - 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, - 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, - 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, - 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, - 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, - 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, - 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, - 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, - 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, - 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, - 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, - 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, - 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, - 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, - 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, - 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, - 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, - 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, - 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, - 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, - 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, - 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, - 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, - 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, - 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, - 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, - 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, - 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, - 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, - 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, - 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, - 192,109,128,199,0,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,5,0,1,2,14,14,5, - 1,252,192,192,0,0,64,64,64,192,192,192,192,192,192,192, - 8,13,13,10,1,254,2,2,30,103,203,200,200,208,208,115, - 62,32,32,10,14,28,11,0,0,15,0,25,128,49,128,48, - 0,48,0,24,0,255,128,12,0,12,0,12,0,12,0,120, - 64,158,64,247,128,9,9,18,12,1,3,156,128,255,128,99, - 0,193,128,193,128,193,128,99,0,255,128,156,128,14,14,28, - 15,0,0,252,124,48,16,24,32,24,32,12,64,12,64,6, - 128,31,224,3,0,3,0,31,224,3,0,3,0,15,192,2, - 14,14,10,4,0,192,192,192,192,192,0,0,0,192,192,192, - 192,192,192,8,17,17,9,0,253,60,102,70,64,96,120,62, - 79,195,227,122,60,14,6,98,102,60,6,2,2,7,0,10, - 204,204,14,14,28,15,0,0,7,128,24,96,32,16,71,136, - 72,200,144,68,144,4,144,4,144,4,72,72,71,136,32,16, - 24,96,7,128,6,8,8,7,0,6,112,136,56,200,152,108, - 0,252,8,7,7,9,0,2,17,51,102,204,102,51,17,9, - 5,10,10,0,3,255,128,0,128,0,128,0,128,0,128,5, - 1,1,6,0,5,248,14,14,28,15,0,0,7,128,24,96, - 32,16,79,136,68,200,132,68,132,196,135,132,132,132,68,72, - 78,104,32,16,24,96,7,128,6,1,1,7,0,10,252,6, - 6,6,7,0,8,120,204,132,132,204,120,9,9,18,10,0, - 1,8,0,8,0,8,0,255,128,8,0,8,0,8,0,0, - 0,255,128,6,8,8,6,0,6,120,204,140,24,48,96,196, - 252,6,8,8,6,0,6,120,204,140,56,12,140,204,120,4, - 3,3,6,1,11,48,96,128,10,13,26,11,0,252,227,192, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,125,192, - 64,0,64,0,96,0,96,0,10,17,34,11,0,253,63,192, - 233,0,201,0,201,0,201,0,201,0,233,0,57,0,9,0, - 9,0,9,0,9,0,9,0,9,0,9,0,9,0,63,192, - 2,2,2,5,1,5,192,192,4,4,4,6,0,252,64,112, - 16,224,6,8,8,6,0,6,48,240,48,48,48,48,48,252, - 5,8,8,6,0,6,112,216,136,136,216,112,0,248,8,7, - 7,9,0,2,136,204,102,51,102,204,136,15,14,28,15,0, - 0,48,32,240,32,48,64,48,64,48,128,48,128,49,24,253, - 56,2,40,2,88,4,152,4,254,8,24,8,60,14,14,28, - 15,0,0,48,32,240,32,48,64,48,64,48,128,48,128,49, - 120,253,204,2,140,2,24,4,48,4,96,8,196,8,252,15, - 14,28,15,0,0,120,32,204,32,140,64,56,64,12,128,140, - 128,205,24,121,56,2,40,2,88,4,152,4,254,8,24,8, - 60,7,14,14,8,0,252,24,24,0,0,16,16,32,32,64, - 192,192,198,230,120,14,18,36,13,255,0,12,0,6,0,1, - 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, - 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,14, - 18,36,13,255,0,0,192,1,128,2,0,0,0,3,0,3, - 0,3,0,5,128,5,128,5,128,8,192,8,192,31,224,16, - 96,16,96,32,48,32,48,248,252,14,18,36,13,255,0,3, - 0,7,128,8,64,0,0,3,0,3,0,3,0,5,128,5, - 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, - 48,248,252,14,17,34,13,255,0,7,64,11,128,0,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,14,17,34,13,255, - 0,12,192,12,192,0,0,3,0,3,0,3,0,5,128,5, - 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, - 48,248,252,14,19,38,13,255,0,3,0,4,128,4,128,3, - 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, - 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,18, - 14,42,18,255,0,7,255,192,1,96,192,2,96,64,2,96, - 64,4,98,64,4,98,0,8,126,0,8,98,0,31,226,0, - 16,96,64,32,96,64,32,96,64,96,96,192,241,255,192,12, - 18,36,13,0,252,15,144,56,112,96,48,96,16,192,16,192, - 0,192,0,192,0,192,0,192,0,96,16,96,16,56,96,15, - 192,4,0,7,0,1,0,14,0,11,18,36,12,0,0,24, - 0,12,0,2,0,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,18,36,12,0,0,3,0,6,0,8,0,0, - 0,255,224,48,96,48,32,48,32,49,32,49,0,63,0,49, - 0,49,0,48,32,48,32,48,32,48,96,255,224,11,18,36, - 12,0,0,6,0,15,0,16,128,0,0,255,224,48,96,48, - 32,48,32,49,32,49,0,63,0,49,0,49,0,48,32,48, - 32,48,32,48,96,255,224,11,17,34,12,0,0,25,128,25, - 128,0,0,255,224,48,96,48,32,48,32,49,32,49,0,63, - 0,49,0,49,0,48,32,48,32,48,32,48,96,255,224,6, - 18,18,7,0,0,192,96,16,0,252,48,48,48,48,48,48, - 48,48,48,48,48,48,252,6,18,18,7,0,0,12,24,32, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,252,6, - 18,18,7,0,0,48,120,132,0,252,48,48,48,48,48,48, - 48,48,48,48,48,48,252,6,17,17,7,0,0,204,204,0, - 252,48,48,48,48,48,48,48,48,48,48,48,48,252,14,14, - 28,15,0,0,255,192,48,112,48,24,48,24,48,12,48,12, - 254,12,48,12,48,12,48,12,48,24,48,24,48,112,255,192, - 14,17,34,15,0,0,7,64,11,128,0,0,240,124,48,16, - 56,16,60,16,46,16,38,16,35,16,35,144,33,144,32,208, - 32,240,32,112,32,48,248,16,14,18,36,15,0,0,12,0, - 6,0,1,0,0,0,15,192,56,112,96,24,96,24,192,12, - 192,12,192,12,192,12,192,12,192,12,96,24,96,24,56,112, - 15,192,14,18,36,15,0,0,0,192,1,128,2,0,0,0, - 15,192,56,112,96,24,96,24,192,12,192,12,192,12,192,12, - 192,12,192,12,96,24,96,24,56,112,15,192,14,18,36,15, - 0,0,3,0,7,128,8,64,0,0,15,192,56,112,96,24, - 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 96,24,56,112,15,192,14,17,34,15,0,0,7,64,11,128, - 0,0,15,192,56,112,96,24,96,24,192,12,192,12,192,12, - 192,12,192,12,192,12,96,24,96,24,56,112,15,192,14,17, - 34,15,0,0,12,192,12,192,0,0,15,192,56,112,96,24, - 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, - 96,24,56,112,15,192,10,9,18,10,0,1,192,192,97,128, - 51,0,30,0,12,0,30,0,51,0,97,128,192,192,15,14, - 28,15,255,0,7,228,28,56,48,28,48,44,96,70,96,134, - 97,6,98,6,100,6,104,6,48,12,48,12,92,56,135,224, - 14,18,36,15,0,0,6,0,3,0,0,128,0,0,252,124, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,48,16,48,16,24,32,15,192,14,18,36,15,0,0, - 0,192,1,128,2,0,0,0,252,124,48,16,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 24,32,15,192,14,18,36,15,0,0,3,0,7,128,8,64, - 0,0,252,124,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,24,32,15,192,14,17, - 34,15,0,0,12,96,12,96,0,0,252,124,48,16,48,16, - 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, - 48,16,24,32,15,192,14,18,36,13,255,0,0,96,0,192, - 1,0,0,0,252,124,48,16,24,32,24,32,12,64,12,64, - 6,128,7,128,3,0,3,0,3,0,3,0,3,0,15,192, - 11,14,28,12,0,0,252,0,48,0,48,0,63,128,48,192, - 48,96,48,96,48,96,48,96,48,192,63,0,48,0,48,0, - 252,0,9,14,28,10,0,0,30,0,35,0,97,0,97,0, - 99,0,110,0,99,0,97,128,97,128,97,128,97,128,109,128, - 109,0,230,0,9,13,26,10,0,0,48,0,24,0,4,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,13,26,10,0,0,6,0,12,0,16,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,13,26,10,0,0,24,0,60,0,66,0, - 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, - 199,0,121,128,9,12,24,10,0,0,58,0,92,0,0,0, - 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, - 121,128,9,12,24,10,0,0,102,0,102,0,0,0,28,0, - 98,0,99,0,3,0,31,0,99,0,195,0,199,0,121,128, - 9,14,28,10,0,0,24,0,36,0,36,0,24,0,0,0, - 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, - 121,128,15,9,18,16,0,0,28,248,99,140,99,6,3,6, - 31,254,99,0,195,0,197,134,120,252,8,13,13,9,0,252, - 60,99,195,192,192,192,193,99,62,16,28,4,56,8,13,13, - 9,0,0,96,48,8,0,60,102,195,195,255,192,193,99,62, - 8,13,13,9,0,0,6,12,16,0,60,102,195,195,255,192, - 193,99,62,8,13,13,9,0,0,24,60,66,0,60,102,195, - 195,255,192,193,99,62,8,12,12,9,0,0,102,102,0,60, - 102,195,195,255,192,193,99,62,5,13,13,5,255,0,192,96, - 16,0,112,48,48,48,48,48,48,48,120,5,13,13,5,0, - 0,24,48,64,0,224,96,96,96,96,96,96,96,240,6,13, - 13,5,255,0,48,120,132,0,112,48,48,48,48,48,48,48, - 120,6,12,12,5,255,0,204,204,0,112,48,48,48,48,48, - 48,48,120,9,14,28,10,0,0,192,0,54,0,56,0,204, - 0,6,0,63,0,99,0,193,128,193,128,193,128,193,128,193, - 128,99,0,62,0,10,12,24,11,0,0,60,128,79,0,0, - 0,239,0,115,128,97,128,97,128,97,128,97,128,97,128,97, - 128,243,192,9,13,26,10,0,0,96,0,48,0,8,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,13,26,10,0,0,3,0,6,0,8,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,13,26,10,0,0,24,0,60,0,66,0,0, - 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, - 0,62,0,9,12,24,10,0,0,58,0,92,0,0,0,62, - 0,99,0,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,9,12,24,10,0,0,99,0,99,0,0,0,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,99,0,62,0,10, - 7,14,10,0,2,12,0,12,0,0,0,255,192,0,0,12, - 0,12,0,9,12,24,10,0,254,0,128,62,128,99,0,197, - 128,197,128,201,128,201,128,209,128,115,0,62,0,64,0,64, - 0,10,13,26,11,0,0,48,0,24,0,4,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,13,26,11,0,0,3,0,6,0,8,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,13,26,11,0,0,12,0,30,0,33,0,0,0,227, - 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, - 192,10,12,24,11,0,0,51,0,51,0,0,0,227,192,97, - 128,97,128,97,128,97,128,97,128,97,128,115,128,61,192,10, - 17,34,11,0,252,3,0,6,0,8,0,0,0,241,192,96, - 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, - 0,16,0,208,0,224,0,10,18,36,11,0,252,224,0,96, - 0,96,0,96,0,96,0,111,0,113,128,96,192,96,192,96, - 192,96,192,96,192,113,128,111,0,96,0,96,0,96,0,240, - 0,10,16,32,11,0,252,51,0,51,0,0,0,241,192,96, - 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, - 0,16,0,208,0,224,0}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=20 h=18 x= 4 y=10 dx=19 dy= 0 ascent=15 len=42 - Font Bounding box w=27 h=30 x=-4 y=-7 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =14 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR14r[2534] U8G_FONT_SECTION("u8g_font_ncenR14r") = { - 0,27,30,252,249,14,3,41,7,30,32,127,252,15,252,14, - 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, - 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, - 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, - 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, - 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, - 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, - 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, - 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, - 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, - 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, - 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, - 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, - 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, - 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, - 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, - 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, - 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, - 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, - 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, - 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, - 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, - 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, - 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, - 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, - 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, - 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, - 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, - 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, - 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, - 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, - 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, - 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, - 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, - 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, - 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, - 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, - 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, - 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, - 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, - 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, - 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, - 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, - 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, - 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, - 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, - 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, - 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, - 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, - 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, - 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, - 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, - 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, - 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, - 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, - 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, - 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, - 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, - 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, - 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, - 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, - 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, - 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, - 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, - 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, - 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, - 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, - 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, - 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, - 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, - 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, - 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, - 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, - 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, - 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, - 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, - 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, - 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, - 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, - 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, - 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, - 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, - 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, - 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, - 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, - 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, - 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, - 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, - 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, - 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, - 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, - 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, - 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, - 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, - 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, - 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, - 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, - 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, - 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, - 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, - 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, - 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, - 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, - 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, - 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, - 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, - 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, - 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, - 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, - 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, - 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, - 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, - 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, - 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, - 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, - 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, - 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, - 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, - 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, - 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, - 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, - 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, - 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, - 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, - 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, - 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, - 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, - 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, - 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, - 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, - 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, - 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, - 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, - 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, - 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, - 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, - 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, - 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, - 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, - 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, - 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, - 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, - 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, - 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, - 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, - 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, - 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, - 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, - 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, - 192,109,128,199,0,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=25 h=24 x= 6 y=15 dx=25 dy= 0 ascent=24 len=72 - Font Bounding box w=31 h=37 x=-3 y=-8 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR18[7488] U8G_FONT_SECTION("u8g_font_ncenR18") = { - 0,31,37,253,248,18,4,33,9,197,32,255,251,24,251,18, - 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, - 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, - 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, - 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, - 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, - 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, - 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, - 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, - 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, - 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, - 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, - 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, - 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, - 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, - 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, - 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, - 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, - 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, - 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, - 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, - 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, - 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, - 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, - 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, - 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, - 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, - 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, - 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, - 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, - 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, - 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, - 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, - 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, - 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, - 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, - 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, - 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, - 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, - 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, - 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, - 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, - 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, - 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, - 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, - 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, - 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, - 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, - 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, - 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, - 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, - 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, - 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, - 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, - 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, - 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, - 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, - 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, - 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, - 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, - 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, - 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, - 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, - 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, - 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, - 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, - 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, - 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, - 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, - 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, - 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, - 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, - 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, - 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, - 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, - 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, - 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, - 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, - 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, - 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, - 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, - 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, - 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, - 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, - 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, - 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, - 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, - 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, - 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, - 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, - 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, - 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, - 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, - 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, - 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, - 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, - 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, - 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, - 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, - 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, - 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, - 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, - 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, - 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, - 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, - 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, - 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, - 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, - 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, - 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, - 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, - 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, - 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, - 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, - 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, - 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, - 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, - 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, - 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, - 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, - 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, - 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, - 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, - 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, - 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, - 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, - 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, - 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, - 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, - 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, - 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, - 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, - 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, - 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, - 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, - 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, - 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, - 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, - 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, - 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, - 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, - 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, - 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, - 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, - 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, - 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, - 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, - 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, - 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, - 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, - 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, - 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, - 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, - 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, - 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, - 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, - 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, - 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, - 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, - 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, - 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, - 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, - 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, - 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, - 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, - 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, - 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, - 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, - 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, - 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, - 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, - 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, - 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, - 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, - 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, - 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, - 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, - 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, - 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, - 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, - 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, - 231,224,195,192,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,7,0,1,3,19,19,7,2, - 251,224,224,224,0,0,64,64,64,224,224,224,224,224,224,224, - 224,224,224,64,10,18,36,14,2,253,0,64,0,64,0,128, - 31,128,113,192,97,192,226,192,194,0,196,0,196,0,200,0, - 232,0,112,64,112,192,63,0,32,0,64,0,64,0,13,18, - 36,14,0,0,3,192,14,48,12,112,28,112,28,32,28,0, - 28,0,14,0,127,192,7,0,7,0,7,0,7,0,7,0, - 118,8,140,8,143,240,115,224,13,12,24,15,1,4,71,16, - 255,248,112,112,32,32,96,48,96,48,96,48,96,48,32,32, - 112,112,255,248,71,16,16,18,36,17,0,0,252,63,56,12, - 24,8,28,24,12,16,14,48,6,32,7,96,3,64,3,192, - 31,248,1,128,1,128,31,248,1,128,1,128,1,128,15,240, - 2,18,18,15,6,0,192,192,192,192,192,192,192,0,0,0, - 192,192,192,192,192,192,192,192,10,22,44,12,1,252,31,0, - 35,128,97,128,97,128,120,0,60,0,31,0,47,128,67,192, - 193,192,192,192,224,192,240,192,124,128,63,0,15,0,3,128, - 1,128,97,128,97,128,113,0,62,0,6,2,2,8,1,15, - 204,204,18,18,54,20,1,0,3,240,0,12,12,0,16,2, - 0,32,1,0,67,240,128,70,24,128,140,8,64,140,0,64, - 140,0,64,140,0,64,140,0,64,140,8,64,70,24,128,67, - 224,128,32,1,0,16,2,0,12,12,0,3,240,0,7,10, - 10,9,1,8,120,76,4,124,196,204,118,0,0,254,10,7, - 14,12,1,3,24,192,49,128,99,0,198,0,99,0,49,128, - 24,192,12,7,14,14,1,3,255,240,255,240,0,48,0,48, - 0,48,0,48,0,48,6,2,2,8,1,6,252,252,18,18, - 54,20,1,0,3,240,0,12,12,0,16,2,0,32,1,0, - 71,240,128,67,24,128,131,24,64,131,24,64,131,16,64,131, - 224,64,131,48,64,131,24,64,67,12,128,71,142,128,32,1, - 0,16,2,0,12,12,0,3,240,0,7,1,1,9,1,15, - 254,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, - 22,14,1,2,6,0,6,0,6,0,255,240,255,240,6,0, - 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, - 124,198,198,6,12,24,48,96,192,194,254,7,11,11,8,0, - 7,124,198,198,6,12,60,6,6,198,198,124,5,4,4,8, - 2,15,24,56,96,128,14,17,34,14,0,251,240,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,112, - 63,176,46,60,32,0,32,0,112,0,112,0,32,0,13,22, - 44,15,1,252,31,248,115,48,227,48,227,48,227,48,227,48, - 227,48,227,48,115,48,31,48,3,48,3,48,3,48,3,48, - 3,48,3,48,3,48,3,48,3,48,3,48,3,48,7,248, - 3,3,3,7,2,5,224,224,224,4,4,4,7,1,252,64, - 112,16,224,6,11,11,8,1,7,16,48,240,48,48,48,48, - 48,48,48,252,7,10,10,9,1,8,56,68,198,198,198,68, - 56,0,0,254,10,7,14,12,1,3,198,0,99,0,49,128, - 24,192,49,128,99,0,198,0,18,18,54,19,0,0,16,4, - 0,48,12,0,240,8,0,48,24,0,48,16,0,48,48,0, - 48,32,0,48,99,0,48,71,0,48,207,0,252,139,0,1, - 155,0,1,19,0,3,51,0,2,99,0,6,127,192,4,3, - 0,12,7,128,18,18,54,19,0,0,16,8,0,48,24,0, - 240,16,0,48,48,0,48,32,0,48,96,0,48,64,0,48, - 207,128,48,152,192,49,152,192,253,0,192,3,1,128,2,3, - 0,6,6,0,4,12,0,12,24,0,8,24,64,24,31,192, - 18,18,54,19,0,0,124,4,0,198,12,0,198,8,0,6, - 24,0,12,16,0,60,48,0,6,32,0,6,99,0,198,71, - 0,198,207,0,124,139,0,1,155,0,1,19,0,3,51,0, - 2,99,0,6,127,192,4,3,0,12,7,128,10,18,36,12, - 1,252,7,0,7,0,7,0,0,0,0,0,2,0,2,0, - 6,0,12,0,28,0,56,0,112,0,224,0,225,192,225,192, - 224,192,113,128,30,0,19,23,69,19,0,0,3,0,0,3, - 128,0,0,192,0,0,32,0,0,0,0,0,64,0,0,96, - 0,0,224,0,0,240,0,1,48,0,1,56,0,2,24,0, - 2,28,0,4,12,0,4,12,0,8,14,0,15,254,0,16, - 6,0,16,7,0,32,3,0,32,3,128,96,3,128,248,15, - 224,19,23,69,19,0,0,0,24,0,0,56,0,0,96,0, - 0,128,0,0,0,0,0,64,0,0,96,0,0,224,0,0, - 240,0,1,48,0,1,56,0,2,24,0,2,28,0,4,12, - 0,4,12,0,8,14,0,15,254,0,16,6,0,16,7,0, - 32,3,0,32,3,128,96,3,128,248,15,224,19,23,69,19, - 0,0,0,96,0,0,240,0,1,152,0,2,4,0,0,0, - 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, - 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, - 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, - 128,96,3,128,248,15,224,19,22,66,19,0,0,1,196,0, - 3,248,0,4,112,0,0,0,0,0,64,0,0,96,0,0, - 224,0,0,240,0,1,48,0,1,56,0,2,24,0,2,28, - 0,4,12,0,4,12,0,8,14,0,15,254,0,16,6,0, - 16,7,0,32,3,0,32,3,128,96,3,128,248,15,224,19, - 22,66,19,0,0,3,24,0,3,24,0,0,0,0,0,0, - 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, - 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, - 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, - 128,96,3,128,248,15,224,19,24,72,19,0,0,0,224,0, - 1,16,0,1,16,0,1,16,0,0,224,0,0,0,0,0, - 64,0,0,96,0,0,224,0,0,240,0,1,48,0,1,56, - 0,2,24,0,2,28,0,4,12,0,4,12,0,8,14,0, - 15,254,0,16,6,0,16,7,0,32,3,0,32,3,128,96, - 3,128,248,15,224,24,18,54,25,0,0,1,255,255,0,38, - 7,0,102,3,0,70,1,0,198,1,0,134,17,1,134,16, - 1,6,48,3,7,240,2,6,48,7,254,16,4,6,16,12, - 6,1,8,6,1,24,6,1,16,6,3,48,6,7,252,31, - 255,15,23,46,17,1,251,7,242,28,30,56,6,48,2,112, - 2,96,2,224,0,224,0,224,0,224,0,224,0,224,0,96, - 2,112,2,48,6,56,4,28,28,7,240,3,224,1,0,1, - 192,0,64,3,128,13,23,46,16,1,0,24,0,28,0,6, - 0,1,0,0,0,255,248,48,56,48,24,48,8,48,8,48, - 136,48,128,49,128,63,128,49,128,48,128,48,128,48,8,48, - 8,48,8,48,24,48,56,255,248,13,23,46,16,1,0,0, - 96,0,224,1,128,2,0,0,0,255,248,48,56,48,24,48, - 8,48,8,48,136,48,128,49,128,63,128,49,128,48,128,48, - 128,48,8,48,8,48,8,48,24,48,56,255,248,13,23,46, - 16,1,0,3,0,7,128,12,192,16,32,0,0,255,248,48, - 56,48,24,48,8,48,8,48,136,48,128,49,128,63,128,49, - 128,48,128,48,128,48,8,48,8,48,8,48,24,48,56,255, - 248,13,22,44,16,1,0,12,96,12,96,0,0,0,0,255, - 248,48,56,48,24,48,8,48,8,48,136,48,128,49,128,63, - 128,49,128,48,128,48,128,48,8,48,8,48,8,48,24,48, - 56,255,248,6,23,23,9,2,0,192,224,48,8,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 7,23,23,9,2,0,6,14,24,32,0,252,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,8,23,23, - 9,1,0,24,60,102,129,0,126,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,126,7,22,22,9,2,0, - 198,198,0,0,252,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,16,18,36,20,2,0,255,224,48,56, - 48,12,48,12,48,6,48,6,48,7,48,7,254,7,48,7, - 48,7,48,7,48,6,48,6,48,12,48,12,48,56,255,224, - 19,22,66,21,1,0,1,196,0,3,248,0,4,112,0,0, - 0,0,248,15,224,60,3,128,28,1,0,30,1,0,23,1, - 0,19,129,0,17,129,0,16,193,0,16,225,0,16,97,0, - 16,49,0,16,57,0,16,29,0,16,15,0,16,7,0,16, - 7,0,56,3,0,254,1,0,17,23,69,19,1,0,12,0, - 0,14,0,0,3,0,0,0,128,0,0,0,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,17,23,69,19,1,0,0,24,0,0,56,0,0, - 96,0,0,128,0,0,0,0,7,240,0,28,28,0,48,6, - 0,48,6,0,112,7,0,96,3,0,224,3,128,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,96,3,0,112, - 7,0,48,6,0,48,6,0,28,28,0,7,240,0,17,23, - 69,19,1,0,0,192,0,1,224,0,3,48,0,4,8,0, - 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, - 48,6,0,28,28,0,7,240,0,17,22,66,19,1,0,3, - 136,0,7,240,0,8,224,0,0,0,0,7,240,0,28,28, - 0,48,6,0,48,6,0,112,7,0,96,3,0,224,3,128, - 224,3,128,224,3,128,224,3,128,224,3,128,224,3,128,96, - 3,0,112,7,0,48,6,0,48,6,0,28,28,0,7,240, - 0,17,22,66,19,1,0,6,48,0,6,48,0,0,0,0, - 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, - 48,6,0,28,28,0,7,240,0,13,12,24,14,1,1,192, - 24,96,48,48,96,24,192,13,128,7,0,7,0,13,128,24, - 192,48,96,96,48,192,24,17,19,57,19,1,0,0,3,0, - 7,246,0,28,28,0,48,14,0,48,30,0,96,51,0,96, - 99,0,224,67,128,224,195,128,225,131,128,227,3,128,226,3, - 128,230,3,128,108,3,0,120,3,0,48,6,0,48,6,0, - 124,28,0,199,240,0,16,23,46,19,2,0,6,0,7,0, - 1,128,0,64,0,0,252,31,48,14,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,56,12,24,8,30,56,7,224,16,23,46,19,2,0, - 0,48,0,112,0,192,1,0,0,0,252,31,48,14,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,56,12,24,8,30,56,7,224,16,23, - 46,19,2,0,1,128,3,192,6,96,8,16,0,0,252,31, - 48,14,48,4,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,56,12,24,8,30,56, - 7,224,16,22,44,19,2,0,6,48,6,48,0,0,0,0, - 252,31,48,14,48,4,48,4,48,4,48,4,48,4,48,4, - 48,4,48,4,48,4,48,4,48,4,48,4,56,12,24,8, - 30,56,7,224,16,23,46,17,0,0,0,48,0,112,0,192, - 1,0,0,0,252,63,56,12,24,8,28,24,12,16,14,48, - 6,32,7,96,3,64,3,192,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,7,224,13,18,36,16,2,0,252,0, - 48,0,48,0,48,0,63,128,48,224,48,48,48,56,48,56, - 48,56,48,56,48,48,48,224,63,128,48,0,48,0,48,0, - 252,0,12,18,36,14,1,0,15,128,24,192,48,96,48,96, - 48,96,48,96,48,192,51,192,48,96,48,48,48,48,48,48, - 48,48,48,48,54,48,54,48,54,96,243,192,12,18,36,13, - 1,0,24,0,28,0,6,0,1,0,0,0,0,0,31,0, - 113,128,112,192,96,192,0,192,7,192,56,192,96,192,192,192, - 192,192,225,240,126,96,12,18,36,13,1,0,1,128,3,128, - 6,0,8,0,0,0,0,0,31,0,113,128,112,192,96,192, - 0,192,7,192,56,192,96,192,192,192,192,192,225,240,126,96, - 12,18,36,13,1,0,6,0,15,0,25,128,32,64,0,0, - 0,0,31,0,113,128,112,192,96,192,0,192,7,192,56,192, - 96,192,192,192,192,192,225,240,126,96,12,17,34,13,1,0, - 28,64,63,128,71,0,0,0,0,0,31,0,113,128,112,192, - 96,192,0,192,7,192,56,192,96,192,192,192,192,192,225,240, - 126,96,12,16,32,13,1,0,25,128,25,128,0,0,0,0, - 31,0,113,128,112,192,96,192,0,192,7,192,56,192,96,192, - 192,192,192,192,225,240,126,96,12,19,38,13,1,0,14,0, - 17,0,17,0,17,0,14,0,0,0,0,0,31,0,113,128, - 112,192,96,192,0,192,7,192,56,192,96,192,192,192,192,192, - 225,240,126,96,19,12,36,21,1,0,31,31,0,113,241,192, - 96,224,192,0,224,224,0,192,96,7,255,224,56,192,0,96, - 192,0,192,224,0,192,224,64,227,112,192,124,31,128,10,16, - 32,12,1,252,31,0,113,192,97,192,224,192,192,0,192,0, - 192,0,192,0,224,0,96,64,112,192,31,128,8,0,14,0, - 2,0,28,0,11,18,36,13,1,0,24,0,28,0,6,0, - 1,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, - 255,224,192,0,192,0,224,0,96,64,112,192,31,128,11,18, - 36,13,1,0,1,128,3,128,6,0,8,0,0,0,0,0, - 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, - 224,0,96,64,112,192,31,128,11,18,36,13,1,0,6,0, - 15,0,25,128,32,64,0,0,0,0,31,0,113,192,96,192, - 224,224,192,96,255,224,192,0,192,0,224,0,96,64,112,192, - 31,128,11,16,32,13,1,0,49,128,49,128,0,0,0,0, - 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, - 224,0,96,64,112,192,31,128,6,18,18,8,1,0,192,224, - 48,8,0,0,240,48,48,48,48,48,48,48,48,48,48,252, - 6,18,18,8,1,0,24,56,96,128,0,0,240,48,48,48, - 48,48,48,48,48,48,48,252,8,18,18,8,0,0,24,60, - 102,129,0,0,120,24,24,24,24,24,24,24,24,24,24,126, - 6,16,16,8,1,0,204,204,0,0,240,48,48,48,48,48, - 48,48,48,48,48,252,11,18,36,13,1,0,192,0,51,0, - 28,0,28,0,102,0,3,0,31,128,113,192,96,192,224,224, - 192,96,192,96,192,96,192,96,224,224,96,192,113,192,31,0, - 14,17,34,14,0,0,7,16,15,224,17,192,0,0,0,0, - 241,192,55,224,56,112,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,252,252,11,18,36,13,1,0,24,0, - 28,0,6,0,1,0,0,0,0,0,31,0,113,192,96,192, - 224,224,192,96,192,96,192,96,192,96,224,224,96,192,113,192, - 31,0,11,18,36,13,1,0,1,128,3,128,6,0,8,0, - 0,0,0,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,11,18,36,13, - 1,0,14,0,31,0,49,128,64,64,0,0,0,0,31,0, - 113,192,96,192,224,224,192,96,192,96,192,96,192,96,224,224, - 96,192,113,192,31,0,11,17,34,13,1,0,28,64,63,128, - 71,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, - 192,96,192,96,192,96,224,224,96,192,113,192,31,0,11,16, - 32,13,1,0,49,128,49,128,0,0,0,0,31,0,113,192, - 96,192,224,224,192,96,192,96,192,96,192,96,224,224,96,192, - 113,192,31,0,12,10,20,14,1,2,6,0,6,0,0,0, - 0,0,255,240,255,240,0,0,0,0,6,0,6,0,11,16, - 32,13,1,254,0,64,0,128,31,128,113,192,98,192,226,224, - 196,96,196,96,196,96,200,96,200,224,80,192,113,192,63,0, - 32,0,64,0,14,18,36,14,0,0,12,0,14,0,3,0, - 0,128,0,0,0,0,240,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,56,112,31,176,14,60,14,18, - 36,14,0,0,0,192,1,192,3,0,4,0,0,0,0,0, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,176,14,60,14,18,36,14,0,0,3,0, - 7,128,12,192,16,32,0,0,0,0,240,240,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,56,112,31,176, - 14,60,14,16,32,14,0,0,12,192,12,192,0,0,0,0, - 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,56,112,31,176,14,60,13,23,46,12,255,251,0,96, - 0,224,1,128,2,0,0,0,0,0,120,56,48,16,56,48, - 24,32,24,32,12,96,12,64,6,192,6,128,7,128,3,0, - 3,0,2,0,2,0,196,0,236,0,120,0,13,23,46,14, - 0,251,240,0,48,0,48,0,48,0,48,0,48,0,55,192, - 60,112,56,48,48,56,48,24,48,24,48,24,48,24,48,56, - 56,48,60,112,55,192,48,0,48,0,48,0,48,0,252,0, - 13,21,42,12,255,251,12,96,12,96,0,0,0,0,120,56, - 48,16,56,48,24,32,24,32,12,96,12,64,6,192,6,128, - 7,128,3,0,3,0,2,0,2,0,196,0,236,0,120,0 - }; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=25 h=23 x= 6 y=14 dx=25 dy= 0 ascent=20 len=72 - Font Bounding box w=31 h=37 x=-3 y=-8 - Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent=-5 - X Font ascent =18 descent=-5 - Max Font ascent =20 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR18r[3477] U8G_FONT_SECTION("u8g_font_ncenR18r") = { - 0,31,37,253,248,18,4,33,9,197,32,127,251,20,251,18, - 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, - 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, - 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, - 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, - 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, - 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, - 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, - 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, - 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, - 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, - 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, - 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, - 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, - 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, - 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, - 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, - 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, - 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, - 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, - 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, - 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, - 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, - 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, - 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, - 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, - 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, - 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, - 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, - 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, - 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, - 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, - 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, - 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, - 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, - 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, - 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, - 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, - 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, - 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, - 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, - 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, - 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, - 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, - 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, - 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, - 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, - 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, - 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, - 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, - 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, - 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, - 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, - 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, - 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, - 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, - 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, - 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, - 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, - 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, - 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, - 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, - 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, - 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, - 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, - 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, - 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, - 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, - 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, - 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, - 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, - 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, - 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, - 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, - 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, - 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, - 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, - 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, - 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, - 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, - 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, - 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, - 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, - 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, - 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, - 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, - 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, - 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, - 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, - 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, - 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, - 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, - 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, - 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, - 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, - 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, - 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, - 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, - 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, - 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, - 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, - 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, - 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, - 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, - 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, - 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, - 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, - 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, - 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, - 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, - 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, - 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, - 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, - 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, - 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, - 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, - 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, - 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, - 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, - 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, - 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, - 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, - 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, - 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, - 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, - 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, - 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, - 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, - 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, - 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, - 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, - 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, - 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, - 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, - 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, - 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, - 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, - 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, - 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, - 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, - 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, - 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, - 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, - 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, - 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, - 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, - 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, - 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, - 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, - 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, - 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, - 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, - 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, - 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, - 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, - 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, - 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, - 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, - 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, - 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, - 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, - 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, - 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, - 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, - 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, - 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, - 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, - 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, - 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, - 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, - 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, - 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, - 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, - 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, - 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, - 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, - 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, - 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, - 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, - 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, - 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, - 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, - 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, - 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, - 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, - 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, - 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, - 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, - 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, - 231,224,195,192,255}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=31 h=32 x= 9 y=19 dx=32 dy= 0 ascent=32 len=128 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =32 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24[11729] U8G_FONT_SECTION("u8g_font_ncenR24") = { - 0,39,50,250,245,25,5,159,15,28,32,255,249,32,249,25, - 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, - 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, - 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, - 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, - 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, - 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, - 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, - 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, - 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, - 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, - 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, - 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, - 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, - 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, - 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, - 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, - 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, - 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, - 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, - 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, - 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, - 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, - 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, - 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, - 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, - 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, - 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, - 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, - 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, - 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, - 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, - 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, - 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, - 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, - 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, - 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, - 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, - 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, - 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, - 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, - 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, - 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, - 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, - 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, - 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, - 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, - 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, - 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, - 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, - 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, - 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, - 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, - 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, - 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, - 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, - 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, - 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, - 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, - 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, - 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, - 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, - 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, - 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, - 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, - 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, - 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, - 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, - 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, - 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, - 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, - 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, - 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, - 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, - 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, - 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, - 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, - 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, - 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, - 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, - 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, - 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, - 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, - 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, - 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, - 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, - 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, - 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, - 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, - 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, - 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, - 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, - 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, - 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, - 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, - 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, - 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, - 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, - 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, - 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, - 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, - 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, - 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, - 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, - 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, - 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, - 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, - 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, - 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, - 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, - 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, - 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, - 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, - 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, - 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, - 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, - 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, - 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, - 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, - 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, - 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, - 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, - 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, - 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, - 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, - 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, - 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, - 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, - 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, - 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, - 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, - 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, - 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, - 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, - 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, - 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, - 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, - 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, - 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, - 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, - 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, - 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, - 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, - 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, - 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, - 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, - 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, - 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, - 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, - 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, - 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, - 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, - 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, - 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, - 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, - 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, - 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, - 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, - 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, - 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, - 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, - 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, - 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, - 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, - 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, - 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, - 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, - 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, - 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, - 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, - 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, - 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, - 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, - 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, - 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, - 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, - 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, - 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, - 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, - 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, - 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, - 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, - 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, - 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, - 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, - 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, - 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, - 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, - 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, - 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, - 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, - 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, - 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, - 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, - 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, - 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, - 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, - 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, - 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, - 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, - 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, - 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, - 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, - 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, - 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, - 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, - 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, - 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, - 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, - 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, - 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, - 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, - 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, - 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, - 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, - 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, - 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, - 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, - 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, - 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, - 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, - 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, - 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, - 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, - 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, - 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, - 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, - 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, - 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, - 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, - 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, - 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, - 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, - 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, - 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, - 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, - 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, - 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, - 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, - 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, - 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, - 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, - 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, - 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, - 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, - 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, - 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, - 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, - 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, - 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, - 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, - 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, - 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, - 127,135,225,254,192,120,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,9,1,1,4,25,25, - 10,3,249,96,240,240,96,0,0,0,96,96,96,96,96,96, - 96,96,96,96,96,240,240,240,240,240,240,96,13,24,48,18, - 2,252,0,24,0,24,0,16,0,48,7,224,31,240,56,112, - 112,112,112,240,224,224,224,128,225,128,225,0,227,0,227,0, - 242,16,118,48,60,96,31,224,15,128,8,0,24,0,16,0, - 16,0,16,23,46,19,1,0,1,240,7,252,14,14,12,14, - 28,30,28,30,28,28,28,0,30,0,14,0,14,0,255,248, - 15,0,7,0,7,0,7,0,6,0,6,0,126,3,223,7, - 143,142,223,252,112,240,16,17,34,19,1,3,67,194,239,247, - 127,254,60,60,112,14,112,14,224,7,224,7,224,7,224,7, - 224,7,112,14,112,14,60,60,127,254,239,247,3,192,17,23, - 69,19,0,0,255,31,128,60,15,0,28,6,0,30,6,0, - 14,4,0,15,12,0,7,8,0,7,24,0,3,144,0,3, - 176,0,1,224,0,0,224,0,7,252,0,7,252,0,0,224, - 0,0,224,0,7,252,0,7,252,0,0,224,0,0,224,0, - 0,224,0,7,248,0,7,248,0,2,25,25,20,9,0,192, - 192,192,192,192,192,192,192,192,192,0,0,0,0,0,192,192, - 192,192,192,192,192,192,192,192,12,30,60,17,2,251,15,0, - 57,192,48,192,113,192,113,192,112,128,56,0,60,0,30,0, - 15,0,63,128,99,192,193,224,192,240,192,112,224,48,240,48, - 120,48,60,96,31,192,15,0,7,128,3,192,1,192,16,224, - 56,224,56,224,48,192,57,192,15,0,9,3,6,11,1,19, - 99,0,247,128,99,0,24,25,75,25,0,0,0,126,0,3, - 255,128,7,129,224,14,0,112,24,0,56,48,0,28,48,127, - 12,96,227,134,97,129,134,67,128,134,195,0,131,199,0,3, - 199,0,3,199,0,3,199,0,3,195,0,3,67,128,6,97, - 193,134,97,227,140,48,126,12,24,0,24,28,0,112,7,1, - 224,3,255,128,0,126,0,11,14,28,11,0,11,63,0,99, - 128,97,128,99,128,15,128,121,128,225,128,193,128,227,128,125, - 224,0,0,0,0,0,0,255,192,11,11,22,14,1,2,4, - 32,12,96,24,192,49,128,115,128,231,0,115,128,49,128,24, - 192,12,96,4,32,16,9,18,20,1,3,255,255,255,255,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,8,3,3, - 11,1,7,255,255,255,24,24,72,25,0,0,0,126,0,3, - 255,192,15,1,240,28,0,56,56,0,24,51,252,12,96,199, - 14,96,195,6,64,195,6,192,195,3,192,198,3,192,252,3, - 192,204,3,192,206,3,192,198,3,96,199,6,96,195,6,96, - 195,142,51,227,204,24,0,24,28,0,112,7,0,224,3,255, - 192,0,126,0,10,2,4,11,0,19,255,192,255,192,9,9, - 18,13,2,14,62,0,119,0,193,128,193,128,128,128,193,128, - 193,128,119,0,62,0,16,16,32,20,2,0,1,128,1,128, - 1,128,1,128,255,255,255,255,1,128,1,128,1,128,1,128, - 1,128,0,0,0,0,0,0,255,255,255,255,10,14,28,11, - 0,9,63,0,115,128,97,128,113,128,113,128,1,128,3,0, - 7,0,14,0,28,0,56,64,112,64,255,192,255,192,9,14, - 28,11,1,9,62,0,99,0,113,128,97,128,1,128,7,0, - 62,0,7,0,3,0,97,128,225,128,195,128,231,0,126,0, - 7,6,6,11,2,19,6,14,28,56,96,192,17,23,69,20, - 1,249,56,14,0,248,62,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,30,0,56,30,0,60,126,0,63,238,0,47, - 143,128,32,0,0,32,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,32,0,0,17,30,90,20,2,251,15,255,128, - 63,255,128,120,198,0,240,198,0,240,198,0,240,198,0,240, - 198,0,240,198,0,240,198,0,240,198,0,120,198,0,124,198, - 0,63,198,0,15,198,0,0,198,0,0,198,0,0,198,0, - 0,198,0,0,198,0,0,198,0,0,198,0,0,198,0,0, - 198,0,0,198,0,0,198,0,0,198,0,0,198,0,0,198, - 0,3,255,128,3,255,128,4,4,4,9,2,6,96,240,240, - 96,6,7,7,11,1,249,16,32,120,12,12,140,120,8,14, - 14,11,1,9,56,248,24,24,24,24,24,24,24,24,24,24, - 24,255,11,14,28,10,255,11,14,0,59,128,96,192,224,224, - 192,96,192,96,224,224,96,192,59,128,14,0,0,0,0,0, - 0,0,127,192,11,11,22,14,1,2,132,0,198,0,99,0, - 49,128,57,192,28,224,57,192,49,128,99,0,198,0,132,0, - 25,23,92,28,1,0,56,0,24,0,248,0,48,0,24,0, - 48,0,24,0,96,0,24,0,192,0,24,0,128,0,24,1, - 128,0,24,3,0,0,24,6,0,0,24,6,4,0,24,12, - 12,0,24,24,28,0,24,24,60,0,255,48,108,0,0,96, - 76,0,0,192,204,0,0,193,140,0,1,131,12,0,3,3, - 255,128,3,0,12,0,6,0,12,0,12,0,12,0,8,0, - 63,0,25,23,92,28,1,0,56,0,24,0,248,0,48,0, - 24,0,32,0,24,0,96,0,24,0,192,0,24,1,128,0, - 24,1,128,0,24,3,0,0,24,6,0,0,24,6,62,0, - 24,12,99,0,24,24,193,128,24,48,193,128,255,48,225,128, - 0,96,195,0,0,192,7,0,0,192,14,0,1,128,28,0, - 3,0,56,0,3,0,112,128,6,0,224,128,12,1,255,128, - 8,1,255,128,25,23,92,28,1,0,62,0,8,0,99,0, - 24,0,113,128,48,0,97,128,48,0,1,128,96,0,7,0, - 192,0,30,1,128,0,7,1,128,0,3,131,0,0,97,134, - 4,0,225,134,12,0,195,140,28,0,231,24,60,0,126,48, - 108,0,0,48,204,0,0,96,204,0,0,193,140,0,0,195, - 12,0,1,131,255,128,3,0,12,0,6,0,12,0,6,0, - 12,0,12,0,63,0,12,25,50,14,1,249,3,0,7,128, - 7,128,3,0,0,0,0,0,0,0,3,0,3,0,2,0, - 2,0,6,0,12,0,28,0,56,0,120,0,112,0,240,0, - 224,112,224,112,224,112,240,48,112,48,60,224,31,192,23,32, - 96,23,0,0,6,0,0,7,0,0,3,128,0,1,192,0, - 0,96,0,0,48,0,0,0,0,0,16,0,0,56,0,0, - 56,0,0,120,0,0,124,0,0,124,0,0,220,0,0,222, - 0,1,158,0,1,142,0,1,143,0,3,7,0,3,7,128, - 3,7,128,6,3,128,7,255,192,7,255,192,12,1,192,12, - 1,224,12,1,224,24,0,240,24,0,240,56,0,248,124,1, - 252,254,3,254,23,32,96,23,0,0,0,1,128,0,3,128, - 0,7,0,0,14,0,0,24,0,0,48,0,0,0,0,0, - 16,0,0,56,0,0,56,0,0,120,0,0,124,0,0,124, - 0,0,220,0,0,222,0,1,158,0,1,142,0,1,143,0, - 3,7,0,3,7,128,3,7,128,6,3,128,7,255,192,7, - 255,192,12,1,192,12,1,224,12,1,224,24,0,240,24,0, - 240,56,0,248,124,1,252,254,3,254,23,31,93,23,0,0, - 0,24,0,0,60,0,0,126,0,0,195,0,1,129,128,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, - 23,0,0,0,241,128,1,255,0,3,30,0,0,0,0,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, - 23,0,0,1,134,0,3,207,0,1,134,0,0,0,0,0, - 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, - 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, - 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, - 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, - 240,24,0,240,56,0,248,124,1,252,254,3,254,23,32,96, - 23,0,0,0,120,0,0,204,0,0,132,0,0,132,0,0, - 204,0,0,120,0,0,0,0,0,16,0,0,56,0,0,56, - 0,0,120,0,0,124,0,0,124,0,0,220,0,0,222,0, - 1,158,0,1,142,0,1,143,0,3,7,0,3,7,128,3, - 7,128,6,3,128,7,255,192,7,255,192,12,1,192,12,1, - 224,12,1,224,24,0,240,24,0,240,56,0,248,124,1,252, - 254,3,254,30,25,100,32,0,0,1,255,255,252,0,127,255, - 252,0,29,192,124,0,25,192,28,0,25,192,28,0,49,192, - 12,0,49,192,140,0,97,192,132,0,97,193,132,0,193,193, - 128,0,193,195,128,1,129,255,128,1,129,255,128,3,1,195, - 128,3,255,193,128,7,255,193,128,6,1,192,132,12,1,192, - 132,12,1,192,4,24,1,192,12,24,1,192,12,48,1,192, - 28,48,1,192,124,120,7,255,252,254,31,255,252,20,32,96, - 22,1,249,0,248,96,3,255,96,15,7,224,28,1,224,60, - 0,224,56,0,224,120,0,96,120,0,96,240,0,96,240,0, - 32,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, - 240,0,0,240,0,48,120,0,48,120,0,32,120,0,96,60, - 0,96,28,0,192,14,1,128,7,207,0,1,254,0,0,32, - 0,0,64,0,0,240,0,0,24,0,0,24,0,1,24,0, - 0,240,0,20,32,96,24,1,0,3,0,0,3,128,0,1, - 192,0,0,224,0,0,48,0,0,24,0,0,0,0,255,255, - 240,63,255,240,14,1,240,14,0,112,14,0,112,14,0,48, - 14,4,48,14,4,16,14,4,16,14,12,0,14,60,0,15, - 252,0,15,252,0,14,60,0,14,12,0,14,12,0,14,4, - 16,14,4,16,14,0,16,14,0,48,14,0,48,14,0,112, - 14,1,240,63,255,240,255,255,240,20,32,96,24,1,0,0, - 1,128,0,3,128,0,7,0,0,14,0,0,24,0,0,48, - 0,0,0,0,255,255,240,63,255,240,14,1,240,14,0,112, - 14,0,112,14,0,48,14,4,48,14,4,16,14,4,16,14, - 12,0,14,60,0,15,252,0,15,252,0,14,60,0,14,12, - 0,14,12,0,14,4,16,14,4,16,14,0,16,14,0,48, - 14,0,48,14,0,112,14,1,240,63,255,240,255,255,240,20, - 32,96,24,1,0,0,48,0,0,120,0,0,252,0,1,134, - 0,3,3,0,0,0,0,0,0,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, - 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, - 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, - 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, - 255,240,255,255,240,20,30,90,24,1,0,0,198,0,1,239, - 0,0,198,0,0,0,0,0,0,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, - 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, - 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, - 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, - 255,240,255,255,240,11,32,64,13,1,0,96,0,112,0,56, - 0,28,0,6,0,3,0,0,0,255,224,63,128,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,63,128,255,224,11,32,64,13,1, - 0,0,192,1,192,3,128,7,0,12,0,24,0,0,0,255, - 224,63,128,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,63,128,255, - 224,11,31,62,13,1,0,6,0,15,0,31,128,48,192,96, - 96,0,0,255,224,63,128,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,63,128,255,224,11,30,60,13,1,0,49,128,123,192,49, - 128,0,0,0,0,255,224,63,128,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,63,128,255,224,22,25,75,24,1,0,255,252,0, - 255,255,128,30,7,192,14,1,224,14,0,240,14,0,112,14, - 0,120,14,0,120,14,0,56,14,0,60,14,0,60,14,0, - 60,127,224,60,127,224,60,14,0,60,14,0,60,14,0,60, - 14,0,56,14,0,120,14,0,120,14,0,112,14,0,224,14, - 1,192,255,255,128,255,254,0,26,30,120,28,1,0,0,30, - 48,0,0,63,224,0,0,99,192,0,0,0,0,0,0,0, - 0,0,255,0,255,192,31,0,63,0,15,128,12,0,15,192, - 12,0,15,192,12,0,13,224,12,0,13,240,12,0,12,248, - 12,0,12,120,12,0,12,124,12,0,12,62,12,0,12,30, - 12,0,12,31,12,0,12,15,140,0,12,7,140,0,12,7, - 204,0,12,3,204,0,12,1,236,0,12,0,236,0,12,0, - 252,0,12,0,124,0,12,0,60,0,12,0,60,0,63,0, - 28,0,255,192,12,0,22,32,96,24,1,0,6,0,0,7, - 0,0,3,128,0,1,192,0,0,96,0,0,48,0,0,0, - 0,1,254,0,7,255,128,15,3,192,28,0,224,60,0,240, - 56,0,112,120,0,120,120,0,120,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,56,120,0,120,120,0,120,56,0,112,60,0,240, - 28,0,224,15,3,192,7,255,128,1,254,0,22,32,96,24, - 1,0,0,3,0,0,7,0,0,14,0,0,28,0,0,48, - 0,0,96,0,0,0,0,1,254,0,7,255,128,15,3,192, - 28,0,224,60,0,240,56,0,112,120,0,120,120,0,120,240, - 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,56,120,0,120,120,0,120, - 56,0,112,60,0,240,28,0,224,15,3,192,7,255,128,1, - 254,0,22,31,93,24,1,0,0,48,0,0,120,0,0,252, - 0,1,134,0,3,3,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,22,30,90,24,1,0,0,241,128,1,255, - 0,3,30,0,0,0,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,22,30,90,24,1,0,0,198,0,1,239, - 0,0,198,0,0,0,0,0,0,0,1,254,0,7,255,128, - 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, - 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, - 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, - 255,128,1,254,0,17,15,45,20,2,1,224,3,128,112,7, - 0,56,14,0,28,28,0,14,56,0,7,112,0,3,224,0, - 1,192,0,3,224,0,7,112,0,14,56,0,28,28,0,56, - 14,0,112,7,0,224,3,128,22,28,84,24,1,254,0,0, - 24,1,254,48,7,255,176,14,3,224,28,0,224,60,1,240, - 56,1,240,120,3,120,120,6,120,240,6,60,240,12,60,240, - 24,60,240,56,60,240,48,60,240,96,60,240,224,60,240,192, - 60,113,128,56,123,0,120,123,0,120,62,0,112,60,0,240, - 30,1,224,31,3,192,55,255,128,113,254,0,96,0,0,192, - 0,0,26,32,128,26,0,0,0,48,0,0,0,56,0,0, - 0,28,0,0,0,14,0,0,0,3,0,0,0,1,128,0, - 0,0,0,0,255,224,255,192,63,128,63,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 15,0,24,0,7,0,24,0,7,128,48,0,3,224,240,0, - 1,255,192,0,0,127,0,0,26,32,128,26,0,0,0,0, - 48,0,0,0,112,0,0,0,224,0,0,1,192,0,0,3, - 0,0,0,6,0,0,0,0,0,0,255,224,255,192,63,128, - 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, - 48,0,3,224,240,0,1,255,192,0,0,127,0,0,26,31, - 124,26,0,0,0,6,0,0,0,15,0,0,0,31,128,0, - 0,48,192,0,0,96,96,0,0,0,0,0,255,224,255,192, - 63,128,63,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, - 14,0,12,0,14,0,12,0,15,0,24,0,7,0,24,0, - 7,128,48,0,3,224,240,0,1,255,192,0,0,127,0,0, - 26,30,120,26,0,0,0,48,192,0,0,121,224,0,0,48, - 192,0,0,0,0,0,0,0,0,0,255,224,255,192,63,128, - 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, - 48,0,3,224,240,0,1,255,192,0,0,127,0,0,23,32, - 96,23,0,0,0,1,128,0,3,128,0,7,0,0,14,0, - 0,24,0,0,48,0,0,0,0,255,131,254,126,0,248,62, - 0,112,30,0,96,15,0,224,15,0,192,7,129,128,7,193, - 128,3,195,0,3,227,0,1,230,0,0,246,0,0,252,0, - 0,124,0,0,120,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,254, - 0,3,255,128,20,25,75,22,1,0,255,224,0,31,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,15,254,0,15, - 255,128,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,3,224,15,255,192, - 15,255,0,14,0,0,14,0,0,14,0,0,14,0,0,31, - 0,0,255,224,0,17,26,78,19,0,255,3,248,0,7,156, - 0,14,14,0,14,15,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,14,0,28,14,0,28,248,0,28,248,0,28, - 14,0,28,7,0,28,7,0,28,7,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,231,128,28,231,0, - 60,231,0,252,254,0,0,56,0,16,23,46,17,1,0,12, - 0,14,0,7,0,3,128,0,192,0,96,0,0,7,192,31, - 240,120,120,112,56,112,56,112,56,1,248,15,248,60,56,112, - 56,224,56,224,56,224,120,240,253,127,159,63,14,16,23,46, - 17,1,0,0,48,0,112,0,224,1,192,3,0,6,0,0, - 0,7,192,31,240,120,120,112,56,112,56,112,56,1,248,15, - 248,60,56,112,56,224,56,224,56,224,120,240,253,127,159,63, - 14,16,22,44,17,1,0,3,0,7,128,15,192,24,96,48, - 48,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,21,42,17,1,0,15,24,31,240,49,224,0, - 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,21,42,17,1,0,12,96,30,240,12,96,0, - 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, - 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, - 159,62,14,16,23,46,17,1,0,7,128,12,192,8,64,8, - 64,12,192,7,128,0,0,7,192,31,240,120,120,112,56,112, - 56,112,56,1,248,15,248,60,56,112,56,224,56,224,56,224, - 120,240,253,127,159,62,14,23,16,48,25,1,0,15,195,224, - 63,231,248,112,124,28,112,60,12,112,56,14,112,56,14,1, - 248,14,15,255,254,60,56,0,112,56,0,240,56,0,224,60, - 2,224,124,6,240,254,28,127,207,248,63,3,240,12,23,46, - 14,1,249,7,128,31,224,56,112,112,240,112,240,224,96,224, - 0,224,0,224,0,224,0,240,0,240,16,120,48,124,96,63, - 192,15,0,2,0,4,0,15,0,1,128,1,128,17,128,15, - 0,14,23,46,16,1,0,24,0,28,0,14,0,7,0,1, - 128,0,192,0,0,7,192,31,240,56,56,112,24,112,28,240, - 28,240,28,255,252,224,0,224,0,240,0,240,4,120,12,60, - 56,31,240,7,192,14,23,46,16,1,0,0,24,0,56,0, - 112,0,224,1,128,3,0,0,0,7,192,31,240,56,120,112, - 56,96,28,224,28,224,28,255,252,224,0,224,0,240,0,240, - 4,120,12,60,56,31,240,7,192,14,22,44,16,1,0,3, - 0,7,128,15,192,24,96,48,48,0,0,7,192,31,240,56, - 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, - 0,240,4,120,12,60,56,31,240,7,192,14,21,42,16,1, - 0,12,96,30,240,12,96,0,0,0,0,7,192,31,240,56, - 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, - 0,240,4,120,12,60,24,31,240,7,192,9,23,46,11,1, - 0,192,0,224,0,112,0,56,0,12,0,6,0,0,0,252, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,9, - 23,46,11,1,0,1,128,3,128,7,0,14,0,24,0,48, - 0,0,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,255,128,10,22,44,11,0,0,12,0,30,0,63,0,97, - 128,192,192,0,0,126,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,127,192,9,21,42,11,1,0,99,0,247,128,99, - 0,0,0,0,0,252,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,255,128,14,25,50,17,1,0,48,0,60,0,14, - 224,7,192,15,128,13,192,0,224,0,240,0,112,7,248,31, - 248,56,120,112,60,112,60,224,28,224,28,224,28,224,28,224, - 28,224,28,240,60,112,56,120,120,63,240,15,192,19,21,63, - 19,0,0,3,198,0,7,252,0,12,120,0,0,0,0,0, - 0,0,28,120,0,253,254,0,31,158,0,30,15,0,30,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,255, - 31,224,14,23,46,16,1,0,48,0,56,0,28,0,14,0, - 3,0,1,128,0,0,7,128,31,224,56,112,112,56,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,240,60,112,56, - 120,120,31,224,7,128,14,23,46,16,1,0,0,24,0,56, - 0,112,0,224,1,128,3,0,0,0,7,128,31,224,56,112, - 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,56,120,120,31,224,7,128,14,22,44,16,1,0, - 3,0,7,128,15,192,24,96,48,48,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, - 1,0,15,24,31,240,49,224,0,0,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, - 1,0,24,192,61,224,24,192,0,0,0,0,7,128,31,224, - 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,112,56,56,112,31,224,7,128,16,16,32,20, - 2,0,1,128,3,192,3,192,1,128,0,0,0,0,0,0, - 255,255,255,255,0,0,0,0,0,0,1,128,3,192,3,192, - 1,128,14,22,44,16,1,253,0,24,0,24,0,48,7,240, - 31,240,56,112,112,248,112,216,225,156,225,156,227,28,227,28, - 230,28,230,28,236,56,124,56,120,112,63,224,63,128,48,0, - 96,0,96,0,18,23,69,20,0,0,6,0,0,7,0,0, - 3,128,0,1,192,0,0,96,0,0,48,0,0,0,0,28, - 7,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,15,0,28,15,0,14,63,0,15,247,192,7,199,0,18, - 23,69,20,0,0,0,12,0,0,28,0,0,56,0,0,112, - 0,0,192,0,1,128,0,0,0,0,28,7,0,252,63,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,15,0,28,15, - 0,14,63,0,15,247,192,7,199,0,18,22,66,20,0,0, - 0,192,0,1,224,0,3,240,0,6,24,0,12,12,0,0, - 0,0,28,7,0,252,63,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,15,0,28,15,0,14,63,0,15,247,192,7, - 199,0,18,21,63,20,0,0,3,24,0,7,188,0,3,24, - 0,0,0,0,0,0,0,28,7,0,252,63,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,15,0,28,15,0,14,63, - 0,15,247,192,7,199,0,17,30,90,19,1,249,0,12,0, - 0,28,0,0,56,0,0,112,0,0,192,0,1,128,0,0, - 0,0,255,31,128,124,7,0,60,6,0,28,6,0,30,12, - 0,14,12,0,15,8,0,7,24,0,7,24,0,7,176,0, - 3,176,0,3,224,0,1,224,0,1,224,0,0,192,0,0, - 192,0,1,128,0,1,128,0,99,0,0,227,0,0,230,0, - 0,252,0,0,112,0,0,16,29,58,19,1,249,56,0,248, - 0,56,0,56,0,56,0,56,0,56,240,59,252,63,30,60, - 14,60,15,56,7,56,7,56,7,56,7,56,7,56,7,60, - 15,60,14,62,30,59,252,57,240,56,0,56,0,56,0,56, - 0,56,0,56,0,255,0,18,28,84,20,1,249,3,24,0, - 7,188,0,3,24,0,0,0,0,0,0,0,255,31,192,124, - 7,0,60,6,0,28,6,0,30,12,0,14,12,0,15,8, - 0,7,24,0,7,24,0,7,176,0,3,176,0,3,224,0, - 1,224,0,1,224,0,0,192,0,0,192,0,1,128,0,1, - 128,0,99,0,0,227,0,0,230,0,0,252,0,0,112,0, - 0}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 24 - Calculated Max Values w=16 h=25 x= 3 y=11 dx=20 dy= 0 ascent=25 len=50 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =24 descent= 0 - X Font ascent =24 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24n[744] U8G_FONT_SECTION("u8g_font_ncenR24n") = { - 0,39,50,250,245,24,0,0,0,0,42,58,0,25,250,24, - 0,12,14,28,17,2,11,6,0,6,0,6,0,198,112,230, - 112,127,224,31,128,31,0,127,192,230,112,198,112,6,0,6, - 0,6,0,16,17,34,20,2,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,255,255,255,255,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,5,10,10,9,2, - 250,112,248,248,120,24,24,48,96,224,128,8,3,3,11,1, - 7,255,255,255,4,4,4,9,2,0,96,240,240,96,10,25, - 50,9,255,0,0,192,0,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,48,0,48,0,48,0,96,0, - 96,0,96,0,192,0,16,24,48,18,2,0,3,192,15,240, - 28,56,24,24,56,28,120,30,112,14,240,15,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,112,14, - 120,30,56,28,24,24,28,56,15,240,3,192,13,24,48,18, - 3,0,3,0,7,0,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, - 255,248,15,24,48,18,1,0,7,224,31,248,56,28,96,30, - 112,14,120,14,120,14,120,14,48,30,0,28,0,28,0,56, - 0,120,0,112,0,224,1,192,3,128,7,2,14,2,28,6, - 56,6,127,254,255,254,255,254,15,24,48,18,1,0,7,224, - 31,248,56,56,112,28,120,28,120,28,48,28,0,28,0,56, - 0,112,1,224,15,240,0,248,0,60,0,28,0,30,96,14, - 240,14,240,14,240,30,224,28,120,124,63,240,15,192,16,24, - 48,18,1,0,0,48,0,48,0,112,0,240,1,240,1,240, - 3,112,6,112,6,112,12,112,24,112,24,112,48,112,96,112, - 96,112,192,112,255,255,255,255,0,112,0,112,0,112,0,112, - 0,248,3,254,14,24,48,18,2,0,56,8,63,248,63,240, - 63,224,48,0,48,0,32,0,96,0,99,192,111,240,124,120, - 112,56,96,60,0,28,0,28,0,28,96,28,240,28,240,28, - 240,60,224,56,112,120,127,240,31,128,15,24,48,18,1,0, - 3,240,15,252,28,62,56,30,56,30,48,12,112,0,112,0, - 112,0,241,224,247,248,254,60,252,28,248,30,240,14,240,14, - 240,14,112,14,112,14,112,30,56,28,56,60,31,240,7,192, - 13,24,48,18,3,0,255,248,255,248,255,248,192,16,192,48, - 128,32,128,96,128,64,0,192,0,192,1,128,1,128,1,128, - 3,0,3,0,3,0,7,0,7,0,7,0,15,0,15,0, - 15,0,15,0,6,0,15,24,48,18,1,0,7,224,31,248, - 60,56,56,28,112,28,112,12,112,12,120,24,60,56,63,112, - 31,224,7,240,7,248,29,252,56,124,112,30,112,30,224,14, - 224,14,224,14,112,28,120,60,63,248,15,224,15,24,48,18, - 1,0,15,192,63,240,120,120,112,56,240,60,224,28,224,28, - 224,30,224,30,240,30,240,62,120,126,120,126,63,222,31,158, - 0,30,0,28,0,28,96,56,240,56,240,112,241,224,127,192, - 63,0,4,16,16,9,3,0,96,240,240,96,0,0,0,0, - 0,0,0,0,96,240,240,96}; -/* - Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 25, '1' Height: 24 - Calculated Max Values w=31 h=31 x= 9 y=17 dx=31 dy= 0 ascent=27 len=100 - Font Bounding box w=39 h=50 x=-6 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent=-7 - X Font ascent =25 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_ncenR24r[5367] U8G_FONT_SECTION("u8g_font_ncenR24r") = { - 0,39,50,250,245,25,5,159,15,28,32,127,249,27,249,25, - 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, - 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, - 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, - 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, - 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, - 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, - 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, - 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, - 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, - 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, - 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, - 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, - 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, - 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, - 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, - 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, - 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, - 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, - 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, - 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, - 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, - 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, - 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, - 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, - 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, - 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, - 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, - 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, - 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, - 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, - 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, - 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, - 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, - 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, - 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, - 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, - 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, - 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, - 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, - 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, - 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, - 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, - 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, - 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, - 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, - 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, - 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, - 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, - 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, - 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, - 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, - 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, - 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, - 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, - 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, - 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, - 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, - 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, - 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, - 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, - 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, - 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, - 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, - 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, - 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, - 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, - 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, - 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, - 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, - 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, - 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, - 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, - 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, - 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, - 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, - 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, - 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, - 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, - 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, - 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, - 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, - 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, - 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, - 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, - 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, - 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, - 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, - 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, - 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, - 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, - 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, - 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, - 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, - 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, - 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, - 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, - 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, - 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, - 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, - 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, - 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, - 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, - 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, - 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, - 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, - 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, - 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, - 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, - 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, - 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, - 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, - 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, - 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, - 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, - 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, - 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, - 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, - 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, - 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, - 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, - 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, - 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, - 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, - 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, - 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, - 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, - 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, - 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, - 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, - 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, - 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, - 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, - 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, - 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, - 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, - 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, - 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, - 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, - 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, - 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, - 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, - 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, - 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, - 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, - 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, - 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, - 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, - 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, - 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, - 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, - 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, - 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, - 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, - 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, - 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, - 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, - 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, - 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, - 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, - 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, - 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, - 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, - 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, - 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, - 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, - 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, - 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, - 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, - 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, - 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, - 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, - 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, - 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, - 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, - 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, - 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, - 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, - 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, - 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, - 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, - 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, - 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, - 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, - 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, - 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, - 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, - 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, - 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, - 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, - 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, - 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, - 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, - 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, - 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, - 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, - 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, - 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, - 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, - 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, - 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, - 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, - 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, - 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, - 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, - 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, - 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, - 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, - 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, - 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, - 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, - 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, - 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, - 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, - 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, - 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, - 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, - 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, - 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, - 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, - 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, - 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, - 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, - 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, - 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, - 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, - 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, - 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, - 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, - 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, - 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, - 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, - 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, - 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, - 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, - 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, - 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, - 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, - 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, - 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, - 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, - 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, - 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, - 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, - 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, - 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, - 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, - 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, - 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, - 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, - 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, - 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, - 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, - 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, - 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, - 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, - 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, - 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, - 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, - 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, - 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, - 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, - 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, - 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, - 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, - 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, - 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, - 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, - 127,135,225,254,192,120,255}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w=11 h= 9 x= 1 y= 4 dx=12 dy= 0 ascent= 9 len=10 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01[1535] U8G_FONT_SECTION("u8g_font_orgv01") = { - 1,11,11,0,254,5,0,249,1,238,32,255,255,9,254,5, - 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, - 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, - 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, - 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, - 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, - 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, - 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, - 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, - 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, - 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, - 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, - 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, - 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, - 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, - 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, - 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, - 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, - 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, - 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, - 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, - 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, - 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, - 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, - 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, - 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, - 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, - 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, - 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, - 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, - 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, - 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, - 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, - 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, - 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, - 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, - 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, - 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, - 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, - 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, - 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, - 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, - 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, - 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, - 2,53,69,128,64,96,64,128,3,83,99,8,248,128,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,255, - 2,20,36,128,0,128,128,2,85,101,32,248,160,248,32,2, - 85,101,64,224,64,72,120,2,85,101,136,112,80,112,136,2, - 85,101,136,248,32,112,32,2,21,37,128,128,0,128,128,2, - 86,102,248,128,248,248,8,248,4,81,97,248,18,85,117,248, - 168,200,168,248,2,181,202,251,224,138,0,251,224,136,32,139, - 224,19,83,115,72,144,72,3,66,82,240,16,255,2,85,101, - 248,248,200,200,248,6,81,97,248,2,0,112,2,0,112,2, - 0,112,2,0,112,2,0,112,2,0,112,2,0,112,2,0, - 112,2,0,112,2,0,112,2,0,112,4,83,99,144,72,144, - 2,0,112,2,0,112,2,0,112,18,85,117,32,0,224,128, - 248,2,88,104,64,32,0,248,136,248,136,136,2,88,104,16, - 32,0,248,136,248,136,136,2,88,104,32,80,0,248,136,248, - 136,136,2,89,105,8,248,128,0,248,136,248,136,136,2,87, - 103,80,0,248,136,248,136,136,2,87,103,32,0,248,136,248, - 136,136,2,85,101,248,160,248,160,184,0,87,103,248,128,128, - 128,248,16,48,2,88,104,64,32,0,248,128,248,128,248,2, - 88,104,16,32,0,248,128,248,128,248,2,88,104,32,80,0, - 248,128,248,128,248,2,86,102,80,248,128,248,128,248,2,88, - 104,64,32,0,248,32,32,32,248,2,88,104,16,32,0,248, - 32,32,32,248,2,88,104,32,80,0,248,32,32,32,248,2, - 87,103,80,0,248,32,32,32,248,2,85,101,240,136,232,136, - 240,2,89,105,8,248,128,0,248,136,136,136,136,2,88,104, - 64,32,0,248,136,136,136,248,2,88,104,16,32,0,248,136, - 136,136,248,2,88,104,32,80,0,248,136,136,136,248,2,89, - 105,8,248,128,0,248,136,136,136,248,2,87,103,80,0,248, - 136,136,136,248,3,51,67,160,64,160,2,85,101,248,152,168, - 200,248,2,87,103,64,32,136,136,136,136,248,2,87,103,16, - 32,136,136,136,136,248,2,86,102,32,80,136,136,136,248,2, - 86,102,80,0,136,136,136,248,2,88,104,16,32,0,136,136, - 80,32,32,18,85,117,128,240,136,240,128,1,86,102,240,136, - 176,136,176,128,2,68,84,240,16,240,240,2,71,87,64,32, - 0,240,16,240,240,2,71,87,32,64,0,240,16,240,240,2, - 71,87,96,144,0,240,16,240,240,2,70,86,144,0,240,16, - 240,240,2,70,86,32,0,240,16,240,240,2,116,132,254,30, - 240,254,0,70,86,240,128,128,240,32,96,2,71,87,64,32, - 0,240,240,128,240,2,71,87,32,64,0,240,240,128,240,2, - 71,87,96,144,0,240,240,128,240,2,70,86,144,0,240,240, - 128,240,2,39,39,128,64,0,64,64,64,64,2,39,39,64, - 128,0,128,128,128,128,2,55,39,64,160,0,64,64,64,64, - 2,54,38,160,0,64,64,64,64,2,85,85,56,16,240,144, - 240,2,71,87,80,160,0,240,144,144,144,2,71,87,64,32, - 0,240,144,144,240,2,71,87,32,64,0,240,144,144,240,2, - 71,87,96,144,0,240,144,144,240,2,71,87,80,160,0,240, - 144,144,240,2,70,86,144,0,240,144,144,240,2,85,101,32, - 0,248,0,32,2,68,84,240,176,208,240,2,71,87,64,32, - 0,144,144,144,240,2,71,87,32,64,0,144,144,144,240,2, - 71,87,96,144,0,144,144,144,240,2,70,86,144,0,144,144, - 144,240,1,72,88,32,64,0,144,144,144,240,16,18,85,117, - 128,240,136,240,128,1,71,87,144,0,144,144,144,240,16}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01n[137] U8G_FONT_SECTION("u8g_font_orgv01n") = { - 1,11,11,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,3,51,67,160,64,160,3,51,67,64,224,64,1,18,34, - 128,128,4,65,81,240,2,17,33,128,2,85,101,8,16,32, - 64,128,2,85,101,248,136,136,136,248,2,21,37,128,128,128, - 128,128,2,85,101,248,8,248,128,248,2,85,101,248,8,248, - 8,248,2,85,101,136,136,248,8,8,2,85,101,248,128,248, - 8,248,2,85,101,248,128,248,136,248,2,85,101,248,8,8, - 8,8,2,85,101,248,136,248,136,248,2,85,101,248,136,248, - 8,248,2,20,36,128,0,0,128}; -/* - Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 5 - Font Bounding box w=11 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_orgv01r[719] U8G_FONT_SECTION("u8g_font_orgv01r") = { - 1,11,11,0,254,5,0,249,1,238,32,127,255,5,255,5, - 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, - 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, - 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, - 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, - 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, - 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, - 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, - 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, - 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, - 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, - 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, - 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, - 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, - 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, - 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, - 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, - 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, - 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, - 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, - 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, - 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, - 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, - 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, - 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, - 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, - 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, - 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, - 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, - 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, - 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, - 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, - 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, - 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, - 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, - 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, - 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, - 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, - 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, - 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, - 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, - 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, - 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, - 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, - 2,53,69,128,64,96,64,128,3,83,99,8,248,128,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 5 y=14 dx=27 dy= 0 ascent=24 len=72 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =18 descent=-6 - Max Font ascent =24 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18[7637] U8G_FONT_SECTION("u8g_font_osb18") = { - 0,70,31,234,249,18,4,190,10,54,32,255,250,24,250,18, - 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, - 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, - 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, - 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, - 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, - 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, - 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, - 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, - 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, - 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, - 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, - 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, - 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, - 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, - 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, - 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, - 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, - 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, - 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, - 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, - 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, - 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, - 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, - 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, - 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, - 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, - 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, - 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, - 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, - 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, - 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, - 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, - 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, - 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, - 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, - 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, - 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, - 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, - 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, - 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, - 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, - 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, - 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, - 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, - 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, - 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, - 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, - 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, - 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, - 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, - 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, - 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, - 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, - 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, - 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, - 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, - 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, - 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, - 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, - 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, - 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, - 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, - 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, - 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, - 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, - 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, - 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, - 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, - 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, - 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, - 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, - 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, - 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, - 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, - 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, - 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, - 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, - 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, - 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, - 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, - 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, - 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, - 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, - 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, - 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, - 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, - 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, - 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, - 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, - 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, - 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, - 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, - 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, - 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, - 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, - 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, - 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, - 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, - 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, - 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, - 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, - 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, - 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, - 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, - 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, - 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, - 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, - 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, - 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, - 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, - 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, - 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, - 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, - 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, - 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, - 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, - 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, - 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, - 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, - 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, - 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, - 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, - 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, - 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, - 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, - 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, - 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, - 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, - 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, - 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, - 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, - 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, - 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, - 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, - 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, - 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, - 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, - 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, - 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, - 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, - 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, - 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, - 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, - 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, - 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, - 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, - 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, - 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, - 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, - 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, - 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, - 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, - 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, - 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, - 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, - 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, - 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, - 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, - 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, - 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, - 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, - 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, - 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, - 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, - 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, - 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, - 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, - 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, - 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, - 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, - 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, - 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, - 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, - 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, - 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, - 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, - 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, - 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, - 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, - 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, - 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, - 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, - 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, - 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, - 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, - 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, - 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, - 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, - 120,8,255,4,143,196,131,252,64,120,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,7,0, - 0,4,18,18,6,1,250,96,240,240,96,0,0,64,96,96, - 96,96,96,240,240,240,240,240,96,9,18,36,15,3,253,4, - 0,4,0,4,0,30,0,53,0,117,128,231,128,231,128,228, - 0,228,0,228,0,228,0,100,128,116,128,31,0,4,0,4, - 0,4,0,16,18,36,19,2,0,0,248,1,132,3,6,7, - 14,7,14,7,0,7,0,63,0,7,240,7,128,3,128,3, - 128,3,128,3,1,123,2,143,204,135,252,120,240,12,12,24, - 14,1,3,132,16,223,176,112,224,96,96,192,48,192,48,192, - 48,192,48,64,96,96,96,127,224,207,48,14,18,36,14,0, - 0,254,124,56,16,60,16,60,32,30,32,30,64,14,64,15, - 128,7,128,127,240,7,0,127,240,7,0,7,0,7,0,7, - 0,7,0,31,224,2,22,22,8,3,252,192,192,192,192,192, - 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,192, - 192,11,23,46,15,1,251,15,0,48,128,96,192,97,192,97, - 192,112,128,124,0,63,0,223,128,143,192,129,224,192,96,248, - 32,126,32,63,64,15,128,3,192,49,192,112,192,112,192,96, - 128,33,128,30,0,8,3,3,12,2,14,231,231,231,18,18, - 54,20,1,0,3,240,0,12,12,0,16,2,0,33,201,0, - 67,56,128,70,24,128,142,8,64,142,8,64,142,0,64,142, - 0,64,142,8,64,142,8,64,70,8,128,67,16,128,33,225, - 0,16,2,0,12,12,0,3,240,0,7,9,9,10,1,9, - 120,204,204,60,76,204,206,126,254,7,10,10,12,3,1,32, - 100,68,204,204,204,204,196,100,34,13,7,14,15,1,4,255, - 248,255,248,0,24,0,24,0,24,0,24,0,24,6,3,3, - 8,1,5,252,252,252,18,18,54,20,1,0,3,240,0,12, - 12,0,16,2,0,47,225,0,71,48,128,71,56,128,135,56, - 64,135,48,64,135,192,64,135,48,64,135,56,64,135,56,64, - 71,58,128,71,58,128,47,157,0,16,2,0,12,12,0,3, - 240,0,7,2,2,11,2,14,254,254,8,7,7,14,3,11, - 60,102,131,129,129,194,126,21,18,54,23,1,254,0,48,0, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, - 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,0,0,255,255,248, - 255,255,248,7,11,11,11,2,7,124,206,206,238,28,48,98, - 66,254,190,8,8,11,11,12,2,7,60,198,231,231,6,56, - 6,103,231,199,60,4,4,4,11,5,13,48,112,96,192,13, - 18,36,15,1,250,97,128,225,192,225,192,225,192,225,192,225, - 192,225,192,64,136,64,136,65,248,127,120,94,48,64,0,96, - 0,96,0,112,0,112,0,112,0,13,21,42,15,1,253,31, - 248,126,96,126,96,254,96,254,96,254,96,254,96,126,96,62, - 96,14,96,6,96,6,96,6,96,6,96,6,96,6,96,6, - 96,6,96,6,96,6,96,6,96,4,4,4,8,2,6,96, - 240,240,96,5,5,5,11,3,250,32,96,24,24,240,6,11, - 11,11,3,7,48,240,112,112,112,112,112,112,112,112,252,7, - 9,9,9,1,9,56,68,198,198,198,198,68,56,254,7,10, - 10,13,3,1,152,140,68,102,102,102,102,70,76,136,18,18, - 54,22,3,0,48,8,0,240,8,0,112,16,0,112,48,0, - 112,32,0,112,96,0,112,64,0,112,195,0,112,135,0,113, - 143,0,253,15,0,3,23,0,2,39,0,4,39,0,12,63, - 192,8,7,0,24,7,0,16,31,192,18,18,54,23,3,0, - 48,4,0,240,8,0,112,24,0,112,16,0,112,48,0,112, - 32,0,112,96,0,112,79,0,112,147,192,113,177,192,253,57, - 192,3,3,128,2,6,0,6,8,0,4,16,64,8,63,192, - 24,47,192,16,39,128,20,18,54,23,2,0,124,2,0,199, - 6,0,231,4,0,6,12,0,56,8,0,6,16,0,7,16, - 0,231,33,192,231,97,192,198,67,192,60,133,192,0,133,192, - 1,9,192,1,9,192,2,31,240,6,1,192,4,1,192,8, - 7,240,8,18,18,12,2,250,48,120,120,48,56,68,68,4, - 8,24,48,114,97,225,225,225,114,60,17,23,69,19,1,1, - 7,0,0,7,0,0,1,128,0,0,128,0,0,0,0,0, - 192,0,0,192,0,1,192,0,1,224,0,1,224,0,3,224, - 0,2,240,0,2,240,0,4,240,0,4,120,0,4,120,0, - 8,56,0,15,252,0,8,60,0,16,28,0,16,30,0,48, - 30,0,252,255,128,17,23,69,19,1,1,0,56,0,0,48, - 0,0,96,0,0,192,0,0,0,0,0,192,0,0,192,0, - 0,192,0,1,224,0,1,224,0,1,224,0,2,240,0,2, - 240,0,4,112,0,4,120,0,4,120,0,8,56,0,15,252, - 0,8,60,0,16,28,0,16,30,0,48,30,0,252,127,128, - 17,23,69,19,1,0,0,192,0,1,192,0,3,96,0,6, - 24,0,0,0,0,0,192,0,0,192,0,0,192,0,1,224, - 0,1,224,0,1,224,0,2,240,0,2,240,0,4,112,0, - 4,120,0,4,120,0,8,56,0,15,252,0,8,60,0,16, - 28,0,16,30,0,48,30,0,252,127,128,17,23,69,19,1, - 0,1,8,0,7,240,0,4,240,0,0,0,0,0,0,0, - 0,192,0,0,192,0,1,192,0,1,224,0,1,224,0,3, - 224,0,2,240,0,2,240,0,4,240,0,4,120,0,4,120, - 0,8,56,0,15,252,0,8,60,0,16,28,0,16,30,0, - 48,30,0,252,255,128,16,23,46,18,1,0,14,112,14,112, - 14,112,0,0,0,0,1,128,1,128,1,128,3,192,3,192, - 3,192,5,224,5,224,4,224,8,240,8,240,8,112,31,248, - 16,120,16,60,48,60,48,60,252,255,18,23,69,19,1,0, - 1,224,0,2,16,0,2,16,0,1,224,0,0,0,0,0, - 192,0,0,192,0,0,224,0,1,224,0,1,224,0,1,240, - 0,2,240,0,2,240,0,4,120,0,4,120,0,4,120,0, - 8,60,0,15,252,0,8,28,0,16,30,0,16,30,0,48, - 30,0,252,127,192,23,18,54,25,1,0,0,127,254,0,60, - 14,0,60,6,0,124,6,0,92,2,0,220,34,0,156,32, - 1,156,96,1,28,96,3,31,224,2,28,96,6,28,34,7, - 252,34,8,28,2,8,28,2,24,28,6,56,28,14,254,127, - 254,13,24,48,17,2,250,7,136,24,120,48,56,112,24,112, - 24,240,8,240,8,240,8,240,0,240,0,240,0,240,8,240, - 8,112,8,112,8,56,16,24,32,7,192,2,0,3,128,0, - 192,0,192,8,192,7,128,14,23,46,18,2,1,28,0,12, - 0,6,0,1,0,0,0,255,252,56,28,56,12,56,12,56, - 4,56,68,56,64,56,192,56,192,63,192,56,192,56,68,56, - 68,56,4,56,4,56,12,56,28,255,252,14,23,46,18,2, - 1,0,224,0,192,1,128,2,0,0,0,255,252,56,28,56, - 12,56,12,56,4,56,68,56,64,56,192,56,192,63,192,56, - 192,56,68,56,68,56,4,56,4,56,12,56,28,255,252,14, - 23,46,18,2,0,3,0,7,128,12,192,16,32,0,0,255, - 252,56,28,56,12,56,12,56,4,56,68,56,64,56,192,56, - 192,63,192,56,192,56,68,56,68,56,4,56,4,56,12,56, - 28,255,252,14,23,46,18,2,0,28,224,28,224,28,224,0, - 0,0,0,255,252,56,28,56,12,56,12,56,4,56,68,56, - 64,56,192,56,192,63,192,56,192,56,68,56,68,56,4,56, - 12,56,12,56,28,255,252,8,23,23,11,2,1,192,96,48, - 16,0,255,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,255,8,23,23,11,2,1,7,14,8,16,0,255, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 255,8,23,23,11,2,0,16,56,108,130,0,255,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,56,56,255,8,23, - 23,11,2,0,231,231,231,0,0,255,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,255,16,18,36,19,2, - 0,255,224,56,56,56,28,56,14,56,14,56,14,56,15,56, - 15,255,15,56,15,56,15,56,15,56,14,56,14,56,12,56, - 28,56,56,255,224,17,23,69,18,1,0,3,136,0,3,240, - 0,4,96,0,0,0,0,0,0,0,252,63,128,60,14,0, - 62,4,0,31,4,0,31,4,0,23,132,0,23,196,0,19, - 196,0,17,228,0,17,244,0,16,244,0,16,124,0,16,124, - 0,16,60,0,16,28,0,16,28,0,56,12,0,254,4,0, - 15,24,48,18,2,0,12,0,12,0,14,0,3,0,1,0, - 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, - 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, - 48,56,8,32,7,192,15,24,48,18,2,0,0,96,0,96, - 0,224,1,128,1,0,0,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,24,48,18, - 2,0,1,0,3,128,7,128,14,192,24,48,0,0,7,192, - 8,32,56,48,48,24,112,28,112,28,240,30,240,30,240,30, - 240,30,240,30,240,30,112,28,112,28,48,24,48,56,8,32, - 7,192,15,23,46,18,2,0,7,32,15,224,16,192,0,0, - 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, - 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, - 48,56,8,32,7,192,15,23,46,18,2,0,28,224,28,224, - 28,224,0,0,0,0,7,192,8,32,56,48,48,24,112,28, - 112,28,240,30,240,30,240,30,240,30,240,30,240,30,112,28, - 112,28,48,24,48,56,8,32,7,192,16,15,30,24,4,0, - 192,3,96,6,48,12,24,24,12,48,6,96,3,192,1,128, - 3,192,6,96,12,48,56,24,112,12,224,6,192,3,15,18, - 36,18,2,0,7,194,8,116,48,60,48,56,112,60,112,124, - 240,94,240,222,241,158,243,30,246,30,244,30,124,28,120,28, - 56,24,120,24,92,32,135,192,18,24,72,20,2,0,6,0, - 0,7,0,0,3,0,0,1,128,0,0,0,0,0,0,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,18,24,72,20,2,0,0,24,0,0, - 56,0,0,112,0,0,192,0,0,128,0,0,0,0,255,31, - 192,56,7,0,56,2,0,56,2,0,56,2,0,56,2,0, - 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,24,2,0,28,4,0,14,8, - 0,3,240,0,18,24,72,20,2,0,0,128,0,1,192,0, - 1,224,0,6,48,0,8,8,0,0,0,0,255,31,192,56, - 7,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,56,2,0,56,2,0, - 56,2,0,56,2,0,24,2,0,28,4,0,14,8,0,3, - 240,0,18,23,69,20,2,0,7,56,0,7,56,0,7,56, - 0,0,0,0,0,0,0,255,31,192,56,7,0,56,2,0, - 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,24,2,0,28,4,0,14,8,0,3,240,0,16,23,46, - 19,2,1,0,112,0,96,0,192,1,0,0,0,254,127,60, - 12,60,8,30,16,30,16,30,16,15,32,15,32,7,64,7, - 192,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, - 240,15,18,36,18,2,0,255,128,56,0,56,0,63,224,56, - 56,56,28,56,30,56,30,56,30,56,30,56,28,56,56,63, - 224,56,0,56,0,56,0,56,0,255,128,12,18,36,13,0, - 0,7,128,12,192,24,224,56,224,56,224,56,224,56,192,59, - 0,56,192,56,96,56,112,56,112,56,112,56,112,56,112,63, - 112,63,96,251,192,11,18,36,13,1,0,32,0,48,0,48, - 0,24,0,4,0,0,0,30,0,99,0,99,128,115,128,7, - 128,27,128,115,128,227,128,227,160,227,160,247,160,121,192,11, - 18,36,13,1,0,3,0,3,0,6,0,4,0,8,0,0, - 0,30,0,99,0,99,128,115,128,35,128,31,128,115,128,227, - 128,227,160,227,160,247,160,121,192,11,18,36,13,1,0,12, - 0,12,0,30,0,50,0,65,0,0,0,30,0,99,0,99, - 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, - 160,121,192,11,17,34,13,1,0,57,0,127,0,70,0,0, - 0,0,0,30,0,99,0,99,128,115,128,35,128,31,128,115, - 128,227,128,227,160,227,160,247,160,121,192,11,17,34,13,1, - 0,119,0,119,0,119,0,0,0,0,0,30,0,99,0,99, - 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, - 160,121,192,11,18,36,13,1,0,28,0,38,0,34,0,34, - 0,28,0,0,0,30,0,99,0,99,128,115,128,35,128,31, - 128,115,128,227,128,227,160,227,160,231,160,121,192,15,12,24, - 18,1,0,62,248,99,140,99,142,115,142,7,142,27,254,115, - 128,227,128,227,130,227,130,247,196,120,120,9,18,36,12,1, - 250,30,0,49,0,113,128,227,128,227,128,224,0,224,0,224, - 0,224,128,112,128,49,0,30,0,8,0,8,0,6,0,6, - 0,6,0,28,0,9,18,36,12,1,0,32,0,112,0,48, - 0,24,0,4,0,0,0,30,0,51,0,99,128,227,128,227, - 128,255,128,224,0,224,0,224,128,112,128,49,0,30,0,9, - 18,36,12,1,0,3,0,7,0,6,0,12,0,8,0,0, - 0,30,0,51,0,99,128,227,128,227,128,255,128,224,0,224, - 0,224,128,112,128,49,0,30,0,9,18,36,12,1,0,12, - 0,28,0,28,0,50,0,65,0,0,0,30,0,51,0,99, - 128,227,128,227,128,255,128,224,0,224,0,224,128,112,128,49, - 0,30,0,9,17,34,12,1,0,115,128,115,128,115,128,0, - 0,0,0,30,0,51,0,99,128,227,128,227,128,255,128,224, - 0,224,0,224,0,112,128,49,0,30,0,7,18,18,8,1, - 0,192,224,112,16,8,0,120,56,56,56,56,56,56,56,56, - 56,56,126,6,18,18,8,1,0,12,28,24,48,0,0,240, - 112,112,112,112,112,112,112,112,112,112,248,7,18,18,7,0, - 0,56,56,108,198,0,0,120,56,56,56,56,56,56,56,56, - 56,56,126,7,17,17,8,1,0,238,238,238,0,0,120,56, - 56,56,56,56,56,56,56,56,56,126,10,18,36,12,1,0, - 57,128,30,0,14,0,31,0,39,0,3,128,31,128,51,192, - 97,192,225,192,225,192,225,192,225,192,225,192,225,192,97,128, - 51,128,30,0,11,17,34,13,1,0,24,128,63,128,39,0, - 0,0,0,0,243,128,125,192,121,192,113,192,113,192,113,192, - 113,192,113,192,113,192,113,192,113,192,251,224,10,18,36,12, - 1,0,48,0,48,0,24,0,12,0,4,0,0,0,30,0, - 51,0,97,128,225,192,225,192,225,192,225,192,225,192,225,192, - 97,128,51,0,30,0,10,18,36,12,1,0,3,0,3,0, - 7,0,4,0,8,0,0,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 10,18,36,12,1,0,12,0,14,0,30,0,51,0,96,128, - 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, - 225,192,225,192,97,128,51,0,30,0,10,17,34,12,1,0, - 56,128,63,0,70,0,0,0,0,0,30,0,51,0,97,128, - 225,192,225,192,225,192,225,192,225,192,225,192,97,128,51,0, - 30,0,10,17,34,12,1,0,115,128,115,128,115,128,0,0, - 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, - 225,192,225,192,97,128,51,0,30,0,21,17,51,23,1,254, - 0,48,0,0,120,0,0,120,0,0,48,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,248,255,255,248,0,0, - 0,0,0,0,0,0,0,0,48,0,0,120,0,0,120,0, - 0,48,0,10,12,24,12,1,0,30,64,51,128,97,128,225, - 192,227,192,229,192,233,192,241,192,241,192,97,128,115,0,158, - 0,12,18,36,13,0,0,24,0,24,0,12,0,6,0,2, - 0,0,0,249,224,56,224,56,224,56,224,56,224,56,224,56, - 224,56,224,56,224,57,224,58,224,28,240,12,18,36,13,0, - 0,1,128,1,128,3,0,2,0,0,0,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,18,36,13,0,0,6,0,6,0,15, - 0,25,128,0,0,0,0,249,224,56,224,56,224,56,224,56, - 224,56,224,56,224,56,224,56,224,57,224,58,224,28,240,12, - 17,34,13,0,0,57,192,57,192,57,192,0,0,0,0,249, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 224,57,224,58,224,28,240,12,24,48,12,0,250,1,128,1, - 128,3,0,6,0,4,0,0,0,252,240,112,64,56,64,56, - 128,28,128,28,128,29,0,15,0,15,0,7,0,6,0,6, - 0,2,0,4,0,116,0,116,0,104,0,56,0,12,23,46, - 13,0,250,24,0,120,0,184,0,56,0,56,0,57,224,58, - 240,60,112,60,112,56,112,56,96,56,224,56,192,56,128,57, - 0,58,0,60,0,56,0,56,0,56,0,56,0,96,0,128, - 0,13,23,46,13,0,250,28,224,28,224,28,224,0,0,0, - 0,254,120,56,32,60,64,28,64,30,64,14,64,14,128,7, - 128,7,128,7,0,3,0,3,0,2,0,2,0,58,0,60, - 0,52,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=21 h=23 x= 3 y= 8 dx=23 dy= 0 ascent=18 len=63 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18n[618] U8G_FONT_SECTION("u8g_font_osb18n") = { - 0,70,31,234,249,18,0,0,0,0,42,58,0,18,251,18, - 0,9,10,20,13,2,8,24,0,24,0,201,128,235,128,28, - 0,44,0,235,128,217,128,24,0,24,0,21,21,63,23,1, - 253,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, - 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 4,9,9,7,2,251,224,240,240,240,16,32,32,64,128,6, - 3,3,8,1,5,252,252,252,4,4,4,8,2,0,96,240, - 240,96,9,23,46,11,1,251,1,128,1,128,1,0,3,0, - 3,0,2,0,6,0,6,0,4,0,12,0,12,0,8,0, - 24,0,24,0,24,0,16,0,48,0,48,0,32,0,96,0, - 96,0,64,0,192,0,12,18,36,15,1,0,15,0,25,128, - 48,192,112,224,112,224,240,224,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,112,224,112,224,48,192,25,128,15,0, - 8,18,18,15,3,0,24,56,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,255,11,18,36,15,2,0,31,0, - 113,192,96,224,224,224,240,224,248,224,121,192,1,192,3,0, - 6,0,8,0,48,32,64,32,64,32,255,224,191,224,143,192, - 135,128,12,18,36,15,1,0,31,0,49,192,96,224,112,224, - 120,224,120,224,0,192,1,128,62,0,1,192,0,224,0,240, - 112,240,248,240,240,240,192,224,65,192,63,0,11,18,36,15, - 2,0,3,0,7,0,7,0,15,0,15,0,23,0,55,0, - 39,0,103,0,71,0,199,0,135,0,255,224,7,0,7,0, - 7,0,7,0,63,224,11,18,36,15,2,0,65,128,127,128, - 126,0,120,0,64,0,64,0,95,0,99,128,65,192,65,224, - 1,224,33,224,241,224,241,224,225,192,193,192,67,128,62,0, - 11,18,36,15,2,0,7,128,24,64,48,224,113,224,113,224, - 240,0,240,0,247,128,249,192,240,224,240,224,240,224,240,224, - 112,224,112,224,48,192,57,192,15,0,11,18,36,15,2,0, - 156,64,190,96,255,32,255,224,128,32,128,64,128,64,0,128, - 1,128,3,0,7,0,6,0,14,0,30,0,30,0,30,0, - 30,0,12,0,12,18,36,15,1,0,31,128,32,64,64,32, - 192,32,192,32,240,32,252,64,127,128,127,192,63,224,103,240, - 193,240,192,112,192,48,192,48,96,32,112,64,31,128,12,18, - 36,15,2,0,31,0,113,128,96,192,224,224,224,224,224,240, - 224,240,96,240,113,240,30,240,0,240,0,240,56,224,120,224, - 120,224,97,192,33,128,30,0,4,12,12,8,2,0,96,240, - 240,96,0,0,0,0,96,240,240,96}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 3 y=13 dx=27 dy= 0 ascent=20 len=72 - Font Bounding box w=70 h=31 x=-22 y=-7 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =18 descent=-6 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb18r[3611] U8G_FONT_SECTION("u8g_font_osb18r") = { - 0,70,31,234,249,18,4,190,10,54,32,127,250,20,250,18, - 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, - 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, - 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, - 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, - 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, - 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, - 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, - 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, - 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, - 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, - 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, - 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, - 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, - 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, - 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, - 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, - 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, - 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, - 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, - 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, - 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, - 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, - 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, - 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, - 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, - 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, - 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, - 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, - 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, - 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, - 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, - 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, - 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, - 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, - 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, - 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, - 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, - 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, - 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, - 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, - 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, - 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, - 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, - 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, - 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, - 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, - 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, - 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, - 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, - 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, - 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, - 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, - 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, - 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, - 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, - 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, - 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, - 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, - 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, - 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, - 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, - 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, - 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, - 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, - 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, - 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, - 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, - 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, - 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, - 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, - 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, - 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, - 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, - 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, - 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, - 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, - 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, - 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, - 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, - 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, - 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, - 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, - 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, - 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, - 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, - 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, - 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, - 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, - 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, - 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, - 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, - 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, - 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, - 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, - 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, - 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, - 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, - 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, - 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, - 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, - 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, - 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, - 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, - 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, - 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, - 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, - 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, - 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, - 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, - 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, - 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, - 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, - 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, - 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, - 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, - 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, - 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, - 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, - 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, - 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, - 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, - 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, - 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, - 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, - 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, - 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, - 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, - 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, - 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, - 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, - 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, - 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, - 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, - 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, - 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, - 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, - 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, - 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, - 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, - 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, - 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, - 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, - 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, - 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, - 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, - 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, - 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, - 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, - 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, - 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, - 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, - 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, - 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, - 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, - 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, - 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, - 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, - 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, - 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, - 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, - 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, - 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, - 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, - 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, - 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, - 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, - 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, - 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, - 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, - 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, - 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, - 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, - 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, - 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, - 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, - 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, - 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, - 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, - 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, - 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, - 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, - 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, - 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, - 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, - 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, - 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, - 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, - 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, - 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, - 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, - 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, - 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, - 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, - 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, - 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, - 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, - 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, - 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, - 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, - 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, - 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, - 120,8,255,4,143,196,131,252,64,120,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=28 h=29 x= 5 y=17 dx=31 dy= 0 ascent=28 len=87 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_FONT_SECTION("u8g_font_osb21") = { - 0,77,36,232,248,21,5,141,12,241,32,255,249,28,248,21, - 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, - 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, - 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, - 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, - 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, - 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, - 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, - 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, - 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, - 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, - 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, - 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, - 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, - 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, - 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, - 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, - 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, - 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, - 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, - 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, - 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, - 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, - 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, - 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, - 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, - 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, - 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, - 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, - 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, - 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, - 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, - 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, - 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, - 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, - 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, - 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, - 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, - 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, - 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, - 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, - 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, - 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, - 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, - 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, - 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, - 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, - 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, - 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, - 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, - 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, - 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, - 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, - 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, - 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, - 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, - 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, - 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, - 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, - 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, - 0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2, - 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, - 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, - 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, - 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, - 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, - 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, - 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, - 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, - 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, - 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, - 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, - 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, - 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, - 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, - 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, - 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, - 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, - 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, - 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, - 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, - 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, - 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, - 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, - 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, - 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, - 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, - 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, - 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, - 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, - 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, - 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, - 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, - 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, - 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, - 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, - 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, - 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, - 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, - 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, - 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, - 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, - 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, - 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, - 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, - 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, - 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, - 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, - 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, - 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, - 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, - 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, - 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, - 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, - 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, - 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, - 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, - 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, - 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, - 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, - 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, - 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, - 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, - 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, - 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, - 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, - 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, - 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, - 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, - 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, - 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, - 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, - 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, - 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, - 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, - 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, - 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, - 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, - 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, - 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, - 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, - 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, - 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, - 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, - 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, - 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, - 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, - 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, - 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, - 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, - 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, - 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, - 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, - 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, - 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, - 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, - 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, - 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, - 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, - 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, - 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, - 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, - 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, - 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, - 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, - 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, - 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, - 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, - 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, - 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, - 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, - 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, - 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, - 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, - 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, - 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, - 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, - 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, - 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, - 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, - 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, - 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, - 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, - 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, - 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, - 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, - 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, - 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, - 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, - 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, - 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, - 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, - 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, - 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, - 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, - 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, - 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, - 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, - 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, - 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, - 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, - 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, - 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, - 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, - 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, - 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, - 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, - 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, - 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, - 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, - 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, - 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, - 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, - 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, - 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, - 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, - 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, - 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, - 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, - 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, - 143,193,131,241,128,254,64,62,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,8,0,0,5, - 21,21,9,2,249,112,248,248,112,0,0,32,32,32,32,32, - 112,112,112,112,248,248,248,248,248,112,10,21,42,16,3,253, - 2,0,2,0,2,0,15,0,26,128,50,192,114,192,243,192, - 243,192,242,0,242,0,242,0,242,0,242,64,114,64,50,64, - 30,128,15,0,2,0,2,0,2,0,17,21,63,20,2,1, - 0,254,0,1,131,0,3,131,0,3,135,128,7,135,128,7, - 135,0,7,128,0,7,128,0,7,128,0,31,128,0,39,248, - 0,7,128,0,7,192,0,3,192,0,3,128,0,3,128,0, - 3,128,128,123,1,128,143,135,0,135,254,0,121,252,0,13, - 13,26,17,2,3,207,152,255,248,112,112,96,48,192,24,192, - 24,192,24,192,24,192,24,96,48,112,112,255,248,207,152,15, - 21,42,16,1,0,254,126,124,24,124,24,60,16,60,16,30, - 32,30,32,30,64,15,64,15,128,7,128,127,248,7,128,127, - 248,7,128,7,128,7,128,7,128,7,128,7,128,63,240,2, - 26,26,8,3,251,192,192,192,192,192,192,192,192,192,192,0, - 0,0,0,0,0,192,192,192,192,192,192,192,192,192,192,13, - 27,54,18,1,250,15,128,16,64,32,96,96,224,97,224,97, - 224,112,128,124,0,63,0,95,192,79,240,195,240,192,248,224, - 56,248,24,126,16,127,144,31,224,7,224,1,224,48,224,120, - 96,120,96,112,96,96,192,48,128,31,0,9,4,8,13,2, - 16,99,0,247,128,247,128,99,0,20,21,63,22,1,1,3, - 252,0,12,3,0,16,0,128,32,0,64,32,244,64,65,140, - 32,67,132,32,131,132,16,135,132,16,135,132,16,135,128,16, - 135,128,16,135,128,16,135,130,16,67,132,32,67,132,32,33, - 136,64,32,240,64,16,0,128,12,3,0,3,252,0,8,11, - 11,10,1,10,56,76,108,108,60,204,205,205,118,0,255,7, - 11,11,13,3,2,34,68,196,204,204,204,204,204,68,98,34, - 14,8,16,16,1,4,255,252,255,252,0,12,0,12,0,12, - 0,12,0,12,0,12,7,3,3,11,2,6,254,254,254,20, - 21,63,22,1,1,3,252,0,12,3,0,16,0,128,32,0, - 64,47,248,64,67,206,32,67,206,32,131,207,16,131,206,16, - 131,206,16,131,240,16,131,204,16,131,206,16,131,206,16,67, - 206,160,67,206,160,35,206,192,47,231,64,16,0,128,12,3, - 0,3,252,0,7,2,2,13,3,17,254,254,9,10,20,17, - 4,12,8,0,62,0,119,0,193,128,193,128,193,128,193,128, - 99,0,127,0,28,0,24,22,66,26,1,254,0,24,0,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,255,255,255,255,255,255,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,0,0,0,0,0,255,255,255,255,255,255,9,12, - 24,13,2,9,62,0,71,0,199,128,231,0,111,0,12,0, - 24,0,33,0,65,128,255,0,159,0,142,0,10,13,26,13, - 2,8,62,0,67,0,195,128,227,128,99,128,3,0,60,0, - 7,0,3,128,243,192,227,128,199,128,62,0,5,5,5,12, - 5,16,24,56,112,96,192,14,22,44,17,2,248,96,192,224, - 224,241,224,241,224,225,224,225,224,224,224,224,224,96,192,64, - 196,64,196,65,252,127,124,78,56,64,0,64,0,96,0,224, - 0,240,0,240,0,112,0,96,0,13,25,50,17,2,252,31, - 248,126,96,254,96,254,96,254,96,254,96,254,96,254,96,254, - 96,126,96,62,96,6,96,6,96,6,96,6,96,6,96,6, - 96,6,96,6,96,6,96,6,96,6,96,6,96,6,96,6, - 96,4,4,4,8,2,7,96,240,240,96,5,6,6,13,4, - 249,32,64,48,24,24,240,7,12,12,13,3,9,28,252,60, - 60,60,60,60,60,60,60,60,254,8,11,11,11,2,10,60, - 102,230,231,231,231,230,102,60,0,255,7,11,11,13,3,2, - 136,68,102,102,102,102,102,102,68,140,136,22,21,63,26,3, - 0,12,1,128,28,1,0,252,3,0,60,2,0,60,6,0, - 60,12,0,60,12,0,60,24,0,60,16,0,60,48,112,60, - 32,240,60,97,240,254,65,240,0,194,240,0,130,240,1,132, - 240,3,8,240,3,15,252,6,0,240,4,0,240,12,3,248, - 21,22,66,26,3,0,0,1,128,28,1,0,252,3,0,60, - 2,0,60,6,0,60,4,0,60,12,0,60,24,0,60,24, - 0,60,51,224,60,36,112,60,108,120,60,78,120,254,206,120, - 0,134,112,1,128,192,1,1,0,3,2,8,2,4,8,6, - 15,248,4,11,240,12,8,224,22,21,63,25,2,0,62,0, - 128,67,1,128,195,129,0,227,131,0,99,130,0,3,6,0, - 60,4,0,7,8,0,3,152,0,243,208,112,227,176,112,199, - 160,240,62,97,240,0,65,240,0,194,240,0,130,240,1,132, - 240,1,7,252,3,0,240,2,0,240,6,3,252,9,22,44, - 13,2,249,24,0,60,0,60,0,60,0,24,0,0,0,28, - 0,34,0,34,0,34,0,6,0,12,0,28,0,56,0,112, - 0,113,0,240,128,240,128,240,128,240,128,113,0,62,0,19, - 27,81,22,2,1,3,0,0,3,128,0,1,128,0,0,192, - 0,0,64,0,0,0,0,0,64,0,0,96,0,0,224,0, - 0,224,0,0,240,0,1,240,0,1,240,0,1,248,0,2, - 120,0,2,120,0,2,124,0,4,60,0,4,60,0,4,62, - 0,15,254,0,8,30,0,8,31,0,16,15,0,16,15,0, - 48,15,128,254,127,224,19,27,81,21,2,1,0,24,0,0, - 56,0,0,48,0,0,96,0,0,64,0,0,0,0,0,64, - 0,0,96,0,0,224,0,0,224,0,0,240,0,1,240,0, - 1,240,0,1,248,0,2,120,0,2,120,0,2,124,0,4, - 60,0,4,60,0,8,60,0,15,254,0,8,30,0,16,30, - 0,16,15,0,16,15,0,48,15,128,254,127,224,19,27,81, - 22,2,0,0,64,0,0,224,0,1,240,0,3,24,0,4, - 4,0,0,0,0,0,64,0,0,96,0,0,224,0,0,224, - 0,0,240,0,1,240,0,1,240,0,1,248,0,2,120,0, - 2,120,0,2,124,0,4,60,0,4,60,0,4,62,0,15, - 254,0,8,30,0,8,31,0,16,15,0,16,15,0,48,15, - 128,254,127,224,19,27,81,21,2,0,0,4,0,1,200,0, - 3,248,0,4,112,0,0,0,0,0,0,0,0,64,0,0, - 96,0,0,224,0,0,224,0,0,240,0,1,240,0,1,240, - 0,1,248,0,2,120,0,2,120,0,2,124,0,4,60,0, - 4,60,0,4,60,0,15,254,0,8,30,0,24,30,0,16, - 15,0,16,15,0,48,15,128,254,127,224,19,27,81,22,2, - 0,3,12,0,7,158,0,7,158,0,3,12,0,0,0,0, - 0,0,0,0,96,0,0,96,0,0,224,0,0,240,0,0, - 240,0,1,240,0,1,248,0,1,120,0,2,120,0,2,124, - 0,2,60,0,4,60,0,4,62,0,4,30,0,15,254,0, - 8,31,0,8,15,0,16,15,0,16,15,0,48,15,128,254, - 127,224,19,27,81,21,1,0,0,240,0,1,8,0,1,8, - 0,1,8,0,0,240,0,0,0,0,0,96,0,0,96,0, - 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,1, - 120,0,1,120,0,2,124,0,2,60,0,2,60,0,4,62, - 0,4,30,0,7,254,0,8,31,0,8,15,0,8,15,0, - 24,15,0,24,15,128,254,63,224,26,21,84,28,0,0,0, - 63,255,192,0,15,131,192,0,15,129,192,0,31,128,192,0, - 23,128,192,0,55,128,64,0,39,132,64,0,103,132,0,0, - 71,140,0,0,199,156,0,0,135,252,0,1,135,156,0,1, - 7,140,0,3,7,132,64,3,255,132,64,6,7,128,64,4, - 7,128,64,12,7,128,192,12,7,129,192,28,7,131,192,255, - 63,255,192,15,28,56,18,2,250,15,230,28,30,56,30,56, - 14,120,14,120,6,248,6,248,6,248,2,248,0,248,0,248, - 0,248,0,248,2,120,2,120,2,120,4,56,4,60,12,28, - 8,6,48,1,192,1,0,1,192,0,96,0,96,4,96,3, - 192,16,27,54,19,1,1,6,0,7,0,3,0,1,128,0, - 0,0,0,255,255,30,15,30,7,30,3,30,3,30,1,30, - 17,30,16,30,48,30,48,31,240,30,48,30,48,30,17,30, - 17,30,1,30,1,30,3,30,7,30,15,255,255,16,27,54, - 19,1,1,0,56,0,120,0,96,0,192,0,0,0,0,255, - 255,30,15,30,7,30,3,30,3,30,1,30,17,30,16,30, - 48,30,48,31,240,30,48,30,48,30,17,30,17,30,1,30, - 1,30,3,30,7,30,15,255,255,16,27,54,19,1,0,0, - 128,1,192,3,96,6,56,8,0,0,0,255,255,30,15,30, - 7,30,3,30,3,30,1,30,17,30,16,30,48,30,48,31, - 240,30,48,30,48,30,17,30,17,30,1,30,1,30,3,30, - 7,30,15,255,255,16,27,54,19,1,0,6,24,15,60,15, - 60,6,24,0,0,0,0,255,255,30,15,30,7,30,3,30, - 3,30,1,30,17,30,16,30,48,30,48,31,240,30,48,30, - 48,30,17,30,17,30,1,30,1,30,3,30,7,30,15,255, - 255,9,27,54,11,1,1,96,0,112,0,56,0,8,0,0, - 0,0,0,255,128,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,255,128,10,27,54, - 12,1,1,3,128,3,128,6,0,12,0,8,0,0,0,255, - 192,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,255,192,9,27,54,11,1,0,12, - 0,28,0,62,0,99,0,0,128,0,0,255,128,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,255,128,10,27,54,13,2,0,97,128,243,192,243, - 192,97,128,0,0,0,0,255,192,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,255, - 192,19,21,63,22,2,0,255,248,0,30,14,0,30,7,0, - 30,3,128,30,3,192,30,3,192,30,3,192,30,3,224,30, - 3,224,30,3,224,255,131,224,30,3,224,30,3,224,30,3, - 224,30,3,192,30,3,192,30,3,128,30,3,128,30,7,0, - 30,14,0,255,248,0,21,26,78,22,1,1,0,226,0,1, - 254,0,2,28,0,0,0,0,0,0,0,254,15,248,31,1, - 192,31,0,128,15,128,128,15,192,128,15,192,128,11,224,128, - 11,240,128,9,248,128,8,248,128,8,252,128,8,126,128,8, - 62,128,8,31,128,8,31,128,8,15,128,8,7,128,8,7, - 128,8,3,128,28,1,128,255,129,128,17,27,81,20,2,1, - 14,0,0,7,0,0,3,0,0,1,128,0,0,0,0,0, - 128,0,7,112,0,12,24,0,24,12,0,56,14,0,120,14, - 0,120,15,0,120,15,0,248,15,128,248,15,128,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,120,15,0,120, - 15,0,120,15,0,56,14,0,24,12,0,12,24,0,7,112, - 0,17,27,81,20,2,1,0,56,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,128,0,7,112,0,12,24,0,24, - 12,0,56,14,0,120,14,0,120,15,0,120,15,0,248,15, - 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, - 248,15,128,120,15,0,120,15,0,120,15,0,56,14,0,24, - 12,0,12,24,0,7,112,0,17,27,81,20,2,0,0,128, - 0,1,192,0,3,96,0,6,48,0,8,8,0,0,128,0, - 7,112,0,12,24,0,24,12,0,56,14,0,120,14,0,120, - 15,0,120,15,0,248,15,128,248,15,128,248,15,128,248,15, - 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, - 120,15,0,56,14,0,24,12,0,12,24,0,7,112,0,17, - 27,81,20,2,0,0,8,0,7,136,0,7,240,0,8,224, - 0,0,0,0,0,128,0,7,112,0,12,24,0,24,12,0, - 56,14,0,120,14,0,120,15,0,120,15,0,248,15,128,248, - 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, - 128,120,15,0,120,15,0,120,15,0,56,14,0,24,12,0, - 12,24,0,7,112,0,17,27,81,20,2,0,12,48,0,30, - 120,0,30,120,0,12,48,0,0,0,0,0,128,0,7,112, - 0,12,24,0,24,12,0,56,14,0,120,14,0,120,15,0, - 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,248,15,128,120,15,0,120,15,0,120,15, - 0,56,14,0,24,12,0,12,24,0,7,112,0,18,19,57, - 26,4,254,64,0,64,224,0,192,112,1,128,56,3,0,28, - 6,0,14,12,0,7,24,0,3,176,0,1,224,0,0,224, - 0,1,240,0,3,56,0,6,28,0,12,12,0,24,6,0, - 48,3,0,112,1,128,224,0,192,64,0,0,17,22,66,20, - 2,0,0,128,0,7,113,128,12,27,0,24,14,0,56,14, - 0,56,14,0,120,31,0,120,31,0,248,47,128,248,111,128, - 248,79,128,248,143,128,249,15,128,251,15,128,250,15,128,124, - 15,0,124,15,0,120,14,0,56,14,0,56,12,0,108,24, - 0,199,112,0,19,27,81,22,2,1,7,0,0,3,128,0, - 1,128,0,0,192,0,0,0,0,0,0,0,255,15,224,60, - 3,128,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,28, - 1,0,28,2,0,14,4,0,7,248,0,19,27,81,22,2, - 1,0,28,0,0,56,0,0,48,0,0,96,0,0,0,0, - 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,28,1,0,28,2,0,14,4,0,7, - 248,0,19,27,81,22,2,0,0,192,0,0,224,0,1,240, - 0,6,24,0,0,4,0,0,0,0,255,15,224,60,3,128, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,60,1,0,60,1,0,60,1,0,28,3,0, - 28,2,0,14,4,0,7,248,0,19,27,81,22,2,0,3, - 12,0,7,158,0,7,158,0,3,12,0,0,0,0,0,0, - 0,255,143,224,60,3,128,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,60,1,0,28,1,0,28,2,0,14,4,0,7,248,0, - 19,27,81,21,2,1,0,28,0,0,60,0,0,48,0,0, - 96,0,0,0,0,0,0,0,255,31,224,62,7,0,30,6, - 0,30,6,0,31,4,0,15,4,0,15,136,0,7,136,0, - 7,144,0,7,208,0,3,240,0,3,224,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,7,248,0,17,21,63,19,1,0,255,192,0, - 30,0,0,30,0,0,30,0,0,31,248,0,30,14,0,30, - 15,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 128,30,15,0,30,14,0,31,248,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,255,192,0,14,21,42,16, - 1,0,7,192,12,96,28,112,28,112,60,112,60,112,60,112, - 60,96,61,128,60,96,60,48,60,56,60,56,60,56,60,60, - 60,60,60,56,63,184,63,184,63,48,253,224,12,21,42,14, - 1,0,96,0,112,0,56,0,24,0,12,0,4,0,0,0, - 30,0,99,128,99,192,243,192,115,192,7,192,27,192,115,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, - 1,0,1,128,3,128,3,0,6,0,12,0,8,0,0,0, - 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, - 1,0,12,0,12,0,30,0,19,0,33,128,64,128,0,0, - 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, - 115,192,243,192,243,208,243,208,243,208,125,224,12,20,40,14, - 1,0,56,128,127,128,71,0,0,0,0,0,0,0,30,0, - 99,128,99,192,243,192,115,192,3,192,31,192,51,192,115,192, - 243,192,243,208,243,208,245,208,121,224,12,20,40,14,1,0, - 97,128,243,192,243,192,97,128,0,0,0,0,30,0,99,128, - 99,192,243,192,115,192,35,192,15,192,51,192,115,192,243,192, - 243,208,243,208,243,208,125,224,12,21,42,14,1,1,30,0, - 33,0,33,0,33,0,50,0,12,0,0,0,31,0,99,128, - 97,192,241,192,113,192,33,192,15,192,49,192,97,192,225,192, - 225,208,225,208,227,208,124,224,17,14,42,19,1,0,62,60, - 0,99,230,0,99,199,0,243,199,128,115,199,128,7,199,128, - 27,255,128,115,192,0,115,192,0,243,192,128,243,192,128,243, - 225,0,242,225,0,124,62,0,10,21,42,13,1,249,15,0, - 56,128,112,192,113,192,243,192,243,128,240,0,240,0,240,0, - 240,0,112,64,112,64,56,128,31,0,4,0,8,0,6,0, - 3,0,3,0,3,0,30,0,11,21,42,13,1,0,48,0, - 48,0,56,0,24,0,12,0,0,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,21,42,13,1,0,1,128, - 3,128,3,128,6,0,4,0,8,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,21,42,13,1,0,12,0, - 14,0,30,0,27,0,49,128,64,0,0,0,15,0,51,128, - 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, - 112,64,112,64,56,128,15,0,11,20,40,13,1,0,49,128, - 123,192,123,192,49,128,0,0,0,0,15,0,51,128,113,192, - 113,192,241,192,241,224,255,224,240,0,240,0,240,32,112,64, - 112,64,56,128,15,0,7,21,21,9,1,0,192,224,112,48, - 24,8,0,124,60,60,60,60,60,60,60,60,60,60,60,60, - 126,6,21,21,9,2,0,12,12,28,56,32,0,0,248,120, - 120,120,120,120,120,120,120,120,120,120,120,252,8,21,21,8, - 1,0,56,56,124,110,131,0,0,252,60,60,60,60,60,60, - 60,60,60,60,60,60,254,8,20,20,9,1,0,102,255,255, - 102,0,0,124,60,60,60,60,60,60,60,60,60,60,60,60, - 126,12,21,42,14,1,0,60,64,31,128,15,0,15,0,55, - 128,3,128,3,192,31,192,49,224,113,224,112,224,240,224,240, - 240,240,240,240,240,240,224,240,224,112,224,113,192,49,192,15, - 0,13,19,38,16,2,1,30,64,63,192,35,128,0,0,0, - 0,251,192,124,224,120,224,120,240,120,240,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,253,248,12,21,42, - 14,1,0,48,0,56,0,56,0,12,0,6,0,2,0,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, - 14,1,0,1,128,1,192,3,128,3,0,6,0,4,0,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, - 14,1,0,6,0,14,0,15,0,27,0,48,128,32,64,0, - 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, - 240,240,224,240,224,112,224,112,192,49,128,15,0,12,20,40, - 14,1,0,28,64,63,192,71,128,0,0,0,0,0,0,15, - 0,49,128,112,192,112,224,240,224,240,224,240,240,240,240,240, - 224,240,224,112,224,112,192,49,128,15,0,12,20,40,14,1, - 0,49,128,123,192,123,192,49,128,0,0,0,0,15,0,49, - 128,112,192,112,224,240,224,240,224,240,240,240,240,240,224,240, - 224,112,224,112,192,49,128,15,0,24,19,57,26,1,254,0, - 24,0,0,60,0,0,60,0,0,24,0,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0, - 0,0,0,0,0,0,0,0,0,0,24,0,0,60,0,0, - 60,0,0,60,0,0,24,0,12,14,28,14,1,0,15,16, - 49,160,113,192,112,224,241,224,243,224,242,240,244,240,248,224, - 240,224,112,224,112,192,121,128,143,0,14,21,42,15,0,0, - 24,0,28,0,12,0,6,0,3,0,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,248,60,248,29,120,14,124,14,21,42,15,0,0, - 0,192,0,192,1,192,1,128,3,0,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,120,60,248,29,120,14,124,14,21,42,15,0,0, - 3,0,7,0,7,128,12,128,24,64,0,0,0,0,253,248, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,120,60,248,29,120,14,124,14,20,40,15,0,0, - 24,192,61,224,61,224,24,192,0,0,0,0,253,248,60,120, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 60,120,60,248,29,120,14,124,13,28,56,15,1,249,0,192, - 0,192,1,192,3,128,2,0,0,0,0,0,252,248,120,32, - 56,32,60,64,28,64,28,64,30,64,14,128,15,128,7,128, - 7,0,7,0,3,0,3,0,2,0,2,0,50,0,124,0, - 116,0,116,0,56,0,13,26,52,15,1,250,28,0,124,0, - 188,0,60,0,60,0,60,0,60,240,63,120,60,120,60,120, - 60,120,60,120,60,112,60,112,60,96,60,192,60,128,61,0, - 62,0,60,0,60,0,60,0,60,0,60,0,48,0,192,0, - 13,27,54,15,1,249,24,96,60,240,60,240,24,96,0,0, - 0,0,254,120,120,48,56,32,60,32,28,32,30,64,30,64, - 14,64,15,128,7,128,7,128,7,0,3,0,3,0,1,0, - 2,0,50,0,122,0,116,0,116,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=24 h=27 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21n[723] U8G_FONT_SECTION("u8g_font_osb21n") = { - 0,77,36,232,248,21,0,0,0,0,42,58,0,22,250,21, - 0,11,12,24,14,2,9,14,0,14,0,78,192,228,224,245, - 192,14,0,14,0,245,192,228,192,78,192,14,0,14,0,24, - 25,75,26,1,252,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,255,255,255,255,255,255,0, - 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 5,10,10,7,1,251,112,248,248,248,120,8,16,16,32,192, - 7,3,3,11,2,6,254,254,254,4,4,4,8,2,0,96, - 240,240,96,9,27,54,13,2,250,1,128,1,128,1,128,3, - 0,3,0,3,0,2,0,6,0,6,0,6,0,12,0,12, - 0,12,0,24,0,24,0,24,0,16,0,48,0,48,0,48, - 0,96,0,96,0,96,0,192,0,192,0,192,0,128,0,14, - 21,42,16,1,1,15,192,24,96,56,112,56,112,120,120,120, - 120,248,120,248,124,248,124,248,124,248,124,248,124,248,124,248, - 124,248,120,120,120,120,120,56,112,56,112,24,96,15,192,9, - 21,42,16,3,0,6,0,14,0,30,0,254,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,255,128,12, - 21,42,16,2,1,63,192,97,224,96,224,224,240,224,240,240, - 240,248,240,121,224,49,224,3,192,7,128,14,0,28,0,48, - 16,96,16,64,16,192,16,255,240,255,224,143,224,135,192,13, - 21,42,16,2,1,63,192,96,224,96,224,224,240,240,240,248, - 240,120,240,112,240,0,224,1,192,31,0,0,224,0,240,0, - 112,112,120,248,120,248,120,240,120,224,112,96,240,59,192,13, - 21,42,16,1,0,1,192,1,192,3,192,3,192,7,192,7, - 192,15,192,27,192,27,192,51,192,35,192,99,192,67,192,195, - 192,255,248,3,192,3,192,3,192,3,192,3,192,31,248,13, - 21,42,16,2,0,96,224,127,192,127,128,127,0,120,0,64, - 0,64,0,64,0,79,0,113,224,64,240,64,240,0,248,0, - 248,112,248,248,248,248,248,240,240,224,240,97,224,59,192,13, - 21,42,16,2,1,15,224,24,32,56,48,48,240,112,240,112, - 240,240,96,240,0,240,0,247,128,248,224,240,112,240,112,240, - 112,240,120,112,120,112,112,112,112,48,112,56,96,13,192,11, - 21,42,16,3,0,156,64,190,96,255,32,255,32,199,224,129, - 160,128,64,128,64,0,128,0,128,1,0,3,0,7,0,6, - 0,14,0,14,0,30,0,30,0,30,0,30,0,30,0,14, - 21,42,16,2,1,31,192,48,32,96,48,96,16,224,16,240, - 16,248,32,254,32,127,192,63,192,31,240,31,248,99,248,64, - 248,192,60,192,24,192,24,192,24,96,16,112,48,31,192,13, - 21,42,16,2,1,31,128,48,192,112,96,112,112,240,112,240, - 112,240,120,240,120,240,120,112,120,112,120,56,248,15,120,0, - 120,0,120,56,112,120,112,120,96,112,224,96,192,63,128,4, - 14,14,8,2,0,96,240,240,240,96,0,0,0,0,0,96, - 240,240,96}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=28 h=29 x= 3 y=16 dx=31 dy= 0 ascent=23 len=87 - Font Bounding box w=77 h=36 x=-24 y=-8 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =21 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_FONT_SECTION("u8g_font_osb21r") = { - 0,77,36,232,248,21,5,141,12,241,32,127,249,23,249,21, - 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, - 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, - 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, - 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, - 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, - 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, - 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, - 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, - 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, - 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, - 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, - 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, - 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, - 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, - 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, - 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, - 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, - 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, - 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, - 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, - 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, - 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, - 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, - 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, - 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, - 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, - 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, - 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, - 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, - 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, - 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, - 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, - 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, - 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, - 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, - 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, - 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, - 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, - 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, - 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, - 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, - 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, - 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, - 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, - 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, - 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, - 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, - 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, - 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, - 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, - 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, - 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, - 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, - 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, - 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, - 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, - 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, - 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, - 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, - 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, - 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, - 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, - 0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2, - 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, - 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, - 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, - 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, - 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, - 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, - 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, - 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, - 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, - 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, - 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, - 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, - 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, - 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, - 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, - 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, - 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, - 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, - 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, - 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, - 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, - 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, - 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, - 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, - 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, - 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, - 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, - 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, - 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, - 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, - 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, - 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, - 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, - 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, - 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, - 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, - 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, - 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, - 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, - 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, - 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, - 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, - 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, - 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, - 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, - 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, - 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, - 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, - 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, - 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, - 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, - 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, - 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, - 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, - 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, - 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, - 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, - 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, - 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, - 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, - 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, - 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, - 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, - 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, - 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, - 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, - 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, - 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, - 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, - 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, - 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, - 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, - 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, - 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, - 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, - 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, - 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, - 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, - 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, - 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, - 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, - 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, - 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, - 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, - 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, - 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, - 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, - 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, - 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, - 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, - 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, - 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, - 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, - 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, - 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, - 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, - 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, - 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, - 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, - 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, - 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, - 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, - 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, - 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, - 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, - 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, - 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, - 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, - 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, - 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, - 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, - 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, - 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, - 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, - 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, - 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, - 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, - 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, - 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, - 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, - 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, - 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, - 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, - 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, - 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, - 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, - 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, - 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, - 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, - 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, - 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, - 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, - 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, - 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, - 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, - 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, - 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, - 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, - 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, - 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, - 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, - 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, - 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, - 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, - 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, - 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, - 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, - 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, - 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, - 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, - 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, - 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, - 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, - 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, - 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, - 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, - 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, - 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, - 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, - 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, - 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, - 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, - 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, - 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, - 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, - 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, - 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, - 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, - 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, - 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, - 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, - 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, - 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, - 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, - 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, - 143,193,131,241,128,254,64,62,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=34 h=33 x= 6 y=20 dx=36 dy= 0 ascent=34 len=125 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x=-2 y=-10 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =26 descent=-8 - Max Font ascent =34 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26[12640] U8G_FONT_SECTION("u8g_font_osb26") = { - 0,95,44,227,246,26,7,105,16,163,32,255,248,34,246,26, - 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, - 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, - 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, - 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, - 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, - 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, - 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, - 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, - 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, - 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, - 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, - 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, - 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, - 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, - 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, - 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, - 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, - 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, - 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, - 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, - 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, - 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, - 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, - 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, - 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, - 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, - 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, - 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, - 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, - 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, - 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, - 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, - 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, - 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, - 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, - 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, - 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, - 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, - 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, - 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, - 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, - 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, - 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, - 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, - 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, - 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, - 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, - 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, - 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, - 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, - 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, - 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, - 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, - 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, - 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, - 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, - 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, - 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, - 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, - 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, - 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, - 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, - 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, - 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, - 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, - 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, - 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, - 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, - 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, - 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, - 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, - 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, - 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, - 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, - 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, - 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, - 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, - 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, - 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, - 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, - 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, - 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, - 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, - 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, - 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, - 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, - 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, - 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, - 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, - 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, - 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, - 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, - 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, - 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, - 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, - 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, - 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, - 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, - 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, - 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, - 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, - 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, - 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, - 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, - 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, - 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, - 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, - 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, - 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, - 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, - 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, - 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, - 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, - 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, - 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, - 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, - 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, - 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, - 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, - 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, - 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, - 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, - 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, - 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, - 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, - 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, - 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, - 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, - 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, - 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, - 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, - 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, - 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, - 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, - 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, - 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, - 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, - 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, - 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, - 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, - 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, - 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, - 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, - 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, - 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, - 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, - 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, - 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, - 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, - 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, - 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, - 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, - 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, - 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, - 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, - 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, - 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, - 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, - 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, - 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, - 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, - 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, - 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, - 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, - 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, - 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, - 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, - 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, - 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, - 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, - 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, - 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, - 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, - 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, - 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, - 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, - 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, - 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, - 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, - 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, - 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, - 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, - 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, - 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, - 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, - 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, - 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, - 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, - 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, - 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, - 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, - 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, - 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, - 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, - 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, - 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, - 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, - 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, - 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, - 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, - 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, - 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, - 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, - 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, - 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, - 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, - 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, - 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, - 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, - 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, - 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, - 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, - 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, - 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, - 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, - 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, - 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, - 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, - 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, - 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, - 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, - 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, - 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, - 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, - 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, - 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, - 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, - 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, - 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, - 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, - 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, - 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, - 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, - 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, - 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, - 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, - 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, - 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, - 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, - 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, - 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, - 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, - 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, - 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, - 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, - 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, - 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, - 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, - 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, - 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, - 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, - 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, - 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, - 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, - 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, - 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, - 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, - 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, - 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, - 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, - 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, - 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, - 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, - 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, - 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, - 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, - 32,135,252,32,129,255,224,128,63,192,64,15,128,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,10,0,0,6,26,26,10,2,248,120,252,252,252,120,0, - 0,0,32,48,48,48,48,48,48,120,120,120,120,252,252,252, - 252,252,252,120,13,25,50,19,3,252,1,0,1,0,1,0, - 1,0,15,192,29,32,57,48,121,112,121,112,249,112,241,96, - 241,0,241,0,241,0,241,0,241,8,121,16,121,16,57,16, - 29,32,15,192,1,0,1,0,1,0,1,0,21,26,78,24, - 2,0,0,2,0,0,61,192,0,112,96,0,240,112,1,224, - 112,1,224,240,3,224,240,3,224,224,3,224,0,3,224,0, - 3,224,0,31,224,0,35,225,0,1,254,0,1,240,0,1, - 240,0,0,240,0,0,240,0,0,240,0,0,224,0,0,224, - 8,60,192,16,199,192,48,131,255,224,131,255,192,124,63,128, - 18,17,51,20,1,3,64,0,128,227,241,192,127,255,128,60, - 15,0,56,7,0,48,3,0,112,3,128,96,1,128,96,1, - 128,96,1,128,96,1,128,112,3,128,48,3,0,56,7,0, - 62,31,0,127,255,128,99,241,128,18,25,75,20,1,0,255, - 143,192,63,3,128,63,3,0,31,3,0,31,130,0,15,130, - 0,15,196,0,15,196,0,7,196,0,7,232,0,3,232,0, - 3,248,0,3,240,0,63,255,128,1,240,0,1,240,0,63, - 255,128,1,240,0,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,31,254,0,2,32,32,10,4,250, - 192,192,192,192,192,192,192,192,192,192,192,192,192,0,0,0, - 0,0,0,192,192,192,192,192,192,192,192,192,192,192,192,192, - 15,32,64,22,2,249,7,224,28,24,56,24,48,28,112,124, - 112,124,112,124,120,56,124,0,63,0,31,224,127,240,71,252, - 193,252,192,126,224,30,248,14,254,6,127,134,63,228,31,248, - 7,248,1,248,0,124,60,60,60,28,124,28,124,28,112,24, - 48,56,24,112,15,192,11,4,8,15,2,19,113,192,241,224, - 241,224,113,192,24,25,75,28,2,1,1,255,128,6,0,64, - 12,0,48,24,0,24,48,60,136,32,227,132,65,193,134,65, - 193,130,195,192,130,131,192,131,131,192,129,131,192,1,131,192, - 1,131,192,1,131,192,65,131,192,131,195,192,130,65,192,130, - 65,193,134,32,227,4,48,60,8,16,0,24,12,0,48,6, - 0,64,1,255,128,10,13,26,13,1,12,60,0,70,0,199, - 0,231,0,71,0,63,0,103,0,231,0,231,64,231,64,123, - 128,0,0,255,128,9,15,30,17,4,1,8,0,24,128,48, - 128,97,0,99,0,227,0,227,0,227,0,227,0,227,0,227, - 0,97,0,49,128,48,128,8,0,16,9,18,20,2,5,255, - 255,255,255,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,9,4,8,13,2,7,255,128,255,128,255,128,255,128,24, - 25,75,28,2,1,1,255,128,6,0,64,12,0,48,24,0, - 24,55,254,8,33,227,132,65,227,198,65,227,194,193,227,194, - 129,227,195,129,231,129,129,252,1,129,231,1,129,227,129,129, - 227,193,129,227,195,193,227,210,65,227,210,65,227,214,33,227, - 212,55,249,232,16,0,24,12,0,48,6,0,64,1,255,128, - 9,2,4,15,3,20,255,128,255,128,11,10,20,19,4,16, - 63,128,123,192,224,192,192,96,192,96,192,96,192,224,97,192, - 63,128,31,0,29,26,104,33,2,254,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,255,255,255,248,255,255,255,248,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, - 0,0,0,0,0,0,0,0,0,0,255,255,255,240,255,255, - 255,240,10,16,32,15,3,9,31,0,103,128,195,192,195,192, - 227,192,243,128,7,128,14,0,28,0,48,64,64,64,64,64, - 255,192,255,192,159,128,135,0,11,16,32,15,2,9,31,0, - 35,128,99,192,115,192,115,192,51,128,3,0,28,0,3,128, - 3,192,97,224,241,224,241,224,227,224,99,192,63,0,6,7, - 7,15,6,18,28,28,60,120,96,192,128,17,27,81,20,2, - 246,96,48,0,112,120,0,240,120,0,240,120,0,240,120,0, - 240,120,0,240,120,0,240,120,0,240,120,0,96,56,0,96, - 48,128,96,48,128,96,113,128,32,127,128,48,255,128,95,207, - 0,71,143,0,64,0,0,96,0,0,96,0,0,112,0,0, - 112,0,0,120,0,0,120,0,0,120,0,0,120,0,0,48, - 0,0,17,30,90,20,2,251,15,255,128,63,140,0,127,140, - 0,127,140,0,255,140,0,255,140,0,255,140,0,255,140,0, - 255,140,0,127,140,0,127,140,0,63,140,0,31,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,5,5,5,9,2,9,112,248,248,248,112,7,7,7, - 15,4,249,32,32,24,14,14,14,252,8,15,15,16,4,10, - 12,28,252,60,60,60,60,60,60,60,60,60,60,60,255,9, - 13,26,13,2,12,28,0,103,0,99,0,227,128,227,128,227, - 128,227,128,227,128,99,0,103,0,28,0,0,0,255,128,9, - 14,28,17,4,2,132,0,198,0,99,0,99,0,115,128,115, - 128,115,128,115,128,115,128,99,128,99,0,195,0,134,0,12, - 0,25,26,104,31,4,0,0,0,48,0,12,0,48,0,28, - 0,96,0,252,0,96,0,60,0,192,0,60,0,128,0,60, - 1,128,0,60,3,0,0,60,3,0,0,60,6,0,0,60, - 6,0,0,60,12,14,0,60,12,30,0,60,24,30,0,60, - 16,62,0,255,48,62,0,0,96,94,0,0,96,158,0,0, - 192,158,0,0,193,30,0,1,131,30,0,1,131,255,128,3, - 0,30,0,2,0,30,0,6,0,30,0,12,0,255,128,25, - 26,104,31,4,0,0,0,48,0,28,0,32,0,252,0,96, - 0,60,0,64,0,60,0,192,0,60,1,128,0,60,1,128, - 0,60,3,0,0,60,3,0,0,60,6,0,0,60,4,62, - 0,60,12,207,0,60,9,135,128,60,25,135,128,60,49,199, - 128,255,49,231,0,0,96,207,0,0,96,28,0,0,192,56, - 0,0,128,96,0,1,128,64,128,3,0,128,128,3,1,255, - 128,6,1,255,128,6,1,63,0,12,1,14,0,26,26,104, - 30,2,0,0,0,24,0,31,0,24,0,35,128,48,0,99, - 192,48,0,115,192,96,0,115,192,64,0,51,128,192,0,3, - 0,128,0,28,1,128,0,3,131,0,0,3,195,0,0,113, - 230,7,0,241,228,15,0,227,236,15,0,99,200,31,0,63, - 24,31,0,0,16,47,0,0,48,79,0,0,96,79,0,0, - 96,143,0,0,192,143,0,0,129,255,192,1,128,15,0,1, - 0,15,0,3,0,15,0,2,0,127,192,11,26,52,16,2, - 248,28,0,62,0,62,0,62,0,28,0,0,0,0,0,30, - 0,49,0,33,0,33,0,1,0,2,0,6,0,14,0,28, - 0,60,0,120,192,120,64,248,32,240,32,240,32,240,32,120, - 64,120,64,31,128,23,33,99,25,1,0,1,128,0,1,192, - 0,0,224,0,0,96,0,0,48,0,0,16,0,0,0,0, - 0,16,0,0,24,0,0,56,0,0,56,0,0,60,0,0, - 124,0,0,124,0,0,126,0,0,254,0,0,254,0,0,158, - 0,1,159,0,1,159,0,1,31,0,3,15,128,3,15,128, - 3,15,128,6,7,192,7,255,192,6,7,192,4,7,224,12, - 3,224,12,3,224,28,3,240,28,3,240,255,159,254,23,33, - 99,25,1,0,0,3,0,0,7,128,0,7,0,0,14,0, - 0,28,0,0,16,0,0,0,0,0,16,0,0,24,0,0, - 56,0,0,56,0,0,60,0,0,124,0,0,124,0,0,126, - 0,0,254,0,0,254,0,0,159,0,1,159,0,1,159,0, - 1,31,128,3,15,128,3,15,128,3,15,128,6,7,192,7, - 255,192,6,7,192,12,7,224,12,3,224,12,3,224,28,3, - 240,60,3,248,255,159,254,23,33,99,25,1,0,0,16,0, - 0,56,0,0,56,0,0,124,0,0,199,0,1,129,128,0, - 0,0,0,16,0,0,24,0,0,56,0,0,56,0,0,60, - 0,0,124,0,0,124,0,0,126,0,0,254,0,0,254,0, - 0,158,0,1,159,0,1,159,0,1,31,0,3,15,128,3, - 15,128,3,15,128,6,7,192,7,255,192,6,7,192,4,7, - 224,12,3,224,12,3,224,28,3,240,28,3,240,255,159,254, - 23,32,96,25,1,0,0,112,128,0,249,0,1,191,0,1, - 14,0,0,0,0,0,0,0,0,0,0,0,24,0,0,56, - 0,0,56,0,0,60,0,0,124,0,0,124,0,0,126,0, - 0,254,0,0,254,0,0,159,0,1,159,0,1,159,0,1, - 31,128,3,15,128,3,15,128,3,15,128,6,7,192,7,255, - 192,6,7,192,12,7,224,12,3,224,12,3,224,28,3,240, - 60,3,248,255,159,254,23,32,96,25,1,0,1,195,128,3, - 199,128,3,199,128,1,195,128,0,0,0,0,0,0,0,24, - 0,0,56,0,0,56,0,0,56,0,0,60,0,0,124,0, - 0,124,0,0,126,0,0,254,0,0,254,0,0,159,0,1, - 159,0,1,159,0,1,15,128,3,15,128,2,15,128,2,15, - 192,6,7,192,7,255,192,4,7,192,4,3,224,8,3,224, - 8,3,224,24,1,240,24,3,240,255,159,254,23,33,99,25, - 1,0,0,60,0,0,126,0,0,195,0,0,195,0,0,199, - 0,0,126,0,0,60,0,0,0,0,0,24,0,0,56,0, - 0,56,0,0,60,0,0,124,0,0,124,0,0,126,0,0, - 254,0,0,254,0,0,159,0,1,159,0,1,159,0,1,15, - 0,3,15,128,3,15,128,2,15,128,2,7,192,7,255,192, - 4,7,192,4,3,224,12,3,224,8,3,224,24,1,240,28, - 1,240,255,159,254,32,25,100,34,1,0,0,15,255,255,0, - 3,240,31,0,7,240,15,0,7,240,7,0,5,240,7,0, - 13,240,3,0,9,240,3,0,25,240,35,0,25,240,32,0, - 49,240,96,0,49,240,96,0,97,240,224,0,97,255,224,0, - 193,240,224,0,193,240,96,1,129,240,96,1,129,240,33,3, - 255,240,33,3,1,240,3,6,1,240,3,6,1,240,7,12, - 1,240,7,12,1,240,15,62,1,240,63,255,143,255,255,19, - 33,99,22,2,249,3,248,192,14,6,192,30,3,192,60,3, - 192,60,1,192,124,1,192,124,0,192,124,0,192,252,0,192, - 252,0,64,252,0,64,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,252,0,96,124,0,64,124,0,64,124,0, - 64,60,0,192,62,0,128,30,1,0,15,2,0,3,156,0, - 0,224,0,0,128,0,0,240,0,0,56,0,0,56,0,0, - 56,0,2,48,0,1,224,0,20,33,99,23,2,0,3,0, - 0,7,128,0,3,128,0,1,192,0,0,224,0,0,32,0, - 0,0,0,0,0,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,33,99,23,2,0,0,6,0,0,14,0,0,30,0, - 0,28,0,0,48,0,0,96,0,0,0,0,0,0,0,255, - 255,224,31,1,224,31,0,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,4,32,31,4,0,31,12,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,12,48,31, - 4,48,31,4,48,31,0,48,31,0,112,31,0,112,31,0, - 240,31,0,240,31,3,240,255,255,240,20,33,99,23,2,0, - 0,32,0,0,96,0,0,240,0,1,248,0,3,140,0,6, - 3,0,0,0,0,0,0,0,255,255,224,31,1,224,31,0, - 224,31,0,224,31,0,96,31,0,96,31,0,32,31,4,32, - 31,4,0,31,12,0,31,12,0,31,28,0,31,252,0,31, - 28,0,31,12,0,31,12,48,31,4,48,31,4,48,31,0, - 48,31,0,112,31,0,112,31,0,240,31,1,240,31,3,240, - 255,255,240,20,32,96,23,2,0,7,14,0,7,143,0,7, - 143,0,7,14,0,0,0,0,0,0,0,0,0,0,255,255, - 224,31,1,224,31,0,224,31,0,224,31,0,96,31,0,96, - 31,0,32,31,4,32,31,4,0,31,12,0,31,12,0,31, - 28,0,31,252,0,31,28,0,31,12,0,31,12,48,31,4, - 48,31,4,48,31,0,48,31,0,112,31,0,112,31,0,240, - 31,0,240,31,3,240,255,255,240,11,33,66,14,2,0,96, - 0,112,0,120,0,56,0,28,0,4,0,0,0,0,0,255, - 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, - 224,11,33,66,14,2,0,0,192,1,192,3,192,3,128,7, - 0,4,0,0,0,0,0,255,224,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,255,224,11,33,66,14,2,0,4, - 0,14,0,14,0,31,0,113,128,192,96,0,0,0,0,255, - 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, - 224,11,32,64,15,2,0,112,224,241,224,241,224,112,224,0, - 0,0,0,0,0,255,224,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,255,224,23,25,75,27,2,0,255,255,0, - 31,3,192,31,0,224,31,0,240,31,0,120,31,0,120,31, - 0,124,31,0,124,31,0,126,31,0,126,31,0,126,255,224, - 126,31,0,126,31,0,126,31,0,126,31,0,126,31,0,124, - 31,0,124,31,0,124,31,0,120,31,0,120,31,0,240,31, - 0,224,31,3,192,255,255,0,24,32,96,27,2,0,0,112, - 64,0,252,192,0,159,128,0,135,0,0,0,0,0,0,0, - 0,0,0,255,3,255,31,128,124,31,128,56,15,192,16,7, - 224,16,7,240,16,7,240,16,5,248,16,5,252,16,4,252, - 16,4,126,16,4,127,16,4,63,16,4,31,144,4,31,208, - 4,15,208,4,7,240,4,7,240,4,3,240,4,1,240,4, - 1,240,4,0,240,14,0,112,31,0,48,255,192,48,20,33, - 99,24,2,1,7,0,0,7,128,0,3,128,0,1,192,0, - 0,192,0,0,96,0,0,0,0,0,0,0,3,252,0,6, - 6,0,14,7,0,28,3,128,60,3,192,60,3,192,124,3, - 224,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,252,3,240,252,3,240,124,3,224,124, - 3,224,124,3,224,60,3,192,60,3,192,28,3,128,14,7, - 0,6,6,0,3,252,0,20,33,99,24,2,1,0,14,0, - 0,30,0,0,28,0,0,56,0,0,48,0,0,96,0,0, - 0,0,0,0,0,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,224,124,3,224,124,3,224,60,3, - 192,60,3,192,28,3,128,14,7,0,6,6,0,3,252,0, - 20,33,99,24,2,0,0,96,0,0,96,0,0,240,0,1, - 248,0,3,156,0,6,6,0,0,0,0,0,0,0,3,252, - 0,6,6,0,14,7,0,28,3,128,60,3,192,60,3,192, - 124,3,224,124,3,224,124,3,224,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, - 224,124,3,224,124,3,224,60,3,192,60,3,192,28,3,128, - 14,7,0,6,6,0,3,252,0,20,32,96,24,2,0,1, - 194,0,3,230,0,6,124,0,4,56,0,0,0,0,0,0, - 0,0,0,0,3,252,0,6,6,0,14,7,0,28,3,128, - 60,3,192,60,3,192,124,3,224,124,3,224,124,3,224,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,124,3,224,124,3,224,124,3,224,60,3,192, - 60,3,192,28,3,128,14,7,0,6,6,0,3,252,0,20, - 32,96,24,2,0,7,14,0,7,143,0,7,143,0,7,14, - 0,0,0,0,0,0,0,0,0,0,3,252,0,6,6,0, - 14,7,0,28,3,128,60,3,192,60,3,192,124,3,224,124, - 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,124,3,224,124,3,224, - 124,3,224,60,3,192,60,3,192,28,3,128,14,7,0,6, - 6,0,3,252,0,22,23,69,32,5,254,64,0,8,224,0, - 28,240,0,60,120,0,120,56,0,240,28,0,224,14,1,192, - 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, - 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, - 192,28,0,224,56,0,112,112,0,56,224,0,28,64,0,8, - 20,25,75,24,2,1,3,252,48,6,6,96,14,3,192,28, - 3,128,60,3,192,60,3,192,124,3,224,124,7,224,124,15, - 224,252,11,240,252,19,240,252,35,240,252,99,240,252,67,240, - 252,131,240,253,3,240,127,3,224,126,3,224,124,3,224,60, - 3,192,60,3,192,28,3,128,60,7,0,102,6,0,195,252, - 0,23,33,99,26,2,1,1,192,0,1,224,0,0,224,0, - 0,112,0,0,56,0,0,8,0,0,0,0,0,0,0,255, - 225,254,31,0,120,31,0,48,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,15,0,32,15,0, - 32,7,128,64,3,192,192,1,255,0,23,33,99,26,2,1, - 0,3,128,0,3,128,0,7,128,0,14,0,0,12,0,0, - 24,0,0,0,0,0,0,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,23,33,99,26,2,0,0,8,0,0,24,0,0, - 60,0,0,126,0,0,227,0,1,128,192,0,0,0,0,0, - 0,255,225,254,31,0,120,31,0,48,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,15,0,48, - 15,128,32,7,128,64,3,192,192,1,255,0,23,32,96,26, - 2,0,1,195,128,1,227,192,1,227,192,1,195,128,0,0, - 0,0,0,0,0,0,0,255,225,254,31,0,120,31,0,48, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,15,0,32,15,0,32,7,128,64,3,192,192,1, - 255,0,23,33,99,26,2,0,0,1,128,0,3,128,0,7, - 128,0,7,0,0,12,0,0,8,0,0,0,0,0,0,0, - 255,225,254,31,128,112,31,128,96,15,128,96,15,192,64,7, - 192,192,7,224,192,7,224,128,3,225,128,3,241,0,1,241, - 0,1,251,0,0,250,0,0,254,0,0,252,0,0,124,0, - 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, - 124,0,0,124,0,0,124,0,3,255,128,20,25,75,24,2, - 0,255,240,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,254,0,31,7,128,31,3,192,31,1,224,31,1,240,31, - 1,240,31,1,240,31,1,240,31,1,240,31,1,224,31,3, - 192,31,7,128,31,254,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,255,240,0,16,25,50,19, - 1,0,3,224,6,120,14,60,30,60,28,60,60,60,60,60, - 60,56,60,112,61,192,60,48,60,28,60,30,60,30,60,15, - 60,15,60,15,60,15,60,15,60,15,61,207,63,222,63,158, - 61,156,252,248,15,25,50,18,2,0,48,0,56,0,60,0, - 28,0,14,0,2,0,0,0,0,0,15,128,49,224,96,240, - 112,240,120,240,120,240,48,240,3,240,28,240,56,240,120,240, - 240,240,240,242,240,242,240,242,121,252,62,120,15,25,50,18, - 2,0,0,224,0,224,1,224,1,192,3,0,6,0,4,0, - 0,0,15,128,49,224,96,240,112,240,120,240,120,240,32,240, - 7,240,28,240,56,240,120,240,240,240,240,242,240,242,240,242, - 121,252,62,120,15,25,50,18,2,0,7,0,7,0,15,0, - 13,128,24,192,112,96,0,0,0,0,15,128,49,224,96,240, - 112,240,120,240,120,240,32,240,7,240,28,240,56,240,120,240, - 240,240,240,242,240,242,240,242,121,252,62,120,15,24,48,18, - 2,0,28,32,63,32,103,224,65,192,0,0,0,0,0,0, - 15,128,49,224,96,240,112,240,120,240,120,240,48,240,7,240, - 28,240,56,240,120,240,240,240,240,242,240,242,240,242,121,252, - 62,120,15,24,48,18,2,0,112,224,120,240,120,240,112,224, - 0,0,0,0,0,0,15,128,49,224,96,240,112,240,120,240, - 120,240,32,240,7,240,28,240,56,240,120,240,240,240,240,242, - 240,242,240,242,121,252,62,120,15,25,50,18,2,1,15,128, - 25,192,16,192,16,192,24,192,15,128,7,0,0,0,15,128, - 49,224,96,240,112,240,120,240,120,240,32,240,7,240,24,240, - 56,240,112,240,240,240,240,242,240,242,240,242,121,252,62,120, - 21,17,51,25,2,0,31,143,128,49,248,224,96,248,240,112, - 248,112,120,248,120,120,240,120,48,240,120,3,240,120,28,255, - 248,56,240,0,120,240,0,240,240,8,240,248,8,240,248,8, - 240,248,16,121,188,48,62,15,192,13,24,48,16,2,249,7, - 128,28,96,56,32,120,112,120,240,248,240,240,224,240,64,240, - 0,240,0,240,0,240,8,120,16,120,16,56,16,28,32,15, - 192,2,0,4,0,3,128,1,192,1,192,17,192,15,128,13, - 25,50,17,2,0,48,0,56,0,60,0,28,0,6,0,3, - 0,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, - 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, - 24,56,16,28,32,7,192,13,25,50,17,2,0,0,96,0, - 224,1,224,1,192,3,128,6,0,0,0,0,0,7,128,24, - 224,56,240,120,240,120,240,240,120,240,120,240,120,255,248,240, - 0,240,0,240,8,120,8,120,24,56,16,28,32,7,192,13, - 25,50,17,2,0,7,0,7,0,15,128,13,128,24,192,48, - 112,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, - 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, - 24,56,16,28,32,7,192,13,24,48,17,2,0,56,224,120, - 240,120,240,56,224,0,0,0,0,0,0,7,128,24,224,56, - 240,120,240,120,240,240,120,240,120,240,120,255,248,240,0,240, - 0,240,8,120,8,120,24,56,16,28,32,7,192,8,25,25, - 10,1,0,192,224,240,112,24,12,0,0,252,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,255,8,25,25,10, - 1,0,3,7,7,14,28,16,0,0,252,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,255,10,25,50,10,0, - 0,28,0,30,0,30,0,55,0,97,128,192,192,0,0,0, - 0,126,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,127,128,10,24,48,11,1,0,115,128,243,192,243,192,115, - 128,0,0,0,0,0,0,126,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,127,128,14,25,50,18,2,0,30, - 48,15,96,15,128,7,128,15,192,49,224,1,224,0,240,15, - 248,28,248,56,120,120,120,120,124,240,124,240,60,240,60,240, - 60,240,60,240,60,240,124,120,120,120,120,56,112,28,224,7, - 192,17,23,69,19,1,1,7,136,0,15,248,0,16,240,0, - 0,0,0,0,0,0,0,0,0,252,120,0,61,188,0,61, - 28,0,62,30,0,62,30,0,62,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,255,127,128,14,25,50,18, - 2,0,24,0,60,0,28,0,14,0,7,0,3,0,0,0, - 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, - 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, - 24,224,7,128,14,25,50,18,2,0,0,96,0,240,0,224, - 1,192,3,128,3,0,0,0,0,0,7,128,28,224,56,112, - 120,120,120,120,240,60,240,60,240,60,240,60,240,60,240,60, - 240,60,120,120,120,120,56,112,24,224,7,128,14,25,50,18, - 2,0,3,0,7,128,7,128,15,192,28,224,48,48,32,16, - 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, - 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, - 24,224,7,128,14,24,48,18,2,0,14,16,31,144,39,224, - 33,224,0,0,0,0,0,0,7,128,28,224,56,112,120,120, - 120,120,240,60,240,60,240,60,240,60,240,60,240,60,240,60, - 120,120,120,120,56,112,24,224,7,128,14,24,48,18,2,0, - 56,112,60,240,60,240,56,112,0,0,0,0,0,0,7,128, - 28,224,56,112,120,120,120,120,240,60,240,60,240,60,240,60, - 240,60,240,60,240,60,120,120,120,120,56,112,24,224,7,128, - 29,23,92,31,1,254,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,7,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,248,255,255,255,248,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7, - 0,0,0,15,128,0,0,15,128,0,0,15,128,0,0,7, - 0,0,14,17,34,18,2,0,7,132,24,232,56,120,120,120, - 120,120,240,124,240,188,241,188,243,60,246,60,244,60,248,60, - 120,120,120,120,120,112,92,96,135,128,17,25,75,19,1,0, - 12,0,0,30,0,0,14,0,0,7,0,0,3,0,0,0, - 128,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, - 62,0,60,94,0,30,158,0,15,31,128,17,25,75,19,1, - 0,0,48,0,0,112,0,0,112,0,0,224,0,1,192,0, - 1,0,0,0,0,0,0,0,0,252,126,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,62,0,60,62,0, - 60,62,0,60,94,0,30,158,0,15,31,128,17,25,75,19, - 1,0,1,128,0,3,192,0,3,192,0,7,224,0,12,48, - 0,24,24,0,0,0,0,0,0,0,252,126,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,62,0,60,62, - 0,60,62,0,60,94,0,30,158,0,15,31,128,17,24,72, - 19,1,0,28,112,0,30,120,0,30,120,0,28,112,0,0, - 0,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, - 62,0,60,94,0,30,158,0,15,31,128,17,33,99,18,0, - 248,0,28,0,0,28,0,0,60,0,0,112,0,0,96,0, - 0,192,0,0,0,0,0,0,0,255,159,128,62,6,0,30, - 4,0,31,4,0,15,4,0,15,8,0,15,136,0,7,136, - 0,7,152,0,3,208,0,3,208,0,3,240,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 64,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,15,32,64,18,1,247,12,0,28,0,124,0, - 188,0,60,0,60,0,60,0,60,120,60,252,61,30,63,30, - 62,30,62,30,62,30,60,30,60,28,60,28,60,56,60,56, - 60,48,60,96,60,192,61,0,62,0,60,0,60,0,60,0, - 60,0,60,0,60,0,48,0,192,0,17,32,96,18,0,248, - 14,28,0,15,60,0,15,60,0,14,28,0,0,0,0,0, - 0,0,0,0,0,255,159,128,62,6,0,30,4,0,30,4, - 0,15,8,0,15,8,0,15,8,0,7,136,0,7,144,0, - 3,208,0,3,208,0,3,224,0,1,224,0,1,224,0,0, - 224,0,0,192,0,0,192,0,0,64,0,0,128,0,28,128, - 0,60,128,0,61,0,0,57,0,0,59,0,0,30,0,0 - }; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=29 h=33 x= 4 y=11 dx=31 dy= 0 ascent=26 len=120 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26n[903] U8G_FONT_SECTION("u8g_font_osb26n") = { - 0,95,44,227,246,25,0,0,0,0,42,58,0,26,249,25, - 0,12,14,28,17,3,11,14,0,14,0,14,0,196,112,228, - 240,245,224,14,0,14,0,245,224,228,240,196,112,14,0,14, - 0,14,0,29,30,120,31,1,251,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,255,255,255,248,255,255,255,248,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, - 0,7,11,11,10,2,249,120,252,254,254,126,6,4,12,8, - 48,224,9,4,8,13,2,7,255,128,255,128,255,128,255,128, - 5,5,5,9,2,0,112,248,248,248,112,12,33,66,15,2, - 249,0,112,0,96,0,96,0,224,0,192,0,192,1,192,1, - 192,1,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,56, - 0,56,0,48,0,48,0,112,0,96,0,96,0,224,0,192, - 0,192,0,16,25,50,20,2,1,7,224,14,112,28,56,60, - 60,60,60,124,62,124,62,124,62,252,63,252,63,252,63,252, - 63,252,63,252,63,252,63,252,63,252,63,124,62,124,62,124, - 62,60,60,60,60,28,56,14,112,7,224,12,25,50,20,4, - 0,7,0,7,0,31,0,255,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,255,240,15,25,50,20,2,1,31,240,48,120,96,60,96, - 62,224,62,240,62,248,62,252,62,124,124,56,124,0,248,1, - 240,1,224,3,128,7,0,12,2,24,2,48,2,32,2,76, - 6,127,254,127,252,71,252,67,252,65,248,15,26,52,20,2, - 0,1,0,14,240,56,120,48,60,112,62,120,62,124,62,124, - 62,60,62,24,60,0,120,0,112,31,192,0,240,0,120,0, - 60,0,60,56,62,124,62,252,62,252,62,248,62,224,60,96, - 124,96,120,31,224,16,25,50,20,2,0,0,120,0,120,0, - 248,1,248,1,248,3,248,3,248,6,248,6,248,12,248,12, - 248,24,248,56,248,48,248,96,248,96,248,192,248,255,255,0, - 248,0,248,0,248,0,248,0,248,0,248,15,255,15,26,52, - 20,3,0,0,8,48,56,63,240,63,224,63,128,62,0,32, - 0,32,0,32,0,32,0,39,192,56,112,48,120,32,60,32, - 60,0,62,0,62,56,62,120,62,252,62,248,62,248,60,224, - 60,96,120,112,112,31,224,16,25,50,20,2,1,7,240,12, - 8,28,12,56,60,56,124,120,124,120,120,120,48,248,0,248, - 0,251,224,252,56,252,60,248,30,248,31,248,31,248,31,248, - 31,120,31,120,31,120,31,56,30,28,30,12,60,7,240,15, - 25,50,20,3,0,79,28,95,156,127,198,127,230,127,254,224, - 246,192,4,192,12,128,12,128,24,0,16,0,48,0,96,0, - 224,1,192,1,192,3,192,7,128,7,128,15,128,15,128,15, - 128,15,128,15,128,7,0,17,25,75,20,2,1,7,240,0, - 24,12,0,48,12,0,48,6,0,112,6,0,112,6,0,120, - 6,0,124,4,0,127,12,0,127,152,0,63,224,0,31,248, - 0,15,252,0,15,254,0,49,255,0,96,127,0,64,31,0, - 192,15,128,192,7,0,192,7,0,192,3,0,96,6,0,96, - 6,0,56,12,0,14,240,0,15,25,50,20,2,1,31,192, - 60,112,120,48,120,56,248,60,248,60,248,60,248,62,248,62, - 248,62,248,62,120,62,124,126,60,126,15,190,0,62,0,62, - 12,60,30,60,62,60,62,56,60,56,48,112,16,96,15,192, - 5,17,17,9,2,0,112,248,248,248,112,0,0,0,0,0, - 0,0,112,248,248,248,112}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=34 h=33 x= 4 y=18 dx=36 dy= 0 ascent=28 len=125 - Font Bounding box w=95 h=44 x=-29 y=-10 - Calculated Min Values x=-2 y=-8 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =26 descent=-8 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb26r[5950] U8G_FONT_SECTION("u8g_font_osb26r") = { - 0,95,44,227,246,26,7,105,16,163,32,127,248,28,248,26, - 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, - 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, - 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, - 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, - 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, - 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, - 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, - 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, - 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, - 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, - 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, - 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, - 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, - 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, - 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, - 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, - 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, - 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, - 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, - 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, - 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, - 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, - 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, - 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, - 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, - 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, - 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, - 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, - 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, - 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, - 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, - 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, - 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, - 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, - 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, - 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, - 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, - 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, - 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, - 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, - 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, - 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, - 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, - 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, - 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, - 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, - 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, - 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, - 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, - 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, - 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, - 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, - 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, - 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, - 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, - 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, - 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, - 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, - 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, - 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, - 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, - 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, - 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, - 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, - 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, - 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, - 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, - 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, - 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, - 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, - 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, - 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, - 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, - 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, - 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, - 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, - 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, - 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, - 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, - 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, - 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, - 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, - 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, - 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, - 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, - 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, - 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, - 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, - 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, - 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, - 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, - 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, - 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, - 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, - 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, - 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, - 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, - 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, - 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, - 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, - 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, - 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, - 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, - 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, - 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, - 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, - 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, - 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, - 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, - 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, - 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, - 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, - 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, - 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, - 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, - 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, - 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, - 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, - 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, - 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, - 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, - 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, - 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, - 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, - 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, - 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, - 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, - 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, - 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, - 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, - 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, - 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, - 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, - 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, - 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, - 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, - 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, - 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, - 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, - 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, - 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, - 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, - 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, - 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, - 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, - 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, - 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, - 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, - 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, - 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, - 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, - 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, - 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, - 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, - 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, - 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, - 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, - 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, - 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, - 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, - 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, - 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, - 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, - 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, - 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, - 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, - 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, - 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, - 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, - 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, - 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, - 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, - 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, - 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, - 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, - 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, - 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, - 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, - 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, - 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, - 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, - 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, - 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, - 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, - 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, - 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, - 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, - 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, - 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, - 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, - 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, - 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, - 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, - 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, - 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, - 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, - 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, - 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, - 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, - 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, - 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, - 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, - 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, - 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, - 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, - 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, - 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, - 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, - 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, - 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, - 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, - 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, - 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, - 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, - 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, - 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, - 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, - 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, - 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, - 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, - 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, - 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, - 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, - 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, - 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, - 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, - 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, - 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, - 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, - 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, - 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, - 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, - 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, - 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, - 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, - 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, - 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, - 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, - 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, - 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, - 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, - 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, - 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, - 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, - 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, - 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, - 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, - 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, - 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, - 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, - 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, - 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, - 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, - 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, - 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, - 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, - 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, - 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, - 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, - 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, - 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, - 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, - 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, - 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, - 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, - 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, - 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, - 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, - 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, - 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, - 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, - 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, - 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, - 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, - 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, - 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, - 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, - 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, - 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, - 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, - 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, - 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, - 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, - 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, - 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, - 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, - 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, - 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, - 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, - 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, - 32,135,252,32,129,255,224,128,63,192,64,15,128,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=38 h=37 x= 7 y=23 dx=41 dy= 0 ascent=38 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =29 descent=-9 - Max Font ascent =38 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_FONT_SECTION("u8g_font_osb29") = { - 0,107,49,223,245,29,9,166,21,115,32,255,247,38,245,29, - 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, - 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, - 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, - 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, - 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, - 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, - 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, - 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, - 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, - 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, - 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, - 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, - 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, - 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, - 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, - 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, - 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, - 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, - 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, - 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, - 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, - 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, - 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, - 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, - 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, - 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, - 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, - 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, - 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, - 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, - 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, - 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, - 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, - 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, - 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, - 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, - 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, - 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, - 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, - 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, - 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, - 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, - 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, - 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, - 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, - 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, - 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, - 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, - 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, - 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, - 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, - 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, - 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, - 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, - 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, - 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, - 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, - 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, - 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, - 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, - 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, - 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, - 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, - 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, - 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, - 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, - 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, - 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, - 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, - 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, - 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, - 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, - 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120, - 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, - 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, - 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, - 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, - 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, - 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, - 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, - 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, - 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, - 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, - 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, - 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, - 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, - 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, - 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, - 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, - 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, - 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, - 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, - 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, - 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, - 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, - 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, - 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, - 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, - 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, - 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, - 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, - 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, - 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, - 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, - 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, - 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, - 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, - 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, - 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, - 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, - 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, - 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, - 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, - 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, - 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, - 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, - 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, - 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, - 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, - 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, - 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, - 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, - 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, - 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, - 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, - 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, - 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, - 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, - 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, - 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, - 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, - 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, - 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, - 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, - 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, - 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, - 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, - 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, - 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, - 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, - 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, - 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, - 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, - 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, - 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, - 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, - 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, - 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, - 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, - 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, - 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, - 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, - 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, - 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, - 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, - 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, - 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, - 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, - 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, - 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, - 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, - 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, - 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, - 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, - 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, - 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, - 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, - 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, - 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, - 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, - 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, - 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, - 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, - 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, - 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, - 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, - 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, - 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, - 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, - 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, - 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, - 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, - 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, - 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, - 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, - 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, - 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, - 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, - 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, - 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, - 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, - 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, - 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, - 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, - 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, - 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, - 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, - 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, - 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, - 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, - 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, - 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, - 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, - 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, - 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, - 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, - 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, - 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, - 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, - 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, - 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, - 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, - 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, - 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, - 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, - 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, - 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, - 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, - 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, - 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, - 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, - 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, - 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, - 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, - 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, - 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, - 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, - 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, - 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, - 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, - 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, - 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, - 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, - 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, - 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, - 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, - 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, - 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, - 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, - 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, - 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, - 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, - 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, - 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, - 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, - 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, - 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, - 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, - 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, - 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, - 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, - 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, - 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, - 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, - 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, - 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, - 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, - 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, - 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, - 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, - 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, - 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, - 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, - 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, - 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, - 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, - 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, - 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, - 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, - 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, - 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, - 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, - 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, - 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, - 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, - 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, - 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, - 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, - 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, - 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, - 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, - 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, - 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, - 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, - 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, - 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, - 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, - 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, - 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, - 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, - 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, - 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, - 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, - 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, - 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, - 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, - 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, - 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, - 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, - 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, - 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, - 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, - 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, - 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, - 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, - 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, - 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, - 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, - 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, - 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, - 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, - 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, - 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, - 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, - 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, - 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, - 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, - 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, - 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, - 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, - 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, - 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, - 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, - 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, - 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, - 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, - 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, - 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, - 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, - 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, - 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, - 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, - 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, - 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, - 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, - 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, - 127,248,192,31,240,96,3,224,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,11,0,0,6, - 29,29,10,2,247,120,252,252,252,252,120,0,0,32,48,48, - 48,48,48,48,48,112,120,120,120,120,252,252,252,252,252,252, - 120,120,14,28,56,22,4,251,1,128,1,128,1,128,1,128, - 3,192,15,176,29,152,61,152,121,184,121,184,249,184,249,184, - 249,128,249,128,249,128,249,128,249,128,249,132,121,132,121,132, - 61,136,29,152,15,176,3,192,1,128,1,128,1,128,1,128, - 23,29,87,27,2,0,0,1,0,0,30,224,0,120,16,0, - 248,24,0,240,28,1,240,60,1,240,124,3,240,124,3,240, - 120,3,240,0,3,240,0,3,240,0,3,240,0,31,240,64, - 1,255,128,1,248,0,0,248,0,0,248,0,0,248,0,0, - 120,0,0,120,0,0,112,0,0,112,6,60,112,4,127,224, - 28,131,255,248,129,255,240,195,63,224,124,31,192,18,20,60, - 21,2,3,0,0,128,195,225,128,239,249,192,255,255,128,120, - 15,0,112,7,0,96,3,0,224,1,128,192,1,128,192,1, - 128,192,1,128,192,1,128,224,1,128,96,3,0,112,7,0, - 120,15,0,255,255,128,239,249,192,195,225,128,0,0,128,21, - 28,84,23,1,0,255,195,248,63,0,224,63,0,192,31,128, - 192,31,128,128,31,192,128,15,193,0,15,193,0,7,227,0, - 7,226,0,7,246,0,3,244,0,3,252,0,1,248,0,63, - 255,192,1,248,0,1,248,0,1,248,0,63,255,192,1,248, - 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, - 1,248,0,1,248,0,15,255,128,3,35,35,11,4,249,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0, - 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,17,36,108,24,2,248,1,240,0,6,12,0,12,6, - 0,24,7,0,56,31,0,56,63,0,56,63,0,56,62,0, - 60,28,0,63,0,0,63,192,0,31,224,0,63,248,0,103, - 254,0,67,255,0,192,255,0,192,63,128,224,15,128,248,3, - 128,254,1,128,127,129,128,127,225,0,63,249,0,15,254,0, - 3,254,0,0,254,0,0,63,0,14,15,0,31,7,0,63, - 7,0,63,7,0,62,7,0,56,6,0,24,12,0,12,24, - 0,7,240,0,12,5,10,16,2,22,112,224,249,240,249,240, - 249,240,112,224,28,28,112,32,2,1,0,127,224,0,1,128, - 24,0,6,0,12,0,12,0,3,0,24,0,1,0,16,30, - 33,128,48,113,160,192,96,224,224,64,97,224,96,96,97,224, - 96,96,193,224,32,32,195,224,32,48,195,224,32,48,195,224, - 0,48,195,224,0,48,195,224,0,48,195,224,16,48,193,224, - 16,32,65,224,48,96,97,224,32,96,96,240,96,64,48,112, - 192,192,16,31,1,128,24,0,1,0,12,0,3,0,6,0, - 12,0,1,128,24,0,0,127,224,0,11,14,28,15,2,14, - 30,0,35,0,99,128,115,128,115,128,15,128,51,128,99,128, - 227,128,227,160,227,160,125,192,0,0,255,224,10,16,32,18, - 4,1,24,64,48,192,112,128,97,128,225,128,227,128,227,128, - 227,128,227,128,227,128,227,128,97,128,97,128,48,192,24,64, - 8,0,19,11,33,22,2,5,255,255,224,255,255,224,255,255, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,10,4,8,14,2,8,255, - 192,255,192,255,192,255,192,28,28,112,32,2,1,0,127,224, - 0,1,128,24,0,6,0,12,0,12,0,3,0,24,0,1, - 0,19,255,193,128,48,249,224,192,96,248,240,64,96,248,248, - 96,96,248,248,96,192,248,248,32,192,248,240,48,192,249,224, - 48,192,254,0,48,192,249,192,48,192,249,224,48,192,249,240, - 48,192,249,240,32,64,249,242,96,96,249,242,96,96,249,242, - 64,48,249,246,192,19,254,253,128,24,0,121,0,12,0,3, - 0,6,0,12,0,1,128,24,0,0,127,224,0,10,3,6, - 16,3,23,255,192,255,192,255,192,12,11,22,22,5,18,31, - 128,127,224,112,96,224,48,192,48,192,48,192,48,224,112,112, - 224,63,192,31,128,32,29,116,36,2,254,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,255,255,255,255,255,255,255,255,255,255,255,255,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, - 1,192,0,0,1,192,0,0,1,192,0,0,0,0,0,0, - 0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,11, - 17,34,17,3,11,31,0,99,192,225,224,225,224,241,224,241, - 224,115,192,7,128,14,0,28,0,48,32,96,32,64,96,255, - 224,255,224,143,192,135,128,12,18,36,16,2,10,31,0,51, - 192,97,224,113,224,121,224,121,224,1,192,3,128,30,0,3, - 192,1,224,1,240,121,240,249,240,241,240,225,224,99,192,31, - 0,7,7,7,17,7,21,14,30,30,60,120,96,192,19,30, - 90,22,2,245,112,28,0,112,28,0,248,62,0,248,62,0, - 248,62,0,248,62,0,248,62,0,240,62,0,240,62,0,240, - 62,0,112,28,0,112,28,0,96,28,32,96,24,32,32,56, - 96,32,127,224,61,255,192,47,231,192,39,195,192,32,0,0, - 32,0,0,112,0,0,112,0,0,120,0,0,120,0,0,124, - 0,0,124,0,0,124,0,0,124,0,0,56,0,0,18,33, - 99,23,3,251,15,255,192,63,206,0,127,206,0,127,206,0, - 255,206,0,255,206,0,255,206,0,255,206,0,255,206,0,255, - 206,0,255,206,0,255,206,0,127,206,0,63,206,0,7,206, - 0,1,206,0,1,206,0,1,206,0,1,206,0,1,206,0, - 1,206,0,1,206,0,1,206,0,1,206,0,1,206,0,1, - 206,0,1,206,0,1,206,0,1,206,0,1,206,0,1,206, - 0,1,206,0,1,206,0,6,6,6,10,2,10,120,252,252, - 252,252,120,7,8,8,17,5,248,32,32,56,12,14,14,14, - 252,8,17,17,16,4,11,12,28,252,60,60,60,60,60,60, - 60,60,60,60,60,60,60,255,10,14,28,14,2,14,30,0, - 51,0,115,128,243,192,243,192,243,192,243,192,243,192,243,192, - 115,128,51,0,30,0,0,0,255,192,10,16,32,18,4,1, - 6,0,131,0,195,0,97,128,97,128,113,192,113,192,113,192, - 113,192,113,192,97,192,97,128,65,128,195,0,134,0,4,0, - 28,29,116,34,4,0,0,0,12,0,12,0,12,0,28,0, - 24,0,252,0,24,0,60,0,48,0,60,0,32,0,60,0, - 96,0,60,0,192,0,60,0,192,0,60,1,128,0,60,1, - 128,0,60,3,0,0,60,2,3,128,60,6,3,128,60,12, - 7,128,60,12,15,128,60,24,15,128,255,24,31,128,0,48, - 23,128,0,32,39,128,0,96,103,128,0,192,71,128,0,192, - 199,128,1,128,255,240,1,128,7,128,3,0,7,128,2,0, - 7,128,6,0,7,128,12,0,63,240,27,29,116,34,4,0, - 0,0,12,0,12,0,24,0,28,0,24,0,252,0,48,0, - 60,0,48,0,60,0,96,0,60,0,96,0,60,0,192,0, - 60,1,128,0,60,1,128,0,60,3,0,0,60,3,31,0, - 60,6,115,192,60,6,225,224,60,12,225,224,60,8,241,224, - 255,24,241,224,0,48,115,192,0,48,3,128,0,96,7,0, - 0,96,14,0,0,192,24,0,0,128,48,32,1,128,64,32, - 3,0,64,96,3,0,191,224,6,0,255,224,6,0,159,192, - 12,0,135,128,30,29,116,34,2,0,0,0,3,0,31,0, - 3,0,51,192,6,0,97,224,4,0,113,224,12,0,121,224, - 8,0,121,224,24,0,1,192,48,0,3,128,48,0,30,0, - 96,0,3,192,64,0,1,224,192,0,49,240,128,224,249,241, - 128,224,249,243,1,224,225,226,3,224,99,230,3,224,63,132, - 5,224,0,12,5,224,0,8,9,224,0,16,25,224,0,48, - 17,224,0,32,49,224,0,96,63,252,0,64,1,224,0,192, - 1,224,0,128,1,224,1,0,1,224,3,0,15,252,12,29, - 58,18,3,247,30,0,63,0,63,0,63,0,63,0,30,0, - 0,0,14,0,17,0,32,128,32,128,32,128,1,128,3,0, - 3,0,6,0,14,0,28,0,60,96,120,32,120,48,248,16, - 248,16,248,16,248,16,248,48,124,96,63,192,31,128,26,37, - 148,29,2,0,0,224,0,0,0,240,0,0,0,240,0,0, - 0,120,0,0,0,56,0,0,0,12,0,0,0,6,0,0, - 0,0,0,0,0,4,0,0,0,6,0,0,0,14,0,0, - 0,14,0,0,0,15,0,0,0,31,0,0,0,31,0,0, - 0,31,128,0,0,63,128,0,0,47,128,0,0,47,192,0, - 0,111,192,0,0,79,192,0,0,71,192,0,0,199,224,0, - 0,135,224,0,0,131,224,0,1,131,240,0,1,3,240,0, - 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, - 6,0,252,0,4,0,252,0,12,0,252,0,12,0,124,0, - 30,0,254,0,255,199,255,192,26,37,148,29,2,0,0,0, - 224,0,0,0,224,0,0,1,224,0,0,3,192,0,0,3, - 128,0,0,6,0,0,0,12,0,0,0,0,0,0,0,4, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,31, - 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, - 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, - 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, - 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, - 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, - 255,192,26,37,148,29,2,0,0,4,0,0,0,14,0,0, - 0,14,0,0,0,31,0,0,0,59,128,0,0,224,192,0, - 1,128,48,0,0,0,0,0,0,4,0,0,0,6,0,0, - 0,14,0,0,0,14,0,0,0,15,0,0,0,31,0,0, - 0,31,0,0,0,31,128,0,0,63,128,0,0,47,128,0, - 0,47,192,0,0,111,192,0,0,79,192,0,0,71,192,0, - 0,199,224,0,0,135,224,0,0,131,224,0,1,131,240,0, - 1,3,240,0,3,1,240,0,3,255,248,0,2,1,248,0, - 6,0,248,0,6,0,252,0,4,0,252,0,12,0,252,0, - 12,0,124,0,30,0,254,0,255,199,255,192,26,36,144,29, - 2,0,0,56,32,0,0,126,32,0,0,255,224,0,0,143, - 192,0,0,131,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, - 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, - 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, - 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, - 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, - 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, - 255,192,26,36,144,29,2,0,0,224,224,0,1,241,240,0, - 1,241,240,0,1,241,240,0,0,224,224,0,0,0,0,0, - 0,0,0,0,0,4,0,0,0,14,0,0,0,14,0,0, - 0,14,0,0,0,31,0,0,0,31,0,0,0,31,0,0, - 0,63,128,0,0,63,128,0,0,63,128,0,0,111,192,0, - 0,111,192,0,0,79,192,0,0,199,192,0,0,199,224,0, - 0,135,224,0,1,131,224,0,1,131,240,0,1,3,240,0, - 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, - 6,0,252,0,4,0,252,0,12,0,124,0,12,0,124,0, - 30,0,126,0,255,199,255,192,26,37,148,29,2,0,0,31, - 0,0,0,63,128,0,0,97,192,0,0,96,192,0,0,96, - 192,0,0,113,192,0,0,63,128,0,0,30,0,0,0,0, - 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, - 0,0,0,31,0,0,0,31,0,0,0,31,128,0,0,63, - 128,0,0,63,128,0,0,47,128,0,0,111,192,0,0,79, - 192,0,0,71,192,0,0,135,224,0,0,135,224,0,0,131, - 224,0,1,3,240,0,1,3,240,0,3,1,240,0,3,255, - 248,0,2,1,248,0,6,0,248,0,4,0,252,0,4,0, - 252,0,12,0,252,0,12,0,124,0,28,0,254,0,255,199, - 255,192,36,28,140,38,1,0,0,7,255,255,224,0,1,254, - 3,224,0,1,254,1,224,0,1,254,0,224,0,1,254,0, - 224,0,3,126,0,96,0,3,126,0,96,0,6,126,0,32, - 0,6,126,4,32,0,12,126,4,0,0,12,126,12,0,0, - 24,126,12,0,0,24,126,28,0,0,48,127,252,0,0,48, - 126,60,0,0,96,126,28,0,0,96,126,12,0,0,192,126, - 4,48,0,192,126,4,48,1,255,254,4,48,1,128,126,0, - 48,3,0,126,0,112,3,0,126,0,112,6,0,126,0,240, - 6,0,126,0,240,14,0,126,1,240,63,0,126,7,240,255, - 199,255,255,240,21,37,111,26,3,248,1,254,48,7,3,48, - 14,1,240,30,0,240,60,0,240,60,0,112,124,0,112,124, - 0,48,124,0,48,252,0,48,252,0,48,252,0,16,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,24, - 252,0,24,124,0,16,124,0,16,124,0,16,60,0,48,60, - 0,32,30,0,96,14,0,192,7,1,128,1,254,0,0,32, - 0,0,96,0,0,120,0,0,28,0,0,14,0,0,14,0, - 0,14,0,2,28,0,1,248,0,22,37,111,26,2,0,1, - 128,0,1,192,0,1,224,0,0,224,0,0,112,0,0,24, - 0,0,8,0,0,0,0,0,0,0,255,255,252,15,192,124, - 15,192,60,15,192,28,15,192,28,15,192,12,15,192,12,15, - 192,12,15,193,4,15,193,0,15,195,0,15,195,0,15,199, - 0,15,255,0,15,199,0,15,195,0,15,195,0,15,193,4, - 15,193,4,15,193,4,15,192,12,15,192,12,15,192,12,15, - 192,28,15,192,28,15,192,60,15,192,252,255,255,252,22,37, - 111,26,2,0,0,1,192,0,3,192,0,3,192,0,7,128, - 0,14,0,0,12,0,0,24,0,0,0,0,0,0,0,255, - 255,252,15,192,124,15,192,60,15,192,28,15,192,28,15,192, - 12,15,192,12,15,192,4,15,193,4,15,193,0,15,195,0, - 15,195,0,15,199,0,15,255,0,15,199,0,15,195,0,15, - 195,0,15,193,4,15,193,4,15,193,4,15,192,4,15,192, - 12,15,192,12,15,192,28,15,192,28,15,192,60,15,192,252, - 255,255,252,22,37,111,26,2,0,0,8,0,0,24,0,0, - 60,0,0,126,0,0,231,0,1,193,128,3,0,64,0,0, - 0,0,0,0,255,255,252,15,192,124,15,192,60,15,192,28, - 15,192,28,15,192,12,15,192,12,15,192,12,15,193,4,15, - 193,0,15,195,0,15,195,0,15,199,0,15,255,0,15,199, - 0,15,195,0,15,195,0,15,193,4,15,193,4,15,193,4, - 15,192,12,15,192,12,15,192,12,15,192,28,15,192,28,15, - 192,60,15,192,252,255,255,252,22,36,108,26,2,0,1,193, - 192,3,227,224,3,227,224,3,227,224,1,193,192,0,0,0, - 0,0,0,0,0,0,255,255,252,15,192,124,15,192,60,15, - 192,28,15,192,28,15,192,12,15,192,12,15,192,4,15,193, - 4,15,193,0,15,195,0,15,195,0,15,199,0,15,255,0, - 15,199,0,15,195,0,15,195,0,15,193,4,15,193,4,15, - 193,4,15,192,4,15,192,12,15,192,12,15,192,28,15,192, - 28,15,192,60,15,192,252,255,255,252,13,37,74,17,2,0, - 96,0,112,0,120,0,56,0,28,0,14,0,2,0,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, - 0,112,0,240,1,240,1,224,3,128,7,0,4,0,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, - 6,0,6,0,15,0,31,128,57,192,112,112,192,24,0,0, - 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,255,248,13,36,72,16,2,0, - 112,112,248,248,248,248,248,248,112,112,0,0,0,0,0,0, - 255,248,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,255,248,25,28,112,29,2,0,255,255, - 128,0,31,128,224,0,31,128,112,0,31,128,56,0,31,128, - 60,0,31,128,30,0,31,128,30,0,31,128,31,0,31,128, - 31,0,31,128,31,0,31,128,31,128,31,128,31,128,31,128, - 31,128,255,248,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,30,0,31,128,30,0,31,128,60,0,31,128, - 56,0,31,128,112,0,31,128,224,0,255,255,128,0,27,36, - 144,30,2,0,0,24,0,0,0,62,32,0,0,127,224,0, - 0,71,192,0,0,1,128,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,128,255,224,31,192,63,0,31,192,30,0, - 15,224,12,0,7,240,12,0,7,240,12,0,7,248,12,0, - 7,248,12,0,6,252,12,0,6,254,12,0,6,126,12,0, - 6,63,12,0,6,63,140,0,6,31,140,0,6,31,204,0, - 6,15,236,0,6,7,236,0,6,7,252,0,6,3,252,0, - 6,1,252,0,6,1,252,0,6,0,252,0,6,0,252,0, - 6,0,124,0,6,0,60,0,15,0,60,0,31,128,28,0, - 255,224,12,0,22,37,111,27,3,1,7,128,0,7,128,0, - 3,192,0,1,192,0,0,224,0,0,112,0,0,16,0,0, - 0,0,0,0,0,1,254,0,3,3,0,6,1,128,14,1, - 192,28,0,224,60,0,240,60,0,240,124,0,248,124,0,248, - 124,0,248,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, - 248,124,0,248,60,0,240,60,0,240,28,0,224,14,1,192, - 6,1,128,3,3,0,1,254,0,22,37,111,27,3,1,0, - 7,128,0,7,128,0,15,0,0,14,0,0,28,0,0,56, - 0,0,32,0,0,0,0,0,0,0,1,254,0,3,3,0, - 6,1,128,14,1,192,28,0,224,60,0,240,60,0,240,124, - 0,248,124,0,248,124,0,248,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, - 124,0,248,124,0,248,124,0,248,60,0,240,60,0,240,28, - 0,224,14,1,192,6,1,128,3,3,0,1,254,0,22,37, - 111,27,3,0,0,48,0,0,48,0,0,120,0,0,252,0, - 1,206,0,3,135,0,6,1,128,0,0,0,0,0,0,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,0, - 240,60,0,240,28,0,224,14,1,192,6,1,128,3,3,0, - 1,254,0,22,36,108,27,3,0,1,192,128,3,241,128,3, - 255,0,4,63,0,4,12,0,0,0,0,0,0,0,0,0, - 0,1,254,0,3,3,0,6,1,128,14,1,192,28,0,224, - 60,0,240,60,0,240,124,0,248,124,0,248,124,0,248,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,252,0,252,252,0,252,124,0,248,124,0,248,124,0,248, - 60,0,240,60,0,240,28,0,224,14,1,192,6,1,128,3, - 3,0,1,254,0,22,36,108,27,3,0,3,131,128,7,199, - 192,7,199,192,7,199,192,3,131,128,0,0,0,0,0,0, - 0,0,0,1,254,0,3,3,0,6,1,128,14,1,192,28, - 0,224,60,0,240,60,0,240,124,0,248,124,0,248,124,0, - 248,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, - 252,0,252,252,0,252,252,0,252,124,0,248,124,0,248,124, - 0,248,60,0,240,60,0,240,28,0,224,14,1,192,6,1, - 128,3,3,0,1,254,0,24,25,75,36,6,254,64,0,2, - 224,0,7,240,0,14,120,0,28,60,0,60,30,0,120,15, - 0,240,7,129,224,3,195,192,1,231,128,0,239,0,0,126, - 0,0,60,0,0,124,0,0,254,0,1,231,0,3,195,128, - 7,129,192,15,0,224,30,0,112,60,0,56,120,0,28,112, - 0,14,224,0,7,192,0,2,22,28,84,27,3,1,1,254, - 12,3,3,152,6,3,208,14,1,240,28,1,224,60,1,240, - 60,1,240,124,1,248,124,3,248,124,6,248,252,14,252,252, - 12,252,252,24,252,252,56,252,252,112,252,252,96,252,252,192, - 252,253,192,252,125,128,248,127,0,248,126,0,248,62,0,240, - 62,0,240,30,0,224,62,1,192,46,1,128,103,3,0,193, - 254,0,26,37,148,30,3,1,0,224,0,0,0,240,0,0, - 0,120,0,0,0,56,0,0,0,28,0,0,0,12,0,0, - 0,6,0,0,0,0,0,0,0,0,0,0,255,240,127,192, - 31,128,31,0,31,128,14,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,15,128,12,0,15,192,12,0,7,192,24,0, - 7,224,56,0,1,252,240,0,0,255,192,0,26,37,148,30, - 3,1,0,0,224,0,0,1,224,0,0,1,224,0,0,3, - 192,0,0,7,0,0,0,6,0,0,0,12,0,0,0,0, - 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, - 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, - 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, - 240,0,0,255,192,0,26,37,148,30,3,0,0,4,0,0, - 0,14,0,0,0,31,0,0,0,31,128,0,0,59,192,0, - 0,224,224,0,1,128,48,0,0,0,0,0,0,0,0,0, - 255,240,127,192,31,128,31,0,31,128,14,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, - 31,128,6,0,31,128,6,0,15,128,4,0,15,128,12,0, - 7,192,24,0,7,224,24,0,1,240,112,0,0,255,192,0, - 26,36,144,30,3,0,0,224,224,0,1,241,240,0,1,241, - 240,0,1,241,240,0,0,224,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, - 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, - 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, - 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, - 240,0,0,255,192,0,25,37,148,28,2,0,0,0,224,0, - 0,0,224,0,0,1,224,0,0,3,192,0,0,3,128,0, - 0,6,0,0,0,12,0,0,0,0,0,0,0,0,0,0, - 255,240,255,128,31,192,60,0,31,192,24,0,15,192,24,0, - 15,224,24,0,7,224,16,0,7,224,48,0,3,240,32,0, - 3,240,32,0,1,248,96,0,1,248,64,0,1,252,64,0, - 0,252,192,0,0,254,128,0,0,127,128,0,0,127,128,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,1,255,224,0, - 23,28,84,27,2,0,255,248,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,255,128,31,129,224,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,255,248,0,19,28,84,22,1,0, - 0,248,0,3,156,0,7,142,0,15,15,0,15,15,0,15, - 15,0,31,15,0,31,15,0,31,14,0,31,28,0,31,112, - 0,31,12,0,31,7,0,31,7,128,31,3,192,31,3,192, - 31,3,192,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,224,31,115,224,31,243,192,31,243,192,31,227,128,31,103, - 0,255,62,0,17,28,84,20,2,0,56,0,0,60,0,0, - 60,0,0,30,0,0,14,0,0,3,0,0,1,0,0,0, - 0,0,0,0,0,15,192,0,24,240,0,48,120,0,112,120, - 0,124,124,0,124,124,0,56,124,0,1,252,0,14,124,0, - 28,124,0,56,124,0,120,124,0,248,124,0,248,124,128,248, - 124,128,248,124,128,252,253,128,127,191,0,62,30,0,17,28, - 84,20,2,0,0,48,0,0,112,0,0,240,0,0,224,0, - 1,192,0,1,128,0,3,0,0,0,0,0,0,0,0,15, - 192,0,24,240,0,48,120,0,112,120,0,124,124,0,124,124, - 0,124,124,0,0,252,0,7,124,0,28,124,0,56,124,0, - 120,124,0,248,124,0,248,124,128,248,124,128,248,124,128,252, - 253,128,127,191,0,62,30,0,17,28,84,20,2,0,3,0, - 0,3,128,0,7,128,0,7,192,0,12,224,0,24,112,0, - 48,24,0,0,0,0,0,0,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,17,27,81,20,2,0,14,8,0,31,152,0,63,240, - 0,35,240,0,32,224,0,0,0,0,0,0,0,0,0,0, - 15,192,0,24,240,0,48,120,0,112,120,0,124,124,0,124, - 124,0,124,124,0,0,252,0,7,124,0,28,124,0,56,124, - 0,120,124,0,248,124,0,248,124,128,248,124,128,248,124,128, - 252,253,128,127,191,0,62,30,0,17,27,81,20,2,0,56, - 112,0,124,248,0,124,248,0,124,248,0,56,112,0,0,0, - 0,0,0,0,0,0,0,15,192,0,24,240,0,48,120,0, - 112,120,0,124,124,0,124,124,0,124,124,0,0,252,0,7, - 124,0,28,124,0,56,124,0,120,124,0,248,124,0,248,124, - 128,248,124,128,248,124,128,252,253,128,127,191,0,62,30,0, - 17,28,84,20,2,1,15,192,0,12,192,0,24,96,0,24, - 96,0,24,96,0,28,224,0,15,192,0,7,128,0,0,0, - 0,15,192,0,16,240,0,48,120,0,112,120,0,120,124,0, - 124,124,0,124,124,0,0,252,0,7,124,0,28,124,0,56, - 124,0,120,124,0,248,124,0,248,124,128,248,124,128,248,124, - 128,252,253,128,127,255,0,62,62,0,23,19,57,27,2,0, - 15,195,224,24,238,112,48,124,56,112,124,60,120,124,60,124, - 124,62,124,124,62,24,124,62,3,252,62,14,127,254,60,124, - 0,120,124,0,248,124,2,248,124,2,248,124,2,248,124,4, - 252,222,4,127,143,8,63,3,240,14,27,54,18,2,248,7, - 224,14,48,60,24,60,28,120,60,120,124,248,124,248,120,248, - 48,248,0,248,0,248,0,248,0,120,4,120,4,56,4,60, - 8,30,16,7,224,2,0,2,0,3,128,0,192,0,224,0, - 224,0,224,7,128,14,28,56,18,2,0,56,0,56,0,60, - 0,30,0,14,0,7,0,1,0,0,0,0,0,7,192,28, - 224,56,112,56,120,120,120,120,124,248,124,248,124,248,124,255, - 252,248,0,248,0,248,4,120,4,120,4,56,8,60,24,30, - 48,7,192,14,28,56,18,2,0,0,112,0,112,0,240,1, - 224,1,192,3,128,2,0,0,0,0,0,7,192,28,224,56, - 112,56,120,120,120,120,124,248,124,248,124,255,252,248,0,248, - 0,248,0,248,4,120,4,120,12,56,8,60,24,30,48,7, - 192,14,28,56,18,2,0,3,0,7,128,7,128,15,192,12, - 192,24,96,48,56,0,0,0,0,7,192,28,224,56,112,56, - 120,120,120,120,124,248,124,248,124,248,124,255,252,248,0,248, - 0,248,0,120,4,120,4,56,8,60,8,30,16,7,224,14, - 27,54,18,2,0,56,112,124,248,124,248,124,248,56,112,0, - 0,0,0,0,0,7,192,28,224,56,112,56,120,120,120,120, - 124,248,124,248,124,248,124,255,252,248,0,248,0,248,0,120, - 4,120,12,56,8,60,24,30,48,7,192,10,28,56,12,1, - 0,224,0,240,0,248,0,120,0,28,0,14,0,2,0,0, - 0,0,0,127,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,127,192,9,28,56,12,2,0,1, - 128,3,128,7,128,15,0,14,0,28,0,16,0,0,0,0, - 0,254,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,11,28,56,11,1,0,14,0,30, - 0,31,0,63,0,115,128,224,192,128,96,0,0,0,0,127, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,127,192,11,27,54,12,1,0,113,192,251,224,251, - 224,251,224,113,192,0,0,0,0,0,0,127,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,127, - 192,16,28,56,20,2,0,31,8,15,184,7,224,7,224,7, - 224,13,240,16,248,0,248,0,124,7,252,30,126,60,62,56, - 62,120,30,120,31,248,31,248,31,248,31,248,31,248,31,248, - 31,248,30,120,30,120,30,56,60,60,60,12,112,7,224,19, - 27,81,22,2,0,0,2,0,7,194,0,15,254,0,15,252, - 0,8,120,0,0,0,0,0,0,0,0,0,0,254,60,0, - 62,222,0,63,15,0,63,15,128,63,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,255,191,224,16,28,56,20,2,0,24,0,28,0, - 30,0,15,0,7,0,3,128,0,192,0,0,0,0,7,192, - 12,112,28,56,56,60,120,30,120,30,248,30,248,31,248,31, - 248,31,248,31,248,31,248,30,120,30,120,30,56,60,28,56, - 12,112,7,192,16,28,56,20,2,0,0,56,0,56,0,120, - 0,240,0,224,1,192,3,0,0,0,0,0,7,192,12,112, - 28,56,56,60,120,30,120,30,248,30,248,31,248,31,248,31, - 248,31,248,31,248,30,120,30,120,30,56,60,28,56,12,112, - 7,192,16,28,56,20,2,0,3,128,3,192,3,192,7,224, - 14,112,28,56,48,12,0,0,0,0,7,192,12,112,28,56, - 56,60,120,30,120,30,248,30,248,31,248,31,248,31,248,31, - 248,31,248,30,120,30,120,30,56,60,28,56,12,112,7,192, - 16,27,54,20,2,0,14,4,31,140,31,248,35,248,32,112, - 0,0,0,0,0,0,7,192,12,112,28,56,56,60,120,30, - 120,30,248,30,248,31,248,31,248,31,248,31,248,31,248,30, - 120,30,120,30,56,60,28,56,12,112,7,192,16,27,54,20, - 2,0,28,56,62,124,62,124,62,124,28,56,0,0,0,0, - 0,0,7,192,12,112,28,56,56,60,120,30,120,30,248,30, - 248,31,248,31,248,31,248,31,248,31,248,30,120,30,120,30, - 56,60,28,56,12,112,7,192,33,26,130,37,2,253,0,3, - 192,0,0,0,7,224,0,0,0,7,224,0,0,0,7,224, - 0,0,0,7,224,0,0,0,3,192,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,255,128,255,255,255,255,128,255, - 255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,3,192,0,0,0,7,224,0,0,0,7,224,0, - 0,0,7,224,0,0,0,7,224,0,0,0,3,192,0,0, - 16,19,38,20,2,0,7,225,12,114,28,60,56,60,120,62, - 120,62,248,126,248,95,248,223,249,159,251,31,254,31,252,30, - 124,30,120,30,60,28,124,56,78,48,135,192,19,28,84,21, - 1,0,12,0,0,30,0,0,15,0,0,7,0,0,3,128, - 0,1,192,0,0,64,0,0,0,0,0,0,0,254,63,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,31,128,62,31,128,30,47,128, - 31,79,128,7,143,224,19,28,84,21,1,0,0,28,0,0, - 60,0,0,60,0,0,120,0,0,224,0,0,192,0,1,128, - 0,0,0,0,0,0,0,254,63,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, - 128,62,31,128,62,31,128,30,47,128,30,79,128,7,143,224, - 19,28,84,21,1,0,1,192,0,1,224,0,3,224,0,3, - 240,0,7,56,0,12,28,0,24,4,0,0,0,0,0,0, - 0,254,63,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,62,15,128,62,31,128,62,31, - 128,30,47,128,30,79,128,7,143,224,19,27,81,21,1,0, - 28,28,0,62,62,0,62,62,0,62,62,0,28,28,0,0, - 0,0,0,0,0,0,0,0,254,63,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,31,128,62,31,128,30,47,128,30,79,128,7,143, - 224,18,37,111,19,0,247,0,14,0,0,30,0,0,30,0, - 0,60,0,0,48,0,0,96,0,0,192,0,0,0,0,0, - 0,0,255,207,192,63,3,0,31,3,0,31,2,0,15,2, - 0,15,130,0,15,132,0,7,196,0,7,196,0,3,196,0, - 3,232,0,3,232,0,1,248,0,1,240,0,0,240,0,0, - 240,0,0,96,0,0,96,0,0,96,0,0,32,0,0,64, - 0,12,64,0,30,64,0,62,128,0,62,128,0,60,128,0, - 29,0,0,14,0,0,18,36,108,20,0,247,3,0,0,15, - 0,0,63,0,0,223,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,31,0,31,63,128,31,71,128,31,135,192, - 31,135,192,31,7,192,31,7,192,31,7,192,31,7,128,31, - 7,128,31,15,0,31,15,0,31,14,0,31,12,0,31,24, - 0,31,48,0,31,96,0,31,128,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,30, - 0,0,56,0,0,224,0,0,19,36,108,20,0,247,7,14, - 0,15,159,0,15,159,0,15,159,0,7,14,0,0,0,0, - 0,0,0,0,0,0,255,207,224,63,3,0,31,3,0,31, - 2,0,15,2,0,15,130,0,15,132,0,7,196,0,7,196, - 0,3,196,0,3,232,0,3,232,0,1,248,0,1,240,0, - 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, - 32,0,0,64,0,12,64,0,30,64,0,62,64,0,62,128, - 0,60,128,0,29,0,0,14,0,0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 28 - Calculated Max Values w=33 h=37 x= 5 y=12 dx=37 dy= 0 ascent=29 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =28 descent= 0 - X Font ascent =28 descent= 0 - Max Font ascent =29 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29n[1257] U8G_FONT_SECTION("u8g_font_osb29n") = { - 0,107,49,223,245,28,0,0,0,0,42,58,0,29,248,28, - 0,14,16,32,19,3,12,3,0,7,128,7,128,199,24,227, - 60,242,124,122,248,7,128,7,128,250,248,242,124,227,60,199, - 24,7,128,7,128,3,0,33,33,165,37,2,251,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,255,255,255,255,128,255,255,255, - 255,128,255,255,255,255,128,0,1,192,0,0,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,7,13,13,10,2,249,120,252,252,254,254,126,6,4, - 4,8,24,96,192,10,4,8,14,2,8,255,192,255,192,255, - 192,255,192,6,6,6,10,2,0,120,252,252,252,252,120,13, - 37,74,17,2,248,0,24,0,56,0,56,0,48,0,112,0, - 112,0,96,0,96,0,224,0,224,0,192,1,192,1,192,1, - 128,3,128,3,128,3,128,3,0,7,0,7,0,6,0,14, - 0,14,0,12,0,12,0,28,0,28,0,24,0,56,0,56, - 0,48,0,112,0,112,0,112,0,96,0,224,0,224,0,18, - 28,84,22,2,1,3,240,0,14,28,0,14,28,0,28,14, - 0,60,15,0,60,15,0,124,15,128,124,15,128,124,15,128, - 252,15,192,252,15,192,252,15,192,252,15,192,252,15,192,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,124,15, - 128,124,15,128,124,15,128,60,15,0,60,15,0,28,14,0, - 12,28,0,14,28,0,3,240,0,13,28,56,22,5,0,3, - 128,7,128,15,128,255,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,255,248,17,28,84,22,2,1,15,248,0, - 24,62,0,48,63,0,112,31,0,240,31,128,240,31,128,252, - 31,128,252,31,128,254,31,128,126,63,0,60,63,0,0,126, - 0,0,252,0,0,248,0,1,224,0,3,128,0,6,0,0, - 12,0,128,24,0,128,16,0,128,32,0,128,47,1,128,127, - 255,128,127,255,128,71,255,0,67,255,0,65,254,0,64,252, - 0,17,28,84,22,2,1,15,248,0,24,62,0,48,63,0, - 48,31,0,112,31,128,120,31,128,124,31,128,124,31,128,124, - 31,128,60,31,0,0,31,0,0,62,0,0,120,0,15,192, - 0,0,120,0,0,62,0,0,63,0,0,31,0,16,31,128, - 124,31,128,252,31,128,252,31,128,252,31,128,248,31,128,240, - 63,0,112,62,0,56,124,0,31,248,0,18,28,84,22,2, - 0,0,124,0,0,124,0,0,252,0,0,252,0,1,252,0, - 1,252,0,3,252,0,3,252,0,6,252,0,6,252,0,12, - 252,0,12,252,0,24,252,0,24,252,0,48,252,0,48,252, - 0,96,252,0,96,252,0,192,252,0,255,255,192,0,252,0, - 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,15,255,192,17,29,87,22,3,0,0,6,0,112,28, - 0,127,252,0,127,248,0,127,224,0,127,192,0,126,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,120, - 120,0,112,62,0,96,62,0,96,31,0,0,31,0,0,31, - 128,0,31,128,56,31,128,124,31,128,252,31,128,252,31,128, - 248,31,0,240,31,0,224,30,0,96,62,0,48,124,0,31, - 240,0,18,29,87,22,3,0,0,32,0,3,220,0,7,6, - 0,14,6,0,30,15,0,60,31,0,60,63,0,124,63,0, - 124,62,0,124,28,0,252,0,0,252,0,0,252,0,0,253, - 248,0,255,30,0,254,31,0,252,15,128,252,15,128,252,15, - 192,252,15,192,252,15,192,124,15,192,124,15,192,124,15,192, - 60,15,128,28,15,128,30,15,0,14,30,0,3,252,0,17, - 28,84,22,3,0,103,135,0,111,199,0,127,227,128,127,241, - 128,127,249,128,127,255,128,96,125,128,64,1,0,64,3,0, - 64,3,0,192,6,0,0,4,0,0,12,0,0,24,0,0, - 56,0,0,112,0,0,112,0,0,240,0,1,240,0,3,224, - 0,3,224,0,3,224,0,7,224,0,7,224,0,7,224,0, - 7,224,0,7,224,0,3,192,0,19,29,87,22,2,0,0, - 64,0,7,184,0,28,6,0,56,3,0,112,1,0,112,1, - 128,240,1,128,240,1,128,248,1,128,252,3,0,255,2,0, - 127,196,0,127,248,0,63,252,0,31,255,0,15,255,128,27, - 255,128,48,255,192,96,63,192,96,15,192,224,3,224,224,1, - 192,224,1,192,224,1,192,224,1,192,112,1,128,56,1,0, - 28,6,0,15,252,0,18,28,84,22,3,1,15,240,0,30, - 28,0,60,30,0,124,14,0,124,15,0,252,15,128,252,15, - 128,252,15,128,252,15,128,252,15,192,252,15,192,124,15,192, - 124,15,192,62,31,192,30,63,192,7,239,192,0,15,192,0, - 15,192,0,15,192,30,15,128,31,15,128,63,15,128,63,15, - 0,62,15,0,56,30,0,24,28,0,24,56,0,15,240,0, - 6,19,19,10,2,0,120,252,252,252,252,120,0,0,0,0, - 0,0,0,120,252,252,252,252,120}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=38 h=37 x= 5 y=21 dx=41 dy= 0 ascent=31 len=165 - Font Bounding box w=107 h=49 x=-33 y=-11 - Calculated Min Values x=-2 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =29 descent=-9 - Max Font ascent =31 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_FONT_SECTION("u8g_font_osb29r") = { - 0,107,49,223,245,29,9,166,21,115,32,127,247,31,247,29, - 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, - 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, - 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, - 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, - 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, - 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, - 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, - 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, - 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, - 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, - 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, - 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, - 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, - 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, - 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, - 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, - 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, - 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, - 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, - 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, - 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, - 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, - 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, - 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, - 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, - 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, - 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, - 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, - 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, - 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, - 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, - 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, - 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, - 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, - 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, - 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, - 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, - 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, - 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, - 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, - 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, - 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, - 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, - 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, - 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, - 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, - 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, - 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, - 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, - 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, - 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, - 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, - 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, - 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, - 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, - 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, - 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, - 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, - 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, - 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, - 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, - 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, - 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, - 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, - 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, - 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, - 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, - 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, - 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, - 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, - 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, - 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, - 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, - 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, - 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, - 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, - 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, - 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, - 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, - 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, - 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, - 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120, - 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, - 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, - 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, - 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, - 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, - 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, - 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, - 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, - 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, - 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, - 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, - 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, - 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, - 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, - 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, - 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, - 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, - 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, - 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, - 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, - 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, - 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, - 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, - 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, - 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, - 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, - 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, - 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, - 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, - 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, - 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, - 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, - 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, - 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, - 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, - 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, - 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, - 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, - 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, - 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, - 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, - 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, - 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, - 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, - 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, - 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, - 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, - 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, - 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, - 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, - 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, - 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, - 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, - 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, - 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, - 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, - 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, - 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, - 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, - 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, - 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, - 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, - 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, - 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, - 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, - 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, - 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, - 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, - 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, - 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, - 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, - 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, - 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, - 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, - 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, - 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, - 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, - 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, - 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, - 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, - 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, - 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, - 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, - 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, - 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, - 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, - 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, - 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, - 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, - 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, - 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, - 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, - 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, - 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, - 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, - 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, - 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, - 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, - 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, - 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, - 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, - 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, - 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, - 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, - 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, - 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, - 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, - 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, - 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, - 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, - 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, - 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, - 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, - 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, - 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, - 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, - 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, - 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, - 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, - 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, - 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, - 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, - 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, - 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, - 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, - 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, - 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, - 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, - 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, - 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, - 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, - 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, - 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, - 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, - 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, - 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, - 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, - 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, - 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, - 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, - 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, - 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, - 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, - 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, - 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, - 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, - 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, - 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, - 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, - 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, - 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, - 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, - 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, - 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, - 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, - 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, - 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, - 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, - 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, - 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, - 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, - 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, - 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, - 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, - 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, - 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, - 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, - 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, - 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, - 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, - 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, - 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, - 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, - 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, - 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, - 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, - 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, - 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, - 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, - 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, - 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, - 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, - 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, - 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, - 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, - 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, - 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, - 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, - 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, - 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, - 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, - 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, - 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, - 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, - 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, - 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, - 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, - 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, - 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, - 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, - 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, - 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, - 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, - 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, - 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, - 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, - 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, - 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, - 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, - 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, - 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, - 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, - 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, - 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, - 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, - 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, - 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, - 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, - 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, - 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, - 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, - 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, - 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, - 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, - 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, - 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, - 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, - 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, - 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, - 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, - 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, - 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, - 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, - 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, - 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, - 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, - 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, - 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, - 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, - 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, - 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, - 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, - 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, - 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, - 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, - 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, - 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, - 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, - 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, - 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, - 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, - 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, - 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, - 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, - 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, - 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, - 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, - 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, - 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, - 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, - 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, - 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, - 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, - 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, - 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, - 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, - 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, - 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, - 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, - 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, - 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, - 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, - 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, - 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, - 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, - 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, - 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, - 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, - 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, - 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, - 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, - 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, - 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, - 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, - 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, - 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, - 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, - 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, - 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, - 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, - 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, - 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, - 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, - 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, - 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, - 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, - 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, - 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, - 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, - 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, - 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, - 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, - 127,248,192,31,240,96,3,224,255}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 9 y=28 dx=52 dy= 0 ascent=45 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x=-2 y=-12 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =35 descent=-10 - Max Font ascent =45 descent=-12 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35[22097] U8G_FONT_SECTION("u8g_font_osb35") = { - 0,133,60,215,242,35,12,220,29,224,32,255,246,45,244,35, - 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, - 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, - 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, - 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, - 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, - 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, - 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, - 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, - 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, - 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, - 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, - 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, - 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, - 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, - 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, - 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, - 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, - 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, - 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, - 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, - 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, - 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, - 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, - 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, - 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, - 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, - 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, - 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, - 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, - 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, - 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, - 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, - 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, - 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, - 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, - 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, - 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, - 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, - 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, - 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, - 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, - 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, - 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, - 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, - 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, - 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, - 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, - 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, - 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, - 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, - 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, - 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, - 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, - 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, - 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, - 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, - 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, - 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, - 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, - 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, - 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, - 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, - 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, - 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, - 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, - 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, - 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, - 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, - 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, - 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, - 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, - 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, - 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, - 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, - 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, - 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, - 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, - 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, - 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, - 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, - 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, - 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, - 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, - 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, - 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, - 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, - 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, - 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, - 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, - 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, - 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, - 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, - 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, - 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, - 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, - 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, - 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, - 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, - 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, - 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, - 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, - 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, - 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, - 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, - 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, - 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, - 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, - 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, - 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, - 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, - 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, - 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, - 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, - 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, - 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, - 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, - 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, - 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, - 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, - 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, - 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, - 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, - 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, - 0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13, - 2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128, - 1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0, - 64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0, - 0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31, - 128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0, - 0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0, - 3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126, - 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, - 0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0, - 0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0, - 3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0, - 15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0, - 127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1, - 248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15, - 224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48, - 41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255, - 255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, - 255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120, - 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, - 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, - 0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0, - 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, - 0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0, - 0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0, - 0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0, - 63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224, - 0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0, - 0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0, - 252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128, - 0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0, - 0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252, - 192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248, - 1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16, - 12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128, - 3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39, - 2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112, - 0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0, - 12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56, - 15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62, - 7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7, - 192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128, - 224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128, - 112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56, - 60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0, - 0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0, - 96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36, - 2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, - 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, - 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, - 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, - 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, - 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, - 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, - 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, - 15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7, - 240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255, - 128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15, - 224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15, - 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, - 224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15, - 224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15, - 224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15, - 224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15, - 224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15, - 224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26, - 34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63, - 128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7, - 128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3, - 128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1, - 128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, - 0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0, - 192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1, - 128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6, - 0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136, - 37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15, - 224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15, - 224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15, - 224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15, - 224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3, - 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, - 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, - 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, - 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, - 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, - 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, - 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, - 224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255, - 255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7, - 240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7, - 240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7, - 240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7, - 255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7, - 240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224, - 192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7, - 192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1, - 192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0, - 192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0, - 0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31, - 192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31, - 192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31, - 192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192, - 192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23, - 34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15, - 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, - 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, - 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, - 224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224, - 255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96, - 15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3, - 0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0, - 7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7, - 240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240, - 48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224, - 0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0, - 0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0, - 7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7, - 240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240, - 63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15, - 240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248, - 0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3, - 0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0, - 112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0, - 240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7, - 240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255, - 240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248, - 0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0, - 95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223, - 192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192, - 6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6, - 63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15, - 226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244, - 31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31, - 192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192, - 6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63, - 192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255, - 224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248, - 0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0, - 48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48, - 0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0, - 3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3, - 7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1, - 255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127, - 240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240, - 0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0, - 3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63, - 240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34, - 136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0, - 7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128, - 63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224, - 127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192, - 31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0, - 3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34, - 3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240, - 15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240, - 7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240, - 7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240, - 15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246, - 0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0, - 15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128, - 63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224, - 127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128, - 15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16, - 0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16, - 0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240, - 0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128, - 0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240, - 126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240, - 31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240, - 31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240, - 63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240, - 62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240, - 31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240, - 31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240, - 31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255, - 135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1, - 7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240, - 0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128, - 24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128, - 15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192, - 15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0, - 30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48, - 195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248, - 255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248, - 240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56, - 192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24, - 128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15, - 248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248, - 0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0, - 96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192, - 0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0, - 0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0, - 63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15, - 230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252, - 0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0, - 0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0, - 0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0, - 0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255, - 128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7, - 248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1, - 254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0, - 192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0, - 0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255, - 3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63, - 195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0, - 0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0, - 31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248, - 7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252, - 0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0, - 0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3, - 224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0, - 240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0, - 0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255, - 31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3, - 128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0, - 0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0, - 0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0, - 31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15, - 248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252, - 0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0, - 0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0, - 0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3, - 128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128, - 31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254, - 15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248, - 0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254, - 1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127, - 134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31, - 204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128, - 127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0, - 120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0, - 96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0, - 0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0, - 0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128, - 3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128, - 15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128, - 63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128, - 255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44, - 88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0, - 120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0, - 14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128, - 3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240, - 0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28, - 0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18, - 3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0, - 112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207, - 0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224, - 60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25, - 3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255, - 128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1, - 21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120, - 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, - 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, - 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, - 63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193, - 248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99, - 192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0, - 31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252, - 31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128, - 62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26, - 2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224, - 0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62, - 15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, - 252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30, - 31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252, - 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, - 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, - 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, - 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, - 18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7, - 199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135, - 128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27, - 2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7, - 238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192, - 31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48, - 0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255, - 240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56, - 192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30, - 7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31, - 143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192, - 252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227, - 255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63, - 128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0, - 0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92, - 16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0, - 124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124, - 252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25, - 34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96, - 0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0, - 0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128, - 0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224, - 0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252, - 0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68, - 14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193, - 248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63, - 0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0, - 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, - 3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3, - 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, - 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, - 0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2, - 1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248, - 63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30, - 7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62, - 7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1, - 246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248, - 31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192, - 252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224, - 31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96, - 30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252, - 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224, - 62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66, - 20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63, - 159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0, - 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, - 63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63, - 0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96, - 60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63, - 240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240, - 7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1, - 128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63, - 128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31, - 130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66, - 26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15, - 201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192, - 120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96, - 7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1, - 249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126, - 0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0, - 35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128, - 31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15, - 192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224, - 191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31, - 144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224, - 0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0, - 0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0, - 56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255, - 231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227, - 0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0, - 0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3, - 15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207, - 254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48, - 15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3, - 240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253, - 0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0, - 0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0, - 8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32, - 0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0, - 127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96, - 126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240, - 0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192, - 31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255, - 255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128, - 7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0, - 28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44, - 44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240, - 0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31, - 2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255, - 128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1, - 255,128,48,0,63,0,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,13,0,0,8,35,35, - 14,3,245,60,126,255,255,255,126,60,0,0,0,24,24,24, - 24,24,24,24,24,60,60,60,60,126,126,126,126,254,255,255, - 255,255,255,255,126,60,18,34,102,28,5,250,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,1,240,0,7,236, - 0,15,103,0,30,99,0,62,99,128,126,103,128,126,111,128, - 124,111,128,252,111,128,252,103,0,252,96,0,252,96,0,252, - 96,0,252,96,0,252,96,0,252,96,0,124,96,192,124,96, - 192,62,96,128,62,97,128,30,97,0,15,99,0,7,252,0, - 0,248,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,29,34,136,34,3,1,0,1,255,0,0,7,129,192, - 0,31,0,224,0,31,0,224,0,63,0,240,0,126,1,240, - 0,126,3,240,0,254,3,240,0,254,3,224,0,254,1,192, - 0,254,0,0,0,254,0,0,0,254,0,0,0,254,0,0, - 15,254,0,0,24,126,6,0,0,127,252,0,0,127,0,0, - 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, - 0,31,0,0,0,31,0,0,0,30,0,0,0,30,0,24, - 30,28,0,56,127,220,0,112,195,248,0,224,128,255,255,224, - 128,127,255,192,128,255,255,128,193,207,255,0,127,3,252,0, - 24,22,66,28,2,5,96,126,6,243,255,207,127,255,254,63, - 129,252,30,0,120,60,0,60,56,0,28,56,0,28,112,0, - 14,112,0,14,112,0,14,112,0,14,112,0,14,112,0,14, - 56,0,28,56,0,28,60,0,60,30,0,120,63,129,252,127, - 255,254,243,255,207,96,126,6,26,34,136,28,1,0,255,248, - 63,192,63,224,15,0,31,224,14,0,31,224,12,0,31,224, - 12,0,15,240,8,0,15,240,8,0,7,240,24,0,7,248, - 16,0,3,248,48,0,3,252,32,0,3,252,96,0,1,254, - 64,0,1,254,192,0,0,254,128,0,0,255,128,0,0,255, - 0,0,63,255,254,0,0,127,0,0,0,127,0,0,0,127, - 0,0,0,127,0,0,63,255,254,0,0,127,0,0,0,127, - 0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127, - 0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127, - 0,0,7,255,248,0,3,42,42,13,5,248,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0, - 0,0,0,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,22,43,129,30,2,248,1,255,0,7, - 1,192,14,0,224,28,0,224,28,1,240,60,3,240,60,7, - 240,60,7,240,62,7,224,62,3,192,63,0,0,31,192,0, - 31,248,0,15,254,0,31,255,128,55,255,192,97,255,240,96, - 127,248,224,31,248,224,7,252,240,1,252,252,0,124,255,0, - 60,255,192,28,127,240,24,63,252,24,31,255,16,15,255,160, - 3,255,192,0,255,224,0,63,224,0,15,240,6,3,240,31, - 129,240,63,128,240,63,128,240,63,128,240,63,0,240,62,0, - 224,28,1,192,28,3,192,15,7,0,3,252,0,15,6,12, - 21,3,26,120,60,252,126,252,126,252,126,252,126,120,60,35, - 34,170,39,2,1,0,15,254,0,0,0,112,3,192,0,0, - 192,0,96,0,3,128,0,56,0,6,0,0,28,0,12,0, - 0,6,0,24,3,225,134,0,24,15,25,131,0,48,30,15, - 129,128,48,62,7,129,128,96,60,3,128,192,96,124,3,128, - 192,96,124,1,128,192,192,252,1,128,96,192,252,1,128,96, - 192,252,0,0,96,192,252,0,0,96,192,252,0,0,96,192, - 252,0,0,96,192,252,0,128,96,192,252,0,128,96,64,124, - 0,128,192,96,124,1,128,192,96,60,1,0,192,48,62,3, - 1,128,48,30,2,1,128,24,15,12,3,0,24,3,248,6, - 0,12,0,0,6,0,6,0,0,12,0,3,128,0,56,0, - 0,192,0,96,0,0,112,1,192,0,0,15,254,0,0,14, - 17,34,18,2,17,31,0,51,192,97,224,113,224,121,224,57, - 224,7,224,57,224,113,224,241,224,241,228,241,228,241,228,126, - 248,0,0,127,252,127,252,13,20,40,23,5,1,4,0,28, - 24,24,48,56,112,112,96,112,224,241,224,241,224,241,224,241, - 224,241,224,241,224,241,224,112,224,112,224,112,96,56,48,24, - 16,12,0,4,0,23,13,39,27,2,6,255,255,254,255,255, - 254,255,255,254,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,12,5,10,18,3,10,255,240,255,240,255,240,255,240, - 255,240,35,34,170,39,2,1,0,15,254,0,0,0,112,3, - 192,0,0,192,0,96,0,3,128,0,56,0,6,0,0,28, - 0,12,0,0,6,0,24,255,252,6,0,24,62,31,3,0, - 48,62,15,129,128,48,62,15,193,128,96,62,15,192,192,96, - 62,15,192,192,96,62,15,192,192,192,62,15,128,96,192,62, - 31,0,96,192,63,248,0,96,192,62,60,0,96,192,62,30, - 0,96,192,62,15,0,96,192,62,15,128,96,192,62,15,128, - 96,64,62,15,128,192,96,62,15,136,192,96,62,15,136,192, - 48,62,15,137,128,48,62,15,145,128,24,255,231,243,0,24, - 0,3,230,0,12,0,0,6,0,6,0,0,12,0,3,128, - 0,56,0,0,192,0,96,0,0,112,1,192,0,0,15,254, - 0,0,12,3,6,20,4,28,255,240,255,240,255,240,16,15, - 30,28,6,20,15,240,31,248,62,124,120,30,240,14,224,7, - 224,7,224,7,224,7,224,14,112,14,124,60,63,252,31,240, - 3,192,41,36,216,45,2,253,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,255,255,255,255,255,128,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,255,255,0,255,255,255,255,255,0,255,255,255,255,255,0, - 14,21,42,21,4,14,31,240,48,248,96,124,224,124,240,124, - 248,124,248,120,120,248,1,240,1,224,3,128,6,0,12,4, - 16,4,32,4,32,12,127,252,127,252,79,248,71,248,1,224, - 16,21,42,22,3,14,31,224,48,248,112,124,112,124,124,124, - 124,124,60,124,0,120,0,224,15,128,0,240,0,124,0,62, - 16,63,124,63,252,63,252,63,240,63,112,126,112,252,31,240, - 8,9,9,21,9,25,6,15,31,62,60,120,240,192,128,24, - 35,105,29,3,244,120,3,192,124,3,192,252,7,224,252,7, - 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, - 248,7,224,248,7,224,120,7,192,112,3,192,112,3,193,112, - 3,129,48,3,131,48,7,135,48,7,255,56,15,254,62,62, - 254,47,252,126,35,248,60,32,0,0,48,0,0,112,0,0, - 112,0,0,120,0,0,124,0,0,124,0,0,124,0,0,126, - 0,0,126,0,0,126,0,0,62,0,0,28,0,0,23,41, - 123,28,3,249,3,255,254,15,240,224,63,240,224,127,240,224, - 127,240,224,255,240,224,255,240,224,255,240,224,255,240,224,255, - 240,224,255,240,224,255,240,224,255,240,224,255,240,224,127,240, - 224,63,240,224,31,240,224,7,240,224,0,112,224,0,112,224, - 0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,0, - 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,112, - 224,0,112,224,0,112,224,0,112,224,0,112,224,0,112,224, - 0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,8, - 7,7,14,3,12,60,126,255,255,255,126,60,10,10,20,21, - 5,246,8,0,8,0,24,0,15,0,7,128,3,192,3,192, - 3,192,199,128,63,0,11,20,40,21,5,14,7,0,15,0, - 255,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,255,224,13,17,34,19,3,17,15,128,24,192,56,224, - 112,112,112,112,240,120,240,120,240,120,240,120,240,120,240,120, - 112,112,112,224,56,224,15,128,0,0,255,248,13,20,40,23, - 5,1,1,0,193,128,96,192,112,224,48,112,56,112,56,120, - 60,120,60,120,60,120,60,120,60,120,60,120,56,112,56,112, - 48,112,96,224,64,192,1,128,1,0,36,36,180,44,5,255, - 0,0,0,48,0,7,0,0,48,0,7,0,0,96,0,31, - 0,0,224,0,255,0,0,192,0,31,0,1,192,0,31,0, - 1,128,0,31,0,3,0,0,31,0,7,0,0,31,0,6, - 0,0,31,0,14,0,0,31,0,12,0,0,31,0,24,0, - 0,31,0,24,0,0,31,0,48,0,0,31,0,112,15,0, - 31,0,96,31,0,31,0,224,31,0,31,0,192,63,0,31, - 1,128,127,0,255,227,128,127,0,0,3,0,223,0,0,7, - 1,159,0,0,6,1,159,0,0,12,3,31,0,0,12,2, - 31,0,0,24,6,31,0,0,56,12,31,0,0,48,15,255, - 240,0,112,0,31,0,0,96,0,31,0,0,192,0,31,0, - 1,192,0,31,0,1,128,0,31,0,3,128,1,255,224,3, - 0,0,0,0,35,36,180,43,5,255,0,0,0,56,0,7, - 0,0,48,0,7,0,0,112,0,31,0,0,224,0,255,0, - 0,192,0,31,0,1,192,0,31,0,1,128,0,31,0,3, - 128,0,31,0,3,0,0,31,0,7,0,0,31,0,14,0, - 0,31,0,12,0,0,31,0,28,0,0,31,0,24,0,0, - 31,0,56,126,0,31,0,113,143,128,31,0,99,7,192,31, - 0,231,3,224,31,0,199,3,224,31,1,199,131,224,255,227, - 135,195,224,0,3,3,199,192,0,7,1,135,128,0,6,0, - 15,0,0,14,0,30,0,0,12,0,56,0,0,24,0,96, - 0,0,56,0,128,32,0,48,1,0,32,0,112,2,0,32, - 0,96,2,255,224,0,192,7,255,224,1,192,6,255,192,1, - 128,4,127,192,3,128,4,63,128,3,0,0,0,0,38,36, - 180,44,3,255,0,0,0,12,0,31,224,0,12,0,48,248, - 0,24,0,112,124,0,56,0,112,124,0,48,0,124,124,0, - 112,0,124,124,0,96,0,60,124,0,192,0,0,120,1,192, - 0,0,224,1,128,0,15,128,3,128,0,0,240,3,0,0, - 0,124,7,0,0,0,62,6,0,0,16,63,12,0,0,124, - 63,28,3,192,252,63,24,7,192,252,63,56,7,192,240,63, - 48,15,192,112,126,112,31,192,112,252,224,31,192,31,240,192, - 55,192,0,1,192,103,192,0,1,128,103,192,0,3,128,199, - 192,0,3,0,135,192,0,6,1,135,192,0,14,3,7,192, - 0,12,3,255,252,0,28,0,7,192,0,24,0,7,192,0, - 56,0,7,192,0,112,0,7,192,0,96,0,7,192,0,224, - 0,127,248,0,192,0,0,0,16,35,70,23,3,245,7,0, - 15,128,31,192,31,192,31,192,15,128,7,0,0,0,0,0, - 7,128,12,224,16,48,16,48,16,48,16,48,0,96,0,224, - 0,192,3,192,7,128,15,128,31,0,31,4,62,4,126,6, - 124,2,252,3,252,3,252,3,252,3,252,6,126,6,63,12, - 31,248,7,224,33,45,225,36,2,0,0,56,0,0,0,0, - 60,0,0,0,0,62,0,0,0,0,62,0,0,0,0,31, - 0,0,0,0,7,0,0,0,0,3,128,0,0,0,1,192, - 0,0,0,0,64,0,0,0,0,0,0,0,0,0,192,0, - 0,0,1,192,0,0,0,1,224,0,0,0,1,224,0,0, - 0,3,224,0,0,0,3,240,0,0,0,3,240,0,0,0, - 7,240,0,0,0,7,248,0,0,0,7,248,0,0,0,15, - 248,0,0,0,15,252,0,0,0,15,252,0,0,0,25,252, - 0,0,0,25,254,0,0,0,25,254,0,0,0,48,254,0, - 0,0,48,255,0,0,0,32,255,0,0,0,96,127,0,0, - 0,96,127,128,0,0,64,127,128,0,0,192,63,128,0,0, - 192,63,192,0,0,255,255,192,0,1,255,255,192,0,1,128, - 31,224,0,1,0,31,224,0,3,0,15,224,0,3,0,15, - 240,0,2,0,15,240,0,6,0,7,240,0,15,0,7,248, - 0,31,0,15,252,0,255,240,255,255,128,33,45,225,36,2, - 0,0,0,14,0,0,0,0,15,0,0,0,0,31,0,0, - 0,0,62,0,0,0,0,60,0,0,0,0,120,0,0,0, - 0,240,0,0,0,0,192,0,0,0,0,128,0,0,0,0, - 0,0,0,0,0,192,0,0,0,1,192,0,0,0,1,224, - 0,0,0,1,224,0,0,0,3,224,0,0,0,3,240,0, - 0,0,3,240,0,0,0,7,240,0,0,0,7,248,0,0, - 0,7,248,0,0,0,15,248,0,0,0,15,252,0,0,0, - 15,252,0,0,0,25,252,0,0,0,25,254,0,0,0,25, - 254,0,0,0,48,254,0,0,0,48,255,0,0,0,32,255, - 0,0,0,96,127,0,0,0,96,127,128,0,0,64,127,128, - 0,0,192,63,128,0,0,192,63,192,0,0,255,255,192,0, - 1,255,255,192,0,1,128,31,224,0,1,0,31,224,0,3, - 0,15,224,0,3,0,15,240,0,6,0,15,240,0,6,0, - 7,240,0,15,0,7,248,0,255,240,255,255,128,255,240,255, - 255,128,33,44,220,36,2,0,0,1,192,0,0,0,1,224, - 0,0,0,3,224,0,0,0,7,240,0,0,0,15,120,0, - 0,0,30,30,0,0,0,120,7,0,0,0,64,1,128,0, - 0,0,0,0,0,0,0,192,0,0,0,1,192,0,0,0, - 1,224,0,0,0,1,224,0,0,0,3,224,0,0,0,3, - 240,0,0,0,3,240,0,0,0,7,240,0,0,0,7,248, - 0,0,0,7,248,0,0,0,15,248,0,0,0,15,252,0, - 0,0,15,252,0,0,0,25,252,0,0,0,25,254,0,0, - 0,25,254,0,0,0,48,254,0,0,0,48,255,0,0,0, - 32,255,0,0,0,96,127,0,0,0,96,127,128,0,0,64, - 127,128,0,0,192,63,128,0,0,192,63,192,0,0,255,255, - 192,0,1,255,255,192,0,1,128,31,224,0,1,0,31,224, - 0,3,0,15,224,0,3,0,15,240,0,2,0,15,240,0, - 6,0,7,240,0,15,0,7,248,0,31,0,15,252,0,255, - 240,255,255,128,33,43,215,36,2,0,0,15,1,0,0,0, - 31,227,0,0,0,63,254,0,0,0,33,254,0,0,0,32, - 124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, - 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, - 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, - 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, - 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, - 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, - 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, - 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, - 15,224,0,3,0,15,240,0,6,0,15,240,0,6,0,7, - 240,0,15,0,7,248,0,255,240,255,255,128,255,240,255,255, - 128,33,43,215,36,2,0,0,60,15,0,0,0,126,31,128, - 0,0,126,31,128,0,0,126,31,128,0,0,126,31,128,0, - 0,60,15,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,192,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,7,248,0,0,0,7,248,0, - 0,0,7,248,0,0,0,15,252,0,0,0,15,252,0,0, - 0,25,252,0,0,0,25,254,0,0,0,24,254,0,0,0, - 48,254,0,0,0,48,255,0,0,0,48,127,0,0,0,96, - 127,0,0,0,96,127,128,0,0,96,63,128,0,0,192,63, - 128,0,0,192,63,192,0,0,255,255,192,0,1,255,255,192, - 0,1,128,31,224,0,1,128,15,224,0,3,0,15,224,0, - 3,0,15,240,0,3,0,7,240,0,7,0,7,240,0,15, - 0,7,248,0,31,128,15,252,0,255,240,255,255,128,33,45, - 225,36,2,0,0,1,224,0,0,0,7,248,0,0,0,14, - 28,0,0,0,12,12,0,0,0,12,12,0,0,0,12,12, - 0,0,0,14,28,0,0,0,7,248,0,0,0,3,240,0, - 0,0,0,0,0,0,0,0,192,0,0,0,1,192,0,0, - 0,1,224,0,0,0,1,224,0,0,0,3,224,0,0,0, - 3,240,0,0,0,3,240,0,0,0,7,240,0,0,0,7, - 248,0,0,0,7,248,0,0,0,15,248,0,0,0,13,252, - 0,0,0,13,252,0,0,0,29,252,0,0,0,25,254,0, - 0,0,24,254,0,0,0,56,254,0,0,0,48,255,0,0, - 0,48,127,0,0,0,112,127,0,0,0,96,127,128,0,0, - 96,63,128,0,0,224,63,128,0,0,192,63,192,0,0,255, - 255,192,0,1,255,255,192,0,1,128,31,224,0,1,128,31, - 224,0,3,0,15,224,0,3,0,15,240,0,3,0,15,240, - 0,7,0,7,240,0,15,0,7,248,0,31,128,15,252,0, - 255,240,255,255,128,45,34,204,48,1,0,0,0,127,255,255, - 240,0,0,31,248,7,240,0,0,15,248,1,240,0,0,15, - 248,0,240,0,0,31,248,0,240,0,0,27,248,0,112,0, - 0,59,248,0,112,0,0,51,248,0,48,0,0,115,248,0, - 48,0,0,99,248,12,48,0,0,227,248,12,16,0,0,195, - 248,12,0,0,1,195,248,28,0,0,1,131,248,28,0,0, - 3,131,248,60,0,0,3,3,248,124,0,0,7,3,255,252, - 0,0,6,3,248,124,0,0,14,3,248,60,0,0,12,3, - 248,28,0,0,28,3,248,28,0,0,24,3,248,12,24,0, - 56,3,248,12,24,0,63,255,248,12,24,0,96,3,248,0, - 56,0,224,3,248,0,56,0,192,3,248,0,56,1,192,3, - 248,0,120,1,128,3,248,0,120,3,128,3,248,0,248,7, - 128,3,248,1,248,15,128,3,248,3,248,255,248,127,255,255, - 248,255,248,127,255,255,248,26,45,180,31,3,246,0,127,193, - 128,1,224,241,128,3,192,63,128,7,128,31,128,15,128,15, - 128,31,0,15,128,63,0,7,128,63,0,7,128,63,0,3, - 128,127,0,3,128,127,0,1,128,127,0,1,128,255,0,1, - 128,255,0,1,128,255,0,1,128,255,0,0,0,255,0,0, - 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, - 0,255,0,0,192,127,0,0,192,127,0,0,192,127,0,0, - 128,63,0,0,128,63,0,1,128,63,0,1,128,31,128,3, - 0,15,128,3,0,7,128,6,0,3,192,12,0,1,224,56, - 0,0,127,224,0,0,12,0,0,0,8,0,0,0,30,0, - 0,0,31,128,0,0,3,192,0,0,1,224,0,0,1,224, - 0,0,1,224,0,0,129,192,0,0,199,192,0,0,63,0, - 0,27,45,180,33,3,0,0,224,0,0,1,240,0,0,1, - 240,0,0,0,248,0,0,0,124,0,0,0,60,0,0,0, - 14,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0, - 0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15, - 224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15, - 224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15, - 224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15, - 225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15, - 224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15, - 224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15, - 224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15, - 224,15,224,255,255,255,224,255,255,255,224,27,45,180,33,3, - 0,0,0,56,0,0,0,120,0,0,0,248,0,0,0,248, - 0,0,1,240,0,0,3,192,0,0,3,128,0,0,6,0, - 0,0,4,0,0,0,0,0,0,0,0,0,0,255,255,255, - 224,15,224,31,224,15,224,7,224,15,224,3,224,15,224,1, - 224,15,224,1,224,15,224,0,224,15,224,0,224,15,224,0, - 96,15,224,48,96,15,224,48,96,15,224,48,0,15,224,112, - 0,15,224,112,0,15,224,240,0,15,225,240,0,15,255,240, - 0,15,225,240,0,15,224,240,0,15,224,112,0,15,224,112, - 32,15,224,48,96,15,224,48,96,15,224,48,96,15,224,0, - 96,15,224,0,224,15,224,0,224,15,224,0,224,15,224,1, - 224,15,224,3,224,15,224,3,224,15,224,15,224,255,255,255, - 224,255,255,255,224,27,44,176,33,3,0,0,6,0,0,0, - 15,0,0,0,15,128,0,0,31,192,0,0,57,224,0,0, - 240,112,0,3,192,28,0,0,0,4,0,0,0,0,0,0, - 0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15, - 224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15, - 224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15, - 224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15, - 225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15, - 224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15, - 224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15, - 224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15, - 224,15,224,255,255,255,224,255,255,255,224,27,43,172,33,3, - 0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252, - 0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,255,255,224,15,224,31,224,15,224,7, - 224,15,224,3,224,15,224,1,224,15,224,1,224,15,224,0, - 224,15,224,0,224,15,224,0,224,15,224,48,96,15,224,48, - 96,15,224,48,0,15,224,112,0,15,224,112,0,15,224,240, - 0,15,225,240,0,15,255,240,0,15,225,240,0,15,224,240, - 0,15,224,112,0,15,224,112,96,15,224,48,96,15,224,48, - 96,15,224,48,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,0,224,15,224,1,224,15,224,3,224,15,224,3, - 224,15,224,15,224,255,255,255,224,255,255,255,224,16,45,90, - 21,3,0,56,0,124,0,124,0,62,0,31,0,15,0,3, - 128,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,255,255,16,45,90, - 21,3,0,0,14,0,30,0,62,0,60,0,120,0,240,0, - 224,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,255,255,16,44,88, - 21,3,0,1,192,3,192,3,224,7,240,31,120,60,28,240, - 7,0,1,0,0,0,0,255,255,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,255,255,255,255,16,43,86,21,3, - 0,120,30,252,63,252,63,252,63,252,63,120,30,0,0,0, - 0,0,0,255,255,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,255,255,32,34,136,37,3,0,255,255,248, - 0,7,240,31,0,7,240,7,128,7,240,3,224,7,240,1, - 240,7,240,1,240,7,240,0,248,7,240,0,252,7,240,0, - 252,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0, - 255,7,240,0,255,7,240,0,255,7,240,0,255,255,255,0, - 255,7,240,0,255,7,240,0,255,7,240,0,255,7,240,0, - 255,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0, - 254,7,240,0,252,7,240,0,252,7,240,0,248,7,240,1, - 240,7,240,1,224,7,240,3,192,7,240,7,128,7,240,31, - 0,255,255,248,0,34,44,220,37,2,255,0,7,128,128,0, - 0,15,241,128,0,0,31,255,0,0,0,16,255,0,0,0, - 16,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,224,15,255,192,31,240,3, - 255,0,15,240,0,252,0,15,248,0,120,0,7,252,0,48, - 0,3,254,0,48,0,3,254,0,48,0,3,255,0,48,0, - 3,255,128,48,0,3,255,128,48,0,3,127,192,48,0,3, - 63,224,48,0,3,31,224,48,0,3,31,240,48,0,3,15, - 248,48,0,3,7,248,48,0,3,7,252,48,0,3,3,254, - 48,0,3,1,255,48,0,3,1,255,48,0,3,0,255,176, - 0,3,0,127,240,0,3,0,127,240,0,3,0,63,240,0, - 3,0,31,240,0,3,0,15,240,0,3,0,15,240,0,3, - 0,7,240,0,3,0,3,240,0,3,0,3,240,0,7,128, - 1,240,0,15,192,0,240,0,63,240,0,240,0,255,252,0, - 112,0,0,0,0,48,0,28,45,180,33,3,0,0,192,0, - 0,1,224,0,0,1,240,0,0,0,248,0,0,0,120,0, - 0,0,60,0,0,0,28,0,0,0,6,0,0,0,2,0, - 0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112, - 0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15, - 0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15, - 192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15, - 224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15, - 192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31, - 0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192, - 0,28,45,180,33,3,0,0,0,48,0,0,0,120,0,0, - 0,248,0,0,1,240,0,0,1,224,0,0,3,192,0,0, - 3,128,0,0,6,0,0,0,4,0,0,0,0,0,0,0, - 0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7, - 128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63, - 0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127, - 0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127, - 0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31, - 0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3, - 192,60,0,0,224,112,0,0,63,192,0,28,45,180,33,3, - 0,0,6,0,0,0,14,0,0,0,15,0,0,0,31,128, - 0,0,63,192,0,0,121,224,0,0,240,240,0,3,192,60, - 0,3,0,12,0,0,0,0,0,0,0,0,0,0,63,192, - 0,0,224,112,0,3,192,56,0,7,128,30,0,15,128,30, - 0,15,0,15,0,31,0,15,128,63,0,15,192,63,0,15, - 192,127,0,15,192,127,0,15,224,127,0,15,224,127,0,15, - 224,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,127,0,15,224,127,0,15,224,127,0,15,224,127,0,15, - 192,63,0,15,192,63,0,15,192,31,0,15,128,15,0,15, - 0,15,128,31,0,7,128,30,0,3,192,60,0,0,224,112, - 0,0,63,192,0,28,44,176,33,3,0,0,0,8,0,0, - 126,24,0,0,255,248,0,1,255,240,0,1,7,224,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7, - 128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63, - 0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127, - 0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, - 0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127, - 0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31, - 0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3, - 192,60,0,0,224,112,0,0,63,192,0,28,44,176,33,3, - 0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252, - 0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112, - 0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15, - 0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15, - 192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, - 240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15, - 224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15, - 192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31, - 0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192, - 0,31,30,120,45,7,253,32,0,0,0,112,0,0,12,248, - 0,0,30,124,0,0,60,62,0,0,120,31,0,1,240,15, - 128,3,224,7,192,7,192,3,224,15,128,1,240,31,0,0, - 248,62,0,0,124,124,0,0,62,248,0,0,31,240,0,0, - 15,224,0,0,7,192,0,0,15,224,0,0,31,240,0,0, - 62,248,0,0,124,60,0,0,248,30,0,1,240,15,0,3, - 224,7,128,7,192,3,192,15,128,1,224,31,0,0,240,62, - 0,0,120,124,0,0,60,248,0,0,30,112,0,0,12,28, - 34,136,33,3,1,0,63,224,48,0,224,112,96,1,192,60, - 192,7,128,31,192,15,128,31,128,15,0,15,0,31,0,15, - 128,63,0,15,192,63,0,31,192,63,0,31,224,127,0,63, - 224,127,0,111,224,127,0,239,224,255,0,207,240,255,1,143, - 240,255,3,15,240,255,7,15,240,255,14,15,240,255,12,15, - 240,255,24,15,240,255,48,15,240,255,112,15,224,127,96,15, - 224,127,192,15,224,127,128,15,192,63,128,15,192,63,0,15, - 192,31,0,15,128,15,0,15,0,31,128,30,0,63,128,30, - 0,51,192,56,0,96,224,112,0,192,127,192,0,33,45,225, - 38,3,0,0,24,0,0,0,0,60,0,0,0,0,62,0, - 0,0,0,31,0,0,0,0,15,128,0,0,0,7,128,0, - 0,0,1,192,0,0,0,0,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,33,45,225,38,3,0,0,0,7,0,0,0, - 0,15,0,0,0,0,15,0,0,0,0,31,0,0,0,0, - 60,0,0,0,0,56,0,0,0,0,112,0,0,0,0,224, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,7,255,128,15,224,1,254,0,15,224,0,120,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,7,224,0,48,0,7,224,0,96,0,7,240,0, - 96,0,3,240,0,192,0,1,248,1,192,0,0,252,3,128, - 0,0,127,159,0,0,0,31,252,0,0,33,45,225,38,3, - 0,0,0,64,0,0,0,0,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,7,248,0,0,0,15,28,0,0,0, - 30,15,0,0,0,112,3,128,0,0,0,0,128,0,0,0, - 0,0,0,0,0,0,0,0,255,255,7,255,128,15,224,1, - 254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7, - 224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248, - 1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252, - 0,0,33,44,220,38,3,0,0,60,15,0,0,0,126,31, - 128,0,0,126,31,128,0,0,126,31,128,0,0,126,31,128, - 0,0,60,15,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,254,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,32,45,180,35,2,0,0,0,7,0,0,0, - 15,0,0,0,31,0,0,0,31,0,0,0,60,0,0,0, - 120,0,0,0,112,0,0,0,192,0,0,0,128,0,0,0, - 0,0,0,0,0,0,255,254,15,255,31,248,1,248,15,248, - 0,240,7,248,0,224,7,248,0,192,3,252,0,192,3,252, - 0,192,1,252,1,128,1,254,1,128,0,254,3,0,0,255, - 3,0,0,255,3,0,0,127,134,0,0,127,134,0,0,63, - 196,0,0,63,204,0,0,31,204,0,0,31,248,0,0,15, - 248,0,0,15,248,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,255,255,0,29,34, - 136,34,3,0,255,255,128,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,255,248,0, - 7,240,63,0,7,240,15,192,7,240,15,224,7,240,15,240, - 7,240,7,240,7,240,7,248,7,240,7,248,7,240,7,248, - 7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,240, - 7,240,15,240,7,240,15,224,7,240,15,192,7,240,31,0, - 7,255,252,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, - 7,240,0,0,7,240,0,0,255,255,128,0,23,34,102,27, - 2,0,0,127,0,1,227,128,3,195,224,7,193,224,7,193, - 240,15,129,240,15,129,240,15,129,240,31,129,240,31,129,224, - 31,129,224,31,129,192,31,131,128,31,188,0,31,131,0,31, - 129,192,31,128,240,31,128,248,31,128,248,31,128,124,31,128, - 124,31,128,126,31,128,126,31,128,126,31,128,126,31,128,126, - 31,128,126,31,184,126,31,252,124,31,252,124,31,248,252,31, - 248,248,31,184,240,255,159,224,21,34,102,24,2,0,24,0, - 0,60,0,0,62,0,0,30,0,0,15,0,0,7,128,0, - 3,128,0,1,192,0,0,192,0,0,0,0,0,0,0,0, - 0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31, - 128,126,31,128,126,31,128,60,31,128,0,127,128,3,223,128, - 15,31,128,30,31,128,62,31,128,124,31,128,252,31,128,252, - 31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,127, - 240,63,143,224,21,34,102,24,2,0,0,12,0,0,30,0, - 0,62,0,0,62,0,0,124,0,0,120,0,0,224,0,0, - 192,0,1,128,0,0,0,0,0,0,0,0,0,0,15,248, - 0,24,62,0,56,63,0,120,31,0,124,31,128,126,31,128, - 126,31,128,62,31,128,8,63,128,1,255,128,7,159,128,30, - 31,128,62,31,128,124,31,128,124,31,128,252,31,128,252,31, - 136,252,31,136,252,31,152,254,63,144,127,127,240,63,143,224, - 21,34,102,24,2,0,1,192,0,1,224,0,3,224,0,3, - 224,0,7,240,0,7,56,0,14,28,0,28,14,0,48,7, - 0,0,0,0,0,0,0,0,0,0,15,248,0,24,62,0, - 56,63,0,120,31,0,124,31,128,126,31,128,126,31,128,62, - 31,128,8,63,128,1,255,128,7,159,128,30,31,128,62,31, - 128,124,31,128,124,31,128,252,31,128,252,31,136,252,31,136, - 252,31,152,254,63,144,127,127,240,63,143,224,21,32,96,24, - 2,0,15,3,0,31,195,0,63,254,0,49,252,0,32,120, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 15,248,0,24,62,0,56,63,0,120,31,0,124,31,128,126, - 31,128,126,31,128,62,31,128,8,63,128,1,255,128,7,159, - 128,30,31,128,62,31,128,124,31,128,124,31,128,252,31,128, - 252,31,136,252,31,136,252,31,152,254,63,144,127,127,240,63, - 143,224,21,32,96,24,2,0,60,30,0,126,63,0,126,63, - 0,126,63,0,126,63,0,60,30,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,24,62,0,56,63,0,120, - 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, - 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, - 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, - 63,144,127,127,240,63,143,224,21,34,102,24,2,1,3,240, - 0,7,248,0,14,28,0,12,12,0,12,12,0,12,12,0, - 14,28,0,7,248,0,1,224,0,0,0,0,0,0,0,0, - 0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31, - 128,126,31,128,126,31,128,62,31,128,8,63,128,1,255,128, - 7,31,128,30,31,128,62,31,128,124,31,128,124,31,128,252, - 31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,111, - 240,63,199,224,29,22,88,34,2,1,15,240,255,128,24,63, - 195,192,56,63,195,224,120,31,131,240,124,31,129,240,126,31, - 129,240,126,31,129,248,62,31,129,248,0,63,129,248,1,255, - 129,248,7,31,255,248,30,31,128,0,62,31,128,0,124,31, - 128,0,124,31,128,8,252,31,128,8,252,31,128,24,252,31, - 192,16,252,31,192,16,254,51,192,32,127,97,240,64,63,192, - 255,128,18,32,96,22,2,247,3,252,0,15,6,0,31,7, - 0,62,7,128,62,7,128,126,15,128,124,31,128,252,31,128, - 252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252, - 0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,1, - 128,30,1,0,15,130,0,3,252,0,0,128,0,0,128,0, - 1,128,0,0,240,0,0,56,0,0,60,0,0,60,0,0, - 60,0,4,120,0,3,240,0,18,34,102,23,2,0,28,0, - 0,30,0,0,30,0,0,31,0,0,15,128,0,7,128,0, - 3,192,0,0,192,0,0,96,0,0,0,0,0,0,0,0, - 0,0,3,252,0,14,30,0,30,31,0,62,15,128,60,15, - 128,124,15,128,124,15,192,252,15,192,252,15,192,252,15,192, - 255,255,192,252,0,0,252,0,0,252,0,0,252,0,64,124, - 0,64,124,0,192,62,0,192,62,1,128,31,1,0,15,135, - 0,3,252,0,18,34,102,23,2,0,0,14,0,0,31,0, - 0,31,0,0,62,0,0,60,0,0,120,0,0,240,0,0, - 224,0,1,128,0,0,0,0,0,0,0,0,0,0,3,252, - 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, - 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, - 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, - 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, - 18,34,102,23,2,0,1,224,0,1,224,0,1,240,0,3, - 240,0,3,248,0,7,56,0,14,28,0,28,14,0,56,3, - 0,0,0,0,0,0,0,0,0,0,3,252,0,14,30,0, - 30,31,0,62,15,128,60,15,128,124,15,128,124,15,192,252, - 15,192,252,15,192,252,15,192,255,255,192,252,0,0,252,0, - 0,252,0,0,252,0,64,124,0,64,124,0,192,62,0,192, - 62,0,128,31,1,0,15,131,0,3,252,0,18,32,96,23, - 2,0,30,15,0,63,31,128,63,31,128,63,31,128,63,31, - 128,30,15,0,0,0,0,0,0,0,0,0,0,0,0,0, - 3,252,0,14,30,0,30,31,0,62,15,128,60,15,128,124, - 15,128,124,15,192,252,15,192,252,15,192,252,15,192,255,255, - 192,252,0,0,252,0,0,252,0,0,252,0,64,124,0,64, - 124,0,192,62,0,192,62,0,128,31,1,0,15,131,0,3, - 252,0,12,34,68,15,1,0,96,0,240,0,248,0,248,0, - 124,0,28,0,14,0,7,0,3,0,0,0,0,0,0,0, - 127,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, - 31,128,31,128,31,128,31,128,31,128,127,240,12,34,68,15, - 2,0,0,224,1,240,1,240,3,224,7,192,7,128,15,0, - 28,0,24,0,0,0,0,0,0,0,255,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, - 63,0,63,0,255,224,14,34,68,14,0,0,7,128,15,128, - 15,128,15,192,31,224,60,224,56,112,112,60,192,12,0,0, - 0,0,0,0,63,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,63,248, - 14,32,64,14,1,0,120,120,252,252,252,252,252,252,252,252, - 120,120,0,0,0,0,0,0,0,0,63,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, - 15,192,15,192,63,248,20,34,102,24,2,0,15,193,128,15, - 227,0,7,254,0,3,248,0,1,248,0,1,252,0,3,254, - 0,14,126,0,24,63,0,0,63,128,0,31,128,0,15,192, - 7,255,192,15,15,224,30,7,224,62,7,224,62,7,224,124, - 7,240,124,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224, - 124,7,224,62,7,192,62,7,192,30,7,128,15,15,0,3, - 252,0,23,32,96,27,2,0,3,224,96,7,248,64,15,255, - 192,12,127,128,8,15,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,31,192,63,35,224,63,65,240,63, - 65,248,63,129,248,63,129,248,63,1,248,63,1,248,63,1, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,255,199,254,20,34,102,24,2,0,14,0, - 0,31,0,0,31,0,0,15,128,0,7,192,0,3,192,0, - 1,224,0,0,96,0,0,48,0,0,0,0,0,0,0,0, - 0,0,3,252,0,15,15,0,30,7,128,62,7,192,62,7, - 192,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,124, - 3,224,124,3,224,62,7,192,62,7,192,30,7,128,15,15, - 0,3,252,0,20,34,102,24,2,0,0,7,0,0,15,128, - 0,15,128,0,31,0,0,62,0,0,60,0,0,120,0,0, - 224,0,0,192,0,0,0,0,0,0,0,0,0,0,3,252, - 0,15,15,0,30,7,128,62,7,192,62,7,192,124,3,224, - 124,3,224,252,3,240,252,3,240,252,3,240,252,3,240,252, - 3,240,252,3,240,252,3,240,252,3,240,124,3,224,124,3, - 224,62,7,192,62,7,192,30,7,128,15,15,0,3,252,0, - 20,34,102,24,2,0,0,240,0,0,240,0,1,248,0,1, - 248,0,3,252,0,3,156,0,7,14,0,14,7,0,24,1, - 128,0,0,0,0,0,0,0,0,0,3,252,0,15,15,0, - 30,7,128,62,7,192,62,7,192,124,3,224,124,3,224,252, - 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,124,3,224,124,3,224,62,7,192, - 62,7,192,30,7,128,15,15,0,3,252,0,20,32,96,24, - 2,0,7,192,128,15,240,128,31,255,128,16,255,0,16,62, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 3,252,0,15,15,0,30,7,128,62,7,192,62,7,192,124, - 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224, - 124,3,224,62,7,192,62,7,192,30,7,128,15,15,0,3, - 252,0,20,32,96,24,2,0,30,15,0,63,31,128,63,31, - 128,63,31,128,63,31,128,30,15,0,0,0,0,0,0,0, - 0,0,0,0,0,0,3,252,0,15,15,0,30,7,128,62, - 7,192,62,7,192,124,3,224,124,3,224,252,3,240,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,124,3,224,124,3,224,62,7,192,62,7,192,30, - 7,128,15,15,0,3,252,0,41,32,192,45,2,253,0,0, - 28,0,0,0,0,0,62,0,0,0,0,0,127,0,0,0, - 0,0,127,0,0,0,0,0,127,0,0,0,0,0,62,0, - 0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, - 255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,28,0,0,0,0,0,62,0,0,0, - 0,0,127,0,0,0,0,0,127,0,0,0,0,0,127,0, - 0,0,0,0,62,0,0,0,0,0,28,0,0,0,20,22, - 66,24,2,1,3,252,48,15,15,96,30,15,192,62,7,192, - 62,7,192,124,7,224,124,7,224,252,15,240,252,27,240,252, - 51,240,252,115,240,252,227,240,252,195,240,253,131,240,255,3, - 240,126,3,224,126,3,224,62,7,192,62,7,192,63,7,128, - 111,15,0,195,252,0,24,34,102,26,1,0,7,0,0,7, - 128,0,7,192,0,7,192,0,3,224,0,1,224,0,0,112, - 0,0,48,0,0,24,0,0,0,0,0,0,0,0,0,0, - 255,143,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,131,248,31,131,248,31,133,248,15,133,248,15,201,248,7, - 241,255,24,34,102,26,1,0,0,3,128,0,3,128,0,7, - 128,0,15,128,0,15,0,0,30,0,0,28,0,0,56,0, - 0,48,0,0,0,0,0,0,0,0,0,0,255,143,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,131,248,31, - 131,248,31,133,248,15,133,248,15,201,248,7,241,255,24,34, - 102,26,1,0,0,56,0,0,120,0,0,124,0,0,252,0, - 0,254,0,1,206,0,3,135,0,7,3,128,14,0,192,0, - 0,0,0,0,0,0,0,0,255,143,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,131,248,31,131,248,31,133, - 248,15,133,248,15,201,248,7,241,255,24,32,96,26,1,0, - 7,131,192,15,199,224,15,199,224,15,199,224,15,199,224,7, - 131,192,0,0,0,0,0,0,0,0,0,0,0,0,255,135, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,131, - 248,31,131,248,31,133,248,15,133,248,15,201,248,7,241,255, - 23,45,135,25,1,245,0,1,192,0,1,224,0,3,224,0, - 7,192,0,7,128,0,15,0,0,14,0,0,28,0,0,24, - 0,0,0,0,0,0,0,0,0,0,255,241,254,63,192,120, - 31,128,48,15,192,32,15,192,32,15,192,96,7,224,64,7, - 224,64,3,240,192,3,240,128,1,248,128,1,249,128,0,249, - 0,0,253,0,0,253,0,0,126,0,0,126,0,0,62,0, - 0,60,0,0,28,0,0,28,0,0,12,0,0,8,0,0, - 8,0,0,8,0,15,16,0,31,16,0,63,144,0,63,32, - 0,62,32,0,62,64,0,31,192,0,15,0,0,22,44,132, - 25,1,244,3,128,0,15,128,0,63,128,0,255,128,0,223, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,135,240,31,159,248,31,177,248,31,160,252,31,192,252, - 31,192,252,31,192,252,31,128,252,31,128,252,31,128,248,31, - 129,248,31,129,240,31,129,240,31,129,224,31,131,192,31,131, - 128,31,135,128,31,134,0,31,140,0,31,152,0,31,224,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,30,0,0,120,0, - 0,224,0,0,128,0,0,23,44,132,25,1,245,3,193,224, - 7,227,240,7,227,240,7,227,240,7,227,240,3,193,224,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,241, - 254,63,192,120,31,128,48,15,192,32,15,192,32,15,192,96, - 7,224,64,7,224,64,3,240,192,3,240,128,1,240,128,1, - 249,128,0,249,0,0,253,0,0,253,0,0,126,0,0,126, - 0,0,62,0,0,60,0,0,28,0,0,28,0,0,12,0, - 0,8,0,0,8,0,0,8,0,15,16,0,31,16,0,63, - 144,0,63,32,0,62,32,0,62,64,0,31,192,0,15,0, - 0}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 34 - Calculated Max Values w=41 h=44 x= 6 y=13 dx=45 dy= 0 ascent=35 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 - Pure Font ascent =34 descent= 0 - X Font ascent =34 descent= 0 - Max Font ascent =35 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35n[1567] U8G_FONT_SECTION("u8g_font_osb35n") = { - 0,133,60,215,242,34,0,0,0,0,42,58,0,35,247,34, - 0,17,19,57,24,4,13,1,128,0,3,192,0,3,192,0, - 227,195,0,241,135,128,248,143,128,252,159,128,126,191,0,3, - 192,0,3,192,0,126,191,0,252,159,128,248,143,128,241,135, - 128,225,195,0,3,192,0,3,192,0,3,192,0,1,128,0, - 41,41,246,45,2,249,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,255,255,255,255,255,128,255,255, - 255,255,255,128,255,255,255,255,255,128,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, - 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, - 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, - 0,0,28,0,0,0,0,0,28,0,0,0,9,15,30,13, - 2,248,126,0,255,0,255,128,255,128,255,128,127,128,1,128, - 1,128,1,128,3,0,2,0,6,0,28,0,56,0,96,0, - 12,5,10,18,3,10,255,240,255,240,255,240,255,240,255,240, - 8,6,6,14,3,1,126,255,255,255,255,126,16,44,88,22, - 3,247,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,1,224,1,192,1,192,3,192,3,128, - 3,128,7,128,7,0,7,0,15,0,14,0,14,0,14,0, - 30,0,28,0,28,0,60,0,56,0,56,0,120,0,112,0, - 112,0,240,0,224,0,224,0,224,0,23,35,105,28,2,0, - 0,16,0,0,254,0,3,199,128,7,131,192,15,1,224,15, - 1,224,31,1,240,63,1,248,63,1,248,127,1,248,127,1, - 252,127,1,252,127,1,252,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,255,1,254,127,1,252,127,1,252,127,1,252,127,1, - 252,63,1,248,63,1,248,31,1,240,15,1,224,15,1,224, - 7,131,192,3,199,128,0,254,0,16,34,68,28,6,0,0, - 240,0,240,1,240,7,240,255,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,255, - 255,255,255,21,34,102,28,3,1,7,255,0,14,15,192,28, - 7,224,56,7,240,120,3,240,120,3,248,248,3,248,252,3, - 248,255,3,248,255,3,248,255,7,248,127,7,240,63,15,240, - 12,15,224,0,31,192,0,63,128,0,127,0,0,252,0,1, - 240,0,3,192,0,7,128,0,14,0,24,12,0,24,24,0, - 24,48,0,24,96,0,24,111,192,56,127,255,248,255,255,240, - 239,255,240,195,255,240,193,255,224,192,255,192,192,63,128,22, - 34,102,28,3,1,7,255,0,14,15,192,28,7,224,56,7, - 240,120,3,240,124,3,248,126,3,248,127,3,248,127,3,248, - 127,3,248,63,3,240,30,3,240,0,7,224,0,7,192,0, - 15,0,7,248,0,0,31,128,0,15,192,0,7,224,0,7, - 240,0,3,248,0,3,248,62,3,252,127,3,252,255,3,252, - 255,3,252,255,3,252,254,3,252,252,3,248,248,7,248,120, - 7,240,56,15,224,30,31,192,15,255,0,23,34,102,28,2, - 0,0,7,192,0,15,192,0,15,192,0,31,192,0,63,192, - 0,63,192,0,127,192,0,127,192,0,255,192,0,223,192,1, - 223,192,1,159,192,3,159,192,7,31,192,6,31,192,14,31, - 192,12,31,192,28,31,192,24,31,192,56,31,192,112,31,192, - 96,31,192,224,31,192,255,255,254,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,0,31, - 192,7,255,252,7,255,252,21,34,102,28,4,0,32,0,192, - 60,7,128,63,255,128,63,255,0,63,254,0,63,248,0,63, - 224,0,63,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,49,252,0,54,63,0,60,15,192,56,15,224, - 48,15,224,32,7,240,0,7,240,0,7,248,0,7,248,8, - 7,248,62,7,248,126,7,248,254,7,248,254,7,248,254,7, - 240,248,7,240,240,7,224,112,15,192,48,15,192,28,31,0, - 15,252,0,22,34,102,28,3,1,0,255,128,3,192,192,7, - 192,96,15,128,240,31,131,240,31,7,240,63,15,240,63,15, - 240,127,15,224,127,7,192,127,3,0,127,0,0,255,0,0, - 255,0,0,255,63,0,255,255,192,255,195,224,255,131,240,255, - 3,248,255,1,248,255,1,252,255,1,252,255,1,252,127,1, - 252,127,1,252,127,1,252,127,1,252,63,1,248,63,1,248, - 31,1,248,15,129,240,7,131,224,3,195,192,1,255,0,20, - 34,102,28,5,1,71,224,224,207,240,224,223,248,112,255,252, - 48,255,254,48,255,255,240,255,255,240,224,31,176,192,0,32, - 192,0,96,128,0,96,128,0,192,128,1,192,0,1,128,0, - 3,128,0,7,0,0,15,0,0,14,0,0,30,0,0,60, - 0,0,124,0,0,252,0,1,252,0,1,248,0,3,248,0, - 3,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,7,248,0,3,248,0,3,240,0,23,34,102,28,3, - 1,1,255,128,7,0,192,12,0,96,28,0,48,56,0,24, - 56,0,24,120,0,24,120,0,24,124,0,24,126,0,24,127, - 0,48,127,192,32,127,240,96,63,255,128,63,255,0,31,255, - 192,15,255,240,7,255,248,15,255,248,24,63,252,48,15,252, - 112,3,254,96,0,254,224,0,126,224,0,62,224,0,30,224, - 0,30,224,0,12,240,0,28,112,0,24,56,0,24,28,0, - 48,15,0,192,3,255,0,22,34,102,28,3,1,3,254,0, - 15,15,0,31,7,128,62,7,192,126,3,224,126,3,240,126, - 3,240,254,3,248,254,3,248,254,3,248,254,3,248,254,3, - 252,254,3,252,254,3,252,126,3,252,127,7,252,63,7,252, - 31,15,252,15,255,252,3,243,252,0,3,252,0,3,252,0, - 3,248,7,3,248,31,131,248,31,195,248,63,195,240,63,195, - 240,63,131,224,62,7,224,60,7,192,28,15,128,14,31,0, - 7,252,0,8,22,22,14,3,1,126,255,255,255,255,126,0, - 0,0,0,0,0,0,0,0,0,126,255,255,255,255,126}; -/* - Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 6 y=25 dx=52 dy= 0 ascent=38 len=246 - Font Bounding box w=133 h=60 x=-41 y=-14 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =35 descent=-10 - Max Font ascent =38 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osb35r[10247] U8G_FONT_SECTION("u8g_font_osb35r") = { - 0,133,60,215,242,35,12,220,29,224,32,127,246,38,245,35, - 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, - 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, - 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, - 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, - 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, - 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, - 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, - 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, - 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, - 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, - 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, - 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, - 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, - 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, - 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, - 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, - 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, - 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, - 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, - 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, - 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, - 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, - 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, - 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, - 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, - 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, - 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, - 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, - 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, - 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, - 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, - 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, - 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, - 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, - 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, - 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, - 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, - 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, - 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, - 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, - 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, - 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, - 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, - 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, - 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, - 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, - 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, - 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, - 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, - 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, - 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, - 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, - 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, - 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, - 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, - 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, - 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, - 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, - 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, - 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, - 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, - 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, - 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, - 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, - 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, - 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, - 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, - 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, - 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, - 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, - 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, - 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, - 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, - 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, - 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, - 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, - 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, - 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, - 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, - 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, - 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, - 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, - 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, - 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, - 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, - 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, - 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, - 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, - 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, - 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, - 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, - 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, - 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, - 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, - 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, - 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, - 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, - 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, - 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, - 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, - 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, - 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, - 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, - 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, - 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, - 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, - 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, - 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, - 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, - 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, - 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, - 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, - 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, - 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, - 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, - 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, - 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, - 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, - 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, - 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, - 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, - 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, - 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, - 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, - 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, - 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, - 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, - 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, - 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, - 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, - 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, - 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, - 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, - 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, - 0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13, - 2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128, - 1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0, - 64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0, - 0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31, - 128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0, - 0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0, - 3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126, - 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, - 0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0, - 0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0, - 3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0, - 15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0, - 127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1, - 248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15, - 224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48, - 41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255, - 255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, - 255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120, - 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, - 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, - 0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0, - 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, - 0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0, - 0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0, - 0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0, - 63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224, - 0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0, - 0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0, - 252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128, - 0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0, - 0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252, - 192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248, - 1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16, - 12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128, - 3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39, - 2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112, - 0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0, - 12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56, - 15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62, - 7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7, - 192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128, - 224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128, - 112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56, - 60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0, - 0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0, - 96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36, - 2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, - 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, - 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, - 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, - 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, - 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, - 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, - 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, - 15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7, - 240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255, - 128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15, - 224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15, - 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, - 224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15, - 224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15, - 224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15, - 224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15, - 224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15, - 224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26, - 34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63, - 128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7, - 128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3, - 128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1, - 128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, - 0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0, - 192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1, - 128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6, - 0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136, - 37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15, - 224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15, - 224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15, - 224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15, - 224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15, - 224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15, - 224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3, - 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, - 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, - 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, - 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, - 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, - 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, - 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, - 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, - 224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255, - 255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7, - 240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7, - 240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7, - 240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7, - 255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7, - 240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224, - 192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7, - 192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1, - 192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0, - 192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0, - 0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31, - 192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31, - 192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31, - 192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192, - 192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0, - 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, - 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, - 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, - 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, - 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, - 255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, - 240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23, - 34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15, - 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, - 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, - 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, - 224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224, - 255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96, - 15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3, - 0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0, - 7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7, - 240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240, - 48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224, - 0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0, - 0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0, - 7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7, - 240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240, - 63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15, - 240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248, - 0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3, - 0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, - 48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0, - 112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0, - 240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7, - 240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255, - 240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248, - 0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0, - 95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223, - 192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192, - 6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6, - 63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15, - 226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244, - 31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31, - 192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192, - 6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63, - 192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255, - 224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248, - 0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0, - 48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48, - 0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0, - 3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3, - 7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1, - 255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127, - 240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240, - 0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0, - 3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63, - 240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34, - 136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0, - 7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128, - 63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224, - 127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192, - 31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0, - 3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34, - 3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240, - 15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240, - 7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240, - 7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240, - 15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, - 0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246, - 0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0, - 15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128, - 63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224, - 127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, - 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, - 127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128, - 15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16, - 0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16, - 0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240, - 0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128, - 0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240, - 126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240, - 31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240, - 31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240, - 63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240, - 62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240, - 31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240, - 31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240, - 31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255, - 135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1, - 7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240, - 0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128, - 24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128, - 15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192, - 15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0, - 30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48, - 195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248, - 255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248, - 240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56, - 192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24, - 128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, - 3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15, - 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, - 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, - 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, - 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, - 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, - 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, - 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, - 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, - 31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15, - 248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248, - 0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0, - 96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192, - 0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0, - 0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0, - 63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15, - 230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252, - 0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0, - 0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0, - 0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0, - 0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255, - 128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7, - 248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1, - 254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0, - 192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0, - 0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255, - 3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63, - 195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0, - 0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0, - 31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248, - 7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252, - 0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0, - 0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3, - 224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0, - 240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0, - 0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255, - 31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3, - 128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0, - 0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0, - 0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0, - 31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15, - 248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252, - 0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0, - 0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0, - 0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3, - 128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128, - 31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254, - 15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248, - 0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254, - 1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127, - 134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31, - 204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, - 240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128, - 127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0, - 120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0, - 96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0, - 0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0, - 0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128, - 3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128, - 15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128, - 63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128, - 255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44, - 88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0, - 120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0, - 14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128, - 3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240, - 0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28, - 0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18, - 3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, - 3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0, - 112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207, - 0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224, - 60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25, - 3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255, - 128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1, - 21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120, - 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, - 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, - 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, - 63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193, - 248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99, - 192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0, - 31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252, - 31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0, - 0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128, - 62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26, - 2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224, - 0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62, - 15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, - 252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30, - 31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252, - 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, - 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, - 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, - 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, - 18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7, - 199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135, - 128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27, - 2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7, - 238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192, - 31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48, - 0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255, - 240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56, - 192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30, - 7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128, - 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, - 31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31, - 143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192, - 252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252, - 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227, - 255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63, - 128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0, - 0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, - 0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92, - 16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0, - 124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, - 252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124, - 252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25, - 34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, - 0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96, - 0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0, - 0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128, - 0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224, - 0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252, - 0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68, - 14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193, - 248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63, - 0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0, - 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, - 3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3, - 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, - 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, - 0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2, - 1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248, - 63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63, - 1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1, - 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, - 255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30, - 7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3, - 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, - 252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62, - 7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1, - 246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248, - 31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31, - 128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192, - 252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224, - 31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31, - 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, - 0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96, - 30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252, - 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, - 224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224, - 62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0, - 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, - 224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66, - 20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63, - 159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0, - 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, - 63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63, - 0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96, - 60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63, - 240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240, - 7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1, - 128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63, - 128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31, - 128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31, - 130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66, - 26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31, - 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, - 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, - 31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15, - 201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192, - 120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96, - 7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1, - 249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126, - 0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0, - 35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128, - 31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15, - 192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224, - 191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31, - 144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224, - 0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0, - 0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0, - 56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255, - 231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227, - 0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0, - 0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3, - 15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207, - 254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48, - 15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3, - 240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253, - 0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0, - 0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0, - 8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32, - 0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0, - 127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96, - 126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240, - 0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192, - 31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255, - 255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128, - 7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0, - 28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128, - 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, - 15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44, - 44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240, - 0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192, - 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, - 7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31, - 2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255, - 128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1, - 255,128,48,0,63,0,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 5 y=15 dx=28 dy= 0 ascent=25 len=72 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =19 descent=-6 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_FONT_SECTION("u8g_font_osr18") = { - 0,68,33,235,248,18,4,197,10,125,32,255,250,25,249,19, - 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, - 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, - 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, - 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, - 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, - 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, - 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, - 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, - 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, - 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, - 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, - 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, - 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, - 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, - 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, - 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, - 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, - 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, - 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, - 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, - 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, - 192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66, - 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, - 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, - 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, - 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, - 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, - 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, - 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, - 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, - 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, - 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, - 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, - 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, - 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, - 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, - 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, - 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, - 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, - 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, - 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, - 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, - 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, - 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, - 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, - 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, - 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, - 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, - 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, - 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240, - 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, - 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, - 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, - 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, - 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, - 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, - 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, - 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, - 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, - 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, - 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, - 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, - 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, - 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, - 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, - 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, - 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, - 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, - 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, - 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, - 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, - 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, - 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, - 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, - 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, - 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, - 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, - 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, - 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, - 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, - 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, - 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, - 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, - 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, - 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, - 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, - 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, - 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, - 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, - 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, - 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, - 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, - 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, - 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, - 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, - 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, - 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, - 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, - 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, - 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, - 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, - 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, - 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, - 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, - 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, - 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, - 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, - 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, - 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, - 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, - 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, - 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, - 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, - 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, - 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, - 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, - 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, - 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, - 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, - 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, - 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, - 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, - 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, - 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, - 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, - 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, - 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, - 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, - 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, - 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, - 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, - 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, - 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, - 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, - 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, - 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, - 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, - 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, - 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, - 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, - 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, - 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, - 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, - 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, - 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, - 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, - 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, - 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, - 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, - 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, - 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, - 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, - 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, - 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, - 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, - 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, - 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, - 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, - 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, - 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, - 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, - 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, - 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, - 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, - 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, - 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, - 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, - 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, - 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, - 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, - 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, - 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, - 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, - 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, - 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, - 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, - 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, - 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, - 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, - 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, - 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, - 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, - 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, - 64,124,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,7,0,0,3,18,18,7,2,250,224, - 224,224,0,64,64,64,64,64,64,64,64,224,224,224,224,224, - 224,9,18,36,15,3,253,4,0,4,0,4,0,31,0,53, - 0,100,128,229,128,197,128,196,0,196,0,196,0,228,128,100, - 128,53,0,31,0,4,0,4,0,4,0,14,18,36,19,2, - 0,0,248,1,132,3,4,2,12,6,0,6,0,6,0,62, - 0,7,224,6,0,6,0,6,0,6,0,6,0,116,4,140, - 4,139,248,112,240,11,11,22,15,2,2,159,32,113,192,64, - 64,128,96,128,32,128,32,128,32,128,32,64,64,96,192,159, - 32,15,18,36,15,0,0,252,126,56,24,24,16,28,16,12, - 32,14,64,6,64,7,128,3,128,63,240,3,0,3,0,63, - 240,3,0,3,0,3,0,3,0,31,224,1,23,23,7,3, - 251,128,128,128,128,128,128,128,128,128,0,0,0,0,0,128, - 128,128,128,128,128,128,128,128,10,23,46,17,3,251,30,0, - 33,0,35,0,35,0,32,0,48,0,28,0,46,0,71,0, - 131,128,129,192,192,192,224,64,112,64,56,128,29,0,6,0, - 3,0,3,0,49,0,49,0,34,0,28,0,7,2,2,11, - 2,15,198,198,19,18,54,21,1,0,3,248,0,12,6,0, - 16,225,0,33,28,128,67,12,64,70,4,64,134,4,32,134, - 0,32,134,0,32,134,0,32,134,0,32,134,8,32,67,8, - 64,67,8,64,32,240,128,16,1,0,12,6,0,3,248,0, - 7,8,8,11,2,10,240,200,24,104,136,154,100,252,6,10, - 10,12,3,1,32,68,136,136,136,136,136,136,68,32,13,6, - 12,15,1,3,255,248,0,8,0,8,0,8,0,8,0,8, - 7,1,1,11,2,6,254,19,18,54,21,1,0,3,248,0, - 12,6,0,31,225,0,35,24,128,67,24,64,67,24,64,131, - 24,32,131,24,32,131,224,32,131,16,32,131,24,32,131,24, - 32,67,26,64,67,26,64,47,142,128,16,1,0,12,6,0, - 3,248,0,7,1,1,11,2,15,254,7,7,7,15,4,11, - 56,68,130,130,130,68,56,22,18,54,24,1,255,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,255,255,252,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,0,0,0,0,0, - 255,255,252,7,10,10,11,2,8,124,134,134,230,6,8,16, - 96,66,254,7,11,11,12,3,7,120,132,198,198,4,120,14, - 70,198,134,120,4,4,4,11,5,13,48,48,96,128,14,19, - 38,17,2,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,64,192,64,128,64,132,163,252,158,56,128,0,128,0, - 192,0,192,0,192,0,224,0,64,0,11,22,44,14,2,252, - 63,224,120,128,248,128,248,128,248,128,248,128,248,128,120,128, - 8,128,8,128,8,128,8,128,8,128,8,128,8,128,8,128, - 8,128,8,128,8,128,8,128,8,128,8,128,3,3,3,7, - 2,7,224,224,224,5,5,5,11,3,251,64,48,24,24,240, - 6,11,11,12,3,7,16,16,240,48,48,48,48,48,48,48, - 252,6,9,9,10,2,9,112,136,132,132,132,132,72,48,252, - 7,10,10,13,3,1,8,68,68,34,34,34,34,68,68,136, - 18,18,54,23,3,0,16,4,0,240,12,0,48,8,0,48, - 16,0,48,16,0,48,32,0,48,96,0,48,67,0,48,135, - 0,48,139,0,253,11,0,3,19,0,2,19,0,6,35,0, - 4,63,192,8,3,0,24,3,0,16,15,192,17,18,54,22, - 3,0,16,4,0,240,8,0,48,8,0,48,16,0,48,16, - 0,48,32,0,48,64,0,48,78,0,48,179,128,48,161,128, - 253,49,128,3,17,128,2,3,0,4,6,0,4,8,0,8, - 16,128,24,49,128,16,63,128,18,18,54,23,3,0,120,4, - 0,134,12,0,198,8,0,4,16,0,120,16,0,12,32,0, - 6,96,0,198,67,0,198,135,0,142,139,0,121,11,0,2, - 19,0,2,19,0,4,35,0,12,63,192,8,3,0,16,3, - 0,16,15,192,9,18,36,12,1,250,28,0,28,0,28,0, - 0,0,28,0,34,0,34,0,6,0,4,0,24,0,48,0, - 96,0,227,0,195,128,192,128,224,128,97,0,62,0,18,24, - 72,20,2,0,6,0,0,6,0,0,3,0,0,0,128,0, - 0,0,0,0,0,0,0,128,0,0,192,0,1,192,0,1, - 192,0,1,224,0,3,224,0,2,96,0,2,112,0,6,112, - 0,4,48,0,4,56,0,12,24,0,15,248,0,24,28,0, - 16,12,0,16,14,0,48,14,0,254,63,192,18,24,72,20, - 2,0,0,16,0,0,48,0,0,96,0,0,64,0,0,128, - 0,0,0,0,0,128,0,0,192,0,1,192,0,1,192,0, - 1,224,0,3,224,0,2,96,0,2,112,0,6,112,0,4, - 48,0,4,56,0,12,56,0,15,248,0,24,28,0,16,12, - 0,16,14,0,48,14,0,254,63,192,18,24,72,20,2,0, - 0,128,0,0,192,0,1,96,0,2,48,0,4,8,0,0, - 0,0,0,128,0,0,192,0,1,192,0,1,192,0,1,224, - 0,3,224,0,2,96,0,2,112,0,6,112,0,4,48,0, - 4,56,0,12,56,0,15,248,0,24,28,0,16,12,0,16, - 12,0,48,14,0,254,63,192,18,23,69,20,2,0,3,144, - 0,5,240,0,0,0,0,0,0,0,0,0,0,0,128,0, - 0,128,0,1,192,0,1,192,0,1,224,0,3,224,0,2, - 96,0,2,112,0,6,112,0,4,48,0,12,56,0,12,56, - 0,15,248,0,24,28,0,16,28,0,16,12,0,48,14,0, - 254,63,192,18,23,69,20,1,0,6,24,0,6,24,0,2, - 16,0,0,0,0,0,0,0,0,192,0,0,192,0,0,192, - 0,1,224,0,1,224,0,1,96,0,2,112,0,2,112,0, - 2,48,0,4,56,0,4,24,0,12,24,0,15,252,0,8, - 12,0,24,12,0,24,14,0,56,6,0,254,63,192,17,24, - 72,20,2,0,1,192,0,2,32,0,2,32,0,2,32,0, - 1,192,0,0,0,0,0,128,0,0,128,0,1,192,0,1, - 192,0,1,192,0,2,224,0,2,96,0,2,96,0,4,112, - 0,4,112,0,12,48,0,8,56,0,15,248,0,24,28,0, - 16,28,0,16,12,0,48,14,0,254,127,128,24,18,54,26, - 0,0,0,127,255,0,28,7,0,28,3,0,44,1,0,44, - 1,0,76,17,0,76,16,0,140,48,0,143,240,1,12,48, - 3,12,16,2,12,17,7,252,17,4,12,1,8,12,1,8, - 12,3,24,12,7,254,63,255,14,24,48,18,2,250,7,132, - 24,108,32,60,96,28,96,12,192,12,192,4,192,0,192,0, - 192,0,192,0,192,4,96,4,96,4,96,8,48,24,24,48, - 7,192,2,0,3,128,0,192,0,192,8,192,7,128,15,24, - 48,18,1,0,4,0,6,0,3,0,1,128,0,0,0,0, - 255,254,24,6,24,2,24,2,24,2,24,34,24,32,24,96, - 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, - 24,14,255,254,15,24,48,18,1,0,0,48,0,48,0,96, - 0,192,0,0,0,0,255,254,24,14,24,6,24,2,24,2, - 24,34,24,32,24,96,31,224,24,96,24,32,24,32,24,34, - 24,2,24,2,24,6,24,14,255,254,15,24,48,18,1,0, - 0,128,1,192,3,64,6,48,8,8,0,0,255,254,24,6, - 24,2,24,2,24,2,24,34,24,32,24,96,31,224,24,96, - 24,32,24,32,24,34,24,2,24,2,24,6,24,14,255,254, - 15,23,46,18,1,0,6,48,6,48,4,16,0,0,0,0, - 255,254,24,14,24,6,24,2,24,2,24,34,24,32,24,96, - 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, - 24,14,255,254,8,24,24,10,1,0,64,96,48,16,8,0, - 255,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,255,8,24,24,10,1,0,3,3,6,8,0,0,255,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,255, - 8,24,24,10,1,0,8,24,52,66,129,0,255,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,255,8,23, - 23,10,1,0,195,195,66,0,0,255,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,255,17,18,54,19,1, - 0,255,240,0,24,12,0,24,6,0,24,3,0,24,3,0, - 24,1,128,24,1,128,24,1,128,127,1,128,24,1,128,24, - 1,128,24,1,128,24,1,128,24,3,0,24,3,0,24,6, - 0,24,12,0,255,240,0,18,24,72,19,1,0,3,200,0, - 2,248,0,0,0,0,0,0,0,0,0,0,0,0,0,252, - 15,192,28,2,0,30,2,0,22,2,0,23,2,0,19,130, - 0,17,130,0,17,194,0,16,226,0,16,226,0,16,114,0, - 16,50,0,16,58,0,16,30,0,16,14,0,16,14,0,16, - 6,0,252,2,0,15,24,48,18,2,1,28,0,12,0,6, - 0,2,0,1,0,0,0,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,96,12,32,8,48,24,24,48,7,192,15,24,48,18,2, - 1,0,112,0,96,0,192,0,128,1,0,0,0,7,192,24, - 48,48,24,32,8,96,12,96,12,192,6,192,6,192,6,192, - 6,192,6,192,6,96,12,96,12,32,8,48,24,24,48,7, - 192,15,24,48,18,2,0,1,0,3,128,6,192,12,96,16, - 16,0,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,24,48,18,2,0,15,16,19, - 224,0,0,0,0,0,0,0,0,7,192,24,48,48,24,32, - 8,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, - 6,96,12,96,12,32,8,48,24,24,48,7,192,15,24,48, - 18,2,0,8,0,12,96,12,96,0,0,0,0,0,0,7, - 192,24,48,48,24,32,8,96,12,96,12,192,6,192,6,192, - 6,192,6,192,6,192,6,96,12,96,12,32,8,48,24,24, - 48,7,192,16,16,32,24,4,255,0,1,64,3,32,6,16, - 12,8,24,4,48,2,96,1,192,1,128,3,64,6,32,12, - 16,24,8,48,4,96,2,192,1,15,18,36,18,2,0,7, - 194,24,52,48,28,32,12,96,28,96,44,192,70,192,198,193, - 134,195,6,198,6,196,6,232,12,112,12,96,8,112,24,88, - 48,135,192,19,24,72,21,1,1,3,0,0,3,128,0,0, - 128,0,0,64,0,0,0,0,0,0,0,255,15,224,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, - 1,0,24,1,0,12,1,0,12,2,0,6,4,0,1,248, - 0,19,24,72,21,1,1,0,28,0,0,24,0,0,48,0, - 0,32,0,0,64,0,0,0,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,19, - 24,72,21,1,0,0,96,0,0,224,0,1,176,0,3,8, - 0,0,4,0,0,0,0,255,15,224,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,12,1,0,12,2,0,6,4,0,1,248,0,19,23,69, - 21,1,1,3,24,0,3,24,0,0,0,0,0,0,0,0, - 0,0,255,15,224,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,24,1,0,24,1,0,24,1,0,12,1,0,12, - 2,0,6,4,0,1,248,0,17,24,72,19,1,0,0,24, - 0,0,56,0,0,48,0,0,64,0,0,0,0,0,0,0, - 255,31,128,28,6,0,28,4,0,14,4,0,6,8,0,7, - 8,0,3,144,0,3,160,0,1,224,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 0,192,0,7,252,0,15,18,36,17,1,0,255,0,24,0, - 24,0,31,224,24,24,24,12,24,6,24,6,24,6,24,14, - 24,12,24,24,31,240,24,0,24,0,24,0,24,0,255,0, - 12,18,36,14,1,0,7,128,24,224,24,96,48,96,48,192, - 48,128,55,0,49,128,48,64,48,96,48,112,48,48,48,48, - 48,48,54,48,54,112,52,96,243,192,11,18,36,13,1,0, - 96,0,96,0,48,0,24,0,8,0,0,0,30,0,99,0, - 65,128,97,128,33,128,15,128,113,128,193,128,195,160,195,160, - 197,160,121,192,11,18,36,13,1,0,1,128,3,128,3,0, - 4,0,8,0,0,0,62,0,65,0,65,128,97,128,33,128, - 15,128,113,128,193,128,193,160,195,160,197,160,120,192,11,18, - 36,13,1,0,8,0,12,0,28,0,50,0,65,0,0,0, - 30,0,99,0,65,128,97,128,33,128,15,128,113,128,193,128, - 195,160,195,160,197,160,121,192,11,17,34,13,1,0,56,128, - 79,0,0,0,0,0,0,0,30,0,99,0,65,128,97,128, - 33,128,15,128,113,128,193,128,195,160,195,160,197,160,121,192, - 11,17,34,13,1,0,99,0,99,0,1,0,0,0,0,0, - 60,0,67,0,67,0,99,0,3,0,15,0,115,0,195,0, - 195,32,199,32,203,32,121,192,11,18,36,13,1,0,28,0, - 34,0,34,0,34,0,28,0,0,0,60,0,67,0,67,0, - 99,0,35,0,15,0,115,0,195,0,195,32,199,32,199,32, - 121,192,16,12,24,18,1,0,30,120,99,198,65,134,97,131, - 1,131,31,255,97,128,193,128,195,129,195,130,196,194,120,124, - 9,18,36,11,1,250,30,0,33,0,96,128,193,128,193,128, - 192,0,192,0,192,0,192,0,96,128,33,0,30,0,8,0, - 12,0,2,0,3,0,3,0,30,0,9,18,36,12,1,0, - 96,0,112,0,48,0,8,0,0,0,0,0,30,0,35,0, - 97,128,193,128,193,128,255,128,192,0,192,0,192,128,96,128, - 33,0,30,0,9,18,36,12,1,0,1,0,3,0,2,0, - 4,0,8,0,0,0,30,0,35,0,97,128,193,128,193,128, - 255,128,192,0,192,0,192,128,96,128,33,0,30,0,9,18, - 36,12,1,0,8,0,12,0,28,0,18,0,33,0,0,0, - 30,0,35,0,97,128,193,128,193,128,255,128,192,0,192,0, - 192,128,96,128,33,0,30,0,9,17,34,12,1,0,51,0, - 51,0,1,0,0,0,0,0,30,0,35,0,97,128,193,128, - 193,128,255,128,192,0,192,0,192,128,96,128,33,0,30,0, - 7,18,18,8,0,0,192,224,96,16,8,0,120,24,24,24, - 24,24,24,24,24,24,24,126,6,18,18,7,1,0,4,12, - 24,16,32,0,240,48,48,48,48,48,48,48,48,48,48,252, - 8,17,17,8,0,0,24,56,36,195,0,120,24,24,24,24, - 24,24,24,24,24,24,126,7,17,17,9,1,0,4,198,198, - 0,0,120,24,24,24,24,24,24,24,24,24,24,124,10,18, - 36,13,1,0,56,128,27,0,12,0,22,0,35,0,3,0, - 31,128,33,128,97,192,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,33,128,30,0,13,17,34,15,1,0,14,64, - 19,192,0,0,0,0,0,0,243,192,52,192,56,96,56,96, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,253,248, - 10,18,36,13,1,0,96,0,48,0,16,0,8,0,4,0, - 0,0,30,0,33,128,97,128,192,192,192,192,192,192,192,192, - 192,192,192,192,97,128,33,128,30,0,10,18,36,13,1,0, - 1,128,3,128,3,0,4,0,0,0,0,0,30,0,33,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, - 33,128,30,0,10,18,36,13,1,0,4,0,12,0,14,0, - 18,0,33,0,0,0,30,0,33,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,33,128,30,0,10,17, - 34,13,1,0,60,128,47,0,0,0,0,0,0,0,30,0, - 33,128,97,128,192,192,192,192,192,192,192,192,192,192,192,192, - 97,128,33,128,30,0,10,17,34,13,1,0,49,128,49,128, - 1,0,0,0,0,0,30,0,33,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,33,128,30,0,22,16, - 48,24,1,255,0,112,0,0,112,0,0,112,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,255,252,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,112, - 0,0,112,0,10,12,24,13,1,0,30,64,33,128,96,128, - 193,192,194,192,196,192,200,192,208,192,208,192,97,128,97,128, - 158,0,13,18,36,14,0,0,16,0,24,0,12,0,4,0, - 2,0,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,18,36,14, - 0,0,0,192,0,192,1,128,2,0,0,0,0,0,241,224, - 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,224, - 48,224,57,96,30,120,13,18,36,14,0,0,2,0,6,0, - 5,0,8,128,16,0,0,0,241,224,48,96,48,96,48,96, - 48,96,48,96,48,96,48,96,48,224,48,224,57,96,30,120, - 13,17,34,14,0,0,24,192,24,192,0,0,0,0,0,0, - 240,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,224,48,224,57,96,30,120,13,24,48,14,0,250,0,96, - 0,224,0,192,1,0,0,0,0,0,252,248,56,32,24,32, - 24,64,12,64,12,64,12,128,6,128,6,128,7,0,3,0, - 3,0,3,0,2,0,34,0,98,0,100,0,56,0,11,24, - 48,14,1,250,48,0,240,0,48,0,48,0,48,0,48,0, - 49,192,54,224,52,96,56,96,56,96,48,96,48,192,48,192, - 49,128,49,0,50,0,60,0,48,0,48,0,48,0,48,0, - 48,0,96,0,13,23,46,14,0,250,8,64,12,96,12,96, - 0,0,0,0,252,120,24,32,24,32,24,64,12,64,12,64, - 14,128,6,128,6,128,7,0,3,0,3,0,2,0,2,0, - 34,0,114,0,100,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 18 - Calculated Max Values w=22 h=24 x= 3 y= 8 dx=24 dy= 0 ascent=18 len=66 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent= 0 - X Font ascent =18 descent= 0 - Max Font ascent =18 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18n[613] U8G_FONT_SECTION("u8g_font_osr18n") = { - 0,68,33,235,248,18,0,0,0,0,42,58,0,18,250,18, - 0,10,10,20,14,2,8,12,0,12,0,204,192,201,192,43, - 0,28,0,123,128,201,192,12,0,12,0,22,22,66,24,1, - 252,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,255, - 255,252,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,3,8,8,7,2,252,192,224,224,32,32,64,64, - 128,7,1,1,11,2,6,254,3,3,3,7,2,0,224,224, - 224,8,24,24,12,2,250,1,1,2,2,2,4,4,4,12, - 8,8,24,16,16,16,32,32,32,64,64,64,128,128,128,12, - 18,36,15,1,0,15,0,16,192,32,64,96,96,96,32,192, - 48,192,48,192,48,192,48,192,48,192,48,192,48,192,48,96, - 32,96,96,32,64,16,192,15,0,9,18,36,15,3,0,8, - 0,8,0,24,0,248,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,255,128,10,18,36,15,2,0,30,0,99,128,129,192,128, - 192,128,192,224,192,240,192,32,192,1,128,3,0,6,0,8, - 0,16,0,32,0,64,64,192,64,255,192,255,192,11,18,36, - 15,2,0,63,0,97,128,192,192,224,192,240,192,0,192,0, - 192,1,128,62,0,1,128,0,192,0,96,96,96,240,96,240, - 96,192,192,65,128,63,0,12,18,36,15,2,0,1,0,3, - 0,3,0,7,0,15,0,11,0,19,0,51,0,35,0,67, - 0,195,0,131,0,255,224,3,0,3,0,3,0,3,0,31, - 240,11,18,36,15,2,0,96,192,127,128,126,0,64,0,64, - 0,64,0,95,0,97,128,64,192,64,224,0,96,0,96,96, - 96,240,96,224,192,192,192,65,128,62,0,11,18,36,15,2, - 0,15,0,24,128,48,64,96,192,96,192,64,0,192,0,207, - 0,209,192,224,192,224,224,224,96,224,96,224,96,96,224,96, - 192,49,128,15,0,10,18,36,15,3,0,255,192,255,192,128, - 64,128,64,128,128,0,128,1,0,1,0,2,0,6,0,6, - 0,12,0,12,0,30,0,30,0,30,0,30,0,14,0,12, - 18,36,15,2,0,31,128,48,224,96,96,192,48,192,48,224, - 48,240,32,124,64,63,128,55,224,96,240,192,112,192,48,192, - 48,192,48,96,96,112,192,31,128,11,18,36,15,2,0,30, - 0,49,128,96,192,224,192,192,64,192,96,192,96,192,224,96, - 224,113,96,30,96,0,96,0,64,96,192,96,192,64,128,65, - 0,62,0,3,12,12,7,2,0,224,224,224,0,0,0,0, - 0,0,224,224,224}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 18, '1' Height: 18 - Calculated Max Values w=26 h=24 x= 3 y=13 dx=28 dy= 0 ascent=20 len=72 - Font Bounding box w=68 h=33 x=-21 y=-8 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =18 descent=-6 - X Font ascent =19 descent=-6 - Max Font ascent =20 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_FONT_SECTION("u8g_font_osr18r") = { - 0,68,33,235,248,18,4,197,10,125,32,127,250,20,250,19, - 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, - 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, - 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, - 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, - 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, - 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, - 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, - 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, - 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, - 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, - 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, - 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, - 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, - 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, - 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, - 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, - 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, - 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, - 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, - 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, - 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, - 192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66, - 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, - 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, - 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, - 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, - 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, - 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, - 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, - 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, - 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, - 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, - 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, - 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, - 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, - 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, - 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, - 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, - 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, - 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, - 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, - 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, - 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, - 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, - 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, - 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, - 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, - 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, - 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, - 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, - 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, - 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, - 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, - 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, - 0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240, - 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, - 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, - 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, - 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, - 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, - 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, - 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, - 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, - 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, - 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, - 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, - 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, - 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, - 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, - 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, - 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, - 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, - 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, - 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, - 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, - 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, - 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, - 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, - 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, - 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, - 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, - 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, - 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, - 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, - 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, - 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, - 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, - 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, - 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, - 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, - 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, - 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, - 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, - 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, - 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, - 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, - 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, - 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, - 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, - 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, - 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, - 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, - 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, - 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, - 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, - 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, - 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, - 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, - 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, - 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, - 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, - 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, - 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, - 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, - 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, - 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, - 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, - 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, - 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, - 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, - 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, - 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, - 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, - 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, - 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, - 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, - 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, - 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, - 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, - 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, - 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, - 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, - 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, - 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, - 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, - 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, - 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, - 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, - 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, - 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, - 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, - 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, - 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, - 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, - 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, - 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, - 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, - 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, - 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, - 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, - 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, - 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, - 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, - 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, - 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, - 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, - 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, - 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, - 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, - 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, - 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, - 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, - 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, - 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, - 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, - 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, - 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, - 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, - 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, - 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, - 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, - 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, - 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, - 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, - 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, - 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, - 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, - 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, - 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, - 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, - 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, - 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, - 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, - 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, - 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, - 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, - 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, - 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, - 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, - 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, - 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, - 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, - 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, - 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, - 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, - 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, - 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, - 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, - 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, - 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, - 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, - 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, - 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, - 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, - 64,124,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=29 h=28 x= 6 y=17 dx=32 dy= 0 ascent=28 len=88 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =22 descent=-7 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_FONT_SECTION("u8g_font_osr21") = { - 0,76,38,232,247,21,5,131,12,189,32,255,249,28,248,22, - 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, - 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, - 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, - 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, - 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, - 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, - 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, - 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, - 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, - 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, - 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, - 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, - 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, - 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, - 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, - 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, - 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, - 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, - 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, - 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, - 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, - 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, - 24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0, - 30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, - 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, - 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, - 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, - 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, - 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, - 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, - 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, - 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, - 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, - 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, - 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, - 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, - 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, - 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, - 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, - 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, - 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, - 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, - 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95, - 0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240, - 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, - 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, - 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, - 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, - 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, - 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, - 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, - 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, - 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, - 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, - 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, - 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, - 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, - 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, - 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, - 240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12, - 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, - 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, - 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, - 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, - 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, - 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, - 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, - 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, - 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, - 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, - 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, - 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, - 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, - 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, - 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, - 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, - 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, - 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, - 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, - 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, - 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, - 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, - 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, - 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, - 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, - 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, - 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, - 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, - 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, - 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, - 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, - 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, - 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, - 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, - 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, - 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, - 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, - 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, - 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, - 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, - 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, - 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, - 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, - 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, - 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, - 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, - 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, - 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, - 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, - 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, - 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, - 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, - 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, - 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, - 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, - 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, - 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, - 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, - 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, - 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, - 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, - 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, - 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, - 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, - 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, - 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, - 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, - 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, - 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, - 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, - 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, - 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, - 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, - 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, - 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, - 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, - 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, - 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, - 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, - 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, - 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, - 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, - 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, - 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, - 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, - 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, - 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, - 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, - 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, - 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, - 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, - 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, - 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, - 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, - 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, - 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, - 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, - 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, - 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, - 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, - 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, - 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, - 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, - 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, - 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, - 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, - 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, - 56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10, - 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, - 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, - 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, - 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, - 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, - 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, - 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, - 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, - 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, - 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, - 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, - 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, - 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, - 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, - 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, - 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, - 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, - 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, - 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, - 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, - 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, - 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, - 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, - 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, - 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, - 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, - 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, - 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, - 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, - 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, - 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, - 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, - 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, - 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, - 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, - 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, - 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, - 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, - 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, - 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, - 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, - 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, - 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, - 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, - 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, - 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, - 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, - 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, - 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, - 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, - 2,126,1,143,193,131,241,128,255,64,62,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,8, - 0,0,4,21,21,8,2,249,96,240,240,96,0,64,64,96, - 96,96,96,96,96,96,96,240,240,240,240,240,96,10,21,42, - 17,3,253,4,0,4,0,4,0,4,0,31,0,52,128,100, - 64,100,192,229,192,228,128,228,0,228,0,228,0,228,0,100, - 64,100,64,52,128,31,0,4,0,4,0,4,0,16,21,42, - 21,2,0,0,60,0,194,0,131,1,135,1,135,3,130,3, - 128,3,128,3,128,63,128,3,240,3,128,3,128,3,128,3, - 0,3,0,123,1,142,1,135,3,135,254,120,252,13,13,26, - 17,2,4,143,136,112,112,96,48,64,16,128,8,128,8,128, - 8,128,8,128,8,64,16,96,48,112,112,143,136,16,21,42, - 17,1,0,252,63,56,8,56,8,24,16,28,16,28,32,14, - 32,14,64,6,64,7,128,3,128,63,248,3,128,3,128,63, - 248,3,128,3,128,3,128,3,128,3,128,31,240,1,27,27, - 8,4,251,128,128,128,128,128,128,128,128,128,128,128,0,0, - 0,0,0,128,128,128,128,128,128,128,128,128,128,128,11,27, - 54,19,3,250,30,0,49,0,97,128,99,128,97,0,112,0, - 56,0,60,0,62,0,79,0,131,128,129,192,128,224,192,96, - 224,32,112,32,56,64,28,128,15,0,7,0,3,0,1,128, - 33,128,113,128,97,128,35,0,28,0,8,3,3,12,2,16, - 195,231,195,21,22,66,23,1,0,0,32,0,3,222,0,12, - 1,128,24,0,192,48,114,96,33,142,32,67,6,16,67,2, - 16,135,2,8,135,0,8,135,0,8,135,0,8,135,0,8, - 135,0,8,135,2,8,67,2,16,67,4,16,33,132,32,48, - 120,96,24,0,192,12,1,128,3,222,0,8,9,9,12,2, - 12,120,196,12,52,68,197,205,118,254,7,12,12,14,3,1, - 16,34,98,68,196,196,196,196,196,66,34,16,14,6,12,16, - 1,5,255,252,0,4,0,4,0,4,0,4,0,4,7,2, - 2,11,2,7,254,254,21,22,66,23,1,0,0,32,0,3, - 222,0,12,1,128,24,0,192,63,248,96,35,140,32,67,142, - 16,67,142,16,131,142,8,131,140,8,131,240,8,131,140,8, - 131,140,8,131,142,8,131,142,72,67,142,80,67,134,80,47, - 195,160,48,0,96,24,0,192,12,1,128,3,222,0,8,1, - 1,14,3,17,255,8,8,8,16,4,13,60,66,129,129,129, - 129,66,60,24,21,63,26,1,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,255,255,255,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,0,8,0,0,8,0,0,8,0,0, - 0,0,0,0,0,255,255,255,8,13,13,13,3,8,60,198, - 135,199,231,6,12,24,48,65,193,255,255,9,13,26,13,3, - 8,60,0,70,0,67,0,99,0,3,0,6,0,120,0,7, - 0,3,0,227,128,227,0,135,0,124,0,5,5,5,13,6, - 16,24,56,48,96,128,15,22,44,18,2,248,192,64,192,96, - 224,224,192,224,192,224,192,96,192,96,192,96,64,96,64,64, - 64,66,192,194,177,190,143,28,128,0,128,0,192,0,192,0, - 192,0,224,0,224,0,96,0,12,26,52,16,2,251,31,240, - 124,64,252,64,252,64,252,64,252,64,252,64,124,64,60,64, - 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, - 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, - 4,64,4,4,4,8,2,8,96,240,240,96,6,7,7,13, - 3,250,32,32,48,8,12,140,120,6,12,12,13,4,9,16, - 48,240,48,48,48,48,48,48,48,48,252,7,10,10,11,2, - 11,56,68,198,198,198,198,198,68,56,254,8,12,12,14,3, - 1,8,132,70,66,35,35,35,35,34,70,68,8,19,21,63, - 25,4,0,16,3,0,48,2,0,240,4,0,48,4,0,48, - 8,0,48,8,0,48,16,0,48,48,0,48,32,0,48,65, - 128,48,67,128,48,131,128,252,133,128,1,9,128,3,9,128, - 2,17,128,4,31,224,4,1,128,8,1,128,8,1,128,16, - 7,224,19,21,63,25,4,0,16,2,0,48,2,0,240,4, - 0,48,4,0,48,8,0,48,16,0,48,16,0,48,32,0, - 48,39,128,48,72,192,48,80,224,48,144,224,252,156,224,1, - 12,192,2,0,192,2,1,0,4,6,0,4,12,32,8,8, - 32,8,31,224,16,31,224,20,21,63,25,3,0,60,1,0, - 70,1,0,67,2,0,99,2,0,3,4,0,6,12,0,120, - 8,0,7,16,0,3,16,0,227,160,192,227,33,192,135,65, - 192,124,130,192,0,132,192,1,4,192,1,8,192,2,15,240, - 2,0,192,4,0,192,8,0,192,8,3,240,11,21,42,14, - 1,249,12,0,30,0,30,0,12,0,0,0,14,0,17,0, - 17,0,17,0,2,0,6,0,28,0,56,0,112,0,224,192, - 225,224,225,224,224,32,96,32,112,64,31,128,20,28,84,22, - 1,0,3,0,0,3,128,0,1,128,0,0,192,0,0,64, - 0,0,0,0,0,0,0,0,32,0,0,96,0,0,96,0, - 0,112,0,0,240,0,0,240,0,0,184,0,1,56,0,1, - 56,0,3,28,0,3,28,0,2,28,0,6,14,0,6,14, - 0,7,254,0,12,7,0,12,7,0,8,7,0,24,3,128, - 24,3,128,255,31,240,20,28,84,22,1,0,0,4,0,0, - 12,0,0,24,0,0,48,0,0,32,0,0,0,0,0,0, - 0,0,32,0,0,96,0,0,96,0,0,112,0,0,240,0, - 0,240,0,1,184,0,1,56,0,1,56,0,3,28,0,3, - 28,0,2,28,0,6,14,0,6,14,0,7,254,0,12,7, - 0,12,7,0,8,7,0,24,3,128,24,3,128,255,31,240, - 20,28,84,22,1,0,0,32,0,0,96,0,0,240,0,1, - 152,0,3,4,0,0,0,0,0,0,0,0,32,0,0,96, - 0,0,96,0,0,112,0,0,240,0,0,240,0,0,184,0, - 1,56,0,1,56,0,3,28,0,3,28,0,2,28,0,6, - 14,0,6,14,0,7,254,0,12,7,0,12,7,0,8,7, - 0,24,3,128,24,3,128,255,31,240,20,27,81,22,1,0, - 1,228,0,3,252,0,2,56,0,0,0,0,0,0,0,0, - 0,0,0,32,0,0,96,0,0,96,0,0,112,0,0,240, - 0,0,240,0,0,184,0,1,184,0,1,56,0,3,28,0, - 3,28,0,2,28,0,6,14,0,6,14,0,7,254,0,12, - 7,0,12,7,0,8,7,0,24,3,128,24,3,128,255,31, - 240,19,27,81,22,2,0,6,24,0,7,28,0,6,24,0, - 0,0,0,0,0,0,0,0,0,0,64,0,0,192,0,0, - 224,0,0,224,0,1,224,0,1,224,0,1,112,0,3,112, - 0,2,48,0,2,56,0,6,56,0,4,24,0,4,28,0, - 12,28,0,15,252,0,8,14,0,24,14,0,24,6,0,24, - 7,0,56,7,0,254,31,224,20,28,84,23,2,0,0,96, - 0,1,152,0,1,8,0,1,8,0,1,152,0,0,96,0, - 0,0,0,0,96,0,0,96,0,0,96,0,0,240,0,0, - 240,0,0,240,0,1,184,0,1,56,0,1,56,0,3,28, - 0,2,28,0,2,28,0,6,14,0,4,14,0,15,254,0, - 8,7,0,8,7,0,24,7,0,24,3,128,56,3,128,255, - 31,240,27,21,84,30,1,0,0,63,255,224,0,15,0,224, - 0,15,0,96,0,31,0,96,0,23,0,32,0,55,0,32, - 0,39,8,32,0,103,8,0,0,71,8,0,0,199,24,0, - 0,135,248,0,1,7,24,0,3,7,8,0,2,7,8,32, - 7,255,8,32,4,7,0,32,12,7,0,32,8,7,0,96, - 24,7,0,96,56,7,1,224,255,63,255,224,15,28,56,19, - 2,250,15,226,16,54,48,30,32,14,96,6,96,6,224,6, - 224,2,224,0,224,0,224,0,224,0,224,0,224,2,96,2, - 96,2,96,4,32,4,48,12,24,8,6,112,1,128,1,0, - 1,192,0,96,0,112,8,96,7,192,17,28,84,20,2,0, - 4,0,0,6,0,0,3,0,0,1,0,0,0,128,0,0, - 0,0,0,0,0,255,255,128,28,3,128,28,3,128,28,1, - 128,28,1,128,28,0,128,28,32,128,28,32,0,28,32,0, - 28,96,0,31,224,0,28,96,0,28,32,0,28,32,128,28, - 32,128,28,0,128,28,1,128,28,1,128,28,3,128,28,7, - 128,255,255,128,17,28,84,20,2,0,0,24,0,0,56,0, - 0,48,0,0,96,0,0,128,0,0,0,0,0,0,0,255, - 255,128,28,3,128,28,3,128,28,1,128,28,1,128,28,0, - 128,28,32,128,28,32,0,28,32,0,28,96,0,31,224,0, - 28,96,0,28,32,0,28,32,128,28,32,128,28,0,128,28, - 1,128,28,1,128,28,3,128,28,7,128,255,255,128,17,28, - 84,20,2,0,0,128,0,0,192,0,1,192,0,2,32,0, - 4,24,0,0,0,0,0,0,0,255,255,128,28,3,128,28, - 3,128,28,1,128,28,1,128,28,0,128,28,32,128,28,32, - 0,28,32,0,28,96,0,31,224,0,28,96,0,28,32,0, - 28,32,128,28,32,128,28,0,128,28,1,128,28,1,128,28, - 3,128,28,7,128,255,255,128,17,27,81,20,2,0,6,48, - 0,7,56,0,6,48,0,0,0,0,0,0,0,0,0,0, - 255,255,128,28,7,128,28,3,128,28,1,128,28,1,128,28, - 1,128,28,32,128,28,32,0,28,32,0,28,96,0,31,224, - 0,28,96,0,28,32,0,28,32,128,28,32,128,28,1,0, - 28,1,128,28,1,128,28,3,128,28,7,128,255,255,128,8, - 28,28,12,2,0,192,224,96,48,24,0,0,255,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 255,9,28,56,12,2,0,1,0,3,0,6,0,4,0,8, - 0,0,0,0,0,255,128,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,8, - 28,28,12,2,0,8,24,28,38,193,0,0,255,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, - 255,9,27,54,11,2,0,195,0,227,128,195,0,0,0,0, - 0,0,0,255,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,0,19,21,63, - 22,2,0,255,248,0,28,6,0,28,3,0,28,1,128,28, - 1,192,28,0,192,28,0,192,28,0,224,28,0,224,255,128, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,192, - 28,0,192,28,1,128,28,1,128,28,3,0,28,6,0,255, - 248,0,20,27,81,23,2,0,1,226,0,3,254,0,2,28, - 0,0,0,0,0,0,0,0,0,0,252,7,240,28,0,128, - 30,0,128,31,0,128,23,0,128,19,128,128,19,192,128,17, - 192,128,16,224,128,16,240,128,16,112,128,16,56,128,16,56, - 128,16,28,128,16,30,128,16,14,128,16,7,128,16,7,128, - 16,3,128,16,1,128,254,1,128,17,28,84,20,2,0,12, - 0,0,14,0,0,6,0,0,3,0,0,1,128,0,0,0, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,28,84,20,2,0,0,24,0,0,56,0,0, - 112,0,0,64,0,0,128,0,0,0,0,0,128,0,7,112, - 0,24,8,0,16,12,0,48,6,0,96,6,0,96,3,0, - 96,3,0,224,3,0,224,3,0,224,3,0,224,3,128,224, - 3,128,224,3,0,224,3,0,96,3,0,96,3,0,96,6, - 0,48,6,0,16,12,0,24,8,0,7,240,0,17,28,84, - 20,2,0,0,128,0,1,128,0,3,192,0,6,32,0,12, - 16,0,0,8,0,0,128,0,7,112,0,24,8,0,16,12, - 0,48,6,0,96,6,0,96,3,0,96,3,0,224,3,0, - 224,3,0,224,3,0,224,3,128,224,3,128,224,3,0,224, - 3,0,96,3,0,96,3,0,96,6,0,48,6,0,16,12, - 0,24,8,0,7,240,0,17,27,81,20,2,0,7,136,0, - 15,248,0,8,112,0,0,0,0,0,0,0,0,128,0,7, - 112,0,24,8,0,16,12,0,48,6,0,96,6,0,96,3, - 0,96,3,0,224,3,0,224,3,0,224,3,0,224,3,128, - 224,3,128,224,3,0,224,3,0,96,3,0,96,3,0,96, - 6,0,48,6,0,16,12,0,24,8,0,7,240,0,17,27, - 81,20,2,0,12,48,0,14,56,0,12,48,0,0,0,0, - 0,0,0,0,128,0,7,112,0,24,8,0,16,12,0,48, - 6,0,96,6,0,96,3,0,96,3,0,224,3,0,224,3, - 0,224,3,0,224,3,128,224,3,128,224,3,0,224,3,0, - 96,3,0,96,3,0,96,6,0,48,6,0,16,12,0,24, - 8,0,7,240,0,18,18,54,27,5,255,128,0,192,192,1, - 128,96,3,0,48,6,0,24,12,0,12,24,0,6,48,0, - 3,96,0,1,192,0,1,192,0,3,96,0,6,48,0,12, - 24,0,24,12,0,48,6,0,96,3,0,64,1,128,128,0, - 192,17,21,63,20,2,1,7,241,0,8,15,0,16,14,0, - 48,6,0,96,14,0,96,27,0,96,19,0,224,35,0,224, - 99,0,224,195,128,225,131,128,225,3,0,226,3,0,230,3, - 0,236,3,0,104,3,0,112,6,0,112,6,0,112,12,0, - 88,8,0,143,240,0,20,28,84,23,2,0,3,0,0,3, - 128,0,1,128,0,0,192,0,0,32,0,0,0,0,0,0, - 0,255,7,240,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,12,0,128,12,1,0,6,2,0,3,252,0, - 20,28,84,23,2,0,0,4,0,0,12,0,0,24,0,0, - 16,0,0,32,0,0,0,0,0,0,0,255,7,240,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,12,0, - 128,12,1,0,6,2,0,3,252,0,20,28,84,23,2,0, - 0,32,0,0,96,0,0,112,0,0,136,0,3,4,0,0, - 0,0,0,0,0,255,7,240,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,28,0,128,28,0,128,12,1,128,12,1,0,6,2, - 0,3,252,0,20,27,81,23,2,0,1,134,0,3,142,0, - 1,134,0,0,0,0,0,0,0,0,0,0,255,131,240,28, - 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,12, - 0,128,12,1,0,6,2,0,3,252,0,19,28,84,21,1, - 0,0,4,0,0,12,0,0,24,0,0,16,0,0,32,0, - 0,0,0,0,0,0,255,143,224,30,3,128,14,3,0,14, - 2,0,7,2,0,7,4,0,3,132,0,1,200,0,1,200, - 0,0,240,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,254,0,17,21,63,20,2,0,255,128,0,28,0, - 0,28,0,0,31,240,0,28,12,0,28,6,0,28,3,0, - 28,3,0,28,3,128,28,3,128,28,3,0,28,3,0,28, - 6,0,28,12,0,31,240,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,255,128,0,13,21,42,15,1,0, - 7,192,12,96,24,112,56,112,56,112,56,96,56,192,59,0, - 56,192,56,96,56,48,56,48,56,56,56,56,56,56,56,56, - 58,56,63,56,62,48,60,48,251,192,13,21,42,15,1,0, - 96,0,96,0,48,0,24,0,8,0,4,0,0,0,31,0, - 97,128,65,192,97,192,113,192,1,192,15,192,49,192,97,192, - 193,192,193,200,195,200,196,216,56,240,13,21,42,15,1,0, - 0,192,1,192,1,128,3,0,6,0,4,0,0,0,31,0, - 33,128,96,192,112,192,112,192,0,192,7,192,56,192,96,192, - 224,192,224,200,225,200,226,216,60,112,13,21,42,15,1,0, - 4,0,12,0,14,0,26,0,17,0,32,128,0,0,31,0, - 33,128,97,192,113,192,113,192,1,192,15,192,49,192,97,192, - 225,192,225,200,225,200,226,216,60,240,13,20,40,15,1,0, - 24,0,63,128,71,128,0,0,0,0,0,0,31,0,33,128, - 97,192,113,192,113,192,1,192,15,192,49,192,97,192,225,192, - 225,200,225,200,226,216,60,240,13,20,40,15,1,0,97,128, - 97,192,97,128,0,0,0,0,0,0,30,0,97,128,64,128, - 96,128,96,192,0,192,15,192,48,192,96,192,192,192,193,200, - 194,200,194,216,60,112,13,21,42,15,1,0,14,0,49,0, - 33,0,33,0,19,0,14,0,0,0,30,0,33,128,97,128, - 97,128,113,192,1,192,15,192,113,192,97,192,225,192,225,200, - 227,200,229,216,120,240,18,14,42,20,1,0,31,30,0,97, - 227,0,65,227,0,97,193,128,113,193,128,1,193,128,15,255, - 192,113,192,0,65,192,0,193,192,128,193,192,128,194,224,128, - 194,97,0,60,62,0,10,20,40,12,1,250,31,0,48,128, - 96,192,96,192,225,192,224,128,224,0,224,0,224,0,224,64, - 96,64,96,128,48,128,31,0,8,0,12,0,3,0,3,0, - 3,0,30,0,10,21,42,13,1,0,96,0,112,0,56,0, - 24,0,4,0,0,0,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,21,42,13,1,0,0,192,1,192,1,128, - 3,0,6,0,0,0,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,21,42,13,1,0,4,0,4,0,14,0, - 11,0,17,0,32,128,0,0,30,0,49,128,97,128,96,192, - 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, - 48,128,31,0,10,20,40,13,1,0,49,128,113,192,49,128, - 0,0,0,0,0,0,30,0,49,128,97,128,96,192,224,192, - 224,192,255,192,224,0,224,0,224,64,96,64,96,64,48,128, - 31,0,7,21,21,8,0,0,192,192,96,48,24,0,0,124, - 28,28,28,28,28,28,28,28,28,28,28,28,126,7,21,21, - 8,1,0,6,14,12,24,16,0,0,248,56,56,56,56,56, - 56,56,56,56,56,56,56,252,7,20,20,9,1,0,48,48, - 104,132,2,0,248,56,56,56,56,56,56,56,56,56,56,56, - 56,252,8,19,19,9,1,0,198,231,198,0,0,124,28,28, - 28,28,28,28,28,28,28,28,28,28,126,12,21,42,14,1, - 0,56,64,29,128,14,0,15,0,19,0,33,128,1,192,15, - 192,48,224,96,224,96,96,224,96,224,112,224,112,224,96,224, - 96,224,96,96,96,96,192,48,128,15,0,14,20,40,16,1, - 0,14,32,15,32,19,192,16,192,0,0,0,0,249,192,62, - 96,60,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,252,252,12,21,42,14,1,0,32, - 0,48,0,24,0,8,0,4,0,0,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,0, - 192,1,192,1,128,3,0,2,0,4,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,4, - 0,6,0,14,0,11,0,16,128,32,0,0,0,15,0,48, - 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, - 96,96,96,96,192,48,128,15,0,12,20,40,14,1,0,28, - 64,63,192,39,128,0,0,0,0,0,0,15,0,48,128,96, - 192,96,96,224,96,224,96,224,112,224,112,224,96,224,96,96, - 96,96,192,48,128,15,0,12,20,40,14,1,0,48,192,57, - 192,48,192,0,0,0,0,0,0,15,0,48,128,96,192,96, - 96,224,96,224,96,224,112,224,112,224,96,224,96,96,96,96, - 192,48,128,15,0,24,19,57,26,1,254,0,24,0,0,60, - 0,0,60,0,0,24,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,24,0,0,60,0,0,60, - 0,0,24,0,12,14,28,14,1,0,15,32,48,160,96,192, - 96,224,225,96,227,96,226,112,228,112,232,96,240,96,96,96, - 96,192,112,128,143,0,14,21,42,16,1,0,24,0,24,0, - 12,0,6,0,2,0,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,21,42,16,1,0,0,96,0,224, - 0,192,1,128,1,0,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,21,42,16,1,0,2,0,3,0, - 7,0,4,128,8,64,0,0,0,0,248,240,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, - 56,240,25,112,14,124,14,20,40,16,1,0,24,96,28,224, - 24,96,0,0,0,0,0,0,248,240,56,112,56,112,56,112, - 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,240, - 25,112,14,124,14,28,56,15,0,249,0,48,0,112,0,96, - 0,192,1,128,0,0,0,0,254,124,24,16,24,16,28,16, - 12,32,12,32,14,32,6,64,6,64,6,64,3,128,3,128, - 3,128,1,128,1,0,1,0,1,0,98,0,114,0,100,0, - 56,0,12,28,56,14,1,249,56,0,248,0,56,0,56,0, - 56,0,56,0,56,0,57,224,62,112,60,112,56,112,56,112, - 56,112,56,96,56,96,56,192,56,128,57,128,58,0,60,0, - 56,0,56,0,56,0,56,0,56,0,56,0,48,0,192,0, - 14,26,52,15,0,249,12,48,14,112,12,48,0,0,0,0, - 254,60,24,16,24,16,28,32,12,32,12,32,14,32,6,64, - 6,64,7,64,3,128,3,128,3,128,1,0,1,0,1,0, - 1,0,114,0,114,0,116,0,56,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 21 - Calculated Max Values w=24 h=28 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =21 descent= 0 - X Font ascent =21 descent= 0 - Max Font ascent =22 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21n[722] U8G_FONT_SECTION("u8g_font_osr21n") = { - 0,76,38,232,247,21,0,0,0,0,42,58,0,22,250,21, - 0,10,12,24,14,2,9,12,0,14,0,204,64,228,192,117, - 192,14,0,30,0,229,192,196,192,12,0,14,0,12,0,24, - 25,75,26,1,252,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,0,8,0,255,255,255,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 4,8,8,8,2,251,224,240,240,16,16,16,32,64,7,2, - 2,11,2,7,254,254,4,4,4,8,2,0,96,240,240,96, - 9,28,56,13,2,250,0,128,0,128,1,128,1,0,1,0, - 1,0,2,0,2,0,2,0,6,0,4,0,4,0,12,0, - 8,0,8,0,24,0,16,0,16,0,16,0,32,0,32,0, - 32,0,64,0,64,0,64,0,192,0,128,0,128,0,14,21, - 42,17,1,0,7,128,24,64,48,32,32,48,96,16,96,24, - 96,24,224,24,224,24,224,24,224,28,224,28,224,24,224,24, - 224,24,96,24,96,24,96,48,48,32,16,96,15,192,10,21, - 42,17,3,0,2,0,6,0,6,0,14,0,254,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,255,192,12,21, - 42,17,2,0,31,0,32,192,64,96,128,112,128,112,192,112, - 240,112,112,112,32,96,0,224,0,192,1,0,6,0,12,0, - 24,0,48,16,96,16,64,16,224,112,255,240,255,240,12,21, - 42,17,2,0,31,0,97,192,192,224,224,96,240,96,112,112, - 0,96,0,96,0,224,48,192,63,0,0,192,0,96,0,112, - 0,112,96,112,240,112,240,112,192,96,192,192,127,128,14,21, - 42,17,2,0,0,64,0,192,1,192,1,192,3,192,7,192, - 5,192,13,192,9,192,17,192,49,192,33,192,65,192,193,192, - 255,252,1,192,1,192,1,192,1,192,1,192,15,252,12,21, - 42,17,2,0,96,64,127,128,127,0,64,0,64,0,64,0, - 64,0,95,0,96,192,64,96,64,96,0,112,0,112,0,112, - 96,112,240,112,240,112,224,96,192,224,64,192,63,128,12,21, - 42,17,2,0,7,128,24,64,16,96,48,224,96,224,96,192, - 96,0,224,0,231,128,232,192,240,96,240,96,224,112,224,112, - 224,112,224,112,96,112,96,96,112,96,48,192,31,128,11,21, - 42,17,3,0,255,224,255,224,192,32,128,32,128,64,128,64, - 0,64,0,128,1,0,1,0,2,0,6,0,6,0,12,0, - 12,0,12,0,30,0,30,0,30,0,30,0,30,0,14,21, - 42,17,2,0,15,128,48,96,96,48,224,24,224,24,224,24, - 224,24,240,16,124,32,63,192,15,224,51,240,96,248,224,56, - 224,28,224,28,224,24,224,24,96,24,112,48,31,192,12,21, - 42,17,2,0,15,0,48,128,96,64,96,96,224,96,224,96, - 224,112,224,112,224,112,96,112,96,240,49,176,14,48,0,48, - 0,32,48,96,112,96,112,64,96,192,96,128,63,0,4,14, - 14,8,2,0,96,240,240,96,0,0,0,0,0,0,96,240, - 240,96}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 21, '1' Height: 21 - Calculated Max Values w=29 h=28 x= 4 y=17 dx=32 dy= 0 ascent=23 len=88 - Font Bounding box w=76 h=38 x=-24 y=-9 - Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 - Pure Font ascent =21 descent=-7 - X Font ascent =22 descent=-7 - Max Font ascent =23 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_FONT_SECTION("u8g_font_osr21r") = { - 0,76,38,232,247,21,5,131,12,189,32,127,249,23,249,22, - 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, - 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, - 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, - 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, - 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, - 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, - 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, - 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, - 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, - 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, - 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, - 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, - 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, - 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, - 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, - 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, - 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, - 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, - 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, - 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, - 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, - 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, - 24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0, - 30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, - 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, - 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, - 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, - 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, - 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, - 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, - 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, - 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, - 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, - 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, - 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, - 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, - 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, - 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, - 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, - 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, - 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, - 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, - 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, - 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, - 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, - 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95, - 0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240, - 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, - 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, - 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, - 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, - 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, - 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, - 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, - 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, - 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, - 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, - 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, - 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, - 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, - 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, - 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, - 240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12, - 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, - 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, - 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, - 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, - 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, - 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, - 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, - 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, - 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, - 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, - 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, - 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, - 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, - 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, - 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, - 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, - 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, - 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, - 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, - 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, - 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, - 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, - 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, - 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, - 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, - 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, - 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, - 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, - 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, - 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, - 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, - 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, - 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, - 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, - 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, - 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, - 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, - 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, - 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, - 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, - 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, - 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, - 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, - 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, - 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, - 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, - 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, - 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, - 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, - 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, - 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, - 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, - 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, - 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, - 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, - 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, - 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, - 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, - 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, - 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, - 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, - 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, - 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, - 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, - 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, - 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, - 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, - 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, - 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, - 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, - 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, - 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, - 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, - 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, - 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, - 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, - 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, - 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, - 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, - 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, - 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, - 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, - 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, - 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, - 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, - 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, - 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, - 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, - 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, - 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, - 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, - 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, - 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, - 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, - 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, - 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, - 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, - 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, - 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, - 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, - 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, - 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, - 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, - 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, - 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, - 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, - 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, - 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, - 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, - 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, - 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, - 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, - 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, - 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, - 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, - 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, - 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, - 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, - 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, - 56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10, - 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, - 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, - 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, - 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, - 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, - 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, - 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, - 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, - 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, - 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, - 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, - 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, - 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, - 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, - 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, - 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, - 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, - 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, - 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, - 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, - 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, - 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, - 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, - 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, - 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, - 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, - 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, - 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, - 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, - 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, - 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, - 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, - 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, - 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, - 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, - 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, - 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, - 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, - 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, - 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, - 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, - 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, - 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, - 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, - 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, - 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, - 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, - 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, - 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, - 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, - 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, - 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, - 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, - 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, - 2,126,1,143,193,131,241,128,255,64,62,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=36 h=35 x= 7 y=21 dx=38 dy= 0 ascent=35 len=140 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x=-1 y=-10 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =27 descent=-8 - Max Font ascent =35 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_FONT_SECTION("u8g_font_osr26") = { - 0,94,46,227,245,26,7,96,17,82,32,255,248,35,246,27, - 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, - 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, - 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, - 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, - 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, - 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, - 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, - 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, - 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, - 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, - 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, - 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, - 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, - 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, - 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, - 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, - 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, - 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, - 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, - 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, - 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, - 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, - 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, - 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, - 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, - 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, - 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, - 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, - 0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242, - 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, - 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, - 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, - 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, - 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, - 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, - 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, - 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, - 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, - 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, - 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, - 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, - 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, - 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, - 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, - 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, - 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, - 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, - 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, - 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, - 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, - 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, - 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, - 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, - 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, - 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, - 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, - 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, - 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, - 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, - 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, - 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, - 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, - 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, - 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, - 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, - 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, - 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, - 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, - 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, - 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, - 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, - 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, - 0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34, - 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, - 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, - 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, - 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, - 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, - 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, - 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, - 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, - 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, - 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, - 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, - 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, - 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, - 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, - 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, - 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, - 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, - 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, - 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, - 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, - 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, - 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, - 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, - 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, - 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, - 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, - 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, - 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, - 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, - 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, - 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, - 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, - 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, - 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, - 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, - 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, - 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, - 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, - 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, - 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, - 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, - 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, - 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, - 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, - 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, - 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, - 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, - 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, - 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, - 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, - 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, - 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, - 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, - 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, - 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, - 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, - 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, - 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, - 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, - 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, - 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, - 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, - 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, - 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, - 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, - 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, - 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, - 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, - 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, - 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, - 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, - 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, - 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, - 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, - 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, - 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, - 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, - 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, - 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, - 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, - 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, - 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, - 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, - 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, - 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, - 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, - 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, - 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, - 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, - 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, - 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, - 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, - 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, - 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, - 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, - 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, - 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, - 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, - 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, - 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, - 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, - 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, - 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, - 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, - 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, - 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, - 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, - 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, - 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, - 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, - 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, - 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, - 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, - 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, - 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, - 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, - 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, - 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, - 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, - 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, - 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, - 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, - 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, - 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, - 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, - 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, - 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, - 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, - 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, - 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, - 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, - 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, - 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, - 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, - 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, - 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, - 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, - 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, - 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, - 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, - 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, - 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, - 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, - 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, - 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, - 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, - 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, - 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, - 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, - 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, - 28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14, - 17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, - 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, - 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, - 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, - 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, - 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, - 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, - 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, - 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, - 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, - 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, - 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, - 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, - 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, - 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, - 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, - 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, - 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, - 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, - 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, - 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, - 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, - 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, - 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, - 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, - 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, - 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, - 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, - 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, - 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, - 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, - 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, - 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, - 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, - 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, - 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, - 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, - 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, - 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, - 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, - 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, - 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, - 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, - 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, - 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, - 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, - 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, - 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, - 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, - 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, - 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, - 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, - 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, - 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, - 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, - 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, - 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, - 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, - 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, - 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, - 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,10,0,0,4,25,25,10,3,248,96,240,240, - 240,96,64,64,96,96,96,96,96,96,96,96,96,96,240,240, - 240,240,240,240,240,96,12,25,50,21,4,252,1,0,1,0, - 1,0,1,0,7,192,25,32,57,48,113,48,113,112,225,112, - 225,32,225,0,225,0,225,0,225,0,225,0,113,16,113,16, - 57,16,29,32,7,192,1,0,1,0,1,0,1,0,20,25, - 75,25,2,0,0,15,128,0,24,96,0,48,32,0,96,112, - 0,192,240,0,192,240,1,192,224,1,192,0,1,192,0,1, - 192,0,1,192,0,63,192,0,1,254,0,1,192,0,1,192, - 0,1,192,0,1,192,0,1,192,0,1,192,0,57,128,16, - 199,128,16,131,128,48,131,224,96,134,255,192,120,63,128,18, - 16,48,22,2,5,195,241,192,124,15,128,48,7,0,32,3, - 0,96,1,0,64,1,128,64,0,128,64,0,128,64,0,128, - 64,0,128,64,1,128,96,1,0,32,3,0,48,7,0,124, - 15,128,227,241,192,20,25,75,22,1,0,255,7,240,60,1, - 192,28,1,128,30,1,0,14,3,0,15,2,0,7,6,0, - 7,132,0,3,140,0,3,136,0,1,216,0,1,208,0,1, - 224,0,31,255,0,0,224,0,0,224,0,31,255,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,15,254,0,2,33,33,10,4,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,0,0,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,192,192,192,13,32,64, - 23,4,249,7,128,24,64,16,96,48,224,48,224,48,64,56, - 0,28,0,30,0,15,0,23,128,99,192,129,224,128,240,128, - 120,128,24,192,24,224,8,120,8,60,16,30,32,15,64,7, - 128,3,192,1,192,0,224,16,96,56,96,56,96,48,64,16, - 192,15,0,10,4,8,16,3,20,96,192,225,192,225,192,96, - 192,26,26,104,30,2,1,0,255,192,0,3,0,48,0,4, - 0,8,0,8,0,4,0,16,30,2,0,32,113,225,0,32, - 224,225,0,65,192,96,128,65,192,96,128,129,128,32,64,131, - 128,32,64,131,128,0,64,131,128,0,64,131,128,0,64,131, - 128,0,64,131,128,0,64,131,128,32,64,65,192,64,128,65, - 192,64,128,32,224,65,0,32,112,129,0,16,31,2,0,8, - 0,4,0,4,0,8,0,3,0,48,0,0,255,192,0,9, - 13,26,13,2,12,120,0,132,0,198,0,198,0,14,0,54, - 0,70,0,198,0,198,128,206,128,115,0,0,0,255,0,10, - 14,28,18,4,2,16,64,48,128,97,128,97,0,195,0,195, - 0,195,0,195,0,195,0,67,0,97,0,32,128,16,192,8, - 0,18,7,21,22,2,6,255,255,192,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,9,2,4,13, - 2,8,255,128,255,128,26,26,104,30,2,1,0,255,192,0, - 3,0,48,0,4,0,8,0,8,0,4,0,19,255,2,0, - 32,225,193,0,32,224,225,0,64,224,224,128,64,224,224,128, - 128,224,224,64,128,224,224,64,128,225,192,64,128,254,0,64, - 128,225,128,64,128,224,192,64,128,224,224,64,128,224,224,64, - 64,224,228,128,64,224,228,128,32,224,233,0,35,248,121,0, - 16,0,2,0,8,0,4,0,4,0,8,0,3,0,48,0, - 0,255,192,0,9,1,2,15,3,21,255,128,10,9,18,22, - 6,16,30,0,97,128,192,128,128,64,128,64,128,64,64,128, - 97,128,30,0,30,25,100,34,2,255,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,255,255,255,252,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, - 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,255,255,255,252,10,15, - 30,16,3,10,63,0,67,128,129,192,129,192,225,192,225,192, - 1,128,3,0,6,0,8,0,48,0,64,64,64,64,255,192, - 255,192,10,16,32,16,4,9,62,0,67,0,193,128,225,128, - 225,128,1,128,3,0,124,0,3,128,1,192,1,192,225,192, - 225,192,129,192,131,128,126,0,6,6,6,16,7,19,12,28, - 56,48,96,192,19,27,81,22,2,246,96,24,0,224,60,0, - 224,60,0,224,60,0,224,60,0,224,60,0,224,60,0,224, - 60,0,224,60,0,192,24,0,64,24,0,64,24,0,64,56, - 0,96,48,32,112,124,96,95,231,224,71,195,192,128,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,224,0,0,224, - 0,0,224,0,0,240,0,0,96,0,0,15,31,62,19,2, - 251,31,254,62,16,126,16,254,16,254,16,254,16,254,16,254, - 16,254,16,126,16,62,16,2,16,2,16,2,16,2,16,2, - 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2, - 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4, - 5,5,10,3,9,96,240,240,240,96,7,7,7,16,4,248, - 16,32,28,6,6,134,124,8,15,15,16,4,10,8,24,248, - 24,24,24,24,24,24,24,24,24,24,24,255,9,13,26,15, - 3,12,28,0,99,0,67,0,193,128,193,128,193,128,193,128, - 193,128,67,0,99,0,28,0,0,0,255,128,9,14,28,17, - 4,2,132,0,66,0,99,0,33,0,49,128,49,128,49,128, - 49,128,49,128,33,128,99,0,67,0,134,0,4,0,24,25, - 75,31,4,0,8,0,16,24,0,48,248,0,32,24,0,64, - 24,0,64,24,0,128,24,1,128,24,1,0,24,2,0,24, - 6,0,24,4,12,24,8,28,24,8,28,24,16,44,255,48, - 76,0,32,76,0,64,140,0,192,140,0,129,12,1,2,12, - 1,3,255,2,0,12,6,0,12,4,0,12,8,0,127,24, - 25,75,31,4,0,8,0,32,24,0,96,248,0,64,24,0, - 192,24,0,128,24,1,0,24,1,0,24,2,0,24,6,0, - 24,4,0,24,12,248,24,9,14,24,18,15,24,18,7,255, - 35,135,0,97,135,0,64,14,0,128,12,0,128,24,1,0, - 32,3,0,193,2,1,1,6,1,1,4,3,255,8,3,254, - 24,25,75,31,4,0,62,0,32,67,0,32,193,128,64,225, - 128,192,1,128,128,3,1,128,124,1,0,3,130,0,1,194, - 0,1,196,0,225,204,24,225,200,24,129,208,56,131,144,88, - 126,32,88,0,96,152,0,64,152,0,193,24,0,129,24,1, - 2,24,3,3,255,2,0,24,6,0,24,4,0,24,8,0, - 127,13,25,50,17,1,248,6,0,15,0,15,0,15,0,6, - 0,7,0,8,192,16,64,16,64,16,192,0,128,1,0,7, - 0,14,0,28,0,56,0,112,0,240,112,224,120,224,120,224, - 24,224,24,112,16,56,96,15,192,25,34,136,28,2,0,0, - 192,0,0,0,224,0,0,0,224,0,0,0,48,0,0,0, - 24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0, - 8,0,0,0,12,0,0,0,28,0,0,0,28,0,0,0, - 30,0,0,0,62,0,0,0,46,0,0,0,47,0,0,0, - 103,0,0,0,103,0,0,0,71,128,0,0,195,128,0,0, - 195,128,0,0,131,192,0,1,129,192,0,1,129,192,0,3, - 1,224,0,3,255,224,0,2,0,224,0,6,0,240,0,6, - 0,112,0,6,0,112,0,12,0,120,0,12,0,120,0,30, - 0,120,0,255,195,255,128,25,34,136,28,2,0,0,0,192, - 0,0,1,192,0,0,3,128,0,0,7,0,0,0,6,0, - 0,0,8,0,0,0,0,0,0,0,0,0,0,0,8,0, - 0,0,12,0,0,0,28,0,0,0,28,0,0,0,30,0, - 0,0,62,0,0,0,46,0,0,0,47,0,0,0,103,0, - 0,0,103,0,0,0,71,128,0,0,195,128,0,0,195,128, - 0,1,131,192,0,1,129,192,0,1,129,192,0,3,1,224, - 0,3,255,224,0,2,0,224,0,6,0,240,0,6,0,112, - 0,4,0,112,0,12,0,120,0,12,0,56,0,30,0,124, - 0,255,195,255,128,25,34,136,28,2,0,0,8,0,0,0, - 28,0,0,0,30,0,0,0,51,0,0,0,65,128,0,1, - 128,64,0,0,0,0,0,0,0,0,0,0,8,0,0,0, - 12,0,0,0,28,0,0,0,28,0,0,0,30,0,0,0, - 62,0,0,0,46,0,0,0,47,0,0,0,103,0,0,0, - 103,0,0,0,71,128,0,0,195,128,0,0,195,128,0,0, - 131,192,0,1,129,192,0,1,129,192,0,3,1,224,0,3, - 255,224,0,2,0,224,0,6,0,240,0,6,0,112,0,6, - 0,112,0,12,0,120,0,12,0,120,0,30,0,120,0,255, - 195,255,128,25,33,132,28,2,0,0,112,64,0,0,252,64, - 0,0,159,192,0,1,7,128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,8,0,0,0,12,0,0,0,28,0, - 0,0,28,0,0,0,30,0,0,0,62,0,0,0,46,0, - 0,0,47,0,0,0,103,0,0,0,103,0,0,0,71,128, - 0,0,195,128,0,0,195,128,0,1,131,192,0,1,129,192, - 0,1,129,192,0,3,1,224,0,3,255,224,0,2,0,224, - 0,6,0,240,0,6,0,112,0,4,0,112,0,12,0,120, - 0,12,0,56,0,30,0,124,0,255,195,255,128,25,33,132, - 28,2,0,0,193,128,0,1,193,192,0,1,193,192,0,0, - 193,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 8,0,0,0,24,0,0,0,28,0,0,0,28,0,0,0, - 60,0,0,0,62,0,0,0,62,0,0,0,110,0,0,0, - 79,0,0,0,71,0,0,0,199,0,0,0,199,128,0,0, - 131,128,0,1,131,128,0,1,129,192,0,1,1,192,0,3, - 1,192,0,3,255,224,0,2,0,224,0,6,0,224,0,6, - 0,112,0,4,0,112,0,12,0,112,0,12,0,120,0,30, - 0,120,0,255,195,255,128,25,35,140,28,2,0,0,28,0, - 0,0,34,0,0,0,65,0,0,0,65,0,0,0,65,0, - 0,0,65,0,0,0,34,0,0,0,28,0,0,0,0,0, - 0,0,8,0,0,0,12,0,0,0,28,0,0,0,28,0, - 0,0,30,0,0,0,62,0,0,0,46,0,0,0,47,0, - 0,0,111,0,0,0,71,0,0,0,71,128,0,0,199,128, - 0,0,131,128,0,1,131,192,0,1,131,192,0,1,1,192, - 0,3,1,224,0,3,255,224,0,2,0,224,0,6,0,240, - 0,6,0,240,0,4,0,112,0,12,0,120,0,12,0,120, - 0,28,0,120,0,255,195,255,128,33,26,130,36,1,0,0, - 7,255,255,128,0,1,224,7,128,0,1,224,3,128,0,3, - 224,1,128,0,2,224,1,128,0,6,224,0,128,0,4,224, - 0,128,0,12,224,32,128,0,8,224,32,0,0,24,224,32, - 0,0,16,224,96,0,0,48,224,96,0,0,48,255,224,0, - 0,96,224,96,0,0,96,224,96,0,0,192,224,32,0,0, - 192,224,32,128,1,255,224,32,128,1,0,224,0,128,3,0, - 224,0,128,2,0,224,1,128,6,0,224,1,128,6,0,224, - 1,128,14,0,224,3,128,30,0,224,15,128,255,199,255,255, - 128,19,34,102,24,3,249,3,252,64,14,6,96,28,3,224, - 24,1,224,56,0,224,120,0,224,112,0,96,112,0,96,240, - 0,96,240,0,32,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,32,112,0,32, - 120,0,96,56,0,64,56,0,64,24,0,128,12,0,128,6, - 3,0,3,204,0,0,112,0,0,64,0,0,240,0,0,28, - 0,0,28,0,0,28,0,2,28,0,1,240,0,21,34,102, - 25,2,0,3,0,0,3,128,0,1,192,0,0,192,0,0, - 96,0,0,16,0,0,0,0,0,0,0,255,255,248,14,0, - 120,14,0,56,14,0,24,14,0,24,14,0,8,14,0,8, - 14,4,8,14,4,0,14,4,0,14,12,0,14,12,0,15, - 252,0,14,12,0,14,4,0,14,4,0,14,4,8,14,4, - 8,14,0,8,14,0,8,14,0,24,14,0,24,14,0,56, - 14,0,56,14,0,248,255,255,248,21,34,102,25,2,0,0, - 3,0,0,7,128,0,7,0,0,12,0,0,24,0,0,48, - 0,0,0,0,0,0,0,255,255,248,14,0,120,14,0,56, - 14,0,24,14,0,24,14,0,8,14,0,8,14,4,8,14, - 4,0,14,4,0,14,12,0,14,12,0,15,252,0,14,12, - 0,14,4,0,14,4,0,14,4,8,14,4,8,14,0,8, - 14,0,8,14,0,24,14,0,24,14,0,56,14,0,56,14, - 0,248,255,255,248,21,34,102,25,2,0,0,48,0,0,48, - 0,0,120,0,0,204,0,1,134,0,2,1,128,0,0,0, - 0,0,0,255,255,248,14,0,120,14,0,56,14,0,24,14, - 0,24,14,0,8,14,0,8,14,4,8,14,4,0,14,4, - 0,14,12,0,14,12,0,15,252,0,14,12,0,14,4,0, - 14,4,0,14,4,8,14,4,8,14,0,8,14,0,8,14, - 0,24,14,0,24,14,0,56,14,0,56,14,0,248,255,255, - 248,21,33,99,25,2,0,1,131,0,3,135,0,3,135,0, - 1,131,0,0,0,0,0,0,0,0,0,0,255,255,248,14, - 0,120,14,0,56,14,0,24,14,0,24,14,0,8,14,0, - 8,14,4,8,14,4,0,14,4,0,14,12,0,14,12,0, - 15,252,0,14,12,0,14,4,0,14,4,0,14,4,8,14, - 4,8,14,0,8,14,0,8,14,0,24,14,0,24,14,0, - 56,14,0,56,14,0,248,255,255,248,10,34,68,14,2,0, - 192,0,224,0,112,0,56,0,8,0,4,0,0,0,0,0, - 255,192,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,255,192,10,34,68,14,2,0,0,192,1,192,1,128, - 3,0,6,0,4,0,0,0,0,0,255,192,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,255,192,10,34, - 68,14,2,0,4,0,14,0,30,0,59,0,97,128,128,64, - 0,0,0,0,255,192,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,255,192,11,33,66,14,2,0,96,192, - 224,224,224,224,96,192,0,0,0,0,0,0,127,224,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,127,224, - 24,26,78,27,2,0,255,255,0,14,0,192,14,0,112,14, - 0,56,14,0,60,14,0,28,14,0,30,14,0,30,14,0, - 14,14,0,15,14,0,15,14,0,15,255,224,15,14,0,15, - 14,0,15,14,0,15,14,0,15,14,0,14,14,0,30,14, - 0,30,14,0,28,14,0,56,14,0,56,14,0,112,14,0, - 192,255,255,0,25,33,132,28,2,0,0,120,32,0,0,254, - 96,0,0,143,192,0,0,131,128,0,0,0,0,0,0,0, - 0,0,0,0,0,0,254,0,255,128,15,0,28,0,15,128, - 8,0,15,128,8,0,11,192,8,0,11,192,8,0,9,224, - 8,0,8,240,8,0,8,240,8,0,8,120,8,0,8,60, - 8,0,8,60,8,0,8,30,8,0,8,30,8,0,8,15, - 8,0,8,7,136,0,8,7,136,0,8,3,200,0,8,1, - 232,0,8,1,232,0,8,0,248,0,8,0,120,0,8,0, - 120,0,8,0,56,0,28,0,24,0,255,128,24,0,21,34, - 102,26,3,0,3,0,0,7,0,0,3,128,0,1,192,0, - 0,64,0,0,32,0,0,0,0,0,32,0,3,220,0,6, - 3,0,12,1,128,28,1,192,56,0,224,56,0,224,120,0, - 240,112,0,112,112,0,112,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,240,0,120,112, - 0,112,112,0,112,120,0,240,56,0,224,56,0,224,28,1, - 192,12,1,128,6,3,0,3,254,0,21,34,102,26,3,0, - 0,6,0,0,7,0,0,14,0,0,28,0,0,16,0,0, - 32,0,0,0,0,0,32,0,3,220,0,6,3,0,12,1, - 128,28,1,192,56,0,224,56,0,224,120,0,240,112,0,112, - 112,0,112,240,0,120,240,0,120,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,112,0,112,112,0, - 112,120,0,240,56,0,224,56,0,224,28,1,192,12,1,128, - 6,3,0,3,254,0,21,34,102,26,3,0,0,32,0,0, - 112,0,0,112,0,0,216,0,1,4,0,6,3,0,0,0, - 0,0,32,0,3,220,0,6,3,0,12,1,128,28,1,192, - 56,0,224,56,0,224,120,0,240,112,0,112,112,0,112,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,240,0,120,240,0,120,112,0,112,112,0,112,120,0,240, - 56,0,224,56,0,224,28,1,192,12,1,128,6,3,0,3, - 254,0,21,33,99,26,3,0,3,225,0,3,255,0,4,62, - 0,0,0,0,0,0,0,0,0,0,0,32,0,3,220,0, - 6,3,0,12,1,128,28,1,192,56,0,224,56,0,224,120, - 0,240,112,0,112,112,0,112,240,0,120,240,0,120,240,0, - 120,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, - 112,0,112,112,0,112,120,0,240,56,0,224,56,0,224,28, - 1,192,12,1,128,6,3,0,3,254,0,21,33,99,26,3, - 0,3,6,0,7,7,0,7,7,0,3,6,0,0,0,0, - 0,0,0,0,32,0,3,220,0,6,3,0,12,1,128,28, - 1,192,56,0,224,56,0,224,120,0,240,112,0,112,112,0, - 112,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,112,0,112,112,0,112,120, - 0,240,56,0,224,56,0,224,28,1,192,12,1,128,6,3, - 0,3,254,0,22,23,69,34,6,254,128,0,4,192,0,12, - 96,0,24,48,0,48,24,0,96,12,0,192,6,1,128,3, - 3,0,1,134,0,0,204,0,0,120,0,0,48,0,0,120, - 0,0,204,0,1,134,0,3,3,0,6,1,128,12,0,192, - 24,0,96,48,0,48,96,0,24,192,0,12,128,0,0,21, - 27,81,26,3,0,0,32,0,3,222,24,6,3,48,12,1, - 224,28,1,192,56,0,224,56,1,224,120,3,240,112,2,112, - 112,6,112,240,12,120,240,24,120,240,16,120,240,48,120,240, - 96,120,240,192,120,240,192,120,241,128,120,115,0,112,114,0, - 112,126,0,240,60,0,224,56,0,224,28,1,192,60,1,128, - 102,3,0,195,222,0,25,34,136,29,2,0,0,192,0,0, - 0,224,0,0,0,224,0,0,0,48,0,0,0,16,0,0, - 0,8,0,0,0,0,0,0,0,0,0,0,255,192,255,128, - 14,0,14,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 6,0,8,0,7,0,8,0,3,0,16,0,1,192,32,0, - 0,127,192,0,25,34,136,29,2,0,0,0,192,0,0,1, - 192,0,0,3,128,0,0,7,0,0,0,4,0,0,0,8, - 0,0,0,0,0,0,0,0,0,0,255,192,255,128,14,0, - 14,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,6,0, - 8,0,7,0,8,0,3,0,16,0,1,192,32,0,0,127, - 192,0,25,34,136,29,2,0,0,8,0,0,0,28,0,0, - 0,30,0,0,0,55,0,0,0,65,128,0,1,128,96,0, - 0,0,0,0,0,0,0,0,255,192,255,128,14,0,14,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, - 14,0,4,0,14,0,4,0,14,0,4,0,6,0,8,0, - 7,0,8,0,3,128,16,0,1,192,96,0,0,127,192,0, - 25,33,132,29,2,0,0,192,192,0,0,225,192,0,0,225, - 192,0,0,192,192,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,192,255,128,14,0,14,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, - 4,0,14,0,4,0,6,0,8,0,7,0,8,0,3,0, - 16,0,1,192,32,0,0,127,192,0,24,34,102,27,2,0, - 0,0,192,0,1,192,0,3,128,0,7,0,0,4,0,0, - 8,0,0,0,0,0,0,0,255,225,255,31,0,56,15,0, - 48,7,128,48,7,128,32,3,192,96,3,192,64,1,224,128, - 0,224,128,0,241,0,0,113,0,0,122,0,0,58,0,0, - 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,1,255,224,21,26,78,25,2,0,255,224,0,14, - 0,0,14,0,0,14,0,0,14,0,0,15,255,0,14,1, - 192,14,0,224,14,0,240,14,0,120,14,0,120,14,0,120, - 14,0,120,14,0,120,14,0,240,14,0,224,14,1,192,15, - 255,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,255,224,0,16,26,52,19,1,0, - 1,240,3,28,6,14,14,14,28,14,28,14,28,12,28,28, - 28,48,29,192,28,48,28,24,28,12,28,14,28,6,28,7, - 28,7,28,7,28,7,28,7,28,135,29,199,29,199,29,142, - 29,140,252,120,16,25,50,19,2,1,112,0,112,0,56,0, - 28,0,12,0,2,0,0,0,0,0,15,128,48,224,32,112, - 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, - 224,112,224,113,224,241,225,113,113,126,62,60,16,25,50,19, - 2,1,0,112,0,240,0,224,1,128,3,0,2,0,0,0, - 0,0,15,128,48,224,96,112,96,112,120,112,120,112,0,112, - 1,240,30,112,112,112,96,112,224,112,224,113,224,241,225,113, - 113,126,62,60,16,25,50,19,2,0,6,0,7,0,7,0, - 13,128,24,192,48,96,0,0,0,0,15,128,48,224,96,112, - 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, - 224,112,224,113,224,241,225,113,113,126,62,60,16,24,48,19, - 2,0,30,48,63,224,35,192,0,0,0,0,0,0,0,0, - 15,128,48,224,96,112,96,112,120,112,120,112,0,112,1,240, - 30,112,112,112,96,112,224,112,224,113,224,241,225,113,113,126, - 62,60,16,24,48,19,2,0,48,96,112,224,112,224,48,96, - 0,0,0,0,0,0,15,0,48,192,96,96,96,96,112,96, - 112,96,0,96,1,224,30,96,112,96,96,96,224,96,224,97, - 224,225,225,99,113,126,62,60,16,25,50,19,2,0,7,0, - 24,192,16,64,16,64,24,192,7,0,0,0,0,0,15,128, - 48,224,96,112,96,112,120,112,120,112,0,112,1,240,30,112, - 112,112,96,112,224,112,224,113,224,241,225,113,113,126,62,60, - 22,17,51,26,2,0,15,135,192,48,236,112,96,120,48,112, - 120,56,120,112,24,56,112,28,0,112,28,7,255,252,56,112, - 0,112,112,0,224,112,0,224,112,4,224,248,8,224,184,8, - 225,56,16,113,28,48,62,7,192,12,24,48,16,2,249,15, - 128,24,96,48,48,112,48,96,112,224,112,224,112,224,0,224, - 0,224,0,224,0,224,0,96,16,112,16,48,32,24,96,15, - 128,2,0,6,0,1,128,0,192,0,192,16,192,15,128,13, - 25,50,17,2,1,48,0,56,0,28,0,12,0,6,0,3, - 0,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, - 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, - 16,48,16,24,96,7,128,13,25,50,17,2,1,0,112,0, - 112,0,224,0,192,1,128,3,0,0,0,0,0,15,128,24, - 224,48,96,112,112,96,48,224,56,224,56,255,248,224,0,224, - 0,224,0,224,8,112,16,112,16,48,16,24,96,7,128,13, - 25,50,17,2,0,3,0,3,0,7,128,5,128,8,64,16, - 32,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, - 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, - 16,48,32,24,96,7,128,13,24,48,17,2,0,24,96,56, - 112,56,112,24,96,0,0,0,0,0,0,15,128,24,224,48, - 96,112,48,96,48,224,56,224,56,255,248,224,0,224,0,224, - 0,224,8,112,16,112,16,48,32,24,96,7,128,9,25,50, - 11,0,0,192,0,224,0,112,0,56,0,8,0,4,0,0, - 0,0,0,62,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,63,128,8,25,25,10,2,0,3,7,7,12,24, - 48,0,0,248,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,254,9,25,50,11,1,0,24,0,28,0,60,0, - 54,0,99,0,128,128,0,0,0,0,124,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,127,0,9,24,48,11, - 1,0,97,128,227,128,227,128,97,128,0,0,0,0,0,0, - 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 127,128,14,26,52,18,2,0,28,16,14,48,15,192,7,128, - 7,128,13,192,48,224,0,224,0,112,7,240,24,120,48,56, - 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,112,24,112,56,48,48,24,96,7,128,17,24,72,21, - 2,0,7,4,0,15,204,0,9,248,0,8,112,0,0,0, - 0,0,0,0,0,0,0,248,248,0,57,28,0,58,14,0, - 60,14,0,60,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,254,63,128,14,25,50,18,2,1, - 56,0,56,0,28,0,12,0,6,0,3,0,0,0,0,0, - 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, - 7,128,14,25,50,18,2,1,0,48,0,112,0,224,0,192, - 1,128,1,0,0,0,0,0,7,128,24,96,48,48,112,56, - 112,24,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,24,112,56,48,48,24,96,7,128,14,25,50,18,2,0, - 3,0,3,0,7,128,4,128,8,64,16,32,0,0,0,0, - 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, - 7,128,14,24,48,18,2,0,30,16,31,240,33,224,0,0, - 0,0,0,0,0,0,7,128,24,96,48,48,112,56,112,24, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,24, - 112,56,48,48,24,96,7,128,14,24,48,18,2,0,24,48, - 56,112,56,112,24,48,0,0,0,0,0,0,7,128,24,96, - 48,48,112,56,112,24,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,112,24,112,56,48,48,24,96,7,128,30,23, - 92,34,2,254,0,3,0,0,0,7,128,0,0,7,128,0, - 0,7,128,0,0,3,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,252,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, - 0,7,128,0,0,7,128,0,0,7,128,0,0,3,0,0, - 14,17,34,18,2,0,7,132,24,104,48,56,112,56,112,56, - 224,92,224,156,225,156,227,28,226,28,228,28,232,28,120,24, - 112,56,48,48,88,96,135,192,17,25,75,20,1,1,28,0, - 0,28,0,0,14,0,0,3,0,0,1,0,0,0,128,0, - 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, - 56,46,0,28,78,0,15,143,128,17,25,75,20,1,1,0, - 28,0,0,60,0,0,48,0,0,96,0,0,192,0,0,128, - 0,0,0,0,0,0,0,248,62,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,30,0,56,30, - 0,56,46,0,28,78,0,15,143,128,17,25,75,20,1,0, - 0,128,0,1,192,0,1,192,0,3,96,0,4,48,0,8, - 8,0,0,0,0,0,0,0,248,62,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,30,0,56, - 30,0,56,46,0,28,78,0,15,143,128,17,24,72,20,1, - 0,12,48,0,28,56,0,28,56,0,12,48,0,0,0,0, - 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, - 56,46,0,28,78,0,15,143,128,18,33,99,19,1,249,0, - 12,0,0,28,0,0,24,0,0,48,0,0,96,0,0,64, - 0,0,0,0,0,0,0,255,31,192,28,6,0,28,4,0, - 12,4,0,14,4,0,14,4,0,6,8,0,7,8,0,7, - 8,0,3,16,0,3,144,0,3,144,0,1,224,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, - 0,128,0,112,128,0,113,128,0,113,0,0,114,0,0,60, - 0,0,16,34,68,19,1,247,12,0,60,0,92,0,28,0, - 28,0,28,0,28,0,28,0,28,60,28,126,28,143,29,7, - 30,7,30,7,30,7,28,6,28,14,28,14,28,12,28,24, - 28,16,28,32,28,64,29,128,31,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,224,0,17,32,96,19, - 1,248,6,12,0,7,28,0,7,28,0,6,12,0,0,0, - 0,0,0,0,0,0,0,255,31,128,28,6,0,28,4,0, - 14,4,0,14,4,0,14,8,0,7,8,0,7,8,0,7, - 16,0,3,144,0,3,144,0,3,160,0,1,224,0,1,224, - 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, - 0,128,0,112,128,0,121,0,0,121,0,0,114,0,0,60, - 0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 25 - Calculated Max Values w=30 h=34 x= 4 y=10 dx=34 dy= 0 ascent=27 len=124 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 - Pure Font ascent =25 descent= 0 - X Font ascent =25 descent= 0 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26n[955] U8G_FONT_SECTION("u8g_font_osr26n") = { - 0,94,46,227,245,25,0,0,0,0,42,58,0,27,249,25, - 0,13,15,30,18,3,10,7,0,7,0,7,0,195,24,226, - 56,242,120,58,224,7,0,7,128,122,240,242,120,226,56,7, - 0,7,0,7,0,30,31,124,34,2,250,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,255,255,255,252,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,5,11,11,10,2,250,112,248,248, - 120,8,8,8,16,16,32,64,9,2,4,13,2,8,255,128, - 255,128,4,5,5,10,3,0,96,240,240,240,96,12,34,68, - 16,2,249,0,16,0,48,0,48,0,32,0,96,0,96,0, - 64,0,192,0,192,0,128,0,128,1,128,1,0,1,0,3, - 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, - 0,24,0,24,0,16,0,48,0,48,0,32,0,96,0,96, - 0,64,0,192,0,192,0,17,25,75,21,2,0,3,224,0, - 14,56,0,28,28,0,24,12,0,56,14,0,112,7,0,112, - 7,0,112,7,0,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, - 112,7,0,112,7,0,112,7,0,56,14,0,56,14,0,24, - 12,0,12,24,0,7,112,0,12,25,50,21,4,0,1,0, - 3,0,3,0,15,0,255,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,240, - 15,25,50,21,3,0,15,192,48,112,96,56,64,60,192,30, - 192,30,224,30,248,30,248,30,120,28,0,60,0,56,0,112, - 0,224,1,192,3,0,14,0,28,4,56,4,48,4,96,4, - 96,12,255,252,255,252,255,252,15,25,50,21,3,0,15,192, - 48,112,32,56,96,28,112,28,120,28,120,28,48,28,0,28, - 0,56,0,112,31,192,24,112,0,56,0,60,0,30,0,30, - 112,30,248,30,248,30,248,30,192,60,192,56,96,112,63,224, - 17,25,75,21,2,0,0,16,0,0,48,0,0,112,0,0, - 112,0,0,240,0,1,240,0,1,112,0,3,112,0,6,112, - 0,6,112,0,12,112,0,8,112,0,24,112,0,48,112,0, - 32,112,0,96,112,0,192,112,0,255,255,128,0,112,0,0, - 112,0,0,112,0,0,112,0,0,112,0,0,112,0,7,255, - 128,15,26,52,21,3,0,32,0,48,56,63,240,63,192,47, - 0,32,0,32,0,32,0,32,0,39,192,56,112,48,56,32, - 60,32,28,0,30,0,30,0,30,0,30,120,30,248,30,248, - 28,240,60,224,60,96,56,112,112,63,192,15,25,50,21,3, - 0,3,224,6,24,12,12,24,28,56,60,48,60,112,16,112, - 0,112,0,243,224,246,56,252,28,248,28,248,14,240,14,240, - 14,240,14,240,14,112,14,112,14,112,12,56,28,56,24,24, - 56,14,224,14,25,50,21,3,0,255,252,255,252,255,252,192, - 12,128,8,128,8,128,8,128,16,0,16,0,32,0,96,0, - 64,0,128,1,128,1,128,3,0,3,0,7,0,7,0,15, - 128,15,128,15,128,15,128,15,128,7,128,17,25,75,21,2, - 0,7,240,0,28,28,0,48,14,0,112,6,0,224,3,0, - 224,3,0,224,3,0,240,3,0,240,6,0,124,6,0,127, - 140,0,31,240,0,7,252,0,25,254,0,48,63,0,96,15, - 128,224,7,128,224,3,128,224,3,128,224,3,128,224,3,0, - 96,7,0,112,6,0,56,12,0,15,248,0,15,25,50,21, - 3,0,7,192,24,96,48,48,112,56,112,28,224,28,224,28, - 224,30,224,30,224,30,224,30,112,62,112,62,56,94,15,158, - 0,30,0,28,0,28,56,28,120,28,120,56,112,56,96,112, - 48,224,31,192,4,17,17,10,3,0,96,240,240,240,96,0, - 0,0,0,0,0,0,96,240,240,240,96}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 26, '1' Height: 25 - Calculated Max Values w=36 h=34 x= 4 y=20 dx=38 dy= 0 ascent=28 len=130 - Font Bounding box w=94 h=46 x=-29 y=-11 - Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 - Pure Font ascent =26 descent=-8 - X Font ascent =27 descent=-8 - Max Font ascent =28 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_FONT_SECTION("u8g_font_osr26r") = { - 0,94,46,227,245,26,7,96,17,82,32,127,248,28,248,27, - 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, - 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, - 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, - 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, - 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, - 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, - 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, - 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, - 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, - 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, - 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, - 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, - 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, - 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, - 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, - 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, - 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, - 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, - 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, - 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, - 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, - 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, - 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, - 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, - 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, - 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, - 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, - 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, - 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, - 0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242, - 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, - 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, - 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, - 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, - 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, - 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, - 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, - 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, - 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, - 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, - 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, - 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, - 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, - 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, - 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, - 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, - 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, - 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, - 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, - 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, - 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, - 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, - 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, - 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, - 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, - 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, - 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, - 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, - 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, - 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, - 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, - 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, - 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, - 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, - 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, - 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, - 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, - 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, - 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, - 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, - 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, - 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, - 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, - 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, - 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, - 0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34, - 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, - 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, - 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, - 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, - 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, - 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, - 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, - 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, - 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, - 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, - 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, - 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, - 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, - 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, - 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, - 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, - 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, - 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, - 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, - 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, - 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, - 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, - 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, - 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, - 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, - 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, - 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, - 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, - 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, - 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, - 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, - 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, - 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, - 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, - 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, - 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, - 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, - 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, - 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, - 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, - 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, - 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, - 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, - 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, - 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, - 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, - 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, - 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, - 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, - 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, - 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, - 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, - 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, - 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, - 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, - 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, - 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, - 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, - 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, - 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, - 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, - 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, - 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, - 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, - 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, - 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, - 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, - 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, - 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, - 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, - 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, - 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, - 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, - 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, - 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, - 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, - 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, - 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, - 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, - 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, - 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, - 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, - 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, - 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, - 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, - 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, - 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, - 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, - 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, - 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, - 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, - 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, - 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, - 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, - 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, - 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, - 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, - 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, - 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, - 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, - 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, - 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, - 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, - 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, - 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, - 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, - 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, - 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, - 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, - 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, - 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, - 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, - 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, - 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, - 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, - 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, - 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, - 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, - 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, - 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, - 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, - 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, - 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, - 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, - 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, - 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, - 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, - 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, - 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, - 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, - 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, - 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, - 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, - 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, - 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, - 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, - 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, - 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, - 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, - 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, - 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, - 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, - 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, - 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, - 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, - 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, - 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, - 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, - 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, - 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, - 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, - 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, - 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, - 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, - 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, - 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, - 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, - 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, - 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, - 28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14, - 17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, - 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, - 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, - 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, - 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, - 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, - 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, - 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, - 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, - 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, - 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, - 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, - 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, - 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, - 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, - 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, - 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, - 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, - 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, - 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, - 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, - 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, - 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, - 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, - 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, - 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, - 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, - 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, - 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, - 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, - 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, - 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, - 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, - 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, - 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, - 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, - 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, - 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, - 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, - 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, - 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, - 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, - 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, - 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, - 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, - 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, - 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, - 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, - 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, - 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, - 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, - 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, - 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, - 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, - 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, - 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, - 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, - 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, - 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, - 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, - 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, - 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, - 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, - 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, - 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, - 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, - 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, - 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, - 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, - 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, - 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, - 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, - 255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=41 h=39 x= 8 y=23 dx=44 dy= 0 ascent=39 len=174 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =30 descent=-9 - Max Font ascent =39 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_FONT_SECTION("u8g_font_osr29") = { - 0,107,51,223,244,29,9,148,21,166,32,255,247,39,245,30, - 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, - 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, - 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, - 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, - 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, - 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, - 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, - 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, - 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, - 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, - 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, - 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, - 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, - 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, - 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, - 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, - 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, - 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, - 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, - 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, - 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, - 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, - 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, - 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, - 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, - 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, - 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, - 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, - 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, - 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, - 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, - 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, - 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, - 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, - 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, - 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, - 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, - 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, - 30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227, - 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, - 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, - 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, - 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, - 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, - 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, - 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, - 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, - 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, - 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, - 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, - 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, - 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, - 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, - 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, - 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, - 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, - 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, - 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, - 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, - 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, - 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, - 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, - 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, - 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, - 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, - 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, - 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, - 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, - 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, - 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, - 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, - 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, - 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, - 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, - 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, - 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, - 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, - 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, - 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, - 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, - 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, - 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, - 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, - 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, - 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, - 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, - 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, - 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, - 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, - 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, - 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, - 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, - 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, - 0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248, - 248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124, - 12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0, - 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, - 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, - 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, - 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, - 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, - 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, - 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, - 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, - 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, - 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, - 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, - 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, - 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, - 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, - 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, - 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, - 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, - 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, - 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, - 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, - 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, - 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, - 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, - 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, - 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, - 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, - 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, - 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, - 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, - 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, - 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, - 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, - 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, - 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, - 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, - 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, - 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, - 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, - 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, - 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, - 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, - 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, - 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, - 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, - 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, - 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, - 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, - 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, - 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, - 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, - 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, - 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, - 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, - 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, - 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, - 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, - 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, - 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, - 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, - 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, - 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, - 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, - 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, - 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, - 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, - 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, - 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, - 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, - 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, - 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, - 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, - 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, - 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, - 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, - 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, - 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, - 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, - 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, - 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, - 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, - 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, - 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, - 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, - 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, - 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, - 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, - 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, - 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, - 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, - 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, - 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, - 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, - 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, - 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, - 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, - 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, - 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, - 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, - 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, - 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, - 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, - 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, - 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, - 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, - 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, - 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, - 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, - 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, - 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, - 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, - 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, - 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, - 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, - 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, - 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, - 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, - 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, - 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, - 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, - 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, - 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, - 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, - 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, - 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, - 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, - 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, - 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, - 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, - 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, - 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, - 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, - 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, - 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, - 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, - 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, - 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, - 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, - 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, - 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, - 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, - 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, - 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, - 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, - 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, - 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, - 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, - 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, - 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, - 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, - 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, - 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, - 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, - 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, - 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, - 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, - 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, - 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, - 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, - 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, - 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, - 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, - 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, - 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, - 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, - 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, - 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, - 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, - 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, - 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, - 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, - 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, - 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, - 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, - 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, - 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, - 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, - 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, - 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, - 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, - 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, - 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, - 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, - 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, - 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, - 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, - 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, - 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, - 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, - 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, - 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, - 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, - 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, - 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, - 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, - 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, - 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, - 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, - 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, - 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, - 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, - 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, - 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, - 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, - 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, - 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, - 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, - 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, - 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, - 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, - 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, - 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, - 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, - 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, - 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, - 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, - 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, - 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, - 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, - 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, - 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, - 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, - 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, - 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, - 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, - 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, - 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, - 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, - 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, - 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, - 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, - 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, - 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, - 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, - 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, - 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, - 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, - 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, - 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, - 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, - 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, - 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, - 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, - 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, - 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, - 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, - 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, - 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, - 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, - 252,96,1,248,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,11,0,0,5,28,28,11,3, - 247,112,248,248,248,112,0,32,32,32,32,32,32,112,112,112, - 112,112,112,112,112,248,248,248,248,248,248,248,112,14,28,56, - 24,5,252,0,128,0,128,0,128,0,128,0,128,7,224,12, - 152,24,136,56,140,112,156,112,188,240,188,240,152,240,128,240, - 128,240,128,240,128,240,132,112,132,112,132,56,132,24,136,14, - 144,3,224,0,128,0,128,0,128,0,128,23,28,84,30,3, - 0,0,3,240,0,6,24,0,28,12,0,24,14,0,48,62, - 0,112,62,0,112,62,0,112,24,0,112,0,0,240,0,0, - 240,0,0,240,0,31,240,0,32,255,128,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,224,0, - 0,224,0,62,224,2,67,192,2,128,224,4,129,127,60,194, - 63,248,60,15,240,20,20,60,24,2,4,64,0,32,225,248, - 112,119,254,224,62,7,192,24,1,128,48,0,192,48,0,192, - 96,0,96,96,0,96,96,0,96,96,0,96,96,0,96,96, - 0,96,48,0,192,48,0,192,24,1,128,62,7,192,119,254, - 224,225,248,112,64,0,32,22,28,84,24,1,0,255,131,252, - 62,0,112,30,0,96,14,0,64,15,0,64,15,0,128,7, - 128,128,7,129,0,3,193,0,3,194,0,1,226,0,1,228, - 0,0,252,0,0,248,0,0,120,0,31,255,192,0,120,0, - 0,120,0,31,255,192,0,120,0,0,120,0,0,120,0,0, - 120,0,0,120,0,0,120,0,0,120,0,0,120,0,7,255, - 128,2,37,37,12,5,249,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,0,0,0,0,0,0,0,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,15,36,72,26, - 4,248,7,192,12,32,24,48,48,120,48,120,48,112,56,0, - 56,0,28,0,30,0,15,0,31,192,35,224,97,240,64,248, - 192,60,192,30,192,14,224,6,240,6,120,6,60,4,31,12, - 15,152,7,224,3,224,0,224,0,112,0,112,0,56,56,56, - 60,56,56,48,48,48,24,96,7,128,12,4,8,18,3,22, - 96,96,240,240,240,240,96,96,30,29,116,34,2,1,0,127, - 248,0,1,192,14,0,3,0,3,0,4,0,0,128,8,0, - 0,64,16,7,196,32,32,24,108,16,32,48,60,16,64,112, - 28,8,64,224,12,8,192,224,12,8,129,224,4,4,129,224, - 0,4,129,224,0,4,129,224,0,4,129,224,0,4,129,224, - 0,4,129,224,4,4,192,224,4,8,64,224,8,8,64,112, - 8,8,32,112,24,16,48,24,48,48,16,15,192,32,8,0, - 0,64,4,0,0,128,3,0,3,0,1,192,14,0,0,127, - 248,0,11,14,28,16,3,14,60,0,102,0,67,0,99,0, - 99,0,7,0,27,0,99,0,195,0,195,32,231,32,121,192, - 0,0,127,192,10,16,32,19,4,1,24,64,48,192,32,128, - 97,128,97,0,195,0,195,0,195,0,195,0,195,0,195,0, - 97,128,97,128,48,128,16,64,8,0,20,8,24,24,2,7, - 255,255,240,255,255,240,0,0,48,0,0,48,0,0,48,0, - 0,48,0,0,48,0,0,48,10,2,4,14,2,9,255,192, - 255,192,30,29,116,34,2,1,0,127,248,0,1,192,14,0, - 3,0,3,0,4,0,0,128,8,0,0,64,19,255,192,32, - 32,112,240,48,32,112,120,16,64,112,120,8,64,112,120,8, - 192,112,120,8,128,112,112,4,128,112,224,4,128,127,128,4, - 128,112,224,4,128,112,112,4,128,112,112,4,128,112,120,4, - 128,112,120,8,64,112,120,136,64,112,120,136,32,112,56,144, - 32,112,57,16,19,252,30,32,8,0,0,64,4,0,0,128, - 3,0,3,0,1,192,14,0,0,127,248,0,11,2,4,19, - 4,23,255,224,255,224,11,10,20,23,6,18,31,0,96,128, - 64,64,128,32,128,32,128,32,128,32,64,64,96,128,31,0, - 35,28,140,39,2,254,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,192,255,255,255, - 255,192,11,17,34,18,4,11,31,0,99,192,129,192,128,224, - 192,224,224,224,112,224,1,192,1,128,3,0,12,0,24,0, - 32,32,64,32,64,96,255,224,255,224,11,17,34,18,5,11, - 31,0,97,192,192,192,224,224,240,224,0,224,0,192,97,128, - 126,0,1,128,0,192,0,224,224,224,240,224,224,192,129,192, - 127,0,7,7,7,18,8,21,6,14,28,56,48,96,128,21, - 30,90,25,3,245,96,6,0,224,15,0,240,15,0,240,15, - 0,240,15,0,224,15,0,224,15,0,224,15,0,224,15,0, - 224,15,0,224,6,0,64,6,0,64,6,0,64,6,0,96, - 12,8,96,14,24,88,57,248,79,241,248,67,224,112,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,224,0,0, - 224,0,0,240,0,0,240,0,0,112,0,0,112,0,0,17, - 35,105,23,3,250,15,255,128,63,140,0,127,140,0,127,140, - 0,255,140,0,255,140,0,255,140,0,255,140,0,255,140,0, - 127,140,0,127,140,0,63,140,0,7,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, - 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, - 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, - 140,0,1,140,0,1,140,0,1,140,0,1,140,0,5,5, - 5,11,3,10,112,248,248,248,112,8,8,8,18,5,248,48, - 32,60,6,7,7,15,252,9,17,34,19,5,11,4,0,12, - 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,10, - 14,28,16,3,14,30,0,51,0,97,128,192,192,192,192,192, - 192,192,192,192,192,193,192,97,128,35,0,30,0,0,0,255, - 192,10,16,32,20,5,1,134,0,195,0,65,0,97,128,32, - 192,48,192,48,192,48,192,48,192,48,192,48,192,97,128,97, - 128,67,0,130,0,4,0,27,28,112,35,5,0,4,0,12, - 0,12,0,8,0,28,0,24,0,252,0,16,0,28,0,32, - 0,28,0,96,0,28,0,64,0,28,0,192,0,28,0,128, - 0,28,1,128,0,28,3,0,0,28,2,0,0,28,6,7, - 0,28,4,15,0,28,12,15,0,28,24,23,0,255,144,23, - 0,0,48,39,0,0,32,71,0,0,96,71,0,0,192,135, - 0,0,129,7,0,1,129,255,224,1,0,7,0,3,0,7, - 0,6,0,7,0,6,0,7,0,12,0,63,224,27,28,112, - 35,5,0,4,0,4,0,12,0,12,0,28,0,8,0,252, - 0,16,0,28,0,48,0,28,0,32,0,28,0,96,0,28, - 0,64,0,28,0,128,0,28,1,128,0,28,1,0,0,28, - 3,31,0,28,6,99,192,28,4,129,192,28,12,128,224,28, - 8,192,224,255,152,224,224,0,48,240,224,0,32,1,192,0, - 96,1,128,0,64,3,0,0,192,12,0,1,128,24,0,1, - 0,32,32,3,0,64,32,2,0,64,96,6,0,255,224,12, - 0,255,224,28,28,112,36,5,0,31,0,6,0,97,192,4, - 0,192,224,8,0,224,224,24,0,240,224,16,0,0,192,48, - 0,1,128,96,0,126,0,64,0,97,128,192,0,0,192,128, - 0,0,225,128,0,96,227,3,128,240,226,3,128,224,230,7, - 128,129,196,7,128,67,136,11,128,62,24,19,128,0,16,19, - 128,0,48,35,128,0,96,99,128,0,64,67,128,0,192,131, - 128,0,128,255,240,1,128,3,128,3,0,3,128,2,0,3, - 128,6,0,3,128,4,0,31,240,15,28,56,19,1,247,3, - 128,7,192,7,192,7,192,3,128,0,0,3,128,4,64,8, - 32,8,32,8,96,0,96,0,192,1,128,7,0,14,0,28, - 0,56,0,120,0,240,60,240,62,240,62,240,6,240,6,112, - 6,120,12,28,24,7,224,29,38,152,32,2,0,0,224,0, - 0,0,240,0,0,0,112,0,0,0,56,0,0,0,12,0, - 0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0, - 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, - 0,0,15,128,0,0,15,128,0,0,15,128,0,0,31,192, - 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, - 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,240, - 0,0,192,120,0,0,128,120,0,1,128,120,0,1,255,252, - 0,1,0,60,0,3,0,28,0,3,0,30,0,6,0,30, - 0,6,0,15,0,6,0,15,0,14,0,15,0,30,0,15, - 128,255,224,255,248,29,38,152,32,2,0,0,0,48,0,0, - 0,112,0,0,0,240,0,0,0,224,0,0,1,128,0,0, - 3,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0, - 15,128,0,0,15,128,0,0,15,128,0,0,31,192,0,0, - 19,192,0,0,51,192,0,0,49,224,0,0,33,224,0,0, - 97,224,0,0,96,240,0,0,64,240,0,0,192,240,0,0, - 192,120,0,0,128,120,0,1,128,120,0,1,255,252,0,3, - 0,60,0,3,0,30,0,3,0,30,0,6,0,30,0,6, - 0,15,0,6,0,15,0,14,0,15,0,31,0,31,192,255, - 224,255,248,29,38,152,32,2,0,0,6,0,0,0,7,0, - 0,0,15,128,0,0,29,128,0,0,56,192,0,0,96,48, - 0,0,128,8,0,0,0,0,0,0,0,0,0,0,2,0, - 0,0,6,0,0,0,7,0,0,0,7,0,0,0,15,128, - 0,0,15,128,0,0,15,128,0,0,31,192,0,0,19,192, - 0,0,51,192,0,0,49,224,0,0,33,224,0,0,97,224, - 0,0,96,240,0,0,64,240,0,0,192,240,0,0,192,120, - 0,0,128,120,0,1,128,120,0,1,255,252,0,1,0,60, - 0,3,0,28,0,3,0,30,0,6,0,30,0,6,0,15, - 0,6,0,15,0,14,0,15,0,30,0,15,128,255,224,255, - 248,29,37,148,32,2,0,0,60,8,0,0,127,24,0,0, - 207,240,0,0,129,240,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0, - 7,0,0,0,7,0,0,0,15,128,0,0,15,128,0,0, - 15,128,0,0,31,192,0,0,19,192,0,0,51,192,0,0, - 49,224,0,0,33,224,0,0,97,224,0,0,96,240,0,0, - 64,240,0,0,192,240,0,0,192,120,0,0,128,120,0,1, - 128,120,0,1,255,252,0,3,0,60,0,3,0,30,0,3, - 0,30,0,6,0,30,0,6,0,15,0,6,0,15,0,14, - 0,15,0,31,0,31,192,255,224,255,248,29,37,148,32,2, - 0,0,96,48,0,0,240,120,0,0,240,120,0,0,96,48, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, - 0,0,15,128,0,0,15,128,0,0,31,128,0,0,31,192, - 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, - 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,112, - 0,0,192,120,0,0,128,120,0,1,128,56,0,1,255,252, - 0,1,0,28,0,3,0,28,0,3,0,30,0,6,0,30, - 0,6,0,15,0,6,0,15,0,14,0,15,0,31,0,15, - 128,255,224,255,248,29,39,156,32,2,0,0,15,0,0,0, - 16,128,0,0,32,64,0,0,32,64,0,0,32,64,0,0, - 32,64,0,0,16,128,0,0,15,0,0,0,0,0,0,0, - 0,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0, - 7,0,0,0,15,128,0,0,15,128,0,0,31,128,0,0, - 31,192,0,0,19,192,0,0,51,192,0,0,51,224,0,0, - 33,224,0,0,97,224,0,0,97,240,0,0,64,240,0,0, - 192,240,0,0,192,248,0,0,128,120,0,1,128,120,0,1, - 255,252,0,1,0,60,0,3,0,60,0,2,0,62,0,6, - 0,30,0,6,0,31,0,6,0,31,0,14,0,15,0,30, - 0,15,128,255,224,255,248,37,29,145,41,1,0,0,3,255, - 255,248,0,0,124,0,248,0,0,124,0,56,0,0,124,0, - 56,0,0,252,0,24,0,1,188,0,24,0,1,188,0,8, - 0,3,60,0,8,0,3,60,4,8,0,6,60,4,0,0, - 6,60,4,0,0,12,60,4,0,0,12,60,12,0,0,24, - 60,28,0,0,24,63,252,0,0,48,60,28,0,0,48,60, - 12,0,0,96,60,4,0,0,96,60,4,8,0,255,252,4, - 8,0,128,60,4,8,1,128,60,0,8,1,0,60,0,24, - 3,0,60,0,24,2,0,60,0,24,6,0,60,0,56,14, - 0,60,0,120,31,0,60,1,248,255,225,255,255,248,22,38, - 114,28,3,248,1,255,12,7,1,140,14,0,252,28,0,124, - 24,0,60,56,0,60,56,0,28,112,0,28,112,0,12,112, - 0,12,240,0,8,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,240,0,0,112,0,4, - 112,0,4,120,0,12,56,0,8,56,0,8,28,0,16,12, - 0,16,14,0,32,3,0,192,1,247,128,0,56,0,0,32, - 0,0,56,0,0,14,0,0,7,0,0,7,0,0,7,0, - 1,14,0,0,252,0,23,38,114,29,3,0,1,128,0,1, - 192,0,1,224,0,0,224,0,0,48,0,0,24,0,0,12, - 0,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, - 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, - 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, - 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, - 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, - 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,38, - 114,29,3,0,0,0,192,0,1,224,0,3,192,0,3,128, - 0,6,0,0,12,0,0,8,0,0,0,0,0,0,0,255, - 255,254,15,0,62,15,0,14,15,0,14,15,0,6,15,0, - 6,15,0,2,15,0,2,15,1,2,15,1,0,15,1,0, - 15,1,0,15,3,0,15,7,0,15,255,0,15,7,0,15, - 3,0,15,1,0,15,1,2,15,1,2,15,1,2,15,0, - 2,15,0,6,15,0,6,15,0,6,15,0,14,15,0,30, - 15,0,126,255,255,254,23,38,114,29,3,0,0,8,0,0, - 28,0,0,62,0,0,55,0,0,99,128,1,128,192,2,0, - 32,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, - 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, - 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, - 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, - 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, - 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,37, - 111,29,3,0,1,128,192,3,193,224,3,193,224,1,128,192, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,15, - 0,62,15,0,14,15,0,14,15,0,6,15,0,6,15,0, - 2,15,0,2,15,1,2,15,1,0,15,1,0,15,3,0, - 15,3,0,15,7,0,15,255,0,15,7,0,15,3,0,15, - 3,0,15,1,2,15,1,2,15,1,2,15,0,2,15,0, - 6,15,0,6,15,0,6,15,0,14,15,0,30,15,0,126, - 255,255,254,12,38,76,17,3,0,192,0,224,0,112,0,56, - 0,24,0,12,0,2,0,0,0,0,0,255,240,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,255,240,12,38,76,17,3,0,0,48,0,112,0, - 224,1,192,3,128,2,0,4,0,0,0,0,0,255,240,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,255,240,12,38,76,17,3,0,6,0,14, - 0,15,0,27,128,48,192,96,96,128,16,0,0,0,0,255, - 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,255,240,12,37,74,15,2,0,96, - 96,240,240,240,240,96,96,0,0,0,0,0,0,0,0,255, - 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, - 0,15,0,15,0,15,0,255,240,27,29,116,32,3,0,255, - 255,192,0,15,0,112,0,15,0,28,0,15,0,14,0,15, - 0,7,0,15,0,7,128,15,0,3,128,15,0,3,192,15, - 0,3,192,15,0,1,192,15,0,1,224,15,0,1,224,15, - 0,1,224,255,240,1,224,15,0,1,224,15,0,1,224,15, - 0,1,224,15,0,1,224,15,0,1,224,15,0,3,192,15, - 0,3,192,15,0,3,192,15,0,3,128,15,0,7,0,15, - 0,7,0,15,0,14,0,15,0,28,0,15,0,112,0,255, - 255,192,0,28,37,148,32,3,0,0,60,8,0,0,127,152, - 0,0,71,240,0,0,65,240,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,0,63,240,15,128,7, - 128,15,128,3,0,15,192,3,0,15,224,3,0,13,224,3, - 0,13,240,3,0,12,248,3,0,12,120,3,0,12,124,3, - 0,12,60,3,0,12,30,3,0,12,31,3,0,12,15,3, - 0,12,7,131,0,12,7,131,0,12,3,195,0,12,3,227, - 0,12,1,227,0,12,0,243,0,12,0,251,0,12,0,123, - 0,12,0,63,0,12,0,63,0,12,0,31,0,12,0,31, - 0,12,0,15,0,30,0,7,0,255,192,7,0,24,38,114, - 29,3,1,3,128,0,3,192,0,1,192,0,0,224,0,0, - 112,0,0,48,0,0,8,0,0,0,0,0,0,0,0,255, - 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, - 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, - 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, - 0,192,0,255,0,24,38,114,29,3,1,0,1,192,0,3, - 192,0,3,128,0,7,0,0,14,0,0,12,0,0,16,0, - 0,0,0,0,0,0,0,255,0,3,0,192,6,0,96,12, - 0,48,28,0,56,56,0,28,56,0,28,120,0,30,112,0, - 14,112,0,14,240,0,15,240,0,15,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,112, - 0,14,112,0,14,120,0,30,56,0,28,56,0,28,28,0, - 56,12,0,48,6,0,96,3,0,192,0,255,0,24,38,114, - 29,3,0,0,24,0,0,24,0,0,60,0,0,126,0,0, - 195,0,1,129,128,6,0,96,0,0,0,0,0,0,0,255, - 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, - 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, - 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, - 0,192,0,255,0,24,37,111,29,3,0,1,240,32,3,252, - 64,2,63,192,2,7,128,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,0,3,0,192,6,0,96,12,0,48,28, - 0,56,56,0,28,56,0,28,120,0,30,112,0,14,112,0, - 14,240,0,15,240,0,15,240,0,15,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,112,0,14,112, - 0,14,120,0,30,56,0,28,56,0,28,28,0,56,12,0, - 48,6,0,96,3,0,192,0,255,0,24,37,111,29,3,0, - 1,129,128,3,195,192,3,195,192,1,129,128,0,0,0,0, - 0,0,0,0,0,0,0,0,0,255,0,3,0,192,6,0, - 96,12,0,48,28,0,56,56,0,28,56,0,28,120,0,30, - 112,0,14,112,0,14,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, - 15,112,0,14,112,0,14,120,0,30,56,0,28,56,0,28, - 28,0,56,12,0,48,6,0,96,3,0,192,0,255,0,25, - 25,100,39,7,254,192,0,1,128,224,0,3,0,112,0,6, - 0,56,0,12,0,28,0,24,0,14,0,48,0,7,0,96, - 0,3,128,192,0,1,193,128,0,0,227,0,0,0,118,0, - 0,0,60,0,0,0,28,0,0,0,62,0,0,0,103,0, - 0,0,195,128,0,1,129,192,0,3,0,224,0,6,0,112, - 0,12,0,56,0,24,0,28,0,48,0,14,0,96,0,7, - 0,192,0,3,128,128,0,1,0,24,29,87,29,3,1,0, - 255,131,3,0,230,6,0,124,12,0,60,28,0,56,56,0, - 60,56,0,124,120,0,254,112,0,206,112,1,142,240,3,15, - 240,6,15,240,14,15,240,12,15,240,24,15,240,48,15,240, - 96,15,240,224,15,240,192,15,113,128,14,115,0,14,126,0, - 30,62,0,28,60,0,28,28,0,56,60,0,48,62,0,96, - 103,0,192,193,255,0,29,38,152,34,3,1,0,112,0,0, - 0,112,0,0,0,56,0,0,0,28,0,0,0,14,0,0, - 0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, - 255,240,31,248,15,0,3,192,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,7,0,1,0, - 7,0,3,0,3,128,2,0,1,192,6,0,0,224,24,0, - 0,63,240,0,29,38,152,34,3,1,0,0,56,0,0,0, - 120,0,0,0,240,0,0,0,224,0,0,1,128,0,0,3, - 0,0,0,2,0,0,0,0,0,0,0,0,0,0,255,240, - 31,248,15,0,3,192,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,7,0,1,0,7,0, - 3,0,3,128,2,0,1,192,6,0,0,224,24,0,0,63, - 240,0,29,38,152,34,3,0,0,3,0,0,0,7,0,0, - 0,7,128,0,0,13,192,0,0,24,96,0,0,96,48,0, - 0,192,8,0,0,0,0,0,0,0,0,0,255,240,31,248, - 15,0,3,192,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, - 15,0,1,128,15,0,1,128,7,0,3,0,7,0,3,0, - 3,128,6,0,1,192,14,0,0,224,24,0,0,63,240,0, - 29,37,148,34,3,0,0,48,48,0,0,120,120,0,0,120, - 120,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,240,31,248,15,0,3,192,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,7,0,1,0,7,0,3,0,3,128,2,0,1,192, - 6,0,0,224,24,0,0,63,240,0,27,38,152,30,2,0, - 0,0,48,0,0,0,112,0,0,0,224,0,0,0,192,0, - 0,1,128,0,0,3,0,0,0,2,0,0,0,0,0,0, - 0,0,0,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,23,29,87,28,3,0,255,248, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,255,128, - 15,0,224,15,0,120,15,0,60,15,0,60,15,0,30,15, - 0,30,15,0,30,15,0,30,15,0,30,15,0,60,15,0, - 60,15,0,120,15,0,224,15,255,128,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,255,248,0,19,29,87,22,1,0,0,252,0,3,14, - 0,6,7,0,14,7,128,12,7,128,28,7,128,28,7,128, - 28,7,0,28,14,0,28,28,0,28,224,0,28,24,0,28, - 6,0,28,7,0,28,3,128,28,3,128,28,1,192,28,1, - 192,28,1,192,28,1,224,28,1,224,28,1,224,28,1,224, - 28,225,192,29,225,192,29,225,192,28,131,128,28,199,0,252, - 60,0,18,28,84,21,2,1,112,0,0,120,0,0,60,0, - 0,28,0,0,6,0,0,3,0,0,1,0,0,0,0,0, - 0,0,0,15,192,0,56,112,0,32,56,0,96,28,0,120, - 28,0,120,28,0,56,28,0,0,28,0,0,252,0,15,28, - 0,56,28,0,112,28,0,224,28,0,224,28,64,224,60,64, - 224,60,64,224,92,192,112,159,128,31,15,0,18,28,84,21, - 2,1,0,28,0,0,60,0,0,120,0,0,112,0,0,192, - 0,1,128,0,1,0,0,0,0,0,0,0,0,15,192,0, - 56,112,0,32,56,0,96,28,0,120,28,0,120,28,0,56, - 28,0,0,28,0,0,252,0,15,28,0,56,28,0,112,28, - 0,224,28,0,224,28,64,224,60,64,224,60,64,224,92,192, - 112,159,128,31,15,0,18,28,84,21,2,0,3,128,0,3, - 128,0,7,128,0,6,192,0,12,96,0,24,48,0,32,24, - 0,0,0,0,0,0,0,15,192,0,56,112,0,32,56,0, - 96,28,0,120,28,0,120,28,0,56,28,0,0,28,0,0, - 252,0,15,28,0,56,28,0,112,28,0,224,28,0,224,28, - 64,224,60,64,224,60,64,224,92,192,112,159,128,31,15,0, - 18,27,81,21,2,0,30,8,0,63,136,0,39,248,0,64, - 240,0,0,0,0,0,0,0,0,0,0,0,0,0,15,192, - 0,56,112,0,32,56,0,96,28,0,120,28,0,120,28,0, - 56,28,0,0,28,0,0,252,0,15,28,0,56,28,0,112, - 28,0,224,28,0,224,28,64,224,60,64,224,60,64,224,92, - 192,112,159,128,31,15,0,18,27,81,21,2,0,56,48,0, - 120,120,0,120,120,0,56,48,0,0,0,0,0,0,0,0, - 0,0,0,0,0,15,192,0,24,112,0,32,56,0,96,28, - 0,112,28,0,120,28,0,56,28,0,0,28,0,0,252,0, - 15,28,0,56,28,0,112,28,0,224,28,0,224,28,64,224, - 60,64,224,60,64,224,92,192,112,159,128,31,15,0,18,28, - 84,21,2,0,7,128,0,8,64,0,16,32,0,16,32,0, - 16,32,0,8,64,0,7,128,0,0,0,0,0,0,0,15, - 192,0,56,112,0,32,56,0,96,28,0,112,28,0,120,28, - 0,56,28,0,0,28,0,0,252,0,15,28,0,56,28,0, - 112,28,0,224,28,0,224,28,64,224,60,64,224,92,64,224, - 156,192,112,159,128,31,15,0,25,19,76,29,2,0,15,193, - 240,0,56,115,28,0,32,30,14,0,96,30,7,0,120,28, - 7,0,120,28,7,0,56,28,7,128,0,28,7,128,3,255, - 255,128,28,28,0,0,112,28,0,0,112,28,0,0,224,28, - 1,128,224,28,1,0,224,62,1,0,224,46,1,0,224,70, - 2,0,112,131,4,0,31,0,248,0,15,27,54,18,2,248, - 7,224,28,16,56,8,48,12,112,28,112,60,240,60,240,24, - 240,0,240,0,240,0,240,0,240,6,112,4,112,4,48,12, - 56,8,28,48,7,224,1,0,2,0,1,192,0,96,0,112, - 0,112,8,240,7,192,15,28,56,19,2,1,56,0,60,0, - 28,0,14,0,7,0,3,0,0,128,0,0,0,0,7,192, - 12,112,56,56,48,28,112,28,112,28,240,30,240,30,255,254, - 240,0,240,0,240,0,240,2,112,4,112,4,56,4,56,8, - 28,16,7,224,15,28,56,19,2,1,0,28,0,60,0,56, - 0,112,0,224,0,192,1,0,0,0,0,0,7,192,12,112, - 56,56,48,28,112,28,112,28,240,30,240,30,255,254,240,0, - 240,0,240,0,240,2,112,4,112,4,56,4,56,8,28,16, - 7,224,15,28,56,19,2,0,1,128,3,128,3,192,7,192, - 6,96,8,48,16,8,0,0,0,0,7,192,12,112,56,56, - 48,28,112,28,112,28,240,30,240,30,255,254,240,0,240,0, - 240,0,240,6,112,4,112,4,56,4,56,8,28,16,7,224, - 15,27,54,19,2,0,24,24,60,60,60,60,24,24,0,0, - 0,0,0,0,0,0,7,192,12,112,56,56,48,28,112,28, - 112,28,240,14,240,14,255,254,240,0,240,0,240,0,240,2, - 112,4,112,4,56,4,56,8,28,16,7,224,10,28,56,11, - 0,0,192,0,224,0,224,0,112,0,24,0,12,0,4,0, - 0,0,0,0,126,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,127,192,10,28,56,11,1,0, - 0,192,1,192,3,128,7,0,6,0,12,0,16,0,0,0, - 0,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,255,128,11,28,56,11,0,0,12,0, - 12,0,30,0,31,0,51,0,96,128,128,96,0,0,0,0, - 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,127,192,11,26,52,13,1,0,96,192,241,224, - 241,224,96,192,0,0,0,0,0,0,62,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,63,192, - 17,29,87,21,2,0,30,4,0,15,12,0,7,176,0,3, - 224,0,1,224,0,6,224,0,12,240,0,16,120,0,0,56, - 0,0,28,0,3,254,0,12,62,0,24,30,0,56,15,0, - 112,15,0,112,7,0,240,7,0,240,7,128,240,7,128,240, - 7,128,240,7,0,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,20,26,78, - 22,1,0,3,225,0,7,254,0,4,126,0,0,0,0,0, - 0,0,0,0,0,0,0,0,252,60,0,28,199,0,29,3, - 0,31,3,128,30,3,128,30,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,159, - 240,17,28,84,21,2,1,56,0,0,60,0,0,30,0,0, - 14,0,0,3,0,0,1,128,0,0,128,0,0,0,0,0, - 0,0,3,224,0,12,56,0,24,28,0,56,14,0,112,14, - 0,112,7,0,240,7,0,240,7,0,240,7,128,240,7,128, - 240,7,128,240,7,0,240,7,0,112,7,0,112,14,0,56, - 14,0,24,28,0,12,56,0,3,224,0,17,28,84,21,2, - 1,0,28,0,0,28,0,0,56,0,0,112,0,0,96,0, - 0,192,0,1,128,0,0,0,0,0,0,0,3,224,0,12, - 56,0,24,28,0,56,14,0,112,14,0,112,7,0,240,7, - 0,240,7,0,240,7,128,240,7,128,240,7,128,240,7,0, - 240,7,0,112,7,0,112,14,0,56,14,0,24,28,0,12, - 56,0,3,224,0,17,28,84,21,2,0,1,128,0,1,192, - 0,3,192,0,3,96,0,6,32,0,12,16,0,16,12,0, - 0,0,0,0,0,0,3,224,0,12,56,0,24,28,0,56, - 14,0,112,14,0,112,7,0,240,7,0,240,7,0,240,7, - 128,240,7,128,240,7,128,240,7,0,240,7,0,112,7,0, - 112,14,0,56,14,0,24,28,0,12,56,0,3,224,0,17, - 27,81,21,2,0,15,4,0,31,204,0,19,248,0,16,240, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,224,0, - 12,56,0,24,28,0,56,14,0,112,14,0,112,7,0,240, - 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, - 0,240,7,0,112,7,0,112,14,0,56,14,0,24,28,0, - 12,56,0,3,224,0,17,27,81,21,2,0,24,24,0,60, - 60,0,60,60,0,24,24,0,0,0,0,0,0,0,0,0, - 0,0,0,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,35,26,130, - 39,2,254,0,0,224,0,0,0,1,240,0,0,0,1,240, - 0,0,0,1,240,0,0,0,0,224,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,255,255,224,255,255,255,255,224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0, - 0,0,1,240,0,0,0,1,240,0,0,0,1,240,0,0, - 0,0,224,0,0,17,19,57,21,2,0,3,225,0,12,59, - 0,24,30,0,56,14,0,112,14,0,112,31,0,240,55,0, - 240,103,0,240,199,128,240,135,128,241,7,128,242,7,0,244, - 7,0,124,7,0,120,14,0,56,14,0,120,28,0,76,56, - 0,131,224,0,20,28,84,22,1,1,14,0,0,15,0,0, - 7,0,0,3,128,0,1,192,0,0,64,0,0,32,0,0, - 0,0,0,0,0,252,31,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,7,128,28, - 7,128,28,15,128,12,11,128,14,51,128,3,195,240,20,28, - 84,22,1,1,0,7,0,0,15,0,0,30,0,0,24,0, - 0,48,0,0,96,0,0,64,0,0,0,0,0,0,0,252, - 31,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,7,128,28,7,128,28,15,128,12, - 11,128,14,51,128,3,195,240,20,28,84,22,1,0,0,96, - 0,0,224,0,0,240,0,1,176,0,3,24,0,2,4,0, - 4,2,0,0,0,0,0,0,0,252,31,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,128,28,15,128,12,11,128,14,51,128,3, - 195,240,20,27,81,22,1,0,6,6,0,15,15,0,15,15, - 0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0, - 252,15,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, - 128,28,3,128,28,3,128,28,7,128,28,7,128,28,15,128, - 12,11,128,14,51,128,3,195,240,20,37,111,22,1,248,0, - 3,0,0,7,0,0,15,0,0,28,0,0,24,0,0,48, - 0,0,0,0,0,0,0,0,0,0,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,18,38, - 114,21,1,246,12,0,0,60,0,0,252,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 30,0,28,127,0,28,199,128,29,3,128,31,3,192,30,3, - 192,30,3,128,28,3,128,28,3,128,28,7,0,28,7,0, - 28,6,0,28,12,0,28,28,0,28,24,0,28,48,0,28, - 192,0,29,128,0,30,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 56,0,0,192,0,0,19,36,108,21,1,247,3,6,0,7, - 143,0,7,143,0,3,6,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,143,224,30,3,128,30,1,0,14,3,0, - 14,2,0,7,2,0,7,2,0,7,6,0,3,132,0,3, - 132,0,3,140,0,1,200,0,1,200,0,1,200,0,0,240, - 0,0,240,0,0,240,0,0,96,0,0,96,0,0,96,0, - 0,64,0,0,64,0,48,64,0,120,64,0,120,128,0,121, - 128,0,59,0,0,30,0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 28 - Calculated Max Values w=35 h=38 x= 5 y=11 dx=39 dy= 0 ascent=30 len=170 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 - Pure Font ascent =28 descent= 0 - X Font ascent =28 descent= 0 - Max Font ascent =30 descent=-8 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29n[1226] U8G_FONT_SECTION("u8g_font_osr29n") = { - 0,107,51,223,244,28,0,0,0,0,42,58,0,30,248,28, - 0,15,17,34,21,3,11,3,128,3,192,3,128,3,128,225, - 142,241,30,249,62,29,112,3,192,3,192,29,120,249,62,241, - 30,227,142,3,128,3,192,3,128,35,34,170,39,2,250,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,255, - 255,255,255,224,255,255,255,255,224,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,5,12,12,11,3,249,112, - 240,248,248,24,8,8,16,16,32,32,64,10,2,4,14,2, - 9,255,192,255,192,5,5,5,11,3,0,112,248,248,248,112, - 14,38,76,18,2,248,0,12,0,12,0,12,0,8,0,24, - 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,64, - 0,192,0,192,0,128,1,128,1,128,1,0,3,0,3,0, - 2,0,6,0,6,0,4,0,12,0,12,0,8,0,24,0, - 24,0,16,0,48,0,48,0,32,0,96,0,96,0,64,0, - 192,0,20,28,84,24,2,0,1,248,0,7,12,0,12,7, - 0,28,3,128,24,1,128,56,1,192,56,1,192,112,0,224, - 112,0,224,112,0,224,240,0,240,240,0,240,240,0,240,240, - 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, - 240,112,0,224,112,0,224,112,0,224,56,1,192,56,1,192, - 24,1,128,12,3,0,6,6,0,3,252,0,14,28,56,24, - 5,0,1,128,1,128,3,128,7,128,255,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,255,252,17,28,84,24,3,0, - 7,224,0,24,60,0,32,30,0,64,15,0,192,15,0,192, - 7,128,192,7,128,240,7,128,252,7,128,252,7,128,124,7, - 128,24,15,0,0,14,0,0,28,0,0,56,0,0,112,0, - 0,224,0,1,192,0,3,0,0,6,0,0,12,0,128,24, - 0,128,48,0,128,48,1,128,112,1,128,127,255,128,127,255, - 128,127,255,128,17,28,84,24,3,0,15,224,0,48,56,0, - 96,28,0,96,14,0,240,15,0,248,15,0,248,15,0,120, - 15,0,0,15,0,0,15,0,0,14,0,0,28,0,28,56, - 0,31,224,0,0,60,0,0,30,0,0,15,0,0,7,0, - 0,7,128,0,7,128,120,7,128,248,7,128,248,7,128,248, - 7,0,192,15,0,192,14,0,96,28,0,31,240,0,19,28, - 84,24,2,0,0,12,0,0,12,0,0,28,0,0,60,0, - 0,60,0,0,124,0,0,252,0,0,252,0,1,188,0,3, - 60,0,3,60,0,6,60,0,12,60,0,12,60,0,24,60, - 0,48,60,0,32,60,0,96,60,0,192,60,0,255,255,224, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,7,255,224,17,29,87,24,4,0,0,2, - 0,120,12,0,127,248,0,127,240,0,111,192,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,104, - 60,0,112,30,0,96,14,0,96,15,0,96,7,0,0,7, - 128,0,7,128,0,7,128,16,7,128,120,7,128,252,7,128, - 252,7,128,248,15,0,224,15,0,224,14,0,96,28,0,48, - 56,0,31,240,0,17,28,84,24,3,0,1,248,0,3,12, - 0,12,6,0,28,7,0,24,15,0,56,31,0,48,31,0, - 112,14,0,112,0,0,112,0,0,240,0,0,241,240,0,246, - 28,0,252,14,0,248,7,0,248,7,0,240,7,128,240,7, - 128,240,7,128,240,7,128,112,7,128,112,7,128,112,7,0, - 48,7,0,56,7,0,24,14,0,12,28,0,7,248,0,16, - 28,56,24,4,0,255,255,255,255,255,255,192,3,128,2,128, - 2,128,6,128,4,0,12,0,8,0,24,0,48,0,32,0, - 96,0,192,0,192,1,128,3,128,3,128,7,128,7,128,7, - 128,15,192,15,192,15,192,15,192,15,192,7,192,20,28,84, - 24,2,0,3,248,0,14,14,0,56,7,0,112,3,128,112, - 1,192,240,1,192,240,1,192,240,1,192,240,1,192,248,1, - 128,126,3,128,127,131,0,63,252,0,15,252,0,7,255,0, - 24,127,192,48,15,224,112,3,224,224,1,240,224,0,240,224, - 0,240,224,0,224,224,0,224,224,0,224,112,1,192,48,1, - 128,28,7,0,15,252,0,17,28,84,24,3,0,7,224,0, - 12,56,0,56,12,0,56,14,0,112,14,0,112,7,0,240, - 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, - 128,112,15,128,112,15,128,56,27,128,28,51,128,7,199,128, - 0,7,128,0,7,0,0,7,0,56,7,0,124,7,0,124, - 14,0,120,14,0,112,12,0,112,24,0,48,48,0,31,224, - 0,5,19,19,11,3,0,112,248,248,248,112,0,0,0,0, - 0,0,0,0,0,112,248,248,248,112}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 29, '1' Height: 28 - Calculated Max Values w=41 h=38 x= 5 y=22 dx=44 dy= 0 ascent=31 len=174 - Font Bounding box w=107 h=51 x=-33 y=-12 - Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 - Pure Font ascent =29 descent=-9 - X Font ascent =30 descent=-9 - Max Font ascent =31 descent=-9 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_FONT_SECTION("u8g_font_osr29r") = { - 0,107,51,223,244,29,9,148,21,166,32,127,247,31,247,30, - 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, - 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, - 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, - 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, - 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, - 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, - 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, - 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, - 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, - 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, - 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, - 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, - 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, - 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, - 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, - 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, - 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, - 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, - 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, - 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, - 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, - 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, - 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, - 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, - 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, - 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, - 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, - 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, - 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, - 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, - 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, - 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, - 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, - 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, - 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, - 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, - 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, - 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, - 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, - 30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227, - 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, - 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, - 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, - 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, - 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, - 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, - 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, - 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, - 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, - 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, - 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, - 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, - 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, - 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, - 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, - 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, - 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, - 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, - 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, - 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, - 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, - 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, - 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, - 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, - 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, - 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, - 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, - 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, - 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, - 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, - 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, - 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, - 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, - 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, - 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, - 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, - 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, - 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, - 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, - 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, - 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, - 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, - 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, - 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, - 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, - 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, - 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, - 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, - 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, - 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, - 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, - 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, - 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, - 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, - 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, - 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, - 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, - 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, - 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, - 0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248, - 248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124, - 12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0, - 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, - 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, - 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, - 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, - 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, - 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, - 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, - 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, - 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, - 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, - 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, - 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, - 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, - 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, - 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, - 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, - 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, - 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, - 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, - 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, - 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, - 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, - 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, - 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, - 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, - 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, - 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, - 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, - 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, - 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, - 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, - 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, - 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, - 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, - 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, - 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, - 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, - 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, - 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, - 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, - 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, - 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, - 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, - 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, - 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, - 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, - 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, - 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, - 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, - 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, - 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, - 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, - 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, - 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, - 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, - 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, - 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, - 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, - 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, - 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, - 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, - 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, - 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, - 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, - 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, - 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, - 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, - 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, - 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, - 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, - 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, - 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, - 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, - 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, - 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, - 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, - 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, - 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, - 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, - 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, - 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, - 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, - 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, - 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, - 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, - 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, - 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, - 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, - 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, - 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, - 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, - 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, - 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, - 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, - 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, - 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, - 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, - 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, - 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, - 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, - 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, - 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, - 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, - 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, - 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, - 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, - 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, - 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, - 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, - 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, - 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, - 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, - 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, - 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, - 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, - 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, - 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, - 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, - 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, - 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, - 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, - 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, - 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, - 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, - 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, - 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, - 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, - 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, - 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, - 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, - 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, - 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, - 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, - 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, - 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, - 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, - 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, - 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, - 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, - 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, - 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, - 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, - 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, - 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, - 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, - 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, - 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, - 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, - 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, - 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, - 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, - 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, - 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, - 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, - 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, - 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, - 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, - 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, - 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, - 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, - 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, - 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, - 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, - 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, - 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, - 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, - 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, - 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, - 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, - 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, - 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, - 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, - 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, - 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, - 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, - 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, - 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, - 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, - 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, - 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, - 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, - 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, - 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, - 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, - 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, - 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, - 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, - 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, - 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, - 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, - 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, - 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, - 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, - 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, - 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, - 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, - 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, - 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, - 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, - 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, - 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, - 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, - 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, - 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, - 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, - 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, - 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, - 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, - 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, - 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, - 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, - 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, - 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, - 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, - 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, - 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, - 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, - 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, - 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, - 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, - 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, - 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, - 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, - 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, - 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, - 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, - 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, - 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, - 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, - 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, - 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, - 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, - 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, - 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, - 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, - 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, - 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, - 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, - 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, - 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, - 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, - 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, - 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, - 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, - 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, - 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, - 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, - 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, - 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, - 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, - 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, - 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, - 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, - 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, - 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, - 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, - 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, - 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, - 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, - 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, - 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, - 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, - 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, - 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, - 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, - 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, - 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, - 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, - 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, - 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, - 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, - 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, - 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, - 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, - 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, - 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, - 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, - 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, - 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, - 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, - 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, - 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, - 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, - 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, - 252,96,1,248,255}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=47 x=10 y=28 dx=52 dy= 0 ascent=47 len=252 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x=-2 y=-13 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =36 descent=-10 - Max Font ascent =47 descent=-13 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_FONT_SECTION("u8g_font_osr35") = { - 0,128,62,216,241,35,12,236,30,116,32,255,246,47,243,36, - 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, - 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, - 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, - 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, - 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, - 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, - 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, - 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, - 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, - 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, - 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, - 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, - 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, - 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, - 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, - 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, - 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, - 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, - 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, - 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, - 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, - 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, - 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, - 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, - 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, - 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, - 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, - 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, - 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, - 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, - 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, - 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, - 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, - 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, - 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, - 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, - 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, - 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, - 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, - 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, - 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, - 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, - 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, - 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, - 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, - 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, - 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, - 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, - 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, - 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, - 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, - 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, - 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, - 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, - 0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240, - 135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240, - 0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128, - 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, - 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, - 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, - 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, - 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, - 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, - 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, - 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, - 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, - 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, - 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, - 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, - 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, - 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, - 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, - 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, - 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, - 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, - 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, - 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, - 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, - 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, - 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, - 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, - 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, - 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, - 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, - 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, - 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, - 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, - 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, - 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, - 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, - 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, - 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, - 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, - 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, - 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, - 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, - 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, - 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, - 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, - 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, - 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, - 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, - 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, - 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, - 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, - 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, - 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, - 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, - 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, - 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, - 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, - 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, - 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, - 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, - 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, - 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, - 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, - 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, - 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, - 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, - 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, - 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, - 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, - 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, - 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, - 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, - 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, - 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, - 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, - 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, - 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, - 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, - 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, - 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, - 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, - 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, - 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, - 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, - 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, - 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, - 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, - 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, - 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, - 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, - 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, - 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, - 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, - 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, - 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, - 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, - 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, - 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, - 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, - 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, - 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, - 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, - 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, - 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, - 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, - 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, - 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, - 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, - 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, - 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, - 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, - 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, - 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, - 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, - 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, - 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, - 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, - 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, - 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, - 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, - 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, - 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, - 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, - 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, - 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, - 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, - 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, - 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, - 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, - 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, - 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, - 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, - 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, - 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, - 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, - 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, - 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, - 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, - 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, - 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, - 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, - 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, - 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, - 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, - 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, - 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, - 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, - 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, - 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, - 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, - 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, - 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, - 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, - 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, - 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, - 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, - 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, - 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, - 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, - 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, - 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, - 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, - 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, - 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, - 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, - 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, - 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, - 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, - 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, - 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, - 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, - 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, - 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, - 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, - 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, - 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, - 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, - 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, - 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, - 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, - 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, - 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, - 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, - 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, - 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, - 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, - 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, - 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, - 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, - 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, - 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, - 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, - 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, - 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, - 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, - 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, - 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, - 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, - 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, - 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, - 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, - 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, - 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, - 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, - 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, - 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, - 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, - 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, - 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, - 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, - 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, - 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, - 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, - 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, - 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, - 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, - 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, - 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, - 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, - 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, - 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, - 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, - 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, - 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, - 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, - 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, - 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, - 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, - 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, - 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, - 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, - 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, - 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, - 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, - 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, - 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, - 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, - 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, - 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, - 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, - 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, - 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, - 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, - 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, - 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, - 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, - 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, - 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, - 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, - 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, - 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, - 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, - 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, - 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, - 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, - 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, - 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, - 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, - 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, - 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, - 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, - 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, - 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, - 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, - 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, - 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, - 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, - 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, - 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, - 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, - 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, - 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, - 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, - 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, - 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, - 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, - 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, - 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, - 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, - 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, - 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, - 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, - 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, - 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, - 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, - 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, - 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, - 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, - 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, - 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, - 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, - 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, - 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, - 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, - 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, - 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, - 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, - 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, - 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, - 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, - 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, - 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, - 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, - 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, - 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, - 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, - 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, - 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, - 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, - 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, - 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, - 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, - 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, - 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, - 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, - 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, - 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, - 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, - 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, - 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, - 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, - 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, - 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, - 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, - 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, - 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, - 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, - 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, - 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, - 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, - 48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0, - 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, - 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, - 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, - 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, - 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, - 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, - 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, - 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, - 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, - 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, - 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, - 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, - 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, - 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, - 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, - 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, - 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, - 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, - 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, - 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, - 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, - 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, - 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, - 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, - 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, - 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, - 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, - 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, - 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, - 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, - 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, - 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, - 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, - 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, - 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, - 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, - 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, - 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, - 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, - 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, - 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, - 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, - 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, - 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, - 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, - 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, - 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, - 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, - 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, - 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, - 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, - 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, - 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, - 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, - 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, - 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, - 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, - 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, - 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, - 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, - 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, - 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, - 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, - 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, - 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, - 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, - 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, - 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, - 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, - 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, - 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, - 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, - 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, - 31,128,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,14,0,0,6,33,33,14,4,246,120, - 252,252,252,120,0,0,48,48,48,48,48,48,48,48,48,48, - 48,120,120,120,120,120,120,248,252,252,252,252,252,252,252,120, - 17,34,102,28,5,250,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,7,252,0,14,198,0,28,195, - 0,56,195,128,120,195,128,120,207,128,120,207,128,248,207,128, - 240,199,0,240,192,0,240,192,0,240,192,0,240,192,0,240, - 192,0,248,192,128,120,192,128,120,192,128,120,193,128,56,193, - 0,28,195,0,14,198,0,7,252,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,28,34,136,35, - 3,0,0,0,126,0,0,1,227,128,0,3,128,192,0,7, - 0,192,0,14,0,224,0,14,1,224,0,28,3,224,0,28, - 3,224,0,60,3,192,0,60,0,128,0,60,0,0,0,60, - 0,0,0,60,0,0,0,60,0,0,0,60,0,0,31,252, - 0,0,0,127,248,0,0,124,0,0,0,124,0,0,0,60, - 0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60, - 0,0,0,56,0,0,0,56,0,16,62,56,0,32,99,240, - 0,32,193,240,0,96,128,120,0,64,128,254,0,192,128,159, - 255,128,193,7,255,0,126,1,254,0,24,24,72,28,2,5, - 64,0,2,224,126,7,115,255,206,63,129,252,30,0,120,28, - 0,56,56,0,24,48,0,12,48,0,12,96,0,6,96,0, - 6,96,0,6,96,0,6,96,0,6,96,0,6,112,0,12, - 48,0,12,56,0,28,28,0,56,30,0,120,63,129,252,115, - 255,206,224,126,7,64,0,2,27,33,132,29,1,0,255,224, - 127,224,31,0,15,0,15,0,6,0,15,128,6,0,7,128, - 12,0,7,192,12,0,3,192,24,0,3,224,24,0,1,224, - 48,0,1,240,32,0,0,240,96,0,0,248,64,0,0,248, - 192,0,0,124,128,0,0,125,128,0,0,63,0,0,0,63, - 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, - 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, - 0,0,0,30,0,0,0,30,0,0,0,31,0,0,3,255, - 240,0,2,44,44,14,6,248,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,0,0,0,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,18,43,129,31,5,247,1,240,0,6,24,0, - 12,12,0,24,30,0,56,62,0,56,62,0,56,62,0,56, - 8,0,60,0,0,30,0,0,31,0,0,15,128,0,7,192, - 0,15,224,0,25,240,0,48,252,0,96,126,0,64,63,0, - 192,15,128,192,7,128,192,3,192,224,1,192,240,0,192,120, - 0,192,124,0,192,62,0,128,31,1,128,15,131,0,7,198, - 0,3,248,0,1,240,0,0,248,0,0,124,0,0,60,0, - 0,30,0,0,14,0,30,14,0,62,14,0,62,14,0,60, - 12,0,24,28,0,12,56,0,7,224,0,14,5,10,22,4, - 27,112,56,248,124,248,124,248,124,112,56,35,36,180,40,3, - 0,0,7,252,0,0,0,60,7,128,0,0,224,0,192,0, - 1,128,0,48,0,3,0,0,24,0,4,0,0,12,0,8, - 0,0,6,0,24,1,240,131,0,48,7,28,129,0,32,30, - 7,128,128,96,28,3,128,128,64,56,1,128,64,64,120,1, - 128,64,192,120,0,128,64,128,120,0,128,96,128,248,0,0, - 32,128,240,0,0,32,128,240,0,0,32,128,240,0,0,32, - 128,240,0,0,32,128,240,0,0,32,128,240,0,0,32,128, - 248,0,128,96,64,120,0,128,64,64,120,0,128,64,96,56, - 1,128,192,32,60,1,0,128,48,30,3,1,128,16,15,14, - 3,0,24,3,248,2,0,12,0,0,6,0,6,0,0,12, - 0,3,128,0,56,0,0,192,0,96,0,0,120,3,192,0, - 0,31,254,0,0,13,17,34,19,3,17,62,0,99,0,193, - 128,225,128,225,128,3,128,13,128,49,128,113,128,225,128,225, - 136,225,136,247,152,120,240,0,0,0,0,255,240,13,19,38, - 23,5,1,4,0,12,24,24,48,48,32,112,96,96,96,96, - 192,224,192,224,192,224,192,224,192,224,192,224,192,96,192,112, - 96,48,96,56,48,24,16,12,0,23,10,30,29,3,8,255, - 255,254,255,255,254,0,0,6,0,0,6,0,0,6,0,0, - 6,0,0,6,0,0,6,0,0,6,0,0,6,12,3,6, - 18,3,11,255,240,255,240,255,240,35,36,180,40,3,0,0, - 7,252,0,0,0,60,7,128,0,0,224,0,192,0,1,128, - 0,48,0,3,0,0,24,0,4,0,0,12,0,8,0,0, - 6,0,25,255,248,3,0,48,60,30,1,0,32,60,15,0, - 128,96,60,7,128,128,64,60,7,128,64,64,60,7,128,64, - 192,60,7,128,64,128,60,7,128,96,128,60,15,0,32,128, - 60,30,0,32,128,63,240,0,32,128,60,28,0,32,128,60, - 14,0,32,128,60,7,0,32,128,60,7,0,32,128,60,7, - 128,96,64,60,7,128,64,64,60,7,132,64,64,60,7,132, - 192,32,60,7,136,128,48,60,3,201,128,17,255,129,241,0, - 24,0,0,2,0,12,0,0,6,0,6,0,0,12,0,3, - 0,0,24,0,0,192,0,96,0,0,112,1,192,0,0,31, - 254,0,0,13,2,4,21,4,28,255,248,255,248,14,13,26, - 29,8,21,15,192,56,96,112,48,96,24,192,8,192,12,192, - 12,192,12,192,12,96,24,96,24,56,112,15,192,41,34,204, - 45,2,254,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,255,255,255,255,255,128,255,255,255,255,255,128,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,255,255,255,255,128,255,255,255,255,255,128,14, - 21,42,22,4,13,15,192,49,240,96,120,192,124,192,60,224, - 60,248,60,120,60,48,120,0,112,0,224,1,192,3,128,6, - 0,12,0,48,4,32,4,96,12,127,248,255,248,255,248,14, - 21,42,22,5,13,15,192,56,224,96,112,96,56,112,56,120, - 56,48,56,0,112,0,224,63,128,56,224,0,120,0,56,0, - 60,112,60,248,60,240,60,192,56,192,120,96,240,31,192,8, - 9,9,22,10,25,7,15,15,30,60,48,96,192,128,25,36, - 144,29,3,243,112,1,192,0,240,3,192,0,240,3,224,0, - 240,3,224,0,240,3,224,0,240,3,224,0,240,3,224,0, - 240,3,224,0,240,3,224,0,240,3,224,0,224,3,224,0, - 224,1,192,0,224,1,192,0,96,1,192,0,96,1,192,0, - 96,1,192,0,96,1,128,0,96,3,129,128,112,7,193,128, - 88,15,127,128,79,254,63,128,67,252,31,0,64,0,0,0, - 192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0, - 192,0,0,0,224,0,0,0,224,0,0,0,240,0,0,0, - 240,0,0,0,240,0,0,0,248,0,0,0,120,0,0,0, - 120,0,0,0,20,42,126,26,3,249,7,255,240,31,193,128, - 63,193,128,127,193,128,127,193,128,255,193,128,255,193,128,255, - 193,128,255,193,128,255,193,128,255,193,128,127,193,128,127,193, - 128,63,193,128,15,193,128,0,193,128,0,193,128,0,193,128, - 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, - 193,128,0,193,128,0,193,128,0,193,128,0,193,128,0,193, - 128,0,193,128,0,193,128,0,193,128,0,193,128,0,193,128, - 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, - 193,128,0,193,128,0,193,128,6,6,6,14,4,12,120,252, - 252,252,252,120,10,10,20,21,5,246,8,0,8,0,24,0, - 15,0,3,128,1,192,1,192,1,192,195,128,63,0,11,20, - 40,21,5,14,2,0,6,0,14,0,254,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,14,0,14,0,14,0,255,224,12,17,34,18, - 3,17,15,0,57,192,112,192,96,224,224,96,224,112,224,112, - 224,112,224,112,224,112,96,96,112,224,49,192,31,0,0,0, - 0,0,255,240,13,19,38,23,5,1,1,0,193,128,96,192, - 32,96,48,112,48,48,24,48,24,56,24,56,24,56,24,56, - 24,56,24,56,24,48,48,112,48,96,96,224,64,192,1,128, - 33,35,175,42,5,255,2,0,0,96,0,6,0,0,64,0, - 14,0,0,192,0,254,0,1,128,0,14,0,1,0,0,14, - 0,3,0,0,14,0,2,0,0,14,0,6,0,0,14,0, - 12,0,0,14,0,8,0,0,14,0,24,0,0,14,0,16, - 0,0,14,0,48,0,0,14,0,96,0,0,14,0,96,56, - 0,14,0,192,120,0,14,0,128,120,0,14,1,128,248,0, - 14,3,0,184,0,255,227,1,56,0,0,6,1,56,0,0, - 4,2,56,0,0,12,2,56,0,0,8,4,56,0,0,24, - 12,56,0,0,48,8,56,0,0,32,24,56,0,0,96,31, - 255,128,0,64,0,56,0,0,192,0,56,0,1,128,0,56, - 0,1,128,0,56,0,3,0,0,56,0,2,0,1,255,128, - 6,0,0,0,0,33,35,175,42,5,255,2,0,0,96,0, - 6,0,0,64,0,6,0,0,192,0,14,0,1,128,0,254, - 0,1,128,0,14,0,3,0,0,14,0,2,0,0,14,0, - 6,0,0,14,0,4,0,0,14,0,12,0,0,14,0,24, - 0,0,14,0,16,0,0,14,0,48,0,0,14,0,33,248, - 0,14,0,102,62,0,14,0,204,15,0,14,0,152,15,128, - 14,1,152,7,128,14,1,24,7,128,255,227,31,7,128,0, - 6,31,7,128,0,4,15,7,0,0,12,0,14,0,0,8, - 0,28,0,0,24,0,56,0,0,48,0,112,0,0,48,0, - 192,0,0,96,1,128,0,0,64,2,0,128,0,192,4,0, - 128,1,128,12,1,128,1,128,15,255,0,3,0,15,255,0, - 2,0,31,255,0,6,0,0,0,0,33,35,175,42,5,255, - 15,192,0,48,0,56,224,0,96,0,96,112,0,96,0,96, - 56,0,192,0,112,56,0,128,0,120,56,1,128,0,48,56, - 3,0,0,0,112,3,0,0,0,224,6,0,0,63,128,4, - 0,0,56,224,12,0,0,0,120,24,0,0,0,56,24,0, - 0,0,60,48,0,0,112,60,32,28,0,248,60,96,28,0, - 240,60,192,60,0,192,120,192,92,0,96,241,128,92,0,63, - 193,0,156,0,0,3,1,156,0,0,6,1,28,0,0,6, - 2,28,0,0,12,6,28,0,0,8,4,28,0,0,24,8, - 28,0,0,48,24,28,0,0,48,31,255,128,0,96,0,28, - 0,0,64,0,28,0,0,192,0,28,0,1,128,0,28,0, - 1,128,0,28,0,3,0,1,255,128,2,0,0,0,0,18, - 33,99,24,2,246,1,224,0,3,240,0,3,240,0,3,240, - 0,1,224,0,0,0,0,0,0,0,1,224,0,2,48,0, - 4,24,0,4,24,0,4,24,0,4,24,0,0,48,0,0, - 112,0,0,224,0,1,192,0,7,128,0,15,0,0,30,0, - 0,60,0,0,124,0,0,120,15,0,248,31,128,240,31,192, - 240,15,192,240,0,192,240,0,192,120,0,192,120,1,128,60, - 3,0,15,14,0,3,248,0,34,46,230,37,2,0,0,56, - 0,0,0,0,60,0,0,0,0,60,0,0,0,0,30,0, - 0,0,0,15,0,0,0,0,3,128,0,0,0,1,128,0, - 0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,192,0,0,0,0,192,0,0,0, - 0,224,0,0,0,1,224,0,0,0,1,224,0,0,0,3, - 240,0,0,0,3,240,0,0,0,3,240,0,0,0,6,248, - 0,0,0,6,248,0,0,0,6,248,0,0,0,12,124,0, - 0,0,12,124,0,0,0,12,124,0,0,0,24,62,0,0, - 0,24,62,0,0,0,24,30,0,0,0,48,31,0,0,0, - 48,31,0,0,0,48,15,0,0,0,96,15,128,0,0,96, - 15,128,0,0,96,7,128,0,0,255,255,192,0,0,255,255, - 192,0,0,192,3,192,0,1,128,3,224,0,1,128,3,224, - 0,3,128,1,224,0,3,0,1,240,0,3,0,1,240,0, - 7,0,0,240,0,7,0,0,248,0,31,128,1,252,0,255, - 248,31,255,192,34,46,230,37,2,0,0,0,7,0,0,0, - 0,15,0,0,0,0,15,0,0,0,0,30,0,0,0,0, - 60,0,0,0,0,48,0,0,0,0,96,0,0,0,0,192, - 0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,192,0,0,0,0,192,0,0,0,0,224,0,0, - 0,1,224,0,0,0,1,224,0,0,0,3,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,6,248,0,0,0,6, - 248,0,0,0,6,248,0,0,0,12,124,0,0,0,12,124, - 0,0,0,12,124,0,0,0,24,62,0,0,0,24,62,0, - 0,0,24,30,0,0,0,48,31,0,0,0,48,31,0,0, - 0,48,15,0,0,0,96,15,128,0,0,96,15,128,0,0, - 224,7,128,0,0,255,255,192,0,0,255,255,192,0,1,192, - 3,192,0,1,128,3,224,0,1,128,3,224,0,3,128,1, - 224,0,3,0,1,240,0,3,0,1,240,0,7,0,0,240, - 0,15,128,0,248,0,255,248,31,255,192,255,248,31,255,192, - 34,45,225,37,2,0,0,0,192,0,0,0,1,224,0,0, - 0,3,240,0,0,0,7,56,0,0,0,14,28,0,0,0, - 28,14,0,0,0,48,3,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,192, - 0,0,0,0,224,0,0,0,1,224,0,0,0,1,224,0, - 0,0,3,240,0,0,0,3,240,0,0,0,3,240,0,0, - 0,6,248,0,0,0,6,248,0,0,0,6,248,0,0,0, - 12,124,0,0,0,12,124,0,0,0,12,124,0,0,0,24, - 62,0,0,0,24,62,0,0,0,24,30,0,0,0,48,31, - 0,0,0,48,31,0,0,0,48,15,0,0,0,96,15,128, - 0,0,96,15,128,0,0,96,7,128,0,0,255,255,192,0, - 0,255,255,192,0,0,192,3,192,0,1,128,3,224,0,1, - 128,3,224,0,3,128,1,224,0,3,0,1,240,0,3,0, - 1,240,0,7,0,0,240,0,7,0,0,248,0,31,128,1, - 252,0,255,248,31,255,192,34,45,225,37,2,0,0,15,0, - 128,0,0,31,225,128,0,0,63,255,0,0,0,33,255,0, - 0,0,32,62,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,192,0,0,0,0,192,0,0,0,1,224,0,0,0,1, - 224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240, - 0,0,0,3,240,0,0,0,6,248,0,0,0,6,248,0, - 0,0,6,248,0,0,0,12,124,0,0,0,12,124,0,0, - 0,12,124,0,0,0,24,62,0,0,0,24,62,0,0,0, - 24,30,0,0,0,48,31,0,0,0,48,31,0,0,0,112, - 15,0,0,0,96,15,128,0,0,96,15,128,0,0,224,7, - 128,0,0,255,255,192,0,0,255,255,192,0,1,192,3,192, - 0,1,128,3,224,0,1,128,3,224,0,3,128,1,224,0, - 3,0,1,240,0,3,0,1,240,0,7,0,0,240,0,15, - 128,0,248,0,255,248,31,255,192,255,248,31,255,192,34,44, - 220,37,2,0,0,28,7,0,0,0,62,15,128,0,0,62, - 15,128,0,0,62,15,128,0,0,28,7,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,64,0,0,0,0,192,0,0,0,0,224,0,0, - 0,0,224,0,0,0,1,224,0,0,0,1,240,0,0,0, - 3,240,0,0,0,3,240,0,0,0,3,248,0,0,0,7, - 248,0,0,0,6,120,0,0,0,6,124,0,0,0,14,60, - 0,0,0,12,60,0,0,0,12,62,0,0,0,28,30,0, - 0,0,24,30,0,0,0,24,31,0,0,0,48,15,0,0, - 0,48,15,0,0,0,112,15,128,0,0,96,7,128,0,0, - 96,7,128,0,0,255,255,192,0,0,255,255,192,0,0,192, - 3,192,0,1,192,3,224,0,1,192,1,224,0,1,128,1, - 224,0,3,128,1,240,0,3,128,0,240,0,7,128,0,240, - 0,7,128,0,248,0,31,192,1,252,0,255,248,31,255,192, - 34,47,235,37,2,0,0,1,224,0,0,0,6,24,0,0, - 0,4,8,0,0,0,8,4,0,0,0,8,4,0,0,0, - 8,4,0,0,0,8,4,0,0,0,4,8,0,0,0,6, - 24,0,0,0,3,224,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,7,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,1, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,44,35,210,48,1,0,0,0,127,255,255,240,0,0,15, - 224,3,240,0,0,15,192,0,240,0,0,15,192,0,112,0, - 0,15,192,0,112,0,0,27,192,0,48,0,0,27,192,0, - 48,0,0,51,192,0,48,0,0,51,192,0,16,0,0,99, - 192,0,16,0,0,99,192,16,16,0,0,195,192,16,16,0, - 1,195,192,16,0,0,1,131,192,48,0,0,3,131,192,48, - 0,0,3,3,192,48,0,0,7,3,192,112,0,0,6,3, - 255,240,0,0,14,3,192,240,0,0,12,3,192,48,0,0, - 24,3,192,48,0,0,24,3,192,16,0,0,48,3,192,16, - 16,0,63,255,192,16,16,0,96,3,192,16,16,0,96,3, - 192,0,16,0,192,3,192,0,16,0,192,3,192,0,48,1, - 128,3,192,0,48,1,128,3,192,0,112,3,128,3,192,0, - 112,7,128,3,192,0,240,15,128,3,192,1,240,255,248,127, - 255,255,240,255,248,127,255,255,240,26,47,188,32,3,245,0, - 63,0,128,0,225,225,128,3,128,113,128,7,0,63,128,14, - 0,31,128,30,0,15,128,28,0,7,128,60,0,7,128,60, - 0,3,128,124,0,3,128,120,0,1,128,120,0,1,128,120, - 0,0,128,248,0,0,128,248,0,0,0,248,0,0,0,248, - 0,0,0,248,0,0,0,248,0,0,0,248,0,0,0,248, - 0,0,0,248,0,0,0,248,0,0,0,120,0,0,192,120, - 0,0,192,120,0,0,192,124,0,0,192,60,0,0,128,60, - 0,1,128,28,0,1,128,30,0,3,0,14,0,3,0,7, - 0,6,0,3,128,12,0,1,192,56,0,0,127,224,0,0, - 8,0,0,0,8,0,0,0,28,0,0,0,15,128,0,0, - 3,192,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 129,224,0,0,199,192,0,0,63,0,0,28,46,184,34,3, - 0,0,224,0,0,0,240,0,0,0,240,0,0,0,120,0, - 0,0,60,0,0,0,14,0,0,0,6,0,0,0,3,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 240,255,255,255,240,7,128,1,240,7,128,0,240,7,128,0, - 112,7,128,0,112,7,128,0,48,7,128,0,48,7,128,0, - 48,7,128,0,16,7,128,32,16,7,128,32,16,7,128,32, - 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,224, - 0,7,255,224,0,7,129,224,0,7,128,96,0,7,128,96, - 0,7,128,96,0,7,128,32,16,7,128,32,16,7,128,32, - 16,7,128,0,16,7,128,0,48,7,128,0,48,7,128,0, - 48,7,128,0,112,7,128,0,112,7,128,0,240,7,128,1, - 240,255,255,255,240,255,255,255,240,28,46,184,34,3,0,0, - 0,28,0,0,0,60,0,0,0,60,0,0,0,120,0,0, - 0,240,0,0,0,192,0,0,1,128,0,0,3,0,0,0, - 2,0,0,0,0,0,0,0,0,0,0,255,255,255,240,255, - 255,255,240,7,128,1,240,7,128,0,240,7,128,0,112,7, - 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, - 128,96,0,7,128,96,0,7,128,96,0,7,128,224,0,7, - 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, - 128,96,0,7,128,32,16,7,128,32,16,7,128,32,16,7, - 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, - 255,255,240,255,255,255,240,28,45,180,34,3,0,0,3,0, - 0,0,7,128,0,0,15,192,0,0,12,224,0,0,24,112, - 0,0,112,24,0,0,192,12,0,0,0,2,0,0,0,0, - 0,0,0,0,0,255,255,255,240,255,255,255,240,7,128,1, - 240,7,128,0,240,7,128,0,112,7,128,0,112,7,128,0, - 48,7,128,0,48,7,128,0,48,7,128,0,16,7,128,32, - 16,7,128,32,16,7,128,32,0,7,128,96,0,7,128,96, - 0,7,128,96,0,7,128,224,0,7,255,224,0,7,129,224, - 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,32, - 16,7,128,32,16,7,128,32,16,7,128,0,16,7,128,0, - 48,7,128,0,48,7,128,0,48,7,128,0,112,7,128,0, - 112,7,128,0,240,7,128,1,240,255,255,255,240,255,255,255, - 240,28,44,176,34,3,0,0,112,28,0,0,248,62,0,0, - 248,62,0,0,248,62,0,0,112,28,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,255,255,255,240,7, - 192,7,240,7,128,1,240,7,128,0,240,7,128,0,112,7, - 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, - 128,32,0,7,128,96,0,7,128,96,0,7,128,224,0,7, - 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, - 128,32,0,7,128,32,16,7,128,32,16,7,128,32,16,7, - 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, - 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, - 255,255,240,255,255,255,240,14,46,92,19,3,0,224,0,240, - 0,240,0,120,0,60,0,12,0,6,0,3,0,1,0,0, - 0,0,0,255,252,255,252,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,15,128,255,252,14,46,92,19,3,0,0, - 28,0,60,0,60,0,120,0,240,0,192,1,128,3,0,0, - 0,0,0,0,0,255,252,255,252,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,192,255,252,14,45,90,19,3, - 0,3,0,7,128,7,192,14,192,24,96,112,56,192,12,0, - 0,0,0,0,0,255,252,7,192,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,255,252,255,252,15,44,88,20,3, - 0,112,28,248,62,248,62,248,62,112,28,0,0,0,0,0, - 0,0,0,127,254,7,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,7,192,127,254,32,35,140,38,4,0,255, - 255,248,0,15,128,15,0,7,128,3,128,7,128,1,192,7, - 128,0,224,7,128,0,240,7,128,0,120,7,128,0,124,7, - 128,0,60,7,128,0,62,7,128,0,62,7,128,0,30,7, - 128,0,30,7,128,0,31,7,128,0,31,7,128,0,31,255, - 254,0,31,7,128,0,31,7,128,0,31,7,128,0,31,7, - 128,0,31,7,128,0,31,7,128,0,30,7,128,0,62,7, - 128,0,62,7,128,0,60,7,128,0,60,7,128,0,120,7, - 128,0,120,7,128,0,240,7,128,0,224,7,128,1,192,7, - 128,3,128,15,128,30,0,255,255,248,0,33,46,230,38,3, - 255,0,7,1,128,0,0,31,225,128,0,0,31,255,0,0, - 0,16,255,0,0,0,48,62,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,255,192,7,255,128,255,192,7,255,128,7,224,0, - 120,0,7,240,0,48,0,7,240,0,48,0,7,248,0,48, - 0,6,248,0,48,0,6,252,0,48,0,6,126,0,48,0, - 6,62,0,48,0,6,63,0,48,0,6,31,0,48,0,6, - 15,128,48,0,6,15,192,48,0,6,7,192,48,0,6,7, - 224,48,0,6,3,224,48,0,6,1,240,48,0,6,1,248, - 48,0,6,0,248,48,0,6,0,252,48,0,6,0,124,48, - 0,6,0,62,48,0,6,0,63,48,0,6,0,31,48,0, - 6,0,15,176,0,6,0,15,176,0,6,0,7,240,0,6, - 0,7,240,0,6,0,3,240,0,6,0,1,240,0,6,0, - 1,240,0,15,0,0,240,0,31,128,0,240,0,255,240,0, - 112,0,0,0,0,48,0,28,46,184,33,3,1,1,192,0, - 0,1,224,0,0,1,240,0,0,0,112,0,0,0,56,0, - 0,0,28,0,0,0,12,0,0,0,6,0,0,0,0,0, - 0,0,0,0,0,0,31,128,0,0,255,240,0,1,192,56, - 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, - 128,30,0,7,128,60,0,3,192,60,0,3,192,124,0,3, - 224,124,0,3,224,120,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,120,0,1,224,120,0,1,224,120,0,3,224,124,0,3, - 192,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, - 0,14,0,7,0,7,0,14,0,3,128,28,0,0,192,48, - 0,0,127,224,0,28,46,184,33,3,1,0,0,56,0,0, - 0,120,0,0,0,248,0,0,0,224,0,0,1,192,0,0, - 3,128,0,0,3,0,0,0,6,0,0,0,0,0,0,0, - 0,0,0,0,31,128,0,0,255,240,0,1,192,56,0,3, - 128,28,0,7,0,14,0,14,0,7,0,30,0,7,128,30, - 0,7,128,60,0,3,192,60,0,3,192,124,0,3,224,124, - 0,3,224,120,0,1,224,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,120, - 0,1,224,120,0,1,224,120,0,3,224,124,0,3,192,60, - 0,3,192,60,0,3,192,30,0,7,128,14,0,7,0,14, - 0,7,0,7,0,14,0,3,128,28,0,0,192,48,0,0, - 127,224,0,28,46,184,33,3,0,0,6,0,0,0,15,0, - 0,0,15,0,0,0,31,128,0,0,57,192,0,0,112,224, - 0,0,192,48,0,3,128,28,0,0,0,0,0,0,0,0, - 0,0,31,128,0,0,255,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,30,0,7, - 128,60,0,3,192,60,0,3,192,124,0,3,224,124,0,3, - 224,120,0,1,224,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,120,0,3,224,124,0,3,192,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,7, - 0,7,0,14,0,3,128,28,0,0,192,48,0,0,127,224, - 0,28,45,180,33,3,0,0,120,12,0,0,255,8,0,1, - 255,248,0,1,143,248,0,1,1,224,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,31,128,0,0, - 255,240,0,1,192,56,0,3,128,28,0,7,0,14,0,14, - 0,7,0,30,0,7,128,30,0,7,128,60,0,3,192,60, - 0,3,192,124,0,3,224,124,0,3,224,120,0,1,224,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, - 0,1,240,248,0,1,240,120,0,1,224,120,0,1,224,120, - 0,3,224,124,0,3,192,60,0,3,192,60,0,3,192,30, - 0,7,128,14,0,7,0,14,0,7,0,7,0,14,0,3, - 128,28,0,0,192,48,0,0,127,224,0,28,45,180,33,3, - 0,0,224,56,0,1,240,124,0,1,240,124,0,1,240,124, - 0,0,224,56,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,31,128,0,0,240,240,0,1,192,56, - 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, - 128,28,0,3,128,60,0,3,192,60,0,3,192,124,0,3, - 224,120,0,1,224,120,0,1,224,248,0,1,224,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,120,0,1,224,120,0,1,224,124,0,3,224,124,0,3, - 224,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, - 0,14,0,15,0,7,0,14,0,3,128,28,0,0,224,112, - 0,0,127,224,0,30,30,120,46,8,254,192,0,0,12,224, - 0,0,28,112,0,0,56,56,0,0,112,28,0,0,224,14, - 0,1,192,7,0,3,128,3,128,7,0,1,192,14,0,0, - 224,28,0,0,112,56,0,0,56,112,0,0,28,224,0,0, - 15,192,0,0,7,128,0,0,7,128,0,0,15,192,0,0, - 28,224,0,0,56,112,0,0,112,56,0,0,224,28,0,1, - 192,14,0,3,128,7,0,7,0,3,128,14,0,1,192,28, - 0,0,224,56,0,0,112,112,0,0,56,224,0,0,28,192, - 0,0,12,28,36,144,33,3,0,0,31,128,32,0,240,240, - 96,1,192,56,224,3,128,30,192,7,0,15,128,14,0,7, - 128,30,0,7,128,28,0,7,128,60,0,15,192,60,0,31, - 192,124,0,59,224,120,0,49,224,120,0,97,224,248,0,225, - 240,248,1,193,240,248,1,129,240,248,3,1,240,248,7,1, - 240,248,6,1,240,248,12,1,240,248,28,1,240,248,56,1, - 240,248,48,1,240,120,96,1,224,120,224,1,224,121,192,3, - 224,125,128,3,192,63,0,3,192,63,0,3,192,30,0,7, - 128,30,0,7,0,30,0,15,0,63,0,14,0,51,128,28, - 0,97,192,112,0,192,127,224,0,34,46,230,39,3,1,0, - 28,0,0,0,0,28,0,0,0,0,30,0,0,0,0,15, - 0,0,0,0,7,0,0,0,0,1,128,0,0,0,0,192, - 0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0, - 0,255,252,3,255,192,255,252,3,255,192,7,192,0,126,0, - 7,128,0,60,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,3,192,0, - 24,0,3,192,0,48,0,1,192,0,48,0,1,224,0,96, - 0,0,224,0,96,0,0,112,0,192,0,0,60,3,128,0, - 0,15,254,0,0,34,46,230,39,3,1,0,0,7,0,0, - 0,0,15,0,0,0,0,30,0,0,0,0,28,0,0,0, - 0,56,0,0,0,0,112,0,0,0,0,96,0,0,0,0, - 128,0,0,0,0,0,0,0,0,0,0,0,0,255,252,3, - 255,192,255,252,3,255,192,7,192,0,126,0,7,128,0,60, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,3,192,0,24,0,3,192, - 0,48,0,1,192,0,48,0,1,224,0,96,0,0,224,0, - 96,0,0,112,0,192,0,0,60,3,128,0,0,15,254,0, - 0,34,46,230,39,3,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,3,240,0,0,0,3,56,0,0, - 0,6,28,0,0,0,28,6,0,0,0,48,3,128,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,252, - 3,255,192,7,192,0,126,0,7,128,0,60,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,3,192,0,24,0,3,192,0,48,0,3, - 192,0,48,0,1,224,0,96,0,0,240,0,224,0,0,120, - 1,192,0,0,62,7,128,0,0,15,254,0,0,34,45,225, - 39,3,0,0,28,7,0,0,0,62,15,128,0,0,62,15, - 128,0,0,62,15,128,0,0,28,7,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,32,46,184,35,2,0,0,0,3,0,0,0, - 7,128,0,0,15,0,0,0,30,0,0,0,60,0,0,0, - 56,0,0,0,96,0,0,0,192,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,254,15,255,255,254,15,255,7,224, - 0,240,7,224,0,96,3,224,0,96,3,240,0,64,1,240, - 0,192,0,248,0,128,0,252,1,128,0,124,1,0,0,62, - 3,0,0,62,2,0,0,31,6,0,0,31,12,0,0,15, - 136,0,0,7,152,0,0,7,208,0,0,3,240,0,0,3, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, - 224,0,0,1,224,0,0,1,224,0,0,1,240,0,0,127, - 255,192,28,35,140,33,3,0,255,254,0,0,7,192,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,255,240,0,7,192,30,0,7,128,7,128,7,128,7,192, - 7,128,3,224,7,128,3,224,7,128,1,240,7,128,1,240, - 7,128,1,240,7,128,1,240,7,128,1,240,7,128,1,240, - 7,128,3,224,7,128,3,224,7,128,7,192,7,128,7,128, - 7,128,30,0,7,255,248,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,192,0,0, - 255,254,0,0,22,35,105,26,1,0,0,63,128,0,243,224, - 1,192,240,3,128,240,7,128,248,7,0,120,15,0,120,15, - 0,120,15,0,248,15,0,240,15,0,224,15,1,192,15,3, - 0,15,60,0,15,6,0,15,1,128,15,0,192,15,0,224, - 15,0,112,15,0,120,15,0,120,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,60,15,0,60,15,0,60,15,56, - 60,15,120,60,15,120,60,15,112,120,15,96,112,15,48,224, - 255,31,192,21,33,99,24,2,1,56,0,0,60,0,0,30, - 0,0,14,0,0,7,0,0,3,128,0,1,128,0,0,192, - 0,0,0,0,0,0,0,0,0,0,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,21,33,99,24, - 2,1,0,7,0,0,15,128,0,15,0,0,30,0,0,60, - 0,0,48,0,0,96,0,0,192,0,0,0,0,0,0,0, - 0,0,0,7,248,0,24,30,0,16,15,0,48,7,0,56, - 7,128,60,7,128,62,7,128,28,7,128,0,7,128,0,31, - 128,3,247,128,31,7,128,60,7,128,120,7,128,248,7,128, - 240,7,128,240,15,136,240,15,136,240,23,136,248,23,152,120, - 39,240,63,195,240,21,33,99,24,2,0,0,192,0,0,224, - 0,1,224,0,1,240,0,3,48,0,6,24,0,12,12,0, - 24,2,0,0,0,0,0,0,0,0,0,0,7,248,0,24, - 30,0,16,15,0,48,7,0,56,7,128,60,7,128,62,7, - 128,28,7,128,0,7,128,0,31,128,3,247,128,31,7,128, - 60,7,128,120,7,128,248,7,128,240,7,128,240,15,136,240, - 15,136,240,23,136,248,23,152,120,39,240,63,195,240,21,32, - 96,24,2,0,15,129,0,31,227,0,31,255,0,16,254,0, - 32,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,7,248,0,24,30,0,16,15,0,48,7,0,56,7, - 128,60,7,128,62,7,128,28,7,128,0,7,128,0,31,128, - 3,247,128,31,7,128,60,7,128,120,7,128,248,7,128,240, - 7,128,240,15,136,240,15,136,240,23,136,248,23,152,120,39, - 240,63,195,240,21,32,96,24,2,0,28,14,0,62,31,0, - 62,31,0,62,31,0,28,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,7,248,0,24,30,0,16,15, - 0,48,7,0,56,7,128,60,7,128,62,7,128,28,7,128, - 0,7,128,0,31,128,3,247,128,31,7,128,60,7,128,120, - 7,128,248,7,128,240,7,128,240,15,136,240,15,136,240,23, - 136,248,23,152,120,39,240,63,195,240,21,34,102,24,2,0, - 1,224,0,2,24,0,4,8,0,8,4,0,8,4,0,8, - 4,0,4,12,0,6,24,0,1,240,0,0,0,0,0,0, - 0,0,0,0,7,248,0,24,30,0,16,15,0,48,7,0, - 56,7,128,60,7,128,60,7,128,28,7,128,0,7,128,0, - 31,128,3,247,128,31,7,128,60,7,128,120,7,128,248,7, - 128,240,7,128,240,15,136,240,15,136,240,31,136,248,23,152, - 120,39,240,63,195,240,30,22,88,34,2,1,7,248,63,128, - 24,30,97,224,16,15,224,224,48,7,192,112,56,7,192,120, - 60,7,128,120,62,7,128,120,30,7,128,60,0,7,128,60, - 0,15,128,60,1,247,255,252,15,7,128,0,60,7,128,0, - 120,7,128,0,248,7,128,0,240,7,128,8,240,15,128,8, - 240,11,192,8,240,27,192,16,248,17,224,48,120,32,240,96, - 63,192,127,192,17,32,96,21,2,247,7,252,0,14,6,0, - 28,3,0,56,3,0,56,3,128,120,15,128,120,15,128,240, - 15,128,240,7,0,240,0,0,240,0,0,240,0,0,240,0, - 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,0, - 56,1,0,28,2,0,14,6,0,7,248,0,0,128,0,0, - 128,0,1,128,0,0,240,0,0,56,0,0,28,0,0,28, - 0,0,28,0,12,56,0,3,240,0,18,33,99,22,2,1, - 60,0,0,60,0,0,30,0,0,15,0,0,7,0,0,3, - 128,0,0,192,0,0,64,0,0,0,0,0,0,0,0,0, - 0,7,248,0,14,28,0,28,14,0,56,15,0,56,7,128, - 120,7,128,120,7,128,240,7,192,240,7,192,240,7,192,255, - 255,192,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,120,1,128,56,1,0,28,3,0,14,6,0, - 7,252,0,18,33,99,22,2,1,0,7,0,0,15,0,0, - 15,0,0,30,0,0,60,0,0,48,0,0,96,0,0,192, - 0,0,0,0,0,0,0,0,0,0,7,248,0,14,28,0, - 28,14,0,56,15,0,56,7,128,120,7,128,120,7,128,240, - 7,192,240,7,192,240,7,192,255,255,192,240,0,0,240,0, - 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,128, - 56,1,0,28,3,0,14,6,0,7,252,0,18,33,99,22, - 2,0,0,192,0,0,224,0,1,224,0,1,240,0,3,184, - 0,7,24,0,4,12,0,24,2,0,0,0,0,0,0,0, - 0,0,0,7,248,0,14,28,0,28,14,0,56,15,0,56, - 7,128,120,7,128,120,7,128,240,7,192,240,7,192,240,7, - 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,128, - 120,0,128,120,0,128,120,1,128,56,1,0,28,3,0,14, - 6,0,7,252,0,18,32,96,22,2,0,28,7,0,62,15, - 128,62,15,128,62,15,128,28,7,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,7,248,0,14,12,0,28, - 14,0,60,7,0,56,7,128,120,3,128,120,3,128,240,3, - 192,240,3,192,240,3,192,255,255,192,240,0,0,240,0,0, - 240,0,0,240,0,64,120,0,128,120,0,128,120,0,128,56, - 1,128,28,1,0,14,6,0,7,252,0,12,33,66,14,0, - 1,224,0,240,0,240,0,120,0,60,0,12,0,6,0,3, - 0,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,63,240,11,33,66,13,2,1,0,224,1,224,1,224,3, - 192,7,128,6,0,12,0,24,0,0,0,0,0,0,0,254, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,255,192,13,33,66,14,0, - 0,7,0,7,0,7,128,15,128,29,192,24,96,48,48,192, - 24,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,63,240,13,32,64,15,1,0,112,112,248,248,248,248,248, - 248,112,112,0,0,0,0,0,0,0,0,0,0,63,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,63,240,19,35,105,24,2,0,31, - 0,0,15,131,128,7,198,0,3,252,0,1,240,0,0,240, - 0,1,248,0,7,124,0,12,60,0,24,30,0,0,31,0, - 0,15,0,0,7,128,3,255,128,14,15,192,28,7,192,60, - 3,192,56,3,224,120,3,224,120,1,224,248,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, - 240,1,224,120,1,192,120,3,192,56,3,192,60,3,128,28, - 7,0,14,14,0,3,252,0,23,32,96,27,2,0,1,224, - 64,3,248,192,7,255,192,6,63,128,4,7,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,31,128,30, - 97,224,30,192,224,30,128,240,31,0,240,31,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,255,199,254,19,33, - 99,24,2,1,28,0,0,30,0,0,30,0,0,15,0,0, - 7,128,0,1,128,0,0,192,0,0,96,0,0,0,0,0, - 0,0,0,0,0,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,19,33,99,24,2,1,0,7,0, - 0,7,128,0,15,0,0,30,0,0,28,0,0,56,0,0, - 96,0,0,64,0,0,0,0,0,0,0,0,0,0,3,252, - 0,14,14,0,28,7,0,60,3,128,56,3,192,120,3,192, - 120,1,224,248,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,3, - 192,56,3,192,60,3,128,28,7,0,14,14,0,3,252,0, - 19,33,99,24,2,0,0,96,0,0,224,0,0,240,0,1, - 240,0,1,184,0,3,24,0,6,4,0,8,3,0,0,0, - 0,0,0,0,0,0,0,3,252,0,14,14,0,28,7,0, - 60,3,128,56,3,192,120,3,192,120,1,224,248,1,224,240, - 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,120,1,224,120,3,192,56,3,192,60,3,128, - 28,7,0,14,14,0,3,252,0,19,32,96,24,2,0,7, - 129,0,15,225,0,31,255,0,24,254,0,16,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,3,252,0, - 14,14,0,28,7,0,60,3,128,56,3,192,120,3,192,120, - 1,224,248,1,224,240,1,224,240,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,120,1,224,120,3,192, - 56,3,192,60,3,128,28,7,0,14,14,0,3,252,0,19, - 32,96,24,2,0,14,7,0,31,15,128,31,15,128,31,15, - 128,14,7,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,3,252,0,14,14,0,28,7,0,60,3,128,56, - 3,192,120,3,192,120,1,224,248,1,224,240,1,224,240,1, - 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, - 120,1,224,120,3,192,56,3,192,60,3,128,28,7,0,14, - 14,0,3,252,0,41,31,186,45,2,253,0,0,30,0,0, - 0,0,0,63,0,0,0,0,0,63,0,0,0,0,0,63, - 0,0,0,0,0,63,0,0,0,0,0,30,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,255,255,255,128,255,255,255,255,255,128,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,30,0,0,0,0,0,63,0,0,0,0,0,63, - 0,0,0,0,0,63,0,0,0,0,0,63,0,0,0,0, - 0,30,0,0,0,19,22,66,24,2,1,3,252,96,14,14, - 64,28,7,192,60,3,128,56,3,192,120,7,192,120,13,224, - 248,9,224,240,25,224,240,49,224,240,97,224,240,193,224,240, - 129,224,241,129,224,243,1,224,126,1,224,124,3,192,56,3, - 192,60,3,128,60,7,0,110,14,0,195,252,0,23,33,99, - 27,2,1,14,0,0,15,0,0,7,128,0,3,192,0,1, - 192,0,0,224,0,0,48,0,0,16,0,0,0,0,0,0, - 0,0,0,0,254,7,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,1,240,30,1,240,30,1,240,30,2,240,14,6,240, - 15,12,240,3,240,254,23,33,99,27,2,1,0,1,192,0, - 3,192,0,3,192,0,7,128,0,14,0,0,12,0,0,24, - 0,0,48,0,0,0,0,0,0,0,0,0,0,254,7,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,1,240,30,1,240, - 30,1,240,30,2,240,14,6,240,15,12,240,3,240,254,23, - 33,99,27,2,0,0,48,0,0,56,0,0,120,0,0,124, - 0,0,204,0,1,134,0,3,3,0,6,0,128,0,0,0, - 0,0,0,0,0,0,254,7,240,30,0,240,30,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,1,240,30,1,240,30,1,240,30,2,240,14, - 6,240,15,12,240,3,240,254,23,32,96,27,2,0,7,3, - 128,15,135,192,15,135,192,15,135,192,7,3,128,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,7,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,1,240,30,1,240,30, - 1,240,30,2,240,14,6,240,15,12,240,3,240,254,24,45, - 135,26,1,246,0,0,240,0,0,240,0,1,224,0,1,192, - 0,3,128,0,7,0,0,6,0,0,12,0,0,24,0,0, - 0,0,0,0,0,0,0,0,255,225,255,31,0,120,15,0, - 48,15,0,48,7,0,32,7,128,96,7,128,96,3,192,64, - 3,192,192,3,192,192,1,224,128,1,225,128,0,225,128,0, - 241,128,0,241,0,0,115,0,0,123,0,0,122,0,0,62, - 0,0,62,0,0,60,0,0,28,0,0,28,0,0,24,0, - 0,24,0,0,24,0,24,48,0,60,48,0,60,48,0,60, - 96,0,56,96,0,31,192,0,15,0,0,20,46,138,25,2, - 243,30,0,0,126,0,0,254,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,15,192,30,63,224,30,97,240,30,192,240,30,128, - 240,31,128,240,31,0,240,31,0,240,30,0,240,30,0,240, - 30,1,224,30,1,224,30,1,192,30,3,128,30,3,128,30, - 7,0,30,6,0,30,12,0,30,24,0,30,48,0,30,192, - 0,31,128,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,60,0,0,240,0,0,128,0,0,24,43,129,26,1, - 245,1,192,224,3,225,240,3,225,240,3,225,240,1,192,224, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, - 225,255,31,128,120,15,0,48,15,0,48,7,128,32,7,128, - 96,7,128,96,3,192,64,3,192,64,3,192,192,1,224,128, - 1,224,128,0,225,128,0,241,128,0,241,0,0,115,0,0, - 123,0,0,122,0,0,62,0,0,62,0,0,60,0,0,28, - 0,0,28,0,0,24,0,0,24,0,0,24,0,24,48,0, - 60,48,0,60,48,0,60,96,0,56,96,0,31,192,0,15, - 0,0}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 0, '1' Height: 34 - Calculated Max Values w=41 h=46 x= 6 y=14 dx=45 dy= 0 ascent=36 len=246 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x= 0 y=-10 dx= 0 dy= 0 - Pure Font ascent =34 descent= 0 - X Font ascent =34 descent= 0 - Max Font ascent =36 descent=-10 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35n[1588] U8G_FONT_SECTION("u8g_font_osr35n") = { - 0,128,62,216,241,34,0,0,0,0,42,58,0,36,246,34, - 0,18,20,60,25,4,14,0,224,0,1,224,0,1,224,0, - 1,224,0,224,195,128,240,135,192,248,143,192,60,159,128,3, - 248,0,1,224,0,3,240,0,30,190,0,124,143,128,248,135, - 192,240,195,192,97,193,128,1,224,0,1,224,0,1,224,0, - 0,224,0,41,41,246,45,2,248,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,255,255,255,255,255, - 128,255,255,255,255,255,128,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, - 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, - 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, - 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,7, - 15,15,14,4,247,120,252,252,254,126,6,6,6,4,12,8, - 24,48,96,64,12,3,6,18,3,11,255,240,255,240,255,240, - 6,5,5,14,4,1,120,252,252,252,120,16,46,92,22,3, - 246,0,3,0,3,0,3,0,6,0,6,0,6,0,12,0, - 12,0,12,0,24,0,24,0,24,0,48,0,48,0,48,0, - 48,0,96,0,96,0,96,0,192,0,192,0,192,1,128,1, - 128,1,128,3,0,3,0,3,0,6,0,6,0,6,0,12, - 0,12,0,12,0,24,0,24,0,24,0,48,0,48,0,48, - 0,96,0,96,0,96,0,96,0,192,0,192,0,23,34,102, - 28,2,0,0,124,0,1,199,0,7,1,128,6,0,192,14, - 0,224,28,0,112,60,0,120,60,0,120,56,0,56,120,0, - 60,120,0,60,120,0,60,248,0,62,248,0,62,248,0,62, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,120,0,60,120,0,60,120,0,60,120,0, - 60,60,0,120,60,0,120,28,0,112,28,0,112,14,0,224, - 7,1,192,3,131,128,0,254,0,17,34,102,28,6,0,0, - 64,0,0,64,0,0,192,0,0,192,0,1,192,0,7,192, - 0,255,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,255, - 255,128,255,255,128,21,34,102,28,4,0,3,252,0,14,31, - 0,16,7,192,32,3,224,96,1,240,64,1,240,192,0,240, - 192,0,248,224,0,248,252,0,248,254,0,248,126,0,248,126, - 0,240,62,1,240,0,1,224,0,3,192,0,3,128,0,7, - 0,0,14,0,0,28,0,0,112,0,0,224,0,1,192,0, - 3,0,0,6,0,16,12,0,16,24,0,16,16,0,16,48, - 0,48,48,0,112,127,255,240,127,255,240,127,255,240,127,255, - 240,21,34,102,28,4,0,3,248,0,14,31,0,24,7,128, - 48,3,192,112,3,192,120,1,224,124,1,224,126,1,224,126, - 1,224,60,1,224,0,1,224,0,3,192,0,3,192,0,7, - 128,0,14,0,15,248,0,31,143,0,14,3,128,0,3,224, - 0,1,224,0,1,240,0,0,248,0,0,248,0,0,248,60, - 0,248,126,0,248,254,0,248,254,0,248,252,1,240,224,1, - 240,224,3,224,96,3,192,48,15,0,15,254,0,23,34,102, - 28,3,0,0,1,128,0,1,128,0,3,128,0,7,128,0, - 7,128,0,15,128,0,31,128,0,31,128,0,55,128,0,119, - 128,0,231,128,0,199,128,1,199,128,3,135,128,3,7,128, - 6,7,128,14,7,128,12,7,128,24,7,128,56,7,128,48, - 7,128,96,7,128,224,7,128,255,255,254,0,7,128,0,7, - 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,3,255,254,3,255,254,21,35,105,28,4,0,48, - 0,64,60,3,192,63,255,128,63,255,0,63,252,0,55,240, - 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,0, - 48,0,0,48,0,0,51,254,0,60,7,128,56,3,192,48, - 1,224,48,1,240,48,1,240,0,0,240,0,0,248,0,0, - 248,0,0,248,0,0,248,60,0,248,126,0,248,254,0,248, - 254,0,240,252,1,240,248,1,224,240,1,224,112,3,192,112, - 7,128,60,31,0,15,252,0,21,34,102,28,4,0,0,126, - 0,1,193,128,3,128,192,7,0,64,14,0,224,28,1,224, - 28,3,224,56,3,224,56,3,192,120,0,0,120,0,0,120, - 0,0,120,0,0,240,126,0,241,255,128,243,131,192,247,1, - 224,254,1,240,252,0,240,252,0,240,248,0,248,248,0,120, - 248,0,120,248,0,120,120,0,120,120,0,120,120,0,248,120, - 0,240,56,0,240,60,0,224,28,1,224,14,3,192,7,7, - 128,1,254,0,19,34,102,28,5,0,255,255,224,255,255,224, - 255,255,224,255,255,224,224,0,224,192,0,64,128,0,64,128, - 0,192,128,0,128,128,1,128,0,1,128,0,3,0,0,2, - 0,0,6,0,0,12,0,0,24,0,0,24,0,0,48,0, - 0,112,0,0,112,0,0,224,0,0,224,0,1,224,0,1, - 224,0,3,224,0,3,224,0,3,224,0,7,240,0,7,240, - 0,7,240,0,7,240,0,7,240,0,3,240,0,3,224,0, - 23,34,102,28,3,0,1,254,0,7,135,128,30,1,192,56, - 0,224,120,0,112,112,0,112,240,0,56,240,0,56,240,0, - 56,240,0,56,248,0,56,252,0,112,126,0,112,127,192,224, - 63,241,192,31,255,0,7,255,128,7,255,224,12,63,248,56, - 7,252,112,1,252,112,0,126,224,0,62,224,0,62,224,0, - 62,224,0,30,224,0,30,224,0,28,96,0,60,112,0,56, - 48,0,120,24,0,240,14,1,192,3,255,0,21,34,102,28, - 4,0,1,248,0,7,142,0,14,3,0,28,1,128,56,1, - 192,120,1,224,120,0,224,120,0,240,240,0,240,240,0,240, - 240,0,240,240,0,248,240,0,248,248,0,248,120,1,248,120, - 1,248,120,3,248,60,7,120,30,14,120,15,252,120,3,240, - 120,0,0,240,0,0,240,0,0,240,0,0,240,60,0,224, - 124,0,224,124,1,192,124,1,192,120,3,128,112,3,0,56, - 6,0,28,28,0,15,248,0,6,22,22,14,4,1,120,252, - 252,252,120,0,0,0,0,0,0,0,0,0,0,0,0,120, - 252,252,252,120}; -/* - Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 - Copyright: Copyright (C) 2006-2008 Alexey Kryukov - Capital A Height: 35, '1' Height: 34 - Calculated Max Values w=49 h=46 x= 6 y=26 dx=52 dy= 0 ascent=37 len=252 - Font Bounding box w=128 h=62 x=-40 y=-15 - Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 - Pure Font ascent =35 descent=-10 - X Font ascent =36 descent=-10 - Max Font ascent =37 descent=-11 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_FONT_SECTION("u8g_font_osr35r") = { - 0,128,62,216,241,35,12,236,30,116,32,127,246,37,245,36, - 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, - 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, - 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, - 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, - 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, - 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, - 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, - 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, - 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, - 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, - 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, - 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, - 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, - 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, - 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, - 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, - 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, - 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, - 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, - 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, - 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, - 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, - 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, - 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, - 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, - 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, - 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, - 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, - 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, - 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, - 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, - 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, - 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, - 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, - 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, - 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, - 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, - 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, - 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, - 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, - 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, - 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, - 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, - 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, - 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, - 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, - 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, - 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, - 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, - 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, - 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, - 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, - 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, - 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, - 0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240, - 135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240, - 0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128, - 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, - 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, - 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, - 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, - 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, - 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, - 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, - 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, - 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, - 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, - 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, - 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, - 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, - 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, - 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, - 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, - 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, - 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, - 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, - 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, - 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, - 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, - 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, - 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, - 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, - 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, - 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, - 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, - 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, - 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, - 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, - 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, - 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, - 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, - 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, - 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, - 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, - 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, - 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, - 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, - 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, - 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, - 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, - 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, - 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, - 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, - 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, - 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, - 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, - 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, - 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, - 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, - 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, - 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, - 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, - 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, - 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, - 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, - 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, - 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, - 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, - 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, - 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, - 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, - 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, - 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, - 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, - 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, - 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, - 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, - 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, - 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, - 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, - 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, - 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, - 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, - 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, - 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, - 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, - 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, - 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, - 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, - 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, - 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, - 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, - 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, - 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, - 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, - 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, - 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, - 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, - 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, - 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, - 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, - 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, - 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, - 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, - 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, - 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, - 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, - 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, - 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, - 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, - 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, - 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, - 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, - 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, - 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, - 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, - 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, - 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, - 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, - 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, - 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, - 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, - 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, - 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, - 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, - 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, - 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, - 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, - 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, - 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, - 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, - 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, - 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, - 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, - 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, - 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, - 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, - 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, - 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, - 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, - 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, - 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, - 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, - 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, - 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, - 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, - 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, - 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, - 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, - 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, - 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, - 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, - 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, - 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, - 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, - 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, - 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, - 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, - 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, - 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, - 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, - 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, - 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, - 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, - 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, - 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, - 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, - 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, - 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, - 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, - 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, - 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, - 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, - 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, - 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, - 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, - 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, - 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, - 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, - 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, - 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, - 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, - 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, - 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, - 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, - 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, - 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, - 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, - 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, - 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, - 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, - 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, - 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, - 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, - 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, - 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, - 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, - 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, - 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, - 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, - 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, - 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, - 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, - 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, - 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, - 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, - 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, - 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, - 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, - 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, - 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, - 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, - 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, - 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, - 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, - 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, - 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, - 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, - 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, - 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, - 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, - 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, - 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, - 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, - 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, - 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, - 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, - 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, - 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, - 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, - 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, - 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, - 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, - 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, - 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, - 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, - 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, - 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, - 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, - 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, - 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, - 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, - 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, - 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, - 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, - 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, - 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, - 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, - 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, - 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, - 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, - 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, - 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, - 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, - 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, - 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, - 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, - 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, - 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, - 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, - 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, - 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, - 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, - 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, - 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, - 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, - 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, - 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, - 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, - 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, - 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, - 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, - 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, - 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, - 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, - 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, - 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, - 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, - 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, - 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, - 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, - 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, - 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, - 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, - 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, - 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, - 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, - 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, - 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, - 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, - 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, - 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, - 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, - 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, - 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, - 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, - 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, - 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, - 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, - 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, - 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, - 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, - 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, - 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, - 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, - 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, - 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, - 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, - 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, - 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, - 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, - 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, - 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, - 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, - 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, - 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, - 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, - 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, - 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, - 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, - 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, - 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, - 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, - 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, - 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, - 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, - 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, - 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, - 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, - 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, - 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, - 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, - 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, - 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, - 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, - 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, - 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, - 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, - 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, - 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, - 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, - 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, - 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, - 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, - 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, - 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, - 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, - 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, - 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, - 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, - 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, - 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, - 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, - 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, - 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, - 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, - 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, - 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, - 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, - 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, - 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, - 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, - 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, - 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, - 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, - 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, - 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, - 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, - 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, - 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, - 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, - 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, - 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, - 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, - 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, - 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, - 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, - 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, - 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, - 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, - 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, - 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, - 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, - 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, - 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, - 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, - 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, - 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, - 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, - 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, - 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, - 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, - 48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0, - 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, - 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, - 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, - 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, - 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, - 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, - 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, - 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, - 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, - 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, - 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, - 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, - 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, - 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, - 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, - 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, - 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, - 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, - 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, - 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, - 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, - 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, - 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, - 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, - 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, - 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, - 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, - 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, - 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, - 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, - 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, - 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, - 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, - 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, - 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, - 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, - 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, - 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, - 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, - 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, - 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, - 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, - 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, - 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, - 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, - 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, - 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, - 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, - 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, - 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, - 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, - 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, - 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, - 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, - 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, - 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, - 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, - 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, - 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, - 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, - 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, - 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, - 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, - 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, - 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, - 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, - 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, - 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, - 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, - 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, - 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, - 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, - 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, - 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, - 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, - 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, - 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, - 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, - 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, - 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, - 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, - 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, - 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, - 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, - 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, - 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, - 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, - 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, - 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, - 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, - 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, - 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, - 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, - 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, - 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, - 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, - 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, - 31,128,255}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 4, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 4 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01type[1163] U8G_FONT_SECTION("u8g_font_p01type") = { - 0,5,6,0,254,4,1,81,2,129,32,255,254,4,254,5, - 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, - 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, - 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, - 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, - 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, - 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, - 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, - 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, - 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, - 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, - 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, - 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, - 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, - 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, - 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, - 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, - 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, - 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, - 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, - 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, - 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, - 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, - 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, - 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, - 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, - 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, - 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, - 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, - 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, - 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, - 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, - 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, - 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, - 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, - 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, - 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, - 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, - 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, - 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, - 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, - 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, - 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, - 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, - 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, - 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, - 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, - 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, - 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, - 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, - 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, - 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, - 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, - 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, - 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, - 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, - 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, - 192,4,2,2,5,0,1,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,255,1,5,5,2,0, - 255,128,0,128,128,128,255,255,255,255,1,5,5,3,1,255, - 128,128,0,128,128,255,255,255,255,5,5,5,6,0,255,40, - 80,160,80,40,3,2,2,4,0,0,224,32,3,1,1,4, - 0,1,224,255,255,255,3,5,5,4,0,255,64,224,64,0, - 224,255,255,255,255,255,1,1,1,2,0,1,128,255,255,255, - 5,5,5,6,0,255,160,80,40,80,160,255,255,255,4,5, - 5,5,0,255,32,0,96,128,112,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 3,3,3,4,0,0,160,64,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,3,5,5,4,0,255,64,0, - 224,0,64,255,255,255,255,255,255,255,255}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 5 x= 0 y= 1 dx= 5 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 4 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01typen[186] U8G_FONT_SECTION("u8g_font_p01typen") = { - 0,5,6,0,254,5,0,0,0,0,42,58,0,4,255,5, - 0,3,3,3,4,0,0,160,64,160,3,3,3,4,0,0, - 64,224,64,2,2,2,3,0,255,64,128,3,1,1,4,0, - 1,224,1,1,1,2,0,0,128,4,4,4,5,0,255,16, - 32,64,128,3,5,5,4,0,255,96,160,160,160,192,1,5, - 5,2,0,255,128,128,128,128,128,3,5,5,4,0,255,192, - 32,224,128,96,3,5,5,4,0,255,192,32,192,32,192,3, - 5,5,4,0,255,160,160,224,32,32,3,5,5,4,0,255, - 96,128,224,32,192,3,5,5,4,0,255,96,128,224,160,192, - 3,5,5,4,0,255,224,32,32,64,64,3,5,5,4,0, - 255,96,160,224,160,192,3,5,5,4,0,255,96,160,224,32, - 192,1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 - Copyright: Copyright Patrick Lauke 2012 - Capital A Height: 4, '1' Height: 5 - Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 - Font Bounding box w= 5 h= 6 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 4 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_p01typer[938] U8G_FONT_SECTION("u8g_font_p01typer") = { - 0,5,6,0,254,4,1,81,2,129,32,127,254,4,254,5, - 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, - 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, - 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, - 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, - 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, - 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, - 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, - 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, - 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, - 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, - 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, - 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, - 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, - 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, - 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, - 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, - 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, - 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, - 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, - 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, - 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, - 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, - 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, - 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, - 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, - 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, - 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, - 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, - 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, - 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, - 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, - 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, - 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, - 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, - 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, - 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, - 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, - 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, - 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, - 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, - 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, - 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, - 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, - 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, - 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, - 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, - 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, - 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, - 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, - 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, - 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, - 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, - 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, - 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, - 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, - 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, - 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, - 192,4,2,2,5,0,1,80,160,255}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[1140] U8G_FONT_SECTION("u8g_font_pixelle_micro") = { - 0,6,8,255,254,5,1,97,2,188,32,255,254,6,254,6, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, - 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, - 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, - 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, - 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, - 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, - 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, - 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, - 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, - 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, - 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, - 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, - 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, - 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, - 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, - 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, - 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, - 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, - 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, - 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, - 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, - 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, - 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, - 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, - 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, - 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, - 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, - 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, - 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, - 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, - 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, - 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, - 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, - 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, - 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, - 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, - 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, - 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, - 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, - 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, - 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, - 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, - 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, - 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, - 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, - 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, - 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, - 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, - 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, - 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, - 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, - 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, - 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, - 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, - 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, - 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, - 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, - 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, - 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, - 1,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,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,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,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}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 6 x= 0 y= 1 dx= 4 dy= 0 ascent= 6 len= 6 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[189] U8G_FONT_SECTION("u8g_font_pixelle_micron") = { - 0,6,8,255,254,5,0,0,0,0,42,58,0,6,255,5, - 0,3,4,4,4,0,0,64,224,64,160,3,3,3,4,0, - 0,64,224,64,1,2,2,2,0,255,128,128,3,1,1,4, - 0,1,224,1,1,1,2,0,0,128,3,6,6,4,0,0, - 32,32,64,64,128,128,3,5,5,4,0,0,64,160,224,160, - 64,3,5,5,4,0,0,192,64,64,64,224,3,5,5,4, - 0,0,64,160,32,64,224,3,5,5,4,0,0,192,32,64, - 32,192,3,5,5,4,0,0,160,160,224,32,32,3,5,5, - 4,0,0,224,128,224,32,192,3,5,5,4,0,0,64,160, - 192,160,64,3,5,5,4,0,0,224,32,64,64,128,3,5, - 5,4,0,0,64,160,64,160,64,3,5,5,4,0,0,64, - 160,96,160,64,1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 - Copyright: Copyright rdonaghy 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 6 h= 8 x=-1 y=-2 - Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 6 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_FONT_SECTION("u8g_font_pixelle_micror") = { - 0,6,8,255,254,5,1,97,2,188,32,127,254,6,254,6, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, - 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, - 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, - 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, - 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, - 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, - 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, - 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, - 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, - 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, - 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, - 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, - 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, - 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, - 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, - 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, - 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, - 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, - 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, - 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, - 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, - 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, - 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, - 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, - 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, - 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, - 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, - 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, - 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, - 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, - 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, - 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, - 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, - 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, - 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, - 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, - 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, - 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, - 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, - 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, - 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, - 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, - 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, - 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, - 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, - 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, - 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, - 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, - 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, - 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, - 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, - 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, - 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, - 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, - 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, - 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, - 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, - 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, - 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, - 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, - 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, - 1,80,160,255}; -/* - Fontname: ProFont10 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 8 len= 9 - Font Bounding box w= 5 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 = 7 descent=-2 - Max Font ascent = 8 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont10[2560] U8G_FONT_SECTION("u8g_font_profont10") = { - 0,5,9,0,254,6,1,126,2,248,32,255,254,8,254,7, - 254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128, - 128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0, - 1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112, - 40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144, - 4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5, - 2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128, - 64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128, - 4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0, - 1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1, - 5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0, - 254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96, - 144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64, - 224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6, - 5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32, - 96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144, - 96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6, - 5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96, - 144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16, - 96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0, - 254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128, - 64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1, - 0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64, - 0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6, - 6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0, - 224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128, - 144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6, - 6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0, - 240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176, - 144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6, - 6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0, - 16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192, - 160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6, - 6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0, - 144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144, - 144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7, - 7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0, - 0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96, - 16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4, - 6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0, - 0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144, - 240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4, - 6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0, - 0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128, - 128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32, - 32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64, - 192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248, - 2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144, - 176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4, - 4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16, - 112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6, - 6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254, - 112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144, - 144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8, - 8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5, - 0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64, - 64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4, - 4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144, - 144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6, - 6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0, - 160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6, - 6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0, - 144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4, - 4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96, - 96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4, - 4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64, - 64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128, - 128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32, - 64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5, - 0,0,0,0,0,5,0,0,0,0,0,5,0,0,2,3, - 3,5,0,255,64,64,128,3,9,9,5,1,254,32,64,64, - 224,64,64,64,64,128,4,3,3,5,0,255,80,80,160,5, - 1,1,5,0,0,168,3,5,5,5,1,1,64,224,64,64, - 64,3,5,5,5,1,1,64,224,64,224,64,3,2,2,5, - 1,5,64,160,5,6,6,5,0,0,120,208,224,112,248,112, - 4,8,8,5,0,0,80,32,112,128,96,16,144,96,2,3, - 3,5,0,0,64,128,64,4,6,6,5,0,0,112,160,176, - 160,160,112,0,0,0,5,0,0,0,0,0,5,0,0,0, - 0,0,5,0,0,0,0,0,5,0,0,2,3,3,5,2, - 3,64,128,128,2,3,3,5,1,3,64,64,128,4,3,3, - 5,0,3,80,160,160,4,3,3,5,0,3,80,80,160,4, - 4,4,5,0,1,96,240,240,96,2,1,1,5,1,2,192, - 5,1,1,5,0,2,248,4,2,2,5,0,5,80,160,5, - 3,3,5,0,3,248,88,88,4,7,7,5,0,0,80,32, - 0,112,224,16,224,2,3,3,5,0,0,128,64,128,4,4, - 4,5,0,0,112,176,160,80,0,0,0,5,0,0,0,0, - 0,5,0,0,4,8,8,5,0,0,80,0,144,144,160,64, - 64,64,0,0,0,5,0,0,1,6,6,5,2,0,128,0, - 128,128,128,128,4,6,6,5,0,255,32,96,176,192,112,64, - 4,6,6,5,0,0,96,128,192,128,144,224,4,4,4,5, - 0,0,144,96,96,144,3,6,6,5,1,0,160,64,224,64, - 224,64,1,8,8,5,2,255,128,128,128,0,0,128,128,128, - 4,8,8,5,0,255,96,144,64,160,80,32,144,96,2,1, - 1,5,1,5,192,4,6,6,5,0,0,192,32,208,208,32, - 192,3,5,5,5,1,2,96,160,96,0,224,5,3,3,5, - 0,0,72,144,72,4,2,2,5,0,1,240,16,3,1,1, - 5,0,2,224,4,5,5,5,0,1,192,32,208,208,176,2, - 1,1,5,1,5,192,3,3,3,5,1,3,64,160,64,3, - 4,4,5,0,0,64,224,64,224,2,3,3,5,1,4,128, - 64,192,2,3,3,5,1,4,192,64,192,2,1,1,5,2, - 5,192,4,5,5,5,0,255,160,160,160,208,128,4,6,6, - 5,0,0,112,176,176,112,48,48,1,1,1,5,2,2,128, - 2,2,2,5,1,254,192,192,2,3,3,5,1,4,192,64, - 64,3,5,5,5,1,2,64,160,64,0,224,5,3,3,5, - 0,0,144,72,144,5,7,7,5,0,0,192,72,80,32,72, - 152,8,5,7,7,5,0,0,192,72,80,32,80,136,24,5, - 7,7,5,0,0,192,72,208,32,72,152,8,4,6,6,5, - 0,0,32,0,32,64,144,96,4,8,8,5,0,0,64,32, - 96,144,144,240,144,144,4,8,8,5,0,0,32,64,96,144, - 144,240,144,144,4,8,8,5,0,0,32,80,0,96,144,240, - 144,144,4,8,8,5,0,0,80,160,0,96,144,240,144,144, - 4,8,8,5,0,0,80,0,96,144,144,240,144,144,4,8, - 8,5,0,0,32,80,32,96,144,240,144,144,4,6,6,5, - 0,0,112,160,240,160,160,176,4,8,8,5,0,254,96,144, - 128,128,144,96,32,64,4,8,8,5,0,0,64,32,240,128, - 224,128,128,240,4,8,8,5,0,0,32,64,240,128,224,128, - 128,240,4,8,8,5,0,0,32,80,240,128,224,128,128,240, - 4,8,8,5,0,0,80,0,240,128,224,128,128,240,3,8, - 8,5,1,0,128,64,224,64,64,64,64,224,3,8,8,5, - 1,0,32,64,224,64,64,64,64,224,3,8,8,5,1,0, - 64,160,0,224,64,64,64,224,3,8,8,5,1,0,160,0, - 224,64,64,64,64,224,4,6,6,5,0,0,96,80,208,80, - 80,96,4,8,8,5,0,0,80,160,144,208,176,144,144,144, - 4,8,8,5,0,0,64,32,96,144,144,144,144,96,4,8, - 8,5,0,0,32,64,96,144,144,144,144,96,4,8,8,5, - 0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0, - 80,160,0,96,144,144,144,96,4,8,8,5,0,0,80,0, - 96,144,144,144,144,96,3,3,3,5,0,1,160,64,160,4, - 6,6,5,0,0,96,144,176,208,144,96,4,8,8,5,0, - 0,64,32,144,144,144,144,144,96,4,8,8,5,0,0,32, - 64,144,144,144,144,144,96,4,8,8,5,0,0,32,80,0, - 144,144,144,144,96,4,8,8,5,0,0,80,0,144,144,144, - 144,144,96,4,8,8,5,0,0,32,64,0,144,144,160,64, - 64,4,6,6,5,0,0,128,224,144,224,128,128,4,7,7, - 5,0,255,96,144,160,160,144,160,128,4,7,7,5,0,0, - 64,32,0,112,144,176,80,4,7,7,5,0,0,32,64,0, - 112,144,176,80,4,7,7,5,0,0,32,80,0,112,144,176, - 80,4,7,7,5,0,0,80,160,0,112,144,176,80,4,6, - 6,5,0,0,80,0,112,144,176,80,4,7,7,5,0,0, - 32,80,32,112,144,176,80,4,4,4,5,0,0,112,176,160, - 112,4,6,6,5,0,254,96,144,128,112,32,64,4,7,7, - 5,0,0,64,32,0,96,240,128,112,4,7,7,5,0,0, - 32,64,0,96,240,128,112,4,7,7,5,0,0,32,80,0, - 96,240,128,112,4,6,6,5,0,0,80,0,96,240,128,112, - 3,7,7,5,1,0,128,64,0,192,64,64,224,3,7,7, - 5,1,0,64,128,0,192,64,64,224,3,7,7,5,1,0, - 64,160,0,192,64,64,224,3,6,6,5,1,0,160,0,192, - 64,64,224,4,7,7,5,0,0,192,192,32,112,144,144,96, - 4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7, - 5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0, - 32,64,0,96,144,144,96,4,7,7,5,0,0,32,80,0, - 96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144, - 96,4,6,6,5,0,0,80,0,96,144,144,96,3,5,5, - 5,0,0,64,0,224,0,64,4,4,4,5,0,0,96,176, - 208,96,4,7,7,5,0,0,64,32,0,144,144,176,80,4, - 7,7,5,0,0,32,64,0,144,144,176,80,4,7,7,5, - 0,0,32,80,0,144,144,176,80,4,6,6,5,0,0,80, - 0,144,144,176,80,4,9,9,5,0,254,16,32,0,144,144, - 144,112,16,96,4,8,8,5,0,254,128,128,224,144,144,224, - 128,128,4,8,8,5,0,254,80,0,144,144,144,112,16,96 - }; -/* - Fontname: ProFont10 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 7 len= 9 - Font Bounding box w= 5 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 = 7 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont10r[1106] U8G_FONT_SECTION("u8g_font_profont10r") = { - 0,5,9,0,254,6,1,126,2,248,32,127,254,7,254,7, - 254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128, - 128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0, - 1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112, - 40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144, - 4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5, - 2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128, - 64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128, - 4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0, - 1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1, - 5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0, - 254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96, - 144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64, - 224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6, - 5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32, - 96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144, - 96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6, - 5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96, - 144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16, - 96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0, - 254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128, - 64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1, - 0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64, - 0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6, - 6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0, - 224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128, - 144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6, - 6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0, - 240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176, - 144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6, - 6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0, - 16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192, - 160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6, - 6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0, - 144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144, - 144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7, - 7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0, - 0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96, - 16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4, - 6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0, - 0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144, - 240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4, - 6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0, - 0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128, - 128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32, - 32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64, - 192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248, - 2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144, - 176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4, - 4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16, - 112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6, - 6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254, - 112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144, - 144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8, - 8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5, - 0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64, - 64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4, - 4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144, - 144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6, - 6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0, - 160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6, - 6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0, - 144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4, - 4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96, - 96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4, - 4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64, - 64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128, - 128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32, - 64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5, - 0,0}; -/* - Fontname: ProFont11 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h=11 x= 3 y= 6 dx= 6 dy= 0 ascent= 9 len=11 - Font Bounding box w= 6 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont11[2768] U8G_FONT_SECTION("u8g_font_profont11") = { - 0,6,10,0,254,7,1,158,3,55,32,255,254,9,254,8, - 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,5,160,160,160,5,5,5, - 6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112, - 168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176, - 80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144, - 104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255, - 32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128, - 64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168, - 112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4, - 4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2, - 2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16, - 16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152, - 168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32, - 248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7, - 7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0, - 0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128, - 240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136, - 136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5, - 7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6, - 0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192, - 192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,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,8,16,32,0, - 32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7, - 7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0, - 0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136, - 128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136, - 136,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,152,136,136,112,5,7,7,6,0,0,136, - 136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32, - 32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112, - 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,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168, - 152,136,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,136,136,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,32,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,136, - 80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128, - 248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192, - 5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8, - 2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5, - 3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5, - 5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0, - 8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248, - 128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5, - 7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6, - 0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64, - 0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32, - 32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224, - 144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5, - 5,5,6,0,0,240,168,168,168,168,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,240,136,136,136,240,128,128,5,7,7, - 6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0, - 176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240, - 4,7,7,6,1,0,64,64,224,64,64,64,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,168,168,168,168,80,5,5, - 5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136, - 136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64, - 248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64, - 64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128, - 128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64, - 64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0, - 0,0,0,6,0,0,0,0,0,6,0,0,2,3,3,6, - 0,255,64,64,128,5,11,11,6,0,254,24,32,32,32,112, - 32,32,32,32,32,192,4,3,3,6,0,255,80,80,160,5, - 1,1,6,0,0,168,3,5,5,6,1,2,64,224,64,64, - 64,3,5,5,6,1,2,64,224,64,224,64,3,2,2,6, - 1,6,64,160,6,8,8,6,0,0,124,168,176,96,104,212, - 84,40,5,9,9,6,0,0,80,32,112,136,128,112,8,136, - 112,2,4,4,6,0,0,64,128,128,64,5,7,7,6,0, - 0,120,160,160,176,160,160,120,0,0,0,6,0,0,0,0, - 0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0, - 2,3,3,6,2,4,64,128,128,2,3,3,6,2,4,64, - 64,128,4,3,3,6,1,4,80,160,160,4,3,3,6,1, - 4,80,80,160,5,5,5,6,0,1,112,248,248,248,112,3, - 1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2, - 6,0,6,104,176,6,3,3,6,0,4,244,92,92,5,8, - 8,6,0,0,80,32,0,120,128,112,8,240,2,4,4,6, - 0,0,128,64,64,128,5,5,5,6,0,0,80,168,184,160, - 88,0,0,0,6,0,0,0,0,0,6,0,0,5,9,9, - 6,0,0,80,0,136,136,136,80,32,32,32,0,0,0,6, - 0,0,1,7,7,6,3,0,128,0,128,128,128,128,128,5, - 7,7,6,0,255,32,112,168,160,160,120,32,5,8,8,6, - 0,0,96,144,128,224,128,128,136,240,5,5,5,6,0,0, - 136,112,80,112,136,5,7,7,6,0,0,136,80,248,32,248, - 32,32,1,9,9,6,2,255,128,128,128,128,0,128,128,128, - 128,5,10,10,6,0,255,112,136,72,160,144,72,40,144,136, - 112,3,1,1,6,1,6,160,5,7,7,6,0,0,224,16, - 104,136,104,16,224,4,6,6,6,1,3,112,144,144,112,0, - 240,5,4,4,6,0,0,72,144,144,72,5,3,3,6,0, - 1,248,8,8,5,1,1,6,0,3,248,5,6,6,6,0, - 1,224,16,200,168,200,176,3,1,1,6,1,6,224,4,4, - 4,6,1,4,96,144,144,96,5,6,6,6,0,0,32,32, - 248,32,32,248,3,4,4,6,1,5,192,32,64,224,3,5, - 5,6,1,4,192,32,96,32,192,3,2,2,6,2,6,96, - 192,5,7,7,6,0,254,144,144,144,144,232,128,128,5,8, - 8,6,0,0,120,168,168,168,120,40,40,40,2,2,2,6, - 2,2,192,192,3,3,3,6,1,254,224,96,192,3,4,4, - 6,1,5,192,64,64,224,4,6,6,6,1,3,96,144,144, - 96,0,240,5,4,4,6,0,0,144,72,72,144,6,9,9, - 6,0,0,192,64,68,232,16,40,88,184,8,6,9,9,6, - 0,0,192,64,68,232,16,56,68,136,28,6,9,9,6,0, - 0,192,32,100,40,208,40,88,184,8,5,7,7,6,0,0, - 32,0,32,64,128,136,112,5,9,9,6,0,0,64,32,32, - 80,80,136,248,136,136,5,9,9,6,0,0,16,32,32,80, - 80,136,248,136,136,5,9,9,6,0,0,32,80,0,32,80, - 136,248,136,136,5,9,9,6,0,0,104,176,32,80,80,136, - 248,136,136,5,9,9,6,0,0,80,0,32,80,80,136,248, - 136,136,5,9,9,6,0,0,32,80,32,80,136,136,248,136, - 136,5,7,7,6,0,0,120,160,160,240,160,160,184,5,9, - 9,6,0,254,112,136,128,128,128,136,112,32,64,5,9,9, - 6,0,0,64,32,248,128,128,240,128,128,248,5,9,9,6, - 0,0,16,32,248,128,128,240,128,128,248,5,9,9,6,0, - 0,32,80,248,128,128,240,128,128,248,5,9,9,6,0,0, - 80,0,248,128,128,240,128,128,248,5,9,9,6,0,0,64, - 32,248,32,32,32,32,32,248,5,9,9,6,0,0,16,32, - 248,32,32,32,32,32,248,5,9,9,6,0,0,32,80,0, - 248,32,32,32,32,248,5,9,9,6,0,0,80,0,248,32, - 32,32,32,32,248,5,7,7,6,0,0,112,72,72,232,72, - 72,112,5,9,9,6,0,0,104,176,136,200,168,152,136,136, - 136,5,9,9,6,0,0,64,32,112,136,136,136,136,136,112, - 5,9,9,6,0,0,16,32,112,136,136,136,136,136,112,5, - 9,9,6,0,0,32,80,0,112,136,136,136,136,112,5,9, - 9,6,0,0,104,176,112,136,136,136,136,136,112,5,9,9, - 6,0,0,80,0,112,136,136,136,136,136,112,5,5,5,6, - 0,1,136,80,32,80,136,5,7,7,6,0,0,112,136,152, - 168,200,136,112,5,9,9,6,0,0,64,32,136,136,136,136, - 136,136,112,5,9,9,6,0,0,16,32,136,136,136,136,136, - 136,112,5,9,9,6,0,0,32,80,0,136,136,136,136,136, - 112,5,9,9,6,0,0,80,0,136,136,136,136,136,136,112, - 5,9,9,6,0,0,16,32,136,136,136,80,32,32,32,5, - 7,7,6,0,0,128,240,136,136,240,128,128,5,9,9,6, - 0,255,48,72,136,144,144,136,136,176,128,5,8,8,6,0, - 0,32,16,0,120,136,136,152,104,5,8,8,6,0,0,16, - 32,0,120,136,136,152,104,5,8,8,6,0,0,32,80,0, - 120,136,136,152,104,5,8,8,6,0,0,104,176,0,120,136, - 136,152,104,5,7,7,6,0,0,80,0,120,136,136,152,104, - 5,8,8,6,0,0,32,80,32,120,136,136,152,104,5,5, - 5,6,0,0,112,168,184,160,120,5,7,7,6,0,254,112, - 136,128,128,120,32,64,5,8,8,6,0,0,64,32,0,112, - 136,248,128,120,5,8,8,6,0,0,16,32,0,112,136,248, - 128,120,5,8,8,6,0,0,32,80,0,112,136,248,128,120, - 5,7,7,6,0,0,80,0,112,136,248,128,120,3,8,8, - 6,1,0,128,64,0,192,64,64,64,224,3,8,8,6,1, - 0,32,64,0,192,64,64,64,224,3,8,8,6,1,0,64, - 160,0,192,64,64,64,224,3,7,7,6,1,0,160,0,192, - 64,64,64,224,5,8,8,6,0,0,96,96,16,120,136,136, - 136,112,5,8,8,6,0,0,104,176,0,176,200,136,136,136, - 5,8,8,6,0,0,64,32,0,112,136,136,136,112,5,8, - 8,6,0,0,16,32,0,112,136,136,136,112,5,8,8,6, - 0,0,32,80,0,112,136,136,136,112,5,8,8,6,0,0, - 104,176,0,112,136,136,136,112,5,7,7,6,0,0,80,0, - 112,136,136,136,112,5,5,5,6,0,1,32,0,248,0,32, - 5,5,5,6,0,0,112,152,168,200,112,5,8,8,6,0, - 0,64,32,0,136,136,136,152,104,5,8,8,6,0,0,16, - 32,0,136,136,136,152,104,5,8,8,6,0,0,32,80,0, - 136,136,136,152,104,5,7,7,6,0,0,80,0,136,136,136, - 152,104,5,10,10,6,0,254,16,32,0,136,136,136,136,120, - 8,112,5,9,9,6,0,254,128,128,240,136,136,136,240,128, - 128,5,9,9,6,0,254,80,0,136,136,136,136,120,8,112 - }; -/* - Fontname: ProFont11 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h=11 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=11 - Font Bounding box w= 6 h=10 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 8 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont11r[1200] U8G_FONT_SECTION("u8g_font_profont11r") = { - 0,6,10,0,254,7,1,158,3,55,32,127,254,9,254,8, - 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,5,160,160,160,5,5,5, - 6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112, - 168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176, - 80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144, - 104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255, - 32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128, - 64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168, - 112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4, - 4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2, - 2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16, - 16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152, - 168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32, - 248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7, - 7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0, - 0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128, - 240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136, - 136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5, - 7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6, - 0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192, - 192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,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,8,16,32,0, - 32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7, - 7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0, - 0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136, - 128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136, - 136,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,152,136,136,112,5,7,7,6,0,0,136, - 136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32, - 32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112, - 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,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168, - 152,136,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,136,136,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,32,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,136, - 80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128, - 248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192, - 5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8, - 2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5, - 3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5, - 5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0, - 8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248, - 128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5, - 7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6, - 0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64, - 0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32, - 32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224, - 144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5, - 5,5,6,0,0,240,168,168,168,168,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,240,136,136,136,240,128,128,5,7,7, - 6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0, - 176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240, - 4,7,7,6,1,0,64,64,224,64,64,64,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,168,168,168,168,80,5,5, - 5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136, - 136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64, - 248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64, - 64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128, - 128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64, - 64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0 - }; -/* - Fontname: ProFont12 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w= 6 h=12 x= 3 y= 7 dx= 6 dy= 0 ascent=10 len=12 - Font Bounding box w= 6 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent =10 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont12[2907] U8G_FONT_SECTION("u8g_font_profont12") = { - 0,6,11,0,254,8,1,178,3,103,32,255,254,10,254,9, - 254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128, - 128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5, - 5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32, - 112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120, - 168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160, - 64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10, - 10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10, - 10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5, - 5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32, - 32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1, - 1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10, - 6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8, - 6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0, - 0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112, - 136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8, - 48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248, - 16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136, - 112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5, - 8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8, - 6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0, - 0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192, - 192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192, - 192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16, - 5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128, - 64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8, - 16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128, - 128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136, - 5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8, - 8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6, - 0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0, - 248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128, - 128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128, - 152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136, - 136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248, - 5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8, - 8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6, - 0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0, - 136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200, - 168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136, - 136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128, - 128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112, - 8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5, - 8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8, - 6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0, - 0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136, - 136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136, - 136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32, - 80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32, - 32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2, - 10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5, - 10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2, - 10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5, - 3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240, - 5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0, - 0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112, - 136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64, - 64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5, - 8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8, - 6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0, - 254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0, - 0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192, - 64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168, - 168,168,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,240,136, - 136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120, - 8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5, - 6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64, - 64,224,64,64,64,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,168,168,168,168,80,5,5,5,6,0,0,136,80,32, - 80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5, - 5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254, - 32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2, - 255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1, - 254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6, - 0,4,104,176,0,0,0,6,0,0,0,0,0,6,0,0, - 0,0,0,6,0,0,2,3,3,6,0,255,64,64,128,5, - 12,12,6,0,254,24,32,32,32,32,112,32,32,32,32,32, - 192,4,3,3,6,0,255,80,80,160,5,1,1,6,0,0, - 168,3,6,6,6,1,2,64,224,64,64,64,64,3,6,6, - 6,1,2,64,224,64,64,224,64,3,2,2,6,1,7,64, - 160,6,9,9,6,0,0,124,164,168,80,32,104,212,84,40, - 5,10,10,6,0,0,80,32,112,136,128,112,8,8,136,112, - 2,4,4,6,0,0,64,128,128,64,5,8,8,6,0,0, - 120,160,160,176,160,160,160,120,0,0,0,6,0,0,0,0, - 0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0, - 2,3,3,6,2,5,64,128,128,2,3,3,6,2,5,64, - 64,128,4,3,3,6,1,5,80,160,160,4,3,3,6,1, - 5,80,80,160,5,5,5,6,0,2,112,248,248,248,112,3, - 1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2, - 6,0,7,104,176,6,3,3,6,0,5,244,92,92,5,9, - 9,6,0,0,80,32,0,0,120,128,112,8,240,2,4,4, - 6,0,0,128,64,64,128,5,5,5,6,0,0,80,168,184, - 160,88,0,0,0,6,0,0,0,0,0,6,0,0,5,10, - 10,6,0,0,80,0,0,136,136,136,80,32,32,32,0,0, - 0,6,0,0,1,8,8,6,3,0,128,0,128,128,128,128, - 128,128,5,7,7,6,0,255,32,112,168,160,160,120,32,5, - 9,9,6,0,0,96,144,128,224,128,128,128,136,240,5,5, - 5,6,0,1,136,112,80,112,136,5,8,8,6,0,0,136, - 80,248,32,248,32,32,32,1,10,10,6,2,255,128,128,128, - 128,0,0,128,128,128,128,5,11,11,6,0,255,112,136,72, - 160,144,136,72,40,144,136,112,3,1,1,6,1,7,160,5, - 8,8,6,0,0,224,16,104,136,136,104,16,224,4,7,7, - 6,1,3,112,144,144,112,0,0,240,5,4,4,6,0,0, - 72,144,144,72,5,3,3,6,0,2,248,8,8,5,1,1, - 6,0,3,248,5,7,7,6,0,1,224,16,200,168,168,200, - 176,3,1,1,6,1,7,224,4,4,4,6,1,5,96,144, - 144,96,5,6,6,6,0,1,32,32,248,32,32,248,3,4, - 4,6,1,6,192,32,64,224,3,5,5,6,1,5,192,32, - 96,32,192,4,2,2,6,2,7,112,224,5,7,7,6,0, - 254,144,144,144,144,232,128,128,5,9,9,6,0,0,120,168, - 168,168,120,40,40,40,40,2,2,2,6,2,3,192,192,4, - 3,3,6,1,254,240,112,224,3,4,4,6,1,6,192,64, - 64,224,4,7,7,6,1,3,96,144,144,96,0,0,240,5, - 4,4,6,0,0,144,72,72,144,6,10,10,6,0,0,192, - 64,68,232,16,32,72,152,56,8,6,10,10,6,0,0,192, - 64,68,232,16,32,88,132,8,28,6,10,10,6,0,0,192, - 32,100,40,208,32,72,152,56,8,5,8,8,6,0,0,32, - 0,32,64,128,128,136,112,5,10,10,6,0,0,64,32,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,16,32,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,0, - 32,80,80,136,248,136,136,5,10,10,6,0,0,104,176,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,80,0,32, - 80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,32, - 80,80,136,136,248,136,136,5,8,8,6,0,0,120,160,160, - 240,160,160,160,184,5,10,10,6,0,254,112,136,128,128,128, - 128,136,112,32,64,5,10,10,6,0,0,64,32,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,16,32,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,32,80,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,80,0,248,128,128, - 240,128,128,128,248,5,10,10,6,0,0,64,32,248,32,32, - 32,32,32,32,248,5,10,10,6,0,0,16,32,248,32,32, - 32,32,32,32,248,5,10,10,6,0,0,32,80,0,248,32, - 32,32,32,32,248,5,10,10,6,0,0,80,0,248,32,32, - 32,32,32,32,248,6,8,8,6,0,0,120,68,68,228,68, - 68,68,120,5,10,10,6,0,0,104,176,136,200,168,152,136, - 136,136,136,5,10,10,6,0,0,64,32,112,136,136,136,136, - 136,136,112,5,10,10,6,0,0,16,32,112,136,136,136,136, - 136,136,112,5,10,10,6,0,0,32,80,0,112,136,136,136, - 136,136,112,5,10,10,6,0,0,104,176,112,136,136,136,136, - 136,136,112,5,10,10,6,0,0,80,0,112,136,136,136,136, - 136,136,112,5,5,5,6,0,2,136,80,32,80,136,5,8, - 8,6,0,0,112,136,152,168,200,136,136,112,5,10,10,6, - 0,0,64,32,136,136,136,136,136,136,136,112,5,10,10,6, - 0,0,16,32,136,136,136,136,136,136,136,112,5,10,10,6, - 0,0,32,80,0,136,136,136,136,136,136,112,5,10,10,6, - 0,0,80,0,136,136,136,136,136,136,136,112,5,10,10,6, - 0,0,16,32,136,136,136,136,80,32,32,32,5,8,8,6, - 0,0,128,240,136,136,136,240,128,128,5,10,10,6,0,255, - 48,72,136,144,144,136,136,136,176,128,5,9,9,6,0,0, - 32,16,0,0,120,136,136,152,104,5,9,9,6,0,0,16, - 32,0,0,120,136,136,152,104,5,9,9,6,0,0,32,80, - 0,0,120,136,136,152,104,5,9,9,6,0,0,104,176,0, - 0,120,136,136,152,104,5,8,8,6,0,0,80,0,0,120, - 136,136,152,104,5,9,9,6,0,0,32,80,32,0,120,136, - 136,152,104,5,5,5,6,0,0,112,168,184,160,120,5,7, - 7,6,0,254,112,136,128,128,120,32,64,5,9,9,6,0, - 0,64,32,0,0,112,136,248,128,120,5,9,9,6,0,0, - 16,32,0,0,112,136,248,128,120,5,9,9,6,0,0,32, - 80,0,0,112,136,248,128,120,5,8,8,6,0,0,80,0, - 0,112,136,248,128,120,3,9,9,6,1,0,128,64,0,0, - 192,64,64,64,224,3,9,9,6,1,0,32,64,0,0,192, - 64,64,64,224,3,9,9,6,1,0,64,160,0,0,192,64, - 64,64,224,3,8,8,6,1,0,160,0,0,192,64,64,64, - 224,5,9,9,6,0,0,96,96,16,8,120,136,136,136,112, - 5,9,9,6,0,0,104,176,0,0,176,200,136,136,136,5, - 9,9,6,0,0,64,32,0,0,112,136,136,136,112,5,9, - 9,6,0,0,16,32,0,0,112,136,136,136,112,5,9,9, - 6,0,0,32,80,0,0,112,136,136,136,112,5,9,9,6, - 0,0,104,176,0,0,112,136,136,136,112,5,8,8,6,0, - 0,80,0,0,112,136,136,136,112,5,5,5,6,0,1,32, - 0,248,0,32,5,5,5,6,0,0,112,152,168,200,112,5, - 9,9,6,0,0,64,32,0,0,136,136,136,152,104,5,9, - 9,6,0,0,16,32,0,0,136,136,136,152,104,5,9,9, - 6,0,0,32,80,0,0,136,136,136,152,104,5,8,8,6, - 0,0,80,0,0,136,136,136,152,104,5,11,11,6,0,254, - 16,32,0,0,136,136,136,136,120,8,112,5,10,10,6,0, - 254,128,128,128,240,136,136,136,240,128,128,5,10,10,6,0, - 254,80,0,0,136,136,136,136,120,8,112}; -/* - Fontname: ProFont12 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 8, '1' Height: 8 - Calculated Max Values w= 6 h=11 x= 2 y= 7 dx= 6 dy= 0 ascent= 9 len=11 - Font Bounding box w= 6 h=11 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent=-2 - X Font ascent = 9 descent=-2 - Max Font ascent = 9 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont12r[1258] U8G_FONT_SECTION("u8g_font_profont12r") = { - 0,6,11,0,254,8,1,178,3,103,32,127,254,9,254,9, - 254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128, - 128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5, - 5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32, - 112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120, - 168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160, - 64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10, - 10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10, - 10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5, - 5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32, - 32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1, - 1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10, - 6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8, - 6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0, - 0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112, - 136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8, - 48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248, - 16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136, - 112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5, - 8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8, - 6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0, - 0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192, - 192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192, - 192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16, - 5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128, - 64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8, - 16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128, - 128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136, - 5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8, - 8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6, - 0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0, - 248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128, - 128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128, - 152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136, - 136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248, - 5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8, - 8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6, - 0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0, - 136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200, - 168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136, - 136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128, - 128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112, - 8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5, - 8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8, - 6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0, - 0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136, - 136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136, - 136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32, - 80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32, - 32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2, - 10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5, - 10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2, - 10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5, - 3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2, - 2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136, - 152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240, - 5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0, - 0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112, - 136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64, - 64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5, - 8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8, - 6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0, - 254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0, - 0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192, - 64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168, - 168,168,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,240,136, - 136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120, - 8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5, - 6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64, - 64,224,64,64,64,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,168,168,168,168,80,5,5,5,6,0,0,136,80,32, - 80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5, - 5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254, - 32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2, - 255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1, - 254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6, - 0,4,104,176,0,0,0,6,0,0}; -/* - Fontname: ProFont15 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=15 x= 4 y= 8 dx= 7 dy= 0 ascent=12 len=15 - Font Bounding box w= 7 h=14 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont15[3186] U8G_FONT_SECTION("u8g_font_profont15") = { - 0,7,14,0,253,9,1,217,3,175,32,255,253,12,253,11, - 253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128, - 128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144, - 6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7, - 0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7, - 9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9, - 9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4, - 7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64, - 128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254, - 128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6, - 7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32, - 32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4, - 1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12, - 12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128, - 6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7, - 9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9, - 9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9, - 7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7, - 0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0, - 0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0, - 120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252, - 4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132, - 132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132, - 132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0, - 0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96, - 32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32, - 16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0, - 0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0, - 120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48, - 48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132, - 132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128, - 128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132, - 132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248, - 128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128, - 128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132, - 132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132, - 132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254, - 6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6, - 9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9, - 9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9, - 7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7, - 0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0, - 0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0, - 248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120, - 132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248, - 132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132, - 128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16, - 16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132, - 132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68, - 40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146, - 170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72, - 132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16, - 16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252, - 3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128, - 128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16, - 8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32, - 32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7, - 1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6, - 6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0, - 0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0, - 120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124, - 132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128, - 124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6, - 9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9, - 9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12, - 7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6, - 9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9, - 9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6, - 7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152, - 164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132, - 120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6, - 6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0, - 0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64, - 224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140, - 148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6, - 6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0, - 132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132, - 132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64, - 252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64, - 64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192, - 32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2, - 2,7,0,4,100,152,0,0,0,7,0,0,0,0,0,7, - 0,0,0,0,0,7,0,0,2,4,4,7,0,255,64,64, - 64,128,7,14,14,7,0,254,6,8,16,16,16,56,16,16, - 16,16,16,16,32,192,5,4,4,7,0,255,72,72,72,144, - 7,1,1,7,0,0,146,3,6,6,7,2,3,64,224,64, - 64,64,64,3,6,6,7,2,3,64,224,64,64,224,64,5, - 3,3,7,1,8,32,80,136,7,10,10,7,0,0,126,164, - 168,176,96,84,170,42,42,20,6,12,12,7,0,0,68,40, - 16,120,132,128,128,120,4,4,132,120,2,5,5,7,0,0, - 64,128,128,128,64,6,9,9,7,0,0,124,144,144,144,152, - 144,144,144,124,0,0,0,7,0,0,0,0,0,7,0,0, - 0,0,0,7,0,0,0,0,0,7,0,0,2,4,4,7, - 3,5,64,128,128,128,2,4,4,7,3,5,64,64,64,128, - 5,4,4,7,1,5,72,144,144,144,5,4,4,7,1,5, - 72,72,72,144,6,6,6,7,0,2,48,120,252,252,120,48, - 4,1,1,7,1,3,240,7,1,1,7,0,3,254,6,2, - 2,7,0,8,100,152,7,4,4,7,0,5,242,94,82,82, - 6,11,11,7,0,0,68,40,16,0,0,124,128,120,4,4, - 248,2,5,5,7,0,0,128,64,64,64,128,6,6,6,7, - 0,0,104,148,156,144,144,108,0,0,0,7,0,0,0,0, - 0,7,0,0,7,12,12,7,0,0,68,0,0,130,130,130, - 68,40,16,16,16,16,0,0,0,7,0,0,1,9,9,7, - 4,0,128,0,128,128,128,128,128,128,128,5,10,10,7,0, - 254,32,32,112,168,160,160,160,120,32,32,6,11,11,7,0, - 0,96,144,128,128,240,128,128,128,132,136,240,7,7,7,7, - 0,0,130,68,56,40,56,68,130,7,10,10,7,0,0,130, - 68,40,254,16,16,254,16,16,16,1,13,13,7,3,254,128, - 128,128,128,128,0,0,0,128,128,128,128,128,6,13,13,7, - 0,255,120,132,132,68,160,144,72,36,20,136,132,132,120,4, - 1,1,7,1,8,144,6,9,9,7,0,0,240,8,116,132, - 132,132,116,8,240,5,8,8,7,1,4,120,136,136,136,120, - 0,0,248,6,5,5,7,0,0,68,136,136,136,68,6,4, - 4,7,0,1,252,4,4,4,5,1,1,7,0,3,248,6, - 8,8,7,0,1,240,8,100,148,148,228,148,136,4,1,1, - 7,1,8,240,5,5,5,7,1,6,112,136,136,136,112,5, - 6,6,7,0,1,32,32,248,32,32,248,4,5,5,7,1, - 7,96,144,32,64,240,4,5,5,7,1,7,96,144,32,144, - 96,3,3,3,7,3,8,96,224,192,6,9,9,7,0,253, - 136,136,136,136,136,244,128,128,128,6,10,10,7,0,0,60, - 84,148,148,84,60,20,20,20,20,2,2,2,7,3,3,192, - 192,2,3,3,7,2,254,192,64,128,3,5,5,7,2,7, - 192,64,64,64,224,5,8,8,7,1,4,112,136,136,136,112, - 0,0,248,6,5,5,7,0,0,136,68,68,68,136,7,12, - 12,7,0,0,96,32,32,34,116,8,16,36,76,148,30,4, - 7,12,12,7,0,0,96,32,32,34,116,8,16,44,82,132, - 8,30,7,12,12,7,0,0,96,144,32,146,100,8,16,36, - 76,148,30,4,6,9,9,7,0,0,16,0,16,32,64,128, - 128,132,120,6,12,12,7,0,0,64,32,16,48,48,72,72, - 132,252,132,132,132,6,12,12,7,0,0,8,16,32,48,48, - 72,72,132,252,132,132,132,6,12,12,7,0,0,16,40,68, - 48,48,72,72,132,252,132,132,132,6,12,12,7,0,0,100, - 152,0,48,48,72,72,132,252,132,132,132,6,12,12,7,0, - 0,72,0,0,48,48,72,72,132,252,132,132,132,6,12,12, - 7,0,0,48,72,72,48,48,72,72,132,252,132,132,132,6, - 9,9,7,0,0,124,144,144,144,248,144,144,144,156,6,11, - 11,7,0,254,120,132,128,128,128,128,128,132,120,16,32,6, - 12,12,7,0,0,64,32,16,252,128,128,128,248,128,128,128, - 252,6,12,12,7,0,0,8,16,32,252,128,128,128,248,128, - 128,128,252,6,12,12,7,0,0,16,40,68,252,128,128,128, - 248,128,128,128,252,6,12,12,7,0,0,72,0,0,252,128, - 128,128,248,128,128,128,252,7,12,12,7,0,0,64,32,16, - 254,16,16,16,16,16,16,16,254,7,12,12,7,0,0,4, - 8,16,254,16,16,16,16,16,16,16,254,7,12,12,7,0, - 0,16,40,68,254,16,16,16,16,16,16,16,254,7,12,12, - 7,0,0,72,0,0,254,16,16,16,16,16,16,16,254,6, - 9,9,7,0,0,120,68,68,68,228,68,68,68,120,6,12, - 12,7,0,0,100,152,0,132,196,164,148,140,132,132,132,132, - 6,12,12,7,0,0,64,32,16,120,132,132,132,132,132,132, - 132,120,6,12,12,7,0,0,8,16,32,120,132,132,132,132, - 132,132,132,120,6,12,12,7,0,0,16,40,68,120,132,132, - 132,132,132,132,132,120,6,12,12,7,0,0,100,152,0,120, - 132,132,132,132,132,132,132,120,6,12,12,7,0,0,72,0, - 0,120,132,132,132,132,132,132,132,120,5,5,5,7,0,2, - 136,80,32,80,136,6,9,9,7,0,0,120,132,140,148,164, - 196,132,132,120,6,12,12,7,0,0,64,32,16,132,132,132, - 132,132,132,132,132,120,6,12,12,7,0,0,8,16,32,132, - 132,132,132,132,132,132,132,120,6,12,12,7,0,0,16,40, - 68,0,132,132,132,132,132,132,132,120,6,12,12,7,0,0, - 72,0,0,132,132,132,132,132,132,132,132,120,7,12,12,7, - 0,0,4,8,16,130,130,130,68,40,16,16,16,16,6,9, - 9,7,0,0,128,248,132,132,132,248,128,128,128,6,11,11, - 7,0,255,56,68,132,136,144,144,136,132,132,152,128,6,11, - 11,7,0,0,64,32,16,0,0,124,132,132,140,148,100,6, - 11,11,7,0,0,4,8,16,0,0,124,132,132,140,148,100, - 6,11,11,7,0,0,16,40,68,0,0,124,132,132,140,148, - 100,6,10,10,7,0,0,100,152,0,0,124,132,132,140,148, - 100,6,9,9,7,0,0,72,0,0,124,132,132,140,148,100, - 6,10,10,7,0,0,48,72,72,48,124,132,132,140,148,100, - 6,6,6,7,0,0,120,164,188,160,160,124,6,8,8,7, - 0,254,120,132,128,128,128,124,16,32,6,11,11,7,0,0, - 64,32,16,0,0,120,132,252,128,128,124,6,11,11,7,0, - 0,4,8,16,0,0,120,132,252,128,128,124,6,11,11,7, - 0,0,16,40,68,0,0,120,132,252,128,128,124,6,9,9, - 7,0,0,72,0,0,120,132,252,128,128,124,4,11,11,7, - 1,0,128,64,32,0,0,96,32,32,32,32,112,4,11,11, - 7,2,0,16,32,64,0,0,192,64,64,64,64,224,5,11, - 11,7,1,0,32,80,136,0,0,96,32,32,32,32,112,4, - 9,9,7,1,0,144,0,0,96,32,32,32,32,112,6,11, - 11,7,0,0,80,32,80,8,4,124,132,132,132,132,120,6, - 10,10,7,0,0,100,152,0,0,152,164,196,132,132,132,6, - 11,11,7,0,0,64,32,16,0,0,120,132,132,132,132,120, - 6,11,11,7,0,0,4,8,16,0,0,120,132,132,132,132, - 120,6,11,11,7,0,0,16,40,68,0,0,120,132,132,132, - 132,120,6,10,10,7,0,0,100,152,0,0,120,132,132,132, - 132,120,6,9,9,7,0,0,72,0,0,120,132,132,132,132, - 120,5,5,5,7,0,1,32,0,248,0,32,6,6,6,7, - 0,0,120,140,148,164,196,120,6,11,11,7,0,0,64,32, - 16,0,0,132,132,132,140,148,100,6,11,11,7,0,0,4, - 8,16,0,0,132,132,132,140,148,100,6,11,11,7,0,0, - 16,40,68,0,0,132,132,132,140,148,100,6,9,9,7,0, - 0,72,0,0,132,132,132,140,148,100,6,14,14,7,0,253, - 4,8,16,0,0,132,132,132,132,132,124,4,4,120,6,12, - 12,7,0,253,128,128,128,248,132,132,132,132,248,128,128,128, - 6,12,12,7,0,253,72,0,0,132,132,132,132,132,124,4, - 4,120}; -/* - Fontname: ProFont15 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 7 h=15 x= 3 y= 8 dx= 7 dy= 0 ascent=12 len=15 - Font Bounding box w= 7 h=14 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-3 - X Font ascent =11 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont15r[1372] U8G_FONT_SECTION("u8g_font_profont15r") = { - 0,7,14,0,253,9,1,217,3,175,32,127,253,12,253,11, - 253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128, - 128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144, - 6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7, - 0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7, - 9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9, - 9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4, - 7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64, - 128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254, - 128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6, - 7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32, - 32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4, - 1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12, - 12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128, - 6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7, - 9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9, - 9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9, - 7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7, - 0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0, - 0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0, - 120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252, - 4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132, - 132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132, - 132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0, - 0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96, - 32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32, - 16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0, - 0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0, - 120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48, - 48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132, - 132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128, - 128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132, - 132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248, - 128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128, - 128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132, - 132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132, - 132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254, - 6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6, - 9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9, - 9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9, - 7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7, - 0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0, - 0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0, - 248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120, - 132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248, - 132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132, - 128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16, - 16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132, - 132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68, - 40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146, - 170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72, - 132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16, - 16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252, - 3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128, - 128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16, - 8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32, - 32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7, - 1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6, - 6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0, - 0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0, - 120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124, - 132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128, - 124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6, - 9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9, - 9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12, - 7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6, - 9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9, - 9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6, - 7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152, - 164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132, - 120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128, - 6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6, - 6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0, - 0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64, - 224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140, - 148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6, - 6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0, - 132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132, - 132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64, - 252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64, - 64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192, - 32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2, - 2,7,0,4,100,152,0,0,0,7,0,0}; -/* - Fontname: ProFont17 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w= 9 h=17 x= 5 y=10 dx=14 dy= 0 ascent=14 len=32 - Font Bounding box w=14 h=16 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =13 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont17[3681] U8G_FONT_SECTION("u8g_font_profont17") = { - 0,14,16,0,253,11,2,35,4,78,32,255,253,14,253,13, - 253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192, - 192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216, - 216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108, - 8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219, - 219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124, - 60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204, - 216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192, - 192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192, - 192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48, - 24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14, - 0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1, - 24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112, - 112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14, - 2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3, - 0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48, - 0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0, - 0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14, - 0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11, - 14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11, - 11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8, - 11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15, - 8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126, - 60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195, - 126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24, - 24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126, - 195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195, - 127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0, - 224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112, - 112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192, - 96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255, - 7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96, - 192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0, - 24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206, - 192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255, - 255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252, - 198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192, - 192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195, - 195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192, - 192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255, - 192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60, - 126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0, - 0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14, - 0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11, - 14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11, - 11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8, - 11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195, - 8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195, - 195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195, - 126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192, - 192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195, - 219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195, - 254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195, - 192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255, - 24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195, - 195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0, - 0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14, - 0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11, - 14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11, - 11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4, - 15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192, - 192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0, - 96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0, - 6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254, - 240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7, - 5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253, - 255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8, - 8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8, - 14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0, - 0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14, - 0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0, - 28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0, - 253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11, - 14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14, - 14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24, - 240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248, - 204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48, - 48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219, - 219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195, - 8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11, - 11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8, - 11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3, - 8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8, - 8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14, - 2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8, - 14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0, - 0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219, - 219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60, - 24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195, - 195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24, - 48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48, - 48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3, - 254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48, - 96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142, - 0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14, - 0,0,4,5,5,14,0,254,48,48,48,96,192,8,17,17, - 14,0,253,7,15,24,24,24,24,60,60,24,24,24,24,24, - 24,24,240,224,7,5,5,14,0,254,54,54,54,108,216,8, - 2,2,14,0,0,219,219,4,9,9,14,2,2,96,96,240, - 240,96,96,96,96,96,4,9,9,14,2,2,96,96,240,240, - 96,240,240,96,96,6,3,3,14,1,10,48,120,204,9,13, - 26,14,0,0,63,128,127,128,217,128,219,0,222,0,124,0, - 56,0,63,0,127,128,214,128,150,128,31,128,15,0,8,14, - 14,14,0,0,102,60,24,60,126,195,192,124,62,7,195,195, - 126,60,4,7,7,14,0,0,48,96,192,192,192,96,48,8, - 11,11,14,0,0,63,127,216,216,220,220,216,216,216,127,63, - 0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14, - 0,0,0,0,0,14,0,0,4,5,5,14,3,6,48,96, - 192,192,192,4,5,5,14,3,6,48,48,48,96,192,7,5, - 5,14,1,6,54,108,216,216,216,7,5,5,14,1,6,54, - 54,54,108,216,7,7,7,14,0,2,56,124,254,254,254,124, - 56,5,2,2,14,2,5,248,248,9,2,4,14,0,5,255, - 128,255,128,8,3,3,14,0,9,113,219,142,9,5,10,14, - 0,6,252,128,39,128,39,128,36,128,36,128,8,13,13,14, - 0,0,102,60,24,0,0,63,255,192,252,63,3,255,252,4, - 7,7,14,0,0,192,96,48,48,48,96,192,8,8,8,14, - 0,0,36,126,219,223,223,216,127,39,0,0,0,14,0,0, - 0,0,0,14,0,0,8,14,14,14,0,0,102,102,0,195, - 195,195,195,231,126,60,24,24,24,24,0,0,0,14,0,0, - 2,11,11,14,5,0,192,192,0,192,192,192,192,192,192,192, - 192,8,12,12,14,0,254,24,24,60,126,219,219,216,216,127, - 63,24,24,8,12,12,14,0,0,120,252,204,192,240,240,192, - 192,192,199,254,252,8,8,8,14,0,0,129,66,60,36,36, - 60,66,129,8,11,11,14,0,0,195,102,60,255,255,24,255, - 255,24,24,24,2,15,15,14,3,254,192,192,192,192,192,192, - 0,0,0,192,192,192,192,192,192,8,16,16,14,0,254,60, - 126,99,99,51,216,204,198,99,51,27,204,198,198,126,60,4, - 2,2,14,2,9,144,240,8,11,11,14,0,0,120,252,134, - 123,251,195,251,123,134,252,120,6,9,9,14,2,5,60,124, - 204,204,124,60,0,252,252,8,7,7,14,0,0,51,102,204, - 204,204,102,51,8,4,4,14,0,2,255,255,3,3,8,2, - 2,14,0,4,255,255,8,10,10,14,0,1,248,252,6,243, - 251,219,243,251,222,204,5,2,2,14,2,9,248,248,6,6, - 6,14,2,6,48,120,204,204,120,48,8,9,9,14,0,0, - 24,24,24,255,255,24,24,255,255,4,6,6,14,2,8,96, - 144,16,32,64,240,4,6,6,14,2,8,96,144,32,16,144, - 96,4,4,4,14,3,9,48,112,224,192,8,11,11,14,0, - 253,204,204,204,204,204,204,255,243,192,192,192,8,13,13,14, - 0,0,63,127,219,219,219,219,127,63,27,27,27,27,27,3, - 3,3,14,3,4,224,224,224,4,5,5,14,1,253,112,112, - 48,96,192,3,6,6,14,3,8,192,64,64,64,64,224,6, - 9,9,14,2,5,48,120,204,204,120,48,0,252,252,8,7, - 7,14,0,0,204,102,51,51,51,102,204,9,14,28,14,0, - 0,96,0,32,0,32,0,32,128,33,0,114,0,4,0,8, - 0,17,0,35,0,69,0,137,0,15,128,1,0,9,14,28, - 14,0,0,96,0,32,0,32,0,32,128,33,0,114,0,4, - 0,8,0,19,0,36,128,64,128,129,0,2,0,7,128,9, - 14,28,14,0,0,48,0,72,0,16,0,8,128,73,0,50, - 0,4,0,8,0,17,0,35,0,69,0,137,0,15,128,1, - 0,8,11,11,14,0,0,24,24,0,8,24,48,96,195,195, - 126,60,8,14,14,14,0,0,96,48,24,24,60,60,102,102, - 195,255,255,195,195,195,8,14,14,14,0,0,6,12,24,24, - 60,60,102,102,195,255,255,195,195,195,8,14,14,14,0,0, - 24,60,102,24,60,60,102,102,195,255,255,195,195,195,8,14, - 14,14,0,0,115,219,142,24,60,60,102,102,195,255,255,195, - 195,195,8,14,14,14,0,0,102,102,0,24,60,60,102,102, - 195,255,255,195,195,195,8,14,14,14,0,0,24,60,36,60, - 24,60,102,102,195,255,255,195,195,195,8,11,11,14,0,0, - 63,127,216,216,252,252,216,216,216,223,223,8,14,14,14,0, - 253,60,126,195,195,192,192,192,195,195,126,60,24,48,96,8, - 14,14,14,0,0,96,48,24,255,255,192,192,252,252,192,192, - 192,255,255,8,14,14,14,0,0,6,12,24,255,255,192,192, - 252,252,192,192,192,255,255,8,14,14,14,0,0,24,60,102, - 255,255,192,192,252,252,192,192,192,255,255,8,14,14,14,0, - 0,102,102,0,255,255,192,192,252,252,192,192,192,255,255,8, - 14,14,14,0,0,96,48,24,255,255,24,24,24,24,24,24, - 24,255,255,8,14,14,14,0,0,6,12,24,255,255,24,24, - 24,24,24,24,24,255,255,8,14,14,14,0,0,24,60,102, - 255,255,24,24,24,24,24,24,24,255,255,8,14,14,14,0, - 0,102,102,0,255,255,24,24,24,24,24,24,24,255,255,8, - 11,11,14,0,0,124,126,99,99,243,243,99,99,99,126,124, - 8,14,14,14,0,0,113,219,142,195,227,243,219,207,199,195, - 195,195,195,195,8,14,14,14,0,0,96,48,24,60,126,195, - 195,195,195,195,195,195,126,60,8,14,14,14,0,0,6,12, - 24,60,126,195,195,195,195,195,195,195,126,60,8,14,14,14, - 0,0,24,60,102,0,60,126,195,195,195,195,195,195,126,60, - 8,14,14,14,0,0,113,219,142,60,126,195,195,195,195,195, - 195,195,126,60,8,14,14,14,0,0,102,102,0,60,126,195, - 195,195,195,195,195,195,126,60,8,7,7,14,0,2,195,102, - 60,24,60,102,195,8,11,11,14,0,0,60,126,195,199,207, - 219,243,227,195,126,60,8,14,14,14,0,0,96,48,24,195, - 195,195,195,195,195,195,195,195,126,60,8,14,14,14,0,0, - 6,12,24,195,195,195,195,195,195,195,195,195,126,60,8,14, - 14,14,0,0,24,60,102,0,195,195,195,195,195,195,195,195, - 126,60,8,14,14,14,0,0,102,102,0,195,195,195,195,195, - 195,195,195,195,126,60,8,14,14,14,0,0,6,12,24,195, - 195,195,195,231,126,60,24,24,24,24,8,11,11,14,0,0, - 192,192,252,254,195,195,254,252,192,192,192,8,15,15,14,0, - 254,28,62,99,195,195,198,204,204,198,195,195,222,220,192,192, - 8,13,13,14,0,0,16,24,12,4,0,63,127,195,195,199, - 207,123,51,8,13,13,14,0,0,4,12,24,16,0,63,127, - 195,195,199,207,123,51,8,12,12,14,0,0,24,60,102,0, - 63,127,195,195,199,207,123,51,8,12,12,14,0,0,113,219, - 142,0,63,127,195,195,199,207,123,51,8,11,11,14,0,0, - 102,102,0,63,127,195,195,199,207,123,51,8,12,12,14,0, - 0,24,36,36,24,63,127,195,195,199,207,123,51,8,8,8, - 14,0,0,60,126,219,223,223,216,127,63,8,11,11,14,0, - 253,60,126,195,195,192,192,127,63,24,48,96,8,13,13,14, - 0,0,32,48,24,8,0,60,126,195,255,255,192,127,63,8, - 13,13,14,0,0,4,12,24,16,0,60,126,195,255,255,192, - 127,63,8,12,12,14,0,0,24,60,102,0,60,126,195,255, - 255,192,127,63,8,11,11,14,0,0,102,102,0,60,126,195, - 255,255,192,127,63,6,13,13,14,1,0,128,192,96,32,0, - 240,240,48,48,48,48,252,252,6,13,13,14,1,0,8,24, - 48,32,0,240,240,48,48,48,48,252,252,6,12,12,14,1, - 0,48,120,204,0,240,240,48,48,48,48,252,252,6,11,11, - 14,1,0,204,204,0,240,240,48,48,48,48,252,252,8,13, - 13,14,0,0,72,48,48,72,4,62,127,195,195,195,195,126, - 60,8,12,12,14,0,0,113,219,142,0,204,222,243,227,195, - 195,195,195,8,13,13,14,0,0,32,48,24,8,0,60,126, - 195,195,195,195,126,60,8,13,13,14,0,0,4,12,24,16, - 0,60,126,195,195,195,195,126,60,8,12,12,14,0,0,24, - 60,102,0,60,126,195,195,195,195,126,60,8,12,12,14,0, - 0,113,219,142,0,60,126,195,195,195,195,126,60,8,11,11, - 14,0,0,102,102,0,60,126,195,195,195,195,126,60,8,8, - 8,14,0,2,24,24,0,255,255,0,24,24,8,8,8,14, - 0,0,60,126,199,207,243,227,126,60,8,13,13,14,0,0, - 32,48,24,8,0,195,195,195,195,199,207,123,51,8,13,13, - 14,0,0,4,12,24,16,0,195,195,195,195,199,207,123,51, - 8,12,12,14,0,0,24,60,102,0,195,195,195,195,199,207, - 123,51,8,11,11,14,0,0,102,102,0,195,195,195,195,199, - 207,123,51,8,16,16,14,0,253,4,12,24,16,0,195,195, - 195,195,195,195,127,63,3,62,60,8,14,14,14,0,253,192, - 192,192,252,254,195,195,195,195,254,252,192,192,192,8,14,14, - 14,0,253,102,102,0,195,195,195,195,195,195,127,63,3,62, - 60}; -/* - Fontname: ProFont17 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w= 9 h=17 x= 3 y= 9 dx=14 dy= 0 ascent=14 len=32 - Font Bounding box w=14 h=16 x= 0 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =11 descent=-3 - X Font ascent =13 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont17r[1590] U8G_FONT_SECTION("u8g_font_profont17r") = { - 0,14,16,0,253,11,2,35,4,78,32,127,253,14,253,13, - 253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192, - 192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216, - 216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108, - 8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219, - 219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124, - 60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204, - 216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192, - 192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192, - 192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48, - 24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14, - 0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1, - 24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112, - 112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14, - 2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3, - 0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48, - 0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0, - 0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14, - 0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11, - 14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11, - 11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8, - 11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15, - 8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126, - 60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195, - 126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24, - 24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126, - 195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195, - 127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0, - 224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112, - 112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192, - 96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255, - 7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96, - 192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0, - 24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206, - 192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255, - 255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252, - 198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192, - 192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195, - 195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192, - 192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255, - 192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60, - 126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0, - 0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14, - 0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11, - 14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11, - 11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8, - 11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195, - 8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195, - 195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195, - 126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192, - 192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195, - 219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195, - 254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195, - 192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255, - 24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195, - 195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0, - 195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0, - 0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14, - 0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11, - 14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11, - 11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4, - 15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192, - 192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0, - 96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0, - 6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254, - 240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7, - 5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253, - 255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8, - 8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8, - 14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0, - 0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14, - 0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0, - 28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0, - 253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14, - 0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11, - 14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14, - 14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24, - 240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248, - 204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48, - 48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219, - 219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195, - 8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11, - 11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8, - 11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3, - 8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8, - 8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14, - 2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8, - 14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0, - 0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219, - 219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60, - 24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195, - 195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24, - 48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48, - 48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3, - 254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48, - 96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142, - 0,0,0,14,0,0}; -/* - Fontname: ProFont22 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=12 h=22 x= 6 y=12 dx=12 dy= 0 ascent=18 len=44 - Font Bounding box w=12 h=21 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =16 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont22[6454] U8G_FONT_SECTION("u8g_font_profont22") = { - 0,12,21,0,252,14,3,117,7,113,32,255,252,18,252,16, - 252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192, - 192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2, - 10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51, - 0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51, - 0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237, - 192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204, - 192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0, - 0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63, - 128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28, - 12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120, - 0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2, - 6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2, - 254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112, - 56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12, - 12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0, - 4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204, - 192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12, - 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5, - 9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2, - 2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96, - 11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128, - 1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0, - 24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14, - 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, - 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, - 10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, - 255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192, - 0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192, - 192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192, - 225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0, - 15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192, - 3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192, - 255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192, - 0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, - 63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12, - 0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128, - 7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14, - 28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128, - 63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0, - 10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, - 63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240, - 240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120, - 120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14, - 28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0, - 4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14, - 12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0, - 192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12, - 0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192, - 192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224, - 0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30, - 0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192, - 192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63, - 0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192, - 0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28, - 12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10, - 14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192, - 192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192, - 192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193, - 192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220, - 0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28, - 12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204, - 192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10, - 14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206, - 192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192, - 0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204, - 192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255, - 128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28, - 12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127, - 0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10, - 14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255, - 192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192, - 192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115, - 128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192, - 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, - 0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0, - 0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28, - 0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18, - 12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96, - 0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6, - 0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0, - 96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0, - 8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4, - 12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112, - 48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192, - 192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20, - 12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192, - 0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63, - 0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127, - 192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48, - 48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127, - 192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63, - 192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192, - 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2, - 0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6, - 18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12, - 12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192, - 0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254, - 0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240, - 240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20, - 12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204, - 192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223, - 128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192, - 192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0, - 252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193, - 192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28, - 12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192, - 192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10, - 10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192, - 0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63, - 192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255, - 128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48, - 48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192, - 192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60, - 192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97, - 128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0, - 0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204, - 192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115, - 128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10, - 14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63, - 0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14, - 0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2, - 252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48, - 48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6, - 22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28, - 28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0, - 6,48,192,124,192,207,128,195,0,0,0,0,12,0,0,0, - 0,0,12,0,0,0,0,0,12,0,0,4,7,7,12,0, - 253,48,48,48,48,112,224,64,10,22,44,12,0,252,3,192, - 7,192,14,0,12,0,12,0,12,0,12,0,12,0,63,0, - 63,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,28,0,248,0,240,0,8,7,7,12,0,253, - 51,51,51,51,119,238,68,10,2,4,12,0,0,204,192,204, - 192,6,10,10,12,2,4,48,48,252,252,48,48,48,48,48, - 48,6,10,10,12,2,4,48,48,252,252,48,48,252,252,48, - 48,6,4,4,12,2,12,48,120,252,204,12,16,32,12,0, - 0,63,240,127,240,204,224,205,192,207,128,207,0,126,0,60, - 0,60,192,127,224,243,48,243,48,179,48,51,48,31,224,12, - 192,10,18,36,12,0,0,51,0,63,0,30,0,12,0,63, - 0,127,128,225,192,192,192,192,0,224,0,127,0,63,128,1, - 192,0,192,192,192,225,192,127,128,63,0,4,10,10,12,0, - 255,48,112,96,224,192,192,224,96,112,48,10,14,28,12,0, - 0,63,192,127,192,236,0,204,0,204,0,204,0,207,0,207, - 0,204,0,204,0,204,0,236,0,127,192,63,192,0,0,0, - 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, - 0,0,12,0,0,4,7,7,12,4,8,32,112,224,192,192, - 192,192,4,7,7,12,4,7,48,48,48,48,112,224,64,8, - 7,7,12,2,8,34,119,238,204,204,204,204,8,7,7,12, - 2,7,51,51,51,51,119,238,68,10,10,20,12,0,2,30, - 0,127,128,127,128,255,192,255,192,255,192,255,192,127,128,127, - 128,30,0,6,2,2,12,2,6,252,252,12,2,4,12,0, - 6,255,240,255,240,10,4,8,12,0,12,48,192,124,192,207, - 128,195,0,12,6,12,12,0,8,255,48,255,240,51,240,51, - 240,51,48,51,48,10,16,32,12,0,0,51,0,63,0,30, - 0,12,0,0,0,0,0,63,192,127,192,192,0,192,0,127, - 0,63,128,0,192,0,192,255,128,255,0,4,10,10,12,0, - 255,192,224,96,112,48,48,112,96,224,192,10,10,20,12,0, - 0,51,0,127,128,204,192,204,192,207,192,207,192,204,0,204, - 0,127,192,51,192,0,0,0,12,0,0,0,0,0,12,0, - 0,10,18,36,12,0,0,51,0,51,0,0,0,0,0,192, - 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, - 0,12,0,12,0,12,0,12,0,12,0,0,0,0,12,0, - 0,2,14,14,12,6,0,192,192,0,0,192,192,192,192,192, - 192,192,192,192,192,10,14,28,12,0,254,12,0,12,0,63, - 0,127,128,237,192,204,192,204,0,204,0,204,0,236,0,127, - 192,63,192,12,0,12,0,10,16,32,12,0,0,60,0,126, - 0,231,0,195,0,192,0,192,0,252,0,252,0,192,0,192, - 0,192,0,192,0,192,192,193,192,255,128,255,0,10,10,20, - 12,0,0,64,128,225,192,127,128,63,0,51,0,51,0,63, - 0,127,128,225,192,64,128,10,14,28,12,0,0,192,192,225, - 192,115,128,63,0,255,192,255,192,12,0,12,0,255,192,255, - 192,12,0,12,0,12,0,12,0,2,18,18,12,4,254,192, - 192,192,192,192,192,192,192,0,0,192,192,192,192,192,192,192, - 192,10,20,40,12,0,254,31,0,127,128,97,192,224,192,112, - 192,56,192,220,0,206,0,199,0,227,128,113,192,56,192,28, - 192,14,192,199,0,195,128,193,192,225,128,127,128,62,0,6, - 2,2,12,2,12,204,204,10,14,28,12,0,0,120,0,254, - 0,135,0,1,128,61,128,124,192,192,192,192,192,124,192,61, - 128,1,128,135,0,254,0,120,0,8,12,12,12,2,6,63, - 127,227,195,195,227,127,63,0,0,255,255,10,10,20,12,0, - 255,48,192,113,192,97,128,227,128,195,0,195,0,227,128,97, - 128,113,192,48,192,10,6,12,12,0,2,255,192,255,192,0, - 192,0,192,0,192,0,192,10,2,4,12,0,6,255,192,255, - 192,10,12,24,12,0,2,120,0,254,0,135,0,1,128,241, - 128,248,192,204,192,204,192,248,192,249,192,223,128,207,0,6, - 2,2,12,2,12,252,252,8,8,8,12,2,8,60,126,231, - 195,195,231,126,60,10,12,24,12,0,0,12,0,12,0,12, - 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,255, - 192,255,192,5,7,7,12,3,11,112,136,8,16,32,64,248, - 5,7,7,12,3,11,112,136,8,48,8,136,112,4,4,4, - 12,4,12,48,112,224,192,10,14,28,12,0,252,195,0,195, - 0,195,0,195,0,195,0,195,0,195,0,199,128,255,192,252, - 192,192,0,192,0,192,0,192,0,10,16,32,12,0,0,31, - 192,127,192,124,192,236,192,204,192,204,192,236,192,124,192,127, - 192,31,192,12,192,12,192,12,192,12,192,12,192,12,192,4, - 4,4,12,4,4,96,240,240,96,4,6,6,12,2,252,240, - 240,48,112,224,64,5,7,7,12,3,11,32,224,32,32,32, - 32,248,8,12,12,12,2,6,60,126,231,195,195,231,126,60, - 0,0,255,255,10,10,20,12,0,255,195,0,227,128,97,128, - 113,192,48,192,48,192,113,192,97,128,227,128,195,0,12,18, - 36,12,0,0,16,0,112,0,16,0,16,0,16,16,16,32, - 124,64,0,128,1,0,2,0,4,0,8,64,16,192,33,64, - 66,64,131,224,0,64,0,224,12,18,36,12,0,0,16,0, - 112,0,16,0,16,0,16,16,16,32,124,64,0,128,1,0, - 2,0,4,0,9,192,18,32,32,32,64,64,128,128,1,0, - 3,224,12,18,36,12,0,0,56,0,68,0,4,0,24,0, - 4,16,68,32,56,64,0,128,1,0,2,0,4,0,8,64, - 16,192,33,64,66,64,131,224,0,64,0,224,10,14,28,12, - 0,0,12,0,12,0,0,0,0,0,12,0,28,0,56,0, - 112,0,224,0,192,0,192,192,225,192,127,128,63,0,10,18, - 36,12,0,0,48,0,56,0,28,0,12,0,12,0,30,0, - 30,0,51,0,51,0,97,128,97,128,192,192,255,192,255,192, - 192,192,192,192,192,192,192,192,10,18,36,12,0,0,3,0, - 7,0,14,0,12,0,12,0,30,0,30,0,51,0,51,0, - 97,128,97,128,192,192,255,192,255,192,192,192,192,192,192,192, - 192,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, - 12,0,30,0,30,0,51,0,51,0,97,128,97,128,192,192, - 255,192,255,192,192,192,192,192,192,192,192,192,10,18,36,12, - 0,0,48,192,124,192,207,128,195,0,12,0,30,0,30,0, - 51,0,51,0,97,128,97,128,192,192,255,192,255,192,192,192, - 192,192,192,192,192,192,10,18,36,12,0,0,51,0,51,0, - 0,0,0,0,12,0,30,0,30,0,51,0,51,0,97,128, - 97,128,192,192,255,192,255,192,192,192,192,192,192,192,192,192, - 10,18,36,12,0,0,12,0,30,0,51,0,51,0,30,0, - 30,0,30,0,51,0,51,0,97,128,97,128,192,192,255,192, - 255,192,192,192,192,192,192,192,192,192,10,14,28,12,0,0, - 63,192,127,192,236,0,204,0,204,0,204,0,255,0,255,0, - 204,0,204,0,204,0,204,0,207,192,207,192,10,18,36,12, - 0,252,63,0,127,128,225,192,192,192,192,0,192,0,192,0, - 192,0,192,0,192,0,192,192,225,192,127,128,63,0,12,0, - 28,0,56,0,16,0,10,18,36,12,0,0,48,0,56,0, - 28,0,12,0,255,192,255,192,192,0,192,0,192,0,192,0, - 255,0,255,0,192,0,192,0,192,0,192,0,255,192,255,192, - 10,18,36,12,0,0,3,0,7,0,14,0,12,0,255,192, - 255,192,192,0,192,0,192,0,192,0,255,0,255,0,192,0, - 192,0,192,0,192,0,255,192,255,192,10,18,36,12,0,0, - 12,0,30,0,63,0,51,0,255,192,255,192,192,0,192,0, - 192,0,192,0,255,0,255,0,192,0,192,0,192,0,192,0, - 255,192,255,192,10,18,36,12,0,0,51,0,51,0,0,0, - 0,0,255,192,255,192,192,0,192,0,192,0,192,0,255,0, - 255,0,192,0,192,0,192,0,192,0,255,192,255,192,10,18, - 36,12,0,0,48,0,56,0,28,0,12,0,255,192,255,192, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,255,192,255,192,10,18,36,12,0,0,3,0, - 7,0,14,0,12,0,255,192,255,192,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, - 255,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, - 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,255,192,255,192,10,18,36,12, - 0,0,51,0,51,0,0,0,0,0,255,192,255,192,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,255,192,255,192,10,14,28,12,0,0,63,0,63,128, - 49,192,48,192,48,192,48,192,252,192,252,192,48,192,48,192, - 48,192,49,192,63,128,63,0,10,18,36,12,0,0,48,192, - 124,192,207,128,199,0,192,192,224,192,240,192,248,192,220,192, - 206,192,199,192,195,192,193,192,192,192,192,192,192,192,192,192, - 192,192,10,18,36,12,0,0,48,0,56,0,28,0,12,0, - 63,0,127,128,225,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,18,36,12, - 0,0,3,0,7,0,14,0,12,0,63,0,127,128,225,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 225,192,127,128,63,0,10,18,36,12,0,0,12,0,30,0, - 63,0,51,0,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, - 10,18,36,12,0,0,48,192,124,192,207,128,199,0,63,0, - 127,128,225,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, - 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, - 127,128,63,0,10,10,20,12,0,2,64,128,225,192,115,128, - 63,0,30,0,30,0,63,0,115,128,225,192,64,128,10,14, - 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, - 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, - 10,18,36,12,0,0,48,0,56,0,28,0,12,0,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, - 3,0,7,0,14,0,12,0,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, - 127,128,63,0,10,18,36,12,0,0,12,0,30,0,63,0, - 51,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,18, - 36,12,0,0,51,0,51,0,0,0,0,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,18,36,12,0,0,3,0, - 7,0,14,0,12,0,192,192,192,192,192,192,192,192,192,192, - 225,192,115,128,63,0,30,0,12,0,12,0,12,0,12,0, - 12,0,10,14,28,12,0,0,192,0,192,0,255,0,255,128, - 193,192,192,192,192,192,193,192,255,128,255,0,192,0,192,0, - 192,0,192,0,10,18,36,12,0,254,15,0,31,128,57,192, - 112,192,224,192,193,192,195,128,195,0,195,0,195,128,193,192, - 192,192,192,192,193,192,207,128,207,0,192,0,192,0,10,16, - 32,12,0,0,12,0,14,0,7,0,3,0,0,0,0,0, - 63,192,127,192,224,192,192,192,192,192,193,192,195,192,231,192, - 126,192,60,192,10,16,32,12,0,0,3,0,7,0,14,0, - 12,0,0,0,0,0,63,192,127,192,224,192,192,192,192,192, - 193,192,195,192,231,192,126,192,60,192,10,16,32,12,0,0, - 12,0,30,0,63,0,51,0,0,0,0,0,63,192,127,192, - 224,192,192,192,192,192,193,192,195,192,231,192,126,192,60,192, - 10,16,32,12,0,0,48,192,124,192,207,128,199,0,0,0, - 0,0,63,192,127,192,224,192,192,192,192,192,193,192,195,192, - 231,192,126,192,60,192,10,14,28,12,0,0,51,0,51,0, - 0,0,0,0,63,192,127,192,224,192,192,192,192,192,193,192, - 195,192,231,192,126,192,60,192,10,16,32,12,0,0,12,0, - 30,0,51,0,51,0,30,0,12,0,63,192,127,192,224,192, - 192,192,192,192,193,192,195,192,231,192,126,192,60,192,10,10, - 20,12,0,0,63,0,127,128,237,192,204,192,207,192,207,192, - 204,0,236,0,127,192,63,192,10,14,28,12,0,252,63,0, - 127,128,225,192,192,192,192,0,192,0,192,0,224,0,127,192, - 63,192,12,0,28,0,56,0,16,0,10,16,32,12,0,0, - 48,0,56,0,28,0,12,0,0,0,0,0,63,0,127,128, - 225,192,192,192,255,192,255,192,192,0,224,0,127,192,63,192, - 10,16,32,12,0,0,3,0,7,0,14,0,12,0,0,0, - 0,0,63,0,127,128,225,192,192,192,255,192,255,192,192,0, - 224,0,127,192,63,192,10,16,32,12,0,0,12,0,30,0, - 63,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, - 255,192,255,192,192,0,224,0,127,192,63,192,10,14,28,12, - 0,0,51,0,51,0,0,0,0,0,63,0,127,128,225,192, - 192,192,255,192,255,192,192,0,224,0,127,192,63,192,6,16, - 16,12,2,0,192,224,112,48,0,0,240,240,48,48,48,48, - 48,48,252,252,6,16,16,12,2,0,12,28,56,48,0,0, - 240,240,48,48,48,48,48,48,252,252,6,16,16,12,2,0, - 48,120,252,204,0,0,240,240,48,48,48,48,48,48,252,252, - 6,14,14,12,2,0,204,204,0,0,240,240,48,48,48,48, - 48,48,252,252,10,17,34,12,0,0,36,0,126,0,60,0, - 60,0,126,0,39,0,3,128,63,192,127,192,225,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,16,32,12, - 0,0,48,192,124,192,207,128,199,0,0,0,0,0,207,0, - 223,128,249,192,240,192,224,192,192,192,192,192,192,192,192,192, - 192,192,10,16,32,12,0,0,48,0,56,0,28,0,12,0, - 0,0,0,0,63,0,127,128,225,192,192,192,192,192,192,192, - 192,192,225,192,127,128,63,0,10,16,32,12,0,0,3,0, - 7,0,14,0,12,0,0,0,0,0,63,0,127,128,225,192, - 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,16, - 32,12,0,0,12,0,30,0,63,0,51,0,0,0,0,0, - 63,0,127,128,225,192,192,192,192,192,192,192,192,192,225,192, - 127,128,63,0,10,16,32,12,0,0,48,192,124,192,207,128, - 199,0,0,0,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, - 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,10,20,12, - 0,2,12,0,12,0,0,0,0,0,255,192,255,192,0,0, - 0,0,12,0,12,0,10,10,20,12,0,0,63,0,127,128, - 227,192,199,192,206,192,220,192,248,192,241,192,127,128,63,0, - 10,16,32,12,0,0,48,0,56,0,28,0,12,0,0,0, - 0,0,192,192,192,192,192,192,192,192,192,192,193,192,195,192, - 231,192,126,192,60,192,10,16,32,12,0,0,3,0,7,0, - 14,0,12,0,0,0,0,0,192,192,192,192,192,192,192,192, - 192,192,193,192,195,192,231,192,126,192,60,192,10,16,32,12, - 0,0,12,0,30,0,63,0,51,0,0,0,0,0,192,192, - 192,192,192,192,192,192,192,192,193,192,195,192,231,192,126,192, - 60,192,10,14,28,12,0,0,51,0,51,0,0,0,0,0, - 192,192,192,192,192,192,192,192,192,192,193,192,195,192,231,192, - 126,192,60,192,10,20,40,12,0,252,3,0,7,0,14,0, - 12,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, - 63,0,10,18,36,12,0,252,192,0,192,0,192,0,192,0, - 255,0,255,128,193,192,192,192,192,192,192,192,192,192,193,192, - 255,128,255,0,192,0,192,0,192,0,192,0,10,18,36,12, - 0,252,51,0,51,0,0,0,0,0,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,224,192,127,192,63,192,0,192, - 1,192,63,128,63,0}; -/* - Fontname: ProFont22 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 14, '1' Height: 14 - Calculated Max Values w=12 h=22 x= 4 y=12 dx=12 dy= 0 ascent=18 len=40 - Font Bounding box w=12 h=21 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent =14 descent=-4 - X Font ascent =16 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont22r[2719] U8G_FONT_SECTION("u8g_font_profont22r") = { - 0,12,21,0,252,14,3,117,7,113,32,127,252,18,252,16, - 252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192, - 192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2, - 10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51, - 0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51, - 0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237, - 192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204, - 192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0, - 0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63, - 128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28, - 12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120, - 0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2, - 6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2, - 254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112, - 56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12, - 12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0, - 4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204, - 192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12, - 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5, - 9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2, - 2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96, - 11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128, - 1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0, - 24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14, - 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, - 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, - 10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, - 255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192, - 0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0, - 255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192, - 192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192, - 225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0, - 15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192, - 3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192, - 255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192, - 0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, - 63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192, - 192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12, - 0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128, - 7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14, - 28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128, - 63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0, - 10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192, - 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, - 63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240, - 240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120, - 120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14, - 28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0, - 4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14, - 12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0, - 192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12, - 0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192, - 192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224, - 0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30, - 0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192, - 192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255, - 128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63, - 0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192, - 0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28, - 12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, - 0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10, - 14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192, - 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, - 0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192, - 192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192, - 192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193, - 192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220, - 0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28, - 12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204, - 192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10, - 14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206, - 192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192, - 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192, - 192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192, - 0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204, - 192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0, - 0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255, - 128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28, - 12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127, - 0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10, - 14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, - 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, - 192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30, - 0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192, - 192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255, - 192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192, - 192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115, - 128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192, - 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, - 0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0, - 0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28, - 0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18, - 12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96, - 0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6, - 0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0, - 96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0, - 8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4, - 12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112, - 48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192, - 192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0, - 0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192, - 192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20, - 12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192, - 0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0, - 192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63, - 0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127, - 192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48, - 48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127, - 192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63, - 192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192, - 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2, - 0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6, - 18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12, - 12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192, - 0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254, - 0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240, - 240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20, - 12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204, - 192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223, - 128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192, - 192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192, - 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0, - 252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193, - 192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28, - 12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192, - 192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10, - 10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192, - 0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63, - 192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255, - 128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48, - 48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192, - 192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60, - 192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97, - 128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0, - 0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204, - 192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115, - 128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10, - 14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63, - 0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14, - 0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2, - 252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48, - 48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6, - 22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28, - 28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0, - 6,48,192,124,192,207,128,195,0,0,0,0,12,0,0}; -/* - Fontname: ProFont29 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 19, '1' Height: 19 - Calculated Max Values w=16 h=29 x= 8 y=16 dx=16 dy= 0 ascent=24 len=58 - Font Bounding box w=16 h=28 x= 0 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =22 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont29[8666] U8G_FONT_SECTION("u8g_font_profont29") = { - 0,16,28,0,251,19,4,198,9,234,32,255,251,24,251,22, - 251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224, - 9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112, - 255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16, - 0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112, - 231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112, - 7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0, - 7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252, - 102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240, - 31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192, - 14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224, - 227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188, - 227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16, - 5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3, - 253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7, - 128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60, - 0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15, - 0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0, - 5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127, - 240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0, - 3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255, - 248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3, - 251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16, - 3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112, - 15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56, - 0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128, - 3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252, - 227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56, - 127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0, - 15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224, - 240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224, - 7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28, - 0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0, - 224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19, - 38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28, - 0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120, - 63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56, - 127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240, - 31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0, - 112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56, - 0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19, - 38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0, - 30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0, - 7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5, - 255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252, - 255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0, - 30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0, - 0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252, - 231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0, - 127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128, - 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, - 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, - 224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56, - 224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120, - 224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252, - 255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248, - 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19, - 38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128, - 239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128, - 227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30, - 248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142, - 227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28, - 254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240, - 15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192, - 255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240, - 255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248, - 112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248, - 0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192, - 13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, - 56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128, - 3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142, - 227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14, - 14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60, - 120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240, - 120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16, - 0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252, - 255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252, - 255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112, - 0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7, - 0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0, - 112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25, - 16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16, - 0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60, - 96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0, - 15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28, - 224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16, - 0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240, - 255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192, - 63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0, - 224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0, - 0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, - 112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224, - 7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16, - 2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7, - 7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7, - 7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0, - 224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128, - 239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60, - 224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14, - 28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28, - 240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, - 63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248, - 224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252, - 15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16, - 0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14, - 28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192, - 127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192, - 11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14, - 28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56, - 112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128, - 15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252, - 28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120, - 60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60, - 224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224, - 3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248, - 255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128, - 3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30, - 0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224, - 0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225, - 224,0,0,0,16,0,0,0,0,0,16,0,0,0,0,0, - 16,0,0,5,8,8,16,0,253,56,56,56,56,56,120,240, - 96,13,29,58,16,0,251,0,120,1,248,3,248,3,128,7, - 0,7,0,7,0,7,0,7,0,7,0,31,192,31,192,31, - 192,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, - 0,7,0,7,0,7,0,7,0,14,0,254,0,252,0,240, - 0,11,8,16,16,0,253,56,224,56,224,56,224,56,224,56, - 224,121,224,243,192,97,128,13,3,6,16,0,0,231,56,231, - 56,231,56,9,14,28,16,2,5,28,0,28,0,28,0,255, - 128,255,128,255,128,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,9,14,28,16,2,5,28,0,28,0,28, - 0,255,128,255,128,255,128,28,0,28,0,255,128,255,128,255, - 128,28,0,28,0,28,0,10,6,12,16,2,16,12,0,30, - 0,63,0,127,128,243,192,97,128,15,22,44,16,0,0,31, - 254,63,254,127,254,119,30,227,60,227,120,227,240,247,224,127, - 192,127,128,63,0,15,56,63,252,127,252,253,238,248,198,216, - 198,152,198,29,238,15,252,15,252,7,56,14,24,48,16,0, - 0,24,192,61,224,31,192,15,128,7,0,15,192,63,240,127, - 248,112,56,224,28,224,28,224,0,112,0,127,192,63,240,15, - 248,0,56,0,28,224,28,224,28,112,56,127,248,63,240,15, - 192,5,13,13,16,0,255,48,56,112,112,224,224,224,224,224, - 112,112,56,48,14,19,38,16,0,0,15,252,63,252,127,252, - 119,0,231,0,231,0,231,0,231,0,231,224,231,224,231,224, - 231,0,231,0,231,0,231,0,119,0,127,252,63,252,15,252, - 0,0,0,16,0,0,0,0,0,16,0,0,0,0,0,16, - 0,0,0,0,0,16,0,0,5,8,8,16,5,11,48,120, - 240,224,224,224,224,224,5,8,8,16,6,11,56,56,56,56, - 56,120,240,96,11,8,16,16,2,11,48,192,121,224,243,192, - 227,128,227,128,227,128,227,128,227,128,11,8,16,16,3,11, - 56,224,56,224,56,224,56,224,56,224,121,224,243,192,97,128, - 13,13,26,16,0,3,15,128,63,224,127,240,127,240,255,248, - 255,248,255,248,255,248,255,248,127,240,127,240,63,224,15,128, - 8,3,3,16,3,8,255,255,255,16,3,6,16,0,8,255, - 255,255,255,255,255,13,5,10,16,0,16,60,56,127,56,255, - 248,231,240,225,224,15,8,16,16,0,11,255,206,255,254,255, - 254,57,254,57,254,57,206,57,206,57,206,14,22,44,16,0, - 0,24,96,60,240,31,224,15,192,7,128,3,0,0,0,0, - 0,15,252,63,252,127,252,240,0,224,0,255,192,127,240,31, - 248,0,60,0,28,0,60,255,248,255,240,255,192,5,13,13, - 16,0,255,96,224,112,112,56,56,56,56,56,120,112,224,96, - 14,14,28,16,0,0,60,240,127,248,127,248,231,28,231,28, - 231,28,231,252,231,252,231,252,231,0,231,0,127,252,127,252, - 60,252,0,0,0,16,0,0,0,0,0,16,0,0,13,24, - 48,16,0,0,56,224,56,224,56,224,0,0,0,0,224,56, - 224,56,224,56,224,56,224,56,224,56,224,56,240,120,120,240, - 61,224,31,192,15,128,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,0,0,0,16,0,0,3,19,19,16,8,0, - 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,13,20,40,16,0,253,7,0,7,0,7,0,15, - 128,63,224,127,240,119,112,231,56,231,56,231,0,231,0,231, - 0,231,0,119,0,127,248,63,248,15,248,7,0,7,0,7, - 0,13,22,44,16,0,0,14,0,63,128,127,128,113,192,224, - 224,224,224,224,0,224,0,255,0,255,0,255,0,224,0,224, - 0,224,0,224,0,224,0,224,56,224,56,224,112,255,240,255, - 224,255,128,13,13,26,16,0,0,64,16,224,56,112,112,63, - 224,31,192,29,192,24,192,29,192,31,192,63,224,112,112,224, - 56,64,16,15,19,38,16,0,0,96,12,240,30,120,60,60, - 120,30,240,127,252,127,252,127,252,3,128,3,128,3,128,127, - 252,127,252,127,252,3,128,3,128,3,128,3,128,3,128,3, - 25,25,16,5,253,224,224,224,224,224,224,224,224,224,224,224, - 0,0,0,224,224,224,224,224,224,224,224,224,224,224,14,27, - 54,16,0,253,15,192,63,240,63,248,112,56,112,28,120,28, - 60,28,30,28,239,0,231,128,227,192,225,224,240,240,120,120, - 60,60,30,28,15,28,7,156,3,220,225,224,224,240,224,120, - 224,56,112,56,127,240,63,240,15,128,8,3,3,16,3,16, - 231,231,231,14,19,38,16,0,0,28,0,255,128,255,224,193, - 240,0,112,31,56,127,56,127,24,224,28,224,28,224,28,127, - 24,127,56,31,56,0,112,193,240,255,224,255,128,28,0,12, - 16,32,16,2,8,15,240,63,240,127,240,112,112,224,112,224, - 112,224,112,112,112,127,240,63,240,15,240,0,0,0,0,255, - 240,255,240,255,240,13,13,26,16,0,255,48,48,56,56,112, - 112,112,112,224,224,224,224,224,224,224,224,224,224,112,112,112, - 112,56,56,48,48,14,8,16,16,0,3,255,252,255,252,255, - 252,0,28,0,28,0,28,0,28,0,28,13,3,6,16,0, - 8,255,248,255,248,255,248,14,17,34,16,0,2,28,0,255, - 128,255,224,193,240,0,112,248,56,254,56,254,24,231,28,231, - 28,231,28,254,24,254,56,254,56,239,240,231,240,227,192,8, - 3,3,16,3,16,255,255,255,12,12,24,16,2,10,15,0, - 63,192,127,224,112,224,224,112,224,112,224,112,224,112,112,224, - 127,224,63,192,15,0,13,16,32,16,0,0,7,0,7,0, - 7,0,7,0,7,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,255,248,255,248,255,248,6,9,9,16, - 4,15,120,132,4,4,8,16,32,64,252,6,9,9,16,4, - 15,120,132,4,8,48,8,4,132,120,7,6,6,16,5,16, - 12,30,60,120,240,96,14,18,36,16,0,251,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,225,240, - 255,252,255,188,254,12,224,0,224,0,224,0,224,0,224,0, - 14,22,44,16,0,0,7,252,31,252,63,252,127,28,119,28, - 231,28,231,28,231,28,231,28,119,28,127,28,63,252,31,252, - 7,252,7,28,7,28,7,28,7,28,7,28,7,28,7,28, - 7,28,5,5,5,16,5,6,112,248,248,248,112,6,8,8, - 16,3,251,252,252,252,60,124,248,240,96,7,9,9,16,4, - 15,16,112,16,16,16,16,16,16,254,11,16,32,16,3,8, - 14,0,63,128,127,192,113,192,224,224,224,224,224,224,113,192, - 127,192,63,128,14,0,0,0,0,0,255,224,255,224,255,224, - 13,13,26,16,0,255,96,96,224,224,112,112,112,112,56,56, - 56,56,56,56,56,56,56,56,112,112,112,112,224,224,96,96, - 15,24,48,16,0,0,8,0,56,0,8,0,8,0,8,0, - 8,0,8,2,8,4,127,8,0,16,0,32,0,64,0,128, - 1,0,2,0,4,8,8,24,16,40,32,72,64,136,128,254, - 0,8,0,8,0,62,15,24,48,16,0,0,8,0,56,0, - 8,0,8,0,8,0,8,0,8,2,8,4,127,8,0,16, - 0,32,0,64,0,128,1,0,2,0,4,120,8,132,16,4, - 32,4,64,8,128,16,0,32,0,64,0,252,15,24,48,16, - 0,0,30,0,33,0,1,0,2,0,12,0,2,0,1,2, - 33,4,30,8,0,16,0,32,0,64,0,128,1,0,2,0, - 4,8,8,24,16,40,32,72,64,136,128,254,0,8,0,8, - 0,62,14,19,38,16,0,0,3,128,3,128,3,128,0,0, - 0,0,3,128,7,128,15,0,30,0,60,0,120,0,240,0, - 224,0,224,28,224,28,112,56,127,248,63,240,15,192,14,24, - 48,16,0,0,24,0,60,0,30,0,15,0,7,128,7,128, - 7,128,15,192,15,192,28,224,28,224,56,112,56,112,112,56, - 112,56,224,28,255,252,255,252,255,252,224,28,224,28,224,28, - 224,28,224,28,14,24,48,16,0,0,0,96,0,240,1,224, - 3,192,7,128,7,128,7,128,15,192,15,192,28,224,28,224, - 56,112,56,112,112,56,112,56,224,28,255,252,255,252,255,252, - 224,28,224,28,224,28,224,28,224,28,14,24,48,16,0,0, - 3,0,7,128,15,192,31,224,28,224,11,64,7,128,15,192, - 15,192,28,224,28,224,56,112,56,112,112,56,112,56,224,28, - 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, - 14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224, - 7,128,7,128,15,192,15,192,28,224,28,224,56,112,56,112, - 112,56,112,56,224,28,255,252,255,252,255,252,224,28,224,28, - 224,28,224,28,224,28,14,24,48,16,0,0,56,112,56,112, - 56,112,0,0,0,0,7,128,7,128,15,192,15,192,28,224, - 28,224,56,112,56,112,112,56,112,56,224,28,255,252,255,252, - 255,252,224,28,224,28,224,28,224,28,224,28,14,24,48,16, - 0,0,7,128,15,192,28,224,24,96,28,224,15,192,7,128, - 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, - 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, - 224,28,14,19,38,16,0,0,15,252,63,252,127,252,119,0, - 231,0,231,0,231,0,231,0,255,224,255,224,255,224,231,0, - 231,0,231,0,231,0,231,0,231,252,231,252,231,252,14,24, - 48,16,0,251,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, - 224,28,112,56,127,248,63,240,15,192,7,0,15,0,30,0, - 60,0,24,0,14,24,48,16,0,0,24,0,60,0,30,0, - 15,0,7,128,255,252,255,252,255,252,224,0,224,0,224,0, - 224,0,224,0,255,224,255,224,255,224,224,0,224,0,224,0, - 224,0,224,0,255,252,255,252,255,252,14,24,48,16,0,0, - 0,96,0,240,1,224,3,192,7,128,255,252,255,252,255,252, - 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, - 224,0,224,0,224,0,224,0,224,0,255,252,255,252,255,252, - 14,24,48,16,0,0,3,0,7,128,15,192,31,224,28,224, - 255,252,255,252,255,252,224,0,224,0,224,0,224,0,224,0, - 255,224,255,224,255,224,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,14,24,48,16,0,0,56,112,56,112, - 56,112,0,0,0,0,255,252,255,252,255,252,224,0,224,0, - 224,0,224,0,224,0,255,224,255,224,255,224,224,0,224,0, - 224,0,224,0,224,0,255,252,255,252,255,252,13,24,48,16, - 0,0,24,0,60,0,30,0,15,0,7,0,255,248,255,248, - 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,13,24,48,16,0,0,0,192,1,224,3,192,7,128, - 7,0,255,248,255,248,255,248,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,255,248,255,248,255,248,13,24,48,16,0,0,2,0, - 7,0,15,128,31,192,56,224,255,248,255,248,255,248,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,255,248,255,248,255,248,13,24, - 48,16,0,0,56,224,56,224,56,224,0,0,0,0,255,248, - 255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,248, - 255,248,255,248,14,19,38,16,0,0,31,192,31,240,31,248, - 28,56,28,28,28,28,28,28,28,28,255,156,255,156,255,156, - 28,28,28,28,28,28,28,28,28,56,31,248,31,240,31,192, - 14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224, - 224,28,240,28,248,28,252,28,254,28,239,28,231,156,227,220, - 225,252,224,252,224,124,224,60,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,14,24,48,16,0,0,12,0,30,0, - 15,0,7,128,3,128,15,192,63,240,127,248,112,56,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16, - 0,0,0,192,1,224,3,192,7,128,7,0,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,24,48,16,0,0,3,0,7,128,15,192,31,224, - 60,240,24,96,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,14,24,48,16,0,0,60,56, - 127,56,255,248,231,240,225,224,15,192,63,240,127,248,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,24, - 48,16,0,0,56,112,56,112,56,112,0,0,0,0,15,192, - 63,240,127,248,112,56,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, - 63,240,15,192,14,13,26,16,0,3,96,24,240,60,120,120, - 60,240,31,224,15,192,7,128,15,192,31,224,60,240,120,120, - 240,60,96,24,14,19,38,16,0,0,15,192,63,240,127,248, - 112,56,224,60,224,124,224,252,225,252,227,220,231,156,239,28, - 254,28,252,28,248,28,240,28,112,56,127,248,63,240,15,192, - 14,24,48,16,0,0,24,0,60,0,30,0,15,0,7,128, - 227,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,56, - 127,248,63,240,15,192,14,24,48,16,0,0,0,96,0,240, - 1,224,3,192,7,128,227,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16, - 0,0,3,0,7,128,15,192,31,224,60,240,24,96,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,24,48,16,0,0,56,112,56,112,56,112,0,0, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,13,24,48,16,0,0,0,96, - 0,240,1,224,3,192,7,128,227,56,224,56,224,56,224,56, - 224,56,224,56,224,56,240,120,120,240,61,224,31,192,15,128, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,14,19, - 38,16,0,0,224,0,224,0,224,0,255,192,255,240,255,248, - 224,56,224,28,224,28,224,28,224,56,255,248,255,240,255,192, - 224,0,224,0,224,0,224,0,224,0,13,25,50,16,0,253, - 3,192,7,224,15,240,30,120,60,56,120,56,240,56,224,56, - 224,112,224,224,224,224,224,224,224,224,224,112,224,56,224,56, - 224,56,224,56,224,120,227,240,227,224,227,192,224,0,224,0, - 224,0,14,22,44,16,0,0,6,0,15,0,7,128,3,192, - 1,224,0,192,0,0,0,0,15,252,63,252,127,252,112,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,22,44,16,0,0,0,96,0,240,1,224, - 3,192,7,128,3,0,0,0,0,0,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252, - 127,220,63,156,14,28,14,22,44,16,0,0,3,0,7,128, - 15,192,31,224,60,240,24,96,0,0,0,0,15,252,63,252, - 127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124, - 113,252,127,220,63,156,14,28,14,21,42,16,0,0,60,56, - 127,56,255,248,231,240,225,224,0,0,0,0,15,252,63,252, - 127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124, - 113,252,127,220,63,156,14,28,14,19,38,16,0,0,56,112, - 56,112,56,112,0,0,0,0,15,252,63,252,127,252,112,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,21,42,16,0,0,7,192,15,224,12,96, - 12,96,12,96,15,224,7,192,15,252,63,252,127,252,112,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,14,28,16,0,0,15,192,63,240,127,248, - 119,120,231,60,231,28,231,252,231,252,231,252,231,0,119,0, - 127,252,63,252,15,252,14,19,38,16,0,251,15,192,63,240, - 127,248,112,56,224,28,224,28,224,0,224,0,224,0,224,0, - 112,0,127,252,63,252,15,252,7,0,15,0,30,0,60,0, - 24,0,14,22,44,16,0,0,24,0,60,0,30,0,15,0, - 7,128,3,0,0,0,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252, - 63,252,15,252,14,22,44,16,0,0,0,96,0,240,1,224, - 3,192,7,128,3,0,0,0,0,0,15,192,63,240,127,248, - 112,56,224,28,224,28,255,252,255,252,255,252,224,0,112,0, - 127,252,63,252,15,252,14,22,44,16,0,0,3,0,7,128, - 15,192,31,224,60,240,24,96,0,0,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, - 112,0,127,252,63,252,15,252,14,19,38,16,0,0,56,112, - 56,112,56,112,0,0,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252, - 63,252,15,252,9,22,44,16,2,0,96,0,240,0,120,0, - 60,0,30,0,12,0,0,0,0,0,252,0,252,0,252,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,9,22,44,16,2,0,3,0,7,128, - 15,0,30,0,60,0,24,0,0,0,0,0,252,0,252,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,255,128,255,128,10,22,44,16,2,0,12,0, - 30,0,63,0,127,128,243,192,97,128,0,0,0,0,252,0, - 252,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,255,128,255,128,255,128,9,19,38,16,2,0, - 227,128,227,128,227,128,0,0,0,0,252,0,252,0,252,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,14,23,46,16,0,0,49,128,123,192, - 63,128,31,0,31,0,63,128,123,192,49,224,0,240,15,248, - 63,252,127,252,112,60,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,21,42,16,0,0, - 60,56,127,56,255,248,231,240,225,224,0,0,0,0,225,192, - 231,240,239,248,254,56,248,28,240,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,14,22,44,16,0,0, - 24,0,60,0,30,0,15,0,7,128,3,0,0,0,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,14,22,44,16, - 0,0,0,96,0,240,1,224,3,192,7,128,3,0,0,0, - 0,0,15,192,63,240,127,248,112,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,22, - 44,16,0,0,3,0,7,128,15,192,31,224,60,240,24,96, - 0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192, - 14,21,42,16,0,0,60,56,127,56,255,248,231,240,225,224, - 0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192, - 14,19,38,16,0,0,56,112,56,112,56,112,0,0,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28, - 224,28,224,28,112,56,127,248,63,240,15,192,13,14,28,16, - 0,2,7,0,7,0,7,0,0,0,0,0,255,248,255,248, - 255,248,0,0,0,0,0,0,7,0,7,0,7,0,14,14, - 28,16,0,0,15,192,63,240,127,248,112,120,224,252,225,220, - 227,156,231,28,238,28,252,28,120,56,127,248,63,240,15,192, - 14,22,44,16,0,0,24,0,60,0,30,0,15,0,7,128, - 3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156, - 14,28,14,22,44,16,0,0,0,96,0,240,1,224,3,192, - 7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, - 63,156,14,28,14,22,44,16,0,0,3,0,7,128,15,192, - 31,224,60,240,24,96,0,0,0,0,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252, - 127,220,63,156,14,28,14,19,38,16,0,0,56,112,56,112, - 56,112,0,0,0,0,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156, - 14,28,14,27,54,16,0,251,0,96,0,240,1,224,3,192, - 7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,28,127,252, - 63,252,15,252,0,28,0,56,31,248,31,240,31,192,14,24, - 48,16,0,251,224,0,224,0,224,0,224,0,224,0,255,192, - 255,240,255,248,224,56,224,28,224,28,224,28,224,28,224,28, - 224,28,224,56,255,248,255,240,255,192,224,0,224,0,224,0, - 224,0,224,0,14,24,48,16,0,251,56,112,56,112,56,112, - 0,0,0,0,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,112,28,127,252,63,252,31,252, - 0,28,0,56,31,248,31,240,31,224}; -/* - Fontname: ProFont29 - Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 - Capital A Height: 19, '1' Height: 19 - Calculated Max Values w=16 h=29 x= 5 y=15 dx=16 dy= 0 ascent=24 len=58 - Font Bounding box w=16 h=28 x= 0 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =19 descent=-5 - X Font ascent =22 descent=-5 - Max Font ascent =24 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_profont29r[3719] U8G_FONT_SECTION("u8g_font_profont29r") = { - 0,16,28,0,251,19,4,198,9,234,32,127,251,24,251,22, - 251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224, - 9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128, - 227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112, - 28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112, - 255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16, - 0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112, - 231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112, - 7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0, - 7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252, - 102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240, - 31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192, - 14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224, - 227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188, - 227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16, - 5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3, - 253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7, - 128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60, - 0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3, - 128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15, - 0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0, - 5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127, - 240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0, - 3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255, - 248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3, - 251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16, - 3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112, - 15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56, - 0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128, - 3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0, - 56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252, - 227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56, - 127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0, - 15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224, - 240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224, - 7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28, - 0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240, - 15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0, - 224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19, - 38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28, - 0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120, - 63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56, - 127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240, - 31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0, - 112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56, - 0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19, - 38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0, - 30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0, - 7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5, - 255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252, - 255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0, - 30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0, - 0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0, - 15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252, - 231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0, - 127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128, - 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, - 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, - 224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56, - 224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120, - 224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252, - 255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224, - 255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252, - 255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0, - 224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248, - 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, - 255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28, - 224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19, - 38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128, - 239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128, - 227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, - 255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30, - 248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142, - 227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14, - 224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28, - 254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19, - 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240, - 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240, - 15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192, - 255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240, - 255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248, - 112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248, - 0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192, - 13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, - 56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128, - 3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14, - 224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142, - 227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14, - 14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60, - 120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240, - 120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16, - 0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56, - 240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0, - 7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252, - 255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192, - 7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252, - 255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112, - 0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7, - 0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0, - 112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25, - 16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28, - 28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16, - 0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60, - 96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0, - 15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28, - 224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16, - 0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240, - 255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28, - 224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192, - 63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0, - 224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0, - 0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240, - 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, - 112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224, - 7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252, - 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0, - 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16, - 2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0, - 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7, - 7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7, - 7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0, - 224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128, - 239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60, - 224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14, - 28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142, - 14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28, - 240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56, - 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, - 63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248, - 224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56, - 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, - 14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28, - 224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252, - 15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16, - 0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0, - 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14, - 28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192, - 127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192, - 11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0, - 255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16, - 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14, - 28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56, - 112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128, - 15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142, - 227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252, - 28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120, - 60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60, - 224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, - 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, - 13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224, - 3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248, - 255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128, - 3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30, - 0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224, - 0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225, - 224,0,0,0,16,0,0}; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 6, '1' Height: 5 - Calculated Max Values w= 7 h= 8 x= 0 y= 6 dx= 8 dy= 0 ascent=10 len= 8 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 1 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[1376] U8G_FONT_SECTION("u8g_font_robot_de_niro") = { - 0,10,10,255,0,6,1,97,2,193,32,255,1,10,0,9, - 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, - 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, - 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, - 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, - 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, - 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, - 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, - 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, - 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, - 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, - 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, - 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, - 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, - 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, - 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, - 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, - 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, - 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, - 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, - 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, - 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, - 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, - 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, - 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, - 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, - 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, - 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, - 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, - 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, - 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, - 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, - 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, - 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, - 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, - 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, - 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, - 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, - 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, - 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, - 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, - 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, - 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, - 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, - 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, - 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, - 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, - 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, - 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, - 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, - 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, - 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, - 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, - 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, - 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, - 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, - 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, - 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, - 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, - 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, - 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, - 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, - 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, - 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, - 2,192,64,64,32,64,64,192,4,2,2,5,0,5,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,255,255,255,4,7,7,5,0,2,96,144,64,224,64,128, - 240,255,255,255,4,7,7,5,0,2,96,128,96,144,96,16, - 96,255,7,8,8,8,0,2,124,130,154,170,162,154,130,124, - 255,255,255,255,7,8,8,8,0,2,124,130,186,170,178,170, - 130,124,255,255,255,255,255,255,255,6,5,5,7,0,3,108, - 232,104,40,40,255,255,255,255,255,255,255,255,255,255,255,255, - 255,4,8,8,4,255,2,80,0,48,80,112,80,80,128,255, - 255,3,7,7,4,0,1,96,128,128,160,96,64,32,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,3,7,7,4, - 0,3,160,0,96,160,160,160,64,4,4,4,5,0,4,144, - 96,96,144,255,255,255,255,4,7,7,5,0,3,80,0,160, - 160,160,160,80,255,255,4,7,7,4,255,1,32,80,96,80, - 96,64,128,255,255,255,255,4,6,6,5,0,3,80,0,96, - 160,160,80,255,255,255,4,6,6,5,0,3,96,0,96,160, - 208,96,4,6,6,5,0,3,96,0,96,160,208,96,4,7, - 7,5,0,3,64,160,0,96,160,208,96,255,255,255,255,255, - 255,255,255,255,255,255,3,6,6,4,0,3,160,0,96,160, - 160,192,5,5,5,6,0,3,32,0,248,0,32,255,255,255, - 255,4,6,6,5,0,3,80,0,160,160,160,80,255,255,255 - }; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 4 h= 5 x= 0 y= 6 dx= 5 dy= 0 ascent= 9 len= 5 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 9 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[187] U8G_FONT_SECTION("u8g_font_robot_de_niron") = { - 0,10,10,255,0,5,0,0,0,0,42,58,0,9,0,5, - 0,3,3,3,4,0,6,160,64,160,3,3,3,4,0,4, - 64,224,64,2,2,2,3,0,2,64,128,3,1,1,4,0, - 5,224,1,1,1,2,0,3,128,3,5,5,4,0,3,32, - 32,64,128,128,3,5,5,4,0,3,64,160,160,160,64,3, - 5,5,4,0,3,192,64,64,64,224,3,5,5,4,0,3, - 192,32,96,128,224,3,5,5,4,0,3,192,32,224,32,224, - 3,5,5,4,0,3,160,160,224,32,32,3,5,5,4,0, - 3,96,128,224,32,224,3,5,5,4,0,3,96,128,224,160, - 64,4,5,5,5,0,3,224,32,112,32,32,3,5,5,4, - 0,3,96,160,224,160,192,3,5,5,4,0,3,96,160,224, - 32,192,1,3,3,2,0,4,128,0,128}; -/* - Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 - Copyright: Copyright BMoser 2008 - Capital A Height: 6, '1' Height: 5 - Calculated Max Values w= 6 h= 7 x= 0 y= 6 dx= 7 dy= 0 ascent=10 len= 7 - Font Bounding box w=10 h=10 x=-1 y= 0 - Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 1 - X Font ascent = 9 descent= 0 - Max Font ascent =10 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[1041] U8G_FONT_SECTION("u8g_font_robot_de_niror") = { - 0,10,10,255,0,6,1,97,2,193,32,127,1,10,0,9, - 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, - 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, - 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, - 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, - 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, - 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, - 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, - 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, - 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, - 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, - 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, - 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, - 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, - 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, - 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, - 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, - 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, - 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, - 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, - 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, - 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, - 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, - 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, - 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, - 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, - 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, - 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, - 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, - 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, - 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, - 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, - 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, - 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, - 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, - 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, - 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, - 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, - 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, - 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, - 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, - 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, - 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, - 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, - 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, - 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, - 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, - 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, - 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, - 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, - 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, - 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, - 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, - 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, - 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, - 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, - 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, - 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, - 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, - 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, - 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, - 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, - 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, - 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, - 2,192,64,64,32,64,64,192,4,2,2,5,0,5,80,160, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=15 x= 3 y= 9 dx=11 dy= 0 ascent=11 len=15 - Font Bounding box w=11 h=15 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =11 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb08[2612] U8G_FONT_SECTION("u8g_font_symb08") = { - 0,11,15,255,252,7,1,152,3,60,32,255,254,11,252,7, - 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, - 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, - 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, - 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, - 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, - 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, - 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, - 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, - 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, - 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, - 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, - 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, - 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, - 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, - 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, - 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, - 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, - 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, - 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, - 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, - 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, - 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, - 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, - 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, - 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, - 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, - 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, - 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, - 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, - 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, - 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, - 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, - 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, - 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, - 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, - 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, - 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, - 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, - 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, - 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, - 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, - 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, - 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, - 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, - 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, - 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, - 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, - 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, - 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, - 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, - 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, - 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, - 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, - 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, - 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, - 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, - 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, - 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, - 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, - 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, - 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, - 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, - 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, - 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, - 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, - 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, - 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, - 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, - 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, - 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, - 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, - 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, - 64,128,5,2,2,6,0,2,104,176,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,255,6,7,7,7, - 0,0,140,212,112,32,32,32,112,3,3,3,3,0,5,32, - 64,128,5,7,7,6,0,0,8,48,192,48,8,0,248,4, - 7,7,3,255,0,16,16,32,32,64,64,128,7,3,3,7, - 0,1,108,146,108,5,9,9,5,0,254,24,32,112,32,32, - 32,32,32,192,5,5,5,7,1,0,112,112,248,248,32,5, - 5,5,7,1,0,32,112,248,112,32,5,5,5,7,1,0, - 216,248,248,112,32,5,5,5,7,1,0,32,112,248,248,32, - 10,5,10,10,0,0,33,0,64,128,255,192,64,128,33,0, - 10,5,10,10,0,0,32,0,64,0,255,192,64,0,32,0, - 5,14,14,6,0,252,32,112,168,32,32,32,32,32,32,32, - 32,32,32,32,10,5,10,10,0,0,1,0,0,128,255,192, - 0,128,1,0,5,13,13,6,0,254,32,32,32,32,32,32, - 32,32,32,32,168,112,32,3,4,4,4,0,3,64,160,160, - 64,5,7,7,6,0,0,32,32,248,32,32,0,248,5,3, - 3,4,0,5,40,80,160,5,7,7,6,0,0,128,96,24, - 96,128,0,248,5,5,5,6,0,0,136,80,32,80,136,6, - 3,3,7,0,1,108,144,108,4,8,8,5,0,0,96,144, - 16,16,112,144,144,96,4,3,3,5,0,1,96,240,96,5, - 5,5,6,0,0,32,0,248,0,32,5,5,5,6,0,0, - 16,248,32,248,64,5,5,5,6,0,1,248,0,248,0,248, - 5,5,5,6,0,0,104,176,0,104,176,7,1,1,9,1, - 0,146,1,15,15,6,2,252,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,10,1,2,10,0,2,255,192,6, - 6,6,7,0,0,4,4,4,68,252,64,7,7,7,8,0, - 0,204,102,52,92,76,38,98,6,9,9,7,0,255,124,132, - 200,24,12,4,68,232,48,8,8,8,8,0,0,108,146,146, - 92,20,18,82,163,7,8,8,9,1,254,16,36,74,82,106, - 108,160,96,7,7,7,8,0,0,56,68,170,146,170,68,56, - 7,7,7,8,0,0,56,68,146,186,146,68,56,7,9,9, - 8,0,255,2,60,76,138,146,162,100,120,128,7,5,5,8, - 0,0,56,68,130,130,130,7,5,5,8,0,0,130,130,130, - 68,56,7,5,5,7,0,0,248,4,2,4,248,7,7,7, - 7,0,254,248,4,2,4,248,0,254,7,7,7,7,0,255, - 4,62,72,136,80,62,32,7,5,5,7,0,0,62,64,128, - 64,62,7,7,7,7,0,254,62,64,128,64,62,0,254,5, - 5,5,7,1,0,120,128,248,128,120,5,7,7,7,1,255, - 16,120,144,248,160,120,64,7,7,7,8,0,0,2,4,8, - 16,32,64,254,6,7,7,7,0,0,252,132,132,72,72,48, - 48,7,8,8,8,0,255,56,68,250,170,178,174,68,56,7, - 8,8,8,0,255,56,68,154,170,162,154,68,56,10,5,10, - 10,0,2,253,0,170,128,42,128,42,128,122,192,8,9,9, - 9,0,255,255,66,66,66,66,66,66,66,231,6,10,10,6, - 0,0,4,4,8,8,72,208,80,80,32,32,1,1,1,3, - 1,2,128,6,3,3,7,0,0,252,4,4,5,5,5,6, - 0,0,32,80,80,136,136,5,5,5,6,0,0,136,136,80, - 80,32,10,5,10,11,0,0,33,0,127,128,128,64,127,128, - 33,0,9,5,10,10,0,0,32,0,127,128,128,0,127,128, - 32,0,5,10,10,6,0,0,32,112,216,80,80,80,80,80, - 80,80,9,5,10,10,0,0,2,0,255,0,0,128,255,0, - 2,0,5,10,10,6,0,0,80,80,80,80,80,80,80,216, - 80,32,7,7,7,7,0,0,16,40,68,198,68,40,16,3, - 9,9,3,0,254,32,32,64,64,128,64,64,32,32,7,8, - 8,8,0,255,56,68,186,170,178,170,68,56,7,8,8,8, - 0,255,56,68,154,162,162,154,68,56,8,5,5,9,0,2, - 250,85,85,85,85,6,9,9,7,0,255,252,132,64,32,16, - 32,64,132,252,3,14,14,4,1,252,32,64,64,128,128,128, - 128,128,128,128,128,128,128,128,1,15,15,4,1,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,3,15,15, - 4,1,252,128,128,128,128,128,128,128,128,128,128,128,128,64, - 64,32,3,14,14,4,1,252,224,128,128,128,128,128,128,128, - 128,128,128,128,128,128,1,15,15,4,1,252,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,3,13,13,4,1, - 254,128,128,128,128,128,128,128,128,128,128,128,128,224,3,14, - 14,5,2,252,96,128,128,128,128,128,128,128,128,128,128,128, - 128,128,3,15,15,5,0,252,32,32,32,32,32,64,128,64, - 32,32,32,32,32,32,32,3,13,13,5,2,254,128,128,128, - 128,128,128,128,128,128,128,128,128,96,1,15,15,5,2,252, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,255, - 3,9,9,3,0,254,128,128,64,64,32,64,64,128,128,3, - 12,12,3,0,254,32,64,64,64,64,64,64,64,64,64,64, - 128,4,14,14,7,3,252,48,80,128,128,128,128,128,128,128, - 128,128,128,128,128,1,15,15,7,0,252,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,4,13,13,7,0,254, - 16,16,16,16,16,16,16,16,16,16,16,160,192,3,14,14, - 4,0,252,128,64,64,32,32,32,32,32,32,32,32,32,32, - 32,1,15,15,4,2,252,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,3,15,15,4,0,252,32,32,32,32, - 32,32,32,32,32,32,32,32,64,64,128,3,14,14,4,0, - 252,224,32,32,32,32,32,32,32,32,32,32,32,32,32,1, - 15,15,4,2,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,13,13,4,0,254,32,32,32,32,32,32, - 32,32,32,32,32,32,224,3,14,14,5,0,252,192,32,32, - 32,32,32,32,32,32,32,32,32,32,32,3,15,15,5,2, - 252,128,128,128,128,128,64,32,64,128,128,128,128,128,128,128, - 3,13,13,5,0,254,32,32,32,32,32,32,32,32,32,32, - 32,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 9 h=10 x= 1 y= 9 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w=11 h=15 x=-1 y=-4 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb08r[1211] U8G_FONT_SECTION("u8g_font_symb08r") = { - 0,11,15,255,252,7,1,152,3,60,32,127,254,10,253,7, - 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, - 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, - 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, - 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, - 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, - 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, - 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, - 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, - 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, - 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, - 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, - 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, - 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, - 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, - 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, - 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, - 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, - 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, - 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, - 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, - 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, - 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, - 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, - 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, - 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, - 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, - 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, - 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, - 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, - 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, - 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, - 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, - 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, - 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, - 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, - 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, - 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, - 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, - 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, - 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, - 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, - 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, - 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, - 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, - 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, - 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, - 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, - 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, - 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, - 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, - 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, - 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, - 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, - 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, - 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, - 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, - 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, - 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, - 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, - 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, - 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, - 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, - 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, - 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, - 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, - 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, - 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, - 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, - 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, - 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, - 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, - 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, - 64,128,5,2,2,6,0,2,104,176,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=15 x= 7 y=11 dx=15 dy= 0 ascent=12 len=24 - Font Bounding box w=16 h=15 x=-1 y=-3 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb10[3433] U8G_FONT_SECTION("u8g_font_symb10") = { - 0,16,15,255,253,10,2,6,4,121,32,255,253,12,253,10, - 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, - 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, - 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, - 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, - 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, - 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, - 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, - 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, - 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, - 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, - 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, - 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, - 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, - 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, - 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, - 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, - 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, - 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, - 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, - 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, - 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, - 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, - 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, - 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, - 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, - 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, - 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, - 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, - 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, - 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, - 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, - 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, - 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, - 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, - 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, - 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, - 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, - 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, - 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, - 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, - 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, - 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, - 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, - 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, - 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, - 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, - 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, - 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, - 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, - 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, - 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, - 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, - 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, - 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, - 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, - 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, - 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, - 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, - 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, - 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, - 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, - 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, - 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, - 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, - 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, - 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, - 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, - 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, - 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, - 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, - 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, - 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, - 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, - 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, - 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, - 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, - 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, - 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, - 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, - 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, - 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, - 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, - 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, - 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, - 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, - 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, - 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, - 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, - 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, - 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, - 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, - 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, - 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, - 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,255,8,10,10,9,0,0,198,105,43,16,16,16,16,16, - 16,56,4,3,3,4,0,7,48,96,128,7,9,9,8,0, - 0,2,12,48,192,48,12,2,0,254,5,10,10,4,255,0, - 8,8,16,16,32,32,64,64,128,128,9,4,8,10,0,2, - 119,0,152,128,140,128,119,0,7,13,13,7,0,253,6,10, - 8,8,60,16,16,16,32,32,32,160,192,9,7,14,11,1, - 0,28,0,28,0,28,0,235,128,255,128,235,128,8,0,7, - 7,7,11,2,0,16,56,124,254,124,56,16,7,7,7,11, - 2,0,108,254,254,254,124,56,16,9,7,14,11,1,0,8, - 0,28,0,62,0,127,0,255,128,107,0,8,0,13,7,14, - 15,1,0,16,64,32,32,64,16,255,248,64,16,32,32,16, - 64,14,7,14,14,0,0,16,0,32,0,64,0,255,252,64, - 0,32,0,16,0,7,15,15,9,1,253,16,56,84,146,16, - 16,16,16,16,16,16,16,16,16,16,14,7,14,14,0,0, - 0,32,0,16,0,8,255,252,0,8,0,16,0,32,7,15, - 15,9,1,253,16,16,16,16,16,16,16,16,16,16,16,146, - 84,56,16,4,4,4,6,1,6,96,144,144,96,7,9,9, - 8,0,0,16,16,16,254,16,16,16,0,254,7,3,3,6, - 0,7,54,108,144,7,9,9,8,0,0,128,96,24,6,24, - 96,128,0,254,7,7,7,8,0,0,130,68,40,16,40,68, - 130,8,4,4,10,0,2,119,136,136,119,6,11,11,7,0, - 0,112,136,4,4,4,116,204,132,132,200,112,5,5,5,7, - 1,1,112,248,248,248,112,7,7,7,8,0,0,16,16,0, - 254,0,16,16,7,7,7,8,0,0,4,8,254,16,254,32, - 64,7,5,5,8,0,1,254,0,254,0,254,7,5,5,8, - 0,2,114,156,0,114,156,11,2,4,15,2,0,132,32,132, - 32,1,15,15,9,4,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,15,1,2,15,0,3,255,254,8,9, - 9,10,0,0,1,1,1,1,1,1,65,255,64,8,10,10, - 12,2,0,136,206,102,36,116,156,140,70,99,225,8,12,12, - 10,1,255,63,97,66,70,36,6,3,1,97,241,26,12,10, - 11,22,12,1,0,115,0,157,128,137,128,139,0,206,0,106, - 0,41,0,9,0,9,0,105,0,176,192,9,12,24,12,1, - 253,16,0,35,0,69,128,72,128,144,128,212,128,105,0,107, - 0,182,0,144,0,144,0,96,0,9,9,18,11,1,0,28, - 0,99,0,99,0,148,128,136,128,148,128,99,0,99,0,28, - 0,9,9,18,11,1,0,28,0,99,0,73,0,136,128,190, - 128,136,128,73,0,99,0,28,0,11,11,22,12,0,0,31, - 32,96,192,64,192,129,32,130,32,132,32,136,32,144,32,96, - 64,96,192,159,0,10,7,14,10,0,0,30,0,97,128,64, - 128,128,64,128,64,128,64,128,64,10,7,14,10,0,0,128, - 64,128,64,128,64,128,64,64,128,97,128,30,0,9,7,14, - 10,0,0,254,0,1,0,0,128,0,128,0,128,1,0,254, - 0,9,9,18,10,1,254,254,0,1,0,0,128,0,128,0, - 128,1,0,254,0,0,0,255,128,9,9,18,10,0,255,1, - 0,63,128,66,0,130,0,132,0,132,0,72,0,63,128,16, - 0,9,7,14,10,1,0,63,128,64,0,128,0,128,0,128, - 0,64,0,63,128,9,9,18,10,0,254,63,128,64,0,128, - 0,128,0,128,0,64,0,63,128,0,0,255,128,7,7,7, - 10,1,0,62,64,128,254,128,64,62,7,9,9,10,0,255, - 4,62,72,144,254,144,96,62,64,11,10,20,11,0,0,0, - 64,0,128,1,0,2,0,4,0,8,0,16,0,32,0,64, - 0,255,224,9,11,22,10,0,0,255,128,128,128,65,0,65, - 0,34,0,34,0,34,0,20,0,20,0,8,0,8,0,10, - 10,20,12,1,0,30,0,33,0,124,128,146,64,146,64,156, - 64,146,64,121,128,33,0,30,0,10,10,20,12,1,0,30, - 0,33,0,78,128,146,64,144,64,144,64,146,64,76,128,33, - 0,30,0,11,6,12,11,0,4,250,128,170,128,38,192,37, - 64,37,64,118,224,10,12,24,12,1,255,255,192,64,128,64, - 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,64, - 128,225,192,8,12,12,8,0,0,1,1,1,2,2,98,164, - 36,20,20,8,8,1,2,2,4,1,3,128,128,9,5,10, - 10,0,0,255,128,0,128,0,128,0,128,0,128,8,7,7, - 9,0,0,24,24,36,36,66,66,129,8,7,7,9,0,0, - 129,66,66,36,36,24,24,13,7,14,15,1,0,16,64,32, - 32,127,240,192,24,127,240,32,32,16,64,13,7,14,14,0, - 0,16,0,32,0,127,248,192,0,127,248,32,0,16,0,7, - 12,12,9,1,0,16,56,108,170,40,40,40,40,40,40,40, - 40,13,7,14,14,1,0,0,64,0,32,255,240,0,24,255, - 240,0,32,0,64,7,12,12,9,1,0,40,40,40,40,40, - 40,40,40,170,108,56,16,7,11,11,7,0,0,16,40,40, - 68,68,130,68,68,40,40,16,4,15,15,5,0,253,16,32, - 32,64,64,64,128,128,128,64,64,64,32,32,16,10,10,20, - 12,1,0,30,0,33,0,92,128,146,64,146,64,156,64,146, - 64,82,128,33,0,30,0,10,10,20,12,1,0,30,0,33, - 0,76,128,146,64,144,64,144,64,146,64,76,128,33,0,30, - 0,10,6,12,11,0,4,250,128,34,128,38,192,37,64,37, - 64,36,64,9,12,24,10,0,255,255,0,129,0,64,0,32, - 0,16,0,8,0,8,0,16,0,32,0,64,0,128,128,255, - 128,4,15,15,6,1,253,16,32,64,64,128,128,128,128,128, - 128,128,128,128,128,128,1,15,15,6,1,253,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, - 253,128,128,128,128,128,128,128,128,128,128,128,64,64,32,16, - 4,15,15,6,1,253,240,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,1,15,15,6,1,253,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,4,15,15,6,1,253, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,240,4, - 15,15,7,3,253,48,64,128,128,128,128,128,128,128,128,128, - 128,128,128,128,3,15,15,7,1,253,32,32,32,32,32,32, - 64,128,64,32,32,32,32,32,32,4,15,15,7,3,253,128, - 128,128,128,128,128,128,128,128,128,128,128,128,64,48,1,15, - 15,7,3,253,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,255,4,15,15,5,1,253,128,64,64,32,32,32, - 16,16,16,32,32,32,64,64,128,5,13,13,4,0,255,24, - 40,32,32,32,32,32,32,32,32,32,160,192,5,15,15,10, - 5,253,56,88,64,128,128,128,128,128,128,128,128,128,128,128, - 128,1,15,15,10,5,253,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,5,15,15,10,1,253,8,8,8,8, - 8,8,8,8,8,8,8,8,16,208,224,4,15,15,6,1, - 253,128,64,32,32,16,16,16,16,16,16,16,16,16,16,16, - 1,15,15,6,4,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,4,15,15,6,1,253,16,16,16,16,16, - 16,16,16,16,16,16,32,32,64,128,4,15,15,6,1,253, - 240,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1, - 15,15,6,4,253,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,4,15,15,6,1,253,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,240,4,15,15,7,0,253,192, - 32,16,16,16,16,16,16,16,16,16,16,16,16,16,3,15, - 15,7,3,253,128,128,128,128,128,128,64,32,64,128,128,128, - 128,128,128,4,15,15,7,0,253,16,16,16,16,16,16,16, - 16,16,16,16,16,16,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=11 h=15 x= 7 y=11 dx=13 dy= 0 ascent=12 len=20 - Font Bounding box w=16 h=15 x=-1 y=-3 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =12 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb10r[1633] U8G_FONT_SECTION("u8g_font_symb10r") = { - 0,16,15,255,253,10,2,6,4,121,32,127,253,12,253,10, - 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, - 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, - 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, - 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, - 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, - 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, - 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, - 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, - 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, - 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, - 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, - 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, - 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, - 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, - 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, - 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, - 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, - 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, - 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, - 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, - 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, - 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, - 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, - 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, - 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, - 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, - 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, - 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, - 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, - 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, - 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, - 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, - 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, - 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, - 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, - 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, - 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, - 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, - 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, - 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, - 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, - 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, - 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, - 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, - 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, - 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, - 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, - 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, - 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, - 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, - 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, - 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, - 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, - 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, - 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, - 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, - 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, - 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, - 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, - 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, - 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, - 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, - 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, - 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, - 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, - 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, - 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, - 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, - 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, - 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, - 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, - 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, - 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, - 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, - 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, - 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, - 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, - 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, - 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, - 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, - 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, - 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, - 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, - 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, - 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, - 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, - 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, - 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, - 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, - 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, - 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, - 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, - 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, - 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, - 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=16 h=17 x= 7 y=12 dx=17 dy= 0 ascent=13 len=30 - Font Bounding box w=20 h=17 x=-3 y=-4 - Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb12[4136] U8G_FONT_SECTION("u8g_font_symb12") = { - 0,20,17,253,252,11,2,70,5,85,32,255,252,13,252,12, - 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, - 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, - 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, - 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, - 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, - 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, - 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, - 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, - 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, - 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, - 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, - 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, - 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, - 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, - 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, - 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, - 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, - 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, - 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, - 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, - 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, - 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, - 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, - 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, - 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, - 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, - 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, - 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, - 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, - 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, - 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, - 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, - 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, - 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, - 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, - 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, - 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, - 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, - 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, - 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, - 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, - 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, - 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, - 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, - 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, - 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, - 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, - 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, - 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, - 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, - 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, - 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, - 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, - 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, - 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, - 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, - 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, - 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, - 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, - 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, - 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, - 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, - 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, - 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, - 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, - 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, - 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, - 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, - 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, - 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, - 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, - 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, - 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, - 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, - 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, - 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, - 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, - 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, - 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, - 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, - 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, - 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, - 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, - 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, - 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, - 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, - 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, - 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, - 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, - 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, - 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, - 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, - 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, - 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, - 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, - 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, - 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, - 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, - 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, - 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, - 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, - 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, - 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, - 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, - 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, - 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, - 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, - 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, - 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, - 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, - 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, - 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,255,10,11,22,10,255,0,225,128,18,192,10,192,12,0, - 12,0,12,0,12,0,12,0,12,0,12,0,30,0,3,4, - 4,4,1,8,96,96,192,128,8,11,11,9,0,0,1,6, - 24,96,128,96,24,6,1,0,255,8,11,11,3,253,0,1, - 2,2,4,8,16,16,32,64,64,128,11,5,10,12,0,2, - 113,192,138,32,132,32,138,32,113,192,7,15,15,8,0,253, - 6,10,8,8,8,126,16,16,16,16,32,32,32,160,192,9, - 10,20,12,1,255,28,0,62,0,62,0,28,0,107,0,255, - 128,255,128,107,0,8,0,28,0,7,9,9,12,2,0,16, - 56,124,124,254,124,124,56,16,8,9,9,12,2,0,102,255, - 255,255,126,60,60,24,24,9,10,20,12,2,255,8,0,28, - 0,28,0,62,0,127,0,127,0,255,128,107,0,8,0,28, - 0,15,9,18,17,0,0,8,32,16,16,32,8,64,4,255, - 254,64,4,32,8,16,16,8,32,16,9,18,16,0,0,8, - 0,16,0,32,0,64,0,255,255,64,0,32,0,16,0,8, - 0,9,15,30,10,0,254,8,0,28,0,42,0,73,0,136, - 128,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,15,9,18,16,0,0,0,32,0,16,0, - 8,0,4,255,254,0,4,0,8,0,16,0,32,9,15,30, - 10,0,254,8,0,8,0,8,0,8,0,8,0,8,0,8, - 0,8,0,8,0,8,0,136,128,73,0,42,0,28,0,8, - 0,5,5,5,6,0,6,112,136,136,136,112,9,11,22,9, - 0,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, - 8,0,8,0,0,0,255,128,6,4,4,7,1,8,108,108, - 216,144,8,11,11,9,0,0,128,96,24,6,1,6,24,96, - 128,0,255,9,9,18,9,0,0,128,128,65,0,34,0,20, - 0,8,0,20,0,34,0,65,0,128,128,10,5,10,11,0, - 2,113,192,138,0,132,0,138,0,113,192,7,14,14,8,0, - 255,120,196,4,2,2,2,58,102,194,194,130,196,68,56,6, - 6,6,8,1,2,120,252,252,252,252,120,8,7,7,9,0, - 1,24,24,0,255,0,24,24,9,10,20,9,0,255,2,0, - 2,0,4,0,255,128,8,0,8,0,255,128,16,0,32,0, - 32,0,8,7,7,9,0,1,255,0,0,255,0,0,255,8, - 5,5,9,0,2,113,142,0,113,142,13,3,6,16,1,0, - 66,16,231,56,66,16,1,17,17,10,4,252,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,16,1,2, - 16,0,4,255,255,9,11,22,10,0,255,0,128,0,128,0, - 128,0,128,0,128,0,128,32,128,96,128,255,128,96,0,32, - 0,9,11,22,13,2,0,68,0,231,0,103,0,50,0,26, - 0,60,0,108,0,102,0,99,0,51,128,113,0,9,14,28, - 11,0,255,30,0,63,128,67,128,65,0,66,0,34,0,19, - 0,1,0,1,128,0,128,0,128,112,128,191,0,28,0,12, - 13,26,13,0,0,113,128,138,192,140,96,196,64,100,128,37, - 0,7,128,5,128,12,192,12,192,8,208,104,96,48,64,12, - 13,26,16,2,252,12,0,17,224,34,48,36,16,72,48,114, - 32,102,96,100,192,115,0,144,0,144,0,144,0,96,0,11, - 11,22,12,1,0,14,0,49,128,64,64,81,64,138,32,132, - 32,138,32,81,64,64,64,49,128,14,0,11,11,22,12,1, - 0,14,0,49,128,68,64,68,64,132,32,191,160,132,32,68, - 64,68,64,49,128,14,0,12,12,24,13,1,0,15,16,48, - 224,64,96,64,160,129,16,130,16,132,16,136,16,80,32,96, - 32,112,192,159,0,11,9,18,12,1,0,14,0,49,128,64, - 64,64,64,128,32,128,32,128,32,128,32,128,32,11,9,18, - 12,1,0,128,32,128,32,128,32,128,32,128,32,64,64,64, - 64,49,128,14,0,10,8,16,11,0,0,255,0,0,128,0, - 64,0,64,0,64,0,64,0,128,255,0,10,10,20,11,0, - 253,255,0,0,128,0,64,0,64,0,64,0,64,0,128,255, - 0,0,0,255,192,11,10,20,11,0,255,0,128,63,224,65, - 0,129,0,130,0,130,0,132,0,68,0,63,224,8,0,10, - 8,16,11,0,0,63,192,64,0,128,0,128,0,128,0,128, - 0,64,0,63,192,10,10,20,11,0,254,63,192,64,0,128, - 0,128,0,128,0,128,0,64,0,63,192,0,0,255,192,7, - 7,7,11,0,0,62,64,128,254,128,64,62,7,9,9,11, - 0,255,4,62,72,136,254,144,80,62,32,11,11,22,12,1, - 0,0,32,0,64,0,128,1,0,2,0,4,0,8,0,16, - 0,32,0,64,0,255,192,10,11,22,11,1,1,255,192,192, - 128,96,128,97,0,49,0,50,0,50,0,28,0,28,0,8, - 0,8,0,11,11,22,13,1,0,14,0,49,128,94,64,73, - 64,137,32,142,32,138,32,73,64,93,192,49,128,14,0,11, - 11,22,13,1,0,14,0,49,128,70,64,73,64,145,32,144, - 32,144,32,73,64,70,64,49,128,14,0,13,6,12,14,0, - 5,255,24,171,16,34,176,34,176,34,80,119,88,12,15,30, - 13,1,254,255,240,96,96,96,96,96,96,96,96,96,96,96, - 96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,240, - 240,7,16,16,9,1,253,2,2,2,2,2,4,68,196,36, - 36,20,20,20,8,8,8,2,2,2,4,1,3,192,192,11, - 5,10,12,0,0,255,224,0,32,0,32,0,32,0,32,9, - 8,16,10,0,0,8,0,8,0,20,0,34,0,34,0,65, - 0,128,128,128,128,9,8,16,10,0,0,128,128,128,128,65, - 0,34,0,34,0,20,0,8,0,8,0,16,9,18,17,0, - 0,8,16,16,8,63,252,64,2,128,1,64,2,63,252,16, - 8,8,16,15,9,18,16,0,0,8,0,16,0,63,254,64, - 0,128,0,64,0,63,254,16,0,8,0,9,15,30,10,0, - 254,8,0,20,0,34,0,99,0,162,128,34,0,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,15, - 9,18,16,0,0,0,32,0,16,255,248,0,4,0,2,0, - 4,255,248,0,16,0,32,9,15,30,10,0,254,34,0,34, - 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, - 0,162,128,99,0,34,0,20,0,8,0,7,12,12,8,0, - 0,16,40,40,68,68,130,130,68,68,40,40,16,4,15,15, - 5,0,254,16,16,32,32,64,64,128,128,128,64,64,32,32, - 16,16,11,11,22,13,1,0,14,0,49,128,94,64,81,64, - 145,32,158,32,145,32,81,64,81,64,49,128,14,0,11,11, - 22,13,1,0,14,0,49,128,70,64,73,64,144,32,144,32, - 144,32,73,64,70,64,49,128,14,0,11,6,12,13,0,5, - 252,32,38,96,38,96,37,160,37,160,36,32,11,15,30,11, - 0,254,255,192,112,64,56,64,24,0,12,0,14,0,7,0, - 3,0,2,0,4,0,8,0,16,32,32,64,127,192,255,128, - 6,17,17,6,1,252,4,8,16,32,32,64,64,64,64,128, - 128,128,128,128,128,128,128,1,17,17,6,1,252,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,17, - 17,6,1,252,128,128,128,128,128,128,128,128,64,64,64,64, - 32,32,16,8,4,5,17,17,6,0,252,248,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,1,17,17,6, - 0,252,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,5,17,17,6,0,252,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,248,4,17,17,8,3,252, - 48,64,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,4,17,17,8,0,252,16,16,16,16,16,16,16,32,192, - 32,16,16,16,16,16,16,16,4,17,17,8,3,252,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,64,48,1, - 17,17,8,3,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,255,4,15,15,5,0,254,128,128,64, - 64,32,32,16,16,16,32,32,64,64,128,128,5,17,17,5, - 0,252,24,40,32,32,32,32,32,32,32,32,32,32,32,32, - 32,160,192,6,17,17,11,5,252,24,44,72,64,128,128,128, - 128,128,128,128,128,128,128,128,128,128,1,17,17,11,5,252, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,6,17,17,11,0,252,4,4,4,4,4,4,4,4,4, - 4,4,4,4,8,72,208,96,6,17,17,7,1,252,128,64, - 32,16,16,8,8,8,8,4,4,4,4,4,4,4,4,1, - 17,17,6,5,252,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,128,128,6,17,17,6,0,252,4,4,4,4, - 4,4,4,4,8,8,8,8,16,16,32,64,128,5,17,17, - 6,1,252,248,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,1,17,17,6,5,252,128,128,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,5,17,17,6,1, - 252,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,248,4,17,17,8,0,252,192,32,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,4,17,17,8,3,252,128, - 128,128,128,128,128,128,64,48,64,128,128,128,128,128,128,128, - 4,17,17,8,0,252,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,32,192,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 12 - Calculated Max Values w=13 h=17 x= 7 y=12 dx=14 dy= 0 ascent=13 len=26 - Font Bounding box w=20 h=17 x=-3 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =12 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb12r[1985] U8G_FONT_SECTION("u8g_font_symb12r") = { - 0,20,17,253,252,11,2,70,5,85,32,127,252,13,252,12, - 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, - 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, - 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, - 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, - 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, - 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, - 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, - 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, - 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, - 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, - 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, - 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, - 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, - 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, - 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, - 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, - 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, - 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, - 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, - 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, - 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, - 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, - 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, - 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, - 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, - 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, - 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, - 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, - 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, - 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, - 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, - 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, - 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, - 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, - 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, - 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, - 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, - 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, - 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, - 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, - 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, - 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, - 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, - 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, - 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, - 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, - 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, - 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, - 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, - 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, - 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, - 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, - 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, - 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, - 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, - 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, - 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, - 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, - 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, - 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, - 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, - 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, - 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, - 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, - 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, - 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, - 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, - 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, - 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, - 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, - 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, - 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, - 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, - 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, - 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, - 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, - 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, - 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, - 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, - 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, - 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, - 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, - 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, - 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, - 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, - 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, - 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, - 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, - 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, - 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, - 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, - 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, - 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, - 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, - 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, - 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, - 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, - 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, - 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, - 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, - 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, - 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, - 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, - 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, - 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, - 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, - 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, - 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, - 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, - 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, - 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, - 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, - 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, - 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, - 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, - 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, - 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, - 255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=19 h=19 x= 9 y=13 dx=19 dy= 0 ascent=14 len=34 - Font Bounding box w=20 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb14[4665] U8G_FONT_SECTION("u8g_font_symb14") = { - 0,20,19,255,251,13,2,127,6,16,32,255,252,14,251,13, - 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, - 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, - 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, - 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, - 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, - 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, - 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, - 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, - 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, - 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, - 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, - 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, - 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, - 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, - 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, - 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, - 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, - 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, - 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, - 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, - 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, - 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, - 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, - 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, - 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, - 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, - 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, - 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, - 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, - 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, - 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, - 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, - 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, - 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, - 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, - 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, - 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, - 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, - 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, - 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, - 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, - 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, - 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, - 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, - 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, - 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, - 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, - 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, - 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, - 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, - 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, - 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, - 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, - 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, - 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, - 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, - 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, - 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, - 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, - 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, - 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, - 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, - 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, - 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, - 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, - 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, - 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, - 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, - 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, - 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, - 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, - 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, - 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, - 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, - 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, - 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, - 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, - 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, - 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, - 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, - 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, - 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, - 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, - 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, - 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, - 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, - 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, - 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, - 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, - 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, - 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, - 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, - 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, - 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, - 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, - 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, - 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, - 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, - 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, - 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, - 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, - 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, - 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, - 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, - 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, - 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, - 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, - 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, - 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, - 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, - 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, - 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, - 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, - 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, - 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, - 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, - 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, - 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, - 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, - 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, - 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, - 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, - 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, - 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, - 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, - 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, - 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, - 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, - 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, - 4,115,255,206,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,255,11,13,26,12,0,0,225,192,115,32, - 58,96,28,96,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,30,0,4,5,5,5,1,9,48,112,96,192, - 128,9,12,24,10,0,0,3,128,15,0,60,0,240,0,192, - 0,240,0,60,0,15,0,3,128,0,0,255,128,255,128,8, - 13,13,5,255,0,3,6,6,12,12,24,24,48,48,96,96, - 192,192,12,5,10,13,0,3,121,224,207,48,134,16,207,48, - 121,224,9,17,34,9,0,252,3,128,5,128,12,0,12,0, - 12,0,127,0,24,0,24,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,208,0,224,0,10,9,18,14,2,0, - 12,0,30,0,30,0,30,0,109,128,255,192,255,192,109,128, - 12,0,9,9,18,13,2,0,8,0,28,0,62,0,127,0, - 255,128,127,0,62,0,28,0,8,0,9,9,18,13,2,0, - 99,0,247,128,255,128,255,128,127,0,127,0,62,0,28,0, - 8,0,10,9,18,14,2,0,12,0,30,0,63,0,127,128, - 255,192,255,192,109,128,12,0,12,0,17,8,24,19,1,1, - 24,12,0,48,6,0,96,3,0,255,255,128,255,255,128,96, - 3,0,48,6,0,24,12,0,18,8,24,18,0,1,24,0, - 0,48,0,0,96,0,0,255,255,192,255,255,192,96,0,0, - 48,0,0,24,0,0,8,19,19,10,1,251,24,60,126,219, - 153,24,24,24,24,24,24,24,24,24,24,24,24,24,24,18, - 8,24,18,0,1,0,6,0,0,3,0,0,1,128,255,255, - 192,255,255,192,0,1,128,0,3,0,0,6,0,8,19,19, - 10,1,251,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,153,219,126,60,24,5,6,6,7,1,7,112,248,216,216, - 248,112,8,11,11,10,1,0,24,24,24,255,255,24,24,24, - 0,255,255,8,5,5,8,0,9,51,119,102,204,136,9,12, - 24,10,0,0,224,0,120,0,30,0,7,128,1,128,7,128, - 30,0,120,0,224,0,0,0,255,128,255,128,10,9,18,10, - 0,0,225,192,115,128,51,0,30,0,12,0,30,0,51,0, - 115,128,225,192,11,5,10,12,0,3,121,224,207,0,134,0, - 207,0,121,224,7,14,14,9,1,0,120,204,134,6,6,6, - 62,102,198,198,198,196,236,120,5,6,6,9,2,2,112,248, - 248,248,248,112,8,8,8,10,1,1,24,24,0,255,255,0, - 24,24,8,9,9,10,1,0,12,12,255,255,24,255,255,48, - 48,8,8,8,10,1,1,255,255,0,255,255,0,255,255,8, - 7,7,10,1,2,115,255,206,0,115,255,206,14,2,4,18, - 2,0,195,12,195,12,2,19,19,10,4,251,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,19, - 2,6,19,0,4,255,255,224,255,255,224,9,12,24,12,1, - 0,1,128,1,128,1,128,1,128,1,128,1,128,33,128,97, - 128,255,128,255,128,96,0,32,0,11,13,26,13,1,0,194, - 0,227,192,113,224,56,224,57,128,125,0,207,0,199,0,227, - 0,115,128,49,192,112,192,240,64,10,15,30,13,1,255,31, - 192,63,192,96,128,65,0,66,0,34,0,19,0,3,128,1, - 192,0,192,0,192,112,192,248,128,31,0,14,0,13,14,28, - 15,1,0,121,192,254,224,142,112,134,48,198,96,118,128,54, - 64,38,96,6,96,6,96,6,96,6,96,108,120,184,48,12, - 15,30,14,1,252,12,0,24,0,49,224,103,48,204,48,216, - 48,214,48,246,96,100,224,119,192,179,128,152,0,152,0,216, - 0,112,0,12,13,26,14,1,0,31,128,57,192,96,96,217, - 176,221,176,143,16,134,16,143,16,219,176,217,176,96,96,57, - 192,31,128,12,13,26,14,1,0,31,128,57,192,102,96,198, - 48,198,48,191,208,191,208,134,16,198,48,198,48,96,96,57, - 192,31,128,12,13,26,14,1,0,31,176,57,240,96,96,192, - 240,193,176,131,16,134,16,140,16,216,48,240,48,96,96,249, - 192,223,128,12,9,18,14,1,0,31,128,57,192,96,96,224, - 112,192,48,192,48,192,48,192,48,192,48,12,9,18,14,1, - 0,192,48,192,48,192,48,192,48,192,48,224,112,96,96,57, - 192,31,128,12,9,18,13,1,0,255,128,255,224,0,96,0, - 48,0,48,0,48,0,96,255,224,255,128,12,12,24,13,0, - 253,255,128,255,224,0,96,0,48,0,48,0,48,0,96,255, - 224,255,128,0,0,255,240,255,240,12,13,26,13,0,254,0, - 96,0,192,31,240,127,240,97,128,195,0,195,0,198,0,102, - 0,127,240,31,240,24,0,48,0,12,9,18,13,0,0,31, - 240,127,240,96,0,192,0,192,0,192,0,96,0,127,240,31, - 240,12,12,24,13,0,253,31,240,127,240,96,0,192,0,192, - 0,192,0,96,0,127,240,31,240,0,0,255,240,255,240,9, - 9,18,12,1,0,31,128,127,128,224,0,192,0,255,128,192, - 0,224,0,127,128,31,128,10,11,22,12,1,255,0,128,31, - 192,127,192,226,0,196,0,255,128,200,0,240,0,127,192,63, - 192,64,0,13,13,26,14,0,0,0,24,0,48,0,96,0, - 192,1,128,3,0,6,0,12,0,24,0,48,0,96,0,192, - 0,255,248,11,13,26,13,1,0,255,224,224,32,96,96,96, - 64,112,192,48,128,48,128,57,128,25,0,27,0,14,0,14, - 0,4,0,13,13,26,15,1,0,31,192,56,224,96,48,223, - 24,205,152,205,152,205,152,207,24,205,152,220,216,96,48,56, - 224,31,192,13,13,26,15,1,0,31,192,56,224,96,48,199, - 152,205,152,204,152,204,24,204,24,204,152,199,24,96,48,56, - 224,31,192,14,8,16,16,1,5,251,28,171,24,35,24,34, - 168,34,168,34,168,34,72,119,92,14,16,32,15,0,254,255, - 252,120,120,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,48,120,120,252,252,9, - 14,28,10,0,0,0,128,0,128,0,128,0,128,48,128,113, - 0,217,0,25,0,25,0,13,0,14,0,6,0,6,0,6, - 0,2,2,2,4,1,4,192,192,11,6,12,13,1,0,255, - 224,255,224,0,96,0,96,0,96,0,96,10,9,18,11,0, - 0,12,0,12,0,30,0,51,0,51,0,97,128,97,128,192, - 192,192,192,10,9,18,11,0,0,192,192,192,192,97,128,97, - 128,51,0,51,0,30,0,12,0,12,0,18,9,27,18,0, - 0,8,4,0,24,6,0,63,255,0,127,255,128,224,1,192, - 127,255,128,63,255,0,24,6,0,8,4,0,16,9,18,18, - 1,0,8,0,24,0,63,255,127,255,224,0,127,255,63,255, - 24,0,8,0,9,17,34,11,1,253,8,0,28,0,54,0, - 119,0,247,128,54,0,54,0,54,0,54,0,54,0,54,0, - 54,0,54,0,54,0,54,0,54,0,54,0,16,9,18,18, - 1,0,0,16,0,24,255,252,255,254,0,7,255,254,255,252, - 0,24,0,16,9,17,34,11,1,253,54,0,54,0,54,0, - 54,0,54,0,54,0,54,0,54,0,54,0,54,0,54,0, - 54,0,247,128,119,0,54,0,28,0,8,0,9,14,28,9, - 0,0,28,0,28,0,54,0,54,0,99,0,99,0,193,128, - 193,128,99,0,99,0,54,0,54,0,28,0,28,0,5,17, - 17,6,0,253,24,24,48,48,96,96,192,192,128,192,192,96, - 96,48,48,24,24,13,13,26,15,1,0,31,192,56,224,96, - 48,207,24,205,152,205,152,207,24,205,152,205,152,205,152,96, - 48,56,224,31,192,13,13,26,15,1,0,31,192,56,224,96, - 48,199,24,204,152,204,24,204,24,204,24,204,152,199,24,96, - 48,56,224,31,192,13,8,16,15,1,5,251,24,35,24,35, - 24,34,168,34,168,34,168,34,72,34,72,12,16,32,13,0, - 254,255,224,224,96,112,32,56,0,28,0,14,0,7,0,3, - 0,6,0,12,0,24,0,48,0,96,16,192,48,255,240,255, - 240,6,19,19,7,1,251,4,12,24,24,48,48,96,96,96, - 96,192,192,192,192,192,192,192,192,192,2,19,19,7,1,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,6,19,19,7,1,251,192,192,192,192,192,192,192, - 192,192,224,96,96,96,48,48,24,24,12,4,5,19,19,7, - 1,251,248,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,2,19,19,7,1,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,19, - 19,7,1,251,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,5,19,19,9,4,251,56,96,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 5,19,19,9,1,251,24,24,24,24,24,24,16,48,96,192, - 96,48,16,24,24,24,24,24,24,5,19,19,9,4,251,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 96,56,2,19,19,9,4,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,255,5,17,17,6, - 0,253,192,192,96,96,48,48,24,24,8,24,24,48,48,96, - 96,192,192,6,19,19,6,0,251,28,28,48,48,48,48,48, - 48,48,48,48,48,48,48,48,48,48,224,224,7,19,19,13, - 5,251,28,126,102,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,2,19,19,13,5,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,7,19, - 19,13,0,251,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,204,252,112,6,19,19,7,0,251,128,192,96, - 96,48,48,24,24,24,24,12,12,12,12,12,12,12,12,12, - 2,19,19,7,4,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,6,19,19,7,0,251,12, - 12,12,12,12,12,12,12,12,24,24,24,24,48,48,96,96, - 192,128,5,19,19,7,1,251,248,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,2,19,19,7,4, - 251,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,5,19,19,7,1,251,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,5,19,19, - 9,1,251,224,48,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,5,19,19,9,4,251,192,192,192,192, - 192,192,64,96,48,24,48,96,64,192,192,192,192,192,192,5, - 19,19,9,1,251,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,48,224,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=14 h=19 x= 9 y=13 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=20 h=19 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb14r[2261] U8G_FONT_SECTION("u8g_font_symb14r") = { - 0,20,19,255,251,13,2,127,6,16,32,127,252,14,251,13, - 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, - 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, - 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, - 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, - 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, - 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, - 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, - 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, - 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, - 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, - 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, - 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, - 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, - 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, - 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, - 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, - 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, - 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, - 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, - 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, - 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, - 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, - 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, - 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, - 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, - 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, - 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, - 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, - 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, - 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, - 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, - 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, - 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, - 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, - 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, - 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, - 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, - 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, - 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, - 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, - 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, - 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, - 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, - 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, - 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, - 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, - 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, - 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, - 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, - 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, - 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, - 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, - 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, - 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, - 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, - 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, - 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, - 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, - 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, - 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, - 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, - 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, - 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, - 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, - 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, - 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, - 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, - 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, - 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, - 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, - 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, - 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, - 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, - 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, - 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, - 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, - 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, - 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, - 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, - 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, - 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, - 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, - 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, - 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, - 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, - 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, - 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, - 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, - 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, - 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, - 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, - 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, - 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, - 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, - 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, - 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, - 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, - 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, - 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, - 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, - 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, - 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, - 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, - 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, - 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, - 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, - 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, - 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, - 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, - 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, - 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, - 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, - 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, - 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, - 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, - 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, - 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, - 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, - 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, - 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, - 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, - 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, - 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, - 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, - 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, - 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, - 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, - 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, - 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, - 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, - 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, - 4,115,255,206,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=25 h=24 x=13 y=18 dx=26 dy= 0 ascent=19 len=63 - Font Bounding box w=27 h=24 x=-1 y=-5 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb18[6604] U8G_FONT_SECTION("u8g_font_symb18") = { - 0,27,24,255,251,17,3,215,8,151,32,255,251,19,251,17, - 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, - 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, - 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, - 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, - 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, - 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, - 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, - 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, - 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, - 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, - 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, - 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, - 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, - 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, - 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, - 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, - 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, - 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, - 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, - 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, - 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, - 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, - 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, - 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, - 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, - 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, - 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, - 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, - 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, - 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, - 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, - 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, - 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, - 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, - 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, - 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, - 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, - 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, - 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, - 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, - 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, - 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, - 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, - 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, - 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, - 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, - 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, - 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, - 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, - 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, - 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, - 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, - 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, - 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, - 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, - 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, - 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, - 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, - 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, - 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, - 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, - 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, - 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, - 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, - 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, - 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, - 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, - 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, - 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, - 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, - 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, - 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, - 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, - 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, - 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, - 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, - 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, - 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, - 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, - 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, - 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, - 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, - 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, - 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, - 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, - 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, - 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, - 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, - 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, - 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, - 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, - 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, - 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, - 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, - 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, - 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, - 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, - 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, - 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, - 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, - 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, - 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, - 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, - 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, - 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, - 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, - 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, - 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, - 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, - 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, - 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, - 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, - 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, - 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, - 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, - 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, - 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, - 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, - 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, - 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, - 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, - 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, - 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, - 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, - 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, - 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, - 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, - 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, - 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, - 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, - 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, - 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, - 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, - 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, - 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, - 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, - 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, - 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, - 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, - 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, - 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, - 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, - 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, - 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, - 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, - 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, - 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, - 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, - 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, - 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, - 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, - 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, - 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, - 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, - 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, - 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, - 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, - 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, - 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, - 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, - 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, - 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, - 124,96,199,192,131,128,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,255,13,17,34,15,1,0,224,112, - 112,216,57,184,27,48,14,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, - 5,6,6,6,1,12,24,56,112,96,192,128,12,15,30,14, - 0,0,0,112,1,224,7,128,30,0,120,0,224,0,224,0, - 120,0,30,0,3,192,0,240,0,48,0,0,255,240,255,240, - 8,17,17,4,255,0,3,3,6,6,12,12,24,24,24,48, - 48,96,96,96,192,192,192,15,7,14,17,1,4,56,56,124, - 124,198,198,195,134,199,198,124,124,56,56,13,22,44,13,0, - 251,0,240,1,152,1,152,3,0,3,0,3,0,31,192,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,204,0,204,0,120,0,14,13,26, - 18,2,0,7,128,15,192,15,192,15,192,15,192,119,184,251, - 124,255,252,255,252,251,124,115,56,3,0,7,128,10,13,26, - 18,4,0,12,0,30,0,63,0,63,0,127,128,127,128,255, - 192,127,128,127,128,63,0,30,0,30,0,12,0,12,13,26, - 18,3,0,112,224,249,240,255,240,255,240,255,240,255,240,127, - 224,127,224,63,192,31,128,31,128,15,0,6,0,12,13,26, - 18,3,0,6,0,15,0,31,128,31,128,63,192,127,224,127, - 224,255,240,255,240,246,240,102,96,6,0,6,0,24,12,36, - 26,1,1,6,0,96,12,0,48,24,0,24,48,0,12,96, - 0,6,255,255,255,255,255,255,96,0,6,48,0,12,24,0, - 24,12,0,48,6,0,96,25,12,48,25,0,1,6,0,0, - 0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0, - 0,255,255,255,128,255,255,255,128,96,0,0,0,48,0,0, - 0,24,0,0,0,12,0,0,0,6,0,0,0,12,24,48, - 14,1,251,6,0,15,0,31,128,54,192,102,96,198,48,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,25,12,48,25,0,1,0,0,48,0,0,0,24, - 0,0,0,12,0,0,0,6,0,0,0,3,0,255,255,255, - 128,255,255,255,128,0,0,3,0,0,0,6,0,0,0,12, - 0,0,0,24,0,0,0,48,0,12,24,48,14,1,251,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,198,48,102,96,54,192,31,128,15,0,6,0,7, - 7,7,9,1,10,56,108,198,198,198,108,56,10,14,28,12, - 1,0,12,0,12,0,12,0,12,0,255,192,255,192,12,0, - 12,0,12,0,12,0,0,0,0,0,255,192,255,192,9,6, - 12,10,1,12,25,128,59,128,119,0,102,0,204,0,136,0, - 12,15,30,14,0,0,224,0,120,0,30,0,7,128,1,224, - 0,112,0,112,1,224,7,128,62,0,240,0,192,0,0,0, - 255,240,255,240,11,10,20,13,1,2,192,96,96,192,49,128, - 27,0,14,0,14,0,27,0,49,128,96,192,192,96,14,7, - 14,16,1,4,56,56,124,124,198,192,195,128,199,192,124,124, - 56,56,10,19,38,12,1,0,62,0,99,0,193,128,1,128, - 0,192,0,192,0,192,0,192,30,192,115,192,97,192,192,192, - 192,192,193,128,193,128,193,128,227,0,119,0,62,0,8,8, - 8,12,2,3,60,126,255,255,255,255,126,60,10,8,16,12, - 1,3,12,0,12,0,0,0,255,192,255,192,0,0,12,0, - 12,0,10,13,26,14,2,0,1,128,1,128,3,0,3,0, - 255,192,255,192,12,0,255,192,255,192,48,0,48,0,96,0, - 96,0,11,8,16,13,1,3,255,224,255,224,0,0,255,224, - 255,224,0,0,255,224,255,224,11,8,16,13,1,3,56,32, - 124,96,199,192,131,128,56,32,124,96,199,192,131,128,18,2, - 6,24,3,0,192,192,192,192,192,192,2,24,24,14,6,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,25,2,8,25,0,6,255,255, - 255,128,255,255,255,128,14,16,32,16,1,0,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 32,12,96,12,255,252,255,252,96,0,32,0,12,16,32,14, - 1,0,129,128,195,0,227,240,113,240,56,96,28,192,60,128, - 110,128,199,128,195,128,227,128,241,192,112,224,48,112,112,48, - 224,16,14,19,38,16,1,255,15,128,63,252,112,248,96,48, - 64,96,64,192,96,192,48,224,28,112,0,56,0,56,0,28, - 0,28,0,12,48,12,120,12,222,24,15,240,3,192,17,18, - 54,19,1,0,30,24,0,63,60,0,99,206,0,193,135,0, - 129,131,0,193,134,0,225,140,0,113,184,0,57,176,0,25, - 152,0,17,152,0,1,152,0,1,156,0,1,140,0,1,140, - 0,25,134,128,63,7,128,78,7,0,15,20,40,19,2,251, - 6,0,12,0,24,60,48,254,49,134,99,6,102,6,108,6, - 104,12,121,156,115,152,114,48,122,112,91,224,221,128,140,0, - 140,0,140,0,216,0,112,0,16,17,34,18,1,0,7,224, - 30,120,56,28,96,6,104,22,204,51,198,99,195,195,193,131, - 195,195,198,99,204,51,104,22,96,6,56,28,30,120,7,224, - 16,17,34,18,1,0,7,224,30,120,56,28,97,134,97,134, - 193,131,193,131,207,243,207,243,193,131,193,131,193,131,97,134, - 96,6,56,28,30,120,7,224,18,17,51,20,1,0,3,240, - 192,15,253,128,28,15,0,48,7,0,48,15,0,96,25,128, - 96,49,128,96,97,128,96,193,128,97,129,128,99,1,128,102, - 1,128,60,3,0,56,3,0,60,14,0,111,252,0,195,240, - 0,16,13,26,18,1,0,7,224,31,248,56,28,96,6,96, - 6,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, - 3,16,13,26,18,1,0,192,3,192,3,192,3,192,3,192, - 3,192,3,192,3,192,3,96,6,96,6,56,28,31,248,7, - 224,15,12,24,17,1,0,255,224,255,248,0,28,0,12,0, - 6,0,6,0,6,0,6,0,12,0,28,255,248,255,224,15, - 15,30,17,1,253,255,224,255,248,0,28,0,12,0,6,0, - 6,0,6,0,6,0,12,0,28,255,248,255,224,0,0,255, - 254,255,254,15,16,32,17,1,254,0,12,0,12,15,254,63, - 254,112,48,96,48,192,96,192,96,192,192,192,192,97,128,113, - 128,63,254,15,254,6,0,6,0,15,12,24,17,1,0,15, - 254,63,254,112,0,96,0,192,0,192,0,192,0,192,0,96, - 0,112,0,63,254,15,254,15,15,30,17,1,253,15,254,63, - 254,112,0,96,0,192,0,192,0,192,0,192,0,96,0,112, - 0,63,254,15,254,0,0,255,254,255,254,12,13,26,16,2, - 0,31,240,127,240,96,0,192,0,192,0,192,0,255,240,192, - 0,192,0,192,0,96,0,127,240,31,240,12,15,30,16,2, - 255,0,192,31,240,127,240,97,128,193,128,195,0,195,0,255, - 240,198,0,198,0,204,0,108,0,127,240,31,240,24,0,17, - 16,48,19,1,0,0,1,128,0,3,0,0,6,0,0,12, - 0,0,24,0,0,48,0,0,96,0,0,192,0,1,128,0, - 3,0,0,6,0,0,12,0,0,24,0,0,48,0,0,127, - 255,128,255,255,128,16,18,36,18,1,0,255,255,192,3,192, - 2,96,6,96,4,48,12,48,8,48,24,24,16,24,48,12, - 32,12,32,6,96,6,64,3,192,3,192,1,128,1,128,16, - 17,34,18,1,0,7,224,30,120,56,28,96,6,111,230,198, - 115,198,51,198,115,199,227,198,195,198,99,198,51,111,62,96, - 6,56,28,30,120,7,224,16,17,34,18,1,0,7,224,30, - 120,56,28,96,6,99,230,198,99,204,35,204,3,204,3,204, - 3,204,3,206,51,103,230,99,198,56,28,30,120,7,224,20, - 10,30,22,1,7,255,96,112,153,96,96,24,112,224,24,112, - 224,24,89,96,24,89,96,24,78,96,24,78,96,24,70,96, - 60,230,240,17,21,63,19,1,253,255,255,128,48,6,0,48, - 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 48,6,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,252,31,128,14,19,38,14,0,0,0,12, - 0,12,0,8,0,8,0,24,48,24,112,16,216,16,24,16, - 12,48,12,48,6,32,6,32,3,32,3,96,1,192,1,192, - 0,192,0,192,2,2,2,6,2,6,192,192,15,8,16,17, - 1,0,255,254,255,254,0,6,0,6,0,6,0,6,0,6, - 0,6,13,12,24,15,1,0,7,0,7,0,13,128,13,128, - 24,192,24,192,48,96,48,96,96,48,96,48,192,24,192,24, - 13,12,24,15,1,0,192,24,192,24,96,48,96,48,48,96, - 48,96,24,192,24,192,13,128,13,128,7,0,7,0,23,12, - 36,25,1,0,6,0,192,12,0,96,24,0,48,63,255,248, - 127,255,252,224,0,14,224,0,14,127,255,252,63,255,248,24, - 0,48,12,0,96,6,0,192,23,12,36,25,1,0,6,0, - 0,12,0,0,24,0,0,63,255,254,127,255,254,224,0,0, - 224,0,0,127,255,254,63,255,254,24,0,0,12,0,0,6, - 0,0,12,19,38,14,1,0,6,0,15,0,31,128,57,192, - 121,224,217,176,25,128,25,128,25,128,25,128,25,128,25,128, - 25,128,25,128,25,128,25,128,25,128,25,128,25,128,23,12, - 36,25,1,0,0,0,192,0,0,96,0,0,48,255,255,248, - 255,255,252,0,0,14,0,0,14,255,255,252,255,255,248,0, - 0,48,0,0,96,0,0,192,12,19,38,14,1,0,25,128, - 25,128,25,128,25,128,25,128,25,128,25,128,25,128,25,128, - 25,128,25,128,25,128,25,128,217,176,121,224,57,192,31,128, - 15,0,6,0,10,18,36,12,1,0,12,0,30,0,30,0, - 51,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 97,128,97,128,51,0,51,0,30,0,30,0,12,0,7,22, - 22,8,0,251,6,6,12,12,24,24,48,48,96,96,192,192, - 96,96,48,48,24,24,12,12,6,6,16,17,34,18,1,0, - 7,224,30,120,56,28,96,6,103,230,198,51,198,51,198,51, - 199,227,198,99,198,51,198,51,102,50,96,6,56,28,30,120, - 7,224,16,17,34,18,1,0,7,224,30,120,56,28,96,6, - 99,198,198,99,204,35,204,3,200,3,200,3,204,3,204,35, - 102,102,99,198,56,28,30,120,7,224,18,10,30,20,1,7, - 254,192,192,24,192,192,24,225,192,24,225,192,24,243,192,24, - 210,192,24,222,192,24,204,192,24,204,192,24,204,192,14,20, - 40,18,2,254,255,248,224,24,112,8,56,0,28,0,14,0, - 7,0,3,128,1,192,0,192,1,128,3,0,6,0,12,0, - 24,0,48,0,96,4,192,12,255,252,255,252,9,24,48,10, - 1,251,1,128,3,0,6,0,12,0,24,0,24,0,48,0, - 48,0,96,0,96,0,96,0,96,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,2,24,24,10,1,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 9,24,48,10,1,251,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,0,96,0,96,0,48,0,48,0,24,0,24,0,12,0, - 6,0,3,0,1,128,7,24,24,10,1,251,254,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,2,24,24,10,1,251,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,7,24,24,10,1,251,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,254, - 7,24,24,12,5,251,30,48,96,96,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,24, - 24,12,2,251,24,24,24,24,24,24,24,24,16,48,96,192, - 96,48,16,24,24,24,24,24,24,24,24,24,7,24,24,12, - 5,251,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,96,96,48,30,2,24,24,12,5,251, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,255,7,22,22,8,1,251,192, - 192,96,96,48,48,24,24,12,12,6,6,12,12,24,24,48, - 48,96,96,192,192,8,24,24,8,0,251,7,15,27,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 216,240,224,8,24,24,17,8,251,14,27,51,32,96,64,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,2,24,24,17,8,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,8, - 24,24,17,2,251,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,2,6,204,216,112,9,24,48, - 10,0,251,192,0,96,0,48,0,24,0,12,0,12,0,6, - 0,6,0,3,0,3,0,3,0,3,0,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,2,24,24,10,7,251,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,9,24,48,10,0,251,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3, - 0,3,0,3,0,3,0,6,0,6,0,12,0,12,0,24, - 0,48,0,96,0,192,0,7,24,24,10,2,251,254,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,2,24,24,10,7,251,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,7,24,24,10,2,251,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 254,7,24,24,12,0,251,240,24,12,12,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5, - 24,24,12,5,251,192,192,192,192,192,192,192,192,64,96,48, - 24,48,96,64,192,192,192,192,192,192,192,192,192,7,24,24, - 12,0,251,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,12,12,24,240,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=20 h=24 x=13 y=18 dx=22 dy= 0 ascent=19 len=51 - Font Bounding box w=27 h=24 x=-1 y=-5 - Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =19 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb18r[3303] U8G_FONT_SECTION("u8g_font_symb18r") = { - 0,27,24,255,251,17,3,215,8,151,32,127,251,19,251,17, - 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, - 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, - 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, - 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, - 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, - 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, - 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, - 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, - 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, - 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, - 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, - 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, - 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, - 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, - 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, - 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, - 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, - 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, - 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, - 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, - 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, - 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, - 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, - 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, - 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, - 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, - 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, - 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, - 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, - 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, - 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, - 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, - 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, - 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, - 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, - 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, - 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, - 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, - 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, - 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, - 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, - 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, - 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, - 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, - 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, - 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, - 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, - 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, - 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, - 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, - 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, - 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, - 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, - 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, - 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, - 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, - 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, - 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, - 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, - 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, - 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, - 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, - 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, - 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, - 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, - 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, - 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, - 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, - 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, - 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, - 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, - 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, - 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, - 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, - 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, - 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, - 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, - 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, - 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, - 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, - 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, - 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, - 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, - 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, - 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, - 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, - 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, - 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, - 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, - 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, - 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, - 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, - 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, - 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, - 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, - 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, - 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, - 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, - 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, - 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, - 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, - 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, - 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, - 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, - 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, - 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, - 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, - 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, - 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, - 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, - 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, - 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, - 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, - 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, - 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, - 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, - 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, - 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, - 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, - 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, - 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, - 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, - 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, - 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, - 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, - 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, - 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, - 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, - 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, - 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, - 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, - 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, - 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, - 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, - 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, - 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, - 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, - 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, - 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, - 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, - 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, - 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, - 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, - 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, - 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, - 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, - 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, - 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, - 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, - 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, - 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, - 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, - 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, - 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, - 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, - 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, - 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, - 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, - 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, - 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, - 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, - 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, - 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, - 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, - 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, - 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, - 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, - 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, - 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, - 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, - 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, - 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, - 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, - 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, - 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, - 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, - 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, - 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, - 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, - 124,96,199,192,131,128,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=34 x=15 y=26 dx=34 dy= 0 ascent=27 len=108 - Font Bounding box w=40 h=34 x=-5 y=-7 - Calculated Min Values x=-5 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb24[10727] U8G_FONT_SECTION("u8g_font_symb24") = { - 0,40,34,251,249,23,5,133,13,247,32,255,249,27,249,23, - 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, - 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, - 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, - 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, - 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, - 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, - 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, - 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, - 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, - 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, - 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, - 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, - 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, - 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, - 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, - 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, - 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, - 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, - 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, - 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, - 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, - 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, - 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, - 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, - 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, - 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, - 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, - 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, - 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, - 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, - 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, - 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, - 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, - 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, - 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, - 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, - 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, - 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, - 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, - 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, - 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, - 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, - 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, - 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, - 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, - 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, - 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, - 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, - 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, - 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, - 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, - 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, - 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, - 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, - 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, - 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, - 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, - 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, - 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, - 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, - 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, - 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, - 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, - 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, - 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, - 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, - 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, - 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, - 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, - 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, - 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, - 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, - 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, - 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, - 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, - 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, - 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, - 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, - 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, - 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, - 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, - 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, - 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, - 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, - 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, - 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, - 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, - 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, - 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, - 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, - 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, - 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, - 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, - 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, - 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, - 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, - 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, - 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, - 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, - 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, - 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, - 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, - 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, - 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, - 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, - 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, - 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, - 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, - 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, - 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, - 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, - 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, - 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, - 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, - 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, - 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, - 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, - 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, - 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, - 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, - 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, - 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, - 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, - 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, - 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, - 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, - 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, - 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, - 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, - 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, - 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, - 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, - 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, - 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, - 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, - 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, - 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, - 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, - 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, - 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, - 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, - 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, - 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, - 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, - 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, - 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, - 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, - 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, - 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, - 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, - 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, - 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, - 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, - 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, - 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, - 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, - 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, - 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, - 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, - 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, - 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, - 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, - 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, - 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, - 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, - 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, - 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, - 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, - 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, - 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, - 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, - 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, - 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, - 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, - 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, - 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, - 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, - 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, - 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, - 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, - 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, - 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, - 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, - 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, - 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, - 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, - 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, - 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, - 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, - 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, - 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, - 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, - 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, - 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, - 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, - 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, - 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, - 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, - 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, - 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, - 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, - 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, - 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, - 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, - 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, - 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, - 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, - 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, - 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, - 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, - 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, - 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, - 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, - 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, - 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, - 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, - 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, - 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, - 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, - 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, - 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, - 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, - 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, - 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, - 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, - 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, - 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, - 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, - 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, - 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, - 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, - 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, - 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, - 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, - 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, - 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, - 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, - 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, - 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, - 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, - 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, - 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, - 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, - 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, - 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, - 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, - 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, - 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, - 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, - 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, - 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, - 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, - 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, - 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, - 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, - 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, - 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, - 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, - 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, - 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, - 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, - 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, - 127,134,227,254,192,56,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,255,20,23,69,20,0,0,240,1, - 192,124,7,224,15,12,112,7,12,240,3,152,224,1,208,224, - 1,208,0,1,240,0,1,240,0,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,1,240,0, - 7,252,0,6,9,9,8,1,16,24,60,60,120,112,96,224, - 192,128,16,21,42,18,1,0,0,7,0,31,0,124,1,240, - 7,192,30,0,120,0,224,0,224,0,120,0,30,0,7,128, - 1,224,0,120,0,30,0,7,0,1,0,0,0,0,255,255, - 255,255,15,23,46,6,251,0,0,2,0,6,0,12,0,12, - 0,24,0,48,0,48,0,96,0,192,0,192,1,128,3,0, - 3,0,6,0,12,0,12,0,24,0,48,0,48,0,96,0, - 192,0,192,0,128,0,21,10,30,23,1,4,28,3,192,127, - 15,224,99,158,48,193,248,24,192,240,24,192,240,24,192,248, - 24,99,156,48,127,15,240,28,3,192,16,29,58,16,0,250, - 0,30,0,51,0,103,0,98,0,224,0,224,0,192,0,192, - 0,192,15,252,1,192,1,192,1,192,1,192,1,128,1,128, - 1,128,3,128,3,128,3,128,3,0,3,0,3,0,3,0, - 2,0,102,0,230,0,236,0,120,0,18,18,54,24,3,0, - 1,224,0,3,240,0,7,248,0,7,248,0,7,248,0,7, - 248,0,3,240,0,1,224,0,124,207,128,255,255,192,255,255, - 192,255,255,192,255,255,192,255,255,192,252,207,192,120,199,128, - 0,192,0,1,224,0,14,18,36,24,5,0,3,0,7,128, - 7,192,15,192,31,224,63,240,127,248,127,248,255,252,255,252, - 127,248,127,248,63,240,31,224,15,192,7,192,7,128,3,0, - 16,18,36,24,4,0,124,62,254,127,254,127,255,255,255,255, - 255,255,255,255,127,254,127,254,63,252,63,252,31,248,15,240, - 15,240,7,224,3,192,1,128,1,128,16,18,36,24,4,0, - 1,128,1,192,3,192,7,224,7,240,15,240,31,248,63,252, - 63,252,127,254,255,255,255,255,255,255,253,191,249,159,249,159, - 113,142,3,192,32,16,64,34,1,0,1,128,1,128,3,0, - 0,192,7,0,0,224,14,0,0,112,28,0,0,56,56,0, - 0,28,112,0,0,14,255,255,255,255,255,255,255,255,112,0, - 0,14,56,0,0,28,28,0,0,56,14,0,0,112,7,0, - 0,224,3,0,0,192,1,128,1,128,29,16,64,32,1,0, - 1,128,0,0,3,0,0,0,6,0,0,0,14,0,0,0, - 28,0,0,0,56,0,0,0,112,0,0,0,255,255,255,248, - 255,255,255,248,112,0,0,0,56,0,0,0,28,0,0,0, - 14,0,0,0,6,0,0,0,3,0,0,0,1,128,0,0, - 16,27,54,20,2,0,1,128,3,192,7,224,15,240,29,184, - 57,156,113,142,225,135,193,131,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,29,16,64,32, - 2,0,0,0,12,0,0,0,14,0,0,0,7,0,0,0, - 3,128,0,0,1,192,0,0,0,224,0,0,0,112,255,255, - 255,248,255,255,255,248,0,0,0,112,0,0,0,224,0,0, - 1,192,0,0,3,128,0,0,7,0,0,0,14,0,0,0, - 12,0,16,27,54,20,2,0,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,193,131,225,135, - 113,142,57,156,29,184,15,240,7,224,3,192,1,128,9,10, - 20,13,2,13,28,0,99,0,65,0,128,128,128,128,128,128, - 128,128,65,0,99,0,28,0,16,22,44,18,1,0,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, - 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,0,0,0,0,255,255,255,255,12,9,18,13,1,15, - 28,112,28,112,60,240,56,224,113,192,113,192,227,128,195,0, - 130,0,16,21,42,18,1,0,224,0,248,0,62,0,15,128, - 1,224,0,120,0,30,0,7,0,7,0,30,0,120,1,224, - 7,128,30,0,120,0,224,0,128,0,0,0,0,0,255,255, - 255,255,16,16,32,18,1,1,192,3,224,7,112,14,56,28, - 28,56,14,112,7,224,3,192,3,192,7,224,14,112,28,56, - 56,28,112,14,224,7,192,3,19,10,30,23,1,4,28,3, - 192,63,15,224,99,156,0,193,248,0,192,240,0,192,240,0, - 193,248,0,99,156,0,127,15,224,28,3,192,14,27,54,16, - 1,0,30,0,63,128,32,224,0,112,0,48,0,24,0,24, - 0,24,0,28,0,28,0,28,15,28,31,252,56,124,120,60, - 112,60,240,56,224,56,224,56,224,56,224,112,224,112,96,96, - 112,224,57,192,31,128,15,0,11,12,24,15,2,4,14,0, - 63,128,127,192,127,192,255,224,255,224,255,224,255,224,127,192, - 127,192,63,128,14,0,16,13,26,18,1,2,1,128,3,192, - 3,192,1,128,0,0,255,255,255,255,0,0,0,0,1,128, - 3,192,3,192,1,128,17,19,57,18,1,255,0,12,0,0, - 24,0,0,24,0,0,48,0,0,48,0,255,255,128,255,255, - 128,0,192,0,0,192,0,1,128,0,1,128,0,3,0,0, - 255,255,128,255,255,128,6,0,0,12,0,0,12,0,0,24, - 0,0,24,0,0,17,12,36,18,0,3,255,255,128,255,255, - 128,0,0,0,0,0,0,0,0,0,255,255,128,255,255,128, - 0,0,0,0,0,0,0,0,0,255,255,128,255,255,128,16, - 9,18,18,1,4,28,0,127,135,225,254,64,56,0,0,28, - 0,127,135,225,254,192,56,26,4,16,33,3,0,96,12,1, - 128,240,30,3,192,240,30,3,192,96,12,1,128,2,34,34, - 20,9,249,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,32,2,8,32,0,7,255,255,255,255,255, - 255,255,255,18,21,63,21,1,0,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, - 0,0,192,0,0,192,16,0,192,112,0,192,255,255,192,255, - 255,192,112,0,0,16,0,0,16,22,44,27,5,0,0,32, - 96,96,240,126,240,127,248,127,124,63,60,15,62,12,31,24, - 31,152,55,240,115,240,97,240,225,240,240,248,240,124,120,62, - 124,30,124,31,60,15,124,7,252,6,18,27,81,22,1,254, - 7,240,0,31,254,0,63,255,128,56,63,128,96,7,0,96, - 7,0,64,6,0,64,12,0,64,12,0,96,28,0,48,28, - 0,28,14,0,14,14,0,0,15,0,0,7,0,0,7,128, - 0,3,128,0,3,192,0,1,192,0,1,192,0,1,192,60, - 1,128,255,1,128,159,195,0,7,254,0,3,248,0,0,240, - 0,23,24,72,26,1,0,15,128,192,63,225,240,97,247,248, - 192,252,124,128,120,62,128,120,28,128,56,56,192,56,112,224, - 56,192,120,57,192,62,59,192,14,57,224,6,56,224,6,56, - 224,0,56,240,0,56,240,0,56,112,0,112,112,0,112,112, - 0,96,120,30,192,122,63,128,62,47,128,60,6,0,16,23, - 26,78,32,5,249,0,192,0,1,192,0,3,0,112,6,3, - 252,6,14,30,12,24,30,28,48,14,24,96,14,56,192,30, - 57,128,30,59,0,30,62,0,28,62,48,60,60,120,56,30, - 112,120,62,64,240,47,65,224,111,99,192,71,63,0,199,0, - 0,135,0,0,131,0,0,131,0,0,199,0,0,102,0,0, - 60,0,0,22,23,69,25,1,0,0,252,0,3,255,0,15, - 3,192,28,0,224,56,0,112,50,1,48,103,3,152,99,135, - 24,193,134,8,192,204,12,192,120,12,192,48,12,192,120,12, - 192,204,12,193,134,12,99,135,24,103,3,152,50,1,48,56, - 0,112,28,0,224,15,3,192,3,255,0,0,252,0,22,23, - 69,25,1,0,0,252,0,3,255,0,15,3,192,28,48,224, - 24,48,96,48,48,48,96,48,24,96,48,24,96,48,24,192, - 48,12,192,48,12,223,255,236,223,255,236,192,48,12,192,48, - 12,96,48,24,96,48,24,48,48,48,56,48,112,28,48,224, - 15,3,192,3,255,0,0,252,0,24,24,72,27,1,0,0, - 126,2,3,255,198,7,129,238,14,0,124,24,0,56,48,0, - 124,112,0,238,96,1,198,96,3,134,192,7,3,192,14,3, - 192,28,3,192,56,3,192,112,3,192,224,3,97,192,6,99, - 128,6,119,0,14,62,0,12,28,0,24,62,0,112,119,129, - 224,227,255,192,192,126,0,22,17,51,25,1,0,0,252,0, - 3,255,0,15,3,192,28,0,224,56,0,112,48,0,48,96, - 0,24,96,0,24,192,0,12,192,0,12,192,0,12,192,0, - 12,192,0,12,192,0,12,192,0,12,192,0,12,192,0,12, - 22,17,51,25,1,0,192,0,12,192,0,12,192,0,12,192, - 0,12,192,0,12,192,0,12,192,0,12,192,0,12,192,0, - 12,96,0,24,96,0,24,48,0,48,56,0,112,28,0,224, - 15,3,192,3,255,0,0,252,0,21,16,48,23,1,0,255, - 255,0,255,255,192,0,1,224,0,0,112,0,0,48,0,0, - 56,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,48,0,0,112,0,0,224,255,255,192,255,255,0,21, - 20,60,23,1,252,255,255,0,255,255,192,0,0,224,0,0, - 112,0,0,48,0,0,24,0,0,24,0,0,24,0,0,24, - 0,0,24,0,0,24,0,0,48,0,0,112,0,0,224,255, - 255,192,255,255,0,0,0,0,0,0,0,255,255,240,255,255, - 240,21,20,60,23,1,254,0,0,96,0,0,192,7,255,248, - 15,255,248,56,1,128,112,3,0,96,3,0,224,6,0,192, - 6,0,192,12,0,192,12,0,192,24,0,224,24,0,96,48, - 0,112,48,0,60,96,0,31,255,248,7,255,248,0,192,0, - 1,128,0,21,16,48,23,1,0,7,255,248,31,255,248,56, - 0,0,112,0,0,96,0,0,192,0,0,192,0,0,192,0, - 0,192,0,0,192,0,0,224,0,0,96,0,0,112,0,0, - 60,0,0,31,255,248,7,255,248,21,20,60,23,1,252,7, - 255,248,31,255,248,56,0,0,112,0,0,96,0,0,192,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 96,0,0,112,0,0,56,0,0,31,255,248,7,255,248,0, - 0,0,0,0,0,127,255,248,127,255,248,15,16,32,23,1, - 0,7,254,31,254,56,0,112,0,96,0,192,0,192,0,255, - 254,255,254,192,0,192,0,96,0,112,0,56,0,31,254,7, - 254,15,20,40,23,1,254,0,24,0,24,7,254,31,254,56, - 96,112,96,96,192,64,192,193,128,255,254,255,254,195,0,70, - 0,110,0,124,0,60,0,31,254,55,254,48,0,32,0,22, - 22,66,25,1,0,0,0,12,0,0,28,0,0,56,0,0, - 112,0,0,224,0,1,192,0,3,128,0,7,0,0,14,0, - 0,28,0,0,56,0,0,112,0,0,96,0,0,192,0,1, - 128,0,3,0,0,7,0,0,14,0,0,28,0,0,56,0, - 0,127,255,248,255,255,248,20,24,72,23,1,0,255,255,240, - 127,255,240,120,0,48,120,0,32,60,0,96,60,0,64,28, - 0,192,30,0,192,30,1,128,15,1,128,15,1,0,7,3, - 0,7,130,0,7,134,0,3,196,0,3,204,0,3,204,0, - 1,248,0,1,248,0,0,240,0,0,240,0,0,224,0,0, - 96,0,0,64,0,21,22,66,25,2,0,1,252,0,7,7, - 0,12,1,192,24,0,192,51,248,96,97,142,48,65,134,16, - 193,134,24,193,134,24,129,140,8,129,248,8,129,184,8,129, - 152,8,193,156,24,193,142,24,65,135,16,103,195,176,48,0, - 96,24,0,192,28,1,192,7,7,0,1,252,0,21,23,69, - 25,2,0,1,252,0,7,207,0,14,1,128,24,0,192,48, - 0,96,48,0,48,96,125,48,65,199,16,195,3,24,195,1, - 24,134,0,8,134,0,8,134,0,8,134,0,8,134,0,8, - 199,0,24,67,3,24,97,199,16,32,252,48,48,0,96,28, - 0,192,7,135,128,1,254,0,27,13,52,29,1,10,255,220, - 1,224,204,206,3,128,140,78,3,128,12,15,7,128,12,11, - 5,128,12,11,141,128,12,9,141,128,12,9,201,128,12,8, - 217,128,12,8,241,128,12,8,113,128,12,8,97,128,62,30, - 39,224,25,27,108,27,1,0,255,255,255,128,63,255,254,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, - 30,0,60,0,30,0,60,0,30,0,60,0,63,0,126,0, - 255,193,255,128,17,27,81,18,0,0,0,0,128,0,0,128, - 0,0,128,0,0,128,0,1,128,0,1,0,0,1,0,0, - 3,0,0,2,0,8,2,0,56,2,0,236,6,0,12,4, - 0,6,4,0,6,4,0,3,4,0,3,12,0,1,140,0, - 1,136,0,0,200,0,0,200,0,0,104,0,0,120,0,0, - 56,0,0,48,0,0,16,0,0,16,0,3,3,3,8,2, - 7,224,224,224,21,10,30,23,1,0,255,255,248,255,255,248, - 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, - 0,24,0,0,24,0,0,24,16,15,30,20,2,0,1,128, - 1,128,3,192,3,192,6,96,14,112,12,48,28,56,24,24, - 48,12,48,12,96,6,224,7,192,3,128,1,16,15,30,20, - 2,0,128,1,192,3,224,7,96,6,48,12,48,12,24,24, - 28,56,12,48,6,96,6,96,3,192,3,192,1,128,1,128, - 32,18,72,34,1,0,0,128,1,0,1,128,1,128,3,0, - 0,192,6,0,0,96,15,255,255,240,31,255,255,248,56,0, - 0,28,112,0,0,14,224,0,0,7,224,0,0,7,112,0, - 0,14,56,0,0,28,31,255,255,248,15,255,255,240,6,0, - 0,96,3,0,0,192,1,128,1,128,0,128,1,0,29,17, - 68,32,1,0,0,128,0,0,1,128,0,0,3,0,0,0, - 6,0,0,0,15,255,255,248,31,255,255,248,56,0,0,0, - 112,0,0,0,224,0,0,0,112,0,0,0,56,0,0,0, - 31,255,255,248,15,255,255,248,6,0,0,0,3,0,0,0, - 1,128,0,0,0,128,0,0,17,27,81,20,1,0,0,128, - 0,1,192,0,3,224,0,7,112,0,14,56,0,28,28,0, - 60,30,0,124,31,0,236,27,128,12,24,0,12,24,0,12, - 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, - 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, - 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,29, - 17,68,32,2,0,0,0,8,0,0,0,12,0,0,0,6, - 0,0,0,3,0,255,255,255,128,255,255,255,192,0,0,0, - 224,0,0,0,112,0,0,0,56,0,0,0,112,0,0,0, - 224,255,255,255,192,255,255,255,128,0,0,3,0,0,0,6, - 0,0,0,12,0,0,0,8,0,17,27,81,20,1,0,12, - 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, - 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, - 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,12, - 24,0,12,24,0,236,27,128,124,31,0,60,30,0,28,28, - 0,14,56,0,7,112,0,3,224,0,1,192,0,0,128,0, - 14,25,50,16,1,0,3,0,7,128,7,128,12,192,12,192, - 24,96,24,96,48,48,48,48,96,24,96,24,192,12,192,12, - 224,28,96,24,96,24,48,48,48,48,24,96,24,96,12,192, - 12,192,7,128,7,128,3,0,9,30,60,11,1,250,1,128, - 3,0,3,0,6,0,6,0,14,0,12,0,28,0,24,0, - 56,0,48,0,48,0,96,0,96,0,192,0,192,0,96,0, - 96,0,48,0,48,0,56,0,24,0,28,0,12,0,14,0, - 6,0,6,0,3,0,3,0,1,128,21,22,66,26,2,0, - 1,252,0,7,15,0,12,1,128,24,0,192,48,0,96,99, - 254,48,67,6,16,195,3,24,195,3,24,195,3,24,131,6, - 8,131,252,8,131,6,8,195,3,24,195,3,24,67,3,16, - 99,3,48,32,0,32,48,0,96,28,1,192,7,15,0,3, - 252,0,21,23,69,26,2,0,1,252,0,7,223,0,14,3, - 128,24,0,192,48,0,96,32,0,32,96,252,48,65,206,16, - 195,6,24,195,3,24,194,0,8,134,0,8,134,0,8,134, - 0,8,134,3,24,195,3,24,67,6,24,97,206,48,32,248, - 48,48,0,96,28,0,192,15,135,128,3,254,0,22,13,39, - 25,1,10,255,56,28,24,56,28,24,56,28,24,60,60,24, - 60,60,24,52,44,24,54,108,24,54,108,24,50,76,24,51, - 204,24,51,204,24,49,140,24,49,140,21,28,84,23,1,255, - 255,255,224,120,3,224,124,0,96,60,0,96,30,0,32,15, - 0,0,15,128,0,7,128,0,3,192,0,3,224,0,1,240, - 0,0,240,0,0,120,0,0,120,0,0,56,0,0,48,0, - 0,96,0,0,192,0,1,128,0,3,128,0,3,0,0,6, - 0,8,12,0,24,24,0,24,48,0,48,127,255,240,127,255, - 240,255,255,240,13,34,68,13,1,249,0,24,0,120,0,224, - 1,192,3,128,3,0,6,0,12,0,12,0,24,0,24,0, - 56,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0, - 96,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,2,34, - 34,13,1,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,13,34,68,13,1,249,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,0,96,0,96,0, - 96,0,48,0,48,0,48,0,56,0,24,0,24,0,12,0, - 12,0,6,0,3,0,3,128,1,192,0,224,0,120,0,24, - 11,34,68,13,0,249,255,224,255,224,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,2,34,34,13,0,249, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,11,34,68,13,0,249,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,255,224,255,224,8,34,34,16, - 6,249,7,31,56,112,96,96,224,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,9,34,68,16,255,249,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 3,0,3,0,6,0,12,0,56,0,224,0,120,0,12,0, - 6,0,3,0,3,0,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,8,34, - 34,16,6,249,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 96,96,112,56,31,7,2,34,34,16,6,249,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,255,9, - 30,60,11,1,250,192,0,96,0,96,0,48,0,48,0,56, - 0,24,0,28,0,12,0,14,0,6,0,6,0,3,0,3, - 0,1,128,1,128,3,0,3,0,6,0,6,0,14,0,12, - 0,28,0,24,0,56,0,48,0,48,0,96,0,96,0,192, - 0,9,33,66,9,0,250,3,0,7,128,7,128,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, - 0,12,0,248,0,248,0,112,0,12,34,68,23,10,249,1, - 224,3,240,6,112,12,240,8,96,24,0,24,0,48,0,48, - 0,48,0,112,0,96,0,96,0,96,0,96,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, - 0,224,0,3,34,34,22,10,249,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,12,34,68,22,1, - 249,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,0,112,0,96,0,96,0,96,0,96,0, - 224,0,192,0,192,0,192,1,128,1,128,97,0,243,0,230, - 0,252,0,120,0,13,34,68,13,0,249,192,0,240,0,56, - 0,24,0,12,0,6,0,3,0,1,0,1,128,0,192,0, - 192,0,192,0,96,0,96,0,96,0,48,0,48,0,48,0, - 48,0,48,0,16,0,16,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,2, - 34,34,13,11,249,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,13,34,68,13,0,249,0,24,0, - 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,0, - 24,0,24,0,24,0,16,0,16,0,48,0,48,0,48,0, - 48,0,48,0,96,0,96,0,96,0,192,0,192,0,192,1, - 128,1,0,3,0,6,0,12,0,28,0,56,0,240,0,192, - 0,11,34,68,13,1,249,255,224,255,224,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,2,34,34,13,10, - 249,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,11,34,68,13,1,249,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,255,224,255,224,8,34,34, - 16,0,249,224,120,28,14,6,6,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,9,34,68,16,6,249,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, - 0,96,0,96,0,48,0,24,0,14,0,3,128,14,0,24, - 0,48,0,96,0,96,0,192,0,192,0,192,0,192,0,192, - 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,8, - 33,33,16,0,250,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 6,6,14,28,120,224,255}; -/* - Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=27 h=33 x=15 y=26 dx=29 dy= 0 ascent=27 len=92 - Font Bounding box w=40 h=34 x=-5 y=-7 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =27 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_symb24r[5335] U8G_FONT_SECTION("u8g_font_symb24r") = { - 0,40,34,251,249,23,5,133,13,247,32,127,249,27,249,23, - 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, - 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, - 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, - 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, - 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, - 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, - 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, - 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, - 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, - 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, - 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, - 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, - 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, - 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, - 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, - 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, - 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, - 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, - 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, - 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, - 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, - 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, - 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, - 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, - 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, - 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, - 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, - 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, - 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, - 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, - 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, - 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, - 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, - 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, - 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, - 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, - 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, - 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, - 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, - 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, - 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, - 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, - 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, - 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, - 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, - 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, - 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, - 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, - 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, - 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, - 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, - 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, - 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, - 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, - 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, - 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, - 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, - 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, - 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, - 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, - 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, - 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, - 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, - 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, - 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, - 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, - 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, - 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, - 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, - 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, - 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, - 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, - 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, - 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, - 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, - 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, - 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, - 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, - 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, - 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, - 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, - 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, - 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, - 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, - 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, - 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, - 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, - 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, - 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, - 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, - 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, - 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, - 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, - 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, - 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, - 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, - 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, - 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, - 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, - 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, - 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, - 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, - 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, - 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, - 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, - 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, - 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, - 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, - 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, - 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, - 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, - 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, - 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, - 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, - 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, - 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, - 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, - 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, - 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, - 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, - 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, - 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, - 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, - 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, - 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, - 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, - 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, - 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, - 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, - 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, - 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, - 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, - 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, - 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, - 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, - 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, - 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, - 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, - 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, - 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, - 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, - 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, - 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, - 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, - 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, - 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, - 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, - 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, - 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, - 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, - 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, - 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, - 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, - 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, - 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, - 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, - 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, - 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, - 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, - 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, - 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, - 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, - 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, - 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, - 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, - 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, - 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, - 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, - 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, - 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, - 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, - 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, - 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, - 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, - 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, - 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, - 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, - 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, - 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, - 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, - 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, - 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, - 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, - 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, - 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, - 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, - 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, - 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, - 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, - 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, - 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, - 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, - 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, - 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, - 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, - 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, - 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, - 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, - 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, - 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, - 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, - 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, - 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, - 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, - 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, - 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, - 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, - 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, - 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, - 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, - 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, - 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, - 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, - 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, - 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, - 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, - 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, - 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, - 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, - 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, - 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, - 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, - 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, - 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, - 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, - 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, - 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, - 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, - 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, - 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, - 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, - 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, - 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, - 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, - 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, - 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, - 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, - 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, - 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, - 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, - 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, - 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, - 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, - 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, - 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, - 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, - 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, - 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, - 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, - 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, - 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, - 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, - 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, - 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, - 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, - 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, - 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, - 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, - 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, - 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, - 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, - 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, - 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, - 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, - 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, - 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, - 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, - 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, - 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, - 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, - 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, - 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, - 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, - 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, - 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, - 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, - 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, - 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, - 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, - 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, - 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, - 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, - 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, - 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, - 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, - 127,134,227,254,192,56,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=11 x= 1 y= 6 dx=11 dy= 0 ascent=10 len=18 - Font Bounding box w=13 h=18 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-3 - X Font ascent = 7 descent=-3 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB08[2551] U8G_FONT_SECTION("u8g_font_timB08") = { - 0,13,18,254,251,7,1,164,3,77,32,255,253,10,253,7, - 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, - 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, - 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, - 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, - 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, - 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, - 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, - 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, - 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, - 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, - 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, - 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, - 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, - 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, - 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, - 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, - 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, - 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, - 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, - 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, - 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, - 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, - 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, - 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, - 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, - 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, - 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, - 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, - 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, - 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, - 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, - 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, - 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, - 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, - 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, - 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, - 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, - 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, - 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, - 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, - 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, - 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, - 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, - 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, - 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, - 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, - 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, - 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, - 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, - 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, - 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, - 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, - 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, - 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, - 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, - 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, - 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, - 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, - 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, - 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, - 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, - 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, - 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, - 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, - 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, - 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, - 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, - 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, - 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, - 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, - 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, - 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, - 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, - 0,2,104,176,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,2,0,1,2,7,7,4,1, - 253,192,192,0,192,192,192,192,5,7,7,6,0,255,16,120, - 208,208,224,120,32,5,7,7,6,0,0,56,104,96,248,96, - 232,216,5,5,5,6,0,1,136,112,80,112,136,5,7,7, - 6,0,0,216,216,112,32,112,32,112,1,7,7,3,1,0, - 128,128,128,0,128,128,128,4,9,9,5,0,254,96,176,192, - 160,208,112,48,208,96,3,1,1,4,0,5,160,7,7,7, - 9,1,0,56,68,154,162,154,68,56,3,6,6,4,0,1, - 192,32,224,160,0,224,5,5,5,6,0,0,40,80,160,80, - 40,5,3,3,7,1,1,248,8,8,3,1,1,3,0,2, - 224,7,7,7,9,1,0,56,68,186,178,170,68,56,3,1, - 1,4,0,5,224,4,3,3,4,0,4,96,144,96,5,7, - 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, - 3,96,160,64,224,3,4,4,3,0,3,224,64,32,192,2, - 2,2,4,1,5,64,128,5,8,8,5,0,253,216,208,208, - 208,240,128,192,192,6,10,10,6,0,253,124,232,232,232,104, - 40,40,40,40,40,1,2,2,3,1,2,128,128,2,3,3, - 3,1,253,128,64,192,3,4,4,3,0,3,64,192,64,224, - 3,6,6,4,0,1,64,160,160,64,0,224,5,5,5,6, - 0,0,160,80,40,80,160,7,7,7,7,0,0,68,200,72, - 244,44,62,68,7,7,7,7,0,0,68,200,72,246,42,36, - 78,7,7,7,7,0,0,228,72,40,212,44,62,68,4,7, - 7,6,1,253,96,96,0,64,208,208,96,8,10,10,7,255, - 0,32,16,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,8,16,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,16,40,0,16,24,56,44,124,78,239,8,10,10,7,255, - 0,52,88,0,16,24,56,44,124,78,239,8,9,9,7,255, - 0,36,0,16,24,56,44,124,78,239,8,10,10,7,255,0, - 24,36,24,16,24,56,44,124,78,239,9,7,14,9,255,0, - 63,128,28,128,44,0,47,0,124,0,76,128,239,128,6,10, - 10,7,0,253,124,204,192,192,192,236,120,32,16,48,6,10, - 10,7,0,0,32,16,0,252,100,96,120,96,100,252,6,10, - 10,7,0,0,8,16,0,252,100,96,120,96,100,252,6,10, - 10,7,0,0,48,72,0,252,100,96,120,96,100,252,6,9, - 9,7,0,0,40,0,252,100,96,120,96,100,252,4,10,10, - 5,0,0,64,32,0,240,96,96,96,96,96,240,4,10,10, - 5,0,0,32,64,0,240,96,96,96,96,96,240,4,10,10, - 5,0,0,96,144,0,240,96,96,96,96,96,240,4,9,9, - 5,0,0,144,0,240,96,96,96,96,96,240,7,7,7,8, - 0,0,252,102,102,246,102,102,252,7,10,10,8,0,0,52, - 88,0,238,100,116,92,92,76,228,6,10,10,7,0,0,32, - 16,0,120,204,204,204,204,204,120,6,10,10,7,0,0,16, - 32,0,120,204,204,204,204,204,120,6,10,10,7,0,0,48, - 72,0,120,204,204,204,204,204,120,6,10,10,7,0,0,52, - 88,0,120,204,204,204,204,204,120,6,9,9,7,0,0,72, - 0,120,204,204,204,204,204,120,6,5,5,6,0,0,204,120, - 48,120,204,6,9,9,8,1,255,4,120,204,220,236,236,204, - 120,128,7,10,10,7,0,0,32,16,0,246,100,100,100,100, - 100,56,7,10,10,7,0,0,8,16,0,246,100,100,100,100, - 100,56,7,10,10,7,0,0,24,36,0,246,100,100,100,100, - 100,56,7,9,9,7,0,0,36,0,246,100,100,100,100,100, - 56,8,10,10,8,0,0,4,8,0,247,98,52,56,24,24, - 60,6,7,7,6,0,0,224,120,108,108,120,96,240,5,7, - 7,6,0,0,112,200,200,208,200,200,216,5,8,8,5,0, - 0,64,32,0,96,176,112,176,248,5,8,8,5,0,0,16, - 32,0,96,176,112,176,248,5,8,8,5,0,0,32,80,0, - 96,176,112,176,248,5,8,8,5,0,0,104,176,0,96,176, - 112,176,248,5,7,7,5,0,0,80,0,96,176,112,176,248, - 5,8,8,5,0,0,32,80,32,96,176,112,176,248,7,5, - 5,8,0,0,110,186,126,184,238,4,8,8,5,0,253,112, - 208,192,208,112,64,32,96,4,8,8,5,0,0,64,32,0, - 112,208,240,192,112,4,8,8,5,0,0,16,32,0,112,208, - 240,192,112,5,8,8,5,0,0,32,80,136,112,208,240,192, - 112,4,7,7,5,0,0,80,0,112,208,240,192,112,2,8, - 8,3,0,0,128,64,0,192,192,192,192,192,2,8,8,3, - 0,0,64,128,0,192,192,192,192,192,3,8,8,3,0,0, - 64,160,0,192,192,192,192,192,3,7,7,3,0,0,160,0, - 192,192,192,192,192,5,9,9,6,0,0,128,112,96,176,24, - 120,216,216,112,6,8,8,6,0,0,104,176,0,176,216,216, - 216,220,5,8,8,6,0,0,64,32,0,112,216,216,216,112, - 5,8,8,6,0,0,16,32,0,112,216,216,216,112,5,8, - 8,6,0,0,32,80,0,112,216,216,216,112,5,8,8,6, - 0,0,104,176,0,112,216,216,216,112,5,7,7,6,0,0, - 80,0,112,216,216,216,112,5,5,5,6,0,0,32,0,248, - 0,32,5,7,7,6,0,255,16,112,216,216,216,112,64,5, - 8,8,5,0,0,64,32,0,216,208,208,208,112,5,8,8, - 5,0,0,16,32,0,216,208,208,208,112,5,8,8,5,0, - 0,32,80,0,216,208,208,208,112,5,7,7,5,0,0,80, - 0,216,208,208,208,112,5,11,11,5,0,253,16,32,0,216, - 216,112,112,32,32,192,192,5,10,10,5,255,253,224,96,112, - 104,104,104,112,96,96,224,5,10,10,5,0,253,80,0,216, - 216,112,112,32,32,192,192}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=10 h=10 x= 1 y= 6 dx=11 dy= 0 ascent= 8 len=18 - Font Bounding box w=13 h=18 x=-2 y=-5 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-3 - X Font ascent = 7 descent=-3 - Max Font ascent = 8 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB08r[1221] U8G_FONT_SECTION("u8g_font_timB08r") = { - 0,13,18,254,251,7,1,164,3,77,32,127,253,8,253,7, - 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, - 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, - 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, - 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, - 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, - 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, - 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, - 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, - 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, - 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, - 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, - 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, - 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, - 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, - 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, - 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, - 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, - 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, - 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, - 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, - 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, - 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, - 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, - 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, - 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, - 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, - 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, - 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, - 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, - 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, - 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, - 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, - 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, - 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, - 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, - 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, - 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, - 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, - 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, - 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, - 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, - 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, - 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, - 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, - 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, - 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, - 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, - 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, - 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, - 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, - 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, - 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, - 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, - 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, - 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, - 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, - 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, - 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, - 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, - 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, - 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, - 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, - 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, - 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, - 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, - 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, - 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, - 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, - 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, - 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, - 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, - 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, - 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, - 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, - 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, - 0,2,104,176,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=14 x= 1 y= 8 dx=14 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB10[3539] U8G_FONT_SECTION("u8g_font_timB10") = { - 0,17,24,254,250,10,2,6,4,148,32,255,253,14,253,10, - 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, - 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, - 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, - 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, - 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, - 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, - 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, - 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, - 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, - 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, - 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, - 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, - 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, - 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, - 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, - 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, - 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, - 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, - 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, - 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, - 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, - 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, - 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, - 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, - 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, - 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, - 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, - 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, - 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, - 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, - 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, - 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, - 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, - 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, - 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, - 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, - 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, - 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, - 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, - 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, - 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, - 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, - 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, - 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, - 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, - 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, - 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, - 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, - 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, - 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, - 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, - 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, - 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, - 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, - 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, - 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, - 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, - 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, - 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, - 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, - 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, - 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, - 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, - 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, - 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, - 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, - 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, - 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, - 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, - 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, - 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, - 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, - 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, - 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, - 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, - 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, - 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, - 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, - 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, - 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, - 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, - 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, - 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, - 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, - 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, - 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, - 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, - 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, - 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, - 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, - 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, - 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, - 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, - 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, - 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, - 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, - 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, - 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,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,3,0,1,2,10,10,4,1,253,192,192,0,192, - 192,192,192,192,192,192,6,11,11,7,0,254,8,8,120,212, - 208,208,240,228,120,32,32,7,10,10,8,0,0,60,118,102, - 96,48,248,48,48,246,222,7,6,6,8,0,2,56,238,68, - 68,238,56,8,10,10,8,0,0,247,98,118,52,60,24,60, - 24,24,60,1,12,12,3,1,254,128,128,128,128,128,0,0, - 128,128,128,128,128,5,12,12,7,1,254,112,216,200,96,240, - 152,200,120,48,152,216,112,3,2,2,5,1,8,160,160,10, - 10,20,12,1,0,30,0,97,128,78,128,146,64,144,64,144, - 64,146,64,76,128,97,128,30,0,4,7,7,5,0,3,96, - 16,112,144,112,0,240,7,5,5,9,1,1,54,108,216,108, - 54,7,4,4,9,1,1,254,2,2,2,3,1,1,4,0, - 3,224,10,10,20,12,1,0,30,0,97,128,92,128,146,64, - 146,64,156,64,148,64,82,128,97,128,30,0,4,1,1,5, - 0,8,240,4,4,4,6,1,6,96,144,144,96,7,9,9, - 8,0,0,16,16,16,254,16,16,16,0,254,4,6,6,4, - 0,4,96,176,48,96,192,240,4,6,6,4,0,4,96,176, - 96,48,176,96,3,3,3,5,1,8,32,96,128,8,10,10, - 7,255,253,238,102,102,102,102,102,123,64,96,96,7,13,13, - 8,0,253,126,244,244,244,244,116,20,20,20,20,20,20,20, - 2,2,2,4,0,4,192,192,3,3,3,5,1,253,64,32, - 224,4,6,6,4,0,4,32,224,96,96,96,240,4,7,7, - 5,0,3,96,144,144,144,96,0,240,7,5,5,9,1,1, - 216,108,54,108,216,10,10,20,10,0,0,33,0,226,0,98, - 0,100,0,100,128,249,128,11,128,22,128,23,192,33,128,10, - 10,20,10,0,0,33,0,226,0,98,0,100,0,101,128,250, - 192,8,192,17,128,19,0,35,192,10,10,20,10,0,0,97, - 0,178,0,98,0,52,0,180,128,105,128,11,128,22,128,23, - 192,33,128,5,10,10,7,1,253,48,48,0,48,48,96,192, - 216,216,112,10,14,28,10,0,0,16,0,24,0,4,0,0, - 0,12,0,12,0,30,0,22,0,51,0,35,0,63,0,97, - 128,65,128,227,192,10,14,28,10,0,0,2,0,6,0,8, - 0,0,0,12,0,12,0,30,0,22,0,51,0,35,0,63, - 0,97,128,65,128,227,192,10,14,28,10,0,0,8,0,28, - 0,34,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,26, - 0,44,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,18, - 0,18,0,0,0,12,0,12,0,30,0,22,0,51,0,35, - 0,63,0,97,128,65,128,227,192,10,14,28,10,0,0,12, - 0,18,0,12,0,0,0,12,0,12,0,30,0,22,0,51, - 0,35,0,63,0,97,128,65,128,227,192,13,10,20,14,0, - 0,31,248,15,24,11,8,27,32,19,224,63,32,35,40,99, - 8,67,24,231,248,8,13,13,10,1,253,61,99,193,193,192, - 192,192,193,99,62,16,8,56,8,14,14,9,0,0,32,48, - 8,0,255,99,97,100,124,100,101,97,99,255,8,14,14,9, - 0,0,4,12,16,0,255,99,97,100,124,100,101,97,99,255, - 8,14,14,9,0,0,8,28,34,0,255,99,97,100,124,100, - 101,97,99,255,8,13,13,9,0,0,36,36,0,255,99,97, - 100,124,100,101,97,99,255,4,14,14,5,0,0,128,192,32, - 0,240,96,96,96,96,96,96,96,96,240,4,14,14,5,0, - 0,16,48,64,0,240,96,96,96,96,96,96,96,96,240,5, - 14,14,5,0,0,32,112,136,0,240,96,96,96,96,96,96, - 96,96,240,4,13,13,5,0,0,144,144,0,240,96,96,96, - 96,96,96,96,96,240,9,10,20,11,1,0,254,0,99,0, - 97,128,97,128,241,128,97,128,97,128,97,128,99,0,254,0, - 10,13,26,10,0,0,26,0,44,0,0,0,225,192,112,128, - 112,128,88,128,76,128,76,128,70,128,67,128,67,128,225,128, - 9,14,28,11,1,0,16,0,24,0,4,0,0,0,62,0, - 99,0,193,128,193,128,193,128,193,128,193,128,193,128,99,0, - 62,0,9,14,28,11,1,0,4,0,12,0,16,0,0,0, - 62,0,99,0,193,128,193,128,193,128,193,128,193,128,193,128, - 99,0,62,0,9,14,28,11,1,0,8,0,28,0,34,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,9,13,26,11,1,0,26,0,44,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,9,13,26,11,1,0,34,0,34,0, - 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, - 193,128,99,0,62,0,8,7,7,8,0,0,195,102,60,24, - 60,102,195,9,12,24,11,1,255,0,128,61,0,99,0,195, - 128,197,128,201,128,201,128,209,128,225,128,99,0,94,0,128, - 0,9,14,28,10,0,0,16,0,24,0,4,0,0,0,243, - 128,97,0,97,0,97,0,97,0,97,0,97,0,97,0,115, - 0,62,0,9,14,28,10,0,0,4,0,12,0,16,0,0, - 0,243,128,97,0,97,0,97,0,97,0,97,0,97,0,97, - 0,115,0,62,0,9,14,28,10,0,0,8,0,28,0,34, - 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, - 0,97,0,115,0,62,0,9,13,26,10,0,0,18,0,18, - 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, - 0,97,0,115,0,62,0,10,14,28,10,0,0,1,0,3, - 0,4,0,0,0,249,192,112,128,49,0,57,0,26,0,30, - 0,12,0,12,0,12,0,30,0,8,10,10,9,0,0,240, - 96,126,103,99,99,99,126,96,240,7,10,10,8,0,0,56, - 108,100,108,120,108,102,102,102,236,7,11,11,7,0,0,32, - 48,8,0,120,204,12,124,204,204,118,7,11,11,7,0,0, - 8,24,32,0,120,204,12,124,204,204,118,7,11,11,7,0, - 0,16,56,68,0,120,204,12,124,204,204,118,7,10,10,7, - 0,0,52,88,0,120,204,12,124,204,204,118,7,10,10,7, - 0,0,40,40,0,120,204,12,124,204,204,118,7,11,11,7, - 0,0,48,72,48,0,120,204,12,124,204,204,118,10,7,14, - 11,0,0,123,128,204,192,204,192,63,192,204,0,204,192,119, - 128,6,10,10,7,0,253,56,76,204,192,192,228,120,32,16, - 112,6,11,11,7,0,0,64,96,16,0,56,76,204,252,192, - 228,120,6,11,11,7,0,0,8,24,32,0,56,76,204,252, - 192,228,120,6,11,11,7,0,0,16,56,68,0,56,76,204, - 252,192,228,120,6,10,10,7,0,0,80,80,0,56,76,204, - 252,192,228,120,4,11,11,4,0,0,128,192,32,0,224,96, - 96,96,96,96,240,4,11,11,4,0,0,32,96,128,0,224, - 96,96,96,96,96,240,5,11,11,4,0,0,32,112,136,0, - 224,96,96,96,96,96,240,4,10,10,4,0,0,160,160,0, - 224,96,96,96,96,96,240,6,10,10,7,0,0,204,112,152, - 120,204,204,204,204,204,120,8,10,10,8,0,0,52,88,0, - 236,118,102,102,102,102,231,6,11,11,7,0,0,32,48,8, - 0,120,204,204,204,204,204,120,6,11,11,7,0,0,8,24, - 32,0,120,204,204,204,204,204,120,6,11,11,7,0,0,32, - 112,136,0,120,204,204,204,204,204,120,6,10,10,7,0,0, - 104,176,0,120,204,204,204,204,204,120,6,10,10,7,0,0, - 80,80,0,120,204,204,204,204,204,120,6,7,7,8,0,0, - 48,48,0,252,0,48,48,6,9,9,7,0,255,4,120,204, - 220,236,236,204,120,128,8,11,11,7,255,0,32,48,8,0, - 238,102,102,102,102,102,59,8,11,11,7,255,0,4,12,16, - 0,238,102,102,102,102,102,59,8,11,11,7,255,0,16,56, - 68,0,238,102,102,102,102,102,59,8,10,10,7,255,0,40, - 40,0,238,102,102,102,102,102,59,8,14,14,7,255,253,2, - 6,8,0,247,98,50,52,28,28,8,8,56,48,7,13,13, - 8,0,253,224,96,96,108,118,102,102,102,102,124,96,96,240, - 8,13,13,7,255,253,34,34,0,247,98,50,52,28,28,8, - 8,56,48}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=15 h=13 x= 1 y= 8 dx=14 dy= 0 ascent=11 len=26 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB10r[1632] U8G_FONT_SECTION("u8g_font_timB10r") = { - 0,17,24,254,250,10,2,6,4,148,32,127,253,11,253,10, - 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, - 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, - 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, - 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, - 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, - 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, - 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, - 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, - 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, - 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, - 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, - 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, - 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, - 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, - 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, - 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, - 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, - 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, - 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, - 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, - 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, - 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, - 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, - 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, - 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, - 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, - 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, - 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, - 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, - 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, - 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, - 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, - 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, - 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, - 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, - 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, - 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, - 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, - 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, - 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, - 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, - 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, - 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, - 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, - 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, - 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, - 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, - 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, - 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, - 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, - 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, - 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, - 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, - 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, - 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, - 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, - 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, - 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, - 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, - 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, - 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, - 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, - 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, - 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, - 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, - 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, - 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, - 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, - 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, - 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, - 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, - 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, - 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, - 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, - 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, - 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, - 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, - 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, - 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, - 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, - 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, - 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, - 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, - 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, - 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, - 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, - 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, - 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, - 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, - 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, - 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, - 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, - 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, - 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, - 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, - 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, - 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, - 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, - 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, - 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, - 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,255 - }; -/* - Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=16 x= 2 y= 9 dx=17 dy= 0 ascent=16 len=33 - Font Bounding box w=19 h=27 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =16 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB12[3887] U8G_FONT_SECTION("u8g_font_timB12") = { - 0,19,27,254,249,11,2,42,5,41,32,255,252,16,252,11, - 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, - 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, - 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, - 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, - 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, - 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, - 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, - 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, - 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, - 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, - 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, - 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, - 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, - 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, - 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, - 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, - 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, - 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, - 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, - 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, - 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, - 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, - 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, - 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, - 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, - 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, - 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, - 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, - 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, - 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, - 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, - 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, - 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, - 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, - 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, - 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, - 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, - 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, - 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, - 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, - 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, - 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, - 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, - 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, - 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, - 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, - 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, - 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, - 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, - 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, - 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, - 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, - 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, - 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, - 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, - 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, - 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, - 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, - 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, - 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, - 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, - 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, - 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, - 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, - 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, - 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, - 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, - 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, - 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, - 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, - 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, - 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, - 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, - 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, - 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, - 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, - 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, - 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, - 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, - 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, - 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, - 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, - 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, - 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, - 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, - 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, - 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, - 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, - 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, - 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, - 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, - 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, - 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, - 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, - 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, - 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, - 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, - 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, - 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, - 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, - 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, - 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, - 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, - 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, - 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, - 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, - 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, - 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, - 4,48,0,120,128,159,0,14,0,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,5,0,1, - 2,12,12,6,2,252,192,192,0,0,64,64,64,192,192,192, - 192,192,6,12,12,8,1,254,4,4,56,76,204,208,208,224, - 100,56,64,64,8,11,11,8,0,0,28,38,38,48,48,124, - 48,16,113,158,110,6,7,7,8,1,1,180,120,204,132,204, - 120,180,8,11,11,8,0,0,227,98,50,52,28,126,24,126, - 24,24,126,1,15,15,4,1,253,128,128,128,128,128,128,0, - 0,0,128,128,128,128,128,128,6,15,15,8,1,252,56,76, - 76,96,48,120,156,204,228,120,56,24,200,200,112,5,2,2, - 6,0,9,216,216,12,11,22,12,255,0,15,0,48,192,71, - 32,72,160,152,16,152,16,152,16,72,160,71,32,48,192,15, - 0,5,7,7,5,0,4,96,144,112,176,216,0,248,7,7, - 7,8,0,0,18,54,108,216,108,54,18,7,6,6,9,1, - 1,254,254,2,2,2,2,4,2,2,5,0,3,240,240,12, - 11,22,12,0,0,15,0,48,192,78,32,73,32,137,16,142, - 16,138,16,73,32,93,32,48,192,15,0,5,1,1,6,0, - 9,248,4,5,5,7,1,6,96,144,144,144,96,7,9,9, - 9,1,0,16,16,254,254,16,16,0,254,254,4,7,7,5, - 0,4,96,240,176,32,64,240,240,4,7,7,5,0,4,96, - 176,48,96,48,176,96,3,3,3,6,1,9,96,64,128,8, - 11,11,9,0,253,238,102,102,102,102,102,111,118,64,96,96, - 7,15,15,9,1,252,62,116,244,244,244,244,116,52,20,20, - 20,20,20,20,20,2,2,2,4,1,4,192,192,5,4,4, - 6,0,252,32,48,136,112,4,7,7,5,1,4,96,224,96, - 96,96,96,240,4,7,7,6,1,4,96,144,144,144,96,0, - 240,7,7,7,8,0,0,144,216,108,54,108,216,144,11,11, - 22,12,0,0,96,128,225,0,97,0,98,0,100,64,100,192, - 249,192,10,192,19,224,32,192,32,192,10,11,22,12,0,0, - 97,0,225,0,98,0,98,0,100,0,107,128,254,192,16,128, - 17,0,35,192,39,192,11,11,22,12,0,0,96,128,177,0, - 49,0,98,0,52,64,180,192,105,192,10,192,19,224,32,192, - 32,192,6,11,11,8,1,253,24,24,0,16,32,64,192,192, - 204,204,112,11,15,30,12,0,0,48,0,24,0,4,0,0, - 0,4,0,14,0,14,0,27,0,19,0,51,0,33,128,127, - 128,64,192,192,192,225,224,11,15,30,12,0,0,1,128,3, - 0,4,0,0,0,4,0,14,0,14,0,27,0,19,0,51, - 0,33,128,127,128,64,192,192,192,225,224,11,15,30,12,0, - 0,4,0,14,0,17,0,0,0,4,0,14,0,14,0,27, - 0,19,0,51,0,33,128,127,128,64,192,192,192,225,224,11, - 14,28,12,0,0,29,0,46,0,0,0,4,0,14,0,14, - 0,27,0,19,0,51,0,33,128,127,128,64,192,192,192,225, - 224,11,14,28,12,0,0,27,0,27,0,0,0,4,0,14, - 0,14,0,27,0,19,0,51,0,33,128,127,128,64,192,192, - 192,225,224,11,16,32,12,0,0,6,0,9,0,9,0,6, - 0,0,0,4,0,14,0,14,0,27,0,19,0,51,0,33, - 128,127,128,64,192,192,192,225,224,14,11,22,16,1,0,15, - 248,7,24,11,8,11,0,19,32,31,224,35,32,35,0,67, - 4,67,12,231,252,9,15,30,11,1,252,30,128,99,128,65, - 128,192,128,192,0,192,0,192,0,192,0,96,128,115,0,62, - 0,8,0,12,0,34,0,28,0,8,15,15,10,1,0,96, - 48,8,0,255,99,97,96,98,126,98,96,97,99,255,8,15, - 15,10,1,0,6,12,16,0,255,99,97,96,98,126,98,96, - 97,99,255,8,15,15,10,1,0,8,28,34,0,255,99,97, - 96,98,126,98,96,97,99,255,8,14,14,10,1,0,102,102, - 0,255,99,97,96,98,126,98,96,97,99,255,5,15,15,6, - 0,0,192,96,16,0,120,48,48,48,48,48,48,48,48,48, - 120,4,15,15,6,1,0,48,96,128,0,240,96,96,96,96, - 96,96,96,96,96,240,5,15,15,6,0,0,32,112,136,0, - 120,48,48,48,48,48,48,48,48,48,120,6,14,14,6,0, - 0,204,204,0,120,48,48,48,48,48,48,48,48,48,120,9, - 11,22,11,1,0,252,0,102,0,99,0,97,128,97,128,249, - 128,97,128,97,128,99,0,102,0,252,0,10,14,28,12,1, - 0,29,0,46,0,0,0,241,192,112,128,88,128,88,128,76, - 128,70,128,71,128,67,128,65,128,65,128,224,128,10,15,30, - 12,1,0,48,0,24,0,4,0,0,0,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,30, - 0,10,15,30,12,1,0,3,0,6,0,8,0,0,0,30, - 0,97,128,64,128,192,192,192,192,192,192,192,192,192,192,64, - 128,97,128,30,0,10,15,30,12,1,0,4,0,14,0,17, - 0,0,0,30,0,97,128,64,128,192,192,192,192,192,192,192, - 192,192,192,64,128,97,128,30,0,10,14,28,12,1,0,29, - 0,46,0,0,0,30,0,97,128,64,128,192,192,192,192,192, - 192,192,192,192,192,64,128,97,128,30,0,10,14,28,12,1, - 0,51,0,51,0,0,0,30,0,97,128,64,128,192,192,192, - 192,192,192,192,192,192,192,64,128,97,128,30,0,7,8,8, - 9,1,0,130,198,108,56,56,108,198,130,10,13,26,13,1, - 255,0,64,30,128,97,128,65,128,194,192,194,192,196,192,200, - 192,200,192,80,128,97,128,62,0,64,0,10,15,30,12,1, - 0,48,0,24,0,4,0,0,0,241,192,96,128,96,128,96, - 128,96,128,96,128,96,128,96,128,96,128,33,0,30,0,10, - 15,30,12,1,0,3,0,6,0,8,0,0,0,241,192,96, - 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,33, - 0,30,0,10,15,30,12,1,0,4,0,14,0,17,0,0, - 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,33,0,30,0,10,14,28,12,1,0,51,0,51, - 0,0,0,241,192,96,128,96,128,96,128,96,128,96,128,96, - 128,96,128,96,128,33,0,30,0,11,15,30,12,0,0,1, - 128,3,0,4,0,0,0,248,224,112,64,56,128,24,128,29, - 0,15,0,6,0,6,0,6,0,6,0,15,0,8,11,11, - 10,1,0,240,96,126,103,99,99,103,126,96,96,240,8,11, - 11,9,0,0,24,38,102,102,108,98,99,99,99,98,236,8, - 12,12,8,0,0,48,16,8,0,56,204,204,28,108,204,205, - 118,8,12,12,8,0,0,24,16,32,0,56,204,204,28,108, - 204,205,118,8,12,12,8,0,0,16,56,68,0,56,204,204, - 28,108,204,205,118,8,11,11,8,0,0,52,88,0,56,204, - 204,28,108,204,205,118,8,11,11,8,0,0,108,108,0,56, - 204,204,28,108,204,205,118,8,13,13,8,0,0,16,40,40, - 16,0,56,204,204,28,108,204,205,118,10,8,16,12,1,0, - 51,128,206,192,204,192,31,192,108,0,204,0,214,64,99,128, - 6,12,12,7,0,252,56,108,204,192,192,192,100,56,32,48, - 136,112,6,12,12,7,0,0,48,16,8,0,56,108,204,252, - 192,192,100,56,6,12,12,7,0,0,24,16,32,0,56,108, - 204,252,192,192,100,56,6,12,12,7,0,0,16,56,68,0, - 56,108,204,252,192,192,100,56,6,11,11,7,0,0,108,108, - 0,56,108,204,252,192,192,100,56,4,12,12,5,0,0,192, - 64,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, - 0,48,32,64,0,224,96,96,96,96,96,96,240,5,12,12, - 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,5, - 11,11,5,255,0,216,216,0,112,48,48,48,48,48,48,120, - 7,11,11,8,0,0,108,48,216,60,108,198,198,198,198,108, - 56,8,11,11,9,0,0,52,88,0,236,126,102,102,102,102, - 102,247,7,12,12,8,0,0,48,16,8,0,56,108,198,198, - 198,198,108,56,7,12,12,8,0,0,24,16,32,0,56,108, - 198,198,198,198,108,56,7,12,12,8,0,0,16,56,68,0, - 56,108,198,198,198,198,108,56,7,11,11,8,0,0,52,88, - 0,56,108,198,198,198,198,108,56,7,11,11,8,0,0,108, - 108,0,56,108,198,198,198,198,108,56,8,8,8,9,0,0, - 24,24,0,255,255,0,24,24,7,10,10,8,0,255,2,60, - 108,206,214,214,230,108,120,128,8,12,12,9,0,0,48,16, - 8,0,238,102,102,102,102,102,111,54,8,12,12,9,0,0, - 12,8,16,0,238,102,102,102,102,102,111,54,8,12,12,9, - 0,0,16,56,68,0,238,102,102,102,102,102,111,54,8,11, - 11,9,0,0,108,108,0,238,102,102,102,102,102,111,54,8, - 16,16,8,0,252,12,8,16,0,247,98,98,52,52,28,24, - 24,16,16,224,192,8,15,15,9,0,252,224,96,96,108,118, - 99,99,99,99,114,108,96,96,96,240,8,15,15,8,0,252, - 108,108,0,247,98,98,52,52,28,24,24,16,16,224,192}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=17 h=15 x= 2 y= 9 dx=17 dy= 0 ascent=12 len=33 - Font Bounding box w=19 h=27 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB12r[1834] U8G_FONT_SECTION("u8g_font_timB12r") = { - 0,19,27,254,249,11,2,42,5,41,32,127,252,12,252,11, - 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, - 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, - 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, - 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, - 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, - 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, - 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, - 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, - 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, - 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, - 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, - 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, - 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, - 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, - 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, - 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, - 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, - 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, - 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, - 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, - 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, - 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, - 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, - 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, - 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, - 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, - 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, - 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, - 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, - 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, - 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, - 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, - 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, - 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, - 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, - 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, - 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, - 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, - 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, - 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, - 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, - 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, - 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, - 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, - 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, - 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, - 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, - 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, - 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, - 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, - 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, - 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, - 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, - 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, - 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, - 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, - 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, - 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, - 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, - 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, - 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, - 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, - 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, - 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, - 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, - 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, - 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, - 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, - 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, - 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, - 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, - 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, - 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, - 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, - 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, - 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, - 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, - 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, - 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, - 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, - 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, - 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, - 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, - 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, - 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, - 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, - 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, - 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, - 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, - 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, - 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, - 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, - 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, - 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, - 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, - 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, - 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, - 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, - 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, - 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, - 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, - 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, - 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, - 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, - 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, - 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, - 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, - 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, - 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, - 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, - 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, - 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, - 4,48,0,120,128,159,0,14,0,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=11 dx=19 dy= 0 ascent=17 len=39 - Font Bounding box w=22 h=28 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =17 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB14[4851] U8G_FONT_SECTION("u8g_font_timB14") = { - 0,22,28,254,249,13,2,178,6,78,32,255,252,17,252,13, - 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, - 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, - 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, - 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, - 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, - 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, - 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, - 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, - 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, - 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, - 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, - 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, - 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, - 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, - 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, - 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, - 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, - 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, - 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, - 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, - 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, - 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, - 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, - 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, - 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, - 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, - 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, - 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, - 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, - 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, - 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, - 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, - 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, - 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, - 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, - 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, - 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, - 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, - 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, - 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, - 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, - 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, - 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, - 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, - 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, - 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, - 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, - 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, - 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, - 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, - 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, - 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, - 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, - 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, - 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, - 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, - 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, - 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, - 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, - 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, - 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, - 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, - 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, - 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, - 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, - 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, - 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, - 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, - 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, - 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, - 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, - 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, - 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, - 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, - 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, - 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, - 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, - 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, - 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, - 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, - 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, - 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, - 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, - 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, - 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, - 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, - 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, - 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, - 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, - 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, - 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, - 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, - 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, - 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, - 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, - 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, - 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, - 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, - 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, - 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, - 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, - 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, - 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, - 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, - 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, - 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, - 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, - 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, - 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, - 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, - 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, - 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, - 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, - 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, - 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, - 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, - 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, - 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, - 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, - 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, - 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, - 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, - 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, - 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, - 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, - 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, - 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, - 1,3,112,249,159,14,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,5,0,1,3,13,13, - 6,1,252,224,224,224,0,64,64,224,224,224,224,224,224,64, - 8,13,13,9,0,254,1,3,62,119,239,236,216,216,240,115, - 62,96,64,14,13,26,9,0,0,31,0,59,0,59,0,56, - 0,56,0,56,0,254,0,56,4,56,0,48,0,240,128,191, - 128,239,0,8,8,8,9,0,2,219,255,102,195,195,102,255, - 219,9,13,26,9,0,0,251,128,113,0,115,0,58,0,58, - 0,28,0,127,0,28,0,127,0,28,0,28,0,28,0,127, - 0,2,16,16,4,1,253,192,192,192,192,192,192,0,0,0, - 0,192,192,192,192,192,192,7,16,16,9,1,253,60,102,70, - 96,48,120,220,206,230,118,60,28,12,196,204,120,6,2,2, - 6,0,10,204,204,13,13,26,15,1,0,15,128,56,224,96, - 48,79,208,220,216,152,72,152,8,152,8,220,216,79,144,96, - 48,56,224,15,128,6,8,8,6,0,5,112,216,56,216,216, - 236,0,252,9,7,14,11,1,1,25,128,51,0,102,0,204, - 0,102,0,51,0,25,128,9,6,12,11,1,1,255,128,255, - 128,1,128,1,128,1,128,1,128,5,3,3,6,0,4,248, - 248,248,13,13,26,15,1,0,15,128,56,224,96,48,95,144, - 204,216,140,200,143,136,141,136,204,216,94,240,96,48,56,224, - 15,128,6,1,1,6,0,11,252,6,5,5,7,0,8,120, - 204,204,204,120,8,11,11,11,1,0,24,24,24,255,255,24, - 24,24,0,255,255,5,8,8,5,0,5,112,152,24,48,32, - 64,248,240,5,8,8,5,0,5,112,152,24,112,56,24,152, - 112,5,3,3,6,0,10,56,112,192,10,13,26,11,0,252, - 247,128,115,128,115,128,115,128,115,128,115,128,115,128,127,128, - 125,192,96,0,224,0,240,0,96,0,9,17,34,10,0,252, - 63,128,127,128,251,0,251,0,251,0,251,0,123,0,59,0, - 27,0,27,0,27,0,27,0,27,0,27,0,27,0,27,0, - 27,0,3,3,3,5,1,4,224,224,224,5,4,4,6,1, - 252,32,24,152,112,6,8,8,5,0,5,48,240,48,48,48, - 48,48,252,6,8,8,6,0,5,120,204,204,204,204,120,0, - 252,9,7,14,11,1,1,204,0,102,0,51,0,25,128,51, - 0,102,0,204,0,13,13,26,13,0,0,48,96,240,192,48, - 192,49,128,49,128,51,16,51,48,254,112,6,176,13,176,13, - 248,24,48,24,48,13,13,26,13,0,0,48,96,240,192,48, - 192,49,128,49,128,51,112,51,152,254,24,6,48,12,32,12, - 64,24,248,24,240,13,13,26,13,0,0,112,96,152,192,24, - 192,113,128,57,128,27,16,155,48,118,112,6,176,13,176,13, - 248,24,48,24,48,7,13,13,9,1,252,56,56,56,0,16, - 16,48,96,228,238,238,230,124,14,17,34,14,0,0,14,0, - 7,0,1,128,0,0,3,0,3,128,7,128,5,192,13,192, - 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, - 14,17,34,14,0,0,3,128,7,0,12,0,0,0,3,0, - 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, - 48,112,32,56,96,56,248,252,14,17,34,14,0,0,3,0, - 7,128,12,192,0,0,3,0,3,128,7,128,5,192,13,192, - 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, - 14,17,34,14,0,0,6,64,15,192,9,128,0,0,3,0, - 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, - 48,112,32,56,96,56,248,252,14,16,32,14,0,0,12,192, - 12,192,0,0,3,0,3,128,7,128,5,192,13,192,8,192, - 24,224,16,96,31,240,48,112,32,56,96,56,248,252,14,17, - 34,14,0,0,7,0,13,128,13,128,7,0,3,0,3,128, - 7,128,5,192,13,192,8,192,24,224,16,96,31,240,48,112, - 32,56,96,56,248,252,17,13,39,19,0,0,7,255,128,3, - 225,128,2,224,128,6,224,0,4,224,0,12,226,0,8,254, - 0,31,226,0,16,224,0,48,224,0,32,224,128,96,225,128, - 249,255,128,12,17,34,14,1,252,15,144,56,240,112,112,112, - 48,224,0,224,0,224,0,224,0,224,0,112,0,112,48,60, - 224,15,128,4,0,3,0,19,0,14,0,10,17,34,13,2, - 0,56,0,28,0,6,0,0,0,255,192,112,192,112,64,112, - 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, - 192,255,192,10,17,34,13,2,0,14,0,28,0,48,0,0, - 0,255,192,112,192,112,64,112,0,112,0,113,0,127,0,113, - 0,112,0,112,0,112,64,112,192,255,192,10,17,34,13,2, - 0,12,0,30,0,51,0,0,0,255,192,112,192,112,64,112, - 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, - 192,255,192,10,16,32,13,2,0,51,0,51,0,0,0,255, - 192,112,192,112,64,112,0,112,0,113,0,127,0,113,0,112, - 0,112,0,112,64,112,192,255,192,5,17,17,7,1,0,224, - 112,24,0,248,112,112,112,112,112,112,112,112,112,112,112,248, - 5,17,17,7,1,0,56,112,192,0,248,112,112,112,112,112, - 112,112,112,112,112,112,248,6,17,17,7,1,0,48,120,204, - 0,248,112,112,112,112,112,112,112,112,112,112,112,248,6,16, - 16,7,1,0,204,204,0,248,112,112,112,112,112,112,112,112, - 112,112,112,248,13,13,26,14,0,0,127,128,56,224,56,112, - 56,48,56,56,56,56,254,56,56,56,56,56,56,48,56,112, - 56,224,127,128,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,240,112,120,32,120,32,124,32,94,32,78,32,79,32, - 71,160,67,160,67,224,65,224,64,224,224,224,13,17,34,15, - 1,0,14,0,7,0,1,128,0,0,15,128,56,224,112,112, - 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, - 56,224,15,128,13,17,34,15,1,0,3,128,7,0,12,0, - 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, - 224,56,224,56,112,112,112,112,56,224,15,128,13,17,34,15, - 1,0,6,0,15,0,25,128,0,0,15,128,56,224,112,112, - 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, - 56,224,15,128,13,17,34,15,1,0,12,128,31,128,19,0, - 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, - 224,56,224,56,112,112,112,112,56,224,15,128,13,16,32,15, - 1,0,25,128,25,128,0,0,15,128,56,224,112,112,112,112, - 224,56,224,56,224,56,224,56,224,56,112,112,112,112,56,224, - 15,128,9,8,16,11,1,1,193,128,99,0,54,0,28,0, - 28,0,54,0,99,0,193,128,13,15,30,15,1,255,0,96, - 15,192,56,224,112,176,113,176,225,56,227,56,226,56,230,56, - 228,56,108,112,104,112,56,224,31,128,48,0,12,17,34,14, - 1,0,28,0,14,0,3,0,0,0,248,240,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, - 56,192,31,128,12,17,34,14,1,0,1,192,3,128,6,0, - 0,0,248,240,112,32,112,32,112,32,112,32,112,32,112,32, - 112,32,112,32,112,32,112,96,56,192,31,128,12,17,34,14, - 1,0,6,0,15,0,25,128,0,0,248,240,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, - 56,192,31,128,12,16,32,14,1,0,25,128,25,128,0,0, - 248,240,112,32,112,32,112,32,112,32,112,32,112,32,112,32, - 112,32,112,32,112,96,56,192,31,128,13,17,34,14,1,0, - 0,224,1,192,3,0,0,0,252,120,120,48,56,96,60,64, - 30,192,14,128,15,128,7,0,7,0,7,0,7,0,7,0, - 31,192,10,13,26,11,1,0,248,0,112,0,112,0,127,0, - 115,128,113,192,113,192,113,192,115,128,127,0,112,0,112,0, - 248,0,9,13,26,10,0,0,30,0,59,0,115,128,115,128, - 115,128,119,0,114,0,115,0,115,128,115,128,115,128,115,128, - 247,0,8,13,13,9,0,0,112,56,12,0,124,206,206,30, - 110,206,206,254,119,8,13,13,9,0,0,14,28,48,0,124, - 206,206,30,110,206,206,254,119,8,13,13,9,0,0,24,60, - 102,0,124,206,206,30,110,206,206,254,119,8,13,13,9,0, - 0,50,126,76,0,124,206,206,30,110,206,206,254,119,8,12, - 12,9,0,0,102,102,0,124,206,206,30,110,206,206,254,119, - 8,13,13,9,0,0,56,108,108,56,124,206,206,30,110,206, - 206,254,119,12,9,18,13,0,0,125,224,231,176,199,48,15, - 240,127,0,231,0,199,0,239,176,121,224,7,13,13,8,0, - 252,62,118,230,224,224,224,224,118,60,16,12,76,56,7,13, - 13,8,0,0,112,56,12,0,60,118,230,254,224,224,224,118, - 60,8,13,13,8,0,0,7,14,24,0,60,118,230,254,224, - 224,224,118,60,7,13,13,8,0,0,24,60,102,0,60,118, - 230,254,224,224,224,118,60,7,12,12,8,0,0,102,102,0, - 60,118,230,254,224,224,224,118,60,5,13,13,5,0,0,224, - 112,24,0,240,112,112,112,112,112,112,112,248,5,13,13,5, - 0,0,56,112,192,0,240,112,112,112,112,112,112,112,248,6, - 13,13,5,0,0,48,120,204,0,240,112,112,112,112,112,112, - 112,248,6,12,12,5,0,0,204,204,0,240,112,112,112,112, - 112,112,112,248,8,13,13,9,0,0,96,54,56,76,62,102, - 231,231,231,231,231,102,60,10,13,26,11,0,0,25,0,63, - 0,38,0,0,0,231,0,127,128,115,128,115,128,115,128,115, - 128,115,128,115,128,251,192,8,13,13,9,0,0,112,56,12, - 0,60,102,231,231,231,231,231,102,60,8,13,13,9,0,0, - 7,14,24,0,60,102,231,231,231,231,231,102,60,8,13,13, - 9,0,0,24,60,102,0,60,102,231,231,231,231,231,102,60, - 8,13,13,9,0,0,50,126,76,0,60,102,231,231,231,231, - 231,102,60,8,12,12,9,0,0,102,102,0,60,102,231,231, - 231,231,231,102,60,8,8,8,11,1,1,24,24,0,255,255, - 0,24,24,10,11,22,9,255,255,0,64,30,128,51,0,115, - 128,115,128,119,128,123,128,113,128,51,0,94,0,128,0,10, - 13,26,11,0,0,56,0,28,0,6,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 13,26,11,0,0,14,0,28,0,48,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 13,26,11,0,0,12,0,30,0,51,0,0,0,247,128,115, - 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, - 12,24,11,0,0,51,0,51,0,0,0,247,128,115,128,115, - 128,115,128,115,128,115,128,115,128,127,128,61,192,10,17,34, - 9,255,252,3,128,7,0,12,0,0,0,251,192,113,128,121, - 0,59,0,58,0,30,0,30,0,12,0,12,0,12,0,8, - 0,216,0,240,0,9,17,34,10,0,252,240,0,112,0,112, - 0,112,0,118,0,127,0,115,128,115,128,115,128,115,128,115, - 128,123,0,118,0,112,0,112,0,112,0,248,0,10,16,32, - 9,255,252,51,0,51,0,0,0,251,192,113,128,121,0,59, - 0,58,0,30,0,30,0,12,0,12,0,12,0,8,0,216, - 0,240,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=10 dx=19 dy= 0 ascent=14 len=39 - Font Bounding box w=22 h=28 x=-2 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB14r[2295] U8G_FONT_SECTION("u8g_font_timB14r") = { - 0,22,28,254,249,13,2,178,6,78,32,127,252,14,252,13, - 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, - 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, - 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, - 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, - 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, - 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, - 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, - 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, - 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, - 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, - 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, - 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, - 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, - 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, - 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, - 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, - 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, - 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, - 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, - 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, - 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, - 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, - 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, - 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, - 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, - 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, - 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, - 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, - 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, - 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, - 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, - 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, - 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, - 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, - 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, - 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, - 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, - 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, - 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, - 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, - 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, - 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, - 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, - 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, - 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, - 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, - 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, - 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, - 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, - 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, - 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, - 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, - 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, - 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, - 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, - 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, - 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, - 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, - 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, - 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, - 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, - 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, - 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, - 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, - 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, - 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, - 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, - 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, - 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, - 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, - 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, - 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, - 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, - 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, - 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, - 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, - 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, - 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, - 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, - 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, - 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, - 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, - 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, - 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, - 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, - 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, - 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, - 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, - 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, - 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, - 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, - 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, - 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, - 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, - 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, - 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, - 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, - 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, - 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, - 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, - 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, - 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, - 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, - 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, - 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, - 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, - 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, - 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, - 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, - 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, - 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, - 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, - 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, - 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, - 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, - 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, - 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, - 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, - 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, - 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, - 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, - 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, - 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, - 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, - 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, - 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, - 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, - 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, - 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, - 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, - 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, - 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, - 1,3,112,249,159,14,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=24 h=23 x= 3 y=14 dx=25 dy= 0 ascent=23 len=69 - Font Bounding box w=27 h=38 x=-2 y=-10 - Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =23 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB18[7223] U8G_FONT_SECTION("u8g_font_timB18") = { - 0,27,38,254,246,17,4,47,9,109,32,255,251,23,250,17, - 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, - 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, - 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, - 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, - 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, - 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, - 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, - 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, - 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, - 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, - 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, - 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, - 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, - 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, - 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, - 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, - 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, - 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, - 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, - 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, - 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, - 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, - 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, - 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, - 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, - 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, - 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, - 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, - 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, - 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, - 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, - 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, - 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, - 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, - 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, - 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, - 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, - 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, - 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, - 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, - 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, - 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, - 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, - 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, - 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, - 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, - 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, - 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, - 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, - 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, - 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, - 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, - 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, - 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, - 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, - 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, - 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, - 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, - 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, - 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, - 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, - 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, - 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, - 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, - 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, - 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, - 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, - 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, - 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, - 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, - 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, - 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, - 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, - 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, - 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, - 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, - 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, - 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, - 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, - 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, - 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, - 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, - 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, - 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, - 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, - 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, - 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, - 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, - 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, - 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, - 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, - 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, - 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, - 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, - 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, - 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, - 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, - 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, - 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, - 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, - 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, - 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, - 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, - 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, - 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, - 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, - 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, - 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, - 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, - 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, - 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, - 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, - 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, - 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, - 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, - 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, - 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, - 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, - 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, - 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, - 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, - 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, - 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, - 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, - 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, - 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, - 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, - 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, - 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, - 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, - 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, - 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, - 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, - 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, - 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, - 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, - 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, - 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, - 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, - 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, - 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, - 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, - 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, - 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, - 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, - 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, - 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, - 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, - 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, - 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, - 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, - 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, - 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, - 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, - 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, - 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, - 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, - 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, - 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, - 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, - 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, - 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, - 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, - 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, - 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, - 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, - 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, - 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, - 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, - 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, - 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, - 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, - 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, - 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, - 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, - 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, - 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, - 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, - 126,16,255,16,143,240,135,224,1,128,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, - 1,4,17,17,8,2,251,96,240,240,96,0,0,96,96,96, - 96,96,240,240,240,240,240,96,10,18,36,13,1,253,0,128, - 1,128,1,0,31,128,115,192,115,192,230,128,228,0,228,0, - 236,0,232,0,248,0,120,128,127,128,62,0,48,0,96,0, - 96,0,11,17,34,13,0,0,15,192,30,96,60,224,60,224, - 60,64,28,0,28,0,255,128,255,128,28,0,28,0,28,0, - 12,32,124,96,207,224,255,224,115,192,11,12,24,13,0,3, - 192,96,238,224,127,192,59,128,113,192,96,192,96,192,113,192, - 59,128,127,192,238,224,192,96,14,17,34,13,0,0,254,124, - 56,48,60,32,28,96,30,64,14,192,15,128,7,128,7,0, - 31,192,7,0,31,192,7,0,7,0,7,0,7,0,31,192, - 2,22,22,6,2,251,192,192,192,192,192,192,192,192,192,0, - 0,0,0,192,192,192,192,192,192,192,192,192,7,20,20,11, - 2,253,60,110,206,198,224,112,120,92,142,134,194,226,116,60, - 28,14,198,230,236,120,6,2,2,8,1,14,204,204,17,17, - 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, - 97,243,0,99,51,0,198,17,128,198,1,128,198,1,128,198, - 1,128,198,1,128,99,51,0,97,227,0,48,6,0,60,30, - 0,15,248,0,3,224,0,7,10,10,8,0,7,120,220,12, - 124,236,204,126,0,254,254,11,10,20,13,1,1,12,96,24, - 192,49,128,115,128,231,0,231,0,115,128,49,128,24,192,12, - 96,11,7,14,15,2,2,255,224,255,224,0,96,0,96,0, - 96,0,96,0,96,6,3,3,8,1,5,252,252,252,17,17, - 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, - 103,227,0,99,51,0,195,49,128,195,49,128,195,225,128,195, - 97,128,195,49,128,99,51,0,103,187,0,48,6,0,60,30, - 0,15,248,0,3,224,0,6,1,1,8,1,14,252,8,7, - 7,9,0,10,60,102,195,195,195,102,60,12,13,26,14,1, - 0,6,0,6,0,6,0,6,0,255,240,255,240,6,0,6, - 0,6,0,6,0,0,0,255,240,255,240,6,10,10,7,0, - 7,56,124,140,12,24,16,32,64,252,252,6,10,10,7,0, - 7,56,124,140,12,56,28,12,140,248,112,5,4,4,8,2, - 13,56,112,96,192,12,17,34,14,1,251,241,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, - 240,108,224,96,0,96,0,224,0,240,0,96,0,11,22,44, - 14,1,251,31,224,127,224,126,64,254,64,254,64,254,64,254, - 64,254,64,254,64,126,64,126,64,30,64,2,64,2,64,2, - 64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,3, - 3,3,6,1,6,224,224,224,6,6,6,8,1,250,16,48, - 56,12,140,120,6,10,10,7,0,7,48,240,48,48,48,48, - 48,48,48,252,7,10,10,8,0,7,56,108,198,198,198,108, - 56,0,254,254,11,10,20,13,1,1,198,0,99,0,49,128, - 57,192,28,224,28,224,57,192,51,128,99,0,198,0,17,17, - 51,18,0,0,48,4,0,240,12,0,48,24,0,48,24,0, - 48,48,0,48,32,0,48,96,0,48,66,0,48,198,0,252, - 142,0,1,142,0,1,22,0,3,54,0,6,38,0,6,127, - 128,12,6,0,8,6,0,17,17,51,18,0,0,48,4,0, - 240,12,0,48,24,0,48,24,0,48,48,0,48,32,0,48, - 96,0,48,71,0,48,207,128,252,145,128,1,129,128,1,3, - 0,3,2,0,6,4,0,6,8,0,12,31,128,8,31,128, - 17,17,51,18,1,0,56,4,0,124,12,0,140,24,0,12, - 24,0,56,48,0,28,32,0,12,96,0,140,66,0,248,198, - 0,113,14,0,3,14,0,2,22,0,6,54,0,12,38,0, - 12,127,128,24,6,0,16,6,0,9,17,34,12,1,251,12, - 0,30,0,30,0,12,0,0,0,0,0,12,0,12,0,28, - 0,56,0,120,0,240,0,241,0,243,128,243,128,123,0,62, - 0,17,22,66,18,0,0,3,128,0,1,192,0,0,192,0, - 0,96,0,0,0,0,1,128,0,1,192,0,3,192,0,3, - 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, - 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, - 48,30,0,112,30,0,248,127,128,17,22,66,18,0,0,0, - 224,0,1,192,0,1,128,0,3,0,0,0,0,0,1,128, - 0,1,192,0,3,192,0,3,224,0,3,224,0,6,224,0, - 6,240,0,4,112,0,12,112,0,8,120,0,8,56,0,31, - 248,0,16,60,0,48,60,0,48,30,0,112,30,0,248,127, - 128,17,22,66,18,0,0,1,128,0,3,192,0,6,96,0, - 0,0,0,0,0,0,1,128,0,1,192,0,3,192,0,3, - 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, - 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, - 48,30,0,112,30,0,248,127,128,17,21,63,18,0,0,3, - 16,0,7,224,0,8,192,0,0,0,0,1,128,0,1,192, - 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, - 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, - 60,0,48,60,0,48,30,0,112,30,0,248,127,128,17,21, - 63,18,0,0,6,96,0,6,96,0,0,0,0,0,0,0, - 1,128,0,1,192,0,3,192,0,3,224,0,3,224,0,6, - 224,0,6,240,0,4,112,0,12,112,0,8,120,0,8,56, - 0,31,248,0,16,60,0,48,60,0,48,30,0,112,30,0, - 248,127,128,17,23,69,18,0,0,1,128,0,3,192,0,6, - 96,0,6,96,0,3,192,0,1,128,0,1,128,0,1,192, - 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, - 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, - 60,0,48,60,0,48,30,0,112,30,0,248,127,128,23,17, - 51,25,0,0,1,255,252,0,124,28,0,252,12,0,188,4, - 1,188,4,1,60,32,3,60,32,2,60,96,6,63,224,7, - 252,96,12,60,32,8,60,32,24,60,2,16,60,2,48,60, - 6,112,60,14,248,255,254,15,23,46,18,1,250,3,242,30, - 62,60,14,120,6,120,2,240,2,240,0,240,0,240,0,240, - 0,240,0,240,0,120,0,120,2,60,14,31,60,7,240,1, - 0,3,0,3,128,0,192,8,192,7,128,15,22,44,17,1, - 0,7,0,3,128,1,128,0,192,0,0,255,252,60,28,60, - 12,60,4,60,4,60,32,60,32,60,96,63,224,60,96,60, - 32,60,32,60,2,60,2,60,6,60,14,255,254,15,22,44, - 17,1,0,1,192,3,128,3,0,6,0,0,0,255,252,60, - 28,60,12,60,4,60,4,60,32,60,32,60,96,63,224,60, - 96,60,32,60,32,60,2,60,2,60,6,60,14,255,254,15, - 22,44,17,1,0,3,0,7,128,12,192,0,0,0,0,255, - 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, - 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, - 254,15,21,42,17,1,0,12,192,12,192,0,0,0,0,255, - 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, - 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, - 254,8,22,22,10,0,0,112,56,24,12,0,255,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,255,8,22,22, - 10,0,0,14,28,24,48,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,8,22,22,10,0,0,24, - 60,102,0,0,255,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,255,8,21,21,10,0,0,102,102,0,0,255, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, - 16,17,34,18,1,0,255,224,60,120,60,60,60,30,60,30, - 60,15,60,15,255,143,255,143,60,15,60,15,60,14,60,30, - 60,28,60,60,60,120,255,224,17,22,66,18,0,0,1,136, - 0,3,240,0,4,96,0,0,0,0,0,0,0,248,15,128, - 124,7,0,62,2,0,63,2,0,63,130,0,47,194,0,39, - 226,0,35,226,0,33,242,0,32,250,0,32,126,0,32,62, - 0,32,30,0,32,14,0,32,14,0,96,6,0,248,2,0, - 16,22,44,19,1,0,7,0,3,128,1,128,0,192,0,0, - 7,224,30,120,60,60,120,30,120,30,240,15,240,15,240,15, - 240,15,240,15,240,15,240,15,120,30,120,30,60,60,30,120, - 7,224,16,22,44,19,1,0,0,112,0,224,0,192,1,128, - 0,0,7,224,30,120,60,60,120,30,120,30,240,15,240,15, - 240,15,240,15,240,15,240,15,240,15,120,30,120,30,60,60, - 30,120,7,224,16,22,44,19,1,0,1,128,3,192,6,96, - 0,0,0,0,7,224,30,120,60,60,120,30,120,30,240,15, - 240,15,240,15,240,15,240,15,240,15,240,15,120,30,120,30, - 60,60,30,120,7,224,16,22,44,19,1,0,3,16,7,224, - 8,192,0,0,0,0,7,224,30,120,60,60,120,30,120,30, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, - 120,30,60,60,30,120,7,224,16,21,42,19,1,0,12,96, - 12,96,0,0,0,0,7,224,30,120,60,60,120,30,120,30, - 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, - 120,30,60,60,30,120,7,224,12,12,24,14,1,0,192,48, - 224,112,112,224,57,192,31,128,15,0,15,0,31,128,57,192, - 112,224,224,112,192,48,16,19,38,19,1,255,0,4,7,236, - 30,120,56,28,120,62,120,62,240,111,240,207,240,207,241,143, - 243,15,243,15,246,15,124,30,124,30,56,28,62,120,55,224, - 96,0,17,22,66,18,0,0,3,128,0,1,192,0,0,192, - 0,0,96,0,0,0,0,255,15,128,62,6,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, - 0,30,4,0,31,28,0,7,248,0,17,22,66,18,0,0, - 0,56,0,0,112,0,0,96,0,0,192,0,0,0,0,255, - 15,128,62,6,0,60,2,0,60,2,0,60,2,0,60,2, - 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,6,0,30,4,0,31,28,0,7, - 248,0,17,22,66,18,0,0,0,96,0,0,240,0,1,152, - 0,0,0,0,0,0,0,255,15,128,62,6,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, - 0,30,4,0,31,28,0,7,248,0,17,21,63,18,0,0, - 3,24,0,3,24,0,0,0,0,0,0,0,255,15,128,62, - 6,0,60,2,0,60,2,0,60,2,0,60,2,0,60,2, - 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,6,0,30,4,0,31,28,0,7,248,0,18, - 23,69,18,0,0,0,14,0,0,28,0,0,24,0,0,48, - 0,0,0,0,0,0,0,255,143,192,62,3,0,30,2,0, - 15,6,0,15,12,0,7,140,0,7,152,0,3,208,0,3, - 240,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,1,224,0,1,224,0,7,248,0,14,17,34,15,0,0, - 255,0,60,0,60,0,60,0,63,224,60,120,60,60,60,60, - 60,60,60,60,60,60,60,120,63,224,60,0,60,0,60,0, - 255,0,11,17,34,14,1,0,31,0,57,128,113,192,113,192, - 113,192,113,192,115,128,119,0,115,128,113,192,112,224,112,224, - 112,224,112,224,112,224,112,192,243,128,10,17,34,12,1,0, - 56,0,28,0,12,0,6,0,0,0,62,0,119,0,227,128, - 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, - 113,128,10,17,34,12,1,0,14,0,28,0,24,0,48,0, - 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,10,17,34,12,1,0, - 12,0,30,0,51,0,0,0,0,0,62,0,119,0,227,128, - 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, - 113,128,10,17,34,12,1,0,24,128,63,0,70,0,0,0, - 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,10,16,32,12,1,0, - 51,0,51,0,0,0,0,0,62,0,119,0,227,128,227,128, - 67,128,15,128,115,128,227,128,227,128,231,128,255,192,113,128, - 10,18,36,12,1,0,12,0,30,0,51,0,51,0,30,0, - 12,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, - 227,128,227,128,231,128,255,192,113,128,15,12,24,17,1,0, - 62,120,119,204,227,206,99,142,3,142,31,254,115,128,227,128, - 227,192,231,226,254,252,124,120,9,18,36,11,1,250,30,0, - 115,0,115,128,227,128,225,0,224,0,224,0,224,0,240,0, - 120,128,127,0,30,0,8,0,24,0,28,0,6,0,70,0, - 60,0,9,17,34,11,1,0,56,0,28,0,12,0,6,0, - 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, - 224,0,240,0,120,128,127,0,30,0,9,17,34,11,1,0, - 14,0,28,0,24,0,48,0,0,0,30,0,115,0,115,128, - 227,128,227,128,255,128,224,0,224,0,240,0,120,128,127,0, - 30,0,9,17,34,11,1,0,24,0,60,0,102,0,0,0, - 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, - 224,0,240,0,120,128,127,0,30,0,9,16,32,11,1,0, - 51,0,51,0,0,0,0,0,30,0,115,0,115,128,227,128, - 227,128,255,128,224,0,224,0,240,0,120,128,127,0,30,0, - 5,17,17,7,1,0,224,112,48,24,0,240,112,112,112,112, - 112,112,112,112,112,112,248,6,17,17,7,1,0,28,56,48, - 96,0,240,112,112,112,112,112,112,112,112,112,112,248,6,17, - 17,7,1,0,48,120,204,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,6,16,16,7,1,0,204,204,0,0,240, - 112,112,112,112,112,112,112,112,112,112,248,11,17,34,13,1, - 0,96,0,56,192,15,0,30,0,99,0,31,128,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,12,17,34,14,1,0,12,64,31,128,35,0,0, - 0,0,0,243,192,119,224,120,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,112,224,249,240,11,17,34,13,1, - 0,28,0,14,0,6,0,3,0,0,0,31,0,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,11,17,34,13,1,0,3,128,7,0,6,0,12, - 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, - 224,224,224,224,224,113,192,123,192,31,0,11,17,34,13,1, - 0,12,0,30,0,51,0,0,0,0,0,31,0,123,192,113, - 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, - 192,31,0,11,17,34,13,1,0,24,128,63,0,70,0,0, - 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, - 224,224,224,224,224,113,192,123,192,31,0,11,16,32,13,1, - 0,49,128,49,128,0,0,0,0,31,0,123,192,113,192,224, - 224,224,224,224,224,224,224,224,224,224,224,113,192,123,192,31, - 0,12,12,24,14,1,0,6,0,6,0,6,0,0,0,0, - 0,255,240,255,240,0,0,0,0,6,0,6,0,6,0,11, - 16,32,13,1,254,0,64,0,64,30,128,121,192,113,192,226, - 224,226,224,228,224,228,224,232,224,232,224,113,192,123,192,63, - 0,64,0,64,0,12,17,34,14,1,0,28,0,14,0,6, - 0,3,0,0,0,241,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,113,224,126,240,60,224,12,17,34, - 14,1,0,7,0,14,0,12,0,24,0,0,0,241,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,113, - 224,126,240,60,224,12,17,34,14,1,0,6,0,15,0,25, - 128,0,0,0,0,241,224,112,224,112,224,112,224,112,224,112, - 224,112,224,112,224,112,224,113,224,126,240,60,224,12,16,32, - 14,1,0,25,128,25,128,0,0,0,0,241,224,112,224,112, - 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, - 240,60,224,12,22,44,12,0,251,1,192,3,128,3,0,6, - 0,0,0,253,240,120,96,56,64,56,192,60,128,28,128,29, - 128,31,0,15,0,15,0,6,0,6,0,6,0,100,0,236, - 0,248,0,112,0,12,22,44,14,1,251,240,0,112,0,112, - 0,112,0,112,0,115,128,119,224,124,224,120,112,112,112,112, - 112,112,112,112,112,112,112,120,224,119,224,115,128,112,0,112, - 0,112,0,112,0,252,0,12,21,42,12,0,251,25,128,25, - 128,0,0,0,0,253,240,120,96,56,64,56,192,60,128,28, - 128,29,128,31,0,15,0,15,0,6,0,6,0,6,0,100, - 0,236,0,248,0,112,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=24 h=22 x= 3 y=13 dx=25 dy= 0 ascent=18 len=66 - Font Bounding box w=27 h=38 x=-2 y=-10 - Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 - Pure Font ascent =17 descent=-5 - X Font ascent =17 descent=-5 - Max Font ascent =18 descent=-5 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB18r[3355] U8G_FONT_SECTION("u8g_font_timB18r") = { - 0,27,38,254,246,17,4,47,9,109,32,127,251,18,251,17, - 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, - 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, - 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, - 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, - 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, - 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, - 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, - 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, - 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, - 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, - 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, - 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, - 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, - 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, - 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, - 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, - 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, - 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, - 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, - 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, - 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, - 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, - 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, - 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, - 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, - 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, - 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, - 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, - 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, - 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, - 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, - 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, - 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, - 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, - 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, - 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, - 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, - 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, - 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, - 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, - 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, - 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, - 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, - 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, - 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, - 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, - 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, - 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, - 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, - 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, - 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, - 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, - 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, - 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, - 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, - 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, - 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, - 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, - 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, - 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, - 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, - 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, - 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, - 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, - 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, - 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, - 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, - 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, - 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, - 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, - 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, - 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, - 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, - 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, - 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, - 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, - 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, - 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, - 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, - 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, - 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, - 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, - 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, - 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, - 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, - 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, - 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, - 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, - 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, - 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, - 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, - 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, - 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, - 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, - 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, - 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, - 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, - 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, - 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, - 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, - 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, - 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, - 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, - 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, - 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, - 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, - 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, - 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, - 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, - 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, - 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, - 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, - 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, - 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, - 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, - 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, - 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, - 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, - 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, - 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, - 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, - 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, - 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, - 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, - 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, - 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, - 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, - 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, - 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, - 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, - 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, - 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, - 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, - 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, - 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, - 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, - 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, - 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, - 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, - 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, - 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, - 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, - 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, - 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, - 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, - 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, - 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, - 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, - 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, - 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, - 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, - 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, - 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, - 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, - 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, - 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, - 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, - 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, - 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, - 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, - 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, - 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, - 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, - 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, - 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, - 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, - 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, - 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, - 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, - 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, - 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, - 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, - 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, - 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, - 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, - 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, - 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, - 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, - 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, - 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, - 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, - 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, - 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, - 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, - 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, - 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, - 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, - 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, - 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, - 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, - 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, - 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, - 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, - 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, - 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, - 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, - 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, - 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, - 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, - 126,16,255,16,143,240,135,224,1,128,255}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=30 x= 4 y=18 dx=33 dy= 0 ascent=30 len=108 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =30 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_FONT_SECTION("u8g_font_timB24") = { - 0,38,49,251,244,23,5,149,13,202,32,255,249,30,249,23, - 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, - 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, - 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, - 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, - 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, - 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, - 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, - 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, - 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, - 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, - 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, - 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, - 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, - 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, - 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, - 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, - 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, - 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, - 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, - 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, - 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, - 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, - 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, - 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, - 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, - 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, - 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, - 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, - 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, - 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, - 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, - 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, - 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, - 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, - 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, - 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, - 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, - 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, - 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, - 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, - 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, - 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, - 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, - 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, - 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, - 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, - 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, - 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, - 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, - 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, - 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, - 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, - 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, - 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, - 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, - 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, - 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, - 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, - 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, - 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, - 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, - 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, - 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, - 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, - 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, - 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, - 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, - 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, - 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, - 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, - 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, - 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, - 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, - 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, - 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, - 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, - 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, - 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, - 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, - 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, - 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, - 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, - 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, - 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, - 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, - 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, - 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, - 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, - 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, - 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, - 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, - 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, - 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, - 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, - 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, - 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, - 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, - 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, - 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, - 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, - 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, - 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, - 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, - 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, - 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, - 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, - 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, - 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, - 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, - 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, - 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, - 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, - 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, - 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, - 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, - 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, - 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, - 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, - 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, - 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, - 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, - 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, - 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, - 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, - 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, - 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, - 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, - 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, - 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, - 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, - 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, - 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, - 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, - 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, - 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, - 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, - 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, - 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, - 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, - 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, - 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, - 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, - 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, - 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, - 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, - 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, - 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, - 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, - 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, - 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, - 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, - 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, - 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, - 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, - 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, - 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, - 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, - 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, - 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, - 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, - 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, - 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, - 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, - 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, - 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, - 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, - 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, - 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, - 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, - 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, - 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, - 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, - 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, - 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, - 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, - 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, - 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, - 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, - 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, - 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, - 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, - 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, - 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, - 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, - 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, - 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, - 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, - 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, - 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, - 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, - 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, - 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, - 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, - 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, - 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, - 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, - 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, - 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, - 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, - 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, - 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, - 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, - 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, - 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, - 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, - 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, - 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, - 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, - 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, - 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, - 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, - 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, - 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, - 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, - 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, - 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, - 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, - 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, - 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, - 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, - 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, - 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, - 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, - 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, - 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, - 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, - 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, - 255,198,143,254,131,252,1,248,0,112,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,8,0, - 1,5,23,23,11,3,249,112,248,248,248,112,0,0,0,32, - 32,32,32,112,112,112,112,248,248,248,248,248,248,112,13,25, - 50,17,1,251,0,8,0,8,0,24,0,16,7,240,28,224, - 56,240,120,240,240,240,240,224,240,128,241,128,241,0,243,0, - 242,0,250,16,126,48,127,224,63,192,15,0,8,0,16,0, - 16,0,32,0,32,0,16,23,46,17,1,0,0,240,3,252, - 7,30,14,30,14,30,30,12,30,0,30,0,31,0,15,0, - 15,0,127,240,127,240,7,128,7,128,7,128,55,128,127,1, - 239,3,199,135,199,255,238,254,124,124,14,15,30,17,1,4, - 96,24,247,188,255,252,127,248,60,240,120,120,112,56,112,56, - 112,56,120,120,60,240,127,248,255,252,247,188,96,24,18,23, - 69,17,1,0,255,135,192,62,3,128,62,3,0,31,3,0, - 31,6,0,31,134,0,15,132,0,15,140,0,7,200,0,7, - 216,0,7,208,0,3,240,0,31,252,0,31,252,0,3,224, - 0,31,252,0,31,252,0,1,224,0,1,224,0,1,224,0, - 1,224,0,3,240,0,15,252,0,2,30,30,7,3,249,192, - 192,192,192,192,192,192,192,192,192,192,192,0,0,0,0,0, - 0,192,192,192,192,192,192,192,192,192,192,192,192,12,28,56, - 17,2,251,15,128,24,192,48,224,113,224,113,224,120,192,60, - 0,62,0,31,0,15,128,63,192,99,224,193,224,192,240,224, - 112,240,48,120,48,124,96,63,192,31,128,7,128,3,192,49, - 224,120,224,120,224,112,192,49,128,31,0,8,4,4,11,2, - 18,66,231,231,66,22,23,69,25,1,0,1,254,0,7,255, - 128,15,3,192,28,0,224,56,0,112,48,254,48,113,199,56, - 99,131,24,231,131,28,199,0,12,199,0,12,199,0,12,199, - 0,12,199,128,12,195,195,12,227,230,28,96,252,24,112,0, - 56,56,0,112,28,0,224,15,3,192,7,255,128,1,254,0, - 9,14,28,10,0,9,60,0,102,0,103,0,103,0,31,0, - 103,0,199,0,199,0,239,128,115,0,0,0,0,0,255,128, - 255,128,14,14,28,17,2,1,2,4,6,12,14,28,28,56, - 56,112,112,224,225,192,225,192,112,224,56,112,28,56,14,28, - 6,12,2,4,16,9,18,19,1,3,255,255,255,255,255,255, - 0,7,0,7,0,7,0,7,0,7,0,7,8,4,4,11, - 1,6,255,255,255,255,22,23,69,25,2,0,1,254,0,7, - 255,128,15,3,192,28,0,224,56,0,112,51,252,48,113,206, - 56,96,199,24,224,199,28,192,199,12,192,206,12,192,248,12, - 192,220,12,192,206,12,192,198,12,224,199,28,97,195,152,115, - 227,248,56,0,112,28,0,224,15,3,192,7,255,128,1,254, - 0,9,2,4,11,1,18,255,128,255,128,9,10,20,13,2, - 13,28,0,127,0,99,0,193,128,193,128,193,128,193,128,99, - 0,127,0,60,0,15,19,38,19,2,0,3,128,3,128,3, - 128,3,128,3,128,3,128,255,254,255,254,255,254,3,128,3, - 128,3,128,3,128,3,128,3,128,0,0,255,254,255,254,255, - 254,10,14,28,10,1,9,62,0,127,0,199,128,131,128,3, - 128,3,128,3,0,6,0,12,0,24,0,48,64,127,192,255, - 128,255,128,9,14,28,10,1,9,30,0,63,0,103,128,67, - 128,3,0,6,0,31,0,7,128,3,128,3,128,3,128,195, - 128,231,0,126,0,7,6,6,11,3,17,6,14,28,56,96, - 128,16,22,44,19,2,250,248,252,120,124,120,60,120,60,120, - 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, - 124,124,252,127,191,95,56,64,0,224,0,224,0,224,0,224, - 0,224,0,16,29,58,18,1,250,15,255,63,255,63,140,127, - 140,255,140,255,140,255,140,255,140,255,140,255,140,255,140,127, - 140,63,140,63,140,15,140,1,140,1,140,1,140,1,140,1, - 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, - 140,1,140,4,4,4,8,2,9,96,240,240,96,7,7,7, - 11,1,249,6,12,28,14,198,238,124,9,14,28,10,0,9, - 12,0,124,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,255,128,9,14,28,11, - 1,9,28,0,119,0,99,0,227,128,227,128,227,128,227,128, - 99,0,119,0,28,0,0,0,0,0,255,128,255,128,14,14, - 28,17,1,1,129,0,193,128,225,192,112,224,56,112,28,56, - 14,28,14,28,28,56,56,112,112,224,225,192,193,128,129,0, - 23,23,69,25,0,0,12,0,8,124,0,24,28,0,48,28, - 0,48,28,0,96,28,0,96,28,0,192,28,1,128,28,1, - 128,28,3,12,28,6,28,28,6,60,28,12,124,255,152,252, - 0,24,220,0,49,156,0,99,156,0,99,28,0,199,254,1, - 199,254,1,128,28,3,0,28,3,0,28,23,23,69,25,0, - 0,12,0,48,124,0,96,28,0,96,28,0,192,28,0,128, - 28,1,128,28,3,0,28,2,0,28,6,0,28,12,240,28, - 25,248,28,27,60,28,50,28,255,176,28,0,96,28,0,96, - 24,0,192,48,1,128,96,1,128,192,3,1,130,6,3,254, - 6,7,252,12,15,252,22,23,69,25,1,0,30,0,16,63, - 0,48,103,128,96,67,128,96,3,0,192,6,0,192,31,1, - 128,7,131,0,3,131,0,3,134,24,3,140,56,195,140,120, - 231,24,248,126,49,248,0,49,184,0,99,56,0,199,56,0, - 198,56,1,143,252,3,143,252,3,0,56,6,0,56,6,0, - 56,12,23,46,16,2,249,7,0,15,128,15,128,15,128,7, - 0,0,0,0,0,0,0,2,0,2,0,6,0,12,0,28, - 0,60,0,120,0,120,0,248,96,248,240,248,240,248,112,120, - 112,60,224,31,192,21,30,90,24,1,0,6,0,0,7,0, - 0,3,128,0,1,192,0,0,96,0,0,0,0,0,32,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,30,90,24,1,0,0,3,0,0,7, - 0,0,14,0,0,28,0,0,48,0,0,64,0,0,0,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,30,90,24,1,0,0,96,0,0,240, - 0,1,248,0,1,152,0,3,12,0,2,4,0,0,0,0, - 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, - 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, - 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, - 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, - 7,240,252,31,248,21,29,87,24,1,0,0,194,0,1,246, - 0,3,124,0,2,24,0,0,0,0,0,0,0,0,32,0, - 0,96,0,0,112,0,0,240,0,0,248,0,0,248,0,1, - 248,0,1,124,0,1,124,0,3,62,0,2,62,0,6,62, - 0,6,31,0,4,31,0,12,15,0,15,255,128,24,15,128, - 24,7,192,16,7,192,48,3,224,48,3,224,112,7,240,252, - 31,248,21,29,87,24,1,0,1,8,0,3,156,0,3,156, - 0,1,8,0,0,0,0,0,0,0,0,32,0,0,96,0, - 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, - 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, - 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, - 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,21, - 30,90,24,1,0,0,224,0,1,176,0,3,24,0,2,8, - 0,3,24,0,1,176,0,0,224,0,0,0,0,0,96,0, - 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, - 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, - 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, - 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,32, - 23,92,33,0,0,3,255,255,252,0,255,255,252,0,99,224, - 28,0,99,224,12,0,195,224,12,0,195,224,4,1,131,224, - 4,1,131,224,128,3,3,224,128,3,3,225,128,2,3,227, - 128,7,255,255,128,7,255,227,128,12,3,225,128,12,3,224, - 128,24,3,224,128,24,3,224,1,56,3,224,3,48,3,224, - 6,112,3,224,14,112,3,224,62,248,7,255,252,254,31,255, - 252,19,30,90,24,2,249,1,252,32,7,255,96,15,7,224, - 30,1,224,60,0,224,124,0,96,124,0,96,248,0,32,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,0,0,124,0,0,124,0,0,60,0,32, - 30,0,96,15,129,192,3,255,128,0,254,0,0,24,0,0, - 48,0,0,112,0,0,56,0,3,24,0,3,184,0,1,240, - 0,21,30,90,22,0,0,6,0,0,7,0,0,3,128,0, - 1,192,0,0,96,0,0,48,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,30,90,22,0,0,0,1,128,0,3,128,0,7,0, - 0,14,0,0,24,0,0,48,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,30,90,22,0,0,0,48,0,0,120,0,0,252,0, - 0,204,0,1,134,0,1,2,0,0,0,0,255,255,224,63, - 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, - 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, - 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, - 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, - 224,21,29,87,22,0,0,0,132,0,1,206,0,1,206,0, - 0,132,0,0,0,0,0,0,0,255,255,224,63,255,224,31, - 0,224,31,0,96,31,0,96,31,0,32,31,0,32,31,4, - 0,31,4,0,31,12,0,31,28,0,31,252,0,31,28,0, - 31,12,0,31,4,0,31,4,0,31,0,8,31,0,24,31, - 0,48,31,0,112,31,1,240,63,255,224,255,255,224,11,30, - 60,13,1,0,192,0,224,0,112,0,56,0,12,0,6,0, - 0,0,255,224,63,128,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,63,128,255,224, - 12,30,60,13,1,0,0,48,0,112,0,224,1,192,3,0, - 6,0,0,0,255,224,63,128,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,63,128, - 255,224,11,30,60,13,1,0,6,0,15,0,31,128,25,128, - 48,192,32,64,0,0,255,224,63,128,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 63,128,255,224,11,29,58,13,1,0,16,128,57,192,57,192, - 16,128,0,0,0,0,255,224,63,128,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, - 63,128,255,224,22,23,69,24,0,0,255,254,0,63,15,128, - 31,3,224,31,1,240,31,1,240,31,0,248,31,0,248,31, - 0,252,31,0,252,31,0,252,255,240,124,255,240,124,255,240, - 124,31,0,124,31,0,252,31,0,248,31,0,248,31,0,248, - 31,1,240,31,1,224,31,3,192,63,15,128,127,254,0,22, - 29,87,24,1,0,0,97,0,0,251,0,1,190,0,1,12, - 0,0,0,0,0,0,0,254,1,252,127,0,112,63,128,32, - 31,128,32,31,192,32,31,224,32,23,240,32,19,248,32,17, - 248,32,17,252,32,16,254,32,16,127,32,16,63,32,16,31, - 160,16,31,224,16,15,224,16,7,224,16,3,224,16,3,224, - 16,1,224,16,0,224,56,0,96,254,0,32,21,30,90,25, - 2,0,6,0,0,7,0,0,3,128,0,1,192,0,0,96, - 0,0,48,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, - 2,0,0,3,128,0,7,0,0,14,0,0,24,0,0,48, - 0,0,96,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, - 2,0,0,48,0,0,120,0,0,252,0,0,204,0,1,134, - 0,1,2,0,0,0,0,1,252,0,7,255,0,15,143,128, - 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, - 30,3,192,15,143,128,7,255,0,1,252,0,21,29,87,25, - 2,0,0,194,0,1,246,0,3,124,0,2,24,0,0,0, - 0,0,0,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,21,29,87,25,2,0,0, - 132,0,1,206,0,1,206,0,0,132,0,0,0,0,0,0, - 0,1,252,0,7,255,0,15,143,128,30,3,192,60,1,224, - 124,1,240,120,0,240,248,0,248,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,120,0,240,124,1,240,60,1,224,30,3,192,15,143,128, - 7,255,0,1,252,0,15,16,32,19,2,0,64,4,224,14, - 240,30,120,60,60,120,30,240,15,224,7,192,7,192,15,224, - 30,240,60,120,120,60,240,30,224,14,64,4,21,27,81,26, - 2,254,0,0,48,0,0,96,1,252,64,7,143,192,14,3, - 128,30,1,192,60,3,224,124,6,240,120,4,240,248,12,248, - 248,24,248,248,24,248,248,48,248,248,32,248,248,96,248,248, - 192,248,248,128,248,249,128,248,123,0,240,126,1,240,62,1, - 224,28,3,192,14,7,128,31,254,0,17,248,0,48,0,0, - 96,0,0,23,30,90,24,0,0,0,192,0,0,224,0,0, - 112,0,0,56,0,0,12,0,0,2,0,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,30,90,24,0,0,0,0,192,0,1,192,0, - 3,128,0,7,0,0,12,0,0,16,0,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,30,90,24,0,0,0,12,0,0,30,0,0, - 63,0,0,51,0,0,97,128,0,64,128,0,0,0,255,224, - 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, - 0,254,0,23,29,87,24,0,0,0,33,0,0,115,128,0, - 115,128,0,33,0,0,0,0,0,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 48,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,30,90,24,1,0,0,0,192,0,1,192,0,3,128,0, - 7,0,0,12,0,0,16,0,0,0,0,255,195,252,127,0, - 240,63,0,96,63,0,96,31,128,192,31,128,128,15,193,128, - 15,195,0,7,227,0,3,230,0,3,244,0,1,252,0,1, - 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,1,252,0,7,255,0, - 19,23,69,20,0,0,255,224,0,63,128,0,31,0,0,31, - 0,0,31,254,0,31,15,128,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,224,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,63,128,0,255,224,0,17,23,69,19,0, - 0,3,240,0,14,60,0,30,62,0,28,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,28,0,60,56,0,60, - 224,0,60,60,0,60,30,0,60,15,0,60,15,0,60,15, - 128,60,15,128,60,15,128,60,15,128,60,15,0,60,15,0, - 60,30,0,252,124,0,14,23,46,16,1,0,48,0,56,0, - 28,0,14,0,3,0,0,128,0,0,31,128,49,224,112,240, - 120,240,120,240,48,240,1,240,7,240,28,240,56,240,120,240, - 240,240,249,240,255,244,126,252,60,120,14,23,46,16,1,0, - 0,48,0,112,0,224,1,192,3,0,4,0,0,0,31,128, - 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, - 56,240,120,240,240,240,249,240,255,244,126,252,60,120,14,23, - 46,16,1,0,3,0,7,128,15,192,12,192,24,96,16,32, - 0,0,31,128,49,224,112,240,120,240,120,240,48,240,1,240, - 7,240,28,240,56,240,120,240,240,240,249,240,255,244,126,252, - 60,120,14,22,44,16,1,0,12,32,31,96,55,192,33,128, - 0,0,0,0,31,128,49,224,112,240,120,240,120,240,48,240, - 1,240,7,240,28,240,56,240,120,240,240,240,249,240,255,244, - 126,252,60,120,14,22,44,16,1,0,8,64,28,224,28,224, - 8,64,0,0,0,0,31,128,49,224,112,240,120,240,120,240, - 48,240,1,240,7,240,28,240,56,240,120,240,240,240,249,240, - 255,244,126,252,60,120,14,25,50,16,1,0,7,0,13,128, - 24,192,16,64,24,192,13,128,7,0,0,0,0,0,31,128, - 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, - 56,240,120,240,240,240,249,240,255,244,126,252,60,120,21,16, - 48,24,1,0,31,135,192,49,238,224,112,252,112,120,248,112, - 120,248,56,48,248,56,1,248,56,7,255,248,28,248,0,56, - 248,0,120,252,0,248,252,8,248,254,24,255,255,240,126,63, - 224,60,15,192,13,23,46,15,1,249,7,224,30,240,60,120, - 120,120,120,48,240,0,240,0,240,0,240,0,240,0,248,0, - 120,0,120,0,60,48,31,224,15,192,3,0,6,0,6,0, - 3,128,49,128,59,128,31,0,14,23,46,15,0,0,48,0, - 56,0,28,0,14,0,3,0,0,128,0,0,7,192,30,240, - 60,112,120,56,120,60,248,60,248,60,255,252,248,0,248,0, - 248,0,120,0,124,0,62,24,31,240,7,224,14,23,46,15, - 0,0,0,24,0,56,0,112,0,224,1,128,2,0,0,0, - 7,192,30,240,60,112,120,56,120,60,248,60,248,60,255,252, - 248,0,248,0,248,0,120,0,124,0,62,24,31,240,7,224, - 14,23,46,15,0,0,3,0,7,128,15,192,12,192,24,96, - 16,32,0,0,7,192,30,240,60,112,120,56,120,60,248,60, - 248,60,255,252,248,0,248,0,248,0,120,0,124,0,62,24, - 31,240,7,224,14,22,44,15,0,0,4,32,14,112,14,112, - 4,32,0,0,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,8,23,23,9,0,0,192,224,112,56, - 12,2,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,8,23,23,9,0,0,3,7,14,28,48,64,0, - 252,124,60,60,60,60,60,60,60,60,60,60,60,60,126,255, - 8,23,23,9,0,0,24,60,126,102,195,129,0,252,124,60, - 60,60,60,60,60,60,60,60,60,60,60,126,255,8,22,22, - 9,0,0,66,231,231,66,0,0,252,124,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,14,22,44,17,1,0,56, - 48,62,248,15,248,255,128,251,192,97,224,15,240,60,248,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,22,66,18,0, - 0,3,8,0,7,216,0,13,240,0,8,96,0,0,0,0, - 0,0,0,252,120,0,125,252,0,63,62,0,62,30,0,62, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,126,63,0, - 255,127,128,14,23,46,17,1,0,48,0,56,0,28,0,14, - 0,3,0,0,128,0,0,15,192,60,240,120,120,120,120,240, - 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, - 120,120,120,60,240,15,192,14,23,46,17,1,0,0,24,0, - 56,0,112,0,224,1,128,2,0,0,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,14,23,46,17,1, - 0,3,0,7,128,15,192,12,192,24,96,16,32,0,0,15, - 192,60,240,120,120,120,120,240,60,240,60,240,60,240,60,240, - 60,240,60,240,60,240,60,120,120,120,120,60,240,15,192,14, - 22,44,17,1,0,12,32,31,96,55,192,33,128,0,0,0, - 0,15,192,60,240,120,120,120,120,240,60,240,60,240,60,240, - 60,240,60,240,60,240,60,240,60,120,120,120,120,60,240,15, - 192,14,22,44,17,1,0,8,64,28,224,28,224,8,64,0, - 0,0,0,15,192,60,240,120,120,120,120,240,60,240,60,240, - 60,240,60,240,60,240,60,240,60,240,60,120,120,120,120,60, - 240,15,192,14,15,30,19,2,1,3,0,7,128,7,128,3, - 0,0,0,0,0,255,252,255,252,255,252,0,0,0,0,3, - 0,7,128,7,128,3,0,14,22,44,17,1,253,0,8,0, - 24,0,24,15,240,60,240,120,120,120,120,240,252,241,188,241, - 60,243,60,242,60,246,60,252,60,248,60,120,120,120,120,60, - 240,111,192,96,0,192,0,128,0,17,23,69,18,0,0,24, - 0,0,28,0,0,14,0,0,7,0,0,1,128,0,0,64, - 0,0,0,0,252,126,0,124,62,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,62,0,62,127,0,31,223, - 128,7,140,0,17,23,69,18,0,0,0,12,0,0,28,0, - 0,56,0,0,112,0,0,192,0,1,0,0,0,0,0,252, - 126,0,124,62,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,62,0,62,127,0,31,223,128,7,140,0,17, - 23,69,18,0,0,1,128,0,3,192,0,7,224,0,6,96, - 0,12,48,0,8,16,0,0,0,0,252,126,0,124,62,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, - 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,62, - 0,62,127,0,31,223,128,7,140,0,17,22,66,18,0,0, - 4,32,0,14,112,0,14,112,0,4,32,0,0,0,0,0, - 0,0,252,126,0,124,62,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,62,0,62,127,0,31,223,128,7, - 140,0,15,30,60,17,0,249,0,12,0,28,0,56,0,112, - 0,192,1,0,0,0,255,190,126,12,62,8,62,8,31,24, - 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, - 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, - 254,0,120,0,15,29,58,19,1,249,252,0,124,0,60,0, - 60,0,60,0,60,0,60,224,63,248,62,124,60,60,60,62, - 60,30,60,30,60,30,60,30,60,30,60,30,60,30,60,60, - 62,60,63,248,60,224,60,0,60,0,60,0,60,0,60,0, - 126,0,255,0,15,29,58,17,0,249,4,32,14,112,14,112, - 4,32,0,0,0,0,255,190,126,12,62,8,62,8,31,24, - 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, - 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, - 254,0,120,0}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=16 h=25 x= 3 y= 9 dx=19 dy= 0 ascent=25 len=50 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =25 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24n[723] U8G_FONT_SECTION("u8g_font_timB24n") = { - 0,38,49,251,244,23,0,0,0,0,42,58,0,25,250,23, - 0,13,14,28,17,1,9,3,0,7,0,7,0,231,56,242, - 120,122,240,15,128,15,128,122,240,242,120,231,56,7,0,7, - 0,6,0,15,15,30,19,2,0,3,128,3,128,3,128,3, - 128,3,128,3,128,255,254,255,254,255,254,3,128,3,128,3, - 128,3,128,3,128,3,128,6,11,11,8,1,250,56,124,124, - 124,60,12,8,24,48,96,192,8,4,4,11,1,6,255,255, - 255,255,5,5,5,8,1,0,112,248,248,248,112,9,25,50, - 9,0,0,1,128,1,128,1,0,3,0,3,0,3,0,6, - 0,6,0,6,0,4,0,12,0,12,0,12,0,24,0,24, - 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, - 0,192,0,192,0,14,23,46,16,1,0,7,128,31,224,28, - 224,56,112,120,112,120,120,120,120,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,248,124,120,120,120,120,120, - 120,56,112,28,224,15,192,7,128,13,23,46,16,2,0,1, - 128,7,128,31,128,255,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,31,192,255,248,16,23,46, - 16,0,0,3,192,15,240,31,248,63,248,48,252,96,124,64, - 124,0,124,0,120,0,120,0,120,0,240,0,224,1,192,1, - 128,3,0,7,1,14,3,28,6,63,254,127,254,255,252,255, - 252,14,23,46,16,1,0,7,192,31,240,63,240,48,248,96, - 120,64,120,0,120,0,112,0,192,3,224,15,240,15,248,3, - 248,0,252,0,124,0,60,0,60,0,60,96,56,240,56,248, - 112,127,192,31,0,14,23,46,16,1,0,0,112,0,240,0, - 240,1,240,3,240,6,240,6,240,12,240,24,240,24,240,48, - 240,96,240,96,240,192,240,255,252,255,252,255,252,255,252,0, - 240,0,240,0,240,0,240,0,240,13,23,46,16,1,0,31, - 248,31,248,31,248,31,248,48,0,48,0,32,0,62,0,127, - 128,127,224,127,240,127,240,3,248,0,248,0,120,0,56,0, - 56,0,56,96,48,240,48,248,96,127,192,31,0,14,23,46, - 16,1,0,0,28,0,240,3,192,7,128,15,0,30,0,62, - 0,60,0,124,0,127,224,253,240,248,248,248,120,248,124,248, - 124,248,124,248,124,120,124,120,120,120,120,56,112,28,224,15, - 192,13,23,46,16,2,0,127,248,127,248,255,248,255,248,192, - 48,128,112,128,112,0,96,0,224,0,224,0,192,1,192,1, - 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, - 0,14,0,28,0,14,23,46,16,1,0,15,224,62,240,60, - 120,120,120,120,56,120,56,124,56,126,112,63,224,63,128,31, - 192,15,224,63,240,113,248,112,252,224,124,224,60,224,60,224, - 60,240,56,120,120,127,240,31,192,14,23,46,16,1,0,15, - 192,28,224,56,112,120,120,120,120,248,120,248,124,248,124,248, - 124,248,124,120,124,124,124,62,252,31,248,0,248,0,240,1, - 240,1,224,3,192,7,128,15,0,60,0,224,0,5,16,16, - 11,3,0,112,248,248,248,112,0,0,0,0,0,0,112,248, - 248,248,112}; -/* - Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=32 h=30 x= 4 y=17 dx=33 dy= 0 ascent=26 len=108 - Font Bounding box w=38 h=49 x=-5 y=-12 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =26 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timB24r[5003] U8G_FONT_SECTION("u8g_font_timB24r") = { - 0,38,49,251,244,23,5,149,13,202,32,127,249,26,249,23, - 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, - 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, - 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, - 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, - 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, - 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, - 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, - 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, - 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, - 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, - 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, - 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, - 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, - 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, - 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, - 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, - 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, - 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, - 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, - 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, - 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, - 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, - 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, - 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, - 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, - 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, - 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, - 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, - 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, - 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, - 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, - 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, - 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, - 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, - 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, - 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, - 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, - 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, - 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, - 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, - 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, - 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, - 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, - 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, - 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, - 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, - 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, - 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, - 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, - 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, - 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, - 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, - 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, - 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, - 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, - 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, - 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, - 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, - 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, - 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, - 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, - 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, - 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, - 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, - 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, - 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, - 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, - 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, - 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, - 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, - 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, - 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, - 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, - 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, - 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, - 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, - 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, - 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, - 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, - 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, - 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, - 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, - 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, - 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, - 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, - 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, - 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, - 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, - 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, - 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, - 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, - 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, - 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, - 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, - 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, - 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, - 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, - 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, - 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, - 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, - 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, - 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, - 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, - 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, - 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, - 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, - 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, - 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, - 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, - 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, - 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, - 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, - 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, - 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, - 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, - 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, - 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, - 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, - 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, - 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, - 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, - 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, - 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, - 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, - 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, - 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, - 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, - 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, - 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, - 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, - 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, - 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, - 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, - 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, - 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, - 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, - 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, - 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, - 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, - 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, - 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, - 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, - 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, - 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, - 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, - 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, - 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, - 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, - 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, - 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, - 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, - 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, - 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, - 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, - 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, - 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, - 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, - 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, - 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, - 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, - 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, - 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, - 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, - 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, - 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, - 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, - 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, - 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, - 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, - 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, - 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, - 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, - 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, - 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, - 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, - 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, - 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, - 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, - 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, - 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, - 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, - 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, - 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, - 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, - 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, - 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, - 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, - 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, - 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, - 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, - 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, - 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, - 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, - 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, - 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, - 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, - 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, - 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, - 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, - 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, - 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, - 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, - 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, - 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, - 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, - 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, - 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, - 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, - 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, - 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, - 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, - 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, - 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, - 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, - 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, - 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, - 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, - 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, - 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, - 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, - 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, - 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, - 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, - 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, - 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, - 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, - 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, - 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, - 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, - 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, - 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, - 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, - 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, - 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, - 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, - 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, - 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, - 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, - 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, - 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, - 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, - 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, - 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, - 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, - 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, - 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, - 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, - 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, - 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, - 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, - 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, - 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, - 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, - 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, - 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, - 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, - 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, - 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, - 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, - 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, - 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, - 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, - 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, - 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, - 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, - 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, - 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, - 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, - 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, - 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, - 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, - 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, - 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, - 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, - 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, - 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, - 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, - 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, - 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, - 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, - 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, - 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, - 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, - 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, - 255,198,143,254,131,252,1,248,0,112,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=11 h=10 x= 1 y= 6 dx=10 dy= 0 ascent=10 len=14 - Font Bounding box w=12 h=17 x=-2 y=-4 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent =10 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR08[2512] U8G_FONT_SECTION("u8g_font_timR08") = { - 0,12,17,254,252,7,1,147,3,56,32,255,254,10,253,7, - 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, - 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, - 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, - 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, - 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, - 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, - 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, - 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, - 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, - 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, - 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, - 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, - 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, - 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, - 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, - 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, - 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, - 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, - 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, - 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, - 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, - 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, - 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, - 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, - 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, - 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, - 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, - 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, - 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, - 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, - 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, - 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, - 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, - 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, - 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, - 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, - 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, - 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, - 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, - 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, - 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, - 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, - 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, - 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, - 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, - 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, - 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, - 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, - 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, - 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, - 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, - 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, - 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, - 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, - 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, - 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, - 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, - 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, - 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, - 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, - 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, - 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, - 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, - 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, - 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, - 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, - 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, - 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, - 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, - 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, - 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, - 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, - 32,64,64,64,128,6,2,2,7,0,2,100,152,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,2,0,1,1,7,7,3,1,254,128,0,128,128,128,128, - 128,4,7,7,5,0,255,32,112,144,128,144,96,64,5,7, - 7,5,0,0,48,80,64,224,64,200,240,5,6,6,5,0, - 1,136,112,80,80,112,136,5,7,7,5,0,0,136,80,216, - 32,248,32,112,1,7,7,2,0,0,128,128,128,0,128,128, - 128,4,9,9,5,0,254,112,144,64,160,144,80,32,144,224, - 3,1,1,5,1,5,160,7,7,7,9,1,0,56,68,154, - 162,154,68,56,3,5,5,4,0,2,192,32,160,0,224,4, - 4,4,5,0,1,80,160,160,80,5,2,2,7,1,1,248, - 8,3,1,1,4,0,2,224,7,7,7,9,1,0,56,68, - 186,178,170,68,56,3,1,1,4,0,5,224,4,4,4,4, - 0,3,96,144,144,96,5,7,7,6,0,0,32,32,248,32, - 32,0,248,3,4,4,3,0,3,96,160,64,224,3,4,4, - 3,0,3,224,64,32,192,2,2,2,3,0,5,64,128,5, - 7,7,5,0,254,144,144,144,144,232,128,128,6,9,9,6, - 0,254,124,232,232,232,104,40,40,40,40,1,1,1,2,0, - 2,128,3,3,3,4,0,253,64,32,192,3,4,4,3,0, - 3,64,192,64,224,3,5,5,4,0,2,64,160,64,0,224, - 4,4,4,5,0,1,160,80,80,160,7,7,7,8,0,0, - 68,200,72,244,44,62,68,7,7,7,8,0,0,68,200,72, - 246,42,36,78,7,7,7,8,0,0,228,72,40,212,44,62, - 68,3,7,7,4,0,254,64,0,64,64,128,160,224,7,10, - 10,8,0,0,32,16,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,8,16,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,16,40,0,16,56,40,40,124,68,238,7,10, - 10,8,0,0,20,40,0,16,56,40,40,124,68,238,7,9, - 9,8,0,0,40,0,16,56,40,40,124,68,238,7,10,10, - 8,0,0,16,40,16,16,56,40,40,124,68,238,8,7,7, - 9,0,0,31,57,40,46,120,73,239,6,10,10,7,0,253, - 124,196,128,128,128,196,120,32,16,96,5,10,10,6,0,0, - 64,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, - 16,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, - 32,80,0,248,72,64,112,64,72,248,5,9,9,6,0,0, - 80,0,248,72,64,112,64,72,248,3,10,10,4,0,0,128, - 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,32, - 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,64, - 160,0,224,64,64,64,64,64,224,3,9,9,4,0,0,160, - 0,224,64,64,64,64,64,224,6,7,7,7,0,0,248,76, - 68,228,68,76,248,7,10,10,8,0,0,20,40,0,206,100, - 100,84,84,76,228,6,10,10,7,0,0,32,16,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,16,32,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,16,40,0,120,204, - 132,132,132,204,120,6,10,10,7,0,0,40,80,0,120,204, - 132,132,132,204,120,6,9,9,7,0,0,72,0,120,204,132, - 132,132,204,120,5,5,5,6,0,0,136,80,32,80,136,8, - 9,9,8,255,255,1,62,102,74,66,82,102,124,128,7,10, - 10,8,0,0,32,16,0,238,68,68,68,68,108,56,7,10, - 10,8,0,0,8,16,0,238,68,68,68,68,108,56,7,10, - 10,8,0,0,16,40,0,238,68,68,68,68,108,56,7,9, - 9,8,0,0,40,0,238,68,68,68,68,108,56,7,10,10, - 8,0,0,8,16,0,198,68,40,56,16,16,56,5,7,7, - 6,0,0,224,64,112,72,112,64,224,4,7,7,5,0,0, - 32,80,80,96,80,80,224,3,8,8,4,0,0,128,64,0, - 192,32,96,160,224,3,8,8,4,0,0,32,64,0,192,32, - 96,160,224,3,8,8,4,0,0,64,160,0,192,32,96,160, - 224,4,8,8,4,0,0,80,160,0,192,32,96,160,224,3, - 7,7,4,0,0,160,0,192,32,96,160,224,3,8,8,4, - 0,0,64,160,64,192,32,96,160,224,5,5,5,6,0,0, - 216,40,112,160,216,3,8,8,4,0,253,96,128,128,128,96, - 64,32,192,3,8,8,4,0,0,128,64,0,96,160,192,128, - 96,3,8,8,4,0,0,32,64,0,96,160,192,128,96,3, - 8,8,4,0,0,64,160,0,96,160,192,128,96,3,7,7, - 4,0,0,160,0,96,160,192,128,96,2,8,8,3,0,0, - 128,64,0,192,64,64,64,64,3,8,8,3,0,0,32,64, - 0,192,64,64,64,64,3,8,8,3,0,0,64,160,0,192, - 64,64,64,64,3,7,7,3,0,0,160,0,192,64,64,64, - 64,4,8,8,5,0,0,64,112,160,112,144,144,144,96,5, - 8,8,5,0,0,80,160,0,224,144,144,144,216,4,8,8, - 5,0,0,64,32,0,96,144,144,144,96,4,8,8,5,0, - 0,32,64,0,96,144,144,144,96,4,8,8,5,0,0,64, - 160,0,96,144,144,144,96,4,8,8,5,0,0,80,160,0, - 96,144,144,144,96,4,7,7,5,0,0,160,0,96,144,144, - 144,96,5,5,5,6,0,0,32,0,248,0,32,6,7,7, - 5,255,255,4,56,72,72,72,112,128,5,8,8,5,0,0, - 64,32,0,144,144,144,144,104,5,8,8,5,0,0,32,64, - 0,144,144,144,144,104,5,8,8,5,0,0,32,80,0,144, - 144,144,144,104,5,7,7,5,0,0,80,0,144,144,144,144, - 104,6,10,10,5,255,254,16,32,0,220,72,80,48,32,96, - 192,5,10,10,5,255,253,192,64,112,72,72,72,112,64,64, - 224,6,9,9,5,255,254,80,0,220,72,80,48,32,96,192 - }; -/* - Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 7, '1' Height: 7 - Calculated Max Values w=11 h= 9 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=14 - Font Bounding box w=12 h=17 x=-2 y=-4 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent = 7 descent=-2 - X Font ascent = 7 descent=-2 - Max Font ascent = 8 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR08r[1198] U8G_FONT_SECTION("u8g_font_timR08r") = { - 0,12,17,254,252,7,1,147,3,56,32,127,254,8,253,7, - 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, - 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, - 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, - 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, - 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, - 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, - 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, - 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, - 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, - 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, - 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, - 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, - 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, - 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, - 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, - 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, - 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, - 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, - 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, - 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, - 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, - 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, - 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, - 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, - 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, - 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, - 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, - 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, - 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, - 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, - 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, - 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, - 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, - 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, - 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, - 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, - 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, - 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, - 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, - 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, - 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, - 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, - 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, - 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, - 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, - 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, - 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, - 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, - 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, - 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, - 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, - 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, - 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, - 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, - 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, - 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, - 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, - 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, - 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, - 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, - 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, - 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, - 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, - 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, - 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, - 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, - 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, - 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, - 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, - 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, - 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, - 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, - 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, - 32,64,64,64,128,6,2,2,7,0,2,100,152,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=13 h=14 x= 2 y= 8 dx=13 dy= 0 ascent=14 len=28 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =14 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR10[3359] U8G_FONT_SECTION("u8g_font_timR10") = { - 0,17,24,254,250,10,2,4,4,92,32,255,253,14,253,10, - 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, - 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, - 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, - 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, - 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, - 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, - 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, - 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, - 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, - 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, - 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, - 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, - 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, - 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, - 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, - 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, - 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, - 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, - 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, - 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, - 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, - 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, - 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, - 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, - 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, - 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, - 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, - 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, - 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, - 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, - 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, - 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, - 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, - 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, - 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, - 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, - 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, - 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, - 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, - 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, - 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, - 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, - 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, - 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, - 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, - 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, - 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, - 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, - 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, - 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, - 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, - 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, - 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, - 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, - 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, - 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, - 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, - 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, - 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, - 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, - 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, - 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, - 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, - 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, - 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, - 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, - 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, - 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, - 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, - 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, - 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, - 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, - 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, - 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, - 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, - 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, - 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, - 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, - 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, - 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, - 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, - 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, - 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, - 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, - 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, - 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, - 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, - 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, - 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, - 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, - 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, - 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, - 98,156,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,3,0,1,1,10,10,5,2,253,128, - 128,0,128,128,128,128,128,128,128,6,9,9,7,0,255,4, - 124,204,144,144,160,228,120,128,7,10,10,8,0,0,28,52, - 32,32,248,32,32,32,226,188,5,7,7,7,1,1,136,112, - 136,136,136,112,136,7,10,10,7,0,0,238,68,108,40,124, - 16,124,16,16,56,1,10,10,3,1,0,128,128,128,128,0, - 0,128,128,128,128,5,13,13,7,1,253,56,88,64,96,112, - 152,136,200,112,48,16,208,224,3,2,2,5,1,8,160,160, - 10,10,20,12,1,0,30,0,97,128,78,128,146,64,144,64, - 144,64,146,64,76,128,97,128,30,0,3,6,6,4,0,4, - 224,32,160,224,0,224,6,6,6,7,0,0,36,72,144,144, - 72,36,7,4,4,9,1,2,254,2,2,2,3,1,1,4, - 0,3,224,10,10,20,12,1,0,30,0,97,128,92,128,146, - 64,156,64,148,64,146,64,82,128,97,128,30,0,4,1,1, - 4,0,8,240,4,4,4,6,1,6,96,144,144,96,7,7, - 7,8,0,0,16,16,254,16,16,0,254,4,6,6,4,0, - 4,96,144,16,32,64,240,4,6,6,4,0,4,96,144,32, - 16,144,96,3,3,3,5,1,8,32,96,128,7,10,10,7, - 0,253,204,68,68,68,68,108,118,64,64,96,7,13,13,7, - 0,253,62,116,244,244,244,116,52,20,20,20,20,20,20,1, - 2,2,4,2,3,128,128,3,3,3,5,1,253,64,32,192, - 3,6,6,4,0,4,64,192,64,64,64,224,4,6,6,5, - 0,4,96,144,144,96,0,240,6,6,6,7,1,0,144,72, - 36,36,72,144,10,10,20,10,0,0,65,0,194,0,66,0, - 68,0,68,128,233,128,10,128,20,128,23,192,32,128,10,10, - 20,10,0,0,65,0,194,0,66,0,68,0,69,128,234,64, - 8,64,16,128,17,0,35,192,10,10,20,10,0,0,97,0, - 146,0,34,0,20,0,148,128,105,128,10,128,20,128,23,192, - 32,128,5,10,10,6,0,253,32,32,0,32,32,64,128,136, - 136,112,9,14,28,11,1,0,16,0,24,0,4,0,0,0, - 8,0,8,0,20,0,20,0,34,0,34,0,62,0,65,0, - 65,0,227,128,9,14,28,11,1,0,4,0,12,0,16,0, - 0,0,8,0,8,0,20,0,20,0,34,0,34,0,62,0, - 65,0,65,0,227,128,9,14,28,11,1,0,8,0,28,0, - 34,0,0,0,8,0,8,0,20,0,20,0,34,0,34,0, - 62,0,65,0,65,0,227,128,9,14,28,11,1,0,18,0, - 42,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, - 34,0,62,0,65,0,65,0,227,128,9,13,26,11,1,0, - 36,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, - 34,0,62,0,65,0,65,0,227,128,9,14,28,11,1,0, - 24,0,36,0,24,0,0,0,8,0,8,0,20,0,20,0, - 34,0,34,0,62,0,65,0,65,0,227,128,11,10,20,13, - 1,0,31,224,12,32,20,0,20,64,39,192,36,64,60,0, - 68,32,68,32,239,224,8,13,13,10,1,253,61,99,65,129, - 128,128,128,193,98,60,8,4,24,7,14,14,9,1,0,32, - 48,8,0,254,66,64,68,124,68,64,66,66,254,7,14,14, - 9,1,0,4,12,16,0,254,66,64,68,124,68,64,66,66, - 254,7,14,14,9,1,0,16,56,68,0,254,66,64,68,124, - 68,64,66,66,254,7,13,13,9,1,0,36,36,0,254,66, - 64,68,124,68,64,66,66,254,3,14,14,5,1,0,128,192, - 32,0,224,64,64,64,64,64,64,64,64,224,3,14,14,5, - 1,0,32,96,128,0,224,64,64,64,64,64,64,64,64,224, - 5,14,14,5,0,0,32,112,136,0,112,32,32,32,32,32, - 32,32,32,112,3,13,13,5,1,0,160,160,0,224,64,64, - 64,64,64,64,64,64,224,9,10,20,10,0,0,254,0,35, - 0,33,0,32,128,248,128,32,128,32,128,33,0,35,0,254, - 0,9,14,28,11,1,0,18,0,42,0,36,0,0,0,227, - 128,97,0,81,0,89,0,73,0,77,0,69,0,69,0,67, - 0,227,0,8,14,14,10,1,0,32,48,8,0,60,102,66, - 129,129,129,129,66,102,60,8,14,14,10,1,0,4,12,16, - 0,60,102,66,129,129,129,129,66,102,60,8,14,14,10,1, - 0,16,56,68,0,60,102,66,129,129,129,129,66,102,60,8, - 14,14,10,1,0,36,84,72,0,60,102,66,129,129,129,129, - 66,102,60,8,13,13,10,1,0,36,36,0,60,102,66,129, - 129,129,129,66,102,60,7,7,7,8,1,0,130,68,40,16, - 40,68,130,9,12,24,10,0,255,0,128,31,0,49,0,35, - 0,68,128,76,128,72,128,80,128,49,0,99,0,94,0,128, - 0,8,14,14,10,1,0,32,48,8,0,231,66,66,66,66, - 66,66,66,102,60,8,14,14,10,1,0,4,12,16,0,231, - 66,66,66,66,66,66,66,102,60,8,14,14,10,1,0,16, - 56,68,0,231,66,66,66,66,66,66,66,102,60,8,13,13, - 10,1,0,36,36,0,231,66,66,66,66,66,66,66,102,60, - 9,14,28,9,0,0,2,0,6,0,8,0,0,0,227,128, - 65,0,34,0,34,0,20,0,8,0,8,0,8,0,8,0, - 28,0,6,10,10,8,1,0,224,64,120,76,68,68,76,120, - 64,224,6,10,10,7,0,0,56,108,68,72,112,88,76,68, - 84,216,6,11,11,7,1,0,64,96,16,0,112,200,24,104, - 136,200,116,6,11,11,7,1,0,8,24,32,0,112,200,24, - 104,136,200,116,6,11,11,7,1,0,32,112,136,0,112,200, - 24,104,136,200,116,6,11,11,7,1,0,72,168,144,0,112, - 200,24,104,136,200,116,6,10,10,7,1,0,80,80,0,112, - 200,24,104,136,200,116,6,11,11,7,1,0,48,72,48,0, - 112,200,24,104,136,200,116,9,7,14,11,1,0,127,0,201, - 128,31,0,104,0,136,0,204,128,119,0,6,10,10,7,1, - 253,112,200,128,128,128,196,120,32,16,96,6,11,11,7,1, - 0,64,96,16,0,112,136,248,128,128,196,120,6,11,11,7, - 1,0,8,24,32,0,112,136,248,128,128,196,120,6,11,11, - 7,1,0,32,112,136,0,112,136,248,128,128,196,120,6,10, - 10,7,1,0,80,80,0,112,136,248,128,128,196,120,3,11, - 11,3,0,0,128,192,32,0,192,64,64,64,64,64,224,3, - 11,11,3,0,0,32,96,128,0,192,64,64,64,64,64,224, - 5,11,11,3,255,0,32,112,136,0,96,32,32,32,32,32, - 112,3,10,10,3,0,0,160,160,0,192,64,64,64,64,64, - 224,5,10,10,7,1,0,216,96,144,120,216,136,136,136,216, - 112,7,11,11,7,0,0,36,84,72,0,216,108,68,68,68, - 68,238,5,11,11,7,1,0,64,96,16,0,112,216,136,136, - 136,216,112,5,11,11,7,1,0,16,48,64,0,112,216,136, - 136,136,216,112,5,11,11,7,1,0,32,112,136,0,112,216, - 136,136,136,216,112,5,11,11,7,1,0,72,168,144,0,112, - 216,136,136,136,216,112,5,10,10,7,1,0,80,80,0,112, - 216,136,136,136,216,112,7,7,7,8,1,0,16,16,0,254, - 0,16,16,7,9,9,7,0,255,2,60,108,68,68,68,108, - 120,128,7,11,11,7,0,0,32,48,8,0,204,68,68,68, - 68,108,54,7,11,11,7,0,0,8,24,32,0,204,68,68, - 68,68,108,54,7,11,11,7,0,0,16,56,68,0,204,68, - 68,68,68,108,54,7,10,10,7,0,0,40,40,0,204,68, - 68,68,68,108,54,7,14,14,7,0,253,4,12,16,0,238, - 68,68,40,40,16,48,32,160,192,6,13,13,7,0,253,192, - 64,64,88,108,68,68,68,108,88,64,64,224,7,13,13,7, - 0,253,40,40,0,238,68,68,40,40,16,48,32,160,192}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=13 h=13 x= 2 y= 8 dx=13 dy= 0 ascent=11 len=24 - Font Bounding box w=17 h=24 x=-2 y=-6 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =10 descent=-3 - X Font ascent =10 descent=-3 - Max Font ascent =11 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR10r[1571] U8G_FONT_SECTION("u8g_font_timR10r") = { - 0,17,24,254,250,10,2,4,4,92,32,127,253,11,253,10, - 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, - 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, - 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, - 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, - 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, - 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, - 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, - 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, - 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, - 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, - 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, - 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, - 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, - 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, - 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, - 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, - 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, - 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, - 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, - 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, - 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, - 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, - 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, - 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, - 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, - 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, - 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, - 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, - 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, - 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, - 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, - 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, - 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, - 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, - 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, - 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, - 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, - 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, - 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, - 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, - 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, - 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, - 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, - 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, - 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, - 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, - 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, - 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, - 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, - 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, - 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, - 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, - 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, - 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, - 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, - 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, - 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, - 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, - 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, - 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, - 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, - 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, - 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, - 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, - 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, - 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, - 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, - 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, - 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, - 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, - 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, - 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, - 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, - 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, - 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, - 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, - 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, - 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, - 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, - 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, - 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, - 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, - 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, - 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, - 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, - 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, - 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, - 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, - 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, - 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, - 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, - 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, - 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, - 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, - 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, - 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, - 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, - 98,156,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=16 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=30 - Font Bounding box w=19 h=26 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =15 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR12[3905] U8G_FONT_SECTION("u8g_font_timR12") = { - 0,19,26,254,249,11,2,36,5,11,32,255,252,15,252,11, - 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, - 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, - 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, - 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, - 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, - 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, - 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, - 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, - 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, - 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, - 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, - 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, - 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, - 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, - 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, - 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, - 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, - 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, - 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, - 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, - 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, - 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, - 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, - 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, - 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, - 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, - 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, - 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, - 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, - 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, - 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, - 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, - 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, - 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, - 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, - 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, - 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, - 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, - 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, - 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, - 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, - 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, - 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, - 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, - 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, - 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, - 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, - 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, - 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, - 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, - 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, - 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, - 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, - 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, - 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, - 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, - 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, - 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, - 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, - 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, - 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, - 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, - 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, - 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, - 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, - 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, - 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, - 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, - 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, - 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, - 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, - 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, - 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, - 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, - 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, - 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, - 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, - 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, - 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, - 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, - 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, - 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, - 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, - 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, - 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, - 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, - 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, - 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, - 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, - 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, - 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, - 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, - 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, - 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, - 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, - 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, - 3,9,0,3,113,153,142,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,4,0,1,1,11, - 11,5,2,253,128,128,0,0,128,128,128,128,128,128,128,7, - 12,12,8,0,254,4,4,60,74,138,136,144,146,84,56,32, - 32,8,11,11,8,0,0,12,18,34,32,32,252,16,16,113, - 145,110,8,9,9,8,0,1,153,102,66,129,129,129,66,102, - 153,9,11,22,8,255,0,227,128,65,0,34,0,20,0,8, - 0,62,0,8,0,62,0,8,0,8,0,28,0,1,11,11, - 3,0,0,128,128,128,128,128,0,128,128,128,128,128,7,14, - 14,8,0,253,56,68,76,32,80,136,132,66,34,20,8,100, - 68,56,4,2,2,6,1,9,144,144,11,11,22,13,0,0, - 14,0,49,128,64,64,78,64,145,32,144,32,144,32,81,64, - 78,64,49,128,14,0,4,6,6,5,0,5,96,16,112,144, - 80,240,7,7,7,8,0,0,18,36,72,144,72,36,18,8, - 5,5,9,0,0,255,1,1,1,1,4,1,1,5,0,4, - 240,11,11,22,13,0,0,14,0,49,128,64,64,78,64,137, - 32,142,32,138,32,74,64,73,64,49,128,14,0,5,1,1, - 6,0,9,248,5,5,5,7,1,6,112,136,136,136,112,7, - 9,9,9,1,0,16,16,16,254,16,16,16,0,254,5,7, - 7,5,0,4,112,136,8,16,32,72,248,6,7,7,5,255, - 4,56,68,4,24,4,132,120,3,3,3,6,2,8,32,64, - 128,8,11,11,8,0,253,198,66,66,66,66,66,71,122,64, - 64,64,7,15,15,8,0,252,62,116,244,244,244,116,52,20, - 20,20,20,20,20,20,20,1,2,2,4,1,4,128,128,4, - 4,4,6,0,252,32,112,16,224,3,7,7,5,1,4,64, - 192,64,64,64,64,224,4,6,6,5,0,5,96,144,144,144, - 96,240,7,7,7,8,0,0,144,72,36,18,36,72,144,11, - 11,22,13,1,0,64,128,193,0,67,0,66,0,68,64,76, - 192,233,64,25,64,18,64,39,224,64,64,12,11,22,13,0, - 0,64,128,193,0,67,0,66,0,68,224,77,16,232,16,24, - 32,16,64,32,144,65,240,13,11,22,13,255,0,56,32,68, - 64,4,192,24,128,5,16,135,48,122,80,6,80,4,144,9, - 248,8,16,5,11,11,7,1,253,32,32,0,0,32,32,64, - 128,136,136,112,12,15,30,12,0,0,8,0,4,0,2,0, - 0,0,4,0,6,0,10,0,11,0,17,0,17,128,32,128, - 63,128,64,192,64,64,224,240,12,15,30,12,0,0,1,0, - 2,0,4,0,0,0,4,0,6,0,10,0,11,0,17,0, - 17,128,32,128,63,128,64,192,64,64,224,240,12,15,30,12, - 0,0,4,0,10,0,17,0,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 12,14,28,12,0,0,13,0,22,0,0,0,4,0,6,0, - 10,0,11,0,17,0,17,128,32,128,63,128,64,192,64,64, - 224,240,12,14,28,12,0,0,9,0,9,0,0,0,4,0, - 6,0,10,0,11,0,17,0,17,128,32,128,63,128,64,192, - 64,64,224,240,12,14,28,12,0,0,6,0,9,0,9,0, - 6,0,6,0,10,0,11,0,17,0,17,128,32,128,63,128, - 64,192,64,64,224,240,14,11,22,15,0,0,7,248,3,8, - 5,8,9,0,9,16,17,240,31,16,33,0,33,0,65,4, - 243,248,10,15,30,11,0,252,15,64,48,192,64,64,128,64, - 128,0,128,0,128,0,128,0,64,64,49,128,14,0,4,0, - 14,0,2,0,28,0,9,15,30,10,0,0,32,0,16,0, - 8,0,0,0,255,0,65,0,64,0,64,0,66,0,126,0, - 66,0,64,0,64,0,64,128,255,0,9,15,30,10,0,0, - 2,0,4,0,8,0,0,0,255,0,65,0,65,0,64,0, - 66,0,126,0,66,0,64,0,64,0,64,128,255,0,9,15, - 30,10,0,0,8,0,20,0,34,0,0,0,255,0,65,0, - 64,0,64,0,66,0,126,0,66,0,64,0,64,0,64,128, - 255,0,9,14,28,10,0,0,36,0,36,0,0,0,255,0, - 65,0,64,0,64,0,66,0,126,0,66,0,64,0,64,0, - 64,128,255,0,4,15,15,5,255,0,128,64,32,0,112,32, - 32,32,32,32,32,32,32,32,112,5,15,15,5,0,0,8, - 16,32,0,224,64,64,64,64,64,64,64,64,64,224,5,15, - 15,5,255,0,32,80,136,0,112,32,32,32,32,32,32,32, - 32,32,112,3,14,14,5,0,0,160,160,0,224,64,64,64, - 64,64,64,64,64,64,224,10,11,22,12,1,0,252,0,67, - 0,64,128,64,64,64,64,248,64,64,64,64,64,64,128,67, - 0,252,0,10,14,28,12,0,0,13,0,22,0,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,15,30,12,1,0,32,0,16,0,8, - 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, - 128,128,128,65,0,99,0,28,0,9,15,30,12,1,0,2, - 0,4,0,8,0,0,0,28,0,99,0,65,0,128,128,128, - 128,128,128,128,128,128,128,65,0,99,0,28,0,9,15,30, - 12,1,0,8,0,20,0,34,0,0,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,9,14,28,12,1,0,26,0,44,0,0,0,28,0,99, - 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, - 0,28,0,9,14,28,12,1,0,34,0,34,0,0,0,28, - 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, - 0,99,0,28,0,7,7,7,9,1,0,130,68,40,16,40, - 68,130,11,13,26,12,0,255,0,64,14,64,49,128,65,64, - 130,32,132,32,132,32,136,32,144,32,80,64,49,128,78,0, - 64,0,10,15,30,12,0,0,16,0,8,0,4,0,0,0, - 225,192,64,128,64,128,64,128,64,128,64,128,64,128,64,128, - 64,128,33,0,30,0,10,15,30,12,0,0,1,0,2,0, - 4,0,0,0,225,192,64,128,64,128,64,128,64,128,64,128, - 64,128,64,128,64,128,33,0,30,0,10,15,30,12,0,0, - 4,0,10,0,17,0,0,0,225,192,64,128,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,14, - 28,12,0,0,18,0,18,0,0,0,225,192,64,128,64,128, - 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, - 11,15,30,12,0,0,0,128,1,0,2,0,0,0,224,224, - 64,64,32,128,17,0,17,0,10,0,4,0,4,0,4,0, - 4,0,14,0,8,11,11,9,0,0,224,64,124,66,65,65, - 66,124,64,64,224,7,11,11,8,0,0,56,68,68,68,72, - 88,68,66,66,82,204,7,12,12,7,1,0,64,32,16,0, - 112,136,136,56,200,136,154,100,7,12,12,7,1,0,8,16, - 32,0,112,136,136,56,200,136,154,100,7,12,12,7,1,0, - 32,80,136,0,112,136,136,56,200,136,154,100,7,11,11,7, - 1,0,104,176,0,112,136,136,56,200,136,154,100,7,11,11, - 7,1,0,72,72,0,112,136,136,56,200,136,154,100,7,12, - 12,7,1,0,32,80,80,32,112,136,136,56,200,136,154,100, - 9,8,16,11,1,0,115,0,140,128,136,128,63,128,200,0, - 136,0,156,128,99,0,6,12,12,7,0,252,56,68,132,128, - 128,128,68,56,16,56,8,112,6,12,12,7,0,0,64,32, - 16,0,56,68,132,252,128,128,68,56,6,12,12,7,0,0, - 4,8,16,0,56,68,132,252,128,128,68,56,6,12,12,7, - 0,0,16,40,68,0,56,68,132,252,128,128,68,56,6,11, - 11,7,0,0,72,72,0,56,68,132,252,128,128,68,56,3, - 12,12,5,0,0,128,64,32,0,64,192,64,64,64,64,64, - 224,3,12,12,5,0,0,32,64,128,0,64,192,64,64,64, - 64,64,224,5,12,12,5,255,0,32,80,136,0,32,96,32, - 32,32,32,32,112,3,11,11,5,0,0,160,160,0,64,192, - 64,64,64,64,64,224,7,11,11,8,0,0,108,48,200,60, - 68,130,130,130,130,68,56,8,11,11,8,255,0,52,88,0, - 92,230,66,66,66,66,66,231,7,12,12,8,0,0,32,16, - 8,0,56,68,130,130,130,130,68,56,7,12,12,8,0,0, - 4,8,16,0,56,68,130,130,130,130,68,56,7,12,12,8, - 0,0,16,40,68,0,56,68,130,130,130,130,68,56,7,11, - 11,8,0,0,52,88,0,56,68,130,130,130,130,68,56,7, - 11,11,8,0,0,72,72,0,56,68,130,130,130,130,68,56, - 9,9,18,9,255,0,8,0,8,0,0,0,0,0,255,128, - 0,0,0,0,8,0,8,0,7,12,12,8,0,254,2,2, - 60,68,138,146,146,162,100,56,64,64,8,12,12,8,255,0, - 32,16,8,0,198,66,66,66,66,66,70,59,8,12,12,8, - 255,0,4,8,16,0,198,66,66,66,66,66,70,59,8,12, - 12,8,255,0,16,40,68,0,198,66,66,66,66,66,70,59, - 8,11,11,8,255,0,36,36,0,198,66,66,66,66,66,70, - 59,8,16,16,8,255,252,2,4,8,0,247,66,66,36,36, - 20,8,8,16,16,160,192,8,15,15,8,255,252,64,192,64, - 92,98,65,65,65,65,98,92,64,64,64,224,8,15,15,8, - 255,252,36,36,0,247,66,98,36,52,20,24,8,16,16,160, - 192}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=15 h=15 x= 2 y= 8 dx=16 dy= 0 ascent=12 len=28 - Font Bounding box w=19 h=26 x=-2 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =11 descent=-4 - X Font ascent =11 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR12r[1784] U8G_FONT_SECTION("u8g_font_timR12r") = { - 0,19,26,254,249,11,2,36,5,11,32,127,252,12,252,11, - 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, - 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, - 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, - 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, - 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, - 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, - 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, - 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, - 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, - 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, - 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, - 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, - 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, - 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, - 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, - 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, - 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, - 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, - 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, - 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, - 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, - 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, - 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, - 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, - 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, - 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, - 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, - 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, - 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, - 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, - 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, - 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, - 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, - 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, - 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, - 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, - 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, - 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, - 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, - 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, - 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, - 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, - 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, - 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, - 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, - 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, - 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, - 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, - 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, - 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, - 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, - 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, - 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, - 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, - 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, - 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, - 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, - 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, - 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, - 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, - 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, - 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, - 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, - 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, - 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, - 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, - 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, - 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, - 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, - 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, - 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, - 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, - 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, - 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, - 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, - 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, - 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, - 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, - 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, - 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, - 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, - 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, - 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, - 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, - 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, - 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, - 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, - 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, - 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, - 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, - 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, - 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, - 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, - 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, - 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, - 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, - 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, - 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, - 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, - 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, - 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, - 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, - 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, - 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, - 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, - 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, - 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, - 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, - 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, - 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, - 3,9,0,3,113,153,142,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=18 x= 2 y=10 dx=18 dy= 0 ascent=18 len=39 - Font Bounding box w=22 h=29 x=-3 y=-7 - Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =18 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR14[4577] U8G_FONT_SECTION("u8g_font_timR14") = { - 0,22,29,253,249,13,2,131,6,16,32,255,252,18,252,13, - 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, - 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, - 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, - 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, - 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, - 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, - 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, - 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, - 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, - 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, - 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, - 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, - 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, - 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, - 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, - 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, - 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, - 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, - 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, - 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, - 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, - 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, - 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, - 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, - 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, - 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, - 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, - 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, - 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, - 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, - 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, - 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, - 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, - 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, - 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, - 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, - 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, - 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, - 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, - 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, - 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, - 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, - 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, - 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, - 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, - 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, - 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, - 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, - 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, - 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, - 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, - 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, - 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, - 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, - 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, - 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, - 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, - 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, - 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, - 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, - 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, - 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, - 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, - 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, - 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, - 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, - 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, - 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, - 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, - 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, - 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, - 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, - 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, - 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, - 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, - 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, - 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, - 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, - 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, - 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, - 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, - 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, - 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, - 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, - 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, - 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, - 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, - 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, - 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, - 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, - 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, - 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, - 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, - 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, - 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, - 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, - 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, - 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, - 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, - 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, - 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, - 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, - 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, - 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, - 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, - 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, - 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, - 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, - 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, - 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, - 11,1,3,48,0,121,128,207,0,6,0,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,5, - 0,1,2,13,13,4,1,252,192,192,0,0,128,128,128,192, - 192,192,192,192,192,7,14,14,9,1,253,6,4,60,110,200, - 216,208,208,240,114,124,64,192,128,10,13,26,11,0,0,15, - 0,25,128,25,128,24,0,24,0,24,0,126,0,24,0,24, - 0,16,0,120,64,191,192,231,128,9,7,14,11,1,3,221, - 128,247,128,99,0,65,0,99,0,247,128,221,128,8,13,13, - 9,0,0,247,98,98,118,52,52,126,24,126,24,24,24,126, - 1,13,13,3,1,0,128,128,128,128,128,0,0,0,128,128, - 128,128,128,8,16,16,10,1,253,60,102,102,112,56,124,142, - 199,227,113,62,28,14,102,102,60,5,2,2,5,0,10,216, - 216,13,13,26,15,1,0,15,128,48,96,64,16,71,144,136, - 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, - 128,5,8,8,5,0,5,96,144,16,112,144,232,0,248,8, - 7,7,10,1,1,17,51,102,204,102,51,17,9,5,10,11, - 1,2,255,128,255,128,1,128,1,128,1,128,5,2,2,6, - 0,3,248,248,13,13,26,15,1,0,15,128,48,96,64,16, - 95,16,136,136,136,136,143,8,137,8,136,136,92,208,64,16, - 48,96,15,128,5,2,2,5,0,10,248,248,5,5,5,7, - 1,8,112,136,136,136,112,8,11,11,10,1,0,24,24,24, - 255,255,24,24,24,0,255,255,5,8,8,6,0,5,112,152, - 24,16,32,32,64,248,5,8,8,6,0,5,112,136,24,112, - 24,8,136,112,4,3,3,4,0,10,48,96,128,9,13,26, - 9,255,252,231,0,99,0,99,0,99,0,99,0,99,0,99, - 0,119,0,123,128,64,0,64,0,96,0,96,0,7,17,17, - 8,1,252,62,116,244,244,244,244,244,116,20,20,20,20,20, - 20,20,20,20,2,2,2,4,1,4,192,192,4,5,5,6, - 1,252,32,32,16,176,112,3,8,8,6,1,5,64,192,64, - 64,64,64,64,224,5,8,8,6,0,5,112,216,136,136,216, - 112,0,248,8,7,7,10,1,1,136,204,102,51,102,204,136, - 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, - 68,64,76,192,233,64,27,64,50,64,39,224,96,64,64,64, - 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, - 69,192,78,96,232,96,24,64,48,128,32,128,97,0,67,224, - 13,13,26,13,255,0,112,32,136,96,24,64,112,192,25,128, - 9,16,139,48,114,80,6,208,12,144,9,248,24,16,16,16, - 6,13,13,8,1,252,48,48,0,16,16,48,96,96,192,204, - 140,196,120,13,17,34,14,1,0,24,0,12,0,2,0,0, - 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, - 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, - 0,0,192,1,128,2,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,13,17,34,14,1,0,2,0,7,0,13,128,0, - 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, - 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, - 0,12,128,31,128,19,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,13,16,32,14,1,0,13,128,13,128,0,0,2, - 0,7,0,7,0,5,0,13,128,9,128,25,192,16,192,31, - 192,48,224,32,96,96,112,240,248,13,18,36,14,1,0,6, - 0,9,0,9,0,6,0,0,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,15,13,26,17,1,0,15,252,7,140,5,132,5, - 128,13,128,9,136,25,248,31,136,17,128,49,128,33,130,97, - 134,247,254,11,17,34,13,1,252,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,4,0,2,0,22,0,14,0,9,17,34,12,1, - 0,48,0,24,0,4,0,0,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,17,34,12,1,0,3,0,6,0,8,0,0, - 0,255,128,97,128,96,128,96,0,96,0,97,0,127,0,97, - 0,96,0,96,0,96,128,97,128,255,128,9,17,34,12,1, - 0,8,0,28,0,54,0,0,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,16,32,12,1,0,54,0,54,0,0,0,255, - 128,97,128,96,128,96,0,96,0,97,0,127,0,97,0,96, - 0,96,0,96,128,97,128,255,128,6,17,17,6,255,0,192, - 96,16,0,60,24,24,24,24,24,24,24,24,24,24,24,60, - 6,17,17,6,1,0,12,24,32,0,240,96,96,96,96,96, - 96,96,96,96,96,96,240,5,17,17,6,1,0,32,112,216, - 0,240,96,96,96,96,96,96,96,96,96,96,96,240,5,16, - 16,6,1,0,216,216,0,240,96,96,96,96,96,96,96,96, - 96,96,96,240,12,13,26,13,0,0,127,128,49,192,48,96, - 48,96,48,48,48,48,252,48,48,48,48,48,48,96,48,96, - 49,192,127,128,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,224,112,96,32,112,32,120,32,92,32,76,32,78,32, - 71,32,67,160,65,224,64,224,64,96,224,32,12,17,34,14, - 1,0,48,0,24,0,4,0,0,0,15,0,48,192,96,96, - 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, - 48,192,15,0,12,17,34,14,1,0,0,192,1,128,2,0, - 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, - 192,48,192,48,96,96,96,96,48,192,15,0,12,17,34,14, - 1,0,4,0,14,0,27,0,0,0,15,0,48,192,96,96, - 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, - 48,192,15,0,12,17,34,14,1,0,12,128,31,128,19,0, - 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, - 192,48,192,48,96,96,96,96,48,192,15,0,12,16,32,14, - 1,0,27,0,27,0,0,0,15,0,48,192,96,96,96,96, - 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, - 15,0,8,7,7,10,1,1,195,102,60,24,60,102,195,12, - 15,30,14,1,255,0,48,15,96,48,192,96,224,97,160,195, - 48,195,48,198,48,204,48,204,48,88,96,112,96,48,192,111, - 0,192,0,11,17,34,14,2,0,48,0,24,0,4,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,112,192,57,128,31,0,11,17,34,14,2, - 0,0,192,1,128,2,0,0,0,240,224,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,96,64,112,192,57, - 128,31,0,11,17,34,14,2,0,4,0,14,0,27,0,0, - 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, - 64,96,64,96,64,112,192,57,128,31,0,11,16,32,14,2, - 0,27,0,27,0,0,0,240,224,96,64,96,64,96,64,96, - 64,96,64,96,64,96,64,96,64,96,64,112,192,57,128,31, - 0,12,17,34,14,1,0,0,192,1,128,2,0,0,0,240, - 240,112,96,48,192,24,128,25,0,15,0,6,0,6,0,6, - 0,6,0,6,0,6,0,15,0,9,13,26,10,1,0,240, - 0,96,0,96,0,127,0,99,128,97,128,97,128,97,128,99, - 0,126,0,96,0,96,0,240,0,8,13,13,9,0,0,28, - 50,99,99,102,110,124,102,99,99,107,111,238,7,13,13,9, - 1,0,192,96,16,0,120,200,204,28,108,204,204,252,102,7, - 13,13,9,1,0,12,24,32,0,120,200,204,28,108,204,204, - 252,102,7,13,13,9,1,0,16,56,108,0,120,200,204,28, - 108,204,204,252,102,7,13,13,9,1,0,100,252,152,0,120, - 200,204,28,108,204,204,252,102,7,12,12,9,1,0,108,108, - 0,120,200,204,28,108,204,204,252,102,7,14,14,9,1,0, - 48,72,72,48,0,120,200,204,28,108,204,204,252,102,11,9, - 18,12,0,0,123,192,206,96,204,32,31,224,108,0,204,0, - 204,0,254,96,99,192,7,13,13,8,0,252,60,102,192,192, - 192,192,192,102,60,16,8,88,56,7,13,13,8,0,0,192, - 96,16,0,60,102,194,254,192,192,192,102,60,7,13,13,8, - 0,0,6,12,16,0,60,102,194,254,192,192,192,102,60,7, - 13,13,8,0,0,16,56,108,0,60,102,194,254,192,192,192, - 102,60,7,12,12,8,0,0,108,108,0,60,102,194,254,192, - 192,192,102,60,6,13,13,5,254,0,192,96,16,0,24,56, - 24,24,24,24,24,24,60,6,13,13,5,0,0,12,24,32, - 0,96,224,96,96,96,96,96,96,240,5,13,13,5,0,0, - 32,112,216,0,96,224,96,96,96,96,96,96,240,5,12,12, - 5,0,0,216,216,0,96,224,96,96,96,96,96,96,240,8, - 13,13,9,0,0,96,54,56,76,62,102,195,195,195,195,195, - 102,60,9,13,26,10,0,0,50,0,126,0,76,0,0,0, - 102,0,239,0,115,0,99,0,99,0,99,0,99,0,99,0, - 243,128,8,13,13,9,0,0,48,24,4,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,0,6,12,16,0,60, - 102,195,195,195,195,195,102,60,8,13,13,9,0,0,16,56, - 108,0,60,102,195,195,195,195,195,102,60,8,13,13,9,0, - 0,50,126,76,0,60,102,195,195,195,195,195,102,60,8,12, - 12,9,0,0,108,108,0,60,102,195,195,195,195,195,102,60, - 8,8,8,10,1,1,24,24,0,255,255,0,24,24,8,11, - 11,9,0,255,1,63,102,207,203,219,211,243,102,124,192,9, - 13,26,10,0,0,96,0,48,0,8,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 13,26,10,0,0,6,0,12,0,16,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 13,26,10,0,0,8,0,28,0,54,0,0,0,231,0,99, - 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, - 12,24,10,0,0,54,0,54,0,0,0,231,0,99,0,99, - 0,99,0,99,0,99,0,99,0,119,0,59,128,8,17,17, - 8,255,252,3,6,8,0,243,99,114,50,54,28,28,12,8, - 24,16,240,224,8,17,17,9,0,252,96,224,96,96,110,119, - 99,99,99,99,99,118,124,96,96,96,240,8,16,16,9,0, - 252,54,54,0,243,99,114,50,54,28,28,12,8,24,16,240, - 224}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 13, '1' Height: 13 - Calculated Max Values w=18 h=17 x= 2 y=10 dx=18 dy= 0 ascent=14 len=39 - Font Bounding box w=22 h=29 x=-3 y=-7 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent =13 descent=-4 - X Font ascent =13 descent=-4 - Max Font ascent =14 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR14r[2156] U8G_FONT_SECTION("u8g_font_timR14r") = { - 0,22,29,253,249,13,2,131,6,16,32,127,252,14,252,13, - 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, - 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, - 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, - 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, - 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, - 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, - 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, - 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, - 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, - 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, - 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, - 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, - 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, - 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, - 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, - 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, - 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, - 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, - 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, - 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, - 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, - 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, - 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, - 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, - 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, - 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, - 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, - 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, - 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, - 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, - 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, - 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, - 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, - 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, - 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, - 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, - 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, - 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, - 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, - 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, - 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, - 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, - 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, - 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, - 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, - 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, - 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, - 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, - 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, - 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, - 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, - 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, - 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, - 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, - 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, - 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, - 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, - 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, - 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, - 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, - 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, - 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, - 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, - 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, - 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, - 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, - 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, - 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, - 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, - 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, - 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, - 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, - 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, - 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, - 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, - 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, - 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, - 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, - 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, - 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, - 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, - 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, - 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, - 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, - 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, - 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, - 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, - 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, - 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, - 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, - 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, - 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, - 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, - 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, - 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, - 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, - 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, - 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, - 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, - 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, - 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, - 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, - 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, - 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, - 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, - 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, - 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, - 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, - 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, - 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, - 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, - 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, - 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, - 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, - 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, - 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, - 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, - 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, - 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, - 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, - 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, - 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, - 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, - 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, - 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, - 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, - 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, - 11,1,3,48,0,121,128,207,0,6,0,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=23 x= 3 y=14 dx=23 dy= 0 ascent=23 len=69 - Font Bounding box w=29 h=37 x=-4 y=-9 - Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =17 descent=-6 - Max Font ascent =23 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR18[6850] U8G_FONT_SECTION("u8g_font_timR18") = { - 0,29,37,252,247,17,4,9,8,241,32,255,250,23,250,17, - 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, - 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, - 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, - 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, - 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, - 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, - 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, - 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, - 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, - 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, - 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, - 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, - 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, - 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, - 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, - 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, - 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, - 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, - 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, - 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, - 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, - 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, - 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, - 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, - 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, - 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, - 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, - 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, - 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, - 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, - 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, - 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, - 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, - 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, - 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, - 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, - 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, - 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, - 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, - 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, - 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, - 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, - 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, - 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, - 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, - 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, - 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, - 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, - 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, - 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, - 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, - 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, - 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, - 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, - 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, - 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, - 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, - 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, - 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, - 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, - 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, - 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, - 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, - 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, - 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, - 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, - 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, - 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, - 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, - 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, - 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, - 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, - 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, - 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, - 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, - 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, - 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, - 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, - 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, - 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, - 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, - 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, - 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, - 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, - 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, - 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, - 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, - 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, - 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, - 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, - 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, - 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, - 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, - 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, - 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, - 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, - 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, - 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, - 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, - 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, - 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, - 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, - 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, - 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, - 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, - 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, - 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, - 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, - 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, - 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, - 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, - 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, - 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, - 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, - 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, - 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, - 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, - 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, - 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, - 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, - 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, - 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, - 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, - 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, - 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, - 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, - 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, - 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, - 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, - 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, - 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, - 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, - 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, - 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, - 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, - 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, - 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, - 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, - 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, - 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, - 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, - 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, - 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, - 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, - 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, - 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, - 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, - 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, - 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, - 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, - 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, - 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, - 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, - 32,124,96,199,192,131,128,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,1,3,17, - 17,8,3,251,96,96,0,0,0,64,64,64,64,224,224,224, - 224,224,224,224,64,9,16,32,12,1,254,2,0,2,0,15, - 0,51,128,101,128,196,0,196,0,200,0,200,0,200,0,208, - 0,112,128,113,0,62,0,64,0,64,0,10,17,34,12,1, - 0,15,0,25,128,49,128,48,0,48,0,48,0,48,0,252, - 0,48,0,48,0,48,0,48,0,48,0,48,0,120,64,190, - 192,231,128,11,12,24,13,1,3,192,96,238,224,127,192,49, - 128,96,192,96,192,96,192,96,192,49,128,127,192,238,224,192, - 96,14,17,34,14,0,0,248,124,112,48,48,32,24,96,24, - 64,12,192,12,128,7,128,3,0,31,224,3,0,31,224,3, - 0,3,0,3,0,3,0,15,192,2,17,17,6,2,0,192, - 192,192,192,192,192,192,0,0,0,192,192,192,192,192,192,192, - 8,20,20,12,2,253,28,38,70,96,112,56,60,78,135,131, - 195,226,116,56,28,14,6,98,100,56,6,2,2,8,1,14, - 204,204,17,17,51,19,1,0,7,240,0,28,28,0,48,6, - 0,97,227,0,71,49,0,196,25,128,140,0,128,136,0,128, - 136,0,128,136,0,128,140,0,128,196,25,128,71,113,0,97, - 195,0,48,6,0,28,28,0,7,240,0,7,9,9,8,0, - 8,120,204,12,124,204,204,118,0,254,9,10,20,13,1,1, - 8,128,25,128,51,0,102,0,204,0,204,0,102,0,51,0, - 25,128,8,128,11,7,14,15,2,1,255,224,255,224,0,96, - 0,96,0,96,0,96,0,96,6,2,2,8,0,5,252,252, - 17,17,51,19,1,0,7,240,0,28,28,0,48,6,0,103, - 227,0,66,49,0,194,17,128,130,16,128,130,48,128,131,224, - 128,130,64,128,130,32,128,194,49,128,71,25,0,96,3,0, - 48,6,0,28,28,0,7,240,0,7,2,2,8,1,14,254, - 254,7,7,7,9,1,10,56,68,130,130,130,68,56,10,11, - 22,14,2,0,12,0,12,0,12,0,255,192,255,192,12,0, - 12,0,12,0,0,0,255,192,255,192,6,10,10,7,0,7, - 56,76,140,12,8,16,48,32,68,252,6,10,10,7,0,7, - 56,76,140,8,48,8,12,140,136,112,5,4,4,8,2,13, - 24,56,112,192,11,17,34,13,1,251,225,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,113,192,126,192, - 92,224,64,0,192,0,192,0,224,0,64,0,9,21,42,11, - 1,252,31,128,57,0,121,0,121,0,249,0,249,0,249,0, - 121,0,121,0,57,0,25,0,9,0,9,0,9,0,9,0, - 9,0,9,0,9,0,9,0,9,0,9,0,2,3,3,6, - 2,5,192,192,192,6,6,6,8,1,250,16,48,60,12,204, - 120,5,10,10,7,1,7,32,96,160,32,32,32,32,32,32, - 248,7,9,9,8,0,8,56,68,198,198,198,68,56,0,254, - 9,10,20,12,2,1,136,0,204,0,102,0,51,0,25,128, - 25,128,51,0,102,0,204,0,136,0,16,17,34,18,1,0, - 32,24,96,24,160,48,32,96,32,96,32,192,32,192,33,132, - 35,12,251,28,6,20,6,36,12,100,24,68,24,255,48,4, - 48,4,15,17,34,18,1,0,32,24,96,24,160,48,32,96, - 32,96,32,192,32,192,33,156,35,38,251,70,6,6,6,4, - 12,8,24,24,24,16,48,34,48,126,17,17,51,18,0,0, - 56,12,0,76,12,0,140,24,0,8,48,0,48,48,0,8, - 96,0,12,96,0,140,194,0,137,134,0,113,142,0,3,10, - 0,3,18,0,6,50,0,12,34,0,12,127,128,24,2,0, - 24,2,0,8,17,17,11,1,251,12,12,0,0,8,8,24, - 24,56,48,112,224,195,195,193,99,62,17,22,66,17,0,0, - 12,0,0,14,0,0,7,0,0,1,128,0,0,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,17,22,66,17,0,0,0,24,0,0,56,0,0,112, - 0,0,192,0,0,0,0,0,128,0,1,192,0,1,192,0, - 1,96,0,2,96,0,2,48,0,6,48,0,4,48,0,4, - 24,0,12,24,0,15,248,0,8,12,0,24,12,0,16,12, - 0,16,6,0,48,6,0,252,31,128,17,22,66,17,0,0, - 1,128,0,3,192,0,6,96,0,4,32,0,0,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,17,21,63,17,0,0,3,32,0,7,224,0,4,192, - 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, - 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, - 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, - 0,48,6,0,252,31,128,17,21,63,17,0,0,6,96,0, - 6,96,0,0,0,0,0,0,0,0,128,0,1,192,0,1, - 192,0,1,96,0,2,96,0,2,48,0,6,48,0,4,48, - 0,4,24,0,12,24,0,15,248,0,8,12,0,24,12,0, - 16,12,0,16,6,0,48,6,0,252,31,128,17,23,69,17, - 0,0,1,192,0,2,32,0,2,32,0,2,32,0,1,192, - 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, - 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, - 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, - 0,48,6,0,252,31,128,21,17,51,22,0,0,3,255,240, - 0,240,48,1,176,16,1,48,16,3,48,0,2,48,0,6, - 48,64,4,48,64,4,63,192,12,48,64,15,240,64,8,48, - 0,24,48,0,16,48,8,48,48,8,32,48,24,248,255,248, - 14,23,46,16,1,250,7,228,28,60,56,12,96,4,96,4, - 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, - 96,4,56,8,30,56,7,224,1,0,3,0,3,192,0,192, - 12,192,7,128,13,22,44,15,1,0,24,0,28,0,14,0, - 3,0,0,0,255,240,48,48,48,16,48,16,48,0,48,0, - 48,64,48,64,63,192,48,64,48,64,48,0,48,0,48,8, - 48,8,48,24,255,248,13,22,44,15,1,0,0,96,0,224, - 1,192,3,0,0,0,255,240,48,48,48,16,48,16,48,0, - 48,0,48,64,48,64,63,192,48,64,48,64,48,0,48,0, - 48,8,48,8,48,24,255,248,13,22,44,15,1,0,6,0, - 15,0,25,128,16,128,0,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, - 48,0,48,8,48,8,48,24,255,248,13,21,42,15,1,0, - 25,128,25,128,0,0,0,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, - 48,0,48,8,48,8,48,24,255,248,7,22,22,8,0,0, - 192,224,112,24,0,126,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,24,126,7,22,22,8,1,0,6,14,28,48, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,6,22,22,8,1,0,48,120,204,132,0,252,48,48, - 48,48,48,48,48,48,48,48,48,48,48,48,48,252,6,21, - 21,8,1,0,204,204,0,0,252,48,48,48,48,48,48,48, - 48,48,48,48,48,48,48,48,252,16,17,34,17,0,0,127, - 224,24,56,24,28,24,6,24,6,24,3,24,3,255,3,255, - 3,24,3,24,3,24,3,24,6,24,6,24,28,24,56,127, - 224,16,21,42,18,1,0,3,32,7,224,4,192,0,0,240, - 31,48,4,56,4,56,4,44,4,38,4,38,4,35,4,33, - 132,33,132,32,196,32,100,32,100,32,52,32,28,32,28,248, - 12,16,22,44,18,1,0,12,0,14,0,7,0,1,128,0, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,16,22,44,18,1,0,0,48,0,112,0,224,1, - 128,0,0,7,224,28,56,56,28,96,6,96,6,192,3,192, - 3,192,3,192,3,192,3,192,3,192,3,96,6,96,6,56, - 28,28,56,7,224,16,22,44,18,1,0,1,128,3,192,6, - 96,4,32,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,16,21,42,18,1,0,3,32,7, - 224,4,192,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,16,21,42,18,1,0,6,96,6, - 96,0,0,0,0,7,224,28,56,56,28,96,6,96,6,192, - 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, - 6,56,28,28,56,7,224,10,9,18,12,1,1,192,192,97, - 128,51,0,30,0,12,0,30,0,51,0,97,128,192,192,16, - 19,38,18,1,255,0,4,7,228,28,56,56,28,96,38,96, - 70,192,67,192,131,192,131,193,3,193,3,194,3,194,3,100, - 6,104,6,56,28,28,56,39,224,32,0,16,22,44,18,1, - 0,6,0,7,0,3,128,0,192,0,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,16,22,44, - 18,1,0,0,48,0,112,0,224,1,128,0,0,252,31,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,8,24,8,28,48,7,224,16, - 22,44,18,1,0,1,128,3,192,6,96,4,32,0,0,252, - 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, - 224,16,21,42,18,1,0,6,96,6,96,0,0,0,0,252, - 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, - 224,16,22,44,18,1,0,0,48,0,112,0,224,1,128,0, - 0,252,63,48,12,56,8,24,24,28,16,12,48,6,32,6, - 96,3,64,3,192,1,128,1,128,1,128,1,128,1,128,1, - 128,7,224,13,17,34,15,1,0,252,0,48,0,48,0,48, - 0,63,192,48,112,48,48,48,24,48,24,48,24,48,48,48, - 112,63,192,48,0,48,0,48,0,252,0,10,17,34,12,1, - 0,30,0,51,0,97,128,97,128,97,128,97,128,99,0,108, - 0,103,0,99,128,97,128,97,192,96,192,96,192,108,192,108, - 128,231,0,9,17,34,11,1,0,96,0,112,0,56,0,12, - 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, - 0,195,0,195,0,199,0,251,0,113,128,9,17,34,11,1, - 0,3,0,7,0,14,0,24,0,0,0,62,0,103,0,99, - 0,3,0,15,0,59,0,99,0,195,0,195,0,199,0,251, - 0,113,128,9,17,34,11,1,0,12,0,30,0,51,0,33, - 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, - 0,195,0,195,0,199,0,251,0,113,128,9,16,32,11,1, - 0,50,0,126,0,76,0,0,0,62,0,103,0,99,0,3, - 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, - 128,9,16,32,11,1,0,102,0,102,0,0,0,0,0,62, - 0,103,0,99,0,3,0,15,0,59,0,99,0,195,0,195, - 0,199,0,251,0,113,128,9,18,36,11,1,0,28,0,34, - 0,34,0,34,0,28,0,0,0,62,0,103,0,99,0,3, - 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, - 128,14,12,24,16,1,0,60,240,103,152,99,12,3,12,15, - 252,59,0,99,0,195,0,195,0,199,132,251,248,112,240,9, - 18,36,11,1,250,31,0,99,128,65,128,192,0,192,0,192, - 0,192,0,192,0,224,0,112,128,127,0,30,0,8,0,24, - 0,30,0,6,0,102,0,60,0,9,17,34,11,1,0,96, - 0,112,0,56,0,12,0,0,0,30,0,99,0,65,128,193, - 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, - 0,9,17,34,11,1,0,3,0,7,0,14,0,24,0,0, - 0,30,0,99,0,65,128,193,128,255,128,192,0,192,0,192, - 0,224,0,112,128,127,0,30,0,9,17,34,11,1,0,12, - 0,30,0,51,0,33,0,0,0,30,0,99,0,65,128,193, - 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, - 0,9,16,32,11,1,0,51,0,51,0,0,0,0,0,30, - 0,99,0,65,128,193,128,255,128,192,0,192,0,192,0,224, - 0,112,128,127,0,30,0,6,17,17,6,255,0,192,224,112, - 24,0,56,24,24,24,24,24,24,24,24,24,24,60,5,17, - 17,6,1,0,24,56,112,192,0,96,224,96,96,96,96,96, - 96,96,96,96,240,6,17,17,6,0,0,48,120,204,132,0, - 48,112,48,48,48,48,48,48,48,48,48,120,6,16,16,6, - 0,0,204,204,0,0,112,48,48,48,48,48,48,48,48,48, - 48,120,10,17,34,12,1,0,192,0,113,128,30,0,60,0, - 198,0,31,0,115,128,97,128,192,192,192,192,192,192,192,192, - 192,192,192,192,97,128,115,128,30,0,11,16,32,13,1,0, - 25,0,63,0,38,0,0,0,103,0,239,128,113,192,96,192, - 96,192,96,192,96,192,96,192,96,192,96,192,96,192,241,224, - 10,17,34,12,1,0,96,0,112,0,56,0,12,0,0,0, - 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,17,34,12,1,0,3,0, - 7,0,14,0,24,0,0,0,30,0,115,128,97,128,192,192, - 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, - 10,17,34,12,1,0,12,0,30,0,51,0,33,0,0,0, - 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, - 192,192,97,128,115,128,30,0,10,16,32,12,1,0,25,0, - 63,0,38,0,0,0,30,0,115,128,97,128,192,192,192,192, - 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,16, - 32,12,1,0,51,0,51,0,0,0,0,0,30,0,115,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, - 115,128,30,0,10,10,20,12,1,1,12,0,12,0,0,0, - 0,0,255,192,255,192,0,0,0,0,12,0,12,0,10,14, - 28,12,1,255,0,192,30,192,115,128,99,128,198,192,196,192, - 204,192,200,192,216,192,208,192,113,128,115,128,222,0,192,0, - 11,17,34,13,1,0,96,0,112,0,56,0,12,0,0,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,17,34,13,1,0,1,128, - 3,128,7,0,12,0,0,0,225,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,96,192,113,192,62,192,28,224, - 11,17,34,13,1,0,12,0,30,0,51,0,33,0,0,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,16,32,13,1,0,51,0, - 51,0,0,0,0,0,225,192,96,192,96,192,96,192,96,192, - 96,192,96,192,96,192,96,192,113,192,62,192,28,224,11,22, - 44,11,0,251,1,128,3,128,7,0,12,0,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,12,0,8,0,24,0,240,0,224,0, - 10,22,44,12,1,251,96,0,224,0,96,0,96,0,96,0, - 110,0,115,128,97,128,96,192,96,192,96,192,96,192,96,192, - 96,192,97,128,115,128,110,0,96,0,96,0,96,0,96,0, - 240,0,11,21,42,11,0,251,51,0,51,0,0,0,0,0, - 241,224,96,192,96,128,48,128,48,128,49,0,25,0,25,0, - 26,0,14,0,14,0,4,0,12,0,8,0,24,0,240,0, - 224,0}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 17, '1' Height: 17 - Calculated Max Values w=23 h=23 x= 3 y=13 dx=23 dy= 0 ascent=19 len=60 - Font Bounding box w=29 h=37 x=-4 y=-9 - Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 - Pure Font ascent =17 descent=-6 - X Font ascent =17 descent=-6 - Max Font ascent =19 descent=-6 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR18r[3208] U8G_FONT_SECTION("u8g_font_timR18r") = { - 0,29,37,252,247,17,4,9,8,241,32,127,250,19,250,17, - 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, - 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, - 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, - 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, - 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, - 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, - 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, - 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, - 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, - 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, - 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, - 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, - 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, - 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, - 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, - 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, - 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, - 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, - 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, - 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, - 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, - 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, - 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, - 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, - 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, - 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, - 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, - 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, - 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, - 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, - 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, - 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, - 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, - 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, - 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, - 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, - 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, - 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, - 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, - 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, - 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, - 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, - 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, - 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, - 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, - 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, - 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, - 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, - 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, - 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, - 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, - 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, - 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, - 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, - 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, - 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, - 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, - 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, - 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, - 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, - 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, - 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, - 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, - 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, - 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, - 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, - 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, - 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, - 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, - 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, - 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, - 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, - 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, - 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, - 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, - 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, - 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, - 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, - 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, - 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, - 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, - 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, - 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, - 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, - 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, - 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, - 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, - 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, - 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, - 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, - 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, - 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, - 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, - 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, - 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, - 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, - 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, - 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, - 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, - 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, - 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, - 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, - 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, - 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, - 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, - 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, - 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, - 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, - 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, - 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, - 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, - 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, - 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, - 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, - 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, - 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, - 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, - 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, - 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, - 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, - 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, - 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, - 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, - 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, - 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, - 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, - 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, - 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, - 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, - 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, - 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, - 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, - 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, - 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, - 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, - 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, - 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, - 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, - 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, - 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, - 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, - 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, - 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, - 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, - 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, - 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, - 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, - 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, - 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, - 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, - 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, - 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, - 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, - 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, - 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, - 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, - 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, - 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, - 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, - 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, - 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, - 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, - 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, - 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, - 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, - 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, - 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, - 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, - 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, - 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, - 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, - 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, - 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, - 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, - 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, - 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, - 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, - 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, - 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, - 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, - 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, - 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, - 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, - 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, - 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, - 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, - 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, - 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, - 32,124,96,199,192,131,128,255}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=31 h=30 x= 4 y=18 dx=32 dy= 0 ascent=30 len=112 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =30 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24[10419] U8G_FONT_SECTION("u8g_font_timR24") = { - 0,38,48,251,245,23,5,140,13,213,32,255,249,30,249,23, - 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, - 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, - 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, - 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, - 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, - 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, - 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, - 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, - 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, - 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, - 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, - 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, - 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, - 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, - 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, - 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, - 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, - 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, - 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, - 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, - 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, - 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, - 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, - 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, - 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, - 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, - 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, - 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, - 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, - 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, - 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, - 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, - 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, - 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, - 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, - 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, - 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, - 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, - 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, - 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, - 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, - 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, - 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, - 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, - 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, - 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, - 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, - 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, - 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, - 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, - 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, - 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, - 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, - 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, - 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, - 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, - 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, - 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, - 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, - 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, - 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, - 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, - 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, - 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, - 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, - 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, - 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, - 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, - 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, - 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, - 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, - 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, - 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, - 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, - 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, - 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, - 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, - 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, - 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, - 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, - 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, - 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, - 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, - 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, - 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, - 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, - 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, - 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, - 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, - 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, - 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, - 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, - 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, - 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, - 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, - 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, - 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, - 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, - 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, - 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, - 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, - 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, - 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, - 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, - 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, - 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, - 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, - 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, - 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, - 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, - 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, - 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, - 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, - 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, - 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, - 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, - 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, - 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, - 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, - 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, - 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, - 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, - 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, - 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, - 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, - 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, - 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, - 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, - 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, - 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, - 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, - 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, - 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, - 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, - 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, - 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, - 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, - 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, - 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, - 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, - 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, - 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, - 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, - 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, - 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, - 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, - 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, - 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, - 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, - 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, - 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, - 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, - 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, - 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, - 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, - 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, - 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, - 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, - 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, - 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, - 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, - 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, - 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, - 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, - 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, - 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, - 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, - 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, - 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, - 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, - 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, - 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, - 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, - 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, - 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, - 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, - 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, - 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, - 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, - 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, - 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, - 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, - 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, - 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, - 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, - 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, - 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, - 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, - 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, - 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, - 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, - 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, - 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, - 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, - 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, - 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, - 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, - 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, - 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, - 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, - 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, - 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, - 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, - 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, - 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, - 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, - 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, - 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, - 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, - 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, - 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, - 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, - 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, - 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, - 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, - 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, - 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, - 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, - 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, - 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, - 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, - 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, - 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, - 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, - 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, - 18,1,7,62,3,127,135,225,254,192,124,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,8, - 0,1,4,22,22,11,3,249,96,240,240,96,0,0,96,96, - 96,96,96,96,96,96,96,96,96,240,240,240,240,96,12,23, - 46,17,2,252,0,64,0,64,0,128,0,128,15,128,56,224, - 113,112,97,112,225,48,195,0,194,0,194,0,230,0,228,0, - 116,16,124,48,63,224,31,192,31,0,16,0,48,0,32,0, - 32,0,15,23,46,17,1,0,1,240,3,152,6,28,6,28, - 14,24,14,0,14,0,14,0,14,0,14,0,255,224,255,224, - 15,0,7,0,7,0,7,0,7,0,6,0,6,2,126,6, - 199,252,207,248,120,240,16,17,34,17,0,3,199,227,255,255, - 62,124,120,30,112,14,224,7,224,7,192,3,192,3,192,3, - 224,7,224,7,112,14,120,30,62,124,255,255,199,227,17,23, - 69,17,0,0,254,31,128,120,7,0,56,6,0,60,4,0, - 28,12,0,30,8,0,14,24,0,15,16,0,7,48,0,7, - 160,0,3,224,0,3,192,0,63,254,0,1,192,0,1,192, - 0,1,192,0,63,254,0,1,192,0,1,192,0,1,192,0, - 1,192,0,1,192,0,7,240,0,2,23,23,7,2,0,192, - 192,192,192,192,192,192,192,192,0,0,0,0,0,192,192,192, - 192,192,192,192,192,192,12,28,56,17,2,251,31,128,49,192, - 97,192,97,192,113,128,56,0,60,0,30,0,15,0,63,128, - 99,192,193,224,192,224,192,112,224,48,112,48,120,48,60,96, - 31,192,15,0,7,128,3,192,1,192,24,224,56,96,56,96, - 56,192,31,128,9,3,6,11,1,18,227,128,227,128,227,128, - 22,23,69,25,1,0,0,252,0,3,255,0,14,1,192,24, - 0,96,48,0,48,96,0,24,96,127,24,193,199,12,195,131, - 12,195,1,12,199,0,12,199,0,12,199,0,12,199,0,12, - 199,128,12,67,129,24,97,230,24,96,124,48,48,0,48,24, - 0,96,14,1,192,7,255,0,1,252,0,9,13,26,9,0, - 10,60,0,78,0,198,0,198,0,30,0,102,0,198,0,198, - 0,239,128,123,0,0,0,0,0,255,0,13,13,26,17,1, - 1,2,8,6,24,12,48,24,96,56,224,113,192,227,128,113, - 192,56,224,24,96,12,48,6,24,2,8,16,9,18,18,1, - 4,255,255,255,255,0,3,0,3,0,3,0,3,0,3,0, - 3,0,3,8,2,2,11,1,7,255,255,22,23,69,25,1, - 0,0,254,0,3,255,0,14,1,192,24,0,96,48,0,48, - 35,252,24,96,199,24,192,195,12,192,195,12,192,195,12,192, - 198,12,192,248,12,192,220,12,192,204,12,192,206,12,64,198, - 8,96,199,24,35,227,208,48,0,48,24,0,96,14,1,192, - 3,255,0,0,252,0,10,2,4,11,0,18,255,192,255,192, - 10,10,20,13,1,13,30,0,63,0,97,128,192,192,192,192, - 192,192,192,192,97,128,63,0,30,0,16,20,40,19,1,0, - 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, - 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,0,0,255,255,255,255,9,14,28,10,0,9,60,0, - 78,0,135,0,3,0,3,0,7,0,6,0,12,0,24,0, - 16,0,32,0,64,128,255,0,254,0,9,14,28,10,0,9, - 62,0,71,0,131,0,3,0,3,0,6,0,60,0,7,0, - 3,128,1,128,1,128,193,128,227,0,126,0,7,6,6,11, - 3,17,6,14,28,48,96,192,16,22,44,17,0,249,248,124, - 56,28,56,28,56,28,56,28,56,28,56,28,56,28,56,28, - 56,28,56,28,56,60,60,124,63,223,47,152,32,0,112,0, - 112,0,112,0,112,0,112,0,32,0,13,29,58,15,1,250, - 7,248,30,32,62,32,126,32,126,32,254,32,254,32,254,32, - 254,32,126,32,126,32,62,32,30,32,14,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, - 2,32,2,32,2,32,2,32,2,32,4,4,4,8,2,7, - 96,240,240,96,6,7,7,11,2,249,32,96,120,28,12,28, - 248,6,14,14,10,2,9,48,240,48,48,48,48,48,48,48, - 48,48,48,48,252,9,13,26,10,0,10,62,0,99,0,195, - 128,193,128,193,128,193,128,193,128,225,128,99,0,62,0,0, - 0,0,0,255,128,13,13,26,16,2,1,130,0,195,0,97, - 128,48,192,56,224,28,112,14,56,28,112,56,224,48,192,97, - 128,195,0,130,0,22,23,69,25,2,0,48,0,96,240,0, - 96,48,0,192,48,1,192,48,1,128,48,3,0,48,3,0, - 48,6,0,48,14,0,48,12,16,48,24,48,48,24,112,48, - 48,112,252,96,240,0,97,176,0,193,48,1,194,48,1,134, - 48,3,12,48,3,31,252,6,0,48,12,0,48,12,0,48, - 23,23,69,25,1,0,48,0,192,240,0,192,48,1,128,48, - 3,128,48,3,0,48,6,0,48,6,0,48,12,0,48,28, - 0,48,24,240,48,49,56,48,50,28,48,96,12,252,224,12, - 0,192,28,1,128,24,3,128,48,3,0,96,6,0,64,6, - 0,128,12,1,2,24,3,252,24,3,248,24,23,69,25,0, - 0,62,0,24,71,0,24,131,0,48,3,0,112,3,0,96, - 6,0,192,60,0,192,7,1,128,3,131,128,1,131,4,1, - 134,12,193,134,28,227,12,28,126,24,60,0,24,108,0,48, - 76,0,112,140,0,97,140,0,195,12,0,199,255,1,128,12, - 3,0,12,3,0,12,11,22,44,14,1,249,6,0,15,0, - 15,0,6,0,0,0,2,0,2,0,6,0,4,0,12,0, - 24,0,56,0,48,0,112,0,112,0,224,192,224,224,224,224, - 112,96,112,96,57,192,31,0,22,30,90,24,1,0,6,0, - 0,7,0,0,3,128,0,0,192,0,0,96,0,0,48,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,1, - 128,0,3,128,0,7,0,0,12,0,0,24,0,0,48,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,48, - 0,0,120,0,0,252,0,1,206,0,3,3,0,2,1,0, - 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, - 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, - 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, - 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, - 0,240,112,0,240,252,3,252,22,28,84,24,1,0,0,224, - 128,1,249,128,3,63,0,2,14,0,0,0,0,0,48,0, - 0,48,0,0,112,0,0,120,0,0,120,0,0,252,0,0, - 220,0,0,156,0,1,142,0,1,14,0,3,15,0,3,7, - 0,2,7,0,6,7,128,6,3,128,15,255,192,12,3,192, - 24,1,192,24,1,224,48,1,224,48,0,240,112,0,240,252, - 3,252,22,28,84,24,1,0,1,199,0,1,199,0,1,199, - 0,0,0,0,0,0,0,0,48,0,0,48,0,0,112,0, - 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, - 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, - 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, - 48,1,224,48,0,240,112,0,240,252,3,252,22,30,90,24, - 1,0,0,112,0,0,248,0,1,140,0,1,4,0,1,140, - 0,0,248,0,0,112,0,0,0,0,0,48,0,0,48,0, - 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, - 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, - 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, - 48,1,224,48,0,240,112,0,240,252,3,252,28,23,92,30, - 1,0,0,255,255,224,0,31,129,224,0,31,0,96,0,55, - 0,32,0,55,0,32,0,103,0,0,0,103,0,0,0,71, - 0,128,0,199,0,128,0,199,1,128,1,135,3,128,1,135, - 255,128,3,7,3,128,3,7,1,128,7,255,0,128,6,7, - 0,128,12,7,0,0,12,7,0,16,24,7,0,16,24,7, - 0,48,48,7,0,96,48,15,129,224,254,63,255,224,20,30, - 90,22,1,249,1,255,16,7,131,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,16,240,0,0,240, - 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, - 0,112,0,0,112,0,0,56,0,0,56,0,16,28,0,48, - 14,0,96,7,131,192,1,255,0,0,64,0,0,192,0,0, - 240,0,0,56,0,0,24,0,0,56,0,1,240,0,19,30, - 90,20,1,0,3,0,0,3,128,0,1,192,0,0,96,0, - 0,48,0,0,24,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, - 90,20,1,0,0,6,0,0,14,0,0,28,0,0,48,0, - 0,96,0,0,192,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, - 90,20,1,0,0,48,0,0,120,0,0,252,0,1,206,0, - 3,3,0,2,1,0,0,0,0,255,255,192,62,3,192,28, - 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, - 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, - 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, - 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,28, - 84,20,1,0,3,142,0,3,142,0,3,142,0,0,0,0, - 0,0,0,255,255,192,62,3,192,28,0,192,28,0,64,28, - 0,64,28,0,0,28,0,0,28,0,0,28,1,0,28,1, - 0,28,3,0,31,255,0,28,3,0,28,1,0,28,1,0, - 28,0,0,28,0,0,28,0,32,28,0,32,28,0,96,28, - 0,192,62,3,192,255,255,192,9,30,60,11,1,0,96,0, - 112,0,56,0,12,0,6,0,3,0,0,0,255,128,62,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,62,0,255,128,9,30,60,11,1,0, - 1,128,3,128,7,0,12,0,24,0,48,0,0,0,255,128, - 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,10,30,60,11, - 1,0,12,0,30,0,63,0,115,128,192,192,128,64,0,0, - 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,62,0,255,128,9,28, - 56,11,1,0,227,128,227,128,227,128,0,0,0,0,255,128, - 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,62,0,255,128,22,23,69,24, - 1,0,255,254,0,62,7,128,28,1,192,28,0,224,28,0, - 112,28,0,112,28,0,56,28,0,56,28,0,60,28,0,60, - 28,0,60,255,192,60,255,192,60,28,0,60,28,0,60,28, - 0,56,28,0,56,28,0,112,28,0,112,28,0,224,28,1, - 192,62,7,128,255,254,0,22,29,87,24,1,0,0,224,128, - 1,249,128,3,63,0,2,14,0,0,0,0,0,0,0,248, - 1,252,60,0,112,30,0,32,31,0,32,31,0,32,23,128, - 32,19,192,32,19,192,32,17,224,32,16,240,32,16,248,32, - 16,120,32,16,60,32,16,30,32,16,31,32,16,15,32,16, - 7,160,16,3,224,16,1,224,16,1,224,16,0,224,56,0, - 96,254,0,32,22,30,90,24,1,0,3,0,0,3,128,0, - 1,192,0,0,96,0,0,48,0,0,24,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,30,90,24,1,0,0,1,128,0,3,128, - 0,7,0,0,12,0,0,24,0,0,48,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,30,90,24,1,0,0,48,0,0,120,0, - 0,252,0,1,206,0,3,3,0,2,1,0,0,0,0,1, - 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, - 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, - 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, - 128,1,254,0,22,28,84,24,1,0,0,224,128,1,249,128, - 3,63,0,2,14,0,0,0,0,1,254,0,7,135,128,14, - 1,192,28,0,224,56,0,112,56,0,112,112,0,56,112,0, - 56,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, - 240,0,60,240,0,60,112,0,56,112,0,56,56,0,112,56, - 0,112,28,0,224,14,1,192,7,135,128,1,254,0,22,28, - 84,24,1,0,1,199,0,1,199,0,1,199,0,0,0,0, - 0,0,0,1,254,0,7,135,128,14,1,192,28,0,224,56, - 0,112,56,0,112,112,0,56,112,0,56,240,0,60,240,0, - 60,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, - 112,0,56,112,0,56,56,0,112,56,0,112,28,0,224,14, - 1,192,7,135,128,1,254,0,16,16,32,19,1,0,64,2, - 224,7,112,14,56,28,28,56,14,112,7,224,3,192,3,192, - 7,224,14,112,28,56,56,28,112,14,224,7,64,2,22,27, - 81,24,1,254,0,0,16,0,0,48,1,254,96,7,135,192, - 14,1,192,28,1,224,56,3,112,56,2,112,112,6,56,112, - 12,56,240,8,60,240,24,60,240,48,60,240,96,60,240,64, - 60,240,192,60,240,128,60,113,128,56,115,0,56,58,0,112, - 62,0,112,28,0,224,30,1,192,55,135,128,33,254,0,96, - 0,0,64,0,0,22,30,90,24,1,0,0,192,0,0,224, - 0,0,112,0,0,24,0,0,12,0,0,6,0,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,30,90,24,1,0,0,1,128,0,3, - 128,0,7,0,0,12,0,0,24,0,0,48,0,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,30,90,24,1,0,0,24,0,0,60, - 0,0,126,0,0,231,0,1,129,128,1,0,128,0,0,0, - 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, - 195,128,1,254,0,22,28,84,24,1,0,1,199,0,1,199, - 0,1,199,0,0,0,0,0,0,0,255,129,252,62,0,112, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,96, - 30,0,96,14,0,64,15,0,192,7,195,128,1,254,0,22, - 30,90,24,1,0,0,0,192,0,1,192,0,3,128,0,6, - 0,0,12,0,0,24,0,0,0,0,255,192,252,63,0,56, - 30,0,48,15,0,96,15,128,192,7,128,128,3,193,128,3, - 195,0,1,227,0,0,246,0,0,252,0,0,124,0,0,56, - 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, - 0,56,0,0,56,0,0,56,0,0,124,0,1,255,0,18, - 23,69,19,1,0,255,128,0,62,0,0,28,0,0,28,0, - 0,28,0,0,31,252,0,28,31,0,28,7,128,28,3,128, - 28,3,192,28,1,192,28,1,192,28,1,192,28,3,192,28, - 3,128,28,7,128,28,31,0,31,252,0,28,0,0,28,0, - 0,28,0,0,62,0,0,255,128,0,15,23,46,17,1,0, - 7,192,12,112,24,56,24,56,56,56,56,56,56,56,56,56, - 56,48,56,96,57,192,56,120,56,28,56,30,56,14,56,14, - 56,14,56,14,56,14,59,12,59,156,59,152,249,240,13,23, - 46,15,1,0,24,0,28,0,14,0,3,0,1,128,0,192, - 0,0,0,0,31,128,49,192,112,224,112,224,96,224,3,224, - 14,224,24,224,48,224,96,224,224,224,225,224,242,232,126,248, - 60,112,13,23,46,15,1,0,0,192,1,192,3,128,6,0, - 12,0,24,0,0,0,0,0,31,128,49,192,112,224,112,224, - 96,224,3,224,14,224,24,224,48,224,96,224,224,224,225,224, - 242,232,126,248,60,112,13,23,46,15,1,0,6,0,15,0, - 31,128,57,192,96,96,64,32,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, - 28,16,62,48,99,224,65,192,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, - 56,224,56,224,56,224,0,0,0,0,0,0,31,128,49,192, - 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, - 224,224,225,224,242,232,126,248,60,112,13,23,46,15,1,0, - 7,0,15,128,24,192,16,64,24,192,15,128,7,0,0,0, - 31,128,49,192,112,224,112,224,96,224,3,224,14,224,24,224, - 48,224,96,224,224,224,225,224,242,232,126,248,60,112,19,15, - 45,22,1,0,31,159,0,49,249,192,112,224,192,112,224,224, - 96,224,224,3,255,224,14,224,0,24,224,0,48,224,0,96, - 224,0,224,224,32,225,240,96,243,120,192,126,63,128,60,31, - 0,12,22,44,15,1,249,15,128,56,192,112,224,96,224,224, - 96,192,0,192,0,192,0,192,0,224,0,224,16,112,48,124, - 96,63,192,15,0,4,0,12,0,15,0,3,128,1,128,3, - 128,31,0,12,23,46,15,1,0,48,0,56,0,28,0,6, - 0,3,0,1,128,0,0,0,0,15,128,57,192,96,224,96, - 112,192,112,255,240,192,0,192,0,192,0,224,0,224,16,112, - 48,124,96,63,192,15,0,12,23,46,15,1,0,1,128,3, - 128,7,0,12,0,24,0,48,0,0,0,0,0,15,128,57, - 192,96,224,96,112,192,112,255,240,192,0,192,0,192,0,224, - 0,224,16,112,48,124,96,63,192,15,0,12,23,46,15,1, - 0,6,0,15,0,31,128,57,192,96,96,64,32,0,0,0, - 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, - 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,12, - 21,42,15,1,0,56,224,56,224,56,224,0,0,0,0,0, - 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, - 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,7, - 23,23,9,1,0,192,224,112,24,12,6,0,0,24,248,56, - 56,56,56,56,56,56,56,56,56,56,56,254,7,23,23,9, - 1,0,6,14,28,48,96,192,0,0,24,248,56,56,56,56, - 56,56,56,56,56,56,56,56,254,10,23,46,9,0,0,12, - 0,30,0,63,0,115,128,192,192,128,64,0,0,0,0,12, - 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,127,0,9,21,42, - 9,0,0,227,128,227,128,227,128,0,0,0,0,0,0,12, - 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,127,0,14,23,46, - 17,1,0,16,0,56,0,28,112,15,240,15,0,127,128,49, - 192,0,224,7,240,24,240,48,120,112,56,96,60,224,28,224, - 28,224,28,224,28,224,28,112,24,112,56,56,48,28,96,7, - 128,16,21,42,16,0,0,14,8,31,24,49,240,32,224,0, - 0,0,0,24,240,251,248,62,60,60,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,254, - 127,14,23,46,16,1,0,24,0,28,0,14,0,3,0,1, - 128,0,192,0,0,0,0,7,128,24,224,48,112,112,56,96, - 56,224,28,224,28,224,28,224,28,224,28,112,24,112,56,56, - 48,28,96,7,128,14,23,46,16,1,0,0,192,1,192,3, - 128,6,0,12,0,24,0,0,0,0,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,112, - 24,112,56,56,48,28,96,7,128,14,23,46,16,1,0,3, - 0,7,128,15,192,28,224,48,48,32,16,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, - 16,1,0,28,16,62,48,99,224,65,192,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, - 16,1,0,56,224,56,224,56,224,0,0,0,0,0,0,7, - 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, - 28,224,28,112,24,112,56,56,48,28,96,7,128,16,17,34, - 19,1,0,1,128,3,192,3,192,1,128,0,0,0,0,0, - 0,255,255,255,255,0,0,0,0,0,0,0,0,1,128,3, - 192,3,192,1,128,14,21,42,17,1,253,0,24,0,16,0, - 48,7,160,24,224,48,240,112,184,97,184,225,28,225,28,227, - 28,226,28,230,28,116,24,116,56,60,48,28,96,31,128,48, - 0,32,0,96,0,16,23,46,17,0,0,12,0,14,0,7, - 0,1,128,0,192,0,96,0,0,0,0,248,124,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,60,60,124,31,223,15,152,16,23,46,17,0,0,0, - 96,0,224,1,192,3,0,6,0,12,0,0,0,0,0,248, - 124,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,60,60,124,31,223,15,152,16,23,46, - 17,0,0,1,128,3,192,7,224,14,112,24,24,16,8,0, - 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, - 152,16,21,42,17,0,0,28,112,28,112,28,112,0,0,0, - 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, - 152,15,30,60,17,0,249,0,24,0,56,0,112,0,192,1, - 128,3,0,0,0,0,0,254,30,120,12,56,12,60,8,28, - 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, - 192,1,128,1,128,1,128,1,0,3,0,2,0,62,0,124, - 0,56,0,15,30,60,17,0,249,24,0,248,0,56,0,56, - 0,56,0,56,0,56,0,56,0,57,240,59,248,62,124,60, - 28,56,30,56,14,56,14,56,14,56,14,56,14,56,12,56, - 28,60,24,62,48,59,224,56,0,56,0,56,0,56,0,56, - 0,56,0,255,0,15,28,56,17,1,249,28,112,28,112,28, - 112,0,0,0,0,0,0,254,30,120,12,56,12,60,8,28, - 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, - 192,1,128,1,128,1,0,1,0,3,0,2,0,62,0,124, - 0,56,0}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 0, '1' Height: 23 - Calculated Max Values w=16 h=26 x= 4 y=10 dx=19 dy= 0 ascent=23 len=52 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 - Pure Font ascent =23 descent= 0 - X Font ascent =23 descent= 0 - Max Font ascent =23 descent=-3 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24n[717] U8G_FONT_SECTION("u8g_font_timR24n") = { - 0,38,48,251,245,23,0,0,0,0,42,58,0,23,253,23, - 0,12,13,26,17,2,10,6,0,15,0,6,0,198,48,246, - 240,118,224,15,0,118,224,246,240,198,48,6,0,15,0,6, - 0,16,16,32,19,1,1,1,128,1,128,1,128,1,128,1, - 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, - 128,1,128,1,128,1,128,4,7,7,8,2,253,96,240,240, - 112,16,32,64,8,2,2,11,1,7,255,255,4,4,4,8, - 2,0,96,240,240,96,10,26,52,9,0,253,0,192,0,192, - 1,128,1,128,3,128,3,0,3,0,3,0,6,0,6,0, - 6,0,14,0,12,0,12,0,28,0,24,0,24,0,24,0, - 48,0,48,0,48,0,112,0,96,0,96,0,192,0,192,0, - 14,23,46,16,1,0,7,128,28,224,56,112,48,48,112,56, - 112,56,96,24,224,28,224,28,224,28,224,28,224,28,224,28, - 224,28,224,28,224,28,224,24,112,56,112,56,48,48,56,112, - 28,224,7,128,9,23,46,16,4,0,12,0,28,0,124,0, - 220,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,15,23,46,16,0,0,7,224, - 15,240,28,248,48,60,32,60,96,28,64,28,0,28,0,28, - 0,24,0,56,0,48,0,96,0,96,0,192,1,128,3,0, - 6,0,12,2,24,6,63,252,127,248,255,248,12,23,46,16, - 2,0,15,128,63,192,97,224,192,224,128,224,0,224,0,192, - 0,192,1,128,3,0,7,192,31,224,1,240,0,112,0,112, - 0,48,0,48,0,48,0,112,0,96,224,192,243,128,127,0, - 14,23,46,16,1,0,0,96,0,224,0,224,1,224,1,96, - 3,96,6,96,4,96,12,96,24,96,16,96,48,96,96,96, - 64,96,255,252,255,252,255,252,0,96,0,96,0,96,0,96, - 0,96,0,96,13,23,46,16,1,0,15,248,31,240,31,224, - 16,0,48,0,32,0,126,0,127,128,127,192,7,224,1,224, - 0,240,0,112,0,112,0,48,0,48,0,48,0,48,0,96, - 0,96,224,192,243,128,126,0,14,23,46,16,1,0,0,120, - 1,192,3,128,15,0,30,0,28,0,56,0,120,0,112,0, - 115,192,247,240,248,120,224,56,224,60,224,28,224,28,224,28, - 224,28,112,28,112,24,56,56,28,96,7,192,14,23,46,16, - 1,0,63,252,127,252,96,24,192,24,128,56,0,48,0,48, - 0,48,0,96,0,96,0,96,0,224,0,192,0,192,1,192, - 1,128,1,128,1,128,3,0,3,0,3,0,7,0,6,0, - 13,23,46,16,2,0,31,128,56,224,112,112,224,48,224,48, - 224,48,224,112,240,96,124,192,63,0,31,128,15,192,27,224, - 113,240,96,240,224,120,192,120,192,56,192,56,224,56,96,112, - 112,224,31,192,14,23,46,16,1,0,7,128,24,224,48,112, - 112,56,96,56,224,28,224,28,224,28,224,28,224,28,240,28, - 112,28,120,60,62,252,15,184,0,56,0,112,0,112,0,224, - 1,192,3,128,15,0,120,0,4,15,15,9,2,0,96,240, - 240,96,0,0,0,0,0,0,0,96,240,240,96}; -/* - Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 - Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. - Capital A Height: 23, '1' Height: 23 - Calculated Max Values w=31 h=30 x= 4 y=17 dx=32 dy= 0 ascent=25 len=112 - Font Bounding box w=38 h=48 x=-5 y=-11 - Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 - Pure Font ascent =23 descent=-7 - X Font ascent =23 descent=-7 - Max Font ascent =25 descent=-7 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_timR24r[4764] U8G_FONT_SECTION("u8g_font_timR24r") = { - 0,38,48,251,245,23,5,140,13,213,32,127,249,25,249,23, - 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, - 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, - 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, - 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, - 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, - 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, - 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, - 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, - 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, - 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, - 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, - 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, - 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, - 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, - 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, - 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, - 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, - 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, - 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, - 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, - 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, - 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, - 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, - 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, - 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, - 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, - 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, - 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, - 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, - 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, - 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, - 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, - 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, - 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, - 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, - 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, - 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, - 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, - 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, - 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, - 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, - 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, - 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, - 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, - 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, - 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, - 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, - 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, - 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, - 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, - 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, - 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, - 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, - 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, - 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, - 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, - 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, - 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, - 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, - 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, - 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, - 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, - 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, - 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, - 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, - 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, - 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, - 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, - 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, - 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, - 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, - 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, - 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, - 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, - 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, - 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, - 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, - 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, - 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, - 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, - 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, - 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, - 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, - 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, - 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, - 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, - 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, - 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, - 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, - 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, - 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, - 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, - 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, - 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, - 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, - 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, - 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, - 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, - 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, - 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, - 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, - 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, - 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, - 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, - 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, - 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, - 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, - 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, - 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, - 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, - 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, - 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, - 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, - 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, - 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, - 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, - 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, - 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, - 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, - 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, - 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, - 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, - 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, - 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, - 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, - 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, - 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, - 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, - 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, - 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, - 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, - 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, - 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, - 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, - 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, - 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, - 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, - 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, - 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, - 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, - 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, - 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, - 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, - 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, - 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, - 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, - 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, - 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, - 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, - 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, - 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, - 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, - 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, - 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, - 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, - 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, - 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, - 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, - 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, - 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, - 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, - 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, - 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, - 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, - 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, - 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, - 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, - 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, - 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, - 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, - 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, - 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, - 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, - 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, - 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, - 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, - 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, - 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, - 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, - 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, - 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, - 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, - 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, - 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, - 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, - 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, - 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, - 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, - 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, - 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, - 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, - 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, - 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, - 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, - 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, - 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, - 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, - 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, - 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, - 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, - 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, - 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, - 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, - 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, - 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, - 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, - 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, - 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, - 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, - 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, - 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, - 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, - 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, - 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, - 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, - 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, - 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, - 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, - 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, - 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, - 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, - 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, - 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, - 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, - 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, - 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, - 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, - 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, - 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, - 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, - 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, - 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, - 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, - 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, - 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, - 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, - 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, - 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, - 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, - 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, - 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, - 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, - 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, - 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, - 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, - 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, - 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, - 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, - 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, - 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, - 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, - 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, - 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, - 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, - 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, - 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, - 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, - 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, - 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, - 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, - 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, - 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, - 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, - 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, - 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, - 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, - 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, - 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, - 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, - 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, - 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, - 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, - 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, - 18,1,7,62,3,127,135,225,254,192,124,255}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=11 h=13 x= 1 y=10 dx=12 dy= 0 ascent=13 len=18 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssb[2656] U8G_FONT_SECTION("u8g_font_tpssb") = { - 0,11,17,0,252,9,1,205,3,159,32,255,252,13,252,9, - 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, - 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, - 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, - 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, - 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, - 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, - 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, - 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, - 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, - 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, - 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, - 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, - 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, - 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, - 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, - 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, - 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, - 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, - 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, - 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, - 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, - 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, - 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, - 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, - 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, - 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, - 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, - 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, - 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, - 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, - 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, - 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, - 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, - 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, - 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, - 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, - 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, - 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, - 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, - 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, - 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, - 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, - 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, - 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, - 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, - 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, - 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, - 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, - 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, - 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, - 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, - 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, - 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, - 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, - 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, - 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, - 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, - 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, - 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, - 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, - 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, - 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, - 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, - 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, - 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, - 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, - 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, - 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, - 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, - 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, - 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, - 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, - 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, - 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, - 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, - 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, - 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, - 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, - 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, - 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, - 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, - 184,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,255,2,9,9,3,0,0,192,192,0,192,192,192,192, - 192,192,5,7,7,7,1,0,32,112,168,160,168,112,32,6, - 9,9,7,0,0,192,192,248,192,192,192,204,204,252,5,5, - 5,7,1,1,136,112,80,112,136,6,9,9,8,1,0,204, - 204,120,48,48,120,48,120,48,2,9,9,4,1,0,192,192, - 192,0,0,0,192,192,192,8,10,10,10,1,0,124,192,126, - 195,126,3,3,3,195,62,5,1,1,7,1,3,216,9,7, - 14,11,1,0,62,0,65,0,221,128,209,128,221,128,65,0, - 62,0,7,8,8,9,1,0,120,204,204,204,204,126,0,254, - 7,3,3,9,1,2,102,204,102,5,3,3,7,1,1,248, - 248,24,255,9,7,14,11,1,0,62,0,65,0,221,128,209, - 128,209,128,65,0,62,0,5,1,1,6,0,6,248,3,3, - 3,5,1,2,224,160,224,5,7,7,7,1,0,32,32,248, - 32,32,0,248,255,255,255,255,255,255,255,255,255,7,3,3, - 9,1,2,204,102,204,255,255,255,255,6,12,12,7,0,0, - 96,48,0,120,204,204,252,204,204,204,204,204,6,12,12,7, - 0,0,24,48,0,120,204,204,252,204,204,204,204,204,6,12, - 12,7,0,0,48,72,0,120,204,204,252,204,204,204,204,204, - 6,12,12,7,0,0,232,184,0,120,204,204,252,204,204,204, - 204,204,6,11,11,7,0,0,72,0,120,204,204,252,204,204, - 204,204,204,6,13,13,7,0,0,48,72,48,0,120,204,204, - 252,204,204,204,204,204,11,9,18,12,0,0,127,224,206,0, - 206,0,255,192,206,0,206,0,206,0,206,0,207,224,6,11, - 11,7,0,254,120,204,192,192,192,192,192,204,120,48,96,6, - 12,12,7,0,0,96,48,0,252,192,192,248,192,192,192,192, - 252,6,12,12,7,0,0,24,48,0,252,192,192,248,192,192, - 192,192,252,6,12,12,7,0,0,48,72,0,252,192,192,248, - 192,192,192,192,252,6,11,11,7,0,0,204,0,252,192,192, - 248,192,192,192,192,252,3,12,12,4,0,0,192,96,0,96, - 96,96,96,96,96,96,96,96,3,12,12,4,0,0,96,192, - 0,192,192,192,192,192,192,192,192,192,4,12,12,5,0,0, - 96,144,0,96,96,96,96,96,96,96,96,96,6,11,11,7, - 0,0,204,0,48,48,48,48,48,48,48,48,48,6,9,9, - 7,0,0,248,204,204,236,204,204,204,204,248,6,12,12,7, - 0,0,232,184,0,204,236,252,220,204,204,204,204,204,6,12, - 12,7,0,0,96,48,0,120,204,204,204,204,204,204,204,120, - 6,12,12,7,0,0,24,48,0,120,204,204,204,204,204,204, - 204,120,6,12,12,7,0,0,48,72,0,120,204,204,204,204, - 204,204,204,120,6,12,12,7,0,0,232,184,0,120,204,204, - 204,204,204,204,204,120,6,11,11,7,0,0,204,0,120,204, - 204,204,204,204,204,204,120,3,3,3,6,1,2,160,64,160, - 6,9,9,7,0,0,120,204,220,220,236,236,236,204,120,6, - 12,12,7,0,0,96,48,0,204,204,204,204,204,204,204,204, - 120,6,12,12,7,0,0,24,48,0,204,204,204,204,204,204, - 204,204,120,6,12,12,7,0,0,48,72,0,204,204,204,204, - 204,204,204,204,120,6,11,11,7,0,0,204,0,204,204,204, - 204,204,204,204,204,120,6,12,12,7,0,0,24,48,0,204, - 204,120,48,48,48,48,48,48,7,9,9,8,0,0,192,192, - 252,198,252,192,192,192,192,7,11,11,8,0,254,252,198,220, - 198,198,198,220,192,192,192,192,6,9,9,7,0,0,96,48, - 0,120,204,204,204,204,124,6,9,9,7,0,0,24,48,0, - 120,204,204,204,204,124,6,9,9,7,0,0,48,72,0,120, - 204,204,204,204,124,6,9,9,7,0,0,232,184,0,120,204, - 204,204,204,124,6,8,8,7,0,0,204,0,120,204,204,204, - 204,124,6,10,10,7,0,0,48,72,48,0,120,204,204,204, - 204,124,9,6,12,11,1,0,127,128,136,128,143,128,136,0, - 136,128,127,128,6,8,8,7,0,254,120,204,192,192,204,120, - 48,96,6,9,9,7,0,0,96,48,0,120,204,252,192,204, - 120,6,9,9,7,0,0,24,48,0,120,204,252,192,204,120, - 6,9,9,7,0,0,48,72,0,120,204,252,192,204,120,6, - 8,8,7,0,0,204,0,120,204,252,192,204,120,3,12,12, - 4,0,0,192,96,0,96,96,96,96,96,96,96,96,96,3, - 12,12,4,0,0,96,192,0,192,192,192,192,192,192,192,192, - 192,4,12,12,5,0,0,96,144,0,96,96,96,96,96,96, - 96,96,96,6,11,11,7,0,0,204,0,48,48,48,48,48, - 48,48,48,48,6,9,9,7,0,0,12,60,12,124,204,204, - 204,204,124,6,9,9,7,0,0,232,184,0,248,236,204,204, - 204,204,6,9,9,7,0,0,96,48,0,120,204,204,204,204, - 120,6,9,9,7,0,0,24,48,0,120,204,204,204,204,120, - 6,9,9,7,0,0,48,72,0,120,204,204,204,204,120,6, - 9,9,7,0,0,232,184,0,120,204,204,204,204,120,6,8, - 8,7,0,0,204,0,120,204,204,204,204,120,6,6,6,7, - 0,1,48,0,252,252,0,48,6,6,6,7,0,0,120,220, - 220,236,236,120,6,9,9,7,0,0,96,48,0,204,204,204, - 204,204,120,6,9,9,7,0,0,24,48,0,204,204,204,204, - 204,120,6,9,9,7,0,0,48,72,0,204,204,204,204,204, - 120,6,8,8,7,0,0,204,0,204,204,204,204,204,120,6, - 13,13,7,0,252,24,48,0,204,204,204,204,204,124,12,12, - 204,120,6,6,6,7,0,0,192,248,204,248,192,192,6,12, - 12,7,0,252,204,0,204,204,204,204,204,124,12,12,204,120 - }; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 6 h= 9 x= 1 y= 3 dx= 8 dy= 0 ascent= 9 len= 9 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssbn[240] U8G_FONT_SECTION("u8g_font_tpssbn") = { - 0,11,17,0,252,9,0,0,0,0,42,58,0,9,255,9, - 0,5,7,7,7,1,1,32,168,112,32,112,168,32,6,6, - 6,8,1,1,48,48,252,252,48,48,3,2,2,5,1,255, - 96,192,5,2,2,7,1,3,248,248,2,1,1,4,1,0, - 192,6,9,9,8,1,0,12,24,24,48,48,48,96,96,192, - 6,9,9,7,0,0,120,204,204,204,204,204,204,204,120,6, - 9,9,7,0,0,48,112,240,48,48,48,48,48,252,6,9, - 9,7,0,0,120,204,204,12,24,48,96,192,252,6,9,9, - 7,0,0,120,204,12,56,12,12,12,204,120,6,9,9,7, - 0,0,12,204,204,252,12,12,12,12,12,6,9,9,7,0, - 0,252,192,192,248,12,12,12,204,120,6,9,9,7,0,0, - 120,204,192,248,204,204,204,204,120,6,9,9,7,0,0,252, - 12,24,48,96,96,96,96,96,6,9,9,7,0,0,120,204, - 204,120,204,204,204,204,120,6,9,9,7,0,0,120,204,204, - 204,124,12,12,204,120,2,4,4,4,1,0,192,0,0,192 - }; -/* - Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w=10 h=13 x= 1 y=10 dx=12 dy= 0 ascent=12 len=18 - Font Bounding box w=11 h=17 x= 0 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssbr[1346] U8G_FONT_SECTION("u8g_font_tpssbr") = { - 0,11,17,0,252,9,1,205,3,159,32,127,252,12,252,9, - 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, - 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, - 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, - 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, - 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, - 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, - 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, - 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, - 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, - 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, - 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, - 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, - 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, - 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, - 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, - 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, - 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, - 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, - 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, - 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, - 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, - 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, - 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, - 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, - 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, - 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, - 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, - 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, - 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, - 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, - 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, - 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, - 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, - 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, - 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, - 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, - 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, - 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, - 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, - 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, - 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, - 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, - 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, - 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, - 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, - 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, - 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, - 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, - 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, - 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, - 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, - 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, - 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, - 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, - 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, - 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, - 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, - 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, - 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, - 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, - 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, - 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, - 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, - 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, - 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, - 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, - 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, - 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, - 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, - 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, - 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, - 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, - 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, - 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, - 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, - 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, - 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, - 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, - 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, - 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, - 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, - 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, - 184,255}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=13 len=18 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =13 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpss[2605] U8G_FONT_SECTION("u8g_font_tpss") = { - 0,11,17,255,252,9,1,192,3,136,32,255,252,13,252,9, - 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, - 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, - 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, - 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, - 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, - 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, - 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, - 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, - 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, - 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, - 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, - 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, - 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, - 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, - 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, - 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, - 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, - 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, - 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, - 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, - 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, - 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, - 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, - 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, - 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, - 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, - 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, - 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, - 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, - 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, - 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, - 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, - 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, - 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, - 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, - 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, - 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, - 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, - 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, - 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, - 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, - 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, - 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, - 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, - 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, - 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, - 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, - 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, - 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, - 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, - 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, - 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, - 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, - 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, - 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, - 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, - 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, - 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, - 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, - 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, - 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, - 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, - 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, - 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, - 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, - 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, - 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, - 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, - 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, - 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, - 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, - 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, - 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, - 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, - 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, - 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, - 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, - 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, - 0,10,232,184,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,255,1,9,9,2,0,0,128,128,0,128, - 128,128,128,128,128,5,7,7,7,1,0,32,112,168,160,168, - 112,32,5,9,9,7,1,0,128,128,240,128,128,128,136,136, - 248,5,5,5,7,1,1,136,112,80,112,136,5,9,9,7, - 1,0,136,136,80,32,32,248,32,248,32,1,9,9,3,1, - 0,128,128,128,0,0,0,128,128,128,6,10,10,8,1,0, - 120,128,120,132,120,4,4,4,132,120,5,1,1,7,1,3, - 136,7,7,7,9,1,0,124,130,186,162,186,130,124,6,8, - 8,8,1,0,112,136,136,136,136,116,0,252,5,3,3,7, - 1,2,72,144,72,5,2,2,7,1,2,248,8,0,0,0, - 8,0,0,7,7,7,9,1,0,124,130,186,162,162,130,124, - 5,1,1,6,0,6,248,3,3,3,5,1,2,64,160,64, - 5,7,7,7,1,0,32,32,248,32,32,0,248,255,255,255, - 0,0,0,8,0,0,255,0,0,0,8,0,0,255,255,255, - 5,3,3,7,1,2,144,72,144,255,255,255,255,5,12,12, - 6,0,0,64,32,0,112,136,136,248,136,136,136,136,136,5, - 12,12,6,0,0,16,32,0,112,136,136,248,136,136,136,136, - 136,5,12,12,6,0,0,32,80,0,112,136,136,248,136,136, - 136,136,136,5,12,12,6,0,0,232,184,0,112,136,136,248, - 136,136,136,136,136,5,11,11,6,0,0,80,0,112,136,136, - 248,136,136,136,136,136,5,13,13,6,0,0,32,80,32,0, - 112,136,136,248,136,136,136,136,136,9,9,18,10,0,0,127, - 128,136,0,136,0,255,0,136,0,136,0,136,0,136,0,143, - 128,5,9,9,6,0,254,112,136,128,128,128,136,112,32,96, - 5,12,12,6,0,0,64,32,0,248,128,128,240,128,128,128, - 128,248,5,12,12,6,0,0,16,32,0,248,128,128,240,128, - 128,128,128,248,5,12,12,6,0,0,32,80,0,248,128,128, - 240,128,128,128,128,248,5,11,11,6,0,0,80,0,248,128, - 128,240,128,128,128,128,248,2,12,12,2,0,0,128,64,0, - 64,64,64,64,64,64,64,64,64,2,12,12,2,0,0,64, - 128,0,128,128,128,128,128,128,128,128,128,3,12,12,2,255, - 0,64,160,0,64,64,64,64,64,64,64,64,64,3,11,11, - 2,255,0,160,0,64,64,64,64,64,64,64,64,64,5,9, - 9,6,0,0,240,136,136,232,136,136,136,136,240,5,12,12, - 6,0,0,232,184,0,136,136,136,200,168,152,136,136,136,5, - 12,12,6,0,0,64,32,0,112,136,136,136,136,136,136,136, - 112,5,12,12,6,0,0,16,32,0,112,136,136,136,136,136, - 136,136,112,5,12,12,6,0,0,32,80,0,112,136,136,136, - 136,136,136,136,112,5,12,12,6,0,0,232,184,0,112,136, - 136,136,136,136,136,136,112,5,11,11,6,0,0,80,0,112, - 136,136,136,136,136,136,136,112,3,3,3,6,1,2,160,64, - 160,7,9,9,8,0,0,58,68,76,84,84,84,100,68,184, - 5,12,12,6,0,0,64,32,0,136,136,136,136,136,136,136, - 136,112,5,12,12,6,0,0,16,32,0,136,136,136,136,136, - 136,136,136,112,5,12,12,6,0,0,32,80,0,136,136,136, - 136,136,136,136,136,112,5,11,11,6,0,0,80,0,136,136, - 136,136,136,136,136,136,112,5,12,12,6,0,0,16,32,0, - 136,136,80,32,32,32,32,32,32,5,9,9,6,0,0,128, - 128,240,136,240,128,128,128,128,5,11,11,6,0,254,240,136, - 176,136,136,136,176,128,128,128,128,5,9,9,6,0,0,64, - 32,0,112,136,136,136,136,120,5,9,9,6,0,0,16,32, - 0,112,136,136,136,136,120,5,9,9,6,0,0,32,80,0, - 112,136,136,136,136,120,5,9,9,6,0,0,232,184,0,112, - 136,136,136,136,120,5,8,8,6,0,0,80,0,112,136,136, - 136,136,120,5,10,10,6,0,0,32,80,32,0,112,136,136, - 136,136,120,9,6,12,10,0,0,119,0,136,128,143,128,136, - 0,136,128,119,0,5,8,8,6,0,254,112,136,128,128,136, - 112,32,64,5,6,6,6,0,0,112,136,248,128,136,112,5, - 6,6,6,0,0,112,136,248,128,136,112,5,6,6,6,0, - 0,112,136,248,128,136,112,5,6,6,6,0,0,112,136,248, - 128,136,112,2,10,10,3,0,0,128,64,0,0,64,64,64, - 64,64,64,2,10,10,3,0,0,64,128,0,0,128,128,128, - 128,128,128,3,10,10,4,0,0,64,160,0,0,64,64,64, - 64,64,64,3,9,9,4,0,0,160,0,0,64,64,64,64, - 64,64,5,9,9,6,0,0,8,56,8,120,136,136,136,136, - 120,5,9,9,6,0,0,232,184,0,176,200,136,136,136,136, - 5,9,9,6,0,0,64,32,0,112,136,136,136,136,112,5, - 9,9,6,0,0,16,32,0,112,136,136,136,136,112,5,9, - 9,6,0,0,32,80,0,112,136,136,136,136,112,5,9,9, - 6,0,0,232,184,0,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,1, - 32,0,248,0,32,5,6,6,6,0,0,112,152,168,168,200, - 112,5,9,9,6,0,0,64,32,0,136,136,136,136,136,112, - 5,9,9,6,0,0,16,32,0,136,136,136,136,136,112,5, - 9,9,6,0,0,32,80,0,136,136,136,136,136,112,5,8, - 8,6,0,0,80,0,136,136,136,136,136,112,5,13,13,6, - 0,252,16,32,0,136,136,136,136,136,120,8,8,136,112,5, - 6,6,5,0,0,128,240,136,240,128,128,5,12,12,6,0, - 252,80,0,136,136,136,136,136,120,8,8,136,112}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 0, '1' Height: 9 - Calculated Max Values w= 5 h= 9 x= 1 y= 3 dx= 7 dy= 0 ascent= 9 len= 9 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 9 descent= 0 - X Font ascent = 9 descent= 0 - Max Font ascent = 9 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssn[238] U8G_FONT_SECTION("u8g_font_tpssn") = { - 0,11,17,255,252,9,0,0,0,0,42,58,0,9,255,9, - 0,5,7,7,7,1,1,32,168,112,32,112,168,32,5,5, - 5,7,1,1,32,32,248,32,32,2,2,2,4,1,255,64, - 128,5,1,1,7,1,3,248,1,1,1,3,1,0,128,5, - 9,9,7,1,0,8,16,16,32,32,32,64,64,128,5,9, - 9,6,0,0,112,136,136,136,136,136,136,136,112,5,9,9, - 6,0,0,32,96,160,32,32,32,32,32,248,5,9,9,6, - 0,0,112,136,136,8,16,32,64,128,248,5,9,9,6,0, - 0,112,136,8,48,8,8,8,136,112,5,9,9,6,0,0, - 8,136,136,248,8,8,8,8,8,5,9,9,6,0,0,248, - 128,128,248,8,8,8,136,112,5,9,9,6,0,0,112,136, - 128,240,136,136,136,136,112,5,9,9,6,0,0,248,8,16, - 32,64,64,64,64,64,5,9,9,6,0,0,112,136,136,112, - 136,136,136,136,112,5,9,9,6,0,0,112,136,136,136,120, - 8,8,136,112,1,4,4,3,1,0,128,0,0,128}; -/* - Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 - Copyright: www.orgdot.com - Capital A Height: 9, '1' Height: 9 - Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=12 len=16 - Font Bounding box w=11 h=17 x=-1 y=-4 - Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 - Pure Font ascent = 9 descent=-4 - X Font ascent = 9 descent=-4 - Max Font ascent =12 descent=-4 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_tpssr[1317] U8G_FONT_SECTION("u8g_font_tpssr") = { - 0,11,17,255,252,9,1,192,3,136,32,127,252,12,252,9, - 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, - 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, - 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, - 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, - 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, - 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, - 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, - 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, - 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, - 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, - 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, - 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, - 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, - 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, - 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, - 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, - 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, - 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, - 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, - 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, - 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, - 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, - 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, - 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, - 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, - 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, - 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, - 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, - 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, - 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, - 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, - 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, - 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, - 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, - 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, - 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, - 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, - 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, - 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, - 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, - 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, - 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, - 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, - 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, - 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, - 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, - 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, - 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, - 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, - 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, - 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, - 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, - 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, - 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, - 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, - 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, - 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, - 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, - 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, - 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, - 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, - 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, - 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, - 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, - 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, - 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, - 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, - 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, - 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, - 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, - 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, - 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, - 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, - 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, - 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, - 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, - 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, - 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, - 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, - 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, - 0,10,232,184,255}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 7 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_square[1236] U8G_FONT_SECTION("u8g_font_trixel_square") = { - 0,5,9,0,254,5,1,91,2,177,32,255,254,7,254,5, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, - 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, - 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, - 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, - 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, - 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, - 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, - 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, - 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, - 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, - 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, - 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, - 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, - 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, - 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, - 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, - 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, - 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, - 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, - 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, - 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, - 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, - 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, - 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, - 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, - 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, - 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, - 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, - 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, - 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, - 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, - 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, - 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, - 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, - 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, - 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, - 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, - 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, - 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, - 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, - 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, - 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, - 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, - 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, - 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, - 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, - 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, - 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, - 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, - 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, - 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, - 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, - 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, - 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, - 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, - 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, - 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, - 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, - 128,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,255,255,255,4,5,5,5,0,0,112,64,96,64,240, - 255,255,255,3,7,7,4,0,254,224,128,224,160,224,32,224, - 255,255,255,3,2,2,4,0,1,160,160,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,3,2,2,4,0,1, - 160,160,255,255,255,255,255,255,255,255,3,7,7,4,0,0, - 160,0,224,160,224,160,160,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,3,7,7,4,0,0,160,0, - 224,160,160,160,224,255,255,255,255,255,3,7,7,4,0,0, - 160,0,160,160,160,160,224,255,255,3,7,7,4,0,254,224, - 160,224,160,224,128,128,255,255,255,255,4,5,5,5,0,0, - 160,0,224,160,240,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,3,5,5,4,0,0,160,0,224,160, - 224,255,255,255,255,255,3,5,5,4,0,0,160,0,160,160, - 224,255,255,255}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 0, '1' Height: 5 - Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 5 descent= 0 - X Font ascent = 5 descent= 0 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[187] U8G_FONT_SECTION("u8g_font_trixel_squaren") = { - 0,5,9,0,254,5,0,0,0,0,42,58,0,5,255,5, - 0,3,3,3,4,0,2,160,64,160,3,3,3,4,0,0, - 64,224,64,1,2,2,2,0,255,128,128,3,1,1,4,0, - 1,224,1,1,1,2,0,0,128,3,5,5,4,0,0,32, - 96,64,192,128,3,5,5,4,0,0,224,160,160,160,224,2, - 5,5,3,0,0,64,192,64,64,64,3,5,5,4,0,0, - 224,160,96,192,224,3,5,5,4,0,0,224,32,96,32,224, - 3,5,5,4,0,0,160,160,224,32,32,3,5,5,4,0, - 0,224,128,224,32,224,3,5,5,4,0,0,224,128,224,160, - 224,3,5,5,4,0,0,224,32,32,32,32,3,5,5,4, - 0,0,224,160,224,160,224,3,5,5,4,0,0,224,160,224, - 32,224,1,3,3,2,0,0,128,0,128}; -/* - Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 - Copyright: Copyright julischka 2008 - Capital A Height: 5, '1' Height: 5 - Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 5 h= 9 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 5 descent=-2 - X Font ascent = 5 descent=-2 - Max Font ascent = 6 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[994] U8G_FONT_SECTION("u8g_font_trixel_squarer") = { - 0,5,9,0,254,5,1,91,2,177,32,127,254,6,254,5, - 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, - 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, - 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, - 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, - 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, - 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, - 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, - 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, - 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, - 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, - 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, - 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, - 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, - 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, - 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, - 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, - 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, - 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, - 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, - 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, - 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, - 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, - 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, - 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, - 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, - 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, - 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, - 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, - 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, - 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, - 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, - 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, - 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, - 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, - 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, - 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, - 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, - 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, - 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, - 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, - 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, - 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, - 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, - 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, - 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, - 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, - 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, - 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, - 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, - 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, - 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, - 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, - 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, - 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, - 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, - 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, - 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, - 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, - 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, - 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, - 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, - 128,255}; -/* - Fontname: u8glib_4 - Copyright: public domain - Capital A Height: 4, '1' Height: 4 - Calculated Max Values w= 8 h= 7 x= 1 y= 4 dx= 9 dy= 0 ascent= 6 len= 7 - Font Bounding box w= 9 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 6 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_FONT_SECTION("u8g_font_u8glib_4") = { - 1,9,6,0,255,4,0,233,1,198,32,255,255,6,255,5, - 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, - 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, - 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, - 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, - 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, - 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, - 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, - 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, - 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, - 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, - 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, - 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, - 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, - 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, - 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, - 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, - 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, - 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, - 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, - 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, - 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, - 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, - 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, - 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, - 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, - 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, - 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, - 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, - 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, - 2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68, - 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, - 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, - 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, - 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, - 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, - 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, - 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, - 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, - 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, - 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, - 2,69,85,240,144,144,144,240,2,0,32,2,53,69,160,0, - 160,160,224,2,54,70,64,128,0,224,192,224,2,54,70,64, - 160,0,96,160,224,2,53,69,160,0,96,160,224,2,54,70, - 64,32,0,96,160,224,2,54,70,64,160,64,96,160,224,1, - 36,52,192,128,192,192,2,54,70,64,160,0,224,192,224,2, - 53,69,160,0,224,192,224,2,54,70,64,32,0,224,192,224, - 2,52,68,160,0,64,64,2,53,149,64,160,0,64,64,2, - 37,53,128,64,0,64,64,2,69,85,144,96,144,240,144,2, - 70,86,96,144,96,144,240,144,2,70,86,32,64,240,224,128, - 240,2,83,99,120,176,248,2,132,148,31,46,120,143,2,54, - 70,64,160,0,224,160,224,2,53,69,160,0,224,160,224,2, - 54,70,128,64,0,224,160,224,2,54,70,64,160,0,160,160, - 224,2,54,70,64,32,0,160,160,224,1,54,70,160,0,160, - 224,32,96,2,69,85,144,96,144,144,96,2,69,85,144,0, - 144,144,240,2,0,64,2,0,64,2,0,64,2,0,64,2, - 0,64,2,54,70,64,128,0,96,160,224,2,37,53,64,128, - 0,128,128,2,54,70,32,64,0,224,160,224,2,54,70,32, - 64,0,160,160,224,2,70,70,80,160,0,192,160,160,2,70, - 86,80,160,144,208,176,144,2,21,37,128,128,0,128,128,1, - 54,70,224,128,224,224,32,224,6,65,81,144,1,119,151,124, - 130,186,162,186,130,124,2,0,144,2,51,67,96,192,96,3, - 50,66,224,32,2,0,144,1,119,151,124,130,186,178,170,130, - 124,6,65,81,240,4,51,67,224,160,224,2,52,148,64,224, - 64,224,4,51,67,192,64,96,4,35,51,192,64,192,5,34, - 50,64,128,1,52,148,160,160,224,128,1,101,117,124,244,116, - 20,20,19,17,49,128,2,0,144,4,35,51,192,64,64,4, - 51,67,224,160,224,2,51,67,192,96,192,1,118,134,196,72, - 80,40,78,132,1,118,134,196,72,80,44,68,134,1,118,150, - 196,72,208,40,78,132,2,0,64,2,70,86,64,32,96,144, - 240,144,2,70,86,32,64,96,144,240,144,2,70,86,96,144, - 96,144,240,144,2,70,86,80,160,96,144,240,144,2,69,85, - 144,96,144,240,144,2,70,86,96,0,96,144,240,144,2,132, - 148,31,46,120,143,1,69,85,240,128,240,32,96,2,70,86, - 64,32,240,224,128,240,2,70,86,32,64,240,224,128,240,2, - 70,86,96,144,240,224,128,240,2,70,86,144,0,240,224,128, - 240,2,38,54,128,64,128,128,128,128,2,38,54,64,128,64, - 64,64,64,2,54,70,64,160,64,64,64,64,2,53,69,160, - 64,64,64,64,2,84,100,112,232,72,112,2,70,86,80,160, - 0,144,208,176,2,70,86,64,32,96,144,144,96,2,70,86, - 32,64,96,144,144,96,2,70,86,96,144,96,144,144,96,2, - 70,86,80,160,96,144,144,96,2,69,85,144,96,144,144,96, - 2,51,67,160,64,160,1,102,118,4,56,88,104,112,128,2, - 70,86,64,32,144,144,144,240,2,70,86,32,64,144,144,144, - 240,2,70,86,96,144,0,144,144,240,2,69,85,144,0,144, - 144,240,2,70,86,32,64,144,240,16,240,1,70,86,128,224, - 144,144,224,128,1,53,69,192,192,160,192,128,2,54,70,64, - 32,0,96,160,224,2,54,70,64,128,0,96,160,224,2,54, - 70,64,160,0,96,160,224,2,70,70,80,160,0,96,160,224, - 2,53,69,160,0,96,160,224,2,54,70,64,160,64,96,160, - 224,2,83,99,120,176,248,1,36,52,192,128,192,192,2,54, - 70,64,32,0,224,160,192,2,54,70,64,128,0,224,160,192, - 2,54,70,64,160,0,224,160,192,2,53,69,160,0,224,160, - 192,2,37,53,128,64,0,64,64,2,37,53,64,128,0,128, - 128,2,53,69,64,160,0,64,64,2,52,68,160,0,64,64, - 2,70,86,96,96,16,112,144,96,2,70,70,80,160,0,192, - 160,160,2,54,70,64,32,0,224,160,224,2,54,70,64,128, - 0,224,160,224,2,54,70,64,160,0,224,160,224,2,70,70, - 80,160,0,224,160,224,2,53,69,160,0,224,160,224,2,53, - 69,64,0,224,0,64,1,85,101,8,112,80,112,128,2,54, - 70,64,32,0,160,160,224,2,54,70,64,128,0,160,160,224, - 2,54,70,64,160,0,160,160,224,2,53,69,160,0,160,160, - 224,1,55,71,64,128,0,160,224,32,96,1,53,69,128,192, - 160,192,128,1,54,70,160,0,160,224,32,96}; -/* - Fontname: u8glib_4 - Copyright: public domain - Capital A Height: 4, '1' Height: 4 - Calculated Max Values w= 5 h= 6 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 6 - Font Bounding box w= 9 h= 6 x= 0 y=-1 - Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 - Pure Font ascent = 4 descent=-1 - X Font ascent = 5 descent=-1 - Max Font ascent = 5 descent=-1 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_FONT_SECTION("u8g_font_u8glib_4r") = { - 1,9,6,0,255,4,0,233,1,198,32,127,255,5,255,5, - 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, - 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, - 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, - 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, - 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, - 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, - 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, - 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, - 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, - 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, - 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, - 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, - 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, - 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, - 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, - 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, - 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, - 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, - 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, - 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, - 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, - 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, - 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, - 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, - 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, - 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, - 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, - 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, - 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, - 2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68, - 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, - 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, - 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, - 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, - 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, - 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, - 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, - 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, - 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, - 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, - 2,69,85,240,144,144,144,240}; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_0_10[5136] U8G_FONT_SECTION("u8g_font_unifont_0_10") = { - 0,16,16,0,254,10,5,43,7,25,10,255,254,14,254,11, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,65,241,193,0,65,241,193,0,125,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,69,241,196,64,68,65,168,64,16, - 65,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,125,241,193, - 0,125,241,193,0,65,1,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,61,225,193,16,65,225,193,32,61,17,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,60,225,193,16,57,17,133, - 16,120,225,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,61, - 241,192,64,56,65,132,64,121,241,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,57,202,32,74,57,202,32,115,185,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,113,137,202,24,74, - 9,202,8,113,157,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,113,153,202,4,74,9,202,16,113,157,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,113,153,202,4,74,25,202,4,113, - 153,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,133,202, - 12,74,21,202,28,113,133,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,73,147,234,84,106,89,219,212,74,83,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,52,83,194,154,49,23,137, - 18,113,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,123, - 185,193,36,121,57,193,36,121,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,51,37,196,180,71,173,196,164,52,165,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,125,17,193,176,125, - 81,193,16,125,17,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,58,93,194,82,50,93,138,82,113,157,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,121,207,194,16,121,145,192,80,123, - 143,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,121,193,194, - 0,121,129,192,64,67,129,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,193,194,0,89,129,200,64,59,129,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,113,193,202,0,113,129,208, - 64,75,129,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,73, - 193,202,0,73,129,200,64,51,129,128,0,0,1,128,0,0, - 1,128,0,85,85,0,0,0,8,0,14,1,10,10,8,4, - 0,128,128,128,128,128,128,128,0,128,128,5,4,4,8,2, - 8,136,136,136,136,6,10,10,8,1,0,36,36,36,252,72, - 72,252,144,144,144,7,10,10,8,1,0,16,124,146,144,112, - 28,18,146,124,16,7,10,10,8,1,0,98,148,148,104,16, - 16,44,82,82,140,7,10,10,8,1,0,56,68,68,68,56, - 114,138,132,140,114,1,4,4,8,4,8,128,128,128,128,3, - 12,12,8,3,255,32,64,64,128,128,128,128,128,128,64,64, - 32,3,12,12,8,2,255,128,64,64,32,32,32,32,32,32, - 64,64,128,7,7,7,8,1,1,16,146,84,56,84,146,16, - 7,7,7,8,1,1,16,16,16,254,16,16,16,2,4,4, - 8,3,254,192,64,64,128,6,1,1,8,1,4,252,2,2, - 2,8,3,0,192,192,6,10,10,8,1,0,4,4,8,16, - 16,32,32,64,128,128,6,10,10,8,1,0,48,72,132,132, - 132,132,132,132,72,48,5,10,10,8,2,0,32,96,160,32, - 32,32,32,32,32,248,6,10,10,8,1,0,120,132,132,4, - 24,32,64,128,128,252,6,10,10,8,1,0,120,132,132,4, - 56,4,4,132,132,120,6,10,10,8,1,0,8,24,40,72, - 136,136,252,8,8,8,6,10,10,8,1,0,252,128,128,128, - 248,4,4,4,132,120,6,10,10,8,1,0,56,64,128,128, - 248,132,132,132,132,120,6,10,10,8,1,0,252,4,4,8, - 8,8,16,16,16,16,6,10,10,8,1,0,120,132,132,132, - 120,132,132,132,132,120,6,10,10,8,1,0,120,132,132,132, - 124,4,4,4,8,112,2,7,7,8,3,1,192,192,0,0, - 0,192,192,2,9,9,8,3,255,192,192,0,0,0,192,64, - 64,128,5,9,9,8,2,0,8,16,32,64,128,64,32,16, - 8,6,5,5,8,1,2,252,0,0,0,252,5,9,9,8, - 1,0,128,64,32,16,8,16,32,64,128,6,10,10,8,1, - 0,120,132,132,4,8,16,16,0,16,16,6,10,10,8,1, - 0,56,68,148,172,164,164,164,156,64,60,6,10,10,8,1, - 0,48,72,72,132,132,252,132,132,132,132,6,10,10,8,1, - 0,248,132,132,132,248,132,132,132,132,248,6,10,10,8,1, - 0,120,132,132,128,128,128,128,132,132,120,6,10,10,8,1, - 0,240,136,132,132,132,132,132,132,136,240,6,10,10,8,1, - 0,252,128,128,128,248,128,128,128,128,252,6,10,10,8,1, - 0,252,128,128,128,248,128,128,128,128,128,6,10,10,8,1, - 0,120,132,132,128,128,156,132,132,140,116,6,10,10,8,1, - 0,132,132,132,132,252,132,132,132,132,132,5,10,10,8,2, - 0,248,32,32,32,32,32,32,32,32,248,7,10,10,8,1, - 0,62,8,8,8,8,8,8,136,136,112,6,10,10,8,1, - 0,132,136,144,160,192,192,160,144,136,132,6,10,10,8,1, - 0,128,128,128,128,128,128,128,128,128,252,6,10,10,8,1, - 0,132,132,204,204,180,180,132,132,132,132,6,10,10,8,1, - 0,132,196,196,164,164,148,148,140,140,132,6,10,10,8,1, - 0,120,132,132,132,132,132,132,132,132,120,6,10,10,8,1, - 0,248,132,132,132,248,128,128,128,128,128,7,11,11,8,1, - 255,120,132,132,132,132,132,132,180,204,120,6,6,10,10,8, - 1,0,248,132,132,132,248,144,136,136,132,132,6,10,10,8, - 1,0,120,132,132,128,96,24,4,132,132,120,7,10,10,8, - 1,0,254,16,16,16,16,16,16,16,16,16,6,10,10,8, - 1,0,132,132,132,132,132,132,132,132,132,120,7,10,10,8, - 1,0,130,130,130,68,68,68,40,40,16,16,6,10,10,8, - 1,0,132,132,132,132,180,180,204,204,132,132,6,10,10,8, - 1,0,132,132,72,72,48,48,72,72,132,132,7,10,10,8, - 1,0,130,130,68,68,40,16,16,16,16,16,6,10,10,8, - 1,0,252,4,4,8,16,32,64,128,128,252,3,12,12,8, - 4,255,224,128,128,128,128,128,128,128,128,128,128,224,6,10, - 10,8,1,0,128,128,64,32,32,16,16,8,4,4,3,12, - 12,8,1,255,224,32,32,32,32,32,32,32,32,32,32,224, - 6,3,3,8,1,9,48,72,132,7,1,1,8,1,255,254, - 3,3,3,8,2,10,128,64,32,6,8,8,8,1,0,120, - 132,4,124,132,132,140,116,6,11,11,8,1,0,128,128,128, - 184,196,132,132,132,132,196,184,6,8,8,8,1,0,120,132, - 128,128,128,128,132,120,6,11,11,8,1,0,4,4,4,116, - 140,132,132,132,132,140,116,6,8,8,8,1,0,120,132,132, - 252,128,128,132,120,5,11,11,8,1,0,24,32,32,32,248, - 32,32,32,32,32,32,6,11,11,8,1,254,4,116,136,136, - 136,112,64,120,132,132,120,6,11,11,8,1,0,128,128,128, - 184,196,132,132,132,132,132,132,5,11,11,8,2,0,32,32, - 0,96,32,32,32,32,32,32,248,5,13,13,8,1,254,8, - 8,0,24,8,8,8,8,8,8,8,144,96,6,10,10,8, - 1,0,128,128,136,144,160,192,160,144,136,132,5,10,10,8, - 2,0,96,32,32,32,32,32,32,32,32,248,7,8,8,8, - 1,0,236,146,146,146,146,146,146,146,6,8,8,8,1,0, - 184,196,132,132,132,132,132,132,6,8,8,8,1,0,120,132, - 132,132,132,132,132,120,6,10,10,8,1,254,184,196,132,132, - 132,132,196,184,128,128,6,10,10,8,1,254,116,140,132,132, - 132,132,140,116,4,4,6,8,8,8,1,0,184,196,132,128, - 128,128,128,128,6,8,8,8,1,0,120,132,128,96,24,4, - 132,120,5,10,10,8,1,0,32,32,248,32,32,32,32,32, - 32,24,6,8,8,8,1,0,132,132,132,132,132,132,140,116, - 6,8,8,8,1,0,132,132,132,72,72,72,48,48,7,8, - 8,8,1,0,130,146,146,146,146,146,146,108,6,8,8,8, - 1,0,132,132,72,48,48,72,132,132,6,10,10,8,1,254, - 132,132,132,132,132,76,52,4,4,120,6,8,8,8,1,0, - 252,4,8,16,32,64,128,252,3,12,12,8,3,255,96,128, - 128,64,64,128,128,64,64,128,128,96,1,14,14,8,4,254, - 128,128,128,128,128,128,128,128,128,128,128,128,128,128,3,12, - 12,8,2,255,192,32,32,64,64,32,32,64,64,32,32,192, - 7,3,3,8,1,8,98,146,140,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,115,209,202,16,75,209,202, - 16,115,223,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,113, - 157,202,82,115,211,194,82,66,93,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,73,157,202,82,122,93,202,80,73,145,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,115,147,202,82,115, - 159,202,18,114,19,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,75,147,234,82,91,159,202,82,75,147,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,116,185,166,164,37,165,164,164,116, - 185,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,209,234, - 16,91,209,202,16,75,223,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,205,194,18,49,159,136,82,115,147,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,121,205,194,18,121,159,192, - 82,123,147,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, - 157,201,32,121,25,201,4,73,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,75,185,201,8,121,9,201,8,73,49,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,69,205,196,144,68, - 137,168,132,16,153,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,114,29,202,18,114,19,194,18,67,221,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,114,19,202,18,114,19,194,18,67, - 205,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,14,33,137, - 32,14,33,138,32,9,33,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,57,221,194,2,49,141,136,80,115,159,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,57,221,194,2,49,141,136, - 66,115,157,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,113, - 207,202,16,74,13,202,2,113,221,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,69,202,76,114,69,194,68,65,143,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,114,93,202,66,114, - 77,194,80,65,159,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,59,157,193,32,49,25,137,4,113,57,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,211,194,18,66,31,194,18,57, - 211,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,69,17,237, - 16,85,81,197,176,69,17,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,59,141,194,82,51,159,138,18,114,19,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,123,141,194,82,123,159,194, - 18,122,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 143,194,80,50,77,138,66,113,157,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,51,155,196,34,37,163,148,162,99,155,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,57,221,194,8,50, - 9,138,8,113,221,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,221,194,8,65,137,192,72,59,157,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,14,249,144,32,12,33,130,32,28, - 33,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,49,207,202, - 16,73,145,200,80,51,143,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,33,203,96,114,161,194,32,66,33,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,51,143,202,80,123,145,202, - 16,74,15,128,0,0,1,128,0,0,1,128,0,85,85,0, - 0,0,8,0,14,1,10,10,8,4,0,128,128,0,128,128, - 128,128,128,128,128,7,10,10,8,1,0,16,16,124,146,144, - 144,146,124,16,16,7,10,10,8,1,0,28,32,32,32,248, - 32,32,32,124,194,6,8,8,8,1,1,132,72,120,72,72, - 120,72,132,7,10,10,8,1,0,130,68,40,16,254,16,254, - 16,16,16,1,10,10,8,4,0,128,128,128,128,0,0,128, - 128,128,128,6,10,10,8,1,0,120,132,128,120,132,132,120, - 4,132,120,4,2,2,8,2,12,144,144,8,10,10,8,0, - 0,60,66,153,165,161,161,165,153,66,60,5,7,7,8,2, - 5,112,8,120,136,120,0,248,6,9,9,8,1,0,36,36, - 72,72,144,72,72,36,36,6,4,4,8,1,0,252,4,4, - 4,6,1,1,8,1,4,252,8,10,10,8,0,0,60,66, - 185,165,165,185,169,165,66,60,6,1,1,8,1,11,252,3, - 4,4,8,2,10,64,160,160,64,7,9,9,8,1,1,16, - 16,16,254,16,16,16,0,254,5,7,7,8,2,5,112,136, - 8,112,128,128,248,5,7,7,8,2,5,112,136,8,112,8, - 136,112,3,3,3,8,3,10,32,64,128,5,8,8,8,2, - 254,136,136,136,136,216,168,128,128,6,12,12,8,1,255,124, - 244,244,244,244,116,20,20,20,20,20,28,2,2,2,8,3, - 4,192,192,3,2,2,8,2,254,32,192,3,7,7,8,2, - 5,32,96,160,32,32,32,32,5,7,7,8,2,5,112,136, - 136,136,112,0,248,6,9,9,8,1,0,144,144,72,72,36, - 72,72,144,144,6,10,10,8,1,0,68,196,72,80,80,36, - 44,84,156,132,6,10,10,8,1,0,68,196,72,80,80,40, - 52,68,136,156,6,10,10,8,1,0,196,36,72,48,208,36, - 44,84,156,132,6,10,10,8,1,0,16,16,0,16,16,96, - 132,132,132,120,6,14,14,8,1,0,96,24,0,0,48,72, - 72,132,132,252,132,132,132,132,6,14,14,8,1,0,24,96, - 0,0,48,72,72,132,132,252,132,132,132,132,6,14,14,8, - 1,0,48,72,0,0,48,72,72,132,132,252,132,132,132,132, - 6,14,14,8,1,0,100,152,0,0,48,72,72,132,132,252, - 132,132,132,132,6,14,14,8,1,0,72,72,0,0,48,72, - 72,132,132,252,132,132,132,132,6,14,14,8,1,0,48,72, - 48,0,48,72,72,132,132,252,132,132,132,132,7,10,10,8, - 1,0,62,80,144,144,254,144,144,144,144,158,6,12,12,8, - 1,254,120,132,132,128,128,128,128,132,132,120,16,96,6,14, - 14,8,1,0,96,24,0,0,252,128,128,128,248,128,128,128, - 128,252,6,14,14,8,1,0,24,96,0,0,252,128,128,128, - 248,128,128,128,128,252,6,14,14,8,1,0,48,72,0,0, - 252,128,128,128,248,128,128,128,128,252,6,14,14,8,1,0, - 72,72,0,0,252,128,128,128,248,128,128,128,128,252,5,14, - 14,8,2,0,96,24,0,0,248,32,32,32,32,32,32,32, - 32,248,5,14,14,8,2,0,48,192,0,0,248,32,32,32, - 32,32,32,32,32,248,5,14,14,8,2,0,96,144,0,0, - 248,32,32,32,32,32,32,32,32,248,5,14,14,8,2,0, - 144,144,0,0,248,32,32,32,32,32,32,32,32,248,7,10, - 10,8,0,0,120,68,66,66,242,66,66,66,68,120,6,14, - 14,8,1,0,100,152,0,0,132,196,196,164,164,148,148,140, - 140,132,6,14,14,8,1,0,96,24,0,0,120,132,132,132, - 132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,0, - 120,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 48,72,0,0,120,132,132,132,132,132,132,132,132,120,6,14, - 14,8,1,0,100,152,0,0,120,132,132,132,132,132,132,132, - 132,120,6,14,14,8,1,0,72,72,0,0,120,132,132,132, - 132,132,132,132,132,120,6,5,5,8,1,2,132,72,48,72, - 132,6,12,12,8,1,255,4,116,136,140,148,148,164,164,196, - 68,184,128,6,14,14,8,1,0,96,24,0,0,132,132,132, - 132,132,132,132,132,132,120,6,14,14,8,1,0,24,96,0, - 0,132,132,132,132,132,132,132,132,132,120,6,14,14,8,1, - 0,48,72,0,0,132,132,132,132,132,132,132,132,132,120,6, - 14,14,8,1,0,72,72,0,0,132,132,132,132,132,132,132, - 132,132,120,7,14,14,8,1,0,24,96,0,0,130,130,68, - 68,40,16,16,16,16,16,6,11,11,8,1,0,128,128,240, - 136,132,132,136,240,128,128,128,6,10,10,8,1,0,112,136, - 136,136,248,132,132,132,196,184,6,12,12,8,1,0,96,24, - 0,0,120,132,4,124,132,132,140,116,6,12,12,8,1,0, - 24,96,0,0,120,132,4,124,132,132,140,116,6,12,12,8, - 1,0,48,72,0,0,120,132,4,124,132,132,140,116,6,12, - 12,8,1,0,100,152,0,0,120,132,4,124,132,132,140,116, - 6,12,12,8,1,0,72,72,0,0,120,132,4,124,132,132, - 140,116,6,13,13,8,1,0,48,72,48,0,0,120,132,4, - 124,132,132,140,116,7,8,8,8,1,0,124,146,18,126,144, - 144,146,124,6,10,10,8,1,254,120,132,128,128,128,128,132, - 120,16,96,6,12,12,8,1,0,96,24,0,0,120,132,132, - 252,128,128,132,120,6,12,12,8,1,0,24,96,0,0,120, - 132,132,252,128,128,132,120,6,12,12,8,1,0,48,72,0, - 0,120,132,132,252,128,128,132,120,6,12,12,8,1,0,72, - 72,0,0,120,132,132,252,128,128,132,120,5,12,12,8,2, - 0,192,48,0,0,96,32,32,32,32,32,32,248,5,12,12, - 8,2,0,48,192,0,0,96,32,32,32,32,32,32,248,5, - 12,12,8,2,0,96,144,0,0,96,32,32,32,32,32,32, - 248,5,12,12,8,2,0,144,144,0,0,96,32,32,32,32, - 32,32,248,6,12,12,8,1,0,100,24,40,68,4,124,132, - 132,132,132,132,120,6,12,12,8,1,0,100,152,0,0,184, - 196,132,132,132,132,132,132,6,12,12,8,1,0,96,24,0, - 0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,24, - 96,0,0,120,132,132,132,132,132,132,120,6,12,12,8,1, - 0,48,72,0,0,120,132,132,132,132,132,132,120,6,12,12, - 8,1,0,100,152,0,0,120,132,132,132,132,132,132,120,6, - 12,12,8,1,0,72,72,0,0,120,132,132,132,132,132,132, - 120,6,7,7,8,1,1,48,0,0,252,0,0,48,6,10, - 10,8,1,255,4,120,140,148,148,164,164,196,120,128,6,12, - 12,8,1,0,96,24,0,0,132,132,132,132,132,132,140,116, - 6,12,12,8,1,0,24,96,0,0,132,132,132,132,132,132, - 140,116,6,12,12,8,1,0,48,72,0,0,132,132,132,132, - 132,132,140,116,6,12,12,8,1,0,72,72,0,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,254,24,96,0,0, - 132,132,132,132,132,76,52,4,4,120,5,12,12,8,2,254, - 128,128,240,136,136,136,144,160,192,128,128,128,6,14,14,8, - 1,254,72,72,0,0,132,132,132,132,132,76,52,4,4,120 - }; -/* - Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 - Copyright: - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 5 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_0_11[3240] U8G_FONT_SECTION("u8g_font_unifont_0_11") = { - 0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,68,56,114,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,6,1,1,8,1,4,252,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,10,10,8,1,0,128,128, - 136,144,160,192,160,144,136,132,5,10,10,8,2,0,96,32, - 32,32,32,32,32,32,32,248,7,8,8,8,1,0,236,146, - 146,146,146,146,146,146,6,8,8,8,1,0,184,196,132,132, - 132,132,132,132,6,8,8,8,1,0,120,132,132,132,132,132, - 132,120,6,10,10,8,1,254,184,196,132,132,132,132,196,184, - 128,128,6,10,10,8,1,254,116,140,132,132,132,132,140,116, - 4,4,6,8,8,8,1,0,184,196,132,128,128,128,128,128, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,10, - 10,8,1,0,32,32,248,32,32,32,32,32,32,24,6,8, - 8,8,1,0,132,132,132,132,132,132,140,116,6,8,8,8, - 1,0,132,132,132,72,72,72,48,48,7,8,8,8,1,0, - 130,146,146,146,146,146,146,108,6,8,8,8,1,0,132,132, - 72,48,48,72,132,132,6,10,10,8,1,254,132,132,132,132, - 132,76,52,4,4,120,6,8,8,8,1,0,252,4,8,16, - 32,64,128,252,3,12,12,8,3,255,96,128,128,64,64,128, - 128,64,64,128,128,96,1,14,14,8,4,254,128,128,128,128, - 128,128,128,128,128,128,128,128,128,128,3,12,12,8,2,255, - 192,32,32,64,64,32,32,64,64,32,32,192,7,3,3,8, - 1,8,98,146,140,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,115,209,202,16,75,209,202,16,115,223,128, - 0,0,1,128,0,0,1,128,0,85,85,6,10,10,8,1, - 254,184,196,132,132,132,132,132,132,128,128,6,10,10,8,1, - 254,116,140,132,132,132,140,116,4,132,120,4,8,8,8,3, - 0,192,64,64,64,64,64,64,112,7,12,12,8,1,254,16, - 16,148,154,146,146,146,146,178,82,16,16,7,11,11,8,1, - 0,28,34,32,32,248,32,32,32,32,32,32,6,8,8,8, - 1,0,120,132,132,132,132,132,132,120,7,12,12,8,1,254, - 112,144,144,112,28,18,18,18,146,124,16,16,7,10,10,8, - 1,0,128,128,128,136,136,136,136,136,136,118,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 2,7,7,8,3,1,192,192,0,0,0,192,192,6,2,2, - 8,1,1,196,120,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,6,14,14, - 8,1,255,168,84,168,84,168,84,168,84,168,84,168,84,168, - 84,6,14,14,8,1,255,168,84,168,84,168,84,168,84,168, - 84,168,84,168,84,6,14,14,8,1,255,168,84,168,84,168, - 84,168,84,168,84,168,84,168,84,6,14,14,8,1,255,168, - 84,168,84,168,84,168,84,168,84,168,84,168,84,5,4,4, - 8,2,255,32,32,112,136,6,3,3,8,1,9,48,0,204, - 4,6,6,8,2,8,48,192,48,192,48,192,2,3,3,8, - 3,10,192,0,192,4,3,3,8,2,10,176,128,176,3,3, - 3,8,3,255,128,128,96,5,5,5,8,2,9,32,112,248, - 112,32,6,4,4,8,1,9,72,164,148,72,3,3,3,8, - 0,9,192,32,32,2,3,3,8,5,255,64,128,64,4,4, - 4,8,1,254,208,208,16,224,3,3,3,8,3,10,96,128, - 128,3,3,3,8,5,9,96,128,128,5,5,5,8,3,9, - 48,64,152,160,32,8,4,4,8,0,9,66,165,66,36,3, - 4,4,8,5,9,64,160,64,128,4,3,3,8,0,8,80, - 96,128,5,3,3,8,1,254,136,112,32,3,3,3,8,2, - 255,32,32,224,2,3,3,8,3,255,64,128,64,3,3,3, - 8,2,255,32,32,192,5,4,4,8,1,254,40,200,16,96, - 4,5,5,8,2,254,96,128,96,16,96,3,3,3,8,2, - 9,192,32,32,3,4,4,8,1,9,64,160,64,32,5,4, - 4,8,2,254,136,112,32,32,2,3,3,8,2,10,64,128, - 64,3,3,3,8,3,10,32,32,224,3,3,3,8,5,255, - 128,128,96,5,4,4,8,0,9,72,168,168,144,4,4,4, - 8,2,9,96,144,144,96,2,3,3,8,3,255,192,0,192, - 5,3,3,8,2,255,168,0,72,5,3,3,8,2,255,232, - 0,8,5,3,3,8,2,255,232,64,72,2,2,2,8,3, - 0,192,192,6,2,2,8,1,0,204,204,6,3,3,8,1, - 254,204,0,48,4,1,1,8,2,0,240,5,3,3,8,2, - 254,248,32,32,2,2,2,8,2,10,192,192,2,2,2,8, - 1,10,192,192,5,3,3,8,2,255,128,32,8,2,1,1, - 8,3,5,192,1,3,3,8,4,255,128,128,128,6,2,2, - 8,1,10,124,248,4,1,1,8,2,10,240,1,9,9,8, - 4,0,128,128,128,128,128,128,128,128,128,2,2,2,8,5, - 10,192,192,2,2,2,8,1,10,192,192,3,8,8,8,3, - 0,64,224,64,0,0,64,224,64,2,2,2,8,3,10,192, - 192,2,2,2,8,3,10,192,192,4,9,9,8,2,0,224, - 128,128,128,128,128,128,128,240,5,4,4,8,2,254,248,32, - 32,32,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255, - 168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255, - 168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,6,9,9,8,1,0,132,132,68,36,88,144,136,132, - 132,7,9,9,8,1,0,248,8,8,8,8,8,8,8,254, - 6,9,9,8,1,0,96,16,16,16,8,24,40,68,132,6, - 9,9,8,1,0,252,8,8,8,8,8,8,8,8,6,9, - 9,8,1,0,252,4,4,68,68,68,68,68,68,3,9,9, - 8,2,0,224,32,32,32,32,32,32,32,32,5,9,9,8, - 2,0,192,48,40,32,32,32,32,32,32,6,9,9,8,1, - 0,252,68,68,68,68,68,68,68,68,6,9,9,8,1,0, - 140,148,132,132,132,132,132,132,252,3,4,4,8,2,5,224, - 32,32,32,6,11,11,8,1,254,252,4,4,4,4,4,4, - 4,4,4,4,6,9,9,8,1,0,252,4,4,4,4,4, - 4,4,248,5,11,11,8,2,0,128,128,248,8,8,8,8, - 16,16,32,192,7,9,9,8,0,0,254,34,34,34,34,34, - 34,34,62,7,9,9,8,1,0,156,98,66,130,130,130,130, - 130,142,3,11,11,8,2,254,224,32,32,32,32,32,32,32, - 32,32,32,4,9,9,8,2,0,112,16,16,16,16,16,16, - 16,240,6,9,9,8,1,0,252,132,132,132,132,132,132,136, - 240,7,9,9,8,0,0,18,18,18,18,18,18,18,18,254, - 6,11,11,8,1,254,252,132,132,132,228,4,4,4,4,4, - 4,6,9,9,8,1,0,252,132,132,132,228,4,4,4,252, - 5,11,11,8,2,254,136,136,144,160,192,128,128,128,128,128, - 128,6,9,9,8,1,0,132,132,72,48,16,8,4,4,252, - 6,11,11,8,1,254,252,68,68,72,72,80,64,64,64,64, - 64,6,9,9,8,1,0,252,4,4,4,4,4,4,4,4, - 7,9,9,8,1,0,146,146,146,146,146,146,146,146,254,6, - 9,9,8,1,0,124,68,68,68,68,68,68,68,196,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,6,14,14,8,1,255,168,84,168,84,168,84,168,84, - 168,84,168,84,168,84,6,14,14,8,1,255,168,84,168,84, - 168,84,168,84,168,84,168,84,168,84,6,14,14,8,1,255, - 168,84,168,84,168,84,168,84,168,84,168,84,168,84,6,14, - 14,8,1,255,168,84,168,84,168,84,168,84,168,84,168,84, - 168,84,7,9,9,8,1,0,238,34,34,34,34,34,34,34, - 34,7,9,9,8,1,0,238,34,34,34,2,2,2,2,2, - 7,4,4,8,1,5,238,34,34,34,3,3,3,8,4,9, - 32,64,128,6,3,3,8,1,9,36,72,144,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84,6,14,14,8,1,255,168,84, - 168,84,168,84,168,84,168,84,168,84,168,84,6,14,14,8, - 1,255,168,84,168,84,168,84,168,84,168,84,168,84,168,84, - 6,14,14,8,1,255,168,84,168,84,168,84,168,84,168,84, - 168,84,168,84,6,14,14,8,1,255,168,84,168,84,168,84, - 168,84,168,84,168,84,168,84}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4249] U8G_FONT_SECTION("u8g_font_unifont_0_8") = { - 0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, - 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, - 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, - 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, - 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, - 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, - 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, - 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, - 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, - 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, - 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, - 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, - 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, - 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, - 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, - 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, - 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, - 223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202, - 82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202, - 18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, - 147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91, - 209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123, - 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201, - 32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168, - 132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, - 29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14, - 33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115, - 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202, - 16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194, - 80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, - 157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42, - 169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122, - 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194, - 80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138, - 8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73, - 145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74, - 15,128,0,0,1,128,0,0,1,128,0,85,85,6,13,13, - 8,1,0,96,24,0,252,128,128,128,248,128,128,128,128,252, - 6,14,14,8,1,0,72,72,0,0,252,128,128,128,248,128, - 128,128,128,252,7,10,10,8,1,0,252,32,32,32,60,34, - 34,34,34,44,6,14,14,8,1,0,24,96,0,0,252,128, - 128,128,128,128,128,128,128,128,6,10,10,8,1,0,56,68, - 128,128,248,128,128,128,68,56,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,5,10,10,8,2,0,248,32, - 32,32,32,32,32,32,32,248,5,14,14,8,2,0,144,144, - 0,0,248,32,32,32,32,32,32,32,32,248,6,10,10,8, - 1,0,28,8,8,8,8,8,8,136,136,112,8,10,10,8, - 0,0,120,72,72,72,78,73,73,73,73,142,7,10,10,8, - 1,0,144,144,144,144,252,146,146,146,146,156,7,10,10,8, - 1,0,252,32,32,32,60,34,34,34,34,34,6,14,14,8, - 1,0,24,96,0,0,128,140,144,160,192,192,160,144,136,132, - 6,13,13,8,1,0,96,24,0,132,140,140,148,148,164,164, - 196,196,132,7,14,14,8,1,0,132,132,120,0,130,130,68, - 68,40,40,16,16,32,96,7,12,12,8,1,254,130,130,130, - 130,130,130,130,130,130,254,16,16,6,10,10,8,1,0,48, - 72,72,132,132,252,132,132,132,132,6,10,10,8,1,0,248, - 128,128,128,248,132,132,132,132,248,6,10,10,8,1,0,248, - 132,132,132,248,132,132,132,132,248,6,10,10,8,1,0,252, - 128,128,128,128,128,128,128,128,128,8,12,12,8,0,254,14, - 18,18,18,34,34,34,66,66,255,129,129,6,10,10,8,1, - 0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1, - 0,146,146,84,84,56,56,84,84,146,146,6,10,10,8,1, - 0,120,132,4,4,120,8,4,4,132,120,6,10,10,8,1, - 0,132,140,140,148,148,164,164,196,196,132,6,13,13,8,1, - 0,72,48,0,132,140,140,148,148,164,164,196,196,132,6,10, - 10,8,1,0,140,144,144,160,160,192,160,144,136,132,6,10, - 10,8,1,0,60,36,36,36,36,36,36,68,68,132,6,10, - 10,8,1,0,132,132,204,204,180,180,132,132,132,132,6,10, - 10,8,1,0,132,132,132,132,252,132,132,132,132,132,6,10, - 10,8,1,0,120,132,132,132,132,132,132,132,132,120,6,10, - 10,8,1,0,252,132,132,132,132,132,132,132,132,132,6,10, - 10,8,1,0,248,132,132,132,248,128,128,128,128,128,6,10, - 10,8,1,0,120,132,132,128,128,128,128,132,132,120,7,10, - 10,8,1,0,254,16,16,16,16,16,16,16,16,16,7,10, - 10,8,1,0,130,130,68,68,40,40,16,16,32,96,7,11, - 11,8,1,0,16,124,146,146,146,146,146,124,16,16,16,6, - 10,10,8,1,0,132,132,72,72,48,48,72,72,132,132,7, - 12,12,8,1,254,132,132,132,132,132,132,132,132,132,254,2, - 2,6,10,10,8,1,0,132,132,132,132,132,252,4,4,4, - 4,7,10,10,8,1,0,146,146,146,146,146,146,146,146,146, - 254,8,12,12,8,0,254,146,146,146,146,146,146,146,146,146, - 255,1,1,7,10,10,8,1,0,224,32,32,32,60,34,34, - 34,34,60,6,10,10,8,1,0,132,132,132,132,228,148,148, - 148,148,228,6,10,10,8,1,0,128,128,128,128,248,132,132, - 132,132,248,6,10,10,8,1,0,112,136,4,4,124,4,4, - 4,136,112,6,10,10,8,1,0,152,164,164,164,228,164,164, - 164,164,152,6,10,10,8,1,0,124,132,132,132,124,36,68, - 68,132,132,6,8,8,8,1,0,120,132,4,124,132,132,140, - 116,6,12,12,8,1,0,4,56,64,128,248,132,132,132,132, - 132,132,120,6,8,8,8,1,0,248,132,132,248,132,132,132, - 248,6,8,8,8,1,0,252,128,128,128,128,128,128,128,7, - 9,9,8,1,255,60,36,68,68,132,132,132,254,130,6,8, - 8,8,1,0,120,132,132,252,128,128,132,120,7,8,8,8, - 1,0,146,146,84,56,56,84,146,146,6,8,8,8,1,0, - 120,132,4,120,8,4,132,120,6,8,8,8,1,0,140,140, - 148,148,164,164,196,196,6,12,12,8,1,0,72,48,0,0, - 140,140,148,148,164,164,196,196,6,8,8,8,1,0,140,144, - 160,192,160,144,136,132,6,8,8,8,1,0,60,36,36,36, - 36,68,68,132,6,8,8,8,1,0,132,204,204,180,180,132, - 132,132,6,8,8,8,1,0,132,132,132,252,132,132,132,132, - 6,8,8,8,1,0,120,132,132,132,132,132,132,120,6,8, - 8,8,1,0,252,132,132,132,132,132,132,132,6,10,10,8, - 1,254,184,196,132,132,132,132,196,184,128,128,6,8,8,8, - 1,0,120,132,128,128,128,128,132,120,7,8,8,8,1,0, - 254,16,16,16,16,16,16,16,6,10,10,8,1,254,132,132, - 72,72,48,48,32,32,64,192,7,13,13,8,1,254,16,16, - 16,124,146,146,146,146,146,146,124,16,16,6,8,8,8,1, - 0,132,132,72,48,48,72,132,132,7,10,10,8,1,254,132, - 132,132,132,132,132,132,254,2,2,6,8,8,8,1,0,132, - 132,132,132,252,4,4,4,7,8,8,8,1,0,146,146,146, - 146,146,146,146,254,8,10,10,8,0,254,146,146,146,146,146, - 146,146,255,1,1,7,8,8,8,1,0,224,32,32,60,34, - 34,34,60,6,8,8,8,1,0,132,132,132,228,148,148,148, - 228,6,8,8,8,1,0,128,128,128,248,132,132,132,248,6, - 8,8,8,1,0,112,136,4,124,4,4,136,112,6,8,8, - 8,1,0,152,164,164,228,164,164,164,152,6,8,8,8,1, - 0,124,132,132,132,124,36,68,132,6,12,12,8,1,0,96, - 24,0,0,120,132,132,252,128,128,132,120,6,12,12,8,1, - 0,72,72,0,0,120,132,132,252,128,128,132,120,7,13,13, - 8,0,254,64,240,64,92,98,66,66,66,66,66,66,2,12, - 6,12,12,8,1,0,24,96,0,0,252,128,128,128,128,128, - 128,128,6,8,8,8,1,0,56,68,128,248,128,128,68,56, - 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,11, - 11,8,2,0,32,32,0,96,32,32,32,32,32,32,248,5, - 11,11,8,2,0,144,144,0,96,32,32,32,32,32,32,248, - 5,13,13,8,1,254,8,8,0,24,8,8,8,8,8,8, - 8,144,96,8,8,8,8,0,0,120,72,72,78,73,73,73, - 142,7,8,8,8,1,0,144,144,144,252,146,146,146,156,7, - 11,11,8,0,0,64,240,64,92,98,66,66,66,66,66,66, - 6,12,12,8,1,0,24,96,0,0,140,144,160,192,160,144, - 136,132,6,12,12,8,1,0,96,24,0,0,140,140,148,148, - 164,164,196,196,6,15,15,8,1,254,132,132,120,0,0,132, - 132,72,72,48,48,32,32,64,192,5,10,10,8,2,254,136, - 136,136,136,136,136,136,248,32,32}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 8, '1' Height: 7 - Calculated Max Values w=16 h=16 x= 9 y=11 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 2 - X Font ascent =13 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3987] U8G_FONT_SECTION("u8g_font_unifont_12_13") = { - 0,16,16,0,254,8,4,155,6,11,0,255,2,14,254,13, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,85,85,128, - 0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128, - 4,42,13,170,12,53,245,128,0,0,1,170,170,16,16,32, - 16,0,254,85,85,128,0,0,1,128,0,0,1,128,0,0, - 1,128,0,0,1,142,0,14,25,135,224,0,1,128,0,0, - 1,170,170,16,16,32,16,0,254,85,85,128,0,0,1,128, - 0,0,1,128,0,0,25,128,36,0,69,129,68,1,73,158, - 240,0,1,128,0,0,1,170,170,16,16,32,16,0,254,85, - 85,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0, - 1,128,0,1,149,130,124,2,1,191,0,0,1,170,170,16, - 16,32,16,0,254,85,85,128,0,0,1,136,4,22,25,161, - 224,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128, - 0,0,1,170,170,12,14,28,16,1,255,1,80,225,80,33, - 160,17,0,17,0,9,0,8,0,4,224,4,128,2,128,3, - 0,3,0,2,0,2,0,11,15,30,16,1,255,0,64,0, - 128,225,0,33,64,16,128,17,32,8,192,8,0,4,224,4, - 128,2,128,3,0,3,0,2,0,2,0,12,7,14,16,2, - 3,1,144,58,96,202,192,17,64,16,64,32,128,31,0,5, - 10,10,8,1,1,8,8,80,16,32,32,64,64,136,160,7, - 10,10,8,1,1,8,8,80,16,32,32,64,66,136,160,10, - 10,20,16,3,2,48,0,48,0,6,0,9,0,7,0,1, - 0,14,0,240,128,0,64,0,64,2,4,4,8,3,3,64, - 128,192,192,5,4,4,8,1,2,24,48,64,128,12,4,8, - 16,3,1,112,0,136,0,136,48,127,192,7,11,11,16,2, - 0,24,32,32,24,32,76,82,98,36,88,128,6,4,4,8, - 2,9,24,36,228,88,9,6,12,16,4,7,3,0,4,0, - 39,128,56,0,64,0,128,0,10,5,10,16,3,8,252,64, - 16,64,32,128,71,0,64,0,11,4,8,16,2,9,24,32, - 36,32,228,64,89,128,10,4,8,16,3,8,0,64,254,64, - 1,64,0,128,7,4,4,16,4,9,64,92,98,252,8,6, - 6,16,3,8,40,40,40,104,128,127,3,5,5,16,6,8, - 32,0,32,32,192,4,2,2,16,6,10,48,192,5,5,5, - 16,5,8,16,40,48,96,144,4,13,13,16,6,254,240,0, - 0,0,0,0,0,0,0,0,0,48,192,2,5,5,8,3, - 2,64,128,192,0,192,16,16,32,16,0,254,170,170,0,1, - 128,0,0,1,178,34,74,55,250,42,74,35,203,162,0,1, - 128,0,0,1,128,0,0,1,128,0,85,85,14,14,28,16, - 1,255,255,252,231,156,219,124,219,28,219,108,231,156,255,252, - 255,252,247,28,231,108,247,108,247,108,227,28,255,252,3,3, - 3,16,7,0,64,0,160,7,9,9,8,1,2,124,130,128, - 64,32,16,16,0,16,6,8,8,8,1,255,24,164,144,136, - 112,32,80,32,4,5,5,8,2,2,112,128,240,64,128,7, - 10,10,8,1,3,2,124,128,16,16,16,16,16,16,16,3, - 11,11,8,2,3,96,128,96,128,32,32,32,32,32,32,32, - 6,13,13,8,1,255,24,32,24,32,0,24,36,36,60,4, - 8,144,96,3,12,12,8,3,254,64,64,64,64,64,64,64, - 0,96,128,96,128,6,11,11,8,1,255,48,64,48,64,0, - 140,144,144,140,132,120,1,8,8,8,4,3,128,128,128,128, - 128,128,128,128,6,7,7,8,1,0,8,68,132,120,0,0, - 16,5,8,8,8,2,3,144,0,0,96,144,136,136,112,6, - 7,7,8,1,3,40,0,0,8,68,132,120,6,9,9,8, - 1,3,32,0,80,0,0,8,68,132,120,6,8,8,8,1, - 254,252,32,64,128,144,128,68,56,6,8,8,8,1,254,252, - 32,64,128,128,128,68,56,6,11,11,8,1,254,32,0,0, - 252,32,64,128,128,128,68,56,6,5,5,8,1,3,16,8, - 4,132,248,6,7,7,8,1,3,64,0,16,8,4,132,248, - 6,7,7,8,1,255,8,4,4,4,8,144,96,6,10,10, - 8,1,255,32,0,0,8,4,4,4,8,144,96,7,7,7, - 8,1,255,2,42,42,188,144,144,96,7,12,12,8,1,255, - 16,0,36,0,0,2,42,42,188,144,144,96,7,6,6,8, - 1,0,12,50,156,144,144,96,7,9,9,8,1,0,8,0, - 0,12,50,156,144,144,96,6,8,8,8,1,3,64,64,64, - 64,88,100,68,248,6,8,8,8,1,3,64,72,64,64,88, - 100,68,248,6,9,9,8,1,254,48,72,64,56,64,128,128, - 132,120,6,12,12,8,1,254,16,0,0,48,72,64,56,64, - 128,128,132,120,7,9,9,8,0,3,80,4,8,16,32,64, - 60,130,126,7,12,12,8,0,255,4,8,16,32,64,60,130, - 126,0,40,0,16,6,10,10,8,1,255,64,160,160,8,148, - 144,136,132,132,120,6,9,9,8,1,255,160,0,8,148,144, - 136,132,132,120,6,10,10,8,1,255,64,0,160,8,148,144, - 136,132,132,120,8,1,1,8,0,3,255,6,8,8,8,1, - 3,16,0,12,20,12,132,132,120,6,10,10,8,1,0,72, - 0,0,56,36,20,76,132,136,112,6,8,8,8,1,3,4, - 20,36,20,68,132,132,120,6,11,11,8,1,0,4,4,4, - 4,4,4,68,132,132,136,120,5,8,8,8,2,254,112,24, - 120,128,128,128,128,128,6,9,9,8,1,0,32,0,0,8, - 68,132,132,136,112,10,9,18,16,1,1,4,0,3,0,6, - 128,10,64,10,64,6,64,25,128,96,0,128,0,6,8,8, - 8,1,255,24,36,36,60,4,8,144,96,6,7,7,8,1, - 255,8,148,144,136,132,132,120,6,8,8,8,1,254,8,148, - 144,136,132,120,0,80,4,4,4,8,2,9,48,192,48,192, - 5,5,5,8,2,8,24,24,200,80,224,4,4,4,8,2, - 0,32,192,48,192,4,2,2,8,2,9,48,192,4,6,6, - 8,2,6,64,160,160,112,64,128,4,2,2,8,2,254,48, - 192,5,4,4,8,1,7,8,40,176,192,4,4,4,8,2, - 7,96,144,144,96,7,3,3,8,1,9,2,124,128,3,4, - 4,8,2,10,96,128,96,128,3,4,4,8,2,254,96,128, - 96,128,2,3,3,16,9,254,128,64,64,5,5,5,16,5, - 9,8,16,32,224,96,4,3,3,16,6,9,144,144,96,4, - 1,1,16,6,10,240,5,4,4,16,5,9,136,80,32,32, - 5,4,4,16,5,9,32,32,80,136,2,2,2,16,7,0, - 192,192,5,5,5,16,5,9,96,224,32,16,8,4,4,4, - 16,6,9,144,96,96,144,4,5,5,8,2,254,112,128,240, - 64,128,3,3,3,8,2,5,64,224,64,4,9,9,8,2, - 2,128,128,64,64,32,32,16,16,16,5,9,9,8,2,2, - 136,144,96,64,32,32,16,16,16,7,9,9,8,1,2,146, - 164,120,64,32,32,16,16,16,6,9,9,8,1,2,8,16, - 32,64,48,64,128,132,120,6,9,9,8,1,2,48,72,72, - 132,132,132,132,72,48,7,9,9,8,1,2,128,120,8,8, - 4,4,4,2,2,7,9,9,8,1,2,130,130,68,68,40, - 40,16,16,16,7,9,9,8,1,2,16,16,16,40,40,68, - 68,130,130,7,9,9,8,1,2,48,72,136,152,104,4,4, - 2,2,5,10,10,8,1,2,8,8,144,144,32,32,72,72, - 128,128,4,4,4,8,2,1,16,16,16,224,2,4,4,8, - 3,7,192,192,64,128,7,6,6,8,1,3,16,16,254,56, - 108,68,6,4,4,8,1,3,8,68,132,120,6,7,7,8, - 1,0,56,36,20,76,132,136,112,1,4,4,8,4,7,128, - 128,128,128,5,11,11,8,2,3,16,40,120,128,32,32,32, - 32,32,32,32,6,11,11,8,1,3,12,16,76,176,0,16, - 16,16,16,16,16,6,12,12,8,1,254,16,16,16,16,16, - 16,16,0,12,16,76,176,3,4,4,8,2,10,96,128,96, - 128,5,11,11,8,2,3,24,32,24,32,128,128,128,128,128, - 128,128,7,13,13,8,1,255,6,8,6,8,0,24,36,36, - 60,4,8,144,96,7,13,13,8,1,255,102,104,38,72,128, - 24,36,36,60,4,8,144,96,7,11,11,8,1,255,6,8, - 6,8,0,140,144,144,140,132,120,6,9,9,8,1,3,64, - 64,112,112,0,8,68,132,120,6,9,9,8,1,3,32,0, - 32,0,0,8,68,132,120,6,8,8,8,1,255,8,68,132, - 120,0,16,0,16,6,10,10,8,1,0,40,0,0,8,68, - 132,120,16,40,16,6,9,9,8,1,3,80,0,32,0,0, - 8,68,132,120,6,8,8,8,1,255,8,68,132,120,0,40, - 0,16,6,9,9,8,1,3,80,0,80,0,0,8,68,132, - 120,6,8,8,8,1,255,8,68,132,120,0,40,0,40,6, - 13,13,8,1,254,48,64,48,64,0,252,32,64,128,128,128, - 68,56,6,13,13,8,1,254,32,0,32,0,0,252,32,64, - 128,128,128,68,56,6,8,8,8,1,254,252,32,64,128,168, - 128,68,56,6,8,8,8,1,254,252,32,64,144,128,144,68, - 56,6,13,13,8,1,254,32,0,72,0,0,252,32,64,128, - 128,128,68,56,6,8,8,8,1,254,252,64,128,168,128,144, - 68,56,6,8,8,8,1,254,252,64,128,168,128,168,68,56, - 6,10,10,8,1,3,64,64,112,112,0,16,8,4,132,248, - 6,8,8,8,1,0,16,8,4,132,248,16,40,16,6,7, - 7,8,1,1,16,8,4,132,248,0,16,6,12,12,8,1, - 1,64,64,112,112,0,16,8,4,132,248,0,16,6,8,8, - 8,1,3,80,0,0,16,8,4,132,248,6,7,7,8,1, - 1,16,8,4,132,248,0,80,6,9,9,8,1,3,32,0, - 80,0,16,8,4,132,248,6,9,9,8,1,3,80,0,32, - 0,16,8,4,132,248,6,9,9,8,1,3,80,0,80,0, - 16,8,4,132,248,6,13,13,8,1,255,16,16,28,28,0, - 0,8,4,4,4,8,144,96,7,13,13,8,1,255,34,20, - 8,8,0,0,8,4,4,4,8,144,96,6,8,8,8,1, - 254,8,4,4,4,8,152,116,8,6,7,7,8,1,255,8, - 4,4,4,8,144,100,7,8,8,8,1,254,16,8,8,8, - 16,144,106,4,6,7,7,8,1,255,8,4,4,36,8,144, - 100,6,10,10,8,1,255,36,0,0,8,4,4,4,8,144, - 96,6,12,12,8,1,255,16,0,40,0,0,8,4,4,4, - 8,144,96,6,12,12,8,1,255,36,0,36,0,0,8,4, - 4,4,8,144,96,7,10,10,8,1,0,8,0,0,2,42, - 42,188,144,148,96,7,8,8,8,1,255,2,42,42,188,160, - 170,64,4,7,13,13,8,1,255,16,0,36,0,0,2,42, - 42,188,160,170,64,4,7,6,6,8,1,0,12,50,156,160, - 170,64,7,11,11,8,1,0,16,0,36,0,0,12,50,156, - 144,144,96,6,8,8,8,1,3,72,64,84,64,88,100,68, - 248,6,14,14,8,1,254,32,0,72,0,0,48,72,64,56, - 64,128,128,132,120,6,6,6,8,1,3,12,20,12,132,132, - 120,6,8,8,8,1,1,12,20,12,132,132,120,0,16,6, - 11,11,8,1,1,8,0,0,12,20,12,132,132,120,0,16, - 6,10,10,8,1,3,16,0,36,0,12,20,12,132,132,120, - 6,10,10,8,1,255,12,20,12,132,132,120,0,72,0,32, - 6,10,10,8,1,3,20,0,20,0,12,20,12,132,132,120, - 6,10,10,8,1,0,8,0,0,56,36,20,76,132,136,112, - 6,12,12,8,1,0,32,0,72,0,0,56,36,20,76,132, - 136,112,7,8,8,8,0,3,4,8,16,32,64,60,130,126, - 14,8,16,16,1,3,0,48,0,192,3,0,12,0,16,0, - 15,248,128,4,127,248,7,8,8,8,0,3,4,12,26,36, - 64,60,130,126,6,10,10,8,1,3,16,0,4,20,36,20, - 68,132,132,120,6,11,11,8,1,3,32,0,80,4,20,36, - 20,68,132,132,120,6,12,12,8,1,255,4,20,36,20,68, - 132,132,120,0,40,0,16,7,10,10,8,0,3,8,16,36, - 72,16,32,64,60,130,126,7,10,10,8,0,3,8,16,36, - 76,26,36,64,60,130,126,7,10,10,8,0,3,80,6,24, - 98,12,48,64,60,130,126,7,12,12,8,0,1,8,16,36, - 72,16,32,64,60,130,126,0,40,7,14,14,8,0,255,8, - 16,36,72,16,32,64,60,130,126,0,16,0,16,7,11,11, - 8,0,3,64,0,166,24,98,12,48,64,60,130,126,7,14, - 14,8,1,0,34,20,8,8,0,4,4,4,4,68,132,132, - 136,120,6,13,13,8,1,0,4,0,4,4,4,4,4,4, - 68,132,132,136,120,7,14,14,8,1,0,8,0,18,0,4, - 4,4,4,4,68,132,132,136,120,6,13,13,8,1,254,4, - 4,4,4,4,4,68,132,120,0,40,0,16,6,11,11,8, - 1,254,16,0,0,8,68,132,132,136,112,0,16,6,6,6, - 8,1,0,8,68,132,132,136,112,6,12,12,8,1,0,32, - 32,56,56,0,0,8,68,132,132,136,112,6,11,11,8,1, - 254,16,0,0,8,68,132,132,136,120,20,8,6,11,11,8, - 1,0,32,0,72,0,0,8,68,132,132,136,112,6,6,6, - 8,1,2,32,88,84,52,72,128,6,11,11,8,1,254,32, - 0,0,252,64,128,168,128,144,68,56,4,10,10,8,2,3, - 96,128,96,128,0,64,96,144,144,240,6,3,3,8,1,2, - 32,92,128,6,8,8,8,1,2,48,64,48,64,0,32,92, - 128,6,6,6,8,1,2,80,0,0,32,92,128,6,8,8, - 8,1,255,24,36,36,28,68,164,72,240,6,8,8,8,1, - 255,24,36,36,60,4,56,144,96,6,13,13,8,1,255,68, - 40,16,16,0,24,36,36,60,4,8,144,96,6,14,14,8, - 1,255,32,80,80,56,32,64,152,36,36,60,4,8,144,96, - 6,12,12,8,1,255,16,8,8,0,24,36,36,60,4,8, - 144,96,6,12,12,8,1,255,16,40,68,0,24,36,36,60, - 4,8,144,96,6,11,11,8,1,255,40,0,0,24,36,36, - 60,4,8,144,96,6,13,13,8,1,255,16,0,36,0,0, - 24,36,36,60,4,8,144,96,6,7,7,8,1,255,8,148, - 144,136,132,132,120,7,7,7,8,0,255,4,42,104,164,34, - 34,28,6,12,12,8,1,255,136,80,32,32,0,8,148,144, - 136,132,132,120,6,11,11,8,1,255,16,0,0,24,36,36, - 60,4,8,144,96,6,9,9,8,1,254,24,164,144,136,112, - 0,32,0,32,6,9,9,8,1,254,24,164,144,136,112,0, - 80,0,32,7,6,6,8,1,255,16,40,32,64,128,254,7, - 10,10,8,1,255,96,128,96,128,16,40,32,64,128,254,4, - 1,1,8,2,3,240,4,5,5,8,2,3,64,96,144,144, - 240,11,5,10,16,3,9,16,64,18,224,127,224,128,0,254, - 0,10,5,10,16,3,9,18,64,17,0,127,0,128,0,254, - 0,6,4,4,16,5,9,8,20,60,192,5,5,5,16,4, - 9,136,72,48,16,48,8,5,5,16,3,9,252,32,72,33, - 30,3,3,3,8,4,8,160,0,128,9,4,8,16,4,9, - 18,128,159,128,144,0,96,0,16,16,32,16,0,254,85,85, - 128,0,1,193,134,48,11,233,140,24,16,5,144,4,16,5, - 140,24,11,233,134,48,1,193,128,0,0,1,170,170,15,15, - 30,16,1,254,1,0,2,128,63,248,40,40,48,24,35,136, - 100,76,164,74,100,76,35,136,48,24,40,40,63,248,2,128, - 1,0,3,4,4,16,6,9,96,160,160,96,4,5,5,16, - 6,9,96,144,144,144,96,6,3,3,16,5,10,252,8,96, - 3,5,5,16,6,9,96,224,128,128,64,9,4,8,16,4, - 254,18,128,159,128,144,0,96,0,6,2,2,16,5,10,12, - 240,5,4,4,8,2,9,24,24,16,224,7,4,4,8,1, - 9,32,64,128,254,7,4,4,16,3,9,32,64,128,254,6, - 4,4,16,5,9,16,132,132,124,15,15,30,16,1,254,1, - 0,2,128,5,64,10,160,21,80,42,168,84,84,42,168,42, - 168,42,168,43,168,40,40,47,232,96,12,255,254,5,5,5, - 16,5,9,32,80,136,80,32,5,5,5,16,5,254,32,80, - 136,80,32,2,2,2,16,7,11,192,192,2,4,4,16,7, - 254,192,128,128,64,6,9,9,8,1,3,16,40,68,0,16, - 8,4,132,248,7,11,11,8,1,255,8,20,34,0,8,4, - 4,4,8,144,96,3,3,3,8,2,5,64,224,64,4,9, - 9,8,2,2,128,128,64,64,32,32,16,16,16,5,9,9, - 8,2,2,136,144,96,64,32,32,16,16,16,7,9,9,8, - 1,2,146,164,120,64,32,32,16,16,16,6,9,9,8,1, - 2,48,72,192,228,88,64,32,32,32,7,9,9,8,1,1, - 16,16,40,40,68,68,146,170,198,6,8,8,8,1,2,56, - 68,64,64,48,12,48,192,7,9,9,8,1,2,130,130,68, - 68,40,40,16,16,16,7,9,9,8,1,2,16,16,16,40, - 40,68,68,130,130,7,9,9,8,1,2,48,72,136,152,104, - 4,4,2,2,7,12,12,8,1,0,16,0,36,0,0,2, - 42,42,188,144,148,96,7,9,9,8,1,0,8,0,0,12, - 50,156,144,148,96,6,12,12,8,1,254,16,0,0,48,72, - 64,56,64,144,128,132,120,4,10,10,8,2,254,112,128,240, - 64,128,0,80,80,80,80,6,8,8,8,1,254,56,12,124, - 128,148,148,148,148,10,12,24,16,1,1,4,0,10,0,17, - 0,4,0,3,0,6,128,10,64,10,64,6,64,25,128,96, - 0,128,0}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 3, '1' Height: 12 - Calculated Max Values w=16 h=16 x=12 y=11 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent=-2 - X Font ascent =12 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[7078] U8G_FONT_SECTION("u8g_font_unifont_18_19") = { - 0,16,16,0,254,3,7,121,9,233,0,255,254,14,254,12, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,8,4,4,16,4,9,152,91,35, - 28,2,2,2,16,7,11,192,192,2,5,5,16,12,3,192, - 192,0,192,192,14,15,30,16,2,255,32,0,31,0,0,128, - 57,252,68,192,4,192,12,192,56,192,8,192,135,192,134,192, - 78,192,60,192,0,192,0,64,15,12,24,16,1,255,57,254, - 68,192,4,192,12,192,56,192,8,192,135,192,134,192,78,192, - 60,192,0,192,0,64,15,12,24,16,1,255,57,254,68,204, - 4,204,12,204,56,204,8,204,135,204,134,204,78,204,60,204, - 0,204,0,68,16,13,26,16,0,254,255,255,0,192,0,192, - 15,192,24,0,24,0,15,224,0,48,3,48,5,176,7,224, - 0,64,0,32,16,16,32,16,0,254,3,192,6,32,1,0, - 255,255,0,192,0,192,15,192,24,0,24,0,15,224,0,48, - 3,48,5,176,7,224,0,64,0,32,16,12,24,16,0,255, - 255,255,1,128,0,192,0,192,1,192,15,128,65,128,64,192, - 32,192,16,192,9,192,7,128,16,12,24,16,0,255,255,255, - 1,128,0,192,0,192,1,192,15,156,65,178,64,226,32,194, - 16,198,9,196,7,128,16,13,26,16,0,254,255,255,1,128, - 57,128,101,152,3,152,7,248,31,136,57,136,33,156,1,184, - 1,160,0,160,0,30,16,12,24,16,0,255,255,255,0,32, - 0,32,56,32,116,248,99,204,99,12,48,12,16,120,12,192, - 2,128,0,124,16,16,32,16,0,254,0,152,0,112,0,0, - 255,255,12,48,12,48,12,48,12,48,12,96,4,0,2,0, - 1,128,0,96,0,16,0,24,0,24,16,16,32,16,0,254, - 16,0,15,224,0,16,255,255,12,48,12,48,12,48,12,48, - 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, - 16,13,26,16,0,254,255,255,12,48,12,48,12,48,12,48, - 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, - 16,16,32,16,0,254,15,0,0,128,0,64,255,255,12,48, - 12,48,12,48,12,48,12,96,4,0,2,0,1,128,0,96, - 0,16,0,24,0,24,15,15,30,16,1,255,0,76,0,60, - 0,0,57,254,68,204,4,204,12,204,56,204,8,204,135,204, - 134,204,78,204,60,204,0,204,0,68,15,15,30,16,1,255, - 2,0,1,240,0,8,57,254,68,204,4,204,12,204,56,204, - 8,204,135,204,134,204,78,204,60,204,0,204,0,68,15,15, - 30,16,1,255,1,192,0,32,0,16,57,254,68,204,4,204, - 12,204,56,204,8,204,135,204,134,204,78,204,60,204,0,204, - 0,68,15,15,30,16,1,255,0,224,1,208,0,40,57,254, - 68,204,4,204,12,204,56,204,8,204,135,204,134,204,78,204, - 60,204,0,204,0,68,16,12,24,16,0,255,255,255,1,128, - 1,128,29,128,51,224,35,144,39,152,29,152,1,152,1,152, - 1,128,0,128,16,12,24,16,0,255,255,255,8,24,8,24, - 9,216,59,56,58,24,18,56,17,216,8,24,6,24,1,152, - 0,8,16,12,24,16,0,255,255,255,1,152,1,152,1,152, - 1,152,7,152,3,152,1,152,0,152,0,24,0,24,0,8, - 16,12,24,16,0,255,255,255,12,24,12,24,7,216,2,24, - 4,24,4,56,4,120,3,216,0,24,0,24,0,8,16,11, - 22,16,0,0,255,255,0,96,0,96,15,224,24,0,24,4, - 15,206,0,100,16,96,8,96,7,192,16,12,24,16,0,255, - 255,255,0,24,0,24,0,24,31,248,3,24,6,56,6,120, - 3,216,0,24,0,24,0,8,16,13,26,16,0,254,255,255, - 0,16,0,16,60,120,112,228,96,196,32,68,31,44,12,24, - 24,56,24,100,7,134,0,6,16,12,24,16,0,255,255,255, - 0,24,0,24,0,24,3,248,17,152,8,216,8,216,7,152, - 0,24,0,24,0,8,16,12,24,16,0,255,255,255,3,24, - 3,24,31,24,48,24,48,24,31,248,1,24,13,24,22,24, - 29,24,0,136,16,12,24,16,0,255,255,255,0,24,0,24, - 7,24,5,152,33,184,33,248,33,216,19,152,15,24,0,24, - 0,8,16,11,22,16,0,0,255,255,0,192,0,192,0,192, - 7,192,12,0,24,0,24,0,24,0,12,16,7,224,16,12, - 24,16,0,255,255,255,1,128,1,128,1,128,3,128,7,96, - 12,16,8,24,8,24,8,56,4,112,3,224,16,11,22,16, - 0,0,255,255,0,24,0,24,3,248,6,0,6,0,3,240, - 0,24,4,24,2,24,1,240,16,12,24,16,0,255,255,255, - 0,96,0,96,7,224,12,0,24,0,24,192,25,160,9,16, - 5,16,3,48,1,224,16,12,24,16,0,255,255,255,25,152, - 25,152,25,152,25,152,25,152,9,152,7,24,0,24,0,24, - 0,24,0,8,16,12,24,16,0,255,255,255,0,24,0,24, - 0,24,7,248,14,24,12,24,12,24,6,24,2,24,1,24, - 0,136,13,12,24,16,3,255,227,248,216,192,204,192,76,192, - 28,192,120,192,97,192,35,192,30,192,0,192,0,192,0,64, - 16,12,24,16,0,255,255,255,0,24,0,24,0,24,1,248, - 2,0,6,0,6,24,2,40,1,240,0,8,0,4,13,12, - 24,16,3,255,115,248,200,192,192,192,192,192,96,192,28,192, - 48,192,96,192,97,192,99,192,30,192,0,64,16,12,24,16, - 0,255,255,255,0,24,0,24,0,24,7,248,6,24,6,24, - 2,24,0,24,0,24,0,24,0,8,16,12,24,16,0,255, - 255,255,0,24,0,24,0,24,7,248,6,24,6,24,2,24, - 0,24,1,24,3,152,1,8,16,12,24,16,0,255,255,255, - 6,24,6,24,6,24,6,24,6,24,2,56,1,216,0,24, - 0,24,0,24,0,8,16,12,24,16,0,255,255,255,49,128, - 49,128,49,128,49,240,49,200,19,132,15,132,1,132,1,140, - 1,140,0,128,16,12,24,16,0,255,255,255,0,24,0,24, - 7,216,14,120,13,24,12,152,12,120,7,248,0,24,0,24, - 0,8,14,12,24,16,2,255,227,252,216,96,200,96,76,96, - 60,96,12,96,31,224,28,96,12,96,0,96,0,96,0,32, - 16,12,24,16,0,255,255,255,6,24,6,24,6,24,6,24, - 6,24,15,248,6,24,2,24,0,24,0,24,0,8,16,12, - 24,16,0,255,255,255,3,24,3,24,3,24,3,24,6,24, - 4,56,4,120,3,216,0,24,0,24,0,8,16,12,24,16, - 0,255,255,255,0,192,0,192,0,192,3,192,3,128,3,128, - 1,0,0,128,0,64,0,32,0,24,16,12,24,16,0,255, - 255,255,0,192,0,192,0,192,3,192,3,128,3,128,1,0, - 0,128,4,64,14,32,4,24,16,12,24,16,0,255,255,255, - 0,24,0,24,28,56,58,248,49,216,49,152,24,24,8,24, - 4,24,3,24,0,8,16,11,22,16,0,0,255,255,0,48, - 0,48,0,112,14,200,25,140,49,140,49,140,49,152,19,112, - 14,0,16,13,26,16,0,254,255,255,0,48,0,48,0,112, - 14,200,25,140,49,140,49,140,49,152,19,112,14,0,0,192, - 0,192,16,12,24,16,0,255,255,255,0,24,0,24,3,216, - 15,56,12,24,12,56,4,120,3,216,0,24,0,24,0,8, - 16,12,24,16,0,255,255,255,6,24,6,24,31,24,1,152, - 1,152,25,152,21,24,30,24,2,24,1,24,0,136,16,12, - 24,16,0,255,255,255,12,24,14,24,13,24,12,152,12,88, - 12,56,6,56,1,216,0,24,0,24,0,8,16,12,24,16, - 0,255,255,255,3,24,3,24,3,24,11,24,15,24,14,248, - 4,24,4,24,2,24,1,24,0,136,16,12,24,16,0,255, - 255,255,0,24,0,24,7,248,12,0,12,0,6,240,1,152, - 3,16,3,0,1,128,0,252,2,4,4,16,7,10,192,192, - 192,192,6,16,16,16,10,254,48,48,48,252,48,48,48,48, - 48,48,48,48,48,48,48,16,2,2,2,16,7,255,192,192, - 9,11,22,16,7,0,63,128,64,0,64,0,96,0,48,0, - 24,0,8,0,12,0,12,0,156,0,120,0,6,13,13,16, - 10,254,252,48,48,48,48,48,48,48,48,48,48,48,16,8, - 14,14,16,0,0,60,98,49,252,48,48,48,48,48,48,48, - 48,48,16,9,16,32,16,7,254,120,0,132,0,132,0,31, - 128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, - 0,6,0,6,0,6,0,2,0,6,3,3,16,4,255,152, - 68,56,6,3,3,16,6,255,112,136,100,4,3,3,16,6, - 255,96,128,112,3,5,5,16,6,255,96,128,96,128,96,5, - 3,3,16,5,10,136,72,48,5,3,3,16,4,10,128,112, - 8,5,3,3,16,4,10,224,16,8,6,4,4,16,3,9, - 112,8,228,28,6,16,16,16,10,254,136,120,0,252,48,48, - 48,48,48,48,48,48,48,48,48,16,8,16,16,16,8,254, - 128,120,4,63,12,12,12,12,12,12,12,12,12,12,12,4, - 8,16,16,16,8,254,240,8,4,63,12,12,12,12,12,12, - 12,12,12,12,12,4,9,16,32,16,7,254,120,0,244,0, - 10,0,31,128,6,0,6,0,6,0,6,0,6,0,6,0, - 6,0,6,0,6,0,6,0,6,0,2,0,5,3,3,16, - 6,255,224,16,8,4,13,13,16,2,254,240,192,192,192,192, - 192,192,192,192,192,192,192,128,9,15,30,16,7,255,32,0, - 30,0,129,0,125,128,3,0,31,0,3,0,3,0,3,0, - 3,0,3,0,3,0,3,0,3,0,1,0,14,12,24,16, - 1,1,4,192,2,216,57,24,68,224,4,0,12,56,56,76, - 8,204,135,156,134,120,78,0,60,0,1,3,3,16,8,10, - 128,128,128,4,1,1,16,6,0,240,3,3,3,16,6,10, - 128,64,32,3,3,3,16,7,10,32,64,128,5,5,5,16, - 5,8,136,72,48,0,248,6,2,2,16,3,254,132,120,8, - 4,4,16,2,254,66,60,129,126,16,13,26,16,0,254,255, - 255,0,192,0,192,14,192,25,248,17,200,19,204,14,204,0, - 204,0,204,4,192,14,64,4,0,16,13,26,16,0,254,255, - 255,8,24,8,24,9,216,59,56,58,24,18,56,17,216,8, - 24,4,24,0,152,1,200,0,128,16,13,26,16,0,254,255, - 255,1,152,1,152,1,152,1,152,7,152,3,152,1,152,0, - 152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255, - 255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7, - 152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255, - 255,0,24,0,24,3,248,6,0,6,0,3,240,0,24,4, - 24,3,240,0,0,0,192,0,192,16,13,26,16,0,254,255, - 255,0,96,0,96,7,224,12,0,24,224,25,144,25,16,13, - 48,7,224,0,0,1,128,1,128,16,13,26,16,0,254,255, - 255,49,128,49,128,49,128,49,240,49,200,19,132,15,132,1, - 132,1,140,9,140,28,128,8,0,16,13,26,16,0,254,255, - 255,3,24,3,24,3,24,3,24,6,24,4,56,4,120,3, - 216,0,24,1,24,3,136,1,0,16,13,26,16,0,254,255, - 255,3,0,3,0,51,24,75,40,7,240,15,24,51,8,67, - 24,3,48,3,28,1,16,0,14,16,13,26,16,0,254,255, - 255,0,32,0,32,30,112,49,152,49,152,16,48,8,96,4, - 192,0,60,0,192,0,192,0,60,8,5,5,16,4,255,72, - 146,130,68,3,8,6,6,16,4,254,72,146,132,67,4,3, - 2,12,12,16,7,255,128,192,192,192,192,192,192,192,192,192, - 192,64,5,12,12,16,6,255,144,216,216,216,216,216,216,216, - 216,216,216,72,8,7,7,16,4,2,60,78,199,195,227,114, - 60,6,13,13,16,5,254,112,232,204,204,76,60,24,48,96, - 32,16,8,4,9,13,26,16,4,254,252,0,226,0,1,0, - 1,0,1,0,3,0,54,0,44,0,56,0,4,0,2,0, - 1,0,0,128,8,13,13,16,4,254,252,226,2,2,60,2, - 1,51,46,60,4,2,1,12,12,24,16,2,255,128,16,64, - 48,32,96,16,192,9,128,7,0,6,0,13,0,9,128,9, - 128,9,128,7,0,8,13,13,16,4,254,192,195,195,67,62, - 12,12,104,88,120,4,2,1,8,13,13,16,4,254,60,192, - 128,192,124,16,32,35,51,15,4,4,2,11,11,22,16,3, - 0,128,0,135,0,142,192,140,64,68,96,67,224,64,32,32, - 32,32,64,24,192,7,0,10,10,20,16,3,1,255,192,32, - 0,64,0,128,0,128,0,131,0,135,128,124,128,56,128,0, - 128,8,12,12,16,4,255,56,100,98,97,32,56,72,192,192, - 192,32,31,5,4,4,16,6,3,112,136,136,112,2,2,2, - 16,8,6,192,192,15,15,30,16,1,255,2,0,1,32,0, - 192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134, - 192,78,192,60,192,0,192,0,64,15,15,30,16,1,255,0, - 192,0,192,0,192,57,254,68,192,4,192,12,192,56,192,8, - 192,135,192,134,192,78,192,60,192,0,192,0,64,15,15,30, - 16,1,255,0,12,0,12,0,12,57,254,68,204,4,204,12, - 204,56,204,8,204,135,204,134,204,78,204,60,204,0,204,0, - 68,15,15,30,16,1,255,0,128,0,120,2,4,57,246,68, - 12,4,124,12,204,56,204,8,204,135,204,134,204,78,204,60, - 204,0,204,0,68,15,16,32,16,1,254,2,0,1,32,0, - 192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134, - 192,78,192,60,192,0,64,33,0,30,0,15,16,32,16,1, - 254,2,0,1,32,0,192,57,254,68,192,4,192,12,192,56, - 192,8,192,135,192,78,192,60,192,33,192,30,0,64,128,63, - 0,16,12,24,16,0,255,255,255,24,0,24,0,24,0,63, - 224,56,112,0,48,0,48,0,48,0,48,0,96,0,64,16, - 12,24,16,0,255,255,255,0,24,0,24,0,24,3,248,17, - 152,8,216,8,216,7,152,0,24,8,152,2,8,16,12,24, - 16,0,255,255,255,3,24,3,24,3,24,3,152,6,88,4, - 56,4,120,3,216,0,24,0,24,0,8,16,12,24,16,0, - 255,255,255,1,152,1,152,1,152,1,152,7,152,3,152,1, - 152,0,152,0,24,0,24,15,248,16,12,24,16,0,255,255, - 255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7, - 152,0,24,0,24,31,248,8,13,13,16,4,254,124,226,193, - 1,1,3,62,60,48,48,48,48,16,16,13,26,16,0,254, - 255,255,0,24,0,24,3,248,6,0,6,0,3,240,0,24, - 4,24,2,24,1,240,0,0,15,254,16,12,24,16,0,255, - 255,255,0,24,0,24,7,216,14,120,13,24,12,152,12,120, - 7,248,0,24,0,24,15,248,11,12,24,16,2,255,30,0, - 55,0,97,128,193,128,193,128,89,128,57,128,1,128,1,128, - 1,160,1,160,0,192,6,4,4,16,5,9,48,180,132,120, - 5,8,8,16,11,0,96,144,96,0,192,96,48,8,4,7, - 7,16,11,1,96,144,96,0,96,144,96,14,14,28,16,1, - 255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255, - 252,231,108,219,108,231,12,219,236,231,236,255,252,16,12,24, - 16,0,255,255,255,0,12,64,12,67,140,71,204,71,236,99, - 44,32,108,48,124,24,220,15,140,0,4,16,13,26,16,0, - 255,0,6,255,247,0,110,64,102,70,102,79,102,79,102,69, - 102,65,102,97,102,51,230,30,102,0,34,16,15,30,16,0, - 255,32,0,31,192,0,32,255,255,0,0,15,192,24,96,60, - 48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,16, - 15,30,16,0,255,32,0,31,240,0,8,255,255,30,0,63, - 12,59,30,25,56,1,248,1,240,3,144,79,16,60,16,16, - 24,0,14,16,15,30,16,0,255,16,0,15,224,0,16,255, - 255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48, - 12,24,12,14,24,3,240,16,15,30,16,0,255,16,0,15, - 224,0,16,255,255,3,0,3,0,83,0,83,16,83,56,83, - 108,73,204,40,12,36,12,18,24,15,240,15,14,28,16,1, - 255,64,0,228,0,230,206,133,204,121,204,3,204,14,204,120, - 204,96,236,120,252,14,220,3,204,1,204,0,68,14,14,28, - 16,1,255,64,0,128,0,128,0,64,0,127,192,31,240,0, - 56,15,12,24,140,56,76,56,76,56,76,16,216,3,240,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,231,28,219,108,231,108,219,108,231,28,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,231,12,219,124,231,28,219,124,231, - 12,255,252,14,13,26,16,1,255,0,48,0,248,1,140,3, - 12,135,140,135,140,131,12,128,12,192,12,64,108,96,156,51, - 12,14,4,14,15,30,16,1,255,0,8,0,16,0,16,0, - 216,3,236,6,52,140,52,158,52,158,52,140,56,192,48,65, - 176,98,112,60,48,24,16,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,231,220,219, - 156,227,220,251,220,231,140,255,252,14,14,28,16,1,255,255, - 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,231, - 12,219,236,227,12,251,124,231,12,255,252,14,13,26,16,1, - 255,0,240,3,24,6,12,14,12,142,12,134,120,192,248,64, - 120,96,12,48,12,24,12,12,24,7,240,14,15,30,16,1, - 255,0,8,0,16,0,16,7,216,8,108,28,52,28,52,156, - 52,137,228,131,248,193,224,64,48,96,48,48,112,31,224,16, - 12,24,16,0,255,255,255,0,96,0,96,1,248,7,100,60, - 98,48,98,60,110,7,108,1,224,0,224,0,32,14,13,26, - 16,2,255,64,0,226,60,227,48,197,48,121,48,1,48,6, - 48,120,48,126,48,1,176,0,112,0,48,0,16,14,12,24, - 16,2,255,62,124,113,96,224,224,224,96,252,96,70,96,6, - 96,6,96,28,96,120,96,32,96,0,32,16,12,24,16,0, - 255,255,255,24,24,48,24,56,24,31,152,1,152,6,24,12, - 24,31,24,1,216,0,56,0,8,12,13,26,16,2,255,32, - 0,35,192,22,64,12,64,15,128,140,0,136,32,136,112,199, - 176,64,48,96,48,48,96,31,128,16,12,24,16,0,255,255, - 255,24,0,24,0,28,0,27,0,24,252,24,12,24,12,24, - 12,24,24,28,48,15,192,16,12,24,16,0,255,255,255,24, - 0,24,0,28,0,27,224,24,56,24,104,28,200,15,16,0, - 96,1,248,0,14,16,12,24,16,0,255,255,255,1,240,3, - 28,70,15,76,2,76,196,79,36,102,44,32,44,48,100,24, - 196,15,131,16,12,24,16,0,255,255,231,0,102,0,102,1, - 230,7,102,60,102,48,102,60,102,7,126,1,238,0,230,0, - 34,14,13,26,16,1,255,7,0,13,128,25,176,49,248,57, - 204,185,140,145,184,129,140,193,204,199,248,111,176,121,128,48, - 128,16,15,30,16,0,255,16,0,15,192,0,32,255,255,24, - 0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24, - 192,15,128,7,0,16,15,30,16,0,255,16,0,15,0,0, - 128,255,255,0,128,0,128,0,192,1,192,1,96,35,48,58, - 24,20,24,24,24,12,48,7,224,16,12,24,16,0,255,255, - 255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48, - 12,24,12,14,24,3,240,16,12,24,16,0,255,255,255,24, - 0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24, - 192,15,128,7,0,13,13,26,16,3,255,28,96,62,120,97, - 96,192,224,192,224,224,96,224,96,64,96,0,96,0,96,0, - 96,0,96,0,32,16,12,24,16,0,255,255,255,0,0,65, - 248,67,12,67,132,67,134,99,134,33,6,48,6,24,12,12, - 28,7,240,15,13,26,16,1,255,60,0,98,62,241,48,241, - 48,97,48,1,48,6,48,120,48,126,48,1,176,0,112,0, - 48,0,16,16,12,24,16,0,255,255,255,12,0,12,0,12, - 120,12,240,13,224,13,96,15,96,14,96,14,96,12,48,8, - 28,12,13,26,16,4,255,96,0,240,240,224,192,128,192,99, - 192,30,192,56,192,224,192,248,192,14,192,3,192,1,192,0, - 64,16,12,24,16,0,255,255,255,0,24,0,24,0,24,0, - 24,30,24,63,152,60,216,56,120,0,56,0,24,0,8,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,195,156,219,108,195,140,219,236,219,156,255, - 252,15,13,26,16,1,255,14,48,31,190,48,240,96,112,240, - 240,155,176,14,48,24,48,32,48,0,48,0,48,0,48,0, - 16,16,12,24,16,0,255,255,255,16,0,56,120,12,100,6, - 98,12,98,24,110,48,108,63,96,1,224,0,96,0,32,16, - 12,24,16,0,255,255,255,0,24,0,24,0,120,3,216,7, - 24,28,24,31,24,1,216,0,120,0,56,0,8,16,12,24, - 16,0,255,255,255,0,0,66,16,71,8,71,12,70,20,99, - 230,32,6,48,6,24,12,12,28,7,240,16,12,24,16,0, - 255,255,255,12,24,28,24,14,24,3,24,3,24,3,24,15, - 216,30,120,12,56,0,24,0,8,16,12,24,16,0,255,255, - 255,8,48,28,48,6,48,3,48,6,48,12,48,24,48,31, - 176,0,240,0,48,0,16,16,12,24,16,0,255,255,255,0, - 24,0,120,3,216,7,24,28,24,31,24,1,216,2,120,7, - 56,7,24,2,8,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,220,219,156,199, - 220,219,220,199,140,255,252,16,12,24,16,0,255,255,255,0, - 6,0,6,28,22,62,62,99,102,65,198,65,198,64,134,124, - 6,60,6,24,2,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,199, - 140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219, - 108,199,12,219,236,199,236,255,252,14,14,28,16,1,255,255, - 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199, - 12,219,124,199,12,219,236,199,12,255,252,15,13,26,16,1, - 255,112,204,249,238,143,60,143,28,31,140,63,204,25,140,0, - 12,0,12,0,12,0,12,0,12,0,4,16,12,24,16,0, - 255,255,255,28,24,14,24,7,152,1,216,6,120,28,24,31, - 24,1,216,0,120,0,56,0,8,16,12,24,16,0,255,255, - 255,16,12,56,12,28,12,6,12,2,204,1,236,3,28,102, - 12,60,12,24,12,0,4,16,12,24,16,0,255,255,255,0, - 0,15,192,24,96,60,48,60,48,24,48,0,96,63,192,7, - 0,1,192,0,124,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,12,219,108,199, - 12,219,108,199,108,255,252,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,199,28,219, - 108,199,28,219,108,199,28,255,252,2,2,2,16,7,255,192, - 192,14,12,24,16,0,255,240,0,8,0,15,192,28,96,60, - 48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,5, - 10,10,16,11,255,48,184,112,48,48,48,48,48,48,16,13, - 14,28,16,0,255,15,128,63,224,96,16,96,8,32,0,248, - 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,16, - 0,12,14,28,16,4,255,63,0,65,128,128,192,190,64,65, - 64,1,240,0,192,0,192,0,192,0,192,0,192,0,192,0, - 192,0,64,6,5,5,16,5,254,4,104,144,104,4,6,5, - 5,16,6,254,96,128,112,8,4,5,5,5,16,5,254,24, - 96,128,96,24,3,5,5,16,6,255,96,128,96,128,64,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,227,12,223,124,223,12,223,236,227,12,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,227,156,223,124,223,28,223,108,227, - 156,255,252,5,9,9,16,0,255,248,24,48,96,64,64,64, - 88,56,5,12,12,16,0,255,128,112,8,248,24,48,96,64, - 64,64,88,56,14,14,28,16,1,255,255,252,231,156,219,108, - 219,140,219,236,231,156,255,252,255,252,227,156,223,108,223,140, - 223,236,227,156,255,252,14,14,28,16,1,255,255,252,231,156, - 219,108,219,140,219,236,231,156,255,252,255,252,227,12,223,108, - 223,12,223,108,227,108,255,252,16,10,20,16,0,255,0,6, - 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, - 56,2,16,13,26,16,0,255,0,128,0,112,0,8,0,4, - 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, - 56,2,5,3,3,16,6,0,192,48,8,8,12,12,16,4, - 255,56,92,204,236,216,192,96,56,12,6,3,1,14,14,28, - 16,1,255,255,252,231,156,219,108,219,140,219,236,231,156,255, - 252,255,252,227,12,223,124,223,28,223,124,227,124,255,252,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,199,156,219,108,219,108,219,108,199,156,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,199,220,219,156,219,220,219,220,199, - 140,255,252,14,14,28,16,1,255,255,252,231,156,219,108,219, - 140,219,236,231,156,255,252,255,252,199,12,219,236,219,12,219, - 124,199,12,255,252,14,14,28,16,1,255,255,252,231,156,219, - 108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,219, - 140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231, - 156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219, - 108,219,12,219,236,199,236,255,252,14,14,28,16,1,255,255, - 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199, - 12,219,124,219,12,219,236,199,12,255,252,14,14,28,16,1, - 255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255, - 252,199,156,219,124,219,28,219,108,199,156,255,252,8,13,13, - 16,8,255,128,112,8,4,23,14,6,6,6,6,6,6,2, - 14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236, - 231,156,255,252,255,252,199,156,219,108,219,156,219,108,199,156, - 255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140, - 219,236,231,156,255,252,255,252,199,156,219,108,219,140,219,236, - 199,156,255,252,14,14,28,16,1,255,255,252,231,156,219,108, - 219,140,219,236,231,156,255,252,255,252,199,12,219,108,219,12, - 219,108,199,108,255,252,14,14,28,16,1,255,255,252,231,156, - 219,108,219,140,219,236,231,156,255,252,255,252,199,28,219,108, - 219,28,219,108,199,28,255,252,16,13,26,16,0,254,255,255, - 3,0,67,16,67,56,99,108,35,204,49,140,24,12,14,24, - 3,240,0,0,0,192,0,192,16,13,26,16,0,254,255,255, - 12,0,12,0,12,0,12,48,12,120,12,56,12,48,7,224, - 3,192,0,0,1,128,1,128,14,14,28,16,1,255,255,252, - 231,156,219,108,219,140,219,236,231,156,255,252,255,252,199,12, - 219,124,219,28,219,124,199,12,255,252,16,13,26,16,0,254, - 255,255,4,24,14,24,3,24,1,152,3,24,6,24,12,24, - 15,216,0,120,1,24,3,136,1,0,15,15,30,16,1,254, - 64,0,228,0,230,206,133,204,121,204,3,204,14,204,120,204, - 96,236,120,252,14,220,123,204,97,204,120,68,14,0,8,14, - 14,16,4,255,128,124,3,121,197,205,158,128,124,3,121,197, - 205,158,7,5,5,16,5,255,124,2,114,202,220,10,6,12, - 16,5,255,3,128,112,64,10,64,77,64,173,128,176,0,14, - 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, - 156,255,252,255,252,195,108,223,108,199,12,223,236,195,236,255, - 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, - 236,231,156,255,252,255,252,195,12,223,124,199,12,223,236,195, - 12,255,252,10,11,22,16,3,0,30,0,63,0,97,128,192, - 192,192,192,192,192,192,192,192,192,97,128,63,0,30,0,9, - 12,24,16,4,0,64,0,64,0,96,0,56,0,14,0,3, - 0,1,128,97,128,225,128,225,128,195,0,126,0,10,11,22, - 16,3,0,224,0,56,0,14,0,3,0,3,0,227,0,126, - 0,28,0,6,0,1,128,0,64,12,12,24,16,2,255,131, - 192,132,96,136,48,140,48,142,48,142,48,134,48,64,48,64, - 96,32,96,17,192,15,0,11,13,26,16,2,255,31,0,63, - 128,96,192,64,64,96,192,49,128,31,0,96,192,192,96,192, - 96,224,224,127,192,31,0,11,13,26,16,2,255,7,0,30, - 0,57,96,112,192,97,128,195,0,198,0,198,0,198,0,198, - 0,99,96,48,192,31,128,12,12,24,16,2,255,28,0,12, - 0,12,0,140,0,140,96,140,160,141,176,199,48,64,48,96, - 48,48,96,31,192,9,13,26,16,4,255,60,0,126,0,195, - 0,195,0,199,0,127,0,59,0,3,0,3,0,3,0,3, - 0,3,0,1,128,13,13,26,16,1,255,224,0,96,0,96, - 0,96,8,103,240,127,192,112,96,96,96,96,96,96,96,112, - 192,63,128,30,0,12,15,30,16,2,254,128,0,128,0,96, - 0,60,0,15,0,3,192,0,224,0,48,60,48,66,48,225, - 48,225,48,225,96,65,192,1,0,16,12,24,16,0,255,255, - 255,0,24,0,24,0,120,3,216,7,152,28,120,31,24,1, - 216,0,120,0,56,0,8,16,13,26,16,0,254,255,255,0, - 24,0,24,0,120,3,216,7,24,28,24,31,24,1,216,28, - 120,7,56,1,136,0,64,9,8,16,16,3,3,224,0,248, - 0,124,0,14,0,3,0,1,0,0,128,0,128,12,13,26, - 16,1,255,48,0,120,0,204,0,12,0,31,240,12,0,12, - 96,12,240,12,240,12,48,12,96,7,192,3,128,9,8,16, - 16,3,2,0,128,0,128,1,0,3,0,14,0,124,0,248, - 0,224,0,12,9,18,16,2,2,56,16,124,16,226,32,242, - 96,242,192,98,192,7,128,15,0,14,0,12,13,26,16,2, - 255,0,16,0,16,0,16,56,16,124,16,126,16,62,16,6, - 48,12,96,248,224,193,192,127,128,30,0,2,13,13,16,8, - 255,128,192,192,192,192,192,192,192,192,192,192,192,64,11,13, - 26,16,2,255,224,0,96,0,96,192,97,192,99,192,98,192, - 102,192,108,192,120,192,112,192,96,192,0,192,0,96,11,10, - 20,16,3,1,31,0,63,128,96,192,192,96,192,96,192,96, - 192,96,96,192,63,128,31,0,14,9,18,16,1,255,0,4, - 2,4,135,8,135,8,66,16,96,48,48,96,31,192,15,0, - 6,8,8,16,5,254,96,128,128,64,32,16,8,4,14,14, - 28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,156, - 255,252,255,252,195,140,223,124,199,124,223,124,223,140,255,252, - 14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236, - 231,156,255,252,255,252,195,28,223,108,199,108,223,108,223,28, - 255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140, - 219,236,231,156,255,252,255,252,195,12,223,124,199,28,223,124, - 223,12,255,252,14,14,28,16,1,255,255,252,231,156,219,108, - 219,140,219,236,231,156,255,252,255,252,195,12,223,124,199,28, - 223,124,223,124,255,252}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 8 - Calculated Max Values w=16 h=16 x= 4 y= 0 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =14 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4633] U8G_FONT_SECTION("u8g_font_unifont_2_3") = { - 0,16,16,0,254,10,4,222,7,30,0,255,0,14,254,14, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,6,11,11,8,1,0,120,0,0, - 120,132,4,124,132,132,140,116,6,14,14,8,1,0,132,132, - 120,0,48,72,72,132,132,252,132,132,132,132,6,13,13,8, - 1,0,132,132,120,0,0,120,132,4,124,132,132,140,116,7, - 12,12,8,1,254,48,72,72,132,132,252,132,132,132,132,8, - 6,7,10,10,8,1,254,120,132,4,124,132,132,140,116,8, - 6,6,14,14,8,1,0,24,96,0,0,120,132,132,128,128, - 128,128,132,132,120,6,12,12,8,1,0,24,96,0,0,120, - 132,128,128,128,128,132,120,6,14,14,8,1,0,48,72,0, - 0,120,132,132,128,128,128,128,132,132,120,6,12,12,8,1, - 0,48,72,0,0,120,132,128,128,128,128,132,120,6,14,14, - 8,1,0,32,32,0,0,120,132,132,128,128,128,128,132,132, - 120,6,12,12,8,1,0,32,32,0,0,120,132,128,128,128, - 128,132,120,6,14,14,8,1,0,72,48,0,0,120,132,132, - 128,128,128,128,132,132,120,6,12,12,8,1,0,72,48,0, - 0,120,132,128,128,128,128,132,120,6,14,14,8,1,0,144, - 96,0,0,240,136,132,132,132,132,132,132,136,240,6,14,14, - 8,1,0,72,48,0,4,4,4,116,140,132,132,132,132,140, - 116,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68, - 120,7,11,11,8,1,0,4,30,4,116,140,132,132,132,132, - 140,116,6,13,13,8,1,0,120,0,0,252,128,128,128,248, - 128,128,128,128,252,6,11,11,8,1,0,120,0,0,120,132, - 132,252,128,128,132,120,6,14,14,8,1,0,132,132,120,0, - 252,128,128,128,248,128,128,128,128,252,6,12,12,8,1,0, - 132,132,120,0,120,132,132,252,128,128,132,120,6,14,14,8, - 1,0,32,32,0,0,252,128,128,128,248,128,128,128,128,252, - 6,12,12,8,1,0,32,32,0,0,120,132,132,252,128,128, - 132,120,6,12,12,8,1,254,252,128,128,128,248,128,128,128, - 128,252,16,12,6,10,10,8,1,254,120,132,132,252,128,128, - 132,120,32,24,6,14,14,8,1,0,72,48,0,0,252,128, - 128,128,248,128,128,128,128,252,6,12,12,8,1,0,72,48, - 0,0,120,132,132,252,128,128,132,120,6,14,14,8,1,0, - 48,72,0,0,120,132,132,128,128,156,132,132,140,116,6,14, - 14,8,1,254,48,72,0,4,116,136,136,136,112,64,120,132, - 132,120,6,14,14,8,1,0,132,132,120,0,120,132,132,128, - 128,156,132,132,140,116,6,15,15,8,1,254,132,132,120,0, - 4,116,136,136,136,112,64,120,132,132,120,6,14,14,8,1, - 0,32,32,0,0,120,132,132,128,128,156,132,132,140,116,6, - 14,14,8,1,254,32,32,0,4,116,136,136,136,112,64,120, - 132,132,120,6,12,12,8,1,254,120,132,132,128,128,156,132, - 132,140,116,16,96,6,14,14,8,1,254,24,32,0,4,116, - 136,136,136,112,64,120,132,132,120,6,14,14,8,1,0,48, - 72,0,0,132,132,132,132,252,132,132,132,132,132,6,14,14, - 8,1,0,96,144,0,128,128,128,184,196,132,132,132,132,132, - 132,8,10,10,8,0,0,66,66,255,66,66,126,66,66,66, - 66,7,11,11,8,0,0,64,240,64,92,98,66,66,66,66, - 66,66,6,14,14,8,1,0,100,152,0,0,124,16,16,16, - 16,16,16,16,16,124,6,12,12,8,1,0,100,152,0,0, - 48,16,16,16,16,16,16,124,5,13,13,8,2,0,240,0, - 0,248,32,32,32,32,32,32,32,32,248,5,11,11,8,2, - 0,240,0,0,96,32,32,32,32,32,32,248,6,14,14,8, - 1,0,132,132,120,0,124,16,16,16,16,16,16,16,16,124, - 6,12,12,8,1,0,132,132,120,0,48,16,16,16,16,16, - 16,124,5,12,12,8,2,254,248,32,32,32,32,32,32,32, - 32,248,32,24,5,13,13,8,2,254,32,32,0,96,32,32, - 32,32,32,32,248,32,24,5,14,14,8,2,0,32,32,0, - 0,248,32,32,32,32,32,32,32,32,248,5,8,8,8,2, - 0,96,32,32,32,32,32,32,248,6,10,10,8,1,0,132, - 132,132,132,132,132,4,4,132,120,5,14,14,8,2,254,136, - 136,0,0,136,136,136,136,136,136,104,8,136,112,7,14,14, - 8,1,0,24,36,0,0,62,8,8,8,8,8,8,136,136, - 112,6,14,14,8,1,254,24,36,0,0,24,8,8,8,8, - 8,8,8,144,96,7,12,12,8,0,254,66,68,72,80,96, - 96,80,72,68,66,32,192,7,13,13,8,0,254,64,64,64, - 68,72,80,96,80,72,68,66,32,192,6,8,8,8,1,0, - 132,136,144,224,224,144,136,132,6,14,14,8,1,0,48,192, - 0,0,128,128,128,128,128,128,128,128,128,252,5,14,14,8, - 2,0,48,192,0,96,32,32,32,32,32,32,32,32,32,248, - 6,12,12,8,1,254,128,128,128,128,128,128,128,128,128,252, - 16,96,5,13,13,8,2,254,96,32,32,32,32,32,32,32, - 32,32,248,32,192,6,14,14,8,1,0,72,48,0,0,128, - 128,128,128,128,128,128,128,128,252,5,14,14,8,2,0,144, - 96,0,96,32,32,32,32,32,32,32,32,32,248,6,10,10, - 8,1,0,128,128,128,128,136,136,128,128,128,252,5,11,11, - 8,1,0,96,32,32,32,32,40,40,32,32,32,248,7,10, - 10,8,0,0,64,64,72,80,96,192,64,64,64,126,5,11, - 11,8,2,0,96,32,32,40,48,96,160,32,32,32,248,6, - 14,14,8,1,0,24,96,0,0,132,196,196,164,164,148,148, - 140,140,132,6,12,12,8,1,0,24,96,0,0,184,196,132, - 132,132,132,132,132,7,12,12,8,0,254,66,98,98,82,82, - 74,74,70,70,66,32,192,7,10,10,8,0,254,92,98,66, - 66,66,66,66,66,32,192,6,14,14,8,1,0,72,48,0, - 0,132,196,196,164,164,148,148,140,140,132,6,12,12,8,1, - 0,72,48,0,0,184,196,132,132,132,132,132,132,6,13,13, - 8,1,0,192,64,64,128,0,184,196,132,132,132,132,132,132, - 6,10,10,8,1,0,184,196,132,132,132,132,132,132,132,152, - 6,10,10,8,1,254,184,196,132,132,132,132,132,132,4,24, - 6,13,13,8,1,0,120,0,0,120,132,132,132,132,132,132, - 132,132,120,6,11,11,8,1,0,120,0,0,120,132,132,132, - 132,132,132,120,6,14,14,8,1,0,132,132,120,0,120,132, - 132,132,132,132,132,132,132,120,6,12,12,8,1,0,132,132, - 120,0,120,132,132,132,132,132,132,120,7,14,14,8,1,0, - 102,136,0,0,120,132,132,132,132,132,132,132,132,120,7,12, - 12,8,1,0,102,136,0,0,120,132,132,132,132,132,132,120, - 7,10,10,8,1,0,110,144,144,144,156,144,144,144,144,110, - 7,8,8,8,1,0,108,146,146,158,144,144,146,108,6,14, - 14,8,1,0,24,96,0,0,248,132,132,132,248,144,136,136, - 132,132,6,12,12,8,1,0,24,96,0,0,184,196,132,128, - 128,128,128,128,7,12,12,8,0,254,124,66,66,66,124,72, - 68,68,66,66,32,192,7,10,10,8,0,254,92,98,66,64, - 64,64,64,64,32,192,6,14,14,8,1,0,72,48,0,0, - 248,132,132,132,248,144,136,136,132,132,6,12,12,8,1,0, - 72,48,0,0,184,196,132,128,128,128,128,128,6,14,14,8, - 1,0,24,96,0,0,120,132,132,128,96,24,4,132,132,120, - 6,12,12,8,1,0,24,96,0,0,120,132,128,96,24,132, - 132,120,6,14,14,8,1,0,48,72,0,0,120,132,132,128, - 96,24,4,132,132,120,6,12,12,8,1,0,48,72,0,0, - 120,132,128,96,24,4,132,120,6,12,12,8,1,254,120,132, - 132,128,96,24,4,132,132,120,16,96,6,10,10,8,1,254, - 120,132,128,96,24,4,132,120,16,96,6,14,14,8,1,0, - 72,48,0,0,120,132,132,128,96,24,4,132,132,120,6,12, - 12,8,1,0,72,48,0,0,120,132,128,96,24,4,132,120, - 7,12,12,8,1,254,254,16,16,16,16,16,16,16,16,16, - 16,96,5,12,12,8,1,254,32,32,32,248,32,32,32,32, - 32,24,16,96,7,14,14,8,1,0,72,48,0,0,254,16, - 16,16,16,16,16,16,16,16,5,14,14,8,1,0,72,48, - 0,0,32,32,32,248,32,32,32,32,32,24,7,10,10,8, - 1,0,254,16,16,20,24,48,80,16,16,16,5,10,10,8, - 1,0,32,32,32,248,32,40,48,96,160,24,6,14,14,8, - 1,0,100,152,0,0,132,132,132,132,132,132,132,132,132,120, - 6,12,12,8,1,0,100,152,0,0,132,132,132,132,132,132, - 140,116,6,13,13,8,1,0,120,0,0,132,132,132,132,132, - 132,132,132,132,120,6,11,11,8,1,0,120,0,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,0,132,132,120,0, - 132,132,132,132,132,132,132,132,132,120,6,13,13,8,1,0, - 132,132,120,0,0,132,132,132,132,132,132,140,116,6,14,14, - 8,1,0,48,72,48,0,132,132,132,132,132,132,132,132,132, - 120,6,12,12,8,1,0,48,72,48,0,132,132,132,132,132, - 132,140,116,7,14,14,8,1,0,102,136,0,0,132,132,132, - 132,132,132,132,132,132,120,7,12,12,8,1,0,102,136,0, - 0,132,132,132,132,132,132,140,116,6,12,12,8,1,254,132, - 132,132,132,132,132,132,132,132,120,32,24,7,10,10,8,1, - 254,132,132,132,132,132,132,140,116,8,6,6,14,14,8,1, - 0,48,72,0,0,132,132,132,132,180,180,204,204,132,132,7, - 12,12,8,1,0,48,72,0,0,130,146,146,146,146,146,146, - 108,7,14,14,8,1,0,48,72,0,0,130,130,68,68,40, - 16,16,16,16,16,6,14,14,8,1,254,48,72,0,0,132, - 132,132,132,132,76,52,4,4,120,7,14,14,8,1,0,72, - 72,0,0,130,130,68,68,40,16,16,16,16,16,6,14,14, - 8,1,0,24,96,0,0,252,4,4,8,16,32,64,128,128, - 252,6,12,12,8,1,0,24,96,0,0,252,4,8,16,32, - 64,128,252,6,14,14,8,1,0,32,32,0,0,252,4,4, - 8,16,32,64,128,128,252,6,12,12,8,1,0,32,32,0, - 0,252,4,8,16,32,64,128,252,6,14,14,8,1,0,72, - 48,0,0,252,4,4,8,16,32,64,128,128,252,6,12,12, - 8,1,0,72,48,0,0,252,4,8,16,32,64,128,252,4, - 11,11,8,2,0,48,64,64,64,192,64,64,64,64,64,64, - 7,11,11,8,0,0,64,240,64,92,98,66,66,66,66,98, - 92,7,10,10,8,0,0,124,162,162,34,60,34,34,34,34, - 60,6,10,10,8,1,0,252,128,128,128,248,132,132,132,132, - 248,6,10,10,8,1,0,252,128,128,184,196,132,132,132,196, - 184,6,10,10,8,1,0,192,64,64,64,120,68,68,68,68, - 120,6,8,8,8,1,0,192,64,64,64,120,68,68,120,6, - 10,10,8,1,0,120,132,132,4,4,4,4,132,132,248,7, - 12,12,8,1,0,6,8,120,136,136,128,128,128,128,136,136, - 112,7,10,10,8,1,0,6,8,120,136,128,128,128,128,136, - 112,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68, - 120,7,10,10,8,0,0,120,164,162,34,34,34,34,34,36, - 56,6,10,10,8,1,0,252,4,4,4,124,132,132,132,132, - 124,6,10,10,8,1,0,252,4,4,116,140,132,132,132,140, - 116,6,10,10,8,1,254,120,132,132,132,132,72,48,8,8, - 112,6,10,10,8,1,0,252,4,4,4,124,4,4,4,4, - 252,6,10,10,8,1,0,48,72,132,4,4,252,132,132,72, - 48,6,10,10,8,1,0,120,132,132,128,112,128,128,132,132, - 120,7,11,11,8,1,255,62,32,32,32,60,32,32,32,32, - 32,192,5,12,12,8,1,255,24,32,32,32,248,32,32,32, - 32,32,32,192,7,11,11,8,1,0,6,120,136,136,128,128, - 184,136,136,152,104,6,10,10,8,1,0,132,132,132,72,72, - 48,48,72,72,48,6,11,11,8,1,0,128,128,128,128,228, - 148,148,148,148,148,136,5,11,11,8,1,0,224,32,32,32, - 32,32,32,32,32,32,24,5,10,10,8,2,0,248,32,32, - 32,248,32,32,32,32,248,6,10,10,8,1,0,140,148,160, - 160,192,192,160,144,136,132,6,11,11,8,1,0,96,144,128, - 136,144,160,192,160,144,136,132,5,11,11,8,2,0,96,32, - 32,32,248,32,32,32,32,32,248,6,10,10,8,1,0,72, - 80,32,96,144,48,72,72,132,132,7,10,10,8,1,0,146, - 146,146,146,146,146,146,146,146,110,7,11,11,8,0,255,34, - 34,50,50,42,42,38,38,34,34,192,6,10,10,8,1,254, - 184,196,132,132,132,132,132,132,4,4,6,10,10,8,1,0, - 120,132,132,132,252,132,132,132,132,120,6,11,11,8,1,0, - 4,116,136,136,136,136,136,136,136,136,112,6,9,9,8,1, - 0,4,116,136,136,136,136,136,136,112,6,12,12,8,1,254, - 108,148,148,148,148,148,148,148,148,100,4,4,6,10,10,8, - 1,254,108,148,148,148,148,148,148,100,4,4,7,10,10,8, - 1,0,124,162,162,34,60,32,32,32,32,32,7,11,11,8, - 1,254,6,184,200,136,136,136,136,200,176,128,128,7,10,10, - 8,1,0,224,64,120,68,68,120,80,72,68,66,6,10,10, - 8,1,0,120,132,132,4,24,96,128,132,132,120,6,8,8, - 8,1,0,120,132,4,24,96,128,132,120,6,10,10,8,1, - 0,252,128,64,32,16,16,32,64,128,252,5,12,12,8,1, - 255,64,160,160,96,32,32,32,32,32,32,32,24,5,12,12, - 8,1,254,32,32,32,248,32,32,32,32,32,24,8,48,7, - 10,10,8,1,0,126,144,144,16,16,16,16,16,16,16,5, - 11,11,8,1,0,24,32,32,32,248,32,32,32,32,32,24, - 7,11,11,8,1,255,254,16,16,16,16,16,16,16,16,16, - 12,7,12,12,8,1,0,2,2,140,136,136,136,136,136,136, - 136,136,112,7,10,10,8,1,0,2,2,140,136,136,136,136, - 136,152,104,6,10,10,8,1,0,132,72,72,132,132,132,132, - 132,72,48,6,10,10,8,1,0,152,132,132,132,132,132,132, - 136,144,96,7,10,10,8,1,0,140,138,136,80,80,32,32, - 32,32,32,7,11,11,8,1,254,6,136,136,136,136,136,72, - 56,8,8,112,6,10,10,8,1,0,252,4,8,16,120,32, - 64,128,128,252,6,8,8,8,1,0,252,8,16,120,32,64, - 128,252,6,10,10,8,1,0,252,8,16,32,56,4,4,4, - 140,120,6,10,10,8,1,0,252,64,32,16,112,128,128,128, - 196,120,6,10,10,8,1,254,248,64,32,16,112,128,128,128, - 132,120,6,10,10,8,1,254,124,8,16,56,4,4,120,128, - 132,120,6,10,10,8,1,0,120,132,132,8,16,252,64,128, - 128,252,6,10,10,8,1,0,252,64,64,64,120,4,4,4, - 132,120,6,8,8,8,1,0,252,64,64,120,4,4,132,120, - 5,10,10,8,1,0,32,32,248,32,32,48,8,8,136,112, - 6,10,10,8,1,254,184,196,132,132,136,144,160,192,128,128, - 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, - 128,3,11,11,8,2,0,160,160,160,160,160,160,160,160,160, - 160,160,5,11,11,8,1,0,32,32,32,32,248,32,248,32, - 32,32,32,1,10,10,8,4,0,128,128,128,128,128,128,128, - 0,128,128,7,14,14,8,1,0,10,4,0,0,206,162,162, - 162,164,164,168,168,168,206,7,12,12,8,1,0,10,4,192, - 160,174,162,162,164,164,168,168,206,7,12,12,8,1,0,10, - 36,32,32,110,162,162,164,164,168,168,110,7,10,10,8,1, - 0,142,130,130,130,130,130,130,146,146,236,7,13,13,8,1, - 254,2,130,128,134,130,130,130,130,130,130,242,4,24,8,13, - 13,8,0,254,97,33,32,35,33,33,33,33,33,33,249,2, - 12,7,10,10,8,1,0,150,146,146,210,210,178,178,154,154, - 148,7,13,13,8,1,254,2,146,144,214,210,210,178,178,178, - 146,146,36,24,7,13,13,8,1,254,2,2,0,166,210,146, - 146,146,146,146,146,36,24,6,14,14,8,1,0,72,48,0, - 0,48,72,72,132,132,252,132,132,132,132,6,12,12,8,1, - 0,72,48,0,0,120,132,4,124,132,132,140,116,5,14,14, - 8,2,0,144,96,0,0,248,32,32,32,32,32,32,32,32, - 248,5,12,12,8,2,0,144,96,0,0,96,32,32,32,32, - 32,32,248,6,14,14,8,1,0,72,48,0,0,120,132,132, - 132,132,132,132,132,132,120,6,12,12,8,1,0,72,48,0, - 0,120,132,132,132,132,132,132,120,6,14,14,8,1,0,72, - 48,0,0,132,132,132,132,132,132,132,132,132,120,6,12,12, - 8,1,0,72,48,0,0,132,132,132,132,132,132,140,116,6, - 14,14,8,1,0,120,0,72,0,132,132,132,132,132,132,132, - 132,132,120,6,13,13,8,1,0,120,0,72,72,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,0,24,96,0,72, - 0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 24,96,0,72,72,0,132,132,132,132,132,132,140,116,6,14, - 14,8,1,0,72,48,0,72,0,132,132,132,132,132,132,132, - 132,120,6,14,14,8,1,0,72,48,0,72,72,0,132,132, - 132,132,132,132,140,116,6,14,14,8,1,0,96,24,0,72, - 0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 96,24,0,72,72,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,120,132,4,4,252,132,132,120,6,14,14,8, - 1,0,120,0,72,0,48,72,72,132,132,252,132,132,132,132, - 6,13,13,8,1,0,120,0,72,72,0,120,132,4,124,132, - 132,140,116,6,14,14,8,1,0,120,0,48,0,48,72,72, - 132,132,252,132,132,132,132,6,13,13,8,1,0,120,0,32, - 32,0,120,132,4,124,132,132,140,116,7,13,13,8,1,0, - 120,0,0,62,80,144,144,254,144,144,144,144,158,7,11,11, - 8,1,0,120,0,0,124,146,18,126,144,144,146,124,7,10, - 10,8,1,0,120,132,132,128,128,156,132,158,132,124,7,11, - 11,8,1,254,4,116,136,136,136,112,64,120,158,132,120,6, - 14,14,8,1,0,72,48,0,0,120,132,132,128,128,156,132, - 132,140,116,6,14,14,8,1,254,72,48,0,4,116,136,136, - 136,112,64,120,132,132,120,6,14,14,8,1,0,72,48,0, - 0,132,136,144,160,192,192,160,144,136,132,6,14,14,8,1, - 0,72,48,0,128,128,128,136,144,160,192,160,144,136,132,6, - 12,12,8,1,254,120,132,132,132,132,132,132,132,132,120,32, - 24,6,10,10,8,1,254,120,132,132,132,132,132,132,120,32, - 24,6,15,15,8,1,254,120,0,0,120,132,132,132,132,132, - 132,132,132,120,32,24,6,13,13,8,1,254,120,0,0,120, - 132,132,132,132,132,132,120,32,24,6,14,14,8,1,0,72, - 48,0,0,252,8,16,32,56,4,4,4,140,120,6,14,14, - 8,1,254,72,48,0,0,124,8,16,32,56,4,4,4,132, - 120,6,14,14,8,1,254,36,24,0,0,24,8,8,8,8, - 8,8,8,144,96,7,10,10,8,1,0,206,162,162,162,164, - 164,168,168,168,206,7,10,10,8,1,0,192,160,174,162,162, - 164,164,168,168,206,7,11,11,8,1,0,32,32,32,110,162, - 162,164,164,168,168,110,6,14,14,8,1,0,24,96,0,0, - 120,132,132,128,128,156,132,132,140,116,6,14,14,8,1,254, - 24,96,0,4,116,136,136,136,112,64,120,132,132,120,6,10, - 10,8,1,0,144,144,144,148,244,148,148,148,148,136,6,11, - 11,8,1,255,184,196,132,132,136,144,160,192,128,128,128,6, - 13,13,8,1,0,96,24,0,132,196,196,164,164,148,148,140, - 140,132,6,11,11,8,1,0,96,24,0,184,196,132,132,132, - 132,132,132,6,14,14,8,1,0,24,96,48,72,48,48,72, - 72,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0, - 48,72,48,0,120,132,4,124,132,140,116,7,14,14,8,1, - 0,12,48,0,0,62,80,144,144,254,144,144,144,144,158,7, - 12,12,8,1,0,12,48,0,0,124,146,18,126,144,144,146, - 124,6,15,15,8,1,255,24,96,0,4,116,136,140,148,148, - 164,164,196,68,184,128,6,13,13,8,1,255,24,96,0,4, - 120,140,148,148,164,164,196,120,128}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =12 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3791] U8G_FONT_SECTION("u8g_font_unifont_4_5") = { - 0,16,16,0,254,10,4,177,6,164,0,255,0,14,254,12, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,7,12,12,8,0,0,204,34,0, - 0,60,66,2,62,66,66,70,58,6,14,14,8,1,0,120, - 132,132,0,48,72,72,132,132,252,132,132,132,132,6,12,12, - 8,1,0,120,132,132,0,120,132,4,124,132,132,140,116,7, - 14,14,8,0,0,204,34,0,0,126,64,64,64,124,64,64, - 64,64,126,7,12,12,8,0,0,204,34,0,0,60,66,66, - 126,64,64,66,60,6,14,14,8,1,0,120,132,132,0,252, - 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,120, - 132,132,0,120,132,132,252,128,128,132,120,7,14,14,8,0, - 0,204,34,0,0,62,8,8,8,8,8,8,8,8,62,7, - 12,12,8,0,0,204,34,0,0,24,8,8,8,8,8,8, - 62,6,14,14,8,1,0,120,132,132,0,124,16,16,16,16, - 16,16,16,16,124,6,12,12,8,1,0,120,132,132,0,48, - 16,16,16,16,16,16,124,7,14,14,8,0,0,204,34,0, - 0,60,66,66,66,66,66,66,66,66,60,7,12,12,8,0, - 0,204,34,0,0,60,66,66,66,66,66,66,60,6,14,14, - 8,1,0,120,132,132,0,120,132,132,132,132,132,132,132,132, - 120,6,12,12,8,1,0,120,132,132,0,120,132,132,132,132, - 132,132,120,7,14,14,8,0,0,204,34,0,0,124,66,66, - 66,124,72,68,68,66,66,7,12,12,8,0,0,204,34,0, - 0,92,98,66,64,64,64,64,64,6,14,14,8,1,0,120, - 132,132,0,248,132,132,132,248,144,136,136,132,132,6,12,12, - 8,1,0,120,132,132,0,184,196,132,128,128,128,128,128,7, - 14,14,8,0,0,204,34,0,0,66,66,66,66,66,66,66, - 66,66,60,7,12,12,8,0,0,204,34,0,0,66,66,66, - 66,66,66,70,58,6,14,14,8,1,0,120,132,132,0,132, - 132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,120, - 132,132,0,132,132,132,132,132,132,140,116,6,12,12,8,1, - 254,120,132,132,128,96,24,4,132,132,120,16,32,6,10,10, - 8,1,254,120,132,128,96,24,4,132,120,16,32,7,12,12, - 8,1,254,254,16,16,16,16,16,16,16,16,16,4,8,5, - 12,12,8,1,254,32,32,32,248,32,32,32,32,32,24,64, - 128,6,10,10,8,1,0,120,132,132,4,24,104,4,4,4, - 120,6,8,8,8,1,0,120,132,4,24,100,4,24,96,6, - 13,13,8,1,0,72,48,0,132,132,132,132,252,132,132,132, - 132,132,6,13,13,8,1,0,72,48,0,128,128,128,184,196, - 132,132,132,132,132,6,10,10,8,1,254,184,196,132,132,132, - 132,132,132,4,4,7,13,13,8,1,254,4,4,4,116,140, - 132,132,132,132,142,118,4,8,6,10,10,8,1,0,16,72, - 132,132,72,120,132,132,132,120,5,8,8,8,2,0,72,136, - 144,96,144,136,136,112,6,12,12,8,1,254,252,4,4,8, - 16,32,64,128,128,252,4,8,6,10,10,8,1,254,252,4, - 8,16,32,64,128,252,4,8,6,12,12,8,1,0,16,0, - 48,72,72,132,132,252,132,132,132,132,6,10,10,8,1,0, - 16,0,120,132,4,124,132,132,140,116,6,12,12,8,1,254, - 252,128,128,128,248,128,128,128,128,252,16,96,6,10,10,8, - 1,254,120,132,132,252,128,128,132,120,16,96,6,14,14,8, - 1,0,120,0,72,0,120,132,132,132,132,132,132,132,132,120, - 6,12,12,8,1,0,120,0,72,0,120,132,132,132,132,132, - 132,120,6,14,14,8,1,0,120,0,100,152,0,120,132,132, - 132,132,132,132,132,120,6,13,13,8,1,0,120,0,100,152, - 0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,16, - 0,120,132,132,132,132,132,132,132,132,120,6,10,10,8,1, - 0,16,0,120,132,132,132,132,132,132,120,6,14,14,8,1, - 0,120,0,16,0,120,132,132,132,132,132,132,132,132,120,6, - 12,12,8,1,0,120,0,16,0,120,132,132,132,132,132,132, - 120,7,12,12,8,1,0,124,0,130,130,68,68,40,16,16, - 16,16,16,6,12,12,8,1,254,120,0,132,132,132,132,132, - 76,52,4,4,120,4,13,13,8,2,254,96,32,32,32,32, - 32,32,32,32,48,48,64,128,7,10,10,8,1,254,184,196, - 132,132,132,132,134,134,4,8,6,12,12,8,1,254,32,32, - 32,248,32,32,32,32,44,28,16,32,5,10,10,8,1,254, - 24,8,8,8,8,8,8,8,144,96,7,11,11,8,0,0, - 16,16,16,84,186,146,146,146,146,186,84,7,10,10,8,0, - 254,84,186,146,146,146,146,186,84,16,16,7,11,11,8,0, - 0,2,26,36,44,74,82,126,98,66,66,194,7,12,12,8, - 0,255,2,60,70,74,72,80,80,96,98,66,124,128,7,11, - 11,8,0,255,2,4,60,74,80,80,96,96,66,124,128,6, - 10,10,8,1,0,64,64,64,64,240,64,64,64,64,124,7, - 12,12,8,1,0,2,4,254,24,24,16,16,48,48,80,80, - 144,7,10,10,8,1,254,120,132,128,96,24,4,132,120,18, - 12,6,10,10,8,1,254,252,4,8,16,32,64,128,192,32, - 28,6,10,10,8,1,0,120,132,132,4,8,16,16,16,16, - 16,6,8,8,8,1,0,120,132,132,4,8,16,16,16,6, - 10,10,8,1,0,120,68,68,68,120,68,244,68,68,120,7, - 10,10,8,0,0,68,68,68,68,68,254,68,68,68,56,6, - 10,10,8,1,0,48,48,48,72,72,72,72,132,132,132,6, - 14,14,8,1,254,8,8,252,144,144,160,248,160,160,192,192, - 252,128,128,7,10,10,8,0,255,2,60,70,74,126,80,96, - 66,124,128,7,10,10,8,1,0,62,8,8,8,8,62,8, - 136,136,112,7,13,13,8,1,254,8,8,0,24,8,8,62, - 8,8,8,8,144,96,7,12,12,8,1,254,112,136,136,136, - 136,136,136,136,152,104,8,6,7,10,10,8,1,254,104,152, - 136,136,136,136,152,104,8,6,6,10,10,8,1,0,120,68, - 68,68,248,80,72,72,68,68,6,8,8,8,1,0,88,100, - 68,224,64,64,64,64,7,10,10,8,1,0,130,130,68,254, - 40,16,16,16,16,16,7,10,10,8,1,254,68,68,68,254, - 68,36,28,4,4,56,6,8,8,8,1,0,184,196,132,132, - 248,128,132,120,6,8,8,8,1,0,116,140,132,132,132,140, - 148,100,6,8,8,8,1,0,152,164,196,132,132,132,196,184, - 6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,196, - 184,6,8,8,8,1,0,120,132,4,4,4,4,132,120,6, - 9,9,8,1,255,120,132,128,128,128,152,164,120,128,7,12, - 12,8,1,255,8,8,8,104,152,136,136,136,136,152,104,6, - 7,11,11,8,1,0,6,8,8,104,152,136,136,136,136,152, - 104,6,8,8,8,1,0,120,132,132,252,4,4,132,120,6, - 8,8,8,1,0,120,132,4,4,252,132,132,120,7,8,8, - 8,1,0,114,140,8,8,248,136,136,112,6,8,8,8,1, - 0,120,132,128,120,128,128,132,120,6,8,8,8,1,0,120, - 132,4,120,4,4,132,120,7,8,8,8,1,0,114,140,8, - 112,8,8,136,112,6,8,8,8,1,0,120,132,132,184,132, - 132,132,120,7,10,10,8,1,254,24,8,8,8,62,8,8, - 8,144,96,7,11,11,8,1,254,6,104,152,136,136,136,152, - 104,8,136,112,6,10,10,8,1,254,116,140,132,132,132,140, - 116,4,132,120,6,8,8,8,1,0,120,132,128,128,156,132, - 132,124,6,10,10,8,1,254,132,132,132,72,72,48,48,72, - 72,48,6,8,8,8,1,0,132,132,72,72,48,48,72,48, - 6,11,11,8,1,254,132,132,132,132,132,132,140,116,4,4, - 4,6,11,11,8,1,0,112,128,128,184,196,132,132,132,132, - 132,132,6,11,11,8,1,0,112,128,128,184,196,132,132,132, - 132,132,152,5,11,11,8,2,0,32,32,0,96,32,32,248, - 32,32,32,248,3,8,8,8,3,0,128,128,128,128,128,128, - 128,96,5,8,8,8,2,0,248,32,32,32,32,32,32,248, - 6,11,11,8,1,0,48,16,16,16,116,152,16,16,16,16, - 124,6,11,11,8,1,0,48,16,16,112,144,124,16,16,16, - 16,124,4,12,12,8,3,255,192,64,64,64,64,64,64,64, - 64,64,64,48,7,13,13,8,1,254,96,32,32,62,34,36, - 40,44,34,34,250,18,12,7,8,8,8,1,0,146,146,146, - 146,146,146,146,110,7,10,10,8,1,254,146,146,146,146,146, - 146,146,110,2,2,7,9,9,8,1,255,236,146,146,146,146, - 146,146,130,12,7,9,9,8,1,255,44,50,34,34,34,34, - 34,34,192,7,9,9,8,1,255,176,200,136,136,136,136,136, - 136,6,6,8,8,8,1,0,132,132,196,164,148,140,132,132, - 6,8,8,8,1,0,120,132,132,252,132,132,132,120,7,8, - 8,8,1,0,110,144,144,156,144,144,144,110,7,8,8,8, - 1,0,124,130,130,146,146,146,146,108,7,12,12,8,1,254, - 16,16,124,146,146,146,146,146,146,124,16,16,6,8,8,8, - 1,0,4,4,4,4,4,132,140,116,6,10,10,8,1,0, - 4,4,4,4,4,4,4,132,140,116,7,9,9,8,1,255, - 8,8,8,8,8,136,152,104,6,6,10,10,8,1,254,184, - 196,132,128,128,128,128,128,128,128,6,9,9,8,1,255,184, - 196,132,128,128,128,128,128,96,6,8,8,8,1,0,120,132, - 132,128,128,128,128,128,6,8,8,8,1,0,120,132,132,4, - 4,4,4,4,6,8,8,8,1,0,248,132,132,248,136,132, - 132,132,6,8,8,8,1,0,132,132,132,136,248,132,132,248, - 6,10,10,8,1,254,120,132,128,96,24,4,132,248,128,96, - 5,12,12,8,1,255,24,32,32,32,32,32,32,32,32,32, - 32,192,5,12,12,8,1,255,24,32,32,32,32,32,32,248, - 32,32,32,192,5,9,9,8,1,255,192,32,32,32,32,32, - 32,32,24,6,12,12,8,1,255,12,16,16,16,16,16,16, - 16,16,112,156,96,5,10,10,8,1,0,192,32,32,32,32, - 32,32,248,32,32,6,11,11,8,1,255,32,32,32,248,32, - 32,32,32,32,32,28,7,8,8,8,1,0,68,68,68,254, - 68,68,76,52,6,8,8,8,1,0,132,72,132,132,132,132, - 72,48,6,8,8,8,1,0,152,132,132,132,132,136,144,96, - 6,8,8,8,1,0,48,48,72,72,72,132,132,132,7,8, - 8,8,1,0,108,146,146,146,146,146,146,130,6,10,10,8, - 1,254,120,128,128,176,200,132,132,132,132,132,7,8,8,8, - 1,0,130,130,68,40,16,16,16,16,7,10,10,8,1,254, - 248,16,16,32,32,64,64,248,8,6,7,9,9,8,1,255, - 252,4,8,16,32,76,146,252,32,6,10,10,8,1,254,124, - 8,16,32,56,4,4,4,132,120,6,10,10,8,1,254,124, - 8,16,32,56,4,4,100,148,120,6,10,10,8,1,0,120, - 132,132,4,8,16,16,16,16,16,6,10,10,8,1,0,120, - 132,132,128,64,32,32,32,32,32,6,10,10,8,1,0,16, - 16,16,16,16,8,4,132,132,120,6,10,10,8,1,254,120, - 132,128,128,128,128,128,128,132,120,6,8,8,8,1,0,120, - 132,132,180,180,132,132,120,6,8,8,8,1,0,248,132,132, - 248,132,132,132,248,6,8,8,8,1,0,120,132,132,116,132, - 132,132,120,7,8,8,8,1,0,118,136,128,128,152,136,136, - 120,5,8,8,8,2,0,136,136,136,248,136,136,136,136,6, - 13,13,8,1,254,8,8,0,24,8,8,8,8,8,8,124, - 144,96,6,11,11,8,1,254,132,68,36,20,12,20,36,68, - 4,4,4,6,8,8,8,1,0,128,128,128,128,128,128,128, - 252,7,11,11,8,1,254,6,104,152,136,136,136,136,152,104, - 8,8,6,10,10,8,1,0,120,132,132,4,8,16,16,124, - 16,16,6,10,10,8,1,0,120,132,132,128,64,32,32,248, - 32,32,7,11,11,8,1,0,32,32,32,126,162,164,164,168, - 168,176,126,7,13,13,8,1,254,32,32,32,126,162,164,168, - 172,162,162,98,18,12,7,12,12,8,1,255,32,32,32,126, - 162,164,168,176,180,170,124,8,8,10,10,8,0,0,64,64, - 70,248,72,68,66,65,65,62,7,13,13,8,1,254,6,72, - 72,72,248,72,72,72,72,72,56,8,48,8,11,11,8,0, - 255,64,64,70,249,72,72,72,74,77,62,4,7,12,12,8, - 1,254,96,144,128,220,162,162,162,162,162,162,4,24,7,11, - 11,8,1,0,192,64,64,64,78,80,80,76,66,66,124,7, - 11,11,8,0,0,192,64,64,64,64,126,68,72,80,96,126, - 7,11,11,8,1,0,130,146,146,146,108,0,130,146,146,146, - 108,6,10,10,8,1,0,252,132,132,132,0,0,252,132,132, - 132,5,10,10,8,1,254,200,72,72,72,72,72,88,40,8, - 8,7,10,10,8,1,254,200,72,72,72,72,72,88,40,8, - 6,5,6,6,8,2,4,128,128,176,200,136,136,5,7,7, - 8,2,4,112,136,128,176,200,136,136,4,7,7,8,2,4, - 16,0,16,16,16,144,96,5,5,5,8,2,5,176,200,128, - 128,128,5,5,5,8,1,5,8,8,8,152,104,7,6,6, - 8,1,4,8,8,8,152,104,6,5,6,6,8,1,4,136, - 144,240,136,136,240,5,4,4,8,1,6,136,168,168,80,5, - 5,5,8,1,5,136,136,120,8,112,3,3,3,8,2,7, - 32,64,128,6,3,3,8,1,7,36,72,144,2,4,4,8, - 3,6,64,128,128,192,2,4,4,8,3,6,192,64,64,128, - 2,4,4,8,3,6,192,128,128,64,4,6,6,8,2,5, - 192,32,16,16,32,192,4,6,6,8,2,5,48,64,128,128, - 64,48,6,7,7,8,1,4,120,132,4,4,56,32,32,6, - 7,7,8,1,4,120,132,128,128,112,16,16,4,7,7,8, - 2,4,16,32,64,128,64,32,16,4,7,7,8,2,4,128, - 64,32,16,32,64,128,7,4,4,8,1,6,16,40,68,130, - 7,4,4,8,1,6,130,68,40,16,4,2,2,8,2,8, - 96,144,4,2,2,8,2,8,144,96,1,3,3,8,4,7, - 128,128,128,4,1,1,8,2,9,240,4,2,2,8,2,8, - 48,192,4,2,2,8,2,8,192,48,1,4,4,8,4,0, - 128,128,128,128,4,1,1,8,2,0,240,4,2,2,8,2, - 255,192,48,4,2,2,8,2,255,48,192,3,6,6,8,2, - 1,224,64,0,0,64,224,3,2,2,8,2,4,224,64,4, - 6,6,8,2,2,192,32,16,16,32,192,4,6,6,8,2, - 2,48,64,128,128,64,48,5,5,5,8,1,2,32,32,32, - 32,248,5,5,5,8,1,2,248,32,32,32,32,5,5,5, - 8,1,2,32,32,248,32,32,5,1,1,8,1,4,248,6, - 3,3,8,1,9,132,132,120,2,2,2,8,3,10,192,192, - 4,3,3,8,2,9,96,144,96,3,2,2,8,4,254,128, - 96,6,2,2,8,1,10,100,152,7,2,2,8,1,10,102, - 136,7,4,4,8,0,3,32,96,162,28,6,5,5,8,1, - 5,132,72,48,72,132,5,6,6,8,1,4,136,80,32,80, - 80,32,3,6,6,8,2,6,192,64,64,64,64,224,5,5, - 5,8,1,5,120,128,112,8,240,5,5,5,8,1,5,136, - 80,32,80,136,5,5,5,8,1,7,120,128,128,112,16,5, - 11,11,8,1,0,248,8,8,8,8,8,8,8,8,8,8, - 5,11,11,8,1,0,8,8,248,8,8,8,8,8,8,8, - 8,5,11,11,8,1,0,8,8,8,8,8,248,8,8,8, - 8,8,5,11,11,8,1,0,8,8,8,8,8,8,8,8, - 248,8,8,5,11,11,8,1,0,8,8,8,8,8,8,8, - 8,8,8,248,5,6,6,8,1,0,128,128,128,128,128,248, - 4,7,7,8,1,0,128,128,128,240,128,128,128,5,3,3, - 8,1,0,136,80,32,6,3,3,8,1,9,252,0,252,6, - 4,4,8,1,8,204,68,68,136,5,3,3,8,1,255,136, - 80,32,5,3,3,8,1,255,32,80,136,3,5,5,8,3, - 255,32,64,128,64,32,3,5,5,8,3,255,128,64,32,64, - 128,4,3,3,8,2,255,96,144,96,3,3,3,8,2,9, - 128,64,32,6,3,3,8,1,9,144,72,36,6,3,3,8, - 1,9,36,72,144,6,2,2,8,1,254,100,152,2,7,7, - 8,3,4,192,192,0,0,0,192,192,3,4,4,8,2,7, - 224,128,128,128,3,4,4,8,2,7,224,32,32,32,3,4, - 4,8,2,0,128,128,128,224,3,4,4,8,2,0,32,32, - 32,224,6,3,3,8,1,254,132,132,252,6,3,3,8,1, - 254,128,128,252,6,5,5,8,1,3,32,64,252,64,32}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 3, '1' Height: 9 - Calculated Max Values w=15 h=16 x= 7 y=12 dx=16 dy= 0 ascent=14 len=16 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 3 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[3421] U8G_FONT_SECTION("u8g_font_unifont_67_75") = { - 0,16,16,0,254,3,2,188,4,152,16,255,0,14,254,12, - 0,7,5,5,8,1,2,32,64,254,64,32,5,14,14,8, - 2,254,32,112,168,32,32,32,32,32,32,32,32,32,32,32, - 7,5,5,8,0,2,8,4,254,4,8,5,14,14,8,2, - 0,32,32,32,32,32,32,32,32,32,32,32,168,112,32,8, - 5,5,8,0,2,36,66,255,66,36,5,12,12,8,2,0, - 32,112,168,32,32,32,32,32,32,168,112,32,6,6,6,8, - 1,3,240,192,160,144,8,4,6,6,6,8,1,3,60,12, - 20,36,64,128,6,6,6,8,1,3,128,64,36,20,12,60, - 6,6,6,8,1,2,4,8,144,160,192,240,7,9,9,8, - 1,0,8,8,40,72,254,72,40,8,8,7,9,9,8,0, - 0,32,32,40,36,254,36,40,32,32,7,5,5,8,1,2, - 32,76,242,64,32,7,5,5,8,0,2,8,100,158,4,8, - 8,5,5,8,0,3,36,72,255,72,36,5,14,14,8,2, - 254,32,112,168,32,112,168,32,32,32,32,32,32,32,32,8, - 5,5,8,0,2,36,18,255,18,36,5,15,15,8,2,255, - 32,32,32,32,32,32,32,32,32,168,112,32,168,112,32,7, - 5,5,8,1,2,34,68,248,68,34,7,5,5,8,0,2, - 136,68,62,68,136,6,5,5,8,1,2,36,68,252,68,36, - 5,12,12,8,2,0,32,112,168,32,32,32,32,32,32,32, - 32,248,6,5,5,8,1,2,144,136,252,136,144,5,12,12, - 8,2,0,248,32,32,32,32,32,32,32,32,168,112,32,5, - 12,12,8,2,0,32,112,168,32,32,32,32,32,168,112,32, - 248,7,6,6,8,1,2,4,34,66,252,64,32,7,6,6, - 8,1,2,64,136,132,126,4,8,7,6,6,8,1,2,4, - 42,74,252,72,40,7,6,6,8,1,2,64,168,164,126,36, - 40,8,5,5,8,0,2,36,90,231,66,36,8,9,9,8, - 0,0,8,8,44,74,255,74,44,8,8,6,12,12,8,1, - 0,128,128,128,144,176,208,144,16,16,84,56,16,5,9,9, - 8,1,254,32,64,240,72,40,8,8,8,8,5,9,9,8, - 2,254,32,16,120,144,160,128,128,128,128,5,12,12,8,1, - 2,8,8,8,8,8,8,8,40,72,240,64,32,5,12,12, - 8,2,2,128,128,128,128,128,128,128,160,144,120,16,32,8, - 5,5,8,0,0,252,4,21,14,4,5,12,12,8,1,2, - 8,8,8,8,8,8,8,40,72,248,64,32,8,5,5,8, - 0,1,30,33,169,113,32,8,5,5,8,0,1,120,132,149, - 142,4,6,8,8,8,1,3,252,0,240,192,160,144,8,4, - 6,11,11,8,1,0,160,192,252,192,160,0,20,12,252,12, - 20,6,6,6,8,1,1,92,152,148,132,132,120,6,6,6, - 8,1,1,232,100,164,132,132,120,7,3,3,8,1,4,32, - 64,254,7,3,3,8,1,2,254,64,32,3,14,14,8,4, - 254,128,192,160,128,128,128,128,128,128,128,128,128,128,128,3, - 14,14,8,2,254,32,96,160,32,32,32,32,32,32,32,32, - 32,32,32,7,3,3,8,0,4,8,4,254,7,3,3,8, - 0,2,254,4,8,3,14,14,8,4,0,128,128,128,128,128, - 128,128,128,128,128,128,160,192,128,3,14,14,8,2,0,32, - 32,32,32,32,32,32,32,32,32,32,160,96,32,6,11,11, - 8,1,0,16,8,252,8,16,0,32,64,252,64,32,8,12, - 12,8,0,0,36,116,172,36,36,36,36,36,36,53,46,36, - 6,11,11,8,1,0,32,64,252,64,32,0,16,8,252,8, - 16,6,11,11,8,1,0,32,64,252,64,32,0,32,64,252, - 64,32,8,12,12,8,0,0,36,126,165,36,36,36,36,36, - 36,36,36,36,6,11,11,8,1,0,16,8,252,8,16,0, - 16,8,252,8,16,8,12,12,8,0,0,36,36,36,36,36, - 36,36,36,36,165,126,36,6,7,7,8,1,1,32,64,252, - 0,252,8,16,6,7,7,8,1,1,16,8,252,0,252,64, - 32,7,9,9,8,0,0,8,8,40,126,136,126,40,8,8, - 8,9,9,8,0,0,8,8,44,126,137,126,44,8,8,7, - 9,9,8,1,0,32,32,40,252,34,252,40,32,32,6,5, - 5,8,1,2,32,124,128,124,32,5,12,12,8,2,0,32, - 80,216,80,80,80,80,80,80,80,80,80,6,5,5,8,1, - 2,16,248,4,248,16,5,12,12,8,2,0,80,80,80,80, - 80,80,80,80,80,216,80,32,8,5,5,8,0,2,36,126, - 129,126,36,5,12,12,8,2,0,32,80,216,80,80,80,80, - 80,80,216,80,32,6,6,6,8,1,3,240,160,208,168,20, - 8,6,6,6,8,1,3,60,20,44,84,160,64,6,6,6, - 8,1,3,8,20,168,208,160,240,6,6,6,8,1,3,64, - 160,84,44,20,60,7,7,7,8,0,1,16,62,64,254,64, - 62,16,7,7,7,8,1,1,16,248,4,254,4,248,16,8, - 5,5,8,0,2,32,66,245,72,32,8,5,5,8,0,2, - 4,66,175,18,4,5,14,14,8,2,254,32,112,168,32,32, - 32,248,32,248,32,32,32,32,32,5,14,14,8,2,0,32, - 32,32,32,32,248,32,248,32,32,32,168,112,32,7,5,5, - 8,1,2,32,64,238,64,32,5,14,14,8,2,254,32,112, - 168,32,32,0,32,32,32,32,0,32,32,32,8,5,5,8, - 0,2,4,2,239,2,4,5,14,14,8,2,0,32,32,32, - 0,32,32,32,32,0,32,32,168,112,32,7,5,5,8,1, - 2,160,192,254,192,160,7,5,5,8,0,2,10,6,254,6, - 10,8,7,7,8,0,1,16,48,95,129,95,48,16,7,12, - 12,8,1,0,16,40,68,238,40,40,40,40,40,40,40,56, - 8,7,7,8,0,2,8,12,250,129,250,12,8,7,12,12, - 8,1,0,56,40,40,40,40,40,40,40,238,68,40,16,7, - 12,12,8,1,0,16,40,68,238,40,40,40,56,0,56,40, - 56,7,12,12,8,1,0,16,40,68,198,68,68,68,68,68, - 198,130,254,7,12,12,8,1,0,16,40,124,198,68,68,68, - 68,68,198,130,254,7,12,12,8,1,0,16,56,84,214,84, - 84,84,84,84,214,146,254,7,13,13,8,1,0,16,40,84, - 238,68,198,68,68,68,68,68,68,124,7,13,13,8,1,0, - 16,40,84,238,68,198,68,68,68,68,198,130,254,7,7,7, - 8,1,1,16,216,244,130,244,216,16,7,9,9,8,1,0, - 254,128,184,176,168,132,130,128,128,7,9,9,8,1,0,2, - 2,130,66,42,26,58,2,254,5,12,12,8,2,0,32,80, - 216,80,80,80,80,80,80,216,80,32,13,5,10,16,1,2, - 14,32,17,16,255,248,17,16,14,32,8,12,12,8,0,0, - 36,46,53,36,36,36,36,36,36,172,116,36,8,15,15,8, - 0,254,4,2,255,2,4,4,2,255,2,4,4,2,255,2, - 4,8,5,5,8,0,2,36,68,255,68,36,8,5,5,8, - 0,2,36,34,255,34,36,11,5,10,16,2,2,36,128,68, - 64,255,224,68,64,36,128,15,5,10,16,1,2,34,128,66, - 128,255,254,66,128,34,128,15,5,10,16,0,2,2,136,2, - 132,255,254,2,132,2,136,13,5,10,16,1,2,37,32,69, - 16,255,248,69,16,37,32,8,5,5,8,0,2,32,96,191, - 96,32,8,5,5,8,0,2,4,6,253,6,4,12,5,10, - 16,2,2,32,64,96,96,191,208,96,96,32,64,8,8,8, - 8,0,6,255,255,255,255,255,255,255,255,8,2,2,8,0, - 254,255,255,8,4,4,8,0,254,255,255,255,255,8,6,6, - 8,0,254,255,255,255,255,255,255,8,8,8,8,0,254,255, - 255,255,255,255,255,255,255,8,10,10,8,0,254,255,255,255, - 255,255,255,255,255,255,255,8,12,12,8,0,254,255,255,255, - 255,255,255,255,255,255,255,255,255,8,14,14,8,0,254,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,8,16,16, - 8,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,7,16,16,8,0,254,254,254,254,254,254,254,254, - 254,254,254,254,254,254,254,254,254,6,16,16,8,0,254,252, - 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, - 16,16,8,0,254,248,248,248,248,248,248,248,248,248,248,248, - 248,248,248,248,248,4,16,16,8,0,254,240,240,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,3,16,16,8,0, - 254,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, - 224,2,16,16,8,0,254,192,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,1,16,16,8,0,254,128,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,128,4,16,16, - 8,4,254,240,240,240,240,240,240,240,240,240,240,240,240,240, - 240,240,240,7,16,16,8,0,254,136,34,136,34,136,34,136, - 34,136,34,136,34,136,34,136,34,8,16,16,8,0,254,170, - 85,170,85,170,85,170,85,170,85,170,85,170,85,170,85,8, - 16,16,8,0,254,238,187,238,187,238,187,238,187,238,187,238, - 187,238,187,238,187,8,2,2,8,0,12,255,255,1,16,16, - 8,7,254,128,128,128,128,128,128,128,128,128,128,128,128,128, - 128,128,128,4,8,8,8,0,254,240,240,240,240,240,240,240, - 240,4,8,8,8,4,254,240,240,240,240,240,240,240,240,4, - 8,8,8,0,6,240,240,240,240,240,240,240,240,8,16,16, - 8,0,254,240,240,240,240,240,240,240,240,255,255,255,255,255, - 255,255,255,8,16,16,8,0,254,240,240,240,240,240,240,240, - 240,15,15,15,15,15,15,15,15,8,16,16,8,0,254,255, - 255,255,255,255,255,255,255,240,240,240,240,240,240,240,240,8, - 16,16,8,0,254,255,255,255,255,255,255,255,255,15,15,15, - 15,15,15,15,15,4,8,8,8,4,6,240,240,240,240,240, - 240,240,240,8,16,16,8,0,254,15,15,15,15,15,15,15, - 15,240,240,240,240,240,240,240,240,8,16,16,8,0,254,15, - 15,15,15,15,15,15,15,255,255,255,255,255,255,255,255,7, - 7,7,8,1,1,254,254,254,254,254,254,254,7,7,7,8, - 1,1,254,130,130,130,130,130,254,7,7,7,8,1,1,124, - 130,130,130,130,130,124,7,7,7,8,1,1,254,130,186,186, - 186,130,254,7,7,7,8,1,1,254,130,254,130,254,130,254, - 7,7,7,8,1,1,254,170,170,170,170,170,254,7,7,7, - 8,1,1,254,170,254,170,254,170,254,7,7,7,8,1,1, - 254,166,146,202,166,146,254,7,7,7,8,1,1,254,202,146, - 166,202,146,254,7,7,7,8,1,1,254,170,214,170,214,170, - 254,4,4,4,8,2,4,240,240,240,240,4,4,4,8,2, - 4,240,144,144,240,7,4,4,8,1,4,254,254,254,254,7, - 4,4,8,1,4,254,130,130,254,4,7,7,8,2,2,240, - 240,240,240,240,240,240,4,7,7,8,2,2,240,144,144,144, - 144,144,240,8,3,3,8,0,4,63,126,252,8,3,3,8, - 0,4,63,66,252,6,6,6,8,1,3,48,48,120,120,252, - 252,6,6,6,8,1,3,48,48,72,72,132,252,6,3,3, - 8,1,3,48,120,252,6,3,3,8,1,3,48,72,252,6, - 6,6,8,1,3,192,240,252,252,240,192,6,6,6,8,1, - 3,192,176,140,140,176,192,4,4,4,8,2,4,192,240,240, - 192,4,4,4,8,2,4,192,176,176,192,6,5,5,8,1, - 3,192,240,252,240,192,6,5,5,8,1,3,192,176,140,176, - 192,6,6,6,8,1,3,252,252,120,120,48,48,6,6,6, - 8,1,3,252,132,72,72,48,48,6,3,3,8,1,3,252, - 120,48,6,3,3,8,1,3,252,72,48,6,6,6,8,1, - 3,12,60,252,252,60,12,6,6,6,8,1,3,12,52,196, - 196,52,12,4,4,4,8,2,4,48,240,240,48,4,4,4, - 8,2,4,48,208,208,48,6,5,5,8,1,3,12,60,252, - 60,12,6,5,5,8,1,3,12,52,196,52,12,7,7,7, - 8,1,2,16,56,124,254,124,56,16,7,7,7,8,1,2, - 16,40,68,130,68,40,16,7,7,7,8,1,2,16,40,84, - 186,84,40,16,7,7,7,8,1,2,56,68,178,186,154,68, - 56,6,10,10,8,1,1,48,48,72,72,132,132,72,72,48, - 48,7,7,7,8,1,2,56,68,130,130,130,68,56,7,7, - 7,8,1,2,40,0,130,0,130,0,40,7,7,7,8,1, - 2,56,108,170,170,170,108,56,7,7,7,8,1,2,56,68, - 146,170,146,68,56,7,7,7,8,1,2,56,124,254,254,254, - 124,56,7,7,7,8,1,2,56,100,226,226,226,100,56,7, - 7,7,8,1,2,56,76,142,142,142,76,56,7,7,7,8, - 1,2,56,68,130,130,254,124,56,7,7,7,8,1,2,56, - 124,254,130,130,68,56,7,7,7,8,1,2,56,92,158,158, - 130,68,56,7,7,7,8,1,2,56,76,142,142,254,124,56, - 4,7,7,8,1,2,48,112,240,240,240,112,48,4,7,7, - 8,4,2,192,224,240,240,240,224,192,8,16,16,8,0,254, - 255,255,255,255,255,255,231,195,195,231,255,255,255,255,255,255, - 8,16,16,8,0,254,255,255,255,255,255,231,219,189,189,219, - 231,255,255,255,255,255,8,8,8,8,0,6,255,255,255,255, - 255,231,219,189,8,8,8,8,0,254,189,219,231,255,255,255, - 255,255,4,4,4,8,1,5,48,64,128,128,4,4,4,8, - 4,5,192,32,16,16,4,4,4,8,4,2,16,16,32,192, - 4,4,4,8,1,2,128,128,64,48,7,4,4,8,1,5, - 56,68,130,130,7,4,4,8,1,2,130,130,68,56,6,6, - 6,8,1,255,4,12,28,60,124,252,6,6,6,8,1,255, - 128,192,224,240,248,252,6,6,6,8,1,6,252,248,240,224, - 192,128,6,6,6,8,1,6,252,124,60,28,12,4,5,5, - 5,8,1,2,112,136,136,136,112,6,6,6,8,1,3,252, - 228,228,228,228,252,6,6,6,8,1,3,252,156,156,156,156, - 252,6,6,6,8,1,3,252,244,228,196,132,252,6,6,6, - 8,1,3,252,132,140,156,188,252,7,6,6,8,1,3,254, - 146,146,146,146,254,7,7,7,8,1,2,16,40,40,68,84, - 130,254,6,6,6,8,1,2,48,48,104,104,228,252,6,7, - 7,8,1,2,48,48,88,88,156,156,252,8,8,8,8,0, - 2,60,66,129,129,129,129,66,60,6,6,6,8,1,0,252, - 164,228,132,132,252,6,6,6,8,1,0,252,132,132,228,164, - 252,6,6,6,8,1,0,252,132,132,156,148,252,6,6,6, - 8,1,0,252,148,156,132,132,252,8,8,8,8,0,0,60, - 82,145,241,129,129,66,60,8,8,8,8,0,0,60,66,129, - 129,241,145,82,60,8,8,8,8,0,0,60,66,129,129,143, - 137,74,60,8,8,8,8,0,0,60,74,137,143,129,129,66, - 60,6,6,6,8,1,6,252,136,144,160,192,128,6,6,6, - 8,1,6,252,68,36,20,12,4,6,6,6,8,1,255,128, - 192,160,144,136,252,6,6,6,8,1,255,252,132,132,132,132, - 252,6,6,6,8,1,255,252,252,252,252,252,252,4,4,4, - 8,2,0,240,144,144,240,4,4,4,8,2,0,240,240,240, - 240,6,6,6,8,1,255,4,12,20,36,68,252}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 14 - Calculated Max Values w=16 h=16 x= 5 y= 5 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-1 - X Font ascent =14 descent=-1 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7568] U8G_FONT_SECTION("u8g_font_unifont_72_73") = { - 0,16,16,0,254,10,5,238,9,116,0,255,255,14,254,14, - 255,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,14,5,10,16,1,4,115,36,132, - 164,100,188,20,164,227,36,13,5,10,16,1,4,119,72,130, - 72,98,48,18,72,226,72,13,5,10,16,1,4,247,72,130, - 72,242,48,130,72,242,72,14,5,10,16,1,4,243,124,132, - 144,244,144,132,144,243,16,14,5,10,16,1,4,244,152,132, - 164,246,164,133,172,244,156,13,5,10,16,1,4,99,72,148, - 80,244,96,148,80,147,72,14,5,10,16,1,4,231,160,148, - 32,231,160,148,32,231,188,10,5,10,16,3,4,241,192,138, - 0,241,128,136,64,243,128,11,5,10,16,2,4,139,224,136, - 128,248,128,136,128,136,128,11,5,10,16,2,4,131,224,130, - 0,131,224,130,0,250,0,11,5,10,16,2,4,139,224,136, - 128,136,128,80,128,32,128,11,5,10,16,2,4,251,224,130, - 0,251,224,130,0,130,0,11,5,10,16,2,4,123,192,130, - 32,131,192,130,64,122,32,11,5,10,16,2,4,121,192,130, - 32,114,32,10,32,241,192,11,5,10,16,2,4,123,224,128, - 128,112,128,8,128,243,224,12,5,10,16,2,4,228,112,148, - 64,148,112,148,64,231,112,13,5,10,16,1,4,227,16,148, - 48,148,16,148,16,227,56,13,5,10,16,1,4,227,48,148, - 8,148,16,148,32,227,56,13,5,10,16,1,4,227,48,148, - 8,148,48,148,8,227,48,13,5,10,16,1,4,227,8,148, - 24,148,40,148,56,227,8,14,5,10,16,1,4,147,36,212, - 168,212,176,183,168,148,164,14,5,10,16,1,4,104,164,133, - 52,98,44,18,36,226,36,13,5,10,16,1,4,247,112,130, - 72,242,112,130,72,242,112,13,5,10,16,1,4,102,72,137, - 104,143,88,137,72,105,72,11,5,10,16,2,4,250,32,131, - 96,250,160,130,32,250,32,14,5,10,16,1,4,116,184,132, - 164,100,184,20,164,227,56,14,5,10,16,1,4,243,156,132, - 32,243,32,128,160,247,28,9,5,10,16,3,4,243,128,132, - 0,243,0,128,128,135,0,9,5,10,16,3,4,115,128,132, - 0,179,0,144,128,119,0,9,5,10,16,3,4,227,128,148, - 0,227,0,160,128,151,0,9,5,10,16,3,4,147,128,148, - 0,147,0,144,128,103,0,9,5,10,16,1,4,119,0,132, - 128,103,0,20,0,228,0,14,5,10,16,1,4,231,160,148, - 32,151,160,148,32,231,188,6,10,10,8,1,0,40,48,32, - 96,184,36,36,36,36,56,6,2,2,8,1,0,132,252,6, - 9,9,8,1,1,144,208,176,144,0,32,32,32,60,7,7, - 7,8,1,2,2,20,42,84,168,80,128,6,11,11,8,1, - 0,120,132,132,128,64,32,16,16,0,16,16,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,12,251,236,195,220,223,188,195,188,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,195,156,251,108,195,156,223,108,195,156,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,195,156,251,108,195,140,223,236,195,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,195,12,251,108,195,12,223,108, - 195,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,195,28,251,108,195,28, - 223,108,195,28,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,195,140,251,124, - 195,124,223,124,195,140,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,28, - 251,108,195,108,223,108,195,28,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 195,12,251,124,195,28,223,124,195,12,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,12,251,124,195,28,223,124,195,124,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,199,156,251,108,227,108,251,108,199,156,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,199,220,251,156,227,220,251,220,199,140, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,199,12,251,236,227,12,251,124, - 199,12,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,199,28,251,236,227,140, - 251,236,199,28,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,199,108,251,108, - 227,12,251,236,199,236,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,12, - 251,124,227,12,251,236,199,12,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 199,156,251,124,227,28,251,108,199,156,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,199,12,251,236,227,220,251,188,199,188,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,199,156,251,108,227,156,251,108,199,156,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,199,156,251,108,227,140,251,236,199,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,199,12,251,108,227,12,251,108, - 199,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,199,28,251,108,227,28, - 251,108,199,28,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,199,140,251,124, - 227,124,251,124,199,140,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,28, - 251,108,227,108,251,108,199,28,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 199,12,251,124,227,28,251,124,199,12,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,199,12,251,124,227,28,251,124,199,124,255,252,5,10, - 10,8,2,0,56,40,40,40,32,32,160,160,160,224,5,10, - 10,8,2,0,8,8,8,8,8,248,136,136,136,136,5,10, - 10,8,2,0,136,136,136,136,136,248,32,32,32,32,5,10, - 10,8,2,0,32,32,32,32,32,248,136,136,136,136,5,10, - 10,8,2,0,248,168,168,168,32,32,168,168,168,248,5,5, - 5,8,2,5,136,216,168,216,136,6,8,8,8,1,1,28, - 220,220,192,192,220,220,28,8,10,10,8,0,0,3,3,3, - 27,24,24,216,192,192,192,7,10,10,8,1,0,14,174,174, - 160,160,160,160,160,160,160,7,9,9,8,1,0,218,218,218, - 218,218,218,218,218,218,8,10,10,8,0,0,160,160,80,40, - 40,20,20,10,5,5,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,219,28,219,108, - 195,28,251,108,251,28,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,219,140, - 219,124,195,124,251,124,251,140,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 219,28,219,108,195,108,251,108,251,28,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,219,12,219,124,195,28,251,124,251,12,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,219,12,219,124,195,28,251,124,251,124,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,195,156,223,108,195,108,251,108,195,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,195,220,223,156,195,220,251,220, - 195,140,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,195,12,223,236,195,12, - 251,124,195,12,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,236, - 195,140,251,236,195,28,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,108, - 223,108,195,12,251,236,195,236,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 195,12,223,124,195,12,251,236,195,12,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,156,223,124,195,28,251,108,195,156,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,195,12,223,236,195,220,251,188,195,188,255,252, - 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, - 195,236,255,252,255,252,195,156,223,108,195,156,251,108,195,156, - 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, - 223,236,195,236,255,252,255,252,195,156,223,108,195,140,251,236, - 195,156,255,252,14,14,28,16,1,255,255,252,195,108,251,108, - 195,12,223,236,195,236,255,252,255,252,195,12,223,108,195,12, - 251,108,195,108,255,252,14,14,28,16,1,255,255,252,195,108, - 251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,108, - 195,28,251,108,195,28,255,252,14,14,28,16,1,255,255,252, - 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,140, - 223,124,195,124,251,124,195,140,255,252,14,14,28,16,1,255, - 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, - 195,28,223,108,195,108,251,108,195,28,255,252,14,14,28,16, - 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, - 255,252,195,12,223,124,195,28,251,124,195,12,255,252,14,14, - 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, - 255,252,255,252,195,12,223,124,195,28,251,124,195,124,255,252, - 15,15,30,16,0,255,7,192,24,48,32,8,65,4,67,4, - 133,2,129,2,129,2,129,2,129,2,65,4,71,196,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 67,132,68,68,132,66,128,66,128,130,129,2,130,2,68,4, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,132,68,68,132,66,128,66,129,130,128,66, - 132,66,68,68,67,132,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,132,65,132,130,130,132,130, - 136,130,143,194,128,130,64,132,64,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,196,68,4, - 132,2,132,2,135,130,128,66,128,66,68,68,67,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 65,132,66,4,132,2,132,2,135,130,132,66,132,66,68,68, - 67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,64,68,128,66,128,130,128,130,128,130, - 129,2,65,4,65,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66, - 131,130,132,66,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,67,132,68,68, - 132,66,132,66,131,194,128,66,128,66,64,132,67,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,68,100,140,146,148,146,132,146,132,146,132,146,95,100, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,68,140,194,149,66,132,66,132,66, - 132,66,95,244,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,100,140,146,148,18, - 132,34,132,66,132,130,95,244,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,100, - 140,146,148,18,132,34,132,18,132,146,95,100,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,68,20,140,50,148,82,132,146,132,250,132,18,95,20, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,244,140,130,148,130,132,226,132,18, - 132,146,95,100,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,116,140,130,148,130, - 132,226,132,146,132,146,95,100,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,244, - 140,18,148,18,132,34,132,34,132,66,95,68,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,68,100,140,146,148,146,132,98,132,146,132,146,95,100, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,100,140,146,148,146,132,114,132,18, - 132,18,95,100,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,76,100,146,146,130,146, - 132,146,136,146,144,146,94,100,64,4,32,8,24,48,7,192, - 14,12,24,16,1,0,32,16,65,8,67,8,133,4,129,4, - 129,4,129,4,129,4,129,4,65,8,71,200,32,16,14,12, - 24,16,1,0,32,16,71,136,72,72,136,68,128,68,129,132, - 130,4,132,4,136,4,72,8,79,200,32,16,14,12,24,16, - 1,0,32,16,71,136,72,72,136,68,128,68,131,132,128,68, - 128,68,136,68,72,72,71,136,32,16,14,12,24,16,1,0, - 32,16,64,136,65,136,130,132,132,132,136,132,136,132,143,196, - 128,132,64,136,64,136,32,16,14,12,24,16,1,0,32,16, - 79,200,72,8,136,4,136,4,143,132,128,68,128,68,128,68, - 72,72,71,136,32,16,14,12,24,16,1,0,32,16,67,136, - 68,8,136,4,136,4,143,132,136,68,136,68,136,68,72,72, - 71,136,32,16,14,12,24,16,1,0,32,16,79,200,64,72, - 128,68,128,132,128,132,128,132,129,4,129,4,65,8,65,8, - 32,16,14,12,24,16,1,0,32,16,71,136,72,72,136,68, - 136,68,135,132,136,68,136,68,136,68,72,72,71,136,32,16, - 14,12,24,16,1,0,32,16,71,136,72,72,136,68,136,68, - 135,196,128,68,128,68,128,68,64,136,71,8,32,16,16,12, - 24,16,0,0,64,2,136,49,152,73,168,133,136,133,136,133, - 136,133,136,133,136,133,136,73,190,49,64,2,16,12,24,16, - 0,0,64,2,136,17,152,49,168,81,136,17,136,17,136,17, - 136,17,136,17,136,17,190,125,64,2,16,12,24,16,0,0, - 64,2,136,121,152,133,168,133,136,5,136,25,136,33,136,65, - 136,129,136,129,190,253,64,2,16,12,24,16,0,0,64,2, - 136,121,152,133,168,133,136,5,136,57,136,5,136,5,136,133, - 136,133,190,121,64,2,16,12,24,16,0,0,64,2,136,9, - 152,25,168,41,136,73,136,137,136,137,136,253,136,9,136,9, - 190,9,64,2,16,12,24,16,0,0,64,2,136,253,152,129, - 168,129,136,129,136,249,136,5,136,5,136,5,136,133,190,121, - 64,2,16,12,24,16,0,0,64,2,136,57,152,65,168,129, - 136,129,136,249,136,133,136,133,136,133,136,133,190,121,64,2, - 16,12,24,16,0,0,64,2,137,249,152,9,168,9,136,17, - 136,17,136,17,136,33,136,33,136,33,190,33,64,2,16,12, - 24,16,0,0,64,2,136,121,152,133,168,133,136,133,136,121, - 136,133,136,133,136,133,136,133,190,121,64,2,16,12,24,16, - 0,0,64,2,136,121,152,133,168,133,136,133,136,125,136,5, - 136,5,136,5,136,9,190,113,64,2,16,12,24,16,0,0, - 64,2,156,49,162,73,162,133,130,133,132,133,136,133,144,133, - 160,133,160,73,190,49,64,2,7,10,10,16,5,0,32,96, - 160,32,32,32,32,32,32,250,8,10,10,16,4,0,120,132, - 132,4,24,32,64,128,128,253,8,10,10,16,4,0,120,132, - 132,4,56,4,4,132,132,121,8,10,10,16,4,0,8,24, - 40,72,136,136,252,8,8,9,8,10,10,16,4,0,252,128, - 128,128,248,4,4,4,132,121,8,10,10,16,4,0,56,64, - 128,128,248,132,132,132,132,121,8,10,10,16,4,0,252,4, - 4,8,8,8,16,16,16,17,8,10,10,16,4,0,120,132, - 132,132,120,132,132,132,132,121,8,10,10,16,4,0,120,132, - 132,132,124,4,4,4,8,113,14,10,20,16,1,0,32,192, - 97,32,162,16,34,16,34,16,34,16,34,16,34,16,33,32, - 248,196,14,10,20,16,1,0,32,64,96,192,161,64,32,64, - 32,64,32,64,32,64,32,64,32,64,249,244,14,10,20,16, - 1,0,33,224,98,16,162,16,32,16,32,96,32,128,33,0, - 34,0,34,0,251,244,14,10,20,16,1,0,33,224,98,16, - 162,16,32,16,32,224,32,16,32,16,34,16,34,16,249,228, - 14,10,20,16,1,0,32,32,96,96,160,160,33,32,34,32, - 34,32,35,240,32,32,32,32,248,36,14,10,20,16,1,0, - 35,240,98,0,162,0,34,0,35,224,32,16,32,16,32,16, - 34,16,249,228,14,10,20,16,1,0,32,224,97,0,162,0, - 34,0,35,224,34,16,34,16,34,16,34,16,249,228,14,10, - 20,16,1,0,35,240,96,16,160,16,32,32,32,32,32,32, - 32,64,32,64,32,64,248,68,14,10,20,16,1,0,33,224, - 98,16,162,16,34,16,33,224,34,16,34,16,34,16,34,16, - 249,228,14,10,20,16,1,0,33,224,98,16,162,16,34,16, - 33,240,32,16,32,16,32,16,32,32,249,196,15,10,20,16, - 1,0,120,96,132,144,133,8,5,8,25,8,33,8,65,8, - 129,8,128,144,252,98,14,12,24,16,1,0,32,16,64,8, - 71,136,136,68,128,68,135,196,136,68,136,68,136,196,71,72, - 64,8,32,16,14,12,24,16,1,0,40,16,72,8,72,8, - 139,132,140,68,136,68,136,68,136,68,136,68,76,72,75,136, - 32,16,14,12,24,16,1,0,32,16,64,8,71,136,136,68, - 136,4,136,4,136,4,136,4,136,68,71,136,64,8,32,16, - 14,12,24,16,1,255,32,80,64,72,64,72,135,68,136,196, - 136,68,136,68,136,68,136,68,72,200,71,72,32,16,14,12, - 24,16,1,0,32,16,64,8,71,136,136,68,136,68,143,196, - 136,4,136,4,136,68,71,136,64,8,32,16,14,12,24,16, - 1,255,33,144,66,8,66,8,130,4,143,132,130,4,130,4, - 130,4,130,4,66,8,66,8,32,16,14,12,24,16,1,0, - 32,16,64,72,71,72,136,132,136,132,136,132,135,4,132,4, - 135,132,72,72,72,72,39,144,14,12,24,16,1,255,40,16, - 72,8,72,8,139,132,140,68,136,68,136,68,136,68,136,68, - 72,72,72,72,32,16,13,12,24,16,1,0,34,32,66,16, - 64,16,134,8,130,8,130,8,130,8,130,8,130,8,66,16, - 79,144,32,32,13,13,26,16,1,255,32,160,64,144,64,16, - 129,136,128,136,128,136,128,136,128,136,128,136,64,144,64,144, - 41,32,6,0,14,12,24,16,1,255,32,16,72,8,72,8, - 136,132,137,4,138,4,140,4,138,4,137,4,72,136,72,72, - 32,16,13,12,24,16,1,0,32,32,70,16,66,16,130,8, - 130,8,130,8,130,8,130,8,130,8,66,16,79,144,32,32, - 15,12,24,16,1,0,32,8,64,4,78,196,137,34,137,34, - 137,34,137,34,137,34,137,34,73,36,64,4,32,8,14,12, - 24,16,1,255,32,16,64,8,75,136,140,68,136,68,136,68, - 136,68,136,68,136,68,72,72,64,8,32,16,14,12,24,16, - 1,0,32,16,64,8,71,136,136,68,136,68,136,68,136,68, - 136,68,136,68,71,136,64,8,32,16,14,12,24,16,1,0, - 32,16,64,8,75,136,140,68,136,68,136,68,136,68,136,68, - 140,68,75,136,72,8,40,16,14,12,24,16,1,255,32,16, - 64,8,71,72,136,196,136,68,136,68,136,68,136,68,136,196, - 71,72,64,72,32,80,14,12,24,16,1,0,32,16,64,8, - 75,136,140,68,136,68,136,4,136,4,136,4,136,4,72,8, - 64,8,32,16,14,12,24,16,1,0,32,16,64,8,71,136, - 136,68,136,4,134,4,129,132,128,68,136,68,71,136,64,8, - 32,16,14,12,24,16,1,255,32,16,66,8,66,8,143,132, - 130,4,130,4,130,4,130,4,130,4,66,8,65,136,32,16, - 14,12,24,16,1,0,32,16,64,8,72,72,136,68,136,68, - 136,68,136,68,136,68,136,196,71,72,64,8,32,16,14,12, - 24,16,1,255,32,16,64,8,72,72,136,68,136,68,132,132, - 132,132,132,132,131,4,67,8,64,8,32,16,15,12,24,16, - 1,0,32,8,64,4,72,36,137,34,137,34,137,34,137,34, - 137,34,137,34,70,196,64,4,32,8,14,12,24,16,1,255, - 32,16,64,8,72,72,136,68,132,132,131,4,131,4,132,132, - 136,68,72,72,64,8,32,16,14,12,24,16,1,0,32,16, - 64,8,72,72,136,68,136,68,136,68,136,68,132,196,131,68, - 64,72,64,72,39,144,14,12,24,16,1,0,32,16,64,8, - 79,200,128,68,128,132,129,4,130,4,132,4,136,4,79,200, - 64,8,32,16,15,15,30,16,0,255,7,192,24,48,32,8, - 65,4,66,132,130,130,132,66,132,66,135,194,132,66,68,68, - 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,132,68,68,132,66,132,66,135,130,132,66, - 132,66,68,68,71,132,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, - 132,2,132,2,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,4,68,132, - 132,66,132,66,132,66,132,66,132,66,68,132,71,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 71,196,68,4,132,2,132,2,135,130,132,2,132,2,68,4, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,68,4,132,2,132,2,135,130,132,2, - 132,2,68,4,68,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, - 133,194,132,66,132,66,68,196,67,68,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68, - 132,66,132,66,135,194,132,66,132,66,68,68,68,68,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 71,196,65,4,129,2,129,2,129,2,129,2,129,2,65,4, - 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,228,64,132,128,130,128,130,128,130,128,130, - 132,130,68,132,67,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,68,68,68,68,132,130,133,2, - 134,2,133,2,132,130,68,68,68,68,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,68,4,68,4, - 132,2,132,2,132,2,132,2,132,2,68,4,71,196,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 68,68,68,68,134,194,134,194,133,66,133,66,132,66,68,68, - 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,68,134,66,134,66,133,66,133,66, - 132,194,68,196,68,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66, - 132,66,132,66,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,71,132,68,68, - 132,66,132,66,135,130,132,2,132,2,68,4,68,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 67,132,68,68,132,66,132,66,132,66,132,66,133,66,70,196, - 67,132,32,104,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,132,68,68,132,66,132,66,135,130,133,2, - 132,130,68,132,68,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, - 131,130,128,66,132,66,68,68,67,132,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,79,228,65,4, - 129,2,129,2,129,2,129,2,129,2,65,4,65,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 68,68,68,68,132,66,132,66,132,66,132,66,132,66,68,68, - 67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,72,36,72,36,132,66,132,66,132,66,130,130, - 130,130,65,4,65,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,68,68,68,68,132,66,133,66, - 133,66,134,194,134,194,68,68,68,68,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68, - 130,130,130,130,129,2,130,130,130,130,68,68,68,68,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 72,36,72,36,132,66,132,66,130,130,129,2,129,2,65,4, - 65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,71,196,64,68,128,66,128,130,129,2,130,2, - 132,2,68,4,71,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,67,132,132,66,128,66, - 131,194,132,66,132,194,67,68,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,36,8,68,4,68,4, - 133,130,134,66,132,66,132,66,132,66,70,68,69,132,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,67,132,132,66,132,2,132,2,132,2,132,66,67,132, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,72,64,68,64,68,131,66,132,194,132,66,132,66, - 132,66,68,196,67,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,67,132,132,66,132,66, - 135,194,132,2,132,66,67,132,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,196,65,4, - 129,2,129,2,135,194,129,2,129,2,65,4,65,4,33,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,68,67,68,132,130,132,130,131,2,130,2,131,130,68,68, - 68,68,35,136,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,36,8,68,4,68,4,133,130,134,66,132,66,132,66, - 132,66,68,68,68,68,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,33,8,65,4,64,4,131,2,129,2, - 129,2,129,2,129,2,65,4,71,196,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,72,64,68,64,4, - 128,194,128,66,128,66,128,66,128,66,64,68,68,132,35,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 68,4,68,4,132,130,133,2,134,2,134,2,133,2,68,132, - 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,67,4,65,4,129,2,129,2,129,2,129,2, - 129,2,65,4,71,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,78,196,137,34,137,34, - 137,34,137,34,137,34,73,36,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132, - 134,66,132,66,132,66,132,66,132,66,68,68,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,67,132,132,66,132,66,132,66,132,66,132,66,67,132, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,69,132,134,66,132,66,132,66,132,66, - 134,66,69,132,68,4,36,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,67,68,132,194,132,66, - 132,66,132,66,132,66,68,196,67,68,32,72,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132, - 134,66,132,66,132,2,132,2,132,2,68,4,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,67,132,132,66,132,2,131,130,128,66,132,66,67,132, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,65,4,65,4,135,194,129,2,129,2,129,2, - 129,2,65,4,64,196,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66, - 132,66,132,66,132,194,67,68,64,4,32,8,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,68, - 132,66,130,130,130,130,130,130,129,2,65,4,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 64,4,72,36,137,34,137,34,137,34,137,34,137,34,70,196, - 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 24,48,32,8,64,4,68,68,132,66,130,130,129,2,130,130, - 132,66,68,68,64,4,32,8,24,48,7,192,15,15,30,16, - 0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66, - 132,66,130,194,129,66,64,68,64,68,35,136,24,48,7,192, - 15,15,30,16,0,255,7,192,24,48,32,8,64,4,71,196, - 128,66,128,130,129,2,130,2,132,2,71,196,64,4,32,8, - 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, - 65,4,66,132,132,66,132,66,132,66,132,66,132,66,66,132, - 65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,127,252,123,188,243,62,234,190,251,190,251,190, - 251,190,96,12,127,252,63,248,31,240,7,192,15,15,30,16, - 0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,238, - 251,222,251,190,251,126,96,12,127,252,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,127,252,123,156, - 243,110,235,238,251,222,251,238,251,110,96,156,127,252,63,248, - 31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248, - 127,252,123,236,243,206,235,174,251,110,251,6,251,238,96,236, - 127,252,63,248,31,240,7,192,15,15,30,16,0,255,7,192, - 31,240,63,248,127,252,123,12,243,126,235,126,251,30,251,238, - 251,110,96,156,127,252,63,248,31,240,7,192,13,13,26,16, - 1,0,15,128,63,224,127,240,119,16,230,248,214,248,246,56, - 246,216,246,216,65,48,127,240,63,224,15,128,13,13,26,16, - 1,0,15,128,63,224,127,240,118,16,231,216,215,216,247,184, - 247,184,247,120,65,112,127,240,63,224,15,128,13,13,26,16, - 1,0,15,128,63,224,127,240,119,48,230,216,214,216,247,56, - 246,216,246,216,65,48,127,240,63,224,15,128,15,15,30,16, - 0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,110, - 251,142,251,238,251,238,96,156,127,252,63,248,31,240,7,192, - 15,15,30,16,0,255,7,192,31,240,63,248,127,252,115,156, - 237,110,253,110,251,110,247,110,239,110,97,156,127,252,63,248, - 31,240,7,192,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,144,137,161,133,160,133,160,133,145,201,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,145,137,160,69,160,133,161,5, - 145,201,80,10,76,50,35,196,24,24,7,224,16,15,30,16, - 0,254,7,224,24,24,35,196,76,50,80,10,145,137,160,69, - 161,133,160,69,145,137,80,10,76,50,35,196,24,24,7,224, - 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, - 146,137,162,133,163,197,160,133,144,137,80,10,76,50,35,196, - 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,145,201,161,5,161,133,160,69,145,137,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,145,137,162,5,163,133,162,69, - 145,137,80,10,76,50,35,196,24,24,7,224,16,15,30,16, - 0,254,7,224,24,24,35,196,76,50,80,10,145,201,160,69, - 160,69,160,133,144,137,80,10,76,50,35,196,24,24,7,224, - 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, - 145,137,162,69,161,133,162,69,145,137,80,10,76,50,35,196, - 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, - 76,50,80,10,145,137,162,69,161,197,160,69,145,137,80,10, - 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, - 24,24,35,196,76,50,80,10,146,105,166,149,162,149,162,149, - 151,105,80,10,76,50,35,196,24,24,7,224,15,15,30,16, - 0,255,7,192,31,240,63,248,126,252,125,124,251,190,251,190, - 251,190,251,190,251,190,125,124,126,252,63,248,31,240,7,192 - }; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 6, '1' Height: 3 - Calculated Max Values w= 8 h=10 x= 2 y= 4 dx= 8 dy= 0 ascent=11 len=10 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 - Pure Font ascent = 6 descent= 0 - X Font ascent = 8 descent= 0 - Max Font ascent =11 descent= 0 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_FONT_SECTION("u8g_font_unifont_75r") = { - 0,16,16,0,254,6,1,137,0,0,32,79,0,11,0,8, - 0,7,7,7,8,1,1,254,254,254,254,254,254,254,7,7, - 7,8,1,1,254,130,130,130,130,130,254,7,7,7,8,1, - 1,124,130,130,130,130,130,124,7,7,7,8,1,1,254,130, - 186,186,186,130,254,7,7,7,8,1,1,254,130,254,130,254, - 130,254,7,7,7,8,1,1,254,170,170,170,170,170,254,7, - 7,7,8,1,1,254,170,254,170,254,170,254,7,7,7,8, - 1,1,254,166,146,202,166,146,254,7,7,7,8,1,1,254, - 202,146,166,202,146,254,7,7,7,8,1,1,254,170,214,170, - 214,170,254,4,4,4,8,2,4,240,240,240,240,4,4,4, - 8,2,4,240,144,144,240,7,4,4,8,1,4,254,254,254, - 254,7,4,4,8,1,4,254,130,130,254,4,7,7,8,2, - 2,240,240,240,240,240,240,240,4,7,7,8,2,2,240,144, - 144,144,144,144,240,8,3,3,8,0,4,63,126,252,8,3, - 3,8,0,4,63,66,252,6,6,6,8,1,3,48,48,120, - 120,252,252,6,6,6,8,1,3,48,48,72,72,132,252,6, - 3,3,8,1,3,48,120,252,6,3,3,8,1,3,48,72, - 252,6,6,6,8,1,3,192,240,252,252,240,192,6,6,6, - 8,1,3,192,176,140,140,176,192,4,4,4,8,2,4,192, - 240,240,192,4,4,4,8,2,4,192,176,176,192,6,5,5, - 8,1,3,192,240,252,240,192,6,5,5,8,1,3,192,176, - 140,176,192,6,6,6,8,1,3,252,252,120,120,48,48,6, - 6,6,8,1,3,252,132,72,72,48,48,6,3,3,8,1, - 3,252,120,48,6,3,3,8,1,3,252,72,48,6,6,6, - 8,1,3,12,60,252,252,60,12,6,6,6,8,1,3,12, - 52,196,196,52,12,4,4,4,8,2,4,48,240,240,48,4, - 4,4,8,2,4,48,208,208,48,6,5,5,8,1,3,12, - 60,252,60,12,6,5,5,8,1,3,12,52,196,52,12,7, - 7,7,8,1,2,16,56,124,254,124,56,16,7,7,7,8, - 1,2,16,40,68,130,68,40,16,7,7,7,8,1,2,16, - 40,84,186,84,40,16,7,7,7,8,1,2,56,68,178,186, - 154,68,56,6,10,10,8,1,1,48,48,72,72,132,132,72, - 72,48,48,7,7,7,8,1,2,56,68,130,130,130,68,56, - 7,7,7,8,1,2,40,0,130,0,130,0,40,7,7,7, - 8,1,2,56,108,170,170,170,108,56,7,7,7,8,1,2, - 56,68,146,170,146,68,56,7,7,7,8,1,2,56,124,254, - 254,254,124,56}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 8 - Calculated Max Values w=16 h=16 x= 3 y= 6 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent= 0 - X Font ascent =10 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_76[2540] U8G_FONT_SECTION("u8g_font_unifont_76") = { - 0,16,16,0,254,10,2,62,4,228,32,159,0,14,254,10, - 0,7,12,12,8,1,0,16,146,68,0,56,124,124,56,0, - 68,146,16,8,4,4,8,0,6,32,118,255,126,7,8,8, - 8,1,2,56,124,254,16,16,16,16,32,16,16,32,16,0, - 254,139,200,3,192,47,241,4,36,138,80,40,18,10,80,73, - 148,4,33,71,224,8,16,16,136,120,30,16,136,8,16,7, - 224,7,11,11,8,1,0,68,68,72,72,80,82,4,96,144, - 144,96,7,6,6,8,1,3,16,16,254,56,108,68,7,7, - 7,8,1,3,16,16,238,68,84,108,68,5,9,9,8,2, - 0,8,16,32,64,128,64,40,24,56,6,8,8,8,1,0, - 252,132,136,144,160,148,140,156,8,8,8,8,0,0,60,66, - 129,153,153,129,66,60,8,6,6,8,0,2,24,36,36,102, - 165,66,8,6,6,8,0,2,66,165,102,36,36,24,5,6, - 6,8,1,2,8,16,96,144,144,96,7,9,9,8,1,0, - 12,18,18,12,16,96,144,144,96,7,6,6,8,1,1,124, - 198,0,84,198,254,7,7,7,8,1,1,124,130,186,124,146, - 130,254,7,7,7,8,1,0,254,130,130,130,130,130,254,7, - 8,8,8,1,0,8,254,138,138,202,178,130,254,7,7,7, - 8,1,0,254,130,170,146,170,130,254,5,10,10,8,2,0, - 136,136,80,80,32,32,80,80,136,136,7,12,12,8,1,2, - 10,160,8,130,56,124,254,16,16,16,16,32,12,13,26,16, - 2,0,36,128,73,0,73,0,36,128,36,128,73,0,0,0, - 127,32,255,208,191,80,128,80,128,224,127,0,11,13,26,16, - 2,0,4,0,10,0,17,0,32,128,64,64,128,32,128,32, - 128,32,128,32,128,32,128,32,128,32,255,224,11,13,26,16, - 2,0,4,0,14,0,31,0,63,128,127,192,255,224,255,224, - 255,224,255,224,255,224,255,224,255,224,255,224,13,13,26,16, - 1,255,5,0,15,128,15,128,103,48,242,120,127,240,242,120, - 98,48,4,0,4,0,4,0,8,0,16,0,13,12,24,16, - 1,0,0,8,3,144,71,208,143,208,159,208,255,176,127,184, - 31,200,15,200,7,200,3,136,0,16,7,4,4,8,1,2, - 252,62,62,28,7,4,4,8,1,2,126,248,248,112,7,4, - 4,8,1,2,252,34,50,28,4,7,7,8,2,2,16,16, - 112,208,144,144,96,7,4,4,8,1,2,126,136,152,112,4, - 7,7,8,2,0,96,144,144,208,112,16,16,8,12,12,8, - 0,0,231,165,126,129,165,165,129,90,90,66,189,231,4,10, - 10,8,2,0,224,16,16,32,32,64,64,128,128,112,16,16, - 32,16,0,254,7,224,24,24,36,36,92,58,92,58,190,125, - 190,125,190,125,129,129,129,129,131,193,67,194,71,226,35,196, - 24,24,7,224,15,13,26,16,0,255,4,64,8,32,16,16, - 16,16,19,144,12,96,62,248,68,68,133,66,131,130,2,128, - 4,64,24,48,13,15,30,16,1,254,6,0,2,0,255,248, - 71,16,63,224,2,0,26,192,34,32,31,192,18,64,15,128, - 10,128,7,0,10,128,2,0,5,8,8,8,2,0,112,136, - 80,32,248,32,32,32,5,9,9,8,2,0,32,112,32,248, - 32,96,48,32,32,6,10,10,8,1,0,56,36,36,56,32, - 168,112,32,112,168,5,9,9,8,2,0,32,112,32,248,32, - 32,32,32,32,7,7,7,8,1,0,56,16,146,254,146,16, - 56,8,9,9,8,0,1,30,33,64,194,199,194,64,33,30, - 11,11,22,16,2,0,21,0,27,0,0,0,85,64,164,160, - 164,160,164,160,149,32,78,64,31,0,4,0,11,12,24,16, - 3,255,4,0,21,0,36,128,78,64,213,96,213,96,206,96, - 228,224,223,96,142,32,21,0,4,0,8,8,8,8,0,0, - 12,2,57,121,13,62,99,193,7,8,8,8,1,0,124,146, - 146,146,186,214,146,124,16,16,32,16,0,254,7,224,24,24, - 32,4,64,2,64,2,156,49,190,49,255,3,231,131,231,199, - 255,255,127,254,127,254,63,252,31,248,7,224,13,10,20,16, - 1,0,255,248,255,248,0,0,0,0,255,248,255,248,0,0, - 0,0,255,248,255,248,13,10,20,16,1,0,248,248,248,248, - 0,0,0,0,255,248,255,248,0,0,0,0,255,248,255,248, - 13,10,20,16,1,0,255,248,255,248,0,0,0,0,248,248, - 248,248,0,0,0,0,255,248,255,248,13,10,20,16,1,0, - 248,248,248,248,0,0,0,0,248,248,248,248,0,0,0,0, - 255,248,255,248,13,10,20,16,1,0,255,248,255,248,0,0, - 0,0,255,248,255,248,0,0,0,0,248,248,248,248,13,10, - 20,16,1,0,248,248,248,248,0,0,0,0,255,248,255,248, - 0,0,0,0,248,248,248,248,13,10,20,16,1,0,255,248, - 255,248,0,0,0,0,248,248,248,248,0,0,0,0,248,248, - 248,248,13,10,20,16,1,0,248,248,248,248,0,0,0,0, - 248,248,248,248,0,0,0,0,248,248,248,248,7,7,7,8, - 1,0,146,124,124,238,124,124,146,8,10,10,8,0,1,60, - 66,129,165,129,153,165,129,66,60,8,9,9,8,0,1,60, - 66,129,165,129,165,153,66,60,8,9,9,8,0,1,60,126, - 255,219,255,219,231,126,60,7,7,7,8,1,2,146,84,56, - 238,56,84,146,6,10,10,8,2,0,224,48,24,20,20,20, - 20,24,48,224,6,10,10,8,1,0,28,48,96,160,160,160, - 160,96,48,28,5,11,11,8,2,0,136,136,112,136,136,136, - 112,32,248,32,32,5,9,9,8,2,0,112,136,136,136,112, - 32,248,32,32,5,10,10,8,2,1,32,32,248,32,32,112, - 136,136,136,112,7,8,8,8,1,1,14,6,10,112,136,136, - 136,112,6,10,10,8,1,0,4,4,4,116,140,12,20,252, - 4,4,6,10,10,8,1,0,64,64,224,64,88,100,68,72, - 72,72,7,9,9,8,1,0,214,84,124,84,214,16,56,40, - 56,8,11,11,8,0,255,8,89,203,73,73,73,62,8,62, - 8,8,6,10,10,8,1,0,248,132,132,132,248,128,128,128, - 128,252,7,10,10,8,1,0,68,170,40,40,16,16,16,16, - 16,16,7,7,7,8,1,0,130,68,56,68,68,68,56,7, - 10,10,8,1,0,130,124,40,40,40,40,40,40,124,130,7, - 8,8,8,1,0,124,146,144,96,12,18,146,124,8,9,9, - 8,0,0,28,34,34,18,116,148,148,101,2,7,10,10,8, - 1,0,168,248,170,174,170,170,170,170,12,248,7,6,6,8, - 1,1,56,68,68,238,0,254,7,10,10,8,1,0,168,248, - 168,168,168,168,168,168,170,6,7,7,7,8,1,0,30,6, - 138,82,32,80,136,8,10,10,8,0,0,49,78,132,8,16, - 60,98,162,162,28,6,6,6,8,1,2,84,168,0,0,84, - 168,6,9,9,8,1,0,132,132,72,72,252,72,72,132,132, - 7,13,13,8,1,0,16,56,146,186,198,130,68,68,68,130, - 130,130,254,7,11,11,8,1,0,16,56,198,130,68,68,68, - 130,130,130,254,7,9,9,8,1,0,170,254,130,130,68,68, - 130,130,254,7,10,10,8,1,0,16,40,68,68,68,68,40, - 238,130,254,6,11,11,8,1,0,4,60,68,132,132,116,36, - 68,132,132,252,6,8,8,8,1,0,48,72,72,48,72,72, - 132,252,7,13,13,8,1,0,16,56,146,186,254,254,124,124, - 124,254,254,254,254,7,11,11,8,1,0,16,56,254,238,124, - 124,124,254,254,254,254,7,8,8,8,1,0,170,254,254,124, - 124,254,254,254,7,10,10,8,1,0,16,56,108,68,108,124, - 56,254,254,254,6,11,11,8,1,0,4,60,108,252,252,124, - 60,124,252,252,252,6,8,8,8,1,0,48,120,120,48,120, - 120,252,252,7,10,10,8,1,0,16,16,56,124,254,254,254, - 124,16,56,7,9,9,8,1,0,108,146,130,130,130,68,40, - 16,16,5,10,10,8,2,0,32,32,80,80,136,136,80,80, - 32,32,7,10,10,8,1,0,56,56,56,16,254,254,214,16, - 16,56,7,10,10,8,1,0,16,16,40,68,130,130,130,124, - 16,56,7,9,9,8,1,0,108,254,254,254,254,124,56,16, - 16,5,10,10,8,2,0,32,32,112,112,248,248,112,112,32, - 32,7,10,10,8,1,0,56,40,56,16,238,186,214,16,16, - 56,8,11,11,8,0,0,8,81,146,146,146,73,73,73,82, - 129,126,4,10,10,8,1,0,16,16,16,16,16,16,16,112, - 240,224,6,10,10,8,1,0,16,24,20,20,16,16,16,112, - 240,224,8,11,11,8,0,0,28,23,17,17,17,17,113,241, - 231,15,14,8,11,11,8,0,0,28,23,17,29,23,17,113, - 241,231,15,14,6,12,12,8,1,0,128,128,128,128,128,184, - 204,140,136,144,160,192,6,11,11,8,1,0,128,128,156,252, - 228,132,156,252,228,4,4,6,13,13,8,1,255,8,72,76, - 124,248,200,72,76,124,248,200,72,64,7,10,10,8,1,0, - 40,16,16,146,124,146,16,16,16,40,7,10,10,8,1,0, - 56,40,16,214,186,214,16,16,40,16,16,16,32,16,0,254, - 3,192,5,32,10,152,18,72,10,208,4,48,48,4,72,10, - 140,17,80,9,160,5,174,38,82,88,82,134,30,92,0,32, - 15,16,32,16,0,254,3,128,4,64,4,64,8,32,0,40, - 57,24,27,56,41,0,33,8,67,132,64,4,128,34,128,66, - 126,252,0,64,0,32,15,16,32,16,0,254,3,128,4,64, - 4,64,8,32,0,40,59,24,24,184,41,0,34,8,67,132, - 64,4,128,34,128,66,126,252,0,64,0,32,15,16,32,16, - 0,254,3,128,4,64,4,64,8,32,0,40,57,24,24,184, - 43,0,32,136,67,4,64,4,128,34,128,66,126,252,0,64, - 0,32,15,16,32,16,0,254,3,128,4,64,4,64,8,32, - 0,40,58,152,26,184,43,128,32,136,64,132,64,4,128,34, - 128,66,126,252,0,64,0,32,15,16,32,16,0,254,3,128, - 4,64,4,64,8,32,0,40,59,152,26,56,43,0,32,136, - 67,4,64,4,128,34,128,66,126,252,0,64,0,32,15,16, - 32,16,0,254,3,128,4,64,4,64,8,32,0,40,57,152, - 26,56,43,128,34,72,65,132,64,4,128,34,128,66,126,252, - 0,64,0,32,15,16,32,16,0,254,3,128,4,64,4,64, - 8,32,0,40,59,152,24,184,41,0,33,8,65,4,64,4, - 128,34,128,66,126,252,0,64,0,32,15,16,32,16,0,254, - 3,128,4,64,4,64,8,32,0,40,56,24,24,56,40,0, - 32,8,64,4,64,4,128,34,128,66,126,252,0,64,0,32, - 16,16,32,16,0,254,3,192,5,224,14,248,30,120,14,240, - 4,48,48,4,120,14,252,31,112,15,224,7,238,38,94,120, - 94,254,30,124,0,32,16,16,32,16,0,254,7,224,31,248, - 62,124,125,190,123,222,255,143,247,223,231,255,243,239,247,239, - 239,247,111,182,113,14,63,188,31,248,7,224,16,16,32,16, - 0,254,7,224,24,24,33,132,66,66,68,34,128,113,136,33, - 152,1,140,17,136,17,144,9,80,74,78,242,32,68,24,24, - 7,224,13,12,24,16,0,255,7,0,24,192,32,32,64,16, - 77,144,146,72,146,72,77,144,64,16,32,32,24,192,7,0, - 12,11,22,16,2,0,24,0,24,0,16,0,30,0,16,0, - 95,128,128,128,128,64,129,64,66,48,60,0}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 11, '1' Height: 11 - Calculated Max Values w=16 h=16 x= 4 y= 4 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 0 - X Font ascent =11 descent=-1 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_77[1657] U8G_FONT_SECTION("u8g_font_unifont_77") = { - 0,16,16,0,254,11,3,133,6,29,32,99,0,14,254,11, - 255,9,9,18,16,3,1,255,128,128,128,128,128,128,128,136, - 128,128,128,128,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,128,128,160,128,128,128,130,128,128,128,128,128,255, - 128,9,9,18,16,3,1,255,128,128,128,160,128,128,128,136, - 128,128,128,130,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,162,128,128,128,128,128,128,128,162,128,128,128,255, - 128,9,9,18,16,3,1,255,128,128,128,162,128,128,128,136, - 128,128,128,162,128,128,128,255,128,9,9,18,16,3,1,255, - 128,128,128,162,128,128,128,162,128,128,128,162,128,128,128,255, - 128,13,12,24,16,0,255,7,0,24,192,32,32,64,16,64, - 16,128,200,128,200,64,16,64,16,32,32,24,192,7,0,13, - 12,24,16,0,255,7,0,24,192,32,32,64,16,64,16,152, - 200,152,200,64,16,64,16,32,32,24,192,7,0,13,12,24, - 16,0,255,7,0,31,192,63,224,127,240,127,240,255,56,255, - 56,127,240,127,240,63,224,15,128,7,0,13,12,24,16,0, - 255,7,0,31,192,63,224,127,240,127,240,231,56,231,56,127, - 240,127,240,63,224,15,128,7,0,13,2,4,16,1,4,255, - 248,255,248,13,2,4,16,1,4,248,248,248,248,13,6,12, - 16,1,2,255,248,255,248,0,0,0,0,255,248,255,248,13, - 6,12,16,1,2,248,248,248,248,0,0,0,0,255,248,255, - 248,13,6,12,16,1,2,255,248,255,248,0,0,0,0,248, - 248,248,248,13,6,12,16,1,2,248,248,248,248,0,0,0, - 0,248,248,248,248,6,11,11,8,1,0,224,156,132,132,228, - 156,128,128,128,128,128,6,11,11,8,1,0,224,252,252,252, - 252,156,128,128,128,128,128,16,14,28,16,0,255,7,50,95, - 124,62,126,124,31,248,39,116,67,34,129,1,0,2,128,4, - 64,8,32,16,16,32,8,64,4,14,12,24,16,1,0,3, - 128,4,64,4,64,3,128,1,0,7,192,1,0,65,8,225, - 28,65,8,33,16,31,224,13,13,26,16,1,0,128,8,64, - 16,32,32,16,64,8,128,5,0,2,0,5,0,8,128,80, - 80,32,32,80,80,128,8,9,14,28,16,3,255,8,0,8, - 0,127,128,137,128,136,0,126,0,9,0,9,0,62,0,72, - 0,60,0,10,0,28,0,8,0,15,11,22,16,0,0,1, - 0,17,16,127,252,57,56,84,84,84,84,146,146,146,146,254, - 254,124,124,56,56,11,8,16,16,2,0,63,128,95,192,143, - 192,135,128,128,0,15,128,18,64,34,32,11,13,26,16,2, - 255,14,0,17,0,17,0,17,0,14,0,4,0,228,224,245, - 224,117,192,53,128,14,0,4,0,4,0,13,13,26,16,1, - 255,2,0,66,16,47,160,16,64,32,32,32,32,226,56,32, - 32,32,32,16,64,47,160,66,16,2,0,15,13,26,16,0, - 0,1,0,2,128,57,56,127,252,253,126,5,64,3,128,1, - 0,1,0,1,0,1,0,1,0,1,0,16,16,32,16,0, - 254,1,128,2,64,2,64,116,46,142,113,133,161,78,114,53, - 172,53,172,78,114,133,161,142,113,116,46,2,64,2,64,1, - 128,15,16,32,16,0,254,1,0,2,128,4,64,52,88,76, - 100,132,66,178,154,202,166,26,176,16,16,27,176,10,160,58, - 184,38,200,25,48,1,0,15,15,30,16,0,255,1,0,2, - 128,4,64,4,64,8,0,107,252,136,2,136,34,96,36,24, - 16,6,80,0,136,33,8,38,72,24,48,12,15,30,16,2, - 255,192,0,48,0,12,0,3,0,0,192,0,48,0,0,255, - 240,0,0,0,48,0,192,3,0,12,0,48,0,192,0,12, - 15,30,16,2,255,0,48,0,192,3,0,12,0,48,0,192, - 0,0,0,255,240,0,0,192,0,48,0,12,0,3,0,0, - 192,0,48,13,14,28,16,1,255,2,0,5,0,5,0,8, - 128,8,128,18,64,18,64,34,32,34,32,66,16,64,16,130, - 8,128,8,255,248,6,11,11,8,1,255,4,8,16,32,64, - 252,8,16,32,64,128,11,9,18,16,2,0,59,128,68,64, - 138,32,138,32,68,64,59,128,17,0,59,128,17,0,11,11, - 22,16,2,0,7,0,3,0,5,0,56,224,68,96,142,160, - 149,0,104,128,48,128,17,0,14,0,10,14,28,16,3,255, - 1,192,0,192,1,64,14,0,17,0,56,128,84,128,139,0, - 134,0,68,0,56,0,16,0,56,0,16,0,8,12,12,16, - 4,254,7,3,5,56,68,130,130,68,56,16,56,16,11,10, - 20,16,2,0,0,224,0,96,2,160,1,0,58,128,68,0, - 130,0,130,0,68,0,56,0,15,13,26,16,0,254,224,14, - 192,6,168,10,16,16,43,160,4,64,8,32,8,32,4,64, - 3,128,1,0,3,128,1,0,7,12,12,8,0,0,16,56, - 84,16,56,16,56,68,130,130,68,56,14,7,14,16,0,255, - 56,0,68,16,130,136,131,252,130,136,68,16,56,0,7,7, - 7,8,0,255,56,68,130,130,130,68,56,7,7,7,8,0, - 255,56,124,254,254,254,124,56,5,5,5,8,2,0,112,136, - 136,136,112,11,6,12,16,2,0,59,128,68,64,138,32,138, - 32,68,64,59,128,11,7,14,16,3,255,4,0,117,192,142, - 32,142,32,142,32,117,192,4,0,13,5,10,16,1,0,112, - 112,136,136,143,136,136,136,112,112,14,10,20,16,2,0,24, - 0,39,128,64,124,128,0,128,0,128,0,128,0,64,124,39, - 128,24,0,11,13,26,16,2,0,31,0,10,0,63,128,64, - 64,128,32,128,32,64,64,64,64,64,64,32,128,32,128,32, - 128,31,0,7,9,9,8,0,254,56,68,130,130,68,56,16, - 16,16,6,9,9,8,0,254,112,136,4,4,8,48,32,248, - 32,7,10,10,8,0,254,16,40,68,130,68,40,16,16,124, - 16,7,10,10,8,0,254,146,84,56,254,56,84,146,16,124, - 16,13,11,22,16,1,0,2,0,2,0,2,0,2,0,114, - 112,8,128,5,0,242,120,8,128,5,0,2,0,6,11,11, - 8,1,0,36,40,48,40,36,32,112,136,136,136,112,6,10, - 10,8,1,254,56,112,224,224,224,112,56,16,124,16,8,7, - 7,8,0,3,66,36,24,255,24,36,66,7,8,8,8,0, - 0,68,68,68,40,40,40,16,254,7,8,8,8,0,0,254, - 16,40,40,40,68,68,68,6,8,8,8,1,0,252,132,132, - 132,148,252,64,252,13,13,26,16,0,255,7,0,28,192,60, - 224,92,240,64,16,135,8,143,136,231,56,112,112,96,48,39, - 32,31,192,7,0,13,13,26,16,0,255,7,0,24,192,48, - 96,72,144,64,16,133,8,128,8,133,8,64,16,72,144,48, - 96,24,192,7,0,13,13,26,16,1,255,255,248,128,8,135, - 8,136,136,136,136,135,8,130,8,130,8,130,8,131,136,130, - 8,128,8,255,248,12,9,18,16,2,0,31,128,96,96,134, - 16,134,16,224,112,191,208,169,80,105,96,31,128,12,12,24, - 16,2,0,31,128,96,96,134,16,134,16,224,112,191,208,169, - 80,233,112,191,208,169,80,105,96,31,128,14,11,22,16,1, - 255,31,224,112,56,207,204,188,244,188,244,143,196,160,20,171, - 84,203,76,112,56,31,224,14,14,28,16,1,255,31,224,112, - 56,207,204,188,244,188,244,143,196,160,20,171,84,139,68,160, - 20,171,84,203,76,112,56,31,224}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 15, '1' Height: 13 - Calculated Max Values w=16 h=16 x= 7 y= 5 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =15 descent=-2 - X Font ascent =15 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[7084] U8G_FONT_SECTION("u8g_font_unifont_78_79") = { - 0,16,16,0,254,15,8,41,11,207,1,255,254,14,254,15, - 254,15,11,22,16,0,2,56,0,124,0,108,0,124,0,60, - 0,14,0,127,252,255,254,217,192,248,224,112,0,14,11,22, - 16,0,1,112,12,248,56,216,112,254,224,127,192,7,128,127, - 192,254,224,216,112,248,56,112,12,15,11,22,16,0,255,112, - 0,248,224,217,192,255,254,127,252,14,0,60,0,124,0,108, - 0,124,0,56,0,15,11,22,16,0,1,112,12,136,50,174, - 68,129,136,121,16,6,32,120,80,129,136,174,68,136,50,112, - 12,14,11,22,16,1,255,0,8,0,20,0,36,0,72,64, - 144,161,32,162,64,84,128,73,0,34,0,28,0,15,15,30, - 16,0,255,7,192,24,48,32,8,65,196,71,228,143,242,143, - 114,158,98,156,2,159,2,79,4,70,4,32,8,24,48,7, - 192,15,15,30,16,0,255,7,192,25,48,35,136,67,132,65, - 4,131,130,135,194,135,194,135,194,139,162,92,116,88,52,32, - 8,24,48,7,192,15,14,28,16,0,255,8,0,15,0,6, - 0,7,192,195,128,227,192,127,254,127,254,227,192,195,128,7, - 192,6,0,15,0,8,0,14,7,14,16,1,3,255,252,192, - 12,176,52,140,196,179,52,192,12,255,252,13,11,22,16,1, - 255,6,192,25,32,41,32,107,240,170,8,169,200,169,136,110, - 8,80,16,32,32,31,192,14,13,26,16,1,0,21,0,42, - 128,42,128,106,128,170,128,170,152,170,164,128,68,128,8,128, - 16,64,32,32,32,31,192,15,15,30,16,0,255,24,48,36, - 72,34,136,18,144,17,16,9,32,8,32,124,252,146,130,146, - 114,146,34,146,66,124,4,32,8,31,240,15,13,26,16,1, - 0,0,16,0,56,0,112,7,238,25,234,35,154,71,10,142, - 10,223,202,36,10,95,250,224,10,192,14,12,12,24,16,1, - 0,48,0,76,0,170,0,149,0,226,128,81,64,40,160,20, - 80,10,80,5,144,2,48,1,240,15,7,14,16,0,3,63, - 240,80,40,143,244,168,22,143,244,80,40,63,240,12,12,24, - 16,1,0,1,240,2,48,5,144,10,80,20,80,40,160,81, - 64,226,128,149,0,170,0,76,0,48,0,15,7,14,16,0, - 3,0,240,121,8,134,108,128,254,134,108,121,8,0,240,15, - 7,14,16,0,3,0,224,121,240,255,56,255,14,255,56,121, - 240,0,224,13,10,20,16,1,255,0,8,0,16,0,32,128, - 64,128,128,65,0,66,0,36,0,40,0,16,0,15,11,22, - 16,0,255,0,4,0,14,64,28,224,56,224,112,112,224,113, - 192,59,128,63,0,30,0,12,0,11,11,22,16,2,1,64, - 64,224,224,113,192,59,128,31,0,14,0,31,0,59,128,113, - 192,224,224,64,64,15,15,30,16,0,255,16,16,56,56,124, - 124,254,254,127,252,63,248,31,240,15,224,31,240,63,248,127, - 252,254,254,124,124,56,56,16,16,12,13,26,16,1,0,192, - 48,96,192,99,128,54,0,28,0,28,0,54,0,51,0,97, - 128,96,192,192,96,192,48,64,0,12,14,28,16,1,255,192, - 48,224,224,99,192,119,0,62,0,28,0,62,0,55,0,115, - 128,97,192,224,224,192,112,192,32,64,0,15,15,30,16,0, - 255,7,192,4,64,5,64,5,64,5,64,253,126,129,2,191, - 250,129,2,253,126,5,64,5,64,5,64,4,64,7,192,15, - 15,30,16,0,255,7,192,7,192,7,192,7,192,7,192,255, - 254,255,254,255,254,255,254,255,254,7,192,7,192,7,192,7, - 192,7,192,15,15,30,16,0,255,3,128,3,128,3,128,3, - 128,3,128,3,128,252,126,252,126,252,126,3,128,3,128,3, - 128,3,128,3,128,3,128,15,15,30,16,0,255,7,192,7, - 192,7,192,7,192,7,192,248,62,248,62,248,62,248,62,248, - 62,7,192,7,192,7,192,7,192,7,192,9,11,22,16,3, - 1,28,0,28,0,28,0,255,128,255,128,255,128,28,0,28, - 0,28,0,28,0,28,0,13,15,30,16,1,255,15,0,9, - 128,9,128,9,128,249,240,128,24,128,24,249,248,121,248,9, - 128,9,128,9,128,9,128,15,128,7,128,13,14,28,16,1, - 255,31,192,16,64,247,120,135,8,191,232,191,232,191,232,135, - 8,247,120,23,64,23,64,23,64,16,64,31,192,15,15,30, - 16,0,255,31,240,7,192,3,128,131,130,131,130,195,134,255, - 254,255,254,255,254,195,134,131,130,131,130,3,128,7,192,31, - 240,15,15,30,16,0,255,1,0,1,0,2,128,255,254,68, - 68,40,40,40,40,16,16,40,40,40,40,68,68,255,254,2, - 128,1,0,1,0,15,15,30,16,0,255,3,128,7,192,7, - 192,3,128,3,128,97,12,249,62,255,254,249,62,97,12,3, - 128,3,128,7,192,7,192,3,128,15,15,30,16,0,255,3, - 128,7,192,7,192,7,192,3,128,113,28,249,62,255,254,249, - 62,113,28,3,128,7,192,7,192,7,192,3,128,15,15,30, - 16,0,255,7,192,15,224,15,224,7,192,99,140,243,158,255, - 254,255,254,255,254,243,158,99,140,7,192,15,224,15,224,7, - 192,16,15,30,16,0,255,1,0,3,128,7,192,7,192,1, - 0,49,12,113,14,255,255,113,14,49,12,1,0,7,192,7, - 192,3,128,1,0,15,15,30,16,0,255,1,0,3,128,3, - 128,7,192,7,192,31,240,127,252,255,254,127,252,31,240,7, - 192,7,192,3,128,3,128,1,0,15,15,30,16,0,255,1, - 0,2,128,2,128,4,64,4,64,24,48,96,12,128,2,96, - 12,24,48,4,64,4,64,2,128,2,128,1,0,14,14,28, - 16,1,255,8,0,8,0,20,0,34,0,193,128,34,32,20, - 32,8,80,9,140,0,80,0,32,2,32,5,0,2,0,15, - 12,24,16,0,1,1,0,2,128,2,128,252,126,64,4,56, - 56,8,32,16,16,17,16,38,200,40,40,48,24,15,15,30, - 16,0,255,7,192,31,240,62,248,126,252,124,124,192,6,240, - 30,248,62,240,30,241,30,103,204,111,236,63,248,31,240,7, - 192,15,12,24,16,0,1,1,0,3,128,3,128,255,254,124, - 124,56,56,8,32,28,112,31,240,62,248,56,56,48,24,15, - 12,24,16,0,1,1,0,2,128,2,128,252,126,67,132,39, - 200,23,208,19,144,16,16,39,200,40,40,48,24,15,12,24, - 16,0,1,1,0,2,128,28,112,225,14,79,228,35,136,23, - 208,20,80,17,16,34,136,44,104,48,24,15,12,24,16,0, - 1,1,0,2,128,29,112,227,142,95,244,47,232,23,208,22, - 208,21,80,34,136,44,104,48,24,15,13,26,16,0,0,1, - 0,3,128,5,192,249,254,93,140,39,184,19,240,15,208,29, - 144,25,208,50,232,44,120,48,24,16,13,26,16,0,0,1, - 0,2,128,2,192,255,254,68,71,56,62,8,60,22,208,17, - 24,39,200,47,44,60,28,24,12,15,13,26,16,0,0,3, - 128,3,128,3,128,67,132,243,158,63,252,15,240,63,252,243, - 158,67,132,3,128,3,128,3,128,15,13,26,16,0,0,3, - 128,3,128,3,128,67,132,243,158,60,124,8,48,60,124,243, - 158,67,132,3,128,3,128,3,128,15,15,30,16,0,255,1, - 0,1,0,33,8,17,16,13,96,15,224,7,192,255,254,7, - 192,15,224,13,96,17,16,33,8,1,0,1,0,15,15,30, - 16,0,255,1,0,1,0,33,8,27,176,31,240,15,224,31, - 224,255,254,31,240,15,224,31,240,27,176,33,8,1,0,1, - 0,15,15,30,16,0,255,1,0,2,128,60,248,44,200,38, - 152,50,184,125,76,131,134,77,124,58,152,50,200,38,104,62, - 120,2,128,1,0,13,13,26,16,1,0,2,0,2,0,2, - 0,135,8,119,112,63,224,31,192,63,224,119,112,135,8,2, - 0,2,0,2,0,15,15,30,16,0,255,8,32,8,32,12, - 96,6,192,230,206,59,184,31,240,7,192,31,240,59,184,230, - 206,6,192,12,96,8,32,8,32,15,15,30,16,0,255,8, - 32,12,96,14,224,15,224,255,254,127,252,63,248,31,240,63, - 248,127,252,255,254,15,224,14,224,12,96,8,32,15,15,30, - 16,0,255,1,0,25,48,15,224,79,228,127,252,63,248,63, - 248,255,254,63,248,63,248,127,252,79,228,15,224,25,48,1, - 0,15,15,30,16,0,255,9,32,73,36,37,72,21,80,203, - 166,55,216,15,224,255,254,15,224,55,216,203,166,21,80,37, - 72,73,36,9,32,15,15,30,16,0,255,1,0,3,128,3, - 128,3,128,225,14,113,28,13,96,3,128,13,96,113,28,225, - 14,3,128,3,128,3,128,1,0,15,15,30,16,0,255,3, - 128,7,192,7,192,99,140,241,30,243,158,60,120,8,32,60, - 120,243,158,241,30,99,140,7,192,7,192,3,128,15,15,30, - 16,0,255,3,128,7,192,7,192,99,140,243,158,241,30,61, - 120,7,192,61,120,241,30,243,158,99,140,7,192,7,192,3, - 128,15,15,30,16,0,255,3,128,4,64,4,64,116,92,252, - 126,254,254,127,252,33,8,67,132,135,194,143,226,119,220,7, - 192,7,192,3,128,15,14,28,16,0,0,3,128,7,192,15, - 224,119,220,255,254,252,126,240,30,112,28,24,48,62,248,127, - 252,126,252,126,252,60,120,15,14,28,16,0,0,3,128,4, - 64,9,32,121,60,133,66,179,154,143,226,111,236,23,208,39, - 200,73,36,82,148,66,132,60,120,15,15,30,16,0,255,3, - 128,60,120,69,68,81,20,77,100,111,236,134,194,188,122,134, - 194,111,236,77,100,81,20,69,68,60,120,3,128,15,15,30, - 16,0,255,7,192,30,240,62,248,92,116,103,204,252,126,232, - 46,136,34,232,46,252,126,103,204,92,116,62,248,30,240,7, - 192,15,15,30,16,0,255,3,128,4,192,4,192,116,220,188, - 230,159,158,79,60,63,248,114,100,230,114,206,122,118,92,6, - 64,6,64,3,128,15,13,26,16,0,0,1,0,5,64,3, - 128,201,38,49,24,77,100,3,128,77,100,49,24,201,38,3, - 128,5,64,1,0,15,13,26,16,0,0,1,0,5,64,11, - 160,201,38,49,24,77,100,131,130,77,100,49,24,201,38,11, - 160,5,64,1,0,15,15,30,16,0,255,9,32,13,96,7, - 192,19,144,201,38,49,24,237,110,3,128,237,110,49,24,201, - 38,17,16,7,192,13,96,9,32,14,14,28,16,1,255,7, - 128,71,136,39,144,19,32,11,64,224,28,251,124,251,124,224, - 28,11,64,19,32,39,144,71,136,7,128,15,15,30,16,0, - 255,7,192,71,196,39,200,19,144,11,160,224,14,251,190,251, - 190,251,190,224,14,11,160,19,144,39,200,71,196,7,192,15, - 15,30,16,0,255,3,128,7,192,7,192,119,220,251,190,249, - 62,125,124,7,192,125,124,249,62,251,190,119,220,7,192,7, - 192,3,128,15,15,30,16,0,255,1,0,3,128,51,152,49, - 24,9,32,5,64,99,140,255,254,99,140,5,64,9,32,49, - 24,51,152,3,128,1,0,15,15,30,16,0,255,1,0,3, - 128,51,152,59,184,25,48,7,192,119,220,255,254,119,220,7, - 192,25,48,59,184,51,152,3,128,1,0,11,11,22,16,2, - 1,96,192,241,224,123,192,63,128,31,0,31,0,63,128,123, - 192,241,224,224,224,64,64,13,13,26,16,2,255,15,0,48, - 192,64,32,64,48,128,16,128,24,128,24,128,24,64,56,64, - 48,48,240,15,224,7,128,13,13,26,16,0,0,255,248,223, - 216,143,136,199,24,226,56,240,120,248,248,240,120,226,56,199, - 24,143,136,223,216,255,248,12,12,24,16,3,1,255,192,128, - 64,128,112,128,112,128,112,128,112,128,112,128,112,128,112,255, - 240,63,240,63,240,12,12,24,16,3,1,63,240,63,240,255, - 240,128,112,128,112,128,112,128,112,128,112,128,112,128,112,128, - 64,255,192,12,12,24,16,3,1,255,192,128,96,128,112,128, - 112,128,112,128,112,128,112,128,112,128,112,255,240,127,240,63, - 240,12,12,24,16,3,1,63,240,127,240,255,240,128,112,128, - 112,128,112,128,112,128,112,128,112,128,112,128,96,255,192,9, - 15,30,16,3,254,28,0,127,0,243,128,193,128,199,128,15, - 0,28,0,24,0,24,0,24,0,0,0,24,0,60,0,60, - 0,24,0,9,16,32,16,3,254,62,0,65,0,156,128,162, - 128,66,128,4,128,9,0,18,0,20,0,20,0,28,0,0, - 0,28,0,34,0,34,0,28,0,7,15,15,16,4,255,56, - 108,198,130,198,68,108,40,40,56,0,56,68,68,56,13,13, - 26,16,1,0,2,0,7,0,15,128,7,0,34,32,112,112, - 248,248,112,112,34,32,7,0,15,128,7,0,2,0,4,14, - 14,16,6,0,96,240,240,240,240,240,240,96,96,96,96,0, - 96,96,2,15,15,16,7,255,192,192,192,192,192,192,192,192, - 192,192,192,192,192,192,192,4,15,15,16,6,255,240,240,240, - 240,240,240,240,240,240,240,240,240,240,240,240,8,15,15,16, - 4,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,7,10,10,16,4,4,28,112,192,248,252,254,254,254,124, - 56,7,10,10,16,4,4,56,124,254,254,254,126,62,6,28, - 112,15,10,20,16,0,4,28,28,112,112,192,192,248,248,252, - 252,254,254,254,254,254,254,124,124,56,56,15,10,20,16,0, - 4,56,56,124,124,254,254,254,254,254,254,126,126,62,62,6, - 6,28,28,112,112,7,10,10,16,3,0,56,124,254,254,254, - 126,62,6,28,112,15,10,20,16,0,0,56,56,124,124,254, - 254,254,254,254,254,126,126,62,62,6,6,28,28,112,112,14, - 14,28,16,1,255,0,32,0,32,31,252,127,240,252,32,252, - 32,126,32,31,224,0,32,96,96,240,64,240,192,99,128,62, - 0,9,15,30,16,3,255,28,0,127,0,255,128,255,128,255, - 128,127,0,28,0,8,0,8,0,0,0,28,0,62,0,62, - 0,62,0,28,0,9,13,26,16,3,0,119,0,255,128,255, - 128,255,128,127,0,28,0,8,0,0,0,28,0,62,0,62, - 0,62,0,28,0,15,13,26,16,0,255,60,120,126,252,255, - 254,255,254,255,254,127,252,127,252,63,248,31,240,15,224,7, - 192,3,128,1,0,13,15,30,16,1,255,56,0,126,0,255, - 0,255,128,255,192,255,224,127,240,63,248,127,240,255,224,255, - 192,255,128,255,0,126,0,56,0,15,14,28,16,0,255,3, - 0,12,134,56,142,103,248,1,0,57,56,126,252,255,254,255, - 254,127,252,63,248,31,226,7,238,0,248,14,15,30,16,1, - 254,97,152,99,200,55,236,23,228,23,252,19,252,115,252,157, - 248,147,248,83,248,103,240,39,240,55,224,19,192,1,128,4, - 12,12,8,3,255,16,32,96,192,192,192,192,192,192,96,32, - 16,4,12,12,8,2,255,128,64,96,48,48,48,48,48,48, - 96,64,128,5,12,12,8,2,255,24,48,112,224,224,224,224, - 224,224,112,48,24,5,12,12,8,2,255,192,96,112,56,56, - 56,56,56,56,112,96,192,5,12,12,8,2,255,24,48,48, - 96,96,192,192,96,96,48,48,24,5,12,12,8,2,255,192, - 96,96,48,48,24,24,48,48,96,96,192,6,12,12,8,2, - 255,28,56,56,112,112,224,224,112,112,56,56,28,6,12,12, - 8,1,255,224,112,112,56,56,28,28,56,56,112,112,224,7, - 12,12,8,1,255,30,60,60,120,120,240,240,120,120,60,60, - 30,7,12,12,8,0,255,240,120,120,60,60,30,30,60,60, - 120,120,240,3,12,12,8,3,255,32,64,128,128,128,128,128, - 128,128,128,64,32,3,12,12,8,2,255,128,64,32,32,32, - 32,32,32,32,32,64,128,6,12,12,8,1,255,60,112,96, - 96,48,48,224,48,48,96,112,60,6,12,12,8,1,255,240, - 56,24,24,48,48,28,48,48,24,56,240,15,15,30,16,0, - 255,7,192,31,240,63,248,126,252,124,252,250,254,254,254,254, - 254,254,254,254,254,126,252,120,60,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,124,124,123,188,251, - 190,255,190,255,126,254,254,253,254,123,252,120,60,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,124, - 124,123,188,251,190,255,190,254,126,255,190,251,190,123,188,124, - 124,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,127,124,126,124,253,126,251,126,247,126,240,62,255, - 126,127,124,127,124,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,120,60,123,252,251,254,251,254,248, - 126,255,190,255,190,123,188,124,124,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,126,124,125,252,251, - 254,251,254,248,126,251,190,251,190,123,188,124,124,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120, - 60,127,188,255,190,255,126,255,126,255,126,254,254,126,252,126, - 252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,124,124,123,188,251,190,251,190,252,126,251,190,251, - 190,123,188,124,124,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,124,124,123,188,251,190,251,190,252, - 62,255,190,255,190,127,124,124,252,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,127,252,123,156,243, - 110,235,110,251,110,251,110,251,110,96,156,127,252,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,24,48,32,8,64, - 132,65,132,131,130,129,130,129,130,129,130,129,130,65,132,65, - 132,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, - 48,32,8,71,196,79,228,140,98,128,98,129,194,135,2,140, - 2,79,228,79,228,32,8,24,48,7,192,15,15,30,16,0, - 255,7,192,24,48,32,8,71,196,79,228,140,98,128,98,129, - 194,128,98,140,98,79,228,71,196,32,8,24,48,7,192,15, - 15,30,16,0,255,7,192,24,48,32,8,64,228,65,228,131, - 98,134,98,140,98,159,242,159,242,64,100,64,100,32,8,24, - 48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,79, - 228,79,228,140,2,143,194,143,226,128,98,140,98,79,228,71, - 196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, - 48,32,8,71,196,79,228,140,2,143,194,143,226,140,98,140, - 98,79,228,71,196,32,8,24,48,7,192,15,15,30,16,0, - 255,7,192,24,48,32,8,79,228,79,228,128,98,128,98,128, - 194,131,130,134,2,70,4,70,4,32,8,24,48,7,192,15, - 15,30,16,0,255,7,192,24,48,32,8,71,196,79,228,140, - 98,140,98,135,194,140,98,140,98,79,228,71,196,32,8,24, - 48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,71, - 196,79,228,140,98,140,98,143,226,135,226,128,98,79,228,71, - 196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, - 48,32,8,68,228,77,244,157,178,141,178,141,178,141,178,141, - 178,77,244,76,228,32,8,24,48,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,127,124,126,124,252,126,254,126,254, - 126,254,126,254,126,126,124,126,124,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243, - 158,255,158,254,62,248,254,243,254,112,28,112,28,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120, - 60,112,28,243,158,255,158,254,62,255,158,243,158,112,28,120, - 60,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,127,28,126,28,252,158,249,158,243,158,224,14,224, - 14,127,156,127,156,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,112,28,112,28,243,254,240,62,240, - 30,255,158,243,158,112,28,120,60,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243, - 254,240,62,240,30,243,158,243,158,112,28,120,60,63,248,31, - 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,112, - 28,112,28,255,158,255,158,255,62,252,126,249,254,121,252,121, - 252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, - 240,63,248,120,60,112,28,243,158,243,158,248,62,243,158,243, - 158,112,28,120,60,63,248,31,240,7,192,15,15,30,16,0, - 255,7,192,31,240,63,248,120,60,112,28,243,158,243,158,240, - 30,248,30,255,158,112,28,120,60,63,248,31,240,7,192,15, - 15,30,16,0,255,7,192,31,240,63,248,123,28,114,12,226, - 78,242,78,242,78,242,78,242,78,114,12,115,28,63,248,31, - 240,7,192,15,13,26,16,0,0,31,128,15,192,7,224,3, - 240,255,248,255,252,255,254,255,252,255,248,3,240,7,224,15, - 192,31,128,11,11,22,16,2,1,14,0,14,0,14,0,14, - 0,255,224,255,224,255,224,14,0,14,0,14,0,14,0,13, - 3,6,16,1,5,255,248,255,248,255,248,13,11,22,16,1, - 1,7,0,7,0,7,0,0,0,255,248,255,248,255,248,0, - 0,7,0,7,0,7,0,11,11,22,16,2,1,32,0,112, - 0,248,0,120,0,60,128,12,128,3,128,3,192,15,192,1, - 192,0,32,15,9,18,16,0,2,1,0,1,128,224,192,252, - 240,255,254,252,240,224,192,1,128,1,0,11,11,22,16,2, - 0,0,32,1,192,15,192,3,192,3,128,12,128,60,128,120, - 0,248,0,112,0,32,0,15,9,18,16,0,2,2,0,1, - 0,1,192,0,240,255,254,0,240,1,192,1,0,2,0,15, - 13,26,16,0,0,0,192,1,224,1,240,0,248,127,252,255, - 254,255,254,255,254,127,252,0,248,1,240,1,224,0,192,15, - 11,22,16,0,1,0,16,0,16,0,24,0,24,255,252,255, - 254,255,252,0,24,0,24,0,16,0,16,15,13,26,16,0, - 0,0,16,0,16,0,24,0,24,255,252,255,252,255,254,255, - 252,255,252,0,24,0,24,0,16,0,16,15,9,18,16,0, - 2,0,32,0,48,0,56,170,252,170,254,170,252,0,56,0, - 48,0,32,15,9,18,16,0,2,0,32,0,48,170,248,170, - 252,170,254,170,252,170,248,0,48,0,32,15,9,18,16,0, - 2,0,32,0,48,0,56,255,252,255,254,255,252,0,56,0, - 48,0,32,14,15,30,16,1,255,128,0,224,0,88,0,70, - 0,33,128,32,96,16,24,15,252,31,248,63,224,63,128,126, - 0,120,0,224,0,128,0,14,15,30,16,1,255,128,0,224, - 0,120,0,126,0,63,128,63,224,31,248,15,252,16,24,32, - 96,33,128,70,0,88,0,224,0,128,0,14,15,30,16,1, - 255,128,0,224,0,120,0,126,0,63,128,63,224,31,248,15, - 252,31,248,63,224,63,128,126,0,120,0,224,0,128,0,15, - 8,16,16,0,3,128,0,128,16,192,24,127,252,127,254,63, - 252,0,24,0,16,15,8,16,16,0,2,0,16,0,24,63, - 252,127,254,127,252,192,24,128,16,128,0,7,13,13,16,5, - 0,16,16,24,248,252,252,254,252,252,248,24,16,16,15,9, - 18,16,0,2,0,64,0,64,255,224,255,240,255,254,255,240, - 255,224,0,64,0,64,14,9,18,16,1,2,0,192,0,224, - 255,176,128,24,128,12,128,24,255,176,0,224,0,192,14,9, - 18,16,1,2,0,192,0,224,255,208,192,8,192,4,192,8, - 255,208,0,224,0,192,15,13,26,16,0,255,0,8,0,24, - 0,36,0,68,63,130,64,2,128,6,255,30,254,124,5,240, - 15,192,15,0,12,0,15,13,26,16,0,0,12,0,15,0, - 15,192,5,240,254,124,255,30,128,6,64,2,63,130,0,68, - 0,36,0,24,0,8,15,12,24,16,0,0,0,128,0,192, - 255,160,128,16,128,8,128,4,128,14,128,28,255,184,127,240, - 0,224,0,64,15,12,24,16,0,1,0,64,0,224,127,240, - 255,184,128,28,128,14,128,4,128,8,128,16,255,160,0,192, - 0,128,16,12,24,16,0,0,0,64,0,96,0,80,255,200, - 64,4,64,2,64,7,255,206,127,220,0,120,0,112,0,32, - 7,6,6,8,1,3,198,56,68,68,68,56,16,12,24,16, - 0,1,0,32,0,112,0,120,127,220,255,206,64,7,64,2, - 64,4,255,200,0,80,0,96,0,64,14,15,30,16,1,255, - 15,128,63,224,126,240,254,120,254,56,0,28,0,12,0,4, - 0,12,0,28,254,56,254,120,126,240,63,224,15,128,15,7, - 14,16,0,3,254,0,73,8,36,140,31,254,36,140,73,8, - 254,0,11,11,22,16,2,1,16,0,24,0,28,0,252,0, - 124,0,60,32,2,32,1,96,0,224,1,224,7,224,14,5, - 10,16,1,4,248,16,124,24,63,252,124,24,248,16,11,11, - 22,16,2,0,7,224,1,224,0,224,1,96,2,32,60,32, - 124,0,252,0,28,0,24,0,16,0,11,11,22,16,2,1, - 8,0,12,0,14,0,14,0,254,32,126,32,63,96,3,224, - 1,224,3,224,15,224,15,9,18,16,0,2,0,32,252,16, - 126,24,63,252,31,254,63,252,126,24,252,16,0,32,11,11, - 22,16,2,0,15,224,3,224,1,224,3,224,63,96,126,32, - 254,32,14,0,14,0,12,0,8,0,15,11,22,16,0,1, - 0,96,0,240,0,240,120,56,255,12,255,254,255,12,120,56, - 0,240,0,240,0,96,15,9,18,16,0,2,0,64,96,224, - 120,240,252,120,255,254,252,120,120,240,96,224,0,64,15,7, - 14,16,0,3,248,16,124,24,62,28,31,254,62,28,124,24, - 248,16,15,9,18,16,0,2,248,96,252,112,126,120,127,252, - 63,254,127,252,126,120,252,112,248,96,15,9,18,16,0,2, - 2,32,1,16,0,136,255,196,0,2,255,196,0,136,1,16, - 2,32,16,6,12,16,0,3,227,199,28,56,34,68,34,68, - 34,68,28,56,6,6,6,8,1,0,128,136,144,160,192,252, - 11,12,24,16,2,0,4,0,10,0,10,0,17,0,17,0, - 36,128,42,128,74,64,81,64,159,32,128,32,255,224,5,6, - 6,8,1,0,32,32,32,32,32,248,10,8,16,16,3,1, - 63,192,64,0,129,128,130,64,130,64,129,128,64,0,63,192, - 10,8,16,16,3,1,255,0,0,128,96,64,144,64,144,64, - 96,64,0,128,255,0,5,10,10,8,2,0,112,136,136,16, - 16,32,32,64,64,56,5,10,10,8,2,0,112,136,136,64, - 64,32,32,16,16,224,7,8,8,8,0,0,130,130,84,68, - 40,40,16,16,14,8,16,16,1,1,129,252,130,0,68,0, - 68,0,36,0,36,0,18,0,17,252,14,8,16,16,1,1, - 254,4,1,4,0,136,0,136,0,144,0,144,1,32,254,32, - 3,10,10,8,2,0,64,64,64,64,224,64,64,64,64,64, - 8,8,8,16,4,1,1,2,4,8,16,32,64,128,12,14, - 28,16,2,254,255,240,128,0,64,0,64,0,32,0,32,0, - 32,0,32,0,32,0,32,0,64,0,64,0,128,0,128,0, - 8,8,8,16,4,1,128,64,32,16,8,4,2,1,13,13, - 26,16,1,0,255,248,130,8,130,8,133,8,133,8,136,136, - 136,136,144,72,144,72,160,40,160,40,192,24,255,248,13,13, - 26,16,1,0,255,248,192,24,160,40,160,40,144,72,144,72, - 136,136,136,136,133,8,133,8,130,8,130,8,255,248,9,9, - 18,16,4,0,8,0,20,0,34,0,65,0,136,128,65,0, - 34,0,20,0,8,0,7,8,8,8,0,0,16,16,40,40, - 68,84,130,130,9,10,20,16,3,0,136,128,136,128,136,128, - 136,128,136,128,136,128,136,128,136,128,73,0,62,0,6,6, - 6,8,1,0,4,4,36,4,4,252,6,6,6,8,1,0, - 252,128,128,144,128,128,12,10,20,16,2,0,224,16,48,48, - 40,80,36,144,35,16,35,16,36,144,40,80,48,48,224,16, - 12,10,20,16,2,0,128,112,192,192,161,64,146,64,140,64, - 140,64,146,64,161,64,192,192,128,112,14,10,20,16,1,0, - 224,28,48,48,40,80,36,144,35,16,35,16,36,144,40,80, - 48,48,224,28,9,12,24,16,3,0,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 255,128,9,12,24,16,3,0,255,128,8,0,8,0,8,0, - 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, - 13,7,14,16,1,2,5,0,5,0,253,248,5,0,253,248, - 5,0,5,0,13,7,14,16,1,2,5,0,5,0,5,0, - 253,248,5,0,5,0,5,0,14,3,6,16,1,4,64,0, - 191,252,64,0,14,3,6,16,1,4,128,0,255,252,128,0, - 14,3,6,16,1,4,0,4,255,252,0,4,3,11,11,16, - 7,255,64,160,64,64,64,64,64,64,64,64,224,7,11,11, - 8,0,0,16,40,40,68,68,254,68,68,40,40,16,13,13, - 26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48, - 128,8,96,48,16,64,8,128,5,0,5,0,2,0,15,13, - 26,16,0,0,0,128,1,64,1,64,2,32,4,16,24,12, - 224,2,24,12,4,16,2,32,1,64,1,64,0,128,15,13, - 26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48, - 128,14,96,48,16,64,8,128,5,0,5,0,2,0,15,13, - 26,16,0,0,31,254,16,2,16,2,16,2,16,2,16,2, - 240,2,16,2,16,2,16,2,16,2,16,2,31,254,15,13, - 26,16,1,0,255,240,128,16,128,16,128,16,128,16,128,16, - 128,30,128,16,128,16,128,16,128,16,128,16,255,240,5,13, - 13,8,2,0,248,160,160,160,160,160,160,160,160,160,160,160, - 248,5,13,13,8,1,0,248,40,40,40,40,40,40,40,40, - 40,40,40,248,4,12,12,8,2,0,16,32,32,64,64,128, - 128,64,64,32,32,16,4,12,12,8,2,0,128,64,64,32, - 32,16,16,32,32,64,64,128,6,12,12,8,1,0,20,40, - 40,80,80,160,160,80,80,40,40,20,6,12,12,8,1,0, - 160,80,80,40,40,20,20,40,40,80,80,160,4,12,12,8, - 3,255,16,32,96,160,160,160,160,160,160,96,32,16,4,12, - 12,8,1,255,128,64,96,80,80,80,80,80,80,96,64,128, - 3,12,12,8,4,255,32,64,128,128,128,128,128,128,128,128, - 64,32,3,12,12,8,1,255,128,64,32,32,32,32,32,32, - 32,32,64,128,11,12,24,16,2,0,4,0,10,0,27,0, - 42,128,106,192,170,160,42,128,42,128,42,128,42,128,42,128, - 42,128,11,12,24,16,2,0,42,128,42,128,42,128,42,128, - 42,128,42,128,170,160,106,192,42,128,27,0,10,0,4,0, - 12,10,20,16,2,0,7,128,8,64,16,32,32,16,168,16, - 112,16,32,16,0,32,8,64,7,128,12,10,20,16,2,0, - 30,0,33,0,64,128,128,64,129,80,128,224,128,64,64,0, - 33,0,30,0,15,7,14,16,0,1,3,128,5,72,9,36, - 255,254,9,36,5,72,3,128,15,5,10,16,1,2,32,0, - 64,0,255,254,64,0,32,0,15,5,10,16,0,2,0,8, - 0,4,255,254,0,4,0,8,14,5,10,16,1,2,32,16, - 64,8,255,252,64,8,32,16,15,7,14,16,0,1,16,0, - 32,0,127,254,128,0,127,254,32,0,16,0,15,7,14,16, - 0,1,0,16,0,8,255,252,0,2,255,252,0,8,0,16, - 14,7,14,16,1,1,16,32,32,16,127,248,128,4,127,248, - 32,16,16,32,14,5,10,16,1,2,32,4,64,4,255,252, - 64,4,32,4,14,5,10,16,1,2,128,16,128,8,255,252, - 128,8,128,16,14,7,14,16,1,1,16,4,32,4,127,252, - 128,4,127,252,32,4,16,4,14,7,14,16,1,1,128,32, - 128,16,255,248,128,4,255,248,128,16,128,32,15,5,10,16, - 0,2,0,8,34,36,213,94,8,132,0,8}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 11, '1' Height: 5 - Calculated Max Values w=15 h=15 x= 3 y= 4 dx=16 dy= 0 ascent=13 len=30 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =11 descent= 2 - X Font ascent =11 descent= 0 - Max Font ascent =13 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_86[1858] U8G_FONT_SECTION("u8g_font_unifont_86") = { - 0,16,16,0,254,11,3,31,5,100,32,116,2,13,254,11, - 0,11,11,22,16,2,0,7,224,4,32,2,32,4,32,8, - 160,17,96,34,0,68,0,136,0,80,0,32,0,11,11,22, - 16,2,0,252,0,132,0,136,0,132,0,162,0,209,0,8, - 128,4,64,2,32,1,64,0,128,11,11,22,16,2,0,32, - 0,80,0,136,0,68,0,34,0,17,96,8,160,4,32,2, - 32,4,32,7,224,11,11,22,16,2,0,0,128,1,64,2, - 32,4,64,8,128,209,0,162,0,132,0,136,0,132,0,252, - 0,14,7,14,16,1,1,16,32,48,48,95,232,128,4,95, - 232,48,48,16,32,13,7,14,16,1,1,16,0,48,0,127, - 248,255,248,127,248,48,0,16,0,7,12,12,8,0,0,16, - 56,124,254,56,56,56,56,56,56,56,56,7,12,12,8,0, - 0,56,56,56,56,56,56,56,56,254,124,56,16,11,11,22, - 16,2,0,7,224,7,224,3,224,7,224,15,224,31,96,62, - 0,124,0,248,0,112,0,32,0,11,11,22,16,2,0,252, - 0,252,0,248,0,252,0,254,0,223,0,15,128,7,192,3, - 224,1,192,0,128,11,11,22,16,2,0,32,0,112,0,248, - 0,124,0,62,0,31,96,15,224,7,224,3,224,7,224,7, - 224,11,11,22,16,2,0,0,128,1,192,3,224,7,192,15, - 128,223,0,254,0,252,0,248,0,252,0,252,0,14,7,14, - 16,1,1,16,32,48,48,127,248,255,252,127,248,48,48,16, - 32,7,12,12,8,0,0,16,56,124,254,56,56,56,56,254, - 124,56,16,15,5,10,16,0,0,255,248,0,8,0,42,0, - 28,0,8,15,5,10,16,0,4,0,8,0,28,0,42,0, - 8,255,248,15,5,10,16,1,0,63,254,32,0,168,0,112, - 0,32,0,15,5,10,16,1,4,32,0,112,0,168,0,32, - 0,63,254,10,10,20,16,3,255,255,192,255,192,255,192,255, - 192,255,192,128,64,128,64,128,64,128,64,255,192,10,10,20, - 16,3,255,255,192,128,64,128,64,128,64,128,64,255,192,255, - 192,255,192,255,192,255,192,10,10,20,16,3,255,255,192,255, - 192,191,192,159,192,143,192,135,192,131,192,129,192,128,192,255, - 192,10,10,20,16,3,255,255,192,192,64,224,64,240,64,248, - 64,252,64,254,64,255,64,255,192,255,192,10,10,20,16,3, - 255,12,0,26,0,57,0,120,128,248,64,248,64,120,128,57, - 0,26,0,12,0,10,10,20,16,3,255,12,0,22,0,39, - 0,71,128,135,192,135,192,71,128,39,0,22,0,12,0,10, - 10,20,16,3,255,12,0,30,0,63,0,127,128,255,192,128, - 64,64,128,33,0,18,0,12,0,10,10,20,16,3,255,12, - 0,18,0,33,0,64,128,128,64,255,192,127,128,63,0,30, - 0,12,0,11,11,22,16,2,0,170,160,0,0,128,32,0, - 0,128,32,0,0,128,32,0,0,128,32,0,0,170,160,14, - 14,28,16,1,255,255,252,255,252,255,252,255,252,255,252,255, - 252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255, - 252,14,14,28,16,1,255,255,252,128,4,128,4,128,4,128, - 4,128,4,128,4,128,4,128,4,128,4,128,4,128,4,128, - 4,255,252,4,4,4,8,2,2,240,240,240,240,4,4,4, - 8,2,2,240,144,144,240,12,11,22,16,2,0,6,0,15, - 0,31,128,63,192,127,224,255,240,127,224,127,224,63,192,63, - 192,31,128,12,11,22,16,2,0,6,0,9,0,16,128,32, - 64,64,32,128,16,64,32,64,32,32,64,32,64,31,128,11, - 11,22,16,2,255,4,0,27,0,96,192,128,32,128,32,128, - 32,128,32,128,32,96,192,27,0,4,0,11,11,22,16,2, - 255,4,0,31,0,127,192,255,224,255,224,255,224,255,224,255, - 224,127,192,31,0,4,0,14,10,20,16,1,0,15,192,31, - 224,63,240,127,248,255,252,255,252,127,248,63,240,31,224,15, - 192,14,13,26,16,1,254,31,224,63,240,127,248,255,252,255, - 252,255,252,255,252,255,252,255,252,255,252,127,248,63,240,31, - 224,7,7,7,8,0,0,16,56,124,254,124,56,16,7,7, - 7,8,0,0,16,40,68,130,68,40,16,7,11,11,8,0, - 0,16,56,56,124,124,254,124,124,56,56,16,7,11,11,8, - 0,0,16,40,40,68,68,130,68,68,40,40,16,5,5,5, - 8,1,3,32,112,248,112,32,5,7,7,8,1,0,32,112, - 112,248,112,112,32,5,7,7,8,1,0,32,80,80,136,80, - 80,32,15,6,12,16,0,0,15,224,127,252,255,254,255,254, - 127,252,15,224,15,6,12,16,0,0,15,224,112,28,128,2, - 128,2,112,28,15,224,6,13,13,8,1,0,48,120,120,120, - 252,252,252,252,252,120,120,120,48,6,13,13,8,1,0,48, - 72,72,72,132,132,132,132,132,72,72,72,48,15,5,10,16, - 1,2,33,192,66,32,255,254,66,32,33,192,14,15,30,16, - 1,254,32,0,64,0,255,252,64,0,32,0,32,0,64,0, - 255,252,64,0,32,0,32,0,64,0,255,252,64,0,32,0, - 15,5,10,16,1,2,33,192,66,160,255,254,66,160,33,192, - 15,5,10,16,1,2,34,32,69,80,245,94,72,128,32,0, - 15,5,10,16,1,2,40,64,80,64,255,254,80,64,40,64, - 15,5,10,16,1,2,40,160,80,160,255,254,80,160,40,160, - 14,5,10,16,1,2,40,4,80,4,255,252,80,4,40,4, - 14,5,10,16,1,2,40,4,80,8,253,176,80,8,40,4, - 14,5,10,16,1,2,32,0,64,0,213,84,64,0,32,0, - 14,5,10,16,1,2,32,132,64,136,255,240,64,136,32,132, - 14,5,10,16,1,2,33,68,65,72,255,240,65,72,33,68, - 14,5,10,16,1,2,40,4,80,8,255,240,80,8,40,4, - 14,5,10,16,1,2,40,132,80,136,255,240,80,136,40,132, - 14,5,10,16,1,2,41,68,81,72,255,240,81,72,41,68, - 15,5,10,16,1,2,40,144,80,96,255,254,80,96,40,144, - 15,5,10,16,1,2,32,120,64,132,255,2,64,0,32,0, - 15,7,14,16,1,2,3,240,0,0,35,240,64,0,255,254, - 64,0,32,0,15,7,14,16,1,2,0,56,4,68,35,128, - 64,0,255,254,64,0,32,0,15,9,18,16,1,254,32,0, - 64,0,255,254,64,56,36,68,3,128,0,56,4,68,3,128, - 14,9,18,16,1,0,224,0,24,0,6,16,1,8,31,252, - 1,8,6,16,24,0,224,0,14,11,22,16,1,255,252,0, - 2,0,1,0,0,144,0,136,255,252,0,136,0,144,1,0, - 2,0,252,0,15,11,22,16,0,255,4,0,8,0,31,254, - 32,0,127,254,128,0,127,254,32,0,31,254,8,0,4,0, - 15,11,22,16,0,255,0,64,0,32,255,240,0,8,255,252, - 0,2,255,252,0,8,255,240,0,32,0,64,15,7,14,16, - 0,2,3,128,68,64,56,8,0,4,255,254,0,4,0,8, - 15,9,18,16,0,254,0,8,0,4,255,254,3,132,68,72, - 56,0,3,128,68,64,56,0,15,7,14,16,1,2,3,128, - 4,68,32,56,64,0,255,254,64,0,32,0,15,9,18,16, - 1,254,32,0,64,0,255,254,67,128,36,68,0,56,3,128, - 4,68,0,56,15,7,14,16,1,0,32,0,64,0,255,254, - 64,0,32,56,4,68,3,128,15,7,14,16,0,0,0,8, - 0,4,255,254,0,4,3,136,68,64,56,0,10,12,24,16, - 3,0,4,0,8,0,16,0,32,0,64,0,255,192,0,128, - 1,0,2,0,20,0,24,0,28,0,4,6,6,8,2,0, - 112,48,80,64,128,128,4,6,6,8,2,0,128,128,64,80, - 48,112,13,13,26,16,1,0,2,0,2,0,5,0,5,0, - 248,248,64,16,32,32,16,64,8,128,16,64,34,32,77,144, - 112,112,11,10,20,16,2,1,4,0,14,0,14,0,255,224, - 127,192,63,128,63,128,123,192,241,224,192,96,11,10,20,16, - 2,1,4,0,10,0,10,0,241,224,64,64,32,128,36,128, - 74,64,177,160,192,96,11,12,24,16,3,0,4,0,30,0, - 127,0,255,128,255,192,255,224,255,224,255,192,255,128,127,0, - 30,0,4,0,11,12,24,16,3,0,4,0,26,0,97,0, - 128,128,128,64,128,32,128,32,128,64,128,128,97,0,26,0, - 4,0}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 8, '1' Height: 12 - Calculated Max Values w=16 h=16 x= 3 y=10 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent = 8 descent= 0 - X Font ascent =12 descent= 0 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4279] U8G_FONT_SECTION("u8g_font_unifont_8_9") = { - 0,16,16,0,254,8,4,67,6,64,0,255,0,14,254,12, - 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,6,14,14,8,1,0,72,72,0, - 0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1, - 0,252,32,32,32,60,34,34,34,34,44,6,14,14,8,1, - 0,24,96,0,0,252,128,128,128,128,128,128,128,128,128,6, - 10,10,8,1,0,56,68,128,128,248,128,128,128,68,56,6, - 10,10,8,1,0,120,132,132,128,96,24,4,132,132,120,5, - 10,10,8,2,0,248,32,32,32,32,32,32,32,32,248,5, - 14,14,8,2,0,144,144,0,0,248,32,32,32,32,32,32, - 32,32,248,6,10,10,8,1,0,28,8,8,8,8,8,8, - 136,136,112,8,10,10,8,0,0,120,72,72,72,78,73,73, - 73,73,142,7,10,10,8,1,0,144,144,144,144,252,146,146, - 146,146,156,7,10,10,8,1,0,252,32,32,32,60,34,34, - 34,34,34,6,14,14,8,1,0,24,96,0,0,128,140,144, - 160,192,192,160,144,136,132,6,13,13,8,1,0,96,24,0, - 132,140,140,148,148,164,164,196,196,132,7,14,14,8,1,0, - 132,132,120,0,130,130,68,68,40,40,16,16,32,96,7,12, - 12,8,1,254,130,130,130,130,130,130,130,130,130,254,16,16, - 6,10,10,8,1,0,48,72,72,132,132,252,132,132,132,132, - 6,10,10,8,1,0,248,128,128,128,248,132,132,132,132,248, - 6,10,10,8,1,0,248,132,132,132,248,132,132,132,132,248, - 6,10,10,8,1,0,252,128,128,128,128,128,128,128,128,128, - 8,12,12,8,0,254,14,18,18,18,34,34,34,66,66,255, - 129,129,6,10,10,8,1,0,252,128,128,128,248,128,128,128, - 128,252,7,10,10,8,1,0,146,146,84,84,56,56,84,84, - 146,146,6,10,10,8,1,0,120,132,4,4,120,8,4,4, - 132,120,6,10,10,8,1,0,132,140,140,148,148,164,164,196, - 196,132,6,13,13,8,1,0,72,48,0,132,140,140,148,148, - 164,164,196,196,132,6,10,10,8,1,0,140,144,144,160,160, - 192,160,144,136,132,6,10,10,8,1,0,60,36,36,36,36, - 36,36,68,68,132,6,10,10,8,1,0,132,132,204,204,180, - 180,132,132,132,132,6,10,10,8,1,0,132,132,132,132,252, - 132,132,132,132,132,6,10,10,8,1,0,120,132,132,132,132, - 132,132,132,132,120,6,10,10,8,1,0,252,132,132,132,132, - 132,132,132,132,132,6,10,10,8,1,0,248,132,132,132,248, - 128,128,128,128,128,6,10,10,8,1,0,120,132,132,128,128, - 128,128,132,132,120,7,10,10,8,1,0,254,16,16,16,16, - 16,16,16,16,16,7,10,10,8,1,0,130,130,68,68,40, - 40,16,16,32,96,7,11,11,8,1,0,16,124,146,146,146, - 146,146,124,16,16,16,6,10,10,8,1,0,132,132,72,72, - 48,48,72,72,132,132,7,12,12,8,1,254,132,132,132,132, - 132,132,132,132,132,254,2,2,6,10,10,8,1,0,132,132, - 132,132,132,252,4,4,4,4,7,10,10,8,1,0,146,146, - 146,146,146,146,146,146,146,254,8,12,12,8,0,254,146,146, - 146,146,146,146,146,146,146,255,1,1,7,10,10,8,1,0, - 224,32,32,32,60,34,34,34,34,60,6,10,10,8,1,0, - 132,132,132,132,228,148,148,148,148,228,6,10,10,8,1,0, - 128,128,128,128,248,132,132,132,132,248,6,10,10,8,1,0, - 112,136,4,4,124,4,4,4,136,112,6,10,10,8,1,0, - 152,164,164,164,228,164,164,164,164,152,6,10,10,8,1,0, - 124,132,132,132,124,36,68,68,132,132,6,8,8,8,1,0, - 120,132,4,124,132,132,140,116,6,12,12,8,1,0,4,56, - 64,128,248,132,132,132,132,132,132,120,6,8,8,8,1,0, - 248,132,132,248,132,132,132,248,6,8,8,8,1,0,252,128, - 128,128,128,128,128,128,7,9,9,8,1,255,60,36,68,68, - 132,132,132,254,130,6,8,8,8,1,0,120,132,132,252,128, - 128,132,120,7,8,8,8,1,0,146,146,84,56,56,84,146, - 146,6,8,8,8,1,0,120,132,4,120,8,4,132,120,6, - 8,8,8,1,0,140,140,148,148,164,164,196,196,6,12,12, - 8,1,0,72,48,0,0,140,140,148,148,164,164,196,196,6, - 8,8,8,1,0,140,144,160,192,160,144,136,132,6,8,8, - 8,1,0,60,36,36,36,36,68,68,132,6,8,8,8,1, - 0,132,204,204,180,180,132,132,132,6,8,8,8,1,0,132, - 132,132,252,132,132,132,132,6,8,8,8,1,0,120,132,132, - 132,132,132,132,120,6,8,8,8,1,0,252,132,132,132,132, - 132,132,132,6,10,10,8,1,254,184,196,132,132,132,132,196, - 184,128,128,6,8,8,8,1,0,120,132,128,128,128,128,132, - 120,7,8,8,8,1,0,254,16,16,16,16,16,16,16,6, - 10,10,8,1,254,132,132,72,72,48,48,32,32,64,192,7, - 13,13,8,1,254,16,16,16,124,146,146,146,146,146,146,124, - 16,16,6,8,8,8,1,0,132,132,72,48,48,72,132,132, - 7,10,10,8,1,254,132,132,132,132,132,132,132,254,2,2, - 6,8,8,8,1,0,132,132,132,132,252,4,4,4,7,8, - 8,8,1,0,146,146,146,146,146,146,146,254,8,10,10,8, - 0,254,146,146,146,146,146,146,146,255,1,1,7,8,8,8, - 1,0,224,32,32,60,34,34,34,60,6,8,8,8,1,0, - 132,132,132,228,148,148,148,228,6,8,8,8,1,0,128,128, - 128,248,132,132,132,248,6,8,8,8,1,0,112,136,4,124, - 4,4,136,112,6,8,8,8,1,0,152,164,164,228,164,164, - 164,152,6,8,8,8,1,0,124,132,132,132,124,36,68,132, - 6,12,12,8,1,0,96,24,0,0,120,132,132,252,128,128, - 132,120,6,12,12,8,1,0,72,72,0,0,120,132,132,252, - 128,128,132,120,7,13,13,8,0,254,64,240,64,92,98,66, - 66,66,66,66,66,2,12,6,12,12,8,1,0,24,96,0, - 0,252,128,128,128,128,128,128,128,6,8,8,8,1,0,56, - 68,128,248,128,128,68,56,6,8,8,8,1,0,120,132,128, - 96,24,4,132,120,5,11,11,8,2,0,32,32,0,96,32, - 32,32,32,32,32,248,5,11,11,8,2,0,144,144,0,96, - 32,32,32,32,32,32,248,5,13,13,8,1,254,8,8,0, - 24,8,8,8,8,8,8,8,144,96,8,8,8,8,0,0, - 120,72,72,78,73,73,73,142,7,8,8,8,1,0,144,144, - 144,252,146,146,146,156,7,11,11,8,0,0,64,240,64,92, - 98,66,66,66,66,66,66,6,12,12,8,1,0,24,96,0, - 0,140,144,160,192,160,144,136,132,6,12,12,8,1,0,96, - 24,0,0,140,140,148,148,164,164,196,196,6,15,15,8,1, - 254,132,132,120,0,0,132,132,72,72,48,48,32,32,64,192, - 5,10,10,8,2,254,136,136,136,136,136,136,136,248,32,32, - 7,10,10,8,1,0,146,146,146,146,146,146,146,146,180,72, - 7,8,8,8,1,0,68,130,130,146,146,146,146,108,7,10, - 10,8,1,0,32,248,32,32,60,34,34,34,34,60,6,10, - 10,8,1,0,64,64,240,64,64,120,68,68,68,120,7,10, - 10,8,1,0,140,146,160,160,252,160,160,160,146,140,7,8, - 8,8,1,0,140,146,160,252,160,160,146,140,7,10,10,8, - 1,0,16,16,40,40,68,108,84,146,146,146,7,8,8,8, - 1,0,16,40,40,68,108,146,146,146,7,10,10,8,1,0, - 144,144,168,168,164,236,212,146,146,146,7,8,8,8,1,0, - 144,168,168,164,236,146,146,146,7,10,10,8,1,0,124,68, - 68,40,16,56,84,146,146,146,7,8,8,8,1,0,124,68, - 40,16,124,146,146,146,7,10,10,8,1,0,190,162,162,148, - 232,156,170,170,170,170,7,8,8,8,1,0,190,162,148,232, - 156,170,170,170,6,14,14,8,1,254,72,48,120,132,4,4, - 120,8,4,4,4,120,128,128,6,13,13,8,1,254,72,48, - 0,120,132,4,120,8,4,4,120,128,128,7,10,10,8,1, - 0,146,146,146,146,146,124,16,16,16,16,7,8,8,8,1, - 254,146,146,146,146,146,124,16,16,6,10,10,8,1,0,120, - 132,132,132,252,132,132,132,132,120,6,8,8,8,1,0,120, - 132,132,252,132,132,132,120,7,10,10,8,1,0,134,136,136, - 136,80,80,80,32,32,32,6,8,8,8,1,0,140,144,144, - 80,80,80,32,32,7,14,14,8,1,0,204,34,0,0,134, - 136,136,136,80,80,80,32,32,32,7,12,12,8,1,0,204, - 34,0,0,140,144,144,80,80,80,32,32,7,12,12,8,1, - 254,64,160,178,178,178,170,172,168,168,72,16,16,7,10,10, - 8,1,254,82,178,178,170,172,168,168,72,16,16,7,12,12, - 8,1,255,16,124,146,130,130,130,130,130,130,146,124,16,7, - 10,10,8,1,255,16,124,146,130,130,130,130,146,124,16,7, - 14,14,8,1,0,120,134,48,8,16,0,108,130,130,146,146, - 146,146,108,7,11,11,8,1,0,120,134,48,8,16,0,108, - 130,146,146,108,7,13,13,8,1,0,254,16,0,146,146,146, - 146,146,146,146,146,180,72,7,10,10,8,1,0,254,16,0, - 146,146,146,146,146,180,72,6,12,12,8,1,254,120,132,132, - 128,128,128,128,128,120,8,8,8,6,10,10,8,1,254,120, - 132,132,128,128,128,120,8,8,8,7,7,7,8,1,1,36, - 24,136,84,34,48,72,4,3,3,8,1,10,16,240,128,5, - 4,4,8,0,9,16,40,72,128,4,3,3,8,1,10,112, - 128,96,4,3,3,8,2,10,224,16,96,8,3,3,8,0, - 10,48,76,131,14,14,28,16,0,254,1,0,2,128,16,16, - 40,40,0,0,0,0,64,8,160,20,0,0,0,0,0,0, - 16,16,41,40,2,128,14,14,28,16,1,254,1,0,33,8, - 19,16,24,96,0,0,0,0,0,16,224,28,32,0,0,0, - 0,0,25,176,17,16,33,8,7,15,15,8,1,254,72,48, - 0,132,140,140,148,148,164,164,196,196,134,4,8,7,14,14, - 8,1,254,72,48,0,0,140,140,148,148,164,164,196,198,4, - 8,6,10,10,8,1,0,64,224,64,64,64,120,68,68,76, - 120,6,7,7,8,1,0,64,224,64,120,68,68,120,6,10, - 10,8,1,0,248,132,148,136,244,128,128,128,128,128,6,10, - 10,8,1,254,184,196,132,132,132,148,200,180,128,128,6,12, - 12,8,1,0,4,4,252,128,128,128,128,128,128,128,128,128, - 6,10,10,8,1,0,4,4,252,128,128,128,128,128,128,128, - 7,10,10,8,1,0,62,32,32,32,32,248,32,32,32,32, - 7,8,8,8,1,0,62,32,32,32,248,32,32,32,6,11, - 11,8,1,255,252,128,128,128,128,248,132,132,132,132,24,6, - 9,9,8,1,255,252,128,128,128,248,132,132,132,24,7,12, - 12,8,1,254,146,146,84,84,56,56,84,84,146,146,2,2, - 7,10,10,8,1,254,146,146,84,56,56,84,146,146,2,2, - 6,12,12,8,1,254,120,132,4,4,120,8,4,4,132,120, - 16,96,6,10,10,8,1,254,120,132,4,120,8,4,132,120, - 16,96,6,12,12,8,1,254,128,140,144,160,192,192,160,144, - 136,132,4,4,6,10,10,8,1,254,140,144,160,192,160,144, - 136,132,4,4,7,10,10,8,1,0,128,134,168,168,240,168, - 168,168,132,130,7,8,8,8,1,0,134,168,168,240,168,168, - 132,130,7,10,10,8,1,0,64,230,72,80,96,96,80,72, - 68,66,7,8,8,8,1,0,70,232,80,96,80,72,68,66, - 8,10,10,8,0,0,224,35,36,40,48,48,40,36,34,33, - 8,8,8,8,0,0,227,36,40,48,40,36,34,33,7,12, - 12,8,1,254,132,132,132,132,252,132,132,132,132,134,2,2, - 7,10,10,8,1,254,132,132,132,252,132,132,132,134,2,2, - 7,10,10,8,1,0,142,136,136,136,248,136,136,136,136,136, - 7,8,8,8,1,0,142,136,136,248,136,136,136,136,7,12, - 12,8,1,254,240,144,144,144,144,156,146,146,146,146,2,12, - 7,10,10,8,1,254,240,144,144,144,156,146,146,146,2,12, - 6,12,12,8,1,255,64,152,164,164,164,164,164,164,164,88, - 48,12,6,9,9,8,1,255,64,152,164,164,164,164,88,48, - 12,6,12,12,8,1,254,120,132,132,128,128,128,128,132,132, - 120,32,24,6,10,10,8,1,254,120,132,132,128,128,132,132, - 120,32,24,7,12,12,8,1,254,254,16,16,16,16,16,16, - 16,16,24,8,8,7,10,10,8,1,254,254,16,16,16,16, - 16,16,24,8,8,7,10,10,8,1,0,130,130,68,68,40, - 16,16,16,16,16,5,10,10,8,2,254,136,136,136,80,80, - 32,32,32,32,32,7,10,10,8,1,0,130,130,68,68,40, - 16,16,124,16,16,5,8,8,8,2,0,136,136,136,80,32, - 32,248,32,7,12,12,8,1,254,132,132,72,72,48,48,72, - 72,132,134,2,2,7,10,10,8,1,254,132,132,72,48,48, - 72,132,134,2,2,8,12,12,8,0,254,250,34,34,34,34, - 34,34,34,34,63,1,1,8,10,10,8,0,254,250,34,34, - 34,34,34,34,63,1,1,7,12,12,8,1,254,132,132,132, - 132,132,140,116,4,4,6,2,2,7,10,10,8,1,254,132, - 132,132,132,140,116,4,6,2,2,6,10,10,8,1,0,132, - 132,132,132,164,172,116,36,36,4,6,8,8,8,1,0,132, - 132,132,164,172,116,36,4,6,10,10,8,1,0,128,128,128, - 184,196,132,132,132,132,132,6,8,8,8,1,0,128,128,184, - 196,132,132,132,132,6,10,10,8,1,0,152,164,164,164,124, - 32,32,36,36,24,6,8,8,8,1,0,152,164,164,124,32, - 32,36,24,6,12,12,8,1,254,152,164,164,164,124,32,32, - 36,36,24,16,16,6,12,12,8,1,254,152,164,164,164,124, - 32,32,36,36,24,16,16,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,14,14,8,1,0,130,130,124, - 0,146,146,84,84,56,56,84,84,146,146,7,13,13,8,1, - 0,68,68,56,0,0,146,146,84,56,56,84,146,146,6,12, - 12,8,1,254,128,140,144,160,192,248,132,132,132,132,4,24, - 6,10,10,8,1,254,140,144,160,192,248,132,132,132,4,24, - 7,12,12,8,1,254,60,36,36,36,36,36,36,68,68,134, - 4,8,7,10,10,8,1,254,60,36,36,36,36,68,68,134, - 4,8,6,12,12,8,1,254,132,132,132,132,252,132,132,132, - 132,132,4,24,6,10,10,8,1,254,132,132,132,252,132,132, - 132,132,4,24,7,12,12,8,1,254,132,132,132,132,252,132, - 132,132,132,134,4,8,7,10,10,8,1,254,132,132,132,252, - 132,132,132,134,4,8,6,12,12,8,1,254,132,132,132,132, - 132,140,116,4,4,12,8,8,6,10,10,8,1,254,132,132, - 132,132,140,116,4,12,8,8,7,12,12,8,1,254,132,132, - 204,204,180,180,132,132,132,134,4,8,7,10,10,8,1,254, - 132,204,204,180,180,132,132,134,4,8,3,10,10,8,3,0, - 224,64,64,64,64,64,64,64,64,224,6,14,14,8,1,0, - 132,132,120,0,48,72,72,132,132,252,132,132,132,132,6,13, - 13,8,1,0,132,132,120,0,0,120,132,4,124,132,132,140, - 116,6,14,14,8,1,0,72,72,0,0,48,72,72,132,132, - 252,132,132,132,132,6,12,12,8,1,0,72,72,0,0,120, - 132,4,124,132,132,140,116,7,10,10,8,1,0,62,80,144, - 144,254,144,144,144,144,158,7,8,8,8,1,0,124,146,18, - 126,144,144,146,124,6,14,14,8,1,0,132,132,120,0,252, - 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,132, - 132,120,0,120,132,132,252,128,128,132,120,6,10,10,8,1, - 0,48,72,132,4,4,252,132,132,72,48,6,8,8,8,1, - 0,120,132,4,4,252,132,132,120,6,14,14,8,1,0,72, - 72,0,0,48,72,132,4,4,252,132,132,72,48,6,12,12, - 8,1,0,72,72,0,0,120,132,4,4,252,132,132,120,7, - 14,14,8,1,0,72,72,0,0,146,146,84,84,56,56,84, - 84,146,146,7,12,12,8,1,0,72,72,0,0,146,146,84, - 56,56,84,146,146,6,14,14,8,1,0,72,72,0,0,120, - 132,4,4,120,8,4,4,132,120,6,12,12,8,1,0,72, - 72,0,0,120,132,4,120,8,4,132,120,6,10,10,8,1, - 0,252,8,16,32,56,4,4,4,140,120,6,10,10,8,1, - 254,124,8,16,32,56,4,4,4,132,120,6,13,13,8,1, - 0,120,0,0,132,140,140,148,148,164,164,196,196,132,6,11, - 11,8,1,0,120,0,0,140,140,148,148,164,164,196,196,6, - 14,14,8,1,0,72,72,0,0,132,140,140,148,148,164,164, - 196,196,132,6,12,12,8,1,0,72,72,0,0,140,140,148, - 148,164,164,196,196,6,14,14,8,1,0,72,72,0,0,120, - 132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,72, - 72,0,0,120,132,132,132,132,132,132,120,6,10,10,8,1, - 0,120,132,132,132,252,132,132,132,132,120,6,8,8,8,1, - 0,120,132,132,252,132,132,132,120,6,14,14,8,1,0,72, - 72,0,0,120,132,132,132,252,132,132,132,132,120,6,12,12, - 8,1,0,72,72,0,0,120,132,132,252,132,132,132,120,6, - 12,12,8,1,0,72,0,120,132,4,4,124,4,4,4,132, - 120,6,10,10,8,1,0,72,0,120,132,4,60,4,4,132, - 120,7,13,13,8,1,0,124,0,0,130,130,68,68,40,40, - 16,16,32,96,6,13,13,8,1,254,120,0,0,132,132,72, - 72,48,48,32,32,64,192,7,14,14,8,1,0,72,72,0, - 0,130,130,68,68,40,40,16,16,32,96,6,14,14,8,1, - 254,72,72,0,0,132,132,72,72,48,48,32,32,64,192,7, - 14,14,8,1,0,102,136,0,0,130,130,68,68,40,40,16, - 16,32,96,7,14,14,8,1,254,102,136,0,0,132,132,72, - 72,48,48,32,32,64,192,6,14,14,8,1,0,72,72,0, - 0,132,132,132,132,132,140,116,4,4,4,6,12,12,8,1, - 0,72,72,0,0,132,132,132,132,140,116,4,4,6,12,12, - 8,1,254,252,128,128,128,128,128,128,128,128,224,96,32,6, - 10,10,8,1,254,252,128,128,128,128,128,128,224,96,32,6, - 14,14,8,1,0,72,72,0,0,132,132,132,132,228,148,148, - 148,148,228,6,12,12,8,1,0,72,72,0,0,132,132,132, - 228,148,148,148,228,6,12,12,8,1,254,252,128,128,128,248, - 128,128,128,128,192,64,192,5,10,10,8,1,254,248,128,128, - 240,128,128,128,192,64,192,6,12,12,8,1,254,132,132,72, - 72,48,48,72,72,132,132,4,8,6,10,10,8,1,254,132, - 132,72,48,48,72,132,132,4,8,6,10,10,8,1,0,132, - 132,72,72,48,252,72,72,132,132,6,8,8,8,1,0,132, - 132,72,48,252,72,132,132}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifont[5551] U8G_FONT_SECTION("u8g_font_unifont") = { - 0,16,16,0,254,10,6,167,8,149,0,255,254,14,254,11, - 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,147,194,82,50,95,138,82,113, - 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,59,165,193, - 36,49,25,137,36,113,37,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,123,165,193,36,121,25,193,36,121,37,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,121,191,194,72,122,73,194, - 72,121,137,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,122, - 77,194,82,123,83,194,214,122,79,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,49,165,202,40,122,49,202,40,73,165,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,115,209,202,16,115, - 209,202,16,115,223,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,30,57,145,64,30,49,145,8,30,113,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,34,249,162,32,62,33,162,32,34, - 33,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,32,249,160, - 128,32,249,160,128,62,129,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,34,249,162,32,34,33,148,32,8,33,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,62,249,160,128,62,249,160, - 128,32,129,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,30, - 241,160,136,32,241,160,144,30,137,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,30,113,160,136,28,137,130,136,60,113,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,30,249,160,32,28, - 33,130,32,60,249,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,29,165,16,37,29,165,16,57,221,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,113,137,202,24,74,9,202,8,113, - 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,153,202, - 4,74,9,202,16,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,113,153,202,4,74,25,202,4,113,153,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,113,133,202,12,74,21,202, - 28,113,133,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,73, - 147,234,84,106,89,219,212,74,83,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,52,83,194,154,49,23,137,18,113,19,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,123,185,193,36,121, - 57,193,36,121,57,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,51,37,196,180,71,173,196,164,52,165,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,62,137,160,216,62,169,160,136,62, - 137,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,58,93,194, - 82,50,93,138,82,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,121,207,194,16,121,145,192,80,123,143,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,30,113,144,128,30,97,144, - 16,16,225,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,14, - 113,144,128,22,97,146,16,14,225,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,28,113,146,128,28,97,148,16,18,225,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,18,113,146,128,18, - 97,146,16,12,225,128,0,0,1,128,0,0,1,128,0,85, - 85,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, - 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, - 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, - 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, - 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, - 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, - 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, - 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, - 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, - 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, - 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, - 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, - 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, - 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, - 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, - 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, - 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, - 223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202, - 82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202, - 18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, - 147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91, - 209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123, - 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201, - 32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168, - 132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, - 29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14, - 33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115, - 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202, - 16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194, - 80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, - 157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42, - 169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122, - 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, - 16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194, - 80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128, - 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, - 1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0, - 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, - 170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138, - 8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16, - 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, - 221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0, - 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, - 0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128, - 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, - 254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73, - 145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85, - 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, - 0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128, - 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74, - 15,128,0,0,1,128,0,0,1,128,0,85,85,0,0,0, - 8,0,14,1,10,10,8,4,0,128,128,0,128,128,128,128, - 128,128,128,7,10,10,8,1,0,16,16,124,146,144,144,146, - 124,16,16,7,10,10,8,1,0,28,32,32,32,248,32,32, - 32,124,194,6,8,8,8,1,1,132,72,120,72,72,120,72, - 132,7,10,10,8,1,0,130,68,40,16,254,16,254,16,16, - 16,1,10,10,8,4,0,128,128,128,128,0,0,128,128,128, - 128,6,10,10,8,1,0,120,132,128,120,132,132,120,4,132, - 120,4,2,2,8,2,12,144,144,8,10,10,8,0,0,60, - 66,153,165,161,161,165,153,66,60,5,7,7,8,2,5,112, - 8,120,136,120,0,248,6,9,9,8,1,0,36,36,72,72, - 144,72,72,36,36,6,4,4,8,1,0,252,4,4,4,16, - 16,32,16,0,254,170,170,0,1,128,0,58,99,194,84,51, - 201,138,72,114,73,128,0,0,1,128,0,3,193,128,0,0, - 1,128,0,85,85,8,10,10,8,0,0,60,66,185,165,165, - 185,169,165,66,60,6,1,1,8,1,11,252,3,4,4,8, - 2,10,64,160,160,64,7,9,9,8,1,1,16,16,16,254, - 16,16,16,0,254,5,7,7,8,2,5,112,136,8,112,128, - 128,248,5,7,7,8,2,5,112,136,8,112,8,136,112,3, - 3,3,8,3,10,32,64,128,8,10,10,8,0,254,66,66, - 66,66,66,66,102,89,64,128,6,12,12,8,1,255,124,244, - 244,244,244,116,20,20,20,20,20,28,2,2,2,8,3,4, - 192,192,3,2,2,8,2,254,32,192,3,7,7,8,2,5, - 32,96,160,32,32,32,32,5,7,7,8,2,5,112,136,136, - 136,112,0,248,6,9,9,8,1,0,144,144,72,72,36,72, - 72,144,144,6,10,10,8,1,0,68,196,72,80,80,36,44, - 84,156,132,6,10,10,8,1,0,68,196,72,80,80,40,52, - 68,136,156,6,10,10,8,1,0,196,36,72,48,208,36,44, - 84,156,132,6,10,10,8,1,0,16,16,0,16,16,96,132, - 132,132,120,6,14,14,8,1,0,96,24,0,0,48,72,72, - 132,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0, - 0,48,72,72,132,132,252,132,132,132,132,6,14,14,8,1, - 0,48,72,0,0,48,72,72,132,132,252,132,132,132,132,6, - 14,14,8,1,0,100,152,0,0,48,72,72,132,132,252,132, - 132,132,132,6,14,14,8,1,0,72,72,0,0,48,72,72, - 132,132,252,132,132,132,132,6,14,14,8,1,0,48,72,48, - 0,48,72,72,132,132,252,132,132,132,132,7,10,10,8,1, - 0,62,80,144,144,254,144,144,144,144,158,6,12,12,8,1, - 254,120,132,132,128,128,128,128,132,132,120,16,96,6,14,14, - 8,1,0,96,24,0,0,252,128,128,128,248,128,128,128,128, - 252,6,14,14,8,1,0,24,96,0,0,252,128,128,128,248, - 128,128,128,128,252,6,14,14,8,1,0,48,72,0,0,252, - 128,128,128,248,128,128,128,128,252,6,14,14,8,1,0,72, - 72,0,0,252,128,128,128,248,128,128,128,128,252,5,14,14, - 8,2,0,96,24,0,0,248,32,32,32,32,32,32,32,32, - 248,5,14,14,8,2,0,48,192,0,0,248,32,32,32,32, - 32,32,32,32,248,5,14,14,8,2,0,96,144,0,0,248, - 32,32,32,32,32,32,32,32,248,5,14,14,8,2,0,144, - 144,0,0,248,32,32,32,32,32,32,32,32,248,7,10,10, - 8,0,0,120,68,66,66,242,66,66,66,68,120,6,14,14, - 8,1,0,100,152,0,0,132,196,196,164,164,148,148,140,140, - 132,6,14,14,8,1,0,96,24,0,0,120,132,132,132,132, - 132,132,132,132,120,6,14,14,8,1,0,24,96,0,0,120, - 132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,48, - 72,0,0,120,132,132,132,132,132,132,132,132,120,6,14,14, - 8,1,0,100,152,0,0,120,132,132,132,132,132,132,132,132, - 120,6,14,14,8,1,0,72,72,0,0,120,132,132,132,132, - 132,132,132,132,120,6,5,5,8,1,2,132,72,48,72,132, - 6,12,12,8,1,255,4,116,136,140,148,148,164,164,196,68, - 184,128,6,14,14,8,1,0,96,24,0,0,132,132,132,132, - 132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,0, - 132,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, - 48,72,0,0,132,132,132,132,132,132,132,132,132,120,6,14, - 14,8,1,0,72,72,0,0,132,132,132,132,132,132,132,132, - 132,120,7,14,14,8,1,0,24,96,0,0,130,130,68,68, - 40,16,16,16,16,16,6,11,11,8,1,0,128,128,240,136, - 132,132,136,240,128,128,128,6,10,10,8,1,0,112,136,136, - 144,176,136,132,132,164,152,6,12,12,8,1,0,96,24,0, - 0,120,132,4,124,132,132,140,116,6,12,12,8,1,0,24, - 96,0,0,120,132,4,124,132,132,140,116,6,12,12,8,1, - 0,48,72,0,0,120,132,4,124,132,132,140,116,6,12,12, - 8,1,0,100,152,0,0,120,132,4,124,132,132,140,116,6, - 12,12,8,1,0,72,72,0,0,120,132,4,124,132,132,140, - 116,6,13,13,8,1,0,48,72,48,0,0,120,132,4,124, - 132,132,140,116,7,8,8,8,1,0,124,146,18,126,144,144, - 146,124,6,10,10,8,1,254,120,132,128,128,128,128,132,120, - 16,96,6,12,12,8,1,0,96,24,0,0,120,132,132,252, - 128,128,132,120,6,12,12,8,1,0,24,96,0,0,120,132, - 132,252,128,128,132,120,6,12,12,8,1,0,48,72,0,0, - 120,132,132,252,128,128,132,120,6,12,12,8,1,0,72,72, - 0,0,120,132,132,252,128,128,132,120,5,12,12,8,2,0, - 192,48,0,0,96,32,32,32,32,32,32,248,5,12,12,8, - 2,0,48,192,0,0,96,32,32,32,32,32,32,248,5,12, - 12,8,2,0,96,144,0,0,96,32,32,32,32,32,32,248, - 5,12,12,8,2,0,144,144,0,0,96,32,32,32,32,32, - 32,248,6,12,12,8,1,0,100,24,40,68,4,124,132,132, - 132,132,132,120,6,12,12,8,1,0,100,152,0,0,184,196, - 132,132,132,132,132,132,6,12,12,8,1,0,96,24,0,0, - 120,132,132,132,132,132,132,120,6,12,12,8,1,0,24,96, - 0,0,120,132,132,132,132,132,132,120,6,12,12,8,1,0, - 48,72,0,0,120,132,132,132,132,132,132,120,6,12,12,8, - 1,0,100,152,0,0,120,132,132,132,132,132,132,120,6,12, - 12,8,1,0,72,72,0,0,120,132,132,132,132,132,132,120, - 6,7,7,8,1,1,48,0,0,252,0,0,48,6,10,10, - 8,1,255,4,120,140,148,148,164,164,196,120,128,6,12,12, - 8,1,0,96,24,0,0,132,132,132,132,132,132,140,116,6, - 12,12,8,1,0,24,96,0,0,132,132,132,132,132,132,140, - 116,6,12,12,8,1,0,48,72,0,0,132,132,132,132,132, - 132,140,116,6,12,12,8,1,0,72,72,0,0,132,132,132, - 132,132,132,140,116,6,14,14,8,1,254,24,96,0,0,132, - 132,132,132,132,76,52,4,4,120,5,12,12,8,2,254,128, - 128,240,136,136,136,144,160,192,128,128,128,6,14,14,8,1, - 254,72,72,0,0,132,132,132,132,132,76,52,4,4,120}; -/* - Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 - Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. - Capital A Height: 10, '1' Height: 10 - Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=14 - Font Bounding box w=16 h=16 x= 0 y=-2 - Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 - Pure Font ascent =10 descent=-2 - X Font ascent =11 descent=-2 - Max Font ascent =14 descent=-2 -*/ -#include "u8g.h" -const u8g_fntpgm_uint8_t u8g_font_unifontr[1485] U8G_FONT_SECTION("u8g_font_unifontr") = { - 0,16,16,0,254,10,1,231,3,213,32,127,254,14,254,11, - 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, - 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, - 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, - 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, - 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, - 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, - 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, - 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, - 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, - 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, - 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, - 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, - 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, - 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, - 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, - 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, - 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, - 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, - 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, - 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, - 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, - 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, - 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, - 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, - 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, - 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, - 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, - 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, - 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, - 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, - 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, - 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, - 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, - 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, - 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, - 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, - 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, - 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, - 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, - 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, - 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, - 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, - 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, - 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, - 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, - 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, - 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, - 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, - 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, - 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, - 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, - 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, - 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, - 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, - 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, - 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, - 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, - 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, - 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, - 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, - 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, - 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, - 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, - 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, - 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, - 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, - 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, - 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, - 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, - 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, - 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, - 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, - 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, - 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, - 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, - 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, - 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, - 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, - 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, - 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, - 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, - 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, - 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, - 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, - 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, - 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, - 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, - 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, - 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, - 223,128,0,0,1,128,0,0,1,128,0,85,85}; diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c deleted file mode 100644 index 30b309723..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_line.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - - u8g_line.h - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#include "u8g.h" - -void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) -{ - u8g_uint_t tmp; - u8g_uint_t x,y; - u8g_uint_t dx, dy; - u8g_int_t err; - u8g_int_t ystep; - - uint8_t swapxy = 0; - - /* no BBX intersection check at the moment, should be added... */ - - if ( x1 > x2 ) dx = x1-x2; else dx = x2-x1; - if ( y1 > y2 ) dy = y1-y2; else dy = y2-y1; - - if ( dy > dx ) - { - swapxy = 1; - tmp = dx; dx =dy; dy = tmp; - tmp = x1; x1 =y1; y1 = tmp; - tmp = x2; x2 =y2; y2 = tmp; - } - if ( x1 > x2 ) - { - tmp = x1; x1 =x2; x2 = tmp; - tmp = y1; y1 =y2; y2 = tmp; - } - err = dx >> 1; - if ( y2 > y1 ) ystep = 1; else ystep = -1; - y = y1; - for( x = x1; x <= x2; x++ ) - { - if ( swapxy == 0 ) - u8g_DrawPixel(u8g, x, y); - else - u8g_DrawPixel(u8g, y, x); - err -= (uint8_t)dy; - if ( err < 0 ) - { - y += (u8g_uint_t)ystep; - err += (u8g_uint_t)dx; - } - } -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c deleted file mode 100644 index 856d77437..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_ll_api.c +++ /dev/null @@ -1,573 +0,0 @@ -/* - - u8g_ll_api.c - - low level api - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include -#include "u8g.h" - -uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - return dev->dev_fn(u8g, dev, msg, arg); -} - -/*====================================================================*/ - -uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t r; - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_INIT, NULL); - u8g->state_cb(U8G_STATE_MSG_BACKUP_U8G); - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); - return r; -} - -void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_FIRST, NULL); - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); -} - -uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev) -{ - uint8_t r; - u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); - u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); - r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_NEXT, NULL); - if ( r != 0 ) - { - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); - } - u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); - return r; -} - -uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_CONTRAST, &contrast); -} - -void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_PIXEL, arg); -} - -void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - arg->dir = dir; - arg->pixel = pixel; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_8PIXEL, arg); -} - -void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); - arg->x = x; - arg->y = y; - arg->dir = dir; - arg->pixel = pixel; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_4TPIXEL, arg); -} - - -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION -uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_IS_BBX_INTERSECTION, &arg); -} -#endif - - - -u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_uint_t r; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_WIDTH, &r); - return r; -} - -u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_uint_t r; - u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_HEIGHT, &r); - return r; -} - -u8g_uint_t u8g_GetModeLL(u8g_t *u8g, u8g_dev_t *dev) -{ - return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_MODE, NULL); -} - - - -/*====================================================================*/ - -void u8g_UpdateDimension(u8g_t *u8g) -{ - u8g->width = u8g_GetWidthLL(u8g, u8g->dev); - u8g->height = u8g_GetHeightLL(u8g, u8g->dev); - u8g->mode = u8g_GetModeLL(u8g, u8g->dev); - /* 9 Dec 2012: u8g_scale.c requires update of current page */ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); -} - -static void u8g_init_data(u8g_t *u8g) -{ - u8g->font = NULL; - u8g->cursor_font = NULL; - u8g->cursor_bg_color = 0; - u8g->cursor_fg_color = 1; - u8g->cursor_encoding = 34; - u8g->cursor_fn = (u8g_draw_cursor_fn)0; - -#if defined(U8G_WITH_PINLIST) - { - uint8_t i; - for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) - u8g->pin_list[i] = U8G_PIN_NONE; - } -#endif - - u8g_SetColorIndex(u8g, 1); - - u8g_SetFontPosBaseline(u8g); - - u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; - u8g->font_ref_ascent = 0; - u8g->font_ref_descent = 0; - u8g->font_line_spacing_factor = 64; /* 64 = 1.0, 77 = 1.2 line spacing factor */ - u8g->line_spacing = 0; - - u8g->state_cb = u8g_state_dummy_cb; - -} - -uint8_t u8g_Begin(u8g_t *u8g) -{ - /* call and init low level driver and com device */ - if ( u8g_InitLL(u8g, u8g->dev) == 0 ) - return 0; - /* fetch width and height from the low level */ - u8g_UpdateDimension(u8g); - return 1; -} - -uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev) -{ - u8g_init_data(u8g); - u8g->dev = dev; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - -/* special init for pure ARM systems */ -uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn) -{ - u8g_init_data(u8g); - -#if defined(U8G_WITH_PINLIST) - { - uint8_t i; - for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) - u8g->pin_list[i] = U8G_PIN_DUMMY; - } -#endif - - u8g->dev = dev; - - /* replace the device procedure with a custom communication procedure */ - u8g->dev->com_fn = com_fn; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - - -#if defined(U8G_WITH_PINLIST) -uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - u8g->pin_list[U8G_PI_SCK] = sck; - u8g->pin_list[U8G_PI_MOSI] = mosi; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - - /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ - /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ - /* if Arduino call u8g_UpdateDimension else u8g_Begin */ - /* issue 146 */ - return u8g_Begin(u8g); -} - -uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) -{ - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - - /* assign user pins */ - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options) -{ - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - u8g->pin_list[U8G_PI_I2C_OPTION] = options; - - return u8g_Begin(u8g); -} - - -uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_EN] = en; - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_DI] = di; - u8g->pin_list[U8G_PI_RW] = rw; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_D0] = d0; - u8g->pin_list[U8G_PI_D1] = d1; - u8g->pin_list[U8G_PI_D2] = d2; - u8g->pin_list[U8G_PI_D3] = d3; - u8g->pin_list[U8G_PI_D4] = d4; - u8g->pin_list[U8G_PI_D5] = d5; - u8g->pin_list[U8G_PI_D6] = d6; - u8g->pin_list[U8G_PI_D7] = d7; - - u8g->pin_list[U8G_PI_EN] = en; - u8g->pin_list[U8G_PI_CS1] = cs1; - u8g->pin_list[U8G_PI_CS2] = cs2; - u8g->pin_list[U8G_PI_DI] = di; - u8g->pin_list[U8G_PI_RW] = rw; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} - -/* - - PIN_D0 8 - PIN_D1 9 - PIN_D2 10 - PIN_D3 11 - PIN_D4 4 - PIN_D5 5 - PIN_D6 6 - PIN_D7 7 - - PIN_CS 14 - PIN_A0 15 - PIN_RESET 16 - PIN_WR 17 - PIN_RD 18 - - u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) - u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) - -*/ - -uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, - uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) -{ - - /* fill data structure with some suitable values */ - u8g_init_data(u8g); - u8g->dev = dev; - - /* assign user pins */ - - u8g->pin_list[U8G_PI_D0] = d0; - u8g->pin_list[U8G_PI_D1] = d1; - u8g->pin_list[U8G_PI_D2] = d2; - u8g->pin_list[U8G_PI_D3] = d3; - u8g->pin_list[U8G_PI_D4] = d4; - u8g->pin_list[U8G_PI_D5] = d5; - u8g->pin_list[U8G_PI_D6] = d6; - u8g->pin_list[U8G_PI_D7] = d7; - - u8g->pin_list[U8G_PI_CS] = cs; - u8g->pin_list[U8G_PI_A0] = a0; - u8g->pin_list[U8G_PI_WR] = wr; - u8g->pin_list[U8G_PI_RD] = rd; - u8g->pin_list[U8G_PI_RESET] = reset; - - return u8g_Begin(u8g); -} -#endif /* defined(U8G_WITH_PINLIST) */ - -void u8g_FirstPage(u8g_t *u8g) -{ - u8g_FirstPageLL(u8g, u8g->dev); -} - -uint8_t u8g_NextPage(u8g_t *u8g) -{ - if ( u8g->cursor_fn != (u8g_draw_cursor_fn)0 ) - { - u8g->cursor_fn(u8g); - } - return u8g_NextPageLL(u8g, u8g->dev); -} - -uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast) -{ - return u8g_SetContrastLL(u8g, u8g->dev, contrast); -} - -void u8g_SleepOn(u8g_t *u8g) -{ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_ON, NULL); -} - -void u8g_SleepOff(u8g_t *u8g) -{ - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_OFF, NULL); -} - - -void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y) -{ - u8g_DrawPixelLL(u8g, u8g->dev, x, y); -} - -void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_Draw8PixelLL(u8g, u8g->dev, x, y, dir, pixel); -} - -void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) -{ - u8g_Draw4TPixelLL(u8g, u8g->dev, x, y, dir, pixel); -} - - -/* u8g_IsBBXIntersection() has been moved to u8g_clip.c */ -#ifdef OBSOLETE_CODE -uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - /* new code */ - u8g_dev_arg_bbx_t arg; - arg.x = x; - arg.y = y; - arg.w = w; - arg.h = h; - return u8g_is_box_bbx_intersection(&(u8g->current_page), &arg); - - /* old code */ - //return u8g_IsBBXIntersectionLL(u8g, u8g->dev, x, y, w, h); -} -#endif - -/* - idx: index for the palette entry (0..255) - r: value for red (0..255) - g: value for green (0..255) - b: value for blue (0..255) -*/ -void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b) -{ - u8g_dev_arg_irgb_t irgb; - irgb.idx = idx; - irgb.r = r; - irgb.g = g; - irgb.b = b; - u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SET_COLOR_ENTRY, &irgb); -} - -void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx) -{ - u8g->arg_pixel.color = idx; - /*u8g->color_index = idx; */ /* must be removed */ -} - -void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb) -{ - u8g->arg_pixel.color = rgb&255; - u8g->arg_pixel.hi_color = rgb>>8; - /*u8g->color_index = idx; */ /* must be removed */ -} - -void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b) -{ - - r &= ~7; - g >>= 2; - b >>= 3; - u8g->arg_pixel.color = b; - u8g->arg_pixel.color |= (g & 7) << 5; - u8g->arg_pixel.hi_color = r; - u8g->arg_pixel.hi_color |= (g>>3) & 7; - - //u8g_SetHiColor(u8g, U8G_GET_HICOLOR_BY_RGB(r,g,b)); -} - -void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b) -{ - if ( u8g->mode == U8G_MODE_R3G3B2 ) - { - r &= 0x0e0; - g &= 0x0e0; - g >>= 3; - b >>= 6; - u8g->arg_pixel.color = r | g | b; - } - else if ( u8g->mode == U8G_MODE_HICOLOR ) - { - u8g_SetHiColorByRGB(u8g, r,g,b); - } - else - { - u8g->arg_pixel.color = r; - u8g->arg_pixel.hi_color = g; - u8g->arg_pixel.blue = b; - } -} - - -uint8_t u8g_GetColorIndex(u8g_t *u8g) -{ - return u8g->arg_pixel.color; -} - -uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g) -{ - uint8_t mode; - mode = u8g_GetMode(u8g); - if ( mode == U8G_MODE_R3G3B2 ) - return 255; /* white */ - else if ( u8g_GetMode(u8g) == U8G_MODE_GRAY2BIT ) - return 3; /* max intensity */ - else /* if ( u8g.getMode() == U8G_MODE_BW ) */ - return 1; /* pixel on */ - return 1; -} - -void u8g_SetDefaultForegroundColor(u8g_t *u8g) -{ - if ( u8g->mode == U8G_MODE_HICOLOR ) - { - u8g->arg_pixel.color = 0x0ff; - u8g->arg_pixel.hi_color = 0x0ff; - } - else - { - u8g_SetColorIndex(u8g, u8g_GetDefaultForegroundColor(u8g)); - } -} - -uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g) -{ - return 0; -} - -void u8g_SetDefaultBackgroundColor(u8g_t *u8g) -{ - u8g_SetColorIndex(u8g, u8g_GetDefaultBackgroundColor(u8g)); /* pixel on / black */ -} - -uint8_t u8g_GetDefaultMidColor(u8g_t *u8g) -{ - uint8_t mode; - mode = u8g_GetMode(u8g); - if ( mode == U8G_MODE_R3G3B2 ) - return 0x06d; /* gray: 01101101 */ - else if ( u8g_GetMode(u8g) == U8G_MODE_GRAY2BIT ) - return 1; /* low mid intensity */ - else /* if ( u8g.getMode() == U8G_MODE_BW ) */ - return 1; /* pixel on */ - return 1; /* default */ -} - -void u8g_SetDefaultMidColor(u8g_t *u8g) -{ - u8g_SetColorIndex(u8g, u8g_GetDefaultMidColor(u8g)); -} - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c deleted file mode 100644 index 1a3eb21ed..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_page.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - - u8g_page.c - - page helper functions, only called by the dev handler. - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -/* - setup page count structure - conditions: page_height <= total_height -*/ -void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) -{ - p->page_height = page_height; - p->total_height = total_height; - p->page = 0; - u8g_page_First(p); -} - -void u8g_page_First(u8g_page_t *p) -{ - p->page_y0 = 0; - p->page_y1 = p->page_height; - p->page_y1--; - p->page = 0; -} - -uint8_t u8g_page_Next(u8g_page_t * p) -{ - register u8g_uint_t y1; - p->page_y0 += p->page_height; - if ( p->page_y0 >= p->total_height ) - return 0; - p->page++; - y1 = p->page_y1; - y1 += p->page_height; - if ( y1 >= p->total_height ) - { - y1 = p->total_height; - y1--; - } - p->page_y1 = y1; - - return 1; -} - - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c deleted file mode 100644 index a94647361..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - - u8g_pb.c - - common procedures for the page buffer - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_pb_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* the following procedure does not work. why? Can be checked with descpic */ -/* -void u8g_pb_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t cnt = b->width; - do - { - *ptr++ = 0; - cnt--; - } while( cnt != 0 ); -} -*/ - -/* - intersection assumptions: - a1 <= a2 is always true -*/ - /* - minimized version - ---1----0 1 b1 <= a2 && b1 > b2 - -----1--0 1 b2 >= a1 && b1 > b2 - ---1-1--- 1 b1 <= a2 && b2 >= a1 - */ -/* -uint8_t u8g_pb8v1_IsYIntersection___Old(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c0, c1, c; - c0 = v0 <= b->p.page_y1; - c1 = v1 >= b->p.page_y0; - c = v0 > v1; - if ( c0 && c1 ) return 1; - if ( c0 && c ) return 1; - if ( c1 && c ) return 1; - return 0; -} -*/ - -uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t c1, c2, c3, tmp; - c1 = v0 <= pb->p.page_y1; - c2 = v1 >= pb->p.page_y0; - c3 = v0 > v1; - /* - if ( c1 && c2 ) - return 1; - if ( c1 && c3 ) - return 1; - if ( c2 && c3 ) - return 1; - return 0; - */ - - tmp = c1; - c1 &= c2; - c2 &= c3; - c3 &= tmp; - c1 |= c2; - c1 |= c3; - return c1 & 1; -} - - -uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) -{ - uint8_t /*c0, c1, */ c2, c3; - /* - conditions: b->p.page_y0 < b->p.page_y1 - there are no restriction on v0 and v1. If v0 > v1, then warp around unsigned is assumed - */ - /* - c0 = v0 < 0; - c1 = v1 < 0; - */ - c2 = v0 > b->width; - c3 = v1 > b->width; - /*if ( c0 && c1 ) return 0;*/ - if ( c2 && c3 ) return 0; - /*if ( c1 && c2 ) return 0;*/ - return 1; -} - -uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx) -{ - u8g_uint_t tmp; - - tmp = bbx->y; - tmp += bbx->h; - tmp--; - - if ( u8g_pb_IsYIntersection(pb, bbx->y, tmp) == 0 ) - return 0; - - /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ - tmp = bbx->x; - tmp += bbx->w; - tmp--; - - return u8g_pb_IsXIntersection(pb, bbx->x, tmp); -} - -void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box) -{ - box->x0 = 0; - box->y0 = pb->p.page_y0; - box->x1 = pb->width; - box->x1--; - box->y1 = pb->p.page_y1; -} - - -uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - u8g_uint_t v0, v1; - v0 = arg_pixel->y; - v1 = v0; - switch( arg_pixel->dir ) - { - case 0: - break; - case 1: - v1 += 8; /* this is independent from the page height */ - break; - case 2: - break; - case 3: - v0 -= 8; - break; - } - return u8g_pb_IsYIntersection(b, v0, v1); -} - - - -uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev) -{ - return u8g_WriteSequence(u8g, dev, b->width, b->buf); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c deleted file mode 100644 index d8667f35a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb14v1.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - u8g_pb14v1.c - - 14bit height monochrom (1 bit) page buffer, - byte has vertical orientation, 7 bits per byte - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - - -void u8g_pb14v1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb14v1_Clear(b); -} - -void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 7 ) - { - ptr += b->width; - y -= 7; - } - mask = 1; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb14v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb14v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb14v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb14v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb14v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb14v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb14v1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb14v1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c deleted file mode 100644 index d598633fa..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h1.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - - u8g_pb16h1.c - - 2x 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -void u8g_pb16h1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - - -void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16h1_Clear(b); -} - - -/* limitation: total buffer must not exceed 2*256 bytes */ -void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 8 ) - { - ptr += b->width; - y &= 0x07; - } - tmp = b->width; - tmp >>= 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } - -} - - -void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb16h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb16h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb16h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16h1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16h1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c deleted file mode 100644 index 2d0523cf8..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16h2.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - - u8g_pb16h2.c - - 2 bit per pixel page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb16h2_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - - /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ - end_ptr += b->width; - end_ptr += b->width; - - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -void u8g_pb16h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16h2_Clear(b); -} - -static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or) U8G_NOINLINE; -static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or) -{ - register uint8_t mask; - register uint16_t tmp; - - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 2; - tmp *= (uint8_t)y; - ptr += tmp; - - tmp = x; - tmp >>= 2; - ptr += tmp; - - tmp = x; - tmp &= 3; - tmp <<= 1; - if ( is_or == 0 ) - { - mask = 3; - mask <<= tmp; - mask = ~mask; - *ptr &= mask; - } - color_index &= 3; - color_index <<= tmp; - *ptr |= color_index; -} - - -void u8g_pb16h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t is_or) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, is_or); -} - - -void u8g_pb16h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16h2_SetPixel(b, arg_pixel, 0); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb16h2_Or4PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - arg_pixel->color = pixel & 0x0c0; - arg_pixel->color >>= 6; - u8g_pb16h2_SetPixel(b, arg_pixel, 1); - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 2; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb16h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 0); - break; - case U8G_DEV_MSG_SET_4TPIXEL: - u8g_pb16h2_Or4PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_TPIXEL: - u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 1); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_page_First(&(pb->p)); - u8g_pb16h2_Clear(pb); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16h2_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c deleted file mode 100644 index 3716411c1..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v1.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - - u8g_pb16v1.c - - 16bit height monochrom (1 bit) page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - - -void u8g_pb16v1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*2; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16v1_Clear(b); -} - -void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - if ( y >= 8 ) - { - ptr += b->width; - y &= 0x07; - } - mask = 1; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb16v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb16v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb16v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16v1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16v1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c deleted file mode 100644 index 94ef7e28a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb16v2.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - - u8g_pb16v2.c - - 16 bit height 2 bit per pixel page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb16v2_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - - /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ - end_ptr += b->width; - end_ptr += b->width; - - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - -void u8g_pb16v2Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb16v2_Clear(b); -} - -void u8g_pb16v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - if ( y >= 4 ) - { - ptr += b->width; - } - mask = 0x03; - y &= 0x03; - y <<= 1; - mask <<= y; - mask ^=0xff; - color_index &= 3; - color_index <<= y; - ptr += x; - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb16v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb16v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb16v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb16v2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - - -uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb16v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb16v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb16v2_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb16v2_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c deleted file mode 100644 index d40f7ce57..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb32h1.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - - u8g_pb32h1.c - - 2x 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -void u8g_pb32h1_Clear(u8g_pb_t *b) -{ - uint8_t *ptr = (uint8_t *)b->buf; - uint8_t *end_ptr = ptr; - end_ptr += b->width*4; - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - - -void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb32h1_Clear(b); -} - - -/* limitation: total buffer must not exceed 2*256 bytes */ -void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint16_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width; - tmp >>= 3; - tmp *= y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } - -} - - -void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb32h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb32h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb32h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb32h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb32h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb32h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb32h1_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb32h1_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c deleted file mode 100644 index 80dc99b58..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1.c +++ /dev/null @@ -1,389 +0,0 @@ -/* - - u8g_pb8h1.c - - 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure - - 23. Sep 2012: Bug with down procedure, see FPS 1st page --> fixed (bug located in u8g_clip.c) - -*/ - -#include "u8g.h" -#include - -#ifdef __unix__ -#include -#endif - -/* NEW_CODE disabled, because the performance increase was too slow and not worth compared */ -/* to the increase of code size */ -/* #define NEW_CODE */ - -#ifdef __unix__ -void *u8g_buf_lower_limit; -void *u8g_buf_upper_limit; -#endif - -void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -#ifdef NEW_CODE -struct u8g_pb_h1_struct -{ - u8g_uint_t x; - u8g_uint_t y; - uint8_t *ptr; - uint8_t mask; - uint8_t line_byte_len; - uint8_t cnt; -}; - -static uint8_t u8g_pb8h1_bitmask[8] = { 0x080, 0x040, 0x020, 0x010, 0x008, 0x004, 0x002, 0x001 }; - -static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) U8G_NOINLINE; -static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) -{ - register u8g_uint_t x; - x = s->x; - x++; - s->x = x; - x &= 7; - s->mask = u8g_pb8h1_bitmask[x]; - if ( x == 0 ) - s->ptr++; -} - -static void u8g_pb8h1_state_left(struct u8g_pb_h1_struct *s) -{ - register u8g_uint_t x; - x = s->x; - x--; - s->x = x; - x &= 7; - s->mask = u8g_pb8h1_bitmask[x]; - if ( x == 7 ) - s->ptr--; -} - -static void u8g_pb8h1_state_down(struct u8g_pb_h1_struct *s) -{ - s->y++; - s->ptr += s->line_byte_len; -} - -static void u8g_pb8h1_state_up(struct u8g_pb_h1_struct *s) -{ - s->y--; - s->ptr -= s->line_byte_len; -} - -static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) U8G_NOINLINE; -static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) -{ - u8g_uint_t tmp; - - uint8_t *ptr = b->buf; - - s->x = x; - s->y = y; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 3; - s->line_byte_len = tmp; - - /* assume negative y values, can be down to -7, subtract this from the pointer and add correction of 8 to y */ - ptr -= tmp*8; - y+=8; - /* it is important that the result of tmp*y can be 16 bit value also for 8 bit mode */ - ptr += tmp*y; - - s->mask = u8g_pb8h1_bitmask[x & 7]; - - /* assume negative x values (to -7), subtract 8 pixel from the pointer and add 8 to x */ - ptr--; - x += 8; - x >>= 3; - ptr += x; - s->ptr = ptr; -} - -static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) U8G_NOINLINE; -static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) -{ - -#ifdef __unix__ - assert( s->ptr >= u8g_buf_lower_limit ); - assert( s->ptr < u8g_buf_upper_limit ); -#endif - - if ( color_index ) - { - *s->ptr |= s->mask; - } - else - { - uint8_t mask = s->mask; - mask ^=0xff; - *s->ptr &= mask; - } -} -#endif - - -void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -/* limitation: total buffer must not exceed 256 bytes */ -void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ -#ifdef NEW_CODE - struct u8g_pb_h1_struct s; - u8g_pb8h1_state_init(&s, b, x, y); - u8g_pb8h1_state_set_pixel(&s, color_index); - -// u8g_pb8h1_state_up(&s); -// if ( s.y > b->p.page_y1 ) -// return; -// if ( s.x > b->width ) -// return; -// u8g_pb8h1_state_set_pixel(&s, color_index); -#else - register uint8_t mask; - u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width; - tmp >>= 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 0x080; - mask >>= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -#endif -} - - -void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb8h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - -#ifdef NEW_CODE -static void u8g_pb8h1_Set8PixelState(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - struct u8g_pb_h1_struct s; - uint8_t cnt; - u8g_pb8h1_state_init(&s, b, arg_pixel->x, arg_pixel->y); - cnt = 8; - switch( arg_pixel->dir ) - { - case 0: - do - { - if ( s.x < b->width ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_right(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 1: - do - { - if ( s.y >= b->p.page_y0 ) - if ( s.y <= b->p.page_y1 ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_down(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 2: - do - { - if ( s.x < b->width ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_left(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - case 3: - do - { - if ( s.y >= b->p.page_y0 ) - if ( s.y <= b->p.page_y1 ) - if ( pixel & 128 ) - u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); - u8g_pb8h1_state_up(&s); - pixel <<= 1; - cnt--; - } while( cnt > 0 && pixel != 0 ); - break; - } -} -#endif - -uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: -#ifdef NEW_CODE - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1_Set8PixelState(pb, (u8g_dev_arg_pixel_t *)arg); -#else - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); -#endif - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c deleted file mode 100644 index c7be1fe10..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h1f.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - - u8g_pb8h1f.c - - 8bit height monochrom (1 bit) page buffer - byte has horizontal orientation, same as u8g_pb8h1, but byte is flipped - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -/* limitation: total buffer must not exceed 256 bytes, 20 nov 2012: extended to >256 bytes */ -void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - /*register uint8_t mask, tmp;*/ - register uint8_t mask; - register u8g_uint_t tmp; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - tmp = b->width >> 3; - tmp *= (uint8_t)y; - ptr += tmp; - - mask = 1; - mask <<= x & 7; - x >>= 3; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h1f_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h1f_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pb8h1f_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h1f_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h1f_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h1f_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c deleted file mode 100644 index aad6e4275..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h2.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - - u8g_pb8h2.c - - 8bit height 2 bit per pixel page buffer - byte has horizontal orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb8h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - register uint16_t tmp; - - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - - tmp = b->width; - tmp >>= 2; - tmp *= (uint8_t)y; - ptr += tmp; - - tmp = x; - tmp >>= 2; - ptr += tmp; - - tmp = x; - tmp &= 3; - tmp <<= 1; - mask = 3; - mask <<= tmp; - mask = ~mask; - color_index &= 3; - color_index <<= tmp; - - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb8h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8h2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - - -uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb8h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c deleted file mode 100644 index 49dbb8616..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8h8.c +++ /dev/null @@ -1,185 +0,0 @@ -/* - - u8g_pb8h8.c - - 8 lines per page, horizontal, 8 bits per pixel - (22 May 2013: might also support any number of lines --> needs to be checked) - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -uint8_t u8g_index_color_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_index_color_8h8_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_8h8_buff}; -u8g_dev_t name = { dev_fn, &u8g_index_color_8h8_pb, com_fn } - -*/ - -#include "u8g.h" - -/* -#define WIDTH_BITS 7 -#define WIDTH (1<buf; - uint8_t *end_ptr = ptr; - uint8_t cnt = b->p.page_height; - end_ptr += b->width*cnt; - /* - do - { - end_ptr += b->width; - cnt--; - } while( cnt > 0 ); - */ - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - -void u8g_pb8h8_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb8h8_Clear(b); -} - -static void u8g_pb8h8_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - ptr += tmp; - *ptr = color_index; -} - -void u8g_pb8h8_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8h8_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8h8_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8h8_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8h8_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8h8_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb8h8_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb8h8_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_R3G3B2; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c deleted file mode 100644 index 28ac4e0ea..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v1.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - - u8g_pb8v1.c - - 8bit height monochrom (1 bit) page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - - -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; -void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; -void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; -void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; - -/* Obsolete, usually set by the init of the structure */ -void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - - y -= b->p.page_y0; - mask = 1; - y &= 0x07; - mask <<= y; - ptr += x; - if ( color_index ) - { - *ptr |= mask; - } - else - { - mask ^=0xff; - *ptr &= mask; - } -} - - -void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - -void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8v1_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); -} - - -void u8g_pb8v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pb8v1_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); - -} - -uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pb8v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_BW; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c deleted file mode 100644 index c8e8926b1..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pb8v2.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - - u8g_pb8v2.c - - 8bit height 2 bit per pixel page buffer - byte has vertical orientation - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" -#include - -void u8g_pb8v2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pb_Clear(b); -} - -void u8g_pb8v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) -{ - register uint8_t mask; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - mask = 0x03; - y &= 0x03; - y <<= 1; - mask <<= y; - mask ^=0xff; - color_index &= 3; - color_index <<= y; - ptr += x; - *ptr &= mask; - *ptr |= color_index; -} - - -void u8g_pb8v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pb8v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); -} - - -void u8g_pb8v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - do - { - if ( pixel & 128 ) - { - u8g_pb8v2_SetPixel(b, arg_pixel); - } - switch( arg_pixel->dir ) - { - case 0: arg_pixel->x++; break; - case 1: arg_pixel->y++; break; - case 2: arg_pixel->x--; break; - case 3: arg_pixel->y--; break; - } - pixel <<= 1; - } while( pixel != 0 ); - -} - - - -uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - { - u8g_pb8v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); - } - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pb8v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pb_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pb_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_GRAY2BIT; - } - return 1; -} - - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh16.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh16.c deleted file mode 100644 index 9e3455346..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh16.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - - u8g_pbxh16.c - - x lines per page, horizontal, 16 bits per pixel (hi color modes) - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_xh16_buf}; -u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn } - -*/ - -#include "u8g.h" - -/* -#define WIDTH_BITS 7 -#define WIDTH (1<buf; - uint8_t *end_ptr = ptr; - uint8_t cnt = b->p.page_height; - do - { - end_ptr += b->width*2; - cnt--; - } while( cnt > 0 ); - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - -void u8g_pbxh16_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pbxh16_Clear(b); -} - -static void u8g_pbxh16_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t low, uint8_t high) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - tmp <<= 1; - ptr += tmp; - *ptr = low; - ptr++; - *ptr = high; -} - -void u8g_pbxh16_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pbxh16_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color); -} - - -void u8g_pbxh16_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pbxh16_SetPixel(b, arg_pixel); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pbxh16_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pbxh16_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pbxh16_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pbxh16_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_HICOLOR; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh24.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh24.c deleted file mode 100644 index 61ed011a1..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_pbxh24.c +++ /dev/null @@ -1,287 +0,0 @@ -/* - - u8g_pbxh24.c - - x lines per page, horizontal, 24 bits per pixel (true color modes) - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -struct _u8g_pb_t -{ - u8g_page_t p; - u8g_uint_t width; - void *buf; -}; -typedef struct _u8g_pb_t u8g_pb_t; - - -uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; -u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_xh16_buf}; -u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn } - -*/ - -#include "u8g.h" - -/* -#define WIDTH_BITS 7 -#define WIDTH (1<buf; - uint8_t *end_ptr = ptr; - uint8_t cnt = b->p.page_height; - do - { - end_ptr += b->width*3; - cnt--; - } while( cnt > 0 ); - do - { - *ptr++ = 0; - } while( ptr != end_ptr ); -} - - -void u8g_pbxh24_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) -{ - b->buf = buf; - b->width = width; - u8g_pbxh24_Clear(b); -} - -#ifdef OBSOLETE -static void u8g_pbxh24_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t r, uint8_t g, uint8_t b) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - tmp *= 3; - ptr += tmp; - *ptr = r; - ptr++; - *ptr = g; - ptr++; - *ptr = b; -} -#endif - -/* - intensity - 0..3 intensity value - 4 replace color -*/ -static void u8g_pbxh24_set_tpixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t red, uint8_t green, uint8_t blue, uint8_t intensity) -{ - uint16_t tmp; - uint8_t *ptr = b->buf; - - if ( intensity == 0 ) - return; - - y -= b->p.page_y0; - tmp = y; - tmp *= b->width; - tmp += x; - tmp *= 3; - ptr += tmp; - - if ( intensity == 4 ) - { - *ptr = red; - ptr++; - *ptr = green; - ptr++; - *ptr = blue; - return; - } - - if ( intensity == 2 ) - { - /* - red = red/4 + red/2; - green = green/4 + green/2; - blue = blue/4 + blue/2; - */ - red >>= 1; - green >>= 1; - blue >>= 1; - } - else if ( intensity == 1 ) - { - red >>= 2; - green >>= 2; - blue >>= 2; - } - - if ( *ptr >= 255-red ) *ptr = 255; - else *ptr += red; - ptr++; - - if ( *ptr >= 255-green ) *ptr = 255; - else *ptr += green; - ptr++; - - if ( *ptr >= 255-blue ) *ptr = 255; - else *ptr += blue; - - /* - if ( *ptr < red ) *ptr = red; - ptr++; - if ( *ptr < green ) *ptr = green; - ptr++; - if ( *ptr < blue ) *ptr = blue; - */ - - -} - -void u8g_pbxh24_SetTPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t intensity) -{ - if ( arg_pixel->y < b->p.page_y0 ) - return; - if ( arg_pixel->y > b->p.page_y1 ) - return; - if ( arg_pixel->x >= b->width ) - return; - u8g_pbxh24_set_tpixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color, arg_pixel->blue, intensity); -} - - -void u8g_pbxh24_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - if ( pixel & 128 ) - u8g_pbxh24_SetTPixel(b, arg_pixel, 4); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 1; - } while( pixel != 0 ); -} - -void u8g_pbxh24_Set4TPixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) -{ - register uint8_t pixel = arg_pixel->pixel; - u8g_uint_t dx = 0; - u8g_uint_t dy = 0; - - switch( arg_pixel->dir ) - { - case 0: dx++; break; - case 1: dy++; break; - case 2: dx--; break; - case 3: dy--; break; - } - - do - { - u8g_pbxh24_SetTPixel(b, arg_pixel, pixel >> 6); - arg_pixel->x += dx; - arg_pixel->y += dy; - pixel <<= 2; - } while( pixel != 0 ); -} - - -uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - switch(msg) - { - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) - u8g_pbxh24_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_PIXEL: - u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, 4); - break; - case U8G_DEV_MSG_SET_4TPIXEL: - u8g_pbxh24_Set4TPixel(pb, (u8g_dev_arg_pixel_t *)arg); - break; - case U8G_DEV_MSG_SET_TPIXEL: - u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, ((u8g_dev_arg_pixel_t *)arg)->pixel&3); - break; - case U8G_DEV_MSG_INIT: - break; - case U8G_DEV_MSG_STOP: - break; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_pbxh24_Clear(pb); - u8g_page_First(&(pb->p)); - break; - case U8G_DEV_MSG_PAGE_NEXT: - if ( u8g_page_Next(&(pb->p)) == 0 ) - return 0; - u8g_pbxh24_Clear(pb); - break; -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); -#endif - case U8G_DEV_MSG_GET_PAGE_BOX: - u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = pb->width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = pb->p.total_height; - break; - case U8G_DEV_MSG_SET_COLOR_ENTRY: - break; - case U8G_DEV_MSG_SET_XY_CB: - break; - case U8G_DEV_MSG_GET_MODE: - return U8G_MODE_TRUECOLOR; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_polygon.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_polygon.c deleted file mode 100644 index f7e9b6596..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_polygon.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - - u8g_polygon.c - - Implementation of a polygon draw algorithm for "convex" polygons. - - Universal 8bit Graphics Library - - Copyright (c) 2013, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - See also: - http://www.angelfire.com/linux/myp/ConvexPolRas/ConvexPolRas.html - Computer Graphics, Principles and Practice, Foley, van Dam, Feiner, Hughes (pp 92) - Michael Abrash's Graphics Programming Black Book, Special Edition (Chapter 38 and 39) - - Optimized for embedded systems - - static memory usage only - - consistent data types - - low flash ROM consumption - -*/ - - -#include "u8g.h" - - - - -/*===========================================*/ -/* procedures, which should not be inlined (save as much flash ROM as possible */ - -static uint8_t pge_Next(struct pg_edge_struct *pge) PG_NOINLINE; -static uint8_t pg_inc(pg_struct *pg, uint8_t i) PG_NOINLINE; -static uint8_t pg_dec(pg_struct *pg, uint8_t i) PG_NOINLINE; -static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) PG_NOINLINE; -static void pg_line_init(pg_struct * const pg, uint8_t pge_index) PG_NOINLINE; - -/*===========================================*/ -/* line draw algorithm */ - -static uint8_t pge_Next(struct pg_edge_struct *pge) -{ - if ( pge->current_y >= pge->max_y ) - return 0; - - pge->current_x += pge->current_x_offset; - pge->error += pge->error_offset; - if ( pge->error > 0 ) - { - pge->current_x += pge->x_direction; - pge->error -= pge->height; - } - - pge->current_y++; - return 1; -} - -/* assumes y2 > y1 */ -static void pge_Init(struct pg_edge_struct *pge, pg_word_t x1, pg_word_t y1, pg_word_t x2, pg_word_t y2) -{ - pg_word_t dx = x2 - x1; - pg_word_t width; - - pge->height = y2 - y1; - pge->max_y = y2; - pge->current_y = y1; - pge->current_x = x1; - - if ( dx >= 0 ) - { - pge->x_direction = 1; - width = dx; - pge->error = 0; - } - else - { - pge->x_direction = -1; - width = -dx; - pge->error = 1 - pge->height; - } - - pge->current_x_offset = dx / pge->height; - pge->error_offset = width % pge->height; -} - -/*===========================================*/ -/* convex polygon algorithm */ - -static uint8_t pg_inc(pg_struct *pg, uint8_t i) -{ - i++; - if ( i >= pg->cnt ) - i = 0; - return i; -} - -static uint8_t pg_dec(pg_struct *pg, uint8_t i) -{ - i--; - if ( i >= pg->cnt ) - i = pg->cnt-1; - return i; -} - -static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) -{ - uint8_t i = pg->pge[pge_idx].curr_idx; - for(;;) - { - i = pg->pge[pge_idx].next_idx_fn(pg, i); - if ( pg->list[i].y != min_y ) - break; - pg->pge[pge_idx].curr_idx = i; - } -} - -static uint8_t pg_prepare(pg_struct *pg) -{ - pg_word_t max_y; - pg_word_t min_y; - uint8_t i; - - /* setup the next index procedures */ - pg->pge[PG_RIGHT].next_idx_fn = pg_inc; - pg->pge[PG_LEFT].next_idx_fn = pg_dec; - - /* search for highest and lowest point */ - max_y = pg->list[0].y; - min_y = pg->list[0].y; - pg->pge[PG_LEFT].curr_idx = 0; - for( i = 1; i < pg->cnt; i++ ) - { - if ( max_y < pg->list[i].y ) - { - max_y = pg->list[i].y; - } - if ( min_y > pg->list[i].y ) - { - pg->pge[PG_LEFT].curr_idx = i; - min_y = pg->list[i].y; - } - } - - /* calculate total number of scan lines */ - pg->total_scan_line_cnt = max_y; - pg->total_scan_line_cnt -= min_y; - - /* exit if polygon height is zero */ - if ( pg->total_scan_line_cnt == 0 ) - return 0; - - /* if the minimum y side is flat, try to find the lowest and highest x points */ - pg->pge[PG_RIGHT].curr_idx = pg->pge[PG_LEFT].curr_idx; - pg_expand_min_y(pg, min_y, PG_RIGHT); - pg_expand_min_y(pg, min_y, PG_LEFT); - - /* check if the min side is really flat (depends on the x values) */ - pg->is_min_y_not_flat = 1; - if ( pg->list[pg->pge[PG_LEFT].curr_idx].x != pg->list[pg->pge[PG_RIGHT].curr_idx].x ) - { - pg->is_min_y_not_flat = 0; - } - else - { - pg->total_scan_line_cnt--; - if ( pg->total_scan_line_cnt == 0 ) - return 0; - } - - return 1; -} - -static void pg_hline(pg_struct *pg, u8g_t *u8g) -{ - pg_word_t x1, x2, y; - x1 = pg->pge[PG_LEFT].current_x; - x2 = pg->pge[PG_RIGHT].current_x; - y = pg->pge[PG_RIGHT].current_y; - - if ( y < 0 ) - return; - if ( y >= u8g_GetHeight(u8g) ) - return; - if ( x1 < x2 ) - { - if ( x2 < 0 ) - return; - if ( x1 >= u8g_GetWidth(u8g) ) - return; - if ( x1 < 0 ) - x1 = 0; - if ( x2 >= u8g_GetWidth(u8g) ) - x2 = u8g_GetWidth(u8g); - u8g_DrawHLine(u8g, x1, y, x2 - x1); - } - else - { - if ( x1 < 0 ) - return; - if ( x2 >= u8g_GetWidth(u8g) ) - return; - if ( x2 < 0 ) - x1 = 0; - if ( x1 >= u8g_GetWidth(u8g) ) - x1 = u8g_GetWidth(u8g); - u8g_DrawHLine(u8g, x2, y, x1 - x2); - } -} - -static void pg_line_init(pg_struct * pg, uint8_t pge_index) -{ - struct pg_edge_struct *pge = pg->pge+pge_index; - uint8_t idx; - pg_word_t x1; - pg_word_t y1; - pg_word_t x2; - pg_word_t y2; - - idx = pge->curr_idx; - y1 = pg->list[idx].y; - x1 = pg->list[idx].x; - idx = pge->next_idx_fn(pg, idx); - y2 = pg->list[idx].y; - x2 = pg->list[idx].x; - pge->curr_idx = idx; - - pge_Init(pge, x1, y1, x2, y2); -} - -static void pg_exec(pg_struct *pg, u8g_t *u8g) -{ - pg_word_t i = pg->total_scan_line_cnt; - - /* first line is skipped if the min y line is not flat */ - pg_line_init(pg, PG_LEFT); - pg_line_init(pg, PG_RIGHT); - - if ( pg->is_min_y_not_flat != 0 ) - { - pge_Next(&(pg->pge[PG_LEFT])); - pge_Next(&(pg->pge[PG_RIGHT])); - } - - do - { - pg_hline(pg, u8g); - while ( pge_Next(&(pg->pge[PG_LEFT])) == 0 ) - { - pg_line_init(pg, PG_LEFT); - } - while ( pge_Next(&(pg->pge[PG_RIGHT])) == 0 ) - { - pg_line_init(pg, PG_RIGHT); - } - i--; - } while( i > 0 ); -} - -/*===========================================*/ -/* API procedures */ - -void pg_ClearPolygonXY(pg_struct *pg) -{ - pg->cnt = 0; -} - -void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y) -{ - if ( pg->cnt < PG_MAX_POINTS ) - { - pg->list[pg->cnt].x = x; - pg->list[pg->cnt].y = y; - pg->cnt++; - } -} - -void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g) -{ - if ( pg_prepare(pg) == 0 ) - return; - pg_exec(pg, u8g); -} - -pg_struct u8g_pg; - -void u8g_ClearPolygonXY(void) -{ - pg_ClearPolygonXY(&u8g_pg); -} - -void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y) -{ - pg_AddPolygonXY(&u8g_pg, u8g, x, y); -} - -void u8g_DrawPolygon(u8g_t *u8g) -{ - pg_DrawPolygon(&u8g_pg, u8g); -} - -void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2) -{ - u8g_ClearPolygonXY(); - u8g_AddPolygonXY(u8g, x0, y0); - u8g_AddPolygonXY(u8g, x1, y1); - u8g_AddPolygonXY(u8g, x2, y2); - u8g_DrawPolygon(u8g); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c deleted file mode 100644 index 139a43a24..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rect.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - - u8g_rect.c - - U8G high level interface for horizontal and vertical things - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -void u8g_draw_hline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - uint8_t pixel = 0x0ff; - while( w >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 0, pixel); - w-=8; - x+=8; - } - if ( w != 0 ) - { - w ^=7; - w++; - pixel <<= w&7; - u8g_Draw8Pixel(u8g, x, y, 0, pixel); - } -} - -void u8g_draw_vline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) -{ - uint8_t pixel = 0x0ff; - while( h >= 8 ) - { - u8g_Draw8Pixel(u8g, x, y, 1, pixel); - h-=8; - y+=8; - } - if ( h != 0 ) - { - h ^=7; - h++; - pixel <<= h&7; - u8g_Draw8Pixel(u8g, x, y, 1, pixel); - } -} - -void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, w, 1) == 0 ) - return; - u8g_draw_hline(u8g, x, y, w); -} - -void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, 1, w) == 0 ) - return; - u8g_draw_vline(u8g, x, y, w); -} - -/* restrictions: w > 0 && h > 0 */ -void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - u8g_uint_t xtmp = x; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - - u8g_draw_hline(u8g, x, y, w); - u8g_draw_vline(u8g, x, y, h); - x+=w; - x--; - u8g_draw_vline(u8g, x, y, h); - y+=h; - y--; - u8g_draw_hline(u8g, xtmp, y, w); -} - -void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - do - { - u8g_draw_hline(u8g, x, y, w); - y++; - h--; - } while( h != 0 ); -} - -/* restrictions: h > 0 */ -void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) -{ - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - u8g_draw_box(u8g, x, y, w, h); -} - - -void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) -{ - u8g_uint_t xl, yu; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - xl = x; - xl += r; - yu = y; - yu += r; - - { - u8g_uint_t yl, xr; - - xr = x; - xr += w; - xr -= r; - xr -= 1; - - yl = y; - yl += h; - yl -= r; - yl -= 1; - - u8g_draw_circle(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); - u8g_draw_circle(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); - u8g_draw_circle(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); - u8g_draw_circle(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); - } - - { - u8g_uint_t ww, hh; - - ww = w; - ww -= r; - ww -= r; - ww -= 2; - hh = h; - hh -= r; - hh -= r; - hh -= 2; - - xl++; - yu++; - h--; - w--; - u8g_draw_hline(u8g, xl, y, ww); - u8g_draw_hline(u8g, xl, y+h, ww); - u8g_draw_vline(u8g, x, yu, hh); - u8g_draw_vline(u8g, x+w, yu, hh); - } -} - -void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) -{ - u8g_uint_t xl, yu; - u8g_uint_t yl, xr; - - if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) - return; - - xl = x; - xl += r; - yu = y; - yu += r; - - xr = x; - xr += w; - xr -= r; - xr -= 1; - - yl = y; - yl += h; - yl -= r; - yl -= 1; - - u8g_draw_disc(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); - u8g_draw_disc(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); - u8g_draw_disc(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); - u8g_draw_disc(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); - - { - u8g_uint_t ww, hh; - - ww = w; - ww -= r; - ww -= r; - ww -= 2; - hh = h; - hh -= r; - hh -= r; - hh -= 2; - - xl++; - yu++; - h--; - u8g_draw_box(u8g, xl, y, ww, r+1); - u8g_draw_box(u8g, xl, yl, ww, r+1); - //u8g_draw_hline(u8g, xl, y+h, ww); - u8g_draw_box(u8g, x, yu, w, hh); - //u8g_draw_vline(u8g, x+w, yu, hh); - } -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c deleted file mode 100644 index 3791675b6..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_rot.c +++ /dev/null @@ -1,409 +0,0 @@ -/* - - u8g_rot.c - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); -uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); -uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - -uint8_t u8g_dev_rot_dummy_fn(void *u8g, void *dev, uint8_t msg, void *arg) -{ - return 0; -} - -u8g_dev_t u8g_dev_rot = { u8g_dev_rot_dummy_fn, NULL, NULL }; - - -void u8g_UndoRotation(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - return; - u8g->dev = u8g_dev_rot.dev_mem; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot90(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot90_fn; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot180(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot180_fn; - u8g_UpdateDimension(u8g); -} - -void u8g_SetRot270(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_rot ) - { - u8g_dev_rot.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_rot; - } - u8g_dev_rot.dev_fn = u8g_dev_rot270_fn; - u8g_UpdateDimension(u8g); -} - -uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_ENTRY: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y, tmp; - - /* transform the reference point */ - y = bbx->x; - x = u8g->height; - /* x = u8g_GetWidthLL(u8g, rotation_chain); */ - x -= bbx->y; - x--; - - /* adjust point to be the uppler left corner again */ - x -= bbx->h; - x++; - - /* swap box dimensions */ - tmp = bbx->w; - bbx->w = bbx->h; - bbx->h = tmp; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - //new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - //new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - - new_box.x0 = ((u8g_box_t *)arg)->y0; - new_box.x1 = ((u8g_box_t *)arg)->y1; - new_box.y0 = ((u8g_box_t *)arg)->x0; - new_box.y1 = ((u8g_box_t *)arg)->x1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_TPIXEL: - { - u8g_uint_t x, y; - y = ((u8g_dev_arg_pixel_t *)arg)->x; - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - case U8G_DEV_MSG_SET_4TPIXEL: - { - u8g_uint_t x, y; - //uint16_t x,y; - y = ((u8g_dev_arg_pixel_t *)arg)->x; - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=1; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - -uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_ENTRY: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y; - - /* transform the reference point */ - //y = u8g_GetHeightLL(u8g, rotation_chain); - y = u8g->height; - y -= bbx->y; - y--; - - //x = u8g_GetWidthLL(u8g, rotation_chain); - x = u8g->width; - x -= bbx->x; - x--; - - /* adjust point to be the uppler left corner again */ - y -= bbx->h; - y++; - - x -= bbx->w; - x++; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - - new_box.x0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; - new_box.x1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; - new_box.y0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - new_box.y1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_TPIXEL: - { - u8g_uint_t x, y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->y; - y--; - - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->x; - x--; - - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - case U8G_DEV_MSG_SET_4TPIXEL: - { - u8g_uint_t x, y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->y; - y--; - - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->x; - x--; - - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=2; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - -uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); - switch(msg) - { - default: - /* - case U8G_DEV_MSG_INIT: - case U8G_DEV_MSG_STOP: - case U8G_DEV_MSG_PAGE_FIRST: - case U8G_DEV_MSG_PAGE_NEXT: - case U8G_DEV_MSG_SET_COLOR_ENTRY: - case U8G_DEV_MSG_SET_XY_CB: - */ - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION - case U8G_DEV_MSG_IS_BBX_INTERSECTION: - { - u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; - u8g_uint_t x, y, tmp; - - /* transform the reference point */ - x = bbx->y; - - y = u8g->width; - /* y = u8g_GetHeightLL(u8g, rotation_chain); */ - y -= bbx->x; - y--; - - /* adjust point to be the uppler left corner again */ - y -= bbx->w; - y++; - - /* swap box dimensions */ - tmp = bbx->w; - bbx->w = bbx->h; - bbx->h = tmp; - - /* store x,y */ - bbx->x = x; - bbx->y = y; - } - return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); -#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - { - u8g_box_t new_box; - - new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; - new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; - new_box.y0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; - new_box.y1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; - *((u8g_box_t *)arg) = new_box; - //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); - } - break; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); - break; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_TPIXEL: - { - u8g_uint_t x, y; - x = ((u8g_dev_arg_pixel_t *)arg)->y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->x; - y--; - - /* - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - */ - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - case U8G_DEV_MSG_SET_4TPIXEL: - { - u8g_uint_t x, y; - x = ((u8g_dev_arg_pixel_t *)arg)->y; - - y = u8g_GetHeightLL(u8g, rotation_chain); - y -= ((u8g_dev_arg_pixel_t *)arg)->x; - y--; - - /* - x = u8g_GetWidthLL(u8g, rotation_chain); - x -= ((u8g_dev_arg_pixel_t *)arg)->y; - x--; - */ - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir+=3; - ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; - } - u8g_call_dev_fn(u8g, rotation_chain, msg, arg); - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c deleted file mode 100644 index e5b4b634f..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_scale.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - - u8g_scale.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Scale screen by some constant factors. Usefull for making bigger fonts wiht less - memory consumption - -*/ - -#include "u8g.h" - -uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); - - -u8g_dev_t u8g_dev_scale = { u8g_dev_scale_2x2_fn, NULL, NULL }; - -void u8g_UndoScale(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_scale ) - return; - u8g->dev = u8g_dev_scale.dev_mem; - u8g_UpdateDimension(u8g); -} - -void u8g_SetScale2x2(u8g_t *u8g) -{ - if ( u8g->dev != &u8g_dev_scale ) - { - u8g_dev_scale.dev_mem = u8g->dev; - u8g->dev = &u8g_dev_scale; - } - u8g_dev_scale.dev_fn = u8g_dev_scale_2x2_fn; - u8g_UpdateDimension(u8g); -} - - -uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - u8g_dev_t *chain = (u8g_dev_t *)(dev->dev_mem); - uint8_t pixel; - uint16_t scaled_pixel; - uint8_t i; - uint8_t dir; - u8g_uint_t x, y, xx,yy; - - switch(msg) - { - default: - return u8g_call_dev_fn(u8g, chain, msg, arg); - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, chain) / 2; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, chain) / 2; - break; - case U8G_DEV_MSG_GET_PAGE_BOX: - /* get page size from next device in the chain */ - u8g_call_dev_fn(u8g, chain, msg, arg); - ((u8g_box_t *)arg)->x0 /= 2; - ((u8g_box_t *)arg)->x1 /= 2; - ((u8g_box_t *)arg)->y0 /= 2; - ((u8g_box_t *)arg)->y1 /= 2; - return 1; - case U8G_DEV_MSG_SET_PIXEL: - x = ((u8g_dev_arg_pixel_t *)arg)->x; - x *= 2; - y = ((u8g_dev_arg_pixel_t *)arg)->y; - y *= 2; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - x++; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - y++; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - x--; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - u8g_call_dev_fn(u8g, chain, msg, arg); - break; - case U8G_DEV_MSG_SET_8PIXEL: - pixel = ((u8g_dev_arg_pixel_t *)arg)->pixel; - dir = ((u8g_dev_arg_pixel_t *)arg)->dir; - scaled_pixel = 0; - for( i = 0; i < 8; i++ ) - { - scaled_pixel<<=2; - if ( pixel & 128 ) - { - scaled_pixel |= 3; - } - pixel<<=1; - } - x = ((u8g_dev_arg_pixel_t *)arg)->x; - x *= 2; - xx = x; - y = ((u8g_dev_arg_pixel_t *)arg)->y; - y *= 2; - yy = y; - if ( ((u8g_dev_arg_pixel_t *)arg)->dir & 1 ) - { - xx++; - } - else - { - yy++; - } - - ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel>>8; - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - - ((u8g_dev_arg_pixel_t *)arg)->x = xx; - ((u8g_dev_arg_pixel_t *)arg)->y = yy; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel&255; - //((u8g_dev_arg_pixel_t *)arg)->pixel = 0x00; - switch(dir) - { - case 0: - x+=8; - xx+=8; - break; - case 1: - y+=8; - yy+=8; - break; - case 2: - x-=8; - xx-=8; - break; - case 3: - y-=8; - yy-=8; - break; - } - ((u8g_dev_arg_pixel_t *)arg)->x = x; - ((u8g_dev_arg_pixel_t *)arg)->y = y; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - - ((u8g_dev_arg_pixel_t *)arg)->x = xx; - ((u8g_dev_arg_pixel_t *)arg)->y = yy; - ((u8g_dev_arg_pixel_t *)arg)->dir = dir; - u8g_call_dev_fn(u8g, chain, msg, arg); - break; - } - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c deleted file mode 100644 index 9573c8bf3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_state.c +++ /dev/null @@ -1,158 +0,0 @@ -/* - - u8g_state.c - - backup and restore hardware state - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - state callback: backup env U8G_STATE_MSG_BACKUP_ENV - device callback: DEV_MSG_INIT - state callback: backup u8g U8G_STATE_MSG_BACKUP_U8G - state callback: restore env U8G_STATE_MSG_RESTORE_ENV - - state callback: backup env U8G_STATE_MSG_BACKUP_ENV - state callback: retore u8g U8G_STATE_MSG_RESTORE_U8G - DEV_MSG_PAGE_FIRST or DEV_MSG_PAGE_NEXT - state callback: restore env U8G_STATE_MSG_RESTORE_ENV - -*/ - -#include -#include "u8g.h" - -void u8g_state_dummy_cb(uint8_t msg) -{ - /* the dummy procedure does nothing */ -} - -void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb) -{ - u8g->state_cb = backup_cb; - /* in most cases the init message was already sent, so this will backup the */ - /* current u8g state */ - backup_cb(U8G_STATE_MSG_BACKUP_U8G); -} - - -/*===============================================================*/ -/* register variable for restoring interrupt state */ - -#if defined(__AVR__) -uint8_t global_SREG_backup; -#endif - - - -/*===============================================================*/ -/* AVR */ - -#if defined(__AVR__) -#define U8G_ATMEGA_HW_SPI - -/* remove the definition for attiny */ -#if __AVR_ARCH__ == 2 -#undef U8G_ATMEGA_HW_SPI -#endif -#if __AVR_ARCH__ == 25 -#undef U8G_ATMEGA_HW_SPI -#endif -#endif - -#if defined(U8G_ATMEGA_HW_SPI) -#include -static uint8_t u8g_state_avr_spi_memory[2]; - -void u8g_backup_spi(uint8_t msg) -{ - if ( U8G_STATE_MSG_IS_BACKUP(msg) ) - { - u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)] = SPCR; - } - else - { - uint8_t tmp = SREG; - cli(); - SPCR = 0; - SPCR = u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)]; - SREG = tmp; - } -} - -#elif defined (U8G_RASPBERRY_PI) - -#include - -void u8g_backup_spi(uint8_t msg) { - printf("u8g_backup_spi %d\r\n",msg); -} - -#elif defined(ARDUINO) && defined(__SAM3X8E__) // Arduino Due, maybe we should better check for __SAM3X8E__ - -#include "sam.h" - -struct sam_backup_struct -{ - uint32_t mr; - uint32_t sr; - uint32_t csr[4]; -} sam_backup[2]; - -void u8g_backup_spi(uint8_t msg) -{ - uint8_t idx = U8G_STATE_MSG_GET_IDX(msg); - if ( U8G_STATE_MSG_IS_BACKUP(msg) ) - { - sam_backup[idx].mr = SPI0->SPI_MR; - sam_backup[idx].sr = SPI0->SPI_SR; - sam_backup[idx].csr[0] = SPI0->SPI_CSR[0]; - sam_backup[idx].csr[1] = SPI0->SPI_CSR[1]; - sam_backup[idx].csr[2] = SPI0->SPI_CSR[2]; - sam_backup[idx].csr[3] = SPI0->SPI_CSR[3]; - } - else - { - SPI0->SPI_MR = sam_backup[idx].mr; - SPI0->SPI_CSR[0] = sam_backup[idx].csr[0]; - SPI0->SPI_CSR[1] = sam_backup[idx].csr[1]; - SPI0->SPI_CSR[2] = sam_backup[idx].csr[2]; - SPI0->SPI_CSR[3] = sam_backup[idx].csr[3]; - } -} - -#else - -void u8g_backup_spi(uint8_t msg) -{ -} - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c deleted file mode 100644 index f1d1803cf..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u16toa.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - - u8g_u16toa.c - - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -const char *u8g_u16toap(char * dest, uint16_t v) -{ - uint8_t pos; - uint8_t d; - uint16_t c; - c = 10000; - for( pos = 0; pos < 5; pos++ ) - { - d = '0'; - while( v >= c ) - { - v -= c; - d++; - } - dest[pos] = d; - c /= 10; - } - dest[5] = '\0'; - return dest; -} - -/* v = value, d = number of digits */ -const char *u8g_u16toa(uint16_t v, uint8_t d) -{ - static char buf[6]; - d = 5-d; - return u8g_u16toap(buf, v) + d; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c deleted file mode 100644 index f3a2c06fa..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_u8toa.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - - u8g_u8toa.c - - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "u8g.h" - -static const unsigned char u8g_u8toa_tab[3] = { 100, 10, 1 } ; -const char *u8g_u8toap(char * dest, uint8_t v) -{ - uint8_t pos; - uint8_t d; - uint8_t c; - for( pos = 0; pos < 3; pos++ ) - { - d = '0'; - c = *(u8g_u8toa_tab+pos); - while( v >= c ) - { - v -= c; - d++; - } - dest[pos] = d; - } - dest[3] = '\0'; - return dest; -} - -/* v = value, d = number of digits */ -const char *u8g_u8toa(uint8_t v, uint8_t d) -{ - static char buf[4]; - d = 3-d; - return u8g_u8toap(buf, v) + d; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c deleted file mode 100644 index 8000506b4..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/U8glib/utility/u8g_virtual_screen.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - - u8g_virtual_screen.c - - Universal 8bit Graphics Library - - Copyright (c) 2012, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -#include "u8g.h" - -struct _u8g_vs_t -{ - u8g_uint_t x; - u8g_uint_t y; - u8g_t *u8g; -}; -typedef struct _u8g_vs_t u8g_vs_t; - -#define U8g_VS_MAX 4 -uint8_t u8g_vs_cnt = 0; -u8g_vs_t u8g_vs_list[U8g_VS_MAX]; -uint8_t u8g_vs_current; -u8g_uint_t u8g_vs_width; -u8g_uint_t u8g_vs_height; - -uint8_t u8g_dev_vs_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) -{ - switch(msg) - { - default: - { - uint8_t i; - for( i = 0; i < u8g_vs_cnt; i++ ) - { - u8g_call_dev_fn(u8g_vs_list[i].u8g, u8g_vs_list[i].u8g->dev, msg, arg); - } - } - return 1; - case U8G_DEV_MSG_PAGE_FIRST: - u8g_vs_current = 0; - if ( u8g_vs_cnt != 0 ) - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - return 0; - case U8G_DEV_MSG_PAGE_NEXT: - { - uint8_t ret = 0; - if ( u8g_vs_cnt != 0 ) - ret = u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - if ( ret != 0 ) - return ret; - u8g_vs_current++; /* next device */ - if ( u8g_vs_current >= u8g_vs_cnt ) /* reached end? */ - return 0; - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, U8G_DEV_MSG_PAGE_FIRST, arg); - } - return 0; - case U8G_DEV_MSG_GET_WIDTH: - *((u8g_uint_t *)arg) = u8g_vs_width; - break; - case U8G_DEV_MSG_GET_HEIGHT: - *((u8g_uint_t *)arg) = u8g_vs_height; - break; - case U8G_DEV_MSG_GET_PAGE_BOX: - if ( u8g_vs_current < u8g_vs_cnt ) - { - u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - ((u8g_box_t *)arg)->x0 += u8g_vs_list[u8g_vs_current].x; - ((u8g_box_t *)arg)->x1 += u8g_vs_list[u8g_vs_current].x; - ((u8g_box_t *)arg)->y0 += u8g_vs_list[u8g_vs_current].y; - ((u8g_box_t *)arg)->y1 += u8g_vs_list[u8g_vs_current].y; - } - else - { - ((u8g_box_t *)arg)->x0 = 0; - ((u8g_box_t *)arg)->x1 = 0; - ((u8g_box_t *)arg)->y0 = 0; - ((u8g_box_t *)arg)->y1 = 0; - } - return 1; - case U8G_DEV_MSG_SET_PIXEL: - case U8G_DEV_MSG_SET_8PIXEL: - if ( u8g_vs_current < u8g_vs_cnt ) - { - ((u8g_dev_arg_pixel_t *)arg)->x -= u8g_vs_list[u8g_vs_current].x; - ((u8g_dev_arg_pixel_t *)arg)->y -= u8g_vs_list[u8g_vs_current].y; - return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); - } - break; - } - return 1; -} - - - -u8g_dev_t u8g_dev_vs = { u8g_dev_vs_fn, NULL, NULL }; - -void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height) -{ - if ( vs_u8g->dev != &u8g_dev_vs ) - return; /* abort if there is no a virtual screen device */ - u8g_vs_width = width; - u8g_vs_height = height; -} - -uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g) -{ - if ( vs_u8g->dev != &u8g_dev_vs ) - return 0; /* abort if there is no a virtual screen device */ - if ( u8g_vs_cnt >= U8g_VS_MAX ) - return 0; /* maximum number of child u8g's reached */ - u8g_vs_list[u8g_vs_cnt].u8g = child_u8g; - u8g_vs_list[u8g_vs_cnt].x = x; - u8g_vs_list[u8g_vs_cnt].y = y; - u8g_vs_cnt++; - return 1; -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.cpp b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.cpp deleted file mode 100644 index 553add782..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.cpp +++ /dev/null @@ -1,303 +0,0 @@ -/* - TwoWire.cpp - TWI/I2C library for Wiring & Arduino - 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 2012 by Todd Krein (todd@krein.org) to implement repeated starts -*/ - -extern "C" { - #include - #include - #include - #include "twi.h" -} - -#include "Wire.h" - -// Initialize Class Variables ////////////////////////////////////////////////// - -uint8_t TwoWire::rxBuffer[BUFFER_LENGTH]; -uint8_t TwoWire::rxBufferIndex = 0; -uint8_t TwoWire::rxBufferLength = 0; - -uint8_t TwoWire::txAddress = 0; -uint8_t TwoWire::txBuffer[BUFFER_LENGTH]; -uint8_t TwoWire::txBufferIndex = 0; -uint8_t TwoWire::txBufferLength = 0; - -uint8_t TwoWire::transmitting = 0; -void (*TwoWire::user_onRequest)(void); -void (*TwoWire::user_onReceive)(int); - -// Constructors //////////////////////////////////////////////////////////////// - -TwoWire::TwoWire() -{ -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void TwoWire::begin(void) -{ - rxBufferIndex = 0; - rxBufferLength = 0; - - txBufferIndex = 0; - txBufferLength = 0; - - twi_init(); -} - -void TwoWire::begin(uint8_t address) -{ - twi_setAddress(address); - twi_attachSlaveTxEvent(onRequestService); - twi_attachSlaveRxEvent(onReceiveService); - begin(); -} - -void TwoWire::begin(int address) -{ - begin((uint8_t)address); -} - -void TwoWire::setClock(uint32_t frequency) -{ - TWBR = ((F_CPU / frequency) - 16) / 2; -} - -uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint8_t sendStop) -{ - // clamp to buffer length - if(quantity > BUFFER_LENGTH){ - quantity = BUFFER_LENGTH; - } - // perform blocking read into buffer - uint8_t read = twi_readFrom(address, rxBuffer, quantity, sendStop); - // set rx buffer iterator vars - rxBufferIndex = 0; - rxBufferLength = read; - - return read; -} - -uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity) -{ - return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)true); -} - -uint8_t TwoWire::requestFrom(int address, int quantity) -{ - return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)true); -} - -uint8_t TwoWire::requestFrom(int address, int quantity, int sendStop) -{ - return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)sendStop); -} - -void TwoWire::beginTransmission(uint8_t address) -{ - // indicate that we are transmitting - transmitting = 1; - // set address of targeted slave - txAddress = address; - // reset tx buffer iterator vars - txBufferIndex = 0; - txBufferLength = 0; -} - -void TwoWire::beginTransmission(int address) -{ - beginTransmission((uint8_t)address); -} - -// -// Originally, 'endTransmission' was an f(void) function. -// It has been modified to take one parameter indicating -// whether or not a STOP should be performed on the bus. -// Calling endTransmission(false) allows a sketch to -// perform a repeated start. -// -// WARNING: Nothing in the library keeps track of whether -// the bus tenure has been properly ended with a STOP. It -// is very possible to leave the bus in a hung state if -// no call to endTransmission(true) is made. Some I2C -// devices will behave oddly if they do not see a STOP. -// -uint8_t TwoWire::endTransmission(uint8_t sendStop) -{ - // transmit buffer (blocking) - int8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, 1, sendStop); - // reset tx buffer iterator vars - txBufferIndex = 0; - txBufferLength = 0; - // indicate that we are done transmitting - transmitting = 0; - return ret; -} - -// This provides backwards compatibility with the original -// definition, and expected behaviour, of endTransmission -// -uint8_t TwoWire::endTransmission(void) -{ - return endTransmission(true); -} - -// must be called in: -// slave tx event callback -// or after beginTransmission(address) -size_t TwoWire::write(uint8_t data) -{ - if(transmitting){ - // in master transmitter mode - // don't bother if buffer is full - if(txBufferLength >= BUFFER_LENGTH){ - setWriteError(); - return 0; - } - // put byte in tx buffer - txBuffer[txBufferIndex] = data; - ++txBufferIndex; - // update amount in buffer - txBufferLength = txBufferIndex; - }else{ - // in slave send mode - // reply to master - twi_transmit(&data, 1); - } - return 1; -} - -// must be called in: -// slave tx event callback -// or after beginTransmission(address) -size_t TwoWire::write(const uint8_t *data, size_t quantity) -{ - if(transmitting){ - // in master transmitter mode - for(size_t i = 0; i < quantity; ++i){ - write(data[i]); - } - }else{ - // in slave send mode - // reply to master - twi_transmit(data, quantity); - } - return quantity; -} - -// must be called in: -// slave rx event callback -// or after requestFrom(address, numBytes) -int TwoWire::available(void) -{ - return rxBufferLength - rxBufferIndex; -} - -// must be called in: -// slave rx event callback -// or after requestFrom(address, numBytes) -int TwoWire::read(void) -{ - int value = -1; - - // get each successive byte on each call - if(rxBufferIndex < rxBufferLength){ - value = rxBuffer[rxBufferIndex]; - ++rxBufferIndex; - } - - return value; -} - -// must be called in: -// slave rx event callback -// or after requestFrom(address, numBytes) -int TwoWire::peek(void) -{ - int value = -1; - - if(rxBufferIndex < rxBufferLength){ - value = rxBuffer[rxBufferIndex]; - } - - return value; -} - -void TwoWire::flush(void) -{ - // XXX: to be implemented. -} - -// behind the scenes function that is called when data is received -void TwoWire::onReceiveService(uint8_t* inBytes, int numBytes) -{ - // don't bother if user hasn't registered a callback - if(!user_onReceive){ - return; - } - // don't bother if rx buffer is in use by a master requestFrom() op - // i know this drops data, but it allows for slight stupidity - // meaning, they may not have read all the master requestFrom() data yet - if(rxBufferIndex < rxBufferLength){ - return; - } - // copy twi rx buffer into local read buffer - // this enables new reads to happen in parallel - for(uint8_t i = 0; i < numBytes; ++i){ - rxBuffer[i] = inBytes[i]; - } - // set rx iterator vars - rxBufferIndex = 0; - rxBufferLength = numBytes; - // alert user program - user_onReceive(numBytes); -} - -// behind the scenes function that is called when data is requested -void TwoWire::onRequestService(void) -{ - // don't bother if user hasn't registered a callback - if(!user_onRequest){ - return; - } - // reset tx buffer iterator vars - // !!! this will kill any pending pre-master sendTo() activity - txBufferIndex = 0; - txBufferLength = 0; - // alert user program - user_onRequest(); -} - -// sets function called on slave write -void TwoWire::onReceive( void (*function)(int) ) -{ - user_onReceive = function; -} - -// sets function called on slave read -void TwoWire::onRequest( void (*function)(void) ) -{ - user_onRequest = function; -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -TwoWire Wire = TwoWire(); - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.h deleted file mode 100644 index 732bdc314..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/Wire.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - TwoWire.h - TWI/I2C library for Arduino & 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 2012 by Todd Krein (todd@krein.org) to implement repeated starts -*/ - -#ifndef TwoWire_h -#define TwoWire_h - -#include -#include "Stream.h" - -#define BUFFER_LENGTH 32 - -class TwoWire : public Stream -{ - private: - static uint8_t rxBuffer[]; - static uint8_t rxBufferIndex; - static uint8_t rxBufferLength; - - static uint8_t txAddress; - static uint8_t txBuffer[]; - static uint8_t txBufferIndex; - static uint8_t txBufferLength; - - static uint8_t transmitting; - static void (*user_onRequest)(void); - static void (*user_onReceive)(int); - static void onRequestService(void); - static void onReceiveService(uint8_t*, int); - public: - TwoWire(); - void begin(); - void begin(uint8_t); - void begin(int); - void setClock(uint32_t); - void beginTransmission(uint8_t); - void beginTransmission(int); - uint8_t endTransmission(void); - uint8_t endTransmission(uint8_t); - uint8_t requestFrom(uint8_t, uint8_t); - uint8_t requestFrom(uint8_t, uint8_t, uint8_t); - uint8_t requestFrom(int, int); - uint8_t requestFrom(int, int, int); - virtual size_t write(uint8_t); - virtual size_t write(const uint8_t *, size_t); - virtual int available(void); - virtual int read(void); - virtual int peek(void); - virtual void flush(void); - void onReceive( void (*)(int) ); - void onRequest( void (*)(void) ); - - inline size_t write(unsigned long n) { return write((uint8_t)n); } - inline size_t write(long n) { return write((uint8_t)n); } - inline size_t write(unsigned int n) { return write((uint8_t)n); } - inline size_t write(int n) { return write((uint8_t)n); } - using Print::write; -}; - -extern TwoWire Wire; - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino deleted file mode 100644 index d97a9e3cf..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino +++ /dev/null @@ -1,87 +0,0 @@ -// I2C SRF10 or SRF08 Devantech Ultrasonic Ranger Finder -// by Nicholas Zambetti -// and James Tichenor - -// Demonstrates use of the Wire library reading data from the -// Devantech Utrasonic Rangers SFR08 and SFR10 - -// Created 29 April 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) - Serial.begin(9600); // start serial communication at 9600bps -} - -int reading = 0; - -void loop() -{ - // step 1: instruct sensor to read echoes - Wire.beginTransmission(112); // transmit to device #112 (0x70) - // the address specified in the datasheet is 224 (0xE0) - // but i2c adressing uses the high 7 bits so it's 112 - Wire.write(byte(0x00)); // sets register pointer to the command register (0x00) - Wire.write(byte(0x50)); // command sensor to measure in "inches" (0x50) - // use 0x51 for centimeters - // use 0x52 for ping microseconds - Wire.endTransmission(); // stop transmitting - - // step 2: wait for readings to happen - delay(70); // datasheet suggests at least 65 milliseconds - - // step 3: instruct sensor to return a particular echo reading - Wire.beginTransmission(112); // transmit to device #112 - Wire.write(byte(0x02)); // sets register pointer to echo #1 register (0x02) - Wire.endTransmission(); // stop transmitting - - // step 4: request reading from sensor - Wire.requestFrom(112, 2); // request 2 bytes from slave device #112 - - // step 5: receive reading from sensor - if (2 <= Wire.available()) // if two bytes were received - { - reading = Wire.read(); // receive high byte (overwrites previous reading) - reading = reading << 8; // shift high byte to be high 8 bits - reading |= Wire.read(); // receive low byte as lower 8 bits - Serial.println(reading); // print the reading - } - - delay(250); // wait a bit since people have to read the output :) -} - - -/* - -// The following code changes the address of a Devantech Ultrasonic Range Finder (SRF10 or SRF08) -// usage: changeAddress(0x70, 0xE6); - -void changeAddress(byte oldAddress, byte newAddress) -{ - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(byte(0xA0)); - Wire.endTransmission(); - - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(byte(0xAA)); - Wire.endTransmission(); - - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(byte(0xA5)); - Wire.endTransmission(); - - Wire.beginTransmission(oldAddress); - Wire.write(byte(0x00)); - Wire.write(newAddress); - Wire.endTransmission(); -} - -*/ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino deleted file mode 100644 index 4d1580a61..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino +++ /dev/null @@ -1,39 +0,0 @@ -// I2C Digital Potentiometer -// by Nicholas Zambetti -// and Shawn Bonkowski - -// Demonstrates use of the Wire library -// Controls AD5171 digital potentiometer via I2C/TWI - -// Created 31 March 2006 - -// This example code is in the public domain. - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) -} - -byte val = 0; - -void loop() -{ - Wire.beginTransmission(44); // transmit to device #44 (0x2c) - // device address is specified in datasheet - Wire.write(byte(0x00)); // sends instruction byte - Wire.write(val); // sends potentiometer value byte - Wire.endTransmission(); // stop transmitting - - val++; // increment value - if (val == 64) // if reached 64th position (max) - { - val = 0; // start over from lowest value - } - delay(500); -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino deleted file mode 100644 index 74f0155f8..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_reader/master_reader.ino +++ /dev/null @@ -1,32 +0,0 @@ -// Wire Master Reader -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Reads data from an I2C/TWI slave device -// Refer to the "Wire Slave Sender" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) - Serial.begin(9600); // start serial for output -} - -void loop() -{ - Wire.requestFrom(2, 6); // request 6 bytes from slave device #2 - - while (Wire.available()) // slave may send less than requested - { - char c = Wire.read(); // receive a byte as character - Serial.print(c); // print the character - } - - delay(500); -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino deleted file mode 100644 index 482e92237..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/master_writer/master_writer.ino +++ /dev/null @@ -1,31 +0,0 @@ -// Wire Master Writer -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Writes data to an I2C/TWI slave device -// Refer to the "Wire Slave Receiver" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) -} - -byte x = 0; - -void loop() -{ - Wire.beginTransmission(4); // transmit to device #4 - Wire.write("x is "); // sends five bytes - Wire.write(x); // sends one byte - Wire.endTransmission(); // stop transmitting - - x++; - delay(500); -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino deleted file mode 100644 index 15eff9a54..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino +++ /dev/null @@ -1,38 +0,0 @@ -// Wire Slave Receiver -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Receives data as an I2C/TWI slave device -// Refer to the "Wire Master Writer" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(4); // join i2c bus with address #4 - Wire.onReceive(receiveEvent); // register event - Serial.begin(9600); // start serial for output -} - -void loop() -{ - delay(100); -} - -// function that executes whenever data is received from master -// this function is registered as an event, see setup() -void receiveEvent(int howMany) -{ - while (1 < Wire.available()) // loop through all but the last - { - char c = Wire.read(); // receive byte as a character - Serial.print(c); // print the character - } - int x = Wire.read(); // receive byte as an integer - Serial.println(x); // print the integer -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino deleted file mode 100644 index 4437ab152..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/examples/slave_sender/slave_sender.ino +++ /dev/null @@ -1,32 +0,0 @@ -// Wire Slave Sender -// by Nicholas Zambetti - -// Demonstrates use of the Wire library -// Sends data as an I2C/TWI slave device -// Refer to the "Wire Master Reader" example for use with this - -// Created 29 March 2006 - -// This example code is in the public domain. - - -#include - -void setup() -{ - Wire.begin(2); // join i2c bus with address #2 - Wire.onRequest(requestEvent); // register event -} - -void loop() -{ - delay(100); -} - -// function that executes whenever data is requested by master -// this function is registered as an event, see setup() -void requestEvent() -{ - Wire.write("hello "); // respond with message of 6 bytes - // as expected by master -} diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/keywords.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/keywords.txt deleted file mode 100644 index ff3147592..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/keywords.txt +++ /dev/null @@ -1,32 +0,0 @@ -####################################### -# Syntax Coloring Map For Wire -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -begin KEYWORD2 -setClock KEYWORD2 -beginTransmission KEYWORD2 -endTransmission KEYWORD2 -requestFrom KEYWORD2 -send KEYWORD2 -receive KEYWORD2 -onReceive KEYWORD2 -onRequest KEYWORD2 - -####################################### -# Instances (KEYWORD2) -####################################### - -Wire KEYWORD2 - -####################################### -# Constants (LITERAL1) -####################################### - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/library.properties b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/library.properties deleted file mode 100644 index 3246a7509..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/library.properties +++ /dev/null @@ -1,8 +0,0 @@ -name=Wire -version=1.0 -author=Arduino -maintainer=Arduino -sentence=Allows the communication between devices or sensors connected via Two Wire Interface Bus. For all Arduino boards, BUT Arduino DUE. -paragraph= -url=http://arduino.cc/en/Reference/Wire -architectures=avr diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.c b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.c deleted file mode 100644 index 201d7d1bb..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.c +++ /dev/null @@ -1,527 +0,0 @@ -/* - twi.c - TWI/I2C library for Wiring & Arduino - 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 2012 by Todd Krein (todd@krein.org) to implement repeated starts -*/ - -#include -#include -#include -#include -#include -#include -#include "Arduino.h" // for digitalWrite - -#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 "pins_arduino.h" -#include "twi.h" - -static volatile uint8_t twi_state; -static volatile uint8_t twi_slarw; -static volatile uint8_t twi_sendStop; // should the transaction end with a stop -static volatile uint8_t twi_inRepStart; // in the middle of a repeated start - -static void (*twi_onSlaveTransmit)(void); -static void (*twi_onSlaveReceive)(uint8_t*, int); - -static uint8_t twi_masterBuffer[TWI_BUFFER_LENGTH]; -static volatile uint8_t twi_masterBufferIndex; -static volatile uint8_t twi_masterBufferLength; - -static uint8_t twi_txBuffer[TWI_BUFFER_LENGTH]; -static volatile uint8_t twi_txBufferIndex; -static volatile uint8_t twi_txBufferLength; - -static uint8_t twi_rxBuffer[TWI_BUFFER_LENGTH]; -static volatile uint8_t twi_rxBufferIndex; - -static volatile uint8_t twi_error; - -/* - * Function twi_init - * Desc readys twi pins and sets twi bitrate - * Input none - * Output none - */ -void twi_init(void) -{ - // initialize state - twi_state = TWI_READY; - twi_sendStop = true; // default value - twi_inRepStart = false; - - // activate internal pullups for twi. - digitalWrite(SDA, 1); - digitalWrite(SCL, 1); - - // initialize twi prescaler and bit rate - cbi(TWSR, TWPS0); - cbi(TWSR, TWPS1); - TWBR = ((F_CPU / TWI_FREQ) - 16) / 2; - - /* twi bit rate formula from atmega128 manual pg 204 - SCL Frequency = CPU Clock Frequency / (16 + (2 * TWBR)) - note: TWBR should be 10 or higher for master mode - It is 72 for a 16mhz Wiring board with 100kHz TWI */ - - // enable twi module, acks, and twi interrupt - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA); -} - -/* - * Function twi_slaveInit - * Desc sets slave address and enables interrupt - * Input none - * Output none - */ -void twi_setAddress(uint8_t address) -{ - // set twi slave address (skip over TWGCE bit) - TWAR = address << 1; -} - -/* - * Function twi_readFrom - * Desc attempts to become twi bus master and read a - * series of bytes from a device on the bus - * Input address: 7bit i2c device address - * data: pointer to byte array - * length: number of bytes to read into array - * sendStop: Boolean indicating whether to send a stop at the end - * Output number of bytes read - */ -uint8_t twi_readFrom(uint8_t address, uint8_t* data, uint8_t length, uint8_t sendStop) -{ - uint8_t i; - - // ensure data will fit into buffer - if(TWI_BUFFER_LENGTH < length){ - return 0; - } - - // wait until twi is ready, become master receiver - while(TWI_READY != twi_state){ - continue; - } - twi_state = TWI_MRX; - twi_sendStop = sendStop; - // reset error state (0xFF.. no error occured) - twi_error = 0xFF; - - // initialize buffer iteration vars - twi_masterBufferIndex = 0; - twi_masterBufferLength = length-1; // This is not intuitive, read on... - // On receive, the previously configured ACK/NACK setting is transmitted in - // response to the received byte before the interrupt is signalled. - // Therefor we must actually set NACK when the _next_ to last byte is - // received, causing that NACK to be sent in response to receiving the last - // expected byte of data. - - // build sla+w, slave device address + w bit - twi_slarw = TW_READ; - twi_slarw |= address << 1; - - if (true == twi_inRepStart) { - // if we're in the repeated start state, then we've already sent the start, - // (@@@ we hope), and the TWI statemachine is just waiting for the address byte. - // We need to remove ourselves from the repeated start state before we enable interrupts, - // since the ISR is ASYNC, and we could get confused if we hit the ISR before cleaning - // up. Also, don't enable the START interrupt. There may be one pending from the - // repeated start that we sent outselves, and that would really confuse things. - twi_inRepStart = false; // remember, we're dealing with an ASYNC ISR - TWDR = twi_slarw; - TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START - } - else - // send start condition - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA); - - // wait for read operation to complete - while(TWI_MRX == twi_state){ - continue; - } - - if (twi_masterBufferIndex < length) - length = twi_masterBufferIndex; - - // copy twi buffer to data - for(i = 0; i < length; ++i){ - data[i] = twi_masterBuffer[i]; - } - - return length; -} - -/* - * Function twi_writeTo - * Desc attempts to become twi bus master and write a - * series of bytes to a device on the bus - * Input address: 7bit i2c device address - * data: pointer to byte array - * length: number of bytes in array - * wait: boolean indicating to wait for write or not - * sendStop: boolean indicating whether or not to send a stop at the end - * Output 0 .. success - * 1 .. length to long for buffer - * 2 .. address send, NACK received - * 3 .. data send, NACK received - * 4 .. other twi error (lost bus arbitration, bus error, ..) - */ -uint8_t twi_writeTo(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait, uint8_t sendStop) -{ - uint8_t i; - - // ensure data will fit into buffer - if(TWI_BUFFER_LENGTH < length){ - return 1; - } - - // wait until twi is ready, become master transmitter - while(TWI_READY != twi_state){ - continue; - } - twi_state = TWI_MTX; - twi_sendStop = sendStop; - // reset error state (0xFF.. no error occured) - twi_error = 0xFF; - - // initialize buffer iteration vars - twi_masterBufferIndex = 0; - twi_masterBufferLength = length; - - // copy data to twi buffer - for(i = 0; i < length; ++i){ - twi_masterBuffer[i] = data[i]; - } - - // build sla+w, slave device address + w bit - twi_slarw = TW_WRITE; - twi_slarw |= address << 1; - - // if we're in a repeated start, then we've already sent the START - // in the ISR. Don't do it again. - // - if (true == twi_inRepStart) { - // if we're in the repeated start state, then we've already sent the start, - // (@@@ we hope), and the TWI statemachine is just waiting for the address byte. - // We need to remove ourselves from the repeated start state before we enable interrupts, - // since the ISR is ASYNC, and we could get confused if we hit the ISR before cleaning - // up. Also, don't enable the START interrupt. There may be one pending from the - // repeated start that we sent outselves, and that would really confuse things. - twi_inRepStart = false; // remember, we're dealing with an ASYNC ISR - TWDR = twi_slarw; - TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START - } - else - // send start condition - TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE) | _BV(TWSTA); // enable INTs - - // wait for write operation to complete - while(wait && (TWI_MTX == twi_state)){ - continue; - } - - if (twi_error == 0xFF) - return 0; // success - else if (twi_error == TW_MT_SLA_NACK) - return 2; // error: address send, nack received - else if (twi_error == TW_MT_DATA_NACK) - return 3; // error: data send, nack received - else - return 4; // other twi error -} - -/* - * Function twi_transmit - * Desc fills slave tx buffer with data - * must be called in slave tx event callback - * Input data: pointer to byte array - * length: number of bytes in array - * Output 1 length too long for buffer - * 2 not slave transmitter - * 0 ok - */ -uint8_t twi_transmit(const uint8_t* data, uint8_t length) -{ - uint8_t i; - - // ensure data will fit into buffer - if(TWI_BUFFER_LENGTH < length){ - return 1; - } - - // ensure we are currently a slave transmitter - if(TWI_STX != twi_state){ - return 2; - } - - // set length and copy data into tx buffer - twi_txBufferLength = length; - for(i = 0; i < length; ++i){ - twi_txBuffer[i] = data[i]; - } - - return 0; -} - -/* - * Function twi_attachSlaveRxEvent - * Desc sets function called before a slave read operation - * Input function: callback function to use - * Output none - */ -void twi_attachSlaveRxEvent( void (*function)(uint8_t*, int) ) -{ - twi_onSlaveReceive = function; -} - -/* - * Function twi_attachSlaveTxEvent - * Desc sets function called before a slave write operation - * Input function: callback function to use - * Output none - */ -void twi_attachSlaveTxEvent( void (*function)(void) ) -{ - twi_onSlaveTransmit = function; -} - -/* - * Function twi_reply - * Desc sends byte or readys receive line - * Input ack: byte indicating to ack or to nack - * Output none - */ -void twi_reply(uint8_t ack) -{ - // transmit master read ready signal, with or without ack - if(ack){ - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA); - }else{ - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT); - } -} - -/* - * Function twi_stop - * Desc relinquishes bus master status - * Input none - * Output none - */ -void twi_stop(void) -{ - // send stop condition - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO); - - // wait for stop condition to be exectued on bus - // TWINT is not set after a stop condition! - while(TWCR & _BV(TWSTO)){ - continue; - } - - // update twi state - twi_state = TWI_READY; -} - -/* - * Function twi_releaseBus - * Desc releases bus control - * Input none - * Output none - */ -void twi_releaseBus(void) -{ - // release bus - TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT); - - // update twi state - twi_state = TWI_READY; -} - -ISR(TWI_vect) -{ - switch(TW_STATUS){ - // All Master - case TW_START: // sent start condition - case TW_REP_START: // sent repeated start condition - // copy device address and r/w bit to output register and ack - TWDR = twi_slarw; - twi_reply(1); - break; - - // Master Transmitter - case TW_MT_SLA_ACK: // slave receiver acked address - case TW_MT_DATA_ACK: // slave receiver acked data - // if there is data to send, send it, otherwise stop - if(twi_masterBufferIndex < twi_masterBufferLength){ - // copy data to output register and ack - TWDR = twi_masterBuffer[twi_masterBufferIndex++]; - twi_reply(1); - }else{ - if (twi_sendStop) - twi_stop(); - else { - twi_inRepStart = true; // we're gonna send the START - // don't enable the interrupt. We'll generate the start, but we - // avoid handling the interrupt until we're in the next transaction, - // at the point where we would normally issue the start. - TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ; - twi_state = TWI_READY; - } - } - break; - case TW_MT_SLA_NACK: // address sent, nack received - twi_error = TW_MT_SLA_NACK; - twi_stop(); - break; - case TW_MT_DATA_NACK: // data sent, nack received - twi_error = TW_MT_DATA_NACK; - twi_stop(); - break; - case TW_MT_ARB_LOST: // lost bus arbitration - twi_error = TW_MT_ARB_LOST; - twi_releaseBus(); - break; - - // Master Receiver - case TW_MR_DATA_ACK: // data received, ack sent - // put byte into buffer - twi_masterBuffer[twi_masterBufferIndex++] = TWDR; - case TW_MR_SLA_ACK: // address sent, ack received - // ack if more bytes are expected, otherwise nack - if(twi_masterBufferIndex < twi_masterBufferLength){ - twi_reply(1); - }else{ - twi_reply(0); - } - break; - case TW_MR_DATA_NACK: // data received, nack sent - // put final byte into buffer - twi_masterBuffer[twi_masterBufferIndex++] = TWDR; - if (twi_sendStop) - twi_stop(); - else { - twi_inRepStart = true; // we're gonna send the START - // don't enable the interrupt. We'll generate the start, but we - // avoid handling the interrupt until we're in the next transaction, - // at the point where we would normally issue the start. - TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ; - twi_state = TWI_READY; - } - break; - case TW_MR_SLA_NACK: // address sent, nack received - twi_stop(); - break; - // TW_MR_ARB_LOST handled by TW_MT_ARB_LOST case - - // Slave Receiver - case TW_SR_SLA_ACK: // addressed, returned ack - case TW_SR_GCALL_ACK: // addressed generally, returned ack - case TW_SR_ARB_LOST_SLA_ACK: // lost arbitration, returned ack - case TW_SR_ARB_LOST_GCALL_ACK: // lost arbitration, returned ack - // enter slave receiver mode - twi_state = TWI_SRX; - // indicate that rx buffer can be overwritten and ack - twi_rxBufferIndex = 0; - twi_reply(1); - break; - case TW_SR_DATA_ACK: // data received, returned ack - case TW_SR_GCALL_DATA_ACK: // data received generally, returned ack - // if there is still room in the rx buffer - if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){ - // put byte in buffer and ack - twi_rxBuffer[twi_rxBufferIndex++] = TWDR; - twi_reply(1); - }else{ - // otherwise nack - twi_reply(0); - } - break; - case TW_SR_STOP: // stop or repeated start condition received - // put a null char after data if there's room - if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){ - twi_rxBuffer[twi_rxBufferIndex] = '\0'; - } - // sends ack and stops interface for clock stretching - twi_stop(); - // callback to user defined callback - twi_onSlaveReceive(twi_rxBuffer, twi_rxBufferIndex); - // since we submit rx buffer to "wire" library, we can reset it - twi_rxBufferIndex = 0; - // ack future responses and leave slave receiver state - twi_releaseBus(); - break; - case TW_SR_DATA_NACK: // data received, returned nack - case TW_SR_GCALL_DATA_NACK: // data received generally, returned nack - // nack back at master - twi_reply(0); - break; - - // Slave Transmitter - case TW_ST_SLA_ACK: // addressed, returned ack - case TW_ST_ARB_LOST_SLA_ACK: // arbitration lost, returned ack - // enter slave transmitter mode - twi_state = TWI_STX; - // ready the tx buffer index for iteration - twi_txBufferIndex = 0; - // set tx buffer length to be zero, to verify if user changes it - twi_txBufferLength = 0; - // request for txBuffer to be filled and length to be set - // note: user must call twi_transmit(bytes, length) to do this - twi_onSlaveTransmit(); - // if they didn't change buffer & length, initialize it - if(0 == twi_txBufferLength){ - twi_txBufferLength = 1; - twi_txBuffer[0] = 0x00; - } - // transmit first byte from buffer, fall - case TW_ST_DATA_ACK: // byte sent, ack returned - // copy data to output register - TWDR = twi_txBuffer[twi_txBufferIndex++]; - // if there is more to send, ack, otherwise nack - if(twi_txBufferIndex < twi_txBufferLength){ - twi_reply(1); - }else{ - twi_reply(0); - } - break; - case TW_ST_DATA_NACK: // received nack, we are done - case TW_ST_LAST_DATA: // received ack, but we are done already! - // ack future responses - twi_reply(1); - // leave slave receiver state - twi_state = TWI_READY; - break; - - // All - case TW_NO_INFO: // no state information - break; - case TW_BUS_ERROR: // bus error, illegal stop/start - twi_error = TW_BUS_ERROR; - twi_stop(); - break; - } -} - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.h deleted file mode 100644 index 652659339..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/libraries/Wire/utility/twi.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - twi.h - TWI/I2C library for Wiring & Arduino - 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 -*/ - -#ifndef twi_h -#define twi_h - - #include - - //#define ATMEGA8 - - #ifndef TWI_FREQ - #define TWI_FREQ 100000L - #endif - - #ifndef TWI_BUFFER_LENGTH - #define TWI_BUFFER_LENGTH 32 - #endif - - #define TWI_READY 0 - #define TWI_MRX 1 - #define TWI_MTX 2 - #define TWI_SRX 3 - #define TWI_STX 4 - - void twi_init(void); - void twi_setAddress(uint8_t); - uint8_t twi_readFrom(uint8_t, uint8_t*, uint8_t, uint8_t); - uint8_t twi_writeTo(uint8_t, uint8_t*, uint8_t, uint8_t, uint8_t); - uint8_t twi_transmit(const uint8_t*, uint8_t); - void twi_attachSlaveRxEvent( void (*)(uint8_t*, int) ); - void twi_attachSlaveTxEvent( void (*)(void) ); - void twi_reply(uint8_t); - void twi_stop(void); - void twi_releaseBus(void); - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.local.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.local.txt deleted file mode 100644 index e99b0c2b2..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.local.txt +++ /dev/null @@ -1,7 +0,0 @@ -compiler.cpp.extra_flags=-DUSE_AUTOMATIC_VERSIONING -compiler.cpp.extra_flags.windows= -build.custom_bin.path.macosx=/usr/local/bin/ -build.custom_bin.path.linux= -recipe.hooks.prebuild0.pattern={build.custom_bin.path}generate_version_header_for_marlin "{build.source.path}" "{build.path}/_Version.h" -# Please help -- We need an implementation on Windows -recipe.hooks.prebuild0.pattern.windows= diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.txt b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.txt deleted file mode 100644 index d4d7b06ab..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/platform.txt +++ /dev/null @@ -1,120 +0,0 @@ - -# Arduino AVR Core and platform. -# ------------------------------ - -# For more info: -# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification - -name=Marlin AVR Boards -version=1.5.6 - -# AVR compile variables -# --------------------- - -# Default "compiler.path" is correct, change only if you want to overidde the initial value -compiler.path={runtime.tools.avr-gcc.path}/bin/ -compiler.c.cmd=avr-gcc -compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD -# -w flag added to avoid printing a wrong warning http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396 -# This is fixed in gcc 4.8.3 and will be removed as soon as we update the toolchain -compiler.c.elf.flags=-w -Os -Wl,--gc-sections -compiler.c.elf.cmd=avr-gcc -compiler.S.flags=-c -g -x assembler-with-cpp -compiler.cpp.cmd=avr-g++ -compiler.cpp.flags=-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -compiler.ar.cmd=avr-ar -compiler.ar.flags=rcs -compiler.objcopy.cmd=avr-objcopy -compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 -compiler.elf2hex.flags=-O ihex -R .eeprom -compiler.elf2hex.cmd=avr-objcopy -compiler.ldflags= -compiler.size.cmd=avr-size - -# This can be overriden in boards.txt -build.extra_flags= - -# These can be overridden in platform.local.txt -compiler.c.extra_flags= -compiler.c.elf.extra_flags= -compiler.S.extra_flags= -compiler.cpp.extra_flags= -compiler.ar.extra_flags= -compiler.objcopy.eep.extra_flags= -compiler.elf2hex.extra_flags= - -# AVR compile patterns -# -------------------- - -## Compile c files -recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" - -## Compile c++ files -recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {compiler.cpp.extra_flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" - -## Compile S files -recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" - -## Create archives -recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}" - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm - -## Create eeprom -recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep" - -## Create hex -recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex" - -## Compute size -recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf" -recipe.size.regex=^(?:\.text|\.data|\.bootloader)\s+([0-9]+).* -recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).* -recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).* - - -# AVR Uploader/Programmers tools -# ------------------------------ - -tools.avrdude.path={runtime.tools.avrdude.path} -tools.avrdude.cmd.path={path}/bin/avrdude -tools.avrdude.config.path={path}/etc/avrdude.conf - -tools.avrdude.upload.params.verbose=-v -tools.avrdude.upload.params.quiet=-q -q -tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i" - -tools.avrdude.program.params.verbose=-v -tools.avrdude.program.params.quiet=-q -q -tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i" - -tools.avrdude.erase.params.verbose=-v -tools.avrdude.erase.params.quiet=-q -q -tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m - -tools.avrdude.bootloader.params.verbose=-v -tools.avrdude.bootloader.params.quiet=-q -q -tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.platform.path}/bootloaders/{bootloader.path}/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m - -tools.hidloader.cmd.path=/usr/local/bin/HIDUploader - -tools.hidloader.upload.params.verbose=-v -tools.hidloader.upload.params.quiet= -tools.hidloader.upload.pattern="{cmd.path}" --upload -mmcu={build.mcu} {upload.verbose} -w "{build.path}/{build.project_name}.hex" -tools.nativehid.program.params.verbose=-v -tools.nativehid.program.params.quiet=-q -q - -tools.hidloader.program.params.verbose=-v -tools.hidloader.program.params.quiet=-q -q -tools.hidloader.program.pattern="{cmd.path}" -mmcu={build.mcu} {upload.verbose} -w "{build.path}/{build.project_name}.hex" - -tools.hidloader.erase.params.verbose=-v -tools.hidloader.erase.params.quiet=-q -q -tools.hidloader.erase.pattern="{cmd.path}" --erase "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m - -# USB Default Flags -# Default blank usb manufacturer will be filled it at compile time -# - from numeric vendor ID, set to Unknown otherwise -build.usb_manufacturer= -build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/at90usb/pins_arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/at90usb/pins_arduino.h deleted file mode 100644 index 8fef38320..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/at90usb/pins_arduino.h +++ /dev/null @@ -1,278 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - Modified 2012 by Fredrik Hubinette - Modified 2014-2015 by Matthew Wilson - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 48 -#define NUM_ANALOG_INPUTS 8 - -// PE7 is our status LED -#define TX_RX_LED_INIT DDRE |= (1<<7) -#define TXLED0 0 -#define TXLED1 0 -#define RXLED0 PORTE |= (1<<7) -#define RXLED1 PORTE &= ~(1<<7) - -static const uint8_t SDA = 1; -static const uint8_t SCL = 0; - -// Map SPI port to 'new' pins D14..D17 -static const uint8_t SS = 20; -static const uint8_t MOSI = 22; -static const uint8_t MISO = 23; -static const uint8_t SCK = 21; - -// Mapping of analog pins as digital I/O -// A6-A11 share with digital pins -static const uint8_t A0 = 38; // F0 -static const uint8_t A1 = 39; // F1 -static const uint8_t A2 = 40; // F2 -static const uint8_t A3 = 41; // F3 -static const uint8_t A4 = 42; // F4 -static const uint8_t A5 = 43; // F5 -static const uint8_t A6 = 44; // F6 -static const uint8_t A7 = 45; // F7 - -#define analogInputToDigitalPin(p) ((p < 8) ? (p) + 38 : -1) - -// Pins below still needs to be configured - Hubbe. - -#define digitalPinToPCICR(p) ((((p) >= 0 && (p) <= 3) || ((p) >= 18 && (p) <= 19) || ((p) >= 36 && (p) <= 37)) ? (&PCICR) : ((uint8_t *)0)) -#define digitalPinToPCICRbit(p) 0 -#define digitalPinToPCMSK(p) ((((p) >= 0 && (p) <= 3) || ((p) >= 18 && (p) <= 19) || ((p) >= 36 && (p) <= 37)) ? (&PCMSK0) : ((uint8_t *)0)) -#define digitalPinToPCMSKbit(p) ( ((p) >= 0 && (p) <= 3) ? (p) : ((p) == 18 ? 6 : ((p) == 19 ? 7 : ((p) == 36 ? 4 : ((p) == 37 ? 5 : (-1)))))) - -#define digitalPinHasPWM(p) ((p) == 0 || (p) == 1 || (p) == 14 || (p) == 15 || (p) == 16 || (p) == 24 || (p) == 25 || (p) == 26 || (p) == 27) - -// __AVR_ATmega32U4__ has an unusual mapping of pins to channels -extern const uint8_t PROGMEM analog_pin_to_channel_PGM[]; -#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) ) - -#ifdef ARDUINO_MAIN - - -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -// Note PA == 1, PB == 2, etc. (GAH!) -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - PD, // 0 - PD0 - INT0 - PWM - PD, // 1 - PD1 - INT1 - PWM - PD, // 2 - PD2 - INT2 - RX - PD, // 3 - PD3 - INT3 - TX - PD, // 4 - PD4 - PD, // 5 - PD5 - PD, // 6 - PD6 - PD, // 7 - PD7 - PE, // 8 - PE0 - PE, // 9 - PE1 - PC, // 10 - PC0 - PC, // 11 - PC1 - PC, // 12 - PC2 - PC, // 13 - PC3 - PC, // 14 - PC4 - PWM - PC, // 15 - PC5 - PWM - PC, // 16 - PC6 - PWM - PC, // 17 - PC7 - PE, // 18 - PE6 - INT6 - PE, // 19 - PE7 - INT7 - PB, // 20 - PB0 - PB, // 21 - PB1 - PB, // 22 - PB2 - PB, // 23 - PB3 - PB, // 24 - PB4 - PWM - PB, // 25 - PB5 - PWM - PB, // 26 - PB6 - PWM - PB, // 27 - PB7 - PWM - PA, // 28 - PA0 - PA, // 29 - PA1 - PA, // 30 - PA2 - PA, // 31 - PA3 - PA, // 32 - PA4 - PA, // 33 - PA5 - PA, // 34 - PA6 - PA, // 35 - PA7 - PE, // 36 - PE4 - INT4 - PE, // 37 - PE5 - INT5 - PF, // 38 - PF0 - A0 - PF, // 39 - PF1 - A1 - PF, // 40 - PF2 - A2 - PF, // 41 - PF3 - A3 - PF, // 42 - PF4 - A4 - PF, // 43 - PF5 - A5 - PF, // 44 - PF6 - A6 - PF, // 45 - PF7 - A7 - PE, // 46 - PE2 (not defined in teensy) - PE, // 47 - PE3 (not defined in teensy) -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - _BV(0), // 0 - PD0 - INT0 - PWM - _BV(1), // 1 - PD1 - INT1 - PWM - _BV(2), // 2 - PD2 - INT2 - RX - _BV(3), // 3 - PD3 - INT3 - TX - _BV(4), // 4 - PD4 - _BV(5), // 5 - PD5 - _BV(6), // 6 - PD6 - _BV(7), // 7 - PD7 - _BV(0), // 8 - PE0 - _BV(1), // 9 - PE1 - _BV(0), // 10 - PC0 - _BV(1), // 11 - PC1 - _BV(2), // 12 - PC2 - _BV(3), // 13 - PC3 - _BV(4), // 14 - PC4 - PWM - _BV(5), // 15 - PC5 - PWM - _BV(6), // 16 - PC6 - PWM - _BV(7), // 17 - PC7 - _BV(6), // 18 - PE6 - INT6 - _BV(7), // 19 - PE7 - INT7 - _BV(0), // 20 - PB0 - _BV(1), // 21 - PB1 - _BV(2), // 22 - PB2 - _BV(3), // 23 - PB3 - _BV(4), // 24 - PB4 - PWM - _BV(5), // 25 - PB5 - PWM - _BV(6), // 26 - PB6 - PWM - _BV(7), // 27 - PB7 - PWM - _BV(0), // 28 - PA0 - _BV(1), // 29 - PA1 - _BV(2), // 30 - PA2 - _BV(3), // 31 - PA3 - _BV(4), // 32 - PA4 - _BV(5), // 33 - PA5 - _BV(6), // 34 - PA6 - _BV(7), // 35 - PA7 - _BV(4), // 36 - PE4 - INT4 - _BV(5), // 37 - PE5 - INT5 - _BV(0), // 38 - PF0 - A0 - _BV(1), // 39 - PF1 - A1 - _BV(2), // 40 - PF2 - A2 - _BV(3), // 41 - PF3 - A3 - _BV(4), // 42 - PF4 - A4 - _BV(5), // 43 - PF5 - A5 - _BV(6), // 44 - PF6 - A6 - _BV(7), // 45 - PF7 - A7 - _BV(2), // 46 - PE2 (not defined in teensy) - _BV(3), // 47 - PE3 (not defined in teensy) -}; - - -// TODO(unrepentantgeek) complete this map of PWM capable pins -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - TIMER0A, // 0 - PD0 - INT0 - PWM - TIMER2B, // 1 - PD1 - INT1 - PWM - NOT_ON_TIMER, // 2 - PD2 - INT2 - RX - NOT_ON_TIMER, // 3 - PD3 - INT3 - TX - NOT_ON_TIMER, // 4 - PD4 - NOT_ON_TIMER, // 5 - PD5 - NOT_ON_TIMER, // 6 - PD6 - NOT_ON_TIMER, // 7 - PD7 - NOT_ON_TIMER, // 8 - PE0 - NOT_ON_TIMER, // 9 - PE1 - NOT_ON_TIMER, // 10 - PC0 - NOT_ON_TIMER, // 11 - PC1 - NOT_ON_TIMER, // 12 - PC2 - NOT_ON_TIMER, // 13 - PC3 - TIMER3C, // 14 - PC4 - PWM - TIMER3B, // 15 - PC5 - PWM - TIMER3A, // 16 - PC6 - PWM - NOT_ON_TIMER, // 17 - PC7 - NOT_ON_TIMER, // 18 - PE6 - INT6 - NOT_ON_TIMER, // 19 - PE7 - INT7 - NOT_ON_TIMER, // 20 - PB0 - NOT_ON_TIMER, // 21 - PB1 - NOT_ON_TIMER, // 22 - PB2 - NOT_ON_TIMER, // 23 - PB3 - TIMER2A, // 24 - PB4 - PWM - TIMER1A, // 25 - PB5 - PWM - TIMER1B, // 26 - PB6 - PWM - NOT_ON_TIMER, // 27 - PB7 - PWM // This should be on TIMER1C - NOT_ON_TIMER, // 28 - PA0 - NOT_ON_TIMER, // 29 - PA1 - NOT_ON_TIMER, // 30 - PA2 - NOT_ON_TIMER, // 31 - PA3 - NOT_ON_TIMER, // 32 - PA4 - NOT_ON_TIMER, // 33 - PA5 - NOT_ON_TIMER, // 34 - PA6 - NOT_ON_TIMER, // 35 - PA7 - NOT_ON_TIMER, // 36 - PE4 - INT4 - NOT_ON_TIMER, // 37 - PE5 - INT5 - NOT_ON_TIMER, // 38 - PF0 - A0 - NOT_ON_TIMER, // 39 - PF1 - A1 - NOT_ON_TIMER, // 40 - PF2 - A2 - NOT_ON_TIMER, // 41 - PF3 - A3 - NOT_ON_TIMER, // 42 - PF4 - A4 - NOT_ON_TIMER, // 43 - PF5 - A5 - NOT_ON_TIMER, // 44 - PF6 - A6 - NOT_ON_TIMER, // 45 - PF7 - A7 - NOT_ON_TIMER, // 46 - PE2 (not defined in teensy) - NOT_ON_TIMER, // 47 - PE3 (not defined in teensy) -}; - -const uint8_t PROGMEM analog_pin_to_channel_PGM[8] = { - 0, // A0 PF0 ADC0 - 1, // A1 PF1 ADC1 - 2, // A2 PF2 ADC2 - 3, // A3 PF3 ADC3 - 4, // A4 PF4 ADC4 - 5, // A5 PF5 ADC5 - 6, // A6 PD6 ADC6 - 7, // A7 PD7 ADC7 -}; - -#endif /* ARDUINO_MAIN */ -#endif /* Pins_Arduino_h */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h deleted file mode 100644 index 83a04fc96..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/brainwave/pins_arduino.h +++ /dev/null @@ -1,281 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - Modified 2012 by Fredrik Hubinette - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 48 -#define NUM_ANALOG_INPUTS 8 - -#define TX_RX_LED_INIT DDRE |= (1<<7) -#define TXLED0 0 -#define TXLED1 0 -#define RXLED0 PORTE |= (1<<7) -#define RXLED1 PORTE &= ~(1<<7) - -static const uint8_t SDA = 0; -static const uint8_t SCL = 1; - -// Map SPI port to 'new' pins D14..D17 -static const uint8_t SS = 20; -static const uint8_t MOSI = 22; -static const uint8_t MISO = 23; -static const uint8_t SCK = 21; - -// Mapping of analog pins as digital I/O -// A6-A11 share with digital pins -static const uint8_t A0 = 38; // F0 -static const uint8_t A1 = 39; // F1 -static const uint8_t A2 = 40; // F2 -static const uint8_t A3 = 41; // F3 -static const uint8_t A4 = 42; // F4 -static const uint8_t A5 = 43; // F5 -static const uint8_t A6 = 44; // F6 -static const uint8_t A7 = 45; // F7 - -#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1) - -// Pins below still needs to be configured - Hubbe. - -#define digitalPinToPCICR(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCICR) : ((uint8_t *)0)) -#define digitalPinToPCICRbit(p) 0 -#define digitalPinToPCMSK(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCMSK0) : ((uint8_t *)0)) -#define digitalPinToPCMSKbit(p) ( ((p) >= 8 && (p) <= 11) ? (p) - 4 : ((p) == 14 ? 3 : ((p) == 15 ? 1 : ((p) == 16 ? 2 : ((p) == 17 ? 0 : (p - A8 + 4)))))) - - -#define digitalPinHasPWM(p) ((p) == 12 || (p) == 13 || (p) == 14 || (p) == 20 || (p) == 21 || (p) == 22) - -// __AVR_ATmega32U4__ has an unusual mapping of pins to channels -extern const uint8_t PROGMEM analog_pin_to_channel_PGM[]; -#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) ) - -#ifdef ARDUINO_MAIN - - -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -// Note PA == 1, PB == 2, etc. (GAH!) -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - PA, // 0 - PA, - PA, - PA, - PA, - PA, - PA, - PA, - PB, // 8 - PB, - PB, - PB, - PB, - PB, - PB, - PB, - PC, // 16 - PC, - PC, - PC, - PC, - PC, - PC, - PC, - PD, // 24 - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PE, // 32 - PE, - PE, - PE, - PE, - PE, - PE, - PE, // 39 - PE7 - PF, // 40 - A0 - PF0 - PF, - PF, - PF, - PF, - PF, - PF, - PF, // 47 - A7 - PF7 -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - _BV(0), // PA0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PB0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PC0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PD0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PE0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), // PF0 - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), -}; - - -// TODO(unrepentantgeek) complete this map of PWM capable pins -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - NOT_ON_TIMER, // 0 - PA0 - NOT_ON_TIMER, // 1 - PA1 - NOT_ON_TIMER, // 2 - PA2 - NOT_ON_TIMER, // 3 - PA3 - NOT_ON_TIMER, // 4 - PA4 - NOT_ON_TIMER, // 5 - PA5 - NOT_ON_TIMER, // 6 - PA6 - NOT_ON_TIMER, // 7 - PA7 - NOT_ON_TIMER, // 8 - PB0 - NOT_ON_TIMER, // 9 - PB1 - NOT_ON_TIMER, // 10 - PB2 - NOT_ON_TIMER, // 11 - PB3 - TIMER2A, // 12 - PB4 - TIMER1A, // 13 - PB5 - TIMER1B, // 14 - PB6 - NOT_ON_TIMER, // 15 - PB7 - NOT_ON_TIMER, // 16 - PC0 - NOT_ON_TIMER, // 17 - PC1 - NOT_ON_TIMER, // 18 - PC2 - NOT_ON_TIMER, // 19 - PC3 - TIMER3C, // 20 - PC4 - TIMER3B, // 21 - PC5 - TIMER3A, // 22 - PC6 - NOT_ON_TIMER, // 23 - PC7 - NOT_ON_TIMER, // 24 - PD0 - NOT_ON_TIMER, // 25 - PD1 - NOT_ON_TIMER, // 26 - PD2 - NOT_ON_TIMER, // 27 - PD3 - NOT_ON_TIMER, // 28 - PD4 - NOT_ON_TIMER, // 29 - PD5 - NOT_ON_TIMER, // 30 - PD6 - NOT_ON_TIMER, // 31 - PD7 - NOT_ON_TIMER, // 32 - PE0 - NOT_ON_TIMER, // 33 - PE1 - NOT_ON_TIMER, // 34 - PE2 - NOT_ON_TIMER, // 35 - PE3 - NOT_ON_TIMER, // 36 - PE4 - NOT_ON_TIMER, // 37 - PE5 - NOT_ON_TIMER, // 38 - PE6 - NOT_ON_TIMER, // 39 - PE7 - NOT_ON_TIMER, // 40 - A0 - PF0 - NOT_ON_TIMER, // 41 - A1 - PF1 - NOT_ON_TIMER, // 42 - A2 - PF2 - NOT_ON_TIMER, // 43 - A3 - PF3 - NOT_ON_TIMER, // 44 - A4 - PF4 - NOT_ON_TIMER, // 45 - A5 - PF5 - NOT_ON_TIMER, // 46 - A6 - PF6 - NOT_ON_TIMER, // 47 - A7 - PF7 -}; - -const uint8_t PROGMEM analog_pin_to_channel_PGM[12] = { - 7, // A0 PF7 ADC7 - 6, // A1 PF6 ADC6 - 5, // A2 PF5 ADC5 - 4, // A3 PF4 ADC4 - 1, // A4 PF1 ADC1 - 0, // A5 PF0 ADC0 - 8, // A6 D4 PD4 ADC8 - 10, // A7 D6 PD7 ADC10 - 11, // A8 D8 PB4 ADC11 - 12, // A9 D9 PB5 ADC12 - 13, // A10 D10 PB6 ADC13 - 9 // A11 D12 PD6 ADC9 -}; - -#endif /* ARDUINO_MAIN */ -#endif /* Pins_Arduino_h */ diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/mega/pins_arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/mega/pins_arduino.h deleted file mode 100644 index a80991b3c..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/mega/pins_arduino.h +++ /dev/null @@ -1,389 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 70 -#define NUM_ANALOG_INPUTS 16 -#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1) -#define digitalPinHasPWM(p) (((p) >= 2 && (p) <= 13) || ((p) >= 44 && (p)<= 46)) - -static const uint8_t SS = 53; -static const uint8_t MOSI = 51; -static const uint8_t MISO = 50; -static const uint8_t SCK = 52; - -static const uint8_t SDA = 20; -static const uint8_t SCL = 21; -#define LED_BUILTIN 13 - -static const uint8_t A0 = 54; -static const uint8_t A1 = 55; -static const uint8_t A2 = 56; -static const uint8_t A3 = 57; -static const uint8_t A4 = 58; -static const uint8_t A5 = 59; -static const uint8_t A6 = 60; -static const uint8_t A7 = 61; -static const uint8_t A8 = 62; -static const uint8_t A9 = 63; -static const uint8_t A10 = 64; -static const uint8_t A11 = 65; -static const uint8_t A12 = 66; -static const uint8_t A13 = 67; -static const uint8_t A14 = 68; -static const uint8_t A15 = 69; - -// A majority of the pins are NOT PCINTs, SO BE WARNED (i.e. you cannot use them as receive pins) -// Only pins available for RECEIVE (TRANSMIT can be on any pin): -// (I've deliberately left out pin mapping to the Hardware USARTs - seems senseless to me) -// Pins: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 - -#define digitalPinToPCICR(p) ( (((p) >= 10) && ((p) <= 13)) || \ - (((p) >= 50) && ((p) <= 53)) || \ - (((p) >= 62) && ((p) <= 69)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? 2 : \ - 0 ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? (&PCMSK0) : \ - ( (((p) >= 62) && ((p) <= 69)) ? (&PCMSK2) : \ - ((uint8_t *)0) ) ) - -#define digitalPinToPCMSKbit(p) ( (((p) >= 10) && ((p) <= 13)) ? ((p) - 6) : \ - ( ((p) == 50) ? 3 : \ - ( ((p) == 51) ? 2 : \ - ( ((p) == 52) ? 1 : \ - ( ((p) == 53) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \ - 0 ) ) ) ) ) ) - -#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : ((p) >= 18 && (p) <= 21 ? 23 - (p) : NOT_AN_INTERRUPT))) - -#ifdef ARDUINO_MAIN - -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, - (uint16_t) &DDRF, - (uint16_t) &DDRG, - (uint16_t) &DDRH, - NOT_A_PORT, - (uint16_t) &DDRJ, - (uint16_t) &DDRK, - (uint16_t) &DDRL, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, - (uint16_t) &PORTF, - (uint16_t) &PORTG, - (uint16_t) &PORTH, - NOT_A_PORT, - (uint16_t) &PORTJ, - (uint16_t) &PORTK, - (uint16_t) &PORTL, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PIN, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, - (uint16_t) &PINF, - (uint16_t) &PING, - (uint16_t) &PINH, - NOT_A_PIN, - (uint16_t) &PINJ, - (uint16_t) &PINK, - (uint16_t) &PINL, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - // PORTLIST - // ------------------------------------------- - PE , // PE 0 ** 0 ** USART0_RX - PE , // PE 1 ** 1 ** USART0_TX - PE , // PE 4 ** 2 ** PWM2 - PE , // PE 5 ** 3 ** PWM3 - PG , // PG 5 ** 4 ** PWM4 - PE , // PE 3 ** 5 ** PWM5 - PH , // PH 3 ** 6 ** PWM6 - PH , // PH 4 ** 7 ** PWM7 - PH , // PH 5 ** 8 ** PWM8 - PH , // PH 6 ** 9 ** PWM9 - PB , // PB 4 ** 10 ** PWM10 - PB , // PB 5 ** 11 ** PWM11 - PB , // PB 6 ** 12 ** PWM12 - PB , // PB 7 ** 13 ** PWM13 - PJ , // PJ 1 ** 14 ** USART3_TX - PJ , // PJ 0 ** 15 ** USART3_RX - PH , // PH 1 ** 16 ** USART2_TX - PH , // PH 0 ** 17 ** USART2_RX - PD , // PD 3 ** 18 ** USART1_TX - PD , // PD 2 ** 19 ** USART1_RX - PD , // PD 1 ** 20 ** I2C_SDA - PD , // PD 0 ** 21 ** I2C_SCL - PA , // PA 0 ** 22 ** D22 - PA , // PA 1 ** 23 ** D23 - PA , // PA 2 ** 24 ** D24 - PA , // PA 3 ** 25 ** D25 - PA , // PA 4 ** 26 ** D26 - PA , // PA 5 ** 27 ** D27 - PA , // PA 6 ** 28 ** D28 - PA , // PA 7 ** 29 ** D29 - PC , // PC 7 ** 30 ** D30 - PC , // PC 6 ** 31 ** D31 - PC , // PC 5 ** 32 ** D32 - PC , // PC 4 ** 33 ** D33 - PC , // PC 3 ** 34 ** D34 - PC , // PC 2 ** 35 ** D35 - PC , // PC 1 ** 36 ** D36 - PC , // PC 0 ** 37 ** D37 - PD , // PD 7 ** 38 ** D38 - PG , // PG 2 ** 39 ** D39 - PG , // PG 1 ** 40 ** D40 - PG , // PG 0 ** 41 ** D41 - PL , // PL 7 ** 42 ** D42 - PL , // PL 6 ** 43 ** D43 - PL , // PL 5 ** 44 ** D44 - PL , // PL 4 ** 45 ** D45 - PL , // PL 3 ** 46 ** D46 - PL , // PL 2 ** 47 ** D47 - PL , // PL 1 ** 48 ** D48 - PL , // PL 0 ** 49 ** D49 - PB , // PB 3 ** 50 ** SPI_MISO - PB , // PB 2 ** 51 ** SPI_MOSI - PB , // PB 1 ** 52 ** SPI_SCK - PB , // PB 0 ** 53 ** SPI_SS - PF , // PF 0 ** 54 ** A0 - PF , // PF 1 ** 55 ** A1 - PF , // PF 2 ** 56 ** A2 - PF , // PF 3 ** 57 ** A3 - PF , // PF 4 ** 58 ** A4 - PF , // PF 5 ** 59 ** A5 - PF , // PF 6 ** 60 ** A6 - PF , // PF 7 ** 61 ** A7 - PK , // PK 0 ** 62 ** A8 - PK , // PK 1 ** 63 ** A9 - PK , // PK 2 ** 64 ** A10 - PK , // PK 3 ** 65 ** A11 - PK , // PK 4 ** 66 ** A12 - PK , // PK 5 ** 67 ** A13 - PK , // PK 6 ** 68 ** A14 - PK , // PK 7 ** 69 ** A15 -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - // PIN IN PORT - // ------------------------------------------- - _BV( 0 ) , // PE 0 ** 0 ** USART0_RX - _BV( 1 ) , // PE 1 ** 1 ** USART0_TX - _BV( 4 ) , // PE 4 ** 2 ** PWM2 - _BV( 5 ) , // PE 5 ** 3 ** PWM3 - _BV( 5 ) , // PG 5 ** 4 ** PWM4 - _BV( 3 ) , // PE 3 ** 5 ** PWM5 - _BV( 3 ) , // PH 3 ** 6 ** PWM6 - _BV( 4 ) , // PH 4 ** 7 ** PWM7 - _BV( 5 ) , // PH 5 ** 8 ** PWM8 - _BV( 6 ) , // PH 6 ** 9 ** PWM9 - _BV( 4 ) , // PB 4 ** 10 ** PWM10 - _BV( 5 ) , // PB 5 ** 11 ** PWM11 - _BV( 6 ) , // PB 6 ** 12 ** PWM12 - _BV( 7 ) , // PB 7 ** 13 ** PWM13 - _BV( 1 ) , // PJ 1 ** 14 ** USART3_TX - _BV( 0 ) , // PJ 0 ** 15 ** USART3_RX - _BV( 1 ) , // PH 1 ** 16 ** USART2_TX - _BV( 0 ) , // PH 0 ** 17 ** USART2_RX - _BV( 3 ) , // PD 3 ** 18 ** USART1_TX - _BV( 2 ) , // PD 2 ** 19 ** USART1_RX - _BV( 1 ) , // PD 1 ** 20 ** I2C_SDA - _BV( 0 ) , // PD 0 ** 21 ** I2C_SCL - _BV( 0 ) , // PA 0 ** 22 ** D22 - _BV( 1 ) , // PA 1 ** 23 ** D23 - _BV( 2 ) , // PA 2 ** 24 ** D24 - _BV( 3 ) , // PA 3 ** 25 ** D25 - _BV( 4 ) , // PA 4 ** 26 ** D26 - _BV( 5 ) , // PA 5 ** 27 ** D27 - _BV( 6 ) , // PA 6 ** 28 ** D28 - _BV( 7 ) , // PA 7 ** 29 ** D29 - _BV( 7 ) , // PC 7 ** 30 ** D30 - _BV( 6 ) , // PC 6 ** 31 ** D31 - _BV( 5 ) , // PC 5 ** 32 ** D32 - _BV( 4 ) , // PC 4 ** 33 ** D33 - _BV( 3 ) , // PC 3 ** 34 ** D34 - _BV( 2 ) , // PC 2 ** 35 ** D35 - _BV( 1 ) , // PC 1 ** 36 ** D36 - _BV( 0 ) , // PC 0 ** 37 ** D37 - _BV( 7 ) , // PD 7 ** 38 ** D38 - _BV( 2 ) , // PG 2 ** 39 ** D39 - _BV( 1 ) , // PG 1 ** 40 ** D40 - _BV( 0 ) , // PG 0 ** 41 ** D41 - _BV( 7 ) , // PL 7 ** 42 ** D42 - _BV( 6 ) , // PL 6 ** 43 ** D43 - _BV( 5 ) , // PL 5 ** 44 ** D44 - _BV( 4 ) , // PL 4 ** 45 ** D45 - _BV( 3 ) , // PL 3 ** 46 ** D46 - _BV( 2 ) , // PL 2 ** 47 ** D47 - _BV( 1 ) , // PL 1 ** 48 ** D48 - _BV( 0 ) , // PL 0 ** 49 ** D49 - _BV( 3 ) , // PB 3 ** 50 ** SPI_MISO - _BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI - _BV( 1 ) , // PB 1 ** 52 ** SPI_SCK - _BV( 0 ) , // PB 0 ** 53 ** SPI_SS - _BV( 0 ) , // PF 0 ** 54 ** A0 - _BV( 1 ) , // PF 1 ** 55 ** A1 - _BV( 2 ) , // PF 2 ** 56 ** A2 - _BV( 3 ) , // PF 3 ** 57 ** A3 - _BV( 4 ) , // PF 4 ** 58 ** A4 - _BV( 5 ) , // PF 5 ** 59 ** A5 - _BV( 6 ) , // PF 6 ** 60 ** A6 - _BV( 7 ) , // PF 7 ** 61 ** A7 - _BV( 0 ) , // PK 0 ** 62 ** A8 - _BV( 1 ) , // PK 1 ** 63 ** A9 - _BV( 2 ) , // PK 2 ** 64 ** A10 - _BV( 3 ) , // PK 3 ** 65 ** A11 - _BV( 4 ) , // PK 4 ** 66 ** A12 - _BV( 5 ) , // PK 5 ** 67 ** A13 - _BV( 6 ) , // PK 6 ** 68 ** A14 - _BV( 7 ) , // PK 7 ** 69 ** A15 -}; - -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - // TIMERS - // ------------------------------------------- - NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RX - NOT_ON_TIMER , // PE 1 ** 1 ** USART0_TX - TIMER3B , // PE 4 ** 2 ** PWM2 - TIMER3C , // PE 5 ** 3 ** PWM3 - TIMER0B , // PG 5 ** 4 ** PWM4 - TIMER3A , // PE 3 ** 5 ** PWM5 - TIMER4A , // PH 3 ** 6 ** PWM6 - TIMER4B , // PH 4 ** 7 ** PWM7 - TIMER4C , // PH 5 ** 8 ** PWM8 - TIMER2B , // PH 6 ** 9 ** PWM9 - TIMER2A , // PB 4 ** 10 ** PWM10 - TIMER1A , // PB 5 ** 11 ** PWM11 - TIMER1B , // PB 6 ** 12 ** PWM12 - TIMER0A , // PB 7 ** 13 ** PWM13 - NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TX - NOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RX - NOT_ON_TIMER , // PH 1 ** 16 ** USART2_TX - NOT_ON_TIMER , // PH 0 ** 17 ** USART2_RX - NOT_ON_TIMER , // PD 3 ** 18 ** USART1_TX - NOT_ON_TIMER , // PD 2 ** 19 ** USART1_RX - NOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDA - NOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCL - NOT_ON_TIMER , // PA 0 ** 22 ** D22 - NOT_ON_TIMER , // PA 1 ** 23 ** D23 - NOT_ON_TIMER , // PA 2 ** 24 ** D24 - NOT_ON_TIMER , // PA 3 ** 25 ** D25 - NOT_ON_TIMER , // PA 4 ** 26 ** D26 - NOT_ON_TIMER , // PA 5 ** 27 ** D27 - NOT_ON_TIMER , // PA 6 ** 28 ** D28 - NOT_ON_TIMER , // PA 7 ** 29 ** D29 - NOT_ON_TIMER , // PC 7 ** 30 ** D30 - NOT_ON_TIMER , // PC 6 ** 31 ** D31 - NOT_ON_TIMER , // PC 5 ** 32 ** D32 - NOT_ON_TIMER , // PC 4 ** 33 ** D33 - NOT_ON_TIMER , // PC 3 ** 34 ** D34 - NOT_ON_TIMER , // PC 2 ** 35 ** D35 - NOT_ON_TIMER , // PC 1 ** 36 ** D36 - NOT_ON_TIMER , // PC 0 ** 37 ** D37 - NOT_ON_TIMER , // PD 7 ** 38 ** D38 - NOT_ON_TIMER , // PG 2 ** 39 ** D39 - NOT_ON_TIMER , // PG 1 ** 40 ** D40 - NOT_ON_TIMER , // PG 0 ** 41 ** D41 - NOT_ON_TIMER , // PL 7 ** 42 ** D42 - NOT_ON_TIMER , // PL 6 ** 43 ** D43 - TIMER5C , // PL 5 ** 44 ** D44 - TIMER5B , // PL 4 ** 45 ** D45 - TIMER5A , // PL 3 ** 46 ** D46 - NOT_ON_TIMER , // PL 2 ** 47 ** D47 - NOT_ON_TIMER , // PL 1 ** 48 ** D48 - NOT_ON_TIMER , // PL 0 ** 49 ** D49 - NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISO - NOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSI - NOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCK - NOT_ON_TIMER , // PB 0 ** 53 ** SPI_SS - NOT_ON_TIMER , // PF 0 ** 54 ** A0 - NOT_ON_TIMER , // PF 1 ** 55 ** A1 - NOT_ON_TIMER , // PF 2 ** 56 ** A2 - NOT_ON_TIMER , // PF 3 ** 57 ** A3 - NOT_ON_TIMER , // PF 4 ** 58 ** A4 - NOT_ON_TIMER , // PF 5 ** 59 ** A5 - NOT_ON_TIMER , // PF 6 ** 60 ** A6 - NOT_ON_TIMER , // PF 7 ** 61 ** A7 - NOT_ON_TIMER , // PK 0 ** 62 ** A8 - NOT_ON_TIMER , // PK 1 ** 63 ** A9 - NOT_ON_TIMER , // PK 2 ** 64 ** A10 - NOT_ON_TIMER , // PK 3 ** 65 ** A11 - NOT_ON_TIMER , // PK 4 ** 66 ** A12 - NOT_ON_TIMER , // PK 5 ** 67 ** A13 - NOT_ON_TIMER , // PK 6 ** 68 ** A14 - NOT_ON_TIMER , // PK 7 ** 69 ** A15 -}; - -#endif - -// These serial port names are intended to allow libraries and architecture-neutral -// sketches to automatically default to the correct port name for a particular type -// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, -// the first hardware serial port whose RX/TX pins are not dedicated to another use. -// -// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor -// -// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial -// -// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library -// -// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. -// -// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX -// pins are NOT connected to anything by default. -#define SERIAL_PORT_MONITOR Serial -#define SERIAL_PORT_HARDWARE Serial -#define SERIAL_PORT_HARDWARE1 Serial1 -#define SERIAL_PORT_HARDWARE2 Serial2 -#define SERIAL_PORT_HARDWARE3 Serial3 -#define SERIAL_PORT_HARDWARE_OPEN Serial1 -#define SERIAL_PORT_HARDWARE_OPEN1 Serial2 -#define SERIAL_PORT_HARDWARE_OPEN2 Serial3 - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/rambo/pins_arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/rambo/pins_arduino.h deleted file mode 100644 index f49a23fc0..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/rambo/pins_arduino.h +++ /dev/null @@ -1,411 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 82 -#define NUM_ANALOG_INPUTS 16 -#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1) -#define digitalPinHasPWM(p) (((p) >= 2 && (p) <= 13) || ((p) >= 44 && (p)<= 46)) - -static const uint8_t SS = 53; -static const uint8_t MOSI = 51; -static const uint8_t MISO = 50; -static const uint8_t SCK = 52; - -static const uint8_t SDA = 20; -static const uint8_t SCL = 21; -static const uint8_t LED_BUILTIN = 13; - -static const uint8_t A0 = 54; -static const uint8_t A1 = 55; -static const uint8_t A2 = 56; -static const uint8_t A3 = 57; -static const uint8_t A4 = 58; -static const uint8_t A5 = 59; -static const uint8_t A6 = 60; -static const uint8_t A7 = 61; -static const uint8_t A8 = 62; -static const uint8_t A9 = 63; -static const uint8_t A10 = 64; -static const uint8_t A11 = 65; -static const uint8_t A12 = 66; -static const uint8_t A13 = 67; -static const uint8_t A14 = 68; -static const uint8_t A15 = 69; - -// A majority of the pins are NOT PCINTs, SO BE WARNED (i.e. you cannot use them as receive pins) -// Only pins available for RECEIVE (TRANSMIT can be on any pin): -// (I've deliberately left out pin mapping to the Hardware USARTs - seems senseless to me) -// Pins: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 - -#define digitalPinToPCICR(p) ( (((p) >= 10) && ((p) <= 13)) || \ - (((p) >= 50) && ((p) <= 53)) || \ - (((p) >= 62) && ((p) <= 69)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? 2 : \ - 0 ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? (&PCMSK0) : \ - ( (((p) >= 62) && ((p) <= 69)) ? (&PCMSK2) : \ - ((uint8_t *)0) ) ) - -#define digitalPinToPCMSKbit(p) ( (((p) >= 10) && ((p) <= 13)) ? ((p) - 6) : \ - ( ((p) == 50) ? 3 : \ - ( ((p) == 51) ? 2 : \ - ( ((p) == 52) ? 1 : \ - ( ((p) == 53) ? 0 : \ - ( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \ - 0 ) ) ) ) ) ) - -#ifdef ARDUINO_MAIN - -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, - (uint16_t) &DDRE, - (uint16_t) &DDRF, - (uint16_t) &DDRG, - (uint16_t) &DDRH, - NOT_A_PORT, - (uint16_t) &DDRJ, - (uint16_t) &DDRK, - (uint16_t) &DDRL, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, - (uint16_t) &PORTE, - (uint16_t) &PORTF, - (uint16_t) &PORTG, - (uint16_t) &PORTH, - NOT_A_PORT, - (uint16_t) &PORTJ, - (uint16_t) &PORTK, - (uint16_t) &PORTL, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PIN, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, - (uint16_t) &PINE, - (uint16_t) &PINF, - (uint16_t) &PING, - (uint16_t) &PINH, - NOT_A_PIN, - (uint16_t) &PINJ, - (uint16_t) &PINK, - (uint16_t) &PINL, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - // PORTLIST - // ------------------------------------------- - PE , // PE 0 ** 0 ** USART0_RX - PE , // PE 1 ** 1 ** USART0_TX - PE , // PE 4 ** 2 ** PWM2 - PE , // PE 5 ** 3 ** PWM3 - PG , // PG 5 ** 4 ** PWM4 - PE , // PE 3 ** 5 ** PWM5 - PH , // PH 3 ** 6 ** PWM6 - PH , // PH 4 ** 7 ** PWM7 - PH , // PH 5 ** 8 ** PWM8 - PH , // PH 6 ** 9 ** PWM9 - PB , // PB 4 ** 10 ** PWM10 - PB , // PB 5 ** 11 ** PWM11 - PB , // PB 6 ** 12 ** PWM12 - PB , // PB 7 ** 13 ** PWM13 - PJ , // PJ 1 ** 14 ** USART3_TX - PJ , // PJ 0 ** 15 ** USART3_RX - PH , // PH 1 ** 16 ** USART2_TX - PH , // PH 0 ** 17 ** USART2_RX - PD , // PD 3 ** 18 ** USART1_TX - PD , // PD 2 ** 19 ** USART1_RX - PD , // PD 1 ** 20 ** I2C_SDA - PD , // PD 0 ** 21 ** I2C_SCL - PA , // PA 0 ** 22 ** D22 - PA , // PA 1 ** 23 ** D23 - PA , // PA 2 ** 24 ** D24 - PA , // PA 3 ** 25 ** D25 - PA , // PA 4 ** 26 ** D26 - PA , // PA 5 ** 27 ** D27 - PA , // PA 6 ** 28 ** D28 - PA , // PA 7 ** 29 ** D29 - PC , // PC 7 ** 30 ** D30 - PC , // PC 6 ** 31 ** D31 - PC , // PC 5 ** 32 ** D32 - PC , // PC 4 ** 33 ** D33 - PC , // PC 3 ** 34 ** D34 - PC , // PC 2 ** 35 ** D35 - PC , // PC 1 ** 36 ** D36 - PC , // PC 0 ** 37 ** D37 - PD , // PD 7 ** 38 ** D38 - PG , // PG 2 ** 39 ** D39 - PG , // PG 1 ** 40 ** D40 - PG , // PG 0 ** 41 ** D41 - PL , // PL 7 ** 42 ** D42 - PL , // PL 6 ** 43 ** D43 - PL , // PL 5 ** 44 ** D44 - PL , // PL 4 ** 45 ** D45 - PL , // PL 3 ** 46 ** D46 - PL , // PL 2 ** 47 ** D47 - PL , // PL 1 ** 48 ** D48 - PL , // PL 0 ** 49 ** D49 - PB , // PB 3 ** 50 ** SPI_MISO - PB , // PB 2 ** 51 ** SPI_MOSI - PB , // PB 1 ** 52 ** SPI_SCK - PB , // PB 0 ** 53 ** SPI_SS - PF , // PF 0 ** 54 ** A0 - PF , // PF 1 ** 55 ** A1 - PF , // PF 2 ** 56 ** A2 - PF , // PF 3 ** 57 ** A3 - PF , // PF 4 ** 58 ** A4 - PF , // PF 5 ** 59 ** A5 - PF , // PF 6 ** 60 ** A6 - PF , // PF 7 ** 61 ** A7 - PK , // PK 0 ** 62 ** A8 - PK , // PK 1 ** 63 ** A9 - PK , // PK 2 ** 64 ** A10 - PK , // PK 3 ** 65 ** A11 - PK , // PK 4 ** 66 ** A12 - PK , // PK 5 ** 67 ** A13 - PK , // PK 6 ** 68 ** A14 - PK , // PK 7 ** 69 ** A15 - PG , // PG 4 ** 70 ** D70 - PG , // PG 3 ** 71 ** D71 - PJ , // PJ 2 ** 72 ** D72 - PJ , // PJ 3 ** 73 ** D73 - PJ , // PJ 7 ** 74 ** D74 - PJ , // PJ 4 ** 75 ** D75 - PJ , // PJ 5 ** 76 ** D76 - PJ , // PJ 6 ** 77 ** D77 - PE , // PE 2 ** 78 ** D78 - PE , // PE 6 ** 79 ** D79 - PE , // PE 7 ** 80 ** D80 - PD , // PD 4 ** 81 ** D81 - PD , // PD 5 ** 82 ** D82 - PD , // PD 6 ** 83 ** D83 - PH , // PH 2 ** 84 ** D84 - PH , // PH 7 ** 85 ** D85 -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - // PIN IN PORT - // ------------------------------------------- - _BV( 0 ) , // PE 0 ** 0 ** USART0_RX - _BV( 1 ) , // PE 1 ** 1 ** USART0_TX - _BV( 4 ) , // PE 4 ** 2 ** PWM2 - _BV( 5 ) , // PE 5 ** 3 ** PWM3 - _BV( 5 ) , // PG 5 ** 4 ** PWM4 - _BV( 3 ) , // PE 3 ** 5 ** PWM5 - _BV( 3 ) , // PH 3 ** 6 ** PWM6 - _BV( 4 ) , // PH 4 ** 7 ** PWM7 - _BV( 5 ) , // PH 5 ** 8 ** PWM8 - _BV( 6 ) , // PH 6 ** 9 ** PWM9 - _BV( 4 ) , // PB 4 ** 10 ** PWM10 - _BV( 5 ) , // PB 5 ** 11 ** PWM11 - _BV( 6 ) , // PB 6 ** 12 ** PWM12 - _BV( 7 ) , // PB 7 ** 13 ** PWM13 - _BV( 1 ) , // PJ 1 ** 14 ** USART3_TX - _BV( 0 ) , // PJ 0 ** 15 ** USART3_RX - _BV( 1 ) , // PH 1 ** 16 ** USART2_TX - _BV( 0 ) , // PH 0 ** 17 ** USART2_RX - _BV( 3 ) , // PD 3 ** 18 ** USART1_TX - _BV( 2 ) , // PD 2 ** 19 ** USART1_RX - _BV( 1 ) , // PD 1 ** 20 ** I2C_SDA - _BV( 0 ) , // PD 0 ** 21 ** I2C_SCL - _BV( 0 ) , // PA 0 ** 22 ** D22 - _BV( 1 ) , // PA 1 ** 23 ** D23 - _BV( 2 ) , // PA 2 ** 24 ** D24 - _BV( 3 ) , // PA 3 ** 25 ** D25 - _BV( 4 ) , // PA 4 ** 26 ** D26 - _BV( 5 ) , // PA 5 ** 27 ** D27 - _BV( 6 ) , // PA 6 ** 28 ** D28 - _BV( 7 ) , // PA 7 ** 29 ** D29 - _BV( 7 ) , // PC 7 ** 30 ** D30 - _BV( 6 ) , // PC 6 ** 31 ** D31 - _BV( 5 ) , // PC 5 ** 32 ** D32 - _BV( 4 ) , // PC 4 ** 33 ** D33 - _BV( 3 ) , // PC 3 ** 34 ** D34 - _BV( 2 ) , // PC 2 ** 35 ** D35 - _BV( 1 ) , // PC 1 ** 36 ** D36 - _BV( 0 ) , // PC 0 ** 37 ** D37 - _BV( 7 ) , // PD 7 ** 38 ** D38 - _BV( 2 ) , // PG 2 ** 39 ** D39 - _BV( 1 ) , // PG 1 ** 40 ** D40 - _BV( 0 ) , // PG 0 ** 41 ** D41 - _BV( 7 ) , // PL 7 ** 42 ** D42 - _BV( 6 ) , // PL 6 ** 43 ** D43 - _BV( 5 ) , // PL 5 ** 44 ** D44 - _BV( 4 ) , // PL 4 ** 45 ** D45 - _BV( 3 ) , // PL 3 ** 46 ** D46 - _BV( 2 ) , // PL 2 ** 47 ** D47 - _BV( 1 ) , // PL 1 ** 48 ** D48 - _BV( 0 ) , // PL 0 ** 49 ** D49 - _BV( 3 ) , // PB 3 ** 50 ** SPI_MISO - _BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI - _BV( 1 ) , // PB 1 ** 52 ** SPI_SCK - _BV( 0 ) , // PB 0 ** 53 ** SPI_SS - _BV( 0 ) , // PF 0 ** 54 ** A0 - _BV( 1 ) , // PF 1 ** 55 ** A1 - _BV( 2 ) , // PF 2 ** 56 ** A2 - _BV( 3 ) , // PF 3 ** 57 ** A3 - _BV( 4 ) , // PF 4 ** 58 ** A4 - _BV( 5 ) , // PF 5 ** 59 ** A5 - _BV( 6 ) , // PF 6 ** 60 ** A6 - _BV( 7 ) , // PF 7 ** 61 ** A7 - _BV( 0 ) , // PK 0 ** 62 ** A8 - _BV( 1 ) , // PK 1 ** 63 ** A9 - _BV( 2 ) , // PK 2 ** 64 ** A10 - _BV( 3 ) , // PK 3 ** 65 ** A11 - _BV( 4 ) , // PK 4 ** 66 ** A12 - _BV( 5 ) , // PK 5 ** 67 ** A13 - _BV( 6 ) , // PK 6 ** 68 ** A14 - _BV( 7 ) , // PK 7 ** 69 ** A15 - _BV( 4 ) , // PG 4 ** 70 ** D70 - _BV( 3 ) , // PG 3 ** 71 ** D71 - _BV( 2 ) , // PJ 2 ** 72 ** D72 - _BV( 3 ) , // PJ 3 ** 73 ** D73 - _BV( 7 ) , // PJ 7 ** 74 ** D74 - _BV( 4 ) , // PJ 4 ** 75 ** D75 - _BV( 5 ) , // PJ 5 ** 76 ** D76 - _BV( 6 ) , // PJ 6 ** 77 ** D77 - _BV( 2 ) , // PE 2 ** 78 ** D78 - _BV( 6 ) , // PE 6 ** 79 ** D79 - _BV( 7 ) , // PE 7 ** 80 ** D80 - _BV( 4 ) , // PD 4 ** 81 ** D81 - _BV( 5 ) , // PD 5 ** 82 ** D82 - _BV( 6 ) , // PD 6 ** 83 ** D83 - _BV( 2 ) , // PH 2 ** 84 ** D84 - _BV( 7 ) , // PH 7 ** 85 ** D85 -}; - -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - // TIMERS - // ------------------------------------------- - NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RX - NOT_ON_TIMER , // PE 1 ** 1 ** USART0_TX - TIMER3B , // PE 4 ** 2 ** PWM2 - TIMER3C , // PE 5 ** 3 ** PWM3 - TIMER0B , // PG 5 ** 4 ** PWM4 - TIMER3A , // PE 3 ** 5 ** PWM5 - TIMER4A , // PH 3 ** 6 ** PWM6 - TIMER4B , // PH 4 ** 7 ** PWM7 - TIMER4C , // PH 5 ** 8 ** PWM8 - TIMER2B , // PH 6 ** 9 ** PWM9 - TIMER2A , // PB 4 ** 10 ** PWM10 - TIMER1A , // PB 5 ** 11 ** PWM11 - TIMER1B , // PB 6 ** 12 ** PWM12 - TIMER0A , // PB 7 ** 13 ** PWM13 - NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TX - NOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RX - NOT_ON_TIMER , // PH 1 ** 16 ** USART2_TX - NOT_ON_TIMER , // PH 0 ** 17 ** USART2_RX - NOT_ON_TIMER , // PD 3 ** 18 ** USART1_TX - NOT_ON_TIMER , // PD 2 ** 19 ** USART1_RX - NOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDA - NOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCL - NOT_ON_TIMER , // PA 0 ** 22 ** D22 - NOT_ON_TIMER , // PA 1 ** 23 ** D23 - NOT_ON_TIMER , // PA 2 ** 24 ** D24 - NOT_ON_TIMER , // PA 3 ** 25 ** D25 - NOT_ON_TIMER , // PA 4 ** 26 ** D26 - NOT_ON_TIMER , // PA 5 ** 27 ** D27 - NOT_ON_TIMER , // PA 6 ** 28 ** D28 - NOT_ON_TIMER , // PA 7 ** 29 ** D29 - NOT_ON_TIMER , // PC 7 ** 30 ** D30 - NOT_ON_TIMER , // PC 6 ** 31 ** D31 - NOT_ON_TIMER , // PC 5 ** 32 ** D32 - NOT_ON_TIMER , // PC 4 ** 33 ** D33 - NOT_ON_TIMER , // PC 3 ** 34 ** D34 - NOT_ON_TIMER , // PC 2 ** 35 ** D35 - NOT_ON_TIMER , // PC 1 ** 36 ** D36 - NOT_ON_TIMER , // PC 0 ** 37 ** D37 - NOT_ON_TIMER , // PD 7 ** 38 ** D38 - NOT_ON_TIMER , // PG 2 ** 39 ** D39 - NOT_ON_TIMER , // PG 1 ** 40 ** D40 - NOT_ON_TIMER , // PG 0 ** 41 ** D41 - NOT_ON_TIMER , // PL 7 ** 42 ** D42 - NOT_ON_TIMER , // PL 6 ** 43 ** D43 - TIMER5C , // PL 5 ** 44 ** D44 - TIMER5B , // PL 4 ** 45 ** D45 - TIMER5A , // PL 3 ** 46 ** D46 - NOT_ON_TIMER , // PL 2 ** 47 ** D47 - NOT_ON_TIMER , // PL 1 ** 48 ** D48 - NOT_ON_TIMER , // PL 0 ** 49 ** D49 - NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISO - NOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSI - NOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCK - NOT_ON_TIMER , // PB 0 ** 53 ** SPI_SS - NOT_ON_TIMER , // PF 0 ** 54 ** A0 - NOT_ON_TIMER , // PF 1 ** 55 ** A1 - NOT_ON_TIMER , // PF 2 ** 56 ** A2 - NOT_ON_TIMER , // PF 3 ** 57 ** A3 - NOT_ON_TIMER , // PF 4 ** 58 ** A4 - NOT_ON_TIMER , // PF 5 ** 59 ** A5 - NOT_ON_TIMER , // PF 6 ** 60 ** A6 - NOT_ON_TIMER , // PF 7 ** 61 ** A7 - NOT_ON_TIMER , // PK 0 ** 62 ** A8 - NOT_ON_TIMER , // PK 1 ** 63 ** A9 - NOT_ON_TIMER , // PK 2 ** 64 ** A10 - NOT_ON_TIMER , // PK 3 ** 65 ** A11 - NOT_ON_TIMER , // PK 4 ** 66 ** A12 - NOT_ON_TIMER , // PK 5 ** 67 ** A13 - NOT_ON_TIMER , // PK 6 ** 68 ** A14 - NOT_ON_TIMER , // PK 7 ** 69 ** A15 - NOT_ON_TIMER , // PG 4 ** 70 ** D70 - NOT_ON_TIMER , // PG 3 ** 71 ** D71 - NOT_ON_TIMER , // PJ 2 ** 72 ** D72 - NOT_ON_TIMER , // PJ 3 ** 73 ** D73 - NOT_ON_TIMER , // PJ 7 ** 74 ** D74 - NOT_ON_TIMER , // PJ 4 ** 75 ** D75 - NOT_ON_TIMER , // PJ 5 ** 76 ** D76 - NOT_ON_TIMER , // PJ 6 ** 77 ** D77 - NOT_ON_TIMER , // PE 2 ** 78 ** D78 - NOT_ON_TIMER , // PE 6 ** 79 ** D79 - NOT_ON_TIMER , // PE 7 ** 80 ** D80 - NOT_ON_TIMER , // PD 4 ** 81 ** D81 - NOT_ON_TIMER , // PD 5 ** 82 ** D82 - NOT_ON_TIMER , // PD 6 ** 83 ** D83 - NOT_ON_TIMER , // PH 2 ** 84 ** D84 - NOT_ON_TIMER , // PH 7 ** 85 ** D85 -}; - -#endif - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h deleted file mode 100644 index 499952dc9..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/sanguino/pins_arduino.h +++ /dev/null @@ -1,285 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ - - Changelog - ----------- - 11/25/11 - ryan@ryanmsutton.com - Add pins for Sanguino 644P and 1284P - 07/15/12 - ryan@ryanmsutton.com - Updated for arduino0101 -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER5A 14 -#define TIMER5B 15 -#define TIMER5C 16 - -const static uint8_t SS = 4; -const static uint8_t MOSI = 5; -const static uint8_t MISO = 6; -const static uint8_t SCK = 7; - -static const uint8_t SDA = 17; -static const uint8_t SCL = 16; -static const uint8_t LED_BUILTIN = 13; - -static const uint8_t A0 = 31; -static const uint8_t A1 = 30; -static const uint8_t A2 = 29; -static const uint8_t A3 = 28; -static const uint8_t A4 = 27; -static const uint8_t A5 = 26; -static const uint8_t A6 = 25; -static const uint8_t A7 = 24; - -// On the ATmega1280, the addresses of some of the port registers are -// greater than 255, so we can't store them in uint8_t's. -// extern const uint16_t PROGMEM port_to_mode_PGM[]; -// extern const uint16_t PROGMEM port_to_input_PGM[]; -// extern const uint16_t PROGMEM port_to_output_PGM[]; - -// extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; -// extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// ATMEL ATMEGA644P / SANGUINO -// -// +---\/---+ -// INT0 (D 0) PB0 1| |40 PA0 (AI 0 / D31) -// INT1 (D 1) PB1 2| |39 PA1 (AI 1 / D30) -// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29) -// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28) -// PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27) -// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26) -// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25) -// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24) -// RST 9| |32 AREF -// VCC 10| |31 GND -// GND 11| |30 AVCC -// XTAL2 12| |29 PC7 (D 23) -// XTAL1 13| |28 PC6 (D 22) -// RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI -// TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO -// RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS -// TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK -// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA -// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL -// PWM (D 14) PD6 20| |21 PD7 (D 15) PWM -// +--------+ -// -#define NUM_DIGITAL_PINS 24 -#define NUM_ANALOG_INPUTS 8 -#define analogInputToDigitalPin(p) ((p < 7) ? (p) + 24 : -1) - -#define digitalPinHasPWM(p) ((p) == 3 || (p) == 4 || (p) == 12 || (p) == 13 || (p) == 14 || (p) == 15 ) - -#define digitalPinToPCICR(p) ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) ) - -#define digitalPinToPCICRbit(p) ( (((p) >= 24) && ((p) <= 31)) ? 0 : \ - ( (((p) >= 0) && ((p) <= 7)) ? 1 : \ - ( (((p) >= 16) && ((p) <= 23)) ? 2 : \ - ( (((p) >= 8) && ((p) <= 15)) ? 3 : \ - 0 ) ) ) ) - -#define digitalPinToPCMSK(p) ( (((p) >= 24) && ((p) <= 31)) ? (&PCMSK0) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (&PCMSK1) : \ - ( (((p) >= 16) && ((p) <= 23)) ? (&PCMSK2) : \ - ( (((p) >= 8) && ((p) <= 15)) ? (&PCMSK3) : \ - ((uint8_t *)0) ) ) ) ) - - -#define digitalPinToPCMSKbit(p) ( (((p) >= 24) && ((p) <= 31)) ? (31 - (p)) : \ - ( (((p) >= 0) && ((p) <= 7)) ? (p) : \ - ( (((p) >= 16) && ((p) <= 23)) ? ((p) - 16) : \ - ( (((p) >= 8) && ((p) <= 15)) ? ((p) - 8) : \ - 0 ) ) ) ) - -#define PA 1 -#define PB 2 -#define PC 3 -#define PD 4 -#define PE 5 -#define PF 6 -#define PG 7 -#define PH 8 -#define PJ 10 -#define PK 11 -#define PL 12 - -#ifdef ARDUINO_MAIN -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -const uint16_t PROGMEM port_to_mode_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &DDRA, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PORTA, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, -}; -const uint16_t PROGMEM port_to_input_PGM[] = -{ - NOT_A_PORT, - (uint16_t) &PINA, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, -}; -const uint8_t PROGMEM digital_pin_to_port_PGM[] = -{ - PB, /* 0 */ - PB, - PB, - PB, - PB, - PB, - PB, - PB, - PD, /* 8 */ - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PC, /* 16 */ - PC, - PC, - PC, - PC, - PC, - PC, - PC, - PA, /* 24 */ - PA, - PA, - PA, - PA, - PA, - PA, - PA /* 31 */ -}; -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = -{ - _BV(0), /* 0, port B */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 8, port D */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 16, port C */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(7), /* 24, port A */ - _BV(6), - _BV(5), - _BV(4), - _BV(3), - _BV(2), - _BV(1), - _BV(0) -}; -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = -{ - NOT_ON_TIMER, /* 0 - PB0 */ - NOT_ON_TIMER, /* 1 - PB1 */ - NOT_ON_TIMER, /* 2 - PB2 */ - TIMER0A, /* 3 - PB3 */ - TIMER0B, /* 4 - PB4 */ - NOT_ON_TIMER, /* 5 - PB5 */ - NOT_ON_TIMER, /* 6 - PB6 */ - NOT_ON_TIMER, /* 7 - PB7 */ - NOT_ON_TIMER, /* 8 - PD0 */ - NOT_ON_TIMER, /* 9 - PD1 */ - NOT_ON_TIMER, /* 10 - PD2 */ - NOT_ON_TIMER, /* 11 - PD3 */ - TIMER1B, /* 12 - PD4 */ - TIMER1A, /* 13 - PD5 */ - TIMER2B, /* 14 - PD6 */ - TIMER2A, /* 15 - PD7 */ - NOT_ON_TIMER, /* 16 - PC0 */ - NOT_ON_TIMER, /* 17 - PC1 */ - NOT_ON_TIMER, /* 18 - PC2 */ - NOT_ON_TIMER, /* 19 - PC3 */ - NOT_ON_TIMER, /* 20 - PC4 */ - NOT_ON_TIMER, /* 21 - PC5 */ - NOT_ON_TIMER, /* 22 - PC6 */ - NOT_ON_TIMER, /* 23 - PC7 */ - NOT_ON_TIMER, /* 24 - PA0 */ - NOT_ON_TIMER, /* 25 - PA1 */ - NOT_ON_TIMER, /* 26 - PA2 */ - NOT_ON_TIMER, /* 27 - PA3 */ - NOT_ON_TIMER, /* 28 - PA4 */ - NOT_ON_TIMER, /* 29 - PA5 */ - NOT_ON_TIMER, /* 30 - PA6 */ - NOT_ON_TIMER /* 31 - PA7 */ -}; -#endif -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/standard/pins_arduino.h b/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/standard/pins_arduino.h deleted file mode 100644 index 3d4a9f6c7..000000000 --- a/ArduinoAddons/Arduino_1.6.x/hardware/marlin/avr/variants/standard/pins_arduino.h +++ /dev/null @@ -1,238 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NUM_DIGITAL_PINS 20 -#define NUM_ANALOG_INPUTS 6 -#define analogInputToDigitalPin(p) ((p < 6) ? (p) + 14 : -1) - -#if defined(__AVR_ATmega8__) -#define digitalPinHasPWM(p) ((p) == 9 || (p) == 10 || (p) == 11) -#else -#define digitalPinHasPWM(p) ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11) -#endif - -static const uint8_t SS = 10; -static const uint8_t MOSI = 11; -static const uint8_t MISO = 12; -static const uint8_t SCK = 13; - -static const uint8_t SDA = 18; -static const uint8_t SCL = 19; -#define LED_BUILTIN 13 - -static const uint8_t A0 = 14; -static const uint8_t A1 = 15; -static const uint8_t A2 = 16; -static const uint8_t A3 = 17; -static const uint8_t A4 = 18; -static const uint8_t A5 = 19; -static const uint8_t A6 = 20; -static const uint8_t A7 = 21; - -#define digitalPinToPCICR(p) (((p) >= 0 && (p) <= 21) ? (&PCICR) : ((uint8_t *)0)) -#define digitalPinToPCICRbit(p) (((p) <= 7) ? 2 : (((p) <= 13) ? 0 : 1)) -#define digitalPinToPCMSK(p) (((p) <= 7) ? (&PCMSK2) : (((p) <= 13) ? (&PCMSK0) : (((p) <= 21) ? (&PCMSK1) : ((uint8_t *)0)))) -#define digitalPinToPCMSKbit(p) (((p) <= 7) ? (p) : (((p) <= 13) ? ((p) - 8) : ((p) - 14))) - -#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : NOT_AN_INTERRUPT)) - -#ifdef ARDUINO_MAIN - -// On the Arduino board, digital pins are also used -// for the analog output (software PWM). Analog input -// pins are a separate set. - -// ATMEL ATMEGA8 & 168 / ARDUINO -// -// +-\/-+ -// PC6 1| |28 PC5 (AI 5) -// (D 0) PD0 2| |27 PC4 (AI 4) -// (D 1) PD1 3| |26 PC3 (AI 3) -// (D 2) PD2 4| |25 PC2 (AI 2) -// PWM+ (D 3) PD3 5| |24 PC1 (AI 1) -// (D 4) PD4 6| |23 PC0 (AI 0) -// VCC 7| |22 GND -// GND 8| |21 AREF -// PB6 9| |20 AVCC -// PB7 10| |19 PB5 (D 13) -// PWM+ (D 5) PD5 11| |18 PB4 (D 12) -// PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM -// (D 7) PD7 13| |16 PB2 (D 10) PWM -// (D 8) PB0 14| |15 PB1 (D 9) PWM -// +----+ -// -// (PWM+ indicates the additional PWM pins on the ATmega168.) - -// ATMEL ATMEGA1280 / ARDUINO -// -// 0-7 PE0-PE7 works -// 8-13 PB0-PB5 works -// 14-21 PA0-PA7 works -// 22-29 PH0-PH7 works -// 30-35 PG5-PG0 works -// 36-43 PC7-PC0 works -// 44-51 PJ7-PJ0 works -// 52-59 PL7-PL0 works -// 60-67 PD7-PD0 works -// A0-A7 PF0-PF7 -// A8-A15 PK0-PK7 - - -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -const uint16_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - NOT_A_PORT, - (uint16_t) &DDRB, - (uint16_t) &DDRC, - (uint16_t) &DDRD, -}; - -const uint16_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - NOT_A_PORT, - (uint16_t) &PORTB, - (uint16_t) &PORTC, - (uint16_t) &PORTD, -}; - -const uint16_t PROGMEM port_to_input_PGM[] = { - NOT_A_PORT, - NOT_A_PORT, - (uint16_t) &PINB, - (uint16_t) &PINC, - (uint16_t) &PIND, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - PD, /* 0 */ - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PB, /* 8 */ - PB, - PB, - PB, - PB, - PB, - PC, /* 14 */ - PC, - PC, - PC, - PC, - PC, -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - _BV(0), /* 0, port D */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 8, port B */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(0), /* 14, port C */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), -}; - -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - NOT_ON_TIMER, /* 0 - port D */ - NOT_ON_TIMER, - NOT_ON_TIMER, - // on the ATmega168, digital pin 3 has hardware pwm -#if defined(__AVR_ATmega8__) - NOT_ON_TIMER, -#else - TIMER2B, -#endif - NOT_ON_TIMER, - // on the ATmega168, digital pins 5 and 6 have hardware pwm -#if defined(__AVR_ATmega8__) - NOT_ON_TIMER, - NOT_ON_TIMER, -#else - TIMER0B, - TIMER0A, -#endif - NOT_ON_TIMER, - NOT_ON_TIMER, /* 8 - port B */ - TIMER1A, - TIMER1B, -#if defined(__AVR_ATmega8__) - TIMER2, -#else - TIMER2A, -#endif - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, /* 14 - port C */ - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, -}; - -#endif - -// These serial port names are intended to allow libraries and architecture-neutral -// sketches to automatically default to the correct port name for a particular type -// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, -// the first hardware serial port whose RX/TX pins are not dedicated to another use. -// -// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor -// -// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial -// -// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library -// -// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. -// -// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX -// pins are NOT connected to anything by default. -#define SERIAL_PORT_MONITOR Serial -#define SERIAL_PORT_HARDWARE Serial - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.cpp b/ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.cpp deleted file mode 100644 index 8278c19ae..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.cpp +++ /dev/null @@ -1,723 +0,0 @@ -//////////////////////////////////////////////////////////// -//ORIGINAL CODE 12/12/2011- Mike Hord, SparkFun Electronics -//LIBRARY Created by Adam Meyer of bildr Aug 18th 2012 -//Released as MIT license -//////////////////////////////////////////////////////////// - -#include -#include "L6470.h" -#include - -#define ENABLE_RESET_PIN 0 -#define K_VALUE 100 - -L6470::L6470(int SSPin){ - _SSPin = SSPin; - // Serial.begin(9600); -} - -void L6470::init(int k_value){ - // This is the generic initialization function to set up the Arduino to - // communicate with the dSPIN chip. - - // set up the input/output pins for the application. - pinMode(SLAVE_SELECT_PIN, OUTPUT); // The SPI peripheral REQUIRES the hardware SS pin- - // pin 10- to be an output. This is in here just - // in case some future user makes something other - // than pin 10 the SS pin. - - pinMode(_SSPin, OUTPUT); - digitalWrite(_SSPin, HIGH); - pinMode(MOSI, OUTPUT); - pinMode(MISO, INPUT); - pinMode(SCK, OUTPUT); - pinMode(BUSYN, INPUT); -#if (ENABLE_RESET_PIN == 1) - pinMode(RESET, OUTPUT); - // reset the dSPIN chip. This could also be accomplished by - // calling the "L6470::ResetDev()" function after SPI is initialized. - digitalWrite(RESET, HIGH); - delay(10); - digitalWrite(RESET, LOW); - delay(10); - digitalWrite(RESET, HIGH); - delay(10); -#endif - - - // initialize SPI for the dSPIN chip's needs: - // most significant bit first, - // SPI clock not to exceed 5MHz, - // SPI_MODE3 (clock idle high, latch data on rising edge of clock) - SPI.begin(); - SPI.setBitOrder(MSBFIRST); - SPI.setClockDivider(SPI_CLOCK_DIV16); // or 2, 8, 16, 32, 64 - SPI.setDataMode(SPI_MODE3); - - // First things first: let's check communications. The CONFIG register should - // power up to 0x2E88, so we can use that to check the communications. - if (GetParam(CONFIG) == 0x2E88){ - //Serial.println('good to go'); - } - else{ - //Serial.println('Comm issue'); - } - -#if (ENABLE_RESET_PIN == 0) - resetDev(); -#endif - // First, let's set the step mode register: - // - SYNC_EN controls whether the BUSY/SYNC pin reflects the step - // frequency or the BUSY status of the chip. We want it to be the BUSY - // status. - // - STEP_SEL_x is the microstepping rate- we'll go full step. - // - SYNC_SEL_x is the ratio of (micro)steps to toggles on the - // BUSY/SYNC pin (when that pin is used for SYNC). Make it 1:1, despite - // not using that pin. - //SetParam(STEP_MODE, !SYNC_EN | STEP_SEL_1 | SYNC_SEL_1); - - - SetParam(KVAL_RUN, k_value); - SetParam(KVAL_ACC, k_value); - SetParam(KVAL_DEC, k_value); - SetParam(KVAL_HOLD, k_value); - - // Set up the CONFIG register as follows: - // PWM frequency divisor = 1 - // PWM frequency multiplier = 2 (62.5kHz PWM frequency) - // Slew rate is 290V/us - // Do NOT shut down bridges on overcurrent - // Disable motor voltage compensation - // Hard stop on switch low - // 16MHz internal oscillator, nothing on output - SetParam(CONFIG, CONFIG_PWM_DIV_1 | CONFIG_PWM_MUL_2 | CONFIG_SR_290V_us| CONFIG_OC_SD_DISABLE | CONFIG_VS_COMP_DISABLE | CONFIG_SW_HARD_STOP | CONFIG_INT_16MHZ); - // Configure the RUN KVAL. This defines the duty cycle of the PWM of the bridges - // during running. 0xFF means that they are essentially NOT PWMed during run; this - // MAY result in more power being dissipated than you actually need for the task. - // Setting this value too low may result in failure to turn. - // There are ACC, DEC, and HOLD KVAL registers as well; you may need to play with - // those values to get acceptable performance for a given application. - //SetParam(KVAL_RUN, 0xFF); - // Calling GetStatus() clears the UVLO bit in the status register, which is set by - // default on power-up. The driver may not run without that bit cleared by this - // read operation. - getStatus(); - - hardStop(); //engage motors -} - -boolean L6470::isBusy(){ - int status = getStatus(); - return !((status >> 1) & 0b1); -} - -void L6470::setMicroSteps(int microSteps){ - byte stepVal = 0; - - for(stepVal = 0; stepVal < 8; stepVal++){ - if(microSteps == 1) break; - microSteps = microSteps >> 1; - } - - SetParam(STEP_MODE, !SYNC_EN | stepVal | SYNC_SEL_1); -} - -void L6470::setThresholdSpeed(float thresholdSpeed){ - // Configure the FS_SPD register- this is the speed at which the driver ceases - // microstepping and goes to full stepping. FSCalc() converts a value in steps/s - // to a value suitable for this register; to disable full-step switching, you - // can pass 0x3FF to this register. - - if(thresholdSpeed == 0.0){ - SetParam(FS_SPD, 0x3FF); - } - else{ - SetParam(FS_SPD, FSCalc(thresholdSpeed)); - } -} - - -void L6470::setCurrent(int current){} - - - -void L6470::setMaxSpeed(int speed){ - // Configure the MAX_SPEED register- this is the maximum number of (micro)steps per - // second allowed. You'll want to mess around with your desired application to see - // how far you can push it before the motor starts to slip. The ACTUAL parameter - // passed to this function is in steps/tick; MaxSpdCalc() will convert a number of - // steps/s into an appropriate value for this function. Note that for any move or - // goto type function where no speed is specified, this value will be used. - SetParam(MAX_SPEED, MaxSpdCalc(speed)); -} - - -void L6470::setMinSpeed(int speed){ - // Configure the MAX_SPEED register- this is the maximum number of (micro)steps per - // second allowed. You'll want to mess around with your desired application to see - // how far you can push it before the motor starts to slip. The ACTUAL parameter - // passed to this function is in steps/tick; MaxSpdCalc() will convert a number of - // steps/s into an appropriate value for this function. Note that for any move or - // goto type function where no speed is specified, this value will be used. - SetParam(MIN_SPEED, MinSpdCalc(speed)); -} - - - - -void L6470::setAcc(float acceleration){ - // Configure the acceleration rate, in steps/tick/tick. There is also a DEC register; - // both of them have a function (AccCalc() and DecCalc() respectively) that convert - // from steps/s/s into the appropriate value for the register. Writing ACC to 0xfff - // sets the acceleration and deceleration to 'infinite' (or as near as the driver can - // manage). If ACC is set to 0xfff, DEC is ignored. To get infinite deceleration - // without infinite acceleration, only hard stop will work. - unsigned long accelerationBYTES = AccCalc(acceleration); - SetParam(ACC, accelerationBYTES); -} - - -void L6470::setDec(float deceleration){ - unsigned long decelerationBYTES = DecCalc(deceleration); - SetParam(DEC, decelerationBYTES); -} - - -long L6470::getPos(){ - unsigned long position = GetParam(ABS_POS); - return convert(position); -} - -float L6470::getSpeed(){ - /* - SPEED - The SPEED register contains the current motor speed, expressed in step/tick (format unsigned fixed point 0.28). - In order to convert the SPEED value in step/s the following formula can be used: - Equation 4 - where SPEED is the integer number stored into the register and tick is 250 ns. - The available range is from 0 to 15625 step/s with a resolution of 0.015 step/s. - Note: The range effectively available to the user is limited by the MAX_SPEED parameter. - */ - - return (float) GetParam(SPEED); - //return (float) speed * pow(8, -22); - //return FSCalc(speed); NEEDS FIX -} - - -void L6470::setOverCurrent(unsigned int ma_current){ - // Configure the overcurrent detection threshold. - byte OCValue = floor(ma_current / 375); - if(OCValue > 0x0F)OCValue = 0x0F; - SetParam(OCD_TH, OCValue); -} - -void L6470::setStallCurrent(float ma_current){ - byte STHValue = (byte)floor(ma_current / 31.25); - if(STHValue > 0x80)STHValue = 0x80; - if(STHValue < 0)STHValue = 0; - SetParam(STALL_TH, STHValue); -} - -void L6470::SetLowSpeedOpt(boolean enable){ - // Enable or disable the low-speed optimization option. If enabling, - // the other 12 bits of the register will be automatically zero. - // When disabling, the value will have to be explicitly written by - // the user with a SetParam() call. See the datasheet for further - // information about low-speed optimization. - Xfer(SET_PARAM | MIN_SPEED); - if (enable) Param(0x1000, 13); - else Param(0, 13); -} - - -void L6470::run(byte dir, float spd){ - // RUN sets the motor spinning in a direction (defined by the constants - // FWD and REV). Maximum speed and minimum speed are defined - // by the MAX_SPEED and MIN_SPEED registers; exceeding the FS_SPD value - // will switch the device into full-step mode. - // The SpdCalc() function is provided to convert steps/s values into - // appropriate integer values for this function. - unsigned long speedVal = SpdCalc(spd); - - Xfer(RUN | dir); - if (speedVal > 0xFFFFF) speedVal = 0xFFFFF; - Xfer((byte)(speedVal >> 16)); - Xfer((byte)(speedVal >> 8)); - Xfer((byte)(speedVal)); -} - - -void L6470::Step_Clock(byte dir){ - // STEP_CLOCK puts the device in external step clocking mode. When active, - // pin 25, STCK, becomes the step clock for the device, and steps it in - // the direction (set by the FWD and REV constants) imposed by the call - // of this function. Motion commands (RUN, MOVE, etc) will cause the device - // to exit step clocking mode. - Xfer(STEP_CLOCK | dir); -} - -void L6470::move(long n_step){ - // MOVE will send the motor n_step steps (size based on step mode) in the - // direction imposed by dir (FWD or REV constants may be used). The motor - // will accelerate according the acceleration and deceleration curves, and - // will run at MAX_SPEED. Stepping mode will adhere to FS_SPD value, as well. - - byte dir; - - if(n_step >= 0){ - dir = FWD; - } - else{ - dir = REV; - } - - long n_stepABS = abs(n_step); - - Xfer(MOVE | dir); //set direction - if (n_stepABS > 0x3FFFFF) n_step = 0x3FFFFF; - Xfer((byte)(n_stepABS >> 16)); - Xfer((byte)(n_stepABS >> 8)); - Xfer((byte)(n_stepABS)); -} - -void L6470::goTo(long pos){ - // GOTO operates much like MOVE, except it produces absolute motion instead - // of relative motion. The motor will be moved to the indicated position - // in the shortest possible fashion. - - Xfer(GOTO); - if (pos > 0x3FFFFF) pos = 0x3FFFFF; - Xfer((byte)(pos >> 16)); - Xfer((byte)(pos >> 8)); - Xfer((byte)(pos)); -} - - -void L6470::goTo_DIR(byte dir, long pos){ - // Same as GOTO, but with user constrained rotational direction. - - Xfer(GOTO_DIR); - if (pos > 0x3FFFFF) pos = 0x3FFFFF; - Xfer((byte)(pos >> 16)); - Xfer((byte)(pos >> 8)); - Xfer((byte)(pos)); -} - -void L6470::goUntil(byte act, byte dir, unsigned long spd){ - // GoUntil will set the motor running with direction dir (REV or - // FWD) until a falling edge is detected on the SW pin. Depending - // on bit SW_MODE in CONFIG, either a hard stop or a soft stop is - // performed at the falling edge, and depending on the value of - // act (either RESET or COPY) the value in the ABS_POS register is - // either RESET to 0 or COPY-ed into the MARK register. - Xfer(GO_UNTIL | act | dir); - if (spd > 0x3FFFFF) spd = 0x3FFFFF; - Xfer((byte)(spd >> 16)); - Xfer((byte)(spd >> 8)); - Xfer((byte)(spd)); -} - -void L6470::releaseSW(byte act, byte dir){ - // Similar in nature to GoUntil, ReleaseSW produces motion at the - // higher of two speeds: the value in MIN_SPEED or 5 steps/s. - // The motor continues to run at this speed until a rising edge - // is detected on the switch input, then a hard stop is performed - // and the ABS_POS register is either COPY-ed into MARK or RESET to - // 0, depending on whether RESET or COPY was passed to the function - // for act. - Xfer(RELEASE_SW | act | dir); -} - -void L6470::goHome(){ - // GoHome is equivalent to GoTo(0), but requires less time to send. - // Note that no direction is provided; motion occurs through shortest - // path. If a direction is required, use GoTo_DIR(). - Xfer(GO_HOME); -} - -void L6470::goMark(){ - // GoMark is equivalent to GoTo(MARK), but requires less time to send. - // Note that no direction is provided; motion occurs through shortest - // path. If a direction is required, use GoTo_DIR(). - Xfer(GO_MARK); -} - - -void L6470::setMark(long value){ - - Xfer(MARK); - if (value > 0x3FFFFF) value = 0x3FFFFF; - if (value < -0x3FFFFF) value = -0x3FFFFF; - - - Xfer((byte)(value >> 16)); - Xfer((byte)(value >> 8)); - Xfer((byte)(value)); -} - - -void L6470::setMark(){ - long value = getPos(); - - Xfer(MARK); - if (value > 0x3FFFFF) value = 0x3FFFFF; - if (value < -0x3FFFFF) value = -0x3FFFFF; - - - Xfer((byte)(value >> 16)); - Xfer((byte)(value >> 8)); - Xfer((byte)(value)); -} - -void L6470::setAsHome(){ - // Sets the ABS_POS register to 0, effectively declaring the current - // position to be "HOME". - Xfer(RESET_POS); -} - -void L6470::resetDev(){ - // Reset device to power up conditions. Equivalent to toggling the STBY - // pin or cycling power. - Xfer(RESET_DEVICE); -} - -void L6470::softStop(){ - // Bring the motor to a halt using the deceleration curve. - Xfer(SOFT_STOP); -} - -void L6470::hardStop(){ - // Stop the motor right away. No deceleration. - Xfer(HARD_STOP); -} - -void L6470::softFree(){ - // Decelerate the motor and disengage - Xfer(SOFT_HIZ); -} - -void L6470::free(){ - // disengage the motor immediately with no deceleration. - Xfer(HARD_HIZ); -} - -int L6470::getStatus(){ - // Fetch and return the 16-bit value in the STATUS register. Resets - // any warning flags and exits any error states. Using GetParam() - // to read STATUS does not clear these values. - int temp = 0; - Xfer(GET_STATUS); - temp = Xfer(0)<<8; - temp |= Xfer(0); - return temp; -} - -unsigned long L6470::AccCalc(float stepsPerSecPerSec){ - // The value in the ACC register is [(steps/s/s)*(tick^2)]/(2^-40) where tick is - // 250ns (datasheet value)- 0x08A on boot. - // Multiply desired steps/s/s by .137438 to get an appropriate value for this register. - // This is a 12-bit value, so we need to make sure the value is at or below 0xFFF. - float temp = stepsPerSecPerSec * 0.137438; - if( (unsigned long) long(temp) > 0x00000FFF) return 0x00000FFF; - else return (unsigned long) long(temp); -} - - -unsigned long L6470::DecCalc(float stepsPerSecPerSec){ - // The calculation for DEC is the same as for ACC. Value is 0x08A on boot. - // This is a 12-bit value, so we need to make sure the value is at or below 0xFFF. - float temp = stepsPerSecPerSec * 0.137438; - if( (unsigned long) long(temp) > 0x00000FFF) return 0x00000FFF; - else return (unsigned long) long(temp); -} - -unsigned long L6470::MaxSpdCalc(float stepsPerSec){ - // The value in the MAX_SPD register is [(steps/s)*(tick)]/(2^-18) where tick is - // 250ns (datasheet value)- 0x041 on boot. - // Multiply desired steps/s by .065536 to get an appropriate value for this register - // This is a 10-bit value, so we need to make sure it remains at or below 0x3FF - float temp = stepsPerSec * .065536; - if( (unsigned long) long(temp) > 0x000003FF) return 0x000003FF; - else return (unsigned long) long(temp); -} - -unsigned long L6470::MinSpdCalc(float stepsPerSec){ - // The value in the MIN_SPD register is [(steps/s)*(tick)]/(2^-24) where tick is - // 250ns (datasheet value)- 0x000 on boot. - // Multiply desired steps/s by 4.1943 to get an appropriate value for this register - // This is a 12-bit value, so we need to make sure the value is at or below 0xFFF. - float temp = stepsPerSec * 4.1943; - if( (unsigned long) long(temp) > 0x00000FFF) return 0x00000FFF; - else return (unsigned long) long(temp); -} - -unsigned long L6470::FSCalc(float stepsPerSec){ - // The value in the FS_SPD register is ([(steps/s)*(tick)]/(2^-18))-0.5 where tick is - // 250ns (datasheet value)- 0x027 on boot. - // Multiply desired steps/s by .065536 and subtract .5 to get an appropriate value for this register - // This is a 10-bit value, so we need to make sure the value is at or below 0x3FF. - float temp = (stepsPerSec * .065536)-.5; - if( (unsigned long) long(temp) > 0x000003FF) return 0x000003FF; - else return (unsigned long) long(temp); -} - -unsigned long L6470::IntSpdCalc(float stepsPerSec){ - // The value in the INT_SPD register is [(steps/s)*(tick)]/(2^-24) where tick is - // 250ns (datasheet value)- 0x408 on boot. - // Multiply desired steps/s by 4.1943 to get an appropriate value for this register - // This is a 14-bit value, so we need to make sure the value is at or below 0x3FFF. - float temp = stepsPerSec * 4.1943; - if( (unsigned long) long(temp) > 0x00003FFF) return 0x00003FFF; - else return (unsigned long) long(temp); -} - -unsigned long L6470::SpdCalc(float stepsPerSec){ - // When issuing RUN command, the 20-bit speed is [(steps/s)*(tick)]/(2^-28) where tick is - // 250ns (datasheet value). - // Multiply desired steps/s by 67.106 to get an appropriate value for this register - // This is a 20-bit value, so we need to make sure the value is at or below 0xFFFFF. - - float temp = stepsPerSec * 67.106; - if( (unsigned long) long(temp) > 0x000FFFFF) return 0x000FFFFF; - else return (unsigned long)temp; -} - -unsigned long L6470::Param(unsigned long value, byte bit_len){ - // Generalization of the subsections of the register read/write functionality. - // We want the end user to just write the value without worrying about length, - // so we pass a bit length parameter from the calling function. - unsigned long ret_val=0; // We'll return this to generalize this function - // for both read and write of registers. - byte byte_len = bit_len/8; // How many BYTES do we have? - if (bit_len%8 > 0) byte_len++; // Make sure not to lose any partial byte values. - // Let's make sure our value has no spurious bits set, and if the value was too - // high, max it out. - unsigned long mask = 0xffffffff >> (32-bit_len); - if (value > mask) value = mask; - // The following three if statements handle the various possible byte length - // transfers- it'll be no less than 1 but no more than 3 bytes of data. - // L6470::Xfer() sends a byte out through SPI and returns a byte received - // over SPI- when calling it, we typecast a shifted version of the masked - // value, then we shift the received value back by the same amount and - // store it until return time. - if (byte_len == 3) { - ret_val |= long(Xfer((byte)(value>>16))) << 16; - //Serial.println(ret_val, HEX); - } - if (byte_len >= 2) { - ret_val |= long(Xfer((byte)(value>>8))) << 8; - //Serial.println(ret_val, HEX); - } - if (byte_len >= 1) { - ret_val |= Xfer((byte)value); - //Serial.println(ret_val, HEX); - } - // Return the received values. Mask off any unnecessary bits, just for - // the sake of thoroughness- we don't EXPECT to see anything outside - // the bit length range but better to be safe than sorry. - return (ret_val & mask); -} - -byte L6470::Xfer(byte data){ - // This simple function shifts a byte out over SPI and receives a byte over - // SPI. Unusually for SPI devices, the dSPIN requires a toggling of the - // CS (slaveSelect) pin after each byte sent. That makes this function - // a bit more reasonable, because we can include more functionality in it. - byte data_out; - digitalWrite(_SSPin,LOW); - // SPI.transfer() both shifts a byte out on the MOSI pin AND receives a - // byte in on the MISO pin. - data_out = SPI.transfer(data); - digitalWrite(_SSPin,HIGH); - return data_out; -} - - - -void L6470::SetParam(byte param, unsigned long value){ - Xfer(SET_PARAM | param); - ParamHandler(param, value); -} - -unsigned long L6470::GetParam(byte param){ - // Realize the "get parameter" function, to read from the various registers in - // the dSPIN chip. - Xfer(GET_PARAM | param); - return ParamHandler(param, 0); -} - -long L6470::convert(unsigned long val){ - //convert 22bit 2s comp to signed long - int MSB = val >> 21; - - val = val << 11; - val = val >> 11; - - if(MSB == 1) val = val | 0b11111111111000000000000000000000; - return val; -} - -unsigned long L6470::ParamHandler(byte param, unsigned long value){ - // Much of the functionality between "get parameter" and "set parameter" is - // very similar, so we deal with that by putting all of it in one function - // here to save memory space and simplify the program. - unsigned long ret_val = 0; // This is a temp for the value to return. - // This switch structure handles the appropriate action for each register. - // This is necessary since not all registers are of the same length, either - // bit-wise or byte-wise, so we want to make sure we mask out any spurious - // bits and do the right number of transfers. That is handled by the dSPIN_Param() - // function, in most cases, but for 1-byte or smaller transfers, we call - // Xfer() directly. - switch (param) - { - // ABS_POS is the current absolute offset from home. It is a 22 bit number expressed - // in two's complement. At power up, this value is 0. It cannot be written when - // the motor is running, but at any other time, it can be updated to change the - // interpreted position of the motor. - case ABS_POS: - ret_val = Param(value, 22); - break; - // EL_POS is the current electrical position in the step generation cycle. It can - // be set when the motor is not in motion. Value is 0 on power up. - case EL_POS: - ret_val = Param(value, 9); - break; - // MARK is a second position other than 0 that the motor can be told to go to. As - // with ABS_POS, it is 22-bit two's complement. Value is 0 on power up. - case MARK: - ret_val = Param(value, 22); - break; - // SPEED contains information about the current speed. It is read-only. It does - // NOT provide direction information. - case SPEED: - ret_val = Param(0, 20); - break; - // ACC and DEC set the acceleration and deceleration rates. Set ACC to 0xFFF - // to get infinite acceleration/decelaeration- there is no way to get infinite - // deceleration w/o infinite acceleration (except the HARD STOP command). - // Cannot be written while motor is running. Both default to 0x08A on power up. - // AccCalc() and DecCalc() functions exist to convert steps/s/s values into - // 12-bit values for these two registers. - case ACC: - ret_val = Param(value, 12); - break; - case DEC: - ret_val = Param(value, 12); - break; - // MAX_SPEED is just what it says- any command which attempts to set the speed - // of the motor above this value will simply cause the motor to turn at this - // speed. Value is 0x041 on power up. - // MaxSpdCalc() function exists to convert steps/s value into a 10-bit value - // for this register. - case MAX_SPEED: - ret_val = Param(value, 10); - break; - // MIN_SPEED controls two things- the activation of the low-speed optimization - // feature and the lowest speed the motor will be allowed to operate at. LSPD_OPT - // is the 13th bit, and when it is set, the minimum allowed speed is automatically - // set to zero. This value is 0 on startup. - // MinSpdCalc() function exists to convert steps/s value into a 12-bit value for this - // register. SetLowSpeedOpt() function exists to enable/disable the optimization feature. - case MIN_SPEED: - ret_val = Param(value, 12); - break; - // FS_SPD register contains a threshold value above which microstepping is disabled - // and the dSPIN operates in full-step mode. Defaults to 0x027 on power up. - // FSCalc() function exists to convert steps/s value into 10-bit integer for this - // register. - case FS_SPD: - ret_val = Param(value, 10); - break; - // KVAL is the maximum voltage of the PWM outputs. These 8-bit values are ratiometric - // representations: 255 for full output voltage, 128 for half, etc. Default is 0x29. - // The implications of different KVAL settings is too complex to dig into here, but - // it will usually work to max the value for RUN, ACC, and DEC. Maxing the value for - // HOLD may result in excessive power dissipation when the motor is not running. - case KVAL_HOLD: - ret_val = Xfer((byte)value); - break; - case KVAL_RUN: - ret_val = Xfer((byte)value); - break; - case KVAL_ACC: - ret_val = Xfer((byte)value); - break; - case KVAL_DEC: - ret_val = Xfer((byte)value); - break; - // INT_SPD, ST_SLP, FN_SLP_ACC and FN_SLP_DEC are all related to the back EMF - // compensation functionality. Please see the datasheet for details of this - // function- it is too complex to discuss here. Default values seem to work - // well enough. - case INT_SPD: - ret_val = Param(value, 14); - break; - case ST_SLP: - ret_val = Xfer((byte)value); - break; - case FN_SLP_ACC: - ret_val = Xfer((byte)value); - break; - case FN_SLP_DEC: - ret_val = Xfer((byte)value); - break; - // K_THERM is motor winding thermal drift compensation. Please see the datasheet - // for full details on operation- the default value should be okay for most users. - case K_THERM: - ret_val = Xfer((byte)value & 0x0F); - break; - // ADC_OUT is a read-only register containing the result of the ADC measurements. - // This is less useful than it sounds; see the datasheet for more information. - case ADC_OUT: - ret_val = Xfer(0); - break; - // Set the overcurrent threshold. Ranges from 375mA to 6A in steps of 375mA. - // A set of defined constants is provided for the user's convenience. Default - // value is 3.375A- 0x08. This is a 4-bit value. - case OCD_TH: - ret_val = Xfer((byte)value & 0x0F); - break; - // Stall current threshold. Defaults to 0x40, or 2.03A. Value is from 31.25mA to - // 4A in 31.25mA steps. This is a 7-bit value. - case STALL_TH: - ret_val = Xfer((byte)value & 0x7F); - break; - // STEP_MODE controls the microstepping settings, as well as the generation of an - // output signal from the dSPIN. Bits 2:0 control the number of microsteps per - // step the part will generate. Bit 7 controls whether the BUSY/SYNC pin outputs - // a BUSY signal or a step synchronization signal. Bits 6:4 control the frequency - // of the output signal relative to the full-step frequency; see datasheet for - // that relationship as it is too complex to reproduce here. - // Most likely, only the microsteps per step value will be needed; there is a set - // of constants provided for ease of use of these values. - case STEP_MODE: - ret_val = Xfer((byte)value); - break; - // ALARM_EN controls which alarms will cause the FLAG pin to fall. A set of constants - // is provided to make this easy to interpret. By default, ALL alarms will trigger the - // FLAG pin. - case ALARM_EN: - ret_val = Xfer((byte)value); - break; - // CONFIG contains some assorted configuration bits and fields. A fairly comprehensive - // set of reasonably self-explanatory constants is provided, but users should refer - // to the datasheet before modifying the contents of this register to be certain they - // understand the implications of their modifications. Value on boot is 0x2E88; this - // can be a useful way to verify proper start up and operation of the dSPIN chip. - case CONFIG: - ret_val = Param(value, 16); - break; - // STATUS contains read-only information about the current condition of the chip. A - // comprehensive set of constants for masking and testing this register is provided, but - // users should refer to the datasheet to ensure that they fully understand each one of - // the bits in the register. - case STATUS: // STATUS is a read-only register - ret_val = Param(0, 16); - break; - default: - ret_val = Xfer((byte)(value)); - break; - } - return ret_val; -} diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.h b/ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.h deleted file mode 100644 index 8b5768646..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/L6470/L6470.h +++ /dev/null @@ -1,286 +0,0 @@ -//////////////////////////////////////////////////////////// -//ORIGINAL CODE 12/12/2011- Mike Hord, SparkFun Electronics -//LIBRARY Created by Adam Meyer of bildr Aug 18th 2012 -//Released as MIT license -//////////////////////////////////////////////////////////// -#ifndef L6470_h -#define L6470_h - -#include -#include - -#define SLAVE_SELECT_PIN 38 // Wire this to the CSN pin -// #define RESET 6 // Wire this to the STBY line -#define BUSYN 7 // Wire this to the BSYN line - -// constant definitions for overcurrent thresholds. Write these values to -// register dSPIN_OCD_TH to set the level at which an overcurrent even occurs. -#define OCD_TH_375mA 0x00 -#define OCD_TH_750mA 0x01 -#define OCD_TH_1125mA 0x02 -#define OCD_TH_1500mA 0x03 -#define OCD_TH_1875mA 0x04 -#define OCD_TH_2250mA 0x05 -#define OCD_TH_2625mA 0x06 -#define OCD_TH_3000mA 0x07 -#define OCD_TH_3375mA 0x08 -#define OCD_TH_3750mA 0x09 -#define OCD_TH_4125mA 0x0A -#define OCD_TH_4500mA 0x0B -#define OCD_TH_4875mA 0x0C -#define OCD_TH_5250mA 0x0D -#define OCD_TH_5625mA 0x0E -#define OCD_TH_6000mA 0x0F - -// STEP_MODE option values. -// First comes the "microsteps per step" options... -#define STEP_MODE_STEP_SEL 0x07 // Mask for these bits only. -#define STEP_SEL_1 0x00 -#define STEP_SEL_1_2 0x01 -#define STEP_SEL_1_4 0x02 -#define STEP_SEL_1_8 0x03 -#define STEP_SEL_1_16 0x04 -#define STEP_SEL_1_32 0x05 -#define STEP_SEL_1_64 0x06 -#define STEP_SEL_1_128 0x07 - -// ...next, define the SYNC_EN bit. When set, the BUSYN pin will instead -// output a clock related to the full-step frequency as defined by the -// SYNC_SEL bits below. -#define STEP_MODE_SYNC_EN 0x80 // Mask for this bit -#define SYNC_EN 0x80 - -// ...last, define the SYNC_SEL modes. The clock output is defined by -// the full-step frequency and the value in these bits- see the datasheet -// for a matrix describing that relationship (page 46). -#define STEP_MODE_SYNC_SEL 0x70 -#define SYNC_SEL_1_2 0x00 -#define SYNC_SEL_1 0x10 -#define SYNC_SEL_2 0x20 -#define SYNC_SEL_4 0x30 -#define SYNC_SEL_8 0x40 -#define SYNC_SEL_16 0x50 -#define SYNC_SEL_32 0x60 -#define SYNC_SEL_64 0x70 - -// Bit names for the ALARM_EN register. -// Each of these bits defines one potential alarm condition. -// When one of these conditions occurs and the respective bit in ALARM_EN is set, -// the FLAG pin will go low. The register must be queried to determine which event -// caused the alarm. -#define ALARM_EN_OVERCURRENT 0x01 -#define ALARM_EN_THERMAL_SHUTDOWN 0x02 -#define ALARM_EN_THERMAL_WARNING 0x04 -#define ALARM_EN_UNDER_VOLTAGE 0x08 -#define ALARM_EN_STALL_DET_A 0x10 -#define ALARM_EN_STALL_DET_B 0x20 -#define ALARM_EN_SW_TURN_ON 0x40 -#define ALARM_EN_WRONG_NPERF_CMD 0x80 - -// CONFIG register renames. - -// Oscillator options. -// The dSPIN needs to know what the clock frequency is because it uses that for some -// calculations during operation. -#define CONFIG_OSC_SEL 0x000F // Mask for this bit field. -#define CONFIG_INT_16MHZ 0x0000 // Internal 16MHz, no output -#define CONFIG_INT_16MHZ_OSCOUT_2MHZ 0x0008 // Default; internal 16MHz, 2MHz output -#define CONFIG_INT_16MHZ_OSCOUT_4MHZ 0x0009 // Internal 16MHz, 4MHz output -#define CONFIG_INT_16MHZ_OSCOUT_8MHZ 0x000A // Internal 16MHz, 8MHz output -#define CONFIG_INT_16MHZ_OSCOUT_16MHZ 0x000B // Internal 16MHz, 16MHz output -#define CONFIG_EXT_8MHZ_XTAL_DRIVE 0x0004 // External 8MHz crystal -#define CONFIG_EXT_16MHZ_XTAL_DRIVE 0x0005 // External 16MHz crystal -#define CONFIG_EXT_24MHZ_XTAL_DRIVE 0x0006 // External 24MHz crystal -#define CONFIG_EXT_32MHZ_XTAL_DRIVE 0x0007 // External 32MHz crystal -#define CONFIG_EXT_8MHZ_OSCOUT_INVERT 0x000C // External 8MHz crystal, output inverted -#define CONFIG_EXT_16MHZ_OSCOUT_INVERT 0x000D // External 16MHz crystal, output inverted -#define CONFIG_EXT_24MHZ_OSCOUT_INVERT 0x000E // External 24MHz crystal, output inverted -#define CONFIG_EXT_32MHZ_OSCOUT_INVERT 0x000F // External 32MHz crystal, output inverted - -// Configure the functionality of the external switch input -#define CONFIG_SW_MODE 0x0010 // Mask for this bit. -#define CONFIG_SW_HARD_STOP 0x0000 // Default; hard stop motor on switch. -#define CONFIG_SW_USER 0x0010 // Tie to the GoUntil and ReleaseSW - // commands to provide jog function. - // See page 25 of datasheet. - -// Configure the motor voltage compensation mode (see page 34 of datasheet) -#define CONFIG_EN_VSCOMP 0x0020 // Mask for this bit. -#define CONFIG_VS_COMP_DISABLE 0x0000 // Disable motor voltage compensation. -#define CONFIG_VS_COMP_ENABLE 0x0020 // Enable motor voltage compensation. - -// Configure overcurrent detection event handling -#define CONFIG_OC_SD 0x0080 // Mask for this bit. -#define CONFIG_OC_SD_DISABLE 0x0000 // Bridges do NOT shutdown on OC detect -#define CONFIG_OC_SD_ENABLE 0x0080 // Bridges shutdown on OC detect - -// Configure the slew rate of the power bridge output -#define CONFIG_POW_SR 0x0300 // Mask for this bit field. -#define CONFIG_SR_180V_us 0x0000 // 180V/us -#define CONFIG_SR_290V_us 0x0200 // 290V/us -#define CONFIG_SR_530V_us 0x0300 // 530V/us - -// Integer divisors for PWM sinewave generation -// See page 32 of the datasheet for more information on this. -#define CONFIG_F_PWM_DEC 0x1C00 // mask for this bit field -#define CONFIG_PWM_MUL_0_625 (0x00)<<10 -#define CONFIG_PWM_MUL_0_75 (0x01)<<10 -#define CONFIG_PWM_MUL_0_875 (0x02)<<10 -#define CONFIG_PWM_MUL_1 (0x03)<<10 -#define CONFIG_PWM_MUL_1_25 (0x04)<<10 -#define CONFIG_PWM_MUL_1_5 (0x05)<<10 -#define CONFIG_PWM_MUL_1_75 (0x06)<<10 -#define CONFIG_PWM_MUL_2 (0x07)<<10 - -// Multiplier for the PWM sinewave frequency -#define CONFIG_F_PWM_INT 0xE000 // mask for this bit field. -#define CONFIG_PWM_DIV_1 (0x00)<<13 -#define CONFIG_PWM_DIV_2 (0x01)<<13 -#define CONFIG_PWM_DIV_3 (0x02)<<13 -#define CONFIG_PWM_DIV_4 (0x03)<<13 -#define CONFIG_PWM_DIV_5 (0x04)<<13 -#define CONFIG_PWM_DIV_6 (0x05)<<13 -#define CONFIG_PWM_DIV_7 (0x06)<<13 - -// Status register bit renames- read-only bits conferring information about the -// device to the user. -#define STATUS_HIZ 0x0001 // high when bridges are in HiZ mode -#define STATUS_BUSY 0x0002 // mirrors BUSY pin -#define STATUS_SW_F 0x0004 // low when switch open, high when closed -#define STATUS_SW_EVN 0x0008 // active high, set on switch falling edge, - // cleared by reading STATUS -#define STATUS_DIR 0x0010 // Indicates current motor direction. - // High is FWD, Low is REV. -#define STATUS_NOTPERF_CMD 0x0080 // Last command not performed. -#define STATUS_WRONG_CMD 0x0100 // Last command not valid. -#define STATUS_UVLO 0x0200 // Undervoltage lockout is active -#define STATUS_TH_WRN 0x0400 // Thermal warning -#define STATUS_TH_SD 0x0800 // Thermal shutdown -#define STATUS_OCD 0x1000 // Overcurrent detected -#define STATUS_STEP_LOSS_A 0x2000 // Stall detected on A bridge -#define STATUS_STEP_LOSS_B 0x4000 // Stall detected on B bridge -#define STATUS_SCK_MOD 0x8000 // Step clock mode is active - -// Status register motor status field -#define STATUS_MOT_STATUS 0x0060 // field mask -#define STATUS_MOT_STATUS_STOPPED (0x0000)<<13 // Motor stopped -#define STATUS_MOT_STATUS_ACCELERATION (0x0001)<<13 // Motor accelerating -#define STATUS_MOT_STATUS_DECELERATION (0x0002)<<13 // Motor decelerating -#define STATUS_MOT_STATUS_CONST_SPD (0x0003)<<13 // Motor at constant speed - -// Register address redefines. -// See the Param_Handler() function for more info about these. -#define ABS_POS 0x01 -#define EL_POS 0x02 -#define MARK 0x03 -#define SPEED 0x04 -#define ACC 0x05 -#define DEC 0x06 -#define MAX_SPEED 0x07 -#define MIN_SPEED 0x08 -#define FS_SPD 0x15 -#define KVAL_HOLD 0x09 -#define KVAL_RUN 0x0A -#define KVAL_ACC 0x0B -#define KVAL_DEC 0x0C -#define INT_SPD 0x0D -#define ST_SLP 0x0E -#define FN_SLP_ACC 0x0F -#define FN_SLP_DEC 0x10 -#define K_THERM 0x11 -#define ADC_OUT 0x12 -#define OCD_TH 0x13 -#define STALL_TH 0x14 -#define STEP_MODE 0x16 -#define ALARM_EN 0x17 -#define CONFIG 0x18 -#define STATUS 0x19 - -//dSPIN commands -#define NOP 0x00 -#define SET_PARAM 0x00 -#define GET_PARAM 0x20 -#define RUN 0x50 -#define STEP_CLOCK 0x58 -#define MOVE 0x40 -#define GOTO 0x60 -#define GOTO_DIR 0x68 -#define GO_UNTIL 0x82 -#define RELEASE_SW 0x92 -#define GO_HOME 0x70 -#define GO_MARK 0x78 -#define RESET_POS 0xD8 -#define RESET_DEVICE 0xC0 -#define SOFT_STOP 0xB0 -#define HARD_STOP 0xB8 -#define SOFT_HIZ 0xA0 -#define HARD_HIZ 0xA8 -#define GET_STATUS 0xD0 - -/* dSPIN direction options */ -#define FWD 0x01 -#define REV 0x00 - -/* dSPIN action options */ -#define ACTION_RESET 0x00 -#define ACTION_COPY 0x01 - - -class L6470{ - - public: - - L6470(int SSPin); - void init(int k_value); - void setMicroSteps(int microSteps); - void setCurrent(int current); - void setMaxSpeed(int speed); - void setMinSpeed(int speed); - void setAcc(float acceleration); - void setDec(float deceleration); - void setOverCurrent(unsigned int ma_current); - void setThresholdSpeed(float threshold); - void setStallCurrent(float ma_current); - - unsigned long ParamHandler(byte param, unsigned long value); - void SetLowSpeedOpt(boolean enable); - void run(byte dir, float spd); - void Step_Clock(byte dir); - void goHome(); - void setAsHome(); - void goMark(); - void move(long n_step); - void goTo(long pos); - void goTo_DIR(byte dir, long pos); - void goUntil(byte act, byte dir, unsigned long spd); - boolean isBusy(); - void releaseSW(byte act, byte dir); - float getSpeed(); - long getPos(); - void setMark(); - void setMark(long value); - void resetPos(); - void resetDev(); - void softStop(); - void hardStop(); - void softFree(); - void free(); - int getStatus(); - void SetParam(byte param, unsigned long value); - - private: - long convert(unsigned long val); - unsigned long GetParam(byte param); - unsigned long AccCalc(float stepsPerSecPerSec); - unsigned long DecCalc(float stepsPerSecPerSec); - unsigned long MaxSpdCalc(float stepsPerSec); - unsigned long MinSpdCalc(float stepsPerSec); - unsigned long FSCalc(float stepsPerSec); - unsigned long IntSpdCalc(float stepsPerSec); - unsigned long SpdCalc(float stepsPerSec); - unsigned long Param(unsigned long value, byte bit_len); - byte Xfer(byte data); - int _SSPin; -}; - -#endif diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/L6470/keywords.txt b/ArduinoAddons/Arduino_1.6.x/libraries/L6470/keywords.txt deleted file mode 100644 index 7caa3d019..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/L6470/keywords.txt +++ /dev/null @@ -1,53 +0,0 @@ -####################################################### -# keywords.txt - keywords file for the L6470 library -# -# ORIGINAL CODE 12/12/2011- Mike Hord, SparkFun Electronics -# Library by Adam Meyer of bildr Aug 18th 2012 -# -# Released as MIT license -####################################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -L6470 KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -L6470 KEYWORD2 -init KEYWORD2 -setMicroSteps KEYWORD2 -setCurrent KEYWORD2 -setMaxSpeed KEYWORD2 -setMinSpeed KEYWORD2 -setAcc KEYWORD2 -setDec KEYWORD2 -setOverCurrent KEYWORD2 -setThresholdSpeed KEYWORD2 -setStallCurrent KEYWORD2 -ParamHandler KEYWORD2 -SetLowSpeedOpt KEYWORD2 -run KEYWORD2 -Step_Clock KEYWORD2 -goHome KEYWORD2 -goMark KEYWORD2 -move KEYWORD2 -goTo KEYWORD2 -goTo_DIR KEYWORD2 -goUntil KEYWORD2 -isBusy KEYWORD2 -releaseSW KEYWORD2 -resetPos KEYWORD2 -resetDev KEYWORD2 -softStop KEYWORD2 -hardStop KEYWORD2 -softHiZ KEYWORD2 -hardHiZ KEYWORD2 -getStatus KEYWORD2 - -####################################### -# Constants (LITERAL1) -####################################### \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/.gitignore b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/.gitignore deleted file mode 100644 index c0f77e480..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -#mac stuff -.DS_Store - -#eclipse stuff -.classpath -.project - -#processing stuff -generated/ -examples/TMC26XMotorTester/processing/TMC26XMotorTest/application.*/ -examples/TMC26XMotorTester/processing/TMC26XMotorTest/application.* - -#eagle stuff -schematics/*.b#? -schematics/*.s#? - -*.zip diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/Doxyfile b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/Doxyfile deleted file mode 100644 index e169f0608..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/Doxyfile +++ /dev/null @@ -1,1813 +0,0 @@ -# Doxyfile 1.7.6.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = "Trinamic TMC26X Stepper Driver for Arduino" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = /Users/marcus/Arduino/libraries/TMC26XStepper/documentation - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 28 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = /Users/marcus/Arduino/libraries/TMC26XStepper - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.for \ - *.vhd \ - *.vhdl - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the -# mathjax.org site, so you can quickly see the result without installing -# MathJax, but it is strongly recommended to install a local copy of MathJax -# before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/LICENSE b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/LICENSE deleted file mode 100644 index 11f5603ba..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/LICENSE +++ /dev/null @@ -1,10 +0,0 @@ - -Copyright (c) 2012 Interactive Matter - -based on the stepper library by Tom Igoe, et. al. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/README.rst b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/README.rst deleted file mode 100644 index 648f3e253..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/README.rst +++ /dev/null @@ -1,71 +0,0 @@ -Arduino TMC26X Stepper Motor Controller Library -=============================================== - -License -------- - -TMC26XStepper.cpp - - TMC 260/261/262 Stepper library for Wiring/Arduino - -based on the stepper library by Tom Igoe, et. al. - -Copyright (c) 2011, Interactive Matter, Marcus Nowotny - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -About ------ - -The TMC26X is a stepper motor controller for bipolar stepper motors. From the trinamic web site: - - The TMC262 is the first energy efficient high current high precision microstepping driver - IC for bipolar stepper motors. The unique high resolution sensorless load detection stallGuard2™ - is used to for the world’s first integrated load dependent current control feature called coolStep™. - The ability to read out the load and detect an overload makes the TMC262 an optimum choice for - drives where a high reliability is desired at a low cost. The new patented spreadCycle PWM mixed - decay chopper scheme ensures best zero crossing performance as well as high speed operation. - The TMC262 can be driven with Step & Direction signals as well as by serial SPI™ interface. - Using the microPlyer allows to operate the motor with highest 256 μStep smoothness reducing the - input frequency to 16 μSteps. A full set of protection and diagnostic features makes this device - very rugged. It directly drives external MOSFETs for currents of up to 6A. This way it reaches - highest energy efficiency and allows driving of a high motor current without cooling measures - even at high environment temperatures. - - -The unique features of the TMC26X are that everything can (and must) be controlled in software: - -* the motor current -* microstepping -* stall protection -* current reduction according to load -* stallGuard2™ sensorless load detection -* coolStep™ load dependent current control -* spreadCycle hysteresis PWM chopper -* microPlyer 16-to-256 μStep multiplier -* full protection and diagnostics - -This makes the TMC26X a bit harder to use than other stepper motors but much more versatile. -This library resolves all the complicated stuff so that you can use TMC26X straight away. -Furthermore, all the settings are implemented in high level interfaces so that configuring your -motor is a breeze. - -How to use ----------- - -Check out the Setup Guide here: -And the How To here: \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.cpp b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.cpp deleted file mode 100644 index 389264ca4..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.cpp +++ /dev/null @@ -1,999 +0,0 @@ -/* - TMC26XStepper.cpp - - TMC26X Stepper library for Wiring/Arduino - - based on the stepper library by Tom Igoe, et. al. - - Copyright (c) 2011, Interactive Matter, Marcus Nowotny - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - - */ - -#if defined(ARDUINO) && ARDUINO >= 100 - #include -#else - #include -#endif -#include -#include "TMC26XStepper.h" - -//some default values used in initialization -#define DEFAULT_MICROSTEPPING_VALUE 32 - -//TMC26X register definitions -#define DRIVER_CONTROL_REGISTER 0x0ul -#define CHOPPER_CONFIG_REGISTER 0x80000ul -#define COOL_STEP_REGISTER 0xA0000ul -#define STALL_GUARD2_LOAD_MEASURE_REGISTER 0xC0000ul -#define DRIVER_CONFIG_REGISTER 0xE0000ul - -#define REGISTER_BIT_PATTERN 0xFFFFFul - -//definitions for the driver control register -#define MICROSTEPPING_PATTERN 0xFul -#define STEP_INTERPOLATION 0x200ul -#define DOUBLE_EDGE_STEP 0x100ul -#define VSENSE 0x40ul -#define READ_MICROSTEP_POSTION 0x0ul -#define READ_STALL_GUARD_READING 0x10ul -#define READ_STALL_GUARD_AND_COOL_STEP 0x20ul -#define READ_SELECTION_PATTERN 0x30ul - -//definitions for the chopper config register -#define CHOPPER_MODE_STANDARD 0x0ul -#define CHOPPER_MODE_T_OFF_FAST_DECAY 0x4000ul -#define T_OFF_PATTERN 0xful -#define RANDOM_TOFF_TIME 0x2000ul -#define BLANK_TIMING_PATTERN 0x18000ul -#define BLANK_TIMING_SHIFT 15 -#define HYSTERESIS_DECREMENT_PATTERN 0x1800ul -#define HYSTERESIS_DECREMENT_SHIFT 11 -#define HYSTERESIS_LOW_VALUE_PATTERN 0x780ul -#define HYSTERESIS_LOW_SHIFT 7 -#define HYSTERESIS_START_VALUE_PATTERN 0x78ul -#define HYSTERESIS_START_VALUE_SHIFT 4 -#define T_OFF_TIMING_PATERN 0xFul - -//definitions for cool step register -#define MINIMUM_CURRENT_FOURTH 0x8000ul -#define CURRENT_DOWN_STEP_SPEED_PATTERN 0x6000ul -#define SE_MAX_PATTERN 0xF00ul -#define SE_CURRENT_STEP_WIDTH_PATTERN 0x60ul -#define SE_MIN_PATTERN 0xful - -//definitions for stall guard2 current register -#define STALL_GUARD_FILTER_ENABLED 0x10000ul -#define STALL_GUARD_TRESHHOLD_VALUE_PATTERN 0x17F00ul -#define CURRENT_SCALING_PATTERN 0x1Ful -#define STALL_GUARD_CONFIG_PATTERN 0x17F00ul -#define STALL_GUARD_VALUE_PATTERN 0x7F00ul - -//definitions for the input from the TCM260 -#define STATUS_STALL_GUARD_STATUS 0x1ul -#define STATUS_OVER_TEMPERATURE_SHUTDOWN 0x2ul -#define STATUS_OVER_TEMPERATURE_WARNING 0x4ul -#define STATUS_SHORT_TO_GROUND_A 0x8ul -#define STATUS_SHORT_TO_GROUND_B 0x10ul -#define STATUS_OPEN_LOAD_A 0x20ul -#define STATUS_OPEN_LOAD_B 0x40ul -#define STATUS_STAND_STILL 0x80ul -#define READOUT_VALUE_PATTERN 0xFFC00ul - -//default values -#define INITIAL_MICROSTEPPING 0x3ul //32th microstepping - -//debuging output -//#define DEBUG - -/* - * Constructor - * number_of_steps - the steps per rotation - * cs_pin - the SPI client select pin - * dir_pin - the pin where the direction pin is connected - * step_pin - the pin where the step pin is connected - */ -TMC26XStepper::TMC26XStepper(int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int current, unsigned int resistor) -{ - //we are not started yet - started=false; - //by default cool step is not enabled - cool_step_enabled=false; - - //save the pins for later use - this->cs_pin=cs_pin; - this->dir_pin=dir_pin; - this->step_pin = step_pin; - - //store the current sense resistor value for later use - this->resistor = resistor; - - //initizalize our status values - this->steps_left = 0; - this->direction = 0; - - //initialize register values - driver_control_register_value=DRIVER_CONTROL_REGISTER | INITIAL_MICROSTEPPING; - chopper_config_register=CHOPPER_CONFIG_REGISTER; - - //setting the default register values - driver_control_register_value=DRIVER_CONTROL_REGISTER|INITIAL_MICROSTEPPING; - microsteps = (1 << INITIAL_MICROSTEPPING); - chopper_config_register=CHOPPER_CONFIG_REGISTER; - cool_step_register_value=COOL_STEP_REGISTER; - stall_guard2_current_register_value=STALL_GUARD2_LOAD_MEASURE_REGISTER; - driver_configuration_register_value = DRIVER_CONFIG_REGISTER | READ_STALL_GUARD_READING; - - //set the current - setCurrent(current); - //set to a conservative start value - setConstantOffTimeChopper(7, 54, 13,12,1); - //set a nice microstepping value - setMicrosteps(DEFAULT_MICROSTEPPING_VALUE); - //save the number of steps - this->number_of_steps = number_of_steps; -} - - -/* - * start & configure the stepper driver - * just must be called. - */ -void TMC26XStepper::start() { - -#ifdef DEBUG - Serial.println("TMC26X stepper library"); - Serial.print("CS pin: "); - Serial.println(cs_pin); - Serial.print("DIR pin: "); - Serial.println(dir_pin); - Serial.print("STEP pin: "); - Serial.println(step_pin); - Serial.print("current scaling: "); - Serial.println(current_scaling,DEC); -#endif - //set the pins as output & its initial value - pinMode(step_pin, OUTPUT); - pinMode(dir_pin, OUTPUT); - pinMode(cs_pin, OUTPUT); - digitalWrite(step_pin, LOW); - digitalWrite(dir_pin, LOW); - digitalWrite(cs_pin, HIGH); - - //configure the SPI interface - SPI.setBitOrder(MSBFIRST); - SPI.setClockDivider(SPI_CLOCK_DIV8); - //todo this does not work reliably - find a way to foolprof set it (e.g. while communicating - //SPI.setDataMode(SPI_MODE3); - SPI.begin(); - - //set the initial values - send262(driver_control_register_value); - send262(chopper_config_register); - send262(cool_step_register_value); - send262(stall_guard2_current_register_value); - send262(driver_configuration_register_value); - - //save that we are in running mode - started=true; -} - -/* - Mark the driver as unstarted to be able to start it again - */ -void TMC26XStepper::un_start() { - started=false; -} - - -/* - Sets the speed in revs per minute - -*/ -void TMC26XStepper::setSpeed(unsigned int whatSpeed) -{ - this->speed = whatSpeed; - this->step_delay = (60UL * 1000UL * 1000UL) / ((unsigned long)this->number_of_steps * (unsigned long)whatSpeed * (unsigned long)this->microsteps); -#ifdef DEBUG - Serial.print("Step delay in micros: "); - Serial.println(this->step_delay); -#endif - //update the next step time - this->next_step_time = this->last_step_time+this->step_delay; - -} - -unsigned int TMC26XStepper::getSpeed(void) { - return this->speed; -} - -/* - Moves the motor steps_to_move steps. If the number is negative, - the motor moves in the reverse direction. - */ -char TMC26XStepper::step(int steps_to_move) -{ - if (this->steps_left==0) { - this->steps_left = abs(steps_to_move); // how many steps to take - - // determine direction based on whether steps_to_mode is + or -: - if (steps_to_move > 0) { - this->direction = 1; - } else if (steps_to_move < 0) { - this->direction = 0; - } - return 0; - } else { - return -1; - } -} - -char TMC26XStepper::move(void) { - // decrement the number of steps, moving one step each time: - if(this->steps_left>0) { - unsigned long time = micros(); - // move only if the appropriate delay has passed: - if (time >= this->next_step_time) { - // increment or decrement the step number, - // depending on direction: - if (this->direction == 1) { - digitalWrite(step_pin, HIGH); - } else { - digitalWrite(dir_pin, HIGH); - digitalWrite(step_pin, HIGH); - } - // get the timeStamp of when you stepped: - this->last_step_time = time; - this->next_step_time = time+this->step_delay; - // decrement the steps left: - steps_left--; - //disable the step & dir pins - digitalWrite(step_pin, LOW); - digitalWrite(dir_pin, LOW); - } - return -1; - } - return 0; -} - -char TMC26XStepper::isMoving(void) { - return (this->steps_left>0); -} - -unsigned int TMC26XStepper::getStepsLeft(void) { - return this->steps_left; -} - -char TMC26XStepper::stop(void) { - //note to self if the motor is currently moving - char state = isMoving(); - //stop the motor - this->steps_left = 0; - this->direction = 0; - //return if it was moving - return state; -} - -void TMC26XStepper::setCurrent(unsigned int current) { - unsigned char current_scaling = 0; - //calculate the current scaling from the max current setting (in mA) - double mASetting = (double)current; - double resistor_value = (double) this->resistor; - // remove vesense flag - this->driver_configuration_register_value &= ~(VSENSE); - //this is derrived from I=(cs+1)/32*(Vsense/Rsense) - //leading to cs = CS = 32*R*I/V (with V = 0,31V oder 0,165V and I = 1000*current) - //with Rsense=0,15 - //for vsense = 0,310V (VSENSE not set) - //or vsense = 0,165V (VSENSE set) - current_scaling = (byte)((resistor_value*mASetting*32.0/(0.31*1000.0*1000.0))-0.5); //theoretically - 1.0 for better rounding it is 0.5 - - //check if the current scalingis too low - if (current_scaling<16) { - //set the csense bit to get a use half the sense voltage (to support lower motor currents) - this->driver_configuration_register_value |= VSENSE; - //and recalculate the current setting - current_scaling = (byte)((resistor_value*mASetting*32.0/(0.165*1000.0*1000.0))-0.5); //theoretically - 1.0 for better rounding it is 0.5 -#ifdef DEBUG - Serial.print("CS (Vsense=1): "); - Serial.println(current_scaling); - } else { - Serial.print("CS: "); - Serial.println(current_scaling); -#endif - } - - //do some sanity checks - if (current_scaling>31) { - current_scaling=31; - } - //delete the old value - stall_guard2_current_register_value &= ~(CURRENT_SCALING_PATTERN); - //set the new current scaling - stall_guard2_current_register_value |= current_scaling; - //if started we directly send it to the motor - if (started) { - send262(driver_configuration_register_value); - send262(stall_guard2_current_register_value); - } -} - -unsigned int TMC26XStepper::getCurrent(void) { - //we calculate the current according to the datasheet to be on the safe side - //this is not the fastest but the most accurate and illustrative way - double result = (double)(stall_guard2_current_register_value & CURRENT_SCALING_PATTERN); - double resistor_value = (double)this->resistor; - double voltage = (driver_configuration_register_value & VSENSE)? 0.165:0.31; - result = (result+1.0)/32.0*voltage/resistor_value*1000.0*1000.0; - return (unsigned int)result; -} - -void TMC26XStepper::setStallGuardThreshold(char stall_guard_threshold, char stall_guard_filter_enabled) { - if (stall_guard_threshold<-64) { - stall_guard_threshold = -64; - //We just have 5 bits - } else if (stall_guard_threshold > 63) { - stall_guard_threshold = 63; - } - //add trim down to 7 bits - stall_guard_threshold &=0x7f; - //delete old stall guard settings - stall_guard2_current_register_value &= ~(STALL_GUARD_CONFIG_PATTERN); - if (stall_guard_filter_enabled) { - stall_guard2_current_register_value |= STALL_GUARD_FILTER_ENABLED; - } - //Set the new stall guard threshold - stall_guard2_current_register_value |= (((unsigned long)stall_guard_threshold << 8) & STALL_GUARD_CONFIG_PATTERN); - //if started we directly send it to the motor - if (started) { - send262(stall_guard2_current_register_value); - } -} - -char TMC26XStepper::getStallGuardThreshold(void) { - unsigned long stall_guard_threshold = stall_guard2_current_register_value & STALL_GUARD_VALUE_PATTERN; - //shift it down to bit 0 - stall_guard_threshold >>=8; - //convert the value to an int to correctly handle the negative numbers - char result = stall_guard_threshold; - //check if it is negative and fill it up with leading 1 for proper negative number representation - if (result & _BV(6)) { - result |= 0xC0; - } - return result; -} - -char TMC26XStepper::getStallGuardFilter(void) { - if (stall_guard2_current_register_value & STALL_GUARD_FILTER_ENABLED) { - return -1; - } else { - return 0; - } -} -/* - * Set the number of microsteps per step. - * 0,2,4,8,16,32,64,128,256 is supported - * any value in between will be mapped to the next smaller value - * 0 and 1 set the motor in full step mode - */ -void TMC26XStepper::setMicrosteps(int number_of_steps) { - long setting_pattern; - //poor mans log - if (number_of_steps>=256) { - setting_pattern=0; - microsteps=256; - } else if (number_of_steps>=128) { - setting_pattern=1; - microsteps=128; - } else if (number_of_steps>=64) { - setting_pattern=2; - microsteps=64; - } else if (number_of_steps>=32) { - setting_pattern=3; - microsteps=32; - } else if (number_of_steps>=16) { - setting_pattern=4; - microsteps=16; - } else if (number_of_steps>=8) { - setting_pattern=5; - microsteps=8; - } else if (number_of_steps>=4) { - setting_pattern=6; - microsteps=4; - } else if (number_of_steps>=2) { - setting_pattern=7; - microsteps=2; - //1 and 0 lead to full step - } else if (number_of_steps<=1) { - setting_pattern=8; - microsteps=1; - } -#ifdef DEBUG - Serial.print("Microstepping: "); - Serial.println(microsteps); -#endif - //delete the old value - this->driver_control_register_value &=0xFFFF0ul; - //set the new value - this->driver_control_register_value |=setting_pattern; - - //if started we directly send it to the motor - if (started) { - send262(driver_control_register_value); - } - //recalculate the stepping delay by simply setting the speed again - this->setSpeed(this->speed); -} - -/* - * returns the effective number of microsteps at the moment - */ -int TMC26XStepper::getMicrosteps(void) { - return microsteps; -} - -/* - * constant_off_time: The off time setting controls the minimum chopper frequency. - * For most applications an off time within the range of 5μs to 20μs will fit. - * 2...15: off time setting - * - * blank_time: Selects the comparator blank time. This time needs to safely cover the switching event and the - * duration of the ringing on the sense resistor. For - * 0: min. setting 3: max. setting - * - * fast_decay_time_setting: Fast decay time setting. With CHM=1, these bits control the portion of fast decay for each chopper cycle. - * 0: slow decay only - * 1...15: duration of fast decay phase - * - * sine_wave_offset: Sine wave offset. With CHM=1, these bits control the sine wave offset. - * A positive offset corrects for zero crossing error. - * -3..-1: negative offset 0: no offset 1...12: positive offset - * - * use_current_comparator: Selects usage of the current comparator for termination of the fast decay cycle. - * If current comparator is enabled, it terminates the fast decay cycle in case the current - * reaches a higher negative value than the actual positive value. - * 1: enable comparator termination of fast decay cycle - * 0: end by time only - */ -void TMC26XStepper::setConstantOffTimeChopper(char constant_off_time, char blank_time, char fast_decay_time_setting, char sine_wave_offset, unsigned char use_current_comparator) { - //perform some sanity checks - if (constant_off_time<2) { - constant_off_time=2; - } else if (constant_off_time>15) { - constant_off_time=15; - } - //save the constant off time - this->constant_off_time = constant_off_time; - char blank_value; - //calculate the value acc to the clock cycles - if (blank_time>=54) { - blank_value=3; - } else if (blank_time>=36) { - blank_value=2; - } else if (blank_time>=24) { - blank_value=1; - } else { - blank_value=0; - } - if (fast_decay_time_setting<0) { - fast_decay_time_setting=0; - } else if (fast_decay_time_setting>15) { - fast_decay_time_setting=15; - } - if (sine_wave_offset < -3) { - sine_wave_offset = -3; - } else if (sine_wave_offset>12) { - sine_wave_offset = 12; - } - //shift the sine_wave_offset - sine_wave_offset +=3; - - //calculate the register setting - //first of all delete all the values for this - chopper_config_register &= ~((1<<12) | BLANK_TIMING_PATTERN | HYSTERESIS_DECREMENT_PATTERN | HYSTERESIS_LOW_VALUE_PATTERN | HYSTERESIS_START_VALUE_PATTERN | T_OFF_TIMING_PATERN); - //set the constant off pattern - chopper_config_register |= CHOPPER_MODE_T_OFF_FAST_DECAY; - //set the blank timing value - chopper_config_register |= ((unsigned long)blank_value) << BLANK_TIMING_SHIFT; - //setting the constant off time - chopper_config_register |= constant_off_time; - //set the fast decay time - //set msb - chopper_config_register |= (((unsigned long)(fast_decay_time_setting & 0x8))<15) { - constant_off_time=15; - } - //save the constant off time - this->constant_off_time = constant_off_time; - char blank_value; - //calculate the value acc to the clock cycles - if (blank_time>=54) { - blank_value=3; - } else if (blank_time>=36) { - blank_value=2; - } else if (blank_time>=24) { - blank_value=1; - } else { - blank_value=0; - } - if (hysteresis_start<1) { - hysteresis_start=1; - } else if (hysteresis_start>8) { - hysteresis_start=8; - } - hysteresis_start--; - - if (hysteresis_end < -3) { - hysteresis_end = -3; - } else if (hysteresis_end>12) { - hysteresis_end = 12; - } - //shift the hysteresis_end - hysteresis_end +=3; - - if (hysteresis_decrement<0) { - hysteresis_decrement=0; - } else if (hysteresis_decrement>3) { - hysteresis_decrement=3; - } - - //first of all delete all the values for this - chopper_config_register &= ~(CHOPPER_MODE_T_OFF_FAST_DECAY | BLANK_TIMING_PATTERN | HYSTERESIS_DECREMENT_PATTERN | HYSTERESIS_LOW_VALUE_PATTERN | HYSTERESIS_START_VALUE_PATTERN | T_OFF_TIMING_PATERN); - - //set the blank timing value - chopper_config_register |= ((unsigned long)blank_value) << BLANK_TIMING_SHIFT; - //setting the constant off time - chopper_config_register |= constant_off_time; - //set the hysteresis_start - chopper_config_register |= ((unsigned long)hysteresis_start) << HYSTERESIS_START_VALUE_SHIFT; - //set the hysteresis end - chopper_config_register |= ((unsigned long)hysteresis_end) << HYSTERESIS_LOW_SHIFT; - //set the hystereis decrement - chopper_config_register |= ((unsigned long)blank_value) << BLANK_TIMING_SHIFT; - //if started we directly send it to the motor - if (started) { - send262(driver_control_register_value); - } -} - -/* - * In a constant off time chopper scheme both coil choppers run freely, i.e. are not synchronized. - * The frequency of each chopper mainly depends on the coil current and the position dependant motor coil inductivity, thus it depends on the microstep position. - * With some motors a slightly audible beat can occur between the chopper frequencies, especially when they are near to each other. This typically occurs at a - * few microstep positions within each quarter wave. This effect normally is not audible when compared to mechanical noise generated by ball bearings, etc. - * Further factors which can cause a similar effect are a poor layout of sense resistor GND connection. - * Hint: A common factor, which can cause motor noise, is a bad PCB layout causing coupling of both sense resistor voltages - * (please refer to sense resistor layout hint in chapter 8.1). - * In order to minimize the effect of a beat between both chopper frequencies, an internal random generator is provided. - * It modulates the slow decay time setting when switched on by the RNDTF bit. The RNDTF feature further spreads the chopper spectrum, - * reducing electromagnetic emission on single frequencies. - */ -void TMC26XStepper::setRandomOffTime(char value) { - if (value) { - chopper_config_register |= RANDOM_TOFF_TIME; - } else { - chopper_config_register &= ~(RANDOM_TOFF_TIME); - } - //if started we directly send it to the motor - if (started) { - send262(driver_control_register_value); - } -} - -void TMC26XStepper::setCoolStepConfiguration(unsigned int lower_SG_threshold, unsigned int SG_hysteresis, unsigned char current_decrement_step_size, - unsigned char current_increment_step_size, unsigned char lower_current_limit) { - //sanitize the input values - if (lower_SG_threshold>480) { - lower_SG_threshold = 480; - } - //divide by 32 - lower_SG_threshold >>=5; - if (SG_hysteresis>480) { - SG_hysteresis=480; - } - //divide by 32 - SG_hysteresis >>=5; - if (current_decrement_step_size>3) { - current_decrement_step_size=3; - } - if (current_increment_step_size>3) { - current_increment_step_size=3; - } - if (lower_current_limit>1) { - lower_current_limit=1; - } - //store the lower level in order to enable/disable the cool step - this->cool_step_lower_threshold=lower_SG_threshold; - //if cool step is not enabled we delete the lower value to keep it disabled - if (!this->cool_step_enabled) { - lower_SG_threshold=0; - } - //the good news is that we can start with a complete new cool step register value - //and simply set the values in the register - cool_step_register_value = ((unsigned long)lower_SG_threshold) | (((unsigned long)SG_hysteresis)<<8) | (((unsigned long)current_decrement_step_size)<<5) - | (((unsigned long)current_increment_step_size)<<13) | (((unsigned long)lower_current_limit)<<15) - //and of course we have to include the signature of the register - | COOL_STEP_REGISTER; - //Serial.println(cool_step_register_value,HEX); - if (started) { - send262(cool_step_register_value); - } -} - -void TMC26XStepper::setCoolStepEnabled(boolean enabled) { - //simply delete the lower limit to disable the cool step - cool_step_register_value &= ~SE_MIN_PATTERN; - //and set it to the proper value if cool step is to be enabled - if (enabled) { - cool_step_register_value |=this->cool_step_lower_threshold; - } - //and save the enabled status - this->cool_step_enabled = enabled; - //save the register value - if (started) { - send262(cool_step_register_value); - } -} - -boolean TMC26XStepper::isCoolStepEnabled(void) { - return this->cool_step_enabled; -} - -unsigned int TMC26XStepper::getCoolStepLowerSgThreshold() { - //we return our internally stored value - in order to provide the correct setting even if cool step is not enabled - return this->cool_step_lower_threshold<<5; -} - -unsigned int TMC26XStepper::getCoolStepUpperSgThreshold() { - return (unsigned char)((cool_step_register_value & SE_MAX_PATTERN)>>8)<<5; -} - -unsigned char TMC26XStepper::getCoolStepCurrentIncrementSize() { - return (unsigned char)((cool_step_register_value & CURRENT_DOWN_STEP_SPEED_PATTERN)>>13); -} - -unsigned char TMC26XStepper::getCoolStepNumberOfSGReadings() { - return (unsigned char)((cool_step_register_value & SE_CURRENT_STEP_WIDTH_PATTERN)>>5); -} - -unsigned char TMC26XStepper::getCoolStepLowerCurrentLimit() { - return (unsigned char)((cool_step_register_value & MINIMUM_CURRENT_FOURTH)>>15); -} - -void TMC26XStepper::setEnabled(boolean enabled) { - //delete the t_off in the chopper config to get sure - chopper_config_register &= ~(T_OFF_PATTERN); - if (enabled) { - //and set the t_off time - chopper_config_register |= this->constant_off_time; - } - //if not enabled we don't have to do anything since we already delete t_off from the register - if (started) { - send262(chopper_config_register); - } -} - -boolean TMC26XStepper::isEnabled() { - if (chopper_config_register & T_OFF_PATTERN) { - return true; - } else { - return false; - } -} - -/* - * reads a value from the TMC26X status register. The value is not obtained directly but can then - * be read by the various status routines. - * - */ -void TMC26XStepper::readStatus(char read_value) { - unsigned long old_driver_configuration_register_value = driver_configuration_register_value; - //reset the readout configuration - driver_configuration_register_value &= ~(READ_SELECTION_PATTERN); - //this now equals TMC26X_READOUT_POSITION - so we just have to check the other two options - if (read_value == TMC26X_READOUT_STALLGUARD) { - driver_configuration_register_value |= READ_STALL_GUARD_READING; - } else if (read_value == TMC26X_READOUT_CURRENT) { - driver_configuration_register_value |= READ_STALL_GUARD_AND_COOL_STEP; - } - //all other cases are ignored to prevent funny values - //check if the readout is configured for the value we are interested in - if (driver_configuration_register_value!=old_driver_configuration_register_value) { - //because then we need to write the value twice - one time for configuring, second time to get the value, see below - send262(driver_configuration_register_value); - } - //write the configuration to get the last status - send262(driver_configuration_register_value); -} - -int TMC26XStepper::getMotorPosition(void) { - //we read it out even if we are not started yet - perhaps it is useful information for somebody - readStatus(TMC26X_READOUT_POSITION); - return getReadoutValue(); -} - -//reads the stall guard setting from last status -//returns -1 if stallguard information is not present -int TMC26XStepper::getCurrentStallGuardReading(void) { - //if we don't yet started there cannot be a stall guard value - if (!started) { - return -1; - } - //not time optimal, but solution optiomal: - //first read out the stall guard value - readStatus(TMC26X_READOUT_STALLGUARD); - return getReadoutValue(); -} - -unsigned char TMC26XStepper::getCurrentCSReading(void) { - //if we don't yet started there cannot be a stall guard value - if (!started) { - return 0; - } - //not time optimal, but solution optiomal: - //first read out the stall guard value - readStatus(TMC26X_READOUT_CURRENT); - return (getReadoutValue() & 0x1f); -} - -unsigned int TMC26XStepper::getCurrentCurrent(void) { - double result = (double)getCurrentCSReading(); - double resistor_value = (double)this->resistor; - double voltage = (driver_configuration_register_value & VSENSE)? 0.165:0.31; - result = (result+1.0)/32.0*voltage/resistor_value*1000.0*1000.0; - return (unsigned int)result; -} - -/* - return true if the stallguard threshold has been reached -*/ -boolean TMC26XStepper::isStallGuardOverThreshold(void) { - if (!this->started) { - return false; - } - return (driver_status_result & STATUS_STALL_GUARD_STATUS); -} - -/* - returns if there is any over temperature condition: - OVER_TEMPERATURE_PREWARING if pre warning level has been reached - OVER_TEMPERATURE_SHUTDOWN if the temperature is so hot that the driver is shut down - Any of those levels are not too good. -*/ -char TMC26XStepper::getOverTemperature(void) { - if (!this->started) { - return 0; - } - if (driver_status_result & STATUS_OVER_TEMPERATURE_SHUTDOWN) { - return TMC26X_OVERTEMPERATURE_SHUTDOWN; - } - if (driver_status_result & STATUS_OVER_TEMPERATURE_WARNING) { - return TMC26X_OVERTEMPERATURE_PREWARING; - } - return 0; -} - -//is motor channel A shorted to ground -boolean TMC26XStepper::isShortToGroundA(void) { - if (!this->started) { - return false; - } - return (driver_status_result & STATUS_SHORT_TO_GROUND_A); -} - -//is motor channel B shorted to ground -boolean TMC26XStepper::isShortToGroundB(void) { - if (!this->started) { - return false; - } - return (driver_status_result & STATUS_SHORT_TO_GROUND_B); -} - -//is motor channel A connected -boolean TMC26XStepper::isOpenLoadA(void) { - if (!this->started) { - return false; - } - return (driver_status_result & STATUS_OPEN_LOAD_A); -} - -//is motor channel B connected -boolean TMC26XStepper::isOpenLoadB(void) { - if (!this->started) { - return false; - } - return (driver_status_result & STATUS_OPEN_LOAD_B); -} - -//is chopper inactive since 2^20 clock cycles - defaults to ~0,08s -boolean TMC26XStepper::isStandStill(void) { - if (!this->started) { - return false; - } - return (driver_status_result & STATUS_STAND_STILL); -} - -//is chopper inactive since 2^20 clock cycles - defaults to ~0,08s -boolean TMC26XStepper::isStallGuardReached(void) { - if (!this->started) { - return false; - } - return (driver_status_result & STATUS_STALL_GUARD_STATUS); -} - -//reads the stall guard setting from last status -//returns -1 if stallguard inforamtion is not present -int TMC26XStepper::getReadoutValue(void) { - return (int)(driver_status_result >> 10); -} - -int TMC26XStepper::getResistor() { - return this->resistor; -} - -boolean TMC26XStepper::isCurrentScalingHalfed() { - if (this->driver_configuration_register_value & VSENSE) { - return true; - } else { - return false; - } -} -/* - version() returns the version of the library: - */ -int TMC26XStepper::version(void) -{ - return 1; -} - -void TMC26XStepper::debugLastStatus() { -#ifdef DEBUG -if (this->started) { - if (this->getOverTemperature()&TMC26X_OVERTEMPERATURE_PREWARING) { - Serial.println("WARNING: Overtemperature Prewarning!"); - } else if (this->getOverTemperature()&TMC26X_OVERTEMPERATURE_SHUTDOWN) { - Serial.println("ERROR: Overtemperature Shutdown!"); - } - if (this->isShortToGroundA()) { - Serial.println("ERROR: SHORT to ground on channel A!"); - } - if (this->isShortToGroundB()) { - Serial.println("ERROR: SHORT to ground on channel A!"); - } - if (this->isOpenLoadA()) { - Serial.println("ERROR: Channel A seems to be unconnected!"); - } - if (this->isOpenLoadB()) { - Serial.println("ERROR: Channel B seems to be unconnected!"); - } - if (this->isStallGuardReached()) { - Serial.println("INFO: Stall Guard level reached!"); - } - if (this->isStandStill()) { - Serial.println("INFO: Motor is standing still."); - } - unsigned long readout_config = driver_configuration_register_value & READ_SELECTION_PATTERN; - int value = getReadoutValue(); - if (readout_config == READ_MICROSTEP_POSTION) { - Serial.print("Microstep postion phase A: "); - Serial.println(value); - } else if (readout_config == READ_STALL_GUARD_READING) { - Serial.print("Stall Guard value:"); - Serial.println(value); - } else if (readout_config == READ_STALL_GUARD_AND_COOL_STEP) { - int stallGuard = value & 0xf; - int current = value & 0x1F0; - Serial.print("Approx Stall Guard: "); - Serial.println(stallGuard); - Serial.print("Current level"); - Serial.println(current); - } - } -#endif -} - -/* - * send register settings to the stepper driver via SPI - * returns the current status - */ -inline void TMC26XStepper::send262(unsigned long datagram) { - unsigned long i_datagram; - - //preserver the previous spi mode - unsigned char oldMode = SPCR & SPI_MODE_MASK; - - //if the mode is not correct set it to mode 3 - if (oldMode != SPI_MODE3) { - SPI.setDataMode(SPI_MODE3); - } - - //select the TMC driver - digitalWrite(cs_pin,LOW); - - //ensure that only valid bist are set (0-19) - //datagram &=REGISTER_BIT_PATTERN; - -#ifdef DEBUG - Serial.print("Sending "); - Serial.println(datagram,HEX); -#endif - - //write/read the values - i_datagram = SPI.transfer((datagram >> 16) & 0xff); - i_datagram <<= 8; - i_datagram |= SPI.transfer((datagram >> 8) & 0xff); - i_datagram <<= 8; - i_datagram |= SPI.transfer((datagram) & 0xff); - i_datagram >>= 4; - -#ifdef DEBUG - Serial.print("Received "); - Serial.println(i_datagram,HEX); - debugLastStatus(); -#endif - //deselect the TMC chip - digitalWrite(cs_pin,HIGH); - - //restore the previous SPI mode if neccessary - //if the mode is not correct set it to mode 3 - if (oldMode != SPI_MODE3) { - SPI.setDataMode(oldMode); - } - - - //store the datagram as status result - driver_status_result = i_datagram; -} \ No newline at end of file diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.h b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.h deleted file mode 100644 index b5d51316a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/TMC26XStepper.h +++ /dev/null @@ -1,607 +0,0 @@ -/* - TMC26XStepper.cpp - - TMC26X Stepper library for Wiring/Arduino - - based on the stepper library by Tom Igoe, et. al. - - Copyright (c) 2011, Interactive Matter, Marcus Nowotny - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - - */ - - -// ensure this library description is only included once -#ifndef TMC26XStepper_h -#define TMC26XStepper_h - -//! return value for TMC26XStepper.getOverTemperature() if there is a overtemperature situation in the TMC chip -/*! - * This warning indicates that the TCM chip is too warm. - * It is still working but some parameters may be inferior. - * You should do something against it. - */ -#define TMC26X_OVERTEMPERATURE_PREWARING 1 -//! return value for TMC26XStepper.getOverTemperature() if there is a overtemperature shutdown in the TMC chip -/*! - * This warning indicates that the TCM chip is too warm to operate and has shut down to prevent damage. - * It will stop working until it cools down again. - * If you encouter this situation you must do something against it. Like reducing the current or improving the PCB layout - * and/or heat management. - */ -#define TMC26X_OVERTEMPERATURE_SHUTDOWN 2 - -//which values can be read out -/*! - * Selects to readout the microstep position from the motor. - *\sa readStatus() - */ -#define TMC26X_READOUT_POSITION 0 -/*! - * Selects to read out the StallGuard value of the motor. - *\sa readStatus() - */ -#define TMC26X_READOUT_STALLGUARD 1 -/*! - * Selects to read out the current current setting (acc. to CoolStep) and the upper bits of the StallGuard value from the motor. - *\sa readStatus(), setCurrent() - */ -#define TMC26X_READOUT_CURRENT 3 - -/*! - * Define to set the minimum current for CoolStep operation to 1/2 of the selected CS minium. - *\sa setCoolStepConfiguration() - */ -#define COOL_STEP_HALF_CS_LIMIT 0 -/*! - * Define to set the minimum current for CoolStep operation to 1/4 of the selected CS minium. - *\sa setCoolStepConfiguration() - */ -#define COOL_STEP_QUARTDER_CS_LIMIT 1 - -/*! - * \class TMC26XStepper - * \brief Class representing a TMC26X stepper driver - * - * In order to use one fo those drivers in your Arduino code you have to create an object of that class: - * \code - * TMC26XStepper stepper = TMC26XStepper(200,1,2,3,500); - * \endcode - * see TMC26XStepper(int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int rms_current) - * - * Keep in mind that you need to start the driver with start() in order to get the TMC26X configured. - * - * The most important function is the move(). It checks if the motor has to do a step or not. - * It is important that you call move() as often as possible in your Arduino loop() routine. I suggest - * to use a very fast loop routine and always call it at the beginning or the end. - * - * In order to move you have to provide a movement speed with setSpeed(). The speed is a positive value setting - * the rotations per minute. - * - * To really move the motor you have to call step() to tell the driver to move the motor the given number - * of steps in the given direction. Positive values move the motor in one direction, negative values in the other direction. - * - * You can check with isMoving() if the mototr is still moving or stop it apruptely with stop(). - */ -class TMC26XStepper { - public: - /*! - * \brief creates a new represenatation of a stepper motor connected to a TMC26X stepper driver - * - * This is the main constructor. If in doubt use this. You must provide all parameters as described below. - * - * \param number_of_steps the number of steps the motor has per rotation. - * \param cs_pin The Arduino pin you have connected the Cient Select Pin (!CS) of the TMC26X for SPI - * \param dir_pin the number of the Arduino pin the Direction input of the TMC26X is connected - * \param step_pin the number of the Arduino pin the step pin of the TMC26X driver is connected. - * \param rms_current the maximum current to privide to the motor in mA (!). A value of 200 would send up to 200mA to the motor - * \param resistor the current sense resistor in milli Ohm, defaults to ,15 Ohm ( or 150 milli Ohm) as in the TMC260 Arduino Shield - * - * Keep in mind that you must also call TMC26XStepper.start() in order to configure the stepper driver for use. - * - * By default the Constant Off Time chopper is used, see TCM262Stepper.setConstantOffTimeChopper() for details. - * This should work on most motors (YMMV). You may want to configure and use the Spread Cycle Chopper, see setSpreadCycleChopper(). - * - * By default a microstepping of 1/32th is used to provide a smooth motor run, while still giving a good progression per step. - * You can select a different stepping with setMicrosteps() to aa different value. - * \sa start(), setMicrosteps() - */ - TMC26XStepper(int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int current, unsigned int resistor=150); - - /*! - * \brief configures and starts the TMC26X stepper driver. Before you called this function the stepper driver is in nonfunctional mode. - * - * This routine configures the TMC26X stepper driver for the given values via SPI. - * Most member functions are non functional if the driver has not been started. - * Therefore it is best to call this in your Arduino setup() function. - */ - void start(); - - /*! - * \brief resets the stepper in unconfigured mode. - * - * This routine enables you to call start again. It does not change anything - * in the internal stepper configuration or the desired configuration. - * It just marks the stepper as not yet startet. You do not have to reconfigure - * the stepper to start it again, but it is not reset to any factory settings - * this has to be configured back by yourself. - * (Hint: Normally you do not need this function) - */ - void un_start(); - - - /*! - * \brief Sets the rotation speed in revolutions per minute. - * \param whatSpeed the desired speed in rotations per minute. - */ - void setSpeed(unsigned int whatSpeed); - - /*! - * \brief reads out the currently selected speed in revolutions per minute. - * \sa setSpeed() - */ - unsigned int getSpeed(void); - - /*! - * \brief Set the number of microsteps in 2^i values (rounded) up to 256 - * - * This method set's the number of microsteps per step in 2^i interval. - * This means you can select 1, 2, 4, 16, 32, 64, 128 or 256 as valid microsteps. - * If you give any other value it will be rounded to the next smaller number (3 would give a microstepping of 2). - * You can always check the current microstepping with getMicrosteps(). - */ - void setMicrosteps(int number_of_steps); - - /*! - * \brief returns the effective current number of microsteps selected. - * - * This function always returns the effective number of microsteps. - * This can be a bit different than the micro steps set in setMicrosteps() since it is rounded to 2^i. - * - * \sa setMicrosteps() - */ - int getMicrosteps(void); - - /*! - * \brief Initiate a movement for the given number of steps. Positive numbers move in one, negative numbers in the other direction. - * - * \param number_of_steps The number of steps to move the motor. - * \return 0 if the motor was not moving and moves now. -1 if the motor is moving and the new steps could not be set. - * - * If the previous movement is not finished yet the function will return -1 and not change the steps to move the motor. - * If the motor does not move it return 0 - * - * The direction of the movement is indicated by the sign of the steps parameter. It is not determinable if positive values are right - * or left This depends on the internal construction of the motor and how you connected it to the stepper driver. - * - * You can always verify with isMoving() or even use stop() to stop the motor before giving it new step directions. - * \sa isMoving(), getStepsLeft(), stop() - */ - char step(int number_of_steps); - - /*! - * \brief Central movement method, must be called as often as possible in the lopp function and is very fast. - * - * This routine checks if the motor still has to move, if the waiting delay has passed to send a new step command to the motor - * and manages the number of steps yet to move to fulfill the current move command. - * - * This function is implemented to be as fast as possible to call it as often as possible in your loop routine. - * The more regurlarly you call this function the better. In both senses of 'regularly': Calling it as often as - * possible is not a bad idea and if you even manage that the intervals you call this function are not too irregular helps too. - * - * You can call this routine even if you know that the motor is not miving. It introduces just a very small penalty in your code. - * You must not call isMoving() to determine if you need to call this function, since taht is done internally already and only - * slows down you code. - * - * How often you call this function directly influences your top miving speed for the motor. It may be a good idea to call this - * from an timer overflow interrupt to ensure proper calling. - * \sa step() - */ - char move(void); - - /*! - * \brief checks if the motor still has to move to fulfill the last movement command. - * \return 0 if the motor stops, -1 if the motor is moving. - * - * This method can be used to determine if the motor is ready for new movements. - *\sa step(), move() - */ - char isMoving(void); - - /*! - * \brief Get the number of steps left in the current movement. - * \return The number of steps left in the movement. This number is always positive. - */ - unsigned int getStepsLeft(void); - - /*! - * \brief Stops the motor regardless if it moves or not. - * \return -1 if the motor was moving and is really stoped or 0 if it was not moving at all. - * - * This method directly and apruptely stops the motor and may be used as an emergency stop. - */ - char stop(void); - - /*! - * \brief Sets and configure the classical Constant Off Timer Chopper - * \param constant_off_time The off time setting controls the minimum chopper frequency. For most applications an off time within the range of 5μs to 20μs will fit. Setting this parameter to zero completely disables all driver transistors and the motor can free-wheel. 0: chopper off, 1:15: off time setting (1 will work with minimum blank time of 24 clocks) - * \param blank_time Selects the comparator blank time. This time needs to safely cover the switching event and the duration of the ringing on the sense resistor. For most low current drivers, a setting of 1 or 2 is good. For high current applications with large MOSFETs, a setting of 2 or 3 will be required. 0 (min setting) … (3) amx setting - * \param fast_decay_time_setting Fast decay time setting. Controls the portion of fast decay for each chopper cycle. 0: slow decay only, 1…15: duration of fast decay phase - * \param sine_wave_offset Sine wave offset. Controls the sine wave offset. A positive offset corrects for zero crossing error. -3…-1: negative offset, 0: no offset,1…12: positive offset - * \param use_curreent_comparator Selects usage of the current comparator for termination of the fast decay cycle. If current comparator is enabled, it terminates the fast decay cycle in case the current reaches a higher negative value than the actual positive value. (0 disable, -1 enable). - * - * The classic constant off time chopper uses a fixed portion of fast decay following each on phase. - * While the duration of the on time is determined by the chopper comparator, the fast decay time needs - * to be set by the user in a way, that the current decay is enough for the driver to be able to follow - * the falling slope of the sine wave, and on the other hand it should not be too long, in order to minimize - * motor current ripple and power dissipation. This best can be tuned using an oscilloscope or - * trying out motor smoothness at different velocities. A good starting value is a fast decay time setting - * similar to the slow decay time setting. - * After tuning of the fast decay time, the offset should be determined, in order to have a smooth zero transition. - * This is necessary, because the fast decay phase leads to the absolute value of the motor current being lower - * than the target current (see figure 17). If the zero offset is too low, the motor stands still for a short - * moment during current zero crossing, if it is set too high, it makes a larger microstep. - * Typically, a positive offset setting is required for optimum operation. - * - * \sa setSpreadCycleChoper() for other alternatives. - * \sa setRandomOffTime() for spreading the noise over a wider spectrum - */ - void setConstantOffTimeChopper(char constant_off_time, char blank_time, char fast_decay_time_setting, char sine_wave_offset, unsigned char use_current_comparator); - - /*! - * \brief Sets and configures with spread cycle chopper. - * \param constant_off_time The off time setting controls the minimum chopper frequency. For most applications an off time within the range of 5μs to 20μs will fit. Setting this parameter to zero completely disables all driver transistors and the motor can free-wheel. 0: chopper off, 1:15: off time setting (1 will work with minimum blank time of 24 clocks) - * \param blank_time Selects the comparator blank time. This time needs to safely cover the switching event and the duration of the ringing on the sense resistor. For most low current drivers, a setting of 1 or 2 is good. For high current applications with large MOSFETs, a setting of 2 or 3 will be required. 0 (min setting) … (3) amx setting - * \param hysteresis_start Hysteresis start setting. Please remark, that this value is an offset to the hysteresis end value. 1 … 8 - * \param hysteresis_end Hysteresis end setting. Sets the hysteresis end value after a number of decrements. Decrement interval time is controlled by hysteresis_decrement. The sum hysteresis_start + hysteresis_end must be <16. At a current setting CS of max. 30 (amplitude reduced to 240), the sum is not limited. - * \param hysteresis_decrement Hysteresis decrement setting. This setting determines the slope of the hysteresis during on time and during fast decay time. 0 (fast decrement) … 3 (slow decrement). - * - * The spreadCycle chopper scheme (pat.fil.) is a precise and simple to use chopper principle, which automatically determines - * the optimum fast decay portion for the motor. Anyhow, a number of settings can be made in order to optimally fit the driver - * to the motor. - * Each chopper cycle is comprised of an on-phase, a slow decay phase, a fast decay phase and a second slow decay phase. - * The slow decay phases limit the maximum chopper frequency and are important for low motor and driver power dissipation. - * The hysteresis start setting limits the chopper frequency by forcing the driver to introduce a minimum amount of - * current ripple into the motor coils. The motor inductivity determines the ability to follow a changing motor current. - * The duration of the on- and fast decay phase needs to cover at least the blank time, because the current comparator is - * disabled during this time. - * - * \sa setRandomOffTime() for spreading the noise over a wider spectrum - */ - void setSpreadCycleChopper(char constant_off_time, char blank_time, char hysteresis_start, char hysteresis_end, char hysteresis_decrement); - - /*! - * \brief Use random off time for noise reduction (0 for off, -1 for on). - * \param value 0 for off, -1 for on - * - * In a constant off time chopper scheme both coil choppers run freely, i.e. are not synchronized. - * The frequency of each chopper mainly depends on the coil current and the position dependant motor coil inductivity, - * thus it depends on the microstep position. With some motors a slightly audible beat can occur between the chopper - * frequencies, especially when they are near to each other. This typically occurs at a few microstep positions within - * each quarter wave. - * This effect normally is not audible when compared to mechanical noise generated by ball bearings, - * etc. Further factors which can cause a similar effect are a poor layout of sense resistor GND connection. - * In order to minimize the effect of a beat between both chopper frequencies, an internal random generator is provided. - * It modulates the slow decay time setting when switched on. The random off time feature further spreads the chopper spectrum, - * reducing electromagnetic emission on single frequencies. - */ - void setRandomOffTime(char value); - - /*! - * \brief set the maximum motor current in mA (1000 is 1 Amp) - * Keep in mind this is the maximum peak Current. The RMS current will be 1/sqrt(2) smaller. The actual current can also be smaller - * by employing CoolStep. - * \param current the maximum motor current in mA - * \sa getCurrent(), getCurrentCurrent() - */ - void setCurrent(unsigned int current); - - /*! - * \brief readout the motor maximum current in mA (1000 is an Amp) - * This is the maximum current. to get the current current - which may be affected by CoolStep us getCurrentCurrent() - *\return the maximum motor current in milli amps - * \sa getCurrentCurrent() - */ - unsigned int getCurrent(void); - - /*! - * \brief set the StallGuard threshold in order to get sensible StallGuard readings. - * \param stall_guard_threshold -64 … 63 the StallGuard threshold - * \param stall_guard_filter_enabled 0 if the filter is disabled, -1 if it is enabled - * - * The StallGuard threshold is used to optimize the StallGuard reading to sensible values. It should be at 0 at - * the maximum allowable load on the otor (but not before). = is a good starting point (and the default) - * If you get Stall Gaurd readings of 0 without any load or with too little laod increase the value. - * If you get readings of 1023 even with load decrease the setting. - * - * If you switch on the filter the StallGuard reading is only updated each 4th full step to reduce the noise in the - * reading. - * - * \sa getCurrentStallGuardReading() to read out the current value. - */ - void setStallGuardThreshold(char stall_guard_threshold, char stall_guard_filter_enabled); - - /*! - * \brief reads out the StallGuard threshold - * \return a number between -64 and 63. - */ - char getStallGuardThreshold(void); - - /*! - * \brief returns the current setting of the StallGuard filter - * \return 0 if not set, -1 if set - */ - char getStallGuardFilter(void); - - /*! - * \brief This method configures the CoolStep smart energy operation. You must have a proper StallGuard configuration for the motor situation (current, voltage, speed) in rder to use this feature. - * \param lower_SG_threshold Sets the lower threshold for stallGuard2TM reading. Below this value, the motor current becomes increased. Allowed values are 0...480 - * \param SG_hysteresis Sets the distance between the lower and the upper threshold for stallGuard2TM reading. Above the upper threshold (which is lower_SG_threshold+SG_hysteresis+1) the motor current becomes decreased. Allowed values are 0...480 - * \param current_decrement_step_size Sets the current decrement steps. If the StallGuard value is above the threshold the current gets decremented by this step size. 0...32 - * \param current_increment_step_size Sets the current increment step. The current becomes incremented for each measured stallGuard2TM value below the lower threshold. 0...8 - * \param lower_current_limit Sets the lower motor current limit for coolStepTM operation by scaling the CS value. Values can be COOL_STEP_HALF_CS_LIMIT, COOL_STEP_QUARTER_CS_LIMIT - * The CoolStep smart energy operation automatically adjust the current sent into the motor according to the current load, - * read out by the StallGuard in order to provide the optimum torque with the minimal current consumption. - * You configure the CoolStep current regulator by defining upper and lower bounds of StallGuard readouts. If the readout is above the - * limit the current gets increased, below the limit the current gets decreased. - * You can specify the upper an lower threshold of the StallGuard readout in order to adjust the current. You can also set the number of - * StallGuard readings neccessary above or below the limit to get a more stable current adjustement. - * The current adjustement itself is configured by the number of steps the current gests in- or decreased and the absolut minimum current - * (1/2 or 1/4th otf the configured current). - * \sa COOL_STEP_HALF_CS_LIMIT, COOL_STEP_QUARTER_CS_LIMIT - */ - void setCoolStepConfiguration(unsigned int lower_SG_threshold, unsigned int SG_hysteresis, unsigned char current_decrement_step_size, - unsigned char current_increment_step_size, unsigned char lower_current_limit); - - /*! - * \brief enables or disables the CoolStep smart energy operation feature. It must be configured before enabling it. - * \param enabled true if CoolStep should be enabled, false if not. - * \sa setCoolStepConfiguration() - */ - void setCoolStepEnabled(boolean enabled); - - - /*! - * \brief check if the CoolStep feature is enabled - * \sa setCoolStepEnabled() - */ - boolean isCoolStepEnabled(); - - /*! - * \brief returns the lower StallGuard threshold for the CoolStep operation - * \sa setCoolStepConfiguration() - */ - unsigned int getCoolStepLowerSgThreshold(); - - /*! - * \brief returns the upper StallGuard threshold for the CoolStep operation - * \sa setCoolStepConfiguration() - */ - unsigned int getCoolStepUpperSgThreshold(); - - /*! - * \brief returns the number of StallGuard readings befor CoolStep adjusts the motor current. - * \sa setCoolStepConfiguration() - */ - unsigned char getCoolStepNumberOfSGReadings(); - - /*! - * \brief returns the increment steps for the current for the CoolStep operation - * \sa setCoolStepConfiguration() - */ - unsigned char getCoolStepCurrentIncrementSize(); - - /*! - * \brief returns the absolut minium current for the CoolStep operation - * \sa setCoolStepConfiguration() - * \sa COOL_STEP_HALF_CS_LIMIT, COOL_STEP_QUARTER_CS_LIMIT - */ - unsigned char getCoolStepLowerCurrentLimit(); - - /*! - * \brief Get the current microstep position for phase A - * \return The current microstep position for phase A 0…255 - * - * Keep in mind that this routine reads and writes a value via SPI - so this may take a bit time. - */ - int getMotorPosition(void); - - /*! - * \brief Reads the current StallGuard value. - * \return The current StallGuard value, lesser values indicate higher load, 0 means stall detected. - * Keep in mind that this routine reads and writes a value via SPI - so this may take a bit time. - * \sa setStallGuardThreshold() for tuning the readout to sensible ranges. - */ - int getCurrentStallGuardReading(void); - - /*! - * \brief Reads the current current setting value as fraction of the maximum current - * Returns values between 0 and 31, representing 1/32 to 32/32 (=1) - * \sa setCoolStepConfiguration() - */ - unsigned char getCurrentCSReading(void); - - - /*! - *\brief a convenience method to determine if the current scaling uses 0.31V or 0.165V as reference. - *\return false if 0.13V is the reference voltage, true if 0.165V is used. - */ - boolean isCurrentScalingHalfed(); - - /*! - * \brief Reads the current current setting value and recalculates the absolute current in mA (1A would be 1000). - * This method calculates the currently used current setting (either by setting or by CoolStep) and reconstructs - * the current in mA by usinge the VSENSE and resistor value. This method uses floating point math - so it - * may not be the fastest. - * \sa getCurrentCSReading(), getResistor(), isCurrentScalingHalfed(), getCurrent() - */ - unsigned int getCurrentCurrent(void); - - /*! - * \brief checks if there is a StallGuard warning in the last status - * \return 0 if there was no warning, -1 if there was some warning. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - * - * \sa setStallGuardThreshold() for tuning the readout to sensible ranges. - */ - boolean isStallGuardOverThreshold(void); - - /*! - * \brief Return over temperature status of the last status readout - * return 0 is everything is OK, TMC26X_OVERTEMPERATURE_PREWARING if status is reached, TMC26X_OVERTEMPERATURE_SHUTDOWN is the chip is shutdown, -1 if the status is unknown. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - */ - char getOverTemperature(void); - - /*! - * \brief Is motor channel A shorted to ground detected in the last status readout. - * \return true is yes, false if not. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - */ - - boolean isShortToGroundA(void); - - /*! - * \brief Is motor channel B shorted to ground detected in the last status readout. - * \return true is yes, false if not. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - */ - boolean isShortToGroundB(void); - /*! - * \brief iIs motor channel A connected according to the last statu readout. - * \return true is yes, false if not. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - */ - boolean isOpenLoadA(void); - - /*! - * \brief iIs motor channel A connected according to the last statu readout. - * \return true is yes, false if not. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - */ - boolean isOpenLoadB(void); - - /*! - * \brief Is chopper inactive since 2^20 clock cycles - defaults to ~0,08s - * \return true is yes, false if not. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - */ - boolean isStandStill(void); - - /*! - * \brief checks if there is a StallGuard warning in the last status - * \return 0 if there was no warning, -1 if there was some warning. - * Keep in mind that this method does not enforce a readout but uses the value of the last status readout. - * You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout. - * - * \sa isStallGuardOverThreshold() - * TODO why? - * - * \sa setStallGuardThreshold() for tuning the readout to sensible ranges. - */ - boolean isStallGuardReached(void); - - /*! - *\brief enables or disables the motor driver bridges. If disabled the motor can run freely. If enabled not. - *\param enabled a boolean value true if the motor should be enabled, false otherwise. - */ - void setEnabled(boolean enabled); - - /*! - *\brief checks if the output bridges are enabled. If the bridges are not enabled the motor can run freely - *\return true if the bridges and by that the motor driver are enabled, false if not. - *\sa setEnabled() - */ - boolean isEnabled(); - - /*! - * \brief Manually read out the status register - * This function sends a byte to the motor driver in order to get the current readout. The parameter read_value - * seletcs which value will get returned. If the read_vlaue changes in respect to the previous readout this method - * automatically send two bytes to the motor: one to set the redout and one to get the actual readout. So this method - * may take time to send and read one or two bits - depending on the previous readout. - * \param read_value selects which value to read out (0..3). You can use the defines TMC26X_READOUT_POSITION, TMC_262_READOUT_STALLGUARD, or TMC_262_READOUT_CURRENT - * \sa TMC26X_READOUT_POSITION, TMC_262_READOUT_STALLGUARD, TMC_262_READOUT_CURRENT - */ - void readStatus(char read_value); - - /*! - * \brief Returns the current sense resistor value in milliohm. - * The default value of ,15 Ohm will return 150. - */ - int getResistor(); - - /*! - * \brief Prints out all the information that can be found in the last status read out - it does not force a status readout. - * The result is printed via Serial - */ - void debugLastStatus(void); - /*! - * \brief library version - * \return the version number as int. - */ - int version(void); - - private: - unsigned int steps_left; //the steps the motor has to do to complete the movement - int direction; // Direction of rotation - unsigned long step_delay; // delay between steps, in ms, based on speed - int number_of_steps; // total number of steps this motor can take - unsigned int speed; // we need to store the current speed in order to change the speed after changing microstepping - unsigned int resistor; //current sense resitor value in milliohm - - unsigned long last_step_time; // time stamp in ms of when the last step was taken - unsigned long next_step_time; // time stamp in ms of when the last step was taken - - //driver control register copies to easily set & modify the registers - unsigned long driver_control_register_value; - unsigned long chopper_config_register; - unsigned long cool_step_register_value; - unsigned long stall_guard2_current_register_value; - unsigned long driver_configuration_register_value; - //the driver status result - unsigned long driver_status_result; - - //helper routione to get the top 10 bit of the readout - inline int getReadoutValue(); - - //the pins for the stepper driver - unsigned char cs_pin; - unsigned char step_pin; - unsigned char dir_pin; - - //status values - boolean started; //if the stepper has been started yet - int microsteps; //the current number of micro steps - char constant_off_time; //we need to remember this value in order to enable and disable the motor - unsigned char cool_step_lower_threshold; // we need to remember the threshold to enable and disable the CoolStep feature - boolean cool_step_enabled; //we need to remember this to configure the coolstep if it si enabled - - //SPI sender - inline void send262(unsigned long datagram); -}; - -#endif - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp.html deleted file mode 100644 index a577ca3ea..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp.html +++ /dev/null @@ -1,848 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: TMC26XStepper.cpp File Reference - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
- -
-
TMC26XStepper.cpp File Reference
-
-
-
#include <WProgram.h>
-#include <SPI.h>
-#include "TMC26XStepper.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

#define DEFAULT_MICROSTEPPING_VALUE   32
#define DRIVER_CONTROL_REGISTER   0x0ul
#define CHOPPER_CONFIG_REGISTER   0x80000ul
#define COOL_STEP_REGISTER   0xA0000ul
#define STALL_GUARD2_LOAD_MEASURE_REGISTER   0xC0000ul
#define DRIVER_CONFIG_REGISTER   0xE0000ul
#define REGISTER_BIT_PATTERN   0xFFFFFul
#define MICROSTEPPING_PATTERN   0xFul
#define STEP_INTERPOLATION   0x200ul
#define DOUBLE_EDGE_STEP   0x100ul
#define VSENSE   0x40ul
#define READ_MICROSTEP_POSTION   0x0ul
#define READ_STALL_GUARD_READING   0x10ul
#define READ_STALL_GUARD_AND_COOL_STEP   0x20ul
#define READ_SELECTION_PATTERN   0x30ul
#define CHOPPER_MODE_STANDARD   0x0ul
#define CHOPPER_MODE_T_OFF_FAST_DECAY   0x4000ul
#define T_OFF_PATTERN   0xful
#define RANDOM_TOFF_TIME   0x2000ul
#define BLANK_TIMING_PATTERN   0x18000ul
#define BLANK_TIMING_SHIFT   15
#define HYSTERESIS_DECREMENT_PATTERN   0x1800ul
#define HYSTERESIS_DECREMENT_SHIFT   11
#define HYSTERESIS_LOW_VALUE_PATTERN   0x780ul
#define HYSTERESIS_LOW_SHIFT   7
#define HYSTERESIS_START_VALUE_PATTERN   0x78ul
#define HYSTERESIS_START_VALUE_SHIFT   4
#define T_OFF_TIMING_PATERN   0xFul
#define MINIMUM_CURRENT_FOURTH   0x8000ul
#define CURRENT_DOWN_STEP_SPEED_PATTERN   0x6000ul
#define SE_MAX_PATTERN   0xF00ul
#define SE_CURRENT_STEP_WIDTH_PATTERN   0x60ul
#define SE_MIN_PATTERN   0xful
#define STALL_GUARD_FILTER_ENABLED   0x10000ul
#define STALL_GUARD_TRESHHOLD_VALUE_PATTERN   0x17F00ul
#define CURRENT_SCALING_PATTERN   0x1Ful
#define STALL_GUARD_CONFIG_PATTERN   0x17F00ul
#define STALL_GUARD_VALUE_PATTERN   0x7F00ul
#define STATUS_STALL_GUARD_STATUS   0x1ul
#define STATUS_OVER_TEMPERATURE_SHUTDOWN   0x2ul
#define STATUS_OVER_TEMPERATURE_WARNING   0x4ul
#define STATUS_SHORT_TO_GROUND_A   0x8ul
#define STATUS_SHORT_TO_GROUND_B   0x10ul
#define STATUS_OPEN_LOAD_A   0x20ul
#define STATUS_OPEN_LOAD_B   0x40ul
#define STATUS_STAND_STILL   0x80ul
#define READOUT_VALUE_PATTERN   0xFFC00ul
#define INITIAL_MICROSTEPPING   0x3ul
-

Define Documentation

- -
-
- - - - -
#define BLANK_TIMING_PATTERN   0x18000ul
-
-
- -

Definition at line 63 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define BLANK_TIMING_SHIFT   15
-
-
- -

Definition at line 64 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define CHOPPER_CONFIG_REGISTER   0x80000ul
-
-
- -

Definition at line 41 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define CHOPPER_MODE_STANDARD   0x0ul
-
-
- -

Definition at line 59 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define CHOPPER_MODE_T_OFF_FAST_DECAY   0x4000ul
-
-
- -

Definition at line 60 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define COOL_STEP_REGISTER   0xA0000ul
-
-
- -

Definition at line 42 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define CURRENT_DOWN_STEP_SPEED_PATTERN   0x6000ul
-
-
- -

Definition at line 75 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define CURRENT_SCALING_PATTERN   0x1Ful
-
-
- -

Definition at line 83 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define DEFAULT_MICROSTEPPING_VALUE   32
-
-
- -

Definition at line 37 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define DOUBLE_EDGE_STEP   0x100ul
-
-
- -

Definition at line 51 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define DRIVER_CONFIG_REGISTER   0xE0000ul
-
-
- -

Definition at line 44 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define DRIVER_CONTROL_REGISTER   0x0ul
-
-
- -

Definition at line 40 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define HYSTERESIS_DECREMENT_PATTERN   0x1800ul
-
-
- -

Definition at line 65 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define HYSTERESIS_DECREMENT_SHIFT   11
-
-
- -

Definition at line 66 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define HYSTERESIS_LOW_SHIFT   7
-
-
- -

Definition at line 68 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define HYSTERESIS_LOW_VALUE_PATTERN   0x780ul
-
-
- -

Definition at line 67 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define HYSTERESIS_START_VALUE_PATTERN   0x78ul
-
-
- -

Definition at line 69 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define HYSTERESIS_START_VALUE_SHIFT   4
-
-
- -

Definition at line 70 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define INITIAL_MICROSTEPPING   0x3ul
-
-
- -

Definition at line 99 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define MICROSTEPPING_PATTERN   0xFul
-
-
- -

Definition at line 49 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define MINIMUM_CURRENT_FOURTH   0x8000ul
-
-
- -

Definition at line 74 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define RANDOM_TOFF_TIME   0x2000ul
-
-
- -

Definition at line 62 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define READ_MICROSTEP_POSTION   0x0ul
-
-
- -

Definition at line 53 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define READ_SELECTION_PATTERN   0x30ul
-
-
- -

Definition at line 56 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define READ_STALL_GUARD_AND_COOL_STEP   0x20ul
-
-
- -

Definition at line 55 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define READ_STALL_GUARD_READING   0x10ul
-
-
- -

Definition at line 54 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define READOUT_VALUE_PATTERN   0xFFC00ul
-
-
- -

Definition at line 96 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define REGISTER_BIT_PATTERN   0xFFFFFul
-
-
- -

Definition at line 46 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define SE_CURRENT_STEP_WIDTH_PATTERN   0x60ul
-
-
- -

Definition at line 77 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define SE_MAX_PATTERN   0xF00ul
-
-
- -

Definition at line 76 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define SE_MIN_PATTERN   0xful
-
-
- -

Definition at line 78 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STALL_GUARD2_LOAD_MEASURE_REGISTER   0xC0000ul
-
-
- -

Definition at line 43 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STALL_GUARD_CONFIG_PATTERN   0x17F00ul
-
-
- -

Definition at line 84 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STALL_GUARD_FILTER_ENABLED   0x10000ul
-
-
- -

Definition at line 81 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STALL_GUARD_TRESHHOLD_VALUE_PATTERN   0x17F00ul
-
-
- -

Definition at line 82 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STALL_GUARD_VALUE_PATTERN   0x7F00ul
-
-
- -

Definition at line 85 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_OPEN_LOAD_A   0x20ul
-
-
- -

Definition at line 93 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_OPEN_LOAD_B   0x40ul
-
-
- -

Definition at line 94 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_OVER_TEMPERATURE_SHUTDOWN   0x2ul
-
-
- -

Definition at line 89 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_OVER_TEMPERATURE_WARNING   0x4ul
-
-
- -

Definition at line 90 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_SHORT_TO_GROUND_A   0x8ul
-
-
- -

Definition at line 91 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_SHORT_TO_GROUND_B   0x10ul
-
-
- -

Definition at line 92 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_STALL_GUARD_STATUS   0x1ul
-
-
- -

Definition at line 88 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STATUS_STAND_STILL   0x80ul
-
-
- -

Definition at line 95 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define STEP_INTERPOLATION   0x200ul
-
-
- -

Definition at line 50 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define T_OFF_PATTERN   0xful
-
-
- -

Definition at line 61 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define T_OFF_TIMING_PATERN   0xFul
-
-
- -

Definition at line 71 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - -
#define VSENSE   0x40ul
-
-
- -

Definition at line 52 of file TMC26XStepper.cpp.

- -
-
-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp_source.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp_source.html deleted file mode 100644 index f7f4741ce..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8cpp_source.html +++ /dev/null @@ -1,1067 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: TMC26XStepper.cpp Source File - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
-
-
TMC26XStepper.cpp
-
-
-Go to the documentation of this file.
00001 /*
-00002  TMC26XStepper.cpp - - TMC26X Stepper library for Wiring/Arduino - Version 0.1
-00003  
-00004  based on the stepper library by Tom Igoe, et. al.
-00005  
-00006  Copyright (c) 2011, Interactive Matter, Marcus Nowotny
-00007  
-00008  Permission is hereby granted, free of charge, to any person obtaining a copy
-00009  of this software and associated documentation files (the "Software"), to deal
-00010  in the Software without restriction, including without limitation the rights
-00011  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-00012  copies of the Software, and to permit persons to whom the Software is
-00013  furnished to do so, subject to the following conditions:
-00014  
-00015  The above copyright notice and this permission notice shall be included in
-00016  all copies or substantial portions of the Software.
-00017  
-00018  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-00019  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-00020  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-00021  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-00022  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-00023  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-00024  THE SOFTWARE.
-00025  
-00026  */
-00027 
-00028 #if defined(ARDUINO) && ARDUINO >= 100
-00029         #include <Arduino.h>
-00030 #else
-00031         #include <WProgram.h>
-00032 #endif
-00033 #include <SPI.h>
-00034 #include "TMC26XStepper.h"
-00035 
-00036 //some default values used in initialization
-00037 #define DEFAULT_MICROSTEPPING_VALUE 32
-00038 
-00039 //TMC26X register definitions
-00040 #define DRIVER_CONTROL_REGISTER 0x0ul
-00041 #define CHOPPER_CONFIG_REGISTER 0x80000ul
-00042 #define COOL_STEP_REGISTER  0xA0000ul
-00043 #define STALL_GUARD2_LOAD_MEASURE_REGISTER 0xC0000ul
-00044 #define DRIVER_CONFIG_REGISTER 0xE0000ul
-00045 
-00046 #define REGISTER_BIT_PATTERN 0xFFFFFul
-00047 
-00048 //definitions for the driver control register
-00049 #define MICROSTEPPING_PATTERN 0xFul
-00050 #define STEP_INTERPOLATION 0x200ul
-00051 #define DOUBLE_EDGE_STEP 0x100ul
-00052 #define VSENSE 0x40ul
-00053 #define READ_MICROSTEP_POSTION 0x0ul
-00054 #define READ_STALL_GUARD_READING 0x10ul
-00055 #define READ_STALL_GUARD_AND_COOL_STEP 0x20ul
-00056 #define READ_SELECTION_PATTERN 0x30ul
-00057 
-00058 //definitions for the chopper config register
-00059 #define CHOPPER_MODE_STANDARD 0x0ul
-00060 #define CHOPPER_MODE_T_OFF_FAST_DECAY 0x4000ul
-00061 #define T_OFF_PATTERN 0xful
-00062 #define RANDOM_TOFF_TIME 0x2000ul
-00063 #define BLANK_TIMING_PATTERN 0x18000ul
-00064 #define BLANK_TIMING_SHIFT 15
-00065 #define HYSTERESIS_DECREMENT_PATTERN 0x1800ul
-00066 #define HYSTERESIS_DECREMENT_SHIFT 11
-00067 #define HYSTERESIS_LOW_VALUE_PATTERN 0x780ul
-00068 #define HYSTERESIS_LOW_SHIFT 7
-00069 #define HYSTERESIS_START_VALUE_PATTERN 0x78ul
-00070 #define HYSTERESIS_START_VALUE_SHIFT 4
-00071 #define T_OFF_TIMING_PATERN 0xFul
-00072 
-00073 //definitions for cool step register
-00074 #define MINIMUM_CURRENT_FOURTH 0x8000ul
-00075 #define CURRENT_DOWN_STEP_SPEED_PATTERN 0x6000ul
-00076 #define SE_MAX_PATTERN 0xF00ul
-00077 #define SE_CURRENT_STEP_WIDTH_PATTERN 0x60ul
-00078 #define SE_MIN_PATTERN 0xful
-00079 
-00080 //definitions for stall guard2 current register
-00081 #define STALL_GUARD_FILTER_ENABLED 0x10000ul
-00082 #define STALL_GUARD_TRESHHOLD_VALUE_PATTERN 0x17F00ul
-00083 #define CURRENT_SCALING_PATTERN 0x1Ful
-00084 #define STALL_GUARD_CONFIG_PATTERN 0x17F00ul
-00085 #define STALL_GUARD_VALUE_PATTERN 0x7F00ul
-00086 
-00087 //definitions for the input from the TCM260
-00088 #define STATUS_STALL_GUARD_STATUS 0x1ul
-00089 #define STATUS_OVER_TEMPERATURE_SHUTDOWN 0x2ul
-00090 #define STATUS_OVER_TEMPERATURE_WARNING 0x4ul
-00091 #define STATUS_SHORT_TO_GROUND_A 0x8ul
-00092 #define STATUS_SHORT_TO_GROUND_B 0x10ul
-00093 #define STATUS_OPEN_LOAD_A 0x20ul
-00094 #define STATUS_OPEN_LOAD_B 0x40ul
-00095 #define STATUS_STAND_STILL 0x80ul
-00096 #define READOUT_VALUE_PATTERN 0xFFC00ul
-00097 
-00098 //default values
-00099 #define INITIAL_MICROSTEPPING 0x3ul //32th microstepping
-00100 
-00101 //debuging output
-00102 //#define DEBUG
-00103 
-00104 /*
-00105  * Constructor
-00106  * number_of_steps - the steps per rotation
-00107  * cs_pin - the SPI client select pin
-00108  * dir_pin - the pin where the direction pin is connected
-00109  * step_pin - the pin where the step pin is connected
-00110  */
-00111 TMC26XStepper::TMC26XStepper(int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int current, unsigned int resistor)
-00112 {
-00113         //we are not started yet
-00114         started=false;
-00115     //by default cool step is not enabled
-00116     cool_step_enabled=false;
-00117         
-00118         //save the pins for later use
-00119         this->cs_pin=cs_pin;
-00120         this->dir_pin=dir_pin;
-00121         this->step_pin = step_pin;
-00122     
-00123     //store the current sense resistor value for later use
-00124     this->resistor = resistor;
-00125         
-00126         //initizalize our status values
-00127         this->steps_left = 0;
-00128         this->direction = 0;
-00129         
-00130         //initialize register values
-00131         driver_control_register_value=DRIVER_CONTROL_REGISTER | INITIAL_MICROSTEPPING;
-00132         chopper_config_register=CHOPPER_CONFIG_REGISTER;
-00133         
-00134         //setting the default register values
-00135         driver_control_register_value=DRIVER_CONTROL_REGISTER|INITIAL_MICROSTEPPING;
-00136         microsteps = (1 << INITIAL_MICROSTEPPING);
-00137         chopper_config_register=CHOPPER_CONFIG_REGISTER;
-00138         cool_step_register_value=COOL_STEP_REGISTER;
-00139         stall_guard2_current_register_value=STALL_GUARD2_LOAD_MEASURE_REGISTER;
-00140         driver_configuration_register_value = DRIVER_CONFIG_REGISTER | READ_STALL_GUARD_READING;
-00141 
-00142         //set the current
-00143         setCurrent(current);
-00144         //set to a conservative start value
-00145         setConstantOffTimeChopper(7, 54, 13,12,1);
-00146     //set a nice microstepping value
-00147     setMicrosteps(DEFAULT_MICROSTEPPING_VALUE);
-00148     //save the number of steps
-00149     this->number_of_steps =   number_of_steps;
-00150 }
-00151 
-00152 
-00153 /*
-00154  * start & configure the stepper driver
-00155  * just must be called.
-00156  */
-00157 void TMC26XStepper::start() {
-00158 
-00159 #ifdef DEBUG    
-00160         Serial.println("TMC26X stepper library");
-00161         Serial.print("CS pin: ");
-00162         Serial.println(cs_pin);
-00163         Serial.print("DIR pin: ");
-00164         Serial.println(dir_pin);
-00165         Serial.print("STEP pin: ");
-00166         Serial.println(step_pin);
-00167         Serial.print("current scaling: ");
-00168         Serial.println(current_scaling,DEC);
-00169 #endif
-00170         //set the pins as output & its initial value
-00171         pinMode(step_pin, OUTPUT);     
-00172         pinMode(dir_pin, OUTPUT);     
-00173         pinMode(cs_pin, OUTPUT);     
-00174         digitalWrite(step_pin, LOW);     
-00175         digitalWrite(dir_pin, LOW);     
-00176         digitalWrite(cs_pin, HIGH);   
-00177         
-00178         //configure the SPI interface
-00179     SPI.setBitOrder(MSBFIRST);
-00180         SPI.setClockDivider(SPI_CLOCK_DIV8);
-00181         //todo this does not work reliably - find a way to foolprof set it (e.g. while communicating
-00182         //SPI.setDataMode(SPI_MODE3);
-00183         SPI.begin();
-00184                 
-00185         //set the initial values
-00186         send262(driver_control_register_value); 
-00187         send262(chopper_config_register);
-00188         send262(cool_step_register_value);
-00189         send262(stall_guard2_current_register_value);
-00190         send262(driver_configuration_register_value);
-00191         
-00192         //save that we are in running mode
-00193         started=true;
-00194 }
-00195 
-00196 /*
-00197  Mark the driver as unstarted to be able to start it again
-00198  */
-00199 void TMC26XStepper::un_start() {
-00200     started=false;
-00201 }
-00202 
-00203 
-00204 /*
-00205   Sets the speed in revs per minute
-00206 
-00207 */
-00208 void TMC26XStepper::setSpeed(unsigned int whatSpeed)
-00209 {
-00210   this->speed = whatSpeed;
-00211   this->step_delay = (60UL * 1000UL * 1000UL) / ((unsigned long)this->number_of_steps * (unsigned long)whatSpeed * (unsigned long)this->microsteps);
-00212 #ifdef DEBUG
-00213     Serial.print("Step delay in micros: ");
-00214     Serial.println(this->step_delay);
-00215 #endif
-00216     //update the next step time
-00217     this->next_step_time = this->last_step_time+this->step_delay; 
-00218 
-00219 }
-00220 
-00221 unsigned int TMC26XStepper::getSpeed(void) {
-00222     return this->speed;
-00223 }
-00224 
-00225 /*
-00226   Moves the motor steps_to_move steps.  If the number is negative, 
-00227    the motor moves in the reverse direction.
-00228  */
-00229 char TMC26XStepper::step(int steps_to_move)
-00230 {  
-00231         if (this->steps_left==0) {
-00232                 this->steps_left = abs(steps_to_move);  // how many steps to take
-00233   
-00234                 // determine direction based on whether steps_to_mode is + or -:
-00235                 if (steps_to_move > 0) {
-00236                         this->direction = 1;
-00237                 } else if (steps_to_move < 0) {
-00238                         this->direction = 0;
-00239                 }
-00240                 return 0;
-00241     } else {
-00242         return -1;
-00243     }
-00244 }
-00245 
-00246 char TMC26XStepper::move(void) {
-00247   // decrement the number of steps, moving one step each time:
-00248   if(this->steps_left>0) {
-00249       unsigned long time = micros();  
-00250           // move only if the appropriate delay has passed:
-00251          if (time >= this->next_step_time) {
-00252                 // increment or decrement the step number,
-00253                 // depending on direction:
-00254                 if (this->direction == 1) {
-00255                         digitalWrite(step_pin, HIGH);
-00256         } else { 
-00257                   digitalWrite(dir_pin, HIGH);
-00258                   digitalWrite(step_pin, HIGH);
-00259             }
-00260         // get the timeStamp of when you stepped:
-00261         this->last_step_time = time;
-00262         this->next_step_time = time+this->step_delay; 
-00263         // decrement the steps left:
-00264         steps_left--;
-00265                 //disable the step & dir pins
-00266                 digitalWrite(step_pin, LOW);
-00267                 digitalWrite(dir_pin, LOW);
-00268         }
-00269         return -1;
-00270         }
-00271     return 0;
-00272 }
-00273 
-00274 char TMC26XStepper::isMoving(void) {
-00275         return (this->steps_left>0);
-00276 }
-00277 
-00278 unsigned int TMC26XStepper::getStepsLeft(void) {
-00279         return this->steps_left;
-00280 }
-00281 
-00282 char TMC26XStepper::stop(void) {
-00283         //note to self if the motor is currently moving
-00284         char state = isMoving();
-00285         //stop the motor
-00286         this->steps_left = 0;
-00287         this->direction = 0;
-00288         //return if it was moving
-00289         return state;
-00290 }
-00291 
-00292 void TMC26XStepper::setCurrent(unsigned int current) {
-00293     unsigned char current_scaling = 0;
-00294         //calculate the current scaling from the max current setting (in mA)
-00295         double mASetting = (double)current;
-00296     double resistor_value = (double) this->resistor;
-00297         // remove vesense flag
-00298         this->driver_configuration_register_value &= ~(VSENSE); 
-00299         //this is derrived from I=(cs+1)/32*(Vsense/Rsense)
-00300     //leading to cs = CS = 32*R*I/V (with V = 0,31V oder 0,165V  and I = 1000*current)
-00301         //with Rsense=0,15
-00302         //for vsense = 0,310V (VSENSE not set)
-00303         //or vsense = 0,165V (VSENSE set)
-00304         current_scaling = (byte)((resistor_value*mASetting*32.0/(0.31*1000.0*1000.0))-0.5); //theoretically - 1.0 for better rounding it is 0.5
-00305         
-00306         //check if the current scalingis too low
-00307         if (current_scaling<16) {
-00308         //set the csense bit to get a use half the sense voltage (to support lower motor currents)
-00309                 this->driver_configuration_register_value |= VSENSE;
-00310         //and recalculate the current setting
-00311         current_scaling = (byte)((resistor_value*mASetting*32.0/(0.165*1000.0*1000.0))-0.5); //theoretically - 1.0 for better rounding it is 0.5
-00312 #ifdef DEBUG
-00313                 Serial.print("CS (Vsense=1): ");
-00314                 Serial.println(current_scaling);
-00315         } else {
-00316         Serial.print("CS: ");
-00317         Serial.println(current_scaling);
-00318 #endif
-00319     }
-00320 
-00321         //do some sanity checks
-00322         if (current_scaling>31) {
-00323                 current_scaling=31;
-00324         }
-00325         //delete the old value
-00326         stall_guard2_current_register_value &= ~(CURRENT_SCALING_PATTERN);
-00327         //set the new current scaling
-00328         stall_guard2_current_register_value |= current_scaling;
-00329         //if started we directly send it to the motor
-00330         if (started) {
-00331         send262(driver_configuration_register_value);
-00332                 send262(stall_guard2_current_register_value);
-00333         }
-00334 }
-00335 
-00336 unsigned int TMC26XStepper::getCurrent(void) {
-00337     //we calculate the current according to the datasheet to be on the safe side
-00338     //this is not the fastest but the most accurate and illustrative way
-00339     double result = (double)(stall_guard2_current_register_value & CURRENT_SCALING_PATTERN);
-00340     double resistor_value = (double)this->resistor;
-00341     double voltage = (driver_configuration_register_value & VSENSE)? 0.165:0.31;
-00342     result = (result+1.0)/32.0*voltage/resistor_value*1000.0*1000.0;
-00343     return (unsigned int)result;
-00344 }
-00345 
-00346 void TMC26XStepper::setStallGuardThreshold(char stall_guard_threshold, char stall_guard_filter_enabled) {
-00347         if (stall_guard_threshold<-64) {
-00348                 stall_guard_threshold = -64;
-00349         //We just have 5 bits   
-00350         } else if (stall_guard_threshold > 63) {
-00351                 stall_guard_threshold = 63;
-00352         }
-00353         //add trim down to 7 bits
-00354         stall_guard_threshold &=0x7f;
-00355         //delete old stall guard settings
-00356         stall_guard2_current_register_value &= ~(STALL_GUARD_CONFIG_PATTERN);
-00357         if (stall_guard_filter_enabled) {
-00358                 stall_guard2_current_register_value |= STALL_GUARD_FILTER_ENABLED;
-00359         }
-00360         //Set the new stall guard threshold
-00361         stall_guard2_current_register_value |= (((unsigned long)stall_guard_threshold << 8) & STALL_GUARD_CONFIG_PATTERN);
-00362         //if started we directly send it to the motor
-00363         if (started) {
-00364                 send262(stall_guard2_current_register_value);
-00365         }
-00366 }
-00367 
-00368 char TMC26XStepper::getStallGuardThreshold(void) {
-00369     unsigned long stall_guard_threshold = stall_guard2_current_register_value & STALL_GUARD_VALUE_PATTERN;
-00370     //shift it down to bit 0
-00371     stall_guard_threshold >>=8;
-00372     //convert the value to an int to correctly handle the negative numbers
-00373     char result = stall_guard_threshold;
-00374     //check if it is negative and fill it up with leading 1 for proper negative number representation
-00375     if (result & _BV(6)) {
-00376         result |= 0xC0;
-00377     }
-00378     return result;
-00379 }
-00380 
-00381 char TMC26XStepper::getStallGuardFilter(void) {
-00382     if (stall_guard2_current_register_value & STALL_GUARD_FILTER_ENABLED) {
-00383         return -1;
-00384     } else {
-00385         return 0;
-00386     }
-00387 }
-00388 /*
-00389  * Set the number of microsteps per step.
-00390  * 0,2,4,8,16,32,64,128,256 is supported
-00391  * any value in between will be mapped to the next smaller value
-00392  * 0 and 1 set the motor in full step mode
-00393  */
-00394 void TMC26XStepper::setMicrosteps(int number_of_steps) {
-00395         long setting_pattern;
-00396         //poor mans log
-00397         if (number_of_steps>=256) {
-00398                 setting_pattern=0;
-00399                 microsteps=256;
-00400         } else if (number_of_steps>=128) {
-00401                 setting_pattern=1;
-00402                 microsteps=128;
-00403         } else if (number_of_steps>=64) {
-00404                 setting_pattern=2;
-00405                 microsteps=64;
-00406         } else if (number_of_steps>=32) {
-00407                 setting_pattern=3;
-00408                 microsteps=32;
-00409         } else if (number_of_steps>=16) {
-00410                 setting_pattern=4;
-00411                 microsteps=16;
-00412         } else if (number_of_steps>=8) {
-00413                 setting_pattern=5;
-00414                 microsteps=8;
-00415         } else if (number_of_steps>=4) {
-00416                 setting_pattern=6;
-00417                 microsteps=4;
-00418         } else if (number_of_steps>=2) {
-00419                 setting_pattern=7;
-00420                 microsteps=2;
-00421     //1 and 0 lead to full step
-00422         } else if (number_of_steps<=1) {
-00423                 setting_pattern=8;
-00424                 microsteps=1;
-00425         }
-00426 #ifdef DEBUG
-00427         Serial.print("Microstepping: ");
-00428         Serial.println(microsteps);
-00429 #endif
-00430         //delete the old value
-00431         this->driver_control_register_value &=0xFFFF0ul;
-00432         //set the new value
-00433         this->driver_control_register_value |=setting_pattern;
-00434         
-00435         //if started we directly send it to the motor
-00436         if (started) {
-00437                 send262(driver_control_register_value);
-00438         }
-00439     //recalculate the stepping delay by simply setting the speed again
-00440     this->setSpeed(this->speed);
-00441 }
-00442 
-00443 /*
-00444  * returns the effective number of microsteps at the moment
-00445  */
-00446 int TMC26XStepper::getMicrosteps(void) {
-00447         return microsteps;
-00448 }
-00449 
-00450 /*
-00451  * constant_off_time: The off time setting controls the minimum chopper frequency. 
-00452  * For most applications an off time within     the range of 5μs to 20μs will fit.
-00453  *              2...15: off time setting
-00454  *
-00455  * blank_time: Selects the comparator blank time. This time needs to safely cover the switching event and the
-00456  * duration of the ringing on the sense resistor. For
-00457  *              0: min. setting 3: max. setting
-00458  *
-00459  * fast_decay_time_setting: Fast decay time setting. With CHM=1, these bits control the portion of fast decay for each chopper cycle.
-00460  *              0: slow decay only
-00461  *              1...15: duration of fast decay phase
-00462  *
-00463  * sine_wave_offset: Sine wave offset. With CHM=1, these bits control the sine wave offset. 
-00464  * A positive offset corrects for zero crossing error.
-00465  *              -3..-1: negative offset 0: no offset 1...12: positive offset
-00466  *
-00467  * use_current_comparator: Selects usage of the current comparator for termination of the fast decay cycle. 
-00468  * If current comparator is enabled, it terminates the fast decay cycle in case the current 
-00469  * reaches a higher negative value than the actual positive value.
-00470  *              1: enable comparator termination of fast decay cycle
-00471  *              0: end by time only
-00472  */
-00473 void TMC26XStepper::setConstantOffTimeChopper(char constant_off_time, char blank_time, char fast_decay_time_setting, char sine_wave_offset, unsigned char use_current_comparator) {
-00474         //perform some sanity checks
-00475         if (constant_off_time<2) {
-00476                 constant_off_time=2;
-00477         } else if (constant_off_time>15) {
-00478                 constant_off_time=15;
-00479         }
-00480     //save the constant off time
-00481     this->constant_off_time = constant_off_time;
-00482         char blank_value;
-00483         //calculate the value acc to the clock cycles
-00484         if (blank_time>=54) {
-00485                 blank_value=3;
-00486         } else if (blank_time>=36) {
-00487                 blank_value=2;
-00488         } else if (blank_time>=24) {
-00489                 blank_value=1;
-00490         } else {
-00491                 blank_value=0;
-00492         }
-00493         if (fast_decay_time_setting<0) {
-00494                 fast_decay_time_setting=0;
-00495         } else if (fast_decay_time_setting>15) {
-00496                 fast_decay_time_setting=15;
-00497         }
-00498         if (sine_wave_offset < -3) {
-00499                 sine_wave_offset = -3;
-00500         } else if (sine_wave_offset>12) {
-00501                 sine_wave_offset = 12;
-00502         }
-00503         //shift the sine_wave_offset
-00504         sine_wave_offset +=3;
-00505         
-00506         //calculate the register setting
-00507         //first of all delete all the values for this
-00508         chopper_config_register &= ~((1<<12) | BLANK_TIMING_PATTERN | HYSTERESIS_DECREMENT_PATTERN | HYSTERESIS_LOW_VALUE_PATTERN | HYSTERESIS_START_VALUE_PATTERN | T_OFF_TIMING_PATERN);
-00509         //set the constant off pattern
-00510         chopper_config_register |= CHOPPER_MODE_T_OFF_FAST_DECAY;
-00511         //set the blank timing value
-00512         chopper_config_register |= ((unsigned long)blank_value) << BLANK_TIMING_SHIFT;
-00513         //setting the constant off time
-00514         chopper_config_register |= constant_off_time;
-00515         //set the fast decay time
-00516         //set msb
-00517         chopper_config_register |= (((unsigned long)(fast_decay_time_setting & 0x8))<<HYSTERESIS_DECREMENT_SHIFT);
-00518         //other bits
-00519         chopper_config_register |= (((unsigned long)(fast_decay_time_setting & 0x7))<<HYSTERESIS_START_VALUE_SHIFT);
-00520         //set the sine wave offset
-00521         chopper_config_register |= (unsigned long)sine_wave_offset << HYSTERESIS_LOW_SHIFT;
-00522         //using the current comparator?
-00523         if (!use_current_comparator) {
-00524                 chopper_config_register |= (1<<12);
-00525         }
-00526         //if started we directly send it to the motor
-00527         if (started) {
-00528                 send262(driver_control_register_value);
-00529         }       
-00530 }
-00531 
-00532 /*
-00533  * constant_off_time: The off time setting controls the minimum chopper frequency. 
-00534  * For most applications an off time within     the range of 5μs to 20μs will fit.
-00535  *              2...15: off time setting
-00536  *
-00537  * blank_time: Selects the comparator blank time. This time needs to safely cover the switching event and the
-00538  * duration of the ringing on the sense resistor. For
-00539  *              0: min. setting 3: max. setting
-00540  *
-00541  * hysteresis_start: Hysteresis start setting. Please remark, that this value is an offset to the hysteresis end value HEND.
-00542  *              1...8
-00543  *
-00544  * hysteresis_end: Hysteresis end setting. Sets the hysteresis end value after a number of decrements. Decrement interval time is controlled by HDEC. 
-00545  * The sum HSTRT+HEND must be <16. At a current setting CS of max. 30 (amplitude reduced to 240), the sum is not limited.
-00546  *              -3..-1: negative HEND 0: zero HEND 1...12: positive HEND
-00547  *
-00548  * hysteresis_decrement: Hysteresis decrement setting. This setting determines the slope of the hysteresis during on time and during fast decay time.
-00549  *              0: fast decrement 3: very slow decrement
-00550  */
-00551 
-00552 void TMC26XStepper::setSpreadCycleChopper(char constant_off_time, char blank_time, char hysteresis_start, char hysteresis_end, char hysteresis_decrement) {
-00553         //perform some sanity checks
-00554         if (constant_off_time<2) {
-00555                 constant_off_time=2;
-00556         } else if (constant_off_time>15) {
-00557                 constant_off_time=15;
-00558         }
-00559     //save the constant off time
-00560     this->constant_off_time = constant_off_time;
-00561         char blank_value;
-00562         //calculate the value acc to the clock cycles
-00563         if (blank_time>=54) {
-00564                 blank_value=3;
-00565         } else if (blank_time>=36) {
-00566                 blank_value=2;
-00567         } else if (blank_time>=24) {
-00568                 blank_value=1;
-00569         } else {
-00570                 blank_value=0;
-00571         }
-00572         if (hysteresis_start<1) {
-00573                 hysteresis_start=1;
-00574         } else if (hysteresis_start>8) {
-00575                 hysteresis_start=8;
-00576         }
-00577         hysteresis_start--;
-00578 
-00579         if (hysteresis_end < -3) {
-00580                 hysteresis_end = -3;
-00581         } else if (hysteresis_end>12) {
-00582                 hysteresis_end = 12;
-00583         }
-00584         //shift the hysteresis_end
-00585         hysteresis_end +=3;
-00586 
-00587         if (hysteresis_decrement<0) {
-00588                 hysteresis_decrement=0;
-00589         } else if (hysteresis_decrement>3) {
-00590                 hysteresis_decrement=3;
-00591         }
-00592         
-00593         //first of all delete all the values for this
-00594         chopper_config_register &= ~(CHOPPER_MODE_T_OFF_FAST_DECAY | BLANK_TIMING_PATTERN | HYSTERESIS_DECREMENT_PATTERN | HYSTERESIS_LOW_VALUE_PATTERN | HYSTERESIS_START_VALUE_PATTERN | T_OFF_TIMING_PATERN);
-00595 
-00596         //set the blank timing value
-00597         chopper_config_register |= ((unsigned long)blank_value) << BLANK_TIMING_SHIFT;
-00598         //setting the constant off time
-00599         chopper_config_register |= constant_off_time;
-00600         //set the hysteresis_start
-00601         chopper_config_register |= ((unsigned long)hysteresis_start) << HYSTERESIS_START_VALUE_SHIFT;
-00602         //set the hysteresis end
-00603         chopper_config_register |= ((unsigned long)hysteresis_end) << HYSTERESIS_LOW_SHIFT;
-00604         //set the hystereis decrement
-00605         chopper_config_register |= ((unsigned long)blank_value) << BLANK_TIMING_SHIFT;
-00606         //if started we directly send it to the motor
-00607         if (started) {
-00608                 send262(driver_control_register_value);
-00609         }       
-00610 }
-00611 
-00612 /*
-00613  * In a constant off time chopper scheme both coil choppers run freely, i.e. are not synchronized. 
-00614  * The frequency of each chopper mainly depends on the coil current and the position dependant motor coil inductivity, thus it depends on the microstep position. 
-00615  * With some motors a slightly audible beat can occur between the chopper frequencies, especially when they are near to each other. This typically occurs at a 
-00616  * few microstep positions within each quarter wave. This effect normally is not audible when compared to mechanical noise generated by ball bearings, etc. 
-00617  * Further factors which can cause a similar effect are a poor layout of sense resistor GND connection.
-00618  * Hint: A common factor, which can cause motor noise, is a bad PCB layout causing coupling of both sense resistor voltages 
-00619  * (please refer to sense resistor layout hint in chapter 8.1).
-00620  * In order to minimize the effect of a beat between both chopper frequencies, an internal random generator is provided. 
-00621  * It modulates the slow decay time setting when switched on by the RNDTF bit. The RNDTF feature further spreads the chopper spectrum, 
-00622  * reducing electromagnetic emission on single frequencies.
-00623  */
-00624 void TMC26XStepper::setRandomOffTime(char value) {
-00625         if (value) {
-00626                 chopper_config_register |= RANDOM_TOFF_TIME;
-00627         } else {
-00628                 chopper_config_register &= ~(RANDOM_TOFF_TIME);
-00629         }
-00630         //if started we directly send it to the motor
-00631         if (started) {
-00632                 send262(driver_control_register_value);
-00633         }       
-00634 }       
-00635 
-00636 void TMC26XStepper::setCoolStepConfiguration(unsigned int lower_SG_threshold, unsigned int SG_hysteresis, unsigned char current_decrement_step_size,
-00637                               unsigned char current_increment_step_size, unsigned char lower_current_limit) {
-00638     //sanitize the input values
-00639     if (lower_SG_threshold>480) {
-00640         lower_SG_threshold = 480;
-00641     }
-00642     //divide by 32
-00643     lower_SG_threshold >>=5;
-00644     if (SG_hysteresis>480) {
-00645         SG_hysteresis=480;
-00646     }
-00647     //divide by 32
-00648     SG_hysteresis >>=5;
-00649     if (current_decrement_step_size>3) {
-00650         current_decrement_step_size=3;
-00651     }
-00652     if (current_increment_step_size>3) {
-00653         current_increment_step_size=3;
-00654     }
-00655     if (lower_current_limit>1) {
-00656         lower_current_limit=1;
-00657     }
-00658     //store the lower level in order to enable/disable the cool step
-00659     this->cool_step_lower_threshold=lower_SG_threshold;
-00660     //if cool step is not enabled we delete the lower value to keep it disabled
-00661     if (!this->cool_step_enabled) {
-00662         lower_SG_threshold=0;
-00663     }
-00664     //the good news is that we can start with a complete new cool step register value
-00665     //and simply set the values in the register
-00666     cool_step_register_value = ((unsigned long)lower_SG_threshold) | (((unsigned long)SG_hysteresis)<<8) | (((unsigned long)current_decrement_step_size)<<5)
-00667         | (((unsigned long)current_increment_step_size)<<13) | (((unsigned long)lower_current_limit)<<15)
-00668         //and of course we have to include the signature of the register
-00669         | COOL_STEP_REGISTER;
-00670     //Serial.println(cool_step_register_value,HEX);
-00671     if (started) {
-00672         send262(cool_step_register_value);
-00673     }
-00674 }
-00675 
-00676 void TMC26XStepper::setCoolStepEnabled(boolean enabled) {
-00677     //simply delete the lower limit to disable the cool step
-00678     cool_step_register_value &= ~SE_MIN_PATTERN;
-00679     //and set it to the proper value if cool step is to be enabled
-00680     if (enabled) {
-00681         cool_step_register_value |=this->cool_step_lower_threshold;
-00682     }
-00683     //and save the enabled status
-00684     this->cool_step_enabled = enabled;
-00685     //save the register value
-00686     if (started) {
-00687         send262(cool_step_register_value);
-00688     }
-00689 }
-00690 
-00691 boolean TMC26XStepper::isCoolStepEnabled(void) {
-00692     return this->cool_step_enabled;
-00693 }
-00694 
-00695 unsigned int TMC26XStepper::getCoolStepLowerSgThreshold() {
-00696     //we return our internally stored value - in order to provide the correct setting even if cool step is not enabled
-00697     return this->cool_step_lower_threshold<<5;
-00698 }
-00699 
-00700 unsigned int TMC26XStepper::getCoolStepUpperSgThreshold() {
-00701     return (unsigned char)((cool_step_register_value & SE_MAX_PATTERN)>>8)<<5;
-00702 }
-00703 
-00704 unsigned char TMC26XStepper::getCoolStepCurrentIncrementSize() {
-00705     return (unsigned char)((cool_step_register_value & CURRENT_DOWN_STEP_SPEED_PATTERN)>>13);
-00706 }
-00707 
-00708 unsigned char TMC26XStepper::getCoolStepNumberOfSGReadings() {
-00709     return (unsigned char)((cool_step_register_value & SE_CURRENT_STEP_WIDTH_PATTERN)>>5);
-00710 }
-00711 
-00712 unsigned char TMC26XStepper::getCoolStepLowerCurrentLimit() {
-00713     return (unsigned char)((cool_step_register_value & MINIMUM_CURRENT_FOURTH)>>15);
-00714 }
-00715 
-00716 void TMC26XStepper::setEnabled(boolean enabled) {
-00717     //delete the t_off in the chopper config to get sure
-00718     chopper_config_register &= ~(T_OFF_PATTERN);
-00719     if (enabled) {
-00720         //and set the t_off time
-00721         chopper_config_register |= this->constant_off_time;
-00722     }
-00723     //if not enabled we don't have to do anything since we already delete t_off from the register
-00724         if (started) {
-00725                 send262(chopper_config_register);
-00726         }       
-00727 }
-00728 
-00729 boolean TMC26XStepper::isEnabled() {
-00730     if (chopper_config_register & T_OFF_PATTERN) {
-00731         return true;
-00732     } else {
-00733         return false;
-00734     }
-00735 }
-00736 
-00737 /*
-00738  * reads a value from the TMC26X status register. The value is not obtained directly but can then 
-00739  * be read by the various status routines.
-00740  *
-00741  */
-00742 void TMC26XStepper::readStatus(char read_value) {
-00743     unsigned long old_driver_configuration_register_value = driver_configuration_register_value;
-00744         //reset the readout configuration
-00745         driver_configuration_register_value &= ~(READ_SELECTION_PATTERN);
-00746         //this now equals TMC26X_READOUT_POSITION - so we just have to check the other two options
-00747         if (read_value == TMC26X_READOUT_STALLGUARD) {
-00748                 driver_configuration_register_value |= READ_STALL_GUARD_READING;
-00749         } else if (read_value == TMC26X_READOUT_CURRENT) {
-00750                 driver_configuration_register_value |= READ_STALL_GUARD_AND_COOL_STEP;
-00751         }
-00752         //all other cases are ignored to prevent funny values
-00753     //check if the readout is configured for the value we are interested in
-00754     if (driver_configuration_register_value!=old_driver_configuration_register_value) {
-00755             //because then we need to write the value twice - one time for configuring, second time to get the value, see below
-00756             send262(driver_configuration_register_value);
-00757         }
-00758     //write the configuration to get the last status    
-00759         send262(driver_configuration_register_value);
-00760 }
-00761 
-00762 int TMC26XStepper::getMotorPosition(void) {
-00763         //we read it out even if we are not started yet - perhaps it is useful information for somebody
-00764         readStatus(TMC26X_READOUT_POSITION);
-00765     return getReadoutValue();
-00766 }
-00767 
-00768 //reads the stall guard setting from last status
-00769 //returns -1 if stallguard information is not present
-00770 int TMC26XStepper::getCurrentStallGuardReading(void) {
-00771         //if we don't yet started there cannot be a stall guard value
-00772         if (!started) {
-00773                 return -1;
-00774         }
-00775         //not time optimal, but solution optiomal:
-00776         //first read out the stall guard value
-00777         readStatus(TMC26X_READOUT_STALLGUARD);
-00778         return getReadoutValue();
-00779 }
-00780 
-00781 unsigned char TMC26XStepper::getCurrentCSReading(void) {
-00782         //if we don't yet started there cannot be a stall guard value
-00783         if (!started) {
-00784                 return 0;
-00785         }
-00786         //not time optimal, but solution optiomal:
-00787         //first read out the stall guard value
-00788         readStatus(TMC26X_READOUT_CURRENT);
-00789         return (getReadoutValue() & 0x1f);
-00790 }
-00791 
-00792 unsigned int TMC26XStepper::getCurrentCurrent(void) {
-00793     double result = (double)getCurrentCSReading();
-00794     double resistor_value = (double)this->resistor;
-00795     double voltage = (driver_configuration_register_value & VSENSE)? 0.165:0.31;
-00796     result = (result+1.0)/32.0*voltage/resistor_value*1000.0*1000.0;
-00797     return (unsigned int)result;
-00798 }
-00799 
-00800 /*
-00801  return true if the stallguard threshold has been reached
-00802 */
-00803 boolean TMC26XStepper::isStallGuardOverThreshold(void) {
-00804         if (!this->started) {
-00805                 return false;
-00806         }
-00807         return (driver_status_result & STATUS_STALL_GUARD_STATUS);
-00808 }
-00809 
-00810 /*
-00811  returns if there is any over temperature condition:
-00812  OVER_TEMPERATURE_PREWARING if pre warning level has been reached
-00813  OVER_TEMPERATURE_SHUTDOWN if the temperature is so hot that the driver is shut down
-00814  Any of those levels are not too good.
-00815 */
-00816 char TMC26XStepper::getOverTemperature(void) {
-00817         if (!this->started) {
-00818                 return 0;
-00819         }
-00820         if (driver_status_result & STATUS_OVER_TEMPERATURE_SHUTDOWN) {
-00821                 return TMC26X_OVERTEMPERATURE_SHUTDOWN;
-00822         }
-00823         if (driver_status_result & STATUS_OVER_TEMPERATURE_WARNING) {
-00824                 return TMC26X_OVERTEMPERATURE_PREWARING;
-00825         }
-00826         return 0;
-00827 }
-00828 
-00829 //is motor channel A shorted to ground
-00830 boolean TMC26XStepper::isShortToGroundA(void) {
-00831         if (!this->started) {
-00832                 return false;
-00833         }
-00834         return (driver_status_result & STATUS_SHORT_TO_GROUND_A);
-00835 }
-00836 
-00837 //is motor channel B shorted to ground
-00838 boolean TMC26XStepper::isShortToGroundB(void) {
-00839         if (!this->started) {
-00840                 return false;
-00841         }
-00842         return (driver_status_result & STATUS_SHORT_TO_GROUND_B);
-00843 }
-00844 
-00845 //is motor channel A connected
-00846 boolean TMC26XStepper::isOpenLoadA(void) {
-00847         if (!this->started) {
-00848                 return false;
-00849         }
-00850         return (driver_status_result & STATUS_OPEN_LOAD_A);
-00851 }
-00852 
-00853 //is motor channel B connected
-00854 boolean TMC26XStepper::isOpenLoadB(void) {
-00855         if (!this->started) {
-00856                 return false;
-00857         }
-00858         return (driver_status_result & STATUS_OPEN_LOAD_B);
-00859 }
-00860 
-00861 //is chopper inactive since 2^20 clock cycles - defaults to ~0,08s
-00862 boolean TMC26XStepper::isStandStill(void) {
-00863         if (!this->started) {
-00864                 return false;
-00865         }
-00866         return (driver_status_result & STATUS_STAND_STILL);
-00867 }
-00868 
-00869 //is chopper inactive since 2^20 clock cycles - defaults to ~0,08s
-00870 boolean TMC26XStepper::isStallGuardReached(void) {
-00871         if (!this->started) {
-00872                 return false;
-00873         }
-00874         return (driver_status_result & STATUS_STALL_GUARD_STATUS);
-00875 }
-00876 
-00877 //reads the stall guard setting from last status
-00878 //returns -1 if stallguard inforamtion is not present
-00879 int TMC26XStepper::getReadoutValue(void) {
-00880         return (int)(driver_status_result >> 10);
-00881 }
-00882 
-00883 int TMC26XStepper::getResistor() {
-00884     return this->resistor;
-00885 }
-00886 
-00887 boolean TMC26XStepper::isCurrentScalingHalfed() {
-00888     if (this->driver_configuration_register_value & VSENSE) {
-00889         return true;
-00890     } else {
-00891         return false;
-00892     }
-00893 }
-00894 /*
-00895  version() returns the version of the library:
-00896  */
-00897 int TMC26XStepper::version(void)
-00898 {
-00899         return 1;
-00900 }
-00901 
-00902 void TMC26XStepper::debugLastStatus() {
-00903 #ifdef DEBUG    
-00904 if (this->started) {
-00905                 if (this->getOverTemperature()&TMC26X_OVERTEMPERATURE_PREWARING) {
-00906                         Serial.println("WARNING: Overtemperature Prewarning!");
-00907                 } else if (this->getOverTemperature()&TMC26X_OVERTEMPERATURE_SHUTDOWN) {
-00908                         Serial.println("ERROR: Overtemperature Shutdown!");
-00909                 }
-00910                 if (this->isShortToGroundA()) {
-00911                         Serial.println("ERROR: SHORT to ground on channel A!");
-00912                 }
-00913                 if (this->isShortToGroundB()) {
-00914                         Serial.println("ERROR: SHORT to ground on channel A!");
-00915                 }
-00916                 if (this->isOpenLoadA()) {
-00917                         Serial.println("ERROR: Channel A seems to be unconnected!");
-00918                 }
-00919                 if (this->isOpenLoadB()) {
-00920                         Serial.println("ERROR: Channel B seems to be unconnected!");
-00921                 }
-00922                 if (this->isStallGuardReached()) {      
-00923                         Serial.println("INFO: Stall Guard level reached!");
-00924                 }
-00925                 if (this->isStandStill()) {
-00926                         Serial.println("INFO: Motor is standing still.");
-00927                 }
-00928                 unsigned long readout_config = driver_configuration_register_value & READ_SELECTION_PATTERN;
-00929                 int value = getReadoutValue();
-00930                 if (readout_config == READ_MICROSTEP_POSTION) {
-00931                         Serial.print("Microstep postion phase A: ");
-00932                         Serial.println(value);
-00933                 } else if (readout_config == READ_STALL_GUARD_READING) {
-00934                         Serial.print("Stall Guard value:");
-00935                         Serial.println(value);
-00936                 } else if (readout_config == READ_STALL_GUARD_AND_COOL_STEP) {
-00937                         int stallGuard = value & 0xf;
-00938                         int current = value & 0x1F0;
-00939                         Serial.print("Approx Stall Guard: ");
-00940                         Serial.println(stallGuard);
-00941                         Serial.print("Current level");
-00942                         Serial.println(current);
-00943                 }
-00944         }
-00945 #endif
-00946 }
-00947 
-00948 /*
-00949  * send register settings to the stepper driver via SPI
-00950  * returns the current status
-00951  */
-00952 inline void TMC26XStepper::send262(unsigned long datagram) {
-00953         unsigned long i_datagram;
-00954     
-00955     //preserver the previous spi mode
-00956     unsigned char oldMode =  SPCR & SPI_MODE_MASK;
-00957         
-00958     //if the mode is not correct set it to mode 3
-00959     if (oldMode != SPI_MODE3) {
-00960         SPI.setDataMode(SPI_MODE3);
-00961     }
-00962         
-00963         //select the TMC driver
-00964         digitalWrite(cs_pin,LOW);
-00965 
-00966         //ensure that only valid bist are set (0-19)
-00967         //datagram &=REGISTER_BIT_PATTERN;
-00968         
-00969 #ifdef DEBUG
-00970         Serial.print("Sending ");
-00971         Serial.println(datagram,HEX);
-00972 #endif
-00973 
-00974         //write/read the values
-00975         i_datagram = SPI.transfer((datagram >> 16) & 0xff);
-00976         i_datagram <<= 8;
-00977         i_datagram |= SPI.transfer((datagram >>  8) & 0xff);
-00978         i_datagram <<= 8;
-00979         i_datagram |= SPI.transfer((datagram) & 0xff);
-00980         i_datagram >>= 4;
-00981         
-00982 #ifdef DEBUG
-00983         Serial.print("Received ");
-00984         Serial.println(i_datagram,HEX);
-00985         debugLastStatus();
-00986 #endif
-00987         //deselect the TMC chip
-00988         digitalWrite(cs_pin,HIGH); 
-00989     
-00990     //restore the previous SPI mode if neccessary
-00991     //if the mode is not correct set it to mode 3
-00992     if (oldMode != SPI_MODE3) {
-00993         SPI.setDataMode(oldMode);
-00994     }
-00995 
-00996         
-00997         //store the datagram as status result
-00998         driver_status_result = i_datagram;
-00999 }
-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h.html deleted file mode 100644 index 34fda0a43..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: TMC26XStepper.h File Reference - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
- -
-
TMC26XStepper.h File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Classes

class  TMC26XStepper
 Class representing a TMC26X stepper driver. More...

-Defines

#define TMC26X_OVERTEMPERATURE_PREWARING   1
 return value for TMC26XStepper.getOverTemperature() if there is a overtemperature situation in the TMC chip
#define TMC26X_OVERTEMPERATURE_SHUTDOWN   2
 return value for TMC26XStepper.getOverTemperature() if there is a overtemperature shutdown in the TMC chip
#define TMC26X_READOUT_POSITION   0
#define TMC26X_READOUT_STALLGUARD   1
#define TMC26X_READOUT_CURRENT   3
#define COOL_STEP_HALF_CS_LIMIT   0
#define COOL_STEP_QUARTDER_CS_LIMIT   1
-

Define Documentation

- -
-
- - - - -
#define COOL_STEP_HALF_CS_LIMIT   0
-
-
-

Define to set the minimum current for CoolStep operation to 1/2 of the selected CS minium.

-
See also:
setCoolStepConfiguration()
- -

Definition at line 70 of file TMC26XStepper.h.

- -
-
- -
-
- - - - -
#define COOL_STEP_QUARTDER_CS_LIMIT   1
-
-
-

Define to set the minimum current for CoolStep operation to 1/4 of the selected CS minium.

-
See also:
setCoolStepConfiguration()
- -

Definition at line 75 of file TMC26XStepper.h.

- -
-
- -
-
- - - - -
#define TMC26X_OVERTEMPERATURE_PREWARING   1
-
-
- -

return value for TMC26XStepper.getOverTemperature() if there is a overtemperature situation in the TMC chip

-

This warning indicates that the TCM chip is too warm. It is still working but some parameters may be inferior. You should do something against it.

- -

Definition at line 39 of file TMC26XStepper.h.

- -
-
- -
-
- - - - -
#define TMC26X_OVERTEMPERATURE_SHUTDOWN   2
-
-
- -

return value for TMC26XStepper.getOverTemperature() if there is a overtemperature shutdown in the TMC chip

-

This warning indicates that the TCM chip is too warm to operate and has shut down to prevent damage. It will stop working until it cools down again. If you encouter this situation you must do something against it. Like reducing the current or improving the PCB layout and/or heat management.

- -

Definition at line 47 of file TMC26XStepper.h.

- -
-
- -
-
- - - - -
#define TMC26X_READOUT_CURRENT   3
-
-
-

Selects to read out the current current setting (acc. to CoolStep) and the upper bits of the StallGuard value from the motor.

-
See also:
readStatus(), setCurrent()
- -

Definition at line 64 of file TMC26XStepper.h.

- -
-
- -
-
- - - - -
#define TMC26X_READOUT_POSITION   0
-
-
-

Selects to readout the microstep position from the motor.

-
See also:
readStatus()
- -

Definition at line 54 of file TMC26XStepper.h.

- -
-
- -
-
- - - - -
#define TMC26X_READOUT_STALLGUARD   1
-
-
-

Selects to read out the StallGuard value of the motor.

-
See also:
readStatus()
- -

Definition at line 59 of file TMC26XStepper.h.

- -
-
-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h_source.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h_source.html deleted file mode 100644 index 521b53af7..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/_t_m_c26_x_stepper_8h_source.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: TMC26XStepper.h Source File - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
-
-
TMC26XStepper.h
-
-
-Go to the documentation of this file.
00001 /*
-00002  TMC26XStepper.cpp - - TMC26X Stepper library for Wiring/Arduino - Version 0.1
-00003  
-00004  based on the stepper library by Tom Igoe, et. al.
-00005 
-00006  Copyright (c) 2011, Interactive Matter, Marcus Nowotny
-00007  
-00008  Permission is hereby granted, free of charge, to any person obtaining a copy
-00009  of this software and associated documentation files (the "Software"), to deal
-00010  in the Software without restriction, including without limitation the rights
-00011  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-00012  copies of the Software, and to permit persons to whom the Software is
-00013  furnished to do so, subject to the following conditions:
-00014  
-00015  The above copyright notice and this permission notice shall be included in
-00016  all copies or substantial portions of the Software.
-00017  
-00018  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-00019  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-00020  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-00021  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-00022  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-00023  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-00024  THE SOFTWARE.
-00025 
-00026  */
-00027 
-00028 
-00029 // ensure this library description is only included once
-00030 #ifndef TMC26XStepper_h
-00031 #define TMC26XStepper_h
-00032 
-00034 
-00039 #define TMC26X_OVERTEMPERATURE_PREWARING 1
-00040 
-00041 
-00047 #define TMC26X_OVERTEMPERATURE_SHUTDOWN 2
-00048 
-00049 //which values can be read out
-00054 #define TMC26X_READOUT_POSITION 0
-00055 
-00059 #define TMC26X_READOUT_STALLGUARD 1
-00060 
-00064 #define TMC26X_READOUT_CURRENT 3
-00065 
-00070 #define COOL_STEP_HALF_CS_LIMIT 0
-00071 
-00075 #define COOL_STEP_QUARTDER_CS_LIMIT 1
-00076 
-00101 class TMC26XStepper {
-00102   public:
-00124         TMC26XStepper(int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int current, unsigned int resistor=150);
-00125         
-00133         void start();
-00134     
-00145         void un_start();
-00146 
-00147 
-00152     void setSpeed(unsigned int whatSpeed);
-00153     
-00158     unsigned int getSpeed(void);
-00159 
-00168         void setMicrosteps(int number_of_steps);
-00169     
-00178         int getMicrosteps(void);
-00179 
-00195     char step(int number_of_steps);
-00196     
-00215     char move(void);
-00216 
-00224     char isMoving(void);
-00225     
-00230     unsigned int getStepsLeft(void);
-00231     
-00238     char stop(void);
-00239     
-00264         void setConstantOffTimeChopper(char constant_off_time, char blank_time, char fast_decay_time_setting, char sine_wave_offset, unsigned char use_current_comparator);
-00265     
-00286         void setSpreadCycleChopper(char constant_off_time, char blank_time, char hysteresis_start, char hysteresis_end, char hysteresis_decrement);
-00287 
-00303         void setRandomOffTime(char value);
-00304     
-00312         void setCurrent(unsigned int current);
-00313     
-00320     unsigned int getCurrent(void);
-00321     
-00337         void setStallGuardThreshold(char stall_guard_threshold, char stall_guard_filter_enabled);
-00338     
-00343     char getStallGuardThreshold(void);
-00344     
-00349     char getStallGuardFilter(void);
-00350     
-00368     void setCoolStepConfiguration(unsigned int lower_SG_threshold, unsigned int SG_hysteresis, unsigned char current_decrement_step_size,
-00369                                   unsigned char current_increment_step_size, unsigned char lower_current_limit);
-00370     
-00376     void setCoolStepEnabled(boolean enabled);
-00377     
-00378     
-00383     boolean isCoolStepEnabled();
-00384 
-00389     unsigned int getCoolStepLowerSgThreshold();
-00390     
-00395     unsigned int getCoolStepUpperSgThreshold();
-00396     
-00401     unsigned char getCoolStepNumberOfSGReadings();
-00402     
-00407     unsigned char getCoolStepCurrentIncrementSize();
-00408     
-00414     unsigned char getCoolStepLowerCurrentLimit();
-00415     
-00422         int getMotorPosition(void);
-00423     
-00430         int getCurrentStallGuardReading(void);
-00431     
-00437     unsigned char getCurrentCSReading(void);
-00438     
-00439     
-00444     boolean isCurrentScalingHalfed();
-00445 
-00453     unsigned int getCurrentCurrent(void);
-00454     
-00463         boolean isStallGuardOverThreshold(void);
-00464     
-00471         char getOverTemperature(void);
-00472     
-00480         boolean isShortToGroundA(void);
-00481 
-00488         boolean isShortToGroundB(void);
-00495         boolean isOpenLoadA(void);
-00496 
-00503         boolean isOpenLoadB(void);
-00504     
-00511         boolean isStandStill(void);
-00512 
-00524         boolean isStallGuardReached(void);
-00525     
-00530     void setEnabled(boolean enabled);
-00531     
-00537     boolean isEnabled();
-00538 
-00548         void readStatus(char read_value);
-00549     
-00554     int getResistor();
-00555 
-00560         void debugLastStatus(void);
-00565     int version(void);
-00566 
-00567   private:    
-00568         unsigned int steps_left;                //the steps the motor has to do to complete the movement
-00569     int direction;        // Direction of rotation
-00570     unsigned long step_delay;    // delay between steps, in ms, based on speed
-00571     int number_of_steps;      // total number of steps this motor can take
-00572     unsigned int speed; // we need to store the current speed in order to change the speed after changing microstepping
-00573     unsigned int resistor; //current sense resitor value in milliohm
-00574         
-00575     unsigned long last_step_time;      // time stamp in ms of when the last step was taken
-00576     unsigned long next_step_time;      // time stamp in ms of when the last step was taken
-00577         
-00578         //driver control register copies to easily set & modify the registers
-00579         unsigned long driver_control_register_value;
-00580         unsigned long chopper_config_register;
-00581         unsigned long cool_step_register_value;
-00582         unsigned long stall_guard2_current_register_value;
-00583         unsigned long driver_configuration_register_value;
-00584         //the driver status result
-00585         unsigned long driver_status_result;
-00586         
-00587         //helper routione to get the top 10 bit of the readout
-00588         inline int getReadoutValue();
-00589         
-00590         //the pins for the stepper driver
-00591         unsigned char cs_pin;
-00592         unsigned char step_pin;
-00593         unsigned char dir_pin;
-00594         
-00595         //status values 
-00596         boolean started; //if the stepper has been started yet
-00597         int microsteps; //the current number of micro steps
-00598     char constant_off_time; //we need to remember this value in order to enable and disable the motor
-00599     unsigned char cool_step_lower_threshold; // we need to remember the threshold to enable and disable the CoolStep feature
-00600     boolean cool_step_enabled; //we need to remember this to configure the coolstep if it si enabled
-00601         
-00602         //SPI sender
-00603         inline void send262(unsigned long datagram);
-00604 };
-00605 
-00606 #endif
-00607 
-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/annotated.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/annotated.html deleted file mode 100644 index 193044cff..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/annotated.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: Class List - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
- -
TMC26XStepperClass representing a TMC26X stepper driver
-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/bc_s.png b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/bc_s.png deleted file mode 100644 index e4018628b5b45cb4301037485a29d7d74ac22138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmV;W0$TlvP)X?0Pv5h+5!wElpi=&YL!gfY!djl#UDdPKy97F|A-deTa@qo3BWh1YQIvzmHR^g zFjV4I6pLB7_*vEZk^%p7c7Bh>0`4r^X#gpJE_Vz9fSHKqclcZaV^k3gX%h+1`u||O zZ+BY?7(R=ayr^kXE=E0Dw=$Ud3VJ?9^Cz@hP?388Cw5>9TloOJ>^KczCgj zns2=|0!a|)Yq3{hjL{xyy7|Tk0N}Pe+g9PUTL!4{#;eUhrNd@!_T<>Vu+35c)h>sq ztgb?(6W3oFLz#%?OMEV@{j#4LuDvjVGZ~6hpQT8li5b0yjvK8c4efl+vSz5)P6 zle78)00_Iv5)&E~hnOdcd}L}i+MU>k+Q8#@KjqJJN`gRj(~)RmNrck9ht@LelPtVO zwp(J;k!T=gC#%o(13-^E+g@aqc()pf{+j|0w)AH*Mq$54UjLv#jV$RYpz3Vjg$$=u z>yjfBQOhL=^@+#4#$l|{~}HZ-?1Yy{lI*$N}*YDC`<{+;>_#gMXZdz4NI00000 LNkvXXu0mjfx86dR diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper-members.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper-members.html deleted file mode 100644 index 4547542b9..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: Member List - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
-
-
TMC26XStepper Member List
-
-
-This is the complete list of members for TMC26XStepper, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
debugLastStatus(void)TMC26XStepper
getCoolStepCurrentIncrementSize()TMC26XStepper
getCoolStepLowerCurrentLimit()TMC26XStepper
getCoolStepLowerSgThreshold()TMC26XStepper
getCoolStepNumberOfSGReadings()TMC26XStepper
getCoolStepUpperSgThreshold()TMC26XStepper
getCurrent(void)TMC26XStepper
getCurrentCSReading(void)TMC26XStepper
getCurrentCurrent(void)TMC26XStepper
getCurrentStallGuardReading(void)TMC26XStepper
getMicrosteps(void)TMC26XStepper
getMotorPosition(void)TMC26XStepper
getOverTemperature(void)TMC26XStepper
getResistor()TMC26XStepper
getSpeed(void)TMC26XStepper
getStallGuardFilter(void)TMC26XStepper
getStallGuardThreshold(void)TMC26XStepper
getStepsLeft(void)TMC26XStepper
isCoolStepEnabled()TMC26XStepper
isCurrentScalingHalfed()TMC26XStepper
isEnabled()TMC26XStepper
isMoving(void)TMC26XStepper
isOpenLoadA(void)TMC26XStepper
isOpenLoadB(void)TMC26XStepper
isShortToGroundA(void)TMC26XStepper
isShortToGroundB(void)TMC26XStepper
isStallGuardOverThreshold(void)TMC26XStepper
isStallGuardReached(void)TMC26XStepper
isStandStill(void)TMC26XStepper
move(void)TMC26XStepper
readStatus(char read_value)TMC26XStepper
setConstantOffTimeChopper(char constant_off_time, char blank_time, char fast_decay_time_setting, char sine_wave_offset, unsigned char use_current_comparator)TMC26XStepper
setCoolStepConfiguration(unsigned int lower_SG_threshold, unsigned int SG_hysteresis, unsigned char current_decrement_step_size, unsigned char current_increment_step_size, unsigned char lower_current_limit)TMC26XStepper
setCoolStepEnabled(boolean enabled)TMC26XStepper
setCurrent(unsigned int current)TMC26XStepper
setEnabled(boolean enabled)TMC26XStepper
setMicrosteps(int number_of_steps)TMC26XStepper
setRandomOffTime(char value)TMC26XStepper
setSpeed(unsigned int whatSpeed)TMC26XStepper
setSpreadCycleChopper(char constant_off_time, char blank_time, char hysteresis_start, char hysteresis_end, char hysteresis_decrement)TMC26XStepper
setStallGuardThreshold(char stall_guard_threshold, char stall_guard_filter_enabled)TMC26XStepper
start()TMC26XStepper
step(int number_of_steps)TMC26XStepper
stop(void)TMC26XStepper
TMC26XStepper(int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int current, unsigned int resistor=150)TMC26XStepper
un_start()TMC26XStepper
version(void)TMC26XStepper
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper.html deleted file mode 100644 index 77c36f0bb..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/class_t_m_c26_x_stepper.html +++ /dev/null @@ -1,1463 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: TMC26XStepper Class Reference - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
- -
-
TMC26XStepper Class Reference
-
-
- -

Class representing a TMC26X stepper driver. - More...

- -

#include <TMC26XStepper.h>

- -

List of all members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 TMC26XStepper (int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int current, unsigned int resistor=150)
 creates a new represenatation of a stepper motor connected to a TMC26X stepper driver
void start ()
 configures and starts the TMC26X stepper driver. Before you called this function the stepper driver is in nonfunctional mode.
void un_start ()
 resets the stepper in unconfigured mode.
void setSpeed (unsigned int whatSpeed)
 Sets the rotation speed in revolutions per minute.
unsigned int getSpeed (void)
 reads out the currently selected speed in revolutions per minute.
void setMicrosteps (int number_of_steps)
 Set the number of microsteps in 2^i values (rounded) up to 256.
int getMicrosteps (void)
 returns the effective current number of microsteps selected.
char step (int number_of_steps)
 Initiate a movement for the given number of steps. Positive numbers move in one, negative numbers in the other direction.
char move (void)
 Central movement method, must be called as often as possible in the lopp function and is very fast.
char isMoving (void)
 checks if the motor still has to move to fulfill the last movement command.
unsigned int getStepsLeft (void)
 Get the number of steps left in the current movement.
char stop (void)
 Stops the motor regardless if it moves or not.
void setConstantOffTimeChopper (char constant_off_time, char blank_time, char fast_decay_time_setting, char sine_wave_offset, unsigned char use_current_comparator)
 Sets and configure the classical Constant Off Timer Chopper.
void setSpreadCycleChopper (char constant_off_time, char blank_time, char hysteresis_start, char hysteresis_end, char hysteresis_decrement)
 Sets and configures with spread cycle chopper.
void setRandomOffTime (char value)
 Use random off time for noise reduction (0 for off, -1 for on).
void setCurrent (unsigned int current)
 set the maximum motor current in mA (1000 is 1 Amp) Keep in mind this is the maximum peak Current. The RMS current will be 1/sqrt(2) smaller. The actual current can also be smaller by employing CoolStep.
unsigned int getCurrent (void)
 readout the motor maximum current in mA (1000 is an Amp) This is the maximum current. to get the current current - which may be affected by CoolStep us getCurrentCurrent()
void setStallGuardThreshold (char stall_guard_threshold, char stall_guard_filter_enabled)
 set the StallGuard threshold in order to get sensible StallGuard readings.
char getStallGuardThreshold (void)
 reads out the StallGuard threshold
char getStallGuardFilter (void)
 returns the current setting of the StallGuard filter
void setCoolStepConfiguration (unsigned int lower_SG_threshold, unsigned int SG_hysteresis, unsigned char current_decrement_step_size, unsigned char current_increment_step_size, unsigned char lower_current_limit)
 This method configures the CoolStep smart energy operation. You must have a proper StallGuard configuration for the motor situation (current, voltage, speed) in rder to use this feature.
void setCoolStepEnabled (boolean enabled)
 enables or disables the CoolStep smart energy operation feature. It must be configured before enabling it.
boolean isCoolStepEnabled ()
 check if the CoolStep feature is enabled
unsigned int getCoolStepLowerSgThreshold ()
 returns the lower StallGuard threshold for the CoolStep operation
unsigned int getCoolStepUpperSgThreshold ()
 returns the upper StallGuard threshold for the CoolStep operation
unsigned char getCoolStepNumberOfSGReadings ()
 returns the number of StallGuard readings befor CoolStep adjusts the motor current.
unsigned char getCoolStepCurrentIncrementSize ()
 returns the increment steps for the current for the CoolStep operation
unsigned char getCoolStepLowerCurrentLimit ()
 returns the absolut minium current for the CoolStep operation
int getMotorPosition (void)
 Get the current microstep position for phase A.
int getCurrentStallGuardReading (void)
 Reads the current StallGuard value.
unsigned char getCurrentCSReading (void)
 Reads the current current setting value as fraction of the maximum current Returns values between 0 and 31, representing 1/32 to 32/32 (=1)
boolean isCurrentScalingHalfed ()
 a convenience method to determine if the current scaling uses 0.31V or 0.165V as reference.
unsigned int getCurrentCurrent (void)
 Reads the current current setting value and recalculates the absolute current in mA (1A would be 1000). This method calculates the currently used current setting (either by setting or by CoolStep) and reconstructs the current in mA by usinge the VSENSE and resistor value. This method uses floating point math - so it may not be the fastest.
boolean isStallGuardOverThreshold (void)
 checks if there is a StallGuard warning in the last status
char getOverTemperature (void)
 Return over temperature status of the last status readout return 0 is everything is OK, TMC26X_OVERTEMPERATURE_PREWARING if status is reached, TMC26X_OVERTEMPERATURE_SHUTDOWN is the chip is shutdown, -1 if the status is unknown. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
boolean isShortToGroundA (void)
 Is motor channel A shorted to ground detected in the last status readout.
boolean isShortToGroundB (void)
 Is motor channel B shorted to ground detected in the last status readout.
boolean isOpenLoadA (void)
 iIs motor channel A connected according to the last statu readout.
boolean isOpenLoadB (void)
 iIs motor channel A connected according to the last statu readout.
boolean isStandStill (void)
 Is chopper inactive since 2^20 clock cycles - defaults to ~0,08s.
boolean isStallGuardReached (void)
 checks if there is a StallGuard warning in the last status
void setEnabled (boolean enabled)
 enables or disables the motor driver bridges. If disabled the motor can run freely. If enabled not.
boolean isEnabled ()
 checks if the output bridges are enabled. If the bridges are not enabled the motor can run freely
void readStatus (char read_value)
 Manually read out the status register This function sends a byte to the motor driver in order to get the current readout. The parameter read_value seletcs which value will get returned. If the read_vlaue changes in respect to the previous readout this method automatically send two bytes to the motor: one to set the redout and one to get the actual readout. So this method may take time to send and read one or two bits - depending on the previous readout.
int getResistor ()
 Returns the current sense resistor value in milliohm. The default value of ,15 Ohm will return 150.
void debugLastStatus (void)
 Prints out all the information that can be found in the last status read out - it does not force a status readout. The result is printed via Serial.
int version (void)
 library version
-

Detailed Description

-

Class representing a TMC26X stepper driver.

-

In order to use one fo those drivers in your Arduino code you have to create an object of that class:

-
 TMC26XStepper stepper = TMC26XStepper(200,1,2,3,500);
-

see TMC26XStepper(int number_of_steps, int cs_pin, int dir_pin, int step_pin, unsigned int rms_current)

-

Keep in mind that you need to start the driver with start() in order to get the TMC26X configured.

-

The most important function is the move(). It checks if the motor has to do a step or not. It is important that you call move() as often as possible in your Arduino loop() routine. I suggest to use a very fast loop routine and always call it at the beginning or the end.

-

In order to move you have to provide a movement speed with setSpeed(). The speed is a positive value setting the rotations per minute.

-

To really move the motor you have to call step() to tell the driver to move the motor the given number of steps in the given direction. Positive values move the motor in one direction, negative values in the other direction.

-

You can check with isMoving() if the mototr is still moving or stop it apruptely with stop().

- -

Definition at line 101 of file TMC26XStepper.h.

-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TMC26XStepper::TMC26XStepper (int number_of_steps,
int cs_pin,
int dir_pin,
int step_pin,
unsigned int current,
unsigned int resistor = 150 
)
-
-
- -

creates a new represenatation of a stepper motor connected to a TMC26X stepper driver

-

This is the main constructor. If in doubt use this. You must provide all parameters as described below.

-
Parameters:
- - - - - - - -
number_of_stepsthe number of steps the motor has per rotation.
cs_pinThe Arduino pin you have connected the Cient Select Pin (!CS) of the TMC26X for SPI
dir_pinthe number of the Arduino pin the Direction input of the TMC26X is connected
step_pinthe number of the Arduino pin the step pin of the TMC26X driver is connected.
rms_currentthe maximum current to privide to the motor in mA (!). A value of 200 would send up to 200mA to the motor
resistorthe current sense resistor in milli Ohm, defaults to ,15 Ohm ( or 150 milli Ohm) as in the TMC260 Arduino Shield
-
-
-

Keep in mind that you must also call TMC26XStepper.start() in order to configure the stepper driver for use.

-

By default the Constant Off Time chopper is used, see TCM262Stepper.setConstantOffTimeChopper() for details. This should work on most motors (YMMV). You may want to configure and use the Spread Cycle Chopper, see setSpreadCycleChopper().

-

By default a microstepping of 1/32th is used to provide a smooth motor run, while still giving a good progression per step. You can select a different stepping with setMicrosteps() to aa different value.

-
See also:
start(), setMicrosteps()
- -

Definition at line 111 of file TMC26XStepper.cpp.

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - -
void TMC26XStepper::debugLastStatus (void )
-
-
- -

Prints out all the information that can be found in the last status read out - it does not force a status readout. The result is printed via Serial.

- -

Definition at line 902 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
unsigned char TMC26XStepper::getCoolStepCurrentIncrementSize ()
-
-
- -

returns the increment steps for the current for the CoolStep operation

-
See also:
setCoolStepConfiguration()
- -

Definition at line 704 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
unsigned char TMC26XStepper::getCoolStepLowerCurrentLimit ()
-
-
- -

returns the absolut minium current for the CoolStep operation

-
See also:
setCoolStepConfiguration()
-
-COOL_STEP_HALF_CS_LIMIT, COOL_STEP_QUARTER_CS_LIMIT
- -

Definition at line 712 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
unsigned int TMC26XStepper::getCoolStepLowerSgThreshold ()
-
-
- -

returns the lower StallGuard threshold for the CoolStep operation

-
See also:
setCoolStepConfiguration()
- -

Definition at line 695 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
unsigned char TMC26XStepper::getCoolStepNumberOfSGReadings ()
-
-
- -

returns the number of StallGuard readings befor CoolStep adjusts the motor current.

-
See also:
setCoolStepConfiguration()
- -

Definition at line 708 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
unsigned int TMC26XStepper::getCoolStepUpperSgThreshold ()
-
-
- -

returns the upper StallGuard threshold for the CoolStep operation

-
See also:
setCoolStepConfiguration()
- -

Definition at line 700 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
unsigned int TMC26XStepper::getCurrent (void )
-
-
- -

readout the motor maximum current in mA (1000 is an Amp) This is the maximum current. to get the current current - which may be affected by CoolStep us getCurrentCurrent()

-
Returns:
the maximum motor current in milli amps
-
See also:
getCurrentCurrent()
- -

Definition at line 336 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
unsigned char TMC26XStepper::getCurrentCSReading (void )
-
-
- -

Reads the current current setting value as fraction of the maximum current Returns values between 0 and 31, representing 1/32 to 32/32 (=1)

-
See also:
setCoolStepConfiguration()
- -

Definition at line 781 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
unsigned int TMC26XStepper::getCurrentCurrent (void )
-
-
- -

Reads the current current setting value and recalculates the absolute current in mA (1A would be 1000). This method calculates the currently used current setting (either by setting or by CoolStep) and reconstructs the current in mA by usinge the VSENSE and resistor value. This method uses floating point math - so it may not be the fastest.

-
See also:
getCurrentCSReading(), getResistor(), isCurrentScalingHalfed(), getCurrent()
- -

Definition at line 792 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
int TMC26XStepper::getCurrentStallGuardReading (void )
-
-
- -

Reads the current StallGuard value.

-
Returns:
The current StallGuard value, lesser values indicate higher load, 0 means stall detected. Keep in mind that this routine reads and writes a value via SPI - so this may take a bit time.
-
See also:
setStallGuardThreshold() for tuning the readout to sensible ranges.
- -

Definition at line 770 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
int TMC26XStepper::getMicrosteps (void )
-
-
- -

returns the effective current number of microsteps selected.

-

This function always returns the effective number of microsteps. This can be a bit different than the micro steps set in setMicrosteps() since it is rounded to 2^i.

-
See also:
setMicrosteps()
- -

Definition at line 446 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
int TMC26XStepper::getMotorPosition (void )
-
-
- -

Get the current microstep position for phase A.

-
Returns:
The current microstep position for phase A 0…255
-

Keep in mind that this routine reads and writes a value via SPI - so this may take a bit time.

- -

Definition at line 762 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
char TMC26XStepper::getOverTemperature (void )
-
-
- -

Return over temperature status of the last status readout return 0 is everything is OK, TMC26X_OVERTEMPERATURE_PREWARING if status is reached, TMC26X_OVERTEMPERATURE_SHUTDOWN is the chip is shutdown, -1 if the status is unknown. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.

- -

Definition at line 816 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
int TMC26XStepper::getResistor ()
-
-
- -

Returns the current sense resistor value in milliohm. The default value of ,15 Ohm will return 150.

- -

Definition at line 883 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
unsigned int TMC26XStepper::getSpeed (void )
-
-
- -

reads out the currently selected speed in revolutions per minute.

-
See also:
setSpeed()
- -

Definition at line 221 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
char TMC26XStepper::getStallGuardFilter (void )
-
-
- -

returns the current setting of the StallGuard filter

-
Returns:
0 if not set, -1 if set
- -

Definition at line 381 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
char TMC26XStepper::getStallGuardThreshold (void )
-
-
- -

reads out the StallGuard threshold

-
Returns:
a number between -64 and 63.
- -

Definition at line 368 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
unsigned int TMC26XStepper::getStepsLeft (void )
-
-
- -

Get the number of steps left in the current movement.

-
Returns:
The number of steps left in the movement. This number is always positive.
- -

Definition at line 278 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isCoolStepEnabled (void )
-
-
- -

check if the CoolStep feature is enabled

-
See also:
setCoolStepEnabled()
- -

Definition at line 691 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
boolean TMC26XStepper::isCurrentScalingHalfed ()
-
-
- -

a convenience method to determine if the current scaling uses 0.31V or 0.165V as reference.

-
Returns:
false if 0.13V is the reference voltage, true if 0.165V is used.
- -

Definition at line 887 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
boolean TMC26XStepper::isEnabled ()
-
-
- -

checks if the output bridges are enabled. If the bridges are not enabled the motor can run freely

-
Returns:
true if the bridges and by that the motor driver are enabled, false if not.
-
See also:
setEnabled()
- -

Definition at line 729 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
char TMC26XStepper::isMoving (void )
-
-
- -

checks if the motor still has to move to fulfill the last movement command.

-
Returns:
0 if the motor stops, -1 if the motor is moving.
-

This method can be used to determine if the motor is ready for new movements.

-
See also:
step(), move()
- -

Definition at line 274 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isOpenLoadA (void )
-
-
- -

iIs motor channel A connected according to the last statu readout.

-
Returns:
true is yes, false if not. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
- -

Definition at line 846 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isOpenLoadB (void )
-
-
- -

iIs motor channel A connected according to the last statu readout.

-
Returns:
true is yes, false if not. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
- -

Definition at line 854 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isShortToGroundA (void )
-
-
- -

Is motor channel A shorted to ground detected in the last status readout.

-
Returns:
true is yes, false if not. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
- -

Definition at line 830 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isShortToGroundB (void )
-
-
- -

Is motor channel B shorted to ground detected in the last status readout.

-
Returns:
true is yes, false if not. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
- -

Definition at line 838 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isStallGuardOverThreshold (void )
-
-
- -

checks if there is a StallGuard warning in the last status

-
Returns:
0 if there was no warning, -1 if there was some warning. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
-
See also:
setStallGuardThreshold() for tuning the readout to sensible ranges.
- -

Definition at line 803 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isStallGuardReached (void )
-
-
- -

checks if there is a StallGuard warning in the last status

-
Returns:
0 if there was no warning, -1 if there was some warning. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
-
See also:
isStallGuardOverThreshold() TODO why?
-
-setStallGuardThreshold() for tuning the readout to sensible ranges.
- -

Definition at line 870 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
boolean TMC26XStepper::isStandStill (void )
-
-
- -

Is chopper inactive since 2^20 clock cycles - defaults to ~0,08s.

-
Returns:
true is yes, false if not. Keep in mind that this method does not enforce a readout but uses the value of the last status readout. You may want to use getMotorPosition() or getCurrentStallGuardReading() to enforce an updated status readout.
- -

Definition at line 862 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
char TMC26XStepper::move (void )
-
-
- -

Central movement method, must be called as often as possible in the lopp function and is very fast.

-

This routine checks if the motor still has to move, if the waiting delay has passed to send a new step command to the motor and manages the number of steps yet to move to fulfill the current move command.

-

This function is implemented to be as fast as possible to call it as often as possible in your loop routine. The more regurlarly you call this function the better. In both senses of 'regularly': Calling it as often as possible is not a bad idea and if you even manage that the intervals you call this function are not too irregular helps too.

-

You can call this routine even if you know that the motor is not miving. It introduces just a very small penalty in your code. You must not call isMoving() to determine if you need to call this function, since taht is done internally already and only slows down you code.

-

How often you call this function directly influences your top miving speed for the motor. It may be a good idea to call this from an timer overflow interrupt to ensure proper calling.

-
See also:
step()
- -

Definition at line 246 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
void TMC26XStepper::readStatus (char read_value)
-
-
- -

Manually read out the status register This function sends a byte to the motor driver in order to get the current readout. The parameter read_value seletcs which value will get returned. If the read_vlaue changes in respect to the previous readout this method automatically send two bytes to the motor: one to set the redout and one to get the actual readout. So this method may take time to send and read one or two bits - depending on the previous readout.

-
Parameters:
- - -
read_valueselects which value to read out (0..3). You can use the defines TMC26X_READOUT_POSITION, TMC_262_READOUT_STALLGUARD, or TMC_262_READOUT_CURRENT
-
-
-
See also:
TMC26X_READOUT_POSITION, TMC_262_READOUT_STALLGUARD, TMC_262_READOUT_CURRENT
- -

Definition at line 742 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void TMC26XStepper::setConstantOffTimeChopper (char constant_off_time,
char blank_time,
char fast_decay_time_setting,
char sine_wave_offset,
unsigned char use_current_comparator 
)
-
-
- -

Sets and configure the classical Constant Off Timer Chopper.

-
Parameters:
- - - - - - -
constant_off_timeThe off time setting controls the minimum chopper frequency. For most applications an off time within the range of 5μs to 20μs will fit. Setting this parameter to zero completely disables all driver transistors and the motor can free-wheel. 0: chopper off, 1:15: off time setting (1 will work with minimum blank time of 24 clocks)
blank_timeSelects the comparator blank time. This time needs to safely cover the switching event and the duration of the ringing on the sense resistor. For most low current drivers, a setting of 1 or 2 is good. For high current applications with large MOSFETs, a setting of 2 or 3 will be required. 0 (min setting) … (3) amx setting
fast_decay_time_settingFast decay time setting. Controls the portion of fast decay for each chopper cycle. 0: slow decay only, 1…15: duration of fast decay phase
sine_wave_offsetSine wave offset. Controls the sine wave offset. A positive offset corrects for zero crossing error. -3…-1: negative offset, 0: no offset,1…12: positive offset
use_curreent_comparatorSelects usage of the current comparator for termination of the fast decay cycle. If current comparator is enabled, it terminates the fast decay cycle in case the current reaches a higher negative value than the actual positive value. (0 disable, -1 enable).
-
-
-

The classic constant off time chopper uses a fixed portion of fast decay following each on phase. While the duration of the on time is determined by the chopper comparator, the fast decay time needs to be set by the user in a way, that the current decay is enough for the driver to be able to follow the falling slope of the sine wave, and on the other hand it should not be too long, in order to minimize motor current ripple and power dissipation. This best can be tuned using an oscilloscope or trying out motor smoothness at different velocities. A good starting value is a fast decay time setting similar to the slow decay time setting. After tuning of the fast decay time, the offset should be determined, in order to have a smooth zero transition. This is necessary, because the fast decay phase leads to the absolute value of the motor current being lower than the target current (see figure 17). If the zero offset is too low, the motor stands still for a short moment during current zero crossing, if it is set too high, it makes a larger microstep. Typically, a positive offset setting is required for optimum operation.

-
See also:
setSpreadCycleChoper() for other alternatives.
-
-setRandomOffTime() for spreading the noise over a wider spectrum
- -

Definition at line 473 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void TMC26XStepper::setCoolStepConfiguration (unsigned int lower_SG_threshold,
unsigned int SG_hysteresis,
unsigned char current_decrement_step_size,
unsigned char current_increment_step_size,
unsigned char lower_current_limit 
)
-
-
- -

This method configures the CoolStep smart energy operation. You must have a proper StallGuard configuration for the motor situation (current, voltage, speed) in rder to use this feature.

-
Parameters:
- - - - - - -
lower_SG_thresholdSets the lower threshold for stallGuard2TM reading. Below this value, the motor current becomes increased. Allowed values are 0...480
SG_hysteresisSets the distance between the lower and the upper threshold for stallGuard2TM reading. Above the upper threshold (which is lower_SG_threshold+SG_hysteresis+1) the motor current becomes decreased. Allowed values are 0...480
current_decrement_step_sizeSets the current decrement steps. If the StallGuard value is above the threshold the current gets decremented by this step size. 0...32
current_increment_step_sizeSets the current increment step. The current becomes incremented for each measured stallGuard2TM value below the lower threshold. 0...8
lower_current_limitSets the lower motor current limit for coolStepTM operation by scaling the CS value. Values can be COOL_STEP_HALF_CS_LIMIT, COOL_STEP_QUARTER_CS_LIMIT The CoolStep smart energy operation automatically adjust the current sent into the motor according to the current load, read out by the StallGuard in order to provide the optimum torque with the minimal current consumption. You configure the CoolStep current regulator by defining upper and lower bounds of StallGuard readouts. If the readout is above the limit the current gets increased, below the limit the current gets decreased. You can specify the upper an lower threshold of the StallGuard readout in order to adjust the current. You can also set the number of StallGuard readings neccessary above or below the limit to get a more stable current adjustement. The current adjustement itself is configured by the number of steps the current gests in- or decreased and the absolut minimum current (1/2 or 1/4th otf the configured current).
-
-
-
See also:
COOL_STEP_HALF_CS_LIMIT, COOL_STEP_QUARTER_CS_LIMIT
- -

Definition at line 636 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
void TMC26XStepper::setCoolStepEnabled (boolean enabled)
-
-
- -

enables or disables the CoolStep smart energy operation feature. It must be configured before enabling it.

-
Parameters:
- - -
enabledtrue if CoolStep should be enabled, false if not.
-
-
-
See also:
setCoolStepConfiguration()
- -

Definition at line 676 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
void TMC26XStepper::setCurrent (unsigned int current)
-
-
- -

set the maximum motor current in mA (1000 is 1 Amp) Keep in mind this is the maximum peak Current. The RMS current will be 1/sqrt(2) smaller. The actual current can also be smaller by employing CoolStep.

-
Parameters:
- - -
currentthe maximum motor current in mA
-
-
-
See also:
getCurrent(), getCurrentCurrent()
- -

Definition at line 292 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
void TMC26XStepper::setEnabled (boolean enabled)
-
-
- -

enables or disables the motor driver bridges. If disabled the motor can run freely. If enabled not.

-
Parameters:
- - -
enableda boolean value true if the motor should be enabled, false otherwise.
-
-
- -

Definition at line 716 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
void TMC26XStepper::setMicrosteps (int number_of_steps)
-
-
- -

Set the number of microsteps in 2^i values (rounded) up to 256.

-

This method set's the number of microsteps per step in 2^i interval. This means you can select 1, 2, 4, 16, 32, 64, 128 or 256 as valid microsteps. If you give any other value it will be rounded to the next smaller number (3 would give a microstepping of 2). You can always check the current microstepping with getMicrosteps().

- -

Definition at line 394 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
void TMC26XStepper::setRandomOffTime (char value)
-
-
- -

Use random off time for noise reduction (0 for off, -1 for on).

-
Parameters:
- - -
value0 for off, -1 for on
-
-
-

In a constant off time chopper scheme both coil choppers run freely, i.e. are not synchronized. The frequency of each chopper mainly depends on the coil current and the position dependant motor coil inductivity, thus it depends on the microstep position. With some motors a slightly audible beat can occur between the chopper frequencies, especially when they are near to each other. This typically occurs at a few microstep positions within each quarter wave. This effect normally is not audible when compared to mechanical noise generated by ball bearings, etc. Further factors which can cause a similar effect are a poor layout of sense resistor GND connection. In order to minimize the effect of a beat between both chopper frequencies, an internal random generator is provided. It modulates the slow decay time setting when switched on. The random off time feature further spreads the chopper spectrum, reducing electromagnetic emission on single frequencies.

- -

Definition at line 624 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
void TMC26XStepper::setSpeed (unsigned int whatSpeed)
-
-
- -

Sets the rotation speed in revolutions per minute.

-
Parameters:
- - -
whatSpeedthe desired speed in rotations per minute.
-
-
- -

Definition at line 208 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void TMC26XStepper::setSpreadCycleChopper (char constant_off_time,
char blank_time,
char hysteresis_start,
char hysteresis_end,
char hysteresis_decrement 
)
-
-
- -

Sets and configures with spread cycle chopper.

-
Parameters:
- - - - - - -
constant_off_timeThe off time setting controls the minimum chopper frequency. For most applications an off time within the range of 5μs to 20μs will fit. Setting this parameter to zero completely disables all driver transistors and the motor can free-wheel. 0: chopper off, 1:15: off time setting (1 will work with minimum blank time of 24 clocks)
blank_timeSelects the comparator blank time. This time needs to safely cover the switching event and the duration of the ringing on the sense resistor. For most low current drivers, a setting of 1 or 2 is good. For high current applications with large MOSFETs, a setting of 2 or 3 will be required. 0 (min setting) … (3) amx setting
hysteresis_startHysteresis start setting. Please remark, that this value is an offset to the hysteresis end value. 1 … 8
hysteresis_endHysteresis end setting. Sets the hysteresis end value after a number of decrements. Decrement interval time is controlled by hysteresis_decrement. The sum hysteresis_start + hysteresis_end must be <16. At a current setting CS of max. 30 (amplitude reduced to 240), the sum is not limited.
hysteresis_decrementHysteresis decrement setting. This setting determines the slope of the hysteresis during on time and during fast decay time. 0 (fast decrement) … 3 (slow decrement).
-
-
-

The spreadCycle chopper scheme (pat.fil.) is a precise and simple to use chopper principle, which automatically determines the optimum fast decay portion for the motor. Anyhow, a number of settings can be made in order to optimally fit the driver to the motor. Each chopper cycle is comprised of an on-phase, a slow decay phase, a fast decay phase and a second slow decay phase. The slow decay phases limit the maximum chopper frequency and are important for low motor and driver power dissipation. The hysteresis start setting limits the chopper frequency by forcing the driver to introduce a minimum amount of current ripple into the motor coils. The motor inductivity determines the ability to follow a changing motor current. The duration of the on- and fast decay phase needs to cover at least the blank time, because the current comparator is disabled during this time.

-
See also:
setRandomOffTime() for spreading the noise over a wider spectrum
- -

Definition at line 552 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void TMC26XStepper::setStallGuardThreshold (char stall_guard_threshold,
char stall_guard_filter_enabled 
)
-
-
- -

set the StallGuard threshold in order to get sensible StallGuard readings.

-
Parameters:
- - - -
stall_guard_threshold-64 … 63 the StallGuard threshold
stall_guard_filter_enabled0 if the filter is disabled, -1 if it is enabled
-
-
-

The StallGuard threshold is used to optimize the StallGuard reading to sensible values. It should be at 0 at the maximum allowable load on the otor (but not before). = is a good starting point (and the default) If you get Stall Gaurd readings of 0 without any load or with too little laod increase the value. If you get readings of 1023 even with load decrease the setting.

-

If you switch on the filter the StallGuard reading is only updated each 4th full step to reduce the noise in the reading.

-
See also:
getCurrentStallGuardReading() to read out the current value.
- -

Definition at line 346 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
void TMC26XStepper::start ()
-
-
- -

configures and starts the TMC26X stepper driver. Before you called this function the stepper driver is in nonfunctional mode.

-

This routine configures the TMC26X stepper driver for the given values via SPI. Most member functions are non functional if the driver has not been started. Therefore it is best to call this in your Arduino setup() function.

- -

Definition at line 157 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
char TMC26XStepper::step (int number_of_steps)
-
-
- -

Initiate a movement for the given number of steps. Positive numbers move in one, negative numbers in the other direction.

-
Parameters:
- - -
number_of_stepsThe number of steps to move the motor.
-
-
-
Returns:
0 if the motor was not moving and moves now. -1 if the motor is moving and the new steps could not be set.
-

If the previous movement is not finished yet the function will return -1 and not change the steps to move the motor. If the motor does not move it return 0

-

The direction of the movement is indicated by the sign of the steps parameter. It is not determinable if positive values are right or left This depends on the internal construction of the motor and how you connected it to the stepper driver.

-

You can always verify with isMoving() or even use stop() to stop the motor before giving it new step directions.

-
See also:
isMoving(), getStepsLeft(), stop()
- -

Definition at line 229 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
char TMC26XStepper::stop (void )
-
-
- -

Stops the motor regardless if it moves or not.

-
Returns:
-1 if the motor was moving and is really stoped or 0 if it was not moving at all.
-

This method directly and apruptely stops the motor and may be used as an emergency stop.

- -

Definition at line 282 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - -
void TMC26XStepper::un_start ()
-
-
- -

resets the stepper in unconfigured mode.

-

This routine enables you to call start again. It does not change anything in the internal stepper configuration or the desired configuration. It just marks the stepper as not yet startet. You do not have to reconfigure the stepper to start it again, but it is not reset to any factory settings this has to be configured back by yourself. (Hint: Normally you do not need this function)

- -

Definition at line 199 of file TMC26XStepper.cpp.

- -
-
- -
-
- - - - - - - - -
int TMC26XStepper::version (void )
-
-
- -

library version

-
Returns:
the version number as int.
- -

Definition at line 897 of file TMC26XStepper.cpp.

- -
-
-
The documentation for this class was generated from the following files: -
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/classes.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/classes.html deleted file mode 100644 index 5b5e667a2..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/classes.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: Class Index - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
-
-
Class Index
-
-
- - - - - - -
  T  
-
TMC26XStepper   
- -
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/closed.png b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/closed.png deleted file mode 100644 index b7d4bd9fef2272c74b94762c9e2496177017775e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VuAVNAAr*{o?>h22DDp4|bgj*t z)u^AqcA-V@guRYpb17F<&b?_~8HV>~XqWvB;^$!VVSTy0!eQcJp_yD7TIQA>7dijs YXf6~H5cs^Q6KEiVr>mdKI;Vst0NsWqGynhq diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/doxygen.css b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/doxygen.css deleted file mode 100644 index cee0d06b5..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/doxygen.css +++ /dev/null @@ -1,949 +0,0 @@ -/* The standard CSS for doxygen */ - -body, table, div, p, dl { - font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; - font-size: 13px; - line-height: 1.3; -} - -/* @group Heading Levels */ - -h1 { - font-size: 150%; -} - -.title { - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2 { - font-size: 120%; -} - -h3 { - font-size: 100%; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd, p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 8px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #C4CFE5; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; -} - -.memname { - white-space: nowrap; - font-weight: bold; - margin-left: 6px; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 8px; - border-top-left-radius: 8px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 8px; - -moz-border-radius-topleft: 8px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 8px; - -webkit-border-top-left-radius: 8px; - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 2px 5px; - background-color: #FBFCFD; - border-top-width: 0; - /* opera specific markup */ - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} - -.params, .retval, .exception, .tparams { - border-spacing: 6px 2px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - - - - -/* @end */ - -/* @group Directory (tree) */ - -/* for the tree view */ - -.ftvtree { - font-family: sans-serif; - margin: 0px; -} - -/* these are for tree view when used as main index */ - -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* -The following two styles can be used to replace the root node title -with an image of your choice. Simply uncomment the next two styles, -specify the name of your image and be sure to set 'height' to the -proper pixel height of your image. -*/ - -/* -.directory h3.swap { - height: 61px; - background-repeat: no-repeat; - background-image: url("yourimage.gif"); -} -.directory h3.swap span { - display: none; -} -*/ - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0px; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0px; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ - -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0px; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0px; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; -} - -table.fieldtable { - width: 100%; - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - width: 100%; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - margin-left: 5px; - font-size: 8pt; - padding-left: 5px; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 7px; -} - -dl -{ - padding: 0 0 0 10px; -} - -dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug -{ - border-left:4px solid; - padding: 0 0 0 6px; -} - -dl.note -{ - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - border-color: #00D000; -} - -dl.deprecated -{ - border-color: #505050; -} - -dl.todo -{ - border-color: #00C0E0; -} - -dl.test -{ - border-color: #3030E0; -} - -dl.bug -{ - border-color: #C08050; -} - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } - pre.fragment - { - overflow: visible; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - } -} - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/doxygen.png b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/doxygen.png deleted file mode 100644 index 635ed52fce7057ac24df92ec7664088a881fa5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3942 zcmV-s51H_ZP)95ENDh(OT9xpYZC{M(=rqI* z+1erNEr&9zRjUI-4rN=4BBz>P@ys*xOjGRjzVE*Fx_qvyt9d@B@BO*&@8Mq!nM{Tc z_WoM84-~xLreSL9@vgZ{m2dF}`u=^ZF3syQ-s2tnBwCI3ZFvSfI20Wbj236~Urq*8Kfw@RKKfRQTgE>}uUHK^ptamY=o)LU(xy55zNQ(`qZ znZ&$O075mrrInIXQgw4%GCbMD8Vn`3n3$EaRwtP1D{A!Gs=e!L%3;ayv@I{rAw{xw z^x^>EIWQM8ob3m}$(BaupDMV;Ed8w5|i(*e`7rU$TOc&1o7`|!LyN5jHI z7uWAR!v4c2xMp?}QmRYyf>i}tYGU(g=>DW&==J@GbhR z5@BNVY3O$`^D%gk4khm9XpFhuwzxUhi9T=Du4rpVuYRSMPHeDqo+4htnZRU@G9`0& z9~p)CsFl1|t*wjfoTo&%davN^3RfJUhQ{ZZIAcD77X^XsF_iR&ZMQ;p>K5*+*48)x z+=<>nh+6Uq85jOkg>{z>a;+V`s(I;I%*5s+R@9a^wNoZ03(g9-EcH%uHvX&yp7`D#`9Kw>DU3s zjD-VuW_A-K)unlS4O3f>_B%pPONUmI#oyL};Lglp3=04>0eBBEw$D1k-$WTsoi#K* z$7h`NcyRZsZ#w~6I<%~u!^xDofYrzF>zVIj2N>Ijs`mVR(Oy&*9f}<{JtQj8jJT!oEc!NQXBq5y|6ET*N?7ox*E6#{i- z@_DLD^IYTtg|Pg?A~!7@OCd8p^)kxK%VBM84docx$Z{MvO)iiqep@or-N}TEU8$%; zJih?#yJ9)V1s_`}c3XbY9V}nEKwNz8ILmR|v)(w|D@oVG;=i`+$*)!(xH{9#$2Za;pyZ1wgU#)mHl|&8%iwu%yncO z`T32Ib0$D}j`c}}5M@M#7oR&G=QwU!!Ja*P7|NJt1@lo=d{_dY-q_lmDcH7{BHncF zR@^PmcLC6EsN?6N{fV3o8}>?h9X_@;=&-p7%tms7$_{3w(anwek_k&<&)~c$Ar?S> zy9gKavndTmxqAbE?SMgcWhXPENdKdz7ntt55Y3Hs3jjc~uR-#$tR(1a_abv9`-QzG z^J0Fsbd&yruq%xAsxf3rc=T}$Zx|AD%x{Fd=? z{qhl3kG5w-PqVK9-Gru%7UIEw)bt$ZMF|Z6HpmO)F%@GNT8yT|#FuWPxv@@Ic={;6 zU7)e!XG|1dx=kU|&|)+m+$&|Yw92Fa;*MnegXcCf8XsHfqg_F5t)3Jt8)EkXKuY21 zqt%4}@R8hK*(_JO0*H+Pa)6Pp&K49rKNeQEYb*x9WY`!`Vh3|80YF%I`lxv9_!$hD zOh$>zWaRIW!);6`vA$Zp;5lnGyX^^N%YEjCeJMHPolKCE1ttIqK<$0w&LcE8)`_c2 z^H^qf6ACV0t7FLLCsu#mL&Mb8gE@rZE#k+1Nrrxw+{N0^#bN*~!qt2>S4e#jC$a$` ze4@{)$aTEYq_!#2|t@Fj3e?w-XVuG$Z}kAR?_kgJAlZIJ)0{eHw#fybNooA zp02jyYVc&w!}m#BVP>ef2|U^J(A-#O1R#A&><*?Y! zOwml{CnE+aU3JfKE@uzge(qMY{^6siuXFt;+mMbapU;Ppejl=L#>s2#SMBbfP9AFT znEVA=TBtZ6d-GfF>kOxylg>Ek%qTp*h2ze!^^hOsmKOEE6b;maQ>~R>3#z`Zawbik z88OTykU3_!Atg^+vnM=1n}?%<$dHzn)?k&T#RWwb+*y;XNQbYNHKo3wr~&}Qa$id; z6^D*K9RTQZUuQVg)g~P%!BIiv+cXllt)KEP9IN)1udQKf>p|~lXj7K<-9}0Q%i9+K zXaF7qXclE>sf)7)J4_M%V{;(sFT7HN$o0#_qU#Ah1D{ zon=JihPcgG5xHuvQwOXBkt3(iUdx{6Gn|aa>@C9Cqg%rPK(+REZ4>6t3z7m@Aj;0l zSHh&%cKSJ*+WOJGwe?Y7d(9RAy)&NVS6uj}1m@U}jXH3oVQT9E0A)$ZDRdK>;_i;+ z7vbEoI7$1XK6vNxT(_sJ(GM4s92e;gB&Q zDO;(Ve^%gPG&lWW1fUf_=9-Q1%&`s%aD^o`Q2u`WI9V>Qm#D5?SW<)Njmt@aR5@6( zL4cdTo+Jg@>Brm1^_gf%0Z?}1AppR3NdFE5uzdpBZz;{Thd6SI-$gb2}pFAww$*j(2=s{mdz2E;lBvVcrN@}i2bC`Q5Y_;BID^f0J+ACVhyQsLg0@`okIk+i=LJ=3yvI*oASj62 za3C{Pu_fQ+atw!zN{$Shr*_UV=|jp4#CqWeGE?Jb`pq!|5bDES&-Ix=-N>DpydHqW z+-{QS+i)d;uGS)M%Suw9khR}3N82j|S{a#&Tctme0s%mTy<1S|;@M-+S4#o@!qr;r z+w(n=;@43Y_n#dI0Gb(T0{G7k-KY8k`MPM_Bss$?)SK){KJMrwv!vz42_U_Za zX7lDqiU8ZvCAfGpAtfVC5bQrYa4C)M9G$S4D&VqpJ8)lm$t5FAAR%ywf>*~VaivC70RVFXISv4Lx&tk^Cf1)qQ|rxp z*8H>)cgoM;(eKxH14u~~@JopNr9@A z#-yXVG?$es;EPqsn-j?45^L52U=nT#0A^T3JY$&B3EH&%2UHdv3P=_3$!n76!34ks zz^2ii@sXAu8LKYMmG=_^*qtiiOFNlG3?QYtG%wrCZh|)vlj8vq3sw~f1b8;_TMB>z zPSyDQy_9bbXD*#sNRGMzfSAwUD}ASX;ZGQcGdE=9q~ORU{v$}=z2Bc8EOe2S&);jS zCZB8P`hPoV1NBk)TQP2z{q$NL-GLUc7%>&fecE^E{I5gs?8!qTK7VgR7Z?}-`YG|z zVN-NvOlQ+B;~J*69_Xd1n-0MLKTY6&*%rTi*0^HXniz8{bCMsVpSXqs(GGO)*_#Kz z9YBCQ_VRhtwhMfppMh@OdxjCN0mH`5hKZr>UoxMx`W~u^kD&bskplglOiRxQvep*2 z0mk+kMP>J)K`8X3`6Zq|X~5IQ-_rrOn+_WvU{1Gs{ow1-Eb;K(Z?p$@ugXpr^?PM( z(5Hv;$*X=QZaqG_4q)N1v9sO(Dsei!;%IcIztt6YUs{yj z^77e`UYa^%<-Ts+d*b=ihKt?0_sj!ePNO@K*PGmGD*v^;rRAkduikx~UNk=@{XKeV zp_ir(dTaGVWBr{_02Kg2Xmlsn|IvIIRYivbo|L{yx}yX5Bte@P6C>1KyqvYnT{boB#j-07*qoM6N<$f^XQQ A+yDRo diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/files.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/files.html deleted file mode 100644 index 3d40b8868..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/files.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: File List - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - -
-
-
-
File List
-
-
-
Here is a list of all files with brief descriptions:
- - -
TMC26XStepper.cpp [code]
TMC26XStepper.h [code]
-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions.html deleted file mode 100644 index f53a7334a..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: Class Members - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - - - -
-
-
Here is a list of all class members with links to the classes they belong to:
- -

- d -

- - -

- g -

- - -

- i -

- - -

- m -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions_func.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions_func.html deleted file mode 100644 index 1730ddd31..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/functions_func.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: Class Members - Functions - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - - - -
-
-  - -

- d -

- - -

- g -

- - -

- i -

- - -

- m -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals.html deleted file mode 100644 index 438a5e856..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: File Members - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - - - -
-
-
Here is a list of all file members with links to the files they belong to:
- -

- b -

- - -

- c -

- - -

- d -

- - -

- h -

- - -

- i -

- - -

- m -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- v -

-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals_defs.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals_defs.html deleted file mode 100644 index 58a880e35..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/globals_defs.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: File Members - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - - - - -
-
-  - -

- b -

- - -

- c -

- - -

- d -

- - -

- h -

- - -

- i -

- - -

- m -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- v -

-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/index.html b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/index.html deleted file mode 100644 index 35d5d3b86..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/index.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - -Trinamic TMC26X Stepper Driver for Arduino: TMC 260, 261, 262 Stepper Driver for Arduino - - - - - - - - -
- - -
- - - - - - - - - - - -
-
Trinamic TMC26X Stepper Driver for Arduino - -
- -
-
- - - -
-
-
-
TMC 260, 261, 262 Stepper Driver for Arduino
-
-
-
Author:
Interactive MAtter, MArcus Nowotny, marcus@interactive-matter.eu
-

-How to use the driver

-

Here we go with aminial how to description

-

-COPYRIGHT NOTIFICATION

-
(c) 2011 Interactive MAtter, Marcus Nowotny
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-
- - - - - - diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/jquery.js b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/jquery.js deleted file mode 100644 index 90b3a2bc3..000000000 --- a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/documentation/html/jquery.js +++ /dev/null @@ -1,64 +0,0 @@ -/* - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); -/* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) -{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() -{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); - -/* - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('